diff --git a/.gitattributes b/.gitattributes index a6344aac8c09253b3b630fb776ae94478aa0275b..056aa209d4b0fad26958d2f58baa1dfb2aebcbb5 100644 --- a/.gitattributes +++ b/.gitattributes @@ -33,3 +33,8 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text *.zip filter=lfs diff=lfs merge=lfs -text *.zst filter=lfs diff=lfs merge=lfs -text *tfevents* filter=lfs diff=lfs merge=lfs -text +*.woff filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.eot filter=lfs diff=lfs merge=lfs -text +*.otf filter=lfs diff=lfs merge=lfs -text +*.woff2 filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..8184bca213cbca5e514eb076c15b9230ecb0ec3e --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +node_modules/ +*.log +prepare.sh diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..508a7354969d70f2847e366f78f16d7d3be116ed --- /dev/null +++ b/Dockerfile @@ -0,0 +1,103 @@ +############################################################################### +# STARRY HuggingFace Space — Lightweight Deployment +# nginx (reverse proxy) + omr-service (Fastify) + cluster-server (NestJS) +# No ML predictors — prediction features are disabled +############################################################################### + +FROM node:20-slim + +ENV DEBIAN_FRONTEND=noninteractive + +# --- System deps --- +RUN apt-get update && apt-get install -y --no-install-recommends \ + postgresql postgresql-client \ + nginx \ + tini \ + python3 make g++ pkg-config \ + libzmq3-dev libfontconfig1 curl \ + && rm -rf /var/lib/apt/lists/* + +# Install tsx globally +RUN npm install -g tsx + +# --- Create user with UID 1000 (HF Space requirement) --- +RUN useradd -m -u 1000 user + +# --- Configure PostgreSQL to run as user (UID 1000) --- +ENV PGDATA=/home/user/pgdata +RUN mkdir -p $PGDATA /home/user/run/postgresql \ + && chown -R user:user $PGDATA /home/user/run/postgresql \ + && chmod 700 $PGDATA + +# Initialize PostgreSQL as user +USER user +RUN /usr/lib/postgresql/15/bin/initdb -D $PGDATA \ + && echo "unix_socket_directories = '/home/user/run/postgresql'" >> $PGDATA/postgresql.conf \ + && echo "listen_addresses = '127.0.0.1'" >> $PGDATA/postgresql.conf \ + && echo "port = 5432" >> $PGDATA/postgresql.conf \ + && echo "local all all trust" > $PGDATA/pg_hba.conf \ + && echo "host all all 127.0.0.1/32 trust" >> $PGDATA/pg_hba.conf +USER root + +# --- Configure nginx --- +RUN mkdir -p /var/log/nginx /var/lib/nginx/body /var/lib/nginx/proxy /var/lib/nginx/fastcgi \ + && chown -R user:user /var/log/nginx /var/lib/nginx /run /etc/nginx + +# --- Set up app directory --- +ENV HOME=/home/user +WORKDIR /home/user/app + +# --- cluster-server: install production deps --- +COPY --chown=user backend/cluster-server/package.json backend/cluster-server/package-lock.json* ./backend/cluster-server/ +RUN cd backend/cluster-server && npm ci --omit=dev --legacy-peer-deps 2>/dev/null || npm install --omit=dev --legacy-peer-deps + +# --- omr bundle (pre-built) --- +COPY --chown=user backend/omr/package.json ./backend/omr/ +COPY --chown=user backend/omr/dist/ ./backend/omr/dist/ + +# --- omr-service: install production deps --- +COPY --chown=user backend/omr-service/package.json backend/omr-service/package-lock.json* ./backend/omr-service/ +RUN cd backend/omr-service && ONNXRUNTIME_NODE_INSTALL=skip npm install --omit=dev 2>/dev/null \ + && rm -rf node_modules/onnxruntime-node/node_modules/onnxruntime-common 2>/dev/null; true + +# --- Root-level deps (for omr bundle externals) --- +RUN npm init -y > /dev/null 2>&1 \ + && npm install --no-package-lock \ + js-sha1 math-erf lodash spark-md5 portfinder python-shell \ + skia-canvas gl msgpackr "yargs@^17" \ + > /dev/null 2>&1; true + +# --- Copy pre-built frontend --- +COPY --chown=user dist/ ./dist/ + +# --- Copy cluster-server dist --- +COPY --chown=user backend/cluster-server/dist/ ./backend/cluster-server/dist/ +RUN ln -sf /home/user/app/backend/cluster-server/dist/src/migrations /home/user/app/backend/cluster-server/dist/migrations + +# --- Copy omr-service source --- +COPY --chown=user backend/omr-service/src/ ./backend/omr-service/src/ +COPY --chown=user backend/omr-service/tsconfig.json ./backend/omr-service/ + +# --- Gauge renderer and shared files --- +COPY --chown=user backend/libs/gauge-renderer.ts ./backend/libs/ +COPY --chown=user backend/omr/src/gauge-server.ts ./backend/omr/src/ +COPY --chown=user src/pages/playground/scripts/shaders.ts ./src/pages/playground/scripts/ +RUN ln -sf /home/user/app/backend/omr-service/node_modules /home/user/app/backend/node_modules + +# --- Root tsconfig --- +COPY --chown=user tsconfig.json ./ + +# --- Config files --- +COPY --chown=user docker-entrypoint.sh ./docker-entrypoint.sh +COPY --chown=user nginx.conf /etc/nginx/nginx.conf +RUN chmod +x docker-entrypoint.sh + +# Directories +RUN mkdir -p /tmp/starry-uploads && chown user:user /tmp/starry-uploads + +USER user + +EXPOSE 7860 + +ENTRYPOINT ["tini", "--"] +CMD ["./docker-entrypoint.sh"] diff --git a/README.md b/README.md index e56cdc5ba04010514b6d04853b2c40017293ab41..2cb4fbd3a1e76da2cf1ad1bf7d4f4899766bdd50 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,25 @@ --- title: Starry -emoji: 📚 +emoji: ðŸŽĩ colorFrom: blue colorTo: pink sdk: docker pinned: false license: bsd +app_port: 7860 --- -Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference +# STARRY — Sheet Music Recognition + +Online sheet music recognition and editing platform. + +## Features + +- Upload and manage music score images +- Automatic OMR (Optical Music Recognition) processing +- Score editing and annotation +- Music set management + +## Note + +This is a lightweight deployment. ML prediction services (layout, gauge, mask, semantic, OCR) are not included in this Space. diff --git a/backend/cluster-server/dist/mikro-orm.config.d.ts b/backend/cluster-server/dist/mikro-orm.config.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..9ad22c0f11c80320aaea59f358a42916c7e690f3 --- /dev/null +++ b/backend/cluster-server/dist/mikro-orm.config.d.ts @@ -0,0 +1,3 @@ +import { MikroOrmModuleOptions as Options } from '@mikro-orm/nestjs'; +declare const config: Options; +export default config; diff --git a/backend/cluster-server/dist/mikro-orm.config.js b/backend/cluster-server/dist/mikro-orm.config.js new file mode 100644 index 0000000000000000000000000000000000000000..209e9f719e4d062d0cc1747333a2b9cb58f73ff2 --- /dev/null +++ b/backend/cluster-server/dist/mikro-orm.config.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const sql_highlighter_1 = require("@mikro-orm/sql-highlighter"); +const reflection_1 = require("@mikro-orm/reflection"); +const core_1 = require("@mikro-orm/core"); +const config = { + dbName: 'cluster.sqlite3', + type: 'sqlite', + autoLoadEntities: true, + entities: ['dist/**/*.entity.js'], + entitiesTs: ['src/**/*.entity.ts'], + debug: true, + loadStrategy: core_1.LoadStrategy.JOINED, + highlighter: new sql_highlighter_1.SqlHighlighter(), + metadataProvider: reflection_1.TsMorphMetadataProvider, + registerRequestContext: false, + migrations: { + path: 'dist/migrations', + pathTs: 'src/migrations', + }, +}; +exports.default = config; +//# sourceMappingURL=mikro-orm.config.js.map \ No newline at end of file diff --git a/backend/cluster-server/dist/mikro-orm.config.js.map b/backend/cluster-server/dist/mikro-orm.config.js.map new file mode 100644 index 0000000000000000000000000000000000000000..6f88335da8f772aee3593843ec314fd831a9f254 --- /dev/null +++ b/backend/cluster-server/dist/mikro-orm.config.js.map @@ -0,0 +1 @@ +{"version":3,"file":"mikro-orm.config.js","sourceRoot":"","sources":["../mikro-orm.config.ts"],"names":[],"mappings":";;AACA,gEAA4D;AAC5D,sDAAgE;AAChE,0CAA+C;AAE/C,MAAM,MAAM,GAAY;IACvB,MAAM,EAAE,iBAAiB;IACzB,IAAI,EAAE,QAAQ;IACd,gBAAgB,EAAE,IAAI;IACtB,QAAQ,EAAE,CAAC,qBAAqB,CAAC;IACjC,UAAU,EAAE,CAAC,oBAAoB,CAAC;IAClC,KAAK,EAAE,IAAI;IAEX,YAAY,EAAE,mBAAY,CAAC,MAAM;IACjC,WAAW,EAAE,IAAI,gCAAc,EAAE;IACjC,gBAAgB,EAAE,oCAAuB;IACzC,sBAAsB,EAAE,KAAK;IAC7B,UAAU,EAAE;QACX,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,gBAAgB;KACxB;CACD,CAAC;AAEF,kBAAe,MAAM,CAAC"} \ No newline at end of file diff --git a/backend/cluster-server/dist/src/app.controller.d.ts b/backend/cluster-server/dist/src/app.controller.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..3859d69c3504225faf0f1a56e3c54d695729e1fb --- /dev/null +++ b/backend/cluster-server/dist/src/app.controller.d.ts @@ -0,0 +1,6 @@ +import { AppService } from './app.service'; +export declare class AppController { + private readonly appService; + constructor(appService: AppService); + getHello(): string; +} diff --git a/backend/cluster-server/dist/src/app.controller.js b/backend/cluster-server/dist/src/app.controller.js new file mode 100644 index 0000000000000000000000000000000000000000..dcf0f77319e19b7a919e2a13300d09fc69cfcb69 --- /dev/null +++ b/backend/cluster-server/dist/src/app.controller.js @@ -0,0 +1,34 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AppController = void 0; +const common_1 = require("@nestjs/common"); +const app_service_1 = require("./app.service"); +let AppController = class AppController { + constructor(appService) { + this.appService = appService; + } + getHello() { + return this.appService.getHello(); + } +}; +__decorate([ + (0, common_1.Get)(), + __metadata("design:type", Function), + __metadata("design:paramtypes", []), + __metadata("design:returntype", String) +], AppController.prototype, "getHello", null); +AppController = __decorate([ + (0, common_1.Controller)(), + __metadata("design:paramtypes", [app_service_1.AppService]) +], AppController); +exports.AppController = AppController; +//# sourceMappingURL=app.controller.js.map \ No newline at end of file diff --git a/backend/cluster-server/dist/src/app.controller.js.map b/backend/cluster-server/dist/src/app.controller.js.map new file mode 100644 index 0000000000000000000000000000000000000000..183a27031868f5195afeff3eac12917ec56231e1 --- /dev/null +++ b/backend/cluster-server/dist/src/app.controller.js.map @@ -0,0 +1 @@ +{"version":3,"file":"app.controller.js","sourceRoot":"","sources":["../../src/app.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAiD;AACjD,+CAA2C;AAGpC,IAAM,aAAa,GAAnB,MAAM,aAAa;IACzB,YAA6B,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAG,CAAC;IAGvD,QAAQ;QACP,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;IACnC,CAAC;CACD,CAAA;AAJA;IAAC,IAAA,YAAG,GAAE;;;;6CAGL;AANW,aAAa;IADzB,IAAA,mBAAU,GAAE;qCAE6B,wBAAU;GADvC,aAAa,CAOzB;AAPY,sCAAa"} \ No newline at end of file diff --git a/backend/cluster-server/dist/src/app.module.d.ts b/backend/cluster-server/dist/src/app.module.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..660632de14cf985eb3c0890967048e4dcd049098 --- /dev/null +++ b/backend/cluster-server/dist/src/app.module.d.ts @@ -0,0 +1,8 @@ +import { MiddlewareConsumer, NestModule, OnModuleInit } from '@nestjs/common'; +import { MikroORM } from '@mikro-orm/core'; +export declare class AppModule implements NestModule, OnModuleInit { + private readonly orm; + constructor(orm: MikroORM); + onModuleInit(): Promise; + configure(consumer: MiddlewareConsumer): void; +} diff --git a/backend/cluster-server/dist/src/app.module.js b/backend/cluster-server/dist/src/app.module.js new file mode 100644 index 0000000000000000000000000000000000000000..db8008d17fbe9ad64ccf4d36292a513a3691fcb7 --- /dev/null +++ b/backend/cluster-server/dist/src/app.module.js @@ -0,0 +1,52 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AppModule = void 0; +const common_1 = require("@nestjs/common"); +const app_controller_1 = require("./app.controller"); +const app_service_1 = require("./app.service"); +const nestjs_1 = require("@mikro-orm/nestjs"); +const scores_module_1 = require("./scores/scores.module"); +const core_1 = require("@mikro-orm/core"); +const core_2 = require("@nestjs/core"); +const transform_interceptor_1 = require("./shared/interceptor/transform.interceptor"); +const http_exception_filter_1 = require("./filters/http-exception.filter"); +let AppModule = class AppModule { + constructor(orm) { + this.orm = orm; + } + async onModuleInit() { + await this.orm.getMigrator().up(); + } + configure(consumer) { + consumer.apply(nestjs_1.MikroOrmMiddleware).forRoutes('*'); + } +}; +AppModule = __decorate([ + (0, common_1.Module)({ + imports: [nestjs_1.MikroOrmModule.forRoot(), scores_module_1.ScoresModule], + controllers: [app_controller_1.AppController], + providers: [ + { + provide: core_2.APP_INTERCEPTOR, + useClass: transform_interceptor_1.TransformInterceptor, + }, + { + provide: core_2.APP_FILTER, + useClass: http_exception_filter_1.HttpExceptionFilter, + }, + app_service_1.AppService, + ], + }), + __metadata("design:paramtypes", [core_1.MikroORM]) +], AppModule); +exports.AppModule = AppModule; +//# sourceMappingURL=app.module.js.map \ No newline at end of file diff --git a/backend/cluster-server/dist/src/app.module.js.map b/backend/cluster-server/dist/src/app.module.js.map new file mode 100644 index 0000000000000000000000000000000000000000..88c809b799899475b7bd5cc78bfab2bfa9af515a --- /dev/null +++ b/backend/cluster-server/dist/src/app.module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"app.module.js","sourceRoot":"","sources":["../../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAsF;AACtF,qDAAiD;AACjD,+CAA2C;AAC3C,8CAAuE;AACvE,0DAAsD;AACtD,0CAA2C;AAC3C,uCAA2D;AAC3D,sFAAkF;AAClF,2EAAsE;AAiB/D,IAAM,SAAS,GAAf,MAAM,SAAS;IACrB,YAA6B,GAAa;QAAb,QAAG,GAAH,GAAG,CAAU;IAAG,CAAC;IAE9C,KAAK,CAAC,YAAY;QACjB,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;IACnC,CAAC;IAID,SAAS,CAAC,QAA4B;QACrC,QAAQ,CAAC,KAAK,CAAC,2BAAkB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACnD,CAAC;CACD,CAAA;AAZY,SAAS;IAfrB,IAAA,eAAM,EAAC;QACP,OAAO,EAAE,CAAC,uBAAc,CAAC,OAAO,EAAE,EAAE,4BAAY,CAAC;QACjD,WAAW,EAAE,CAAC,8BAAa,CAAC;QAC5B,SAAS,EAAE;YACV;gBACC,OAAO,EAAE,sBAAe;gBACxB,QAAQ,EAAE,4CAAoB;aAC9B;YACD;gBACC,OAAO,EAAE,iBAAU;gBACnB,QAAQ,EAAE,2CAAmB;aAC7B;YACD,wBAAU;SACV;KACD,CAAC;qCAEiC,eAAQ;GAD9B,SAAS,CAYrB;AAZY,8BAAS"} \ No newline at end of file diff --git a/backend/cluster-server/dist/src/app.service.d.ts b/backend/cluster-server/dist/src/app.service.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..0496e7902946483d392eef6f0e1ea991d32802d2 --- /dev/null +++ b/backend/cluster-server/dist/src/app.service.d.ts @@ -0,0 +1,3 @@ +export declare class AppService { + getHello(): string; +} diff --git a/backend/cluster-server/dist/src/app.service.js b/backend/cluster-server/dist/src/app.service.js new file mode 100644 index 0000000000000000000000000000000000000000..2b0168628187b25dbfd49710b8dc30e72debd084 --- /dev/null +++ b/backend/cluster-server/dist/src/app.service.js @@ -0,0 +1,20 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AppService = void 0; +const common_1 = require("@nestjs/common"); +let AppService = class AppService { + getHello() { + return 'Hello World!'; + } +}; +AppService = __decorate([ + (0, common_1.Injectable)() +], AppService); +exports.AppService = AppService; +//# sourceMappingURL=app.service.js.map \ No newline at end of file diff --git a/backend/cluster-server/dist/src/app.service.js.map b/backend/cluster-server/dist/src/app.service.js.map new file mode 100644 index 0000000000000000000000000000000000000000..a030aca31aae92f48e04c4be823f34f69bff14e7 --- /dev/null +++ b/backend/cluster-server/dist/src/app.service.js.map @@ -0,0 +1 @@ +{"version":3,"file":"app.service.js","sourceRoot":"","sources":["../../src/app.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAGrC,IAAM,UAAU,GAAhB,MAAM,UAAU;IACtB,QAAQ;QACP,OAAO,cAAc,CAAC;IACvB,CAAC;CACD,CAAA;AAJY,UAAU;IADtB,IAAA,mBAAU,GAAE;GACA,UAAU,CAItB;AAJY,gCAAU"} \ No newline at end of file diff --git a/backend/cluster-server/dist/src/filters/http-exception.filter.d.ts b/backend/cluster-server/dist/src/filters/http-exception.filter.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..a3aff90f9e61fc9f8c6682938bfc3439c6b9f6b1 --- /dev/null +++ b/backend/cluster-server/dist/src/filters/http-exception.filter.d.ts @@ -0,0 +1,4 @@ +import { ArgumentsHost, ExceptionFilter, HttpException } from '@nestjs/common'; +export declare class HttpExceptionFilter implements ExceptionFilter { + catch(exception: HttpException, host: ArgumentsHost): void; +} diff --git a/backend/cluster-server/dist/src/filters/http-exception.filter.js b/backend/cluster-server/dist/src/filters/http-exception.filter.js new file mode 100644 index 0000000000000000000000000000000000000000..1d43e979ec9bdd8684fd3e3501c9d34a1119ce1e --- /dev/null +++ b/backend/cluster-server/dist/src/filters/http-exception.filter.js @@ -0,0 +1,32 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.HttpExceptionFilter = void 0; +const common_1 = require("@nestjs/common"); +let HttpExceptionFilter = class HttpExceptionFilter { + catch(exception, host) { + const ctx = host.switchToHttp(); + const response = ctx.getResponse(); + const request = ctx.getRequest(); + const message = exception.message; + common_1.Logger.log('错čŊŊ提įĪš', message); + const status = exception instanceof common_1.HttpException ? exception.getStatus() : common_1.HttpStatus.INTERNAL_SERVER_ERROR; + response.status(status); + response.header('Content-Type', 'application/json; charset=utf-8'); + response.send({ + data: null, + message: `${request.originalUrl} čŊ·æą‚åĪąčīĨ`, + code: -1, + }); + } +}; +HttpExceptionFilter = __decorate([ + (0, common_1.Catch)(common_1.HttpException) +], HttpExceptionFilter); +exports.HttpExceptionFilter = HttpExceptionFilter; +//# sourceMappingURL=http-exception.filter.js.map \ No newline at end of file diff --git a/backend/cluster-server/dist/src/filters/http-exception.filter.js.map b/backend/cluster-server/dist/src/filters/http-exception.filter.js.map new file mode 100644 index 0000000000000000000000000000000000000000..7b93d4d455ab32d42da42b96adcc498c1c4c1003 --- /dev/null +++ b/backend/cluster-server/dist/src/filters/http-exception.filter.js.map @@ -0,0 +1 @@ +{"version":3,"file":"http-exception.filter.js","sourceRoot":"","sources":["../../../src/filters/http-exception.filter.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA0G;AAGnG,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC/B,KAAK,CAAC,SAAwB,EAAE,IAAmB;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;QAEjC,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;QAClC,eAAM,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5B,MAAM,MAAM,GAAG,SAAS,YAAY,sBAAa,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,mBAAU,CAAC,qBAAqB,CAAC;QAC7G,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxB,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,iCAAiC,CAAC,CAAC;QACnE,QAAQ,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,GAAG,OAAO,CAAC,WAAW,OAAO;YACtC,IAAI,EAAE,CAAC,CAAC;SACR,CAAC,CAAC;IACJ,CAAC;CACD,CAAA;AAjBY,mBAAmB;IAD/B,IAAA,cAAK,EAAC,sBAAa,CAAC;GACR,mBAAmB,CAiB/B;AAjBY,kDAAmB"} \ No newline at end of file diff --git a/backend/cluster-server/dist/src/main.d.ts b/backend/cluster-server/dist/src/main.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..cb0ff5c3b541f646105198ee23ac0fc3d805023e --- /dev/null +++ b/backend/cluster-server/dist/src/main.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/backend/cluster-server/dist/src/main.js b/backend/cluster-server/dist/src/main.js new file mode 100644 index 0000000000000000000000000000000000000000..7cba29744ca0bffdbe3fa543cc44f04f1807fded --- /dev/null +++ b/backend/cluster-server/dist/src/main.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const core_1 = require("@nestjs/core"); +const app_module_1 = require("./app.module"); +const swagger_1 = require("@nestjs/swagger"); +const bodyParser = require("body-parser"); +async function bootstrap() { + const app = await core_1.NestFactory.create(app_module_1.AppModule); + app.setGlobalPrefix('api'); + app.use(bodyParser.json({ limit: '50mb' })); + app.use(bodyParser.urlencoded({ limit: '50mb', extended: true })); + app.enableCors(); + const options = new swagger_1.DocumentBuilder().setTitle('Cluster Server').setDescription('cluster manager').setVersion('1.0').addBearerAuth().build(); + const document = swagger_1.SwaggerModule.createDocument(app, options); + swagger_1.SwaggerModule.setup('/docs', app, document); + app.enableShutdownHooks(); + await app.listen(process.env.PORT || 3000); +} +bootstrap(); +//# sourceMappingURL=main.js.map \ No newline at end of file diff --git a/backend/cluster-server/dist/src/main.js.map b/backend/cluster-server/dist/src/main.js.map new file mode 100644 index 0000000000000000000000000000000000000000..cbd32e0c81baf4a0e365e6d331281532f7e8afdf --- /dev/null +++ b/backend/cluster-server/dist/src/main.js.map @@ -0,0 +1 @@ +{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":";;AAAA,uCAA2C;AAC3C,6CAAyC;AACzC,6CAAiE;AACjE,0CAA0C;AAE1C,KAAK,UAAU,SAAS;IACvB,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,MAAM,CAAC,sBAAS,CAAC,CAAC;IAEhD,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAE3B,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAC5C,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAClE,GAAG,CAAC,UAAU,EAAE,CAAC;IAEjB,MAAM,OAAO,GAAG,IAAI,yBAAe,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC;IAC7I,MAAM,QAAQ,GAAG,uBAAa,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC5D,uBAAa,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IAE5C,GAAG,CAAC,mBAAmB,EAAE,CAAC;IAE1B,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,EAAE,CAAC"} \ No newline at end of file diff --git a/backend/cluster-server/dist/src/migrations/Migration20220316063840.d.ts b/backend/cluster-server/dist/src/migrations/Migration20220316063840.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..105271b02bf1fc960c7103559725eeb1375a3074 --- /dev/null +++ b/backend/cluster-server/dist/src/migrations/Migration20220316063840.d.ts @@ -0,0 +1,4 @@ +import { Migration } from '@mikro-orm/migrations'; +export declare class Migration20220316063840 extends Migration { + up(): Promise; +} diff --git a/backend/cluster-server/dist/src/migrations/Migration20220316063840.js b/backend/cluster-server/dist/src/migrations/Migration20220316063840.js new file mode 100644 index 0000000000000000000000000000000000000000..de22b557ceef59bbb07c05c0e12053eb0070d32c --- /dev/null +++ b/backend/cluster-server/dist/src/migrations/Migration20220316063840.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Migration20220316063840 = void 0; +const migrations_1 = require("@mikro-orm/migrations"); +class Migration20220316063840 extends migrations_1.Migration { + async up() { + this.addSql('create table `score_entity` (`id` text not null, `name` text null, `created_at` datetime not null, `updated_at` datetime not null, primary key (`id`));'); + this.addSql('create table `measure_entity` (`score_id` text not null, `index` text not null, `cluster` json not null, constraint `measure_entity_score_id_foreign` foreign key(`score_id`) references `score_entity`(`id`) on delete cascade on update cascade, primary key (`score_id`, `index`));'); + this.addSql('create index `measure_entity_score_id_index` on `measure_entity` (`score_id`);'); + this.addSql('create index `measure_entity_score_id_index_index` on `measure_entity` (`score_id`, `index`);'); + } +} +exports.Migration20220316063840 = Migration20220316063840; +//# sourceMappingURL=Migration20220316063840.js.map \ No newline at end of file diff --git a/backend/cluster-server/dist/src/migrations/Migration20220316063840.js.map b/backend/cluster-server/dist/src/migrations/Migration20220316063840.js.map new file mode 100644 index 0000000000000000000000000000000000000000..41bb14a9c8b22c52dd81c5802683a60aa8ac0657 --- /dev/null +++ b/backend/cluster-server/dist/src/migrations/Migration20220316063840.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Migration20220316063840.js","sourceRoot":"","sources":["../../../src/migrations/Migration20220316063840.ts"],"names":[],"mappings":";;;AAAA,sDAAkD;AAElD,MAAa,uBAAwB,SAAQ,sBAAS;IACrD,KAAK,CAAC,EAAE;QACP,IAAI,CAAC,MAAM,CACV,yJAAyJ,CACzJ,CAAC;QAEF,IAAI,CAAC,MAAM,CACV,wRAAwR,CACxR,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,gFAAgF,CAAC,CAAC;QAC9F,IAAI,CAAC,MAAM,CAAC,+FAA+F,CAAC,CAAC;IAC9G,CAAC;CACD;AAZD,0DAYC"} \ No newline at end of file diff --git a/backend/cluster-server/dist/src/scores/dto/create-measure.dto.d.ts b/backend/cluster-server/dist/src/scores/dto/create-measure.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..e7e649ffc607935371f36dc701e2977e7e43018a --- /dev/null +++ b/backend/cluster-server/dist/src/scores/dto/create-measure.dto.d.ts @@ -0,0 +1,5 @@ +export declare class CreateMeasureDto { + scoreId: string; + index: string; + cluster: Record; +} diff --git a/backend/cluster-server/dist/src/scores/dto/create-measure.dto.js b/backend/cluster-server/dist/src/scores/dto/create-measure.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..48014f76f53413c14afc5a05c18155422490bf1c --- /dev/null +++ b/backend/cluster-server/dist/src/scores/dto/create-measure.dto.js @@ -0,0 +1,7 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CreateMeasureDto = void 0; +class CreateMeasureDto { +} +exports.CreateMeasureDto = CreateMeasureDto; +//# sourceMappingURL=create-measure.dto.js.map \ No newline at end of file diff --git a/backend/cluster-server/dist/src/scores/dto/create-measure.dto.js.map b/backend/cluster-server/dist/src/scores/dto/create-measure.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..e65d75182a4083c99e7ab5da25285262cd44868a --- /dev/null +++ b/backend/cluster-server/dist/src/scores/dto/create-measure.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"create-measure.dto.js","sourceRoot":"","sources":["../../../../src/scores/dto/create-measure.dto.ts"],"names":[],"mappings":";;;AAAA,MAAa,gBAAgB;CAI5B;AAJD,4CAIC"} \ No newline at end of file diff --git a/backend/cluster-server/dist/src/scores/dto/create-score.dto.d.ts b/backend/cluster-server/dist/src/scores/dto/create-score.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..503daa075f3aa83bb8494a7c8b917f6b9cd60beb --- /dev/null +++ b/backend/cluster-server/dist/src/scores/dto/create-score.dto.d.ts @@ -0,0 +1,8 @@ +export declare class CreateScoreDto { + id: string; + name?: string; + measures: { + index: string; + cluster: Record; + }[]; +} diff --git a/backend/cluster-server/dist/src/scores/dto/create-score.dto.js b/backend/cluster-server/dist/src/scores/dto/create-score.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..b3d04733c5921e38bfdb91a0b95034af504cb58f --- /dev/null +++ b/backend/cluster-server/dist/src/scores/dto/create-score.dto.js @@ -0,0 +1,7 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CreateScoreDto = void 0; +class CreateScoreDto { +} +exports.CreateScoreDto = CreateScoreDto; +//# sourceMappingURL=create-score.dto.js.map \ No newline at end of file diff --git a/backend/cluster-server/dist/src/scores/dto/create-score.dto.js.map b/backend/cluster-server/dist/src/scores/dto/create-score.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..2923ac4bc38338c83e8532cb51a7d4c13492727c --- /dev/null +++ b/backend/cluster-server/dist/src/scores/dto/create-score.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"create-score.dto.js","sourceRoot":"","sources":["../../../../src/scores/dto/create-score.dto.ts"],"names":[],"mappings":";;;AAAA,MAAa,cAAc;CAO1B;AAPD,wCAOC"} \ No newline at end of file diff --git a/backend/cluster-server/dist/src/scores/dto/pagination.d.ts b/backend/cluster-server/dist/src/scores/dto/pagination.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..7f9da8bd87d19bc8a2e34ab1e963d5f761c31867 --- /dev/null +++ b/backend/cluster-server/dist/src/scores/dto/pagination.d.ts @@ -0,0 +1,4 @@ +export declare class Pagination { + offset?: number; + limit?: number; +} diff --git a/backend/cluster-server/dist/src/scores/dto/pagination.js b/backend/cluster-server/dist/src/scores/dto/pagination.js new file mode 100644 index 0000000000000000000000000000000000000000..fdc7cab8083a41b146f08e0d1cd3831b0faa4caa --- /dev/null +++ b/backend/cluster-server/dist/src/scores/dto/pagination.js @@ -0,0 +1,25 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Pagination = void 0; +const swagger_1 = require("@nestjs/swagger"); +class Pagination { +} +__decorate([ + (0, swagger_1.ApiPropertyOptional)(), + __metadata("design:type", Number) +], Pagination.prototype, "offset", void 0); +__decorate([ + (0, swagger_1.ApiPropertyOptional)(), + __metadata("design:type", Number) +], Pagination.prototype, "limit", void 0); +exports.Pagination = Pagination; +//# sourceMappingURL=pagination.js.map \ No newline at end of file diff --git a/backend/cluster-server/dist/src/scores/dto/pagination.js.map b/backend/cluster-server/dist/src/scores/dto/pagination.js.map new file mode 100644 index 0000000000000000000000000000000000000000..713436e5d0e9b2a03435134975eb950d3891c233 --- /dev/null +++ b/backend/cluster-server/dist/src/scores/dto/pagination.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../../../src/scores/dto/pagination.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAsD;AAEtD,MAAa,UAAU;CAMtB;AALA;IAAC,IAAA,6BAAmB,GAAE;;0CACN;AAEhB;IAAC,IAAA,6BAAmB,GAAE;;yCACP;AALhB,gCAMC"} \ No newline at end of file diff --git a/backend/cluster-server/dist/src/scores/entities/measure.entity.d.ts b/backend/cluster-server/dist/src/scores/entities/measure.entity.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..7b3f859d8abed2a62fa7b1affa781fbac73e02b3 --- /dev/null +++ b/backend/cluster-server/dist/src/scores/entities/measure.entity.d.ts @@ -0,0 +1,8 @@ +import { PrimaryKeyType } from '@mikro-orm/core'; +import { ScoreEntity } from './score.entity'; +export declare class MeasureEntity { + score: ScoreEntity; + index: string; + [PrimaryKeyType]?: [string, string]; + cluster: Record; +} diff --git a/backend/cluster-server/dist/src/scores/entities/measure.entity.js b/backend/cluster-server/dist/src/scores/entities/measure.entity.js new file mode 100644 index 0000000000000000000000000000000000000000..6a9c17d3a41856b2d8f14775fa4e4d238e87ff73 --- /dev/null +++ b/backend/cluster-server/dist/src/scores/entities/measure.entity.js @@ -0,0 +1,37 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MeasureEntity = void 0; +const core_1 = require("@mikro-orm/core"); +const score_entity_1 = require("./score.entity"); +const swagger_1 = require("@nestjs/swagger"); +let MeasureEntity = class MeasureEntity { +}; +__decorate([ + (0, core_1.ManyToOne)({ primary: true, hidden: true, onDelete: 'cascade' }), + __metadata("design:type", score_entity_1.ScoreEntity) +], MeasureEntity.prototype, "score", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + (0, core_1.PrimaryKey)(), + __metadata("design:type", String) +], MeasureEntity.prototype, "index", void 0); +__decorate([ + (0, swagger_1.ApiProperty)({ type: () => core_1.JsonType }), + (0, core_1.Property)({ type: core_1.JsonType }), + __metadata("design:type", Object) +], MeasureEntity.prototype, "cluster", void 0); +MeasureEntity = __decorate([ + (0, core_1.Index)({ properties: ['score', 'index'] }), + (0, core_1.Entity)() +], MeasureEntity); +exports.MeasureEntity = MeasureEntity; +//# sourceMappingURL=measure.entity.js.map \ No newline at end of file diff --git a/backend/cluster-server/dist/src/scores/entities/measure.entity.js.map b/backend/cluster-server/dist/src/scores/entities/measure.entity.js.map new file mode 100644 index 0000000000000000000000000000000000000000..d20dfd419d506c42b2ed8cf336d4e2cd10f37eee --- /dev/null +++ b/backend/cluster-server/dist/src/scores/entities/measure.entity.js.map @@ -0,0 +1 @@ +{"version":3,"file":"measure.entity.js","sourceRoot":"","sources":["../../../../src/scores/entities/measure.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAA2G;AAC3G,iDAA6C;AAC7C,6CAA8C;AAIvC,IAAM,aAAa,GAAnB,MAAM,aAAa;CAazB,CAAA;AAZA;IAAC,IAAA,gBAAS,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;8BACxD,0BAAW;4CAAC;AAEpB;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,iBAAU,GAAE;;4CACE;AAIf;IAAC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,eAAQ,EAAE,CAAC;IACrC,IAAA,eAAQ,EAAC,EAAE,IAAI,EAAE,eAAQ,EAAE,CAAC;;8CACH;AAZd,aAAa;IAFzB,IAAA,YAAK,EAAC,EAAE,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;IACzC,IAAA,aAAM,GAAE;GACI,aAAa,CAazB;AAbY,sCAAa"} \ No newline at end of file diff --git a/backend/cluster-server/dist/src/scores/entities/score.entity.d.ts b/backend/cluster-server/dist/src/scores/entities/score.entity.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..148ba1a9332b46eb374f27c15b312f49e15f9479 --- /dev/null +++ b/backend/cluster-server/dist/src/scores/entities/score.entity.d.ts @@ -0,0 +1,9 @@ +import { Collection } from '@mikro-orm/core'; +import { MeasureEntity } from './measure.entity'; +export declare class ScoreEntity { + id: string; + name?: string; + measures: Collection; + createdAt: Date; + updatedAt: Date; +} diff --git a/backend/cluster-server/dist/src/scores/entities/score.entity.js b/backend/cluster-server/dist/src/scores/entities/score.entity.js new file mode 100644 index 0000000000000000000000000000000000000000..de2788c3187a3860e56fc47732a864cf8bcb889c --- /dev/null +++ b/backend/cluster-server/dist/src/scores/entities/score.entity.js @@ -0,0 +1,50 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ScoreEntity = void 0; +const core_1 = require("@mikro-orm/core"); +const measure_entity_1 = require("./measure.entity"); +const swagger_1 = require("@nestjs/swagger"); +let ScoreEntity = class ScoreEntity { + constructor() { + this.measures = new core_1.Collection(this); + this.createdAt = new Date(); + this.updatedAt = new Date(); + } +}; +__decorate([ + (0, swagger_1.ApiProperty)(), + (0, core_1.PrimaryKey)(), + __metadata("design:type", String) +], ScoreEntity.prototype, "id", void 0); +__decorate([ + (0, swagger_1.ApiPropertyOptional)(), + (0, core_1.Property)({ nullable: true }), + __metadata("design:type", String) +], ScoreEntity.prototype, "name", void 0); +__decorate([ + (0, swagger_1.ApiProperty)({ type: () => [measure_entity_1.MeasureEntity] }), + (0, core_1.OneToMany)(() => measure_entity_1.MeasureEntity, (item) => item.score, { cascade: [core_1.Cascade.ALL], orphanRemoval: true }), + __metadata("design:type", Object) +], ScoreEntity.prototype, "measures", void 0); +__decorate([ + (0, core_1.Property)({ hidden: true }), + __metadata("design:type", Object) +], ScoreEntity.prototype, "createdAt", void 0); +__decorate([ + (0, core_1.Property)({ hidden: true, onUpdate: () => new Date() }), + __metadata("design:type", Object) +], ScoreEntity.prototype, "updatedAt", void 0); +ScoreEntity = __decorate([ + (0, core_1.Entity)() +], ScoreEntity); +exports.ScoreEntity = ScoreEntity; +//# sourceMappingURL=score.entity.js.map \ No newline at end of file diff --git a/backend/cluster-server/dist/src/scores/entities/score.entity.js.map b/backend/cluster-server/dist/src/scores/entities/score.entity.js.map new file mode 100644 index 0000000000000000000000000000000000000000..a2524ca1a658c00e5824374dfd8a76ac51758a8a --- /dev/null +++ b/backend/cluster-server/dist/src/scores/entities/score.entity.js.map @@ -0,0 +1 @@ +{"version":3,"file":"score.entity.js","sourceRoot":"","sources":["../../../../src/scores/entities/score.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAA+F;AAC/F,qDAAiD;AACjD,6CAAmE;AAG5D,IAAM,WAAW,GAAjB,MAAM,WAAW;IAAjB;QAWN,aAAQ,GAAG,IAAI,iBAAU,CAAgB,IAAI,CAAC,CAAC;QAG/C,cAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAGvB,cAAS,GAAG,IAAI,IAAI,EAAE,CAAC;IACxB,CAAC;CAAA,CAAA;AAjBA;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,iBAAU,GAAE;;uCACD;AAEZ;IAAC,IAAA,6BAAmB,GAAE;IACrB,IAAA,eAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCACf;AAEd;IAAC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,8BAAa,CAAC,EAAE,CAAC;IAC5C,IAAA,gBAAS,EAAC,GAAG,EAAE,CAAC,8BAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,cAAO,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;;6CACvD;AAE/C;IAAC,IAAA,eAAQ,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;;8CACJ;AAEvB;IAAC,IAAA,eAAQ,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;;8CAChC;AAjBX,WAAW;IADvB,IAAA,aAAM,GAAE;GACI,WAAW,CAkBvB;AAlBY,kCAAW"} \ No newline at end of file diff --git a/backend/cluster-server/dist/src/scores/scores.controller.d.ts b/backend/cluster-server/dist/src/scores/scores.controller.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..9549ff297afd16aeb3f9abf201ef0dfd0a4e3c4f --- /dev/null +++ b/backend/cluster-server/dist/src/scores/scores.controller.d.ts @@ -0,0 +1,19 @@ +import { ScoresService } from './scores.service'; +import { CreateScoreDto } from './dto/create-score.dto'; +import { ScoreEntity } from './entities/score.entity'; +import { MeasureEntity } from './entities/measure.entity'; +import { Pagination } from './dto/pagination'; +export declare class ScoresController { + private readonly scoresService; + constructor(scoresService: ScoresService); + upsertScore(scoreId: string, createMeasureDto: CreateScoreDto): Promise>; + upsertMeasure(scoreId: string, index: string, cluster: Record): Promise>; + allScore(query: Pagination): Promise<{ + data: import("@mikro-orm/core").Loaded[]; + total: number; + }>; + findOneScore(scoreId: string): Promise>; + findOneMeasure(scoreId: string, index: string): Promise>; + removeScore(scoreId: string): Promise; + removeMeasure(scoreId: string, index: string): Promise; +} diff --git a/backend/cluster-server/dist/src/scores/scores.controller.js b/backend/cluster-server/dist/src/scores/scores.controller.js new file mode 100644 index 0000000000000000000000000000000000000000..d9dde6ba1bda1fb85cf343e2796992dac0601b90 --- /dev/null +++ b/backend/cluster-server/dist/src/scores/scores.controller.js @@ -0,0 +1,151 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ScoresController = void 0; +const common_1 = require("@nestjs/common"); +const scores_service_1 = require("./scores.service"); +const swagger_1 = require("@nestjs/swagger"); +const create_score_dto_1 = require("./dto/create-score.dto"); +const score_entity_1 = require("./entities/score.entity"); +const measure_entity_1 = require("./entities/measure.entity"); +const pagination_1 = require("./dto/pagination"); +let ScoresController = class ScoresController { + constructor(scoresService) { + this.scoresService = scoresService; + } + upsertScore(scoreId, createMeasureDto) { + return this.scoresService.upsertScore(Object.assign({ id: scoreId }, createMeasureDto)); + } + upsertMeasure(scoreId, index, cluster) { + return this.scoresService.upsertMeasure({ + scoreId, + index, + cluster, + }); + } + allScore(query) { + return this.scoresService.allScore(query); + } + findOneScore(scoreId) { + return this.scoresService.findOneScore(scoreId); + } + findOneMeasure(scoreId, index) { + return this.scoresService.findOneMeasure(scoreId, index); + } + removeScore(scoreId) { + return this.scoresService.removeScore(scoreId); + } + removeMeasure(scoreId, index) { + return this.scoresService.removeMeasure(scoreId, index); + } +}; +__decorate([ + (0, swagger_1.ApiBody)({ + schema: { + type: 'object', + properties: { + name: { type: 'string' }, + measures: { + type: 'array', + items: { + type: 'object', + properties: { + index: { + type: 'string', + }, + cluster: { + type: 'object', + }, + }, + }, + }, + }, + }, + }), + (0, swagger_1.ApiCreatedResponse)({ description: 'The record has been successfully created.' }), + (0, common_1.Post)(':scoreId'), + __param(0, (0, common_1.Param)('scoreId')), + __param(1, (0, common_1.Body)()), + __metadata("design:type", Function), + __metadata("design:paramtypes", [String, create_score_dto_1.CreateScoreDto]), + __metadata("design:returntype", void 0) +], ScoresController.prototype, "upsertScore", null); +__decorate([ + (0, swagger_1.ApiBody)({ + schema: { + type: 'object', + }, + }), + (0, swagger_1.ApiCreatedResponse)({ description: 'The record has been successfully created.' }), + (0, common_1.Post)(':scoreId/measure/:index'), + __param(0, (0, common_1.Param)('scoreId')), + __param(1, (0, common_1.Param)('index')), + __param(2, (0, common_1.Body)()), + __metadata("design:type", Function), + __metadata("design:paramtypes", [String, String, Object]), + __metadata("design:returntype", void 0) +], ScoresController.prototype, "upsertMeasure", null); +__decorate([ + (0, swagger_1.ApiResponse)({ + type: [score_entity_1.ScoreEntity], + }), + (0, common_1.Get)(), + __param(0, (0, common_1.Query)()), + __metadata("design:type", Function), + __metadata("design:paramtypes", [pagination_1.Pagination]), + __metadata("design:returntype", void 0) +], ScoresController.prototype, "allScore", null); +__decorate([ + (0, swagger_1.ApiResponse)({ + type: score_entity_1.ScoreEntity, + }), + (0, common_1.Get)(':scoreId'), + __param(0, (0, common_1.Param)('scoreId')), + __metadata("design:type", Function), + __metadata("design:paramtypes", [String]), + __metadata("design:returntype", void 0) +], ScoresController.prototype, "findOneScore", null); +__decorate([ + (0, swagger_1.ApiResponse)({ + type: measure_entity_1.MeasureEntity, + }), + (0, common_1.Get)(':scoreId/measure/:index'), + __param(0, (0, common_1.Param)('scoreId')), + __param(1, (0, common_1.Param)('index')), + __metadata("design:type", Function), + __metadata("design:paramtypes", [String, String]), + __metadata("design:returntype", void 0) +], ScoresController.prototype, "findOneMeasure", null); +__decorate([ + (0, common_1.Delete)(':scoreId'), + __param(0, (0, common_1.Param)('scoreId')), + __metadata("design:type", Function), + __metadata("design:paramtypes", [String]), + __metadata("design:returntype", void 0) +], ScoresController.prototype, "removeScore", null); +__decorate([ + (0, common_1.Delete)(':scoreId/measure/:index'), + __param(0, (0, common_1.Param)('scoreId')), + __param(1, (0, common_1.Param)('index')), + __metadata("design:type", Function), + __metadata("design:paramtypes", [String, String]), + __metadata("design:returntype", void 0) +], ScoresController.prototype, "removeMeasure", null); +ScoresController = __decorate([ + (0, swagger_1.ApiTags)('Cluster'), + (0, common_1.Controller)('score'), + __metadata("design:paramtypes", [scores_service_1.ScoresService]) +], ScoresController); +exports.ScoresController = ScoresController; +//# sourceMappingURL=scores.controller.js.map \ No newline at end of file diff --git a/backend/cluster-server/dist/src/scores/scores.controller.js.map b/backend/cluster-server/dist/src/scores/scores.controller.js.map new file mode 100644 index 0000000000000000000000000000000000000000..7ba27c0c06c82b17be586012be1fa282319789c0 --- /dev/null +++ b/backend/cluster-server/dist/src/scores/scores.controller.js.map @@ -0,0 +1 @@ +{"version":3,"file":"scores.controller.js","sourceRoot":"","sources":["../../../src/scores/scores.controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/cluster-server/dist/src/scores/scores.module.d.ts b/backend/cluster-server/dist/src/scores/scores.module.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..6d2502908e570ad166cb5717ff56d3e623aea1ac --- /dev/null +++ b/backend/cluster-server/dist/src/scores/scores.module.d.ts @@ -0,0 +1,2 @@ +export declare class ScoresModule { +} diff --git a/backend/cluster-server/dist/src/scores/scores.module.js b/backend/cluster-server/dist/src/scores/scores.module.js new file mode 100644 index 0000000000000000000000000000000000000000..d69d59173fb05140b557acf82467fafa49ba828a --- /dev/null +++ b/backend/cluster-server/dist/src/scores/scores.module.js @@ -0,0 +1,26 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ScoresModule = void 0; +const common_1 = require("@nestjs/common"); +const scores_service_1 = require("./scores.service"); +const scores_controller_1 = require("./scores.controller"); +const nestjs_1 = require("@mikro-orm/nestjs"); +const measure_entity_1 = require("./entities/measure.entity"); +const score_entity_1 = require("./entities/score.entity"); +let ScoresModule = class ScoresModule { +}; +ScoresModule = __decorate([ + (0, common_1.Module)({ + imports: [nestjs_1.MikroOrmModule.forFeature([score_entity_1.ScoreEntity, measure_entity_1.MeasureEntity])], + controllers: [scores_controller_1.ScoresController], + providers: [scores_service_1.ScoresService], + }) +], ScoresModule); +exports.ScoresModule = ScoresModule; +//# sourceMappingURL=scores.module.js.map \ No newline at end of file diff --git a/backend/cluster-server/dist/src/scores/scores.module.js.map b/backend/cluster-server/dist/src/scores/scores.module.js.map new file mode 100644 index 0000000000000000000000000000000000000000..9da556213f2d438be592c99c882a200a23596fb1 --- /dev/null +++ b/backend/cluster-server/dist/src/scores/scores.module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"scores.module.js","sourceRoot":"","sources":["../../../src/scores/scores.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,qDAAiD;AACjD,2DAAuD;AACvD,8CAAmD;AACnD,8DAA0D;AAC1D,0DAAsD;AAO/C,IAAM,YAAY,GAAlB,MAAM,YAAY;CAAG,CAAA;AAAf,YAAY;IALxB,IAAA,eAAM,EAAC;QACP,OAAO,EAAE,CAAC,uBAAc,CAAC,UAAU,CAAC,CAAC,0BAAW,EAAE,8BAAa,CAAC,CAAC,CAAC;QAClE,WAAW,EAAE,CAAC,oCAAgB,CAAC;QAC/B,SAAS,EAAE,CAAC,8BAAa,CAAC;KAC1B,CAAC;GACW,YAAY,CAAG;AAAf,oCAAY"} \ No newline at end of file diff --git a/backend/cluster-server/dist/src/scores/scores.service.d.ts b/backend/cluster-server/dist/src/scores/scores.service.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..ad0e1b96adf4cee90b5522d3d5fa1515e89910a2 --- /dev/null +++ b/backend/cluster-server/dist/src/scores/scores.service.d.ts @@ -0,0 +1,23 @@ +import { CreateMeasureDto } from './dto/create-measure.dto'; +import { MeasureEntity } from './entities/measure.entity'; +import { EntityRepository } from '@mikro-orm/sqlite'; +import { ScoreEntity } from './entities/score.entity'; +import { CreateScoreDto } from './dto/create-score.dto'; +export declare class ScoresService { + private readonly measureEntitySqlEntityRepository; + private readonly scoreEntitySqlEntityRepository; + constructor(measureEntitySqlEntityRepository: EntityRepository, scoreEntitySqlEntityRepository: EntityRepository); + upsertScore(createScoreDto: CreateScoreDto): Promise>; + upsertMeasure(createMeasureDto: CreateMeasureDto): Promise>; + allScore({ offset, limit }?: { + offset?: number; + limit?: number; + }): Promise<{ + data: import("@mikro-orm/core").Loaded[]; + total: number; + }>; + findOneScore(scoreId: string): Promise>; + findOneMeasure(scoreId: string, index: string): Promise>; + removeScore(scoreId: string): Promise; + removeMeasure(scoreId: string, index: string): Promise; +} diff --git a/backend/cluster-server/dist/src/scores/scores.service.js b/backend/cluster-server/dist/src/scores/scores.service.js new file mode 100644 index 0000000000000000000000000000000000000000..f9b1c5fc571b42f2e006cdac200e8254f7c90ce1 --- /dev/null +++ b/backend/cluster-server/dist/src/scores/scores.service.js @@ -0,0 +1,85 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ScoresService = void 0; +const common_1 = require("@nestjs/common"); +const measure_entity_1 = require("./entities/measure.entity"); +const sqlite_1 = require("@mikro-orm/sqlite"); +const nestjs_1 = require("@mikro-orm/nestjs"); +const score_entity_1 = require("./entities/score.entity"); +const core_1 = require("@mikro-orm/core"); +let ScoresService = class ScoresService { + constructor(measureEntitySqlEntityRepository, scoreEntitySqlEntityRepository) { + this.measureEntitySqlEntityRepository = measureEntitySqlEntityRepository; + this.scoreEntitySqlEntityRepository = scoreEntitySqlEntityRepository; + } + async upsertScore(createScoreDto) { + let score = await this.scoreEntitySqlEntityRepository.findOne({ id: createScoreDto.id }, { populate: true }); + if (!score) { + score = await this.scoreEntitySqlEntityRepository.create({ id: createScoreDto.id, name: createScoreDto.name }); + } + score.measures.removeAll(); + score.measures.add(...createScoreDto.measures.map((x) => this.measureEntitySqlEntityRepository.create(x))); + await this.scoreEntitySqlEntityRepository.persistAndFlush(score); + return score; + } + async upsertMeasure(createMeasureDto) { + let measure = await this.measureEntitySqlEntityRepository.findOne({ score: createMeasureDto.scoreId, index: createMeasureDto.index }); + if (!measure) { + let score = await this.scoreEntitySqlEntityRepository.findOne({ id: createMeasureDto.scoreId }); + if (!score) { + score = this.scoreEntitySqlEntityRepository.create({ id: createMeasureDto.scoreId }); + } + measure = this.measureEntitySqlEntityRepository.create({ score, index: createMeasureDto.index, cluster: createMeasureDto.cluster }); + score.measures.add(measure); + await this.scoreEntitySqlEntityRepository.persistAndFlush(score); + } + else { + measure.cluster = createMeasureDto.cluster; + await this.measureEntitySqlEntityRepository.persistAndFlush(measure); + } + return measure; + } + async allScore({ offset = 0, limit = 1000 } = {}) { + const [data, total] = await this.scoreEntitySqlEntityRepository.findAndCount({}, { + orderBy: { createdAt: core_1.QueryOrder.ASC }, + offset: +offset, + limit: +limit, + }); + return { data, total }; + } + async findOneScore(scoreId) { + return this.scoreEntitySqlEntityRepository.findOne({ id: scoreId }, { populate: true }); + } + async findOneMeasure(scoreId, index) { + return await this.measureEntitySqlEntityRepository.findOne({ score: { id: scoreId }, index }); + } + async removeScore(scoreId) { + await this.scoreEntitySqlEntityRepository.nativeDelete({ id: scoreId }); + return scoreId; + } + async removeMeasure(scoreId, index) { + await this.measureEntitySqlEntityRepository.nativeDelete({ score: { id: scoreId }, index }); + return index; + } +}; +ScoresService = __decorate([ + (0, common_1.Injectable)(), + __param(0, (0, nestjs_1.InjectRepository)(measure_entity_1.MeasureEntity)), + __param(1, (0, nestjs_1.InjectRepository)(score_entity_1.ScoreEntity)), + __metadata("design:paramtypes", [sqlite_1.EntityRepository, + sqlite_1.EntityRepository]) +], ScoresService); +exports.ScoresService = ScoresService; +//# sourceMappingURL=scores.service.js.map \ No newline at end of file diff --git a/backend/cluster-server/dist/src/scores/scores.service.js.map b/backend/cluster-server/dist/src/scores/scores.service.js.map new file mode 100644 index 0000000000000000000000000000000000000000..7fab87e0efd126c8792df724416500e1288a082f --- /dev/null +++ b/backend/cluster-server/dist/src/scores/scores.service.js.map @@ -0,0 +1 @@ +{"version":3,"file":"scores.service.js","sourceRoot":"","sources":["../../../src/scores/scores.service.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/cluster-server/dist/src/shared/interceptor/transform.interceptor.d.ts b/backend/cluster-server/dist/src/shared/interceptor/transform.interceptor.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..800061e53b0d66c55d375a5d6c2f4508cdcfb95e --- /dev/null +++ b/backend/cluster-server/dist/src/shared/interceptor/transform.interceptor.d.ts @@ -0,0 +1,9 @@ +import { CallHandler, ExecutionContext, NestInterceptor } from '@nestjs/common'; +import { Observable } from 'rxjs'; +interface Response { + data: T; +} +export declare class TransformInterceptor implements NestInterceptor> { + intercept(context: ExecutionContext, next: CallHandler): Observable; +} +export {}; diff --git a/backend/cluster-server/dist/src/shared/interceptor/transform.interceptor.js b/backend/cluster-server/dist/src/shared/interceptor/transform.interceptor.js new file mode 100644 index 0000000000000000000000000000000000000000..7b4e7eb63008e700c7d1ac2b453e92156cb27e94 --- /dev/null +++ b/backend/cluster-server/dist/src/shared/interceptor/transform.interceptor.js @@ -0,0 +1,29 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TransformInterceptor = void 0; +const common_1 = require("@nestjs/common"); +const operators_1 = require("rxjs/operators"); +let TransformInterceptor = class TransformInterceptor { + intercept(context, next) { + const request = context.switchToHttp().getRequest(); + common_1.Logger.log(request.url, 'æ­ĢåļļæŽĨåĢčŊ·æą‚'); + return next.handle().pipe((0, operators_1.map)((data) => { + return { + code: 0, + message: 'čŊ·æą‚成功', + data: data, + }; + })); + } +}; +TransformInterceptor = __decorate([ + (0, common_1.Injectable)() +], TransformInterceptor); +exports.TransformInterceptor = TransformInterceptor; +//# sourceMappingURL=transform.interceptor.js.map \ No newline at end of file diff --git a/backend/cluster-server/dist/src/shared/interceptor/transform.interceptor.js.map b/backend/cluster-server/dist/src/shared/interceptor/transform.interceptor.js.map new file mode 100644 index 0000000000000000000000000000000000000000..647a91de10fa7424d8fe7f21c48fc62534ccfd7e --- /dev/null +++ b/backend/cluster-server/dist/src/shared/interceptor/transform.interceptor.js.map @@ -0,0 +1 @@ +{"version":3,"file":"transform.interceptor.js","sourceRoot":"","sources":["../../../../src/shared/interceptor/transform.interceptor.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAoG;AAEpG,8CAAqC;AAQ9B,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAChC,SAAS,CAAC,OAAyB,EAAE,IAAoB;QACxD,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAW,CAAC;QAC7D,eAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAElC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CACxB,IAAA,eAAG,EAAC,CAAC,IAAI,EAAE,EAAE;YACZ,OAAO;gBACN,IAAI,EAAE,CAAC;gBACP,OAAO,EAAE,MAAM;gBACf,IAAI,EAAE,IAAI;aACV,CAAC;QACH,CAAC,CAAC,CACF,CAAC;IACH,CAAC;CACD,CAAA;AAfY,oBAAoB;IADhC,IAAA,mBAAU,GAAE;GACA,oBAAoB,CAehC;AAfY,oDAAoB"} \ No newline at end of file diff --git a/backend/cluster-server/dist/tsconfig.build.tsbuildinfo b/backend/cluster-server/dist/tsconfig.build.tsbuildinfo new file mode 100644 index 0000000000000000000000000000000000000000..42965d4e24003226d5c3dcb5e4da909995f4fba6 --- /dev/null +++ b/backend/cluster-server/dist/tsconfig.build.tsbuildinfo @@ -0,0 +1 @@ +{"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.dom.iterable.d.ts","../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../node_modules/typescript/lib/lib.scripthost.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2017.full.d.ts","../node_modules/@mikro-orm/core/naming-strategy/NamingStrategy.d.ts","../node_modules/@mikro-orm/core/naming-strategy/AbstractNamingStrategy.d.ts","../node_modules/@mikro-orm/core/naming-strategy/MongoNamingStrategy.d.ts","../node_modules/@mikro-orm/core/naming-strategy/UnderscoreNamingStrategy.d.ts","../node_modules/@mikro-orm/core/naming-strategy/EntityCaseNamingStrategy.d.ts","../node_modules/@mikro-orm/core/naming-strategy/index.d.ts","../node_modules/@mikro-orm/core/cache/CacheAdapter.d.ts","../node_modules/@mikro-orm/core/cache/NullCacheAdapter.d.ts","../node_modules/@mikro-orm/core/cache/FileCacheAdapter.d.ts","../node_modules/@mikro-orm/core/cache/MemoryCacheAdapter.d.ts","../node_modules/@mikro-orm/core/cache/index.d.ts","../node_modules/@types/node/compatibility/indexable.d.ts","../node_modules/@types/node/compatibility/iterators.d.ts","../node_modules/@types/node/compatibility/index.d.ts","../node_modules/@types/node/ts5.6/globals.typedarray.d.ts","../node_modules/@types/node/ts5.6/buffer.buffer.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/ts5.6/index.d.ts","../node_modules/@mikro-orm/core/entity/EntityIdentifier.d.ts","../node_modules/@mikro-orm/core/entity/EntityValidator.d.ts","../node_modules/@mikro-orm/core/entity/EntityAssigner.d.ts","../node_modules/@mikro-orm/core/entity/EntityHelper.d.ts","../node_modules/@mikro-orm/core/exceptions.d.ts","../node_modules/@mikro-orm/core/platforms/ExceptionConverter.d.ts","../node_modules/@mikro-orm/core/enums.d.ts","../node_modules/@mikro-orm/core/types/Type.d.ts","../node_modules/@mikro-orm/core/types/DateType.d.ts","../node_modules/@mikro-orm/core/types/TimeType.d.ts","../node_modules/@mikro-orm/core/types/DateTimeType.d.ts","../node_modules/@mikro-orm/core/types/BigIntType.d.ts","../node_modules/@mikro-orm/core/types/Uint8ArrayType.d.ts","../node_modules/@mikro-orm/core/types/BlobType.d.ts","../node_modules/@mikro-orm/core/types/ArrayType.d.ts","../node_modules/@mikro-orm/core/types/EnumArrayType.d.ts","../node_modules/@mikro-orm/core/types/EnumType.d.ts","../node_modules/@mikro-orm/core/types/JsonType.d.ts","../node_modules/@mikro-orm/core/types/IntegerType.d.ts","../node_modules/@mikro-orm/core/types/SmallIntType.d.ts","../node_modules/@mikro-orm/core/types/TinyIntType.d.ts","../node_modules/@mikro-orm/core/types/MediumIntType.d.ts","../node_modules/@mikro-orm/core/types/FloatType.d.ts","../node_modules/@mikro-orm/core/types/DoubleType.d.ts","../node_modules/@mikro-orm/core/types/BooleanType.d.ts","../node_modules/@mikro-orm/core/types/DecimalType.d.ts","../node_modules/@mikro-orm/core/types/StringType.d.ts","../node_modules/@mikro-orm/core/types/UuidType.d.ts","../node_modules/@mikro-orm/core/types/TextType.d.ts","../node_modules/@mikro-orm/core/types/UnknownType.d.ts","../node_modules/@mikro-orm/core/types/index.d.ts","../node_modules/@mikro-orm/core/decorators/Property.d.ts","../node_modules/@mikro-orm/core/decorators/PrimaryKey.d.ts","../node_modules/@mikro-orm/core/decorators/Entity.d.ts","../node_modules/@mikro-orm/core/decorators/OneToMany.d.ts","../node_modules/@mikro-orm/core/decorators/OneToOne.d.ts","../node_modules/@mikro-orm/core/decorators/ManyToOne.d.ts","../node_modules/@mikro-orm/core/decorators/ManyToMany.d.ts","../node_modules/@mikro-orm/core/decorators/Check.d.ts","../node_modules/@mikro-orm/core/decorators/Enum.d.ts","../node_modules/@mikro-orm/core/decorators/Formula.d.ts","../node_modules/@mikro-orm/core/decorators/Indexed.d.ts","../node_modules/@mikro-orm/core/decorators/Embeddable.d.ts","../node_modules/@mikro-orm/core/decorators/Embedded.d.ts","../node_modules/@mikro-orm/core/decorators/Filter.d.ts","../node_modules/@mikro-orm/core/unit-of-work/ChangeSet.d.ts","../node_modules/@mikro-orm/core/unit-of-work/ChangeSetComputer.d.ts","../node_modules/@mikro-orm/core/entity/Reference.d.ts","../node_modules/@mikro-orm/core/entity/ArrayCollection.d.ts","../node_modules/@mikro-orm/core/entity/Collection.d.ts","../node_modules/@mikro-orm/core/drivers/DatabaseDriver.d.ts","../node_modules/@mikro-orm/core/drivers/index.d.ts","../node_modules/@mikro-orm/core/unit-of-work/ChangeSetPersister.d.ts","../node_modules/@mikro-orm/core/unit-of-work/CommitOrderCalculator.d.ts","../node_modules/@mikro-orm/core/unit-of-work/IdentityMap.d.ts","../node_modules/@mikro-orm/core/unit-of-work/UnitOfWork.d.ts","../node_modules/@mikro-orm/core/unit-of-work/index.d.ts","../node_modules/@mikro-orm/core/events/EventSubscriber.d.ts","../node_modules/@mikro-orm/core/events/EventManager.d.ts","../node_modules/@mikro-orm/core/events/TransactionEventBroadcaster.d.ts","../node_modules/@mikro-orm/core/events/index.d.ts","../node_modules/@mikro-orm/core/decorators/Subscriber.d.ts","../node_modules/@mikro-orm/core/MikroORM.d.ts","../node_modules/@mikro-orm/core/decorators/UseRequestContext.d.ts","../node_modules/@mikro-orm/core/decorators/CreateRequestContext.d.ts","../node_modules/@mikro-orm/core/decorators/hooks.d.ts","../node_modules/@mikro-orm/core/decorators/index.d.ts","../node_modules/@mikro-orm/core/metadata/EntitySchema.d.ts","../node_modules/@mikro-orm/core/metadata/MetadataStorage.d.ts","../node_modules/@mikro-orm/core/metadata/MetadataDiscovery.d.ts","../node_modules/@mikro-orm/core/metadata/MetadataProvider.d.ts","../node_modules/@mikro-orm/core/metadata/MetadataValidator.d.ts","../node_modules/@mikro-orm/core/metadata/JavaScriptMetadataProvider.d.ts","../node_modules/@mikro-orm/core/node_modules/reflect-metadata/index.d.ts","../node_modules/@mikro-orm/core/metadata/ReflectMetadataProvider.d.ts","../node_modules/@mikro-orm/core/metadata/index.d.ts","../node_modules/@mikro-orm/core/drivers/IDatabaseDriver.d.ts","../node_modules/@mikro-orm/core/platforms/Platform.d.ts","../node_modules/@mikro-orm/core/platforms/index.d.ts","../node_modules/@mikro-orm/core/utils/EntityComparator.d.ts","../node_modules/@mikro-orm/core/entity/EntityFactory.d.ts","../node_modules/@mikro-orm/core/entity/EntityLoader.d.ts","../node_modules/@mikro-orm/core/entity/BaseEntity.d.ts","../node_modules/@mikro-orm/core/serialization/SerializationContext.d.ts","../node_modules/@mikro-orm/core/entity/WrappedEntity.d.ts","../node_modules/@mikro-orm/core/entity/wrap.d.ts","../node_modules/@mikro-orm/core/entity/index.d.ts","../node_modules/@mikro-orm/core/EntityManager.d.ts","../node_modules/@mikro-orm/core/entity/EntityRepository.d.ts","../node_modules/@mikro-orm/core/logging/colors.d.ts","../node_modules/@mikro-orm/core/logging/Logger.d.ts","../node_modules/@mikro-orm/core/logging/DefaultLogger.d.ts","../node_modules/@mikro-orm/core/logging/SimpleLogger.d.ts","../node_modules/@mikro-orm/core/logging/index.d.ts","../node_modules/@mikro-orm/core/utils/Configuration.d.ts","../node_modules/@mikro-orm/core/utils/ConfigurationLoader.d.ts","../node_modules/@nodelib/fs.stat/out/types/index.d.ts","../node_modules/@nodelib/fs.stat/out/adapters/fs.d.ts","../node_modules/@nodelib/fs.stat/out/settings.d.ts","../node_modules/@nodelib/fs.stat/out/providers/async.d.ts","../node_modules/@nodelib/fs.stat/out/index.d.ts","../node_modules/@nodelib/fs.scandir/out/types/index.d.ts","../node_modules/@nodelib/fs.scandir/out/adapters/fs.d.ts","../node_modules/@nodelib/fs.scandir/out/settings.d.ts","../node_modules/@nodelib/fs.scandir/out/providers/async.d.ts","../node_modules/@nodelib/fs.scandir/out/index.d.ts","../node_modules/@nodelib/fs.walk/out/types/index.d.ts","../node_modules/@nodelib/fs.walk/out/settings.d.ts","../node_modules/@nodelib/fs.walk/out/readers/reader.d.ts","../node_modules/@nodelib/fs.walk/out/readers/async.d.ts","../node_modules/@nodelib/fs.walk/out/providers/async.d.ts","../node_modules/@nodelib/fs.walk/out/index.d.ts","../node_modules/fast-glob/out/types/index.d.ts","../node_modules/fast-glob/out/settings.d.ts","../node_modules/fast-glob/out/managers/tasks.d.ts","../node_modules/fast-glob/out/index.d.ts","../node_modules/globby/index.d.ts","../node_modules/@mikro-orm/core/utils/Utils.d.ts","../node_modules/@mikro-orm/core/utils/RequestContext.d.ts","../node_modules/@mikro-orm/core/utils/TransactionContext.d.ts","../node_modules/@mikro-orm/core/utils/QueryHelper.d.ts","../node_modules/@mikro-orm/core/utils/NullHighlighter.d.ts","../node_modules/@mikro-orm/core/utils/AbstractSchemaGenerator.d.ts","../node_modules/@mikro-orm/core/utils/upsert-utils.d.ts","../node_modules/@mikro-orm/core/utils/index.d.ts","../node_modules/@mikro-orm/core/connections/Connection.d.ts","../node_modules/@mikro-orm/core/connections/index.d.ts","../node_modules/@mikro-orm/core/serialization/EntityTransformer.d.ts","../node_modules/@mikro-orm/core/serialization/EntitySerializer.d.ts","../node_modules/@mikro-orm/core/serialization/index.d.ts","../node_modules/@mikro-orm/core/typings.d.ts","../node_modules/@mikro-orm/core/errors.d.ts","../node_modules/@mikro-orm/core/hydration/Hydrator.d.ts","../node_modules/@mikro-orm/core/hydration/ObjectHydrator.d.ts","../node_modules/@mikro-orm/core/hydration/index.d.ts","../node_modules/@mikro-orm/core/index.d.ts","../node_modules/reflect-metadata/index.d.ts","../node_modules/@nestjs/common/cache/cache.constants.d.ts","../node_modules/@nestjs/common/interfaces/abstract.interface.d.ts","../node_modules/@nestjs/common/interfaces/controllers/controller-metadata.interface.d.ts","../node_modules/@nestjs/common/interfaces/controllers/controller.interface.d.ts","../node_modules/@nestjs/common/interfaces/features/arguments-host.interface.d.ts","../node_modules/@nestjs/common/interfaces/exceptions/exception-filter.interface.d.ts","../node_modules/rxjs/dist/types/internal/Subscription.d.ts","../node_modules/rxjs/dist/types/internal/Subscriber.d.ts","../node_modules/rxjs/dist/types/internal/Operator.d.ts","../node_modules/rxjs/dist/types/internal/Observable.d.ts","../node_modules/rxjs/dist/types/internal/types.d.ts","../node_modules/rxjs/dist/types/internal/operators/audit.d.ts","../node_modules/rxjs/dist/types/internal/operators/auditTime.d.ts","../node_modules/rxjs/dist/types/internal/operators/buffer.d.ts","../node_modules/rxjs/dist/types/internal/operators/bufferCount.d.ts","../node_modules/rxjs/dist/types/internal/operators/bufferTime.d.ts","../node_modules/rxjs/dist/types/internal/operators/bufferToggle.d.ts","../node_modules/rxjs/dist/types/internal/operators/bufferWhen.d.ts","../node_modules/rxjs/dist/types/internal/operators/catchError.d.ts","../node_modules/rxjs/dist/types/internal/operators/combineLatestAll.d.ts","../node_modules/rxjs/dist/types/internal/operators/combineAll.d.ts","../node_modules/rxjs/dist/types/internal/operators/combineLatest.d.ts","../node_modules/rxjs/dist/types/internal/operators/combineLatestWith.d.ts","../node_modules/rxjs/dist/types/internal/operators/concat.d.ts","../node_modules/rxjs/dist/types/internal/operators/concatAll.d.ts","../node_modules/rxjs/dist/types/internal/operators/concatMap.d.ts","../node_modules/rxjs/dist/types/internal/operators/concatMapTo.d.ts","../node_modules/rxjs/dist/types/internal/operators/concatWith.d.ts","../node_modules/rxjs/dist/types/internal/operators/connect.d.ts","../node_modules/rxjs/dist/types/internal/operators/count.d.ts","../node_modules/rxjs/dist/types/internal/operators/debounce.d.ts","../node_modules/rxjs/dist/types/internal/operators/debounceTime.d.ts","../node_modules/rxjs/dist/types/internal/operators/defaultIfEmpty.d.ts","../node_modules/rxjs/dist/types/internal/operators/delay.d.ts","../node_modules/rxjs/dist/types/internal/operators/delayWhen.d.ts","../node_modules/rxjs/dist/types/internal/operators/dematerialize.d.ts","../node_modules/rxjs/dist/types/internal/operators/distinct.d.ts","../node_modules/rxjs/dist/types/internal/operators/distinctUntilChanged.d.ts","../node_modules/rxjs/dist/types/internal/operators/distinctUntilKeyChanged.d.ts","../node_modules/rxjs/dist/types/internal/operators/elementAt.d.ts","../node_modules/rxjs/dist/types/internal/operators/endWith.d.ts","../node_modules/rxjs/dist/types/internal/operators/every.d.ts","../node_modules/rxjs/dist/types/internal/operators/exhaustAll.d.ts","../node_modules/rxjs/dist/types/internal/operators/exhaust.d.ts","../node_modules/rxjs/dist/types/internal/operators/exhaustMap.d.ts","../node_modules/rxjs/dist/types/internal/operators/expand.d.ts","../node_modules/rxjs/dist/types/internal/operators/filter.d.ts","../node_modules/rxjs/dist/types/internal/operators/finalize.d.ts","../node_modules/rxjs/dist/types/internal/operators/find.d.ts","../node_modules/rxjs/dist/types/internal/operators/findIndex.d.ts","../node_modules/rxjs/dist/types/internal/operators/first.d.ts","../node_modules/rxjs/dist/types/internal/Subject.d.ts","../node_modules/rxjs/dist/types/internal/operators/groupBy.d.ts","../node_modules/rxjs/dist/types/internal/operators/ignoreElements.d.ts","../node_modules/rxjs/dist/types/internal/operators/isEmpty.d.ts","../node_modules/rxjs/dist/types/internal/operators/last.d.ts","../node_modules/rxjs/dist/types/internal/operators/map.d.ts","../node_modules/rxjs/dist/types/internal/operators/mapTo.d.ts","../node_modules/rxjs/dist/types/internal/Notification.d.ts","../node_modules/rxjs/dist/types/internal/operators/materialize.d.ts","../node_modules/rxjs/dist/types/internal/operators/max.d.ts","../node_modules/rxjs/dist/types/internal/operators/merge.d.ts","../node_modules/rxjs/dist/types/internal/operators/mergeAll.d.ts","../node_modules/rxjs/dist/types/internal/operators/mergeMap.d.ts","../node_modules/rxjs/dist/types/internal/operators/flatMap.d.ts","../node_modules/rxjs/dist/types/internal/operators/mergeMapTo.d.ts","../node_modules/rxjs/dist/types/internal/operators/mergeScan.d.ts","../node_modules/rxjs/dist/types/internal/operators/mergeWith.d.ts","../node_modules/rxjs/dist/types/internal/operators/min.d.ts","../node_modules/rxjs/dist/types/internal/observable/ConnectableObservable.d.ts","../node_modules/rxjs/dist/types/internal/operators/multicast.d.ts","../node_modules/rxjs/dist/types/internal/operators/observeOn.d.ts","../node_modules/rxjs/dist/types/internal/operators/onErrorResumeNextWith.d.ts","../node_modules/rxjs/dist/types/internal/operators/pairwise.d.ts","../node_modules/rxjs/dist/types/internal/operators/partition.d.ts","../node_modules/rxjs/dist/types/internal/operators/pluck.d.ts","../node_modules/rxjs/dist/types/internal/operators/publish.d.ts","../node_modules/rxjs/dist/types/internal/operators/publishBehavior.d.ts","../node_modules/rxjs/dist/types/internal/operators/publishLast.d.ts","../node_modules/rxjs/dist/types/internal/operators/publishReplay.d.ts","../node_modules/rxjs/dist/types/internal/operators/race.d.ts","../node_modules/rxjs/dist/types/internal/operators/raceWith.d.ts","../node_modules/rxjs/dist/types/internal/operators/reduce.d.ts","../node_modules/rxjs/dist/types/internal/operators/repeat.d.ts","../node_modules/rxjs/dist/types/internal/operators/repeatWhen.d.ts","../node_modules/rxjs/dist/types/internal/operators/retry.d.ts","../node_modules/rxjs/dist/types/internal/operators/retryWhen.d.ts","../node_modules/rxjs/dist/types/internal/operators/refCount.d.ts","../node_modules/rxjs/dist/types/internal/operators/sample.d.ts","../node_modules/rxjs/dist/types/internal/operators/sampleTime.d.ts","../node_modules/rxjs/dist/types/internal/operators/scan.d.ts","../node_modules/rxjs/dist/types/internal/operators/sequenceEqual.d.ts","../node_modules/rxjs/dist/types/internal/operators/share.d.ts","../node_modules/rxjs/dist/types/internal/operators/shareReplay.d.ts","../node_modules/rxjs/dist/types/internal/operators/single.d.ts","../node_modules/rxjs/dist/types/internal/operators/skip.d.ts","../node_modules/rxjs/dist/types/internal/operators/skipLast.d.ts","../node_modules/rxjs/dist/types/internal/operators/skipUntil.d.ts","../node_modules/rxjs/dist/types/internal/operators/skipWhile.d.ts","../node_modules/rxjs/dist/types/internal/operators/startWith.d.ts","../node_modules/rxjs/dist/types/internal/operators/subscribeOn.d.ts","../node_modules/rxjs/dist/types/internal/operators/switchAll.d.ts","../node_modules/rxjs/dist/types/internal/operators/switchMap.d.ts","../node_modules/rxjs/dist/types/internal/operators/switchMapTo.d.ts","../node_modules/rxjs/dist/types/internal/operators/switchScan.d.ts","../node_modules/rxjs/dist/types/internal/operators/take.d.ts","../node_modules/rxjs/dist/types/internal/operators/takeLast.d.ts","../node_modules/rxjs/dist/types/internal/operators/takeUntil.d.ts","../node_modules/rxjs/dist/types/internal/operators/takeWhile.d.ts","../node_modules/rxjs/dist/types/internal/operators/tap.d.ts","../node_modules/rxjs/dist/types/internal/operators/throttle.d.ts","../node_modules/rxjs/dist/types/internal/operators/throttleTime.d.ts","../node_modules/rxjs/dist/types/internal/operators/throwIfEmpty.d.ts","../node_modules/rxjs/dist/types/internal/operators/timeInterval.d.ts","../node_modules/rxjs/dist/types/internal/operators/timeout.d.ts","../node_modules/rxjs/dist/types/internal/operators/timeoutWith.d.ts","../node_modules/rxjs/dist/types/internal/operators/timestamp.d.ts","../node_modules/rxjs/dist/types/internal/operators/toArray.d.ts","../node_modules/rxjs/dist/types/internal/operators/window.d.ts","../node_modules/rxjs/dist/types/internal/operators/windowCount.d.ts","../node_modules/rxjs/dist/types/internal/operators/windowTime.d.ts","../node_modules/rxjs/dist/types/internal/operators/windowToggle.d.ts","../node_modules/rxjs/dist/types/internal/operators/windowWhen.d.ts","../node_modules/rxjs/dist/types/internal/operators/withLatestFrom.d.ts","../node_modules/rxjs/dist/types/internal/operators/zip.d.ts","../node_modules/rxjs/dist/types/internal/operators/zipAll.d.ts","../node_modules/rxjs/dist/types/internal/operators/zipWith.d.ts","../node_modules/rxjs/dist/types/operators/index.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/Action.d.ts","../node_modules/rxjs/dist/types/internal/Scheduler.d.ts","../node_modules/rxjs/dist/types/internal/testing/TestMessage.d.ts","../node_modules/rxjs/dist/types/internal/testing/SubscriptionLog.d.ts","../node_modules/rxjs/dist/types/internal/testing/SubscriptionLoggable.d.ts","../node_modules/rxjs/dist/types/internal/testing/ColdObservable.d.ts","../node_modules/rxjs/dist/types/internal/testing/HotObservable.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/AsyncScheduler.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/timerHandle.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/AsyncAction.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/VirtualTimeScheduler.d.ts","../node_modules/rxjs/dist/types/internal/testing/TestScheduler.d.ts","../node_modules/rxjs/dist/types/testing/index.d.ts","../node_modules/rxjs/dist/types/internal/symbol/observable.d.ts","../node_modules/rxjs/dist/types/internal/observable/dom/animationFrames.d.ts","../node_modules/rxjs/dist/types/internal/BehaviorSubject.d.ts","../node_modules/rxjs/dist/types/internal/ReplaySubject.d.ts","../node_modules/rxjs/dist/types/internal/AsyncSubject.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/AsapScheduler.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/asap.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/async.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/QueueScheduler.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/queue.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/AnimationFrameScheduler.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/animationFrame.d.ts","../node_modules/rxjs/dist/types/internal/util/identity.d.ts","../node_modules/rxjs/dist/types/internal/util/pipe.d.ts","../node_modules/rxjs/dist/types/internal/util/noop.d.ts","../node_modules/rxjs/dist/types/internal/util/isObservable.d.ts","../node_modules/rxjs/dist/types/internal/lastValueFrom.d.ts","../node_modules/rxjs/dist/types/internal/firstValueFrom.d.ts","../node_modules/rxjs/dist/types/internal/util/ArgumentOutOfRangeError.d.ts","../node_modules/rxjs/dist/types/internal/util/EmptyError.d.ts","../node_modules/rxjs/dist/types/internal/util/NotFoundError.d.ts","../node_modules/rxjs/dist/types/internal/util/ObjectUnsubscribedError.d.ts","../node_modules/rxjs/dist/types/internal/util/SequenceError.d.ts","../node_modules/rxjs/dist/types/internal/util/UnsubscriptionError.d.ts","../node_modules/rxjs/dist/types/internal/observable/bindCallback.d.ts","../node_modules/rxjs/dist/types/internal/observable/bindNodeCallback.d.ts","../node_modules/rxjs/dist/types/internal/AnyCatcher.d.ts","../node_modules/rxjs/dist/types/internal/observable/combineLatest.d.ts","../node_modules/rxjs/dist/types/internal/observable/concat.d.ts","../node_modules/rxjs/dist/types/internal/observable/connectable.d.ts","../node_modules/rxjs/dist/types/internal/observable/defer.d.ts","../node_modules/rxjs/dist/types/internal/observable/empty.d.ts","../node_modules/rxjs/dist/types/internal/observable/forkJoin.d.ts","../node_modules/rxjs/dist/types/internal/observable/from.d.ts","../node_modules/rxjs/dist/types/internal/observable/fromEvent.d.ts","../node_modules/rxjs/dist/types/internal/observable/fromEventPattern.d.ts","../node_modules/rxjs/dist/types/internal/observable/generate.d.ts","../node_modules/rxjs/dist/types/internal/observable/iif.d.ts","../node_modules/rxjs/dist/types/internal/observable/interval.d.ts","../node_modules/rxjs/dist/types/internal/observable/merge.d.ts","../node_modules/rxjs/dist/types/internal/observable/never.d.ts","../node_modules/rxjs/dist/types/internal/observable/of.d.ts","../node_modules/rxjs/dist/types/internal/observable/onErrorResumeNext.d.ts","../node_modules/rxjs/dist/types/internal/observable/pairs.d.ts","../node_modules/rxjs/dist/types/internal/observable/partition.d.ts","../node_modules/rxjs/dist/types/internal/observable/race.d.ts","../node_modules/rxjs/dist/types/internal/observable/range.d.ts","../node_modules/rxjs/dist/types/internal/observable/throwError.d.ts","../node_modules/rxjs/dist/types/internal/observable/timer.d.ts","../node_modules/rxjs/dist/types/internal/observable/using.d.ts","../node_modules/rxjs/dist/types/internal/observable/zip.d.ts","../node_modules/rxjs/dist/types/internal/scheduled/scheduled.d.ts","../node_modules/rxjs/dist/types/internal/config.d.ts","../node_modules/rxjs/dist/types/index.d.ts","../node_modules/@nestjs/common/interfaces/exceptions/rpc-exception-filter.interface.d.ts","../node_modules/@nestjs/common/interfaces/exceptions/ws-exception-filter.interface.d.ts","../node_modules/@nestjs/common/interfaces/external/validation-error.interface.d.ts","../node_modules/@nestjs/common/interfaces/features/execution-context.interface.d.ts","../node_modules/@nestjs/common/interfaces/features/can-activate.interface.d.ts","../node_modules/@nestjs/common/interfaces/features/custom-route-param-factory.interface.d.ts","../node_modules/@nestjs/common/interfaces/features/nest-interceptor.interface.d.ts","../node_modules/@nestjs/common/interfaces/features/paramtype.interface.d.ts","../node_modules/@nestjs/common/interfaces/type.interface.d.ts","../node_modules/@nestjs/common/interfaces/features/pipe-transform.interface.d.ts","../node_modules/@nestjs/common/enums/request-method.enum.d.ts","../node_modules/@nestjs/common/enums/http-status.enum.d.ts","../node_modules/@nestjs/common/enums/shutdown-signal.enum.d.ts","../node_modules/@nestjs/common/enums/version-type.enum.d.ts","../node_modules/@nestjs/common/enums/index.d.ts","../node_modules/@nestjs/common/interfaces/middleware/middleware-configuration.interface.d.ts","../node_modules/@nestjs/common/interfaces/middleware/middleware-consumer.interface.d.ts","../node_modules/@nestjs/common/interfaces/middleware/middleware-config-proxy.interface.d.ts","../node_modules/@nestjs/common/interfaces/middleware/nest-middleware.interface.d.ts","../node_modules/@nestjs/common/interfaces/middleware/index.d.ts","../node_modules/@nestjs/common/interfaces/global-prefix-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/hooks/before-application-shutdown.interface.d.ts","../node_modules/@nestjs/common/interfaces/hooks/on-application-bootstrap.interface.d.ts","../node_modules/@nestjs/common/interfaces/hooks/on-application-shutdown.interface.d.ts","../node_modules/@nestjs/common/interfaces/hooks/on-destroy.interface.d.ts","../node_modules/@nestjs/common/interfaces/hooks/on-init.interface.d.ts","../node_modules/@nestjs/common/interfaces/hooks/index.d.ts","../node_modules/@nestjs/common/interfaces/external/cors-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/external/https-options.interface.d.ts","../node_modules/@nestjs/common/services/logger.service.d.ts","../node_modules/@nestjs/common/interfaces/nest-application-context-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/nest-application-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/version-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/http/http-server.interface.d.ts","../node_modules/@nestjs/common/interfaces/http/message-event.interface.d.ts","../node_modules/@nestjs/common/interfaces/http/index.d.ts","../node_modules/@nestjs/common/interfaces/injectable.interface.d.ts","../node_modules/@nestjs/common/interfaces/microservices/nest-hybrid-application-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/forward-reference.interface.d.ts","../node_modules/@nestjs/common/interfaces/scope-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/injection-token.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/optional-factory-dependency.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/provider.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/module-metadata.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/dynamic-module.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/introspection-result.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/nest-module.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/index.d.ts","../node_modules/@nestjs/common/interfaces/nest-application-context.interface.d.ts","../node_modules/@nestjs/common/interfaces/websockets/web-socket-adapter.interface.d.ts","../node_modules/@nestjs/common/interfaces/nest-application.interface.d.ts","../node_modules/@nestjs/common/interfaces/nest-microservice.interface.d.ts","../node_modules/@nestjs/common/interfaces/index.d.ts","../node_modules/@nestjs/common/cache/interfaces/cache-manager.interface.d.ts","../node_modules/@nestjs/common/cache/interfaces/cache-module.interface.d.ts","../node_modules/@nestjs/common/cache/cache.module.d.ts","../node_modules/@nestjs/common/decorators/core/bind.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/catch.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/controller.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/dependencies.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/exception-filters.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/inject.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/injectable.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/optional.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/set-metadata.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/use-guards.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/use-interceptors.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/use-pipes.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/apply-decorators.d.ts","../node_modules/@nestjs/common/decorators/core/version.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/index.d.ts","../node_modules/@nestjs/common/decorators/modules/global.decorator.d.ts","../node_modules/@nestjs/common/decorators/modules/module.decorator.d.ts","../node_modules/@nestjs/common/decorators/modules/index.d.ts","../node_modules/@nestjs/common/decorators/http/request-mapping.decorator.d.ts","../node_modules/@nestjs/common/decorators/http/route-params.decorator.d.ts","../node_modules/@nestjs/common/decorators/http/http-code.decorator.d.ts","../node_modules/@nestjs/common/decorators/http/create-route-param-metadata.decorator.d.ts","../node_modules/@nestjs/common/decorators/http/render.decorator.d.ts","../node_modules/@nestjs/common/decorators/http/header.decorator.d.ts","../node_modules/@nestjs/common/decorators/http/redirect.decorator.d.ts","../node_modules/@nestjs/common/decorators/http/sse.decorator.d.ts","../node_modules/@nestjs/common/decorators/http/index.d.ts","../node_modules/@nestjs/common/decorators/index.d.ts","../node_modules/@nestjs/common/cache/decorators/cache-key.decorator.d.ts","../node_modules/@nestjs/common/cache/decorators/cache-ttl.decorator.d.ts","../node_modules/@nestjs/common/cache/decorators/index.d.ts","../node_modules/@nestjs/common/cache/interceptors/cache.interceptor.d.ts","../node_modules/@nestjs/common/cache/interceptors/index.d.ts","../node_modules/@nestjs/common/cache/interfaces/index.d.ts","../node_modules/@nestjs/common/cache/index.d.ts","../node_modules/@nestjs/common/exceptions/http.exception.d.ts","../node_modules/@nestjs/common/exceptions/bad-request.exception.d.ts","../node_modules/@nestjs/common/exceptions/unauthorized.exception.d.ts","../node_modules/@nestjs/common/exceptions/method-not-allowed.exception.d.ts","../node_modules/@nestjs/common/exceptions/not-found.exception.d.ts","../node_modules/@nestjs/common/exceptions/forbidden.exception.d.ts","../node_modules/@nestjs/common/exceptions/not-acceptable.exception.d.ts","../node_modules/@nestjs/common/exceptions/request-timeout.exception.d.ts","../node_modules/@nestjs/common/exceptions/conflict.exception.d.ts","../node_modules/@nestjs/common/exceptions/gone.exception.d.ts","../node_modules/@nestjs/common/exceptions/payload-too-large.exception.d.ts","../node_modules/@nestjs/common/exceptions/unsupported-media-type.exception.d.ts","../node_modules/@nestjs/common/exceptions/unprocessable-entity.exception.d.ts","../node_modules/@nestjs/common/exceptions/internal-server-error.exception.d.ts","../node_modules/@nestjs/common/exceptions/not-implemented.exception.d.ts","../node_modules/@nestjs/common/exceptions/http-version-not-supported.exception.d.ts","../node_modules/@nestjs/common/exceptions/bad-gateway.exception.d.ts","../node_modules/@nestjs/common/exceptions/service-unavailable.exception.d.ts","../node_modules/@nestjs/common/exceptions/gateway-timeout.exception.d.ts","../node_modules/@nestjs/common/exceptions/im-a-teapot.exception.d.ts","../node_modules/@nestjs/common/exceptions/precondition-failed.exception.d.ts","../node_modules/@nestjs/common/exceptions/misdirected.exception.d.ts","../node_modules/@nestjs/common/exceptions/index.d.ts","../node_modules/@nestjs/common/file-stream/streamable-options.interface.d.ts","../node_modules/@nestjs/common/file-stream/streamable-file.d.ts","../node_modules/@nestjs/common/file-stream/index.d.ts","../node_modules/axios/index.d.ts","../node_modules/@nestjs/common/http/interfaces/http-module.interface.d.ts","../node_modules/@nestjs/common/http/interfaces/raw-body-request.interface.d.ts","../node_modules/@nestjs/common/http/interfaces/index.d.ts","../node_modules/@nestjs/common/http/http.module.d.ts","../node_modules/@nestjs/common/http/http.service.d.ts","../node_modules/@nestjs/common/http/index.d.ts","../node_modules/@nestjs/common/pipes/default-value.pipe.d.ts","../node_modules/@nestjs/common/interfaces/external/class-transform-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/external/transformer-package.interface.d.ts","../node_modules/@nestjs/common/interfaces/external/validator-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/external/validator-package.interface.d.ts","../node_modules/@nestjs/common/utils/http-error-by-code.util.d.ts","../node_modules/@nestjs/common/pipes/validation.pipe.d.ts","../node_modules/@nestjs/common/pipes/parse-array.pipe.d.ts","../node_modules/@nestjs/common/pipes/parse-bool.pipe.d.ts","../node_modules/@nestjs/common/pipes/parse-int.pipe.d.ts","../node_modules/@nestjs/common/pipes/parse-float.pipe.d.ts","../node_modules/@nestjs/common/pipes/parse-enum.pipe.d.ts","../node_modules/@nestjs/common/pipes/parse-uuid.pipe.d.ts","../node_modules/@nestjs/common/pipes/index.d.ts","../node_modules/@nestjs/common/serializer/class-serializer.interceptor.d.ts","../node_modules/@nestjs/common/serializer/decorators/serialize-options.decorator.d.ts","../node_modules/@nestjs/common/serializer/decorators/index.d.ts","../node_modules/@nestjs/common/serializer/index.d.ts","../node_modules/@nestjs/common/services/console-logger.service.d.ts","../node_modules/@nestjs/common/services/index.d.ts","../node_modules/@nestjs/common/utils/forward-ref.util.d.ts","../node_modules/@nestjs/common/utils/index.d.ts","../node_modules/@nestjs/common/index.d.ts","../node_modules/@nestjs/core/adapters/http-adapter.d.ts","../node_modules/@nestjs/core/adapters/index.d.ts","../node_modules/@nestjs/core/injector/module-token-factory.d.ts","../node_modules/@nestjs/core/injector/compiler.d.ts","../node_modules/@nestjs/core/injector/modules-container.d.ts","../node_modules/@nestjs/core/injector/container.d.ts","../node_modules/@nestjs/core/injector/module-ref.d.ts","../node_modules/@nestjs/core/injector/module.d.ts","../node_modules/@nestjs/core/injector/instance-wrapper.d.ts","../node_modules/@nestjs/core/router/interfaces/exclude-route-metadata.interface.d.ts","../node_modules/@nestjs/core/application-config.d.ts","../node_modules/@nestjs/core/constants.d.ts","../node_modules/@nestjs/core/discovery/discovery-module.d.ts","../node_modules/@nestjs/core/discovery/discovery-service.d.ts","../node_modules/@nestjs/core/discovery/index.d.ts","../node_modules/@nestjs/core/helpers/http-adapter-host.d.ts","../node_modules/@nestjs/core/exceptions/base-exception-filter.d.ts","../node_modules/@nestjs/core/exceptions/index.d.ts","../node_modules/@nestjs/core/helpers/context-id-factory.d.ts","../node_modules/@nestjs/core/helpers/index.d.ts","../node_modules/@nestjs/core/injector/inquirer/inquirer-constants.d.ts","../node_modules/@nestjs/core/injector/inquirer/index.d.ts","../node_modules/@nestjs/core/metadata-scanner.d.ts","../node_modules/@nestjs/core/scanner.d.ts","../node_modules/@nestjs/core/injector/injector.d.ts","../node_modules/@nestjs/core/injector/instance-loader.d.ts","../node_modules/@nestjs/core/injector/lazy-module-loader.d.ts","../node_modules/@nestjs/core/injector/index.d.ts","../node_modules/@nestjs/core/middleware/routes-mapper.d.ts","../node_modules/@nestjs/core/middleware/builder.d.ts","../node_modules/@nestjs/core/middleware/index.d.ts","../node_modules/@nestjs/core/nest-application-context.d.ts","../node_modules/@nestjs/core/nest-application.d.ts","../node_modules/@nestjs/common/interfaces/microservices/nest-microservice-options.interface.d.ts","../node_modules/@nestjs/core/nest-factory.d.ts","../node_modules/@nestjs/core/router/interfaces/routes.interface.d.ts","../node_modules/@nestjs/core/router/interfaces/index.d.ts","../node_modules/@nestjs/core/router/request/request-constants.d.ts","../node_modules/@nestjs/core/router/request/index.d.ts","../node_modules/@nestjs/core/router/router-module.d.ts","../node_modules/@nestjs/core/router/index.d.ts","../node_modules/@nestjs/core/services/reflector.service.d.ts","../node_modules/@nestjs/core/services/index.d.ts","../node_modules/@nestjs/core/index.d.ts","../node_modules/@mikro-orm/nestjs/typings.d.ts","../node_modules/@mikro-orm/nestjs/mikro-orm.module.d.ts","../node_modules/@mikro-orm/nestjs/mikro-orm.common.d.ts","../node_modules/@mikro-orm/nestjs/mikro-orm.middleware.d.ts","../node_modules/@mikro-orm/nestjs/multiple-mikro-orm.middleware.d.ts","../node_modules/@mikro-orm/nestjs/index.d.ts","../node_modules/@mikro-orm/sql-highlighter/Tokenizer.d.ts","../node_modules/ansi-colors/types/index.d.ts","../node_modules/@mikro-orm/sql-highlighter/enums.d.ts","../node_modules/@mikro-orm/sql-highlighter/SqlHighlighter.d.ts","../node_modules/@mikro-orm/sql-highlighter/index.d.ts","../node_modules/@ts-morph/common/lib/typescript.d.ts","../node_modules/@ts-morph/common/lib/ts-morph-common.d.ts","../node_modules/ts-morph/lib/ts-morph.d.ts","../node_modules/@mikro-orm/reflection/TsMorphMetadataProvider.d.ts","../node_modules/@mikro-orm/reflection/index.d.ts","../mikro-orm.config.ts","../src/app.service.ts","../src/app.controller.ts","../src/scores/dto/create-measure.dto.ts","../node_modules/@nestjs/swagger/dist/decorators/api-basic.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-bearer.decorator.d.ts","../node_modules/@nestjs/swagger/dist/interfaces/open-api-spec.interface.d.ts","../node_modules/@nestjs/swagger/dist/types/swagger-enum.type.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-body.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-consumes.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-cookie.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-exclude-endpoint.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-exclude-controller.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-extra-models.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-header.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-hide-property.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-oauth2.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-operation.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-param.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-produces.decorator.d.ts","../node_modules/@nestjs/swagger/dist/interfaces/schema-object-metadata.interface.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-property.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-query.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-response.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-security.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-use-tags.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-extension.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/index.d.ts","../node_modules/@nestjs/swagger/dist/interfaces/swagger-custom-options.interface.d.ts","../node_modules/@nestjs/swagger/dist/interfaces/swagger-document-options.interface.d.ts","../node_modules/@nestjs/swagger/dist/interfaces/index.d.ts","../node_modules/@nestjs/swagger/dist/document-builder.d.ts","../node_modules/@nestjs/swagger/dist/swagger-module.d.ts","../node_modules/@nestjs/swagger/dist/type-helpers/intersection-type.helper.d.ts","../node_modules/@nestjs/swagger/dist/type-helpers/omit-type.helper.d.ts","../node_modules/@nestjs/swagger/dist/type-helpers/partial-type.helper.d.ts","../node_modules/@nestjs/swagger/dist/type-helpers/pick-type.helper.d.ts","../node_modules/@nestjs/swagger/dist/type-helpers/index.d.ts","../node_modules/@nestjs/swagger/dist/utils/get-schema-path.util.d.ts","../node_modules/@nestjs/swagger/dist/utils/index.d.ts","../node_modules/@nestjs/swagger/dist/index.d.ts","../node_modules/@nestjs/swagger/index.d.ts","../src/scores/entities/score.entity.ts","../src/scores/entities/measure.entity.ts","../node_modules/tarn/dist/PromiseInspection.d.ts","../node_modules/tarn/dist/utils.d.ts","../node_modules/tarn/dist/PendingOperation.d.ts","../node_modules/tarn/dist/Resource.d.ts","../node_modules/tarn/dist/Pool.d.ts","../node_modules/tarn/dist/TimeoutError.d.ts","../node_modules/tarn/dist/tarn.d.ts","../node_modules/knex/types/result.d.ts","../node_modules/knex/types/tables.d.ts","../node_modules/knex/types/index.d.ts","../node_modules/@mikro-orm/knex/query/enums.d.ts","../node_modules/@mikro-orm/knex/typings.d.ts","../node_modules/@mikro-orm/knex/schema/SchemaHelper.d.ts","../node_modules/@mikro-orm/knex/schema/DatabaseTable.d.ts","../node_modules/@mikro-orm/knex/schema/DatabaseSchema.d.ts","../node_modules/@mikro-orm/knex/query/QueryBuilderHelper.d.ts","../node_modules/@mikro-orm/knex/SqlEntityRepository.d.ts","../node_modules/@mikro-orm/knex/SqlEntityManager.d.ts","../node_modules/@mikro-orm/knex/query/QueryBuilder.d.ts","../node_modules/@mikro-orm/knex/query/CriteriaNode.d.ts","../node_modules/@mikro-orm/knex/query/ArrayCriteriaNode.d.ts","../node_modules/@mikro-orm/knex/query/ObjectCriteriaNode.d.ts","../node_modules/@mikro-orm/knex/query/ScalarCriteriaNode.d.ts","../node_modules/@mikro-orm/knex/query/CriteriaNodeFactory.d.ts","../node_modules/@mikro-orm/knex/query/index.d.ts","../node_modules/@mikro-orm/knex/AbstractSqlDriver.d.ts","../node_modules/@mikro-orm/knex/schema/SchemaGenerator.d.ts","../node_modules/@mikro-orm/knex/schema/SchemaComparator.d.ts","../node_modules/@mikro-orm/knex/schema/index.d.ts","../node_modules/@mikro-orm/knex/AbstractSqlPlatform.d.ts","../node_modules/@mikro-orm/knex/AbstractSqlConnection.d.ts","../node_modules/@mikro-orm/knex/MonkeyPatchable.d.ts","../node_modules/@mikro-orm/knex/index.d.ts","../node_modules/@mikro-orm/sqlite/SqliteConnection.d.ts","../node_modules/@mikro-orm/sqlite/SqliteDriver.d.ts","../node_modules/@mikro-orm/sqlite/SqliteSchemaHelper.d.ts","../node_modules/@mikro-orm/sqlite/SqliteExceptionConverter.d.ts","../node_modules/@mikro-orm/sqlite/SqlitePlatform.d.ts","../node_modules/@mikro-orm/sqlite/SqliteMikroORM.d.ts","../node_modules/@mikro-orm/sqlite/index.d.ts","../src/scores/dto/create-score.dto.ts","../src/scores/scores.service.ts","../src/scores/dto/pagination.ts","../src/scores/scores.controller.ts","../src/scores/scores.module.ts","../node_modules/@types/send/index.d.ts","../node_modules/@types/qs/index.d.ts","../node_modules/@types/range-parser/index.d.ts","../node_modules/@types/express-serve-static-core/index.d.ts","../node_modules/@types/http-errors/index.d.ts","../node_modules/@types/mime/index.d.ts","../node_modules/@types/serve-static/node_modules/@types/send/index.d.ts","../node_modules/@types/serve-static/index.d.ts","../node_modules/@types/connect/index.d.ts","../node_modules/@types/body-parser/index.d.ts","../node_modules/@types/express/index.d.ts","../src/shared/interceptor/transform.interceptor.ts","../src/filters/http-exception.filter.ts","../src/app.module.ts","../src/main.ts","../node_modules/@types/argparse/index.d.ts","../node_modules/@rushstack/ts-command-line/dist/ts-command-line.d.ts","../node_modules/umzug/lib/cli.d.ts","../node_modules/umzug/node_modules/emittery/index.d.ts","../node_modules/pony-cause/lib/error-with-cause.d.ts","../node_modules/pony-cause/lib/helpers.d.ts","../node_modules/pony-cause/index.d.ts","../node_modules/umzug/lib/storage/contract.d.ts","../node_modules/umzug/lib/storage/json.d.ts","../node_modules/umzug/lib/storage/memory.d.ts","../node_modules/umzug/lib/storage/mongodb.d.ts","../node_modules/umzug/node_modules/type-fest/source/primitive.d.ts","../node_modules/umzug/node_modules/type-fest/source/typed-array.d.ts","../node_modules/umzug/node_modules/type-fest/source/basic.d.ts","../node_modules/umzug/node_modules/type-fest/source/observable-like.d.ts","../node_modules/umzug/node_modules/type-fest/source/empty-object.d.ts","../node_modules/umzug/node_modules/type-fest/source/is-equal.d.ts","../node_modules/umzug/node_modules/type-fest/source/except.d.ts","../node_modules/umzug/node_modules/type-fest/source/tagged-union.d.ts","../node_modules/umzug/node_modules/type-fest/source/simplify.d.ts","../node_modules/umzug/node_modules/type-fest/source/writable.d.ts","../node_modules/umzug/node_modules/type-fest/source/trim.d.ts","../node_modules/umzug/node_modules/type-fest/source/is-any.d.ts","../node_modules/umzug/node_modules/type-fest/source/internal.d.ts","../node_modules/umzug/node_modules/type-fest/source/writable-deep.d.ts","../node_modules/umzug/node_modules/type-fest/source/omit-index-signature.d.ts","../node_modules/umzug/node_modules/type-fest/source/pick-index-signature.d.ts","../node_modules/umzug/node_modules/type-fest/source/enforce-optional.d.ts","../node_modules/umzug/node_modules/type-fest/source/merge.d.ts","../node_modules/umzug/node_modules/type-fest/source/conditional-simplify.d.ts","../node_modules/umzug/node_modules/type-fest/source/merge-deep.d.ts","../node_modules/umzug/node_modules/type-fest/source/merge-exclusive.d.ts","../node_modules/umzug/node_modules/type-fest/source/require-at-least-one.d.ts","../node_modules/umzug/node_modules/type-fest/source/require-exactly-one.d.ts","../node_modules/umzug/node_modules/type-fest/source/require-all-or-none.d.ts","../node_modules/umzug/node_modules/type-fest/source/partial-deep.d.ts","../node_modules/umzug/node_modules/type-fest/source/required-deep.d.ts","../node_modules/umzug/node_modules/type-fest/source/partial-on-undefined-deep.d.ts","../node_modules/umzug/node_modules/type-fest/source/readonly-deep.d.ts","../node_modules/umzug/node_modules/type-fest/source/literal-union.d.ts","../node_modules/umzug/node_modules/type-fest/source/promisable.d.ts","../node_modules/umzug/node_modules/type-fest/source/opaque.d.ts","../node_modules/umzug/node_modules/type-fest/source/invariant-of.d.ts","../node_modules/umzug/node_modules/type-fest/source/set-optional.d.ts","../node_modules/umzug/node_modules/type-fest/source/set-readonly.d.ts","../node_modules/umzug/node_modules/type-fest/source/set-required.d.ts","../node_modules/umzug/node_modules/type-fest/source/set-non-nullable.d.ts","../node_modules/umzug/node_modules/type-fest/source/value-of.d.ts","../node_modules/umzug/node_modules/type-fest/source/async-return-type.d.ts","../node_modules/umzug/node_modules/type-fest/source/conditional-keys.d.ts","../node_modules/umzug/node_modules/type-fest/source/conditional-except.d.ts","../node_modules/umzug/node_modules/type-fest/source/conditional-pick.d.ts","../node_modules/umzug/node_modules/type-fest/source/conditional-pick-deep.d.ts","../node_modules/umzug/node_modules/type-fest/source/union-to-intersection.d.ts","../node_modules/umzug/node_modules/type-fest/source/stringified.d.ts","../node_modules/umzug/node_modules/type-fest/source/fixed-length-array.d.ts","../node_modules/umzug/node_modules/type-fest/source/multidimensional-array.d.ts","../node_modules/umzug/node_modules/type-fest/source/multidimensional-readonly-array.d.ts","../node_modules/umzug/node_modules/type-fest/source/iterable-element.d.ts","../node_modules/umzug/node_modules/type-fest/source/entry.d.ts","../node_modules/umzug/node_modules/type-fest/source/entries.d.ts","../node_modules/umzug/node_modules/type-fest/source/is-unknown.d.ts","../node_modules/umzug/node_modules/type-fest/source/set-return-type.d.ts","../node_modules/umzug/node_modules/type-fest/source/asyncify.d.ts","../node_modules/umzug/node_modules/type-fest/source/numeric.d.ts","../node_modules/umzug/node_modules/type-fest/source/jsonify.d.ts","../node_modules/umzug/node_modules/type-fest/source/jsonifiable.d.ts","../node_modules/umzug/node_modules/type-fest/source/schema.d.ts","../node_modules/umzug/node_modules/type-fest/source/literal-to-primitive.d.ts","../node_modules/umzug/node_modules/type-fest/source/literal-to-primitive-deep.d.ts","../node_modules/umzug/node_modules/type-fest/source/string-key-of.d.ts","../node_modules/umzug/node_modules/type-fest/source/exact.d.ts","../node_modules/umzug/node_modules/type-fest/source/readonly-tuple.d.ts","../node_modules/umzug/node_modules/type-fest/source/optional-keys-of.d.ts","../node_modules/umzug/node_modules/type-fest/source/override-properties.d.ts","../node_modules/umzug/node_modules/type-fest/source/has-optional-keys.d.ts","../node_modules/umzug/node_modules/type-fest/source/required-keys-of.d.ts","../node_modules/umzug/node_modules/type-fest/source/has-required-keys.d.ts","../node_modules/umzug/node_modules/type-fest/source/readonly-keys-of.d.ts","../node_modules/umzug/node_modules/type-fest/source/has-readonly-keys.d.ts","../node_modules/umzug/node_modules/type-fest/source/writable-keys-of.d.ts","../node_modules/umzug/node_modules/type-fest/source/has-writable-keys.d.ts","../node_modules/umzug/node_modules/type-fest/source/spread.d.ts","../node_modules/umzug/node_modules/type-fest/source/tuple-to-union.d.ts","../node_modules/umzug/node_modules/type-fest/source/is-never.d.ts","../node_modules/umzug/node_modules/type-fest/source/is-literal.d.ts","../node_modules/umzug/node_modules/type-fest/source/if-any.d.ts","../node_modules/umzug/node_modules/type-fest/source/if-never.d.ts","../node_modules/umzug/node_modules/type-fest/source/if-unknown.d.ts","../node_modules/umzug/node_modules/type-fest/source/split-words.d.ts","../node_modules/umzug/node_modules/type-fest/source/camel-case.d.ts","../node_modules/umzug/node_modules/type-fest/source/camel-cased-properties.d.ts","../node_modules/umzug/node_modules/type-fest/source/camel-cased-properties-deep.d.ts","../node_modules/umzug/node_modules/type-fest/source/delimiter-case.d.ts","../node_modules/umzug/node_modules/type-fest/source/kebab-case.d.ts","../node_modules/umzug/node_modules/type-fest/source/delimiter-cased-properties.d.ts","../node_modules/umzug/node_modules/type-fest/source/kebab-cased-properties.d.ts","../node_modules/umzug/node_modules/type-fest/source/delimiter-cased-properties-deep.d.ts","../node_modules/umzug/node_modules/type-fest/source/kebab-cased-properties-deep.d.ts","../node_modules/umzug/node_modules/type-fest/source/pascal-case.d.ts","../node_modules/umzug/node_modules/type-fest/source/pascal-cased-properties.d.ts","../node_modules/umzug/node_modules/type-fest/source/pascal-cased-properties-deep.d.ts","../node_modules/umzug/node_modules/type-fest/source/snake-case.d.ts","../node_modules/umzug/node_modules/type-fest/source/snake-cased-properties.d.ts","../node_modules/umzug/node_modules/type-fest/source/snake-cased-properties-deep.d.ts","../node_modules/umzug/node_modules/type-fest/source/includes.d.ts","../node_modules/umzug/node_modules/type-fest/source/screaming-snake-case.d.ts","../node_modules/umzug/node_modules/type-fest/source/join.d.ts","../node_modules/umzug/node_modules/type-fest/source/split.d.ts","../node_modules/umzug/node_modules/type-fest/source/replace.d.ts","../node_modules/umzug/node_modules/type-fest/source/get.d.ts","../node_modules/umzug/node_modules/type-fest/source/last-array-element.d.ts","../node_modules/umzug/node_modules/type-fest/source/global-this.d.ts","../node_modules/umzug/node_modules/type-fest/source/package-json.d.ts","../node_modules/umzug/node_modules/type-fest/source/tsconfig-json.d.ts","../node_modules/umzug/node_modules/type-fest/index.d.ts","../node_modules/umzug/lib/storage/sequelize.d.ts","../node_modules/umzug/lib/storage/index.d.ts","../node_modules/umzug/lib/types.d.ts","../node_modules/umzug/lib/umzug.d.ts","../node_modules/umzug/lib/file-locker.d.ts","../node_modules/umzug/lib/index.d.ts","../node_modules/@mikro-orm/migrations/Migration.d.ts","../node_modules/@mikro-orm/migrations/typings.d.ts","../node_modules/@mikro-orm/migrations/MigrationStorage.d.ts","../node_modules/@mikro-orm/migrations/Migrator.d.ts","../node_modules/@mikro-orm/migrations/MigrationRunner.d.ts","../node_modules/@mikro-orm/migrations/MigrationGenerator.d.ts","../node_modules/@mikro-orm/migrations/JSMigrationGenerator.d.ts","../node_modules/@mikro-orm/migrations/TSMigrationGenerator.d.ts","../node_modules/@mikro-orm/migrations/index.d.ts","../src/migrations/Migration20220316063840.ts","../node_modules/@babel/types/lib/index.d.ts","../node_modules/@types/babel__generator/index.d.ts","../node_modules/@babel/parser/typings/babel-parser.d.ts","../node_modules/@types/babel__template/index.d.ts","../node_modules/@types/babel__traverse/index.d.ts","../node_modules/@types/babel__core/index.d.ts","../node_modules/@types/cookiejar/index.d.ts","../node_modules/@types/estree/index.d.ts","../node_modules/@types/json-schema/index.d.ts","../node_modules/@types/eslint/use-at-your-own-risk.d.ts","../node_modules/@types/eslint/index.d.ts","../node_modules/@types/eslint-scope/index.d.ts","../node_modules/@types/graceful-fs/index.d.ts","../node_modules/@types/istanbul-lib-coverage/index.d.ts","../node_modules/@types/istanbul-lib-report/index.d.ts","../node_modules/@types/istanbul-reports/index.d.ts","../node_modules/jest-diff/build/cleanupSemantic.d.ts","../node_modules/pretty-format/build/types.d.ts","../node_modules/pretty-format/build/index.d.ts","../node_modules/jest-diff/build/types.d.ts","../node_modules/jest-diff/build/diffLines.d.ts","../node_modules/jest-diff/build/printDiffs.d.ts","../node_modules/jest-diff/build/index.d.ts","../node_modules/@types/jest/index.d.ts","../node_modules/@types/json5/index.d.ts","../node_modules/@types/methods/index.d.ts","../node_modules/@types/parse-json/index.d.ts","../node_modules/@types/prettier/index.d.ts","../node_modules/@types/semver/functions/inc.d.ts","../node_modules/@types/semver/classes/semver.d.ts","../node_modules/@types/semver/functions/parse.d.ts","../node_modules/@types/semver/functions/valid.d.ts","../node_modules/@types/semver/functions/clean.d.ts","../node_modules/@types/semver/functions/diff.d.ts","../node_modules/@types/semver/functions/major.d.ts","../node_modules/@types/semver/functions/minor.d.ts","../node_modules/@types/semver/functions/patch.d.ts","../node_modules/@types/semver/functions/prerelease.d.ts","../node_modules/@types/semver/functions/compare.d.ts","../node_modules/@types/semver/functions/rcompare.d.ts","../node_modules/@types/semver/functions/compare-loose.d.ts","../node_modules/@types/semver/functions/compare-build.d.ts","../node_modules/@types/semver/functions/sort.d.ts","../node_modules/@types/semver/functions/rsort.d.ts","../node_modules/@types/semver/functions/gt.d.ts","../node_modules/@types/semver/functions/lt.d.ts","../node_modules/@types/semver/functions/eq.d.ts","../node_modules/@types/semver/functions/neq.d.ts","../node_modules/@types/semver/functions/gte.d.ts","../node_modules/@types/semver/functions/lte.d.ts","../node_modules/@types/semver/functions/cmp.d.ts","../node_modules/@types/semver/functions/coerce.d.ts","../node_modules/@types/semver/classes/comparator.d.ts","../node_modules/@types/semver/classes/range.d.ts","../node_modules/@types/semver/functions/satisfies.d.ts","../node_modules/@types/semver/ranges/max-satisfying.d.ts","../node_modules/@types/semver/ranges/min-satisfying.d.ts","../node_modules/@types/semver/ranges/to-comparators.d.ts","../node_modules/@types/semver/ranges/min-version.d.ts","../node_modules/@types/semver/ranges/valid.d.ts","../node_modules/@types/semver/ranges/outside.d.ts","../node_modules/@types/semver/ranges/gtr.d.ts","../node_modules/@types/semver/ranges/ltr.d.ts","../node_modules/@types/semver/ranges/intersects.d.ts","../node_modules/@types/semver/ranges/simplify.d.ts","../node_modules/@types/semver/ranges/subset.d.ts","../node_modules/@types/semver/internals/identifiers.d.ts","../node_modules/@types/semver/index.d.ts","../node_modules/@types/stack-utils/index.d.ts","../node_modules/@types/superagent/lib/agent-base.d.ts","../node_modules/@types/superagent/lib/node/response.d.ts","../node_modules/@types/superagent/types.d.ts","../node_modules/@types/superagent/lib/node/agent.d.ts","../node_modules/buffer/index.d.ts","../node_modules/@types/superagent/lib/request-base.d.ts","../node_modules/form-data/index.d.ts","../node_modules/@types/superagent/lib/node/http2wrapper.d.ts","../node_modules/@types/superagent/lib/node/index.d.ts","../node_modules/@types/superagent/index.d.ts","../node_modules/@types/supertest/index.d.ts","../node_modules/@types/yargs-parser/index.d.ts","../node_modules/@types/yargs/index.d.ts","../../../node_modules/@types/ace/index.d.ts","../../../node_modules/@types/color-name/index.d.ts","../../../node_modules/@types/color-convert/conversions.d.ts","../../../node_modules/@types/color-convert/route.d.ts","../../../node_modules/@types/color-convert/index.d.ts","../../../node_modules/@types/color/index.d.ts","../../../node_modules/@types/dom4/index.d.ts","../../../node_modules/@types/downloadjs/index.d.ts","../../../node_modules/@types/hapi__joi/index.d.ts","../../../node_modules/@types/react/ts5.0/global.d.ts","../../../node_modules/csstype/index.d.ts","../../../node_modules/@types/prop-types/index.d.ts","../../../node_modules/@types/react/ts5.0/index.d.ts","../../../node_modules/@types/hoist-non-react-statics/index.d.ts","../../../node_modules/@types/html-minifier-terser/index.d.ts","../../../node_modules/@types/invariant/index.d.ts","../../../node_modules/@types/js-cookie/index.d.ts","../../../node_modules/ajv/lib/ajv.d.ts","../../../node_modules/@types/jsoneditor/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/offscreencanvas/index.d.ts","../../../node_modules/@types/react-beautiful-dnd/index.d.ts","../../../node_modules/@types/react-dom/index.d.ts","../../../node_modules/@types/react-image-crop/index.d.ts","../../../node_modules/@types/react-pdf/node_modules/pdfjs-dist/types/src/display/base_factory.d.ts","../../../node_modules/@types/react-pdf/node_modules/pdfjs-dist/types/src/display/display_utils.d.ts","../../../node_modules/@types/react-pdf/node_modules/pdfjs-dist/types/src/display/optional_content_config.d.ts","../../../node_modules/@types/react-pdf/node_modules/pdfjs-dist/types/src/display/annotation_storage.d.ts","../../../node_modules/@types/react-pdf/node_modules/pdfjs-dist/types/src/shared/util.d.ts","../../../node_modules/@types/react-pdf/node_modules/pdfjs-dist/types/src/display/metadata.d.ts","../../../node_modules/@types/react-pdf/node_modules/pdfjs-dist/types/src/shared/message_handler.d.ts","../../../node_modules/@types/react-pdf/node_modules/pdfjs-dist/types/src/display/api.d.ts","../../../node_modules/@types/react-pdf/dist/Document.d.ts","../../../node_modules/@types/react-pdf/node_modules/pdfjs-dist/types/src/display/editor/tools.d.ts","../../../node_modules/@types/react-pdf/node_modules/pdfjs-dist/types/src/display/editor/editor.d.ts","../../../node_modules/@types/react-pdf/node_modules/pdfjs-dist/types/src/display/editor/annotation_editor_layer.d.ts","../../../node_modules/@types/react-pdf/node_modules/pdfjs-dist/types/web/annotation_layer_builder.d.ts","../../../node_modules/@types/react-pdf/node_modules/pdfjs-dist/types/web/text_accessibility.d.ts","../../../node_modules/@types/react-pdf/node_modules/pdfjs-dist/types/web/annotation_editor_layer_builder.d.ts","../../../node_modules/@types/react-pdf/node_modules/pdfjs-dist/types/web/event_utils.d.ts","../../../node_modules/@types/react-pdf/node_modules/pdfjs-dist/types/web/pdf_find_controller.d.ts","../../../node_modules/@types/react-pdf/node_modules/pdfjs-dist/types/web/text_highlighter.d.ts","../../../node_modules/@types/react-pdf/node_modules/pdfjs-dist/types/web/text_layer_builder.d.ts","../../../node_modules/@types/react-pdf/node_modules/pdfjs-dist/types/web/xfa_layer_builder.d.ts","../../../node_modules/@types/react-pdf/node_modules/pdfjs-dist/types/web/interfaces.d.ts","../../../node_modules/@types/react-pdf/node_modules/pdfjs-dist/types/src/display/annotation_layer.d.ts","../../../node_modules/@types/react-pdf/node_modules/pdfjs-dist/types/src/display/worker_options.d.ts","../../../node_modules/@types/react-pdf/node_modules/pdfjs-dist/types/src/display/text_layer.d.ts","../../../node_modules/@types/react-pdf/node_modules/pdfjs-dist/types/src/display/svg.d.ts","../../../node_modules/@types/react-pdf/node_modules/pdfjs-dist/types/src/display/xfa_layer.d.ts","../../../node_modules/@types/react-pdf/node_modules/pdfjs-dist/types/src/pdf.d.ts","../../../node_modules/@types/react-pdf/dist/Outline.d.ts","../../../node_modules/@types/react-pdf/dist/Page.d.ts","../../../node_modules/@types/react-pdf/dist/pdfjs-dist.d.ts","../../../node_modules/@types/react-pdf/index.d.ts","../../../node_modules/redux/index.d.ts","../../../node_modules/@types/react-redux/index.d.ts","../../../node_modules/@types/resolve/index.d.ts","../../../node_modules/@types/spark-md5/index.d.ts","../../../node_modules/@types/stylis/index.d.ts","../../../node_modules/@types/three/src/constants.d.ts","../../../node_modules/@types/three/src/Three.Legacy.d.ts","../../../node_modules/@types/three/src/math/Quaternion.d.ts","../../../node_modules/@types/three/src/math/Euler.d.ts","../../../node_modules/@types/three/src/core/Layers.d.ts","../../../node_modules/@types/three/src/scenes/Fog.d.ts","../../../node_modules/@types/three/src/math/Vector2.d.ts","../../../node_modules/@types/three/src/math/Triangle.d.ts","../../../node_modules/@types/three/src/math/Box3.d.ts","../../../node_modules/@types/three/src/math/Sphere.d.ts","../../../node_modules/@types/three/src/math/Line3.d.ts","../../../node_modules/@types/three/src/math/Plane.d.ts","../../../node_modules/@types/three/src/core/EventDispatcher.d.ts","../../../node_modules/@types/three/src/renderers/shaders/UniformsLib.d.ts","../../../node_modules/@types/three/src/renderers/shaders/ShaderLib.d.ts","../../../node_modules/@types/three/src/textures/Texture.d.ts","../../../node_modules/@types/three/src/materials/Material.d.ts","../../../node_modules/@types/three/src/scenes/Scene.d.ts","../../../node_modules/@types/three/src/renderers/webgl/WebGLCapabilities.d.ts","../../../node_modules/@types/three/src/renderers/webgl/WebGLExtensions.d.ts","../../../node_modules/@types/three/src/renderers/webgl/WebGLShader.d.ts","../../../node_modules/@types/three/src/math/Vector4.d.ts","../../../node_modules/@types/three/src/renderers/webgl/WebGLState.d.ts","../../../node_modules/@types/three/src/renderers/webgl/WebGLProperties.d.ts","../../../node_modules/@types/three/src/renderers/webgl/WebGLUtils.d.ts","../../../node_modules/@types/three/src/renderers/webgl/WebGLTextures.d.ts","../../../node_modules/@types/three/src/renderers/webgl/WebGLUniforms.d.ts","../../../node_modules/@types/three/src/renderers/webgl/WebGLProgram.d.ts","../../../node_modules/@types/three/src/renderers/webgl/WebGLInfo.d.ts","../../../node_modules/@types/three/src/renderers/webgl/WebGLObjects.d.ts","../../../node_modules/@types/three/src/objects/Group.d.ts","../../../node_modules/@types/three/src/core/InterleavedBuffer.d.ts","../../../node_modules/@types/three/src/core/InterleavedBufferAttribute.d.ts","../../../node_modules/@types/three/src/core/BufferGeometry.d.ts","../../../node_modules/@types/three/src/renderers/webgl/WebGLRenderLists.d.ts","../../../node_modules/@types/three/src/lights/LightShadow.d.ts","../../../node_modules/@types/three/src/lights/Light.d.ts","../../../node_modules/@types/three/src/renderers/webgl/WebGLShadowMap.d.ts","../../../node_modules/@types/three/src/textures/DepthTexture.d.ts","../../../node_modules/@types/three/src/renderers/WebGLRenderTarget.d.ts","../../../node_modules/@types/three/src/renderers/webxr/WebXR.d.ts","../../../node_modules/@types/three/src/renderers/webxr/WebXRManager.d.ts","../../../node_modules/@types/three/src/textures/DataTexture3D.d.ts","../../../node_modules/@types/three/src/textures/DataTexture2DArray.d.ts","../../../node_modules/@types/three/src/renderers/WebGLRenderer.d.ts","../../../node_modules/@types/three/src/math/Ray.d.ts","../../../node_modules/@types/three/src/core/Raycaster.d.ts","../../../node_modules/@types/three/src/math/Interpolant.d.ts","../../../node_modules/@types/three/src/math/interpolants/DiscreteInterpolant.d.ts","../../../node_modules/@types/three/src/math/interpolants/LinearInterpolant.d.ts","../../../node_modules/@types/three/src/math/interpolants/CubicInterpolant.d.ts","../../../node_modules/@types/three/src/animation/KeyframeTrack.d.ts","../../../node_modules/@types/three/src/objects/Bone.d.ts","../../../node_modules/@types/three/src/animation/AnimationClip.d.ts","../../../node_modules/@types/three/src/core/Object3D.d.ts","../../../node_modules/@types/three/src/cameras/Camera.d.ts","../../../node_modules/@types/three/src/math/Spherical.d.ts","../../../node_modules/@types/three/src/math/Cylindrical.d.ts","../../../node_modules/@types/three/src/math/Vector3.d.ts","../../../node_modules/@types/three/src/math/Matrix4.d.ts","../../../node_modules/@types/three/src/math/Matrix3.d.ts","../../../node_modules/@types/three/src/core/BufferAttribute.d.ts","../../../node_modules/@types/three/src/math/Color.d.ts","../../../node_modules/@types/three/src/utils.d.ts","../../../node_modules/@types/three/src/animation/tracks/VectorKeyframeTrack.d.ts","../../../node_modules/@types/three/src/animation/tracks/StringKeyframeTrack.d.ts","../../../node_modules/@types/three/src/animation/tracks/QuaternionKeyframeTrack.d.ts","../../../node_modules/@types/three/src/animation/tracks/NumberKeyframeTrack.d.ts","../../../node_modules/@types/three/src/animation/tracks/ColorKeyframeTrack.d.ts","../../../node_modules/@types/three/src/animation/tracks/BooleanKeyframeTrack.d.ts","../../../node_modules/@types/three/src/animation/PropertyMixer.d.ts","../../../node_modules/@types/three/src/animation/PropertyBinding.d.ts","../../../node_modules/@types/three/src/animation/AnimationUtils.d.ts","../../../node_modules/@types/three/src/animation/AnimationObjectGroup.d.ts","../../../node_modules/@types/three/src/animation/AnimationAction.d.ts","../../../node_modules/@types/three/src/animation/AnimationMixer.d.ts","../../../node_modules/@types/three/src/audio/AudioContext.d.ts","../../../node_modules/@types/three/src/audio/AudioListener.d.ts","../../../node_modules/@types/three/src/audio/Audio.d.ts","../../../node_modules/@types/three/src/audio/PositionalAudio.d.ts","../../../node_modules/@types/three/src/audio/AudioAnalyser.d.ts","../../../node_modules/@types/three/src/cameras/PerspectiveCamera.d.ts","../../../node_modules/@types/three/src/cameras/StereoCamera.d.ts","../../../node_modules/@types/three/src/cameras/OrthographicCamera.d.ts","../../../node_modules/@types/three/src/textures/CubeTexture.d.ts","../../../node_modules/@types/three/src/renderers/WebGLCubeRenderTarget.d.ts","../../../node_modules/@types/three/src/cameras/CubeCamera.d.ts","../../../node_modules/@types/three/src/cameras/ArrayCamera.d.ts","../../../node_modules/@types/three/src/core/Uniform.d.ts","../../../node_modules/@types/three/src/core/InstancedBufferGeometry.d.ts","../../../node_modules/@types/three/src/core/InstancedInterleavedBuffer.d.ts","../../../node_modules/@types/three/src/core/InstancedBufferAttribute.d.ts","../../../node_modules/@types/three/src/core/GLBufferAttribute.d.ts","../../../node_modules/@types/three/src/core/Clock.d.ts","../../../node_modules/@types/three/src/extras/objects/ImmediateRenderObject.d.ts","../../../node_modules/@types/three/src/extras/core/Curve.d.ts","../../../node_modules/@types/three/src/extras/curves/EllipseCurve.d.ts","../../../node_modules/@types/three/src/extras/curves/ArcCurve.d.ts","../../../node_modules/@types/three/src/extras/curves/CatmullRomCurve3.d.ts","../../../node_modules/@types/three/src/extras/curves/CubicBezierCurve.d.ts","../../../node_modules/@types/three/src/extras/curves/CubicBezierCurve3.d.ts","../../../node_modules/@types/three/src/extras/curves/LineCurve.d.ts","../../../node_modules/@types/three/src/extras/curves/LineCurve3.d.ts","../../../node_modules/@types/three/src/extras/curves/QuadraticBezierCurve.d.ts","../../../node_modules/@types/three/src/extras/curves/QuadraticBezierCurve3.d.ts","../../../node_modules/@types/three/src/extras/curves/SplineCurve.d.ts","../../../node_modules/@types/three/src/extras/curves/Curves.d.ts","../../../node_modules/@types/three/src/extras/core/CurvePath.d.ts","../../../node_modules/@types/three/src/extras/core/Path.d.ts","../../../node_modules/@types/three/src/extras/core/Shape.d.ts","../../../node_modules/@types/three/src/extras/core/ShapePath.d.ts","../../../node_modules/@types/three/src/extras/core/Font.d.ts","../../../node_modules/@types/three/src/extras/DataUtils.d.ts","../../../node_modules/@types/three/src/extras/ImageUtils.d.ts","../../../node_modules/@types/three/src/extras/ShapeUtils.d.ts","../../../node_modules/@types/three/src/extras/PMREMGenerator.d.ts","../../../node_modules/@types/three/src/geometries/BoxGeometry.d.ts","../../../node_modules/@types/three/src/geometries/CircleGeometry.d.ts","../../../node_modules/@types/three/src/geometries/CylinderGeometry.d.ts","../../../node_modules/@types/three/src/geometries/ConeGeometry.d.ts","../../../node_modules/@types/three/src/geometries/PolyhedronGeometry.d.ts","../../../node_modules/@types/three/src/geometries/DodecahedronGeometry.d.ts","../../../node_modules/@types/three/src/geometries/EdgesGeometry.d.ts","../../../node_modules/@types/three/src/geometries/ExtrudeGeometry.d.ts","../../../node_modules/@types/three/src/geometries/IcosahedronGeometry.d.ts","../../../node_modules/@types/three/src/geometries/LatheGeometry.d.ts","../../../node_modules/@types/three/src/geometries/OctahedronGeometry.d.ts","../../../node_modules/@types/three/src/geometries/ParametricGeometry.d.ts","../../../node_modules/@types/three/src/geometries/PlaneGeometry.d.ts","../../../node_modules/@types/three/src/geometries/RingGeometry.d.ts","../../../node_modules/@types/three/src/geometries/ShapeGeometry.d.ts","../../../node_modules/@types/three/src/geometries/SphereGeometry.d.ts","../../../node_modules/@types/three/src/geometries/TetrahedronGeometry.d.ts","../../../node_modules/@types/three/src/geometries/TextGeometry.d.ts","../../../node_modules/@types/three/src/geometries/TorusGeometry.d.ts","../../../node_modules/@types/three/src/geometries/TorusKnotGeometry.d.ts","../../../node_modules/@types/three/src/geometries/TubeGeometry.d.ts","../../../node_modules/@types/three/src/geometries/WireframeGeometry.d.ts","../../../node_modules/@types/three/src/geometries/Geometries.d.ts","../../../node_modules/@types/three/src/objects/Line.d.ts","../../../node_modules/@types/three/src/objects/LineSegments.d.ts","../../../node_modules/@types/three/src/helpers/SpotLightHelper.d.ts","../../../node_modules/@types/three/src/helpers/SkeletonHelper.d.ts","../../../node_modules/@types/three/src/lights/PointLightShadow.d.ts","../../../node_modules/@types/three/src/lights/PointLight.d.ts","../../../node_modules/@types/three/src/helpers/PointLightHelper.d.ts","../../../node_modules/@types/three/src/lights/HemisphereLight.d.ts","../../../node_modules/@types/three/src/materials/MeshBasicMaterial.d.ts","../../../node_modules/@types/three/src/helpers/HemisphereLightHelper.d.ts","../../../node_modules/@types/three/src/helpers/GridHelper.d.ts","../../../node_modules/@types/three/src/helpers/PolarGridHelper.d.ts","../../../node_modules/@types/three/src/lights/DirectionalLightShadow.d.ts","../../../node_modules/@types/three/src/lights/DirectionalLight.d.ts","../../../node_modules/@types/three/src/helpers/DirectionalLightHelper.d.ts","../../../node_modules/@types/three/src/helpers/CameraHelper.d.ts","../../../node_modules/@types/three/src/helpers/BoxHelper.d.ts","../../../node_modules/@types/three/src/helpers/Box3Helper.d.ts","../../../node_modules/@types/three/src/helpers/PlaneHelper.d.ts","../../../node_modules/@types/three/src/objects/Mesh.d.ts","../../../node_modules/@types/three/src/helpers/ArrowHelper.d.ts","../../../node_modules/@types/three/src/helpers/AxesHelper.d.ts","../../../node_modules/@types/three/src/lights/SpotLightShadow.d.ts","../../../node_modules/@types/three/src/lights/SpotLight.d.ts","../../../node_modules/@types/three/src/lights/RectAreaLight.d.ts","../../../node_modules/@types/three/src/lights/AmbientLight.d.ts","../../../node_modules/@types/three/src/math/SphericalHarmonics3.d.ts","../../../node_modules/@types/three/src/lights/LightProbe.d.ts","../../../node_modules/@types/three/src/lights/AmbientLightProbe.d.ts","../../../node_modules/@types/three/src/lights/HemisphereLightProbe.d.ts","../../../node_modules/@types/three/src/loaders/Loader.d.ts","../../../node_modules/@types/three/src/loaders/LoadingManager.d.ts","../../../node_modules/@types/three/src/loaders/AnimationLoader.d.ts","../../../node_modules/@types/three/src/textures/CompressedTexture.d.ts","../../../node_modules/@types/three/src/loaders/CompressedTextureLoader.d.ts","../../../node_modules/@types/three/src/textures/DataTexture.d.ts","../../../node_modules/@types/three/src/loaders/DataTextureLoader.d.ts","../../../node_modules/@types/three/src/loaders/CubeTextureLoader.d.ts","../../../node_modules/@types/three/src/loaders/TextureLoader.d.ts","../../../node_modules/@types/three/src/loaders/ObjectLoader.d.ts","../../../node_modules/@types/three/src/loaders/MaterialLoader.d.ts","../../../node_modules/@types/three/src/loaders/BufferGeometryLoader.d.ts","../../../node_modules/@types/three/src/loaders/ImageLoader.d.ts","../../../node_modules/@types/three/src/loaders/ImageBitmapLoader.d.ts","../../../node_modules/@types/three/src/loaders/FontLoader.d.ts","../../../node_modules/@types/three/src/loaders/FileLoader.d.ts","../../../node_modules/@types/three/src/loaders/LoaderUtils.d.ts","../../../node_modules/@types/three/src/loaders/Cache.d.ts","../../../node_modules/@types/three/src/loaders/AudioLoader.d.ts","../../../node_modules/@types/three/src/materials/ShadowMaterial.d.ts","../../../node_modules/@types/three/src/materials/SpriteMaterial.d.ts","../../../node_modules/@types/three/src/materials/ShaderMaterial.d.ts","../../../node_modules/@types/three/src/materials/RawShaderMaterial.d.ts","../../../node_modules/@types/three/src/materials/PointsMaterial.d.ts","../../../node_modules/@types/three/src/materials/MeshStandardMaterial.d.ts","../../../node_modules/@types/three/src/materials/MeshPhysicalMaterial.d.ts","../../../node_modules/@types/three/src/materials/MeshPhongMaterial.d.ts","../../../node_modules/@types/three/src/materials/MeshToonMaterial.d.ts","../../../node_modules/@types/three/src/materials/MeshNormalMaterial.d.ts","../../../node_modules/@types/three/src/materials/MeshLambertMaterial.d.ts","../../../node_modules/@types/three/src/materials/MeshDepthMaterial.d.ts","../../../node_modules/@types/three/src/materials/MeshDistanceMaterial.d.ts","../../../node_modules/@types/three/src/materials/MeshMatcapMaterial.d.ts","../../../node_modules/@types/three/src/materials/LineBasicMaterial.d.ts","../../../node_modules/@types/three/src/materials/LineDashedMaterial.d.ts","../../../node_modules/@types/three/src/materials/Materials.d.ts","../../../node_modules/@types/three/src/math/interpolants/QuaternionLinearInterpolant.d.ts","../../../node_modules/@types/three/src/objects/Sprite.d.ts","../../../node_modules/@types/three/src/math/Frustum.d.ts","../../../node_modules/@types/three/src/math/Box2.d.ts","../../../node_modules/@types/three/src/math/MathUtils.d.ts","../../../node_modules/@types/three/src/objects/LOD.d.ts","../../../node_modules/@types/three/src/objects/InstancedMesh.d.ts","../../../node_modules/@types/three/src/objects/Skeleton.d.ts","../../../node_modules/@types/three/src/objects/SkinnedMesh.d.ts","../../../node_modules/@types/three/src/objects/LineLoop.d.ts","../../../node_modules/@types/three/src/objects/Points.d.ts","../../../node_modules/@types/three/src/renderers/WebGLMultisampleRenderTarget.d.ts","../../../node_modules/@types/three/src/renderers/WebGLMultipleRenderTargets.d.ts","../../../node_modules/@types/three/src/renderers/WebGL1Renderer.d.ts","../../../node_modules/@types/three/src/renderers/shaders/UniformsUtils.d.ts","../../../node_modules/@types/three/src/renderers/shaders/ShaderChunk.d.ts","../../../node_modules/@types/three/src/renderers/webgl/WebGLBufferRenderer.d.ts","../../../node_modules/@types/three/src/renderers/webgl/WebGLClipping.d.ts","../../../node_modules/@types/three/src/renderers/webgl/WebGLCubeUVMaps.d.ts","../../../node_modules/@types/three/src/renderers/webgl/WebGLAttributes.d.ts","../../../node_modules/@types/three/src/renderers/webgl/WebGLGeometries.d.ts","../../../node_modules/@types/three/src/renderers/webgl/WebGLIndexedBufferRenderer.d.ts","../../../node_modules/@types/three/src/renderers/webgl/WebGLLights.d.ts","../../../node_modules/@types/three/src/renderers/webgl/WebGLCubeMaps.d.ts","../../../node_modules/@types/three/src/renderers/webgl/WebGLBindingStates.d.ts","../../../node_modules/@types/three/src/renderers/webgl/WebGLPrograms.d.ts","../../../node_modules/@types/three/src/renderers/webxr/WebXRController.d.ts","../../../node_modules/@types/three/src/scenes/FogExp2.d.ts","../../../node_modules/@types/three/src/textures/VideoTexture.d.ts","../../../node_modules/@types/three/src/textures/CanvasTexture.d.ts","../../../node_modules/@types/three/src/Three.d.ts","../../../node_modules/@types/three/index.d.ts","../../../node_modules/@types/use-sync-external-store/index.d.ts","../../../node_modules/@types/workerpool/index.d.ts","../../../node_modules/@types/xmldom/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"3aafcb693fe5b5c3bd277bd4c3a617b53db474fe498fc5df067c5603b1eebde7","affectsGlobalScope":true},{"version":"f3d4da15233e593eacb3965cde7960f3fddf5878528d882bcedd5cbaba0193c7","affectsGlobalScope":true},{"version":"7fac8cb5fc820bc2a59ae11ef1c5b38d3832c6d0dfaec5acdb5569137d09a481","affectsGlobalScope":true},{"version":"097a57355ded99c68e6df1b738990448e0bf170e606707df5a7c0481ff2427cd","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},"d2f31f19e1ba6ed59be9259d660a239d9a3fcbbc8e038c6b2009bde34b175fed","91f234f3341d1bd687aea2e25de03a8e6267770d2f4669e3dccc78275bb34760","c8cae60655bda122e8d9508e399020685fc34b17c94758b15580db1b9685bdba","e4f1c2a34e1cc1584f1913b995c1bbd91659c520f9fdb46d7528a0ca17ad430e","6e2c1b15722a5b10663e9b852dd406398c509b9c3dd5a95b7e25e9bd76fb41db","76413eccfefcd2d0225c2650d305674cff4f0a1c214b3abe743b720fd5ba01cf","2ea65f27b385babe21b96371d6bcff1c4f72b94e3a75afcd229ffad5d474e340","3d453f4fa5042c507e31b45d4b7d545b869d0e45fad32529068fa93ee1c64158","37f5b734154dcf35a46dfbda49bf9e1d6830be62dc7a2c6734473e23126cadf8","68d4b9357e8709a3711d0e748f5de8b5d7557a2bd6bee01900311681a7fa3e4f","9a437866f41be1b35d10752d502829f0858a49402c95034ad9729a24dae1a23b","5ac0414d15fa38f0f583bcc8151c4e8b210af077a76e03014054554b896c9b8c",{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true},"2e864ea827318e5f490863a8cd412744d9ddb175acf488dd02a941703dad1e38",{"version":"613b21ccdf3be6329d56e6caa13b258c842edf8377be7bc9f014ed14cdcfc308","affectsGlobalScope":true},{"version":"894dae169f8193e3f07c3fec14149a60592d1f13720907ffdf7b0c05cfb62c38","affectsGlobalScope":true},{"version":"df01885cc27c14632a8c38bdeb053295e69209107bb6c53988b78db5f450cb3c","affectsGlobalScope":true},"38379fa748cc5d259c96da356a849bd290a159ae218e06ec1daa166850e4bf50","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","f51b4042a3ac86f1f707500a9768f88d0b0c1fc3f3e45a73333283dea720cdc6",{"version":"a29bc8aa8cc100d0c09370c03508f1245853efe017bb98699d4c690868371fc7","affectsGlobalScope":true},"6f95830ca11e2c7e82235b73dc149e68a0632b41e671724d12adc83a6750746d","7aa011cda7cf0b9e87c85d128b2eeac9930bda215b0fee265d8bf2cec039fb5f",{"version":"92ec1aeca4e94bdab04083daa6039f807c0fce8f09bc42e8b24bf49fa5cdbbff","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","8463ab6a156dc96200b3d8b8a52dc8d878f13a6b7404439aa2f911d568132808","5289750c112b5dd0e29dfa9089ddbf5d3ed1b544d99731093881e6967f5af4d1","7693b90b3075deaccafd5efb467bf9f2b747a3075be888652ef73e64396d8628","bd01a987f0fcf2344a405e542ee681e420651eaff1222a5a6e0c02fda52343bc","693e50962e90a3548f41bff2c22676e3964212a836022d82e49eca0b20320a38",{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true},"300b0c12998391154d7b9115a85554e91632a3d3e1b66038e98f2b9cb3c1061d",{"version":"222e742815b14d54db034788a7bee2d51197a2588c35b1fbefe04add6393021c","affectsGlobalScope":true},"93891e576a698609695e5b8117bb128336e4b7b28772e7d7e38e8075790eb42f","69d90a2f13511eeaae271905c8615a93e20335530d1062a93cb04e754e5f04ad","d723063c56101b34a7be5b28dbde80a3ae3dfd5e08fd49a3b569473337ead1f9","fab49059d6c2026bdb2e53e4e5cde1a39da44e61daff1867c8b3b10b507bfe17","5a551275f85bcc4003e543a1951a5b2f682cfba9b2922f65ae0df40ab71724a5","22d1a3163b9a961dbe78b0aedbd7bcbc071ce1f31efb76eb013b0aee230fef0e",{"version":"c31695696ade4514cfcbb22799997b690d3dca7fb72beab68fb2e73b6ef450dd","affectsGlobalScope":true},"d99ad56d57f2c96daaf4475a8b64344b24dedafdb8f3c32d43552bcc72279a75","a101ef17aece908c1029a1bd3f97132794dcff21b4ca0b997d9a633f962c46aa","511575e18249b64b90d8f884fdb8a383c767d1a7efccd9d66a4e125a4dc5c462",{"version":"6d8001f2c3b86c4f1de1d45ecb3f87f287ed7313d6999f8c8318cec4f50e6323","affectsGlobalScope":true},{"version":"9e413bb587e01ba0cb1a87828cc9116669a4a71a61fe3a89b252f86f0c824bc2","affectsGlobalScope":true},"9c3d1222e6e3d8c35a4293d7a54d4142ebb8f7f70ec4111b8136df07fdc66169","70173c475c6e76ccebc37412b02b2e26f62bf45fc1534c3ebe6d7fa60fb88819","87ced739f77d80886ef2b923a7c52c363c549ad8799ae28eb8cc810892f511ad","863bc4e31de6c75423bb02da16190d582b0a69b8964b61d45920e5b2cb3832dd","849484324695b587f06abee7579641efe061b7338f9694ec410a76f477fe4df3","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","6e191fea1db6e9e4fa828259cf489e820ec9170effff57fb081a2f3295db4722","49e0da63a2398d2ae88467f60a69b07e594b7777e01120cd9ebcefa1932484cf","0435070b07e646b406b1c9b8b1b1878ea6917c32abc47e6435ec26d71212d513","f71188f97c9f7d309798ec02a56dd3bf50a4e4d079b3480f275ac13719953898",{"version":"c4454589a0aa92c10d684c8c9584574bc404d1db556d72196cd31f8f7651af1a","affectsGlobalScope":true},"b17790866e140a630fa8891d7105c728a1bd60f4e35822e4b345af166a4a728c","c50c75f4360f6fc06c4be29dafe28210e15c50cd6b04ad19c4808fa504efb51a","d4a1f5f7ee89b2afffd3c74282f8ee65b24266c92b7d40398c12a27054ed745c","900b5a9802192bc77eba35a5b87ce770df7b867a6d61772c554058c9ed635386",{"version":"d291d3d16fa252f6d460687491ea2c5c23098c9dc0d3e106b2803fdc98f48f29","affectsGlobalScope":true},{"version":"f43fcf89d75f13d0908a77cd3fa32b9fd28c915deded9b2778b08f2e242d07a7","affectsGlobalScope":true},"b9a616dec7430044ae735250f8d6a7183f5a9fba63f813e3d29dcab819fd7058","aebf613f7831125038942eba891005fd25fa5cadcc3e3d13af4768dc7549161f","0faee6b555890a1cb106e2adc5d3ffd89545b1da894d474e9d436596d654998f","247e5c34784d185bc81442e8b1a371a36c4a5307a766a3725454c0a191b5cfad","1c382a6446d63340be549a616ff5142a91653cea45d6d137e25b929130a4f29a","729ad315d8fa8556a1cbf88604ce9bfd73f4cc2459b0b9f6da00f75150c2bf9d","ca1bb9e40299a2a42de0799499d521cc1799347ac73b520f0ad0ef1565db3af8","f21d648335c8f2a68b5d4ab94694f2f240f0ef1125e2bd13da1c716c4b26c5f3","5632b2946fb25a854ef87c5430d4603069c3ca8588a359004ef3e566bff6e86b","21d69e54b8eb46b50a11f02e36d0ace40da583bd2cae17441f0ae031d3c92edd","5f4f83ac7c88d373d0850314ab840e5e737871b17975a88f84972575bcc52a0a","7b5bd9f795f54e859192bb0cc96eb8678d2421092b18e5061a4611bd75f4ea85","190eb9b195944067b751c6f1f1973fffaf6e2e224fff006234fe315421a939f5","ddf7988dccb6e90150aeb031ddfa91c7a616027809e210ffe9448df8c841e2c0","0711d8775231b088686c97d7c2aff31562e3d5f52525f2ea51444b0a390da25c","a912c4d7400f9b7b8c9798dca073b35d9cbab74856b5c4c507e8da3bd8a6fc2c","434f680ed7f0b6e853395db4814c8ef4ea53edc940af22bd2493446689c49247","f142391b7dcb26c7150ab5722c6331c7f08a486f9621aae2036f6201db6a0cb2","5eccdee2560388d06f517ccf0f71f6574e6afb7721c055aebf6f2b95911f09d7","4a37d452036764892827db5f6c3e032577bc0bb45cec1a7a07183bc7ac1e8ef7","a3c894635582e25634467faf5af1e5659f872f740fa3e0c08fc036acca7bd074","bc9b2bc85e4043596e4f84d196fe4f646cf9539ad63f7e917186aed38bdc2c99","5d7ce408cdc2ace5a4388ddbf3cb2e7050bc46fbb9d360fa2e7686bf68e36728","bb1212482141b70002831681d9edc857e7ddeb9a95653bfa187cbbfe3bf793e7","4a24231929566cddc0d833d79b9f9e1d0404964a0d2873a95351135752e083fb","4183c7750a4228b1f92ce592c1c3f5d1c4134740a8f8242b08fd430decf62aa9","b77f5cf2ad5766582e44f3ba2ecc734ba29dca949756a4656c29c2050da39dc9","72c35d25f5e92c075510829e400bb03edab3ac66728e89c991271e64b46c2905","8657262e85cae0021926329993ee183fde26bde0594c57c8e88d8f294e0bd580","dce4ba03ed7fc894cf730c90f5f9f50591a7ee812b94e867b5adebae15d2b618","b75b633c3dc74dc588db9affc29112c9b6965f51c8e53d01895511dceaf7bc66","0d7b0eb06c7e1498961517e036e6299a3a55bc2a7700fad7c49a2bea2e17756b","99405e9f3b753a7dde9817d983872f441c0ebfe13e838d9789883f35d584ba93","06d4ff7c4a587446c96749e51c4102bec7a34a69c53c8413904312e24a1b81b5","e815de5f24cac96fb9555f65afda2ead6a0e7547b00425b6f0bf86a5b6a2552f","9183abbb1cce269d5094ebecb44b8182e5aed26ae4bf7718959d15b15665f147","9632a3e1be6e564a0901e476fbb712c82c5872ab611e3dbc847f437ac548ce22","1d72fc46a55985235e8d8785c4e707c7620734a693bfa65e1b0d13a9dc72a16a","dc8b6c104d6ef65a596025cda17ce229a9321e8fd1d32753e4d731ef44fbb945","dd480cd3cbe2600e3322412adf31d8a6b04ad8eb731e61107eefc5e1e8c98645","4a0fd94f4f59daf6f8aa868b30f1a0f307a01d187e5992c26b9bc7260948a465","fd625f33ea578b49a397582930220c66889bc45268d6bb3a6f380554d42e5005","374968f553d7ada834b9c411471d56e6f9fbb2b31170f362028942c173e4b82b","5a0d52cbbcd09392206ce1690f77655cb283e0a68d5010f1d9cda0b3867170ff","293081f2064aed4e77c9565fbb6c8d625eade6606f21f50a9b8a86c27741a8d2","6dd6ec38169645549e14f5e956f167be1cfef5adb48e1842e4a4948454d44d65","ba48ca9660da15e546cb4437b272e700c777196fb7505faa0b4c1557f401f7ba","9675d1891047249384d827afb8c392b9fd4deceb11871f9185cce69089eef87f","a0923f7ef0a41a316cc066bb0571204aef18c461f18828b63bded2d0ec7049c2","4382d8d597b36095586056718ad777a010d68c0bfdc31b65785c9a94865de06e","5720d5bdcdd38e81b64e2130538c6c7893711c98b6eb42ae4972276ef998049b","eb6680f35761c15489c0c1a89785d183cb07b5d1baf2f44e34db607563499990","c87bd71d68a937e09ce33ea5ee2099f12f554ed3141e068cff2b3bc39e2a54b8","8659bbecbe5634309e332b85b9c5d917cc4e0f4df0fd06e2df9b13a980344e7b","70d402c7f13d482c46f3e8aea54d70b43c336bcc9c86620c35c6295057693efd","6ef08c60078ef28fa6fe191891ea186ec30d6f6b48d2483f25d64322e1df412a","f04e0409ff5c7ac69549172b902cc9be661fb275c84df802752b670f03d89c03","7fe6ff804c72875e13a63a1750e5281ca5279b122e2051b768a79e0c274d5258","fc2906e214caf70a117ebd2eca8c5af935f98f856c3c11b78fec48249d8cb00f","d7d2bb0ab4c122c0fa89190708c4be3146b289e25d448544d351630e70c8e979","5b81a2f9b8fb7425803347c5e9bfe804495a6304e892bd1f61c8369a4872cdb4","4fd64a47a60d67cacc0c1b013d39e157cec017673d285dbc5ae4be70b1e133e4","0ffe64e6243362e186cdbb6b55ce0aefb6d1f961e65f097cb9ee4a6377ea854a","3848a42dbcf354c5bd597360f39fd6d8bac0d5434700bd7de55795e6398feaf8","66e7ee4009b98477818175b41a630ebeb5abd70e354734043f8afcce917ba4ca","66da56dc594b4fbd04935e7316baf32db72c172fe6df47a386fe1d806417f715","12b3a143203b7dfd22ad10d6eed8ba6a4f51203571d3a95f3e9c96eb55459731","6752fb2a8acd01061a98601e77fb2819d669786256ac8923e8d8f51c2a9cdd1d","bc727202225bc7fa45844ddb857d829a96af1695bb11c14fa481f99e4c278ae0","ca9a1959792738d04cb97bcd582042e099c10caf2b93b14b9bfbbdcf0676967c","dc92f396d6491d3bcd80ba3771edeadab9e449fa0364c75c0be57a23349fe359","e0fa49f0189db44f25ade39d3df57adbe9bf7601c8690f8917adf5497d640a81","a7c73369ee3caa83274aea79ccf4e7dbaa1ebd5b74bfc528d095a69083ec7990","cdb06d3a184b002d7552151dfaed57d7fc4fe1e8c804692901082e4ffc80f3aa","62c2bbde44a6cd4e266acfa7c009418263dcefd328449c8135cd48352e38e14a","73ccf82b069f1a2b6af470c6e5d298d2ed8a2355edca625f9918fa7f8524ec19","1a27b8ce59b4f67b78f40e3656e1daafeda53708c3be45efa6b401f9f5ebdf18","e8e982c0dc56863be0a74853d76cb962b8a4806dc625879b872a71988011d14a","71596ef9c4670f994635af4cdaf3d8c0976400f6b7727d6ecbcf98db3c9c8bc0",{"version":"8d6d51a5118d000ed3bfe6e1dd1335bebfff3fef23cd2af2f84a24d30f90cc90","affectsGlobalScope":true},"2bc583eb7c88c4151310dd67546670b78d4aa2dbf476b0b583ae79ac3fb5c0a5","4298089df5a9fc6ddc6edb7a57267f28e729d69cac37759853d30389174f20ef","b33d7ee7c1b1e930552a3c17ce1ef4158d41e76fe36e2743eb32070e46f1004b","da3e8b8af3d950be73ae2d1a4efadcf0de7c17d13de377ad4c803087bde5a5fe","f81b1c338fc1643cd5d4e6ba8e8a97d35ab7ec305209f8607e36e2176401ed29","ad21b2c119f2dbda16118d8771b211695a9b09953d3f415a005ec7329ee4afac","4b10637abf9b243e007a597a3fd664f143731156c4896f6b7d2e993c1659766c","0d67b03dafe1eba1a2b1fc240e463df40c17463c2c3606c02bc84c6bfd70fae6","4882e2cd1e114b5a90e223543bbe013ae5ff8e1cfe5768c5bc33ea44134a2abf","4a6fed47bfcbe188980017faff1575b71207f7b236c51faecec74e332bba075d","59b21f2868c2648e95c6b8eaf2e722321609883e6631f0391d19f6cc948c3d55","6af150eb5fcd8f9aeacaf450b9da2693edd70493de67bac69bed053da580c6ff","1cef25b0a827c0d5acd0ea1a0b998fffa62975e2cdc06f0a6e2a0e0513edbe4b","92055b3765c13ab12ae6dad516b9cf32683fe7f76191bbc232fd9b0c55154910","4304baeb399d7086de3d520f1d4ab150c87ea97ba80866dfa26a13bf2d27eb55","d14c39443d8ed3ce646754a436cf9a5f59d126e0a31ca8b854a0dafd43fa3a7c","6103bad9d0c14fa780b2e725adb18a819977eb3eca148a5c8971d1eb177a7008","41c4e4e32359e20a630055cff9db1c3cdf1737f0cbfef8cd4e08c40e815d8cf5","f540a1f77029b585534c248edd4f14e6137f4c4d81b872b240367683c4607290","4bc6fef15d789042067caa79c67b08fc8d1763937c5dcd64412381e39bf22823","792518b1cc241dde95a665ea6419009dfb0fa031bc2d68aa7fa9ed4a655bcce3","9650ee1b814813a1eea9f45cc88f5390334542a0e87e123d0915e9c02797ec2c","46324183533e34fad2461b51174132e8e0e4b3ac1ceb5032e4952992739d1eab","d3fa0530dfb1df408f0abd76486de39def69ca47683d4a3529b2d22fce27c693","d9be977c415df16e4defe4995caeca96e637eeef9d216d0d90cdba6fc617e97e","98e0c2b48d855a844099123e8ec20fe383ecd1c5877f3895b048656befe268d0","ff53802a97b7d11ab3c4395aa052baa14cd12d2b1ed236b520a833fdd2a15003","fce9262f840a74118112caf685b725e1cc86cd2b0927311511113d90d87cc61e","d7a7cac49af2a3bfc208fe68831fbfa569864f74a7f31cc3a607f641e6c583fd","9a80e3322d08274f0e41b77923c91fe67b2c8a5134a5278c2cb60a330441554e","2460af41191009298d931c592fb6d4151beea320f1f25b73605e2211e53e4e88","2f87ea988d84d1c617afdeba9d151435473ab24cd5fc456510c8db26d8bd1581","b7336c1c536e3deaedbda956739c6250ac2d0dd171730c42cb57b10368f38a14","6fb67d664aaab2f1d1ad4613b58548aecb4b4703b9e4c5dba6b865b31bd14722","4414644199b1a047b4234965e07d189781a92b578707c79c3933918d67cd9d85","04a4b38c6a1682059eac00e7d0948d99c46642b57003d61d0fe9ccc9df442887","f12ea658b060da1752c65ae4f1e4c248587f6cd4cb4acabbf79a110b6b02ff75","011b2857871a878d5eae463bedc4b3dd14755dc3a67d5d10f8fbb7823d119294","d406b797d7b2aff9f8bd6c023acfaa5a5fc415bfbf01975e23d415d3f54857af","7d71b2d1a537fe41760a16441cd95d98fcb59ddf9c714aba2fecba961ab253b6","a9bd8a2bbd03a72054cbdf0cd2a77fabea4e3ae591dd02b8f58bda0c34e50c1c","386cc88a3bdee8bc651ead59f8afc9dc5729fc933549bbd217409eabad05ba3e","41c78f187749098f9b8e8982839a010b6bf00dacc654d759b9c169127bcda034","06a5faf6d1b529c86f39d95b262c8ae08b25cf629c0ee1b186aa2e69998969f4","bb844c597aecf3333951199d984081a3e2449989a69250dc9a431c6057e00ff0","b18a4fb0ef76e4999a628217d3528ab0dc53458c3e400815226a325402f94c91","9fc9fb73150a533962cb7a8d01cacf96a84c774e4a8c5b829e9bb9bdb3442b73","9396a2791ac1604a985a3d2a7ce486a10c51315ff4da6b26792a58125d5994cd","bc2786996cb0860724a35468151ddf97d0820c346237c7503c5a4a141d8aa7e9","6f31a43374a6a6606bb6e5d3475d20ef46e4476bfe240d01eff88a852d899c99","c5aaeefb408d3f04bc9969bf014fb8c7611ce52888220d5475b48984cb4d0b39","d7b06808e65bb7d659c19d79f6edc709ad022185c3516834f5734df64139f4a1","2a9882946dde4c703874ab1ff989d2763e93adc1f436fff25f66b4ef5141563f","20da430b68557166733bafdf364517d0f764d67cfcba27534401cb2cc71089e1","e1173fafa86337002ba631af9338eb529130d57e8cae20be7b858495420d9825","7aad6d1aa696061a8ebfd0461c5bd0d5296e08b67162e586bf6689f530f40298","28ffacb3a1d45a7ab4fc20030c2d501913c0aecb6a076821af1f99f687f59e7b","f70d82a2fbfd6ee96d3f370c0faeeab4a5ef88df5b70b3554d972056d277329e","bbaaea19731242a537955ae226bd9d9b986e6ce8b96ee430276dac958a493ce9","3427e1d44561a0821408b616cf2ac46070506ef7db7f7775b92375e228b71fbf","367f427f2cc43c27873990e68149979078e11f93b100ef818c897cc8e2327a7e","2933dfdebae9d93a923c5e6ba49b54f3ff4f9f6cb5c9463058611255d2ab0646",{"version":"8d6d51a5118d000ed3bfe6e1dd1335bebfff3fef23cd2af2f84a24d30f90cc90","affectsGlobalScope":true},"3346a737f29b700e7c6c2a694973ceb70a738c3ac5212ffbefac8a27048fa8d6","e89535c3ec439608bcd0f68af555d0e5ddf121c54abe69343549718bd7506b9c","622a984b60c294ffb2f9152cf1d4d12e91d2b733d820eec949cf54d63a3c1025","1a25c4d02a013b4690efa24ab48184a2c10b1906a379565ba558b2c3ba679a6d","ba6f9c5491bcf018dbbc813e1dd488beb26f876b825007ba76db485df341a8ee","75b57b109d774acca1e151df21cf5cb54c7a1df33a273f0457b9aee4ebd36fb9","5c7d5b50366ad358850cb764d54517a02e4c6a535ad63339341b919a01d25fae","004f3c14f064b567224f8d0bee55016099f60b286b26f7e45ea2398640425090","dd8331d0a5190a4735ce6c152e420230188c4966067a756673c36dd7ba72b10e","d87f383e3e2146c5fa07f9db97108695a291049d1758a05d9c474bcca847d119",{"version":"288182a3032203d20a0cb426b35c2b5e53725e06b2505a0b0b33c56d02560bb4","affectsGlobalScope":true},"0f882d4ae58f431454030289154feb0132e1b00ca5c3197c6b749bd098aed73a","412a285b5215287476bb954c160ced85718b34958f6d4eabd8a74541be17d8df","1e352dc6863536f881c894f17c46b5040db7c9423a18957a8fbc001dfe579b78","814a65fd55b6f21484b699acb5faa9dd858a7577e304fb05c9155f4a82a4c3d9","4d59c6a10b6c79a0927c79efa89b3c9f71d174ec14ec2792076cfd2330d0cf8e","a496f51933422872de22729b7a0233589325a1a1707cccd05cd914098944a202","c27066bdab263d8ea4799e97296fdc5e62c69b45e9ad908f4b8edefcca20f265","06a38095ad4368314366bc08f7cbc0fe274ef7321ec611005d0bdd9c6565e4d5","4599793db9aed9b84677f0ca1cf7ef3c69bb91cda4fe4329cbab778ca4d80a58","ad0028f96921778931fb8419d8de33b10908314fa99699de1702020f69235da1","ccd2a35321c0786bd3808042dc43b960cac13f2cc660ac37a0087e12bc97d2fc","df524ed01de4f19efb44bded628dbba9f840148be4b6cfe096e29d4b01589de3","2e3981b9cee48174ff85ae15019fd72933f7023a4ed05094740f7e6f7775623c","836ebdc3b9e4c006acc4f405b7e558e56d47830e05c40d991b1e27fe8bc91157","2cc6b617c6120ba64b5778ccd4b74c951adc3a3941bb6b39f47d48701c44af39","eca02b99615a8f1652e21399d832618e38bf166c0747c9247349bc901a2f7741","7f7d6d42e5780e86f5b860a6f95179fae06a368b3af28c1c4230397c47021a59","4740a7d11ab3b381be0f269f1903fb3ff226a2fba55a01756b2997e67cd853f2","863dbc4e77f0353e6f9d6bc0e2b4622d5c07ff6f099ff66cafd7924b2ff4dd3f","bf034a18ed7e2a058f9e48c4c2480a124138fbd3586a80c77736a9ec079d12a8","1c23e5522e794b2cfcb234a09406f44bf988e899a83458d43effa0d896188621","c249e9ae33bfcad97deec3c73c9ed2656e112fbdf22deace0b39724be6a5dcf0","5f16a149d633c7354cc6d9828fd6d443eb6090ed3dbfbf5cc72ac2b10447208e","c6f72b9a53b7819f056268c221d7eeb14c26e2582aa1547b0f6922d65bcfde72","feddabf6ab0eb191e721f0126f3db8688db97c77a1234968bde7a2d70c4ae513","a968efe0db090c2ed75ee8c77162534f7ffde3dfa9d9ee9f79c47784c43df96e","cde0568b836865a24f4ee5859462004a326dfb76d514e6f56c8e78feedebed58","7f5cb3a03588ed46d52a6c2138315d930cd6ffb5c2134247cd07bc23cbea0b5a","9eb225532dc87924b92933cfd48845558f230df315ba9c0e5254180affd906e4","f39fb20b83c3f9853c13d4ac95533760979d3023c0a5affe2c0a62d91ab3afd8","e4fca08aed8afb32bb8643d7469810bc8681115fe398e56a028df9e73b2d867f","8a59503e8c995d688174ab27cd32c3ab6afed7c41cb5282aee1e964f7d7b863d","078966067552650f44ca96c68eddbb8539f30ee48a9ab3f24abdcf0a4037b535","2cd6250c43dba360377481c98d48db6ab1532a7527339edb0deffddc28ba66b1","7a9d600990fbe263a23daebed9ba1bbc5761e45679a7e2b2774a42756ef077a2","66bc155515fbea8c31a4efccbbac44de7c037b01f3aa00b76312cf7252725d30","9fdd988a57c29bb94c3fd946457e031415fac3c88b681ae7403cc51efad949dd","0dfd353f0c16dd5107a7e0713dc52d0a2538293b0a0eac6000a017f9c0a60b56","9cd683a4663ef4d9c6486f1b8a34c73bdbc344d69490931bfe2fbcada12ab35b","42f6a409bad5259ece69df25d2b8ace2ff2ade45fe6386ee45203bdd9329f971","fb486aa15606ee3738eccc1f344d895588fc50b9956a8b50cedac7a3ac1d03c4","2eb162efd6dba5972b9f8f85141d900d09da4fba23864f287f98f9890a05e95f","3f878fb5be9ebe8bd0ac5c22515d42b8b72d3745ef7617e73e9b2548ccbdf54b","e9ed562b7599c8c8c01595891480a30f9945a93a46456d22ee67ebf346b7538a","e7bf975a98cecefe2e8902fb7da9314675ecdce553aea722aaec97327668e18b","3d36f93648518338c875d9f77a8eab52905365483dbb3afe43ed68f1b712b67c","4fa54df9184d291bd78b36f5063372042cd995460e906cb14014e40d1442a326","40c96d03a1fdc7223379b68fc28a885475269f61606258e311176cad8e398cf4","f6bd1aa152ca2b5064e06282ee3137842ae6825b6b09aa89a2ff063b976a56f3","72fff5572fbfd9ba6cc32b135b2df773fbcb062cdbfbf3599b0e4c0c0b9304f8","fbdc8d7cc7daf4101bf567512c67fb990d8fe300e0ba7f213171192177f44aa0","540e6ae4ddea7fc6ce1abf41ecc1351ab5ad0a945f9450a83d5d1cdbd4b32c73","3b6457fb3866562d279377f923cf3758c80ed7bfcc19414b72a24d0a98188e0c","4fb5d7efb3520b92c1b767ce18968057c5e70886d7fb3416c487231df9275af9","df2303a61eb57b2717d17123e82bc0f3fd60f6e4673cb5506192dfe23c9480bf","1c03bb7c4a812bff9cf39601c9f1172b4dbbada100970e2402f136a767fa2544","a35ca245eb852b70b20300546443abb1fcbac6e5066e4baaa092af4ea614d9b5","82fe707c2c25376601868e9eb7d3da6ecab4e1ec3919369f6357a79ae4dee6a9","1a39e51e3362aec7d4edec9b317ff83916fe0471f86ddf2d3ef3af5952e87d9e","4b3f36b96f129a8e125c91d41a05f711e73b3285f80bceb3a1aecb13c97c4502","852779920fc4220bc42ec6d3c9b6164e23ea9371a788531b48b4005fe0cb4392","6863aa26d38fb3c96d7b04547d677967d83ebe421a093e4dede6fd48ad23890d","515b97cede17d91c9669cc1c7fb7a8a5f0a5f2d8999f925a5f70b4ebea93723e","3a873d9c7fff0fc99f7994f8a49c126242a9a52947d8a6c2b9882aee7b476aba","944af466f063d4bd090ab9d988c620b90a014e919d5f78963f6074a136ea225e","644addd4811636da491c9546654bc005ba8599f23df6d731d91eba86f3137fc2","a9249493114b181814728cbfeb7234738193a4169b654ec4705d48d7a4d25222","aad6f20d6eb01192ae02294361faa6e1f320d72447b56f433db853bbe80b15ca","876fbedec2f494eb6f834ce8636b07d581c657d205d81a3ba894eff0facc6b84","58527aa45f11c9b259a6a9d78b397f35020bfbb104f4d3bb177039b5c18146bd","91b8b61d45b5d22f3458a4ac82e03b464a0926bab795a920fe0eca805ec476eb","2744532f8fb960eb78497ac660db719f503a10c801f87131d26fd9cbef75dcef","6fd4019d704fe42eecd8bbb6e37e19b3dc8fc8e8d74bc62a237539387ca4a710","d4733ddb92eccfba6947052161cb2ba04cd158bcb41ded178a3a46d984cf746c","cb46657d3237f80742d5701ebcced8f6e5cf8938442354387d6c77d7048dfae6","5c5e91212eb0c3f301f741b9c4a8c316dfd0641392ef8792909ec5797bf7dc5d","661f322e45545a554e4ffc38db6c4068a66e1323baf66acb0d8a9fa28195a669","9d787416f04d0867e8a46c317056f6ad365e328074c73fa3a1612285fa24465d","e9977eb2676f4d622229fb0f21f4e3b849adbb643de91307e5233b301e10411f","f2d3567210ca4d559d8297d6c4402599c93e3bc7485054192d38db5e132fbc0a","50d22a2dfdbf2dda7b333edf980566feb3f61813695c8f3b52fc866c8d969404","bdb95f4b6e845ec1c0ae95eb448c55a68a2752473e1d2107348abe40421cc202","ea546a7ed9eaa71ba78d4d392509dadea4bafed283269dd6c4b09e7d8824e986","4ec0f2a141a9ae7d3557b8efe630ac2021bc3a9ac61238b59293f4cf2f196e82","e062b1c4e638a95c2e2701973e6613fb848abb1f7673d4b54e6f729a87428606","0863a5876c85fbaffbb8ec8aeda8b5042deb6932616139706d2b82cde9d3f7c7","12f8b72e3c3a333814f4fa87d5b9a7ef1ece703f3b7ec7919ad2ffb58c48c1db","ba9c46725e2a0bd9df59d3a1e801cc60f90db3ef7817131c53945dce2b8c0c56","281d373eeabf80c4851f8de991e6abe4d385c30379d80897bbc3df3dcac99cee","624c5dce95672d9dcca40d9d9d82ef855f5f902292f43aa265cc8fd963c6ce84","8a48d9c6184992d1c3ed5daa55f83d708c37582916926a5555a900608f804b60","605dd288c636cf9b5317fe76dec75d3c7fb855fdcd3ee8cb4fea7d7091ca6fb4","95addea67857d4e568a02e429b15458cec203876b2ea5f5ea18ccfeeb91b8ce0","b5a615b0ad865ffa562980a10bda162ac1744fd363b4edc2cfc664222071cbcf","bbccd721363897950a55ce09529503f25a69522e5c91a22679b66e941e5f8654","d3a1e70795c38d7851b6e4f3b441c5ffdae171d6e2576a2204b7d79059aeea66","94c9ac65af8048cd33c05c16d40c0ef3534a12805277b7f998078ef1d431755d","063fe3004728b8516a4d799ee16f9a71801ba24e0443dd98638cef1bd4353a7c","0267341e780d4967cbd069ea57db7aa4e1fdfe74702ab0366a7a4c1da0ca332b","ec5a0291f1bcbd2662640e7a6ae0a632ce8f0fd55c02236bb43203f38436ca36","7ffd42ac60bedb9b97e7c35b48af9f71b0a2289f3324f414826eeaea937d144b","b20bc124abd8ee572d0d756713ff987b116cdae908a6fcbc40e80d4b999f56b4","1b42aac0e117a5a04d4314130a44e532253d48e00ec315ab2b75c72c1a23d4ee","a9cc62c0a1a6a88bae9ad7adcb40a722a0b197505fa26276aff0e830a29ab04c","f068ff5b7fb3bdc5380e0c677e21de829bd25cdac63a9b083fdc220fcb225280","09d2fdca6ea6c135897a26976ad3c0db724adaf23ef4e38ad852b1d8efef1ae6","15de5b7739bf7e40213a200853bf78455ee5958af08eda786605a54a7f25ade6","aa31b69fc0094a66e771e189d387ffed138b53b211903f96ca3737792f69abdf","975367362aaccf979ac4f35cc402b948981c870b03e8b8d28810db1555837a68","89e253db2c2cc9a510c521f14dd2b1aae4de2556ee5159ad8d118d3587e3a880","b580028098f87431266599cbd870b472e88715e29885fa97c2d816b38cad9c26","fa3e9cbc292087a73527497237c523145ab943c435a92dc254fd250a001e8e21","6fdc88b1287c276b55b7f7c4c7b49587813c763eea9751ce0baf0a7e61cd5d89","6a02443704052768bd021f24783aa104b02ae4444e9b735317bf13c6b857a11e","37987b0fe9800cf25473c882ce07bccdab2763c5681c1a2d16816aead46aa8d1","c84c03c721154068e1a60d83e9e85819bd3ef70b824ac2edc498aa31c06e5781","f4e5b4def2ccccfe43c0905074695c349230505faf6ae74a28b0c1090acfda7d","94cf36780aadc31958dc2047723e58acf8b20f1b2ddf4cda68ad51d8237b1918","b54b2b8caa5e36c039d40a2eb9612c28aa033b4aa792f80bb4fbdd6f13b46e25","06bc0b9cc7bf0b92534f1517fe5adde1f23f60cc6cc5c59f8e1c65db48a40067","919a753b0cbb12ccc606c62e2d34884d75a48ba19b1dda497c72621b11dac088","2c27e33ee0bf722988da00abd582cc9b806ce3fd9153a864800a339ad13f3fcf","92d7b3a5aa5dc872e54cbad2a7094b3ea4f72c7901de1d07b4c334ff658297f0","7a52922b38e9686d5bdc6e75774929eec6688d26c1dfe4a03ddec77ede468e87","aa5efca2833d89b55248f1889a6433dab1b1f41768e9a75f8ce35f9bf56c5ec4","f3cb934699bea498259de69c44a4f93b461f079d72cddb041587afd9312efb6e","4ade28b8e7ff47d5cbce4d30ebf6e05ced32d6ea23930b897c377d23f9f2f114","f25ffc20baaea5269b5bcc4f96a4d2628328daa36051fbd031b27c8cf8baa344","36927eafdf230172dbf968749804e6186082eb960ed1bb4e36e1536c6c4a5fd3","1218398da7c8dc4add10bdb3aa2856aad54b123d847eaf574d1d694ac269bfb5","07886b8104556bcc9314b90cd2043f2286e54c1f6ba2ebbc953e1e43232e12be","b637cd92688a6cdf4f8f184ff529dc2bc7f15692828e2c0c66a60e6972f400c7","8131bbadfeef07b067a4fe3fd9bb2b983c2ad631efc15123445324f9cb05e447","e9acc77854461c6072dfe6c0ba7150d304c1e61eabbf00131c921f61a6b04cb1","3fc077734e1ff23401f5fdde3de0f372880393b6e253f3c43f576ba11e23393e","50614c808e099a1d4413786f3783d9eeaaa74b267f2c87fcf8a893287e91c301","f4cb6530f248e87cefa74ef623206fec805f6252f885f8e14ef3d1a5872cef2d","38c332caadd8391566552395d592076470a5e7423f70964620eabf05c02907cd","eb17b5bf1fc763a644c21d76572c0e41e351c3f6dfcde649428d5d829f7294d2","cb124162c87b29ff5121e3ee5bb29c782f101e0135d6c2644ab1b31d530a435e","406d6f5d3707c488362fb40d1c1f8a7b0a42b70554b427160185d93e430228f5","2e9776410c5bc290d9432a9215c67398a273e514a79b9e15f32ecddfde8a03be","313ff8df074b81d3e4f088ff3a3a06df3d9b0d0c7f55469ccc2ac887ecb6b867","c718475bca06806cc243e77777641cb67ba68f2c57321a4773ebb47760a3bcf2","96e6bf811343caab5112b68880905c5d20d9257054afac6c18e718a4c549ed27","a2793bc73ba63ca7d259cb0f0b61d0023820170d08a1f9715006c8042d060165","d5011b38165771fdf75a9a06d6d379a1fc7edd7eb695ebdc52319fb6e3c6d81f","88417fb19d339304e9616a38ea513251047c9e300c81f9467fc317df8a582e71","c6411797a81e3f64f8c2b4fb7575e5b49c2e8a9376d31c2361e8c8df73488ddb","88ab362442cd50cfe62e99c81b10c7d2cceecec31f9fe4d75fc6673f9f37e414","cb155e69fa97f811e48cbd84cbc1c608a6585ee8ba2a152c0835981b8add7ab7","019f4f1cbc781cc15c6173f8be5ef907405722194ab297127b3c3426e5368339","3cd95a72058dbf36275e0ab3cf6ae9711dd2aed11cd0e8a2a6ac8ac3d8b9ebb1","c79f1c8b51d8475dde8d2973f740f43ca34b1f0a95d93649cd76c1ee20abba19","35f0d2bd2c5c05c0cb19095bf5b7c44365b1c88efe6285370855b90417277a64","8264b129f4c4eb4799703f8e5ee2223a184d1cdbfc782158b1f40a88a4435a1f","527ddda6f8be1279f3294714534c49d6e90f238cea325519882ebf88d7ec5bd2","b23877792e8bd00271d0ec5d401b68e4228540a4316de3d9dfb697b955c161a4","35b2eb1de01633db90d41abe93730b29984856fcc840b4c2801bfd3761a2097b","95f0c9127b879c2fc7e31f8e09ff45bb4aae302e60f4b9ceaf4d9ee6bc51ec66","62ad07fac36aa0a7cb5d537c52a902f31a6160ab59cbfe365e4313a9beaceed8","6e3d29fdc96ebbb2ac672d2dae710c689c1ea0d0e9469e0847616f3c38fd085f","d505055b8fadd42da235c85947911d8d198ad70c5f5775991e7821d4f89c90f5","8b5a5852099dca7d7e7a7cef6d681dc1586aafacdb963ca180fe5cabbfa3a24b","0d1aa3341d1ad2064adada71c5d01a2f572e4aac09410e5616d90894105a0eb9","52494ca5a884da3bf11b8165ab31429715f0970d9c6383240c5666f4bd713e01","2d1f9fed2116cc79bfc97765bf8f5259f39b9bf213eb2a73608fcef6d400da56","b4b9b51ee6f6309cda2e539245235a8caeca2b1d6bf12b5e5c162d17333c450f","28d9cd978e05d58f2153924254766cf59fb155639335239949f21066f90937c7","c76053984b39150d00ade365b096a8bc21a4a7f2ee9e0a926711b00f8e7bf701","956b510767e3d6f362ea5800510635197723737af5d19ae07ee987ea4a90bfa5","cd1a8ff61f5063d7e6e2094e25d35c90b499961b63911f2f4ae0ff5555c2b4d7","1cf09b5945779e9bc75c4dcd805fb149c28fc90da3335186ef620647a3c540e1","9cdc0b9a313090ec45b34ea1eb02fbace433f509e753634b043e9b83038261e6","c93474cff0088351a65d3cad24037874a26a5371a48528563e56efe31cb3d8bb","b4580df8ea7f62d7b06588001952bf69426e6b03cf3d2569f5f608e45f29ba08","de27f7bb9be9d8a2b4557ec6503b8a315f74d598ce9a0ab81b5ed5610e1a8e81","fe3c378dcefa7ed8b21bd6822f5d7838b1119836da75ae1e1fb485d27b8ffb62","7365bf3333d4277b6fe374ed055624e5ec080dbb919e2d78f1cb75a3f1a4b4f6","339a76a138b3e22a4c4386cc5abdeef64bd778fb0c35dc2fd9cb58c51fa17dc1","0923e4ac8c894ad507bd2daee0df66b699de88467201381ece011ba5a080e1ff","e4f6626f827ea509255647e1b6db82145a2eb1a6b46202655e7d9bb19145c33b","26e23972c40f378f0301d8d7025ea895557c2865a1a31c8ea9c3fff0dbc27075","818469e2f1c49f6cf6f220a81df013daf6e4dc4af7f9c0890ca63ce06d7d7299","795a08ae4e193f345073b49f68826ab6a9b280400b440906e4ec5c237ae777e6","8153df63cf65122809db17128e5918f59d6bb43a371b5218f4430c4585f64085","a8150bc382dd12ce58e00764d2366e1d59a590288ee3123af8a4a2cb4ef7f9df","5adfaf2f9f33957264ad199a186456a4676b2724ed700fc313ff945d03372169","d5c41a741cd408c34cb91f84468f70e9bda3dfeabf33251a61039b3cdb8b22d8","6e87c0c1cf06fe7dd6e545d72edefd61d86b4f13d2f9d34140e8168af94a7b7d","cbaf4a4aa8a8c02aa681c5870d5c69127974de29b7e01df570edec391a417959","b8d9df5c49858df86ffa6c497f1840528963c14ca0dea7684e813b008fe797b3","340a45cd77b41d8a6deda248167fa23d3dc67ec798d411bd282f7b3d555b1695","b1f8c85b27619ccfae9064e433b3b32a11d93d54de5a1afdaeca23c8b30e38a5","0ed6417b905cddb85f98281cb3b5b137d393955521993d9ce069d5e2d6b26ee8","f9ceab53f0d273ccaa68ef125974305dc26fe856af9a5be401ca72d0f78659d4","99d99a765426accf8133737843fb024a154dc6545fc0ffbba968a7c0b848959d","c782c5fd5fa5491c827ecade05c3af3351201dd1c7e77e06711c8029b7a9ee4d","883d2104e448bb351c49dd9689a7e8117b480b614b2622732655cef03021bf6d","8e1453c4f07194ab558fa0648cc30356c7536b134a8d7516edf86fd93706c222","eee530aaa93e9ec362e3941ee8355e2d073c7b21d88c2af4713e3d701dab8fef","ebf6ea6f412af15674333149f7f6561c0de9e36a4d4b350daccf6c5acbbf9fa3","1d6cc6dc76a777be3856c8892addb58d60b8957730951f9ab8b721e4f7fdf7e9","7a0e4cd92545ad03910fd019ae9838718643bd4dde39881c745f236914901dfa","c99ebd20316217e349004ee1a0bc74d32d041fb6864093f10f31984c737b8cad","6f622e7f054f5ab86258362ac0a64a2d6a27f1e88732d6f5f052f422e08a70e7","d62d2ef93ceeb41cf9dfab25989a1e5f9ca5160741aac7f1453c69a6c14c69be","1491e80d72873fc586605283f2d9056ee59b166333a769e64378240df130d1c9","c32c073d389cfaa3b3e562423e16c2e6d26b8edebbb7d73ccffff4aa66f2171d","eca72bf229eecadb63e758613c62fab13815879053539a22477d83a48a21cd73","633db46fd1765736409a4767bfc670861468dde60dbb9a501fba4c1b72f8644d","1f9cc8013b709369d82a9f19813cd09cd478481553a0e8262b3b7f28ab52b0b2","a314a39426700ba2b5a76c01bab321bbe79cfef898dae996e930b017fc2b0af9","7f2c10fc5de794bf7ddad2ff13b46e2b7f89ced296c1c372c5fdb94fc759d20d","c2014a7a2718e8f1f953ced2092cff39de89d0bffe5a7d983ce12625e5493b9d","fc4439e09b1562f72a4dcaa193b1ff070e0217ac94d240282871b0642953f049","0b52cb3bbccb5d4f9aea4116aff8deb8f9bee11fdb9fcb363046fbb434a0711d","ab51b8f50db5f65229eb57e8be504c5a25208d61af752a5f3175a2e3126aee22","5c4c5b49bbb01828402bb04af1d71673b18852c11b7e95bfd5cf4c3d80d352c8","8a4a75382ad915be014991cffdfef0e8d78572fe6dfa7f8f8eb748288bec27e2","44ec212fbf43580505de3d6054376ced252c534ced872c53698047387213efb9","4880c2a2caa941aff7f91f51948ebfb10f15283ff0b163f8ea2a74499add61aa","19c3760af3cbc9da99d5b7763b9e33aaf8d018bc2ed843287b7ff4343adf4634","c3befd91fe65a95f9a70f9fb62cdc98f0ffd28bebbc12ab09298de70f9cddc66","b1048a866abac5d678376310d28fd258fd4d663942ac915a5fa90e585cf598f8","c9c6eed8faed23fc697b79d421ac443594a3458ae2a60150083ee1e860171971","29bd5b39f6742ef7a907f41a855653ce7af240c8c4f9b5aa78b02355321755a5","9ddf8e9069327faa75d20135cab675779844f66590249769c3d35dd2a38c2ba9","d7c30f0abfe9e197e376b016086cf66b2ffb84015139963f37301ed0da9d3d0d","ff75bba0148f07775bcb54bf4823421ed4ebdb751b3bf79cc003bd22e49d7d73","69196fa55fab9cd52c4eecba6051902bd5adff63ecf65e0546cb484b5a279fb1","35a9867207c488061fb4f6fe4715802fbc164b4400018d2fa0149ad02db9a61c","686b884e32299679a1489be7051752bcebc82255c7f1f1929f8b2ef565fd84b8","b75aa590b103f8491e1c943f9bc4989df55323d7e68fba393d3de11f4aae6bb8","b494648c291d0fb42660e97cca99fdb65d722cebf30c0eeb7fa390f205af0d51","970866cb5213e259a6c10b736d96cdfaeb65697bf2e80b4461f4edb34e4f463f","90433c678bc26751eb7a5d54a2bb0a14be6f5717f69abb5f7a04afc75dce15a4","3ce6884df19ea1f29b33f1aa8529eb2b061ce71ed50828e4fd3b065f1d2e93ec","c818e48bec39aca06abe82c635eba9199672f9e2257bf78b0fa7062a7e531ce7","87b0d2695c5c37692dc0a6dbf4cadbdde3d22fe068d7d3e3eabe54125a131a8d","6d8dedbec739bc79642c1e96e9bfc0b83b25b104a0486aebf016fc7b85b39f48","cd0565ace87a2d7802bf4c20ea23a997c54e598b9eb89f9c75e69478c1f7a0b4","c18f4f72a68275b7602e5968b862cb9b7b76ea4a1ac1b3e622f99e0b672569e8","0fdb1ed509382bd388896d3770655b0cda8c80c36f8c54b3899992f7a3a8665c","d97b96b6ecd4ee03f9f1170722c825ef778430a6a0d7aab03b8929012bf773cd","f55fc3e536ab193aaabb9b6ded5f93181f81294ee65fe3199c9f4415f0f1e53c","ec8053ec564993a885ba2e2c31408369270a190a332a29fac7a825bb7e60b37c","542ecc66e4fcc33f46695ae22b1d14c075054a78c019915d556636be642465af","476b5c25e85b94e15d761bb9503f55fb11e81167df451f187f5080fca825273b","72636f59b635c378dc9ea5246b9b3517b1214e340e468e54cb80126353053b2e","ebb79f267a3bf2de5f8edc1995c5d31777b539935fab8b7d863e8efb06c8e9ea","ada033e6a4c7f4e147e6d76bb881069dc66750619f8cc2472d65beeec1100145","52ff5e1ea35c54428b46c75fd14f87b7a7158a8f4a1ecfc4a9b996a03185c738","605d29d619180fbec287d1701e8b1f51f2d16747ec308d20aba3e9a0dac43a0f","67c19848b442d77c767414084fc571ce118b08301c4ddff904889d318f3a3363","c704ff0e0cb86d1b791767a88af21dadfee259180720a14c12baee668d0eb8fb","195c50e15d5b3ea034e01fbdca6f8ad4b35ad47463805bb0360bdffd6fce3009","da665f00b6877ae4adb39cd548257f487a76e3d99e006a702a4f38b4b39431cb","0d276d377a0bf0f35e8d7a5b871922ebfa6aff1757d1bbe27a7982b15ce78516","9cbb45413acfdf0cc384d884de88c3f951319004450c88a2bcdad62a11bd21d9","d7a4309673b06223537bc9544b1a5fe9425628e1c8ab5605f3c5ebc27ecb8074","ced87f58b05e2b07e314754f0a7ab17e2df9c37ee2d429948024b2c6418d6c9f","3eadfd083d40777b403f4f4eecfa40f93876f2a01779157cc114b2565a7afb51","3ac0b94ba8f884f63d38450ce9e29ecd59ff00805ffdd609193d7532b8605459","a3684ea9719122f9477902acd08cd363a6f3cff6d493df89d4dc12fa58204e27","2828dabf17a6507d39ebcc58fef847e111dcf2d51b8e4ff0d32732c72be032b3","c0c46113b4cd5ec9e7cf56e6dbfb3930ef6cbba914c0883eeced396988ae8320","118ea3f4e7b9c12e92551be0766706f57a411b4f18a1b4762cfde3cd6d4f0a96","473bf3574a48185f71b70fe839fb1a340a176d80ea7f50dee489c2dc8e81613f","2b14b50de7e32a9882511d1b06be4eb036303bc72ce4a10f93a224382731500d","eeb24fa259f000f6b51a1fe89123f55de081eb2a0ef8d8f847afd67af49cfb68","91d8f3c1c3ae5efb8564ec7cb1f8ac8bf5714eb94078fb50a761ab811963e324","e21bb2cfbcdd8ce7eebb72422f3660806724f2b16cd6ce126d527511abb3a379","c04146836a55ea071b435298335e47f569db0e4d3ae420e35c83e448f944192f","31f71fe23daabea143fc8bd21dae0d5908227180fcda38ad3674df70351f9761","1e488188e99db261e338e0683813d20599f14c86b9b3546d35623c2caa6e23b0","4e1579c45e1a102078b0d24d7d05301657cf7cb2e77e2ade0c05d74e7922188b","0cb819e67e1b9dd575f53cce1a1f7267d22772b37ca60cd2516f24533b04e437","8d907f5e50623adc4e85632f1d233635dadde838208273310a11cbabb653b497","c802e72abaf33b77a58b9581d2f8e611a5fb0c94fdc4ea101ee59a78dd6ca746","8e64d7568722e6f6674e399c9e785ff23be6f970675da012f1c6f9b118b82a16","540e0eda4a2a78372dfd06a35bddca942f7ef6ca111d50be5a03836808270b6d","caafdf3ef4ee8163d9d4dcfe6bcb68a23b6c639480139407f682e13cedb473b6","ab5a144caffaf363fdb9a4ce41b1d70fc9e9efcf666f94ce463d4b239fd108c0","f171acb46af0a675915a5f5b73905d49a7255eecbc7b934878886af243d6783f","fbe89dae6da8f8e1d2c8e88014db73db978099027af2bc57883034af40e5b04a","33a9f0b6918da8adb508a6a052bf19c35d1eab2f77feed5cd1ee05201f498dd8","e80b39c0514911ee7b9130f12f9a48e7fde7e5740b7f2eea329299bd8f4c8a19","dd14d9057877b9a03fbac9e927910de0f44d2d9325e85057e6573f99560e18a1","cd57825cdf7b92345ebdd7b6f6a906731c3be41a86215c68bd83bd730ad2ff55","34916ef889a5d6dff6f613b8884e125ecc59883357126d7f69bdeb793d66fc1d","e66be854335b1fa96aa810524a94d14f324617c2d5f5437933044b0d76fe897f","42cf47eccccdd04432b96fa186c0705b89bff6689e3222c82d444b77ba458b11","641acdfefef7b22bc327a25c3923f93dbeb47ad8d74186f020bcf490978041ca","305da33cf8c29dbc59b8dd392d1c95e478bead6c18842349654a9cdb63f0b59a","3c11addb000e273a744992873f30b1a25eab9f0248f3ea6dadd1716a4ac37228","f5e0f3e2a52ac4c095380a0ec5ef2991a23773b91f42a3f97f32f2b50100713b","b9c89b4a2435c171e0a9a56668f510a376cb7991eaecef08b619e6d484841735","b85baa660305c65d45f97f5b227b1505a8023955f1bf27da178232e7be99cc12","988f547b3b2352a26ab1574c2dd63b6f2c4aa234e36dc99da4fe320e7b4a28bb","89049878a456b5e0870bb50289ea8ece28a2abd0255301a261fa8ab6a3e9a07d","d88dc05fd345b7a4e1816bbfd2dd087eefa9b9e36096818c2348f5b246971125","fb986dd9763020d8b0bb92257a2be89f18d286947762d93788b8518c4a3db2ef","6b8861483f8d90261908256836f1b8951d1f4ac9a2a965e920fb18603c8d1d0a","39f178509d1b8a5efff97f086c415dfaa47d4fdc9fd0722c402af2e72e07ca78","89d8275e44668b0869d4009258aeb1949f6efc5fa12bd9cdb9d57bd3b868cc72","fa39c1480d2cc6b9474b6a5d7d56a5db98ae9c6433a05581551722a603773ce9","3a93e73ecbb7a89241c58fcf30ecfbf788c3e98d01f5eab4573ce0f8635b6506","a464510505f31a356e9833963d89ce39f37a098715fc2863e533255af4410525","ebbe6765a836bfa7f03181bc433c8984ca29626270ca1e240c009851222cb8a7","ac10457b51ee4a3173b7165c87c795eadd094e024f1d9f0b6f0c131126e3d903","b2f2311d7085a1feec3f6a85d7cc8bdaf1d976de1874c1f92940ad8ce6a34d39","954523d1f4856180cbf79b35bd754e14d3b2aea06c7efd71b254c745976086e9","4ee1e0fea72cd6a832c65af93b62fbf39b009e3711384bb371b48c9abba66781","d35fb65da678a4971822249d657f564ff6bdb6618428642235c4858ebafb2379","b27a613e49e00740db23e2e267b8e44e51ee85a448e787b7fa7c7a7be7316104","4d54136f3080a92f0b031115719321fa25bd855582c30f7f6b6e78969ffe7ec5","6c7554f14f08d3264e220f6ac82cf00e3b6a3bd15ec676bd97bf0e06da79e18d","a2506732a96c864f9336a4fc0403f7f4f3831cfe1db4a40ddf95866dbe2d28ef","8aa451aa2c6e762f359e6fae74e2903f6e3304b1a5ae19c1da548128ddf25add","e3f5060e98d678e320df7fed7391e6c1291849df4b9e36c8b2ab6dc5604d8f37","380970ed12c5382fa1bd36a84c8562b042aeafa6de618a64d27e682e493965c2","1f02c62e0a52828473d9a60bcd7befd9b333e9209fae90fec30af1fb16f7ba19","9c89ab413cd620c91d82ef9a9631eca3fe3b65090df1cc729a43e1fdc9f8ed37","5a44788293f9165116c9c183be66cefef0dc5d718782a04847de53bf664f3cc1","0b7109542117ad1529021dc091535820f0c2c42cc2399a751ba8af5c119af6a9","a33c72cfb6c71ffe8074a297ebd448d8a3b504895fc7b64c13d3aaee48b2a02c","9f96b9fd0362a7bfe6a3aa70baa883c47ae167469c904782c99ccc942f62f0dc","5df9a68835c1e020625127d8c951c90808d319c811fc3a780d24f64053192ea4","71807b208e5f15feffb3ff530bec5b46b1217af0d8cc96dde00d549353bcb864","a644ad1efc0cff5a46014b5c14e85ec216f790db47966d5c3bf78e81680063c7","10b23826a1c4289b040789481c970f07dd2a2bf0573777267c27149487dedefd","8b0b6a4c032a56d5651f7dd02ba3f05fbfe4131c4095093633cda3cae0991972","27484cb3aa328bc5d0957fcb34df68a5db1be280af510d9ed3a282b1a0a93b38","6c2b8c78eb1476ad2668898923fda9c3e67b295b9a6dc7a7312ead2582a76883","d8fb0821bcebbcc5ef87655a6442e8909313eb0bd7960f696b10cdb31576fdaa","1053398d8fd9b1a45170b5cca30bd54abe7ec7061ef2929c4da9feaa71737930","c21f2aa4d38c2e9fea29dde79c15aed25f532ed1cb295794879cbeb8372a3ce7","7afedbfdd1a5220d472faacc2943242abb1f3f274b80984b11e804d6a8d8f17f","e9daeeada73c75f2fdf18f3125d91c10ec71d0ae3f6c5d3f4e6815409c46cf90","c86ad86cc7a3ec3794deab9b943a823d9aaf09b846bb581a06bf263117e8d6d9","cfe88132f67aa055a3f49d59b01585fa8d890f5a66a0a13bb71973d57573eee7","f23601713615719b1a1394deae884fb9f507de819a086d5a019c63793da9efc6","50fd11b764194f06977c162c37e5a70bcf0d3579bf82dd4de4eee3ac68d0f82f","ad5ad568f2f537a43dcc1588b2379f9dc79539ae36b8821b13a5d03625211eb2","99579aa074ed298e7a3d6a47e68f0cd099e92411212d5081ce88344a5b1b528d","d2d58166965f631fa203f405f3713b0f86f1f8b80755e9daea43057a25311e16","ce7dbf31739cc7bca35ca50e4f0cbd75cd31fd6c05c66841f8748e225dc73aaf","942ab34f62ac3f3d20014615b6442b6dc51815e30a878ebc390dd70e0dec63bf","4f795f66a057de6e1755d0b56cd1d7d08eff7f804fc5d7ede301cc9c54fee7bb","0256d60785ede7860b5262f504f139aa68f74db44ba9f03807b752864580772c","396c1e5a39706999ec8cc582916e05fcb4f901631d2c192c1292e95089a494d9","89df75d28f34fc698fe261f9489125b4e5828fbd62d863bbe93373d3ed995056","7cb9b6d5c1e3508fbc81e7bbab314eac54715f9326ac72fd0eb65f17a4393d50","a2799b303fcc12ca3688630b4aa430bc4eed65397ed4300e3f68c96199a52b6f","629a35f2caa6fbeea73058fed930b53302c35178c86a6f2baef4a66993d5a88e","da1449ff588ec5fc9e8930be2995c730133fd0fac0d06311922c6c5e5f8e6cd9","50183ad09541522ef0471069f8900599767392678fe3a1a62570ab7c82e604a1","e8b556459403cfae6d8d14eefbb85c6246bccc41ecde7be616d643df513aed6b","903bb69c5e5ce0cb8f8159a86acca9116275f8c78253db80004fe0d78f436ef4","9daabcf8cac2bd41d4cb83511c0358fc24650fd08f9ae73e888582285a116a3f","82d3e00d56a71fc169f3cf9ec5f5ffcc92f6c0e67d4dfc130dafe9f1886d5515","691e990c527fc0abefa2cd0922b0dcfd83cf98a3f0c11a96a854f34fc85361f5","862b3a5f6637c3826ea615378ba203a3cb4e8320bb2f4422aa055f69c7e7422f","e3d221660c0b79a9a3ba1111b3dfbb1136c0b52d7609b0054d3ce09ce711a3e6","892adfd3427fa4ed24bede88e8e46e4cb67e53e794365023fd473f3be796981d","992fda06eebba15d37625007500bef5b3fdd1c5e2f5a334064efeb1604c7bce3","07bc8a3551e39e70c38e7293b1a09916867d728043e352b119f951742cb91624","e47adc2176f43c617c0ab47f2d9b2bb1706d9e0669bf349a30c3fe09ddd63261","7fec79dfd7319fec7456b1b53134edb54c411ba493a0aef350eee75a4f223eeb","189c489705bb96a308dcde9b3336011d08bfbca568bcaf5d5d55c05468e9de7a","98f4b1074567341764b580bf14c5aabe82a4390d11553780814f7e932970a6f7","abdc0a8843b28c3cafbefb90079690b17b7b4e2a9c9bbf2cd8762e11a3958034","2e252235037a2cd8feebfbf74aa460f783e5d423895d13f29a934d7655a1f8be","7b5ed961a0e03965299591d73de8b8c41e8a68105ff4fc07a240b0dfb94a5a3d","28b374712835278e5cd241ba89c102da726195edb230243fd04392fa1f2408cc","019491fba0fda26e7cd7c99821e036b01a0ccf3e7f0ccecc389d98553016861d","e59ad6eabd780c5d95b436e267bbd5ca60859cec9bab89998fa0d76a31f8a57e","a63f2262f1d48fb91c2a036359f3cca6d08ca707f7ee0e69605dd17d08c2b636","01229d1acba9cf46efe658c47460363cff4865b80d690dcdca077da6b5258b0b","c78c4d03cd663ed702e4e6ffc9fcce26831d1af95d517622f6662040282e24ac","5c0bb63f50ee2c1a05a50296b0726e87ff2a56a1d6b35730d9d001aaa88776c0","a3a48fbe8782048f74752a1ef300ade63777f62bca44aadd9bd99a4ebdf9b9eb","2731e9ac06adfae7b4968f72de6f8741fcae568d99acd172ca00428acb44a1e0","2ebca051934f745e29f877cc200171c0287fa39f209f344a92bbaa8f31f4fb41","e5f8c5c592e84037e152b13929384d48d8389857f913e996c483f7d470478c33","a45e69faf1b52f74580cec77f328b5b392b7543bf9d6e28fc3dfba489ba1c75e","7001f9a69a5ca9c05afad9a45a2af1d4718e8a15571516f9c572340a544e830a","95f76002be67108bec5337348c9f6fb1ae77dd3081fae9d73d7b3117f2e6d681","6bc3d452c2417247010a37309cc31cbceefe8415c24ae73874c22190dc48f4e8","607f26a2aa0b59736200bbab26fa1eadbfe158c4a3bc35e6b0d3894a28eb2aa9","b4a5c84503433136ab631988ee69db855c7e4434415acf96800cb37b9d563d7b","83f08a89e5f22e805b5e5e7b04464411a83c316d4c75118a803b89cad00ab158","ba1dde1e19202c7a0664678df9b68d3ef4df9bc8cb38ae19d2493a2ae77c28a3","d5630d9a809f159383cd2a59770b82eae1d37d9e1e6ee9397eb7c906a2696edf","6ecc423e71318bafbd230e6059e082c377170dfc7e02fccfa600586f8604d452","772f9bdd2bf50c9c01b0506001545e9b878faa7394ad6e7d90b49b179a024584","2a28ac2343b34a610a32beb5bd62953f95ee64b3656febc819bb70f5a85d15d6","02dafa194c95b7c0293059512b8ea3bd95402c6e4bc8331dab7e92e842260c56","4cd537bc0fa84016be29bb4245fd1724c6954322f397f9c30a3fd8d96b47f26b","cd1ccdd9fd7980d43dfede5d42ee3d18064baed98b136089cf7c8221d562f058","d60f9a4fd1e734e7b79517f02622426ea1000deb7d6549dfdece043353691a4e","403d28b5e5f8fcff795ac038902033ec5890143e950af45bd91a3ed231e8b59c","c73b59f91088c00886d44ca296d53a75c263c3bda31e3b2f37ceb137382282be","e7aa2c584edb0970cb4bb01eb10344200286055f9a22bc3dadcc5a1f9199af3e","bfeb476eb0049185cb94c2bfcadb3ce1190554bbcf170d2bf7c68ed9bb00458e","ae23a65a2b664ffe979b0a2a98842e10bdf3af67a356f14bbc9d77eb3ab13585","eccf6ad2a8624329653896e8dbd03f30756cbd902a81b5d3942d6cf0e1a21575","334ed2e25a7ebc8db8aac231bab5a5b57a1b6f8063186a92314f4ddf3d74d4e2","41ef6b546d3da1ea3de9b2e72ac7b9a219cc9905df631c01ecaeff477cfeae40","62463aa3d299ae0cdc5473d2ac32213a05753c3adce87a8801c6d2b114a64116","c9c2eabaad71c534d7de16385977f95184fdf3ddd0339dadbd5d599488d94f90","bdf0a372e233a8f5ab5daba2763ab8897e1044d735c1698a261b8e2ab08d8d13","9cca15b1c8c4fca29fc938964765d521690d320f1cc478ce3d907abef60b7711","1205f9908206109effcfe3649bdac82907939bae2e3cb132f8f6236b587515ac","f689c0633e8c95f550d36af943d775f3fae3dac81a28714b45c7af0bbb76a980","fef736cfb404b4db9aa942f377dbbac6edb76d18aabd3b647713fa75da8939e9","45659c92e49dfca4601acc7e57fbb03a71513c69768984baf86ead8d20387a01","0239d8f6a3f51b26cbdbb9362f4fde35651c6bd0ff3d9fc09ee4a2da6065cb4e","f848fa58526e715c62b20c820a0a0b3ace7175bca1201bc7c0747a6e49502372","17b5469df1d2c13496e90752122e1236d9ebd057fe5ff3b37f1e3b4613ea3969","8fc97ef271771dc6f81a9c846d007ac4f0cb5779e3f441c1de54dfda5046fe7b","ddb199b4aa8eb41c7de43c8fc4fb4177fa5309690e094e652fd9651884af6d0f","b64fec482d5c612291eebd81e32993663ee90a5dc05cfe43464e6ef5ee1cae73","2dd9d764938d20a0613b89b14d7da644f7be4a70d22f18c3019254029d7a7a3c","021034a82ea821144b711eeba792f824f03d30b5cdb3b20a63e9bc5ad0531fdf","b251114717c08c462c1a8388155ded58cbdfbadc13488b775a4eaaa59863dc46","a2e546426763a9d5d4b5b10b928fb312f8b76e581c8a985362cd04a01859e51a","33bb0d96cea9782d701332e6b7390f8efae3af92fd3e2aa2ac45e4a610e705d6","ae3e98448468e46474d817b5ebe74db11ab22c2feb60e292d96ce1a4ee963623","f0a2fdee9e801ac9320a8660dd6b8a930bf8c5b658d390ae0feafdba8b633688","7beb7f04f6186bdac5e622d44e4cac38d9f2b9fcad984b10d3762e369524dd77","8f1241f5d9f0d3d72117768b3c974e462840fbd85026fb66685078945404cf2f","0d9efc693fa6a92c5e50d62b7d1f912d50dbb3b7a5eb7d615d0df65b6685c4f3","f7a79f4a3d3ca7deacd5dea69aeea04547b2f777c158e957cf095884ed76bf6e","7c54c4b7f7752b0315f14b9ae63f00d7a3f39308e598c670d8a96afdcb8e0a4e","9f559e612c27cce4bc181decc88ba90b00e5be42b6ed7fe9316d6c61476d7439","03dfcf3d00c60a769e705eb5b080c3674cd59ae830ee7ad82aed8f1883f60f06","ca8cec5a09c4323e1fcd9e0f0f84727c9b0818802fabae4ecf7f42a380483037","92d06124389a259ec6f17fa490dd2da4a8aff8fd9055047036e63211793a556b","aa8c0e10f176c156cfea40f5acdbc08cb44a43ba5411c743be645743ed3b1c02","b1bf7de0413303c8bd9424cf4955b433606e90eb31339202c8bffdb1dec982e9","979a151b6741901c83c365c97b7e55dcaccd92402fe6095dedd7be206bb23bae","ec982ebee52d26bdc7a7520612216c9c55e7a44e6fe0f654fb26e6ee41bc16c4","91cd91dca4b299e4a9c125f9c25d442f59e3e6e591170ce2c08c975d29206f69","eb8b953a086eb190829bfca1622b1afe51e9ab3b243414f4ade9747494a5aa7a","72525cd996374e557811cc99b4d11478ad743b2cdca9400b29d183b87d6db6b2","488802186d1872ed533dfbaf8fdfacd8494700bd04634c4248d1e1c3f4045a78","58a91345b1b8060e59cce2c1843031035a313f7633efc56748621d26f70c39f8","5b9d477c5a2b3893cb008c4d55c602cf53e8e80330f089c048d1868d9372b6f7","8457eda41803df7ac9959429ac83bfed0bb4308e373a168915d6fcfe0beefb9f","a37a01b20fa5b139a741d72389e07987d65bf9883ccff8cb90601cc7442a6751","112265c7781d416cb18038de361cf84a49ffd39cb8e2c41457877ca288281642","b4b915d13ddb891a67eb9020a22484c623fb7301e59c9e75da1d897a443ab2cd","b1f580fd45c8fba8718ed7c3f4695604dcee962ee5976d79d77d0b0d77e7391b","02caa34de9617dfba730219a360f489bdc804c6213cc748ad7dd334f77b08b27","bb44a110636d08b1b3cac893279ad08a0de67fde825010fdfc4c624e4d307c02","fdaa5513a1d1e18b29da3b02ca51a5877f01a856e2df4414cd2fc2cfe469aafb","a8b0b8013626a817b30eae6145aa7bc74c0efa0fd18b4afad347050fc71ae0c9","6d048e32e69fd6edfeadc5251bdeaba7dedbb66b384556eb7c8bc418ebcbf214","e664cbf5fd9b983a7777732266b7fd22073348499b102331035609027d6a5647","0f9bdbe60cbfc72b81678841d30bd94b0c51fff9ee3808ae36747eaa73243ecc","2c6a49dae306019555a3e357e2f5664b7c8a09ed31f8861f1471a8d5b53f63ec","da7d955a5e559d4ecf7d06db5d6005bc4a7b85b64902a7909754304f223d5a2a","e76823fc7ac580977618a1c0a99fc2a1462ebc351f2f6c1ba1e7cadf27f0a8e3","41babab2dc633535340ffbd79dd992c2385d47a8aef3c5d16f9f81e8b9b237d2","05ea8f375b8e4699aecceaa3534aadf66f61fcbd326df3af8c20f2ea7d87c53f","8089349a78207ef55517287cc3f86bd7f630c4b2a7394e02987a89d1d99112ed","fa90c04b1098ac24800a5007e5683038b51c04de180e55a2f001e120e694bc4a","5bfc236c563af10e5120f867adf9e25f86ec2a1378e5d75095d63e4b255b4447","e844a85e94164563336c5a4206ece17e31c8f03395748272f47493ac97bba964","c7c1ac2ba58daf1a3c592f22617ea6d6e6eee359ae30c22aeba33346b004e4e1","35ed6b6b8a38edce2a74737274c8e9e27fab879bcca014bd5693d8ed2d5b8752","a02938b99586d48eea55ba704a4d63fea6628fe4e5f3262e5b9af06234442ef6","fc7208f6d3efb1e8c3fc9fba27b70a697cd8454c30ca41b866b40cf433b6ca3d","2ed79f8d0b9ed516a0e8a55ae52652f3fce8837f688497d561263d82b15d3610","737fa7a7960a782f86bf64476afe25573fc1e263c5cd45a7958aeadb8b663a49","a6f1efe3f89496579ad74eb91a24c671b646a31cf0bbaf7ba19075217b680c5b","5a3347789a9243294950218ec9823a279f65a039abf1bb8a7384c104a33248ce","ce5455ebf901151b03920a257c74bd45f5edda43dfbe00d437db3a4454fd53ac","d34aa8df2d0b18fb56b1d772ff9b3c7aea7256cf0d692f969be6e1d27b74d660","baac9896d29bcc55391d769e408ff400d61273d832dd500f21de766205255acb","2f5747b1508ccf83fad0c251ba1e5da2f5a30b78b09ffa1cfaf633045160afed",{"version":"90407bbaa24977b8a6a90861148ac98d8652afe69992a90d823f29e9807fe2d7","affectsGlobalScope":true},"b71c603a539078a5e3a039b20f2b0a0d1708967530cf97dec8850a9ca45baa2b","d3f2d715f57df3f04bf7b16dde01dec10366f64fce44503c92b8f78f614c1769","cb90077223cc1365fa21ef0911a1f9b8f2f878943523d97350dc557973ca3823","18f1541b81b80d806120a3489af683edfb811deb91aeca19735d9bb2613e6311","104c67f0da1bdf0d94865419247e20eded83ce7f9911a1aa75fc675c077ca66e","cc0d0b339f31ce0ab3b7a5b714d8e578ce698f1e13d7f8c60bfb766baeb1d35c","232f118ae64ab84dcd26ddb60eaed5a6e44302d36249abf05e9e3fc2cbb701a2","32dc570ff4592224a8d565ed68342de74d4933df8330d70060e79514b69583b3","3a85ca9d6fb08404ebaf292d8f472193c80d9f4172e04f70d8d28dc68ef09cd9","27c2a3763cac4fb744f8be91dd7282f3bfffe8923de2c4a4833b606c497654f8","ca1d1e89e3f43811c1a3ed33db4b3279c240e2768e68f6dc66b6ca002e5d040b","dc3b172ee27054dbcedcf5007b78c256021db936f6313a9ce9a3ecbb503fd646","15c112a3458aa50760b2df80601f1e14d24ac176e176b7af4d0ce7b5cc1f972d","9163267f997ebab031fc6ffcbfb0a1aea0381e8696b3e8e2b995f74b649cd145","6ab1224e0149cc983d5da72ff3540bc0cad8ee7b23cf2a3da136f77f76d01763","15f7afbede2947a3591c3748d141c73b75348b3fd78e7dceb571d8d5d6f87fc6","1201fd4fa101ad2c422f0aa7c0606c68090a2656bc31cbd7f7d459d9900c9a95","99b72c2392295dd9a52af0b4d3a2f3ee425407cc26aec5095fef070eff8a4c31","6de1c686b82ffb276398c0f499ed7f086caccf18cbd7269f85d5fe63a9cdf25b","f0fdc4fcfcedd7300969a22f9e413c9dbb888e3db35edae0d06b4d7ecc9bc719","6f8a416a3bf1abfe226200427d5a62e0cbbf0c942fdac01b2229d8c8d1ea27c9","3cc16303a32f31182bb66acb3b80b21362f7f7384d69efb21659d500fe5b8fa0","cd51ceafea7762ad639afb3ca5b68e1e4ffeaacaa402d7ef2cae17016e29e098","1b8357b3fef5be61b5de6d6a4805a534d68fe3e040c11f1944e27d4aec85936a","26dc8314c91b71c393777840a087650e63face85904ea8bb7c1c1895f01e8391",{"version":"4f24c2781b21b6cd65eede543669327d68a8cf0c6d9cf106a1146b164a7c8ef9","affectsGlobalScope":true},"86b484bcf6344a27a9ee19dd5cef1a5afbbd96aeb07708cc6d8b43d7dfa8466c","15ab3db8aa099e50e8e6edd5719b05dd8abf2c75f56dc3895432d92ec3f6cd6b","6ff14b0a89cb61cef9424434ee740f91b239c09272c02031db85d388b84b7442","5d6f919e1966d45ea297c2478c1985d213e41e2f9a6789964cdb53669e3f7a6f","884eaf5bcae2539fd5e7219561315c02e6d5cb452df236b7d6a08e961ec11dad","d274da8ba27079a593a7de4fbe82f3aab664724bf4f1b080e977f6e745e690e1","8504003e88870caa5474ab8bd270f318d0985ba7ede4ee30fe37646768b5362a","1cf99fe49768500d01d873870085c68caa2b311fd40c1b05e831de0306f5f257","4fa55de63944a9f7796825eca0b2289da27886677daaa91864268543fbc7f90d","f3874b59c93e93a77549a0ab68f900b809c33f75276d11d6e2cc7588bea442ba","4502caaa3fff6c9766bfc145b1b586ef26d53e5f104271db046122b8eef57fd1","382f061a24f63ef8bfb1f7a748e1a2568ea62fb91ed1328901a6cf5ad129d61c","952c4a8d2338e19ef26c1c0758815b1de6c082a485f88368f5bece1e555f39d4","bfa7e8a9830bf5f390b4ccb4286b32239e6ddc4dca515aac187705a478de86ed","ef4c9ef3ec432ccbf6508f8aa12fbb8b7f4d535c8b484258a3888476de2c6c36","dee75c873b20a13839a8ce9ea9d32696682c6db4b1e9f4fb6bc431ed31b0fb8a","f981ffdbd651f67db134479a5352dac96648ca195f981284e79dc0a1dbc53fd5","865f3db83300a1303349cc49ed80943775a858e0596e7e5a052cc65ac03b10bb","a1c85a61ff2b66291676ab84ae03c1b1ff7139ffde1942173f6aee8dc4ee357b","a24c4fe21d5b13a9ecbbb39b5e22f5d4c6fe5feebb074865ba2de273381a73ae","f8d55b6b0661a60188d3fd0d4c39c38b6823c78b71f55d59f467f78c46607ad5","5a0d920468aa4e792285943cadad77bcb312ba2acf1c665e364ada1b1ee56264","76800125dd98b705a09e3cbc702d5f698514354e5aeac9fa56f80a1c9f6fdc74","8aa592b47f4deed833a11daa86ef6779ddbd02dacc74e67103c8ecb675dc02a4","da2aa652d2bf03cc042e2ff31e4194f4f18f042b8344dcb2568f761daaf7869f","03ed68319c97cd4ce8f1c4ded110d9b40b8a283c3242b9fe934ccfa834e45572","de2b56099545de410af72a7e430ead88894e43e4f959de29663d4d0ba464944d","eec9e706eef30b4f1c6ff674738d3fca572829b7fa1715f37742863dabb3d2f2","b0cefbc19466a38f5883079f0845babcb856637f7d4f3f594b746d39b74390f7","16219e7997bfc39ed9e0bb5f068646c0cdc15de5658d1263e2b44adf0a94ebef","4ccedab1527b8bf338730810280cce9f7caf450f1e9e2a6cbabaa880d80d4cf9","1f0ee5ddb64540632c6f9a5b63e242b06e49dd6472f3f5bd7dfeb96d12543e15","18b86125c67d99150f54225df07349ddd07acde086b55f3eeac1c34c81e424d8","2d3f23c577a913d0f396184f31998507e18c8712bc74303a433cf47f94fd7e07","4d397c276bd0d41f8a5a0d67a674d5cf3f79b79b0f4df13a0fbefdf0e88f0519","aa79b64f5b3690c66892f292e63dfe3e84eb678a886df86521f67c109d57a0c5","a692e092c3b9860c9554698d84baf308ba51fc8f32ddd6646e01a287810b16c6","3c2e543e5913aca16ba24e406cebbf84bac298f79c249ea255016fabaf8be744","0b9bcc98884f81d8adda2c5d2ebb0361c7a53af6713e72138c4457e6016ff708","1848ebe5252ccb5ca1ca4ff52114516bdbbc7512589d6d0839beeea768bfb400","31073e7d0e51f33b1456ff2ab7f06546c95e24e11c29d5b39a634bc51f86d914","f60149e188145ebf3e6edf735576a2c26e805ac575bfdfa839a27929175e0855","31d18349ccfc45ce4f82990c71aed8901272a8edc9c6d1b2d330aabf36f50aec","a90339d50728b60f761127fe75192e632aa07055712a377acd8d20bb5d61e80c","37569cc8f21262ca62ec9d3aa8eb5740f96e1f325fad3d6aa00a19403bd27b96","fa18c6fe108031717db1ada404c14dc75b8b38c54daa3bb3af4c4999861ca653","3146e973c617598b8e2866b811fdfcafe71e162e907d717758d2412ba9b72c28","a653bd49c09224150d558481f93c4f2a86f9a282747abd39bd2854207d91ceba","efa00be58e65b88ea17c1eafd3efe3bc02ea403be1ee858f128ed79e7b880bd4","f5f716848e9b1e873519aa6408c35ac70c1ec471c460497842f28644dd906cb1","55d3747b2a8949561a78f7327647e54418ab3746f7dced6cfe75d76f2b051aa8","cd8aa48c26b3de057cfd76706c0cff88ace0f23f548b8dee974088497780e5ae","95956d470e8b5a94cb86d437480e3e2cb65d00cd5f79f7521b57de3fc0726de9","e79e530a8216ee171b4aca8fc7b99bd37f5e84555cba57dc3de4cd57580ff21a","ceb2c0bc630cca2d0fdd48b0f48915d1e768785efaabf50e31c8399926fee5b1","f351eaa598ba2046e3078e5480a7533be7051e4db9212bb40f4eeb84279aa24d","c63a0620a7fa59bbcac4ae218d477fdeafac72b689fede1e3acbbb1b8d90f36c","4ce53edb8fb1d2f8b2f6814084b773cdf5846f49bf5a426fbe4029327bda95bf","1edc9192dfc277c60b92525cdfa1980e1bfd161ae77286c96777d10db36be73c","421703860812c1dc29f83893f89434c855e09354c49012ff63b70c21243d997e","0a0bf0cb43af5e0ac1703b48325ebc18ad86f6bf796bdbe96a429c0e95ca4486","75a7db3b7ddf0ca49651629bb665e0294fda8d19ba04fddc8a14d32bb35eb248","eb31477c87de3309cbe4e9984fa74a052f31581edb89103f8590f01874b4e271","22fcfd509683e3edfaf0150c255f6afdf437fec04f033f56b43d66fe392e2ad3","f08d2151bd91cdaa152532d51af04e29201cfc5d1ea40f8f7cfca0eb4f0b7cf3","3d5d9aa6266ea07199ce0a1e1f9268a56579526fad4b511949ddb9f974644202","b9c889d8a4595d02ebb3d3a72a335900b2fe9e5b5c54965da404379002b4ac44","587ce54f0e8ad1eea0c9174d6f274fb859648cebb2b8535c7adb3975aee74c21","1502a23e43fd7e9976a83195dc4eaf54acaff044687e0988a3bd4f19fc26b02b","f9b229aaa696a31f6566b290305f99e5471340b0a041d5ae9bd291f69d96a618","6592ae1f1eec2e4cd4db11033b6936c8d9e009ddc48c164e46ef101a0dfc2c70","d9c6f10eebf03d123396d4fee1efbe88bc967a47655ec040ffe7e94271a34fc7","0f2c77683296ca2d0e0bee84f8aa944a05df23bc4c5b5fef31dda757e75f660f","309586820e31406ed70bb03ea8bca88b7ec15215e82d0aa85392da25d0b68630","11e4e2be18385fa1b4ffa0244c6c626f767058f445bbc66f1c7155cc8e1ec5b4","f47280c45ddbc8aa4909396e1d8b526f64dfad4a845aec2356a6c1dc7b6fe722","7b7f39411329342a28ea19a4ca3aa4c7f7d888c9f01a411b05e4126280026ea6","7f89aebd8a6aa9ff7dfc72d12352478f1db227e2d79d5b5f9d8a59cf1b5c6b48","7d936e6db7d5d73c02471a8e872739f1ddbacf213c159e97d1d94cca315ea3f2","a86492d82baf906c071536e8de073e601eaa5deed138c2d9c42d471d72395d7e","789110b95e963c99ace4e9ad8b60901201ddc4cab59f32bde5458c1359a4d887","92eb8a98444729aa61be5e6e489602363d763da27d1bcfdf89356c1d360484da","074343ca788a38f572d8bdb0985956c0ad1a4d8ca8b6ef8c1a19a0e11cf09db0","d729b8b400507b9b51ff40d11e012379dbf0acd6e2f66bf596a3bc59444d9bf1","fc3ee92b81a6188a545cba5c15dc7c5d38ee0aaca3d8adc29af419d9bdb1fdb9","7d05ac926705ce932b6e41e5e273333b380d08b6a036ad0c8b01139586b34548","0bc13111c65ef1373c84c86c039416127579469828f0e01e03ffe00fb8fd6785","c00b402135ef36fb09d59519e34d03445fd6541c09e68b189abb64151f211b12","e08e58ac493a27b29ceee80da90bb31ec64341b520907d480df6244cdbec01f8","c0fe2b1135ca803efa203408c953e1e12645b8065e1a4c1336ad8bb11ea1101b","d82c245bfb76da44dd573948eca299ff75759b9714f8410468d2d055145a4b64","25b1108faedaf2043a97a76218240b1b537459bbca5ae9e2207c236c40dcfdef","c65a41b9185521fb1d98111fd30fa4b3a5020c0e9cd8bb8c691d5536c8688156","5a4d0b09de173c391d5d50064fc20166becc194248b1ce738e8a56af5196d28c","0e0b8353d6d7f7cc3344adbabf3866e64f2f2813b23477254ba51f69e8fdf0eb","008ed9b6d1fdb68f9d98e6fd238d99be77e738892c3a1c6cf8b7616de4f8b114","08f95bee0619072d2c49854434af3e53d94e7e762fc082b49cea59e77db06905","9e5c7463fc0259a38938c9afbdeda92e802cff87560277fd3e385ad24663f214","8d59c3a0e8eacafde3525d8fab814d635e73f8f2264f461283a1ee829a67d33a","2ab9b3b4938022c0078d38ce47fe7863e259d855f04fd5a92fb8af6649b57632","7900170d0aa04a0e64ae6c9c5fa9a9307a9b86f386ff28a5c741e011929b2de9","27a7310e2ce35b87726a7407eea5acdafa79b1af695cfc6d6e9646d3fae6fe9d","c659e3b84a2946aca970719d6ce9d592af739e896b897796a01654ec6739b5d7","d1bad5c65bb5d892171ff5fa91d1488a1f9f1ea05cd186999ac6f4c87f5f5296","0af75cf944cb034d4e82703f4dd66962420dba9e5eb54efd4afb1c72a4e9a1e7","da52550d65066ae8abe7a40b78d83d241add6e5c856c3fde44ad41d329c16ec0","fdffa303e099083d53b036f3894bfb6a5897ecb8ccd862cb7a1bc48bb33188a6","0acdd3e54a0f8e171b900c2c0f91ded4eee67d66f8a5c2c3df71665d916cd5d3","2db8218540b707a68c44418f622d70613e7f48bdbd1d1c588b6d59328a317385","1b6f82081278dd8b8a2d9ac15ecf011c50fd9eec473db4522b7dcc6a48472eee","1073a0280fe97ef51e67a403729022eb7edf708fe06f6d141e14452a9b2237d4","20578c3a48ab1f580264175b665873b7887240e076c50cdbac6c483e3e759324","db6a7b3675989db344c7ffe936f7e3f75414b95b0c92328fa65c5dfc2b620bd9","f1243bcdbf01634537d5c18f9dff7f8a505e3f4b829e94c5ad68fdf03c01c8e7","8c4df0fe9e6af0d04ff7f23dcb54991cb4f2286302a95bdab923abd1e7791556","c4650a260ad06ea391ae83f42b1b95450fb2224b2531e8e3c03efb4850be1972","8abc73ce3a5accc857d06c6f2c385807c2e7401bdd40871cad126b905570dd26","556ccd493ec36c7d7cb130d51be66e147b91cc1415be383d71da0f1e49f742a9","b6d03c9cfe2cf0ba4c673c209fcd7c46c815b2619fd2aad59fc4229aaef2ed43","95aba78013d782537cc5e23868e736bec5d377b918990e28ed56110e3ae8b958","670a76db379b27c8ff42f1ba927828a22862e2ab0b0908e38b671f0e912cc5ed","13b77ab19ef7aadd86a1e54f2f08ea23a6d74e102909e3c00d31f231ed040f62","069bebfee29864e3955378107e243508b163e77ab10de6a5ee03ae06939f0bb9","0dc6940ff35d845686a118ee7384713a84024d60ef26f25a2f87992ec7ddbd64","a1c79f857f5c7754e14c93949dad8cfefcd7df2ecc0dc9dd79a30fd493e28449","f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","a4a39b5714adfcadd3bbea6698ca2e942606d833bde62ad5fb6ec55f5e438ff8","bbc1d029093135d7d9bfa4b38cbf8761db505026cc458b5e9c8b74f4000e5e75","1f68ab0e055994eb337b67aa87d2a15e0200951e9664959b3866ee6f6b11a0fe","afe73051ff6a03a9565cbd8ebb0e956ee3df5e913ad5c1ded64218aabfa3dcb5","035a5df183489c2e22f3cf59fc1ed2b043d27f357eecc0eb8d8e840059d44245","a4809f4d92317535e6b22b01019437030077a76fec1d93b9881c9ed4738fcc54","5f53fa0bd22096d2a78533f94e02c899143b8f0f9891a46965294ee8b91a9434","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","462bccdf75fcafc1ae8c30400c9425e1a4681db5d605d1a0edb4f990a54d8094","5923d8facbac6ecf7c84739a5c701a57af94a6f6648d6229a6c768cf28f0f8cb","7adecb2c3238794c378d336a8182d4c3dd2c4fa6fa1785e2797a3db550edea62","dc12dc0e5aa06f4e1a7692149b78f89116af823b9e1f1e4eae140cd3e0e674e6","1bfc6565b90c8771615cd8cfcf9b36efc0275e5e83ac7d9181307e96eb495161","8a8a96898906f065f296665e411f51010b51372fa260d5373bf9f64356703190",{"version":"e9f2cdc4e98e73a606ff68c470a8cb4f23cd638c47649d71b90a2d9413102080","affectsGlobalScope":true},"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","b0f9ef6423d6b29dde29fd60d83d215796b2c1b76bfca28ac374ae18702cfb8e","916be7d770b0ae0406be9486ac12eb9825f21514961dd050594c4b250617d5a8","d88a5e779faf033be3d52142a04fbe1cb96009868e3bbdd296b2bc6c59e06c0e","ce6a3f09b8db73a7e9701aca91a04b4fabaf77436dd35b24482f9ee816016b17","20e086e5b64fdd52396de67761cc0e94693494deadb731264aac122adf08de3f","6e78f75403b3ec65efb41c70d392aeda94360f11cedc9fb2c039c9ea23b30962","c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","eefd2bbc8edb14c3bd1246794e5c070a80f9b8f3730bd42efb80df3cc50b9039","0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","a56fe175741cc8841835eb72e61fa5a34adcbc249ede0e3494c229f0750f6b85","ab82804a14454734010dcdcd43f564ff7b0389bee4c5692eec76ff5b30d4cf66","e7bb49fac2aa46a13011b5eb5e4a8648f70a28aea1853fab2444dd4fcb4d4ec7","464e45d1a56dae066d7e1a2f32e55b8de4bfb072610c3483a4091d73c9924908","da318e126ac39362c899829547cc8ee24fa3e8328b52cdd27e34173cf19c7941","24bd01a91f187b22456c7171c07dbf44f3ad57ebd50735aab5c13fa23d7114b4","8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","4738eefeaaba4d4288a08c1c226a76086095a4d5bcc7826d2564e7c29da47671","736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","dbec715e9e82df297e49e3ed0029f6151aa40517ebfd6fcdba277a8a2e1d3a1b","097f1f8ca02e8940cfdcca553279e281f726485fa6fb214b3c9f7084476f6bcc","8f75e211a2e83ff216eb66330790fb6412dcda2feb60c4f165c903cf375633ee","dbe69644ab6e699ad2ef740056c637c34f3348af61d3764ff555d623703525db","bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","c3e5b75e1af87b8e67e12e21332e708f7eccee6aac6261cfe98ca36652cdcb53",{"version":"b602bb320b708a4b9543d2f41d30ac68c61277642686d7e744f413305d583e6a","affectsGlobalScope":true},"4c9da7d99c94f1da3eca35c7ee44cf62569f3b69863ceed9afaaedb95a86337c","206fabd39297fecdcd46451a5695bbb4df96761f4818564f1ae4f3a935b8f683","9f5868b1ffbb19aabaf87e4f756900bb76379f9e66699a163f94de21dba16835","754907a05bb4c0d1777d1d98f8d66132b24f43415bbca46ae869158d711d750d","43c6306851a66a06e170fc898fb8a6b0a1cbfa8c32c4d7c72e6b203b7d4f99e3",{"version":"e9f0a43ce9419111406ea47fe0393e28bbc847099da92c90ed36a405a877f39d","affectsGlobalScope":true},"fe5b14aee53ee37f6fde7bc62b5e1136660977ec9cbe01ab0620d108821a72e4","a7db923226c71a1567a79e6561c600f4f8d2bb7cfc7592ac8d62d1a423ebeb55",{"version":"eb5b19b86227ace1d29ea4cf81387279d04bb34051e944bc53df69f58914b788","affectsGlobalScope":true},"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","87d9d29dbc745f182683f63187bf3d53fd8673e5fca38ad5eaab69798ed29fbc",{"version":"6e2d92523017b7f8b254c2127758e5871c3467fd9de7e7f189d9bfae0eed74a8","affectsGlobalScope":true},"b2d0630483bf337ef9dac326c3334a245aa4946e9f60f12baf7da5be44beafbb","ee65fe452abe1309389c5f50710f24114e08a302d40708101c4aa950a2a7d044","2dc77a2ce0f71c340a0258ecab0260da33275b7b0951b279459eb4e50ba2c571","b3338366fe1f2c5f978e2ec200f57d35c5bd2c4c90c2191f1e638cfa5621c1f6","67f129ed8b372622ff36b8b10e39d03e09e363a5ff7821105f92f085b8d1ccba","94e9befabaf0bc4bde4db2627e186d638e720dc38bbae85ad14c1558b03e1aa2","fbca5ffaebf282ec3cdac47b0d1d4a138a8b0bb32105251a38acb235087d3318","22293bd6fa12747929f8dfca3ec1684a3fe08638aa18023dd286ab337e88a592",{"version":"921394bdf2d9f67c9e30d98c4b1c56a899ac06770e5ce3389f95b6b85a58e009","affectsGlobalScope":true},"e66f26a75bd5a23640087e17bfd965bf5e9f7d2983590bc5bf32c500db8cf9fd","17ed71200119e86ccef2d96b73b02ce8854b76ad6bd21b5021d4269bec527b5f","d341315220412b777feebc300e6a39244da42b23611668442f679208c395f679","5cf1e3dc83023bd97f6af435e1a546f3accd6801a8d616c636930c1db1fdcccf","0d950aa908dd8814536f41be36ec182410b5c771cb093a2830f6efdb518b8220","3d34f76107e372a6d0a3b4af15aee9e2af06ffdf567611c2a9aca3790a069bdd","91c9e0b1f740f498aa1dd27ca1e32800f61ad3c42518820253fb17dbaad0fc98","eccce84f0a83c0bd86d225c57a37be27e2f31d06ef442e397c0813376400bfb7","bfe509ace8b6e6bce9f85d5ab2be31044ee6c677932dd7e491a8eb2852ad4757","732d52d21605680f2e79e561b8033f3fe857813cf5c8ff77b4d99705b07c63ac","847e25124f973d7a9887312fcf320799cba76890b7209d2bed59d87e05e725f8","06a1bd08f568defeb13da11d2400d79e82d87cebbea014f238f19bb83670aa21","f51d8d87d3c9fb088b96c84bd6da9c290957b16f6a1a914a166d5800a4e9c6a9","9880d7aac7a1f60610354d8b1ad3ed3ec1c4c879f57c42e58e60098ecfb6981e","0a2a79f00f363fd68b76d3f78192e44e3c1ee633691325e3efcfc6f9c7a976a3","61dfbad6fffdc39760e3f74293b0c01891b50252666ebe1a6863470777c2723b","f3959b223dfbd0ca97229fa2031439201190253fde1c4f6d9db763a60420da69","c843d0eae9a1481f1702202cbeb7046d6e1a2f4d76ed97d042c54c73d78abfa1","06697fb60e372fbf0dcbbe2692bdb867c38081fa56772794a711f81520d46eab","c7ffa1e241da90c0588bc7e482afb4002081bf512ad1ee1562dfd51efdde0cf6","4f411fb3a58cd7750232726fbe47dd1ed2b8b9c525d4f4ab1d71b8eae79b4db4","b6172b582a34ff1ebe32d787d132cc7d031b5ca129bc44902ce217477b8dd3e9","1dcfc83d6dcc841e73e01bd10386924c0fb911774b780ee3c8983f1410a16463","f8615b9ba37b28a7c51feba0af11f3754949819727829fbc41bba638218abf50","8d5012b87f56060744979802aa8de75f76fadcac780df4aeececf0a332ff1cb9","db92a953c9126e6dae09e7542693b7dba83bbfb06121279359a77846ba835727","dd3c5686d72b5fb6145e9555e3f803f35a9c2d4524565bab07d9917785f64095","20783d45056ae38369d9a8a81918bc8f33febf0c707264d01c877e683e360353","dc0d1b83f54ecfa1e1d46dc1e91d6703d7183b186bd30057edc28912dc88d7bb","efcce62c06ed8db84eb873de3f10fb115b582d7f4e9f64126384896c02cf49de","dc52ecb513b99508e6d00e5b11716d00e14e17f4288ed6be297e41c0fbcd08f7","1359f8763dfcbdd7dc4f8279b96cfdc4004cd50b1757c45a9fd41b551321c5ea","e965c122e9ba814126e1f3db30cb7280068291c69f563907fdde4707ba726be9","e07e9c5b6e57d734750c282039bcf0b0e24e9348b2e61188316744fc4ff36e47",{"version":"fd624f7d7b264922476685870f08c5e1c6d6a0f05dee2429a9747b41f6b699d4","affectsGlobalScope":true},"7233cac35711f43b7493061d2fe7636deb6d14f8cb58e4b3ff248be46f0b543d","5aca5a3bc07d2e16b6824a76c30378d6fb1b92e915d854315e1d1bd2d00974c9","7ac531d447b3a02a20edb470eb3475bb48c9660883d03415c09379d36183d0db","893cd2b5a7a59d55edc9584cffc0ac51e35ad0290c60d671b61be53d87a02702","c753d9f4b5de5146ff13ec6b62e8fadb08643b1eccdc26fa723263765fe93dfd","8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","4b0d794d065f1a45a8d6d2adda907ef81dba7df4fac3bce75ec307d1a22a349e","d12f5fb934377314a0e5dbf6cb65c1be5ab6178ca5fbfc8546c50d3eee458647","51d508d4ff9616032a769e6048f2ada3e54a729c251e5dcff834ee9e0c2b828a","5273a936870e6f0a324df8e1d9b80190265fd3c9e7a6c1c889817ae9c60fa909","c660f4adf75a5c4725a46f7f73ba9a19c24d5b67101d7e282398ed483f3590c1","df198c163afabf78a6f6284ab8e26c0a64cac78383085d05972c936a247fb355","6d2a46050aaf02cf513f501e7df478b031018461c2fe85c91233e2b54ae366d8","8e9c191443e616c30bd47669cc59e4946b5fc23ff03c42c4578a48396688d526","0d040d689a5b08f47143fae77e8447caead3fc54c18b0213d99679e7f304e660","d5dd35a3ab9b497d3932fb0b6f40d5c1c063ba1579ff53b9a6ed4199a3bcb0b9","89005628a158578cfb8bc873c4bb6dbfc08e3b2c0fdab46ee7e5d9703cb8528e","8868268b7cb5bfb508e3844fc129cbdde23e24fae35024fca6798653a3eed289","166c027b2bfc241c7540aaf3832fdee69018185a3f8a5c8e52baba6fdbcfbd20","7b1dbd9aa1f1f5ff572521d92db24abbe319f85292019f62e4dca2741a376a35","ea49295b6d79f2e18ce98dcaa47c6ef0454a8b88e1a175970213d40271c42b1e","6930fdbc3cfdab7d0afc49022405717674ea095c77d045219d213bbd82c3b570","60c34643c5d1be4050f79a4e589bfa7e46792440efad2a3c49cfda8a72135308","fc3596b10eb99c07fccec7b04b9404d36bea341b9f486173aff1e234aceaccff","b71e7f69e72d51d44ad171e6e93aedc2c33c339dab5fa2656e7b1ee5ba19b2ad","030b5aba86fdbc5d46ffb2c024d7764791848520332a03b662dd26962e1125ad","3755d34ddf0835f31833c825aaf3c996d22d96dfc6db6d04b55e8c29213bac0a","281eb8e4ddd65b6733cf1f175dd1af1bb2595bbcea7c12324f028079ba78fdf9","54d68fee094e2ec6d34c4b7d89ba849ff87a2030fb8e907b0c4ad252009d40cf","e0fdf687219271c3031ae25cd8d3e9fe7c16ce46453ce775292887f486c2aa16","f17592fc258a847bb7d38ab25799eabce4865f24fcb441cc69a6a6277a48e6a7","512d2b3f264aac071278060d3e4f019508b8a504283708a0fc503198f244c363","5f477e9897e29f47b860b52218d645178362d3ebd17c990df9f36b0c52d0e6ff","0df7497ada3a4f6459420803ecf7e555f1ad1e7bd43c1e17bdafbc34e19d7162","2923047a1c951231f48fe77a6c2fffba8198c20dd05d4ec1b90f9e45f129adea","c688c76a19a30efa6f73cc6c133caf2cf8f9568120ff6f1b314e1fad98528681","8314c95ca15641f2a2c25704752dc2d9fc10f533986b312dcbf1f8fe544f939d","74952846d3e9b6c9ddaa3003f962a5b83f55f58f3b55525a962087fafab7f6c7","5942fb99d686253869e7f4c804b2239938cc267eb4bd78fa767ab3ee9e76d0bf","abf87d0100ab99c9d55a4ea52f0351e5261388cf4a5ad5d79cf8a5d6e8ebd1f7","1e4d12496a28dfeafbe1e5debbfe5e146df5a39e581a0ee2344a435c941458dd","10757352393ef1239b2efb42b41aa940ff67d9a40409958e9b9d3a9c7a524a64","367bba45eb437cea29f41c3a382c292c6fe6cdb7b26a389ee5d3a5eea5d75040","16ae8a0bdbb8d72fc63437587e08d0eee84ec1c165a7ea12e7d7e6f6457b7a63","9e22a3941d4e9ff901b1e3efa2f18efb5cced7f1248c2af03a511d59dd1f37e2","1e0477cba50bdeed193409008aea9e008380d7ceb9c41e4bcac9281248875570","432fe3b8769c1e1090be43baff32bccfb436c1fce8d470a45fef5a8016dbaab1","ed0e3159c03180a7ae7fe891f12b386eb311a9440a3a97e546c4d57039e43162","dc2461473d24379c8b31d308d782d27b7cd6cefa7cad8e2c89b7de03d73c0b16","b4ec3dcc11e8a52b81878d7aa998218182c36e3222e6c55177172880434823e3","aaf784daa602b58d53fb06e89a9feb03fc2c1bbe46bb2cf01a1adc8773fd4a73","4ba733d1a5ff0a0779b714468b13c9089f0d877e6fbd0147fac7c3af54c89fe0","a39e9304639454356f4a1fe20741899de0c3163e1f040d0e0acfdc8532f779e3","3bf8a15acc2dbde99020f0ebe9d16ceba9e6220e41e034003fc8f835b47642af","eae4d78e9a2660a6af2a638ac809a81d2bba1b90ec36620b2035a65cf296646b","1e21eb1938604e43aea31c89888967c7c39774d26074057ac87582208b349adc","f677a74b2b038509ea5aef4030fadc0e090cc9fd4dca4c71147934e6697c23b0","78b1daa0a8aa1f54530c110600cdcadf70c1238c0d71fd7208c1bd5b31b77db1","6e767f67b713d0507a4c5c450cee1d3b27ce1b523d5e6ade7d225da613e0318a","3470118b64b6e9ea140a7be15b04f8e39d9b17869182a177fd12be31b524c383","f4cadee14617809fe2c126a40aae853ca83700eaac4711bcde7e8b87fa349d76","63162eaa0e0e77c318006455f7053f006a974ee71206a51efd669fd762b4349c","272d5770bd166ee663a66e473a96c6c2a028a587a1d35ed68b313755b27a643c","418728880845307b1f5ce97a2f2f20e3d9f116886dfbed928b047377c661fe55","18076eca74d509e15742ef6733a1c96689485664c1a3e771d0d705fbe560007b","aa090f388d526153627ee51507c40e659a6fb9d7c669b57db95314bf429076b0","6a6bea61fbd65654e92ee68eb084d26300f7eb194bac5dcb7c3721611ec6fd8d","f8fd4518f157df6d897a336595dac0833595b4e97bdd4cc380cddfc856d51642","b688ddf5ad2d24f3fa58efd84f9ac9e3e1455031d8881dd917d72432a951e9e8","8cc83bf53997f80f7ddf98c0b70d4c625c3cd5b93ae2efe2fc0084a26d997a7a","71eb65c9011c56ea56932a87d9d171cf225f29c3aa601cffdd5818ebd0e16bd7","164f1c5c8ad203e80b827350fe3ca1c59c8106c8613e20a3ec4ea9e63dd2e730","a228ab0a7976c724d6135bbc153016418e3b8560a44101999192c5204fd31dfd","7a921991afa2ab5da7c9d94d6ee81de34724f82520fb3fabbe6eeaa29a7b5661","4c136da3b1dce49c12eac152699c6b4bc64fa93d6c7224a43c816f7e51b00930","bfac6d6a4817bf56d574b1f32b174f655e05ce45c5ddf6d17c9b592660f10935","bc7d1326a9187df243a5af0eddbc3095dc3442ffcc153c23e3974553e11b7972","0e6b3c7f300f6e2587c62783ebf78c74e61e7e85d37591e1e1ecf82cc15adc01","139ab16e09553addf17cfb7122108eb39cd406b8009692c4d1d9e3dea96ef83d","69f3d18ee459096c5e1426df332673a939b56b8bafeeec0b31b3cab1a9e4dadd","192ad3de0ae2044e97d375c601ef54149382bcf59a9eec35066465a73c434c0a","a99712388b38c17ca788b4b93cee993cc487ba69e18d98dba66000031e90c378","c8ac2f17b13f98787daf66f81b0f215e296c7f2acf5b0b43463d685700059653","e1b5820a2298308c97ac20096c391a4a064c02819ea897a20ea3f08f15051035","9d948541e42e0af1cf6e33967c13bdb3193d6507c4ff2bfde6849fe4ee15366c","a37385e604ee8726100c207afa819823079a766c30f5c38a242a9368d8c28e45","ab8c6e4a2b49a17c71848a8c7d14aa7fae2a2620c734922d8d004d59baf59ffb","c53f1e0dcd4a2c1c3e86c83345fd078ff75425ffb78654306b0f58521dc30f50","21b08a722f729d8d95892465be0977a8563dcf630b38d87886517ce6f027389c","80639ea4472a40009209e18013d543954e3e2379c712b571101ac2e8c5da0fcb","1fc98030aad398bba258e0fd2d5d6e39ab085c5d22257fbcd8181e0c2621489f","c60124cf00efc8b113c643d222cc146d15d5ea184c04df3cce9ce8652e42a6fc","7bf91a5d5e38618029b7d1703db7c0219f9eda3024fd816360d2ae791e89d1b3","0f4e57b76239328d40d68e9c6271b4f17a19970bdbff18d90e08031b04efc19d","bd683b2b79122ede787c445f2a35505d9dc60cdd3c2ed08cc05d1140c6807241","361ec213e909dea3b00f0aa91e1f1ccafe04eaae327a45bf33fe3c3a9a28d13d","6a60665f3bf35c7be844746ab2f796bb4076118559a7c660cf95fe01163bc79f","6e322a837838dbaad00bd298c6f33f5dfc9a5fed6792b0ae1d00b2da68afc2ac","f54c06d4e8fbc4f666c8c0830ac3c1cd06e39bf682347dbd84bc0ae05d3a162f","bd307a41d5962bb877f46e5447db73aead39ca6e87ec7fb9c29368a78731cd32","0f638672b9749835cda995e8eea6ffd2c17c505eb5b51cd263686b1abb5af9ea","105d7842497ad972a7f358d57aa0f95f722d67ce8fb0efc7d93247be6e7b025d","beb69bf7a052aa881fc18d7f7ccd47918719c1ba9ea2c92304bca4266a95df6e","1f0a034bc92b2b6bf1579253aa20a4983b2170cebdad9ff1e13718c5b58aadbc","07d41369f44f66a60cdd99267d7fd3b4c195d8fb9576a7a326b439bf3cc7b11a","8eb1f35d3bd99cfb4a61c87f756ae9389709e3cfdc0c4a54589b2e37c814b5a5","8027a5c97cc51405a3382c6b59d9690fd4ad8166dbb43e7976e62efc4a49fdce","d6fc38421f16d0a68a6d782a94f567464c1c441fc14949441a140b87a29d7ddd","9e9e3b18823c2179e426b11a6945f6586450d9db21e9eea0eb60491d018fa62b","d7a12dd03519d05cf43d70990cff5caf033f9b283aac0706e11519ddebf4e945","4998cbff67e76f385d9955674a9f2ac385926e807ed371ed357ccb6f03a4d72e","248195b6ec3d8c14855fa7ba39147abdcf4f2f6bab9c80b70252a96ae6fb1cec","1c548e5976ee7f2a3c46b88c09db5d1e7d95d464eff7536cb26515eb62b68694","a1e35cae2fcc3e93644f0c69984e138e84b3732961a3b9e91225d612946b4d4d","848c83b9294d41fc9fd8eb360b5a28563cc24f3e8f045f169b5cf1a7201a551a","6bc8df13510289edc16bf48bff69384ae05288c9c5c0fd2c38e454dd222a9499","08f77f39ef225aadaa1351d0ae1c4ca7a1d1886b1425c7cb63ef910885582c69","b29f216a35d3fd0688b305d31f483781b27c64a40cf76816020a1dcda4816fe5","9fe3723a3f5f2daa1317099c833ddf6e9859c3298fdc0edb4e06b463f9805761","09f59f210312b40890556fb204cc7822a41b918bdb90ba2618a932ab4af715da","371ddc98c5d6b8e553cf188d0b4037e773f4e1c5838dc0d68d23a3a8e376f312","a4ef836229dea41c44c1263d9abcf8b5d671969db90b3c6bb791094dc39a9a53","78f98988f34eef18c7b8e6853a3f5a4cf6247ae21832467932fbcc09a1287cab","1bdf5b5d4a633c4f5f246f81935cbce1cf5e5d8d9803b51fce46e1bd77cd892e","0c743b9395951a19992751718944e5efe0ba9db0f5fc4d55f348ab28760be918","62141f6672ab5a102d856e071fe459b2d83c973e150b842e9c1921965546d00b","d3de1f092f689c00d81dc2fee835ea7589e898b5bbaec44ffe3185020169900f","3e64a146b4c55e0d1278492b0643d8eb16cc6b79174295715f7e401a7aa4af2e","1ea27fff2ec857fa8a4dace7d210563a6c1f6b137fef3ec9455b4075124f35f9","b6f1c1fe1e0d3cb2c803e3a0685f029de6bbbdc3fcbd6d6df297d01a21848cc1","49d91fb60620bc8b3be5c1907cfc9a4811af9059b9e431941ca3b9a27309a185","c7dd8530f4cf12cc2955e1d5ccc5d556934862f0b11649e1cfcc94a3d96df146","f359dfb36d9ff7a94275b957a1c44709260497699a91bdfe1a5d2fd027a57b29","477f83ae5ac7bbc5e9bbf9981eaf7e720bb5a4f81d71427a9599f77a98889b64","fefe2547c95f38f79fc4d3d104319ff3d04d717323b45d62d4a3c46773b30f47","c78a500c32fa34be839024265a785c8172a655e270bd726f596716400ccb6191","b7fc8c07ca728c94149ce0e5ee64c21100aca7be97cc53917eb5b8b18976bd59","ea80eb37e9e11c4c2749ee3129e0d1d9f82e5b85723649f513afe1b2c8f5e51a","88b73800dc18e1470090faaf16765668ae154f87788da73214713a05980f68e6","5afeb741b747e4ca22dbcfd57b569c68eb7012c628841ef194eda42ba5b408ab","3d2022e40c2049f7ed484bb084c1a82add9b9e3c4647c23cbf3cd82797b5a59d","5791278922d75f7f3aa13b64d3f8ec2821302c7d3b660c8bc6b98d4a6b7ceddd","76f3f959fcce95b9ada79dfac10b7c5df81ecd85bacaf4d15ce5478e8ac2dd31","5265463dd08020db16b1763ce461004ba99f7d90288ce9444b765cd5060a51bf","3d55311307c15709ca243752aa8a7975fabd92dcc05e6121b2d48ad3213d39f1","b5c5844591132b944b7e5ab87bd288637ecacb23d945637de4ddc9344f25a20d","5e739c6cdb908e7546e5da530ba079166632e69cddd942736660e570acb92479","8f7482100023e5397eb7c1d8fd2595c929727ff423ea1f0b904cebdd37051bc7","7610fe0373d65bcc33f21d57eeba77551e8ce06a8a6abf7576298c69425f81a6","0313fbd97cac12034f11dea9fe85423e240c36ad36d646b00c5d4bbe57f33d7b","ff3765ee3b28da17a4537c891a04883e9f48bb5634f131f5860a85c8ec6dfd75","05c84e8c5123994a210f56d11a4cb9e623f6ad1897c1728c22e4f42f7dd1bf33","dfdc40f6fb796f1bf2f6e2336d711542fd7f3babe1da9d0acb5567e529fb4ab6","ba60980f49610f5e93009be094d68bc20f63568b1aa0c1d08151466390c0c203","9118804631fdd772a2164f6d7f94f290950b317aa4b81a543a9bcb1c9a01aa0a","37bfbfbec5d900c379b7dc65bf3ad2a9a0312fad4c91778ae3c73590d2d37b6b","64ca3e8fbfbfcae6d0d1e584a89bd169d7dc49233868d2a1b91301436fa95c7d","747199468ebdc82eb604ad75091390d5a1312bfc6e4a2411aa2e69a01b9b6062","0ba73f979f6f0846573338b7391911f80115004c5bed0e2e01b5d83064fbc06f","9b8829ef6f4c70d21e9a9f4653b1b69bc122b482aeccb6e1f7344bbe226837b2","afd5b50a4d20db25e060396161acdf718fffa3b73a85fb3ec75f2607cfed03c6","752e7f35c0b26df44e99a773ca1f37195dacce8847394a28fb29fc2984d98bda","d3eb2f8d171b641149c42a27d8d9d046ddfcd7d80ecc13aabf745eb77aec83ea","cd5588e6cb3863212109cb8f531b5715b23818491a1f7cce7633fc25db67d855","8c14b1e1ad4ddf5e8145459bc11ffdc84a35bad032d0671d67f4e62f9fcb6848","9fa45eaaf2626085d031569a52f54714405cec7b6bacb041f28fe7adfd247a05","56e3c947d17551543a81da36538d51efe75cc56a8576f89bbbdba62934b0b3b1","349d0ef543aa9bfccd41b52a48cfd9a413e0b256b6cb146278eeb8a9cef006e9","5d729de8b0b70bb4a4f0de2c263f42a3fc9612234665cb5d4f147e82e4ff7419","8350938747a211bf7666131edf2bcf38b464c048aff5a3b64e119fb9b900280c","25987a832e6a9303585accbe47950a9880445f1da53144094f6fc1090335392f","cceaa2d33e02d167889ed2484bd540d08792a8dc695e2352f1ea32b061d9d8b9","55a3a1e1a6b1d91c3a233e3e1eaee28db13e3fc917941f3f5022f28469480cad","a70bf51744ec939a5c87a636c383e0118d3b9332b9863b2c1df158194e1680a6","e52ad7566b687e35a98b4a202e3ee380ecfd5babfec74f79519a52d70211260e","24551b8482b56cba01f5a76871010c9898f87ef22c066b654bc79d6851fb65d8","e1b7d8ebc348369c2636d0548fcb95772a41f13669a92484998636d5c6f6f84c","0c39a6721f4481d28125672874d12f869db7beeb63efa5ea207a894a06b01990","5a4b056c4c7b1af3d3310ef90287b814f28062f2eb1b7ba1fbba74024ff751d5","fbf180777acc17ed6f59f0fd1639745c64dedecb2ca7886214999c0535ff02da","473a574ee3ffd1ab73bf001acb92d443c50c7ce58854c08c78ae89522f3b2af1","28cf4b88597d75f21d50d3e89cc60914ef1100ca7647c0bca0d44d0e04a83fdc","b93c28cb909567706ed85fcead09cd9ec116a9951727e9560a908b8e92c31ebe","3e0528d53eb3f2386d770412b4dcdd508ea8db6d7a32fac07b27e857b200c6bc","7efce11f987fd2d555babdcbbf505520c31671ad4ac08b298bc237f62ddd6941","5d96064fd7419a9faf2ec2118c273a6245d4933ff18774b39237e3a130ba0ea0","94755c3ecfcf813ef35c06e17b0494cea726eff490be46ec7f10b343cd6d6c66","780d4988de0352edd1800224ae70dced2a527a8d6bff3a7ab13927f3d778740d","59bf56dbda4409f8e87676340c5bfb65cf674442e611a680f9f461c8898c46dd","7c9de3d7e945f169a38c135a9f3799746d5774958edc38e7cb800451ce551c6b","57f2d9377264cf90b169ba4bbbcee8135d1350d8523d60a41d5523cf8456f226","8d2a53c59c82a8fac953afd36ca75783f60dcc5dec4740f1a00e8986f1119634","9fbae82aa0cef1eb7c06998fafcaaf8b7b049c1fb95db6e9bed4ae0138617a17","a708f4132704cfb8b845d32c02cd098651a52a1d63881e31dd62c6cbb030f1ba","6b49104db548c557a2f8aca0f0880297ce3a28185cc7930ae109b795b8be50d9","1b905f84eb4131fdbbaa1df421065c1eabca4eb7c0836a52e3975b9f1a57ca3c","2946da37f4281a3ae5953029d73da48da996766b7bd4fffa79e075c3d417e42c","6fc46a5d53ec8adf91eab29757341dafa54f9501c82289215f36a5bd43c6931c","984f1339e461e3a66b54b3689ff8726fdc621eae56063b9a9cef72aab669b208","13152f53e825223b643376711dc4ddbf3fc02d0f2f1ded4e78ff3abe860f563f","81404cf1eb59c372d341a4e4e9ccadaf97cd3fe7e8ff0d46e428d4dc4470bd5e","7ff73f6c8e866cf4d94c06eda365b1e24185a070f66d8d14191ae8a53943d1d9","fa7641ba6b65ee5cc712bb8e79d55aefabc3d9f77595370fde1b344b56798293","fbae464f654de7497f07a70e88429222c0b6a5fcc785f54809b6774ecba8f88b","fe0e99fc2ff678d100b516eef3c5989c5cc49ecac82569630944f6b561e7599e","0312f4bdc9c7ac185ae0fefc98a77d86121aaecb95ad620adec260ebb813af73","d90f57351d3732b66e3245e3e38c3327396a25a9d638c81313307110d99b5cdc","d7065c2df449f17ae78a3a7382deac2e388ada6bc0428c5747a4a80d0718e283","355d745d283e4f89bd785542bdba50ae1ab31ca5fa9618f2e221fbe12b9933cc","384fddf003645c4e2212b1a9cf7709ac125dc572e0fec9c9378a2bf9ba6369d3","bbcd46158e4cc0eccc0043c93b22cdc522148ab501cb09c90e96820f8d87d9ee","6d72d622f589ff41ab26a4cb2adcd01fcb3d271c26b2985ec29c17bcafc82649","6c703676e52e268bd57f00eb52f4ea47a8490b103ede7db6259a83e73cfbbc1b","c6b0ce58e6fd87a883d690422cbd04b16346cf268acbffc434df6c3f88716c65","ef64d9a231218149fd0ca3a1ef5c27332ec1048288f7703e12d1ae69efb2d941","af6a3de59db11678db7db38b4ec09e563013bfc0a7f7a06b89c57069bdacb700","a8044bef7f524d3a03f0666eb260818025177c1cbc6ed6c17c0c1639b7892a04","c9034cec3d059fd9345ab9b5f9c35ce88e1293b6cd0e7449422d91faf5a2bd2a","46f7c04e8a6fc8476293af851ad39f5dd275aad4a8ada115dc7831fd2a86644b","aaff0d72aa207f1558cbfb1a4748c5a5a9a7e0257abadc338cab6a019eb3c0c8","a1325c800e29589d0931806b33b36eb23d44b735138734d0e7280d524e814a10","d78cadcff2b7eee1aecf1fda437d844617e64507e640f47ea729c80aef632fe8","6f887e3afb0de4b6a4e79fb8512910736c1cb43909dabded07521a98fb3ab493","1e23c65f00a3bbb5a94f4a344e7d16762fcc7a9abaf7be7600a8cd38f22531d8","b428ef19e21c3a1895fef811262cc7ae0bde0274e77fe0426663c27ce86a1946","6996398eb3a1f3ee5bc2540f38f716ab941c9ad70fbdfc5a7d7eea87ba6c3cab","85a60dc56301151a1290f2935618f1c10642db39c9385d85bb56580f0481bdb3","a57dd6772ffab02f233287ba6a8f769e35906316605e82ed4f023f409319f2c8","a26ac33854e8d27ef4253f517861b287eb5e7f7c3eb53b3f8a06e28b0e3cfa23","c0052b367c598946d934581c9156f5bf06846a543bd8f1a419fbbedf0c49db5d","2360668f67c85a1ea07864282b797189555b9b9928be94685773ed8381302588","59fc39062aec81b871c29e9f246333d14d0c60ce3d5e3a01b3eb6336f69b6473","ccc6589b9029f32ed53b59cbe7bc71ce795ce0006a93b7cb2427f573856c74e9","821d22def6acf0fb49cdb3e0912881f47c5039f8dd730db1113bef321b9bb4ff","6c5c5605ae801d8af7781b57643e379106763ba7c30d7535e42f65e5ed957b58","31ac52f37d77ba63441903136b65f863071d22fa41ce8ca3bd12fdaa8fbae4b2","408d7457ea4c677bac1a16b0266eba485959ebd5bb49cbc2653d3dbeb0ac38a4","cf11f4e19b500ba6f488bdb61a1810c23e15d7bdb994e821d405470158ada1cf","9736f4d069b690ae03aab866b7d899230edb963c3291db0290373bf6891ed2f8","9d32399dfb6664d547d295c129375260a51ae3c066dc11d2b0917bcddab9f55e","9276db2dda8f3679dcc0ac11f32603d90d41486025fe5d7c5bde82598e70b953","61f41da9aaa809e5142b1d849d4e70f3e09913a5cb32c629bf6e61ef27967ff7","a431e70dbd282c8a6d7794d88c92fd552f6cef7f22c81b3db0acb422d7e03cac","c2eb1bc18bcba42184bd385ae433db3657f9f0f2804c40a3df3b233e448f6899"],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"emitDecoratorMetadata":true,"experimentalDecorators":true,"module":1,"noFallthroughCasesInSwitch":false,"noImplicitAny":false,"outDir":"./","removeComments":true,"skipLibCheck":true,"sourceMap":true,"strictBindCallApply":false,"strictNullChecks":false,"target":4},"fileIdsList":[[61,66,249,642,647,652],[61,66,889],[61,66],[61,66,107,113,120,165,170,174,189,193,200,238,240,244],[61,66,165,189,201,238,244],[52,61,66],[52,53,54,55,61,66],[61,66,120,173,189,191,207,238,244],[61,66,239],[61,66,244],[61,66,176],[61,66,190,244],[61,66,145,244],[61,66,120,145,244],[61,66,148,244],[61,66,145],[61,66,120,144,244],[61,66,174,244],[61,66,145,146,147,148,149,150,151,152,153,154,155,156,157,158,175,177,178,179],[61,66,118,120,163,189,190,192,201,238,240,244,249],[61,66,118,120,163,189,192,201,208,240,244],[61,66,164,190],[61,66,107,113,161,244],[61,66,116,161,195,244],[61,66,120,161,162,190,239,244],[61,66,201,244],[61,66,193,201,244],[61,66,120,190,201,244],[61,66,116,161,190,195,201,244],[61,66,107,113,120,244],[61,66,107,113,114,116,120,161,195,197,201,244,249],[61,66,114,115,116,117,161,162,163,194,195,196,198,199,202],[61,66,240,244],[61,66,120,171,244],[61,66,170,201,240,244],[61,66,120,170,201,240],[61,66,171,172,173],[61,66,182,191,194,208,244],[61,66,194,244,246],[61,66,246,247],[51,56,61,66,118,120,144,165,170,174,176,180,189,192,200,201,207,238,240,243,244,245,248],[61,66,204],[61,66,204,205],[61,66,203,204,205,206],[61,66,120,144,180,202,244],[61,66,184,244],[61,66,182,192,208,244],[61,66,174,201,244],[61,66,120,182,244],[61,66,184,187,244],[61,66,181,182,183,184,185,186,188],[46,61,66],[47,61,66],[46,47,48,49,50,61,66],[61,66,118,244],[51,61,66,119,121,144,176,190,200,201,208,244],[61,66,119,191],[61,66,197,241,242],[61,66,121,192,244],[61,66,113,126],[61,66,121,128,192],[61,66,132,192,244],[61,66,107,113,192,244],[61,66,113,121,192,244],[61,66,140,191,244],[61,66,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143],[61,66,120,144,165,174,189,192,200,201,238,240,243],[61,66,107,113,244],[61,66,159,189,192,200,238,244],[61,66,159,165,189,200,238,244],[61,66,159,166,168,190,200,201,244],[61,66,159,160,166,167,168,169],[61,66,182,190,208,244],[51,56,61,66,120,121,174,176,181,182,184,190,192,193,201,202,207,244],[61,66,165,208,244],[61,66,192,244],[61,66,182,192,244],[61,66,201],[61,66,106,113,120,163,192,230,244],[61,66,193,208,209,231,232,233,234,235,236,237],[61,66,249,706,726],[61,66,249,706,708,714,721,726,727],[61,66,249,725],[61,66,249,706,713,721,722],[61,66,249,706,714,721],[61,66,706,708,713,714,721,722,725,726,727,728],[61,66,708,716],[61,66,107,113,249,708],[61,66,249,708],[61,66,107,113,249,706,707,708,712,714,722,729],[61,66,249,706,707,708,722],[61,66,707,712,715,716,717,718,719,720],[61,66,249,710,726,727],[61,66,249,708,709,726],[61,66,249,708,710,711,726],[61,66,249,708,711,722],[61,66,249,706,708,710,711,726,727],[61,66,709,710,711,723,724],[61,66,249,706,707,725],[61,66,884],[61,66,249,729],[61,66,249,729,879],[61,66,249,729,878,880],[61,66,249,729,878,879,880,881],[61,66,879,880,881,882,883,884,885,886],[61,66,249],[61,66,637,638,639,640,641],[61,66,592,637],[61,66,249,592],[61,66,249,592,637],[61,66,249,592,636],[61,66,249,650],[61,66,651],[61,66,644,645],[61,66,643,646],[61,66,729],[61,66,249,729,730],[61,66,249,731],[61,66,249,729,732,733],[61,66,729,730,731,732,733,734,735],[61,66,498,500],[61,66,529],[61,66,449,529],[61,66,530,531],[61,66,251,501,532,534,535],[61,66,445,498],[61,66,533],[61,66,498,499],[61,66,499,500],[61,66,498],[61,66,478,485],[61,66,592],[61,66,502,503,504,505,506,507,508,509,510,511,512,513,514,515],[61,66,454,485],[61,66,478],[61,66,451,498,592],[61,66,520,521,522,523,524,525,526,527],[61,66,456],[61,66,498,592],[61,66,516,519,528],[61,66,517,518],[61,66,489],[61,66,456,457,458,459],[61,66,537],[61,66,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558],[61,66,561],[61,66,95,113,560],[61,66,498,566],[61,66,445,563],[61,66,566,567,568],[61,66,498,563],[61,66,564,565],[61,66,113],[61,66,250,460,498,529,536,559,562,569,583,587,589,591],[61,66,255],[61,66,255,445],[61,66,454,571],[61,66,448,573],[61,66,445,449],[61,66,255,498],[61,66,453,454],[61,66,465],[61,66,467,468,469,470,471],[61,66,460,473,477,478],[61,66,479,480],[61,66,252,253,254,255,256,446,447,448,449,450,451,452,453,454,455,465,466,472,477,478,481,482,483,485,493,494,495,496,497],[61,66,476],[61,66,461,462,463,464],[61,66,454,461,462],[61,66,454,460],[61,66,454,463],[61,66,454,489],[61,66,484,486,487,488,489,490,491,492],[61,66,252,454],[61,66,485],[61,66,252,454,484,488,490],[61,66,462],[61,66,486],[61,66,454,485,486,487],[61,66,475],[61,66,454,458,475,493],[61,66,473,474,476],[61,66,450,452,466,473,478,479,494,495,498],[61,66,256,450,452,455,494,495],[61,66,459],[61,66,445],[61,66,455],[61,66,570,576,577,578,579,580,581,582],[61,66,455,498,576],[61,66,455,575],[61,66,455,575,592],[61,66,448,454,455,571,572,573,574,575],[61,66,445,498,571,572],[61,66,585],[61,66,529,571],[61,66,584,586],[61,66,475,588],[61,66,484],[61,66,460,498],[61,66,590],[61,66,473,477,498,592],[61,66,593],[61,66,498,592,601,602],[61,66,597,600,601],[61,66,605,606],[61,66,592,594,608],[61,66,609],[61,66,601],[61,66,608,611],[61,66,250,594,603,604,607,610,612,615,620,623,624,625,627,633,635],[61,66,498,595],[61,66,454,482,592,595,596,597,600,601,603,636],[61,66,597,598,599,601,614,619],[61,66,254,454,482,592,600,601],[61,66,613],[61,66,592,598,600,617],[61,66,498,592,600],[61,66,592,596,597,599,616,618],[61,66,592,598,600,601],[61,66,454,592],[61,66,454,498,598,599,601],[61,66,600],[61,66,482],[61,66,461,465,498,621],[61,66,622],[61,66,498,598],[61,66,454,498,592,598,600,601,617],[61,66,466,473,477,592,594,598,603,624],[61,66,476,477,592,593,626],[61,66,629,631,632],[61,66,628],[61,66,630],[61,66,592,597,600,629],[61,66,254,454,482,498,592,598,600,603,615],[61,66,634],[61,66,592,659,660],[61,66,659,660],[61,66,659],[61,66,673],[61,66,592,659],[61,66,657,658,661,662,663,664,665,666,667,668,669,670,671,672,674,675,676,677,678,679],[61,66,659,683],[61,66,250,680,683,684,685,690,692],[61,66,659,681,682],[61,66,592,683],[61,66,686,687,688,689],[61,66,691],[61,66,693],[61,66,214,215],[61,66,215,216,217,218],[61,66,113,215,217],[61,66,214,216],[61,66,79,113],[61,66,79,113,210],[61,66,210,211,212,213],[61,66,210,212],[61,66,211],[61,66,95,113,219,220,221,224],[61,66,220,221,223],[61,66,78,113,219,220,221,222],[61,66,221],[61,66,219,220],[61,66,113,219],[61,66,757],[61,66,648],[61,66,889,890,891,892,893],[61,66,889,891],[61,66,81,113,750],[61,66,81,113],[61,66,896,899],[61,66,896,897,898],[61,66,899],[61,66,78,81,113,742,743,744],[61,66,743,745,749,751],[61,66,902],[61,66,903],[61,66,907,911],[61,63,66],[61,65,66],[61,66,71,98],[61,66,67,78,79,86,95,106],[61,66,67,68,78,86],[57,58,61,66],[61,66,69,107],[61,66,70,71,79,87],[61,66,71,95,103],[61,66,72,74,78,86],[61,66,73],[61,66,74,75],[61,66,78],[61,66,77,78],[61,65,66,78],[61,66,78,79,80,95,106],[61,66,78,79,80,95],[61,66,78,81,86,95,106],[61,66,78,79,81,82,86,95,103,106],[61,66,81,83,95,103,106],[61,66,78,84],[61,66,85,106,111],[61,66,74,78,86,95],[61,66,87],[61,66,88],[61,65,66,89],[61,66,90,105,111],[61,66,91],[61,66,92],[61,66,78,93],[61,66,93,94,107,109],[61,66,78,95,96,97],[61,66,95,97],[61,66,95,96],[61,66,98],[61,66,99],[61,66,78,101,102],[61,66,101,102],[61,66,71,86,95,103],[61,66,104],[66],[59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112],[61,66,86,105],[61,66,81,92,106],[61,66,71,107],[61,66,95,108],[61,66,109],[61,66,110],[61,66,71,78,80,89,95,106,109,111],[61,66,95,112],[61,66,918,956],[61,66,918,941,956],[61,66,917,956],[61,66,956],[61,66,918],[61,66,918,942,956],[61,66,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955],[61,66,942,956],[61,66,79,95,113],[61,66,81,113,746,748],[61,66,79,95,113,747],[61,66,966],[61,66,895,914,958,960,967],[61,66,82,86,95,103,113],[61,66,79,81,82,83,86,95,914,959,960,961,963,964,965],[61,66,81,95,966],[61,66,79,959,960],[61,66,106,959],[61,66,967],[61,66,969],[61,66,113,226,227,228],[61,66,226,227],[61,66,226],[61,66,113,225],[61,66,81,95,113],[61,66,229],[61,66,905,908],[61,66,905,908,909,910],[61,66,907],[61,66,78,95,103,703,704,705],[61,66,761,762],[61,66,906],[61,66,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,273,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,313,314,315,316,317,318,319,320,321,322,323,324,326,327,328,329,330,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,376,377,378,380,389,391,392,393,394,395,396,398,399,401,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444],[61,66,302],[61,66,260,261],[61,66,257,258,259,261],[61,66,258,261],[61,66,261,302],[61,66,257,261,379],[61,66,259,260,261],[61,66,257,261],[61,66,261],[61,66,260],[61,66,257,260,302],[61,66,258,260,261,418],[61,66,260,261,418],[61,66,260,426],[61,66,258,260,261],[61,66,270],[61,66,293],[61,66,314],[61,66,260,261,302],[61,66,261,309],[61,66,260,261,302,320],[61,66,260,261,320],[61,66,261,361],[61,66,257,261,380],[61,66,386,388],[61,66,257,261,379,386,387],[61,66,379,380,388],[61,66,386],[61,66,257,261,386,387,388],[61,66,402],[61,66,397],[61,66,400],[61,66,258,260,380,381,382,383],[61,66,302,380,381,382,383],[61,66,380,382],[61,66,260,381,382,384,385,389],[61,66,257,260],[61,66,261,404],[61,66,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,303,304,305,306,307,308,310,311,312,313,314,315,316,317,318,319,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377],[61,66,390],[61,66,698],[61,66,78,113,697,699,700],[61,66,701,702],[61,66,697],[61,66,649],[61,66,758,876],[61,66,79,113,876],[61,66,759,874,875,876,877],[61,66,875],[61,66,764,765,766,767,873],[61,66,764],[61,66,764,872],[61,66,872,874],[61,66,759,760,763,875],[61,66,768,769,770,771,772,773,774,775,776,777,778,779,781,782,783,785,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871],[61,66,819],[61,66,846],[61,66,847],[61,66,774,806],[61,66,773,786,798,807],[61,66,806],[61,66,780],[61,66,850],[61,66,776],[61,66,816],[61,66,773,780,798],[61,66,773],[61,66,780,827,865],[61,66,830],[61,66,835],[61,66,833],[61,66,837],[61,66,779],[61,66,841],[61,66,818],[61,66,768,776,778,779],[61,66,798],[61,66,768,780,821,841],[61,66,770],[61,66,769,770,772,779,780,821],[61,66,854],[61,66,852],[61,66,782,825],[61,66,768],[61,66,780,782,783,784,785,786],[61,66,782,783,784],[61,66,773,780],[61,66,785],[61,66,770,796],[61,66,780,785],[61,66,856],[61,66,774],[61,66,850,859,862],[61,66,774,776],[61,66,774,776,833],[61,66,777,780],[61,66,592,654],[61,66,249,592,636,642,654,655,741,753,754],[61,66,636,694,751,755],[61,66,887],[61,66,694],[61,66,249,694,695],[61,66,249,694,696],[61,66,592,694,695,696,737,738,739],[61,66,592,642,695,696,738,740],[61,66,249,592,642,656,695,696,736,737],[61,66,378,445,592,752],[61,66,972],[61,66,973,974],[61,66,973],[61,66,975],[61,66,983],[61,66,971,988],[61,66,983,1003],[61,66,983,1022],[61,66,1022],[61,66,1004,1023,1024,1025],[61,66,997,999,1003,1016],[61,66,997,998,999,1000,1001,1002],[61,66,996],[61,66,999,1005,1006],[61,66,1005,1007],[61,66,1006,1007],[61,66,997,1000,1003],[61,66,997,1016],[61,66,997,1000,1003,1005,1007,1017,1018,1019,1020,1021],[61,66,997,1003,1005,1009,1016],[61,66,997,1003,1016],[61,66,997,1003,1008,1009,1010,1011,1013,1014,1015],[61,66,1003,1011,1016],[61,66,1011,1012],[61,66,997,1009,1011,1013],[61,66,983,984,1027],[61,66,980,981,982],[61,66,1267],[61,66,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1049,1050,1051,1052,1053,1054,1055,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1170,1171,1172,1173,1174,1175,1176,1177,1178,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1257,1258,1259,1262,1263,1264,1265,1266],[61,66,1032,1085,1086,1107],[61,66,1032,1083,1084,1090],[61,66,1032,1044,1085,1086,1105,1106],[61,66,1085],[61,66,1032,1080,1081,1082],[61,66,1083],[61,66,1032,1083],[61,66,1086,1108,1109],[61,66,1110],[61,66,1086,1108],[61,66,1109,1110],[61,66,1113],[61,66,1086,1090,1091],[61,66,1049,1076,1086,1117],[61,66,1087],[61,66,1087,1113],[61,66,1032,1091,1092],[61,66,1032,1034,1038,1040,1041,1044,1064,1090,1091,1093],[61,66,1065,1093],[61,66,1065],[61,66,1063],[61,66,1032,1064],[61,66,1063,1091,1092,1093],[61,66,1034,1035,1036,1044,1048,1049,1062,1065,1076,1078,1085,1087,1090,1091,1092],[61,66,1036,1038,1077,1086,1087,1090],[61,66,1032,1047],[61,66,1047,1049,1071,1076,1116],[61,66,1038,1090],[61,66,1038,1127],[61,66,1141],[61,66,1038,1139],[61,66,1038,1140],[61,66,1038,1094,1141],[61,66,1128],[61,66,1090,1127],[61,66,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137],[61,66,1048,1086],[61,66,1150],[61,66,1152],[61,66,1038,1065,1090,1127,1141],[61,66,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169],[61,66,1038,1065],[61,66,1065,1090],[61,66,1065,1141],[61,66,1143,1155],[61,66,1065,1090,1127],[61,66,1086,1090,1095,1171,1190],[61,66,1094,1172],[61,66,1040,1094,1172],[61,66,1086,1095,1172],[61,66,1087,1172],[61,66,1086,1091,1095,1171,1184],[61,66,1095,1172],[61,66,1086,1091,1094,1095,1178,1179],[61,66,1043,1172],[61,66,1086,1091,1095,1176],[61,66,1084,1086,1091,1172],[61,66,1068,1086,1091,1095,1172],[61,66,1068,1095],[61,66,1095,1198],[61,66,1068,1086,1090,1095,1183],[61,66,1067,1115],[61,66,1068,1090,1094,1095],[61,66,1067,1086,1094],[61,66,1068,1197],[61,66,1038,1053,1066,1068,1087,1091],[61,66,1068,1095,1175],[61,66,1067,1113],[61,66,1068,1086,1090,1094,1095,1193],[61,66,1085,1201,1202],[61,66,1201,1202],[61,66,1065,1121,1201,1202],[61,66,1201,1202,1204],[61,66,1116,1201,1202],[61,66,1201,1202,1206],[61,66,1143,1201,1202],[61,66,1202],[61,66,1201],[61,66,1047,1048,1201,1202],[61,66,1047,1048,1065,1085,1086,1121,1201,1202],[61,66,1047,1201,1202],[61,66,1048,1094,1095],[61,66,1234],[61,66,1032,1043,1044,1046,1047,1076,1094,1095],[61,66,1048,1179,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235],[61,66,1032,1047,1048,1094,1095],[61,66,1032,1047,1048],[61,66,1047,1048,1090],[61,66,1032,1038,1047,1048,1094,1095],[61,66,1032,1038,1047,1048],[61,66,1038,1047,1094,1225],[61,66,1047,1048,1094,1095],[61,66,1222],[61,66,1032,1045,1048],[61,66,1038],[61,66,1039,1041,1043,1086,1090,1091,1093],[61,66,1093,1095],[61,66,1090],[61,66,1034,1090,1091],[61,66,1040,1041,1043,1086,1090,1091,1238],[61,66,1090,1091],[61,66,1034],[61,66,1034,1035,1090,1092],[61,66,1040,1041,1042,1090,1091,1092],[61,66,1035,1090,1091],[61,66,1040,1041,1043,1090,1091],[61,66,1040,1043,1090,1091],[61,66,1038,1040,1043,1090],[61,66,1092,1093],[61,66,1034,1035,1038,1064,1087,1088,1089,1091,1092,1093],[61,66,1034,1038,1091,1093],[61,66,1079],[61,66,1086],[61,66,1048,1065,1091,1093,1094,1190],[61,66,1078,1086,1087],[61,66,1048,1065,1078,1086],[61,66,1048,1065,1171],[61,66,1084,1091,1206],[61,66,1048,1065,1090,1091,1190,1244],[61,66,1038,1065,1078,1086,1236],[61,66,1076],[61,66,1047,1071,1076,1116],[61,66,1044,1047],[61,66,1071],[61,66,1032,1044,1047,1053,1070],[61,66,1032,1038,1040,1047,1048,1049,1050,1051,1053,1054,1055,1059,1060,1065,1066,1069,1071,1072,1073,1074,1075,1086,1087,1090,1094,1095],[61,66,1045],[61,66,1050,1064,1093],[61,66,1048,1050,1051,1059,1065,1086,1093,1256],[61,66,1050,1051,1060],[61,66,1048,1055,1087],[61,66,1050],[61,66,1060,1065,1086,1093,1256],[61,66,1059],[61,66,1050,1051],[61,66,1052,1058,1076],[61,66,1048,1049,1050,1051,1059,1076,1254,1260,1261],[61,66,1048,1049,1055,1059,1062,1065,1086,1087],[61,66,1032,1049,1050,1061,1068,1076,1087],[61,66,1032,1048,1050,1051,1053],[61,66,1050,1051,1054,1055,1056,1060],[61,66,1057,1059],[61,66,1062,1072],[61,66,1044,1062,1072,1087],[61,66,1094,1095],[61,66,1037,1094],[61,66,1037,1047,1048,1076,1086,1087,1094],[61,66,1032,1038,1044,1092],[61,66,1094],[61,66,67,111,113]],"referencedMap":[[653,1],[891,2],[889,3],[201,4],[176,5],[52,3],[54,6],[55,6],[53,6],[56,7],[239,8],[240,9],[152,10],[178,11],[156,10],[157,10],[147,12],[153,13],[158,10],[154,13],[155,10],[151,14],[150,13],[148,14],[149,15],[146,16],[145,17],[175,18],[177,11],[179,3],[180,19],[164,20],[190,21],[165,22],[162,23],[196,24],[163,25],[116,26],[194,27],[117,26],[114,10],[195,28],[202,29],[115,10],[161,30],[198,31],[200,32],[199,10],[120,33],[245,10],[172,34],[171,35],[173,36],[174,37],[118,3],[246,38],[247,39],[248,40],[249,41],[205,42],[204,10],[206,43],[203,3],[207,44],[181,45],[186,46],[183,47],[184,10],[182,48],[185,49],[188,50],[189,51],[47,52],[50,53],[48,53],[46,3],[49,53],[51,54],[187,3],[119,55],[191,56],[192,57],[242,10],[241,10],[197,10],[243,58],[128,59],[125,59],[127,60],[138,59],[124,59],[122,59],[139,59],[137,59],[129,61],[130,59],[136,59],[132,59],[131,59],[135,62],[133,59],[140,59],[142,59],[123,59],[134,59],[121,63],[126,64],[143,65],[141,59],[144,66],[244,67],[159,68],[160,69],[166,70],[167,10],[168,10],[169,71],[170,72],[236,73],[208,74],[209,75],[193,76],[235,10],[234,77],[232,78],[233,78],[231,79],[238,80],[237,12],[727,81],[722,82],[726,83],[728,3],[714,84],[713,85],[729,86],[717,87],[716,88],[720,89],[718,87],[715,90],[712,91],[719,87],[707,3],[721,92],[711,93],[710,94],[724,95],[723,96],[709,97],[725,98],[708,99],[885,100],[879,101],[884,101],[883,102],[881,103],[882,104],[886,100],[887,105],[880,106],[642,107],[639,108],[640,109],[638,110],[641,109],[637,111],[651,112],[652,113],[646,114],[643,3],[645,3],[647,115],[730,116],[731,117],[733,106],[735,118],[734,119],[732,101],[736,120],[251,3],[501,121],[530,122],[531,123],[532,124],[536,125],[533,126],[534,127],[499,3],[500,128],[535,129],[514,3],[502,3],[503,130],[504,131],[505,3],[506,132],[516,133],[507,3],[508,134],[509,3],[510,3],[511,130],[512,130],[513,130],[515,135],[523,136],[525,3],[522,3],[528,137],[526,3],[524,3],[520,138],[521,139],[527,3],[529,140],[517,3],[519,141],[518,142],[457,3],[460,143],[456,3],[458,3],[459,3],[553,144],[538,144],[545,144],[542,144],[555,144],[546,144],[552,144],[537,3],[556,144],[559,145],[550,144],[540,144],[558,144],[543,144],[541,144],[551,144],[547,144],[557,144],[544,144],[554,144],[539,144],[549,144],[548,144],[562,146],[561,147],[560,3],[567,148],[568,149],[569,150],[564,151],[566,152],[565,153],[592,154],[252,3],[253,3],[254,3],[256,155],[446,156],[447,155],[571,3],[473,3],[474,3],[572,157],[448,3],[573,3],[574,158],[255,3],[450,159],[451,3],[449,160],[452,159],[453,3],[455,161],[466,162],[467,3],[472,163],[468,3],[469,3],[470,3],[471,3],[479,164],[481,165],[480,3],[498,166],[482,3],[483,3],[626,167],[465,168],[463,169],[461,170],[462,171],[464,3],[490,172],[484,3],[493,173],[486,174],[491,175],[489,176],[492,177],[487,178],[488,179],[476,180],[494,181],[477,182],[496,183],[497,184],[485,3],[454,3],[478,185],[495,186],[570,187],[583,188],[577,189],[578,190],[581,191],[580,191],[579,190],[582,190],[576,192],[584,193],[586,194],[585,195],[587,196],[588,180],[589,197],[475,3],[590,198],[575,199],[591,200],[593,201],[594,202],[603,203],[604,3],[605,3],[606,204],[607,205],[609,206],[610,207],[611,208],[608,202],[612,209],[636,210],[596,211],[598,212],[620,213],[617,214],[614,215],[613,3],[618,216],[601,217],[619,218],[599,219],[595,220],[600,221],[597,222],[615,223],[622,224],[623,225],[621,226],[624,227],[625,228],[627,229],[633,230],[602,132],[629,231],[628,132],[631,232],[630,3],[632,233],[616,234],[635,235],[634,132],[657,3],[658,3],[661,236],[662,3],[663,3],[665,3],[664,3],[679,3],[666,3],[667,237],[668,3],[669,3],[670,238],[671,236],[672,3],[674,239],[675,236],[676,240],[677,238],[678,3],[680,241],[684,242],[693,243],[683,244],[659,3],[673,240],[681,3],[682,3],[685,245],[690,246],[686,132],[687,132],[688,132],[689,132],[660,3],[691,3],[692,247],[694,248],[216,249],[219,250],[218,251],[217,252],[215,253],[211,254],[214,255],[213,256],[212,257],[210,253],[225,258],[224,259],[223,260],[222,261],[221,262],[220,263],[758,264],[649,265],[648,3],[757,3],[894,266],[890,2],[892,267],[893,2],[751,268],[750,269],[895,3],[900,270],[899,271],[898,272],[896,3],[745,273],[752,274],[901,253],[746,3],[902,3],[903,275],[904,276],[912,277],[897,3],[913,3],[914,3],[747,3],[63,278],[64,278],[65,279],[66,280],[67,281],[68,282],[59,283],[57,3],[58,3],[69,284],[70,285],[71,286],[72,287],[73,288],[74,289],[75,289],[76,290],[77,291],[78,292],[79,293],[80,294],[62,3],[81,295],[82,296],[83,297],[84,298],[85,299],[86,300],[87,301],[88,302],[89,303],[90,304],[91,305],[92,306],[93,307],[94,308],[95,309],[97,310],[96,311],[98,312],[99,313],[100,3],[101,314],[102,315],[103,316],[104,317],[61,318],[60,3],[113,319],[105,320],[106,321],[107,322],[108,323],[109,324],[110,325],[111,326],[112,327],[915,3],[916,3],[743,3],[744,3],[941,328],[942,329],[918,330],[921,331],[939,328],[940,328],[930,328],[929,332],[927,328],[922,328],[935,328],[933,328],[937,328],[917,328],[934,328],[938,328],[923,328],[924,328],[936,328],[919,328],[925,328],[926,328],[928,328],[932,328],[943,333],[931,328],[920,328],[956,334],[955,3],[950,333],[952,335],[951,333],[944,333],[945,333],[947,333],[949,333],[953,335],[954,335],[946,335],[948,335],[742,336],[749,337],[748,338],[957,3],[967,339],[958,3],[961,340],[965,341],[966,342],[959,343],[963,344],[960,345],[968,346],[969,3],[970,347],[644,3],[563,3],[962,3],[229,348],[228,349],[227,350],[226,351],[964,352],[230,353],[905,3],[909,354],[911,355],[910,354],[908,356],[706,357],[704,3],[705,3],[763,358],[761,3],[762,3],[907,359],[906,3],[250,3],[445,360],[418,3],[396,361],[394,361],[309,362],[260,363],[259,364],[395,365],[380,366],[302,367],[258,368],[257,369],[444,364],[409,370],[408,370],[320,371],[416,362],[417,362],[419,372],[420,362],[421,369],[422,362],[393,362],[423,362],[424,373],[425,362],[426,370],[427,374],[428,362],[429,362],[430,362],[431,362],[432,370],[433,362],[434,362],[435,362],[436,362],[437,375],[438,362],[439,362],[440,362],[441,362],[442,362],[262,369],[263,369],[264,369],[265,369],[266,369],[267,369],[268,369],[269,362],[271,376],[272,369],[270,369],[273,369],[274,369],[275,369],[276,369],[277,369],[278,369],[279,362],[280,369],[281,369],[282,369],[283,369],[284,369],[285,362],[286,369],[287,369],[288,369],[289,369],[290,369],[291,369],[292,362],[294,377],[293,369],[295,369],[296,369],[297,369],[298,369],[299,375],[300,362],[301,362],[315,378],[303,379],[304,369],[305,369],[306,362],[307,369],[308,369],[310,380],[311,369],[312,369],[313,369],[314,369],[316,369],[317,369],[318,369],[319,369],[321,381],[322,369],[323,369],[324,369],[325,362],[326,369],[327,382],[328,382],[329,382],[330,362],[331,369],[332,369],[333,369],[338,369],[334,369],[335,362],[336,369],[337,362],[339,369],[340,369],[341,369],[342,369],[343,369],[344,369],[345,362],[346,369],[347,369],[348,369],[349,369],[350,369],[351,369],[352,369],[353,369],[354,369],[355,369],[356,369],[357,369],[358,369],[359,369],[360,369],[361,369],[362,383],[363,369],[364,369],[365,369],[366,369],[367,369],[368,369],[369,362],[370,362],[371,362],[372,362],[373,362],[374,369],[375,369],[376,369],[377,369],[443,362],[379,384],[402,385],[397,385],[388,386],[386,387],[400,388],[389,389],[403,390],[398,391],[399,388],[401,392],[387,3],[392,3],[384,393],[385,394],[382,3],[383,395],[381,369],[390,396],[261,397],[410,3],[411,3],[412,3],[413,3],[414,3],[415,3],[404,3],[407,370],[406,3],[405,398],[378,399],[391,400],[699,401],[701,402],[697,3],[700,401],[702,3],[703,403],[698,404],[650,405],[8,3],[9,3],[13,3],[12,3],[2,3],[14,3],[15,3],[16,3],[17,3],[18,3],[19,3],[20,3],[21,3],[3,3],[4,3],[45,3],[25,3],[22,3],[23,3],[24,3],[26,3],[27,3],[28,3],[5,3],[29,3],[30,3],[31,3],[32,3],[6,3],[36,3],[33,3],[34,3],[35,3],[37,3],[7,3],[38,3],[43,3],[44,3],[39,3],[40,3],[41,3],[42,3],[1,3],[11,3],[10,3],[759,406],[877,407],[878,408],[764,409],[874,410],[765,411],[766,411],[767,411],[873,412],[875,413],[876,414],[760,3],[872,415],[805,3],[820,416],[770,3],[847,417],[849,418],[848,418],[807,419],[806,3],[809,420],[808,421],[786,3],[850,422],[854,423],[852,423],[772,3],[784,424],[817,425],[816,3],[828,426],[774,427],[812,3],[867,428],[869,3],[832,429],[836,430],[834,431],[838,432],[843,433],[844,434],[845,435],[862,427],[780,436],[799,437],[779,3],[773,3],[842,438],[841,3],[818,422],[815,3],[864,3],[823,439],[822,440],[851,423],[855,441],[853,442],[868,3],[826,443],[825,3],[796,444],[787,445],[788,3],[785,446],[813,447],[814,447],[821,3],[771,3],[782,3],[798,3],[830,3],[831,448],[870,449],[792,422],[794,450],[856,418],[858,451],[857,451],[783,3],[768,3],[797,3],[795,422],[835,427],[829,3],[866,3],[791,3],[789,452],[790,3],[793,422],[833,3],[824,3],[863,453],[803,3],[800,454],[801,454],[802,454],[819,435],[776,3],[859,423],[861,441],[860,442],[846,422],[865,3],[839,455],[827,3],[811,3],[775,3],[778,422],[871,3],[840,3],[769,3],[810,3],[804,3],[781,456],[837,427],[777,454],[655,457],[755,458],[654,132],[754,132],[756,459],[888,460],[656,3],[737,3],[739,461],[696,462],[695,463],[740,464],[741,465],[738,466],[753,467],[971,3],[973,468],[975,469],[974,470],[972,3],[976,471],[977,3],[978,3],[979,3],[984,472],[985,3],[986,3],[987,3],[989,473],[990,3],[991,3],[992,3],[982,3],[993,472],[994,472],[995,472],[1004,474],[1023,475],[1024,474],[1025,476],[1026,477],[1017,478],[999,3],[1003,479],[996,3],[997,480],[1007,481],[1006,482],[1005,483],[1001,3],[998,3],[1020,3],[1019,484],[1018,3],[1021,485],[1022,486],[1002,3],[1000,3],[1010,487],[1008,488],[1011,3],[1016,489],[1012,490],[1009,3],[1013,491],[1014,492],[1015,488],[1028,493],[980,3],[983,494],[1029,3],[1030,3],[1031,3],[1268,495],[1033,3],[1267,496],[1106,497],[1085,498],[1107,499],[1105,3],[1104,500],[1083,501],[1103,3],[1102,3],[1101,502],[1100,503],[1099,503],[1098,503],[1097,503],[1096,503],[1110,504],[1112,505],[1108,3],[1109,506],[1111,507],[1119,508],[1087,509],[1118,510],[1115,511],[1113,511],[1114,512],[1032,3],[1093,513],[1065,514],[1125,3],[1044,3],[1124,3],[1123,515],[1121,516],[1122,517],[1063,518],[1064,519],[1036,3],[1086,520],[1078,521],[1120,3],[1144,3],[1145,522],[1147,523],[1146,3],[1127,524],[1139,525],[1143,526],[1140,527],[1141,528],[1142,529],[1129,530],[1130,531],[1131,525],[1132,531],[1138,532],[1128,525],[1133,525],[1134,531],[1135,525],[1136,531],[1137,525],[1126,533],[1148,516],[1149,516],[1151,534],[1150,516],[1153,535],[1154,516],[1155,536],[1170,537],[1156,535],[1157,538],[1158,535],[1159,539],[1160,516],[1152,516],[1161,516],[1162,540],[1163,516],[1164,535],[1165,541],[1166,516],[1167,516],[1168,542],[1169,516],[1191,543],[1192,544],[1188,545],[1187,546],[1186,547],[1185,548],[1181,549],[1180,550],[1189,551],[1177,552],[1182,549],[1174,553],[1173,554],[1196,555],[1199,556],[1184,557],[1183,558],[1178,559],[1200,556],[1068,560],[1198,561],[1067,562],[1176,563],[1175,564],[1195,555],[1194,565],[1193,564],[1203,566],[1219,567],[1212,568],[1218,3],[1205,569],[1208,570],[1207,571],[1216,567],[1215,572],[1214,567],[1213,567],[1201,573],[1217,3],[1202,574],[1211,575],[1210,576],[1209,577],[1234,578],[1235,579],[1048,580],[1236,581],[1179,582],[1231,583],[1232,584],[1230,582],[1233,585],[1229,586],[1227,585],[1226,587],[1225,585],[1228,585],[1224,588],[1223,589],[1222,590],[1220,578],[1221,588],[1240,591],[1040,592],[1094,593],[1089,594],[1035,595],[1239,596],[1079,3],[1042,597],[1241,598],[1092,597],[1091,599],[1043,600],[1034,601],[1077,602],[1041,603],[1088,594],[1197,594],[1039,604],[1038,605],[1090,606],[1053,607],[1082,608],[1080,608],[1081,608],[1237,608],[1084,609],[1062,609],[1243,610],[1242,611],[1171,612],[1246,613],[1172,613],[1190,612],[1247,612],[1244,614],[1245,615],[1238,616],[1250,617],[1117,618],[1249,619],[1248,620],[1071,621],[1076,622],[1252,3],[1046,623],[1045,3],[1251,3],[1256,624],[1261,625],[1253,626],[1050,3],[1254,627],[1260,617],[1255,495],[1051,628],[1257,629],[1258,3],[1060,630],[1259,631],[1061,3],[1059,632],[1262,633],[1055,3],[1066,634],[1052,3],[1069,635],[1054,636],[1057,637],[1058,638],[1056,3],[1072,3],[1263,639],[1073,640],[1037,641],[1264,642],[1049,643],[1266,522],[1204,522],[1116,522],[1206,522],[1075,522],[1074,522],[1070,522],[1047,644],[1265,522],[1095,645],[1269,3],[1270,646],[1271,3],[988,3],[981,3],[1027,3]],"exportedModulesMap":[[653,1],[891,2],[889,3],[201,4],[176,5],[52,3],[54,6],[55,6],[53,6],[56,7],[239,8],[240,9],[152,10],[178,11],[156,10],[157,10],[147,12],[153,13],[158,10],[154,13],[155,10],[151,14],[150,13],[148,14],[149,15],[146,16],[145,17],[175,18],[177,11],[179,3],[180,19],[164,20],[190,21],[165,22],[162,23],[196,24],[163,25],[116,26],[194,27],[117,26],[114,10],[195,28],[202,29],[115,10],[161,30],[198,31],[200,32],[199,10],[120,33],[245,10],[172,34],[171,35],[173,36],[174,37],[118,3],[246,38],[247,39],[248,40],[249,41],[205,42],[204,10],[206,43],[203,3],[207,44],[181,45],[186,46],[183,47],[184,10],[182,48],[185,49],[188,50],[189,51],[47,52],[50,53],[48,53],[46,3],[49,53],[51,54],[187,3],[119,55],[191,56],[192,57],[242,10],[241,10],[197,10],[243,58],[128,59],[125,59],[127,60],[138,59],[124,59],[122,59],[139,59],[137,59],[129,61],[130,59],[136,59],[132,59],[131,59],[135,62],[133,59],[140,59],[142,59],[123,59],[134,59],[121,63],[126,64],[143,65],[141,59],[144,66],[244,67],[159,68],[160,69],[166,70],[167,10],[168,10],[169,71],[170,72],[236,73],[208,74],[209,75],[193,76],[235,10],[234,77],[232,78],[233,78],[231,79],[238,80],[237,12],[727,81],[722,82],[726,83],[728,3],[714,84],[713,85],[729,86],[717,87],[716,88],[720,89],[718,87],[715,90],[712,91],[719,87],[707,3],[721,92],[711,93],[710,94],[724,95],[723,96],[709,97],[725,98],[708,99],[885,100],[879,101],[884,101],[883,102],[881,103],[882,104],[886,100],[887,105],[880,106],[642,107],[639,108],[640,109],[638,110],[641,109],[637,111],[651,112],[652,113],[646,114],[643,3],[645,3],[647,115],[730,116],[731,117],[733,106],[735,118],[734,119],[732,101],[736,120],[251,3],[501,121],[530,122],[531,123],[532,124],[536,125],[533,126],[534,127],[499,3],[500,128],[535,129],[514,3],[502,3],[503,130],[504,131],[505,3],[506,132],[516,133],[507,3],[508,134],[509,3],[510,3],[511,130],[512,130],[513,130],[515,135],[523,136],[525,3],[522,3],[528,137],[526,3],[524,3],[520,138],[521,139],[527,3],[529,140],[517,3],[519,141],[518,142],[457,3],[460,143],[456,3],[458,3],[459,3],[553,144],[538,144],[545,144],[542,144],[555,144],[546,144],[552,144],[537,3],[556,144],[559,145],[550,144],[540,144],[558,144],[543,144],[541,144],[551,144],[547,144],[557,144],[544,144],[554,144],[539,144],[549,144],[548,144],[562,146],[561,147],[560,3],[567,148],[568,149],[569,150],[564,151],[566,152],[565,153],[592,154],[252,3],[253,3],[254,3],[256,155],[446,156],[447,155],[571,3],[473,3],[474,3],[572,157],[448,3],[573,3],[574,158],[255,3],[450,159],[451,3],[449,160],[452,159],[453,3],[455,161],[466,162],[467,3],[472,163],[468,3],[469,3],[470,3],[471,3],[479,164],[481,165],[480,3],[498,166],[482,3],[483,3],[626,167],[465,168],[463,169],[461,170],[462,171],[464,3],[490,172],[484,3],[493,173],[486,174],[491,175],[489,176],[492,177],[487,178],[488,179],[476,180],[494,181],[477,182],[496,183],[497,184],[485,3],[454,3],[478,185],[495,186],[570,187],[583,188],[577,189],[578,190],[581,191],[580,191],[579,190],[582,190],[576,192],[584,193],[586,194],[585,195],[587,196],[588,180],[589,197],[475,3],[590,198],[575,199],[591,200],[593,201],[594,202],[603,203],[604,3],[605,3],[606,204],[607,205],[609,206],[610,207],[611,208],[608,202],[612,209],[636,210],[596,211],[598,212],[620,213],[617,214],[614,215],[613,3],[618,216],[601,217],[619,218],[599,219],[595,220],[600,221],[597,222],[615,223],[622,224],[623,225],[621,226],[624,227],[625,228],[627,229],[633,230],[602,132],[629,231],[628,132],[631,232],[630,3],[632,233],[616,234],[635,235],[634,132],[657,3],[658,3],[661,236],[662,3],[663,3],[665,3],[664,3],[679,3],[666,3],[667,237],[668,3],[669,3],[670,238],[671,236],[672,3],[674,239],[675,236],[676,240],[677,238],[678,3],[680,241],[684,242],[693,243],[683,244],[659,3],[673,240],[681,3],[682,3],[685,245],[690,246],[686,132],[687,132],[688,132],[689,132],[660,3],[691,3],[692,247],[694,248],[216,249],[219,250],[218,251],[217,252],[215,253],[211,254],[214,255],[213,256],[212,257],[210,253],[225,258],[224,259],[223,260],[222,261],[221,262],[220,263],[758,264],[649,265],[648,3],[757,3],[894,266],[890,2],[892,267],[893,2],[751,268],[750,269],[895,3],[900,270],[899,271],[898,272],[896,3],[745,273],[752,274],[901,253],[746,3],[902,3],[903,275],[904,276],[912,277],[897,3],[913,3],[914,3],[747,3],[63,278],[64,278],[65,279],[66,280],[67,281],[68,282],[59,283],[57,3],[58,3],[69,284],[70,285],[71,286],[72,287],[73,288],[74,289],[75,289],[76,290],[77,291],[78,292],[79,293],[80,294],[62,3],[81,295],[82,296],[83,297],[84,298],[85,299],[86,300],[87,301],[88,302],[89,303],[90,304],[91,305],[92,306],[93,307],[94,308],[95,309],[97,310],[96,311],[98,312],[99,313],[100,3],[101,314],[102,315],[103,316],[104,317],[61,318],[60,3],[113,319],[105,320],[106,321],[107,322],[108,323],[109,324],[110,325],[111,326],[112,327],[915,3],[916,3],[743,3],[744,3],[941,328],[942,329],[918,330],[921,331],[939,328],[940,328],[930,328],[929,332],[927,328],[922,328],[935,328],[933,328],[937,328],[917,328],[934,328],[938,328],[923,328],[924,328],[936,328],[919,328],[925,328],[926,328],[928,328],[932,328],[943,333],[931,328],[920,328],[956,334],[955,3],[950,333],[952,335],[951,333],[944,333],[945,333],[947,333],[949,333],[953,335],[954,335],[946,335],[948,335],[742,336],[749,337],[748,338],[957,3],[967,339],[958,3],[961,340],[965,341],[966,342],[959,343],[963,344],[960,345],[968,346],[969,3],[970,347],[644,3],[563,3],[962,3],[229,348],[228,349],[227,350],[226,351],[964,352],[230,353],[905,3],[909,354],[911,355],[910,354],[908,356],[706,357],[704,3],[705,3],[763,358],[761,3],[762,3],[907,359],[906,3],[250,3],[445,360],[418,3],[396,361],[394,361],[309,362],[260,363],[259,364],[395,365],[380,366],[302,367],[258,368],[257,369],[444,364],[409,370],[408,370],[320,371],[416,362],[417,362],[419,372],[420,362],[421,369],[422,362],[393,362],[423,362],[424,373],[425,362],[426,370],[427,374],[428,362],[429,362],[430,362],[431,362],[432,370],[433,362],[434,362],[435,362],[436,362],[437,375],[438,362],[439,362],[440,362],[441,362],[442,362],[262,369],[263,369],[264,369],[265,369],[266,369],[267,369],[268,369],[269,362],[271,376],[272,369],[270,369],[273,369],[274,369],[275,369],[276,369],[277,369],[278,369],[279,362],[280,369],[281,369],[282,369],[283,369],[284,369],[285,362],[286,369],[287,369],[288,369],[289,369],[290,369],[291,369],[292,362],[294,377],[293,369],[295,369],[296,369],[297,369],[298,369],[299,375],[300,362],[301,362],[315,378],[303,379],[304,369],[305,369],[306,362],[307,369],[308,369],[310,380],[311,369],[312,369],[313,369],[314,369],[316,369],[317,369],[318,369],[319,369],[321,381],[322,369],[323,369],[324,369],[325,362],[326,369],[327,382],[328,382],[329,382],[330,362],[331,369],[332,369],[333,369],[338,369],[334,369],[335,362],[336,369],[337,362],[339,369],[340,369],[341,369],[342,369],[343,369],[344,369],[345,362],[346,369],[347,369],[348,369],[349,369],[350,369],[351,369],[352,369],[353,369],[354,369],[355,369],[356,369],[357,369],[358,369],[359,369],[360,369],[361,369],[362,383],[363,369],[364,369],[365,369],[366,369],[367,369],[368,369],[369,362],[370,362],[371,362],[372,362],[373,362],[374,369],[375,369],[376,369],[377,369],[443,362],[379,384],[402,385],[397,385],[388,386],[386,387],[400,388],[389,389],[403,390],[398,391],[399,388],[401,392],[387,3],[392,3],[384,393],[385,394],[382,3],[383,395],[381,369],[390,396],[261,397],[410,3],[411,3],[412,3],[413,3],[414,3],[415,3],[404,3],[407,370],[406,3],[405,398],[378,399],[391,400],[699,401],[701,402],[697,3],[700,401],[702,3],[703,403],[698,404],[650,405],[8,3],[9,3],[13,3],[12,3],[2,3],[14,3],[15,3],[16,3],[17,3],[18,3],[19,3],[20,3],[21,3],[3,3],[4,3],[45,3],[25,3],[22,3],[23,3],[24,3],[26,3],[27,3],[28,3],[5,3],[29,3],[30,3],[31,3],[32,3],[6,3],[36,3],[33,3],[34,3],[35,3],[37,3],[7,3],[38,3],[43,3],[44,3],[39,3],[40,3],[41,3],[42,3],[1,3],[11,3],[10,3],[759,406],[877,407],[878,408],[764,409],[874,410],[765,411],[766,411],[767,411],[873,412],[875,413],[876,414],[760,3],[872,415],[805,3],[820,416],[770,3],[847,417],[849,418],[848,418],[807,419],[806,3],[809,420],[808,421],[786,3],[850,422],[854,423],[852,423],[772,3],[784,424],[817,425],[816,3],[828,426],[774,427],[812,3],[867,428],[869,3],[832,429],[836,430],[834,431],[838,432],[843,433],[844,434],[845,435],[862,427],[780,436],[799,437],[779,3],[773,3],[842,438],[841,3],[818,422],[815,3],[864,3],[823,439],[822,440],[851,423],[855,441],[853,442],[868,3],[826,443],[825,3],[796,444],[787,445],[788,3],[785,446],[813,447],[814,447],[821,3],[771,3],[782,3],[798,3],[830,3],[831,448],[870,449],[792,422],[794,450],[856,418],[858,451],[857,451],[783,3],[768,3],[797,3],[795,422],[835,427],[829,3],[866,3],[791,3],[789,452],[790,3],[793,422],[833,3],[824,3],[863,453],[803,3],[800,454],[801,454],[802,454],[819,435],[776,3],[859,423],[861,441],[860,442],[846,422],[865,3],[839,455],[827,3],[811,3],[775,3],[778,422],[871,3],[840,3],[769,3],[810,3],[804,3],[781,456],[837,427],[777,454],[655,457],[755,458],[654,132],[754,132],[756,459],[888,460],[656,3],[737,3],[739,461],[696,462],[695,463],[740,464],[741,465],[738,466],[753,467],[971,3],[973,468],[975,469],[974,470],[972,3],[976,471],[977,3],[978,3],[979,3],[984,472],[985,3],[986,3],[987,3],[989,473],[990,3],[991,3],[992,3],[982,3],[993,472],[994,472],[995,472],[1004,474],[1023,475],[1024,474],[1025,476],[1026,477],[1017,478],[999,3],[1003,479],[996,3],[997,480],[1007,481],[1006,482],[1005,483],[1001,3],[998,3],[1020,3],[1019,484],[1018,3],[1021,485],[1022,486],[1002,3],[1000,3],[1010,487],[1008,488],[1011,3],[1016,489],[1012,490],[1009,3],[1013,491],[1014,492],[1015,488],[1028,493],[980,3],[983,494],[1029,3],[1030,3],[1031,3],[1268,495],[1033,3],[1267,496],[1106,497],[1085,498],[1107,499],[1105,3],[1104,500],[1083,501],[1103,3],[1102,3],[1101,502],[1100,503],[1099,503],[1098,503],[1097,503],[1096,503],[1110,504],[1112,505],[1108,3],[1109,506],[1111,507],[1119,508],[1087,509],[1118,510],[1115,511],[1113,511],[1114,512],[1032,3],[1093,513],[1065,514],[1125,3],[1044,3],[1124,3],[1123,515],[1121,516],[1122,517],[1063,518],[1064,519],[1036,3],[1086,520],[1078,521],[1120,3],[1144,3],[1145,522],[1147,523],[1146,3],[1127,524],[1139,525],[1143,526],[1140,527],[1141,528],[1142,529],[1129,530],[1130,531],[1131,525],[1132,531],[1138,532],[1128,525],[1133,525],[1134,531],[1135,525],[1136,531],[1137,525],[1126,533],[1148,516],[1149,516],[1151,534],[1150,516],[1153,535],[1154,516],[1155,536],[1170,537],[1156,535],[1157,538],[1158,535],[1159,539],[1160,516],[1152,516],[1161,516],[1162,540],[1163,516],[1164,535],[1165,541],[1166,516],[1167,516],[1168,542],[1169,516],[1191,543],[1192,544],[1188,545],[1187,546],[1186,547],[1185,548],[1181,549],[1180,550],[1189,551],[1177,552],[1182,549],[1174,553],[1173,554],[1196,555],[1199,556],[1184,557],[1183,558],[1178,559],[1200,556],[1068,560],[1198,561],[1067,562],[1176,563],[1175,564],[1195,555],[1194,565],[1193,564],[1203,566],[1219,567],[1212,568],[1218,3],[1205,569],[1208,570],[1207,571],[1216,567],[1215,572],[1214,567],[1213,567],[1201,573],[1217,3],[1202,574],[1211,575],[1210,576],[1209,577],[1234,578],[1235,579],[1048,580],[1236,581],[1179,582],[1231,583],[1232,584],[1230,582],[1233,585],[1229,586],[1227,585],[1226,587],[1225,585],[1228,585],[1224,588],[1223,589],[1222,590],[1220,578],[1221,588],[1240,591],[1040,592],[1094,593],[1089,594],[1035,595],[1239,596],[1079,3],[1042,597],[1241,598],[1092,597],[1091,599],[1043,600],[1034,601],[1077,602],[1041,603],[1088,594],[1197,594],[1039,604],[1038,605],[1090,606],[1053,607],[1082,608],[1080,608],[1081,608],[1237,608],[1084,609],[1062,609],[1243,610],[1242,611],[1171,612],[1246,613],[1172,613],[1190,612],[1247,612],[1244,614],[1245,615],[1238,616],[1250,617],[1117,618],[1249,619],[1248,620],[1071,621],[1076,622],[1252,3],[1046,623],[1045,3],[1251,3],[1256,624],[1261,625],[1253,626],[1050,3],[1254,627],[1260,617],[1255,495],[1051,628],[1257,629],[1258,3],[1060,630],[1259,631],[1061,3],[1059,632],[1262,633],[1055,3],[1066,634],[1052,3],[1069,635],[1054,636],[1057,637],[1058,638],[1056,3],[1072,3],[1263,639],[1073,640],[1037,641],[1264,642],[1049,643],[1266,522],[1204,522],[1116,522],[1206,522],[1075,522],[1074,522],[1070,522],[1047,644],[1265,522],[1095,645],[1269,3],[1270,646],[1271,3],[988,3],[981,3],[1027,3]]},"version":"4.9.5"} \ No newline at end of file diff --git a/backend/cluster-server/package-lock.json b/backend/cluster-server/package-lock.json new file mode 100644 index 0000000000000000000000000000000000000000..3b5840d12b36e9e1473332d073e3b8373f49c134 --- /dev/null +++ b/backend/cluster-server/package-lock.json @@ -0,0 +1,11258 @@ +{ + "name": "cluster-server", + "version": "0.0.1", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "cluster-server", + "version": "0.0.1", + "license": "UNLICENSED", + "dependencies": { + "@mikro-orm/cli": "^5.0.5", + "@mikro-orm/core": "^5.0.5", + "@mikro-orm/migrations": "^5.0.5", + "@mikro-orm/nestjs": "^5.0.0", + "@mikro-orm/reflection": "^5.0.5", + "@mikro-orm/sql-highlighter": "^1.0.1", + "@mikro-orm/sqlite": "^5.0.5", + "@nestjs/common": "^8.0.0", + "@nestjs/core": "^8.0.0", + "@nestjs/mapped-types": "*", + "@nestjs/platform-express": "^8.0.0", + "@nestjs/swagger": "^5.2.0", + "reflect-metadata": "^0.1.13", + "rimraf": "^3.0.2", + "rxjs": "^7.2.0", + "swagger-ui-express": "^4.3.0" + }, + "devDependencies": { + "@nestjs/cli": "^8.0.0", + "@nestjs/schematics": "^8.0.0", + "@nestjs/testing": "^8.0.0", + "@types/express": "^4.17.13", + "@types/jest": "27.0.2", + "@types/node": "^16.0.0", + "@types/supertest": "^2.0.11", + "@typescript-eslint/eslint-plugin": "^5.0.0", + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^8.0.1", + "eslint-config-prettier": "^8.3.0", + "eslint-plugin-prettier": "^4.0.0", + "jest": "^27.2.5", + "prettier": "^2.3.2", + "source-map-support": "^0.5.20", + "supertest": "^6.1.3", + "ts-jest": "^27.0.3", + "ts-loader": "^9.2.3", + "ts-node": "^10.0.0", + "tsconfig-paths": "^3.10.1", + "typescript": "^4.3.5" + } + }, + "node_modules/@angular-devkit/core": { + "version": "13.3.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.6.tgz", + "integrity": "sha512-ZmD586B+RnM2CG5+jbXh2NVfIydTc/yKSjppYDDOv4I530YBm6vpfZMwClpiNk6XLbMv7KqX4Tlr4wfxlPYYbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "8.9.0", + "ajv-formats": "2.1.1", + "fast-json-stable-stringify": "2.1.0", + "magic-string": "0.25.7", + "rxjs": "6.6.7", + "source-map": "0.7.3" + }, + "engines": { + "node": "^12.20.0 || ^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/core/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@angular-devkit/core/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@angular-devkit/schematics": { + "version": "13.3.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.3.6.tgz", + "integrity": "sha512-yLh5xc92C/FiaAp27coPiKWpSUmwoXF7vMxbJYJTyOXlt0mUITAEAwtrZQNr4yAxW/yvgTdyg7PhXaveQNTUuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "13.3.6", + "jsonc-parser": "3.0.0", + "magic-string": "0.25.7", + "ora": "5.4.1", + "rxjs": "6.6.7" + }, + "engines": { + "node": "^12.20.0 || ^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-devkit/schematics-cli": { + "version": "13.3.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics-cli/-/schematics-cli-13.3.6.tgz", + "integrity": "sha512-5tTuu9gbXM0bMk0sin4phmWA3U1Qz53zT/rpEfzQ/+c/s8CoqZ5N1qOnYtemRct3Jxsz1kn4TBpHeriR4r5hHg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "13.3.6", + "@angular-devkit/schematics": "13.3.6", + "ansi-colors": "4.1.1", + "inquirer": "8.2.0", + "minimist": "1.2.6", + "symbol-observable": "4.0.0" + }, + "bin": { + "schematics": "bin/schematics.js" + }, + "engines": { + "node": "^12.20.0 || ^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-devkit/schematics-cli/node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@angular-devkit/schematics-cli/node_modules/inquirer": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.0.tgz", + "integrity": "sha512-0crLweprevJ02tTuA6ThpoAERAGyVILC4sS74uib58Xf/zSr1/ZWtmm7D5CI+bSQEaA04f0K7idaHpQbSWgiVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.2.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@angular-devkit/schematics/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@angular-devkit/schematics/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@babel/code-frame": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", + "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", + "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", + "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.6", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", + "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", + "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", + "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.28.6.tgz", + "integrity": "sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.28.6.tgz", + "integrity": "sha512-+nDNmQye7nlnuuHDboPbGm00Vqg3oO8niRRL27/4LYHUsHYh0zJ1xWOz0uRwNFmM1Avzk8wZbc6rdiYhomzv/A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@eslint/js": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", + "license": "MIT", + "optional": true + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "deprecated": "Use @eslint/config-array instead", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.3", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", + "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jercle/yargonaut": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@jercle/yargonaut/-/yargonaut-1.1.5.tgz", + "integrity": "sha512-zBp2myVvBHp1UaJsNTyS6q4UDKT7eRiqTS4oNTS6VQMd6mpxYOdbeK4pY279cDCdakGy6hG0J3ejoXZVsPwHqw==", + "license": "Apache-2.0", + "dependencies": { + "chalk": "^4.1.2", + "figlet": "^1.5.2", + "parent-require": "^1.0.0" + } + }, + "node_modules/@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/core": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", + "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/reporters": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^27.5.1", + "jest-config": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-resolve-dependencies": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "jest-watcher": "^27.5.1", + "micromatch": "^4.0.4", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/environment": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", + "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", + "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", + "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/types": "^27.5.1", + "expect": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", + "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-haste-map": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^8.1.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/reporters/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/source-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", + "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9", + "source-map": "^0.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/source-map/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", + "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/test-result": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-runtime": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", + "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@mapbox/node-pre-gyp": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz", + "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==", + "license": "BSD-3-Clause", + "dependencies": { + "detect-libc": "^2.0.0", + "https-proxy-agent": "^5.0.0", + "make-dir": "^3.1.0", + "node-fetch": "^2.6.7", + "nopt": "^5.0.0", + "npmlog": "^5.0.1", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.11" + }, + "bin": { + "node-pre-gyp": "bin/node-pre-gyp" + } + }, + "node_modules/@mapbox/node-pre-gyp/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "license": "MIT", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@mapbox/node-pre-gyp/node_modules/make-dir/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@mikro-orm/cli": { + "version": "5.9.8", + "resolved": "https://registry.npmjs.org/@mikro-orm/cli/-/cli-5.9.8.tgz", + "integrity": "sha512-v3KHddyrovHiPz31mfa44GjnOYH2CuEZLiyWo8G/Wy0WP87EuDv5eEGuHJ9GAfd9jvOD4Cy8l56tu/bg/0YGGA==", + "license": "MIT", + "dependencies": { + "@jercle/yargonaut": "1.1.5", + "@mikro-orm/core": "5.9.8", + "@mikro-orm/knex": "5.9.8", + "fs-extra": "11.1.1", + "tsconfig-paths": "4.2.0", + "yargs": "17.7.2" + }, + "bin": { + "mikro-orm": "cli.js", + "mikro-orm-esm": "esm.js" + }, + "engines": { + "node": ">= 14.0.0" + }, + "peerDependencies": { + "@mikro-orm/better-sqlite": "^5.0.0", + "@mikro-orm/entity-generator": "^5.0.0", + "@mikro-orm/mariadb": "^5.0.0", + "@mikro-orm/migrations": "^5.0.0", + "@mikro-orm/migrations-mongodb": "^5.0.0", + "@mikro-orm/mongodb": "^5.0.0", + "@mikro-orm/mysql": "^5.0.0", + "@mikro-orm/postgresql": "^5.0.0", + "@mikro-orm/seeder": "^5.0.0", + "@mikro-orm/sqlite": "^5.0.0" + }, + "peerDependenciesMeta": { + "@mikro-orm/better-sqlite": { + "optional": true + }, + "@mikro-orm/entity-generator": { + "optional": true + }, + "@mikro-orm/mariadb": { + "optional": true + }, + "@mikro-orm/migrations": { + "optional": true + }, + "@mikro-orm/migrations-mongodb": { + "optional": true + }, + "@mikro-orm/mongodb": { + "optional": true + }, + "@mikro-orm/mysql": { + "optional": true + }, + "@mikro-orm/postgresql": { + "optional": true + }, + "@mikro-orm/seeder": { + "optional": true + }, + "@mikro-orm/sqlite": { + "optional": true + } + } + }, + "node_modules/@mikro-orm/cli/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@mikro-orm/cli/node_modules/tsconfig-paths": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", + "license": "MIT", + "dependencies": { + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@mikro-orm/core": { + "version": "5.9.8", + "resolved": "https://registry.npmjs.org/@mikro-orm/core/-/core-5.9.8.tgz", + "integrity": "sha512-bfTYInwc+EtPgLOxa5iBG5vKT1qq5swDcsc2F7Iu6sesBLKNputURA7qPmY6TCWQtSL/hvB3QjsCzY48LllD+w==", + "license": "MIT", + "dependencies": { + "acorn-loose": "8.3.0", + "acorn-walk": "8.2.0", + "dotenv": "16.3.1", + "fs-extra": "11.1.1", + "globby": "11.1.0", + "mikro-orm": "5.9.8", + "reflect-metadata": "0.1.13" + }, + "engines": { + "node": ">= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/b4nan" + }, + "peerDependencies": { + "@mikro-orm/better-sqlite": "^5.0.0", + "@mikro-orm/entity-generator": "^5.0.0", + "@mikro-orm/mariadb": "^5.0.0", + "@mikro-orm/migrations": "^5.0.0", + "@mikro-orm/migrations-mongodb": "^5.0.0", + "@mikro-orm/mongodb": "^5.0.0", + "@mikro-orm/mysql": "^5.0.0", + "@mikro-orm/postgresql": "^5.0.0", + "@mikro-orm/seeder": "^5.0.0", + "@mikro-orm/sqlite": "^5.0.0" + }, + "peerDependenciesMeta": { + "@mikro-orm/better-sqlite": { + "optional": true + }, + "@mikro-orm/entity-generator": { + "optional": true + }, + "@mikro-orm/mariadb": { + "optional": true + }, + "@mikro-orm/migrations": { + "optional": true + }, + "@mikro-orm/migrations-mongodb": { + "optional": true + }, + "@mikro-orm/mongodb": { + "optional": true + }, + "@mikro-orm/mysql": { + "optional": true + }, + "@mikro-orm/postgresql": { + "optional": true + }, + "@mikro-orm/seeder": { + "optional": true + }, + "@mikro-orm/sqlite": { + "optional": true + } + } + }, + "node_modules/@mikro-orm/core/node_modules/reflect-metadata": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", + "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", + "license": "Apache-2.0" + }, + "node_modules/@mikro-orm/knex": { + "version": "5.9.8", + "resolved": "https://registry.npmjs.org/@mikro-orm/knex/-/knex-5.9.8.tgz", + "integrity": "sha512-Kitz11QY7Id37huNUfsxSkgnET8X/fuL861yUK9rJ8xrRiEakdm1r/lM1pLYcB/oikAphYLTgW+M/t3LoJb8aw==", + "license": "MIT", + "dependencies": { + "fs-extra": "11.1.1", + "knex": "2.5.1", + "sqlstring": "2.3.3" + }, + "engines": { + "node": ">= 14.0.0" + }, + "peerDependencies": { + "@mikro-orm/core": "^5.0.0", + "@mikro-orm/entity-generator": "^5.0.0", + "@mikro-orm/migrations": "^5.0.0", + "better-sqlite3": "*", + "mssql": "*", + "mysql": "*", + "mysql2": "*", + "pg": "*", + "sqlite3": "*" + }, + "peerDependenciesMeta": { + "@mikro-orm/entity-generator": { + "optional": true + }, + "@mikro-orm/migrations": { + "optional": true + }, + "better-sqlite3": { + "optional": true + }, + "mssql": { + "optional": true + }, + "mysql": { + "optional": true + }, + "mysql2": { + "optional": true + }, + "pg": { + "optional": true + }, + "sqlite3": { + "optional": true + } + } + }, + "node_modules/@mikro-orm/migrations": { + "version": "5.9.8", + "resolved": "https://registry.npmjs.org/@mikro-orm/migrations/-/migrations-5.9.8.tgz", + "integrity": "sha512-D4s2Hd8TFLimddftC/El4Vtiq6AcGG/lc7+LUHieVzkAfdvcddxnxYQ3q1qH7IxqdDWNcZr0dYPxqLvgFhYqqg==", + "license": "MIT", + "dependencies": { + "@mikro-orm/knex": "5.9.8", + "fs-extra": "11.1.1", + "knex": "2.5.1", + "umzug": "3.3.1" + }, + "engines": { + "node": ">= 14.0.0" + }, + "peerDependencies": { + "@mikro-orm/core": "^5.0.0" + } + }, + "node_modules/@mikro-orm/nestjs": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@mikro-orm/nestjs/-/nestjs-5.2.3.tgz", + "integrity": "sha512-JMxaXrNXlo6j59D3LWMC1tEC1a5JanCtqdfv91JUH0sfVZh97SsjQ9K794BY3JWIUKSFyQwpnLxYZ0Ash/BlPA==", + "license": "MIT", + "engines": { + "node": ">= 14.0.0" + }, + "peerDependencies": { + "@mikro-orm/core": "^5.0.0 || ^6.0.0-dev.0", + "@nestjs/common": "^8.0.0 || ^9.0.0 || ^10.0.0", + "@nestjs/core": "^8.0.0 || ^9.0.0 || ^10.0.0" + } + }, + "node_modules/@mikro-orm/reflection": { + "version": "5.9.8", + "resolved": "https://registry.npmjs.org/@mikro-orm/reflection/-/reflection-5.9.8.tgz", + "integrity": "sha512-4tQW0rm42r/gBP11xADStQa8u3OwEGrRaoWI3DjjWszLKMiidA9OIvRRn8sQEbTMjG04kuXDjIE6PNxA+xRwAg==", + "license": "MIT", + "dependencies": { + "globby": "11.1.0", + "ts-morph": "20.0.0" + }, + "engines": { + "node": ">= 14.0.0" + }, + "peerDependencies": { + "@mikro-orm/core": "^5.0.0" + } + }, + "node_modules/@mikro-orm/sql-highlighter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@mikro-orm/sql-highlighter/-/sql-highlighter-1.0.1.tgz", + "integrity": "sha512-iO+FwRNuqNDVlIo5zfgOu2mMGVicX/FqzP+F/A0xpJLHyqvWyXzVwntgAMimBjQaxiX9Rpmc0u3Jq6/A6V6JQA==", + "license": "MIT", + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/@mikro-orm/sqlite": { + "version": "5.9.8", + "resolved": "https://registry.npmjs.org/@mikro-orm/sqlite/-/sqlite-5.9.8.tgz", + "integrity": "sha512-k7C9PPv8AnKf/YW8wCIPm7awyyn268jX+MwOAdfTvR6zSAlnbOn9o+JcO1dsGRN3NgY9mmuaw6Aw8WYDdXi0tA==", + "license": "MIT", + "dependencies": { + "@mikro-orm/knex": "5.9.8", + "fs-extra": "11.1.1", + "sqlite3": "5.1.6", + "sqlstring-sqlite": "0.1.1" + }, + "engines": { + "node": ">= 14.0.0" + }, + "peerDependencies": { + "@mikro-orm/core": "^5.0.0", + "@mikro-orm/entity-generator": "^5.0.0", + "@mikro-orm/migrations": "^5.0.0", + "@mikro-orm/seeder": "^5.0.0" + }, + "peerDependenciesMeta": { + "@mikro-orm/entity-generator": { + "optional": true + }, + "@mikro-orm/migrations": { + "optional": true + }, + "@mikro-orm/seeder": { + "optional": true + } + } + }, + "node_modules/@nestjs/cli": { + "version": "8.2.8", + "resolved": "https://registry.npmjs.org/@nestjs/cli/-/cli-8.2.8.tgz", + "integrity": "sha512-y5Imcw1EY0OxD3POAM7SLUB1rFdn5FjbfSsyJrokjKmXY+i6KcBdbRrv3Ox7aeJ4W7wXuckIXZEUlK6lC52dnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "13.3.6", + "@angular-devkit/schematics": "13.3.6", + "@angular-devkit/schematics-cli": "13.3.6", + "@nestjs/schematics": "^8.0.3", + "chalk": "3.0.0", + "chokidar": "3.5.3", + "cli-table3": "0.6.2", + "commander": "4.1.1", + "fork-ts-checker-webpack-plugin": "7.2.11", + "inquirer": "7.3.3", + "node-emoji": "1.11.0", + "ora": "5.4.1", + "os-name": "4.0.1", + "rimraf": "3.0.2", + "shelljs": "0.8.5", + "source-map-support": "0.5.21", + "tree-kill": "1.2.2", + "tsconfig-paths": "3.14.1", + "tsconfig-paths-webpack-plugin": "3.5.2", + "typescript": "4.7.4", + "webpack": "5.73.0", + "webpack-node-externals": "3.0.0" + }, + "bin": { + "nest": "bin/nest.js" + }, + "engines": { + "node": ">= 10.13.0", + "npm": ">= 6.11.0" + } + }, + "node_modules/@nestjs/cli/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@nestjs/cli/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/@nestjs/cli/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@nestjs/cli/node_modules/tsconfig-paths": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", + "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/@nestjs/cli/node_modules/typescript": { + "version": "4.7.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", + "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/@nestjs/common": { + "version": "8.4.7", + "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-8.4.7.tgz", + "integrity": "sha512-m/YsbcBal+gA5CFrDpqXqsSfylo+DIQrkFY3qhVIltsYRfu8ct8J9pqsTO6OPf3mvqdOpFGrV5sBjoyAzOBvsw==", + "license": "MIT", + "dependencies": { + "axios": "0.27.2", + "iterare": "1.2.1", + "tslib": "2.4.0", + "uuid": "8.3.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "cache-manager": "*", + "class-transformer": "*", + "class-validator": "*", + "reflect-metadata": "^0.1.12", + "rxjs": "^7.1.0" + }, + "peerDependenciesMeta": { + "cache-manager": { + "optional": true + }, + "class-transformer": { + "optional": true + }, + "class-validator": { + "optional": true + } + } + }, + "node_modules/@nestjs/core": { + "version": "8.4.7", + "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-8.4.7.tgz", + "integrity": "sha512-XB9uexHqzr2xkPo6QSiQWJJttyYYLmvQ5My64cFvWFi7Wk2NIus0/xUNInwX3kmFWB6pF1ab5Y2ZBvWdPwGBhw==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@nuxtjs/opencollective": "0.3.2", + "fast-safe-stringify": "2.1.1", + "iterare": "1.2.1", + "object-hash": "3.0.0", + "path-to-regexp": "3.2.0", + "tslib": "2.4.0", + "uuid": "8.3.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "@nestjs/common": "^8.0.0", + "@nestjs/microservices": "^8.0.0", + "@nestjs/platform-express": "^8.0.0", + "@nestjs/websockets": "^8.0.0", + "reflect-metadata": "^0.1.12", + "rxjs": "^7.1.0" + }, + "peerDependenciesMeta": { + "@nestjs/microservices": { + "optional": true + }, + "@nestjs/platform-express": { + "optional": true + }, + "@nestjs/websockets": { + "optional": true + } + } + }, + "node_modules/@nestjs/mapped-types": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@nestjs/mapped-types/-/mapped-types-2.1.0.tgz", + "integrity": "sha512-W+n+rM69XsFdwORF11UqJahn4J3xi4g/ZEOlJNL6KoW5ygWSmBB2p0S2BZ4FQeS/NDH72e6xIcu35SfJnE8bXw==", + "license": "MIT", + "peerDependencies": { + "@nestjs/common": "^10.0.0 || ^11.0.0", + "class-transformer": "^0.4.0 || ^0.5.0", + "class-validator": "^0.13.0 || ^0.14.0", + "reflect-metadata": "^0.1.12 || ^0.2.0" + }, + "peerDependenciesMeta": { + "class-transformer": { + "optional": true + }, + "class-validator": { + "optional": true + } + } + }, + "node_modules/@nestjs/platform-express": { + "version": "8.4.7", + "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-8.4.7.tgz", + "integrity": "sha512-lPE5Ltg2NbQGRQIwXWY+4cNrXhJdycbxFDQ8mNxSIuv+LbrJBIdEB/NONk+LLn9N/8d2+I2LsIETGQrPvsejBg==", + "license": "MIT", + "dependencies": { + "body-parser": "1.20.0", + "cors": "2.8.5", + "express": "4.18.1", + "multer": "1.4.4-lts.1", + "tslib": "2.4.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "@nestjs/common": "^8.0.0", + "@nestjs/core": "^8.0.0" + } + }, + "node_modules/@nestjs/schematics": { + "version": "8.0.11", + "resolved": "https://registry.npmjs.org/@nestjs/schematics/-/schematics-8.0.11.tgz", + "integrity": "sha512-W/WzaxgH5aE01AiIErE9QrQJ73VR/M/8p8pq0LZmjmNcjZqU5kQyOWUxZg13WYfSpJdOa62t6TZRtFDmgZPoIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "13.3.5", + "@angular-devkit/schematics": "13.3.5", + "fs-extra": "10.1.0", + "jsonc-parser": "3.0.0", + "pluralize": "8.0.0" + }, + "peerDependencies": { + "typescript": "^3.4.5 || ^4.3.5" + } + }, + "node_modules/@nestjs/schematics/node_modules/@angular-devkit/core": { + "version": "13.3.5", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.5.tgz", + "integrity": "sha512-w7vzK4VoYP9rLgxJ2SwEfrkpKybdD+QgQZlsDBzT0C6Ebp7b4gkNcNVFo8EiZvfDl6Yplw2IAP7g7fs3STn0hQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "8.9.0", + "ajv-formats": "2.1.1", + "fast-json-stable-stringify": "2.1.0", + "magic-string": "0.25.7", + "rxjs": "6.6.7", + "source-map": "0.7.3" + }, + "engines": { + "node": "^12.20.0 || ^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@nestjs/schematics/node_modules/@angular-devkit/schematics": { + "version": "13.3.5", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.3.5.tgz", + "integrity": "sha512-0N/kL/Vfx0yVAEwa3HYxNx9wYb+G9r1JrLjJQQzDp+z9LtcojNf7j3oey6NXrDUs1WjVZOa/AIdRl3/DuaoG5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "13.3.5", + "jsonc-parser": "3.0.0", + "magic-string": "0.25.7", + "ora": "5.4.1", + "rxjs": "6.6.7" + }, + "engines": { + "node": "^12.20.0 || ^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@nestjs/schematics/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@nestjs/schematics/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@nestjs/schematics/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@nestjs/swagger": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/@nestjs/swagger/-/swagger-5.2.1.tgz", + "integrity": "sha512-7dNa08WCnTsW/oAk3Ujde+z64JMfNm19DhpXasFR8oJp/9pggYAbYU927HpA+GJsSFJX6adjIRZsCKUqaGWznw==", + "license": "MIT", + "dependencies": { + "@nestjs/mapped-types": "1.0.1", + "lodash": "4.17.21", + "path-to-regexp": "3.2.0" + }, + "peerDependencies": { + "@nestjs/common": "^8.0.0", + "@nestjs/core": "^8.0.0", + "fastify-swagger": "*", + "reflect-metadata": "^0.1.12", + "swagger-ui-express": "*" + }, + "peerDependenciesMeta": { + "fastify-swagger": { + "optional": true + }, + "swagger-ui-express": { + "optional": true + } + } + }, + "node_modules/@nestjs/swagger/node_modules/@nestjs/mapped-types": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@nestjs/mapped-types/-/mapped-types-1.0.1.tgz", + "integrity": "sha512-NFvofzSinp00j5rzUd4tf+xi9od6383iY0JP7o0Bnu1fuItAUkWBgc4EKuIQ3D+c2QI3i9pG1kDWAeY27EMGtg==", + "license": "MIT", + "peerDependencies": { + "@nestjs/common": "^7.0.8 || ^8.0.0", + "class-transformer": "^0.2.0 || ^0.3.0 || ^0.4.0 || ^0.5.0", + "class-validator": "^0.11.1 || ^0.12.0 || ^0.13.0", + "reflect-metadata": "^0.1.12" + }, + "peerDependenciesMeta": { + "class-transformer": { + "optional": true + }, + "class-validator": { + "optional": true + } + } + }, + "node_modules/@nestjs/testing": { + "version": "8.4.7", + "resolved": "https://registry.npmjs.org/@nestjs/testing/-/testing-8.4.7.tgz", + "integrity": "sha512-aedpeJFicTBeiTCvJWUG45WMMS53f5eu8t2fXsfjsU1t+WdDJqYcZyrlCzA4dL1B7MfbqaTURdvuVVHTmJO8ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "2.4.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "@nestjs/common": "^8.0.0", + "@nestjs/core": "^8.0.0", + "@nestjs/microservices": "^8.0.0", + "@nestjs/platform-express": "^8.0.0" + }, + "peerDependenciesMeta": { + "@nestjs/microservices": { + "optional": true + }, + "@nestjs/platform-express": { + "optional": true + } + } + }, + "node_modules/@noble/hashes": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz", + "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@npmcli/fs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", + "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", + "license": "ISC", + "optional": true, + "dependencies": { + "@gar/promisify": "^1.0.1", + "semver": "^7.3.5" + } + }, + "node_modules/@npmcli/move-file": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", + "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", + "deprecated": "This functionality has been moved to @npmcli/fs", + "license": "MIT", + "optional": true, + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/move-file/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "license": "MIT", + "optional": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@nuxtjs/opencollective": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@nuxtjs/opencollective/-/opencollective-0.3.2.tgz", + "integrity": "sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==", + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "consola": "^2.15.0", + "node-fetch": "^2.6.1" + }, + "bin": { + "opencollective": "bin/opencollective.js" + }, + "engines": { + "node": ">=8.0.0", + "npm": ">=5.0.0" + } + }, + "node_modules/@paralleldrive/cuid2": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@paralleldrive/cuid2/-/cuid2-2.3.1.tgz", + "integrity": "sha512-XO7cAxhnTZl0Yggq6jOgjiOHhbgcO4NqFqwSmQpjK3b6TEE6Uj/jfSk6wzYyemh3+I0sHirKSetjQwn5cZktFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@noble/hashes": "^1.1.5" + } + }, + "node_modules/@rushstack/node-core-library": { + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-5.13.0.tgz", + "integrity": "sha512-IGVhy+JgUacAdCGXKUrRhwHMTzqhWwZUI+qEPcdzsb80heOw0QPbhhoVsoiMF7Klp8eYsp7hzpScMXmOa3Uhfg==", + "license": "MIT", + "dependencies": { + "ajv": "~8.13.0", + "ajv-draft-04": "~1.0.0", + "ajv-formats": "~3.0.1", + "fs-extra": "~11.3.0", + "import-lazy": "~4.0.0", + "jju": "~1.4.0", + "resolve": "~1.22.1", + "semver": "~7.5.4" + }, + "peerDependencies": { + "@types/node": "*" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@rushstack/node-core-library/node_modules/ajv": { + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.13.0.tgz", + "integrity": "sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.4.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@rushstack/node-core-library/node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/@rushstack/node-core-library/node_modules/fs-extra": { + "version": "11.3.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.3.tgz", + "integrity": "sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@rushstack/node-core-library/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@rushstack/node-core-library/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@rushstack/node-core-library/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC" + }, + "node_modules/@rushstack/terminal": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/@rushstack/terminal/-/terminal-0.15.2.tgz", + "integrity": "sha512-7Hmc0ysK5077R/IkLS9hYu0QuNafm+TbZbtYVzCMbeOdMjaRboLKrhryjwZSRJGJzu+TV1ON7qZHeqf58XfLpA==", + "license": "MIT", + "dependencies": { + "@rushstack/node-core-library": "5.13.0", + "supports-color": "~8.1.1" + }, + "peerDependencies": { + "@types/node": "*" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@rushstack/terminal/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/@rushstack/ts-command-line": { + "version": "4.23.7", + "resolved": "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-4.23.7.tgz", + "integrity": "sha512-Gr9cB7DGe6uz5vq2wdr89WbVDKz0UeuFEn5H2CfWDe7JvjFFaiV15gi6mqDBTbHhHCWS7w8mF1h3BnIfUndqdA==", + "license": "MIT", + "dependencies": { + "@rushstack/terminal": "0.15.2", + "@types/argparse": "1.0.38", + "argparse": "~1.0.9", + "string-argv": "~0.3.1" + } + }, + "node_modules/@rushstack/ts-command-line/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@scarf/scarf": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@scarf/scarf/-/scarf-1.4.0.tgz", + "integrity": "sha512-xxeapPiUXdZAE3che6f3xogoJPeZgig6omHEy1rIY5WVsB3H2BHNnZH+gHG6x91SCWyQCzWGsuL2Hh3ClO5/qQ==", + "hasInstallScript": true, + "license": "Apache-2.0" + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/@ts-morph/common": { + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.21.0.tgz", + "integrity": "sha512-ES110Mmne5Vi4ypUKrtVQfXFDtCsDXiUiGxF6ILVlE90dDD4fdpC1LSjydl/ml7xJWKSDZwUYD2zkOePMSrPBA==", + "license": "MIT", + "dependencies": { + "fast-glob": "^3.2.12", + "minimatch": "^7.4.3", + "mkdirp": "^2.1.6", + "path-browserify": "^1.0.1" + } + }, + "node_modules/@ts-morph/common/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@ts-morph/common/node_modules/minimatch": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.6.tgz", + "integrity": "sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@ts-morph/common/node_modules/mkdirp": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-2.1.6.tgz", + "integrity": "sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A==", + "license": "MIT", + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.12.tgz", + "integrity": "sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/argparse": { + "version": "1.0.38", + "resolved": "https://registry.npmjs.org/@types/argparse/-/argparse-1.0.38.tgz", + "integrity": "sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==", + "license": "MIT" + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.2" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.6", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", + "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/cookiejar": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.5.tgz", + "integrity": "sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/eslint": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", + "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/express": { + "version": "4.17.25", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.25.tgz", + "integrity": "sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "^1" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.19.8", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.8.tgz", + "integrity": "sha512-02S5fmqeoKzVZCHPZid4b8JH2eM5HzQLZWN2FohQEy/0eXTq8VXZfSN6Pcr3F6N9R/vNrj7cpgbhjie6m/1tCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/http-errors": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz", + "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.0.2.tgz", + "integrity": "sha512-4dRxkS/AFX0c5XW6IPMNOydLn2tEhNhJV7DnYK+0bjoJZ+QTmfucBlihX7aoEsh/ocYtkLC73UbnBXBXIxsULA==", + "dev": true, + "license": "MIT", + "dependencies": { + "jest-diff": "^27.0.0", + "pretty-format": "^27.0.0" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/methods": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@types/methods/-/methods-1.1.4.tgz", + "integrity": "sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "16.18.126", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", + "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/prettier": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", + "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/qs": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/send": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz", + "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.10.tgz", + "integrity": "sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/http-errors": "*", + "@types/node": "*", + "@types/send": "<1" + } + }, + "node_modules/@types/serve-static/node_modules/@types/send": { + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.6.tgz", + "integrity": "sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/superagent": { + "version": "8.1.9", + "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-8.1.9.tgz", + "integrity": "sha512-pTVjI73witn+9ILmoJdajHGW2jkSaOzhiFYF1Rd3EQ94kymLqB9PjD9ISg7WaALC7+dCHT0FGe9T2LktLq/3GQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/cookiejar": "^2.1.5", + "@types/methods": "^1.1.4", + "@types/node": "*", + "form-data": "^4.0.0" + } + }, + "node_modules/@types/supertest": { + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.16.tgz", + "integrity": "sha512-6c2ogktZ06tr2ENoZivgm7YnprnhYE4ZoXGMY+oA7IuAf17M8FWvujXZGmxLv8y0PTyts4x5A+erSwVUFA8XSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/superagent": "*" + } + }, + "node_modules/@types/yargs": { + "version": "16.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.11.tgz", + "integrity": "sha512-sbtvk8wDN+JvEdabmZExoW/HNr1cB7D/j4LT08rMiuikfA7m/JNJg7ATQcgzs34zHnoScDkY0ZRSl29Fkmk36g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "dev": true, + "license": "ISC" + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "deprecated": "Use your platform's native atob() and btoa() methods instead", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "license": "ISC" + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals/node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "deprecated": "package has been renamed to acorn-import-attributes", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-loose": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/acorn-loose/-/acorn-loose-8.3.0.tgz", + "integrity": "sha512-75lAs9H19ldmW+fAbyqHdjgdCrz0pWGXKmnqFoh8PyVd1L2RIb4RzYrSjmopeqv3E1G3/Pimu6GgLlrGbrkF7w==", + "license": "MIT", + "dependencies": { + "acorn": "^8.5.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/agentkeepalive": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.6.0.tgz", + "integrity": "sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "license": "MIT", + "optional": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", + "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-draft-04": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz", + "integrity": "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==", + "license": "MIT", + "peerDependencies": { + "ajv": "^8.5.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/append-field": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", + "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==", + "license": "MIT" + }, + "node_modules/aproba": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.1.0.tgz", + "integrity": "sha512-tLIEcj5GuR2RSTnxNKdkK0dJ/GrC7P38sUkiDmDuHfsHmbagTFAxDVIBltoklXEVIQ/f14IL8IMJ5pn9Hez1Ew==", + "license": "ISC" + }, + "node_modules/are-we-there-yet": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", + "deprecated": "This package is no longer supported.", + "license": "ISC", + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/are-we-there-yet/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true, + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "license": "MIT" + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "dev": true, + "license": "MIT" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/axios": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" + } + }, + "node_modules/babel-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", + "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", + "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.2.0.tgz", + "integrity": "sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5" + }, + "peerDependencies": { + "@babel/core": "^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/babel-preset-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", + "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "babel-plugin-jest-hoist": "^27.5.1", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/baseline-browser-mapping": { + "version": "2.9.19", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.19.tgz", + "integrity": "sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bl/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/body-parser": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.10.3", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/browserslist": { + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-json-stable-stringify": "2.x" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "license": "MIT" + }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacache": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", + "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", + "license": "ISC", + "optional": true, + "dependencies": { + "@npmcli/fs": "^1.0.0", + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/cacache/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "license": "ISC", + "optional": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cacache/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "license": "MIT", + "optional": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cacache/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC", + "optional": true + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001770", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001770.tgz", + "integrity": "sha512-x/2CLQ1jHENRbHg5PSId2sXq1CIO1CISvwWAj027ltMVG2UNgW+w9oH2+HzgEIRFembL8bUlXtfbBHR1fCg2xw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true, + "license": "MIT" + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz", + "integrity": "sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-table3": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.2.tgz", + "integrity": "sha512-QyavHCaIC80cMivimWu4aWHilIpiDpfm3hGmqAmXVL1UsnbLuBSMd21hTX6VY4ZSDSM73ESLeF8TOYId3rBTbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" + } + }, + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 10" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/code-block-writer": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-12.0.0.tgz", + "integrity": "sha512-q4dMFMlXtKR3XNBHyMHt/3pwYNA69EDk00lloMOaaUMKPUXBw6lpXtbu3MMVG6/uOihGnRDOlkyqsONEUj60+w==", + "license": "MIT" + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.3.tgz", + "integrity": "sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==", + "dev": true, + "license": "MIT" + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "license": "ISC", + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", + "license": "MIT" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/component-emitter": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", + "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT" + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "engines": [ + "node >= 0.8" + ], + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/consola": { + "version": "2.15.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", + "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==", + "license": "MIT" + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "license": "ISC" + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true, + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "license": "MIT" + }, + "node_modules/cookiejar": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", + "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==", + "dev": true, + "license": "MIT" + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "license": "MIT" + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true, + "license": "MIT" + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true, + "license": "MIT" + }, + "node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", + "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", + "dev": true, + "license": "MIT" + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true, + "license": "MIT" + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "license": "MIT" + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/dezalgo": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", + "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", + "dev": true, + "license": "ISC", + "dependencies": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, + "node_modules/diff": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.4.tgz", + "integrity": "sha512-X07nttJQkwkfKfvTPG/KSnE2OMdcUCao6+eXF3wmnIQRn2aPAHH3VxDbDOdegkd6JbPsXqShpvEOHfAT+nCNwQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "deprecated": "Use your platform's native DOMException instead", + "dev": true, + "license": "MIT", + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/dotenv": { + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz", + "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/motdotla/dotenv?sponsor=1" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.286", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.286.tgz", + "integrity": "sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A==", + "dev": true, + "license": "ISC" + }, + "node_modules/emittery": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "license": "MIT", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.19.0.tgz", + "integrity": "sha512-phv3E1Xl4tQOShqSte26C7Fl84EwUdZsyOuSSk9qtAGyyQs2s3jJzComh+Abf4g187lUUAvH+H26omrqia2aGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.3.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "license": "MIT", + "optional": true + }, + "node_modules/error-ex": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", + "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/escodegen/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "8.10.2", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.2.tgz", + "integrity": "sha512-/IGJ6+Dka158JnP5n5YFMOszjDWrXggGz1LaK/guZq9vZTmniaKlHcsscvkAhn9y4U+BU3JuUdYvtAMcv30y4A==", + "dev": true, + "license": "MIT", + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.5.tgz", + "integrity": "sha512-9Ni+xgemM2IWLq6aXEpP2+V/V30GeA/46Ar629vcMqVPodFFWC9skHu/D1phvuqtS8bJCFnNf01/qcmqYEwNfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "prettier-linter-helpers": "^1.0.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "eslint": ">=7.28.0", + "prettier": ">=2.0.0" + }, + "peerDependenciesMeta": { + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/eslint/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/esm": { + "version": "3.2.25", + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/express": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", + "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.0", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.10.3", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/express/node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "license": "MIT" + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "license": "MIT", + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" + }, + "node_modules/fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/figlet": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/figlet/-/figlet-1.10.0.tgz", + "integrity": "sha512-aktIwEZZ6Gp9AWdMXW4YCi0J2Ahuxo67fNJRUIWD81w8pQ0t9TS8FFpbl27ChlTLF06VkwjDesZSzEVzN75rzA==", + "license": "MIT", + "dependencies": { + "commander": "^14.0.0" + }, + "bin": { + "figlet": "bin/index.js" + }, + "engines": { + "node": ">= 17.0.0" + } + }, + "node_modules/figlet/node_modules/commander": { + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.3.tgz", + "integrity": "sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==", + "license": "MIT", + "engines": { + "node": ">=20" + } + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/figures/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true, + "license": "ISC" + }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/fork-ts-checker-webpack-plugin": { + "version": "7.2.11", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.2.11.tgz", + "integrity": "sha512-2e5+NyTUTE1Xq4fWo7KFEQblCaIvvINQwUX3jRmEGlgCTc1Ecqw/975EfQrQ0GEraxJTnp8KB9d/c8hlCHUMJA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.16.7", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "cosmiconfig": "^7.0.1", + "deepmerge": "^4.2.2", + "fs-extra": "^10.0.0", + "memfs": "^3.4.1", + "minimatch": "^3.0.4", + "schema-utils": "^3.1.1", + "semver": "^7.3.5", + "tapable": "^2.2.1" + }, + "engines": { + "node": ">=12.13.0", + "yarn": ">=1.0.0" + }, + "peerDependencies": { + "typescript": ">3.6.0", + "vue-template-compiler": "*", + "webpack": "^5.11.0" + }, + "peerDependenciesMeta": { + "vue-template-compiler": { + "optional": true + } + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/form-data": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/formidable": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.5.tgz", + "integrity": "sha512-Oz5Hwvwak/DCaXVVUtPn4oLMLLy1CdclLKO1LFgU7XzDpVMUU5UjlSLpGMocyQNNk8F6IJW9M/YdooSn2MRI+Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@paralleldrive/cuid2": "^2.2.2", + "dezalgo": "^1.0.4", + "once": "^1.4.0", + "qs": "^6.11.0" + }, + "funding": { + "url": "https://ko-fi.com/tunnckoCore/commissions" + } + }, + "node_modules/formidable/node_modules/qs": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.0.tgz", + "integrity": "sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", + "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs-monkey": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.1.0.tgz", + "integrity": "sha512-QMUezzXWII9EV5aTFXW1UBVUO77wYPpjqIF8/AviUCThNeSYZykpoTixUeaNNBwmCev0AMDWMAni+f8Hxb1IFw==", + "dev": true, + "license": "Unlicense" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gauge": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", + "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", + "deprecated": "This package is no longer supported.", + "license": "ISC", + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", + "signal-exit": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/getopts": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/getopts/-/getopts-2.3.0.tgz", + "integrity": "sha512-5eDf9fuSXwxBL6q5HX+dhDj+dslFGWzU5thZ9kNKUkcPtaPdatmUFKwHFrLb/uf/WpA4BHET+AX3Scl56cAjpA==", + "license": "MIT" + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true, + "license": "MIT" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "license": "ISC" + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true, + "license": "MIT" + }, + "node_modules/http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", + "license": "BSD-2-Clause", + "optional": true + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "license": "MIT", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-lazy": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/import-local": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "license": "ISC", + "optional": true + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/inquirer/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/inquirer/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "license": "0BSD" + }, + "node_modules/interpret": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/ip-address": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.1.0.tgz", + "integrity": "sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", + "license": "MIT", + "optional": true + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "devOptional": true, + "license": "ISC" + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-reports": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz", + "integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/iterare": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iterare/-/iterare-1.2.1.tgz", + "integrity": "sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==", + "license": "ISC", + "engines": { + "node": ">=6" + } + }, + "node_modules/jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", + "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/core": "^27.5.1", + "import-local": "^3.0.2", + "jest-cli": "^27.5.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", + "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "execa": "^5.0.0", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", + "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-cli": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", + "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/core": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "prompts": "^2.0.1", + "yargs": "^16.2.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-cli/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/jest-cli/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-config": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", + "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.5.1", + "@jest/types": "^27.5.1", + "babel-jest": "^27.5.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.9", + "jest-circus": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-jasmine2": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-docblock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", + "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", + "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-jsdom": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", + "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1", + "jsdom": "^16.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-node": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", + "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-jasmine2": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", + "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-leak-detector": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", + "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-mock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", + "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", + "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-snapshot": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", + "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-leak-detector": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", + "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/globals": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-serializer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", + "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", + "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^27.5.1", + "semver": "^7.3.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-validate": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", + "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "leven": "^3.1.0", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watcher": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", + "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.5.1", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jju": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", + "integrity": "sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==", + "license": "MIT" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsdom/node_modules/form-data": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.4.tgz", + "integrity": "sha512-f0cRzm6dkyVYV3nPoooP8XlccPQukegwhAnpoLcXy+X+A8KfpGOoXwDr9FLZd3wzgLaBGQBE3lY93Zm/i1JvIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.35" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz", + "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/knex": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/knex/-/knex-2.5.1.tgz", + "integrity": "sha512-z78DgGKUr4SE/6cm7ku+jHvFT0X97aERh/f0MUKAKgFnwCYBEW4TFBqtHWFYiJFid7fMrtpZ/gxJthvz5mEByA==", + "license": "MIT", + "dependencies": { + "colorette": "2.0.19", + "commander": "^10.0.0", + "debug": "4.3.4", + "escalade": "^3.1.1", + "esm": "^3.2.25", + "get-package-type": "^0.1.0", + "getopts": "2.3.0", + "interpret": "^2.2.0", + "lodash": "^4.17.21", + "pg-connection-string": "2.6.1", + "rechoir": "^0.8.0", + "resolve-from": "^5.0.0", + "tarn": "^3.0.2", + "tildify": "2.0.0" + }, + "bin": { + "knex": "bin/cli.js" + }, + "engines": { + "node": ">=12" + }, + "peerDependenciesMeta": { + "better-sqlite3": { + "optional": true + }, + "mysql": { + "optional": true + }, + "mysql2": { + "optional": true + }, + "pg": { + "optional": true + }, + "pg-native": { + "optional": true + }, + "sqlite3": { + "optional": true + }, + "tedious": { + "optional": true + } + } + }, + "node_modules/knex/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/knex/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/knex/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "license": "MIT" + }, + "node_modules/knex/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true, + "license": "MIT" + }, + "node_modules/loader-runner": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.1.tgz", + "integrity": "sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.11.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/macos-release": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.5.1.tgz", + "integrity": "sha512-DXqXhEM7gW59OjZO8NIjBCz9AQ1BEMrfiOAl4AYByHCtVHRF4KoGNO8mqQeM8lRCtQe/UnJ4imO/d2HdkKsd+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/magic-string": { + "version": "0.25.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", + "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "sourcemap-codec": "^1.4.4" + } + }, + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true, + "license": "ISC" + }, + "node_modules/make-fetch-happen": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", + "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", + "license": "ISC", + "optional": true, + "dependencies": { + "agentkeepalive": "^4.1.3", + "cacache": "^15.2.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.2", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.0.0", + "ssri": "^8.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/make-fetch-happen/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "license": "ISC", + "optional": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-fetch-happen/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC", + "optional": true + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "dev": true, + "license": "Unlicense", + "dependencies": { + "fs-monkey": "^1.0.4" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "license": "MIT" + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true, + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mikro-orm": { + "version": "5.9.8", + "resolved": "https://registry.npmjs.org/mikro-orm/-/mikro-orm-5.9.8.tgz", + "integrity": "sha512-iBku1gU9xkA2FCw2wy0K4x3EQzsRE52dYGkGUVQEthRmc/vIMBwXyiTAj+oARzXrkWqslFtlZA/2upeqZhMQlw==", + "license": "MIT", + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "license": "MIT" + }, + "node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "license": "ISC", + "optional": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-fetch": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", + "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", + "license": "MIT", + "optional": true, + "dependencies": { + "minipass": "^3.1.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "optionalDependencies": { + "encoding": "^0.1.12" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "license": "ISC", + "optional": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "license": "ISC", + "optional": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "license": "ISC", + "optional": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC" + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minizlib/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC" + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/multer": { + "version": "1.4.4-lts.1", + "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.4-lts.1.tgz", + "integrity": "sha512-WeSGziVj6+Z2/MwQo3GvqzgR+9Uc+qt8SwHKh3gvNPiISKfsMfG4SvCOFYlxxgkXt7yIV2i1yczehm0EOKIxIg==", + "deprecated": "Multer 1.x is impacted by a number of vulnerabilities, which have been patched in 2.x. You should upgrade to the latest 2.x version.", + "license": "MIT", + "dependencies": { + "append-field": "^1.0.0", + "busboy": "^1.0.0", + "concat-stream": "^1.5.2", + "mkdirp": "^0.5.4", + "object-assign": "^4.1.1", + "type-is": "^1.6.4", + "xtend": "^4.0.0" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true, + "license": "ISC" + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true, + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-addon-api": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz", + "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==", + "license": "MIT" + }, + "node_modules/node-emoji": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", + "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash": "^4.17.21" + } + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" + }, + "node_modules/node-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" + }, + "node_modules/node-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/node-gyp": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", + "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", + "license": "MIT", + "optional": true, + "dependencies": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^9.1.0", + "nopt": "^5.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": ">= 10.12.0" + } + }, + "node_modules/node-gyp/node_modules/are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "deprecated": "This package is no longer supported.", + "license": "ISC", + "optional": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/node-gyp/node_modules/gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "deprecated": "This package is no longer supported.", + "license": "ISC", + "optional": true, + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/node-gyp/node_modules/npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "deprecated": "This package is no longer supported.", + "license": "ISC", + "optional": true, + "dependencies": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/node-gyp/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "optional": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "license": "ISC", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npmlog": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", + "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", + "deprecated": "This package is no longer supported.", + "license": "ISC", + "dependencies": { + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^3.0.0", + "set-blocking": "^2.0.0" + } + }, + "node_modules/nwsapi": { + "version": "2.2.23", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.23.tgz", + "integrity": "sha512-7wfH4sLbt4M0gCDzGE6vzQBo0bfTKjU7Sfpqy/7gs1qBfYz2vEJH6vXcBKpO3+6Yu1telwd0t9HpyOoLEQQbIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/os-name": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/os-name/-/os-name-4.0.1.tgz", + "integrity": "sha512-xl9MAoU97MH1Xt5K9ERft2YfCAoaO6msy1OBA0ozxEC0x0TmIoE6K3QvgJMMZA9yKGLmHXNY/YZoDbiGDj4zYw==", + "dev": true, + "license": "MIT", + "dependencies": { + "macos-release": "^2.5.0", + "windows-release": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parent-require": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parent-require/-/parent-require-1.0.0.tgz", + "integrity": "sha512-2MXDNZC4aXdkkap+rBBMv0lUsfJqvX5/2FiYYnfCnorZt3Pk06/IOR5KeaoghgS2w07MLWgjbsnyaq6PdHn2LQ==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true, + "license": "MIT" + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "license": "MIT" + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "license": "MIT" + }, + "node_modules/path-to-regexp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.2.0.tgz", + "integrity": "sha512-jczvQbCUS7XmS7o+y1aEO9OBVFeZBQ1MDSEqmO7xSoPgOPoowY/SxLpZ6Vh97/8qHZOteiCKb7gkG9gA2ZUxJA==", + "license": "MIT" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/pg-connection-string": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.6.1.tgz", + "integrity": "sha512-w6ZzNu6oMmIzEAYVw+RLK0+nqHPt8K3ZnknKi+g48Ak2pr3dtljJW3o+D/n2zzCG07Zoe9VOX3aiKpj+BN0pjg==", + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pirates": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", + "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/pony-cause": { + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/pony-cause/-/pony-cause-2.1.11.tgz", + "integrity": "sha512-M7LhCsdNbNgiLYiP4WjsfLUuFmCfnjdF6jKe2R9NKl4WFN+HZPGHJZ9lnLP7f9ZnKe3U9nuWD0szirmj+migUg==", + "license": "0BSD", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.1.tgz", + "integrity": "sha512-SxToR7P8Y2lWmv/kTzVLC1t/GDI2WGjMwNhLLE9qtH8Q13C+aEmuRlzDst4Up4s0Wc8sF2M+J57iB3cMLqftfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "license": "MIT" + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "license": "ISC", + "optional": true + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "license": "MIT", + "optional": true, + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/psl": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz", + "integrity": "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" + }, + "funding": { + "url": "https://github.com/sponsors/lupomontero" + } + }, + "node_modules/pump": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", + "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true, + "license": "MIT" + }, + "node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/rechoir": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "license": "MIT", + "dependencies": { + "resolve": "^1.20.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/reflect-metadata": { + "version": "0.1.14", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.14.tgz", + "integrity": "sha512-ZhYeb6nRaXCfhnndflDK8qI6ZQ/YcWZCISRAWICW9XYqMUwjZM9Z0DveWX/ABN01oxSHwVxKQmxeYZSsm0jh5A==", + "license": "Apache-2.0" + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/resolve": { + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve.exports": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", + "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", + "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, + "license": "ISC", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/schema-utils/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/schema-utils/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "license": "MIT", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "license": "ISC" + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/shelljs/node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/shelljs/node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "dev": true, + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC" + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true, + "license": "MIT" + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks": { + "version": "2.8.7", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.7.tgz", + "integrity": "sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==", + "license": "MIT", + "optional": true, + "dependencies": { + "ip-address": "^10.0.1", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", + "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead", + "dev": true, + "license": "MIT" + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "license": "BSD-3-Clause" + }, + "node_modules/sqlite3": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-5.1.6.tgz", + "integrity": "sha512-olYkWoKFVNSSSQNvxVUfjiVbz3YtBwTJj+mfV5zpHmqW3sELx2Cf4QCdirMelhM5Zh+KDVaKgQHqCxrqiWHybw==", + "hasInstallScript": true, + "license": "BSD-3-Clause", + "dependencies": { + "@mapbox/node-pre-gyp": "^1.0.0", + "node-addon-api": "^4.2.0", + "tar": "^6.1.11" + }, + "optionalDependencies": { + "node-gyp": "8.x" + }, + "peerDependencies": { + "node-gyp": "8.x" + }, + "peerDependenciesMeta": { + "node-gyp": { + "optional": true + } + } + }, + "node_modules/sqlstring": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.3.tgz", + "integrity": "sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/sqlstring-sqlite": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/sqlstring-sqlite/-/sqlstring-sqlite-0.1.1.tgz", + "integrity": "sha512-9CAYUJ0lEUPYJrswqiqdINNSfq3jqWo/bFJ7tufdoNeSK0Fy+d1kFTxjqO9PIqza0Kri+ZtYMfPVf1aZaFOvrQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "license": "ISC", + "optional": true, + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/string-argv": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", + "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", + "license": "MIT", + "engines": { + "node": ">=0.6.19" + } + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/superagent": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz", + "integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==", + "deprecated": "Please upgrade to superagent v10.2.2+, see release notes at https://github.com/forwardemail/superagent/releases/tag/v10.2.2 - maintenance is supported by Forward Email @ https://forwardemail.net", + "dev": true, + "license": "MIT", + "dependencies": { + "component-emitter": "^1.3.0", + "cookiejar": "^2.1.4", + "debug": "^4.3.4", + "fast-safe-stringify": "^2.1.1", + "form-data": "^4.0.0", + "formidable": "^2.1.2", + "methods": "^1.1.2", + "mime": "2.6.0", + "qs": "^6.11.0", + "semver": "^7.3.8" + }, + "engines": { + "node": ">=6.4.0 <13 || >=14" + } + }, + "node_modules/superagent/node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/superagent/node_modules/qs": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.0.tgz", + "integrity": "sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/supertest": { + "version": "6.3.4", + "resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.4.tgz", + "integrity": "sha512-erY3HFDG0dPnhw4U+udPfrzXa4xhSG+n4rxfRuZWCUvjFWwKl+OxWf/7zk50s84/fAAs7vf5QAb9uRa0cCykxw==", + "deprecated": "Please upgrade to supertest v7.1.3+, see release notes at https://github.com/forwardemail/supertest/releases/tag/v7.1.3 - maintenance is supported by Forward Email @ https://forwardemail.net", + "dev": true, + "license": "MIT", + "dependencies": { + "methods": "^1.1.2", + "superagent": "^8.1.2" + }, + "engines": { + "node": ">=6.4.0" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/swagger-ui-dist": { + "version": "5.31.1", + "resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-5.31.1.tgz", + "integrity": "sha512-XdgQ8wkRGj1P0H0Vvo0TRMOQNz+8Q8J64/vcPOhxlaFx9eB3PYvHMXeyNrP46PXa9SUs/cg7OW/jm9U34KzUfA==", + "license": "Apache-2.0", + "dependencies": { + "@scarf/scarf": "=1.4.0" + } + }, + "node_modules/swagger-ui-express": { + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/swagger-ui-express/-/swagger-ui-express-4.6.3.tgz", + "integrity": "sha512-CDje4PndhTD2HkgyKH3pab+LKspDeB/NhPN2OF1j+piYIamQqBYwAXWESOT1Yju2xFg51bRW9sUng2WxDjzArw==", + "license": "MIT", + "dependencies": { + "swagger-ui-dist": ">=4.11.0" + }, + "engines": { + "node": ">= v0.10.32" + }, + "peerDependencies": { + "express": ">=4.0.0 || >=5.0.0-beta" + } + }, + "node_modules/symbol-observable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", + "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true, + "license": "MIT" + }, + "node_modules/tapable": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "deprecated": "Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "license": "ISC", + "engines": { + "node": ">=8" + } + }, + "node_modules/tar/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC" + }, + "node_modules/tarn": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tarn/-/tarn-3.0.2.tgz", + "integrity": "sha512-51LAVKUSZSVfI05vjPESNc5vwqqZpbXCsU+/+wxlOrUjk2SnFTt97v9ZgQrD4YmxYW1Px6w2KjaDitCfkvgxMQ==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser": { + "version": "5.46.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.46.0.tgz", + "integrity": "sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.15.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.16", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.16.tgz", + "integrity": "sha512-h9oBFCWrq78NyWWVcSwZarJkZ01c2AyGrzs1crmHZO3QUg9D61Wu4NPjBy69n7JqylFF5y+CsUZYmYEIZ3mR+Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "jest-worker": "^27.4.5", + "schema-utils": "^4.3.0", + "serialize-javascript": "^6.0.2", + "terser": "^5.31.1" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "license": "ISC", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true, + "license": "MIT" + }, + "node_modules/throat": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz", + "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true, + "license": "MIT" + }, + "node_modules/tildify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tildify/-/tildify-2.0.0.tgz", + "integrity": "sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tough-cookie": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, + "license": "MIT", + "bin": { + "tree-kill": "cli.js" + } + }, + "node_modules/ts-jest": { + "version": "27.1.5", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-27.1.5.tgz", + "integrity": "sha512-Xv6jBQPoBEvBq/5i2TeSG9tt/nqkbpcurrEG1b+2yfBrcJelOZF9Ml6dmyMh7bcW9JyFbRYpR5rxROSlBLTZHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^27.0.0", + "json5": "2.x", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "7.x", + "yargs-parser": "20.x" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@types/jest": "^27.0.0", + "babel-jest": ">=27.0.0 <28", + "jest": "^27.0.0", + "typescript": ">=3.8 <5.0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@types/jest": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "node_modules/ts-loader": { + "version": "9.5.4", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.4.tgz", + "integrity": "sha512-nCz0rEwunlTZiy6rXFByQU1kVVpCIgUpc/psFiKVrUwrizdnIbRFu8w7bxhUF0X613DYwT4XzrZHpVyMe758hQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4", + "source-map": "^0.7.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "*", + "webpack": "^5.0.0" + } + }, + "node_modules/ts-loader/node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 12" + } + }, + "node_modules/ts-morph": { + "version": "20.0.0", + "resolved": "https://registry.npmjs.org/ts-morph/-/ts-morph-20.0.0.tgz", + "integrity": "sha512-JVmEJy2Wow5n/84I3igthL9sudQ8qzjh/6i4tmYCm6IqYyKFlNbJZi7oBdjyqcWSWYRu3CtL0xbT6fS03ESZIg==", + "license": "MIT", + "dependencies": { + "@ts-morph/common": "~0.21.0", + "code-block-writer": "^12.0.0" + } + }, + "node_modules/ts-node": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths-webpack-plugin": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-3.5.2.tgz", + "integrity": "sha512-EhnfjHbzm5IYI9YPNVIxx1moxMI4bpHD2e0zTXeDNQcwjjRaGepP7IhTHJkyDBG0CAOoxRfe7jCG630Ou+C6Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.7.0", + "tsconfig-paths": "^3.9.0" + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/tsconfig-paths/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", + "license": "0BSD" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "license": "0BSD" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "license": "MIT" + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/umzug": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/umzug/-/umzug-3.3.1.tgz", + "integrity": "sha512-jG3C35jti1YnCuH/k3fJEfHbnIG9c3Q9ITZ0B9eWwnXngh/AUd0mRHv8OdpE2Q9VoK7tB6xL990JrMCr0LtfNA==", + "license": "MIT", + "dependencies": { + "@rushstack/ts-command-line": "^4.12.2", + "emittery": "^0.13.0", + "glob": "^8.0.3", + "pony-cause": "^2.1.4", + "type-fest": "^3.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/umzug/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/umzug/node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/umzug/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/umzug/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/umzug/node_modules/type-fest": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz", + "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "license": "ISC", + "optional": true, + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "license": "ISC", + "optional": true, + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true, + "license": "MIT" + }, + "node_modules/v8-to-istanbul": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", + "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "dev": true, + "license": "ISC", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", + "dev": true, + "license": "MIT", + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/watchpack": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.1.tgz", + "integrity": "sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=10.4" + } + }, + "node_modules/webpack": { + "version": "5.73.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.73.0.tgz", + "integrity": "sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.4.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.9.3", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.3.1", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-node-externals": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz", + "integrity": "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-sources": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.4.tgz", + "integrity": "sha512-7tP1PdV4vF+lYPnkMR0jMY5/la2ub5Fc/8VQrrU+lXkiM6C4TjVfGw7iKfyhnTQOsD+6Q/iKw0eFciziRgD58Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "deprecated": "Use @exodus/bytes instead for a more spec-conformant and faster implementation", + "dev": true, + "license": "MIT", + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true, + "license": "MIT" + }, + "node_modules/whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "devOptional": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "license": "ISC", + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/windows-release": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-4.0.0.tgz", + "integrity": "sha512-OxmV4wzDKB1x7AZaZgXMVsdJ1qER1ed83ZrTYd5Bwq2HfJVg3DJS8nqlAG4sMoJ7mu8cuRmLEYyU13BKwctRAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "execa": "^4.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/windows-release/node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/windows-release/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/windows-release/node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true, + "license": "MIT" + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "license": "MIT", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/backend/cluster-server/package.json b/backend/cluster-server/package.json new file mode 100644 index 0000000000000000000000000000000000000000..25ce2bc3acb6a4bcf87519cffe1136b70c9a0fa9 --- /dev/null +++ b/backend/cluster-server/package.json @@ -0,0 +1,88 @@ +{ + "name": "cluster-server", + "version": "0.0.1", + "description": "", + "author": "", + "private": true, + "license": "UNLICENSED", + "scripts": { + "prebuild": "rimraf dist", + "build": "nest build", + "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", + "start": "nest start", + "start:dev": "nest start --watch", + "start:debug": "nest start --debug --watch", + "start:prod": "node dist/src/main", + "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix", + "test": "jest", + "test:watch": "jest --watch", + "test:cov": "jest --coverage", + "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand", + "test:e2e": "jest --config ./test/jest-e2e.json" + }, + "dependencies": { + "@mikro-orm/cli": "^5.0.5", + "@mikro-orm/core": "^5.0.5", + "@mikro-orm/migrations": "^5.0.5", + "@mikro-orm/nestjs": "^5.0.0", + "@mikro-orm/reflection": "^5.0.5", + "@mikro-orm/sql-highlighter": "^1.0.1", + "@mikro-orm/sqlite": "^5.0.5", + "@nestjs/common": "^8.0.0", + "@nestjs/core": "^8.0.0", + "@nestjs/mapped-types": "*", + "@nestjs/platform-express": "^8.0.0", + "@nestjs/swagger": "^5.2.0", + "reflect-metadata": "^0.1.13", + "rimraf": "^3.0.2", + "rxjs": "^7.2.0", + "swagger-ui-express": "^4.3.0" + }, + "devDependencies": { + "@nestjs/cli": "^8.0.0", + "@nestjs/schematics": "^8.0.0", + "@nestjs/testing": "^8.0.0", + "@types/express": "^4.17.13", + "@types/jest": "27.0.2", + "@types/node": "^16.0.0", + "@types/supertest": "^2.0.11", + "@typescript-eslint/eslint-plugin": "^5.0.0", + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^8.0.1", + "eslint-config-prettier": "^8.3.0", + "eslint-plugin-prettier": "^4.0.0", + "jest": "^27.2.5", + "prettier": "^2.3.2", + "source-map-support": "^0.5.20", + "supertest": "^6.1.3", + "ts-jest": "^27.0.3", + "ts-loader": "^9.2.3", + "ts-node": "^10.0.0", + "tsconfig-paths": "^3.10.1", + "typescript": "^4.3.5" + }, + "jest": { + "moduleFileExtensions": [ + "js", + "json", + "ts" + ], + "rootDir": "src", + "testRegex": ".*\\.spec\\.ts$", + "transform": { + "^.+\\.(t|j)s$": "ts-jest" + }, + "collectCoverageFrom": [ + "**/*.(t|j)s" + ], + "coverageDirectory": "../coverage", + "testEnvironment": "node" + }, + "mikro-orm": { + "useTsNode": true, + "configPaths": [ + "./src/mikro-orm.config.ts", + "./dist/mikro-orm.config.js" + ] + } +} diff --git a/backend/libs/gauge-renderer.ts b/backend/libs/gauge-renderer.ts new file mode 100644 index 0000000000000000000000000000000000000000..84ca0ba4f210ecc7d496b79fb58891c471897970 --- /dev/null +++ b/backend/libs/gauge-renderer.ts @@ -0,0 +1,341 @@ +/* global cv */ +import { Canvas, Image, loadImage, ImageData } from 'skia-canvas'; +// threejs内éƒĻä―ŋį”Ļ乆OffscreenCanvas +//(globalThis as any).OffscreenCanvas = (globalThis as any).OffscreenCanvas || Canvas; +globalThis.ImageData = ImageData; + +import createContext from 'gl'; + +import * as SHADER_SOURCE from '../../src/pages/playground/scripts/shaders'; + +//const cc = (a: T[][]): T[] => a.flat(1); // This is slower! +const cc = (a: T[][]): T[] => { + const result: T[] = []; + for (const x of a) { + for (const e of x) result.push(e); + } + + return result; +}; + +type RenderContext = ReturnType; + +class GLCanvas { + ctx: RenderContext; + _width: number = 256; + _height: number = 192; + + resizeBuffer: number[]; + + constructor(context: RenderContext) { + this.ctx = context; + } + + get width() { + return this._width; + } + + set width(width: number) { + this._width = width; + const ext = this.ctx.getExtension('STACKGL_resize_drawingbuffer'); + ext.resize(width, this.height); + } + + get height() { + return this._height; + } + + set height(height: number) { + this._height = height; + const ext = this.ctx.getExtension('STACKGL_resize_drawingbuffer'); + ext.resize(this.width, height); + } + + /*// @ts-ignore + getContext(type, options) { + if (type === 'webgl') { + this.ctx = createContext(200, 300, options); + + return this.ctx; + } + + return null as WebGLRenderingContext; + }*/ + + addEventListener(evt: 'webglcontextlost') {} + + async toBuffer() { + const pixels = new Uint8Array(this.width * this.height * 4); + this.ctx.readPixels(0, 0, this.width, this.height, this.ctx.RGBA, this.ctx.UNSIGNED_BYTE, pixels); + + const canvas = new Canvas(this.width, this.height); + const ctx = canvas.getContext('2d'); + ctx.putImageData(new ImageData(new Uint8ClampedArray(pixels), this.width, this.height), 0, 0); + + return canvas.toBuffer('png'); + } +} + +interface GaugeRendererInitOptions { + source: HTMLImageElement; + gauge: HTMLImageElement; +} + +const gl = createContext(512, 192, { antialias: true }); + +export default class GaugeRenderer { + source: Image; // base64 string + gauge: Image; + canvas: GLCanvas; + + program: WebGLProgram; + texture: WebGLTexture; + pos: WebGLBuffer; + uv: WebGLBuffer; + ib: WebGLBuffer; + primitiveCount: number; + + width: number = 256; + height: number = 192; + + constructor(options: GaugeRendererInitOptions) { + this.source = options.source; + this.gauge = options.gauge; + this.canvas = new GLCanvas(gl); + + gl.getShaderPrecisionFormat(gl.VERTEX_SHADER, gl.HIGH_FLOAT); + gl.getShaderPrecisionFormat(gl.FRAGMENT_SHADER, gl.HIGH_FLOAT); + + gl.getExtension('OES_element_index_uint'); + + // initial program + this.program = gl.createProgram(); + + const vsShader = gl.createShader(gl.VERTEX_SHADER); + gl.shaderSource(vsShader, SHADER_SOURCE.vs); + gl.compileShader(vsShader); + const logVs = gl.getShaderInfoLog(vsShader); + logVs && console.warn('vs log:', logVs); + + const fsShader = gl.createShader(gl.FRAGMENT_SHADER); + gl.shaderSource(fsShader, SHADER_SOURCE.fs); + gl.compileShader(fsShader); + const logFs = gl.getShaderInfoLog(fsShader); + logFs && console.warn('fs log:', logFs); + + gl.attachShader(this.program, vsShader); + gl.attachShader(this.program, fsShader); + gl.linkProgram(this.program); + + const logProgram = gl.getProgramInfoLog(this.program); + logProgram && console.warn('program log:', logProgram); + + gl.deleteShader(vsShader); + gl.deleteShader(fsShader); + + const { name: nameModelView } = gl.getActiveUniform(this.program, 0); + const modelMat = gl.getUniformLocation(this.program, nameModelView); + const { name: nameProj } = gl.getActiveUniform(this.program, 1); + const projMat = gl.getUniformLocation(this.program, nameProj); + const { name: nameUV } = gl.getActiveUniform(this.program, 2); + const uvMat = gl.getUniformLocation(this.program, nameUV); + const { name: nameDiffuse } = gl.getActiveUniform(this.program, 3); + const diffuse = gl.getUniformLocation(this.program, nameDiffuse); + const { name: nameOpacity } = gl.getActiveUniform(this.program, 4); + const opacity = gl.getUniformLocation(this.program, nameOpacity); + const { name: nameMap } = gl.getActiveUniform(this.program, 5); + const map = gl.getUniformLocation(this.program, nameMap); + + gl.useProgram(this.program); + + gl.uniformMatrix4fv( + projMat, + false, + //new Float32Array([0.0026385225355625153, 0, 0, 0, 0, -0.010416666977107525, 0, 0, 0, 0, -0.20202019810676575, 0, 0, 0, -1.0202020406723022, 1]) + new Float32Array([0.002739726100116968, 0, 0, 0, 0, 0.010416666977107525, 0, 0, 0, 0, -0.20202019810676575, 0, 0, 0, -1.0202020406723022, 1]) + ); + gl.uniformMatrix4fv(modelMat, false, new Float32Array([1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, -1, 1])); + gl.uniformMatrix3fv(uvMat, false, new Float32Array([1, 0, 0, 0, 1, 0, 0, 0, 1])); + gl.uniform3f(diffuse, 1, 1, 1); + gl.uniform1f(opacity, 1); + gl.uniform1i(map, 0); + + // texture + this.texture = gl.createTexture(); + gl.activeTexture(gl.TEXTURE0); + gl.bindTexture(gl.TEXTURE_2D, this.texture); + gl.pixelStorei(37440, true); + gl.pixelStorei(37441, false); + gl.pixelStorei(gl.UNPACK_ALIGNMENT, 4); + gl.pixelStorei(37443, 0); + + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR_MIPMAP_LINEAR); + + gl.disable(gl.CULL_FACE); + gl.depthMask(true); + gl.colorMask(true, true, true, true); + gl.disable(gl.STENCIL_TEST); + gl.disable(gl.POLYGON_OFFSET_FILL); + gl.disable(gl.SAMPLE_ALPHA_TO_COVERAGE); + + // buffers + this.pos = gl.createBuffer(); + this.uv = gl.createBuffer(); + this.ib = gl.createBuffer(); + + const iPos = gl.getAttribLocation(this.program, 'position'); + const iUV = gl.getAttribLocation(this.program, 'uv'); + //console.log('indices:', iPos, iUV); + + gl.enableVertexAttribArray(iPos); + gl.bindBuffer(gl.ARRAY_BUFFER, this.pos); + gl.vertexAttribPointer(iPos, 3, gl.FLOAT, false, 0, 0); + + gl.enableVertexAttribArray(iUV); + gl.bindBuffer(gl.ARRAY_BUFFER, this.uv); + gl.vertexAttribPointer(iUV, 2, gl.FLOAT, false, 0, 0); + } + + updateMaterial({ width = null, sw = this.width, sh = this.height } = {}) { + if (sw !== this.width || sh !== this.height) { + if (Number.isFinite(width)) { + this.width = width; + } else { + this.width = Math.round((this.height * sw) / sh); + } + + this.canvas.width = this.width; + this.canvas.height = this.height; + + gl.viewport(0, 0, this.width, this.height); + + const projMat = gl.getUniformLocation(this.program, 'projectionMatrix'); + gl.uniformMatrix4fv( + projMat, + false, + new Float32Array([2 / this.width, 0, 0, 0, 0, 2 / this.height, 0, 0, 0, 0, -0.20202019810676575, 0, 0, 0, -1.0202020406723022, 1]) + ); + } + + // image to canvas + const sourceCanvas = new Canvas(this.source.width, this.source.height); + sourceCanvas.getContext('2d').drawImage(this.source, 0, 0); + + gl.bindTexture(gl.TEXTURE_2D, this.texture); + gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, sourceCanvas as any); + gl.generateMipmap(gl.TEXTURE_2D); + } + + updateGeometry(baseY = null) { + const { width, height } = this.gauge; + const canvas = new Canvas(width, height); + const ctx = canvas.getContext('2d'); + ctx.drawImage(this.gauge, 0, 0); + const { data: buffer } = ctx.getImageData(0, 0, width, height); + + const xFactor = this.width / width; + + baseY = Math.round(Number.isFinite(baseY) ? baseY : height / 2); + baseY = Math.max(0, Math.min(height - 1, baseY)); + + const propertyArray = Array(height) + .fill(null) + .map((_, y) => + Array(width) + .fill(null) + .map((_, x) => ({ + uv: [(x + 0.5) / width, 1 - (y + 0.5) / height], + position: [(x - width / 2) * xFactor, (buffer[(y * width + x) * 4] + buffer[(y * width + x) * 4 + 2] / 256 - 128) / xFactor, 0], + })) + ); + + // integral X by K + for (let y = baseY; y > 0; --y) { + for (let x = 0; x < width; ++x) + propertyArray[y - 1][x].position[0] = propertyArray[y][x].position[0] - ((buffer[(y * width + x) * 4 + 1] - 128) * xFactor) / 127; + } + for (let y = baseY + 1; y < height; ++y) { + for (let x = 0; x < width; ++x) + propertyArray[y][x].position[0] = propertyArray[y - 1][x].position[0] + ((buffer[((y - 1) * width + x) * 4 + 1] - 128) * xFactor) / 127; + } + + const uvs = cc(cc(propertyArray).map((p) => p.uv)); + const positions = cc(cc(propertyArray).map((p) => p.position)); + + const faces = Array(height - 1) + .fill(null) + .map((_, y) => + Array(width - 1) + .fill(null) + .map((_, x) => [y * width + x, y * width + x + 1, (y + 1) * width + x, (y + 1) * width + x, (y + 1) * width + x + 1, y * width + x + 1]) + ); + const indices = cc(cc(faces)); + + gl.bindBuffer(gl.ARRAY_BUFFER, this.pos); + gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(positions), gl.STATIC_DRAW); + + gl.bindBuffer(gl.ARRAY_BUFFER, this.uv); + gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(uvs), gl.STATIC_DRAW); + + gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, this.ib); + gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, new Uint32Array(indices), gl.STATIC_DRAW); + + this.primitiveCount = indices.length; + } + + render() { + gl.clearColor(1, 1, 1, 1); + gl.clear(gl.COLOR_BUFFER_BIT); + + //gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, this.ib); + + gl.drawElements(gl.TRIANGLES, this.primitiveCount, gl.UNSIGNED_INT, 0); + + return this.canvas.toBuffer(); + } + + dispose() { + gl.deleteBuffer(this.pos); + gl.deleteBuffer(this.uv); + gl.deleteBuffer(this.ib); + + gl.deleteProgram(this.program); + gl.deleteTexture(this.texture); + } +} + +const gaugeRenderer = new GaugeRenderer({ + source: new Image(), + gauge: new Image(), +}); + +export const renderGaugeImage = async (sourceURL: string | Buffer, gaugeURL: string | Buffer, baseY?: number) => { + const source = await loadImage(sourceURL); + const gauge = await loadImage(gaugeURL); + + gaugeRenderer.source = source; + gaugeRenderer.gauge = gauge; + + gaugeRenderer.updateMaterial({ + width: gauge.width, + sw: source.width, + sh: source.height, + }); + + gaugeRenderer.updateGeometry(baseY); + + console.log(process.memoryUsage().heapUsed); + + return { + buffer: await gaugeRenderer.render(), + size: { + width: gaugeRenderer.width, + height: gaugeRenderer.height, + }, + }; +}; + +// renderGaugeImage('./images/source.png', './images/gauge.png'); diff --git a/backend/omr-service/package-lock.json b/backend/omr-service/package-lock.json new file mode 100644 index 0000000000000000000000000000000000000000..3fcea6b1800f9ef6adddf83928ee293c42df9cb7 --- /dev/null +++ b/backend/omr-service/package-lock.json @@ -0,0 +1,4870 @@ +{ + "name": "starry-omr-service", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "starry-omr-service", + "version": "1.0.0", + "dependencies": { + "@fastify/cors": "^9.0.1", + "@fastify/multipart": "^8.1.0", + "@fastify/static": "^6.12.0", + "@fastify/websocket": "^10.0.1", + "dotenv": "^16.4.1", + "fastify": "^4.26.0", + "msgpackr": "^1.10.1", + "onnxruntime-node": "^1.12.1", + "pg": "^8.11.3", + "pino": "^8.18.0", + "sharp": "^0.34.5", + "skia-canvas": "^1.0.2", + "starry-omr": "file:../omr", + "uuid": "^9.0.1", + "weak-lru-cache": "^1.2.2", + "zeromq": "^6.0.0-beta.19" + }, + "devDependencies": { + "@types/node": "^20.11.0", + "@types/pg": "^8.10.9", + "@types/uuid": "^9.0.7", + "tsx": "^4.7.0", + "typescript": "^5.3.3", + "vitest": "^1.2.0" + } + }, + "../omr": { + "version": "1.0.0", + "license": "ISC", + "devDependencies": { + "@rollup/plugin-commonjs": "^21.1.0", + "@rollup/plugin-json": "^5.0.2", + "@rollup/plugin-node-resolve": "^15.0.1", + "@rollup/plugin-typescript": "^10.0.1", + "@types/three": "^0.139.0", + "cpy-cli": "^4.1.0", + "cross-env": "^7.0.3", + "dts-cli": "^1.5.1", + "rimraf": "^3.0.2", + "rollup": "^2.77.4-1", + "rollup-plugin-dts": "^5.0.0", + "rollup-plugin-node-polyfills": "^0.2.1", + "rollup-plugin-terser": "^7.0.2", + "rollup-plugin-ts": "^3.0.2", + "ts-node": "^10.4.0", + "typescript": "^4.9.4", + "yargs": "^17.3.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz", + "integrity": "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz", + "integrity": "sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.3.tgz", + "integrity": "sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz", + "integrity": "sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.3.tgz", + "integrity": "sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz", + "integrity": "sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz", + "integrity": "sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz", + "integrity": "sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz", + "integrity": "sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz", + "integrity": "sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz", + "integrity": "sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz", + "integrity": "sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz", + "integrity": "sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz", + "integrity": "sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz", + "integrity": "sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz", + "integrity": "sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz", + "integrity": "sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz", + "integrity": "sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz", + "integrity": "sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz", + "integrity": "sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz", + "integrity": "sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz", + "integrity": "sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz", + "integrity": "sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz", + "integrity": "sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz", + "integrity": "sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz", + "integrity": "sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz", + "integrity": "sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@fastify/accept-negotiator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@fastify/accept-negotiator/-/accept-negotiator-1.1.0.tgz", + "integrity": "sha512-OIHZrb2ImZ7XG85HXOONLcJWGosv7sIvM2ifAPQVhg9Lv7qdmMBNVaai4QTdyuaqbKM5eO6sLSQOYI7wEQeCJQ==", + "engines": { + "node": ">=14" + } + }, + "node_modules/@fastify/ajv-compiler": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@fastify/ajv-compiler/-/ajv-compiler-3.6.0.tgz", + "integrity": "sha512-LwdXQJjmMD+GwLOkP7TVC68qa+pSSogeWWmznRJ/coyTcfe9qA05AHFSe1eZFwK6q+xVRpChnvFUkf1iYaSZsQ==", + "dependencies": { + "ajv": "^8.11.0", + "ajv-formats": "^2.1.1", + "fast-uri": "^2.0.0" + } + }, + "node_modules/@fastify/busboy": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-3.2.0.tgz", + "integrity": "sha512-m9FVDXU3GT2ITSe0UaMA5rU3QkfC/UXtCU8y0gSN/GugTqtVldOBWIB5V6V3sbmenVZUIpU6f+mPEO2+m5iTaA==" + }, + "node_modules/@fastify/cors": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@fastify/cors/-/cors-9.0.1.tgz", + "integrity": "sha512-YY9Ho3ovI+QHIL2hW+9X4XqQjXLjJqsU+sMV/xFsxZkE8p3GNnYVFpoOxF7SsP5ZL76gwvbo3V9L+FIekBGU4Q==", + "dependencies": { + "fastify-plugin": "^4.0.0", + "mnemonist": "0.39.6" + } + }, + "node_modules/@fastify/deepmerge": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@fastify/deepmerge/-/deepmerge-2.0.2.tgz", + "integrity": "sha512-3wuLdX5iiiYeZWP6bQrjqhrcvBIf0NHbQH1Ur1WbHvoiuTYUEItgygea3zs8aHpiitn0lOB8gX20u1qO+FDm7Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ] + }, + "node_modules/@fastify/error": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@fastify/error/-/error-4.2.0.tgz", + "integrity": "sha512-RSo3sVDXfHskiBZKBPRgnQTtIqpi/7zhJOEmAxCiBcM7d0uwdGdxLlsCaLzGs8v8NnxIRlfG0N51p5yFaOentQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ] + }, + "node_modules/@fastify/fast-json-stringify-compiler": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@fastify/fast-json-stringify-compiler/-/fast-json-stringify-compiler-4.3.0.tgz", + "integrity": "sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==", + "dependencies": { + "fast-json-stringify": "^5.7.0" + } + }, + "node_modules/@fastify/merge-json-schemas": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@fastify/merge-json-schemas/-/merge-json-schemas-0.1.1.tgz", + "integrity": "sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + } + }, + "node_modules/@fastify/multipart": { + "version": "8.3.1", + "resolved": "https://registry.npmjs.org/@fastify/multipart/-/multipart-8.3.1.tgz", + "integrity": "sha512-pncbnG28S6MIskFSVRtzTKE9dK+GrKAJl0NbaQ/CG8ded80okWFsYKzSlP9haaLNQhNRDOoHqmGQNvgbiPVpWQ==", + "dependencies": { + "@fastify/busboy": "^3.0.0", + "@fastify/deepmerge": "^2.0.0", + "@fastify/error": "^4.0.0", + "fastify-plugin": "^4.0.0", + "secure-json-parse": "^2.4.0", + "stream-wormhole": "^1.1.0" + } + }, + "node_modules/@fastify/send": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@fastify/send/-/send-2.1.0.tgz", + "integrity": "sha512-yNYiY6sDkexoJR0D8IDy3aRP3+L4wdqCpvx5WP+VtEU58sn7USmKynBzDQex5X42Zzvw2gNzzYgP90UfWShLFA==", + "dependencies": { + "@lukeed/ms": "^2.0.1", + "escape-html": "~1.0.3", + "fast-decode-uri-component": "^1.0.1", + "http-errors": "2.0.0", + "mime": "^3.0.0" + } + }, + "node_modules/@fastify/static": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/@fastify/static/-/static-6.12.0.tgz", + "integrity": "sha512-KK1B84E6QD/FcQWxDI2aiUCwHxMJBI1KeCUzm1BwYpPY1b742+jeKruGHP2uOluuM6OkBPI8CIANrXcCRtC2oQ==", + "dependencies": { + "@fastify/accept-negotiator": "^1.0.0", + "@fastify/send": "^2.0.0", + "content-disposition": "^0.5.3", + "fastify-plugin": "^4.0.0", + "glob": "^8.0.1", + "p-limit": "^3.1.0" + } + }, + "node_modules/@fastify/websocket": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/@fastify/websocket/-/websocket-10.0.1.tgz", + "integrity": "sha512-8/pQIxTPRD8U94aILTeJ+2O3el/r19+Ej5z1O1mXlqplsUH7KzCjAI0sgd5DM/NoPjAi5qLFNIjgM5+9/rGSNw==", + "dependencies": { + "duplexify": "^4.1.2", + "fastify-plugin": "^4.0.0", + "ws": "^8.0.0" + } + }, + "node_modules/@img/colour": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.0.0.tgz", + "integrity": "sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==", + "engines": { + "node": ">=18" + } + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz", + "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz", + "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz", + "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz", + "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz", + "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz", + "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-ppc64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz", + "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-riscv64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz", + "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz", + "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz", + "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz", + "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz", + "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz", + "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz", + "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-ppc64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz", + "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-ppc64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-riscv64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz", + "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-riscv64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz", + "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz", + "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz", + "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz", + "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz", + "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==", + "cpu": [ + "wasm32" + ], + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.7.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz", + "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz", + "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz", + "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true + }, + "node_modules/@lukeed/ms": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@lukeed/ms/-/ms-2.0.2.tgz", + "integrity": "sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@mapbox/node-pre-gyp": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz", + "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==", + "dependencies": { + "detect-libc": "^2.0.0", + "https-proxy-agent": "^5.0.0", + "make-dir": "^3.1.0", + "node-fetch": "^2.6.7", + "nopt": "^5.0.0", + "npmlog": "^5.0.1", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.11" + }, + "bin": { + "node-pre-gyp": "bin/node-pre-gyp" + } + }, + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.3.tgz", + "integrity": "sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.3.tgz", + "integrity": "sha512-mdzd3AVzYKuUmiWOQ8GNhl64/IoFGol569zNRdkLReh6LRLHOXxU4U8eq0JwaD8iFHdVGqSy4IjFL4reoWCDFw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.3.tgz", + "integrity": "sha512-fg0uy/dG/nZEXfYilKoRe7yALaNmHoYeIoJuJ7KJ+YyU2bvY8vPv27f7UKhGRpY6euFYqEVhxCFZgAUNQBM3nw==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.3.tgz", + "integrity": "sha512-YxQL+ax0XqBJDZiKimS2XQaf+2wDGVa1enVRGzEvLLVFeqa5kx2bWbtcSXgsxjQB7nRqqIGFIcLteF/sHeVtQg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.3.tgz", + "integrity": "sha512-cvwNfbP07pKUfq1uH+S6KJ7dT9K8WOE4ZiAcsrSes+UY55E/0jLYc+vq+DO7jlmqRb5zAggExKm0H7O/CBaesg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.3.tgz", + "integrity": "sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@pinojs/redact": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@pinojs/redact/-/redact-0.4.0.tgz", + "integrity": "sha512-k2ENnmBugE/rzQfEcdWHcCY+/FM3VLzH9cYEsbdsoqrvzAKRhUZeRNhAZvB8OitQJ1TBed3yqWtdjzS6wJKBwg==" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.57.1.tgz", + "integrity": "sha512-A6ehUVSiSaaliTxai040ZpZ2zTevHYbvu/lDoeAteHI8QnaosIzm4qwtezfRg1jOYaUmnzLX1AOD6Z+UJjtifg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.57.1.tgz", + "integrity": "sha512-dQaAddCY9YgkFHZcFNS/606Exo8vcLHwArFZ7vxXq4rigo2bb494/xKMMwRRQW6ug7Js6yXmBZhSBRuBvCCQ3w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.57.1.tgz", + "integrity": "sha512-crNPrwJOrRxagUYeMn/DZwqN88SDmwaJ8Cvi/TN1HnWBU7GwknckyosC2gd0IqYRsHDEnXf328o9/HC6OkPgOg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.57.1.tgz", + "integrity": "sha512-Ji8g8ChVbKrhFtig5QBV7iMaJrGtpHelkB3lsaKzadFBe58gmjfGXAOfI5FV0lYMH8wiqsxKQ1C9B0YTRXVy4w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.57.1.tgz", + "integrity": "sha512-R+/WwhsjmwodAcz65guCGFRkMb4gKWTcIeLy60JJQbXrJ97BOXHxnkPFrP+YwFlaS0m+uWJTstrUA9o+UchFug==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.57.1.tgz", + "integrity": "sha512-IEQTCHeiTOnAUC3IDQdzRAGj3jOAYNr9kBguI7MQAAZK3caezRrg0GxAb6Hchg4lxdZEI5Oq3iov/w/hnFWY9Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.57.1.tgz", + "integrity": "sha512-F8sWbhZ7tyuEfsmOxwc2giKDQzN3+kuBLPwwZGyVkLlKGdV1nvnNwYD0fKQ8+XS6hp9nY7B+ZeK01EBUE7aHaw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.57.1.tgz", + "integrity": "sha512-rGfNUfn0GIeXtBP1wL5MnzSj98+PZe/AXaGBCRmT0ts80lU5CATYGxXukeTX39XBKsxzFpEeK+Mrp9faXOlmrw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.57.1.tgz", + "integrity": "sha512-MMtej3YHWeg/0klK2Qodf3yrNzz6CGjo2UntLvk2RSPlhzgLvYEB3frRvbEF2wRKh1Z2fDIg9KRPe1fawv7C+g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.57.1.tgz", + "integrity": "sha512-1a/qhaaOXhqXGpMFMET9VqwZakkljWHLmZOX48R0I/YLbhdxr1m4gtG1Hq7++VhVUmf+L3sTAf9op4JlhQ5u1Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.57.1.tgz", + "integrity": "sha512-QWO6RQTZ/cqYtJMtxhkRkidoNGXc7ERPbZN7dVW5SdURuLeVU7lwKMpo18XdcmpWYd0qsP1bwKPf7DNSUinhvA==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.57.1.tgz", + "integrity": "sha512-xpObYIf+8gprgWaPP32xiN5RVTi/s5FCR+XMXSKmhfoJjrpRAjCuuqQXyxUa/eJTdAE6eJ+KDKaoEqjZQxh3Gw==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.57.1.tgz", + "integrity": "sha512-4BrCgrpZo4hvzMDKRqEaW1zeecScDCR+2nZ86ATLhAoJ5FQ+lbHVD3ttKe74/c7tNT9c6F2viwB3ufwp01Oh2w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.57.1.tgz", + "integrity": "sha512-NOlUuzesGauESAyEYFSe3QTUguL+lvrN1HtwEEsU2rOwdUDeTMJdO5dUYl/2hKf9jWydJrO9OL/XSSf65R5+Xw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.57.1.tgz", + "integrity": "sha512-ptA88htVp0AwUUqhVghwDIKlvJMD/fmL/wrQj99PRHFRAG6Z5nbWoWG4o81Nt9FT+IuqUQi+L31ZKAFeJ5Is+A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.57.1.tgz", + "integrity": "sha512-S51t7aMMTNdmAMPpBg7OOsTdn4tySRQvklmL3RpDRyknk87+Sp3xaumlatU+ppQ+5raY7sSTcC2beGgvhENfuw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.57.1.tgz", + "integrity": "sha512-Bl00OFnVFkL82FHbEqy3k5CUCKH6OEJL54KCyx2oqsmZnFTR8IoNqBF+mjQVcRCT5sB6yOvK8A37LNm/kPJiZg==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.57.1.tgz", + "integrity": "sha512-ABca4ceT4N+Tv/GtotnWAeXZUZuM/9AQyCyKYyKnpk4yoA7QIAuBt6Hkgpw8kActYlew2mvckXkvx0FfoInnLg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.57.1.tgz", + "integrity": "sha512-HFps0JeGtuOR2convgRRkHCekD7j+gdAuXM+/i6kGzQtFhlCtQkpwtNzkNj6QhCDp7DRJ7+qC/1Vg2jt5iSOFw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.57.1.tgz", + "integrity": "sha512-H+hXEv9gdVQuDTgnqD+SQffoWoc0Of59AStSzTEj/feWTBAnSfSD3+Dql1ZruJQxmykT/JVY0dE8Ka7z0DH1hw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.57.1.tgz", + "integrity": "sha512-4wYoDpNg6o/oPximyc/NG+mYUejZrCU2q+2w6YZqrAs2UcNUChIZXjtafAiiZSUc7On8v5NyNj34Kzj/Ltk6dQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.57.1.tgz", + "integrity": "sha512-O54mtsV/6LW3P8qdTcamQmuC990HDfR71lo44oZMZlXU4tzLrbvTii87Ni9opq60ds0YzuAlEr/GNwuNluZyMQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.57.1.tgz", + "integrity": "sha512-P3dLS+IerxCT/7D2q2FYcRdWRl22dNbrbBEtxdWhXrfIMPP9lQhb5h4Du04mdl5Woq05jVCDPCMF7Ub0NAjIew==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.57.1.tgz", + "integrity": "sha512-VMBH2eOOaKGtIJYleXsi2B8CPVADrh+TyNxJ4mWPnKfLB/DBUmzW+5m1xUrcwWoMfSLagIRpjUFeW5CO5hyciQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.57.1.tgz", + "integrity": "sha512-mxRFDdHIWRxg3UfIIAwCm6NzvxG0jDX/wBN6KsQFTvKFqqg9vTrWUE68qEjHt19A5wwx5X5aUi2zuZT7YR0jrA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.10", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.10.tgz", + "integrity": "sha512-MTBk/3jGLNB2tVxv6uLlFh1iu64iYOQ2PbdOSK3NW8JZsmlaOh2q6sdtKowBhfw8QFLmYNzTW4/oK4uATIi6ZA==", + "dev": true + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true + }, + "node_modules/@types/node": { + "version": "20.19.33", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.33.tgz", + "integrity": "sha512-Rs1bVAIdBs5gbTIKza/tgpMuG1k3U/UMJLWecIMxNdJFDMzcM5LOiLVRYh3PilWEYDIeUDv7bpiHPLPsbydGcw==", + "dev": true, + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/pg": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/@types/pg/-/pg-8.16.0.tgz", + "integrity": "sha512-RmhMd/wD+CF8Dfo+cVIy3RR5cl8CyfXQ0tGgW6XBL8L4LM/UTEbNXYRbLwU6w+CgrKBNbrQWt4FUtTfaU5jSYQ==", + "dev": true, + "dependencies": { + "@types/node": "*", + "pg-protocol": "*", + "pg-types": "^2.2.0" + } + }, + "node_modules/@types/uuid": { + "version": "9.0.8", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz", + "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==", + "dev": true + }, + "node_modules/@vitest/expect": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.6.1.tgz", + "integrity": "sha512-jXL+9+ZNIJKruofqXuuTClf44eSpcHlgj3CiuNihUF3Ioujtmc0zIa3UJOW5RjDK1YLBJZnWBlPuqhYycLioog==", + "dev": true, + "dependencies": { + "@vitest/spy": "1.6.1", + "@vitest/utils": "1.6.1", + "chai": "^4.3.10" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.6.1.tgz", + "integrity": "sha512-3nSnYXkVkf3mXFfE7vVyPmi3Sazhb/2cfZGGs0JRzFsPFvAMBEcrweV1V1GsrstdXeKCTXlJbvnQwGWgEIHmOA==", + "dev": true, + "dependencies": { + "@vitest/utils": "1.6.1", + "p-limit": "^5.0.0", + "pathe": "^1.1.1" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner/node_modules/p-limit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", + "integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vitest/runner/node_modules/yocto-queue": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.2.tgz", + "integrity": "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==", + "dev": true, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vitest/snapshot": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.6.1.tgz", + "integrity": "sha512-WvidQuWAzU2p95u8GAKlRMqMyN1yOJkGHnx3M1PL9Raf7AQ1kwLKg04ADlCa3+OXUZE7BceOhVZiuWAbzCKcUQ==", + "dev": true, + "dependencies": { + "magic-string": "^0.30.5", + "pathe": "^1.1.1", + "pretty-format": "^29.7.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/spy": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.6.1.tgz", + "integrity": "sha512-MGcMmpGkZebsMZhbQKkAf9CX5zGvjkBTqf8Zx3ApYWXr3wG+QvEu2eXWfnIIWYSJExIp4V9FCKDEeygzkYrXMw==", + "dev": true, + "dependencies": { + "tinyspy": "^2.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.6.1.tgz", + "integrity": "sha512-jOrrUvXM4Av9ZWiG1EajNto0u96kWAhJ1LmPmJhXXQx/32MecEKd10pOLYgS2BQx1TgkGhloPU1ArDW2vvaY6g==", + "dev": true, + "dependencies": { + "diff-sequences": "^29.6.3", + "estree-walker": "^3.0.3", + "loupe": "^2.3.7", + "pretty-format": "^29.7.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/abstract-logging": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/abstract-logging/-/abstract-logging-2.0.1.tgz", + "integrity": "sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==" + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", + "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", + "dev": true, + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/adm-zip": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.16.tgz", + "integrity": "sha512-TGw5yVi4saajsSEgz25grObGHEUaDrniwvA2qwSC060KfqGPdglhvPMA2lPIoxs3PQIItj2iag35fONcQqgUaQ==", + "engines": { + "node": ">=12.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/ajv": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv/node_modules/fast-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", + "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ] + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/aproba": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.1.0.tgz", + "integrity": "sha512-tLIEcj5GuR2RSTnxNKdkK0dJ/GrC7P38sUkiDmDuHfsHmbagTFAxDVIBltoklXEVIQ/f14IL8IMJ5pn9Hez1Ew==" + }, + "node_modules/are-we-there-yet": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", + "deprecated": "This package is no longer supported.", + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/atomic-sleep": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", + "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/avvio": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/avvio/-/avvio-8.4.0.tgz", + "integrity": "sha512-CDSwaxINFy59iNwhYnkvALBwZiTydGkOecZyPkqBpABYR1KqGEsET0VOOYDwtleZSUIdeY36DC2bSZ24CO1igA==", + "dependencies": { + "@fastify/error": "^3.3.0", + "fastq": "^1.17.1" + } + }, + "node_modules/avvio/node_modules/@fastify/error": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@fastify/error/-/error-3.4.1.tgz", + "integrity": "sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==" + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/boolean": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz", + "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info." + }, + "node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cargo-cp-artifact": { + "version": "0.1.9", + "resolved": "https://registry.npmjs.org/cargo-cp-artifact/-/cargo-cp-artifact-0.1.9.tgz", + "integrity": "sha512-6F+UYzTaGB+awsTXg0uSJA1/b/B3DDJzpKVRu0UmyI7DmNeaAl2RFHuTGIN6fEgpadRxoXGb7gbC1xo4C3IdyA==", + "bin": { + "cargo-cp-artifact": "bin/cargo-cp-artifact.js" + } + }, + "node_modules/chai": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz", + "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==", + "dev": true, + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", + "pathval": "^1.1.1", + "type-detect": "^4.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/check-error": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "dev": true, + "dependencies": { + "get-func-name": "^2.0.2" + }, + "engines": { + "node": "*" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/cmake-ts": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cmake-ts/-/cmake-ts-1.0.2.tgz", + "integrity": "sha512-5l++JHE7MxFuyV/OwJf3ek7ZZN1aGPFPM5oUz6AnK5inQAPe4TFXRMz5sA2qg2FRgByPWdqO+gSfIPo8GzoKNQ==", + "bin": { + "cmake-ts": "build/main.js" + } + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/confbox": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", + "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", + "dev": true + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-eql": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.4.tgz", + "integrity": "sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==", + "dev": true, + "dependencies": { + "type-detect": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + }, + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/dotenv": { + "version": "16.6.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz", + "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/duplexify": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.3.tgz", + "integrity": "sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==", + "dependencies": { + "end-of-stream": "^1.4.1", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1", + "stream-shift": "^1.0.2" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/end-of-stream": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==" + }, + "node_modules/esbuild": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.3.tgz", + "integrity": "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.3", + "@esbuild/android-arm": "0.27.3", + "@esbuild/android-arm64": "0.27.3", + "@esbuild/android-x64": "0.27.3", + "@esbuild/darwin-arm64": "0.27.3", + "@esbuild/darwin-x64": "0.27.3", + "@esbuild/freebsd-arm64": "0.27.3", + "@esbuild/freebsd-x64": "0.27.3", + "@esbuild/linux-arm": "0.27.3", + "@esbuild/linux-arm64": "0.27.3", + "@esbuild/linux-ia32": "0.27.3", + "@esbuild/linux-loong64": "0.27.3", + "@esbuild/linux-mips64el": "0.27.3", + "@esbuild/linux-ppc64": "0.27.3", + "@esbuild/linux-riscv64": "0.27.3", + "@esbuild/linux-s390x": "0.27.3", + "@esbuild/linux-x64": "0.27.3", + "@esbuild/netbsd-arm64": "0.27.3", + "@esbuild/netbsd-x64": "0.27.3", + "@esbuild/openbsd-arm64": "0.27.3", + "@esbuild/openbsd-x64": "0.27.3", + "@esbuild/openharmony-arm64": "0.27.3", + "@esbuild/sunos-x64": "0.27.3", + "@esbuild/win32-arm64": "0.27.3", + "@esbuild/win32-ia32": "0.27.3", + "@esbuild/win32-x64": "0.27.3" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/execa/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fast-content-type-parse": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-1.1.0.tgz", + "integrity": "sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==" + }, + "node_modules/fast-decode-uri-component": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz", + "integrity": "sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-json-stringify": { + "version": "5.16.1", + "resolved": "https://registry.npmjs.org/fast-json-stringify/-/fast-json-stringify-5.16.1.tgz", + "integrity": "sha512-KAdnLvy1yu/XrRtP+LJnxbBGrhN+xXu+gt3EUvZhYGKCr3lFHq/7UFJHHFgmJKoqlh6B40bZLEv7w46B0mqn1g==", + "dependencies": { + "@fastify/merge-json-schemas": "^0.1.0", + "ajv": "^8.10.0", + "ajv-formats": "^3.0.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^2.1.0", + "json-schema-ref-resolver": "^1.0.1", + "rfdc": "^1.2.0" + } + }, + "node_modules/fast-json-stringify/node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/fast-querystring": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fast-querystring/-/fast-querystring-1.1.2.tgz", + "integrity": "sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==", + "dependencies": { + "fast-decode-uri-component": "^1.0.1" + } + }, + "node_modules/fast-redact": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.5.0.tgz", + "integrity": "sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/fast-uri": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-2.4.0.tgz", + "integrity": "sha512-ypuAmmMKInk5q7XcepxlnUWDLWv4GFtaJqAzWKqn62IpQ3pejtr5dTVbt3vwqVaMKmkNR55sTT+CqUKIaT21BA==" + }, + "node_modules/fastify": { + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/fastify/-/fastify-4.29.1.tgz", + "integrity": "sha512-m2kMNHIG92tSNWv+Z3UeTR9AWLLuo7KctC7mlFPtMEVrfjIhmQhkQnT9v15qA/BfVq3vvj134Y0jl9SBje3jXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "dependencies": { + "@fastify/ajv-compiler": "^3.5.0", + "@fastify/error": "^3.4.0", + "@fastify/fast-json-stringify-compiler": "^4.3.0", + "abstract-logging": "^2.0.1", + "avvio": "^8.3.0", + "fast-content-type-parse": "^1.1.0", + "fast-json-stringify": "^5.8.0", + "find-my-way": "^8.0.0", + "light-my-request": "^5.11.0", + "pino": "^9.0.0", + "process-warning": "^3.0.0", + "proxy-addr": "^2.0.7", + "rfdc": "^1.3.0", + "secure-json-parse": "^2.7.0", + "semver": "^7.5.4", + "toad-cache": "^3.3.0" + } + }, + "node_modules/fastify-plugin": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/fastify-plugin/-/fastify-plugin-4.5.1.tgz", + "integrity": "sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==" + }, + "node_modules/fastify/node_modules/@fastify/error": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@fastify/error/-/error-3.4.1.tgz", + "integrity": "sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==" + }, + "node_modules/fastify/node_modules/pino": { + "version": "9.14.0", + "resolved": "https://registry.npmjs.org/pino/-/pino-9.14.0.tgz", + "integrity": "sha512-8OEwKp5juEvb/MjpIc4hjqfgCNysrS94RIOMXYvpYCdm/jglrKEiAYmiumbmGhCvs+IcInsphYDFwqrjr7398w==", + "dependencies": { + "@pinojs/redact": "^0.4.0", + "atomic-sleep": "^1.0.0", + "on-exit-leak-free": "^2.1.0", + "pino-abstract-transport": "^2.0.0", + "pino-std-serializers": "^7.0.0", + "process-warning": "^5.0.0", + "quick-format-unescaped": "^4.0.3", + "real-require": "^0.2.0", + "safe-stable-stringify": "^2.3.1", + "sonic-boom": "^4.0.1", + "thread-stream": "^3.0.0" + }, + "bin": { + "pino": "bin.js" + } + }, + "node_modules/fastify/node_modules/pino-abstract-transport": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-2.0.0.tgz", + "integrity": "sha512-F63x5tizV6WCh4R6RHyi2Ml+M70DNRXt/+HANowMflpgGFMAym/VKm6G7ZOQRjqN7XbGxK1Lg9t6ZrtzOaivMw==", + "dependencies": { + "split2": "^4.0.0" + } + }, + "node_modules/fastify/node_modules/pino-std-serializers": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-7.1.0.tgz", + "integrity": "sha512-BndPH67/JxGExRgiX1dX0w1FvZck5Wa4aal9198SrRhZjH3GxKQUKIBnYJTdj2HDN3UQAS06HlfcSbQj2OHmaw==" + }, + "node_modules/fastify/node_modules/pino/node_modules/process-warning": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-5.0.0.tgz", + "integrity": "sha512-a39t9ApHNx2L4+HBnQKqxxHNs1r7KF+Intd8Q/g1bUh6q0WIp9voPXJ/x0j+ZL45KF1pJd9+q2jLIRMfvEshkA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ] + }, + "node_modules/fastify/node_modules/sonic-boom": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-4.2.1.tgz", + "integrity": "sha512-w6AxtubXa2wTXAUsZMMWERrsIRAdrK0Sc+FUytWvYAhBJLyuI4llrMIC1DtlNSdI99EI86KZum2MMq3EAZlF9Q==", + "dependencies": { + "atomic-sleep": "^1.0.0" + } + }, + "node_modules/fastify/node_modules/thread-stream": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-3.1.0.tgz", + "integrity": "sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==", + "dependencies": { + "real-require": "^0.2.0" + } + }, + "node_modules/fastq": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/find-my-way": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-8.2.2.tgz", + "integrity": "sha512-Dobi7gcTEq8yszimcfp/R7+owiT4WncAJ7VTTgFH1jYJ5GaG1FbhjwDG820hptN0QDFvzVY3RfCzdInvGPGzjA==", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-querystring": "^1.0.0", + "safe-regex2": "^3.1.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/gauge": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", + "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", + "deprecated": "This package is no longer supported.", + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", + "signal-exit": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/get-func-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-tsconfig": { + "version": "4.13.6", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.6.tgz", + "integrity": "sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==", + "dev": true, + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/global-agent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz", + "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==", + "dependencies": { + "boolean": "^3.0.1", + "es6-error": "^4.1.1", + "matcher": "^3.0.0", + "roarr": "^2.15.3", + "semver": "^7.3.2", + "serialize-error": "^7.0.1" + }, + "engines": { + "node": ">=10.0" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/js-tokens": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz", + "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", + "dev": true + }, + "node_modules/json-schema-ref-resolver": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-schema-ref-resolver/-/json-schema-ref-resolver-1.0.1.tgz", + "integrity": "sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + } + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" + }, + "node_modules/light-my-request": { + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/light-my-request/-/light-my-request-5.14.0.tgz", + "integrity": "sha512-aORPWntbpH5esaYpGOOmri0OHDOe3wC5M2MQxZ9dvMLZm6DnaAn0kJlcbU9hwsQgLzmZyReKwFwwPkR+nHu5kA==", + "dependencies": { + "cookie": "^0.7.0", + "process-warning": "^3.0.0", + "set-cookie-parser": "^2.4.1" + } + }, + "node_modules/local-pkg": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.1.tgz", + "integrity": "sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==", + "dev": true, + "dependencies": { + "mlly": "^1.7.3", + "pkg-types": "^1.2.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/loupe": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", + "dev": true, + "dependencies": { + "get-func-name": "^2.0.1" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/matcher": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", + "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", + "dependencies": { + "escape-string-regexp": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/mime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mlly": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.8.0.tgz", + "integrity": "sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==", + "dev": true, + "dependencies": { + "acorn": "^8.15.0", + "pathe": "^2.0.3", + "pkg-types": "^1.3.1", + "ufo": "^1.6.1" + } + }, + "node_modules/mlly/node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true + }, + "node_modules/mnemonist": { + "version": "0.39.6", + "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.39.6.tgz", + "integrity": "sha512-A/0v5Z59y63US00cRSLiloEIw3t5G+MiKz4BhX21FI+YBJXBOGW0ohFxTxO08dsOYlzxo87T7vGfZKYp2bcAWA==", + "dependencies": { + "obliterator": "^2.0.1" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/msgpackr": { + "version": "1.11.8", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.8.tgz", + "integrity": "sha512-bC4UGzHhVvgDNS7kn9tV8fAucIYUBuGojcaLiz7v+P63Lmtm0Xeji8B/8tYKddALXxJLpwIeBmUN3u64C4YkRA==", + "optionalDependencies": { + "msgpackr-extract": "^3.0.2" + } + }, + "node_modules/msgpackr-extract": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.3.tgz", + "integrity": "sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==", + "hasInstallScript": true, + "optional": true, + "dependencies": { + "node-gyp-build-optional-packages": "5.2.2" + }, + "bin": { + "download-msgpackr-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3" + } + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/node-addon-api": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-8.5.0.tgz", + "integrity": "sha512-/bRZty2mXUIFY/xU5HLvveNHlswNJej+RnxBjOMkidWfwZzgTbPG1E3K5TOxRLOR+5hX7bSofy8yf1hZevMS8A==", + "engines": { + "node": "^18 || ^20 || >= 21" + } + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-gyp-build-optional-packages": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz", + "integrity": "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==", + "optional": true, + "dependencies": { + "detect-libc": "^2.0.1" + }, + "bin": { + "node-gyp-build-optional-packages": "bin.js", + "node-gyp-build-optional-packages-optional": "optional.js", + "node-gyp-build-optional-packages-test": "build-test.js" + } + }, + "node_modules/nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "dev": true, + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npmlog": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", + "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", + "deprecated": "This package is no longer supported.", + "dependencies": { + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^3.0.0", + "set-blocking": "^2.0.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/obliterator": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/obliterator/-/obliterator-2.0.5.tgz", + "integrity": "sha512-42CPE9AhahZRsMNslczq0ctAEtqk8Eka26QofnqC346BZdHDySk3LWka23LI7ULIw11NmltpiLagIq8gBozxTw==" + }, + "node_modules/on-exit-leak-free": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.2.tgz", + "integrity": "sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/onnxruntime-common": { + "version": "1.24.1", + "resolved": "https://registry.npmjs.org/onnxruntime-common/-/onnxruntime-common-1.24.1.tgz", + "integrity": "sha512-UnV15u4p4XxoIV+jFP4hXPsW93s3QrwLSpi20HUDYHoTfI4z4sjzex3L4XDOxGGZJ/M/catrwAG2go958UQq0w==" + }, + "node_modules/onnxruntime-node": { + "version": "1.24.1", + "resolved": "https://registry.npmjs.org/onnxruntime-node/-/onnxruntime-node-1.24.1.tgz", + "integrity": "sha512-Ex/oUXKdhDoxvlNxBT3oYtW0MH88yYpPlXQeVQUXpcJQmN24usd/8RCoPLN5kCHwDsiZ+nqsnjciyFRl423dQw==", + "hasInstallScript": true, + "os": [ + "win32", + "darwin", + "linux" + ], + "dependencies": { + "adm-zip": "^0.5.16", + "global-agent": "^3.0.0", + "onnxruntime-common": "1.24.1" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parenthesis": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/parenthesis/-/parenthesis-3.1.8.tgz", + "integrity": "sha512-KF/U8tk54BgQewkJPvB4s/US3VQY68BRDpH638+7O/n58TpnwiwnOtGIOsT2/i+M78s61BBpeC83STB88d8sqw==" + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==" + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "dev": true + }, + "node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/pg": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/pg/-/pg-8.18.0.tgz", + "integrity": "sha512-xqrUDL1b9MbkydY/s+VZ6v+xiMUmOUk7SS9d/1kpyQxoJ6U9AO1oIJyUWVZojbfe5Cc/oluutcgFG4L9RDP1iQ==", + "dependencies": { + "pg-connection-string": "^2.11.0", + "pg-pool": "^3.11.0", + "pg-protocol": "^1.11.0", + "pg-types": "2.2.0", + "pgpass": "1.0.5" + }, + "engines": { + "node": ">= 16.0.0" + }, + "optionalDependencies": { + "pg-cloudflare": "^1.3.0" + }, + "peerDependencies": { + "pg-native": ">=3.0.1" + }, + "peerDependenciesMeta": { + "pg-native": { + "optional": true + } + } + }, + "node_modules/pg-cloudflare": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/pg-cloudflare/-/pg-cloudflare-1.3.0.tgz", + "integrity": "sha512-6lswVVSztmHiRtD6I8hw4qP/nDm1EJbKMRhf3HCYaqud7frGysPv7FYJ5noZQdhQtN2xJnimfMtvQq21pdbzyQ==", + "optional": true + }, + "node_modules/pg-connection-string": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.11.0.tgz", + "integrity": "sha512-kecgoJwhOpxYU21rZjULrmrBJ698U2RxXofKVzOn5UDj61BPj/qMb7diYUR1nLScCDbrztQFl1TaQZT0t1EtzQ==" + }, + "node_modules/pg-int8": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", + "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/pg-pool": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.11.0.tgz", + "integrity": "sha512-MJYfvHwtGp870aeusDh+hg9apvOe2zmpZJpyt+BMtzUWlVqbhFmMK6bOBXLBUPd7iRtIF9fZplDc7KrPN3PN7w==", + "peerDependencies": { + "pg": ">=8.0" + } + }, + "node_modules/pg-protocol": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.11.0.tgz", + "integrity": "sha512-pfsxk2M9M3BuGgDOfuy37VNRRX3jmKgMjcvAcWqNDpZSf4cUmv8HSOl5ViRQFsfARFn0KuUQTgLxVMbNq5NW3g==" + }, + "node_modules/pg-types": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", + "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", + "dependencies": { + "pg-int8": "1.0.1", + "postgres-array": "~2.0.0", + "postgres-bytea": "~1.0.0", + "postgres-date": "~1.0.4", + "postgres-interval": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pgpass": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz", + "integrity": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==", + "dependencies": { + "split2": "^4.1.0" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true + }, + "node_modules/pino": { + "version": "8.21.0", + "resolved": "https://registry.npmjs.org/pino/-/pino-8.21.0.tgz", + "integrity": "sha512-ip4qdzjkAyDDZklUaZkcRFb2iA118H9SgRh8yzTkSQK8HilsOJF7rSY8HoW5+I0M46AZgX/pxbprf2vvzQCE0Q==", + "dependencies": { + "atomic-sleep": "^1.0.0", + "fast-redact": "^3.1.1", + "on-exit-leak-free": "^2.1.0", + "pino-abstract-transport": "^1.2.0", + "pino-std-serializers": "^6.0.0", + "process-warning": "^3.0.0", + "quick-format-unescaped": "^4.0.3", + "real-require": "^0.2.0", + "safe-stable-stringify": "^2.3.1", + "sonic-boom": "^3.7.0", + "thread-stream": "^2.6.0" + }, + "bin": { + "pino": "bin.js" + } + }, + "node_modules/pino-abstract-transport": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-1.2.0.tgz", + "integrity": "sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q==", + "dependencies": { + "readable-stream": "^4.0.0", + "split2": "^4.0.0" + } + }, + "node_modules/pino-abstract-transport/node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/pino-std-serializers": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-6.2.2.tgz", + "integrity": "sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==" + }, + "node_modules/pkg-types": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz", + "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", + "dev": true, + "dependencies": { + "confbox": "^0.1.8", + "mlly": "^1.7.4", + "pathe": "^2.0.1" + } + }, + "node_modules/pkg-types/node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postgres-array": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", + "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/postgres-bytea": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.1.tgz", + "integrity": "sha512-5+5HqXnsZPE65IJZSMkZtURARZelel2oXUEO8rH83VS/hxH5vv1uHquPg5wZs8yMAfdv971IU+kcPUczi7NVBQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postgres-date": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", + "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postgres-interval": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", + "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", + "dependencies": { + "xtend": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-warning": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-3.0.0.tgz", + "integrity": "sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==" + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/quick-format-unescaped": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", + "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==" + }, + "node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/real-require": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.2.0.tgz", + "integrity": "sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==", + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true, + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/ret": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.4.3.tgz", + "integrity": "sha512-0f4Memo5QP7WQyUEAYUO3esD/XjOc3Zjjg5CPsAq1p8sIu0XPeMbHJemKA0BO7tV0X7+A0FoEpbmHXWxPyD3wQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==" + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/roarr": { + "version": "2.15.4", + "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz", + "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==", + "dependencies": { + "boolean": "^3.0.1", + "detect-node": "^2.0.4", + "globalthis": "^1.0.1", + "json-stringify-safe": "^5.0.1", + "semver-compare": "^1.0.0", + "sprintf-js": "^1.1.2" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/rollup": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.57.1.tgz", + "integrity": "sha512-oQL6lgK3e2QZeQ7gcgIkS2YZPg5slw37hYufJ3edKlfQSGGm8ICoxswK15ntSzF/a8+h7ekRy7k7oWc3BQ7y8A==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.57.1", + "@rollup/rollup-android-arm64": "4.57.1", + "@rollup/rollup-darwin-arm64": "4.57.1", + "@rollup/rollup-darwin-x64": "4.57.1", + "@rollup/rollup-freebsd-arm64": "4.57.1", + "@rollup/rollup-freebsd-x64": "4.57.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.57.1", + "@rollup/rollup-linux-arm-musleabihf": "4.57.1", + "@rollup/rollup-linux-arm64-gnu": "4.57.1", + "@rollup/rollup-linux-arm64-musl": "4.57.1", + "@rollup/rollup-linux-loong64-gnu": "4.57.1", + "@rollup/rollup-linux-loong64-musl": "4.57.1", + "@rollup/rollup-linux-ppc64-gnu": "4.57.1", + "@rollup/rollup-linux-ppc64-musl": "4.57.1", + "@rollup/rollup-linux-riscv64-gnu": "4.57.1", + "@rollup/rollup-linux-riscv64-musl": "4.57.1", + "@rollup/rollup-linux-s390x-gnu": "4.57.1", + "@rollup/rollup-linux-x64-gnu": "4.57.1", + "@rollup/rollup-linux-x64-musl": "4.57.1", + "@rollup/rollup-openbsd-x64": "4.57.1", + "@rollup/rollup-openharmony-arm64": "4.57.1", + "@rollup/rollup-win32-arm64-msvc": "4.57.1", + "@rollup/rollup-win32-ia32-msvc": "4.57.1", + "@rollup/rollup-win32-x64-gnu": "4.57.1", + "@rollup/rollup-win32-x64-msvc": "4.57.1", + "fsevents": "~2.3.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safe-regex2": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/safe-regex2/-/safe-regex2-3.1.0.tgz", + "integrity": "sha512-RAAZAGbap2kBfbVhvmnTFv73NWLMvDGOITFYTZBAaY8eR+Ir4ef7Up/e7amo+y1+AH+3PtLkrt9mvcTsG9LXug==", + "dependencies": { + "ret": "~0.4.0" + } + }, + "node_modules/safe-stable-stringify": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz", + "integrity": "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/secure-json-parse": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.7.0.tgz", + "integrity": "sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==" + }, + "node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==" + }, + "node_modules/serialize-error": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", + "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", + "dependencies": { + "type-fest": "^0.13.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" + }, + "node_modules/set-cookie-parser": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz", + "integrity": "sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==" + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/sharp": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", + "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", + "hasInstallScript": true, + "dependencies": { + "@img/colour": "^1.0.0", + "detect-libc": "^2.1.2", + "semver": "^7.7.3" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.34.5", + "@img/sharp-darwin-x64": "0.34.5", + "@img/sharp-libvips-darwin-arm64": "1.2.4", + "@img/sharp-libvips-darwin-x64": "1.2.4", + "@img/sharp-libvips-linux-arm": "1.2.4", + "@img/sharp-libvips-linux-arm64": "1.2.4", + "@img/sharp-libvips-linux-ppc64": "1.2.4", + "@img/sharp-libvips-linux-riscv64": "1.2.4", + "@img/sharp-libvips-linux-s390x": "1.2.4", + "@img/sharp-libvips-linux-x64": "1.2.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", + "@img/sharp-libvips-linuxmusl-x64": "1.2.4", + "@img/sharp-linux-arm": "0.34.5", + "@img/sharp-linux-arm64": "0.34.5", + "@img/sharp-linux-ppc64": "0.34.5", + "@img/sharp-linux-riscv64": "0.34.5", + "@img/sharp-linux-s390x": "0.34.5", + "@img/sharp-linux-x64": "0.34.5", + "@img/sharp-linuxmusl-arm64": "0.34.5", + "@img/sharp-linuxmusl-x64": "0.34.5", + "@img/sharp-wasm32": "0.34.5", + "@img/sharp-win32-arm64": "0.34.5", + "@img/sharp-win32-ia32": "0.34.5", + "@img/sharp-win32-x64": "0.34.5" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/skia-canvas": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/skia-canvas/-/skia-canvas-1.0.2.tgz", + "integrity": "sha512-9IjebOdBf6ir5Ktq0aM0wPshZ61oNX+T+2/ZBNJQZ63Z3SsSAd7i6YaYbqqtP6X8bK9mqB8QO1Y5DUZXNXuYHw==", + "hasInstallScript": true, + "dependencies": { + "@mapbox/node-pre-gyp": "^1.0.9", + "cargo-cp-artifact": "^0.1", + "glob": "^8.0.3", + "path-browserify": "^1.0.1", + "simple-get": "^4.0.1", + "string-split-by": "^1.0.0" + } + }, + "node_modules/sonic-boom": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.8.1.tgz", + "integrity": "sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg==", + "dependencies": { + "atomic-sleep": "^1.0.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split2": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", + "engines": { + "node": ">= 10.x" + } + }, + "node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==" + }, + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true + }, + "node_modules/starry-omr": { + "resolved": "../omr", + "link": true + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/std-env": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz", + "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==", + "dev": true + }, + "node_modules/stream-shift": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz", + "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==" + }, + "node_modules/stream-wormhole": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stream-wormhole/-/stream-wormhole-1.1.0.tgz", + "integrity": "sha512-gHFfL3px0Kctd6Po0M8TzEvt3De/xu6cnRrjlfYNhwbhLPLwigI2t1nc6jrzNuaYg5C4YF78PPFuQPzRiqn9ew==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-split-by": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string-split-by/-/string-split-by-1.0.0.tgz", + "integrity": "sha512-KaJKY+hfpzNyet/emP81PJA9hTVSfxNLS9SFTWxdCnnW1/zOOwiV248+EfoX7IQFcBaOp4G5YE6xTJMF+pLg6A==", + "dependencies": { + "parenthesis": "^3.1.5" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-literal": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.1.1.tgz", + "integrity": "sha512-631UJ6O00eNGfMiWG78ck80dfBab8X6IVFB51jZK5Icd7XAs60Z5y7QdSd/wGIklnWvRbUNloVzhOKKmutxQ6Q==", + "dev": true, + "dependencies": { + "js-tokens": "^9.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "deprecated": "Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/thread-stream": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-2.7.0.tgz", + "integrity": "sha512-qQiRWsU/wvNolI6tbbCKd9iKaTnCXsTwVxhhKM6nctPdujTyztjlbUkUTUymidWcMnZ5pWR0ej4a0tjsW021vw==", + "dependencies": { + "real-require": "^0.2.0" + } + }, + "node_modules/tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "dev": true + }, + "node_modules/tinypool": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.4.tgz", + "integrity": "sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==", + "dev": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tinyspy": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz", + "integrity": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==", + "dev": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/toad-cache": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/toad-cache/-/toad-cache-3.7.0.tgz", + "integrity": "sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "optional": true + }, + "node_modules/tsx": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.21.0.tgz", + "integrity": "sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==", + "dev": true, + "dependencies": { + "esbuild": "~0.27.0", + "get-tsconfig": "^4.7.5" + }, + "bin": { + "tsx": "dist/cli.mjs" + }, + "engines": { + "node": ">=18.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + } + }, + "node_modules/type-detect": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz", + "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ufo": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.3.tgz", + "integrity": "sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==", + "dev": true + }, + "node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/vite": { + "version": "5.4.21", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.21.tgz", + "integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==", + "dev": true, + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-node": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.6.1.tgz", + "integrity": "sha512-YAXkfvGtuTzwWbDSACdJSg4A4DZiAqckWe90Zapc/sEX3XvHcw1NdurM/6od8J207tSDqNbSsgdCacBgvJKFuA==", + "dev": true, + "dependencies": { + "cac": "^6.7.14", + "debug": "^4.3.4", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "vite": "^5.0.0" + }, + "bin": { + "vite-node": "vite-node.mjs" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/vite/node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/vitest": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.6.1.tgz", + "integrity": "sha512-Ljb1cnSJSivGN0LqXd/zmDbWEM0RNNg2t1QW/XUhYl/qPqyu7CsqeWtqQXHVaJsecLPuDoak2oJcZN2QoRIOag==", + "dev": true, + "dependencies": { + "@vitest/expect": "1.6.1", + "@vitest/runner": "1.6.1", + "@vitest/snapshot": "1.6.1", + "@vitest/spy": "1.6.1", + "@vitest/utils": "1.6.1", + "acorn-walk": "^8.3.2", + "chai": "^4.3.10", + "debug": "^4.3.4", + "execa": "^8.0.1", + "local-pkg": "^0.5.0", + "magic-string": "^0.30.5", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "std-env": "^3.5.0", + "strip-literal": "^2.0.0", + "tinybench": "^2.5.1", + "tinypool": "^0.8.3", + "vite": "^5.0.0", + "vite-node": "1.6.1", + "why-is-node-running": "^2.2.2" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@types/node": "^18.0.0 || >=20.0.0", + "@vitest/browser": "1.6.1", + "@vitest/ui": "1.6.1", + "happy-dom": "*", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + } + } + }, + "node_modules/weak-lru-cache": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz", + "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==" + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", + "dev": true, + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/ws": { + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz", + "integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zeromq": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/zeromq/-/zeromq-6.5.0.tgz", + "integrity": "sha512-vWOrt19lvcXTxu5tiHXfEGQuldSlU+qZn2TT+4EbRQzaciWGwNZ99QQTolQOmcwVgZLodv+1QfC6UZs2PX/6pQ==", + "hasInstallScript": true, + "dependencies": { + "cmake-ts": "1.0.2", + "node-addon-api": "^8.3.1" + }, + "engines": { + "node": ">= 12" + } + } + } +} diff --git a/backend/omr-service/package.json b/backend/omr-service/package.json new file mode 100644 index 0000000000000000000000000000000000000000..268aeb4abd622d7bd22486733a54cac33a1479c8 --- /dev/null +++ b/backend/omr-service/package.json @@ -0,0 +1,41 @@ +{ + "name": "starry-omr-service", + "version": "1.0.0", + "type": "module", + "description": "Lightweight OMR service for STARRY", + "main": "dist/index.js", + "scripts": { + "dev": "tsx watch src/index.ts", + "build": "tsc", + "start": "node dist/index.js", + "db:migrate": "tsx src/db/migrate.ts", + "test": "vitest run", + "test:watch": "vitest" + }, + "dependencies": { + "@fastify/cors": "^9.0.1", + "@fastify/multipart": "^8.1.0", + "@fastify/static": "^6.12.0", + "@fastify/websocket": "^10.0.1", + "dotenv": "^16.4.1", + "fastify": "^4.26.0", + "msgpackr": "^1.10.1", + "onnxruntime-node": "^1.12.1", + "pg": "^8.11.3", + "pino": "^8.18.0", + "sharp": "^0.34.5", + "skia-canvas": "^1.0.2", + "starry-omr": "file:../omr", + "uuid": "^9.0.1", + "weak-lru-cache": "^1.2.2", + "zeromq": "^6.0.0-beta.19" + }, + "devDependencies": { + "@types/node": "^20.11.0", + "@types/pg": "^8.10.9", + "@types/uuid": "^9.0.7", + "tsx": "^4.7.0", + "typescript": "^5.3.3", + "vitest": "^1.2.0" + } +} diff --git a/backend/omr-service/src/config.ts b/backend/omr-service/src/config.ts new file mode 100644 index 0000000000000000000000000000000000000000..295ed8ffa6a6a06cc5c4bcbec65db80bbd83b19b --- /dev/null +++ b/backend/omr-service/src/config.ts @@ -0,0 +1,44 @@ +import dotenv from 'dotenv'; +import { existsSync } from 'fs'; +import { dirname, join } from 'path'; +import { fileURLToPath } from 'url'; + +const __dirname = dirname(fileURLToPath(import.meta.url)); +const envLocalPath = join(__dirname, '..', '.env.local'); +if (existsSync(envLocalPath)) dotenv.config({ path: envLocalPath }); +dotenv.config(); + +export const config = { + server: { + port: parseInt(process.env.PORT || '3080'), + host: process.env.HOST || '0.0.0.0', + }, + database: { + host: process.env.DB_HOST || 'localhost', + port: parseInt(process.env.DB_PORT || '5432'), + database: process.env.DB_NAME || 'starry_omr', + user: process.env.DB_USER || 'postgres', + password: process.env.DB_PASSWORD || 'postgres', + }, + predictors: { + layout: process.env.PREDICTOR_LAYOUT || 'tcp://localhost:12022', + gauge: process.env.PREDICTOR_GAUGE || 'tcp://localhost:12023', + mask: process.env.PREDICTOR_MASK || 'tcp://localhost:12024', + semantic: process.env.PREDICTOR_SEMANTIC || 'tcp://localhost:12025', + loc: process.env.PREDICTOR_LOC || 'tcp://localhost:12026', + ocr: process.env.PREDICTOR_OCR || 'tcp://localhost:12027', + brackets: process.env.PREDICTOR_BRACKETS || 'tcp://localhost:12028', + jianpu: process.env.PREDICTOR_JIANPU || 'tcp://localhost:12030', + gaugeRenderer: process.env.PREDICTOR_GAUGE_RENDERER || 'tcp://localhost:12123', + }, + taskWorker: { + pollInterval: parseInt(process.env.TASK_POLL_INTERVAL || '1000'), + maxConcurrent: parseInt(process.env.TASK_MAX_CONCURRENT || '2'), + }, + regulation: { + modelPath: process.env.BDTOPO_MODEL_PATH || '', + enabled: process.env.REGULATION_ENABLED !== 'false', + }, +}; + +export type PredictorType = keyof typeof config.predictors; diff --git a/backend/omr-service/src/db/client.ts b/backend/omr-service/src/db/client.ts new file mode 100644 index 0000000000000000000000000000000000000000..afcab7f341e22d837bc1254905fcaaafed62a30c --- /dev/null +++ b/backend/omr-service/src/db/client.ts @@ -0,0 +1,38 @@ +import pg from 'pg'; +import { config } from '../config.js'; + +const { Pool } = pg; + +export const pool = new Pool({ + host: config.database.host, + port: config.database.port, + database: config.database.database, + user: config.database.user, + password: config.database.password, + max: 10, + idleTimeoutMillis: 30000, + connectionTimeoutMillis: 2000, +}); + +export async function query(text: string, params?: any[]): Promise> { + return pool.query(text, params); +} + +export async function getClient(): Promise { + return pool.connect(); +} + +export async function transaction(fn: (client: pg.PoolClient) => Promise): Promise { + const client = await pool.connect(); + try { + await client.query('BEGIN'); + const result = await fn(client); + await client.query('COMMIT'); + return result; + } catch (e) { + await client.query('ROLLBACK'); + throw e; + } finally { + client.release(); + } +} diff --git a/backend/omr-service/src/db/migrate.ts b/backend/omr-service/src/db/migrate.ts new file mode 100644 index 0000000000000000000000000000000000000000..f992cd66d3f76607324b4a3ec5f612c289753e99 --- /dev/null +++ b/backend/omr-service/src/db/migrate.ts @@ -0,0 +1,170 @@ +import { pool } from './client.js'; + +const migrations = [ + { + name: '001_create_scores_table', + sql: ` + CREATE TABLE IF NOT EXISTS scores ( + id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + title VARCHAR(255), + source_url TEXT, + page_count INTEGER DEFAULT 0, + data JSONB DEFAULT '{}', + created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(), + updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW() + ); + + CREATE INDEX IF NOT EXISTS idx_scores_created_at ON scores(created_at DESC); + `, + }, + { + name: '002_create_tasks_table', + sql: ` + CREATE TYPE task_status AS ENUM ('pending', 'running', 'completed', 'failed'); + CREATE TYPE task_type AS ENUM ('predict_page', 'predict_all', 'predict_custom'); + + CREATE TABLE IF NOT EXISTS tasks ( + id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + score_id UUID REFERENCES scores(id) ON DELETE CASCADE, + type task_type NOT NULL, + status task_status DEFAULT 'pending', + progress INTEGER DEFAULT 0, + current_step VARCHAR(100), + result JSONB, + error TEXT, + created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(), + started_at TIMESTAMP WITH TIME ZONE, + completed_at TIMESTAMP WITH TIME ZONE + ); + + CREATE INDEX IF NOT EXISTS idx_tasks_score_id ON tasks(score_id); + CREATE INDEX IF NOT EXISTS idx_tasks_status ON tasks(status); + `, + }, + { + name: '003_create_pages_table', + sql: ` + CREATE TABLE IF NOT EXISTS pages ( + id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + score_id UUID REFERENCES scores(id) ON DELETE CASCADE, + page_index INTEGER NOT NULL, + image_path TEXT, + width INTEGER, + height INTEGER, + data JSONB DEFAULT '{}', + created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(), + UNIQUE(score_id, page_index) + ); + + CREATE INDEX IF NOT EXISTS idx_pages_score_id ON pages(score_id); + `, + }, + { + name: '004_create_music_sets_table', + sql: ` + CREATE TABLE IF NOT EXISTS music_sets ( + id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + name VARCHAR(255), + type VARCHAR(20) DEFAULT 'stave', + content JSONB DEFAULT '{}', + status VARCHAR(50) DEFAULT 'draft', + created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(), + updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW() + ); + + CREATE INDEX IF NOT EXISTS idx_music_sets_updated_at ON music_sets(updated_at DESC); + CREATE INDEX IF NOT EXISTS idx_music_sets_name ON music_sets(name); + `, + }, + { + name: '005_create_tags_table', + sql: ` + CREATE TABLE IF NOT EXISTS tags ( + id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + name VARCHAR(100) NOT NULL UNIQUE, + created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW() + ); + + CREATE TABLE IF NOT EXISTS music_set_tags ( + music_set_id UUID REFERENCES music_sets(id) ON DELETE CASCADE, + tag_id UUID REFERENCES tags(id) ON DELETE CASCADE, + created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(), + PRIMARY KEY (music_set_id, tag_id) + ); + + CREATE INDEX IF NOT EXISTS idx_music_set_tags_music_set_id ON music_set_tags(music_set_id); + CREATE INDEX IF NOT EXISTS idx_music_set_tags_tag_id ON music_set_tags(tag_id); + `, + }, + { + name: '006_create_solution_cache_table', + sql: ` + CREATE TABLE IF NOT EXISTS solution_cache ( + name VARCHAR(64) PRIMARY KEY, + value JSONB NOT NULL, + priority DOUBLE PRECISION, + created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(), + updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW() + ); + `, + }, + { + name: '007_create_issue_measures_table', + sql: ` + CREATE TABLE IF NOT EXISTS issue_measures ( + id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + score_id VARCHAR(255) NOT NULL, + measure_index INTEGER NOT NULL, + measure JSONB NOT NULL, + status INTEGER NOT NULL DEFAULT 1, + by_user BOOLEAN DEFAULT false, + created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(), + updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW() + ); + + CREATE INDEX IF NOT EXISTS idx_issue_measures_score_id ON issue_measures(score_id); + CREATE UNIQUE INDEX IF NOT EXISTS idx_issue_measures_score_measure + ON issue_measures(score_id, measure_index) WHERE status > 0; + `, + }, + { + name: '008_add_annotator_to_issue_measures', + sql: ` + ALTER TABLE issue_measures ADD COLUMN IF NOT EXISTS annotator VARCHAR(100); + `, + }, +]; + +async function runMigrations() { + console.log('Running migrations...'); + + // Create migrations tracking table + await pool.query(` + CREATE TABLE IF NOT EXISTS migrations ( + name VARCHAR(255) PRIMARY KEY, + executed_at TIMESTAMP WITH TIME ZONE DEFAULT NOW() + ) + `); + + for (const migration of migrations) { + const { rows } = await pool.query('SELECT name FROM migrations WHERE name = $1', [migration.name]); + + if (rows.length === 0) { + console.log(`Running migration: ${migration.name}`); + await pool.query(migration.sql); + await pool.query('INSERT INTO migrations (name) VALUES ($1)', [migration.name]); + console.log(`Completed: ${migration.name}`); + } else { + console.log(`Skipping: ${migration.name} (already executed)`); + } + } + + console.log('All migrations completed.'); +} + +runMigrations() + .then(() => process.exit(0)) + .catch((err) => { + console.error('Migration failed:', err); + process.exit(1); + }); diff --git a/backend/omr-service/src/index.ts b/backend/omr-service/src/index.ts new file mode 100644 index 0000000000000000000000000000000000000000..e2a9ad7ce98deda8928b05ada5642d6edfd2b649 --- /dev/null +++ b/backend/omr-service/src/index.ts @@ -0,0 +1,161 @@ +import cors from '@fastify/cors'; +import multipart from '@fastify/multipart'; +import fastifyStatic from '@fastify/static'; +import websocket from '@fastify/websocket'; +import Fastify from 'fastify'; +import { existsSync, mkdirSync } from 'fs'; +import { dirname, join } from 'path'; +import { fileURLToPath } from 'url'; +import { config } from './config.js'; +import { pool } from './db/client.js'; +import { initRegulation, isRegulationReady, regulateScore } from './lib/regulation.js'; +import { closeAllPredictors } from './lib/zero-client.js'; +import fileRoutes from './routes/file.js'; +import issueMeasuresRoutes from './routes/issueMeasures.js'; +import measuresRoutes from './routes/measures.js'; +import musicSetRoutes from './routes/musicSet.js'; +import predictRoutes from './routes/predict.js'; +import predictorRoutes from './routes/predictor.js'; +import regulationRoutes from './routes/regulation.js'; +import scoresRoutes from './routes/scores.js'; +import solutionCacheRoutes from './routes/solutionCache.js'; +import tagRoutes from './routes/tag.js'; +import tasksRoutes from './routes/tasks.js'; +import wsRoutes from './routes/ws.js'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = dirname(__filename); + +// Uploads directory +const UPLOADS_DIR = process.env.UPLOADS_DIR || '/tmp/starry-uploads'; +if (!existsSync(UPLOADS_DIR)) { + mkdirSync(UPLOADS_DIR, { recursive: true }); +} + +const fastify = Fastify({ + logger: { + level: 'info', + }, + bodyLimit: 50 * 1024 * 1024, // 50MB max body size for image data +}); + +// Register plugins +await fastify.register(cors, { + origin: true, + credentials: true, + methods: ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS'], + allowedHeaders: ['Content-Type', 'Authorization', 'X-Requested-With'], + exposedHeaders: ['Content-Length', 'Content-Type'], +}); + +await fastify.register(websocket); + +await fastify.register(multipart, { + limits: { + fileSize: 50 * 1024 * 1024, // 50MB max file size + fieldSize: 5 * 1024 * 1024, // 5MB max field value (for layout JSON) + files: 100, // Max 100 files per request + }, +}); + +// Health check +fastify.get('/health', async () => { + return { status: 'ok', timestamp: new Date().toISOString() }; +}); + +// Register API routes under /api prefix +fastify.register( + async (app) => { + await app.register(scoresRoutes); + await app.register(tasksRoutes); + await app.register(predictRoutes); + await app.register(predictorRoutes); + await app.register(fileRoutes); + await app.register(musicSetRoutes); + await app.register(tagRoutes); + await app.register(regulationRoutes); + await app.register(measuresRoutes); + await app.register(solutionCacheRoutes); + await app.register(issueMeasuresRoutes); + }, + { prefix: '/api' } +); + +// WebSocket routes +fastify.register(wsRoutes, { prefix: '/ws' }); + +// Root-level /regulate-score for frontend compatibility (outside /api prefix) +fastify.post<{ Body: { score: any } }>('/regulate-score', async (request, reply) => { + if (!isRegulationReady()) { + reply.code(503); + return { code: 503, message: 'Regulation service not ready' }; + } + const { score } = request.body; + if (!score) { + reply.code(400); + return { code: 400, message: 'Missing score in request body' }; + } + try { + const result = await regulateScore(score); + return { code: 0, data: result }; + } catch (err) { + fastify.log.error(err, '[regulate-score] regulation failed'); + reply.code(500); + return { code: 500, message: (err as Error).message }; + } +}); + +// Serve uploaded files +await fastify.register(fastifyStatic, { + root: UPLOADS_DIR, + prefix: '/uploads/', + decorateReply: false, +}); + +// Serve frontend static files (production build + public assets) +const distPath = join(__dirname, '../../../dist'); +const publicPath = join(__dirname, '../../../public'); +const staticRoots = [distPath, publicPath].filter((p) => existsSync(p)); +await fastify.register(fastifyStatic, { + root: staticRoots, + prefix: '/', +}); + +// SPA fallback - serve index.html for unmatched routes +fastify.setNotFoundHandler(async (request, reply) => { + if (request.url.startsWith('/api/') || request.url.startsWith('/uploads/')) { + return reply.code(404).send({ error: 'Not found' }); + } + return reply.sendFile('index.html'); +}); + +// Graceful shutdown +const shutdown = async () => { + console.log('Shutting down...'); + await fastify.close(); + await closeAllPredictors(); + await pool.end(); + process.exit(0); +}; + +process.on('SIGTERM', shutdown); +process.on('SIGINT', shutdown); + +// Initialize regulation models +try { + await initRegulation(); +} catch (err) { + console.error('Failed to initialize regulation:', err); +} + +// Start server +try { + await fastify.listen({ + port: config.server.port, + host: config.server.host, + }); + console.log(`Server listening on http://${config.server.host}:${config.server.port}`); +} catch (err) { + fastify.log.error(err); + process.exit(1); +} diff --git a/backend/omr-service/src/lib/dbSolutionStore.ts b/backend/omr-service/src/lib/dbSolutionStore.ts new file mode 100644 index 0000000000000000000000000000000000000000..47d215dfd19a4dd8288a1dd600804b2ee5ff6b5e --- /dev/null +++ b/backend/omr-service/src/lib/dbSolutionStore.ts @@ -0,0 +1,15 @@ +import * as solutionCacheService from '../services/solutionCache.service.js'; + +// DB-backed SolutionStore using the solution_cache table (JSONB column, auto-parsed by pg driver) +export const DbSolutionStore = { + async get(key: string) { + const [result] = await solutionCacheService.batchGet([key]); + return result ?? null; + }, + async set(key: string, val: any) { + await solutionCacheService.set(key, val); + }, + async batchGet(keys: string[]) { + return solutionCacheService.batchGet(keys); + }, +}; diff --git a/backend/omr-service/src/lib/onnxBeadPicker.ts b/backend/omr-service/src/lib/onnxBeadPicker.ts new file mode 100644 index 0000000000000000000000000000000000000000..653a30b5609ae8d7cdab2432cf3d9566fa3d67a4 --- /dev/null +++ b/backend/omr-service/src/lib/onnxBeadPicker.ts @@ -0,0 +1,174 @@ +// Adapted from src/utils/onnxBeadPicker.ts for omr-service standalone use. +// Before importing this file, onnxruntime-node must be imported to register the Node.js backend. +// +// NOTE: Use dynamic require() instead of static import to ensure onnxruntime-node +// has registered its backend before onnxruntime-common is loaded. +// Static ESM imports are hoisted and evaluated in dependency graph order, +// which can cause onnxruntime-common to be loaded before onnxruntime-node registers. +import { createRequire } from 'module'; +const require = createRequire(import.meta.url); +const ort: any = require('onnxruntime-common'); + +import { starry } from 'starry-omr'; + +type EventCluster = InstanceType; +const EventElementType = starry.EventElementType; + +interface BeadPickerOptions { + sessionOptions?: ort.InferenceSession.SessionOptions; + n_seq: number; + usePivotX: boolean; + + onLoad?: (promise: Promise) => void; +} + +const FEATURE_DIMS = 16; + +export default class OnnxBeadPicker { + private session!: ort.InferenceSession; + private sessionOptions?: ort.InferenceSession.SessionOptions; + + n_seq: number; + usePivotX: boolean; + + quota: number = 0; + cost: number = 0; + + constructor(modelURL: string, { sessionOptions, n_seq, usePivotX, onLoad }: BeadPickerOptions) { + this.sessionOptions = sessionOptions; + this.n_seq = n_seq; + this.usePivotX = usePivotX; + + const loading = this.loadModel(modelURL); + + onLoad && onLoad(loading); + } + + async loadModel(modelURL: string): Promise { + this.session = await ort.InferenceSession.create(modelURL, this.sessionOptions); + console.debug('OnnxBeadPicker: model loaded:', modelURL); + } + + async predictCluster(cluster: EventCluster, tip: number): Promise { + if (cluster.elements.length > this.n_seq) console.warn('OnnxBeadPicker: cluster size out of limit:', cluster.elements.length, this.n_seq); + + const t0 = Date.now(); + + const type = new ort.Tensor( + 'int8', + Int8Array.from( + Array(this.n_seq) + .fill(0) + .map((_, i) => (i < cluster.elements.length ? cluster.elements[i].type : 0)) + ), + [1, this.n_seq] + ); + const staff = new ort.Tensor( + 'int8', + Int8Array.from( + Array(this.n_seq) + .fill(0) + .map((_, i) => (i < cluster.elements.length ? cluster.elements[i].staff : 0)) + ), + [1, this.n_seq] + ); + const beading_pos = new ort.Tensor( + 'int16', + Int16Array.from( + Array(this.n_seq) + .fill(0) + .map((_, i) => + i < cluster.elements.length && Number.isInteger(cluster.elements[i].order) && cluster.elements[i].order! < tip + ? cluster.elements[i].order! - tip + : 0 + ) + ), + [1, this.n_seq] + ); + const x = new ort.Tensor( + 'float32', + Float32Array.from( + Array(this.n_seq) + .fill(0) + .map((_, i) => (i < cluster.elements.length ? (cluster.elements[i][this.usePivotX ? 'pivotX' : 'x'] as number) : 0)) + ), + [1, this.n_seq] + ); + const y1 = new ort.Tensor( + 'float32', + Float32Array.from( + Array(this.n_seq) + .fill(0) + .map((_, i) => (i < cluster.elements.length ? cluster.elements[i].y1 : 0)) + ), + [1, this.n_seq] + ); + const y2 = new ort.Tensor( + 'float32', + Float32Array.from( + Array(this.n_seq) + .fill(0) + .map((_, i) => (i < cluster.elements.length ? cluster.elements[i].y2 : 0)) + ), + [1, this.n_seq] + ); + const feature = new ort.Tensor( + 'float32', + Float32Array.from( + Array(this.n_seq) + .fill(0) + .map((_, i) => i < cluster.elements.length && cluster.elements[i].feature) + .map((feature, i) => { + if (!feature) return Array(FEATURE_DIMS).fill(0); + + const fixed = Number.isInteger(cluster.elements[i].order) && cluster.elements[i].order! < tip; + + const divisions = fixed + ? Array(7) + .fill(0) + .map((_, ii) => (ii === cluster.elements[i].division ? 1 : 0)) + : feature.divisions; + const dots = fixed ? [cluster.elements[i].dots! > 0 ? 1 : 0, cluster.elements[i].dots! > 1 ? 1 : 0] : feature.dots; + const tremoloCatcher = Number.isFinite(feature.tremoloCatcher) ? feature.tremoloCatcher : cluster.elements[i].tremoloCatcher ? 1 : 0; + + return [...divisions, ...dots, ...feature.beams, ...feature.stemDirections, feature.grace, tremoloCatcher]; + }) + .flat(1) + ), + [1, this.n_seq, FEATURE_DIMS] + ); + + const time8th = new ort.Tensor('int8', Int8Array.from([Math.min(16, Math.ceil((cluster.signatureDuration || 0) / 240))])); + + const results = await this.session.run({ type, staff, beading_pos, x, y1, y2, feature, time8th }); + + cluster.elements.forEach((elem, i) => { + if ([EventElementType.CHORD, EventElementType.REST].includes(elem.type)) { + elem.predisposition = { + grace: (results.grace.data[i] as number) > 0.5, + timeWarped: results.timeWarped.data[i], + fullMeasure: results.fullMeasure.data[i], + fake: results.fake.data[i], + tick: results.tick.data[i], + divisionVector: Array.from(results.division.data.slice(i * 9, (i + 1) * 9) as any), + dotsVector: Array.from(results.dots.data.slice(i * 3, (i + 1) * 3) as any), + beamVector: Array.from(results.beam.data.slice(i * 4, (i + 1) * 4) as any), + stemDirectionVector: Array.from(results.stemDirection.data.slice(i * 3, (i + 1) * 3) as any), + } as any; + + elem.predisposition!.fakeP = + 1 - (1 - elem.predisposition!.fake) * (1 - (results.grace.data[i] as number)) * (1 - elem.predisposition!.fullMeasure); + } else if (elem.type === EventElementType.EOS) { + elem.predisposition = { + tick: results.tick.data[i], + } as any; + } + }); + + if (this.quota) --this.quota; + + this.cost += Date.now() - t0; + + return cluster.elements.map((elem, i) => (Number.isInteger(elem.order) && elem.order! < tip ? 0 : (results.successor.data[i] as number))); + } +} diff --git a/backend/omr-service/src/lib/regulateWithProgress.ts b/backend/omr-service/src/lib/regulateWithProgress.ts new file mode 100644 index 0000000000000000000000000000000000000000..3f2bc9e50ac8e982457de3e2403cbde30787e633 --- /dev/null +++ b/backend/omr-service/src/lib/regulateWithProgress.ts @@ -0,0 +1,96 @@ +import { regulateWithBeadSolver, starry } from 'starry-omr'; +import * as issueMeasureService from '../services/issueMeasure.service.js'; +import * as scoreService from '../services/score.service.js'; +import { DbSolutionStore } from './dbSolutionStore.js'; +import { getPickers } from './regulation.js'; +import { broadcast, getSession, removeSession } from './regulationRegistry.js'; + +export async function regulateScoreWithProgress(scoreId: string): Promise { + const session = getSession(scoreId); + + try { + // 1. Read score from DB + const scoreRow = await scoreService.getScore(scoreId); + if (!scoreRow) throw new Error(`Score not found: ${scoreId}`); + + const scoreData = scoreRow.data; + if (!scoreData) throw new Error(`Score has no data: ${scoreId}`); + + // 2. Recover with starry + const score = starry.recoverJSON(scoreData, starry); + + // 3. Get pickers + const pickers = getPickers(); + if (!pickers) throw new Error('Regulation not initialized — no pickers loaded'); + + // Count total measures for progress tracking + score.assemble(); + const spartito = score.makeSpartito(); + const totalMeasures = spartito.measures.length; + // Discard this spartito — regulateWithBeadSolver creates its own + score.spartito = undefined; + + if (session) session.total = totalMeasures; + broadcast(scoreId, { type: 'started', scoreId, totalMeasures }); + + // 4. Call regulateWithBeadSolver + const stat = await regulateWithBeadSolver(score, { + pickers, + solutionStore: DbSolutionStore, + onPassStart: (pass, conditionName, pendingCount) => { + const s = getSession(scoreId); + if (s) { + s.pass = pass; + s.remaining = pendingCount; + s.total = totalMeasures; + } + broadcast(scoreId, { + type: 'progress', + scoreId, + pass, + remaining: pendingCount, + total: totalMeasures, + measureIndex: -1, + better: false, + fine: false, + error: false, + }); + }, + onProgress: (measure, evaluation, better, { pass, remaining, total }) => { + const s = getSession(scoreId); + if (s) { + s.pass = pass; + s.remaining = remaining; + s.total = total; + } + broadcast(scoreId, { + type: 'progress', + scoreId, + pass, + remaining, + total, + measureIndex: (measure as any).measureIndex, + better, + fine: evaluation.fine, + error: evaluation.error, + }); + }, + onSaveIssueMeasure: (data) => { + issueMeasureService + .upsert(scoreId, data.measureIndex, new starry.EditableMeasure(data.measure), data.status) + .catch((err: any) => console.error('[regulateWithProgress] failed to save issue measure:', err)); + }, + }); + + // 5. Save regulated score back to DB + await scoreService.updateScore(scoreId, { data: (score as any).toJSON() }); + + // 6. Broadcast completed + broadcast(scoreId, { type: 'completed', scoreId, stat }); + } catch (err: any) { + console.error('[regulateWithProgress] error:', err); + broadcast(scoreId, { type: 'error', scoreId, message: err.message || String(err) }); + } finally { + removeSession(scoreId); + } +} diff --git a/backend/omr-service/src/lib/regulation.ts b/backend/omr-service/src/lib/regulation.ts new file mode 100644 index 0000000000000000000000000000000000000000..9f4d9c9dc6b838b6b9bef90e2ad57ddf6f7c6703 --- /dev/null +++ b/backend/omr-service/src/lib/regulation.ts @@ -0,0 +1,127 @@ +// onnxruntime-node must be imported before OnnxBeadPicker to register the Node.js backend +import { execSync } from 'child_process'; +import { existsSync, mkdirSync, readFileSync } from 'fs'; +import 'onnxruntime-node'; +import { join } from 'path'; +import { DefaultSolutionStore, regulateWithBeadSolver, starry } from 'starry-omr'; +import { config } from '../config.js'; +import OnnxBeadPicker from './onnxBeadPicker.js'; + +function loadBeadPickers(path: string, seqs: number[] = [32, 64, 128, 512]) { + return Promise.all( + seqs.map(async (n_seq) => { + let loading: any; + const url = path.replace(/seq\d+/, `seq${n_seq}`); + const picker = new OnnxBeadPicker(url, { + n_seq, + usePivotX: true, + onLoad: (p) => (loading = p), + }); + await loading; + return picker; + }) + ); +} + +const HF_REPO = 'k-l-lambda/starry'; +const MODELS_YAML = 'starry-dist/models.yaml'; + +interface BdtopoConfig { + path: string; + default: string; + files: string[]; +} + +function parseModelsYaml(content: string): BdtopoConfig { + const path = content.match(/^\s*path:\s*(.+)$/m)?.[1]?.trim() || ''; + const defaultFile = content.match(/^\s*default:\s*(.+)$/m)?.[1]?.trim() || ''; + const files: string[] = []; + const filesMatch = content.match(/files:\s*\n((?:\s*-\s*.+\n?)*)/); + if (filesMatch) { + for (const m of filesMatch[1].matchAll(/^\s*-\s*(.+)$/gm)) { + files.push(m[1].trim()); + } + } + return { path, default: defaultFile, files }; +} + +function downloadModelsFromHF(modelsBase: string): string { + mkdirSync(modelsBase, { recursive: true }); + + const proxy = process.env.https_proxy || process.env.HTTPS_PROXY || ''; + const proxyArg = proxy ? `-x ${proxy}` : ''; + const token = process.env.HF_TOKEN!; + + // Download models.yaml config + const yamlPath = join(modelsBase, MODELS_YAML); + if (!existsSync(yamlPath)) { + mkdirSync(join(modelsBase, 'starry-dist'), { recursive: true }); + const yamlUrl = `https://huggingface.co/${HF_REPO}/resolve/main/${MODELS_YAML}?download=true`; + console.log('[regulation] Downloading models.yaml ...'); + execSync(`curl -sfL ${proxyArg} -H "Authorization: Bearer ${token}" -o "${yamlPath}" "${yamlUrl}"`, { stdio: 'inherit' }); + } + + const cfg = parseModelsYaml(readFileSync(yamlPath, 'utf-8')); + const modelDir = join(modelsBase, 'starry-dist', cfg.path); + mkdirSync(modelDir, { recursive: true }); + + for (const file of cfg.files) { + const dest = join(modelDir, file); + if (existsSync(dest)) { + console.log(`[regulation] ${file} already present, skipping.`); + continue; + } + const url = `https://huggingface.co/${HF_REPO}/resolve/main/starry-dist/${cfg.path}/${file}?download=true`; + console.log(`[regulation] Downloading ${file} ...`); + execSync(`curl -sfL ${proxyArg} -H "Authorization: Bearer ${token}" -o "${dest}" "${url}"`, { stdio: 'inherit' }); + } + + return join(modelDir, cfg.default); +} + +let pickers: any[] | null = null; + +export async function initRegulation() { + if (!config.regulation.enabled) { + console.log('[regulation] disabled by config'); + return; + } + + let modelPath = config.regulation.modelPath; + + // Auto-download from HuggingFace if no explicit path and HF_TOKEN is available + if (!modelPath && process.env.HF_TOKEN) { + console.log('[regulation] BDTOPO_MODEL_PATH not set, downloading from HuggingFace...'); + const modelsBase = join(process.cwd(), 'models'); + modelPath = downloadModelsFromHF(modelsBase); + } + + if (!modelPath) { + console.log('[regulation] BDTOPO_MODEL_PATH not set and no HF_TOKEN, skipping'); + return; + } + console.log('[regulation] loading bdtopo models from:', modelPath); + + const t0 = Date.now(); + pickers = await loadBeadPickers(modelPath); + console.log(`[regulation] ${pickers.length} models loaded in ${Date.now() - t0}ms`); +} + +export async function regulateScore(scoreJSON: any) { + if (!pickers) throw new Error('Regulation not initialized'); + + const score = starry.recoverJSON(scoreJSON, starry); + const stat = await regulateWithBeadSolver(score, { + pickers, + solutionStore: DefaultSolutionStore, + }); + return { score: (score as any).toJSON(), stat }; +} + +export function isRegulationReady() { + return pickers !== null; +} + +export function getPickers() { + return pickers; +} diff --git a/backend/omr-service/src/lib/regulationRegistry.ts b/backend/omr-service/src/lib/regulationRegistry.ts new file mode 100644 index 0000000000000000000000000000000000000000..092b48f03e369ccfbbf92fe0495684d145e1a3c4 --- /dev/null +++ b/backend/omr-service/src/lib/regulationRegistry.ts @@ -0,0 +1,67 @@ +import type { WebSocket } from 'ws'; + +interface RegulationSession { + scoreId: string; + startedAt: number; + clients: Set; + pass: number; + remaining: number; + total: number; +} + +const active = new Map(); + +export function isRegulating(scoreId: string): boolean { + return active.has(scoreId); +} + +export function createSession(scoreId: string): RegulationSession { + const session: RegulationSession = { + scoreId, + startedAt: Date.now(), + clients: new Set(), + pass: 0, + remaining: 0, + total: 0, + }; + active.set(scoreId, session); + return session; +} + +export function removeSession(scoreId: string): void { + active.delete(scoreId); +} + +export function getSession(scoreId: string): RegulationSession | undefined { + return active.get(scoreId); +} + +export function addClient(scoreId: string, ws: WebSocket): void { + const session = active.get(scoreId); + if (session) session.clients.add(ws); +} + +export function removeClient(scoreId: string, ws: WebSocket): void { + const session = active.get(scoreId); + if (session) session.clients.delete(ws); +} + +export function removeClientFromAll(ws: WebSocket): void { + for (const session of active.values()) { + session.clients.delete(ws); + } +} + +export function broadcast(scoreId: string, msg: object): void { + const session = active.get(scoreId); + if (!session) return; + const data = JSON.stringify(msg); + for (const ws of session.clients) { + if (ws.readyState === 1) { + // WebSocket.OPEN + ws.send(data); + } + } +} + +export type { RegulationSession }; diff --git a/backend/omr-service/src/lib/zero-client.ts b/backend/omr-service/src/lib/zero-client.ts new file mode 100644 index 0000000000000000000000000000000000000000..81c227c8d8038957d79e7052a8ccd145be669e6b --- /dev/null +++ b/backend/omr-service/src/lib/zero-client.ts @@ -0,0 +1,158 @@ +import * as zmq from 'zeromq'; +import { pack, unpack } from 'msgpackr'; +import { config, PredictorType } from '../config.js'; + +interface ZeroResponse { + code: number; + msg: string; + data?: any; +} + +export class ZeroClient { + private socket: zmq.Request; + private address: string; + private connected = false; + + constructor(address: string) { + this.address = address; + this.socket = new zmq.Request(); + this.socket.receiveTimeout = 300000; // 5 minutes timeout + this.socket.sendTimeout = 15000; + } + + async connect(): Promise { + if (this.connected) return; + await this.socket.connect(this.address); + this.connected = true; + } + + async request(method: string, args?: any[], kwargs?: Record): Promise { + if (!this.connected) { + await this.connect(); + } + + const msg: any = { method }; + if (args) msg.args = args; + if (kwargs) msg.kwargs = kwargs; + + const packed = pack(msg); + await this.socket.send(packed); + const [response] = await this.socket.receive(); + const result = unpack(response) as ZeroResponse; + + if (result.code === 0) { + return result.data as T; + } else { + throw new Error(result.msg || 'Predictor request failed'); + } + } + + async close(): Promise { + if (this.connected) { + this.socket.close(); + this.connected = false; + } + } +} + +// Predictor client pool +const clients = new Map(); + +export function getPredictor(type: PredictorType): ZeroClient { + if (!clients.has(type)) { + const address = config.predictors[type]; + clients.set(type, new ZeroClient(address)); + } + return clients.get(type)!; +} + +export async function closeAllPredictors(): Promise { + for (const client of clients.values()) { + await client.close(); + } + clients.clear(); +} + +// High-level predictor functions +export interface LayoutResult { + detection: { + boxes: number[][]; + labels: string[]; + scores: number[]; + }; + theta: number; + interval: number; + sourceSize?: { + width: number; + height: number; + }; +} + +export interface GaugeResult { + image: Buffer; +} + +export interface MaskResult { + image: Buffer; +} + +export interface SemanticResult { + clusters: any[]; +} + +export interface LocResult { + boxes: number[][]; + scores: number[]; +} + +export interface OcrResult { + texts: string[]; + scores: number[]; +} + +// Layout: predictDetection([buffer]) +export async function predictLayout(imageData: Buffer): Promise { + const client = getPredictor('layout'); + const results = await client.request('predictDetection', [[imageData]]); + return results[0]; +} + +// Gauge: predict([buffer], by_buffer=true) +export async function predictGauge(imageData: Buffer): Promise { + const client = getPredictor('gauge'); + const results = await client.request('predict', [[imageData]], { by_buffer: true }); + return results[0]; +} + +// Mask: predict([buffer], by_buffer=true) +export async function predictMask(imageData: Buffer): Promise { + const client = getPredictor('mask'); + const results = await client.request('predict', [[imageData]], { by_buffer: true }); + return results[0]; +} + +// Semantic: predict([buffer]) +export async function predictSemantic(imageData: Buffer): Promise { + const client = getPredictor('semantic'); + const results = await client.request('predict', [[imageData]]); + return results[0]; +} + +// Loc (text localization): predict([buffer]) +export async function predictLoc(imageData: Buffer): Promise { + const client = getPredictor('loc'); + const results = await client.request('predict', [[imageData]]); + return results[0]; +} + +// OCR: predict(buffers=[buffer], location=[...]) +export async function predictOcr(imageData: Buffer, locations: any[]): Promise { + const client = getPredictor('ocr'); + return client.request('predict', [], { buffers: [imageData], location: locations }); +} + +// Brackets: predict(buffers=[buffer]) +export async function predictBrackets(imageData: Buffer): Promise { + const client = getPredictor('brackets'); + return client.request('predict', [], { buffers: [imageData] }); +} diff --git a/backend/omr-service/src/routes/file.ts b/backend/omr-service/src/routes/file.ts new file mode 100644 index 0000000000000000000000000000000000000000..088fb7493f26cdf36297589bf10d439d0330f3d6 --- /dev/null +++ b/backend/omr-service/src/routes/file.ts @@ -0,0 +1,88 @@ +import { FastifyInstance } from 'fastify'; +import { createWriteStream, existsSync, mkdirSync } from 'fs'; +import { pipeline } from 'stream/promises'; +import { join } from 'path'; +import { randomUUID } from 'crypto'; + +// Uploads directory +const UPLOADS_DIR = process.env.UPLOADS_DIR || '/tmp/starry-uploads'; + +// Ensure uploads directory exists +if (!existsSync(UPLOADS_DIR)) { + mkdirSync(UPLOADS_DIR, { recursive: true }); +} + +/** + * File management routes + */ + +export default async function fileRoutes(fastify: FastifyInstance) { + // File config endpoint + fastify.get('/file/config', async () => { + return { + code: 0, + data: { + omrDomain: process.env.OMR_DOMAIN || 'http://localhost:3080', + }, + }; + }); + + // File upload token - returns upload URL for direct upload + fastify.get('/file/token', async (request, reply) => { + const { filename } = request.query as { filename?: string }; + if (!filename) { + reply.code(400); + return { code: 400, message: 'filename required' }; + } + + // Generate unique key to avoid collisions + const ext = filename.split('.').pop() || 'bin'; + const key = `${randomUUID()}.${ext}`; + return { + code: 0, + data: { + key, + token: 'local', // Special token indicating local upload + url: `/uploads/${key}`, + uploadUrl: `/api/file/upload`, // Direct upload endpoint + }, + }; + }); + + // Direct file upload endpoint + fastify.post('/file/upload', async (request, reply) => { + const data = await request.file(); + const query = request.query as { key?: string }; + + console.log('[upload] received file:', data?.filename, 'query key:', query.key); + + if (!data) { + reply.code(400); + return { code: 400, message: 'No file provided' }; + } + + // Get key from query parameter, form field, or generate one + const keyField = data.fields.key as any; + const key = query.key || keyField?.value || `${randomUUID()}.${data.filename?.split('.').pop() || 'bin'}`; + const filePath = join(UPLOADS_DIR, key); + console.log('[upload] saving to:', filePath); + + // Save file to disk + await pipeline(data.file, createWriteStream(filePath)); + + // Check if file was written + const exists = existsSync(filePath); + console.log('[upload] file exists after write:', exists); + + const url = `/uploads/${key}`; + + return { + code: 0, + data: { + key, + url, + hash: key, + }, + }; + }); +} diff --git a/backend/omr-service/src/routes/issueMeasures.ts b/backend/omr-service/src/routes/issueMeasures.ts new file mode 100644 index 0000000000000000000000000000000000000000..369be387183a5ff3a06ac292c83c62bb90acfffd --- /dev/null +++ b/backend/omr-service/src/routes/issueMeasures.ts @@ -0,0 +1,54 @@ +import { FastifyInstance } from 'fastify'; +import * as issueMeasureService from '../services/issueMeasure.service.js'; + +interface ScoreParams { + id: string; +} + +interface MeasureParams extends ScoreParams { + measureIndex: string; +} + +interface ListQuery { + offset?: string; + limit?: string; + status?: string | string[]; +} + +interface UpsertBody { + measureIndex: number; + measure: any; + status: number; + annotator?: string; +} + +export default async function issueMeasuresRoutes(fastify: FastifyInstance) { + // List issue measures for a score + fastify.get<{ Params: ScoreParams; Querystring: ListQuery }>('/scores/:id/issueMeasures', async (request) => { + const { offset, limit, status } = request.query; + + const statusArr = status ? (Array.isArray(status) ? status : [status]).map(Number).filter((n) => !isNaN(n)) : undefined; + + const result = await issueMeasureService.list(request.params.id, { + offset: offset ? parseInt(offset, 10) : 0, + limit: limit ? parseInt(limit, 10) : 200, + status: statusArr, + }); + + return { code: 0, data: result }; + }); + + // Upsert issue measure for a score + fastify.put<{ Params: ScoreParams; Body: UpsertBody }>('/scores/:id/issueMeasures', async (request, reply) => { + const { measureIndex, measure, status, annotator } = request.body || {}; + + if (measureIndex === undefined || !measure || status === undefined) { + reply.code(400); + return { code: 400, message: 'measureIndex, measure, and status are required' }; + } + + const result = await issueMeasureService.upsert(request.params.id, measureIndex, measure, status, annotator); + + return { code: 0, data: result }; + }); +} diff --git a/backend/omr-service/src/routes/measures.ts b/backend/omr-service/src/routes/measures.ts new file mode 100644 index 0000000000000000000000000000000000000000..793641bc1744953dd9b7dcc161c1da88f66a287b --- /dev/null +++ b/backend/omr-service/src/routes/measures.ts @@ -0,0 +1,225 @@ +import { FastifyInstance } from 'fastify'; +import * as measureService from '../services/measure.service.js'; +import type { AnnotateBody } from '../services/measure.service.js'; +import { createRequire } from 'module'; +import { existsSync, mkdirSync } from 'fs'; +import { join } from 'path'; + +const require = createRequire(import.meta.url); +const sharp = require('sharp'); + +const CACHE_DIR = join(process.env.UPLOADS_DIR || '/tmp/starry-uploads', '.cache', 'measure-bg'); +if (!existsSync(CACHE_DIR)) mkdirSync(CACHE_DIR, { recursive: true }); + +interface ScoreParams { + id: string; +} + +interface MeasureParams extends ScoreParams { + index: string; +} + +interface UpdateMeasureBody { + events?: any[]; + voices?: number[][]; + duration?: number; + contexts?: any[][]; + marks?: any[]; +} + +interface UpdateStatusBody { + status: number; +} + +export default async function measuresRoutes(fastify: FastifyInstance) { + // List all measures (summaries) + fastify.get<{ Params: ScoreParams }>('/scores/:id/measures', async (request, reply) => { + const result = await measureService.getMeasures(request.params.id); + if (!result) { + reply.code(404); + return { error: 'Score not found' }; + } + return result; + }); + + // List measures with quality issues (must be registered BEFORE /:index) + fastify.get<{ Params: ScoreParams }>('/scores/:id/measures/issues', async (request, reply) => { + const result = await measureService.getIssueMeasures(request.params.id); + if (!result) { + reply.code(404); + return { error: 'Score not found' }; + } + return result; + }); + + // Get measure background images (cropped to measure region per staff) + fastify.get<{ Params: MeasureParams; Querystring: { format?: string } }>('/scores/:id/measures/:index/background', async (request, reply) => { + const index = parseInt(request.params.index, 10); + if (isNaN(index)) { + reply.code(400); + return { error: 'Invalid measure index' }; + } + + const result = await measureService.getMeasureBackground(request.params.id, index); + if (!result) { + reply.code(404); + return { error: 'Score or measure not found' }; + } + + // Crop staff images to the measure region + const crops: { staff: number; filePath: string; pixelWidth: number; pixelHeight: number }[] = []; + for (const img of result.staffImages) { + if (!img.exists) continue; + + const cacheKey = `${request.params.id}_m${index}_s${img.staff}.png`; + const cachePath = join(CACHE_DIR, cacheKey); + + try { + const metadata = await sharp(img.filePath).metadata(); + const imgW = metadata.width || 1; + const imgH = metadata.height || 1; + const scale = imgW / img.imagePosition.width; + + const cropLeft = Math.max(0, Math.round(img.measureCrop.left * scale)); + const cropRight = Math.min(imgW, Math.round(img.measureCrop.right * scale)); + const cropW = cropRight - cropLeft; + + if (cropW > 0 && imgH > 0) { + await sharp(img.filePath).extract({ left: cropLeft, top: 0, width: cropW, height: imgH }).toFile(cachePath); + crops.push({ staff: img.staff, filePath: cachePath, pixelWidth: cropW, pixelHeight: imgH }); + } + } catch (err) { + console.error(`[background] failed to crop staff ${img.staff}:`, (err as Error).message); + } + } + + return { + measureIndex: result.measureIndex, + measureBounds: result.measureBounds, + staffYs: result.staffYs, + crops, + }; + }); + + // Get single measure with full JSON + evaluation + fastify.get<{ Params: MeasureParams }>('/scores/:id/measures/:index', async (request, reply) => { + const index = parseInt(request.params.index, 10); + if (isNaN(index)) { + reply.code(400); + return { error: 'Invalid measure index' }; + } + + const result = await measureService.getMeasure(request.params.id, index); + if (!result) { + reply.code(404); + return { error: 'Score or measure not found' }; + } + return result; + }); + + // Update measure (apply patch) + fastify.put<{ Params: MeasureParams; Body: UpdateMeasureBody }>('/scores/:id/measures/:index', async (request, reply) => { + const index = parseInt(request.params.index, 10); + if (isNaN(index)) { + reply.code(400); + return { error: 'Invalid measure index' }; + } + + try { + const result = await measureService.updateMeasure(request.params.id, index, request.body); + if (!result) { + reply.code(404); + return { error: 'Score or measure not found' }; + } + return result; + } catch (err) { + fastify.log.error(err, '[measures] update failed'); + reply.code(500); + return { error: (err as Error).message }; + } + }); + + // Regulate single measure + fastify.post<{ Params: MeasureParams }>('/scores/:id/measures/:index/regulate', async (request, reply) => { + const index = parseInt(request.params.index, 10); + if (isNaN(index)) { + reply.code(400); + return { error: 'Invalid measure index' }; + } + + try { + const result = await measureService.regulateMeasure(request.params.id, index); + if (!result) { + reply.code(404); + return { error: 'Score or measure not found' }; + } + return result; + } catch (err) { + if ((err as Error).message === 'Regulation service not ready') { + reply.code(503); + return { error: 'Regulation service not ready' }; + } + fastify.log.error(err, '[measures] regulation failed'); + reply.code(500); + return { error: (err as Error).message }; + } + }); + + // Annotate measure: apply fixes, re-regulate, evaluate, and persist all layers + fastify.post<{ Params: MeasureParams; Body: AnnotateBody }>('/scores/:id/measures/:index/annotate', async (request, reply) => { + const index = parseInt(request.params.index, 10); + if (isNaN(index)) { + reply.code(400); + return { error: 'Invalid measure index' }; + } + + try { + const result = await measureService.annotateMeasure(request.params.id, index, request.body || {}); + if (!result) { + reply.code(404); + return { error: 'Score not found' }; + } + if ('error' in result && result.error === 'invalid_index') { + reply.code(400); + return { error: 'Measure index out of range' }; + } + return result; + } catch (err) { + if ((err as Error).message === 'Regulation service not ready') { + reply.code(503); + return { error: 'Regulation service not ready' }; + } + fastify.log.error(err, '[measures] annotate failed'); + reply.code(500); + return { error: (err as Error).message }; + } + }); + + // Update measure status (-1=discard, 0=solved, 1=issue, 2=fatal) + fastify.put<{ Params: MeasureParams; Body: UpdateStatusBody }>('/scores/:id/measures/:index/status', async (request, reply) => { + const index = parseInt(request.params.index, 10); + if (isNaN(index)) { + reply.code(400); + return { error: 'Invalid measure index' }; + } + + const { status } = request.body; + if (status === undefined || ![-1, 0, 1, 2].includes(status)) { + reply.code(400); + return { error: 'Invalid status. Must be -1, 0, 1, or 2' }; + } + + try { + const result = await measureService.updateMeasureStatus(request.params.id, index, status); + if (!result) { + reply.code(404); + return { error: 'Score not found' }; + } + return result; + } catch (err) { + fastify.log.error(err, '[measures] status update failed'); + reply.code(500); + return { error: (err as Error).message }; + } + }); +} diff --git a/backend/omr-service/src/routes/musicSet.ts b/backend/omr-service/src/routes/musicSet.ts new file mode 100644 index 0000000000000000000000000000000000000000..cb6021af562ed4fbe97e7436f37a6468af9b80ce --- /dev/null +++ b/backend/omr-service/src/routes/musicSet.ts @@ -0,0 +1,165 @@ +import { FastifyInstance } from 'fastify'; +import * as musicSetService from '../services/musicSet.service.js'; + +interface MusicSetParams { + id: string; +} + +interface TagParams extends MusicSetParams { + tagId: string; +} + +interface ListQuery { + limit?: string; + offset?: string; + search?: string; + sortedBy?: string; + sortedType?: string; + tagIdList?: string | string[]; +} + +interface CreateMusicSetBody { + id?: string; + name?: string; + type?: string; + content?: { + scoreURL?: string; + images?: Array<{ name?: string; size?: number; url: string }>; + }; + tagIdList?: string[]; +} + +interface UpdateMusicSetBody { + name?: string; + type?: string; + content?: { + scoreURL?: string; + images?: Array<{ name?: string; size?: number; url: string }>; + }; + tagIdList?: string[]; +} + +export default async function musicSetRoutes(fastify: FastifyInstance) { + // List music sets + fastify.get<{ Querystring: ListQuery }>('/musicSets', async (request) => { + const { limit, offset, search, sortedBy, sortedType, tagIdList } = request.query; + + // Parse tagIdList - could be string or array + let parsedTagIdList: string[] | undefined; + if (tagIdList) { + parsedTagIdList = Array.isArray(tagIdList) ? tagIdList : [tagIdList]; + } + + const result = await musicSetService.listMusicSets({ + limit: limit ? parseInt(limit, 10) : 50, + offset: offset ? parseInt(offset, 10) : 0, + search, + sortedBy, + sortedType: sortedType as 'asc' | 'desc' | undefined, + tagIdList: parsedTagIdList, + }); + + return { + code: 0, + data: result, + }; + }); + + // Create music set + fastify.post<{ Body: CreateMusicSetBody }>('/musicSets', async (request, reply) => { + const { id, name, type, content, tagIdList } = request.body; + + const musicSet = await musicSetService.createMusicSet({ id, name, type, content }); + + // Bind tags if provided + if (tagIdList && tagIdList.length > 0) { + for (const tagId of tagIdList) { + await musicSetService.bindTag(musicSet.id, tagId); + } + } + + // Fetch with tags + const result = await musicSetService.getMusicSet(musicSet.id); + + return { + code: 0, + data: { id: result!.id }, + }; + }); + + // Get music set + fastify.get<{ Params: MusicSetParams }>('/musicSets/:id', async (request, reply) => { + const musicSet = await musicSetService.getMusicSet(request.params.id); + + if (!musicSet) { + reply.code(404); + return { code: 404, message: 'MusicSet not found' }; + } + + return { + code: 0, + data: musicSet, + }; + }); + + // Update music set + fastify.put<{ Params: MusicSetParams; Body: UpdateMusicSetBody }>('/musicSets/:id', async (request, reply) => { + const { name, type, content, tagIdList } = request.body; + + const musicSet = await musicSetService.updateMusicSet(request.params.id, { + name, + type, + content, + tagIdList, + }); + + if (!musicSet) { + reply.code(404); + return { code: 404, message: 'MusicSet not found' }; + } + + return { + code: 0, + data: musicSet, + }; + }); + + // Delete music set + fastify.delete<{ Params: MusicSetParams }>('/musicSets/:id', async (request, reply) => { + const deleted = await musicSetService.deleteMusicSet(request.params.id); + + if (!deleted) { + reply.code(404); + return { code: 404, message: 'MusicSet not found' }; + } + + return { + code: 0, + data: { success: true }, + }; + }); + + // Bind tag to music set + fastify.post<{ Params: TagParams }>('/musicSets/:id/tags/:tagId', async (request, reply) => { + const { id, tagId } = request.params; + + const success = await musicSetService.bindTag(id, tagId); + + return { + code: 0, + data: { success }, + }; + }); + + // Unbind tag from music set + fastify.delete<{ Params: TagParams }>('/musicSets/:id/tags/:tagId', async (request, reply) => { + const { id, tagId } = request.params; + + const success = await musicSetService.unbindTag(id, tagId); + + return { + code: 0, + data: { success }, + }; + }); +} diff --git a/backend/omr-service/src/routes/predict.ts b/backend/omr-service/src/routes/predict.ts new file mode 100644 index 0000000000000000000000000000000000000000..406a1ed895a6f388651bb634f77695c725393e9b --- /dev/null +++ b/backend/omr-service/src/routes/predict.ts @@ -0,0 +1,251 @@ +import { MultipartFile } from '@fastify/multipart'; +import { FastifyInstance } from 'fastify'; +import * as scoreService from '../services/score.service.js'; +import * as taskService from '../services/task.service.js'; +import { taskWorker } from '../worker.js'; + +interface PredictPageBody { + score_id: string; + page_index: number; + image: MultipartFile; +} + +interface PredictAllBody { + score_id: string; +} + +interface PredictPageParams { + scoreId: string; + pageIndex: string; +} + +export default async function predictRoutes(fastify: FastifyInstance) { + // Predict single page (async task) + fastify.post<{ Params: PredictPageParams }>('/predict/page/:scoreId/:pageIndex', async (request, reply) => { + const { scoreId, pageIndex } = request.params; + const pageIdx = parseInt(pageIndex, 10); + + // Check score exists + const score = await scoreService.getScore(scoreId); + if (!score) { + reply.code(404); + return { error: 'Score not found' }; + } + + // Handle multipart file upload + const data = await request.file(); + if (!data) { + reply.code(400); + return { error: 'Image file required' }; + } + + const imageBuffer = await data.toBuffer(); + + // Create page record if not exists + await scoreService.createPage(scoreId, pageIdx, null, null, null, {}); + + // Create async task + const task = await taskService.createTask({ + score_id: scoreId, + type: 'predict_page', + }); + + // Queue the task for processing + taskWorker.queueTask({ + taskId: task.id, + scoreId, + pageIndex: pageIdx, + imageData: imageBuffer, + }); + + reply.code(202); + return { + task_id: task.id, + status: 'pending', + poll_url: `/api/tasks/${task.id}/poll`, + }; + }); + + // Predict all pages (async task) + fastify.post('/predict/all/:scoreId', async (request, reply) => { + const scoreId = (request.params as { scoreId: string }).scoreId; + + // Check score exists + const score = await scoreService.getScore(scoreId); + if (!score) { + reply.code(404); + return { error: 'Score not found' }; + } + + // Handle multipart with multiple files + const parts = request.files(); + const imageBuffers: Buffer[] = []; + + for await (const part of parts) { + imageBuffers.push(await part.toBuffer()); + } + + if (imageBuffers.length === 0) { + reply.code(400); + return { error: 'At least one image file required' }; + } + + // Create page records + for (let i = 0; i < imageBuffers.length; i++) { + await scoreService.createPage(scoreId, i, null, null, null, {}); + } + + // Create async task + const task = await taskService.createTask({ + score_id: scoreId, + type: 'predict_all', + }); + + // Queue the task for processing + taskWorker.queueTask({ + taskId: task.id, + scoreId, + imageDataList: imageBuffers, + }); + + reply.code(202); + return { + task_id: task.id, + status: 'pending', + page_count: imageBuffers.length, + poll_url: `/api/tasks/${task.id}/poll`, + }; + }); + + // Predict pages using the full predictPages pipeline (Canvas-based rotation correction + staff extraction) + // Produces a complete starry.Score with correct coordinates — no manual merging needed. + // Accepts multipart form: page images (files) + 'sources' JSON field + optional 'outputWidth' + 'processes' + fastify.post('/predict/pages/:scoreId', async (request, reply) => { + const scoreId = (request.params as { scoreId: string }).scoreId; + + const score = await scoreService.getScore(scoreId); + if (!score) { + reply.code(404); + return { error: 'Score not found' }; + } + + const imageBuffers: Buffer[] = []; + let sourcesList: any[] = []; + let outputWidth = 1200; + let processes = ['semantic', 'mask']; + + const parts = request.parts(); + for await (const part of parts) { + if (part.type === 'file') { + imageBuffers.push(await (part as any).toBuffer()); + } else if (part.type === 'field') { + if (part.fieldname === 'sources') { + try { + sourcesList = JSON.parse(part.value as string); + } catch { + reply.code(400); + return { error: 'Invalid sources JSON' }; + } + } else if (part.fieldname === 'outputWidth') { + outputWidth = parseInt(part.value as string, 10) || 1200; + } else if (part.fieldname === 'processes') { + try { + processes = JSON.parse(part.value as string); + } catch { + // keep default + } + } + } + } + + if (imageBuffers.length === 0) { + reply.code(400); + return { error: 'At least one image file required' }; + } + + const task = await taskService.createTask({ + score_id: scoreId, + type: 'predict_custom', + }); + + const images = imageBuffers.map((data, i) => ({ + data, + layout: sourcesList[i]?.layout || undefined, + enableGauge: sourcesList[i]?.enableGauge || false, + })); + + taskWorker.queueTask({ + taskId: task.id, + scoreId, + predictPages: { images, outputWidth, processes }, + }); + + reply.code(202); + return { + task_id: task.id, + status: 'pending', + page_count: imageBuffers.length, + poll_url: `/api/tasks/${task.id}/poll`, + }; + }); + + // Predict with pre-computed layout data (skip layout detection, only run semantic + mask) + // Accepts multipart form: page images (files) + layout JSON (field named 'layout') + fastify.post('/predict/with-layout/:scoreId', async (request, reply) => { + const scoreId = (request.params as { scoreId: string }).scoreId; + + const score = await scoreService.getScore(scoreId); + if (!score) { + reply.code(404); + return { error: 'Score not found' }; + } + + // Parse multipart: files are page images, 'layout' field is JSON + const imageBuffers: Buffer[] = []; + let layoutList: any[] = []; + + const parts = request.parts(); + for await (const part of parts) { + if (part.type === 'file') { + imageBuffers.push(await (part as any).toBuffer()); + } else if (part.type === 'field' && part.fieldname === 'layout') { + try { + layoutList = JSON.parse(part.value as string); + } catch { + reply.code(400); + return { error: 'Invalid layout JSON' }; + } + } + } + + if (imageBuffers.length === 0) { + reply.code(400); + return { error: 'At least one image file required' }; + } + + // Create page records + for (let i = 0; i < imageBuffers.length; i++) { + await scoreService.createPage(scoreId, i, null, null, null, {}); + } + + const task = await taskService.createTask({ + score_id: scoreId, + type: 'predict_all', + }); + + taskWorker.queueTask({ + taskId: task.id, + scoreId, + imageDataList: imageBuffers, + layoutList, + }); + + reply.code(202); + return { + task_id: task.id, + status: 'pending', + page_count: imageBuffers.length, + poll_url: `/api/tasks/${task.id}/poll`, + }; + }); +} diff --git a/backend/omr-service/src/routes/predictor.ts b/backend/omr-service/src/routes/predictor.ts new file mode 100644 index 0000000000000000000000000000000000000000..a2e2a4ba99e200cc5d3d4278e911748463e9ed83 --- /dev/null +++ b/backend/omr-service/src/routes/predictor.ts @@ -0,0 +1,161 @@ +import { FastifyInstance } from 'fastify'; +import { getPredictor } from '../lib/zero-client.js'; + +/** + * Synchronous predictor routes that accept base64 images + * POST /api/predict/:type with { images: base64[] } + */ + +interface PredictorBody { + images: string[]; +} + +export default async function predictorRoutes(fastify: FastifyInstance) { + // Layout predictor - returns detection results + fastify.post<{ Body: PredictorBody }>('/predict/layout', async (request, reply) => { + const { images } = request.body; + if (!images || images.length === 0) { + reply.code(400); + return { code: 400, message: 'images array required' }; + } + + const buffers = images.map((img) => Buffer.from(img, 'base64')); + const client = getPredictor('layout'); + const results = await client.request('predictDetection', [buffers]); + + return { + code: 0, + data: results.map((result) => ({ + ...result, + image: result.image ? `data:image/png;base64,${Buffer.from(result.image).toString('base64')}` : undefined, + })), + }; + }); + + // Gauge predictor - returns deformation-corrected images + fastify.post<{ Body: PredictorBody }>('/predict/gauge', async (request, reply) => { + const { images } = request.body; + if (!images || images.length === 0) { + reply.code(400); + return { code: 400, message: 'images array required' }; + } + + const buffers = images.map((img) => Buffer.from(img, 'base64')); + const client = getPredictor('gauge'); + const results = await client.request('predict', [buffers], { by_buffer: true }); + + return { + code: 0, + data: results.map((result) => ({ + ...result, + image: result.image ? `data:image/png;base64,${Buffer.from(result.image).toString('base64')}` : undefined, + })), + }; + }); + + // Mask predictor - returns staff mask images + fastify.post<{ Body: PredictorBody }>('/predict/mask', async (request, reply) => { + const { images } = request.body; + if (!images || images.length === 0) { + reply.code(400); + return { code: 400, message: 'images array required' }; + } + + const buffers = images.map((img) => Buffer.from(img, 'base64')); + const client = getPredictor('mask'); + const results = await client.request('predict', [buffers], { by_buffer: true }); + + return { + code: 0, + data: results.map((result) => ({ + ...result, + image: result.image ? `data:image/png;base64,${Buffer.from(result.image).toString('base64')}` : undefined, + })), + }; + }); + + // Semantic predictor - returns semantic point clusters + fastify.post<{ Body: PredictorBody }>('/predict/semantic', async (request, reply) => { + const { images } = request.body; + if (!images || images.length === 0) { + reply.code(400); + return { code: 400, message: 'images array required' }; + } + + const buffers = images.map((img) => Buffer.from(img, 'base64')); + const client = getPredictor('semantic'); + const results = await client.request('predict', [buffers]); + + return { code: 0, data: results }; + }); + + // Text predictor - combines loc + ocr for text detection + fastify.post<{ Body: PredictorBody }>('/predict/text', async (request, reply) => { + const { images } = request.body; + if (!images || images.length === 0) { + reply.code(400); + return { code: 400, message: 'images array required' }; + } + + const buffers = images.map((img) => Buffer.from(img, 'base64')); + + // Run text localization + const locClient = getPredictor('loc'); + const locResults = await locClient.request('predict', [buffers]); + + // Run OCR on found locations + const ocrClient = getPredictor('ocr'); + const results = await Promise.all( + buffers.map(async (buffer, i) => { + const locations = locResults[i]; + if (!locations || locations.length === 0) { + return { areas: [], imageSize: null }; + } + + const ocrResult = await ocrClient.request('predict', [], { + buffers: [buffer], + location: locations, + }); + + return { + areas: ocrResult, + imageSize: [856, 600], // [height, width] tuple format expected by frontend + }; + }) + ); + + return { code: 0, data: results }; + }); + + // Jianpu (simplified notation) predictor + fastify.post<{ Body: PredictorBody }>('/predict/jianpu', async (request, reply) => { + const { images } = request.body; + if (!images || images.length === 0) { + reply.code(400); + return { code: 400, message: 'images array required' }; + } + + const buffers = images.map((img) => Buffer.from(img, 'base64')); + const client = getPredictor('jianpu'); + const results = await client.request('predict', [buffers]); + + return { code: 0, data: results }; + }); + + // Viewport config - returns vision spec for semantic/gauge models + fastify.get('/predict/viewport', async () => { + return { + code: 0, + data: { + semantic: { + viewportHeight: 192, + viewportUnit: 8, + }, + gauge: { + viewportHeight: 256, + viewportUnit: 8, + }, + }, + }; + }); +} diff --git a/backend/omr-service/src/routes/regulation.ts b/backend/omr-service/src/routes/regulation.ts new file mode 100644 index 0000000000000000000000000000000000000000..600b61c37770c284d5c6f273300c8ae43f0476da --- /dev/null +++ b/backend/omr-service/src/routes/regulation.ts @@ -0,0 +1,66 @@ +import { FastifyInstance } from 'fastify'; +import { regulateWithBeadSolver, starry } from 'starry-omr'; +import { DbSolutionStore } from '../lib/dbSolutionStore.js'; +import { getPickers, isRegulationReady, regulateScore } from '../lib/regulation.js'; +import * as issueMeasureService from '../services/issueMeasure.service.js'; +import * as scoreService from '../services/score.service.js'; + +export default async function regulationRoutes(fastify: FastifyInstance) { + fastify.post<{ Body: { score: any } }>('/regulate-score', async (request, reply) => { + if (!isRegulationReady()) { + reply.code(503); + return { code: 503, message: 'Regulation service not ready' }; + } + + const { score } = request.body; + if (!score) { + reply.code(400); + return { code: 400, message: 'Missing score in request body' }; + } + + try { + const result = await regulateScore(score); + return { code: 0, data: result }; + } catch (err) { + fastify.log.error(err, '[regulate-score] regulation failed'); + reply.code(500); + return { code: 500, message: (err as Error).message }; + } + }); + + // Regulate by scoreId: loads score from DB, runs regulation to populate solution cache, does NOT save score back. + fastify.post<{ Params: { id: string } }>('/scores/:id/regulate', async (request, reply) => { + if (!isRegulationReady()) { + reply.code(503); + return { code: 503, message: 'Regulation service not ready' }; + } + + const { id } = request.params; + const scoreRow = await scoreService.getScore(id); + if (!scoreRow?.data) { + reply.code(404); + return { code: 404, message: 'Score not found' }; + } + + try { + const score = starry.recoverJSON(scoreRow.data, starry) as any; + score.assemble(); + + const stat = await regulateWithBeadSolver(score, { + pickers: getPickers(), + solutionStore: DbSolutionStore, + onSaveIssueMeasure: (data: any) => { + issueMeasureService + .upsert(id, data.measureIndex, new starry.EditableMeasure(data.measure), data.status) + .catch((err: any) => console.error('[regulate] failed to save issue measure:', err)); + }, + }); + + return { code: 0, data: { stat } }; + } catch (err) { + fastify.log.error(err, '[regulate] regulation failed'); + reply.code(500); + return { code: 500, message: (err as Error).message }; + } + }); +} diff --git a/backend/omr-service/src/routes/scores.ts b/backend/omr-service/src/routes/scores.ts new file mode 100644 index 0000000000000000000000000000000000000000..96e17928cc5bc088ef2816cee0b212addea266d0 --- /dev/null +++ b/backend/omr-service/src/routes/scores.ts @@ -0,0 +1,113 @@ +import { FastifyInstance, FastifyRequest, FastifyReply } from 'fastify'; +import * as scoreService from '../services/score.service.js'; + +interface ScoreParams { + id: string; +} + +interface PageParams extends ScoreParams { + pageIndex: string; +} + +interface ListQuery { + limit?: string; + offset?: string; +} + +interface CreateScoreBody { + title?: string; + source_url?: string; + data?: Record; +} + +interface UpdateScoreBody { + title?: string; + source_url?: string; + data?: Record; +} + +export default async function scoresRoutes(fastify: FastifyInstance) { + // List scores + fastify.get<{ Querystring: ListQuery }>('/scores', async (request, reply) => { + const limit = parseInt(request.query.limit || '50', 10); + const offset = parseInt(request.query.offset || '0', 10); + const scores = await scoreService.listScores(limit, offset); + return { scores }; + }); + + // Create score + fastify.post<{ Body: CreateScoreBody }>('/scores', async (request, reply) => { + const score = await scoreService.createScore(request.body); + reply.code(201); + return { score }; + }); + + // Get score + fastify.get<{ Params: ScoreParams }>('/scores/:id', async (request, reply) => { + const score = await scoreService.getScore(request.params.id); + if (!score) { + reply.code(404); + return { error: 'Score not found' }; + } + return { score }; + }); + + // Update score + fastify.put<{ Params: ScoreParams; Body: UpdateScoreBody }>('/scores/:id', async (request, reply) => { + const score = await scoreService.updateScore(request.params.id, request.body); + if (!score) { + reply.code(404); + return { error: 'Score not found' }; + } + return { score }; + }); + + // Delete score + fastify.delete<{ Params: ScoreParams }>('/scores/:id', async (request, reply) => { + const deleted = await scoreService.deleteScore(request.params.id); + if (!deleted) { + reply.code(404); + return { error: 'Score not found' }; + } + return { success: true }; + }); + + // Get score data directly (unwrapped) + fastify.get<{ Params: ScoreParams }>('/scores/:id/data', async (request, reply) => { + const score = await scoreService.getScore(request.params.id); + if (!score) { + reply.code(404); + return { code: 404, error: 'Score not found' }; + } + return { code: 0, data: score.data }; + }); + + // Upsert score data + fastify.put<{ Params: ScoreParams; Body: Record }>('/scores/:id/data', async (request, reply) => { + await scoreService.upsertScoreData(request.params.id, request.body); + return { code: 0, data: { success: true } }; + }); + + // Batch import from music_sets JSON files + fastify.post('/scores/import-from-music-sets', async (request, reply) => { + const result = await scoreService.importAllFromMusicSets(); + return { code: 0, data: result }; + }); + + // Get pages for a score + fastify.get<{ Params: ScoreParams }>('/scores/:id/pages', async (request, reply) => { + const pages = await scoreService.getPages(request.params.id); + return { pages }; + }); + + // Get specific page + fastify.get<{ Params: PageParams }>('/scores/:id/pages/:pageIndex', async (request, reply) => { + const pageIndex = parseInt(request.params.pageIndex, 10); + const page = await scoreService.getPage(request.params.id, pageIndex); + if (!page) { + reply.code(404); + return { error: 'Page not found' }; + } + return { page }; + }); +} diff --git a/backend/omr-service/src/routes/solutionCache.ts b/backend/omr-service/src/routes/solutionCache.ts new file mode 100644 index 0000000000000000000000000000000000000000..dbef586f8146c5e891826a78c8c88dea6f6e55b0 --- /dev/null +++ b/backend/omr-service/src/routes/solutionCache.ts @@ -0,0 +1,52 @@ +import { FastifyInstance } from 'fastify'; +import * as solutionCacheService from '../services/solutionCache.service.js'; + +interface BatchGetBody { + nameList: string[]; +} + +interface SetBody { + name: string; + value: any; +} + +interface DeleteBody { + name: string; +} + +export default async function solutionCacheRoutes(fastify: FastifyInstance) { + // Batch get solutions by hash keys + fastify.post<{ Body: BatchGetBody }>('/solutions/batchGet', async (request, reply) => { + const { nameList } = request.body || {}; + if (!Array.isArray(nameList)) { + reply.code(400); + return { code: 400, message: 'nameList must be an array' }; + } + + const data = await solutionCacheService.batchGet(nameList); + return { code: 0, data }; + }); + + // Set a solution + fastify.post<{ Body: SetBody }>('/solutions/set', async (request, reply) => { + const { name, value } = request.body || {}; + if (!name || typeof name !== 'string') { + reply.code(400); + return { code: 400, message: 'name is required' }; + } + + await solutionCacheService.set(name, value); + return { code: 0, data: { success: true } }; + }); + + // Delete a solution + fastify.post<{ Body: DeleteBody }>('/solutions/delete', async (request) => { + const { name } = request.body || {}; + if (!name) { + return { code: 400, message: 'name is required' }; + } + + await solutionCacheService.remove(name); + return { code: 0, data: { success: true } }; + }); +} diff --git a/backend/omr-service/src/routes/tag.ts b/backend/omr-service/src/routes/tag.ts new file mode 100644 index 0000000000000000000000000000000000000000..c986150ed8023b66196c00ef6f22b979ffe71f17 --- /dev/null +++ b/backend/omr-service/src/routes/tag.ts @@ -0,0 +1,70 @@ +import { FastifyInstance } from 'fastify'; +import * as tagService from '../services/tag.service.js'; + +interface TagParams { + id: string; +} + +interface CreateTagBody { + name: string; +} + +export default async function tagRoutes(fastify: FastifyInstance) { + // List all tags + fastify.get('/tags', async () => { + const tags = await tagService.listTags(); + + return { + code: 0, + data: tags, + }; + }); + + // Create tag + fastify.post<{ Body: CreateTagBody }>('/tags', async (request, reply) => { + const { name } = request.body; + + if (!name) { + reply.code(400); + return { code: 400, message: 'name is required' }; + } + + const tag = await tagService.getOrCreateTag(name); + + reply.code(201); + return { + code: 0, + data: tag, + }; + }); + + // Get tag + fastify.get<{ Params: TagParams }>('/tags/:id', async (request, reply) => { + const tag = await tagService.getTag(request.params.id); + + if (!tag) { + reply.code(404); + return { code: 404, message: 'Tag not found' }; + } + + return { + code: 0, + data: tag, + }; + }); + + // Delete tag + fastify.delete<{ Params: TagParams }>('/tags/:id', async (request, reply) => { + const deleted = await tagService.deleteTag(request.params.id); + + if (!deleted) { + reply.code(404); + return { code: 404, message: 'Tag not found' }; + } + + return { + code: 0, + data: { success: true }, + }; + }); +} diff --git a/backend/omr-service/src/routes/tasks.ts b/backend/omr-service/src/routes/tasks.ts new file mode 100644 index 0000000000000000000000000000000000000000..71aada74e64b14df9e76403dedfbb0c272f8710a --- /dev/null +++ b/backend/omr-service/src/routes/tasks.ts @@ -0,0 +1,50 @@ +import { FastifyInstance, FastifyRequest, FastifyReply } from 'fastify'; +import * as taskService from '../services/task.service.js'; + +interface TaskParams { + id: string; +} + +interface ListQuery { + score_id?: string; + status?: taskService.TaskStatus; +} + +export default async function tasksRoutes(fastify: FastifyInstance) { + // List tasks + fastify.get<{ Querystring: ListQuery }>('/tasks', async (request, reply) => { + const { score_id, status } = request.query; + const tasks = await taskService.listTasks(score_id, status); + return { tasks }; + }); + + // Get task status and progress + fastify.get<{ Params: TaskParams }>('/tasks/:id', async (request, reply) => { + const task = await taskService.getTask(request.params.id); + if (!task) { + reply.code(404); + return { error: 'Task not found' }; + } + return { task }; + }); + + // Poll task (same as get, but intended for polling) + fastify.get<{ Params: TaskParams }>('/tasks/:id/poll', async (request, reply) => { + const task = await taskService.getTask(request.params.id); + if (!task) { + reply.code(404); + return { error: 'Task not found' }; + } + + // Return a simplified response for polling + return { + id: task.id, + status: task.status, + progress: task.progress, + current_step: task.current_step, + completed: task.status === 'completed' || task.status === 'failed', + result: task.status === 'completed' ? task.result : null, + error: task.status === 'failed' ? task.error : null, + }; + }); +} diff --git a/backend/omr-service/src/routes/ws.ts b/backend/omr-service/src/routes/ws.ts new file mode 100644 index 0000000000000000000000000000000000000000..52883a6eb1f5fd75602ee68c59e411b65986d36e --- /dev/null +++ b/backend/omr-service/src/routes/ws.ts @@ -0,0 +1,81 @@ +import { FastifyInstance } from 'fastify'; +import { isRegulationReady } from '../lib/regulation.js'; +import { isRegulating, createSession, addClient, removeClientFromAll, getSession } from '../lib/regulationRegistry.js'; +import { regulateScoreWithProgress } from '../lib/regulateWithProgress.js'; + +export default async function wsRoutes(fastify: FastifyInstance) { + fastify.get('/regulate', { websocket: true }, (socket, request) => { + fastify.log.info('[ws] client connected'); + + socket.on('message', (raw: Buffer) => { + let msg: any; + try { + msg = JSON.parse(raw.toString()); + } catch { + socket.send(JSON.stringify({ type: 'error', message: 'Invalid JSON' })); + return; + } + + const { type, scoreId } = msg; + + if (type === 'regulate') { + if (!scoreId) { + socket.send(JSON.stringify({ type: 'error', message: 'Missing scoreId' })); + return; + } + + if (!isRegulationReady()) { + socket.send(JSON.stringify({ type: 'error', scoreId, message: 'Regulation service not ready' })); + return; + } + + if (isRegulating(scoreId)) { + // Attach to existing session + addClient(scoreId, socket as any); + const session = getSession(scoreId); + socket.send( + JSON.stringify({ + type: 'status_response', + scoreId, + regulating: true, + pass: session?.pass, + remaining: session?.remaining, + total: session?.total, + }) + ); + return; + } + + // Create new session, add client, then start regulation + createSession(scoreId); + addClient(scoreId, socket as any); + // Don't await — run in background + regulateScoreWithProgress(scoreId).catch((err) => { + fastify.log.error(err, '[ws] regulateScoreWithProgress failed'); + }); + } else if (type === 'status') { + if (!scoreId) { + socket.send(JSON.stringify({ type: 'error', message: 'Missing scoreId' })); + return; + } + + const session = getSession(scoreId); + socket.send( + JSON.stringify({ + type: 'status_response', + scoreId, + regulating: !!session, + pass: session?.pass, + remaining: session?.remaining, + total: session?.total, + }) + ); + } + }); + + socket.on('close', () => { + fastify.log.info('[ws] client disconnected'); + removeClientFromAll(socket as any); + }); + }); +} diff --git a/backend/omr-service/src/services/issueMeasure.service.ts b/backend/omr-service/src/services/issueMeasure.service.ts new file mode 100644 index 0000000000000000000000000000000000000000..513220e7dd9cee0232a50558888d5faa0358565b --- /dev/null +++ b/backend/omr-service/src/services/issueMeasure.service.ts @@ -0,0 +1,99 @@ +import { query } from '../db/client.js'; + +interface IssueMeasureRow { + id: string; + score_id: string; + measure_index: number; + measure: any; + status: number; + by_user: boolean; + annotator: string | null; + created_at: Date; + updated_at: Date; +} + +interface IssueMeasureResult { + id: string; + scoreId: string; + measureIndex: number; + measure: any; + status: number; + byUser: boolean; + annotator: string | null; + lastUpdate: Date; +} + +function rowToResult(row: IssueMeasureRow): IssueMeasureResult { + return { + id: row.id, + scoreId: row.score_id, + measureIndex: row.measure_index, + measure: row.measure, + status: row.status, + byUser: row.by_user, + annotator: row.annotator, + lastUpdate: row.updated_at, + }; +} + +export async function list( + scoreId: string, + { offset = 0, limit = 200, status }: { offset?: number; limit?: number; status?: number[] } = {} +): Promise<{ count: number; rows: IssueMeasureResult[] }> { + const params: any[] = [scoreId]; + let whereClause = 'WHERE score_id = $1'; + + if (status && status.length > 0) { + const placeholders = status.map((_, i) => `$${i + 2}`).join(', '); + whereClause += ` AND status IN (${placeholders})`; + params.push(...status); + } + + const countResult = await query(`SELECT COUNT(*)::int as count FROM issue_measures ${whereClause}`, params); + + const paramOffset = params.length; + const { rows } = await query( + `SELECT * FROM issue_measures ${whereClause} + ORDER BY measure_index ASC + LIMIT $${paramOffset + 1} OFFSET $${paramOffset + 2}`, + [...params, limit, offset] + ); + + return { + count: countResult.rows[0].count, + rows: rows.map(rowToResult), + }; +} + +export async function upsert(scoreId: string, measureIndex: number, measure: any, status: number, annotator?: string | null): Promise { + // Try to find existing record for this score+measure (any status) + const { rows: existing } = await query( + 'SELECT * FROM issue_measures WHERE score_id = $1 AND measure_index = $2 ORDER BY updated_at DESC LIMIT 1', + [scoreId, measureIndex] + ); + + let row: IssueMeasureRow; + // undefined = not provided (preserve existing), null = explicitly cleared + const annotatorProvided = annotator !== undefined; + + if (existing.length > 0) { + const { rows } = await query( + `UPDATE issue_measures + SET measure = $1, status = $2, annotator = ${annotatorProvided ? '$3' : 'COALESCE($3, annotator)'}, updated_at = NOW() + WHERE id = $4 + RETURNING *`, + [JSON.stringify(measure), status, annotator ?? null, existing[0].id] + ); + row = rows[0]; + } else { + const { rows } = await query( + `INSERT INTO issue_measures (score_id, measure_index, measure, status, by_user, annotator) + VALUES ($1, $2, $3, $4, false, $5) + RETURNING *`, + [scoreId, measureIndex, JSON.stringify(measure), status, annotator ?? null] + ); + row = rows[0]; + } + + return rowToResult(row); +} diff --git a/backend/omr-service/src/services/measure.service.ts b/backend/omr-service/src/services/measure.service.ts new file mode 100644 index 0000000000000000000000000000000000000000..454f9f651f1296e3c8d40300d341941c42dde99b --- /dev/null +++ b/backend/omr-service/src/services/measure.service.ts @@ -0,0 +1,494 @@ +import { existsSync } from 'fs'; +import { join } from 'path'; +import { starry } from 'starry-omr'; +import { transaction } from '../db/client.js'; +import { getPickers, isRegulationReady } from '../lib/regulation.js'; +import * as issueMeasureService from './issueMeasure.service.js'; +import { getScore } from './score.service.js'; +import * as solutionCacheService from './solutionCache.service.js'; + +const UPLOADS_DIR = process.env.UPLOADS_DIR || '/tmp/starry-uploads'; + +interface MeasureSummary { + measureIndex: number; + eventCount: number; + voiceCount: number; + regulated: boolean; + tickTwist: number | null; + timeSignature: { numerator: number; denominator: number } | null; + regulationHash: string; + qualityScore: number | null; +} + +interface MeasureIssue { + measureIndex: number; + tickTwist: number | null; + qualityScore: number; + error: boolean; + fine: boolean; + eventCount: number; +} + +async function recoverScore(scoreData: any) { + const score = starry.recoverJSON(scoreData, starry); + (score as any).spartito = undefined; + (score as any).assemble(); + const spartito = (score as any).makeSpartito(); + spartito.measures.forEach((measure: any) => (score as any).assignBackgroundForMeasure(measure)); + + // Load cached solutions for non-patched measures that have events but no regulation + const unregulated = spartito.measures.filter((m: any) => m.events?.length && !m.regulated); + if (unregulated.length > 0) { + const hashes = unregulated.map((m: any) => m.regulationHash); + const solutions = await solutionCacheService.batchGet(hashes); + for (let i = 0; i < unregulated.length; i++) { + if (solutions[i]) { + unregulated[i].applySolution(solutions[i]); + } + } + } + + return { score, spartito }; +} + +function measureToSummary(measure: any): MeasureSummary { + const evaluation = starry.evaluateMeasure(measure); + return { + measureIndex: measure.measureIndex, + eventCount: measure.events?.length ?? 0, + voiceCount: measure.voices?.length ?? 0, + regulated: !!measure.regulated, + tickTwist: evaluation?.tickTwist ?? null, + timeSignature: measure.timeSignature ? { numerator: measure.timeSignature.numerator, denominator: measure.timeSignature.denominator } : null, + regulationHash: measure.regulationHash, + qualityScore: evaluation?.qualityScore ?? null, + }; +} + +export async function getMeasures(scoreId: string) { + const score = await getScore(scoreId); + if (!score) return null; + + const { spartito } = await recoverScore(score.data); + const measures = spartito.measures.map(measureToSummary); + return { measures }; +} + +export async function getMeasure(scoreId: string, index: number) { + const score = await getScore(scoreId); + if (!score) return null; + + const { spartito } = await recoverScore(score.data); + if (index < 0 || index >= spartito.measures.length) return null; + + const measure = spartito.measures[index]; + const evaluation = starry.evaluateMeasure(measure); + + return { + measure: measure.toJSON(), + evaluation: evaluation ?? null, + }; +} + +export async function updateMeasure(scoreId: string, index: number, patch: any) { + return transaction(async (client) => { + const { rows } = await client.query('SELECT * FROM scores WHERE id = $1 FOR UPDATE', [scoreId]); + if (!rows[0]) return null; + + const scoreRow = rows[0]; + const data = scoreRow.data; + const { score, spartito } = await recoverScore(data); + if (index < 0 || index >= spartito.measures.length) return null; + + // Apply patch fields to the measure + const measure = spartito.measures[index]; + if (patch.events) measure.events = starry.recoverJSON(patch.events, starry); + if (patch.voices) measure.voices = patch.voices; + if (patch.duration !== undefined) measure.duration = patch.duration; + if (patch.contexts) measure.contexts = starry.recoverJSON(patch.contexts, starry); + if (patch.marks) measure.marks = starry.recoverJSON(patch.marks, starry); + + // Build a PatchMeasure and update score.patches + const patchMeasure = new starry.PatchMeasure({ + measureIndex: index, + staffMask: measure.staffMask, + basic: measure.basics?.[0], + events: measure.events, + contexts: measure.contexts, + marks: measure.marks, + voices: measure.voices, + }); + + const patches = (score as any).patches || []; + const existingIdx = patches.findIndex((p: any) => p.measureIndex === index); + if (existingIdx >= 0) { + patches[existingIdx] = patchMeasure; + } else { + patches.push(patchMeasure); + } + (score as any).patches = patches; + + // Write back + const updatedData = (score as any).toJSON(); + await client.query('UPDATE scores SET data = $2, updated_at = NOW() WHERE id = $1', [scoreId, JSON.stringify(updatedData)]); + + const evaluation = starry.evaluateMeasure(measure); + return { + measure: measure.toJSON(), + evaluation: evaluation ?? null, + }; + }); +} + +export async function regulateMeasure(scoreId: string, index: number) { + if (!isRegulationReady()) { + throw new Error('Regulation service not ready'); + } + + const score = await getScore(scoreId); + if (!score) return null; + + const { spartito } = await recoverScore(score.data); + if (index < 0 || index >= spartito.measures.length) return null; + + const measure = spartito.measures[index]; + if (!measure.events?.length) { + return { measure: measure.toJSON(), evaluation: null, solution: null }; + } + + const pickers = getPickers()!; + const picker = pickers.find((p: any) => p.n_seq > measure.events.length + 1); + if (!picker) { + throw new Error(`No picker available for measure with ${measure.events.length} events`); + } + + // Estimate time signature first + await starry.beadSolver.estimateMeasure(measure, picker); + + // Try simple regulation first + const simpleMeasure = measure.deepCopy(); + simpleMeasure.staffGroups = measure.staffGroups; + simpleMeasure.regulate({ policy: 'simple' }); + const simpleEval = starry.evaluateMeasure(simpleMeasure); + + // Run bead solver + const solution = await starry.beadSolver.solveMeasure(measure, { + picker, + stopLoss: 0.08, + quotaMax: 1000, + quotaFactor: 20, + ptFactor: 1.6, + }); + + const solvedMeasure = measure.deepCopy(); + solvedMeasure.staffGroups = measure.staffGroups; + solvedMeasure.applySolution(solution); + const solvedEval = starry.evaluateMeasure(solvedMeasure); + + // Use the better result + let bestMeasure, bestEval; + if (simpleEval?.perfect) { + bestMeasure = simpleMeasure; + bestEval = simpleEval; + } else if (!simpleEval || (solvedEval && solvedEval.qualityScore >= simpleEval.qualityScore)) { + bestMeasure = solvedMeasure; + bestEval = solvedEval; + } else { + bestMeasure = simpleMeasure; + bestEval = simpleEval; + } + + return { + measure: bestMeasure.toJSON(), + evaluation: bestEval ?? null, + solution: { + events: solution.events, + voices: solution.voices, + duration: solution.duration, + }, + }; +} + +export async function getIssueMeasures(scoreId: string) { + const score = await getScore(scoreId); + if (!score) return null; + + const { spartito } = await recoverScore(score.data); + const issues: MeasureIssue[] = []; + + for (const measure of spartito.measures) { + if (!measure.events?.length) continue; + + const evaluation = starry.evaluateMeasure(measure); + if (!evaluation) { + // Unregulated measures are issues + issues.push({ + measureIndex: measure.measureIndex, + tickTwist: null, + qualityScore: 0, + error: false, + fine: false, + eventCount: measure.events.length, + }); + continue; + } + + if (!evaluation.fine || evaluation.error) { + issues.push({ + measureIndex: measure.measureIndex, + tickTwist: evaluation.tickTwist, + qualityScore: evaluation.qualityScore, + error: evaluation.error, + fine: evaluation.fine, + eventCount: measure.events.length, + }); + } + } + + return { issues }; +} + +export async function updateMeasureStatus(scoreId: string, index: number, status: number) { + return transaction(async (client) => { + const { rows } = await client.query('SELECT * FROM scores WHERE id = $1 FOR UPDATE', [scoreId]); + if (!rows[0]) return null; + + const scoreRow = rows[0]; + const data = scoreRow.data; + + // Initialize measureStatuses if missing + if (!data.measureStatuses) data.measureStatuses = {}; + data.measureStatuses[index] = status; + + await client.query('UPDATE scores SET data = $2, updated_at = NOW() WHERE id = $1', [scoreId, JSON.stringify(data)]); + + return { measureIndex: index, status }; + }); +} + +export interface AnnotateBody { + fixes?: { + clearGrace?: number[]; + setDivision?: { [eventIndex: string]: { division: number; dots: number } }; + setRest?: { [eventIndex: string]: boolean }; + }; + regulate?: boolean; + policy?: string; + status?: number; + annotator?: string; +} + +export async function annotateMeasure(scoreId: string, index: number, body: AnnotateBody) { + const saved = { issueMeasure: false, solutionCache: false, scorePatch: false }; + + // Step 1-7: Apply fixes, regulate, evaluate, save score patches (in transaction) + const txResult = await transaction(async (client) => { + const { rows } = await client.query('SELECT * FROM scores WHERE id = $1 FOR UPDATE', [scoreId]); + if (!rows[0]) return null; + + const scoreRow = rows[0]; + const data = scoreRow.data; + const { score, spartito } = await recoverScore(data); + + if (index < 0 || index >= spartito.measures.length) return { error: 'invalid_index' as const }; + + const measure = spartito.measures[index]; + + // Apply fixes to events + if (body.fixes) { + const { clearGrace, setDivision, setRest } = body.fixes; + + if (clearGrace) { + for (const idx of clearGrace) { + if (measure.events[idx]) { + measure.events[idx].grace = null; + } + } + } + + if (setDivision) { + for (const [idxStr, value] of Object.entries(setDivision)) { + const idx = parseInt(idxStr, 10); + if (measure.events[idx]) { + measure.events[idx].division = value.division; + measure.events[idx].dots = value.dots; + } + } + } + + if (setRest) { + for (const [idxStr, value] of Object.entries(setRest)) { + const idx = parseInt(idxStr, 10); + if (measure.events[idx]) { + measure.events[idx].rest = value ? 'R' : null; + } + } + } + } + + // Re-regulate (unless explicitly disabled) + const policy = body.policy || 'equations'; + if (body.regulate !== false) { + // Clear existing regulation state + measure.voices = undefined; + for (const event of measure.events || []) { + event.tick = undefined; + event.tickGroup = undefined; + event.timeWarp = undefined; + } + + if (policy === 'advanced') { + if (!isRegulationReady()) { + throw new Error('Regulation service not ready'); + } + const pickers = getPickers()!; + const picker = pickers.find((p: any) => p.n_seq > measure.events.length + 1); + if (!picker) { + throw new Error(`No picker available for measure with ${measure.events.length} events`); + } + await starry.beadSolver.estimateMeasure(measure, picker); + const solution = await starry.beadSolver.solveMeasure(measure, { + picker, + stopLoss: 0.08, + quotaMax: 1000, + quotaFactor: 20, + ptFactor: 1.6, + }); + measure.applySolution(solution); + } else { + measure.regulate({ policy }); + } + } + + // Evaluate + const evaluation = starry.evaluateMeasure(measure); + + // Save score patches (inside transaction) + const patchMeasure = new starry.PatchMeasure({ + measureIndex: index, + staffMask: measure.staffMask, + basic: measure.basics?.[0], + events: measure.events, + contexts: measure.contexts, + marks: measure.marks, + voices: measure.voices, + }); + + const patches = (score as any).patches || []; + const existingIdx = patches.findIndex((p: any) => p.measureIndex === index); + if (existingIdx >= 0) { + patches[existingIdx] = patchMeasure; + } else { + patches.push(patchMeasure); + } + (score as any).patches = patches; + + const updatedData = (score as any).toJSON(); + await client.query('UPDATE scores SET data = $2, updated_at = NOW() WHERE id = $1', [scoreId, JSON.stringify(updatedData)]); + saved.scorePatch = true; + + return { measure, evaluation }; + }); + + if (!txResult) return null; + if ('error' in txResult) return txResult; + + const { measure, evaluation } = txResult; + + // Save issue_measures (outside transaction) + try { + await issueMeasureService.upsert(scoreId, index, measure.toJSON(), body.status ?? 0, body.annotator); + saved.issueMeasure = true; + } catch (err) { + console.error('[annotate] failed to save issue_measure:', err); + } + + // Save solution_cache (if regulated and has solution) + if (body.regulate !== false && measure.regulationHash) { + try { + const solution = measure.asSolution(); + if (solution) { + await solutionCacheService.set(measure.regulationHash, solution); + saved.solutionCache = true; + } + } catch (err) { + console.error('[annotate] failed to save solution_cache:', err); + } + } + + return { + measure: measure.toJSON(), + evaluation: evaluation ?? null, + saved, + }; +} + +export async function getMeasureBackground(scoreId: string, index: number) { + const score = await getScore(scoreId); + if (!score) return null; + + const { spartito } = await recoverScore(score.data); + if (index < 0 || index >= spartito.measures.length) return null; + + const measure = spartito.measures[index]; + const bgImages = measure.backgroundImages || []; + const position = measure.position || {}; + + // Build per-staff image info with crop coordinates + const staffImages: { + staff: number; + url: string; + filePath: string; + exists: boolean; + imagePosition: { x: number; y: number; width: number; height: number }; + measureCrop: { left: number; right: number; top: number; bottom: number; width: number; height: number }; + }[] = []; + + for (const bg of bgImages) { + if (bg.original) continue; // Skip full-page images + const url = bg.url || ''; + const filename = url.replace(/^\/uploads\//, ''); + const filePath = join(UPLOADS_DIR, filename); + const exists = existsSync(filePath); + const imgPos = bg.position || { x: 0, y: 0, width: 1, height: 1 }; + + // Determine which staff this image belongs to + // Image y is the top edge; staff center is near imgPos.y + imgPos.height / 2 + const staffYs = position.staffYs || []; + const imgCenterY = imgPos.y + imgPos.height / 2; + let staffIndex = staffImages.length; // fallback + for (let i = 0; i < staffYs.length; i++) { + if (Math.abs(imgCenterY - staffYs[i]) < 2) { + staffIndex = i; + break; + } + } + + // Calculate pixel crop for the measure region within this staff image + // Image coordinate space: imgPos.x to imgPos.x + imgPos.width (in units) + // We need actual pixel dimensions to compute the crop + // Scale factor will be applied by the route handler after reading image metadata + staffImages.push({ + staff: staffIndex, + url, + filePath, + exists, + imagePosition: imgPos, + measureCrop: { + left: position.left - imgPos.x, + right: position.right - imgPos.x, + top: 0, + bottom: imgPos.height, + width: position.right - position.left, + height: imgPos.height, + }, + }); + } + + return { + measureIndex: index, + measureBounds: { left: position.left, right: position.right }, + staffYs: position.staffYs || [], + staffImages, + }; +} diff --git a/backend/omr-service/src/services/musicSet.service.ts b/backend/omr-service/src/services/musicSet.service.ts new file mode 100644 index 0000000000000000000000000000000000000000..8570c28edb95add304ad7ae5184c7ecc8cda14f1 --- /dev/null +++ b/backend/omr-service/src/services/musicSet.service.ts @@ -0,0 +1,193 @@ +import { query, transaction } from '../db/client.js'; + +export interface MusicSet { + id: string; + name: string | null; + type: string; + content: { + scoreURL?: string; + images?: Array<{ name?: string; size?: number; url: string }>; + }; + status: string; + created_at: Date; + updated_at: Date; + tagList?: Array<{ id: string; name: string }>; +} + +export interface Tag { + id: string; + name: string; +} + +export interface CreateMusicSetInput { + id?: string; + name?: string; + type?: string; + content?: MusicSet['content']; +} + +export interface UpdateMusicSetInput { + name?: string; + type?: string; + content?: MusicSet['content']; + tagIdList?: string[]; +} + +export interface ListParams { + limit?: number; + offset?: number; + search?: string; + sortedBy?: string; + sortedType?: 'asc' | 'desc'; + tagIdList?: string[]; +} + +export async function createMusicSet(input: CreateMusicSetInput): Promise { + if (input.id) { + // Upsert with specific ID (for deterministic imports) + const { rows } = await query( + `INSERT INTO music_sets (id, name, type, content) + VALUES ($1, $2, $3, $4) + ON CONFLICT (id) DO UPDATE SET name = $2, type = $3, content = $4, updated_at = NOW() + RETURNING *`, + [input.id, input.name || null, input.type || 'stave', JSON.stringify(input.content || {})] + ); + return rows[0]; + } + const { rows } = await query( + `INSERT INTO music_sets (name, type, content) + VALUES ($1, $2, $3) + RETURNING *`, + [input.name || null, input.type || 'stave', JSON.stringify(input.content || {})] + ); + return rows[0]; +} + +export async function getMusicSet(id: string): Promise { + const { rows } = await query( + `SELECT ms.*, + (SELECT COALESCE(json_agg(json_build_object('id', t.id, 'name', t.name)), '[]'::json) + FROM music_set_tags mst + JOIN tags t ON mst.tag_id = t.id + WHERE mst.music_set_id = ms.id) as "tagList" + FROM music_sets ms + WHERE ms.id = $1`, + [id] + ); + return rows[0] || null; +} + +export async function listMusicSets(params: ListParams): Promise<{ rows: MusicSet[]; count: number }> { + const { limit = 50, offset = 0, search, sortedBy = 'updated_at', sortedType = 'desc', tagIdList } = params; + + // Build WHERE clause + const conditions: string[] = []; + const values: any[] = []; + let paramIndex = 1; + + if (search) { + conditions.push(`ms.name ILIKE $${paramIndex++}`); + values.push(`%${search}%`); + } + + if (tagIdList && tagIdList.length > 0) { + conditions.push(`ms.id IN (SELECT music_set_id FROM music_set_tags WHERE tag_id = ANY($${paramIndex++}::uuid[]))`); + values.push(tagIdList); + } + + const whereClause = conditions.length > 0 ? `WHERE ${conditions.join(' AND ')}` : ''; + + // Validate sortedBy to prevent SQL injection + const allowedSortFields = ['name', 'type', 'updated_at', 'created_at']; + const sortField = allowedSortFields.includes(sortedBy) ? sortedBy : 'updated_at'; + const sortOrder = sortedType === 'asc' ? 'ASC' : 'DESC'; + + // Get count + const countResult = await query<{ count: string }>(`SELECT COUNT(*) as count FROM music_sets ms ${whereClause}`, values); + const count = parseInt(countResult.rows[0].count, 10); + + // Get rows with tags + values.push(limit, offset); + const { rows } = await query( + `SELECT ms.*, + (SELECT COALESCE(json_agg(json_build_object('id', t.id, 'name', t.name)), '[]'::json) + FROM music_set_tags mst + JOIN tags t ON mst.tag_id = t.id + WHERE mst.music_set_id = ms.id) as "tagList" + FROM music_sets ms + ${whereClause} + ORDER BY ms.${sortField} ${sortOrder} + LIMIT $${paramIndex++} OFFSET $${paramIndex++}`, + values + ); + + return { rows, count }; +} + +export async function updateMusicSet(id: string, input: UpdateMusicSetInput): Promise { + return transaction(async (client) => { + const updates: string[] = []; + const values: any[] = []; + let paramIndex = 1; + + if (input.name !== undefined) { + updates.push(`name = $${paramIndex++}`); + values.push(input.name); + } + if (input.type !== undefined) { + updates.push(`type = $${paramIndex++}`); + values.push(input.type); + } + if (input.content !== undefined) { + updates.push(`content = $${paramIndex++}`); + values.push(JSON.stringify(input.content)); + } + + if (updates.length > 0) { + updates.push(`updated_at = NOW()`); + values.push(id); + + await client.query(`UPDATE music_sets SET ${updates.join(', ')} WHERE id = $${paramIndex}`, values); + } + + // Update tags if provided + if (input.tagIdList !== undefined) { + await client.query('DELETE FROM music_set_tags WHERE music_set_id = $1', [id]); + for (const tagId of input.tagIdList) { + await client.query('INSERT INTO music_set_tags (music_set_id, tag_id) VALUES ($1, $2) ON CONFLICT DO NOTHING', [id, tagId]); + } + } + + // Return updated music set with tags + const { rows } = await client.query( + `SELECT ms.*, + (SELECT COALESCE(json_agg(json_build_object('id', t.id, 'name', t.name)), '[]'::json) + FROM music_set_tags mst + JOIN tags t ON mst.tag_id = t.id + WHERE mst.music_set_id = ms.id) as "tagList" + FROM music_sets ms + WHERE ms.id = $1`, + [id] + ); + return rows[0] || null; + }); +} + +export async function deleteMusicSet(id: string): Promise { + const { rowCount } = await query('DELETE FROM music_sets WHERE id = $1', [id]); + return (rowCount ?? 0) > 0; +} + +export async function bindTag(musicSetId: string, tagId: string): Promise { + try { + await query('INSERT INTO music_set_tags (music_set_id, tag_id) VALUES ($1, $2) ON CONFLICT DO NOTHING', [musicSetId, tagId]); + return true; + } catch { + return false; + } +} + +export async function unbindTag(musicSetId: string, tagId: string): Promise { + const { rowCount } = await query('DELETE FROM music_set_tags WHERE music_set_id = $1 AND tag_id = $2', [musicSetId, tagId]); + return (rowCount ?? 0) > 0; +} diff --git a/backend/omr-service/src/services/predict-pages.ts b/backend/omr-service/src/services/predict-pages.ts new file mode 100644 index 0000000000000000000000000000000000000000..82077c419a1f87827d51c942bc246bdc7a274b42 --- /dev/null +++ b/backend/omr-service/src/services/predict-pages.ts @@ -0,0 +1,156 @@ +/** + * Thin wrapper around predictPages from starry-omr. + * + * Handles webp→png conversion, saves images to uploads dir, + * and reports progress via the task service. + */ +import { createHash } from 'crypto'; +import { existsSync } from 'fs'; +import { writeFile } from 'fs/promises'; +import { join } from 'path'; +import sharp from 'sharp'; +import type { LayoutResult, OMRPage, ProgressState } from 'starry-omr'; +import { predictPages, PyClients } from 'starry-omr'; +import { config } from '../config.js'; +import * as scoreService from './score.service.js'; +import * as taskService from './task.service.js'; + +export type { LayoutResult }; + +// skia-canvas loadImage(Buffer) only supports PNG/JPEG/GIF/BMP, NOT webp. +// Use sharp to convert unsupported formats to PNG. +async function ensurePng(buf: Buffer): Promise { + // Check magic bytes: PNG starts with 89 50 4E 47, JPEG with FF D8 + if (buf[0] === 0x89 && buf[1] === 0x50) return buf; // PNG + if (buf[0] === 0xff && buf[1] === 0xd8) return buf; // JPEG + // Everything else (webp, etc.) — convert to PNG + return sharp(buf).png().toBuffer(); +} + +const UPLOADS_DIR = process.env.UPLOADS_DIR || '/tmp/starry-uploads'; + +export interface PredictPagesOptions { + taskId: string; + scoreId: string; + images: Array<{ + data: Buffer; + layout?: LayoutResult; + enableGauge?: boolean; + }>; + outputWidth?: number; + processes?: string[]; +} + +// ─── Image persistence helpers ──────────────────────────────────────────── + +function md5Short(buf: Buffer): string { + return createHash('md5').update(buf).digest('hex').slice(0, 12); +} + +async function saveImageToUploads(buf: Buffer, prefix: string, ext = 'png'): Promise { + const hash = md5Short(buf); + const filename = `${prefix}_${hash}.${ext}`; + const filepath = join(UPLOADS_DIR, filename); + if (!existsSync(filepath)) { + await writeFile(filepath, buf); + } + return `/uploads/${filename}`; +} + +// ─── Progress mapping ───────────────────────────────────────────────────── + +function progressToPercent(state: ProgressState): number { + // Map multi-stage progress to a 10–90% range + const stages: (keyof ProgressState)[] = ['layout', 'gauge', 'semantic', 'mask', 'text', 'brackets']; + let totalWeight = 0; + let doneWeight = 0; + + for (const stage of stages) { + const s = state[stage]; + if (s && s.total) { + totalWeight += s.total; + doneWeight += s.finished || 0; + } + } + + if (totalWeight === 0) return 10; + return 10 + Math.floor((doneWeight / totalWeight) * 80); +} + +// ─── Main pipeline ───────────────────────────────────────────────────────── + +export async function predictPagesService(options: PredictPagesOptions): Promise { + const { taskId, scoreId, images, outputWidth = 1200, processes = ['semantic', 'mask', 'brackets', 'text'] } = options; + + try { + await taskService.updateTaskStatus(taskId, 'running', 0, 'initializing'); + + // Create PyClients from config addresses + // PyClients keys must match PredictorInterface: textLoc/textOcr (not loc/ocr) + const pyClients = new PyClients({ + layout: config.predictors.layout, + semantic: config.predictors.semantic, + mask: config.predictors.mask, + gauge: config.predictors.gauge, + gaugeRenderer: config.predictors.gaugeRenderer, + textLoc: config.predictors.loc, + textOcr: config.predictors.ocr, + brackets: config.predictors.brackets, + }); + + // Build OMRPage[] from input buffers (with ensurePng for webp support) + await taskService.updateTaskStatus(taskId, 'running', 5, 'loading images'); + const omrPages: OMRPage[] = await Promise.all( + images.map(async (img) => ({ + url: await ensurePng(img.data), + layout: img.layout, + enableGauge: img.enableGauge, + })) + ); + + console.log(`[predict-pages] Processing ${omrPages.length} pages...`); + + // Custom onReplaceImage: save Buffers to uploads dir, return /uploads/ URLs + const prefix = `pp_${scoreId.slice(0, 8)}`; + const onReplaceImage = async (src: string | Buffer): Promise => { + if (src instanceof Buffer) { + return saveImageToUploads(src, prefix); + } + return src as string; + }; + + // Call the original predictPages — all coordinate logic lives there + const { score } = await predictPages(pyClients, omrPages, { + outputWidth, + processes: processes as (keyof ProgressState)[], + onReplaceImage, + onProgress: (state) => { + const pct = progressToPercent(state); + taskService.updateTaskStatus(taskId, 'running', pct, 'predicting').catch(() => {}); + }, + }); + + // Finalize + await taskService.updateTaskStatus(taskId, 'running', 95, 'saving score'); + + console.log(`[predict-pages] Score: ${score.systems.length} systems, staffLayout=${score.staffLayoutCode}`); + + // Save to DB + await scoreService.updateScore(scoreId, { data: (score as any).toJSON() }); + + // Complete task + await taskService.setTaskResult(taskId, { + systems: score.systems.length, + staffLayout: score.staffLayoutCode, + pageSize: score.pageSize, + unitSize: score.unitSize, + }); + + console.log(`[predict-pages] Done! Score ${scoreId} saved.`); + } catch (error) { + const errorMessage = error instanceof Error ? error.message : String(error); + console.error(`[predict-pages] Failed:`, error); + await taskService.setTaskError(taskId, errorMessage); + throw error; + } +} diff --git a/backend/omr-service/src/services/predictor.service.ts b/backend/omr-service/src/services/predictor.service.ts new file mode 100644 index 0000000000000000000000000000000000000000..5716e162814516935508e48ce818c5e0e34b20e0 --- /dev/null +++ b/backend/omr-service/src/services/predictor.service.ts @@ -0,0 +1,370 @@ +import { getPredictor, predictLayout, predictLoc, type LayoutResult } from '../lib/zero-client.js'; +import * as scoreService from './score.service.js'; +import * as taskService from './task.service.js'; + +export interface PredictPageOptions { + taskId: string; + scoreId: string; + pageIndex: number; + imageData: Buffer; +} + +export interface PredictAllOptions { + taskId: string; + scoreId: string; + imageDataList: Buffer[]; +} + +export interface PredictWithLayoutOptions { + taskId: string; + scoreId: string; + imageDataList: Buffer[]; + layoutList: any[]; // Pre-computed layout detection results per page +} + +/** + * Extract staff image buffers from layout detection result. + * Layout detection includes PNG-encoded staff images in detection.areas[].staff_images[].image. + */ +function extractStaffImages(layout: LayoutResult): Buffer[] { + const staffImages: Buffer[] = []; + if (layout?.detection?.areas) { + for (const area of layout.detection.areas) { + if (area.staff_images) { + for (const si of area.staff_images) { + if (si.image) { + staffImages.push(Buffer.from(si.image)); + } + } + } + } + } + return staffImages; +} + +// Process a single page through the OMR pipeline +export async function predictPage(options: PredictPageOptions): Promise> { + const { taskId, scoreId, pageIndex, imageData } = options; + + try { + // Step 1: Layout detection (full page image) + await taskService.updateTaskStatus(taskId, 'running', 0, 'layout detection'); + const layout = await predictLayout(imageData); + + // Extract staff images from layout result for downstream predictors + const staffImages = extractStaffImages(layout); + console.log(`[predict] Layout detected: ${layout?.detection?.areas?.length ?? 0} systems, ${staffImages.length} staves`); + + // Step 2: Semantic recognition (staff images) + let semantic: any[] | null = null; + if (staffImages.length > 0) { + await taskService.updateTaskStatus(taskId, 'running', 15, `semantic recognition (${staffImages.length} staves)`); + try { + const client = getPredictor('semantic'); + semantic = await client.request('predict', [staffImages]); + } catch (e) { + console.error('[predict] semantic failed:', e instanceof Error ? e.message : e); + } + } + + // Step 3: Mask prediction (staff images) + let mask: any[] | null = null; + if (staffImages.length > 0) { + await taskService.updateTaskStatus(taskId, 'running', 40, `mask prediction (${staffImages.length} staves)`); + try { + const client = getPredictor('mask'); + mask = await client.request('predict', [staffImages], { by_buffer: true }); + } catch (e) { + console.error('[predict] mask failed:', e instanceof Error ? e.message : e); + } + } + + // Step 4: Gauge detection (staff images — skip for now, it's for warp correction) + let gauge: any[] | null = null; + // Gauge requires 256px viewport height (vs 192px for semantic/mask). + // Current staff images are 192px. Skip gauge for basic pipeline. + + // Step 5: Text localization (full page image) + await taskService.updateTaskStatus(taskId, 'running', 60, 'text localization'); + let loc = null; + try { + loc = await predictLoc(imageData); + } catch (e) { + console.error('[predict] loc failed:', e instanceof Error ? e.message : e); + } + + // OCR and brackets services are disabled + await taskService.updateTaskStatus(taskId, 'running', 95, 'saving results'); + + // Compile results + const result = { + layout, + gauge, + mask, + semantic, + loc, + ocr: null, + brackets: null, + }; + + // Save to page data + await scoreService.updatePageData(scoreId, pageIndex, result); + + // Complete task + await taskService.setTaskResult(taskId, result); + + return result; + } catch (error) { + const errorMessage = error instanceof Error ? error.message : String(error); + await taskService.setTaskError(taskId, errorMessage); + throw error; + } +} + +// Process all pages of a score +export async function predictAll(options: PredictAllOptions): Promise> { + const { taskId, scoreId, imageDataList } = options; + const totalPages = imageDataList.length; + const results: Record[] = []; + + try { + await taskService.updateTaskStatus(taskId, 'running', 0, `processing page 1/${totalPages}`); + + for (let i = 0; i < totalPages; i++) { + const pageProgress = Math.floor((i / totalPages) * 100); + await taskService.updateTaskStatus(taskId, 'running', pageProgress, `processing page ${i + 1}/${totalPages}`); + + const imageData = imageDataList[i]; + + // Run the pipeline for each page + const layout = await predictLayout(imageData); + const staffImages = extractStaffImages(layout); + + let semantic: any[] | null = null; + if (staffImages.length > 0) { + try { + const client = getPredictor('semantic'); + semantic = await client.request('predict', [staffImages]); + } catch (e) { + console.error(`[predict] page ${i} semantic failed:`, e instanceof Error ? e.message : e); + } + } + + let mask: any[] | null = null; + if (staffImages.length > 0) { + try { + const client = getPredictor('mask'); + mask = await client.request('predict', [staffImages], { by_buffer: true }); + } catch (e) { + console.error(`[predict] page ${i} mask failed:`, e instanceof Error ? e.message : e); + } + } + + let loc = null; + try { + loc = await predictLoc(imageData); + } catch (e) { + console.error(`[predict] page ${i} loc failed:`, e instanceof Error ? e.message : e); + } + + const pageResult = { + pageIndex: i, + layout, + gauge: null, + mask, + semantic, + loc, + ocr: null, + brackets: null, + }; + + results.push(pageResult); + + // Save each page result + await scoreService.updatePageData(scoreId, i, pageResult); + } + + const finalResult = { pages: results, totalPages }; + await taskService.setTaskResult(taskId, finalResult); + + return finalResult; + } catch (error) { + const errorMessage = error instanceof Error ? error.message : String(error); + await taskService.setTaskError(taskId, errorMessage); + throw error; + } +} + +const STAFF_PADDING_LEFT = 32; +const STAFF_HEIGHT_UNITS = 24; +const UNIT_SIZE = 8; +const STAFF_HEIGHT_PX = STAFF_HEIGHT_UNITS * UNIT_SIZE; // 192 + +/** + * Extract staff images from a page image using pre-computed layout data. + * Mimics the Python layout service's cv2.remap extraction: + * - Crops a region around each staff center (middleRho) + * - Scales to 192px height with proper unit scaling + * - Adds STAFF_PADDING_LEFT padding on the left + */ +async function extractStaffImagesFromPage(imageData: Buffer, layout: any): Promise<{ staffImages: Buffer[]; enrichedLayout: any }> { + const sharp = (await import('sharp')).default; + const staffImages: Buffer[] = []; + + if (!layout?.detection?.areas) { + return { staffImages, enrichedLayout: layout }; + } + + const pageMetadata = await sharp(imageData).metadata(); + const pageWidth = pageMetadata.width!; + const pageHeight = pageMetadata.height!; + + // Build sourceSize if not present + if (!layout.sourceSize) { + layout.sourceSize = { width: pageWidth, height: pageHeight }; + } + + const interval = layout.interval || layout.detection?.interval || 10; + + for (const area of layout.detection.areas) { + const areaInterval = area.staves?.interval || interval; + const unitScaling = UNIT_SIZE / areaInterval; + const middleRhos = area.staves?.middleRhos || []; + + // Replace existing staff_images (mining data has entries without image buffers) + area.staff_images = []; + + for (const rho of middleRhos) { + // Calculate crop region in source image coordinates + // The staff image is centered on rho, with height = 192 / unitScaling pixels in source + const srcHeight = Math.round(STAFF_HEIGHT_PX / unitScaling); + const srcTop = Math.round(area.y + rho - srcHeight / 2); + const srcLeft = Math.round(area.x - STAFF_PADDING_LEFT / unitScaling); + const srcWidth = Math.round(area.width + STAFF_PADDING_LEFT / unitScaling); + + // Clamp to image bounds + const cropLeft = Math.max(0, srcLeft); + const cropTop = Math.max(0, srcTop); + const cropWidth = Math.min(srcWidth - (cropLeft - srcLeft), pageWidth - cropLeft); + const cropHeight = Math.min(srcHeight - (cropTop - srcTop), pageHeight - cropTop); + + if (cropWidth <= 0 || cropHeight <= 0) { + continue; + } + + // Target dimensions + const targetWidth = Math.round(area.width * unitScaling) + STAFF_PADDING_LEFT; + const targetHeight = STAFF_HEIGHT_PX; + + try { + // Crop and resize to standard staff image dimensions + const staffBuffer = await sharp(imageData) + .extract({ left: cropLeft, top: cropTop, width: cropWidth, height: cropHeight }) + .resize(targetWidth, targetHeight, { fit: 'fill' }) + .png() + .toBuffer(); + + staffImages.push(staffBuffer); + + // Store staff image metadata in layout (matching Python service format) + area.staff_images.push({ + hash: null, + image: { type: 'Buffer', data: Array.from(staffBuffer) }, + position: { + x: -STAFF_PADDING_LEFT / UNIT_SIZE, + y: -STAFF_HEIGHT_UNITS / 2, + width: targetWidth / UNIT_SIZE, + height: STAFF_HEIGHT_UNITS, + }, + }); + } catch (e) { + console.error(`[predict] staff crop failed for rho=${rho}:`, e instanceof Error ? e.message : e); + } + } + } + + return { staffImages, enrichedLayout: layout }; +} + +// Process pages with pre-computed layout data (skip layout detection) +export async function predictWithLayout(options: PredictWithLayoutOptions): Promise> { + const { taskId, scoreId, imageDataList, layoutList } = options; + const totalPages = imageDataList.length; + const results: Record[] = []; + + try { + for (let i = 0; i < totalPages; i++) { + const pageProgress = Math.floor((i / totalPages) * 100); + await taskService.updateTaskStatus(taskId, 'running', pageProgress, `processing page ${i + 1}/${totalPages}`); + + const imageData = imageDataList[i]; + const preLayout = layoutList[i] || null; + + let layout: any; + let staffImages: Buffer[]; + + if (preLayout && preLayout.detection?.areas?.length > 0) { + // Use pre-computed layout: extract staff images from page image + const result = await extractStaffImagesFromPage(imageData, JSON.parse(JSON.stringify(preLayout))); + layout = result.enrichedLayout; + staffImages = result.staffImages; + console.log(`[predict] Page ${i}: using pre-computed layout: ${layout.detection.areas.length} systems, ${staffImages.length} staves`); + } else { + // No pre-computed layout: fall back to layout detection + layout = await predictLayout(imageData); + staffImages = extractStaffImages(layout); + console.log(`[predict] Page ${i}: layout detection: ${layout?.detection?.areas?.length ?? 0} systems, ${staffImages.length} staves`); + } + + let semantic: any[] | null = null; + if (staffImages.length > 0) { + try { + const client = getPredictor('semantic'); + semantic = await client.request('predict', [staffImages]); + } catch (e) { + console.error(`[predict] page ${i} semantic failed:`, e instanceof Error ? e.message : e); + } + } + + let mask: any[] | null = null; + if (staffImages.length > 0) { + try { + const client = getPredictor('mask'); + mask = await client.request('predict', [staffImages], { by_buffer: true }); + } catch (e) { + console.error(`[predict] page ${i} mask failed:`, e instanceof Error ? e.message : e); + } + } + + let loc = null; + try { + loc = await predictLoc(imageData); + } catch (e) { + console.error(`[predict] page ${i} loc failed:`, e instanceof Error ? e.message : e); + } + + const pageResult = { + pageIndex: i, + layout, + gauge: null, + mask, + semantic, + loc, + ocr: null, + brackets: null, + }; + + results.push(pageResult); + await scoreService.updatePageData(scoreId, i, pageResult); + } + + const finalResult = { pages: results, totalPages }; + await taskService.setTaskResult(taskId, finalResult); + + return finalResult; + } catch (error) { + const errorMessage = error instanceof Error ? error.message : String(error); + await taskService.setTaskError(taskId, errorMessage); + throw error; + } +} diff --git a/backend/omr-service/src/services/score.service.ts b/backend/omr-service/src/services/score.service.ts new file mode 100644 index 0000000000000000000000000000000000000000..63bab0fb897d5ebf8a17e52ab91cbc406280907b --- /dev/null +++ b/backend/omr-service/src/services/score.service.ts @@ -0,0 +1,193 @@ +import { v4 as uuidv4 } from 'uuid'; +import { query, transaction } from '../db/client.js'; + +export interface Score { + id: string; + title: string | null; + source_url: string | null; + page_count: number; + data: Record; + created_at: Date; + updated_at: Date; +} + +export interface Page { + id: string; + score_id: string; + page_index: number; + image_path: string | null; + width: number | null; + height: number | null; + data: Record; + created_at: Date; +} + +export interface CreateScoreInput { + title?: string; + source_url?: string; + data?: Record; +} + +export interface UpdateScoreInput { + title?: string; + source_url?: string; + data?: Record; +} + +export async function createScore(input: CreateScoreInput): Promise { + const { rows } = await query( + `INSERT INTO scores (title, source_url, data) + VALUES ($1, $2, $3) + RETURNING *`, + [input.title || null, input.source_url || null, JSON.stringify(input.data || {})] + ); + return rows[0]; +} + +export async function getScore(id: string): Promise { + const { rows } = await query('SELECT * FROM scores WHERE id = $1', [id]); + return rows[0] || null; +} + +export async function listScores(limit = 50, offset = 0): Promise { + const { rows } = await query('SELECT * FROM scores ORDER BY created_at DESC LIMIT $1 OFFSET $2', [limit, offset]); + return rows; +} + +export async function updateScore(id: string, input: UpdateScoreInput): Promise { + const updates: string[] = []; + const values: any[] = []; + let paramIndex = 1; + + if (input.title !== undefined) { + updates.push(`title = $${paramIndex++}`); + values.push(input.title); + } + if (input.source_url !== undefined) { + updates.push(`source_url = $${paramIndex++}`); + values.push(input.source_url); + } + if (input.data !== undefined) { + updates.push(`data = $${paramIndex++}`); + values.push(JSON.stringify(input.data)); + } + + if (updates.length === 0) { + return getScore(id); + } + + updates.push(`updated_at = NOW()`); + values.push(id); + + const { rows } = await query(`UPDATE scores SET ${updates.join(', ')} WHERE id = $${paramIndex} RETURNING *`, values); + return rows[0] || null; +} + +export async function deleteScore(id: string): Promise { + const { rowCount } = await query('DELETE FROM scores WHERE id = $1', [id]); + return (rowCount ?? 0) > 0; +} + +// Page operations +export async function createPage( + scoreId: string, + pageIndex: number, + imagePath?: string | null, + width?: number | null, + height?: number | null, + data?: Record +): Promise { + const { rows } = await query( + `INSERT INTO pages (score_id, page_index, image_path, width, height, data) + VALUES ($1, $2, $3, $4, $5, $6) + ON CONFLICT (score_id, page_index) DO UPDATE SET + image_path = EXCLUDED.image_path, + width = EXCLUDED.width, + height = EXCLUDED.height, + data = EXCLUDED.data + RETURNING *`, + [scoreId, pageIndex, imagePath || null, width || null, height || null, JSON.stringify(data || {})] + ); + + // Update page count + await query( + `UPDATE scores SET page_count = (SELECT COUNT(*) FROM pages WHERE score_id = $1), updated_at = NOW() + WHERE id = $1`, + [scoreId] + ); + + return rows[0]; +} + +export async function getPages(scoreId: string): Promise { + const { rows } = await query('SELECT * FROM pages WHERE score_id = $1 ORDER BY page_index', [scoreId]); + return rows; +} + +export async function getPage(scoreId: string, pageIndex: number): Promise { + const { rows } = await query('SELECT * FROM pages WHERE score_id = $1 AND page_index = $2', [scoreId, pageIndex]); + return rows[0] || null; +} + +export async function updatePageData(scoreId: string, pageIndex: number, data: Record): Promise { + const { rows } = await query(`UPDATE pages SET data = $3 WHERE score_id = $1 AND page_index = $2 RETURNING *`, [ + scoreId, + pageIndex, + JSON.stringify(data), + ]); + return rows[0] || null; +} + +// Upsert score data — creates if not exists, updates if exists +export async function upsertScoreData(id: string, data: Record): Promise { + const { rows } = await query( + `INSERT INTO scores (id, data) + VALUES ($1, $2) + ON CONFLICT (id) DO UPDATE SET data = $2, updated_at = NOW() + RETURNING *`, + [id, JSON.stringify(data)] + ); + return rows[0]; +} + +// Batch import score data from music_sets JSON files +export async function importAllFromMusicSets(): Promise<{ total: number; imported: number; failed: number; errors: string[] }> { + const { readFile } = await import('fs/promises'); + const { join } = await import('path'); + const { existsSync } = await import('fs'); + + const UPLOADS_DIR = process.env.UPLOADS_DIR || '/tmp/starry-uploads'; + + // Get all music_sets with a scoreURL + const { rows: musicSets } = await query<{ id: string; content: any }>(`SELECT id, content FROM music_sets WHERE content->>'scoreURL' IS NOT NULL`); + + const result = { total: musicSets.length, imported: 0, failed: 0, errors: [] as string[] }; + + for (const ms of musicSets) { + try { + const scoreURL: string = ms.content?.scoreURL; + if (!scoreURL) continue; + + // Extract filename from URL like /uploads/xxx.json + const filename = scoreURL.replace(/^\/uploads\//, ''); + const filePath = join(UPLOADS_DIR, filename); + + if (!existsSync(filePath)) { + result.errors.push(`${ms.id}: file not found: ${filename}`); + result.failed++; + continue; + } + + const jsonStr = await readFile(filePath, 'utf-8'); + const data = JSON.parse(jsonStr); + + await upsertScoreData(ms.id, data); + result.imported++; + } catch (err: any) { + result.errors.push(`${ms.id}: ${err.message}`); + result.failed++; + } + } + + return result; +} diff --git a/backend/omr-service/src/services/solutionCache.service.ts b/backend/omr-service/src/services/solutionCache.service.ts new file mode 100644 index 0000000000000000000000000000000000000000..18116067aa9feb263e5c95d5719b55138238f541 --- /dev/null +++ b/backend/omr-service/src/services/solutionCache.service.ts @@ -0,0 +1,40 @@ +import { query } from '../db/client.js'; + +export async function batchGet(nameList: string[]): Promise { + if (!nameList || nameList.length === 0) return []; + + // Build parameterized query for IN clause + const placeholders = nameList.map((_, i) => `$${i + 1}`).join(', '); + const { rows } = await query(`SELECT name, value FROM solution_cache WHERE name IN (${placeholders})`, nameList); + + // Build a map for O(1) lookup, return results in request order + const map = new Map(rows.map((r) => [r.name, r.value])); + return nameList.map((name) => map.get(name) ?? null); +} + +export async function set(name: string, value: any): Promise { + if (value === null || value === undefined) { + await query('DELETE FROM solution_cache WHERE name = $1', [name]); + return; + } + + const priority = typeof value.priority === 'number' ? value.priority : null; + + // Upsert with priority check: only overwrite if new priority >= old priority + await query( + `INSERT INTO solution_cache (name, value, priority, updated_at) + VALUES ($1, $2, $3, NOW()) + ON CONFLICT (name) DO UPDATE SET + value = EXCLUDED.value, + priority = EXCLUDED.priority, + updated_at = NOW() + WHERE solution_cache.priority IS NULL + OR EXCLUDED.priority IS NULL + OR EXCLUDED.priority >= solution_cache.priority`, + [name, JSON.stringify(value), priority] + ); +} + +export async function remove(name: string): Promise { + await query('DELETE FROM solution_cache WHERE name = $1', [name]); +} diff --git a/backend/omr-service/src/services/tag.service.ts b/backend/omr-service/src/services/tag.service.ts new file mode 100644 index 0000000000000000000000000000000000000000..0b95b4cb7c9b039342a47b0437471fbb6aad6fe7 --- /dev/null +++ b/backend/omr-service/src/services/tag.service.ts @@ -0,0 +1,40 @@ +import { query } from '../db/client.js'; + +export interface Tag { + id: string; + name: string; + created_at: Date; +} + +export async function createTag(name: string): Promise { + const { rows } = await query(`INSERT INTO tags (name) VALUES ($1) RETURNING *`, [name]); + return rows[0]; +} + +export async function getTagByName(name: string): Promise { + const { rows } = await query('SELECT * FROM tags WHERE name = $1', [name]); + return rows[0] || null; +} + +export async function getOrCreateTag(name: string): Promise { + const existing = await getTagByName(name); + if (existing) { + return existing; + } + return createTag(name); +} + +export async function listTags(): Promise { + const { rows } = await query('SELECT * FROM tags ORDER BY name'); + return rows; +} + +export async function getTag(id: string): Promise { + const { rows } = await query('SELECT * FROM tags WHERE id = $1', [id]); + return rows[0] || null; +} + +export async function deleteTag(id: string): Promise { + const { rowCount } = await query('DELETE FROM tags WHERE id = $1', [id]); + return (rowCount ?? 0) > 0; +} diff --git a/backend/omr-service/src/services/task.service.ts b/backend/omr-service/src/services/task.service.ts new file mode 100644 index 0000000000000000000000000000000000000000..e6912903a40619cb48443f3bd7167909705d39e5 --- /dev/null +++ b/backend/omr-service/src/services/task.service.ts @@ -0,0 +1,120 @@ +import { query } from '../db/client.js'; + +export type TaskStatus = 'pending' | 'running' | 'completed' | 'failed'; +export type TaskType = 'predict_page' | 'predict_all' | 'predict_custom'; + +export interface Task { + id: string; + score_id: string; + type: TaskType; + status: TaskStatus; + progress: number; + current_step: string | null; + result: Record | null; + error: string | null; + created_at: Date; + started_at: Date | null; + completed_at: Date | null; +} + +export interface CreateTaskInput { + score_id: string; + type: TaskType; +} + +export async function createTask(input: CreateTaskInput): Promise { + const { rows } = await query( + `INSERT INTO tasks (score_id, type) + VALUES ($1, $2) + RETURNING *`, + [input.score_id, input.type] + ); + return rows[0]; +} + +export async function getTask(id: string): Promise { + const { rows } = await query('SELECT * FROM tasks WHERE id = $1', [id]); + return rows[0] || null; +} + +export async function listTasks(scoreId?: string, status?: TaskStatus): Promise { + let sql = 'SELECT * FROM tasks'; + const conditions: string[] = []; + const values: any[] = []; + let paramIndex = 1; + + if (scoreId) { + conditions.push(`score_id = $${paramIndex++}`); + values.push(scoreId); + } + if (status) { + conditions.push(`status = $${paramIndex++}`); + values.push(status); + } + + if (conditions.length > 0) { + sql += ' WHERE ' + conditions.join(' AND '); + } + sql += ' ORDER BY created_at DESC'; + + const { rows } = await query(sql, values); + return rows; +} + +export async function updateTaskStatus(id: string, status: TaskStatus, progress?: number, currentStep?: string): Promise { + const updates: string[] = ['status = $2']; + const values: any[] = [id, status]; + let paramIndex = 3; + + if (progress !== undefined) { + updates.push(`progress = $${paramIndex++}`); + values.push(progress); + } + if (currentStep !== undefined) { + updates.push(`current_step = $${paramIndex++}`); + values.push(currentStep); + } + + if (status === 'running') { + updates.push('started_at = NOW()'); + } else if (status === 'completed' || status === 'failed') { + updates.push('completed_at = NOW()'); + } + + const { rows } = await query(`UPDATE tasks SET ${updates.join(', ')} WHERE id = $1 RETURNING *`, values); + return rows[0] || null; +} + +export async function setTaskResult(id: string, result: Record): Promise { + const { rows } = await query( + `UPDATE tasks SET result = $2, status = 'completed', progress = 100, completed_at = NOW() + WHERE id = $1 RETURNING *`, + [id, JSON.stringify(result)] + ); + return rows[0] || null; +} + +export async function setTaskError(id: string, error: string): Promise { + const { rows } = await query( + `UPDATE tasks SET error = $2, status = 'failed', completed_at = NOW() + WHERE id = $1 RETURNING *`, + [id, error] + ); + return rows[0] || null; +} + +export async function getPendingTasks(limit = 10): Promise { + const { rows } = await query(`SELECT * FROM tasks WHERE status = 'pending' ORDER BY created_at LIMIT $1`, [limit]); + return rows; +} + +export async function claimTask(id: string): Promise { + // Atomic update to prevent race conditions + const { rows } = await query( + `UPDATE tasks SET status = 'running', started_at = NOW() + WHERE id = $1 AND status = 'pending' + RETURNING *`, + [id] + ); + return rows[0] || null; +} diff --git a/backend/omr-service/src/worker.ts b/backend/omr-service/src/worker.ts new file mode 100644 index 0000000000000000000000000000000000000000..6ba11d42b571a5728f26bf691a87702e0b96ad34 --- /dev/null +++ b/backend/omr-service/src/worker.ts @@ -0,0 +1,112 @@ +import { config } from './config.js'; +import { predictPagesService } from './services/predict-pages.js'; +import * as predictorService from './services/predictor.service.js'; + +interface PageTask { + taskId: string; + scoreId: string; + pageIndex: number; + imageData: Buffer; +} + +interface AllPagesTask { + taskId: string; + scoreId: string; + imageDataList: Buffer[]; + layoutList?: any[]; +} + +interface PredictPagesTask { + taskId: string; + scoreId: string; + predictPages: { + images: Array<{ data: Buffer; layout?: any; enableGauge?: boolean }>; + outputWidth?: number; + processes?: string[]; + }; +} + +type TaskItem = PageTask | AllPagesTask | PredictPagesTask; + +function isAllPagesTask(task: TaskItem): task is AllPagesTask { + return 'imageDataList' in task; +} + +function isPredictPagesTask(task: TaskItem): task is PredictPagesTask { + return 'predictPages' in task; +} + +class TaskWorker { + private queue: TaskItem[] = []; + private running = 0; + private maxConcurrent: number; + + constructor(maxConcurrent: number = 2) { + this.maxConcurrent = maxConcurrent; + } + + queueTask(task: TaskItem) { + this.queue.push(task); + this.processQueue(); + } + + private async processQueue() { + if (this.running >= this.maxConcurrent) { + return; + } + + const task = this.queue.shift(); + if (!task) { + return; + } + + this.running++; + + try { + if (isPredictPagesTask(task)) { + await predictPagesService({ + taskId: task.taskId, + scoreId: task.scoreId, + ...task.predictPages, + }); + } else if (isAllPagesTask(task)) { + if (task.layoutList?.length) { + await predictorService.predictWithLayout({ + taskId: task.taskId, + scoreId: task.scoreId, + imageDataList: task.imageDataList, + layoutList: task.layoutList, + }); + } else { + await predictorService.predictAll({ + taskId: task.taskId, + scoreId: task.scoreId, + imageDataList: task.imageDataList, + }); + } + } else { + await predictorService.predictPage({ + taskId: task.taskId, + scoreId: task.scoreId, + pageIndex: task.pageIndex, + imageData: task.imageData, + }); + } + } catch (error) { + console.error(`Task ${task.taskId} failed:`, error); + } finally { + this.running--; + this.processQueue(); + } + } + + get pendingCount() { + return this.queue.length; + } + + get runningCount() { + return this.running; + } +} + +export const taskWorker = new TaskWorker(config.taskWorker.maxConcurrent); diff --git a/backend/omr-service/tsconfig.json b/backend/omr-service/tsconfig.json new file mode 100644 index 0000000000000000000000000000000000000000..5feda7fa05a9f93c1d4160c3cc7e2eddda14be2f --- /dev/null +++ b/backend/omr-service/tsconfig.json @@ -0,0 +1,20 @@ +{ + "compilerOptions": { + "target": "ES2022", + "module": "NodeNext", + "moduleResolution": "NodeNext", + "lib": ["ES2022"], + "outDir": "./dist", + "rootDir": "./src", + "strict": true, + "esModuleInterop": true, + "skipLibCheck": true, + "forceConsistentCasingInFileNames": true, + "resolveJsonModule": true, + "declaration": true, + "declarationMap": true, + "sourceMap": true + }, + "include": ["src/**/*"], + "exclude": ["node_modules", "dist"] +} diff --git a/backend/omr/dist/gauge-server.d.ts b/backend/omr/dist/gauge-server.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..3a65a5f9ce5cda579010785f39df9b6259f33c81 --- /dev/null +++ b/backend/omr/dist/gauge-server.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=gauge-server.d.ts.map \ No newline at end of file diff --git a/backend/omr/dist/gauge-server.d.ts.map b/backend/omr/dist/gauge-server.d.ts.map new file mode 100644 index 0000000000000000000000000000000000000000..338158bcf388d43af19e25a513e4b251eb338cf4 --- /dev/null +++ b/backend/omr/dist/gauge-server.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"gauge-server.d.ts","sourceRoot":"","sources":["../src/gauge-server.ts","../../../src/pages/playground/scripts/shaders.ts","../../libs/gauge-renderer.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/backend/omr/dist/gauge-server.js b/backend/omr/dist/gauge-server.js new file mode 100644 index 0000000000000000000000000000000000000000..04b51571336f311e216c8517dadd296997cda675 --- /dev/null +++ b/backend/omr/dist/gauge-server.js @@ -0,0 +1,2 @@ +"use strict";var e=require("yargs"),t=require("msgpackr"),i=require("zeromq"),r=require("skia-canvas");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=n(require("gl"));globalThis.ImageData=r.ImageData;const o=e=>{const t=[];for(const i of e)for(const e of i)t.push(e);return t};class GLCanvas{constructor(e){this._width=256,this._height=192,this.ctx=e}get width(){return this._width}set width(e){this._width=e;this.ctx.getExtension("STACKGL_resize_drawingbuffer").resize(e,this.height)}get height(){return this._height}set height(e){this._height=e;this.ctx.getExtension("STACKGL_resize_drawingbuffer").resize(this.width,e)}addEventListener(e){}async toBuffer(){const e=new Uint8Array(this.width*this.height*4);this.ctx.readPixels(0,0,this.width,this.height,this.ctx.RGBA,this.ctx.UNSIGNED_BYTE,e);const t=new r.Canvas(this.width,this.height);return t.getContext("2d").putImageData(new r.ImageData(new Uint8ClampedArray(e),this.width,this.height),0,0),t.toBuffer("png")}}const s=a.default(512,192,{antialias:!0});const h=new class GaugeRenderer{constructor(e){this.width=256,this.height=192,this.source=e.source,this.gauge=e.gauge,this.canvas=new GLCanvas(s),s.getShaderPrecisionFormat(s.VERTEX_SHADER,s.HIGH_FLOAT),s.getShaderPrecisionFormat(s.FRAGMENT_SHADER,s.HIGH_FLOAT),s.getExtension("OES_element_index_uint"),this.program=s.createProgram();const t=s.createShader(s.VERTEX_SHADER);s.shaderSource(t,"//#version 300 es\n//#define attribute in\n//#define varying out\n//#define texture2D texture\n\nprecision highp float;\nprecision highp int;\n\n#define HIGH_PRECISION\n#define SHADER_NAME MeshBasicMaterial\n#define VERTEX_TEXTURES\n#define USE_MAP\n#define USE_UV\n#define BONE_TEXTURE\n#define DOUBLE_SIDED\nuniform mat4 modelViewMatrix;\nuniform mat4 projectionMatrix;\nuniform vec3 cameraPosition;\n\nattribute vec3 position;\nattribute vec3 normal;\nattribute vec2 uv;\n\n#ifdef USE_UV\n\tvarying vec2 vUv;\n\tuniform mat3 uvTransform;\n#endif\n\nvoid main() {\n#ifdef USE_UV\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n#endif\n\n\tvec3 transformed = vec3( position );\n\n\tvec4 mvPosition = vec4( transformed, 1.0 );\n\tmvPosition = modelViewMatrix * mvPosition;\n\tgl_Position = projectionMatrix * mvPosition;\n}\n"),s.compileShader(t);const i=s.getShaderInfoLog(t);i&&console.warn("vs log:",i);const r=s.createShader(s.FRAGMENT_SHADER);s.shaderSource(r,"//#version 300 es\n//#define varying in\n//out highp vec4 pc_fragColor;\n//#define gl_FragColor pc_fragColor\n//#define texture2D texture\n\nprecision highp float;\nprecision highp int;\n\n#define HIGH_PRECISION\n#define SHADER_NAME MeshBasicMaterial\n#define USE_MAP\n#define USE_UV\n#define DOUBLE_SIDED\nuniform vec3 cameraPosition;\n\nvec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 mapTexelToLinear( vec4 value ) { return LinearToLinear( value ); }\n\nuniform vec3 diffuse;\nuniform float opacity;\n\n#if defined( USE_UV )\n\tvarying vec2 vUv;\n#endif\n#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif\n\n\nvoid main() {\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n#ifdef USE_MAP\n\tvec4 texelColor = texture2D( map, vUv );\n\ttexelColor = mapTexelToLinear( texelColor );\n\tdiffuseColor *= texelColor;\n#endif\n\n\tgl_FragColor = diffuseColor;\n}\n"),s.compileShader(r);const n=s.getShaderInfoLog(r);n&&console.warn("fs log:",n),s.attachShader(this.program,t),s.attachShader(this.program,r),s.linkProgram(this.program);const a=s.getProgramInfoLog(this.program);a&&console.warn("program log:",a),s.deleteShader(t),s.deleteShader(r);const{name:o}=s.getActiveUniform(this.program,0),h=s.getUniformLocation(this.program,o),{name:c}=s.getActiveUniform(this.program,1),g=s.getUniformLocation(this.program,c),{name:f}=s.getActiveUniform(this.program,2),d=s.getUniformLocation(this.program,f),{name:u}=s.getActiveUniform(this.program,3),l=s.getUniformLocation(this.program,u),{name:m}=s.getActiveUniform(this.program,4),E=s.getUniformLocation(this.program,m),{name:p}=s.getActiveUniform(this.program,5),v=s.getUniformLocation(this.program,p);s.useProgram(this.program),s.uniformMatrix4fv(g,!1,new Float32Array([.002739726100116968,0,0,0,0,.010416666977107525,0,0,0,0,-.20202019810676575,0,0,0,-1.0202020406723022,1])),s.uniformMatrix4fv(h,!1,new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,-1,1])),s.uniformMatrix3fv(d,!1,new Float32Array([1,0,0,0,1,0,0,0,1])),s.uniform3f(l,1,1,1),s.uniform1f(E,1),s.uniform1i(v,0),this.texture=s.createTexture(),s.activeTexture(s.TEXTURE0),s.bindTexture(s.TEXTURE_2D,this.texture),s.pixelStorei(37440,!0),s.pixelStorei(37441,!1),s.pixelStorei(s.UNPACK_ALIGNMENT,4),s.pixelStorei(37443,0),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_WRAP_S,s.CLAMP_TO_EDGE),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_WRAP_T,s.CLAMP_TO_EDGE),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_MAG_FILTER,s.LINEAR),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_MIN_FILTER,s.LINEAR_MIPMAP_LINEAR),s.disable(s.CULL_FACE),s.depthMask(!0),s.colorMask(!0,!0,!0,!0),s.disable(s.STENCIL_TEST),s.disable(s.POLYGON_OFFSET_FILL),s.disable(s.SAMPLE_ALPHA_TO_COVERAGE),this.pos=s.createBuffer(),this.uv=s.createBuffer(),this.ib=s.createBuffer();const A=s.getAttribLocation(this.program,"position"),_=s.getAttribLocation(this.program,"uv");s.enableVertexAttribArray(A),s.bindBuffer(s.ARRAY_BUFFER,this.pos),s.vertexAttribPointer(A,3,s.FLOAT,!1,0,0),s.enableVertexAttribArray(_),s.bindBuffer(s.ARRAY_BUFFER,this.uv),s.vertexAttribPointer(_,2,s.FLOAT,!1,0,0)}updateMaterial({width:e=null,sw:t=this.width,sh:i=this.height}={}){if(t!==this.width||i!==this.height){Number.isFinite(e)?this.width=e:this.width=Math.round(this.height*t/i),this.canvas.width=this.width,this.canvas.height=this.height,s.viewport(0,0,this.width,this.height);const r=s.getUniformLocation(this.program,"projectionMatrix");s.uniformMatrix4fv(r,!1,new Float32Array([2/this.width,0,0,0,0,2/this.height,0,0,0,0,-.20202019810676575,0,0,0,-1.0202020406723022,1]))}const n=new r.Canvas(this.source.width,this.source.height);n.getContext("2d").drawImage(this.source,0,0),s.bindTexture(s.TEXTURE_2D,this.texture),s.texImage2D(s.TEXTURE_2D,0,s.RGBA,s.RGBA,s.UNSIGNED_BYTE,n),s.generateMipmap(s.TEXTURE_2D)}updateGeometry(e=null){const{width:t,height:i}=this.gauge,n=new r.Canvas(t,i).getContext("2d");n.drawImage(this.gauge,0,0);const{data:a}=n.getImageData(0,0,t,i),h=this.width/t;e=Math.round(Number.isFinite(e)?e:i/2),e=Math.max(0,Math.min(i-1,e));const c=Array(i).fill(null).map((e,r)=>Array(t).fill(null).map((e,n)=>({uv:[(n+.5)/t,1-(r+.5)/i],position:[(n-t/2)*h,(a[4*(r*t+n)]+a[4*(r*t+n)+2]/256-128)/h,0]})));for(let i=e;i>0;--i)for(let e=0;ee.uv)),f=o(o(c).map(e=>e.position)),d=Array(i-1).fill(null).map((e,i)=>Array(t-1).fill(null).map((e,r)=>[i*t+r,i*t+r+1,(i+1)*t+r,(i+1)*t+r,(i+1)*t+r+1,i*t+r+1])),u=o(o(d));s.bindBuffer(s.ARRAY_BUFFER,this.pos),s.bufferData(s.ARRAY_BUFFER,new Float32Array(f),s.STATIC_DRAW),s.bindBuffer(s.ARRAY_BUFFER,this.uv),s.bufferData(s.ARRAY_BUFFER,new Float32Array(g),s.STATIC_DRAW),s.bindBuffer(s.ELEMENT_ARRAY_BUFFER,this.ib),s.bufferData(s.ELEMENT_ARRAY_BUFFER,new Uint32Array(u),s.STATIC_DRAW),this.primitiveCount=u.length}render(){return s.clearColor(1,1,1,1),s.clear(s.COLOR_BUFFER_BIT),s.drawElements(s.TRIANGLES,this.primitiveCount,s.UNSIGNED_INT,0),this.canvas.toBuffer()}dispose(){s.deleteBuffer(this.pos),s.deleteBuffer(this.uv),s.deleteBuffer(this.ib),s.deleteProgram(this.program),s.deleteTexture(this.texture)}}({source:new r.Image,gauge:new r.Image});console.info("%cstarry-omr%c v1.0.0 2026-02-17T12:40:32.606Z","color:#fff; background-color: #555;padding: 5px;border-radius: 3px 0 0 3px;","color: #fff; background-color: #007dc6;padding: 5px;border-radius: 0 3px 3px 0;");const c=["bind","constructor","toString","toJSON"];class GaugeServer{async bind(e){this.socket=new i.Reply,await this.socket.bind(e),console.log(`gauge server listening at ${e}`);try{for await(const[e]of this.socket){const{method:i,args:r,kwargs:n}=t.unpack(e)??{};if(console.log(`request: ${i}`),!c.includes(i)&&this[i])try{const e=await(this[i]?.(r,n));console.log(`success: ${i}`),await this.socket.send(t.pack({code:0,msg:"success",data:e}))}catch(e){console.error(`fail: ${i}, error: ${e}`),await this.socket.send(t.pack({code:-1,msg:`Error: ${JSON.stringify(e)}`,data:null}))}else console.error(`fail: ${i}, error: no method`),await this.socket.send(t.pack({code:-1,msg:`no method: ${i}`,data:null}))}}catch(t){console.log("restarting gauge server..",t.stack),await this.socket.close(),await this.bind(e)}}async predict(e,t){let i,n,a;return e&&([i,n,a]=e),t&&({source:i,gauge:n,baseY:a}=t),(async(e,t,i)=>{const n=await r.loadImage(e),a=await r.loadImage(t);return h.source=n,h.gauge=a,h.updateMaterial({width:a.width,sw:n.width,sh:n.height}),h.updateGeometry(i),console.log(process.memoryUsage().heapUsed),{buffer:await h.render(),size:{width:h.width,height:h.height}}})(i,n,a)}}!async function(){const t=new GaugeServer;await t.bind(`tcp://*:${e.argv.port}`)}(); +//# sourceMappingURL=gauge-server.js.map diff --git a/backend/omr/dist/gauge-server.js.map b/backend/omr/dist/gauge-server.js.map new file mode 100644 index 0000000000000000000000000000000000000000..711001a2b16726fcc3a6d2b3551ab9dbac04ae1d --- /dev/null +++ b/backend/omr/dist/gauge-server.js.map @@ -0,0 +1 @@ +{"version":3,"file":"gauge-server.js","sources":["../../libs/gauge-renderer.ts","../../../src/pages/playground/scripts/shaders.ts","../src/gauge-server.ts"],"sourcesContent":["/* global cv */\nimport { Canvas, Image, loadImage, ImageData } from 'skia-canvas';\n// threejs内éƒĻä―ŋį”Ļ乆OffscreenCanvas\n//(globalThis as any).OffscreenCanvas = (globalThis as any).OffscreenCanvas || Canvas;\nglobalThis.ImageData = ImageData;\n\nimport createContext from 'gl';\n\nimport * as SHADER_SOURCE from '../../src/pages/playground/scripts/shaders';\n\n//const cc = (a: T[][]): T[] => a.flat(1);\t// This is slower!\nconst cc = (a: T[][]): T[] => {\n\tconst result: T[] = [];\n\tfor (const x of a) {\n\t\tfor (const e of x) result.push(e);\n\t}\n\n\treturn result;\n};\n\ntype RenderContext = ReturnType;\n\nclass GLCanvas {\n\tctx: RenderContext;\n\t_width: number = 256;\n\t_height: number = 192;\n\n\tresizeBuffer: number[];\n\n\tconstructor(context: RenderContext) {\n\t\tthis.ctx = context;\n\t}\n\n\tget width() {\n\t\treturn this._width;\n\t}\n\n\tset width(width: number) {\n\t\tthis._width = width;\n\t\tconst ext = this.ctx.getExtension('STACKGL_resize_drawingbuffer');\n\t\text.resize(width, this.height);\n\t}\n\n\tget height() {\n\t\treturn this._height;\n\t}\n\n\tset height(height: number) {\n\t\tthis._height = height;\n\t\tconst ext = this.ctx.getExtension('STACKGL_resize_drawingbuffer');\n\t\text.resize(this.width, height);\n\t}\n\n\t/*// @ts-ignore\n\tgetContext(type, options) {\n\t\tif (type === 'webgl') {\n\t\t\tthis.ctx = createContext(200, 300, options);\n\n\t\t\treturn this.ctx;\n\t\t}\n\n\t\treturn null as WebGLRenderingContext;\n\t}*/\n\n\taddEventListener(evt: 'webglcontextlost') {}\n\n\tasync toBuffer() {\n\t\tconst pixels = new Uint8Array(this.width * this.height * 4);\n\t\tthis.ctx.readPixels(0, 0, this.width, this.height, this.ctx.RGBA, this.ctx.UNSIGNED_BYTE, pixels);\n\n\t\tconst canvas = new Canvas(this.width, this.height);\n\t\tconst ctx = canvas.getContext('2d');\n\t\tctx.putImageData(new ImageData(new Uint8ClampedArray(pixels), this.width, this.height), 0, 0);\n\n\t\treturn canvas.toBuffer('png');\n\t}\n}\n\ninterface GaugeRendererInitOptions {\n\tsource: HTMLImageElement;\n\tgauge: HTMLImageElement;\n}\n\nconst gl = createContext(512, 192, { antialias: true });\n\nexport default class GaugeRenderer {\n\tsource: Image; // base64 string\n\tgauge: Image;\n\tcanvas: GLCanvas;\n\n\tprogram: WebGLProgram;\n\ttexture: WebGLTexture;\n\tpos: WebGLBuffer;\n\tuv: WebGLBuffer;\n\tib: WebGLBuffer;\n\tprimitiveCount: number;\n\n\twidth: number = 256;\n\theight: number = 192;\n\n\tconstructor(options: GaugeRendererInitOptions) {\n\t\tthis.source = options.source;\n\t\tthis.gauge = options.gauge;\n\t\tthis.canvas = new GLCanvas(gl);\n\n\t\tgl.getShaderPrecisionFormat(gl.VERTEX_SHADER, gl.HIGH_FLOAT);\n\t\tgl.getShaderPrecisionFormat(gl.FRAGMENT_SHADER, gl.HIGH_FLOAT);\n\n\t\tgl.getExtension('OES_element_index_uint');\n\n\t\t// initial program\n\t\tthis.program = gl.createProgram();\n\n\t\tconst vsShader = gl.createShader(gl.VERTEX_SHADER);\n\t\tgl.shaderSource(vsShader, SHADER_SOURCE.vs);\n\t\tgl.compileShader(vsShader);\n\t\tconst logVs = gl.getShaderInfoLog(vsShader);\n\t\tlogVs && console.warn('vs log:', logVs);\n\n\t\tconst fsShader = gl.createShader(gl.FRAGMENT_SHADER);\n\t\tgl.shaderSource(fsShader, SHADER_SOURCE.fs);\n\t\tgl.compileShader(fsShader);\n\t\tconst logFs = gl.getShaderInfoLog(fsShader);\n\t\tlogFs && console.warn('fs log:', logFs);\n\n\t\tgl.attachShader(this.program, vsShader);\n\t\tgl.attachShader(this.program, fsShader);\n\t\tgl.linkProgram(this.program);\n\n\t\tconst logProgram = gl.getProgramInfoLog(this.program);\n\t\tlogProgram && console.warn('program log:', logProgram);\n\n\t\tgl.deleteShader(vsShader);\n\t\tgl.deleteShader(fsShader);\n\n\t\tconst { name: nameModelView } = gl.getActiveUniform(this.program, 0);\n\t\tconst modelMat = gl.getUniformLocation(this.program, nameModelView);\n\t\tconst { name: nameProj } = gl.getActiveUniform(this.program, 1);\n\t\tconst projMat = gl.getUniformLocation(this.program, nameProj);\n\t\tconst { name: nameUV } = gl.getActiveUniform(this.program, 2);\n\t\tconst uvMat = gl.getUniformLocation(this.program, nameUV);\n\t\tconst { name: nameDiffuse } = gl.getActiveUniform(this.program, 3);\n\t\tconst diffuse = gl.getUniformLocation(this.program, nameDiffuse);\n\t\tconst { name: nameOpacity } = gl.getActiveUniform(this.program, 4);\n\t\tconst opacity = gl.getUniformLocation(this.program, nameOpacity);\n\t\tconst { name: nameMap } = gl.getActiveUniform(this.program, 5);\n\t\tconst map = gl.getUniformLocation(this.program, nameMap);\n\n\t\tgl.useProgram(this.program);\n\n\t\tgl.uniformMatrix4fv(\n\t\t\tprojMat,\n\t\t\tfalse,\n\t\t\t//new Float32Array([0.0026385225355625153, 0, 0, 0, 0, -0.010416666977107525, 0, 0, 0, 0, -0.20202019810676575, 0, 0, 0, -1.0202020406723022, 1])\n\t\t\tnew Float32Array([0.002739726100116968, 0, 0, 0, 0, 0.010416666977107525, 0, 0, 0, 0, -0.20202019810676575, 0, 0, 0, -1.0202020406723022, 1])\n\t\t);\n\t\tgl.uniformMatrix4fv(modelMat, false, new Float32Array([1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, -1, 1]));\n\t\tgl.uniformMatrix3fv(uvMat, false, new Float32Array([1, 0, 0, 0, 1, 0, 0, 0, 1]));\n\t\tgl.uniform3f(diffuse, 1, 1, 1);\n\t\tgl.uniform1f(opacity, 1);\n\t\tgl.uniform1i(map, 0);\n\n\t\t// texture\n\t\tthis.texture = gl.createTexture();\n\t\tgl.activeTexture(gl.TEXTURE0);\n\t\tgl.bindTexture(gl.TEXTURE_2D, this.texture);\n\t\tgl.pixelStorei(37440, true);\n\t\tgl.pixelStorei(37441, false);\n\t\tgl.pixelStorei(gl.UNPACK_ALIGNMENT, 4);\n\t\tgl.pixelStorei(37443, 0);\n\n\t\tgl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n\t\tgl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n\t\tgl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);\n\t\tgl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR_MIPMAP_LINEAR);\n\n\t\tgl.disable(gl.CULL_FACE);\n\t\tgl.depthMask(true);\n\t\tgl.colorMask(true, true, true, true);\n\t\tgl.disable(gl.STENCIL_TEST);\n\t\tgl.disable(gl.POLYGON_OFFSET_FILL);\n\t\tgl.disable(gl.SAMPLE_ALPHA_TO_COVERAGE);\n\n\t\t// buffers\n\t\tthis.pos = gl.createBuffer();\n\t\tthis.uv = gl.createBuffer();\n\t\tthis.ib = gl.createBuffer();\n\n\t\tconst iPos = gl.getAttribLocation(this.program, 'position');\n\t\tconst iUV = gl.getAttribLocation(this.program, 'uv');\n\t\t//console.log('indices:', iPos, iUV);\n\n\t\tgl.enableVertexAttribArray(iPos);\n\t\tgl.bindBuffer(gl.ARRAY_BUFFER, this.pos);\n\t\tgl.vertexAttribPointer(iPos, 3, gl.FLOAT, false, 0, 0);\n\n\t\tgl.enableVertexAttribArray(iUV);\n\t\tgl.bindBuffer(gl.ARRAY_BUFFER, this.uv);\n\t\tgl.vertexAttribPointer(iUV, 2, gl.FLOAT, false, 0, 0);\n\t}\n\n\tupdateMaterial({ width = null, sw = this.width, sh = this.height } = {}) {\n\t\tif (sw !== this.width || sh !== this.height) {\n\t\t\tif (Number.isFinite(width)) {\n\t\t\t\tthis.width = width;\n\t\t\t} else {\n\t\t\t\tthis.width = Math.round((this.height * sw) / sh);\n\t\t\t}\n\n\t\t\tthis.canvas.width = this.width;\n\t\t\tthis.canvas.height = this.height;\n\n\t\t\tgl.viewport(0, 0, this.width, this.height);\n\n\t\t\tconst projMat = gl.getUniformLocation(this.program, 'projectionMatrix');\n\t\t\tgl.uniformMatrix4fv(\n\t\t\t\tprojMat,\n\t\t\t\tfalse,\n\t\t\t\tnew Float32Array([2 / this.width, 0, 0, 0, 0, 2 / this.height, 0, 0, 0, 0, -0.20202019810676575, 0, 0, 0, -1.0202020406723022, 1])\n\t\t\t);\n\t\t}\n\n\t\t// image to canvas\n\t\tconst sourceCanvas = new Canvas(this.source.width, this.source.height);\n\t\tsourceCanvas.getContext('2d').drawImage(this.source, 0, 0);\n\n\t\tgl.bindTexture(gl.TEXTURE_2D, this.texture);\n\t\tgl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, sourceCanvas as any);\n\t\tgl.generateMipmap(gl.TEXTURE_2D);\n\t}\n\n\tupdateGeometry(baseY = null) {\n\t\tconst { width, height } = this.gauge;\n\t\tconst canvas = new Canvas(width, height);\n\t\tconst ctx = canvas.getContext('2d');\n\t\tctx.drawImage(this.gauge, 0, 0);\n\t\tconst { data: buffer } = ctx.getImageData(0, 0, width, height);\n\n\t\tconst xFactor = this.width / width;\n\n\t\tbaseY = Math.round(Number.isFinite(baseY) ? baseY : height / 2);\n\t\tbaseY = Math.max(0, Math.min(height - 1, baseY));\n\n\t\tconst propertyArray = Array(height)\n\t\t\t.fill(null)\n\t\t\t.map((_, y) =>\n\t\t\t\tArray(width)\n\t\t\t\t\t.fill(null)\n\t\t\t\t\t.map((_, x) => ({\n\t\t\t\t\t\tuv: [(x + 0.5) / width, 1 - (y + 0.5) / height],\n\t\t\t\t\t\tposition: [(x - width / 2) * xFactor, (buffer[(y * width + x) * 4] + buffer[(y * width + x) * 4 + 2] / 256 - 128) / xFactor, 0],\n\t\t\t\t\t}))\n\t\t\t);\n\n\t\t// integral X by K\n\t\tfor (let y = baseY; y > 0; --y) {\n\t\t\tfor (let x = 0; x < width; ++x)\n\t\t\t\tpropertyArray[y - 1][x].position[0] = propertyArray[y][x].position[0] - ((buffer[(y * width + x) * 4 + 1] - 128) * xFactor) / 127;\n\t\t}\n\t\tfor (let y = baseY + 1; y < height; ++y) {\n\t\t\tfor (let x = 0; x < width; ++x)\n\t\t\t\tpropertyArray[y][x].position[0] = propertyArray[y - 1][x].position[0] + ((buffer[((y - 1) * width + x) * 4 + 1] - 128) * xFactor) / 127;\n\t\t}\n\n\t\tconst uvs = cc(cc(propertyArray).map((p) => p.uv));\n\t\tconst positions = cc(cc(propertyArray).map((p) => p.position));\n\n\t\tconst faces = Array(height - 1)\n\t\t\t.fill(null)\n\t\t\t.map((_, y) =>\n\t\t\t\tArray(width - 1)\n\t\t\t\t\t.fill(null)\n\t\t\t\t\t.map((_, x) => [y * width + x, y * width + x + 1, (y + 1) * width + x, (y + 1) * width + x, (y + 1) * width + x + 1, y * width + x + 1])\n\t\t\t);\n\t\tconst indices = cc(cc(faces));\n\n\t\tgl.bindBuffer(gl.ARRAY_BUFFER, this.pos);\n\t\tgl.bufferData(gl.ARRAY_BUFFER, new Float32Array(positions), gl.STATIC_DRAW);\n\n\t\tgl.bindBuffer(gl.ARRAY_BUFFER, this.uv);\n\t\tgl.bufferData(gl.ARRAY_BUFFER, new Float32Array(uvs), gl.STATIC_DRAW);\n\n\t\tgl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, this.ib);\n\t\tgl.bufferData(gl.ELEMENT_ARRAY_BUFFER, new Uint32Array(indices), gl.STATIC_DRAW);\n\n\t\tthis.primitiveCount = indices.length;\n\t}\n\n\trender() {\n\t\tgl.clearColor(1, 1, 1, 1);\n\t\tgl.clear(gl.COLOR_BUFFER_BIT);\n\n\t\t//gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, this.ib);\n\n\t\tgl.drawElements(gl.TRIANGLES, this.primitiveCount, gl.UNSIGNED_INT, 0);\n\n\t\treturn this.canvas.toBuffer();\n\t}\n\n\tdispose() {\n\t\tgl.deleteBuffer(this.pos);\n\t\tgl.deleteBuffer(this.uv);\n\t\tgl.deleteBuffer(this.ib);\n\n\t\tgl.deleteProgram(this.program);\n\t\tgl.deleteTexture(this.texture);\n\t}\n}\n\nconst gaugeRenderer = new GaugeRenderer({\n\tsource: new Image(),\n\tgauge: new Image(),\n});\n\nexport const renderGaugeImage = async (sourceURL: string | Buffer, gaugeURL: string | Buffer, baseY?: number) => {\n\tconst source = await loadImage(sourceURL);\n\tconst gauge = await loadImage(gaugeURL);\n\n\tgaugeRenderer.source = source;\n\tgaugeRenderer.gauge = gauge;\n\n\tgaugeRenderer.updateMaterial({\n\t\twidth: gauge.width,\n\t\tsw: source.width,\n\t\tsh: source.height,\n\t});\n\n\tgaugeRenderer.updateGeometry(baseY);\n\n\tconsole.log(process.memoryUsage().heapUsed);\n\n\treturn {\n\t\tbuffer: await gaugeRenderer.render(),\n\t\tsize: {\n\t\t\twidth: gaugeRenderer.width,\n\t\t\theight: gaugeRenderer.height,\n\t\t},\n\t};\n};\n\n// renderGaugeImage('./images/source.png', './images/gauge.png');\n","export const vs = `//#version 300 es\n//#define attribute in\n//#define varying out\n//#define texture2D texture\n\nprecision highp float;\nprecision highp int;\n\n#define HIGH_PRECISION\n#define SHADER_NAME MeshBasicMaterial\n#define VERTEX_TEXTURES\n#define USE_MAP\n#define USE_UV\n#define BONE_TEXTURE\n#define DOUBLE_SIDED\nuniform mat4 modelViewMatrix;\nuniform mat4 projectionMatrix;\nuniform vec3 cameraPosition;\n\nattribute vec3 position;\nattribute vec3 normal;\nattribute vec2 uv;\n\n#ifdef USE_UV\n\tvarying vec2 vUv;\n\tuniform mat3 uvTransform;\n#endif\n\nvoid main() {\n#ifdef USE_UV\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n#endif\n\n\tvec3 transformed = vec3( position );\n\n\tvec4 mvPosition = vec4( transformed, 1.0 );\n\tmvPosition = modelViewMatrix * mvPosition;\n\tgl_Position = projectionMatrix * mvPosition;\n}\n`;\n\nexport const fs = `//#version 300 es\n//#define varying in\n//out highp vec4 pc_fragColor;\n//#define gl_FragColor pc_fragColor\n//#define texture2D texture\n\nprecision highp float;\nprecision highp int;\n\n#define HIGH_PRECISION\n#define SHADER_NAME MeshBasicMaterial\n#define USE_MAP\n#define USE_UV\n#define DOUBLE_SIDED\nuniform vec3 cameraPosition;\n\nvec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 mapTexelToLinear( vec4 value ) { return LinearToLinear( value ); }\n\nuniform vec3 diffuse;\nuniform float opacity;\n\n#if defined( USE_UV )\n\tvarying vec2 vUv;\n#endif\n#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif\n\n\nvoid main() {\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n#ifdef USE_MAP\n\tvec4 texelColor = texture2D( map, vUv );\n\ttexelColor = mapTexelToLinear( texelColor );\n\tdiffuseColor *= texelColor;\n#endif\n\n\tgl_FragColor = diffuseColor;\n}\n`;\n","console.info(`%cstarry-omr%c v1.0.0 2026-02-17T12:40:32.606Z`, 'color:#fff; background-color: #555;padding: 5px;border-radius: 3px 0 0 3px;', 'color: #fff; background-color: #007dc6;padding: 5px;border-radius: 0 3px 3px 0;');\nimport { argv } from 'yargs';\nimport { pack, unpack } from 'msgpackr';\nimport { Reply } from 'zeromq';\nimport { renderGaugeImage } from '../../libs/gauge-renderer';\n\ninterface Params {\n\tmethod: string;\n\targs: any[];\n\tkwargs: Record;\n}\n\nconst unsafeMethods = ['bind', 'constructor', 'toString', 'toJSON'];\n\nclass GaugeServer {\n\tprivate socket: Reply;\n\n\tasync bind(port?: string) {\n\t\tthis.socket = new Reply();\n\t\tawait this.socket.bind(port);\n\n\t\tconsole.log(`gauge server listening at ${port}`);\n\n\t\ttry {\n\t\t\tfor await (const [data] of this.socket) {\n\t\t\t\tconst { method, args, kwargs } = (unpack(data) as Params) ?? {};\n\n\t\t\t\tconsole.log(`request: ${method}`);\n\n\t\t\t\tif (!unsafeMethods.includes(method) && this[method]) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst data = await this[method]?.(args, kwargs);\n\t\t\t\t\t\tconsole.log(`success: ${method}`);\n\n\t\t\t\t\t\tawait this.socket.send(\n\t\t\t\t\t\t\tpack({\n\t\t\t\t\t\t\t\tcode: 0,\n\t\t\t\t\t\t\t\tmsg: 'success',\n\t\t\t\t\t\t\t\tdata,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t);\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tconsole.error(`fail: ${method}, error: ${err}`);\n\t\t\t\t\t\tawait this.socket.send(\n\t\t\t\t\t\t\tpack({\n\t\t\t\t\t\t\t\tcode: -1,\n\t\t\t\t\t\t\t\tmsg: `Error: ${JSON.stringify(err)}`,\n\t\t\t\t\t\t\t\tdata: null,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tconsole.error(`fail: ${method}, error: no method`);\n\t\t\t\t\tawait this.socket.send(\n\t\t\t\t\t\tpack({\n\t\t\t\t\t\t\tcode: -1,\n\t\t\t\t\t\t\tmsg: `no method: ${method}`,\n\t\t\t\t\t\t\tdata: null,\n\t\t\t\t\t\t})\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tconsole.log('restarting gauge server..', err.stack);\n\t\t\tawait this.socket.close();\n\t\t\tawait this.bind(port);\n\t\t}\n\t}\n\n\tasync predict(args?: any[], kwargs?: Record) {\n\t\tlet source, gauge, baseY;\n\n\t\tif (args) {\n\t\t\t[source, gauge, baseY] = args;\n\t\t}\n\n\t\tif (kwargs) {\n\t\t\t({ source, gauge, baseY } = kwargs);\n\t\t}\n\n\t\treturn renderGaugeImage(source, gauge, baseY);\n\t}\n}\n\nasync function main() {\n\tconst server = new GaugeServer();\n\n\tawait server.bind(`tcp://*:${argv.port}`);\n}\n\nmain();\n"],"names":["globalThis","ImageData","cc","a","result","x","e","push","GLCanvas","constructor","context","this","_width","_height","ctx","width","getExtension","resize","height","addEventListener","evt","toBuffer","pixels","Uint8Array","readPixels","RGBA","UNSIGNED_BYTE","canvas","Canvas","getContext","putImageData","Uint8ClampedArray","gl","createContext","antialias","gaugeRenderer","GaugeRenderer","options","source","gauge","getShaderPrecisionFormat","VERTEX_SHADER","HIGH_FLOAT","FRAGMENT_SHADER","program","createProgram","vsShader","createShader","shaderSource","compileShader","logVs","getShaderInfoLog","console","warn","fsShader","logFs","attachShader","linkProgram","logProgram","getProgramInfoLog","deleteShader","name","nameModelView","getActiveUniform","modelMat","getUniformLocation","nameProj","projMat","nameUV","uvMat","nameDiffuse","diffuse","nameOpacity","opacity","nameMap","map","useProgram","uniformMatrix4fv","Float32Array","uniformMatrix3fv","uniform3f","uniform1f","uniform1i","texture","createTexture","activeTexture","TEXTURE0","bindTexture","TEXTURE_2D","pixelStorei","UNPACK_ALIGNMENT","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","LINEAR","TEXTURE_MIN_FILTER","LINEAR_MIPMAP_LINEAR","disable","CULL_FACE","depthMask","colorMask","STENCIL_TEST","POLYGON_OFFSET_FILL","SAMPLE_ALPHA_TO_COVERAGE","pos","createBuffer","uv","ib","iPos","getAttribLocation","iUV","enableVertexAttribArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","updateMaterial","sw","sh","Number","isFinite","Math","round","viewport","sourceCanvas","drawImage","texImage2D","generateMipmap","updateGeometry","baseY","data","buffer","getImageData","xFactor","max","min","propertyArray","Array","fill","_","y","position","uvs","p","positions","faces","indices","bufferData","STATIC_DRAW","ELEMENT_ARRAY_BUFFER","Uint32Array","primitiveCount","length","render","clearColor","clear","COLOR_BUFFER_BIT","drawElements","TRIANGLES","UNSIGNED_INT","dispose","deleteBuffer","deleteProgram","deleteTexture","Image","info","unsafeMethods","GaugeServer","bind","port","socket","Reply","log","method","args","kwargs","unpack","includes","send","pack","code","msg","err","error","JSON","stringify","stack","close","predict","async","sourceURL","gaugeURL","loadImage","process","memoryUsage","heapUsed","size","renderGaugeImage","server","argv","main"],"mappings":"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"} \ No newline at end of file diff --git a/backend/omr/dist/index.d.ts b/backend/omr/dist/index.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..58fa6c07d6fdf8eb783759a6c6444e658cadf24b --- /dev/null +++ b/backend/omr/dist/index.d.ts @@ -0,0 +1,4252 @@ +/// +import { MusicNotation, MIDI } from '@k-l-lambda/music-widgets'; +import { Options } from 'python-shell'; +import { FormatEnum } from 'sharp'; + +declare namespace measureLayout { + const recoverJSON: (json: string | object, classDict: any) => T; + class SimpleClass { + assign(data?: object): void; + toJSON(): any; + deepCopy(): this; + } + enum LayoutType { + Ordinary = "ordinary", + Full = "full", + Conservative = "conservative", + Once = "once" + } + interface MeasureLayout { + serialize(type: LayoutType): number[]; + seq: MeasureSeq; + code: string; + } + type MeasureSeq = MeasureLayout[]; + class SingleMLayout extends SimpleClass implements MeasureLayout { + static className: string; + measure: number; + static from(measure: number): SingleMLayout; + constructor(data?: any); + serialize(): number[]; + get seq(): MeasureSeq; + get code(): string; + } + class BlockMLayout extends SimpleClass implements MeasureLayout { + static className: string; + seq: MeasureSeq; + static trimSeq(seq: MeasureSeq): MeasureSeq; + static fromSeq(seq: MeasureSeq): BlockMLayout; + constructor(data?: any); + serialize(type: LayoutType): number[]; + get code(): string; + } + class VoltaMLayout extends SimpleClass implements MeasureLayout { + static className: string; + times: number; + body: MeasureSeq; + alternates: MeasureSeq[]; + constructor(data?: any); + serialize(type: LayoutType): number[]; + get seq(): MeasureSeq; + get code(): string; + } + class ABAMLayout extends SimpleClass implements MeasureLayout { + static className: string; + main: MeasureLayout; + rest: MeasureSeq; + constructor(data?: any); + serialize(type: LayoutType): number[]; + get seq(): MeasureSeq; + get code(): string; + } + const parseCode: (code: string) => MeasureLayout; +} +declare namespace EquationSolver { + // implicit note (from expressive marks) types + enum ImplicitType { + None = 0, + Mordent = "mordent", + Prall = "prall", + Turn = "turn", + Trill = "trill", + Tremolo = "tremolo", + Arpeggio = "arpeggio" + } + interface ChordPosition { + index: number; + count: number; + } + class TokenPosition { + system?: number; + measure?: number; + x: number; + endX?: number; + } + interface Note extends MusicNotation.Note { + chordPosition?: ChordPosition; + measure?: number; + } + interface Notation { + notes: Note[]; + endTick: number; + } + interface SheetPosition { + system: number; + x: number; + } + interface Fraction { + numerator: number; + denominator: number; + } + interface StaffNoteProperties { + rest: boolean; + tied: boolean; + overlapped: boolean; + implicitType: ImplicitType; + afterGrace: boolean; + chordPosition: ChordPosition; + division: number; + contextIndex: number; + staffTrack: number; + } + interface MetaNote extends MusicNotation.Note, Partial { + id: string; + measure: number; + endTick: number; + } + interface SubNote { + startTick: number; + endTick: number; + pitch: number; + velocity?: number; + } + interface MeasureNote extends Partial { + tick: number; + pitch: number; + duration: number; + chordPosition: ChordPosition; + staff: number; + track: number; + channel: number; + id: string; + ids: string[]; + subNotes: SubNote[]; + } + interface MeasureEvent { + data: any; + track: number; + ticks?: number; + } + interface Measure { + tick: number; + duration: number; + notes: MeasureNote[]; + events?: MeasureEvent[]; + timeSignature?: Fraction; + keySignature?: number; + } + interface PerformOptions { + withRestTied?: boolean; + } + interface MidiEvent extends MIDI.MidiEvent { + ticks?: number; + measure?: number; + ids?: string[]; + staffTrack?: number; + staff?: number; + } + class MetaNotation { + //pitchContextGroup: PitchContextTable[]; + //measureLayout: MeasureLayout; + measures: Measure[]; + trackNames: string[]; + idTrackMap: { + [key: string]: number; + }; + ripe: boolean; + static fromAbsoluteNotes(notes: MetaNote[], measureHeads: number[], data?: Partial): MetaNotation; + static performAbsoluteNotes(abNotes: MetaNote[], { withRestTied }?: PerformOptions): MusicNotation.Note[]; + constructor(data?: Partial); + /*get ordinaryMeasureIndices (): number[] { + if (this.measureLayout) + return this.measureLayout.serialize(LayoutType.Ordinary); + + return Array(this.measures.length).fill(null).map((_, i) => i + 1); + }*/ + // In Lilypond 2.20.0, minus tick value at the head of a track result in MIDI event time bias, + // So store the bias values to correct MIDI time from lilyond. + get trackTickBias(): { + [key: string]: number; + }; + get idSet(): Set; + toJSON(): { + __prototype: string; + measures: Measure[]; + idTrackMap: { + [key: string]: number; + }; + trackNames: string[]; + ripe: boolean; + }; + toAbsoluteNotes(measureIndices: number[] /*= this.ordinaryMeasureIndices*/): MetaNote[]; + /*getMeasureIndices (type: LayoutType) { + return this.measureLayout.serialize(type); + }*/ + toPerformingNotation(measureIndices: number[] /*= this.ordinaryMeasureIndices*/, options?: PerformOptions): MusicNotation.Notation; + toPerformingMIDI(measureIndices: number[], { trackList }?: { + trackList?: boolean[]; + }): MIDI.MidiData & { + zeroTick: number; + }; + toPerformingNotationWithEvents(measureIndices: number[], options?: { + trackList?: boolean[]; + }): MusicNotation.Notation; + // find the MIDI event of setTempo in measures data, and change the value of microsecondsPerBeat + setTempo(bpm: number): boolean; + } + interface TickItem { + tick: number; + endTick?: number; + system: number; + measure: number; + x: number; + endX: number; + } + class Scheduler { + tickTable: TickItem[]; + static createFromNotation(midiNotation: Notation, tokenMap: Map): Scheduler; + static createFromTokenTable(tokenTable: { + [key: number]: TokenPosition[]; + }, endTick: number): Scheduler; + constructor({ tickTable }: { + tickTable: TickItem[]; + }); + get startTick(): number; + get endTick(): number; + lookupPosition(tick: number): SheetPosition; + lookupTick(position: SheetPosition): number; + } + enum TokenType { + // clefs + ClefG = "clefs-G", + // clefs.G_change + ClefF = "clefs-F", + // clefs.F_change + ClefC = "clefs-C", + // time signature + TimesigC44 = "timesig-C44", + TimesigC22 = "timesig-C22", + TimesigZero = "zero|timesig0", + TimesigOne = "one|timesig1", + TimesigTwo = "two|timesig2", + TimesigThree = "three|timesig3", + TimesigFour = "four|timesig4", + TimesigFive = "five|timesig5", + TimesigSix = "six|timesig6", + TimesigSeven = "seven|timesig7", + TimesigEight = "eight|timesig8", + TimesigNine = "nine|timesig9", + // octave shifts + OctaveShift8va = "octave-a", + OctaveShift8vb = "octave-b", + OctaveShift0 = "octave-0", + // numbers + Zero = "zero|n0", + One = "one|n1", + Two = "two|n2", + Three = "three|n3", + Four = "four|n4", + Five = "five|n5", + Six = "six|n6", + Seven = "seven|n7", + Eight = "eight|n8", + Nine = "nine|n9", + // accidentals + AccNatural = "accidentals-natural", + AccSharp = "accidentals-sharp", + AccDoublesharp = "accidentals-doublesharp", + AccFlat = "accidentals-flat", + AccFlatflat = "accidentals-flatflat", + KeyNatural = "accidentals-natural|key-natural", + KeySharp = "accidentals-sharp|key-sharp", + KeyFlat = "accidentals-flat|key-flat", + // noteheads + NoteheadS0 = "noteheads-s0", + NoteheadS1 = "noteheads-s1", + NoteheadS2 = "noteheads-s2", + NoteheadS1stemU = "noteheads-s1|noteheads-s1-u", + NoteheadS1stemD = "noteheads-s1|noteheads-s1-d", + NoteheadS2stemU = "noteheads-s2|noteheads-s2-u", + NoteheadS2stemD = "noteheads-s2|noteheads-s2-d", + // rests + Rest0 = "rests-0o", + Rest1 = "rests-1o", + Rest2 = "rests-2", + Rest3 = "rests-3", + Rest4 = "rests-4", + Rest5 = "rests-5", + Rest6 = "rests-6", + Rest0W = "rests-0", + RestM1 = "rests-M1", + // flags + Flag3 = "flags-u3", + // flags.d3 + Flag4 = "flags-u4", + // flags.d4 + Flag5 = "flags-u5", + // flags.d5 + Flag6 = "flags-u6", + // flags.d6 + Flag7 = "flags-u7", + // flags.d7 + Flag8 = "flags-u8", + // beams + BeamLeft = "|beam-left", + BeamRight = "|beam-right", + BeamContinue = "|beam-continue", + // tremolos + TremoloLeft = "|tremolo-left", + TremoloRight = "|tremolo-right", + TremoloMiddle = "|tremolo-middle", + // slur & tie + SlurBegin = "|slur-begin", + SlurEnd = "|slur-end", + TieBegin = "|tie-begin", + TieEnd = "|tie-end", + // volta + VoltaLeft = "|volta-left", + VoltaRight = "|volta-right", + VoltaAlternativeBegin = "|volta-alter-begin", + //VoltaAlternativeEnd = "|volta-alter-end", + // vertical bars + //BarMeasure = "|bar-measure", + BarTerminal = "|bar-terminal", + BarSegment = "|bar-segment", + // dots (duration) + Dot = "|dot", + DotDot = "|dotdot", + // dynamics + f = "f", + p = "p", + m = "m", + r = "r", + s = "s", + z = "z", + // + WedgeCrescendo = "|wedge-crescendo", + WedgeDiminuendo = "|wedge-diminuendo", + WedgeClose = "|wedge-close", + CrescendoBegin = "|wedge-crescendo", + DecrescendoBegin = "|wedge-diminuendo", + CrescendoEnd = "|wedge-close", + DecrescendoEnd = "|wedge-close", + // scripts + ScriptFermata = "scripts-ufermata", + // scripts.dfermata + ScriptShortFermata = "scripts-ushortfermata", + // scripts.dshortfermata + ScriptSforzato = "scripts-sforzato", + ScriptStaccato = "scripts-staccato", + ScriptStaccatissimo = "scripts-ustaccatissimo", + // scripts.dstaccatissimo + ScriptTurn = "scripts-turn", + ScriptTrill = "scripts-trill", + ScriptSegno = "scripts-segno", + ScriptCoda = "scripts-coda", + ScriptArpeggio = "scripts-arpeggio", + ScriptPrall = "scripts-prall", + ScriptMordent = "scripts-mordent", + ScriptMarcato = "scripts-umarcato", + // scripts.dmarcato + ScriptTenuto = "scripts-tenuto", + ScriptPortato = "scripts-uportato", + // pedal + PedalStar = "pedal-star", + PedalPed = "pedal-Ped", + Text = "|text", + GraceNotehead = "|grace-notehead" + } + const TokenTypes: TokenType[]; + const TokenClefs: TokenType[]; + const TokenTimesigs: TokenType[]; + const TokenTimesigsC: TokenType[]; + const TokenTimesigsN: TokenType[]; + const TokenOctshifts: TokenType[]; + const TokenNumbers: TokenType[]; + const TokenAccidentals: TokenType[]; + const TokenNoteheads: TokenType[]; + const TokenBareNoteheads: TokenType[]; + const TokenDirectionalNoteheads: TokenType[]; + const TokenRests: TokenType[]; + const TokenFlags: TokenType[]; + const TokenVolta: TokenType[]; + const TokenDynamics: TokenType[]; + const TokenScripts: TokenType[]; + const TokenPedals: TokenType[]; + const TokenDots: TokenType[]; + const TokenArcs: TokenType[]; + const TokenBeams: TokenType[]; + const TokenWedges: TokenType[]; + const TokenAccessories: TokenType[]; + const TokenDirectionless: TokenType[]; + const TokenGlyphs: TokenType[]; + const TOKEN_Y_ROUND: Record; + const TOKEN_Y_FIXED: Record; + class Token { + static className: string; + id: string; + type: TokenType; + x: number; + y: number; + pivotX?: number; + confidence: number; + tip?: { + x: number; + y: number; + }; + voice?: number; // integer, every bit stand for a voice + timeWarped?: boolean; + constructor(data: any); + get typeId(): string; + get isPredicted(): boolean; + get isNotehead(): boolean; + get isContexted(): boolean; + get isAccessory(): boolean; + get division(): number; + get dots(): number; + get direction(): "u" | "d" | null; + get width(): number; + get left(): number; + get right(): number; + get voiceIndices(): number[]; + } + class TextToken extends Token { + textType: TextType; + text: string; + textFeature?: Record; + width_: number; + fontSize: number; + constructor(data: any); + get width(): number; + set width(value: number); + } + const recoverJSON: (json: string | object, classDict: any) => T; + class SimpleClass { + assign(data?: object): void; + toJSON(): any; + deepCopy(): this; + } + const WHOLE_DURATION: number; + enum AccessoryDirection { + Up = "^", + Down = "_", + Middle = "-" + } + enum GraceType { + Grace = "grace", + AfterGrace = "afterGrace", + Acciaccatura = "acciaccatura", + Appoggiatura = "appoggiatura", + SlashedGrace = "slashedGrace" + } + enum StemBeam { + Open = "Open", + Close = "Close", + Continue = "Continue" + } + enum TremoloLink { + Pitcher = "Pitcher", + Catcher = "Catcher", + Pierced = "Pierced" + } + enum GlissandoStyle { + Normal = "normal", + DashedLine = "dashed-line", + DottedLine = "dotted-line", + Zigzag = "zigzag", + Trill = "trill" + } + enum ArpeggioStyle { + Normal = "Normal", + Bracket = "Bracket", + Parenthesis = "Parenthesis", + ParenthesisDashed = "ParenthesisDashed", + ArrowDown = "ArrowDown" + } + interface Accessory { + direction?: AccessoryDirection; + parenthesized?: boolean; + type: TokenType; + id?: string; + x: number; + } + interface TermPitch extends Pitch { + tying?: boolean; + tied?: boolean; + parenthesized?: boolean; + octaveShift?: number; + } + class Term extends SimpleClass { + x: number; + staff?: number; + } + type RestType = "r" | "R" | "s" | null; + interface DurationalTerm { + division: number; + dots: number; + multiplier?: Fraction; + } + class EventTerm extends Term implements DurationalTerm { + static className: string; + left: number; + right: number; + pivotX: number; + system: number; + roundX: number; // for tick map, scheduler + intX: number; // for measure hash + intY: number; + ys: number[]; // order by ascending pitch, low (greater Y) to high (less Y) + pitches?: TermPitch[]; + rest: RestType; + division: number; + dots: number; + accessories: Accessory[]; + multiplier: Fraction; + stemDirection: string; + tying: boolean; + tied: boolean; + repetitionChord: boolean; + grace?: GraceType; + beam?: StemBeam; + timeWarp?: Fraction; + parenthesized?: boolean; + tremolo?: number; // like division, 'number of beams' + 2 + tremoloLink?: TremoloLink; + glissando?: boolean; + glissandoStyle?: GlissandoStyle; + arpeggioStyle?: ArpeggioStyle; + tip?: { + x: number; + y: number; + }; + tick: number; + // for topology + id?: number; + prevId?: number; + tickGroup?: number; + feature: EventFeature; + predisposition: EventPredisposition; + graceIds?: number[]; + catcherId?: number; // tremolo catcher event ID for tremolo pitcher event + noteIds?: string[]; // order by upwards + static space({ tick, duration }: { + tick: number; + duration: number; + }): EventTerm; + constructor(data: any); + get alignedTick(): number; + get mainDuration(): number; + get duration(): number; + set duration(value: number); + get prior(): number; + get times(): string; + get fullMeasureRest(): boolean; + get tipX(): number; + get tipY(): number; + get tremoloCatcher(): boolean; + get scaleChord(): string; + get zeroHolder(): boolean; + } + enum ContextType { + Clef = 0, + KeyAcc = 1, + Acc = 2, + OctaveShift = 3, + TimeSignatureC = 4, + TimeSignatureN = 5 + } + class ContextedTerm extends Term { + static className: string; + y: number; + tokenType: TokenType; + tick: number; + constructor(data: any); + get type(): ContextType; + get staffLevel(): boolean; + get prior(): number; + get clef(): number; + get alter(): 1 | 0 | 2 | -1 | -2; + get octaveShift(): number; + get number(): number; + } + //class BreakTerm extends Term { + //}; + class MarkTerm extends Term { + static className: string; + tick: number; + get prior(): number; + } + class TempoTerm extends MarkTerm { + static className: string; + duration: string; + beats: string; + static fromNumeralText(text: string): TempoTerm; + constructor(data: any); + get prior(): number; + // a whole note equal to 1920 + get durationMagnitude(): number; + // beats per minute, suppose 1 beat = 480 ticks + get bpm(): number; + isValid(range?: number[]): boolean; + } + class GlyphTerm extends MarkTerm { + static className: string; + glyph: string; + constructor(data: any); + } + class TextTerm extends MarkTerm { + static className: string; + direction?: AccessoryDirection; + text: string; + bold: boolean; + italic: boolean; + constructor(data: any); + } + class LyricTerm extends MarkTerm { + static className: string; + text: string; + constructor(data: any); + } + class CommandTerm extends MarkTerm { + static className: string; + command: string; + parameters: string[]; + constructor(data: any); + } + class ChordmodeTerm extends Term implements DurationalTerm { + static className: string; + pitch: Pitch; + basePitch?: Pitch; + modifier?: string; + division: number; + dots: number; + multiplier: Fraction; + tick: number; + constructor(data: any); + get prior(): number; + get duration(): number; + } + type Hash = Uint8Array; + class HashVector { + fields: number[]; + static fromHash(hash: Hash): HashVector; + static fromString(source: string): HashVector; + static fromWords(words: string[]): HashVector; + static concat(...vectors: HashVector[]): HashVector; + constructor(fields?: number[] | null); + get length(): number; + toHash(): Hash; + add(vec: HashVector): this; + scale(factor: number): this; + sub(crop: number): HashVector; + static get zero(): HashVector; + } + const cosHashes: (hash1: Hash, hash2: Hash) => number; + const cosBigInts: (hash1: bigint, hash2: bigint, len?: number) => number; + const hashToHex: (hash: Hash) => string; + const hexToHash: (hex: string) => Hash; + const hashToBigInt: (hash: Hash) => bigint; + const hashFromWords: (words: string[]) => Hash; + interface RawItem { + id: string; + leftBounds: string[]; + rightBounds: string[]; + conjunction: string; + } + enum StaffGroupType { + Default = 0, + Brace = 1, + // {} + Bracket = 2, + // <> + Square = 3 + } + enum StaffConjunctionType { + Blank = 0, + Dashed = 1, + Solid = 2 + } + type StaffID = string; + interface StaffGroup { + type: StaffGroupType; + subs?: StaffGroup[]; + staff?: StaffID; + level?: number; + grand?: boolean; + } + interface StaffGroupTrait { + group: StaffGroup; + range: [ + number, + number + ]; + key: string; + } + const groupKey: (group: StaffGroup) => string; + interface MaskedStaffLayout { + staffIds: string[]; + conjunctions: StaffConjunctionType[]; + groups: StaffGroupTrait[]; + } + class StaffLayout { + staffIds: string[]; + conjunctions: StaffConjunctionType[]; + group: StaffGroup; + groups: StaffGroupTrait[]; + maskCache: Map; + constructor(raw: RawItem[]); + get stavesCount(): number; + get partGroups(): StaffGroupTrait[]; + get standaloneGroups(): string[][]; + conjunctionBetween(upStaff: number, downStaff: number): StaffConjunctionType; + static makeMaskLayout(layout: StaffLayout, mask: number): MaskedStaffLayout; + mask(mask: number): MaskedStaffLayout; + // {,} * 1,1 => {,} + // {,} * 1,x => { + // {,} * 0,x => + // {,} * 0,1 => {} + partialMaskCode(bits: (1 | 0)[], withIds?: boolean): string; + } + const parseCode: (code: string) => StaffLayout; + interface Rect { + x: number; + y: number; + width: number; + height: number; + } + interface ChordRect { + x: number; + stemX: number; + width: number; + top: number; + bottom: number; + stemDirection: string; + tip?: { + x: number; + y: number; + }; + } + interface VLine { + x: number; + y1: number; + y2: number; + } + interface Fraction$0 { + numerator: number; + denominator: number; + } + type DivisionVecotor = [ + number, + number, + number, + number, + number, + number, + number, + number, + number + ]; // [0, 1, 2, 3, 4, 5, 6, 7, 8] + type MeasureBarType = null | "Terminal" | "Segment" | "VoltaRight"; + interface EventFeature { + divisions: DivisionVecotor; + dots: [ + number, + number + ]; // [1, 2] + beams: [ + number, + number, + number + ]; // ['Open', 'Continue', 'Close'] + stemDirections: [ + number, + number + ]; // ['u', 'd'] + grace: number; + tremoloCatcher: number; + } + interface EventPredisposition { + grace: boolean; + timeWarped: number; + fullMeasure: number; + fake: number; + fakeP: number; + tick: number; + division: number; + dots: number; + divisionVector: DivisionVecotor; + dotsVector: [ + number, + number, + number + ]; // [0, 1, 2] + beamVector: [ + number, + number, + number, + number + ]; // [null, open, continue, close] + stemDirectionVector: [ + number, + number, + number + ]; // [null, up, down] + } + interface ChordColumn { + left: number; + right: number; + pivotX: number; + ys: number[]; + noteIds: string[]; // order by upwards + division: number; + dots: number; + rest: boolean; + stemDirection: string; + accessories?: Accessory[]; + grace?: GraceType; + tremolo?: number; + tremoloLink?: TremoloLink; + beam?: string; + tip?: { + x: number; + y: number; + }; + //stemTipY?: number; + // for topology + staff?: number; + id?: number; + prevId?: number; + tickGroup?: number; + feature?: EventFeature; + } + interface EventMeasure { + events: EventTerm[]; + contexts: ContextedTerm[]; + } + interface StaffBasic { + timeSignature: Fraction$0; + timeSigNumeric: boolean; + keySignature: number; + doubtfulTimesig: boolean; + } + interface EventMeasureColumn { + measureIndex: number; + //startX: number; + //width: number; + rows: EventMeasure[]; // [staff] + marks: MarkTerm[]; + duration: number; + voices?: number[][]; // [voice, id] + break?: boolean; + pageBreak?: boolean; + basics?: StaffBasic[]; // [staff] + xMap?: Map; + regularLoss?: number; + voltaBegin: boolean; + voltaEnd: boolean; + alternative: boolean; + barTypes: Record; + } + interface EventSystem { + staffMask: number; + columns: EventMeasureColumn[]; // [measure] + } + interface TermMeasure extends Partial { + terms: Term[]; + duration: number; + break?: boolean; + pageBreak?: boolean; + } + type TermRow = TermMeasure[]; + interface TermStaff { + rows: TermRow[]; // [system] + } + interface Pitch { + note: number; + alter: number; + } + enum PageLayoutMethod { + ByLines = "ByLines", + ByBlocks = "ByBlocks" + } + interface RecognitionSettings { + enabledGauge: boolean; // staves straighten + pageLayoutMethod: PageLayoutMethod; + semanticConfidenceThreshold: number; + } + interface Crop { + aspect?: number | undefined; + x?: number | undefined; + y?: number | undefined; + width?: number | undefined; + height?: number | undefined; + unit?: "px" | "%" | undefined; + } + // 0 2 4 r r tx + // 1 3 5 r r ty + type Matrix2x3 = [ + number, + number, + number, + number, + number, + number + ]; + interface SourceImageFile { + name: string; + size: number; + url: string; + crop?: Crop; + matrix: Matrix2x3; + dimensions: { + width: number; + height: number; + }; + interval: number; + needGauge?: boolean; + } + interface Area extends Rect { + staves: { + interval: number; + middleRhos: number[]; + phi1: number; + phi2: number; + }; + } + interface PageLayout { + areas: Area[]; + } + interface MeasureBrief { + timeSignature: Fraction$0; + } + interface VoiceMeasure { + tickMap: { + [key: number]: EventTerm | ChordmodeTerm; + }; + duration: number; + timeSignature?: Fraction$0; + timeSigNumeric?: boolean; + keySignature?: number; + contextedTerms: ContextedTerm[]; + marks: MarkTerm[]; + break?: boolean; + pageBreak?: boolean; + bar?: string; + empty?: boolean; + headStaff?: number; + tailStaff?: number; + trait?: HashVector; + voiceIndex?: number; + } + interface TermVoice { + mode: string; + measures: VoiceMeasure[]; + } + interface VoicesStaff { + context?: string; + name?: string; + voices: TermVoice[]; + } + interface PaperOptions { + raggedLast: boolean; + raggedBottom: boolean; + raggedLastBottom: boolean; + slashSystemSeparator: boolean; + } + interface MusicHeaders { + title: string; + subtitle: string; + subsubtitle: string; + composer: string; + poet: string; + arranger: string; + opus: string; + copyright: string; + instrument: string; + dedication: string; + tagline: string; + } + interface MusicSheet { + title: string; + pageSize: { + // in pixels + width: number; + height: number; + }; + unitSize: number; + measureLayout?: measureLayout.MeasureLayout; + staffLayout: StaffLayout; + paperOptions?: Partial; + headers: Partial; + voiceStaves: VoicesStaff[]; + instrumentDict: { + [key: string]: string; + }; + } + interface Performing { + notation: MetaNotation; + tokenMap: Map; + } + type RegulationPolicy = "test" | "simple" | "equations" | "advanced"; + interface RegulationOptions { + policy?: RegulationPolicy; + quota?: number; + [key: string]: any; + } + interface ScoreData { + version?: number; + [key: string]: any; + } + interface AdditionalLineStack { + left: number; + right: number; + n: number; + } + interface RegulationSolutionEvent { + id: number; + tick: number; + tickGroup: number; + timeWarp: Fraction$0; + division?: number; + dots?: number; + beam?: string; + grace?: boolean; + fullMeasure?: boolean; + } + interface RegulationSolution { + events: RegulationSolutionEvent[]; + voices: number[][]; + duration: number; + priority?: number; + estimatedDuration?: number; + timeSignature?: Fraction$0; + } + interface BackgroundImage { + url: string; + position: Rect; + original?: boolean; + } + enum TextType { + // LEVEL CHARSET + Title = "Title", + // page general + Author = "Author", + // page general + TempoText = "TempoText", + // measure specific vocabulary + TempoNumeral = "TempoNumeral", + // measure symbolic and numeric + TextualMark = "TextualMark", + // term specific vocabulary + Lyric = "Lyric", + // term general + Instrument = "Instrument", + // system specific vocabulary + MeasureNumber = "MeasureNumber", + // system numeric + Times = "Times", + // staff numeric + Alternation1 = "Alternation1", + // measure numeric + Alternation2 = "Alternation2", + // measure numeric + Chord = "Chord", + // measure specific domian + PageMargin = "PageMargin", + // page general + Other = "Other" + } + interface Logger { + debug(message?: any, ...optionalParams: any[]): void; + info(message?: any, ...optionalParams: any[]): void; + warn(message?: any, ...optionalParams: any[]): void; + group(...label: any[]): void; + groupCollapsed(...label: any[]): void; + groupEnd(): void; + assert(expr: boolean, ...optionalParams: any[]): void; + } + class DummyLogger implements Logger { + debug(..._: any[]): void; + group(..._: any[]): void; + groupCollapsed(..._: any[]): void; + groupEnd(): void; + info(..._: any[]): void; + warn(..._: any[]): void; + assert(..._: any[]): void; + } + type Matrix = number[][]; + type EventID = number; + type Time = number; + type Equation = number[]; + interface Stage { + events: EventID[]; + index?: number; + tick?: Time; + } + enum ActionType { + PLACE = 0, + VERTICAL = 1, + HORIZONTAL = 2 + } + class Action { + type: ActionType; + e1: EventID; + e2?: EventID; + constructor(data: any); + static P(e: EventID): Action; + static V(e1: EventID, e2: EventID, order?: number): Action; + static H(e1: EventID, e2: EventID): Action; + get id(): string; + get events(): EventID[]; + } + interface Quota { + credits: number; + } + interface BasicEvent { + id: EventID; + confidence: number; + shrinkness: number; // the possibility of time warp + x: number; + staff?: number; + duration: Time; + } + interface Event extends BasicEvent { + lowWarp: number; + } + interface EventResult { + id: EventID; + tick: Time; + endTick: Time; + tickGroup: number; + timeWarp?: Fraction$0; + } + interface Environment { + events: BasicEvent[]; + expectedDuration: Time; + measureShrinkness: number; + endX: number; + matrixH: Matrix; + matrixV: Matrix; + } + interface Solution { + events: EventResult[]; + voices: EventID[][]; + duration: number; + loss?: number; + actions?: string; + credits?: number; + times?: number; + } + interface Status { + actionAccessing: Map; + eventMap: { + [id: number]: Event; + }; + eventTendencies: number[]; + matrixH: Matrix; // matrix N+1 x N [right][left] + matrixV: Matrix; // matrix N x N + } + interface InbalanceEquations { + ones: boolean[]; + inbalances: Equation[]; + } + interface SolverOptions { + quota?: number; + logger?: Logger; + } + class PathNode { + logger: Logger; + parent: PathNode; + action: Action; + possibility: number; + children: PathNode[]; + stages: Stage[]; + //stageMatrix: StageMatrix; + constraints: Equation[]; + constructor(data: any); + get actions(): Action[]; + get id(): string; + get stagedEvents(): Set; + like(ids: string): boolean; + constructStages(status: Status): void; + constructConstraints(status: Status): void; + inbalancesConstraints(status: Status): InbalanceEquations; + solveEquations({ ones, inbalances }: InbalanceEquations): number[]; + optimallySolve(status: Status): number[]; + isConflicted(status: Status): boolean; + getSolution(status: Status): Solution; + deduce(status: Status, quota: Quota): Solution; + expand(status: Status): void; + } + class Solver { + quota: number; + logger: Logger; + events: Event[]; + matrixH: Matrix; + matrixV: Matrix; + xSpan: number; + eventMap: { + [id: number]: Event; + }; + actionAccessing: Map; + pathRoot: PathNode; + constructor(env: Environment, { quota, logger }?: SolverOptions); + solve(): Solution; + evaluateSolution(solution: Solution): void; + } +} +declare namespace staffLayout { + interface RawItem { + id: string; + leftBounds: string[]; + rightBounds: string[]; + conjunction: string; + } + enum StaffGroupType { + Default = 0, + Brace = 1, + // {} + Bracket = 2, + // <> + Square = 3 + } + enum StaffConjunctionType { + Blank = 0, + Dashed = 1, + Solid = 2 + } + type StaffID = string; + interface StaffGroup { + type: StaffGroupType; + subs?: StaffGroup[]; + staff?: StaffID; + level?: number; + grand?: boolean; + } + interface StaffGroupTrait { + group: StaffGroup; + range: [ + number, + number + ]; + key: string; + } + const groupKey: (group: StaffGroup) => string; + interface MaskedStaffLayout { + staffIds: string[]; + conjunctions: StaffConjunctionType[]; + groups: StaffGroupTrait[]; + } + class StaffLayout { + staffIds: string[]; + conjunctions: StaffConjunctionType[]; + group: StaffGroup; + groups: StaffGroupTrait[]; + maskCache: Map; + constructor(raw: RawItem[]); + get stavesCount(): number; + get partGroups(): StaffGroupTrait[]; + get standaloneGroups(): string[][]; + conjunctionBetween(upStaff: number, downStaff: number): StaffConjunctionType; + static makeMaskLayout(layout: StaffLayout, mask: number): MaskedStaffLayout; + mask(mask: number): MaskedStaffLayout; + // {,} * 1,1 => {,} + // {,} * 1,x => { + // {,} * 0,x => + // {,} * 0,1 => {} + partialMaskCode(bits: (1 | 0)[], withIds?: boolean): string; + } + const parseCode: (code: string) => StaffLayout; +} +declare namespace EquationPolicy { + type EventID = number; + type Time = number; + interface Event { + id: EventID; + staff: number; + x: number; + y: number; + duration: Time; + confidence: number; + shrinkness: number; + } + export interface StaffGroup { + events: Event[]; + expectedDuration: Time; + measureShrinkness: number; + endX: number; + matrixH: Matrix; + matrixV: Matrix; + ids?: EventID[]; + } + interface EventResult { + id: EventID; + tick: Time; + endTick: Time; + tickGroup: number; + timeWarp?: Fraction; + } + export interface StaffGroupSolution { + events: EventResult[]; + voices: EventID[][]; + duration: number; + loss?: number; + credits?: number; + times?: number; + } + export interface RegulatorOptions extends EquationSolver.SolverOptions { + solver?: (staffGroup: StaffGroup, options: EquationSolver.SolverOptions) => Promise; + } + export const estiamteMeasure: (measure: SpartitoMeasure) => StaffGroup; + export const regulateMeasure: (measure: SpartitoMeasure, { solver, ...options }: RegulatorOptions) => Promise; + export const regulateMeasureWithRectification: (measure: SpartitoMeasure, rectification: MeasureRectification, { solver, ...options }: RegulatorOptions) => Promise; + export {}; +} +declare namespace EquationPolicy { + type EventID = number; + type Time = number; + interface Event { + id: EventID; + staff: number; + x: number; + y: number; + duration: Time; + confidence: number; + shrinkness: number; + } + export interface StaffGroup { + events: Event[]; + expectedDuration: Time; + measureShrinkness: number; + endX: number; + matrixH: Matrix; + matrixV: Matrix; + ids?: EventID[]; + } + interface EventResult { + id: EventID; + tick: Time; + endTick: Time; + tickGroup: number; + timeWarp?: Fraction; + } + export interface StaffGroupSolution { + events: EventResult[]; + voices: EventID[][]; + duration: number; + loss?: number; + credits?: number; + times?: number; + } + export interface RegulatorOptions extends EquationSolver.SolverOptions { + solver?: (staffGroup: StaffGroup, options: EquationSolver.SolverOptions) => Promise; + } + export const estiamteMeasure: (measure: SpartitoMeasure) => StaffGroup; + export const regulateMeasure: (measure: SpartitoMeasure, { solver, ...options }: RegulatorOptions) => Promise; + export const regulateMeasureWithRectification: (measure: SpartitoMeasure, rectification: MeasureRectification, { solver, ...options }: RegulatorOptions) => Promise; + export {}; +} +declare namespace starry { + // implicit note (from expressive marks) types + enum ImplicitType { + None = 0, + Mordent = "mordent", + Prall = "prall", + Turn = "turn", + Trill = "trill", + Tremolo = "tremolo", + Arpeggio = "arpeggio" + } + interface ChordPosition { + index: number; + count: number; + } + class TokenPosition { + system?: number; + measure?: number; + x: number; + endX?: number; + } + interface Note extends MusicNotation.Note { + chordPosition?: ChordPosition; + measure?: number; + } + interface Notation { + notes: Note[]; + endTick: number; + } + interface SheetPosition { + system: number; + x: number; + } + interface Fraction { + numerator: number; + denominator: number; + } + interface StaffNoteProperties { + rest: boolean; + tied: boolean; + overlapped: boolean; + implicitType: ImplicitType; + afterGrace: boolean; + chordPosition: ChordPosition; + division: number; + contextIndex: number; + staffTrack: number; + } + interface MetaNote extends MusicNotation.Note, Partial { + id: string; + measure: number; + endTick: number; + } + interface SubNote { + startTick: number; + endTick: number; + pitch: number; + velocity?: number; + } + interface MeasureNote extends Partial { + tick: number; + pitch: number; + duration: number; + chordPosition: ChordPosition; + staff: number; + track: number; + channel: number; + id: string; + ids: string[]; + subNotes: SubNote[]; + } + interface MeasureEvent { + data: any; + track: number; + ticks?: number; + } + interface Measure { + tick: number; + duration: number; + notes: MeasureNote[]; + events?: MeasureEvent[]; + timeSignature?: Fraction; + keySignature?: number; + } + interface PerformOptions { + withRestTied?: boolean; + } + interface MidiEvent extends MIDI.MidiEvent { + ticks?: number; + measure?: number; + ids?: string[]; + staffTrack?: number; + staff?: number; + } + class MetaNotation { + //pitchContextGroup: PitchContextTable[]; + //measureLayout: MeasureLayout; + measures: Measure[]; + trackNames: string[]; + idTrackMap: { + [key: string]: number; + }; + ripe: boolean; + static fromAbsoluteNotes(notes: MetaNote[], measureHeads: number[], data?: Partial): MetaNotation; + static performAbsoluteNotes(abNotes: MetaNote[], { withRestTied }?: PerformOptions): MusicNotation.Note[]; + constructor(data?: Partial); + /*get ordinaryMeasureIndices (): number[] { + if (this.measureLayout) + return this.measureLayout.serialize(LayoutType.Ordinary); + + return Array(this.measures.length).fill(null).map((_, i) => i + 1); + }*/ + // In Lilypond 2.20.0, minus tick value at the head of a track result in MIDI event time bias, + // So store the bias values to correct MIDI time from lilyond. + get trackTickBias(): { + [key: string]: number; + }; + get idSet(): Set; + toJSON(): { + __prototype: string; + measures: Measure[]; + idTrackMap: { + [key: string]: number; + }; + trackNames: string[]; + ripe: boolean; + }; + toAbsoluteNotes(measureIndices: number[] /*= this.ordinaryMeasureIndices*/): MetaNote[]; + /*getMeasureIndices (type: LayoutType) { + return this.measureLayout.serialize(type); + }*/ + toPerformingNotation(measureIndices: number[] /*= this.ordinaryMeasureIndices*/, options?: PerformOptions): MusicNotation.Notation; + toPerformingMIDI(measureIndices: number[], { trackList }?: { + trackList?: boolean[]; + }): MIDI.MidiData & { + zeroTick: number; + }; + toPerformingNotationWithEvents(measureIndices: number[], options?: { + trackList?: boolean[]; + }): MusicNotation.Notation; + // find the MIDI event of setTempo in measures data, and change the value of microsecondsPerBeat + setTempo(bpm: number): boolean; + } + interface TickItem { + tick: number; + endTick?: number; + system: number; + measure: number; + x: number; + endX: number; + } + class Scheduler { + tickTable: TickItem[]; + static createFromNotation(midiNotation: Notation, tokenMap: Map): Scheduler; + static createFromTokenTable(tokenTable: { + [key: number]: TokenPosition[]; + }, endTick: number): Scheduler; + constructor({ tickTable }: { + tickTable: TickItem[]; + }); + get startTick(): number; + get endTick(): number; + lookupPosition(tick: number): SheetPosition; + lookupTick(position: SheetPosition): number; + } + enum TokenType { + // clefs + ClefG = "clefs-G", + // clefs.G_change + ClefF = "clefs-F", + // clefs.F_change + ClefC = "clefs-C", + // time signature + TimesigC44 = "timesig-C44", + TimesigC22 = "timesig-C22", + TimesigZero = "zero|timesig0", + TimesigOne = "one|timesig1", + TimesigTwo = "two|timesig2", + TimesigThree = "three|timesig3", + TimesigFour = "four|timesig4", + TimesigFive = "five|timesig5", + TimesigSix = "six|timesig6", + TimesigSeven = "seven|timesig7", + TimesigEight = "eight|timesig8", + TimesigNine = "nine|timesig9", + // octave shifts + OctaveShift8va = "octave-a", + OctaveShift8vb = "octave-b", + OctaveShift0 = "octave-0", + // numbers + Zero = "zero|n0", + One = "one|n1", + Two = "two|n2", + Three = "three|n3", + Four = "four|n4", + Five = "five|n5", + Six = "six|n6", + Seven = "seven|n7", + Eight = "eight|n8", + Nine = "nine|n9", + // accidentals + AccNatural = "accidentals-natural", + AccSharp = "accidentals-sharp", + AccDoublesharp = "accidentals-doublesharp", + AccFlat = "accidentals-flat", + AccFlatflat = "accidentals-flatflat", + KeyNatural = "accidentals-natural|key-natural", + KeySharp = "accidentals-sharp|key-sharp", + KeyFlat = "accidentals-flat|key-flat", + // noteheads + NoteheadS0 = "noteheads-s0", + NoteheadS1 = "noteheads-s1", + NoteheadS2 = "noteheads-s2", + NoteheadS1stemU = "noteheads-s1|noteheads-s1-u", + NoteheadS1stemD = "noteheads-s1|noteheads-s1-d", + NoteheadS2stemU = "noteheads-s2|noteheads-s2-u", + NoteheadS2stemD = "noteheads-s2|noteheads-s2-d", + // rests + Rest0 = "rests-0o", + Rest1 = "rests-1o", + Rest2 = "rests-2", + Rest3 = "rests-3", + Rest4 = "rests-4", + Rest5 = "rests-5", + Rest6 = "rests-6", + Rest0W = "rests-0", + RestM1 = "rests-M1", + // flags + Flag3 = "flags-u3", + // flags.d3 + Flag4 = "flags-u4", + // flags.d4 + Flag5 = "flags-u5", + // flags.d5 + Flag6 = "flags-u6", + // flags.d6 + Flag7 = "flags-u7", + // flags.d7 + Flag8 = "flags-u8", + // beams + BeamLeft = "|beam-left", + BeamRight = "|beam-right", + BeamContinue = "|beam-continue", + // tremolos + TremoloLeft = "|tremolo-left", + TremoloRight = "|tremolo-right", + TremoloMiddle = "|tremolo-middle", + // slur & tie + SlurBegin = "|slur-begin", + SlurEnd = "|slur-end", + TieBegin = "|tie-begin", + TieEnd = "|tie-end", + // volta + VoltaLeft = "|volta-left", + VoltaRight = "|volta-right", + VoltaAlternativeBegin = "|volta-alter-begin", + //VoltaAlternativeEnd = "|volta-alter-end", + // vertical bars + //BarMeasure = "|bar-measure", + BarTerminal = "|bar-terminal", + BarSegment = "|bar-segment", + // dots (duration) + Dot = "|dot", + DotDot = "|dotdot", + // dynamics + f = "f", + p = "p", + m = "m", + r = "r", + s = "s", + z = "z", + // + WedgeCrescendo = "|wedge-crescendo", + WedgeDiminuendo = "|wedge-diminuendo", + WedgeClose = "|wedge-close", + CrescendoBegin = "|wedge-crescendo", + DecrescendoBegin = "|wedge-diminuendo", + CrescendoEnd = "|wedge-close", + DecrescendoEnd = "|wedge-close", + // scripts + ScriptFermata = "scripts-ufermata", + // scripts.dfermata + ScriptShortFermata = "scripts-ushortfermata", + // scripts.dshortfermata + ScriptSforzato = "scripts-sforzato", + ScriptStaccato = "scripts-staccato", + ScriptStaccatissimo = "scripts-ustaccatissimo", + // scripts.dstaccatissimo + ScriptTurn = "scripts-turn", + ScriptTrill = "scripts-trill", + ScriptSegno = "scripts-segno", + ScriptCoda = "scripts-coda", + ScriptArpeggio = "scripts-arpeggio", + ScriptPrall = "scripts-prall", + ScriptMordent = "scripts-mordent", + ScriptMarcato = "scripts-umarcato", + // scripts.dmarcato + ScriptTenuto = "scripts-tenuto", + ScriptPortato = "scripts-uportato", + // pedal + PedalStar = "pedal-star", + PedalPed = "pedal-Ped", + Text = "|text", + GraceNotehead = "|grace-notehead" + } + const TokenTypes: TokenType[]; + const TokenClefs: TokenType[]; + const TokenTimesigs: TokenType[]; + const TokenTimesigsC: TokenType[]; + const TokenTimesigsN: TokenType[]; + const TokenOctshifts: TokenType[]; + const TokenNumbers: TokenType[]; + const TokenAccidentals: TokenType[]; + const TokenNoteheads: TokenType[]; + const TokenBareNoteheads: TokenType[]; + const TokenDirectionalNoteheads: TokenType[]; + const TokenRests: TokenType[]; + const TokenFlags: TokenType[]; + const TokenVolta: TokenType[]; + const TokenDynamics: TokenType[]; + const TokenScripts: TokenType[]; + const TokenPedals: TokenType[]; + const TokenDots: TokenType[]; + const TokenArcs: TokenType[]; + const TokenBeams: TokenType[]; + const TokenWedges: TokenType[]; + const TokenAccessories: TokenType[]; + const TokenDirectionless: TokenType[]; + const TokenGlyphs: TokenType[]; + const TOKEN_Y_ROUND: Record; + const TOKEN_Y_FIXED: Record; + class Token { + static className: string; + id: string; + type: TokenType; + x: number; + y: number; + pivotX?: number; + confidence: number; + tip?: { + x: number; + y: number; + }; + voice?: number; // integer, every bit stand for a voice + timeWarped?: boolean; + constructor(data: any); + get typeId(): string; + get isPredicted(): boolean; + get isNotehead(): boolean; + get isContexted(): boolean; + get isAccessory(): boolean; + get division(): number; + get dots(): number; + get direction(): "u" | "d" | null; + get width(): number; + get left(): number; + get right(): number; + get voiceIndices(): number[]; + } + class TextToken extends Token { + textType: TextType; + text: string; + textFeature?: Record; + width_: number; + fontSize: number; + constructor(data: any); + get width(): number; + set width(value: number); + } + const recoverJSON: (json: string | object, classDict: any) => T; + class SimpleClass { + assign(data?: object): void; + toJSON(): any; + deepCopy(): this; + } + const WHOLE_DURATION: number; + enum AccessoryDirection { + Up = "^", + Down = "_", + Middle = "-" + } + enum GraceType { + Grace = "grace", + AfterGrace = "afterGrace", + Acciaccatura = "acciaccatura", + Appoggiatura = "appoggiatura", + SlashedGrace = "slashedGrace" + } + enum StemBeam { + Open = "Open", + Close = "Close", + Continue = "Continue" + } + enum TremoloLink { + Pitcher = "Pitcher", + Catcher = "Catcher", + Pierced = "Pierced" + } + enum GlissandoStyle { + Normal = "normal", + DashedLine = "dashed-line", + DottedLine = "dotted-line", + Zigzag = "zigzag", + Trill = "trill" + } + enum ArpeggioStyle { + Normal = "Normal", + Bracket = "Bracket", + Parenthesis = "Parenthesis", + ParenthesisDashed = "ParenthesisDashed", + ArrowDown = "ArrowDown" + } + interface Accessory { + direction?: AccessoryDirection; + parenthesized?: boolean; + type: TokenType; + id?: string; + x: number; + } + interface TermPitch extends Pitch { + tying?: boolean; + tied?: boolean; + parenthesized?: boolean; + octaveShift?: number; + } + class Term extends SimpleClass { + x: number; + staff?: number; + } + type RestType = "r" | "R" | "s" | null; + interface DurationalTerm { + division: number; + dots: number; + multiplier?: Fraction; + } + class EventTerm extends Term implements DurationalTerm { + static className: string; + left: number; + right: number; + pivotX: number; + system: number; + roundX: number; // for tick map, scheduler + intX: number; // for measure hash + intY: number; + ys: number[]; // order by ascending pitch, low (greater Y) to high (less Y) + pitches?: TermPitch[]; + rest: RestType; + division: number; + dots: number; + accessories: Accessory[]; + multiplier: Fraction; + stemDirection: string; + tying: boolean; + tied: boolean; + repetitionChord: boolean; + grace?: GraceType; + beam?: StemBeam; + timeWarp?: Fraction; + parenthesized?: boolean; + tremolo?: number; // like division, 'number of beams' + 2 + tremoloLink?: TremoloLink; + glissando?: boolean; + glissandoStyle?: GlissandoStyle; + arpeggioStyle?: ArpeggioStyle; + tip?: { + x: number; + y: number; + }; + tick: number; + // for topology + id?: number; + prevId?: number; + tickGroup?: number; + feature: EventFeature; + predisposition: EventPredisposition; + graceIds?: number[]; + catcherId?: number; // tremolo catcher event ID for tremolo pitcher event + noteIds?: string[]; // order by upwards + static space({ tick, duration }: { + tick: number; + duration: number; + }): EventTerm; + constructor(data: any); + get alignedTick(): number; + get mainDuration(): number; + get duration(): number; + set duration(value: number); + get prior(): number; + get times(): string; + get fullMeasureRest(): boolean; + get tipX(): number; + get tipY(): number; + get tremoloCatcher(): boolean; + get scaleChord(): string; + get zeroHolder(): boolean; + } + enum ContextType { + Clef = 0, + KeyAcc = 1, + Acc = 2, + OctaveShift = 3, + TimeSignatureC = 4, + TimeSignatureN = 5 + } + class ContextedTerm extends Term { + static className: string; + y: number; + tokenType: TokenType; + tick: number; + constructor(data: any); + get type(): ContextType; + get staffLevel(): boolean; + get prior(): number; + get clef(): number; + get alter(): 1 | 0 | 2 | -1 | -2; + get octaveShift(): number; + get number(): number; + } + //class BreakTerm extends Term { + //}; + class MarkTerm extends Term { + static className: string; + tick: number; + get prior(): number; + } + class TempoTerm extends MarkTerm { + static className: string; + duration: string; + beats: string; + static fromNumeralText(text: string): TempoTerm; + constructor(data: any); + get prior(): number; + // a whole note equal to 1920 + get durationMagnitude(): number; + // beats per minute, suppose 1 beat = 480 ticks + get bpm(): number; + isValid(range?: number[]): boolean; + } + class GlyphTerm extends MarkTerm { + static className: string; + glyph: string; + constructor(data: any); + } + class TextTerm extends MarkTerm { + static className: string; + direction?: AccessoryDirection; + text: string; + bold: boolean; + italic: boolean; + constructor(data: any); + } + class LyricTerm extends MarkTerm { + static className: string; + text: string; + constructor(data: any); + } + class CommandTerm extends MarkTerm { + static className: string; + command: string; + parameters: string[]; + constructor(data: any); + } + class ChordmodeTerm extends Term implements DurationalTerm { + static className: string; + pitch: Pitch; + basePitch?: Pitch; + modifier?: string; + division: number; + dots: number; + multiplier: Fraction; + tick: number; + constructor(data: any); + get prior(): number; + get duration(): number; + } + type Hash = Uint8Array; + class HashVector { + fields: number[]; + static fromHash(hash: Hash): HashVector; + static fromString(source: string): HashVector; + static fromWords(words: string[]): HashVector; + static concat(...vectors: HashVector[]): HashVector; + constructor(fields?: number[] | null); + get length(): number; + toHash(): Hash; + add(vec: HashVector): this; + scale(factor: number): this; + sub(crop: number): HashVector; + static get zero(): HashVector; + } + const cosHashes: (hash1: Hash, hash2: Hash) => number; + const cosBigInts: (hash1: bigint, hash2: bigint, len?: number) => number; + const hashToHex: (hash: Hash) => string; + const hexToHash: (hex: string) => Hash; + const hashToBigInt: (hash: Hash) => bigint; + const hashFromWords: (words: string[]) => Hash; + interface RawItem { + id: string; + leftBounds: string[]; + rightBounds: string[]; + conjunction: string; + } + enum StaffGroupType { + Default = 0, + Brace = 1, + // {} + Bracket = 2, + // <> + Square = 3 + } + enum StaffConjunctionType { + Blank = 0, + Dashed = 1, + Solid = 2 + } + type StaffID = string; + interface StaffGroup { + type: StaffGroupType; + subs?: StaffGroup[]; + staff?: StaffID; + level?: number; + grand?: boolean; + } + interface StaffGroupTrait { + group: StaffGroup; + range: [ + number, + number + ]; + key: string; + } + const groupKey: (group: StaffGroup) => string; + interface MaskedStaffLayout { + staffIds: string[]; + conjunctions: StaffConjunctionType[]; + groups: StaffGroupTrait[]; + } + class StaffLayout { + staffIds: string[]; + conjunctions: StaffConjunctionType[]; + group: StaffGroup; + groups: StaffGroupTrait[]; + maskCache: Map; + constructor(raw: RawItem[]); + get stavesCount(): number; + get partGroups(): StaffGroupTrait[]; + get standaloneGroups(): string[][]; + conjunctionBetween(upStaff: number, downStaff: number): StaffConjunctionType; + static makeMaskLayout(layout: StaffLayout, mask: number): MaskedStaffLayout; + mask(mask: number): MaskedStaffLayout; + // {,} * 1,1 => {,} + // {,} * 1,x => { + // {,} * 0,x => + // {,} * 0,1 => {} + partialMaskCode(bits: (1 | 0)[], withIds?: boolean): string; + } + const parseCode: (code: string) => StaffLayout; + interface Rect { + x: number; + y: number; + width: number; + height: number; + } + interface ChordRect { + x: number; + stemX: number; + width: number; + top: number; + bottom: number; + stemDirection: string; + tip?: { + x: number; + y: number; + }; + } + interface VLine { + x: number; + y1: number; + y2: number; + } + interface Fraction$0 { + numerator: number; + denominator: number; + } + type DivisionVecotor = [ + number, + number, + number, + number, + number, + number, + number, + number, + number + ]; // [0, 1, 2, 3, 4, 5, 6, 7, 8] + type MeasureBarType = null | "Terminal" | "Segment" | "VoltaRight"; + interface EventFeature { + divisions: DivisionVecotor; + dots: [ + number, + number + ]; // [1, 2] + beams: [ + number, + number, + number + ]; // ['Open', 'Continue', 'Close'] + stemDirections: [ + number, + number + ]; // ['u', 'd'] + grace: number; + tremoloCatcher: number; + } + interface EventPredisposition { + grace: boolean; + timeWarped: number; + fullMeasure: number; + fake: number; + fakeP: number; + tick: number; + division: number; + dots: number; + divisionVector: DivisionVecotor; + dotsVector: [ + number, + number, + number + ]; // [0, 1, 2] + beamVector: [ + number, + number, + number, + number + ]; // [null, open, continue, close] + stemDirectionVector: [ + number, + number, + number + ]; // [null, up, down] + } + interface ChordColumn { + left: number; + right: number; + pivotX: number; + ys: number[]; + noteIds: string[]; // order by upwards + division: number; + dots: number; + rest: boolean; + stemDirection: string; + accessories?: Accessory[]; + grace?: GraceType; + tremolo?: number; + tremoloLink?: TremoloLink; + beam?: string; + tip?: { + x: number; + y: number; + }; + //stemTipY?: number; + // for topology + staff?: number; + id?: number; + prevId?: number; + tickGroup?: number; + feature?: EventFeature; + } + interface EventMeasure { + events: EventTerm[]; + contexts: ContextedTerm[]; + } + interface StaffBasic { + timeSignature: Fraction$0; + timeSigNumeric: boolean; + keySignature: number; + doubtfulTimesig: boolean; + } + interface EventMeasureColumn { + measureIndex: number; + //startX: number; + //width: number; + rows: EventMeasure[]; // [staff] + marks: MarkTerm[]; + duration: number; + voices?: number[][]; // [voice, id] + break?: boolean; + pageBreak?: boolean; + basics?: StaffBasic[]; // [staff] + xMap?: Map; + regularLoss?: number; + voltaBegin: boolean; + voltaEnd: boolean; + alternative: boolean; + barTypes: Record; + } + interface EventSystem { + staffMask: number; + columns: EventMeasureColumn[]; // [measure] + } + interface TermMeasure extends Partial { + terms: Term[]; + duration: number; + break?: boolean; + pageBreak?: boolean; + } + type TermRow = TermMeasure[]; + interface TermStaff { + rows: TermRow[]; // [system] + } + interface Pitch { + note: number; + alter: number; + } + enum PageLayoutMethod { + ByLines = "ByLines", + ByBlocks = "ByBlocks" + } + interface RecognitionSettings { + enabledGauge: boolean; // staves straighten + pageLayoutMethod: PageLayoutMethod; + semanticConfidenceThreshold: number; + } + interface Crop { + aspect?: number | undefined; + x?: number | undefined; + y?: number | undefined; + width?: number | undefined; + height?: number | undefined; + unit?: "px" | "%" | undefined; + } + // 0 2 4 r r tx + // 1 3 5 r r ty + type Matrix2x3 = [ + number, + number, + number, + number, + number, + number + ]; + interface SourceImageFile { + name: string; + size: number; + url: string; + crop?: Crop; + matrix: Matrix2x3; + dimensions: { + width: number; + height: number; + }; + interval: number; + needGauge?: boolean; + } + interface Area extends Rect { + staves: { + interval: number; + middleRhos: number[]; + phi1: number; + phi2: number; + }; + } + interface PageLayout { + areas: Area[]; + } + interface MeasureBrief { + timeSignature: Fraction$0; + } + interface VoiceMeasure { + tickMap: { + [key: number]: EventTerm | ChordmodeTerm; + }; + duration: number; + timeSignature?: Fraction$0; + timeSigNumeric?: boolean; + keySignature?: number; + contextedTerms: ContextedTerm[]; + marks: MarkTerm[]; + break?: boolean; + pageBreak?: boolean; + bar?: string; + empty?: boolean; + headStaff?: number; + tailStaff?: number; + trait?: HashVector; + voiceIndex?: number; + } + interface TermVoice { + mode: string; + measures: VoiceMeasure[]; + } + interface VoicesStaff { + context?: string; + name?: string; + voices: TermVoice[]; + } + interface PaperOptions { + raggedLast: boolean; + raggedBottom: boolean; + raggedLastBottom: boolean; + slashSystemSeparator: boolean; + } + interface MusicHeaders { + title: string; + subtitle: string; + subsubtitle: string; + composer: string; + poet: string; + arranger: string; + opus: string; + copyright: string; + instrument: string; + dedication: string; + tagline: string; + } + interface MusicSheet { + title: string; + pageSize: { + // in pixels + width: number; + height: number; + }; + unitSize: number; + measureLayout?: measureLayout.MeasureLayout; + staffLayout: StaffLayout; + paperOptions?: Partial; + headers: Partial; + voiceStaves: VoicesStaff[]; + instrumentDict: { + [key: string]: string; + }; + } + interface Performing { + notation: MetaNotation; + tokenMap: Map; + } + type RegulationPolicy = "test" | "simple" | "equations" | "advanced"; + interface RegulationOptions { + policy?: RegulationPolicy; + quota?: number; + [key: string]: any; + } + interface ScoreData { + version?: number; + [key: string]: any; + } + interface AdditionalLineStack { + left: number; + right: number; + n: number; + } + interface RegulationSolutionEvent { + id: number; + tick: number; + tickGroup: number; + timeWarp: Fraction$0; + division?: number; + dots?: number; + beam?: string; + grace?: boolean; + fullMeasure?: boolean; + } + interface RegulationSolution { + events: RegulationSolutionEvent[]; + voices: number[][]; + duration: number; + priority?: number; + estimatedDuration?: number; + timeSignature?: Fraction$0; + } + interface BackgroundImage { + url: string; + position: Rect; + original?: boolean; + } + enum TextType { + // LEVEL CHARSET + Title = "Title", + // page general + Author = "Author", + // page general + TempoText = "TempoText", + // measure specific vocabulary + TempoNumeral = "TempoNumeral", + // measure symbolic and numeric + TextualMark = "TextualMark", + // term specific vocabulary + Lyric = "Lyric", + // term general + Instrument = "Instrument", + // system specific vocabulary + MeasureNumber = "MeasureNumber", + // system numeric + Times = "Times", + // staff numeric + Alternation1 = "Alternation1", + // measure numeric + Alternation2 = "Alternation2", + // measure numeric + Chord = "Chord", + // measure specific domian + PageMargin = "PageMargin", + // page general + Other = "Other" + } + interface Logger { + debug(message?: any, ...optionalParams: any[]): void; + info(message?: any, ...optionalParams: any[]): void; + warn(message?: any, ...optionalParams: any[]): void; + group(...label: any[]): void; + groupCollapsed(...label: any[]): void; + groupEnd(): void; + assert(expr: boolean, ...optionalParams: any[]): void; + } + class DummyLogger implements Logger { + debug(..._: any[]): void; + group(..._: any[]): void; + groupCollapsed(..._: any[]): void; + groupEnd(): void; + info(..._: any[]): void; + warn(..._: any[]): void; + assert(..._: any[]): void; + } + class PatchMeasure extends SimpleClass { + static className: string; + measureIndex: number; + staffMask: number; + basic: StaffBasic; + //points: SemanticPoint[]; + events: EventTerm[]; + contexts: ContextedTerm[][]; // [staff] + marks: MarkTerm[]; + voices: number[][]; // [voice, id] + constructor(data: any); + get staffN(): number; + get basics(): StaffBasic[]; + get duration(): number; + } + enum SemanticType { + // clefs + ClefG = "ClefG", + ClefF = "ClefF", + ClefC = "ClefC", + // noteheads + NoteheadS0 = "NoteheadS0", + NoteheadS1 = "NoteheadS1", + NoteheadS2 = "NoteheadS2", + NoteheadS1stemU = "NoteheadS1stemU", + NoteheadS1stemD = "NoteheadS1stemD", + NoteheadS2stemU = "NoteheadS2stemU", + NoteheadS2stemD = "NoteheadS2stemD", + vline_Stem = "vline_Stem", + // flags + Flag3 = "Flag3", + // beams + BeamLeft = "BeamLeft", + BeamContinue = "BeamContinue", + BeamRight = "BeamRight", + // tremolos + TremoloLeft = "TremoloLeft", + TremoloRight = "TremoloRight", + TremoloMiddle = "TremoloMiddle", + // dots (duration) + Dot = "Dot", + // rests + Rest0 = "Rest0", + Rest1 = "Rest1", + Rest2 = "Rest2", + Rest3 = "Rest3", + Rest4 = "Rest4", + Rest5 = "Rest5", + Rest6 = "Rest6", + Rest0W = "Rest0W", + // capital 'R' in lilypond + RestM1 = "RestM1", + // accidentals + AccNatural = "AccNatural", + AccSharp = "AccSharp", + AccDoublesharp = "AccDoublesharp", + AccFlat = "AccFlat", + AccFlatflat = "AccFlatflat", + // volta + vline_VoltaLeft = "vline_VoltaLeft", + vline_VoltaRight = "vline_VoltaRight", + VoltaLeft = "VoltaLeft", + VoltaRight = "VoltaRight", + VoltaAlternativeBegin = "VoltaAlternativeBegin", + //VoltaAlternativeEnd = "VoltaAlternativeEnd", + // vertical bars + BarMeasure = "BarMeasure", + vline_BarMeasure = "vline_BarMeasure", + vline_BarTerminal = "vline_BarTerminal", + vline_BarSegment = "vline_BarSegment", + // slur & tie + SlurBegin = "SlurBegin", + SlurEnd = "SlurEnd", + // time signature + TimesigC44 = "TimesigC44", + TimesigC22 = "TimesigC22", + TimesigZero = "TimesigZero", + TimesigOne = "TimesigOne", + TimesigTwo = "TimesigTwo", + TimesigThree = "TimesigThree", + TimesigFour = "TimesigFour", + TimesigFive = "TimesigFive", + TimesigSix = "TimesigSix", + TimesigSeven = "TimesigSeven", + TimesigEight = "TimesigEight", + TimesigNine = "TimesigNine", + // octave shifts + OctaveShift8va = "OctaveShift8va", + OctaveShift8vb = "OctaveShift8vb", + OctaveShift8 = "OctaveShift8", + OctaveShift0 = "OctaveShift0", + // numbers + Zero = "Zero", + One = "One", + Two = "Two", + Three = "Three", + Four = "Four", + Five = "Five", + Six = "Six", + Seven = "Seven", + Eight = "Eight", + Nine = "Nine", + // dynamics + f = "f", + p = "p", + m = "m", + n = "n", + r = "r", + s = "s", + z = "z", + CrescendoBegin = "CrescendoBegin", + CrescendoEnd = "CrescendoEnd", + DecrescendoBegin = "DecrescendoBegin", + DecrescendoEnd = "DecrescendoEnd", + // scripts + ScriptFermata = "ScriptFermata", + ScriptShortFermata = "ScriptShortFermata", + ScriptSforzato = "ScriptSforzato", + ScriptStaccato = "ScriptStaccato", + ScriptStaccatissimo = "ScriptStaccatissimo", + ScriptTurn = "ScriptTurn", + ScriptTrill = "ScriptTrill", + ScriptSegno = "ScriptSegno", + ScriptCoda = "ScriptCoda", + ScriptArpeggio = "ScriptArpeggio", + ScriptPrall = "ScriptPrall", + ScriptMordent = "ScriptMordent", + ScriptMarcato = "ScriptMarcato", + ScriptTenuto = "ScriptTenuto", + ScriptPortato = "ScriptPortato", + // pedal + PedalStar = "PedalStar", + PedalPed = "PedalPed", + // additional annotation + KeyAcc = "KeyAcc", + TempoNotehead = "TempoNotehead", + GraceNotehead = "GraceNotehead", + SignLined = "SignLined", + SignInterval = "SignInterval", + rect_Text = "rect_Text", + rect_Lyric = "rect_Lyric" + } + const glyphSemanticMapping: { + [key: string]: string; + }; + const semanticPriorities: { + [key: string]: number; + }; + interface Position { + x?: number; + y?: number; + } + const NOTEHEAD_WIDTHS: { + NoteheadS0: number; + NoteheadS1: number; + NoteheadS2: number; + }; + const glyphCenters: { + [key: string]: Position; + }; + interface Point { + // in staff unit coordinates + x: number; + y: number; + pivotX?: number; + // for prediction + confidence?: number; + // sheet token index in page + index?: number; + tag?: string; + extension?: { + y1?: number; + y2?: number; + href?: string; + width?: number; + height?: number; + text?: string; + theta?: number; + type?: string; + textFeature?: Record; + }; + } + interface SemanticPoint extends Point { + id?: string; + semantic: SemanticType; + } + const ONE_D_SEMANTICS: string[]; + const SYSTEM_SEMANTIC_TYPES: SemanticType[]; + const CONFLICTION_GROUPS: SemanticType[][]; + const STAMP_SEMANTICS: SemanticType[]; + // [cx, cy, width, height] + const STAMP_RECTS: { + ClefG: number[]; + ClefF: number[]; + ClefC: number[]; + NoteheadS0: number[]; + NoteheadS1: number[]; + NoteheadS2: number[]; + Dot: number[]; + Rest0: number[]; + Rest1: number[]; + Rest2: number[]; + Rest3: number[]; + Rest4: number[]; + Rest5: number[]; + Rest6: number[]; + RestM1: number[]; + AccNatural: number[]; + AccSharp: number[]; + AccDoublesharp: number[]; + AccFlat: number[]; + AccFlatflat: number[]; + TimesigC44: number[]; + TimesigC22: number[]; + TimesigZero: number[]; + TimesigOne: number[]; + TimesigTwo: number[]; + TimesigThree: number[]; + TimesigFour: number[]; + TimesigFive: number[]; + TimesigSix: number[]; + TimesigSeven: number[]; + TimesigEight: number[]; + TimesigNine: number[]; + One: number[]; + Two: number[]; + Three: number[]; + Four: number[]; + Five: number[]; + OctaveShift8: number[]; + OctaveShift0: number[]; + f: number[]; + p: number[]; + m: number[]; + n: number[]; + r: number[]; + s: number[]; + z: number[]; + ScriptFermata: number[]; + ScriptShortFermata: number[]; + ScriptSforzato: number[]; + ScriptStaccato: number[]; + ScriptStaccatissimo: number[]; + ScriptTurn: number[]; + ScriptTrill: number[]; + ScriptSegno: number[]; + ScriptCoda: number[]; + ScriptArpeggio: number[]; + ScriptPrall: number[]; + ScriptMordent: number[]; + ScriptMarcato: number[]; + ScriptTenuto: number[]; + ScriptPortato: number[]; + PedalStar: number[]; + PedalPed: number[]; + }; + const hashSemanticPoint: (systemIndex: number, staffIndex: number, point: SemanticPoint) => string; + const hashPageSemanticPoint: (pageName: string, point: SemanticPoint) => string; + class SemanticGraph extends SimpleClass { + static className: string; + points: SemanticPoint[]; + constructor(data?: any); + /*static fromSheetStaff(staff: staffSvg.SheetStaff, hashTable: {[key: string]: any}): SemanticGraph { + const tokens = [].concat(...staff.measures.map(measure => measure.tokens)); + + const voltaRightXs = []; + + const points = []; + tokens.forEach(token => { + const def = hashTable[token.hash]; + + if (token.glyph) { + const glyph = token.glyph as string; + let semantic = null; + + const isKey = /^\\key/.test(token.source) || token.is("KEY"); + let { x: cx = 0, y: cy = 0 } = glyphCenters[glyph] || { x: 0, y: 0 }; + if (token.scale2) { + cx *= token.scale2.x; + cy *= token.scale2.y; + } + + let x = token.x + cx; + const y = token.y + cy; + + switch (glyph) { + case "rests.0": + if (/^R/.test(token.source)) + semantic = "Rest0W"; + else + semantic = "Rest0"; + + break; + case "accidentals.flat": + semantic = glyphSemanticMapping[glyph]; + if (isKey) { + points.push({ + semantic: SemanticType.KeyAcc, + x, + y, + }); + } + + break; + case "accidentals.natural": + semantic = glyphSemanticMapping[glyph]; + if (isKey) { + points.push({ + semantic: SemanticType.KeyAcc, + x, + y, + }); + } + + break; + case "accidentals.sharp": + semantic = glyphSemanticMapping[glyph]; + if (isKey) { + points.push({ + semantic: SemanticType.KeyAcc, + x, + y, + }); + } + + break; + case "dots.dot": + if (token.is("VOLTA")) { + x += 0.24; // dot glyph center X offset + if (token.is("LEFT")) + semantic = SemanticType.VoltaLeft; + else if (token.is("RIGHT")) { + voltaRightXs.push(x); + semantic = SemanticType.VoltaRight; + } + } + else + semantic = "Dot"; + + break; + case "zero": + case "one": + case "two": + case "three": + case "four": + case "five": + case "six": + case "seven": + case "eight": + case "nine": { + const upper = glyph[0].toUpperCase() + glyph.substr(1); + semantic = token.is("TIME_SIG") ? "Timesig" + upper : upper; + } + + break; + default: + semantic = glyphSemanticMapping[glyph]; + } + + if (semantic) { + points.push({ + semantic, + x, + y, + }); + } + + if (token.is("TEMPO_NOTEHEAD")) { + points.push({ + semantic: SemanticType.TempoNotehead, + x, + y, + }); + } + + // grace noteheads + if (token.is("NOTEHEAD") && Number.isFinite(token.scale) && token.scale < 0.75) { + points.push({ + semantic: SemanticType.GraceNotehead, + x, + y, + }); + } + } + + // semantic from token symbol + let semantic = null; + const cx = 0; + let cy = 0; + if (token.is("OCTAVE")) { + if (token.is("_8")) { + semantic = SemanticType.OctaveShift8; + cy = token.is("B") ? -0.7512 : -0.7256; + } + else if (token.is("CLOSE")) { + semantic = SemanticType.OctaveShift0; + cy = 0; + } + } + else if (/^flags/.test(token.glyph)) { + let direction = 0; + if (/\.u\d/.test(token.glyph)) + direction = 1; + if (/\.d\d/.test(token.glyph)) + direction = -1; + if (direction) { + const [n] = token.glyph.match(/\d+/); + const flagCount = Number(n) - 2; + //console.log("flags:", token.glyph, flagCount); + for (let i = 0; i < flagCount; ++i) { + const y = token.y + (i + 0.5) * direction; + points.push({ + semantic: SemanticType.Flag3, + x: token.x, + y, + }); + //console.log("flags.1:", token.x, y); + } + } + } + else if (token.is("SLUR")) { + const d = def && def.d; + if (d) { + const numbers = d.match(/-?[\d.]+/g).map(Number); + //console.log("slur:", numbers); + const x1 = token.x + numbers[0]; + const y1 = token.y + numbers[1]; + const x2 = token.x + numbers[6]; + const y2 = token.y + numbers[7]; + + points.push({ + semantic: SemanticType.SlurBegin, + x: x1, + y: y1, + }); + points.push({ + semantic: SemanticType.SlurEnd, + x: x2, + y: y2, + }); + } + } + else if (token.is("NOTE_STEM")) { + points.push({ + semantic: SemanticType.vline_Stem, + x: token.x + def.width / 2, + y: token.y, + extension: { + y1: token.y, + y2: token.y + token.height, + }, + }); + } + else if (token.is("TEXT") || token.is("CHORD_TEXT")) { + if (/\S/.test(token.text)) { + // NOTE: text rect computation is delayed to sheet rendering + points.push({ + semantic: SemanticType.rect_Text, + x: token.x, + y: token.y, + extension: { + index: token.index, + text: token.text, + }, + }); + } + } + + if (semantic) { + points.push({ + semantic, + x: token.x + cx, + y: token.y + cy, + }); + } + }); + + // beams + const stems = tokens.filter(token => token.is("NOTE_STEM")).map(stem => ({ + x: stem.x + stem.width / 2, + y1: stem.y, + y2: stem.y + stem.height, + })); + const beams = tokens.filter(token => token.is("NOTETAIL") && token.is("JOINT")) + .map(beam => { + const def = hashTable[beam.hash]; + const points = def && def.points; + if (points) { + const floats = points.split(" ").map(Number); + const x1 = beam.x + floats[4]; + const x2 = beam.x + floats[0]; + const y1 = beam.y + (floats[5] + floats[7]) / 2; + const y2 = beam.y + (floats[1] + floats[3]) / 2; + const k = (y2 - y1) / (x2 - x1); + + return { x1, x2, y1, y2, k, capital: beam.is("CAPITAL_BEAM") }; + } + + return null; + }).filter(Boolean); + //console.log("beams:", beams); + beams.forEach(beam => { + const innerStems = stems.filter(stem => stem.x > beam.x1 - 0.2 && stem.x < beam.x2 + 0.2); + //console.log("innerStems:", beam, innerStems); + + let lines = 0; + innerStems.forEach(stem => { + const beamY = beam.y1 + (stem.x - beam.x1) * beam.k; + //console.log("beamY:", beamY, Math.min(Math.abs(beamY - beam.y1), Math.abs(beamY - beam.y2))); + if (beamY >= stem.y1 - 0.1 && beamY <= stem.y2 + 0.1) { + points.push({ + semantic: SemanticType.Flag3, + x: stem.x, + y: beamY, + }); + + ++lines; + + // beam semantics + if (beam.capital) { + let semantic = SemanticType.BeamContinue; + if (Math.abs(stem.x - beam.x1) < 0.2) + semantic = SemanticType.BeamLeft; + else if (Math.abs(stem.x - beam.x2) < 0.2) + semantic = SemanticType.BeamRight; + + points.push({ + semantic, + x: stem.x, + y: beamY, + }); + } + } + }); + if (!lines) + console.warn("empty beam:", beam, innerStems, stems); + //else if (lines < 2) + // console.debug("single beam:", beam, innerStems, stems); + }); + + // wedges (crescendo & decrescendo) + const crescendos = tokens.filter(token => token.is("WEDGE CRESCENDO TOP")); + const crescendoBottoms = tokens.filter(token => token.is("WEDGE CRESCENDO BOTTOM")); + const decrescendos = tokens.filter(token => token.is("WEDGE DECRESCENDO TOP")); + const decrescendoBottoms = tokens.filter(token => token.is("WEDGE DECRESCENDO BOTTOM")); + crescendos.forEach(line => { + const partner = crescendoBottoms.find(b => b.x === line.x && Math.abs(b.y - line.y) < 0.06); + + if (partner) { + points.push({ + semantic: SemanticType.CrescendoBegin, + x: line.x, + y: line.y, + }); + } + //else + // console.log("unpaired crescendo:", line, crescendoBottoms); + points.push({ + semantic: SemanticType.CrescendoEnd, + x: line.x + line.target.x, + y: line.y + line.target.y, + }); + }); + decrescendos.forEach(line => { + const partner = decrescendoBottoms.find(b => b.x + b.target.x === line.x + line.target.x && Math.abs(b.y + b.target.y - (line.y + line.target.y)) < 0.06); + + points.push({ + semantic: SemanticType.DecrescendoBegin, + x: line.x, + y: line.y, + }); + if (partner) { + points.push({ + semantic: SemanticType.DecrescendoEnd, + x: line.x + line.target.x, + y: line.y + line.target.y, + }); + } + //else + // console.log("unpaired decrescendo:", line, decrescendoBottoms); + }); + + // TODO: volta alternative + + // measure bars + const measureSeparators = staff.tokens.filter(token => token.is("MEASURE_SEPARATOR")); + const singleBars = []; + const groupBars = []; + + for (let i = 0; i < measureSeparators.length; ++i) { + const bar = measureSeparators[i]; + const nextBar = measureSeparators[i + 1]; + const inteval = nextBar ? nextBar.x - bar.x : Infinity; + + if (inteval < 1) { + groupBars.push([bar, nextBar]); + ++i; + } + else + singleBars.push(bar); + }; + //console.log("bars:", singleBars, groupBars); + + singleBars.forEach(bar => { + points.push({ + semantic: SemanticType.vline_BarMeasure, + x: bar.x + bar.sw / 2, + y: 0, + extension: { + y1: -2, + y2: 2, + }, + }); + }); + + groupBars.forEach(group => { + let x = (group[0].x + group[1].x) / 2; + const bold0 = group[0].is("BOLD"); + const bold1 = group[1].is("BOLD"); + + let semantic = null; + if (!bold0 && bold1) { + x = group[0].x; + + if (!voltaRightXs.some(vx => x - vx < 2)) + semantic = SemanticType.vline_BarTerminal; + } + else if (bold0 && !bold1) + x = group[1].x; + else if (!bold0 && !bold1) + semantic = SemanticType.vline_BarSegment; + + //console.log("group:", group[0].x, group[1].x, x); + points.push({ + semantic: SemanticType.vline_BarMeasure, + x, + y: 0, + extension: { + y1: -2, + y2: 2, + }, + }); + + if (semantic) { + points.push({ + semantic, + x, + y: 0, + extension: { + y1: -2, + y2: 2, + }, + }); + } + }); + + const graph = new SemanticGraph(); + graph.points = points; + + return graph; + }*/ + static fromPoints(points?: SemanticPoint[]): SemanticGraph; + getLayer(semantic: SemanticType): Point[]; + getConfidentLayer(semantic: SemanticType, threshold: number): Point[]; + getSystemPoints(): SemanticPoint[]; + getStaffPoints(): SemanticPoint[]; + offset(x: number, y: number): void; + scale(factor: number): void; + // multipy 3x2 matrix + transform(matrix: [ + number, + number + ][]): void; + } + type ChordsFeeder = (si: number, mi: number) => ChordColumn[]; + type ColumnProcessor = (column: EventMeasureColumn) => EventMeasureColumn; + interface StaffPosition { + y: number; + radius: number; + } + interface TextArea { + score: number; + cx: number; + cy: number; + width: number; + height: number; + text: string; + type: string; + theta: number; + feature_dict: Record; + } + type Stem = VLine & { + direction: "u" | "d"; + }; + class Measure$0 extends SimpleClass { + static className: string; + static blackKeys: string[]; + left: number; + width: number; + height: number; + alternative: boolean; + tokens: Token[]; + antiTokens: Token[]; + barTypes: Record; + constructor(data?: any); + get right(): number; + get noteheads(): Token[]; + get chordRects(): ChordRect[]; + get timeWarped(): boolean; + get additionalLines(): AdditionalLineStack[]; + getChords(): ChordColumn[]; + getRests(): ChordColumn[]; + getEvents(): ChordColumn[]; + getContexts(fields?: {}): ContextedTerm[]; + assignAccessoriesOnEvents(events: ChordColumn[]): void; + assignFeaturesOnEvents(events: ChordColumn[], semantics: SemanticPoint[]): void; + } + class Staff extends SimpleClass { + static className: string; + static blackKeys: string[]; + index?: number; // staff index in full staff layout + // in units + top: number; + height: number; + staffY: number; + semanticTop: number; + semanticBottom: number; + backgroundImage: string | Buffer; + maskImage: string | Buffer; + imagePosition: Rect; + measures: Measure$0[]; + semantics: SemanticPoint[]; + constructor({ measureCount, measureBars, ...data }?: Record); + // relative to staffY + get noteRange(): { + top: number; + bottom: number; + }; + get additionalLines(): AdditionalLineStack[]; + rearrangeMeasures(measureBars: number[]): void; + reassignTokens(tokens?: Token[]): void; + assignSemantics(graph: SemanticGraph): void; + // generate tokens from semantics + assemble(threshold: number, system: System, logger?: Logger): void; + appendPoint(point: Partial, { type, points, antiPoint, ...fields }?: { + type?: TokenType; + antiPoint?: SemanticPoint; + [key: string]: any; + }): void; + appendFlags(flags: SemanticPoint[], stems: Stem[]): void; + clearTokens(): void; + clearPredictedTokens(): void; + } + class System extends SimpleClass { + static className: string; + static blackKeys: string[]; + index?: number; + pageIndex?: number; + prev?: System; + next?: System; + headMeasureIndex?: number; // zero based + // in units + left: number; + top: number; + width: number; + indent: boolean; + measureCount: number; + staves: Staff[]; + measureBars: number[]; + backgroundImage: string; + imagePosition: Rect; + semantics: SemanticPoint[]; + tokens?: Token[]; + sidBlackList: string[]; + sidWhiteList: string[]; + displacementSemantics?: { + [id: string]: Partial; + }; + staffMaskChanged: number; + bracketsAppearance: string; // the staff layout code by prediction + constructor({ stavesCount, ...fields }: any); + get noteRange(): { + top: number; + bottom: number; + }; + get staffPositions(): StaffPosition[]; + get staffMask(): number; + get staffTop(): number; + get staffBottom(): number; + arrangePosition(): void; + tidyMeasureBars(): void; + rearrangeMeasures(): void; + get height(): number; + get connectionLine(): { + top: number; + bottom: number; + }; + get middleY(): number; + get timeSignatureOnHead(): boolean; + // an array staff or null on every position of full staff layout + getStaffArray(stavesCount: number): Staff[]; + // measureIndex: the local measure index + getMarksInMeasure(measureIndex: number): MarkTerm[]; + getEvents(stavesCount: number): EventSystem; + getEventsFunctional(stavesCount: number, ev: ChordsFeeder, processors?: ColumnProcessor[], { useXMap }?: { + useXMap?: boolean; + }): EventSystem; + // get EventSystem contains only contexted terms + getContexts(stavesCount: number): EventSystem; + assignSemantics(staffIndex: number, graph: SemanticGraph): void; + // generate tokens from semantics + assemble(threshold: number, logger?: Logger): void; + qualifiedSemantics(semantics: SemanticPoint[], threshold?: number): SemanticPoint[]; + clearTokens(): void; + newPoint(staffIndex: number, data: SemanticPoint, threshold?: number): SemanticPoint; + appendToken(token: TextToken): void; + } + class Page extends SimpleClass { + static className: string; + static blackKeys: string[]; + index?: number; + // in units + width: number; + height: number; + systems: System[]; + source: SourceImageFile; + layout?: PageLayout; + semantics: SemanticPoint[]; + tokens?: Token[]; + constructor(data: any); + get sidBlackList(): Set; + get sidWhiteList(): Set; + clearTokens(): void; + assignTexts(areas: TextArea[], [imageHeight, imageWidth]: [ + number, + number + ]): void; + assemble({ textAnnotations }?: { + textAnnotations?: { + [id: string]: string; + }; + }, logger?: Logger): void; + } + enum SemanticElementType { + BOS = 0, + PAD = 1, + NoteheadS0 = 2, + NoteheadS1 = 3, + NoteheadS2 = 4, + NoteheadGrace = 5, + vline_Stem = 6, + Flag3 = 7, + BeamLeft = 8, + BeamContinue = 9, + BeamRight = 10, + Dot = 11, + Rest0 = 12, + Rest1 = 13, + Rest2 = 14, + Rest3 = 15, + Rest4 = 16, + Rest5 = 17, + Rest6 = 18, + // measure time signature denominators & numerators + TimeD2 = 19, + TimeD4 = 20, + TimeD8 = 21, + TimeN1 = 22, + TimeN2 = 23, + TimeN3 = 24, + TimeN4 = 25, + TimeN5 = 26, + TimeN6 = 27, + TimeN7 = 28, + TimeN8 = 29, + TimeN9 = 30, + TimeN10 = 31, + TimeN11 = 32, + TimeN12 = 33 + } + const ELEMENT_TOKEN_NAMES: { + 0: string; + 2: string; + 3: string; + 4: string; + 5: string; + 7: string; + 8: string; + 9: string; + 10: string; + 11: string; + 12: string; + 13: string; + 14: string; + 15: string; + 16: string; + 17: string; + 18: string; + }; + const NOTEHEAD_ELEMENT_TYPES: SemanticElementType[]; + const NOTE_ELEMENT_TYPES: SemanticElementType[]; + interface SemanticElement { + type: SemanticElementType; + staff: number; + x: number; + y1: number; + y2: number; + index?: number; + tick?: number; + id?: string; + } + type Matrix = number[][]; + const BOS_ELEMENT: SemanticElement; + const fractionToElems: (fraction: Fraction$0) => SemanticElement[]; + class SemanticCluster extends SimpleClass { + index?: number; + elements: SemanticElement[]; + matrixH?: Matrix; // matrix N x N + _matrixV?: Matrix; // matrix N x N + groupsV?: number[][]; // ids array + masks?: [ + boolean[], + boolean[], + boolean[] + ]; // the masks for: [jointer source, jointer target, V] + static elementToJSON(elem: SemanticElement): object; + constructor(data: object); + get sourceMask(): boolean[]; + get targetMask(): boolean[]; + get vMask(): boolean[]; + get compactMatrixH(): Matrix; + set compactMatrixH(value: Matrix); + get compactMatrixV(): number[]; + set compactMatrixV(value: number[]); + get matrixV(): Matrix; + set matrixV(value: Matrix); + toJSON(): any; + static mapMatrix(matrix: number[][], x2i: number[], i2x: number[]): number[][]; + mergeOverlapping(): void; + overlappedNoteheads(): [ + number, + number + ][]; + getEvents(): ChordColumn[]; + } + interface SemanticClusterSetData { + vocab?: string[]; + clusters: SemanticCluster[]; + } + class SemanticClusterSet { + clusters: SemanticCluster[]; + constructor(data?: SemanticClusterSetData); + toJSON(): { + __prototype: string; + vocab: string[]; + clusters: any[]; + }; + } + const expandMatrixByMasks: (matrix: number[], masks: [ + boolean[], + boolean[] + ]) => Matrix; + const expandMatrixByMaskTriu: (matrix: number[], mask: boolean[]) => Matrix; + const matrixFromGroups: (len: number, groups: number[][]) => Matrix; + enum EventElementType { + PAD = 0, + BOS = 1, + EOS = 2, + CHORD = 3, + REST = 4 + } + interface EventElement { + href?: string; + disposed?: boolean; + index?: number; + voice?: number; + type: EventElementType; + staff: number; + x: number; + y1: number; + y2: number; + feature: EventFeature; + pivotX?: number; + headY?: number; + // targets + tick?: number; + division?: number; + dots?: number; + beam?: StemBeam; + stemDirection?: string; + grace?: boolean; + tremoloCatcher?: boolean; + timeWarped?: boolean; + fullMeasure?: boolean; // full measure rest + fake?: boolean; + order?: number; + predisposition?: EventPredisposition; + } + type Matrix$0 = number[][]; + interface Annotation { + loss: number; + grant: boolean; + patched: boolean; // from manually solved measure + } + class EventCluster extends SimpleClass { + static className: string; + static blackKeys: string[]; + id?: string; // for db access + index?: number; + duration?: number; + staffY0?: number; // the first staff top + staffY + signatureDuration: number; + elements: EventElement[]; + matrixH?: Matrix$0; // matrix N x N, [next][prev] + backgroundImages?: BackgroundImage[]; + annotation?: Annotation; + constructor(data: object); + get regular(): boolean; + get grant(): boolean; + get feature(): Partial; + get estimatedDuration(): number; + assignPrediction(prediction: any): void; + } + class EventClusterSet extends SimpleClass { + static className: string; + name?: string; + clusters: EventCluster[]; + constructor(data: object); + trimIrregular(): number; + } + interface EventRectification { + id: number; + division?: number; + dots?: number; + } + class MeasureRectification { + events: EventRectification[]; + constructor(data: any); + toString(): string; + static default(events: EventTerm[]): MeasureRectification; + static roll(events: EventTerm[]): MeasureRectification; + } + const genMeasureRectifications: (measure: SpartitoMeasure) => Generator; + interface SemanticPointInMeasure extends SemanticPoint { + staff: number; + // y1 y2 in system coordinate + sy1: number; + sy2: number; + } + interface GraphMeasure { + measureIndex: number; + left: number; + right: number; + points: SemanticPointInMeasure[]; + } + interface TimewiseGraph { + measures: GraphMeasure[]; + } + type Matrix$1 = number[][]; + type TickMap = Map; + interface SolutionStatistics { + loss?: number; + solverCredits?: number; + solverTimes?: number; + } + class SpartitoMeasure extends SimpleClass { + static className: string; + static blackKeys: string[]; + measureIndex: number; + staffMask: number; + staffGroups: number[][]; + originalRegulationHash?: string; + measureNumber?: number; // count from the last indent measure, head partial measure is zero, skip empty measures + patched: boolean; + discard: boolean; + position: { + systemIndex: number; + localIndex: number; // the measure local index in its system + left: number; + right: number; + staffYs?: number[]; + staffYsFull?: number[]; + }; + backgroundImages: BackgroundImage[]; + events: EventTerm[]; + endEvent: Partial; // the placeholder for end tick + contexts: ContextedTerm[][]; // [staff] + marks: MarkTerm[]; + duration: number; + voices?: number[][]; // [voice, id] + break?: boolean; + pageBreak?: boolean; + basics?: StaffBasic[]; // [staff] + voltaBegin: boolean; + voltaEnd: boolean; + alternative: boolean; + barTypes: Record; + indent: boolean; + solutionStat?: SolutionStatistics; + matrixH: Matrix$1; // matrix N x N [right][left] + matrixV: Matrix$1; // matrix N x N + estimatedDuration: number; + graph: GraphMeasure; + deposit: Record; + static reorderEvents(events: EventTerm[], staffYsFull: number[]): EventTerm[]; + constructor(data: any); + get timeSignature(): Fraction$0; + get keySignature(): number; + get timeSignatureChanged(): boolean; + get doubtfulTimesig(): boolean; + get regulated(): boolean; + get validRegulated(): boolean; + get rows(): EventMeasure[]; + get eventStartX(): number; + get startX(): number; + get width(): number; + get tickMap(): TickMap; + get tickToX(): { + [tick: number]: number; + }; + get tickRates(): number[]; + get tickRatesInStaves(): number[]; + get tickRatesInGroups(): number[]; + get tickTwist(): number; + get eventMap(): Record; + get empty(): boolean; + get hasIllEvent(): boolean; + get brief(): string; + get regulationHash(): string; + // prefer use originalRegulationHash + get regulationHash0(): string; + get regulationHashes(): string[]; + get featureWords(): string[][] | null; + get barType(): MeasureBarType; + get partialDuration(): boolean; + postRegulate(): void; + updateRoundX(): void; + updateContextTick(): void; + asSolution(ref?: SpartitoMeasure): RegulationSolution; + applySolution(solution: RegulationSolution): void; + cleanupRegulation(): void; + regulateTest(): void; + regulateSimple(): void; + regulateEquations(options: EquationPolicy.RegulatorOptions): Promise; + // compute event.tick, event.tickGroup, event.timeWarp, voices, duration + regulate({ policy, ...options }?: RegulationOptions): Promise; + createPatch(): PatchMeasure; + createClusters(): EventCluster[]; + applyClusters(clusters: EventCluster[]): void; + } + const emptyVoiceFromStaffMeasure: (staff: TermMeasure, chiefVoice?: boolean) => VoiceMeasure; + class Spartito extends SimpleClass { + static className: string; + stavesCount: number; + staffGroups: number[][]; + measures: SpartitoMeasure[]; + tags: string[]; + constructor(data: any); + get regulated(): boolean; + get solidMeasureCount(): number; + get measureIndexMapping(): number[]; + get headBPM(): number; + get measureLayoutCode(): string; + get qualityScore(): number; + dumpEvaluations(): void; + regulate(options?: RegulationOptions): void; + cleanupRegulation(): void; + // measures' estimatedDuration should be valid + rectifyTimeSignatures(logger?: Logger): void; + makeVoiceStaves(): VoicesStaff[]; + perform(): Performing; + performByEstimation(): Performing; + featureHash(): Hash; + featureHashHex(): string; + featureHashBigInt(): bigint; + assignMeasureNumbers(): void; + } + const VERSION = 14; + interface Topology { + clusters: SemanticCluster[]; + } + interface PaperOptions$0 { + raggedLast: boolean; + raggedBottom: boolean; + raggedLastBottom: boolean; + } + interface PointPosition { + point: SemanticPoint; + pageIndex: number; + systemIndex: number; + staffIndex: number; + } + interface MeasureValidation { + tickMap: { + [tick: number]: number; + }; + } + interface Size { + width: number; + height: number; + } + class Score extends SimpleClass { + static className: string; + version: number; + title: string; + // in pixels + pageSize: Size; + unitSize: number; + staffLayoutCode: string; + paperOptions?: Partial; + headers: { + [key: string]: string; + }; + textAnnotations: { + [id: string]: string; + }; + tags?: string[]; + instrumentDict: { + [key: string]: string; + }; + pages: Page[]; + topology: Topology; + spartito?: Spartito; + patches?: PatchMeasure[]; + settings: RecognitionSettings; + constructor(data: ScoreData); + get systems(): System[]; + get measureCount(): number; + get imageKeys(): string[]; + get breakSystemIndices(): number[]; + get staffLayout(): staffLayout.StaffLayout; + get measureLayoutCode(): string; + get maxStavesCount(): number; + get sidBlackList(): Set; + get sidWhiteList(): Set; + get semanticHash(): string; + eventSystemsToTermStaves(eventSystems: EventSystem[], logger?: Logger): TermStaff[]; + resetPageLayout(parameters: { + unitSize?: number; + pageSize?: Size; + }): void; + getMeasure(measureIndex: number): { + measureIndex: number; + system: System; + localIndex: number; + left: number; + right: number; + measures: Measure$0[]; + }; + getRawCluster(measureIndex: number, threshold: number, { timeSignature }?: Partial): SemanticCluster; + getRawClusters(threshold?: number): SemanticCluster[]; + makeSpartito(logger?: Logger): Spartito; + makeMusicSheet(): MusicSheet; + findPoint(sid: string): PointPosition; + getMeasureSemantics(systemIndex: number, localIndex: number): SemanticPointInMeasure[]; + makeTimewiseGraph({ store }?: { + store?: boolean; + }): TimewiseGraph; + getTokenMap(): Map; + assemble(confidenceThreshold?: number, logger?: Logger): void; + assembleSystem(system: System, confidenceThreshold?: number): void; + markVoices(staves: VoicesStaff[]): void; + replaceImageKeys(proc: (x: string | Buffer) => Promise): Promise; + inferenceStaffLayout(): void; + assignBackgroundForMeasure(measure: SpartitoMeasure): void; + blackoutFakeNotes(scope?: "patched" | "perfect" | "all"): string[]; + getMeasureLayout(): measureLayout.MeasureLayout; + splitToSingleScoresGen(): Generator; + splitToSingleScores(): Score[]; + } + // NOTE: 'JSONEditor.onEditable' determine whether a field is editable, here 'readonly' modifier has no effect to UI + interface EventUIAgent { + readonly id: number; + readonly duration: number; + //ys: number[]; + pitches: TermPitch[]; + rest: RestType; + division: number; + dots: number; + stemDirection: string; + tying: boolean; + tied: boolean; + grace: boolean; // + beam: StemBeam; + timeWarp: string; // + tremolo: number; + tremoloLink: TremoloLink; + glissando: boolean; + arpeggioStyle: ArpeggioStyle; + tick: number; + } + interface MeasureUIAgent { + readonly measureIndex: number; + timeSignature: Fraction$0; + doubtfulTimesig: boolean; + keySignature: number; + //readonly events: EventUIAgent[]; + duration: number; + readonly voices: number[][]; + } + class EditableEvent extends EventTerm { + voice: number; + constructor(data: any); + get agent(): EventUIAgent; + } + class EditableMeasure extends SpartitoMeasure { + static className: string; + static blackKeys: any[]; + events: EditableEvent[]; + constructor(data: any); + syncVoiceToEvents(): void; + syncVoiceFromEvents(): void; + get agent(): MeasureUIAgent; + makeMIDI(bpm?: number): MIDI.MidiData; + } + const mod7: (x: any) => number; + /* + Coordinates: + + note: + zero: the middle C line (maybe altered) + positive: high (right on piano keyboard) + unit: a step in scales of the current staff key + + staff Y: + zero: the third (middle) line among 5 staff lines + positive: down + unit: a interval between 2 neighbor staff lines + */ + class StaffContext { + logger: Logger; + clef: number; + keyAlters: number[]; + octaveShift: number; + alters: number[]; + timeSignature: Fraction$0; + timeSigNumeric: boolean; + timeSigNumSet: boolean; + timeSigDenSet: boolean; + doubtingTimesig: boolean; + change(term: ContextedTerm): void; + resetMeasure(): void; + resetSystem(): void; + get keySignature(): number; + get partialTimeSignature(): boolean; + noteToY(note: number): number; + pitchToNote(pitch: number, { preferredAlter }?: { + preferredAlter?: any; + }): { + note: number; + alter: number; + }; + pitchToY(pitch: number, { preferredAlter }?: { + preferredAlter?: any; + }): { + y: number; + alter: number; + }; + yToNote(y: number): number; + alterOnNote(note: number): number; + noteToPitch(note: number): number; + yToPitch(y: number): number; + yToPitchName(y: number): string; + } + interface MeasureEvaluation { + events: number; + validEvents: number; + voiceRugged: boolean; + nullEvents: number; + fakeEvents: number; + warpedEvents: number; + complicatedTimewarp: boolean; + spaceTime: number; + surplusTime: number; + durationRate: number; + beamBroken: boolean; + fractionalWarp: boolean; + irregularWarpsN: number; + irregularTick: boolean; + tickTwist: number; + tickOverlapped: boolean; + graceInVoice: boolean; + graceN: number; + graceDominant: boolean; + perfect: boolean; + fine: boolean; + error: boolean; + qualityScore: number; + } + const evaluateMeasure: (measure: SpartitoMeasure) => MeasureEvaluation; +} +interface ScoreJSON { + unitSize: number; + title: { + title: string; // 标éǘ + t?: { + size: number; + }; // äļŧ标éĒ˜å­—ä―“åĪ§å° + subtitle: string; // 子标éǘ + s?: { + size: number; + }; // 子标éĒ˜å­—ä―“åĪ§å° + composer: string; // ä―œæ›ē者 + c?: { + size: number; + }; // ä―œč€…å­—ä―“åĪ§å° + }; + measInfo: number[][]; // æœŽå°čŠ‚æŊäļ€åˆ—éŸģįŽĶį›ļåŊđäšŽå°čŠ‚åž€åĪīįš„x偏į§ŧ量 + page: { + w: number; // įŽŽäļ€äļŠpageåŪ―åšĶ + h: number; // įŽŽäļ€äļŠpageéŦ˜åšĶ + }; + pages: { + src: string; // 朎éĄĩ朎地å›ūቇURL + w: number; // 背æ™Ŋå›ūå°šåŊļ + h: number; // 背æ™Ŋå›ūå°šåŊļ + x: number; // 背æ™Ŋå›ūå·ĶäļŠč§’x + y: number; // 背æ™Ŋå›ūå·ĶäļŠč§’y + l1: number; // 朎éĄĩčĩ·å§‹systemįž–å· + ls: number; // 朎éĄĩsystem数量 + matrix: number[]; + }[]; + parts: { + measures: { + w: number; // æœŽå°čŠ‚åŪ―åšĶ + staves: number; // 朎partįš„staffäļŠæ•° + notes: { + elems: { + line: number; // 乔įšŋäļ­įšŋäļš0åū€äļŠäļšæ­Ģ/向äļ‹äļščīŸïžŒæŊåŠæ žå­1äļŠå•ä― + id: string; // "n_0_1" n_å°čŠ‚å·_įŽŽå‡ äļŠéŸģįŽĶ + acc?: { + acc: AccType; + x: -1; + }; // äļīæ—ķ升降čŪ°å·åŠå…ķ偏į§ŧ量 + staff: number; // æ‰€åąžstaffįīĒåž•äŧŽ1垀始 + x?: number; // å―“å‰įŽĶåĪīį›ļåŊđįŽŽäļ€äļŠįŽĶåĪīįš„åį§ŧ量 + }[]; + x: number; // 朎éŸģįŽĶį›ļåŊđäšŽå°čŠ‚åž€åĪīįš„x偏į§ŧ量 + type: number; // n分éŸģįŽĶ0äļšå…ĻéŸģįŽĶ + grace?: { + // åĶ‚æžœæ˜Ŋ倚éŸģ则有čŊĨåąžæ€§ + slash?: boolean; // 倚éŸģå°ūå·īæ˜ŊåĶ加斜įšŋ + }; + }[]; + lbar?: { + type: string; + repeat?: string; + }; // æœŽå°čŠ‚å·Ķäū§įš„å°čŠ‚įŽĶïžš + rbar?: { + type: string; + repeat?: string; + }; // æœŽå°čŠ‚åģäū§įš„å°čŠ‚įŽĶïžš + clefs?: { + // å―“å‰å°čŠ‚äļ­é€”æ”đå˜įš„č°ąå·æ•°įŧ„ + x: number; // į›ļåŊđäšŽæœŽå°čŠ‚åž€åĪīįš„åį§ŧ量 + clef: "Treble" | "Bass"; + staff: number; // æ‰€åąžstaffįīĒåž•äŧŽ1垀始 + tick: number; // į›ļåŊđäšŽæœŽå°čŠ‚åž€åĪīįš„tick偏į§ŧ量æŊ4äļŠéŸģįŽĶæ˜Ŋ480tick + }[]; + fifths?: { + fifths: number; // č°ƒå·ïžš-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7 čĄĻįĪšå‡é™čŪ°å·įš„äļŠæ•°ïžŒč•°äļšé™čŪ°å·ïžŒæ­Ģ数äļšå‡čŪ°å· + cancel?: number; // å―“å‰å°čŠ‚æ˜ŊåĶč́čŋ˜åŽŸæŸæ­ĪéŸģ + }; + }[]; + }[]; + lines: { + // systems + m1: number; // 朎systemčĩ·å§‹å°čŠ‚įž–å· + m2: number; // 朎systemįŧ“å°ūå°čŠ‚įž–å·+1 + x: number; // 朎systemå·Ķäū§å°čŠ‚įšŋx坐标 + y: number; // 朎systemå·Ķäū§å°čŠ‚įšŋy坐标 + w: number; // 朎systemåŪ―åšĶ + h: number; // 朎systeméŦ˜åšĶ + lineStaves: { + // parts + // 朎system包åŦįš„æŊäļŠstaffå›ūቇ + // x, y: å›ūቇį›ļåŊđ䚎朎staffįŽŽ1įšŋå·ĶįŦŊį‚đįš„x,y偏į§ŧé‡ïžŒå•ä―įšŋåŪ― + // w, h: å›ūቇåŪ―éŦ˜ïžŒå•ä―įšŋåŪ― + imgs?: { + src: string; + x: number; + y: number; + w: number; + h: number; + }[]; + distances: number[]; // äļ€äļŠsystemå†…å―“å‰staff和最æŽĨčŋ‘įš„äļŠäļ€äļŠstaffįš„é—īč· + y: number; // 朎staffį›ļåŊđ䚎systemįŽŽäļ€įšŋįš„čĩ·å§‹y坐标 + staves: number; // 朎staff数量 + parti: number; // 朎staffæ‰€åąžpartįž–å· + height: number; // 朎stafféŦ˜åšĶ + details: { + [key: string]: { + hide?: boolean; + lines?: number; + }; + }; + clef: Record; // 各äļŠstaffįš„č°ąå· + fifths?: number; + }[]; + }[]; + groups: { + type: "default" | "bracket" | "brace" | "square"; // bracket, brace, square + p1: number; // part start index + p2: number; // part end index + }[]; +} +declare const enum AccType { + Sharp = "Sharp", + Flat = "Flat", + Natural = "Natural", + DoubleFlat = "DoubleFlat", + DoubleSharp = "DoubleSharp" +} +interface MidiJson { + rightHandTrack: number; // tracks数įŧ„įš„ä ‡å€žã€‚čĄĻ明指åۚtracksäļ­å“ŠäļŠéŸģč―Ļæ˜Ŋå―“åšåģæ‰‹įš„ã€‚æ­Ī字æŪĩåŊįĐšïžŒéŧ˜čŪĪäļš0 + leftHandTrack: number; // tracks数įŧ„įš„ä ‡å€žã€‚čĄĻ明指åۚtracksäļ­å“ŠäļŠéŸģč―Ļæ˜Ŋå―“åšå·Ķæ‰‹įš„ã€‚æ­Ī字æŪĩåŊįĐšïžŒéŧ˜čŪĪäļš0 + beats: number; // 拍号分子 + beatsUnit: number; // 拍号分æŊ + // 拍号变化äŋĄæŊ + beatInfos: { + tick: number; // æ‹å·å˜åŒ–įš„tick + beats: number; // æ‹å·å˜åŒ–åŽįš„æ‹å·åˆ†å­ + beatsUnit: number; // æ‹å·å˜åŒ–åŽįš„æ‹å·åˆ†å­ + }[]; + // 速åšĶ变化äŋĄæŊ + tempos: { + tick: number; + tempo: number; + }[]; + // č―Ļ道 + tracks: { + program: number; // éŸģč‰ēïžš0-127 + channel: number; // 通道0-15 + name: string; // č―Ļé“åį§° + }[]; + measures: Record; + events: { + tick: number; + duration: number; // 及有note on之äŧķæœ‰æ—ķ倞 + track: number; // æ‰€åąžtrack + event: [ + number, + number, + number + ]; // [event, note, velocity] + measure?: number; // æ‰€åąžå°čŠ‚įž–å· + meas_start_tick?: number; // æ‰€åąžå°čŠ‚čĩ·å§‹tick + id?: string; // åŊđåš”įŽĶåĪīįš„id + finger?: number; // 指æģ• + elem_ids: string[]; // åŊđåš”įŽĶåĪī、čŋžéŸģįšŋ、升降čŪ°å·įš„id + staff: number; // åœĻ某äļŠpartå†…įš„staffįīĒ垕įīĒåž•äŧŽ1垀始 + note: number; // åœĻå―“å‰å°čŠ‚æ˜ŊįŽŽå‡ åˆ— + }[]; + // æŊäļ€å°čŠ‚č°ƒå·æ‹å· + measureInfos: { + number: string; // å°čŠ‚įž–å· + fifths: number; // č°ƒå· -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 + beats: number; // 拍号分子 + beatUnit: number; // 拍号分æŊ + }[]; +} +interface FindScoreResource { + scoreJson: ScoreJSON; + midiJson: MidiJson; +} +declare function encodeFindResource(score: starry.Score): FindScoreResource; +interface Logger { + info: (...data: any[]) => void; + error: (...data: any[]) => void; +} +type PyArgs = any[]; +type PyKwargs = Record; +declare class ZeroClient { + logger: Logger; + private socket; + private queue; + private url; + constructor(logger?: Logger); + bind(url?: string): void; + private __request; + request(method: string, args?: PyArgs | PyKwargs, kwargs?: PyKwargs): Promise; +} +interface LayoutResult { + detection: starry.PageLayout; + theta: number; + interval: number; + sourceSize?: { + width: number; + height: number; + }; +} +interface PredictorInterface { + layout: (streams: Buffer[]) => LayoutResult[]; + layout$reinforce: (streams: Buffer[], baseLayouts: LayoutResult[]) => LayoutResult[]; + gauge: (streams: Buffer[]) => { + image: Buffer; + }[]; + mask: (streams: Buffer[]) => { + image: Buffer; + }[]; + semantic: (streams: Buffer[]) => any[]; + textLoc: (streams: Buffer[]) => any[]; + textOcr: (params: { + buffers: Buffer[]; + location: any[]; + }) => any[]; + brackets: (params: { + buffers: Buffer[]; + }) => any[]; + topo: (params: { + clusters: starry.EventCluster[]; + }) => any[]; + gaugeRenderer: (params: [ + Buffer, + Buffer, + number + ]) => { + buffer: Buffer; + size: { + width: number; + height: number; + }; + }; + jianpu: (params: { + buffers: Buffer[]; + }) => any[]; +} +type PredictorType = keyof PredictorInterface; +type PyClientsConstructOptions = Partial>; +declare class PyClients { + readonly options: PyClientsConstructOptions; + readonly logger: Logger; + clients: Map>; + constructor(options: PyClientsConstructOptions, logger?: Logger); + getClient(type: PredictorType): Promise; + checkHost(type: PredictorType): Promise; + warmup(): Promise; + /** + * æĻĄåž‹éĒ„æĩ‹ + * @param type layout | mask | gauge | semantic + * @param args + */ + predictScoreImages(type: T, ...args: Parameters): Promise>; +} +interface OMRStat { + cost: number; // in milliseconds + pagesCost: number; // in milliseconds + pages: number; +} +interface OMRSummary { + costTotal: number; // in milliseconds + costPerPage: number; // in milliseconds + pagesTotal: number; + scoreN: number; +} +type TaskProgress = { + total?: number; + finished?: number; +}; +interface OMRPage { + url: string | Buffer; + key?: string; + layout?: LayoutResult; + renew?: boolean; + enableGauge?: boolean; +} +interface ProgressState { + layout?: TaskProgress; + text?: TaskProgress; + gauge?: TaskProgress; + mask?: TaskProgress; + semantic?: TaskProgress; + regulate?: TaskProgress; + brackets?: TaskProgress; +} +type SourceImage = string | Buffer; +interface OMROption { + outputWidth?: number; + title?: string; // æ›ēč°ąæ ‡éǘ + pageStore?: { + has?: (key: string) => Promise; + get: (key: string) => Promise; + set: (key: string, val: string) => Promise; + }; + renew?: boolean; + processes?: (keyof ProgressState)[]; // 选æ‹ĐæĩįĻ‹ + onProgress?: (progress: ProgressState) => void; + onReplaceImage?: (src: SourceImage) => Promise; // æ›ŋæĒ所有å›ūį‰‡åœ°å€ïžŒį”Ļ䚎äļŠäž æˆ–č€…æ žåžč―ŽæĒ +} +/** + * čŊ†åˆŦ所有å›ūቇ + * @param pyClients + * @param images + * @param option + */ +declare const predictPages: (pyClients: PyClients, images: OMRPage[], option?: OMROption) => Promise<{ + score: starry.Score; + omitPages: number[]; + stat: OMRStat; +}>; +declare const abstractOMRStats: (stats: OMRStat[]) => OMRSummary; +interface SolutionStore { + get: (key: string) => Promise; + set: (key: string, val: RegulationSolution) => Promise; + batchGet: (keys: string[]) => Promise; +} +// éŧ˜čŪĪstore +declare const DefaultSolutionStore: SolutionStore; +declare const enum MeasureStatus { + Discard = -1, + Solved = 0, + Issue = 1, + Fatal = 2 +} +interface IssueMeasure { + scoreId: string; + measureIndex: number; + measure: SpartitoMeasure; + status: MeasureStatus; +} +type SaveIssueMeasure = (data: Omit) => void; +interface BeadRegulationCounting { + cached: number; + simple: number; + computed: number; + tryTimes: number; + solved: number; + issue: number; + fatal: number; +} +interface RegulationBeadStat { + totalCost: number; // in milliseconds + pickerCost: number; // in milliseconds + measures: BeadRegulationCounting; + qualityScore: number; +} +interface RegulationBeadSummary { + scoreN: number; + totalCost: number; // in milliseconds + pickerCost: number; // in milliseconds + costPerMeasure: number | null; // in milliseconds + costPerTime: number | null; // in milliseconds + cached: number; + simple: number; + computed: number; + tryTimes: number; + solved: number; + issue: number; + fatal: number; +} +interface ProgressInfo { + pass: number; + remaining: number; + total: number; +} +interface RegulateBeadOption { + logger?: Logger; + pickers: starry.BeadPicker[]; + solutionStore?: SolutionStore; + ignoreCache?: boolean; + freshOnly?: boolean; + onSaveIssueMeasure?: SaveIssueMeasure; + onProgress?: (measure: starry.SpartitoMeasure, evaluation: starry.MeasureEvaluation, better: boolean, progress: ProgressInfo) => void; + onPassStart?: (pass: number, conditionName: string, pendingCount: number) => void; +} +declare const regulateWithBeadSolver: (score: starry.Score, { logger, pickers, solutionStore, ignoreCache, freshOnly, onSaveIssueMeasure, onProgress, onPassStart }: RegulateBeadOption) => Promise; +declare const abstractRegulationBeadStats: (stats: RegulationBeadStat[]) => RegulationBeadSummary; +interface BaseRegulationStat { + cached: number; + computed: number; + solved: number; +} +interface RegulateMaybeWithTopoOption { + solutionStore: SolutionStore; + pyClients?: PyClients; + solver: (...args: any[]) => any; + onSaveIssueMeasure?: SaveIssueMeasure; +} +interface RegulateSimpleOption { + solutionStore: SolutionStore; + solver: (...args: any[]) => any; + logger?: Logger; + quotaMax?: number; + quotaFactor?: number; +} +interface TopoRegulationStat { + solved: number; + issue: number; + fatal: number; +} +interface RegulationStat { + baseCost: number; // in milliseconds + topoCost: number; // in milliseconds + baseMeasures: BaseRegulationStat; + topoMeasures?: TopoRegulationStat; + qualityScore: number; +} +declare const doRegulate: (score: starry.Score, { pyClients, solver, solutionStore, onSaveIssueMeasure }: RegulateMaybeWithTopoOption) => Promise; +declare const doSimpleRegulate: (score: starry.Score, { solver, solutionStore, logger, quotaMax, quotaFactor }: RegulateSimpleOption) => Promise; +declare const evaluateScoreQuality: (score: starry.Score, options: RegulateSimpleOption) => Promise; +interface RegulationSummary { + scoreN: number; + baseCostTotal: number; // in milliseconds + topoCostTotal: number; // in milliseconds + baseCostPerMeasure: number | null; // in milliseconds + topoCostPerMeasure: number | null; // in milliseconds + cached: number; + baseComputed: number; + baseSolved: number; + topoSolved: number; + topoIssue: number; + topoFatal: number; +} +declare const abstractRegulationStats: (stats: RegulationStat[]) => RegulationSummary; +declare const constructSystem: ({ page, backgroundImage, detection, imageSize, position }: { + page: any; + backgroundImage: any; + detection: any; + imageSize: any; + position: any; +}) => starry.System; +interface ConvertOption { + format?: keyof FormatEnum; + quality?: number; + maxHeight?: number; +} +/** + * č―ŽæĒå›ūį‰‡æ žåžïžŒéŧ˜čŪĪwebp、最åΧéŦ˜åšĶ1080éŦ˜åšĶ小䚎1080臩åŠĻäļåšå°šåŊļ变æĒ + * @param url + * @param format + * @param maxHeight + * @param quality + */ +declare function convertImage(url: string | Buffer, { format, maxHeight, quality }?: ConvertOption): Promise<{ + buffer: Buffer; + filename: string; +}>; +/** + * æ›ŋæĒscoreJsonå›ūį‰‡åœ°å€ + * @param scoreJson + * @param onReplaceImage + */ +declare const replaceScoreJsonImages: (scoreJson: ScoreJSON, onReplaceImage?: (src: string) => string) => any; +/** + * čŽ·å–scoreJsonå›ūቇčĩ„暐列čĄĻ + * @param scoreJson + */ +declare const getScoreJsonImages: (scoreJson: ScoreJSON) => string[]; +interface ScorePatchesUpdateOptions { + solutionStore?: SolutionStore; +} +declare const updateScorePatches: (score: starry.Score, measures: starry.SpartitoMeasure[], options?: ScorePatchesUpdateOptions) => void; +interface EditableMeasuresSaveOptions { + status?: number; + solutionStore?: SolutionStore; +} +declare const saveEditableMeasures: (score: starry.Score, measureIndices: number[], saveMeasure: SaveIssueMeasure, { status, solutionStore }?: EditableMeasuresSaveOptions) => Promise; + +export { ConvertOption, DefaultSolutionStore, FindScoreResource, IssueMeasure, LayoutResult, MeasureStatus, OMROption, OMRPage, PredictorInterface, ProgressInfo, ProgressState, PyClients, PyClientsConstructOptions, RegulationBeadStat, SaveIssueMeasure, SolutionStore, TaskProgress, abstractOMRStats, abstractRegulationBeadStats, abstractRegulationStats, constructSystem, convertImage, doRegulate, doSimpleRegulate, encodeFindResource, evaluateScoreQuality, getScoreJsonImages, predictPages, regulateWithBeadSolver, replaceScoreJsonImages, saveEditableMeasures, starry, updateScorePatches }; diff --git a/backend/omr/dist/index.js b/backend/omr/dist/index.js new file mode 100644 index 0000000000000000000000000000000000000000..1e21e149ae529bffec1da5d6eb0b6308b71326b2 --- /dev/null +++ b/backend/omr/dist/index.js @@ -0,0 +1,2 @@ +"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("js-sha1"),t=require("lodash/pick"),s=require("lodash"),i=require("math-erf"),r=require("msgpackr"),n=require("zeromq"),a=require("portfinder"),o=require("python-shell"),c=require("skia-canvas"),l=require("weak-lru-cache"),u=require("spark-md5"),h=require("sharp"),m=require("got");function f(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var d,p,g,y=f(e),v=f(t),x=f(s),S=f(i),b=f(u),k=f(h),T=f(m);globalThis.btoa=e=>Buffer.from(e,"binary").toString("base64"),globalThis.atob=e=>Buffer.from(e,"base64").toString("binary"),function(e){e.ByLines="ByLines",e.ByBlocks="ByBlocks"}(d||(d={})),function(e){e.Title="Title",e.Author="Author",e.TempoText="TempoText",e.TempoNumeral="TempoNumeral",e.TextualMark="TextualMark",e.Lyric="Lyric",e.Instrument="Instrument",e.MeasureNumber="MeasureNumber",e.Times="Times",e.Alternation1="Alternation1",e.Alternation2="Alternation2",e.Chord="Chord",e.PageMargin="PageMargin",e.Other="Other"}(p||(p={})),function(e){e.ClefG="ClefG",e.ClefF="ClefF",e.ClefC="ClefC",e.NoteheadS0="NoteheadS0",e.NoteheadS1="NoteheadS1",e.NoteheadS2="NoteheadS2",e.NoteheadS1stemU="NoteheadS1stemU",e.NoteheadS1stemD="NoteheadS1stemD",e.NoteheadS2stemU="NoteheadS2stemU",e.NoteheadS2stemD="NoteheadS2stemD",e.vline_Stem="vline_Stem",e.Flag3="Flag3",e.BeamLeft="BeamLeft",e.BeamContinue="BeamContinue",e.BeamRight="BeamRight",e.TremoloLeft="TremoloLeft",e.TremoloRight="TremoloRight",e.TremoloMiddle="TremoloMiddle",e.Dot="Dot",e.Rest0="Rest0",e.Rest1="Rest1",e.Rest2="Rest2",e.Rest3="Rest3",e.Rest4="Rest4",e.Rest5="Rest5",e.Rest6="Rest6",e.Rest0W="Rest0W",e.RestM1="RestM1",e.AccNatural="AccNatural",e.AccSharp="AccSharp",e.AccDoublesharp="AccDoublesharp",e.AccFlat="AccFlat",e.AccFlatflat="AccFlatflat",e.vline_VoltaLeft="vline_VoltaLeft",e.vline_VoltaRight="vline_VoltaRight",e.VoltaLeft="VoltaLeft",e.VoltaRight="VoltaRight",e.VoltaAlternativeBegin="VoltaAlternativeBegin",e.BarMeasure="BarMeasure",e.vline_BarMeasure="vline_BarMeasure",e.vline_BarTerminal="vline_BarTerminal",e.vline_BarSegment="vline_BarSegment",e.SlurBegin="SlurBegin",e.SlurEnd="SlurEnd",e.TimesigC44="TimesigC44",e.TimesigC22="TimesigC22",e.TimesigZero="TimesigZero",e.TimesigOne="TimesigOne",e.TimesigTwo="TimesigTwo",e.TimesigThree="TimesigThree",e.TimesigFour="TimesigFour",e.TimesigFive="TimesigFive",e.TimesigSix="TimesigSix",e.TimesigSeven="TimesigSeven",e.TimesigEight="TimesigEight",e.TimesigNine="TimesigNine",e.OctaveShift8va="OctaveShift8va",e.OctaveShift8vb="OctaveShift8vb",e.OctaveShift8="OctaveShift8",e.OctaveShift0="OctaveShift0",e.Zero="Zero",e.One="One",e.Two="Two",e.Three="Three",e.Four="Four",e.Five="Five",e.Six="Six",e.Seven="Seven",e.Eight="Eight",e.Nine="Nine",e.f="f",e.p="p",e.m="m",e.n="n",e.r="r",e.s="s",e.z="z",e.CrescendoBegin="CrescendoBegin",e.CrescendoEnd="CrescendoEnd",e.DecrescendoBegin="DecrescendoBegin",e.DecrescendoEnd="DecrescendoEnd",e.ScriptFermata="ScriptFermata",e.ScriptShortFermata="ScriptShortFermata",e.ScriptSforzato="ScriptSforzato",e.ScriptStaccato="ScriptStaccato",e.ScriptStaccatissimo="ScriptStaccatissimo",e.ScriptTurn="ScriptTurn",e.ScriptTrill="ScriptTrill",e.ScriptSegno="ScriptSegno",e.ScriptCoda="ScriptCoda",e.ScriptArpeggio="ScriptArpeggio",e.ScriptPrall="ScriptPrall",e.ScriptMordent="ScriptMordent",e.ScriptMarcato="ScriptMarcato",e.ScriptTenuto="ScriptTenuto",e.ScriptPortato="ScriptPortato",e.PedalStar="PedalStar",e.PedalPed="PedalPed",e.KeyAcc="KeyAcc",e.TempoNotehead="TempoNotehead",e.GraceNotehead="GraceNotehead",e.SignLined="SignLined",e.SignInterval="SignInterval",e.rect_Text="rect_Text",e.rect_Lyric="rect_Lyric"}(g||(g={}));const w={NoteheadS0:1.826,NoteheadS1:1.264,NoteheadS2:1.198},M={"clefs.F":{x:1.06},"clefs.G":{x:1.3},"clefs.F_change":{x:.87},"clefs.G_change":{x:1.07},"timesig.C44":{x:.9},"timesig.C22":{x:.9},zero:{x:.7,y:-1},one:{x:.7,y:-1},two:{x:.7,y:-1},three:{x:.7,y:-1},four:{x:.7,y:-1},five:{x:.7,y:-1},six:{x:.7,y:-1},seven:{x:.7,y:-1},eight:{x:.7,y:-1},nine:{x:.7,y:-1},"accidentals.sharp":{x:.55},"accidentals.doublesharp":{x:.5},"accidentals.natural":{x:.3},"accidentals.flat":{x:.3},"accidentals.flatflat":{x:.5},"noteheads.s0":{x:w.NoteheadS0/2},"noteheads.s1":{x:w.NoteheadS1/2},"noteheads.s2":{x:w.NoteheadS2/2},"rests.0":{x:.75,y:1},"rests.1":{x:.75},"rests.0o":{x:.75,y:1},"rests.1o":{x:.75},"rests.M1":{x:.75,y:1},"rests.2":{x:.5},"rests.3":{x:.5},"rests.4":{x:.5},"rests.5":{x:.5},"rests.6":{x:.5},f:{x:.6,y:-.5},m:{x:.9,y:-.5},p:{x:.5,y:-.5},r:{x:.5,y:-.5},s:{x:.5,y:-.5},z:{x:.5,y:-.5},"scripts.trill":{y:-.5},"scripts.segno":{x:0,y:0},"scripts.coda":{x:0,y:0},"scripts.arpeggio":{x:.5,y:-.5},"pedal.*":{x:.78,y:-.78},"pedal.Ped":{x:1.6,y:-.7}},E=[g.BarMeasure,g.vline_BarMeasure,g.vline_BarTerminal,g.vline_BarSegment,g.vline_VoltaLeft,g.vline_VoltaRight,g.VoltaAlternativeBegin],N=g,I=[[N.NoteheadS0,N.NoteheadS1,N.NoteheadS2],[N.Zero,N.One,N.Two,N.Three,N.Four,N.Five,N.Six,N.Seven,N.Eight,N.Nine,N.ScriptStaccatissimo],[N.TimesigZero,N.TimesigOne,N.TimesigTwo,N.TimesigThree,N.TimesigFour,N.TimesigFive,N.TimesigSix,N.TimesigSeven,N.TimesigEight,N.TimesigNine],[N.Rest0,N.Rest1,N.Rest2,N.Rest3,N.Rest4,N.Rest5,N.Rest6,N.Rest0W,N.RestM1],[N.SignInterval,N.SignLined],[N.BeamLeft,N.BeamContinue,N.BeamRight]],C=[N.ClefG,N.ClefF,N.ClefC,N.NoteheadS0,N.NoteheadS1,N.NoteheadS2,N.Dot,N.Rest0,N.Rest1,N.Rest2,N.Rest3,N.Rest4,N.Rest5,N.Rest6,N.RestM1,N.AccNatural,N.AccSharp,N.AccDoublesharp,N.AccFlat,N.AccFlatflat,N.TimesigC44,N.TimesigC22,N.TimesigZero,N.TimesigOne,N.TimesigTwo,N.TimesigThree,N.TimesigFour,N.TimesigFive,N.TimesigSix,N.TimesigSeven,N.TimesigEight,N.TimesigNine,N.One,N.Two,N.Three,N.Four,N.Five,N.OctaveShift8,N.OctaveShift0,N.f,N.p,N.m,N.n,N.r,N.s,N.z,N.ScriptFermata,N.ScriptShortFermata,N.ScriptSforzato,N.ScriptStaccato,N.ScriptStaccatissimo,N.ScriptTurn,N.ScriptTrill,N.ScriptSegno,N.ScriptCoda,N.ScriptArpeggio,N.ScriptPrall,N.ScriptMordent,N.ScriptMarcato,N.ScriptTenuto,N.ScriptPortato,N.PedalStar,N.PedalPed],_=(e,t,s)=>{const i=Math.round(10*s.x),r=Math.round(10*s.y),n=`${e}|${t}|${s.semantic}|${i}|${r}`,a=y.default.array(n).slice(12),o=globalThis.btoa(String.fromCharCode(...a)).substring(0,11);return s.id=o,o},O=(e,t)=>{const s=Math.round(t.x),i=Math.round(t.y),r=`p-${e}|${t.semantic}|${s}|${i}`,n=y.default.array(r).slice(12),a=globalThis.btoa(String.fromCharCode(...n)).substring(0,11);return t.id=a,a};var B;!function(e){e.ClefG="clefs-G",e.ClefF="clefs-F",e.ClefC="clefs-C",e.TimesigC44="timesig-C44",e.TimesigC22="timesig-C22",e.TimesigZero="zero|timesig0",e.TimesigOne="one|timesig1",e.TimesigTwo="two|timesig2",e.TimesigThree="three|timesig3",e.TimesigFour="four|timesig4",e.TimesigFive="five|timesig5",e.TimesigSix="six|timesig6",e.TimesigSeven="seven|timesig7",e.TimesigEight="eight|timesig8",e.TimesigNine="nine|timesig9",e.OctaveShift8va="octave-a",e.OctaveShift8vb="octave-b",e.OctaveShift0="octave-0",e.Zero="zero|n0",e.One="one|n1",e.Two="two|n2",e.Three="three|n3",e.Four="four|n4",e.Five="five|n5",e.Six="six|n6",e.Seven="seven|n7",e.Eight="eight|n8",e.Nine="nine|n9",e.AccNatural="accidentals-natural",e.AccSharp="accidentals-sharp",e.AccDoublesharp="accidentals-doublesharp",e.AccFlat="accidentals-flat",e.AccFlatflat="accidentals-flatflat",e.KeyNatural="accidentals-natural|key-natural",e.KeySharp="accidentals-sharp|key-sharp",e.KeyFlat="accidentals-flat|key-flat",e.NoteheadS0="noteheads-s0",e.NoteheadS1="noteheads-s1",e.NoteheadS2="noteheads-s2",e.NoteheadS1stemU="noteheads-s1|noteheads-s1-u",e.NoteheadS1stemD="noteheads-s1|noteheads-s1-d",e.NoteheadS2stemU="noteheads-s2|noteheads-s2-u",e.NoteheadS2stemD="noteheads-s2|noteheads-s2-d",e.Rest0="rests-0o",e.Rest1="rests-1o",e.Rest2="rests-2",e.Rest3="rests-3",e.Rest4="rests-4",e.Rest5="rests-5",e.Rest6="rests-6",e.Rest0W="rests-0",e.RestM1="rests-M1",e.Flag3="flags-u3",e.Flag4="flags-u4",e.Flag5="flags-u5",e.Flag6="flags-u6",e.Flag7="flags-u7",e.Flag8="flags-u8",e.BeamLeft="|beam-left",e.BeamRight="|beam-right",e.BeamContinue="|beam-continue",e.TremoloLeft="|tremolo-left",e.TremoloRight="|tremolo-right",e.TremoloMiddle="|tremolo-middle",e.SlurBegin="|slur-begin",e.SlurEnd="|slur-end",e.TieBegin="|tie-begin",e.TieEnd="|tie-end",e.VoltaLeft="|volta-left",e.VoltaRight="|volta-right",e.VoltaAlternativeBegin="|volta-alter-begin",e.BarTerminal="|bar-terminal",e.BarSegment="|bar-segment",e.Dot="|dot",e.DotDot="|dotdot",e.f="f",e.p="p",e.m="m",e.r="r",e.s="s",e.z="z",e.WedgeCrescendo="|wedge-crescendo",e.WedgeDiminuendo="|wedge-diminuendo",e.WedgeClose="|wedge-close",e.CrescendoBegin="|wedge-crescendo",e.DecrescendoBegin="|wedge-diminuendo",e.CrescendoEnd="|wedge-close",e.DecrescendoEnd="|wedge-close",e.ScriptFermata="scripts-ufermata",e.ScriptShortFermata="scripts-ushortfermata",e.ScriptSforzato="scripts-sforzato",e.ScriptStaccato="scripts-staccato",e.ScriptStaccatissimo="scripts-ustaccatissimo",e.ScriptTurn="scripts-turn",e.ScriptTrill="scripts-trill",e.ScriptSegno="scripts-segno",e.ScriptCoda="scripts-coda",e.ScriptArpeggio="scripts-arpeggio",e.ScriptPrall="scripts-prall",e.ScriptMordent="scripts-mordent",e.ScriptMarcato="scripts-umarcato",e.ScriptTenuto="scripts-tenuto",e.ScriptPortato="scripts-uportato",e.PedalStar="pedal-star",e.PedalPed="pedal-Ped",e.Text="|text",e.GraceNotehead="|grace-notehead"}(B||(B={}));const A=B,P=Object.values(B),R=P.filter(e=>/clefs-/.test(e)),D=P.filter(e=>/timesig/.test(e)),F=P.filter(e=>/timesig-/.test(e)),L=P.filter(e=>/timesig\d/.test(e)),$=P.filter(e=>/octave-/.test(e)),j=P.filter(e=>/n\d/.test(e)),H=P.filter(e=>/accidentals-/.test(e)),V=P.filter(e=>/noteheads-/.test(e)),z=[A.NoteheadS0,A.NoteheadS1,A.NoteheadS2],q=P.filter(e=>/noteheads-.+-[ud]/.test(e)),G=P.filter(e=>/rests-/.test(e)),W=P.filter(e=>/flags-/.test(e)),U=P.filter(e=>/volta-/.test(e)),Y=P.filter(e=>/^[a-z]$/.test(e)),X=P.filter(e=>/scripts-/.test(e)),K=P.filter(e=>/pedal-/.test(e)),Z=[A.Dot,A.DotDot],J=[A.SlurBegin,A.SlurEnd,A.TieBegin,A.TieEnd],Q=P.filter(e=>/beam-/.test(e)),ee=P.filter(e=>/wedge-/.test(e)),te=[...j,...Y,...ee,...K,...J,A.ScriptFermata,A.ScriptShortFermata,A.ScriptSforzato,A.ScriptStaccato,A.ScriptStaccatissimo,A.ScriptTurn,A.ScriptTrill,A.ScriptPrall,A.ScriptMordent,A.ScriptMarcato,A.ScriptTenuto,A.ScriptPortato],se=[...K],ie=[...R,...D,...j,...H,A.NoteheadS0,A.NoteheadS1,A.NoteheadS2,...G,...Y,...X,...K,...Z],re={};R.forEach(e=>re[e]=1),L.forEach(e=>re[e]=1),H.forEach(e=>re[e]=.5),V.forEach(e=>re[e]=.5),G.forEach(e=>re[e]=.5),Z.forEach(e=>re[e]=.5);const ne={};F.forEach(e=>ne[e]=0),U.forEach(e=>ne[e]=0);class Token{constructor(e){Object.assign(this,e)}get typeId(){return this.type.split("|").reverse()[0]}get isPredicted(){return Number.isFinite(this.confidence)}get isNotehead(){return q.includes(this.type)||this.type===B.NoteheadS0}get isContexted(){return R.includes(this.type)||D.includes(this.type)||$.includes(this.type)||H.includes(this.type)}get isAccessory(){return j.includes(this.type)||Y.includes(this.type)||X.includes(this.type)||K.includes(this.type)}get division(){switch(this.type){case A.NoteheadS0:return 0;case A.NoteheadS1stemU:case A.NoteheadS1stemD:return 1;case A.NoteheadS2stemU:case A.NoteheadS2stemD:return 2;case A.Flag3:return 3;case A.Flag4:return 4;case A.Flag5:return 5;case A.Flag6:return 6;case A.Flag7:return 7;case A.Flag8:return 8;case A.RestM1:return-1;case A.Rest0:return 0;case A.Rest1:return 1;case A.Rest2:return 2;case A.Rest3:return 3;case A.Rest4:return 4;case A.Rest5:return 5;case A.Rest6:return 6}return null}get dots(){switch(this.type){case A.Dot:return 1;case A.DotDot:return 2}return null}get direction(){switch(this.type){case A.NoteheadS1stemU:case A.NoteheadS2stemU:return"u";case A.NoteheadS1stemD:case A.NoteheadS2stemD:return"d"}return null}get width(){switch(this.type){case A.NoteheadS0:return w.NoteheadS0;case A.NoteheadS1stemU:case A.NoteheadS1stemD:return w.NoteheadS1;case A.NoteheadS2stemU:case A.NoteheadS2stemD:return w.NoteheadS2}}get left(){switch(this.type){case A.NoteheadS0:return this.x-this.width/2;case A.NoteheadS1stemU:case A.NoteheadS2stemU:return this.x-this.width;case A.NoteheadS1stemD:case A.NoteheadS2stemD:return this.x}return this.x}get right(){switch(this.type){case A.NoteheadS0:return this.x+this.width/2;case A.NoteheadS1stemU:case A.NoteheadS2stemU:return this.x;case A.NoteheadS1stemD:case A.NoteheadS2stemD:return this.x+this.width}return this.x}get voiceIndices(){return!this.voice||this.voice<0?[]:Array(Math.floor(Math.log2(this.voice))+1).fill(null).reduce((e,t,s)=>this.voice&1<("object"==typeof e&&(e=JSON.stringify(e)),JSON.parse(e,(e,s)=>{if(s&&"object"==typeof s&&s.__prototype){const e=t[s.__prototype];if(e){const{__prototype:t,...i}=s;return new e(i)}}return s})),oe=(e,t=null)=>{if((t=t||new Map).get(e))return t.get(e);if(Array.isArray(e)){const s=[];return t.set(e,s),e.forEach(e=>s.push(oe(e,t))),s}if(e&&"object"==typeof e){const s={};return t.set(e,s),Object.entries(e).forEach(([e,i])=>s[e]=oe(i,t)),Object.setPrototypeOf(s,e.__proto__),s}return e};class SimpleClass{assign(e){e&&Object.assign(this,e)}toJSON(){const e=this.constructor,t=e.serializedKeys||e.blackKeys&&Object.keys(this).filter(t=>!e.blackKeys.includes(t)),s=t?v.default(this,t):this;return{__prototype:e.className,...s}}deepCopy(){return oe(this)}}var ce;!function(e){e.Ordinary="ordinary",e.Full="full",e.Conservative="conservative",e.Once="once"}(ce||(ce={}));const le=(e,t=ce.Ordinary)=>[].concat(...e.map(e=>e.serialize(t))),ue=(e,{withBrackets:t=!1}={})=>{let s="",i=!1;for(let t=0;t0&&!i&&(s+=", "),i=!1,s+=e[t].code)}return t?`[${s}]`:s};class SingleMLayout extends SimpleClass{static from(e){const t=new SingleMLayout;return t.measure=e,t}constructor(e=void 0){super(),this.assign(e)}serialize(){return[this.measure]}get seq(){return[this]}get code(){return this.measure.toString()}}SingleMLayout.className="SingleMLayout";class BlockMLayout extends SimpleClass{static trimSeq(e){const t=[];for(const s of e)if(s instanceof BlockMLayout)for(const e of s.seq)t.push(e);else t.push(s);const s=[];let i=null;for(const e of t)e instanceof SingleMLayout?e.measure>i&&(s.push(e),i=e.measure):s.push(e);return s}static fromSeq(e){const t=new BlockMLayout;return t.seq=BlockMLayout.trimSeq(e),t}constructor(e=void 0){super(),this.assign(e)}serialize(e){return le(this.seq,e)}get code(){return ue(this.seq,{withBrackets:!0})}}BlockMLayout.className="BlockMLayout";class VoltaMLayout extends SimpleClass{constructor(e=void 0){super(),this.assign(e)}serialize(e){const t=le(this.body);if(this.alternates){const s=this.alternates.map(e=>le(e)),i=s[s.length-1];switch(e){case ce.Ordinary:return t.concat(...s);case ce.Conservative:case ce.Full:return[...[].concat(...Array(this.times-1).fill(null).map((e,i)=>[...t,...s[i%(this.times-1)]])),...t,...i];case ce.Once:return[...t,...i]}}else switch(e){case ce.Ordinary:case ce.Conservative:case ce.Once:return t;case ce.Full:return[].concat(...Array(this.times).fill(null).map(()=>t))}console.warn("the current case not handled:",e,this)}get seq(){const e=this.alternates?this.alternates[this.alternates.length-1]:[];return[...this.body,...e]}get code(){const e=ue(this.body,{withBrackets:!0});let t=`${this.times}*${e}`;return this.alternates&&(t+="{"+this.alternates.map(e=>ue(e,{withBrackets:e.length>1})).join(", ")+"}"),t}}VoltaMLayout.className="VoltaMLayout";class ABAMLayout extends SimpleClass{constructor(e=void 0){super(),this.assign(e)}serialize(e){const t=this.main.serialize(e),s=le(this.main.seq,ce.Once),i=le(this.rest,e);switch(e){case ce.Ordinary:return[...t,...i];case ce.Once:return[...i,...s];case ce.Conservative:case ce.Full:return[...t,...i,...s];default:console.warn("the current case not handled:",e,this)}}get seq(){return[this.main,...this.rest]}get code(){return"<"+this.main.code+", "+ue(this.rest)+">"}}ABAMLayout.className="ABAMLayout";var he=Object.freeze({__proto__:null,get LayoutType(){return ce},SingleMLayout:SingleMLayout,BlockMLayout:BlockMLayout,VoltaMLayout:VoltaMLayout,ABAMLayout:ABAMLayout}),me=function(){var e=function(e,t,s,i){for(s=s||{},i=e.length;i--;s[e[i]]=t);return s},t=[1,13],s=[1,16],i=[1,15],r=[1,26],n=[1,29],a=[1,28],o=[1,30],c=[5,13,22,27,29],l=[2,15],u=[1,32],h=[5,14,21,22,27,28,29],m={trace:function(){},yy:{},symbols_:{error:2,start_symbol:3,measure_layout:4,EOF:5,index_wise_measure_layout:6,"i:":7,"s:":8,segment_wise_measure_layout:9,iw_sequence:10,iw_item:11,range:12,",":13,UNSIGNED:14,"..":15,single:16,iw_block_item:17,iw_volta:18,iw_aba:19,iw_block:20,"[":21,"]":22,"*":23,iw_optional_alternates:24,iw_alternates:25,"{":26,"}":27,"<":28,">":29,sw_sequence:30,sw_item:31,segment:32,sw_block_item:33,sw_volta:34,sw_aba:35,sw_block:36,sw_optional_alternates:37,sw_alternates:38,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",7:"i:",8:"s:",13:",",14:"UNSIGNED",15:"..",21:"[",22:"]",23:"*",26:"{",27:"}",28:"<",29:">"},productions_:[0,[3,2],[4,1],[4,2],[4,2],[6,1],[10,1],[10,1],[10,3],[10,3],[12,3],[11,1],[11,1],[11,1],[11,1],[16,1],[17,1],[20,3],[18,4],[24,0],[24,1],[25,3],[19,5],[9,1],[30,1],[30,2],[31,1],[31,1],[31,1],[31,1],[32,1],[33,1],[36,3],[34,4],[37,0],[37,1],[38,3],[35,4]],performAction:function(e,t,s,i,r,n,a){var o=n.length-1;switch(r){case 1:return n[o-1];case 2:this.$=f(null,n[o]);break;case 3:this.$=f("index-wise",n[o]);break;case 4:this.$=f("segment-wise",b(n[o]));break;case 5:case 23:1===n[o].length&&"BlockMLayout"===n[o][0].__prototype?this.$=n[o][0]:this.$=p(n[o]);break;case 6:case 24:this.$=[n[o]];break;case 7:case 11:case 12:case 13:case 14:case 20:case 27:case 28:case 29:case 35:this.$=n[o];break;case 8:this.$=[...n[o-2],n[o]];break;case 9:this.$=[...n[o-2],...n[o]];break;case 10:this.$=S(n[o-2],n[o]);break;case 15:this.$=d(n[o]);break;case 16:case 31:this.$=p(n[o]);break;case 17:case 32:this.$=n[o-1];break;case 18:case 33:this.$=g(n[o-3],n[o-1],n[o]);break;case 19:case 34:this.$=null;break;case 21:case 36:this.$=x(n[o-1]);break;case 22:this.$=y(n[o-3],n[o-1]);break;case 25:this.$=[...n[o-1],n[o]];break;case 26:this.$=p([n[o]]);break;case 30:this.$=v(n[o]);break;case 37:this.$=y(n[o-2],n[o-1])}},table:[{3:1,4:2,6:3,7:[1,4],8:[1,5],10:6,11:7,12:8,14:t,16:9,17:10,18:11,19:12,20:14,21:s,28:i},{1:[3]},{5:[1,17]},{5:[2,2]},{6:18,10:6,11:7,12:8,14:t,16:9,17:10,18:11,19:12,20:14,21:s,28:i},{9:19,14:r,21:n,28:a,30:20,31:21,32:22,33:23,34:24,35:25,36:27},{5:[2,5],13:o},e(c,[2,6]),e(c,[2,7]),e(c,[2,11]),e(c,[2,12]),e(c,[2,13]),e(c,[2,14]),e(c,l,{15:[1,31],23:u}),e(c,[2,16]),{11:33,14:[1,34],16:9,17:10,18:11,19:12,20:14,21:s,28:i},{10:35,11:7,12:8,14:t,16:9,17:10,18:11,19:12,20:14,21:s,28:i},{1:[2,1]},{5:[2,3]},{5:[2,4]},{5:[2,23],14:r,21:n,28:a,31:36,32:22,33:23,34:24,35:25,36:27},e(h,[2,24]),e(h,[2,26]),e(h,[2,27]),e(h,[2,28]),e(h,[2,29]),e(h,[2,30],{23:[1,37]}),e(h,[2,31]),{14:r,21:n,28:a,31:38,32:22,33:23,34:24,35:25,36:27},{14:r,21:n,28:a,30:39,31:21,32:22,33:23,34:24,35:25,36:27},{11:40,12:41,14:t,16:9,17:10,18:11,19:12,20:14,21:s,28:i},{14:[1,42]},{20:43,21:s},{13:[1,44]},{13:l,23:u},{13:o,22:[1,45]},e(h,[2,25]),{21:n,36:46},{14:r,21:n,28:a,30:47,31:21,32:22,33:23,34:24,35:25,36:27},{14:r,21:n,22:[1,48],28:a,31:36,32:22,33:23,34:24,35:25,36:27},e(c,[2,8]),e(c,[2,9]),e(c,[2,10]),e(c,[2,19],{24:49,25:50,26:[1,51]}),{10:52,11:7,12:8,14:t,16:9,17:10,18:11,19:12,20:14,21:s,28:i},e([5,13,22,26,27,29],[2,17]),e(h,[2,34],{37:53,38:54,26:[1,55]}),{14:r,21:n,28:a,29:[1,56],31:36,32:22,33:23,34:24,35:25,36:27},e([5,14,21,22,26,27,28,29],[2,32]),e(c,[2,18]),e(c,[2,20]),{10:57,11:7,12:8,14:t,16:9,17:10,18:11,19:12,20:14,21:s,28:i},{13:o,29:[1,58]},e(h,[2,33]),e(h,[2,35]),{14:r,21:n,28:a,30:59,31:21,32:22,33:23,34:24,35:25,36:27},e(h,[2,37]),{13:o,27:[1,60]},e(c,[2,22]),{14:r,21:n,27:[1,61],28:a,31:36,32:22,33:23,34:24,35:25,36:27},e(c,[2,21]),e(h,[2,36])],defaultActions:{3:[2,2],17:[2,1],18:[2,3],19:[2,4]},parseError:function(e,t){if(!t.recoverable){var s=new Error(e);throw s.hash=t,s}this.trace(e)},parse:function(e){var t=this,s=[0],i=[null],r=[],n=this.table,a="",o=0,c=0,l=r.slice.call(arguments,1),u=Object.create(this.lexer),h={yy:{}};for(var m in this.yy)Object.prototype.hasOwnProperty.call(this.yy,m)&&(h.yy[m]=this.yy[m]);u.setInput(e,h.yy),h.yy.lexer=u,h.yy.parser=this,void 0===u.yylloc&&(u.yylloc={});var f=u.yylloc;r.push(f);var d=u.options&&u.options.ranges;"function"==typeof h.yy.parseError?this.parseError=h.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var p,g,y,v,x,S,b,k,T=function(){var e;return"number"!=typeof(e=u.lex()||1)&&(e=t.symbols_[e]||e),e},w={};;){if(g=s[s.length-1],this.defaultActions[g]?y=this.defaultActions[g]:(null==p&&(p=T()),y=n[g]&&n[g][p]),void 0===y||!y.length||!y[0]){var M="";for(x in k=[],n[g])this.terminals_[x]&&x>2&&k.push("'"+this.terminals_[x]+"'");M=u.showPosition?"Parse error on line "+(o+1)+":\n"+u.showPosition()+"\nExpecting "+k.join(", ")+", got '"+(this.terminals_[p]||p)+"'":"Parse error on line "+(o+1)+": Unexpected "+(1==p?"end of input":"'"+(this.terminals_[p]||p)+"'"),this.parseError(M,{text:u.match,token:this.terminals_[p]||p,line:u.yylineno,loc:f,expected:k})}if(y[0]instanceof Array&&y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+g+", token: "+p);switch(y[0]){case 1:s.push(p),i.push(u.yytext),r.push(u.yylloc),s.push(y[1]),p=null,c=u.yyleng,a=u.yytext,o=u.yylineno,f=u.yylloc;break;case 2:if(S=this.productions_[y[1]][1],w.$=i[i.length-S],w._$={first_line:r[r.length-(S||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(S||1)].first_column,last_column:r[r.length-1].last_column},d&&(w._$.range=[r[r.length-(S||1)].range[0],r[r.length-1].range[1]]),void 0!==(v=this.performAction.apply(w,[a,c,o,h.yy,y[1],i,r].concat(l))))return v;S&&(s=s.slice(0,-1*S*2),i=i.slice(0,-1*S),r=r.slice(0,-1*S)),s.push(this.productions_[y[1]][0]),i.push(w.$),r.push(w._$),b=n[s[s.length-2]][s[s.length-1]],s.push(b);break;case 3:return!0}}return!0}};const f=(e,t)=>({__prototype:"MesaureLayout",type:e,data:t}),d=e=>({__prototype:"SingleMLayout",measure:Number(e)}),p=e=>({__prototype:"BlockMLayout",seq:e}),g=(e,t,s)=>({__prototype:"VoltaMLayout",times:Number(e),body:t,alternates:s}),y=(e,t)=>({__prototype:"ABAMLayout",main:e,rest:t}),v=e=>({segment:!0,length:Number(e)}),x=e=>e.map(e=>"BlockMLayout"===e.__prototype?e.seq:[e]),S=(e,t)=>{if(e=Number(e),!((t=Number(t))>=e))throw new Error(`invalid measure range: ${e}..${t}`);return Array(t+1-e).fill(0).map((t,s)=>d(e+s))},b=(e,t={index:1})=>{const s=e=>[].concat(...e.map(e=>((e,t)=>{if(e.segment){const s=t.index;return t.index+=e.length,Array(e.length).fill(0).map((e,t)=>d(s+t))}return[b(e,t)]})(e,t)));switch(e.__prototype){case"BlockMLayout":e.seq=s(e.seq);break;case"VoltaMLayout":e.body=s(e.body),e.alternates=e.alternates&&e.alternates.map(s);break;case"ABAMLayout":e.main=b(e.main,t),e.rest=s(e.rest)}return e};var k={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,s=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),s.length-1&&(this.yylineno-=s.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:s?(s.length===i.length?this.yylloc.first_column:0)+i[i.length-s.length].length-s[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var s,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],s=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),s)return s;if(this._backtrack){for(var n in r)this[n]=r[n];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,s,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),n=0;nt[0].length)){if(t=s,i=n,this.options.backtrack_lexer){if(!1!==(e=this.test_match(s,r[n])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[i]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var e=this.next();return e||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,s,i){switch(s){case 0:break;case 1:case 3:case 4:return t.yytext;case 2:return 14;case 5:return 5}},rules:[/^(?:\s+)/,/^(?:([*,\[\]<>{}]))/,/^(?:(([1-9])([0-9])*))/,/^(?:(([a-z])+):)/,/^(?:\.\.)/,/^(?:$)/],conditions:{INITIAL:{rules:[0,1,2,3,4,5],inclusive:!0}}};function T(){this.yy={}}return m.lexer=k,T.prototype=m,m.Parser=T,new T}();me.Parser;me.Parser;var fe=function(){return me.parse.apply(me,arguments)};var de,pe;!function(e){e[e.Default=0]="Default",e[e.Brace=1]="Brace",e[e.Bracket=2]="Bracket",e[e.Square=3]="Square"}(de||(de={})),function(e){e[e.Blank=0]="Blank",e[e.Dashed=1]="Dashed",e[e.Solid=2]="Solid"}(pe||(pe={}));const ge=e=>({type:de.Default,staff:e}),ye={"{":de.Brace,"}":de.Brace,"<":de.Bracket,">":de.Bracket,"[":de.Square,"]":de.Square},ve={",":pe.Blank,"-":pe.Solid,".":pe.Dashed},xe=()=>btoa(Math.random().toString().substr(2)).replace(/=/g,"").split("").reverse().slice(0,6).join(""),Se=(e,t)=>{let s=t;for(;s.length;){const t=s.shift(),i=ye[t];if(i){if("}>]".includes(t)&&i===e.type)break;if("{<[".includes(t)){const t={type:i,level:Number.isFinite(e.level)?e.level+1:0};s=Se(t,s),e.subs=e.subs||[],e.subs.push(t)}}else e.subs=e.subs||[],e.subs.push(ge(t))}for(;e.type===de.Default&&e.subs&&1===e.subs.length;){const t=e.subs[0];e.type=t.type,e.subs=t.subs,e.staff=t.staff,e.level=t.level}for(;e.subs&&1===e.subs.length&&e.subs[0].type===de.Default;){const t=e.subs[0];e.subs=t.subs,e.staff=t.staff}return e.grand=e.type===de.Brace&&e.subs&&e.subs.every(e=>e.staff),s},be=e=>e.staff?e.staff:e.subs?be(e.subs[0]):void 0,ke=e=>e.staff?e.staff:e.subs?ke(e.subs[e.subs.length-1]):void 0,Te=(e,t)=>{t[(e=>e.staff?e.staff:e.subs?`${be(e)}-${ke(e)}`:void 0)(e)]=e,e.subs&&e.subs.forEach(e=>Te(e,t))};class StaffLayout{constructor(e){const t=new Set;e.forEach((e,s)=>{e.id=((e,t,s)=>{let i=s;for(i?e.has(i)&&(i+="_"+t.toString()):i=t.toString();e.has(i);)i+="_"+xe();return i})(t,s+1,e.id),t.add(e.id)}),this.staffIds=e.map(e=>e.id),this.conjunctions=e.slice(0,e.length-1).map(e=>e.conjunction?ve[e.conjunction]:pe.Blank);const s=[].concat(...e.map(e=>[...e.leftBounds,e.id,...e.rightBounds]));this.group={type:de.Default},Se(this.group,s);const i={};Te(this.group,i),this.groups=Object.entries(i).map(([e,t])=>{let s=e.split("-");1===s.length&&(s=[s[0],s[0]]);return{group:t,range:s.map(e=>this.staffIds.indexOf(e)),key:e}}),this.maskCache=new Map}get stavesCount(){return this.staffIds?this.staffIds.length:null}get partGroups(){const e=this.groups.filter(e=>e.group.grand);return this.groups.filter(t=>{if(t.group.grand)return!0;if(t.range[0]===t.range[1]){const s=t.range[0];return!e.some(e=>e.range[0]<=s&&e.range[1]>=s)}return!1})}get standaloneGroups(){const e=[],t=s=>{s.grand?e.push(s.subs.map(e=>e.staff)):s.staff?e.push([s.staff]):s.subs&&s.subs.forEach(e=>t(e))};return t(this.group),e}conjunctionBetween(e,t){if(t<=e)return null;let s=pe.Solid;for(let i=e;it&1<({ids:e.staffIds.slice(t.range[0],t.range[1]+1).filter(e=>s.includes(e)),...t})).filter(({ids:e})=>e.length).map(({ids:e,...t})=>({key:t.key,group:t.group,range:[s.indexOf(e[0]),s.indexOf(e[e.length-1])]})),r=s.slice(0,s.length-1).map((t,i)=>{const r=s[i+1];return e.conjunctionBetween(e.staffIds.indexOf(t),e.staffIds.indexOf(r))});return{staffIds:s,conjunctions:r,groups:i}}mask(e){return this.maskCache.get(e)||this.maskCache.set(e,StaffLayout.makeMaskLayout(this,e)),this.maskCache.get(e)}partialMaskCode(e,t=!1){const s=this.staffIds.map((t,s)=>s(e[this.staffIds[s]]=t,e),{}),i=e=>{if(e.staff)return[s[e.staff]?e.staff:null,null===s[e.staff]];const t=e.subs.map(e=>i(e)),r=t.map(e=>e[0]).filter(Boolean).join(","),n=t.some(([e,t])=>t),a=r?((e,t=!1)=>{if(e===de.Default)return e=>e;if(t)switch(e){case de.Brace:return e=>`{${e}`;case de.Bracket:return e=>`<${e}`;case de.Square:return e=>`[${e}`;default:return e=>e}switch(e){case de.Brace:return e=>`{${e}}`;case de.Bracket:return e=>`<${e}>`;case de.Square:return e=>`[${e}]`;default:return e=>e}})(e.type,n)(r):null;return[a,n]};let[r]=i(this.group);return r=r||"",t||(r=r.replace(/[_\w]+/g,"")),r}}var we=function(){var e=function(e,t,s,i){for(s=s||{},i=e.length;i--;s[e[i]]=t);return s},t=[1,15],s=[1,16],i=[1,17],r=[1,11],n=[1,12],a=[1,13],o=[1,24],c=[1,25],l=[1,26],u=[5,11,12,13,15,16,17,21,22,23,24],h=[15,16,17,21,22,23,24],m=[11,12,13,15,16,17,21,22,23,24],f=[5,11,12,13,21,22,23,24],d={trace:function(){},yy:{},symbols_:{error:2,start_symbol:3,staff_layout:4,EOF:5,seq:6,seq_id:7,seq_br:8,seq_con:9,bound_left:10,"<":11,"[":12,"{":13,bound_right:14,">":15,"]":16,"}":17,bound_lefts:18,bound_rights:19,conjunction:20,"-":21,",":22,".":23,ID:24,seq_bl:25,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",11:"<",12:"[",13:"{",15:">",16:"]",17:"}",21:"-",22:",",23:".",24:"ID"},productions_:[0,[3,2],[4,1],[6,0],[6,1],[6,1],[6,1],[10,1],[10,1],[10,1],[14,1],[14,1],[14,1],[18,1],[18,2],[19,1],[19,2],[20,1],[20,1],[20,1],[7,1],[7,2],[7,2],[7,2],[7,2],[25,1],[25,2],[25,2],[25,2],[8,2],[8,2],[8,2],[9,1],[9,2],[9,2],[9,2],[9,2]],performAction:function(e,t,s,i,r,n,a){var o=n.length-1;switch(r){case 1:return n[o-1];case 2:n[o].next(),this.$=n[o].toJSON();break;case 3:this.$=new Seq;break;case 13:case 15:this.$=[n[o]];break;case 14:case 16:this.$=[...n[o-1],n[o]];break;case 20:this.$=new Seq,this.$.tip.i(n[o]);break;case 21:case 23:n[o-1].next(),n[o-1].tip.i(n[o]),this.$=n[o-1];break;case 22:case 24:n[o-1].tip.i(n[o]),this.$=n[o-1];break;case 25:this.$=new Seq,this.$.tip.bl(n[o]);break;case 26:case 27:n[o-1].next(),n[o-1].tip.bl(n[o]),this.$=n[o-1];break;case 28:n[o-1].tip.bl(n[o]),this.$=n[o-1];break;case 29:case 30:case 31:n[o-1].tip.br(n[o]),this.$=n[o-1];break;case 32:this.$=new Seq,this.$.tip.con(n[o]),this.$.next();break;case 33:case 34:case 35:case 36:n[o-1].tip.con(n[o]),n[o-1].next(),this.$=n[o-1]}},table:[{3:1,4:2,5:[2,3],6:3,7:4,8:5,9:6,10:14,11:t,12:s,13:i,18:10,20:9,21:r,22:n,23:a,24:[1,7],25:8},{1:[3]},{5:[1,18]},{5:[2,2]},{5:[2,4],10:14,11:t,12:s,13:i,14:23,15:o,16:c,17:l,18:22,19:20,20:21,21:r,22:n,23:a,24:[1,19]},{5:[2,5],10:14,11:t,12:s,13:i,18:29,20:28,21:r,22:n,23:a,24:[1,27]},{5:[2,6],10:14,11:t,12:s,13:i,14:23,15:o,16:c,17:l,18:33,19:31,20:32,21:r,22:n,23:a,24:[1,30]},e(u,[2,20]),{14:23,15:o,16:c,17:l,19:35,20:36,21:r,22:n,23:a,24:[1,34]},e(u,[2,32]),e(h,[2,25],{10:37,11:t,12:s,13:i}),e(u,[2,17]),e(u,[2,18]),e(u,[2,19]),e(m,[2,13]),e(m,[2,7]),e(m,[2,8]),e(m,[2,9]),{1:[2,1]},e(u,[2,21]),e(f,[2,29],{14:38,15:o,16:c,17:l}),e(u,[2,33]),e(h,[2,26],{10:37,11:t,12:s,13:i}),e(u,[2,15]),e(u,[2,10]),e(u,[2,11]),e(u,[2,12]),e(u,[2,23]),e(u,[2,35]),e(h,[2,27],{10:37,11:t,12:s,13:i}),e(u,[2,24]),e(f,[2,31],{14:38,15:o,16:c,17:l}),e(u,[2,36]),e(h,[2,28],{10:37,11:t,12:s,13:i}),e(u,[2,22]),e(f,[2,30],{14:38,15:o,16:c,17:l}),e(u,[2,34]),e(m,[2,14]),e(u,[2,16])],defaultActions:{3:[2,2],18:[2,1]},parseError:function(e,t){if(!t.recoverable){var s=new Error(e);throw s.hash=t,s}this.trace(e)},parse:function(e){var t=this,s=[0],i=[null],r=[],n=this.table,a="",o=0,c=0,l=r.slice.call(arguments,1),u=Object.create(this.lexer),h={yy:{}};for(var m in this.yy)Object.prototype.hasOwnProperty.call(this.yy,m)&&(h.yy[m]=this.yy[m]);u.setInput(e,h.yy),h.yy.lexer=u,h.yy.parser=this,void 0===u.yylloc&&(u.yylloc={});var f=u.yylloc;r.push(f);var d=u.options&&u.options.ranges;"function"==typeof h.yy.parseError?this.parseError=h.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var p,g,y,v,x,S,b,k,T=function(){var e;return"number"!=typeof(e=u.lex()||1)&&(e=t.symbols_[e]||e),e},w={};;){if(g=s[s.length-1],this.defaultActions[g]?y=this.defaultActions[g]:(null==p&&(p=T()),y=n[g]&&n[g][p]),void 0===y||!y.length||!y[0]){var M="";for(x in k=[],n[g])this.terminals_[x]&&x>2&&k.push("'"+this.terminals_[x]+"'");M=u.showPosition?"Parse error on line "+(o+1)+":\n"+u.showPosition()+"\nExpecting "+k.join(", ")+", got '"+(this.terminals_[p]||p)+"'":"Parse error on line "+(o+1)+": Unexpected "+(1==p?"end of input":"'"+(this.terminals_[p]||p)+"'"),this.parseError(M,{text:u.match,token:this.terminals_[p]||p,line:u.yylineno,loc:f,expected:k})}if(y[0]instanceof Array&&y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+g+", token: "+p);switch(y[0]){case 1:s.push(p),i.push(u.yytext),r.push(u.yylloc),s.push(y[1]),p=null,c=u.yyleng,a=u.yytext,o=u.yylineno,f=u.yylloc;break;case 2:if(S=this.productions_[y[1]][1],w.$=i[i.length-S],w._$={first_line:r[r.length-(S||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(S||1)].first_column,last_column:r[r.length-1].last_column},d&&(w._$.range=[r[r.length-(S||1)].range[0],r[r.length-1].range[1]]),void 0!==(v=this.performAction.apply(w,[a,c,o,h.yy,y[1],i,r].concat(l))))return v;S&&(s=s.slice(0,-1*S*2),i=i.slice(0,-1*S),r=r.slice(0,-1*S)),s.push(this.productions_[y[1]][0]),i.push(w.$),r.push(w._$),b=n[s[s.length-2]][s[s.length-1]],s.push(b);break;case 3:return!0}}return!0}};class Item{constructor(){this.id=null,this.leftBounds=[],this.rightBounds=[],this.conjunction=null}i(e){return this.id=e,this}bl(e){return this.leftBounds=e,this}br(e){return this.rightBounds=e,this}con(e){return this.conjunction=e,this}}class Seq{constructor(){this.body=[],this.tip=new Item}next(){return this.body.push(this.tip),this.tip=new Item,this}toJSON(){return this.body}}var p={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,s=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),s.length-1&&(this.yylineno-=s.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:s?(s.length===i.length?this.yylloc.first_column:0)+i[i.length-s.length].length-s[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var s,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],s=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),s)return s;if(this._backtrack){for(var n in r)this[n]=r[n];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,s,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),n=0;nt[0].length)){if(t=s,i=n,this.options.backtrack_lexer){if(!1!==(e=this.test_match(s,r[n])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[i]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var e=this.next();return e||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,s,i){switch(s){case 0:break;case 1:return t.yytext;case 2:return 24;case 3:return 5}},rules:[/^(?:\s+)/,/^(?:([-,.\[\]<>{}]))/,/^(?:([a-zA-Z_0-9]+))/,/^(?:$)/],conditions:{INITIAL:{rules:[0,1,2,3],inclusive:!0}}};function g(){this.yy={}}return d.lexer=p,g.prototype=d,d.Parser=g,new g}();we.Parser;we.Parser;var Me=function(){return we.parse.apply(we,arguments)};const Ee=e=>{const t=Me(e);return new StaffLayout(t)};class DummyLogger{debug(...e){}group(...e){}groupCollapsed(...e){}groupEnd(){}info(...e){}warn(...e){}assert(...e){}}const Ne=(e,t,s=-1/0)=>Math.max(Math.round(e/t)*t,s),Ie=(e,t)=>{const s=e.x-t.x,i=e.y-t.y;return Math.sqrt(s*s+i*i)},Ce=(e,t)=>Number.isInteger(e)&&Number.isInteger(t)?0===t?e:Ce(t,e%t):(console.error("non-integer gcd:",e,t),1),_e=(e,t)=>({numerator:e,denominator:t}),Oe=(e,t)=>{e=Math.round(e),t=Math.round(t);const s=0!==e?Ce(e,t):t;return _e(e/s,t/s)},Be=e=>`${e.numerator}/${e.denominator}`,Ae=(e,t)=>t?e*t.numerator/t.denominator:e,Pe=(e,t)=>{const s=[...e].sort((e,s)=>e[t]-s[t]);let i=null,r=null;return s.reduce((e,n,a)=>(r?n[t]-r[t]<.4?i.push(n):(i.length>1&&e.push(i),r=n,i=[n]):(r=n,i=[n]),i.length>1&&a===s.length-1&&e.push(i),e),[])},Re=e=>{if(e.length<=1)return[];let t=e.slice(1);const s=I.find(t=>t.includes(e[0].semantic));if(!s)return Re(t);const i=t.filter(e=>s.includes(e.semantic));return t=t.filter(e=>!s.includes(e.semantic)),[...i,...Re(t)]},De=e=>{const t=new Set(e),s=Pe(e,"x"),i=[].concat(...s.map(e=>Pe(e,"y")));return i.forEach(e=>e.sort((e,t)=>t.confidence-e.confidence)),i.forEach(e=>{Re(e).forEach(e=>t.delete(e))}),Array.from(t)},Fe=[0,2,4,5,7,9,11],Le=({note:e,alter:t})=>{const s=Math.floor(e/7),i=(e=>{let t=e%7;for(;t<0;)t+=7;return t})(e);return 60+12*s+Fe[i]+t},$e=e=>{const t=Math.max(...e);return e.indexOf(t)},je=1920;var He,Ve,ze,qe,Ge,We;!function(e){e.Up="^",e.Down="_",e.Middle="-"}(He||(He={})),function(e){e.Grace="grace",e.AfterGrace="afterGrace",e.Acciaccatura="acciaccatura",e.Appoggiatura="appoggiatura",e.SlashedGrace="slashedGrace"}(Ve||(Ve={})),function(e){e.Open="Open",e.Close="Close",e.Continue="Continue"}(ze||(ze={})),function(e){e.Pitcher="Pitcher",e.Catcher="Catcher",e.Pierced="Pierced"}(qe||(qe={})),function(e){e.Normal="normal",e.DashedLine="dashed-line",e.DottedLine="dotted-line",e.Zigzag="zigzag",e.Trill="trill"}(Ge||(Ge={})),function(e){e.Normal="Normal",e.Bracket="Bracket",e.Parenthesis="Parenthesis",e.ParenthesisDashed="ParenthesisDashed",e.ArrowDown="ArrowDown"}(We||(We={}));class Term extends SimpleClass{}class EventTerm extends Term{static space({tick:e,duration:t}){const s=new EventTerm({rest:"s",tick:e,accessories:[]});return s.duration=Math.round(t),s}constructor(e){super(),super.assign(e),Object.assign(this,e),Number.isFinite(e.left)&&Number.isFinite(e.right)&&(this.x=(this.left+this.right)/2),Number.isFinite(this.pivotX)||(this.pivotX=this.x)}get alignedTick(){return this.grace?this.tick+this.duration:this.tick}get mainDuration(){return je*2**-this.division*(2-2**-this.dots)}get duration(){let e=this.mainDuration;return this.multiplier&&(e*=this.multiplier.numerator/this.multiplier.denominator),this.timeWarp&&(e*=this.timeWarp.numerator/this.timeWarp.denominator),this.grace?e/8:e}set duration(e){console.assert(Number.isFinite(e),"invalid duration value:",e);const t=Ce(e,128),s=Math.log2(128/t),i=Oe(e*2**s,je);this.division=s,this.dots=0,i.numerator!==i.denominator?this.multiplier=i:this.multiplier=void 0}get prior(){return this.tick}get times(){return this.timeWarp?`${this.timeWarp.numerator}/${this.timeWarp.denominator}`:null}get fullMeasureRest(){return"R"===this.rest}get tipX(){return this.tip?this.tip.x:this.x}get tipY(){return this.tip?this.tip.y:this.ys?this.ys[0]:0}get tremoloCatcher(){return this.tremoloLink===qe.Catcher}get scaleChord(){return this.pitches.map(e=>"CDEFGAB"[(e.note+700)%7]).join("")}get zeroHolder(){return!!this.grace||this.tremoloCatcher}}var Ue;EventTerm.className="EventTerm",function(e){e[e.Clef=0]="Clef",e[e.KeyAcc=1]="KeyAcc",e[e.Acc=2]="Acc",e[e.OctaveShift=3]="OctaveShift",e[e.TimeSignatureC=4]="TimeSignatureC",e[e.TimeSignatureN=5]="TimeSignatureN"}(Ue||(Ue={}));class ContextedTerm extends Term{constructor(e){super(),Object.assign(this,e)}get type(){return R.includes(this.tokenType)?Ue.Clef:/\|key-/.test(this.tokenType)?Ue.KeyAcc:/accidentals-/.test(this.tokenType)?Ue.Acc:$.includes(this.tokenType)?Ue.OctaveShift:F.includes(this.tokenType)?Ue.TimeSignatureC:L.includes(this.tokenType)?Ue.TimeSignatureN:null}get staffLevel(){return[Ue.OctaveShift,Ue.Clef,Ue.KeyAcc].includes(this.type)}get prior(){return this.tick-.1}get clef(){switch(this.tokenType){case B.ClefG:return-this.y-2;case B.ClefF:return 2-this.y;case B.ClefC:return-this.y}return null}get alter(){switch(this.tokenType){case B.AccNatural:case B.KeyNatural:return 0;case B.AccSharp:case B.KeySharp:return 1;case B.AccFlat:case B.KeyFlat:return-1;case B.AccDoublesharp:return 2;case B.AccFlatflat:return-2}return null}get octaveShift(){switch(this.tokenType){case B.OctaveShift8va:return-1;case B.OctaveShift0:return 0;case B.OctaveShift8vb:return 1}return null}get number(){switch(this.tokenType){case B.TimesigZero:return 0;case B.TimesigOne:return 1;case B.TimesigTwo:return 2;case B.TimesigThree:return 3;case B.TimesigFour:return 4;case B.TimesigFive:return 5;case B.TimesigSix:return 6;case B.TimesigSeven:return 7;case B.TimesigEight:return 8;case B.TimesigNine:return 9}return null}}ContextedTerm.className="ContextedTerm";class MarkTerm extends Term{get prior(){return this.tick+.01}}MarkTerm.className="MarkTerm";const Ye=Array(7).fill(0).map((e,t)=>String.fromCodePoint(119133+t));class TempoTerm extends MarkTerm{static fromNumeralText(e){if(/.+=.*\d+/.test(e)){const[t,s]=e.split("=");let i=Ye.findIndex(e=>t.includes(e));i=i>=0?i:2;let r=(2**i).toString();return t.includes(".")&&(r+="."),new TempoTerm({tick:0,duration:r,beats:s})}return null}constructor(e){super(),Object.assign(this,e)}get prior(){return this.tick-.01}get durationMagnitude(){const[e,t,s]=this.duration.match(/^(\d+)(\.)?$/);return je/Number(t)*(s?1.5:1)}get bpm(){const[e]=this.beats.match(/\d+/)||[90];return Number(e)*this.durationMagnitude*4/je}isValid(e=[10,400]){const t=this.bpm;return Number.isFinite(this.bpm)&&t>=e[0]&&t{if(!e.regulated)return;const t=e.eventMap,s=e.events.length,i=e.voices.flat(1).length,r=e.events.filter(e=>e.timeWarp).length,n=new Set(e.events.filter(e=>e.timeWarp&&!(e.rest&&0===e.division)).map(e=>`${e.timeWarp.numerator}/${e.timeWarp.denominator}`)),a=new Set(n);a.delete("2/3");const o=e.voices.some(e=>{const s=e.map(e=>t[e]);if(!s.some(e=>e.timeWarp))return!1;let i=0,r=0,n=0;return s.some((e,t)=>{const a=e.timeWarp?e.timeWarp.denominator:0;if(a!==i){if(i>0&&(r%i||n<2))return!0;r=0,n=0}return i=a,r+=e.duration,++n,!!(t===s.length-1&&i>0&&(r%i||n<2))})}),c=e.voices.some(e=>{const s=e.map(e=>t[e]);let i=0;return s.some(e=>!e.grace&&(e.ticke.timeWarp&&e.timeWarp.denominator>3).map(e=>e.duration)).size>1,u=Ae(je,e.timeSignature),h=e.doubtfulTimesig?e.duration:u,m=e.voices.flat(1).map(e=>t[e]),f=m.some(e=>!e||!Number.isFinite(e.tick)||!Number.isFinite(e.division)||e.division<0||!Number.isFinite(e.duration)||e.duration<=0),d=m.reduce((e,t)=>e||t.tick<0||t.tick+t.duration>h,!1),p=e.duration>u,g=m.some(e=>e.grace),y=e.events.filter(e=>e.grace).length,v=y>=m.length,x=m.some(e=>{let t=e.tick*2**(e.division+2);if(e.timeWarp&&(t*=e.timeWarp.denominator),!Number.isFinite(t))return!0;return Ce(Math.round(t),je)e.reduce(({status:e,broken:s},i)=>{const r=t[i];return r.beam&&(e+=Xe[r.beam],s=s||!(e>=0&&e<=1)),{status:e,broken:s}},{status:0,broken:!1})).some(({status:e,broken:t})=>e||t);let b=0,k=0;e.voices.forEach(s=>{const i=s.reduce((e,s)=>e+t[s].duration,0);b+=Math.max(0,e.duration-i),k+=Math.max(0,i-e.duration)}),b/=je;const T=e.events.filter(e=>!(e.grace||e.fullMeasureRest||e.tremoloCatcher||e.predisposition&&!(e.predisposition.fakeP<.1)||Number.isFinite(e.tick))).length,w=e.events.filter(e=>!(e.fullMeasureRest||e.grace||e.tremoloCatcher||m.includes(e))).length,{voiceRugged:M}=e.voices.flat(1).reduce((e,t)=>!e.voiceRugged&&e.es.has(t)?{voiceRugged:!0,es:e.es}:(e.es.add(t),e),{voiceRugged:!1,es:new Set}),E=e.tickTwist||0,N=f||E>=1||c||M||e.tickRatesInStaves.some(e=>e<0)||T>2||!e.timeSignature||d||e.duration>h||e.events.some(e=>e.timeWarp&&e.timeWarp.numerator/e.timeWarp.denominator<=.5),I=!N&&!p&&E<.2&&!o&&!a.size&&!x&&!b&&!k&&!!e.voices.length&&!S&&!g&&!v&&(e.duration===h||Number.isFinite(e.estimatedDuration)&&e.estimatedDuration<=.75*h),C=!(N||p||!(E<.3)||o||x||k||S||g);let _=Math.min(h,3840);Number.isFinite(e.estimatedDuration)&&(_=Math.max(0,Math.min(_,e.estimatedDuration)));const O=e.duration/_;let B=0;if(e.patched&&!f)B=1;else if(!N){const t=Math.tanh(1*Math.abs(b/Math.max(1,e.voices.length)));let s=Math.min(h,3840);Number.isFinite(e.estimatedDuration)&&(s=Math.max(0,Math.min(s,e.estimatedDuration)));B=(1-t)*(1-(s?Math.max(0,1-O)**2:0))*(1-Math.tanh(a.size))*(1-E**2)}return{events:s,validEvents:i,voiceRugged:M,nullEvents:T,fakeEvents:w,warpedEvents:r,complicatedTimewarp:l,spaceTime:b,surplusTime:k,durationRate:O,beamBroken:S,fractionalWarp:o,irregularWarpsN:a.size,irregularTick:x,tickTwist:E,tickOverlapped:c,graceInVoice:g,graceN:y,graceDominant:v,perfect:I,fine:C,error:N,qualityScore:B}};class SemanticGraph extends SimpleClass{constructor(e){super(),super.assign(e)}static fromPoints(e=[]){const t=new SemanticGraph;return t.points=e,t}getLayer(e){return this.points.filter(t=>t.semantic===e)}getConfidentLayer(e,t){return this.points.filter(s=>s.semantic===e&&(!Number.isFinite(s.confidence)||s.confidence>=t))}getSystemPoints(){return this.points.filter(e=>E.includes(e.semantic))}getStaffPoints(){return this.points.filter(e=>!E.includes(e.semantic))}offset(e,t){this.points.forEach(s=>{s.x+=e,s.y+=t})}scale(e){this.points.forEach(t=>{t.x*=e,t.y*=e})}transform(e){this.points.forEach(t=>{let s=t.x*e[0][0]+t.y*e[1][0]+e[2][0];const i=t.x*e[0][1]+t.y*e[1][1]+e[2][1];if(t.extension){if(Number.isFinite(t.extension.y1)){const i=t.x*e[0][1]+t.extension.y1*e[1][1]+e[2][1],r=t.x*e[0][1]+t.extension.y2*e[1][1]+e[2][1];s=t.x*e[0][0]+.5*(t.extension.y1+t.extension.y2)*e[1][0]+e[2][0],t.extension.y1=i,t.extension.y2=r}if(Number.isFinite(t.extension.width)){const s=Math.sqrt(e[0][0]*e[1][1]-e[0][1]*e[1][0]);t.extension.width*=s,t.extension.height*=s}}t.x=s,t.y=i})}}SemanticGraph.className="SemanticGraph";const Ze=[g.ClefG,g.ClefF,g.ClefC,g.TimesigC44,g.TimesigC22,g.TimesigZero,g.TimesigOne,g.TimesigTwo,g.TimesigThree,g.TimesigFour,g.TimesigFive,g.TimesigSix,g.TimesigSeven,g.TimesigEight,g.TimesigNine,g.OctaveShift8va,g.OctaveShift8vb,g.OctaveShift0,g.Zero,g.One,g.Two,g.Three,g.Four,g.Five,g.Six,g.Seven,g.Eight,g.Nine,g.AccNatural,g.AccSharp,g.AccDoublesharp,g.AccFlat,g.AccFlatflat,g.NoteheadS0,g.NoteheadS1,g.NoteheadS2,g.NoteheadS1stemU,g.NoteheadS1stemD,g.NoteheadS2stemU,g.NoteheadS2stemD,g.Rest0,g.Rest1,g.Rest2,g.Rest3,g.Rest4,g.Rest5,g.Rest6,g.Rest0W,g.RestM1,g.SlurBegin,g.SlurEnd,g.Dot,g.f,g.p,g.m,g.n,g.r,g.s,g.z,g.ScriptFermata,g.ScriptShortFermata,g.ScriptSforzato,g.ScriptStaccato,g.ScriptStaccatissimo,g.ScriptTurn,g.ScriptTrill,g.ScriptSegno,g.ScriptCoda,g.ScriptArpeggio,g.ScriptPrall,g.ScriptMordent,g.ScriptMarcato,g.ScriptTenuto,g.ScriptPortato,g.PedalStar,g.PedalPed,g.GraceNotehead,g.BeamLeft,g.BeamRight,g.BeamContinue,g.CrescendoBegin,g.CrescendoEnd,g.DecrescendoBegin,g.DecrescendoEnd,g.TremoloLeft,g.TremoloRight,g.TremoloMiddle],Je=[g.AccNatural,g.AccSharp,g.AccDoublesharp,g.AccFlat,g.AccFlatflat,g.NoteheadS0,g.NoteheadS1,g.NoteheadS2,g.NoteheadS1stemU,g.NoteheadS1stemD,g.NoteheadS2stemU,g.NoteheadS2stemD],Qe=[g.SignLined,g.SignInterval],et=[g.NoteheadS1,g.NoteheadS2],tt={AccSharp:B.KeySharp,AccNatural:B.KeyNatural,AccFlat:B.KeyFlat},st={[g.NoteheadS1]:{up:g.NoteheadS1stemU,down:g.NoteheadS1stemD},[g.NoteheadS2]:{up:g.NoteheadS2stemU,down:g.NoteheadS2stemD}},it=[g.Rest0,g.Rest1,g.Rest2,g.Rest3,g.Rest4,g.Rest5,g.Rest6],rt={[B.BeamLeft]:"Open",[B.BeamRight]:"Close",[B.BeamContinue]:"Continue"},nt={Alter1:p.Alternation1,Alter2:p.Alternation2},at=(e,t)=>{switch(e.length){case 0:return;case 1:return e[0];case 2:return"u"===t?Math.min(...e):Math.max(...e);default:{const s=e.reduce((e,t)=>e+t,0)/e.length;return e.sort((e,t)=>Math.abs(e-s)-Math.abs(t-s)),at(e.slice(0,e.length-1),t)}}};class Measure extends SimpleClass{constructor(e){super(),super.assign(e),this.tokens=this.tokens||[],this.antiTokens=this.antiTokens||[],this.barTypes=this.barTypes||{}}get right(){return this.left+this.width}get noteheads(){return this.tokens.filter(e=>e.isNotehead).sort((e,t)=>e.x-t.x)}get chordRects(){const e=this.noteheads.filter(e=>[B.NoteheadS0,B.NoteheadS1stemU,B.NoteheadS2stemU,B.NoteheadS1stemD,B.NoteheadS2stemD].includes(e.type));let t=0;const s=e.reduce((e,s)=>{const i=s.tip?`${s.tip.x}|${s.tip.y}`:`nul${t}`;let r=`${s.type}|${i}`;return!s.tip&&e[r]&&(e[r].some(e=>Math.abs(e.x-s.x){const t=Math.min(...e.map(e=>e.x)),s=Math.max(...e.map(e=>e.x)),i=Math.min(...e.map(e=>e.y)),r=Math.max(...e.map(e=>e.y)),n=e[0],a=n&&n.tip?n.tip.x:t;let o=t,c=s-t,l=null;switch(n.type){case B.NoteheadS0:o-=w.NoteheadS0/2,c+=w.NoteheadS0;break;case B.NoteheadS1stemU:case B.NoteheadS2stemU:l="u",o-=w.NoteheadS1,c+=w.NoteheadS1;break;case B.NoteheadS1stemD:case B.NoteheadS2stemD:l="d",c+=w.NoteheadS1}return{x:o,width:c,stemX:a,stemDirection:l,top:i,bottom:r,tip:n.tip}})}get timeWarped(){return this.tokens&&this.tokens.some(e=>e.timeWarped)}get additionalLines(){const e=this.getChords();return[...e.filter(e=>e.ys.some(e=>e<=-3)).map(e=>({left:e.left,right:e.right,n:Math.ceil(Math.min(...e.ys))+2})),...e.filter(e=>e.ys.some(e=>e>=3)).map(e=>({left:e.left,right:e.right,n:Math.floor(Math.max(...e.ys))-2}))].map(e=>({left:e.left-.28,right:e.right+.28,n:e.n}))}getChords(){const e=this.tokens.filter(e=>W.includes(e.type)),t=this.tokens.filter(e=>Z.includes(e.type)),s=this.tokens.filter(e=>Q.includes(e.type)),i=this.chordRects.map(e=>{const t=this.noteheads.filter(t=>t.direction===e.stemDirection&&t.left>=e.x&&t.right<=e.x+e.width+.2&&t.y>=e.top&&t.y<=e.bottom);t.sort((e,t)=>t.y-e.y);const s=t.map(e=>e.y),i=t.map(e=>e.id),r=t.reduce((e,t)=>Math.max(e,t.division),0);return{rect:e,left:e.x,right:e.x+e.width,pivotX:(n=t,at(n.map(e=>Number.isFinite(e.pivotX)?e.pivotX:e.x),n[0].direction)),ys:s,tip:e.tip,noteIds:i,division:r,dots:null,rest:!1,stemDirection:e.stemDirection,beam:null};var n}).sort((e,t)=>t.left-e.left),r=new Set,n=i.map(({rect:i,...n})=>{if(n.division>=1){const t=[i.bottom,i.top];switch(i.stemDirection){case"u":t[0]=i.tip?i.tip.y-.2:i.top-6-.5;break;case"d":t[1]=i.tip?i.tip.y+.2:i.bottom+6+.5}const a=e.filter(e=>!r.has(e.id)&&e.x>i.stemX-.2&&e.xt[0]&&e.yMath.max(e,t.division),n.division),a.forEach(e=>r.add(e.id));const o=i.tip&&s.find(e=>Math.abs(i.tip.x-e.x)<.3&&Math.abs(i.tip.y-e.y)<.7);o&&(n.beam=rt[o.type])}const a=t.filter(e=>!r.has(e.id)&&e.x>i.x+i.width-.2&&e.xi.top-1&&e.y<=i.bottom+.5);return n.dots=a.reduce((e,t)=>Math.max(e,t.dots),0),a.forEach(e=>r.add(e.id)),n});return n.reverse(),n}getRests(){const e=this.tokens.filter(e=>G.includes(e.type)),t=this.tokens.filter(e=>Z.includes(e.type));return e.map(e=>{const s=t.filter(t=>t.x>e.x+.5&&t.xe.y-1&&t.yMath.max(e,t.dots),0);return{left:e.x-.75,right:e.x+.75,pivotX:e.x,rest:!0,ys:[e.y],noteIds:[e.id],dots:s,division:e.division,stemDirection:null}})}getEvents(){return[...this.getChords(),...this.getRests()].sort((e,t)=>e.left-t.left)}getContexts(e={}){return this.tokens.filter(e=>e.isContexted).sort((e,t)=>e.x-t.x).map(t=>new ContextedTerm({x:t.x,y:t.y,tokenType:t.type,...e}))}assignAccessoriesOnEvents(e){e.forEach(e=>e.accessories=e.accessories||[]);this.tokens.filter(e=>te.includes(e.type)).forEach(t=>{const s=e.filter(e=>t.x>e.left-1&&t.x0){let e=s[0];s.length>1&&(e=s.map(e=>({event:e,d:Math.min(...e.ys.map(e=>Math.abs(e-t.y)))})).sort(({d:e},{d:t})=>e-t).map(({event:e})=>e)[0]);let i=t.y>Math.max(...e.ys)?He.Down:He.Up;se.includes(t.type)&&(i=null),e.accessories.push({type:t.type,id:t.id,direction:i,x:t.x-e.left})}});const t=[...e];t.sort((e,t)=>e.left-t.left);this.tokens.filter(e=>e.type===B.ScriptArpeggio).forEach(e=>{const s=t.find(t=>e.xtt>e.y));s&&s.accessories.push({type:B.ScriptArpeggio,id:e.id,x:e.x-s.left})});this.tokens.filter(e=>e.type===B.GraceNotehead).forEach(t=>{const s=e.find(e=>t.x>e.left&&t.xMath.abs(t.y-e)<.4));s&&(s.grace=Ve.Grace)});const s=this.tokens.filter(e=>e.type===B.TremoloLeft),i=this.tokens.filter(e=>e.type===B.TremoloRight),r=this.tokens.filter(e=>e.type===B.TremoloMiddle),n=e.filter(e=>!e.rest).map(e=>{const t=[...e.ys];e.tip?t.push(e.tip.y):(t.push(e.ys[0]+2),t.push(e.ys[e.ys.length-1]-2));const s=e.tip?e.tip.x:e.left,i=e.tip?e.tip.x:e.right;return{event:e,top:Math.min(...t),bottom:Math.max(...t),stemL:s,stemR:i}});r.forEach(e=>{const t=n.find(t=>!!t.event.tip&&(e.y>t.top&&e.y{const t=n.find(t=>e.y>t.top&&e.yt.stemR&&e.x{const t=n.find(t=>e.y>t.top&&e.yt.stemL-1.6);t&&(t.event.tremolo=t.event.tremolo||2,++t.event.tremolo,t.event.tremoloLink=qe.Catcher)})}assignFeaturesOnEvents(e,t){const s=t.filter(e=>e.x>this.left&&e.xit.includes(e.semantic)),r=s.filter(e=>e.semantic===g.Flag3),n=s.filter(e=>e.semantic===g.Dot),a=s.filter(e=>e.semantic===g.BeamLeft),o=s.filter(e=>e.semantic===g.BeamContinue),c=s.filter(e=>e.semantic===g.BeamRight),l=s.filter(e=>e.semantic===g.GraceNotehead),u=s.filter(e=>e.semantic===g.TremoloRight),h=s.filter(e=>e.semantic===g.vline_Stem),m=s.filter(e=>e.semantic===g.NoteheadS0),f=s.filter(e=>e.semantic===g.NoteheadS1),d=s.filter(e=>e.semantic===g.NoteheadS2);e.forEach(e=>{const t=e.tip?e.tip.x:(e.left+e.right)/2,s=e.tip?Math.min(e.tip.y,e.ys[e.ys.length-1]):e.ys[e.ys.length-1],p=e.tip?Math.max(e.tip.y,e.ys[0]):e.ys[0],g=e.tip?e.tip.x:e.left,y=[0,0,0,0,0,0,0];if(e.rest){i.filter(s=>Ie(s,{x:t,y:e.ys[0]})<.5).forEach(e=>{const t=it.indexOf(e.semantic);y[t]=Math.max(y[t],e.confidence)})}else{const i=[m,f,d].map(t=>t.filter(t=>t.x>e.left&&t.xs-.25&&t.yMath.max(0,...e.map(e=>e.confidence))),n=r.filter(e=>e.y>s-.2&&e.yt.confidence-e.confidence),y[0]=i[0],y[1]=i[1],y[2]=i[2],Array(y.length-3).fill(0).forEach((e,t)=>y[3+t]=n[t]?n[t].confidence:0)}const v=n.filter(s=>s.x>t&&s.xv.some(t=>e.x>t.x&&Math.abs(e.y-t.y)<.2)),S=[Math.max(0,...v.map(e=>e.confidence)),Math.max(0,...x.map(e=>e.confidence))],b=[a,o,c].map(e=>e.filter(e=>Math.abs(e.x-t)<.2&&e.y>s-.2&&e.yMath.max(0,...e.map(e=>e.confidence))),k=h.filter(s=>Ie({x:t,y:e.ys[0]},{x:s.x,y:s.extension.y2})<.5),T=h.filter(s=>Ie({x:t,y:e.ys[e.ys.length-1]},{x:s.x,y:s.extension.y1})<.5),w=[Math.max(0,...k.map(e=>e.confidence)),Math.max(0,...T.map(e=>e.confidence))],M=l.filter(s=>Math.abs(s.x-t)<.6&&e.ys.some(e=>Math.abs(s.y-e)<.4)),E=Math.max(0,...M.map(e=>e.confidence)),N=0===e.division?u.filter(t=>t.x>e.left-2&&t.xe.y>s-.04&&e.yg-2&&e.xe.confidence));e.feature={divisions:y,dots:S,beams:b,stemDirections:w,grace:E,tremoloCatcher:I}})}}Measure.className="Measure",Measure.blackKeys=["tokens","antiTokens"];class Staff extends SimpleClass{constructor({measureCount:e=null,measureBars:t=null,...s}={}){if(super(),super.assign(s),this.height=this.height||10,this.staffY=this.staffY||5,t){let e=0;this.measures=t.map(t=>{const s=new Measure({left:e,width:t-e,height:this.height});return e=t,s})}else this.measures=e?Array(e).fill(null).map(()=>new Measure):[]}get noteRange(){const e=[].concat(...this.measures.map(e=>e.noteheads)).map(e=>e.y);return{top:Math.min(-2,...e),bottom:Math.max(2,...e)}}get additionalLines(){return[].concat(...this.measures.map(e=>e.additionalLines))}rearrangeMeasures(e){if(!e.length)return void console.warn("rearrangeMeasures error, measureBars are empty.");const t=this.measures?.map(e=>e.tokens).flat(1)||[];let s=0;this.measures=e.map(e=>{const t=new Measure({left:s,width:e-s,height:this.height});return s=e,t}),this.reassignTokens(t)}reassignTokens(e=null){e||(e=[].concat(...this.measures.map(e=>e.tokens))),this.measures.forEach(e=>e.tokens=[]),e.forEach(e=>{for(const t of this.measures)if(e.xe.semantic===g.TempoNotehead).forEach(e=>{const t=i.findIndex(t=>/^Notehead/.test(t.semantic)&&Ie(e,t)<.3);t>=0&&i.splice(t,1)});const r=e=>t.displacementSemantics?.[e]?this.semantics.find(t=>t.id===e):null;i.filter(e=>Ze.includes(e.semantic)).forEach(e=>this.appendPoint(e,{points:i}));const n=i.filter(e=>e.semantic===g.vline_Stem).filter(e=>e.extension.y2-e.extension.y1>1.5).map(e=>({x:e.x,y1:e.extension.y1,y2:e.extension.y2,direction:null})),a=i.filter(e=>et.includes(e.semantic)&&e.y>this.semanticTop&&e.y{if((s?1:0)^(e.x{const t=a.filter(t=>Math.abs(t.x-e.x)-w[t.semantic]/2<.28&&Math.abs(t.x-e.x)-w[t.semantic]/2>-.44&&t.y>e.y1-.5&&t.ye.x&&t.y>e.y2)&&!(t.xe.y-t.y);const s=Math.min(...t.map(t=>t.y-e.y1)),n=Math.min(...t.map(t=>e.y2-t.y));if(Math.min(s,n)>.5)return;const a=s!o.has(e.id)).forEach(e=>{const a=n.filter(t=>Math.abs(t.x-e.x)<2&&e.y>t.y1&&e.yMath.abs(t.x-e.x)-Math.abs(s.x-e.x)),o=a[0];if(o){const t="d"===o.direction,s=t?st[e.semantic].down:st[e.semantic].up;this.appendPoint({id:e.id,semantic:s,x:o.x+c(e,o,t),y:e.y,pivotX:e.x,confidence:e.confidence},{tip:{x:o.x,y:t?o.y2:o.y1},antiPoint:r(e.id),points:i})}else s.debug("isolated notehead:",t.index,this.index,e)});const l=i.filter(e=>e.semantic===g.Flag3);l.sort((e,t)=>e.x-t.x),this.appendFlags(l,n);const u=i.filter(e=>e.semantic===g.Dot).map(e=>{const t=Ne(e.y,.5);return{x:e.x,y:t}}).reduce((e,t)=>(e[t.y]=e[t.y]||[],e[t.y].push(t),e),{});Object.entries(u).forEach(([e,t])=>{const s=Number(e);if(t.length>1){t.sort((e,t)=>e.x-t.x);for(let e=0;ee.x>n.x&&e.x-n.x<1.2)&&this.appendPoint({id:n.id,x:n.x,y:s,confidence:n.confidence},{type:B.DotDot,antiPoint:r(n.id),points:i})}}});const h=i.filter(e=>e.semantic===g.KeyAcc);i.filter(e=>tt[e.semantic]).forEach(e=>{h.some(t=>Math.abs(e.x-t.x)<.5&&Math.abs(e.y-t.y)<1)&&this.appendPoint({id:e.id,x:e.x,y:e.y,confidence:e.confidence},{type:tt[e.semantic],points:i})});i.filter(e=>e.semantic===g.OctaveShift8).forEach(e=>{const t=e.y<0?B.OctaveShift8va:B.OctaveShift8vb;this.appendPoint({id:e.id,x:e.x,y:e.y,confidence:e.confidence},{type:t,points:i})});const m=this.semantics.filter(e=>[g.VoltaLeft,g.VoltaRight].includes(e.semantic));m.sort((e,t)=>e.x-t.x);const f=m.reduce((e,t)=>{const s=e[t.semantic],i=Array.from(Object.keys(s)).map(Number).find(e=>t.x{if(s.length>1){const i=s.reduce((e,t)=>e+t.confidence,0);s[0].y*s[1].y<0&&i>=2*e&&this.appendPoint(s[0],{type:B[t]})}})}appendPoint(e,{type:t,points:s=null,antiPoint:i,...r}={}){const n=e.x,a=this.measures.find(e=>nQe.includes(t.semantic)&&Math.abs(t.y-e.y)<.2&&Math.abs(t.x-e.x)<1.2);t.some(e=>e.semantic===g.SignLined)?o=!0:t.some(e=>e.semantic===g.SignInterval)&&(c=!0)}t=t||B[e.semantic];const l=ne[t];let u=re[t];(o||c)&&(u=Math.max(u,1));let h=e.y;Number.isFinite(l)?h=l:u&&(h=c?Ne(h+.5,u)-.5:Ne(h,u));const m=a.tokens.find(e=>e.type===t&&Math.abs(e.x-n)<.1&&Math.abs(e.y-h)<.1);m?Number.isFinite(m.confidence)&&m.confidence3||(a.tokens.push(new Token({id:e.id,type:t,x:n,y:h,pivotX:e.pivotX,confidence:e.confidence,...r})),i&&a.antiTokens.push(new Token({id:i.id,type:t,x:n,y:i.y,confidence:i.confidence})))}appendFlags(e,t){t.map(t=>({...t,flags:e.filter(e=>Math.abs(e.x-t.x)<.3&&e.y>t.y1-.5&&e.ye.flags.length).forEach(e=>{const t=e.flags.reduce((e,t)=>e&&e.confidence>t.confidence?e:t,null),s="d"===e.direction,i=s?Math.min(e.y2,e.y1+6):Math.max(e.y1,e.y2-6),r=e.flags.map(e=>({tip:(i-e.y)*(s?1:-1),confidence:e.confidence})).filter(e=>e.tip<2||e.confidence>.7*t.confidence).length,n=W[r-1];n&&this.appendPoint({id:e.flags[0].id,x:e.x,y:i,confidence:Math.min(...e.flags.map(e=>e.confidence))},{type:n})})}clearTokens(){this.measures.forEach(e=>e.tokens=[]),this.semantics=[]}clearPredictedTokens(){this.measures.forEach(e=>e.tokens=e.tokens.filter(e=>!e.isPredicted))}}Staff.className="Staff",Staff.blackKeys=["index","semanticTop","semanticBttom"];class System extends SimpleClass{constructor({stavesCount:e,...t}){if(super(),super.assign(t),!this.measureBars){const e=5,t=(this.width-e)/this.measureCount;this.measureBars=Array(this.measureCount).fill(0).map((s,i)=>e+t*(i+1))}!t.staves&&e&&(this.staves=Array(e).fill(null).map(()=>new Staff({measureBars:this.measureBars}))),this.arrangePosition(),this.measureCount=this.measureCount||this.measureBars.length,this.sidBlackList=this.sidBlackList||[],this.sidWhiteList=this.sidWhiteList||[]}get noteRange(){if(!this.staves.length)return null;const e=this.staves[0],t=this.staves[this.staves.length-1];return{top:e.top+e.staffY+e.noteRange.top,bottom:t.top+t.staffY+t.noteRange.bottom}}get staffPositions(){return this.staves.map(e=>({y:e.top+e.staffY,radius:2}))}get staffMask(){return this.staffMaskChanged?this.staffMaskChanged:this.prev&&this.staves.length===this.prev.staves.length?this.prev.staffMask:2**this.staves.length-1}get staffTop(){const e=this.staffPositions;return e.length?e[0].y-e[0].radius:0}get staffBottom(){const e=this.staffPositions;return e.length?e[e.length-1].y+e[e.length-1].radius:0}arrangePosition(){let e=0;for(const t of this.staves){if(Number.isFinite(t.top))break;t.top=e,e+=t.height}}tidyMeasureBars(){this.measureBars=this.measureBars.filter(e=>e>1),this.measureBars.sort((e,t)=>e-t);const e=this.width-this.measureBars[this.measureBars.length-1];e>12?this.measureBars.push(this.width):e<2&&(this.measureBars[this.measureBars.length-1]=this.width),this.measureBars=this.measureBars.filter((e,t)=>t<1||e-this.measureBars[t-1]>4)}rearrangeMeasures(){this.measureCount=this.measureBars.length,this.staves.forEach(e=>e.rearrangeMeasures(this.measureBars))}get height(){return this.staves.reduce((e,t)=>e+t.height,0)}get connectionLine(){const e=this.staves[0],t=this.staves[this.staves.length-1];return e&&{top:e.top+e.staffY-2,bottom:t.top+t.staffY+2}}get middleY(){if(!this.staves.length)return 0;return this.staves.reduce((e,t)=>e+t.top+t.staffY,0)/this.staves.length}get timeSignatureOnHead(){return this.staves.some(e=>e.measures[0]?.tokens.some(e=>D.includes(e.type)))}getStaffArray(e){let t=0;return Array(e).fill(null).map((e,s)=>{const i=this.staffMask&1<0?this.measureBars[e-1]:0,s=this.measureBars[e];return[...(this.tokens??[]).filter(e=>e.x>=t&&e.xTempoTerm.fromNumeralText(e.text)).filter(Boolean)]}getEvents(e){if(console.assert(Number.isInteger(this.headMeasureIndex),"invalid headMeasureIndex:",this.headMeasureIndex),!this.measureBars?.length&&this.staves.every(e=>!e.measures?.length))return{staffMask:this.staffMask,columns:[]};const t=this.getStaffArray(e).map(e=>e?e.measures.map(t=>{const s=t.getEvents();return t.assignAccessoriesOnEvents(s),t.assignFeaturesOnEvents(s,e.semantics),{events:s.map(t=>new EventTerm({staff:e.index,system:this.index,...t,rest:t.rest?"r":null})),contexts:t.getContexts({staff:e.index}),voltaBegin:t.tokens.some(e=>e.type===B.VoltaLeft),voltaEnd:t.tokens.some(e=>e.type===B.VoltaRight),alternative:t.alternative,barTypes:t.barTypes}}):Array(this.measureCount).fill(null).map(()=>({events:[],contexts:[],voltaBegin:!1,voltaEnd:!1,alternative:!1,barTypes:{}})));for(let e=0;et[e]?.contexts?.filter(e=>[Ue.TimeSignatureC,Ue.TimeSignatureN].includes(e.type))).find(e=>e?.length);s&&t.forEach(t=>{!t[e]||t[e].contexts.length||t[e].events.length||t[e].contexts.push(...s)})}const s=Array(this.measureCount).fill(null).map((e,s)=>({measureIndex:this.headMeasureIndex+s,rows:t.map(e=>e[s]),marks:this.getMarksInMeasure(s),duration:0,voltaBegin:t.some(e=>e[s]?.voltaBegin),voltaEnd:t.some(e=>e[s]?.voltaEnd),alternative:t.some(e=>e[s]?.alternative),barTypes:t.reduce((e,t)=>({...e,...t[s]?.barTypes}),{})}));s.forEach(e=>{[].concat(...e.rows.filter(Boolean).map(e=>e.events)).forEach((e,t)=>e.id=t+1)});const i=s[s.length-1];return i&&(i.break=!0),{staffMask:this.staffMask,columns:s}}getEventsFunctional(e,t,s=[],{useXMap:i=!1}={}){const r=this.getStaffArray(e).map((e,s)=>e?e.measures.map((e,i)=>{const r=t(s,i);return r&&{events:r.map(e=>new EventTerm({system:this.index,...e,rest:e.rest?"r":null})),contexts:e.getContexts({staff:s}),voltaBegin:e.tokens.some(e=>e.type===B.VoltaLeft),voltaEnd:e.tokens.some(e=>e.type===B.VoltaRight),alternative:e.alternative,barTypes:e.barTypes}}):Array(this.measureCount).fill(null).map(()=>({events:[],contexts:[],voltaBegin:!1,voltaEnd:!1,alternative:!1,barTypes:{}}))),n=Array(this.measureCount).fill(null).map((e,t)=>{const s=r.map(e=>e[t]);if(s.some(e=>!e))return null;let n=null;if(i){const e=[].concat(...s.map(e=>e.events)).reduce((e,t)=>(Number.isFinite(t.tickGroup)&&(e[t.tickGroup]=e[t.tickGroup]||[]),e[t.tickGroup].push(t),e),{});n=Object.values(e).reduce((e,t)=>{const s=Math.min(...t.map(e=>(e.left+e.right)/2));return e.set(s,t),e},new Map)}return{measureIndex:this.headMeasureIndex+t,rows:s,marks:this.getMarksInMeasure(t),duration:0,xMap:n,voltaBegin:s.some(e=>e.voltaBegin),voltaEnd:s.some(e=>e.voltaEnd),alternative:s.some(e=>e.alternative),barTypes:s.reduce((e,t)=>({...e,...t.barTypes}),{})}});return s.forEach(e=>n.forEach(e)),{staffMask:this.staffMask,columns:n}}getContexts(e){const t=this.getStaffArray(e).map(e=>e?e.measures.map(e=>({events:null,contexts:e.getContexts(),voltaBegin:e.tokens.some(e=>e.type===B.VoltaLeft),voltaEnd:e.tokens.some(e=>e.type===B.VoltaRight),alternative:t.some(e=>e.alternative),barTypes:e.barTypes})):Array(this.measureCount).fill(null).map(()=>({events:null,contexts:[],voltaBegin:!1,voltaEnd:!1,alternative:!1,barTypes:{}})));for(let e=0;et[e]?.contexts.filter(e=>[Ue.TimeSignatureC,Ue.TimeSignatureN].includes(e.type))).find(e=>e?.length);s&&t.forEach(t=>{t[e].contexts.length||t[e].contexts.push(...s)})}const s=Array(this.measureCount).fill(null).map((e,s)=>({measureIndex:this.headMeasureIndex+s,rows:t.map(e=>e[s]),marks:[],duration:0,voltaBegin:t.some(e=>e[s].voltaBegin),voltaEnd:t.some(e=>e[s].voltaEnd),alternative:t.some(e=>e.alternative),barTypes:t.reduce((e,t)=>({...e,...t[s].barTypes}),{})}));return{staffMask:this.staffMask,columns:s}}assignSemantics(e,t){const s=this.staves[e];console.assert(s,"staff is null:",e,this.staves);const i=s.top+s.staffY;t.getSystemPoints().forEach(e=>{const t={...e};t.y+=i,t.extension&&(t.extension={...t.extension},Number.isFinite(t.extension.y1)&&(t.extension.y1+=i,t.extension.y2+=i)),this.semantics.push(t)})}assemble(e,t=new DummyLogger){if(this.measureBars=[],!this.semantics)return;const s=SemanticGraph.fromPoints(this.semantics).getConfidentLayer(g.vline_BarMeasure,e);s.sort((e,t)=>e.x-t.x);const i=this.staffTop,r=this.staffBottom;let n=0;const a=s.reduce((e,t)=>{const s=Number.isFinite(t.confidence)?Math.tanh(t.confidence):1,a=t.x-n>.4?t.x:n;n=t.x;let o=e[a]||0;return o+=(Math.min(t.extension.y2,r)-Math.max(t.extension.y1,i))*s,t.x!==a&&delete e[a],e[t.x]=o,e},{}),o=Object.entries(a).filter(([e,t])=>t>3*this.staves.length).map(([e])=>Number(e));o.sort((e,t)=>e-t),o.forEach((e,t)=>{(t<=0||e-o[t-1]>2)&&this.measureBars.push(e)}),this.measureBars.length||this.measureBars.push(this.width),this.tidyMeasureBars(),this.rearrangeMeasures();this.semantics.filter(e=>[g.vline_BarTerminal,g.vline_BarSegment].includes(e.semantic)).forEach(e=>{const t=this.staves[0].measures.find(t=>e.x>t.right-2&&e.x{for(;!(l&1<_(this.index,i,e)),s.clearPredictedTokens(),s.assemble(e,this,t))})}qualifiedSemantics(e,t=1){return e.filter(e=>this.sidWhiteList.includes(e.id)||!this.sidBlackList.includes(e.id)&&(e.confidence>=t||!Number.isFinite(e.confidence))).map(e=>this.displacementSemantics&&this.displacementSemantics[e.id]?{...e,...this.displacementSemantics[e.id]}:e)}clearTokens(){this.staves.forEach(e=>e.clearTokens()),this.semantics=[]}newPoint(e,t,s=1){const i=this.staves[e];console.assert(i,"staff index out of bound:",e,this.staves.length);const{semantic:r,x:n,y:a,confidence:o=0,extension:c=null}=t,l={semantic:r,x:n,y:a,confidence:o,extension:c};return l.extension||delete l.extension,_(this.index,e,l),i.semantics.push(l),i.clearPredictedTokens(),i.assemble(s,this),l}appendToken(e){switch(this.tokens.push(e),e.textType){case p.TempoNumeral:{const t=this.staves[0];if(t){const s=t.top+t.staffY;t.measures.forEach(t=>{t.tokens=t.tokens.filter(t=>!V.includes(t.type)||Math.abs(t.x-e.x)>e.width/2||Math.abs(s+t.y-e.y)>e.fontSize/2)})}}break;case p.Alternation1:case p.Alternation2:this.staves[0].measures.forEach(t=>{const s=Math.min(t.left+t.width,e.x+e.width/2)-Math.max(t.left,e.x-e.width/2);t.alternative=t.alternative||s/t.width>.5})}}}System.className="System",System.blackKeys=["index","pageIndex","prev","next","headMeasureIndex","tokens","indent"];class Page extends SimpleClass{constructor(e){super(),super.assign(e),this.systems=this.systems||[],this.source&&(this.source.matrix=this.source.matrix||[1,0,0,1,0,0])}get sidBlackList(){const e=[].concat(...this.systems.map(e=>e.sidBlackList));return new Set(e)}get sidWhiteList(){const e=[].concat(...this.systems.map(e=>e.sidWhiteList));return new Set(e)}clearTokens(){this.semantics=null,this.tokens=null,this.systems.forEach(e=>e.tokens=null)}assignTexts(e,[t,s]){const i=this.source&&this.source.interval?this.source.interval*(t/this.source.dimensions.height):t/this.height;this.semantics=e.map(e=>{const r={x:(e.cx-s/2)/i,y:(e.cy-t/2)/i},n=this.source&&this.source.matrix?(a=r,{x:(o=this.source.matrix)[0]*a.x+o[2]*a.y+o[4],y:o[1]*a.x+o[3]*a.y+o[5]}):r;var a,o;return{confidence:e.score,x:n.x+this.width/2,y:n.y+this.height/2,semantic:g.rect_Text,extension:{text:e.text,type:e.type,width:e.width/i,height:e.height/i,theta:e.theta,textFeature:e.feature_dict}}})}assemble({textAnnotations:e=null}={},t=new DummyLogger){if(this.tokens=[],this.systems.forEach(e=>e.tokens=[]),this.systems.length){const e=this.systems.map(e=>e.left),t=e[Math.floor((e.length-1)/2)];this.systems.forEach(e=>e.indent=e.left>t+2)}if(this.semantics){const t=this.source?this.source.name:this.index.toString();this.semantics.forEach(s=>{O(t,s);const i={id:s.id,type:B.Text,confidence:s.confidence,textType:nt[s.extension.type]||s.extension.type,text:e&&e[s.id]||s.extension.text,textFeasure:s.extension.textFeature,width:s.extension.width,fontSize:s.extension.height};if(s.semantic===g.rect_Text)switch(i.textType){case p.Title:case p.Author:case p.PageMargin:case p.Other:this.tokens.push(new TextToken({x:s.x,y:s.y,...i}));break;case p.TempoNumeral:case p.Chord:case p.MeasureNumber:case p.Instrument:case p.Alternation1:case p.Alternation2:{const e=this.systems.find(e=>e.top+e.staffTop>s.y);e&&e.appendToken(new TextToken({x:s.x-e.left,y:s.y-e.top,...i}))}break;case p.TextualMark:case p.Times:{const e=[...this.systems].reverse().find(e=>e.topt>=e.top&&tr>=e.left&&r[e,ot[`TimeD${e}`]])),lt=Object.fromEntries(Array(12).fill(null).map((e,t)=>t+1).map(e=>[e,ot[`TimeN${e}`]])),ut=ot,ht={[ut.BOS]:"BOS",[ut.NoteheadS0]:"noteheads-s0",[ut.NoteheadS1]:"noteheads-s1",[ut.NoteheadS2]:"noteheads-s2",[ut.NoteheadGrace]:"GraceNotehead",[ut.Flag3]:"flags-u3",[ut.BeamLeft]:"BeamLeft",[ut.BeamContinue]:"BeamContinue",[ut.BeamRight]:"BeamRight",[ut.Dot]:"dot",[ut.Rest0]:"rests-0o",[ut.Rest1]:"rests-1o",[ut.Rest2]:"rests-2",[ut.Rest3]:"rests-3",[ut.Rest4]:"rests-4",[ut.Rest5]:"rests-5",[ut.Rest6]:"rests-6"},mt={[ut.NoteheadS0]:0,[ut.NoteheadS1]:1,[ut.NoteheadS2]:2,[ut.NoteheadGrace]:2},ft=[ut.NoteheadS0,ut.NoteheadS1,ut.NoteheadS2,ut.NoteheadGrace],dt=[ut.Rest0,ut.Rest1,ut.Rest2,ut.Rest3,ut.Rest4,ut.Rest5,ut.Rest6],pt=[ut.BeamLeft,ut.BeamContinue,ut.BeamRight],gt=[...ft,...dt],yt=[...ft,...dt,ut.vline_Stem],vt=[ut.BOS,ut.NoteheadS0,ut.vline_Stem,...dt],xt=[...gt,ut.vline_Stem],St={[ut.BeamLeft]:"Open",[ut.BeamRight]:"Close"},bt=e=>({type:e,staff:-1,x:0,y1:0,y2:0}),kt=bt(ot.BOS),Tt=e=>[bt(lt[e.numerator]),bt(ct[e.denominator])],wt=(e,t)=>{const s=e.filter((e,s)=>t[s]),i=Math.max(...s);return e.findIndex(e=>e===i)};class SemanticCluster extends SimpleClass{static elementToJSON(e){const t={type:e.type,staff:e.staff,x:e.x,y1:e.y1,y2:e.y2};return e.id&&(t.id=e.id),t}constructor(e){super(),super.assign(e)}get sourceMask(){return this.elements.map(e=>yt.includes(e.type))}get targetMask(){return this.elements.map(e=>vt.includes(e.type))}get vMask(){return this.elements.map(e=>xt.includes(e.type))}get compactMatrixH(){if(!this.matrixH)return null;const e=this.sourceMask,t=this.targetMask;return this.matrixH.filter((t,s)=>e[s]).map(e=>e.filter((e,s)=>t[s]))}set compactMatrixH(e){this.matrixH=Mt([].concat(...e),[this.sourceMask,this.targetMask])}get compactMatrixV(){if(!this._matrixV)return null;const e=this.vMask,t=this._matrixV.filter((t,s)=>e[s]).map(t=>t.filter((t,s)=>e[s]));return[].concat(...t.map((e,t)=>e.slice(0,t)))}set compactMatrixV(e){this.matrixV=e&&Et(e,this.vMask)}get matrixV(){return this.groupsV&&Nt(this.elements.length,this.groupsV)}set matrixV(e){if(!e)return this.groupsV=null,void(this._matrixV=e);const t=[],s=e.map((t,s)=>t.some(Number.isFinite)||e.some(e=>Number.isFinite(e[s])));e.forEach((e,i)=>{if(s[i]){let s=!1;for(let r=0;r=.5){const e=t.findIndex(e=>e.includes(r));t[e].push(i),s=!0;break}}s||t.push([i])}}),this.groupsV=t,this._matrixV=e}toJSON(){return{__prototype:"SemanticCluster",index:this.index,elements:this.elements.map(SemanticCluster.elementToJSON),compactMatrixH:this.compactMatrixH,compactMatrixV:this.compactMatrixV}}static mapMatrix(e,t,s){return t.reduce((t,s,i)=>(t[s]?t[s]=t[s].map((t,s)=>t+e[i][s]?1:0):t[s]=e[i],t),[]).map(e=>s.map(t=>e[t]))}mergeOverlapping(){const e=this.overlappedNoteheads();if(e.length){const t=this.elements.map((t,s)=>{const i=e.find(e=>s===e[1]),r=i?i[0]:s;return r-e.filter(e=>e[1]t.findIndex(e=>e===s));this.elements=s.map(e=>this.elements[e]),console.assert(this.elements.every(Boolean),"null element found:",this,t,s),this.matrixH=SemanticCluster.mapMatrix(this.matrixH,t,s),this.groupsV=this.groupsV.map(e=>Array.from(new Set(e.map(e=>t[e]))))}}overlappedNoteheads(){const e=[],t=this.elements.filter(e=>ft.includes(e.type));for(let s=0;st),t=this.masks?this.masks[1]:e.map(e=>vt.includes(this.elements[e].type)),s=e.map(e=>this.elements[e].type===ut.vline_Stem&&this.elements[e].y2-this.elements[e].y1>2),i=e.filter(e=>[ut.NoteheadS1,ut.NoteheadS2,ut.NoteheadGrace].includes(this.elements[e].type)),r=e.filter(e=>this.elements[e].type===ut.NoteheadS0),n=e.map(()=>!1),a={};i.forEach(t=>{const i=this.elements[t];e.filter(e=>s[e]).filter(e=>this.elements[e].y1-.5i.y1).sort((e,s)=>this.matrixH[t][s]-this.matrixH[t][e]).slice(0,2).filter((e,s)=>0===s||this.matrixH[t][e]>=.5).forEach(e=>{a[e]=a[e]||[],a[e].push(t)})}),r.forEach(e=>{const s=this.elements[e],i=wt(this.matrixH[e],t),r=this.elements[i];r.type===ut.NoteheadS0&&Math.abs(s.x-r.x)<2.6?(n[e]=!0,a[i]=a[i]||[i],a[i].push(e)):a[e]=a[e]||[e]});const o={},c=e.filter(e=>a[e]||dt.includes(this.elements[e].type));c.sort((e,t)=>this.elements[e].x-this.elements[t].x);const l=e.map(e=>e===ut.BOS);c.forEach(e=>{const t=wt(this.matrixH[e],l);o[e]=t,t&&!dt.includes(this.elements[t].type)&&(l[t]=!1),l[e]=!0});const u=this.elements.filter(e=>e.type===ut.Dot),h=this.elements.filter(e=>e.type===ut.Flag3),m=this.elements.filter(e=>pt.includes(e.type)),f=this.groupsV;return c.map(e=>{const t=this.elements[e],s=f?f.findIndex(t=>t.includes(e)):null;if(dt.includes(t.type)){const i=u.filter(e=>e.x>t.x+.5&&e.xt.y1-1&&e.y1this.elements[e]),r=Math.min(...i.map(e=>e.x-.7)),n=Math.max(...i.map(e=>e.x+.7));i.sort((e,t)=>t.y1-e.y1);const c=i.map(e=>e.y1),l=i.map(e=>e.id),f=c[0],d=c[c.length-1],p=u.filter(e=>e.x>n&&e.xf-1&&e.y1{const s=Ne(t.y1,.5);return e[s]=e[s]||[],e[s].push(t),e},{}),g=Math.max(...Object.values(p).map(e=>e.length),0);let y=mt[i[0].type],v=null,x=null,S=null;if(t.type===ut.vline_Stem){if(v=f-t.y1>t.y2-d?"u":"d",S={x:t.x,y:"u"===v?t.y1:t.y2},2===y){const e="u"===v?[t.y1-.4,t.y2-1]:[t.y1+1,t.y2+.4];y+=h.filter(s=>Math.abs(s.x-t.x)<.2&&s.y1>e[0]&&s.y1Math.abs(s.x-t.x)<.2&&s.y1>e[0]&&s.y1{const s=function*(){for(const t of e)yield t}(),[i,r]=t;return i.map(e=>r.map(t=>e&&t?s.next().value:null))},Et=(e,t)=>{const s=function*(){for(const t of e)yield t}();return t.map((e,i)=>t.map((t,r)=>e&&t&&r{const s=Array(e).fill(null).map((e,s)=>t.findIndex(e=>e.includes(s)));return Array(e).fill(null).map((t,i)=>Array(e).fill(null).map((e,t)=>{if(t>=i)return null;const r=s[i],n=s[t];return r<0||n<0?null:r===n?1:0}))};var It;!function(e){e[e.None=0]="None",e.Mordent="mordent",e.Prall="prall",e.Turn="turn",e.Trill="trill",e.Tremolo="tremolo",e.Arpeggio="arpeggio"}(It||(It={}));const Ct=class Stream{constructor(e){this.array=new Uint8Array(e),this.position=0}eof(){return this.position>=this.array.length}read(e){const t=this.array.slice(this.position,this.position+e);return this.position+=e,t}readString(e){return Array.from(this.read(e)).map(e=>String.fromCharCode(e)).join("")}readInt32(){const e=(this.array[this.position]<<24)+(this.array[this.position+1]<<16)+(this.array[this.position+2]<<8)+this.array[this.position+3];return this.position+=4,e}readInt16(){const e=(this.array[this.position]<<8)+this.array[this.position+1];return this.position+=2,e}readInt8(e){let t=this.array[this.position];return e&&t>127&&(t-=256),this.position+=1,t}readVarInt(){let e=0;for(;;){const t=this.readInt8();if(!(128&t))return e+t;e+=127&t,e<<=7}}};const _t=class OStream{constructor(){this.buffer=""}write(e){this.buffer+=e}writeInt32(e){this.buffer+=String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(255&e)}writeInt16(e){this.buffer+=String.fromCharCode(e>>8&255)+String.fromCharCode(255&e)}writeInt8(e){this.buffer+=String.fromCharCode(255&e)}writeVarInt(e){if(e<0)throw new Error("OStream.writeVarInt minus number: "+e);const t=127&e;e>>=7;let s=String.fromCharCode(t);for(;e;){const t=127&e;e>>=7,s=String.fromCharCode(128|t)+s}this.buffer+=s}getBuffer(){return this.buffer}getArrayBuffer(){return Uint8Array.from(this.buffer.split("").map(e=>e.charCodeAt(0))).buffer}};var Ot={parseMidiData:function(e){function t(e){const t=e.readString(4),s=e.readInt32();return{id:t,length:s,data:e.read(s)}}let s;function i(e){const t={};t.deltaTime=e.readVarInt();let i=e.readInt8();if(240&~i){let r;128&i?(r=e.readInt8(),s=i):(r=i,i=s);const n=i>>4;switch(t.channel=15&i,t.type="channel",n){case 8:return t.subtype="noteOff",t.noteNumber=r,t.velocity=e.readInt8(),t;case 9:return t.noteNumber=r,t.velocity=e.readInt8(),0===t.velocity?t.subtype="noteOff":t.subtype="noteOn",t;case 10:return t.subtype="noteAftertouch",t.noteNumber=r,t.amount=e.readInt8(),t;case 11:return t.subtype="controller",t.controllerType=r,t.value=e.readInt8(),t;case 12:return t.subtype="programChange",t.programNumber=r,t;case 13:return t.subtype="channelAftertouch",t.amount=r,t;case 14:return t.subtype="pitchBend",t.value=r+(e.readInt8()<<7),t;default:throw new Error("Unrecognised MIDI event type: "+n)}}else{if(255!==i){if(240===i){t.type="sysEx";const s=e.readVarInt();return t.data=e.readString(s),t}if(247===i){t.type="dividedSysEx";const s=e.readVarInt();return t.data=e.readString(s),t}throw new Error("Unrecognised MIDI event type byte: "+i)}{t.type="meta";const s=e.readInt8(),i=e.readVarInt();switch(s){case 0:if(t.subtype="sequenceNumber",2!==i)throw new Error("Expected length for sequenceNumber event is 2, got "+i);return t.number=e.readInt16(),t;case 1:return t.subtype="text",t.text=e.readString(i),t;case 2:return t.subtype="copyrightNotice",t.text=e.readString(i),t;case 3:return t.subtype="trackName",t.text=e.readString(i),t;case 4:return t.subtype="instrumentName",t.text=e.readString(i),t;case 5:return t.subtype="lyrics",t.text=e.readString(i),t;case 6:return t.subtype="marker",t.text=e.readString(i),t;case 7:return t.subtype="cuePoint",t.text=e.readString(i),t;case 32:if(t.subtype="midiChannelPrefix",1!==i)throw new Error("Expected length for midiChannelPrefix event is 1, got "+i);return t.channel=e.readInt8(),t;case 47:if(t.subtype="endOfTrack",0!==i)throw new Error("Expected length for endOfTrack event is 0, got "+i);return t;case 81:if(t.subtype="setTempo",3!==i)throw new Error("Expected length for setTempo event is 3, got "+i);return t.microsecondsPerBeat=(e.readInt8()<<16)+(e.readInt8()<<8)+e.readInt8(),t;case 84:if(t.subtype="smpteOffset",5!==i)throw new Error("Expected length for smpteOffset event is 5, got "+i);const s=e.readInt8();return t.frameRate={0:24,32:25,64:29,96:30}[96&s],t.hour=31&s,t.min=e.readInt8(),t.sec=e.readInt8(),t.frame=e.readInt8(),t.subframe=e.readInt8(),t;case 88:if(t.subtype="timeSignature",4!==i)throw new Error("Expected length for timeSignature event is 4, got "+i);return t.numerator=e.readInt8(),t.denominator=Math.pow(2,e.readInt8()),t.metronome=e.readInt8(),t.thirtyseconds=e.readInt8(),t;case 89:if(t.subtype="keySignature",2!==i)throw new Error("Expected length for keySignature event is 2, got "+i);return t.key=e.readInt8(!0),t.scale=e.readInt8(),t;case 127:return t.subtype="sequencerSpecific",t.data=e.readString(i),t;default:return t.subtype="unknown",t.data=e.readString(i),t}}}}let r=e;"string"==typeof e&&(r=e.split("").map(e=>e.charCodeAt(0)));const n=new Ct(r),a=t(n);if("MThd"!==a.id||6!==a.length)throw new Error("Bad .mid file - header not found");const o=new Ct(a.data),c=o.readInt16(),l=o.readInt16(),u=o.readInt16();let h;if(32768&u)throw new Error("Expressing time division in SMTPE frames is not supported yet");h=u;const m={formatType:c,trackCount:l,ticksPerBeat:h},f=[];for(let e=0;e>16&255),e.writeInt8(t.microsecondsPerBeat>>8&255),e.writeInt8(255&t.microsecondsPerBeat);break;case"smpteOffset":e.writeInt8(84),e.writeVarInt(5);var s={24:0,25:32,29:64,30:96}[t.frameRate];e.writeInt8(t.hour|s),e.writeInt8(t.min),e.writeInt8(t.sec),e.writeInt8(t.frame),e.writeInt8(t.subframe);break;case"timeSignature":e.writeInt8(88),e.writeVarInt(4),e.writeInt8(t.numerator),e.writeInt8(Math.log2(t.denominator)),e.writeInt8(t.metronome),e.writeInt8(t.thirtyseconds);break;case"keySignature":e.writeInt8(89),e.writeVarInt(2),e.writeInt8(t.key),e.writeInt8(t.scale);break;case"sequencerSpecific":e.writeInt8(127),e.writeVarInt(t.data.length),e.write(t.data);break;default:throw new Error("unhandled event subtype:"+t.subtype)}break;case"sysEx":e.writeInt8(240),e.writeVarInt(t.data.length),e.write(t.data);break;case"dividedSysEx":e.writeInt8(247),e.writeVarInt(t.data.length),e.write(t.data);break;case"channel":switch(t.subtype){case"noteOn":e.writeInt8(144|t.channel),e.writeInt8(t.noteNumber),e.writeInt8(t.velocity);break;case"noteOff":e.writeInt8(128|t.channel),e.writeInt8(t.noteNumber),e.writeInt8(t.velocity?t.velocity:0);break;case"noteAftertouch":e.writeInt8(160|t.channel),e.writeInt8(t.noteNumber),e.writeInt8(t.amount);break;case"controller":e.writeInt8(176|t.channel),e.writeInt8(t.controllerType),e.writeInt8(t.value);break;case"programChange":e.writeInt8(192|t.channel),e.writeInt8(t.programNumber);break;case"channelAftertouch":e.writeInt8(208|t.channel),e.writeInt8(t.amount);break;case"pitchBend":e.writeInt8(224|t.channel),e.writeInt8(255&t.value),e.writeInt8(t.value>>7&255);break;default:throw new Error("unhandled event subtype:"+t.subtype)}break;default:throw new Error("unhandled event type:"+t.type)}}const r=new _t,n=new _t;n.writeInt16(e.formatType),n.writeInt16(t.length),n.writeInt16(e.ticksPerBeat),s(r,"MThd",n.getBuffer());for(let e=0;e{const s=[];let i=120;const r=e.header.ticksPerBeat;for(let t=0;t0){e=a.ticksToEvent/r/(i/60)}"meta"==a.event.type&&"setTempo"==a.event.subtype&&(i=6e7/a.event.microsecondsPerBeat);const s=1e3*e*t||0;o.push([a,s]),a=n()}if(a=n())for(;a;)e()}(),o},trimSequence:e=>{const t=new Map;return e.filter(([{event:e,ticksToEvent:s}])=>{if(s>0&&t.clear(),"channel"!==e.type)return!0;const i=`${e.subtype}|${e.channel}|${e.noteNumber}`;return!t.get(i)&&(t.set(i,e),!0)})},fixOverlapNotes:e=>{const t=new Map,s=new Map,i=[];let r=-1;return e.forEach(([{event:e,ticksToEvent:n}],a)=>{if(n>0&&(r=a),"channel"!==e.type)return;const o=`${e.channel}|${e.noteNumber}`;switch(e.subtype){case"noteOn":t.get(o)?s.set(o,r):t.set(o,r);break;case"noteOff":s.get(o)?(i.push([s.get(o),a]),s.delete(o)):t.delete(o)}}),i.forEach((e,t)=>{for(let s=t-1;s>=0;--s){const t=i[s];if(t[1]t[0]&&++e[0]}}),i.forEach(([t,s])=>{if(s>=e.length-1||t<0)return;const i=e[s],r=e[s+1],n=e[t];if(!n[0].ticksToEvent)return void console.warn("invalid front index:",t,s,n);const a=n[1]/n[0].ticksToEvent;r[1]+=i[1],r[0].ticksToEvent+=i[0].ticksToEvent,i[0].ticksToEvent=n[0].ticksToEvent-1,n[0].ticksToEvent=1,i[1]=i[0].ticksToEvent*a,n[1]=n[0].ticksToEvent*a,e.splice(s,1),e.splice(t,0,i)}),e}};const At=Bt,Pt={64:"Sustain",65:"Portamento",66:"Sostenuto",67:"Soft"};class Notation$1{static parseMidi(e,{fixOverlap:t=!0}={}){const s=[],i={},r={},n=[],a=[];let o=0,c=5e3,l=0,u=4,h=0;const m={};let f,d=0,p=0;const g=[],y=e.header.ticksPerBeat;let v=At.midiToSequence(e);t&&(v=At.trimSequence(At.fixOverlapNotes(v)));const x=v.map(e=>({data:e[0].event,track:e[0].track,deltaTime:e[1],deltaTicks:e[0].ticksToEvent}));let S=0;for(const e of x){if(d+=e.deltaTicks,p=Math.round(1*d),e.deltaTicks>0){const t=e.deltaTicks/y;for(let e=Math.ceil(l);es.channel==t.channel&&s.pitch==e);if(i>=0){const r=s.splice(i,1)[0];n[t.channel].push({channel:t.channel,startTick:r.startTick,endTick:p,pitch:e,start:r.start,duration:o-r.start,velocity:r.velocity,beats:r.beats,track:r.track,finger:r.finger})}else console.debug("unexpected noteOff: ",o,t);m.high=Math.max(m.high||e,e)}break;case"controller":switch(t.controllerType){case 64:case 65:case 66:case 67:const e=Pt[t.controllerType];i[t.channel]=i[t.channel]||{},r[t.channel]=r[t.channel]||[];const s=i[t.channel][e];s&&r[t.channel].push({type:e,start:s.start,duration:o-s.start,value:s.value}),i[t.channel][e]={start:o,value:t.value}}}break;case"meta":switch(t.subtype){case"setTempo":c=t.microsecondsPerBeat/1e3,g.push({tempo:t.microsecondsPerBeat,tick:p,time:o});break;case"timeSignature":u=t.numerator,h=0;break;case"text":if(!f&&/^find-corres:/.test(t.text)){const e=t.text.match(/:([\d\,-]+)/);f=(e&&e[1]||"").split(",").map(e=>Number(e))}else if(/fingering\(.*\)/.test(t.text)){const[e,i]=t.text.match(/\((.+)\)/),r=Number(i);if(!Number.isNaN(r)){const e=s[s.length-1];e&&(e.finger=r);const t=x.find(e=>e.index==S-1);t&&(t.data.finger=r)}}break;case"copyrightNotice":console.log("MIDI copyright:",t.text)}}}return s.forEach(e=>{console.debug("unclosed noteOn event at",e.startTick,e),n[e.channel].push({startTick:e.startTick,endTick:p,pitch:e.pitch,start:e.start,duration:o-e.start,velocity:e.velocity,beats:e.beats,track:e.track,finger:e.finger})}),new Notation$1({channels:n,keyRange:m,pedals:r,bars:a,endTime:o,endTick:p,correspondences:f,events:x,tempos:g,ticksPerBeat:y,meta:{}})}constructor(e){Object.assign(this,e),this.notes=[];for(const e of this.channels)if(e)for(const t of e)this.notes.push(t);this.notes.sort(function(e,t){return e.start-t.start});for(const e in this.notes)this.notes[e].index=Number(e);this.duration=this.notes.length>0?this.endTime-this.notes[0].start:0,this.pitchMap=[];for(const e in this.channels)for(const t in this.channels[e]){const s=this.channels[e][t].pitch;this.pitchMap[s]=this.pitchMap[s]||[],this.pitchMap[s].push(this.channels[e][t])}if(this.pitchMap.forEach(e=>e.sort((e,t)=>e.start-t.start)),this.meta.beatInfos)for(let e=0;e0){const s=this.meta.beatInfos[e-1];t.beatIndex=s.beatIndex+Math.ceil((t.tick-s.tick)/this.ticksPerBeat)}else t.beatIndex=0}{let e=0,t=0,s=5e5;for(const i of this.tempos){e+=s/1e3*(i.tick-t)/this.ticksPerBeat,t=i.tick,s=i.tempo,i.time=e}}}findChordBySoftindex(e,t=.8){return this.notes.filter(s=>Math.abs(s.softIndex-e)e.from,"range is invalid:",e);const t=t=>{const s=Math.max(e.from,this.tempos[t].tick),i=te+s.tempo*t(i),0)/(e.to-e.from))}ticksToTime(e){console.assert(Number.isFinite(e),"invalid tick value:",e),console.assert(this.tempos&&this.tempos.length,"no tempos.");const t=this.tempos.findIndex(t=>t.tick>e),s=t<0?this.tempos.length-1:Math.max(t-1,0),i=this.tempos[s];return i.time+(e-i.tick)*i.tempo*.001/this.ticksPerBeat}timeToTicks(e){console.assert(Number.isFinite(e),"invalid time value:",e),console.assert(this.tempos&&this.tempos.length,"no tempos.");const t=this.tempos.findIndex(t=>t.time>e),s=t<0?this.tempos.length-1:Math.max(t-1,0),i=this.tempos[s];return i.tick+(e-i.time)*this.ticksPerBeat/(.001*i.tempo)}tickRangeToTimeRange(e){return console.assert(e.to>=e.from,"invalid tick range:",e),{from:this.ticksToTime(e.from),to:this.ticksToTime(e.to)}}scaleTempo({factor:e,headTempo:t}){console.assert(this.tempos&&this.tempos.length,"[Notation.scaleTempo] tempos is empty."),t&&(e=t/this.tempos[0].tempo),console.assert(Number.isFinite(e)&&e>0,"[Notation.scaleTempo] invalid factor:",e),this.tempos.forEach(t=>{t.tempo*=e,t.time*=e}),this.events.forEach(t=>{t.deltaTime*=e,t.time*=e}),this.notes.forEach(t=>{t.start*=e,t.duration*=e}),this.endTime*=e}}var Rt={Notation:Notation$1};const{Notation:Dt}=Rt,Ft=()=>new Promise(e=>requestAnimationFrame(e));var Lt=class MidiPlayer$1{constructor(e,{cacheSpan:t=600,onMidi:s,onPlayFinish:i,onTurnCursor:r}={}){let n;this.cacheSpan=t,this.onMidi=s,this.onPlayFinish=i,this.onTurnCursor=r,n=e.notes&&Number.isFinite(e.endTime)?e:Dt.parseMidi(e),this.notation=n,this.events=n.events,this.isPlaying=!1,this.progressTime=0,this.startTime=performance.now(),this.duration=n.endTime,this.cursorTurnDelta=0,console.assert(n.tempos&&n.tempos.length,"[MidiPlayer] invalid notation, tempos is empty.")}dispose(){this.isPlaying=!1,this.progressTime=0}get progressTicks(){return this.notation.timeToTicks(this.progressTime)}set progressTicks(e){this.progressTime=this.notation.ticksToTime(e),this.onTurnCursor&&this.onTurnCursor(this.progressTime)}async play({nextFrame:e=Ft}={}){this.progressTime>=this.duration&&(this.progressTime=0);let t=performance.now();this.startTime=t-this.progressTime,this.isPlaying=!0;let s=this.events.findIndex(e=>e.time>=t-this.startTime);for(;this.isPlaying;){for(;sthis.progressTime+this.cacheSpan)break;"channel"===e.data.type&&this.startTime+e.time>=t&&this.onMidi&&this.onMidi(e.data,this.startTime+e.time)}if(await e(),!this.isPlaying)break;if(0!==this.cursorTurnDelta){const e=this.cursorTurnDelta<0;if(this.startTime-=this.cursorTurnDelta,this.cursorTurnDelta=0,e)for(;s>0;--s){const e=this.events[s].time;if(this.startTime+ethis.duration&&(this.isPlaying=!1,this.onPlayFinish&&this.onPlayFinish())}}pause(){this.isPlaying=!1}turnCursor(e){this.isPlaying?this.cursorTurnDelta+=e-this.progressTime:this.progressTime=e,this.onTurnCursor&&this.onTurnCursor(e)}},$t={CostStepAttenuation:.6,SkipDeep:3,PriorDistanceSigmoidFactor:.1,PriorValueSigmoidFactor:.12,SkipCost:.5,LagOffsetCost:1,LeadOffsetCost:1.6,ZeroOffsetCost:.58,RelocationThreshold:6};const{pick:jt}=x.default,Ht=$t;class Node$2{constructor(e,t){this.s_note=e,this.c_note=t,console.assert(null!=this.s_note.softIndex,"s_note softIndex is null"),this.offset=this.s_note.softIndex-this.c_note.softIndex,this._prev=null,this._totalCost=0,this._value=0,this.cacheDirty=!0}get prev(){return this._prev}set prev(e){e!=this._prev&&(this._prev=e,this.cacheDirty=!0)}get si(){return this.s_note.index}get ci(){return this.c_note.index}get root(){return this.prev.root||this}get rootSi(){return this.prev.zero?this.si:this.prev.rootSi}get id(){return`${this.s_note.index},${this.c_note.index}`}static cost(e,t,s){return e*Ht.CostStepAttenuation+Math.tanh(t*Ht.SkipCost)+Math.tanh(.5*s)}updateCache(){this.cacheDirty&&(this._totalCost=Node$2.cost(this.prev.totalCost,this.si-this.prev.si-1,this.selfCost),this._value=this.prev.value+1-Math.tanh(.5*this.selfCost),this.cacheDirty=!1)}get totalCost(){return this.updateCache(),this._totalCost}get value(){return this.updateCache(),this._value}get deep(){return this.prev.deep+1}get path(){const e=[];for(let t=this;!t.zero;t=t.prev)e[t.si]=t.ci;for(let t=0;t=1,"node index error:",this,e);const s=Node$2.cost(e.totalCost,this.si-e.si-1,t);return(!this.prev||s0?Ht.LagOffsetCost:Ht.LeadOffsetCost))**2}return t}priorByOffset(e){const t=Math.abs(this.offset-e)/1;return Math.tanh(this.value*Ht.PriorValueSigmoidFactor)-Math.tanh(t*Ht.PriorDistanceSigmoidFactor)}static zero(){return{zero:!0,totalCost:0,value:0,si:-1,ci:-1,deep:0,offset:0}}}var Vt=Node$2;const zt=$t,qt=Vt;var Gt=class Navigator$1{constructor(e,t,s={}){this.criterion=e,this.sample=t,this.getCursorOffset=s.getCursorOffset||(()=>null),this.outOfPage=s.outOfPage,this.bestNode=null,this.fineCursor=null,this.breakingSI=t.notes.length-1,this.zeroNode=qt.zero(),this.zeroNode.offset=this.getCursorOffset()||0,this.relocationThreshold=s.relocationThreshold||zt.RelocationThreshold}step(e){const t=this.sample.notes[e];if(t.matches.length>0){t.matches.forEach(t=>{t.evaluatePrev(this.zeroNode);for(let s=e-1;s>=Math.max(this.breakingSI+1,e-zt.SkipDeep);--s){const i=this.sample.notes[s];console.assert(i,"prevNote is null:",s,e,this.sample.notes),i.matches.forEach(e=>{const s=t.offset-e.offset;s<2/zt.LagOffsetCost&&s>-2/zt.LeadOffsetCost&&t.evaluatePrev(e)})}if(t.prior=t.totalCost>1.99?-1:t.priorByOffset(this.zeroNode.offset),t.prior>0&&this.outOfPage){const e=this.criterion.notes[t.ci].startTick;this.outOfPage(e)&&(t.prior-=.7)}}),t.matches.sort((e,t)=>t.prior-e.prior),this.cursors=t.matches;let s=null;const i=this.nullSteps(e),r=this.cursors[0];r&&r.totalCost<1&&(r.prior>0||r.totalCost<.4&&Math.log(Math.max(i*r.value,.001))>this.relocationThreshold)&&(this.zeroNode.offset=r.offset,s=r,(!this.bestNode||r.value>this.bestNode.value)&&(this.bestNode=r)),s?this.fineCursor=s:this.resetCursor(e,{breaking:!1})||(this.zeroNode.offset+=t.deltaSi*Math.tanh(i),console.assert(!Number.isNaN(this.zeroNode.offset),"zeroNode.offset is NaN.",t.deltaSi,i))}else this.cursors=[]}path({fromIndex:e=0,toIndex:t=this.sample.notes.length-1}={}){const s=[];let i=null;for(let r=t;r>=e;){const e=this.sample.notes[r];if(!e.matches.length||e.matches[0].prior<-.01||e.matches[0].totalCost>=1){s[r]=-1,--r;continue}null!=i&&(e.matches.forEach(e=>e.backPrior=e.totalCost<1.99?e.priorByOffset(i):-1),e.matches.sort((e,t)=>t.backPrior-e.backPrior));const t=e.matches[0];t.path.forEach((e,t)=>s[t]=e),i=t.root.offset,r=t.rootSi-1}return console.assert(s.length==t+1,"path length error:",s,e,t+1,this.sample.notes.length,this.sample.notes.length?this.sample.notes[this.sample.notes.length-1].index:null),s}nullSteps(e){return e-(this.fineCursor?this.fineCursor.si:-1)-1}resetCursor(e,{breaking:t=!0}={}){t&&(this.breakingSI=e);const s=this.getCursorOffset();return null!=s&&(this.zeroNode.offset=s,this.zeroNode.si=e,this.fineCursor=null,console.assert(!Number.isNaN(this.zeroNode.offset),"zeroNode.offset is NaN.",s),!0)}get relocationTendency(){const e=this.cursors&&this.cursors[0];if(!e)return null;const t=this.nullSteps(e.si);return t<=0?0:Math.log(Math.max(t*e.value,.001))/this.relocationThreshold}};const Wt=Vt,Ut=Gt,Yt=e=>Math.tanh(e/192),Xt=function(e,t,{softIndexFactor:s=1}={}){const i=e[t=Number(t)];if(t>0){const r=e[t-1];console.assert(null!=i.start,"note.start is null",i),console.assert(null!=r.start,"lastNote.start is null",r),i.deltaSi=Yt((i.start-r.start)*s),i.softIndex=r.softIndex+i.deltaSi,console.assert(!Number.isNaN(i.deltaSi),"note.deltaSi is NaN.",i.start,r.start)}else i.softIndex=0,i.deltaSi=0};var Kt={normalizeInterval:Yt,makeNoteSoftIndex:Xt,makeMatchNodes:function(e,t,s=Wt.zero()){e.matches=[];const i=t.pitchMap[e.pitch];if(i)for(const t of i){const i=new Wt(e,t);s&&i.evaluatePrev(s),e.matches.push(i)}},genNotationContext:function(e,{softIndexFactor:t=1}={}){for(let s=0;s"setTempo"==e.subtype)||(n.push({time:t,type:"meta",subtype:"timeSignature",numerator:4,denominator:4,thirtyseconds:8}),n.push({time:t,type:"meta",subtype:"setTempo",microsecondsPerBeat:e.microsecondsPerBeat}));let a=t||0;if(e.notes)for(const t of e.notes)n.push({time:t.start,type:"channel",subtype:"noteOn",channel:t.channel||0,noteNumber:t.pitch,velocity:t.velocity,finger:t.finger}),a=Math.max(a,t.start),Number.isFinite(s)&&(t.duration=t.duration||s),t.duration&&(n.push({time:t.start+t.duration,type:"channel",subtype:"noteOff",channel:t.channel||0,noteNumber:t.pitch,velocity:0}),a=Math.max(a,t.start+t.duration));if(e.events){const t=e.events.filter(e=>!Jt.includes(e.data.subtype));for(const e of t)n.push({time:e.time,...e.data}),a=Math.max(a,e.time)}return n.push({time:a+100,type:"meta",subtype:"endOfTrack"}),n.sort(function(e,t){return e.time-t.time}),n.map((e,t)=>({event:e,index:t})).filter(({event:e})=>"noteOn"==e.subtype&&null!=e.finger).reverse().forEach(({event:e,index:t})=>n.splice(t+1,0,{time:e.time,type:"meta",subtype:"text",text:`fingering(${e.finger})`})),n.forEach(e=>e.ticks=Math.round((e.time-t)*i)),n.forEach((e,t)=>e.deltaTime=e.ticks-(t>0?n[t-1].ticks:0)),{header:r,tracks:[n]}}var es={sliceMidi:(e,t,s)=>({header:e.header,tracks:e.tracks.map(e=>((e,t,s)=>{(e=>{let t=0;e.forEach(e=>{t+=e.deltaTime,e.tick=t})})(e);const i=[],r={};return e.forEach(e=>{e.tick>=t&&e.tick<=s&&"endOfTrack"!==e.subtype?i.push({...e,tick:e.tick-t}):e.ticki.push({...e,tick:0})),i.push({tick:s-t,type:"meta",subtype:"endOfTrack"}),(e=>{let t=0;e.sort((e,t)=>e.tick-t.tick).forEach(e=>{e.deltaTime=e.tick-t,t=e.tick})})(i),i})(e,t,s))}),encodeToMIDIData:Qt,encodeToMIDI:function(e,t){const s=Qt(e,t);return Zt.encodeMidiFile(s)}};var ts={MIDI:Ot,MusicNotation:Rt,MidiPlayer:Lt,Matcher:Kt,MidiUtils:es};const ss=["id","ids","pitch","velocity","track","channel","rest","tied","overlapped","implicitType","afterGrace","contextIndex","staffTrack","chordPosition","division"];class MetaNotation{static fromAbsoluteNotes(e,t,s){const i=new MetaNotation(s);return i.measures=Array(t.length).fill(null).map((s,i)=>{const r=t[i],n=t[i+1]?t[i+1]-r:0,a=e.filter(e=>e.measure===i+1).map(e=>({tick:e.startTick-r,duration:e.endTick-e.startTick,...v.default(e,ss),subNotes:[]}));return a.forEach(e=>["rest","tied","implicitType","afterGrace"].forEach(t=>{e[t]||delete e[t]})),{tick:r,duration:n,notes:a}}),i.idTrackMap=e.reduce((e,t)=>(t.id&&(e[t.id]=t.track),e),{}),i}static performAbsoluteNotes(e,{withRestTied:t=!1}={}){const s=e.filter(e=>(t||!e.rest&&!e.tied)&&!e.overlapped).map(e=>({measure:e.measure,channel:e.channel,track:e.track,start:e.start,startTick:e.startTick,endTick:e.endTick,pitch:e.pitch,duration:e.duration,velocity:e.velocity||127,id:e.id,ids:e.ids,staffTrack:e.staffTrack,contextIndex:e.contextIndex,implicitType:e.implicitType,chordPosition:e.chordPosition})).reduce((e,t)=>{const s=`${t.channel}|${t.start}|${t.pitch}`,i=e[s];return i?i.ids.push(...t.ids):e[s]=t,e},{});return Object.values(s)}constructor(e){this.ripe=!1,e&&Object.assign(this,e)}get trackTickBias(){const e=this.measures[0];return this.trackNames.reduce((t,s,i)=>{if(t[s]=0,e){const r=e.notes.find(e=>e.track===i);r&&(t[s]=Math.min(r.tick,0))}return t},{})}get idSet(){return this.measures.reduce((e,t)=>(t.notes.filter(e=>!e.rest).forEach(t=>t.ids.forEach(t=>e.add(t))),e),new Set)}toJSON(){return{__prototype:"LilyNotation",measures:this.measures,idTrackMap:this.idTrackMap,trackNames:this.trackNames,ripe:this.ripe}}toAbsoluteNotes(e){let t=0;const s=e.map(e=>{const s=this.measures[e-1];console.assert(!!s,"invalid measure index:",e,this.measures.length);const i=s.notes.map(s=>({startTick:t+s.tick,endTick:t+s.tick+s.duration,start:t+s.tick,duration:s.duration,measure:e,...v.default(s,ss)}));return t+=s.duration,i});return[].concat(...s)}toPerformingNotation(e,t={}){const s=this.toAbsoluteNotes(e),i=MetaNotation.performAbsoluteNotes(s,t),r=Math.max(...i.map(e=>e.start+e.duration)),n=e.reduce((e,t)=>e+this.measures[t-1].duration,0);return new ts.MusicNotation.Notation({ticksPerBeat:480,meta:{},tempos:[],channels:[i],endTime:r,endTick:n})}toPerformingMIDI(e,{trackList:t}={}){if(!e.length)return null;const s=-Math.min(0,...this.measures[0]?.events.map(e=>e.ticks)||[],...this.measures[0]?.notes.map(e=>e.tick)||[]);let i=s;const r=e.map(e=>{const t=this.measures[e-1];console.assert(!!t,"invalid measure index:",e,this.measures.length);const s=t.events.map(t=>({ticks:i+t.ticks,track:t.track,data:{...t.data,measure:e}}));return i+=t.duration,s}),n=e=>e.ticks+("noteOff"===e.subtype?-1e-8:0),a=[].concat(...r).reduce((e,t)=>(e[t.track]=e[t.track]||[],e[t.track].push({ticks:t.ticks,...t.data}),e),[]);a[0]=a[0]||[],i=s,e.map(e=>{const s=this.measures[e-1];console.assert(!!s,"invalid measure index:",e,this.measures.length),Number.isFinite(s.duration)&&(s.notes.forEach(s=>{if(t&&!t[s.track])return;if(s.rest)return;const r=i+s.tick,n=a[s.track]=a[s.track]||[];s.subNotes.forEach(t=>{n.push({ticks:r+t.startTick,measure:e,ids:s.ids,type:"channel",subtype:"noteOn",channel:s.channel,noteNumber:t.pitch,velocity:t.velocity,staffTrack:s.staffTrack,staff:s.staff}),n.push({ticks:r+t.endTick,measure:e,ids:s.ids,type:"channel",subtype:"noteOff",channel:s.channel,noteNumber:t.pitch,velocity:0,staffTrack:s.staffTrack,staff:s.staff})})}),i+=s.duration)});const o=i;for(let e=0;e{e.sort((e,t)=>n(e)-n(t));let t=0;e.forEach(e=>{e.deltaTime=e.ticks-t,Number.isFinite(e.deltaTime)?t=e.ticks:e.deltaTime=0}),e.push({deltaTime:Math.max(o-t,0),type:"meta",subtype:"endOfTrack"})}),{header:{formatType:0,ticksPerBeat:480},tracks:a,zeroTick:s}}toPerformingNotationWithEvents(e,t={}){if(!e.length)return null;const{zeroTick:s,...i}=this.toPerformingMIDI(e,t),r=ts.MusicNotation.Notation.parseMidi(i);is(r);let n=s;return r.measures=e.map(e=>{const t=n;return n+=this.measures[e-1].duration,{index:e,startTick:t,endTick:n}}),r}setTempo(e){let t=!1;for(const s of this.measures)for(const i of s.events)"setTempo"===i.data.subtype&&(i.data.microsecondsPerBeat=6e7/e,t=!0);return t}}const is=(e,t=["ids","measure","staffTrack"])=>{const s=(e,t,s)=>`${e}|${t}|${s}`,i=e.notes.reduce((e,t)=>(e[s(t.channel,t.pitch,t.startTick)]=t,e),{});e.events.forEach(e=>{if("noteOn"===e.data.subtype){const r=s(e.data.channel,e.data.noteNumber,e.ticks),n=i[r];console.assert(!!n,"cannot find note of",r),n&&Object.assign(n,v.default(e.data,t))}})};var rs,ns={exports:{}},as={exports:{}};as.exports=rs=rs||function(e,t){var s;if("undefined"!=typeof window&&window.crypto&&(s=window.crypto),"undefined"!=typeof self&&self.crypto&&(s=self.crypto),"undefined"!=typeof globalThis&&globalThis.crypto&&(s=globalThis.crypto),!s&&"undefined"!=typeof window&&window.msCrypto&&(s=window.msCrypto),!s&&"undefined"!=typeof global&&global.crypto&&(s=global.crypto),!s)try{s=require("crypto")}catch(e){}var i=function(){if(s){if("function"==typeof s.getRandomValues)try{return s.getRandomValues(new Uint32Array(1))[0]}catch(e){}if("function"==typeof s.randomBytes)try{return s.randomBytes(4).readInt32LE()}catch(e){}}throw new Error("Native crypto module could not be used to get secure random number.")},r=Object.create||function(){function e(){}return function(t){var s;return e.prototype=t,s=new e,e.prototype=null,s}}(),n={},a=n.lib={},o=a.Base={extend:function(e){var t=r(this);return e&&t.mixIn(e),t.hasOwnProperty("init")&&this.init!==t.init||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},c=a.WordArray=o.extend({init:function(e,s){e=this.words=e||[],this.sigBytes=s!=t?s:4*e.length},toString:function(e){return(e||u).stringify(this)},concat:function(e){var t=this.words,s=e.words,i=this.sigBytes,r=e.sigBytes;if(this.clamp(),i%4)for(var n=0;n>>2]>>>24-n%4*8&255;t[i+n>>>2]|=a<<24-(i+n)%4*8}else for(var o=0;o>>2]=s[o>>>2];return this.sigBytes+=r,this},clamp:function(){var t=this.words,s=this.sigBytes;t[s>>>2]&=4294967295<<32-s%4*8,t.length=e.ceil(s/4)},clone:function(){var e=o.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],s=0;s>>2]>>>24-r%4*8&255;i.push((n>>>4).toString(16)),i.push((15&n).toString(16))}return i.join("")},parse:function(e){for(var t=e.length,s=[],i=0;i>>3]|=parseInt(e.substr(i,2),16)<<24-i%8*4;return new c.init(s,t/2)}},h=l.Latin1={stringify:function(e){for(var t=e.words,s=e.sigBytes,i=[],r=0;r>>2]>>>24-r%4*8&255;i.push(String.fromCharCode(n))}return i.join("")},parse:function(e){for(var t=e.length,s=[],i=0;i>>2]|=(255&e.charCodeAt(i))<<24-i%4*8;return new c.init(s,t)}},m=l.Utf8={stringify:function(e){try{return decodeURIComponent(escape(h.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return h.parse(unescape(encodeURIComponent(e)))}},f=a.BufferedBlockAlgorithm=o.extend({reset:function(){this._data=new c.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=m.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var s,i=this._data,r=i.words,n=i.sigBytes,a=this.blockSize,o=n/(4*a),l=(o=t?e.ceil(o):e.max((0|o)-this._minBufferSize,0))*a,u=e.min(4*l,n);if(l){for(var h=0;h>>7)^(d<<14|d>>>18)^d>>>3,g=l[f-2],y=(g<<15|g>>>17)^(g<<13|g>>>19)^g>>>10;l[f]=p+l[f-7]+y+l[f-16]}var v=i&r^i&n^r&n,x=(i<<30|i>>>2)^(i<<19|i>>>13)^(i<<10|i>>>22),S=m+((o<<26|o>>>6)^(o<<21|o>>>11)^(o<<7|o>>>25))+(o&u^~o&h)+c[f]+l[f];m=h,h=u,u=o,o=a+S|0,a=n,n=r,r=i,i=S+(x+v)|0}s[0]=s[0]+i|0,s[1]=s[1]+r|0,s[2]=s[2]+n|0,s[3]=s[3]+a|0,s[4]=s[4]+o|0,s[5]=s[5]+u|0,s[6]=s[6]+h|0,s[7]=s[7]+m|0},_doFinalize:function(){var e=this._data,s=e.words,i=8*this._nDataBytes,r=8*e.sigBytes;return s[r>>>5]|=128<<24-r%32,s[14+(r+64>>>9<<4)]=t.floor(i/4294967296),s[15+(r+64>>>9<<4)]=i,e.sigBytes=4*s.length,this._process(),this._hash},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}});s.SHA256=n._createHelper(u),s.HmacSHA256=n._createHmacHelper(u)}(Math),e.SHA256}(as.exports);var os=ns.exports;class HashVector{static fromHash(e){const t=[];for(const s of e)for(let e=0;e<8;++e)t.push(s>>e&1?1:-1);return new HashVector(t)}static fromString(e){const t=(e=>{const{words:t,sigBytes:s}=os(e),i=t.map(e=>e<0?e+4294967296:e),r=s/t.length;return new Uint8Array(s).map((e,t)=>i[Math.floor(t/r)]>>8*(3-t%r)&255)})(e);return HashVector.fromHash(t)}static fromWords(e){return e.map(e=>HashVector.fromString(e)).reduce((e,t)=>e.add(t),HashVector.zero)}static concat(...e){const t=e.map(e=>e.fields).flat(1);return new HashVector(t)}constructor(e=null){this.fields=e||Array(256).fill(0)}get length(){return this.fields.length}toHash(){return Uint8Array.from(Array(this.length/8).fill(0).map((e,t)=>this.fields.slice(8*t,8*(t+1)).reduce((e,t,s)=>e|(t>0?1:0)<this.fields[s]=t+e.fields[s]),this}scale(e){return this.fields=this.fields.map(t=>t*e),this}sub(e){const t=e>0?this.fields.slice(0,e):this.fields.slice(e);return new HashVector(t)}static get zero(){return new HashVector}}const cs=Array(256).fill(0).map((e,t)=>(e=>{let t=0;for(let s=e;s>0;s>>=1)s%2&&++t;return t})(t));cs.reduce((e,t,s)=>({...e,[("0"+s.toString(16)).slice(-2)]:t}),{});const ls=(e,t)=>{const s=8*e.length,i=((e,t)=>e.map((e,s)=>e^t[s]))(e,t);return(s-2*i.reduce((e,t)=>e+cs[t],0))/s},us=e=>("0"+e.toString(16)).slice(-2);var hs={Matrix:function(){}};hs.Matrix.create=function(e){return(new hs.Matrix).setElements(e)},hs.Matrix.I=function(e){for(var t,s=[],i=e;i--;)for(t=e,s[i]=[];t--;)s[i][t]=i===t?1:0;return hs.Matrix.create(s)},hs.Matrix.prototype={dup:function(){return hs.Matrix.create(this.elements)},isSquare:function(){var e=0===this.elements.length?0:this.elements[0].length;return this.elements.length===e},toRightTriangular:function(){if(0===this.elements.length)return hs.Matrix.create([]);var e,t,s,i,r=this.dup(),n=this.elements.length,a=this.elements[0].length;for(t=0;t=n&&l[a].push(r);for(o.elements[a]=s,e=a;e--;){for(s=[],t=0;t1===e?null:(e=>{const t=Math.round(1920*e);return Oe(t,1920)})(e);var ds,ps,gs;!function(e){e[e.PLACE=0]="PLACE",e[e.VERTICAL=1]="VERTICAL",e[e.HORIZONTAL=2]="HORIZONTAL"}(ds||(ds={}));class Action{constructor(e){Object.assign(this,e)}static P(e){return new Action({type:ds.PLACE,e1:e})}static V(e,t,s=1){return new Action({type:ds.VERTICAL,e1:s>0?e:t,e2:s>0?t:e})}static H(e,t){return new Action({type:ds.HORIZONTAL,e1:e,e2:t})}get id(){switch(this.type){case ds.PLACE:return this.e1.toString();case ds.VERTICAL:return`${this.e1}|${this.e2}`;case ds.HORIZONTAL:return`${this.e1}-${this.e2>=0?this.e2:"."}`}}get events(){return[this.e1,this.e2].filter(Number.isFinite)}}class StageMatrix{static fromNode(e,t){const s=Array(e.stages.length).fill(null).map(()=>Array(e.stages.length).fill(null).map(()=>new Set));e.actions.filter(e=>e.type===ds.HORIZONTAL).forEach(t=>{const i=e.stages.findIndex(e=>e.events.includes(t.e1)),r=e.stages.findIndex(e=>e.events.includes(t.e2));console.assert(i>=0&&r>=0,"invalid stages for H action:",e.id,e.stages,t),s[i][r].add(t.e1)}),s[0][e.stages.length-1].add(0);const i=e.stagedEvents,r=t.matrixH[t.matrixH.length-1].filter((e,t)=>!i.has(t)),n=Math.max(0,Math.max(...r)-.01),a=e.actions.filter(e=>e.type===ds.HORIZONTAL),o=Object.keys(t.eventMap).map(Number).filter(e=>!a.find(t=>t.e2===e));return e.stages.forEach(i=>{i.events.forEach(r=>{if(r>0){!a.find(e=>e.e1===r)&&t.matrixH[t.matrixH.length-1][r]>=n&&(o.some(e=>t.matrixH[e][r]>0)||s[i.index][e.stages.length-1].add(r))}})}),new StageMatrix({matrix:s})}constructor(e){Object.assign(this,e)}pathOf(e,t,s,i=0){if(this.matrix[e][t].size){const r=[...this.matrix[e][t]][i];if(t===s)return[r];for(let e=t+1;e<=s;++e){const i=this.pathOf(t,e,s);if(i)return[r,...i]}}return null}findDoublePath(e,t){const s=[];for(let i=t;i>=e+1;--i)for(let r=0;rt.forEach(t=>e.forEach(e=>t.delete(e))))}toEquations(e){const t=[];for(let s=1;sn[e]=1),r.forEach(e=>n[e]=-1),t.push(n),this.reducePath(i.length>r.length?i:r)}}}return t}}class PathNode{constructor(e){Object.assign(this,e),console.assert(this.logger,"logger is null:",e)}get actions(){const e=this.parent?this.parent.actions:[];return this.action?[...e,this.action]:e}get id(){return this.actions.map(e=>e.id).sort().join(" ")}get stagedEvents(){const e=new Set;return this.stages&&this.stages.forEach(t=>t.events.forEach(t=>t>=0&&e.add(t))),e}like(e){return e.split(" ").sort().join(" ")===this.id}constructStages(e){this.stages=[{events:[-1]}];for(const t of this.actions)switch(t.type){case ds.PLACE:this.stages.unshift({events:[t.e1]});break;case ds.VERTICAL:{const e=this.stages.find(e=>e.events.includes(t.e1)),s=this.stages.find(e=>e.events.includes(t.e2));console.assert(e||s,"invalid V action:",this.stages,t),e&&s?(e.events.push(...s.events),s.events=null,this.stages=this.stages.filter(e=>e.events)):e?s||e.events.push(t.e2):s.events.unshift(t.e1)}break;case ds.HORIZONTAL:{const s=this.stages.find(e=>e.events.includes(t.e1)),i=this.stages.find(e=>e.events.includes(t.e2));console.assert(s||i,"invalid H action:",this.stages,t);const r=s=>{console.assert(e.eventMap[s],"invalid event id:",t.id,s,e.eventMap);const i=e.eventMap[s].x,r=this.stages.find(t=>t.events.some(t=>t>0&&e.eventMap[t].x<=i)&&t.events.some(t=>t>0&&e.eventMap[t].x>=i));if(r)r.events.push(s);else{const t={events:[s]},r=this.stages.findIndex(t=>-1===t.events[0]||e.eventMap[t.events[0]].x>=i);this.stages.splice(r,0,t)}};s||r(t.e1),i||r(t.e2)}}this.stages.forEach((e,t)=>e.index=t)}constructConstraints(e){const t=Object.keys(e.eventMap).length,s=StageMatrix.fromNode(this,e).toEquations(t),i=Array(t).fill(null).map((t,s)=>e.eventMap[s].duration);this.constraints=s.map(e=>e.map((e,t)=>e*i[t]))}inbalancesConstraints(e){console.assert(this.constraints,"constraints not constructed.");const t=Object.keys(e.eventMap).length,s=Array(t).fill(!0),i=Array(t).fill(!1),r=[];for(const e of this.constraints){const t=e.reduce((e,t)=>e+t,0);if(0!==t){const n=t<0?e.map(e=>-e):e;if(n[0]>0)continue;r.push(n),n.forEach((e,t)=>{i[t]=i[t]||e<0,e&&(s[t]=e<0||i[t])})}}return this.constraints.forEach(e=>{0!==e.reduce((e,t)=>e+t,0)||e[0]||e.some((e,t)=>e&&!s[t])&&(e.forEach((e,t)=>e&&(s[t]=!1)),r.push(e))}),{ones:s,inbalances:r}}solveEquations({ones:e,inbalances:t}){if(!t.length)return e.map(()=>1);const s=e.map((e,t)=>({fixed:e,i:t})).filter(({fixed:e})=>!e).map(({i:e})=>e).filter(e=>t.some(t=>0!==t[e]));if(!s.length)return e.map(()=>1);const i=s.map(e=>Math.abs(t.find(t=>0!==t[e])[e])),r=new Map;let n=!1;const a=t.map(e=>({line:e.filter((e,t)=>s.includes(t)),bias:-e.reduce((e,t,i)=>e+(s.includes(i)?0:t),0)})).filter(({line:e,bias:t})=>{if(e.every(e=>0===e))return!1;const s=e.join(",");return r.has(s)?(n=r.get(s)!==t,!1):(r.set(s,t),!0)});if(n)return null;const o=a.slice(0,s.length),c=a.slice(s.length);if(o.lengths===t?1:s===r?-1:0),bias:0,prior:(i[t]+i[r])/ms};o.some(e=>e.line[t]&&e.line[r])&&(n.prior-=10),o.some(e=>1===e.line.filter(Number).length&&(e.line[t]||e.line[r]))&&(n.prior+=1),e.push(n)}e.sort((e,t)=>e.prior-t.prior),o.push(...e.slice(0,s.length-o.length))}const l=o.map(({line:e})=>e),u=o.map(({bias:e})=>e),h=function(e){const t=hs.Matrix.create(e).inverse();return null!==t?t.elements:null}(l);if(!h)return this.logger.warn("null invert:",l),null;const m=h.map(e=>e.reduce((e,t,s)=>e+t*u[s],0));if(c.length&&c.some(e=>Math.abs(e.line.reduce((e,t,s)=>e+t*m[s],0))>.001))return null;const f=e.map(()=>1);return s.forEach((e,t)=>f[e]=m[t]),f}optimallySolve(e){const{ones:t,inbalances:s}=this.inbalancesConstraints(e),i=t.map((t,s)=>t?-1:Ne(e.eventMap[s].shrinkness,.01)).reduce((e,t,s)=>(t>=0&&(e[t]=e[t]||[],e[t].push(s)),e),{}),r=Object.entries(i).sort((e,t)=>Number(t[0])-Number(e[0])).map(e=>e[1]);for(let i=1;i!n.includes(t)),o=this.solveEquations({ones:a,inbalances:s});if(o&&o.every((t,s)=>t<=1&&t>e.eventMap[s].lowWarp))return o}return this.solveEquations({ones:t,inbalances:s})}isConflicted(e){const{ones:t,inbalances:s}=this.inbalancesConstraints(e);for(const i of s){if(i.reduce((s,i,r)=>s+i*(t[r]||i<=0?1:e.eventMap[r].lowWarp),0)>=0)return i.forEach((t,s)=>{t&&(e.eventTendencies[s]+=t>0?1:-1)}),!0}if(!s.length)return!1;const i=this.solveEquations({ones:t,inbalances:s});return!i||!i.every((t,s)=>t>e.eventMap[s].lowWarp&&t<=1)}getSolution(e){const t=t=>e.eventMap[t.e2]?e.eventMap[t.e2].x+.06*Math.abs(e.eventMap[t.e2].x-e.eventMap[t.e1].x):e.eventMap[t.e1].x+1e4,s=this.actions.filter(e=>e.type===ds.HORIZONTAL).sort((e,s)=>t(e)-t(s)),i=s.reduce((e,t)=>({...e,[t.e1]:t.e2}),{}),r=new Set([...Object.keys(i)].map(Number));s.forEach(e=>r.delete(e.e2)),this.stages[0].events.forEach(e=>e>0&&r.add(e));let n=[...r].map(e=>{const t=[e];let s=e;for(;i[s]&&(s=i[s],!(s<0||t.includes(s)));)t.push(s);return t});const a=Object.values(e.eventMap).filter(e=>e.id>0).map(e=>({id:e.id,tick:null,endTick:null,tickGroup:null,timeWarp:null})),o=a.filter(e=>n.some(t=>t.includes(e.id))||s.some(t=>[t.e1,t.e2].includes(e.id))).reduce((e,t)=>({...e,[t.id]:t}),{});this.stages.forEach((e,t)=>e.events.forEach(e=>o[e]&&(o[e].tickGroup=t))),this.stages[0].tick=0,this.stages[0].events.forEach(e=>o[e]&&(o[e].tick=0));const c=this.optimallySolve(e);a.forEach(e=>e.timeWarp=fs(c[e.id]));const l=this.stages.slice(0,this.stages.length-1),u=()=>{if(l.every(e=>Number.isFinite(e.tick)))return!1;let t=!1;return s.forEach(s=>{const i=this.stages.find(e=>e.events.includes(s.e1)),r=this.stages.find(e=>e.events.includes(s.e2));Number.isFinite(i.tick)&&!Number.isFinite(r.tick)&&(r.tick=i.tick+Ae(e.eventMap[s.e1].duration,o[s.e1].timeWarp),r.events.forEach(e=>o[e]&&(o[e].tick=r.tick)),t=!0)}),[...s].reverse().forEach(s=>{const i=this.stages.find(e=>e.events.includes(s.e1)),r=this.stages.find(e=>e.events.includes(s.e2));!Number.isFinite(i.tick)&&Number.isFinite(r.tick)&&(i.tick=r.tick-Ae(e.eventMap[s.e1].duration,o[s.e1].timeWarp),i.events.forEach(e=>o[e]&&(o[e].tick=i.tick)),t=!0)}),t};for(;u(););console.assert(l.every(e=>Number.isFinite(e.tick)),"stage ticks not all solved:",this.stages,this.id),a.filter(e=>Number.isFinite(e.tick)).forEach(t=>t.endTick=t.tick+Ae(e.eventMap[t.id].duration,t.timeWarp));const h=e.eventMap[0].duration;n.forEach(e=>{const t=e.findIndex(e=>o[e].endTick>h);if(t>=0){e.splice(t,e.length-t).forEach(e=>{o[e].tick=null,o[e].endTick=null})}}),n=n.filter(e=>e.length);const m=Math.max(0,...a.map(e=>e.endTick).filter(Number.isFinite));return this.logger.debug(String.fromCodePoint(127822),this.id,c),{voices:n,events:a,duration:m,actions:this.actions.map(e=>e.id).join(" ")}}deduce(e,t){this.stages||this.constructStages(e);const s=e.actionAccessing.get(this.id)||{times:0};if(++s.times,e.actionAccessing.set(this.id,s),this.constructConstraints(e),this.isConflicted(e))return s.closed=!0,this.logger.info(this.action.id,"❌"),null;if(this.logger.group(this.action&&this.action.id),t.credits>0){if(--t.credits,this.children||this.expand(e),this.children=this.children.filter(t=>!e.actionAccessing.get(t.id)||!e.actionAccessing.get(t.id).closed),this.children.length){const s=t=>t.possibility/((e.actionAccessing.get(t.id)||{times:0}).times+1);this.children.sort((e,t)=>s(t)-s(e));for(const s of this.children){const i=s.deduce(e,t);if(i)return this.logger.groupEnd(),i;if(t.credits<=0)break}}}else this.logger.debug("quota exhausted.");return this.logger.groupEnd(),s.closed=!0,this.getSolution(e)}expand(e){this.constructStages(e);const{eventMap:t,matrixV:s,matrixH:i}=e,r=this.stagedEvents,n=[],a=e=>{if(!this.actions.some(t=>t.id===e.action.id)&&!n.some(t=>t.action.id===e.action.id)){const t=this.stages.find(t=>t.events.includes(e.action.e1)),i=this.stages.find(t=>t.events.includes(e.action.e2));if(t===i||t&&i&&t.index>=i.index)return;if(t&&i)if(e.action.type===ds.VERTICAL){if(i.index-t.index>1)return;if(this.actions.some(e=>t.events.includes(e.e1)&&i.events.includes(e.e2)))return}else if(e.action.type===ds.HORIZONTAL&&t.index>i.index)return;if(e.action.type===ds.HORIZONTAL&&this.actions.some(t=>t.type===ds.HORIZONTAL&&(t.e1===e.action.e1||t.e2===e.action.e2||t.e1===e.action.e2&&t.e2===e.action.e1)))return;if(e.action.type===ds.VERTICAL){if(t&&(e.possibility=Math.min(e.possibility,...t.events.map(t=>s[e.action.e2][t])),e.possibility<=0))return;if(i&&(e.possibility=Math.min(e.possibility,...i.events.map(t=>s[t][e.action.e1])),e.possibility<=0))return}n.push(e)}};for(const e of r)e<0||(s[e].forEach((t,s)=>{t>0&&e!==s&&a({action:Action.V(s,e),possibility:t})}),s.forEach((t,s)=>{const i=t[e];i>0&&a({action:Action.V(e,s),possibility:i})}),i[e].forEach((t,s)=>{t>0&&a({action:Action.H(s,e),possibility:t})}),i.forEach((s,i)=>{i=i>=Object.keys(t).length?-1:i;const r=s[e];r>0&&a({action:Action.H(e,i),possibility:r})}));n.some(e=>[ds.HORIZONTAL,ds.PLACE].includes(e.action.type)||!r.has(e.action.e1)||!r.has(e.action.e2))?this.children=n.map(e=>new PathNode({logger:this.logger,parent:this,...e})):this.children=[]}}class Solver{constructor(e,{quota:t=1e3,logger:s=new DummyLogger}={}){this.quota=t,this.logger=s;const i={id:0,x:0,confidence:1,shrinkness:e.measureShrinkness,duration:e.expectedDuration,lowWarp:0};this.events=[i,...e.events.map(e=>({id:e.id,x:e.x,confidence:e.confidence,shrinkness:e.shrinkness,staff:e.staff,duration:e.duration,lowWarp:.5}))],this.eventMap=this.events.reduce((e,t)=>({...e,[t.id]:t}),{}),this.matrixH=e.matrixH,this.matrixV=e.matrixV,this.xSpan=e.endX-Math.min(e.endX-1,...e.events.map(e=>e.x)),this.actionAccessing=new Map}solve(){this.pathRoot=new PathNode({logger:this.logger,action:null}),this.pathRoot.children=this.events.slice(1).map(e=>new PathNode({logger:this.logger,parent:this.pathRoot,action:Action.P(e.id),possibility:this.matrixV[e.id].reduce((e,t)=>e+t,0)}));let e=null;this.logger.groupCollapsed("solve");const t=Array(this.events.length).fill(0),s={credits:this.quota,times:0};for(;s.credits>0;){++s.times;const i={eventMap:this.eventMap,matrixH:this.matrixH,matrixV:this.matrixV,actionAccessing:this.actionAccessing,eventTendencies:t},r=this.pathRoot.deduce(i,s);if(r.credits=this.quota-s.credits,r.times=s.times,this.evaluateSolution(r),this.logger.debug("loss:",r.loss),e=!e||r.losse/s.times)),e}evaluateSolution(e){e.loss=0;const t=e.events.reduce((e,t)=>({...e,[t.id]:{...t,...this.eventMap[t.id]}}),{}),s=e.events.filter(e=>Number.isFinite(e.tick)).map(e=>t[e.id]),i=s.reduce((e,t)=>(e[t.staff]=e[t.staff]||[],e[t.staff].push(t),e),{});Object.values(i).forEach(t=>{t.sort((e,t)=>e.x-t.x).slice(0,t.length-1).forEach((s,i)=>{t[i+1].tick{if(Number.isFinite(s.tick)&&!e.voices.every(e=>!e.includes(s.id))||(e.loss+=100*t[s.id].confidence),s.timeWarp){const{numerator:e,denominator:i}=s.timeWarp,n=t[s.id].shrinkness;r.set(e,Math.max(r.get(e)||0,1-n)),r.set(i,Math.max(r.get(i)||0,1-n))}});const n=Oe(e.duration,this.eventMap[0].duration);r.set(n.numerator,Math.max(r.get(n.numerator)||0,1-this.eventMap[0].shrinkness)),r.set(n.denominator,Math.max(r.get(n.denominator)||0,1-this.eventMap[0].shrinkness));for(const[t,s]of r.entries())t>1&&(e.loss+=Math.log(t)*s);let a=0,o=0;e.voices.forEach(s=>{console.assert(t[s[0]],"invalid voice:",s,Object.keys(t));const i=Math.abs(t[s[0]].tick),r=t[s[s.length-1]].endTick;a+=Math.max(0,i+e.duration-r);let n=null;s.forEach(e=>{const s=t[e];s.staff!==n&&(null!==n&&++o,n=s.staff)})}),e.loss+=10*a/ms,e.loss+=5**o-1;const c=[...s].sort((e,t)=>e.x-t.x),l=c.slice(1).map((t,s)=>{const i=c[s],r=t.x-i.x,n=t.tick-i.tick;if(!n)return r/this.xSpan;return(4*Math.atan2(n/e.duration,r/this.xSpan)/Math.PI-1)**2}),u=Math.max(...l,0);e.loss+=u**2,console.assert(e.loss>=0,"Invalid solution loss!!!",e.loss,r,a,o),e.loss<0&&(e.loss=1/0)}}class PatchMeasure extends SimpleClass{constructor(e){super(),Object.assign(this,e)}get staffN(){return Math.floor(Math.log2(this.staffMask))+1}get basics(){return Array(this.staffN).fill(this.basic)}get duration(){return Math.max(0,...this.voices.map(e=>e.map(e=>this.events.find(t=>t.id===e)).reduce((e,t)=>e+t.duration,0)))}}PatchMeasure.className="PatchMeasure",function(e){e[e.PAD=0]="PAD",e[e.BOS=1]="BOS",e[e.EOS=2]="EOS",e[e.CHORD=3]="CHORD",e[e.REST=4]="REST"}(ps||(ps={}));class EventCluster extends SimpleClass{constructor(e){super(),super.assign(e)}get regular(){return this.elements.some(e=>[ps.CHORD,ps.REST].includes(e.type)&&!e.fake)&&this.elements.every(e=>[e.x,e.y1,e.y2,e.tick].every(Number.isFinite))&&this.elements.slice(1).every((e,t)=>e.fake||this.elements[t].fake||e.grace||this.elements[t].grace||e.fullMeasure||this.elements[t].fullMeasure||e.tick<=this.elements[t].tick||e.x>this.elements[t].x)}get grant(){return this.annotation&&this.annotation.grant}get feature(){return{index:this.index,elements:this.elements}}get estimatedDuration(){const e=this.elements.find(e=>e.type===ps.EOS),t=e?.predisposition?e.predisposition?.tick:e?.tick;return Number.isFinite(t)?t:this.duration}assignPrediction(e){console.assert(e.index===this.index,"index mismatch:",e.index,this.index),this.matrixH=e.matrixH,e.elements.forEach(e=>{const{index:t,...s}=e,i=this.elements.find(e=>e.index===t);console.assert(i,"element not found:",t),i&&(i.predisposition=s)})}}EventCluster.className="EventCluster",EventCluster.blackKeys=["id"];class EventClusterSet extends SimpleClass{constructor(e){super(),super.assign(e)}trimIrregular(){let e=0;return this.clusters=this.clusters.filter(t=>{const s=t.regular;return s||(console.debug("irregular cluster:",t),++e),s}),e?console.debug("Irregular clusters trimmed:",`${e}/${this.clusters.length+e}`):console.debug(`The EventClusterSet (${this.clusters.length}) is fine.`),e}}EventClusterSet.className="EventClusterSet",function(e){e.computeMeasureTicks=e=>{const t=(e=>{const t=new Map;return e.rows.forEach(e=>{if(1===e.events.length){const t=e.events[0];t.rest&&0===t.division&&(t.rest="R")}}),e.events.forEach(e=>{const s=Math.round(10*e.pivotX)/10;let i=0;i=e.fullMeasureRest?Math.min(s,...t.keys()):[...t.keys()].find(s=>{const i=t.get(s),r=Math.min(...i.map(e=>e.left)),n=Math.max(...i.map(e=>e.right));return Math.min(n,e.right)-Math.max(r,e.left)>.62*w.NoteheadS1})||s,e.roundX=i;const r=t.get(i)||[];t.set(i,r),r.push(e)}),t})(e);let s=0;const i=new Set([s]),r=[...t.entries()].sort(([e],[t])=>e-t);for(const[e,t]of r)t.forEach(e=>{e.predisposition&&(e.rest=e.rest&&e.predisposition.fullMeasure>.5?"R":e.rest,e.grace=e.predisposition.grace?Ve.Grace:null,e.division=$e(e.predisposition.divisionVector),e.dots=$e(e.predisposition.dotsVector),e.predisposition.timeWarped>.5&&(e.timeWarp=_e(2,3))),e.fullMeasureRest?e.tick=0:(e.zeroHolder&&(s-=e.duration),!e.zeroHolder&&e.predisposition&&Number.isInteger(e.predisposition.tick)?e.tick=e.predisposition.tick:e.tick=s,i.add(e.tick+e.duration))}),i.delete(s),i.size&&(s=Math.min(...i));Number.isInteger(e.estimatedDuration)?e.duration=e.estimatedDuration:e.duration=Math.max(...i,0)},e.computeMeasureVoices=e=>{e.voices=[];for(const t of e.rows){const s=t.events.filter(e=>!(e.grace||e.tremoloCatcher||e.fullMeasureRest||e.predisposition&&e.predisposition.fake>.5)),i=new Set(s);for(;i.size;){let t=0;const r=[],n=e=>{r.push(e.id),e.zeroHolder||(t+=e.duration),i.delete(e)},a=s.find(e=>i.has(e));for(a.alignedTick>0&&(t=a.alignedTick),n(a);;){const e=s.find(e=>i.has(e)&&e.alignedTick===t);if(!e)break;n(e)}e.voices.push(r)}}}}(gs||(gs={}));var ys;!function(e){const t=1921920,s=.7071067811865475,i=[[null,null],[null,ze.Open],[ze.Open,ze.Continue],[ze.Open,ze.Close],[ze.Continue,ze.Continue],[ze.Continue,ze.Close],[ze.Close,null],[ze.Close,ze.Open]].map(e=>e.join("-")),r=(e,t)=>{if(!e.events.length)return{events:[],voices:[],duration:0};return new Solver(e,t).solve()};e.estiamteMeasure=e=>{const r=e.events.filter(e=>!e.zeroHolder).map(s=>({id:s.id,staff:s.staff,x:s.x,tickEstimated:s.predisposition&&Number.isFinite(s.predisposition.tick)?s.predisposition.tick:s.x,tipX:s.tipX,y:s.tipY+100*s.staff,duration:s.mainDuration*t/je,division:s.division,dots:s.dots,stemDirection:s.stemDirection,beam:s.beam,rest:s.rest,pR:"R"===s.rest?1:"r"===s.rest&&0===s.division?Math.tanh(s.x-e.eventStartX):0,fakeP:s.predisposition&&s.predisposition.fakeP||0,shrinkness:s.predisposition?s.predisposition.timeWarped:null}));let n=t*e.timeSignature.numerator/e.timeSignature.denominator;Number.isFinite(e.estimatedDuration)&&(n=Math.max(n,Ne(e.estimatedDuration,480480)));const a=e.staffGroups.reduce((e,t,s)=>(t.forEach(t=>e[t]=s),e),{}),o=[0,...r.map(e=>e.id)],c=r.map(t=>({...t,id:o.indexOf(t.id),x:t.x-e.startX,confidence:(1-t.pR)*(1-t.fakeP),shrinkness:Number.isFinite(t.shrinkness)?t.shrinkness:Math.tanh((t.division-.1*t.dots)/4),staffGroup:a[t.staff]})),l=Array(o.length+1).fill(null).map(()=>Array(o.length).fill(0)),u=Array(o.length).fill(null).map(()=>Array(o.length).fill(0)),h=e=>S.default(e/1.6)*S.default(1.6/e);for(const t of c){for(const e of c){if(u[t.id][e.id]=t!==e&&t.tickEstimated>=e.tickEstimated?1-S.default((t.tickEstimated-e.tickEstimated)*s/.6):0,t.staffGroup!==e.staffGroup)l[t.id][e.id]=0;else if(t.x<=e.x)l[t.id][e.id]=0;else{const s=Math.exp(2*-Math.abs(t.staff-e.staff)),i=t.staff===e.staff?Math.exp(-Math.abs(t.y-e.y)/16):1,r=t.x-e.x,n=t.tipX-e.tipX;l[t.id][e.id]=(s*i*Math.min(h(r),h(n)))**(1/3)}const r=(1-t.pR)*(1-e.pR);u[t.id][e.id]*=r,l[t.id][e.id]*=r,u[t.id][e.id]<.01&&(u[t.id][e.id]=0),t.stemDirection&&e.stemDirection&&t.stemDirection!==e.stemDirection&&(l[t.id][e.id]*=.9),t.rest||e.rest||i.includes([e.beam,t.beam].join("-"))||(l[t.id][e.id]*=.2)}l[o.length][t.id]=h(e.width-t.x)**(1/3)}return{ids:o,events:c,expectedDuration:n,measureShrinkness:0,endX:e.position.right,matrixH:l,matrixV:u}},e.regulateMeasure=async(s,{solver:i=null,...n})=>{const a=e.estiamteMeasure(s),{ids:o,matrixH:c,matrixV:l}=a;if(s.matrixH){console.assert(s.matrixH.length>o[o.length-1]&&s.matrixH[0].length>o[o.length-1],"matrix shape mismatch:",o.length,`${s.matrixH.length}x${s.matrixH[0].length}`,`${c.length}x${c[0].length}`);for(let e=0;ee.forEach((e,i)=>{const r=s.matrixV[o[t]][o[i]];Number.isFinite(r)&&(l[t][i]=r)})),Number.isFinite(s.estimatedDuration)&&(a.measureShrinkness=Math.tanh(-3*Math.log(Math.min(1,s.estimatedDuration/s.duration)))),n.logger&&n.logger.info("--- MEASURE",s.measureIndex,"---",a);const u=i?await i(a,n):r(a,n),h=u.events.map(e=>({...e,id:a.ids[e.id]}));h.forEach(e=>{const i=s.events.find(t=>t.id===e.id);i.tick=Number.isFinite(e.tick)?Math.round(e.tick*je/t):null,i.tickGroup=e.tickGroup,i.timeWarp=e.timeWarp}),s.duration=Math.round(u.duration*je/t),s.voices=u.voices.map(e=>e.map(e=>a.ids[e])),s.solutionStat={loss:u.loss,solverCredits:u.credits,solverTimes:u.times},s.events.forEach(e=>{const t=h.find(t=>t.id===e.id);t&&(Number.isFinite(t.tick)||"r"!==e.rest||0!==e.division?"R"===e.rest&&(e.tick=0,e.tickGroup=0,e.duration=s.duration,s.voices.push([e.id])):(e.tick=0,e.tickGroup=0,e.rest="R",e.duration=s.duration,s.voices.push([e.id])))})},e.regulateMeasureWithRectification=async(e,i,{solver:n=null,...a})=>{const o=e.events.filter(e=>!e.zeroHolder).map(s=>{const r=i.events.find(e=>e&&e.id===s.id),n=Number.isFinite(r?.division)?r.division:s.division,a=Number.isFinite(r?.dots)?r.dots:s.dots,o=t*2**-n*(2-2**-a);return{id:s.id,staff:s.staff,x:s.x,tickEstimated:s.predisposition?.tick,y:s.tipY+100*s.staff,duration:o,pR:"R"===s.rest?1:"r"===s.rest&&0===s.division?Math.tanh(s.x-e.eventStartX):0,fakeP:s.predisposition&&s.predisposition.fakeP||0,shrinkness:s.predisposition?.timeWarped||0}});let c=t*e.timeSignature.numerator/e.timeSignature.denominator;Number.isFinite(e.estimatedDuration)&&(c=Math.max(c,Ne(e.estimatedDuration,480480)));const l=e.staffGroups.reduce((e,t,s)=>(t.forEach(t=>e[t]=s),e),{}),u=[0,...o.map(e=>e.id)],h=o.map(t=>({...t,id:u.indexOf(t.id),x:t.x-e.startX,confidence:(1-t.pR)*(1-t.fakeP),shrinkness:t.shrinkness,staffGroup:l[t.staff]})),m=Array(u.length+1).fill(null).map(()=>Array(u.length).fill(0)),f=Array(u.length).fill(null).map(()=>Array(u.length).fill(0));for(const e of h)for(const t of h){f[e.id][t.id]=e!==t&&e.tickEstimated>=t.tickEstimated?1-S.default((e.tickEstimated-t.tickEstimated)*s/.6):0;const i=(1-e.pR)*(1-t.pR);f[e.id][t.id]*=i,f[e.id][t.id]<.01&&(f[e.id][t.id]=0)}console.assert(e.matrixH&&e.matrixH.length>u[u.length-1]&&e.matrixH[0].length>u[u.length-1],"matrix shape mismatch:",u.length,`${e.matrixH.length}x${e.matrixH[0].length}`,`${m.length}x${m[0].length}`);for(let t=0;t{const a=i.events.find(t=>t&&t.id===e),o=Number.isFinite(s)?Math.round(s*je/t):s;return{id:e,tick:o,tickGroup:r,timeWarp:n,division:a?.division,dots:a?.dots}}),x=Math.round(g.duration*je/t);return{events:v,voices:g.voices,duration:x,priority:y}}}(ys||(ys={}));class SpartitoMeasure extends SimpleClass{static reorderEvents(e,t){const s=[],i=e.map(e=>({id:e.id,staff:e.staff,x:e.x/.7,rx:0,ry:t[e.staff]+e.tipY,tipY:e.tipY,prior:0}));i.sort((e,t)=>e.x-t.x),i.slice(1).forEach((e,t)=>{const s=Math.min(Math.round(e.x-i[t].x),2);e.rx=i[t].rx+s}),i.forEach(e=>{e.prior=1e4*e.staff+e.rx+.01*e.tipY,s.includes(e.ry)||s.push(e.ry)}),i.sort((e,t)=>e.prior-t.prior),s.sort((e,t)=>e-t);let r=0;const n=s.map((e,t)=>(!t||s[t]-s[t-1]<.5||++r,r)),a=i.map(t=>new EventTerm({...e.find(e=>e.id===t.id),intX:t.rx,intY:n[s.indexOf(t.ry)]}));return a.forEach((e,t)=>e.id=t+1),a}constructor(e){super(),super.assign(e),this.originalRegulationHash||this.regulated||(this.originalRegulationHash=this.regulationHash),this.barTypes=this.barTypes||{},this.regulated&&this.position&&this.postRegulate()}get timeSignature(){return this.basics&&this.basics[0].timeSignature}get keySignature(){return this.basics&&this.basics[0].keySignature}get timeSignatureChanged(){return this.contexts.filter(Boolean)[0].some(e=>[Ue.TimeSignatureC,Ue.TimeSignatureN].includes(e.type))}get doubtfulTimesig(){return this.basics&&this.basics[0].doubtfulTimesig}get regulated(){return!!this.voices}get validRegulated(){return!!this.voices&&this.voices.flat(1).every(e=>Number.isFinite(this.events.find(t=>t.id===e)?.tick))}get rows(){return this.contexts.map((e,t)=>({events:this.events.filter(e=>e.staff===t),contexts:e}))}get eventStartX(){return this.events.length?Math.min(...this.events.map(e=>e.x)):this.startX}get startX(){return this.position.left}get width(){return this.position.right-this.position.left}get tickMap(){return this.events.concat([this.endEvent]).filter(Boolean).reduce((e,t)=>(Number.isFinite(t.tick)&&(e.has(t.tick)||e.set(t.tick,[]),e.get(t.tick).push(t)),e),new Map)}get tickToX(){return[...this.tickMap.entries()].reduce((e,[t,s])=>{if((s=s.filter(e=>!e.fullMeasureRest&&!e.grace)).length){const i=Math.min(...s.map(e=>e.x));e[t]=i}return e},{})}get tickRates(){const e=this.events.filter(e=>Number.isFinite(e.tick)&&!e.fullMeasureRest);return e.sort((e,t)=>e.x-t.x),e.slice(0,e.length-1).map((t,s)=>{const i=e[s+1];return(i.tick-t.tick)/Math.max(i.x-t.x,.001)})}get tickRatesInStaves(){const e=this.events.filter(e=>Number.isFinite(e.tick)&&!e.fullMeasureRest&&!e.grace).reduce((e,t)=>(e[t.staff]=e[t.staff]||[],e[t.staff].push(t),e),{}),t=Object.values(e).map(e=>e.sort((e,t)=>e.x-t.x).slice(0,e.length-1).map((t,s)=>{const i=e[s+1];return(i.tick-t.tick)/Math.max(i.x-t.x,.001)}));return[].concat(...t)}get tickRatesInGroups(){const e=this.events.filter(e=>Number.isFinite(e.tick)&&!e.fullMeasureRest).reduce((e,t)=>{const s=this.staffGroups.findIndex(e=>e.includes(t.staff));return e[s]=e[s]||[],e[s].push(t),e},{}),t=Object.values(e).map(e=>e.sort((e,t)=>e.x-t.x).slice(0,e.length-1).map((t,s)=>{const i=e[s+1];return(i.tick-t.tick)/Math.max(i.x-t.x,.001)}));return[].concat(...t)}get tickTwist(){if(!this.duration||!this.staffGroups)return;const e=this.events.filter(e=>Number.isFinite(e.tick)&&!e.fullMeasureRest&&!e.grace&&!e.tremoloCatcher&&!(e.rest&&0===e.division)).reduce((e,t)=>{const s=this.staffGroups.findIndex(e=>e.includes(t.staff));return e[s]=e[s]||[],e[s].push(t),e},{}),t=Object.values(e).map(e=>{const t=[...e].sort((e,t)=>e.pivotX-t.pivotX),s=this.position.right-t[0].x,i=t.slice(1).map((e,i)=>{const r=t[i],n=e.pivotX-r.pivotX,a=e.tick-r.tick;if(!a)return n/s;return(4*Math.atan2(a/this.duration,n/s)/Math.PI-1)**2});return Math.max(0,...i)});return Math.max(0,...t)}get eventMap(){return this.events.reduce((e,t)=>(e[t.id]=t,e),{})}get empty(){return!this.events?.length||!this.voices?.length}get hasIllEvent(){return this.regulated&&this.events.some(e=>!e.zeroHolder&&!Number.isFinite(e.tick)&&!e.fullMeasureRest)}get brief(){return[`${this.timeSignature.numerator}/${this.timeSignature.denominator}`,...this.events.map(e=>[e.staff,e.intX,Math.round(e.tip?e.tip.y:e.ys?.[0]??0),e.fullMeasureRest?0:e.division,e.fullMeasureRest?0:e.dots,e.rest?"r":"",e.grace||"",e.stemDirection,e.beam||""].join("|"))].join("\n")}get regulationHash(){return y.default(this.brief)}get regulationHash0(){return this.originalRegulationHash||this.regulationHash}get regulationHashes(){return Array.from(new Set([this.originalRegulationHash,this.regulationHash].filter(Boolean)))}get featureWords(){if(!this.regulated||!this.voices||!this.voices.length)return null;const e=this.tickRatesInStaves.some(e=>e<0),t=this.events.filter(e=>!e.zeroHolder&&!e.rest).map(e=>e.ys).flat(1).map(e=>"Y"+2*-e),s=Array.from(new Set(t));this.keySignature&&s.push(`K${this.keySignature}`);const i=this.voices.map(e=>e.map(e=>this.events.find(t=>t.id===e)).filter(e=>!e.zeroHolder&&!e.rest)).filter(e=>e.length),r=e?[]:i.map(e=>e.map(e=>e.scaleChord).join("-")),n=e?[]:i.map(e=>e.map(e=>e.division).join(""));return this.timeSignature&&n.push(`T${this.timeSignature.numerator}/${this.timeSignature.denominator}`),[s,r,n]}get barType(){if(this.voltaEnd)return"VoltaRight";const e=Object.entries(this.barTypes).sort((e,t)=>t[1]-e[1]);return e[0]&&e[0][1]>=1?e[0][0]:null}get partialDuration(){if(!Number.isFinite(this.duration))return!1;const e=Ae(je,this.timeSignature);return this.duration{const t=e.events.filter(e=>e.grace);if(!t.length)return;const s=[...e.tickMap.entries()].reduce((e,[t,s])=>(s.forEach(s=>{if(!s.grace){e[s.staff]=e[s.staff]||{};const i=e[s.staff][t];e[s.staff][t]=!i||i.x>s.x?s:i}}),e),{}),i=Object.entries(s).reduce((t,[s,i])=>{t[s]=Object.entries(i).map(([e,t])=>({event:t,tick:Number(e),preTick:-240,graces:[]})).sort((e,t)=>e.event.x-t.event.x),t[s].push({tick:e.duration,event:e.endEvent,preTick:0,graces:[]});let r=0;return t[s].forEach(e=>{e.tick>r&&(e.preTick=r,r=e.tick)}),t},{});t.forEach(e=>{const t=i[e.staff];if(t){const s=t.find(t=>t.event.x>e.x);s&&s.graces.push(e),e.roundX=e.x}}),Object.values(i).forEach(e=>e.forEach(e=>{if(e.graces.length){e.event.graceIds=e.graces.map(e=>e.id);const t=e.graces.reduce((e,t)=>e+t.duration,0),s=Math.min(t,e.tick-e.preTick)/t;let i=e.tick;[...e.graces].reverse().forEach(e=>{e.tick=Math.round(i-e.duration*s),i=e.tick})}}))})(this),(e=>{const t=e.events.filter(e=>e.tremoloCatcher&&!e.grace),s=e.events.filter(e=>e.tremoloLink===qe.Pitcher&&!e.grace);t.forEach(t=>{let i=s.filter(e=>e.division===t.division&&e.xNumber.isFinite(e.tick)&&!e.grace&&!e.rest&&e.division===t.division&&e.dots===t.dots&&e.xt.x-e.x),i.length){const e=i[0];e.catcherId=t.id;const r=Math.max(e.tremolo||3,t.tremolo||3);e.tremolo=r,t.tremolo=r,t.tick||(t.tick=e.tick+e.duration/2);const n=s.indexOf(e);n>=0&&s.splice(n,1)}})})(this),this.updateContextTick()}updateRoundX(){const e=this.tickToX;e&&this.events.forEach(t=>{const s=e[t.tick];Number.isFinite(s)&&(t.roundX=s)})}updateContextTick(){if(!this.staffGroups)return;const e=this.contexts.flat(1);this.staffGroups.flat(1).forEach(t=>{const s=[...this.events.filter(e=>e.staff===t),...e.filter(e=>e.staff===t)];s.sort((e,t)=>t.x-e.x);let i=this.duration;s.forEach(e=>{e instanceof EventTerm?e.fullMeasureRest||e.zeroHolder||(i=e.tick):e instanceof ContextedTerm&&(e.tick=i)})})}asSolution(e=void 0){return this.regulated?{events:this.events.map(t=>{const s={id:t.id,tick:t.tick,tickGroup:t.tickGroup,timeWarp:t.timeWarp};if(e){const i=e.events.find(e=>e.id===t.id);i&&(t.division!==i.division&&(s.division=t.division),t.dots!==i.dots&&(s.dots=t.dots),t.grace!==i.grace&&(s.grace=!!t.grace),t.beam!==i.beam&&(s.beam=t.beam),t.fullMeasureRest!==i.fullMeasureRest&&(s.fullMeasure=t.fullMeasureRest))}return s}),voices:this.voices,duration:this.duration,priority:-this.solutionStat?.loss}:null}applySolution(e){e.timeSignature&&this.basics.forEach(t=>{t.timeSignature=e.timeSignature,t.doubtfulTimesig=!1}),this.voices=e.voices,this.duration=e.duration,this.events.forEach(t=>{t.timeWarp=null,t.tick=null,t.tickGroup=null;const s=e.events?.find(e=>e.id===t.id);s&&(t.tick=s.tick,t.timeWarp=s.timeWarp,t.tickGroup=s.tickGroup,Number.isFinite(s.division)&&(t.division=s.division),Number.isFinite(s.dots)&&(t.dots=s.dots),s.beam&&(t.beam=s.beam),void 0!==s.grace&&(t.grace=s.grace?Ve.Grace:void 0),s.fullMeasure&&(t.rest="R"))}),Number.isFinite(e.priority)&&(this.solutionStat={loss:-e.priority}),this.postRegulate()}cleanupRegulation(){this.voices=null,this.duration=null,this.events.forEach(e=>{e.tick=null,e.tickGroup=null,e.timeWarp=null})}regulateTest(){this.duration=0,this.voices=this.rows.map(e=>e.events.map(e=>e.id)),this.voices.forEach(e=>{let t=0;e.map(e=>this.events.find(t=>t.id===e)).forEach((e,s)=>{e.tickGroup=s,e.tick=t,t+=e.duration}),this.duration=Math.max(this.duration,t)})}regulateSimple(){gs.computeMeasureTicks(this),gs.computeMeasureVoices(this)}async regulateEquations(e){await ys.regulateMeasure(this,e)}async regulate({policy:e="advanced",...t}={}){switch(e){case"test":this.regulateTest();break;case"equations":case"advanced":await this.regulateEquations(t);break;default:this.regulateSimple()}this.postRegulate()}createPatch(){return new PatchMeasure({measureIndex:this.measureIndex,staffMask:this.staffMask,basic:this.basics[0],events:this.events,contexts:this.contexts,marks:this.marks,voices:this.voices})}createClusters(){const e=this.voices&&new Set(this.voices.flat(1));return this.staffGroups.filter(e=>e.length).map(t=>{const s=this.position.staffYs[0],i=e=>this.position.staffYs[t.indexOf(e)]-s,r=this.events.filter(e=>t.includes(e.staff));if(!r.length)return null;const n=r.map(s=>({index:s.id,voice:(this.voices||[]).findIndex(e=>e.includes(s.id)),type:s.rest?ps.REST:ps.CHORD,staff:t.indexOf(s.staff),x:s.tipX,pivotX:s.pivotX,y1:i(s.staff)+("u"===s.stemDirection?s.tipY:s.ys[s.ys.length-1]),y2:i(s.staff)+("u"===s.stemDirection?s.ys[0]:s.tipY),headY:"u"===s.stemDirection?s.ys[0]:s.ys[s.ys.length-1],feature:s.feature,division:s.division,dots:s.dots,beam:s.beam||null,stemDirection:s.stemDirection,grace:!!s.grace,tremoloCatcher:s.tremoloCatcher,timeWarped:!!s.timeWarp,fullMeasure:s.fullMeasureRest,tick:s.tick||0,fake:!s.fullMeasureRest&&!s.grace&&this.voices&&!e.has(s.id)}));if(!n.some(e=>!e.fake))return null;const a=Ae(je,this.timeSignature);n.unshift({index:0,type:ps.BOS,staff:null,division:null,beam:null,dots:null,stemDirection:null,grace:!1,tremoloCatcher:!1,fullMeasure:!1,x:this.position.left,pivotX:this.position.left,y1:0,y2:0,headY:0,feature:null,timeWarped:this.durationn.map(()=>0)),this.voices.forEach(e=>{let t=0;e.forEach(e=>{const s=n.findIndex(t=>t.index===e);s>0&&t>=0&&(o[s][t]=1),t=s}),t>=0&&(o[n.length-1][t]=1)}));const c={...this.solutionStat,patched:this.patched},l=this.backgroundImages&&this.backgroundImages.map(({url:e,position:t})=>({url:e,position:{...t,y:t.y-s}}));return new EventCluster({index:this.measureIndex,duration:this.duration,signatureDuration:a,staffY0:s,elements:n,matrixH:o,annotation:c,backgroundImages:l})}).filter(Boolean)}applyClusters(e){const t=this.events.reduce((e,t)=>Math.max(e,t.id),0)+1;this.matrixH=Array(t+1).fill(null).map(()=>Array(t).fill(0)),e.forEach(e=>{const s=e.elements.map(e=>e.index);console.assert(e.matrixH.length===s.length-1,"unexpected matrixH size:",e.matrixH.length,s.length);for(let i=1;i{const t=this.events.find(t=>t.id===e.index);t&&(t.predisposition=e.predisposition,void 0!==t.predisposition.grace&&(t.grace=t.predisposition.grace?Ve.Grace:null))})}),this.estimatedDuration=e.reduce((e,t)=>e+t.estimatedDuration,0)/e.length}}SpartitoMeasure.className="SpartitoMeasure",SpartitoMeasure.blackKeys=["staffGroups","solutionStat","measureNumber","deposit"];const vs=(e,t=!1)=>({empty:!0,duration:e.duration,tickMap:{0:EventTerm.space({duration:e.duration,tick:0})},timeSignature:e.timeSignature,timeSigNumeric:e.timeSigNumeric,keySignature:e.keySignature,contextedTerms:e.terms.filter(e=>e instanceof ContextedTerm&&(!e.staffLevel||t)),marks:[]}),xs=e=>{const t=[].concat(...e.measures.map(e=>Object.values(e.tickMap).filter(e=>e instanceof EventTerm)));for(let e=1;ee.type===B.SlurBegin)&&i.accessories.some(e=>e.type===B.SlurEnd)){const e=s.pitches.filter(e=>i.pitches.some(t=>t.note===e.note&&t.alter===e.alter));e.length>0&&(s.tying=!0,i.tied=!0,e.forEach(e=>{e.tying=!0;i.pitches.find(t=>t.note===e.note&&t.alter===e.alter).tied=!0}),e.forEach(()=>{const e=s.accessories.findIndex(e=>e.type===B.SlurBegin);e>=0&&s.accessories.splice(e,1);const t=i.accessories.findIndex(e=>e.type===B.SlurEnd);t>=0&&i.accessories.splice(t,1)}))}}};class Spartito extends SimpleClass{constructor(e){super(),super.assign(e),this.measures.forEach(e=>e.staffGroups=this.staffGroups)}get regulated(){return this.measures.every(e=>e.regulated)}get solidMeasureCount(){return this.measures.filter(e=>!e.empty).length}get measureIndexMapping(){let e=0;return this.measures.map(t=>t.empty?null:e++)}get headBPM(){for(const e of this.measures)if(e.marks){const t=e.marks.find(e=>e instanceof TempoTerm&&e.isValid());if(t)return t.bpm}return null}get measureLayoutCode(){const e=this.measures.filter(e=>!e.empty).map((e,t)=>({index:t+1,vb:e.voltaBegin,ve:e.voltaEnd,alter:e.alternative,leftSign:"",rightSign:""}));return e.forEach((t,s)=>{if(t.vb){const i=e.slice(s+1).findIndex(e=>e.vb),r=i>=0?s+i:e.length;e.slice(s,r-1).some(e=>e.ve)&&(t.leftSign="2*[")}if(t.ve){const i=e.slice(0,s+1).reverse(),r=i.slice(1).findIndex(e=>e.ve);if(r>=0&&!i.slice(1,r+1).some(e=>e.vb))return;if(t.alter){const r=i.findIndex(e=>!e.alter);r>0&&(i[r].rightSign="]",i[r-1].leftSign="{[",t.rightSign="],",e[s+1]&&(e[s+1].rightSign="},"))}else t.rightSign="],";i.some(e=>e.vb)||(e[0].leftSign="2*[")}}),e.map(e=>e.leftSign+e.index.toString()+e.rightSign+(e.rightSign?"":",")).join(" ").replace(/,$/,"")}get qualityScore(){const e=this.measures.filter(e=>!e.empty),t=e.map(Ke).map(e=>e.qualityScore).reduce((e,t)=>e+t,0);return e.length?t/e.length:null}dumpEvaluations(){const e=this.measures.filter(e=>!e.empty).map(e=>({measureIndex:e.measureIndex,...Ke(e)})),t=e.map(e=>e.qualityScore).reduce((e,t)=>e+t,0);console.log("qualityScore:",t/e.length),console.table(e)}regulate(e={}){this.measures.forEach(t=>t.regulated||t.regulate(e))}cleanupRegulation(){this.measures.forEach(e=>e.voices=null)}rectifyTimeSignatures(e=new DummyLogger){const t=this.measures.map((e,t)=>({measure:e,index:t})).filter(({measure:e,index:t})=>!t||e.timeSignatureChanged).map(({index:e})=>e);t.map((e,s)=>this.measures.slice(e,se.filter(e=>e.estimatedDuration>0)).filter(e=>e.length>=3||e.some(e=>e.doubtfulTimesig)).forEach(t=>{if(t[0].patched){const s=t[0].timeSignature,i=t.slice(1).filter(e=>!e.patched&&Be(e.timeSignature)!==Be(s));if(i.length){const t=i[0].timeSignature;i.forEach(e=>e.basics.forEach(e=>e.timeSignature=s)),e.info("[rectifyTimeSignatures]\ttimesignator overwrote by patched head:",`${Be(t)} -> ${Be(s)}`,i.map(e=>e.measureIndex))}return}const s=t[0].timeSignature,i=Number.isInteger(Math.log2(s.denominator));let r=i?4:8;i&&(r=Math.max(r,t[0].timeSignature.denominator));const n=t.map(e=>Math.round(e.estimatedDuration*r/je)),a=Object.entries(n.reduce((e,t)=>(e[t]=(e[t]||0)+1,e),{})).sort((e,t)=>t[1]-e[1]),o=a[0][1],c=a.filter(([e,t])=>t>.6*o).reduce((e,t)=>Number(t[0])>Number(e[0])?t:e);if(c[1]>1){let n=Number(c[0]);if(!i||s.denominator*n!==s.numerator*r){if(i&&r!==s.denominator){const e=n*s.denominator/r;Number.isInteger(e)&&(n=e,r=s.denominator)}const a=t.filter(e=>!e.patched),o=_e(n,r);a.forEach(e=>e.basics.forEach(e=>e.timeSignature=o)),e.info("[rectifyTimeSignatures]\ttimesignator overwrote by estimation:",`${Be(s)} -> ${n}/${r}`,a.map(e=>e.measureIndex))}}})}makeVoiceStaves(){this.regulate();const e=Math.max(...this.measures.map(e=>e.voices.length));if(!e||!Number.isFinite(e))return null;this.measures.filter(e=>e.patched).forEach(e=>{e.events.forEach(e=>{e.tied&&e.pitches.forEach(e=>e.tied=!0)})});const t=this.measures.map(t=>{console.assert(t.validRegulated,"[makeVoiceStaves] measure is invalid:",t);const s={};t.events.forEach(e=>s[e.id]=e);const i=new Set(Array(t.contexts.length).fill(null).map((e,t)=>t));let r=null;if(t.barType)switch(t.barType){case"Segment":r="||";break;case"Terminal":r="|."}const n=t.voices.map(e=>{const n=e.map(e=>s[e]);n.sort((e,t)=>e.tick-t.tick);const a={};let o=0,c=null;for(const e of n)Number.isFinite(e?.tick)?(e.tick>o?a[o]=EventTerm.space({tick:o,duration:e.tick-o}):!e.grace&&e.tick{const s=t.eventMap[e];s&&(a[s.tick]=s)}))):console.warn("invalid event tick:",e);t.endEvent&&t.endEvent.graceIds&&t.endEvent.graceIds.forEach(e=>{const s=t.eventMap[e];!s||c&&s.staff!==c.staff||(a[s.tick]=s)}),ot.duration&&Number.isFinite(t.duration)&&(c.timeWarp=Oe(t.duration-c.tick,c.duration)),console.assert(!c||!c.timeWarp||Number.isInteger(c.timeWarp.numerator)&&Number.isInteger(c.timeWarp.denominator),"invalid time warp:",c);const l=n[0]?n[0].staff:0;i.delete(l);const u=t.basics[l],h=t.contexts[l],m=n[n.length-1],f=m?m.staff:0;return{tickMap:a,duration:t.duration,...u,contextedTerms:h,marks:[],break:t.break,pageBreak:t.pageBreak,headStaff:l,tailStaff:f,bar:r}});for(;n.lengtht.headStaff!==e),o=vs({terms:r,duration:t.duration,...s,break:t.break,pageBreak:t.pageBreak},a);o.headStaff=e,o.tailStaff=e,n.push(o)}return n});t.forEach(e=>e.forEach(e=>{const t=[];e.empty||(t.push(`s${e.headStaff}`),t.push(`s${e.tailStaff}`)),Object.values(e.tickMap).forEach(e=>{if(e instanceof EventTerm){if(t.push(`s${e.staff}`),e.stemDirection){const s=`st${e.staff}-${e.stemDirection}`;t.push(s,s)}e.grace?t.push(`gd${e.mainDuration}`):t.push(`d${e.mainDuration}`),e.rest?t.push("r-"+e.rest):e.pitches.forEach(e=>{t.push(`p1-${e.note}`),t.push(`p8-${Math.round(e.note/8)}`)})}}),e.trait=HashVector.fromWords(t)}));const s=this.staffGroups.flat(1).reduce((e,t)=>(e[t]=this.staffGroups.findIndex(e=>e.includes(t)),e),{}),i=Array(e).fill(null).map((e,t)=>({vector:HashVector.zero,index:t,weight:0,headStaff:null}));t.forEach((e,t)=>{i.sort((e,t)=>t.weight-e.weight);const r=new Set(e);i.forEach(e=>{const i=[...r];let n=i[0];if(t>0&&i.length>1){const t=i.map(t=>s[t.headStaff]===s[e.headStaff]?ls(e.vector.toHash(),t.trait.toHash()):-1);n=i[$e(t)]}r.delete(n),n.voiceIndex=e.index,e.vector.scale(.4).add(n.trait),e.weight=Object.keys(n.tickMap).length,0===t&&(e.headStaff=n.headStaff)}),e.sort((e,t)=>e.voiceIndex-t.voiceIndex)});const r=Array(this.stavesCount).fill(null).map(()=>[]);i.forEach(e=>{r[e.headStaff].push(e.index)});const n=Array(this.stavesCount).fill(null).map((e,s)=>{if(!t[0])return{voices:[]};return{voices:r[s].map(e=>({mode:"relative",measures:t.map(t=>t[e])}))}});return(e=>{if(!e[0]||!e[0].voices[0])return void console.warn("empty voices:",e);const t=e[0].voices[0].measures.length;Array(t).fill(null).map((t,s)=>{for(const t of e)for(const e of t.voices)if(!e.measures[s].empty)return!1;return!0}).forEach((t,s)=>{t&&e.forEach(e=>e.voices.forEach(e=>{e.measures[s].tickMap={}}))})})(n),n.forEach(e=>e.voices.forEach(xs)),n}perform(){const e=this.makeVoiceStaves();if(!e)return null;const t=new Map,s=Array(this.stavesCount).fill(null).reduce((e,t,s)=>(e[s]=s,e),{}),i=[].concat(...e.map((e,t)=>e.voices.map(()=>s[t])));let r=!1,n=0,a=null;const o=this.measures.filter(e=>!e.empty).map(s=>{const{systemIndex:o,right:c}=s.position,l=s.measureIndex,u=[].concat(...e.map(e=>e.voices.map(e=>e.measures[l]))),h=u[0],m=n;n+=h.duration;const f=[].concat(...u.map((e,s)=>{const r=i[s],n=Object.values(e.tickMap).filter(e=>e instanceof EventTerm&&!e.rest).map(e=>{const s=Math.round(1*e.duration);console.assert(Number.isFinite(e.tick),"invalid event term tick:",e),console.assert(Number.isFinite(s),"invalid event term duration:",e),e.tick>=0&&e.noteIds.forEach(s=>{t.set(s,{system:o,measure:l,x:e.roundX,endX:c})});const i=this.staffGroups.findIndex(t=>t.includes(e.staff));return{tick:Math.round(1*e.tick),duration:s,pitches:e.pitches,noteIds:e.noteIds,part:i,staff:e.staff}});return[].concat(...n.map(e=>{const t=e.pitches.reduce((e,t)=>(e[Le(t)]=t,e),{});return Object.values(t).sort((e,t)=>e.note-t.note).filter(e=>!e.tied).map((t,s)=>{const i=Le(t),n=e.noteIds&&e.noteIds[s];return{tick:e.tick,pitch:i,duration:e.duration,chordPosition:{index:s,count:e.pitches.length},tied:t.tied,id:n,ids:[n],track:e.part,staff:e.staff,channel:r,subNotes:[{startTick:0,endTick:e.duration,pitch:i,velocity:127}]}})}))})),d=[];a=a||d,s.marks&&s.marks.forEach(e=>{if(e instanceof TempoTerm){const t=e.bpm;if(e.isValid()){const s=r?d:a,i=r?e.tick:0;s.push({track:0,ticks:i,data:{type:"meta",subtype:"setTempo",microsecondsPerBeat:Math.round(6e7/t)}}),r=!0}}});const p=s.basics[0];return{tick:m,duration:s.duration,notes:f,events:d,timeSignature:p&&p.timeSignature,keySignature:p&&p.keySignature}});r||o[0].events.push({track:0,ticks:0,data:{type:"meta",subtype:"setTempo",microsecondsPerBeat:5e5}});return{notation:new MetaNotation({measures:o}),tokenMap:t}}performByEstimation(){const e=new Map;let t=0;const s=this.measures.filter(e=>e.events.some(e=>e.predisposition)).map(s=>{const i=t,r=Math.round(s.estimatedDuration||Ae(je,s.timeSignature)),n=s.basics[0];t+=r;const{systemIndex:a,right:o}=s.position,c=s.measureIndex;return{tick:i,duration:r,notes:s.events.filter(e=>e.predisposition&&e.predisposition.fake<.5&&!e.rest).map(t=>{const s=Math.round(t.predisposition.tick);return t.noteIds.forEach(s=>{e.set(s,{system:a,measure:c,x:t.roundX,endX:o})}),t.pitches.map((e,i)=>{const r=Le(e),n=t.noteIds&&t.noteIds[i],a=this.staffGroups.findIndex(e=>e.includes(t.staff));return{tick:s,pitch:r,duration:t.duration,chordPosition:{index:i,count:t.pitches.length},tied:e.tied,id:n,ids:[n],track:a,staff:t.staff,channel:0,subNotes:[{startTick:0,endTick:t.duration,pitch:r,velocity:127}]}})}).flat(1),events:[],timeSignature:n&&n.timeSignature,keySignature:n&&n.keySignature}});return{notation:new MetaNotation({measures:s}),tokenMap:e}}featureHash(){const e=this.measures.slice(0,16).map(e=>e.featureWords),t=[1,4,16].map(t=>{const s=e.slice(0,t).filter(Boolean),i=s.map(e=>e[0]).flat(1),r=s.map(e=>e[1]).flat(1),n=s.map(e=>e[2]).flat(1),[a,o,c]=[i,r,n].map(HashVector.fromWords);return HashVector.concat(a,o.sub(128),c.sub(128))});return HashVector.concat(...t).toHash()}featureHashHex(){return e=this.featureHash(),Array.from(e).map(us).join("");var e}featureHashBigInt(){return e=this.featureHash(),Array.from(e).reduce((e,t)=>0x100n*e+BigInt(t),0n);var e}assignMeasureNumbers(){let e=null;for(const t of this.measures)(t.discard||t.events.length)&&(t.indent&&(e=null),Number.isFinite(e)||(e=t.partialDuration?0:1),t.measureNumber=e++)}}Spartito.className="Spartito";const Ss=[0,2,4,5,7,9,11],bs=e=>{let t=e%7;for(;t<0;)t+=7;return t},ks=e=>{let t=e%12;for(;t<0;)t+=12;return t},Ts={[-2]:"♭♭",[-1]:"♭",0:"â™Ū",1:"â™Ŋ",2:"𝄊"};class StaffContext{constructor(){this.logger=new DummyLogger,this.clef=-3,this.keyAlters=[],this.octaveShift=0,this.alters=[],this.timeSignature={numerator:4,denominator:4},this.timeSigNumeric=!1,this.timeSigNumSet=!1,this.timeSigDenSet=!1,this.doubtingTimesig=!0}change(e){switch(e.type){case Ue.Clef:this.clef=e.clef;break;case Ue.KeyAcc:this.keyAlters[bs(this.yToNote(e.y))]=e.alter;break;case Ue.Acc:this.alters[this.yToNote(e.y)]=e.alter;break;case Ue.OctaveShift:this.octaveShift=e.octaveShift;break;case Ue.TimeSignatureC:switch(this.timeSigNumeric=!1,e.tokenType){case"timesig-C44":this.timeSignature.numerator=4,this.timeSignature.denominator=4;break;case"timesig-C22":this.timeSignature.numerator=2,this.timeSignature.denominator=2}this.doubtingTimesig=this.partialTimeSignature;break;case Ue.TimeSignatureN:switch(this.timeSigNumeric=!0,e.y){case 1:this.timeSigDenSet?this.timeSignature.denominator=10*this.timeSignature.denominator+e.number:this.timeSignature.denominator=e.number,this.timeSigDenSet=!0;break;case-1:this.timeSigNumSet?this.timeSignature.numerator=10*this.timeSignature.numerator+e.number:this.timeSignature.numerator=e.number,this.timeSigNumSet=!0;break;default:this.logger.warn("unexpected time signature Y:",e.y)}this.doubtingTimesig=this.partialTimeSignature}}resetMeasure(){this.alters=[],this.timeSigNumSet=!1,this.timeSigDenSet=!1}resetSystem(){this.keyAlters=[]}get keySignature(){return this.keyAlters.filter(e=>Number.isInteger(e)).reduce((e,t)=>e+t,0)}get partialTimeSignature(){return!this.timeSigNumSet!=!this.timeSigDenSet}noteToY(e){return-e/2-this.clef-3.5*this.octaveShift}pitchToNote(e,{preferredAlter:t=null}={}){t||(t=this.keySignature<0?-1:1);const s=Math.floor((e-60)/12),i=ks(e),r=Ss.includes(i)?i:ks(i-t),n=Ss.indexOf(r);this.logger.assert(n>=0,"invalid preferredAlter:",e,t,r);const a=7*s+n,o=i-r,c=this.keyAlters[n]||0;return{note:a,alter:Number.isInteger(this.alters[a])?o:o===c?null:o}}pitchToY(e,{preferredAlter:t=null}={}){const{note:s,alter:i}=this.pitchToNote(e,{preferredAlter:t});return{y:this.noteToY(s),alter:i}}yToNote(e){return this.logger.assert(Number.isInteger(2*e),"invalid y:",e),2*(-e-3.5*this.octaveShift-this.clef)}alterOnNote(e){if(Number.isInteger(this.alters[e]))return this.alters[e];const t=bs(e);return Number.isInteger(this.keyAlters[t])?this.keyAlters[t]:0}noteToPitch(e){const t=Math.floor(e/7),s=bs(e),i=60+12*t+Ss[s]+this.alterOnNote(e);return Number.isFinite(i)?i:(this.logger.warn("invalid pitch value:",i,e,t,s),-1)}yToPitch(e){return this.noteToPitch(this.yToNote(e))}yToPitchName(e){const t=this.yToNote(e),s=Math.floor(t/7),i=bs(t);let r=this.alterOnNote(t);return r||Number.isInteger(this.alters[t])||(r=null),`${Ts[r]?Ts[r]:""}${"CDEFGAB"[i]}${s+4}`}}const ws=e=>e.reduce((e,t,s)=>t?e|1<{if(e.version<3){const{version:t,stavesCount:s,layoutTemplate:i,...r}=e;let n=s>1?Array(s-1).fill(",").join(""):"";2===s&&(n="{-}"),e={version:3,staffLayoutCode:n,...r}}return e.version<8&&(e.pages.forEach(e=>{e.systems.forEach(e=>{if(e.semantics){const t=e.semantics.filter(e=>e.semantic===g.vline_BarMeasure);e.semantics=[].concat(...e.staves.map(e=>{const s=e.top+e.staffY;return t.map(e=>({...e,y:e.y+s,extension:{...e.extension,y1:e.extension.y1+s,y2:e.extension.y2+s}}))}))}})}),e.version=8),e.version<9&&(e.spartito=null,e.version=9),e})(e)),this.pages=this.pages||[],this.headers=this.headers||{},this.instrumentDict=this.instrumentDict||{},this.pageSize=this.pageSize||{width:794,height:1122},this.unitSize=this.unitSize||null,this.staffLayoutCode=this.staffLayoutCode||(2===this.maxStavesCount?"{-}":Array(this.maxStavesCount).fill("").join(","))}get systems(){return[].concat(...this.pages.map(e=>e.systems))}get measureCount(){return this.systems.reduce((e,t)=>e+(t.measureCount||0),0)}get imageKeys(){return[...this.pages.map(e=>e.source?.url),...this.systems.map(e=>e.backgroundImage),...[].concat(...this.systems.map(e=>[...e.staves.map(e=>e.backgroundImage),...e.staves.map(e=>e.maskImage)].filter(Boolean)))].filter(Boolean)}get breakSystemIndices(){const e=[];let t=0;return this.pages.forEach((s,i)=>{ie.staves.length),0)}get sidBlackList(){const e=[].concat(...this.systems.map(e=>e.sidBlackList));return new Set(e)}get sidWhiteList(){const e=[].concat(...this.systems.map(e=>e.sidWhiteList));return new Set(e)}get semanticHash(){const e=[].concat(...this.systems.map(e=>[].concat(...e.staves.map(t=>t.semantics?e.qualifiedSemantics(t.semantics).map(e=>e.id):[]))));return y.default(e.join(""))}eventSystemsToTermStaves(e,t=new DummyLogger){const s=Array(this.maxStavesCount).fill(null).map((t,s)=>({rows:e.map((e,t)=>e.columns.map((i,r)=>{const n=i.rows[s];console.assert(n,"[eventSystemsToTermStaves] measure is null:",s,i.rows);const a=n.contexts;0===r&&(a.some(e=>e.type===Ue.OctaveShift)||a.unshift(new ContextedTerm({staff:s,x:0,y:0,tokenType:B.OctaveShift0,tick:0})));const o=[...n.events||[],...a].sort((e,t)=>e.x-t.x),c=0===s&&r===e.columns.length-1&&this.breakSystemIndices.includes(t);return{terms:o,duration:i.duration,pageBreak:c}}))}));return s.forEach(e=>((e,t=new DummyLogger)=>{const s=new StaffContext;s.logger=t;for(const t of e.rows){for(const e of t){const t=e.terms.find(e=>e instanceof EventTerm);let i=t?Math.min(t.tick,0):0;e.terms.forEach(e=>{if(e instanceof ContextedTerm)e.tick=i,s.change(e);else if(e instanceof EventTerm){const t=e.tick+(e.duration||0);t>i&&(i=t),e.ys&&(e.pitches=e.ys.map(e=>{const t=s.yToNote(e);return{note:t,alter:s.alterOnNote(t),octaveShift:s.octaveShift}}))}}),e.timeSignature={...s.timeSignature},e.timeSigNumeric=s.timeSigNumeric,e.doubtfulTimesig=s.doubtingTimesig||!Number.isInteger(Math.log2(e.timeSignature.denominator))||e.timeSignature.numerator<=e.timeSignature.denominator/4,e.keySignature=s.keySignature,0===e.duration&&(e.duration=je*e.timeSignature.numerator/e.timeSignature.denominator),s.resetMeasure()}s.resetSystem()}})(e,t)),s}resetPageLayout(e){const{unitSize:t=this.unitSize,pageSize:s=this.pageSize}=e,i=.5*s.width/t,r=.5*s.height/t;this.pages.forEach(e=>{const n=i-e.width/2,a=r-e.height/2;e.systems.forEach(e=>{e.left+=n,e.top+=a}),e.semantics&&e.semantics.forEach(e=>{e.x+=n,e.y+=a}),e.width=s.width/t,e.height=s.height/t,e.assemble({textAnnotations:this.textAnnotations})}),this.unitSize=t,this.pageSize=s}getMeasure(e){let t=e;for(const s of this.systems){if(te&&e.measures[t]);return{measureIndex:e,system:s,localIndex:t,left:r.left,right:r.right,measures:n}}t-=s.measureCount}return null}getRawCluster(e,t,{timeSignature:s}={}){const i=this.getMeasure(e);if(!i)return null;const{system:r,left:n,right:a}=i,o=[kt];s&&o.push(...Tt(s));const c=r.staves[0].top+r.staves[0].staffY-2;return r.staves.forEach(e=>{let s=r.qualifiedSemantics(e.semantics,t).filter(e=>e.x>n&&e.xe.semantic===g.TempoNotehead).forEach(e=>{const t=s.findIndex(t=>/^Notehead/.test(t.semantic)&&Ie(e,t)<.3);t>=0&&s.splice(t,1)});const i=e.top+e.staffY-c;s.forEach(t=>{const s=ot[t.semantic];if(s){let r=t.y,a=t.y;s===ot.vline_Stem&&(r=t.extension.y1,a=t.extension.y2),o.push({id:t.id,type:s,staff:e.index,x:t.x-n,y1:r+i,y2:a+i})}})}),new SemanticCluster({index:e,elements:o})}getRawClusters(e=1){return Array(this.measureCount).fill(null).map((t,s)=>this.getRawCluster(s,e))}makeSpartito(e=new DummyLogger){let t=this.systems.map(e=>e.getEvents(this.maxStavesCount));const s=this.eventSystemsToTermStaves(t,e);t.forEach((e,t)=>{e.columns.forEach((e,i)=>{e.basics=s.map(e=>{const{timeSignature:s,timeSigNumeric:r,keySignature:n,doubtfulTimesig:a}=e.rows[t][i];return{timeSignature:s,timeSigNumeric:r,keySignature:n,doubtfulTimesig:a}})})});const i=[].concat(...t.map(e=>e.columns.map(t=>{const s=t.measureIndex,{system:i,localIndex:r,left:n,right:a}=this.getMeasure(s),o=[];i.staves.forEach(e=>o[e.index]=e.top+e.staffY);const c=this.patches&&this.patches.find(e=>e.measureIndex===s),l=c?c.events:SpartitoMeasure.reorderEvents([].concat(...t.rows.map(e=>e.events)),o),u=Object.fromEntries(Object.entries(t.barTypes).map(([e,t])=>[e,t/i.staves.length])),h=0===r&&i.indent;return new SpartitoMeasure({measureIndex:s,staffMask:e.staffMask,position:{systemIndex:i.index,localIndex:r,left:n,right:a,staffYs:i.staves.map(e=>e.top+e.staffY),staffYsFull:o},duration:c?c.duration:t.duration,events:l,contexts:t.rows.map(e=>e.contexts),marks:t.marks,break:t.break,pageBreak:t.pageBreak,voltaBegin:t.voltaBegin,voltaEnd:t.voltaEnd,alternative:t.alternative,barTypes:u,indent:h,basics:c?c.basics:t.basics,matrixH:null,matrixV:null,voices:c?c.voices:null})}))),r=this.staffLayout,n=r.standaloneGroups.map(e=>e.map(e=>r.staffIds.indexOf(e)));return this.spartito=new Spartito({stavesCount:this.maxStavesCount,staffGroups:n,measures:i}),this.spartito}makeMusicSheet(){const e=this.spartito||this.makeSpartito();e.regulated||console.warn("[makeMusicSheet]\tspartito not regulated.");const t=e.makeVoiceStaves(),{title:s,pageSize:i,unitSize:r,staffLayout:n,paperOptions:a,headers:o,instrumentDict:c}=this;return{title:s,pageSize:i,unitSize:r,measureLayout:this.getMeasureLayout(),staffLayout:n,paperOptions:a,headers:o,voiceStaves:t,instrumentDict:c}}findPoint(e){for(const t of this.systems)for(let s=0;st.id===e);if(i){return{point:i,pageIndex:this.pages.findIndex(e=>e.systems.includes(t)),systemIndex:t.index,staffIndex:s}}}return null}getMeasureSemantics(e,t){const s=this.systems[e];if(!s)return null;const i=t?s.measureBars[t-1]:0,r=s.measureBars[t]||s.width;return s.staves.map((e,t)=>{const s=e.top+e.staffY;return e.semantics.filter(e=>e.x>=i&&e.x{const[i,r]=Number.isFinite(e.extension?.y1)?[e.extension.y1,e.extension.y2]:[e.y,e.y];return{...e,staff:t,sy1:i+s,sy2:r+s}})}).flat(1)}makeTimewiseGraph({store:e=!1}={}){if(!this.spartito)return null;return{measures:this.spartito.measures.filter(e=>e.events.length>0).map(t=>{const s=this.getMeasureSemantics(t.position.systemIndex,t.position.localIndex),i={measureIndex:t.measureIndex,left:t.position.left,right:t.position.right,points:s};return e&&(t.graph=i),i})}}getTokenMap(){const e=new Map;return this.systems.forEach(t=>t.staves.forEach(t=>t.measures.forEach(t=>t.tokens.forEach(t=>e.set(t.id,t))))),e}assemble(e=1,t=new DummyLogger){const s=new Map;this.pages.forEach((e,t)=>e.index=t);let i=0;this.systems.forEach((r,n)=>{r.index=n,r.headMeasureIndex=i,r.prev=this.systems[n-1]||null,r.next=this.systems[n+1]||null,r.semantics&&r.semantics.length&&r.semantics.forEach(e=>((e,i,r)=>{const n=_(e,i,r);t.assert(!s.has(n),"semantic point hash conflicted:",n,r,s.get(n)),s.set(n,r)})(n,null,e)),r.assemble(e,t),i+=r.measureCount}),this.pages.forEach((e,s)=>{e.systems.forEach(e=>e.pageIndex=s),e.assemble({textAnnotations:this.textAnnotations},t)})}assembleSystem(e,t=1){this.systems.forEach((e,t)=>e.index=t);const s=e.index;e.semantics&&e.semantics.length&&(e.semantics.forEach(e=>_(s,null,e)),e.assemble(t))}markVoices(e){const t=this.getTokenMap();for(const e of t.values())e.voice=0;const s=[].concat(...e.map((e,t)=>(e.voices||[]).map((e,s)=>[t,s]))).sort(([e,t],[s,i])=>t-i||e-s).map(([e,t])=>`${e}|${t}`);e.forEach((e,i)=>(e.voices||[]).forEach((e,r)=>e.measures.forEach(e=>{const n=s.indexOf(`${i}|${r}`);Object.values(e.tickMap).filter(e=>e instanceof EventTerm).forEach(e=>{const s=e.noteIds?e.noteIds.map(e=>t.get(e)).filter(Boolean):[],i=e.accessories?e.accessories.map(e=>t.get(e.id)).filter(Boolean):[];[...s,...i].forEach(e=>e.voice|=1<e.timeWarped=!0)})})))}async replaceImageKeys(e){await Promise.all([...this.pages.map(async t=>{t.source&&(t.source.url=await e(t.source.url))}),...this.systems.map(t=>Promise.all([e(t.backgroundImage).then(e=>t.backgroundImage=e),...t.staves.map(async t=>{t.backgroundImage=await e(t.backgroundImage),t.maskImage=await e(t.maskImage)})]))])}inferenceStaffLayout(){const e=Math.max(...this.systems.map(e=>e.staves.length),0);this.staffLayoutCode=Array(e).fill("").join(",");const t=this.systems.filter(t=>t.staves.length===e&&t.bracketsAppearance);if(!t.length)return;const s=t.map(e=>{try{return Ee(e.bracketsAppearance).staffIds.length!==e.staves.length?null:e.bracketsAppearance}catch(e){return null}}).filter(Boolean);if(!s.length)return;const i=s.reduce((e,t)=>{const s=e[t]||0;return e[t]=s+1,e},{}),r=Math.max(...Object.values(i)),n=Object.entries(i).find(([e,t])=>t===r)[0].replace(/\{,*\}/g,e=>e.replace(/,/g,"-")),a=Ee(n);this.staffLayoutCode=n;let o=null;for(const t of this.systems)if(o&&t.staves.length===o.staves.length&&t.bracketsAppearance===o.bracketsAppearance)t.staffMaskChanged=null;else{if(t.staves.length{if(s.length>a.staffIds.length)return null;if(s.reduce((e,t)=>e+t,0)===t.staves.length)return ws(s);for(const i of[1,0]){const r=[...s,i],n=a.partialMaskCode(r);if(n===t.bracketsAppearance)return ws(r);if(t.bracketsAppearance.startsWith(n)){const t=e(r);if(t)return t}}return null},s=e([]);t.staffMaskChanged=o&&s===o.staffMask?null:s}o=t}}assignBackgroundForMeasure(e){e.backgroundImages=[];const t=this.systems[e.position.systemIndex];t.backgroundImage&&e.backgroundImages.push({url:t.backgroundImage,position:t.imagePosition,original:!0}),t.staves.forEach(s=>{!t.backgroundImage&&s.backgroundImage&&e.backgroundImages.push({url:s.backgroundImage.toString(),position:{...s.imagePosition,y:s.imagePosition.y+s.top},original:!0}),s.maskImage&&e.backgroundImages.push({url:s.maskImage.toString(),position:{...s.imagePosition,y:s.imagePosition.y+s.top}})})}blackoutFakeNotes(e="patched"){if(!this.spartito)return;let t=e=>!0;switch(e){case"patched":t=e=>e.patched;break;case"perfect":t=e=>e.patched||e.regulated&&Ke(e).perfect}const s=this.spartito.measures.filter(t).reduce((e,t)=>{if(!t.regulated)return;const s=t.voices.flat(1);return t.events.filter(e=>!e.rest&&!e.grace&&!s.includes(e.id)).forEach(t=>t.noteIds&&e.push(...t.noteIds)),e},[]),i=new Set(s);return this.systems.forEach(e=>e.staves.forEach(t=>{const s=t.semantics.filter(e=>i.has(e.id)).map(e=>e.id);e.sidBlackList.push(...s)})),s}getMeasureLayout(){const e=this.spartito&&this.spartito.measureLayoutCode;if(e)try{return(e=>{const t=fe(e);return t?.data?ae(t.data,he):null})(e)}catch(e){console.debug("invalid measure layout code:",e)}return null}*splitToSingleScoresGen(){this.assemble();const e=this.systems.filter(e=>e.index>0&&e.indent&&e.timeSignatureOnHead).map(e=>e.index);if(!e.length)return void(yield this.deepCopy());const t=new Score({...this,pages:[],topology:void 0,spartito:void 0,patches:void 0});this.pages.forEach(e=>{delete e.tokens,e.systems.forEach(e=>{delete e.tokens,e.staves.forEach(e=>{e.measures=[]})})});let s=0;for(const i of[...e,this.systems.length]){const e=e=>e.index>=s&&e.indext.systems.some(e)).map(t=>{const{systems:s,...i}=t;return new Page({...i,systems:s.filter(e).map(e=>new System({...e}))})}),n=t.deepCopy();n.headers.SubScoreSystem=`${s}-${i-1}`,n.headers.SubScorePage=`${r[0].index}-${r[r.length-1].index}`,n.pages=r,n.assemble(),n.inferenceStaffLayout(),s=i,yield n}}splitToSingleScores(){return[...this.splitToSingleScoresGen()]}}Score.className="Score";class EditableEvent extends EventTerm{constructor(e){super(e)}get agent(){return new Proxy(this,{get(e,t){const s=e;switch(t){case"id":case"tick":case"duration":case"rest":case"division":case"dots":case"stemDirection":case"beam":case"tremolo":case"tremoloLink":case"arpeggioStyle":{const e=s[t];return void 0===e?null:e}case"tying":case"tied":case"glissando":{const e=s[t];return void 0!==e&&e}case"grace":return!!s.grace;case"timeWarp":return s.timeWarp?`${s.timeWarp.numerator}/${s.timeWarp.denominator}`:null;case"pitches":return s.pitches}},set:(e,t,s)=>{const i=e;switch(t){case"tick":case"duration":case"rest":case"division":case"dots":case"stemDirection":case"tying":case"tied":case"beam":case"tremolo":case"tremoloLink":case"glissando":case"arpeggioStyle":return i[t]=s,!0;case"grace":return i.grace=s?Ve.Grace:null,!0;case"timeWarp":if(i.timeWarp=null,s&&"string"==typeof s){const e=s.match(/^(\d+)\/(\d+)/);e&&(i.timeWarp={numerator:parseInt(e[1]),denominator:parseInt(e[2])})}return!0;case"id":case"pitches":return!0}return!1},ownKeys:()=>["id","duration","rest","division","dots","stemDirection","tying","tied","beam","timeWarp","tremolo","tremoloLink","glissando","arpeggioStyle","tick","grace","pitches"],getOwnPropertyDescriptor:()=>({enumerable:!0,configurable:!0})})}}class EditableMeasure extends SpartitoMeasure{constructor(e){super(e),this.events=null,this.events=e.events,this.events?.some(e=>!(e instanceof EditableEvent))&&(this.events=this.events.map(e=>new EditableEvent(e))),this.voices&&this.syncVoiceToEvents()}syncVoiceToEvents(){this.events.forEach(e=>e.voice=-1),this.voices.forEach((e,t)=>{e.forEach(e=>{const s=this.events.find(t=>t.id===e);s?s.voice=t:console.warn("no event with id:",e,this.events.length)})})}syncVoiceFromEvents(){const e=[];this.events.forEach(t=>{t?.voice>=0&&(e[t.voice]=e[t.voice]||[],e[t.voice].push(t))}),e.forEach(e=>e.sort((e,t)=>e.tick-t.tick)),this.voices=e.map(e=>e.map(e=>e.id))}get agent(){return new Proxy(this,{get:(e,t)=>{const s=e;switch(t){case"measureIndex":case"duration":return s[t];case"voices":return s.voices?.map(e=>e.join(","))||null;case"timeSignature":case"keySignature":case"doubtfulTimesig":return s.basics[0][t];case"toJSON":return()=>({measureIndex:s.measureIndex,voices:s.voices,duration:s.duration,timeSignature:s.basics[0].timeSignature,keySignature:s.basics[0].keySignature})}},set:(e,t,s)=>{const i=e;switch(t){case"timeSignature":case"keySignature":case"doubtfulTimesig":return i.basics[0][t]=s,i.basics=i.basics.map(()=>i.basics[0]),!0;case"duration":return i.duration=s,!0;case"measureIndex":case"voices":return!0}return!1},ownKeys:()=>["measureIndex","timeSignature","doubtfulTimesig","keySignature","duration","voices"],getOwnPropertyDescriptor:()=>({enumerable:!0,configurable:!0})})}makeMIDI(e=120){if(!this.regulated)return null;const t=6e7/e,s=this.voices.map((e,s)=>{const i=e.map(e=>{const t=this.events.find(t=>t.id===e);if(t){const e=t.graceIds?t.graceIds.map(e=>this.events.find(t=>t.id===e)):[];return[...e,t]}return[]}).flat(1),r=i.filter(e=>!e.rest&&Number.isFinite(e.tick)&&e.tick>=0&&Number.isFinite(e.duration)).map(e=>e.pitches.map(t=>[{id:e.id,time:e.tick,type:"channel",subtype:"noteOn",channel:e.staff,noteNumber:Le(t),velocity:96},{id:e.id,time:e.tick+e.duration,type:"channel",subtype:"noteOff",channel:e.staff,noteNumber:Le(t)}])).flat(2);return r.sort(function(e,t){return e.time-t.time}),0===s&&r.unshift({time:0,type:"meta",subtype:"timeSignature",numerator:this.timeSignature.numerator,denominator:this.timeSignature.denominator,thirtyseconds:8},{time:0,type:"meta",subtype:"setTempo",microsecondsPerBeat:t}),r.forEach(e=>{e.ticks=Math.round(e.time-0)}),r.forEach((e,t)=>{e.deltaTime=e.ticks-(t>0?r[t-1].ticks:0)}),r.push({deltaTime:0,type:"meta",subtype:"endOfTrack"}),r});return{header:{formatType:0,ticksPerBeat:480},tracks:s}}}var Ms;EditableMeasure.className="EditableMeasure",EditableMeasure.blackKeys=[],function(e){e.Pass="i",e.Division="d",e.Dots="o"}(Ms||(Ms={}));const Es=["whole","half","quarter","eighth","sixteenth","thirtysecond","sixtyfourth","128th","256th"],Ns=.4/je,Is=1e-12,Cs=[void 0,"u","d"],_s=[void 0,ze.Open,ze.Continue,ze.Close],Os=e=>({elements:e.elements.map(e=>({tick:e.tick,division:e.division,dots:e.dots,beam:e.beam,stemDirection:e.stemDirection,grace:e.grace,timeWarped:e.timeWarped,fullMeasure:e.fullMeasure,fake:e.fake,order:e.order,predisposition:e.predisposition}))});class BeadNode{constructor(e){Object.assign(this,e),this.children={},this.accessCount=0}nextBranch(){const e=this.possibilities.map((e,t)=>e/(this.children[t]?this.children[t].accessCount+1:1));return e.every(e=>!e)?(this.accessCount=1/0,null):$e(e)}get currentElem(){return this.cluster.elements[this.elemIndex]}branchID(e){switch(this.type){case Ms.Pass:return`i_${e}`;case Ms.Division:return Es[e];case Ms.Dots:return"o"+".".repeat(e)}return""}async deduce({picker:e,logger:t,ptFactor:s},i=0){++this.accessCount;const r=this.nextBranch();if(t.debug(String.fromCodePoint(127817)+" ".repeat(i),this.branchID(r),this.accessCount>1?`[${this.accessCount}]`:""),!Number.isInteger(r)||r<0)return this.accessCount=1/0,As(this.cluster,this.currentElem.order+1,this.pretentiousness);var n;if(this.pretentiousness+=(n=this.possibilities[r],Math.min(100,-Math.log(n))),this.pretentiousness>100*s)return this.accessCount=1/0,As(this.cluster,this.currentElem.order+1,this.pretentiousness);let a=null;switch(this.type){case Ms.Pass:{const t=this.currentElem.order+1,s=this.cluster.elements[r];if(console.assert(s,"null element:",r,this.cluster.elements.length),s.type===ps.EOS){if(a=As(this.cluster,t,this.pretentiousness),!a.residue||a.fatalError)return this.accessCount=1/0,a;if(this.cluster.elements[0].order=t,!this.children[r]){if(!e.quota)return a;const s=(await e.predictCluster(this.cluster,t+1)).map((e,s)=>this.cluster.elements[s].orderMath.max(Is,e));this.children[r]=new BeadNode({cluster:this.cluster,elemIndex:r,type:Ms.Division,possibilities:e,pretentiousness:this.pretentiousness})}}break;case Ms.Division:if(this.currentElem.division=r,!this.children[r]){const e=this.currentElem.predisposition.dotsVector.map(e=>Math.max(Is,e));this.children[r]=new BeadNode({cluster:this.cluster,elemIndex:this.elemIndex,type:Ms.Dots,possibilities:e,pretentiousness:this.pretentiousness})}break;case Ms.Dots:if(this.currentElem.dots=r,a=As(this.cluster,this.currentElem.order+1,this.pretentiousness),!a.residue||a.fatalError)return this.accessCount=1/0,a;if(!this.children[r]){if(!e.quota)return a;const t=this.currentElem.order+1,s=(await e.predictCluster(this.cluster,t)).map((e,s)=>this.cluster.elements[s].order{t.order>e&&(t.order=void 0)}),this.cluster.elements.forEach(e=>e.order=e.order>this.currentElem.order?void 0:e.order),this.cluster.elements[this.cluster.elements.length-1].tick=a.endTick,a}return o}}const Bs=e=>je*2**-e.division*(2-2**-e.dots),As=(e,t,s)=>{const i=e.elements.filter(e=>[ps.CHORD,ps.REST].includes(e.type)&&Number.isInteger(e.order)&&e.ordere.order-t.order);const r=e.elements[e.elements.length-1];let n=0,a=0,o=0,c=1;const l=[[r.x,e.signatureDuration,e.signatureDuration]];let u=0;i.forEach(e=>{e.order>a+1&&(n=0,++c);const t=l.find(e=>e[1]>=n);if(t&&e.x>t[0]+3){const t=l.reduce((t,s)=>Math.abs(e.predisposition.tick-s[2])t[0]>e.x));l.splice(s,0,[e.x,e.tick,e.predisposition.tick]);let i=Bs(e);e.predisposition.timeWarped>.5&&(i=2*i/3),n+=i,u+=i,o=Math.max(o,n),a=e.order}),o>0&&(e.elements[e.elements.length-1].tick=o);const h=e.elements[e.elements.length-1].pivotX-e.elements[1].pivotX,m=Math.max(...i.map(e=>e.tick),o),f=[...i].sort((e,t)=>e.pivotX-t.pivotX),d=f.slice(1).map((e,t)=>{const s=f[t],i=e.pivotX-s.pivotX,r=e.tick-s.tick;if(!r)return i/h;return(4*Math.atan2(r/m,i/h)/Math.PI-1)**2}),p=Math.max(...d,0),g=i.map(e=>(e.tick-e.predisposition.tick)**2),y=g.length?Math.sqrt(g.reduce((e,t)=>e+t,0)/g.length):0,v=e.elements.filter(e=>[ps.CHORD,ps.REST].includes(e.type)&&!(Number.isInteger(e.order)&&e.order.5)).length,x=p>=1||o>e.signatureDuration,S=Math.max(0,e.signatureDuration-u/c);return{tickErr:y,twist:p,residue:v,endTick:o,fatalError:x,voiceN:c,spaceDuration:S,pretentiousness:s,loss:y/je+p+.2*v+.002*c+S*Ns+.02*s}},Ps=async(e,t,s,i=200,r=0,n=1)=>{e.elements.forEach((e,t)=>e.order=t?void 0:0);const a=await t.predictCluster(e,1),o=new BeadNode({cluster:e,elemIndex:0,pretentiousness:0,type:Ms.Pass,possibilities:a});let c=null,l=null;for(t.quota=i;t.quota;){e.elements.forEach((e,t)=>e.order=t?void 0:0);const i=await o.deduce({picker:t,logger:s,ptFactor:n});if(s.debug("loss:",i),(!c||i.loss{e.elements.forEach((e,s)=>Object.assign(e,t.elements[s]))})(e,l);const u=e.elements.filter(e=>[ps.CHORD,ps.REST].includes(e.type)&&Number.isInteger(e.order)),h=e.elements.filter(e=>[ps.CHORD,ps.REST].includes(e.type)&&!Number.isInteger(e.order));u.length&&h.forEach(e=>{if(e.tick=void 0,e.predisposition.fakeP<.5){const t=Bs(e),s=u.filter(e=>e.tick+t<=c.endTick);if(s.length){const t=s.reduce((t,s)=>Math.abs(s.x-e.x)e.order-t.order),[...u,...h].forEach(e=>{e.grace=!Number.isFinite(e.tick)&&e.predisposition.grace,e.timeWarped=e.predisposition.timeWarped>.5,e.fullMeasure=e.predisposition.fullMeasure>.5,e.stemDirection=Cs[$e(e.predisposition.stemDirectionVector)],e.beam=_s[$e(e.predisposition.beamVector)]});const m=e.elements.map(e=>e.index),f=e=>m.indexOf(e);return e.matrixH=e.elements.map(()=>Array(e.elements.length).fill(0)),u.forEach((t,s)=>{const i=u[s-1];!i||i.order{const{stopLoss:s=.09,quotaMax:i=1e3,quotaFactor:r=5,ptFactor:n=1,logger:a=new DummyLogger}=t;let o=0;const c=e.createClusters();for(const l of c){const c=Math.min(i,Math.ceil(l.elements.length*r));a.info(`[measure-${e.measureIndex}]`,c);const{loss:u}=await Ps(l,t.picker,a,c,s,n);o=Math.max(o,u)}const l=[],u=[],h=[];c.forEach(t=>{const s=t.elements.filter(e=>[ps.CHORD,ps.REST].includes(e.type)&&Number.isInteger(e.order));if(s.sort((e,t)=>e.order-t.order),!s.length)return;let i=[];l.push(i);let r=0;s.forEach(e=>{e.fullMeasure||e.grace||e.tremoloCatcher||(e.order>r+1?(i=[e.index],l.push(i)):i.push(e.index),r=e.order)});let n=s[s.length-1];const a=t.elements.filter(e=>[ps.CHORD,ps.REST].includes(e.type)&&Number.isFinite(e.tick)&&!Number.isInteger(e.order));for(;a.length;){const e=a.findIndex(e=>e.tick>=n.tick+Bs(n));e>=0?i.push(a.splice(e,1)[0].index):(n=a.splice(0,1)[0],i=[n.index],l.push(i))}if(s.some(e=>!e.fullMeasure&&Number.isInteger(e.order))){const e=t.elements.find(e=>e.type===ps.EOS);u.push(e.tick)}const o=e.eventMap,c=t.elements.reduce((e,t)=>(Number.isFinite(t.tick)&&e.add(t.tick),e),new Set),m=Array.from(c).sort((e,t)=>e-t);s.forEach(e=>{const t=o[e.index];t&&h.push({id:t.id,tick:e.tick,tickGroup:m.indexOf(e.tick),division:e.division!==t.division?e.division:void 0,dots:e.dots!==t.dots?e.dots:void 0,timeWarp:e.timeWarped?_e(2,3):void 0,beam:e.beam!==t.beam?e.beam:void 0,grace:e.grace!==!!t.grace?e.grace:void 0,fullMeasure:e.fullMeasure||void 0})})});const m=Math.max(...c.map(e=>e.estimatedDuration));return{voices:l.filter(e=>e.length),duration:Math.max(...u),events:h,priority:-o,estimatedDuration:m}},Ds=async(e,{picker:t,resetSignatureForDoubtfulOnly:s})=>{const i=e.createClusters(),r=e.eventMap;for(const n of i)s&&!e.doubtfulTimesig||(n.signatureDuration=0),n.elements.forEach((e,t)=>e.order=t?void 0:0),await t.predictCluster(n,1),n.elements.filter(e=>[ps.CHORD,ps.REST].includes(e.type)).forEach(e=>{r[e.index].predisposition=e.predisposition});e.estimatedDuration=Math.max(...i.map(e=>e.estimatedDuration))},Fs=async(e,t)=>Ds(e,{picker:t,resetSignatureForDoubtfulOnly:!0});var Ls=Object.freeze({__proto__:null,solveCluster:Ps,solveMeasure:Rs,estimateMeasure:Fs,glimpseMeasure:Ds}),$s=Object.freeze({__proto__:null,beadSolver:Ls,get PageLayoutMethod(){return d},get TextType(){return p},TokenTypes:P,TokenClefs:R,TokenTimesigs:D,TokenTimesigsC:F,TokenTimesigsN:L,TokenOctshifts:$,TokenNumbers:j,TokenAccidentals:H,TokenNoteheads:V,TokenBareNoteheads:z,TokenDirectionalNoteheads:q,TokenRests:G,TokenFlags:W,TokenVolta:U,TokenDynamics:Y,TokenScripts:X,TokenPedals:K,TokenDots:Z,TokenArcs:J,TokenBeams:Q,TokenWedges:ee,TokenAccessories:te,TokenDirectionless:se,TokenGlyphs:ie,get TokenType(){return B},Token:Token,TextToken:TextToken,TOKEN_Y_ROUND:re,TOKEN_Y_FIXED:ne,VERSION:14,Score:Score,Page:Page,System:System,Staff:Staff,Measure:Measure,emptyVoiceFromStaffMeasure:vs,SpartitoMeasure:SpartitoMeasure,Spartito:Spartito,EditableEvent:EditableEvent,EditableMeasure:EditableMeasure,Term:Term,EventTerm:EventTerm,ContextedTerm:ContextedTerm,MarkTerm:MarkTerm,TempoTerm:TempoTerm,GlyphTerm:GlyphTerm,TextTerm:TextTerm,LyricTerm:LyricTerm,CommandTerm:CommandTerm,ChordmodeTerm:ChordmodeTerm,get ContextType(){return Ue},get GraceType(){return Ve},get GlissandoStyle(){return Ge},get ArpeggioStyle(){return We},get AccessoryDirection(){return He},WHOLE_DURATION:je,get StemBeam(){return ze},get TremoloLink(){return qe},mod7:bs,get SemanticType(){return g},glyphSemanticMapping:{"rests.1":"Rest1","rests.0o":"Rest0","rests.1o":"Rest1","rests.M1":"RestM1","rests.2":"Rest2","rests.3":"Rest3","rests.4":"Rest4","rests.5":"Rest5","rests.6":"Rest6","accidentals.sharp":"AccSharp","accidentals.doublesharp":"AccDoublesharp","accidentals.natural":"AccNatural","accidentals.flat":"AccFlat","accidentals.flatflat":"AccFlatflat","dots.dot":"Dot","scripts.ufermata":"ScriptFermata","scripts.dfermata":"ScriptFermata","scripts.ushortfermata":"ScriptShortFermata","scripts.dshortfermata":"ScriptShortFermata","scripts.staccato":"ScriptStaccato","scripts.ustaccatissimo":"ScriptStaccatissimo","scripts.dstaccatissimo":"ScriptStaccatissimo","scripts.turn":"ScriptTurn","scripts.trill":"ScriptTrill","scripts.segno":"ScriptSegno","scripts.coda":"ScriptCoda","scripts.arpeggio":"ScriptArpeggio","scripts.prall":"ScriptPrall","scripts.mordent":"ScriptMordent","scripts.umarcato":"ScriptMarcato","scripts.dmarcato":"ScriptMarcato","scripts.uportato":"ScriptPortato","scripts.dportato":"ScriptPortato","scripts.tenuto":"ScriptTenuto","scripts.sforzato":"ScriptSforzato","clefs.C":"ClefC","clefs.F":"ClefF","clefs.G":"ClefG","clefs.F_change":"ClefF","clefs.G_change":"ClefG","timesig.C44":"TimesigC44","timesig.C22":"TimesigC22","pedal.*":"PedalStar","pedal.Ped":"PedalPed","noteheads.s0":"NoteheadS0","noteheads.s1":"NoteheadS1","noteheads.s2":"NoteheadS2",f:"f",m:"m",p:"p",r:"r",s:"s",z:"z"},semanticPriorities:{ClefG:0,ClefF:0,TimesigFour:0,TimesigThree:0,TimesigTwo:0,NoteheadS0:0,NoteheadS1:0,NoteheadS2:0,Dot:0,vline_BarMeasure:0,vline_Stem:0,Flag3:0,TimesigC44:1,TimesigC22:1,TimesigEight:1,TimesigSix:1,AccNatural:1,AccSharp:1,AccFlat:1,KeyAcc:1,Rest0:1,Rest1:1,Rest2:1,Rest3:1,Rest4:1,OctaveShift8:1,OctaveShift0:1,AccDoublesharp:2,AccFlatflat:2,TimesigOne:2,TimesigNine:2,Rest5:2,Rest6:2,SlurBegin:2,SlurEnd:2,VoltaLeft:2,VoltaRight:2,vline_BarTerminal:2,vline_BarSegment:2,TempoNotehead:2,GraceNotehead:2,SignLined:2,SignInterval:2,BeamLeft:2,BeamRight:2,BeamContinue:2,TremoloLeft:2,TremoloRight:2,TremoloMiddle:2,StemTip:2,StemHead:2,f:3,p:3,m:3,ScriptFermata:3,ScriptSforzato:3,ScriptStaccato:3,ScriptStaccatissimo:3,ScriptTurn:3,ScriptTrill:3,ScriptSegno:3,ScriptCoda:3,ScriptArpeggio:3,ScriptPrall:3,ScriptMordent:3,ScriptTenuto:3,PedalStar:3,PedalPed:3,TimesigFive:3,TimesigSeven:3,TimesigZero:3,One:3,Two:3,Three:3,Four:3,Five:3,rect_Text:3,rect_Lyric:3,CrescendoBegin:3,CrescendoEnd:3,DecrescendoBegin:3,DecrescendoEnd:3,RestM1:4,ClefC:4,ScriptShortFermata:4,ScriptMarcato:4,ScriptPortato:4,s:4,r:4,z:4,Zero:4,Six:4,Seven:4,Eight:4,Nine:4},NOTEHEAD_WIDTHS:w,glyphCenters:M,ONE_D_SEMANTICS:["OctaveShift8va","OctaveShift8vb","OctaveShift8","OctaveShift0","vline_VoltaLeft","vline_VoltaRight","VoltaAlternativeBegin","vline_BarMeasure","vline_BarTerminal","vline_BarSegment"],SYSTEM_SEMANTIC_TYPES:E,CONFLICTION_GROUPS:I,STAMP_SEMANTICS:C,STAMP_RECTS:{ClefG:[-.0625,-1.125,3.6,8.6],ClefF:[.25,.5625,3.6,3.8],ClefC:[.25,0,3.25,4.5],NoteheadS0:[.0625,0,2.55,1.4],NoteheadS1:[.0625,0,1.8,1.4],NoteheadS2:[.0625,-.0625,1.65,1.35],Dot:[.25,0,.6,.6],Rest0:[0,-.75,3.25,.9],Rest1:[0,-.25,3.25,.9],Rest2:[-.0625,-.1875,1.6,3.375],Rest3:[0,.0625,1.2,2.25],Rest4:[.0625,.5625,1.65,3.375],Rest5:[.0625,.0625,1.95,4.375],Rest6:[.0625,.5625,1.95,5.375],RestM1:[-.4375,-1.5,.75,1.2],AccNatural:[0,0,.9,3.5],AccSharp:[0,0,1.5,3.5],AccDoublesharp:[0,0,1.5,1.5],AccFlat:[0,-.5625,1.2,3.125],AccFlatflat:[.1875,-.5625,1.95,3.125],TimesigC44:[-.0625,0,2.25,2.3],TimesigC22:[-.0625,0,2.25,3.2],TimesigZero:[0,0,1.8,2.2],TimesigOne:[-.125,0,1.5,2.2],TimesigTwo:[0,0,2.2,2.2],TimesigThree:[-.0625,0,1.9,2.4],TimesigFour:[.0625,0,1.95,2.2],TimesigFive:[0,0,1.8,2.3],TimesigSix:[0,0,2,2.4],TimesigSeven:[0,0,1.8,2.2],TimesigEight:[0,0,1.9,2.2],TimesigNine:[0,0,1.9,2.2],One:[-.0625,0,.75,1.6],Two:[0,0,1.2,1.6],Three:[0,0,1.2,1.6],Four:[0,0,1.2,1.6],Five:[0,0,1.2,1.6],OctaveShift8:[2.125,-.1875,4.75,3.6],OctaveShift0:[-.4,0,1.8,4.2],f:[.0625,-.125,2.55,3],p:[-.0625,.25,2.55,2.1],m:[-.125,-.0625,2.4,1.35],n:[-.3125,-.0625,1.95,1.35],r:[0,-.125,1.5,1.5],s:[0,-.0625,1.2,1.35],z:[.0625,0,1.35,1.5],ScriptFermata:[0,0,3.25,3.9],ScriptShortFermata:[0,0,2.4,4.95],ScriptSforzato:[-.0625,0,2.5,1.2],ScriptStaccato:[0,-.0625,.6,.45],ScriptStaccatissimo:[0,0,1.2,2.6],ScriptTurn:[0,0,2.7,1.5],ScriptTrill:[-.125,-.5,3,2.7],ScriptSegno:[0,0,2.4,3.5],ScriptCoda:[0,0,2.7,3.25],ScriptArpeggio:[-.0625,0,1.05,1.8],ScriptPrall:[0,0,2.4,1.2],ScriptMordent:[0,0,2.4,1.5],ScriptMarcato:[0,0,1.2,2.475],ScriptTenuto:[0,-.0625,1.5,.15],ScriptPortato:[0,0,1.5,1.65],PedalStar:[0,0,3.2,3.2],PedalPed:[0,-.25,4.7,2.4]},hashSemanticPoint:_,hashPageSemanticPoint:O,SemanticGraph:SemanticGraph,get SemanticElementType(){return ot},SemanticCluster:SemanticCluster,SemanticClusterSet:class SemanticClusterSet{constructor(e){if(e&&(this.clusters=e.clusters,e.vocab)){const t=e.vocab.map((e,t)=>[t,ot[e]]).filter(([e,t])=>e!==t).reduce((e,[t,s])=>(e[t]=s,e),{});this.clusters.forEach(e=>e.elements.forEach(e=>{Number.isFinite(t[e.type])&&(e.type=t[e.type])}))}}toJSON(){return{__prototype:"SemanticClusterSet",vocab:Object.entries(ot).filter(e=>Number.isFinite(e[1])).map(e=>e[0]),clusters:this.clusters.map(e=>e.toJSON())}}},ELEMENT_TOKEN_NAMES:ht,NOTEHEAD_ELEMENT_TYPES:ft,NOTE_ELEMENT_TYPES:gt,BOS_ELEMENT:kt,fractionToElems:Tt,expandMatrixByMasks:Mt,expandMatrixByMaskTriu:Et,matrixFromGroups:Nt,get EventElementType(){return ps},EventCluster:EventCluster,EventClusterSet:EventClusterSet,recoverJSON:ae,SimpleClass:SimpleClass,PatchMeasure:PatchMeasure,evaluateMeasure:Ke});const js=[B.ClefG,B.ClefF,B.ClefC],Hs=e=>{let t=null;switch(e.tokenType){case B.ClefG:t="Treble";break;case B.ClefF:t="Bass";break;case B.ClefC:t=-1===e.y?"Tenor":"Alto"}return t};var Vs,zs={exports:{}},qs="object"==typeof Reflect?Reflect:null,Gs=qs&&"function"==typeof qs.apply?qs.apply:function(e,t,s){return Function.prototype.apply.call(e,t,s)};Vs=qs&&"function"==typeof qs.ownKeys?qs.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var Ws=Number.isNaN||function(e){return e!=e};function Us(){Us.init.call(this)}zs.exports=Us,zs.exports.once=function(e,t){return new Promise(function(s,i){function r(s){e.removeListener(t,n),i(s)}function n(){"function"==typeof e.removeListener&&e.removeListener("error",r),s([].slice.call(arguments))}ii(e,t,n,{once:!0}),"error"!==t&&function(e,t,s){"function"==typeof e.on&&ii(e,"error",t,s)}(e,r,{once:!0})})},Us.EventEmitter=Us,Us.prototype._events=void 0,Us.prototype._eventsCount=0,Us.prototype._maxListeners=void 0;var Ys=10;function Xs(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function Ks(e){return void 0===e._maxListeners?Us.defaultMaxListeners:e._maxListeners}function Zs(e,t,s,i){var r,n,a,o;if(Xs(s),void 0===(n=e._events)?(n=e._events=Object.create(null),e._eventsCount=0):(void 0!==n.newListener&&(e.emit("newListener",t,s.listener?s.listener:s),n=e._events),a=n[t]),void 0===a)a=n[t]=s,++e._eventsCount;else if("function"==typeof a?a=n[t]=i?[s,a]:[a,s]:i?a.unshift(s):a.push(s),(r=Ks(e))>0&&a.length>r&&!a.warned){a.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=e,c.type=t,c.count=a.length,o=c,console&&console.warn&&console.warn(o)}return e}function Js(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function Qs(e,t,s){var i={fired:!1,wrapFn:void 0,target:e,type:t,listener:s},r=Js.bind(i);return r.listener=s,i.wrapFn=r,r}function ei(e,t,s){var i=e._events;if(void 0===i)return[];var r=i[t];return void 0===r?[]:"function"==typeof r?s?[r.listener||r]:[r]:s?function(e){for(var t=new Array(e.length),s=0;s{s=e,i=r,t>=0&&setTimeout(i,t,"timeout")}),s,i]}Object.defineProperty(Us,"defaultMaxListeners",{enumerable:!0,get:function(){return Ys},set:function(e){if("number"!=typeof e||e<0||Ws(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");Ys=e}}),Us.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},Us.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||Ws(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},Us.prototype.getMaxListeners=function(){return Ks(this)},Us.prototype.emit=function(e){for(var t=[],s=1;s0&&(n=t[0]),n instanceof Error)throw n;var a=new Error("Unhandled error."+(n?" ("+n.message+")":""));throw a.context=n,a}var o=r[e];if(void 0===o)return!1;if("function"==typeof o)Gs(o,this,t);else{var c=o.length,l=si(o,c);for(s=0;s=0;n--)if(s[n]===t||s[n].listener===t){a=s[n].listener,r=n;break}if(r<0)return this;0===r?s.shift():function(e,t){for(;t+1=0;i--)this.removeListener(e,t[i]);return this},Us.prototype.listeners=function(e){return ei(this,e,!0)},Us.prototype.rawListeners=function(e){return ei(this,e,!1)},Us.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):ti.call(e,t)},Us.prototype.listenerCount=ti,Us.prototype.eventNames=function(){return this._eventsCount>0?Vs(this._events):[]};class AsyncQueue extends zs.exports.EventEmitter{constructor(){super(),this.working=!1,this.working=!1,this.tasks=[],process.nextTick(()=>{this.emit("idle")})}async _digest(e){this.working=!0;const[t,s,i,r]=e;await t(s).then(i,r),this.tasks.length>0?await this._digest(this.tasks.shift()):(this.working=!1,this.emit("idle"))}addTask(e,{timeout:t=6e5}={}){const[s,i,r]=ri({timeout:t});return this.working?this.tasks.push([...e,i,r]):this._digest([...e,i,r]),s}}class ZeroClient{constructor(e=console){this.queue=new AsyncQueue,this.logger=e}bind(e){e&&(this.url=e),this.socket=new n.Request({sendTimeout:15e3,receiveTimeout:3e5}),this.socket.connect(this.url)}__request(e){let t=0;const s=async e=>{try{return this.socket.closed&&this.bind(),await this.socket.send(r.pack(e)).then(()=>this.socket.receive())}catch(i){if(t<2)return t++,console.log(`čŊ·æą‚åĪąčīĨ${i.stack}`),console.error(`3s后重čŊ•įŽŽ${t}æŽĄ`),this.socket.close(),await new Promise(e=>setTimeout(e,3e3)),s(e);throw i}};return s(e)}async request(e,t=null,s=null){const[i,n]=Array.isArray(t)?[t,s]:[void 0,t],a={method:e};return i&&(a.args=i),n&&(a.kwargs=n),this.queue.addTask([async e=>{const[t]=await this.__request(e),s=r.unpack(t);return 0===s.code?s.data:Promise.reject(s.msg)},a])}}class PyProcessor extends ZeroClient{constructor(e,t={},s=console){super(s),this.retryCount=0,this.retryDelay=3e3,this.scriptPath=e,this.options=t}async bind(e){const t=e||await a.getPortPromise({port:12022,stopPort:12122}),i=s.defaultsDeep({args:[...this.options.args||[],"-p",`${t}`]},this.options);this.logger.info(`[python-shell]: starting python shell. path: ${this.scriptPath}`),this.pyShell=new o.PythonShell(this.scriptPath,i),this.pyShell.stdout.on("data",e=>this.logger.info(e)),this.pyShell.on("pythonError",e=>this.logger.error(`[python-shell]: ${this.scriptPath} pythonError:`,e)),this.pyShell.on("stderr",e=>this.logger.error(`[python-shell]: ${this.scriptPath} stderr:`,e)),this.pyShell.on("error",e=>this.logger.error(`[python-shell]: ${this.scriptPath} error:`,e)),this.pyShell.on("close",()=>{this.retryCount<5&&(this.retryCount++,this.logger.info(`[python-shell]: ${this.scriptPath} will retry ${this.retryCount}th time after 3 seconds`),setTimeout(()=>{this.bind()},this.retryDelay))}),super.bind(`tcp://127.0.0.1:${t}`)}}var ni={},ai=function(e){return e instanceof Buffer},oi={exports:{}},ci={exports:{}};"function"==typeof Object.create?ci.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:ci.exports=function(e,t){e.super_=t;var s=function(){};s.prototype=t.prototype,e.prototype=new s,e.prototype.constructor=e};try{var li=require("util");if("function"!=typeof li.inherits)throw"";oi.exports=li.inherits}catch(e){oi.exports=ci.exports}!function(e){var t=Object.getOwnPropertyDescriptors||function(e){for(var t=Object.keys(e),s={},i=0;i=a)return e;switch(e){case"%s":return String(r[i++]);case"%d":return Number(r[i++]);case"%j":try{return JSON.stringify(r[i++])}catch(e){return"[Circular]"}default:return e}}),c=r[i];i=3&&(i.depth=arguments[2]),arguments.length>=4&&(i.colors=arguments[3]),m(s)?i.showHidden=s:s&&e._extend(i,s),g(i.showHidden)&&(i.showHidden=!1),g(i.depth)&&(i.depth=2),g(i.colors)&&(i.colors=!1),g(i.customInspect)&&(i.customInspect=!0),i.colors&&(i.stylize=a),c(i,t,i.depth)}function a(e,t){var s=n.styles[t];return s?"["+n.colors[s][0]+"m"+e+"["+n.colors[s][1]+"m":e}function o(e,t){return e}function c(t,s,i){if(t.customInspect&&s&&b(s.inspect)&&s.inspect!==e.inspect&&(!s.constructor||s.constructor.prototype!==s)){var r=s.inspect(i,t);return p(r)||(r=c(t,r,i)),r}var n=function(e,t){if(g(t))return e.stylize("undefined","undefined");if(p(t)){var s="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(s,"string")}if(d(t))return e.stylize(""+t,"number");if(m(t))return e.stylize(""+t,"boolean");if(f(t))return e.stylize("null","null")}(t,s);if(n)return n;var a=Object.keys(s),o=function(e){var t={};return e.forEach(function(e,s){t[e]=!0}),t}(a);if(t.showHidden&&(a=Object.getOwnPropertyNames(s)),S(s)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return l(s);if(0===a.length){if(b(s)){var v=s.name?": "+s.name:"";return t.stylize("[Function"+v+"]","special")}if(y(s))return t.stylize(RegExp.prototype.toString.call(s),"regexp");if(x(s))return t.stylize(Date.prototype.toString.call(s),"date");if(S(s))return l(s)}var k,T="",w=!1,E=["{","}"];(h(s)&&(w=!0,E=["[","]"]),b(s))&&(T=" [Function"+(s.name?": "+s.name:"")+"]");return y(s)&&(T=" "+RegExp.prototype.toString.call(s)),x(s)&&(T=" "+Date.prototype.toUTCString.call(s)),S(s)&&(T=" "+l(s)),0!==a.length||w&&0!=s.length?i<0?y(s)?t.stylize(RegExp.prototype.toString.call(s),"regexp"):t.stylize("[Object]","special"):(t.seen.push(s),k=w?function(e,t,s,i,r){for(var n=[],a=0,o=t.length;a60)return s[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+s[1];return s[0]+t+" "+e.join(", ")+" "+s[1]}(k,T,E)):E[0]+T+E[1]}function l(e){return"["+Error.prototype.toString.call(e)+"]"}function u(e,t,s,i,r,n){var a,o,l;if((l=Object.getOwnPropertyDescriptor(t,r)||{value:t[r]}).get?o=l.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):l.set&&(o=e.stylize("[Setter]","special")),M(i,r)||(a="["+r+"]"),o||(e.seen.indexOf(l.value)<0?(o=f(s)?c(e,l.value,null):c(e,l.value,s-1)).indexOf("\n")>-1&&(o=n?o.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+o.split("\n").map(function(e){return" "+e}).join("\n")):o=e.stylize("[Circular]","special")),g(a)){if(n&&r.match(/^\d+$/))return o;(a=JSON.stringify(""+r)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+o}function h(e){return Array.isArray(e)}function m(e){return"boolean"==typeof e}function f(e){return null===e}function d(e){return"number"==typeof e}function p(e){return"string"==typeof e}function g(e){return void 0===e}function y(e){return v(e)&&"[object RegExp]"===k(e)}function v(e){return"object"==typeof e&&null!==e}function x(e){return v(e)&&"[object Date]"===k(e)}function S(e){return v(e)&&("[object Error]"===k(e)||e instanceof Error)}function b(e){return"function"==typeof e}function k(e){return Object.prototype.toString.call(e)}function T(e){return e<10?"0"+e.toString(10):e.toString(10)}e.debuglog=function(t){if(g(i)&&(i=process.env.NODE_DEBUG||""),t=t.toUpperCase(),!r[t])if(new RegExp("\\b"+t+"\\b","i").test(i)){var s=process.pid;r[t]=function(){var i=e.format.apply(e,arguments);console.error("%s %d: %s",t,s,i)}}else r[t]=function(){};return r[t]},e.inspect=n,n.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},n.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=h,e.isBoolean=m,e.isNull=f,e.isNullOrUndefined=function(e){return null==e},e.isNumber=d,e.isString=p,e.isSymbol=function(e){return"symbol"==typeof e},e.isUndefined=g,e.isRegExp=y,e.isObject=v,e.isDate=x,e.isError=S,e.isFunction=b,e.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},e.isBuffer=ai;var w=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function M(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.log=function(){var t,s;console.log("%s - %s",(t=new Date,s=[T(t.getHours()),T(t.getMinutes()),T(t.getSeconds())].join(":"),[t.getDate(),w[t.getMonth()],s].join(" ")),e.format.apply(e,arguments))},e.inherits=oi.exports,e._extend=function(e,t){if(!t||!v(t))return e;for(var s=Object.keys(t),i=s.length;i--;)e[s[i]]=t[s[i]];return e};var E="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function N(e,t){if(!e){var s=new Error("Promise was rejected with a falsy value");s.reason=e,e=s}return t(e)}e.promisify=function(e){if("function"!=typeof e)throw new TypeError('The "original" argument must be of type Function');if(E&&e[E]){var s;if("function"!=typeof(s=e[E]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(s,E,{value:s,enumerable:!1,writable:!1,configurable:!0}),s}function s(){for(var t,s,i=new Promise(function(e,i){t=e,s=i}),r=[],n=0;n>>32-t},rotr:function(e,t){return e<<32-t|e>>>t},endian:function(e){if(e.constructor==Number)return 16711935&mi.rotl(e,8)|4278255360&mi.rotl(e,24);for(var t=0;t0;e--)t.push(Math.floor(256*Math.random()));return t},bytesToWords:function(e){for(var t=[],s=0,i=0;s>>5]|=e[s]<<24-i%32;return t},wordsToBytes:function(e){for(var t=[],s=0;s<32*e.length;s+=8)t.push(e[s>>>5]>>>24-s%32&255);return t},bytesToHex:function(e){for(var t=[],s=0;s>>4).toString(16)),t.push((15&e[s]).toString(16));return t.join("")},hexToBytes:function(e){for(var t=[],s=0;s>>6*(3-r)&63)):t.push("=");return t.join("")},base64ToBytes:function(e){e=e.replace(/[^A-Z0-9+\/]/gi,"");for(var t=[],s=0,i=0;s>>6-2*i);return t}},di.exports=mi;var pi={utf8:{stringToBytes:function(e){return pi.bin.stringToBytes(unescape(encodeURIComponent(e)))},bytesToString:function(e){return decodeURIComponent(escape(pi.bin.bytesToString(e)))}},bin:{stringToBytes:function(e){for(var t=[],s=0;s>5]|=128<<24-r%32,i[15+(r+64>>>9<<4)]=r;for(var h=0;h>>31}var x=(a<<5|a>>>27)+u+(n[y]>>>0)+(y<20?1518500249+(o&c|~o&l):y<40?1859775393+(o^c^l):y<60?(o&c|o&l|c&l)-1894007588:(o^c^l)-899497514);u=l,l=c,c=o<<30|o>>>2,o=a,a=x}a+=m,o+=f,c+=d,l+=p,u+=g}return[a,o,c,l,u]}(i));return r&&r.asBytes?n:r&&r.asString?s.bytesToString(n):e.bytesToHex(n)};i._blocksize=16,i._digestsize=20,fi.exports=i}();var yi=fi.exports;const vi=({page:e,backgroundImage:t,detection:s,imageSize:i,position:r})=>{const n=(s.phi2-s.phi1)/s.interval,a=i.height/s.interval,o=e.systems[e.systems.length-1],c=r?r.y:(o?o.top+o.height:0)+4,l=r?r.x:4,u=[0,...Array(s.middleRhos.length-1).fill(0).map((e,t)=>(s.middleRhos[t]+s.middleRhos[t+1])/2/s.interval)],h=[n],m=u.map((e,t)=>new Staff({top:e,height:(u[t+1]||a)-e,staffY:s.middleRhos[t]/s.interval-e,measureBars:h})),f={x:-s.phi1/s.interval,y:0,width:i.width/s.interval,height:i.height/s.interval};return new System({staves:m,left:l,top:c,width:n,backgroundImage:t,imagePosition:f,measureBars:h})};async function xi(e,{format:t="webp",maxHeight:s=1080,quality:i=80}={}){let r=await(async e=>"string"==typeof e?/^https?:\/\//.test(e)?(await T.default(e,{responseType:"buffer",decompress:!0,https:{rejectUnauthorized:!1}})).body:/^data:image\//.test(e)?Buffer.from(e.split(",")[1],"base64"):Buffer.from(e):e)(e);const n=await new Promise(e=>{k.default(r).resize({width:s,height:s,fit:"inside",withoutEnlargement:!0}).toFormat(t,{quality:i}).toBuffer((t,s)=>{e(s)})});return{buffer:n,filename:`${b.default.ArrayBuffer.hash(n)}.${t}`}}globalThis.OffscreenCanvas=globalThis.OffscreenCanvas||c.Canvas,globalThis.Image=globalThis.Image||c.Image,globalThis.btoa=globalThis.btoa||(e=>Buffer.from(e,"binary").toString("base64"));const Si=32,bi={viewportHeight:256,viewportUnit:8},ki=192,Ti=8,wi={viewportHeight:192,viewportUnit:8};const Mi=e=>Promise.all(e.map(e=>e())),Ei=async(e,t,{paddingLeft:s=0,scaling:i=1,spec:r})=>{if(!e||!e.backgroundImage)return null;const n=e.staves[t];if(!n)return null;const a=r.viewportHeight/r.viewportUnit/2,o=e.imagePosition.width*r.viewportUnit,l=e.imagePosition.height*r.viewportUnit,u=e.imagePosition.x*r.viewportUnit+s,h=(e.imagePosition.y-(n.top+n.staffY-a))*r.viewportUnit,m=new c.Canvas(Math.round(o+u)*i,r.viewportHeight*i),f=m.getContext("2d");return f.fillStyle="white",f.fillRect(0,0,m.width,m.height),f.drawImage(await c.loadImage(e.backgroundImage),u*i,h*i,o*i,l*i),m};async function Ni({system:e,staff:t,staffIndex:s}){const i=await Ei(e,s,{paddingLeft:Si,spec:wi});t.backgroundImage=i.toBufferSync("png"),t.imagePosition={x:-32/wi.viewportUnit,y:t.staffY-wi.viewportHeight/2/wi.viewportUnit,width:i.width/wi.viewportUnit,height:i.height/wi.viewportUnit}}async function Ii({system:e,staff:t,staffIndex:s,gaugeImage:i,pyClients:r}){const n=(await Ei(e,s,{paddingLeft:Si,spec:bi,scaling:2})).toBufferSync("png"),a=(e.middleY-(t.top+t.staffY))*bi.viewportUnit+bi.viewportHeight/2,{buffer:o,size:c}=await r.predictScoreImages("gaugeRenderer",[n,i,a]);t.backgroundImage=o,t.imagePosition={x:-32/bi.viewportUnit,y:t.staffY-c.height/2/bi.viewportUnit,width:c.width/bi.viewportUnit,height:c.height/bi.viewportUnit},t.maskImage=null}async function Ci({staff:e,staffIndex:t,maskImage:s}){const i=await c.loadImage(s);e.maskImage=s,e.imagePosition={x:-32/Ti,y:e.staffY-ki/2/Ti,width:i.width/Ti,height:i.height/Ti}}async function _i({score:e,staffIndex:t,system:s,staff:i,graph:r}){r.offset(-32/wi.viewportUnit,0),s.assignSemantics(t,r),i.assignSemantics(r),i.clearPredictedTokens(),e.assembleSystem(s,e.settings?.semanticConfidenceThreshold||1)}function Oi(e,t){[[e.source,"url"],...e.systems.map(e=>[[e,"backgroundImage"],...e.staves.map(e=>[[e,"backgroundImage"],[e,"maskImage"]]).flat()]).flat()].map(([e,s])=>{e[s]=t(e[s])})}class OMRProgress{constructor(e){this.state={},this.onChange=e}setTotal(e,t){this.state[e]=this.state[e]||{total:t,finished:0}}increase(e,t=1){(this.state[e]||{finished:0}).finished+=t,this.onChange(this.state)}}const Bi=new l.WeakLRUCache,Ai={get:async e=>Bi.getValue(e),async set(e,t){Bi.setValue(e,t)}},Pi=async e=>{if(e instanceof Buffer||"string"==typeof e&&(/^https?:\/\//.test(e)||/^data:image\//.test(e))){return`data:image/webp;base64,${(await xi(e)).buffer.toString("base64")}`}return e},Ri=e=>{const t=Math.random();let s=0;for(let i=0;it)return i;return e.length-1},Di=(e,t=.9)=>{const s=e.map(e=>Math.log(e)*t).map(Math.exp),i=s.reduce((e,t)=>e+t,0);return s.map(e=>e/i)},Fi=e=>{if(!e.predisposition?.divisionVector&&!e.predisposition?.dotsVector)return e;const t=e.predisposition?.divisionVector?Di(e.predisposition.divisionVector):null,s=e.predisposition?.dotsVector?Di(e.predisposition.dotsVector):null;return new EventTerm({...e,predisposition:{...e.predisposition,divisionVector:t,dotsVector:s}})};class MeasureRectification{constructor(e){Object.assign(this,e)}toString(){return this.events.map(e=>{if(!e)return"";const{division:t="",dots:s=""}=e;return`${t}|${s}`}).join(",")}static default(e){return new MeasureRectification({events:e.map(e=>{if(!e.predisposition?.divisionVector&&!e.predisposition?.dotsVector)return null;const t=e.predisposition.divisionVector?e.division:void 0,s=e.predisposition.dotsVector?e.dots:void 0;return{id:e.id,division:t,dots:s}})})}static roll(e){return new MeasureRectification({events:e.map(e=>{if(!e.predisposition?.divisionVector&&!e.predisposition?.dotsVector)return null;let t,s;return e.predisposition.divisionVector&&(t=Ri(e.predisposition.divisionVector)),e.predisposition.dotsVector&&(s=Ri(e.predisposition.dotsVector)),{id:e.id,division:t,dots:s}})})}}const Li=new l.WeakLRUCache,$i={get:async e=>Li.getValue(e),async set(e,t){Li.setValue(e,t)},batchGet:async e=>e.map(e=>Li.getValue(e))};var ji;!function(e){e[e.ErrorOnly=0]="ErrorOnly",e[e.NotFine=1]="NotFine",e[e.Imperfect=2]="Imperfect"}(ji||(ji={}));const Hi=async(e,t,s,i,r=ji.NotFine,n=0,a)=>{const o=e.filter(({evaluation:e})=>!e||((e,t)=>{switch(t){case ji.ErrorOnly:return e.error;case ji.Imperfect:return!e.perfect}return!e.fine})(e,r));s?.write(".".repeat(o.length)),s?.write("\b".repeat(o.length));const c=o.length;let l=0;for(const e of o){const s=e.current.deepCopy();s.staffGroups=e.current.staffGroups;const r=await Rs(s,{picker:e.picker,...i});s.applySolution(r);const o=Ke(s),u=!e.evaluation||o.fine>e.evaluation.fine||o.qualityScore>e.evaluation.qualityScore&&o.fine===e.evaluation.fine;u&&(e.evaluation=o,Object.assign(e.current,s)),t(e.current,o,u),l++,a?.(e.current,o,u,{pass:n,remaining:c-l,total:c})}return o.length&&s?.write("\n"),o.length};globalThis.btoa=globalThis.btoa||(e=>Buffer.from(e,"binary").toString("base64"));const Vi=parseInt(process.env.RECTIFICATION_SEARCH_ITERATIONS||"30"),zi=parseInt(process.env.BASE_QUOTA_FACTOR||"40"),qi=parseInt(process.env.RECTIFICATION_QUOTA_FACTOR||"80"),Gi=(e,t,s)=>Math.min(Math.ceil((e+1)*t*Math.log(e+2)),Math.ceil(s*Math.min(1,(24/(e+1))**2)));async function Wi(e,{solver:t,quotaMax:s=1e3,quotaFactor:i=zi,solutionStore:r=$i,ignoreCache:n=!1,logger:a}={}){let o=0,c=0;return a?.info(`[solveMeasures] begin, measure total: ${e.length}.`),await Promise.all(e.map(async l=>{if(!n){const e=await r.get(l.regulationHash);if(e)return l.applySolution(e),void++o}const u=Gi(l.events.length,i,s);await l.regulate({policy:"equations",quota:u,solver:t});const h=Ke(l);h.error||r.set(l.regulationHash0,{...l.asSolution(),priority:-l?.solutionStat?.loss}),h.perfect&&++c,a?.info(`[solveMeasures] measure[${l.measureIndex}/${e.length}] regulated: ${h.perfect?"solved":h.error?"error":"issue"}, ${l.regulationHash}`)})),a?.info(`[solveMeasures] ${o}/${e.length} cache hit, ${c} solved.`),{cached:o,computed:e.length-o,solved:c}}const Ui=async(e,{solver:t,quotaMax:s=4e3})=>{let i=Ke(e),r=e.asSolution();const n=Gi(e.events.length,qi,s);let a=0;for(const s of function*(e){const t=new Set,s=MeasureRectification.default(e.events);t.add(s.toString()),yield s;let i=0,r=e.events;for(;i<100;){i&&i%10==0&&(r=r.map(Fi));const e=MeasureRectification.roll(r),s=e.toString();t.has(s)?++i:(i=0,t.add(s),yield e)}}(e)){const o=await ys.regulateMeasureWithRectification(e,s,{solver:t,quota:n}),c=e.deepCopy();c.applySolution(o);const l=Ke(c);if((l.perfect>i.perfect||l.error=i.perfect&&o.priority>r.priority)&&(i=l,r=o),l.perfect)break;if(++a,a>Vi)break}return r};const Yi=async(e,{solver:t,solutionStore:s=$i,logger:i,quotaMax:r=240,quotaFactor:n=16})=>{e.assemble();const a=e.spartito||e.makeSpartito(),o=a.measures.filter(e=>!e.regulated);await Wi(o,{solver:t,quotaMax:r,quotaFactor:n,solutionStore:s,logger:i}),console.assert(e.spartito?.regulated,"doSimpleRegulate: regulation incomplete:",a.measures.filter(e=>!e.regulated).length)};console.info("%cstarry-omr%c v1.0.0 2026-02-17T12:40:18.113Z","color:#fff; background-color: #555;padding: 5px;border-radius: 3px 0 0 3px;","color: #fff; background-color: #007dc6;padding: 5px;border-radius: 0 3px 3px 0;"),exports.DefaultSolutionStore=$i,exports.PyClients=class PyClients{constructor(e,t=console){this.options=e,this.logger=t,this.clients=new Map}async getClient(e){if(this.clients.has(e))return this.clients.get(e);const[t,s,i]=ri(),r=this.options[e];if(!r)throw new Error(`no config for client \`${e}\` found`);try{if("string"==typeof r){const e=new ZeroClient;e.bind(r),s(e)}else{const{scriptPath:e,...t}=r,i=new PyProcessor(e,t,this.logger);await i.bind(`${await ui()}`),s(i)}this.logger.info(`PyClients: ${e} started`)}catch(t){this.logger.error(`PyClients: ${e} start fail: ${JSON.stringify(t)}`),i(t)}return this.clients.set(e,t),t}async checkHost(e){return(await this.getClient(e)).request("checkHost")}async warmup(){const e=Object.keys(this.options);await Promise.all(e.map(e=>this.getClient(e)))}async predictScoreImages(e,...t){const s=e.split("$")[0],i=await this.getClient(s);let r=null;this.logger.info(`[predictor]: ${e} py start..`);const n=Date.now();switch(e){case"layout":r=await i.request("predictDetection",t);break;case"layout$reinforce":r=await i.request("predictReinforce",t);break;case"gauge":case"mask":r=await i.request("predict",t,{by_buffer:!0});break;case"semantic":case"textLoc":r=await i.request("predict",t);break;case"textOcr":case"brackets":case"topo":case"gaugeRenderer":case"jianpu":r=await i.request("predict",...t);break;default:this.logger.error(`[predictor]: no predictor ${e}`)}return this.logger.info(`[predictor]: ${e} py duration: ${Date.now()-n}ms`),r}},exports.abstractOMRStats=e=>{const{costTotal:t,pagesCostTotal:s,pagesTotal:i}=e.reduce((e,t)=>({costTotal:e.costTotal+t.cost,pagesCostTotal:e.pagesCostTotal+t.pagesCost,pagesTotal:e.pagesTotal+t.pages}),{costTotal:0,pagesCostTotal:0,pagesTotal:0});return{costTotal:t,costPerPage:i?t/i:null,pagesTotal:i,scoreN:e.length}},exports.abstractRegulationBeadStats=e=>{const{totalCost:t,pickerCost:s,measureN:i,timeN:r}=e.reduce((e,t)=>({totalCost:e.totalCost+t.totalCost,pickerCost:e.pickerCost+t.pickerCost,measureN:e.measureN+t.measures.computed,timeN:e.timeN+t.measures.tryTimes}),{totalCost:0,pickerCost:0,measureN:0,timeN:0}),n=i>0?t/i:null,a=r>0?t/r:null,{cached:o,simple:c,computed:l,tryTimes:u,solved:h,issue:m,fatal:f}=e.reduce((e,t)=>({cached:e.cached+t.measures.cached,simple:e.simple+t.measures.simple,computed:e.computed+t.measures.computed,tryTimes:e.tryTimes+t.measures.tryTimes,solved:e.solved+t.measures.solved,issue:e.issue+t.measures.issue,fatal:e.fatal+t.measures.fatal}),{cached:0,simple:0,computed:0,tryTimes:0,solved:0,issue:0,fatal:0});return{scoreN:e.length,totalCost:t,pickerCost:s,costPerMeasure:n,costPerTime:a,cached:o,simple:c,computed:l,tryTimes:u,solved:h,issue:m,fatal:f}},exports.abstractRegulationStats=e=>{const{baseCostTotal:t,topoCostTotal:s,baseMeasures:i,topoMeasures:r}=e.reduce((e,t)=>({baseCostTotal:e.baseCostTotal+t.baseCost,topoCostTotal:e.topoCostTotal+t.topoCost,baseMeasures:e.baseMeasures+t.baseMeasures.computed,topoMeasures:e.topoMeasures+(t.topoMeasures.solved+t.topoMeasures.issue+t.topoMeasures.fatal)}),{baseCostTotal:0,topoCostTotal:0,baseMeasures:0,topoMeasures:0}),n=i>0?t/i:null,a=r>0?s/r:null,{cached:o,baseComputed:c,baseSolved:l,topoSolved:u,topoIssue:h,topoFatal:m}=e.reduce((e,t)=>({cached:e.cached+t.baseMeasures.cached,baseComputed:e.baseComputed+t.baseMeasures.computed,baseSolved:e.baseSolved+t.baseMeasures.solved,topoSolved:e.topoSolved+t.topoMeasures.solved,topoIssue:e.topoIssue+t.topoMeasures.issue,topoFatal:e.topoFatal+t.topoMeasures.fatal}),{cached:0,baseComputed:0,baseSolved:0,topoSolved:0,topoIssue:0,topoFatal:0});return{scoreN:e.length,baseCostTotal:t,topoCostTotal:s,baseCostPerMeasure:n,topoCostPerMeasure:a,cached:o,baseComputed:c,baseSolved:l,topoSolved:u,topoIssue:h,topoFatal:m}},exports.constructSystem=vi,exports.convertImage=xi,exports.doRegulate=async(e,{pyClients:t,solver:s,solutionStore:i=$i,onSaveIssueMeasure:r})=>{t?.logger?.info(`[doRegulate] score: ${e.title}`),e.spartito=void 0,e.assemble();const n=e.makeSpartito();n.measures.forEach(t=>e.assignBackgroundForMeasure(t));const a=Date.now(),o=await Wi(n.measures,{solver:s,quotaMax:1e3,solutionStore:i,logger:t?.logger}),c=Date.now(),l=t?await async function(e,{pyClients:t,solver:s,solutionStore:i=$i,onSaveIssueMeasure:r}){t.logger.info(`[RegulateWithTopo] regulate score: ${e.title}, measures: ${e.spartito.measures.length}`);const n=e.spartito.measures.filter(e=>!Ke(e).perfect);if(t.logger.info(`[RegulateWithTopo] basic issues: ${n.length}`),0===n.length)return{solved:0,issue:0,fatal:0};const a=[].concat(...n.map(e=>e.createClusters())),o=await t.predictScoreImages("topo",{clusters:a});console.assert(o.length===a.length,"prediction number mismatch:",a.length,o.length),a.forEach((e,t)=>{const s=o[t];console.assert(s,"no result for cluster:",e.index),e.assignPrediction(s)}),n.forEach(e=>{const t=a.filter(t=>t.index===e.measureIndex);e.applyClusters(t);const{matrixH:s}=ys.estiamteMeasure(e);s.forEach((t,s)=>t.forEach((t,i)=>{e.matrixH[s][i]=.9*e.matrixH[s][i]+t*(1-.9)}))});const c=[],l=[];await Promise.all(n.map(async e=>{const n=e.regulationHash0,a=await Ui(e,{solver:s});a&&(e.applySolution(a),i.set(n,a),i.set(e.regulationHash,e.asSolution()),t.logger.info(`[RegulateWithTopo] solutionStore set: ${e.measureIndex}, ${n}, ${e.regulationHash}`));const o=Ke(e);r?.({measureIndex:e.measureIndex,measure:new EditableMeasure(e),status:o.error?2:1}),o.perfect?c.push(e.measureIndex):o.error&&l.push(e.measureIndex)}));const u=n.length-c.length-l.length;return t.logger.info(`[RegulateWithTopo] score: ${e.title}, solved/issue/fatal: ${c.length}/${u}/${l.length}`),c.length&&t.logger.info(`[RegulateWithTopo] solved measures: ${c.join(", ")}`),l.length&&t.logger.info(`[RegulateWithTopo] error measures: ${l.join(", ")}`),{solved:c.length,issue:u,fatal:l.length}}(e,{pyClients:t,solver:s,solutionStore:i,onSaveIssueMeasure:r}):void 0;return{baseCost:c-a,topoCost:Date.now()-c,baseMeasures:o,topoMeasures:l,qualityScore:n.qualityScore}},exports.doSimpleRegulate=Yi,exports.encodeFindResource=function(e){const t=e.spartito.perform(),s=e.systems.map(e=>e.staves.map(e=>e?.maskImage)).flat(),i=s.filter(Boolean).length>s.length/2,r={},n=new Map,a=new Map,o=new Map;r.unitSize=e.unitSize,r.title={title:e.title};const c=e.pages[0].tokens;if(Array.isArray(c)&&c.length>0){const[t,...s]=c.filter(e=>e.type===B.Text&&"Title"===e.textType).sort((e,t)=>t.fontSize-e.fontSize);t&&(r.title.title=t.text,r.title.t={size:t.fontSize}),s?.length>0&&(s.sort((e,t)=>e.y-t.y),r.title.subtitle=s.map(e=>e.text).join("\n"),r.title.s={size:s.reduce((e,t)=>e+t.fontSize,0)/s.length});const i=c.filter(t=>t.type===B.Text&&"Author"===t.textType&&t.x>e.pages[0].width/2);i.length>0&&(r.title.composer=i.map(e=>e.text).join("\n"),r.title.c={size:i.reduce((e,t)=>e+t.fontSize,0)/i.length})}if(r.page={w:e.pages[0].width,h:e.pages[0].height},r.pages=e.pages.map(t=>{const s=t.source.dimensions.width/t.source.interval,i=t.source.dimensions.height/t.source.interval,[r,n,a,o]=t.source.matrix;return{src:t.source.url,w:s,h:i,x:0,y:0,l1:e.systems.indexOf(t.systems[0]),ls:t.systems.length,matrix:[r,n,a,o,-.5*r*s+-.5*i*a+.5*t.width||0,-.5*n*s+-.5*i*o+.5*t.height||0]}}),r.parts=[],r.lines=[],i){const t=e.staffLayout.partGroups.map(e=>e.range[0]===e.range[1]?[e.range[0]]:e.range),s=e.getTokenMap(),i=[];for(const[c,l]of t.entries()){const u=t.slice(0,c).flat().length,h={measures:[]};e.systems.forEach((r,m)=>{const f=r.staves.slice(),d=t.flat().map(e=>1<m+1&&(p[m+1]=p[m]);continue}const g=[];for(const e of l){const t=d[e];t&&g.push(...t.measures[m].getChords().map(t=>({chord:t,staffIndexInPart:e-u})))}let y=0;const v=p[m],x=[];g.forEach(({staffIndexInPart:l,chord:u})=>{const h=[];let d=u.tip?u.tip.x:u.right-u.left/2;u.noteIds.forEach((e,i)=>{const r=s.get(e),m=`n_${t.length>1?c+"_":""}${f}_${y}`;y++,n.set(r.id,m),a.set(r.id,(r.left+r.right)/2-v),o.set(r.id,l+1),h.push({line:2*-u.ys[i],id:m,staff:l+1,x:(r.left+r.right)/2-d})}),i[f]=i[f]||[],i[f].push(d-v);const p=e.spartito.measures[r.headMeasureIndex+m].events.filter(e=>e.noteIds.some(e=>u.noteIds.includes(e)));x.push({elems:h,x:d-v,type:2**u.division,...p.some(e=>e.grace)?{grace:{}}:{}})}),h.measures[f]={w:p[m+1]-p[m],staves:l.length,notes:x}}});let m=null;e.spartito.measures.forEach((s,i)=>{const r=e.spartito.measureIndexMapping[i],n=s.contexts.flat().filter(e=>js.includes(e.tokenType)&&l.includes(e.staff)).map(e=>{const s=t.find(t=>t.includes(e.staff));return{x:e.x,clef:Hs(e),staff:s.indexOf(e.staff)+1,tick:e.tick}});n.length>0&&h.measures[r]&&(h.measures[r].clefs=n);const a=s.basics.filter((e,t)=>1<0&&(r.parts[c]=h)}e.systems.forEach((s,i)=>{const n=[],a=s.staves[0],o=s.staves[s.staves.length-1],c=a.top+a.staffY-2,l=o.top+o.staffY-2,u=s.staves.slice(),h=t.flat().map(e=>!(1<h.find(t=>t?.index===e)||null),a=t.map((e,t)=>[t,!e]).filter(e=>e[1]);let o=null;a.length>0&&(o=Object.fromEntries(a.map(e=>[e[0]+1,{hide:e[1]}])));let l=0,u=0;const f=t.filter(e=>!!e);if(f.length>0){const e=f[0],t=f[f.length-1],s=e.top+e.staffY-2,i=t.top+t.staffY-2;l=s-c,u=i-s+4}const{list:d,last:p}=t.reduce((e,t,s)=>(null===e.last||null===t?0===s&&l>0?e.list.push(l-4):e.list.push(0):e.list.push(t.top+t.staffY-(e.last.top+e.last.staffY)-4),e.last=t||e.last,e),{last:m,list:[]});m=p;const g=t.map(e=>{if(e?.maskImage){const t=e.imagePosition;return{src:e.maskImage,x:t.x,y:s.top+e.top+t.y-(s.top+e.top+e.staffY-2),w:t.width,h:t.height}}return null}),y=e.spartito.measures[s.headMeasureIndex];n.push({distances:d,imgs:g,y:l,staves:r.length,parti:i,height:u,...o?{details:o}:{},clef:Object.fromEntries(e.spartito.measures[s.headMeasureIndex]?.contexts.flat().filter(e=>js.includes(e.tokenType)&&r.includes(e.staff)).map(e=>[e.staff,Hs(e)])),fifths:y.basics.filter((e,t)=>1<e.spartito.measureIndexMapping[s.headMeasureIndex+i]).filter(e=>Number.isFinite(e));r.lines[i]={m1:f[0],m2:f.length>0?f[f.length-1]+1:void 0,x:s.left,y:s.top+c,w:s.measureBars[s.measureBars.length-1],h:l-c+4,lineStaves:n}});const c={0:"default",1:"brace",2:"bracket",3:"square"},l=Ee(e.staffLayoutCode),u=l.partGroups.map(e=>({sort:e.range[0],part:e})).sort((e,t)=>e.sort-t.sort).map(e=>e.part);r.groups=l.groups.filter(e=>0!==e.group.type).map((e,t)=>({type:c[e.group.type],p1:u.findIndex(t=>t.range.includes(e.range[0])),p2:u.findIndex(t=>t.range.includes(e.range[e.range.length-1]))})).filter(e=>"default"!==e.type)}let l;if(t&&(r.measInfo=t.notation.measures.map((e,t)=>{const s=new Map;return e.notes.forEach(e=>{s.set(e.tick,[...s.get(e.tick)||[],a.get(e.id)])}),Array.from(s.entries()).sort((e,t)=>+e[0]-t[0]).reduce((e,t,s)=>{const i=t[1].find(t=>t>e.last)||t[1][0];return e.list.push(i),e.last=i,e},{last:null,list:[]}).list.filter(Number.isFinite)})),t){l={};const s=new Map;let i,r;t.notation.measures.forEach((e,t)=>{const{numerator:s,denominator:n}=e.timeSignature;l.beats||l.beatsUnit||(l.beats=s,l.beatsUnit=n,i=s,r=n),l.beatInfos=l.beatInfos||[],i===s&&r===n||(i=s,r=n,l.beatInfos.push({tick:e.tick,beats:s,beatsUnit:n})),l.tempos=l.tempos||[],e.events.forEach(t=>{"meta"===t.data.type&&"setTempo"===t.data.subtype&&l.tempos.push({tick:e.tick,tempo:t.data.microsecondsPerBeat})})}),l.measures=t.notation.measures.reduce((e,t,i)=>{const r=Array.from(new Set(t.notes.map(e=>e.tick))).sort((e,t)=>e-t);return t.notes.forEach(e=>{s.set(e.id,r.indexOf(e.tick))}),e[t.tick]={measure:i,duration:t.duration,note_ticks:r},e},{}),l.measureInfos=t.notation.measures.map((e,t)=>({number:String(t+1),fifths:e.keySignature,beats:e.timeSignature.numerator,beatUnit:e.timeSignature.denominator}));const a=t.notation.toPerformingMIDI(t.notation.measures.map((e,t)=>t+1)).tracks,{partGroups:c}=e.staffLayout;let u=a.map((t,s)=>{const i=c[s].key;let r;switch(i){case"vi":case"vi1":case"vi2":r=40;break;case"viola":r=42;break;case"vo":r=55;break;case"basso":r=71;break;default:r=0}return{program:r,channel:s,name:e.instrumentDict[i]??"Piano",track:t}});if(c.some(e=>e.group.grand)){const t=/l\.?h\.?|å·Ķ手|left hand/i,s=/r\.?h\.?|åģ手|right hand/i,i=Object.entries(e.instrumentDict).filter(([e,i])=>t.test(i)||s.test(i)).map(([e,s])=>({key:e,hand:t.test(s)?"left":"right"}));let r,n=null;if(2===i.length&&i[0].hand!==i[1].hand){const t=i.find(e=>"left"===e.hand),s=i.find(e=>"right"===e.hand);n=[e.staffLayout.staffIds.findIndex(e=>e===s?.key),e.staffLayout.staffIds.findIndex(e=>e===t?.key)],r=c.findIndex(e=>e.range[0]<=Math.min(...n)&&e.range[1]>=Math.max(...n))}if(Number.isFinite(r)&&r>-1){const e=u[r],t=[];e.track.forEach(e=>{Number.isFinite(e.staff)&&(t[e.staff]||(t[e.staff]=[]),t[e.staff].push(e)),"meta"===e.type&&t.forEach(t=>{t.push(e)})}),u.splice(r,1,t.filter(Boolean).map(t=>({...e,track:t}))),u=u.flat(),l.rightHandTrack=n[0],l.leftHandTrack=n[1]}else u.sort((e,t)=>e===u[r]?-1:0)}l.tracks=u.map(({program:e,channel:t,name:s})=>({program:e,channel:t,name:s}));const h=u.map(({track:e})=>{const t=new Map;return e.map(e=>{if("noteOn"===e.subtype&&t.set(e.noteNumber,e),"noteOff"===e.subtype){const s=t.get(e.noteNumber);s?.noteNumber===e.noteNumber&&(s.duration=e.ticks-s.ticks)}return e})}),m=new Map(Object.entries(l.measures).map(([e,t])=>[t.measure,+e]));l.events=h.map((e,t)=>e.filter(e=>"channel"===e.type).map(e=>{e?.ids?.[0]&&(e.numId=n.get(e.ids[0]));let i=[0,0,0];switch(e.subtype){case"noteOn":i=[144|e.channel,e.noteNumber,e.velocity];break;case"noteOff":i=[128|e.channel,e.noteNumber,e.velocity?e.velocity:0];break;case"noteAftertouch":i=[160|e.channel,e.noteNumber,e.amount];break;case"controller":i=[176|e.channel,e.controllerType,e.value];break;case"programChange":i=[192|e.channel,e.programNumber,0];break;case"channelAftertouch":i=[208|e.channel,e.amount,0];break;case"pitchBend":i=[224|e.channel,255&e.value,e.value>>7&255];break;default:throw new Error("unhandled event subtype:"+e.subtype)}return{..."noteOn"===e.subtype?{id:n.get(e?.ids?.[0])}:{},tick:e.ticks,channel:e.channel,duration:e.duration,track:t,event:i,elem_ids:e?.ids.map(e=>n.get(e)),measure:e.measure-1,meas_start_tick:m.get(e.measure-1),staff:o.get(e.ids[0]),note:s.get(e.ids[0])}})).flat(1).sort((e,t)=>{for(const s of["tick","measure","track"])if(e[s]!==t[s])return e[s]-t[s];return 0})}return{scoreJson:r,midiJson:l}},exports.evaluateScoreQuality=async(e,t)=>(e.spartito?.regulated||await Yi(e,t),e.spartito.regulated?e.spartito.qualityScore:null),exports.getScoreJsonImages=e=>[...e.pages.map(e=>e?.src),...e.lines.map(e=>e.lineStaves.map(e=>e.imgs)).flat(2).map(e=>e?.src).filter(Boolean)],exports.predictPages=async(e,t,s={outputWidth:1200,pageStore:Ai,onReplaceImage:Pi})=>{const i=e.logger;s.outputWidth=s.outputWidth||1200,s.pageStore=s.pageStore||Ai,s.onReplaceImage=s.onReplaceImage||Pi,s.processes=Array.isArray(s.processes)&&s.processes.length>0?s.processes:["layout","text","gauge","mask","semantic","brackets"];const r=new OMRProgress(s.onProgress),n=Date.now();t.forEach(e=>{e.layout?.detection?e.layout.detection.areas=e.layout.detection?.areas?.filter(e=>e?.staves?.middleRhos?.length>0):delete e.layout});const a=new Score({title:s?.title,stavesCount:2,paperOptions:{raggedLast:!0,raggedLastBottom:!0},headers:{},instrumentDict:{},settings:{enabledGauge:s.processes.includes("gauge"),semanticConfidenceThreshold:1}});i.info(`[predictor]: download_source_images-${t.length}`);const o=await Promise.all(t.map(e=>c.loadImage(e.url)));i.info(`[predictor]: source_images_downloaded-${t.length}`);const l=o.map((e,s)=>function(e,t){let s=e.height/e.width*t;const i=new c.Canvas(t,s);return i.getContext("2d").drawImage(e,0,0,t,t*e.height/e.width),i}(e,t[s].layout?.sourceSize?.width??e.width));r.setTotal("layout",o.length),r.setTotal("text",o.length);const u=await Promise.all(l.map(async(s,i)=>t[i].layout?!t[i].enableGauge&&t[i]?.layout?.detection?.areas?.length?(await e.predictScoreImages("layout$reinforce",[s.toBufferSync("png")],[t[i].layout]))?.[0]:t[i].layout:(await e.predictScoreImages("layout",[s.toBufferSync("png")]))?.[0]));u.forEach(e=>{e.detection.areas=e.detection?.areas?.filter(e=>e?.staves?.middleRhos?.length>0)});const h=new Map,m=async e=>{const t=await s.onReplaceImage(e);h.set(e,t)};async function f(e,i){const{url:n,key:o,layout:u,enableGauge:h}=t[i],m=yi(JSON.stringify({key:o||n,layout:u,enableGauge:h})),f=await s.pageStore.get(m),d=!s.renew&&(f&&!t[i].renew||!e.detection.areas?.length),p=a.pages[i]=d&&f?ae(f,$s):new Page({source:{name:o||("string"==typeof n&&/https?:\/\//.test(n)?n:null),size:0,url:n,crop:{unit:"%",x:0,y:0,width:100,height:100},dimensions:e.sourceSize,matrix:[Math.cos(e.theta),-Math.sin(e.theta),Math.sin(e.theta),Math.cos(e.theta),0,0],interval:e.interval,needGauge:t[i].enableGauge},layout:e.detection}),g=d?null:await async function({page:e,score:t,pageCanvas:s}){if(!e?.layout?.areas?.length)return null;e.width=t.pageSize.width/t.unitSize,e.height=t.pageSize.height/t.unitSize;const i=new c.Canvas(s.width,s.height),r=i.getContext("2d");r.save();const{width:n,height:a}=i,[o,l,u,h]=e.source.matrix;r.setTransform(o,l,u,h,-.5*n+.5*o*n+.5*l*a,-.5*a+.5*u*n+.5*h*a),r.drawImage(s,0,0),r.restore();const m=e.source.interval;return e.layout.areas.map((t,i)=>{console.assert(t.staves?.middleRhos?.length,"[shootImageByDetection] empty area:",t);const n=r.getImageData(t.x,t.y,t.width,t.height),a=new c.Canvas(t.width,t.height);a.getContext("2d").putImageData(n,0,0);const o=t.staves,l={width:t.width,height:t.height},u=s.width/2/m,h=s.height/2/m,f={x:(t.x+t.staves.phi1)/m-u+e.width/2,y:t.y/m-h+e.height/2};e.systems[i]=vi({page:e,backgroundImage:a.toBufferSync("png"),detection:o,imageSize:l,position:f})}),i}({score:a,page:p,pageCanvas:l[i]});return r.increase("layout"),{page:p,omit:d,hash:m,correctCanvas:g}}!function(e,t,s){const i=t.filter(e=>e&&e.detection&&e.detection.areas?.length).map((e,t)=>{const s=Math.min(...e.detection.areas.filter(e=>e.staves?.middleRhos?.length).map(e=>e.staves.interval)),i=e.sourceSize;return{...e,index:t,vw:i.width/s,hwr:i.height/i.width}});if(!i.length)throw new Error("empty result");const r=i.sort((e,t)=>t.vw-e.vw)[0],n=Math.max(...i.map(e=>e.hwr));e.unitSize=s/r.vw,e.pageSize={width:s,height:s*n}}(a,u,s.outputWidth);const d=u.reduce((e,t)=>e+(t.detection.areas?.length??0),0),p=u.reduce((e,t)=>e+(t.detection.areas?.reduce?.((e,t)=>e+(t.staves?.middleRhos?.length??0),0)??0),0);r.setTotal("gauge",p),r.setTotal("mask",p),r.setTotal("semantic",p),r.setTotal("brackets",d);const g=[],y=[],v=Date.now();let x=0;for(const n of u.keys()){const o=[],{page:l,correctCanvas:d,omit:p,hash:v}=await f(u[n],n);if(o.push(m(l.source.url)),o.push(...l.systems.map(e=>m(e.backgroundImage))),i.info(`[predictor]: check_cache_pageIndex-${n} omit: ${p}`),p)y.push(n);else{const u=l.systems.map((e,t)=>e.staves.map((s,i)=>({pageIndex:n,systemIndex:t,staffIndex:i,page:l,system:e,staff:s}))).flat(1);await Mi([async()=>{if(!s.processes.includes("brackets"))return;const t=l.layout,a=l.source.interval,o=Date.now(),u=l.systems.map((e,s)=>{const{x:i,y:r,staves:{middleRhos:n,phi1:o}}=t.areas[s],l=n[0],u=n[n.length-1],h={x:i+o-4*a,y:r+l-4*a,width:8*a,height:u-l+8*a},m=new c.Canvas(64,h.height/a*8);return m.getContext("2d").drawImage(d,h.x,h.y,h.width,h.height,0,0,m.width,m.height),{system:e,buffer:m.toBufferSync("png")}});i.info(`[predictor]: brackets js [pageIndex-${n}] duration: ${Date.now()-o}`);const h=await e.predictScoreImages("brackets",{buffers:u.map(e=>e.buffer)});r.increase("brackets",u.length),u.forEach(({system:e},t)=>{h[t]&&(e.bracketsAppearance=h[t])})},async()=>{if(s.processes.includes("text"))try{const t=Date.now(),o=d.toBufferSync("png"),c=(await e.predictScoreImages("textLoc",[o]))[0].filter(e=>e.score>0);if(c.length>0){const[t]=await e.predictScoreImages("textOcr",{buffers:[o],location:c});l.assignTexts(t.areas,t.imageSize),l.assemble()}if(i.info(`[predictor]: text js [pageIndex-${n}] duration: ${Date.now()-t}`),r.increase("text"),!s.title){const e=a.pages[0].tokens;if(Array.isArray(e)&&e.length>0){const[t]=e.filter(e=>e.type===B.Text&&"Title"===e.textType).sort((e,t)=>t.fontSize-e.fontSize);t&&(a.title=t.text)}}}catch(e){i.error(`[predictor]: text js [pageIndex-${n}] ${JSON.stringify(e)}`)}},async()=>{var c;await(c=async()=>{if(s.processes.includes("gauge")&&!1!==t[n].enableGauge){const t=await e.predictScoreImages("gauge",await Promise.all(u.map(async({staffIndex:e,system:t})=>{const s=Date.now(),r=await Ei(t,e,{paddingLeft:Si,spec:bi});return i.info(`[predictor]: gauge js shoot [page-${n}, staff-${e}] duration: ${Date.now()-s}`),r.toBufferSync("png")})));for(const[s,{system:n,staff:a,pageIndex:c,staffIndex:l}]of u.entries()){const u=Date.now();i.info(`[predictor]: gauge js [page-${c}, staff-${l}] start..`),await Ii({pyClients:e,system:n,staff:a,staffIndex:l,gaugeImage:t[s].image}),i.info(`[predictor]: gauge js [page-${c}, staff-${l}] duration: ${Date.now()-u}`),r.increase("gauge"),o.push(m(a.backgroundImage))}}else for(const[e,{system:t,staff:s,staffIndex:i}]of u.entries())await Ni({system:t,staff:s,staffIndex:i}),o.push(m(s.backgroundImage))},c()),await Mi([async()=>{if(!s.processes.includes("mask"))return;const t=await e.predictScoreImages("mask",u.map(({staff:e})=>e.backgroundImage));for(const[e,{staff:s,staffIndex:a}]of u.entries()){const c=Date.now();await Ci({staff:s,staffIndex:a,maskImage:t[e].image}),i.info(`[predictor]: mask js [page-${n}, ${e}, staff-${a}] duration: ${Date.now()-c}`),r.increase("mask"),o.push(m(s.maskImage))}},async()=>{if(!s.processes.includes("semantic"))return;const t=ae(await e.predictScoreImages("semantic",u.map(({staff:e})=>e.backgroundImage)),$s);u.forEach(({system:e})=>e.clearTokens());for(const[e,{staffIndex:s,system:o,staff:c}]of u.entries()){const l=Date.now();await _i({score:a,system:o,staff:c,staffIndex:s,graph:t[e]}),i.info(`[predictor]: semantic js [page-${n}, system-${o.index}, staff-${c.index}] duration: ${Date.now()-l}`),r.increase("semantic")}}])}]),++x}g.push(Promise.all(o).then(()=>(Oi(l,e=>h.get(e)),i.info(`[predictor]: pageStore set: [${n}]`),s.pageStore.set(v,JSON.stringify(l)))))}const S=Date.now();await Promise.all(g),i.info(`[predictor]: inferenceStaffLayout: ${a.title}, [${a.systems.length}]`),a.inferenceStaffLayout(),i.info(`[predictor]: done: ${a.title}`),a.assemble();const b=Date.now();return{score:a,omitPages:y,stat:{cost:b-n,pagesCost:S-v,pages:x}}},exports.regulateWithBeadSolver=async(e,{logger:t,pickers:s,solutionStore:i=$i,ignoreCache:r,freshOnly:n,onSaveIssueMeasure:a,onProgress:o,onPassStart:c})=>{e.spartito=void 0,e.assemble();const l=e.makeSpartito();l.measures.forEach(t=>e.assignBackgroundForMeasure(t));const u=Date.now();t?.info(`[regulateWithBeadSolver] begin, measure total: ${l.measures.length}.`,r?"ignoreCache":"",n?"freshOnly":"");const h=l.measures.filter(e=>e.events?.length&&!e.patched).map(e=>({origin:e.deepCopy(),current:e,evaluation:void 0,baseQuality:0}));for(const e of l.measures.filter(e=>e.events?.length)){const t=s.find(t=>t.n_seq>e.events.length+1);t&&await Fs(e,t)}l.rectifyTimeSignatures(t),s.forEach(e=>e.cost=0);const m={cached:0,simple:0,computed:0,tryTimes:0,solved:0,issue:0,fatal:0};if(t?.info("[regulateWithBeadSolver] measures estimation finished."),i&&!r)for(const e of h){const t=await i.get(e.origin.regulationHash0);t&&(e.current.applySolution(t),++m.cached,e.evaluation=Ke(e.current),e.baseQuality=e.evaluation.qualityScore)}t?.info("[regulateWithBeadSolver]",`${m.cached}/${h.length}`,"solutions loaded.");const f=t?null:process.stdout;m.cached&&f?.write(`${m.cached}c`),h.forEach(e=>{const i=s.find(t=>t.n_seq>e.current.events.length+1);i?e.picker=i:t?.info(`[regulateWithBeadSolver] measure[${e.current.measureIndex}] size out of range:`,e.current.events.length)});const d=h.filter(e=>e.picker&&(!e.evaluation||!e.evaluation.fine&&!n));d.forEach(e=>{const s=e.current.deepCopy();s.staffGroups=e.current.staffGroups,s.regulate({policy:"simple"});const i=Ke(s);(!e.evaluation||i.qualityScore>e.evaluation.qualityScore)&&(e.evaluation=i,Object.assign(e.current,s),i.perfect&&(t?.info(`[regulateWithBeadSolver] measure[${e.current.measureIndex}] regulated by simple policy.`),++m.simple))}),m.computed=d.length-m.simple,m.simple&&f?.write(`${m.simple}s`);const p=(e,s,i)=>{t?.info(`[regulateWithBeadSolver] measure[${e.measureIndex}/${l.measures.length}] regulated${i?"+":"-"}: ${s.qualityScore.toFixed(3)}, ${s.fine?"solved":s.error?"error":"issue"}, ${e.regulationHash}`),f?.write(`[${s.fine?"32":s.error?"31":"33"}m${i?"+":"-"}`)},g=l.measures.length,y=()=>d.filter(e=>!e.evaluation?.fine).length,v=o?(e,t,s,i)=>{o(e,t,s,{pass:i.pass,remaining:y(),total:g})}:void 0;c?.(1,"Imperfect",y()),m.tryTimes+=await Hi(d,p,f,{stopLoss:.05,quotaMax:200,quotaFactor:3,ptFactor:1},ji.Imperfect,1,v),c?.(2,"NotFine",y()),m.tryTimes+=await Hi(d,p,f,{stopLoss:.08,quotaMax:1e3,quotaFactor:20,ptFactor:1.6},ji.NotFine,2,v),c?.(3,"ErrorOnly",y()),m.tryTimes+=await Hi(d,p,f,{stopLoss:.08,quotaMax:1e3,quotaFactor:40,ptFactor:3},ji.ErrorOnly,3,v),d.forEach(({evaluation:e,baseQuality:t,current:s,origin:r})=>{e.fine?++m.solved:e.error?++m.fatal:++m.issue,(e.qualityScore>t||!t)&&(i.set(r.regulationHash0,{...s.asSolution(r),priority:-s?.solutionStat?.loss}),s.regulationHash!==r.regulationHash0&&i.set(s.regulationHash,{...s.asSolution(),priority:-s?.solutionStat?.loss})),e.fine||a?.({measureIndex:s.measureIndex,measure:new EditableMeasure(s),status:e.error?2:1})});const x=Date.now(),S=s.reduce((e,t)=>e+t.cost,0),b=l.qualityScore,k=x-u;return t?.info("[regulateWithBeadSolver] done in ",k,"ms, qualityScore:",b),n&&(m.cached=0),{totalCost:x-u,pickerCost:S,measures:m,qualityScore:b}},exports.replaceScoreJsonImages=(e,t=e=>e)=>{const s=JSON.parse(JSON.stringify(e));return s.pages.forEach(e=>{e?.src&&(e.src=t(e?.src))}),s.lines.forEach(e=>{e.lineStaves.forEach(e=>{e.imgs.forEach(e=>{e?.src&&(e.src=t(e.src))})})}),s},exports.saveEditableMeasures=async(e,t,s,{status:i=2,solutionStore:r}={})=>{e.assemble();const n=e.spartito||e.makeSpartito(),a=t.map(e=>n.measures.find(t=>t.measureIndex===e)).filter(Boolean);if(r){const e=await r.batchGet(a.map(e=>e.regulationHash0));a.forEach((t,s)=>{const i=e[s];i&&t.applySolution(i)})}a.forEach(e=>{s({measureIndex:e.measureIndex,measure:new EditableMeasure(e),status:i})})},exports.starry=$s,exports.updateScorePatches=(e,t,s={})=>{if(console.assert(t.every(e=>e.validRegulated),"[updateScorePatches] some measures not valid regulated:",t.filter(e=>!e.validRegulated)),e.patches=t.map(e=>e.createPatch()),s?.solutionStore){e.assemble();const i=e.makeSpartito();t.forEach(e=>{if(s.solutionStore.set(e.regulationHash,{...e.asSolution(),priority:1}),e.regulationHash0!==e.regulationHash){const t=i.measures.find(t=>t.measureIndex===e.measureIndex);s.solutionStore.set(e.regulationHash0,{...e.asSolution(t),priority:1})}})}}; +//# sourceMappingURL=index.js.map diff --git a/backend/omr/dist/index.js.map b/backend/omr/dist/index.js.map new file mode 100644 index 0000000000000000000000000000000000000000..669d4cda71fc5640997a73d2fbf51dec946fd8f2 --- /dev/null +++ b/backend/omr/dist/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../../../src/starry/interfaces.ts","../../../src/starry/semanticPoint.ts","../../libs/browserComponents.ts","../../../src/starry/token.ts","../../../src/starry/aux_/typedJSON.ts","../../../src/measureLayout/measureLayout.ts","../../../src/measureLayout/grammar.jison.js","../../../src/staffLayout/staffLayout.ts","../../../src/staffLayout/grammar.jison.js","../../../src/staffLayout/parser.ts","../../../src/starry/logger.ts","../../../src/starry/utils.ts","../../../src/starry/term.ts","../../../src/starry/measureEvaluator.ts","../../../src/starry/semanticGraph.ts","../../../src/starry/scoreComponents.ts","../../../src/starry/semanticTopology.ts","../../../src/performer/types.ts","../../../node_modules/@k-l-lambda/music-widgets/source/inc/MIDI/midifile.js","../../../node_modules/@k-l-lambda/music-widgets/source/inc/MIDI/stream.js","../../../node_modules/@k-l-lambda/music-widgets/source/inc/MIDI/midifileEx.js","../../../node_modules/@k-l-lambda/music-widgets/source/inc/MIDI/streamEx.js","../../../node_modules/@k-l-lambda/music-widgets/source/inc/MIDI/index.js","../../../node_modules/@k-l-lambda/music-widgets/source/inc/MidiSequence.js","../../../node_modules/@k-l-lambda/music-widgets/source/inc/MusicNotation.js","../../../node_modules/@k-l-lambda/music-widgets/source/inc/MidiPlayer.js","../../../node_modules/@k-l-lambda/music-widgets/source/inc/Matcher/config.js","../../../node_modules/@k-l-lambda/music-widgets/source/inc/Matcher/node.js","../../../node_modules/@k-l-lambda/music-widgets/source/inc/Matcher/navigator.js","../../../node_modules/@k-l-lambda/music-widgets/source/inc/Matcher/index.js","../../../node_modules/@k-l-lambda/music-widgets/source/inc/MidiUtils.js","../../../node_modules/@k-l-lambda/music-widgets/index.js","../../../src/performer/notation.ts","../../../node_modules/crypto-js/core.js","../../../node_modules/crypto-js/sha256.js","../../../src/starry/hashVector.ts","../../../node_modules/matrix-inverse/matrix-inverse.js","../../../src/starry/equationSolver.ts","../../../src/starry/eventTopology.ts","../../../src/starry/spartitoMeasure.ts","../../../src/starry/patch.ts","../../../src/starry/spartito.ts","../../../src/starry/staffContext.ts","../../../src/starry/score.ts","../../../src/measureLayout/parser.ts","../../../src/starry/editableMeasure.ts","../../../src/starry/beadSolver.ts","../../../src/isomorphic/converter.ts","../../../node_modules/events/events.js","../../libs/async-queue.ts","../../libs/ZeroClient.ts","../../libs/PyProcessor.ts","../../../node_modules/util/support/isBuffer.js","../../../node_modules/util/node_modules/inherits/inherits_browser.js","../../../node_modules/util/node_modules/inherits/inherits.js","../../../node_modules/util/util.js","../../libs/predictors.ts","../../../node_modules/crypt/crypt.js","../../../node_modules/charenc/charenc.js","../../../node_modules/sha1/sha1.js","../../libs/util.ts","../../libs/predictPages.ts","../../../src/starry/measureRectification.ts","../../libs/store.ts","../../libs/regulationBead.ts","../../libs/regulation.ts","../src/index.ts"],"sourcesContent":["import { MetaNotation, TokenPosition } from '../performer';\nimport { Term, EventTerm, ContextedTerm, ChordmodeTerm, MarkTerm, Accessory, GraceType, TremoloLink } from './term';\nimport { HashVector } from './hashVector';\nimport { StaffLayout } from '../staffLayout';\nimport * as measureLayout from '../measureLayout';\n\ninterface Rect {\n\tx: number;\n\ty: number;\n\twidth: number;\n\theight: number;\n}\n\ninterface ChordRect {\n\tx: number;\n\tstemX: number;\n\twidth: number;\n\ttop: number;\n\tbottom: number;\n\tstemDirection: string;\n\ttip?: { x: number; y: number };\n}\n\ninterface VLine {\n\tx: number;\n\ty1: number;\n\ty2: number;\n}\n\ninterface Fraction {\n\tnumerator: number;\n\tdenominator: number;\n}\n\ntype DivisionVecotor = [number, number, number, number, number, number, number, number, number]; // [0, 1, 2, 3, 4, 5, 6, 7, 8]\n\ntype MeasureBarType = null | 'Terminal' | 'Segment' | 'VoltaRight';\n\ninterface EventFeature {\n\tdivisions: DivisionVecotor;\n\tdots: [number, number]; // [1, 2]\n\tbeams: [number, number, number]; // ['Open', 'Continue', 'Close']\n\tstemDirections: [number, number]; // ['u', 'd']\n\tgrace: number;\n\ttremoloCatcher: number;\n}\n\ninterface EventPredisposition {\n\tgrace: boolean;\n\ttimeWarped: number;\n\tfullMeasure: number;\n\tfake: number;\n\tfakeP: number;\n\ttick: number;\n\tdivision: number;\n\tdots: number;\n\tdivisionVector: DivisionVecotor;\n\tdotsVector: [number, number, number]; // [0, 1, 2]\n\tbeamVector: [number, number, number, number]; // [null, open, continue, close]\n\tstemDirectionVector: [number, number, number]; // [null, up, down]\n}\n\ninterface ChordColumn {\n\tleft: number;\n\tright: number;\n\tpivotX: number;\n\tys: number[];\n\tnoteIds: string[]; // order by upwards\n\tdivision: number;\n\tdots: number;\n\trest: boolean;\n\tstemDirection: string;\n\taccessories?: Accessory[];\n\tgrace?: GraceType;\n\ttremolo?: number;\n\ttremoloLink?: TremoloLink;\n\tbeam?: string;\n\ttip?: { x: number; y: number };\n\n\t//stemTipY?: number;\n\n\t// for topology\n\tstaff?: number;\n\tid?: number;\n\tprevId?: number;\n\ttickGroup?: number;\n\n\tfeature?: EventFeature;\n}\n\ninterface EventMeasure {\n\tevents: EventTerm[];\n\tcontexts: ContextedTerm[];\n}\n\ninterface StaffBasic {\n\ttimeSignature: Fraction;\n\ttimeSigNumeric: boolean;\n\tkeySignature: number;\n\tdoubtfulTimesig: boolean;\n}\n\ninterface EventMeasureColumn {\n\tmeasureIndex: number;\n\t//startX: number;\n\t//width: number;\n\n\trows: EventMeasure[]; // [staff]\n\tmarks: MarkTerm[];\n\tduration: number;\n\n\tvoices?: number[][]; // [voice, id]\n\tbreak?: boolean;\n\tpageBreak?: boolean;\n\tbasics?: StaffBasic[]; // [staff]\n\txMap?: Map;\n\tregularLoss?: number;\n\tvoltaBegin: boolean;\n\tvoltaEnd: boolean;\n\talternative: boolean;\n\tbarTypes: Record;\n}\n\ninterface EventSystem {\n\tstaffMask: number;\n\tcolumns: EventMeasureColumn[]; // [measure]\n}\n\ninterface TermMeasure extends Partial {\n\tterms: Term[];\n\tduration: number;\n\tbreak?: boolean;\n\tpageBreak?: boolean;\n}\n\ntype TermRow = TermMeasure[];\n\ninterface TermStaff {\n\trows: TermRow[]; // [system]\n}\n\ninterface Pitch {\n\tnote: number;\n\talter: number;\n}\n\nenum PageLayoutMethod {\n\tByLines = 'ByLines',\n\tByBlocks = 'ByBlocks',\n}\n\ninterface RecognitionSettings {\n\tenabledGauge: boolean; // staves straighten\n\tpageLayoutMethod: PageLayoutMethod;\n\tsemanticConfidenceThreshold: number;\n}\n\ninterface Crop {\n\taspect?: number | undefined;\n\tx?: number | undefined;\n\ty?: number | undefined;\n\twidth?: number | undefined;\n\theight?: number | undefined;\n\tunit?: 'px' | '%' | undefined;\n}\n\n//\t0 2 4\t\t\tr r tx\n//\t1 3 5\t\t\tr r ty\ntype Matrix2x3 = [number, number, number, number, number, number];\n\ninterface SourceImageFile {\n\tname: string;\n\tsize: number;\n\turl: string;\n\tcrop?: Crop;\n\tmatrix: Matrix2x3;\n\tdimensions: {\n\t\twidth: number;\n\t\theight: number;\n\t};\n\tinterval: number;\n\tneedGauge?: boolean;\n}\n\ninterface Area extends Rect {\n\tstaves: {\n\t\tinterval: number;\n\t\tmiddleRhos: number[];\n\t\tphi1: number;\n\t\tphi2: number;\n\t};\n}\n\ninterface PageLayout {\n\tareas: Area[];\n}\n\ninterface MeasureBrief {\n\ttimeSignature: Fraction;\n}\n\ninterface VoiceMeasure {\n\ttickMap: { [key: number]: EventTerm | ChordmodeTerm };\n\tduration: number;\n\n\ttimeSignature?: Fraction;\n\ttimeSigNumeric?: boolean;\n\tkeySignature?: number;\n\n\tcontextedTerms: ContextedTerm[];\n\tmarks: MarkTerm[];\n\n\tbreak?: boolean;\n\tpageBreak?: boolean;\n\tbar?: string;\n\n\tempty?: boolean;\n\n\theadStaff?: number;\n\ttailStaff?: number;\n\n\ttrait?: HashVector;\n\tvoiceIndex?: number;\n}\n\ninterface TermVoice {\n\tmode: string;\n\tmeasures: VoiceMeasure[];\n}\n\ninterface VoicesStaff {\n\tcontext?: string;\n\tname?: string;\n\tvoices: TermVoice[];\n}\n\ninterface PaperOptions {\n\traggedLast: boolean;\n\traggedBottom: boolean;\n\traggedLastBottom: boolean;\n\tslashSystemSeparator: boolean;\n}\n\ninterface MusicHeaders {\n\ttitle: string;\n\tsubtitle: string;\n\tsubsubtitle: string;\n\tcomposer: string;\n\tpoet: string;\n\tarranger: string;\n\topus: string;\n\tcopyright: string;\n\tinstrument: string;\n\tdedication: string;\n\ttagline: string;\n}\n\ninterface MusicSheet {\n\ttitle: string;\n\tpageSize: {\n\t\t// in pixels\n\t\twidth: number;\n\t\theight: number;\n\t};\n\tunitSize: number;\n\tmeasureLayout?: measureLayout.MeasureLayout;\n\tstaffLayout: StaffLayout;\n\tpaperOptions?: Partial;\n\theaders: Partial;\n\n\tvoiceStaves: VoicesStaff[];\n\tinstrumentDict: { [key: string]: string };\n}\n\ninterface Performing {\n\tnotation: MetaNotation;\n\ttokenMap: Map;\n}\n\ntype RegulationPolicy = 'test' | 'simple' | 'equations' | 'advanced';\n\ninterface RegulationOptions {\n\tpolicy?: RegulationPolicy;\n\tquota?: number;\n\t[key: string]: any;\n}\n\ninterface ScoreData {\n\tversion?: number;\n\t[key: string]: any;\n}\n\ninterface AdditionalLineStack {\n\tleft: number;\n\tright: number;\n\tn: number;\n}\n\ninterface RegulationSolutionEvent {\n\tid: number;\n\ttick: number;\n\ttickGroup: number;\n\ttimeWarp: Fraction;\n\tdivision?: number;\n\tdots?: number;\n\tbeam?: string;\n\tgrace?: boolean;\n\tfullMeasure?: boolean;\n}\n\ninterface RegulationSolution {\n\tevents: RegulationSolutionEvent[];\n\tvoices: number[][];\n\tduration: number;\n\tpriority?: number;\n\testimatedDuration?: number;\n\ttimeSignature?: Fraction;\n}\n\ninterface BackgroundImage {\n\turl: string;\n\tposition: Rect;\n\toriginal?: boolean;\n}\n\nenum TextType { //\tLEVEL\t\t\tCHARSET\n\tTitle = 'Title', // page\t\t\t\tgeneral\n\tAuthor = 'Author', // page\t\t\t\tgeneral\n\tTempoText = 'TempoText', // measure\t\t\tspecific vocabulary\n\tTempoNumeral = 'TempoNumeral', // measure\t\t\tsymbolic and numeric\n\tTextualMark = 'TextualMark', // term\t\t\t\tspecific vocabulary\n\tLyric = 'Lyric', // term\t\t\t\tgeneral\n\tInstrument = 'Instrument', // system\t\t\tspecific vocabulary\n\tMeasureNumber = 'MeasureNumber', // system\t\t\tnumeric\n\tTimes = 'Times', // staff\t\t\tnumeric\n\tAlternation1 = 'Alternation1', // measure\t\t\tnumeric\n\tAlternation2 = 'Alternation2', // measure\t\t\tnumeric\n\tChord = 'Chord', // measure\t\t\tspecific domian\n\tPageMargin = 'PageMargin', // page\t\t\t\tgeneral\n\tOther = 'Other', // page\t\t\t\tgeneral\n}\n\nexport {\n\tRect,\n\tChordRect,\n\tVLine,\n\tFraction,\n\tMeasureBarType,\n\tEventFeature,\n\tEventPredisposition,\n\tChordColumn,\n\tEventMeasure,\n\tEventMeasureColumn,\n\tEventSystem,\n\tTermMeasure,\n\tTermRow,\n\tTermStaff,\n\tPitch,\n\tPageLayoutMethod,\n\tRecognitionSettings,\n\tSourceImageFile,\n\tPageLayout,\n\tStaffBasic,\n\tVoiceMeasure,\n\tVoicesStaff,\n\tTermVoice,\n\tMeasureBrief,\n\tAdditionalLineStack,\n\tTextType,\n\tMusicSheet,\n\tPerforming,\n\tRegulationOptions,\n\tScoreData,\n\tMusicHeaders,\n\tMatrix2x3,\n\tRegulationSolutionEvent,\n\tRegulationSolution,\n\tBackgroundImage,\n};\n","import sha1 from 'js-sha1';\n\nenum SemanticType {\n\t// clefs\n\tClefG = 'ClefG',\n\tClefF = 'ClefF',\n\tClefC = 'ClefC',\n\n\t// noteheads\n\tNoteheadS0 = 'NoteheadS0',\n\tNoteheadS1 = 'NoteheadS1',\n\tNoteheadS2 = 'NoteheadS2',\n\tNoteheadS1stemU = 'NoteheadS1stemU',\n\tNoteheadS1stemD = 'NoteheadS1stemD',\n\tNoteheadS2stemU = 'NoteheadS2stemU',\n\tNoteheadS2stemD = 'NoteheadS2stemD',\n\n\tvline_Stem = 'vline_Stem',\n\n\t// flags\n\tFlag3 = 'Flag3',\n\n\t// beams\n\tBeamLeft = 'BeamLeft',\n\tBeamContinue = 'BeamContinue',\n\tBeamRight = 'BeamRight',\n\n\t// tremolos\n\tTremoloLeft = 'TremoloLeft',\n\tTremoloRight = 'TremoloRight',\n\tTremoloMiddle = 'TremoloMiddle',\n\n\t// dots (duration)\n\tDot = 'Dot',\n\n\t// rests\n\tRest0 = 'Rest0',\n\tRest1 = 'Rest1',\n\tRest2 = 'Rest2',\n\tRest3 = 'Rest3',\n\tRest4 = 'Rest4',\n\tRest5 = 'Rest5',\n\tRest6 = 'Rest6',\n\tRest0W = 'Rest0W', // capital 'R' in lilypond\n\tRestM1 = 'RestM1',\n\n\t// accidentals\n\tAccNatural = 'AccNatural',\n\tAccSharp = 'AccSharp',\n\tAccDoublesharp = 'AccDoublesharp',\n\tAccFlat = 'AccFlat',\n\tAccFlatflat = 'AccFlatflat',\n\n\t// volta\n\tvline_VoltaLeft = 'vline_VoltaLeft',\n\tvline_VoltaRight = 'vline_VoltaRight',\n\tVoltaLeft = 'VoltaLeft',\n\tVoltaRight = 'VoltaRight',\n\n\tVoltaAlternativeBegin = 'VoltaAlternativeBegin',\n\t//VoltaAlternativeEnd\t= \"VoltaAlternativeEnd\",\n\n\t// vertical bars\n\tBarMeasure = 'BarMeasure',\n\tvline_BarMeasure = 'vline_BarMeasure',\n\tvline_BarTerminal = 'vline_BarTerminal',\n\tvline_BarSegment = 'vline_BarSegment',\n\n\t// slur & tie\n\tSlurBegin = 'SlurBegin',\n\tSlurEnd = 'SlurEnd',\n\n\t// time signature\n\tTimesigC44 = 'TimesigC44',\n\tTimesigC22 = 'TimesigC22',\n\tTimesigZero = 'TimesigZero',\n\tTimesigOne = 'TimesigOne',\n\tTimesigTwo = 'TimesigTwo',\n\tTimesigThree = 'TimesigThree',\n\tTimesigFour = 'TimesigFour',\n\tTimesigFive = 'TimesigFive',\n\tTimesigSix = 'TimesigSix',\n\tTimesigSeven = 'TimesigSeven',\n\tTimesigEight = 'TimesigEight',\n\tTimesigNine = 'TimesigNine',\n\n\t// octave shifts\n\tOctaveShift8va = 'OctaveShift8va',\n\tOctaveShift8vb = 'OctaveShift8vb',\n\tOctaveShift8 = 'OctaveShift8',\n\tOctaveShift0 = 'OctaveShift0',\n\n\t// numbers\n\tZero = 'Zero',\n\tOne = 'One',\n\tTwo = 'Two',\n\tThree = 'Three',\n\tFour = 'Four',\n\tFive = 'Five',\n\tSix = 'Six',\n\tSeven = 'Seven',\n\tEight = 'Eight',\n\tNine = 'Nine',\n\n\t// dynamics\n\tf = 'f',\n\tp = 'p',\n\tm = 'm',\n\tn = 'n',\n\tr = 'r',\n\ts = 's',\n\tz = 'z',\n\n\tCrescendoBegin = 'CrescendoBegin',\n\tCrescendoEnd = 'CrescendoEnd',\n\tDecrescendoBegin = 'DecrescendoBegin',\n\tDecrescendoEnd = 'DecrescendoEnd',\n\n\t// scripts\n\tScriptFermata = 'ScriptFermata',\n\tScriptShortFermata = 'ScriptShortFermata',\n\tScriptSforzato = 'ScriptSforzato',\n\tScriptStaccato = 'ScriptStaccato',\n\tScriptStaccatissimo = 'ScriptStaccatissimo',\n\tScriptTurn = 'ScriptTurn',\n\tScriptTrill = 'ScriptTrill',\n\tScriptSegno = 'ScriptSegno',\n\tScriptCoda = 'ScriptCoda',\n\tScriptArpeggio = 'ScriptArpeggio',\n\tScriptPrall = 'ScriptPrall',\n\tScriptMordent = 'ScriptMordent',\n\tScriptMarcato = 'ScriptMarcato',\n\tScriptTenuto = 'ScriptTenuto',\n\tScriptPortato = 'ScriptPortato',\n\n\t// pedal\n\tPedalStar = 'PedalStar',\n\tPedalPed = 'PedalPed',\n\n\t// additional annotation\n\tKeyAcc = 'KeyAcc',\n\tTempoNotehead = 'TempoNotehead',\n\tGraceNotehead = 'GraceNotehead',\n\tSignLined = 'SignLined',\n\tSignInterval = 'SignInterval',\n\n\trect_Text = 'rect_Text',\n\trect_Lyric = 'rect_Lyric',\n}\n\nconst glyphSemanticMapping: { [key: string]: string } = {\n\t'rests.1': 'Rest1',\n\t'rests.0o': 'Rest0',\n\t'rests.1o': 'Rest1',\n\t'rests.M1': 'RestM1',\n\t'rests.2': 'Rest2',\n\t'rests.3': 'Rest3',\n\t'rests.4': 'Rest4',\n\t'rests.5': 'Rest5',\n\t'rests.6': 'Rest6',\n\t'accidentals.sharp': 'AccSharp',\n\t'accidentals.doublesharp': 'AccDoublesharp',\n\t'accidentals.natural': 'AccNatural',\n\t'accidentals.flat': 'AccFlat',\n\t'accidentals.flatflat': 'AccFlatflat',\n\t'dots.dot': 'Dot',\n\t'scripts.ufermata': 'ScriptFermata',\n\t'scripts.dfermata': 'ScriptFermata',\n\t'scripts.ushortfermata': 'ScriptShortFermata',\n\t'scripts.dshortfermata': 'ScriptShortFermata',\n\t'scripts.staccato': 'ScriptStaccato',\n\t'scripts.ustaccatissimo': 'ScriptStaccatissimo',\n\t'scripts.dstaccatissimo': 'ScriptStaccatissimo',\n\t'scripts.turn': 'ScriptTurn',\n\t'scripts.trill': 'ScriptTrill',\n\t'scripts.segno': 'ScriptSegno',\n\t'scripts.coda': 'ScriptCoda',\n\t'scripts.arpeggio': 'ScriptArpeggio',\n\t'scripts.prall': 'ScriptPrall',\n\t'scripts.mordent': 'ScriptMordent',\n\t'scripts.umarcato': 'ScriptMarcato',\n\t'scripts.dmarcato': 'ScriptMarcato',\n\t'scripts.uportato': 'ScriptPortato',\n\t'scripts.dportato': 'ScriptPortato',\n\t'scripts.tenuto': 'ScriptTenuto',\n\t'scripts.sforzato': 'ScriptSforzato',\n\t'clefs.C': 'ClefC',\n\t'clefs.F': 'ClefF',\n\t'clefs.G': 'ClefG',\n\t'clefs.F_change': 'ClefF',\n\t'clefs.G_change': 'ClefG',\n\t'timesig.C44': 'TimesigC44',\n\t'timesig.C22': 'TimesigC22',\n\t'pedal.*': 'PedalStar',\n\t'pedal.Ped': 'PedalPed',\n\t'noteheads.s0': 'NoteheadS0',\n\t'noteheads.s1': 'NoteheadS1',\n\t'noteheads.s2': 'NoteheadS2',\n\tf: 'f',\n\tm: 'm',\n\tp: 'p',\n\tr: 'r',\n\ts: 's',\n\tz: 'z',\n};\n\nconst semanticPriorities: { [key: string]: number } = {\n\tClefG: 0,\n\tClefF: 0,\n\tTimesigFour: 0,\n\tTimesigThree: 0,\n\tTimesigTwo: 0,\n\tNoteheadS0: 0,\n\tNoteheadS1: 0,\n\tNoteheadS2: 0,\n\tDot: 0,\n\tvline_BarMeasure: 0,\n\tvline_Stem: 0,\n\tFlag3: 0,\n\n\tTimesigC44: 1,\n\tTimesigC22: 1,\n\tTimesigEight: 1,\n\tTimesigSix: 1,\n\tAccNatural: 1,\n\tAccSharp: 1,\n\tAccFlat: 1,\n\tKeyAcc: 1,\n\tRest0: 1,\n\tRest1: 1,\n\tRest2: 1,\n\tRest3: 1,\n\tRest4: 1,\n\tOctaveShift8: 1,\n\tOctaveShift0: 1,\n\n\tAccDoublesharp: 2,\n\tAccFlatflat: 2,\n\tTimesigOne: 2,\n\tTimesigNine: 2,\n\tRest5: 2,\n\tRest6: 2,\n\tSlurBegin: 2,\n\tSlurEnd: 2,\n\tVoltaLeft: 2,\n\tVoltaRight: 2,\n\t//VoltaAlternativeBegin: 2,\n\tvline_BarTerminal: 2,\n\tvline_BarSegment: 2,\n\tTempoNotehead: 2,\n\tGraceNotehead: 2,\n\tSignLined: 2,\n\tSignInterval: 2,\n\tBeamLeft: 2,\n\tBeamRight: 2,\n\tBeamContinue: 2,\n\tTremoloLeft: 2,\n\tTremoloRight: 2,\n\tTremoloMiddle: 2,\n\tStemTip: 2,\n\tStemHead: 2,\n\n\t//Rest0W: 3,\n\tf: 3,\n\tp: 3,\n\tm: 3,\n\tScriptFermata: 3,\n\tScriptSforzato: 3,\n\tScriptStaccato: 3,\n\tScriptStaccatissimo: 3,\n\tScriptTurn: 3,\n\tScriptTrill: 3,\n\tScriptSegno: 3,\n\tScriptCoda: 3,\n\tScriptArpeggio: 3,\n\tScriptPrall: 3,\n\tScriptMordent: 3,\n\tScriptTenuto: 3,\n\tPedalStar: 3,\n\tPedalPed: 3,\n\tTimesigFive: 3,\n\tTimesigSeven: 3,\n\tTimesigZero: 3,\n\tOne: 3,\n\tTwo: 3,\n\tThree: 3,\n\tFour: 3,\n\tFive: 3,\n\trect_Text: 3,\n\trect_Lyric: 3,\n\tCrescendoBegin: 3,\n\tCrescendoEnd: 3,\n\tDecrescendoBegin: 3,\n\tDecrescendoEnd: 3,\n\n\tRestM1: 4,\n\tClefC: 4,\n\tScriptShortFermata: 4,\n\tScriptMarcato: 4,\n\tScriptPortato: 4,\n\ts: 4,\n\tr: 4,\n\tz: 4,\n\tZero: 4,\n\tSix: 4,\n\tSeven: 4,\n\tEight: 4,\n\tNine: 4,\n};\n\ninterface Position {\n\tx?: number;\n\ty?: number;\n}\n\nconst NOTEHEAD_WIDTHS = {\n\tNoteheadS0: 0.913 * 2,\n\tNoteheadS1: 0.632 * 2,\n\tNoteheadS2: 0.599 * 2,\n};\n\nconst glyphCenters: { [key: string]: Position } = {\n\t//\"clefs.C\": { x: 1.3 },\n\t'clefs.F': { x: 1.06 },\n\t'clefs.G': { x: 1.3 },\n\t'clefs.F_change': { x: 0.87 },\n\t'clefs.G_change': { x: 1.07 },\n\t'timesig.C44': { x: 0.9 },\n\t'timesig.C22': { x: 0.9 },\n\tzero: { x: 0.7, y: -1 },\n\tone: { x: 0.7, y: -1 },\n\ttwo: { x: 0.7, y: -1 },\n\tthree: { x: 0.7, y: -1 },\n\tfour: { x: 0.7, y: -1 },\n\tfive: { x: 0.7, y: -1 },\n\tsix: { x: 0.7, y: -1 },\n\tseven: { x: 0.7, y: -1 },\n\teight: { x: 0.7, y: -1 },\n\tnine: { x: 0.7, y: -1 },\n\t'accidentals.sharp': { x: 0.55 },\n\t'accidentals.doublesharp': { x: 0.5 },\n\t'accidentals.natural': { x: 0.3 },\n\t'accidentals.flat': { x: 0.3 },\n\t'accidentals.flatflat': { x: 0.5 },\n\t'noteheads.s0': { x: NOTEHEAD_WIDTHS.NoteheadS0 / 2 },\n\t'noteheads.s1': { x: NOTEHEAD_WIDTHS.NoteheadS1 / 2 },\n\t'noteheads.s2': { x: NOTEHEAD_WIDTHS.NoteheadS2 / 2 },\n\t'rests.0': { x: 0.75, y: 1 },\n\t'rests.1': { x: 0.75 },\n\t'rests.0o': { x: 0.75, y: 1 },\n\t'rests.1o': { x: 0.75 },\n\t'rests.M1': { x: 0.75, y: 1 },\n\t'rests.2': { x: 0.5 },\n\t'rests.3': { x: 0.5 },\n\t'rests.4': { x: 0.5 },\n\t'rests.5': { x: 0.5 },\n\t'rests.6': { x: 0.5 },\n\tf: { x: 0.6, y: -0.5 },\n\tm: { x: 0.9, y: -0.5 },\n\tp: { x: 0.5, y: -0.5 },\n\tr: { x: 0.5, y: -0.5 },\n\ts: { x: 0.5, y: -0.5 },\n\tz: { x: 0.5, y: -0.5 },\n\t'scripts.trill': { y: -0.5 },\n\t'scripts.segno': { x: 0, y: 0 },\n\t'scripts.coda': { x: 0, y: 0 },\n\t'scripts.arpeggio': { x: 0.5, y: -0.5 },\n\t'pedal.*': { x: 0.78, y: -0.78 },\n\t'pedal.Ped': { x: 1.6, y: -0.7 },\n};\n\ninterface Point {\n\t// in staff unit coordinates\n\tx: number;\n\ty: number;\n\n\tpivotX?: number;\n\n\t// for prediction\n\tconfidence?: number;\n\n\t// sheet token index in page\n\tindex?: number;\n\ttag?: string;\n\n\textension?: {\n\t\ty1?: number;\n\t\ty2?: number;\n\n\t\thref?: string;\n\t\twidth?: number;\n\t\theight?: number;\n\n\t\ttext?: string;\n\t\ttheta?: number;\n\t\ttype?: string;\n\t\ttextFeature?: Record;\n\t};\n}\n\ninterface SemanticPoint extends Point {\n\tid?: string;\n\tsemantic: SemanticType;\n}\n\nconst ONE_D_SEMANTICS = [\n\t'OctaveShift8va',\n\t'OctaveShift8vb',\n\t'OctaveShift8',\n\t'OctaveShift0',\n\t'vline_VoltaLeft',\n\t'vline_VoltaRight',\n\t'VoltaAlternativeBegin',\n\t'vline_BarMeasure',\n\t'vline_BarTerminal',\n\t'vline_BarSegment',\n];\n\nconst SYSTEM_SEMANTIC_TYPES = [\n\tSemanticType.BarMeasure,\n\tSemanticType.vline_BarMeasure,\n\tSemanticType.vline_BarTerminal,\n\tSemanticType.vline_BarSegment,\n\tSemanticType.vline_VoltaLeft,\n\tSemanticType.vline_VoltaRight,\n\tSemanticType.VoltaAlternativeBegin,\n];\n\nconst st = SemanticType;\nconst CONFLICTION_GROUPS = [\n\t[st.NoteheadS0, st.NoteheadS1, st.NoteheadS2],\n\t[st.Zero, st.One, st.Two, st.Three, st.Four, st.Five, st.Six, st.Seven, st.Eight, st.Nine, st.ScriptStaccatissimo],\n\t[\n\t\tst.TimesigZero,\n\t\tst.TimesigOne,\n\t\tst.TimesigTwo,\n\t\tst.TimesigThree,\n\t\tst.TimesigFour,\n\t\tst.TimesigFive,\n\t\tst.TimesigSix,\n\t\tst.TimesigSeven,\n\t\tst.TimesigEight,\n\t\tst.TimesigNine,\n\t],\n\t[st.Rest0, st.Rest1, st.Rest2, st.Rest3, st.Rest4, st.Rest5, st.Rest6, st.Rest0W, st.RestM1],\n\t[st.SignInterval, st.SignLined],\n\t[st.BeamLeft, st.BeamContinue, st.BeamRight],\n];\n\nconst STAMP_SEMANTICS = [\n\tst.ClefG,\n\tst.ClefF,\n\tst.ClefC,\n\tst.NoteheadS0,\n\tst.NoteheadS1,\n\tst.NoteheadS2,\n\tst.Dot,\n\tst.Rest0,\n\tst.Rest1,\n\tst.Rest2,\n\tst.Rest3,\n\tst.Rest4,\n\tst.Rest5,\n\tst.Rest6,\n\tst.RestM1,\n\tst.AccNatural,\n\tst.AccSharp,\n\tst.AccDoublesharp,\n\tst.AccFlat,\n\tst.AccFlatflat,\n\tst.TimesigC44,\n\tst.TimesigC22,\n\tst.TimesigZero,\n\tst.TimesigOne,\n\tst.TimesigTwo,\n\tst.TimesigThree,\n\tst.TimesigFour,\n\tst.TimesigFive,\n\tst.TimesigSix,\n\tst.TimesigSeven,\n\tst.TimesigEight,\n\tst.TimesigNine,\n\tst.One,\n\tst.Two,\n\tst.Three,\n\tst.Four,\n\tst.Five,\n\tst.OctaveShift8,\n\t//st.OctaveShift15,\n\tst.OctaveShift0,\n\tst.f,\n\tst.p,\n\tst.m,\n\tst.n,\n\tst.r,\n\tst.s,\n\tst.z,\n\tst.ScriptFermata,\n\tst.ScriptShortFermata,\n\tst.ScriptSforzato,\n\tst.ScriptStaccato,\n\tst.ScriptStaccatissimo,\n\tst.ScriptTurn,\n\tst.ScriptTrill,\n\tst.ScriptSegno,\n\tst.ScriptCoda,\n\tst.ScriptArpeggio,\n\tst.ScriptPrall,\n\tst.ScriptMordent,\n\tst.ScriptMarcato,\n\tst.ScriptTenuto,\n\tst.ScriptPortato,\n\tst.PedalStar,\n\tst.PedalPed,\n];\n\n// [cx, cy, width, height]\nconst STAMP_RECTS = {\n\tClefG: [-0.0625, -1.125, 3.6, 8.6],\n\tClefF: [0.25, 0.5625, 3.6, 3.8],\n\tClefC: [0.25, 0, 3.25, 4.5],\n\tNoteheadS0: [0.0625, 0, 2.55, 1.4],\n\tNoteheadS1: [0.0625, 0, 1.8, 1.4],\n\tNoteheadS2: [0.0625, -0.0625, 1.65, 1.35],\n\tDot: [0.25, 0, 0.6, 0.6],\n\tRest0: [0, -0.75, 3.25, 0.9],\n\tRest1: [0, -0.25, 3.25, 0.9],\n\tRest2: [-0.0625, -0.1875, 1.6, 3.375],\n\tRest3: [0, 0.0625, 1.2, 2.25],\n\tRest4: [0.0625, 0.5625, 1.65, 3.375],\n\tRest5: [0.0625, 0.0625, 1.95, 4.375],\n\tRest6: [0.0625, 0.5625, 1.95, 5.375],\n\tRestM1: [-0.4375, -1.5, 0.75, 1.2],\n\tAccNatural: [0, 0, 0.9, 3.5],\n\tAccSharp: [0, 0, 1.5, 3.5],\n\tAccDoublesharp: [0, 0, 1.5, 1.5],\n\tAccFlat: [0, -0.5625, 1.2, 3.125],\n\tAccFlatflat: [0.1875, -0.5625, 1.95, 3.125],\n\tTimesigC44: [-0.0625, 0, 2.25, 2.3],\n\tTimesigC22: [-0.0625, 0, 2.25, 3.2],\n\tTimesigZero: [0, 0, 1.8, 2.2],\n\tTimesigOne: [-0.125, 0, 1.5, 2.2],\n\tTimesigTwo: [0, 0, 2.2, 2.2],\n\tTimesigThree: [-0.0625, 0, 1.9, 2.4],\n\tTimesigFour: [0.0625, 0, 1.95, 2.2],\n\tTimesigFive: [0, 0, 1.8, 2.3],\n\tTimesigSix: [0, 0, 2.0, 2.4],\n\tTimesigSeven: [0, 0, 1.8, 2.2],\n\tTimesigEight: [0, 0, 1.9, 2.2],\n\tTimesigNine: [0, 0, 1.9, 2.2],\n\tOne: [-0.0625, 0, 0.75, 1.6],\n\tTwo: [0, 0, 1.2, 1.6],\n\tThree: [0, 0, 1.2, 1.6],\n\tFour: [0, 0, 1.2, 1.6],\n\tFive: [0, 0, 1.2, 1.6],\n\tOctaveShift8: [2.125, -0.1875, 4.75, 3.6],\n\tOctaveShift0: [-0.4, 0, 1.8, 4.2],\n\tf: [0.0625, -0.125, 2.55, 3],\n\tp: [-0.0625, 0.25, 2.55, 2.1],\n\tm: [-0.125, -0.0625, 2.4, 1.35],\n\tn: [-0.3125, -0.0625, 1.95, 1.35],\n\tr: [0, -0.125, 1.5, 1.5],\n\ts: [0, -0.0625, 1.2, 1.35],\n\tz: [0.0625, 0, 1.35, 1.5],\n\tScriptFermata: [0, 0, 3.25, 3.9],\n\tScriptShortFermata: [0, 0, 2.4, 4.95],\n\tScriptSforzato: [-0.0625, 0, 2.5, 1.2],\n\tScriptStaccato: [0, -0.0625, 0.6, 0.45],\n\tScriptStaccatissimo: [0, 0, 1.2, 2.6],\n\tScriptTurn: [0, 0, 2.7, 1.5],\n\tScriptTrill: [-0.125, -0.5, 3, 2.7],\n\tScriptSegno: [0, 0, 2.4, 3.5],\n\tScriptCoda: [0, 0, 2.7, 3.25],\n\tScriptArpeggio: [-0.0625, 0, 1.05, 1.8],\n\tScriptPrall: [0, 0, 2.4, 1.2],\n\tScriptMordent: [0, 0, 2.4, 1.5],\n\tScriptMarcato: [0, 0, 1.2, 2.475],\n\tScriptTenuto: [0, -0.0625, 1.5, 0.15],\n\tScriptPortato: [0, 0, 1.5, 1.65],\n\tPedalStar: [0, 0, 3.2, 3.2],\n\tPedalPed: [0, -0.25, 4.7, 2.4],\n};\n\nconst hashSemanticPoint = (systemIndex: number, staffIndex: number, point: SemanticPoint): string => {\n\tconst x = Math.round(point.x * 10);\n\tconst y = Math.round(point.y * 10);\n\tconst source = `${systemIndex}|${staffIndex}|${point.semantic}|${x}|${y}`;\n\tconst hash = (sha1 as any).array(source).slice(12); // clip to 12 bytes\n\tconst id = (globalThis as any).btoa(String.fromCharCode(...hash)).substring(0, 11);\n\tpoint.id = id;\n\n\treturn id;\n};\n\nconst hashPageSemanticPoint = (pageName: string, point: SemanticPoint): string => {\n\tconst x = Math.round(point.x);\n\tconst y = Math.round(point.y);\n\tconst source = `p-${pageName}|${point.semantic}|${x}|${y}`;\n\tconst hash = (sha1 as any).array(source).slice(12); // clip to 12 bytes\n\tconst id = (globalThis as any).btoa(String.fromCharCode(...hash)).substring(0, 11);\n\tpoint.id = id;\n\n\treturn id;\n};\n\nexport {\n\tSemanticType,\n\tglyphSemanticMapping,\n\tsemanticPriorities,\n\tPoint,\n\tSemanticPoint,\n\tNOTEHEAD_WIDTHS,\n\tglyphCenters,\n\tONE_D_SEMANTICS,\n\tSYSTEM_SEMANTIC_TYPES,\n\tCONFLICTION_GROUPS,\n\tSTAMP_SEMANTICS,\n\tSTAMP_RECTS,\n\thashSemanticPoint,\n\thashPageSemanticPoint,\n};\n","globalThis.btoa = (str) => Buffer.from(str, 'binary').toString('base64');\nglobalThis.atob = (str) => Buffer.from(str, 'base64').toString('binary');\n","import { TextType } from './interfaces';\nimport { NOTEHEAD_WIDTHS } from './semanticPoint';\n\nenum TokenType {\n\t// clefs\n\tClefG = 'clefs-G', // clefs.G_change\n\tClefF = 'clefs-F', // clefs.F_change\n\tClefC = 'clefs-C', // clefs.C_change\n\n\t// time signature\n\tTimesigC44 = 'timesig-C44',\n\tTimesigC22 = 'timesig-C22',\n\tTimesigZero = 'zero|timesig0',\n\tTimesigOne = 'one|timesig1',\n\tTimesigTwo = 'two|timesig2',\n\tTimesigThree = 'three|timesig3',\n\tTimesigFour = 'four|timesig4',\n\tTimesigFive = 'five|timesig5',\n\tTimesigSix = 'six|timesig6',\n\tTimesigSeven = 'seven|timesig7',\n\tTimesigEight = 'eight|timesig8',\n\tTimesigNine = 'nine|timesig9',\n\n\t// octave shifts\n\tOctaveShift8va = 'octave-a',\n\tOctaveShift8vb = 'octave-b',\n\tOctaveShift0 = 'octave-0',\n\n\t// numbers\n\tZero = 'zero|n0',\n\tOne = 'one|n1',\n\tTwo = 'two|n2',\n\tThree = 'three|n3',\n\tFour = 'four|n4',\n\tFive = 'five|n5',\n\tSix = 'six|n6',\n\tSeven = 'seven|n7',\n\tEight = 'eight|n8',\n\tNine = 'nine|n9',\n\n\t// accidentals\n\tAccNatural = 'accidentals-natural',\n\tAccSharp = 'accidentals-sharp',\n\tAccDoublesharp = 'accidentals-doublesharp',\n\tAccFlat = 'accidentals-flat',\n\tAccFlatflat = 'accidentals-flatflat',\n\tKeyNatural = 'accidentals-natural|key-natural',\n\tKeySharp = 'accidentals-sharp|key-sharp',\n\tKeyFlat = 'accidentals-flat|key-flat',\n\n\t// noteheads\n\tNoteheadS0 = 'noteheads-s0',\n\tNoteheadS1 = 'noteheads-s1',\n\tNoteheadS2 = 'noteheads-s2',\n\tNoteheadS1stemU = 'noteheads-s1|noteheads-s1-u',\n\tNoteheadS1stemD = 'noteheads-s1|noteheads-s1-d',\n\tNoteheadS2stemU = 'noteheads-s2|noteheads-s2-u',\n\tNoteheadS2stemD = 'noteheads-s2|noteheads-s2-d',\n\n\t// rests\n\tRest0 = 'rests-0o',\n\tRest1 = 'rests-1o',\n\tRest2 = 'rests-2',\n\tRest3 = 'rests-3',\n\tRest4 = 'rests-4',\n\tRest5 = 'rests-5',\n\tRest6 = 'rests-6',\n\tRest0W = 'rests-0',\n\tRestM1 = 'rests-M1',\n\n\t// flags\n\tFlag3 = 'flags-u3', // flags.d3\n\tFlag4 = 'flags-u4', // flags.d4\n\tFlag5 = 'flags-u5', // flags.d5\n\tFlag6 = 'flags-u6', // flags.d6\n\tFlag7 = 'flags-u7', // flags.d7\n\tFlag8 = 'flags-u8', // flags.d8\n\n\t// beams\n\tBeamLeft = '|beam-left',\n\tBeamRight = '|beam-right',\n\tBeamContinue = '|beam-continue',\n\n\t// tremolos\n\tTremoloLeft = '|tremolo-left',\n\tTremoloRight = '|tremolo-right',\n\tTremoloMiddle = '|tremolo-middle',\n\n\t// slur & tie\n\tSlurBegin = '|slur-begin',\n\tSlurEnd = '|slur-end',\n\tTieBegin = '|tie-begin',\n\tTieEnd = '|tie-end',\n\n\t// volta\n\tVoltaLeft = '|volta-left',\n\tVoltaRight = '|volta-right',\n\n\tVoltaAlternativeBegin = '|volta-alter-begin',\n\t//VoltaAlternativeEnd = \"|volta-alter-end\",\n\n\t// vertical bars\n\t//BarMeasure = \"|bar-measure\",\n\tBarTerminal = '|bar-terminal',\n\tBarSegment = '|bar-segment',\n\n\t// dots (duration)\n\tDot = '|dot',\n\tDotDot = '|dotdot',\n\n\t// dynamics\n\tf = 'f',\n\tp = 'p',\n\tm = 'm',\n\tr = 'r',\n\ts = 's',\n\tz = 'z',\n\n\t//\n\tWedgeCrescendo = '|wedge-crescendo',\n\tWedgeDiminuendo = '|wedge-diminuendo',\n\tWedgeClose = '|wedge-close',\n\n\tCrescendoBegin = '|wedge-crescendo',\n\tDecrescendoBegin = '|wedge-diminuendo',\n\tCrescendoEnd = '|wedge-close',\n\tDecrescendoEnd = '|wedge-close',\n\n\t// scripts\n\tScriptFermata = 'scripts-ufermata', // scripts.dfermata\n\tScriptShortFermata = 'scripts-ushortfermata', // scripts.dshortfermata\n\tScriptSforzato = 'scripts-sforzato',\n\tScriptStaccato = 'scripts-staccato',\n\tScriptStaccatissimo = 'scripts-ustaccatissimo', // scripts.dstaccatissimo\n\tScriptTurn = 'scripts-turn',\n\tScriptTrill = 'scripts-trill',\n\tScriptSegno = 'scripts-segno',\n\tScriptCoda = 'scripts-coda',\n\tScriptArpeggio = 'scripts-arpeggio',\n\tScriptPrall = 'scripts-prall',\n\tScriptMordent = 'scripts-mordent',\n\tScriptMarcato = 'scripts-umarcato', // scripts.dmarcato\n\tScriptTenuto = 'scripts-tenuto',\n\tScriptPortato = 'scripts-uportato', // scripts.dportato\n\n\t// pedal\n\tPedalStar = 'pedal-star',\n\tPedalPed = 'pedal-Ped',\n\n\tText = '|text',\n\tGraceNotehead = '|grace-notehead',\n}\n\n// alias\nconst tt = TokenType;\n\nexport const TokenTypes = Object.values(TokenType);\nexport const TokenClefs = TokenTypes.filter((t) => /clefs-/.test(t));\nexport const TokenTimesigs = TokenTypes.filter((t) => /timesig/.test(t));\nexport const TokenTimesigsC = TokenTypes.filter((t) => /timesig-/.test(t));\nexport const TokenTimesigsN = TokenTypes.filter((t) => /timesig\\d/.test(t));\nexport const TokenOctshifts = TokenTypes.filter((t) => /octave-/.test(t));\nexport const TokenNumbers = TokenTypes.filter((t) => /n\\d/.test(t));\nexport const TokenAccidentals = TokenTypes.filter((t) => /accidentals-/.test(t));\nexport const TokenNoteheads = TokenTypes.filter((t) => /noteheads-/.test(t));\nexport const TokenBareNoteheads = [tt.NoteheadS0, tt.NoteheadS1, tt.NoteheadS2];\nexport const TokenDirectionalNoteheads = TokenTypes.filter((t) => /noteheads-.+-[ud]/.test(t));\nexport const TokenRests = TokenTypes.filter((t) => /rests-/.test(t));\nexport const TokenFlags = TokenTypes.filter((t) => /flags-/.test(t));\nexport const TokenVolta = TokenTypes.filter((t) => /volta-/.test(t));\nexport const TokenDynamics = TokenTypes.filter((t) => /^[a-z]$/.test(t));\nexport const TokenScripts = TokenTypes.filter((t) => /scripts-/.test(t));\nexport const TokenPedals = TokenTypes.filter((t) => /pedal-/.test(t));\nexport const TokenDots = [tt.Dot, tt.DotDot];\nexport const TokenArcs = [tt.SlurBegin, tt.SlurEnd, tt.TieBegin, tt.TieEnd];\nexport const TokenBeams = TokenTypes.filter((t) => /beam-/.test(t));\nexport const TokenWedges = TokenTypes.filter((t) => /wedge-/.test(t));\n\nexport const TokenAccessories = [\n\t...TokenNumbers,\n\t...TokenDynamics,\n\t...TokenWedges,\n\t...TokenPedals,\n\t...TokenArcs,\n\n\ttt.ScriptFermata,\n\ttt.ScriptShortFermata,\n\ttt.ScriptSforzato,\n\ttt.ScriptStaccato,\n\ttt.ScriptStaccatissimo,\n\ttt.ScriptTurn,\n\ttt.ScriptTrill,\n\ttt.ScriptPrall,\n\ttt.ScriptMordent,\n\ttt.ScriptMarcato,\n\ttt.ScriptTenuto,\n\ttt.ScriptPortato,\n];\n\nexport const TokenDirectionless = [...TokenPedals];\n\nexport const TokenGlyphs = [\n\t...TokenClefs,\n\t...TokenTimesigs,\n\t...TokenNumbers,\n\t...TokenAccidentals,\n\ttt.NoteheadS0,\n\ttt.NoteheadS1,\n\ttt.NoteheadS2,\n\t...TokenRests,\n\t...TokenDynamics,\n\t...TokenScripts,\n\t...TokenPedals,\n\t...TokenDots,\n];\n\nconst TOKEN_Y_ROUND = {} as Record;\nTokenClefs.forEach((t) => (TOKEN_Y_ROUND[t] = 1));\nTokenTimesigsN.forEach((t) => (TOKEN_Y_ROUND[t] = 1));\nTokenAccidentals.forEach((t) => (TOKEN_Y_ROUND[t] = 0.5));\nTokenNoteheads.forEach((t) => (TOKEN_Y_ROUND[t] = 0.5));\nTokenRests.forEach((t) => (TOKEN_Y_ROUND[t] = 0.5));\nTokenDots.forEach((t) => (TOKEN_Y_ROUND[t] = 0.5));\n\nconst TOKEN_Y_FIXED = {} as Record;\nTokenTimesigsC.forEach((t) => (TOKEN_Y_FIXED[t] = 0));\nTokenVolta.forEach((t) => (TOKEN_Y_FIXED[t] = 0));\n\nclass Token {\n\tstatic className = 'Token';\n\n\tid: string;\n\ttype: TokenType;\n\tx: number;\n\ty: number;\n\tpivotX?: number;\n\n\tconfidence: number;\n\n\ttip?: { x: number; y: number };\n\n\tvoice?: number; // integer, every bit stand for a voice\n\ttimeWarped?: boolean;\n\n\tconstructor(data: any) {\n\t\tObject.assign(this, data);\n\t}\n\n\tget typeId(): string {\n\t\treturn this.type.split('|').reverse()[0];\n\t}\n\n\tget isPredicted(): boolean {\n\t\treturn Number.isFinite(this.confidence);\n\t}\n\n\tget isNotehead(): boolean {\n\t\treturn TokenDirectionalNoteheads.includes(this.type) || this.type === TokenType.NoteheadS0;\n\t}\n\n\tget isContexted(): boolean {\n\t\treturn (\n\t\t\tTokenClefs.includes(this.type) || TokenTimesigs.includes(this.type) || TokenOctshifts.includes(this.type) || TokenAccidentals.includes(this.type)\n\t\t);\n\t}\n\n\tget isAccessory(): boolean {\n\t\treturn TokenNumbers.includes(this.type) || TokenDynamics.includes(this.type) || TokenScripts.includes(this.type) || TokenPedals.includes(this.type);\n\t}\n\n\tget division(): number {\n\t\tswitch (this.type) {\n\t\t\tcase tt.NoteheadS0:\n\t\t\t\treturn 0;\n\n\t\t\tcase tt.NoteheadS1stemU:\n\t\t\tcase tt.NoteheadS1stemD:\n\t\t\t\treturn 1;\n\n\t\t\tcase tt.NoteheadS2stemU:\n\t\t\tcase tt.NoteheadS2stemD:\n\t\t\t\treturn 2;\n\n\t\t\tcase tt.Flag3:\n\t\t\t\treturn 3;\n\n\t\t\tcase tt.Flag4:\n\t\t\t\treturn 4;\n\n\t\t\tcase tt.Flag5:\n\t\t\t\treturn 5;\n\n\t\t\tcase tt.Flag6:\n\t\t\t\treturn 6;\n\n\t\t\tcase tt.Flag7:\n\t\t\t\treturn 7;\n\n\t\t\tcase tt.Flag8:\n\t\t\t\treturn 8;\n\n\t\t\tcase tt.RestM1:\n\t\t\t\treturn -1;\n\n\t\t\tcase tt.Rest0:\n\t\t\t\treturn 0;\n\n\t\t\tcase tt.Rest1:\n\t\t\t\treturn 1;\n\n\t\t\tcase tt.Rest2:\n\t\t\t\treturn 2;\n\n\t\t\tcase tt.Rest3:\n\t\t\t\treturn 3;\n\n\t\t\tcase tt.Rest4:\n\t\t\t\treturn 4;\n\n\t\t\tcase tt.Rest5:\n\t\t\t\treturn 5;\n\n\t\t\tcase tt.Rest6:\n\t\t\t\treturn 6;\n\n\t\t\t// TODO:\n\t\t\t//case tt.Rest0W:\n\t\t\t//\treturn 0;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tget dots(): number {\n\t\tswitch (this.type) {\n\t\t\tcase tt.Dot:\n\t\t\t\treturn 1;\n\n\t\t\tcase tt.DotDot:\n\t\t\t\treturn 2;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tget direction(): 'u' | 'd' | null {\n\t\tswitch (this.type) {\n\t\t\tcase tt.NoteheadS1stemU:\n\t\t\tcase tt.NoteheadS2stemU:\n\t\t\t\treturn 'u';\n\n\t\t\tcase tt.NoteheadS1stemD:\n\t\t\tcase tt.NoteheadS2stemD:\n\t\t\t\treturn 'd';\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tget width(): number {\n\t\tswitch (this.type) {\n\t\t\tcase tt.NoteheadS0:\n\t\t\t\treturn NOTEHEAD_WIDTHS.NoteheadS0;\n\n\t\t\tcase tt.NoteheadS1stemU:\n\t\t\tcase tt.NoteheadS1stemD:\n\t\t\t\treturn NOTEHEAD_WIDTHS.NoteheadS1;\n\n\t\t\tcase tt.NoteheadS2stemU:\n\t\t\tcase tt.NoteheadS2stemD:\n\t\t\t\treturn NOTEHEAD_WIDTHS.NoteheadS2;\n\t\t}\n\t}\n\n\tget left(): number {\n\t\tswitch (this.type) {\n\t\t\tcase tt.NoteheadS0:\n\t\t\t\treturn this.x - this.width / 2;\n\n\t\t\tcase tt.NoteheadS1stemU:\n\t\t\tcase tt.NoteheadS2stemU:\n\t\t\t\treturn this.x - this.width;\n\n\t\t\tcase tt.NoteheadS1stemD:\n\t\t\tcase tt.NoteheadS2stemD:\n\t\t\t\treturn this.x;\n\t\t}\n\n\t\treturn this.x;\n\t}\n\n\tget right(): number {\n\t\tswitch (this.type) {\n\t\t\tcase tt.NoteheadS0:\n\t\t\t\treturn this.x + this.width / 2;\n\n\t\t\tcase tt.NoteheadS1stemU:\n\t\t\tcase tt.NoteheadS2stemU:\n\t\t\t\treturn this.x;\n\n\t\t\tcase tt.NoteheadS1stemD:\n\t\t\tcase tt.NoteheadS2stemD:\n\t\t\t\treturn this.x + this.width;\n\t\t}\n\n\t\treturn this.x;\n\t}\n\n\tget voiceIndices(): number[] {\n\t\tif (!this.voice || this.voice < 0) return [];\n\n\t\treturn Array(Math.floor(Math.log2(this.voice)) + 1)\n\t\t\t.fill(null)\n\t\t\t.reduce((indices, _, i) => (this.voice & (1 << i) ? [i + 1, ...indices] : indices), []);\n\t}\n}\n\nclass TextToken extends Token {\n\ttextType: TextType;\n\ttext: string;\n\ttextFeature?: Record;\n\twidth_: number;\n\tfontSize: number;\n\n\tconstructor(data: any) {\n\t\tsuper(data);\n\t\tObject.assign(this, data);\n\t}\n\n\tget width(): number {\n\t\treturn this.width_;\n\t}\n\n\tset width(value: number) {\n\t\tthis.width_ = value;\n\t}\n}\n\nexport { TokenType, Token, TextToken, TOKEN_Y_ROUND, TOKEN_Y_FIXED };\n","import pick from 'lodash/pick';\n\nconst recoverJSON = (json: string | object, classDict): T => {\n\tif (typeof json === 'object') json = JSON.stringify(json);\n\n\treturn JSON.parse(json, (_, value) => {\n\t\tif (value && typeof value === 'object' && value.__prototype) {\n\t\t\tconst Class = classDict[value.__prototype];\n\t\t\tif (Class) {\n\t\t\t\tconst { __prototype, ...fields } = value;\n\t\t\t\treturn new Class(fields);\n\t\t\t}\n\t\t}\n\n\t\treturn value;\n\t});\n};\n\nconst deepCopy = (o: any, dict: Map = null): any => {\n\tdict = dict || new Map();\n\tif (dict.get(o)) return dict.get(o);\n\n\tif (Array.isArray(o)) {\n\t\tconst result = [];\n\t\tdict.set(o, result);\n\n\t\to.forEach((e) => result.push(deepCopy(e, dict)));\n\n\t\treturn result;\n\t} else if (o && typeof o === 'object') {\n\t\tconst result = {};\n\t\tdict.set(o, result);\n\n\t\tObject.entries(o).forEach(([key, value]) => (result[key] = deepCopy(value, dict)));\n\t\tObject.setPrototypeOf(result, o.__proto__);\n\n\t\treturn result;\n\t}\n\n\treturn o;\n};\n\nclass SimpleClass {\n\tassign(data?: object) {\n\t\tif (data) Object.assign(this, data);\n\t}\n\n\ttoJSON() {\n\t\tconst cls = this.constructor as any;\n\n\t\tconst serializedKeys = cls.serializedKeys || (cls.blackKeys && Object.keys(this).filter((key) => !cls.blackKeys.includes(key)));\n\t\tconst fields = serializedKeys ? pick(this, serializedKeys) : this;\n\n\t\treturn {\n\t\t\t__prototype: cls.className,\n\t\t\t...fields,\n\t\t};\n\t}\n\n\tdeepCopy(): this {\n\t\treturn deepCopy(this);\n\t}\n}\n\nexport { recoverJSON, SimpleClass };\n","import { SimpleClass } from '../starry/aux_/typedJSON';\n\nenum LayoutType {\n\tOrdinary = 'ordinary',\n\tFull = 'full',\n\tConservative = 'conservative',\n\tOnce = 'once',\n}\n\ninterface MeasureLayout {\n\tserialize(type: LayoutType): number[];\n\n\tseq: MeasureSeq;\n\tcode: string;\n}\n\nexport type MeasureSeq = MeasureLayout[];\n\nconst spreadMeasureSeq = (seq: MeasureSeq, type: LayoutType = LayoutType.Ordinary): number[] => [].concat(...seq.map((layout) => layout.serialize(type)));\n\nconst seqToCode = (seq: MeasureSeq, { withBrackets = false }: { withBrackets?: boolean } = {}): string => {\n\t//const code = seq.map(layout => layout.code).join(\", \");\n\tlet code = '';\n\tlet inRange = false;\n\n\tfor (let i = 0; i < seq.length; ++i) {\n\t\tconst middle = seq[i - 1] instanceof SingleMLayout && seq[i] instanceof SingleMLayout && seq[i + 1] instanceof SingleMLayout;\n\t\tif (middle) {\n\t\t\tif (!inRange) {\n\t\t\t\tcode += '..';\n\t\t\t\tinRange = true;\n\t\t\t}\n\t\t} else {\n\t\t\tif (i > 0 && !inRange) code += ', ';\n\n\t\t\tinRange = false;\n\n\t\t\tcode += seq[i].code;\n\t\t}\n\t}\n\n\treturn withBrackets ? `[${code}]` : code;\n};\n\nclass SingleMLayout extends SimpleClass implements MeasureLayout {\n\tstatic className = 'SingleMLayout';\n\n\tmeasure: number;\n\n\tstatic from(measure: number) {\n\t\tconst layout = new SingleMLayout();\n\t\tlayout.measure = measure;\n\n\t\treturn layout;\n\t}\n\n\tconstructor(data: any = undefined) {\n\t\tsuper();\n\t\tthis.assign(data);\n\t}\n\n\tserialize(): number[] {\n\t\treturn [this.measure];\n\t}\n\n\tget seq(): MeasureSeq {\n\t\treturn [this];\n\t}\n\n\tget code(): string {\n\t\treturn this.measure.toString();\n\t}\n}\n\nclass BlockMLayout extends SimpleClass implements MeasureLayout {\n\tstatic className = 'BlockMLayout';\n\n\tseq: MeasureSeq;\n\n\tstatic trimSeq(seq: MeasureSeq): MeasureSeq {\n\t\tconst seq2 = [];\n\t\tfor (const layout of seq) {\n\t\t\tif (layout instanceof BlockMLayout) {\n\t\t\t\tfor (const sub of layout.seq) seq2.push(sub);\n\t\t\t} else seq2.push(layout);\n\t\t}\n\n\t\t// reduce duplicated or backwards single measures\n\t\tconst seq3 = [];\n\t\tlet measure = null;\n\t\tfor (const layout of seq2) {\n\t\t\tif (layout instanceof SingleMLayout) {\n\t\t\t\tif (layout.measure > measure) {\n\t\t\t\t\tseq3.push(layout);\n\t\t\t\t\tmeasure = layout.measure;\n\t\t\t\t}\n\t\t\t} else seq3.push(layout);\n\t\t}\n\n\t\treturn seq3;\n\t}\n\n\tstatic fromSeq(seq: MeasureSeq): BlockMLayout {\n\t\tconst layout = new BlockMLayout();\n\t\tlayout.seq = BlockMLayout.trimSeq(seq);\n\n\t\treturn layout;\n\t}\n\n\tconstructor(data: any = undefined) {\n\t\tsuper();\n\t\tthis.assign(data);\n\t}\n\n\tserialize(type: LayoutType): number[] {\n\t\treturn spreadMeasureSeq(this.seq, type);\n\t}\n\n\tget code(): string {\n\t\treturn seqToCode(this.seq, { withBrackets: true });\n\t}\n}\n\nclass VoltaMLayout extends SimpleClass implements MeasureLayout {\n\tstatic className = 'VoltaMLayout';\n\n\ttimes: number;\n\tbody: MeasureSeq;\n\talternates: MeasureSeq[];\n\n\tconstructor(data: any = undefined) {\n\t\tsuper();\n\t\tthis.assign(data);\n\t}\n\n\tserialize(type: LayoutType): number[] {\n\t\tconst bodySeq = spreadMeasureSeq(this.body);\n\n\t\tif (this.alternates) {\n\t\t\tconst alternateSeqs = this.alternates.map((seq) => spreadMeasureSeq(seq));\n\t\t\tconst lastAlternateSeq = alternateSeqs[alternateSeqs.length - 1];\n\n\t\t\tswitch (type) {\n\t\t\t\tcase LayoutType.Ordinary:\n\t\t\t\t\treturn bodySeq.concat(...alternateSeqs);\n\n\t\t\t\tcase LayoutType.Conservative:\n\t\t\t\tcase LayoutType.Full: {\n\t\t\t\t\tconst priorSeq = [].concat(\n\t\t\t\t\t\t...Array(this.times - 1)\n\t\t\t\t\t\t\t.fill(null)\n\t\t\t\t\t\t\t.map((_, i) => [...bodySeq, ...alternateSeqs[i % (this.times - 1)]])\n\t\t\t\t\t);\n\n\t\t\t\t\treturn [...priorSeq, ...bodySeq, ...lastAlternateSeq];\n\t\t\t\t}\n\n\t\t\t\tcase LayoutType.Once:\n\t\t\t\t\treturn [...bodySeq, ...lastAlternateSeq];\n\t\t\t}\n\t\t} else {\n\t\t\tswitch (type) {\n\t\t\t\tcase LayoutType.Ordinary:\n\t\t\t\tcase LayoutType.Conservative:\n\t\t\t\tcase LayoutType.Once:\n\t\t\t\t\treturn bodySeq;\n\n\t\t\t\tcase LayoutType.Full:\n\t\t\t\t\treturn [].concat(\n\t\t\t\t\t\t...Array(this.times)\n\t\t\t\t\t\t\t.fill(null)\n\t\t\t\t\t\t\t.map(() => bodySeq)\n\t\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tconsole.warn('the current case not handled:', type, this);\n\t}\n\n\tget seq(): MeasureSeq {\n\t\tconst alternates = this.alternates ? this.alternates[this.alternates.length - 1] : [];\n\n\t\treturn [...this.body, ...alternates];\n\t}\n\n\tget code(): string {\n\t\tconst body = seqToCode(this.body, { withBrackets: true });\n\n\t\tlet code = `${this.times}*${body}`;\n\t\tif (this.alternates) code += '{' + this.alternates.map((seq) => seqToCode(seq, { withBrackets: seq.length > 1 })).join(', ') + '}';\n\n\t\treturn code;\n\t}\n}\n\nclass ABAMLayout extends SimpleClass implements MeasureLayout {\n\tstatic className = 'ABAMLayout';\n\n\tmain: MeasureLayout;\n\trest: MeasureSeq;\n\n\tconstructor(data: any = undefined) {\n\t\tsuper();\n\t\tthis.assign(data);\n\t}\n\n\tserialize(type: LayoutType): number[] {\n\t\tconst seqA = this.main.serialize(type);\n\t\tconst seqA_ = spreadMeasureSeq(this.main.seq, LayoutType.Once);\n\t\tconst seqB = spreadMeasureSeq(this.rest, type);\n\n\t\tswitch (type) {\n\t\t\tcase LayoutType.Ordinary: // A B\n\t\t\t\treturn [...seqA, ...seqB];\n\n\t\t\tcase LayoutType.Once: // B A'\n\t\t\t\treturn [...seqB, ...seqA_];\n\n\t\t\tcase LayoutType.Conservative: // A B A'\n\t\t\tcase LayoutType.Full: // A B A'\n\t\t\t\treturn [...seqA, ...seqB, ...seqA_];\n\n\t\t\tdefault:\n\t\t\t\tconsole.warn('the current case not handled:', type, this);\n\t\t}\n\t}\n\n\tget seq(): MeasureSeq {\n\t\treturn [this.main, ...this.rest];\n\t}\n\n\tget code(): string {\n\t\treturn '<' + this.main.code + ', ' + seqToCode(this.rest) + '>';\n\t}\n}\n\nexport { LayoutType, MeasureLayout, SingleMLayout, BlockMLayout, VoltaMLayout, ABAMLayout };\n","/* parser generated by jison 0.4.18 */\n/*\n Returns a Parser object of the following structure:\n\n Parser: {\n yy: {}\n }\n\n Parser.prototype: {\n yy: {},\n trace: function(),\n symbols_: {associative list: name ==> number},\n terminals_: {associative list: number ==> name},\n productions_: [...],\n performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$),\n table: [...],\n defaultActions: {...},\n parseError: function(str, hash),\n parse: function(input),\n\n lexer: {\n EOF: 1,\n parseError: function(str, hash),\n setInput: function(input),\n input: function(),\n unput: function(str),\n more: function(),\n less: function(n),\n pastInput: function(),\n upcomingInput: function(),\n showPosition: function(),\n test_match: function(regex_match_array, rule_index),\n next: function(),\n lex: function(),\n begin: function(condition),\n popState: function(),\n _currentRules: function(),\n topState: function(),\n pushState: function(condition),\n\n options: {\n ranges: boolean (optional: true ==> token location info will include a .range[] member)\n flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match)\n backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code)\n },\n\n performAction: function(yy, yy_, $avoiding_name_collisions, YY_START),\n rules: [...],\n conditions: {associative list: name ==> set},\n }\n }\n\n\n token location info (@$, _$, etc.): {\n first_line: n,\n last_line: n,\n first_column: n,\n last_column: n,\n range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based)\n }\n\n\n the parseError function receives a 'hash' object with these members for lexer and parser errors: {\n text: (matched text)\n token: (the produced terminal token, if any)\n line: (yylineno)\n }\n while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: {\n loc: (yylloc)\n expected: (string describing the set of expected tokens)\n recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error)\n }\n*/\nvar parser = (function () {\n\tvar o = function (k, v, o, l) {\n\t\t\tfor (o = o || {}, l = k.length; l--; o[k[l]] = v);\n\t\t\treturn o;\n\t\t},\n\t\t$V0 = [1, 13],\n\t\t$V1 = [1, 16],\n\t\t$V2 = [1, 15],\n\t\t$V3 = [1, 26],\n\t\t$V4 = [1, 29],\n\t\t$V5 = [1, 28],\n\t\t$V6 = [1, 30],\n\t\t$V7 = [5, 13, 22, 27, 29],\n\t\t$V8 = [2, 15],\n\t\t$V9 = [1, 32],\n\t\t$Va = [5, 14, 21, 22, 27, 28, 29];\n\tvar parser = {\n\t\ttrace: function trace() {},\n\t\tyy: {},\n\t\tsymbols_: {\n\t\t\terror: 2,\n\t\t\tstart_symbol: 3,\n\t\t\tmeasure_layout: 4,\n\t\t\tEOF: 5,\n\t\t\tindex_wise_measure_layout: 6,\n\t\t\t'i:': 7,\n\t\t\t's:': 8,\n\t\t\tsegment_wise_measure_layout: 9,\n\t\t\tiw_sequence: 10,\n\t\t\tiw_item: 11,\n\t\t\trange: 12,\n\t\t\t',': 13,\n\t\t\tUNSIGNED: 14,\n\t\t\t'..': 15,\n\t\t\tsingle: 16,\n\t\t\tiw_block_item: 17,\n\t\t\tiw_volta: 18,\n\t\t\tiw_aba: 19,\n\t\t\tiw_block: 20,\n\t\t\t'[': 21,\n\t\t\t']': 22,\n\t\t\t'*': 23,\n\t\t\tiw_optional_alternates: 24,\n\t\t\tiw_alternates: 25,\n\t\t\t'{': 26,\n\t\t\t'}': 27,\n\t\t\t'<': 28,\n\t\t\t'>': 29,\n\t\t\tsw_sequence: 30,\n\t\t\tsw_item: 31,\n\t\t\tsegment: 32,\n\t\t\tsw_block_item: 33,\n\t\t\tsw_volta: 34,\n\t\t\tsw_aba: 35,\n\t\t\tsw_block: 36,\n\t\t\tsw_optional_alternates: 37,\n\t\t\tsw_alternates: 38,\n\t\t\t$accept: 0,\n\t\t\t$end: 1,\n\t\t},\n\t\tterminals_: {\n\t\t\t2: 'error',\n\t\t\t5: 'EOF',\n\t\t\t7: 'i:',\n\t\t\t8: 's:',\n\t\t\t13: ',',\n\t\t\t14: 'UNSIGNED',\n\t\t\t15: '..',\n\t\t\t21: '[',\n\t\t\t22: ']',\n\t\t\t23: '*',\n\t\t\t26: '{',\n\t\t\t27: '}',\n\t\t\t28: '<',\n\t\t\t29: '>',\n\t\t},\n\t\tproductions_: [\n\t\t\t0,\n\t\t\t[3, 2],\n\t\t\t[4, 1],\n\t\t\t[4, 2],\n\t\t\t[4, 2],\n\t\t\t[6, 1],\n\t\t\t[10, 1],\n\t\t\t[10, 1],\n\t\t\t[10, 3],\n\t\t\t[10, 3],\n\t\t\t[12, 3],\n\t\t\t[11, 1],\n\t\t\t[11, 1],\n\t\t\t[11, 1],\n\t\t\t[11, 1],\n\t\t\t[16, 1],\n\t\t\t[17, 1],\n\t\t\t[20, 3],\n\t\t\t[18, 4],\n\t\t\t[24, 0],\n\t\t\t[24, 1],\n\t\t\t[25, 3],\n\t\t\t[19, 5],\n\t\t\t[9, 1],\n\t\t\t[30, 1],\n\t\t\t[30, 2],\n\t\t\t[31, 1],\n\t\t\t[31, 1],\n\t\t\t[31, 1],\n\t\t\t[31, 1],\n\t\t\t[32, 1],\n\t\t\t[33, 1],\n\t\t\t[36, 3],\n\t\t\t[34, 4],\n\t\t\t[37, 0],\n\t\t\t[37, 1],\n\t\t\t[38, 3],\n\t\t\t[35, 4],\n\t\t],\n\t\tperformAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) {\n\t\t\t/* this == yyval */\n\n\t\t\tvar $0 = $$.length - 1;\n\t\t\tswitch (yystate) {\n\t\t\t\tcase 1:\n\t\t\t\t\treturn $$[$0 - 1];\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 2:\n\t\t\t\t\tthis.$ = root(null, $$[$0]);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 3:\n\t\t\t\t\tthis.$ = root('index-wise', $$[$0]);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 4:\n\t\t\t\t\tthis.$ = root('segment-wise', serialize($$[$0]));\n\t\t\t\t\tbreak;\n\t\t\t\tcase 5:\n\t\t\t\tcase 23:\n\t\t\t\t\tif ($$[$0].length === 1 && $$[$0][0].__prototype === 'BlockMLayout') this.$ = $$[$0][0];\n\t\t\t\t\telse this.$ = blockLayout($$[$0]);\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 6:\n\t\t\t\tcase 24:\n\t\t\t\t\tthis.$ = [$$[$0]];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 7:\n\t\t\t\tcase 11:\n\t\t\t\tcase 12:\n\t\t\t\tcase 13:\n\t\t\t\tcase 14:\n\t\t\t\tcase 20:\n\t\t\t\tcase 27:\n\t\t\t\tcase 28:\n\t\t\t\tcase 29:\n\t\t\t\tcase 35:\n\t\t\t\t\tthis.$ = $$[$0];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 8:\n\t\t\t\t\tthis.$ = [...$$[$0 - 2], $$[$0]];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 9:\n\t\t\t\t\tthis.$ = [...$$[$0 - 2], ...$$[$0]];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 10:\n\t\t\t\t\tthis.$ = range($$[$0 - 2], $$[$0]);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 15:\n\t\t\t\t\tthis.$ = singleLayout($$[$0]);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 16:\n\t\t\t\tcase 31:\n\t\t\t\t\tthis.$ = blockLayout($$[$0]);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 17:\n\t\t\t\tcase 32:\n\t\t\t\t\tthis.$ = $$[$0 - 1];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 18:\n\t\t\t\tcase 33:\n\t\t\t\t\tthis.$ = voltaBlock($$[$0 - 3], $$[$0 - 1], $$[$0]);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 19:\n\t\t\t\tcase 34:\n\t\t\t\t\tthis.$ = null;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 21:\n\t\t\t\tcase 36:\n\t\t\t\t\tthis.$ = alternates($$[$0 - 1]);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 22:\n\t\t\t\t\tthis.$ = abaBlock($$[$0 - 3], $$[$0 - 1]);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 25:\n\t\t\t\t\tthis.$ = [...$$[$0 - 1], $$[$0]];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 26:\n\t\t\t\t\tthis.$ = blockLayout([$$[$0]]);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 30:\n\t\t\t\t\tthis.$ = segment($$[$0]);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 37:\n\t\t\t\t\tthis.$ = abaBlock($$[$0 - 2], $$[$0 - 1]);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\ttable: [\n\t\t\t{ 3: 1, 4: 2, 6: 3, 7: [1, 4], 8: [1, 5], 10: 6, 11: 7, 12: 8, 14: $V0, 16: 9, 17: 10, 18: 11, 19: 12, 20: 14, 21: $V1, 28: $V2 },\n\t\t\t{ 1: [3] },\n\t\t\t{ 5: [1, 17] },\n\t\t\t{ 5: [2, 2] },\n\t\t\t{ 6: 18, 10: 6, 11: 7, 12: 8, 14: $V0, 16: 9, 17: 10, 18: 11, 19: 12, 20: 14, 21: $V1, 28: $V2 },\n\t\t\t{ 9: 19, 14: $V3, 21: $V4, 28: $V5, 30: 20, 31: 21, 32: 22, 33: 23, 34: 24, 35: 25, 36: 27 },\n\t\t\t{ 5: [2, 5], 13: $V6 },\n\t\t\to($V7, [2, 6]),\n\t\t\to($V7, [2, 7]),\n\t\t\to($V7, [2, 11]),\n\t\t\to($V7, [2, 12]),\n\t\t\to($V7, [2, 13]),\n\t\t\to($V7, [2, 14]),\n\t\t\to($V7, $V8, { 15: [1, 31], 23: $V9 }),\n\t\t\to($V7, [2, 16]),\n\t\t\t{ 11: 33, 14: [1, 34], 16: 9, 17: 10, 18: 11, 19: 12, 20: 14, 21: $V1, 28: $V2 },\n\t\t\t{ 10: 35, 11: 7, 12: 8, 14: $V0, 16: 9, 17: 10, 18: 11, 19: 12, 20: 14, 21: $V1, 28: $V2 },\n\t\t\t{ 1: [2, 1] },\n\t\t\t{ 5: [2, 3] },\n\t\t\t{ 5: [2, 4] },\n\t\t\t{ 5: [2, 23], 14: $V3, 21: $V4, 28: $V5, 31: 36, 32: 22, 33: 23, 34: 24, 35: 25, 36: 27 },\n\t\t\to($Va, [2, 24]),\n\t\t\to($Va, [2, 26]),\n\t\t\to($Va, [2, 27]),\n\t\t\to($Va, [2, 28]),\n\t\t\to($Va, [2, 29]),\n\t\t\to($Va, [2, 30], { 23: [1, 37] }),\n\t\t\to($Va, [2, 31]),\n\t\t\t{ 14: $V3, 21: $V4, 28: $V5, 31: 38, 32: 22, 33: 23, 34: 24, 35: 25, 36: 27 },\n\t\t\t{ 14: $V3, 21: $V4, 28: $V5, 30: 39, 31: 21, 32: 22, 33: 23, 34: 24, 35: 25, 36: 27 },\n\t\t\t{ 11: 40, 12: 41, 14: $V0, 16: 9, 17: 10, 18: 11, 19: 12, 20: 14, 21: $V1, 28: $V2 },\n\t\t\t{ 14: [1, 42] },\n\t\t\t{ 20: 43, 21: $V1 },\n\t\t\t{ 13: [1, 44] },\n\t\t\t{ 13: $V8, 23: $V9 },\n\t\t\t{ 13: $V6, 22: [1, 45] },\n\t\t\to($Va, [2, 25]),\n\t\t\t{ 21: $V4, 36: 46 },\n\t\t\t{ 14: $V3, 21: $V4, 28: $V5, 30: 47, 31: 21, 32: 22, 33: 23, 34: 24, 35: 25, 36: 27 },\n\t\t\t{ 14: $V3, 21: $V4, 22: [1, 48], 28: $V5, 31: 36, 32: 22, 33: 23, 34: 24, 35: 25, 36: 27 },\n\t\t\to($V7, [2, 8]),\n\t\t\to($V7, [2, 9]),\n\t\t\to($V7, [2, 10]),\n\t\t\to($V7, [2, 19], { 24: 49, 25: 50, 26: [1, 51] }),\n\t\t\t{ 10: 52, 11: 7, 12: 8, 14: $V0, 16: 9, 17: 10, 18: 11, 19: 12, 20: 14, 21: $V1, 28: $V2 },\n\t\t\to([5, 13, 22, 26, 27, 29], [2, 17]),\n\t\t\to($Va, [2, 34], { 37: 53, 38: 54, 26: [1, 55] }),\n\t\t\t{ 14: $V3, 21: $V4, 28: $V5, 29: [1, 56], 31: 36, 32: 22, 33: 23, 34: 24, 35: 25, 36: 27 },\n\t\t\to([5, 14, 21, 22, 26, 27, 28, 29], [2, 32]),\n\t\t\to($V7, [2, 18]),\n\t\t\to($V7, [2, 20]),\n\t\t\t{ 10: 57, 11: 7, 12: 8, 14: $V0, 16: 9, 17: 10, 18: 11, 19: 12, 20: 14, 21: $V1, 28: $V2 },\n\t\t\t{ 13: $V6, 29: [1, 58] },\n\t\t\to($Va, [2, 33]),\n\t\t\to($Va, [2, 35]),\n\t\t\t{ 14: $V3, 21: $V4, 28: $V5, 30: 59, 31: 21, 32: 22, 33: 23, 34: 24, 35: 25, 36: 27 },\n\t\t\to($Va, [2, 37]),\n\t\t\t{ 13: $V6, 27: [1, 60] },\n\t\t\to($V7, [2, 22]),\n\t\t\t{ 14: $V3, 21: $V4, 27: [1, 61], 28: $V5, 31: 36, 32: 22, 33: 23, 34: 24, 35: 25, 36: 27 },\n\t\t\to($V7, [2, 21]),\n\t\t\to($Va, [2, 36]),\n\t\t],\n\t\tdefaultActions: { 3: [2, 2], 17: [2, 1], 18: [2, 3], 19: [2, 4] },\n\t\tparseError: function parseError(str, hash) {\n\t\t\tif (hash.recoverable) {\n\t\t\t\tthis.trace(str);\n\t\t\t} else {\n\t\t\t\tvar error = new Error(str);\n\t\t\t\terror.hash = hash;\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t},\n\t\tparse: function parse(input) {\n\t\t\tvar self = this,\n\t\t\t\tstack = [0],\n\t\t\t\ttstack = [],\n\t\t\t\tvstack = [null],\n\t\t\t\tlstack = [],\n\t\t\t\ttable = this.table,\n\t\t\t\tyytext = '',\n\t\t\t\tyylineno = 0,\n\t\t\t\tyyleng = 0,\n\t\t\t\trecovering = 0,\n\t\t\t\tTERROR = 2,\n\t\t\t\tEOF = 1;\n\t\t\tvar args = lstack.slice.call(arguments, 1);\n\t\t\tvar lexer = Object.create(this.lexer);\n\t\t\tvar sharedState = { yy: {} };\n\t\t\tfor (var k in this.yy) {\n\t\t\t\tif (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n\t\t\t\t\tsharedState.yy[k] = this.yy[k];\n\t\t\t\t}\n\t\t\t}\n\t\t\tlexer.setInput(input, sharedState.yy);\n\t\t\tsharedState.yy.lexer = lexer;\n\t\t\tsharedState.yy.parser = this;\n\t\t\tif (typeof lexer.yylloc == 'undefined') {\n\t\t\t\tlexer.yylloc = {};\n\t\t\t}\n\t\t\tvar yyloc = lexer.yylloc;\n\t\t\tlstack.push(yyloc);\n\t\t\tvar ranges = lexer.options && lexer.options.ranges;\n\t\t\tif (typeof sharedState.yy.parseError === 'function') {\n\t\t\t\tthis.parseError = sharedState.yy.parseError;\n\t\t\t} else {\n\t\t\t\tthis.parseError = Object.getPrototypeOf(this).parseError;\n\t\t\t}\n\t\t\tfunction popStack(n) {\n\t\t\t\tstack.length = stack.length - 2 * n;\n\t\t\t\tvstack.length = vstack.length - n;\n\t\t\t\tlstack.length = lstack.length - n;\n\t\t\t}\n\t\t\t_token_stack: var lex = function () {\n\t\t\t\tvar token;\n\t\t\t\ttoken = lexer.lex() || EOF;\n\t\t\t\tif (typeof token !== 'number') {\n\t\t\t\t\ttoken = self.symbols_[token] || token;\n\t\t\t\t}\n\t\t\t\treturn token;\n\t\t\t};\n\t\t\tvar symbol,\n\t\t\t\tpreErrorSymbol,\n\t\t\t\tstate,\n\t\t\t\taction,\n\t\t\t\ta,\n\t\t\t\tr,\n\t\t\t\tyyval = {},\n\t\t\t\tp,\n\t\t\t\tlen,\n\t\t\t\tnewState,\n\t\t\t\texpected;\n\t\t\twhile (true) {\n\t\t\t\tstate = stack[stack.length - 1];\n\t\t\t\tif (this.defaultActions[state]) {\n\t\t\t\t\taction = this.defaultActions[state];\n\t\t\t\t} else {\n\t\t\t\t\tif (symbol === null || typeof symbol == 'undefined') {\n\t\t\t\t\t\tsymbol = lex();\n\t\t\t\t\t}\n\t\t\t\t\taction = table[state] && table[state][symbol];\n\t\t\t\t}\n\t\t\t\tif (typeof action === 'undefined' || !action.length || !action[0]) {\n\t\t\t\t\tvar errStr = '';\n\t\t\t\t\texpected = [];\n\t\t\t\t\tfor (p in table[state]) {\n\t\t\t\t\t\tif (this.terminals_[p] && p > TERROR) {\n\t\t\t\t\t\t\texpected.push(\"'\" + this.terminals_[p] + \"'\");\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (lexer.showPosition) {\n\t\t\t\t\t\terrStr =\n\t\t\t\t\t\t\t'Parse error on line ' +\n\t\t\t\t\t\t\t(yylineno + 1) +\n\t\t\t\t\t\t\t':\\n' +\n\t\t\t\t\t\t\tlexer.showPosition() +\n\t\t\t\t\t\t\t'\\nExpecting ' +\n\t\t\t\t\t\t\texpected.join(', ') +\n\t\t\t\t\t\t\t\", got '\" +\n\t\t\t\t\t\t\t(this.terminals_[symbol] || symbol) +\n\t\t\t\t\t\t\t\"'\";\n\t\t\t\t\t} else {\n\t\t\t\t\t\terrStr =\n\t\t\t\t\t\t\t'Parse error on line ' +\n\t\t\t\t\t\t\t(yylineno + 1) +\n\t\t\t\t\t\t\t': Unexpected ' +\n\t\t\t\t\t\t\t(symbol == EOF ? 'end of input' : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n\t\t\t\t\t}\n\t\t\t\t\tthis.parseError(errStr, {\n\t\t\t\t\t\ttext: lexer.match,\n\t\t\t\t\t\ttoken: this.terminals_[symbol] || symbol,\n\t\t\t\t\t\tline: lexer.yylineno,\n\t\t\t\t\t\tloc: yyloc,\n\t\t\t\t\t\texpected: expected,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif (action[0] instanceof Array && action.length > 1) {\n\t\t\t\t\tthrow new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol);\n\t\t\t\t}\n\t\t\t\tswitch (action[0]) {\n\t\t\t\t\tcase 1:\n\t\t\t\t\t\tstack.push(symbol);\n\t\t\t\t\t\tvstack.push(lexer.yytext);\n\t\t\t\t\t\tlstack.push(lexer.yylloc);\n\t\t\t\t\t\tstack.push(action[1]);\n\t\t\t\t\t\tsymbol = null;\n\t\t\t\t\t\tif (!preErrorSymbol) {\n\t\t\t\t\t\t\tyyleng = lexer.yyleng;\n\t\t\t\t\t\t\tyytext = lexer.yytext;\n\t\t\t\t\t\t\tyylineno = lexer.yylineno;\n\t\t\t\t\t\t\tyyloc = lexer.yylloc;\n\t\t\t\t\t\t\tif (recovering > 0) {\n\t\t\t\t\t\t\t\trecovering--;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsymbol = preErrorSymbol;\n\t\t\t\t\t\t\tpreErrorSymbol = null;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 2:\n\t\t\t\t\t\tlen = this.productions_[action[1]][1];\n\t\t\t\t\t\tyyval.$ = vstack[vstack.length - len];\n\t\t\t\t\t\tyyval._$ = {\n\t\t\t\t\t\t\tfirst_line: lstack[lstack.length - (len || 1)].first_line,\n\t\t\t\t\t\t\tlast_line: lstack[lstack.length - 1].last_line,\n\t\t\t\t\t\t\tfirst_column: lstack[lstack.length - (len || 1)].first_column,\n\t\t\t\t\t\t\tlast_column: lstack[lstack.length - 1].last_column,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tif (ranges) {\n\t\t\t\t\t\t\tyyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tr = this.performAction.apply(yyval, [yytext, yyleng, yylineno, sharedState.yy, action[1], vstack, lstack].concat(args));\n\t\t\t\t\t\tif (typeof r !== 'undefined') {\n\t\t\t\t\t\t\treturn r;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (len) {\n\t\t\t\t\t\t\tstack = stack.slice(0, -1 * len * 2);\n\t\t\t\t\t\t\tvstack = vstack.slice(0, -1 * len);\n\t\t\t\t\t\t\tlstack = lstack.slice(0, -1 * len);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstack.push(this.productions_[action[1]][0]);\n\t\t\t\t\t\tvstack.push(yyval.$);\n\t\t\t\t\t\tlstack.push(yyval._$);\n\t\t\t\t\t\tnewState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n\t\t\t\t\t\tstack.push(newState);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 3:\n\t\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t};\n\n\tconst root = (type, data) => ({ __prototype: 'MesaureLayout', type, data });\n\n\tconst singleLayout = (n) => ({ __prototype: 'SingleMLayout', measure: Number(n) });\n\tconst blockLayout = (seq) => ({ __prototype: 'BlockMLayout', seq });\n\tconst voltaBlock = (times, body, alternates) => ({ __prototype: 'VoltaMLayout', times: Number(times), body, alternates });\n\tconst abaBlock = (main, rest) => ({ __prototype: 'ABAMLayout', main, rest });\n\n\tconst segment = (n) => ({ segment: true, length: Number(n) });\n\n\tconst alternates = (items) =>\n\t\titems.map((item) => {\n\t\t\tif (item.__prototype === 'BlockMLayout') return item.seq;\n\n\t\t\treturn [item];\n\t\t});\n\n\tconst range = (start, end) => {\n\t\tstart = Number(start);\n\t\tend = Number(end);\n\n\t\tif (!(end >= start)) throw new Error(`invalid measure range: ${start}..${end}`);\n\n\t\treturn Array(end + 1 - start)\n\t\t\t.fill(0)\n\t\t\t.map((_, i) => singleLayout(start + i));\n\t};\n\n\tconst serializeSeq = (item, options) => {\n\t\tif (item.segment) {\n\t\t\tconst index = options.index;\n\t\t\toptions.index += item.length;\n\n\t\t\treturn Array(item.length)\n\t\t\t\t.fill(0)\n\t\t\t\t.map((_, i) => singleLayout(index + i));\n\t\t}\n\n\t\treturn [serialize(item, options)];\n\t};\n\n\tconst serialize = (item, options = { index: 1 }) => {\n\t\tconst speard = (seq) => [].concat(...seq.map((it) => serializeSeq(it, options)));\n\n\t\tswitch (item.__prototype) {\n\t\t\tcase 'BlockMLayout':\n\t\t\t\titem.seq = speard(item.seq);\n\n\t\t\t\tbreak;\n\t\t\tcase 'VoltaMLayout':\n\t\t\t\titem.body = speard(item.body);\n\t\t\t\titem.alternates = item.alternates && item.alternates.map(speard);\n\n\t\t\t\tbreak;\n\t\t\tcase 'ABAMLayout':\n\t\t\t\titem.main = serialize(item.main, options);\n\t\t\t\titem.rest = speard(item.rest);\n\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn item;\n\t};\n\t/* generated by jison-lex 0.3.4 */\n\tvar lexer = (function () {\n\t\tvar lexer = {\n\t\t\tEOF: 1,\n\n\t\t\tparseError: function parseError(str, hash) {\n\t\t\t\tif (this.yy.parser) {\n\t\t\t\t\tthis.yy.parser.parseError(str, hash);\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error(str);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// resets the lexer, sets new input\n\t\t\tsetInput: function (input, yy) {\n\t\t\t\tthis.yy = yy || this.yy || {};\n\t\t\t\tthis._input = input;\n\t\t\t\tthis._more = this._backtrack = this.done = false;\n\t\t\t\tthis.yylineno = this.yyleng = 0;\n\t\t\t\tthis.yytext = this.matched = this.match = '';\n\t\t\t\tthis.conditionStack = ['INITIAL'];\n\t\t\t\tthis.yylloc = {\n\t\t\t\t\tfirst_line: 1,\n\t\t\t\t\tfirst_column: 0,\n\t\t\t\t\tlast_line: 1,\n\t\t\t\t\tlast_column: 0,\n\t\t\t\t};\n\t\t\t\tif (this.options.ranges) {\n\t\t\t\t\tthis.yylloc.range = [0, 0];\n\t\t\t\t}\n\t\t\t\tthis.offset = 0;\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// consumes and returns one char from the input\n\t\t\tinput: function () {\n\t\t\t\tvar ch = this._input[0];\n\t\t\t\tthis.yytext += ch;\n\t\t\t\tthis.yyleng++;\n\t\t\t\tthis.offset++;\n\t\t\t\tthis.match += ch;\n\t\t\t\tthis.matched += ch;\n\t\t\t\tvar lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n\t\t\t\tif (lines) {\n\t\t\t\t\tthis.yylineno++;\n\t\t\t\t\tthis.yylloc.last_line++;\n\t\t\t\t} else {\n\t\t\t\t\tthis.yylloc.last_column++;\n\t\t\t\t}\n\t\t\t\tif (this.options.ranges) {\n\t\t\t\t\tthis.yylloc.range[1]++;\n\t\t\t\t}\n\n\t\t\t\tthis._input = this._input.slice(1);\n\t\t\t\treturn ch;\n\t\t\t},\n\n\t\t\t// unshifts one char (or a string) into the input\n\t\t\tunput: function (ch) {\n\t\t\t\tvar len = ch.length;\n\t\t\t\tvar lines = ch.split(/(?:\\r\\n?|\\n)/g);\n\n\t\t\t\tthis._input = ch + this._input;\n\t\t\t\tthis.yytext = this.yytext.substr(0, this.yytext.length - len);\n\t\t\t\t//this.yyleng -= len;\n\t\t\t\tthis.offset -= len;\n\t\t\t\tvar oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n\t\t\t\tthis.match = this.match.substr(0, this.match.length - 1);\n\t\t\t\tthis.matched = this.matched.substr(0, this.matched.length - 1);\n\n\t\t\t\tif (lines.length - 1) {\n\t\t\t\t\tthis.yylineno -= lines.length - 1;\n\t\t\t\t}\n\t\t\t\tvar r = this.yylloc.range;\n\n\t\t\t\tthis.yylloc = {\n\t\t\t\t\tfirst_line: this.yylloc.first_line,\n\t\t\t\t\tlast_line: this.yylineno + 1,\n\t\t\t\t\tfirst_column: this.yylloc.first_column,\n\t\t\t\t\tlast_column: lines\n\t\t\t\t\t\t? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length\n\t\t\t\t\t\t: this.yylloc.first_column - len,\n\t\t\t\t};\n\n\t\t\t\tif (this.options.ranges) {\n\t\t\t\t\tthis.yylloc.range = [r[0], r[0] + this.yyleng - len];\n\t\t\t\t}\n\t\t\t\tthis.yyleng = this.yytext.length;\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// When called from action, caches matched text and appends it on next action\n\t\t\tmore: function () {\n\t\t\t\tthis._more = true;\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n\t\t\treject: function () {\n\t\t\t\tif (this.options.backtrack_lexer) {\n\t\t\t\t\tthis._backtrack = true;\n\t\t\t\t} else {\n\t\t\t\t\treturn this.parseError(\n\t\t\t\t\t\t'Lexical error on line ' +\n\t\t\t\t\t\t\t(this.yylineno + 1) +\n\t\t\t\t\t\t\t'. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n' +\n\t\t\t\t\t\t\tthis.showPosition(),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: '',\n\t\t\t\t\t\t\ttoken: null,\n\t\t\t\t\t\t\tline: this.yylineno,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// retain first n characters of the match\n\t\t\tless: function (n) {\n\t\t\t\tthis.unput(this.match.slice(n));\n\t\t\t},\n\n\t\t\t// displays already matched input, i.e. for error messages\n\t\t\tpastInput: function () {\n\t\t\t\tvar past = this.matched.substr(0, this.matched.length - this.match.length);\n\t\t\t\treturn (past.length > 20 ? '...' : '') + past.substr(-20).replace(/\\n/g, '');\n\t\t\t},\n\n\t\t\t// displays upcoming input, i.e. for error messages\n\t\t\tupcomingInput: function () {\n\t\t\t\tvar next = this.match;\n\t\t\t\tif (next.length < 20) {\n\t\t\t\t\tnext += this._input.substr(0, 20 - next.length);\n\t\t\t\t}\n\t\t\t\treturn (next.substr(0, 20) + (next.length > 20 ? '...' : '')).replace(/\\n/g, '');\n\t\t\t},\n\n\t\t\t// displays the character position where the lexing error occurred, i.e. for error messages\n\t\t\tshowPosition: function () {\n\t\t\t\tvar pre = this.pastInput();\n\t\t\t\tvar c = new Array(pre.length + 1).join('-');\n\t\t\t\treturn pre + this.upcomingInput() + '\\n' + c + '^';\n\t\t\t},\n\n\t\t\t// test the lexed token: return FALSE when not a match, otherwise return token\n\t\t\ttest_match: function (match, indexed_rule) {\n\t\t\t\tvar token, lines, backup;\n\n\t\t\t\tif (this.options.backtrack_lexer) {\n\t\t\t\t\t// save context\n\t\t\t\t\tbackup = {\n\t\t\t\t\t\tyylineno: this.yylineno,\n\t\t\t\t\t\tyylloc: {\n\t\t\t\t\t\t\tfirst_line: this.yylloc.first_line,\n\t\t\t\t\t\t\tlast_line: this.last_line,\n\t\t\t\t\t\t\tfirst_column: this.yylloc.first_column,\n\t\t\t\t\t\t\tlast_column: this.yylloc.last_column,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tyytext: this.yytext,\n\t\t\t\t\t\tmatch: this.match,\n\t\t\t\t\t\tmatches: this.matches,\n\t\t\t\t\t\tmatched: this.matched,\n\t\t\t\t\t\tyyleng: this.yyleng,\n\t\t\t\t\t\toffset: this.offset,\n\t\t\t\t\t\t_more: this._more,\n\t\t\t\t\t\t_input: this._input,\n\t\t\t\t\t\tyy: this.yy,\n\t\t\t\t\t\tconditionStack: this.conditionStack.slice(0),\n\t\t\t\t\t\tdone: this.done,\n\t\t\t\t\t};\n\t\t\t\t\tif (this.options.ranges) {\n\t\t\t\t\t\tbackup.yylloc.range = this.yylloc.range.slice(0);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n\t\t\t\tif (lines) {\n\t\t\t\t\tthis.yylineno += lines.length;\n\t\t\t\t}\n\t\t\t\tthis.yylloc = {\n\t\t\t\t\tfirst_line: this.yylloc.last_line,\n\t\t\t\t\tlast_line: this.yylineno + 1,\n\t\t\t\t\tfirst_column: this.yylloc.last_column,\n\t\t\t\t\tlast_column: lines\n\t\t\t\t\t\t? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length\n\t\t\t\t\t\t: this.yylloc.last_column + match[0].length,\n\t\t\t\t};\n\t\t\t\tthis.yytext += match[0];\n\t\t\t\tthis.match += match[0];\n\t\t\t\tthis.matches = match;\n\t\t\t\tthis.yyleng = this.yytext.length;\n\t\t\t\tif (this.options.ranges) {\n\t\t\t\t\tthis.yylloc.range = [this.offset, (this.offset += this.yyleng)];\n\t\t\t\t}\n\t\t\t\tthis._more = false;\n\t\t\t\tthis._backtrack = false;\n\t\t\t\tthis._input = this._input.slice(match[0].length);\n\t\t\t\tthis.matched += match[0];\n\t\t\t\ttoken = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n\t\t\t\tif (this.done && this._input) {\n\t\t\t\t\tthis.done = false;\n\t\t\t\t}\n\t\t\t\tif (token) {\n\t\t\t\t\treturn token;\n\t\t\t\t} else if (this._backtrack) {\n\t\t\t\t\t// recover context\n\t\t\t\t\tfor (var k in backup) {\n\t\t\t\t\t\tthis[k] = backup[k];\n\t\t\t\t\t}\n\t\t\t\t\treturn false; // rule action called reject() implying the next rule should be tested instead.\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t},\n\n\t\t\t// return next match in input\n\t\t\tnext: function () {\n\t\t\t\tif (this.done) {\n\t\t\t\t\treturn this.EOF;\n\t\t\t\t}\n\t\t\t\tif (!this._input) {\n\t\t\t\t\tthis.done = true;\n\t\t\t\t}\n\n\t\t\t\tvar token, match, tempMatch, index;\n\t\t\t\tif (!this._more) {\n\t\t\t\t\tthis.yytext = '';\n\t\t\t\t\tthis.match = '';\n\t\t\t\t}\n\t\t\t\tvar rules = this._currentRules();\n\t\t\t\tfor (var i = 0; i < rules.length; i++) {\n\t\t\t\t\ttempMatch = this._input.match(this.rules[rules[i]]);\n\t\t\t\t\tif (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n\t\t\t\t\t\tmatch = tempMatch;\n\t\t\t\t\t\tindex = i;\n\t\t\t\t\t\tif (this.options.backtrack_lexer) {\n\t\t\t\t\t\t\ttoken = this.test_match(tempMatch, rules[i]);\n\t\t\t\t\t\t\tif (token !== false) {\n\t\t\t\t\t\t\t\treturn token;\n\t\t\t\t\t\t\t} else if (this._backtrack) {\n\t\t\t\t\t\t\t\tmatch = false;\n\t\t\t\t\t\t\t\tcontinue; // rule action called reject() implying a rule MISmatch.\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t// else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (!this.options.flex) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (match) {\n\t\t\t\t\ttoken = this.test_match(match, rules[index]);\n\t\t\t\t\tif (token !== false) {\n\t\t\t\t\t\treturn token;\n\t\t\t\t\t}\n\t\t\t\t\t// else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (this._input === '') {\n\t\t\t\t\treturn this.EOF;\n\t\t\t\t} else {\n\t\t\t\t\treturn this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\\n' + this.showPosition(), {\n\t\t\t\t\t\ttext: '',\n\t\t\t\t\t\ttoken: null,\n\t\t\t\t\t\tline: this.yylineno,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// return next match that has a token\n\t\t\tlex: function lex() {\n\t\t\t\tvar r = this.next();\n\t\t\t\tif (r) {\n\t\t\t\t\treturn r;\n\t\t\t\t} else {\n\t\t\t\t\treturn this.lex();\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n\t\t\tbegin: function begin(condition) {\n\t\t\t\tthis.conditionStack.push(condition);\n\t\t\t},\n\n\t\t\t// pop the previously active lexer condition state off the condition stack\n\t\t\tpopState: function popState() {\n\t\t\t\tvar n = this.conditionStack.length - 1;\n\t\t\t\tif (n > 0) {\n\t\t\t\t\treturn this.conditionStack.pop();\n\t\t\t\t} else {\n\t\t\t\t\treturn this.conditionStack[0];\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// produce the lexer rule set which is active for the currently active lexer condition state\n\t\t\t_currentRules: function _currentRules() {\n\t\t\t\tif (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n\t\t\t\t\treturn this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n\t\t\t\t} else {\n\t\t\t\t\treturn this.conditions['INITIAL'].rules;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n\t\t\ttopState: function topState(n) {\n\t\t\t\tn = this.conditionStack.length - 1 - Math.abs(n || 0);\n\t\t\t\tif (n >= 0) {\n\t\t\t\t\treturn this.conditionStack[n];\n\t\t\t\t} else {\n\t\t\t\t\treturn 'INITIAL';\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// alias for begin(condition)\n\t\t\tpushState: function pushState(condition) {\n\t\t\t\tthis.begin(condition);\n\t\t\t},\n\n\t\t\t// return the number of states currently on the stack\n\t\t\tstateStackSize: function stateStackSize() {\n\t\t\t\treturn this.conditionStack.length;\n\t\t\t},\n\t\t\toptions: {},\n\t\t\tperformAction: function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n\t\t\t\tvar YYSTATE = YY_START;\n\t\t\t\tswitch ($avoiding_name_collisions) {\n\t\t\t\t\tcase 0:\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 1:\n\t\t\t\t\t\treturn yy_.yytext;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 2:\n\t\t\t\t\t\treturn 14;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 3:\n\t\t\t\t\t\treturn yy_.yytext;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 4:\n\t\t\t\t\t\treturn yy_.yytext;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 5:\n\t\t\t\t\t\treturn 5;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t},\n\t\t\trules: [/^(?:\\s+)/, /^(?:([*,\\[\\]<>{}]))/, /^(?:(([1-9])([0-9])*))/, /^(?:(([a-z])+):)/, /^(?:\\.\\.)/, /^(?:$)/],\n\t\t\tconditions: { INITIAL: { rules: [0, 1, 2, 3, 4, 5], inclusive: true } },\n\t\t};\n\t\treturn lexer;\n\t})();\n\tparser.lexer = lexer;\n\tfunction Parser() {\n\t\tthis.yy = {};\n\t}\n\tParser.prototype = parser;\n\tparser.Parser = Parser;\n\treturn new Parser();\n})();\n\nexport { parser };\nexport var Parser = parser.Parser;\nexport var parse = function () {\n\treturn parser.parse.apply(parser, arguments);\n};\nexport default { parser: parser, Parser: parser.Parser, parse: parse };\n","export interface RawItem {\n\tid: string;\n\tleftBounds: string[];\n\trightBounds: string[];\n\tconjunction: string;\n}\n\nexport enum StaffGroupType {\n\tDefault,\n\tBrace, // {}\n\tBracket, // <>\n\tSquare, // []\n}\n\nexport enum StaffConjunctionType {\n\tBlank,\n\tDashed,\n\tSolid,\n}\n\ntype StaffID = string;\n\nexport interface StaffGroup {\n\ttype: StaffGroupType;\n\tsubs?: StaffGroup[];\n\tstaff?: StaffID;\n\tlevel?: number;\n\tgrand?: boolean;\n}\n\ninterface StaffGroupTrait {\n\tgroup: StaffGroup;\n\trange: [number, number];\n\tkey: string;\n}\n\nconst singleGroup = (id: string) => ({ type: StaffGroupType.Default, staff: id });\n\nconst BOUNDS_TO_GROUPTYPE: { [bound: string]: StaffGroupType } = {\n\t'{': StaffGroupType.Brace,\n\t'}': StaffGroupType.Brace,\n\t'<': StaffGroupType.Bracket,\n\t'>': StaffGroupType.Bracket,\n\t'[': StaffGroupType.Square,\n\t']': StaffGroupType.Square,\n};\n\nconst OPEN_BOUNDS = '{<[';\nconst CLOSE_BOUNDS = '}>]';\n\nconst CONJUNCTIONS_MAP: { [conj: string]: StaffConjunctionType } = {\n\t',': StaffConjunctionType.Blank,\n\t'-': StaffConjunctionType.Solid,\n\t'.': StaffConjunctionType.Dashed,\n};\n\nconst bracketCode = (type: StaffGroupType, partial: boolean = false): ((inner: string) => string) => {\n\tif (type === StaffGroupType.Default) return (inner) => inner;\n\n\tif (partial) {\n\t\tswitch (type) {\n\t\t\tcase StaffGroupType.Brace:\n\t\t\t\treturn (inner) => `{${inner}`;\n\t\t\tcase StaffGroupType.Bracket:\n\t\t\t\treturn (inner) => `<${inner}`;\n\t\t\tcase StaffGroupType.Square:\n\t\t\t\treturn (inner) => `[${inner}`;\n\t\t\tdefault:\n\t\t\t\treturn (inner) => inner;\n\t\t}\n\t}\n\n\tswitch (type) {\n\t\tcase StaffGroupType.Brace:\n\t\t\treturn (inner) => `{${inner}}`;\n\t\tcase StaffGroupType.Bracket:\n\t\t\treturn (inner) => `<${inner}>`;\n\t\tcase StaffGroupType.Square:\n\t\t\treturn (inner) => `[${inner}]`;\n\t\tdefault:\n\t\t\treturn (inner) => inner;\n\t}\n};\n\nconst randomB64 = (): string => {\n\tconst code = btoa(Math.random().toString().substr(2)).replace(/=/g, '');\n\n\treturn code.split('').reverse().slice(0, 6).join('');\n};\n\nconst makeUniqueName = (set: Set, index: number, prefix?: string): string => {\n\tlet name = prefix;\n\tif (!name) name = index.toString();\n\telse if (set.has(name)) name += '_' + index.toString();\n\n\twhile (set.has(name)) name += '_' + randomB64();\n\n\treturn name;\n};\n\nconst makeGroupsFromRaw = (parent: StaffGroup, seq: string[]): string[] => {\n\tlet remains = seq;\n\twhile (remains.length) {\n\t\tconst word = remains.shift();\n\t\tconst bound = BOUNDS_TO_GROUPTYPE[word];\n\t\tif (bound) {\n\t\t\tif (CLOSE_BOUNDS.includes(word) && bound === parent.type) break;\n\n\t\t\tif (OPEN_BOUNDS.includes(word)) {\n\t\t\t\tconst group = { type: bound, level: Number.isFinite(parent.level) ? parent.level + 1 : 0 };\n\t\t\t\tremains = makeGroupsFromRaw(group, remains);\n\n\t\t\t\tparent.subs = parent.subs || [];\n\t\t\t\tparent.subs.push(group);\n\t\t\t}\n\t\t} else {\n\t\t\tparent.subs = parent.subs || [];\n\t\t\tparent.subs.push(singleGroup(word));\n\t\t}\n\t}\n\n\twhile (parent.type === StaffGroupType.Default && parent.subs && parent.subs.length === 1) {\n\t\tconst sub = parent.subs[0];\n\t\tparent.type = sub.type;\n\t\tparent.subs = sub.subs;\n\t\tparent.staff = sub.staff;\n\t\tparent.level = sub.level;\n\t}\n\n\twhile (parent.subs && parent.subs.length === 1 && parent.subs[0].type === StaffGroupType.Default) {\n\t\tconst sub = parent.subs[0];\n\t\tparent.subs = sub.subs;\n\t\tparent.staff = sub.staff;\n\t}\n\n\tparent.grand = parent.type === StaffGroupType.Brace && parent.subs && parent.subs.every((sub) => sub.staff);\n\n\treturn remains;\n};\n\nconst groupHead = (group: StaffGroup): string => {\n\tif (group.staff) return group.staff;\n\telse if (group.subs) return groupHead(group.subs[0]);\n};\n\nconst groupTail = (group: StaffGroup): string => {\n\tif (group.staff) return group.staff;\n\telse if (group.subs) return groupTail(group.subs[group.subs.length - 1]);\n};\n\nexport const groupKey = (group: StaffGroup): string => {\n\tif (group.staff) return group.staff;\n\telse if (group.subs) return `${groupHead(group)}-${groupTail(group)}`;\n};\n\nconst groupDict = (group: StaffGroup, dict: { [key: string]: StaffGroup }): void => {\n\tdict[groupKey(group)] = group;\n\n\tif (group.subs) group.subs.forEach((sub) => groupDict(sub, dict));\n};\n\nexport interface MaskedStaffLayout {\n\tstaffIds: string[];\n\tconjunctions: StaffConjunctionType[];\n\tgroups: StaffGroupTrait[];\n}\n\nclass StaffLayout {\n\tstaffIds: string[];\n\tconjunctions: StaffConjunctionType[];\n\tgroup: StaffGroup;\n\tgroups: StaffGroupTrait[];\n\n\tmaskCache: Map;\n\n\tconstructor(raw: RawItem[]) {\n\t\t// make unique ids\n\t\tconst ids = new Set();\n\t\traw.forEach((item, i) => {\n\t\t\titem.id = makeUniqueName(ids, i + 1, item.id);\n\t\t\tids.add(item.id);\n\t\t});\n\t\tthis.staffIds = raw.map((item) => item.id);\n\t\tthis.conjunctions = raw.slice(0, raw.length - 1).map((item) => (item.conjunction ? CONJUNCTIONS_MAP[item.conjunction] : StaffConjunctionType.Blank));\n\n\t\t// make groups\n\t\tconst seq = [].concat(...raw.map((item) => [...item.leftBounds, item.id, ...item.rightBounds]));\n\t\tthis.group = { type: StaffGroupType.Default };\n\t\tmakeGroupsFromRaw(this.group, seq);\n\n\t\tconst dict = {};\n\t\tgroupDict(this.group, dict);\n\t\tthis.groups = Object.entries(dict).map(([key, group]) => {\n\t\t\tlet ids = key.split('-');\n\t\t\tif (ids.length === 1) ids = [ids[0], ids[0]];\n\t\t\tconst range = ids.map((id) => this.staffIds.indexOf(id));\n\n\t\t\treturn {\n\t\t\t\tgroup,\n\t\t\t\trange,\n\t\t\t\tkey,\n\t\t\t} as StaffGroupTrait;\n\t\t});\n\n\t\tthis.maskCache = new Map();\n\t}\n\n\tget stavesCount(): number {\n\t\tif (!this.staffIds) return null;\n\n\t\treturn this.staffIds.length;\n\t}\n\n\tget partGroups(): StaffGroupTrait[] {\n\t\tconst grands = this.groups.filter((g) => g.group.grand);\n\t\tconst parts = this.groups.filter((g) => {\n\t\t\tif (g.group.grand) return true;\n\n\t\t\tif (g.range[0] === g.range[1]) {\n\t\t\t\tconst index = g.range[0];\n\t\t\t\treturn !grands.some((g) => g.range[0] <= index && g.range[1] >= index);\n\t\t\t}\n\n\t\t\treturn false;\n\t\t});\n\n\t\treturn parts;\n\t}\n\n\tget standaloneGroups(): string[][] {\n\t\tconst groups: string[][] = [];\n\t\tconst collect = (group: StaffGroup): void => {\n\t\t\tif (group.grand) groups.push(group.subs.map((sub) => sub.staff));\n\t\t\telse if (group.staff) groups.push([group.staff]);\n\t\t\telse if (group.subs) group.subs.forEach((sub) => collect(sub));\n\t\t};\n\t\tcollect(this.group);\n\n\t\treturn groups;\n\t}\n\n\tconjunctionBetween(upStaff: number, downStaff: number): StaffConjunctionType {\n\t\tif (downStaff <= upStaff) return null;\n\n\t\tlet con = StaffConjunctionType.Solid;\n\t\tfor (let i = upStaff; i < downStaff; i++) con = Math.min(con, this.conjunctions[i]);\n\n\t\treturn con;\n\t}\n\n\tstatic makeMaskLayout(layout: StaffLayout, mask: number): MaskedStaffLayout {\n\t\tconst staffIds = layout.staffIds.filter((_, i) => mask & (1 << i));\n\t\tif (staffIds.length === layout.staffIds.length) {\n\t\t\treturn {\n\t\t\t\tstaffIds: layout.staffIds,\n\t\t\t\tconjunctions: layout.conjunctions,\n\t\t\t\tgroups: layout.groups,\n\t\t\t};\n\t\t}\n\n\t\tconst groups = layout.groups\n\t\t\t.map((g) => ({ ids: layout.staffIds.slice(g.range[0], g.range[1] + 1).filter((id) => staffIds.includes(id)), ...g }))\n\t\t\t.filter(({ ids }) => ids.length)\n\t\t\t.map(\n\t\t\t\t({ ids, ...g }) =>\n\t\t\t\t\t({\n\t\t\t\t\t\tkey: g.key,\n\t\t\t\t\t\tgroup: g.group,\n\t\t\t\t\t\trange: [staffIds.indexOf(ids[0]), staffIds.indexOf(ids[ids.length - 1])],\n\t\t\t\t\t} as StaffGroupTrait)\n\t\t\t);\n\n\t\tconst conjunctions = staffIds.slice(0, staffIds.length - 1).map((id, i) => {\n\t\t\tconst nextId = staffIds[i + 1];\n\t\t\treturn layout.conjunctionBetween(layout.staffIds.indexOf(id), layout.staffIds.indexOf(nextId));\n\t\t});\n\n\t\treturn {\n\t\t\tstaffIds,\n\t\t\tconjunctions,\n\t\t\tgroups,\n\t\t};\n\t}\n\n\tmask(mask: number): MaskedStaffLayout {\n\t\tif (!this.maskCache.get(mask)) this.maskCache.set(mask, StaffLayout.makeMaskLayout(this, mask));\n\n\t\treturn this.maskCache.get(mask);\n\t}\n\n\t// {,}\t*\t1,1\t\t=> {,}\n\t// {,}\t*\t1,x\t\t=> {\n\t// {,}\t*\t0,x\t\t=>\n\t// {,}\t*\t0,1\t\t=> {}\n\tpartialMaskCode(bits: (1 | 0)[], withIds = false): string {\n\t\ttype Attendance = 0 | 1 | null;\n\t\tconst staffStatus = this.staffIds\n\t\t\t.map((_, i) => (i < bits.length ? bits[i] : null))\n\t\t\t.reduce((status, x, i) => {\n\t\t\t\tstatus[this.staffIds[i]] = x;\n\t\t\t\treturn status;\n\t\t\t}, {} as { [id: string]: Attendance });\n\n\t\tconst joinGroup = (group: StaffGroup): [string, boolean] => {\n\t\t\tif (group.staff) return [staffStatus[group.staff] ? group.staff : null, staffStatus[group.staff] === null];\n\n\t\t\tconst subs = group.subs.map((sub) => joinGroup(sub));\n\t\t\tconst subStr = subs\n\t\t\t\t.map((pair) => pair[0])\n\t\t\t\t.filter(Boolean)\n\t\t\t\t.join(',');\n\t\t\tconst partial = subs.some(([_, partial]) => partial);\n\n\t\t\tconst code = subStr ? bracketCode(group.type, partial)(subStr) : null;\n\n\t\t\treturn [code, partial];\n\t\t};\n\n\t\tlet [code] = joinGroup(this.group);\n\t\tcode = code || '';\n\t\tif (!withIds) code = code.replace(/[_\\w]+/g, '');\n\n\t\treturn code;\n\t}\n}\n\nexport default StaffLayout;\n","/* parser generated by jison 0.4.18 */\n/*\n Returns a Parser object of the following structure:\n\n Parser: {\n yy: {}\n }\n\n Parser.prototype: {\n yy: {},\n trace: function(),\n symbols_: {associative list: name ==> number},\n terminals_: {associative list: number ==> name},\n productions_: [...],\n performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$),\n table: [...],\n defaultActions: {...},\n parseError: function(str, hash),\n parse: function(input),\n\n lexer: {\n EOF: 1,\n parseError: function(str, hash),\n setInput: function(input),\n input: function(),\n unput: function(str),\n more: function(),\n less: function(n),\n pastInput: function(),\n upcomingInput: function(),\n showPosition: function(),\n test_match: function(regex_match_array, rule_index),\n next: function(),\n lex: function(),\n begin: function(condition),\n popState: function(),\n _currentRules: function(),\n topState: function(),\n pushState: function(condition),\n\n options: {\n ranges: boolean (optional: true ==> token location info will include a .range[] member)\n flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match)\n backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code)\n },\n\n performAction: function(yy, yy_, $avoiding_name_collisions, YY_START),\n rules: [...],\n conditions: {associative list: name ==> set},\n }\n }\n\n\n token location info (@$, _$, etc.): {\n first_line: n,\n last_line: n,\n first_column: n,\n last_column: n,\n range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based)\n }\n\n\n the parseError function receives a 'hash' object with these members for lexer and parser errors: {\n text: (matched text)\n token: (the produced terminal token, if any)\n line: (yylineno)\n }\n while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: {\n loc: (yylloc)\n expected: (string describing the set of expected tokens)\n recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error)\n }\n*/\nvar parser = (function () {\n\tvar o = function (k, v, o, l) {\n\t\t\tfor (o = o || {}, l = k.length; l--; o[k[l]] = v);\n\t\t\treturn o;\n\t\t},\n\t\t$V0 = [1, 15],\n\t\t$V1 = [1, 16],\n\t\t$V2 = [1, 17],\n\t\t$V3 = [1, 11],\n\t\t$V4 = [1, 12],\n\t\t$V5 = [1, 13],\n\t\t$V6 = [1, 24],\n\t\t$V7 = [1, 25],\n\t\t$V8 = [1, 26],\n\t\t$V9 = [5, 11, 12, 13, 15, 16, 17, 21, 22, 23, 24],\n\t\t$Va = [15, 16, 17, 21, 22, 23, 24],\n\t\t$Vb = [11, 12, 13, 15, 16, 17, 21, 22, 23, 24],\n\t\t$Vc = [5, 11, 12, 13, 21, 22, 23, 24];\n\tvar parser = {\n\t\ttrace: function trace() {},\n\t\tyy: {},\n\t\tsymbols_: {\n\t\t\terror: 2,\n\t\t\tstart_symbol: 3,\n\t\t\tstaff_layout: 4,\n\t\t\tEOF: 5,\n\t\t\tseq: 6,\n\t\t\tseq_id: 7,\n\t\t\tseq_br: 8,\n\t\t\tseq_con: 9,\n\t\t\tbound_left: 10,\n\t\t\t'<': 11,\n\t\t\t'[': 12,\n\t\t\t'{': 13,\n\t\t\tbound_right: 14,\n\t\t\t'>': 15,\n\t\t\t']': 16,\n\t\t\t'}': 17,\n\t\t\tbound_lefts: 18,\n\t\t\tbound_rights: 19,\n\t\t\tconjunction: 20,\n\t\t\t'-': 21,\n\t\t\t',': 22,\n\t\t\t'.': 23,\n\t\t\tID: 24,\n\t\t\tseq_bl: 25,\n\t\t\t$accept: 0,\n\t\t\t$end: 1,\n\t\t},\n\t\tterminals_: { 2: 'error', 5: 'EOF', 11: '<', 12: '[', 13: '{', 15: '>', 16: ']', 17: '}', 21: '-', 22: ',', 23: '.', 24: 'ID' },\n\t\tproductions_: [\n\t\t\t0,\n\t\t\t[3, 2],\n\t\t\t[4, 1],\n\t\t\t[6, 0],\n\t\t\t[6, 1],\n\t\t\t[6, 1],\n\t\t\t[6, 1],\n\t\t\t[10, 1],\n\t\t\t[10, 1],\n\t\t\t[10, 1],\n\t\t\t[14, 1],\n\t\t\t[14, 1],\n\t\t\t[14, 1],\n\t\t\t[18, 1],\n\t\t\t[18, 2],\n\t\t\t[19, 1],\n\t\t\t[19, 2],\n\t\t\t[20, 1],\n\t\t\t[20, 1],\n\t\t\t[20, 1],\n\t\t\t[7, 1],\n\t\t\t[7, 2],\n\t\t\t[7, 2],\n\t\t\t[7, 2],\n\t\t\t[7, 2],\n\t\t\t[25, 1],\n\t\t\t[25, 2],\n\t\t\t[25, 2],\n\t\t\t[25, 2],\n\t\t\t[8, 2],\n\t\t\t[8, 2],\n\t\t\t[8, 2],\n\t\t\t[9, 1],\n\t\t\t[9, 2],\n\t\t\t[9, 2],\n\t\t\t[9, 2],\n\t\t\t[9, 2],\n\t\t],\n\t\tperformAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) {\n\t\t\t/* this == yyval */\n\n\t\t\tvar $0 = $$.length - 1;\n\t\t\tswitch (yystate) {\n\t\t\t\tcase 1:\n\t\t\t\t\treturn $$[$0 - 1];\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 2:\n\t\t\t\t\t$$[$0].next();\n\n\t\t\t\t\tthis.$ = $$[$0].toJSON();\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 3:\n\t\t\t\t\tthis.$ = new Seq();\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 13:\n\t\t\t\tcase 15:\n\t\t\t\t\tthis.$ = [$$[$0]];\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 14:\n\t\t\t\tcase 16:\n\t\t\t\t\tthis.$ = [...$$[$0 - 1], $$[$0]];\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 20:\n\t\t\t\t\tthis.$ = new Seq();\n\t\t\t\t\tthis.$.tip.i($$[$0]);\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 21:\n\t\t\t\tcase 23:\n\t\t\t\t\t$$[$0 - 1].next();\n\t\t\t\t\t$$[$0 - 1].tip.i($$[$0]);\n\n\t\t\t\t\tthis.$ = $$[$0 - 1];\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 22:\n\t\t\t\tcase 24:\n\t\t\t\t\t$$[$0 - 1].tip.i($$[$0]);\n\n\t\t\t\t\tthis.$ = $$[$0 - 1];\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 25:\n\t\t\t\t\tthis.$ = new Seq();\n\t\t\t\t\tthis.$.tip.bl($$[$0]);\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 26:\n\t\t\t\tcase 27:\n\t\t\t\t\t$$[$0 - 1].next();\n\t\t\t\t\t$$[$0 - 1].tip.bl($$[$0]);\n\n\t\t\t\t\tthis.$ = $$[$0 - 1];\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 28:\n\t\t\t\t\t$$[$0 - 1].tip.bl($$[$0]);\n\n\t\t\t\t\tthis.$ = $$[$0 - 1];\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 29:\n\t\t\t\tcase 30:\n\t\t\t\tcase 31:\n\t\t\t\t\t$$[$0 - 1].tip.br($$[$0]);\n\n\t\t\t\t\tthis.$ = $$[$0 - 1];\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 32:\n\t\t\t\t\tthis.$ = new Seq();\n\t\t\t\t\tthis.$.tip.con($$[$0]);\n\t\t\t\t\tthis.$.next();\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 33:\n\t\t\t\tcase 34:\n\t\t\t\tcase 35:\n\t\t\t\tcase 36:\n\t\t\t\t\t$$[$0 - 1].tip.con($$[$0]);\n\t\t\t\t\t$$[$0 - 1].next();\n\n\t\t\t\t\tthis.$ = $$[$0 - 1];\n\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\ttable: [\n\t\t\t{ 3: 1, 4: 2, 5: [2, 3], 6: 3, 7: 4, 8: 5, 9: 6, 10: 14, 11: $V0, 12: $V1, 13: $V2, 18: 10, 20: 9, 21: $V3, 22: $V4, 23: $V5, 24: [1, 7], 25: 8 },\n\t\t\t{ 1: [3] },\n\t\t\t{ 5: [1, 18] },\n\t\t\t{ 5: [2, 2] },\n\t\t\t{ 5: [2, 4], 10: 14, 11: $V0, 12: $V1, 13: $V2, 14: 23, 15: $V6, 16: $V7, 17: $V8, 18: 22, 19: 20, 20: 21, 21: $V3, 22: $V4, 23: $V5, 24: [1, 19] },\n\t\t\t{ 5: [2, 5], 10: 14, 11: $V0, 12: $V1, 13: $V2, 18: 29, 20: 28, 21: $V3, 22: $V4, 23: $V5, 24: [1, 27] },\n\t\t\t{ 5: [2, 6], 10: 14, 11: $V0, 12: $V1, 13: $V2, 14: 23, 15: $V6, 16: $V7, 17: $V8, 18: 33, 19: 31, 20: 32, 21: $V3, 22: $V4, 23: $V5, 24: [1, 30] },\n\t\t\to($V9, [2, 20]),\n\t\t\t{ 14: 23, 15: $V6, 16: $V7, 17: $V8, 19: 35, 20: 36, 21: $V3, 22: $V4, 23: $V5, 24: [1, 34] },\n\t\t\to($V9, [2, 32]),\n\t\t\to($Va, [2, 25], { 10: 37, 11: $V0, 12: $V1, 13: $V2 }),\n\t\t\to($V9, [2, 17]),\n\t\t\to($V9, [2, 18]),\n\t\t\to($V9, [2, 19]),\n\t\t\to($Vb, [2, 13]),\n\t\t\to($Vb, [2, 7]),\n\t\t\to($Vb, [2, 8]),\n\t\t\to($Vb, [2, 9]),\n\t\t\t{ 1: [2, 1] },\n\t\t\to($V9, [2, 21]),\n\t\t\to($Vc, [2, 29], { 14: 38, 15: $V6, 16: $V7, 17: $V8 }),\n\t\t\to($V9, [2, 33]),\n\t\t\to($Va, [2, 26], { 10: 37, 11: $V0, 12: $V1, 13: $V2 }),\n\t\t\to($V9, [2, 15]),\n\t\t\to($V9, [2, 10]),\n\t\t\to($V9, [2, 11]),\n\t\t\to($V9, [2, 12]),\n\t\t\to($V9, [2, 23]),\n\t\t\to($V9, [2, 35]),\n\t\t\to($Va, [2, 27], { 10: 37, 11: $V0, 12: $V1, 13: $V2 }),\n\t\t\to($V9, [2, 24]),\n\t\t\to($Vc, [2, 31], { 14: 38, 15: $V6, 16: $V7, 17: $V8 }),\n\t\t\to($V9, [2, 36]),\n\t\t\to($Va, [2, 28], { 10: 37, 11: $V0, 12: $V1, 13: $V2 }),\n\t\t\to($V9, [2, 22]),\n\t\t\to($Vc, [2, 30], { 14: 38, 15: $V6, 16: $V7, 17: $V8 }),\n\t\t\to($V9, [2, 34]),\n\t\t\to($Vb, [2, 14]),\n\t\t\to($V9, [2, 16]),\n\t\t],\n\t\tdefaultActions: { 3: [2, 2], 18: [2, 1] },\n\t\tparseError: function parseError(str, hash) {\n\t\t\tif (hash.recoverable) {\n\t\t\t\tthis.trace(str);\n\t\t\t} else {\n\t\t\t\tvar error = new Error(str);\n\t\t\t\terror.hash = hash;\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t},\n\t\tparse: function parse(input) {\n\t\t\tvar self = this,\n\t\t\t\tstack = [0],\n\t\t\t\ttstack = [],\n\t\t\t\tvstack = [null],\n\t\t\t\tlstack = [],\n\t\t\t\ttable = this.table,\n\t\t\t\tyytext = '',\n\t\t\t\tyylineno = 0,\n\t\t\t\tyyleng = 0,\n\t\t\t\trecovering = 0,\n\t\t\t\tTERROR = 2,\n\t\t\t\tEOF = 1;\n\t\t\tvar args = lstack.slice.call(arguments, 1);\n\t\t\tvar lexer = Object.create(this.lexer);\n\t\t\tvar sharedState = { yy: {} };\n\t\t\tfor (var k in this.yy) {\n\t\t\t\tif (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n\t\t\t\t\tsharedState.yy[k] = this.yy[k];\n\t\t\t\t}\n\t\t\t}\n\t\t\tlexer.setInput(input, sharedState.yy);\n\t\t\tsharedState.yy.lexer = lexer;\n\t\t\tsharedState.yy.parser = this;\n\t\t\tif (typeof lexer.yylloc == 'undefined') {\n\t\t\t\tlexer.yylloc = {};\n\t\t\t}\n\t\t\tvar yyloc = lexer.yylloc;\n\t\t\tlstack.push(yyloc);\n\t\t\tvar ranges = lexer.options && lexer.options.ranges;\n\t\t\tif (typeof sharedState.yy.parseError === 'function') {\n\t\t\t\tthis.parseError = sharedState.yy.parseError;\n\t\t\t} else {\n\t\t\t\tthis.parseError = Object.getPrototypeOf(this).parseError;\n\t\t\t}\n\t\t\tfunction popStack(n) {\n\t\t\t\tstack.length = stack.length - 2 * n;\n\t\t\t\tvstack.length = vstack.length - n;\n\t\t\t\tlstack.length = lstack.length - n;\n\t\t\t}\n\t\t\t_token_stack: var lex = function () {\n\t\t\t\tvar token;\n\t\t\t\ttoken = lexer.lex() || EOF;\n\t\t\t\tif (typeof token !== 'number') {\n\t\t\t\t\ttoken = self.symbols_[token] || token;\n\t\t\t\t}\n\t\t\t\treturn token;\n\t\t\t};\n\t\t\tvar symbol,\n\t\t\t\tpreErrorSymbol,\n\t\t\t\tstate,\n\t\t\t\taction,\n\t\t\t\ta,\n\t\t\t\tr,\n\t\t\t\tyyval = {},\n\t\t\t\tp,\n\t\t\t\tlen,\n\t\t\t\tnewState,\n\t\t\t\texpected;\n\t\t\twhile (true) {\n\t\t\t\tstate = stack[stack.length - 1];\n\t\t\t\tif (this.defaultActions[state]) {\n\t\t\t\t\taction = this.defaultActions[state];\n\t\t\t\t} else {\n\t\t\t\t\tif (symbol === null || typeof symbol == 'undefined') {\n\t\t\t\t\t\tsymbol = lex();\n\t\t\t\t\t}\n\t\t\t\t\taction = table[state] && table[state][symbol];\n\t\t\t\t}\n\t\t\t\tif (typeof action === 'undefined' || !action.length || !action[0]) {\n\t\t\t\t\tvar errStr = '';\n\t\t\t\t\texpected = [];\n\t\t\t\t\tfor (p in table[state]) {\n\t\t\t\t\t\tif (this.terminals_[p] && p > TERROR) {\n\t\t\t\t\t\t\texpected.push(\"'\" + this.terminals_[p] + \"'\");\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (lexer.showPosition) {\n\t\t\t\t\t\terrStr =\n\t\t\t\t\t\t\t'Parse error on line ' +\n\t\t\t\t\t\t\t(yylineno + 1) +\n\t\t\t\t\t\t\t':\\n' +\n\t\t\t\t\t\t\tlexer.showPosition() +\n\t\t\t\t\t\t\t'\\nExpecting ' +\n\t\t\t\t\t\t\texpected.join(', ') +\n\t\t\t\t\t\t\t\", got '\" +\n\t\t\t\t\t\t\t(this.terminals_[symbol] || symbol) +\n\t\t\t\t\t\t\t\"'\";\n\t\t\t\t\t} else {\n\t\t\t\t\t\terrStr =\n\t\t\t\t\t\t\t'Parse error on line ' +\n\t\t\t\t\t\t\t(yylineno + 1) +\n\t\t\t\t\t\t\t': Unexpected ' +\n\t\t\t\t\t\t\t(symbol == EOF ? 'end of input' : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n\t\t\t\t\t}\n\t\t\t\t\tthis.parseError(errStr, {\n\t\t\t\t\t\ttext: lexer.match,\n\t\t\t\t\t\ttoken: this.terminals_[symbol] || symbol,\n\t\t\t\t\t\tline: lexer.yylineno,\n\t\t\t\t\t\tloc: yyloc,\n\t\t\t\t\t\texpected: expected,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif (action[0] instanceof Array && action.length > 1) {\n\t\t\t\t\tthrow new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol);\n\t\t\t\t}\n\t\t\t\tswitch (action[0]) {\n\t\t\t\t\tcase 1:\n\t\t\t\t\t\tstack.push(symbol);\n\t\t\t\t\t\tvstack.push(lexer.yytext);\n\t\t\t\t\t\tlstack.push(lexer.yylloc);\n\t\t\t\t\t\tstack.push(action[1]);\n\t\t\t\t\t\tsymbol = null;\n\t\t\t\t\t\tif (!preErrorSymbol) {\n\t\t\t\t\t\t\tyyleng = lexer.yyleng;\n\t\t\t\t\t\t\tyytext = lexer.yytext;\n\t\t\t\t\t\t\tyylineno = lexer.yylineno;\n\t\t\t\t\t\t\tyyloc = lexer.yylloc;\n\t\t\t\t\t\t\tif (recovering > 0) {\n\t\t\t\t\t\t\t\trecovering--;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsymbol = preErrorSymbol;\n\t\t\t\t\t\t\tpreErrorSymbol = null;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 2:\n\t\t\t\t\t\tlen = this.productions_[action[1]][1];\n\t\t\t\t\t\tyyval.$ = vstack[vstack.length - len];\n\t\t\t\t\t\tyyval._$ = {\n\t\t\t\t\t\t\tfirst_line: lstack[lstack.length - (len || 1)].first_line,\n\t\t\t\t\t\t\tlast_line: lstack[lstack.length - 1].last_line,\n\t\t\t\t\t\t\tfirst_column: lstack[lstack.length - (len || 1)].first_column,\n\t\t\t\t\t\t\tlast_column: lstack[lstack.length - 1].last_column,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tif (ranges) {\n\t\t\t\t\t\t\tyyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tr = this.performAction.apply(yyval, [yytext, yyleng, yylineno, sharedState.yy, action[1], vstack, lstack].concat(args));\n\t\t\t\t\t\tif (typeof r !== 'undefined') {\n\t\t\t\t\t\t\treturn r;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (len) {\n\t\t\t\t\t\t\tstack = stack.slice(0, -1 * len * 2);\n\t\t\t\t\t\t\tvstack = vstack.slice(0, -1 * len);\n\t\t\t\t\t\t\tlstack = lstack.slice(0, -1 * len);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstack.push(this.productions_[action[1]][0]);\n\t\t\t\t\t\tvstack.push(yyval.$);\n\t\t\t\t\t\tlstack.push(yyval._$);\n\t\t\t\t\t\tnewState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n\t\t\t\t\t\tstack.push(newState);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 3:\n\t\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t};\n\n\tclass Item {\n\t\tconstructor() {\n\t\t\tthis.id = null;\n\t\t\tthis.leftBounds = [];\n\t\t\tthis.rightBounds = [];\n\t\t\tthis.conjunction = null;\n\t\t}\n\n\t\ti(id) {\n\t\t\tthis.id = id;\n\t\t\treturn this;\n\t\t}\n\n\t\tbl(leftBounds) {\n\t\t\tthis.leftBounds = leftBounds;\n\t\t\treturn this;\n\t\t}\n\n\t\tbr(rightBounds) {\n\t\t\tthis.rightBounds = rightBounds;\n\t\t\treturn this;\n\t\t}\n\n\t\tcon(conjunction) {\n\t\t\tthis.conjunction = conjunction;\n\t\t\treturn this;\n\t\t}\n\t}\n\n\tclass Seq {\n\t\tconstructor() {\n\t\t\tthis.body = [];\n\t\t\tthis.tip = new Item();\n\t\t}\n\n\t\tnext() {\n\t\t\tthis.body.push(this.tip);\n\t\t\tthis.tip = new Item();\n\t\t\treturn this;\n\t\t}\n\n\t\ttoJSON() {\n\t\t\treturn this.body;\n\t\t}\n\t}\n\t/* generated by jison-lex 0.3.4 */\n\tvar lexer = (function () {\n\t\tvar lexer = {\n\t\t\tEOF: 1,\n\n\t\t\tparseError: function parseError(str, hash) {\n\t\t\t\tif (this.yy.parser) {\n\t\t\t\t\tthis.yy.parser.parseError(str, hash);\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error(str);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// resets the lexer, sets new input\n\t\t\tsetInput: function (input, yy) {\n\t\t\t\tthis.yy = yy || this.yy || {};\n\t\t\t\tthis._input = input;\n\t\t\t\tthis._more = this._backtrack = this.done = false;\n\t\t\t\tthis.yylineno = this.yyleng = 0;\n\t\t\t\tthis.yytext = this.matched = this.match = '';\n\t\t\t\tthis.conditionStack = ['INITIAL'];\n\t\t\t\tthis.yylloc = {\n\t\t\t\t\tfirst_line: 1,\n\t\t\t\t\tfirst_column: 0,\n\t\t\t\t\tlast_line: 1,\n\t\t\t\t\tlast_column: 0,\n\t\t\t\t};\n\t\t\t\tif (this.options.ranges) {\n\t\t\t\t\tthis.yylloc.range = [0, 0];\n\t\t\t\t}\n\t\t\t\tthis.offset = 0;\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// consumes and returns one char from the input\n\t\t\tinput: function () {\n\t\t\t\tvar ch = this._input[0];\n\t\t\t\tthis.yytext += ch;\n\t\t\t\tthis.yyleng++;\n\t\t\t\tthis.offset++;\n\t\t\t\tthis.match += ch;\n\t\t\t\tthis.matched += ch;\n\t\t\t\tvar lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n\t\t\t\tif (lines) {\n\t\t\t\t\tthis.yylineno++;\n\t\t\t\t\tthis.yylloc.last_line++;\n\t\t\t\t} else {\n\t\t\t\t\tthis.yylloc.last_column++;\n\t\t\t\t}\n\t\t\t\tif (this.options.ranges) {\n\t\t\t\t\tthis.yylloc.range[1]++;\n\t\t\t\t}\n\n\t\t\t\tthis._input = this._input.slice(1);\n\t\t\t\treturn ch;\n\t\t\t},\n\n\t\t\t// unshifts one char (or a string) into the input\n\t\t\tunput: function (ch) {\n\t\t\t\tvar len = ch.length;\n\t\t\t\tvar lines = ch.split(/(?:\\r\\n?|\\n)/g);\n\n\t\t\t\tthis._input = ch + this._input;\n\t\t\t\tthis.yytext = this.yytext.substr(0, this.yytext.length - len);\n\t\t\t\t//this.yyleng -= len;\n\t\t\t\tthis.offset -= len;\n\t\t\t\tvar oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n\t\t\t\tthis.match = this.match.substr(0, this.match.length - 1);\n\t\t\t\tthis.matched = this.matched.substr(0, this.matched.length - 1);\n\n\t\t\t\tif (lines.length - 1) {\n\t\t\t\t\tthis.yylineno -= lines.length - 1;\n\t\t\t\t}\n\t\t\t\tvar r = this.yylloc.range;\n\n\t\t\t\tthis.yylloc = {\n\t\t\t\t\tfirst_line: this.yylloc.first_line,\n\t\t\t\t\tlast_line: this.yylineno + 1,\n\t\t\t\t\tfirst_column: this.yylloc.first_column,\n\t\t\t\t\tlast_column: lines\n\t\t\t\t\t\t? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length\n\t\t\t\t\t\t: this.yylloc.first_column - len,\n\t\t\t\t};\n\n\t\t\t\tif (this.options.ranges) {\n\t\t\t\t\tthis.yylloc.range = [r[0], r[0] + this.yyleng - len];\n\t\t\t\t}\n\t\t\t\tthis.yyleng = this.yytext.length;\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// When called from action, caches matched text and appends it on next action\n\t\t\tmore: function () {\n\t\t\t\tthis._more = true;\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n\t\t\treject: function () {\n\t\t\t\tif (this.options.backtrack_lexer) {\n\t\t\t\t\tthis._backtrack = true;\n\t\t\t\t} else {\n\t\t\t\t\treturn this.parseError(\n\t\t\t\t\t\t'Lexical error on line ' +\n\t\t\t\t\t\t\t(this.yylineno + 1) +\n\t\t\t\t\t\t\t'. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n' +\n\t\t\t\t\t\t\tthis.showPosition(),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: '',\n\t\t\t\t\t\t\ttoken: null,\n\t\t\t\t\t\t\tline: this.yylineno,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// retain first n characters of the match\n\t\t\tless: function (n) {\n\t\t\t\tthis.unput(this.match.slice(n));\n\t\t\t},\n\n\t\t\t// displays already matched input, i.e. for error messages\n\t\t\tpastInput: function () {\n\t\t\t\tvar past = this.matched.substr(0, this.matched.length - this.match.length);\n\t\t\t\treturn (past.length > 20 ? '...' : '') + past.substr(-20).replace(/\\n/g, '');\n\t\t\t},\n\n\t\t\t// displays upcoming input, i.e. for error messages\n\t\t\tupcomingInput: function () {\n\t\t\t\tvar next = this.match;\n\t\t\t\tif (next.length < 20) {\n\t\t\t\t\tnext += this._input.substr(0, 20 - next.length);\n\t\t\t\t}\n\t\t\t\treturn (next.substr(0, 20) + (next.length > 20 ? '...' : '')).replace(/\\n/g, '');\n\t\t\t},\n\n\t\t\t// displays the character position where the lexing error occurred, i.e. for error messages\n\t\t\tshowPosition: function () {\n\t\t\t\tvar pre = this.pastInput();\n\t\t\t\tvar c = new Array(pre.length + 1).join('-');\n\t\t\t\treturn pre + this.upcomingInput() + '\\n' + c + '^';\n\t\t\t},\n\n\t\t\t// test the lexed token: return FALSE when not a match, otherwise return token\n\t\t\ttest_match: function (match, indexed_rule) {\n\t\t\t\tvar token, lines, backup;\n\n\t\t\t\tif (this.options.backtrack_lexer) {\n\t\t\t\t\t// save context\n\t\t\t\t\tbackup = {\n\t\t\t\t\t\tyylineno: this.yylineno,\n\t\t\t\t\t\tyylloc: {\n\t\t\t\t\t\t\tfirst_line: this.yylloc.first_line,\n\t\t\t\t\t\t\tlast_line: this.last_line,\n\t\t\t\t\t\t\tfirst_column: this.yylloc.first_column,\n\t\t\t\t\t\t\tlast_column: this.yylloc.last_column,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tyytext: this.yytext,\n\t\t\t\t\t\tmatch: this.match,\n\t\t\t\t\t\tmatches: this.matches,\n\t\t\t\t\t\tmatched: this.matched,\n\t\t\t\t\t\tyyleng: this.yyleng,\n\t\t\t\t\t\toffset: this.offset,\n\t\t\t\t\t\t_more: this._more,\n\t\t\t\t\t\t_input: this._input,\n\t\t\t\t\t\tyy: this.yy,\n\t\t\t\t\t\tconditionStack: this.conditionStack.slice(0),\n\t\t\t\t\t\tdone: this.done,\n\t\t\t\t\t};\n\t\t\t\t\tif (this.options.ranges) {\n\t\t\t\t\t\tbackup.yylloc.range = this.yylloc.range.slice(0);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n\t\t\t\tif (lines) {\n\t\t\t\t\tthis.yylineno += lines.length;\n\t\t\t\t}\n\t\t\t\tthis.yylloc = {\n\t\t\t\t\tfirst_line: this.yylloc.last_line,\n\t\t\t\t\tlast_line: this.yylineno + 1,\n\t\t\t\t\tfirst_column: this.yylloc.last_column,\n\t\t\t\t\tlast_column: lines\n\t\t\t\t\t\t? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length\n\t\t\t\t\t\t: this.yylloc.last_column + match[0].length,\n\t\t\t\t};\n\t\t\t\tthis.yytext += match[0];\n\t\t\t\tthis.match += match[0];\n\t\t\t\tthis.matches = match;\n\t\t\t\tthis.yyleng = this.yytext.length;\n\t\t\t\tif (this.options.ranges) {\n\t\t\t\t\tthis.yylloc.range = [this.offset, (this.offset += this.yyleng)];\n\t\t\t\t}\n\t\t\t\tthis._more = false;\n\t\t\t\tthis._backtrack = false;\n\t\t\t\tthis._input = this._input.slice(match[0].length);\n\t\t\t\tthis.matched += match[0];\n\t\t\t\ttoken = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n\t\t\t\tif (this.done && this._input) {\n\t\t\t\t\tthis.done = false;\n\t\t\t\t}\n\t\t\t\tif (token) {\n\t\t\t\t\treturn token;\n\t\t\t\t} else if (this._backtrack) {\n\t\t\t\t\t// recover context\n\t\t\t\t\tfor (var k in backup) {\n\t\t\t\t\t\tthis[k] = backup[k];\n\t\t\t\t\t}\n\t\t\t\t\treturn false; // rule action called reject() implying the next rule should be tested instead.\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t},\n\n\t\t\t// return next match in input\n\t\t\tnext: function () {\n\t\t\t\tif (this.done) {\n\t\t\t\t\treturn this.EOF;\n\t\t\t\t}\n\t\t\t\tif (!this._input) {\n\t\t\t\t\tthis.done = true;\n\t\t\t\t}\n\n\t\t\t\tvar token, match, tempMatch, index;\n\t\t\t\tif (!this._more) {\n\t\t\t\t\tthis.yytext = '';\n\t\t\t\t\tthis.match = '';\n\t\t\t\t}\n\t\t\t\tvar rules = this._currentRules();\n\t\t\t\tfor (var i = 0; i < rules.length; i++) {\n\t\t\t\t\ttempMatch = this._input.match(this.rules[rules[i]]);\n\t\t\t\t\tif (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n\t\t\t\t\t\tmatch = tempMatch;\n\t\t\t\t\t\tindex = i;\n\t\t\t\t\t\tif (this.options.backtrack_lexer) {\n\t\t\t\t\t\t\ttoken = this.test_match(tempMatch, rules[i]);\n\t\t\t\t\t\t\tif (token !== false) {\n\t\t\t\t\t\t\t\treturn token;\n\t\t\t\t\t\t\t} else if (this._backtrack) {\n\t\t\t\t\t\t\t\tmatch = false;\n\t\t\t\t\t\t\t\tcontinue; // rule action called reject() implying a rule MISmatch.\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t// else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (!this.options.flex) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (match) {\n\t\t\t\t\ttoken = this.test_match(match, rules[index]);\n\t\t\t\t\tif (token !== false) {\n\t\t\t\t\t\treturn token;\n\t\t\t\t\t}\n\t\t\t\t\t// else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (this._input === '') {\n\t\t\t\t\treturn this.EOF;\n\t\t\t\t} else {\n\t\t\t\t\treturn this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\\n' + this.showPosition(), {\n\t\t\t\t\t\ttext: '',\n\t\t\t\t\t\ttoken: null,\n\t\t\t\t\t\tline: this.yylineno,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// return next match that has a token\n\t\t\tlex: function lex() {\n\t\t\t\tvar r = this.next();\n\t\t\t\tif (r) {\n\t\t\t\t\treturn r;\n\t\t\t\t} else {\n\t\t\t\t\treturn this.lex();\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n\t\t\tbegin: function begin(condition) {\n\t\t\t\tthis.conditionStack.push(condition);\n\t\t\t},\n\n\t\t\t// pop the previously active lexer condition state off the condition stack\n\t\t\tpopState: function popState() {\n\t\t\t\tvar n = this.conditionStack.length - 1;\n\t\t\t\tif (n > 0) {\n\t\t\t\t\treturn this.conditionStack.pop();\n\t\t\t\t} else {\n\t\t\t\t\treturn this.conditionStack[0];\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// produce the lexer rule set which is active for the currently active lexer condition state\n\t\t\t_currentRules: function _currentRules() {\n\t\t\t\tif (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n\t\t\t\t\treturn this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n\t\t\t\t} else {\n\t\t\t\t\treturn this.conditions['INITIAL'].rules;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n\t\t\ttopState: function topState(n) {\n\t\t\t\tn = this.conditionStack.length - 1 - Math.abs(n || 0);\n\t\t\t\tif (n >= 0) {\n\t\t\t\t\treturn this.conditionStack[n];\n\t\t\t\t} else {\n\t\t\t\t\treturn 'INITIAL';\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// alias for begin(condition)\n\t\t\tpushState: function pushState(condition) {\n\t\t\t\tthis.begin(condition);\n\t\t\t},\n\n\t\t\t// return the number of states currently on the stack\n\t\t\tstateStackSize: function stateStackSize() {\n\t\t\t\treturn this.conditionStack.length;\n\t\t\t},\n\t\t\toptions: {},\n\t\t\tperformAction: function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n\t\t\t\tvar YYSTATE = YY_START;\n\t\t\t\tswitch ($avoiding_name_collisions) {\n\t\t\t\t\tcase 0:\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 1:\n\t\t\t\t\t\treturn yy_.yytext;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 2:\n\t\t\t\t\t\treturn 24;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 3:\n\t\t\t\t\t\treturn 5;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t},\n\t\t\trules: [/^(?:\\s+)/, /^(?:([-,.\\[\\]<>{}]))/, /^(?:([a-zA-Z_0-9]+))/, /^(?:$)/],\n\t\t\tconditions: { INITIAL: { rules: [0, 1, 2, 3], inclusive: true } },\n\t\t};\n\t\treturn lexer;\n\t})();\n\tparser.lexer = lexer;\n\tfunction Parser() {\n\t\tthis.yy = {};\n\t}\n\tParser.prototype = parser;\n\tparser.Parser = Parser;\n\treturn new Parser();\n})();\n\n// if (typeof require !== 'undefined' && typeof exports !== 'undefined') {\nexport { parser };\nexport var Parser = parser.Parser;\nexport var parse = function () {\n\treturn parser.parse.apply(parser, arguments);\n};\nexport default { parser: parser, Parser: parser.Parser, parse: parse };\n","import StaffLayout from './staffLayout';\nimport grammar from './grammar.jison';\n\nconst parseCode = (code: string): StaffLayout => {\n\tconst raw = grammar.parse(code);\n\n\treturn new StaffLayout(raw);\n};\n\nexport { parseCode };\n","interface Logger {\n\tdebug(message?: any, ...optionalParams: any[]): void;\n\tinfo(message?: any, ...optionalParams: any[]): void;\n\twarn(message?: any, ...optionalParams: any[]): void;\n\tgroup(...label: any[]): void;\n\tgroupCollapsed(...label: any[]): void;\n\tgroupEnd(): void;\n\tassert(expr: boolean, ...optionalParams: any[]): void;\n}\n\nclass DummyLogger implements Logger {\n\tdebug(..._: any[]): void {}\n\tgroup(..._: any[]): void {}\n\tgroupCollapsed(..._: any[]): void {}\n\tgroupEnd(): void {}\n\tinfo(..._: any[]): void {}\n\twarn(..._: any[]): void {}\n\tassert(..._: any[]): void {}\n}\n\nexport { Logger, DummyLogger };\n","import { Fraction, Pitch, Matrix2x3 } from './interfaces';\nimport { SemanticPoint, CONFLICTION_GROUPS } from './semanticPoint';\n\ntype Point2D = { x: number; y: number };\ntype PointSegment = Point2D[];\n\nconst POINT_CONFLICTION_DISTANCE = 0.4;\n\nconst roundNumber = (x: number, precision: number, min = -Infinity): number => Math.max(Math.round(x / precision) * precision, min);\n\nconst distance2D = (p1: Point2D, p2: Point2D): number => {\n\tconst dx = p1.x - p2.x;\n\tconst dy = p1.y - p2.y;\n\n\treturn Math.sqrt(dx * dx + dy * dy);\n};\n\nconst trans23 = (point: Point2D, matrix: Matrix2x3): Point2D => ({\n\tx: matrix[0] * point.x + matrix[2] * point.y + matrix[4],\n\ty: matrix[1] * point.x + matrix[3] * point.y + matrix[5],\n});\n\nconst gcd = (a: number, b: number): number => {\n\tif (!(Number.isInteger(a) && Number.isInteger(b))) {\n\t\tconsole.error('non-integer gcd:', a, b);\n\t\treturn 1;\n\t}\n\n\treturn b === 0 ? a : gcd(b, a % b);\n};\n\nconst frac = (numerator: number, denominator: number): Fraction => ({ numerator, denominator });\n\nconst reducedFraction = (n: number, d: number): Fraction => {\n\tn = Math.round(n);\n\td = Math.round(d);\n\n\tconst g = n !== 0 ? gcd(n, d) : d;\n\n\treturn frac(n / g, d / g);\n};\n\nconst printFraction = (f: Fraction): string => `${f.numerator}/${f.denominator}`;\n\nconst fractionMul = (value: number, fraction: Fraction): number => (fraction ? (value * fraction.numerator) / fraction.denominator : value);\n\nconst segmentPoints = (points: Point2D[], axis: 'x' | 'y'): PointSegment[] => {\n\tconst sorted = [...points].sort((p1, p2) => p1[axis] - p2[axis]);\n\n\tlet seg: Point2D[] = null;\n\tlet lastP = null;\n\n\treturn sorted.reduce((segments, p, i) => {\n\t\tif (!lastP) {\n\t\t\tlastP = p;\n\t\t\tseg = [p];\n\t\t} else {\n\t\t\tif (p[axis] - lastP[axis] < POINT_CONFLICTION_DISTANCE) seg.push(p);\n\t\t\telse {\n\t\t\t\tif (seg.length > 1) segments.push(seg);\n\t\t\t\tlastP = p;\n\t\t\t\tseg = [p];\n\t\t\t}\n\t\t}\n\n\t\tif (seg.length > 1 && i === sorted.length - 1) segments.push(seg);\n\n\t\treturn segments;\n\t}, []);\n};\n\nconst filterWeekPoints = (points: SemanticPoint[]): SemanticPoint[] => {\n\t//console.log(\"filterWeekPoints:\", points.map(p => `${p.semantic}, ${p.x}, ${p.y}`));\n\t//console.table(points.map(p => ({ ...p })));\n\n\tif (points.length <= 1) return [];\n\n\tlet rests = points.slice(1);\n\tconst group = CONFLICTION_GROUPS.find((group) => group.includes(points[0].semantic));\n\tif (!group) return filterWeekPoints(rests);\n\n\tconst weeks = rests.filter((p) => group.includes(p.semantic));\n\trests = rests.filter((p) => !group.includes(p.semantic));\n\n\treturn [...weeks, ...filterWeekPoints(rests)];\n};\n\nconst solveOverlapping = (points: SemanticPoint[]): SemanticPoint[] => {\n\tconst pset = new Set(points);\n\n\tconst xClusters = segmentPoints(points, 'x');\n\tconst clusters: SemanticPoint[][] = [].concat(...xClusters.map((c) => segmentPoints(c, 'y')));\n\tclusters.forEach((ps) => ps.sort((p1, p2) => p2.confidence - p1.confidence));\n\n\tclusters.forEach((ps) => {\n\t\tfilterWeekPoints(ps).forEach((p) => pset.delete(p));\n\t});\n\n\treturn Array.from(pset);\n};\n\nconst GROUP_N_TO_PITCH = [0, 2, 4, 5, 7, 9, 11];\nconst MIDDLE_C = 60;\n\nconst mod7 = (x) => {\n\tlet y = x % 7;\n\twhile (y < 0) y += 7;\n\n\treturn y;\n};\n\nconst mod12 = (x) => {\n\tlet y = x % 12;\n\twhile (y < 0) y += 12;\n\n\treturn y;\n};\n\nconst noteToPitch = ({ note, alter }: Pitch): number => {\n\tconst group = Math.floor(note / 7);\n\tconst gn = mod7(note);\n\n\treturn MIDDLE_C + group * 12 + GROUP_N_TO_PITCH[gn] + alter;\n};\n\nconst argmax = (data: number[]): number => {\n\tconst max = Math.max(...data);\n\n\treturn data.indexOf(max);\n};\n\nexport {\n\tPoint2D,\n\troundNumber,\n\tdistance2D,\n\ttrans23,\n\tsolveOverlapping,\n\tgcd,\n\tfrac,\n\treducedFraction,\n\tprintFraction,\n\tfractionMul,\n\tGROUP_N_TO_PITCH,\n\tMIDDLE_C,\n\tmod7,\n\tmod12,\n\tnoteToPitch,\n\targmax,\n};\n","import { Fraction, Pitch, EventFeature, EventPredisposition } from './interfaces';\nimport { gcd, reducedFraction } from './utils';\nimport { TokenType } from './token';\nimport * as Token from './token';\nimport { SimpleClass } from './aux_/typedJSON';\n\nconst WHOLE_DURATION = 128 * 3 * 5;\nconst WHOLE_EXP2 = WHOLE_DURATION / 15;\n\nenum AccessoryDirection {\n\tUp = '^',\n\tDown = '_',\n\tMiddle = '-',\n}\n\nenum GraceType {\n\tGrace = 'grace',\n\tAfterGrace = 'afterGrace',\n\tAcciaccatura = 'acciaccatura',\n\tAppoggiatura = 'appoggiatura',\n\tSlashedGrace = 'slashedGrace',\n}\n\nenum StemBeam {\n\tOpen = 'Open',\n\tClose = 'Close',\n\tContinue = 'Continue',\n}\n\nenum TremoloLink {\n\tPitcher = 'Pitcher',\n\tCatcher = 'Catcher',\n\tPierced = 'Pierced',\n}\n\nenum GlissandoStyle {\n\tNormal = 'normal',\n\tDashedLine = 'dashed-line',\n\tDottedLine = 'dotted-line',\n\tZigzag = 'zigzag',\n\tTrill = 'trill',\n}\n\nenum ArpeggioStyle {\n\tNormal = 'Normal',\n\tBracket = 'Bracket',\n\tParenthesis = 'Parenthesis',\n\tParenthesisDashed = 'ParenthesisDashed',\n\tArrowDown = 'ArrowDown',\n}\n\ninterface Accessory {\n\tdirection?: AccessoryDirection;\n\tparenthesized?: boolean;\n\ttype: TokenType;\n\tid?: string;\n\tx: number;\n}\n\ninterface TermPitch extends Pitch {\n\ttying?: boolean;\n\ttied?: boolean;\n\tparenthesized?: boolean;\n\toctaveShift?: number;\n}\n\nclass Term extends SimpleClass {\n\tx: number;\n\tstaff?: number;\n}\n\ntype RestType = 'r' | 'R' | 's' | null;\n\ninterface DurationalTerm {\n\tdivision: number;\n\tdots: number;\n\tmultiplier?: Fraction;\n}\n\nconst SCALE_NAMES = 'CDEFGAB';\n\nclass EventTerm extends Term implements DurationalTerm {\n\tstatic className = 'EventTerm';\n\n\tleft: number;\n\tright: number;\n\tpivotX: number;\n\n\tsystem: number;\n\troundX: number; // for tick map, scheduler\n\tintX: number; // for measure hash\n\tintY: number;\n\tys: number[]; // order by ascending pitch, low (greater Y) to high (less Y)\n\tpitches?: TermPitch[];\n\trest: RestType;\n\tdivision: number;\n\tdots: number;\n\taccessories: Accessory[];\n\tmultiplier: Fraction;\n\tstemDirection: string;\n\ttying: boolean;\n\ttied: boolean;\n\trepetitionChord: boolean;\n\tgrace?: GraceType;\n\tbeam?: StemBeam;\n\ttimeWarp?: Fraction;\n\tparenthesized?: boolean;\n\ttremolo?: number; // like division, 'number of beams' + 2\n\ttremoloLink?: TremoloLink;\n\tglissando?: boolean;\n\tglissandoStyle?: GlissandoStyle;\n\tarpeggioStyle?: ArpeggioStyle;\n\ttip?: { x: number; y: number };\n\n\ttick: number;\n\n\t// for topology\n\tid?: number;\n\tprevId?: number;\n\ttickGroup?: number;\n\n\tfeature: EventFeature;\n\tpredisposition: EventPredisposition;\n\n\tgraceIds?: number[];\n\tcatcherId?: number; // tremolo catcher event ID for tremolo pitcher event\n\n\tnoteIds?: string[]; // order by upwards\n\n\tstatic space({ tick, duration }: { tick: number; duration: number }): EventTerm {\n\t\tconst term = new EventTerm({\n\t\t\trest: 's',\n\t\t\ttick,\n\t\t\taccessories: [],\n\t\t});\n\t\tterm.duration = Math.round(duration);\n\n\t\treturn term;\n\t}\n\n\tconstructor(data: any) {\n\t\tsuper();\n\t\tsuper.assign(data);\n\n\t\tObject.assign(this, data);\n\n\t\tif (Number.isFinite(data.left) && Number.isFinite(data.right)) this.x = (this.left + this.right) / 2;\n\t\tif (!Number.isFinite(this.pivotX)) this.pivotX = this.x;\n\t\t//console.assert(Number.isFinite(this.x), \"EventTerm: invalid x,\", data);\n\t}\n\n\tget alignedTick(): number {\n\t\treturn this.grace ? this.tick + this.duration : this.tick;\n\t}\n\n\tget mainDuration(): number {\n\t\treturn WHOLE_DURATION * 2 ** -this.division * (2 - 2 ** -this.dots);\n\t}\n\n\tget duration(): number {\n\t\tlet value = this.mainDuration;\n\t\tif (this.multiplier) value *= this.multiplier.numerator / this.multiplier.denominator;\n\t\tif (this.timeWarp) value *= this.timeWarp.numerator / this.timeWarp.denominator;\n\n\t\treturn this.grace ? value / 8 : value;\n\t}\n\n\tset duration(value: number) {\n\t\tconsole.assert(Number.isFinite(value), 'invalid duration value:', value);\n\n\t\tconst divider = gcd(value, WHOLE_EXP2);\n\t\tconst division = Math.log2(WHOLE_EXP2 / divider);\n\t\tconst multiplier = reducedFraction(value * 2 ** division, WHOLE_DURATION);\n\n\t\tthis.division = division;\n\t\tthis.dots = 0;\n\n\t\tif (multiplier.numerator !== multiplier.denominator) this.multiplier = multiplier;\n\t\telse this.multiplier = undefined;\n\t}\n\n\tget prior(): number {\n\t\treturn this.tick;\n\t}\n\n\tget times(): string {\n\t\tif (!this.timeWarp) return null;\n\n\t\treturn `${this.timeWarp.numerator}/${this.timeWarp.denominator}`;\n\t}\n\n\tget fullMeasureRest(): boolean {\n\t\treturn this.rest === 'R';\n\t}\n\n\tget tipX(): number {\n\t\treturn this.tip ? this.tip.x : this.x;\n\t}\n\n\tget tipY(): number {\n\t\treturn this.tip ? this.tip.y : this.ys ? this.ys[0] : 0;\n\t}\n\n\tget tremoloCatcher(): boolean {\n\t\treturn this.tremoloLink === TremoloLink.Catcher;\n\t}\n\n\tget scaleChord(): string {\n\t\treturn this.pitches.map((pitch) => SCALE_NAMES[(pitch.note + 700) % 7]).join('');\n\t}\n\n\tget zeroHolder(): boolean {\n\t\treturn !!this.grace || this.tremoloCatcher;\n\t}\n}\n\nenum ContextType {\n\tClef,\n\tKeyAcc,\n\tAcc,\n\tOctaveShift,\n\tTimeSignatureC,\n\tTimeSignatureN,\n}\n\nclass ContextedTerm extends Term {\n\tstatic className = 'ContextedTerm';\n\n\ty: number;\n\ttokenType: TokenType;\n\n\ttick: number;\n\n\tconstructor(data: any) {\n\t\tsuper();\n\n\t\tObject.assign(this, data);\n\t}\n\n\tget type(): ContextType {\n\t\tif (Token.TokenClefs.includes(this.tokenType)) return ContextType.Clef;\n\t\tif (/\\|key-/.test(this.tokenType)) return ContextType.KeyAcc;\n\t\tif (/accidentals-/.test(this.tokenType)) return ContextType.Acc;\n\t\tif (Token.TokenOctshifts.includes(this.tokenType)) return ContextType.OctaveShift;\n\t\tif (Token.TokenTimesigsC.includes(this.tokenType)) return ContextType.TimeSignatureC;\n\t\tif (Token.TokenTimesigsN.includes(this.tokenType)) return ContextType.TimeSignatureN;\n\n\t\treturn null;\n\t}\n\n\tget staffLevel(): boolean {\n\t\treturn [ContextType.OctaveShift, ContextType.Clef, ContextType.KeyAcc].includes(this.type);\n\t}\n\n\tget prior(): number {\n\t\treturn this.tick - 0.1;\n\t}\n\n\tget clef(): number {\n\t\tswitch (this.tokenType) {\n\t\t\tcase TokenType.ClefG:\n\t\t\t\treturn -this.y - 2;\n\n\t\t\tcase TokenType.ClefF:\n\t\t\t\treturn -this.y + 2;\n\n\t\t\tcase TokenType.ClefC:\n\t\t\t\treturn -this.y;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tget alter() {\n\t\tswitch (this.tokenType) {\n\t\t\tcase TokenType.AccNatural:\n\t\t\tcase TokenType.KeyNatural:\n\t\t\t\treturn 0;\n\n\t\t\tcase TokenType.AccSharp:\n\t\t\tcase TokenType.KeySharp:\n\t\t\t\treturn 1;\n\n\t\t\tcase TokenType.AccFlat:\n\t\t\tcase TokenType.KeyFlat:\n\t\t\t\treturn -1;\n\n\t\t\tcase TokenType.AccDoublesharp:\n\t\t\t\treturn 2;\n\n\t\t\tcase TokenType.AccFlatflat:\n\t\t\t\treturn -2;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tget octaveShift(): number {\n\t\tswitch (this.tokenType) {\n\t\t\tcase TokenType.OctaveShift8va:\n\t\t\t\treturn -1;\n\n\t\t\tcase TokenType.OctaveShift0:\n\t\t\t\treturn 0;\n\n\t\t\tcase TokenType.OctaveShift8vb:\n\t\t\t\treturn 1;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tget number(): number {\n\t\tswitch (this.tokenType) {\n\t\t\tcase TokenType.TimesigZero:\n\t\t\t\treturn 0;\n\t\t\tcase TokenType.TimesigOne:\n\t\t\t\treturn 1;\n\t\t\tcase TokenType.TimesigTwo:\n\t\t\t\treturn 2;\n\t\t\tcase TokenType.TimesigThree:\n\t\t\t\treturn 3;\n\t\t\tcase TokenType.TimesigFour:\n\t\t\t\treturn 4;\n\t\t\tcase TokenType.TimesigFive:\n\t\t\t\treturn 5;\n\t\t\tcase TokenType.TimesigSix:\n\t\t\t\treturn 6;\n\t\t\tcase TokenType.TimesigSeven:\n\t\t\t\treturn 7;\n\t\t\tcase TokenType.TimesigEight:\n\t\t\t\treturn 8;\n\t\t\tcase TokenType.TimesigNine:\n\t\t\t\treturn 9;\n\t\t}\n\n\t\treturn null;\n\t}\n}\n\n//class BreakTerm extends Term {\n//};\n\nclass MarkTerm extends Term {\n\tstatic className = 'MarkTerm';\n\n\ttick: number;\n\n\tget prior(): number {\n\t\treturn this.tick + 0.01;\n\t}\n}\n\nconst MUSIC_NOTES = Array(7)\n\t.fill(0)\n\t.map((_, i) => String.fromCodePoint(0x1d15d + i));\n\nclass TempoTerm extends MarkTerm {\n\tstatic className = 'TempoTerm';\n\n\tduration: string;\n\tbeats: string;\n\n\tstatic fromNumeralText(text: string): TempoTerm {\n\t\tif (/.+=.*\\d+/.test(text)) {\n\t\t\tconst [symbol, value] = text.split('=');\n\t\t\tlet division = MUSIC_NOTES.findIndex((n) => symbol.includes(n));\n\t\t\tdivision = division >= 0 ? division : 2;\n\t\t\tlet duration = (2 ** division).toString();\n\t\t\tif (symbol.includes('.')) duration += '.';\n\n\t\t\treturn new TempoTerm({ tick: 0, duration, beats: value });\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tconstructor(data: any) {\n\t\tsuper();\n\n\t\tObject.assign(this, data);\n\t}\n\n\tget prior(): number {\n\t\treturn this.tick - 0.01;\n\t}\n\n\t// a whole note equal to 1920\n\tget durationMagnitude(): number {\n\t\tconst [_, den, dot] = this.duration.match(/^(\\d+)(\\.)?$/);\n\t\tconst magnitude = (WHOLE_DURATION / Number(den)) * (dot ? 1.5 : 1);\n\n\t\treturn magnitude;\n\t}\n\n\t// beats per minute, suppose 1 beat = 480 ticks\n\tget bpm(): number {\n\t\tconst [number] = this.beats.match(/\\d+/) || [90];\n\t\tconst beats = Number(number);\n\n\t\treturn (beats * this.durationMagnitude * 4) / WHOLE_DURATION;\n\t}\n\n\tisValid(range = [10, 400]): boolean {\n\t\tconst bpm = this.bpm;\n\n\t\treturn Number.isFinite(this.bpm) && bpm >= range[0] && bpm < range[1];\n\t}\n}\n\nclass GlyphTerm extends MarkTerm {\n\tstatic className = 'GlyphTerm';\n\n\tglyph: string;\n\n\tconstructor(data: any) {\n\t\tsuper();\n\n\t\tObject.assign(this, data);\n\t}\n}\n\nclass TextTerm extends MarkTerm {\n\tstatic className = 'TextTerm';\n\n\tdirection?: AccessoryDirection;\n\ttext: string;\n\tbold: boolean;\n\titalic: boolean;\n\n\tconstructor(data: any) {\n\t\tsuper();\n\n\t\tObject.assign(this, data);\n\t}\n}\n\nclass LyricTerm extends MarkTerm {\n\tstatic className = 'LyricTerm';\n\n\ttext: string;\n\n\tconstructor(data: any) {\n\t\tsuper();\n\n\t\tObject.assign(this, data);\n\t}\n}\n\nclass CommandTerm extends MarkTerm {\n\tstatic className = 'CommandTerm';\n\n\tcommand: string;\n\tparameters: string[];\n\n\tconstructor(data: any) {\n\t\tsuper();\n\n\t\tObject.assign(this, data);\n\t}\n}\n\nclass ChordmodeTerm extends Term implements DurationalTerm {\n\tstatic className = 'ChordmodeTerm';\n\n\tpitch: Pitch;\n\tbasePitch?: Pitch;\n\tmodifier?: string;\n\n\tdivision: number;\n\tdots: number;\n\tmultiplier: Fraction;\n\n\ttick: number;\n\n\tconstructor(data: any) {\n\t\tsuper();\n\n\t\tObject.assign(this, data);\n\t}\n\n\tget prior(): number {\n\t\treturn this.tick;\n\t}\n\n\tget duration(): number {\n\t\tconst value = WHOLE_DURATION * 2 ** -this.division * (2 - 2 ** -this.dots);\n\t\tif (this.multiplier) return (value * this.multiplier.numerator) / this.multiplier.denominator;\n\n\t\treturn value;\n\t}\n}\n\nexport {\n\tTerm,\n\tEventTerm,\n\tContextedTerm,\n\t//BreakTerm,\n\tMarkTerm,\n\tTempoTerm,\n\tGlyphTerm,\n\tTextTerm,\n\tLyricTerm,\n\tCommandTerm,\n\tChordmodeTerm,\n\tDurationalTerm,\n\tContextType,\n\tGraceType,\n\tTermPitch,\n\tRestType,\n\tGlissandoStyle,\n\tArpeggioStyle,\n\tAccessory,\n\tAccessoryDirection,\n\tWHOLE_DURATION,\n\tStemBeam,\n\tTremoloLink,\n};\n","import { fractionMul, gcd } from './utils';\nimport { SpartitoMeasure } from './spartitoMeasure';\nimport { StemBeam, WHOLE_DURATION } from './term';\n\nexport interface MeasureEvaluation {\n\tevents: number;\n\tvalidEvents: number;\n\tvoiceRugged: boolean;\n\tnullEvents: number;\n\tfakeEvents: number;\n\twarpedEvents: number;\n\tcomplicatedTimewarp: boolean;\n\tspaceTime: number;\n\tsurplusTime: number;\n\tdurationRate: number;\n\tbeamBroken: boolean;\n\tfractionalWarp: boolean;\n\tirregularWarpsN: number;\n\tirregularTick: boolean;\n\ttickTwist: number;\n\ttickOverlapped: boolean;\n\tgraceInVoice: boolean;\n\tgraceN: number;\n\tgraceDominant: boolean;\n\tperfect: boolean;\n\tfine: boolean;\n\terror: boolean;\n\tqualityScore: number;\n}\n\nconst BEAM_STATUS = {\n\t[StemBeam.Open]: 1,\n\t[StemBeam.Continue]: 0,\n\t[StemBeam.Close]: -1,\n};\n\nexport const evaluateMeasure = (measure: SpartitoMeasure): MeasureEvaluation => {\n\tif (!measure.regulated) return undefined;\n\n\tconst eventMap = measure.eventMap;\n\n\tconst events = measure.events.length;\n\tconst validEvents = measure.voices.flat(1).length;\n\tconst warpedEvents = measure.events.filter((e) => e.timeWarp).length;\n\tconst warps = new Set(\n\t\tmeasure.events.filter((e) => e.timeWarp && !(e.rest && e.division === 0)).map((e) => `${e.timeWarp!.numerator}/${e.timeWarp!.denominator}`)\n\t);\n\tconst irregularWarps = new Set(warps);\n\tirregularWarps.delete('2/3');\n\n\tconst fractionalWarp = measure.voices.some((voice) => {\n\t\tconst events = voice.map((id) => eventMap[id]);\n\t\tif (!events.some((e) => e.timeWarp)) return false;\n\n\t\tlet denominator = 0;\n\t\tlet tickSum = 0;\n\t\tlet eventN = 0;\n\t\treturn events.some((event, i) => {\n\t\t\tconst d = event.timeWarp ? event.timeWarp.denominator : 0;\n\t\t\tif (d !== denominator) {\n\t\t\t\tif (denominator > 0 && (tickSum % denominator || eventN < 2)) return true;\n\n\t\t\t\ttickSum = 0;\n\t\t\t\teventN = 0;\n\t\t\t}\n\n\t\t\tdenominator = d;\n\t\t\ttickSum += event.duration;\n\t\t\t++eventN;\n\n\t\t\tif (i === events.length - 1) {\n\t\t\t\tif (denominator > 0 && (tickSum % denominator || eventN < 2)) return true;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t});\n\t});\n\n\tconst tickOverlapped = measure.voices.some((voice) => {\n\t\tconst events = voice.map((id) => eventMap[id]);\n\t\tlet tick = 0;\n\t\treturn events.some((event) => {\n\t\t\tif (event.grace) return false;\n\n\t\t\tif (event.tick < tick) return true;\n\t\t\ttick = event.tick + event.duration;\n\n\t\t\treturn false;\n\t\t});\n\t});\n\n\tconst fractionalTimes = new Set(measure.events.filter((e) => e.timeWarp && e.timeWarp.denominator > 3).map((e) => e.duration));\n\tconst complicatedTimewarp = fractionalTimes.size > 1;\n\n\tconst literalDuration = fractionMul(WHOLE_DURATION, measure.timeSignature);\n\tconst sigDuration = measure.doubtfulTimesig ? measure.duration : literalDuration;\n\n\tconst inVoiceEvents = measure.voices.flat(1).map((id) => eventMap[id]);\n\n\t// Guard: detect corrupted event data in voices (e.g. missing division, NaN tick)\n\tconst corruptedVoiceEvent = inVoiceEvents.some(\n\t\t(event) =>\n\t\t\t!event ||\n\t\t\t!Number.isFinite(event.tick) ||\n\t\t\t!Number.isFinite(event.division) ||\n\t\t\tevent.division < 0 ||\n\t\t\t!Number.isFinite(event.duration) ||\n\t\t\tevent.duration <= 0\n\t);\n\n\tconst overranged = inVoiceEvents.reduce((over, event) => over || event.tick < 0 || event.tick + event.duration > sigDuration, false);\n\tconst overDuration = measure.duration > literalDuration;\n\tconst graceInVoice = inVoiceEvents.some((event) => event.grace);\n\tconst graceN = measure.events.filter((e) => e.grace).length;\n\tconst graceDominant = graceN >= inVoiceEvents.length;\n\n\tconst irregularTick = inVoiceEvents.some((event) => {\n\t\tlet t = event.tick * 2 ** (event.division + 2);\n\t\tif (event.timeWarp) t *= event.timeWarp.denominator;\n\n\t\tif (!Number.isFinite(t)) return true;\n\n\t\tconst fragment = gcd(Math.round(t), WHOLE_DURATION);\n\t\t//if (fragment < WHOLE_DURATION)\n\t\t//\tconsole.log(\"irregularTick:\", event.tick, fragment);\n\t\treturn fragment < WHOLE_DURATION;\n\t});\n\n\tconst beamStatus = measure.voices!.map((voice) =>\n\t\tvoice.reduce(\n\t\t\t({ status, broken }, ei) => {\n\t\t\t\tconst event = eventMap[ei];\n\t\t\t\tif (event.beam) {\n\t\t\t\t\tstatus += BEAM_STATUS[event.beam];\n\t\t\t\t\tbroken = broken || !(status >= 0 && status <= 1);\n\t\t\t\t}\n\n\t\t\t\treturn { status, broken };\n\t\t\t},\n\t\t\t{ status: 0, broken: false }\n\t\t)\n\t);\n\tconst beamBroken = beamStatus.some(({ status, broken }) => status || broken);\n\tlet spaceTime = 0;\n\tlet surplusTime = 0;\n\tmeasure.voices!.forEach((voice) => {\n\t\tconst eventDuration = voice.reduce((sum, ei) => sum + eventMap[ei].duration, 0);\n\t\tspaceTime += Math.max(0, measure.duration - eventDuration);\n\t\tsurplusTime += Math.max(0, eventDuration - measure.duration);\n\t});\n\tspaceTime /= WHOLE_DURATION;\n\tconst nullEvents = measure.events.filter(\n\t\t(e) => !e.grace && !e.fullMeasureRest && !e.tremoloCatcher && (!e.predisposition || e.predisposition.fakeP < 0.1) && !Number.isFinite(e.tick)\n\t).length;\n\n\tconst fakeEvents = measure.events.filter(\n\t\t(event) => !event.fullMeasureRest && !event.grace && !event.tremoloCatcher && !inVoiceEvents.includes(event)\n\t).length;\n\n\tconst { voiceRugged } = measure.voices!.flat(1).reduce(\n\t\t(result, ei) => {\n\t\t\tif (!result.voiceRugged) {\n\t\t\t\tif (result.es.has(ei)) return { voiceRugged: true, es: result.es };\n\t\t\t}\n\n\t\t\tresult.es.add(ei);\n\n\t\t\treturn result;\n\t\t},\n\t\t{ voiceRugged: false, es: new Set() }\n\t);\n\n\tconst tickTwist = measure.tickTwist || 0;\n\n\tconst error =\n\t\tcorruptedVoiceEvent ||\n\t\ttickTwist >= 1 ||\n\t\ttickOverlapped ||\n\t\tvoiceRugged ||\n\t\tmeasure.tickRatesInStaves.some((rate) => rate < 0) ||\n\t\tnullEvents > 2 ||\n\t\t!measure.timeSignature ||\n\t\toverranged ||\n\t\tmeasure.duration > sigDuration ||\n\t\tmeasure.events.some((event) => event.timeWarp && event.timeWarp.numerator / event.timeWarp.denominator <= 0.5);\n\tconst perfect =\n\t\t!error &&\n\t\t!overDuration &&\n\t\ttickTwist < 0.2 &&\n\t\t!fractionalWarp &&\n\t\t!irregularWarps.size &&\n\t\t!irregularTick &&\n\t\t!spaceTime &&\n\t\t!surplusTime &&\n\t\t!!measure.voices!.length &&\n\t\t!beamBroken &&\n\t\t!graceInVoice &&\n\t\t!graceDominant &&\n\t\t(measure.duration === sigDuration || (Number.isFinite(measure.estimatedDuration) && measure.estimatedDuration <= sigDuration * 0.75));\n\tconst fine = !error && !overDuration && tickTwist < 0.3 && !fractionalWarp && !irregularTick && !surplusTime && !beamBroken && !graceInVoice;\n\n\tlet expectDuration = Math.min(sigDuration, WHOLE_DURATION * 2);\n\tif (Number.isFinite(measure.estimatedDuration)) expectDuration = Math.max(0, Math.min(expectDuration, measure.estimatedDuration));\n\tconst durationRate = measure.duration / expectDuration;\n\n\tlet qualityScore = 0;\n\tif (measure.patched && !corruptedVoiceEvent) qualityScore = 1;\n\telse if (!error) {\n\t\tconst spaceLoss = Math.tanh(Math.abs(spaceTime / Math.max(1, measure.voices.length)) * 1);\n\n\t\tlet expectDuration = Math.min(sigDuration, WHOLE_DURATION * 2);\n\t\tif (Number.isFinite(measure.estimatedDuration)) expectDuration = Math.max(0, Math.min(expectDuration, measure.estimatedDuration));\n\t\tconst durationLoss = expectDuration ? Math.max(0, 1 - durationRate) ** 2 : 0;\n\t\tconst warpsLoss = Math.tanh(irregularWarps.size);\n\n\t\tqualityScore = (1 - spaceLoss) * (1 - durationLoss) * (1 - warpsLoss) * (1 - tickTwist ** 2);\n\t}\n\n\treturn {\n\t\tevents,\n\t\tvalidEvents,\n\t\tvoiceRugged,\n\t\tnullEvents,\n\t\tfakeEvents,\n\t\twarpedEvents,\n\t\tcomplicatedTimewarp,\n\t\tspaceTime,\n\t\tsurplusTime,\n\t\tdurationRate,\n\t\tbeamBroken,\n\t\tfractionalWarp,\n\t\tirregularWarpsN: irregularWarps.size,\n\t\tirregularTick,\n\t\ttickTwist,\n\t\ttickOverlapped,\n\t\tgraceInVoice,\n\t\tgraceN,\n\t\tgraceDominant,\n\t\tperfect,\n\t\tfine,\n\t\terror,\n\t\tqualityScore,\n\t};\n};\n","//import { staffSvg } from \"@kelvinnxu/lotus\";\n\nimport { SemanticType, SemanticPoint, /*glyphSemanticMapping, glyphCenters,*/ SYSTEM_SEMANTIC_TYPES, Point } from './semanticPoint';\nimport { SimpleClass } from './aux_/typedJSON';\n\nclass SemanticGraph extends SimpleClass {\n\tstatic className = 'SemanticGraph';\n\n\tpoints: SemanticPoint[];\n\n\tconstructor(data?: any) {\n\t\tsuper();\n\t\tsuper.assign(data);\n\t}\n\t/*static fromSheetStaff(staff: staffSvg.SheetStaff, hashTable: {[key: string]: any}): SemanticGraph {\n\t\tconst tokens = [].concat(...staff.measures.map(measure => measure.tokens));\n\n\t\tconst voltaRightXs = [];\n\n\t\tconst points = [];\n\t\ttokens.forEach(token => {\n\t\t\tconst def = hashTable[token.hash];\n\n\t\t\tif (token.glyph) {\n\t\t\t\tconst glyph = token.glyph as string;\n\t\t\t\tlet semantic = null;\n\n\t\t\t\tconst isKey = /^\\\\key/.test(token.source) || token.is(\"KEY\");\n\t\t\t\tlet { x: cx = 0, y: cy = 0 } = glyphCenters[glyph] || { x: 0, y: 0 };\n\t\t\t\tif (token.scale2) {\n\t\t\t\t\tcx *= token.scale2.x;\n\t\t\t\t\tcy *= token.scale2.y;\n\t\t\t\t}\n\n\t\t\t\tlet x = token.x + cx;\n\t\t\t\tconst y = token.y + cy;\n\n\t\t\t\tswitch (glyph) {\n\t\t\t\tcase \"rests.0\":\n\t\t\t\t\tif (/^R/.test(token.source))\n\t\t\t\t\t\tsemantic = \"Rest0W\";\n\t\t\t\t\telse\n\t\t\t\t\t\tsemantic = \"Rest0\";\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"accidentals.flat\":\n\t\t\t\t\tsemantic = glyphSemanticMapping[glyph];\n\t\t\t\t\tif (isKey) {\n\t\t\t\t\t\tpoints.push({\n\t\t\t\t\t\t\tsemantic: SemanticType.KeyAcc,\n\t\t\t\t\t\t\tx,\n\t\t\t\t\t\t\ty,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"accidentals.natural\":\n\t\t\t\t\tsemantic = glyphSemanticMapping[glyph];\n\t\t\t\t\tif (isKey) {\n\t\t\t\t\t\tpoints.push({\n\t\t\t\t\t\t\tsemantic: SemanticType.KeyAcc,\n\t\t\t\t\t\t\tx,\n\t\t\t\t\t\t\ty,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"accidentals.sharp\":\n\t\t\t\t\tsemantic = glyphSemanticMapping[glyph];\n\t\t\t\t\tif (isKey) {\n\t\t\t\t\t\tpoints.push({\n\t\t\t\t\t\t\tsemantic: SemanticType.KeyAcc,\n\t\t\t\t\t\t\tx,\n\t\t\t\t\t\t\ty,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"dots.dot\":\n\t\t\t\t\tif (token.is(\"VOLTA\")) {\n\t\t\t\t\t\tx += 0.24;\t// dot glyph center X offset\n\t\t\t\t\t\tif (token.is(\"LEFT\"))\n\t\t\t\t\t\t\tsemantic = SemanticType.VoltaLeft;\n\t\t\t\t\t\telse if (token.is(\"RIGHT\")) {\n\t\t\t\t\t\t\tvoltaRightXs.push(x);\n\t\t\t\t\t\t\tsemantic = SemanticType.VoltaRight;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t\tsemantic = \"Dot\";\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"zero\":\n\t\t\t\tcase \"one\":\n\t\t\t\tcase \"two\":\n\t\t\t\tcase \"three\":\n\t\t\t\tcase \"four\":\n\t\t\t\tcase \"five\":\n\t\t\t\tcase \"six\":\n\t\t\t\tcase \"seven\":\n\t\t\t\tcase \"eight\":\n\t\t\t\tcase \"nine\": {\n\t\t\t\t\tconst upper = glyph[0].toUpperCase() + glyph.substr(1);\n\t\t\t\t\tsemantic = token.is(\"TIME_SIG\") ? \"Timesig\" + upper : upper;\n\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tsemantic = glyphSemanticMapping[glyph];\n\t\t\t\t}\n\n\t\t\t\tif (semantic) {\n\t\t\t\t\tpoints.push({\n\t\t\t\t\t\tsemantic,\n\t\t\t\t\t\tx,\n\t\t\t\t\t\ty,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (token.is(\"TEMPO_NOTEHEAD\")) {\n\t\t\t\t\tpoints.push({\n\t\t\t\t\t\tsemantic: SemanticType.TempoNotehead,\n\t\t\t\t\t\tx,\n\t\t\t\t\t\ty,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t// grace noteheads\n\t\t\t\tif (token.is(\"NOTEHEAD\") && Number.isFinite(token.scale) && token.scale < 0.75) {\n\t\t\t\t\tpoints.push({\n\t\t\t\t\t\tsemantic: SemanticType.GraceNotehead,\n\t\t\t\t\t\tx,\n\t\t\t\t\t\ty,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// semantic from token symbol\n\t\t\tlet semantic = null;\n\t\t\tconst cx = 0;\n\t\t\tlet cy = 0;\n\t\t\tif (token.is(\"OCTAVE\")) {\n\t\t\t\tif (token.is(\"_8\")) {\n\t\t\t\t\tsemantic = SemanticType.OctaveShift8;\n\t\t\t\t\tcy = token.is(\"B\") ? -0.7512 : -0.7256;\n\t\t\t\t}\n\t\t\t\telse if (token.is(\"CLOSE\")) {\n\t\t\t\t\tsemantic = SemanticType.OctaveShift0;\n\t\t\t\t\tcy = 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (/^flags/.test(token.glyph)) {\n\t\t\t\tlet direction = 0;\n\t\t\t\tif (/\\.u\\d/.test(token.glyph))\n\t\t\t\t\tdirection = 1;\n\t\t\t\tif (/\\.d\\d/.test(token.glyph))\n\t\t\t\t\tdirection = -1;\n\t\t\t\tif (direction) {\n\t\t\t\t\tconst [n] = token.glyph.match(/\\d+/);\n\t\t\t\t\tconst flagCount = Number(n) - 2;\n\t\t\t\t\t//console.log(\"flags:\", token.glyph, flagCount);\n\t\t\t\t\tfor (let i = 0; i < flagCount; ++i) {\n\t\t\t\t\t\tconst y = token.y + (i + 0.5) * direction;\n\t\t\t\t\t\tpoints.push({\n\t\t\t\t\t\t\tsemantic: SemanticType.Flag3,\n\t\t\t\t\t\t\tx: token.x,\n\t\t\t\t\t\t\ty,\n\t\t\t\t\t\t});\n\t\t\t\t\t\t//console.log(\"flags.1:\", token.x, y);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (token.is(\"SLUR\")) {\n\t\t\t\tconst d = def && def.d;\n\t\t\t\tif (d) {\n\t\t\t\t\tconst numbers = d.match(/-?[\\d.]+/g).map(Number);\n\t\t\t\t\t//console.log(\"slur:\", numbers);\n\t\t\t\t\tconst x1 = token.x + numbers[0];\n\t\t\t\t\tconst y1 = token.y + numbers[1];\n\t\t\t\t\tconst x2 = token.x + numbers[6];\n\t\t\t\t\tconst y2 = token.y + numbers[7];\n\n\t\t\t\t\tpoints.push({\n\t\t\t\t\t\tsemantic: SemanticType.SlurBegin,\n\t\t\t\t\t\tx: x1,\n\t\t\t\t\t\ty: y1,\n\t\t\t\t\t});\n\t\t\t\t\tpoints.push({\n\t\t\t\t\t\tsemantic: SemanticType.SlurEnd,\n\t\t\t\t\t\tx: x2,\n\t\t\t\t\t\ty: y2,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (token.is(\"NOTE_STEM\")) {\n\t\t\t\tpoints.push({\n\t\t\t\t\tsemantic: SemanticType.vline_Stem,\n\t\t\t\t\tx: token.x + def.width / 2,\n\t\t\t\t\ty: token.y,\n\t\t\t\t\textension: {\n\t\t\t\t\t\ty1: token.y,\n\t\t\t\t\t\ty2: token.y + token.height,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\t\t\telse if (token.is(\"TEXT\") || token.is(\"CHORD_TEXT\")) {\n\t\t\t\tif (/\\S/.test(token.text)) {\n\t\t\t\t\t// NOTE: text rect computation is delayed to sheet rendering\n\t\t\t\t\tpoints.push({\n\t\t\t\t\t\tsemantic: SemanticType.rect_Text,\n\t\t\t\t\t\tx: token.x,\n\t\t\t\t\t\ty: token.y,\n\t\t\t\t\t\textension: {\n\t\t\t\t\t\t\tindex: token.index,\n\t\t\t\t\t\t\ttext: token.text,\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (semantic) {\n\t\t\t\tpoints.push({\n\t\t\t\t\tsemantic,\n\t\t\t\t\tx: token.x + cx,\n\t\t\t\t\ty: token.y + cy,\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\t// beams\n\t\tconst stems = tokens.filter(token => token.is(\"NOTE_STEM\")).map(stem => ({\n\t\t\tx: stem.x + stem.width / 2,\n\t\t\ty1: stem.y,\n\t\t\ty2: stem.y + stem.height,\n\t\t}));\n\t\tconst beams = tokens.filter(token => token.is(\"NOTETAIL\") && token.is(\"JOINT\"))\n\t\t\t.map(beam => {\n\t\t\t\tconst def = hashTable[beam.hash];\n\t\t\t\tconst points = def && def.points;\n\t\t\t\tif (points) {\n\t\t\t\t\tconst floats = points.split(\" \").map(Number);\n\t\t\t\t\tconst x1 = beam.x + floats[4];\n\t\t\t\t\tconst x2 = beam.x + floats[0];\n\t\t\t\t\tconst y1 = beam.y + (floats[5] + floats[7]) / 2;\n\t\t\t\t\tconst y2 = beam.y + (floats[1] + floats[3]) / 2;\n\t\t\t\t\tconst k = (y2 - y1) / (x2 - x1);\n\n\t\t\t\t\treturn { x1, x2, y1, y2, k, capital: beam.is(\"CAPITAL_BEAM\") };\n\t\t\t\t}\n\n\t\t\t\treturn null;\n\t\t\t}).filter(Boolean);\n\t\t//console.log(\"beams:\", beams);\n\t\tbeams.forEach(beam => {\n\t\t\tconst innerStems = stems.filter(stem => stem.x > beam.x1 - 0.2 && stem.x < beam.x2 + 0.2);\n\t\t\t//console.log(\"innerStems:\", beam, innerStems);\n\n\t\t\tlet lines = 0;\n\t\t\tinnerStems.forEach(stem => {\n\t\t\t\tconst beamY = beam.y1 + (stem.x - beam.x1) * beam.k;\n\t\t\t\t//console.log(\"beamY:\", beamY, Math.min(Math.abs(beamY - beam.y1), Math.abs(beamY - beam.y2)));\n\t\t\t\tif (beamY >= stem.y1 - 0.1 && beamY <= stem.y2 + 0.1) {\n\t\t\t\t\tpoints.push({\n\t\t\t\t\t\tsemantic: SemanticType.Flag3,\n\t\t\t\t\t\tx: stem.x,\n\t\t\t\t\t\ty: beamY,\n\t\t\t\t\t});\n\n\t\t\t\t\t++lines;\n\n\t\t\t\t\t// beam semantics\n\t\t\t\t\tif (beam.capital) {\n\t\t\t\t\t\tlet semantic = SemanticType.BeamContinue;\n\t\t\t\t\t\tif (Math.abs(stem.x - beam.x1) < 0.2)\n\t\t\t\t\t\t\tsemantic = SemanticType.BeamLeft;\n\t\t\t\t\t\telse if (Math.abs(stem.x - beam.x2) < 0.2)\n\t\t\t\t\t\t\tsemantic = SemanticType.BeamRight;\n\n\t\t\t\t\t\tpoints.push({\n\t\t\t\t\t\t\tsemantic,\n\t\t\t\t\t\t\tx: stem.x,\n\t\t\t\t\t\t\ty: beamY,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (!lines)\n\t\t\t\tconsole.warn(\"empty beam:\", beam, innerStems, stems);\n\t\t\t//else if (lines < 2)\n\t\t\t//\tconsole.debug(\"single beam:\", beam, innerStems, stems);\n\t\t});\n\n\t\t// wedges (crescendo & decrescendo)\n\t\tconst crescendos = tokens.filter(token => token.is(\"WEDGE CRESCENDO TOP\"));\n\t\tconst crescendoBottoms = tokens.filter(token => token.is(\"WEDGE CRESCENDO BOTTOM\"));\n\t\tconst decrescendos = tokens.filter(token => token.is(\"WEDGE DECRESCENDO TOP\"));\n\t\tconst decrescendoBottoms = tokens.filter(token => token.is(\"WEDGE DECRESCENDO BOTTOM\"));\n\t\tcrescendos.forEach(line => {\n\t\t\tconst partner = crescendoBottoms.find(b => b.x === line.x && Math.abs(b.y - line.y) < 0.06);\n\n\t\t\tif (partner) {\n\t\t\t\tpoints.push({\n\t\t\t\t\tsemantic: SemanticType.CrescendoBegin,\n\t\t\t\t\tx: line.x,\n\t\t\t\t\ty: line.y,\n\t\t\t\t});\n\t\t\t}\n\t\t\t//else\n\t\t\t//\tconsole.log(\"unpaired crescendo:\", line, crescendoBottoms);\n\t\t\tpoints.push({\n\t\t\t\tsemantic: SemanticType.CrescendoEnd,\n\t\t\t\tx: line.x + line.target.x,\n\t\t\t\ty: line.y + line.target.y,\n\t\t\t});\n\t\t});\n\t\tdecrescendos.forEach(line => {\n\t\t\tconst partner = decrescendoBottoms.find(b => b.x + b.target.x === line.x + line.target.x && Math.abs(b.y + b.target.y - (line.y + line.target.y)) < 0.06);\n\n\t\t\tpoints.push({\n\t\t\t\tsemantic: SemanticType.DecrescendoBegin,\n\t\t\t\tx: line.x,\n\t\t\t\ty: line.y,\n\t\t\t});\n\t\t\tif (partner) {\n\t\t\t\tpoints.push({\n\t\t\t\t\tsemantic: SemanticType.DecrescendoEnd,\n\t\t\t\t\tx: line.x + line.target.x,\n\t\t\t\t\ty: line.y + line.target.y,\n\t\t\t\t});\n\t\t\t}\n\t\t\t//else\n\t\t\t//\tconsole.log(\"unpaired decrescendo:\", line, decrescendoBottoms);\n\t\t});\n\n\t\t// TODO: volta alternative\n\n\t\t// measure bars\n\t\tconst measureSeparators = staff.tokens.filter(token => token.is(\"MEASURE_SEPARATOR\"));\n\t\tconst singleBars = [];\n\t\tconst groupBars = [];\n\n\t\tfor (let i = 0; i < measureSeparators.length; ++i) {\n\t\t\tconst bar = measureSeparators[i];\n\t\t\tconst nextBar = measureSeparators[i + 1];\n\t\t\tconst inteval = nextBar ? nextBar.x - bar.x : Infinity;\n\n\t\t\tif (inteval < 1) {\n\t\t\t\tgroupBars.push([bar, nextBar]);\n\t\t\t\t++i;\n\t\t\t}\n\t\t\telse\n\t\t\t\tsingleBars.push(bar);\n\t\t};\n\t\t//console.log(\"bars:\", singleBars, groupBars);\n\n\t\tsingleBars.forEach(bar => {\n\t\t\tpoints.push({\n\t\t\t\tsemantic: SemanticType.vline_BarMeasure,\n\t\t\t\tx: bar.x + bar.sw / 2,\n\t\t\t\ty: 0,\n\t\t\t\textension: {\n\t\t\t\t\ty1: -2,\n\t\t\t\t\ty2: 2,\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\n\t\tgroupBars.forEach(group => {\n\t\t\tlet x = (group[0].x + group[1].x) / 2;\n\t\t\tconst bold0 = group[0].is(\"BOLD\");\n\t\t\tconst bold1 = group[1].is(\"BOLD\");\n\n\t\t\tlet semantic = null;\n\t\t\tif (!bold0 && bold1) {\n\t\t\t\tx = group[0].x;\n\n\t\t\t\tif (!voltaRightXs.some(vx => x - vx < 2))\n\t\t\t\t\tsemantic = SemanticType.vline_BarTerminal;\n\t\t\t}\n\t\t\telse if (bold0 && !bold1)\n\t\t\t\tx = group[1].x;\n\t\t\telse if (!bold0 && !bold1)\n\t\t\t\tsemantic = SemanticType.vline_BarSegment;\n\n\t\t\t//console.log(\"group:\", group[0].x, group[1].x, x);\n\t\t\tpoints.push({\n\t\t\t\tsemantic: SemanticType.vline_BarMeasure,\n\t\t\t\tx,\n\t\t\t\ty: 0,\n\t\t\t\textension: {\n\t\t\t\t\ty1: -2,\n\t\t\t\t\ty2: 2,\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tif (semantic) {\n\t\t\t\tpoints.push({\n\t\t\t\t\tsemantic,\n\t\t\t\t\tx,\n\t\t\t\t\ty: 0,\n\t\t\t\t\textension: {\n\t\t\t\t\t\ty1: -2,\n\t\t\t\t\t\ty2: 2,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tconst graph = new SemanticGraph();\n\t\tgraph.points = points;\n\n\t\treturn graph;\n\t}*/\n\n\tstatic fromPoints(points: SemanticPoint[] = []): SemanticGraph {\n\t\tconst graph = new SemanticGraph();\n\t\tgraph.points = points;\n\n\t\treturn graph;\n\t}\n\n\tgetLayer(semantic: SemanticType): Point[] {\n\t\treturn this.points.filter((p) => p.semantic === semantic);\n\t}\n\n\tgetConfidentLayer(semantic: SemanticType, threshold: number): Point[] {\n\t\treturn this.points.filter((p) => p.semantic === semantic && (!Number.isFinite(p.confidence) || p.confidence >= threshold));\n\t}\n\n\tgetSystemPoints(): SemanticPoint[] {\n\t\treturn this.points.filter((point) => SYSTEM_SEMANTIC_TYPES.includes(point.semantic));\n\t}\n\n\tgetStaffPoints(): SemanticPoint[] {\n\t\treturn this.points.filter((point) => !SYSTEM_SEMANTIC_TYPES.includes(point.semantic));\n\t}\n\n\toffset(x: number, y: number): void {\n\t\tthis.points.forEach((point) => {\n\t\t\tpoint.x += x;\n\t\t\tpoint.y += y;\n\t\t});\n\t}\n\n\tscale(factor: number): void {\n\t\tthis.points.forEach((point) => {\n\t\t\tpoint.x *= factor;\n\t\t\tpoint.y *= factor;\n\t\t});\n\t}\n\n\t// multipy 3x2 matrix\n\ttransform(matrix: [number, number][]): void {\n\t\tthis.points.forEach((point) => {\n\t\t\tlet x = point.x * matrix[0][0] + point.y * matrix[1][0] + matrix[2][0];\n\t\t\tconst y = point.x * matrix[0][1] + point.y * matrix[1][1] + matrix[2][1];\n\n\t\t\tif (point.extension) {\n\t\t\t\tif (Number.isFinite(point.extension.y1)) {\n\t\t\t\t\tconst y1 = point.x * matrix[0][1] + point.extension.y1 * matrix[1][1] + matrix[2][1];\n\t\t\t\t\tconst y2 = point.x * matrix[0][1] + point.extension.y2 * matrix[1][1] + matrix[2][1];\n\t\t\t\t\tx = point.x * matrix[0][0] + (point.extension.y1 + point.extension.y2) * 0.5 * matrix[1][0] + matrix[2][0];\n\n\t\t\t\t\tpoint.extension.y1 = y1;\n\t\t\t\t\tpoint.extension.y2 = y2;\n\t\t\t\t}\n\n\t\t\t\tif (Number.isFinite(point.extension.width)) {\n\t\t\t\t\tconst scaling = Math.sqrt(matrix[0][0] * matrix[1][1] - matrix[0][1] * matrix[1][0]);\n\t\t\t\t\tpoint.extension.width *= scaling;\n\t\t\t\t\tpoint.extension.height *= scaling;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tpoint.x = x;\n\t\t\tpoint.y = y;\n\t\t});\n\t}\n}\n\nexport { SemanticGraph };\n","import { SimpleClass } from './aux_/typedJSON';\nimport {\n\tRect,\n\tChordRect,\n\tVLine,\n\tChordColumn,\n\tEventMeasureColumn,\n\tEventSystem,\n\tSourceImageFile,\n\tPageLayout,\n\tAdditionalLineStack,\n\tTextType,\n\tEventFeature,\n} from './interfaces';\nimport { distance2D, solveOverlapping, roundNumber, trans23 } from './utils';\nimport {\n\tToken,\n\tTextToken,\n\tTokenType,\n\tTokenNoteheads,\n\tTokenFlags,\n\tTokenDots,\n\tTokenRests,\n\tTokenAccessories,\n\tTokenDirectionless,\n\tTokenClefs,\n\tTokenBeams,\n\tTokenTimesigs,\n\tTOKEN_Y_FIXED,\n\tTOKEN_Y_ROUND,\n} from './token';\nimport { EventTerm, ContextedTerm, MarkTerm, TempoTerm, AccessoryDirection, GraceType, ContextType, TremoloLink } from './term';\nimport { SemanticGraph } from './semanticGraph';\nimport { SemanticType, SemanticPoint, NOTEHEAD_WIDTHS, hashSemanticPoint, hashPageSemanticPoint } from './semanticPoint';\nimport { Logger, DummyLogger } from './logger';\n\ntype ChordsFeeder = (si: number, mi: number) => ChordColumn[];\ntype ColumnProcessor = (column: EventMeasureColumn) => EventMeasureColumn;\n\nconst CHORD_X_TOLERANCE = 0.2;\n//const EVENT_X_TOLERANCE = 0.8;\n\nconst STEM_LENGTH_MAX = 6;\n\nconst INDENT_THRESHOLD = 2;\n\nconst MEASURE_SEMANTICS = [\n\tSemanticType.ClefG,\n\tSemanticType.ClefF,\n\tSemanticType.ClefC,\n\tSemanticType.TimesigC44,\n\tSemanticType.TimesigC22,\n\tSemanticType.TimesigZero,\n\tSemanticType.TimesigOne,\n\tSemanticType.TimesigTwo,\n\tSemanticType.TimesigThree,\n\tSemanticType.TimesigFour,\n\tSemanticType.TimesigFive,\n\tSemanticType.TimesigSix,\n\tSemanticType.TimesigSeven,\n\tSemanticType.TimesigEight,\n\tSemanticType.TimesigNine,\n\tSemanticType.OctaveShift8va,\n\tSemanticType.OctaveShift8vb,\n\tSemanticType.OctaveShift0,\n\tSemanticType.Zero,\n\tSemanticType.One,\n\tSemanticType.Two,\n\tSemanticType.Three,\n\tSemanticType.Four,\n\tSemanticType.Five,\n\tSemanticType.Six,\n\tSemanticType.Seven,\n\tSemanticType.Eight,\n\tSemanticType.Nine,\n\tSemanticType.AccNatural,\n\tSemanticType.AccSharp,\n\tSemanticType.AccDoublesharp,\n\tSemanticType.AccFlat,\n\tSemanticType.AccFlatflat,\n\tSemanticType.NoteheadS0,\n\tSemanticType.NoteheadS1,\n\tSemanticType.NoteheadS2,\n\tSemanticType.NoteheadS1stemU,\n\tSemanticType.NoteheadS1stemD,\n\tSemanticType.NoteheadS2stemU,\n\tSemanticType.NoteheadS2stemD,\n\tSemanticType.Rest0,\n\tSemanticType.Rest1,\n\tSemanticType.Rest2,\n\tSemanticType.Rest3,\n\tSemanticType.Rest4,\n\tSemanticType.Rest5,\n\tSemanticType.Rest6,\n\tSemanticType.Rest0W,\n\tSemanticType.RestM1,\n\tSemanticType.SlurBegin,\n\tSemanticType.SlurEnd,\n\tSemanticType.Dot,\n\tSemanticType.f,\n\tSemanticType.p,\n\tSemanticType.m,\n\tSemanticType.n,\n\tSemanticType.r,\n\tSemanticType.s,\n\tSemanticType.z,\n\tSemanticType.ScriptFermata,\n\tSemanticType.ScriptShortFermata,\n\tSemanticType.ScriptSforzato,\n\tSemanticType.ScriptStaccato,\n\tSemanticType.ScriptStaccatissimo,\n\tSemanticType.ScriptTurn,\n\tSemanticType.ScriptTrill,\n\tSemanticType.ScriptSegno,\n\tSemanticType.ScriptCoda,\n\tSemanticType.ScriptArpeggio,\n\tSemanticType.ScriptPrall,\n\tSemanticType.ScriptMordent,\n\tSemanticType.ScriptMarcato,\n\tSemanticType.ScriptTenuto,\n\tSemanticType.ScriptPortato,\n\tSemanticType.PedalStar,\n\tSemanticType.PedalPed,\n\tSemanticType.GraceNotehead,\n\tSemanticType.BeamLeft,\n\tSemanticType.BeamRight,\n\tSemanticType.BeamContinue,\n\tSemanticType.CrescendoBegin,\n\tSemanticType.CrescendoEnd,\n\tSemanticType.DecrescendoBegin,\n\tSemanticType.DecrescendoEnd,\n\tSemanticType.TremoloLeft,\n\tSemanticType.TremoloRight,\n\tSemanticType.TremoloMiddle,\n];\n\nconst STAFF_LINED_SEMANTICS = [\n\tSemanticType.AccNatural,\n\tSemanticType.AccSharp,\n\tSemanticType.AccDoublesharp,\n\tSemanticType.AccFlat,\n\tSemanticType.AccFlatflat,\n\tSemanticType.NoteheadS0,\n\tSemanticType.NoteheadS1,\n\tSemanticType.NoteheadS2,\n\tSemanticType.NoteheadS1stemU,\n\tSemanticType.NoteheadS1stemD,\n\tSemanticType.NoteheadS2stemU,\n\tSemanticType.NoteheadS2stemD,\n];\n\nconst LINED_INTERVAL_SEMANTICS = [SemanticType.SignLined, SemanticType.SignInterval];\n\nconst NOTEHEAD_FOR_STEM_SEMANTICS = [SemanticType.NoteheadS1, SemanticType.NoteheadS2];\n\nconst KEYACC_CANDIDATE_SEMANTICS = {\n\tAccSharp: TokenType.KeySharp,\n\tAccNatural: TokenType.KeyNatural,\n\tAccFlat: TokenType.KeyFlat,\n};\n\nconst NOTEHEAD_TABLE: { [key: string]: { [key: string]: SemanticType } } = {\n\t[SemanticType.NoteheadS1]: {\n\t\tup: SemanticType.NoteheadS1stemU,\n\t\tdown: SemanticType.NoteheadS1stemD,\n\t},\n\t[SemanticType.NoteheadS2]: {\n\t\tup: SemanticType.NoteheadS2stemU,\n\t\tdown: SemanticType.NoteheadS2stemD,\n\t},\n};\n\nconst REST_SEMANTICS = [\n\tSemanticType.Rest0,\n\tSemanticType.Rest1,\n\tSemanticType.Rest2,\n\tSemanticType.Rest3,\n\tSemanticType.Rest4,\n\tSemanticType.Rest5,\n\tSemanticType.Rest6,\n];\n\nconst TOKEN_TO_STEMBEAM = {\n\t[TokenType.BeamLeft]: 'Open',\n\t[TokenType.BeamRight]: 'Close',\n\t[TokenType.BeamContinue]: 'Continue',\n};\n\nconst TEXT_TYPE_ALIAS = {\n\tAlter1: TextType.Alternation1,\n\tAlter2: TextType.Alternation2,\n};\n\ninterface StaffPosition {\n\ty: number;\n\tradius: number;\n}\n\ninterface TextArea {\n\tscore: number;\n\tcx: number;\n\tcy: number;\n\twidth: number;\n\theight: number;\n\ttext: string;\n\ttype: string;\n\ttheta: number;\n\tfeature_dict: Record;\n}\n\ntype Stem = VLine & { direction: 'u' | 'd' };\n\nconst noteheadsXPivot = (xs: number[], direction: 'u' | 'd' | null): number => {\n\tswitch (xs.length) {\n\t\tcase 0:\n\t\t\treturn undefined;\n\n\t\tcase 1:\n\t\t\treturn xs[0];\n\n\t\tcase 2:\n\t\t\treturn direction === 'u' ? Math.min(...xs) : Math.max(...xs);\n\n\t\tdefault: {\n\t\t\tconst mean = xs.reduce((sum, x) => sum + x, 0) / xs.length;\n\t\t\txs.sort((x1, x2) => Math.abs(x1 - mean) - Math.abs(x2 - mean));\n\n\t\t\treturn noteheadsXPivot(xs.slice(0, xs.length - 1), direction);\n\t\t}\n\t}\n};\n\nconst noteheadsPivot = (nhs: Token[]): number =>\n\tnoteheadsXPivot(\n\t\tnhs.map((nh) => (Number.isFinite(nh.pivotX) ? nh.pivotX : nh.x)),\n\t\tnhs[0].direction\n\t);\n\nclass Measure extends SimpleClass {\n\tstatic className = 'Measure';\n\tstatic blackKeys = ['tokens', 'antiTokens'];\n\n\tleft: number;\n\twidth: number;\n\theight: number;\n\n\talternative: boolean;\n\n\ttokens: Token[];\n\tantiTokens: Token[];\n\n\tbarTypes: Record;\n\n\tconstructor(data?: any) {\n\t\tsuper();\n\t\tsuper.assign(data);\n\n\t\tthis.tokens = this.tokens || [];\n\t\tthis.antiTokens = this.antiTokens || [];\n\t\tthis.barTypes = this.barTypes || {};\n\t}\n\n\tget right(): number {\n\t\treturn this.left + this.width;\n\t}\n\n\tget noteheads(): Token[] {\n\t\treturn this.tokens.filter((t) => t.isNotehead).sort((n1, n2) => n1.x - n2.x);\n\t}\n\n\tget chordRects(): ChordRect[] {\n\t\tconst noteheads = this.noteheads.filter((nh) =>\n\t\t\t[TokenType.NoteheadS0, TokenType.NoteheadS1stemU, TokenType.NoteheadS2stemU, TokenType.NoteheadS1stemD, TokenType.NoteheadS2stemD].includes(nh.type)\n\t\t);\n\n\t\tlet nulN = 0;\n\n\t\tconst nhmap: Record = noteheads.reduce((map, nh) => {\n\t\t\tconst tip = nh.tip ? `${nh.tip.x}|${nh.tip.y}` : `nul${nulN}`;\n\t\t\tlet key = `${nh.type}|${tip}`;\n\n\t\t\tif (!nh.tip && map[key]) {\n\t\t\t\tif (!map[key].some((hh) => Math.abs(hh.x - nh.x) < NOTEHEAD_WIDTHS.NoteheadS0)) {\n\t\t\t\t\t++nulN;\n\t\t\t\t\tkey = `${nh.type}|nul${nulN}`;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tmap[key] = map[key] || [];\n\t\t\tmap[key].push(nh);\n\n\t\t\treturn map;\n\t\t}, {});\n\n\t\treturn Object.values(nhmap).map((nhs) => {\n\t\t\tconst left = Math.min(...nhs.map((nh) => nh.x));\n\t\t\tconst right = Math.max(...nhs.map((nh) => nh.x));\n\t\t\tconst top = Math.min(...nhs.map((nh) => nh.y));\n\t\t\tconst bottom = Math.max(...nhs.map((nh) => nh.y));\n\n\t\t\tconst nh0 = nhs[0];\n\n\t\t\tconst stemX = nh0 && nh0.tip ? nh0.tip.x : left;\n\n\t\t\tlet x = left;\n\t\t\tlet width = right - left;\n\t\t\tlet stemDirection = null;\n\n\t\t\tswitch (nh0.type) {\n\t\t\t\tcase TokenType.NoteheadS0:\n\t\t\t\t\tx -= NOTEHEAD_WIDTHS.NoteheadS0 / 2;\n\t\t\t\t\twidth += NOTEHEAD_WIDTHS.NoteheadS0;\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase TokenType.NoteheadS1stemU:\n\t\t\t\tcase TokenType.NoteheadS2stemU:\n\t\t\t\t\tstemDirection = 'u';\n\t\t\t\t\tx -= NOTEHEAD_WIDTHS.NoteheadS1;\n\t\t\t\t\twidth += NOTEHEAD_WIDTHS.NoteheadS1;\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase TokenType.NoteheadS1stemD:\n\t\t\t\tcase TokenType.NoteheadS2stemD:\n\t\t\t\t\tstemDirection = 'd';\n\t\t\t\t\twidth += NOTEHEAD_WIDTHS.NoteheadS1;\n\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tx,\n\t\t\t\twidth,\n\t\t\t\tstemX,\n\t\t\t\tstemDirection,\n\t\t\t\ttop,\n\t\t\t\tbottom,\n\t\t\t\ttip: nh0.tip,\n\t\t\t};\n\t\t});\n\t}\n\n\tget timeWarped(): boolean {\n\t\treturn this.tokens && this.tokens.some((token) => token.timeWarped);\n\t}\n\n\tget additionalLines(): AdditionalLineStack[] {\n\t\tconst chords = this.getChords();\n\t\tconst up = chords\n\t\t\t.filter((chord) => chord.ys.some((y) => y <= -3))\n\t\t\t.map((chord) => ({\n\t\t\t\tleft: chord.left,\n\t\t\t\tright: chord.right,\n\t\t\t\tn: Math.ceil(Math.min(...chord.ys)) + 2,\n\t\t\t}));\n\t\tconst down = chords\n\t\t\t.filter((chord) => chord.ys.some((y) => y >= 3))\n\t\t\t.map((chord) => ({\n\t\t\t\tleft: chord.left,\n\t\t\t\tright: chord.right,\n\t\t\t\tn: Math.floor(Math.max(...chord.ys)) - 2,\n\t\t\t}));\n\n\t\treturn [...up, ...down].map((stack) => ({\n\t\t\tleft: stack.left - 0.28,\n\t\t\tright: stack.right + 0.28,\n\t\t\tn: stack.n,\n\t\t}));\n\t}\n\n\tgetChords(): ChordColumn[] {\n\t\tconst flags = this.tokens.filter((t) => TokenFlags.includes(t.type));\n\t\tconst dots = this.tokens.filter((t) => TokenDots.includes(t.type));\n\t\tconst beams = this.tokens.filter((t) => TokenBeams.includes(t.type));\n\n\t\tconst chordRcs = this.chordRects\n\t\t\t.map((rect) => {\n\t\t\t\tconst noteheads = this.noteheads.filter(\n\t\t\t\t\t(nh) =>\n\t\t\t\t\t\tnh.direction === rect.stemDirection &&\n\t\t\t\t\t\tnh.left >= rect.x &&\n\t\t\t\t\t\tnh.right <= rect.x + rect.width + CHORD_X_TOLERANCE &&\n\t\t\t\t\t\tnh.y >= rect.top &&\n\t\t\t\t\t\tnh.y <= rect.bottom\n\t\t\t\t);\n\t\t\t\tnoteheads.sort((n1, n2) => n2.y - n1.y);\n\t\t\t\tconst ys = noteheads.map((nh) => nh.y);\n\t\t\t\tconst noteIds = noteheads.map((nh) => nh.id);\n\n\t\t\t\tconst division = noteheads.reduce((d, nh) => Math.max(d, nh.division), 0);\n\n\t\t\t\treturn {\n\t\t\t\t\trect,\n\t\t\t\t\tleft: rect.x,\n\t\t\t\t\tright: rect.x + rect.width,\n\t\t\t\t\tpivotX: noteheadsPivot(noteheads),\n\t\t\t\t\tys,\n\t\t\t\t\ttip: rect.tip,\n\t\t\t\t\tnoteIds,\n\t\t\t\t\tdivision,\n\t\t\t\t\tdots: null,\n\t\t\t\t\trest: false,\n\t\t\t\t\tstemDirection: rect.stemDirection,\n\t\t\t\t\tbeam: null,\n\t\t\t\t};\n\t\t\t})\n\t\t\t.sort((c1, c2) => c2.left - c1.left);\n\n\t\tconst accs = new Set();\n\n\t\tconst chords = chordRcs.map(({ rect, ...chord }) => {\n\t\t\tif (chord.division >= 1) {\n\t\t\t\t// NOTE: notehead-s1 may have flags too\n\t\t\t\tconst flagRange = [rect.bottom, rect.top];\n\t\t\t\tswitch (rect.stemDirection) {\n\t\t\t\t\tcase 'u':\n\t\t\t\t\t\tflagRange[0] = rect.tip ? rect.tip.y - 0.2 : rect.top - STEM_LENGTH_MAX - 0.5;\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'd':\n\t\t\t\t\t\tflagRange[1] = rect.tip ? rect.tip.y + 0.2 : rect.bottom + STEM_LENGTH_MAX + 0.5;\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tconst nearbyFlags = flags.filter(\n\t\t\t\t\t(flag) =>\n\t\t\t\t\t\t!accs.has(flag.id) &&\n\t\t\t\t\t\tflag.x > rect.stemX - CHORD_X_TOLERANCE &&\n\t\t\t\t\t\tflag.x < rect.stemX + CHORD_X_TOLERANCE &&\n\t\t\t\t\t\tflag.y > flagRange[0] &&\n\t\t\t\t\t\tflag.y < flagRange[1]\n\t\t\t\t);\n\t\t\t\tchord.division = nearbyFlags.reduce((d, flag) => Math.max(d, flag.division), chord.division);\n\n\t\t\t\tnearbyFlags.forEach((flag) => accs.add(flag.id));\n\n\t\t\t\tconst beamToken = rect.tip && beams.find((t) => Math.abs(rect.tip.x - t.x) < 0.3 && Math.abs(rect.tip.y - t.y) < 0.7);\n\t\t\t\tif (beamToken) chord.beam = TOKEN_TO_STEMBEAM[beamToken.type];\n\t\t\t}\n\n\t\t\tconst nearbyDots = dots.filter(\n\t\t\t\t(dot) =>\n\t\t\t\t\t!accs.has(dot.id) &&\n\t\t\t\t\tdot.x > rect.x + rect.width - 0.2 &&\n\t\t\t\t\tdot.x < rect.x + rect.width + 1.2 &&\n\t\t\t\t\tdot.y > rect.top - 1 &&\n\t\t\t\t\tdot.y <= rect.bottom + 0.5\n\t\t\t);\n\t\t\tchord.dots = nearbyDots.reduce((v, dot) => Math.max(v, dot.dots), 0);\n\n\t\t\tnearbyDots.forEach((dot) => accs.add(dot.id));\n\n\t\t\treturn chord;\n\t\t});\n\n\t\tchords.reverse();\n\n\t\treturn chords;\n\t}\n\n\tgetRests(): ChordColumn[] {\n\t\tconst rests = this.tokens.filter((t) => TokenRests.includes(t.type));\n\t\tconst dots = this.tokens.filter((t) => TokenDots.includes(t.type));\n\n\t\treturn rests.map((rest) => {\n\t\t\tconst nearbyDots = dots.filter((dot) => dot.x > rest.x + 0.5 && dot.x < rest.x + 2 && dot.y > rest.y - 1 && dot.y < rest.y + 0.5);\n\t\t\tconst dotValue = nearbyDots.reduce((v, dot) => Math.max(v, dot.dots), 0);\n\n\t\t\treturn {\n\t\t\t\tleft: rest.x - 0.75,\n\t\t\t\tright: rest.x + 0.75,\n\t\t\t\tpivotX: rest.x,\n\t\t\t\trest: true,\n\t\t\t\tys: [rest.y],\n\t\t\t\tnoteIds: [rest.id],\n\t\t\t\tdots: dotValue,\n\t\t\t\tdivision: rest.division,\n\t\t\t\tstemDirection: null,\n\t\t\t};\n\t\t});\n\t}\n\n\tgetEvents(): ChordColumn[] {\n\t\treturn [...this.getChords(), ...this.getRests()].sort((e1, e2) => e1.left - e2.left);\n\t}\n\n\tgetContexts(fields = {}): ContextedTerm[] {\n\t\treturn this.tokens\n\t\t\t.filter((t) => t.isContexted)\n\t\t\t.sort((n1, n2) => n1.x - n2.x)\n\t\t\t.map(\n\t\t\t\t(token) =>\n\t\t\t\t\tnew ContextedTerm({\n\t\t\t\t\t\tx: token.x,\n\t\t\t\t\t\ty: token.y,\n\t\t\t\t\t\ttokenType: token.type,\n\t\t\t\t\t\t...fields,\n\t\t\t\t\t})\n\t\t\t);\n\t}\n\n\tassignAccessoriesOnEvents(events: ChordColumn[]): void {\n\t\tevents.forEach((event) => (event.accessories = event.accessories || []));\n\n\t\tconst accessories = this.tokens.filter((token) => TokenAccessories.includes(token.type));\n\t\t//console.log(\"accessories:\", accessories);\n\t\taccessories.forEach((accessory) => {\n\t\t\tconst relatedEvents = events.filter((event) => accessory.x > event.left - 1 && accessory.x < event.right + 1);\n\n\t\t\tif (relatedEvents.length > 0) {\n\t\t\t\tlet owner = relatedEvents[0];\n\t\t\t\tif (relatedEvents.length > 1) {\n\t\t\t\t\towner = relatedEvents\n\t\t\t\t\t\t.map((event) => ({ event, d: Math.min(...event.ys.map((y) => Math.abs(y - accessory.y))) }))\n\t\t\t\t\t\t.sort(({ d: d1 }, { d: d2 }) => d1 - d2)\n\t\t\t\t\t\t.map(({ event }) => event)[0];\n\t\t\t\t}\n\t\t\t\t//console.log(\"relatedEvents:\", accessory, owner);\n\n\t\t\t\tlet direction = accessory.y > Math.max(...owner.ys) ? AccessoryDirection.Down : AccessoryDirection.Up;\n\t\t\t\tif (TokenDirectionless.includes(accessory.type)) direction = null;\n\n\t\t\t\towner.accessories.push({\n\t\t\t\t\ttype: accessory.type,\n\t\t\t\t\tid: accessory.id,\n\t\t\t\t\tdirection,\n\t\t\t\t\tx: accessory.x - owner.left,\n\t\t\t\t});\n\t\t\t}\n\t\t\t//else\n\t\t\t//\tconsole.debug(\"alone accessory:\", accessory.type);\n\t\t});\n\n\t\t// arpeggio\n\t\tconst sortEvents = [...events];\n\t\tsortEvents.sort((e1, e2) => e1.left - e2.left);\n\n\t\tconst arpeggios = this.tokens.filter((token) => token.type === TokenType.ScriptArpeggio);\n\t\tarpeggios.forEach((arpeggio) => {\n\t\t\tconst owner = sortEvents.find(\n\t\t\t\t(event) => arpeggio.x < event.left && event.ys.some((y) => y < arpeggio.y + 0.25) && event.ys.some((y) => y > arpeggio.y)\n\t\t\t);\n\t\t\t//const owner = sortEvents.find(event => event.left - leftMost.left < 2 && event.ys.some(y => Math.abs(y - arpeggio.y + 0.25) < 0.5));\n\t\t\tif (owner) {\n\t\t\t\towner.accessories.push({\n\t\t\t\t\ttype: TokenType.ScriptArpeggio,\n\t\t\t\t\tid: arpeggio.id,\n\t\t\t\t\tx: arpeggio.x - owner.left,\n\t\t\t\t});\n\t\t\t}\n\t\t\t//else\n\t\t\t//\tconsole.debug(\"alone arpeggio:\", arpeggio);\n\t\t});\n\n\t\t// grace noteheads\n\t\tconst graceNhs = this.tokens.filter((token) => token.type === TokenType.GraceNotehead);\n\t\tgraceNhs.forEach((grace) => {\n\t\t\tconst event = events.find((event) => grace.x > event.left && grace.x < event.right && event.ys.some((y) => Math.abs(grace.y - y) < 0.4));\n\t\t\tif (event) event.grace = GraceType.Grace;\n\t\t});\n\n\t\t// tremolos\n\t\tconst tremolsLs = this.tokens.filter((token) => token.type === TokenType.TremoloLeft);\n\t\tconst tremolsRs = this.tokens.filter((token) => token.type === TokenType.TremoloRight);\n\t\tconst tremolsMs = this.tokens.filter((token) => token.type === TokenType.TremoloMiddle);\n\n\t\tconst tevents = events\n\t\t\t.filter((event) => !event.rest)\n\t\t\t.map((event) => {\n\t\t\t\tconst ys = [...event.ys];\n\t\t\t\tif (event.tip) ys.push(event.tip.y);\n\t\t\t\telse {\n\t\t\t\t\tys.push(event.ys[0] + 2);\n\t\t\t\t\tys.push(event.ys[event.ys.length - 1] - 2);\n\t\t\t\t}\n\n\t\t\t\tconst stemL = event.tip ? event.tip.x : event.left;\n\t\t\t\tconst stemR = event.tip ? event.tip.x : event.right;\n\n\t\t\t\treturn {\n\t\t\t\t\tevent,\n\t\t\t\t\ttop: Math.min(...ys),\n\t\t\t\t\tbottom: Math.max(...ys),\n\t\t\t\t\tstemL,\n\t\t\t\t\tstemR,\n\t\t\t\t};\n\t\t\t});\n\n\t\ttremolsMs.forEach((tm) => {\n\t\t\tconst te = tevents.find((te) => {\n\t\t\t\tif (te.event.tip) return tm.y > te.top && tm.y < te.bottom && Math.abs(tm.x - te.event.tip.x) < 0.3;\n\n\t\t\t\treturn false;\n\t\t\t});\n\n\t\t\tif (te) {\n\t\t\t\tte.event.tremolo = te.event.tremolo || 2;\n\t\t\t\t++te.event.tremolo;\n\t\t\t}\n\t\t});\n\t\ttremolsLs.forEach((tl) => {\n\t\t\tconst te = tevents.find((te) => tl.y > te.top && tl.y < te.bottom && tl.x > te.stemR && tl.x < te.stemR + 1.6);\n\t\t\tif (te) {\n\t\t\t\tte.event.tremolo = te.event.tremolo || 2;\n\t\t\t\t++te.event.tremolo;\n\t\t\t\tte.event.tremoloLink = TremoloLink.Pitcher;\n\t\t\t}\n\t\t});\n\t\ttremolsRs.forEach((tr) => {\n\t\t\tconst te = tevents.find((te) => tr.y > te.top && tr.y < te.bottom && tr.x < te.stemL && tr.x > te.stemL - 1.6);\n\t\t\tif (te) {\n\t\t\t\tte.event.tremolo = te.event.tremolo || 2;\n\t\t\t\t++te.event.tremolo;\n\t\t\t\tte.event.tremoloLink = TremoloLink.Catcher;\n\t\t\t}\n\t\t});\n\t}\n\n\tassignFeaturesOnEvents(events: ChordColumn[], semantics: SemanticPoint[]): void {\n\t\tconst points = semantics.filter((point) => point.x > this.left && point.x < this.right);\n\t\tconst rests = points.filter((point) => REST_SEMANTICS.includes(point.semantic));\n\t\tconst flags = points.filter((point) => point.semantic === SemanticType.Flag3);\n\t\tconst dotPs = points.filter((point) => point.semantic === SemanticType.Dot);\n\t\tconst beamLs = points.filter((points) => points.semantic === SemanticType.BeamLeft);\n\t\tconst beamMs = points.filter((points) => points.semantic === SemanticType.BeamContinue);\n\t\tconst beamRs = points.filter((points) => points.semantic === SemanticType.BeamRight);\n\t\tconst gracePs = points.filter((point) => point.semantic === SemanticType.GraceNotehead);\n\t\tconst tremoloRs = points.filter((point) => point.semantic === SemanticType.TremoloRight);\n\t\tconst stems = points.filter((point) => point.semantic === SemanticType.vline_Stem);\n\t\tconst s0 = points.filter((point) => point.semantic === SemanticType.NoteheadS0);\n\t\tconst s1 = points.filter((point) => point.semantic === SemanticType.NoteheadS1);\n\t\tconst s2 = points.filter((point) => point.semantic === SemanticType.NoteheadS2);\n\n\t\tevents.forEach((event) => {\n\t\t\tconst cx = event.tip ? event.tip.x : (event.left + event.right) / 2;\n\t\t\tconst top = event.tip ? Math.min(event.tip.y, event.ys[event.ys.length - 1]) : event.ys[event.ys.length - 1];\n\t\t\tconst bottom = event.tip ? Math.max(event.tip.y, event.ys[0]) : event.ys[0];\n\t\t\tconst stemL = event.tip ? event.tip.x : event.left;\n\n\t\t\tconst divisions = [0, 0, 0, 0, 0, 0, 0];\n\t\t\tif (event.rest) {\n\t\t\t\tconst i_rests = rests.filter((point) => distance2D(point, { x: cx, y: event.ys[0] }) < 0.5);\n\t\t\t\ti_rests.forEach((r) => {\n\t\t\t\t\tconst d = REST_SEMANTICS.indexOf(r.semantic);\n\t\t\t\t\tdivisions[d] = Math.max(divisions[d], r.confidence);\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tconst nhs = [s0, s1, s2]\n\t\t\t\t\t.map((ss) => ss.filter((nh) => nh.x > event.left && nh.x < event.right && nh.y > top - 0.25 && nh.y < bottom + 0.25))\n\t\t\t\t\t.map((ss) => Math.max(0, ...ss.map((nh) => nh.confidence)));\n\n\t\t\t\tconst i_flags = flags.filter((flag) => flag.y > top - 0.2 && flag.y < bottom + 0.2 && Math.abs(flag.x - cx) < 0.2);\n\t\t\t\ti_flags.sort((f1, f2) => f2.confidence - f1.confidence);\n\n\t\t\t\tdivisions[0] = nhs[0];\n\t\t\t\tdivisions[1] = nhs[1];\n\t\t\t\tdivisions[2] = nhs[2];\n\t\t\t\tArray(divisions.length - 3)\n\t\t\t\t\t.fill(0)\n\t\t\t\t\t.forEach((_, i) => (divisions[3 + i] = i_flags[i] ? i_flags[i].confidence : 0));\n\t\t\t}\n\n\t\t\tconst i_dots = dotPs.filter((dot) => dot.x > cx && dot.x < event.right + 2.6);\n\t\t\tconst dots2 = i_dots.filter((dot) => i_dots.some((d) => dot.x > d.x && Math.abs(dot.y - d.y) < 0.2));\n\t\t\tconst dots = [Math.max(0, ...i_dots.map((dot) => dot.confidence)), Math.max(0, ...dots2.map((dot) => dot.confidence))];\n\n\t\t\tconst beams = [beamLs, beamMs, beamRs]\n\t\t\t\t.map((bs) => bs.filter((b) => Math.abs(b.x - cx) < 0.2 && b.y > top - 0.2 && b.y < bottom + 0.2))\n\t\t\t\t.map((bs) => Math.max(0, ...bs.map((b) => b.confidence)));\n\n\t\t\tconst u_stems = stems.filter((stem) => distance2D({ x: cx, y: event.ys[0] }, { x: stem.x, y: stem.extension.y2 }) < 0.5);\n\t\t\tconst d_stems = stems.filter((stem) => distance2D({ x: cx, y: event.ys[event.ys.length - 1] }, { x: stem.x, y: stem.extension.y1 }) < 0.5);\n\t\t\tconst stemDirections = [Math.max(0, ...u_stems.map((stem) => stem.confidence)), Math.max(0, ...d_stems.map((stem) => stem.confidence))];\n\n\t\t\tconst graces = gracePs.filter((grace) => Math.abs(grace.x - cx) < 0.6 && event.ys.some((y) => Math.abs(grace.y - y) < 0.4));\n\t\t\tconst grace = Math.max(0, ...graces.map((grace) => grace.confidence));\n\n\t\t\tconst tremolos =\n\t\t\t\tevent.division === 0\n\t\t\t\t\t? tremoloRs.filter((tremolo) => tremolo.x > event.left - 2 && tremolo.x < event.right)\n\t\t\t\t\t: tremoloRs.filter((tremolo) => tremolo.y > top - 0.04 && tremolo.y < bottom + 0.04 && tremolo.x > stemL - 2 && tremolo.x < stemL);\n\t\t\tconst tremoloCatcher = Math.max(0, ...tremolos.map((tremolo) => tremolo.confidence));\n\n\t\t\tevent.feature = {\n\t\t\t\tdivisions,\n\t\t\t\tdots,\n\t\t\t\tbeams,\n\t\t\t\tstemDirections,\n\t\t\t\tgrace,\n\t\t\t\ttremoloCatcher,\n\t\t\t} as EventFeature;\n\t\t});\n\t}\n}\n\nclass Staff extends SimpleClass {\n\tstatic className = 'Staff';\n\tstatic blackKeys = ['index', 'semanticTop', 'semanticBttom'];\n\n\tindex?: number; // staff index in full staff layout\n\n\t// in units\n\ttop: number;\n\theight: number;\n\tstaffY: number;\n\n\tsemanticTop: number;\n\tsemanticBottom: number;\n\n\tbackgroundImage: string | Buffer;\n\tmaskImage: string | Buffer;\n\timagePosition: Rect;\n\n\tmeasures: Measure[];\n\n\tsemantics: SemanticPoint[];\n\n\tconstructor({ measureCount = null, measureBars = null, ...data }: Record = {}) {\n\t\tsuper();\n\t\tsuper.assign(data);\n\n\t\tthis.height = this.height || 10;\n\t\tthis.staffY = this.staffY || 5;\n\n\t\tif (measureBars) {\n\t\t\tlet left = 0;\n\t\t\tthis.measures = measureBars.map((endX) => {\n\t\t\t\tconst measure = new Measure({ left, width: endX - left, height: this.height });\n\t\t\t\tleft = endX;\n\n\t\t\t\treturn measure;\n\t\t\t});\n\t\t} else if (measureCount)\n\t\t\tthis.measures = Array(measureCount)\n\t\t\t\t.fill(null)\n\t\t\t\t.map(() => new Measure());\n\t\telse this.measures = [];\n\t}\n\n\t// relative to staffY\n\tget noteRange(): { top: number; bottom: number } {\n\t\tconst noteheads: Token[] = [].concat(...this.measures.map((measure) => measure.noteheads));\n\t\tconst ys = noteheads.map((note) => note.y);\n\t\tconst top = Math.min(-2, ...ys);\n\t\tconst bottom = Math.max(2, ...ys);\n\n\t\treturn { top, bottom };\n\t}\n\n\tget additionalLines(): AdditionalLineStack[] {\n\t\treturn [].concat(...this.measures.map((measure) => measure.additionalLines));\n\t}\n\n\trearrangeMeasures(measureBars: number[]): void {\n\t\tif (!measureBars.length) {\n\t\t\tconsole.warn('rearrangeMeasures error, measureBars are empty.');\n\t\t\treturn;\n\t\t}\n\n\t\tconst tokens = this.measures?.map((measure) => measure.tokens).flat(1) || [];\n\n\t\tlet left = 0;\n\t\tthis.measures = measureBars.map((endX) => {\n\t\t\tconst measure = new Measure({ left, width: endX - left, height: this.height });\n\t\t\tleft = endX;\n\n\t\t\treturn measure;\n\t\t});\n\n\t\tthis.reassignTokens(tokens);\n\t}\n\n\treassignTokens(tokens: Token[] = null): void {\n\t\tif (!tokens) tokens = [].concat(...this.measures.map((measure) => measure.tokens));\n\n\t\tthis.measures.forEach((measure) => (measure.tokens = []));\n\n\t\ttokens.forEach((token) => {\n\t\t\tfor (const measure of this.measures) {\n\t\t\t\tif (token.x < measure.right) {\n\t\t\t\t\tmeasure.tokens.push(token);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tassignSemantics(graph: SemanticGraph): void {\n\t\tthis.semantics = graph.getStaffPoints();\n\t}\n\n\t// generate tokens from semantics\n\tassemble(threshold: number, system: System, logger: Logger = new DummyLogger()): void {\n\t\tif (!this.semantics) return;\n\n\t\tlet points = system.qualifiedSemantics(this.semantics, threshold);\n\t\tpoints = solveOverlapping(points);\n\n\t\t// tempo noteheads\n\t\tconst tempoNhs = points.filter((point) => point.semantic === SemanticType.TempoNotehead);\n\t\ttempoNhs.forEach((tempoNh) => {\n\t\t\tconst index = points.findIndex((point) => /^Notehead/.test(point.semantic) && distance2D(tempoNh, point) < 0.3);\n\t\t\t//console.log(\"temponh:\", tempoNh, index, points[index]);\n\t\t\tif (index >= 0) points.splice(index, 1);\n\t\t\t// TODO: construct tempo term\n\t\t});\n\n\t\tconst antiP = (id: string): SemanticPoint | null => {\n\t\t\tif (system.displacementSemantics?.[id]) return this.semantics.find((p) => p.id === id);\n\n\t\t\treturn null;\n\t\t};\n\n\t\tpoints.filter((point) => MEASURE_SEMANTICS.includes(point.semantic)).forEach((point) => this.appendPoint(point, { points }));\n\n\t\t// noteheads with stem from noteheads & stems\n\t\tconst stems: Stem[] = points\n\t\t\t.filter((point) => point.semantic === SemanticType.vline_Stem)\n\t\t\t.filter((stem) => stem.extension.y2 - stem.extension.y1 > 1.5) // exclude too short stems\n\t\t\t.map((p) => ({\n\t\t\t\tx: p.x,\n\t\t\t\ty1: p.extension.y1,\n\t\t\t\ty2: p.extension.y2,\n\t\t\t\tdirection: null,\n\t\t\t}));\n\t\tconst noteheads = points.filter(\n\t\t\t(point) => NOTEHEAD_FOR_STEM_SEMANTICS.includes(point.semantic) && point.y > this.semanticTop && point.y < this.semanticBottom\n\t\t);\n\t\tconst rootNhs = new Set();\n\n\t\t// for 2nd degree chord notes\n\t\tconst nhOffsetX = (nh: SemanticPoint, stem: Stem, down: boolean): number => {\n\t\t\tif ((down ? 1 : 0) ^ (nh.x < stem.x ? 1 : 0)) return 0;\n\n\t\t\tconst offset = NOTEHEAD_WIDTHS[nh.semantic];\n\n\t\t\treturn down ? -offset : offset;\n\t\t};\n\n\t\t// find root noteheads on stem\n\t\tstems.forEach((stem) => {\n\t\t\tconst attachedHeads = noteheads.filter(\n\t\t\t\t(nh) =>\n\t\t\t\t\tMath.abs(nh.x - stem.x) - NOTEHEAD_WIDTHS[nh.semantic] / 2 < 0.28 &&\n\t\t\t\t\tMath.abs(nh.x - stem.x) - NOTEHEAD_WIDTHS[nh.semantic] / 2 > -0.44 && // for grace noteheads, more close to their stem\n\t\t\t\t\tnh.y > stem.y1 - 0.5 &&\n\t\t\t\t\tnh.y < stem.y2 + 0.5 &&\n\t\t\t\t\t!(nh.x > stem.x && nh.y > stem.y2) &&\n\t\t\t\t\t!(nh.x < stem.x && nh.y < stem.y1)\n\t\t\t);\n\t\t\t//if (stem.x===102.0625 && stem.y2===1.875)\n\t\t\t//\tdebugger;\n\t\t\tif (attachedHeads.length) {\n\t\t\t\tattachedHeads.sort((n1, n2) => n1.y - n2.y);\n\n\t\t\t\tconst topDist = Math.min(...attachedHeads.map((nh) => nh.y - stem.y1));\n\t\t\t\tconst bottomDist = Math.min(...attachedHeads.map((nh) => stem.y2 - nh.y));\n\t\t\t\tif (Math.min(topDist, bottomDist) > 0.5) return; // no root notehead on this stem\n\n\t\t\t\tconst down = topDist < bottomDist;\n\t\t\t\tstem.direction = down ? 'd' : 'u';\n\n\t\t\t\tif (!down) attachedHeads.reverse();\n\t\t\t\tconst root = attachedHeads[0];\n\n\t\t\t\tconst semantic = down ? NOTEHEAD_TABLE[root.semantic].down : NOTEHEAD_TABLE[root.semantic].up;\n\n\t\t\t\tthis.appendPoint(\n\t\t\t\t\t{\n\t\t\t\t\t\tid: root.id,\n\t\t\t\t\t\tsemantic,\n\t\t\t\t\t\tx: stem.x + nhOffsetX(root, stem, down),\n\t\t\t\t\t\ty: root.y,\n\t\t\t\t\t\tpivotX: root.x,\n\t\t\t\t\t\tconfidence: root.confidence,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttip: { x: stem.x, y: down ? stem.y2 : stem.y1 },\n\t\t\t\t\t\tantiPoint: antiP(root.id),\n\t\t\t\t\t\tpoints,\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\trootNhs.add(root.id);\n\t\t\t}\n\t\t});\n\n\t\t// non-root noteheads\n\t\tnoteheads\n\t\t\t.filter((nh) => !rootNhs.has(nh.id))\n\t\t\t.forEach((nh) => {\n\t\t\t\tconst nearStems = stems\n\t\t\t\t\t.filter((stem) => Math.abs(stem.x - nh.x) < 2 && nh.y > stem.y1 && nh.y < stem.y2)\n\t\t\t\t\t.sort((s1, s2) => Math.abs(s1.x - nh.x) - Math.abs(s2.x - nh.x));\n\t\t\t\tconst stem = nearStems[0];\n\t\t\t\tif (stem) {\n\t\t\t\t\tconst down = stem.direction === 'd';\n\t\t\t\t\tconst semantic = down ? NOTEHEAD_TABLE[nh.semantic].down : NOTEHEAD_TABLE[nh.semantic].up;\n\n\t\t\t\t\tthis.appendPoint(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: nh.id,\n\t\t\t\t\t\t\tsemantic,\n\t\t\t\t\t\t\tx: stem.x + nhOffsetX(nh, stem, down),\n\t\t\t\t\t\t\ty: nh.y,\n\t\t\t\t\t\t\tpivotX: nh.x,\n\t\t\t\t\t\t\tconfidence: nh.confidence,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttip: { x: stem.x, y: down ? stem.y2 : stem.y1 },\n\t\t\t\t\t\t\tantiPoint: antiP(nh.id),\n\t\t\t\t\t\t\tpoints,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t} else logger.debug('isolated notehead:', system.index, this.index, nh);\n\t\t\t});\n\n\t\t// group flags\n\t\tconst flags = points.filter((point) => point.semantic === SemanticType.Flag3);\n\t\tflags.sort((f1, f2) => f1.x - f2.x);\n\t\tthis.appendFlags(flags, stems);\n\n\t\t// group dots\n\t\tconst dots = points\n\t\t\t.filter((point) => point.semantic === SemanticType.Dot)\n\t\t\t.map((dot) => {\n\t\t\t\tconst y = roundNumber(dot.y, 0.5);\n\t\t\t\treturn { x: dot.x, y };\n\t\t\t});\n\t\tconst dotLines: { [key: number]: SemanticPoint[] } = dots.reduce((table, dot) => {\n\t\t\ttable[dot.y] = table[dot.y] || [];\n\t\t\ttable[dot.y].push(dot);\n\t\t\treturn table;\n\t\t}, {});\n\t\tObject.entries(dotLines).forEach(([sy, line]) => {\n\t\t\tconst y = Number(sy);\n\t\t\tif (line.length > 1) {\n\t\t\t\tline.sort((d1, d2) => d1.x - d2.x);\n\t\t\t\tfor (let i = 0; i < line.length - 1; i++) {\n\t\t\t\t\tconst dot = line[i];\n\t\t\t\t\tif (line.find((d) => d.x > dot.x && d.x - dot.x < 1.2)) {\n\t\t\t\t\t\tthis.appendPoint(\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: dot.id,\n\t\t\t\t\t\t\t\tx: dot.x,\n\t\t\t\t\t\t\t\ty,\n\t\t\t\t\t\t\t\tconfidence: dot.confidence,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{ type: TokenType.DotDot, antiPoint: antiP(dot.id), points }\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t// pair key accidentals\n\t\tconst keyaccs = points.filter((point) => point.semantic === SemanticType.KeyAcc);\n\t\tconst accs = points.filter((point) => KEYACC_CANDIDATE_SEMANTICS[point.semantic]);\n\t\taccs.forEach((acc) => {\n\t\t\tif (keyaccs.some((key) => Math.abs(acc.x - key.x) < 0.5 && Math.abs(acc.y - key.y) < 1)) {\n\t\t\t\tthis.appendPoint(\n\t\t\t\t\t{\n\t\t\t\t\t\tid: acc.id,\n\t\t\t\t\t\tx: acc.x,\n\t\t\t\t\t\ty: acc.y,\n\t\t\t\t\t\tconfidence: acc.confidence,\n\t\t\t\t\t},\n\t\t\t\t\t{ type: KEYACC_CANDIDATE_SEMANTICS[acc.semantic], points }\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\n\t\t// octave shift heads\n\t\tconst octs = points.filter((point) => point.semantic === SemanticType.OctaveShift8);\n\t\tocts.forEach((oct) => {\n\t\t\tconst type = oct.y < 0 ? TokenType.OctaveShift8va : TokenType.OctaveShift8vb;\n\t\t\tthis.appendPoint(\n\t\t\t\t{\n\t\t\t\t\tid: oct.id,\n\t\t\t\t\tx: oct.x,\n\t\t\t\t\ty: oct.y,\n\t\t\t\t\tconfidence: oct.confidence,\n\t\t\t\t},\n\t\t\t\t{ type, points }\n\t\t\t);\n\t\t});\n\n\t\t// group volta dots\n\t\tconst voltaDots = this.semantics.filter((point) => [SemanticType.VoltaLeft, SemanticType.VoltaRight].includes(point.semantic));\n\t\tvoltaDots.sort((d1, d2) => d1.x - d2.x);\n\t\tconst voltaGroups: Record> = voltaDots.reduce(\n\t\t\t(groups, dot) => {\n\t\t\t\tconst group = groups[dot.semantic];\n\t\t\t\tconst xs = Array.from(Object.keys(group)).map(Number);\n\t\t\t\tconst x = xs.find((x) => dot.x < x + 0.2) || dot.x;\n\n\t\t\t\tgroup[x] = groups[dot.semantic][x] || [];\n\t\t\t\tgroup[x].push(dot);\n\n\t\t\t\treturn groups;\n\t\t\t},\n\t\t\t{ [SemanticType.VoltaLeft]: {}, [SemanticType.VoltaRight]: {} }\n\t\t);\n\t\tfor (const [type, group] of Object.entries(voltaGroups)) {\n\t\t\tObject.values(group).forEach((dots) => {\n\t\t\t\tif (dots.length > 1) {\n\t\t\t\t\tconst confidence = dots.reduce((sum, dot) => sum + dot.confidence, 0);\n\t\t\t\t\tif (dots[0].y * dots[1].y < 0 && confidence >= threshold * 2) this.appendPoint(dots[0], { type: TokenType[type] });\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tappendPoint(\n\t\tpoint: Partial,\n\t\t{ type, points = null, antiPoint, ...fields }: { type?: TokenType; antiPoint?: SemanticPoint; [key: string]: any } = {}\n\t): void {\n\t\t//console.log(\"appendPoint.0:\", point, point.x, point.y);\n\t\tconst x = point.x;\n\t\tconst measure = this.measures.find((measure) => x < measure.left + measure.width);\n\t\tif (!measure)\n\t\t\t// drop tokens out of measures range\n\t\t\treturn;\n\n\t\t// lined or interval\n\t\tlet lined = false;\n\t\tlet interval = false;\n\t\tif (STAFF_LINED_SEMANTICS.includes(point.semantic)) {\n\t\t\tconsole.assert(points, 'argument of points for this semantic is required:', point.semantic);\n\t\t\tconst signs = points.filter((p) => LINED_INTERVAL_SEMANTICS.includes(p.semantic) && Math.abs(p.y - point.y) < 0.2 && Math.abs(p.x - point.x) < 1.2);\n\t\t\tif (signs.some((s) => s.semantic === SemanticType.SignLined)) lined = true;\n\t\t\telse if (signs.some((s) => s.semantic === SemanticType.SignInterval)) interval = true;\n\t\t}\n\n\t\ttype = type || TokenType[point.semantic];\n\t\tconst fixedY = TOKEN_Y_FIXED[type];\n\t\tlet roundY = TOKEN_Y_ROUND[type];\n\n\t\tif (lined || interval) roundY = Math.max(roundY, 1);\n\n\t\tlet y = point.y;\n\t\tif (Number.isFinite(fixedY)) y = fixedY;\n\t\telse if (roundY) {\n\t\t\tif (interval) y = roundNumber(y + 0.5, roundY) - 0.5;\n\t\t\telse y = roundNumber(y, roundY);\n\t\t}\n\t\t//if (lined || interval)\n\t\t//\tconsole.log(\"round sign:\", point.semantic, y, lined, interval);\n\n\t\tconst holder = measure.tokens.find((token) => token.type === type && Math.abs(token.x - x) < 0.1 && Math.abs(token.y - y) < 0.1);\n\t\tif (holder) {\n\t\t\tif (Number.isFinite(holder.confidence) && holder.confidence < point.confidence) {\n\t\t\t\tholder.x = x;\n\t\t\t\tholder.y = y;\n\t\t\t\tholder.confidence = point.confidence;\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\t// exlude clef out of pitch range\n\t\tif (TokenClefs.includes(type)) {\n\t\t\tif (Math.abs(y) > 3) return;\n\t\t}\n\n\t\t// TODO: exclude overlapped pair by a token prior table\n\n\t\tmeasure.tokens.push(\n\t\t\tnew Token({\n\t\t\t\tid: point.id,\n\t\t\t\ttype,\n\t\t\t\tx,\n\t\t\t\ty,\n\t\t\t\tpivotX: point.pivotX,\n\t\t\t\tconfidence: point.confidence,\n\t\t\t\t...fields,\n\t\t\t})\n\t\t);\n\n\t\tif (antiPoint) {\n\t\t\tmeasure.antiTokens.push(\n\t\t\t\tnew Token({\n\t\t\t\t\tid: antiPoint.id,\n\t\t\t\t\ttype,\n\t\t\t\t\tx,\n\t\t\t\t\ty: antiPoint.y,\n\t\t\t\t\tconfidence: antiPoint.confidence,\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t}\n\n\tappendFlags(flags: SemanticPoint[], stems: Stem[]): void {\n\t\t//console.log(\"flags:\", flags);\n\t\tconst stemGroups = stems\n\t\t\t.map((stem) => ({\n\t\t\t\t...stem,\n\t\t\t\tflags: flags.filter((flag) => Math.abs(flag.x - stem.x) < 0.3 && flag.y > stem.y1 - 0.5 && flag.y < stem.y2 + 0.5),\n\t\t\t}))\n\t\t\t.filter((group) => group.flags.length);\n\n\t\tstemGroups.forEach((group) => {\n\t\t\tconst mainFlag = group.flags.reduce((main, flag) => (main && main.confidence > flag.confidence ? main : flag), null);\n\n\t\t\t//const upDistance = mainFlag.y - group.y1;\n\t\t\t//const downDistance = group.y2 - mainFlag.y;\n\t\t\t//const downward = downDistance < upDistance;\n\t\t\tconst downward = group.direction === 'd';\n\n\t\t\tconst tailY = downward ? Math.min(group.y2, group.y1 + STEM_LENGTH_MAX) : Math.max(group.y1, group.y2 - STEM_LENGTH_MAX);\n\n\t\t\tconst flagTips = group.flags.map((flag) => ({\n\t\t\t\ttip: (tailY - flag.y) * (downward ? 1 : -1),\n\t\t\t\tconfidence: flag.confidence,\n\t\t\t}));\n\t\t\tconst count = flagTips.filter((f) => f.tip < 2 || f.confidence > mainFlag.confidence * 0.7).length;\n\n\t\t\tconst type = TokenFlags[count - 1];\n\t\t\tif (type) {\n\t\t\t\tthis.appendPoint(\n\t\t\t\t\t{\n\t\t\t\t\t\tid: group.flags[0].id,\n\t\t\t\t\t\tx: group.x,\n\t\t\t\t\t\ty: tailY,\n\t\t\t\t\t\tconfidence: Math.min(...group.flags.map((flag) => flag.confidence)),\n\t\t\t\t\t},\n\t\t\t\t\t{ type }\n\t\t\t\t);\n\t\t\t\t//console.log(\"flag:\", type);\n\t\t\t}\n\t\t});\n\t}\n\n\tclearTokens(): void {\n\t\tthis.measures.forEach((measure) => (measure.tokens = []));\n\t\tthis.semantics = [];\n\t}\n\n\tclearPredictedTokens(): void {\n\t\tthis.measures.forEach((measure) => (measure.tokens = measure.tokens.filter((token) => !token.isPredicted)));\n\t}\n}\n\nclass System extends SimpleClass {\n\tstatic className = 'System';\n\tstatic blackKeys = ['index', 'pageIndex', 'prev', 'next', 'headMeasureIndex', 'tokens', 'indent'];\n\n\tindex?: number;\n\tpageIndex?: number;\n\tprev?: System;\n\tnext?: System;\n\theadMeasureIndex?: number; // zero based\n\n\t// in units\n\tleft: number;\n\ttop: number;\n\twidth: number;\n\tindent: boolean;\n\n\tmeasureCount: number;\n\tstaves: Staff[];\n\n\tmeasureBars: number[];\n\n\tbackgroundImage: string;\n\timagePosition: Rect;\n\n\tsemantics: SemanticPoint[];\n\ttokens?: Token[];\n\n\tsidBlackList: string[];\n\tsidWhiteList: string[];\n\n\tdisplacementSemantics?: { [id: string]: Partial };\n\n\tstaffMaskChanged: number;\n\tbracketsAppearance: string; // the staff layout code by prediction\n\n\tconstructor({ stavesCount, ...fields }: any) {\n\t\tsuper();\n\t\tsuper.assign(fields);\n\n\t\tif (!this.measureBars) {\n\t\t\tconst HEAD_WIDTH = 5;\n\t\t\tconst segmentLength = (this.width - HEAD_WIDTH) / this.measureCount;\n\t\t\tthis.measureBars = Array(this.measureCount)\n\t\t\t\t.fill(0)\n\t\t\t\t.map((_, i) => HEAD_WIDTH + segmentLength * (i + 1));\n\t\t}\n\n\t\tif (!fields.staves && stavesCount)\n\t\t\tthis.staves = Array(stavesCount)\n\t\t\t\t.fill(null)\n\t\t\t\t.map(() => new Staff({ measureBars: this.measureBars }));\n\n\t\tthis.arrangePosition();\n\n\t\tthis.measureCount = this.measureCount || this.measureBars.length;\n\n\t\tthis.sidBlackList = this.sidBlackList || [];\n\t\tthis.sidWhiteList = this.sidWhiteList || [];\n\t}\n\n\tget noteRange(): { top: number; bottom: number } {\n\t\tif (!this.staves.length) return null;\n\n\t\tconst staffTop = this.staves[0];\n\t\tconst staffBottom = this.staves[this.staves.length - 1];\n\n\t\treturn {\n\t\t\ttop: staffTop.top + staffTop.staffY + staffTop.noteRange.top,\n\t\t\tbottom: staffBottom.top + staffBottom.staffY + staffBottom.noteRange.bottom,\n\t\t};\n\t}\n\n\tget staffPositions(): StaffPosition[] {\n\t\treturn this.staves.map((staff) => ({\n\t\t\ty: staff.top + staff.staffY,\n\t\t\tradius: 2,\n\t\t}));\n\t}\n\n\tget staffMask(): number {\n\t\tif (this.staffMaskChanged) return this.staffMaskChanged;\n\n\t\tif (this.prev && this.staves.length === this.prev.staves.length) return this.prev.staffMask;\n\n\t\treturn 2 ** this.staves.length - 1;\n\t}\n\n\tget staffTop(): number {\n\t\tconst positions = this.staffPositions;\n\t\treturn positions.length ? positions[0].y - positions[0].radius : 0;\n\t}\n\n\tget staffBottom(): number {\n\t\tconst positions = this.staffPositions;\n\t\treturn positions.length ? positions[positions.length - 1].y + positions[positions.length - 1].radius : 0;\n\t}\n\n\tarrangePosition(): void {\n\t\tlet y = 0;\n\t\tfor (const staff of this.staves) {\n\t\t\tif (Number.isFinite(staff.top)) break;\n\n\t\t\tstaff.top = y;\n\t\t\ty += staff.height;\n\t\t}\n\t}\n\n\ttidyMeasureBars(): void {\n\t\tthis.measureBars = this.measureBars.filter((x) => x > 1);\n\t\tthis.measureBars.sort((b1, b2) => b1 - b2);\n\n\t\tconst restWidth = this.width - this.measureBars[this.measureBars.length - 1];\n\t\tif (restWidth > 12) this.measureBars.push(this.width);\n\t\telse if (restWidth < 2) this.measureBars[this.measureBars.length - 1] = this.width;\n\n\t\tthis.measureBars = this.measureBars.filter((x, i) => i < 1 || x - this.measureBars[i - 1] > 4);\n\t}\n\n\trearrangeMeasures(): void {\n\t\tthis.measureCount = this.measureBars.length;\n\t\tthis.staves.forEach((staff) => staff.rearrangeMeasures(this.measureBars));\n\t}\n\n\tget height(): number {\n\t\treturn this.staves.reduce((height, staff) => height + staff.height, 0);\n\t}\n\n\tget connectionLine(): { top: number; bottom: number } {\n\t\tconst staffHead = this.staves[0];\n\t\tconst staffTail = this.staves[this.staves.length - 1];\n\n\t\treturn (\n\t\t\tstaffHead && {\n\t\t\t\ttop: staffHead.top + staffHead.staffY - 2,\n\t\t\t\tbottom: staffTail.top + staffTail.staffY + 2,\n\t\t\t}\n\t\t);\n\t}\n\n\tget middleY(): number {\n\t\tif (!this.staves.length) return 0;\n\n\t\tconst sum = this.staves.reduce((sum, staff) => sum + staff.top + staff.staffY, 0);\n\n\t\treturn sum / this.staves.length;\n\t}\n\n\tget timeSignatureOnHead(): boolean {\n\t\treturn this.staves.some((staff) => staff.measures[0]?.tokens.some((token) => TokenTimesigs.includes(token.type)));\n\t}\n\n\t// an array staff or null on every position of full staff layout\n\tgetStaffArray(stavesCount: number): Staff[] {\n\t\tlet si = 0;\n\n\t\treturn Array(stavesCount)\n\t\t\t.fill(null)\n\t\t\t.map((_, i) => {\n\t\t\t\tconst on = this.staffMask & (1 << i);\n\t\t\t\tconst staff = on ? this.staves[si++] : null;\n\t\t\t\tconsole.assert(!on || staff, 'system staves count is less than staff mask declared:', this.staves.length, this.staffMask.toString(2));\n\n\t\t\t\treturn staff;\n\t\t\t});\n\t}\n\n\t// measureIndex: the local measure index\n\tgetMarksInMeasure(measureIndex: number): MarkTerm[] {\n\t\tconsole.assert(measureIndex < this.measureBars.length, 'measure index out of range:', measureIndex, this.measureBars.length);\n\n\t\tconst left = measureIndex > 0 ? this.measureBars[measureIndex - 1] : 0;\n\t\tconst right = this.measureBars[measureIndex];\n\n\t\tconst tempoTokens = (this.tokens ?? []).filter(\n\t\t\t(token) => token.x >= left && token.x < right && token instanceof TextToken && token.textType === TextType.TempoNumeral\n\t\t) as TextToken[];\n\n\t\treturn [...tempoTokens.map((token) => TempoTerm.fromNumeralText(token.text)).filter(Boolean)];\n\t}\n\n\tgetEvents(stavesCount: number): EventSystem {\n\t\tconsole.assert(Number.isInteger(this.headMeasureIndex), 'invalid headMeasureIndex:', this.headMeasureIndex);\n\n\t\t// Empty system (no measureBars / no staves with measures): return empty result\n\t\tif (!this.measureBars?.length && this.staves.every((s) => !s.measures?.length)) {\n\t\t\treturn { staffMask: this.staffMask, columns: [] };\n\t\t}\n\n\t\tconst staves = this.getStaffArray(stavesCount);\n\n\t\t// [staff, measure]\n\t\tconst rows = staves.map((staff) => {\n\t\t\tif (!staff) {\n\t\t\t\treturn Array(this.measureCount)\n\t\t\t\t\t.fill(null)\n\t\t\t\t\t.map(() => ({\n\t\t\t\t\t\tevents: [] as EventTerm[],\n\t\t\t\t\t\tcontexts: [] as ContextedTerm[],\n\t\t\t\t\t\tvoltaBegin: false,\n\t\t\t\t\t\tvoltaEnd: false,\n\t\t\t\t\t\talternative: false,\n\t\t\t\t\t\tbarTypes: {},\n\t\t\t\t\t}));\n\t\t\t}\n\n\t\t\treturn staff.measures.map((measure) => {\n\t\t\t\tconst events = measure.getEvents();\n\t\t\t\tmeasure.assignAccessoriesOnEvents(events);\n\t\t\t\tmeasure.assignFeaturesOnEvents(events, staff.semantics);\n\n\t\t\t\treturn {\n\t\t\t\t\tevents: events.map(\n\t\t\t\t\t\t(event) =>\n\t\t\t\t\t\t\tnew EventTerm({\n\t\t\t\t\t\t\t\tstaff: staff.index,\n\t\t\t\t\t\t\t\tsystem: this.index,\n\t\t\t\t\t\t\t\t...event,\n\t\t\t\t\t\t\t\trest: event.rest ? 'r' : null,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t),\n\t\t\t\t\tcontexts: measure.getContexts({ staff: staff.index }),\n\t\t\t\t\tvoltaBegin: measure.tokens.some((token) => token.type === TokenType.VoltaLeft),\n\t\t\t\t\tvoltaEnd: measure.tokens.some((token) => token.type === TokenType.VoltaRight),\n\t\t\t\t\talternative: measure.alternative,\n\t\t\t\t\tbarTypes: measure.barTypes,\n\t\t\t\t};\n\t\t\t});\n\t\t});\n\n\t\t// supplement time signatures for empty staves\n\t\tfor (let mi = 0; mi < this.measureCount; ++mi) {\n\t\t\tconst tsRows = rows.map((row) => row[mi]?.contexts?.filter((term) => [ContextType.TimeSignatureC, ContextType.TimeSignatureN].includes(term.type)));\n\t\t\tconst timeSigs = tsRows.find((row) => row?.length);\n\t\t\tif (timeSigs) {\n\t\t\t\trows.forEach((row) => {\n\t\t\t\t\tif (row[mi] && !row[mi].contexts.length && !row[mi].events.length) row[mi].contexts.push(...timeSigs);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\t//const measureWidths = this.staves[0].measures.map(measure => measure.width);\n\t\t//onst measureStartXs = [0, ...this.measureBars];\n\n\t\tconst columns = Array(this.measureCount)\n\t\t\t.fill(null)\n\t\t\t.map(\n\t\t\t\t(_, i): EventMeasureColumn => ({\n\t\t\t\t\tmeasureIndex: this.headMeasureIndex + i,\n\t\t\t\t\t//startX: measureStartXs[i],\n\t\t\t\t\t//width: measureWidths[i],\n\t\t\t\t\trows: rows.map((row) => row[i]),\n\t\t\t\t\tmarks: this.getMarksInMeasure(i),\n\t\t\t\t\t//xToTick: {},\n\t\t\t\t\tduration: 0,\n\t\t\t\t\tvoltaBegin: rows.some((row) => row[i]?.voltaBegin),\n\t\t\t\t\tvoltaEnd: rows.some((row) => row[i]?.voltaEnd),\n\t\t\t\t\talternative: rows.some((row) => row[i]?.alternative),\n\t\t\t\t\tbarTypes: rows.reduce(\n\t\t\t\t\t\t(ts, row) => ({\n\t\t\t\t\t\t\t...ts,\n\t\t\t\t\t\t\t...row[i]?.barTypes,\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t{} as Record\n\t\t\t\t\t),\n\t\t\t\t})\n\t\t\t);\n\t\t//columns.forEach(computeMeasureTicks);\n\n\t\t// assign id on column events\n\t\tcolumns.forEach((column) => {\n\t\t\tconst events = [].concat(...column.rows.filter(Boolean).map((row) => row.events));\n\t\t\tevents.forEach((event, i) => (event.id = i + 1));\n\t\t});\n\n\t\tconst lastColumn = columns[columns.length - 1];\n\t\tif (lastColumn) lastColumn.break = true;\n\n\t\treturn {\n\t\t\tstaffMask: this.staffMask,\n\t\t\tcolumns,\n\t\t};\n\t}\n\n\tgetEventsFunctional(stavesCount: number, ev: ChordsFeeder, processors: ColumnProcessor[] = [], { useXMap = false } = {}): EventSystem {\n\t\tconst staves = this.getStaffArray(stavesCount);\n\n\t\t// [staff, measure]\n\t\tconst rows = staves.map((staff, si) => {\n\t\t\tif (!staff) {\n\t\t\t\treturn Array(this.measureCount)\n\t\t\t\t\t.fill(null)\n\t\t\t\t\t.map(() => ({\n\t\t\t\t\t\tevents: [] as EventTerm[],\n\t\t\t\t\t\tcontexts: [] as ContextedTerm[],\n\t\t\t\t\t\tvoltaBegin: false,\n\t\t\t\t\t\tvoltaEnd: false,\n\t\t\t\t\t\talternative: false,\n\t\t\t\t\t\tbarTypes: {},\n\t\t\t\t\t}));\n\t\t\t}\n\n\t\t\treturn staff.measures.map((measure, mi) => {\n\t\t\t\tconst events = ev(si, mi);\n\n\t\t\t\treturn (\n\t\t\t\t\tevents && {\n\t\t\t\t\t\tevents: events.map(\n\t\t\t\t\t\t\t(event) =>\n\t\t\t\t\t\t\t\tnew EventTerm({\n\t\t\t\t\t\t\t\t\tsystem: this.index,\n\t\t\t\t\t\t\t\t\t...event,\n\t\t\t\t\t\t\t\t\trest: event.rest ? 'r' : null,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t),\n\t\t\t\t\t\tcontexts: measure.getContexts({ staff: si }),\n\t\t\t\t\t\tvoltaBegin: measure.tokens.some((token) => token.type === TokenType.VoltaLeft),\n\t\t\t\t\t\tvoltaEnd: measure.tokens.some((token) => token.type === TokenType.VoltaRight),\n\t\t\t\t\t\talternative: measure.alternative,\n\t\t\t\t\t\tbarTypes: measure.barTypes,\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t});\n\t\t});\n\n\t\t//const measureWidths = this.staves[0].measures.map(measure => measure.width);\n\t\t//const measureStartXs = [0, ...this.measureBars];\n\n\t\t// [measure, staff]\n\t\tconst columns: EventMeasureColumn[] = Array(this.measureCount)\n\t\t\t.fill(null)\n\t\t\t.map((_, mi) => {\n\t\t\t\tconst localRows = rows.map((row) => row[mi]);\n\t\t\t\tif (localRows.some((row) => !row)) return null;\n\n\t\t\t\tlet xMap: Map = null;\n\t\t\t\tif (useXMap) {\n\t\t\t\t\tconst events: EventTerm[] = [].concat(...localRows.map((row) => row.events));\n\t\t\t\t\tconst groupMap: { [group: number]: EventTerm[] } = events.reduce((map, event) => {\n\t\t\t\t\t\tif (Number.isFinite(event.tickGroup)) map[event.tickGroup] = map[event.tickGroup] || [];\n\t\t\t\t\t\tmap[event.tickGroup].push(event);\n\n\t\t\t\t\t\treturn map;\n\t\t\t\t\t}, {});\n\n\t\t\t\t\txMap = Object.values(groupMap).reduce((map, events) => {\n\t\t\t\t\t\tconst x = Math.min(...events.map((event) => (event.left + event.right) / 2));\n\t\t\t\t\t\tmap.set(x, events);\n\n\t\t\t\t\t\treturn map;\n\t\t\t\t\t}, new Map());\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\tmeasureIndex: this.headMeasureIndex + mi,\n\t\t\t\t\t//startX: measureStartXs[mi],\n\t\t\t\t\t//width: measureWidths[mi],\n\t\t\t\t\trows: localRows, // [staff]\n\t\t\t\t\tmarks: this.getMarksInMeasure(mi),\n\t\t\t\t\t//xToTick: {},\n\t\t\t\t\tduration: 0,\n\t\t\t\t\txMap,\n\t\t\t\t\tvoltaBegin: localRows.some((row) => row.voltaBegin),\n\t\t\t\t\tvoltaEnd: localRows.some((row) => row.voltaEnd),\n\t\t\t\t\talternative: localRows.some((row) => row.alternative),\n\t\t\t\t\tbarTypes: localRows.reduce(\n\t\t\t\t\t\t(ts, row) => ({\n\t\t\t\t\t\t\t...ts,\n\t\t\t\t\t\t\t...row.barTypes,\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t{} as Record\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t});\n\t\tprocessors.forEach((proc) => columns.forEach(proc));\n\n\t\treturn {\n\t\t\tstaffMask: this.staffMask,\n\t\t\tcolumns,\n\t\t};\n\t}\n\n\t// get EventSystem contains only contexted terms\n\tgetContexts(stavesCount: number): EventSystem {\n\t\tconst staves = this.getStaffArray(stavesCount);\n\n\t\t// [staff, measure]\n\t\tconst rows = staves.map((staff) => {\n\t\t\tif (!staff) {\n\t\t\t\treturn Array(this.measureCount)\n\t\t\t\t\t.fill(null)\n\t\t\t\t\t.map(() => ({\n\t\t\t\t\t\tevents: null,\n\t\t\t\t\t\tcontexts: [] as ContextedTerm[],\n\t\t\t\t\t\tvoltaBegin: false,\n\t\t\t\t\t\tvoltaEnd: false,\n\t\t\t\t\t\talternative: false,\n\t\t\t\t\t\tbarTypes: {},\n\t\t\t\t\t}));\n\t\t\t}\n\n\t\t\treturn staff.measures.map((measure) => ({\n\t\t\t\tevents: null,\n\t\t\t\tcontexts: measure.getContexts(),\n\t\t\t\tvoltaBegin: measure.tokens.some((token) => token.type === TokenType.VoltaLeft),\n\t\t\t\tvoltaEnd: measure.tokens.some((token) => token.type === TokenType.VoltaRight),\n\t\t\t\talternative: rows.some((row) => row.alternative),\n\t\t\t\tbarTypes: measure.barTypes,\n\t\t\t}));\n\t\t});\n\n\t\t// supplement time signatures for empty staves\n\t\tfor (let mi = 0; mi < this.measureCount; ++mi) {\n\t\t\tconst tsRows = rows.map((row) => row[mi]?.contexts.filter((term) => [ContextType.TimeSignatureC, ContextType.TimeSignatureN].includes(term.type)));\n\t\t\tconst timeSigs = tsRows.find((row) => row?.length);\n\t\t\tif (timeSigs) {\n\t\t\t\trows.forEach((row) => {\n\t\t\t\t\tif (!row[mi].contexts.length) row[mi].contexts.push(...timeSigs);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\t//const measureWidths = this.staves[0].measures.map(measure => measure.width);\n\t\t//const measureStartXs = [0, ...this.measureBars];\n\n\t\tconst columns = Array(this.measureCount)\n\t\t\t.fill(null)\n\t\t\t.map(\n\t\t\t\t(_, i): EventMeasureColumn => ({\n\t\t\t\t\tmeasureIndex: this.headMeasureIndex + i,\n\t\t\t\t\t//startX: measureStartXs[i],\n\t\t\t\t\t//width: measureWidths[i],\n\t\t\t\t\trows: rows.map((row) => row[i]),\n\t\t\t\t\tmarks: [],\n\t\t\t\t\t//xToTick: {},\n\t\t\t\t\tduration: 0,\n\t\t\t\t\tvoltaBegin: rows.some((row) => row[i].voltaBegin),\n\t\t\t\t\tvoltaEnd: rows.some((row) => row[i].voltaEnd),\n\t\t\t\t\talternative: rows.some((row) => row.alternative),\n\t\t\t\t\tbarTypes: rows.reduce(\n\t\t\t\t\t\t(ts, row) => ({\n\t\t\t\t\t\t\t...ts,\n\t\t\t\t\t\t\t...row[i].barTypes,\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t{} as Record\n\t\t\t\t\t),\n\t\t\t\t})\n\t\t\t);\n\n\t\treturn {\n\t\t\tstaffMask: this.staffMask,\n\t\t\tcolumns,\n\t\t};\n\t}\n\n\tassignSemantics(staffIndex: number, graph: SemanticGraph): void {\n\t\tconst staff = this.staves[staffIndex];\n\t\tconsole.assert(staff, 'staff is null:', staffIndex, this.staves);\n\t\tconst oy = staff.top + staff.staffY;\n\n\t\tgraph.getSystemPoints().forEach((point) => {\n\t\t\tconst p = { ...point };\n\t\t\tp.y += oy;\n\n\t\t\tif (p.extension) {\n\t\t\t\tp.extension = { ...p.extension };\n\t\t\t\tif (Number.isFinite(p.extension.y1)) {\n\t\t\t\t\tp.extension.y1 += oy;\n\t\t\t\t\tp.extension.y2 += oy;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.semantics.push(p);\n\t\t});\n\t}\n\n\t// generate tokens from semantics\n\tassemble(threshold: number, logger: Logger = new DummyLogger()): void {\n\t\t//console.log(\"System.assignSemantics:\", graph);\n\t\tthis.measureBars = [];\n\n\t\tif (!this.semantics) return;\n\n\t\tconst graph = SemanticGraph.fromPoints(this.semantics);\n\n\t\tconst bars = graph.getConfidentLayer(SemanticType.vline_BarMeasure, threshold);\n\t\tbars.sort((b1, b2) => b1.x - b2.x);\n\n\t\tconst staffTop = this.staffTop;\n\t\tconst staffBottom = this.staffBottom;\n\n\t\tconst MERGE_WINDOW = 0.4;\n\t\tlet lastX = 0;\n\t\tconst barColumns: { [key: number]: number } = bars.reduce((columns, bar) => {\n\t\t\tconst confidence = Number.isFinite(bar.confidence) ? Math.tanh(bar.confidence) : 1;\n\n\t\t\tconst x = bar.x - lastX > MERGE_WINDOW ? bar.x : lastX;\n\t\t\tlastX = bar.x;\n\t\t\tlet intensity = columns[x] || 0;\n\t\t\tintensity += (Math.min(bar.extension.y2, staffBottom) - Math.max(bar.extension.y1, staffTop)) * confidence;\n\n\t\t\tif (bar.x !== x) delete columns[x];\n\t\t\tcolumns[bar.x] = intensity;\n\n\t\t\treturn columns;\n\t\t}, {});\n\t\tconst barXs: number[] = Object.entries(barColumns)\n\t\t\t.filter(([x, intensity]) => (void x, intensity > 3 * this.staves.length))\n\t\t\t.map(([x]) => Number(x));\n\t\tbarXs.sort((x1, x2) => x1 - x2);\n\t\tbarXs.forEach((x, i) => {\n\t\t\tif (i <= 0 || x - barXs[i - 1] > 2) this.measureBars.push(x);\n\t\t});\n\n\t\tif (!this.measureBars.length) this.measureBars.push(this.width);\n\n\t\tthis.tidyMeasureBars();\n\t\tthis.rearrangeMeasures();\n\n\t\t// measure bar type\n\t\tconst typeBars = this.semantics.filter((point) => [SemanticType.vline_BarTerminal, SemanticType.vline_BarSegment].includes(point.semantic));\n\t\ttypeBars.forEach((bar) => {\n\t\t\tconst measure = this.staves[0].measures.find((measure) => bar.x > measure.right - 2 && bar.x < measure.right + 1);\n\t\t\tif (measure) {\n\t\t\t\tconst type = bar.semantic.replace(/^vline_Bar/, '');\n\t\t\t\tmeasure.barTypes[type] = measure.barTypes[type] || 0;\n\t\t\t\tmeasure.barTypes[type] += bar.confidence;\n\t\t\t}\n\t\t});\n\n\t\tlet staffIndex = 0;\n\t\tconst staffMask = this.staffMask;\n\t\tthis.staves.forEach((staff, si) => {\n\t\t\t// staff index\n\t\t\twhile (!(staffMask & (1 << staffIndex))) ++staffIndex;\n\t\t\tstaff.index = staffIndex++;\n\n\t\t\t// assign semantic boundaries\n\t\t\tif (si === 0) staff.semanticTop = -staff.staffY;\n\t\t\telse {\n\t\t\t\tconst prevStaff = this.staves[si - 1];\n\t\t\t\tstaff.semanticTop = prevStaff.top + prevStaff.staffY + 3 - (staff.top + staff.staffY);\n\t\t\t}\n\n\t\t\tif (si < this.staves.length - 1) {\n\t\t\t\tconst nextStaff = this.staves[si + 1];\n\t\t\t\tstaff.semanticBottom = nextStaff.top + nextStaff.staffY - 3 - (staff.top + staff.staffY);\n\t\t\t} else staff.semanticBottom = this.height - (staff.top + staff.staffY);\n\n\t\t\tif (staff.semantics && staff.semantics.length) {\n\t\t\t\tstaff.semantics.forEach((point) => hashSemanticPoint(this.index, si, point));\n\n\t\t\t\tstaff.clearPredictedTokens();\n\t\t\t\tstaff.assemble(threshold, this, logger);\n\t\t\t}\n\t\t});\n\t}\n\n\tqualifiedSemantics(semantics: SemanticPoint[], threshold: number = 1): SemanticPoint[] {\n\t\treturn semantics\n\t\t\t.filter(\n\t\t\t\t(p) => this.sidWhiteList.includes(p.id) || (!this.sidBlackList.includes(p.id) && (p.confidence >= threshold || !Number.isFinite(p.confidence)))\n\t\t\t)\n\t\t\t.map((point) => {\n\t\t\t\t// displace semantic point\n\t\t\t\tif (this.displacementSemantics && this.displacementSemantics[point.id]) return { ...point, ...this.displacementSemantics[point.id] };\n\n\t\t\t\treturn point;\n\t\t\t});\n\t}\n\n\tclearTokens(): void {\n\t\tthis.staves.forEach((staff) => staff.clearTokens());\n\t\tthis.semantics = [];\n\t}\n\n\tnewPoint(staffIndex: number, data: SemanticPoint, threshold: number = 1): SemanticPoint {\n\t\tconst staff = this.staves[staffIndex];\n\t\tconsole.assert(staff, 'staff index out of bound:', staffIndex, this.staves.length);\n\n\t\tconst { semantic, x, y, confidence = 0, extension = null } = data;\n\t\tconst point = { semantic, x, y, confidence, extension };\n\t\tif (!point.extension) delete point.extension;\n\n\t\thashSemanticPoint(this.index, staffIndex, point);\n\t\tstaff.semantics.push(point);\n\t\tstaff.clearPredictedTokens();\n\t\tstaff.assemble(threshold, this);\n\n\t\treturn point;\n\t}\n\n\tappendToken(token: TextToken): void {\n\t\tthis.tokens.push(token);\n\n\t\tswitch (token.textType) {\n\t\t\tcase TextType.TempoNumeral:\n\t\t\t\t{\n\t\t\t\t\t// remove noteheads in text area\n\t\t\t\t\tconst staff = this.staves[0];\n\t\t\t\t\tif (staff) {\n\t\t\t\t\t\tconst oy = staff.top + staff.staffY;\n\t\t\t\t\t\tstaff.measures.forEach((measure) => {\n\t\t\t\t\t\t\tmeasure.tokens = measure.tokens.filter(\n\t\t\t\t\t\t\t\t(t) =>\n\t\t\t\t\t\t\t\t\t!TokenNoteheads.includes(t.type) ||\n\t\t\t\t\t\t\t\t\tMath.abs(t.x - token.x) > token.width / 2 ||\n\t\t\t\t\t\t\t\t\tMath.abs(oy + t.y - token.y) > token.fontSize / 2\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\tcase TextType.Alternation1:\n\t\t\tcase TextType.Alternation2:\n\t\t\t\t//console.log(\"appendToken:\", token, this.staves[0].measures);\n\t\t\t\tthis.staves[0].measures.forEach((measure) => {\n\t\t\t\t\tconst overlap = Math.min(measure.left + measure.width, token.x + token.width / 2) - Math.max(measure.left, token.x - token.width / 2);\n\t\t\t\t\tmeasure.alternative = measure.alternative || overlap / measure.width > 0.5;\n\t\t\t\t});\n\n\t\t\t\tbreak;\n\t\t}\n\t}\n}\n\nclass Page extends SimpleClass {\n\tstatic className = 'Page';\n\tstatic blackKeys = ['index', 'tokens'];\n\n\tindex?: number;\n\n\t// in units\n\twidth: number;\n\theight: number;\n\n\tsystems: System[];\n\n\tsource: SourceImageFile;\n\tlayout?: PageLayout;\n\n\tsemantics: SemanticPoint[];\n\ttokens?: Token[];\n\n\tconstructor(data: any) {\n\t\tsuper();\n\t\tsuper.assign(data);\n\n\t\tthis.systems = this.systems || [];\n\n\t\tif (this.source) {\n\t\t\tthis.source.matrix = this.source.matrix || [1, 0, 0, 1, 0, 0];\n\t\t}\n\t}\n\n\tget sidBlackList(): Set {\n\t\tconst ids = [].concat(...this.systems.map((system) => system.sidBlackList));\n\n\t\treturn new Set(ids);\n\t}\n\n\tget sidWhiteList(): Set {\n\t\tconst ids = [].concat(...this.systems.map((system) => system.sidWhiteList));\n\n\t\treturn new Set(ids);\n\t}\n\n\tclearTokens(): void {\n\t\tthis.semantics = null;\n\t\tthis.tokens = null;\n\n\t\tthis.systems.forEach((system) => (system.tokens = null));\n\t}\n\n\tassignTexts(areas: TextArea[], [imageHeight, imageWidth]: [number, number]): void {\n\t\tconst interval = this.source && this.source.interval ? this.source.interval * (imageHeight / this.source.dimensions.height) : imageHeight / this.height;\n\n\t\tthis.semantics = areas.map((area) => {\n\t\t\tconst p = {\n\t\t\t\tx: (area.cx - imageWidth / 2) / interval,\n\t\t\t\ty: (area.cy - imageHeight / 2) / interval,\n\t\t\t};\n\t\t\tconst rp = this.source && this.source.matrix ? trans23(p, this.source.matrix) : p;\n\n\t\t\treturn {\n\t\t\t\tconfidence: area.score,\n\t\t\t\tx: rp.x + this.width / 2,\n\t\t\t\ty: rp.y + this.height / 2,\n\t\t\t\tsemantic: SemanticType.rect_Text,\n\t\t\t\textension: {\n\t\t\t\t\ttext: area.text,\n\t\t\t\t\ttype: area.type,\n\t\t\t\t\twidth: area.width / interval,\n\t\t\t\t\theight: area.height / interval,\n\t\t\t\t\ttheta: area.theta,\n\t\t\t\t\ttextFeature: area.feature_dict,\n\t\t\t\t},\n\t\t\t};\n\t\t});\n\t}\n\n\tassemble({ textAnnotations = null }: { textAnnotations?: { [id: string]: string } } = {}, logger: Logger = new DummyLogger()): void {\n\t\tthis.tokens = [];\n\t\tthis.systems.forEach((system) => (system.tokens = []));\n\n\t\t// compute system indent\n\t\tif (this.systems.length) {\n\t\t\tconst sysXs = this.systems.map((system) => system.left);\n\t\t\tconst middleX = sysXs[Math.floor((sysXs.length - 1) / 2)];\n\t\t\tthis.systems.forEach((system) => (system.indent = system.left > middleX + INDENT_THRESHOLD));\n\t\t}\n\n\t\tif (this.semantics) {\n\t\t\tconst pageName = this.source ? this.source.name : this.index.toString();\n\n\t\t\tthis.semantics.forEach((point) => {\n\t\t\t\thashPageSemanticPoint(pageName, point);\n\n\t\t\t\tconst fields = {\n\t\t\t\t\tid: point.id,\n\t\t\t\t\ttype: TokenType.Text,\n\t\t\t\t\tconfidence: point.confidence,\n\t\t\t\t\ttextType: TEXT_TYPE_ALIAS[point.extension.type] || point.extension.type,\n\t\t\t\t\ttext: (textAnnotations && textAnnotations[point.id]) || point.extension.text,\n\t\t\t\t\ttextFeasure: point.extension.textFeature,\n\t\t\t\t\twidth: point.extension.width,\n\t\t\t\t\tfontSize: point.extension.height,\n\t\t\t\t};\n\n\t\t\t\tswitch (point.semantic) {\n\t\t\t\t\tcase SemanticType.rect_Text:\n\t\t\t\t\t\tswitch (fields.textType) {\n\t\t\t\t\t\t\t// page tokens\n\t\t\t\t\t\t\tcase TextType.Title:\n\t\t\t\t\t\t\tcase TextType.Author:\n\t\t\t\t\t\t\tcase TextType.PageMargin:\n\t\t\t\t\t\t\tcase TextType.Other:\n\t\t\t\t\t\t\t\tthis.tokens.push(\n\t\t\t\t\t\t\t\t\tnew TextToken({\n\t\t\t\t\t\t\t\t\t\tx: point.x,\n\t\t\t\t\t\t\t\t\t\ty: point.y,\n\t\t\t\t\t\t\t\t\t\t...fields,\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t// tokens on the top of system\n\t\t\t\t\t\t\tcase TextType.TempoNumeral:\n\t\t\t\t\t\t\tcase TextType.Chord:\n\t\t\t\t\t\t\tcase TextType.MeasureNumber:\n\t\t\t\t\t\t\tcase TextType.Instrument:\n\t\t\t\t\t\t\tcase TextType.Alternation1:\n\t\t\t\t\t\t\tcase TextType.Alternation2:\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tconst system = this.systems.find((system) => system.top + system.staffTop > point.y);\n\t\t\t\t\t\t\t\t\tif (system) {\n\t\t\t\t\t\t\t\t\t\tsystem.appendToken(\n\t\t\t\t\t\t\t\t\t\t\tnew TextToken({\n\t\t\t\t\t\t\t\t\t\t\t\tx: point.x - system.left,\n\t\t\t\t\t\t\t\t\t\t\t\ty: point.y - system.top,\n\t\t\t\t\t\t\t\t\t\t\t\t...fields,\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t// tokens in staff\n\t\t\t\t\t\t\tcase TextType.TextualMark:\n\t\t\t\t\t\t\tcase TextType.Times:\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tconst system = [...this.systems].reverse().find((system) => system.top < point.y);\n\t\t\t\t\t\t\t\t\tif (system) {\n\t\t\t\t\t\t\t\t\t\tconst sy = point.y - (system.top + system.staffTop);\n\t\t\t\t\t\t\t\t\t\tconst sx = point.x - system.left;\n\t\t\t\t\t\t\t\t\t\tconst staff = system.staves.find((staff) => sy >= staff.top && sy < staff.top + staff.height);\n\t\t\t\t\t\t\t\t\t\tif (staff) {\n\t\t\t\t\t\t\t\t\t\t\tconst measure = staff.measures.find((measure) => sx >= measure.left && sx < measure.left + measure.width);\n\t\t\t\t\t\t\t\t\t\t\tif (measure) {\n\t\t\t\t\t\t\t\t\t\t\t\tmeasure.tokens.push(\n\t\t\t\t\t\t\t\t\t\t\t\t\tnew TextToken({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tx: sx,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ty: sy,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...fields,\n\t\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n}\n\nexport { Measure, Staff, System, Page };\n","import { ChordColumn, Fraction } from './interfaces';\nimport { GraceType } from './term';\nimport { roundNumber } from './utils';\nimport { SimpleClass } from './aux_/typedJSON';\n\nenum SemanticElementType {\n\tBOS,\n\tPAD,\n\n\tNoteheadS0,\n\tNoteheadS1,\n\tNoteheadS2,\n\tNoteheadGrace,\n\tvline_Stem,\n\tFlag3,\n\tBeamLeft,\n\tBeamContinue,\n\tBeamRight,\n\tDot,\n\tRest0,\n\tRest1,\n\tRest2,\n\tRest3,\n\tRest4,\n\tRest5,\n\tRest6,\n\n\t// measure time signature denominators & numerators\n\tTimeD2,\n\tTimeD4,\n\tTimeD8,\n\tTimeN1,\n\tTimeN2,\n\tTimeN3,\n\tTimeN4,\n\tTimeN5,\n\tTimeN6,\n\tTimeN7,\n\tTimeN8,\n\tTimeN9,\n\tTimeN10,\n\tTimeN11,\n\tTimeN12,\n}\n\nconst TIME_SIG_DENOMINATORS = Object.fromEntries([2, 4, 8].map((n) => [n, SemanticElementType[`TimeD${n}`]]));\nconst TIME_SIG_NUMERATORS = Object.fromEntries(\n\tArray(12)\n\t\t.fill(null)\n\t\t.map((_, i) => i + 1)\n\t\t.map((n) => [n, SemanticElementType[`TimeN${n}`]])\n);\n\nconst et = SemanticElementType;\n\nconst ELEMENT_TOKEN_NAMES = {\n\t[et.BOS]: 'BOS',\n\t[et.NoteheadS0]: 'noteheads-s0',\n\t[et.NoteheadS1]: 'noteheads-s1',\n\t[et.NoteheadS2]: 'noteheads-s2',\n\t[et.NoteheadGrace]: 'GraceNotehead',\n\t[et.Flag3]: 'flags-u3',\n\t[et.BeamLeft]: 'BeamLeft',\n\t[et.BeamContinue]: 'BeamContinue',\n\t[et.BeamRight]: 'BeamRight',\n\t[et.Dot]: 'dot',\n\t[et.Rest0]: 'rests-0o',\n\t[et.Rest1]: 'rests-1o',\n\t[et.Rest2]: 'rests-2',\n\t[et.Rest3]: 'rests-3',\n\t[et.Rest4]: 'rests-4',\n\t[et.Rest5]: 'rests-5',\n\t[et.Rest6]: 'rests-6',\n};\n\nconst NOTEHEAD_BASE_DIVISION = {\n\t[et.NoteheadS0]: 0,\n\t[et.NoteheadS1]: 1,\n\t[et.NoteheadS2]: 2,\n\t[et.NoteheadGrace]: 2,\n};\n\nconst NOTEHEAD_ELEMENT_TYPES = [et.NoteheadS0, et.NoteheadS1, et.NoteheadS2, et.NoteheadGrace];\n\nconst REST_ELEMENT_TYPES = [et.Rest0, et.Rest1, et.Rest2, et.Rest3, et.Rest4, et.Rest5, et.Rest6];\n\nconst BEAM_ELEMENT_TYPES = [et.BeamLeft, et.BeamContinue, et.BeamRight];\n\nconst NOTE_ELEMENT_TYPES = [...NOTEHEAD_ELEMENT_TYPES, ...REST_ELEMENT_TYPES];\n\nconst SOURCE_ELEMENT_TYPES = [...NOTEHEAD_ELEMENT_TYPES, ...REST_ELEMENT_TYPES, et.vline_Stem];\n\nconst TARGET_ELEMENT_TYPES = [et.BOS, et.NoteheadS0, et.vline_Stem, ...REST_ELEMENT_TYPES];\n\nconst ROOT_NOTE_ELEMENT_TYPES = [...NOTE_ELEMENT_TYPES, et.vline_Stem];\n\nconst ELEMENT_TO_STEMBEAM = {\n\t[et.BeamLeft]: 'Open',\n\t[et.BeamRight]: 'Close',\n};\n\ninterface SemanticElement {\n\ttype: SemanticElementType;\n\tstaff: number;\n\tx: number;\n\ty1: number;\n\ty2: number;\n\n\tindex?: number;\n\ttick?: number;\n\tid?: string;\n}\n\ntype Matrix = number[][];\n\nconst metaElem = (type: SemanticElementType): SemanticElement => ({\n\ttype,\n\tstaff: -1,\n\tx: 0,\n\ty1: 0,\n\ty2: 0,\n});\n\nconst BOS_ELEMENT = metaElem(SemanticElementType.BOS);\n\nconst fractionToElems = (fraction: Fraction): SemanticElement[] => [\n\tmetaElem(TIME_SIG_NUMERATORS[fraction.numerator]),\n\tmetaElem(TIME_SIG_DENOMINATORS[fraction.denominator]),\n];\n\nconst argmax = (data: number[], mask: boolean[]): number => {\n\tconst values = data.filter((_, i) => mask[i]);\n\tconst max = Math.max(...values);\n\n\treturn data.findIndex((x) => x === max);\n};\n\nclass SemanticCluster extends SimpleClass {\n\tindex?: number;\n\n\telements: SemanticElement[];\n\tmatrixH?: Matrix; // matrix N x N\n\t_matrixV?: Matrix; // matrix N x N\n\tgroupsV?: number[][]; // ids array\n\tmasks?: [boolean[], boolean[], boolean[]]; // the masks for: [jointer source, jointer target, V]\n\n\tstatic elementToJSON(elem: SemanticElement): object {\n\t\tconst result: any = {\n\t\t\ttype: elem.type,\n\t\t\tstaff: elem.staff,\n\t\t\tx: elem.x,\n\t\t\ty1: elem.y1,\n\t\t\ty2: elem.y2,\n\t\t};\n\n\t\tif (elem.id) result.id = elem.id;\n\n\t\treturn result;\n\t}\n\n\tconstructor(data: object) {\n\t\tsuper();\n\t\tsuper.assign(data);\n\t}\n\n\tget sourceMask(): boolean[] {\n\t\treturn this.elements.map((elem) => SOURCE_ELEMENT_TYPES.includes(elem.type));\n\t}\n\n\tget targetMask(): boolean[] {\n\t\treturn this.elements.map((elem) => TARGET_ELEMENT_TYPES.includes(elem.type));\n\t}\n\n\tget vMask(): boolean[] {\n\t\treturn this.elements.map((elem) => ROOT_NOTE_ELEMENT_TYPES.includes(elem.type));\n\t}\n\n\tget compactMatrixH(): Matrix {\n\t\tif (!this.matrixH) return null;\n\n\t\tconst sourceMask = this.sourceMask;\n\t\tconst targetMask = this.targetMask;\n\n\t\treturn this.matrixH.filter((_, i) => sourceMask[i]).map((row) => row.filter((_, j) => targetMask[j]));\n\t}\n\n\tset compactMatrixH(value: Matrix) {\n\t\tthis.matrixH = expandMatrixByMasks([].concat(...value), [this.sourceMask, this.targetMask]);\n\t}\n\n\tget compactMatrixV(): number[] {\n\t\tif (!this._matrixV) return null;\n\n\t\tconst vMask = this.vMask;\n\n\t\tconst matrix = this._matrixV.filter((_, i) => vMask[i]).map((row) => row.filter((_, j) => vMask[j]));\n\n\t\treturn [].concat(...matrix.map((row, i) => row.slice(0, i)));\n\t}\n\n\tset compactMatrixV(value: number[]) {\n\t\tthis.matrixV = value && expandMatrixByMaskTriu(value, this.vMask);\n\t}\n\n\tget matrixV(): Matrix {\n\t\treturn this.groupsV && matrixFromGroups(this.elements.length, this.groupsV);\n\t}\n\n\tset matrixV(value: Matrix) {\n\t\tif (!value) {\n\t\t\tthis.groupsV = null;\n\t\t\tthis._matrixV = value;\n\t\t\treturn;\n\t\t}\n\n\t\tconst THRESHOLD = 0.5;\n\n\t\tconst groups: number[][] = [];\n\t\tconst vMask = value.map((row, i) => row.some(Number.isFinite) || value.some((row) => Number.isFinite(row[i])));\n\n\t\tvalue.forEach((row, i) => {\n\t\t\tif (vMask[i]) {\n\t\t\t\tlet found = false;\n\n\t\t\t\tfor (let j = 0; j < i; ++j) {\n\t\t\t\t\tconst cell = row[j];\n\t\t\t\t\tif (cell >= THRESHOLD) {\n\t\t\t\t\t\tconst g = groups.findIndex((group) => group.includes(j));\n\t\t\t\t\t\tgroups[g].push(i);\n\n\t\t\t\t\t\tfound = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (!found) groups.push([i]);\n\t\t\t}\n\t\t});\n\n\t\tthis.groupsV = groups;\n\t\tthis._matrixV = value;\n\t}\n\n\ttoJSON(): any {\n\t\treturn {\n\t\t\t__prototype: 'SemanticCluster',\n\t\t\tindex: this.index,\n\t\t\telements: this.elements.map(SemanticCluster.elementToJSON),\n\t\t\tcompactMatrixH: this.compactMatrixH,\n\t\t\tcompactMatrixV: this.compactMatrixV,\n\t\t\t//groupsV: this.groupsV,\n\t\t};\n\t}\n\n\tstatic mapMatrix(matrix: number[][], x2i: number[], i2x: number[]): number[][] {\n\t\tconst rows = x2i.reduce((rows, i, x) => {\n\t\t\tif (rows[i]) rows[i] = rows[i].map((v, xi) => (v + matrix[x][xi] ? 1 : 0));\n\t\t\telse rows[i] = matrix[x];\n\n\t\t\treturn rows;\n\t\t}, [] as number[][]);\n\n\t\treturn rows.map((row) => i2x.map((x) => row[x]));\n\t}\n\n\tmergeOverlapping() {\n\t\tconst overlaps = this.overlappedNoteheads();\n\t\tif (overlaps.length) {\n\t\t\tconst x2i = this.elements.map((_, index) => {\n\t\t\t\tconst pair = overlaps.find((ij) => index === ij[1]);\n\t\t\t\tconst i = pair ? pair[0] : index;\n\n\t\t\t\treturn i - overlaps.filter((ij) => ij[1] < i).length;\n\t\t\t});\n\t\t\tconst i2x = Array(this.elements.length - overlaps.length)\n\t\t\t\t.fill(null)\n\t\t\t\t.map((_, i) => x2i.findIndex((ii) => ii === i));\n\n\t\t\tthis.elements = i2x.map((x) => this.elements[x]);\n\t\t\tconsole.assert(this.elements.every(Boolean), 'null element found:', this, x2i, i2x);\n\n\t\t\tthis.matrixH = SemanticCluster.mapMatrix(this.matrixH, x2i, i2x);\n\t\t\tthis.groupsV = this.groupsV.map((group) => Array.from(new Set(group.map((x) => x2i[x]))));\n\t\t}\n\t}\n\n\toverlappedNoteheads(): [number, number][] {\n\t\tconst indices = [];\n\n\t\tconst noteheads = this.elements.filter((elem) => NOTEHEAD_ELEMENT_TYPES.includes(elem.type));\n\t\tfor (let i = 0; i < noteheads.length; ++i) {\n\t\t\tconst nh1 = noteheads[i];\n\t\t\tfor (let j = i + 1; j < noteheads.length; ++j) {\n\t\t\t\tconst nh2 = noteheads[j];\n\t\t\t\tif ((nh1.x - nh2.x) * (nh1.x - nh2.x) + (nh1.y1 - nh2.y1) * (nh1.y1 - nh2.y1) < 0.2 ** 2) indices.push([nh1.index, nh2.index]);\n\t\t\t}\n\t\t}\n\n\t\treturn indices;\n\t}\n\n\tgetEvents(): ChordColumn[] {\n\t\tconsole.assert(this.matrixH, '[SemanticCluster.getEvents]\tmatrixH is null.');\n\n\t\tconst NOTE_STEM_CONFIDENCE = 0.5;\n\n\t\tconst ids = Array(this.elements.length)\n\t\t\t.fill(null)\n\t\t\t.map((_, index) => index);\n\n\t\tconst targetMask = this.masks ? this.masks[1] : ids.map((id) => TARGET_ELEMENT_TYPES.includes(this.elements[id].type));\n\n\t\t//const stems = ids.filter(i => this.elements[i].type === et.vline_Stem);\n\t\tconst stemMasks = ids.map((id) => this.elements[id].type === et.vline_Stem && this.elements[id].y2 - this.elements[id].y1 > 2); // TODO: sift out too short stems by rectification model\n\t\tconst stemNotes = ids.filter((i) => [et.NoteheadS1, et.NoteheadS2, et.NoteheadGrace].includes(this.elements[i].type));\n\t\tconst s0s = ids.filter((i) => this.elements[i].type === et.NoteheadS0);\n\t\tconst subS0Masks = ids.map(() => false);\n\n\t\t// root elements: top NoteheadS0, Rests, stem with noteheads\n\t\tconst stemMap: { [stem: number]: number[] } = {};\n\t\tstemNotes.forEach((id) => {\n\t\t\tconst note = this.elements[id];\n\t\t\tconst stems = ids\n\t\t\t\t.filter((i) => stemMasks[i])\n\t\t\t\t.filter((stemId) => this.elements[stemId].y1 - 0.5 < note.y1 && this.elements[stemId].y2 + 0.5 > note.y1) // filter by stem Y range\n\t\t\t\t.sort((i1, i2) => this.matrixH[id][i2] - this.matrixH[id][i1]) // sort by confidence\n\t\t\t\t.slice(0, 2)\n\t\t\t\t.filter((i, ii) => ii === 0 || this.matrixH[id][i] >= NOTE_STEM_CONFIDENCE);\n\t\t\tstems.forEach((stem) => {\n\t\t\t\tstemMap[stem] = stemMap[stem] || [];\n\t\t\t\tstemMap[stem].push(id);\n\t\t\t});\n\t\t});\n\n\t\ts0s.forEach((id) => {\n\t\t\tconst s0 = this.elements[id];\n\t\t\tconst prevId = argmax(this.matrixH[id], targetMask);\n\t\t\tconst prev = this.elements[prevId];\n\t\t\tif (prev.type === et.NoteheadS0 && Math.abs(s0.x - prev.x) < 2.6) {\n\t\t\t\tsubS0Masks[id] = true;\n\t\t\t\tstemMap[prevId] = stemMap[prevId] || [prevId];\n\t\t\t\tstemMap[prevId].push(id);\n\t\t\t} else stemMap[id] = stemMap[id] || [id];\n\t\t});\n\n\t\t// setup linkings\n\t\tconst linkings: { [key: number]: number } = {};\n\n\t\tconst roots = ids.filter((id) => stemMap[id] || REST_ELEMENT_TYPES.includes(this.elements[id].type));\n\t\troots.sort((i1, i2) => this.elements[i1].x - this.elements[i2].x); // traverse roots from left to right later\n\n\t\tconst parentMasks = ids.map((id) => id === et.BOS);\n\t\troots.forEach((id) => {\n\t\t\tconst parentId = argmax(this.matrixH[id], parentMasks);\n\t\t\tlinkings[id] = parentId;\n\n\t\t\tif (parentId && !REST_ELEMENT_TYPES.includes(this.elements[parentId].type)) parentMasks[parentId] = false;\n\n\t\t\tparentMasks[id] = true;\n\t\t});\n\t\t//console.log(\"topology:\", stemMap, linkings);\n\n\t\tconst dots = this.elements.filter((elem) => elem.type === et.Dot);\n\t\tconst flags = this.elements.filter((elem) => elem.type === et.Flag3);\n\t\tconst beams = this.elements.filter((elem) => BEAM_ELEMENT_TYPES.includes(elem.type));\n\n\t\tconst groupsV = this.groupsV;\n\n\t\treturn roots\n\t\t\t.map((rootId): ChordColumn => {\n\t\t\t\tconst root = this.elements[rootId];\n\n\t\t\t\tconst tickGroup = groupsV ? groupsV.findIndex((group) => group.includes(rootId)) : null;\n\n\t\t\t\tif (REST_ELEMENT_TYPES.includes(root.type)) {\n\t\t\t\t\tconst nearbyDots = dots.filter((dot) => dot.x > root.x + 0.5 && dot.x < root.x + 0.75 + 1.2 && dot.y1 > root.y1 - 1 && dot.y1 < root.y1);\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tleft: root.x - 0.75,\n\t\t\t\t\t\tright: root.x + 0.75,\n\t\t\t\t\t\tpivotX: root.x,\n\t\t\t\t\t\trest: true,\n\t\t\t\t\t\tys: [root.y1],\n\t\t\t\t\t\tnoteIds: [root.id],\n\t\t\t\t\t\tdots: nearbyDots.length,\n\t\t\t\t\t\tdivision: root.type - et.Rest0,\n\t\t\t\t\t\tstemDirection: null,\n\t\t\t\t\t\tid: rootId,\n\t\t\t\t\t\tprevId: linkings[rootId],\n\t\t\t\t\t\tstaff: root.staff,\n\t\t\t\t\t\ttickGroup,\n\t\t\t\t\t};\n\t\t\t\t} else if (stemMap[rootId]) {\n\t\t\t\t\tconst subNotes = stemMap[rootId].map((id) => this.elements[id]);\n\t\t\t\t\tconst left = Math.min(...subNotes.map((n) => n.x - 0.7));\n\t\t\t\t\tconst right = Math.max(...subNotes.map((n) => n.x + 0.7));\n\t\t\t\t\tsubNotes.sort((n1, n2) => n2.y1 - n1.y1);\n\n\t\t\t\t\tconst ys = subNotes.map((note) => note.y1);\n\n\t\t\t\t\tconst noteIds = subNotes.map((note) => note.id);\n\n\t\t\t\t\tconst top = ys[0];\n\t\t\t\t\tconst bottom = ys[ys.length - 1];\n\n\t\t\t\t\tconst nearbyDots = dots.filter((dot) => dot.x > right && dot.x < right + 1.2 && dot.y1 > top - 1 && dot.y1 < bottom + 0.5);\n\t\t\t\t\tconst dotGroups: { [key: number]: SemanticElement[] } = nearbyDots.reduce((groups, dot) => {\n\t\t\t\t\t\tconst y = roundNumber(dot.y1, 0.5);\n\t\t\t\t\t\tgroups[y] = groups[y] || [];\n\t\t\t\t\t\tgroups[y].push(dot);\n\n\t\t\t\t\t\treturn groups;\n\t\t\t\t\t}, {});\n\t\t\t\t\tconst dotValue = Math.max(...Object.values(dotGroups).map((group) => group.length), 0);\n\n\t\t\t\t\tlet division = NOTEHEAD_BASE_DIVISION[subNotes[0].type];\n\n\t\t\t\t\tlet stemDirection = null;\n\t\t\t\t\tlet beam: string = null;\n\t\t\t\t\tlet tip = null;\n\t\t\t\t\tif (root.type === et.vline_Stem) {\n\t\t\t\t\t\tconst topTip = top - root.y1;\n\t\t\t\t\t\tconst bottomTip = root.y2 - bottom;\n\t\t\t\t\t\tstemDirection = topTip > bottomTip ? 'u' : 'd';\n\n\t\t\t\t\t\ttip = { x: root.x, y: stemDirection === 'u' ? root.y1 : root.y2 };\n\n\t\t\t\t\t\tif (division === 2) {\n\t\t\t\t\t\t\tconst flagRange = stemDirection === 'u' ? [root.y1 - 0.4, root.y2 - 1] : [root.y1 + 1, root.y2 + 0.4];\n\t\t\t\t\t\t\tconst nearbyFlags = flags.filter((flag) => Math.abs(flag.x - root.x) < 0.2 && flag.y1 > flagRange[0] && flag.y1 < flagRange[1]);\n\t\t\t\t\t\t\tdivision += nearbyFlags.length;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t//const tipY = stemDirection === \"u\" ? root.y1 : root.y2;\n\t\t\t\t\t\tconst tipRange = stemDirection === 'u' ? [root.y1 - 0.2, root.y1 + 0.9] : [root.y2 - 0.9, root.y2 + 0.2];\n\t\t\t\t\t\tconst beamElem = beams.find((beam) => Math.abs(beam.x - root.x) < 0.2 && beam.y1 > tipRange[0] && beam.y1 < tipRange[1]);\n\t\t\t\t\t\tbeam = beamElem ? ELEMENT_TO_STEMBEAM[beamElem.type] : null;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst grace = subNotes[0].type === SemanticElementType.NoteheadGrace ? GraceType.Grace : null;\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tleft,\n\t\t\t\t\t\tright,\n\t\t\t\t\t\tpivotX: root.x,\n\t\t\t\t\t\tys,\n\t\t\t\t\t\ttip,\n\t\t\t\t\t\tnoteIds,\n\t\t\t\t\t\tdivision,\n\t\t\t\t\t\tdots: dotValue,\n\t\t\t\t\t\trest: false,\n\t\t\t\t\t\tstemDirection,\n\t\t\t\t\t\tbeam,\n\t\t\t\t\t\tid: rootId,\n\t\t\t\t\t\tprevId: linkings[rootId],\n\t\t\t\t\t\tstaff: subNotes[0].staff,\n\t\t\t\t\t\tgrace,\n\t\t\t\t\t\ttickGroup,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t})\n\t\t\t.filter(Boolean);\n\t}\n}\n\ninterface SemanticClusterSetData {\n\tvocab?: string[];\n\tclusters: SemanticCluster[];\n}\n\nclass SemanticClusterSet {\n\tclusters: SemanticCluster[];\n\n\tconstructor(data?: SemanticClusterSetData) {\n\t\tif (data) {\n\t\t\tthis.clusters = data.clusters;\n\n\t\t\t// upgrade vocab\n\t\t\tif (data.vocab) {\n\t\t\t\tconst converts = data.vocab\n\t\t\t\t\t.map((name, i) => [i, SemanticElementType[name]])\n\t\t\t\t\t.filter(([x, y]) => x !== y)\n\t\t\t\t\t.reduce((table, [x, y]) => ((table[x] = y), table), {});\n\t\t\t\tthis.clusters.forEach((connection) =>\n\t\t\t\t\tconnection.elements.forEach((elem) => {\n\t\t\t\t\t\tif (Number.isFinite(converts[elem.type])) elem.type = converts[elem.type];\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\ttoJSON() {\n\t\tconst vocab = Object.entries(SemanticElementType)\n\t\t\t.filter((entry) => Number.isFinite(entry[1]))\n\t\t\t.map((entry) => entry[0]);\n\n\t\treturn {\n\t\t\t__prototype: 'SemanticClusterSet',\n\t\t\tvocab,\n\t\t\tclusters: this.clusters.map((c) => c.toJSON()),\n\t\t};\n\t}\n}\n\nconst expandMatrixByMasks = (matrix: number[], masks: [boolean[], boolean[]]): Matrix => {\n\tconst gen = function* (): Generator {\n\t\tfor (const x of matrix) yield x;\n\t};\n\tconst iter = gen();\n\n\tconst [maskSrc, maskTar] = masks;\n\n\treturn maskSrc.map((src) => maskTar.map((tar) => (src && tar ? iter.next().value : null)));\n};\n\nconst expandMatrixByMaskTriu = (matrix: number[], mask: boolean[]): Matrix => {\n\tconst gen = function* (): Generator {\n\t\tfor (const x of matrix) yield x;\n\t};\n\tconst iter = gen();\n\n\treturn mask.map((row, i) => mask.map((column, j) => (row && column && j < i ? iter.next().value : null)));\n};\n\nconst matrixFromGroups = (len: number, groups: number[][]): Matrix => {\n\tconst groupIds = Array(len)\n\t\t.fill(null)\n\t\t.map((_, i) => groups.findIndex((group) => group.includes(i)));\n\n\treturn Array(len)\n\t\t.fill(null)\n\t\t.map((_, i) =>\n\t\t\tArray(len)\n\t\t\t\t.fill(null)\n\t\t\t\t.map((_, j) => {\n\t\t\t\t\tif (j >= i) return null;\n\n\t\t\t\t\tconst id1 = groupIds[i];\n\t\t\t\t\tconst id2 = groupIds[j];\n\n\t\t\t\t\tif (id1 < 0 || id2 < 0) return null;\n\n\t\t\t\t\treturn id1 === id2 ? 1 : 0;\n\t\t\t\t})\n\t\t);\n};\n\nexport {\n\tSemanticElementType,\n\tSemanticElement,\n\tSemanticCluster,\n\tSemanticClusterSet,\n\tELEMENT_TOKEN_NAMES,\n\tNOTEHEAD_ELEMENT_TYPES,\n\tNOTE_ELEMENT_TYPES,\n\tBOS_ELEMENT,\n\tfractionToElems,\n\texpandMatrixByMasks,\n\texpandMatrixByMaskTriu,\n\tmatrixFromGroups,\n};\n","import { MusicNotation } from '@k-l-lambda/music-widgets';\n\n// implicit note (from expressive marks) types\nenum ImplicitType {\n\tNone = 0,\n\n\tMordent = 'mordent',\n\tPrall = 'prall',\n\tTurn = 'turn',\n\tTrill = 'trill',\n\tTremolo = 'tremolo',\n\tArpeggio = 'arpeggio',\n}\n\ninterface ChordPosition {\n\tindex: number;\n\tcount: number;\n}\n\nclass TokenPosition {\n\tsystem?: number;\n\tmeasure?: number;\n\tx: number;\n\tendX?: number;\n}\n\ninterface Note extends MusicNotation.Note {\n\tchordPosition?: ChordPosition;\n\tmeasure?: number;\n}\n\ninterface Notation {\n\tnotes: Note[];\n\tendTick: number;\n}\n\ninterface SheetPosition {\n\tsystem: number;\n\tx: number;\n}\n\nexport { ChordPosition, ImplicitType, TokenPosition, Note, Notation, SheetPosition };\n","/*\nclass to parse the .mid file format\n(depends on stream.js)\n*/\n\nconst Stream = require(\"./stream.js\");\n\n\n\nmodule.exports = function MidiFile (data) {\n\tfunction readChunk (stream) {\n\t\tconst id = stream.readString(4);\n\t\tconst length = stream.readInt32();\n\n\t\treturn {\n\t\t\tid,\n\t\t\tlength,\n\t\t\tdata: stream.read(length),\n\t\t};\n\t}\n\n\tlet lastEventTypeByte;\n\n\tfunction readEvent (stream) {\n\t\tconst event = {};\n\t\tevent.deltaTime = stream.readVarInt();\n\t\tlet eventTypeByte = stream.readInt8();\n\t\tif ((eventTypeByte & 0xf0) === 0xf0) {\n\t\t\t// system / meta event\n\t\t\tif (eventTypeByte === 0xff) {\n\t\t\t\t// meta event\n\t\t\t\tevent.type = \"meta\";\n\t\t\t\tconst subtypeByte = stream.readInt8();\n\t\t\t\tconst length = stream.readVarInt();\n\n\t\t\t\tswitch (subtypeByte) {\n\t\t\t\tcase 0x00:\n\t\t\t\t\tevent.subtype = \"sequenceNumber\";\n\t\t\t\t\tif (length !== 2)\n\t\t\t\t\t\tthrow new Error(\"Expected length for sequenceNumber event is 2, got \" + length);\n\t\t\t\t\tevent.number = stream.readInt16();\n\n\t\t\t\t\treturn event;\n\t\t\t\tcase 0x01:\n\t\t\t\t\tevent.subtype = \"text\";\n\t\t\t\t\tevent.text = stream.readString(length);\n\n\t\t\t\t\treturn event;\n\t\t\t\tcase 0x02:\n\t\t\t\t\tevent.subtype = \"copyrightNotice\";\n\t\t\t\t\tevent.text = stream.readString(length);\n\n\t\t\t\t\treturn event;\n\t\t\t\tcase 0x03:\n\t\t\t\t\tevent.subtype = \"trackName\";\n\t\t\t\t\tevent.text = stream.readString(length);\n\n\t\t\t\t\treturn event;\n\t\t\t\tcase 0x04:\n\t\t\t\t\tevent.subtype = \"instrumentName\";\n\t\t\t\t\tevent.text = stream.readString(length);\n\n\t\t\t\t\treturn event;\n\t\t\t\tcase 0x05:\n\t\t\t\t\tevent.subtype = \"lyrics\";\n\t\t\t\t\tevent.text = stream.readString(length);\n\n\t\t\t\t\treturn event;\n\t\t\t\tcase 0x06:\n\t\t\t\t\tevent.subtype = \"marker\";\n\t\t\t\t\tevent.text = stream.readString(length);\n\n\t\t\t\t\treturn event;\n\t\t\t\tcase 0x07:\n\t\t\t\t\tevent.subtype = \"cuePoint\";\n\t\t\t\t\tevent.text = stream.readString(length);\n\n\t\t\t\t\treturn event;\n\t\t\t\tcase 0x20:\n\t\t\t\t\tevent.subtype = \"midiChannelPrefix\";\n\t\t\t\t\tif (length !== 1)\n\t\t\t\t\t\tthrow new Error(\"Expected length for midiChannelPrefix event is 1, got \" + length);\n\t\t\t\t\tevent.channel = stream.readInt8();\n\n\t\t\t\t\treturn event;\n\t\t\t\tcase 0x2f:\n\t\t\t\t\tevent.subtype = \"endOfTrack\";\n\t\t\t\t\tif (length !== 0)\n\t\t\t\t\t\tthrow new Error(\"Expected length for endOfTrack event is 0, got \" + length);\n\n\t\t\t\t\treturn event;\n\t\t\t\tcase 0x51:\n\t\t\t\t\tevent.subtype = \"setTempo\";\n\t\t\t\t\tif (length !== 3)\n\t\t\t\t\t\tthrow new Error(\"Expected length for setTempo event is 3, got \" + length);\n\t\t\t\t\tevent.microsecondsPerBeat = (\n\t\t\t\t\t\t(stream.readInt8() << 16) +\n\t\t\t\t\t\t\t(stream.readInt8() << 8) +\n\t\t\t\t\t\t\tstream.readInt8()\n\t\t\t\t\t);\n\n\t\t\t\t\treturn event;\n\t\t\t\tcase 0x54:\n\t\t\t\t\tevent.subtype = \"smpteOffset\";\n\t\t\t\t\tif (length !== 5)\n\t\t\t\t\t\tthrow new Error(\"Expected length for smpteOffset event is 5, got \" + length);\n\t\t\t\t\tconst hourByte = stream.readInt8();\n\t\t\t\t\tevent.frameRate = {\n\t\t\t\t\t\t0x00: 24, 0x20: 25, 0x40: 29, 0x60: 30,\n\t\t\t\t\t}[hourByte & 0x60];\n\t\t\t\t\tevent.hour = hourByte & 0x1f;\n\t\t\t\t\tevent.min = stream.readInt8();\n\t\t\t\t\tevent.sec = stream.readInt8();\n\t\t\t\t\tevent.frame = stream.readInt8();\n\t\t\t\t\tevent.subframe = stream.readInt8();\n\n\t\t\t\t\treturn event;\n\t\t\t\tcase 0x58:\n\t\t\t\t\tevent.subtype = \"timeSignature\";\n\t\t\t\t\tif (length !== 4)\n\t\t\t\t\t\tthrow new Error(\"Expected length for timeSignature event is 4, got \" + length);\n\t\t\t\t\tevent.numerator = stream.readInt8();\n\t\t\t\t\tevent.denominator = Math.pow(2, stream.readInt8());\n\t\t\t\t\tevent.metronome = stream.readInt8();\n\t\t\t\t\tevent.thirtyseconds = stream.readInt8();\n\n\t\t\t\t\treturn event;\n\t\t\t\tcase 0x59:\n\t\t\t\t\tevent.subtype = \"keySignature\";\n\t\t\t\t\tif (length !== 2)\n\t\t\t\t\t\tthrow new Error(\"Expected length for keySignature event is 2, got \" + length);\n\t\t\t\t\tevent.key = stream.readInt8(true);\n\t\t\t\t\tevent.scale = stream.readInt8();\n\n\t\t\t\t\treturn event;\n\t\t\t\tcase 0x7f:\n\t\t\t\t\tevent.subtype = \"sequencerSpecific\";\n\t\t\t\t\tevent.data = stream.readString(length);\n\n\t\t\t\t\treturn event;\n\t\t\t\tdefault:\n\t\t\t\t\t// console.log(\"Unrecognised meta event subtype: \" + subtypeByte);\n\t\t\t\t\tevent.subtype = \"unknown\";\n\t\t\t\t\tevent.data = stream.readString(length);\n\n\t\t\t\t\treturn event;\n\t\t\t\t}\n\n\t\t\t\t//event.data = stream.readString(length);\n\t\t\t\t//return event;\n\t\t\t}\n\t\t\telse if (eventTypeByte === 0xf0) {\n\t\t\t\tevent.type = \"sysEx\";\n\t\t\t\tconst length = stream.readVarInt();\n\t\t\t\tevent.data = stream.readString(length);\n\n\t\t\t\treturn event;\n\t\t\t}\n\t\t\telse if (eventTypeByte === 0xf7) {\n\t\t\t\tevent.type = \"dividedSysEx\";\n\t\t\t\tconst length = stream.readVarInt();\n\t\t\t\tevent.data = stream.readString(length);\n\n\t\t\t\treturn event;\n\t\t\t}\n\t\t\telse\n\t\t\t\tthrow new Error(\"Unrecognised MIDI event type byte: \" + eventTypeByte);\n\t\t}\n\t\telse {\n\t\t\t/* channel event */\n\t\t\tlet param1;\n\t\t\tif ((eventTypeByte & 0x80) === 0) {\n\t\t\t\t/* running status - reuse lastEventTypeByte as the event type.\n\t\t\t\t\teventTypeByte is actually the first parameter\n\t\t\t\t*/\n\t\t\t\tparam1 = eventTypeByte;\n\t\t\t\teventTypeByte = lastEventTypeByte;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tparam1 = stream.readInt8();\n\t\t\t\tlastEventTypeByte = eventTypeByte;\n\t\t\t}\n\n\t\t\tconst eventType = eventTypeByte >> 4;\n\t\t\tevent.channel = eventTypeByte & 0x0f;\n\t\t\tevent.type = \"channel\";\n\n\t\t\tswitch (eventType) {\n\t\t\tcase 0x08:\n\t\t\t\tevent.subtype = \"noteOff\";\n\t\t\t\tevent.noteNumber = param1;\n\t\t\t\tevent.velocity = stream.readInt8();\n\n\t\t\t\treturn event;\n\t\t\tcase 0x09:\n\t\t\t\tevent.noteNumber = param1;\n\t\t\t\tevent.velocity = stream.readInt8();\n\t\t\t\tif (event.velocity === 0)\n\t\t\t\t\tevent.subtype = \"noteOff\";\n\t\t\t\telse\n\t\t\t\t\tevent.subtype = \"noteOn\";\n\n\t\t\t\treturn event;\n\t\t\tcase 0x0a:\n\t\t\t\tevent.subtype = \"noteAftertouch\";\n\t\t\t\tevent.noteNumber = param1;\n\t\t\t\tevent.amount = stream.readInt8();\n\n\t\t\t\treturn event;\n\t\t\tcase 0x0b:\n\t\t\t\tevent.subtype = \"controller\";\n\t\t\t\tevent.controllerType = param1;\n\t\t\t\tevent.value = stream.readInt8();\n\n\t\t\t\treturn event;\n\t\t\tcase 0x0c:\n\t\t\t\tevent.subtype = \"programChange\";\n\t\t\t\tevent.programNumber = param1;\n\n\t\t\t\treturn event;\n\t\t\tcase 0x0d:\n\t\t\t\tevent.subtype = \"channelAftertouch\";\n\t\t\t\tevent.amount = param1;\n\n\t\t\t\treturn event;\n\t\t\tcase 0x0e:\n\t\t\t\tevent.subtype = \"pitchBend\";\n\t\t\t\tevent.value = param1 + (stream.readInt8() << 7);\n\n\t\t\t\treturn event;\n\t\t\tdefault:\n\t\t\t\tthrow new Error(\"Unrecognised MIDI event type: \" + eventType);\n\n\t\t\t\t/*\n\t\t\t\tconsole.log(\"Unrecognised MIDI event type: \" + eventType);\n\t\t\t\tstream.readInt8();\n\t\t\t\tevent.subtype = 'unknown';\n\t\t\t\treturn event;\n\t\t\t\t*/\n\t\t\t}\n\t\t}\n\t}\n\n\n\tlet source = data;\n\tif (typeof data === \"string\")\n\t\tsource = data.split(\"\").map(c => c.charCodeAt(0));\n\n\tconst stream = new Stream(source);\n\tconst headerChunk = readChunk(stream);\n\tif (headerChunk.id !== \"MThd\" || headerChunk.length !== 6)\n\t\tthrow new Error(\"Bad .mid file - header not found\");\n\n\tconst headerStream = new Stream(headerChunk.data);\n\tconst formatType = headerStream.readInt16();\n\tconst trackCount = headerStream.readInt16();\n\tconst timeDivision = headerStream.readInt16();\n\n\tlet ticksPerBeat;\n\tif (timeDivision & 0x8000)\n\t\tthrow new Error(\"Expressing time division in SMTPE frames is not supported yet\");\n\telse\n\t\tticksPerBeat = timeDivision;\n\n\n\tconst header = {\n\t\tformatType,\n\t\ttrackCount,\n\t\tticksPerBeat,\n\t};\n\tconst tracks = [];\n\tfor (let i = 0; i < header.trackCount; i++) {\n\t\ttracks[i] = [];\n\t\tconst trackChunk = readChunk(stream);\n\t\tif (trackChunk.id !== \"MTrk\")\n\t\t\tthrow new Error(\"Unexpected chunk - expected MTrk, got \" + trackChunk.id);\n\n\t\tconst trackStream = new Stream(trackChunk.data);\n\t\twhile (!trackStream.eof()) {\n\t\t\tconst event = readEvent(trackStream);\n\t\t\ttracks[i].push(event);\n\t\t}\n\t}\n\n\treturn {\n\t\theader,\n\t\ttracks,\n\t};\n};\n","\n/* Wrapper for accessing buffer through sequential reads */\n\n\n\nmodule.exports = class Stream {\n\tconstructor (buffer) {\n\t\tthis.array = new Uint8Array(buffer);\n\t\tthis.position = 0;\n\t}\n\n\n\teof () {\n\t\treturn this.position >= this.array.length;\n\t}\n\n\n\tread (length) {\n\t\tconst result = this.array.slice(this.position, this.position + length);\n\t\tthis.position += length;\n\n\t\treturn result;\n\t}\n\n\n\treadString (length) {\n\t\tconst data = Array.from(this.read(length));\n\n\t\treturn data.map(c => String.fromCharCode(c)).join(\"\");\n\t}\n\n\n\t// read a big-endian 32-bit integer\n\treadInt32 () {\n\t\tconst result = (\n\t\t\t(this.array[this.position] << 24) +\n\t\t\t(this.array[this.position + 1] << 16) +\n\t\t\t(this.array[this.position + 2] << 8) +\n\t\t\tthis.array[this.position + 3]);\n\t\tthis.position += 4;\n\n\t\treturn result;\n\t}\n\n\n\t// read a big-endian 16-bit integer\n\treadInt16 () {\n\t\tconst result = (\n\t\t\t(this.array[this.position] << 8) +\n\t\t\tthis.array[this.position + 1]);\n\t\tthis.position += 2;\n\n\t\treturn result;\n\t}\n\n\n\t// read an 8-bit integer\n\treadInt8 (signed) {\n\t\tlet result = this.array[this.position];\n\t\tif (signed && result > 127)\n\t\t\tresult -= 256;\n\t\tthis.position += 1;\n\n\t\treturn result;\n\t}\n\n\n\t/* read a MIDI-style variable-length integer\n\t\t(big-endian value in groups of 7 bits,\n\t\twith top bit set to signify that another byte follows)\n\t*/\n\treadVarInt () {\n\t\tlet result = 0;\n\t\twhile (true) {\n\t\t\tconst b = this.readInt8();\n\t\t\tif (b & 0x80) {\n\t\t\t\tresult += (b & 0x7f);\n\t\t\t\tresult <<= 7;\n\t\t\t}\n\t\t\telse {\n\t\t\t\t// b is the last byte\n\t\t\t\treturn result + b;\n\t\t\t}\n\t\t}\n\t}\n};\n","/*\r\nclass to encode the .mid file format\r\n(depends on streamEx.js)\r\n*/\r\n\r\nconst OStream = require(\"./streamEx.js\");\r\n\r\n\r\n\r\nmodule.exports = function OMidiFile ({ header, tracks }) {\r\n\tfunction writeChunk (stream, id, data) {\r\n\t\tconsole.assert(id.length === 4, \"chunk id must be 4 byte\");\r\n\r\n\t\tstream.write(id);\r\n\t\tstream.writeInt32(data.length);\r\n\t\tstream.write(data);\r\n\t}\r\n\r\n\tfunction writeEvent (stream, event) {\r\n\t\tif (event.subtype === \"unknown\")\r\n\t\t\treturn;\r\n\r\n\t\tstream.writeVarInt(event.deltaTime);\r\n\r\n\t\tswitch (event.type) {\r\n\t\tcase \"meta\":\r\n\t\t\tstream.writeInt8(0xff);\r\n\r\n\t\t\tswitch (event.subtype) {\r\n\t\t\tcase \"sequenceNumber\":\r\n\t\t\t\tstream.writeInt8(0x00);\r\n\t\t\t\tstream.writeVarInt(2);\r\n\r\n\t\t\t\tstream.writeInt16(event.number);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"text\":\r\n\t\t\t\tstream.writeInt8(0x01);\r\n\t\t\t\tstream.writeVarInt(event.text.length);\r\n\r\n\t\t\t\tstream.write(event.text);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"copyrightNotice\":\r\n\t\t\t\tstream.writeInt8(0x02);\r\n\t\t\t\tstream.writeVarInt(event.text.length);\r\n\r\n\t\t\t\tstream.write(event.text);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"trackName\":\r\n\t\t\t\tstream.writeInt8(0x03);\r\n\t\t\t\tstream.writeVarInt(event.text.length);\r\n\r\n\t\t\t\tstream.write(event.text);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"instrumentName\":\r\n\t\t\t\tstream.writeInt8(0x04);\r\n\t\t\t\tstream.writeVarInt(event.text.length);\r\n\r\n\t\t\t\tstream.write(event.text);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"lyrics\":\r\n\t\t\t\tstream.writeInt8(0x05);\r\n\t\t\t\tstream.writeVarInt(event.text.length);\r\n\r\n\t\t\t\tstream.write(event.text);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"marker\":\r\n\t\t\t\tstream.writeInt8(0x06);\r\n\t\t\t\tstream.writeVarInt(event.text.length);\r\n\r\n\t\t\t\tstream.write(event.text);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"cuePoint\":\r\n\t\t\t\tstream.writeInt8(0x07);\r\n\t\t\t\tstream.writeVarInt(event.text.length);\r\n\r\n\t\t\t\tstream.write(event.text);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"midiChannelPrefix\":\r\n\t\t\t\tstream.writeInt8(0x20);\r\n\t\t\t\tstream.writeVarInt(1);\r\n\r\n\t\t\t\tstream.writeInt8(event.channel);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"endOfTrack\":\r\n\t\t\t\tstream.writeInt8(0x2f);\r\n\t\t\t\tstream.writeVarInt(0);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"setTempo\":\r\n\t\t\t\tstream.writeInt8(0x51);\r\n\t\t\t\tstream.writeVarInt(3);\r\n\r\n\t\t\t\tstream.writeInt8((event.microsecondsPerBeat >> 16) & 0xff);\r\n\t\t\t\tstream.writeInt8((event.microsecondsPerBeat >> 8) & 0xff);\r\n\t\t\t\tstream.writeInt8(event.microsecondsPerBeat & 0xff);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"smpteOffset\":\r\n\t\t\t\tstream.writeInt8(0x54);\r\n\t\t\t\tstream.writeVarInt(5);\r\n\r\n\t\t\t\tvar frameByte = { 24: 0x00, 25: 0x20, 29: 0x40, 30: 0x60 }[event.frameRate];\r\n\t\t\t\tstream.writeInt8(event.hour | frameByte);\r\n\t\t\t\tstream.writeInt8(event.min);\r\n\t\t\t\tstream.writeInt8(event.sec);\r\n\t\t\t\tstream.writeInt8(event.frame);\r\n\t\t\t\tstream.writeInt8(event.subframe);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"timeSignature\":\r\n\t\t\t\tstream.writeInt8(0x58);\r\n\t\t\t\tstream.writeVarInt(4);\r\n\r\n\t\t\t\tstream.writeInt8(event.numerator);\r\n\t\t\t\tstream.writeInt8(Math.log2(event.denominator));\r\n\t\t\t\tstream.writeInt8(event.metronome);\r\n\t\t\t\tstream.writeInt8(event.thirtyseconds);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"keySignature\":\r\n\t\t\t\tstream.writeInt8(0x59);\r\n\t\t\t\tstream.writeVarInt(2);\r\n\r\n\t\t\t\tstream.writeInt8(event.key);\r\n\t\t\t\tstream.writeInt8(event.scale);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"sequencerSpecific\":\r\n\t\t\t\tstream.writeInt8(0x7f);\r\n\t\t\t\tstream.writeVarInt(event.data.length);\r\n\r\n\t\t\t\tstream.write(event.data);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tthrow new Error(\"unhandled event subtype:\" + event.subtype);\r\n\t\t\t}\r\n\r\n\t\t\tbreak;\r\n\t\tcase \"sysEx\":\r\n\t\t\tstream.writeInt8(0xf0);\r\n\t\t\tstream.writeVarInt(event.data.length);\r\n\t\t\tstream.write(event.data);\r\n\r\n\t\t\tbreak;\r\n\t\tcase \"dividedSysEx\":\r\n\t\t\tstream.writeInt8(0xf7);\r\n\t\t\tstream.writeVarInt(event.data.length);\r\n\t\t\tstream.write(event.data);\r\n\r\n\t\t\tbreak;\r\n\t\tcase \"channel\":\r\n\t\t\tswitch (event.subtype) {\r\n\t\t\tcase \"noteOn\":\r\n\t\t\t\tstream.writeInt8(0x90 | event.channel);\r\n\t\t\t\tstream.writeInt8(event.noteNumber);\r\n\t\t\t\tstream.writeInt8(event.velocity);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"noteOff\":\r\n\t\t\t\tstream.writeInt8(0x80 | event.channel);\r\n\t\t\t\tstream.writeInt8(event.noteNumber);\r\n\t\t\t\tstream.writeInt8(event.velocity ? event.velocity : 0);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"noteAftertouch\":\r\n\t\t\t\tstream.writeInt8(0xa0 | event.channel);\r\n\t\t\t\tstream.writeInt8(event.noteNumber);\r\n\t\t\t\tstream.writeInt8(event.amount);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"controller\":\r\n\t\t\t\tstream.writeInt8(0xb0 | event.channel);\r\n\t\t\t\tstream.writeInt8(event.controllerType);\r\n\t\t\t\tstream.writeInt8(event.value);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"programChange\":\r\n\t\t\t\tstream.writeInt8(0xc0 | event.channel);\r\n\t\t\t\tstream.writeInt8(event.programNumber);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"channelAftertouch\":\r\n\t\t\t\tstream.writeInt8(0xd0 | event.channel);\r\n\t\t\t\tstream.writeInt8(event.amount);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"pitchBend\":\r\n\t\t\t\tstream.writeInt8(0xe0 | event.channel);\r\n\t\t\t\tstream.writeInt8(event.value & 0xff);\r\n\t\t\t\tstream.writeInt8((event.value >> 7) & 0xff);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tthrow new Error(\"unhandled event subtype:\" + event.subtype);\r\n\t\t\t}\r\n\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t\t\tthrow new Error(\"unhandled event type:\" + event.type);\r\n\t\t}\r\n\t}\r\n\r\n\tconst stream = new OStream();\r\n\r\n\tconst headerChunk = new OStream();\r\n\theaderChunk.writeInt16(header.formatType);\r\n\theaderChunk.writeInt16(tracks.length);\r\n\theaderChunk.writeInt16(header.ticksPerBeat);\r\n\r\n\twriteChunk(stream, \"MThd\", headerChunk.getBuffer());\r\n\r\n\tfor (let i = 0; i < tracks.length; ++i) {\r\n\t\tconst trackChunk = new OStream();\r\n\r\n\t\tfor (let ei = 0; ei < tracks[i].length; ++ei)\r\n\t\t\twriteEvent(trackChunk, tracks[i][ei]);\r\n\r\n\t\twriteChunk(stream, \"MTrk\", trackChunk.getBuffer());\r\n\t}\r\n\r\n\treturn stream.getArrayBuffer();\r\n};\r\n","\r\n/* Wrapper for accessing strings through sequential writes */\r\n\r\n\r\n\r\nmodule.exports = class OStream {\r\n\tconstructor () {\r\n\t\tthis.buffer = \"\";\r\n\t}\r\n\r\n\twrite (str) {\r\n\t\tthis.buffer += str;\r\n\t}\r\n\r\n\t/* write a big-endian 32-bit integer */\r\n\twriteInt32 (i) {\r\n\t\tthis.buffer += String.fromCharCode((i >> 24) & 0xff) + String.fromCharCode((i >> 16) & 0xff) +\r\n\t\t\tString.fromCharCode((i >> 8) & 0xff) + String.fromCharCode(i & 0xff);\r\n\t}\r\n\r\n\t/* write a big-endian 16-bit integer */\r\n\twriteInt16 (i) {\r\n\t\tthis.buffer += String.fromCharCode((i >> 8) & 0xff) + String.fromCharCode(i & 0xff);\r\n\t}\r\n\r\n\t/* write an 8-bit integer */\r\n\twriteInt8 (i) {\r\n\t\tthis.buffer += String.fromCharCode(i & 0xff);\r\n\t}\r\n\r\n\t/* write a MIDI-style variable-length integer\r\n\t\t(big-endian value in groups of 7 bits,\r\n\t\twith top bit set to signify that another byte follows)\r\n\t*/\r\n\twriteVarInt (i) {\r\n\t\tif (i < 0)\r\n\t\t\tthrow new Error(\"OStream.writeVarInt minus number: \" + i);\r\n\r\n\t\tconst b = i & 0x7f;\r\n\t\ti >>= 7;\r\n\t\tlet str = String.fromCharCode(b);\r\n\r\n\t\twhile (i) {\r\n\t\t\tconst b = i & 0x7f;\r\n\t\t\ti >>= 7;\r\n\t\t\tstr = String.fromCharCode(b | 0x80) + str;\r\n\t\t}\r\n\r\n\t\tthis.buffer += str;\r\n\t}\r\n\r\n\tgetBuffer () {\r\n\t\treturn this.buffer;\r\n\t}\r\n\r\n\tgetArrayBuffer () {\r\n\t\treturn Uint8Array.from(this.buffer.split(\"\").map(c => c.charCodeAt(0))).buffer;\r\n\t}\r\n};\r\n","\nmodule.exports = {\n\tparseMidiData: require(\"./midifile.js\"),\n\tencodeMidiFile: require(\"./midifileEx.js\"),\n};\n","\nconst midiToSequence = (midiFile, {timeWarp = 1} = {}) => {\n\tconst trackStates = [];\n\tlet beatsPerMinute = 120;\n\tconst ticksPerBeat = midiFile.header.ticksPerBeat;\n\n\tfor (let i = 0; i < midiFile.tracks.length; i++) {\n\t\ttrackStates[i] = {\n\t\t\tnextEventIndex: 0,\n\t\t\tticksToNextEvent: (\n\t\t\t\tmidiFile.tracks[i].length ?\n\t\t\t\t\tmidiFile.tracks[i][0].deltaTime :\n\t\t\t\t\tnull\n\t\t\t),\n\t\t};\n\t}\n\n\tfunction getNextEvent () {\n\t\tlet ticksToNextEvent = null;\n\t\tlet nextEventTrack = null;\n\t\tlet nextEventIndex = null;\n\n\t\tfor (let i = 0; i < trackStates.length; i++) {\n\t\t\tif (\n\t\t\t\ttrackStates[i].ticksToNextEvent != null\n\t\t\t\t&& (ticksToNextEvent == null || trackStates[i].ticksToNextEvent < ticksToNextEvent)\n\t\t\t) {\n\t\t\t\tticksToNextEvent = trackStates[i].ticksToNextEvent;\n\t\t\t\tnextEventTrack = i;\n\t\t\t\tnextEventIndex = trackStates[i].nextEventIndex;\n\t\t\t}\n\t\t}\n\t\tif (nextEventTrack != null) {\n\t\t\t/* consume event from that track */\n\t\t\tconst nextEvent = midiFile.tracks[nextEventTrack][nextEventIndex];\n\t\t\tif (midiFile.tracks[nextEventTrack][nextEventIndex + 1]) \n\t\t\t\ttrackStates[nextEventTrack].ticksToNextEvent += midiFile.tracks[nextEventTrack][nextEventIndex + 1].deltaTime;\n\t\t\telse \n\t\t\t\ttrackStates[nextEventTrack].ticksToNextEvent = null;\n\n\t\t\ttrackStates[nextEventTrack].nextEventIndex += 1;\n\t\t\t/* advance timings on all tracks by ticksToNextEvent */\n\t\t\tfor (let i = 0; i < trackStates.length; i++) {\n\t\t\t\tif (trackStates[i].ticksToNextEvent != null) \n\t\t\t\t\ttrackStates[i].ticksToNextEvent -= ticksToNextEvent;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tticksToEvent: ticksToNextEvent,\n\t\t\t\tevent: nextEvent,\n\t\t\t\ttrack: nextEventTrack,\n\t\t\t};\n\t\t}\n\t\telse \n\t\t\treturn null;\n\t\t\n\t};\n\t//\n\tlet midiEvent;\n\tconst events = [];\n\t//\n\tfunction processEvents () {\n\t\tfunction processNext () {\n\t\t\tlet secondsToGenerate = 0;\n\t\t\tif (midiEvent.ticksToEvent > 0) {\n\t\t\t\tconst beatsToGenerate = midiEvent.ticksToEvent / ticksPerBeat;\n\t\t\t\tsecondsToGenerate = beatsToGenerate / (beatsPerMinute / 60);\n\t\t\t}\n\n\t\t\t// beatsPerMinute must be changed after secondsToGenerate calculation\n\t\t\tif ( midiEvent.event.type == \"meta\" && midiEvent.event.subtype == \"setTempo\" ) {\n\t\t\t\t// tempo change events can occur anywhere in the middle and affect events that follow\n\t\t\t\tbeatsPerMinute = 60e+6 / midiEvent.event.microsecondsPerBeat;\n\t\t\t}\n\n\t\t\tconst time = (secondsToGenerate * 1000 * timeWarp) || 0;\n\t\t\tevents.push([ midiEvent, time ]);\n\t\t\tmidiEvent = getNextEvent();\n\t\t};\n\t\t//\n\t\tif (midiEvent = getNextEvent()) {\n\t\t\twhile (midiEvent)\n\t\t\t\tprocessNext();\n\t\t}\n\t};\n\n\tprocessEvents();\n\n\treturn events;\n};\n\n\nconst trimSequence = seq => {\n\tconst status = new Map();\n\n\treturn seq.filter(([{event, ticksToEvent}]) => {\n\t\tif (ticksToEvent > 0)\n\t\t\tstatus.clear();\n\n\t\tif (event.type !== \"channel\")\n\t\t\treturn true;\n\n\t\tconst key = `${event.subtype}|${event.channel}|${event.noteNumber}`;\n\n\t\tif (status.get(key)) {\n\t\t\t//console.debug(\"event trimmed:\", event, ticksToEvent);\n\t\t\treturn false;\n\t\t}\n\n\t\tstatus.set(key, event);\n\n\t\treturn true;\n\t});\n};\n\n\nconst fixOverlapNotes = seq => {\n\tconst noteMap = new Map();\n\tconst overlapMap = new Map();\n\tconst swaps = [];\n\n\tlet leapIndex = -1;\n\n\tseq.forEach(([{event, ticksToEvent}], index) => {\n\t\tif (ticksToEvent > 0)\n\t\t\tleapIndex = index;\n\n\t\tif (event.type !== \"channel\")\n\t\t\treturn;\n\n\t\tconst key = `${event.channel}|${event.noteNumber}`;\n\n\t\tswitch (event.subtype) {\n\t\tcase \"noteOn\":\n\t\t\tif (noteMap.get(key))\n\t\t\t\toverlapMap.set(key, leapIndex);\n\t\t\telse\n\t\t\t\tnoteMap.set(key, leapIndex);\n\n\t\t\tbreak;\n\t\tcase \"noteOff\":\n\t\t\tif (overlapMap.get(key)) {\n\t\t\t\tswaps.push([overlapMap.get(key), index]);\n\t\t\t\toverlapMap.delete(key);\n\t\t\t}\n\t\t\telse\n\t\t\t\tnoteMap.delete(key);\n\n\t\t\tbreak;\n\t\t}\n\t});\n\n\t// shift overlapped swaps\n\tswaps.forEach((swap, i) => {\n\t\tfor (let ii = i - 1; ii >= 0; --ii) {\n\t\t\tconst pre = swaps[ii];\n\t\t\tif (pre[1] < swap[0])\n\t\t\t\tbreak;\n\n\t\t\tif (swap[0] > pre[0])\n\t\t\t\t++swap[0];\n\t\t}\n\t});\n\n\t//console.debug(\"swaps:\", swaps);\n\tswaps.forEach(([front, back]) => {\n\t\tif (back >= seq.length - 1 || front < 0)\n\t\t\treturn;\n\n\t\tconst offEvent = seq[back];\n\t\tconst nextEvent = seq[back + 1];\n\t\tconst leapEvent = seq[front];\n\n\t\tif (!leapEvent[0].ticksToEvent) {\n\t\t\tconsole.warn(\"invalid front index:\", front, back, leapEvent);\n\t\t\treturn;\n\t\t}\n\n\t\t// ms per tick\n\t\tconst tempo = leapEvent[1] / leapEvent[0].ticksToEvent;\n\n\t\tnextEvent[1] += offEvent[1];\n\t\tnextEvent[0].ticksToEvent += offEvent[0].ticksToEvent;\n\n\t\toffEvent[0].ticksToEvent = leapEvent[0].ticksToEvent - 1;\n\t\tleapEvent[0].ticksToEvent = 1;\n\n\t\toffEvent[1] = offEvent[0].ticksToEvent * tempo;\n\t\tleapEvent[1] = leapEvent[0].ticksToEvent * tempo;\n\t\t//console.debug(\"swap:\", [front, back], offEvent, nextEvent, leapEvent);\n\n\t\tseq.splice(back, 1);\n\t\tseq.splice(front, 0, offEvent);\n\t});\n\n\treturn seq;\n};\n\n\n\nmodule.exports = {\n\tmidiToSequence,\n\ttrimSequence,\n\tfixOverlapNotes,\n};\n","\nconst MidiSequence = require(\"./MidiSequence.js\");\n\n\n\nconst PedalControllerTypes = {\n\t64: \"Sustain\",\n\t65: \"Portamento\",\n\t66: \"Sostenuto\",\n\t67: \"Soft\",\n};\n\n\n\nclass Notation {\n\tstatic parseMidi (data, {fixOverlap = true} = {}) {\n\t\tconst channelStatus = [];\n\t\tconst pedalStatus = {};\n\t\tconst pedals = {};\n\t\tconst channels = [];\n\t\tconst bars = [];\n\t\tlet time = 0;\n\t\tlet millisecondsPerBeat = 600000 / 120;\n\t\tlet beats = 0;\n\t\tlet numerator = 4;\n\t\tlet barIndex = 0;\n\t\tconst keyRange = {};\n\t\tlet rawTicks = 0;\n\t\tlet ticks = 0;\n\t\tlet correspondences;\n\t\tconst tempos = [];\n\n\t\tconst ticksPerBeat = data.header.ticksPerBeat;\n\n\t\tlet rawEvents = MidiSequence.midiToSequence(data);\n\n\t\tif (fixOverlap)\n\t\t\trawEvents = MidiSequence.trimSequence(MidiSequence.fixOverlapNotes(rawEvents));\n\n\t\tconst events = rawEvents.map(d => ({\n\t\t\tdata: d[0].event,\n\t\t\ttrack: d[0].track,\n\t\t\tdeltaTime: d[1],\n\t\t\tdeltaTicks: d[0].ticksToEvent,\n\t\t}));\n\n\t\tlet index = 0;\n\n\t\tconst ticksNormal = 1;\n\n\t\tfor (const ev of events) {\n\t\t\trawTicks += ev.deltaTicks;\n\t\t\tticks = Math.round(rawTicks * ticksNormal);\n\n\t\t\tif (ev.deltaTicks > 0) {\n\t\t\t\t// append bars\n\t\t\t\tconst deltaBeats = ev.deltaTicks / ticksPerBeat;\n\t\t\t\tfor (let b = Math.ceil(beats); b < beats + deltaBeats; ++b) {\n\t\t\t\t\tconst t = time + (b - beats) * millisecondsPerBeat;\n\t\t\t\t\tbars.push({time: t, index: barIndex % numerator});\n\n\t\t\t\t\t++barIndex;\n\t\t\t\t}\n\n\t\t\t\tbeats += deltaBeats;\n\t\t\t}\n\n\t\t\ttime += ev.deltaTime;\n\n\t\t\t//const ticksTime = beats * millisecondsPerBeat;\n\t\t\t//console.log(\"time:\", time, ticksTime, ticksTime - time);\n\n\t\t\tev.time = time;\n\t\t\tev.ticks = ticks;\n\n\t\t\tconst event = ev.data;\n\t\t\tswitch (event.type) {\n\t\t\tcase \"channel\":\n\t\t\t\t//channelStatus[event.channel] = channelStatus[event.channel] || [];\n\n\t\t\t\tswitch (event.subtype) {\n\t\t\t\tcase \"noteOn\":\n\t\t\t\t\t{\n\t\t\t\t\t\tconst pitch = event.noteNumber;\n\t\t\t\t\t\t//channelStatus[event.channel][pitch] = {\n\t\t\t\t\t\tchannelStatus.push({\n\t\t\t\t\t\t\tchannel: event.channel,\n\t\t\t\t\t\t\tpitch,\n\t\t\t\t\t\t\tstartTick: ticks,\n\t\t\t\t\t\t\tstart: time,\n\t\t\t\t\t\t\tvelocity: event.velocity,\n\t\t\t\t\t\t\tbeats: beats,\n\t\t\t\t\t\t\ttrack: ev.track,\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tkeyRange.low = Math.min(keyRange.low || pitch, pitch);\n\n\t\t\t\t\t\tev.index = index;\n\t\t\t\t\t\t++index;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"noteOff\":\n\t\t\t\t\t{\n\t\t\t\t\t\tconst pitch = event.noteNumber;\n\n\t\t\t\t\t\tchannels[event.channel] = channels[event.channel] || [];\n\n\t\t\t\t\t\tconst statusIndex = channelStatus.findIndex(status => status.channel == event.channel && status.pitch == pitch);\n\t\t\t\t\t\tif (statusIndex >= 0) {\n\t\t\t\t\t\t\tconst status = channelStatus.splice(statusIndex, 1)[0];\n\n\t\t\t\t\t\t\tchannels[event.channel].push({\n\t\t\t\t\t\t\t\tchannel: event.channel,\n\t\t\t\t\t\t\t\tstartTick: status.startTick,\n\t\t\t\t\t\t\t\tendTick: ticks,\n\t\t\t\t\t\t\t\tpitch,\n\t\t\t\t\t\t\t\tstart: status.start,\n\t\t\t\t\t\t\t\tduration: time - status.start,\n\t\t\t\t\t\t\t\tvelocity: status.velocity,\n\t\t\t\t\t\t\t\tbeats: status.beats,\n\t\t\t\t\t\t\t\ttrack: status.track,\n\t\t\t\t\t\t\t\tfinger: status.finger,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tconsole.debug(\"unexpected noteOff: \", time, event);\n\n\t\t\t\t\t\tkeyRange.high = Math.max(keyRange.high || pitch, pitch);\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"controller\":\n\t\t\t\t\tswitch (event.controllerType) {\n\t\t\t\t\t// pedal controllers\n\t\t\t\t\tcase 64:\n\t\t\t\t\tcase 65:\n\t\t\t\t\tcase 66:\n\t\t\t\t\tcase 67:\n\t\t\t\t\t\tconst pedalType = PedalControllerTypes[event.controllerType];\n\n\t\t\t\t\t\tpedalStatus[event.channel] = pedalStatus[event.channel] || {};\n\t\t\t\t\t\tpedals[event.channel] = pedals[event.channel] || [];\n\n\t\t\t\t\t\tconst status = pedalStatus[event.channel][pedalType];\n\n\t\t\t\t\t\tif (status)\n\t\t\t\t\t\t\tpedals[event.channel].push({type: pedalType, start: status.start, duration: time - status.start, value: status.value});\n\t\t\t\t\t\tpedalStatus[event.channel][pedalType] = {start: time, value: event.value};\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\tcase \"meta\":\n\t\t\t\tswitch (event.subtype) {\n\t\t\t\tcase \"setTempo\":\n\t\t\t\t\tmillisecondsPerBeat = event.microsecondsPerBeat / 1000;\n\t\t\t\t\t//beats = Math.round(beats);\n\t\t\t\t\t//console.assert(Number.isFinite(time), \"invalid time:\", time);\n\t\t\t\t\ttempos.push({tempo: event.microsecondsPerBeat, tick: ticks, time});\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"timeSignature\":\n\t\t\t\t\tnumerator = event.numerator;\n\t\t\t\t\tbarIndex = 0;\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"text\":\n\t\t\t\t\tif (!correspondences && /^find-corres:/.test(event.text)) {\n\t\t\t\t\t\tconst captures = event.text.match(/:([\\d\\,-]+)/);\n\t\t\t\t\t\tconst str = captures && captures[1] || \"\";\n\t\t\t\t\t\tcorrespondences = str.split(\",\").map(s => Number(s));\n\t\t\t\t\t}\n\t\t\t\t\telse if (/fingering\\(.*\\)/.test(event.text)) {\n\t\t\t\t\t\tconst [_, fingers] = event.text.match(/\\((.+)\\)/);\n\t\t\t\t\t\tconst finger = Number(fingers);\n\t\t\t\t\t\tif (!Number.isNaN(finger)) {\n\t\t\t\t\t\t\tconst status = channelStatus[channelStatus.length - 1];\n\t\t\t\t\t\t\tif (status)\n\t\t\t\t\t\t\t\tstatus.finger = finger;\n\n\t\t\t\t\t\t\tconst event = events.find(e => e.index == index - 1);\n\t\t\t\t\t\t\tif (event)\n\t\t\t\t\t\t\t\tevent.data.finger = finger;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"copyrightNotice\":\n\t\t\t\t\tconsole.log(\"MIDI copyright:\", event.text);\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tchannelStatus.forEach(status => {\n\t\t\tconsole.debug(\"unclosed noteOn event at\", status.startTick, status);\n\n\t\t\tchannels[status.channel].push({\n\t\t\t\tstartTick: status.startTick,\n\t\t\t\tendTick: ticks,\n\t\t\t\tpitch: status.pitch,\n\t\t\t\tstart: status.start,\n\t\t\t\tduration: time - status.start,\n\t\t\t\tvelocity: status.velocity,\n\t\t\t\tbeats: status.beats,\n\t\t\t\ttrack: status.track,\n\t\t\t\tfinger: status.finger,\n\t\t\t});\n\t\t});\n\n\t\treturn new Notation({\n\t\t\tchannels,\n\t\t\tkeyRange,\n\t\t\tpedals,\n\t\t\tbars,\n\t\t\tendTime: time,\n\t\t\tendTick: ticks,\n\t\t\tcorrespondences,\n\t\t\tevents,\n\t\t\ttempos,\n\t\t\tticksPerBeat,\n\t\t\tmeta: {},\n\t\t});\n\t}\n\n\n\tconstructor (fields) {\n\t\tObject.assign(this, fields);\n\n\t\t// channels to notes\n\t\tthis.notes = [];\n\t\tfor (const channel of this.channels) {\n\t\t\tif (channel) {\n\t\t\t\tfor (const note of channel)\n\t\t\t\t\tthis.notes.push(note);\n\t\t\t}\n\t\t}\n\t\tthis.notes.sort(function (n1, n2) {\n\t\t\treturn n1.start - n2.start;\n\t\t});\n\n\t\tfor (const i in this.notes)\n\t\t\tthis.notes[i].index = Number(i);\n\n\n\t\t// duration\n\t\tthis.duration = this.notes.length > 0 ? (this.endTime - this.notes[0].start) : 0,\n\n\t\t//this.endSoftIndex = this.notes.length ? this.notes[this.notes.length - 1].softIndex : 0;\n\n\n\t\t// pitch map\n\t\tthis.pitchMap = [];\n\t\tfor (const c in this.channels) {\n\t\t\tfor (const n in this.channels[c]) {\n\t\t\t\tconst pitch = this.channels[c][n].pitch;\n\t\t\t\tthis.pitchMap[pitch] = this.pitchMap[pitch] || [];\n\n\t\t\t\tthis.pitchMap[pitch].push(this.channels[c][n]);\n\t\t\t}\n\t\t}\n\n\t\tthis.pitchMap.forEach(notes => notes.sort((n1, n2) => n1.start - n2.start));\n\n\n\t\t/*// setup measure notes index\n\t\tif (this.measures) {\n\t\t\tconst measure_list = [];\n\n\t\t\tlet last_measure = null;\n\t\t\tconst measure_entries = Object.entries(this.measures).sort((e1, e2) => Number(e1[0]) - Number(e2[0]));\n\t\t\tfor (const [t, measure] of measure_entries) {\n\t\t\t\t//console.log(\"measure time:\", Number(t));\n\t\t\t\tmeasure.startTick = Number(t);\n\t\t\t\tmeasure.notes = [];\n\n\t\t\t\tif (last_measure)\n\t\t\t\t\tlast_measure.endTick = measure.startTick;\n\n\t\t\t\tconst m = measure.measure;\n\t\t\t\tmeasure_list[m] = measure_list[m] || [];\n\t\t\t\tmeasure_list[m].push(measure);\n\n\t\t\t\tlast_measure = measure;\n\t\t\t}\n\t\t\tif (last_measure)\n\t\t\t\tlast_measure.endTick = this.notes[this.notes.length - 1].endTick;\n\t\t\tfor (const i in this.notes) {\n\t\t\t\tconst note = this.notes[i];\n\t\t\t\tfor (const t in this.measures) {\n\t\t\t\t\tconst measure = this.measures[t];\n\t\t\t\t\tif (note.startTick >= measure.startTick && note.startTick < measure.endTick || note.endTick > measure.startTick && note.endTick <= measure.endTick)\n\t\t\t\t\t\tmeasure.notes.push(note);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.measure_list = measure_list;\n\t\t}*/\n\n\n\t\t// prepare beats info\n\t\tif (this.meta.beatInfos) {\n\t\t\tfor (let i = 0; i < this.meta.beatInfos.length; ++i) {\n\t\t\t\tconst info = this.meta.beatInfos[i];\n\t\t\t\tif (i > 0) {\n\t\t\t\t\tconst lastInfo = this.meta.beatInfos[i - 1];\n\t\t\t\t\tinfo.beatIndex = lastInfo.beatIndex + Math.ceil((info.tick - lastInfo.tick) / this.ticksPerBeat);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t\tinfo.beatIndex = 0;\n\t\t\t}\n\t\t}\n\n\n\t\t// compute tempos tick -> time\n\t\t{\n\t\t\tlet time = 0;\n\t\t\tlet ticks = 0;\n\t\t\tlet tempo = 500000;\n\t\t\tfor (const entry of this.tempos) {\n\t\t\t\tconst deltaTicks = entry.tick - ticks;\n\t\t\t\ttime += (tempo / 1000) * deltaTicks / this.ticksPerBeat;\n\n\t\t\t\tticks = entry.tick;\n\t\t\t\ttempo = entry.tempo;\n\n\t\t\t\tentry.time = time;\n\t\t\t}\n\t\t}\n\t}\n\n\n\tfindChordBySoftindex (softIndex, radius = 0.8) {\n\t\treturn this.notes.filter(note => Math.abs(note.softIndex - softIndex) < radius);\n\t}\n\n\n\taverageTempo (tickRange) {\n\t\ttickRange = tickRange || {from: 0, to: this.endtick};\n\n\t\tconsole.assert(this.tempos, \"no tempos.\");\n\t\tconsole.assert(tickRange.to > tickRange.from, \"range is invalid:\", tickRange);\n\n\t\tconst span = index => {\n\t\t\tconst from = Math.max(tickRange.from, this.tempos[index].tick);\n\t\t\tconst to = (index < this.tempos.length - 1) ? Math.min(this.tempos[index + 1].tick, tickRange.to) : tickRange.to;\n\n\t\t\treturn Math.max(0, to - from);\n\t\t};\n\n\t\tconst tempo_sum = this.tempos.reduce((sum, tempo, index) => sum + tempo.tempo * span(index), 0);\n\n\t\tconst average = tempo_sum / (tickRange.to - tickRange.from);\n\n\t\t// convert microseconds per beat to beats per minute\n\t\treturn 60e+6 / average;\n\t}\n\n\n\tticksToTime (tick) {\n\t\tconsole.assert(Number.isFinite(tick), \"invalid tick value:\", tick);\n\t\tconsole.assert(this.tempos && this.tempos.length, \"no tempos.\");\n\n\t\tconst next_tempo_index = this.tempos.findIndex(tempo => tempo.tick > tick);\n\t\tconst tempo_index = next_tempo_index < 0 ? this.tempos.length - 1 : Math.max(next_tempo_index - 1, 0);\n\n\t\tconst tempo = this.tempos[tempo_index];\n\n\t\treturn tempo.time + (tick - tempo.tick) * tempo.tempo * 1e-3 / this.ticksPerBeat;\n\t}\n\n\n\ttimeToTicks (time) {\n\t\tconsole.assert(Number.isFinite(time), \"invalid time value:\", time);\n\t\tconsole.assert(this.tempos && this.tempos.length, \"no tempos.\");\n\n\t\tconst next_tempo_index = this.tempos.findIndex(tempo => tempo.time > time);\n\t\tconst tempo_index = next_tempo_index < 0 ? this.tempos.length - 1 : Math.max(next_tempo_index - 1, 0);\n\n\t\tconst tempo = this.tempos[tempo_index];\n\n\t\treturn tempo.tick + (time - tempo.time) * this.ticksPerBeat / (tempo.tempo * 1e-3);\n\t}\n\n\n\ttickRangeToTimeRange (tickRange) {\n\t\tconsole.assert(tickRange.to >= tickRange.from, \"invalid tick range:\", tickRange);\n\n\t\treturn {\n\t\t\tfrom: this.ticksToTime(tickRange.from),\n\t\t\tto: this.ticksToTime(tickRange.to),\n\t\t};\n\t}\n\n\n\t/*getMeasureRange (measureRange) {\n\t\tconsole.assert(Number.isInteger(measureRange.start) && Number.isInteger(measureRange.end), \"invalid measure range:\", measureRange);\n\t\tconsole.assert(this.measure_list && this.measure_list[measureRange.start] && this.measure_list[measureRange.end], \"no measure data for specific index:\", this.measure_list, measureRange);\n\n\t\tconst startMeasure = this.measure_list[measureRange.start][0];\n\t\tlet endMeasure = null;\n\t\tfor (const measure of this.measure_list[measureRange.end]) {\n\t\t\tif (measure.endTick > startMeasure.startTick) {\n\t\t\t\tendMeasure = measure;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// there no path between start measure and end measure.\n\t\tif (!endMeasure)\n\t\t\treturn null;\n\n\t\tconst tickRange = {from: startMeasure.startTick, to: endMeasure.endTick, duration: endMeasure.endTick - startMeasure.startTick};\n\t\tconst timeRange = this.tickRangeToTimeRange(tickRange);\n\t\ttimeRange.duration = timeRange.to - timeRange.from;\n\n\t\treturn {\n\t\t\ttickRange,\n\t\t\ttimeRange,\n\t\t};\n\t}*/\n\n\n\tscaleTempo ({factor, headTempo}) {\n\t\tconsole.assert(this.tempos && this.tempos.length, \"[Notation.scaleTempo] tempos is empty.\");\n\n\t\tif (headTempo)\n\t\t\tfactor = headTempo / this.tempos[0].tempo;\n\n\t\tconsole.assert(Number.isFinite(factor) && factor > 0, \"[Notation.scaleTempo] invalid factor:\", factor);\n\n\t\tthis.tempos.forEach(tempo => {\n\t\t\ttempo.tempo *= factor;\n\t\t\ttempo.time *= factor;\n\t\t});\n\t\tthis.events.forEach(event => {\n\t\t\tevent.deltaTime *= factor;\n\t\t\tevent.time *= factor;\n\t\t});\n\t\tthis.notes.forEach(note => {\n\t\t\tnote.start *= factor;\n\t\t\tnote.duration *= factor;\n\t\t});\n\n\t\tthis.endTime *= factor;\n\t}\n};\n\n\n\nmodule.exports = {\n\tNotation,\n};\n","\nconst { Notation } = require(\"./MusicNotation.js\");\n\n\n\n//const msDelay = ms => new Promise(resolve => setTimeout(resolve, ms));\nconst animationDelay = () => new Promise(resolve => requestAnimationFrame(resolve));\n\n\nclass MidiPlayer {\n\tconstructor (midiData, {cacheSpan = 600, onMidi, onPlayFinish, onTurnCursor} = {}) {\n\t\tthis.cacheSpan = cacheSpan;\n\t\tthis.onMidi = onMidi;\n\t\tthis.onPlayFinish = onPlayFinish;\n\t\tthis.onTurnCursor = onTurnCursor;\n\n\t\tlet notation;\n\t\tif (midiData.notes && Number.isFinite(midiData.endTime))\n\t\t\tnotation = midiData;\n\t\telse\n\t\t\tnotation = Notation.parseMidi(midiData);\n\n\t\tthis.notation = notation;\n\t\tthis.events = notation.events;\n\t\t//console.log(\"events:\", this.events);\n\n\t\tthis.isPlaying = false;\n\t\tthis.progressTime = 0;\n\t\tthis.startTime = performance.now();\n\t\tthis.duration = notation.endTime;\n\t\tthis.cursorTurnDelta = 0;\n\n\t\tconsole.assert(notation.tempos && notation.tempos.length, \"[MidiPlayer] invalid notation, tempos is empty.\");\n\t}\n\n\n\tdispose () {\n\t\tthis.isPlaying = false;\n\t\tthis.progressTime = 0;\n\t}\n\n\n\tget progressTicks () {\n\t\treturn this.notation.timeToTicks(this.progressTime);\n\t}\n\n\n\tset progressTicks (value) {\n\t\tthis.progressTime = this.notation.ticksToTime(value);\n\n\t\tif (this.onTurnCursor)\n\t\t\tthis.onTurnCursor(this.progressTime);\n\t}\n\n\n\tasync play ({nextFrame = animationDelay} = {}) {\n\t\tif (this.progressTime >= this.duration)\n\t\t\tthis.progressTime = 0;\n\n\t\tlet now = performance.now();\n\t\tthis.startTime = now - this.progressTime;\n\n\t\tthis.isPlaying = true;\n\n\t\tlet currentEventIndex = this.events.findIndex(event => event.time >= now - this.startTime);\n\n\t\twhile (this.isPlaying) {\n\t\t\tfor (; currentEventIndex < this.events.length; ++currentEventIndex) {\n\t\t\t\tconst event = this.events[currentEventIndex];\n\t\t\t\t//console.log(\"play event:\", currentEventIndex, event.time, this.progressTime + this.cacheSpan);\n\t\t\t\tif (!event || event.time > this.progressTime + this.cacheSpan)\n\t\t\t\t\tbreak;\n\n\t\t\t\tif (event.data.type === \"channel\" && this.startTime + event.time >= now)\n\t\t\t\t\tif (this.onMidi)\n\t\t\t\t\t\tthis.onMidi(event.data, this.startTime + event.time);\n\t\t\t}\n\n\t\t\tawait nextFrame();\n\n\t\t\tif (!this.isPlaying)\n\t\t\t\tbreak;\n\n\t\t\tif (this.cursorTurnDelta !== 0) {\n\t\t\t\tconst backturn = this.cursorTurnDelta < 0;\n\n\t\t\t\tthis.startTime -= this.cursorTurnDelta;\n\t\t\t\tthis.cursorTurnDelta = 0;\n\n\t\t\t\tif (backturn) {\n\t\t\t\t\tfor (; currentEventIndex > 0; --currentEventIndex) {\n\t\t\t\t\t\tconst eventTime = this.events[currentEventIndex].time;\n\t\t\t\t\t\tif (this.startTime + eventTime < now)\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tnow = performance.now();\n\n\t\t\tthis.progressTime = now - this.startTime;\n\n\t\t\tif (this.progressTime > this.duration) {\n\t\t\t\tthis.isPlaying = false;\n\n\t\t\t\tif (this.onPlayFinish)\n\t\t\t\t\tthis.onPlayFinish();\n\t\t\t}\n\t\t}\n\t}\n\n\n\tpause () {\n\t\tthis.isPlaying = false;\n\t}\n\n\n\tturnCursor (time) {\n\t\t//console.log(\"onTurnCursor:\", time, oldTime);\n\t\tif (this.isPlaying)\n\t\t\tthis.cursorTurnDelta += time - this.progressTime;\n\t\telse\n\t\t\tthis.progressTime = time;\n\n\t\tif (this.onTurnCursor)\n\t\t\tthis.onTurnCursor(time);\n\t}\n};\n\n\n\nmodule.exports = MidiPlayer;\n","\nmodule.exports = {\n\tCostStepAttenuation: 0.6,\n\tSkipDeep: 3,\n\tPriorDistanceSigmoidFactor: 0.1,\n\tPriorValueSigmoidFactor: 0.12,\n\n\tSkipCost: 0.5,\n\tLagOffsetCost: 1,\n\tLeadOffsetCost: 1.6,\n\tZeroOffsetCost: 0.58,\n\n\tRelocationThreshold: 6,\n};\n","\nconst {pick} = require(\"lodash\");\n\nconst Config = require(\"./config.js\");\n\n\n\nclass Node {\n\tconstructor (s_note, c_note) {\n\t\tthis.s_note = s_note;\n\t\tthis.c_note = c_note;\n\n\t\tconsole.assert(this.s_note.softIndex != null, \"s_note softIndex is null\");\n\t\tthis.offset = this.s_note.softIndex - this.c_note.softIndex;\n\n\t\tthis._prev = null;\n\t\tthis._totalCost = 0;\n\t\tthis._value = 0;\n\t\tthis.cacheDirty = true;\n\n\t\t//this.evaluatePrev(Node.Zero);\n\t}\n\n\n\tget prev () {\n\t\treturn this._prev;\n\t}\n\n\n\tset prev (value) {\n\t\tif (value != this._prev) {\n\t\t\tthis._prev = value;\n\t\t\tthis.cacheDirty = true;\n\t\t}\n\t}\n\n\n\tget si () {\n\t\treturn this.s_note.index;\n\t}\n\n\n\tget ci () {\n\t\treturn this.c_note.index;\n\t}\n\n\n\tget root () {\n\t\treturn this.prev.root || this;\n\t}\n\n\n\tget rootSi () {\n\t\treturn !this.prev.zero ? this.prev.rootSi : this.si;\n\t}\n\n\n\tget id () {\n\t\treturn `${this.s_note.index},${this.c_note.index}`;\n\t}\n\n\n\tstatic cost (prev, skip, self) {\n\t\treturn prev * Config.CostStepAttenuation + Math.tanh(skip * Config.SkipCost) + Math.tanh(self * 0.5);\n\t}\n\n\n\tupdateCache () {\n\t\tif (this.cacheDirty) {\n\t\t\tthis._totalCost = Node.cost(this.prev.totalCost, this.si - this.prev.si - 1, this.selfCost);\n\t\t\tthis._value = this.prev.value + 1 - Math.tanh(this.selfCost * 0.5);\n\n\t\t\tthis.cacheDirty = false;\n\t\t}\n\t}\n\n\n\tget totalCost () {\n\t\tthis.updateCache();\n\n\t\treturn this._totalCost;\n\t}\n\n\n\tget value () {\n\t\tthis.updateCache();\n\n\t\treturn this._value;\n\t}\n\n\n\tget deep () {\n\t\treturn this.prev.deep + 1;\n\t}\n\n\n\tget path () {\n\t\tconst path = [];\n\t\tfor (let node = this; !node.zero; node = node.prev) {\n\t\t\tpath[node.si] = node.ci;\n\t\t}\n\n\t\tfor (let i = 0; i < path.length; ++i)\n\t\t\tif (typeof path[i] != \"number\")\n\t\t\t\tpath[i] = -1;\n\n\t\treturn path;\n\t}\n\n\n\tdump () {\n\t\treturn pick(this, [\"id\", \"si\", \"ci\", \"rootSi\", \"value\", \"deep\", \"rootSi\", \"offset\", \"prior\", \"selfCost\", \"totalCost\"]);\n\t}\n\n\n\tevaluatePrev (node) {\n\t\tconst cost = this.evaluatePrevCost(node);\n\n\t\tconsole.assert(this.si - node.si >= 1, \"node index error:\", this, node/*, {get [Symbol.toStringTag]() {debugger}}*/);\n\t\t//if (this.si - node.si < 1)\n\t\t//\tdebugger;\n\n\t\tconst totalCost = Node.cost(node.totalCost, this.si - node.si - 1, cost);\n\n\t\tif (!this.prev || totalCost < this.totalCost) {\n\t\t\tthis.prev = node;\n\t\t\tthis.selfCost = cost;\n\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\n\tevaluatePrevCost (node) {\n\t\tlet cost = 0;\n\n\t\tif (node.offset != null) {\n\t\t\tconst bias = this.offset - node.offset;\n\t\t\tconst costCoeff = node.zero ? Config.ZeroOffsetCost : (bias > 0 ? Config.LagOffsetCost : Config.LeadOffsetCost);\n\t\t\tcost += (bias * costCoeff) ** 2;\n\t\t}\n\n\t\treturn cost;\n\t}\n\n\n\tpriorByOffset (offset) {\n\t\tconst distance = Math.abs(this.offset - offset) / 1;//(this.s_note.deltaSi + 0.04);\n\n\t\treturn Math.tanh(this.value * Config.PriorValueSigmoidFactor) - Math.tanh(distance * Config.PriorDistanceSigmoidFactor);\n\t\t//return Math.log(this.value) * Math.tanh(4 / distance);\n\t\t//return this.value - distance;\n\t}\n\n\n\tstatic zero () {\n\t\treturn {\n\t\t\tzero: true,\n\t\t\ttotalCost: 0,\n\t\t\tvalue: 0,\n\t\t\tsi: -1,\n\t\t\tci: -1,\n\t\t\tdeep: 0,\n\t\t\toffset: 0,\n\t\t};\n\t}\n};\n\n\n\nmodule.exports = Node;\n","\nconst Config = require(\"./config.js\");\nconst Node = require(\"./node.js\");\n\n\n\nclass Navigator {\n\tconstructor (criterion, sample, options = {}) {\n\t\tthis.criterion = criterion;\n\t\tthis.sample = sample;\n\n\t\tthis.getCursorOffset = options.getCursorOffset || (() => null);\n\t\tthis.outOfPage = options.outOfPage;\n\n\t\tthis.bestNode = null;\n\t\tthis.fineCursor = null;\n\n\t\tthis.breakingSI = sample.notes.length - 1;\n\n\t\tthis.zeroNode = Node.zero();\n\t\tthis.zeroNode.offset = this.getCursorOffset() || 0;\n\n\t\tthis.relocationThreshold = options.relocationThreshold || Config.RelocationThreshold;\n\t}\n\n\n\tstep (index) {\n\t\t//console.log(\"step:\", this.zeroNode.offset);\n\t\tconst note = this.sample.notes[index];\n\n\t\tif (note.matches.length > 0) {\n\t\t\t//console.log(\"zeroNode.offset:\", index, this.zeroNode.offset);\n\t\t\tnote.matches.forEach(node => {\n\t\t\t\tnode.evaluatePrev(this.zeroNode);\n\t\t\t\t//console.log(\"node:\", node, node.evaluatePrevCost(this.zeroNode), node.offset, this.zeroNode.offset);\n\n\t\t\t\tfor (let si = index - 1; si >= Math.max(this.breakingSI + 1, index - Config.SkipDeep); --si) {\n\t\t\t\t\t//const skipCost = Config.SkipCost * (index - 1 - si);\n\n\t\t\t\t\tconst prevNote = this.sample.notes[si];\n\t\t\t\t\tconsole.assert(prevNote, \"prevNote is null:\", si, index, this.sample.notes);\n\t\t\t\t\tprevNote.matches.forEach(prevNode => {\n\t\t\t\t\t\tconst bias = node.offset - prevNode.offset;\n\t\t\t\t\t\tif (/*prevNode.totalCost + skipCost < node.totalCost\n\t\t\t\t\t\t\t&&*/ (bias < 2 / Config.LagOffsetCost && bias > -2 / Config.LeadOffsetCost))\n\t\t\t\t\t\t\tnode.evaluatePrev(prevNode);\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tnode.prior = node.totalCost > 1.99 ? -1 : node.priorByOffset(this.zeroNode.offset);\n\n\t\t\t\tif (node.prior > 0 && this.outOfPage) {\n\t\t\t\t\tconst tick = this.criterion.notes[node.ci].startTick;\n\t\t\t\t\tif (this.outOfPage(tick))\n\t\t\t\t\t\tnode.prior -= 0.7;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tnote.matches.sort((c1, c2) => c2.prior - c1.prior);\n\t\t\tthis.cursors = note.matches;\n\t\t\t//console.log(\"navigator cursors:\", this.cursors);\n\n\t\t\tlet fineCursor = null;\n\t\t\tconst nullLength = this.nullSteps(index);\n\n\t\t\tconst cursor = this.cursors[0];\n\t\t\tif (cursor && cursor.totalCost < 1) {\n\t\t\t\t//console.log(\"nullLength:\", nullLength, nullLength * Math.log(cursor.value / 4));\n\t\t\t\tif (cursor.prior > 0 || (cursor.totalCost < 0.4 && Math.log(Math.max(nullLength * cursor.value, 1e-3)) > this.relocationThreshold)) {\n\t\t\t\t\tthis.zeroNode.offset = cursor.offset;\n\n\t\t\t\t\tfineCursor = cursor;\n\n\t\t\t\t\tif (!this.bestNode || cursor.value > this.bestNode.value)\n\t\t\t\t\t\tthis.bestNode = cursor;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (fineCursor)\n\t\t\t\tthis.fineCursor = fineCursor;\n\t\t\telse {\n\t\t\t\tif (!this.resetCursor(index, {breaking: false/*nullLength > Config.SkipDeep*/})) {\n\t\t\t\t\tthis.zeroNode.offset += note.deltaSi * Math.tanh(nullLength);\n\t\t\t\t\tconsole.assert(!Number.isNaN(this.zeroNode.offset), \"zeroNode.offset is NaN.\", note.deltaSi, nullLength);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse\n\t\t\tthis.cursors = [];\n\t}\n\n\n\tpath ({fromIndex = 0, toIndex = this.sample.notes.length - 1} = {}) {\n\t\tconst path = [];\n\n\t\tlet offset = null;\n\n\t\tfor (let si = toIndex; si >= fromIndex;) {\n\t\t\tconst note = this.sample.notes[si];\n\n\t\t\tif (!note.matches.length || note.matches[0].prior < -0.01 || note.matches[0].totalCost >= 1) {\n\t\t\t\t//if (note.matches.length)\n\t\t\t\t//\tconsole.log(\"path -1:\", si, note.matches[0].prior, note.matches[0].totalCost);\n\t\t\t\tpath[si] = -1;\n\t\t\t\t--si;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// sort nodes by backwards heuristic offset\n\t\t\tif (offset != null) {\n\t\t\t\tnote.matches.forEach(node => node.backPrior = (node.totalCost < 1.99 ? node.priorByOffset(offset) : -1));\n\t\t\t\tnote.matches.sort((n1, n2) => n2.backPrior - n1.backPrior);\n\t\t\t}\n\n\t\t\tconst node = note.matches[0];\n\t\t\tnode.path.forEach((ci, si) => path[si] = ci);\n\t\t\t//console.log(\"node path:\", si, node.path);\n\n\t\t\toffset = node.root.offset;\n\n\t\t\tsi = node.rootSi - 1;\n\t\t}\n\n\t\tconsole.assert(path.length == toIndex + 1, \"path length error:\", path, fromIndex, toIndex + 1,\n\t\t\tthis.sample.notes.length, this.sample.notes.length ? this.sample.notes[this.sample.notes.length - 1].index : null);\n\n\t\treturn path;\n\t}\n\n\n\tnullSteps (index) {\n\t\treturn index - (this.fineCursor ? this.fineCursor.si : -1) - 1;\n\t}\n\n\n\tresetCursor (index, {breaking = true} = {}) {\n\t\tif (breaking)\n\t\t\tthis.breakingSI = index;\n\n\t\tconst cursorOffset = this.getCursorOffset();\n\t\tif (cursorOffset != null) {\n\t\t\t//console.log(\"cursorOffset:\", cursorOffset);\n\n\t\t\tthis.zeroNode.offset = cursorOffset;\n\t\t\t//this.breaking = this.nullSteps(index) > Config.SkipDeep;\n\t\t\t//if (this.breaking)\t// trivial zero node si resets result in focus path interruption\n\t\t\tthis.zeroNode.si = index;\n\t\t\tthis.fineCursor = null;\n\n\t\t\tconsole.assert(!Number.isNaN(this.zeroNode.offset), \"zeroNode.offset is NaN.\", cursorOffset);\n\t\t\t//console.log(\"cursor offset reset:\", cursorOffset);\n\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\n\tget relocationTendency () {\n\t\tconst cursor = this.cursors && this.cursors[0];\n\t\tif (!cursor)\n\t\t\treturn null;\n\n\t\tconst nullLength = this.nullSteps(cursor.si);\n\t\tif (nullLength <= 0)\n\t\t\treturn 0;\n\n\t\treturn Math.log(Math.max(nullLength * cursor.value, 1e-3)) / this.relocationThreshold;\n\t}\n};\n\n\n\nmodule.exports = Navigator;\n","\nconst Node = require(\"./node.js\");\nconst Navigator = require(\"./navigator.js\");\n\n\n\nconst HEART_BEAT = 800;\t// in ms\nconst SIMULTANEOUS_INTERVAL = HEART_BEAT * 0.24;\n\n\nconst normalizeInterval = interval => Math.tanh(interval / SIMULTANEOUS_INTERVAL);\n\n\n// greater softIndexFactor make 'harder' soft index\nconst makeNoteSoftIndex = function (notes, index, {softIndexFactor = 1} = {}) {\n\tindex = Number(index);\n\n\tconst note = notes[index];\n\n\t// make soft index\n\tif (index > 0) {\n\t\tconst lastNote = notes[index - 1];\n\n\t\tconsole.assert(note.start != null, \"note.start is null\", note);\n\t\tconsole.assert(lastNote.start != null, \"lastNote.start is null\", lastNote);\n\n\t\tnote.deltaSi = normalizeInterval((note.start - lastNote.start) * softIndexFactor);\n\t\tnote.softIndex = lastNote.softIndex + note.deltaSi;\n\n\t\tconsole.assert(!Number.isNaN(note.deltaSi), \"note.deltaSi is NaN.\", note.start, lastNote.start);\n\t}\n\telse {\n\t\tnote.softIndex = 0;\n\t\tnote.deltaSi = 0;\n\t}\n};\n\n\nconst makeMatchNodes = function (note, criterion, zeroNode = Node.zero()) {\n\tnote.matches = [];\n\n\tconst targetList = criterion.pitchMap[note.pitch];\n\tif (targetList) {\n\t\tfor (const targetNote of targetList) {\n\t\t\tconst node = new Node(note, targetNote);\n\t\t\tif (zeroNode)\n\t\t\t\tnode.evaluatePrev(zeroNode);\n\n\t\t\tnote.matches.push(node);\n\t\t}\n\t}\n};\n\n\nconst genNotationContext = function (notation, {softIndexFactor = 1} = {}) {\n\tfor (let i = 0; i < notation.notes.length; ++i)\n\t\tmakeNoteSoftIndex(notation.notes, i, {softIndexFactor});\n};\n\n\nconst runNavigation = async function(criterion, sample, onStep) {\n\tconst navigator = new Navigator(criterion, sample);\n\tnavigator.resetCursor(-1);\n\n\tfor (let i = 0; i < sample.notes.length; ++i) {\n\t\tnavigator.step(i);\n\n\t\tconst next = await (onStep && onStep(i, navigator));\n\t\tif (next === Symbol.for(\"end\")) {\n\t\t\tconsole.log(\"Navigation interrupted.\");\n\n\t\t\treturn;\n\t\t}\n\t}\n\n\t//console.log(\"Navigation accomplished.\");\n\n\treturn navigator;\n};\n\n\n\nmodule.exports = {\n\tnormalizeInterval,\n\tmakeNoteSoftIndex,\n\tmakeMatchNodes,\n\tgenNotationContext,\n\trunNavigation,\n\tNavigator,\n\tNode,\n};\n","\nconst MIDI = require(\"./MIDI\");\n\n\n\nconst trackDeltaToAbs = events => {\n\tlet tick = 0;\n\n\tevents.forEach(event => {\n\t\ttick += event.deltaTime;\n\t\tevent.tick = tick;\n\t});\n};\n\n\nconst trackAbsToDelta = events => {\n\tlet lastTick = 0;\n\n\tevents.sort((e1, e2) => e1.tick - e2.tick).forEach(event => {\n\t\tevent.deltaTime = event.tick - lastTick;\n\t\tlastTick = event.tick;\n\t});\n};\n\n\nconst sliceTrack = (track, startTick, endTick) => {\n\ttrackDeltaToAbs(track);\n\n\tconst events = [];\n\tconst status = {};\n\n\ttrack.forEach(event => {\n\t\tif (event.tick >= startTick && event.tick <= endTick && event.subtype !== \"endOfTrack\")\n\t\t\tevents.push({\n\t\t\t\t...event,\n\t\t\t\ttick: event.tick - startTick,\n\t\t\t});\n\t\telse if (event.tick < startTick) {\n\t\t\tswitch (event.type) {\n\t\t\tcase \"meta\":\n\t\t\t\tstatus[event.subtype] = event;\n\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t});\n\n\tObject.values(status).forEach(event => events.push({\n\t\t...event,\n\t\ttick: 0,\n\t}));\n\n\tevents.push({\n\t\ttick: endTick - startTick,\n\t\ttype: \"meta\",\n\t\tsubtype: \"endOfTrack\",\n\t});\n\n\ttrackAbsToDelta(events);\n\n\treturn events;\n};\n\n\nconst sliceMidi = (midi, startTick, endTick) => ({\n\theader: midi.header,\n\ttracks: midi.tracks.map(track => sliceTrack(track, startTick, endTick)),\n});\n\n\nconst TICKS_PER_BEATS = 480;\n\nconst EXCLUDE_MIDI_EVENT_SUBTYPES = [\n\t\"endOfTrack\", \"trackName\",\n\t\"noteOn\", \"noteOff\",\n];\n\n\nfunction encodeToMIDIData(notation, {startTime, unclosedNoteDuration = 30e+3} = {}) {\n\tnotation.microsecondsPerBeat = notation.microsecondsPerBeat || 500000;\n\n\tconst ticksPerBeat = TICKS_PER_BEATS;\n\tconst msToTicks = ticksPerBeat * 1000 / notation.microsecondsPerBeat;\n\n\tconst header = { formatType: 0, ticksPerBeat };\n\tconst track = [];\n\n\tif (!Number.isFinite(startTime)) {\n\t\tif (!notation.notes || !notation.notes[0])\n\t\t\tthrow new Error(\"encodeToMidiData: no start time specificed\");\n\n\t\tstartTime = notation.notes[0].start;\n\t}\n\n\ttrack.push({ time: startTime, type: \"meta\", subtype: \"copyrightNotice\", text: `Composed by MusicWdigets. BUILT on ${new Date(Number(process.env.VUE_APP_BUILD_TIME)).toDateString()}` });\n\n\tconst containsTempo = notation.events && notation.events.find(event => event.subtype == \"setTempo\");\n\tif (!containsTempo) {\n\t\ttrack.push({ time: startTime, type: \"meta\", subtype: \"timeSignature\", numerator: 4, denominator: 4, thirtyseconds: 8 });\n\t\ttrack.push({ time: startTime, type: \"meta\", subtype: \"setTempo\", microsecondsPerBeat: notation.microsecondsPerBeat });\n\t}\n\n\t//if (notation.correspondences)\n\t//\ttrack.push({ time: startTime, type: \"meta\", subtype: \"text\", text: \"find-corres:\" + notation.correspondences.join(\",\") });\n\n\tlet endTime = startTime || 0;\n\n\tif (notation.notes) {\n\t\tfor (const note of notation.notes) {\n\t\t\ttrack.push({\n\t\t\t\ttime: note.start,\n\t\t\t\ttype: \"channel\",\n\t\t\t\tsubtype: \"noteOn\",\n\t\t\t\tchannel: note.channel || 0,\n\t\t\t\tnoteNumber: note.pitch,\n\t\t\t\tvelocity: note.velocity,\n\t\t\t\tfinger: note.finger,\n\t\t\t});\n\n\t\t\tendTime = Math.max(endTime, note.start);\n\n\t\t\tif (Number.isFinite(unclosedNoteDuration))\n\t\t\t\tnote.duration = note.duration || unclosedNoteDuration;\n\t\t\tif (note.duration) {\n\t\t\t\ttrack.push({\n\t\t\t\t\ttime: note.start + note.duration,\n\t\t\t\t\ttype: \"channel\",\n\t\t\t\t\tsubtype: \"noteOff\",\n\t\t\t\t\tchannel: note.channel || 0,\n\t\t\t\t\tnoteNumber: note.pitch,\n\t\t\t\t\tvelocity: 0,\n\t\t\t\t});\n\n\t\t\t\tendTime = Math.max(endTime, note.start + note.duration);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (notation.events) {\n\t\tconst events = notation.events.filter(event => !EXCLUDE_MIDI_EVENT_SUBTYPES.includes(event.data.subtype));\n\t\tfor (const event of events) {\n\t\t\ttrack.push({\n\t\t\t\ttime: event.time,\n\t\t\t\t...event.data,\n\t\t\t});\n\n\t\t\tendTime = Math.max(endTime, event.time);\n\t\t}\n\t}\n\n\ttrack.push({ time: endTime + 100, type: \"meta\", subtype: \"endOfTrack\" });\n\n\ttrack.sort(function (e1, e2) { return e1.time - e2.time; });\n\n\t// append finger event after every noteOn event\n\ttrack.map((event, index) => ({event, index}))\n\t\t.filter(({event}) => event.subtype == \"noteOn\" && event.finger != null)\n\t\t.reverse()\n\t\t.forEach(({event, index}) => track.splice(index + 1, 0, {\n\t\t\ttime: event.time,\n\t\t\ttype: \"meta\",\n\t\t\tsubtype: \"text\",\n\t\t\ttext: `fingering(${event.finger})`,\n\t\t}));\n\n\ttrack.forEach(event => event.ticks = Math.round((event.time - startTime) * msToTicks));\n\ttrack.forEach((event, i) => event.deltaTime = (event.ticks - (i > 0 ? track[i - 1].ticks : 0)));\n\n\treturn {header, tracks: [track]};\n};\n\n\nfunction encodeToMIDI(notation, options) {\n\tconst data = encodeToMIDIData(notation, options);\n\treturn MIDI.encodeMidiFile(data);\n};\n\n\n\nmodule.exports = {\n\tsliceMidi,\n\tencodeToMIDIData,\n\tencodeToMIDI,\n};\n","\nconst MIDI = require(\"./source/inc/MIDI\");\nconst MusicNotation = require(\"./source/inc/MusicNotation\");\nconst MidiPlayer = require(\"./source/inc/MidiPlayer.js\");\nconst Matcher = require(\"./source/inc/Matcher\");\nconst MidiUtils = require(\"./source/inc/MidiUtils.js\");\n\n\n\nmodule.exports = {\n\tMIDI,\n\tMusicNotation,\n\tMidiPlayer,\n\tMatcher,\n\tMidiUtils,\n};\n","import pick from 'lodash/pick';\n\nimport { MusicNotation, MIDI } from '@k-l-lambda/music-widgets';\n\n//import {MeasureLayout, LayoutType} from\nimport { ImplicitType, ChordPosition } from './types';\n\nconst WHOLE_DURATION_MAGNITUDE = 1920;\nconst TICKS_PER_BEAT = WHOLE_DURATION_MAGNITUDE / 4;\n\ninterface Fraction {\n\tnumerator: number;\n\tdenominator: number;\n}\n\ninterface StaffNoteProperties {\n\trest: boolean;\n\ttied: boolean;\n\toverlapped: boolean;\n\timplicitType: ImplicitType;\n\tafterGrace: boolean;\n\tchordPosition: ChordPosition;\n\tdivision: number;\n\n\tcontextIndex: number;\n\tstaffTrack: number;\n}\n\ninterface MetaNote extends MusicNotation.Note, Partial {\n\tid: string;\n\tmeasure: number;\n\tendTick: number;\n}\n\ninterface SubNote {\n\tstartTick: number;\n\tendTick: number;\n\tpitch: number;\n\tvelocity?: number;\n}\n\ninterface MeasureNote extends Partial {\n\ttick: number;\n\tpitch: number;\n\tduration: number;\n\tchordPosition: ChordPosition;\n\tstaff: number;\n\n\ttrack: number;\n\tchannel: number;\n\tid: string;\n\tids: string[];\n\n\tsubNotes: SubNote[];\n}\n\ninterface MeasureEvent {\n\tdata: any;\n\ttrack: number;\n\tticks?: number;\n}\n\ninterface Measure {\n\ttick: number;\n\tduration: number;\n\n\tnotes: MeasureNote[];\n\tevents?: MeasureEvent[];\n\ttimeSignature?: Fraction;\n\tkeySignature?: number;\n}\n\ninterface PerformOptions {\n\twithRestTied?: boolean;\n}\n\ninterface MidiEvent extends MIDI.MidiEvent {\n\tticks?: number;\n\tmeasure?: number;\n\tids?: string[];\n\tstaffTrack?: number;\n\tstaff?: number;\n}\ntype MidiTrack = MidiEvent[];\n\nconst EXTRA_NOTE_FIELDS = ['rest', 'tied', 'overlapped', 'implicitType', 'afterGrace', 'contextIndex', 'staffTrack', 'chordPosition', 'division'];\nconst COMMON_NOTE_FIELDS = ['id', 'ids', 'pitch', 'velocity', 'track', 'channel', ...EXTRA_NOTE_FIELDS];\n\nclass MetaNotation {\n\t//pitchContextGroup: PitchContextTable[];\n\t//measureLayout: MeasureLayout;\n\tmeasures: Measure[];\n\n\ttrackNames: string[];\n\tidTrackMap: { [key: string]: number };\n\n\tripe: boolean = false;\n\n\tstatic fromAbsoluteNotes(notes: MetaNote[], measureHeads: number[], data?: Partial): MetaNotation {\n\t\tconst notation = new MetaNotation(data);\n\n\t\tnotation.measures = Array(measureHeads.length)\n\t\t\t.fill(null)\n\t\t\t.map((__, i) => {\n\t\t\t\tconst tick = measureHeads[i];\n\t\t\t\tconst duration = measureHeads[i + 1] ? measureHeads[i + 1] - tick : 0;\n\n\t\t\t\tconst mnotes = notes\n\t\t\t\t\t.filter((note) => note.measure === i + 1)\n\t\t\t\t\t.map(\n\t\t\t\t\t\t(note) =>\n\t\t\t\t\t\t\t({\n\t\t\t\t\t\t\t\ttick: note.startTick - tick,\n\t\t\t\t\t\t\t\tduration: note.endTick - note.startTick,\n\t\t\t\t\t\t\t\t...pick(note, COMMON_NOTE_FIELDS),\n\t\t\t\t\t\t\t\tsubNotes: [],\n\t\t\t\t\t\t\t} as MeasureNote)\n\t\t\t\t\t);\n\n\t\t\t\t// reduce note data size\n\t\t\t\tmnotes.forEach((mn) =>\n\t\t\t\t\t['rest', 'tied', 'implicitType', 'afterGrace'].forEach((field) => {\n\t\t\t\t\t\tif (!mn[field]) delete mn[field];\n\t\t\t\t\t})\n\t\t\t\t);\n\n\t\t\t\treturn {\n\t\t\t\t\ttick,\n\t\t\t\t\tduration,\n\t\t\t\t\tnotes: mnotes,\n\t\t\t\t};\n\t\t\t});\n\n\t\tnotation.idTrackMap = notes.reduce((map, note) => {\n\t\t\tif (note.id) map[note.id] = note.track;\n\n\t\t\treturn map;\n\t\t}, {});\n\n\t\treturn notation;\n\t}\n\n\tstatic performAbsoluteNotes(abNotes: MetaNote[], { withRestTied = false }: PerformOptions = {}): MusicNotation.Note[] {\n\t\tconst notes = abNotes\n\t\t\t.filter((note) => (withRestTied || (!note.rest && !note.tied)) && !note.overlapped)\n\t\t\t.map((note) => ({\n\t\t\t\tmeasure: note.measure,\n\t\t\t\tchannel: note.channel,\n\t\t\t\ttrack: note.track,\n\t\t\t\tstart: note.start,\n\t\t\t\tstartTick: note.startTick,\n\t\t\t\tendTick: note.endTick,\n\t\t\t\tpitch: note.pitch,\n\t\t\t\tduration: note.duration,\n\t\t\t\tvelocity: note.velocity || 127,\n\t\t\t\tid: note.id,\n\t\t\t\tids: note.ids,\n\t\t\t\tstaffTrack: note.staffTrack,\n\t\t\t\tcontextIndex: note.contextIndex,\n\t\t\t\timplicitType: note.implicitType,\n\t\t\t\tchordPosition: note.chordPosition,\n\t\t\t}));\n\n\t\tconst noteMap = notes.reduce((map, note) => {\n\t\t\tconst key = `${note.channel}|${note.start}|${note.pitch}`;\n\t\t\tconst priorNote = map[key];\n\t\t\tif (priorNote) priorNote.ids.push(...note.ids);\n\t\t\telse map[key] = note;\n\n\t\t\treturn map;\n\t\t}, {});\n\n\t\treturn Object.values(noteMap);\n\t}\n\n\tconstructor(data?: Partial) {\n\t\tif (data) Object.assign(this, data);\n\t}\n\n\t/*get ordinaryMeasureIndices (): number[] {\n\t\tif (this.measureLayout)\n\t\t\treturn this.measureLayout.serialize(LayoutType.Ordinary);\n\n\t\treturn Array(this.measures.length).fill(null).map((_, i) => i + 1);\n\t}*/\n\n\t// In Lilypond 2.20.0, minus tick value at the head of a track result in MIDI event time bias,\n\t//\tSo store the bias values to correct MIDI time from lilyond.\n\tget trackTickBias(): { [key: string]: number } {\n\t\tconst headMeasure = this.measures[0];\n\t\treturn this.trackNames.reduce((map, name, track) => {\n\t\t\tmap[name] = 0;\n\t\t\tif (headMeasure) {\n\t\t\t\tconst note = headMeasure.notes.find((note) => note.track === track);\n\t\t\t\tif (note) map[name] = Math.min(note.tick, 0);\n\t\t\t}\n\n\t\t\treturn map;\n\t\t}, {});\n\t}\n\n\tget idSet(): Set {\n\t\treturn this.measures.reduce(\n\t\t\t(set, measure) => (measure.notes.filter((note) => !note.rest).forEach((note) => note.ids.forEach((id) => set.add(id))), set),\n\t\t\tnew Set()\n\t\t);\n\t}\n\n\ttoJSON() {\n\t\treturn {\n\t\t\t__prototype: 'LilyNotation',\n\t\t\t//pitchContextGroup: this.pitchContextGroup,\n\t\t\t//measureLayout: this.measureLayout,\n\t\t\tmeasures: this.measures,\n\t\t\tidTrackMap: this.idTrackMap,\n\t\t\ttrackNames: this.trackNames,\n\t\t\tripe: this.ripe,\n\t\t};\n\t}\n\n\ttoAbsoluteNotes(measureIndices: number[] /*= this.ordinaryMeasureIndices*/): MetaNote[] {\n\t\tlet measureTick = 0;\n\t\tconst measureNotes: MetaNote[][] = measureIndices.map((index) => {\n\t\t\tconst measure = this.measures[index - 1];\n\t\t\tconsole.assert(!!measure, 'invalid measure index:', index, this.measures.length);\n\n\t\t\tconst notes = measure.notes.map((mnote) => {\n\t\t\t\treturn {\n\t\t\t\t\tstartTick: measureTick + mnote.tick,\n\t\t\t\t\tendTick: measureTick + mnote.tick + mnote.duration,\n\t\t\t\t\tstart: measureTick + mnote.tick,\n\t\t\t\t\tduration: mnote.duration,\n\t\t\t\t\tmeasure: index,\n\t\t\t\t\t...pick(mnote, COMMON_NOTE_FIELDS),\n\t\t\t\t} as MetaNote;\n\t\t\t});\n\n\t\t\tmeasureTick += measure.duration;\n\n\t\t\treturn notes;\n\t\t});\n\n\t\treturn [].concat(...measureNotes);\n\t}\n\n\t/*getMeasureIndices (type: LayoutType) {\n\t\treturn this.measureLayout.serialize(type);\n\t}*/\n\n\ttoPerformingNotation(measureIndices: number[] /*= this.ordinaryMeasureIndices*/, options: PerformOptions = {}): MusicNotation.Notation {\n\t\t//console.debug(\"toPerformingNotation:\", this, measureIndices);\n\t\tconst abNotes = this.toAbsoluteNotes(measureIndices);\n\t\tconst notes = MetaNotation.performAbsoluteNotes(abNotes, options);\n\n\t\t//const lastNote = notes[notes.length - 1];\n\t\tconst endTime = Math.max(...notes.map((note) => note.start + note.duration));\n\n\t\tconst endTick = measureIndices.reduce((tick, index) => tick + this.measures[index - 1].duration, 0);\n\n\t\tconst notation = new MusicNotation.Notation({\n\t\t\tticksPerBeat: TICKS_PER_BEAT,\n\t\t\tmeta: {},\n\t\t\ttempos: [], // TODO\n\t\t\tchannels: [notes],\n\t\t\tendTime,\n\t\t\tendTick,\n\t\t});\n\n\t\treturn notation;\n\t}\n\n\ttoPerformingMIDI(measureIndices: number[], { trackList }: { trackList?: boolean[] } = {}): MIDI.MidiData & { zeroTick: number } {\n\t\tif (!measureIndices.length) return null;\n\n\t\t// to avoid begin minus tick\n\t\tconst zeroTick = -Math.min(0, ...(this.measures[0]?.events.map((e) => e.ticks) || []), ...(this.measures[0]?.notes.map((note) => note.tick) || []));\n\n\t\tlet measureTick = zeroTick;\n\t\tconst measureEvents: MeasureEvent[][] = measureIndices.map((index) => {\n\t\t\tconst measure = this.measures[index - 1];\n\t\t\tconsole.assert(!!measure, 'invalid measure index:', index, this.measures.length);\n\n\t\t\tconst events = measure.events.map((mevent) => ({\n\t\t\t\tticks: measureTick + mevent.ticks,\n\t\t\t\ttrack: mevent.track,\n\t\t\t\tdata: {\n\t\t\t\t\t...mevent.data,\n\t\t\t\t\tmeasure: index,\n\t\t\t\t},\n\t\t\t}));\n\n\t\t\tmeasureTick += measure.duration;\n\n\t\t\treturn events;\n\t\t});\n\n\t\tconst eventPriority = (event: MidiEvent): number => event.ticks + (event.subtype === 'noteOff' ? -1e-8 : 0);\n\n\t\tconst tracks: MidiTrack[] = [].concat(...measureEvents).reduce((tracks, mevent) => {\n\t\t\ttracks[mevent.track] = tracks[mevent.track] || [];\n\t\t\ttracks[mevent.track].push({\n\t\t\t\tticks: mevent.ticks,\n\t\t\t\t...mevent.data,\n\t\t\t});\n\n\t\t\treturn tracks;\n\t\t}, []);\n\n\t\ttracks[0] = tracks[0] || [];\n\t\t/*tracks[0].push({\n\t\t\tticks: 0,\n\t\t\ttype: \"meta\",\n\t\t\tsubtype: \"text\",\n\t\t\ttext: `${npmPackage.name} ${npmPackage.version}`,\n\t\t});*/\n\n\t\t// append note events\n\t\tmeasureTick = zeroTick;\n\t\tmeasureIndices.map((index) => {\n\t\t\tconst measure = this.measures[index - 1];\n\t\t\tconsole.assert(!!measure, 'invalid measure index:', index, this.measures.length);\n\t\t\tif (!Number.isFinite(measure.duration)) return;\n\n\t\t\tmeasure.notes.forEach((note) => {\n\t\t\t\tif (trackList && !trackList[note.track]) return;\n\n\t\t\t\tif (note.rest) return;\n\n\t\t\t\tconst tick = measureTick + note.tick;\n\n\t\t\t\tconst track = (tracks[note.track] = tracks[note.track] || []);\n\n\t\t\t\tnote.subNotes.forEach((subnote) => {\n\t\t\t\t\ttrack.push({\n\t\t\t\t\t\tticks: tick + subnote.startTick,\n\t\t\t\t\t\tmeasure: index,\n\t\t\t\t\t\tids: note.ids,\n\t\t\t\t\t\ttype: 'channel',\n\t\t\t\t\t\tsubtype: 'noteOn',\n\t\t\t\t\t\tchannel: note.channel,\n\t\t\t\t\t\tnoteNumber: subnote.pitch,\n\t\t\t\t\t\tvelocity: subnote.velocity,\n\t\t\t\t\t\tstaffTrack: note.staffTrack,\n\t\t\t\t\t\tstaff: note.staff,\n\t\t\t\t\t});\n\n\t\t\t\t\ttrack.push({\n\t\t\t\t\t\tticks: tick + subnote.endTick,\n\t\t\t\t\t\tmeasure: index,\n\t\t\t\t\t\tids: note.ids,\n\t\t\t\t\t\ttype: 'channel',\n\t\t\t\t\t\tsubtype: 'noteOff',\n\t\t\t\t\t\tchannel: note.channel,\n\t\t\t\t\t\tnoteNumber: subnote.pitch,\n\t\t\t\t\t\tvelocity: 0,\n\t\t\t\t\t\tstaffTrack: note.staffTrack,\n\t\t\t\t\t\tstaff: note.staff,\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t});\n\n\t\t\tmeasureTick += measure.duration;\n\t\t});\n\n\t\tconst finalTick = measureTick;\n\n\t\t// ensure no empty track\n\t\tfor (let t = 0; t < tracks.length; ++t) tracks[t] = tracks[t] || [];\n\n\t\t// sort & make deltaTime\n\t\ttracks.forEach((events) => {\n\t\t\tevents.sort((e1, e2) => eventPriority(e1) - eventPriority(e2));\n\n\t\t\tlet ticks = 0;\n\t\t\tevents.forEach((event) => {\n\t\t\t\tevent.deltaTime = event.ticks - ticks;\n\t\t\t\tif (!Number.isFinite(event.deltaTime)) event.deltaTime = 0;\n\t\t\t\telse ticks = event.ticks;\n\t\t\t});\n\n\t\t\tevents.push({ deltaTime: Math.max(finalTick - ticks, 0), type: 'meta', subtype: 'endOfTrack' });\n\t\t});\n\n\t\treturn {\n\t\t\theader: {\n\t\t\t\tformatType: 0,\n\t\t\t\tticksPerBeat: TICKS_PER_BEAT,\n\t\t\t},\n\t\t\ttracks,\n\t\t\tzeroTick,\n\t\t};\n\t}\n\n\ttoPerformingNotationWithEvents(measureIndices: number[], options: { trackList?: boolean[] } = {}): MusicNotation.Notation {\n\t\tif (!measureIndices.length) return null;\n\n\t\tconst { zeroTick, ...midi } = this.toPerformingMIDI(measureIndices, options);\n\t\tconst notation = MusicNotation.Notation.parseMidi(midi);\n\n\t\tassignNotationNoteDataFromEvents(notation);\n\n\t\tlet tick = zeroTick;\n\n\t\tnotation.measures = measureIndices.map((index) => {\n\t\t\tconst startTick = tick;\n\t\t\ttick += this.measures[index - 1].duration;\n\n\t\t\treturn {\n\t\t\t\tindex,\n\t\t\t\tstartTick,\n\t\t\t\tendTick: tick,\n\t\t\t};\n\t\t});\n\n\t\treturn notation;\n\t}\n\n\t// find the MIDI event of setTempo in measures data, and change the value of microsecondsPerBeat\n\tsetTempo(bpm: number): boolean {\n\t\tlet found = false;\n\t\tfor (const measure of this.measures) {\n\t\t\tfor (const event of measure.events) {\n\t\t\t\tif (event.data.subtype === 'setTempo') {\n\t\t\t\t\tevent.data.microsecondsPerBeat = 60e6 / bpm;\n\t\t\t\t\tfound = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn found;\n\t}\n}\n\nconst assignNotationNoteDataFromEvents = (midiNotation: MusicNotation.NotationData, fields = ['ids', 'measure', 'staffTrack']) => {\n\tconst noteId = (channel: number, pitch: number, tick: number): string => `${channel}|${pitch}|${tick}`;\n\n\tconst noteMap = midiNotation.notes.reduce((map, note) => {\n\t\tmap[noteId(note.channel, note.pitch, note.startTick)] = note;\n\n\t\treturn map;\n\t}, {});\n\n\tmidiNotation.events.forEach((event) => {\n\t\tif (event.data.subtype === 'noteOn') {\n\t\t\tconst id = noteId(event.data.channel, event.data.noteNumber, event.ticks);\n\t\t\tconst note = noteMap[id];\n\t\t\tconsole.assert(!!note, 'cannot find note of', id);\n\n\t\t\tif (note) Object.assign(note, pick(event.data, fields));\n\t\t}\n\t});\n};\n\nexport { MetaNote, MetaNotation, MidiEvent };\n",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory();\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\troot.CryptoJS = factory();\n\t}\n}(this, function () {\n\n\t/*globals window, global, require*/\n\n\t/**\n\t * CryptoJS core components.\n\t */\n\tvar CryptoJS = CryptoJS || (function (Math, undefined) {\n\n\t var crypto;\n\n\t // Native crypto from window (Browser)\n\t if (typeof window !== 'undefined' && window.crypto) {\n\t crypto = window.crypto;\n\t }\n\n\t // Native crypto in web worker (Browser)\n\t if (typeof self !== 'undefined' && self.crypto) {\n\t crypto = self.crypto;\n\t }\n\n\t // Native crypto from worker\n\t if (typeof globalThis !== 'undefined' && globalThis.crypto) {\n\t crypto = globalThis.crypto;\n\t }\n\n\t // Native (experimental IE 11) crypto from window (Browser)\n\t if (!crypto && typeof window !== 'undefined' && window.msCrypto) {\n\t crypto = window.msCrypto;\n\t }\n\n\t // Native crypto from global (NodeJS)\n\t if (!crypto && typeof global !== 'undefined' && global.crypto) {\n\t crypto = global.crypto;\n\t }\n\n\t // Native crypto import via require (NodeJS)\n\t if (!crypto && typeof require === 'function') {\n\t try {\n\t crypto = require('crypto');\n\t } catch (err) {}\n\t }\n\n\t /*\n\t * Cryptographically secure pseudorandom number generator\n\t *\n\t * As Math.random() is cryptographically not safe to use\n\t */\n\t var cryptoSecureRandomInt = function () {\n\t if (crypto) {\n\t // Use getRandomValues method (Browser)\n\t if (typeof crypto.getRandomValues === 'function') {\n\t try {\n\t return crypto.getRandomValues(new Uint32Array(1))[0];\n\t } catch (err) {}\n\t }\n\n\t // Use randomBytes method (NodeJS)\n\t if (typeof crypto.randomBytes === 'function') {\n\t try {\n\t return crypto.randomBytes(4).readInt32LE();\n\t } catch (err) {}\n\t }\n\t }\n\n\t throw new Error('Native crypto module could not be used to get secure random number.');\n\t };\n\n\t /*\n\t * Local polyfill of Object.create\n\n\t */\n\t var create = Object.create || (function () {\n\t function F() {}\n\n\t return function (obj) {\n\t var subtype;\n\n\t F.prototype = obj;\n\n\t subtype = new F();\n\n\t F.prototype = null;\n\n\t return subtype;\n\t };\n\t }());\n\n\t /**\n\t * CryptoJS namespace.\n\t */\n\t var C = {};\n\n\t /**\n\t * Library namespace.\n\t */\n\t var C_lib = C.lib = {};\n\n\t /**\n\t * Base object for prototypal inheritance.\n\t */\n\t var Base = C_lib.Base = (function () {\n\n\n\t return {\n\t /**\n\t * Creates a new object that inherits from this object.\n\t *\n\t * @param {Object} overrides Properties to copy into the new object.\n\t *\n\t * @return {Object} The new object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var MyType = CryptoJS.lib.Base.extend({\n\t * field: 'value',\n\t *\n\t * method: function () {\n\t * }\n\t * });\n\t */\n\t extend: function (overrides) {\n\t // Spawn\n\t var subtype = create(this);\n\n\t // Augment\n\t if (overrides) {\n\t subtype.mixIn(overrides);\n\t }\n\n\t // Create default initializer\n\t if (!subtype.hasOwnProperty('init') || this.init === subtype.init) {\n\t subtype.init = function () {\n\t subtype.$super.init.apply(this, arguments);\n\t };\n\t }\n\n\t // Initializer's prototype is the subtype object\n\t subtype.init.prototype = subtype;\n\n\t // Reference supertype\n\t subtype.$super = this;\n\n\t return subtype;\n\t },\n\n\t /**\n\t * Extends this object and runs the init method.\n\t * Arguments to create() will be passed to init().\n\t *\n\t * @return {Object} The new object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var instance = MyType.create();\n\t */\n\t create: function () {\n\t var instance = this.extend();\n\t instance.init.apply(instance, arguments);\n\n\t return instance;\n\t },\n\n\t /**\n\t * Initializes a newly created object.\n\t * Override this method to add some logic when your objects are created.\n\t *\n\t * @example\n\t *\n\t * var MyType = CryptoJS.lib.Base.extend({\n\t * init: function () {\n\t * // ...\n\t * }\n\t * });\n\t */\n\t init: function () {\n\t },\n\n\t /**\n\t * Copies properties into this object.\n\t *\n\t * @param {Object} properties The properties to mix in.\n\t *\n\t * @example\n\t *\n\t * MyType.mixIn({\n\t * field: 'value'\n\t * });\n\t */\n\t mixIn: function (properties) {\n\t for (var propertyName in properties) {\n\t if (properties.hasOwnProperty(propertyName)) {\n\t this[propertyName] = properties[propertyName];\n\t }\n\t }\n\n\t // IE won't copy toString using the loop above\n\t if (properties.hasOwnProperty('toString')) {\n\t this.toString = properties.toString;\n\t }\n\t },\n\n\t /**\n\t * Creates a copy of this object.\n\t *\n\t * @return {Object} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = instance.clone();\n\t */\n\t clone: function () {\n\t return this.init.prototype.extend(this);\n\t }\n\t };\n\t }());\n\n\t /**\n\t * An array of 32-bit words.\n\t *\n\t * @property {Array} words The array of 32-bit words.\n\t * @property {number} sigBytes The number of significant bytes in this word array.\n\t */\n\t var WordArray = C_lib.WordArray = Base.extend({\n\t /**\n\t * Initializes a newly created word array.\n\t *\n\t * @param {Array} words (Optional) An array of 32-bit words.\n\t * @param {number} sigBytes (Optional) The number of significant bytes in the words.\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.lib.WordArray.create();\n\t * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607]);\n\t * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607], 6);\n\t */\n\t init: function (words, sigBytes) {\n\t words = this.words = words || [];\n\n\t if (sigBytes != undefined) {\n\t this.sigBytes = sigBytes;\n\t } else {\n\t this.sigBytes = words.length * 4;\n\t }\n\t },\n\n\t /**\n\t * Converts this word array to a string.\n\t *\n\t * @param {Encoder} encoder (Optional) The encoding strategy to use. Default: CryptoJS.enc.Hex\n\t *\n\t * @return {string} The stringified word array.\n\t *\n\t * @example\n\t *\n\t * var string = wordArray + '';\n\t * var string = wordArray.toString();\n\t * var string = wordArray.toString(CryptoJS.enc.Utf8);\n\t */\n\t toString: function (encoder) {\n\t return (encoder || Hex).stringify(this);\n\t },\n\n\t /**\n\t * Concatenates a word array to this word array.\n\t *\n\t * @param {WordArray} wordArray The word array to append.\n\t *\n\t * @return {WordArray} This word array.\n\t *\n\t * @example\n\t *\n\t * wordArray1.concat(wordArray2);\n\t */\n\t concat: function (wordArray) {\n\t // Shortcuts\n\t var thisWords = this.words;\n\t var thatWords = wordArray.words;\n\t var thisSigBytes = this.sigBytes;\n\t var thatSigBytes = wordArray.sigBytes;\n\n\t // Clamp excess bits\n\t this.clamp();\n\n\t // Concat\n\t if (thisSigBytes % 4) {\n\t // Copy one byte at a time\n\t for (var i = 0; i < thatSigBytes; i++) {\n\t var thatByte = (thatWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t thisWords[(thisSigBytes + i) >>> 2] |= thatByte << (24 - ((thisSigBytes + i) % 4) * 8);\n\t }\n\t } else {\n\t // Copy one word at a time\n\t for (var j = 0; j < thatSigBytes; j += 4) {\n\t thisWords[(thisSigBytes + j) >>> 2] = thatWords[j >>> 2];\n\t }\n\t }\n\t this.sigBytes += thatSigBytes;\n\n\t // Chainable\n\t return this;\n\t },\n\n\t /**\n\t * Removes insignificant bits.\n\t *\n\t * @example\n\t *\n\t * wordArray.clamp();\n\t */\n\t clamp: function () {\n\t // Shortcuts\n\t var words = this.words;\n\t var sigBytes = this.sigBytes;\n\n\t // Clamp\n\t words[sigBytes >>> 2] &= 0xffffffff << (32 - (sigBytes % 4) * 8);\n\t words.length = Math.ceil(sigBytes / 4);\n\t },\n\n\t /**\n\t * Creates a copy of this word array.\n\t *\n\t * @return {WordArray} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = wordArray.clone();\n\t */\n\t clone: function () {\n\t var clone = Base.clone.call(this);\n\t clone.words = this.words.slice(0);\n\n\t return clone;\n\t },\n\n\t /**\n\t * Creates a word array filled with random bytes.\n\t *\n\t * @param {number} nBytes The number of random bytes to generate.\n\t *\n\t * @return {WordArray} The random word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.lib.WordArray.random(16);\n\t */\n\t random: function (nBytes) {\n\t var words = [];\n\n\t for (var i = 0; i < nBytes; i += 4) {\n\t words.push(cryptoSecureRandomInt());\n\t }\n\n\t return new WordArray.init(words, nBytes);\n\t }\n\t });\n\n\t /**\n\t * Encoder namespace.\n\t */\n\t var C_enc = C.enc = {};\n\n\t /**\n\t * Hex encoding strategy.\n\t */\n\t var Hex = C_enc.Hex = {\n\t /**\n\t * Converts a word array to a hex string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The hex string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hexString = CryptoJS.enc.Hex.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\n\t // Convert\n\t var hexChars = [];\n\t for (var i = 0; i < sigBytes; i++) {\n\t var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t hexChars.push((bite >>> 4).toString(16));\n\t hexChars.push((bite & 0x0f).toString(16));\n\t }\n\n\t return hexChars.join('');\n\t },\n\n\t /**\n\t * Converts a hex string to a word array.\n\t *\n\t * @param {string} hexStr The hex string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Hex.parse(hexString);\n\t */\n\t parse: function (hexStr) {\n\t // Shortcut\n\t var hexStrLength = hexStr.length;\n\n\t // Convert\n\t var words = [];\n\t for (var i = 0; i < hexStrLength; i += 2) {\n\t words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << (24 - (i % 8) * 4);\n\t }\n\n\t return new WordArray.init(words, hexStrLength / 2);\n\t }\n\t };\n\n\t /**\n\t * Latin1 encoding strategy.\n\t */\n\t var Latin1 = C_enc.Latin1 = {\n\t /**\n\t * Converts a word array to a Latin1 string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The Latin1 string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var latin1String = CryptoJS.enc.Latin1.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\n\t // Convert\n\t var latin1Chars = [];\n\t for (var i = 0; i < sigBytes; i++) {\n\t var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t latin1Chars.push(String.fromCharCode(bite));\n\t }\n\n\t return latin1Chars.join('');\n\t },\n\n\t /**\n\t * Converts a Latin1 string to a word array.\n\t *\n\t * @param {string} latin1Str The Latin1 string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Latin1.parse(latin1String);\n\t */\n\t parse: function (latin1Str) {\n\t // Shortcut\n\t var latin1StrLength = latin1Str.length;\n\n\t // Convert\n\t var words = [];\n\t for (var i = 0; i < latin1StrLength; i++) {\n\t words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << (24 - (i % 4) * 8);\n\t }\n\n\t return new WordArray.init(words, latin1StrLength);\n\t }\n\t };\n\n\t /**\n\t * UTF-8 encoding strategy.\n\t */\n\t var Utf8 = C_enc.Utf8 = {\n\t /**\n\t * Converts a word array to a UTF-8 string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The UTF-8 string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var utf8String = CryptoJS.enc.Utf8.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t try {\n\t return decodeURIComponent(escape(Latin1.stringify(wordArray)));\n\t } catch (e) {\n\t throw new Error('Malformed UTF-8 data');\n\t }\n\t },\n\n\t /**\n\t * Converts a UTF-8 string to a word array.\n\t *\n\t * @param {string} utf8Str The UTF-8 string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Utf8.parse(utf8String);\n\t */\n\t parse: function (utf8Str) {\n\t return Latin1.parse(unescape(encodeURIComponent(utf8Str)));\n\t }\n\t };\n\n\t /**\n\t * Abstract buffered block algorithm template.\n\t *\n\t * The property blockSize must be implemented in a concrete subtype.\n\t *\n\t * @property {number} _minBufferSize The number of blocks that should be kept unprocessed in the buffer. Default: 0\n\t */\n\t var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base.extend({\n\t /**\n\t * Resets this block algorithm's data buffer to its initial state.\n\t *\n\t * @example\n\t *\n\t * bufferedBlockAlgorithm.reset();\n\t */\n\t reset: function () {\n\t // Initial values\n\t this._data = new WordArray.init();\n\t this._nDataBytes = 0;\n\t },\n\n\t /**\n\t * Adds new data to this block algorithm's buffer.\n\t *\n\t * @param {WordArray|string} data The data to append. Strings are converted to a WordArray using UTF-8.\n\t *\n\t * @example\n\t *\n\t * bufferedBlockAlgorithm._append('data');\n\t * bufferedBlockAlgorithm._append(wordArray);\n\t */\n\t _append: function (data) {\n\t // Convert string to WordArray, else assume WordArray already\n\t if (typeof data == 'string') {\n\t data = Utf8.parse(data);\n\t }\n\n\t // Append\n\t this._data.concat(data);\n\t this._nDataBytes += data.sigBytes;\n\t },\n\n\t /**\n\t * Processes available data blocks.\n\t *\n\t * This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype.\n\t *\n\t * @param {boolean} doFlush Whether all blocks and partial blocks should be processed.\n\t *\n\t * @return {WordArray} The processed data.\n\t *\n\t * @example\n\t *\n\t * var processedData = bufferedBlockAlgorithm._process();\n\t * var processedData = bufferedBlockAlgorithm._process(!!'flush');\n\t */\n\t _process: function (doFlush) {\n\t var processedWords;\n\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\t var dataSigBytes = data.sigBytes;\n\t var blockSize = this.blockSize;\n\t var blockSizeBytes = blockSize * 4;\n\n\t // Count blocks ready\n\t var nBlocksReady = dataSigBytes / blockSizeBytes;\n\t if (doFlush) {\n\t // Round up to include partial blocks\n\t nBlocksReady = Math.ceil(nBlocksReady);\n\t } else {\n\t // Round down to include only full blocks,\n\t // less the number of blocks that must remain in the buffer\n\t nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);\n\t }\n\n\t // Count words ready\n\t var nWordsReady = nBlocksReady * blockSize;\n\n\t // Count bytes ready\n\t var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);\n\n\t // Process blocks\n\t if (nWordsReady) {\n\t for (var offset = 0; offset < nWordsReady; offset += blockSize) {\n\t // Perform concrete-algorithm logic\n\t this._doProcessBlock(dataWords, offset);\n\t }\n\n\t // Remove processed words\n\t processedWords = dataWords.splice(0, nWordsReady);\n\t data.sigBytes -= nBytesReady;\n\t }\n\n\t // Return processed words\n\t return new WordArray.init(processedWords, nBytesReady);\n\t },\n\n\t /**\n\t * Creates a copy of this object.\n\t *\n\t * @return {Object} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = bufferedBlockAlgorithm.clone();\n\t */\n\t clone: function () {\n\t var clone = Base.clone.call(this);\n\t clone._data = this._data.clone();\n\n\t return clone;\n\t },\n\n\t _minBufferSize: 0\n\t });\n\n\t /**\n\t * Abstract hasher template.\n\t *\n\t * @property {number} blockSize The number of 32-bit words this hasher operates on. Default: 16 (512 bits)\n\t */\n\t var Hasher = C_lib.Hasher = BufferedBlockAlgorithm.extend({\n\t /**\n\t * Configuration options.\n\t */\n\t cfg: Base.extend(),\n\n\t /**\n\t * Initializes a newly created hasher.\n\t *\n\t * @param {Object} cfg (Optional) The configuration options to use for this hash computation.\n\t *\n\t * @example\n\t *\n\t * var hasher = CryptoJS.algo.SHA256.create();\n\t */\n\t init: function (cfg) {\n\t // Apply config defaults\n\t this.cfg = this.cfg.extend(cfg);\n\n\t // Set initial values\n\t this.reset();\n\t },\n\n\t /**\n\t * Resets this hasher to its initial state.\n\t *\n\t * @example\n\t *\n\t * hasher.reset();\n\t */\n\t reset: function () {\n\t // Reset data buffer\n\t BufferedBlockAlgorithm.reset.call(this);\n\n\t // Perform concrete-hasher logic\n\t this._doReset();\n\t },\n\n\t /**\n\t * Updates this hasher with a message.\n\t *\n\t * @param {WordArray|string} messageUpdate The message to append.\n\t *\n\t * @return {Hasher} This hasher.\n\t *\n\t * @example\n\t *\n\t * hasher.update('message');\n\t * hasher.update(wordArray);\n\t */\n\t update: function (messageUpdate) {\n\t // Append\n\t this._append(messageUpdate);\n\n\t // Update the hash\n\t this._process();\n\n\t // Chainable\n\t return this;\n\t },\n\n\t /**\n\t * Finalizes the hash computation.\n\t * Note that the finalize operation is effectively a destructive, read-once operation.\n\t *\n\t * @param {WordArray|string} messageUpdate (Optional) A final message update.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @example\n\t *\n\t * var hash = hasher.finalize();\n\t * var hash = hasher.finalize('message');\n\t * var hash = hasher.finalize(wordArray);\n\t */\n\t finalize: function (messageUpdate) {\n\t // Final message update\n\t if (messageUpdate) {\n\t this._append(messageUpdate);\n\t }\n\n\t // Perform concrete-hasher logic\n\t var hash = this._doFinalize();\n\n\t return hash;\n\t },\n\n\t blockSize: 512/32,\n\n\t /**\n\t * Creates a shortcut function to a hasher's object interface.\n\t *\n\t * @param {Hasher} hasher The hasher to create a helper for.\n\t *\n\t * @return {Function} The shortcut function.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256);\n\t */\n\t _createHelper: function (hasher) {\n\t return function (message, cfg) {\n\t return new hasher.init(cfg).finalize(message);\n\t };\n\t },\n\n\t /**\n\t * Creates a shortcut function to the HMAC's object interface.\n\t *\n\t * @param {Hasher} hasher The hasher to use in this HMAC helper.\n\t *\n\t * @return {Function} The shortcut function.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256);\n\t */\n\t _createHmacHelper: function (hasher) {\n\t return function (message, key) {\n\t return new C_algo.HMAC.init(hasher, key).finalize(message);\n\t };\n\t }\n\t });\n\n\t /**\n\t * Algorithm namespace.\n\t */\n\t var C_algo = C.algo = {};\n\n\t return C;\n\t}(Math));\n\n\n\treturn CryptoJS;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function (Math) {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var Hasher = C_lib.Hasher;\n\t var C_algo = C.algo;\n\n\t // Initialization and round constants tables\n\t var H = [];\n\t var K = [];\n\n\t // Compute constants\n\t (function () {\n\t function isPrime(n) {\n\t var sqrtN = Math.sqrt(n);\n\t for (var factor = 2; factor <= sqrtN; factor++) {\n\t if (!(n % factor)) {\n\t return false;\n\t }\n\t }\n\n\t return true;\n\t }\n\n\t function getFractionalBits(n) {\n\t return ((n - (n | 0)) * 0x100000000) | 0;\n\t }\n\n\t var n = 2;\n\t var nPrime = 0;\n\t while (nPrime < 64) {\n\t if (isPrime(n)) {\n\t if (nPrime < 8) {\n\t H[nPrime] = getFractionalBits(Math.pow(n, 1 / 2));\n\t }\n\t K[nPrime] = getFractionalBits(Math.pow(n, 1 / 3));\n\n\t nPrime++;\n\t }\n\n\t n++;\n\t }\n\t }());\n\n\t // Reusable object\n\t var W = [];\n\n\t /**\n\t * SHA-256 hash algorithm.\n\t */\n\t var SHA256 = C_algo.SHA256 = Hasher.extend({\n\t _doReset: function () {\n\t this._hash = new WordArray.init(H.slice(0));\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\t // Shortcut\n\t var H = this._hash.words;\n\n\t // Working variables\n\t var a = H[0];\n\t var b = H[1];\n\t var c = H[2];\n\t var d = H[3];\n\t var e = H[4];\n\t var f = H[5];\n\t var g = H[6];\n\t var h = H[7];\n\n\t // Computation\n\t for (var i = 0; i < 64; i++) {\n\t if (i < 16) {\n\t W[i] = M[offset + i] | 0;\n\t } else {\n\t var gamma0x = W[i - 15];\n\t var gamma0 = ((gamma0x << 25) | (gamma0x >>> 7)) ^\n\t ((gamma0x << 14) | (gamma0x >>> 18)) ^\n\t (gamma0x >>> 3);\n\n\t var gamma1x = W[i - 2];\n\t var gamma1 = ((gamma1x << 15) | (gamma1x >>> 17)) ^\n\t ((gamma1x << 13) | (gamma1x >>> 19)) ^\n\t (gamma1x >>> 10);\n\n\t W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16];\n\t }\n\n\t var ch = (e & f) ^ (~e & g);\n\t var maj = (a & b) ^ (a & c) ^ (b & c);\n\n\t var sigma0 = ((a << 30) | (a >>> 2)) ^ ((a << 19) | (a >>> 13)) ^ ((a << 10) | (a >>> 22));\n\t var sigma1 = ((e << 26) | (e >>> 6)) ^ ((e << 21) | (e >>> 11)) ^ ((e << 7) | (e >>> 25));\n\n\t var t1 = h + sigma1 + ch + K[i] + W[i];\n\t var t2 = sigma0 + maj;\n\n\t h = g;\n\t g = f;\n\t f = e;\n\t e = (d + t1) | 0;\n\t d = c;\n\t c = b;\n\t b = a;\n\t a = (t1 + t2) | 0;\n\t }\n\n\t // Intermediate hash value\n\t H[0] = (H[0] + a) | 0;\n\t H[1] = (H[1] + b) | 0;\n\t H[2] = (H[2] + c) | 0;\n\t H[3] = (H[3] + d) | 0;\n\t H[4] = (H[4] + e) | 0;\n\t H[5] = (H[5] + f) | 0;\n\t H[6] = (H[6] + g) | 0;\n\t H[7] = (H[7] + h) | 0;\n\t },\n\n\t _doFinalize: function () {\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\n\t var nBitsTotal = this._nDataBytes * 8;\n\t var nBitsLeft = data.sigBytes * 8;\n\n\t // Add padding\n\t dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000);\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal;\n\t data.sigBytes = dataWords.length * 4;\n\n\t // Hash final blocks\n\t this._process();\n\n\t // Return final computed hash\n\t return this._hash;\n\t },\n\n\t clone: function () {\n\t var clone = Hasher.clone.call(this);\n\t clone._hash = this._hash.clone();\n\n\t return clone;\n\t }\n\t });\n\n\t /**\n\t * Shortcut function to the hasher's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hash = CryptoJS.SHA256('message');\n\t * var hash = CryptoJS.SHA256(wordArray);\n\t */\n\t C.SHA256 = Hasher._createHelper(SHA256);\n\n\t /**\n\t * Shortcut function to the HMAC's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hmac = CryptoJS.HmacSHA256(message, key);\n\t */\n\t C.HmacSHA256 = Hasher._createHmacHelper(SHA256);\n\t}(Math));\n\n\n\treturn CryptoJS.SHA256;\n\n}));","import _SHA256 from 'crypto-js/sha256';\n\nconst SHA256 = (source: string): Uint8Array => {\n\tconst { words, sigBytes } = _SHA256(source);\n\tconst uwords = words.map((x) => (x < 0 ? x + 0x100000000 : x));\n\tconst word_len = sigBytes / words.length;\n\n\treturn new Uint8Array(sigBytes).map((_, i) => (uwords[Math.floor(i / word_len)] >> ((3 - (i % word_len)) * 8)) & 0xff);\n};\n\ntype Hash = Uint8Array;\nconst HASH_LEN = 256;\n\nclass HashVector {\n\tfields: number[];\n\n\tstatic fromHash(hash: Hash): HashVector {\n\t\tconst fields = [];\n\t\tfor (const byte of hash) {\n\t\t\tfor (let b = 0; b < 8; ++b) fields.push((byte >> b) & 1 ? 1 : -1);\n\t\t}\n\n\t\treturn new HashVector(fields);\n\t}\n\n\tstatic fromString(source: string): HashVector {\n\t\tconst hash = SHA256(source);\n\t\treturn HashVector.fromHash(hash);\n\t}\n\n\tstatic fromWords(words: string[]): HashVector {\n\t\tconst vs = words.map((word) => HashVector.fromString(word));\n\t\treturn vs.reduce((sum, v) => sum.add(v), HashVector.zero);\n\t}\n\n\tstatic concat(...vectors: HashVector[]): HashVector {\n\t\tconst fields = vectors.map((v) => v.fields).flat(1);\n\n\t\treturn new HashVector(fields);\n\t}\n\n\tconstructor(fields: number[] | null = null) {\n\t\tthis.fields = fields || Array(HASH_LEN).fill(0);\n\t}\n\n\tget length(): number {\n\t\treturn this.fields.length;\n\t}\n\n\ttoHash(): Hash {\n\t\treturn Uint8Array.from(\n\t\t\tArray(this.length / 8)\n\t\t\t\t.fill(0)\n\t\t\t\t.map((_, i) => {\n\t\t\t\t\tconst bits = this.fields.slice(i * 8, (i + 1) * 8);\n\n\t\t\t\t\treturn bits.reduce((byte, bit, b) => byte | ((bit > 0 ? 1 : 0) << b), 0);\n\t\t\t\t})\n\t\t) as Hash;\n\t}\n\n\tadd(vec: HashVector): this {\n\t\tthis.fields.forEach((value, i) => (this.fields[i] = value + vec.fields[i]));\n\n\t\treturn this;\n\t}\n\n\tscale(factor: number): this {\n\t\tthis.fields = this.fields.map((value) => value * factor);\n\n\t\treturn this;\n\t}\n\n\tsub(crop: number): HashVector {\n\t\tconst fields = crop > 0 ? this.fields.slice(0, crop) : this.fields.slice(crop);\n\t\treturn new HashVector(fields);\n\t}\n\n\tstatic get zero(): HashVector {\n\t\treturn new HashVector();\n\t}\n}\n\nconst odds = (byte: number): number => {\n\tlet result = 0;\n\tfor (let b = byte; b > 0; b >>= 1) {\n\t\tif (b % 2) ++result;\n\t}\n\n\treturn result;\n};\nconst ODDS = Array(2 ** 8)\n\t.fill(0)\n\t.map((_, i) => odds(i));\nconst ODDS_HEX = ODDS.reduce((table, odd, i) => ({ ...table, [('0' + i.toString(16)).slice(-2)]: odd }), {});\n\nconst countOnes = (hash: Hash): number => hash.reduce((sum, byte) => sum + ODDS[byte], 0);\n\nconst xorHashes = (hash1: Hash, hash2: Hash): Hash => hash1.map((byte, i) => byte ^ hash2[i]) as Hash;\n\nconst cosHashes = (hash1: Hash, hash2: Hash): number => {\n\tconst len = hash1.length * 8;\n\n\tconst xor = xorHashes(hash1, hash2);\n\tconst ones = countOnes(xor);\n\n\treturn (len - ones * 2) / len;\n};\n\nconst cosBigInts = (hash1: bigint, hash2: bigint, len: number = HASH_LEN): number => {\n\tconst xor = hash1 ^ hash2;\n\tconst xor_hex = '0'.repeat(len / 4) + xor.toString(16);\n\n\tconst ones = Array(len / 8)\n\t\t.fill(0)\n\t\t.reduce((ones, _, i) => ones + ODDS_HEX[xor_hex.slice((i + 1) * -2, i ? i * -2 : undefined)], 0);\n\n\treturn (len - ones * 2) / len;\n};\n\nconst i2hex = (i) => ('0' + i.toString(16)).slice(-2);\nconst hashToHex = (hash: Hash): string => Array.from(hash).map(i2hex).join('');\n\nconst hexToHash = (hex: string): Hash =>\n\tUint8Array.from(\n\t\tArray(hex.length / 2)\n\t\t\t.fill(0)\n\t\t\t.map((_, i) => hex.substring(i * 2, (i + 1) * 2))\n\t\t\t.map((x) => parseInt(x, 16))\n\t);\n\nconst hashToBigInt = (hash: Hash): bigint => {\n\t// __NOT_FOR_BROWSER_\n\treturn Array.from(hash).reduce((r, x) => r * 0x100n + BigInt(x), 0n);\n\t/*\n\t// _NOT_FOR_BROWSER__\n\tthrow new Error('BigInt not supported');\n\t//*/\n};\n\nconst hashFromWords = (words: string[]): Hash => HashVector.fromWords(words).toHash();\n\nexport { Hash, HashVector, cosHashes, cosBigInts, hashToHex, hexToHash, hashToBigInt, hashFromWords };\n","var Sylvester = {}\n\nSylvester.Matrix = function () {}\n\nSylvester.Matrix.create = function (elements) {\n var M = new Sylvester.Matrix()\n return M.setElements(elements)\n}\n\nSylvester.Matrix.I = function (n) {\n var els = [],\n i = n,\n j\n while (i--) {\n j = n\n els[i] = []\n while (j--) {\n els[i][j] = i === j ? 1 : 0\n }\n }\n return Sylvester.Matrix.create(els)\n}\n\nSylvester.Matrix.prototype = {\n dup: function () {\n return Sylvester.Matrix.create(this.elements)\n },\n\n isSquare: function () {\n var cols = this.elements.length === 0 ? 0 : this.elements[0].length\n return this.elements.length === cols\n },\n\n toRightTriangular: function () {\n if (this.elements.length === 0) return Sylvester.Matrix.create([])\n var M = this.dup(),\n els\n var n = this.elements.length,\n i,\n j,\n np = this.elements[0].length,\n p\n for (i = 0; i < n; i++) {\n if (M.elements[i][i] === 0) {\n for (j = i + 1; j < n; j++) {\n if (M.elements[j][i] !== 0) {\n els = []\n for (p = 0; p < np; p++) {\n els.push(M.elements[i][p] + M.elements[j][p])\n }\n M.elements[i] = els\n break\n }\n }\n }\n if (M.elements[i][i] !== 0) {\n for (j = i + 1; j < n; j++) {\n var multiplier = M.elements[j][i] / M.elements[i][i]\n els = []\n for (p = 0; p < np; p++) {\n // Elements with column numbers up to an including the number of the\n // row that we're subtracting can safely be set straight to zero,\n // since that's the point of this routine and it avoids having to\n // loop over and correct rounding errors later\n els.push(\n p <= i ? 0 : M.elements[j][p] - M.elements[i][p] * multiplier\n )\n }\n M.elements[j] = els\n }\n }\n }\n return M\n },\n\n determinant: function () {\n if (this.elements.length === 0) {\n return 1\n }\n if (!this.isSquare()) {\n return null\n }\n var M = this.toRightTriangular()\n var det = M.elements[0][0],\n n = M.elements.length\n for (var i = 1; i < n; i++) {\n det = det * M.elements[i][i]\n }\n return det\n },\n\n isSingular: function () {\n return this.isSquare() && this.determinant() === 0\n },\n\n augment: function (matrix) {\n if (this.elements.length === 0) {\n return this.dup()\n }\n var M = matrix.elements || matrix\n if (typeof M[0][0] === 'undefined') {\n M = Sylvester.Matrix.create(M).elements\n }\n var T = this.dup(),\n cols = T.elements[0].length\n var i = T.elements.length,\n nj = M[0].length,\n j\n if (i !== M.length) {\n return null\n }\n while (i--) {\n j = nj\n while (j--) {\n T.elements[i][cols + j] = M[i][j]\n }\n }\n return T\n },\n\n inverse: function () {\n if (this.elements.length === 0) {\n return null\n }\n if (!this.isSquare() || this.isSingular()) {\n return null\n }\n var n = this.elements.length,\n i = n,\n j\n var M = this.augment(Sylvester.Matrix.I(n)).toRightTriangular()\n var np = M.elements[0].length,\n p,\n els,\n divisor\n var inverse_elements = [],\n new_element\n // Sylvester.Matrix is non-singular so there will be no zeros on the\n // diagonal. Cycle through rows from last to first.\n while (i--) {\n // First, normalise diagonal elements to 1\n els = []\n inverse_elements[i] = []\n divisor = M.elements[i][i]\n for (p = 0; p < np; p++) {\n new_element = M.elements[i][p] / divisor\n els.push(new_element)\n // Shuffle off the current row of the right hand side into the results\n // array as it will not be modified by later runs through this loop\n if (p >= n) {\n inverse_elements[i].push(new_element)\n }\n }\n M.elements[i] = els\n // Then, subtract this row from those above it to give the identity matrix\n // on the left hand side\n j = i\n while (j--) {\n els = []\n for (p = 0; p < np; p++) {\n els.push(M.elements[j][p] - M.elements[i][p] * M.elements[j][i])\n }\n M.elements[j] = els\n }\n }\n return Sylvester.Matrix.create(inverse_elements)\n },\n\n setElements: function (els) {\n var i,\n j,\n elements = els.elements || els\n if (elements[0] && typeof elements[0][0] !== 'undefined') {\n i = elements.length\n this.elements = []\n while (i--) {\n j = elements[i].length\n this.elements[i] = []\n while (j--) {\n this.elements[i][j] = elements[i][j]\n }\n }\n return this\n }\n var n = elements.length\n this.elements = []\n for (i = 0; i < n; i++) {\n this.elements.push([elements[i]])\n }\n return this\n },\n}\n\nmodule.exports = function (elements) {\n const mat = Sylvester.Matrix.create(elements).inverse()\n if (mat !== null) {\n return mat.elements\n } else {\n return null\n }\n}\n","import matrixInverse from 'matrix-inverse';\n\nimport { Fraction } from './interfaces';\nimport { fractionMul, reducedFraction, roundNumber } from './utils';\nimport { Logger, DummyLogger } from './logger';\n\ntype Matrix = number[][];\ntype EventID = number;\ntype Time = number;\ntype EventSet = Set;\ntype Equation = number[];\n\nconst EOM = -1; // end event id of measure\n\n//const GREAT_NUMBER = 16 * 9 * 5 * 7 * 11 * 13 * 17 * 19 * 23;\nconst GREAT_NUMBER = 1920;\n\nconst DURATION_MULTIPLIER = 128 * 3 * 5 * 7 * 11 * 13;\n\nconst floatToFrac = (x: number): Fraction => {\n\tconst n = Math.round(x * GREAT_NUMBER);\n\n\treturn reducedFraction(n, GREAT_NUMBER);\n};\n\nconst floatToTimeWarp = (x: number): Fraction => {\n\tif (x === 1) return null;\n\n\treturn floatToFrac(x);\n};\n\ninterface Stage {\n\tevents: EventID[];\n\tindex?: number;\n\ttick?: Time;\n}\n\nenum ActionType {\n\tPLACE,\n\tVERTICAL,\n\tHORIZONTAL,\n}\n\nclass Action {\n\ttype: ActionType;\n\te1: EventID;\n\te2?: EventID;\n\n\tconstructor(data: any) {\n\t\tObject.assign(this, data);\n\t}\n\n\tstatic P(e: EventID): Action {\n\t\treturn new Action({\n\t\t\ttype: ActionType.PLACE,\n\t\t\te1: e,\n\t\t});\n\t}\n\n\tstatic V(e1: EventID, e2: EventID, order: number = 1): Action {\n\t\treturn new Action({\n\t\t\ttype: ActionType.VERTICAL,\n\t\t\te1: order > 0 ? e1 : e2,\n\t\t\te2: order > 0 ? e2 : e1,\n\t\t});\n\t}\n\n\tstatic H(e1: EventID, e2: EventID): Action {\n\t\treturn new Action({\n\t\t\ttype: ActionType.HORIZONTAL,\n\t\t\te1,\n\t\t\te2,\n\t\t});\n\t}\n\n\tget id(): string {\n\t\tswitch (this.type) {\n\t\t\tcase ActionType.PLACE:\n\t\t\t\treturn this.e1.toString();\n\n\t\t\tcase ActionType.VERTICAL:\n\t\t\t\treturn `${this.e1}|${this.e2}`;\n\n\t\t\tcase ActionType.HORIZONTAL:\n\t\t\t\treturn `${this.e1}-${this.e2 >= 0 ? this.e2 : '.'}`;\n\t\t}\n\t}\n\n\tget events(): EventID[] {\n\t\treturn [this.e1, this.e2].filter(Number.isFinite);\n\t}\n}\n\ninterface Quota {\n\tcredits: number;\n}\n\ninterface BasicEvent {\n\tid: EventID;\n\tconfidence: number;\n\tshrinkness: number; // the possibility of time warp\n\tx: number;\n\tstaff?: number;\n\tduration: Time;\n}\n\ninterface Event extends BasicEvent {\n\tlowWarp: number;\n}\n\ninterface EventResult {\n\tid: EventID;\n\ttick: Time;\n\tendTick: Time;\n\ttickGroup: number;\n\ttimeWarp?: Fraction;\n}\n\ninterface Environment {\n\tevents: BasicEvent[];\n\texpectedDuration: Time;\n\tmeasureShrinkness: number;\n\tendX: number;\n\tmatrixH: Matrix;\n\tmatrixV: Matrix;\n}\n\ninterface Solution {\n\tevents: EventResult[];\n\tvoices: EventID[][];\n\tduration: number;\n\n\tloss?: number;\n\tactions?: string;\n\tcredits?: number;\n\ttimes?: number;\n}\n\ninterface Status {\n\tactionAccessing: Map;\n\teventMap: { [id: number]: Event };\n\teventTendencies: number[];\n\tmatrixH: Matrix; // matrix N+1 x N\t\t[right][left]\n\tmatrixV: Matrix; // matrix N x N\n}\n\ninterface NodeBranch {\n\taction: Action;\n\tpossibility: number;\n}\n\ntype Path = EventID[];\n\ninterface InbalanceEquations {\n\tones: boolean[];\n\tinbalances: Equation[];\n}\n\ninterface SolverOptions {\n\tquota?: number;\n\tlogger?: Logger;\n}\n\nclass StageMatrix {\n\tmatrix: EventSet[][];\n\n\tstatic fromNode(node: PathNode, status: Status): StageMatrix {\n\t\tconst matrix = Array(node.stages.length)\n\t\t\t.fill(null)\n\t\t\t.map(() =>\n\t\t\t\tArray(node.stages.length)\n\t\t\t\t\t.fill(null)\n\t\t\t\t\t.map(() => new Set())\n\t\t\t);\n\n\t\tnode.actions\n\t\t\t.filter((action) => action.type === ActionType.HORIZONTAL)\n\t\t\t.forEach((action) => {\n\t\t\t\tconst stage1 = node.stages.findIndex((stage) => stage.events.includes(action.e1));\n\t\t\t\tconst stage2 = node.stages.findIndex((stage) => stage.events.includes(action.e2));\n\t\t\t\tconsole.assert(stage1 >= 0 && stage2 >= 0, 'invalid stages for H action:', node.id, node.stages, action);\n\n\t\t\t\tmatrix[stage1][stage2].add(action.e1);\n\t\t\t});\n\t\tmatrix[0][node.stages.length - 1].add(0); // the entire measure edge\n\n\t\tconst stagedEvents = node.stagedEvents;\n\t\tconst endHs = status.matrixH[status.matrixH.length - 1].filter((_, i) => !stagedEvents.has(i));\n\t\tconst endHP = Math.max(0, Math.max(...endHs) - 0.01);\n\n\t\tconst hActions = node.actions.filter((action) => action.type === ActionType.HORIZONTAL);\n\n\t\tconst pendingHeads = Object.keys(status.eventMap)\n\t\t\t.map(Number)\n\t\t\t.filter((eid) => !hActions.find((action) => action.e2 === eid));\n\n\t\t// edges to end stage\n\t\tnode.stages.forEach((stage) => {\n\t\t\tstage.events.forEach((eid) => {\n\t\t\t\tif (eid > 0) {\n\t\t\t\t\tconst act = hActions.find((action) => action.e1 === eid);\n\t\t\t\t\tif (!act && status.matrixH[status.matrixH.length - 1][eid] >= endHP) {\n\t\t\t\t\t\tif (!pendingHeads.some((id) => status.matrixH[id][eid] > 0)) matrix[stage.index][node.stages.length - 1].add(eid);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\treturn new StageMatrix({ matrix });\n\t}\n\n\tconstructor(data: any) {\n\t\tObject.assign(this, data);\n\t}\n\n\tpathOf(x: number, y: number, target: number, ei: number = 0): Path {\n\t\tif (this.matrix[x][y].size) {\n\t\t\tconst eid = [...this.matrix[x][y]][ei];\n\t\t\tif (y === target) return [eid];\n\n\t\t\tfor (let yy = y + 1; yy <= target; ++yy) {\n\t\t\t\tconst sub = this.pathOf(y, yy, target);\n\t\t\t\tif (sub) return [eid, ...sub];\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfindDoublePath(s1: number, s2: number): [Path, Path] {\n\t\tconst paths = [];\n\t\tfor (let t = s2; t >= s1 + 1; --t) {\n\t\t\tfor (let ei = 0; ei < this.matrix[s1][t].size; ++ei) {\n\t\t\t\tconst path = this.pathOf(s1, t, s2, ei);\n\t\t\t\tif (path) {\n\t\t\t\t\tpaths.push(path);\n\t\t\t\t\tif (paths.length === 2) return [paths[0], paths[1]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\treducePath(path: Path): void {\n\t\tthis.matrix.forEach((column) => column.forEach((set) => path.forEach((id) => set.delete(id))));\n\t}\n\n\ttoEquations(eventCount: number): Equation[] {\n\t\tconst equations: Equation[] = [];\n\n\t\tfor (let d = 1; d < this.matrix.length; d++) {\n\t\t\tfor (let s1 = 0; s1 < this.matrix.length - d; s1++) {\n\t\t\t\tconst s2 = s1 + d;\n\n\t\t\t\twhile (true) {\n\t\t\t\t\t// find closed loop from s1 to s2\n\t\t\t\t\tconst paths = this.findDoublePath(s1, s2);\n\t\t\t\t\tif (paths) {\n\t\t\t\t\t\tconst [path1, path2] = paths;\n\t\t\t\t\t\tconst equation = Array(eventCount).fill(0);\n\t\t\t\t\t\tpath1.forEach((eid) => (equation[eid] = 1));\n\t\t\t\t\t\tpath2.forEach((eid) => (equation[eid] = -1));\n\t\t\t\t\t\tequations.push(equation);\n\n\t\t\t\t\t\tthis.reducePath(path1.length > path2.length ? path1 : path2);\n\t\t\t\t\t} else break;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn equations;\n\t}\n}\n\nclass PathNode {\n\tlogger: Logger;\n\n\tparent: PathNode;\n\taction: Action;\n\tpossibility: number;\n\tchildren: PathNode[];\n\n\tstages: Stage[];\n\t//stageMatrix: StageMatrix;\n\tconstraints: Equation[];\n\n\tconstructor(data: any) {\n\t\tObject.assign(this, data);\n\n\t\tconsole.assert(this.logger, 'logger is null:', data);\n\t}\n\n\tget actions(): Action[] {\n\t\tconst last = this.parent ? this.parent.actions : [];\n\t\treturn this.action ? [...last, this.action] : last;\n\t}\n\n\tget id(): string {\n\t\tconst actionIds = this.actions.map((action) => action.id).sort();\n\t\treturn actionIds.join(' ');\n\t}\n\n\tget stagedEvents(): Set {\n\t\tconst set = new Set();\n\t\tif (this.stages) this.stages.forEach((stage) => stage.events.forEach((eid) => eid >= 0 && set.add(eid)));\n\n\t\treturn set;\n\t}\n\n\tlike(ids: string): boolean {\n\t\tconst actionIds = ids.split(' ').sort();\n\t\treturn actionIds.join(' ') === this.id;\n\t}\n\n\tconstructStages(status: Status): void {\n\t\tthis.stages = [{ events: [EOM] }];\n\n\t\tfor (const action of this.actions) {\n\t\t\tswitch (action.type) {\n\t\t\t\tcase ActionType.PLACE:\n\t\t\t\t\tthis.stages.unshift({ events: [action.e1] });\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase ActionType.VERTICAL:\n\t\t\t\t\t{\n\t\t\t\t\t\tconst stage1 = this.stages.find((stage) => stage.events.includes(action.e1));\n\t\t\t\t\t\tconst stage2 = this.stages.find((stage) => stage.events.includes(action.e2));\n\t\t\t\t\t\tconsole.assert(stage1 || stage2, 'invalid V action:', this.stages, action);\n\n\t\t\t\t\t\tif (stage1 && stage2) {\n\t\t\t\t\t\t\tstage1.events.push(...stage2.events);\n\t\t\t\t\t\t\tstage2.events = null;\n\t\t\t\t\t\t\tthis.stages = this.stages.filter((stage) => stage.events);\n\t\t\t\t\t\t} else if (!stage1) stage2.events.unshift(action.e1);\n\t\t\t\t\t\telse if (!stage2) stage1.events.push(action.e2);\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase ActionType.HORIZONTAL:\n\t\t\t\t\t{\n\t\t\t\t\t\tconst stage1 = this.stages.find((stage) => stage.events.includes(action.e1));\n\t\t\t\t\t\tconst stage2 = this.stages.find((stage) => stage.events.includes(action.e2));\n\t\t\t\t\t\tconsole.assert(stage1 || stage2, 'invalid H action:', this.stages, action);\n\n\t\t\t\t\t\tconst newStage = (eid) => {\n\t\t\t\t\t\t\tconsole.assert(status.eventMap[eid], 'invalid event id:', action.id, eid, status.eventMap);\n\t\t\t\t\t\t\tconst x = status.eventMap[eid].x;\n\n\t\t\t\t\t\t\tconst stage = this.stages.find(\n\t\t\t\t\t\t\t\t(s) => s.events.some((e) => e > 0 && status.eventMap[e].x <= x) && s.events.some((e) => e > 0 && status.eventMap[e].x >= x)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tif (stage) stage.events.push(eid);\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tconst newStage = { events: [eid] };\n\t\t\t\t\t\t\t\tconst si = this.stages.findIndex((s) => s.events[0] === EOM || status.eventMap[s.events[0]].x >= x);\n\t\t\t\t\t\t\t\tthis.stages.splice(si, 0, newStage);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t};\n\t\t\t\t\t\tif (!stage1) newStage(action.e1);\n\t\t\t\t\t\tif (!stage2) newStage(action.e2);\n\n\t\t\t\t\t\t/*if (this.stages.some((s, si) => si < this.stages.length - 2\n\t\t\t\t\t&& s.events.some(e1 => this.stages[si + 1].events.some(e2 => status.eventMap[e2].x <= status.eventMap[e1].x))))\n\t\t\t\t\tdebugger;*/\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tthis.stages.forEach((stage, i) => (stage.index = i));\n\t}\n\n\tconstructConstraints(status: Status): void {\n\t\tconst eventCount = Object.keys(status.eventMap).length;\n\t\tconst stageMatrix = StageMatrix.fromNode(this, status);\n\t\tconst equations = stageMatrix.toEquations(eventCount);\n\n\t\tconst factors = Array(eventCount)\n\t\t\t.fill(null)\n\t\t\t.map((_, id) => status.eventMap[id].duration);\n\t\tthis.constraints = equations.map((equation) => equation.map((it, i) => it * factors[i]));\n\t}\n\n\tinbalancesConstraints(status: Status): InbalanceEquations {\n\t\tconsole.assert(this.constraints, 'constraints not constructed.');\n\n\t\tconst eventCount = Object.keys(status.eventMap).length;\n\t\tconst ones = Array(eventCount).fill(true);\n\t\tconst fixed = Array(eventCount).fill(false);\n\n\t\tconst inbalances: Equation[] = [];\n\n\t\tfor (const constraint of this.constraints) {\n\t\t\tconst sum = constraint.reduce((sum, it) => sum + it, 0);\n\t\t\tif (sum !== 0) {\n\t\t\t\tconst c = sum < 0 ? constraint.map((it) => -it) : constraint;\n\t\t\t\tif (c[0] > 0) continue; // entire measure edge usually is larger than others, no effect\n\n\t\t\t\tinbalances.push(c);\n\n\t\t\t\t// set ones for tight items\n\t\t\t\tc.forEach((it, i) => {\n\t\t\t\t\tfixed[i] = fixed[i] || it < 0;\n\t\t\t\t\tif (it) ones[i] = it < 0 || fixed[i];\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\t// pick out influenced equations\n\t\tthis.constraints.forEach((constraint) => {\n\t\t\tconst sum = constraint.reduce((sum, it) => sum + it, 0);\n\t\t\tif (sum === 0 && !constraint[0]) {\n\t\t\t\tif (constraint.some((it, i) => it && !ones[i])) {\n\t\t\t\t\tconstraint.forEach((it, i) => it && (ones[i] = false));\n\t\t\t\t\tinbalances.push(constraint);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\treturn { ones, inbalances };\n\t}\n\n\tsolveEquations({ ones, inbalances }: InbalanceEquations): number[] {\n\t\tif (!inbalances.length) return ones.map(() => 1);\n\n\t\tconst xis = ones\n\t\t\t.map((fixed, i) => ({ fixed, i }))\n\t\t\t.filter(({ fixed }) => !fixed)\n\t\t\t.map(({ i }) => i)\n\t\t\t.filter((i) => inbalances.some((items) => items[i] !== 0));\n\t\tif (!xis.length) return ones.map(() => 1);\n\n\t\tconst factors = xis.map((i) => Math.abs(inbalances.find((items) => items[i] !== 0)[i]));\n\n\t\ttype Line = { line: number[]; bias: number };\n\n\t\tconst equationMap = new Map();\n\t\tlet conflicted = false;\n\n\t\tconst lines: Line[] = inbalances\n\t\t\t.map((items) => {\n\t\t\t\tconst line = items.filter((_, i) => xis.includes(i));\n\t\t\t\tconst bias = -items.reduce((sum, it, i) => sum + (xis.includes(i) ? 0 : it), 0);\n\n\t\t\t\treturn { line, bias };\n\t\t\t\t// remove duplicated equations\n\t\t\t})\n\t\t\t.filter(({ line, bias }) => {\n\t\t\t\tif (line.every((it) => it === 0)) return false;\n\n\t\t\t\tconst id = line.join(',');\n\t\t\t\tif (equationMap.has(id)) {\n\t\t\t\t\tconflicted = equationMap.get(id) !== bias;\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tequationMap.set(id, bias);\n\n\t\t\t\treturn true;\n\t\t\t});\n\n\t\tif (conflicted) return null;\n\n\t\tconst squareLines = lines.slice(0, xis.length);\n\t\tconst restLines = lines.slice(xis.length);\n\t\tif (squareLines.length < xis.length) {\n\t\t\tconst candidateLines = [];\n\t\t\tfor (let i1 = 0; i1 < xis.length - 1; ++i1) {\n\t\t\t\tconst i2 = i1 + 1;\n\t\t\t\tconst line = {\n\t\t\t\t\tline: xis.map((_, i) => (i === i1 ? 1 : i === i2 ? -1 : 0)),\n\t\t\t\t\tbias: 0,\n\t\t\t\t\tprior: (factors[i1] + factors[i2]) / DURATION_MULTIPLIER,\n\t\t\t\t};\n\t\t\t\tif (squareLines.some((sl) => sl.line[i1] && sl.line[i2])) line.prior -= 10;\n\t\t\t\tif (squareLines.some((sl) => sl.line.filter(Number).length === 1 && (sl.line[i1] || sl.line[i2]))) line.prior += 1;\n\t\t\t\tcandidateLines.push(line);\n\t\t\t}\n\t\t\tcandidateLines.sort((c1, c2) => c1.prior - c2.prior);\n\n\t\t\tsquareLines.push(...candidateLines.slice(0, xis.length - squareLines.length));\n\t\t}\n\t\t//console.assert(squareLines.length, \"squareLines is empty.\", lines, xis, equationMap, inbalances);\n\n\t\tconst matrix = squareLines.map(({ line }) => line);\n\t\tconst bias = squareLines.map(({ bias }) => bias);\n\n\t\tconst invert = matrixInverse(matrix);\n\t\tif (!invert) {\n\t\t\tthis.logger.warn('null invert:', matrix);\n\t\t\t//debugger;\n\t\t\treturn null;\n\t\t}\n\t\tconst solution = invert.map((row) => row.reduce((sum, it, i) => sum + it * bias[i], 0));\n\t\t//console.log(\"solution:\", matrix, invert, solution);\n\n\t\tif (restLines.length) {\n\t\t\tif (restLines.some((line) => Math.abs(line.line.reduce((sum, it, i) => sum + it * solution[i], 0)) > 1e-3)) {\n\t\t\t\t//console.debug(\"rest lines not satisfied:\", restLines, solution);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\n\t\tconst result = ones.map(() => 1);\n\t\txis.forEach((xi, i) => (result[xi] = solution[i]));\n\n\t\treturn result;\n\t}\n\n\toptimallySolve(status: Status): number[] {\n\t\tconst { ones, inbalances } = this.inbalancesConstraints(status);\n\n\t\t//if (this.like(\"2 1-2 9|1 2-3 3-4 9-10 4-5 5-6 6-7 7-8 8-. 12|6 11-12 10-11\"))\n\t\t//\tdebugger;\n\n\t\tconst shrinknesses = ones.map((fixed, id) => (fixed ? -1 : roundNumber(status.eventMap[id].shrinkness, 0.01)));\n\t\tconst shrinkMap = shrinknesses.reduce((map, shrinkness, id) => {\n\t\t\tif (shrinkness >= 0) {\n\t\t\t\tmap[shrinkness] = map[shrinkness] || [];\n\t\t\t\tmap[shrinkness].push(id);\n\t\t\t}\n\n\t\t\treturn map;\n\t\t}, {});\n\t\tconst groups = Object.entries(shrinkMap)\n\t\t\t.sort((p1, p2) => Number(p2[0]) - Number(p1[0]))\n\t\t\t.map((pair) => pair[1]);\n\t\t//console.log(\"groups:\", groups, shrinknesses);\n\n\t\tfor (let released = 1; released < groups.length; ++released) {\n\t\t\tconst releasedIds = [].concat(...groups.slice(0, released));\n\t\t\tconst fixed = ones.map((_, id) => !releasedIds.includes(id));\n\t\t\tconst warps = this.solveEquations({ ones: fixed, inbalances });\n\n\t\t\tif (warps && warps.every((it, i) => it <= 1 && it > status.eventMap[i].lowWarp)) return warps;\n\t\t}\n\n\t\treturn this.solveEquations({ ones, inbalances });\n\t}\n\n\tisConflicted(status: Status): boolean {\n\t\tconst { ones, inbalances } = this.inbalancesConstraints(status);\n\n\t\t//if (this.like(\"2 8|2 8-9 3|9 2-3 3-4 10|4 4-5 5|11 11-12 6|12 5-6 10-11 9-10 6-7\"))\n\t\t//\tdebugger;\n\n\t\tfor (const c of inbalances) {\n\t\t\t// sum with low warps\n\t\t\tconst lowSum = c.reduce((sum, it, i) => sum + it * (ones[i] || it <= 0 ? 1 : status.eventMap[i].lowWarp), 0);\n\n\t\t\tif (lowSum >= 0) {\n\t\t\t\t// mark events' broken tendency\n\t\t\t\tc.forEach((it, i) => {\n\t\t\t\t\tif (it) status.eventTendencies[i] += it > 0 ? 1 : -1;\n\t\t\t\t});\n\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\tif (!inbalances.length) return false;\n\n\t\tconst timeWarps = this.solveEquations({ ones, inbalances });\n\t\tif (!timeWarps) return true;\n\n\t\treturn !timeWarps.every((it, i) => it > status.eventMap[i].lowWarp && it <= 1);\n\t}\n\n\tgetSolution(status: Status): Solution {\n\t\tconst actionKey = (action) =>\n\t\t\tstatus.eventMap[action.e2]\n\t\t\t\t? status.eventMap[action.e2].x + Math.abs(status.eventMap[action.e2].x - status.eventMap[action.e1].x) * 0.06\n\t\t\t\t: status.eventMap[action.e1].x + 1e4;\n\t\tconst hacts = this.actions.filter((action) => action.type === ActionType.HORIZONTAL).sort((a1, a2) => actionKey(a1) - actionKey(a2));\n\t\tconst hmap = hacts.reduce((map, act) => ({ ...map, [act.e1]: act.e2 }), {});\n\t\tconst startEs = new Set([...Object.keys(hmap)].map(Number));\n\t\thacts.forEach((act) => startEs.delete(act.e2));\n\t\tthis.stages[0].events.forEach((eid) => eid > 0 && startEs.add(eid));\n\n\t\tlet voices = [...startEs].map((se) => {\n\t\t\tconst voice = [se];\n\n\t\t\tlet x = se;\n\t\t\twhile (hmap[x]) {\n\t\t\t\tx = hmap[x];\n\t\t\t\tif (x < 0 || voice.includes(x)) break;\n\n\t\t\t\tvoice.push(x);\n\t\t\t}\n\n\t\t\treturn voice;\n\t\t});\n\n\t\tconst events: EventResult[] = Object.values(status.eventMap)\n\t\t\t.filter((e) => e.id > 0)\n\t\t\t.map((e) => ({\n\t\t\t\tid: e.id,\n\t\t\t\ttick: null,\n\t\t\t\tendTick: null,\n\t\t\t\ttickGroup: null,\n\t\t\t\ttimeWarp: null,\n\t\t\t}));\n\t\tconst eventMap: { [id: number]: EventResult } = events\n\t\t\t.filter((e) => voices.some((voice) => voice.includes(e.id)) || hacts.some((act) => [act.e1, act.e2].includes(e.id)))\n\t\t\t.reduce((map, e) => ({ ...map, [e.id]: e }), {});\n\n\t\tthis.stages.forEach((stage, si) => stage.events.forEach((eid) => eventMap[eid] && (eventMap[eid].tickGroup = si)));\n\n\t\tthis.stages[0].tick = 0;\n\t\tthis.stages[0].events.forEach((eid) => eventMap[eid] && (eventMap[eid].tick = 0));\n\n\t\t// solve time warps\n\t\tconst timeWarps = this.optimallySolve(status);\n\t\tevents.forEach((e) => (e.timeWarp = floatToTimeWarp(timeWarps[e.id])));\n\n\t\t//if (this.like(\"1 12|1 1-2 9|2 2-3 13|3 3-4 4-5 10|5 14|10 10-11 8-9 14-15 15|6 6-7 7-. 13-14 5-6 12-13 9-10\"))\n\t\t//\tdebugger;\n\n\t\t// solve stage ticks\n\t\tconst estages = this.stages.slice(0, this.stages.length - 1);\n\t\tconst solveStages = (): boolean => {\n\t\t\tif (estages.every((stage) => Number.isFinite(stage.tick))) return false;\n\n\t\t\tlet changed = false;\n\n\t\t\t// forward\n\t\t\thacts.forEach((act) => {\n\t\t\t\tconst stage1 = this.stages.find((stage) => stage.events.includes(act.e1));\n\t\t\t\tconst stage2 = this.stages.find((stage) => stage.events.includes(act.e2));\n\t\t\t\tif (Number.isFinite(stage1.tick) && !Number.isFinite(stage2.tick)) {\n\t\t\t\t\tstage2.tick = stage1.tick + fractionMul(status.eventMap[act.e1].duration, eventMap[act.e1].timeWarp);\n\t\t\t\t\tstage2.events.forEach((eid) => eventMap[eid] && (eventMap[eid].tick = stage2.tick));\n\n\t\t\t\t\tchanged = true;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// backward\n\t\t\t[...hacts].reverse().forEach((act) => {\n\t\t\t\tconst stage1 = this.stages.find((stage) => stage.events.includes(act.e1));\n\t\t\t\tconst stage2 = this.stages.find((stage) => stage.events.includes(act.e2));\n\t\t\t\tif (!Number.isFinite(stage1.tick) && Number.isFinite(stage2.tick)) {\n\t\t\t\t\tstage1.tick = stage2.tick - fractionMul(status.eventMap[act.e1].duration, eventMap[act.e1].timeWarp);\n\t\t\t\t\tstage1.events.forEach((eid) => eventMap[eid] && (eventMap[eid].tick = stage1.tick));\n\n\t\t\t\t\tchanged = true;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn changed;\n\t\t};\n\t\twhile (solveStages());\n\n\t\tconsole.assert(\n\t\t\testages.every((stage) => Number.isFinite(stage.tick)),\n\t\t\t'stage ticks not all solved:',\n\t\t\tthis.stages,\n\t\t\tthis.id\n\t\t);\n\t\tevents\n\t\t\t.filter((event) => Number.isFinite(event.tick))\n\t\t\t.forEach((event) => (event.endTick = event.tick + fractionMul(status.eventMap[event.id].duration, event.timeWarp)));\n\n\t\t// clip out of bound events\n\t\tconst measureDuration = status.eventMap[0].duration;\n\t\tvoices.forEach((voice) => {\n\t\t\tconst outEI = voice.findIndex((eid) => eventMap[eid].endTick > measureDuration);\n\t\t\tif (outEI >= 0) {\n\t\t\t\tconst es = voice.splice(outEI, voice.length - outEI);\n\t\t\t\tes.forEach((eid) => {\n\t\t\t\t\teventMap[eid].tick = null;\n\t\t\t\t\teventMap[eid].endTick = null;\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\tvoices = voices.filter((voice) => voice.length);\n\n\t\tconst duration = Math.max(0, ...events.map((e) => e.endTick).filter(Number.isFinite));\n\t\t//console.log(\"getSolution:\", this);\n\t\tthis.logger.debug(String.fromCodePoint(0x1f34e), this.id, timeWarps);\n\n\t\treturn {\n\t\t\tvoices,\n\t\t\tevents,\n\t\t\tduration,\n\t\t\tactions: this.actions.map((action) => action.id).join(' '),\n\t\t};\n\t}\n\n\tdeduce(status: Status, quota: Quota): Solution {\n\t\tif (!this.stages) this.constructStages(status);\n\t\t//console.log(\"deduce:\", status);\n\n\t\t// increase access counting\n\t\tconst access = status.actionAccessing.get(this.id) || { times: 0 };\n\t\t++access.times;\n\t\tstatus.actionAccessing.set(this.id, access);\n\n\t\tthis.constructConstraints(status);\n\t\t//console.log(\"constraints:\", this.id, this.stages, this.constraints);\n\n\t\tif (this.isConflicted(status)) {\n\t\t\taccess.closed = true;\n\t\t\tthis.logger.info(this.action.id, '\\u274c');\n\t\t\treturn null;\n\t\t}\n\n\t\t//const newStatus = status;\n\t\tthis.logger.group(this.action && this.action.id);\n\n\t\tif (quota.credits > 0) {\n\t\t\t--quota.credits;\n\n\t\t\tif (!this.children) this.expand(status);\n\n\t\t\tthis.children = this.children.filter((node) => !status.actionAccessing.get(node.id) || !status.actionAccessing.get(node.id).closed);\n\t\t\tif (this.children.length) {\n\t\t\t\tconst p = (node: PathNode): number => node.possibility / ((status.actionAccessing.get(node.id) || { times: 0 }).times + 1);\n\t\t\t\tthis.children.sort((n1, n2) => p(n2) - p(n1));\n\n\t\t\t\tfor (const child of this.children) {\n\t\t\t\t\tconst solution = child.deduce(status, quota);\n\t\t\t\t\tif (solution) {\n\t\t\t\t\t\tthis.logger.groupEnd();\n\t\t\t\t\t\treturn solution;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (quota.credits <= 0) break;\n\t\t\t\t}\n\t\t\t}\n\t\t\t//else\n\t\t\t//\tconsole.debug(\"got the leaf:\", this, status);\n\t\t} else this.logger.debug('quota exhausted.');\n\n\t\tthis.logger.groupEnd();\n\n\t\taccess.closed = true;\n\n\t\treturn this.getSolution(status);\n\t}\n\n\texpand(status: Status): void {\n\t\t//this.action.events.forEach(eid => status.pendingEvents.delete(eid));\n\t\tthis.constructStages(status);\n\n\t\tconst { eventMap, matrixV, matrixH } = status;\n\t\tconst stagedEvents = this.stagedEvents;\n\n\t\tconst branches: NodeBranch[] = [];\n\t\tconst appendBranch = (branch: NodeBranch): void => {\n\t\t\tif (!this.actions.some((a) => a.id === branch.action.id) && !branches.some((b) => b.action.id === branch.action.id)) {\n\t\t\t\tconst stage1 = this.stages.find((stage) => stage.events.includes(branch.action.e1));\n\t\t\t\tconst stage2 = this.stages.find((stage) => stage.events.includes(branch.action.e2));\n\t\t\t\tif (stage1 === stage2 || (stage1 && stage2 && stage1.index >= stage2.index)) return;\n\n\t\t\t\tif (stage1 && stage2) {\n\t\t\t\t\tif (branch.action.type === ActionType.VERTICAL) {\n\t\t\t\t\t\tif (stage2.index - stage1.index > 1) return;\n\t\t\t\t\t\tif (this.actions.some((a) => stage1.events.includes(a.e1) && stage2.events.includes(a.e2))) return;\n\t\t\t\t\t} else if (branch.action.type === ActionType.HORIZONTAL) {\n\t\t\t\t\t\tif (stage1.index > stage2.index) return;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\tbranch.action.type === ActionType.HORIZONTAL &&\n\t\t\t\t\tthis.actions.some(\n\t\t\t\t\t\t(a) =>\n\t\t\t\t\t\t\ta.type === ActionType.HORIZONTAL &&\n\t\t\t\t\t\t\t(a.e1 === branch.action.e1 || a.e2 === branch.action.e2 || (a.e1 === branch.action.e2 && a.e2 === branch.action.e1))\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t\t\treturn;\n\n\t\t\t\t// exclude 2 too far away events by vertical\n\t\t\t\tif (branch.action.type === ActionType.VERTICAL) {\n\t\t\t\t\tif (stage1) {\n\t\t\t\t\t\tbranch.possibility = Math.min(branch.possibility, ...stage1.events.map((e) => matrixV[branch.action.e2][e]));\n\t\t\t\t\t\tif (branch.possibility <= 0) return;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (stage2) {\n\t\t\t\t\t\tbranch.possibility = Math.min(branch.possibility, ...stage2.events.map((e) => matrixV[e][branch.action.e1]));\n\t\t\t\t\t\tif (branch.possibility <= 0) return;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbranches.push(branch);\n\t\t\t}\n\t\t};\n\n\t\tfor (const eid of stagedEvents) {\n\t\t\tif (eid < 0) continue;\n\n\t\t\tmatrixV[eid].forEach((p, id) => {\n\t\t\t\tif (p > 0 && eid !== id) appendBranch({ action: Action.V(id, eid), possibility: p });\n\t\t\t});\n\n\t\t\tmatrixV.forEach((ps, id) => {\n\t\t\t\tconst p = ps[eid];\n\t\t\t\tif (p > 0) appendBranch({ action: Action.V(eid, id), possibility: p });\n\t\t\t});\n\n\t\t\tmatrixH[eid].forEach((p, id) => {\n\t\t\t\tif (p > 0) appendBranch({ action: Action.H(id, eid), possibility: p });\n\t\t\t});\n\n\t\t\tmatrixH.forEach((ps, id) => {\n\t\t\t\tid = id >= Object.keys(eventMap).length ? -1 : id;\n\t\t\t\tconst p = ps[eid];\n\t\t\t\tif (p > 0) appendBranch({ action: Action.H(eid, id), possibility: p });\n\t\t\t});\n\t\t}\n\n\t\t// If branches not contains extending actions, clear it.\n\t\t//\tBecause pure inner vertical action may be harmful\n\t\tif (\n\t\t\t!branches.some(\n\t\t\t\t(branch) =>\n\t\t\t\t\t[ActionType.HORIZONTAL, ActionType.PLACE].includes(branch.action.type) ||\n\t\t\t\t\t!stagedEvents.has(branch.action.e1) ||\n\t\t\t\t\t!stagedEvents.has(branch.action.e2)\n\t\t\t)\n\t\t) {\n\t\t\tthis.children = [];\n\t\t\treturn;\n\t\t}\n\n\t\t//console.table(branches.map(b => [b.action.id, b.possibility]));\n\t\t//console.log(\"branches:\", branches.map(b => b.action.id).join(\", \"), \"\\n\", this.actions.map(a => a.id).join(\", \"));\n\t\tthis.children = branches.map((branch) => new PathNode({ logger: this.logger, parent: this, ...branch }));\n\t}\n}\n\nclass Solver {\n\tquota: number;\n\tlogger: Logger;\n\n\tevents: Event[];\n\tmatrixH: Matrix;\n\tmatrixV: Matrix;\n\txSpan: number;\n\n\teventMap: { [id: number]: Event };\n\tactionAccessing: Map;\n\n\tpathRoot: PathNode;\n\n\tconstructor(env: Environment, { quota = 1000, logger = new DummyLogger() }: SolverOptions = {}) {\n\t\tthis.quota = quota;\n\t\tthis.logger = logger;\n\n\t\tconst event0 = {\n\t\t\tid: 0,\n\t\t\tx: 0,\n\t\t\tconfidence: 1,\n\t\t\tshrinkness: env.measureShrinkness,\n\t\t\tduration: env.expectedDuration,\n\t\t\tlowWarp: 0,\n\t\t};\n\n\t\tthis.events = [\n\t\t\tevent0,\n\t\t\t...env.events.map((e) => ({\n\t\t\t\tid: e.id,\n\t\t\t\tx: e.x,\n\t\t\t\tconfidence: e.confidence,\n\t\t\t\tshrinkness: e.shrinkness,\n\t\t\t\tstaff: e.staff,\n\t\t\t\tduration: e.duration,\n\t\t\t\tlowWarp: 0.5,\n\t\t\t})),\n\t\t];\n\t\tthis.eventMap = this.events.reduce((map, e) => ({ ...map, [e.id]: e }), {});\n\n\t\tthis.matrixH = env.matrixH;\n\t\tthis.matrixV = env.matrixV;\n\n\t\tthis.xSpan = env.endX - Math.min(env.endX - 1, ...env.events.map((e) => e.x));\n\n\t\tthis.actionAccessing = new Map();\n\t}\n\n\tsolve(): Solution {\n\t\t// construct path root\n\t\tthis.pathRoot = new PathNode({\n\t\t\tlogger: this.logger,\n\t\t\taction: null,\n\t\t});\n\t\tthis.pathRoot.children = this.events.slice(1).map(\n\t\t\t(event) =>\n\t\t\t\tnew PathNode({\n\t\t\t\t\tlogger: this.logger,\n\t\t\t\t\tparent: this.pathRoot,\n\t\t\t\t\taction: Action.P(event.id),\n\t\t\t\t\tpossibility: this.matrixV[event.id].reduce((sum, p) => sum + p, 0),\n\t\t\t\t})\n\t\t);\n\n\t\tlet bestSolution: Solution = null;\n\n\t\tthis.logger.groupCollapsed('solve');\n\n\t\tconst eventTendencies = Array(this.events.length).fill(0);\n\n\t\tconst quota = { credits: this.quota, times: 0 };\n\t\twhile (quota.credits > 0) {\n\t\t\t++quota.times;\n\n\t\t\tconst status = {\n\t\t\t\teventMap: this.eventMap,\n\t\t\t\tmatrixH: this.matrixH,\n\t\t\t\tmatrixV: this.matrixV,\n\t\t\t\tactionAccessing: this.actionAccessing,\n\t\t\t\teventTendencies,\n\t\t\t};\n\n\t\t\tconst solution = this.pathRoot.deduce(status, quota);\n\t\t\tsolution.credits = this.quota - quota.credits;\n\t\t\tsolution.times = quota.times;\n\t\t\tthis.evaluateSolution(solution);\n\t\t\tthis.logger.debug('loss:', solution.loss);\n\n\t\t\tbestSolution = !bestSolution || solution.loss < bestSolution.loss ? solution : bestSolution;\n\t\t\tif (!bestSolution.loss) break;\n\n\t\t\t// check if searching tree traversed\n\t\t\tif (this.actionAccessing.get('').closed) break;\n\t\t}\n\n\t\tthis.logger.groupEnd();\n\t\tthis.logger.debug('solution', bestSolution && bestSolution.loss, bestSolution);\n\t\tthis.logger.debug('cost:', this.quota - quota.credits);\n\n\t\tthis.logger.debug(\n\t\t\t'eventTendencies:',\n\t\t\teventTendencies.map((t) => t / quota.times)\n\t\t);\n\n\t\treturn bestSolution;\n\t}\n\n\tevaluateSolution(solution: Solution): void {\n\t\tsolution.loss = 0;\n\n\t\ttype EventR = Event & EventResult;\n\t\tconst eventMap: Record = solution.events.reduce((map, e) => ({ ...map, [e.id]: { ...e, ...this.eventMap[e.id] } }), {});\n\n\t\t/*// minus tick\n\t\tconst minuses = solution.events.filter((e) => e.tick < 0).length;\n\t\tsolution.loss += minuses * 1000;*/\n\n\t\t// minus tick rates penalty\n\t\tconst events = solution.events.filter((event) => Number.isFinite(event.tick)).map((event) => eventMap[event.id]);\n\t\tconst sevents: Record = events.reduce((map, event) => {\n\t\t\tmap[event.staff] = map[event.staff] || [];\n\t\t\tmap[event.staff].push(event);\n\t\t\treturn map;\n\t\t}, {});\n\t\tObject.values(sevents).forEach((es) => {\n\t\t\tconst ses = es.sort((e1, e2) => e1.x - e2.x).slice(0, es.length - 1);\n\t\t\tses.forEach((e1, i) => {\n\t\t\t\tconst e2 = es[i + 1];\n\t\t\t\tif (e2.tick < e1.tick) solution.loss += 1000;\n\t\t\t});\n\t\t});\n\n\t\tconst times = new Map();\n\t\tsolution.events.forEach((event) => {\n\t\t\tif (!Number.isFinite(event.tick) || solution.voices.every((voice) => !voice.includes(event.id)))\n\t\t\t\tsolution.loss += 100 * eventMap[event.id].confidence;\n\n\t\t\tif (event.timeWarp) {\n\t\t\t\tconst { numerator, denominator } = event.timeWarp;\n\t\t\t\tconst shrinkness = eventMap[event.id].shrinkness;\n\t\t\t\ttimes.set(numerator, Math.max(times.get(numerator) || 0, 1 - shrinkness));\n\t\t\t\ttimes.set(denominator, Math.max(times.get(denominator) || 0, 1 - shrinkness));\n\t\t\t}\n\t\t});\n\n\t\t// partial measure penalty\n\t\tconst partialFrac = reducedFraction(solution.duration, this.eventMap[0].duration);\n\t\ttimes.set(partialFrac.numerator, Math.max(times.get(partialFrac.numerator) || 0, 1 - this.eventMap[0].shrinkness));\n\t\ttimes.set(partialFrac.denominator, Math.max(times.get(partialFrac.denominator) || 0, 1 - this.eventMap[0].shrinkness));\n\n\t\tfor (const [n, weight] of times.entries()) {\n\t\t\tif (n > 1) solution.loss += Math.log(n) * weight;\n\t\t}\n\n\t\tlet spaceTime = 0;\n\t\tlet staffAlters = 0;\n\t\tsolution.voices.forEach((voice) => {\n\t\t\tconsole.assert(eventMap[voice[0]], 'invalid voice:', voice, Object.keys(eventMap));\n\n\t\t\tconst start = Math.abs(eventMap[voice[0]].tick); // abs: penalty for minus start\n\t\t\tconst end = eventMap[voice[voice.length - 1]].endTick;\n\n\t\t\tspaceTime += Math.max(0, start + solution.duration - end);\n\n\t\t\t// staff alternation penalty\n\t\t\tlet staff = null;\n\t\t\tvoice.forEach((id) => {\n\t\t\t\tconst event = eventMap[id];\n\t\t\t\tif (event.staff !== staff) {\n\t\t\t\t\tif (staff !== null) ++staffAlters;\n\t\t\t\t\tstaff = event.staff;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\tsolution.loss += (spaceTime * 10) / DURATION_MULTIPLIER;\n\t\tsolution.loss += 5 ** staffAlters - 1;\n\n\t\t// tick twist\n\t\tconst eventsXOrder = [...events].sort((e1, e2) => e1.x - e2.x);\n\t\tconst tickTwists = eventsXOrder.slice(1).map((e2, i) => {\n\t\t\tconst e1 = eventsXOrder[i];\n\t\t\tconst dx = e2.x - e1.x;\n\t\t\tconst dt = e2.tick - e1.tick;\n\n\t\t\tif (!dt) return dx / this.xSpan;\n\n\t\t\tconst rate = Math.atan2(dt / solution.duration, dx / this.xSpan);\n\n\t\t\treturn ((rate * 4) / Math.PI - 1) ** 2;\n\t\t});\n\t\tconst tickTwist = Math.max(...tickTwists, 0);\n\t\tsolution.loss += tickTwist ** 2;\n\n\t\tconsole.assert(solution.loss >= 0, 'Invalid solution loss!!!', solution.loss, times, spaceTime, staffAlters);\n\t\tif (solution.loss < 0) solution.loss = Infinity;\n\t}\n}\n\nexport { SolverOptions, Solver };\n","import { EventFeature, BackgroundImage, EventPredisposition } from './interfaces';\nimport { StemBeam } from './term';\nimport { SimpleClass } from './aux_/typedJSON';\n\nenum EventElementType {\n\tPAD,\n\tBOS,\n\tEOS,\n\n\tCHORD,\n\tREST,\n}\n\ninterface EventElement {\n\thref?: string;\n\tdisposed?: boolean;\n\tindex?: number;\n\tvoice?: number;\n\n\ttype: EventElementType;\n\tstaff: number;\n\tx: number;\n\ty1: number;\n\ty2: number;\n\tfeature: EventFeature;\n\tpivotX?: number;\n\theadY?: number;\n\n\t// targets\n\ttick?: number;\n\tdivision?: number;\n\tdots?: number;\n\tbeam?: StemBeam;\n\tstemDirection?: string;\n\tgrace?: boolean;\n\ttremoloCatcher?: boolean;\n\ttimeWarped?: boolean;\n\tfullMeasure?: boolean; // full measure rest\n\tfake?: boolean;\n\n\torder?: number;\n\n\tpredisposition?: EventPredisposition;\n}\n\ntype Matrix = number[][];\n\ninterface Annotation {\n\tloss: number;\n\tgrant: boolean;\n\tpatched: boolean; // from manually solved measure\n}\n\nclass EventCluster extends SimpleClass {\n\tstatic className = 'EventCluster';\n\tstatic blackKeys = ['id'];\n\n\tid?: string; // for db access\n\tindex?: number;\n\tduration?: number;\n\tstaffY0?: number; // the first staff top + staffY\n\n\tsignatureDuration: number;\n\telements: EventElement[];\n\tmatrixH?: Matrix; // matrix N x N, [next][prev]\n\n\tbackgroundImages?: BackgroundImage[];\n\n\tannotation?: Annotation;\n\n\tconstructor(data: object) {\n\t\tsuper();\n\t\tsuper.assign(data);\n\t}\n\n\tget regular(): boolean {\n\t\treturn (\n\t\t\tthis.elements.some((elem) => [EventElementType.CHORD, EventElementType.REST].includes(elem.type) && !elem.fake) &&\n\t\t\tthis.elements.every((elem) => [elem.x, elem.y1, elem.y2, elem.tick].every(Number.isFinite)) &&\n\t\t\tthis.elements\n\t\t\t\t.slice(1)\n\t\t\t\t.every(\n\t\t\t\t\t(elem, ei) =>\n\t\t\t\t\t\telem.fake ||\n\t\t\t\t\t\tthis.elements[ei].fake ||\n\t\t\t\t\t\telem.grace ||\n\t\t\t\t\t\tthis.elements[ei].grace ||\n\t\t\t\t\t\telem.fullMeasure ||\n\t\t\t\t\t\tthis.elements[ei].fullMeasure ||\n\t\t\t\t\t\telem.tick <= this.elements[ei].tick ||\n\t\t\t\t\t\telem.x > this.elements[ei].x\n\t\t\t\t)\n\t\t);\n\t}\n\n\tget grant(): boolean {\n\t\treturn this.annotation && this.annotation.grant;\n\t}\n\n\tget feature(): Partial {\n\t\treturn {\n\t\t\tindex: this.index,\n\t\t\telements: this.elements,\n\t\t};\n\t}\n\n\tget estimatedDuration(): number {\n\t\tconst endElem = this.elements.find((elem) => elem.type === EventElementType.EOS);\n\n\t\tconst tick = endElem?.predisposition ? endElem.predisposition?.tick : endElem?.tick;\n\n\t\treturn Number.isFinite(tick) ? tick : this.duration;\n\t}\n\n\tassignPrediction(prediction: any): void {\n\t\tconsole.assert(prediction.index === this.index, 'index mismatch:', prediction.index, this.index);\n\n\t\tthis.matrixH = prediction.matrixH;\n\t\tprediction.elements.forEach((pe) => {\n\t\t\tconst { index, ...predisposition } = pe;\n\t\t\tconst elem = this.elements.find((elem) => elem.index === index);\n\t\t\tconsole.assert(elem, 'element not found:', index);\n\n\t\t\tif (elem) elem.predisposition = predisposition;\n\t\t});\n\t}\n}\n\nclass EventClusterSet extends SimpleClass {\n\tstatic className = 'EventClusterSet';\n\n\tname?: string;\n\n\tclusters: EventCluster[];\n\n\tconstructor(data: object) {\n\t\tsuper();\n\t\tsuper.assign(data);\n\t}\n\n\ttrimIrregular(): number {\n\t\tlet ir = 0;\n\n\t\tthis.clusters = this.clusters.filter((cluster) => {\n\t\t\tconst regular = cluster.regular;\n\t\t\tif (!regular) {\n\t\t\t\tconsole.debug('irregular cluster:', cluster);\n\t\t\t\t++ir;\n\t\t\t}\n\n\t\t\treturn regular;\n\t\t});\n\n\t\tif (ir) console.debug('Irregular clusters trimmed:', `${ir}/${this.clusters.length + ir}`);\n\t\telse console.debug(`The EventClusterSet (${this.clusters.length}) is fine.`);\n\n\t\treturn ir;\n\t}\n}\n\nexport { EventElementType, EventElement, EventCluster, EventClusterSet };\n","import erf from 'math-erf';\nimport sha1 from 'js-sha1';\n\nimport { SimpleClass } from './aux_/typedJSON';\nimport { EventTerm, ContextedTerm, MarkTerm, WHOLE_DURATION, StemBeam, GraceType, ContextType, TremoloLink } from './term';\nimport {\n\tFraction,\n\tStaffBasic,\n\tEventMeasure,\n\tRegulationOptions,\n\tRegulationSolution,\n\tRegulationSolutionEvent,\n\tBackgroundImage,\n\tMeasureBarType,\n} from './interfaces';\nimport { frac, fractionMul, roundNumber, argmax } from './utils';\nimport { NOTEHEAD_WIDTHS } from './semanticPoint';\nimport * as EquationSolver from './equationSolver';\nimport { PatchMeasure } from './patch';\nimport { EventCluster, EventElement, EventElementType } from './eventTopology';\nimport type { MeasureRectification } from './measureRectification';\nimport type { GraphMeasure } from './timewiseGraph';\n\nnamespace SimplePolicy {\n\tconst constructXMap = (measure: SpartitoMeasure): Map => {\n\t\tconst xMap = new Map();\n\n\t\t// mark full measure rests\n\t\tmeasure.rows.forEach((row) => {\n\t\t\tif (row.events.length === 1) {\n\t\t\t\tconst event = row.events[0];\n\t\t\t\tif (event.rest && event.division === 0) event.rest = 'R';\n\t\t\t}\n\t\t});\n\n\t\tmeasure.events.forEach((event) => {\n\t\t\tconst x = Math.round(event.pivotX * 10) / 10;\n\t\t\tlet key = 0;\n\t\t\tif (event.fullMeasureRest) key = Math.min(x, ...xMap.keys());\n\t\t\telse {\n\t\t\t\tkey =\n\t\t\t\t\t[...xMap.keys()].find((k) => {\n\t\t\t\t\t\t// check if the event is aligned with the current chord\n\t\t\t\t\t\tconst es = xMap.get(k);\n\t\t\t\t\t\tconst left = Math.min(...es.map((e) => e.left));\n\t\t\t\t\t\tconst right = Math.max(...es.map((e) => e.right));\n\n\t\t\t\t\t\tconst overlaySize = Math.min(right, event.right) - Math.max(left, event.left);\n\n\t\t\t\t\t\treturn overlaySize > NOTEHEAD_WIDTHS.NoteheadS1 * 0.62;\n\t\t\t\t\t}) || x;\n\t\t\t}\n\t\t\tevent.roundX = key;\n\n\t\t\tconst es = xMap.get(key) || [];\n\t\t\txMap.set(key, es);\n\n\t\t\tes.push(event);\n\t\t});\n\n\t\treturn xMap;\n\t};\n\n\texport const computeMeasureTicks = (measure: SpartitoMeasure): void => {\n\t\tconst xMap = constructXMap(measure);\n\n\t\tlet tick = 0;\n\t\tconst ts = new Set([tick]);\n\t\tconst eventGroups = [...xMap.entries()].sort(([x1], [x2]) => x1 - x2); //.map(entry => entry[1]);\n\t\tfor (const [x, events] of eventGroups) {\n\t\t\tvoid x;\n\n\t\t\tevents.forEach((event: EventTerm) => {\n\t\t\t\tif (event.predisposition) {\n\t\t\t\t\tevent.rest = event.rest && event.predisposition.fullMeasure > 0.5 ? 'R' : event.rest;\n\t\t\t\t\tevent.grace = event.predisposition.grace ? GraceType.Grace : null;\n\t\t\t\t\tevent.division = argmax(event.predisposition.divisionVector);\n\t\t\t\t\tevent.dots = argmax(event.predisposition.dotsVector);\n\t\t\t\t\tif (event.predisposition.timeWarped > 0.5) event.timeWarp = frac(2, 3);\n\t\t\t\t}\n\n\t\t\t\tif (event.fullMeasureRest) event.tick = 0;\n\t\t\t\telse {\n\t\t\t\t\tif (event.zeroHolder) tick -= event.duration;\n\n\t\t\t\t\tif (!event.zeroHolder && event.predisposition && Number.isInteger(event.predisposition.tick)) event.tick = event.predisposition.tick;\n\t\t\t\t\telse event.tick = tick;\n\t\t\t\t\tts.add(event.tick + event.duration);\n\t\t\t\t}\n\t\t\t\t//console.log(\"append tick:\", event.tick + event.duration, event);\n\t\t\t});\n\t\t\tts.delete(tick);\n\n\t\t\t//column.xToTick[x] = tick;\n\n\t\t\tif (ts.size) tick = Math.min(...ts);\n\t\t}\n\n\t\tif (Number.isInteger(measure.estimatedDuration)) measure.duration = measure.estimatedDuration;\n\t\telse measure.duration = Math.max(...ts, 0);\n\t};\n\n\texport const computeMeasureVoices = (measure: SpartitoMeasure): void => {\n\t\tmeasure.voices = [];\n\t\tfor (const row of measure.rows) {\n\t\t\tconst events = row.events.filter(\n\t\t\t\t(event) => !event.grace && !event.tremoloCatcher && !event.fullMeasureRest && !(event.predisposition && event.predisposition.fake > 0.5)\n\t\t\t);\n\t\t\tconst eventSet = new Set(events);\n\n\t\t\twhile (eventSet.size) {\n\t\t\t\tlet tick = 0;\n\n\t\t\t\tconst voice = [];\n\t\t\t\tconst pushEvent = (e: EventTerm) => {\n\t\t\t\t\tvoice.push(e.id);\n\t\t\t\t\tif (!e.zeroHolder) tick += e.duration;\n\t\t\t\t\teventSet.delete(e);\n\t\t\t\t};\n\n\t\t\t\tconst e0 = events.find((e) => eventSet.has(e));\n\t\t\t\tif (e0.alignedTick > 0) {\n\t\t\t\t\t//voice.tickMap[tick] = EventTerm.space({ tick, duration: e0.alignedTick });\n\t\t\t\t\ttick = e0.alignedTick;\n\t\t\t\t}\n\t\t\t\tpushEvent(e0);\n\n\t\t\t\twhile (true) {\n\t\t\t\t\t// TODO: consider slur pair\n\t\t\t\t\tconst e = events.find((e) => eventSet.has(e) && e.alignedTick === tick);\n\t\t\t\t\tif (!e) break;\n\n\t\t\t\t\tpushEvent(e);\n\t\t\t\t}\n\n\t\t\t\t//if (tick < measure.duration)\n\t\t\t\t//\tvoice.tickMap[tick] = EventTerm.space({ tick, duration: staff.duration - tick });\n\n\t\t\t\tmeasure.voices.push(voice);\n\t\t\t}\n\t\t}\n\t};\n}\n\nconst solveGraceEvents = (measure: SpartitoMeasure): void => {\n\tconst graceEvents = measure.events.filter((event) => event.grace /*&& !Number.isFinite(event.tick)*/);\n\tif (!graceEvents.length) return;\n\n\tconst tickMap = measure.tickMap;\n\tconst staffMap = [...tickMap.entries()].reduce((smap, [tick, events]) => {\n\t\tevents.forEach((event) => {\n\t\t\tif (!event.grace) {\n\t\t\t\tsmap[event.staff] = smap[event.staff] || {};\n\n\t\t\t\tconst oldEvent = smap[event.staff][tick];\n\t\t\t\tsmap[event.staff][tick] = !oldEvent || oldEvent.x > event.x ? event : oldEvent;\n\t\t\t}\n\t\t});\n\n\t\treturn smap;\n\t}, {} as { [staff: number]: { [tick: number]: EventTerm } });\n\n\ttype Position = { tick: number; preTick: number; graces: EventTerm[]; event: EventTerm };\n\tconst staffPositions = Object.entries(staffMap).reduce((map, [staff, emap]) => {\n\t\tmap[staff] = Object.entries(emap)\n\t\t\t.map(([t, event]) => ({ event, tick: Number(t), preTick: -240, graces: [] }))\n\t\t\t.sort((p1, p2) => p1.event.x - p2.event.x);\n\t\tmap[staff].push({ tick: measure.duration, event: measure.endEvent, preTick: 0, graces: [] }); // terminal bar\n\n\t\tlet tick = 0;\n\t\tmap[staff].forEach((position) => {\n\t\t\tif (position.tick > tick) {\n\t\t\t\tposition.preTick = tick;\n\t\t\t\ttick = position.tick;\n\t\t\t}\n\t\t});\n\n\t\treturn map;\n\t}, {} as { [staff: number]: Position[] });\n\n\t// append grace events into positions\n\tgraceEvents.forEach((event) => {\n\t\tconst staff = staffPositions[event.staff];\n\t\tif (staff) {\n\t\t\tconst position = staff.find((p) => p.event.x > event.x);\n\t\t\tif (position) position.graces.push(event);\n\t\t\tevent.roundX = event.x;\n\t\t\t//if (position.tick >= measure.duration)\n\t\t\t//\tevent.grace = GraceType.AfterGrace;\n\t\t}\n\t});\n\n\tObject.values(staffPositions).forEach((staff) =>\n\t\tstaff.forEach((position) => {\n\t\t\tif (position.graces.length) {\n\t\t\t\tposition.event.graceIds = position.graces.map((e) => e.id);\n\n\t\t\t\tconst totalDuration = position.graces.reduce((t, e) => t + e.duration, 0);\n\t\t\t\tconst duration = Math.min(totalDuration, position.tick - position.preTick);\n\t\t\t\tconst warp = duration / totalDuration;\n\n\t\t\t\tlet tick = position.tick;\n\t\t\t\t[...position.graces].reverse().forEach((event) => {\n\t\t\t\t\tevent.tick = Math.round(tick - event.duration * warp);\n\t\t\t\t\ttick = event.tick;\n\t\t\t\t});\n\t\t\t}\n\t\t})\n\t);\n};\n\nconst solveTremoloPairs = (measure: SpartitoMeasure): void => {\n\tconst catchers = measure.events.filter((event) => event.tremoloCatcher && !event.grace);\n\tconst pitchers = measure.events.filter((event) => event.tremoloLink === TremoloLink.Pitcher && !event.grace);\n\n\tcatchers.forEach((catcher) => {\n\t\tlet candidates = pitchers.filter((event) => event.division === catcher.division && event.x < catcher.x);\n\t\tif (!candidates.length)\n\t\t\tcandidates = measure.events.filter(\n\t\t\t\t(event) =>\n\t\t\t\t\tNumber.isFinite(event.tick) &&\n\t\t\t\t\t!event.grace &&\n\t\t\t\t\t!event.rest &&\n\t\t\t\t\tevent.division === catcher.division &&\n\t\t\t\t\tevent.dots === catcher.dots &&\n\t\t\t\t\tevent.x < catcher.x\n\t\t\t);\n\t\tcandidates.sort((c1, c2) => c2.x - c1.x);\n\t\tif (candidates.length) {\n\t\t\tconst pitcher = candidates[0];\n\t\t\tpitcher.catcherId = catcher.id;\n\t\t\tconst tremolo = Math.max(pitcher.tremolo || 3, catcher.tremolo || 3);\n\t\t\tpitcher.tremolo = tremolo;\n\t\t\tcatcher.tremolo = tremolo;\n\n\t\t\tif (!catcher.tick) catcher.tick = pitcher.tick + pitcher.duration / 2;\n\n\t\t\tconst pi = pitchers.indexOf(pitcher);\n\t\t\tif (pi >= 0) pitchers.splice(pi, 1);\n\t\t}\n\t});\n};\n\nnamespace EquationPolicy {\n\ttype EventID = number;\n\ttype Time = number;\n\n\tconst DURATION_MULTIPLIER = 128 * 3 * 5 * 7 * 11 * 13;\n\n\tconst CHORDS_SEAM_SIGMA = 0.6;\n\tconst NEIGHBOR_CHORDS_SIGMA = 1.6;\n\tconst Y_DECAY_SIGMA = 16;\n\tconst STAFF_DECAY_FACTOR = 2;\n\tconst STEM_DIRECTION_DECAY = 0.9;\n\tconst ILL_BEAMS_PENALTY = 0.2;\n\n\tconst INVERT_SQRT2 = 0.7071067811865475;\n\n\tconst MATRIX_H_WEIGHT = 3;\n\n\tconst FINE_BEAMS = [\n\t\t[null, null],\n\t\t[null, StemBeam.Open],\n\t\t[StemBeam.Open, StemBeam.Continue],\n\t\t[StemBeam.Open, StemBeam.Close],\n\t\t[StemBeam.Continue, StemBeam.Continue],\n\t\t[StemBeam.Continue, StemBeam.Close],\n\t\t[StemBeam.Close, null],\n\t\t[StemBeam.Close, StemBeam.Open],\n\t].map((bb) => bb.join('-'));\n\n\tinterface Event {\n\t\tid: EventID;\n\t\tstaff: number;\n\t\tx: number;\n\t\ty: number;\n\t\tduration: Time;\n\t\tconfidence: number;\n\t\tshrinkness: number;\n\t}\n\n\texport interface StaffGroup {\n\t\tevents: Event[];\n\t\texpectedDuration: Time;\n\t\tmeasureShrinkness: number;\n\t\tendX: number;\n\t\tmatrixH: Matrix;\n\t\tmatrixV: Matrix;\n\n\t\tids?: EventID[];\n\t}\n\n\tinterface EventResult {\n\t\tid: EventID;\n\t\ttick: Time;\n\t\tendTick: Time;\n\t\ttickGroup: number;\n\t\ttimeWarp?: Fraction;\n\t}\n\n\texport interface StaffGroupSolution {\n\t\tevents: EventResult[];\n\t\tvoices: EventID[][];\n\t\tduration: number;\n\n\t\tloss?: number;\n\t\tcredits?: number;\n\t\ttimes?: number;\n\t}\n\n\texport interface RegulatorOptions extends EquationSolver.SolverOptions {\n\t\tsolver?: (staffGroup: StaffGroup, options: EquationSolver.SolverOptions) => Promise;\n\t}\n\n\tconst solveStaffGroup = (staffGroup: StaffGroup, options: EquationSolver.SolverOptions): StaffGroupSolution => {\n\t\tif (!staffGroup.events.length) {\n\t\t\treturn {\n\t\t\t\tevents: [],\n\t\t\t\tvoices: [],\n\t\t\t\tduration: 0,\n\t\t\t};\n\t\t}\n\n\t\tconst solver = new EquationSolver.Solver(staffGroup, options);\n\n\t\treturn solver.solve();\n\t};\n\n\texport const estiamteMeasure = (measure: SpartitoMeasure): StaffGroup => {\n\t\tconst allEvents = measure.events\n\t\t\t.filter((event) => !event.zeroHolder)\n\t\t\t.map((event) => ({\n\t\t\t\tid: event.id,\n\t\t\t\tstaff: event.staff,\n\t\t\t\tx: event.x,\n\t\t\t\ttickEstimated: event.predisposition && Number.isFinite(event.predisposition.tick) ? event.predisposition.tick : event.x,\n\t\t\t\ttipX: event.tipX,\n\t\t\t\ty: event.tipY + event.staff * 100, // TODO: refine y by event term tipY\n\t\t\t\tduration: (event.mainDuration * DURATION_MULTIPLIER) / WHOLE_DURATION,\n\t\t\t\tdivision: event.division,\n\t\t\t\tdots: event.dots,\n\t\t\t\tstemDirection: event.stemDirection,\n\t\t\t\tbeam: event.beam,\n\t\t\t\trest: event.rest,\n\t\t\t\t// the possibility of full measure rest\n\t\t\t\tpR: event.rest === 'R' ? 1 : event.rest === 'r' && event.division === 0 ? Math.tanh(event.x - measure.eventStartX) : 0,\n\t\t\t\tfakeP: event.predisposition ? event.predisposition.fakeP || 0 : 0,\n\t\t\t\tshrinkness: event.predisposition ? event.predisposition.timeWarped : null,\n\t\t\t}));\n\t\tlet expectedDuration = (DURATION_MULTIPLIER * measure.timeSignature.numerator) / measure.timeSignature.denominator;\n\t\tif (Number.isFinite(measure.estimatedDuration))\n\t\t\texpectedDuration = Math.max(expectedDuration, roundNumber(measure.estimatedDuration, DURATION_MULTIPLIER / 4));\n\n\t\tconst staffGroupMap = measure.staffGroups.reduce((map, staves, group) => {\n\t\t\tstaves.forEach((staff) => (map[staff] = group));\n\t\t\treturn map;\n\t\t}, {});\n\n\t\tconst ids = [0, ...allEvents.map((e) => e.id)]; // compact ids\n\t\tconst ievents = allEvents.map((e) => ({\n\t\t\t...e,\n\t\t\tid: ids.indexOf(e.id),\n\t\t\tx: e.x - measure.startX,\n\t\t\tconfidence: (1 - e.pR) * (1 - e.fakeP),\n\t\t\tshrinkness: Number.isFinite(e.shrinkness) ? e.shrinkness : Math.tanh((e.division - e.dots * 0.1) / 4),\n\t\t\tstaffGroup: staffGroupMap[e.staff],\n\t\t}));\n\n\t\t// estimate topology matrices\n\t\tconst matrixH = Array(ids.length + 1)\n\t\t\t.fill(null)\n\t\t\t.map(() => Array(ids.length).fill(0));\n\t\tconst matrixV = Array(ids.length)\n\t\t\t.fill(null)\n\t\t\t.map(() => Array(ids.length).fill(0));\n\n\t\t//const hp = (dx: number): number => 1 - erf(((dx / NEIGHBOR_CHORDS_SIGMA) ** 0.6) * INVERT_SQRT2);\n\t\tconst hp = (dx: number): number => erf(dx / NEIGHBOR_CHORDS_SIGMA) * erf(NEIGHBOR_CHORDS_SIGMA / dx);\n\n\t\tfor (const e1 of ievents) {\n\t\t\tfor (const e2 of ievents) {\n\t\t\t\tmatrixV[e1.id][e2.id] =\n\t\t\t\t\te1 !== e2 && e1.tickEstimated >= e2.tickEstimated ? 1 - erf(((e1.tickEstimated - e2.tickEstimated) * INVERT_SQRT2) / CHORDS_SEAM_SIGMA) : 0;\n\n\t\t\t\tif (e1.staffGroup !== e2.staffGroup) matrixH[e1.id][e2.id] = 0;\n\t\t\t\t// prohibit voice crossing staff groups\n\t\t\t\telse if (e1.x <= e2.x) matrixH[e1.id][e2.id] = 0;\n\t\t\t\telse {\n\t\t\t\t\tconst staffDecay = Math.exp(-Math.abs(e1.staff - e2.staff) * STAFF_DECAY_FACTOR);\n\t\t\t\t\tconst yDecay = e1.staff === e2.staff ? Math.exp(-Math.abs(e1.y - e2.y) / Y_DECAY_SIGMA) : 1;\n\t\t\t\t\tconst dx = e1.x - e2.x;\n\t\t\t\t\tconst dtx = e1.tipX - e2.tipX;\n\t\t\t\t\tmatrixH[e1.id][e2.id] = (staffDecay * yDecay * Math.min(hp(dx), hp(dtx))) ** (1 / MATRIX_H_WEIGHT);\n\t\t\t\t}\n\n\t\t\t\t// weaken full measure rest connections\n\t\t\t\tconst nR = (1 - e1.pR) * (1 - e2.pR);\n\t\t\t\tmatrixV[e1.id][e2.id] *= nR;\n\t\t\t\tmatrixH[e1.id][e2.id] *= nR;\n\n\t\t\t\tif (matrixV[e1.id][e2.id] < 1e-2) matrixV[e1.id][e2.id] = 0;\n\n\t\t\t\t// weaken inconsistent stem directions\n\t\t\t\tif (e1.stemDirection && e2.stemDirection && e1.stemDirection !== e2.stemDirection) matrixH[e1.id][e2.id] *= STEM_DIRECTION_DECAY;\n\n\t\t\t\t// ill beams penalty\n\t\t\t\tif (!e1.rest && !e2.rest && !FINE_BEAMS.includes([e2.beam, e1.beam].join('-'))) matrixH[e1.id][e2.id] *= ILL_BEAMS_PENALTY;\n\t\t\t}\n\n\t\t\t// H possibility of e1 and end of measure\n\t\t\tmatrixH[ids.length][e1.id] = hp(measure.width - e1.x) ** (1 / MATRIX_H_WEIGHT);\n\t\t}\n\n\t\treturn {\n\t\t\tids,\n\t\t\tevents: ievents,\n\t\t\texpectedDuration,\n\t\t\tmeasureShrinkness: 0,\n\t\t\tendX: measure.position.right,\n\t\t\tmatrixH,\n\t\t\tmatrixV,\n\t\t};\n\t};\n\n\texport const regulateMeasure = async (measure: SpartitoMeasure, { solver = null, ...options }: RegulatorOptions): Promise => {\n\t\tconst env = estiamteMeasure(measure);\n\t\tconst { ids, matrixH, matrixV } = env;\n\n\t\t// copy matrices values from measure topology data\n\t\tif (measure.matrixH) {\n\t\t\tconsole.assert(\n\t\t\t\tmeasure.matrixH.length > ids[ids.length - 1] && measure.matrixH[0].length > ids[ids.length - 1],\n\t\t\t\t'matrix shape mismatch:',\n\t\t\t\tids.length,\n\t\t\t\t`${measure.matrixH.length}x${measure.matrixH[0].length}`,\n\t\t\t\t`${matrixH.length}x${matrixH[0].length}`\n\t\t\t);\n\t\t\tfor (let i = 0; i < ids.length + 1; i++) {\n\t\t\t\tconst ii = i < ids.length ? ids[i] : measure.matrixH.length - 1;\n\t\t\t\tfor (let j = 1; j < ids.length; j++) matrixH[i][j] = measure.matrixH[ii][ids[j]];\n\t\t\t}\n\t\t}\n\t\tif (measure.matrixV) {\n\t\t\tmatrixV.forEach((row, i) =>\n\t\t\t\trow.forEach((_, j) => {\n\t\t\t\t\tconst mp = measure.matrixV[ids[i]][ids[j]];\n\t\t\t\t\tif (Number.isFinite(mp)) matrixV[i][j] = mp;\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\n\t\tif (Number.isFinite(measure.estimatedDuration))\n\t\t\tenv.measureShrinkness = Math.tanh(Math.log(Math.min(1, measure.estimatedDuration / measure.duration)) * -3);\n\n\t\tif (options.logger) options.logger.info('--- MEASURE', measure.measureIndex, '---', env);\n\n\t\tconst solution = solver ? await solver(env, options) : solveStaffGroup(env, options);\n\t\tconst resultEvents = solution.events.map((e) => ({\n\t\t\t...e,\n\t\t\tid: env.ids[e.id], // decode compact ids\n\t\t}));\n\t\tresultEvents.forEach((e) => {\n\t\t\tconst event = measure.events.find((e0) => e0.id === e.id);\n\t\t\tevent.tick = Number.isFinite(e.tick) ? Math.round((e.tick * WHOLE_DURATION) / DURATION_MULTIPLIER) : null;\n\t\t\tevent.tickGroup = e.tickGroup;\n\t\t\tevent.timeWarp = e.timeWarp;\n\t\t});\n\n\t\tmeasure.duration = Math.round((solution.duration * WHOLE_DURATION) / DURATION_MULTIPLIER);\n\t\tmeasure.voices = solution.voices.map((voice) => voice.map((id) => env.ids[id]));\n\n\t\tmeasure.solutionStat = {\n\t\t\tloss: solution.loss,\n\t\t\tsolverCredits: solution.credits,\n\t\t\tsolverTimes: solution.times,\n\t\t};\n\n\t\t// full measure rests\n\t\tmeasure.events.forEach((event) => {\n\t\t\tconst result = resultEvents.find((e) => e.id === event.id);\n\t\t\tif (!result) return;\n\t\t\telse if (!Number.isFinite(result.tick) && event.rest === 'r' && event.division === 0) {\n\t\t\t\tevent.tick = 0;\n\t\t\t\tevent.tickGroup = 0;\n\t\t\t\tevent.rest = 'R';\n\t\t\t\tevent.duration = measure.duration;\n\t\t\t\tmeasure.voices.push([event.id]);\n\t\t\t} else if (event.rest === 'R') {\n\t\t\t\tevent.tick = 0;\n\t\t\t\tevent.tickGroup = 0;\n\t\t\t\tevent.duration = measure.duration;\n\t\t\t\tmeasure.voices.push([event.id]);\n\t\t\t}\n\t\t});\n\t};\n\n\texport const regulateMeasureWithRectification = async (\n\t\tmeasure: SpartitoMeasure,\n\t\trectification: MeasureRectification,\n\t\t{ solver = null, ...options }: RegulatorOptions\n\t): Promise => {\n\t\tconst allEvents = measure.events\n\t\t\t.filter((event) => !event.zeroHolder)\n\t\t\t.map((event) => {\n\t\t\t\tconst re = rectification.events.find((e) => e && e.id === event.id);\n\t\t\t\tconst division = Number.isFinite(re?.division) ? re.division : event.division;\n\t\t\t\tconst dots = Number.isFinite(re?.dots) ? re.dots : event.dots;\n\t\t\t\tconst duration = DURATION_MULTIPLIER * 2 ** -division * (2 - 2 ** -dots);\n\n\t\t\t\treturn {\n\t\t\t\t\tid: event.id,\n\t\t\t\t\tstaff: event.staff,\n\t\t\t\t\tx: event.x,\n\t\t\t\t\ttickEstimated: event.predisposition?.tick,\n\t\t\t\t\ty: event.tipY + event.staff * 100, // TODO: refine y by event term tipY\n\t\t\t\t\tduration,\n\t\t\t\t\t// the possibility of full measure rest\n\t\t\t\t\tpR: event.rest === 'R' ? 1 : event.rest === 'r' && event.division === 0 ? Math.tanh(event.x - measure.eventStartX) : 0,\n\t\t\t\t\tfakeP: event.predisposition ? event.predisposition.fakeP || 0 : 0,\n\t\t\t\t\tshrinkness: event.predisposition?.timeWarped || 0,\n\t\t\t\t};\n\t\t\t});\n\t\tlet expectedDuration = (DURATION_MULTIPLIER * measure.timeSignature.numerator) / measure.timeSignature.denominator;\n\t\tif (Number.isFinite(measure.estimatedDuration))\n\t\t\texpectedDuration = Math.max(expectedDuration, roundNumber(measure.estimatedDuration, DURATION_MULTIPLIER / 4));\n\n\t\tconst staffGroupMap = measure.staffGroups.reduce((map, staves, group) => {\n\t\t\tstaves.forEach((staff) => (map[staff] = group));\n\t\t\treturn map;\n\t\t}, {});\n\n\t\tconst ids = [0, ...allEvents.map((e) => e.id)]; // compact ids\n\t\tconst ievents = allEvents.map((e) => ({\n\t\t\t...e,\n\t\t\tid: ids.indexOf(e.id),\n\t\t\tx: e.x - measure.startX,\n\t\t\tconfidence: (1 - e.pR) * (1 - e.fakeP),\n\t\t\tshrinkness: e.shrinkness,\n\t\t\tstaffGroup: staffGroupMap[e.staff],\n\t\t}));\n\n\t\t// estimate topology matrices\n\t\tconst matrixH = Array(ids.length + 1)\n\t\t\t.fill(null)\n\t\t\t.map(() => Array(ids.length).fill(0));\n\t\tconst matrixV = Array(ids.length)\n\t\t\t.fill(null)\n\t\t\t.map(() => Array(ids.length).fill(0));\n\n\t\tfor (const e1 of ievents) {\n\t\t\tfor (const e2 of ievents) {\n\t\t\t\tmatrixV[e1.id][e2.id] =\n\t\t\t\t\te1 !== e2 && e1.tickEstimated >= e2.tickEstimated ? 1 - erf(((e1.tickEstimated - e2.tickEstimated) * INVERT_SQRT2) / CHORDS_SEAM_SIGMA) : 0;\n\n\t\t\t\t// weaken full measure rest connections\n\t\t\t\tconst nR = (1 - e1.pR) * (1 - e2.pR);\n\t\t\t\tmatrixV[e1.id][e2.id] *= nR;\n\n\t\t\t\tif (matrixV[e1.id][e2.id] < 1e-2) matrixV[e1.id][e2.id] = 0;\n\t\t\t}\n\t\t}\n\n\t\t// copy matrices values from measure topology data\n\t\tconsole.assert(\n\t\t\tmeasure.matrixH && measure.matrixH.length > ids[ids.length - 1] && measure.matrixH[0].length > ids[ids.length - 1],\n\t\t\t'matrix shape mismatch:',\n\t\t\tids.length,\n\t\t\t`${measure.matrixH.length}x${measure.matrixH[0].length}`,\n\t\t\t`${matrixH.length}x${matrixH[0].length}`\n\t\t);\n\t\tfor (let i = 0; i < ids.length + 1; i++) {\n\t\t\tconst ii = i < ids.length ? ids[i] : measure.matrixH.length - 1;\n\t\t\tfor (let j = 1; j < ids.length; j++) matrixH[i][j] = measure.matrixH[ii][ids[j]];\n\t\t}\n\n\t\tlet measureShrinkness = 0;\n\t\tif (Number.isFinite(measure.estimatedDuration)) measureShrinkness = Math.tanh(Math.log(Math.min(1, measure.estimatedDuration / measure.duration)) * -3);\n\n\t\tconst env = {\n\t\t\tids,\n\t\t\tevents: ievents,\n\t\t\texpectedDuration,\n\t\t\tmeasureShrinkness,\n\t\t\tendX: measure.position.right,\n\t\t\tmatrixH,\n\t\t\tmatrixV,\n\t\t};\n\t\tconst solution = solver ? await solver(env, options) : solveStaffGroup(env, options);\n\n\t\tconst priority = -solution.loss;\n\n\t\tconst events = solution.events.map(({ id, tick, tickGroup, timeWarp }) => {\n\t\t\tconst re = rectification.events.find((e) => e && e.id === id);\n\t\t\tconst tickN = Number.isFinite(tick) ? Math.round((tick * WHOLE_DURATION) / DURATION_MULTIPLIER) : tick;\n\n\t\t\treturn {\n\t\t\t\tid,\n\t\t\t\ttick: tickN,\n\t\t\t\ttickGroup,\n\t\t\t\ttimeWarp,\n\t\t\t\tdivision: re?.division,\n\t\t\t\tdots: re?.dots,\n\t\t\t};\n\t\t});\n\n\t\tconst duration = Math.round((solution.duration * WHOLE_DURATION) / DURATION_MULTIPLIER);\n\n\t\treturn {\n\t\t\tevents,\n\t\t\tvoices: solution.voices,\n\t\t\tduration,\n\t\t\tpriority,\n\t\t};\n\t};\n}\n\ntype Matrix = number[][];\n\ntype TickMap = Map;\n\ninterface SolutionStatistics {\n\tloss?: number;\n\tsolverCredits?: number;\n\tsolverTimes?: number;\n}\n\nclass SpartitoMeasure extends SimpleClass {\n\tstatic className = 'SpartitoMeasure';\n\tstatic blackKeys = ['staffGroups', 'solutionStat', 'measureNumber', 'deposit'];\n\n\tmeasureIndex: number;\n\tstaffMask: number;\n\tstaffGroups: number[][];\n\toriginalRegulationHash?: string;\n\tmeasureNumber?: number; // count from the last indent measure, head partial measure is zero, skip empty measures\n\n\tpatched: boolean;\n\tdiscard: boolean;\n\n\tposition: {\n\t\tsystemIndex: number;\n\t\tlocalIndex: number; // the measure local index in its system\n\t\tleft: number;\n\t\tright: number;\n\t\tstaffYs?: number[];\n\t\tstaffYsFull?: number[];\n\t};\n\n\tbackgroundImages: BackgroundImage[];\n\n\tevents: EventTerm[];\n\tendEvent: Partial; // the placeholder for end tick\n\tcontexts: ContextedTerm[][]; // [staff]\n\tmarks: MarkTerm[];\n\tduration: number;\n\n\tvoices?: number[][]; // [voice, id]\n\tbreak?: boolean;\n\tpageBreak?: boolean;\n\tbasics?: StaffBasic[]; // [staff]\n\tvoltaBegin: boolean;\n\tvoltaEnd: boolean;\n\talternative: boolean;\n\tbarTypes: Record;\n\tindent: boolean;\n\n\tsolutionStat?: SolutionStatistics;\n\n\tmatrixH: Matrix; // matrix N x N\t\t[right][left]\n\tmatrixV: Matrix; // matrix N x N\n\testimatedDuration: number;\n\n\tgraph: GraphMeasure;\n\n\tdeposit: Record;\n\n\tstatic reorderEvents(events: EventTerm[], staffYsFull: number[]): EventTerm[] {\n\t\tconst HALF_NOTEHEAD = 0.7;\n\n\t\tconst ys = [];\n\n\t\tconst es = events.map((e) => ({\n\t\t\tid: e.id,\n\t\t\tstaff: e.staff,\n\t\t\tx: e.x / HALF_NOTEHEAD,\n\t\t\trx: 0,\n\t\t\try: staffYsFull[e.staff] + e.tipY,\n\t\t\ttipY: e.tipY,\n\t\t\tprior: 0,\n\t\t}));\n\t\tes.sort((e1, e2) => e1.x - e2.x);\n\t\tes.slice(1).forEach((e, i) => {\n\t\t\tconst dx = Math.min(Math.round(e.x - es[i].x), 2);\n\t\t\te.rx = es[i].rx + dx;\n\t\t});\n\t\tes.forEach((e) => {\n\t\t\te.prior = e.staff * 1e4 + e.rx + e.tipY * 0.01;\n\n\t\t\tif (!ys.includes(e.ry)) ys.push(e.ry);\n\t\t});\n\t\tes.sort((e1, e2) => e1.prior - e2.prior);\n\t\tys.sort((y1, y2) => y1 - y2);\n\n\t\tlet yi = 0;\n\t\tconst yis = ys.map((y, i) => {\n\t\t\tif (!i || ys[i] - ys[i - 1] < 0.5) return yi;\n\n\t\t\t++yi;\n\t\t\treturn yi;\n\t\t});\n\n\t\tconst result = es.map((e) => new EventTerm({ ...events.find((ev) => ev.id === e.id), intX: e.rx, intY: yis[ys.indexOf(e.ry)] }));\n\t\tresult.forEach((e, i) => (e.id = i + 1));\n\n\t\treturn result;\n\t}\n\n\tconstructor(data: any) {\n\t\tsuper();\n\t\tsuper.assign(data);\n\n\t\tif (!this.originalRegulationHash && !this.regulated) this.originalRegulationHash = this.regulationHash;\n\n\t\tthis.barTypes = this.barTypes || {};\n\n\t\t// Ensure postRegulate runs for measures deserialized with voices (e.g. from patches/JSON)\n\t\t// to set endEvent and roundX needed for playback cursor positioning.\n\t\tif (this.regulated && this.position) this.postRegulate();\n\t}\n\n\tget timeSignature(): Fraction {\n\t\treturn this.basics && this.basics[0].timeSignature;\n\t}\n\n\tget keySignature(): number {\n\t\treturn this.basics && this.basics[0].keySignature;\n\t}\n\n\tget timeSignatureChanged(): boolean {\n\t\treturn this.contexts.filter(Boolean)[0].some((term) => [ContextType.TimeSignatureC, ContextType.TimeSignatureN].includes(term.type));\n\t}\n\n\tget doubtfulTimesig(): boolean {\n\t\treturn this.basics && this.basics[0].doubtfulTimesig;\n\t}\n\n\tget regulated(): boolean {\n\t\treturn !!this.voices;\n\t}\n\n\tget validRegulated(): boolean {\n\t\tif (!this.voices) return false;\n\n\t\treturn this.voices.flat(1).every((id) => Number.isFinite(this.events.find((e) => e.id === id)?.tick));\n\t}\n\n\tget rows(): EventMeasure[] {\n\t\treturn this.contexts.map((contexts, si) => {\n\t\t\tconst events = this.events.filter((e) => e.staff === si);\n\n\t\t\treturn {\n\t\t\t\tevents,\n\t\t\t\tcontexts,\n\t\t\t};\n\t\t});\n\t}\n\n\tget eventStartX(): number {\n\t\treturn this.events.length ? Math.min(...this.events.map((e) => e.x)) : this.startX;\n\t}\n\n\tget startX(): number {\n\t\treturn this.position.left;\n\t}\n\n\tget width(): number {\n\t\treturn this.position.right - this.position.left;\n\t}\n\n\tget tickMap(): TickMap {\n\t\treturn this.events\n\t\t\t.concat([this.endEvent as EventTerm])\n\t\t\t.filter(Boolean)\n\t\t\t.reduce((map, event) => {\n\t\t\t\tif (Number.isFinite(event.tick)) {\n\t\t\t\t\tif (!map.has(event.tick)) map.set(event.tick, []);\n\n\t\t\t\t\tmap.get(event.tick).push(event);\n\t\t\t\t}\n\n\t\t\t\treturn map;\n\t\t\t}, new Map());\n\t}\n\n\tget tickToX(): { [tick: number]: number } {\n\t\treturn [...this.tickMap.entries()].reduce((map, [tick, events]) => {\n\t\t\tevents = events.filter((e) => !e.fullMeasureRest && !e.grace);\n\t\t\tif (events.length) {\n\t\t\t\tconst x = Math.min(...events.map((e) => e.x));\n\t\t\t\tmap[tick] = x;\n\t\t\t}\n\n\t\t\treturn map;\n\t\t}, {});\n\t}\n\n\tget tickRates(): number[] {\n\t\tconst events = this.events.filter((event) => Number.isFinite(event.tick) && !event.fullMeasureRest);\n\t\tevents.sort((e1, e2) => e1.x - e2.x);\n\n\t\treturn events.slice(0, events.length - 1).map((e1, i) => {\n\t\t\tconst e2 = events[i + 1];\n\n\t\t\treturn (e2.tick - e1.tick) / Math.max(e2.x - e1.x, 1e-3);\n\t\t});\n\t}\n\n\tget tickRatesInStaves(): number[] {\n\t\tconst events = this.events.filter((event) => Number.isFinite(event.tick) && !event.fullMeasureRest && !event.grace);\n\t\tconst sevents: Record = events.reduce((map, event) => {\n\t\t\tmap[event.staff] = map[event.staff] || [];\n\t\t\tmap[event.staff].push(event);\n\t\t\treturn map;\n\t\t}, {});\n\n\t\tconst rates = Object.values(sevents).map((es) =>\n\t\t\tes\n\t\t\t\t.sort((e1, e2) => e1.x - e2.x)\n\t\t\t\t.slice(0, es.length - 1)\n\t\t\t\t.map((e1, i) => {\n\t\t\t\t\tconst e2 = es[i + 1];\n\t\t\t\t\treturn (e2.tick - e1.tick) / Math.max(e2.x - e1.x, 1e-3);\n\t\t\t\t})\n\t\t);\n\n\t\treturn [].concat(...rates);\n\t}\n\n\tget tickRatesInGroups(): number[] {\n\t\tconst events = this.events.filter((event) => Number.isFinite(event.tick) && !event.fullMeasureRest);\n\t\tconst gevents: Record = events.reduce((map, event) => {\n\t\t\tconst groupIndex = this.staffGroups.findIndex((group) => group.includes(event.staff));\n\t\t\tmap[groupIndex] = map[groupIndex] || [];\n\t\t\tmap[groupIndex].push(event);\n\t\t\treturn map;\n\t\t}, {});\n\n\t\tconst rates = Object.values(gevents).map((es) =>\n\t\t\tes\n\t\t\t\t.sort((e1, e2) => e1.x - e2.x)\n\t\t\t\t.slice(0, es.length - 1)\n\t\t\t\t.map((e1, i) => {\n\t\t\t\t\tconst e2 = es[i + 1];\n\t\t\t\t\treturn (e2.tick - e1.tick) / Math.max(e2.x - e1.x, 1e-3);\n\t\t\t\t})\n\t\t);\n\n\t\treturn [].concat(...rates);\n\t}\n\n\tget tickTwist(): number {\n\t\tif (!this.duration || !this.staffGroups) return undefined;\n\n\t\tconst events = this.events.filter(\n\t\t\t(event) => Number.isFinite(event.tick) && !event.fullMeasureRest && !event.grace && !event.tremoloCatcher && !(event.rest && event.division === 0)\n\t\t); // ignore rest0\n\t\tconst gevents: Record = events.reduce((map, event) => {\n\t\t\tconst groupIndex = this.staffGroups.findIndex((group) => group.includes(event.staff));\n\t\t\tmap[groupIndex] = map[groupIndex] || [];\n\t\t\tmap[groupIndex].push(event);\n\t\t\treturn map;\n\t\t}, {});\n\n\t\tconst twists = Object.values(gevents).map((es) => {\n\t\t\tconst eventsXOrder = [...es].sort((e1, e2) => e1.pivotX - e2.pivotX);\n\t\t\tconst xSpan = this.position.right - eventsXOrder[0].x;\n\t\t\tconst tickTwists = eventsXOrder.slice(1).map((e2, i) => {\n\t\t\t\tconst e1 = eventsXOrder[i];\n\t\t\t\tconst dx = e2.pivotX - e1.pivotX;\n\t\t\t\tconst dt = e2.tick! - e1.tick!;\n\n\t\t\t\tif (!dt) return dx / xSpan;\n\n\t\t\t\tconst rate = Math.atan2(dt / this.duration, dx / xSpan);\n\n\t\t\t\treturn ((rate * 4) / Math.PI - 1) ** 2;\n\t\t\t});\n\n\t\t\treturn Math.max(0, ...tickTwists);\n\t\t});\n\n\t\treturn Math.max(0, ...twists);\n\t}\n\n\tget eventMap(): Record {\n\t\treturn this.events.reduce((map, event) => {\n\t\t\tmap[event.id] = event;\n\t\t\treturn map;\n\t\t}, {});\n\t}\n\n\tget empty(): boolean {\n\t\treturn !this.events?.length || !this.voices?.length;\n\t}\n\n\tget hasIllEvent(): boolean {\n\t\treturn this.regulated && this.events.some((event) => !event.zeroHolder && !Number.isFinite(event.tick) && !event.fullMeasureRest);\n\t}\n\n\tget brief(): string {\n\t\tconst timesig = `${this.timeSignature.numerator}/${this.timeSignature.denominator}`;\n\t\tconst eventBrieves = this.events.map((e) =>\n\t\t\t[\n\t\t\t\te.staff,\n\t\t\t\te.intX,\n\t\t\t\tMath.round(e.tip ? e.tip.y : e.ys?.[0] ?? 0),\n\t\t\t\te.fullMeasureRest ? 0 : e.division,\n\t\t\t\te.fullMeasureRest ? 0 : e.dots,\n\t\t\t\te.rest ? 'r' : '',\n\t\t\t\te.grace || '',\n\t\t\t\te.stemDirection,\n\t\t\t\te.beam || '',\n\t\t\t].join('|')\n\t\t);\n\n\t\treturn [timesig, ...eventBrieves].join('\\n');\n\t}\n\n\tget regulationHash(): string {\n\t\treturn sha1(this.brief);\n\t}\n\n\t// prefer use originalRegulationHash\n\tget regulationHash0(): string {\n\t\treturn this.originalRegulationHash || this.regulationHash;\n\t}\n\n\tget regulationHashes(): string[] {\n\t\treturn Array.from(new Set([this.originalRegulationHash, this.regulationHash].filter(Boolean)));\n\t}\n\n\tget featureWords(): string[][] | null {\n\t\tif (!this.regulated || !this.voices || !this.voices.length) return null;\n\n\t\tconst invalid = this.tickRatesInStaves.some((rate) => rate < 0);\n\n\t\tconst mainEvents = this.events.filter((event) => !event.zeroHolder && !event.rest);\n\n\t\tconst ys = mainEvents\n\t\t\t.map((event) => event.ys)\n\t\t\t.flat(1)\n\t\t\t.map((y) => `Y${-y * 2}`);\n\t\tconst uys = Array.from(new Set(ys));\n\t\tif (this.keySignature) uys.push(`K${this.keySignature}`);\n\n\t\tconst voices = this.voices\n\t\t\t.map((ids) => ids.map((id) => this.events.find((e) => e.id === id)).filter((event) => !event.zeroHolder && !event.rest))\n\t\t\t.filter((voice) => voice.length);\n\n\t\tconst melodies = invalid ? [] : voices.map((es) => es.map((e) => e.scaleChord).join('-'));\n\n\t\tconst rhythm = invalid ? [] : voices.map((es) => es.map((e) => e.division).join(''));\n\t\tif (this.timeSignature) rhythm.push(`T${this.timeSignature.numerator}/${this.timeSignature.denominator}`);\n\n\t\treturn [uys, melodies, rhythm];\n\t}\n\n\tget barType(): MeasureBarType {\n\t\tif (this.voltaEnd) return 'VoltaRight';\n\n\t\tconst typeEntris = Object.entries(this.barTypes).sort((e1, e2) => e2[1] - e1[1]);\n\t\tif (typeEntris[0] && typeEntris[0][1] >= 1) return typeEntris[0][0] as MeasureBarType;\n\n\t\treturn null;\n\t}\n\n\tget partialDuration(): boolean {\n\t\tif (!Number.isFinite(this.duration)) return false;\n\n\t\tconst signatureDuration = fractionMul(WHOLE_DURATION, this.timeSignature);\n\n\t\treturn this.duration < signatureDuration;\n\t}\n\n\tpostRegulate(): void {\n\t\tthis.endEvent = new EventTerm({ tick: this.duration, x: this.position.right });\n\n\t\tthis.updateRoundX();\n\t\tsolveGraceEvents(this);\n\t\tsolveTremoloPairs(this);\n\t\tthis.updateContextTick();\n\t}\n\n\tupdateRoundX(): void {\n\t\tconst tickToX = this.tickToX;\n\t\tif (tickToX)\n\t\t\tthis.events.forEach((event) => {\n\t\t\t\tconst x = tickToX[event.tick];\n\t\t\t\tif (Number.isFinite(x)) event.roundX = x;\n\t\t\t});\n\t}\n\n\tupdateContextTick(): void {\n\t\tif (!this.staffGroups) return;\n\t\tconst contexts = this.contexts.flat(1);\n\t\tthis.staffGroups.flat(1).forEach((staffIndex) => {\n\t\t\tconst terms = [...this.events.filter((e) => e.staff === staffIndex), ...contexts.filter((c) => c.staff === staffIndex)];\n\t\t\tterms.sort((t1, t2) => t2.x - t1.x); // order by x from right to left\n\n\t\t\tlet tick = this.duration;\n\t\t\tterms.forEach((term) => {\n\t\t\t\tif (term instanceof EventTerm) {\n\t\t\t\t\tif (!term.fullMeasureRest && !term.zeroHolder) tick = term.tick;\n\t\t\t\t} else if (term instanceof ContextedTerm) term.tick = tick;\n\t\t\t});\n\t\t});\n\t}\n\n\tasSolution(ref: SpartitoMeasure = undefined): RegulationSolution {\n\t\tif (!this.regulated) return null;\n\n\t\t//let timeSignature = undefined;\n\t\t//if (ref && printFraction(ref.timeSignature) !== printFraction(this.timeSignature)) timeSignature = this.timeSignature;\n\n\t\treturn {\n\t\t\t//timeSignature,\n\t\t\tevents: this.events.map((e) => {\n\t\t\t\tconst se = {\n\t\t\t\t\tid: e.id,\n\t\t\t\t\ttick: e.tick,\n\t\t\t\t\ttickGroup: e.tickGroup,\n\t\t\t\t\ttimeWarp: e.timeWarp,\n\t\t\t\t} as RegulationSolutionEvent;\n\n\t\t\t\tif (ref) {\n\t\t\t\t\tconst refEvent = ref.events.find((re) => re.id === e.id);\n\t\t\t\t\tif (refEvent) {\n\t\t\t\t\t\tif (e.division !== refEvent.division) se.division = e.division;\n\t\t\t\t\t\tif (e.dots !== refEvent.dots) se.dots = e.dots;\n\t\t\t\t\t\tif (e.grace !== refEvent.grace) se.grace = !!e.grace;\n\t\t\t\t\t\tif (e.beam !== refEvent.beam) se.beam = e.beam;\n\t\t\t\t\t\tif (e.fullMeasureRest !== refEvent.fullMeasureRest) se.fullMeasure = e.fullMeasureRest;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn se;\n\t\t\t}),\n\t\t\tvoices: this.voices,\n\t\t\tduration: this.duration,\n\t\t\tpriority: -this.solutionStat?.loss,\n\t\t};\n\t}\n\n\tapplySolution(solution: RegulationSolution): void {\n\t\tif (solution.timeSignature) {\n\t\t\tthis.basics.forEach((basic) => {\n\t\t\t\tbasic.timeSignature = solution.timeSignature;\n\t\t\t\tbasic.doubtfulTimesig = false;\n\t\t\t});\n\t\t}\n\n\t\tthis.voices = solution.voices;\n\t\tthis.duration = solution.duration;\n\t\tthis.events.forEach((event) => {\n\t\t\tevent.timeWarp = null;\n\t\t\tevent.tick = null;\n\t\t\tevent.tickGroup = null;\n\n\t\t\tconst se = solution.events?.find((e) => e.id === event.id);\n\t\t\tif (se) {\n\t\t\t\tevent.tick = se.tick;\n\t\t\t\tevent.timeWarp = se.timeWarp;\n\t\t\t\tevent.tickGroup = se.tickGroup;\n\n\t\t\t\tif (Number.isFinite(se.division)) event.division = se.division;\n\t\t\t\tif (Number.isFinite(se.dots)) event.dots = se.dots;\n\t\t\t\tif (se.beam) event.beam = se.beam as StemBeam;\n\t\t\t\tif (se.grace !== undefined) event.grace = se.grace ? GraceType.Grace : undefined;\n\t\t\t\tif (se.fullMeasure) event.rest = 'R';\n\t\t\t}\n\t\t});\n\n\t\tif (Number.isFinite(solution.priority)) this.solutionStat = { loss: -solution.priority };\n\n\t\tthis.postRegulate();\n\t}\n\n\tcleanupRegulation(): void {\n\t\tthis.voices = null;\n\t\tthis.duration = null;\n\t\tthis.events.forEach((event) => {\n\t\t\tevent.tick = null;\n\t\t\tevent.tickGroup = null;\n\t\t\tevent.timeWarp = null;\n\t\t});\n\t}\n\n\tregulateTest(): void {\n\t\tthis.duration = 0;\n\t\tthis.voices = this.rows.map((row) => row.events.map((e) => e.id));\n\t\tthis.voices.forEach((ids) => {\n\t\t\tlet tick = 0;\n\t\t\tconst events = ids.map((id) => this.events.find((e) => e.id === id));\n\t\t\tevents.forEach((e, index) => {\n\t\t\t\te.tickGroup = index;\n\t\t\t\te.tick = tick;\n\n\t\t\t\ttick += e.duration;\n\t\t\t});\n\n\t\t\tthis.duration = Math.max(this.duration, tick);\n\t\t});\n\t}\n\n\tregulateSimple(): void {\n\t\tSimplePolicy.computeMeasureTicks(this);\n\t\tSimplePolicy.computeMeasureVoices(this);\n\t}\n\n\tasync regulateEquations(options: EquationPolicy.RegulatorOptions): Promise {\n\t\tawait EquationPolicy.regulateMeasure(this, options);\n\t}\n\n\t// compute event.tick, event.tickGroup, event.timeWarp, voices, duration\n\tasync regulate({ policy = 'advanced', ...options }: RegulationOptions = {}): Promise {\n\t\tswitch (policy) {\n\t\t\tcase 'test':\n\t\t\t\tthis.regulateTest();\n\n\t\t\t\tbreak;\n\t\t\tcase 'equations':\n\t\t\tcase 'advanced':\n\t\t\t\tawait this.regulateEquations(options);\n\n\t\t\t\tbreak;\n\t\t\tcase 'simple':\n\t\t\tdefault:\n\t\t\t\tthis.regulateSimple();\n\t\t}\n\n\t\tthis.postRegulate();\n\t}\n\n\tcreatePatch(): PatchMeasure {\n\t\treturn new PatchMeasure({\n\t\t\tmeasureIndex: this.measureIndex,\n\t\t\tstaffMask: this.staffMask,\n\t\t\tbasic: this.basics[0],\n\t\t\t//points: [],\n\t\t\tevents: this.events,\n\t\t\tcontexts: this.contexts,\n\t\t\tmarks: this.marks,\n\t\t\tvoices: this.voices,\n\t\t});\n\t}\n\n\tcreateClusters(): EventCluster[] {\n\t\tconst trueEventIds = this.voices && new Set(this.voices.flat(1));\n\n\t\treturn this.staffGroups\n\t\t\t.filter((idx) => idx.length)\n\t\t\t.map((staffIndices) => {\n\t\t\t\tconst staffY0 = this.position.staffYs[0];\n\t\t\t\tconst staffYn = (n) => this.position.staffYs[staffIndices.indexOf(n)] - staffY0;\n\n\t\t\t\tconst events = this.events.filter((event) => staffIndices.includes(event.staff));\n\t\t\t\tif (!events.length) return null;\n\n\t\t\t\tconst elements: EventElement[] = events.map((event) => ({\n\t\t\t\t\tindex: event.id,\n\t\t\t\t\tvoice: (this.voices || []).findIndex((voice) => voice.includes(event.id)),\n\t\t\t\t\ttype: event.rest ? EventElementType.REST : EventElementType.CHORD,\n\t\t\t\t\tstaff: staffIndices.indexOf(event.staff),\n\t\t\t\t\tx: event.tipX,\n\t\t\t\t\tpivotX: event.pivotX,\n\t\t\t\t\ty1: staffYn(event.staff) + (event.stemDirection === 'u' ? event.tipY : event.ys[event.ys.length - 1]),\n\t\t\t\t\ty2: staffYn(event.staff) + (event.stemDirection === 'u' ? event.ys[0] : event.tipY),\n\t\t\t\t\theadY: event.stemDirection === 'u' ? event.ys[0] : event.ys[event.ys.length - 1],\n\t\t\t\t\tfeature: event.feature,\n\t\t\t\t\tdivision: event.division,\n\t\t\t\t\tdots: event.dots,\n\t\t\t\t\tbeam: event.beam || null,\n\t\t\t\t\tstemDirection: event.stemDirection,\n\t\t\t\t\tgrace: !!event.grace,\n\t\t\t\t\ttremoloCatcher: event.tremoloCatcher,\n\t\t\t\t\ttimeWarped: !!event.timeWarp,\n\t\t\t\t\tfullMeasure: event.fullMeasureRest,\n\t\t\t\t\ttick: event.tick || 0,\n\t\t\t\t\tfake: !event.fullMeasureRest && !event.grace && this.voices && !trueEventIds.has(event.id), // tremoloCatcher deemed as fake\n\t\t\t\t}));\n\t\t\t\tif (!elements.some((elem) => !elem.fake)) return null;\n\n\t\t\t\tconst signatureDuration = fractionMul(WHOLE_DURATION, this.timeSignature);\n\n\t\t\t\t// BOS & EOS\n\t\t\t\telements.unshift({\n\t\t\t\t\tindex: 0,\n\t\t\t\t\ttype: EventElementType.BOS,\n\t\t\t\t\tstaff: null,\n\t\t\t\t\tdivision: null,\n\t\t\t\t\tbeam: null,\n\t\t\t\t\tdots: null,\n\t\t\t\t\tstemDirection: null,\n\t\t\t\t\tgrace: false,\n\t\t\t\t\ttremoloCatcher: false,\n\t\t\t\t\tfullMeasure: false,\n\t\t\t\t\tx: this.position.left,\n\t\t\t\t\tpivotX: this.position.left,\n\t\t\t\t\ty1: 0,\n\t\t\t\t\ty2: 0,\n\t\t\t\t\theadY: 0,\n\t\t\t\t\tfeature: null,\n\t\t\t\t\ttimeWarped: this.duration < signatureDuration,\n\t\t\t\t\ttick: 0,\n\t\t\t\t\tfake: false,\n\t\t\t\t});\n\t\t\t\telements.push({\n\t\t\t\t\tindex: -1,\n\t\t\t\t\ttype: EventElementType.EOS,\n\t\t\t\t\tstaff: null,\n\t\t\t\t\tdivision: null,\n\t\t\t\t\tbeam: null,\n\t\t\t\t\tdots: null,\n\t\t\t\t\tstemDirection: null,\n\t\t\t\t\tgrace: false,\n\t\t\t\t\ttremoloCatcher: false,\n\t\t\t\t\tfullMeasure: false,\n\t\t\t\t\tx: this.position.right,\n\t\t\t\t\tpivotX: this.position.right,\n\t\t\t\t\ty1: 0,\n\t\t\t\t\ty2: 0,\n\t\t\t\t\theadY: 0,\n\t\t\t\t\tfeature: null,\n\t\t\t\t\ttimeWarped: false,\n\t\t\t\t\ttick: this.duration,\n\t\t\t\t\tfake: false,\n\t\t\t\t});\n\n\t\t\t\tlet matrixH = null;\n\t\t\t\tif (this.voices) {\n\t\t\t\t\tmatrixH = elements.map(() => elements.map(() => 0));\n\n\t\t\t\t\tthis.voices.forEach((voice) => {\n\t\t\t\t\t\tlet tar = 0;\n\t\t\t\t\t\tvoice.forEach((id) => {\n\t\t\t\t\t\t\tconst src = elements.findIndex((e) => e.index === id);\n\t\t\t\t\t\t\tif (src > 0 && tar >= 0) matrixH[src][tar] = 1;\n\t\t\t\t\t\t\ttar = src;\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tif (tar >= 0) matrixH[elements.length - 1][tar] = 1;\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tconst annotation = { ...this.solutionStat, patched: this.patched };\n\n\t\t\t\tconst backgroundImages =\n\t\t\t\t\tthis.backgroundImages &&\n\t\t\t\t\tthis.backgroundImages.map(({ url, position }) => ({\n\t\t\t\t\t\turl,\n\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t...position,\n\t\t\t\t\t\t\ty: position.y - staffY0,\n\t\t\t\t\t\t},\n\t\t\t\t\t}));\n\n\t\t\t\treturn new EventCluster({\n\t\t\t\t\tindex: this.measureIndex,\n\t\t\t\t\tduration: this.duration,\n\t\t\t\t\tsignatureDuration,\n\t\t\t\t\tstaffY0,\n\t\t\t\t\telements,\n\t\t\t\t\tmatrixH,\n\t\t\t\t\tannotation,\n\t\t\t\t\tbackgroundImages,\n\t\t\t\t});\n\t\t\t})\n\t\t\t.filter(Boolean);\n\t}\n\n\tapplyClusters(clusters: EventCluster[]): void {\n\t\tconst id_max = this.events.reduce((max, event) => Math.max(max, event.id), 0) + 1;\n\t\tthis.matrixH = Array(id_max + 1)\n\t\t\t.fill(null)\n\t\t\t.map(() => Array(id_max).fill(0));\n\n\t\tclusters.forEach((cluster) => {\n\t\t\tconst ids = cluster.elements.map((e) => e.index);\n\t\t\tconsole.assert(cluster.matrixH.length === ids.length - 1, 'unexpected matrixH size:', cluster.matrixH.length, ids.length);\n\n\t\t\tfor (let is = 1; is < ids.length; ++is) {\n\t\t\t\tfor (let it = 0; it < ids.length - 1; ++it) {\n\t\t\t\t\tconst srcId = ids[is] < 0 ? id_max : ids[is];\n\t\t\t\t\tconst tarId = ids[it];\n\n\t\t\t\t\tthis.matrixH[srcId][tarId] = cluster.matrixH[is - 1][it];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// event predisposition\n\t\t\tcluster.elements.forEach((elem) => {\n\t\t\t\tconst event = this.events.find((event) => event.id === elem.index);\n\t\t\t\tif (event) {\n\t\t\t\t\tevent.predisposition = elem.predisposition;\n\t\t\t\t\tif (event.predisposition.grace !== undefined) event.grace = event.predisposition.grace ? GraceType.Grace : null;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\t// estimated measure duration\n\t\tthis.estimatedDuration = clusters.reduce((sum, cluster) => sum + cluster.estimatedDuration, 0) / clusters.length;\n\t}\n}\n\nexport { SpartitoMeasure, EquationPolicy };\n","import { SimpleClass } from './aux_/typedJSON';\nimport { StaffBasic } from './interfaces';\nimport { SemanticPoint } from './semanticPoint';\nimport { EventTerm, ContextedTerm, MarkTerm } from './term';\n\nclass PatchMeasure extends SimpleClass {\n\tstatic className = 'PatchMeasure';\n\n\tmeasureIndex: number;\n\tstaffMask: number;\n\tbasic: StaffBasic;\n\n\t//points: SemanticPoint[];\n\tevents: EventTerm[];\n\tcontexts: ContextedTerm[][]; // [staff]\n\tmarks: MarkTerm[];\n\tvoices: number[][]; // [voice, id]\n\n\tconstructor(data: any) {\n\t\tsuper();\n\t\tObject.assign(this, data);\n\t}\n\n\tget staffN(): number {\n\t\treturn Math.floor(Math.log2(this.staffMask)) + 1;\n\t}\n\n\tget basics(): StaffBasic[] {\n\t\treturn Array(this.staffN).fill(this.basic);\n\t}\n\n\tget duration(): number {\n\t\treturn Math.max(\n\t\t\t0,\n\t\t\t...this.voices.map((ids) => {\n\t\t\t\tconst events = ids.map((id) => this.events.find((e) => e.id === id));\n\n\t\t\t\treturn events.reduce((duration, event) => duration + event.duration, 0);\n\t\t\t})\n\t\t);\n\t}\n}\n\nexport { PatchMeasure };\n","import { MetaNotation, TokenPosition } from '../performer';\nimport { Hash, HashVector, cosHashes, hashToHex, hashToBigInt } from './hashVector';\nimport { EventTerm, ContextedTerm, TermPitch, TempoTerm, WHOLE_DURATION } from './term';\nimport { VoicesStaff, VoiceMeasure, TermMeasure, TermVoice, Performing, RegulationOptions } from './interfaces';\nimport { reducedFraction, argmax, noteToPitch, frac, printFraction, fractionMul } from './utils';\nimport { TokenType } from './token';\nimport { SpartitoMeasure } from './spartitoMeasure';\nimport { SimpleClass } from './aux_/typedJSON';\nimport { evaluateMeasure } from './measureEvaluator';\nimport { Logger, DummyLogger } from './logger';\n\nexport const emptyVoiceFromStaffMeasure = (staff: TermMeasure, chiefVoice: boolean = false): VoiceMeasure => {\n\treturn {\n\t\tempty: true,\n\t\tduration: staff.duration,\n\t\ttickMap: {\n\t\t\t[0]: EventTerm.space({ duration: staff.duration, tick: 0 }),\n\t\t},\n\t\ttimeSignature: staff.timeSignature,\n\t\ttimeSigNumeric: staff.timeSigNumeric,\n\t\tkeySignature: staff.keySignature,\n\t\tcontextedTerms: staff.terms.filter((term) => term instanceof ContextedTerm && (!term.staffLevel || chiefVoice)) as ContextedTerm[],\n\t\tmarks: [],\n\t};\n};\n\nconst removeEmptyMeasuresInVoicesStaves = (staves: VoicesStaff[]): void => {\n\t//console.assert(staves[0] && staves[0].voices[0], 'voices is empty:', staves);\n\tif (!(staves[0] && staves[0].voices[0])) {\n\t\tconsole.warn('empty voices:', staves);\n\t\treturn;\n\t}\n\n\tconst measureCount = staves[0].voices[0].measures.length;\n\tconst measureEmpties = Array(measureCount)\n\t\t.fill(null)\n\t\t.map((_, m) => {\n\t\t\tfor (const staff of staves) {\n\t\t\t\tfor (const voice of staff.voices) {\n\t\t\t\t\tconst measure = voice.measures[m];\n\t\t\t\t\tif (!measure.empty) return false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn true;\n\t\t});\n\tmeasureEmpties.forEach((empty, m) => {\n\t\tif (empty) {\n\t\t\tstaves.forEach((staff) =>\n\t\t\t\tstaff.voices.forEach((voice) => {\n\t\t\t\t\tconst measure = voice.measures[m];\n\t\t\t\t\tmeasure.tickMap = {};\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t});\n};\n\nconst markingTiesInVoice = (voice: TermVoice) => {\n\tconst events = [].concat(...voice.measures.map((m) => Object.values(m.tickMap).filter((event) => event instanceof EventTerm)));\n\t//console.log(\"events:\", events);\n\n\tfor (let i = 1; i < events.length; ++i) {\n\t\tconst event0 = events[i - 1];\n\t\tconst event1 = events[i];\n\t\tif (!event0.rest && !event1.rest) {\n\t\t\tif (event0.accessories.some((acc) => acc.type === TokenType.SlurBegin) && event1.accessories.some((acc) => acc.type === TokenType.SlurEnd)) {\n\t\t\t\tconst pitches = event0.pitches.filter((p0) => event1.pitches.some((p1) => p1.note === p0.note && p1.alter === p0.alter));\n\t\t\t\tif (pitches.length > 0) {\n\t\t\t\t\tevent0.tying = true;\n\t\t\t\t\tevent1.tied = true;\n\n\t\t\t\t\tpitches.forEach((p0) => {\n\t\t\t\t\t\tp0.tying = true;\n\t\t\t\t\t\tconst p1 = event1.pitches.find((p1) => p1.note === p0.note && p1.alter === p0.alter);\n\t\t\t\t\t\tp1.tied = true;\n\t\t\t\t\t});\n\n\t\t\t\t\t// remove slurs from accessories\n\t\t\t\t\tpitches.forEach(() => {\n\t\t\t\t\t\tconst si0 = event0.accessories.findIndex((acc) => acc.type === TokenType.SlurBegin);\n\t\t\t\t\t\tif (si0 >= 0) event0.accessories.splice(si0, 1);\n\n\t\t\t\t\t\tconst si1 = event1.accessories.findIndex((acc) => acc.type === TokenType.SlurEnd);\n\t\t\t\t\t\tif (si1 >= 0) event1.accessories.splice(si1, 1);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nclass Spartito extends SimpleClass {\n\tstatic className = 'Spartito';\n\n\tstavesCount: number;\n\tstaffGroups: number[][];\n\tmeasures: SpartitoMeasure[];\n\n\ttags: string[];\n\n\tconstructor(data: any) {\n\t\tsuper();\n\t\tsuper.assign(data);\n\n\t\tthis.measures.forEach((measure) => (measure.staffGroups = this.staffGroups));\n\t}\n\n\tget regulated(): boolean {\n\t\treturn this.measures.every((m) => m.regulated);\n\t}\n\n\tget solidMeasureCount(): number {\n\t\treturn this.measures.filter((measure) => !measure.empty).length;\n\t}\n\n\tget measureIndexMapping(): number[] {\n\t\tlet n = 0;\n\t\treturn this.measures.map((measure) => {\n\t\t\treturn !measure.empty ? n++ : null;\n\t\t});\n\t}\n\n\tget headBPM(): number {\n\t\tfor (const measure of this.measures) {\n\t\t\tif (measure.marks) {\n\t\t\t\tconst tempoMark = measure.marks.find((mark) => mark instanceof TempoTerm && mark.isValid()) as TempoTerm;\n\t\t\t\tif (tempoMark) return tempoMark.bpm;\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tget measureLayoutCode(): string {\n\t\tconst ms = this.measures\n\t\t\t.filter((measure) => !measure.empty)\n\t\t\t.map((measure, i) => ({\n\t\t\t\tindex: i + 1,\n\t\t\t\tvb: measure.voltaBegin,\n\t\t\t\tve: measure.voltaEnd,\n\t\t\t\talter: measure.alternative,\n\t\t\t\tleftSign: '',\n\t\t\t\trightSign: '',\n\t\t\t}));\n\t\tms.forEach((m, i) => {\n\t\t\tif (m.vb) {\n\t\t\t\tconst nextI = ms.slice(i + 1).findIndex((mm) => mm.vb);\n\t\t\t\tconst nextVBI = nextI >= 0 ? i + nextI : ms.length;\n\t\t\t\tif (ms.slice(i, nextVBI - 1).some((mm) => mm.ve))\n\t\t\t\t\t// check if volta range closed\n\t\t\t\t\tm.leftSign = '2*[';\n\t\t\t}\n\n\t\t\tif (m.ve) {\n\t\t\t\tconst pms = ms.slice(0, i + 1).reverse();\n\t\t\t\tconst lastVEI = pms.slice(1).findIndex((mm) => mm.ve);\n\t\t\t\tif (lastVEI >= 0) {\n\t\t\t\t\tif (!pms.slice(1, lastVEI + 1).some((mm) => mm.vb))\n\t\t\t\t\t\t// ignore unclosed right volta\n\t\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (m.alter) {\n\t\t\t\t\tconst lastMI = pms.findIndex((m) => !m.alter);\n\t\t\t\t\tif (lastMI > 0) {\n\t\t\t\t\t\tpms[lastMI].rightSign = ']';\n\t\t\t\t\t\tpms[lastMI - 1].leftSign = '{[';\n\n\t\t\t\t\t\tm.rightSign = '],';\n\n\t\t\t\t\t\tif (ms[i + 1]) ms[i + 1].rightSign = '},';\n\t\t\t\t\t}\n\t\t\t\t} else m.rightSign = '],';\n\n\t\t\t\tif (!pms.some((m) => m.vb)) ms[0].leftSign = '2*[';\n\t\t\t}\n\t\t});\n\n\t\treturn ms\n\t\t\t.map((m) => m.leftSign + m.index.toString() + m.rightSign + (m.rightSign ? '' : ','))\n\t\t\t.join(' ')\n\t\t\t.replace(/,$/, '');\n\t}\n\n\tget qualityScore(): number {\n\t\tconst measures = this.measures.filter((measure) => !measure.empty);\n\t\tconst qss = measures.map(evaluateMeasure).map((e) => e.qualityScore);\n\t\tconst sum = qss.reduce((a, b) => a + b, 0);\n\t\t//console.log('qss:', qss);\n\n\t\treturn measures.length ? sum / measures.length : null;\n\t}\n\n\tdumpEvaluations(): void {\n\t\tconst es = this.measures.filter((measure) => !measure.empty).map((m) => ({ measureIndex: m.measureIndex, ...evaluateMeasure(m) }));\n\t\tconst qss = es.map((e) => e.qualityScore);\n\t\tconst sum = qss.reduce((a, b) => a + b, 0);\n\t\tconsole.log('qualityScore:', sum / es.length);\n\n\t\tconsole.table(es);\n\t}\n\n\tregulate(options: RegulationOptions = {}): void {\n\t\tthis.measures.forEach((m) => m.regulated || m.regulate(options));\n\t}\n\n\tcleanupRegulation(): void {\n\t\tthis.measures.forEach((m) => (m.voices = null));\n\t}\n\n\t// measures' estimatedDuration should be valid\n\trectifyTimeSignatures(logger: Logger = new DummyLogger()): void {\n\t\tconst mis = this.measures\n\t\t\t.map((measure, index) => ({ measure, index }))\n\t\t\t.filter(({ measure, index }) => !index || measure.timeSignatureChanged)\n\t\t\t.map(({ index }) => index);\n\t\tconst segments = mis\n\t\t\t.map((index, si) => this.measures.slice(index, si < mis.length - 1 ? mis[si + 1] : this.measures.length))\n\t\t\t.map((ms) => ms.filter((m) => m.estimatedDuration > 0))\n\t\t\t.filter((seg) => seg.length >= 3 || seg.some((measure) => measure.doubtfulTimesig));\n\t\t//console.log(\"segments:\", segments.map(ms => ms.map(m => m.measureIndex)));\n\n\t\tsegments.forEach((measures) => {\n\t\t\tif (measures[0].patched) {\n\t\t\t\t// rectify according to patched head measure\n\t\t\t\tconst newTimeSignature = measures[0].timeSignature;\n\t\t\t\tconst measuresToFix = measures\n\t\t\t\t\t.slice(1)\n\t\t\t\t\t.filter((measure) => !measure.patched && printFraction(measure.timeSignature) !== printFraction(newTimeSignature));\n\t\t\t\tif (measuresToFix.length) {\n\t\t\t\t\tconst originTimeSignature = measuresToFix[0].timeSignature;\n\t\t\t\t\tmeasuresToFix.forEach((measure) => measure.basics.forEach((basic) => (basic.timeSignature = newTimeSignature)));\n\n\t\t\t\t\tlogger.info(\n\t\t\t\t\t\t'[rectifyTimeSignatures]\ttimesignator overwrote by patched head:',\n\t\t\t\t\t\t`${printFraction(originTimeSignature)} -> ${printFraction(newTimeSignature)}`,\n\t\t\t\t\t\tmeasuresToFix.map((m) => m.measureIndex)\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst originTimeSignature = measures[0].timeSignature;\n\t\t\tconst regularD = Number.isInteger(Math.log2(originTimeSignature.denominator));\n\n\t\t\tlet denominator = regularD ? 4 : 8;\n\t\t\tif (regularD) denominator = Math.max(denominator, measures[0].timeSignature.denominator);\n\n\t\t\tconst numerators = measures.map((measure) => Math.round((measure.estimatedDuration * denominator) / WHOLE_DURATION));\n\t\t\tconst countings = Object.entries(numerators.reduce((c, n) => ((c[n] = (c[n] || 0) + 1), c), {} as Record)).sort(\n\t\t\t\t(p1, p2) => p2[1] - p1[1]\n\t\t\t);\n\t\t\tconst peakCount = countings[0][1];\n\t\t\tconst candidateNumerators = countings.filter(([_, c]) => c > peakCount * 0.6);\n\t\t\tconst bestCounting = candidateNumerators.reduce((best, c) => (Number(c[0]) > Number(best[0]) ? c : best));\n\t\t\tif (bestCounting[1] > 1) {\n\t\t\t\t//console.log(\"countings:\", countings, bestCounting[0]);\n\t\t\t\tlet numerator = Number(bestCounting[0]);\n\t\t\t\tif (!regularD || originTimeSignature.denominator * numerator !== originTimeSignature.numerator * denominator) {\n\t\t\t\t\tif (regularD && denominator !== originTimeSignature.denominator) {\n\t\t\t\t\t\tconst reducedN = (numerator * originTimeSignature.denominator) / denominator;\n\t\t\t\t\t\tif (Number.isInteger(reducedN)) {\n\t\t\t\t\t\t\tnumerator = reducedN;\n\t\t\t\t\t\t\tdenominator = originTimeSignature.denominator;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tconst measuresToFix = measures.filter((measure) => !measure.patched);\n\n\t\t\t\t\tconst newTimeSignature = frac(numerator, denominator);\n\t\t\t\t\tmeasuresToFix.forEach((measure) => measure.basics.forEach((basic) => (basic.timeSignature = newTimeSignature)));\n\n\t\t\t\t\tlogger.info(\n\t\t\t\t\t\t'[rectifyTimeSignatures]\ttimesignator overwrote by estimation:',\n\t\t\t\t\t\t`${printFraction(originTimeSignature)} -> ${numerator}/${denominator}`,\n\t\t\t\t\t\tmeasuresToFix.map((m) => m.measureIndex)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tmakeVoiceStaves(): VoicesStaff[] {\n\t\tthis.regulate();\n\n\t\tconst voiceCount = Math.max(...this.measures.map((measure) => measure.voices.length));\n\t\tif (!voiceCount || !Number.isFinite(voiceCount)) return null;\n\n\t\t// mark tied pitches for patched measues\n\t\tthis.measures\n\t\t\t.filter((measure) => measure.patched)\n\t\t\t.forEach((measure) => {\n\t\t\t\tmeasure.events.forEach((event) => {\n\t\t\t\t\tif (event.tied) event.pitches.forEach((pitch) => (pitch.tied = true));\n\t\t\t\t});\n\t\t\t});\n\n\t\t// [measure, voice]\n\t\tconst measures: VoiceMeasure[][] = this.measures.map((measure /*, mi*/) => {\n\t\t\tconsole.assert(measure.validRegulated, '[makeVoiceStaves] measure is invalid:', measure);\n\n\t\t\tconst eventMap: { [key: number]: EventTerm } = {};\n\t\t\tmeasure.events.forEach((event) => (eventMap[event.id] = event));\n\n\t\t\tconst leftStaves = new Set(\n\t\t\t\tArray(measure.contexts.length)\n\t\t\t\t\t.fill(null)\n\t\t\t\t\t.map((_, i) => i)\n\t\t\t);\n\n\t\t\tlet bar = null;\n\t\t\tif (measure.barType) {\n\t\t\t\tswitch (measure.barType) {\n\t\t\t\t\tcase 'Segment':\n\t\t\t\t\t\tbar = '||';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'Terminal':\n\t\t\t\t\t\tbar = '|.';\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst voices: VoiceMeasure[] = measure.voices.map((ids /*, vi*/) => {\n\t\t\t\tconst events = ids.map((id) => eventMap[id]);\n\t\t\t\tevents.sort((e1, e2) => e1.tick - e2.tick);\n\n\t\t\t\tconst tickMap = {};\n\t\t\t\tlet tick = 0;\n\t\t\t\tlet lastEvent = null;\n\t\t\t\tfor (const event of events) {\n\t\t\t\t\tif (!Number.isFinite(event?.tick)) {\n\t\t\t\t\t\tconsole.warn('invalid event tick:', event);\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (event.tick > tick) tickMap[tick] = EventTerm.space({ tick, duration: event.tick - tick });\n\t\t\t\t\telse if (!event.grace && event.tick < tick && lastEvent)\n\t\t\t\t\t\tlastEvent.timeWarp = reducedFraction(event.tick - lastEvent.tick, lastEvent.duration);\n\t\t\t\t\t//console.log(\"timewarp:\", event.tick - lastEvent.tick, lastEvent.duration, lastEvent.timeWarp);\n\n\t\t\t\t\ttickMap[event.tick] = event;\n\n\t\t\t\t\tif (!event.zeroHolder) {\n\t\t\t\t\t\ttick = Math.round(event.tick + event.duration);\n\t\t\t\t\t\tlastEvent = event;\n\n\t\t\t\t\t\t// sub grace events\n\t\t\t\t\t\tif (event.graceIds) {\n\t\t\t\t\t\t\tevent.graceIds.forEach((id) => {\n\t\t\t\t\t\t\t\tconst grace = measure.eventMap[id];\n\t\t\t\t\t\t\t\tif (grace) tickMap[grace.tick] = grace;\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (measure.endEvent && measure.endEvent.graceIds) {\n\t\t\t\t\tmeasure.endEvent.graceIds.forEach((id) => {\n\t\t\t\t\t\tconst grace = measure.eventMap[id];\n\t\t\t\t\t\tif (grace && (!lastEvent || grace.staff === lastEvent.staff)) tickMap[grace.tick] = grace;\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (tick < measure.duration) tickMap[tick] = EventTerm.space({ tick, duration: measure.duration - tick });\n\t\t\t\telse if (tick > measure.duration && Number.isFinite(measure.duration))\n\t\t\t\t\t//console.warn(\"duration out of range:\", tick, column.duration, mi, vi);\n\t\t\t\t\tlastEvent.timeWarp = reducedFraction(measure.duration - lastEvent.tick, lastEvent.duration);\n\n\t\t\t\tconsole.assert(\n\t\t\t\t\t!lastEvent || !lastEvent.timeWarp || (Number.isInteger(lastEvent.timeWarp.numerator) && Number.isInteger(lastEvent.timeWarp.denominator)),\n\t\t\t\t\t'invalid time warp:',\n\t\t\t\t\tlastEvent\n\t\t\t\t);\n\n\t\t\t\tconst staffIndex = events[0] ? events[0].staff : 0;\n\t\t\t\tleftStaves.delete(staffIndex);\n\t\t\t\tconst basic = measure.basics[staffIndex];\n\n\t\t\t\t//const row = measure.rows[staffIndex];\n\t\t\t\tconst contextedTerms = measure.contexts[staffIndex];\n\n\t\t\t\tconst tailEvent = events[events.length - 1];\n\t\t\t\tconst tailStaff = tailEvent ? tailEvent.staff : 0;\n\n\t\t\t\t// TODO: modify full measure rests duration\n\n\t\t\t\treturn {\n\t\t\t\t\ttickMap,\n\t\t\t\t\tduration: measure.duration,\n\t\t\t\t\t...basic,\n\t\t\t\t\t// TODO: consider staff altered voice\n\t\t\t\t\tcontextedTerms,\n\t\t\t\t\tmarks: [],\n\t\t\t\t\tbreak: measure.break,\n\t\t\t\t\tpageBreak: measure.pageBreak,\n\t\t\t\t\theadStaff: staffIndex,\n\t\t\t\t\ttailStaff,\n\t\t\t\t\tbar,\n\t\t\t\t};\n\t\t\t});\n\n\t\t\twhile (voices.length < voiceCount) {\n\t\t\t\tconst staffIndex = leftStaves.values().next().value || 0;\n\t\t\t\tleftStaves.delete(staffIndex);\n\n\t\t\t\tconst basic = measure.basics[staffIndex];\n\t\t\t\tconst terms = measure.contexts[staffIndex];\n\n\t\t\t\tconst chiefVoice = voices.every((voice) => voice.headStaff !== staffIndex);\n\n\t\t\t\tconst voice = emptyVoiceFromStaffMeasure(\n\t\t\t\t\t{\n\t\t\t\t\t\tterms,\n\t\t\t\t\t\tduration: measure.duration,\n\t\t\t\t\t\t...basic,\n\t\t\t\t\t\tbreak: measure.break,\n\t\t\t\t\t\tpageBreak: measure.pageBreak,\n\t\t\t\t\t},\n\t\t\t\t\tchiefVoice\n\t\t\t\t);\n\t\t\t\tvoice.headStaff = staffIndex;\n\t\t\t\tvoice.tailStaff = staffIndex;\n\t\t\t\tvoices.push(voice);\n\t\t\t}\n\n\t\t\treturn voices;\n\t\t});\n\t\t//console.log(\"measures:\", measures);\n\n\t\t// compute traits for voice-measures\n\t\tmeasures.forEach((voices) =>\n\t\t\tvoices.forEach((measure) => {\n\t\t\t\tconst words = [];\n\n\t\t\t\tif (!measure.empty) {\n\t\t\t\t\twords.push(`s${measure.headStaff}`);\n\t\t\t\t\twords.push(`s${measure.tailStaff}`);\n\t\t\t\t}\n\n\t\t\t\tObject.values(measure.tickMap).forEach((event) => {\n\t\t\t\t\tif (event instanceof EventTerm) {\n\t\t\t\t\t\twords.push(`s${event.staff}`);\n\n\t\t\t\t\t\tif (event.stemDirection) {\n\t\t\t\t\t\t\tconst sd = `st${event.staff}-${event.stemDirection}`;\n\t\t\t\t\t\t\twords.push(sd, sd);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (event.grace) words.push(`gd${event.mainDuration}`);\n\t\t\t\t\t\telse words.push(`d${event.mainDuration}`);\n\n\t\t\t\t\t\tif (event.rest) words.push('r-' + event.rest);\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tevent.pitches.forEach((pitch) => {\n\t\t\t\t\t\t\t\twords.push(`p1-${pitch.note}`);\n\t\t\t\t\t\t\t\twords.push(`p8-${Math.round(pitch.note / 8)}`);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tmeasure.trait = HashVector.fromWords(words);\n\t\t\t})\n\t\t);\n\t\t//console.log(\"measure traits:\");\n\t\t//console.table(measures.map(voices => voices.map(measure => hashToHex(measure.trait.toHash()))));\n\n\t\tconst staffToGroup: Record = this.staffGroups\n\t\t\t.flat(1)\n\t\t\t.reduce((map, si) => ((map[si] = this.staffGroups.findIndex((group) => group.includes(si))), map), {});\n\n\t\t// sort voices to connect voices between neighhoring measures\n\t\tconst voiceTraits = Array(voiceCount)\n\t\t\t.fill(null)\n\t\t\t.map((_, index) => ({ vector: HashVector.zero, index, weight: 0, headStaff: null }));\n\t\tmeasures.forEach((voices, mi) => {\n\t\t\tvoiceTraits.sort((v1, v2) => v2.weight - v1.weight);\n\n\t\t\tconst leftVoices = new Set(voices);\n\t\t\tvoiceTraits.forEach((voiceTrait) => {\n\t\t\t\tconst vs = [...leftVoices];\n\t\t\t\tlet measure = vs[0];\n\t\t\t\tif (mi > 0 && vs.length > 1) {\n\t\t\t\t\tconst consistencies = vs.map((measure) =>\n\t\t\t\t\t\tstaffToGroup[measure.headStaff] === staffToGroup[voiceTrait.headStaff]\n\t\t\t\t\t\t\t? cosHashes(voiceTrait.vector.toHash(), measure.trait.toHash())\n\t\t\t\t\t\t\t: -1\n\t\t\t\t\t);\n\t\t\t\t\tmeasure = vs[argmax(consistencies)];\n\t\t\t\t}\n\t\t\t\tleftVoices.delete(measure);\n\n\t\t\t\tmeasure.voiceIndex = voiceTrait.index;\n\t\t\t\tvoiceTrait.vector.scale(0.4).add(measure.trait);\n\n\t\t\t\tvoiceTrait.weight = Object.keys(measure.tickMap).length;\n\n\t\t\t\tif (mi === 0) voiceTrait.headStaff = measure.headStaff;\n\t\t\t});\n\n\t\t\tvoices.sort((m1, m2) => m1.voiceIndex - m2.voiceIndex);\n\t\t});\n\n\t\t//const staffTraits = Array(this.stavesCount).fill(null).map((_, si) => HashVector.fromString(`s${si}`).toHash());\n\t\tconst staffVoiceIndices = Array(this.stavesCount)\n\t\t\t.fill(null)\n\t\t\t.map(() => []);\n\t\tvoiceTraits.forEach((trait) => {\n\t\t\t//const consistencies = staffTraits.map(staff => cosHashes(trait.vector.toHash(), staff));\n\t\t\t//staffVoiceIndices[argmax(consistencies)].push(trait.index);\n\t\t\tstaffVoiceIndices[trait.headStaff].push(trait.index);\n\t\t});\n\n\t\tconst staves = Array(this.stavesCount)\n\t\t\t.fill(null)\n\t\t\t.map((_, si) => {\n\t\t\t\tif (!measures[0]) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tvoices: [],\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\t//const voiceIndicies = measures[0].map((voice, vi) => ({ voice, vi })).filter(({ voice }) => voice.headStaff === si).map(({ vi }) => vi);\n\t\t\t\tconst voiceIndicies = staffVoiceIndices[si];\n\n\t\t\t\tconst voices = voiceIndicies.map((vi): TermVoice => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tmode: 'relative',\n\t\t\t\t\t\tmeasures: measures.map((m) => m[vi]),\n\t\t\t\t\t};\n\t\t\t\t});\n\n\t\t\t\treturn { voices };\n\t\t\t});\n\n\t\tremoveEmptyMeasuresInVoicesStaves(staves);\n\t\tstaves.forEach((staff) => staff.voices.forEach(markingTiesInVoice));\n\n\t\treturn staves;\n\t}\n\n\tperform(): Performing {\n\t\tconst staves = this.makeVoiceStaves();\n\t\tif (!staves) return null;\n\n\t\tconst tokenMap = new Map();\n\n\t\t// TODO: store staff channels in score\n\t\tconst staffToChannel = Array(this.stavesCount)\n\t\t\t.fill(null)\n\t\t\t.reduce((map, _, i) => {\n\t\t\t\tmap[i] = i;\n\t\t\t\treturn map;\n\t\t\t}, {});\n\n\t\tconst voiceChannels = [].concat(...staves.map((staff, si) => staff.voices.map(() => staffToChannel[si])));\n\n\t\tlet hasTempo = false;\n\n\t\tlet nextTick = 0;\n\t\tlet events0 = null;\n\t\tconst measures = this.measures\n\t\t\t.filter((measure) => !measure.empty)\n\t\t\t.map((measure) => {\n\t\t\t\tconst { systemIndex, right: endX } = measure.position;\n\t\t\t\tconst measureIndex = measure.measureIndex;\n\n\t\t\t\tconst voices: VoiceMeasure[] = [].concat(...staves.map((staff) => staff.voices.map((voice) => voice.measures[measureIndex])));\n\t\t\t\tconst voice0 = voices[0];\n\t\t\t\tconst tick = nextTick;\n\n\t\t\t\t//const signatureDuration = (WHOLE_DURATION * voice0.timeSignature.numerator) / voice0.timeSignature.denominator;\n\n\t\t\t\tnextTick += voice0.duration;\n\n\t\t\t\tconst notes = [].concat(\n\t\t\t\t\t...voices.map((measure, vi) => {\n\t\t\t\t\t\tconst tickFactor = 1; //measure.duration ? signatureDuration / measure.duration : 1;\n\n\t\t\t\t\t\tconst channel = voiceChannels[vi];\n\n\t\t\t\t\t\tconst chords = Object.values(measure.tickMap)\n\t\t\t\t\t\t\t.filter((term) => term instanceof EventTerm && !term.rest)\n\t\t\t\t\t\t\t.map((term: EventTerm) => {\n\t\t\t\t\t\t\t\tconst duration = Math.round(term.duration * tickFactor);\n\t\t\t\t\t\t\t\tconsole.assert(Number.isFinite(term.tick), 'invalid event term tick:', term);\n\t\t\t\t\t\t\t\tconsole.assert(Number.isFinite(duration), 'invalid event term duration:', term);\n\n\t\t\t\t\t\t\t\tif (term.tick >= 0) {\n\t\t\t\t\t\t\t\t\t// exclude minus tick tokens\n\t\t\t\t\t\t\t\t\tterm.noteIds.forEach((id) => {\n\t\t\t\t\t\t\t\t\t\ttokenMap.set(id, {\n\t\t\t\t\t\t\t\t\t\t\tsystem: systemIndex,\n\t\t\t\t\t\t\t\t\t\t\tmeasure: measureIndex,\n\t\t\t\t\t\t\t\t\t\t\tx: term.roundX,\n\t\t\t\t\t\t\t\t\t\t\tendX,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tconst part = this.staffGroups.findIndex((group) => group.includes(term.staff));\n\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\ttick: Math.round(term.tick * tickFactor),\n\t\t\t\t\t\t\t\t\tduration,\n\t\t\t\t\t\t\t\t\tpitches: term.pitches,\n\t\t\t\t\t\t\t\t\tnoteIds: term.noteIds,\n\t\t\t\t\t\t\t\t\tpart,\n\t\t\t\t\t\t\t\t\tstaff: term.staff,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\treturn [].concat(\n\t\t\t\t\t\t\t...chords.map((chord) => {\n\t\t\t\t\t\t\t\t// exclude repeated pitches\n\t\t\t\t\t\t\t\tconst pitchMap: { [pitch: number]: TermPitch } = chord.pitches.reduce((map, pitch) => {\n\t\t\t\t\t\t\t\t\tmap[noteToPitch(pitch)] = pitch;\n\t\t\t\t\t\t\t\t\treturn map;\n\t\t\t\t\t\t\t\t}, {});\n\t\t\t\t\t\t\t\tconst pitches = Object.values(pitchMap).sort((p1, p2) => p1.note - p2.note);\n\n\t\t\t\t\t\t\t\treturn pitches\n\t\t\t\t\t\t\t\t\t.filter((pitch) => !pitch.tied)\n\t\t\t\t\t\t\t\t\t.map((pitch, i) => {\n\t\t\t\t\t\t\t\t\t\tconst pitchValue = noteToPitch(pitch);\n\t\t\t\t\t\t\t\t\t\tconst id = chord.noteIds && chord.noteIds[i];\n\n\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\ttick: chord.tick,\n\t\t\t\t\t\t\t\t\t\t\tpitch: pitchValue,\n\t\t\t\t\t\t\t\t\t\t\tduration: chord.duration,\n\t\t\t\t\t\t\t\t\t\t\tchordPosition: {\n\t\t\t\t\t\t\t\t\t\t\t\tindex: i,\n\t\t\t\t\t\t\t\t\t\t\t\tcount: chord.pitches.length,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\ttied: pitch.tied,\n\t\t\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\t\t\tids: [id],\n\t\t\t\t\t\t\t\t\t\t\ttrack: chord.part,\n\t\t\t\t\t\t\t\t\t\t\tstaff: chord.staff,\n\t\t\t\t\t\t\t\t\t\t\tchannel,\n\t\t\t\t\t\t\t\t\t\t\tsubNotes: [\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\tstartTick: 0,\n\t\t\t\t\t\t\t\t\t\t\t\t\tendTick: chord.duration,\n\t\t\t\t\t\t\t\t\t\t\t\t\tpitch: pitchValue,\n\t\t\t\t\t\t\t\t\t\t\t\t\tvelocity: 127,\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t);\n\t\t\t\t\t})\n\t\t\t\t);\n\n\t\t\t\tconst events = [];\n\t\t\t\tevents0 = events0 || events;\n\n\t\t\t\tif (measure.marks)\n\t\t\t\t\tmeasure.marks.forEach((mark) => {\n\t\t\t\t\t\tif (mark instanceof TempoTerm) {\n\t\t\t\t\t\t\tconst bpm = mark.bpm;\n\t\t\t\t\t\t\tif (mark.isValid()) {\n\t\t\t\t\t\t\t\tconst es = hasTempo ? events : events0; // set the first tempo to the beginning of the track\n\t\t\t\t\t\t\t\tconst tick = hasTempo ? mark.tick : 0;\n\t\t\t\t\t\t\t\tes.push({\n\t\t\t\t\t\t\t\t\ttrack: 0,\n\t\t\t\t\t\t\t\t\tticks: tick,\n\t\t\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\t\t\ttype: 'meta',\n\t\t\t\t\t\t\t\t\t\tsubtype: 'setTempo',\n\t\t\t\t\t\t\t\t\t\tmicrosecondsPerBeat: Math.round(60e6 / bpm),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\thasTempo = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\tconst basic = measure.basics[0];\n\n\t\t\t\treturn {\n\t\t\t\t\ttick,\n\t\t\t\t\tduration: measure.duration,\n\t\t\t\t\tnotes,\n\t\t\t\t\tevents,\n\t\t\t\t\ttimeSignature: basic && basic.timeSignature,\n\t\t\t\t\tkeySignature: basic && basic.keySignature,\n\t\t\t\t};\n\t\t\t});\n\n\t\tif (!hasTempo) {\n\t\t\tmeasures[0].events.push({\n\t\t\t\ttrack: 0,\n\t\t\t\tticks: 0,\n\t\t\t\tdata: {\n\t\t\t\t\ttype: 'meta',\n\t\t\t\t\tsubtype: 'setTempo',\n\t\t\t\t\tmicrosecondsPerBeat: 0.5e6, // TODO\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\n\t\tconst notation = new MetaNotation({ measures });\n\n\t\treturn {\n\t\t\tnotation,\n\t\t\ttokenMap,\n\t\t};\n\t}\n\n\tperformByEstimation(): Performing {\n\t\tconst tokenMap = new Map();\n\t\tlet nextTick = 0;\n\n\t\tconst measures = this.measures\n\t\t\t.filter((measure) => measure.events.some((event) => event.predisposition))\n\t\t\t.map((measure) => {\n\t\t\t\tconst tick = nextTick;\n\t\t\t\tconst duration = Math.round(measure.estimatedDuration || fractionMul(WHOLE_DURATION, measure.timeSignature));\n\t\t\t\tconst basic = measure.basics[0];\n\n\t\t\t\tnextTick += duration;\n\n\t\t\t\tconst { systemIndex, right: endX } = measure.position;\n\t\t\t\tconst measureIndex = measure.measureIndex;\n\n\t\t\t\tconst chords = measure.events.filter((event) => event.predisposition && event.predisposition.fake < 0.5 && !event.rest);\n\t\t\t\tconst notes = chords\n\t\t\t\t\t.map((chord) => {\n\t\t\t\t\t\tconst noteTick = Math.round(chord.predisposition.tick);\n\n\t\t\t\t\t\tchord.noteIds.forEach((id) => {\n\t\t\t\t\t\t\ttokenMap.set(id, {\n\t\t\t\t\t\t\t\tsystem: systemIndex,\n\t\t\t\t\t\t\t\tmeasure: measureIndex,\n\t\t\t\t\t\t\t\tx: chord.roundX,\n\t\t\t\t\t\t\t\tendX,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\treturn chord.pitches.map((pitch, i) => {\n\t\t\t\t\t\t\tconst pitchValue = noteToPitch(pitch);\n\t\t\t\t\t\t\tconst id = chord.noteIds && chord.noteIds[i];\n\t\t\t\t\t\t\tconst part = this.staffGroups.findIndex((group) => group.includes(chord.staff));\n\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\ttick: noteTick,\n\t\t\t\t\t\t\t\tpitch: pitchValue,\n\t\t\t\t\t\t\t\tduration: chord.duration,\n\t\t\t\t\t\t\t\tchordPosition: {\n\t\t\t\t\t\t\t\t\tindex: i,\n\t\t\t\t\t\t\t\t\tcount: chord.pitches.length,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\ttied: pitch.tied,\n\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\tids: [id],\n\t\t\t\t\t\t\t\ttrack: part,\n\t\t\t\t\t\t\t\tstaff: chord.staff,\n\t\t\t\t\t\t\t\tchannel: 0,\n\t\t\t\t\t\t\t\tsubNotes: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tstartTick: 0,\n\t\t\t\t\t\t\t\t\t\tendTick: chord.duration,\n\t\t\t\t\t\t\t\t\t\tpitch: pitchValue,\n\t\t\t\t\t\t\t\t\t\tvelocity: 127,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t});\n\t\t\t\t\t})\n\t\t\t\t\t.flat(1);\n\n\t\t\t\treturn {\n\t\t\t\t\ttick,\n\t\t\t\t\tduration,\n\t\t\t\t\tnotes,\n\t\t\t\t\tevents: [],\n\t\t\t\t\ttimeSignature: basic && basic.timeSignature,\n\t\t\t\t\tkeySignature: basic && basic.keySignature,\n\t\t\t\t};\n\t\t\t});\n\n\t\tconst notation = new MetaNotation({ measures });\n\n\t\treturn {\n\t\t\tnotation,\n\t\t\ttokenMap,\n\t\t};\n\t}\n\n\tfeatureHash(): Hash {\n\t\tconst headMeasures = this.measures.slice(0, 16);\n\t\tconst measureWords = headMeasures.map((measure) => measure.featureWords);\n\n\t\tconst levels = [1, 4, 16].map((len) => {\n\t\t\tconst meaures = measureWords.slice(0, len).filter(Boolean);\n\t\t\tconst ys = meaures.map((words) => words[0]).flat(1);\n\t\t\tconst melodies = meaures.map((words) => words[1]).flat(1);\n\t\t\tconst rhythm = meaures.map((words) => words[2]).flat(1);\n\n\t\t\tconst [vecY, vecMelody, vecRhythm] = [ys, melodies, rhythm].map(HashVector.fromWords);\n\n\t\t\treturn HashVector.concat(vecY, vecMelody.sub(128), vecRhythm.sub(128));\n\t\t});\n\n\t\treturn HashVector.concat(...levels).toHash();\n\t}\n\n\tfeatureHashHex(): string {\n\t\treturn hashToHex(this.featureHash());\n\t}\n\n\tfeatureHashBigInt(): bigint {\n\t\treturn hashToBigInt(this.featureHash());\n\t}\n\n\tassignMeasureNumbers(): void {\n\t\tlet n = null as any;\n\t\tfor (const measure of this.measures) {\n\t\t\tif (!measure.discard && !measure.events.length) continue;\n\n\t\t\tif (measure.indent) n = null;\n\n\t\t\tif (!Number.isFinite(n)) n = measure.partialDuration ? 0 : 1;\n\n\t\t\tmeasure.measureNumber = n++;\n\t\t}\n\t}\n}\n\nexport { SpartitoMeasure, Spartito };\n","import { Fraction } from './interfaces';\nimport { ContextedTerm, ContextType } from './term';\nimport { Logger, DummyLogger } from './logger';\n\nconst GROUP_N_TO_PITCH = [0, 2, 4, 5, 7, 9, 11];\nconst MIDDLE_C = 60;\n\nexport const mod7 = (x) => {\n\tlet y = x % 7;\n\twhile (y < 0) y += 7;\n\n\treturn y;\n};\n\nconst mod12 = (x) => {\n\tlet y = x % 12;\n\twhile (y < 0) y += 12;\n\n\treturn y;\n};\n\nconst PHONETS = 'CDEFGAB';\n\nconst ALTER_NAMES = {\n\t[-2]: '\\u266D\\u266D',\n\t[-1]: '\\u266D',\n\t[0]: '\\u266E',\n\t[1]: '\\u266F',\n\t[2]: '\\uD834\\uDD2A',\n};\n\n/*\n\tCoordinates:\n\n\t\tnote:\n\t\t\tzero: the middle C line (maybe altered)\n\t\t\tpositive: high (right on piano keyboard)\n\t\t\tunit: a step in scales of the current staff key\n\n\t\tstaff Y:\n\t\t\tzero: the third (middle) line among 5 staff lines\n\t\t\tpositive: down\n\t\t\tunit: a interval between 2 neighbor staff lines\n*/\n\nexport default class StaffContext {\n\tlogger: Logger = new DummyLogger();\n\n\tclef: number = -3;\n\tkeyAlters: number[] = [];\n\toctaveShift: number = 0;\n\talters: number[] = [];\n\n\ttimeSignature: Fraction = {\n\t\tnumerator: 4,\n\t\tdenominator: 4,\n\t};\n\ttimeSigNumeric: boolean = false;\n\ttimeSigNumSet: boolean = false;\n\ttimeSigDenSet: boolean = false;\n\tdoubtingTimesig: boolean = true;\n\n\tchange(term: ContextedTerm) {\n\t\tswitch (term.type) {\n\t\t\tcase ContextType.Clef:\n\t\t\t\tthis.clef = term.clef;\n\n\t\t\t\tbreak;\n\t\t\tcase ContextType.KeyAcc:\n\t\t\t\tthis.keyAlters[mod7(this.yToNote(term.y))] = term.alter;\n\n\t\t\t\tbreak;\n\t\t\tcase ContextType.Acc:\n\t\t\t\tthis.alters[this.yToNote(term.y)] = term.alter;\n\n\t\t\t\tbreak;\n\t\t\tcase ContextType.OctaveShift:\n\t\t\t\tthis.octaveShift = term.octaveShift;\n\n\t\t\t\tbreak;\n\t\t\tcase ContextType.TimeSignatureC:\n\t\t\t\tthis.timeSigNumeric = false;\n\t\t\t\tswitch (term.tokenType) {\n\t\t\t\t\tcase 'timesig-C44':\n\t\t\t\t\t\tthis.timeSignature.numerator = 4;\n\t\t\t\t\t\tthis.timeSignature.denominator = 4;\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'timesig-C22':\n\t\t\t\t\t\tthis.timeSignature.numerator = 2;\n\t\t\t\t\t\tthis.timeSignature.denominator = 2;\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tthis.doubtingTimesig = this.partialTimeSignature;\n\n\t\t\t\tbreak;\n\t\t\tcase ContextType.TimeSignatureN:\n\t\t\t\tthis.timeSigNumeric = true;\n\t\t\t\tswitch (term.y) {\n\t\t\t\t\tcase 1:\n\t\t\t\t\t\tif (this.timeSigDenSet) this.timeSignature.denominator = this.timeSignature.denominator * 10 + term.number;\n\t\t\t\t\t\telse this.timeSignature.denominator = term.number;\n\n\t\t\t\t\t\tthis.timeSigDenSet = true;\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase -1:\n\t\t\t\t\t\tif (this.timeSigNumSet) this.timeSignature.numerator = this.timeSignature.numerator * 10 + term.number;\n\t\t\t\t\t\telse this.timeSignature.numerator = term.number;\n\n\t\t\t\t\t\tthis.timeSigNumSet = true;\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tthis.logger.warn('unexpected time signature Y:', term.y);\n\t\t\t\t}\n\t\t\t\tthis.doubtingTimesig = this.partialTimeSignature;\n\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tresetMeasure() {\n\t\tthis.alters = [];\n\n\t\tthis.timeSigNumSet = false;\n\t\tthis.timeSigDenSet = false;\n\t}\n\n\tresetSystem() {\n\t\tthis.keyAlters = [];\n\t}\n\n\tget keySignature(): number {\n\t\treturn this.keyAlters.filter((a) => Number.isInteger(a)).reduce((sum, a) => sum + a, 0);\n\t}\n\n\tget partialTimeSignature(): boolean {\n\t\treturn !this.timeSigNumSet !== !this.timeSigDenSet;\n\t}\n\n\tnoteToY(note: number): number {\n\t\treturn -note / 2 - this.clef - this.octaveShift * 3.5;\n\t}\n\n\tpitchToNote(pitch: number, { preferredAlter = null } = {}): { note: number; alter: number } {\n\t\tif (!preferredAlter) preferredAlter = this.keySignature < 0 ? -1 : 1;\n\n\t\tconst group = Math.floor((pitch - MIDDLE_C) / 12);\n\t\tconst gp = mod12(pitch);\n\t\tconst alteredGp = GROUP_N_TO_PITCH.includes(gp) ? gp : mod12(gp - preferredAlter);\n\t\tconst gn = GROUP_N_TO_PITCH.indexOf(alteredGp);\n\t\tthis.logger.assert(gn >= 0, 'invalid preferredAlter:', pitch, preferredAlter, alteredGp);\n\n\t\tconst naturalNote = group * 7 + gn;\n\n\t\tconst alterValue = gp - alteredGp;\n\t\tconst keyAlterValue = this.keyAlters[gn] || 0;\n\t\tconst onAcc = Number.isInteger(this.alters[naturalNote]);\n\n\t\tconst alter = onAcc ? alterValue : alterValue === keyAlterValue ? null : alterValue;\n\n\t\treturn { note: naturalNote, alter };\n\t}\n\n\tpitchToY(pitch: number, { preferredAlter = null } = {}): { y: number; alter: number } {\n\t\tconst { note, alter } = this.pitchToNote(pitch, { preferredAlter });\n\t\tconst y = this.noteToY(note);\n\n\t\treturn { y, alter };\n\t}\n\n\tyToNote(y: number): number {\n\t\tthis.logger.assert(Number.isInteger(y * 2), 'invalid y:', y);\n\n\t\treturn (-y - this.octaveShift * 3.5 - this.clef) * 2;\n\t}\n\n\talterOnNote(note: number): number {\n\t\tif (Number.isInteger(this.alters[note])) return this.alters[note];\n\n\t\tconst gn = mod7(note);\n\t\tif (Number.isInteger(this.keyAlters[gn])) return this.keyAlters[gn];\n\n\t\treturn 0;\n\t}\n\n\tnoteToPitch(note: number): number {\n\t\tconst group = Math.floor(note / 7);\n\t\tconst gn = mod7(note);\n\n\t\tconst pitch = MIDDLE_C + group * 12 + GROUP_N_TO_PITCH[gn] + this.alterOnNote(note);\n\t\tif (!Number.isFinite(pitch)) {\n\t\t\tthis.logger.warn('invalid pitch value:', pitch, note, group, gn);\n\t\t\treturn -1;\n\t\t}\n\n\t\treturn pitch;\n\t}\n\n\tyToPitch(y: number): number {\n\t\treturn this.noteToPitch(this.yToNote(y));\n\t}\n\n\tyToPitchName(y: number): string {\n\t\tconst note = this.yToNote(y);\n\t\tconst group = Math.floor(note / 7);\n\t\tconst gn = mod7(note);\n\n\t\tlet alter = this.alterOnNote(note);\n\t\tif (!alter && !Number.isInteger(this.alters[note])) alter = null;\n\n\t\treturn `${ALTER_NAMES[alter] ? ALTER_NAMES[alter] : ''}${PHONETS[gn]}${group + 4}`;\n\t}\n}\n","import sha1 from 'js-sha1';\n\nimport * as measureLayout from '../measureLayout';\nimport * as staffLayout from '../staffLayout';\nimport { SimpleClass } from './aux_/typedJSON';\nimport { EventSystem, MeasureBrief, MusicSheet, RecognitionSettings, ScoreData, TermMeasure, TermStaff, VoicesStaff } from './interfaces';\nimport { DummyLogger, Logger } from './logger';\nimport { evaluateMeasure } from './measureEvaluator';\nimport { PatchMeasure } from './patch';\nimport { Measure, Page, Staff, System } from './scoreComponents';\nimport { hashSemanticPoint, SemanticPoint, SemanticType } from './semanticPoint';\nimport { BOS_ELEMENT, fractionToElems, SemanticCluster, SemanticElement, SemanticElementType } from './semanticTopology';\nimport { Spartito, SpartitoMeasure } from './spartito';\nimport StaffContext from './staffContext';\nimport { ContextedTerm, ContextType, EventTerm, WHOLE_DURATION } from './term';\nimport type { SemanticPointInMeasure } from './timewiseGraph';\nimport { TimewiseGraph } from './timewiseGraph';\nimport { Token, TokenType } from './token';\nimport { distance2D, solveOverlapping } from './utils';\n\nexport const VERSION = 14;\n\ninterface Topology {\n\tclusters: SemanticCluster[];\n}\n\ninterface PaperOptions {\n\traggedLast: boolean;\n\traggedBottom: boolean;\n\traggedLastBottom: boolean;\n}\n\nconst GRAND_STAFF_LAYOUT = '{-}';\n\nconst processStaffContext = (staff: TermStaff, logger: Logger = new DummyLogger()): void => {\n\tconst context = new StaffContext();\n\tcontext.logger = logger;\n\n\tfor (const row of staff.rows) {\n\t\tfor (const measure of row) {\n\t\t\tconst startEvent = measure.terms.find((term) => term instanceof EventTerm) as EventTerm;\n\t\t\tlet tick = startEvent ? Math.min(startEvent.tick, 0) : 0;\n\n\t\t\tmeasure.terms.forEach((term) => {\n\t\t\t\tif (term instanceof ContextedTerm) {\n\t\t\t\t\tterm.tick = tick; // TODO: not working here because measure not regulated yet\n\t\t\t\t\tcontext.change(term);\n\t\t\t\t} else if (term instanceof EventTerm) {\n\t\t\t\t\tconst endTick = term.tick + (term.duration || 0);\n\t\t\t\t\tif (endTick > tick) tick = endTick;\n\n\t\t\t\t\tif (term.ys) {\n\t\t\t\t\t\tterm.pitches = term.ys.map((y) => {\n\t\t\t\t\t\t\tconst note = context.yToNote(y);\n\t\t\t\t\t\t\tconst alter = context.alterOnNote(note);\n\n\t\t\t\t\t\t\treturn { note, alter, octaveShift: context.octaveShift };\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tmeasure.timeSignature = { ...context.timeSignature };\n\t\t\tmeasure.timeSigNumeric = context.timeSigNumeric;\n\t\t\tmeasure.doubtfulTimesig =\n\t\t\t\tcontext.doubtingTimesig ||\n\t\t\t\t!Number.isInteger(Math.log2(measure.timeSignature.denominator)) ||\n\t\t\t\tmeasure.timeSignature.numerator <= measure.timeSignature.denominator / 4;\n\n\t\t\tmeasure.keySignature = context.keySignature;\n\n\t\t\t// fill empty measure duration\n\t\t\tif (measure.duration === 0) measure.duration = (WHOLE_DURATION * measure.timeSignature.numerator) / measure.timeSignature.denominator;\n\n\t\t\tcontext.resetMeasure();\n\t\t}\n\n\t\tcontext.resetSystem();\n\t}\n};\n\nconst upgradeScoreData = (data: ScoreData): ScoreData => {\n\tif (data.version < 3) {\n\t\tconst { version, stavesCount, layoutTemplate, ...fields } = data;\n\t\tvoid version;\n\t\tvoid layoutTemplate;\n\n\t\tlet staffLayoutCode =\n\t\t\tstavesCount > 1\n\t\t\t\t? Array(stavesCount - 1)\n\t\t\t\t\t\t.fill(',')\n\t\t\t\t\t\t.join('')\n\t\t\t\t: '';\n\n\t\t// use graph staff by default for 2 staves score\n\t\tif (stavesCount === 2) staffLayoutCode = '{-}';\n\n\t\tdata = {\n\t\t\tversion: 3,\n\t\t\tstaffLayoutCode,\n\t\t\t...fields,\n\t\t};\n\t}\n\n\tif (data.version < 8) {\n\t\t// upgrade system measure bar semantics\n\t\tdata.pages.forEach((page) => {\n\t\t\tpage.systems.forEach((system) => {\n\t\t\t\tif (system.semantics) {\n\t\t\t\t\tconst bars = system.semantics.filter((point) => point.semantic === SemanticType.vline_BarMeasure);\n\n\t\t\t\t\tsystem.semantics = [].concat(\n\t\t\t\t\t\t...system.staves.map((staff) => {\n\t\t\t\t\t\t\tconst oy = staff.top + staff.staffY;\n\n\t\t\t\t\t\t\treturn bars.map((point) => ({\n\t\t\t\t\t\t\t\t...point,\n\t\t\t\t\t\t\t\ty: point.y + oy,\n\t\t\t\t\t\t\t\textension: {\n\t\t\t\t\t\t\t\t\t...point.extension,\n\t\t\t\t\t\t\t\t\ty1: point.extension.y1 + oy,\n\t\t\t\t\t\t\t\t\ty2: point.extension.y2 + oy,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t})\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\tdata.version = 8;\n\t}\n\n\tif (data.version < 9) {\n\t\t// remove old format spartito\n\t\tdata.spartito = null;\n\n\t\tdata.version = 9;\n\t}\n\n\treturn data;\n};\n\nconst bitsToMask = (bits: number[]): number => bits.reduce((mask, bit, i) => (bit ? mask | (1 << i) : mask), 0);\n\ninterface PointPosition {\n\tpoint: SemanticPoint;\n\tpageIndex: number;\n\tsystemIndex: number;\n\tstaffIndex: number;\n}\n\ninterface MeasureValidation {\n\ttickMap: { [tick: number]: number };\n}\n\ninterface Size {\n\twidth: number;\n\theight: number;\n}\n\nclass Score extends SimpleClass {\n\tstatic className = 'Score';\n\n\tversion = VERSION;\n\n\ttitle: string;\n\t// in pixels\n\tpageSize: Size;\n\tunitSize: number;\n\tstaffLayoutCode: string;\n\n\tpaperOptions?: Partial;\n\n\theaders: { [key: string]: string };\n\n\ttextAnnotations: { [id: string]: string };\n\n\ttags?: string[];\n\n\tinstrumentDict: { [key: string]: string };\n\n\tpages: Page[];\n\ttopology: Topology;\n\tspartito?: Spartito;\n\n\tpatches?: PatchMeasure[];\n\n\tsettings: RecognitionSettings;\n\n\tconstructor(data: ScoreData) {\n\t\tsuper();\n\t\tsuper.assign(upgradeScoreData(data));\n\n\t\tthis.pages = this.pages || [];\n\t\tthis.headers = this.headers || {};\n\t\tthis.instrumentDict = this.instrumentDict || {};\n\n\t\tthis.pageSize = this.pageSize || {\n\t\t\t// A4 paper\n\t\t\twidth: 794,\n\t\t\theight: 1122,\n\t\t};\n\n\t\tthis.unitSize = this.unitSize || null;\n\n\t\tthis.staffLayoutCode = this.staffLayoutCode || (this.maxStavesCount === 2 ? GRAND_STAFF_LAYOUT : Array(this.maxStavesCount).fill('').join(','));\n\t}\n\n\tget systems(): System[] {\n\t\treturn [].concat(...this.pages.map((page) => page.systems));\n\t}\n\n\tget measureCount(): number {\n\t\treturn this.systems.reduce((sum, system) => sum + (system.measureCount || 0), 0);\n\t}\n\n\tget imageKeys(): string[] {\n\t\treturn [\n\t\t\t...this.pages.map((page) => page.source?.url),\n\t\t\t...this.systems.map((system) => system.backgroundImage),\n\t\t\t...[].concat(\n\t\t\t\t...this.systems.map((system) =>\n\t\t\t\t\t[...system.staves.map((staff) => staff.backgroundImage), ...system.staves.map((staff) => staff.maskImage)].filter(Boolean)\n\t\t\t\t)\n\t\t\t),\n\t\t].filter(Boolean);\n\t}\n\n\tget breakSystemIndices(): number[] {\n\t\tconst indices = [];\n\t\tlet systemCount = 0;\n\t\tthis.pages.forEach((page, i) => {\n\t\t\tif (i < this.pages.length - 1) {\n\t\t\t\tsystemCount += page.systems.length;\n\t\t\t\tindices.push(systemCount - 1);\n\t\t\t}\n\t\t});\n\n\t\treturn indices;\n\t}\n\n\tget staffLayout(): staffLayout.StaffLayout {\n\t\treturn staffLayout.parseCode(this.staffLayoutCode);\n\t}\n\n\tget measureLayoutCode(): string {\n\t\treturn this.spartito?.measureLayoutCode;\n\t}\n\n\tget maxStavesCount(): number {\n\t\treturn Math.max(...this.systems.map((system) => system.staves.length), 0);\n\t}\n\n\tget sidBlackList(): Set {\n\t\tconst ids = [].concat(...this.systems.map((system) => system.sidBlackList));\n\n\t\treturn new Set(ids);\n\t}\n\n\tget sidWhiteList(): Set {\n\t\tconst ids = [].concat(...this.systems.map((system) => system.sidWhiteList));\n\n\t\treturn new Set(ids);\n\t}\n\n\tget semanticHash(): string {\n\t\tconst ids = [].concat(\n\t\t\t...this.systems.map((system) =>\n\t\t\t\t[].concat(...system.staves.map((staff) => (staff.semantics ? system.qualifiedSemantics(staff.semantics).map((s) => s.id) : [])))\n\t\t\t)\n\t\t);\n\t\treturn sha1(ids.join(''));\n\t}\n\n\teventSystemsToTermStaves(eventSystems: EventSystem[], logger: Logger = new DummyLogger()): TermStaff[] {\n\t\t// [staff]\n\t\tconst termStaves: TermStaff[] = Array(this.maxStavesCount)\n\t\t\t.fill(null)\n\t\t\t.map((_, staffIndex): TermStaff => {\n\t\t\t\treturn {\n\t\t\t\t\t// [system, measure]\n\t\t\t\t\trows: eventSystems.map((sys, i) =>\n\t\t\t\t\t\tsys.columns.map((column, ii): TermMeasure => {\n\t\t\t\t\t\t\tconst measure = column.rows[staffIndex];\n\t\t\t\t\t\t\tconsole.assert(measure, '[eventSystemsToTermStaves] measure is null:', staffIndex, column.rows);\n\n\t\t\t\t\t\t\tconst contexts = measure.contexts;\n\n\t\t\t\t\t\t\t// prepend octave shift 0 at begin of every system\n\t\t\t\t\t\t\tif (ii === 0) {\n\t\t\t\t\t\t\t\tif (!contexts.some((term) => term.type === ContextType.OctaveShift)) {\n\t\t\t\t\t\t\t\t\tcontexts.unshift(\n\t\t\t\t\t\t\t\t\t\tnew ContextedTerm({\n\t\t\t\t\t\t\t\t\t\t\tstaff: staffIndex,\n\t\t\t\t\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\t\t\t\t\ttokenType: TokenType.OctaveShift0,\n\t\t\t\t\t\t\t\t\t\t\ttick: 0,\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst terms = [...(measure.events || []), ...contexts].sort((t1, t2) => t1.x - t2.x);\n\n\t\t\t\t\t\t\tconst pageBreak = staffIndex === 0 && ii === sys.columns.length - 1 && this.breakSystemIndices.includes(i);\n\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tterms,\n\t\t\t\t\t\t\t\t//xToTick: column.xToTick,\n\t\t\t\t\t\t\t\tduration: column.duration,\n\t\t\t\t\t\t\t\tpageBreak,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t})\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t});\n\t\ttermStaves.forEach((staff) => processStaffContext(staff, logger));\n\n\t\treturn termStaves;\n\t}\n\n\tresetPageLayout(parameters: { unitSize?: number; pageSize?: Size }) {\n\t\tconst { unitSize = this.unitSize, pageSize = this.pageSize } = parameters;\n\n\t\tconst newCenter = {\n\t\t\tx: (pageSize.width * 0.5) / unitSize,\n\t\t\ty: (pageSize.height * 0.5) / unitSize,\n\t\t};\n\n\t\tthis.pages.forEach((page) => {\n\t\t\tconst offsetX = newCenter.x - page.width / 2;\n\t\t\tconst offsetY = newCenter.y - page.height / 2;\n\n\t\t\tpage.systems.forEach((system) => {\n\t\t\t\tsystem.left += offsetX;\n\t\t\t\tsystem.top += offsetY;\n\t\t\t});\n\n\t\t\tif (page.semantics) {\n\t\t\t\tpage.semantics.forEach((point) => {\n\t\t\t\t\tpoint.x += offsetX;\n\t\t\t\t\tpoint.y += offsetY;\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tpage.width = pageSize.width / unitSize;\n\t\t\tpage.height = pageSize.height / unitSize;\n\n\t\t\tpage.assemble({ textAnnotations: this.textAnnotations });\n\t\t});\n\n\t\tthis.unitSize = unitSize;\n\t\tthis.pageSize = pageSize;\n\t}\n\n\tgetMeasure(measureIndex: number): {\n\t\tmeasureIndex: number;\n\t\tsystem: System;\n\t\tlocalIndex: number;\n\t\tleft: number;\n\t\tright: number;\n\t\tmeasures: Measure[];\n\t} {\n\t\tlet index = measureIndex;\n\t\tfor (const system of this.systems) {\n\t\t\tif (index < system.measureCount) {\n\t\t\t\tconst staff = system.staves[0];\n\t\t\t\tconst measure = staff.measures[index];\n\t\t\t\tconsole.assert(measure, 'measure is null:', system.measureCount, index, staff.measures);\n\t\t\t\tconst measures = system.getStaffArray(this.maxStavesCount).map((staff) => staff && staff.measures[index]);\n\n\t\t\t\treturn {\n\t\t\t\t\tmeasureIndex,\n\t\t\t\t\tsystem,\n\t\t\t\t\tlocalIndex: index,\n\t\t\t\t\tleft: measure.left,\n\t\t\t\t\tright: measure.right,\n\t\t\t\t\tmeasures,\n\t\t\t\t};\n\t\t\t}\n\t\t\tindex -= system.measureCount;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tgetRawCluster(measureIndex: number, threshold: number, { timeSignature }: Partial = {}): SemanticCluster {\n\t\tconst position = this.getMeasure(measureIndex);\n\t\tif (!position) return null;\n\n\t\tconst { system, left, right } = position;\n\t\t//console.log(\"measure:\", system, left, right);\n\n\t\tconst elements: SemanticElement[] = [BOS_ELEMENT];\n\n\t\tif (timeSignature) elements.push(...fractionToElems(timeSignature));\n\n\t\tconst systemY0 = system.staves[0].top + system.staves[0].staffY - 2;\n\n\t\tsystem.staves.forEach((staff) => {\n\t\t\tlet points = system.qualifiedSemantics(staff.semantics, threshold).filter((point) => point.x > left && point.x < right);\n\t\t\tpoints = solveOverlapping(points);\n\n\t\t\t// exlude tempo noteheads\n\t\t\tconst tempoNhs = points.filter((point) => point.semantic === SemanticType.TempoNotehead);\n\t\t\ttempoNhs.forEach((tempoNh) => {\n\t\t\t\tconst index = points.findIndex((point) => /^Notehead/.test(point.semantic) && distance2D(tempoNh, point) < 0.3);\n\t\t\t\tif (index >= 0) points.splice(index, 1);\n\t\t\t});\n\n\t\t\tconst y0 = staff.top + staff.staffY - systemY0;\n\n\t\t\tpoints.forEach((point) => {\n\t\t\t\tconst type = SemanticElementType[point.semantic];\n\t\t\t\tif (type) {\n\t\t\t\t\tlet y1 = point.y;\n\t\t\t\t\tlet y2 = point.y;\n\t\t\t\t\tif (type === SemanticElementType.vline_Stem) {\n\t\t\t\t\t\ty1 = point.extension.y1;\n\t\t\t\t\t\ty2 = point.extension.y2;\n\t\t\t\t\t}\n\n\t\t\t\t\telements.push({\n\t\t\t\t\t\tid: point.id,\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\tstaff: staff.index,\n\t\t\t\t\t\tx: point.x - left,\n\t\t\t\t\t\ty1: y1 + y0,\n\t\t\t\t\t\ty2: y2 + y0,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\treturn new SemanticCluster({\n\t\t\tindex: measureIndex,\n\t\t\telements,\n\t\t});\n\t}\n\n\tgetRawClusters(threshold: number = 1): SemanticCluster[] {\n\t\t//const times = this.getMeasuresTime();\n\n\t\treturn Array(this.measureCount)\n\t\t\t.fill(null)\n\t\t\t.map((_, mi) => this.getRawCluster(mi, threshold /*, times[mi]*/));\n\t}\n\n\tmakeSpartito(logger: Logger = new DummyLogger()): Spartito {\n\t\tlet eventSystems: EventSystem[] = this.systems.map((system) => system.getEvents(this.maxStavesCount));\n\n\t\t/*if (this.topology) {\n\t\t\tconst clusters = this.topology.clusters;\n\n\t\t\t// [measure, staff, event]\n\t\t\tconst eventsColumns: ChordColumn[][][] = clusters\n\t\t\t\t.filter((cluster) => cluster.index < this.measureCount)\n\t\t\t\t.reduce((columns, cluster) => {\n\t\t\t\t\tconst { system, measures } = this.getMeasure(cluster.index);\n\t\t\t\t\tconst events = cluster.getEvents();\n\n\t\t\t\t\tconst systemY0 = system.staves[0].top + system.staves[0].staffY - 2;\n\t\t\t\t\tconst x0 = measures.filter(Boolean)[0].left;\n\n\t\t\t\t\tconst staves = system.getStaffArray(this.maxStavesCount);\n\n\t\t\t\t\t// translate by staff & measure relative offset\n\t\t\t\t\tevents.forEach((event) => {\n\t\t\t\t\t\tconst staff = staves[event.staff];\n\t\t\t\t\t\tconst y0 = staff.top + staff.staffY - systemY0;\n\t\t\t\t\t\tevent.ys = event.ys.map((y) => roundNumber(y - y0, 0.5));\n\n\t\t\t\t\t\tevent.left += x0;\n\t\t\t\t\t\tevent.right += x0;\n\t\t\t\t\t});\n\n\t\t\t\t\tconst column = measures.map((measure, staffIndex) => {\n\t\t\t\t\t\tif (!measure) return [];\n\n\t\t\t\t\t\t//console.log(\"m:\", mi, \"s:\", staffIndex);\n\t\t\t\t\t\tconst localEvents = events.filter((event) => event.staff === staffIndex);\n\t\t\t\t\t\t//measure.assignModifiersOnEvents(localEvents);\n\t\t\t\t\t\tmeasure.assignAccessoriesOnEvents(localEvents);\n\n\t\t\t\t\t\treturn localEvents;\n\t\t\t\t\t});\n\n\t\t\t\t\tcolumns[cluster.index] = column;\n\n\t\t\t\t\treturn columns;\n\t\t\t\t}, []);\n\n\t\t\tconst breakSystemIndices = this.breakSystemIndices;\n\n\t\t\tconst basicEventSystems = eventSystems;\n\t\t\teventSystems = [];\n\n\t\t\tlet measures = 0;\n\t\t\tfor (const system of this.systems) {\n\t\t\t\tconst esys = system.getEventsFunctional(this.maxStavesCount, (si, mi) => eventsColumns[measures + mi] && eventsColumns[measures + mi][si], [], {\n\t\t\t\t\tuseXMap: false,\n\t\t\t\t});\n\n\t\t\t\tconst basicSys = basicEventSystems[system.index];\n\t\t\t\t//onst nullN = esys.columns.filter(c => !c).length;\n\t\t\t\t//if (nullN)\n\t\t\t\t//\tconsole.log(\"null:\", nullN, esys.columns.length);\n\t\t\t\tesys.columns = esys.columns.map((column, i) => (column ? column : basicSys.columns[i]));\n\n\t\t\t\tconst sysIndex = this.systems.indexOf(system);\n\t\t\t\tconst pageBreak = breakSystemIndices.includes(sysIndex);\n\t\t\t\tconst lastColumn = esys.columns[esys.columns.length - 1];\n\t\t\t\tif (lastColumn) {\n\t\t\t\t\tlastColumn.break = true;\n\t\t\t\t\tlastColumn.pageBreak = pageBreak;\n\t\t\t\t}\n\n\t\t\t\teventSystems.push(esys);\n\t\t\t\tmeasures += system.measureCount;\n\t\t\t}\n\t\t}*/\n\n\t\tconst staves = this.eventSystemsToTermStaves(eventSystems, logger);\n\n\t\t// assign staff basics for columns\n\t\teventSystems.forEach((sys, ri) => {\n\t\t\tsys.columns.forEach((column, mi) => {\n\t\t\t\tcolumn.basics = staves.map((staff) => {\n\t\t\t\t\tconst { timeSignature, timeSigNumeric, keySignature, doubtfulTimesig } = staff.rows[ri][mi];\n\n\t\t\t\t\treturn { timeSignature, timeSigNumeric, keySignature, doubtfulTimesig };\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\n\t\tconst clusters = null; //this.topology && this.topology.clusters;\n\n\t\tconst measures = [].concat(\n\t\t\t...eventSystems.map((esys) =>\n\t\t\t\tesys.columns.map((column) => {\n\t\t\t\t\tconst measureIndex = column.measureIndex;\n\t\t\t\t\tconst { system, localIndex, left, right } = this.getMeasure(measureIndex);\n\n\t\t\t\t\tconst cluster = clusters && clusters.find((cluster) => cluster.index === measureIndex);\n\n\t\t\t\t\tconst staffYsFull = [];\n\t\t\t\t\tsystem.staves.forEach((staff) => (staffYsFull[staff.index] = staff.top + staff.staffY));\n\n\t\t\t\t\tconst patch = this.patches && this.patches.find((patch) => patch.measureIndex === measureIndex);\n\t\t\t\t\tconst events = patch ? patch.events : SpartitoMeasure.reorderEvents([].concat(...column.rows.map((row) => row.events)), staffYsFull);\n\n\t\t\t\t\tconst barTypes = Object.fromEntries(Object.entries(column.barTypes).map(([k, v]) => [k, v / system.staves.length]));\n\t\t\t\t\tconst indent = localIndex === 0 && system.indent;\n\n\t\t\t\t\treturn new SpartitoMeasure({\n\t\t\t\t\t\tmeasureIndex,\n\t\t\t\t\t\tstaffMask: esys.staffMask,\n\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\tsystemIndex: system.index,\n\t\t\t\t\t\t\tlocalIndex,\n\t\t\t\t\t\t\tleft,\n\t\t\t\t\t\t\tright,\n\t\t\t\t\t\t\tstaffYs: system.staves.map((staff) => staff.top + staff.staffY),\n\t\t\t\t\t\t\tstaffYsFull,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t//startX: column.startX,\n\t\t\t\t\t\t//width: column.width,\n\t\t\t\t\t\tduration: patch ? patch.duration : column.duration,\n\t\t\t\t\t\tevents,\n\t\t\t\t\t\tcontexts: column.rows.map((row) => row.contexts),\n\t\t\t\t\t\tmarks: column.marks,\n\t\t\t\t\t\tbreak: column.break,\n\t\t\t\t\t\tpageBreak: column.pageBreak,\n\t\t\t\t\t\tvoltaBegin: column.voltaBegin,\n\t\t\t\t\t\tvoltaEnd: column.voltaEnd,\n\t\t\t\t\t\talternative: column.alternative,\n\t\t\t\t\t\tbarTypes,\n\t\t\t\t\t\tindent,\n\t\t\t\t\t\tbasics: patch ? patch.basics : column.basics,\n\t\t\t\t\t\tmatrixH: cluster && cluster.matrixH,\n\t\t\t\t\t\tmatrixV: cluster && cluster.matrixV,\n\t\t\t\t\t\tvoices: patch ? patch.voices : null,\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t)\n\t\t);\n\n\t\tconst staffLayout = this.staffLayout;\n\t\tconst staffGroups = staffLayout.standaloneGroups.map((ids) => ids.map((id) => staffLayout.staffIds.indexOf(id)));\n\n\t\tthis.spartito = new Spartito({\n\t\t\tstavesCount: this.maxStavesCount,\n\t\t\tstaffGroups,\n\t\t\tmeasures,\n\t\t});\n\n\t\treturn this.spartito;\n\t}\n\n\tmakeMusicSheet(): MusicSheet {\n\t\tconst spartito = this.spartito || this.makeSpartito();\n\n\t\tif (!spartito.regulated) console.warn('[makeMusicSheet]\tspartito not regulated.');\n\n\t\tconst voiceStaves = spartito.makeVoiceStaves();\n\n\t\tconst { title, pageSize, unitSize, staffLayout, paperOptions, headers, instrumentDict } = this;\n\t\tconst measureLayout = this.getMeasureLayout();\n\n\t\treturn {\n\t\t\ttitle,\n\t\t\tpageSize,\n\t\t\tunitSize,\n\t\t\tmeasureLayout,\n\t\t\tstaffLayout,\n\t\t\tpaperOptions,\n\t\t\theaders,\n\t\t\tvoiceStaves,\n\t\t\tinstrumentDict,\n\t\t};\n\t}\n\n\tfindPoint(sid: string): PointPosition {\n\t\tfor (const system of this.systems) {\n\t\t\tfor (let si = 0; si < system.staves.length; ++si) {\n\t\t\t\tconst point = system.staves[si].semantics.find((point) => point.id === sid);\n\t\t\t\tif (point) {\n\t\t\t\t\tconst pageIndex = this.pages.findIndex((page) => page.systems.includes(system));\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tpoint,\n\t\t\t\t\t\tpageIndex,\n\t\t\t\t\t\tsystemIndex: system.index,\n\t\t\t\t\t\tstaffIndex: si,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tgetMeasureSemantics(systemIndex: number, localIndex: number): SemanticPointInMeasure[] {\n\t\tconst system = this.systems[systemIndex];\n\t\tif (!system) return null;\n\n\t\tconst left = localIndex ? system.measureBars[localIndex - 1] : 0;\n\t\tconst right = system.measureBars[localIndex] || system.width;\n\n\t\treturn system.staves\n\t\t\t.map((staff, si) => {\n\t\t\t\tconst staffY = staff.top + staff.staffY;\n\t\t\t\treturn staff.semantics\n\t\t\t\t\t.filter((point) => point.x >= left && point.x < right)\n\t\t\t\t\t.map((point) => {\n\t\t\t\t\t\tconst [y1, y2] = Number.isFinite(point.extension?.y1) ? [point.extension.y1, point.extension.y2] : [point.y, point.y];\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...point,\n\t\t\t\t\t\t\tstaff: si,\n\t\t\t\t\t\t\tsy1: y1 + staffY,\n\t\t\t\t\t\t\tsy2: y2 + staffY,\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t})\n\t\t\t.flat(1);\n\t}\n\n\tmakeTimewiseGraph({ store = false }: { store?: boolean } = {}): TimewiseGraph {\n\t\tif (!this.spartito) return null;\n\n\t\tconst measures = this.spartito.measures\n\t\t\t.filter((measure) => measure.events.length > 0)\n\t\t\t.map((measure) => {\n\t\t\t\tconst points = this.getMeasureSemantics(measure.position.systemIndex, measure.position.localIndex);\n\n\t\t\t\tconst graph = {\n\t\t\t\t\tmeasureIndex: measure.measureIndex,\n\t\t\t\t\tleft: measure.position.left,\n\t\t\t\t\tright: measure.position.right,\n\t\t\t\t\tpoints,\n\t\t\t\t};\n\n\t\t\t\tif (store) measure.graph = graph;\n\n\t\t\t\treturn graph;\n\t\t\t});\n\n\t\treturn { measures };\n\t}\n\n\tgetTokenMap(): Map {\n\t\tconst map = new Map();\n\n\t\tthis.systems.forEach((system) =>\n\t\t\tsystem.staves.forEach((staff) => staff.measures.forEach((measure) => measure.tokens.forEach((token) => map.set(token.id, token))))\n\t\t);\n\n\t\treturn map;\n\t}\n\n\tassemble(confidenceThreshold: number = 1, logger: Logger = new DummyLogger()) {\n\t\tconst ids = new Map();\n\n\t\tconst append = (systemIndex, staffIndex, point) => {\n\t\t\tconst id = hashSemanticPoint(systemIndex, staffIndex, point);\n\t\t\tlogger.assert(!ids.has(id), 'semantic point hash conflicted:', id, point, ids.get(id));\n\n\t\t\tids.set(id, point);\n\t\t};\n\n\t\tthis.pages.forEach((page, index) => (page.index = index));\n\n\t\tlet measureIndex = 0;\n\t\tthis.systems.forEach((system, systemIndex) => {\n\t\t\tsystem.index = systemIndex;\n\t\t\tsystem.headMeasureIndex = measureIndex;\n\t\t\tsystem.prev = this.systems[systemIndex - 1] || null;\n\t\t\tsystem.next = this.systems[systemIndex + 1] || null;\n\n\t\t\tif (system.semantics && system.semantics.length) system.semantics.forEach((point) => append(systemIndex, null, point));\n\n\t\t\tsystem.assemble(confidenceThreshold, logger);\n\t\t\tmeasureIndex += system.measureCount;\n\t\t});\n\n\t\tthis.pages.forEach((page, i) => {\n\t\t\tpage.systems.forEach((system) => (system.pageIndex = i));\n\t\t\tpage.assemble({ textAnnotations: this.textAnnotations }, logger);\n\t\t});\n\t}\n\n\tassembleSystem(system: System, confidenceThreshold: number = 1) {\n\t\tthis.systems.forEach((system, si) => (system.index = si));\n\t\tconst systemIndex = system.index;\n\n\t\tif (system.semantics && system.semantics.length) {\n\t\t\tsystem.semantics.forEach((point) => hashSemanticPoint(systemIndex, null, point));\n\t\t\tsystem.assemble(confidenceThreshold);\n\t\t}\n\t}\n\n\tmarkVoices(staves: VoicesStaff[]): void {\n\t\tconst tokenMap = this.getTokenMap();\n\t\tfor (const token of tokenMap.values()) token.voice = 0;\n\n\t\tconst vis = []\n\t\t\t.concat(...staves.map((staff, s) => (staff.voices || []).map((_, v) => [s, v])))\n\t\t\t.sort(([s1, v1], [s2, v2]) => v1 - v2 || s1 - s2)\n\t\t\t.map(([s, v]) => `${s}|${v}`);\n\n\t\tstaves.forEach((staff, si) =>\n\t\t\t(staff.voices || []).forEach((voice, vi) =>\n\t\t\t\tvoice.measures.forEach((measure) => {\n\t\t\t\t\tconst voiceIndex = vis.indexOf(`${si}|${vi}`);\n\n\t\t\t\t\tconst events = Object.values(measure.tickMap).filter((event) => event instanceof EventTerm) as EventTerm[];\n\t\t\t\t\tevents.forEach((event) => {\n\t\t\t\t\t\tconst notes = event.noteIds ? event.noteIds.map((id) => tokenMap.get(id)).filter(Boolean) : [];\n\t\t\t\t\t\tconst accessories = event.accessories ? event.accessories.map((acc) => tokenMap.get(acc.id)).filter(Boolean) : [];\n\t\t\t\t\t\t//console.log(\"notes:\", si, vi, mi, event.noteIds, notes, accessories);\n\n\t\t\t\t\t\t[...notes, ...accessories].forEach((token) => (token.voice |= 1 << voiceIndex));\n\n\t\t\t\t\t\tif (event.timeWarp) notes.forEach((note) => (note.timeWarped = true));\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t)\n\t\t);\n\t}\n\n\tasync replaceImageKeys(proc: (x: string | Buffer) => Promise): Promise {\n\t\tawait Promise.all([\n\t\t\t...(this.pages.map(async (page) => {\n\t\t\t\tif (page.source) page.source.url = await proc(page.source.url);\n\t\t\t}) as Promise[]),\n\t\t\t...this.systems.map((system) =>\n\t\t\t\tPromise.all([\n\t\t\t\t\tproc(system.backgroundImage).then((key) => (system.backgroundImage = key)),\n\t\t\t\t\t...(system.staves.map(async (staff) => {\n\t\t\t\t\t\tstaff.backgroundImage = await proc(staff.backgroundImage);\n\t\t\t\t\t\tstaff.maskImage = await proc(staff.maskImage);\n\t\t\t\t\t}) as Promise[]),\n\t\t\t\t])\n\t\t\t),\n\t\t]);\n\t}\n\n\tinferenceStaffLayout(): void {\n\t\t// inference the complete layout\n\t\tconst staffTotal = Math.max(...this.systems.map((system) => system.staves.length), 0);\n\t\tthis.staffLayoutCode = Array(staffTotal).fill('').join(',');\n\n\t\tconst completeSystems = this.systems.filter((system) => system.staves.length === staffTotal && system.bracketsAppearance);\n\t\tif (!completeSystems.length) return; // no enough evidence\n\n\t\tconst candidateCodes = completeSystems\n\t\t\t.map((system) => {\n\t\t\t\ttry {\n\t\t\t\t\tconst layout = staffLayout.parseCode(system.bracketsAppearance);\n\t\t\t\t\tif (layout.staffIds.length !== system.staves.length) return null;\n\n\t\t\t\t\treturn system.bracketsAppearance;\n\t\t\t\t} catch (_) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t})\n\t\t\t.filter(Boolean);\n\t\tif (!candidateCodes.length) return; // no valid layout\n\n\t\tconst codeCounting = candidateCodes.reduce((acc, code) => {\n\t\t\tconst count = acc[code] || 0;\n\t\t\tacc[code] = count + 1;\n\t\t\treturn acc;\n\t\t}, {} as { [code: string]: number });\n\t\tconst maxCount = Math.max(...Object.values(codeCounting));\n\t\tconst code = Object.entries(codeCounting).find(([_, count]) => count === maxCount)[0];\n\n\t\t// added connection lines between braces {-}\n\t\tconst connectedCode = code.replace(/\\{,*\\}/g, (match) => match.replace(/,/g, '-'));\n\t\tconst layout = staffLayout.parseCode(connectedCode);\n\n\t\tthis.staffLayoutCode = connectedCode;\n\t\t//console.log(\"complete code:\", code);\n\n\t\t// inference systems' mask\n\t\tlet lastSys: System = null;\n\t\tfor (const system of this.systems) {\n\t\t\tif (lastSys && system.staves.length === lastSys.staves.length && system.bracketsAppearance === lastSys.bracketsAppearance) {\n\t\t\t\tsystem.staffMaskChanged = null;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (system.staves.length < staffTotal && system.bracketsAppearance) {\n\t\t\t\t// validate the system brackets code\n\t\t\t\ttry {\n\t\t\t\t\tif (!staffLayout.parseCode(system.bracketsAppearance)) continue;\n\t\t\t\t} catch (_) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tconst search = (bits: (0 | 1)[]): number => {\n\t\t\t\t\tif (bits.length > layout.staffIds.length) return null;\n\n\t\t\t\t\tif (bits.reduce((sum, bit) => sum + bit, 0) === system.staves.length) return bitsToMask(bits);\n\n\t\t\t\t\tfor (const bit of [1, 0]) {\n\t\t\t\t\t\tconst bb = [...bits, bit] as (0 | 1)[];\n\t\t\t\t\t\tconst code1 = layout.partialMaskCode(bb);\n\t\t\t\t\t\tif (code1 === system.bracketsAppearance) return bitsToMask(bb);\n\t\t\t\t\t\telse if (system.bracketsAppearance.startsWith(code1)) {\n\t\t\t\t\t\t\tconst result = search(bb);\n\t\t\t\t\t\t\tif (result) return result;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn null;\n\t\t\t\t};\n\t\t\t\tconst mask = search([]);\n\t\t\t\t//console.log(\"mask:\", system.bracketsAppearance, mask.toString(2));\n\n\t\t\t\tsystem.staffMaskChanged = !lastSys || mask !== lastSys.staffMask ? mask : null;\n\t\t\t}\n\n\t\t\tlastSys = system;\n\t\t}\n\t}\n\n\tassignBackgroundForMeasure(measure: SpartitoMeasure): void {\n\t\tmeasure.backgroundImages = [];\n\n\t\tconst system = this.systems[measure.position.systemIndex];\n\t\tif (system.backgroundImage) {\n\t\t\tmeasure.backgroundImages.push({\n\t\t\t\turl: system.backgroundImage,\n\t\t\t\tposition: system.imagePosition,\n\t\t\t\toriginal: true,\n\t\t\t});\n\t\t}\n\n\t\tsystem.staves.forEach((staff) => {\n\t\t\tif (!system.backgroundImage && staff.backgroundImage)\n\t\t\t\tmeasure.backgroundImages.push({\n\t\t\t\t\turl: staff.backgroundImage.toString(),\n\t\t\t\t\tposition: {\n\t\t\t\t\t\t...staff.imagePosition,\n\t\t\t\t\t\ty: staff.imagePosition.y + staff.top,\n\t\t\t\t\t},\n\t\t\t\t\toriginal: true,\n\t\t\t\t});\n\n\t\t\tif (staff.maskImage) {\n\t\t\t\tmeasure.backgroundImages.push({\n\t\t\t\t\turl: staff.maskImage.toString(),\n\t\t\t\t\tposition: {\n\t\t\t\t\t\t...staff.imagePosition,\n\t\t\t\t\t\ty: staff.imagePosition.y + staff.top,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\tblackoutFakeNotes(scope: 'patched' | 'perfect' | 'all' = 'patched'): string[] {\n\t\tif (!this.spartito) return;\n\n\t\tlet inScope = (_) => true;\n\t\tswitch (scope) {\n\t\t\tcase 'patched':\n\t\t\t\tinScope = (measure) => measure.patched;\n\t\t\t\tbreak;\n\t\t\tcase 'perfect':\n\t\t\t\tinScope = (measure) => measure.patched || (measure.regulated && evaluateMeasure(measure).perfect);\n\t\t\t\tbreak;\n\t\t}\n\t\tconst measures = this.spartito.measures.filter(inScope);\n\n\t\tconst fakeIds = measures.reduce((ids, measure) => {\n\t\t\tif (!measure.regulated) return;\n\n\t\t\tconst voicedIds = measure.voices.flat(1);\n\t\t\tconst fakeChords = measure.events.filter((event) => !event.rest && !event.grace && !voicedIds.includes(event.id));\n\n\t\t\tfakeChords.forEach((event) => event.noteIds && ids.push(...event.noteIds));\n\n\t\t\treturn ids;\n\t\t}, [] as string[]);\n\t\tconst fakeIdSet = new Set(fakeIds);\n\n\t\tthis.systems.forEach((system) =>\n\t\t\tsystem.staves.forEach((staff) => {\n\t\t\t\tconst blackIds = staff.semantics.filter((point) => fakeIdSet.has(point.id)).map((point) => point.id);\n\t\t\t\tsystem.sidBlackList.push(...blackIds);\n\t\t\t})\n\t\t);\n\n\t\treturn fakeIds;\n\t}\n\n\tgetMeasureLayout(): measureLayout.MeasureLayout {\n\t\tconst code = this.spartito && this.spartito.measureLayoutCode;\n\t\tif (code) {\n\t\t\ttry {\n\t\t\t\treturn measureLayout.parseCode(code);\n\t\t\t} catch (err) {\n\t\t\t\tconsole.debug('invalid measure layout code:', err);\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\t*splitToSingleScoresGen(): Generator {\n\t\tthis.assemble();\n\t\tconst startSysIndices = this.systems.filter((system) => system.index > 0 && system.indent && system.timeSignatureOnHead).map((system) => system.index);\n\n\t\tif (!startSysIndices.length) {\n\t\t\tyield this.deepCopy();\n\t\t\treturn;\n\t\t}\n\n\t\tconst templateScore = new Score({ ...this, pages: [], topology: undefined, spartito: undefined, patches: undefined });\n\n\t\t// clear temporary objects before deep dopy\n\t\tthis.pages.forEach((page) => {\n\t\t\tdelete page.tokens;\n\t\t\tpage.systems.forEach((system) => {\n\t\t\t\tdelete system.tokens;\n\t\t\t\tsystem.staves.forEach((staff) => {\n\t\t\t\t\tstaff.measures = [];\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\n\t\tlet startSysIndex = 0;\n\t\tfor (const endSysIndex of [...startSysIndices, this.systems.length]) {\n\t\t\tconst sysInRange = (system) => system.index >= startSysIndex && system.index < endSysIndex;\n\t\t\tconst pages = this.pages\n\t\t\t\t.filter((page) => page.systems.some(sysInRange))\n\t\t\t\t.map((page) => {\n\t\t\t\t\tconst { systems, ...fields } = page;\n\t\t\t\t\treturn new Page({ ...fields, systems: systems.filter(sysInRange).map((system) => new System({ ...system })) });\n\t\t\t\t});\n\n\t\t\tconst newScore = templateScore.deepCopy();\n\t\t\tnewScore.headers.SubScoreSystem = `${startSysIndex}-${endSysIndex - 1}`;\n\t\t\tnewScore.headers.SubScorePage = `${pages[0].index}-${pages[pages.length - 1].index}`;\n\n\t\t\t//newScore.pages = pages.map((page) => page.deepCopy());\n\t\t\tnewScore.pages = pages;\n\t\t\tnewScore.assemble();\n\t\t\tnewScore.inferenceStaffLayout();\n\n\t\t\tstartSysIndex = endSysIndex;\n\n\t\t\tyield newScore;\n\t\t}\n\t}\n\n\tsplitToSingleScores(): Score[] {\n\t\treturn [...this.splitToSingleScoresGen()];\n\t}\n}\n\nexport { PaperOptions, Score, Page, System, Staff, Measure, MeasureValidation };\nexport type { SemanticPointInMeasure };\n","import type { MeasureLayout } from './measureLayout';\nimport * as measureLayout from './measureLayout';\nimport grammar from './grammar.jison';\nimport { recoverJSON } from '../starry/aux_/typedJSON';\n\nconst parseCode = (code: string): MeasureLayout => {\n\tconst raw = grammar.parse(code);\n\n\tif (raw?.data) return recoverJSON(raw.data, measureLayout);\n\n\treturn null;\n};\n\nexport { parseCode };\n","import { MIDI } from '@k-l-lambda/music-widgets';\n\nimport { Fraction } from './interfaces';\nimport { noteToPitch } from './utils';\nimport { EventTerm, RestType, GraceType, StemBeam, ArpeggioStyle, TermPitch, TremoloLink } from './term';\nimport { SpartitoMeasure } from './spartitoMeasure';\n\n// NOTE: 'JSONEditor.onEditable' determine whether a field is editable, here 'readonly' modifier has no effect to UI\n\ninterface EventUIAgent {\n\treadonly id: number;\n\treadonly duration: number;\n\n\t//ys: number[];\n\tpitches: TermPitch[];\n\trest: RestType;\n\tdivision: number;\n\tdots: number;\n\tstemDirection: string;\n\ttying: boolean;\n\ttied: boolean;\n\tgrace: boolean; //\n\tbeam: StemBeam;\n\ttimeWarp: string; //\n\ttremolo: number;\n\ttremoloLink: TremoloLink;\n\tglissando: boolean;\n\tarpeggioStyle: ArpeggioStyle;\n\ttick: number;\n}\n\ninterface MeasureUIAgent {\n\treadonly measureIndex: number;\n\ttimeSignature: Fraction;\n\tdoubtfulTimesig: boolean;\n\tkeySignature: number;\n\t//readonly events: EventUIAgent[];\n\tduration: number;\n\treadonly voices: number[][];\n}\n\nclass EditableEvent extends EventTerm {\n\tvoice: number;\n\n\tconstructor(data: any) {\n\t\tsuper(data);\n\t}\n\n\tget agent(): EventUIAgent {\n\t\treturn new Proxy(this as any, {\n\t\t\tget(target, key): any {\n\t\t\t\tconst self = target as any as EditableEvent;\n\n\t\t\t\tswitch (key) {\n\t\t\t\t\tcase 'id':\n\t\t\t\t\tcase 'tick':\n\t\t\t\t\tcase 'duration':\n\t\t\t\t\tcase 'rest':\n\t\t\t\t\tcase 'division':\n\t\t\t\t\tcase 'dots':\n\t\t\t\t\tcase 'stemDirection':\n\t\t\t\t\tcase 'beam':\n\t\t\t\t\tcase 'tremolo':\n\t\t\t\t\tcase 'tremoloLink':\n\t\t\t\t\tcase 'arpeggioStyle': {\n\t\t\t\t\t\tconst value = self[key];\n\t\t\t\t\t\treturn value === undefined ? null : value;\n\t\t\t\t\t}\n\n\t\t\t\t\tcase 'tying':\n\t\t\t\t\tcase 'tied':\n\t\t\t\t\tcase 'glissando': {\n\t\t\t\t\t\tconst value = self[key];\n\t\t\t\t\t\treturn value === undefined ? false : value;\n\t\t\t\t\t}\n\n\t\t\t\t\tcase 'grace':\n\t\t\t\t\t\treturn !!self.grace;\n\n\t\t\t\t\tcase 'timeWarp':\n\t\t\t\t\t\treturn self.timeWarp ? `${self.timeWarp.numerator}/${self.timeWarp.denominator}` : null;\n\n\t\t\t\t\tcase 'pitches':\n\t\t\t\t\t\treturn self.pitches;\n\t\t\t\t}\n\n\t\t\t\treturn undefined;\n\t\t\t},\n\n\t\t\tset: (target, key, value): boolean => {\n\t\t\t\tconst self = target as any as EditableEvent;\n\n\t\t\t\tswitch (key) {\n\t\t\t\t\tcase 'tick':\n\t\t\t\t\tcase 'duration':\n\t\t\t\t\tcase 'rest':\n\t\t\t\t\tcase 'division':\n\t\t\t\t\tcase 'dots':\n\t\t\t\t\tcase 'stemDirection':\n\t\t\t\t\tcase 'tying':\n\t\t\t\t\tcase 'tied':\n\t\t\t\t\tcase 'beam':\n\t\t\t\t\tcase 'tremolo':\n\t\t\t\t\tcase 'tremoloLink':\n\t\t\t\t\tcase 'glissando':\n\t\t\t\t\tcase 'arpeggioStyle':\n\t\t\t\t\t\t(self as any)[key] = value;\n\n\t\t\t\t\t\treturn true;\n\t\t\t\t\tcase 'grace':\n\t\t\t\t\t\tself.grace = value ? GraceType.Grace : null;\n\n\t\t\t\t\t\treturn true;\n\t\t\t\t\tcase 'timeWarp':\n\t\t\t\t\t\tself.timeWarp = null;\n\t\t\t\t\t\tif (value && typeof value === 'string') {\n\t\t\t\t\t\t\tconst captures = value.match(/^(\\d+)\\/(\\d+)/);\n\t\t\t\t\t\t\tif (captures) {\n\t\t\t\t\t\t\t\tself.timeWarp = {\n\t\t\t\t\t\t\t\t\tnumerator: parseInt(captures[1]),\n\t\t\t\t\t\t\t\t\tdenominator: parseInt(captures[2]),\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn true;\n\t\t\t\t\tcase 'id':\n\t\t\t\t\tcase 'pitches':\n\t\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\treturn false;\n\t\t\t},\n\n\t\t\townKeys: (): string[] => [\n\t\t\t\t'id',\n\t\t\t\t'duration',\n\t\t\t\t'rest',\n\t\t\t\t'division',\n\t\t\t\t'dots',\n\t\t\t\t'stemDirection',\n\t\t\t\t'tying',\n\t\t\t\t'tied',\n\t\t\t\t'beam',\n\t\t\t\t'timeWarp',\n\t\t\t\t'tremolo',\n\t\t\t\t'tremoloLink',\n\t\t\t\t'glissando',\n\t\t\t\t'arpeggioStyle',\n\t\t\t\t'tick',\n\t\t\t\t'grace',\n\t\t\t\t'pitches',\n\t\t\t],\n\n\t\t\tgetOwnPropertyDescriptor() {\n\t\t\t\treturn { enumerable: true, configurable: true };\n\t\t\t},\n\t\t});\n\t}\n}\n\nclass EditableMeasure extends SpartitoMeasure {\n\tstatic className = 'EditableMeasure';\n\tstatic blackKeys = [];\n\n\tevents: EditableEvent[] = null;\n\n\tconstructor(data: any) {\n\t\tsuper(data);\n\n\t\tthis.events = data.events;\n\t\tif (this.events?.some((event) => !(event instanceof EditableEvent))) this.events = this.events.map((event) => new EditableEvent(event));\n\n\t\tif (this.voices) this.syncVoiceToEvents();\n\t}\n\n\tsyncVoiceToEvents(): void {\n\t\tthis.events.forEach((event) => (event.voice = -1));\n\t\tthis.voices.forEach((voice, voiceIndex) => {\n\t\t\tvoice.forEach((id) => {\n\t\t\t\tconst event = this.events.find((event) => event.id === id);\n\t\t\t\tif (event) event.voice = voiceIndex;\n\t\t\t\telse console.warn('no event with id:', id, this.events.length);\n\t\t\t});\n\t\t});\n\t}\n\n\tsyncVoiceFromEvents(): void {\n\t\tconst voices: EditableEvent[][] = [];\n\t\tthis.events.forEach((event) => {\n\t\t\tif (event?.voice >= 0) {\n\t\t\t\tvoices[event.voice] = voices[event.voice] || [];\n\t\t\t\tvoices[event.voice].push(event);\n\t\t\t}\n\t\t});\n\n\t\tvoices.forEach((voice) => voice.sort((e1, e2) => e1.tick - e2.tick));\n\n\t\tthis.voices = voices.map((voice) => voice.map((event) => event.id));\n\t}\n\n\tget agent(): MeasureUIAgent {\n\t\treturn new Proxy(this as any, {\n\t\t\tget: (target, key): any => {\n\t\t\t\tconst self = target as any as EditableMeasure;\n\n\t\t\t\tswitch (key) {\n\t\t\t\t\tcase 'measureIndex':\n\t\t\t\t\tcase 'duration':\n\t\t\t\t\t\treturn self[key];\n\n\t\t\t\t\tcase 'voices':\n\t\t\t\t\t\treturn self.voices?.map((voice) => voice.join(',')) || null;\n\n\t\t\t\t\tcase 'timeSignature':\n\t\t\t\t\tcase 'keySignature':\n\t\t\t\t\tcase 'doubtfulTimesig':\n\t\t\t\t\t\treturn self.basics[0][key];\n\t\t\t\t\t//case 'events':\n\t\t\t\t\t//\treturn self.events.map(eventUIAgent);\n\t\t\t\t\tcase 'toJSON':\n\t\t\t\t\t\treturn () => ({\n\t\t\t\t\t\t\tmeasureIndex: self.measureIndex,\n\t\t\t\t\t\t\tvoices: self.voices,\n\t\t\t\t\t\t\tduration: self.duration,\n\t\t\t\t\t\t\ttimeSignature: self.basics[0].timeSignature,\n\t\t\t\t\t\t\tkeySignature: self.basics[0].keySignature,\n\t\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\treturn undefined;\n\t\t\t},\n\n\t\t\tset: (target, key, value): boolean => {\n\t\t\t\t//console.log('set:', key, value);\n\t\t\t\tconst self = target as any as EditableMeasure;\n\n\t\t\t\tswitch (key) {\n\t\t\t\t\tcase 'timeSignature':\n\t\t\t\t\tcase 'keySignature':\n\t\t\t\t\tcase 'doubtfulTimesig':\n\t\t\t\t\t\t(self.basics[0][key] as any) = value;\n\t\t\t\t\t\tself.basics = self.basics.map(() => self.basics[0]);\n\n\t\t\t\t\t\treturn true;\n\t\t\t\t\tcase 'duration':\n\t\t\t\t\t\tself.duration = value;\n\n\t\t\t\t\t\treturn true;\n\t\t\t\t\tcase 'measureIndex':\n\t\t\t\t\tcase 'voices':\n\t\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\treturn false;\n\t\t\t},\n\n\t\t\townKeys: (): string[] => ['measureIndex', 'timeSignature', 'doubtfulTimesig', 'keySignature', 'duration', 'voices'],\n\n\t\t\tgetOwnPropertyDescriptor() {\n\t\t\t\treturn { enumerable: true, configurable: true };\n\t\t\t},\n\t\t});\n\t}\n\n\tmakeMIDI(bpm: number = 120): MIDI.MidiData {\n\t\tif (!this.regulated) return null;\n\n\t\tconst microsecondsPerBeat = 60e6 / bpm;\n\n\t\tconst header = { formatType: 0, ticksPerBeat: 480 };\n\t\tconst tracks = this.voices.map((ids, vi) => {\n\t\t\tconst events = ids\n\t\t\t\t.map((id) => {\n\t\t\t\t\tconst event = this.events.find((event) => event.id === id);\n\t\t\t\t\tif (event) {\n\t\t\t\t\t\tconst subEvents = event.graceIds ? event.graceIds.map((id) => this.events.find((event) => event.id === id)) : [];\n\n\t\t\t\t\t\treturn [...subEvents, event];\n\t\t\t\t\t}\n\n\t\t\t\t\treturn [];\n\t\t\t\t})\n\t\t\t\t.flat(1);\n\n\t\t\tconst startTime = 0;\n\n\t\t\ttype Event = MIDI.MidiEvent & { [key: string]: any };\n\t\t\tconst midiEvents: Event[] = events\n\t\t\t\t.filter((event) => !event.rest && Number.isFinite(event.tick) && event.tick >= 0 && Number.isFinite(event.duration))\n\t\t\t\t.map((event) =>\n\t\t\t\t\tevent.pitches.map((pitch) => [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: event.id,\n\t\t\t\t\t\t\ttime: event.tick,\n\t\t\t\t\t\t\ttype: 'channel',\n\t\t\t\t\t\t\tsubtype: 'noteOn',\n\t\t\t\t\t\t\tchannel: event.staff,\n\t\t\t\t\t\t\tnoteNumber: noteToPitch(pitch),\n\t\t\t\t\t\t\tvelocity: 96,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: event.id,\n\t\t\t\t\t\t\ttime: event.tick + event.duration,\n\t\t\t\t\t\t\ttype: 'channel',\n\t\t\t\t\t\t\tsubtype: 'noteOff',\n\t\t\t\t\t\t\tchannel: event.staff,\n\t\t\t\t\t\t\tnoteNumber: noteToPitch(pitch),\n\t\t\t\t\t\t},\n\t\t\t\t\t])\n\t\t\t\t)\n\t\t\t\t.flat(2);\n\n\t\t\tmidiEvents.sort(function (e1, e2) {\n\t\t\t\treturn e1.time - e2.time;\n\t\t\t});\n\n\t\t\tif (vi === 0) {\n\t\t\t\tmidiEvents.unshift(\n\t\t\t\t\t{\n\t\t\t\t\t\ttime: startTime,\n\t\t\t\t\t\ttype: 'meta',\n\t\t\t\t\t\tsubtype: 'timeSignature',\n\t\t\t\t\t\tnumerator: this.timeSignature.numerator,\n\t\t\t\t\t\tdenominator: this.timeSignature.denominator,\n\t\t\t\t\t\tthirtyseconds: 8,\n\t\t\t\t\t},\n\t\t\t\t\t{ time: startTime, type: 'meta', subtype: 'setTempo', microsecondsPerBeat }\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tmidiEvents.forEach((event) => {\n\t\t\t\tevent.ticks = Math.round(event.time - startTime);\n\t\t\t});\n\t\t\tmidiEvents.forEach((event, i) => {\n\t\t\t\tevent.deltaTime = event.ticks - (i > 0 ? midiEvents[i - 1].ticks : 0);\n\t\t\t});\n\n\t\t\tmidiEvents.push({ deltaTime: 0, type: 'meta', subtype: 'endOfTrack' });\n\n\t\t\treturn midiEvents;\n\t\t});\n\n\t\treturn {\n\t\t\theader,\n\t\t\ttracks,\n\t\t};\n\t}\n}\n\nexport { EditableEvent, EditableMeasure };\n","import { RegulationSolution, RegulationSolutionEvent, EventPredisposition } from './interfaces';\nimport { SpartitoMeasure } from './spartitoMeasure';\nimport { EventCluster, EventElement, EventElementType } from './eventTopology';\nimport { argmax, frac } from './utils';\nimport { WHOLE_DURATION, StemBeam } from './term';\nimport { Logger, DummyLogger } from './logger';\n\ninterface BeadPicker {\n\tn_seq: number;\n\tquota: number;\n\tcost: number; // duration in milliseconds\n\n\tpredictCluster(cluster: EventCluster, tip: number): Promise;\n}\n\nenum BeadType {\n\tPass = 'i',\n\tDivision = 'd',\n\tDots = 'o',\n}\n\nconst DIVISION_NAMES = ['whole', 'half', 'quarter', 'eighth', 'sixteenth', 'thirtysecond', 'sixtyfourth', '128th', '256th'];\n\ninterface BeadNodeInitData {\n\tcluster: EventCluster;\n\telemIndex: number;\n\ttype: BeadType;\n\tpossibilities: number[];\n\tpretentiousness: number;\n}\n\nconst RESIDUE_LOSS_WEIGHT = 0.2;\nconst VOICEN_LOSS_WEIGHT = 0.002;\nconst SPACE_LOSS_WEIGHT = 0.4 / WHOLE_DURATION;\nconst PRETENTIOUSNESS_LOSS_WEIGHT = 0.02;\n\nconst POSSIBILITY_LOW_BOUNDARY = 1e-12;\n\nconst PRETENTIOUSNESS_CLIP = 100;\n\ninterface ClusterEvaluation {\n\ttickErr: number;\n\ttwist: number;\n\tresidue: number;\n\tendTick: number;\n\tfatalError: boolean;\n\tvoiceN: number;\n\tspaceDuration: number;\n\tpretentiousness: number;\n\tloss: number;\n}\n\ninterface ElementState {\n\ttick: number;\n\tdivision: number;\n\tdots: number;\n\tbeam: StemBeam;\n\tstemDirection: string;\n\tgrace: boolean;\n\ttimeWarped: boolean;\n\tfullMeasure: boolean; // full measure rest\n\tfake: boolean;\n\torder: number;\n\tpredisposition: EventPredisposition;\n}\n\ninterface ClusterState {\n\telements: ElementState[];\n}\n\nconst STEM_DIRECTION_OPTIONS = [undefined, 'u', 'd'];\n\nconst BEAM_OPTIONS = [undefined, StemBeam.Open, StemBeam.Continue, StemBeam.Close];\n\nconst saveClusterState = (cluster: EventCluster): ClusterState => ({\n\telements: cluster.elements.map((elem) => ({\n\t\ttick: elem.tick!,\n\t\tdivision: elem.division!,\n\t\tdots: elem.dots!,\n\t\tbeam: elem.beam!,\n\t\tstemDirection: elem.stemDirection!,\n\t\tgrace: elem.grace!,\n\t\ttimeWarped: elem.timeWarped!,\n\t\tfullMeasure: elem.fullMeasure!,\n\t\tfake: elem.fake!,\n\t\torder: elem.order!,\n\t\tpredisposition: elem.predisposition!,\n\t})),\n});\n\nconst restoreClusterState = (cluster: EventCluster, state: ClusterState): void => cluster.elements.forEach((elem, i) => Object.assign(elem, state.elements[i]));\n\nconst measurePretentious = (p) => Math.min(PRETENTIOUSNESS_CLIP, -Math.log(p));\n\ninterface BeadDeductionContext {\n\tpicker: BeadPicker;\n\tlogger: Logger;\n\tptFactor: number; // pretentiousness tolerance factor\n}\n\nclass BeadNode {\n\tcluster: EventCluster;\n\telemIndex: number;\n\ttype: BeadType;\n\tpossibilities: number[];\n\tpretentiousness: number;\n\n\tchildren: Record;\n\taccessCount: number;\n\n\tconstructor(data: BeadNodeInitData) {\n\t\tObject.assign(this, data);\n\n\t\t//this.possibilities = this.possibilities.map((x, i) => (this.type === BeadType.Pass && !i) ? 0 : Math.max(POSSIBILITY_LOW_BOUNDARY, x));\n\n\t\tthis.children = {};\n\t\tthis.accessCount = 0;\n\t}\n\n\tnextBranch(): number | null {\n\t\tconst ps = this.possibilities.map((p, i) => p / (this.children[i] ? this.children[i].accessCount + 1 : 1));\n\t\t//const ps = this.possibilities.map((p, i) => p * (this.children[i] ? (2 ** -this.children[i].accessCount) : 1));\n\n\t\tif (ps.every((p) => !p)) {\n\t\t\tthis.accessCount = Infinity;\n\t\t\treturn null;\n\t\t}\n\n\t\treturn argmax(ps);\n\t}\n\n\tget currentElem(): EventElement {\n\t\treturn this.cluster.elements[this.elemIndex];\n\t}\n\n\tbranchID(ni: number): string {\n\t\tswitch (this.type) {\n\t\t\tcase BeadType.Pass:\n\t\t\t\treturn `i_${ni}`;\n\t\t\tcase BeadType.Division:\n\t\t\t\treturn DIVISION_NAMES[ni];\n\t\t\tcase BeadType.Dots:\n\t\t\t\treturn 'o' + '.'.repeat(ni);\n\t\t}\n\n\t\treturn '';\n\t}\n\n\tasync deduce({ picker, logger, ptFactor }: BeadDeductionContext, deep: number = 0): Promise {\n\t\t++this.accessCount;\n\n\t\tconst ni = this.nextBranch()!;\n\t\tlogger.debug(String.fromCodePoint(0x1f349) + ' '.repeat(deep), this.branchID(ni), this.accessCount > 1 ? `[${this.accessCount}]` : '');\n\n\t\tif (!Number.isInteger(ni) || ni < 0) {\n\t\t\tthis.accessCount = Infinity;\n\t\t\treturn evaluateCluster(this.cluster, this.currentElem.order! + 1, this.pretentiousness);\n\t\t}\n\n\t\tthis.pretentiousness += measurePretentious(this.possibilities[ni]);\n\t\tif (this.pretentiousness > PRETENTIOUSNESS_CLIP * ptFactor) {\n\t\t\tthis.accessCount = Infinity;\n\t\t\treturn evaluateCluster(this.cluster, this.currentElem.order! + 1, this.pretentiousness);\n\t\t}\n\n\t\tlet selfEval: null | ClusterEvaluation = null;\n\n\t\tswitch (this.type) {\n\t\t\tcase BeadType.Pass:\n\t\t\t\t{\n\t\t\t\t\tconst tip = this.currentElem.order! + 1;\n\t\t\t\t\tconst element = this.cluster.elements[ni];\n\t\t\t\t\tconsole.assert(element, 'null element:', ni, this.cluster.elements.length);\n\t\t\t\t\tif (element.type === EventElementType.EOS) {\n\t\t\t\t\t\tselfEval = evaluateCluster(this.cluster, tip, this.pretentiousness);\n\t\t\t\t\t\tif (!selfEval.residue || selfEval.fatalError) {\n\t\t\t\t\t\t\tthis.accessCount = Infinity;\n\t\t\t\t\t\t\treturn selfEval!;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tthis.cluster.elements[0].order = tip;\n\t\t\t\t\t\tif (!this.children[ni]) {\n\t\t\t\t\t\t\tif (!picker.quota) return selfEval;\n\n\t\t\t\t\t\t\tconst possibilities = (await picker.predictCluster(this.cluster, tip + 1)).map((x, i) =>\n\t\t\t\t\t\t\t\tthis.cluster.elements[i].order! < tip + 1 || i === this.cluster.elements.length - 1 ? 0 : Math.max(POSSIBILITY_LOW_BOUNDARY, x)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tthis.children[ni] = new BeadNode({\n\t\t\t\t\t\t\t\tcluster: this.cluster,\n\t\t\t\t\t\t\t\telemIndex: 0,\n\t\t\t\t\t\t\t\ttype: BeadType.Pass,\n\t\t\t\t\t\t\t\tpossibilities,\n\t\t\t\t\t\t\t\tpretentiousness: this.pretentiousness,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\telement.order = tip;\n\n\t\t\t\t\t\tif (!this.children[ni]) {\n\t\t\t\t\t\t\tconsole.assert(element.predisposition, 'no predisposition:', ni, this.possibilities);\n\t\t\t\t\t\t\tconst possibilities = element.predisposition!.divisionVector.map((x) => Math.max(POSSIBILITY_LOW_BOUNDARY, x));\n\t\t\t\t\t\t\tthis.children[ni] = new BeadNode({\n\t\t\t\t\t\t\t\tcluster: this.cluster,\n\t\t\t\t\t\t\t\telemIndex: ni,\n\t\t\t\t\t\t\t\ttype: BeadType.Division,\n\t\t\t\t\t\t\t\tpossibilities,\n\t\t\t\t\t\t\t\tpretentiousness: this.pretentiousness,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\tcase BeadType.Division:\n\t\t\t\t{\n\t\t\t\t\tthis.currentElem.division = ni;\n\n\t\t\t\t\tif (!this.children[ni]) {\n\t\t\t\t\t\tconst possibilities = this.currentElem.predisposition!.dotsVector.map((x) => Math.max(POSSIBILITY_LOW_BOUNDARY, x));\n\t\t\t\t\t\tthis.children[ni] = new BeadNode({\n\t\t\t\t\t\t\tcluster: this.cluster,\n\t\t\t\t\t\t\telemIndex: this.elemIndex,\n\t\t\t\t\t\t\ttype: BeadType.Dots,\n\t\t\t\t\t\t\tpossibilities,\n\t\t\t\t\t\t\tpretentiousness: this.pretentiousness,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\tcase BeadType.Dots:\n\t\t\t\t{\n\t\t\t\t\tthis.currentElem.dots = ni;\n\n\t\t\t\t\tselfEval = evaluateCluster(this.cluster, this.currentElem.order! + 1, this.pretentiousness);\n\t\t\t\t\tif (!selfEval.residue || selfEval.fatalError) {\n\t\t\t\t\t\tthis.accessCount = Infinity;\n\t\t\t\t\t\treturn selfEval!;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!this.children[ni]) {\n\t\t\t\t\t\tif (!picker.quota) return selfEval;\n\n\t\t\t\t\t\tconst tip = this.currentElem.order! + 1;\n\t\t\t\t\t\tconst possibilities = (await picker.predictCluster(this.cluster, tip)).map((x, i) =>\n\t\t\t\t\t\t\tthis.cluster.elements[i].order! < tip + 1 ? 0 : Math.max(POSSIBILITY_LOW_BOUNDARY, x)\n\t\t\t\t\t\t);\n\t\t\t\t\t\tthis.children[ni] = new BeadNode({\n\t\t\t\t\t\t\tcluster: this.cluster,\n\t\t\t\t\t\t\telemIndex: this.elemIndex,\n\t\t\t\t\t\t\ttype: BeadType.Pass,\n\t\t\t\t\t\t\tpossibilities,\n\t\t\t\t\t\t\tpretentiousness: this.pretentiousness,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t}\n\n\t\tconst evaluation = await this.children[ni].deduce({ picker, logger, ptFactor }, deep + 1);\n\t\tif (selfEval && evaluation.fatalError) {\n\t\t\tconst tip = this.currentElem.order!;\n\t\t\tthis.cluster.elements.forEach((elem) => {\n\t\t\t\tif (elem.order! > tip) elem.order = undefined;\n\t\t\t});\n\n\t\t\t// clear children data\n\t\t\tthis.cluster.elements.forEach((elem) => (elem.order = elem.order! > this.currentElem.order! ? undefined : elem.order));\n\t\t\tthis.cluster.elements[this.cluster.elements.length - 1].tick = selfEval.endTick;\n\n\t\t\treturn selfEval;\n\t\t}\n\n\t\treturn evaluation;\n\t}\n}\n\nconst estimateElementDuration = (elem: EventElement) => WHOLE_DURATION * 2 ** -elem.division! * (2 - 2 ** -elem.dots!);\n\nconst evaluateCluster = (cluster: EventCluster, tip: number, pretentiousness: number): ClusterEvaluation => {\n\tconst events = cluster.elements.filter(\n\t\t(elem) => [EventElementType.CHORD, EventElementType.REST].includes(elem.type) && Number.isInteger(elem.order) && elem.order! < tip\n\t);\n\tevents.sort((e1, e2) => e1.order! - e2.order!);\n\n\tconst eos = cluster.elements[cluster.elements.length - 1];\n\n\tlet tick = 0;\n\tlet lastOrder = 0;\n\tlet endTick = 0;\n\tlet voiceN = 1;\n\n\t// [x, tick, estimated tick]\n\tconst scales: [number, number, number][] = [[eos.x, cluster.signatureDuration, cluster.signatureDuration]];\n\n\tlet totalDuration = 0;\n\n\t// assign tick for events\n\tevents.forEach((event) => {\n\t\tif (event.order! > lastOrder + 1) {\n\t\t\ttick = 0;\n\t\t\t++voiceN;\n\t\t}\n\n\t\tconst referenceScale = scales.find((s) => s[1] >= tick);\n\t\tif (referenceScale && event.x > referenceScale[0] + 3) {\n\t\t\tconst nearScale = scales.reduce((n, s) => (Math.abs(event.predisposition!.tick - s[2]) < Math.abs(event.predisposition!.tick - n[2]) ? s : n));\n\t\t\tif (Math.abs(nearScale[0] - event.x) < 2) tick = Math.max(tick, nearScale[1]);\n\t\t}\n\n\t\tevent.tick = tick;\n\n\t\tconst si = Math.max(\n\t\t\t0,\n\t\t\tscales.findIndex((s) => s[0] > event.x)\n\t\t);\n\t\tscales.splice(si, 0, [event.x, event.tick, event.predisposition!.tick]);\n\n\t\t//let duration = WHOLE_DURATION * (2 ** -event.division!) * (2 - 2 ** -event.dots!);\n\t\tlet duration = estimateElementDuration(event);\n\t\tif (event.predisposition!.timeWarped > 0.5) duration = (duration * 2) / 3;\n\n\t\ttick += duration;\n\t\ttotalDuration += duration;\n\t\tendTick = Math.max(endTick, tick);\n\t\tlastOrder = event.order!;\n\t});\n\n\t/*const pretentiousness = events.reduce((p, event) => p +\n\t\tmeasurePretentious(event.predisposition!.divisionVector![event.division!]) +\n\t\tmeasurePretentious(event.predisposition!.dotsVector![event.dots!]), 0);*/\n\n\tif (endTick > 0) cluster.elements[cluster.elements.length - 1].tick = endTick;\n\n\tconst xSpan = cluster.elements[cluster.elements.length - 1].pivotX! - cluster.elements[1].pivotX!;\n\tconst tickSpan = Math.max(...events.map((e) => e.tick!), endTick);\n\n\t// tick twist loss\n\tconst eventsXOrder = [...events].sort((e1, e2) => e1.pivotX! - e2.pivotX!);\n\tconst tickTwists = eventsXOrder.slice(1).map((e2, i) => {\n\t\tconst e1 = eventsXOrder[i];\n\t\tconst dx = e2.pivotX! - e1.pivotX!;\n\t\tconst dt = e2.tick! - e1.tick!;\n\n\t\tif (!dt) return dx / xSpan;\n\n\t\tconst rate = Math.atan2(dt / tickSpan, dx / xSpan);\n\n\t\t//if (dt < 0)\n\t\t//\tconsole.log(\"minus dt:\", dt, dx, rate);\n\n\t\treturn ((rate * 4) / Math.PI - 1) ** 2;\n\t});\n\t//console.debug(\"tickTwists:\", tickTwists, eventsXOrder);\n\n\tconst twist = Math.max(...tickTwists, 0);\n\n\tconst tickMSE = events.map((event) => (event.tick! - event.predisposition!.tick) ** 2);\n\t//console.debug(\"tickMSE:\", tickMSE.map(Math.sqrt));\n\tconst tickErr = tickMSE.length ? Math.sqrt(tickMSE.reduce((sum, mse) => sum + mse, 0) / tickMSE.length) : 0;\n\t//console.debug(\"tick/twist:\", tickErr / WHOLE_DURATION, twist);\n\n\tconst residueElements = cluster.elements.filter(\n\t\t(elem) =>\n\t\t\t[EventElementType.CHORD, EventElementType.REST].includes(elem.type) &&\n\t\t\t!(Number.isInteger(elem.order) && elem.order! < tip) &&\n\t\t\t!(elem.predisposition && elem.predisposition.fakeP > 0.5)\n\t);\n\tconst residue = residueElements.length;\n\n\tconst fatalError = twist >= 1 || endTick > cluster.signatureDuration;\n\n\t//const spaceDuration = Math.max(0, cluster.signatureDuration - endTick);\n\tconst spaceDuration = Math.max(0, cluster.signatureDuration - totalDuration / voiceN);\n\n\tconst loss =\n\t\ttickErr / WHOLE_DURATION +\n\t\ttwist +\n\t\tresidue * RESIDUE_LOSS_WEIGHT +\n\t\tvoiceN * VOICEN_LOSS_WEIGHT +\n\t\tspaceDuration * SPACE_LOSS_WEIGHT +\n\t\tpretentiousness * PRETENTIOUSNESS_LOSS_WEIGHT;\n\n\treturn {\n\t\ttickErr,\n\t\ttwist,\n\t\tresidue,\n\t\tendTick,\n\t\tfatalError,\n\t\tvoiceN,\n\t\tspaceDuration,\n\t\tpretentiousness,\n\t\tloss,\n\t};\n};\n\nconst solveCluster = async (\n\tcluster: EventCluster,\n\tpicker: BeadPicker,\n\tlogger: Logger,\n\tquota: number = 200,\n\tstopLoss: number = 0,\n\tptFactor: number = 1\n): Promise => {\n\tcluster.elements.forEach((elem, i) => (elem.order = i ? undefined : 0));\n\tconst suc0 = await picker.predictCluster(cluster, 1);\n\n\tconst root = new BeadNode({ cluster, elemIndex: 0, pretentiousness: 0, type: BeadType.Pass, possibilities: suc0 });\n\n\tlet bestEvaluation: ClusterEvaluation | null = null;\n\tlet bestState: ClusterState | null = null;\n\n\tpicker.quota = quota;\n\twhile (picker.quota) {\n\t\tcluster.elements.forEach((elem, i) => (elem.order = i ? undefined : 0));\n\n\t\tconst evaluation = await root.deduce({ picker, logger, ptFactor });\n\n\t\tlogger.debug('loss:', evaluation);\n\n\t\tif (!bestEvaluation || evaluation.loss < bestEvaluation.loss) {\n\t\t\tbestEvaluation = evaluation;\n\n\t\t\tcluster.duration = bestEvaluation.endTick;\n\t\t\tbestState = saveClusterState(cluster);\n\n\t\t\tif (Number.isFinite(stopLoss) && bestEvaluation.loss <= stopLoss!) break;\n\t\t}\n\n\t\tif (!Number.isFinite(root.accessCount)) break;\n\t}\n\tlogger.debug('bestEvaluation:', bestEvaluation);\n\n\trestoreClusterState(cluster, bestState!);\n\n\t// solve residue elements\n\tconst fixedEvents = cluster.elements.filter((elem) => [EventElementType.CHORD, EventElementType.REST].includes(elem.type) && Number.isInteger(elem.order));\n\tconst pendingEvents = cluster.elements.filter(\n\t\t(elem) => [EventElementType.CHORD, EventElementType.REST].includes(elem.type) && !Number.isInteger(elem.order)\n\t);\n\tif (fixedEvents.length) {\n\t\tpendingEvents.forEach((event) => {\n\t\t\t// exclude fake events (includes grace, fullMeasure) from voices\n\t\t\tevent.tick = undefined;\n\n\t\t\tif (event.predisposition!.fakeP < 0.5) {\n\t\t\t\t//const near = fixedEvents.reduce((n, e) => Math.abs(e.predisposition!.tick - event.predisposition!.tick) < Math.abs(n.predisposition!.tick - event.predisposition!.tick) ? e : n);\n\t\t\t\tconst duration = estimateElementDuration(event);\n\t\t\t\tconst candidates = fixedEvents.filter((e) => e.tick! + duration <= bestEvaluation!.endTick);\n\t\t\t\tif (candidates.length) {\n\t\t\t\t\tconst near = candidates.reduce((n, e) => (Math.abs(e.x - event.x) < Math.abs(n.x - event.x) ? e : n));\n\t\t\t\t\tevent.tick = near.tick;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tfixedEvents.sort((e1, e2) => e1.order! - e2.order!);\n\n\t// properties\n\t[...fixedEvents, ...pendingEvents].forEach((event) => {\n\t\tevent.grace = !Number.isFinite(event.tick) && event.predisposition!.grace;\n\t\tevent.timeWarped = event.predisposition!.timeWarped > 0.5;\n\t\tevent.fullMeasure = event.predisposition!.fullMeasure > 0.5;\n\t\tevent.stemDirection = STEM_DIRECTION_OPTIONS[argmax(event.predisposition!.stemDirectionVector)];\n\t\tevent.beam = BEAM_OPTIONS[argmax(event.predisposition!.beamVector)];\n\t});\n\n\t// construct matrixH\n\tconst ids = cluster.elements.map((e) => e.index);\n\tconst idx = (id: number): number => ids.indexOf(id);\n\tcluster.matrixH = cluster.elements.map(() => Array(cluster.elements.length).fill(0));\n\tfixedEvents.forEach((event, i) => {\n\t\tconst lastEvent = fixedEvents[i - 1];\n\t\tif (!lastEvent || lastEvent.order! < event.order! - 1) {\n\t\t\tcluster.matrixH![idx(event.index!)][0] = 1;\n\t\t\tif (lastEvent) cluster.matrixH![cluster.elements.length - 1][idx(lastEvent.index!)] = 1;\n\t\t} else {\n\t\t\tconsole.assert(\n\t\t\t\tcluster.matrixH![idx(event.index!)] && Number.isFinite(cluster.matrixH![idx(event.index!)][idx(lastEvent.index!)]),\n\t\t\t\t'matrixH out of range:',\n\t\t\t\tevent.index,\n\t\t\t\tlastEvent.index,\n\t\t\t\tcluster.matrixH!.length\n\t\t\t);\n\n\t\t\tcluster.matrixH![idx(event.index!)][idx(lastEvent.index!)] = 1;\n\t\t}\n\t});\n\tif (!pendingEvents.length && fixedEvents.length) cluster.matrixH![cluster.elements.length - 1][idx(fixedEvents[fixedEvents.length - 1].index!)] = 1;\n\n\treturn bestEvaluation!;\n};\n\ninterface BeadSolverOptions {\n\tpicker: BeadPicker;\n\tstopLoss?: number;\n\tquotaMax?: number;\n\tquotaFactor?: number;\n\tptFactor?: number;\n\tlogger?: Logger;\n}\n\nconst solveMeasure = async (measure: SpartitoMeasure, options: BeadSolverOptions): Promise => {\n\tconst { stopLoss = 0.09, quotaMax = 1000, quotaFactor = 5, ptFactor = 1, logger = new DummyLogger() } = options;\n\n\tlet worstLoss = 0;\n\n\tconst clusters = measure.createClusters();\n\tfor (const cluster of clusters) {\n\t\tconst quota = Math.min(quotaMax, Math.ceil(cluster.elements.length * quotaFactor));\n\t\tlogger.info(`[measure-${measure.measureIndex}]`, quota);\n\t\tconst { loss } = await solveCluster(cluster, options.picker, logger, quota, stopLoss, ptFactor);\n\t\tworstLoss = Math.max(worstLoss, loss);\n\t}\n\n\tconst voices = [] as number[][];\n\n\tconst durations = [] as number[];\n\n\tconst solutionEvents = [] as RegulationSolutionEvent[];\n\n\tclusters.forEach((cluster) => {\n\t\tconst events = cluster.elements.filter((elem) => [EventElementType.CHORD, EventElementType.REST].includes(elem.type) && Number.isInteger(elem.order));\n\t\tevents.sort((e1, e2) => e1.order! - e2.order!);\n\n\t\tif (!events.length) return;\n\n\t\tlet voice = [] as number[];\n\t\tvoices.push(voice);\n\t\tlet lastOrder = 0;\n\t\tevents.forEach((event) => {\n\t\t\tif (event.fullMeasure || event.grace || event.tremoloCatcher) return;\n\n\t\t\tif (event.order! > lastOrder + 1) {\n\t\t\t\tvoice = [event.index!];\n\t\t\t\tvoices.push(voice);\n\t\t\t} else voice.push(event.index!);\n\n\t\t\tlastOrder = event.order!;\n\t\t});\n\n\t\tlet tipElem = events[events.length - 1];\n\n\t\t// complete voices from pending events\n\t\tconst pendingEvents = cluster.elements.filter(\n\t\t\t(elem) => [EventElementType.CHORD, EventElementType.REST].includes(elem.type) && Number.isFinite(elem.tick) && !Number.isInteger(elem.order)\n\t\t);\n\t\twhile (pendingEvents.length) {\n\t\t\tconst ei = pendingEvents.findIndex((e) => e.tick! >= tipElem.tick! + estimateElementDuration(tipElem));\n\t\t\tif (ei >= 0) voice.push(pendingEvents.splice(ei, 1)[0].index!);\n\t\t\telse {\n\t\t\t\ttipElem = pendingEvents.splice(0, 1)[0];\n\t\t\t\tvoice = [tipElem.index!];\n\t\t\t\tvoices.push(voice);\n\t\t\t}\n\t\t}\n\n\t\tif (events.some((elem) => !elem.fullMeasure && Number.isInteger(elem.order))) {\n\t\t\tconst eos = cluster.elements.find((elem) => elem.type === EventElementType.EOS);\n\t\t\tdurations.push(eos!.tick!);\n\t\t}\n\n\t\tconst eventMap = measure.eventMap;\n\n\t\tconst tickSet = cluster.elements.reduce((set, elem) => {\n\t\t\tif (Number.isFinite(elem.tick)) set.add(elem.tick!);\n\t\t\treturn set;\n\t\t}, new Set());\n\t\tconst ticks = Array.from(tickSet).sort((t1, t2) => t1 - t2);\n\n\t\t// fill solutionEvents\n\t\tevents.forEach((elem) => {\n\t\t\tconst event = eventMap[elem.index!];\n\t\t\tif (event) {\n\t\t\t\tsolutionEvents.push({\n\t\t\t\t\tid: event.id!,\n\t\t\t\t\ttick: elem.tick!,\n\t\t\t\t\ttickGroup: ticks.indexOf(elem.tick!),\n\t\t\t\t\tdivision: elem.division !== event.division ? elem.division : undefined,\n\t\t\t\t\tdots: elem.dots !== event.dots ? elem.dots : undefined,\n\t\t\t\t\ttimeWarp: elem.timeWarped ? frac(2, 3) : undefined, // TODO:\n\t\t\t\t\tbeam: elem.beam !== event.beam ? elem.beam : undefined,\n\t\t\t\t\tgrace: elem.grace !== !!event.grace ? elem.grace : undefined,\n\t\t\t\t\tfullMeasure: elem.fullMeasure || undefined,\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t});\n\n\tconst estimatedDuration = Math.max(...clusters.map((c) => c.estimatedDuration));\n\n\treturn {\n\t\tvoices: voices.filter((voice) => voice.length),\n\t\tduration: Math.max(...durations),\n\t\tevents: solutionEvents,\n\t\tpriority: -worstLoss,\n\t\testimatedDuration,\n\t};\n};\n\ninterface GlimpseMeasureOptions {\n\tpicker: BeadPicker;\n\tresetSignatureForDoubtfulOnly?: boolean;\n}\n\nconst glimpseMeasure = async (measure: SpartitoMeasure, { picker, resetSignatureForDoubtfulOnly }: GlimpseMeasureOptions): Promise => {\n\tconst clusters = measure.createClusters();\n\tconst eventMap = measure.eventMap;\n\n\tfor (const cluster of clusters) {\n\t\tif (!resetSignatureForDoubtfulOnly || measure.doubtfulTimesig) cluster.signatureDuration = 0; // re-estimate measure duration\n\t\tcluster.elements.forEach((elem, i) => (elem.order = i ? undefined : 0));\n\t\tawait picker.predictCluster(cluster, 1);\n\n\t\tcluster.elements\n\t\t\t.filter((elem) => [EventElementType.CHORD, EventElementType.REST].includes(elem.type))\n\t\t\t.forEach((elem) => {\n\t\t\t\tconst event = eventMap[elem.index!];\n\t\t\t\tevent.predisposition = elem.predisposition!;\n\t\t\t});\n\t}\n\n\tmeasure.estimatedDuration = Math.max(...clusters.map((c) => c.estimatedDuration));\n};\n\nconst estimateMeasure = async (measure: SpartitoMeasure, picker: BeadPicker): Promise =>\n\tglimpseMeasure(measure, { picker, resetSignatureForDoubtfulOnly: true });\n\nexport { BeadPicker, solveCluster, solveMeasure, estimateMeasure, glimpseMeasure };\n","import * as starry from '../starry';\nimport { MidiJson, ScoreJSON } from './types';\nimport { ChordColumn, Staff } from '../starry';\nimport { parseCode } from '../staffLayout';\nimport { MidiEvent } from '../performer';\n\nexport interface FindScoreResource {\n\tscoreJson: ScoreJSON;\n\tmidiJson: MidiJson;\n}\n\nconst SUPPORT_CLEF_TYPES = [starry.TokenType.ClefG, starry.TokenType.ClefF, starry.TokenType.ClefC];\n\nconst tokenToText = (token: starry.ContextedTerm) => {\n\tlet text = null;\n\tswitch (token.tokenType) {\n\t\tcase starry.TokenType.ClefG:\n\t\t\ttext = 'Treble';\n\t\t\tbreak;\n\t\tcase starry.TokenType.ClefF:\n\t\t\ttext = 'Bass';\n\t\t\tbreak;\n\t\tcase starry.TokenType.ClefC:\n\t\t\tif (token.y === -1) {\n\t\t\t\ttext = 'Tenor';\n\t\t\t} else {\n\t\t\t\ttext = 'Alto';\n\t\t\t}\n\t\t\tbreak;\n\t}\n\n\treturn text;\n};\n\nexport function encodeFindResource(score: starry.Score): FindScoreResource {\n\tconst perform = score.spartito.perform();\n\tconst maskImages = score.systems.map((sy) => sy.staves.map((st) => st?.maskImage)).flat();\n\tconst hasMaskImage = maskImages.filter(Boolean).length > maskImages.length / 2;\n\n\tconst scoreJson: ScoreJSON = {} as ScoreJSON;\n\n\tconst idsMap = new Map(); // starry内éƒĻID到find播æ”ūå™Ļidįš„æ˜ å°„\n\tconst idsXMap = new Map(); // 内éƒĻID和元įī Xåæ ‡įš„æ˜ å°„\n\tconst idStaffIndexMap = new Map(); // 内éƒĻID和元įī æ‰€åąžpartįš„å†…éƒĻstaffįīĒåž•\n\n\tscoreJson.unitSize = score.unitSize;\n\n\tscoreJson.title = {\n\t\ttitle: score.title,\n\t} as any;\n\n\tconst coverTexts: {\n\t\tconfidence: number;\n\t\tfontSize: number;\n\t\tid: string;\n\t\ttext: string;\n\t\ttextType: 'Title' | 'Author';\n\t\ttype: starry.TokenType;\n\t\twidth_: number;\n\t\tx: number;\n\t\ty: number;\n\t}[] = score.pages[0].tokens as any;\n\n\tif (Array.isArray(coverTexts) && coverTexts.length > 0) {\n\t\tconst [title, ...subtitles] = coverTexts\n\t\t\t.filter((x) => x.type === starry.TokenType.Text && x.textType === 'Title')\n\t\t\t.sort((a, b) => b.fontSize - a.fontSize);\n\n\t\tif (title) {\n\t\t\tscoreJson.title.title = title.text;\n\t\t\tscoreJson.title.t = { size: title.fontSize };\n\t\t}\n\n\t\tif (subtitles?.length > 0) {\n\t\t\tsubtitles.sort((a, b) => a.y - b.y);\n\t\t\tscoreJson.title.subtitle = subtitles.map((x) => x.text).join('\\n');\n\t\t\tscoreJson.title.s = { size: subtitles.reduce((a, n) => a + n.fontSize, 0) / subtitles.length };\n\t\t}\n\n\t\tconst authors = coverTexts.filter((x) => x.type === starry.TokenType.Text && x.textType === 'Author' && x.x > score.pages[0].width / 2);\n\n\t\tif (authors.length > 0) {\n\t\t\tscoreJson.title.composer = authors.map((x) => x.text).join('\\n');\n\t\t\tscoreJson.title.c = { size: authors.reduce((a, n) => a + n.fontSize, 0) / authors.length };\n\t\t}\n\t}\n\n\tscoreJson.page = {\n\t\tw: score.pages[0].width,\n\t\th: score.pages[0].height,\n\t};\n\n\tscoreJson.pages = score.pages.map((page) => {\n\t\tconst bgWidth = page.source.dimensions.width / page.source.interval;\n\t\tconst bgHeight = page.source.dimensions.height / page.source.interval;\n\n\t\tconst [a, b, c, d] = page.source.matrix;\n\n\t\treturn {\n\t\t\tsrc: page.source.url, // 朎éĄĩ朎地å›ūቇURL\n\t\t\tw: bgWidth, // 背æ™Ŋå›ū\n\t\t\th: bgHeight, // 背æ™Ŋå›ū\n\t\t\tx: 0,\n\t\t\ty: 0,\n\t\t\tl1: score.systems.indexOf(page.systems[0]), // 朎éĄĩčĩ·å§‹systemįž–å·\n\t\t\tls: page.systems.length, // 朎éĄĩsystem数量\n\t\t\tmatrix: [\n\t\t\t\ta,\n\t\t\t\tb,\n\t\t\t\tc,\n\t\t\t\td,\n\t\t\t\t(-1 / 2) * a * bgWidth + (-1 / 2) * bgHeight * c + (1 / 2) * page.width || 0,\n\t\t\t\t(-1 / 2) * b * bgWidth + (-1 / 2) * bgHeight * d + (1 / 2) * page.height || 0,\n\t\t\t],\n\t\t};\n\t});\n\n\tscoreJson.parts = [];\n\tscoreJson.lines = [];\n\n\t// æēĄæœ‰é™å™Šå›ūå°ąäļéœ€č́čŋ™äš›å­—æŪĩ\n\tif (hasMaskImage) {\n\t\tconst partTemplates = score.staffLayout.partGroups.map((p) => (p.range[0] === p.range[1] ? [p.range[0]] : p.range));\n\t\tconst tokenMap = score.getTokenMap();\n\t\tconst measureXs: number[][] = [];\n\n\t\t// partIndex: partįīĒ垕template: å―“å‰part所包åŦįš„staffįš„å…Ļåą€įīĒåž•\n\t\tfor (const [partIndex, template] of partTemplates.entries()) {\n\t\t\tconst staffIndexBase = partTemplates.slice(0, partIndex).flat().length;\n\n\t\t\tconst part: ScoreJSON['parts'][0] = {\n\t\t\t\tmeasures: [],\n\t\t\t};\n\n\t\t\tscore.systems.forEach((system, systemIndex) => {\n\t\t\t\tconst staves = system.staves.slice();\n\n\t\t\t\t// äļåŊ见staffį”ĻnullåĄŦå……įš„staff列čĄĻ\n\t\t\t\tconst paddedStaves = partTemplates.flat().map((staffIndex) => (!((1 << staffIndex) & system.staffMask) ? null : staves.shift()));\n\t\t\t\tconst bars = [0, ...system.measureBars];\n\n\t\t\t\t// äūŋåŽ†å―“å‰systemäļ‹įš„å°čŠ‚\n\t\t\t\tfor (let mi = 0; mi < system.measureCount; mi++) {\n\t\t\t\t\tconst measureIndex = score.spartito.measureIndexMapping[system.headMeasureIndex + mi];\n\n\t\t\t\t\t// åĶ‚æžœå°čŠ‚čĒŦčŋ‡æŧĪ\n\t\t\t\t\tif (!Number.isFinite(measureIndex)) {\n\t\t\t\t\t\tif (bars.length > mi + 1) bars[mi + 1] = bars[mi];\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst chordColumns: { chord: ChordColumn; staffIndexInPart: number }[] = [];\n\n\t\t\t\t\tfor (const staffIndex of template) {\n\t\t\t\t\t\tconst staff = paddedStaves[staffIndex];\n\n\t\t\t\t\t\tif (staff) {\n\t\t\t\t\t\t\tchordColumns.push(...staff.measures[mi].getChords().map((chord) => ({ chord, staffIndexInPart: staffIndex - staffIndexBase })));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tlet noteIndex = 0;\n\n\t\t\t\t\tconst measureStartX = bars[mi]; // å°čŠ‚åž€åĪīį›ļåŊđsystemįš„x偏į§ŧ\n\n\t\t\t\t\tconst measureNotes = [];\n\n\t\t\t\t\tchordColumns.forEach(({ staffIndexInPart, chord }) => {\n\t\t\t\t\t\tconst elems = [];\n\n\t\t\t\t\t\tlet firstX = chord.tip ? chord.tip.x : chord.right - chord.left / 2;\n\n\t\t\t\t\t\tchord.noteIds.forEach((noteId, key) => {\n\t\t\t\t\t\t\tconst token = tokenMap.get(noteId);\n\n\t\t\t\t\t\t\tconst innerId = `n_${partTemplates.length > 1 ? partIndex + '_' : ''}${measureIndex}_${noteIndex}`;\n\t\t\t\t\t\t\tnoteIndex++;\n\t\t\t\t\t\t\tidsMap.set(token.id, innerId);\n\t\t\t\t\t\t\tidsXMap.set(token.id, (token.left + token.right) / 2 - measureStartX);\n\t\t\t\t\t\t\tidStaffIndexMap.set(token.id, staffIndexInPart + 1);\n\n\t\t\t\t\t\t\telems.push({\n\t\t\t\t\t\t\t\tline: -chord.ys[key] * 2, // 乔įšŋäļ­įšŋäļš0åū€äļŠäļšæ­Ģ/向äļ‹äļščīŸïžŒæŊåŠæ žå­1äļŠå•ä―\n\t\t\t\t\t\t\t\tid: innerId, // n_å°čŠ‚å·_įŽŽå‡ äļŠéŸģįŽĶ\n\t\t\t\t\t\t\t\t// acc: {\n\t\t\t\t\t\t\t\t// \tacc: AccType.Flat,\n\t\t\t\t\t\t\t\t// \tx: -1\n\t\t\t\t\t\t\t\t// }, // äļīæ—ķ升降čŪ°å·åŠå…ķ偏į§ŧ量\n\t\t\t\t\t\t\t\tstaff: staffIndexInPart + 1,\n\t\t\t\t\t\t\t\tx: (token.left + token.right) / 2 - firstX, // å―“å‰įŽĶåĪīį›ļåŊđįŽŽäļ€äļŠįŽĶåĪīįš„åį§ŧ量\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tmeasureXs[measureIndex] = measureXs[measureIndex] || [];\n\t\t\t\t\t\tmeasureXs[measureIndex].push(firstX - measureStartX);\n\n\t\t\t\t\t\tconst events = score.spartito.measures[system.headMeasureIndex + mi].events.filter((x) =>\n\t\t\t\t\t\t\tx.noteIds.some((y) => chord.noteIds.includes(y))\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tmeasureNotes.push({\n\t\t\t\t\t\t\telems,\n\t\t\t\t\t\t\tx: firstX - measureStartX, // 朎éŸģįŽĶį›ļåŊđäšŽå°čŠ‚åž€åĪīįš„x偏į§ŧ量\n\t\t\t\t\t\t\ttype: 2 ** chord.division, // n分éŸģįŽĶ1äļšå…ĻéŸģįŽĶ\n\t\t\t\t\t\t\t...(events.some((x) => x.grace) ? { grace: {} } : {}),\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\n\t\t\t\t\tpart.measures[measureIndex] = {\n\t\t\t\t\t\tw: bars[mi + 1] - bars[mi], // æœŽå°čŠ‚åŪ―åšĶ\n\t\t\t\t\t\tstaves: template.length, // 朎partįš„staffäļŠæ•°\n\t\t\t\t\t\tnotes: measureNotes,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// æå–č°ąå·ã€č°ƒå·\n\t\t\tlet lastFifths = null;\n\t\t\tscore.spartito.measures.forEach((measure, i) => {\n\t\t\t\tconst measureIndex = score.spartito.measureIndexMapping[i];\n\n\t\t\t\tconst clefTokens = measure.contexts.flat().filter((x) => SUPPORT_CLEF_TYPES.includes(x.tokenType) && template.includes(x.staff));\n\t\t\t\tconst clefs = clefTokens.map((token) => {\n\t\t\t\t\tconst pt = partTemplates.find((p) => p.includes(token.staff));\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tx: token.x,\n\t\t\t\t\t\tclef: tokenToText(token),\n\t\t\t\t\t\tstaff: pt.indexOf(token.staff) + 1, // staffįīĒåž•äŧŽ1垀始\n\t\t\t\t\t\ttick: token.tick,\n\t\t\t\t\t};\n\t\t\t\t});\n\n\t\t\t\tif (clefs.length > 0) {\n\t\t\t\t\tpart.measures[measureIndex] && (part.measures[measureIndex].clefs = clefs);\n\t\t\t\t}\n\n\t\t\t\tconst fifths = measure.basics.filter((x, i) => (1 << i) & measure.staffMask)[0].keySignature;\n\n\t\t\t\tif (fifths !== lastFifths) {\n\t\t\t\t\tpart.measures[measureIndex] && (part.measures[measureIndex].fifths = { fifths });\n\t\t\t\t\tlastFifths = fifths;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (part.measures.length > 0) {\n\t\t\t\tscoreJson.parts[partIndex] = part;\n\t\t\t}\n\t\t}\n\n\t\tscore.systems.forEach((system, systemIndex) => {\n\t\t\tconst lineStaves = [];\n\n\t\t\tconst systemTopStaff = system.staves[0];\n\t\t\tconst systemBottomStaff = system.staves[system.staves.length - 1];\n\n\t\t\tconst systemTopStaffY = systemTopStaff.top + systemTopStaff.staffY - 2;\n\t\t\tconst systemBottomStaffY = systemBottomStaff.top + systemBottomStaff.staffY - 2;\n\n\t\t\tconst staves = system.staves.slice();\n\n\t\t\tconst paddedStaves = partTemplates.flat().map((staffIndex) => {\n\t\t\t\tconst isEmpty = !((1 << staffIndex) & system.staffMask);\n\t\t\t\tif (isEmpty) {\n\t\t\t\t\treturn null;\n\t\t\t\t} else {\n\t\t\t\t\treturn staves.shift();\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tlet lastPartLastStaff = null;\n\n\t\t\tfor (const [partIndex, template] of partTemplates.entries()) {\n\t\t\t\tconst partStaves: Staff[] = template.map((staffIndex) => paddedStaves.find((s) => s?.index === staffIndex) || null);\n\n\t\t\t\tconst staffs = partStaves.map((staff, index) => [index, !staff] as [number, boolean]).filter((s) => s[1]);\n\n\t\t\t\tlet details = null;\n\t\t\t\tif (staffs.length > 0) {\n\t\t\t\t\tdetails = Object.fromEntries(staffs.map((d) => [d[0] + 1, { hide: d[1] }]));\n\t\t\t\t}\n\n\t\t\t\tlet y = 0;\n\t\t\t\tlet height = 0;\n\n\t\t\t\tconst visibleStaves = partStaves.filter((s) => !!s);\n\n\t\t\t\tif (visibleStaves.length > 0) {\n\t\t\t\t\tconst partTopStaff = visibleStaves[0];\n\t\t\t\t\tconst partBottomStaff = visibleStaves[visibleStaves.length - 1];\n\t\t\t\t\tconst partTopStaffY = partTopStaff.top + partTopStaff.staffY - 2;\n\t\t\t\t\tconst partBottomStaffY = partBottomStaff.top + partBottomStaff.staffY - 2;\n\n\t\t\t\t\ty = partTopStaffY - systemTopStaffY;\n\t\t\t\t\theight = partBottomStaffY - partTopStaffY + 4;\n\t\t\t\t}\n\n\t\t\t\tconst { list: distances, last } = partStaves.reduce(\n\t\t\t\t\t(acc, next, index) => {\n\t\t\t\t\t\tif (acc.last === null || next === null) {\n\t\t\t\t\t\t\tif (index === 0 && y > 0) {\n\t\t\t\t\t\t\t\tacc.list.push(y - 4);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tacc.list.push(0);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tacc.list.push(next.top + next.staffY - (acc.last.top + acc.last.staffY) - 4);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tacc.last = next || acc.last;\n\n\t\t\t\t\t\treturn acc;\n\t\t\t\t\t},\n\t\t\t\t\t{ last: lastPartLastStaff, list: [] } as { last: Staff; list: number[] }\n\t\t\t\t);\n\n\t\t\t\tlastPartLastStaff = last;\n\n\t\t\t\tconst imgs = partStaves.map((staff) => {\n\t\t\t\t\tif (staff?.maskImage) {\n\t\t\t\t\t\tconst rect = staff.imagePosition;\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tsrc: staff.maskImage,\n\t\t\t\t\t\t\tx: rect.x,\n\t\t\t\t\t\t\ty: system.top + staff.top + rect.y - (system.top + staff.top + staff.staffY - 2),\n\t\t\t\t\t\t\tw: rect.width,\n\t\t\t\t\t\t\th: rect.height,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\treturn null;\n\t\t\t\t});\n\n\t\t\t\tconst spartitoMeasure = score.spartito.measures[system.headMeasureIndex];\n\t\t\t\tlineStaves.push({\n\t\t\t\t\t// parts\n\t\t\t\t\tdistances, // äļĪäļŠstaffé—īč·\n\t\t\t\t\timgs,\n\t\t\t\t\ty, // 朎staffį›ļåŊđäšŽå―“å‰systemįŽŽäļ€įšŋįš„čĩ·å§‹y坐标\n\t\t\t\t\tstaves: template.length, // 朎staff数量\n\t\t\t\t\tparti: partIndex, // 朎staffæ‰€åąžpartįž–å·\n\t\t\t\t\theight, // 朎stafféŦ˜åšĶ\n\t\t\t\t\t...(details ? { details } : {}),\n\t\t\t\t\tclef: Object.fromEntries(\n\t\t\t\t\t\tscore.spartito.measures[system.headMeasureIndex]?.contexts\n\t\t\t\t\t\t\t.flat()\n\t\t\t\t\t\t\t.filter((x) => SUPPORT_CLEF_TYPES.includes(x.tokenType) && template.includes(x.staff))\n\t\t\t\t\t\t\t.map((token) => [token.staff, tokenToText(token)])\n\t\t\t\t\t),\n\t\t\t\t\tfifths: spartitoMeasure.basics.filter((x, i) => (1 << i) & spartitoMeasure.staffMask)[0].keySignature,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst mIndices = system.measureBars\n\t\t\t\t.map((_, i) => score.spartito.measureIndexMapping[system.headMeasureIndex + i])\n\t\t\t\t.filter((x) => Number.isFinite(x));\n\n\t\t\tscoreJson.lines[systemIndex] = {\n\t\t\t\tm1: mIndices[0], // 朎systemčĩ·å§‹å°čŠ‚įž–å·\n\t\t\t\tm2: mIndices.length > 0 ? mIndices[mIndices.length - 1] + 1 : undefined, // 朎systemįŧ“å°ūå°čŠ‚įž–å·+1\n\t\t\t\tx: system.left, // 朎systemå·Ķäū§å°čŠ‚įšŋx坐标\n\t\t\t\ty: system.top + systemTopStaffY, // 朎systemå·Ķäū§å°čŠ‚įšŋy坐标\n\t\t\t\tw: system.measureBars[system.measureBars.length - 1], // 朎systemåŪ―åšĶ\n\t\t\t\th: systemBottomStaffY - systemTopStaffY + 4, // 朎systeméŦ˜åšĶ\n\t\t\t\tlineStaves,\n\t\t\t};\n\t\t});\n\n\t\tconst map = { 0: 'default', 1: 'brace', 2: 'bracket', 3: 'square' };\n\n\t\tconst staffLayout = parseCode(score.staffLayoutCode);\n\t\tconst sortedParts = staffLayout.partGroups\n\t\t\t.map((x) => {\n\t\t\t\treturn {\n\t\t\t\t\tsort: x.range[0],\n\t\t\t\t\tpart: x,\n\t\t\t\t};\n\t\t\t})\n\t\t\t.sort((a, b) => a.sort - b.sort)\n\t\t\t.map((x) => x.part);\n\n\t\tscoreJson.groups = staffLayout.groups\n\t\t\t.filter((x) => x.group.type !== 0)\n\t\t\t.map((part, key) => {\n\t\t\t\treturn {\n\t\t\t\t\ttype: map[part.group.type] as any,\n\t\t\t\t\tp1: sortedParts.findIndex((x) => x.range.includes(part.range[0])),\n\t\t\t\t\tp2: sortedParts.findIndex((x) => x.range.includes(part.range[part.range.length - 1])),\n\t\t\t\t};\n\t\t\t})\n\t\t\t.filter((x) => x.type !== 'default');\n\t}\n\n\tif (perform) {\n\t\tscoreJson.measInfo = perform.notation.measures.map((measure, measureIndex) => {\n\t\t\tconst map = new Map();\n\t\t\tmeasure.notes.forEach((n) => {\n\t\t\t\tmap.set(n.tick, [...(map.get(n.tick) || []), idsXMap.get(n.id)]);\n\t\t\t});\n\n\t\t\t// æ‰ū凚æŊäļŠtickåŊđåš”įš„įŽŽäļ€äļŠéŸģįŽĶįš„äļ­åŋƒį‚đįš„x\n\t\t\treturn Array.from(map.entries())\n\t\t\t\t.sort((a, b) => +a[0] - b[0])\n\t\t\t\t.reduce(\n\t\t\t\t\t(acc, ent, key) => {\n\t\t\t\t\t\tconst val = ent[1].find((x) => x > acc.last) || ent[1][0];\n\t\t\t\t\t\tacc.list.push(val);\n\t\t\t\t\t\tacc.last = val;\n\n\t\t\t\t\t\treturn acc;\n\t\t\t\t\t},\n\t\t\t\t\t{ last: null, list: [] }\n\t\t\t\t)\n\t\t\t\t.list.filter(Number.isFinite);\n\t\t});\n\t}\n\n\t/******************************* į”Ÿæˆ midiJson *************************************/\n\n\tlet midiJson: MidiJson;\n\n\tif (perform) {\n\t\tmidiJson = {} as MidiJson;\n\n\t\tconst idNoteMap = new Map();\n\n\t\tlet beatsCurrent;\n\t\tlet beatsUnitCurrent;\n\t\tperform.notation.measures.forEach((measure, mIndex) => {\n\t\t\tconst { numerator: beats, denominator: beatsUnit } = measure.timeSignature;\n\n\t\t\tif (!midiJson.beats && !midiJson.beatsUnit) {\n\t\t\t\tmidiJson.beats = beats;\n\t\t\t\tmidiJson.beatsUnit = beatsUnit;\n\t\t\t\tbeatsCurrent = beats;\n\t\t\t\tbeatsUnitCurrent = beatsUnit;\n\t\t\t}\n\n\t\t\tmidiJson.beatInfos = midiJson.beatInfos || [];\n\n\t\t\tif (beatsCurrent !== beats || beatsUnitCurrent !== beatsUnit) {\n\t\t\t\tbeatsCurrent = beats;\n\t\t\t\tbeatsUnitCurrent = beatsUnit;\n\n\t\t\t\tmidiJson.beatInfos.push({\n\t\t\t\t\ttick: measure.tick,\n\t\t\t\t\tbeats,\n\t\t\t\t\tbeatsUnit,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tmidiJson.tempos = midiJson.tempos || [];\n\n\t\t\tmeasure.events.forEach((evt) => {\n\t\t\t\tif (evt.data.type === 'meta' && evt.data.subtype === 'setTempo') {\n\t\t\t\t\tmidiJson.tempos.push({\n\t\t\t\t\t\ttick: measure.tick,\n\t\t\t\t\t\ttempo: evt.data.microsecondsPerBeat,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\tmidiJson.measures = perform.notation.measures.reduce((acc, measure, index) => {\n\t\t\tconst note_ticks = Array.from(new Set(measure.notes.map((x) => x.tick))).sort((a, b) => a - b);\n\n\t\t\tmeasure.notes.forEach((x) => {\n\t\t\t\tidNoteMap.set(x.id, note_ticks.indexOf(x.tick));\n\t\t\t});\n\n\t\t\tacc[measure.tick] = {\n\t\t\t\tmeasure: index, // å°čŠ‚įž–å·\n\t\t\t\tduration: measure.duration, // å°čŠ‚æ—ķ倞\n\t\t\t\tnote_ticks, // æœŽå°čŠ‚æŊåˆ—įš„tick\n\t\t\t};\n\n\t\t\treturn acc;\n\t\t}, {});\n\n\t\tmidiJson.measureInfos = perform.notation.measures.map((measure, key) => ({\n\t\t\tnumber: String(key + 1), // å°čŠ‚įž–å·\n\t\t\tfifths: measure.keySignature, // č°ƒå· -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7\n\t\t\tbeats: measure.timeSignature.numerator, // 拍号分子\n\t\t\tbeatUnit: measure.timeSignature.denominator, // 拍号分æŊ\n\t\t}));\n\n\t\tconst midi = perform.notation.toPerformingMIDI(perform.notation.measures.map((_, key) => key + 1));\n\n\t\tconst tracks = midi.tracks as unknown as (MidiEvent & { duration: number })[][];\n\n\t\tconst { partGroups } = score.staffLayout;\n\n\t\tlet mergedTracks = tracks.map((track, trackIndex) => {\n\t\t\tconst key = partGroups[trackIndex].key;\n\n\t\t\tlet program: number;\n\n\t\t\tswitch (key) {\n\t\t\t\tcase 'vi':\n\t\t\t\tcase 'vi1':\n\t\t\t\tcase 'vi2':\n\t\t\t\t\tprogram = 40; // 小提įī\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'viola':\n\t\t\t\t\tprogram = 42; // äļ­æįī\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'vo':\n\t\t\t\t\tprogram = 55; // 合成䚚å̰\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'basso':\n\t\t\t\t\tprogram = 71; // åΧįŪĄäđå™Ļ\n\t\t\t\t\tbreak;\n\t\t\t\tdefault: // åΧé’Ēįī\n\t\t\t\t\tprogram = 0;\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tprogram, // éŸģč‰ēïžš0-127\n\t\t\t\tchannel: trackIndex, // 通道0-15\n\t\t\t\tname: score.instrumentDict[key] ?? 'Piano', // č―Ļé“åį§°\n\t\t\t\ttrack,\n\t\t\t};\n\t\t});\n\n\t\t// æ‰ū凚åĪ§č°ąčĄĻ所åœĻtrackå̰éƒĻæ đæŪåˆ†æ‰‹æĄäŧķæ‹†åˆ†äļšå·Ķåģ手\n\t\tif (partGroups.some((g) => g.group.grand)) {\n\t\t\tconst lhPattern = /l\\.?h\\.?|å·Ķ手|left hand/i;\n\t\t\tconst rhPattern = /r\\.?h\\.?|åģ手|right hand/i;\n\t\t\tconst instrus = Object.entries(score.instrumentDict)\n\t\t\t\t.filter(([key, value]) => lhPattern.test(value) || rhPattern.test(value))\n\t\t\t\t.map(([key, value]) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\thand: lhPattern.test(value) ? 'left' : 'right',\n\t\t\t\t\t};\n\t\t\t\t});\n\n\t\t\tlet handStaves: number[] = null;\n\t\t\tlet partIndex;\n\n\t\t\t// 标čŪ°äš†å·Ķåģ手\n\t\t\tif (instrus.length === 2 && instrus[0].hand !== instrus[1].hand) {\n\t\t\t\tconst left = instrus.find((x) => x.hand === 'left');\n\t\t\t\tconst right = instrus.find((x) => x.hand === 'right');\n\t\t\t\thandStaves = [score.staffLayout.staffIds.findIndex((x) => x === right?.key), score.staffLayout.staffIds.findIndex((x) => x === left?.key)];\n\n\t\t\t\tpartIndex = partGroups.findIndex((g) => g.range[0] <= Math.min(...handStaves) && g.range[1] >= Math.max(...handStaves));\n\t\t\t}\n\n\t\t\tif (Number.isFinite(partIndex) && partIndex > -1) {\n\t\t\t\tconst trackToSplit = mergedTracks[partIndex];\n\t\t\t\tconst newTracks: any[][] = []; // Array.from(new Set(firstTrack.track.map(x => x.channel))).sort((a, b) => a - b)\n\n\t\t\t\ttrackToSplit.track.forEach((evt) => {\n\t\t\t\t\tif (Number.isFinite(evt.staff)) {\n\t\t\t\t\t\tif (!newTracks[evt.staff]) {\n\t\t\t\t\t\t\tnewTracks[evt.staff] = [];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tnewTracks[evt.staff].push(evt);\n\t\t\t\t\t}\n\t\t\t\t\tif (evt.type === 'meta') {\n\t\t\t\t\t\tnewTracks.forEach((stave) => {\n\t\t\t\t\t\t\tstave.push(evt);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tmergedTracks.splice(partIndex, 1, newTracks.filter(Boolean).map((track) => ({ ...trackToSplit, track })) as any);\n\n\t\t\t\tmergedTracks = mergedTracks.flat();\n\n\t\t\t\t// 指åۚå·Ķåģ手track\n\t\t\t\tmidiJson.rightHandTrack = handStaves[0];\n\t\t\t\tmidiJson.leftHandTrack = handStaves[1];\n\t\t\t} else {\n\t\t\t\tmergedTracks.sort((a, b) => (a === mergedTracks[partIndex] ? -1 : 0));\n\t\t\t}\n\t\t}\n\n\t\tmidiJson.tracks = mergedTracks.map(({ program, channel, name }) => ({ program, channel, name }));\n\n\t\tconst transformedTracks = mergedTracks.map(({ track }) => {\n\t\t\tconst pitchMap: Map = new Map();\n\n\t\t\treturn track.map((evt) => {\n\t\t\t\tif (evt.subtype === 'noteOn') {\n\t\t\t\t\tpitchMap.set(evt.noteNumber, evt);\n\t\t\t\t}\n\n\t\t\t\tif (evt.subtype === 'noteOff') {\n\t\t\t\t\tconst onEvent = pitchMap.get(evt.noteNumber);\n\t\t\t\t\tif (onEvent?.noteNumber === evt.noteNumber) {\n\t\t\t\t\t\tonEvent.duration = evt.ticks - onEvent.ticks;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn evt;\n\t\t\t});\n\t\t});\n\n\t\tconst measureTickMap = new Map(Object.entries(midiJson.measures).map(([tick, m]) => [m.measure, +tick]));\n\n\t\tmidiJson.events = (transformedTracks as (MidiEvent & { duration: number; numId?: string; ticks: number })[][])\n\t\t\t.map((track, trackIndex) => {\n\t\t\t\treturn track\n\t\t\t\t\t.filter((x) => x.type === 'channel')\n\t\t\t\t\t.map((evt) => {\n\t\t\t\t\t\tif (evt?.ids?.[0]) {\n\t\t\t\t\t\t\tevt.numId = idsMap.get(evt.ids[0]);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet newEvent: [number, number, number] = [0, 0, 0];\n\n\t\t\t\t\t\tswitch (evt.subtype) {\n\t\t\t\t\t\t\tcase 'noteOn':\n\t\t\t\t\t\t\t\tnewEvent = [0x90 | evt.channel, evt.noteNumber, evt.velocity];\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'noteOff':\n\t\t\t\t\t\t\t\tnewEvent = [0x80 | evt.channel, evt.noteNumber, evt.velocity ? evt.velocity : 0];\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'noteAftertouch':\n\t\t\t\t\t\t\t\tnewEvent = [0xa0 | evt.channel, evt.noteNumber, evt.amount];\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'controller':\n\t\t\t\t\t\t\t\tnewEvent = [0xb0 | evt.channel, evt.controllerType, evt.value];\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'programChange':\n\t\t\t\t\t\t\t\tnewEvent = [0xc0 | evt.channel, evt.programNumber, 0];\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'channelAftertouch':\n\t\t\t\t\t\t\t\tnewEvent = [0xd0 | evt.channel, evt.amount, 0];\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'pitchBend':\n\t\t\t\t\t\t\t\tnewEvent = [0xe0 | evt.channel, evt.value & 0xff, (evt.value >> 7) & 0xff];\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\tthrow new Error('unhandled event subtype:' + evt.subtype);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...(evt.subtype === 'noteOn' ? { id: idsMap.get(evt?.ids?.[0]) } : {}), // åŊđåš”įŽĶåĪīįš„id\n\t\t\t\t\t\t\ttick: evt.ticks,\n\t\t\t\t\t\t\tchannel: evt.channel,\n\t\t\t\t\t\t\tduration: evt.duration, // 及有note on之äŧķæœ‰æ—ķ倞\n\t\t\t\t\t\t\ttrack: trackIndex, // evt.staffTrack, // æ‰€åąžtrack\n\t\t\t\t\t\t\tevent: newEvent, // [event, note, velocity]\n\t\t\t\t\t\t\telem_ids: evt?.ids.map((id) => idsMap.get(id)),\n\t\t\t\t\t\t\tmeasure: evt.measure - 1, // æ‰€åąžå°čŠ‚įž–å·\n\t\t\t\t\t\t\tmeas_start_tick: measureTickMap.get(evt.measure - 1), // æ‰€åąžå°čŠ‚čĩ·å§‹tick\n\t\t\t\t\t\t\tstaff: idStaffIndexMap.get(evt.ids[0]),\n\t\t\t\t\t\t\tnote: idNoteMap.get(evt.ids[0]),\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t})\n\t\t\t.flat(1)\n\t\t\t.sort((a, b) => {\n\t\t\t\tfor (const field of ['tick', 'measure', 'track']) {\n\t\t\t\t\tif (a[field] !== b[field]) {\n\t\t\t\t\t\treturn a[field] - b[field];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn 0;\n\t\t\t});\n\t}\n\n\treturn {\n\t\tscoreJson,\n\t\tmidiJson,\n\t};\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","import { EventEmitter } from 'events';\n\ninterface DSPromiseOption {\n\ttimeout?: number;\n}\n\nexport function destructPromise(\n\toptions: DSPromiseOption = {}\n): [promise: Promise, resolve: (value: T | PromiseLike) => void, reject: (reason?: any) => void] {\n\tconst { timeout } = options;\n\tlet rs: (value: T | PromiseLike) => void;\n\tlet rj: (reason: any) => void;\n\n\treturn [\n\t\tnew Promise((resolve, reject) => {\n\t\t\trs = resolve;\n\t\t\trj = reject;\n\n\t\t\tif (timeout >= 0) setTimeout(rj, timeout, 'timeout');\n\t\t}),\n\t\trs,\n\t\trj,\n\t];\n}\n\ntype AsyncTask = [fn: (data: any) => Promise, payload: any, resolve: (data: any) => void, reject: (reason: any) => void];\n\nexport class AsyncQueue extends EventEmitter {\n\tprivate working = false;\n\n\ttasks: AsyncTask[];\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.working = false;\n\t\tthis.tasks = [];\n\t\tprocess.nextTick(() => {\n\t\t\tthis.emit('idle');\n\t\t});\n\t}\n\n\tprivate async _digest(item: AsyncTask) {\n\t\tthis.working = true;\n\n\t\tconst [taskFn, payload, resolve, reject] = item;\n\t\tawait taskFn(payload).then(resolve, reject);\n\n\t\tif (this.tasks.length > 0) {\n\t\t\tawait this._digest(this.tasks.shift());\n\t\t} else {\n\t\t\tthis.working = false;\n\t\t\tthis.emit('idle');\n\t\t}\n\t}\n\n\t/**\n\t * æ·ŧ加队列äŧŧåŠĄ\n\t * @param task\n\t * @param options\n\t */\n\taddTask(task: [AsyncTask[0], AsyncTask[1]], { timeout = 600000 }: { timeout?: number } = {}): Promise {\n\t\tconst [promise, resolve, reject] = destructPromise({ timeout });\n\n\t\tif (this.working) {\n\t\t\tthis.tasks.push([...task, resolve, reject]);\n\t\t} else {\n\t\t\tthis._digest([...task, resolve, reject]);\n\t\t}\n\n\t\treturn promise;\n\t}\n}\n","import { pack, unpack } from 'msgpackr';\nimport { Request } from 'zeromq';\nimport { AsyncQueue } from './async-queue';\n\ninterface Response {\n\tcode: number;\n\tmsg: string;\n\tdata?: any;\n}\n\nexport interface Logger {\n\tinfo: (...data: any[]) => void;\n\terror: (...data: any[]) => void;\n}\n\ntype PyArgs = any[];\ntype PyKwargs = Record;\n\nexport default class ZeroClient {\n\tlogger: Logger;\n\tprivate socket: Request;\n\tprivate queue: AsyncQueue = new AsyncQueue();\n\n\tprivate url: string;\n\n\tconstructor(logger: Logger = console) {\n\t\tthis.logger = logger;\n\t}\n\n\tbind(url?: string) {\n\t\turl && (this.url = url);\n\t\tthis.socket = new Request({\n\t\t\tsendTimeout: 15e3,\n\t\t\treceiveTimeout: 300e3,\n\t\t});\n\n\t\tthis.socket.connect(this.url);\n\t}\n\n\tprivate __request(payload) {\n\t\tlet retryTimes = 0;\n\n\t\tconst req = async (data) => {\n\t\t\ttry {\n\t\t\t\tif (this.socket.closed) this.bind();\n\t\t\t\treturn await this.socket.send(pack(data)).then(() => this.socket.receive());\n\t\t\t} catch (err) {\n\t\t\t\tif (retryTimes < 2) {\n\t\t\t\t\tretryTimes++;\n\t\t\t\t\tconsole.log(`čŊ·æą‚åĪąčīĨ${err.stack}`);\n\t\t\t\t\tconsole.error(`3s后重čŊ•įŽŽ${retryTimes}æŽĄ`);\n\t\t\t\t\tthis.socket.close();\n\t\t\t\t\tawait new Promise((resolve) => setTimeout(resolve, 3000));\n\t\t\t\t\treturn req(data);\n\t\t\t\t} else {\n\t\t\t\t\tthrow err;\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\treturn req(payload);\n\t}\n\n\tasync request(method: string, args: PyArgs | PyKwargs = null, kwargs: PyKwargs = null): Promise {\n\t\tconst [args_, kwargs_] = Array.isArray(args) ? [args, kwargs] : [undefined, args];\n\t\tconst msg: any = { method };\n\t\tif (args_) msg.args = args_;\n\t\tif (kwargs_) msg.kwargs = kwargs_;\n\n\t\treturn this.queue.addTask([\n\t\t\tasync (opt) => {\n\t\t\t\tconst [result] = await this.__request(opt);\n\n\t\t\t\tconst obj = unpack(result) as Response;\n\n\t\t\t\tif (obj.code === 0) {\n\t\t\t\t\treturn obj.data;\n\t\t\t\t} else {\n\t\t\t\t\treturn Promise.reject(obj.msg);\n\t\t\t\t}\n\t\t\t},\n\t\t\tmsg,\n\t\t]);\n\t}\n}\n","import { getPortPromise } from 'portfinder';\nimport { Options, PythonShell } from 'python-shell';\nimport { defaultsDeep } from 'lodash';\nimport ZeroClient, { Logger } from './ZeroClient';\n\nexport default class PyProcessor extends ZeroClient {\n\tprivate readonly scriptPath: string;\n\tprivate readonly options: Options;\n\tprivate pyShell: PythonShell;\n\n\tprivate retryCount: number = 0;\n\tprivate retryDelay: number = 3000;\n\n\tconstructor(scriptPath: string, options: Options = {}, logger: Logger = console) {\n\t\tsuper(logger);\n\t\tthis.scriptPath = scriptPath;\n\t\tthis.options = options;\n\t}\n\n\tasync bind(port?: string | number) {\n\t\tconst freePort =\n\t\t\tport ||\n\t\t\t(await getPortPromise({\n\t\t\t\tport: 12022,\n\t\t\t\tstopPort: 12122,\n\t\t\t}));\n\n\t\t// \"./streamPredictor.py\", \"--inspect\"\n\t\tconst options = defaultsDeep(\n\t\t\t{\n\t\t\t\targs: [...(this.options.args || []), '-p', `${freePort}`],\n\t\t\t},\n\t\t\tthis.options\n\t\t);\n\n\t\tthis.logger.info(`[python-shell]: starting python shell. path: ${this.scriptPath}`);\n\n\t\tthis.pyShell = new PythonShell(this.scriptPath, options);\n\n\t\tthis.pyShell.stdout.on('data', (data) => this.logger.info(data));\n\n\t\tthis.pyShell.on('pythonError', (err) => this.logger.error(`[python-shell]: ${this.scriptPath} pythonError:`, err));\n\t\tthis.pyShell.on('stderr', (err) => this.logger.error(`[python-shell]: ${this.scriptPath} stderr:`, err));\n\t\tthis.pyShell.on('error', (err) => this.logger.error(`[python-shell]: ${this.scriptPath} error:`, err));\n\t\tthis.pyShell.on('close', () => {\n\t\t\t// python子čŋ›įĻ‹å…ģ闭之äŧķ\n\t\t\tif (this.retryCount < 5) {\n\t\t\t\tthis.retryCount++;\n\t\t\t\tthis.logger.info(`[python-shell]: ${this.scriptPath} will retry ${this.retryCount}th time after 3 seconds`);\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.bind();\n\t\t\t\t}, this.retryDelay);\n\t\t\t}\n\t\t});\n\n\t\tsuper.bind(`tcp://127.0.0.1:${freePort}`);\n\t}\n}\n","module.exports = function isBuffer(arg) {\n return arg instanceof Buffer;\n}\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n}\n","try {\n var util = require('util');\n if (typeof util.inherits !== 'function') throw '';\n module.exports = util.inherits;\n} catch (e) {\n module.exports = require('./inherits_browser.js');\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||\n function getOwnPropertyDescriptors(obj) {\n var keys = Object.keys(obj);\n var descriptors = {};\n for (var i = 0; i < keys.length; i++) {\n descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n }\n return descriptors;\n };\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n if (typeof process !== 'undefined' && process.noDeprecation === true) {\n return fn;\n }\n\n // Allow for deprecating things in the process of starting up.\n if (typeof process === 'undefined') {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnviron;\nexports.debuglog = function(set) {\n if (isUndefined(debugEnviron))\n debugEnviron = process.env.NODE_DEBUG || '';\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (new RegExp('\\\\b' + set + '\\\\b', 'i').test(debugEnviron)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').substr(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nvar kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;\n\nexports.promisify = function promisify(original) {\n if (typeof original !== 'function')\n throw new TypeError('The \"original\" argument must be of type Function');\n\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== 'function') {\n throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n }\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return fn;\n }\n\n function fn() {\n var promiseResolve, promiseReject;\n var promise = new Promise(function (resolve, reject) {\n promiseResolve = resolve;\n promiseReject = reject;\n });\n\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n args.push(function (err, value) {\n if (err) {\n promiseReject(err);\n } else {\n promiseResolve(value);\n }\n });\n\n try {\n original.apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n\n return promise;\n }\n\n Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n\n if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return Object.defineProperties(\n fn,\n getOwnPropertyDescriptors(original)\n );\n}\n\nexports.promisify.custom = kCustomPromisifiedSymbol\n\nfunction callbackifyOnRejected(reason, cb) {\n // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n // Because `null` is a special error value in callbacks which means \"no error\n // occurred\", we error-wrap so the callback consumer can distinguish between\n // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n if (!reason) {\n var newReason = new Error('Promise was rejected with a falsy value');\n newReason.reason = reason;\n reason = newReason;\n }\n return cb(reason);\n}\n\nfunction callbackify(original) {\n if (typeof original !== 'function') {\n throw new TypeError('The \"original\" argument must be of type Function');\n }\n\n // We DO NOT return the promise as it gives the user a false sense that\n // the promise is actually somehow related to the callback's execution\n // and that the callback throwing will reject the promise.\n function callbackified() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n var maybeCb = args.pop();\n if (typeof maybeCb !== 'function') {\n throw new TypeError('The last argument must be of type Function');\n }\n var self = this;\n var cb = function() {\n return maybeCb.apply(self, arguments);\n };\n // In true node style we process the callback on `nextTick` with all the\n // implications (stack, `uncaughtException`, `async_hooks`)\n original.apply(this, args)\n .then(function(ret) { process.nextTick(cb, null, ret) },\n function(rej) { process.nextTick(callbackifyOnRejected, rej, cb) });\n }\n\n Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n Object.defineProperties(callbackified,\n getOwnPropertyDescriptors(original));\n return callbackified;\n}\nexports.callbackify = callbackify;\n","import ZeroClient, { Logger } from './ZeroClient';\nimport * as starry from '../../src/starry';\nimport PyProcessor from './PyProcessor';\nimport { destructPromise } from './async-queue';\nimport { getPort } from 'portfinder';\nimport util from 'util';\nimport { Options } from 'python-shell';\n\nconst getPortPromise = util.promisify(getPort);\n\nexport interface LayoutResult {\n\tdetection: starry.PageLayout;\n\ttheta: number;\n\tinterval: number;\n\tsourceSize?: {\n\t\twidth: number;\n\t\theight: number;\n\t};\n}\n\nexport interface PredictorInterface {\n\tlayout: (streams: Buffer[]) => LayoutResult[];\n\tlayout$reinforce: (streams: Buffer[], baseLayouts: LayoutResult[]) => LayoutResult[];\n\tgauge: (streams: Buffer[]) => {\n\t\timage: Buffer;\n\t}[];\n\tmask: (streams: Buffer[]) => {\n\t\timage: Buffer;\n\t}[];\n\tsemantic: (streams: Buffer[]) => any[];\n\ttextLoc: (streams: Buffer[]) => any[];\n\ttextOcr: (params: { buffers: Buffer[]; location: any[] }) => any[];\n\tbrackets: (params: { buffers: Buffer[] }) => any[];\n\ttopo: (params: { clusters: starry.EventCluster[] }) => any[];\n\tgaugeRenderer: (params: [Buffer, Buffer, number]) => { buffer: Buffer; size: { width: number; height: number } };\n\tjianpu: (params: { buffers: Buffer[] }) => any[];\n\t// [source: Buffer, gauge: Buffer, baseY: number]\n}\n\ntype PredictorType = keyof PredictorInterface;\n\nexport type PyClientsConstructOptions = Partial>;\n\nexport class PyClients {\n\tclients = new Map>();\n\n\tconstructor(public readonly options: PyClientsConstructOptions, public readonly logger: Logger = console) {}\n\n\tasync getClient(type: PredictorType) {\n\t\tif (this.clients.has(type)) {\n\t\t\treturn this.clients.get(type);\n\t\t}\n\n\t\tconst [promise, resolve, reject] = destructPromise();\n\n\t\tconst opt = this.options[type];\n\n\t\tif (!opt) {\n\t\t\tthrow new Error(`no config for client \\`${type}\\` found`);\n\t\t}\n\n\t\ttry {\n\t\t\tif (typeof opt === 'string') {\n\t\t\t\tconst client = new ZeroClient();\n\t\t\t\tclient.bind(opt);\n\t\t\t\tresolve(client);\n\t\t\t} else {\n\t\t\t\tconst { scriptPath, ...option } = opt;\n\t\t\t\tconst client = new PyProcessor(scriptPath, option, this.logger);\n\t\t\t\tawait client.bind(`${await getPortPromise()}`);\n\t\t\t\tresolve(client);\n\t\t\t}\n\n\t\t\tthis.logger.info(`PyClients: ${type} started`);\n\t\t} catch (err) {\n\t\t\tthis.logger.error(`PyClients: ${type} start fail: ${JSON.stringify(err)}`);\n\t\t\treject(err);\n\t\t}\n\n\t\tthis.clients.set(type, promise);\n\n\t\treturn promise;\n\t}\n\n\tasync checkHost(type: PredictorType): Promise {\n\t\tconst client = await this.getClient(type);\n\n\t\treturn client.request('checkHost');\n\t}\n\n\tasync warmup() {\n\t\tconst opts = Object.keys(this.options) as PredictorType[];\n\t\tawait Promise.all(opts.map((type) => this.getClient(type)));\n\t}\n\n\t/**\n\t * æĻĄåž‹éĒ„æĩ‹\n\t * @param type layout | mask | gauge | semantic\n\t * @param args\n\t */\n\tasync predictScoreImages(type: T, ...args: Parameters): Promise> {\n\t\tconst clientType = type.split('$')[0] as PredictorType;\n\t\tconst client = await this.getClient(clientType);\n\t\tlet res = null;\n\n\t\tthis.logger.info(`[predictor]: ${type} py start..`);\n\t\tconst start = Date.now();\n\n\t\tswitch (type) {\n\t\t\tcase 'layout':\n\t\t\t\tres = await client.request('predictDetection', args);\n\t\t\t\tbreak;\n\t\t\tcase 'layout$reinforce':\n\t\t\t\tres = await client.request('predictReinforce', args);\n\t\t\t\tbreak;\n\t\t\tcase 'gauge':\n\t\t\tcase 'mask':\n\t\t\t\tres = await client.request('predict', args, { by_buffer: true });\n\t\t\t\tbreak;\n\t\t\tcase 'semantic':\n\t\t\tcase 'textLoc':\n\t\t\t\tres = await client.request('predict', args);\n\t\t\t\tbreak;\n\t\t\tcase 'textOcr':\n\t\t\tcase 'brackets':\n\t\t\tcase 'topo':\n\t\t\tcase 'gaugeRenderer':\n\t\t\tcase 'jianpu':\n\t\t\t\tres = await client.request('predict', ...args);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthis.logger.error(`[predictor]: no predictor ${type}`);\n\t\t}\n\n\t\tthis.logger.info(`[predictor]: ${type} py duration: ${Date.now() - start}ms`);\n\n\t\treturn res;\n\t}\n}\n","(function() {\n var base64map\n = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\n\n crypt = {\n // Bit-wise rotation left\n rotl: function(n, b) {\n return (n << b) | (n >>> (32 - b));\n },\n\n // Bit-wise rotation right\n rotr: function(n, b) {\n return (n << (32 - b)) | (n >>> b);\n },\n\n // Swap big-endian to little-endian and vice versa\n endian: function(n) {\n // If number given, swap endian\n if (n.constructor == Number) {\n return crypt.rotl(n, 8) & 0x00FF00FF | crypt.rotl(n, 24) & 0xFF00FF00;\n }\n\n // Else, assume array and swap all items\n for (var i = 0; i < n.length; i++)\n n[i] = crypt.endian(n[i]);\n return n;\n },\n\n // Generate an array of any length of random bytes\n randomBytes: function(n) {\n for (var bytes = []; n > 0; n--)\n bytes.push(Math.floor(Math.random() * 256));\n return bytes;\n },\n\n // Convert a byte array to big-endian 32-bit words\n bytesToWords: function(bytes) {\n for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)\n words[b >>> 5] |= bytes[i] << (24 - b % 32);\n return words;\n },\n\n // Convert big-endian 32-bit words to a byte array\n wordsToBytes: function(words) {\n for (var bytes = [], b = 0; b < words.length * 32; b += 8)\n bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a hex string\n bytesToHex: function(bytes) {\n for (var hex = [], i = 0; i < bytes.length; i++) {\n hex.push((bytes[i] >>> 4).toString(16));\n hex.push((bytes[i] & 0xF).toString(16));\n }\n return hex.join('');\n },\n\n // Convert a hex string to a byte array\n hexToBytes: function(hex) {\n for (var bytes = [], c = 0; c < hex.length; c += 2)\n bytes.push(parseInt(hex.substr(c, 2), 16));\n return bytes;\n },\n\n // Convert a byte array to a base-64 string\n bytesToBase64: function(bytes) {\n for (var base64 = [], i = 0; i < bytes.length; i += 3) {\n var triplet = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];\n for (var j = 0; j < 4; j++)\n if (i * 8 + j * 6 <= bytes.length * 8)\n base64.push(base64map.charAt((triplet >>> 6 * (3 - j)) & 0x3F));\n else\n base64.push('=');\n }\n return base64.join('');\n },\n\n // Convert a base-64 string to a byte array\n base64ToBytes: function(base64) {\n // Remove non-base-64 characters\n base64 = base64.replace(/[^A-Z0-9+\\/]/ig, '');\n\n for (var bytes = [], i = 0, imod4 = 0; i < base64.length;\n imod4 = ++i % 4) {\n if (imod4 == 0) continue;\n bytes.push(((base64map.indexOf(base64.charAt(i - 1))\n & (Math.pow(2, -2 * imod4 + 8) - 1)) << (imod4 * 2))\n | (base64map.indexOf(base64.charAt(i)) >>> (6 - imod4 * 2)));\n }\n return bytes;\n }\n };\n\n module.exports = crypt;\n})();\n","var charenc = {\n // UTF-8 encoding\n utf8: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n return charenc.bin.stringToBytes(unescape(encodeURIComponent(str)));\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n return decodeURIComponent(escape(charenc.bin.bytesToString(bytes)));\n }\n },\n\n // Binary encoding\n bin: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n for (var bytes = [], i = 0; i < str.length; i++)\n bytes.push(str.charCodeAt(i) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n for (var str = [], i = 0; i < bytes.length; i++)\n str.push(String.fromCharCode(bytes[i]));\n return str.join('');\n }\n }\n};\n\nmodule.exports = charenc;\n","(function() {\n var crypt = require('crypt'),\n utf8 = require('charenc').utf8,\n bin = require('charenc').bin,\n\n // The core\n sha1 = function (message) {\n // Convert to byte array\n if (message.constructor == String)\n message = utf8.stringToBytes(message);\n else if (typeof Buffer !== 'undefined' && typeof Buffer.isBuffer == 'function' && Buffer.isBuffer(message))\n message = Array.prototype.slice.call(message, 0);\n else if (!Array.isArray(message))\n message = message.toString();\n\n // otherwise assume byte array\n\n var m = crypt.bytesToWords(message),\n l = message.length * 8,\n w = [],\n H0 = 1732584193,\n H1 = -271733879,\n H2 = -1732584194,\n H3 = 271733878,\n H4 = -1009589776;\n\n // Padding\n m[l >> 5] |= 0x80 << (24 - l % 32);\n m[((l + 64 >>> 9) << 4) + 15] = l;\n\n for (var i = 0; i < m.length; i += 16) {\n var a = H0,\n b = H1,\n c = H2,\n d = H3,\n e = H4;\n\n for (var j = 0; j < 80; j++) {\n\n if (j < 16)\n w[j] = m[i + j];\n else {\n var n = w[j - 3] ^ w[j - 8] ^ w[j - 14] ^ w[j - 16];\n w[j] = (n << 1) | (n >>> 31);\n }\n\n var t = ((H0 << 5) | (H0 >>> 27)) + H4 + (w[j] >>> 0) + (\n j < 20 ? (H1 & H2 | ~H1 & H3) + 1518500249 :\n j < 40 ? (H1 ^ H2 ^ H3) + 1859775393 :\n j < 60 ? (H1 & H2 | H1 & H3 | H2 & H3) - 1894007588 :\n (H1 ^ H2 ^ H3) - 899497514);\n\n H4 = H3;\n H3 = H2;\n H2 = (H1 << 30) | (H1 >>> 2);\n H1 = H0;\n H0 = t;\n }\n\n H0 += a;\n H1 += b;\n H2 += c;\n H3 += d;\n H4 += e;\n }\n\n return [H0, H1, H2, H3, H4];\n },\n\n // Public API\n api = function (message, options) {\n var digestbytes = crypt.wordsToBytes(sha1(message));\n return options && options.asBytes ? digestbytes :\n options && options.asString ? bin.bytesToString(digestbytes) :\n crypt.bytesToHex(digestbytes);\n };\n\n api._blocksize = 16;\n api._digestsize = 20;\n\n module.exports = api;\n})();\n","import SparkMD5 from 'spark-md5';\n//import JSZip from 'jszip';\nimport * as starry from '../../src/starry';\n//import { encodeFindResource } from '../../src/isomorphic/converter';\nimport sharp, { FormatEnum } from 'sharp';\nimport got from 'got';\n//import { Logger } from './ZeroClient';\nimport type { SolutionStore, SaveIssueMeasure } from './store';\nimport { ScoreJSON } from '../../src/isomorphic/types';\n\nconst SYSTEM_MARGIN = 4;\n\nexport const constructSystem = ({ page, backgroundImage, detection, imageSize, position }) => {\n\tconst systemWidth = (detection.phi2 - detection.phi1) / detection.interval;\n\tconst systemHeight = imageSize.height / detection.interval;\n\n\tconst lastSystem = page.systems[page.systems.length - 1];\n\tconst top = position ? position.y : (lastSystem ? lastSystem.top + lastSystem.height : 0) + SYSTEM_MARGIN;\n\tconst left = position ? position.x : SYSTEM_MARGIN;\n\n\tconst stavesTops = [\n\t\t0,\n\t\t...Array(detection.middleRhos.length - 1)\n\t\t\t.fill(0)\n\t\t\t.map((_, i) => (detection.middleRhos[i] + detection.middleRhos[i + 1]) / 2 / detection.interval),\n\t];\n\n\tconst measureBars = [systemWidth];\n\n\tconst staves = stavesTops.map(\n\t\t(top, i) =>\n\t\t\tnew starry.Staff({\n\t\t\t\ttop,\n\t\t\t\theight: (stavesTops[i + 1] || systemHeight) - top,\n\t\t\t\tstaffY: detection.middleRhos[i] / detection.interval - top,\n\t\t\t\tmeasureBars,\n\t\t\t})\n\t);\n\n\t//console.log(\"detection:\", detection, options, stavesTops);\n\n\tconst imagePosition = {\n\t\tx: -detection.phi1 / detection.interval,\n\t\ty: 0,\n\t\twidth: imageSize.width / detection.interval,\n\t\theight: imageSize.height / detection.interval,\n\t};\n\n\treturn new starry.System({\n\t\tstaves,\n\t\tleft,\n\t\ttop,\n\t\twidth: systemWidth,\n\t\tbackgroundImage,\n\t\timagePosition,\n\t\tmeasureBars,\n\t});\n};\n\nexport interface ConvertOption {\n\tformat?: keyof FormatEnum;\n\tquality?: number;\n\tmaxHeight?: number;\n}\n\nconst toBuffer = async (url: string | Buffer): Promise => {\n\tif (typeof url === 'string') {\n\t\tif (/^https?:\\/\\//.test(url)) {\n\t\t\treturn (await got(url, { responseType: 'buffer', decompress: true, https: { rejectUnauthorized: false } })).body;\n\t\t}\n\n\t\tif (/^data:image\\//.test(url)) {\n\t\t\treturn Buffer.from(url.split(',')[1], 'base64');\n\t\t}\n\n\t\treturn Buffer.from(url);\n\t}\n\n\treturn url;\n};\n\n/**\n * č―ŽæĒå›ūį‰‡æ žåžïžŒéŧ˜čŪĪwebp、最åΧéŦ˜åšĶ1080éŦ˜åšĶ小䚎1080臩åŠĻäļåšå°šåŊļ变æĒ\n * @param url\n * @param format\n * @param maxHeight\n * @param quality\n */\nexport async function convertImage(url: string | Buffer, { format = 'webp', maxHeight = 1080, quality = 80 }: ConvertOption = {}) {\n\tlet buf = await toBuffer(url);\n\n\tconst webpBuffer = await new Promise((resolve) => {\n\t\tsharp(buf)\n\t\t\t.resize({\n\t\t\t\twidth: maxHeight,\n\t\t\t\theight: maxHeight,\n\t\t\t\tfit: 'inside',\n\t\t\t\twithoutEnlargement: true,\n\t\t\t})\n\t\t\t.toFormat(format, { quality })\n\t\t\t.toBuffer((err, buf) => {\n\t\t\t\tresolve(buf);\n\t\t\t});\n\t});\n\n\tconst md5 = SparkMD5.ArrayBuffer.hash(webpBuffer);\n\n\treturn {\n\t\tbuffer: webpBuffer,\n\t\tfilename: `${md5}.${format}`,\n\t};\n}\n\n/**\n * æ›ŋæĒscoreJsonå›ūį‰‡åœ°å€\n * @param scoreJson\n * @param onReplaceImage\n */\nexport const replaceScoreJsonImages = (scoreJson: ScoreJSON, onReplaceImage: (src: string) => string = (src) => src) => {\n\tconst json = JSON.parse(JSON.stringify(scoreJson));\n\n\tjson.pages.forEach((page) => {\n\t\tpage?.src && (page.src = onReplaceImage(page?.src));\n\t});\n\n\tjson.lines.forEach((system) => {\n\t\tsystem.lineStaves.forEach((line) => {\n\t\t\tline.imgs.forEach((staff) => {\n\t\t\t\tstaff?.src && (staff.src = onReplaceImage(staff.src));\n\t\t\t});\n\t\t});\n\t});\n\n\treturn json;\n};\n\n/**\n * čŽ·å–scoreJsonå›ūቇčĩ„暐列čĄĻ\n * @param scoreJson\n */\nexport const getScoreJsonImages = (scoreJson: ScoreJSON) => {\n\treturn [\n\t\t...scoreJson.pages.map((page) => page?.src),\n\t\t...scoreJson.lines\n\t\t\t.map((system) => system.lineStaves.map((staff) => staff.imgs))\n\t\t\t.flat(2)\n\t\t\t.map((staff) => staff?.src)\n\t\t\t.filter(Boolean),\n\t];\n};\n\ninterface ScorePatchesUpdateOptions {\n\tsolutionStore?: SolutionStore;\n}\n\nexport const updateScorePatches = (score: starry.Score, measures: starry.SpartitoMeasure[], options: ScorePatchesUpdateOptions = {}): void => {\n\tconsole.assert(\n\t\tmeasures.every((measure) => measure.validRegulated),\n\t\t'[updateScorePatches] some measures not valid regulated:',\n\t\tmeasures.filter((measure) => !measure.validRegulated)\n\t);\n\n\tscore.patches = measures.map((measure) => measure.createPatch());\n\n\tif (options?.solutionStore) {\n\t\tscore.assemble();\n\t\tconst spartito = score.makeSpartito();\n\n\t\tmeasures.forEach((measure) => {\n\t\t\toptions.solutionStore!.set(measure.regulationHash, { ...measure.asSolution(), priority: 1 });\n\t\t\tif (measure.regulationHash0 !== measure.regulationHash) {\n\t\t\t\tconst originMeasure = spartito.measures.find((m) => m.measureIndex === measure.measureIndex);\n\t\t\t\toptions.solutionStore!.set(measure.regulationHash0, { ...measure.asSolution(originMeasure), priority: 1 });\n\t\t\t}\n\t\t});\n\t}\n};\n\ninterface EditableMeasuresSaveOptions {\n\tstatus?: number;\n\tsolutionStore?: SolutionStore;\n}\n\nexport const saveEditableMeasures = async (\n\tscore: starry.Score,\n\tmeasureIndices: number[],\n\tsaveMeasure: SaveIssueMeasure,\n\t{ status = 2, solutionStore }: EditableMeasuresSaveOptions = {}\n): Promise => {\n\tscore.assemble();\n\tconst spartito = score.spartito || score.makeSpartito();\n\n\tconst measures = measureIndices\n\t\t.map((index) => spartito.measures.find((measure) => measure.measureIndex === index))\n\t\t.filter(Boolean) as starry.SpartitoMeasure[];\n\n\tif (solutionStore) {\n\t\tconst solutions = await solutionStore.batchGet(measures.map((measure) => measure.regulationHash0));\n\t\tmeasures.forEach((measure, i) => {\n\t\t\tconst solution = solutions[i];\n\t\t\tif (solution) measure.applySolution(solution);\n\t\t});\n\t}\n\n\tmeasures.forEach((measure) => {\n\t\tsaveMeasure({\n\t\t\tmeasureIndex: measure.measureIndex,\n\t\t\tmeasure: new starry.EditableMeasure(measure),\n\t\t\tstatus,\n\t\t});\n\t});\n};\n","import sha1 from 'sha1';\nimport { Canvas, Image, loadImage } from 'skia-canvas';\nimport { WeakLRUCache } from 'weak-lru-cache';\nimport * as starry from '../../src/starry';\nimport { SemanticGraph } from '../../src/starry';\nimport { LayoutResult, PyClients } from './predictors';\nimport { constructSystem, convertImage } from './util';\n\nglobalThis.OffscreenCanvas = (globalThis as any).OffscreenCanvas || Canvas;\n(globalThis as any).Image = (globalThis as any).Image || Image;\nglobalThis.btoa = globalThis.btoa || ((str: string) => Buffer.from(str, 'binary').toString('base64'));\n\nconst STAFF_PADDING_LEFT = 32;\n\nconst MAX_PAGE_WIDTH = 1200;\n\nconst GAUGE_VISION_SPEC = {\n\tviewportHeight: 256,\n\tviewportUnit: 8,\n};\n\nconst MASK_VISION_SPEC = {\n\tviewportHeight: 192,\n\tviewportUnit: 8,\n};\n\nconst SEMANTIC_VISION_SPEC = {\n\tviewportHeight: 192,\n\tviewportUnit: 8,\n};\n\ninterface OMRStat {\n\tcost: number; // in milliseconds\n\tpagesCost: number; // in milliseconds\n\tpages: number;\n}\n\ninterface OMRSummary {\n\tcostTotal: number; // in milliseconds\n\tcostPerPage: number; // in milliseconds\n\tpagesTotal: number;\n\tscoreN: number;\n}\n\n/**\n * äļšåļƒåą€čŊ†åˆŦįš„å›ūį‰‡æ ‡å‡†åŒ–å΄ᐆ\n * @param image\n * @param width\n */\nfunction scaleForLayout(image: Image, width: number): Canvas {\n\tlet height = (image.height / image.width) * width;\n\n\tconst canvas = new Canvas(width, height);\n\tconst ctx = canvas.getContext('2d');\n\n\tctx.drawImage(image, 0, 0, width, (width * image.height) / image.width);\n\n\treturn canvas;\n}\n\n/**\n * æ đæŪ所有å›ūåƒįš„æĢ€æĩ‹įŧ“æžœčŪūį―Ūåˆé€‚įš„å…Ļåą€éĄĩéĒå°šåŊļ\n * @param score\n * @param detections\n * @param outputWidth\n */\nfunction setGlobalPageSize(score: starry.Score, detections: LayoutResult[], outputWidth: number) {\n\tconst sizeRatios = detections\n\t\t.filter((s) => s && s.detection && s.detection.areas?.length)\n\t\t.map((v, k) => {\n\t\t\tconst staffInterval = Math.min(...v.detection.areas.filter((area) => area.staves?.middleRhos?.length).map((x) => x.staves.interval));\n\n\t\t\tconst sourceSize = v.sourceSize;\n\t\t\treturn {\n\t\t\t\t...v,\n\t\t\t\tindex: k,\n\t\t\t\tvw: sourceSize.width / staffInterval, // éĄĩéĒåŪ―åšĶé€ŧčū‘å•ä―ïž‰\n\t\t\t\thwr: sourceSize.height / sourceSize.width, // éĄĩéĒéŦ˜åŪ―æŊ”\n\t\t\t};\n\t\t});\n\n\tif (!sizeRatios.length) {\n\t\tthrow new Error('empty result');\n\t}\n\n\tconst maxVW = sizeRatios.sort((a, b) => b.vw - a.vw)[0];\n\tconst maxAspect = Math.max(...sizeRatios.map((r) => r.hwr));\n\n\tscore.unitSize = outputWidth / maxVW.vw;\n\n\t// éĄĩéĒæ˜ūįĪšå°šåŊļ\n\tscore.pageSize = {\n\t\twidth: outputWidth,\n\t\theight: outputWidth * maxAspect,\n\t};\n}\n\nconst batchTask = (fn: () => Promise) => fn();\nconst concurrencyTask = (fns: (() => Promise)[]) => Promise.all(fns.map((fn) => fn()));\n\nconst shootStaffImage = async (\n\tsystem: starry.System,\n\tstaffIndex: number,\n\t{ paddingLeft = 0, scaling = 1, spec }: { paddingLeft?: number; scaling?: number; spec: { viewportHeight: number; viewportUnit: number } }\n): Promise => {\n\tif (!system || !system.backgroundImage) return null;\n\n\tconst staff = system.staves[staffIndex];\n\tif (!staff) return null;\n\n\tconst middleUnits = spec.viewportHeight / spec.viewportUnit / 2;\n\n\tconst width = system.imagePosition.width * spec.viewportUnit;\n\tconst height = system.imagePosition.height * spec.viewportUnit;\n\tconst x = system.imagePosition.x * spec.viewportUnit + paddingLeft;\n\tconst y = (system.imagePosition.y - (staff.top + staff.staffY - middleUnits)) * spec.viewportUnit;\n\n\tconst canvas = new Canvas(Math.round(width + x) * scaling, spec.viewportHeight * scaling);\n\tconst context = canvas.getContext('2d');\n\tcontext.fillStyle = 'white';\n\tcontext.fillRect(0, 0, canvas.width, canvas.height);\n\tcontext.drawImage(await loadImage(system.backgroundImage), x * scaling, y * scaling, width * scaling, height * scaling);\n\n\treturn canvas;\n\t// .substr(22);\t// remove the prefix of 'data:image/png;base64,'\n};\n\n/**\n * æ đæŪåļƒåą€æĢ€æĩ‹įŧ“æžœčŋ›čĄŒæˆŠå›ū\n * @param score\n * @param pageCanvas\n * @param page\n * @param detection\n */\nasync function shootImageByDetection({\n\tpage,\n\tscore,\n\tpageCanvas,\n}: {\n\tscore: starry.Score;\n\tpage: starry.Page;\n\tpageCanvas: Canvas; // 原始å›ūቇįŧ˜åˆķåĨ―įš„canvas\n}) {\n\tif (!page?.layout?.areas?.length) {\n\t\treturn null;\n\t}\n\n\tpage.width = score.pageSize.width / score.unitSize;\n\tpage.height = score.pageSize.height / score.unitSize;\n\n\tconst correctCanvas = new Canvas(pageCanvas.width, pageCanvas.height);\n\tconst ctx = correctCanvas.getContext('2d');\n\n\tctx.save();\n\n\tconst { width, height } = correctCanvas;\n\tconst [a, b, c, d] = page.source.matrix;\n\n\tctx.setTransform(a, b, c, d, (-1 / 2) * width + (1 / 2) * a * width + (1 / 2) * b * height, (-1 / 2) * height + (1 / 2) * c * width + (1 / 2) * d * height);\n\n\tctx.drawImage(pageCanvas, 0, 0);\n\n\tctx.restore();\n\n\tconst interval = page.source.interval;\n\n\tpage.layout.areas.map((area, systemIndex) => {\n\t\tconsole.assert(area.staves?.middleRhos?.length, '[shootImageByDetection] empty area:', area);\n\n\t\tconst data = ctx.getImageData(area.x, area.y, area.width, area.height);\n\n\t\tconst canvas = new Canvas(area.width, area.height);\n\n\t\tconst context = canvas.getContext('2d');\n\t\t// context.rotate(-area.staves.theta);\n\t\tcontext.putImageData(data, 0, 0);\n\n\t\tconst detection = area.staves;\n\t\tconst size = { width: area.width, height: area.height };\n\n\t\tconst sourceCenter = {\n\t\t\tx: pageCanvas.width / 2 / interval,\n\t\t\ty: pageCanvas.height / 2 / interval,\n\t\t};\n\n\t\tconst position = {\n\t\t\tx: (area.x + area.staves.phi1) / interval - sourceCenter.x + page.width / 2,\n\t\t\ty: area.y / interval - sourceCenter.y + page.height / 2,\n\t\t};\n\n\t\tpage.systems[systemIndex] = constructSystem({\n\t\t\tpage,\n\t\t\tbackgroundImage: canvas.toBufferSync('png'),\n\t\t\tdetection,\n\t\t\timageSize: size,\n\t\t\tposition,\n\t\t});\n\t});\n\n\treturn correctCanvas;\n}\n\nasync function shootStaffBackgroundImage({ system, staff, staffIndex }: { system: starry.System; staff: starry.Staff; staffIndex: number }) {\n\tconst sourceCanvas = await shootStaffImage(system, staffIndex, {\n\t\tpaddingLeft: STAFF_PADDING_LEFT,\n\t\tspec: SEMANTIC_VISION_SPEC,\n\t});\n\n\tstaff.backgroundImage = sourceCanvas.toBufferSync('png');\n\n\tstaff.imagePosition = {\n\t\tx: -STAFF_PADDING_LEFT / SEMANTIC_VISION_SPEC.viewportUnit,\n\t\ty: staff.staffY - SEMANTIC_VISION_SPEC.viewportHeight / 2 / SEMANTIC_VISION_SPEC.viewportUnit,\n\t\twidth: sourceCanvas.width / SEMANTIC_VISION_SPEC.viewportUnit,\n\t\theight: sourceCanvas.height / SEMANTIC_VISION_SPEC.viewportUnit,\n\t};\n}\n\n/**\n * 单äļŠstaffįš„å˜å―ĒįŸŦæ­Ģ\n * @param system\n * @param staff\n * @param staffIndex\n * @param gaugeImage\n * @param pyClients\n */\nasync function gaugeStaff({\n\tsystem,\n\tstaff,\n\tstaffIndex,\n\tgaugeImage,\n\tpyClients,\n}: {\n\tsystem: starry.System;\n\tstaff: starry.Staff;\n\tstaffIndex: number;\n\tgaugeImage: Buffer;\n\tpyClients: PyClients;\n}) {\n\tconst sourceCanvas = await shootStaffImage(system, staffIndex, {\n\t\tpaddingLeft: STAFF_PADDING_LEFT,\n\t\tspec: GAUGE_VISION_SPEC,\n\t\tscaling: 2,\n\t});\n\n\tconst sourceBuffer = sourceCanvas.toBufferSync('png');\n\n\tconst baseY = (system.middleY - (staff.top + staff.staffY)) * GAUGE_VISION_SPEC.viewportUnit + GAUGE_VISION_SPEC.viewportHeight / 2;\n\n\tconst { buffer, size } = await pyClients.predictScoreImages('gaugeRenderer', [sourceBuffer, gaugeImage, baseY]);\n\n\tstaff.backgroundImage = buffer;\n\n\tstaff.imagePosition = {\n\t\tx: -STAFF_PADDING_LEFT / GAUGE_VISION_SPEC.viewportUnit,\n\t\ty: staff.staffY - size.height / 2 / GAUGE_VISION_SPEC.viewportUnit,\n\t\twidth: size.width / GAUGE_VISION_SPEC.viewportUnit,\n\t\theight: size.height / GAUGE_VISION_SPEC.viewportUnit,\n\t};\n\n\tstaff.maskImage = null;\n}\n\n/**\n * 单äļŠstaffįš„é™å™Š\n * @param staff\n * @param staffIndex\n * @param maskImage\n */\nasync function maskStaff({ staff, staffIndex, maskImage }: { staff: starry.Staff; staffIndex: number; maskImage: Buffer }) {\n\tconst img = await loadImage(maskImage);\n\n\tstaff.maskImage = maskImage;\n\tstaff.imagePosition = {\n\t\tx: -STAFF_PADDING_LEFT / MASK_VISION_SPEC.viewportUnit,\n\t\ty: staff.staffY - MASK_VISION_SPEC.viewportHeight / 2 / MASK_VISION_SPEC.viewportUnit,\n\t\twidth: img.width / MASK_VISION_SPEC.viewportUnit,\n\t\theight: img.height / MASK_VISION_SPEC.viewportUnit,\n\t};\n}\n\n/**\n * 单äļŠstaffįš„čŊ­äđ‰čŊ†åˆŦ\n * @param score\n * @param staffIndex\n * @param system\n * @param staff\n * @param graph\n */\nasync function semanticStaff({\n\tscore,\n\tstaffIndex,\n\tsystem,\n\tstaff,\n\tgraph,\n}: {\n\tscore: starry.Score;\n\tstaffIndex: number;\n\tsystem: starry.System;\n\tstaff: starry.Staff;\n\tgraph: SemanticGraph;\n}) {\n\tgraph.offset(-STAFF_PADDING_LEFT / SEMANTIC_VISION_SPEC.viewportUnit, 0);\n\n\tsystem.assignSemantics(staffIndex, graph);\n\n\tstaff.assignSemantics(graph);\n\tstaff.clearPredictedTokens();\n\n\tscore.assembleSystem(system, score.settings?.semanticConfidenceThreshold || 1);\n}\n\nfunction replacePageImages(page: starry.Page, onReplaceImageKey: (src: string) => any) {\n\tconst tasks = [\n\t\t[page.source, 'url'],\n\t\t...page.systems\n\t\t\t.map((system) => {\n\t\t\t\treturn [\n\t\t\t\t\t[system, 'backgroundImage'],\n\t\t\t\t\t...system.staves\n\t\t\t\t\t\t.map((staff) => [\n\t\t\t\t\t\t\t[staff, 'backgroundImage'],\n\t\t\t\t\t\t\t[staff, 'maskImage'],\n\t\t\t\t\t\t])\n\t\t\t\t\t\t.flat(),\n\t\t\t\t];\n\t\t\t})\n\t\t\t.flat(),\n\t];\n\n\ttasks.map(([target, key]: [any, string]) => {\n\t\ttarget[key] = onReplaceImageKey(target[key]);\n\t});\n}\n\nexport type TaskProgress = { total?: number; finished?: number };\n\nexport interface OMRPage {\n\turl: string | Buffer;\n\tkey?: string;\n\tlayout?: LayoutResult;\n\trenew?: boolean;\n\tenableGauge?: boolean;\n}\n\nexport interface ProgressState {\n\tlayout?: TaskProgress;\n\ttext?: TaskProgress;\n\tgauge?: TaskProgress;\n\tmask?: TaskProgress;\n\tsemantic?: TaskProgress;\n\tregulate?: TaskProgress;\n\tbrackets?: TaskProgress;\n}\n\nclass OMRProgress {\n\tstate: ProgressState = {};\n\n\tonChange: (evt: ProgressState) => void;\n\n\tconstructor(onChange: (evt: ProgressState) => void) {\n\t\tthis.onChange = onChange;\n\t}\n\n\tsetTotal(stage: keyof ProgressState, total: number) {\n\t\tthis.state[stage] = this.state[stage] || {\n\t\t\ttotal,\n\t\t\tfinished: 0,\n\t\t};\n\t}\n\n\tincrease(stage: keyof ProgressState, step = 1) {\n\t\tconst info: TaskProgress = this.state[stage] || {\n\t\t\tfinished: 0,\n\t\t};\n\t\tinfo.finished += step;\n\n\t\tthis.onChange(this.state);\n\t}\n}\n\ntype SourceImage = string | Buffer;\n\nexport interface OMROption {\n\toutputWidth?: number;\n\ttitle?: string; // æ›ēč°ąæ ‡éǘ\n\tpageStore?: {\n\t\thas?: (key: string) => Promise;\n\t\tget: (key: string) => Promise;\n\t\tset: (key: string, val: string) => Promise;\n\t};\n\trenew?: boolean;\n\tprocesses?: (keyof ProgressState)[]; // 选æ‹ĐæĩįĻ‹\n\tonProgress?: (progress: ProgressState) => void;\n\tonReplaceImage?: (src: SourceImage) => Promise; // æ›ŋæĒ所有å›ūį‰‡åœ°å€ïžŒį”Ļ䚎äļŠäž æˆ–č€…æ žåžč―ŽæĒ\n}\n\nconst lruCache = new WeakLRUCache();\n\n// éŧ˜čŪĪstore\nconst pageStore = {\n\tasync get(key: string) {\n\t\treturn lruCache.getValue(key) as string;\n\t},\n\tasync set(key: string, val: string) {\n\t\tlruCache.setValue(key, val);\n\t},\n};\n\n/**\n * éŧ˜čŪĪ将å›ūį‰‡č―ŽæĒäļšwebpæ žåžįš„base64字įŽĶäļē\n * @param src\n */\nconst onReplaceImage = async (src: SourceImage) => {\n\tif (src instanceof Buffer || (typeof src === 'string' && (/^https?:\\/\\//.test(src) || /^data:image\\//.test(src)))) {\n\t\tconst webpBuffer = (await convertImage(src)).buffer;\n\t\treturn `data:image/webp;base64,${webpBuffer.toString('base64')}`;\n\t}\n\n\treturn src;\n};\n\n/**\n * čŊ†åˆŦ所有å›ūቇ\n * @param pyClients\n * @param images\n * @param option\n */\nexport const predictPages = async (\n\tpyClients: PyClients,\n\timages: OMRPage[],\n\toption: OMROption = { outputWidth: 1200, pageStore, onReplaceImage }\n): Promise<{ score: starry.Score; omitPages: number[]; stat: OMRStat }> => {\n\tconst logger = pyClients.logger;\n\n\toption.outputWidth = option.outputWidth || 1200;\n\toption.pageStore = option.pageStore || pageStore;\n\toption.onReplaceImage = option.onReplaceImage || onReplaceImage;\n\n\toption.processes =\n\t\tArray.isArray(option.processes) && option.processes.length > 0 ? option.processes : ['layout', 'text', 'gauge', 'mask', 'semantic', 'brackets'];\n\tconst progress: OMRProgress = new OMRProgress(option.onProgress);\n\n\tconst t0 = Date.now();\n\n\t// éĒ„åĪ„į†åˆ é™Īäļåˆæģ•匚域\n\timages.forEach((image) => {\n\t\tif (image.layout?.detection) {\n\t\t\timage.layout.detection.areas = image.layout.detection?.areas?.filter((a) => a?.staves?.middleRhos?.length > 0);\n\t\t} else {\n\t\t\tdelete image.layout;\n\t\t}\n\t});\n\n\tconst score = new starry.Score({\n\t\ttitle: option?.title,\n\t\tstavesCount: 2,\n\t\tpaperOptions: {\n\t\t\traggedLast: true,\n\t\t\traggedLastBottom: true,\n\t\t},\n\t\theaders: {},\n\t\tinstrumentDict: {},\n\t\tsettings: {\n\t\t\tenabledGauge: option.processes.includes('gauge'),\n\t\t\tsemanticConfidenceThreshold: 1,\n\t\t},\n\t});\n\n\tlogger.info(`[predictor]: download_source_images-${images.length}`);\n\n\t// 原始拍摄å›ū\n\tconst originalImages: Image[] = await Promise.all(images.map((img) => loadImage(img.url as any)));\n\n\tlogger.info(`[predictor]: source_images_downloaded-${images.length}`);\n\n\t//const INPUT_IMAGE_WIDTH = images.filter((x) => x?.layout?.interval)?.[0]?.layout?.sourceSize?.width;\n\n\t/******************************* åļƒåą€čŊ†åˆŦ start *************************/\n\t// čū“å…Ĩįŧ™åļƒåą€æĢ€æĩ‹įš„å›ū\n\tconst pageCanvasList: Canvas[] = originalImages.map((img, index) => scaleForLayout(img, images[index]!.layout?.sourceSize?.width ?? img.width));\n\n\tprogress.setTotal('layout', originalImages.length);\n\tprogress.setTotal('text', originalImages.length);\n\n\tconst detections = await Promise.all(\n\t\tpageCanvasList.map(async (cvs, key) => {\n\t\t\tif (!images[key].layout) return (await pyClients.predictScoreImages('layout', [cvs.toBufferSync('png')]))?.[0];\n\n\t\t\t// reinforce layout from front-end if no gauge\n\t\t\tif (!images[key].enableGauge && images[key]?.layout?.detection?.areas?.length)\n\t\t\t\treturn (await pyClients.predictScoreImages('layout$reinforce', [cvs.toBufferSync('png')], [images[key].layout]))?.[0];\n\n\t\t\treturn images[key].layout;\n\t\t})\n\t);\n\n\tdetections.forEach((page) => {\n\t\tpage.detection.areas = page.detection?.areas?.filter((a) => a?.staves?.middleRhos?.length > 0);\n\t});\n\n\tconst imageURLMap = new Map();\n\tconst collectImage = async (source: SourceImage): Promise => {\n\t\tconst url = await option.onReplaceImage(source);\n\t\timageURLMap.set(source, url);\n\t};\n\n\t// æ đæŪ所有éĄĩéĒįš„åŪ―éŦ˜æŊ”å†ģåۚå…Ļåą€æ˜ūįĪšå°šåŊļ\n\tsetGlobalPageSize(score, detections, option.outputWidth);\n\n\tasync function createPage(detect, pageIndex) {\n\t\tconst { url, key, layout, enableGauge } = images[pageIndex];\n\n\t\tconst pageKey = sha1(JSON.stringify({ key: key || url, layout, enableGauge }));\n\n\t\tconst cachedPageJson = await option.pageStore.get(pageKey);\n\n\t\tconst omit = !option.renew && ((cachedPageJson && !images[pageIndex].renew) || !detect.detection.areas?.length);\n\n\t\tconst page = (score.pages[pageIndex] =\n\t\t\tomit && cachedPageJson\n\t\t\t\t? starry.recoverJSON(cachedPageJson, starry)\n\t\t\t\t: new starry.Page({\n\t\t\t\t\t\tsource: {\n\t\t\t\t\t\t\tname: key || (typeof url === 'string' && /https?:\\/\\//.test(url) ? url : null),\n\t\t\t\t\t\t\tsize: 0,\n\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\tcrop: {\n\t\t\t\t\t\t\t\tunit: '%',\n\t\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\t\twidth: 100,\n\t\t\t\t\t\t\t\theight: 100,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tdimensions: detect.sourceSize,\n\t\t\t\t\t\t\tmatrix: [Math.cos(detect.theta), -Math.sin(detect.theta), Math.sin(detect.theta), Math.cos(detect.theta), 0, 0],\n\t\t\t\t\t\t\tinterval: detect.interval,\n\t\t\t\t\t\t\tneedGauge: images[pageIndex].enableGauge,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlayout: detect.detection,\n\t\t\t\t }));\n\n\t\tconst correctCanvas = omit\n\t\t\t? null\n\t\t\t: await shootImageByDetection({\n\t\t\t\t\tscore,\n\t\t\t\t\tpage,\n\t\t\t\t\tpageCanvas: pageCanvasList[pageIndex],\n\t\t\t });\n\n\t\tprogress.increase('layout');\n\n\t\treturn {\n\t\t\tpage,\n\t\t\tomit,\n\t\t\thash: pageKey,\n\t\t\tcorrectCanvas,\n\t\t};\n\t}\n\n\tconst systemsCount = detections.reduce((acc, x) => acc + (x.detection.areas?.length ?? 0), 0);\n\tconst stavesCount = detections.reduce((acc, x) => acc + (x.detection.areas?.reduce?.((a, y) => a + (y.staves?.middleRhos?.length ?? 0), 0) ?? 0), 0);\n\n\tprogress.setTotal('gauge', stavesCount);\n\tprogress.setTotal('mask', stavesCount);\n\tprogress.setTotal('semantic', stavesCount);\n\tprogress.setTotal('brackets', systemsCount);\n\n\tconst allTasks = [];\n\n\tconst omitPages = [];\n\n\tconst t1 = Date.now();\n\n\tlet n_page = 0;\n\n\tfor (const pageIndex of detections.keys()) {\n\t\tconst pageTasks = [];\n\n\t\tconst { page, correctCanvas, omit, hash } = await createPage(detections[pageIndex], pageIndex);\n\n\t\tpageTasks.push(collectImage(page.source.url));\n\t\tpageTasks.push(...page.systems.map((system) => collectImage(system.backgroundImage)));\n\n\t\tlogger.info(`[predictor]: check_cache_pageIndex-${pageIndex} omit: ${omit}`);\n\t\tif (omit) {\n\t\t\tomitPages.push(pageIndex);\n\t\t} else {\n\t\t\tconst staves = page.systems\n\t\t\t\t.map((system, systemIndex) => system.staves.map((staff, staffIndex) => ({ pageIndex, systemIndex, staffIndex, page, system, staff })))\n\t\t\t\t.flat(1);\n\n\t\t\tawait concurrencyTask([\n\t\t\t\t/******************************* 拎号æĢ€æĩ‹ start *************************/\n\t\t\t\tasync () => {\n\t\t\t\t\tif (!option.processes.includes('brackets')) return;\n\n\t\t\t\t\tconst detection = page.layout;\n\t\t\t\t\tconst interval = page.source.interval;\n\n\t\t\t\t\tconst startTime = Date.now();\n\n\t\t\t\t\tconst bracketImages = page.systems.map((system, systemIndex) => {\n\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\tx,\n\t\t\t\t\t\t\ty,\n\t\t\t\t\t\t\tstaves: { middleRhos, phi1 },\n\t\t\t\t\t\t} = detection.areas[systemIndex];\n\n\t\t\t\t\t\tconst topMid = middleRhos[0];\n\t\t\t\t\t\tconst bottomMid = middleRhos[middleRhos.length - 1];\n\n\t\t\t\t\t\tconst sourceRect = {\n\t\t\t\t\t\t\tx: x + phi1 - 4 * interval,\n\t\t\t\t\t\t\ty: y + topMid - 4 * interval,\n\t\t\t\t\t\t\twidth: 8 * interval,\n\t\t\t\t\t\t\theight: bottomMid - topMid + 8 * interval,\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tconst OUTPUT_INTERVAL = 8;\n\n\t\t\t\t\t\tconst canvas = new Canvas(OUTPUT_INTERVAL * 8, (sourceRect.height / interval) * OUTPUT_INTERVAL);\n\n\t\t\t\t\t\tconst context = canvas.getContext('2d');\n\t\t\t\t\t\tcontext.drawImage(correctCanvas, sourceRect.x, sourceRect.y, sourceRect.width, sourceRect.height, 0, 0, canvas.width, canvas.height);\n\n\t\t\t\t\t\t// console.log(pageIndex, systemIndex, JSON.stringify(sourceRect), correctCanvas.width, correctCanvas.height)\n\t\t\t\t\t\t// const pctx = canvas.getContext('2d')\n\t\t\t\t\t\t// pctx.strokeStyle = 'red'\n\t\t\t\t\t\t// pctx.fillStyle = 'rgba(255, 0, 0, 0.2)'\n\t\t\t\t\t\t// pctx.fillRect(sourceRect.x, sourceRect.y, sourceRect.width, sourceRect.height)\n\t\t\t\t\t\t// const area = detections[pageIndex].detection.areas[systemIndex]\n\t\t\t\t\t\t// pctx.strokeStyle = 'green'\n\t\t\t\t\t\t// pctx.fillStyle = 'rgba(0, 255, 0, 0.1)'\n\t\t\t\t\t\t// pctx.fillRect(area.x, area.y, area.width, area.height)\n\t\t\t\t\t\t// pctx.fillRect(area.x, area.y, area.width, area.height)\n\t\t\t\t\t\t// require('fs').writeFile(`test--system-${systemIndex}.png`, canvas.toBufferSync('png'), () => {})\n\t\t\t\t\t\t// require('fs-extra').writeFile(`test--brackets-${pageIndex}-${systemIndex}.png`, canvas.toBufferSync('png'))\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tsystem,\n\t\t\t\t\t\t\tbuffer: canvas.toBufferSync('png'),\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\n\t\t\t\t\tlogger.info(`[predictor]: brackets js [pageIndex-${pageIndex}] duration: ${Date.now() - startTime}`);\n\n\t\t\t\t\tconst bracketsRes = await pyClients.predictScoreImages('brackets', { buffers: bracketImages.map((x) => x.buffer) });\n\t\t\t\t\tprogress.increase('brackets', bracketImages.length);\n\n\t\t\t\t\tbracketImages.forEach(({ system }, index) => {\n\t\t\t\t\t\tif (bracketsRes[index]) {\n\t\t\t\t\t\t\tsystem.bracketsAppearance = bracketsRes[index];\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\t/******************************* 拎号æĢ€æĩ‹ end *************************/\n\n\t\t\t\t/******************************* 文朎čŊ†åˆŦ start *************************/\n\t\t\t\tasync () => {\n\t\t\t\t\tif (!option.processes.includes('text')) return;\n\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst startTime = Date.now();\n\n\t\t\t\t\t\t// await require('fs-extra').writeFile(`test--text-location-${pageIndex}.png`, correctCanvas.toBufferSync('png'))\n\t\t\t\t\t\tconst bufferForText = correctCanvas.toBufferSync('png');\n\n\t\t\t\t\t\tconst resultLoc = await pyClients.predictScoreImages('textLoc', [bufferForText]);\n\n\t\t\t\t\t\tconst location = resultLoc[0].filter((box) => box.score > 0);\n\n\t\t\t\t\t\tif (location.length > 0) {\n\t\t\t\t\t\t\tconst [resultOCR] = await pyClients.predictScoreImages('textOcr', {\n\t\t\t\t\t\t\t\tbuffers: [bufferForText],\n\t\t\t\t\t\t\t\tlocation,\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tpage.assignTexts(resultOCR.areas, resultOCR.imageSize);\n\t\t\t\t\t\t\tpage.assemble();\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlogger.info(`[predictor]: text js [pageIndex-${pageIndex}] duration: ${Date.now() - startTime}`);\n\n\t\t\t\t\t\tprogress.increase('text');\n\n\t\t\t\t\t\tif (!option.title) {\n\t\t\t\t\t\t\tconst coverTexts: {\n\t\t\t\t\t\t\t\tconfidence: number;\n\t\t\t\t\t\t\t\tfontSize: number;\n\t\t\t\t\t\t\t\tid: string;\n\t\t\t\t\t\t\t\ttext: string;\n\t\t\t\t\t\t\t\ttextType: 'Title' | 'Author';\n\t\t\t\t\t\t\t\ttype: starry.TokenType;\n\t\t\t\t\t\t\t\twidth_: number;\n\t\t\t\t\t\t\t\tx: number;\n\t\t\t\t\t\t\t\ty: number;\n\t\t\t\t\t\t\t}[] = score.pages[0].tokens as any;\n\n\t\t\t\t\t\t\tif (Array.isArray(coverTexts) && coverTexts.length > 0) {\n\t\t\t\t\t\t\t\tconst [titleToken] = coverTexts\n\t\t\t\t\t\t\t\t\t.filter((x) => x.type === starry.TokenType.Text && x.textType === 'Title')\n\t\t\t\t\t\t\t\t\t.sort((a, b) => b.fontSize - a.fontSize);\n\n\t\t\t\t\t\t\t\tif (titleToken) {\n\t\t\t\t\t\t\t\t\tscore.title = titleToken.text;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tlogger.error(`[predictor]: text js [pageIndex-${pageIndex}] ${JSON.stringify(err)}`);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t/******************************* 文朎čŊ†åˆŦ end *************************/\n\t\t\t\tasync () => {\n\t\t\t\t\t/******************************* 变å―ĒįŸŦæ­Ģ start *************************/\n\t\t\t\t\tawait batchTask(async () => {\n\t\t\t\t\t\tconst disableGauge = !option.processes.includes('gauge') || images[pageIndex].enableGauge === false;\n\n\t\t\t\t\t\tif (!disableGauge) {\n\t\t\t\t\t\t\tconst gaugeRes = await pyClients.predictScoreImages(\n\t\t\t\t\t\t\t\t'gauge',\n\t\t\t\t\t\t\t\tawait Promise.all(\n\t\t\t\t\t\t\t\t\tstaves.map(async ({ staffIndex, system }) => {\n\t\t\t\t\t\t\t\t\t\tconst startTime = Date.now();\n\t\t\t\t\t\t\t\t\t\tconst sourceCanvas = await shootStaffImage(system, staffIndex, {\n\t\t\t\t\t\t\t\t\t\t\tpaddingLeft: STAFF_PADDING_LEFT,\n\t\t\t\t\t\t\t\t\t\t\tspec: GAUGE_VISION_SPEC,\n\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\tlogger.info(`[predictor]: gauge js shoot [page-${pageIndex}, staff-${staffIndex}] duration: ${Date.now() - startTime}`);\n\n\t\t\t\t\t\t\t\t\t\treturn sourceCanvas.toBufferSync('png');\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tfor (const [index, { system, staff, pageIndex, staffIndex }] of staves.entries()) {\n\t\t\t\t\t\t\t\tconst startTime = Date.now();\n\n\t\t\t\t\t\t\t\tlogger.info(`[predictor]: gauge js [page-${pageIndex}, staff-${staffIndex}] start..`);\n\t\t\t\t\t\t\t\tawait gaugeStaff({\n\t\t\t\t\t\t\t\t\tpyClients,\n\t\t\t\t\t\t\t\t\tsystem,\n\t\t\t\t\t\t\t\t\tstaff,\n\t\t\t\t\t\t\t\t\tstaffIndex,\n\t\t\t\t\t\t\t\t\tgaugeImage: gaugeRes[index].image,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tlogger.info(`[predictor]: gauge js [page-${pageIndex}, staff-${staffIndex}] duration: ${Date.now() - startTime}`);\n\n\t\t\t\t\t\t\t\tprogress.increase('gauge');\n\n\t\t\t\t\t\t\t\tpageTasks.push(collectImage(staff.backgroundImage));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tfor (const [_, { system, staff, staffIndex }] of staves.entries()) {\n\t\t\t\t\t\t\t\tawait shootStaffBackgroundImage({\n\t\t\t\t\t\t\t\t\tsystem,\n\t\t\t\t\t\t\t\t\tstaff,\n\t\t\t\t\t\t\t\t\tstaffIndex,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tpageTasks.push(collectImage(staff.backgroundImage));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\t/******************************* 变å―ĒįŸŦæ­Ģ end *************************/\n\n\t\t\t\t\tawait concurrencyTask([\n\t\t\t\t\t\t/******************************* 降噊 start *************************/\n\t\t\t\t\t\tasync () => {\n\t\t\t\t\t\t\tif (!option.processes.includes('mask')) return;\n\n\t\t\t\t\t\t\tconst maskRes = await pyClients.predictScoreImages(\n\t\t\t\t\t\t\t\t'mask',\n\t\t\t\t\t\t\t\tstaves.map(({ staff }) => staff.backgroundImage as Buffer)\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tfor (const [index, { staff, staffIndex }] of staves.entries()) {\n\t\t\t\t\t\t\t\tconst startTime = Date.now();\n\n\t\t\t\t\t\t\t\tawait maskStaff({\n\t\t\t\t\t\t\t\t\tstaff,\n\t\t\t\t\t\t\t\t\tstaffIndex,\n\t\t\t\t\t\t\t\t\tmaskImage: maskRes[index].image,\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\tlogger.info(`[predictor]: mask js [page-${pageIndex}, ${index}, staff-${staffIndex}] duration: ${Date.now() - startTime}`);\n\t\t\t\t\t\t\t\tprogress.increase('mask');\n\n\t\t\t\t\t\t\t\tpageTasks.push(collectImage(staff.maskImage));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t/******************************* 降噊 end *************************/\n\n\t\t\t\t\t\t/******************************* čŊ­äđ‰čŊ†åˆŦ start *************************/\n\t\t\t\t\t\tasync () => {\n\t\t\t\t\t\t\tif (!option.processes.includes('semantic')) return;\n\n\t\t\t\t\t\t\tconst semanticRes = starry.recoverJSON(\n\t\t\t\t\t\t\t\tawait pyClients.predictScoreImages(\n\t\t\t\t\t\t\t\t\t'semantic',\n\t\t\t\t\t\t\t\t\tstaves.map(({ staff }) => staff.backgroundImage as Buffer)\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tstarry\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tstaves.forEach(({ system }) => system.clearTokens());\n\n\t\t\t\t\t\t\tfor (const [index, { staffIndex, system, staff }] of staves.entries()) {\n\t\t\t\t\t\t\t\tconst startTime = Date.now();\n\n\t\t\t\t\t\t\t\tawait semanticStaff({\n\t\t\t\t\t\t\t\t\tscore,\n\t\t\t\t\t\t\t\t\tsystem,\n\t\t\t\t\t\t\t\t\tstaff,\n\t\t\t\t\t\t\t\t\tstaffIndex,\n\t\t\t\t\t\t\t\t\tgraph: semanticRes[index],\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\tlogger.info(\n\t\t\t\t\t\t\t\t\t`[predictor]: semantic js [page-${pageIndex}, system-${system.index}, staff-${staff.index}] duration: ${\n\t\t\t\t\t\t\t\t\t\tDate.now() - startTime\n\t\t\t\t\t\t\t\t\t}`\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tprogress.increase('semantic');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t/******************************* čŊ­äđ‰čŊ†åˆŦ end *************************/\n\t\t\t\t\t]);\n\t\t\t\t},\n\t\t\t]);\n\n\t\t\t++n_page;\n\t\t}\n\n\t\tallTasks.push(\n\t\t\tPromise.all(pageTasks).then(() => {\n\t\t\t\treplacePageImages(page, (src) => imageURLMap.get(src));\n\t\t\t\tlogger.info(`[predictor]: pageStore set: [${pageIndex}]`);\n\t\t\t\treturn option.pageStore.set(hash, JSON.stringify(page));\n\t\t\t})\n\t\t);\n\t}\n\n\tconst t2 = Date.now();\n\n\tawait Promise.all(allTasks);\n\n\tlogger.info(`[predictor]: inferenceStaffLayout: ${score.title}, [${score.systems.length}]`);\n\n\tscore.inferenceStaffLayout();\n\n\tlogger.info(`[predictor]: done: ${score.title}`);\n\n\t// correct semantic ids\n\tscore.assemble();\n\n\tconst t3 = Date.now();\n\n\treturn {\n\t\tscore,\n\t\tomitPages,\n\t\tstat: {\n\t\t\tcost: t3 - t0,\n\t\t\tpagesCost: t2 - t1,\n\t\t\tpages: n_page,\n\t\t},\n\t};\n};\n\nexport const abstractOMRStats = (stats: OMRStat[]): OMRSummary => {\n\tconst { costTotal, pagesCostTotal, pagesTotal } = stats.reduce(\n\t\t(sum, stat) => ({\n\t\t\tcostTotal: sum.costTotal + stat.cost,\n\t\t\tpagesCostTotal: sum.pagesCostTotal + stat.pagesCost,\n\t\t\tpagesTotal: sum.pagesTotal + stat.pages,\n\t\t}),\n\t\t{ costTotal: 0, pagesCostTotal: 0, pagesTotal: 0 }\n\t);\n\n\treturn {\n\t\tcostTotal,\n\t\tcostPerPage: pagesTotal ? costTotal / pagesTotal : null,\n\t\tpagesTotal,\n\t\tscoreN: stats.length,\n\t};\n};\n","import { EventTerm } from './term';\nimport type { SpartitoMeasure } from './spartitoMeasure';\n\ninterface EventRectification {\n\tid: number;\n\tdivision?: number;\n\tdots?: number;\n}\n\n// Here suppose sum of pvals equal to 1.\nconst multinomial_1 = (pvals: number[]): number => {\n\tconst n = Math.random();\n\n\tlet s = 0;\n\tfor (let i = 0; i < pvals.length; ++i) {\n\t\ts += pvals[i];\n\t\tif (s > n) return i;\n\t}\n\n\treturn pvals.length - 1;\n};\n\nconst looseVector = (ns: number[], factor = 0.9): number[] => {\n\tconst logits = ns.map((n) => Math.log(n) * factor);\n\tconst n2 = logits.map(Math.exp);\n\n\tconst sum = n2.reduce((sum, x) => sum + x, 0);\n\n\treturn n2.map((x) => x / sum);\n};\n\nconst looseEvent = (event: EventTerm): EventTerm => {\n\tif (!event.predisposition?.divisionVector && !event.predisposition?.dotsVector) return event;\n\n\tconst divisionVector = event.predisposition?.divisionVector ? looseVector(event.predisposition.divisionVector) : null;\n\tconst dotsVector = event.predisposition?.dotsVector ? looseVector(event.predisposition.dotsVector) : null;\n\n\treturn new EventTerm({\n\t\t...event,\n\t\tpredisposition: {\n\t\t\t...event.predisposition,\n\t\t\tdivisionVector,\n\t\t\tdotsVector,\n\t\t},\n\t});\n};\n\nclass MeasureRectification {\n\tevents: EventRectification[];\n\n\tconstructor(data: any) {\n\t\tObject.assign(this, data);\n\t}\n\n\ttoString(): string {\n\t\treturn this.events\n\t\t\t.map((event) => {\n\t\t\t\tif (!event) return '';\n\n\t\t\t\tconst { division = '', dots = '' } = event;\n\t\t\t\treturn `${division}|${dots}`;\n\t\t\t})\n\t\t\t.join(',');\n\t}\n\n\tstatic default(events: EventTerm[]): MeasureRectification {\n\t\treturn new MeasureRectification({\n\t\t\tevents: events.map((event) => {\n\t\t\t\tif (!event.predisposition?.divisionVector && !event.predisposition?.dotsVector) return null;\n\n\t\t\t\tconst division = event.predisposition.divisionVector ? event.division : undefined;\n\t\t\t\tconst dots = event.predisposition.dotsVector ? event.dots : undefined;\n\n\t\t\t\treturn { id: event.id, division, dots };\n\t\t\t}),\n\t\t});\n\t}\n\n\tstatic roll(events: EventTerm[]): MeasureRectification {\n\t\treturn new MeasureRectification({\n\t\t\tevents: events.map((event) => {\n\t\t\t\tif (!event.predisposition?.divisionVector && !event.predisposition?.dotsVector) return null;\n\n\t\t\t\tlet division = undefined;\n\t\t\t\tlet dots = undefined;\n\n\t\t\t\tif (event.predisposition.divisionVector) division = multinomial_1(event.predisposition.divisionVector);\n\n\t\t\t\tif (event.predisposition.dotsVector) dots = multinomial_1(event.predisposition.dotsVector);\n\n\t\t\t\treturn { id: event.id, division, dots };\n\t\t\t}),\n\t\t});\n\t}\n}\n\nconst genMeasureRectifications = function* (measure: SpartitoMeasure): Generator {\n\tconst keys = new Set();\n\n\tconst origin = MeasureRectification.default(measure.events);\n\tkeys.add(origin.toString());\n\n\tyield origin;\n\n\tlet stale = 0;\n\tlet events = measure.events;\n\n\twhile (stale < 100) {\n\t\tif (stale && stale % 10 === 0) events = events.map(looseEvent);\n\n\t\tconst rectification = MeasureRectification.roll(events);\n\t\tconst key = rectification.toString();\n\n\t\tif (keys.has(key)) {\n\t\t\t++stale;\n\t\t\tcontinue;\n\t\t}\n\n\t\tstale = 0;\n\n\t\tkeys.add(key);\n\t\tyield rectification;\n\t}\n};\n\nexport { MeasureRectification, genMeasureRectifications };\n","import { WeakLRUCache } from 'weak-lru-cache';\n\nimport { RegulationSolution, SpartitoMeasure } from '../../src/starry';\n\nconst lruCache = new WeakLRUCache();\n\ninterface SolutionStore {\n\tget: (key: string) => Promise;\n\tset: (key: string, val: RegulationSolution) => Promise;\n\tbatchGet: (keys: string[]) => Promise;\n}\n\n// éŧ˜čŪĪstore\nconst DefaultSolutionStore: SolutionStore = {\n\tasync get(key: string) {\n\t\treturn lruCache.getValue(key) as RegulationSolution;\n\t},\n\tasync set(key: string, val: RegulationSolution) {\n\t\tlruCache.setValue(key, val);\n\t},\n\tasync batchGet(keys: string[]) {\n\t\treturn keys.map((key) => lruCache.getValue(key) as RegulationSolution);\n\t},\n};\n\nconst enum MeasureStatus {\n\tDiscard = -1,\n\tSolved = 0,\n\tIssue = 1,\n\tFatal = 2,\n}\n\ninterface IssueMeasure {\n\tscoreId: string;\n\tmeasureIndex: number;\n\tmeasure: SpartitoMeasure;\n\tstatus: MeasureStatus;\n}\n\ntype SaveIssueMeasure = (data: Omit) => void;\n\nexport { SolutionStore, DefaultSolutionStore, MeasureStatus, IssueMeasure, SaveIssueMeasure };\n","import * as starry from '../../src/starry';\nimport { Logger } from './ZeroClient';\nimport { SolutionStore, DefaultSolutionStore, SaveIssueMeasure, MeasureStatus } from './store';\n\ninterface BeadRegulationCounting {\n\tcached: number;\n\tsimple: number;\n\tcomputed: number;\n\ttryTimes: number;\n\tsolved: number;\n\tissue: number;\n\tfatal: number;\n}\n\ninterface RegulationBeadStat {\n\ttotalCost: number; // in milliseconds\n\tpickerCost: number; // in milliseconds\n\tmeasures: BeadRegulationCounting;\n\tqualityScore: number;\n}\n\ninterface RegulationBeadSummary {\n\tscoreN: number;\n\n\ttotalCost: number; // in milliseconds\n\tpickerCost: number; // in milliseconds\n\tcostPerMeasure: number | null; // in milliseconds\n\tcostPerTime: number | null; // in milliseconds\n\n\tcached: number;\n\tsimple: number;\n\tcomputed: number;\n\ttryTimes: number;\n\tsolved: number;\n\tissue: number;\n\tfatal: number;\n}\n\ninterface ProgressInfo {\n\tpass: number;\n\tremaining: number;\n\ttotal: number;\n}\n\ninterface RegulateBeadOption {\n\tlogger?: Logger;\n\tpickers: starry.BeadPicker[];\n\tsolutionStore?: SolutionStore;\n\tignoreCache?: boolean;\n\tfreshOnly?: boolean;\n\tonSaveIssueMeasure?: SaveIssueMeasure;\n\tonProgress?: (measure: starry.SpartitoMeasure, evaluation: starry.MeasureEvaluation, better: boolean, progress: ProgressInfo) => void;\n\tonPassStart?: (pass: number, conditionName: string, pendingCount: number) => void;\n}\n\ninterface MeasureReord {\n\torigin: starry.SpartitoMeasure;\n\tcurrent: starry.SpartitoMeasure;\n\tevaluation?: starry.MeasureEvaluation;\n\tbaseQuality: number;\n\tpicker: starry.BeadPicker;\n}\n\ninterface BeadSolverOptions {\n\tstopLoss: number;\n\tquotaMax: number;\n\tquotaFactor: number;\n\tptFactor: number;\n}\n\nenum PendingCondition {\n\tErrorOnly,\n\tNotFine,\n\tImperfect,\n}\n\nconst isPending = (evaluation: starry.MeasureEvaluation, condition: PendingCondition) => {\n\tswitch (condition) {\n\t\tcase PendingCondition.ErrorOnly:\n\t\t\treturn evaluation.error;\n\n\t\tcase PendingCondition.Imperfect:\n\t\t\treturn !evaluation.perfect;\n\t}\n\n\treturn !evaluation.fine;\n};\n\ntype OnUpdate = (measure: starry.SpartitoMeasure, evaluation: starry.MeasureEvaluation, better: boolean) => void;\n\nconst solveMeasureRecords = async (\n\trecords: MeasureReord[],\n\tonUpdate: OnUpdate,\n\tstdout: NodeJS.WritableStream | null,\n\toptions: Partial,\n\tpendingCondition: PendingCondition = PendingCondition.NotFine,\n\tpass: number = 0,\n\tonProgress?: RegulateBeadOption['onProgress']\n): Promise => {\n\tconst pendingRecords = records.filter(({ evaluation }) => !evaluation || isPending(evaluation, pendingCondition));\n\tstdout?.write('.'.repeat(pendingRecords.length));\n\tstdout?.write('\\b'.repeat(pendingRecords.length));\n\n\tconst total = pendingRecords.length;\n\tlet done = 0;\n\n\tfor (const record of pendingRecords) {\n\t\tconst measure = record.current.deepCopy();\n\t\tmeasure.staffGroups = record.current.staffGroups;\n\n\t\tconst solution = await starry.beadSolver.solveMeasure(measure, { picker: record.picker, ...options });\n\t\tmeasure.applySolution(solution);\n\n\t\tconst evaluation = starry.evaluateMeasure(measure);\n\t\tconst better =\n\t\t\t!record.evaluation ||\n\t\t\tevaluation.fine > record.evaluation.fine ||\n\t\t\t(evaluation.qualityScore > record.evaluation.qualityScore && evaluation.fine === record.evaluation.fine);\n\t\tif (better) {\n\t\t\trecord.evaluation = evaluation;\n\t\t\tObject.assign(record.current, measure);\n\t\t}\n\n\t\tonUpdate(record.current, evaluation, better);\n\n\t\tdone++;\n\t\tonProgress?.(record.current, evaluation, better, { pass, remaining: total - done, total });\n\t}\n\n\tif (pendingRecords.length) stdout?.write('\\n');\n\n\treturn pendingRecords.length;\n};\n\nconst regulateWithBeadSolver = async (\n\tscore: starry.Score,\n\t{ logger, pickers, solutionStore = DefaultSolutionStore, ignoreCache, freshOnly, onSaveIssueMeasure, onProgress, onPassStart }: RegulateBeadOption\n): Promise => {\n\tscore.spartito = undefined;\n\tscore.assemble();\n\tconst spartito = score.makeSpartito();\n\n\tspartito.measures.forEach((measure) => score.assignBackgroundForMeasure(measure));\n\n\tconst t0 = Date.now();\n\tlogger?.info(`[regulateWithBeadSolver] begin, measure total: ${spartito.measures.length}.`, ignoreCache ? 'ignoreCache' : '', freshOnly ? 'freshOnly' : '');\n\n\tconst records = spartito.measures\n\t\t.filter((measure) => measure.events?.length && !measure.patched)\n\t\t.map(\n\t\t\t(measure) =>\n\t\t\t\t({\n\t\t\t\t\torigin: measure.deepCopy(),\n\t\t\t\t\tcurrent: measure,\n\t\t\t\t\tevaluation: undefined,\n\t\t\t\t\tbaseQuality: 0,\n\t\t\t\t} as MeasureReord)\n\t\t);\n\n\t// rectify time signature\n\tfor (const measure of spartito.measures.filter((measure) => measure.events?.length)) {\n\t\tconst picker = pickers.find((picker) => picker.n_seq > measure.events.length + 1);\n\t\tif (picker) await starry.beadSolver.estimateMeasure(measure, picker);\n\t}\n\tspartito.rectifyTimeSignatures(logger as any);\n\n\t// zero pickers' cost\n\tpickers.forEach((picker) => (picker.cost = 0));\n\n\tconst counting = {\n\t\tcached: 0,\n\t\tsimple: 0,\n\t\tcomputed: 0,\n\t\ttryTimes: 0,\n\t\tsolved: 0,\n\t\tissue: 0,\n\t\tfatal: 0,\n\t};\n\n\tlogger?.info(`[regulateWithBeadSolver] measures estimation finished.`);\n\n\t// apply solutions\n\tif (solutionStore && !ignoreCache)\n\t\tfor (const record of records) {\n\t\t\tconst solution = await solutionStore.get(record.origin.regulationHash0);\n\t\t\tif (solution) {\n\t\t\t\trecord.current.applySolution(solution);\n\t\t\t\t++counting.cached;\n\n\t\t\t\trecord.evaluation = starry.evaluateMeasure(record.current);\n\t\t\t\trecord.baseQuality = record.evaluation.qualityScore;\n\t\t\t}\n\t\t}\n\n\tlogger?.info('[regulateWithBeadSolver]', `${counting.cached}/${records.length}`, 'solutions loaded.');\n\n\tconst stdout = logger ? null : process.stdout;\n\tif (counting.cached) stdout?.write(`${counting.cached}c`);\n\n\trecords.forEach((record) => {\n\t\tconst picker = pickers.find((picker) => picker.n_seq > record.current.events.length + 1);\n\t\tif (!picker) {\n\t\t\tlogger?.info(`[regulateWithBeadSolver] measure[${record.current.measureIndex}] size out of range:`, record.current.events.length);\n\t\t} else record.picker = picker;\n\t});\n\n\tconst pendingRecords = records.filter((record) => record.picker && (!record.evaluation || (!record.evaluation.fine && !freshOnly))) as (MeasureReord & {\n\t\tevaluation: starry.MeasureEvaluation;\n\t})[];\n\n\t// solve by simple policy\n\tpendingRecords.forEach((record) => {\n\t\tconst measure = record.current.deepCopy();\n\t\tmeasure.staffGroups = record.current.staffGroups;\n\n\t\tmeasure.regulate({ policy: 'simple' });\n\n\t\tconst evaluation = starry.evaluateMeasure(measure);\n\t\tconst better = !record.evaluation || evaluation.qualityScore > record.evaluation.qualityScore;\n\t\tif (better) {\n\t\t\trecord.evaluation = evaluation;\n\t\t\tObject.assign(record.current, measure);\n\n\t\t\tif (evaluation.perfect) {\n\t\t\t\tlogger?.info(`[regulateWithBeadSolver] measure[${record.current.measureIndex}] regulated by simple policy.`);\n\t\t\t\t++counting.simple;\n\t\t\t}\n\t\t}\n\t});\n\tcounting.computed = pendingRecords.length - counting.simple;\n\n\tif (counting.simple) stdout?.write(`${counting.simple}s`);\n\n\tconst onUpdate = (measure, evaluation, better) => {\n\t\tlogger?.info(\n\t\t\t`[regulateWithBeadSolver] measure[${measure.measureIndex}/${spartito.measures.length}] regulated${\n\t\t\t\tbetter ? '+' : '-'\n\t\t\t}: ${evaluation.qualityScore.toFixed(3)}, ${evaluation.fine ? 'solved' : evaluation.error ? 'error' : 'issue'}, ${measure.regulationHash}`\n\t\t);\n\n\t\tstdout?.write(`\\x1b[${evaluation.fine ? '32' : evaluation.error ? '31' : '33'}m${better ? '+' : '-'}\\x1b[0m`);\n\t};\n\n\t// Global progress: total = all measures, remaining = non-fine measures across all passes\n\tconst totalMeasures = spartito.measures.length;\n\tconst computeRemaining = () => pendingRecords.filter((r) => !r.evaluation?.fine).length;\n\tconst wrappedOnProgress = onProgress\n\t\t? (measure: starry.SpartitoMeasure, evaluation: starry.MeasureEvaluation, better: boolean, progress: ProgressInfo) => {\n\t\t\t\tonProgress(measure, evaluation, better, { pass: progress.pass, remaining: computeRemaining(), total: totalMeasures });\n\t\t }\n\t\t: undefined;\n\n\tonPassStart?.(1, 'Imperfect', computeRemaining());\n\tcounting.tryTimes += await solveMeasureRecords(\n\t\tpendingRecords,\n\t\tonUpdate,\n\t\tstdout,\n\t\t{ stopLoss: 0.05, quotaMax: 200, quotaFactor: 3, ptFactor: 1 },\n\t\tPendingCondition.Imperfect,\n\t\t1,\n\t\twrappedOnProgress\n\t);\n\tonPassStart?.(2, 'NotFine', computeRemaining());\n\tcounting.tryTimes += await solveMeasureRecords(\n\t\tpendingRecords,\n\t\tonUpdate,\n\t\tstdout,\n\t\t{ stopLoss: 0.08, quotaMax: 1000, quotaFactor: 20, ptFactor: 1.6 },\n\t\tPendingCondition.NotFine,\n\t\t2,\n\t\twrappedOnProgress\n\t);\n\tonPassStart?.(3, 'ErrorOnly', computeRemaining());\n\tcounting.tryTimes += await solveMeasureRecords(\n\t\tpendingRecords,\n\t\tonUpdate,\n\t\tstdout,\n\t\t{ stopLoss: 0.08, quotaMax: 1000, quotaFactor: 40, ptFactor: 3 },\n\t\tPendingCondition.ErrorOnly,\n\t\t3,\n\t\twrappedOnProgress\n\t);\n\n\tpendingRecords.forEach(({ evaluation, baseQuality, current, origin }) => {\n\t\tif (evaluation.fine) ++counting.solved;\n\t\telse if (evaluation.error) ++counting.fatal;\n\t\telse ++counting.issue;\n\n\t\tif (evaluation.qualityScore > baseQuality || !baseQuality) {\n\t\t\tsolutionStore.set(origin.regulationHash0, { ...current.asSolution(origin), priority: -current?.solutionStat?.loss! });\n\t\t\tif (current.regulationHash !== origin.regulationHash0)\n\t\t\t\tsolutionStore.set(current.regulationHash, { ...current.asSolution(), priority: -current?.solutionStat?.loss! });\n\t\t\t//console.log('better:', current.measureIndex, evaluation.qualityScore, baseQuality);\n\t\t}\n\n\t\tif (!evaluation.fine) {\n\t\t\tonSaveIssueMeasure?.({\n\t\t\t\tmeasureIndex: current.measureIndex,\n\t\t\t\tmeasure: new starry.EditableMeasure(current),\n\t\t\t\tstatus: evaluation.error ? MeasureStatus.Fatal : MeasureStatus.Issue,\n\t\t\t});\n\t\t}\n\t});\n\n\tconst t1 = Date.now();\n\tconst pickerCost = pickers.reduce((cost, picker) => cost + picker.cost, 0);\n\n\tconst qualityScore = spartito.qualityScore;\n\tconst totalCost = t1 - t0;\n\n\tlogger?.info('[regulateWithBeadSolver] done in ', totalCost, 'ms, qualityScore:', qualityScore);\n\n\t// zero 'cached' statistics for freshOnly mode\n\tif (freshOnly) counting.cached = 0;\n\n\treturn {\n\t\ttotalCost: t1 - t0,\n\t\tpickerCost,\n\t\tmeasures: counting,\n\t\tqualityScore,\n\t};\n};\n\nconst abstractRegulationBeadStats = (stats: RegulationBeadStat[]): RegulationBeadSummary => {\n\tconst { totalCost, pickerCost, measureN, timeN } = stats.reduce(\n\t\t(sum, stat) => ({\n\t\t\ttotalCost: sum.totalCost + stat.totalCost,\n\t\t\tpickerCost: sum.pickerCost + stat.pickerCost,\n\t\t\tmeasureN: sum.measureN + stat.measures.computed,\n\t\t\ttimeN: sum.timeN + stat.measures.tryTimes,\n\t\t}),\n\t\t{\n\t\t\ttotalCost: 0,\n\t\t\tpickerCost: 0,\n\t\t\tmeasureN: 0,\n\t\t\ttimeN: 0,\n\t\t}\n\t);\n\n\tconst costPerMeasure = measureN > 0 ? totalCost / measureN : null;\n\tconst costPerTime = timeN > 0 ? totalCost / timeN : null;\n\n\tconst { cached, simple, computed, tryTimes, solved, issue, fatal } = stats.reduce(\n\t\t(sum, stat) => ({\n\t\t\tcached: sum.cached + stat.measures.cached,\n\t\t\tsimple: sum.simple + stat.measures.simple,\n\t\t\tcomputed: sum.computed + stat.measures.computed,\n\t\t\ttryTimes: sum.tryTimes + stat.measures.tryTimes,\n\t\t\tsolved: sum.solved + stat.measures.solved,\n\t\t\tissue: sum.issue + stat.measures.issue,\n\t\t\tfatal: sum.fatal + stat.measures.fatal,\n\t\t}),\n\t\t{ cached: 0, simple: 0, computed: 0, tryTimes: 0, solved: 0, issue: 0, fatal: 0 }\n\t);\n\n\treturn {\n\t\tscoreN: stats.length,\n\t\ttotalCost,\n\t\tpickerCost,\n\t\tcostPerMeasure,\n\t\tcostPerTime,\n\t\tcached,\n\t\tsimple,\n\t\tcomputed,\n\t\ttryTimes,\n\t\tsolved,\n\t\tissue,\n\t\tfatal,\n\t};\n};\n\nexport { regulateWithBeadSolver, abstractRegulationBeadStats, RegulationBeadStat, ProgressInfo };\n","import * as starry from '../../src/starry';\nimport { PyClients } from './predictors';\nimport { Logger } from './ZeroClient';\nimport { SpartitoMeasure, EditableMeasure, evaluateMeasure } from '../../src/starry';\nimport { EquationPolicy } from '../../src/starry/spartitoMeasure';\nimport { genMeasureRectifications } from '../../src/starry/measureRectification';\nimport { SolutionStore, DefaultSolutionStore, SaveIssueMeasure } from './store';\nexport * from './regulationBead';\n\nglobalThis.btoa = globalThis.btoa || ((str) => Buffer.from(str, 'binary').toString('base64'));\n\nconst RECTIFICATION_SEARCH_ITERATIONS = parseInt(process.env.RECTIFICATION_SEARCH_ITERATIONS || '30');\nconst BASE_QUOTA_FACTOR = parseInt(process.env.BASE_QUOTA_FACTOR || '40');\nconst RECTIFICATION_QUOTA_FACTOR = parseInt(process.env.RECTIFICATION_QUOTA_FACTOR || '80');\n\nconst MATRIXH_INTERPOLATION_K = 0.9;\n\ninterface SolveMeasureOptions {\n\tsolver?: (...args: any[]) => any;\n\tquotaMax?: number;\n\tquotaFactor?: number;\n\tsolutionStore?: SolutionStore;\n\tignoreCache?: boolean;\n\tlogger?: Logger;\n}\n\nconst computeQuota = (n: number, factor: number, limit: number) =>\n\tMath.min(Math.ceil((n + 1) * factor * Math.log(n + 2)), Math.ceil(limit * Math.min(1, (24 / (n + 1)) ** 2)));\n\ninterface BaseRegulationStat {\n\tcached: number;\n\tcomputed: number;\n\tsolved: number;\n}\n\nasync function solveMeasures(\n\tmeasures: SpartitoMeasure[],\n\t{ solver, quotaMax = 1000, quotaFactor = BASE_QUOTA_FACTOR, solutionStore = DefaultSolutionStore, ignoreCache = false, logger }: SolveMeasureOptions = {}\n): Promise {\n\tlet cached = 0;\n\tlet solved = 0;\n\n\tlogger?.info(`[solveMeasures] begin, measure total: ${measures.length}.`);\n\n\tawait Promise.all(\n\t\tmeasures.map(async (measure) => {\n\t\t\tif (!ignoreCache) {\n\t\t\t\tconst solution = await solutionStore.get(measure.regulationHash);\n\t\t\t\tif (solution) {\n\t\t\t\t\tmeasure.applySolution(solution);\n\t\t\t\t\t++cached;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst quota = computeQuota(measure.events.length, quotaFactor, quotaMax);\n\n\t\t\tawait measure.regulate({\n\t\t\t\tpolicy: 'equations',\n\t\t\t\tquota,\n\t\t\t\tsolver,\n\t\t\t});\n\n\t\t\tconst stat = evaluateMeasure(measure);\n\t\t\tif (!stat.error) solutionStore.set(measure.regulationHash0, { ...measure.asSolution(), priority: -measure?.solutionStat?.loss! });\n\t\t\tif (stat.perfect) ++solved;\n\n\t\t\tlogger?.info(\n\t\t\t\t`[solveMeasures] measure[${measure.measureIndex}/${measures.length}] regulated: ${stat.perfect ? 'solved' : stat.error ? 'error' : 'issue'}, ${\n\t\t\t\t\tmeasure.regulationHash\n\t\t\t\t}`\n\t\t\t);\n\t\t})\n\t);\n\n\tlogger?.info(`[solveMeasures] ${cached}/${measures.length} cache hit, ${solved} solved.`);\n\n\treturn {\n\t\tcached,\n\t\tcomputed: measures.length - cached,\n\t\tsolved,\n\t};\n}\n\nconst solveMeasuresWithRectifications = async (\n\tmeasure: SpartitoMeasure,\n\t{ solver, quotaMax = 4000 }: SolveMeasureOptions\n): Promise => {\n\tlet best = evaluateMeasure(measure);\n\tlet bestSolution: starry.RegulationSolution = measure.asSolution();\n\tconst quota = computeQuota(measure.events.length, RECTIFICATION_QUOTA_FACTOR, quotaMax);\n\tlet n_rec = 0;\n\n\t// @ts-ignore\n\tfor (const rec of genMeasureRectifications(measure)) {\n\t\tconst solution = await EquationPolicy.regulateMeasureWithRectification(measure, rec, { solver, quota });\n\n\t\tconst testMeasure = measure.deepCopy() as SpartitoMeasure;\n\t\ttestMeasure.applySolution(solution);\n\t\tconst result = evaluateMeasure(testMeasure);\n\n\t\tif (\n\t\t\tresult.perfect > best.perfect ||\n\t\t\tresult.error < best.error ||\n\t\t\t(!result.error && result.perfect >= best.perfect && solution.priority! > bestSolution.priority!)\n\t\t) {\n\t\t\tbest = result;\n\t\t\tbestSolution = solution;\n\t\t}\n\n\t\tif (result.perfect) break;\n\n\t\t++n_rec;\n\t\tif (n_rec > RECTIFICATION_SEARCH_ITERATIONS) break;\n\t}\n\n\treturn bestSolution;\n};\n\ninterface RegulateWithTopoOption {\n\tsolutionStore: SolutionStore;\n\tpyClients: PyClients;\n\tsolver: (...args: any[]) => any;\n\tonSaveIssueMeasure?: SaveIssueMeasure;\n}\n\ninterface RegulateMaybeWithTopoOption {\n\tsolutionStore: SolutionStore;\n\tpyClients?: PyClients;\n\tsolver: (...args: any[]) => any;\n\tonSaveIssueMeasure?: SaveIssueMeasure;\n}\n\ninterface RegulateSimpleOption {\n\tsolutionStore: SolutionStore;\n\tsolver: (...args: any[]) => any;\n\tlogger?: Logger;\n\tquotaMax?: number;\n\tquotaFactor?: number;\n}\n\ninterface TopoRegulationStat {\n\tsolved: number;\n\tissue: number;\n\tfatal: number;\n}\n\nasync function doRegulateWithTopo(\n\tscore: starry.Score,\n\t{ pyClients, solver, solutionStore = DefaultSolutionStore, onSaveIssueMeasure }: RegulateWithTopoOption\n): Promise {\n\tpyClients.logger.info(`[RegulateWithTopo] regulate score: ${score.title}, measures: ${score.spartito!.measures.length}`);\n\n\tconst issueMeasures = score.spartito!.measures.filter((measure) => {\n\t\tconst stat = evaluateMeasure(measure);\n\t\treturn !stat.perfect;\n\t});\n\tpyClients.logger.info(`[RegulateWithTopo] basic issues: ${issueMeasures.length}`);\n\n\tif (issueMeasures.length === 0) {\n\t\treturn {\n\t\t\tsolved: 0,\n\t\t\tissue: 0,\n\t\t\tfatal: 0,\n\t\t};\n\t}\n\n\tconst clusters = ([] as starry.EventCluster[]).concat(...issueMeasures.map((measure) => measure.createClusters()));\n\tconst results = await pyClients.predictScoreImages('topo', { clusters });\n\tconsole.assert(results.length === clusters.length, 'prediction number mismatch:', clusters.length, results.length);\n\n\tclusters.forEach((cluster, index) => {\n\t\tconst result = results[index];\n\t\tconsole.assert(result, 'no result for cluster:', cluster.index);\n\n\t\tcluster.assignPrediction(result);\n\t});\n\n\tissueMeasures.forEach((measure) => {\n\t\tconst cs = clusters.filter((c) => c.index === measure.measureIndex);\n\t\tmeasure.applyClusters(cs);\n\n\t\t// intepolate matrixH\n\t\tconst { matrixH } = EquationPolicy.estiamteMeasure(measure);\n\t\tmatrixH.forEach((row, i) =>\n\t\t\trow.forEach((v, j) => {\n\t\t\t\tmeasure.matrixH[i][j] = measure.matrixH[i][j] * MATRIXH_INTERPOLATION_K + v * (1 - MATRIXH_INTERPOLATION_K);\n\t\t\t})\n\t\t);\n\t});\n\n\tconst solvedIndices: number[] = [];\n\tconst errorIndices: number[] = [];\n\n\t// rectification search\n\tawait Promise.all(\n\t\tissueMeasures.map(async (measure) => {\n\t\t\tconst hash = measure.regulationHash0;\n\t\t\tconst solution = await solveMeasuresWithRectifications(measure, { solver });\n\t\t\tif (solution) {\n\t\t\t\tmeasure.applySolution(solution);\n\t\t\t\tsolutionStore.set(hash, solution);\n\t\t\t\tsolutionStore.set(measure.regulationHash, measure.asSolution());\n\t\t\t\tpyClients.logger.info(`[RegulateWithTopo] solutionStore set: ${measure.measureIndex}, ${hash}, ${measure.regulationHash}`);\n\t\t\t}\n\n\t\t\tconst stat = evaluateMeasure(measure);\n\t\t\tonSaveIssueMeasure?.({\n\t\t\t\tmeasureIndex: measure.measureIndex,\n\t\t\t\tmeasure: new EditableMeasure(measure),\n\t\t\t\tstatus: stat.error ? 2 : 1,\n\t\t\t});\n\t\t\tif (stat.perfect) solvedIndices.push(measure.measureIndex);\n\t\t\telse if (stat.error) errorIndices.push(measure.measureIndex);\n\t\t})\n\t);\n\n\tconst n_issues = issueMeasures.length - solvedIndices.length - errorIndices.length;\n\tpyClients.logger.info(`[RegulateWithTopo] score: ${score.title}, solved/issue/fatal: ${solvedIndices.length}/${n_issues}/${errorIndices.length}`);\n\tif (solvedIndices.length) pyClients.logger.info(`[RegulateWithTopo] solved measures: ${solvedIndices.join(', ')}`);\n\tif (errorIndices.length) pyClients.logger.info(`[RegulateWithTopo] error measures: ${errorIndices.join(', ')}`);\n\n\treturn {\n\t\tsolved: solvedIndices.length,\n\t\tissue: n_issues,\n\t\tfatal: errorIndices.length,\n\t};\n}\n\ninterface RegulationStat {\n\tbaseCost: number; // in milliseconds\n\ttopoCost: number; // in milliseconds\n\tbaseMeasures: BaseRegulationStat;\n\ttopoMeasures?: TopoRegulationStat;\n\tqualityScore: number;\n}\n\nconst doRegulate = async (\n\tscore: starry.Score,\n\t{ pyClients, solver, solutionStore = DefaultSolutionStore, onSaveIssueMeasure }: RegulateMaybeWithTopoOption\n): Promise => {\n\tpyClients?.logger?.info(`[doRegulate] score: ${score.title}`);\n\n\tscore.spartito = undefined;\n\tscore.assemble();\n\tconst spartito = score.makeSpartito();\n\n\tspartito.measures.forEach((measure) => score.assignBackgroundForMeasure(measure));\n\n\tconst t0 = Date.now();\n\n\tconst baseMeasures = await solveMeasures(spartito.measures, { solver, quotaMax: 1000, solutionStore, logger: pyClients?.logger });\n\n\tconst t1 = Date.now();\n\n\tconst topoMeasures = pyClients ? await doRegulateWithTopo(score, { pyClients, solver, solutionStore, onSaveIssueMeasure }) : undefined;\n\n\tconst t2 = Date.now();\n\n\treturn {\n\t\tbaseCost: t1 - t0,\n\t\ttopoCost: t2 - t1,\n\t\tbaseMeasures,\n\t\ttopoMeasures,\n\t\tqualityScore: spartito.qualityScore,\n\t};\n};\n\nconst doSimpleRegulate = async (\n\tscore: starry.Score,\n\t{ solver, solutionStore = DefaultSolutionStore, logger, quotaMax = 240, quotaFactor = 16 }: RegulateSimpleOption\n): Promise => {\n\tscore.assemble();\n\tconst spartito = score.spartito || score.makeSpartito();\n\tconst measures = spartito.measures.filter((measure) => !measure.regulated);\n\n\tawait solveMeasures(measures, { solver, quotaMax, quotaFactor, solutionStore, logger });\n\n\tconsole.assert(score.spartito?.regulated, 'doSimpleRegulate: regulation incomplete:', spartito.measures.filter((measure) => !measure.regulated).length);\n};\n\nconst evaluateScoreQuality = async (score: starry.Score, options: RegulateSimpleOption): Promise => {\n\tif (!score.spartito?.regulated) await doSimpleRegulate(score, options);\n\n\treturn score.spartito!.regulated ? score.spartito!.qualityScore : null;\n};\n\ninterface RegulationSummary {\n\tscoreN: number;\n\n\tbaseCostTotal: number; // in milliseconds\n\ttopoCostTotal: number; // in milliseconds\n\tbaseCostPerMeasure: number | null; // in milliseconds\n\ttopoCostPerMeasure: number | null; // in milliseconds\n\n\tcached: number;\n\tbaseComputed: number;\n\tbaseSolved: number;\n\ttopoSolved: number;\n\ttopoIssue: number;\n\ttopoFatal: number;\n}\n\nconst abstractRegulationStats = (stats: RegulationStat[]): RegulationSummary => {\n\tconst { baseCostTotal, topoCostTotal, baseMeasures, topoMeasures } = stats.reduce(\n\t\t(sum, stat) => ({\n\t\t\tbaseCostTotal: sum.baseCostTotal + stat.baseCost,\n\t\t\ttopoCostTotal: sum.topoCostTotal + stat.topoCost,\n\t\t\tbaseMeasures: sum.baseMeasures + stat.baseMeasures.computed,\n\t\t\ttopoMeasures: sum.topoMeasures + (stat.topoMeasures!.solved + stat.topoMeasures!.issue + stat.topoMeasures!.fatal),\n\t\t}),\n\t\t{\n\t\t\tbaseCostTotal: 0,\n\t\t\ttopoCostTotal: 0,\n\t\t\tbaseMeasures: 0,\n\t\t\ttopoMeasures: 0,\n\t\t}\n\t);\n\n\tconst baseCostPerMeasure = baseMeasures > 0 ? baseCostTotal / baseMeasures : null;\n\tconst topoCostPerMeasure = topoMeasures > 0 ? topoCostTotal / topoMeasures : null;\n\n\tconst { cached, baseComputed, baseSolved, topoSolved, topoIssue, topoFatal } = stats.reduce(\n\t\t(sum, stat) => ({\n\t\t\tcached: sum.cached + stat.baseMeasures.cached,\n\t\t\tbaseComputed: sum.baseComputed + stat.baseMeasures.computed,\n\t\t\tbaseSolved: sum.baseSolved + stat.baseMeasures.solved,\n\t\t\ttopoSolved: sum.topoSolved + stat.topoMeasures!.solved,\n\t\t\ttopoIssue: sum.topoIssue + stat.topoMeasures!.issue,\n\t\t\ttopoFatal: sum.topoFatal + stat.topoMeasures!.fatal,\n\t\t}),\n\t\t{ cached: 0, baseComputed: 0, baseSolved: 0, topoSolved: 0, topoIssue: 0, topoFatal: 0 }\n\t);\n\n\treturn {\n\t\tscoreN: stats.length,\n\t\tbaseCostTotal,\n\t\ttopoCostTotal,\n\t\tbaseCostPerMeasure,\n\t\ttopoCostPerMeasure,\n\t\tcached,\n\t\tbaseComputed,\n\t\tbaseSolved,\n\t\ttopoSolved,\n\t\ttopoIssue,\n\t\ttopoFatal,\n\t};\n};\n\nexport { doRegulate, doSimpleRegulate, evaluateScoreQuality, abstractRegulationStats };\n","console.info(`%cstarry-omr%c v1.0.0 2026-02-17T12:40:18.113Z`, 'color:#fff; background-color: #555;padding: 5px;border-radius: 3px 0 0 3px;', 'color: #fff; background-color: #007dc6;padding: 5px;border-radius: 0 3px 3px 0;');\nimport '../../libs/browserComponents';\n\nexport * from '../../../src/isomorphic/converter';\nexport * as starry from '../../../src/starry';\nexport * from '../../libs/predictors';\nexport * from '../../libs/predictPages';\nexport * from '../../libs/regulation';\nexport * from '../../libs/store';\nexport * from '../../libs/util';\n"],"names":["PageLayoutMethod","TextType","SemanticType","globalThis","btoa","str","Buffer","from","toString","atob","NOTEHEAD_WIDTHS","NoteheadS0","NoteheadS1","NoteheadS2","glyphCenters","x","zero","y","one","two","three","four","five","six","seven","eight","nine","f","m","p","r","s","z","SYSTEM_SEMANTIC_TYPES","BarMeasure","vline_BarMeasure","vline_BarTerminal","vline_BarSegment","vline_VoltaLeft","vline_VoltaRight","VoltaAlternativeBegin","st","CONFLICTION_GROUPS","Zero","One","Two","Three","Four","Five","Six","Seven","Eight","Nine","ScriptStaccatissimo","TimesigZero","TimesigOne","TimesigTwo","TimesigThree","TimesigFour","TimesigFive","TimesigSix","TimesigSeven","TimesigEight","TimesigNine","Rest0","Rest1","Rest2","Rest3","Rest4","Rest5","Rest6","Rest0W","RestM1","SignInterval","SignLined","BeamLeft","BeamContinue","BeamRight","STAMP_SEMANTICS","ClefG","ClefF","ClefC","Dot","AccNatural","AccSharp","AccDoublesharp","AccFlat","AccFlatflat","TimesigC44","TimesigC22","OctaveShift8","OctaveShift0","n","ScriptFermata","ScriptShortFermata","ScriptSforzato","ScriptStaccato","ScriptTurn","ScriptTrill","ScriptSegno","ScriptCoda","ScriptArpeggio","ScriptPrall","ScriptMordent","ScriptMarcato","ScriptTenuto","ScriptPortato","PedalStar","PedalPed","hashSemanticPoint","systemIndex","staffIndex","point","Math","round","source","semantic","hash","sha1","array","slice","id","String","fromCharCode","substring","hashPageSemanticPoint","pageName","TokenType","tt","TokenTypes","Object","values","TokenClefs","filter","t","test","TokenTimesigs","TokenTimesigsC","TokenTimesigsN","TokenOctshifts","TokenNumbers","TokenAccidentals","TokenNoteheads","TokenBareNoteheads","TokenDirectionalNoteheads","TokenRests","TokenFlags","TokenVolta","TokenDynamics","TokenScripts","TokenPedals","TokenDots","DotDot","TokenArcs","SlurBegin","SlurEnd","TieBegin","TieEnd","TokenBeams","TokenWedges","TokenAccessories","TokenDirectionless","TokenGlyphs","TOKEN_Y_ROUND","forEach","TOKEN_Y_FIXED","Token","constructor","data","assign","this","typeId","type","split","reverse","isPredicted","Number","isFinite","confidence","isNotehead","includes","isContexted","isAccessory","division","NoteheadS1stemU","NoteheadS1stemD","NoteheadS2stemU","NoteheadS2stemD","Flag3","Flag4","Flag5","Flag6","Flag7","Flag8","dots","direction","width","left","right","voiceIndices","voice","Array","floor","log2","fill","reduce","indices","_","i","className","TextToken","super","width_","value","recoverJSON","json","classDict","JSON","stringify","parse","__prototype","Class","fields","deepCopy","o","dict","Map","get","isArray","result","set","e","push","entries","key","setPrototypeOf","__proto__","SimpleClass","toJSON","cls","serializedKeys","blackKeys","keys","pick","LayoutType","spreadMeasureSeq","seq","Ordinary","concat","map","layout","serialize","seqToCode","withBrackets","code","inRange","length","SingleMLayout","measure","undefined","BlockMLayout","trimSeq","seq2","sub","seq3","fromSeq","VoltaMLayout","bodySeq","body","alternates","alternateSeqs","lastAlternateSeq","Conservative","Full","times","Once","console","warn","join","ABAMLayout","seqA","main","seqA_","seqB","rest","parser","k","v","l","$V0","$V1","$V2","$V3","$V4","$V5","$V6","$V7","$V8","$V9","$Va","trace","yy","symbols_","error","start_symbol","measure_layout","EOF","index_wise_measure_layout","segment_wise_measure_layout","iw_sequence","iw_item","range","UNSIGNED","single","iw_block_item","iw_volta","iw_aba","iw_block","iw_optional_alternates","iw_alternates","sw_sequence","sw_item","segment","sw_block_item","sw_volta","sw_aba","sw_block","sw_optional_alternates","sw_alternates","$accept","$end","terminals_","productions_","performAction","yytext","yyleng","yylineno","yystate","$$","_$","$0","$","root","blockLayout","singleLayout","voltaBlock","abaBlock","table","defaultActions","parseError","recoverable","Error","input","self","stack","vstack","lstack","args","call","arguments","lexer","create","sharedState","prototype","hasOwnProperty","setInput","yylloc","yyloc","ranges","options","getPrototypeOf","symbol","state","action","len","newState","expected","lex","token","yyval","errStr","showPosition","text","match","line","loc","first_line","last_line","first_column","last_column","apply","items","item","start","end","index","speard","it","serializeSeq","_input","_more","_backtrack","done","matched","conditionStack","offset","ch","unput","lines","substr","oldLines","more","reject","backtrack_lexer","less","pastInput","past","replace","upcomingInput","next","pre","c","test_match","indexed_rule","backup","matches","tempMatch","rules","_currentRules","flex","begin","condition","popState","pop","conditions","topState","abs","pushState","stateStackSize","yy_","$avoiding_name_collisions","YY_START","INITIAL","inclusive","Parser","grammar$1","StaffGroupType","StaffConjunctionType","singleGroup","Default","staff","BOUNDS_TO_GROUPTYPE","Brace","Bracket","Square","CONJUNCTIONS_MAP","Blank","Solid","Dashed","randomB64","random","makeGroupsFromRaw","parent","remains","word","shift","bound","group","level","subs","grand","every","groupHead","groupTail","groupDict","groupKey","StaffLayout","raw","ids","Set","prefix","name","has","makeUniqueName","add","staffIds","conjunctions","conjunction","leftBounds","rightBounds","groups","indexOf","maskCache","stavesCount","partGroups","grands","g","some","standaloneGroups","collect","conjunctionBetween","upStaff","downStaff","con","min","makeMaskLayout","mask","nextId","partialMaskCode","bits","withIds","staffStatus","status","joinGroup","subStr","pair","Boolean","partial","inner","bracketCode","$Vb","$Vc","staff_layout","seq_id","seq_br","seq_con","bound_left","bound_right","bound_lefts","bound_rights","ID","seq_bl","Seq","tip","bl","br","Item","grammar","parseCode","DummyLogger","debug","groupCollapsed","groupEnd","info","assert","roundNumber","precision","Infinity","max","distance2D","p1","p2","dx","dy","sqrt","gcd","a","b","isInteger","frac","numerator","denominator","reducedFraction","d","printFraction","fractionMul","fraction","segmentPoints","points","axis","sorted","sort","seg","lastP","segments","filterWeekPoints","rests","find","weeks","solveOverlapping","pset","xClusters","clusters","ps","delete","GROUP_N_TO_PITCH","noteToPitch","note","alter","gn","mod7","argmax","WHOLE_DURATION","AccessoryDirection","GraceType","StemBeam","TremoloLink","GlissandoStyle","ArpeggioStyle","Term","EventTerm","space","tick","duration","term","accessories","pivotX","alignedTick","grace","mainDuration","multiplier","timeWarp","divider","prior","fullMeasureRest","tipX","tipY","ys","tremoloCatcher","tremoloLink","Catcher","scaleChord","pitches","pitch","zeroHolder","ContextType","ContextedTerm","Token.TokenClefs","tokenType","Clef","KeyAcc","Acc","Token.TokenOctshifts","OctaveShift","Token.TokenTimesigsC","TimeSignatureC","Token.TokenTimesigsN","TimeSignatureN","staffLevel","clef","KeyNatural","KeySharp","KeyFlat","octaveShift","OctaveShift8va","OctaveShift8vb","number","MarkTerm","MUSIC_NOTES","fromCodePoint","TempoTerm","fromNumeralText","findIndex","beats","durationMagnitude","den","dot","bpm","isValid","GlyphTerm","TextTerm","LyricTerm","CommandTerm","ChordmodeTerm","BEAM_STATUS","Open","Continue","Close","evaluateMeasure","regulated","eventMap","events","validEvents","voices","flat","warpedEvents","warps","irregularWarps","fractionalWarp","tickSum","eventN","event","tickOverlapped","complicatedTimewarp","size","literalDuration","timeSignature","sigDuration","doubtfulTimesig","inVoiceEvents","corruptedVoiceEvent","overranged","over","overDuration","graceInVoice","graceN","graceDominant","irregularTick","beamBroken","broken","ei","beam","spaceTime","surplusTime","eventDuration","sum","nullEvents","predisposition","fakeP","fakeEvents","voiceRugged","es","tickTwist","tickRatesInStaves","rate","perfect","estimatedDuration","fine","expectDuration","durationRate","qualityScore","patched","spaceLoss","tanh","irregularWarpsN","SemanticGraph","fromPoints","graph","getLayer","getConfidentLayer","threshold","getSystemPoints","getStaffPoints","scale","factor","transform","matrix","extension","y1","y2","scaling","height","MEASURE_SEMANTICS","GraceNotehead","CrescendoBegin","CrescendoEnd","DecrescendoBegin","DecrescendoEnd","TremoloLeft","TremoloRight","TremoloMiddle","STAFF_LINED_SEMANTICS","LINED_INTERVAL_SEMANTICS","NOTEHEAD_FOR_STEM_SEMANTICS","KEYACC_CANDIDATE_SEMANTICS","NOTEHEAD_TABLE","up","down","REST_SEMANTICS","TOKEN_TO_STEMBEAM","TEXT_TYPE_ALIAS","Alter1","Alternation1","Alter2","Alternation2","noteheadsXPivot","xs","mean","x1","x2","Measure","tokens","antiTokens","barTypes","noteheads","n1","n2","chordRects","nh","nulN","nhmap","hh","nhs","top","bottom","nh0","stemX","stemDirection","timeWarped","additionalLines","chords","getChords","chord","ceil","flags","beams","chordRcs","rect","noteIds","c1","c2","accs","flagRange","nearbyFlags","flag","beamToken","nearbyDots","getRests","dotValue","getEvents","e1","e2","getContexts","assignAccessoriesOnEvents","accessory","relatedEvents","owner","d1","d2","Down","Up","sortEvents","arpeggio","Grace","tremolsLs","tremolsRs","tremolsMs","tevents","stemL","stemR","tm","te","tremolo","tl","Pitcher","tr","assignFeaturesOnEvents","semantics","dotPs","beamLs","beamMs","beamRs","gracePs","tremoloRs","stems","vline_Stem","s0","s1","s2","cx","divisions","ss","i_flags","f1","f2","i_dots","dots2","bs","u_stems","stem","d_stems","stemDirections","graces","tremolos","feature","Staff","measureCount","measureBars","staffY","measures","endX","noteRange","rearrangeMeasures","reassignTokens","assignSemantics","assemble","system","logger","qualifiedSemantics","TempoNotehead","tempoNh","splice","antiP","displacementSemantics","appendPoint","semanticTop","semanticBottom","rootNhs","nhOffsetX","attachedHeads","topDist","bottomDist","antiPoint","nearStems","appendFlags","dotLines","sy","keyaccs","acc","oct","voltaDots","VoltaLeft","VoltaRight","voltaGroups","lined","interval","signs","fixedY","roundY","holder","mainFlag","downward","tailY","count","clearTokens","clearPredictedTokens","System","HEAD_WIDTH","segmentLength","staves","arrangePosition","sidBlackList","sidWhiteList","staffTop","staffBottom","staffPositions","radius","staffMask","staffMaskChanged","prev","positions","tidyMeasureBars","b1","b2","restWidth","connectionLine","staffHead","staffTail","middleY","timeSignatureOnHead","getStaffArray","si","on","getMarksInMeasure","measureIndex","textType","TempoNumeral","headMeasureIndex","columns","rows","contexts","voltaBegin","voltaEnd","alternative","mi","timeSigs","row","marks","ts","column","lastColumn","break","getEventsFunctional","ev","processors","useXMap","localRows","xMap","groupMap","tickGroup","proc","oy","bars","lastX","barColumns","bar","intensity","barXs","prevStaff","nextStaff","newPoint","appendToken","fontSize","overlap","Page","systems","assignTexts","areas","imageHeight","imageWidth","dimensions","area","cy","rp","score","rect_Text","theta","textFeature","feature_dict","textAnnotations","sysXs","middleX","indent","Text","textFeasure","Title","Author","PageMargin","Other","Chord","MeasureNumber","Instrument","TextualMark","Times","sx","SemanticElementType","TIME_SIG_DENOMINATORS","fromEntries","TIME_SIG_NUMERATORS","et","ELEMENT_TOKEN_NAMES","BOS","NoteheadGrace","NOTEHEAD_BASE_DIVISION","NOTEHEAD_ELEMENT_TYPES","REST_ELEMENT_TYPES","BEAM_ELEMENT_TYPES","NOTE_ELEMENT_TYPES","SOURCE_ELEMENT_TYPES","TARGET_ELEMENT_TYPES","ROOT_NOTE_ELEMENT_TYPES","ELEMENT_TO_STEMBEAM","metaElem","BOS_ELEMENT","fractionToElems","SemanticCluster","elementToJSON","elem","sourceMask","elements","targetMask","vMask","compactMatrixH","matrixH","j","expandMatrixByMasks","compactMatrixV","_matrixV","matrixV","expandMatrixByMaskTriu","groupsV","matrixFromGroups","found","mapMatrix","x2i","i2x","xi","mergeOverlapping","overlaps","overlappedNoteheads","ij","ii","nh1","nh2","masks","stemMasks","stemNotes","s0s","subS0Masks","stemMap","stemId","i1","i2","prevId","linkings","roots","parentMasks","parentId","rootId","subNotes","dotGroups","tipRange","beamElem","iter","gen","maskSrc","maskTar","src","tar","groupIds","id1","id2","ImplicitType","Stream","buffer","Uint8Array","position","eof","read","readString","readInt32","readInt16","readInt8","signed","readVarInt","OStream","write","writeInt32","writeInt16","writeInt8","writeVarInt","getBuffer","getArrayBuffer","charCodeAt","MIDI","parseMidiData","readChunk","stream","lastEventTypeByte","readEvent","deltaTime","eventTypeByte","param1","eventType","channel","subtype","noteNumber","velocity","amount","controllerType","programNumber","subtypeByte","microsecondsPerBeat","hourByte","frameRate","hour","sec","frame","subframe","pow","metronome","thirtyseconds","headerChunk","headerStream","formatType","trackCount","timeDivision","ticksPerBeat","header","tracks","trackChunk","trackStream","encodeMidiFile","writeChunk","writeEvent","frameByte","MidiSequence","midiToSequence","midiFile","trackStates","beatsPerMinute","nextEventIndex","ticksToNextEvent","getNextEvent","nextEventTrack","nextEvent","ticksToEvent","track","midiEvent","processNext","secondsToGenerate","time","processEvents","trimSequence","clear","fixOverlapNotes","noteMap","overlapMap","swaps","leapIndex","swap","front","back","offEvent","leapEvent","tempo","require$$0","PedalControllerTypes","Notation","parseMidi","fixOverlap","channelStatus","pedalStatus","pedals","channels","millisecondsPerBeat","barIndex","keyRange","correspondences","rawTicks","ticks","tempos","rawEvents","deltaTicks","deltaBeats","startTick","low","statusIndex","endTick","finger","high","pedalType","captures","fingers","isNaN","log","endTime","meta","notes","pitchMap","beatInfos","lastInfo","beatIndex","entry","findChordBySoftindex","softIndex","averageTempo","tickRange","to","endtick","span","ticksToTime","next_tempo_index","tempo_index","timeToTicks","tickRangeToTimeRange","scaleTempo","headTempo","MusicNotation","animationDelay","Promise","resolve","requestAnimationFrame","MidiPlayer_1","MidiPlayer","midiData","cacheSpan","onMidi","onPlayFinish","onTurnCursor","notation","isPlaying","progressTime","startTime","performance","now","cursorTurnDelta","dispose","progressTicks","play","nextFrame","currentEventIndex","backturn","eventTime","pause","turnCursor","config","CostStepAttenuation","SkipDeep","PriorDistanceSigmoidFactor","PriorValueSigmoidFactor","SkipCost","LagOffsetCost","LeadOffsetCost","ZeroOffsetCost","RelocationThreshold","Config","require$$1","Node","s_note","c_note","_prev","_totalCost","_value","cacheDirty","ci","rootSi","cost","skip","updateCache","totalCost","selfCost","deep","path","node","dump","evaluatePrev","evaluatePrevCost","bias","priorByOffset","distance","navigator","Navigator","criterion","sample","getCursorOffset","outOfPage","bestNode","fineCursor","breakingSI","zeroNode","relocationThreshold","step","prevNote","prevNode","cursors","nullLength","nullSteps","cursor","resetCursor","breaking","deltaSi","fromIndex","toIndex","backPrior","cursorOffset","relocationTendency","normalizeInterval","HEART_BEAT","makeNoteSoftIndex","softIndexFactor","lastNote","Matcher","makeMatchNodes","targetList","targetNote","genNotationContext","runNavigation","async","onStep","Symbol","for","EXCLUDE_MIDI_EVENT_SUBTYPES","encodeToMIDIData","unclosedNoteDuration","msToTicks","Date","process","env","VUE_APP_BUILD_TIME","toDateString","MidiUtils","sliceMidi","midi","trackDeltaToAbs","lastTick","trackAbsToDelta","sliceTrack","encodeToMIDI","musicWidgets","require$$2","require$$3","require$$4","COMMON_NOTE_FIELDS","MetaNotation","fromAbsoluteNotes","measureHeads","__","mnotes","mn","field","idTrackMap","performAbsoluteNotes","abNotes","withRestTied","tied","overlapped","staffTrack","contextIndex","implicitType","chordPosition","priorNote","ripe","trackTickBias","headMeasure","trackNames","idSet","toAbsoluteNotes","measureIndices","measureTick","measureNotes","mnote","toPerformingNotation","WHOLE_DURATION_MAGNITUDE","toPerformingMIDI","trackList","zeroTick","measureEvents","mevent","eventPriority","subnote","finalTick","toPerformingNotationWithEvents","assignNotationNoteDataFromEvents","setTempo","midiNotation","noteId","CryptoJS","exports","crypto","window","msCrypto","global","require","err","cryptoSecureRandomInt","getRandomValues","Uint32Array","randomBytes","readInt32LE","F","obj","C","C_lib","lib","Base","extend","overrides","mixIn","init","$super","instance","properties","propertyName","clone","WordArray","words","sigBytes","encoder","Hex","wordArray","thisWords","thatWords","thisSigBytes","thatSigBytes","clamp","thatByte","nBytes","C_enc","enc","hexChars","bite","hexStr","hexStrLength","parseInt","Latin1","latin1Chars","latin1Str","latin1StrLength","Utf8","decodeURIComponent","escape","utf8Str","unescape","encodeURIComponent","BufferedBlockAlgorithm","reset","_data","_nDataBytes","_append","_process","doFlush","processedWords","dataWords","dataSigBytes","blockSize","nBlocksReady","nWordsReady","_minBufferSize","nBytesReady","_doProcessBlock","Hasher","cfg","_doReset","update","messageUpdate","finalize","_doFinalize","_createHelper","hasher","message","_createHmacHelper","C_algo","HMAC","algo","H","K","isPrime","sqrtN","getFractionalBits","nPrime","W","SHA256","_hash","M","h","gamma0x","gamma0","gamma1x","gamma1","maj","sigma0","t1","nBitsTotal","nBitsLeft","HmacSHA256","factory","HashVector","fromHash","byte","fromString","_SHA256","uwords","word_len","fromWords","vectors","toHash","bit","vec","crop","ODDS","odds","odd","cosHashes","hash1","hash2","xor","xorHashes","i2hex","Sylvester","Matrix","setElements","I","els","dup","isSquare","cols","toRightTriangular","np","determinant","det","isSingular","augment","T","nj","inverse","divisor","new_element","inverse_elements","DURATION_MULTIPLIER","floatToTimeWarp","floatToFrac","ActionType","EventElementType","SimplePolicy","Action","P","PLACE","V","order","VERTICAL","HORIZONTAL","StageMatrix","fromNode","stages","actions","stage1","stage","stage2","stagedEvents","endHs","endHP","hActions","pendingHeads","eid","pathOf","target","findDoublePath","paths","reducePath","toEquations","eventCount","equations","path1","path2","equation","PathNode","last","like","constructStages","unshift","newStage","constructConstraints","factors","constraints","inbalancesConstraints","ones","fixed","inbalances","constraint","solveEquations","xis","equationMap","conflicted","squareLines","restLines","candidateLines","sl","invert","mat","matrixInverse","solution","optimallySolve","shrinkMap","shrinkness","released","releasedIds","lowWarp","isConflicted","eventTendencies","timeWarps","getSolution","actionKey","hacts","a1","a2","hmap","act","startEs","se","estages","solveStages","changed","measureDuration","outEI","deduce","quota","access","actionAccessing","closed","credits","children","expand","possibility","child","branches","appendBranch","branch","Solver","event0","measureShrinkness","expectedDuration","xSpan","solve","pathRoot","bestSolution","evaluateSolution","loss","sevents","partialFrac","weight","staffAlters","eventsXOrder","tickTwists","dt","atan2","PI","PatchMeasure","staffN","basics","basic","EventCluster","regular","CHORD","REST","fake","fullMeasure","grant","annotation","endElem","EOS","assignPrediction","prediction","pe","EventClusterSet","trimIrregular","ir","cluster","computeMeasureTicks","roundX","constructXMap","eventGroups","divisionVector","dotsVector","computeMeasureVoices","eventSet","pushEvent","e0","EquationPolicy","INVERT_SQRT2","FINE_BEAMS","bb","solveStaffGroup","staffGroup","EquationSolver.Solver","estiamteMeasure","allEvents","tickEstimated","pR","eventStartX","staffGroupMap","staffGroups","ievents","startX","hp","erf","staffDecay","exp","yDecay","dtx","nR","regulateMeasure","solver","mp","resultEvents","solutionStat","solverCredits","solverTimes","regulateMeasureWithRectification","rectification","re","priority","tickN","SpartitoMeasure","reorderEvents","staffYsFull","rx","ry","yi","yis","intX","intY","originalRegulationHash","regulationHash","postRegulate","keySignature","timeSignatureChanged","validRegulated","tickMap","endEvent","tickToX","tickRates","rates","tickRatesInGroups","gevents","groupIndex","twists","empty","hasIllEvent","brief","regulationHash0","regulationHashes","featureWords","invalid","uys","melodies","rhythm","barType","typeEntris","partialDuration","signatureDuration","updateRoundX","graceEvents","staffMap","smap","oldEvent","emap","preTick","graceIds","totalDuration","warp","solveGraceEvents","catchers","pitchers","catcher","candidates","pitcher","catcherId","pi","solveTremoloPairs","updateContextTick","terms","t2","asSolution","ref","refEvent","applySolution","cleanupRegulation","regulateTest","regulateSimple","regulateEquations","regulate","policy","createPatch","createClusters","trueEventIds","idx","staffIndices","staffY0","staffYs","staffYn","headY","backgroundImages","url","applyClusters","id_max","is","srcId","tarId","emptyVoiceFromStaffMeasure","chiefVoice","timeSigNumeric","contextedTerms","markingTiesInVoice","event1","p0","tying","si0","si1","Spartito","solidMeasureCount","measureIndexMapping","headBPM","tempoMark","mark","measureLayoutCode","ms","vb","ve","leftSign","rightSign","nextI","mm","nextVBI","pms","lastVEI","lastMI","dumpEvaluations","rectifyTimeSignatures","mis","newTimeSignature","measuresToFix","originTimeSignature","regularD","numerators","countings","peakCount","bestCounting","best","reducedN","makeVoiceStaves","voiceCount","leftStaves","lastEvent","tailEvent","tailStaff","pageBreak","headStaff","sd","trait","staffToGroup","voiceTraits","vector","v1","v2","leftVoices","voiceTrait","vs","consistencies","voiceIndex","m1","m2","staffVoiceIndices","vi","mode","removeEmptyMeasuresInVoicesStaves","perform","tokenMap","staffToChannel","voiceChannels","hasTempo","nextTick","events0","voice0","part","pitchValue","performByEstimation","noteTick","featureHash","measureWords","levels","meaures","vecY","vecMelody","vecRhythm","featureHashHex","featureHashBigInt","BigInt","assignMeasureNumbers","discard","measureNumber","mod12","ALTER_NAMES","StaffContext","keyAlters","alters","timeSigNumSet","timeSigDenSet","doubtingTimesig","change","yToNote","partialTimeSignature","resetMeasure","resetSystem","noteToY","pitchToNote","preferredAlter","gp","alteredGp","naturalNote","alterValue","keyAlterValue","pitchToY","alterOnNote","yToPitch","yToPitchName","bitsToMask","Score","version","layoutTemplate","staffLayoutCode","pages","page","spartito","upgradeScoreData","headers","instrumentDict","pageSize","unitSize","maxStavesCount","imageKeys","backgroundImage","maskImage","breakSystemIndices","systemCount","staffLayout","staffLayout.parseCode","semanticHash","eventSystemsToTermStaves","eventSystems","termStaves","sys","context","startEvent","processStaffContext","resetPageLayout","parameters","newCenter","offsetX","offsetY","getMeasure","localIndex","getRawCluster","systemY0","y0","getRawClusters","makeSpartito","ri","esys","patch","patches","makeMusicSheet","voiceStaves","title","paperOptions","measureLayout","getMeasureLayout","findPoint","sid","pageIndex","getMeasureSemantics","sy1","sy2","makeTimewiseGraph","store","getTokenMap","confidenceThreshold","append","assembleSystem","markVoices","vis","replaceImageKeys","all","then","inferenceStaffLayout","staffTotal","completeSystems","bracketsAppearance","candidateCodes","codeCounting","maxCount","connectedCode","lastSys","search","code1","startsWith","assignBackgroundForMeasure","imagePosition","original","blackoutFakeNotes","scope","inScope","fakeIds","voicedIds","fakeIdSet","blackIds","measureLayout.parseCode","splitToSingleScoresGen","startSysIndices","templateScore","topology","startSysIndex","endSysIndex","sysInRange","newScore","SubScoreSystem","SubScorePage","splitToSingleScores","EditableEvent","agent","Proxy","ownKeys","getOwnPropertyDescriptor","enumerable","configurable","EditableMeasure","syncVoiceToEvents","syncVoiceFromEvents","makeMIDI","subEvents","midiEvents","BeadType","DIVISION_NAMES","SPACE_LOSS_WEIGHT","POSSIBILITY_LOW_BOUNDARY","STEM_DIRECTION_OPTIONS","BEAM_OPTIONS","saveClusterState","BeadNode","accessCount","nextBranch","possibilities","currentElem","elemIndex","branchID","ni","Pass","Division","Dots","repeat","picker","ptFactor","evaluateCluster","pretentiousness","selfEval","element","residue","fatalError","predictCluster","evaluation","estimateElementDuration","eos","lastOrder","voiceN","scales","referenceScale","nearScale","tickSpan","twist","tickMSE","tickErr","mse","spaceDuration","solveCluster","stopLoss","suc0","bestEvaluation","bestState","restoreClusterState","fixedEvents","pendingEvents","near","stemDirectionVector","beamVector","solveMeasure","quotaMax","quotaFactor","worstLoss","durations","solutionEvents","tipElem","tickSet","glimpseMeasure","resetSignatureForDoubtfulOnly","estimateMeasure","StemTip","StemHead","rect_Lyric","SemanticClusterSet","vocab","converts","connection","SUPPORT_CLEF_TYPES","starry.TokenType","tokenToText","ReflectOwnKeys","R","Reflect","ReflectApply","receiver","Function","getOwnPropertySymbols","getOwnPropertyNames","NumberIsNaN","EventEmitter","eventsModule","once","emitter","errorListener","removeListener","resolver","eventTargetAgnosticAddListener","handler","addErrorHandlerIfEventEmitter","_events","_eventsCount","_maxListeners","defaultMaxListeners","checkListener","listener","TypeError","_getMaxListeners","that","_addListener","prepend","existing","warning","newListener","emit","warned","w","onceWrapper","fired","wrapFn","_onceWrap","wrapped","bind","_listeners","unwrap","evlistener","arr","ret","unwrapListeners","arrayClone","listenerCount","copy","addEventListener","wrapListener","arg","removeEventListener","destructPromise","timeout","rs","rj","setTimeout","defineProperty","RangeError","setMaxListeners","getMaxListeners","doError","er","listeners","addListener","prependListener","prependOnceListener","list","originalListener","spliceOne","off","removeAllListeners","rawListeners","eventNames","AsyncQueue","working","tasks","_digest","taskFn","payload","addTask","task","promise","ZeroClient","queue","socket","Request","sendTimeout","receiveTimeout","connect","__request","retryTimes","req","send","pack","receive","close","request","method","kwargs","args_","kwargs_","msg","opt","unpack","PyProcessor","scriptPath","retryCount","retryDelay","port","freePort","getPortPromise","stopPort","defaultsDeep","pyShell","PythonShell","stdout","isBuffer","inherits_browserModule","ctor","superCtor","super_","writable","TempCtor","util","inherits","inheritsModule","getOwnPropertyDescriptors","descriptors","formatRegExp","format","isString","objects","inspect","isNull","isObject","deprecate","fn","noDeprecation","throwDeprecation","traceDeprecation","debugEnviron","debugs","opts","ctx","seen","stylize","stylizeNoColor","depth","colors","isBoolean","showHidden","_extend","isUndefined","customInspect","stylizeWithColor","formatValue","styleType","style","styles","recurseTimes","isFunction","primitive","simple","isNumber","formatPrimitive","visibleKeys","val","arrayToHash","isError","formatError","isRegExp","RegExp","isDate","output","base","braces","toUTCString","formatProperty","formatArray","cur","reduceToSingleString","desc","ar","objectToString","pad","debuglog","NODE_DEBUG","toUpperCase","pid","bold","italic","underline","white","grey","black","blue","cyan","green","magenta","red","yellow","special","boolean","null","string","date","regexp","isNullOrUndefined","isSymbol","isPrimitive","months","prop","getHours","getMinutes","getSeconds","getDate","getMonth","origin","kCustomPromisifiedSymbol","callbackifyOnRejected","reason","cb","newReason","promisify","promiseResolve","promiseReject","defineProperties","custom","callbackify","callbackified","maybeCb","rej","getPort","base64map","crypt","rotl","rotr","endian","bytes","bytesToWords","wordsToBytes","bytesToHex","hex","hexToBytes","bytesToBase64","base64","triplet","charAt","base64ToBytes","imod4","cryptModule","charenc","utf8","stringToBytes","bin","bytesToString","charenc_1","api","digestbytes","H0","H1","H2","H3","H4","asBytes","asString","_blocksize","_digestsize","sha1Module","constructSystem","detection","imageSize","systemWidth","phi2","phi1","systemHeight","lastSystem","stavesTops","middleRhos","starry.Staff","starry.System","convertImage","maxHeight","quality","buf","got","responseType","decompress","https","rejectUnauthorized","toBuffer","webpBuffer","sharp","resize","fit","withoutEnlargement","toFormat","filename","SparkMD5","ArrayBuffer","OffscreenCanvas","Canvas","Image","STAFF_PADDING_LEFT","GAUGE_VISION_SPEC","viewportHeight","viewportUnit","MASK_VISION_SPEC","SEMANTIC_VISION_SPEC","concurrencyTask","fns","shootStaffImage","paddingLeft","spec","middleUnits","canvas","getContext","fillStyle","fillRect","drawImage","loadImage","shootStaffBackgroundImage","sourceCanvas","toBufferSync","gaugeStaff","gaugeImage","pyClients","sourceBuffer","baseY","predictScoreImages","maskStaff","img","semanticStaff","settings","semanticConfidenceThreshold","replacePageImages","onReplaceImageKey","OMRProgress","onChange","setTotal","total","finished","increase","lruCache","WeakLRUCache","pageStore","getValue","setValue","onReplaceImage","multinomial_1","pvals","looseVector","ns","looseEvent","MeasureRectification","roll","DefaultSolutionStore","PendingCondition","solveMeasureRecords","records","onUpdate","pendingCondition","NotFine","pass","onProgress","pendingRecords","ErrorOnly","Imperfect","isPending","record","current","starry.beadSolver.solveMeasure","starry.evaluateMeasure","better","remaining","RECTIFICATION_SEARCH_ITERATIONS","BASE_QUOTA_FACTOR","RECTIFICATION_QUOTA_FACTOR","computeQuota","limit","solveMeasures","solutionStore","ignoreCache","cached","solved","stat","computed","solveMeasuresWithRectifications","n_rec","rec","default","stale","genMeasureRectifications","testMeasure","doSimpleRegulate","PyClients","clients","getClient","client","option","checkHost","warmup","clientType","res","by_buffer","stats","costTotal","pagesCostTotal","pagesTotal","pagesCost","costPerPage","scoreN","pickerCost","measureN","timeN","tryTimes","costPerMeasure","costPerTime","issue","fatal","baseCostTotal","topoCostTotal","baseMeasures","topoMeasures","baseCost","topoCost","baseCostPerMeasure","topoCostPerMeasure","baseComputed","baseSolved","topoSolved","topoIssue","topoFatal","onSaveIssueMeasure","t0","issueMeasures","results","cs","solvedIndices","errorIndices","n_issues","doRegulateWithTopo","maskImages","hasMaskImage","scoreJson","idsMap","idsXMap","idStaffIndexMap","coverTexts","subtitles","subtitle","authors","composer","bgWidth","bgHeight","l1","ls","parts","partTemplates","measureXs","partIndex","template","staffIndexBase","paddedStaves","chordColumns","staffIndexInPart","noteIndex","measureStartX","elems","firstX","innerId","lastFifths","clefs","pt","fifths","lineStaves","systemTopStaff","systemBottomStaff","systemTopStaffY","systemBottomStaffY","lastPartLastStaff","partStaves","staffs","details","hide","visibleStaves","partTopStaff","partBottomStaff","partTopStaffY","partBottomStaffY","distances","imgs","spartitoMeasure","parti","mIndices","sortedParts","midiJson","measInfo","ent","idNoteMap","beatsCurrent","beatsUnitCurrent","mIndex","beatsUnit","evt","note_ticks","measureInfos","beatUnit","mergedTracks","trackIndex","program","lhPattern","rhPattern","instrus","hand","handStaves","trackToSplit","newTracks","stave","rightHandTrack","leftHandTrack","transformedTracks","onEvent","measureTickMap","numId","newEvent","elem_ids","meas_start_tick","images","outputWidth","processes","progress","image","starry.Score","raggedLast","raggedLastBottom","enabledGauge","originalImages","pageCanvasList","scaleForLayout","sourceSize","detections","cvs","enableGauge","imageURLMap","collectImage","createPage","detect","pageKey","cachedPageJson","omit","renew","starry.recoverJSON","starry","starry.Page","unit","cos","sin","needGauge","correctCanvas","pageCanvas","save","setTransform","restore","getImageData","putImageData","sourceCenter","shootImageByDetection","sizeRatios","staffInterval","vw","hwr","maxVW","maxAspect","setGlobalPageSize","systemsCount","allTasks","omitPages","n_page","pageTasks","bracketImages","topMid","bottomMid","sourceRect","OUTPUT_INTERVAL","bracketsRes","buffers","bufferForText","location","box","resultOCR","titleToken","gaugeRes","maskRes","semanticRes","t3","pickers","freshOnly","onPassStart","baseQuality","n_seq","starry.beadSolver.estimateMeasure","counting","toFixed","totalMeasures","computeRemaining","wrappedOnProgress","starry.EditableMeasure","saveMeasure","solutions","batchGet","originMeasure"],"mappings":"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ACb5C,EAAa6C,KACb7C,EAAa8C,KACb9C,EAAa+C,IACb/C,EAAagD,MACbhD,EAAaiD,MACbjD,EAAakD,KACblD,EAAaiF,WACbjF,EAAakF,SACblF,EAAamF,eACbnF,EAAaoF,QACbpF,EAAaqF,YACbrF,EAAaS,WACbT,EAAaU,WACbV,EAAaW,WACbX,EAAasL,gBACbtL,EAAauL,gBACbvL,EAAawL,gBACbxL,EAAayL,gBACbzL,EAAa8D,MACb9D,EAAa+D,MACb/D,EAAagE,MACbhE,EAAaiE,MACbjE,EAAakE,MACblE,EAAamE,MACbnE,EAAaoE,MACbpE,EAAaqE,OACbrE,EAAasE,OACbtE,EAAawJ,UACbxJ,EAAayJ,QACbzJ,EAAagF,IACbhF,EAAayB,EACbzB,EAAa2B,EACb3B,EAAa0B,EACb1B,EAAa0F,EACb1F,EAAa4B,EACb5B,EAAa6B,EACb7B,EAAa8B,EACb9B,EAAa2F,cACb3F,EAAa4F,mBACb5F,EAAa6F,eACb7F,EAAa8F,eACb9F,EAAamD,oBACbnD,EAAa+F,WACb/F,EAAagG,YACbhG,EAAaiG,YACbjG,EAAakG,WACblG,EAAamG,eACbnG,EAAaoG,YACbpG,EAAaqG,cACbrG,EAAasG,cACbtG,EAAauG,aACbvG,EAAawG,cACbxG,EAAayG,UACbzG,EAAa0G,SACb1G,EAAaquB,cACbruB,EAAayE,SACbzE,EAAa2E,UACb3E,EAAa0E,aACb1E,EAAasuB,eACbtuB,EAAauuB,aACbvuB,EAAawuB,iBACbxuB,EAAayuB,eACbzuB,EAAa0uB,YACb1uB,EAAa2uB,aACb3uB,EAAa4uB,eAGRC,GAAwB,CAC7B7uB,EAAaiF,WACbjF,EAAakF,SACblF,EAAamF,eACbnF,EAAaoF,QACbpF,EAAaqF,YACbrF,EAAaS,WACbT,EAAaU,WACbV,EAAaW,WACbX,EAAasL,gBACbtL,EAAauL,gBACbvL,EAAawL,gBACbxL,EAAayL,iBAGRqjB,GAA2B,CAAC9uB,EAAawE,UAAWxE,EAAauE,cAEjEwqB,GAA8B,CAAC/uB,EAAaU,WAAYV,EAAaW,YAErEquB,GA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"} \ No newline at end of file diff --git a/backend/omr/dist/regulator.d.ts b/backend/omr/dist/regulator.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..153698275b7aacd85304d4450f697a5628fe43cf --- /dev/null +++ b/backend/omr/dist/regulator.d.ts @@ -0,0 +1,5634 @@ +/// +import { MusicNotation, MIDI } from "@k-l-lambda/music-widgets"; +import { Options } from "python-shell"; +//import { encodeFindResource } from '../../src/isomorphic/converter'; +import { FormatEnum } from "sharp"; +interface Logger { + info: (...data: any[]) => void; + error: (...data: any[]) => void; +} +type PyArgs = any[]; +type PyKwargs = Record; +declare class ZeroClient { + logger: Logger; + private socket; + private queue; + private url; + constructor(logger?: Logger); + bind(url?: string): void; + private __request; + request(method: string, args?: PyArgs | PyKwargs, kwargs?: PyKwargs): Promise; +} +declare namespace measureLayout { + const recoverJSON: (json: string | object, classDict: any) => T; + class SimpleClass { + assign(data?: object): void; + toJSON(): any; + deepCopy(): this; + } + enum LayoutType { + Ordinary = "ordinary", + Full = "full", + Conservative = "conservative", + Once = "once" + } + interface MeasureLayout { + serialize(type: LayoutType): number[]; + seq: MeasureSeq; + code: string; + } + type MeasureSeq = MeasureLayout[]; + class SingleMLayout extends SimpleClass implements MeasureLayout { + static className: string; + measure: number; + static from(measure: number): SingleMLayout; + constructor(data?: any); + serialize(): number[]; + get seq(): MeasureSeq; + get code(): string; + } + class BlockMLayout extends SimpleClass implements MeasureLayout { + static className: string; + seq: MeasureSeq; + static trimSeq(seq: MeasureSeq): MeasureSeq; + static fromSeq(seq: MeasureSeq): BlockMLayout; + constructor(data?: any); + serialize(type: LayoutType): number[]; + get code(): string; + } + class VoltaMLayout extends SimpleClass implements MeasureLayout { + static className: string; + times: number; + body: MeasureSeq; + alternates: MeasureSeq[]; + constructor(data?: any); + serialize(type: LayoutType): number[]; + get seq(): MeasureSeq; + get code(): string; + } + class ABAMLayout extends SimpleClass implements MeasureLayout { + static className: string; + main: MeasureLayout; + rest: MeasureSeq; + constructor(data?: any); + serialize(type: LayoutType): number[]; + get seq(): MeasureSeq; + get code(): string; + } + const parseCode: (code: string) => MeasureLayout; +} +declare namespace EquationSolver { + // implicit note (from expressive marks) types + enum ImplicitType { + None = 0, + Mordent = "mordent", + Prall = "prall", + Turn = "turn", + Trill = "trill", + Tremolo = "tremolo", + Arpeggio = "arpeggio" + } + interface ChordPosition { + index: number; + count: number; + } + class TokenPosition { + system?: number; + measure?: number; + x: number; + endX?: number; + } + interface Note extends MusicNotation.Note { + chordPosition?: ChordPosition; + measure?: number; + } + interface Notation { + notes: Note[]; + endTick: number; + } + interface SheetPosition { + system: number; + x: number; + } + interface Fraction { + numerator: number; + denominator: number; + } + interface StaffNoteProperties { + rest: boolean; + tied: boolean; + overlapped: boolean; + implicitType: ImplicitType; + afterGrace: boolean; + chordPosition: ChordPosition; + division: number; + contextIndex: number; + staffTrack: number; + } + interface MetaNote extends MusicNotation.Note, Partial { + id: string; + measure: number; + endTick: number; + } + interface SubNote { + startTick: number; + endTick: number; + pitch: number; + velocity?: number; + } + interface MeasureNote extends Partial { + tick: number; + pitch: number; + duration: number; + chordPosition: ChordPosition; + staff: number; + track: number; + channel: number; + id: string; + ids: string[]; + subNotes: SubNote[]; + } + interface MeasureEvent { + data: any; + track: number; + ticks?: number; + } + interface Measure { + tick: number; + duration: number; + notes: MeasureNote[]; + events?: MeasureEvent[]; + timeSignature?: Fraction; + keySignature?: number; + } + interface PerformOptions { + withRestTied?: boolean; + } + interface MidiEvent extends MIDI.MidiEvent { + ticks?: number; + measure?: number; + ids?: string[]; + staffTrack?: number; + staff?: number; + } + class MetaNotation { + //pitchContextGroup: PitchContextTable[]; + //measureLayout: MeasureLayout; + measures: Measure[]; + trackNames: string[]; + idTrackMap: { + [key: string]: number; + }; + ripe: boolean; + static fromAbsoluteNotes(notes: MetaNote[], measureHeads: number[], data?: Partial): MetaNotation; + static performAbsoluteNotes(abNotes: MetaNote[], { withRestTied }?: PerformOptions): MusicNotation.Note[]; + constructor(data?: Partial); + /*get ordinaryMeasureIndices (): number[] { + if (this.measureLayout) + return this.measureLayout.serialize(LayoutType.Ordinary); + + return Array(this.measures.length).fill(null).map((_, i) => i + 1); + }*/ + // In Lilypond 2.20.0, minus tick value at the head of a track result in MIDI event time bias, + // So store the bias values to correct MIDI time from lilyond. + get trackTickBias(): { + [key: string]: number; + }; + get idSet(): Set; + toJSON(): { + __prototype: string; + measures: Measure[]; + idTrackMap: { + [key: string]: number; + }; + trackNames: string[]; + ripe: boolean; + }; + toAbsoluteNotes(measureIndices: number[] /*= this.ordinaryMeasureIndices*/): MetaNote[]; + /*getMeasureIndices (type: LayoutType) { + return this.measureLayout.serialize(type); + }*/ + toPerformingNotation(measureIndices: number[] /*= this.ordinaryMeasureIndices*/, options?: PerformOptions): MusicNotation.Notation; + toPerformingMIDI(measureIndices: number[], { trackList }?: { + trackList?: boolean[]; + }): MIDI.MidiData & { + zeroTick: number; + }; + toPerformingNotationWithEvents(measureIndices: number[], options?: { + trackList?: boolean[]; + }): MusicNotation.Notation; + // find the MIDI event of setTempo in measures data, and change the value of microsecondsPerBeat + setTempo(bpm: number): boolean; + } + interface TickItem { + tick: number; + endTick?: number; + system: number; + measure: number; + x: number; + endX: number; + } + class Scheduler { + tickTable: TickItem[]; + static createFromNotation(midiNotation: Notation, tokenMap: Map): Scheduler; + static createFromTokenTable(tokenTable: { + [key: number]: TokenPosition[]; + }, endTick: number): Scheduler; + constructor({ tickTable }: { + tickTable: TickItem[]; + }); + get startTick(): number; + get endTick(): number; + lookupPosition(tick: number): SheetPosition; + lookupTick(position: SheetPosition): number; + } + enum TokenType { + // clefs + ClefG = "clefs-G", + // clefs.G_change + ClefF = "clefs-F", + // clefs.F_change + ClefC = "clefs-C", + // time signature + TimesigC44 = "timesig-C44", + TimesigC22 = "timesig-C22", + TimesigZero = "zero|timesig0", + TimesigOne = "one|timesig1", + TimesigTwo = "two|timesig2", + TimesigThree = "three|timesig3", + TimesigFour = "four|timesig4", + TimesigFive = "five|timesig5", + TimesigSix = "six|timesig6", + TimesigSeven = "seven|timesig7", + TimesigEight = "eight|timesig8", + TimesigNine = "nine|timesig9", + // octave shifts + OctaveShift8va = "octave-a", + OctaveShift8vb = "octave-b", + OctaveShift0 = "octave-0", + // numbers + Zero = "zero|n0", + One = "one|n1", + Two = "two|n2", + Three = "three|n3", + Four = "four|n4", + Five = "five|n5", + Six = "six|n6", + Seven = "seven|n7", + Eight = "eight|n8", + Nine = "nine|n9", + // accidentals + AccNatural = "accidentals-natural", + AccSharp = "accidentals-sharp", + AccDoublesharp = "accidentals-doublesharp", + AccFlat = "accidentals-flat", + AccFlatflat = "accidentals-flatflat", + KeyNatural = "accidentals-natural|key-natural", + KeySharp = "accidentals-sharp|key-sharp", + KeyFlat = "accidentals-flat|key-flat", + // noteheads + NoteheadS0 = "noteheads-s0", + NoteheadS1 = "noteheads-s1", + NoteheadS2 = "noteheads-s2", + NoteheadS1stemU = "noteheads-s1|noteheads-s1-u", + NoteheadS1stemD = "noteheads-s1|noteheads-s1-d", + NoteheadS2stemU = "noteheads-s2|noteheads-s2-u", + NoteheadS2stemD = "noteheads-s2|noteheads-s2-d", + // rests + Rest0 = "rests-0o", + Rest1 = "rests-1o", + Rest2 = "rests-2", + Rest3 = "rests-3", + Rest4 = "rests-4", + Rest5 = "rests-5", + Rest6 = "rests-6", + Rest0W = "rests-0", + RestM1 = "rests-M1", + // flags + Flag3 = "flags-u3", + // flags.d3 + Flag4 = "flags-u4", + // flags.d4 + Flag5 = "flags-u5", + // flags.d5 + Flag6 = "flags-u6", + // flags.d6 + Flag7 = "flags-u7", + // flags.d7 + Flag8 = "flags-u8", + // beams + BeamLeft = "|beam-left", + BeamRight = "|beam-right", + BeamContinue = "|beam-continue", + // tremolos + TremoloLeft = "|tremolo-left", + TremoloRight = "|tremolo-right", + TremoloMiddle = "|tremolo-middle", + // slur & tie + SlurBegin = "|slur-begin", + SlurEnd = "|slur-end", + TieBegin = "|tie-begin", + TieEnd = "|tie-end", + // volta + VoltaLeft = "|volta-left", + VoltaRight = "|volta-right", + VoltaAlternativeBegin = "|volta-alter-begin", + //VoltaAlternativeEnd = "|volta-alter-end", + // vertical bars + //BarMeasure = "|bar-measure", + BarTerminal = "|bar-terminal", + BarSegment = "|bar-segment", + // dots (duration) + Dot = "|dot", + DotDot = "|dotdot", + // dynamics + f = "f", + p = "p", + m = "m", + r = "r", + s = "s", + z = "z", + // + WedgeCrescendo = "|wedge-crescendo", + WedgeDiminuendo = "|wedge-diminuendo", + WedgeClose = "|wedge-close", + CrescendoBegin = "|wedge-crescendo", + DecrescendoBegin = "|wedge-diminuendo", + CrescendoEnd = "|wedge-close", + DecrescendoEnd = "|wedge-close", + // scripts + ScriptFermata = "scripts-ufermata", + // scripts.dfermata + ScriptShortFermata = "scripts-ushortfermata", + // scripts.dshortfermata + ScriptSforzato = "scripts-sforzato", + ScriptStaccato = "scripts-staccato", + ScriptStaccatissimo = "scripts-ustaccatissimo", + // scripts.dstaccatissimo + ScriptTurn = "scripts-turn", + ScriptTrill = "scripts-trill", + ScriptSegno = "scripts-segno", + ScriptCoda = "scripts-coda", + ScriptArpeggio = "scripts-arpeggio", + ScriptPrall = "scripts-prall", + ScriptMordent = "scripts-mordent", + ScriptMarcato = "scripts-umarcato", + // scripts.dmarcato + ScriptTenuto = "scripts-tenuto", + ScriptPortato = "scripts-uportato", + // pedal + PedalStar = "pedal-star", + PedalPed = "pedal-Ped", + Text = "|text", + GraceNotehead = "|grace-notehead" + } + const TokenTypes: TokenType[]; + const TokenClefs: TokenType[]; + const TokenTimesigs: TokenType[]; + const TokenTimesigsC: TokenType[]; + const TokenTimesigsN: TokenType[]; + const TokenOctshifts: TokenType[]; + const TokenNumbers: TokenType[]; + const TokenAccidentals: TokenType[]; + const TokenNoteheads: TokenType[]; + const TokenBareNoteheads: TokenType[]; + const TokenDirectionalNoteheads: TokenType[]; + const TokenRests: TokenType[]; + const TokenFlags: TokenType[]; + const TokenVolta: TokenType[]; + const TokenDynamics: TokenType[]; + const TokenScripts: TokenType[]; + const TokenPedals: TokenType[]; + const TokenDots: TokenType[]; + const TokenArcs: TokenType[]; + const TokenBeams: TokenType[]; + const TokenWedges: TokenType[]; + const TokenAccessories: TokenType[]; + const TokenDirectionless: TokenType[]; + const TokenGlyphs: TokenType[]; + const TOKEN_Y_ROUND: Record; + const TOKEN_Y_FIXED: Record; + class Token { + static className: string; + id: string; + type: TokenType; + x: number; + y: number; + pivotX?: number; + confidence: number; + tip?: { + x: number; + y: number; + }; + voice?: number; // integer, every bit stand for a voice + timeWarped?: boolean; + constructor(data: any); + get typeId(): string; + get isPredicted(): boolean; + get isNotehead(): boolean; + get isContexted(): boolean; + get isAccessory(): boolean; + get division(): number; + get dots(): number; + get direction(): "u" | "d" | null; + get width(): number; + get left(): number; + get right(): number; + get voiceIndices(): number[]; + } + class TextToken extends Token { + textType: TextType; + text: string; + textFeature?: Record; + width_: number; + fontSize: number; + constructor(data: any); + get width(): number; + set width(value: number); + } + const recoverJSON: (json: string | object, classDict: any) => T; + class SimpleClass { + assign(data?: object): void; + toJSON(): any; + deepCopy(): this; + } + const WHOLE_DURATION: number; + enum AccessoryDirection { + Up = "^", + Down = "_", + Middle = "-" + } + enum GraceType { + Grace = "grace", + AfterGrace = "afterGrace", + Acciaccatura = "acciaccatura", + Appoggiatura = "appoggiatura", + SlashedGrace = "slashedGrace" + } + enum StemBeam { + Open = "Open", + Close = "Close", + Continue = "Continue" + } + enum TremoloLink { + Pitcher = "Pitcher", + Catcher = "Catcher", + Pierced = "Pierced" + } + enum GlissandoStyle { + Normal = "normal", + DashedLine = "dashed-line", + DottedLine = "dotted-line", + Zigzag = "zigzag", + Trill = "trill" + } + enum ArpeggioStyle { + Normal = "Normal", + Bracket = "Bracket", + Parenthesis = "Parenthesis", + ParenthesisDashed = "ParenthesisDashed", + ArrowDown = "ArrowDown" + } + interface Accessory { + direction?: AccessoryDirection; + parenthesized?: boolean; + type: TokenType; + id?: string; + x: number; + } + interface TermPitch extends Pitch { + tying?: boolean; + tied?: boolean; + parenthesized?: boolean; + octaveShift?: number; + } + class Term extends SimpleClass { + x: number; + staff?: number; + } + type RestType = "r" | "R" | "s" | null; + interface DurationalTerm { + division: number; + dots: number; + multiplier?: Fraction; + } + class EventTerm extends Term implements DurationalTerm { + static className: string; + left: number; + right: number; + pivotX: number; + system: number; + roundX: number; // for tick map, scheduler + intX: number; // for measure hash + intY: number; + ys: number[]; // order by ascending pitch, low (greater Y) to high (less Y) + pitches?: TermPitch[]; + rest: RestType; + division: number; + dots: number; + accessories: Accessory[]; + multiplier: Fraction; + stemDirection: string; + tying: boolean; + tied: boolean; + repetitionChord: boolean; + grace?: GraceType; + beam?: StemBeam; + timeWarp?: Fraction; + parenthesized?: boolean; + tremolo?: number; // like division, 'number of beams' + 2 + tremoloLink?: TremoloLink; + glissando?: boolean; + glissandoStyle?: GlissandoStyle; + arpeggioStyle?: ArpeggioStyle; + tip?: { + x: number; + y: number; + }; + tick: number; + // for topology + id?: number; + prevId?: number; + tickGroup?: number; + feature: EventFeature; + predisposition: EventPredisposition; + graceIds?: number[]; + catcherId?: number; // tremolo catcher event ID for tremolo pitcher event + noteIds?: string[]; // order by upwards + static space({ tick, duration }: { + tick: number; + duration: number; + }): EventTerm; + constructor(data: any); + get alignedTick(): number; + get mainDuration(): number; + get duration(): number; + set duration(value: number); + get prior(): number; + get times(): string; + get fullMeasureRest(): boolean; + get tipX(): number; + get tipY(): number; + get tremoloCatcher(): boolean; + get scaleChord(): string; + get zeroHolder(): boolean; + } + enum ContextType { + Clef = 0, + KeyAcc = 1, + Acc = 2, + OctaveShift = 3, + TimeSignatureC = 4, + TimeSignatureN = 5 + } + class ContextedTerm extends Term { + static className: string; + y: number; + tokenType: TokenType; + tick: number; + constructor(data: any); + get type(): ContextType; + get staffLevel(): boolean; + get prior(): number; + get clef(): number; + get alter(): 0 | 1 | 2 | -1 | -2; + get octaveShift(): number; + get number(): number; + } + //class BreakTerm extends Term { + //}; + class MarkTerm extends Term { + static className: string; + tick: number; + get prior(): number; + } + class TempoTerm extends MarkTerm { + static className: string; + duration: string; + beats: string; + static fromNumeralText(text: string): TempoTerm; + constructor(data: any); + get prior(): number; + // a whole note equal to 1920 + get durationMagnitude(): number; + // beats per minute, suppose 1 beat = 480 ticks + get bpm(): number; + isValid(range?: number[]): boolean; + } + class GlyphTerm extends MarkTerm { + static className: string; + glyph: string; + constructor(data: any); + } + class TextTerm extends MarkTerm { + static className: string; + direction?: AccessoryDirection; + text: string; + bold: boolean; + italic: boolean; + constructor(data: any); + } + class LyricTerm extends MarkTerm { + static className: string; + text: string; + constructor(data: any); + } + class CommandTerm extends MarkTerm { + static className: string; + command: string; + parameters: string[]; + constructor(data: any); + } + class ChordmodeTerm extends Term implements DurationalTerm { + static className: string; + pitch: Pitch; + basePitch?: Pitch; + modifier?: string; + division: number; + dots: number; + multiplier: Fraction; + tick: number; + constructor(data: any); + get prior(): number; + get duration(): number; + } + type Hash = Uint8Array; + class HashVector { + fields: number[]; + static fromHash(hash: Hash): HashVector; + static fromString(source: string): HashVector; + static fromWords(words: string[]): HashVector; + static concat(...vectors: HashVector[]): HashVector; + constructor(fields?: number[] | null); + get length(): number; + toHash(): Hash; + add(vec: HashVector): this; + scale(factor: number): this; + sub(crop: number): HashVector; + static get zero(): HashVector; + } + const cosHashes: (hash1: Hash, hash2: Hash) => number; + const cosBigInts: (hash1: bigint, hash2: bigint, len?: number) => number; + const hashToHex: (hash: Hash) => string; + const hexToHash: (hex: string) => Hash; + const hashToBigInt: (hash: Hash) => bigint; + const hashFromWords: (words: string[]) => Hash; + interface RawItem { + id: string; + leftBounds: string[]; + rightBounds: string[]; + conjunction: string; + } + enum StaffGroupType { + Default = 0, + Brace = 1, + // {} + Bracket = 2, + // <> + Square = 3 + } + enum StaffConjunctionType { + Blank = 0, + Dashed = 1, + Solid = 2 + } + type StaffID = string; + interface StaffGroup { + type: StaffGroupType; + subs?: StaffGroup[]; + staff?: StaffID; + level?: number; + grand?: boolean; + } + interface StaffGroupTrait { + group: StaffGroup; + range: [ + number, + number + ]; + key: string; + } + const groupKey: (group: StaffGroup) => string; + interface MaskedStaffLayout { + staffIds: string[]; + conjunctions: StaffConjunctionType[]; + groups: StaffGroupTrait[]; + } + class StaffLayout { + staffIds: string[]; + conjunctions: StaffConjunctionType[]; + group: StaffGroup; + groups: StaffGroupTrait[]; + maskCache: Map; + constructor(raw: RawItem[]); + get stavesCount(): number; + get partGroups(): StaffGroupTrait[]; + get standaloneGroups(): string[][]; + conjunctionBetween(upStaff: number, downStaff: number): StaffConjunctionType; + static makeMaskLayout(layout: StaffLayout, mask: number): MaskedStaffLayout; + mask(mask: number): MaskedStaffLayout; + // {,} * 1,1 => {,} + // {,} * 1,x => { + // {,} * 0,x => + // {,} * 0,1 => {} + partialMaskCode(bits: (1 | 0)[], withIds?: boolean): string; + } + const parseCode: (code: string) => StaffLayout; + interface Rect { + x: number; + y: number; + width: number; + height: number; + } + interface ChordRect { + x: number; + stemX: number; + width: number; + top: number; + bottom: number; + stemDirection: string; + tip?: { + x: number; + y: number; + }; + } + interface VLine { + x: number; + y1: number; + y2: number; + } + interface Fraction$0 { + numerator: number; + denominator: number; + } + type DivisionVecotor = [ + number, + number, + number, + number, + number, + number, + number, + number, + number + ]; // [0, 1, 2, 3, 4, 5, 6, 7, 8] + type MeasureBarType = null | "Terminal" | "Segment" | "VoltaRight"; + interface EventFeature { + divisions: DivisionVecotor; + dots: [ + number, + number + ]; // [1, 2] + beams: [ + number, + number, + number + ]; // ['Open', 'Continue', 'Close'] + stemDirections: [ + number, + number + ]; // ['u', 'd'] + grace: number; + tremoloCatcher: number; + } + interface EventPredisposition { + grace: boolean; + timeWarped: number; + fullMeasure: number; + fake: number; + fakeP: number; + tick: number; + division: number; + dots: number; + divisionVector: DivisionVecotor; + dotsVector: [ + number, + number, + number + ]; // [0, 1, 2] + beamVector: [ + number, + number, + number, + number + ]; // [null, open, continue, close] + stemDirectionVector: [ + number, + number, + number + ]; // [null, up, down] + } + interface ChordColumn { + left: number; + right: number; + pivotX: number; + ys: number[]; + noteIds: string[]; // order by upwards + division: number; + dots: number; + rest: boolean; + stemDirection: string; + accessories?: Accessory[]; + grace?: GraceType; + tremolo?: number; + tremoloLink?: TremoloLink; + beam?: string; + tip?: { + x: number; + y: number; + }; + //stemTipY?: number; + // for topology + staff?: number; + id?: number; + prevId?: number; + tickGroup?: number; + feature?: EventFeature; + } + interface EventMeasure { + events: EventTerm[]; + contexts: ContextedTerm[]; + } + interface StaffBasic { + timeSignature: Fraction$0; + timeSigNumeric: boolean; + keySignature: number; + doubtfulTimesig: boolean; + } + interface EventMeasureColumn { + measureIndex: number; + //startX: number; + //width: number; + rows: EventMeasure[]; // [staff] + marks: MarkTerm[]; + duration: number; + voices?: number[][]; // [voice, id] + break?: boolean; + pageBreak?: boolean; + basics?: StaffBasic[]; // [staff] + xMap?: Map; + regularLoss?: number; + voltaBegin: boolean; + voltaEnd: boolean; + alternative: boolean; + barTypes: Record; + } + interface EventSystem { + staffMask: number; + columns: EventMeasureColumn[]; // [measure] + } + interface TermMeasure extends Partial { + terms: Term[]; + duration: number; + break?: boolean; + pageBreak?: boolean; + } + type TermRow = TermMeasure[]; + interface TermStaff { + rows: TermRow[]; // [system] + } + interface Pitch { + note: number; + alter: number; + } + enum PageLayoutMethod { + ByLines = "ByLines", + ByBlocks = "ByBlocks" + } + interface RecognitionSettings { + enabledGauge: boolean; // staves straighten + pageLayoutMethod: PageLayoutMethod; + semanticConfidenceThreshold: number; + } + interface Crop { + aspect?: number | undefined; + x?: number | undefined; + y?: number | undefined; + width?: number | undefined; + height?: number | undefined; + unit?: "px" | "%" | undefined; + } + // 0 2 4 r r tx + // 1 3 5 r r ty + type Matrix2x3 = [ + number, + number, + number, + number, + number, + number + ]; + interface SourceImageFile { + name: string; + size: number; + url: string; + crop?: Crop; + matrix: Matrix2x3; + dimensions: { + width: number; + height: number; + }; + interval: number; + needGauge?: boolean; + } + interface Area extends Rect { + staves: { + interval: number; + middleRhos: number[]; + phi1: number; + phi2: number; + }; + } + interface PageLayout { + areas: Area[]; + } + interface MeasureBrief { + timeSignature: Fraction$0; + } + interface VoiceMeasure { + tickMap: { + [key: number]: EventTerm | ChordmodeTerm; + }; + duration: number; + timeSignature?: Fraction$0; + timeSigNumeric?: boolean; + keySignature?: number; + contextedTerms: ContextedTerm[]; + marks: MarkTerm[]; + break?: boolean; + pageBreak?: boolean; + bar?: string; + empty?: boolean; + headStaff?: number; + tailStaff?: number; + trait?: HashVector; + voiceIndex?: number; + } + interface TermVoice { + mode: string; + measures: VoiceMeasure[]; + } + interface VoicesStaff { + context?: string; + name?: string; + voices: TermVoice[]; + } + interface PaperOptions { + raggedLast: boolean; + raggedBottom: boolean; + raggedLastBottom: boolean; + slashSystemSeparator: boolean; + } + interface MusicHeaders { + title: string; + subtitle: string; + subsubtitle: string; + composer: string; + poet: string; + arranger: string; + opus: string; + copyright: string; + instrument: string; + dedication: string; + tagline: string; + } + interface MusicSheet { + title: string; + pageSize: { + // in pixels + width: number; + height: number; + }; + unitSize: number; + measureLayout?: measureLayout.MeasureLayout; + staffLayout: StaffLayout; + paperOptions?: Partial; + headers: Partial; + voiceStaves: VoicesStaff[]; + instrumentDict: { + [key: string]: string; + }; + } + interface Performing { + notation: MetaNotation; + tokenMap: Map; + } + type RegulationPolicy = "test" | "simple" | "equations" | "advanced"; + interface RegulationOptions { + policy?: RegulationPolicy; + quota?: number; + [key: string]: any; + } + interface ScoreData { + version?: number; + [key: string]: any; + } + interface AdditionalLineStack { + left: number; + right: number; + n: number; + } + interface RegulationSolutionEvent { + id: number; + tick: number; + tickGroup: number; + timeWarp: Fraction$0; + division?: number; + dots?: number; + beam?: string; + grace?: boolean; + fullMeasure?: boolean; + } + interface RegulationSolution { + events: RegulationSolutionEvent[]; + voices: number[][]; + duration: number; + priority?: number; + estimatedDuration?: number; + timeSignature?: Fraction$0; + } + interface BackgroundImage { + url: string; + position: Rect; + original?: boolean; + } + enum TextType { + // LEVEL CHARSET + Title = "Title", + // page general + Author = "Author", + // page general + TempoText = "TempoText", + // measure specific vocabulary + TempoNumeral = "TempoNumeral", + // measure symbolic and numeric + TextualMark = "TextualMark", + // term specific vocabulary + Lyric = "Lyric", + // term general + Instrument = "Instrument", + // system specific vocabulary + MeasureNumber = "MeasureNumber", + // system numeric + Times = "Times", + // staff numeric + Alternation1 = "Alternation1", + // measure numeric + Alternation2 = "Alternation2", + // measure numeric + Chord = "Chord", + // measure specific domian + PageMargin = "PageMargin", + // page general + Other = "Other" + } + interface Logger { + debug(message?: any, ...optionalParams: any[]): void; + info(message?: any, ...optionalParams: any[]): void; + warn(message?: any, ...optionalParams: any[]): void; + group(...label: any[]): void; + groupCollapsed(...label: any[]): void; + groupEnd(): void; + assert(expr: boolean, ...optionalParams: any[]): void; + } + class DummyLogger implements Logger { + debug(..._: any[]): void; + group(..._: any[]): void; + groupCollapsed(..._: any[]): void; + groupEnd(): void; + info(..._: any[]): void; + warn(..._: any[]): void; + assert(..._: any[]): void; + } + type Matrix = number[][]; + type EventID = number; + type Time = number; + type Equation = number[]; + interface Stage { + events: EventID[]; + index?: number; + tick?: Time; + } + enum ActionType { + PLACE = 0, + VERTICAL = 1, + HORIZONTAL = 2 + } + class Action { + type: ActionType; + e1: EventID; + e2?: EventID; + constructor(data: any); + static P(e: EventID): Action; + static V(e1: EventID, e2: EventID, order?: number): Action; + static H(e1: EventID, e2: EventID): Action; + get id(): string; + get events(): EventID[]; + } + interface Quota { + credits: number; + } + interface BasicEvent { + id: EventID; + confidence: number; + shrinkness: number; // the possibility of time warp + x: number; + staff?: number; + duration: Time; + } + interface Event extends BasicEvent { + lowWarp: number; + } + interface EventResult { + id: EventID; + tick: Time; + endTick: Time; + tickGroup: number; + timeWarp?: Fraction$0; + } + interface Environment { + events: BasicEvent[]; + expectedDuration: Time; + measureShrinkness: number; + endX: number; + matrixH: Matrix; + matrixV: Matrix; + } + interface Solution { + events: EventResult[]; + voices: EventID[][]; + duration: number; + loss?: number; + actions?: string; + credits?: number; + times?: number; + } + interface Status { + actionAccessing: Map; + eventMap: { + [id: number]: Event; + }; + eventTendencies: number[]; + matrixH: Matrix; // matrix N+1 x N [right][left] + matrixV: Matrix; // matrix N x N + } + interface InbalanceEquations { + ones: boolean[]; + inbalances: Equation[]; + } + interface SolverOptions { + quota?: number; + logger?: Logger; + } + class PathNode { + logger: Logger; + parent: PathNode; + action: Action; + possibility: number; + children: PathNode[]; + stages: Stage[]; + //stageMatrix: StageMatrix; + constraints: Equation[]; + constructor(data: any); + get actions(): Action[]; + get id(): string; + get stagedEvents(): Set; + like(ids: string): boolean; + constructStages(status: Status): void; + constructConstraints(status: Status): void; + inbalancesConstraints(status: Status): InbalanceEquations; + solveEquations({ ones, inbalances }: InbalanceEquations): number[]; + optimallySolve(status: Status): number[]; + isConflicted(status: Status): boolean; + getSolution(status: Status): Solution; + deduce(status: Status, quota: Quota): Solution; + expand(status: Status): void; + } + class Solver { + quota: number; + logger: Logger; + events: Event[]; + matrixH: Matrix; + matrixV: Matrix; + xSpan: number; + eventMap: { + [id: number]: Event; + }; + actionAccessing: Map; + pathRoot: PathNode; + constructor(env: Environment, { quota, logger }?: SolverOptions); + solve(): Solution; + evaluateSolution(solution: Solution): void; + } +} +declare namespace EquationPolicy { + type EventID = number; + type Time = number; + interface Event { + id: EventID; + staff: number; + x: number; + y: number; + duration: Time; + confidence: number; + shrinkness: number; + } + export interface StaffGroup { + events: Event[]; + expectedDuration: Time; + measureShrinkness: number; + endX: number; + matrixH: Matrix; + matrixV: Matrix; + ids?: EventID[]; + } + interface EventResult { + id: EventID; + tick: Time; + endTick: Time; + tickGroup: number; + timeWarp?: Fraction; + } + export interface StaffGroupSolution { + events: EventResult[]; + voices: EventID[][]; + duration: number; + loss?: number; + credits?: number; + times?: number; + } + export interface RegulatorOptions extends EquationSolver.SolverOptions { + solver?: (staffGroup: StaffGroup, options: EquationSolver.SolverOptions) => Promise; + } + export const estiamteMeasure: (measure: SpartitoMeasure) => StaffGroup; + export const regulateMeasure: (measure: SpartitoMeasure, { solver, ...options }: RegulatorOptions) => Promise; + export const regulateMeasureWithRectification: (measure: SpartitoMeasure, rectification: MeasureRectification, { solver, ...options }: RegulatorOptions) => Promise; + export {}; +} +declare namespace staffLayout { + interface RawItem { + id: string; + leftBounds: string[]; + rightBounds: string[]; + conjunction: string; + } + enum StaffGroupType { + Default = 0, + Brace = 1, + // {} + Bracket = 2, + // <> + Square = 3 + } + enum StaffConjunctionType { + Blank = 0, + Dashed = 1, + Solid = 2 + } + type StaffID = string; + interface StaffGroup { + type: StaffGroupType; + subs?: StaffGroup[]; + staff?: StaffID; + level?: number; + grand?: boolean; + } + interface StaffGroupTrait { + group: StaffGroup; + range: [ + number, + number + ]; + key: string; + } + const groupKey: (group: StaffGroup) => string; + interface MaskedStaffLayout { + staffIds: string[]; + conjunctions: StaffConjunctionType[]; + groups: StaffGroupTrait[]; + } + class StaffLayout { + staffIds: string[]; + conjunctions: StaffConjunctionType[]; + group: StaffGroup; + groups: StaffGroupTrait[]; + maskCache: Map; + constructor(raw: RawItem[]); + get stavesCount(): number; + get partGroups(): StaffGroupTrait[]; + get standaloneGroups(): string[][]; + conjunctionBetween(upStaff: number, downStaff: number): StaffConjunctionType; + static makeMaskLayout(layout: StaffLayout, mask: number): MaskedStaffLayout; + mask(mask: number): MaskedStaffLayout; + // {,} * 1,1 => {,} + // {,} * 1,x => { + // {,} * 0,x => + // {,} * 0,1 => {} + partialMaskCode(bits: (1 | 0)[], withIds?: boolean): string; + } + const parseCode: (code: string) => StaffLayout; +} +declare namespace EquationPolicy { + type EventID = number; + type Time = number; + interface Event { + id: EventID; + staff: number; + x: number; + y: number; + duration: Time; + confidence: number; + shrinkness: number; + } + export interface StaffGroup { + events: Event[]; + expectedDuration: Time; + measureShrinkness: number; + endX: number; + matrixH: Matrix; + matrixV: Matrix; + ids?: EventID[]; + } + interface EventResult { + id: EventID; + tick: Time; + endTick: Time; + tickGroup: number; + timeWarp?: Fraction; + } + export interface StaffGroupSolution { + events: EventResult[]; + voices: EventID[][]; + duration: number; + loss?: number; + credits?: number; + times?: number; + } + export interface RegulatorOptions extends EquationSolver.SolverOptions { + solver?: (staffGroup: StaffGroup, options: EquationSolver.SolverOptions) => Promise; + } + export const estiamteMeasure: (measure: SpartitoMeasure) => StaffGroup; + export const regulateMeasure: (measure: SpartitoMeasure, { solver, ...options }: RegulatorOptions) => Promise; + export const regulateMeasureWithRectification: (measure: SpartitoMeasure, rectification: MeasureRectification, { solver, ...options }: RegulatorOptions) => Promise; + export {}; +} +declare namespace beadSolver { + // implicit note (from expressive marks) types + enum ImplicitType { + None = 0, + Mordent = "mordent", + Prall = "prall", + Turn = "turn", + Trill = "trill", + Tremolo = "tremolo", + Arpeggio = "arpeggio" + } + interface ChordPosition { + index: number; + count: number; + } + class TokenPosition { + system?: number; + measure?: number; + x: number; + endX?: number; + } + interface Note extends MusicNotation.Note { + chordPosition?: ChordPosition; + measure?: number; + } + interface Notation { + notes: Note[]; + endTick: number; + } + interface SheetPosition { + system: number; + x: number; + } + interface Fraction { + numerator: number; + denominator: number; + } + interface StaffNoteProperties { + rest: boolean; + tied: boolean; + overlapped: boolean; + implicitType: ImplicitType; + afterGrace: boolean; + chordPosition: ChordPosition; + division: number; + contextIndex: number; + staffTrack: number; + } + interface MetaNote extends MusicNotation.Note, Partial { + id: string; + measure: number; + endTick: number; + } + interface SubNote { + startTick: number; + endTick: number; + pitch: number; + velocity?: number; + } + interface MeasureNote extends Partial { + tick: number; + pitch: number; + duration: number; + chordPosition: ChordPosition; + staff: number; + track: number; + channel: number; + id: string; + ids: string[]; + subNotes: SubNote[]; + } + interface MeasureEvent { + data: any; + track: number; + ticks?: number; + } + interface Measure { + tick: number; + duration: number; + notes: MeasureNote[]; + events?: MeasureEvent[]; + timeSignature?: Fraction; + keySignature?: number; + } + interface PerformOptions { + withRestTied?: boolean; + } + interface MidiEvent extends MIDI.MidiEvent { + ticks?: number; + measure?: number; + ids?: string[]; + staffTrack?: number; + staff?: number; + } + class MetaNotation { + //pitchContextGroup: PitchContextTable[]; + //measureLayout: MeasureLayout; + measures: Measure[]; + trackNames: string[]; + idTrackMap: { + [key: string]: number; + }; + ripe: boolean; + static fromAbsoluteNotes(notes: MetaNote[], measureHeads: number[], data?: Partial): MetaNotation; + static performAbsoluteNotes(abNotes: MetaNote[], { withRestTied }?: PerformOptions): MusicNotation.Note[]; + constructor(data?: Partial); + /*get ordinaryMeasureIndices (): number[] { + if (this.measureLayout) + return this.measureLayout.serialize(LayoutType.Ordinary); + + return Array(this.measures.length).fill(null).map((_, i) => i + 1); + }*/ + // In Lilypond 2.20.0, minus tick value at the head of a track result in MIDI event time bias, + // So store the bias values to correct MIDI time from lilyond. + get trackTickBias(): { + [key: string]: number; + }; + get idSet(): Set; + toJSON(): { + __prototype: string; + measures: Measure[]; + idTrackMap: { + [key: string]: number; + }; + trackNames: string[]; + ripe: boolean; + }; + toAbsoluteNotes(measureIndices: number[] /*= this.ordinaryMeasureIndices*/): MetaNote[]; + /*getMeasureIndices (type: LayoutType) { + return this.measureLayout.serialize(type); + }*/ + toPerformingNotation(measureIndices: number[] /*= this.ordinaryMeasureIndices*/, options?: PerformOptions): MusicNotation.Notation; + toPerformingMIDI(measureIndices: number[], { trackList }?: { + trackList?: boolean[]; + }): MIDI.MidiData & { + zeroTick: number; + }; + toPerformingNotationWithEvents(measureIndices: number[], options?: { + trackList?: boolean[]; + }): MusicNotation.Notation; + // find the MIDI event of setTempo in measures data, and change the value of microsecondsPerBeat + setTempo(bpm: number): boolean; + } + interface TickItem { + tick: number; + endTick?: number; + system: number; + measure: number; + x: number; + endX: number; + } + class Scheduler { + tickTable: TickItem[]; + static createFromNotation(midiNotation: Notation, tokenMap: Map): Scheduler; + static createFromTokenTable(tokenTable: { + [key: number]: TokenPosition[]; + }, endTick: number): Scheduler; + constructor({ tickTable }: { + tickTable: TickItem[]; + }); + get startTick(): number; + get endTick(): number; + lookupPosition(tick: number): SheetPosition; + lookupTick(position: SheetPosition): number; + } + enum TokenType { + // clefs + ClefG = "clefs-G", + // clefs.G_change + ClefF = "clefs-F", + // clefs.F_change + ClefC = "clefs-C", + // time signature + TimesigC44 = "timesig-C44", + TimesigC22 = "timesig-C22", + TimesigZero = "zero|timesig0", + TimesigOne = "one|timesig1", + TimesigTwo = "two|timesig2", + TimesigThree = "three|timesig3", + TimesigFour = "four|timesig4", + TimesigFive = "five|timesig5", + TimesigSix = "six|timesig6", + TimesigSeven = "seven|timesig7", + TimesigEight = "eight|timesig8", + TimesigNine = "nine|timesig9", + // octave shifts + OctaveShift8va = "octave-a", + OctaveShift8vb = "octave-b", + OctaveShift0 = "octave-0", + // numbers + Zero = "zero|n0", + One = "one|n1", + Two = "two|n2", + Three = "three|n3", + Four = "four|n4", + Five = "five|n5", + Six = "six|n6", + Seven = "seven|n7", + Eight = "eight|n8", + Nine = "nine|n9", + // accidentals + AccNatural = "accidentals-natural", + AccSharp = "accidentals-sharp", + AccDoublesharp = "accidentals-doublesharp", + AccFlat = "accidentals-flat", + AccFlatflat = "accidentals-flatflat", + KeyNatural = "accidentals-natural|key-natural", + KeySharp = "accidentals-sharp|key-sharp", + KeyFlat = "accidentals-flat|key-flat", + // noteheads + NoteheadS0 = "noteheads-s0", + NoteheadS1 = "noteheads-s1", + NoteheadS2 = "noteheads-s2", + NoteheadS1stemU = "noteheads-s1|noteheads-s1-u", + NoteheadS1stemD = "noteheads-s1|noteheads-s1-d", + NoteheadS2stemU = "noteheads-s2|noteheads-s2-u", + NoteheadS2stemD = "noteheads-s2|noteheads-s2-d", + // rests + Rest0 = "rests-0o", + Rest1 = "rests-1o", + Rest2 = "rests-2", + Rest3 = "rests-3", + Rest4 = "rests-4", + Rest5 = "rests-5", + Rest6 = "rests-6", + Rest0W = "rests-0", + RestM1 = "rests-M1", + // flags + Flag3 = "flags-u3", + // flags.d3 + Flag4 = "flags-u4", + // flags.d4 + Flag5 = "flags-u5", + // flags.d5 + Flag6 = "flags-u6", + // flags.d6 + Flag7 = "flags-u7", + // flags.d7 + Flag8 = "flags-u8", + // beams + BeamLeft = "|beam-left", + BeamRight = "|beam-right", + BeamContinue = "|beam-continue", + // tremolos + TremoloLeft = "|tremolo-left", + TremoloRight = "|tremolo-right", + TremoloMiddle = "|tremolo-middle", + // slur & tie + SlurBegin = "|slur-begin", + SlurEnd = "|slur-end", + TieBegin = "|tie-begin", + TieEnd = "|tie-end", + // volta + VoltaLeft = "|volta-left", + VoltaRight = "|volta-right", + VoltaAlternativeBegin = "|volta-alter-begin", + //VoltaAlternativeEnd = "|volta-alter-end", + // vertical bars + //BarMeasure = "|bar-measure", + BarTerminal = "|bar-terminal", + BarSegment = "|bar-segment", + // dots (duration) + Dot = "|dot", + DotDot = "|dotdot", + // dynamics + f = "f", + p = "p", + m = "m", + r = "r", + s = "s", + z = "z", + // + WedgeCrescendo = "|wedge-crescendo", + WedgeDiminuendo = "|wedge-diminuendo", + WedgeClose = "|wedge-close", + CrescendoBegin = "|wedge-crescendo", + DecrescendoBegin = "|wedge-diminuendo", + CrescendoEnd = "|wedge-close", + DecrescendoEnd = "|wedge-close", + // scripts + ScriptFermata = "scripts-ufermata", + // scripts.dfermata + ScriptShortFermata = "scripts-ushortfermata", + // scripts.dshortfermata + ScriptSforzato = "scripts-sforzato", + ScriptStaccato = "scripts-staccato", + ScriptStaccatissimo = "scripts-ustaccatissimo", + // scripts.dstaccatissimo + ScriptTurn = "scripts-turn", + ScriptTrill = "scripts-trill", + ScriptSegno = "scripts-segno", + ScriptCoda = "scripts-coda", + ScriptArpeggio = "scripts-arpeggio", + ScriptPrall = "scripts-prall", + ScriptMordent = "scripts-mordent", + ScriptMarcato = "scripts-umarcato", + // scripts.dmarcato + ScriptTenuto = "scripts-tenuto", + ScriptPortato = "scripts-uportato", + // pedal + PedalStar = "pedal-star", + PedalPed = "pedal-Ped", + Text = "|text", + GraceNotehead = "|grace-notehead" + } + const TokenTypes: TokenType[]; + const TokenClefs: TokenType[]; + const TokenTimesigs: TokenType[]; + const TokenTimesigsC: TokenType[]; + const TokenTimesigsN: TokenType[]; + const TokenOctshifts: TokenType[]; + const TokenNumbers: TokenType[]; + const TokenAccidentals: TokenType[]; + const TokenNoteheads: TokenType[]; + const TokenBareNoteheads: TokenType[]; + const TokenDirectionalNoteheads: TokenType[]; + const TokenRests: TokenType[]; + const TokenFlags: TokenType[]; + const TokenVolta: TokenType[]; + const TokenDynamics: TokenType[]; + const TokenScripts: TokenType[]; + const TokenPedals: TokenType[]; + const TokenDots: TokenType[]; + const TokenArcs: TokenType[]; + const TokenBeams: TokenType[]; + const TokenWedges: TokenType[]; + const TokenAccessories: TokenType[]; + const TokenDirectionless: TokenType[]; + const TokenGlyphs: TokenType[]; + const TOKEN_Y_ROUND: Record; + const TOKEN_Y_FIXED: Record; + class Token { + static className: string; + id: string; + type: TokenType; + x: number; + y: number; + pivotX?: number; + confidence: number; + tip?: { + x: number; + y: number; + }; + voice?: number; // integer, every bit stand for a voice + timeWarped?: boolean; + constructor(data: any); + get typeId(): string; + get isPredicted(): boolean; + get isNotehead(): boolean; + get isContexted(): boolean; + get isAccessory(): boolean; + get division(): number; + get dots(): number; + get direction(): "u" | "d" | null; + get width(): number; + get left(): number; + get right(): number; + get voiceIndices(): number[]; + } + class TextToken extends Token { + textType: TextType; + text: string; + textFeature?: Record; + width_: number; + fontSize: number; + constructor(data: any); + get width(): number; + set width(value: number); + } + const recoverJSON: (json: string | object, classDict: any) => T; + class SimpleClass { + assign(data?: object): void; + toJSON(): any; + deepCopy(): this; + } + const WHOLE_DURATION: number; + enum AccessoryDirection { + Up = "^", + Down = "_", + Middle = "-" + } + enum GraceType { + Grace = "grace", + AfterGrace = "afterGrace", + Acciaccatura = "acciaccatura", + Appoggiatura = "appoggiatura", + SlashedGrace = "slashedGrace" + } + enum StemBeam { + Open = "Open", + Close = "Close", + Continue = "Continue" + } + enum TremoloLink { + Pitcher = "Pitcher", + Catcher = "Catcher", + Pierced = "Pierced" + } + enum GlissandoStyle { + Normal = "normal", + DashedLine = "dashed-line", + DottedLine = "dotted-line", + Zigzag = "zigzag", + Trill = "trill" + } + enum ArpeggioStyle { + Normal = "Normal", + Bracket = "Bracket", + Parenthesis = "Parenthesis", + ParenthesisDashed = "ParenthesisDashed", + ArrowDown = "ArrowDown" + } + interface Accessory { + direction?: AccessoryDirection; + parenthesized?: boolean; + type: TokenType; + id?: string; + x: number; + } + interface TermPitch extends Pitch { + tying?: boolean; + tied?: boolean; + parenthesized?: boolean; + octaveShift?: number; + } + class Term extends SimpleClass { + x: number; + staff?: number; + } + type RestType = "r" | "R" | "s" | null; + interface DurationalTerm { + division: number; + dots: number; + multiplier?: Fraction; + } + class EventTerm extends Term implements DurationalTerm { + static className: string; + left: number; + right: number; + pivotX: number; + system: number; + roundX: number; // for tick map, scheduler + intX: number; // for measure hash + intY: number; + ys: number[]; // order by ascending pitch, low (greater Y) to high (less Y) + pitches?: TermPitch[]; + rest: RestType; + division: number; + dots: number; + accessories: Accessory[]; + multiplier: Fraction; + stemDirection: string; + tying: boolean; + tied: boolean; + repetitionChord: boolean; + grace?: GraceType; + beam?: StemBeam; + timeWarp?: Fraction; + parenthesized?: boolean; + tremolo?: number; // like division, 'number of beams' + 2 + tremoloLink?: TremoloLink; + glissando?: boolean; + glissandoStyle?: GlissandoStyle; + arpeggioStyle?: ArpeggioStyle; + tip?: { + x: number; + y: number; + }; + tick: number; + // for topology + id?: number; + prevId?: number; + tickGroup?: number; + feature: EventFeature; + predisposition: EventPredisposition; + graceIds?: number[]; + catcherId?: number; // tremolo catcher event ID for tremolo pitcher event + noteIds?: string[]; // order by upwards + static space({ tick, duration }: { + tick: number; + duration: number; + }): EventTerm; + constructor(data: any); + get alignedTick(): number; + get mainDuration(): number; + get duration(): number; + set duration(value: number); + get prior(): number; + get times(): string; + get fullMeasureRest(): boolean; + get tipX(): number; + get tipY(): number; + get tremoloCatcher(): boolean; + get scaleChord(): string; + get zeroHolder(): boolean; + } + enum ContextType { + Clef = 0, + KeyAcc = 1, + Acc = 2, + OctaveShift = 3, + TimeSignatureC = 4, + TimeSignatureN = 5 + } + class ContextedTerm extends Term { + static className: string; + y: number; + tokenType: TokenType; + tick: number; + constructor(data: any); + get type(): ContextType; + get staffLevel(): boolean; + get prior(): number; + get clef(): number; + get alter(): 0 | 1 | 2 | -1 | -2; + get octaveShift(): number; + get number(): number; + } + //class BreakTerm extends Term { + //}; + class MarkTerm extends Term { + static className: string; + tick: number; + get prior(): number; + } + class TempoTerm extends MarkTerm { + static className: string; + duration: string; + beats: string; + static fromNumeralText(text: string): TempoTerm; + constructor(data: any); + get prior(): number; + // a whole note equal to 1920 + get durationMagnitude(): number; + // beats per minute, suppose 1 beat = 480 ticks + get bpm(): number; + isValid(range?: number[]): boolean; + } + class GlyphTerm extends MarkTerm { + static className: string; + glyph: string; + constructor(data: any); + } + class TextTerm extends MarkTerm { + static className: string; + direction?: AccessoryDirection; + text: string; + bold: boolean; + italic: boolean; + constructor(data: any); + } + class LyricTerm extends MarkTerm { + static className: string; + text: string; + constructor(data: any); + } + class CommandTerm extends MarkTerm { + static className: string; + command: string; + parameters: string[]; + constructor(data: any); + } + class ChordmodeTerm extends Term implements DurationalTerm { + static className: string; + pitch: Pitch; + basePitch?: Pitch; + modifier?: string; + division: number; + dots: number; + multiplier: Fraction; + tick: number; + constructor(data: any); + get prior(): number; + get duration(): number; + } + type Hash = Uint8Array; + class HashVector { + fields: number[]; + static fromHash(hash: Hash): HashVector; + static fromString(source: string): HashVector; + static fromWords(words: string[]): HashVector; + static concat(...vectors: HashVector[]): HashVector; + constructor(fields?: number[] | null); + get length(): number; + toHash(): Hash; + add(vec: HashVector): this; + scale(factor: number): this; + sub(crop: number): HashVector; + static get zero(): HashVector; + } + const cosHashes: (hash1: Hash, hash2: Hash) => number; + const cosBigInts: (hash1: bigint, hash2: bigint, len?: number) => number; + const hashToHex: (hash: Hash) => string; + const hexToHash: (hex: string) => Hash; + const hashToBigInt: (hash: Hash) => bigint; + const hashFromWords: (words: string[]) => Hash; + interface RawItem { + id: string; + leftBounds: string[]; + rightBounds: string[]; + conjunction: string; + } + enum StaffGroupType { + Default = 0, + Brace = 1, + // {} + Bracket = 2, + // <> + Square = 3 + } + enum StaffConjunctionType { + Blank = 0, + Dashed = 1, + Solid = 2 + } + type StaffID = string; + interface StaffGroup { + type: StaffGroupType; + subs?: StaffGroup[]; + staff?: StaffID; + level?: number; + grand?: boolean; + } + interface StaffGroupTrait { + group: StaffGroup; + range: [ + number, + number + ]; + key: string; + } + const groupKey: (group: StaffGroup) => string; + interface MaskedStaffLayout { + staffIds: string[]; + conjunctions: StaffConjunctionType[]; + groups: StaffGroupTrait[]; + } + class StaffLayout { + staffIds: string[]; + conjunctions: StaffConjunctionType[]; + group: StaffGroup; + groups: StaffGroupTrait[]; + maskCache: Map; + constructor(raw: RawItem[]); + get stavesCount(): number; + get partGroups(): StaffGroupTrait[]; + get standaloneGroups(): string[][]; + conjunctionBetween(upStaff: number, downStaff: number): StaffConjunctionType; + static makeMaskLayout(layout: StaffLayout, mask: number): MaskedStaffLayout; + mask(mask: number): MaskedStaffLayout; + // {,} * 1,1 => {,} + // {,} * 1,x => { + // {,} * 0,x => + // {,} * 0,1 => {} + partialMaskCode(bits: (1 | 0)[], withIds?: boolean): string; + } + const parseCode: (code: string) => StaffLayout; + interface Rect { + x: number; + y: number; + width: number; + height: number; + } + interface ChordRect { + x: number; + stemX: number; + width: number; + top: number; + bottom: number; + stemDirection: string; + tip?: { + x: number; + y: number; + }; + } + interface VLine { + x: number; + y1: number; + y2: number; + } + interface Fraction$0 { + numerator: number; + denominator: number; + } + type DivisionVecotor = [ + number, + number, + number, + number, + number, + number, + number, + number, + number + ]; // [0, 1, 2, 3, 4, 5, 6, 7, 8] + type MeasureBarType = null | "Terminal" | "Segment" | "VoltaRight"; + interface EventFeature { + divisions: DivisionVecotor; + dots: [ + number, + number + ]; // [1, 2] + beams: [ + number, + number, + number + ]; // ['Open', 'Continue', 'Close'] + stemDirections: [ + number, + number + ]; // ['u', 'd'] + grace: number; + tremoloCatcher: number; + } + interface EventPredisposition { + grace: boolean; + timeWarped: number; + fullMeasure: number; + fake: number; + fakeP: number; + tick: number; + division: number; + dots: number; + divisionVector: DivisionVecotor; + dotsVector: [ + number, + number, + number + ]; // [0, 1, 2] + beamVector: [ + number, + number, + number, + number + ]; // [null, open, continue, close] + stemDirectionVector: [ + number, + number, + number + ]; // [null, up, down] + } + interface ChordColumn { + left: number; + right: number; + pivotX: number; + ys: number[]; + noteIds: string[]; // order by upwards + division: number; + dots: number; + rest: boolean; + stemDirection: string; + accessories?: Accessory[]; + grace?: GraceType; + tremolo?: number; + tremoloLink?: TremoloLink; + beam?: string; + tip?: { + x: number; + y: number; + }; + //stemTipY?: number; + // for topology + staff?: number; + id?: number; + prevId?: number; + tickGroup?: number; + feature?: EventFeature; + } + interface EventMeasure { + events: EventTerm[]; + contexts: ContextedTerm[]; + } + interface StaffBasic { + timeSignature: Fraction$0; + timeSigNumeric: boolean; + keySignature: number; + doubtfulTimesig: boolean; + } + interface EventMeasureColumn { + measureIndex: number; + //startX: number; + //width: number; + rows: EventMeasure[]; // [staff] + marks: MarkTerm[]; + duration: number; + voices?: number[][]; // [voice, id] + break?: boolean; + pageBreak?: boolean; + basics?: StaffBasic[]; // [staff] + xMap?: Map; + regularLoss?: number; + voltaBegin: boolean; + voltaEnd: boolean; + alternative: boolean; + barTypes: Record; + } + interface EventSystem { + staffMask: number; + columns: EventMeasureColumn[]; // [measure] + } + interface TermMeasure extends Partial { + terms: Term[]; + duration: number; + break?: boolean; + pageBreak?: boolean; + } + type TermRow = TermMeasure[]; + interface TermStaff { + rows: TermRow[]; // [system] + } + interface Pitch { + note: number; + alter: number; + } + enum PageLayoutMethod { + ByLines = "ByLines", + ByBlocks = "ByBlocks" + } + interface RecognitionSettings { + enabledGauge: boolean; // staves straighten + pageLayoutMethod: PageLayoutMethod; + semanticConfidenceThreshold: number; + } + interface Crop { + aspect?: number | undefined; + x?: number | undefined; + y?: number | undefined; + width?: number | undefined; + height?: number | undefined; + unit?: "px" | "%" | undefined; + } + // 0 2 4 r r tx + // 1 3 5 r r ty + type Matrix2x3 = [ + number, + number, + number, + number, + number, + number + ]; + interface SourceImageFile { + name: string; + size: number; + url: string; + crop?: Crop; + matrix: Matrix2x3; + dimensions: { + width: number; + height: number; + }; + interval: number; + needGauge?: boolean; + } + interface Area extends Rect { + staves: { + interval: number; + middleRhos: number[]; + phi1: number; + phi2: number; + }; + } + interface PageLayout { + areas: Area[]; + } + interface MeasureBrief { + timeSignature: Fraction$0; + } + interface VoiceMeasure { + tickMap: { + [key: number]: EventTerm | ChordmodeTerm; + }; + duration: number; + timeSignature?: Fraction$0; + timeSigNumeric?: boolean; + keySignature?: number; + contextedTerms: ContextedTerm[]; + marks: MarkTerm[]; + break?: boolean; + pageBreak?: boolean; + bar?: string; + empty?: boolean; + headStaff?: number; + tailStaff?: number; + trait?: HashVector; + voiceIndex?: number; + } + interface TermVoice { + mode: string; + measures: VoiceMeasure[]; + } + interface VoicesStaff { + context?: string; + name?: string; + voices: TermVoice[]; + } + interface PaperOptions { + raggedLast: boolean; + raggedBottom: boolean; + raggedLastBottom: boolean; + slashSystemSeparator: boolean; + } + interface MusicHeaders { + title: string; + subtitle: string; + subsubtitle: string; + composer: string; + poet: string; + arranger: string; + opus: string; + copyright: string; + instrument: string; + dedication: string; + tagline: string; + } + interface MusicSheet { + title: string; + pageSize: { + // in pixels + width: number; + height: number; + }; + unitSize: number; + measureLayout?: measureLayout.MeasureLayout; + staffLayout: StaffLayout; + paperOptions?: Partial; + headers: Partial; + voiceStaves: VoicesStaff[]; + instrumentDict: { + [key: string]: string; + }; + } + interface Performing { + notation: MetaNotation; + tokenMap: Map; + } + type RegulationPolicy = "test" | "simple" | "equations" | "advanced"; + interface RegulationOptions { + policy?: RegulationPolicy; + quota?: number; + [key: string]: any; + } + interface ScoreData { + version?: number; + [key: string]: any; + } + interface AdditionalLineStack { + left: number; + right: number; + n: number; + } + interface RegulationSolutionEvent { + id: number; + tick: number; + tickGroup: number; + timeWarp: Fraction$0; + division?: number; + dots?: number; + beam?: string; + grace?: boolean; + fullMeasure?: boolean; + } + interface RegulationSolution { + events: RegulationSolutionEvent[]; + voices: number[][]; + duration: number; + priority?: number; + estimatedDuration?: number; + timeSignature?: Fraction$0; + } + interface BackgroundImage { + url: string; + position: Rect; + original?: boolean; + } + enum TextType { + // LEVEL CHARSET + Title = "Title", + // page general + Author = "Author", + // page general + TempoText = "TempoText", + // measure specific vocabulary + TempoNumeral = "TempoNumeral", + // measure symbolic and numeric + TextualMark = "TextualMark", + // term specific vocabulary + Lyric = "Lyric", + // term general + Instrument = "Instrument", + // system specific vocabulary + MeasureNumber = "MeasureNumber", + // system numeric + Times = "Times", + // staff numeric + Alternation1 = "Alternation1", + // measure numeric + Alternation2 = "Alternation2", + // measure numeric + Chord = "Chord", + // measure specific domian + PageMargin = "PageMargin", + // page general + Other = "Other" + } + class PatchMeasure extends SimpleClass { + static className: string; + measureIndex: number; + staffMask: number; + basic: StaffBasic; + //points: SemanticPoint[]; + events: EventTerm[]; + contexts: ContextedTerm[][]; // [staff] + marks: MarkTerm[]; + voices: number[][]; // [voice, id] + constructor(data: any); + get staffN(): number; + get basics(): StaffBasic[]; + get duration(): number; + } + enum EventElementType { + PAD = 0, + BOS = 1, + EOS = 2, + CHORD = 3, + REST = 4 + } + interface EventElement { + href?: string; + disposed?: boolean; + index?: number; + voice?: number; + type: EventElementType; + staff: number; + x: number; + y1: number; + y2: number; + feature: EventFeature; + pivotX?: number; + headY?: number; + // targets + tick?: number; + division?: number; + dots?: number; + beam?: StemBeam; + stemDirection?: string; + grace?: boolean; + tremoloCatcher?: boolean; + timeWarped?: boolean; + fullMeasure?: boolean; // full measure rest + fake?: boolean; + order?: number; + predisposition?: EventPredisposition; + } + type Matrix = number[][]; + interface Annotation { + loss: number; + grant: boolean; + patched: boolean; // from manually solved measure + } + class EventCluster extends SimpleClass { + static className: string; + static blackKeys: string[]; + id?: string; // for db access + index?: number; + duration?: number; + staffY0?: number; // the first staff top + staffY + signatureDuration: number; + elements: EventElement[]; + matrixH?: Matrix; // matrix N x N, [next][prev] + backgroundImages?: BackgroundImage[]; + annotation?: Annotation; + constructor(data: object); + get regular(): boolean; + get grant(): boolean; + get feature(): Partial; + get estimatedDuration(): number; + assignPrediction(prediction: any): void; + } + class EventClusterSet extends SimpleClass { + static className: string; + name?: string; + clusters: EventCluster[]; + constructor(data: object); + trimIrregular(): number; + } + interface EventRectification { + id: number; + division?: number; + dots?: number; + } + class MeasureRectification { + events: EventRectification[]; + constructor(data: any); + toString(): string; + static default(events: EventTerm[]): MeasureRectification; + static roll(events: EventTerm[]): MeasureRectification; + } + const genMeasureRectifications: (measure: SpartitoMeasure) => Generator; + enum SemanticType { + // clefs + ClefG = "ClefG", + ClefF = "ClefF", + ClefC = "ClefC", + // noteheads + NoteheadS0 = "NoteheadS0", + NoteheadS1 = "NoteheadS1", + NoteheadS2 = "NoteheadS2", + NoteheadS1stemU = "NoteheadS1stemU", + NoteheadS1stemD = "NoteheadS1stemD", + NoteheadS2stemU = "NoteheadS2stemU", + NoteheadS2stemD = "NoteheadS2stemD", + vline_Stem = "vline_Stem", + // flags + Flag3 = "Flag3", + // beams + BeamLeft = "BeamLeft", + BeamContinue = "BeamContinue", + BeamRight = "BeamRight", + // tremolos + TremoloLeft = "TremoloLeft", + TremoloRight = "TremoloRight", + TremoloMiddle = "TremoloMiddle", + // dots (duration) + Dot = "Dot", + // rests + Rest0 = "Rest0", + Rest1 = "Rest1", + Rest2 = "Rest2", + Rest3 = "Rest3", + Rest4 = "Rest4", + Rest5 = "Rest5", + Rest6 = "Rest6", + Rest0W = "Rest0W", + // capital 'R' in lilypond + RestM1 = "RestM1", + // accidentals + AccNatural = "AccNatural", + AccSharp = "AccSharp", + AccDoublesharp = "AccDoublesharp", + AccFlat = "AccFlat", + AccFlatflat = "AccFlatflat", + // volta + vline_VoltaLeft = "vline_VoltaLeft", + vline_VoltaRight = "vline_VoltaRight", + VoltaLeft = "VoltaLeft", + VoltaRight = "VoltaRight", + VoltaAlternativeBegin = "VoltaAlternativeBegin", + //VoltaAlternativeEnd = "VoltaAlternativeEnd", + // vertical bars + BarMeasure = "BarMeasure", + vline_BarMeasure = "vline_BarMeasure", + vline_BarTerminal = "vline_BarTerminal", + vline_BarSegment = "vline_BarSegment", + // slur & tie + SlurBegin = "SlurBegin", + SlurEnd = "SlurEnd", + // time signature + TimesigC44 = "TimesigC44", + TimesigC22 = "TimesigC22", + TimesigZero = "TimesigZero", + TimesigOne = "TimesigOne", + TimesigTwo = "TimesigTwo", + TimesigThree = "TimesigThree", + TimesigFour = "TimesigFour", + TimesigFive = "TimesigFive", + TimesigSix = "TimesigSix", + TimesigSeven = "TimesigSeven", + TimesigEight = "TimesigEight", + TimesigNine = "TimesigNine", + // octave shifts + OctaveShift8va = "OctaveShift8va", + OctaveShift8vb = "OctaveShift8vb", + OctaveShift8 = "OctaveShift8", + OctaveShift0 = "OctaveShift0", + // numbers + Zero = "Zero", + One = "One", + Two = "Two", + Three = "Three", + Four = "Four", + Five = "Five", + Six = "Six", + Seven = "Seven", + Eight = "Eight", + Nine = "Nine", + // dynamics + f = "f", + p = "p", + m = "m", + n = "n", + r = "r", + s = "s", + z = "z", + CrescendoBegin = "CrescendoBegin", + CrescendoEnd = "CrescendoEnd", + DecrescendoBegin = "DecrescendoBegin", + DecrescendoEnd = "DecrescendoEnd", + // scripts + ScriptFermata = "ScriptFermata", + ScriptShortFermata = "ScriptShortFermata", + ScriptSforzato = "ScriptSforzato", + ScriptStaccato = "ScriptStaccato", + ScriptStaccatissimo = "ScriptStaccatissimo", + ScriptTurn = "ScriptTurn", + ScriptTrill = "ScriptTrill", + ScriptSegno = "ScriptSegno", + ScriptCoda = "ScriptCoda", + ScriptArpeggio = "ScriptArpeggio", + ScriptPrall = "ScriptPrall", + ScriptMordent = "ScriptMordent", + ScriptMarcato = "ScriptMarcato", + ScriptTenuto = "ScriptTenuto", + ScriptPortato = "ScriptPortato", + // pedal + PedalStar = "PedalStar", + PedalPed = "PedalPed", + // additional annotation + KeyAcc = "KeyAcc", + TempoNotehead = "TempoNotehead", + GraceNotehead = "GraceNotehead", + SignLined = "SignLined", + SignInterval = "SignInterval", + rect_Text = "rect_Text", + rect_Lyric = "rect_Lyric" + } + const glyphSemanticMapping: { + [key: string]: string; + }; + const semanticPriorities: { + [key: string]: number; + }; + interface Position { + x?: number; + y?: number; + } + const NOTEHEAD_WIDTHS: { + NoteheadS0: number; + NoteheadS1: number; + NoteheadS2: number; + }; + const glyphCenters: { + [key: string]: Position; + }; + interface Point { + // in staff unit coordinates + x: number; + y: number; + pivotX?: number; + // for prediction + confidence?: number; + // sheet token index in page + index?: number; + tag?: string; + extension?: { + y1?: number; + y2?: number; + href?: string; + width?: number; + height?: number; + text?: string; + theta?: number; + type?: string; + textFeature?: Record; + }; + } + interface SemanticPoint extends Point { + id?: string; + semantic: SemanticType; + } + const ONE_D_SEMANTICS: string[]; + const SYSTEM_SEMANTIC_TYPES: SemanticType[]; + const CONFLICTION_GROUPS: SemanticType[][]; + const STAMP_SEMANTICS: SemanticType[]; + // [cx, cy, width, height] + const STAMP_RECTS: { + ClefG: number[]; + ClefF: number[]; + ClefC: number[]; + NoteheadS0: number[]; + NoteheadS1: number[]; + NoteheadS2: number[]; + Dot: number[]; + Rest0: number[]; + Rest1: number[]; + Rest2: number[]; + Rest3: number[]; + Rest4: number[]; + Rest5: number[]; + Rest6: number[]; + RestM1: number[]; + AccNatural: number[]; + AccSharp: number[]; + AccDoublesharp: number[]; + AccFlat: number[]; + AccFlatflat: number[]; + TimesigC44: number[]; + TimesigC22: number[]; + TimesigZero: number[]; + TimesigOne: number[]; + TimesigTwo: number[]; + TimesigThree: number[]; + TimesigFour: number[]; + TimesigFive: number[]; + TimesigSix: number[]; + TimesigSeven: number[]; + TimesigEight: number[]; + TimesigNine: number[]; + One: number[]; + Two: number[]; + Three: number[]; + Four: number[]; + Five: number[]; + OctaveShift8: number[]; + OctaveShift0: number[]; + f: number[]; + p: number[]; + m: number[]; + n: number[]; + r: number[]; + s: number[]; + z: number[]; + ScriptFermata: number[]; + ScriptShortFermata: number[]; + ScriptSforzato: number[]; + ScriptStaccato: number[]; + ScriptStaccatissimo: number[]; + ScriptTurn: number[]; + ScriptTrill: number[]; + ScriptSegno: number[]; + ScriptCoda: number[]; + ScriptArpeggio: number[]; + ScriptPrall: number[]; + ScriptMordent: number[]; + ScriptMarcato: number[]; + ScriptTenuto: number[]; + ScriptPortato: number[]; + PedalStar: number[]; + PedalPed: number[]; + }; + const hashSemanticPoint: (systemIndex: number, staffIndex: number, point: SemanticPoint) => string; + const hashPageSemanticPoint: (pageName: string, point: SemanticPoint) => string; + interface SemanticPointInMeasure extends SemanticPoint { + staff: number; + // y1 y2 in system coordinate + sy1: number; + sy2: number; + } + interface GraphMeasure { + measureIndex: number; + left: number; + right: number; + points: SemanticPointInMeasure[]; + } + interface TimewiseGraph { + measures: GraphMeasure[]; + } + type Matrix$0 = number[][]; + type TickMap = Map; + interface SolutionStatistics { + loss?: number; + solverCredits?: number; + solverTimes?: number; + } + class SpartitoMeasure extends SimpleClass { + static className: string; + static blackKeys: string[]; + measureIndex: number; + staffMask: number; + staffGroups: number[][]; + originalRegulationHash?: string; + measureNumber?: number; // count from the last indent measure, head partial measure is zero, skip empty measures + patched: boolean; + discard: boolean; + position: { + systemIndex: number; + localIndex: number; // the measure local index in its system + left: number; + right: number; + staffYs?: number[]; + staffYsFull?: number[]; + }; + backgroundImages: BackgroundImage[]; + events: EventTerm[]; + endEvent: Partial; // the placeholder for end tick + contexts: ContextedTerm[][]; // [staff] + marks: MarkTerm[]; + duration: number; + voices?: number[][]; // [voice, id] + break?: boolean; + pageBreak?: boolean; + basics?: StaffBasic[]; // [staff] + voltaBegin: boolean; + voltaEnd: boolean; + alternative: boolean; + barTypes: Record; + indent: boolean; + solutionStat?: SolutionStatistics; + matrixH: Matrix$0; // matrix N x N [right][left] + matrixV: Matrix$0; // matrix N x N + estimatedDuration: number; + graph: GraphMeasure; + deposit: Record; + static reorderEvents(events: EventTerm[], staffYsFull: number[]): EventTerm[]; + constructor(data: any); + get timeSignature(): Fraction$0; + get keySignature(): number; + get timeSignatureChanged(): boolean; + get doubtfulTimesig(): boolean; + get regulated(): boolean; + get validRegulated(): boolean; + get rows(): EventMeasure[]; + get eventStartX(): number; + get startX(): number; + get width(): number; + get tickMap(): TickMap; + get tickToX(): { + [tick: number]: number; + }; + get tickRates(): number[]; + get tickRatesInStaves(): number[]; + get tickRatesInGroups(): number[]; + get tickTwist(): number; + get eventMap(): Record; + get empty(): boolean; + get hasIllEvent(): boolean; + get brief(): string; + get regulationHash(): string; + // prefer use originalRegulationHash + get regulationHash0(): string; + get regulationHashes(): string[]; + get featureWords(): string[][] | null; + get barType(): MeasureBarType; + get partialDuration(): boolean; + postRegulate(): void; + updateRoundX(): void; + updateContextTick(): void; + asSolution(ref?: SpartitoMeasure): RegulationSolution; + applySolution(solution: RegulationSolution): void; + cleanupRegulation(): void; + regulateTest(): void; + regulateSimple(): void; + regulateEquations(options: EquationPolicy.RegulatorOptions): Promise; + // compute event.tick, event.tickGroup, event.timeWarp, voices, duration + regulate({ policy, ...options }?: RegulationOptions): Promise; + createPatch(): PatchMeasure; + createClusters(): EventCluster[]; + applyClusters(clusters: EventCluster[]): void; + } + interface Logger { + debug(message?: any, ...optionalParams: any[]): void; + info(message?: any, ...optionalParams: any[]): void; + warn(message?: any, ...optionalParams: any[]): void; + group(...label: any[]): void; + groupCollapsed(...label: any[]): void; + groupEnd(): void; + assert(expr: boolean, ...optionalParams: any[]): void; + } + class DummyLogger implements Logger { + debug(..._: any[]): void; + group(..._: any[]): void; + groupCollapsed(..._: any[]): void; + groupEnd(): void; + info(..._: any[]): void; + warn(..._: any[]): void; + assert(..._: any[]): void; + } + interface BeadPicker { + n_seq: number; + quota: number; + cost: number; // duration in milliseconds + predictCluster(cluster: EventCluster, tip: number): Promise; + } + interface ClusterEvaluation { + tickErr: number; + twist: number; + residue: number; + endTick: number; + fatalError: boolean; + voiceN: number; + spaceDuration: number; + pretentiousness: number; + loss: number; + } + const solveCluster: (cluster: EventCluster, picker: BeadPicker, logger: Logger, quota?: number, stopLoss?: number, ptFactor?: number) => Promise; + interface BeadSolverOptions { + picker: BeadPicker; + stopLoss?: number; + quotaMax?: number; + quotaFactor?: number; + ptFactor?: number; + logger?: Logger; + } + const solveMeasure: (measure: SpartitoMeasure, options: BeadSolverOptions) => Promise; + interface GlimpseMeasureOptions { + picker: BeadPicker; + resetSignatureForDoubtfulOnly?: boolean; + } + const glimpseMeasure: (measure: SpartitoMeasure, { picker, resetSignatureForDoubtfulOnly }: GlimpseMeasureOptions) => Promise; + const estimateMeasure: (measure: SpartitoMeasure, picker: BeadPicker) => Promise; +} +declare namespace starry { + // implicit note (from expressive marks) types + enum ImplicitType { + None = 0, + Mordent = "mordent", + Prall = "prall", + Turn = "turn", + Trill = "trill", + Tremolo = "tremolo", + Arpeggio = "arpeggio" + } + interface ChordPosition { + index: number; + count: number; + } + class TokenPosition { + system?: number; + measure?: number; + x: number; + endX?: number; + } + interface Note extends MusicNotation.Note { + chordPosition?: ChordPosition; + measure?: number; + } + interface Notation { + notes: Note[]; + endTick: number; + } + interface SheetPosition { + system: number; + x: number; + } + interface Fraction { + numerator: number; + denominator: number; + } + interface StaffNoteProperties { + rest: boolean; + tied: boolean; + overlapped: boolean; + implicitType: ImplicitType; + afterGrace: boolean; + chordPosition: ChordPosition; + division: number; + contextIndex: number; + staffTrack: number; + } + interface MetaNote extends MusicNotation.Note, Partial { + id: string; + measure: number; + endTick: number; + } + interface SubNote { + startTick: number; + endTick: number; + pitch: number; + velocity?: number; + } + interface MeasureNote extends Partial { + tick: number; + pitch: number; + duration: number; + chordPosition: ChordPosition; + staff: number; + track: number; + channel: number; + id: string; + ids: string[]; + subNotes: SubNote[]; + } + interface MeasureEvent { + data: any; + track: number; + ticks?: number; + } + interface Measure { + tick: number; + duration: number; + notes: MeasureNote[]; + events?: MeasureEvent[]; + timeSignature?: Fraction; + keySignature?: number; + } + interface PerformOptions { + withRestTied?: boolean; + } + interface MidiEvent extends MIDI.MidiEvent { + ticks?: number; + measure?: number; + ids?: string[]; + staffTrack?: number; + staff?: number; + } + class MetaNotation { + //pitchContextGroup: PitchContextTable[]; + //measureLayout: MeasureLayout; + measures: Measure[]; + trackNames: string[]; + idTrackMap: { + [key: string]: number; + }; + ripe: boolean; + static fromAbsoluteNotes(notes: MetaNote[], measureHeads: number[], data?: Partial): MetaNotation; + static performAbsoluteNotes(abNotes: MetaNote[], { withRestTied }?: PerformOptions): MusicNotation.Note[]; + constructor(data?: Partial); + /*get ordinaryMeasureIndices (): number[] { + if (this.measureLayout) + return this.measureLayout.serialize(LayoutType.Ordinary); + + return Array(this.measures.length).fill(null).map((_, i) => i + 1); + }*/ + // In Lilypond 2.20.0, minus tick value at the head of a track result in MIDI event time bias, + // So store the bias values to correct MIDI time from lilyond. + get trackTickBias(): { + [key: string]: number; + }; + get idSet(): Set; + toJSON(): { + __prototype: string; + measures: Measure[]; + idTrackMap: { + [key: string]: number; + }; + trackNames: string[]; + ripe: boolean; + }; + toAbsoluteNotes(measureIndices: number[] /*= this.ordinaryMeasureIndices*/): MetaNote[]; + /*getMeasureIndices (type: LayoutType) { + return this.measureLayout.serialize(type); + }*/ + toPerformingNotation(measureIndices: number[] /*= this.ordinaryMeasureIndices*/, options?: PerformOptions): MusicNotation.Notation; + toPerformingMIDI(measureIndices: number[], { trackList }?: { + trackList?: boolean[]; + }): MIDI.MidiData & { + zeroTick: number; + }; + toPerformingNotationWithEvents(measureIndices: number[], options?: { + trackList?: boolean[]; + }): MusicNotation.Notation; + // find the MIDI event of setTempo in measures data, and change the value of microsecondsPerBeat + setTempo(bpm: number): boolean; + } + interface TickItem { + tick: number; + endTick?: number; + system: number; + measure: number; + x: number; + endX: number; + } + class Scheduler { + tickTable: TickItem[]; + static createFromNotation(midiNotation: Notation, tokenMap: Map): Scheduler; + static createFromTokenTable(tokenTable: { + [key: number]: TokenPosition[]; + }, endTick: number): Scheduler; + constructor({ tickTable }: { + tickTable: TickItem[]; + }); + get startTick(): number; + get endTick(): number; + lookupPosition(tick: number): SheetPosition; + lookupTick(position: SheetPosition): number; + } + enum TokenType { + // clefs + ClefG = "clefs-G", + // clefs.G_change + ClefF = "clefs-F", + // clefs.F_change + ClefC = "clefs-C", + // time signature + TimesigC44 = "timesig-C44", + TimesigC22 = "timesig-C22", + TimesigZero = "zero|timesig0", + TimesigOne = "one|timesig1", + TimesigTwo = "two|timesig2", + TimesigThree = "three|timesig3", + TimesigFour = "four|timesig4", + TimesigFive = "five|timesig5", + TimesigSix = "six|timesig6", + TimesigSeven = "seven|timesig7", + TimesigEight = "eight|timesig8", + TimesigNine = "nine|timesig9", + // octave shifts + OctaveShift8va = "octave-a", + OctaveShift8vb = "octave-b", + OctaveShift0 = "octave-0", + // numbers + Zero = "zero|n0", + One = "one|n1", + Two = "two|n2", + Three = "three|n3", + Four = "four|n4", + Five = "five|n5", + Six = "six|n6", + Seven = "seven|n7", + Eight = "eight|n8", + Nine = "nine|n9", + // accidentals + AccNatural = "accidentals-natural", + AccSharp = "accidentals-sharp", + AccDoublesharp = "accidentals-doublesharp", + AccFlat = "accidentals-flat", + AccFlatflat = "accidentals-flatflat", + KeyNatural = "accidentals-natural|key-natural", + KeySharp = "accidentals-sharp|key-sharp", + KeyFlat = "accidentals-flat|key-flat", + // noteheads + NoteheadS0 = "noteheads-s0", + NoteheadS1 = "noteheads-s1", + NoteheadS2 = "noteheads-s2", + NoteheadS1stemU = "noteheads-s1|noteheads-s1-u", + NoteheadS1stemD = "noteheads-s1|noteheads-s1-d", + NoteheadS2stemU = "noteheads-s2|noteheads-s2-u", + NoteheadS2stemD = "noteheads-s2|noteheads-s2-d", + // rests + Rest0 = "rests-0o", + Rest1 = "rests-1o", + Rest2 = "rests-2", + Rest3 = "rests-3", + Rest4 = "rests-4", + Rest5 = "rests-5", + Rest6 = "rests-6", + Rest0W = "rests-0", + RestM1 = "rests-M1", + // flags + Flag3 = "flags-u3", + // flags.d3 + Flag4 = "flags-u4", + // flags.d4 + Flag5 = "flags-u5", + // flags.d5 + Flag6 = "flags-u6", + // flags.d6 + Flag7 = "flags-u7", + // flags.d7 + Flag8 = "flags-u8", + // beams + BeamLeft = "|beam-left", + BeamRight = "|beam-right", + BeamContinue = "|beam-continue", + // tremolos + TremoloLeft = "|tremolo-left", + TremoloRight = "|tremolo-right", + TremoloMiddle = "|tremolo-middle", + // slur & tie + SlurBegin = "|slur-begin", + SlurEnd = "|slur-end", + TieBegin = "|tie-begin", + TieEnd = "|tie-end", + // volta + VoltaLeft = "|volta-left", + VoltaRight = "|volta-right", + VoltaAlternativeBegin = "|volta-alter-begin", + //VoltaAlternativeEnd = "|volta-alter-end", + // vertical bars + //BarMeasure = "|bar-measure", + BarTerminal = "|bar-terminal", + BarSegment = "|bar-segment", + // dots (duration) + Dot = "|dot", + DotDot = "|dotdot", + // dynamics + f = "f", + p = "p", + m = "m", + r = "r", + s = "s", + z = "z", + // + WedgeCrescendo = "|wedge-crescendo", + WedgeDiminuendo = "|wedge-diminuendo", + WedgeClose = "|wedge-close", + CrescendoBegin = "|wedge-crescendo", + DecrescendoBegin = "|wedge-diminuendo", + CrescendoEnd = "|wedge-close", + DecrescendoEnd = "|wedge-close", + // scripts + ScriptFermata = "scripts-ufermata", + // scripts.dfermata + ScriptShortFermata = "scripts-ushortfermata", + // scripts.dshortfermata + ScriptSforzato = "scripts-sforzato", + ScriptStaccato = "scripts-staccato", + ScriptStaccatissimo = "scripts-ustaccatissimo", + // scripts.dstaccatissimo + ScriptTurn = "scripts-turn", + ScriptTrill = "scripts-trill", + ScriptSegno = "scripts-segno", + ScriptCoda = "scripts-coda", + ScriptArpeggio = "scripts-arpeggio", + ScriptPrall = "scripts-prall", + ScriptMordent = "scripts-mordent", + ScriptMarcato = "scripts-umarcato", + // scripts.dmarcato + ScriptTenuto = "scripts-tenuto", + ScriptPortato = "scripts-uportato", + // pedal + PedalStar = "pedal-star", + PedalPed = "pedal-Ped", + Text = "|text", + GraceNotehead = "|grace-notehead" + } + const TokenTypes: TokenType[]; + const TokenClefs: TokenType[]; + const TokenTimesigs: TokenType[]; + const TokenTimesigsC: TokenType[]; + const TokenTimesigsN: TokenType[]; + const TokenOctshifts: TokenType[]; + const TokenNumbers: TokenType[]; + const TokenAccidentals: TokenType[]; + const TokenNoteheads: TokenType[]; + const TokenBareNoteheads: TokenType[]; + const TokenDirectionalNoteheads: TokenType[]; + const TokenRests: TokenType[]; + const TokenFlags: TokenType[]; + const TokenVolta: TokenType[]; + const TokenDynamics: TokenType[]; + const TokenScripts: TokenType[]; + const TokenPedals: TokenType[]; + const TokenDots: TokenType[]; + const TokenArcs: TokenType[]; + const TokenBeams: TokenType[]; + const TokenWedges: TokenType[]; + const TokenAccessories: TokenType[]; + const TokenDirectionless: TokenType[]; + const TokenGlyphs: TokenType[]; + const TOKEN_Y_ROUND: Record; + const TOKEN_Y_FIXED: Record; + class Token { + static className: string; + id: string; + type: TokenType; + x: number; + y: number; + pivotX?: number; + confidence: number; + tip?: { + x: number; + y: number; + }; + voice?: number; // integer, every bit stand for a voice + timeWarped?: boolean; + constructor(data: any); + get typeId(): string; + get isPredicted(): boolean; + get isNotehead(): boolean; + get isContexted(): boolean; + get isAccessory(): boolean; + get division(): number; + get dots(): number; + get direction(): "u" | "d" | null; + get width(): number; + get left(): number; + get right(): number; + get voiceIndices(): number[]; + } + class TextToken extends Token { + textType: TextType; + text: string; + textFeature?: Record; + width_: number; + fontSize: number; + constructor(data: any); + get width(): number; + set width(value: number); + } + const recoverJSON: (json: string | object, classDict: any) => T; + class SimpleClass { + assign(data?: object): void; + toJSON(): any; + deepCopy(): this; + } + const WHOLE_DURATION: number; + enum AccessoryDirection { + Up = "^", + Down = "_", + Middle = "-" + } + enum GraceType { + Grace = "grace", + AfterGrace = "afterGrace", + Acciaccatura = "acciaccatura", + Appoggiatura = "appoggiatura", + SlashedGrace = "slashedGrace" + } + enum StemBeam { + Open = "Open", + Close = "Close", + Continue = "Continue" + } + enum TremoloLink { + Pitcher = "Pitcher", + Catcher = "Catcher", + Pierced = "Pierced" + } + enum GlissandoStyle { + Normal = "normal", + DashedLine = "dashed-line", + DottedLine = "dotted-line", + Zigzag = "zigzag", + Trill = "trill" + } + enum ArpeggioStyle { + Normal = "Normal", + Bracket = "Bracket", + Parenthesis = "Parenthesis", + ParenthesisDashed = "ParenthesisDashed", + ArrowDown = "ArrowDown" + } + interface Accessory { + direction?: AccessoryDirection; + parenthesized?: boolean; + type: TokenType; + id?: string; + x: number; + } + interface TermPitch extends Pitch { + tying?: boolean; + tied?: boolean; + parenthesized?: boolean; + octaveShift?: number; + } + class Term extends SimpleClass { + x: number; + staff?: number; + } + type RestType = "r" | "R" | "s" | null; + interface DurationalTerm { + division: number; + dots: number; + multiplier?: Fraction; + } + class EventTerm extends Term implements DurationalTerm { + static className: string; + left: number; + right: number; + pivotX: number; + system: number; + roundX: number; // for tick map, scheduler + intX: number; // for measure hash + intY: number; + ys: number[]; // order by ascending pitch, low (greater Y) to high (less Y) + pitches?: TermPitch[]; + rest: RestType; + division: number; + dots: number; + accessories: Accessory[]; + multiplier: Fraction; + stemDirection: string; + tying: boolean; + tied: boolean; + repetitionChord: boolean; + grace?: GraceType; + beam?: StemBeam; + timeWarp?: Fraction; + parenthesized?: boolean; + tremolo?: number; // like division, 'number of beams' + 2 + tremoloLink?: TremoloLink; + glissando?: boolean; + glissandoStyle?: GlissandoStyle; + arpeggioStyle?: ArpeggioStyle; + tip?: { + x: number; + y: number; + }; + tick: number; + // for topology + id?: number; + prevId?: number; + tickGroup?: number; + feature: EventFeature; + predisposition: EventPredisposition; + graceIds?: number[]; + catcherId?: number; // tremolo catcher event ID for tremolo pitcher event + noteIds?: string[]; // order by upwards + static space({ tick, duration }: { + tick: number; + duration: number; + }): EventTerm; + constructor(data: any); + get alignedTick(): number; + get mainDuration(): number; + get duration(): number; + set duration(value: number); + get prior(): number; + get times(): string; + get fullMeasureRest(): boolean; + get tipX(): number; + get tipY(): number; + get tremoloCatcher(): boolean; + get scaleChord(): string; + get zeroHolder(): boolean; + } + enum ContextType { + Clef = 0, + KeyAcc = 1, + Acc = 2, + OctaveShift = 3, + TimeSignatureC = 4, + TimeSignatureN = 5 + } + class ContextedTerm extends Term { + static className: string; + y: number; + tokenType: TokenType; + tick: number; + constructor(data: any); + get type(): ContextType; + get staffLevel(): boolean; + get prior(): number; + get clef(): number; + get alter(): 0 | 1 | 2 | -1 | -2; + get octaveShift(): number; + get number(): number; + } + //class BreakTerm extends Term { + //}; + class MarkTerm extends Term { + static className: string; + tick: number; + get prior(): number; + } + class TempoTerm extends MarkTerm { + static className: string; + duration: string; + beats: string; + static fromNumeralText(text: string): TempoTerm; + constructor(data: any); + get prior(): number; + // a whole note equal to 1920 + get durationMagnitude(): number; + // beats per minute, suppose 1 beat = 480 ticks + get bpm(): number; + isValid(range?: number[]): boolean; + } + class GlyphTerm extends MarkTerm { + static className: string; + glyph: string; + constructor(data: any); + } + class TextTerm extends MarkTerm { + static className: string; + direction?: AccessoryDirection; + text: string; + bold: boolean; + italic: boolean; + constructor(data: any); + } + class LyricTerm extends MarkTerm { + static className: string; + text: string; + constructor(data: any); + } + class CommandTerm extends MarkTerm { + static className: string; + command: string; + parameters: string[]; + constructor(data: any); + } + class ChordmodeTerm extends Term implements DurationalTerm { + static className: string; + pitch: Pitch; + basePitch?: Pitch; + modifier?: string; + division: number; + dots: number; + multiplier: Fraction; + tick: number; + constructor(data: any); + get prior(): number; + get duration(): number; + } + type Hash = Uint8Array; + class HashVector { + fields: number[]; + static fromHash(hash: Hash): HashVector; + static fromString(source: string): HashVector; + static fromWords(words: string[]): HashVector; + static concat(...vectors: HashVector[]): HashVector; + constructor(fields?: number[] | null); + get length(): number; + toHash(): Hash; + add(vec: HashVector): this; + scale(factor: number): this; + sub(crop: number): HashVector; + static get zero(): HashVector; + } + const cosHashes: (hash1: Hash, hash2: Hash) => number; + const cosBigInts: (hash1: bigint, hash2: bigint, len?: number) => number; + const hashToHex: (hash: Hash) => string; + const hexToHash: (hex: string) => Hash; + const hashToBigInt: (hash: Hash) => bigint; + const hashFromWords: (words: string[]) => Hash; + interface RawItem { + id: string; + leftBounds: string[]; + rightBounds: string[]; + conjunction: string; + } + enum StaffGroupType { + Default = 0, + Brace = 1, + // {} + Bracket = 2, + // <> + Square = 3 + } + enum StaffConjunctionType { + Blank = 0, + Dashed = 1, + Solid = 2 + } + type StaffID = string; + interface StaffGroup { + type: StaffGroupType; + subs?: StaffGroup[]; + staff?: StaffID; + level?: number; + grand?: boolean; + } + interface StaffGroupTrait { + group: StaffGroup; + range: [ + number, + number + ]; + key: string; + } + const groupKey: (group: StaffGroup) => string; + interface MaskedStaffLayout { + staffIds: string[]; + conjunctions: StaffConjunctionType[]; + groups: StaffGroupTrait[]; + } + class StaffLayout { + staffIds: string[]; + conjunctions: StaffConjunctionType[]; + group: StaffGroup; + groups: StaffGroupTrait[]; + maskCache: Map; + constructor(raw: RawItem[]); + get stavesCount(): number; + get partGroups(): StaffGroupTrait[]; + get standaloneGroups(): string[][]; + conjunctionBetween(upStaff: number, downStaff: number): StaffConjunctionType; + static makeMaskLayout(layout: StaffLayout, mask: number): MaskedStaffLayout; + mask(mask: number): MaskedStaffLayout; + // {,} * 1,1 => {,} + // {,} * 1,x => { + // {,} * 0,x => + // {,} * 0,1 => {} + partialMaskCode(bits: (1 | 0)[], withIds?: boolean): string; + } + const parseCode: (code: string) => StaffLayout; + interface Rect { + x: number; + y: number; + width: number; + height: number; + } + interface ChordRect { + x: number; + stemX: number; + width: number; + top: number; + bottom: number; + stemDirection: string; + tip?: { + x: number; + y: number; + }; + } + interface VLine { + x: number; + y1: number; + y2: number; + } + interface Fraction$0 { + numerator: number; + denominator: number; + } + type DivisionVecotor = [ + number, + number, + number, + number, + number, + number, + number, + number, + number + ]; // [0, 1, 2, 3, 4, 5, 6, 7, 8] + type MeasureBarType = null | "Terminal" | "Segment" | "VoltaRight"; + interface EventFeature { + divisions: DivisionVecotor; + dots: [ + number, + number + ]; // [1, 2] + beams: [ + number, + number, + number + ]; // ['Open', 'Continue', 'Close'] + stemDirections: [ + number, + number + ]; // ['u', 'd'] + grace: number; + tremoloCatcher: number; + } + interface EventPredisposition { + grace: boolean; + timeWarped: number; + fullMeasure: number; + fake: number; + fakeP: number; + tick: number; + division: number; + dots: number; + divisionVector: DivisionVecotor; + dotsVector: [ + number, + number, + number + ]; // [0, 1, 2] + beamVector: [ + number, + number, + number, + number + ]; // [null, open, continue, close] + stemDirectionVector: [ + number, + number, + number + ]; // [null, up, down] + } + interface ChordColumn { + left: number; + right: number; + pivotX: number; + ys: number[]; + noteIds: string[]; // order by upwards + division: number; + dots: number; + rest: boolean; + stemDirection: string; + accessories?: Accessory[]; + grace?: GraceType; + tremolo?: number; + tremoloLink?: TremoloLink; + beam?: string; + tip?: { + x: number; + y: number; + }; + //stemTipY?: number; + // for topology + staff?: number; + id?: number; + prevId?: number; + tickGroup?: number; + feature?: EventFeature; + } + interface EventMeasure { + events: EventTerm[]; + contexts: ContextedTerm[]; + } + interface StaffBasic { + timeSignature: Fraction$0; + timeSigNumeric: boolean; + keySignature: number; + doubtfulTimesig: boolean; + } + interface EventMeasureColumn { + measureIndex: number; + //startX: number; + //width: number; + rows: EventMeasure[]; // [staff] + marks: MarkTerm[]; + duration: number; + voices?: number[][]; // [voice, id] + break?: boolean; + pageBreak?: boolean; + basics?: StaffBasic[]; // [staff] + xMap?: Map; + regularLoss?: number; + voltaBegin: boolean; + voltaEnd: boolean; + alternative: boolean; + barTypes: Record; + } + interface EventSystem { + staffMask: number; + columns: EventMeasureColumn[]; // [measure] + } + interface TermMeasure extends Partial { + terms: Term[]; + duration: number; + break?: boolean; + pageBreak?: boolean; + } + type TermRow = TermMeasure[]; + interface TermStaff { + rows: TermRow[]; // [system] + } + interface Pitch { + note: number; + alter: number; + } + enum PageLayoutMethod { + ByLines = "ByLines", + ByBlocks = "ByBlocks" + } + interface RecognitionSettings { + enabledGauge: boolean; // staves straighten + pageLayoutMethod: PageLayoutMethod; + semanticConfidenceThreshold: number; + } + interface Crop { + aspect?: number | undefined; + x?: number | undefined; + y?: number | undefined; + width?: number | undefined; + height?: number | undefined; + unit?: "px" | "%" | undefined; + } + // 0 2 4 r r tx + // 1 3 5 r r ty + type Matrix2x3 = [ + number, + number, + number, + number, + number, + number + ]; + interface SourceImageFile { + name: string; + size: number; + url: string; + crop?: Crop; + matrix: Matrix2x3; + dimensions: { + width: number; + height: number; + }; + interval: number; + needGauge?: boolean; + } + interface Area extends Rect { + staves: { + interval: number; + middleRhos: number[]; + phi1: number; + phi2: number; + }; + } + interface PageLayout { + areas: Area[]; + } + interface MeasureBrief { + timeSignature: Fraction$0; + } + interface VoiceMeasure { + tickMap: { + [key: number]: EventTerm | ChordmodeTerm; + }; + duration: number; + timeSignature?: Fraction$0; + timeSigNumeric?: boolean; + keySignature?: number; + contextedTerms: ContextedTerm[]; + marks: MarkTerm[]; + break?: boolean; + pageBreak?: boolean; + bar?: string; + empty?: boolean; + headStaff?: number; + tailStaff?: number; + trait?: HashVector; + voiceIndex?: number; + } + interface TermVoice { + mode: string; + measures: VoiceMeasure[]; + } + interface VoicesStaff { + context?: string; + name?: string; + voices: TermVoice[]; + } + interface PaperOptions { + raggedLast: boolean; + raggedBottom: boolean; + raggedLastBottom: boolean; + slashSystemSeparator: boolean; + } + interface MusicHeaders { + title: string; + subtitle: string; + subsubtitle: string; + composer: string; + poet: string; + arranger: string; + opus: string; + copyright: string; + instrument: string; + dedication: string; + tagline: string; + } + interface MusicSheet { + title: string; + pageSize: { + // in pixels + width: number; + height: number; + }; + unitSize: number; + measureLayout?: measureLayout.MeasureLayout; + staffLayout: StaffLayout; + paperOptions?: Partial; + headers: Partial; + voiceStaves: VoicesStaff[]; + instrumentDict: { + [key: string]: string; + }; + } + interface Performing { + notation: MetaNotation; + tokenMap: Map; + } + type RegulationPolicy = "test" | "simple" | "equations" | "advanced"; + interface RegulationOptions { + policy?: RegulationPolicy; + quota?: number; + [key: string]: any; + } + interface ScoreData { + version?: number; + [key: string]: any; + } + interface AdditionalLineStack { + left: number; + right: number; + n: number; + } + interface RegulationSolutionEvent { + id: number; + tick: number; + tickGroup: number; + timeWarp: Fraction$0; + division?: number; + dots?: number; + beam?: string; + grace?: boolean; + fullMeasure?: boolean; + } + interface RegulationSolution { + events: RegulationSolutionEvent[]; + voices: number[][]; + duration: number; + priority?: number; + estimatedDuration?: number; + timeSignature?: Fraction$0; + } + interface BackgroundImage { + url: string; + position: Rect; + original?: boolean; + } + enum TextType { + // LEVEL CHARSET + Title = "Title", + // page general + Author = "Author", + // page general + TempoText = "TempoText", + // measure specific vocabulary + TempoNumeral = "TempoNumeral", + // measure symbolic and numeric + TextualMark = "TextualMark", + // term specific vocabulary + Lyric = "Lyric", + // term general + Instrument = "Instrument", + // system specific vocabulary + MeasureNumber = "MeasureNumber", + // system numeric + Times = "Times", + // staff numeric + Alternation1 = "Alternation1", + // measure numeric + Alternation2 = "Alternation2", + // measure numeric + Chord = "Chord", + // measure specific domian + PageMargin = "PageMargin", + // page general + Other = "Other" + } + interface Logger { + debug(message?: any, ...optionalParams: any[]): void; + info(message?: any, ...optionalParams: any[]): void; + warn(message?: any, ...optionalParams: any[]): void; + group(...label: any[]): void; + groupCollapsed(...label: any[]): void; + groupEnd(): void; + assert(expr: boolean, ...optionalParams: any[]): void; + } + class DummyLogger implements Logger { + debug(..._: any[]): void; + group(..._: any[]): void; + groupCollapsed(..._: any[]): void; + groupEnd(): void; + info(..._: any[]): void; + warn(..._: any[]): void; + assert(..._: any[]): void; + } + class PatchMeasure extends SimpleClass { + static className: string; + measureIndex: number; + staffMask: number; + basic: StaffBasic; + //points: SemanticPoint[]; + events: EventTerm[]; + contexts: ContextedTerm[][]; // [staff] + marks: MarkTerm[]; + voices: number[][]; // [voice, id] + constructor(data: any); + get staffN(): number; + get basics(): StaffBasic[]; + get duration(): number; + } + enum SemanticType { + // clefs + ClefG = "ClefG", + ClefF = "ClefF", + ClefC = "ClefC", + // noteheads + NoteheadS0 = "NoteheadS0", + NoteheadS1 = "NoteheadS1", + NoteheadS2 = "NoteheadS2", + NoteheadS1stemU = "NoteheadS1stemU", + NoteheadS1stemD = "NoteheadS1stemD", + NoteheadS2stemU = "NoteheadS2stemU", + NoteheadS2stemD = "NoteheadS2stemD", + vline_Stem = "vline_Stem", + // flags + Flag3 = "Flag3", + // beams + BeamLeft = "BeamLeft", + BeamContinue = "BeamContinue", + BeamRight = "BeamRight", + // tremolos + TremoloLeft = "TremoloLeft", + TremoloRight = "TremoloRight", + TremoloMiddle = "TremoloMiddle", + // dots (duration) + Dot = "Dot", + // rests + Rest0 = "Rest0", + Rest1 = "Rest1", + Rest2 = "Rest2", + Rest3 = "Rest3", + Rest4 = "Rest4", + Rest5 = "Rest5", + Rest6 = "Rest6", + Rest0W = "Rest0W", + // capital 'R' in lilypond + RestM1 = "RestM1", + // accidentals + AccNatural = "AccNatural", + AccSharp = "AccSharp", + AccDoublesharp = "AccDoublesharp", + AccFlat = "AccFlat", + AccFlatflat = "AccFlatflat", + // volta + vline_VoltaLeft = "vline_VoltaLeft", + vline_VoltaRight = "vline_VoltaRight", + VoltaLeft = "VoltaLeft", + VoltaRight = "VoltaRight", + VoltaAlternativeBegin = "VoltaAlternativeBegin", + //VoltaAlternativeEnd = "VoltaAlternativeEnd", + // vertical bars + BarMeasure = "BarMeasure", + vline_BarMeasure = "vline_BarMeasure", + vline_BarTerminal = "vline_BarTerminal", + vline_BarSegment = "vline_BarSegment", + // slur & tie + SlurBegin = "SlurBegin", + SlurEnd = "SlurEnd", + // time signature + TimesigC44 = "TimesigC44", + TimesigC22 = "TimesigC22", + TimesigZero = "TimesigZero", + TimesigOne = "TimesigOne", + TimesigTwo = "TimesigTwo", + TimesigThree = "TimesigThree", + TimesigFour = "TimesigFour", + TimesigFive = "TimesigFive", + TimesigSix = "TimesigSix", + TimesigSeven = "TimesigSeven", + TimesigEight = "TimesigEight", + TimesigNine = "TimesigNine", + // octave shifts + OctaveShift8va = "OctaveShift8va", + OctaveShift8vb = "OctaveShift8vb", + OctaveShift8 = "OctaveShift8", + OctaveShift0 = "OctaveShift0", + // numbers + Zero = "Zero", + One = "One", + Two = "Two", + Three = "Three", + Four = "Four", + Five = "Five", + Six = "Six", + Seven = "Seven", + Eight = "Eight", + Nine = "Nine", + // dynamics + f = "f", + p = "p", + m = "m", + n = "n", + r = "r", + s = "s", + z = "z", + CrescendoBegin = "CrescendoBegin", + CrescendoEnd = "CrescendoEnd", + DecrescendoBegin = "DecrescendoBegin", + DecrescendoEnd = "DecrescendoEnd", + // scripts + ScriptFermata = "ScriptFermata", + ScriptShortFermata = "ScriptShortFermata", + ScriptSforzato = "ScriptSforzato", + ScriptStaccato = "ScriptStaccato", + ScriptStaccatissimo = "ScriptStaccatissimo", + ScriptTurn = "ScriptTurn", + ScriptTrill = "ScriptTrill", + ScriptSegno = "ScriptSegno", + ScriptCoda = "ScriptCoda", + ScriptArpeggio = "ScriptArpeggio", + ScriptPrall = "ScriptPrall", + ScriptMordent = "ScriptMordent", + ScriptMarcato = "ScriptMarcato", + ScriptTenuto = "ScriptTenuto", + ScriptPortato = "ScriptPortato", + // pedal + PedalStar = "PedalStar", + PedalPed = "PedalPed", + // additional annotation + KeyAcc = "KeyAcc", + TempoNotehead = "TempoNotehead", + GraceNotehead = "GraceNotehead", + SignLined = "SignLined", + SignInterval = "SignInterval", + rect_Text = "rect_Text", + rect_Lyric = "rect_Lyric" + } + const glyphSemanticMapping: { + [key: string]: string; + }; + const semanticPriorities: { + [key: string]: number; + }; + interface Position { + x?: number; + y?: number; + } + const NOTEHEAD_WIDTHS: { + NoteheadS0: number; + NoteheadS1: number; + NoteheadS2: number; + }; + const glyphCenters: { + [key: string]: Position; + }; + interface Point { + // in staff unit coordinates + x: number; + y: number; + pivotX?: number; + // for prediction + confidence?: number; + // sheet token index in page + index?: number; + tag?: string; + extension?: { + y1?: number; + y2?: number; + href?: string; + width?: number; + height?: number; + text?: string; + theta?: number; + type?: string; + textFeature?: Record; + }; + } + interface SemanticPoint extends Point { + id?: string; + semantic: SemanticType; + } + const ONE_D_SEMANTICS: string[]; + const SYSTEM_SEMANTIC_TYPES: SemanticType[]; + const CONFLICTION_GROUPS: SemanticType[][]; + const STAMP_SEMANTICS: SemanticType[]; + // [cx, cy, width, height] + const STAMP_RECTS: { + ClefG: number[]; + ClefF: number[]; + ClefC: number[]; + NoteheadS0: number[]; + NoteheadS1: number[]; + NoteheadS2: number[]; + Dot: number[]; + Rest0: number[]; + Rest1: number[]; + Rest2: number[]; + Rest3: number[]; + Rest4: number[]; + Rest5: number[]; + Rest6: number[]; + RestM1: number[]; + AccNatural: number[]; + AccSharp: number[]; + AccDoublesharp: number[]; + AccFlat: number[]; + AccFlatflat: number[]; + TimesigC44: number[]; + TimesigC22: number[]; + TimesigZero: number[]; + TimesigOne: number[]; + TimesigTwo: number[]; + TimesigThree: number[]; + TimesigFour: number[]; + TimesigFive: number[]; + TimesigSix: number[]; + TimesigSeven: number[]; + TimesigEight: number[]; + TimesigNine: number[]; + One: number[]; + Two: number[]; + Three: number[]; + Four: number[]; + Five: number[]; + OctaveShift8: number[]; + OctaveShift0: number[]; + f: number[]; + p: number[]; + m: number[]; + n: number[]; + r: number[]; + s: number[]; + z: number[]; + ScriptFermata: number[]; + ScriptShortFermata: number[]; + ScriptSforzato: number[]; + ScriptStaccato: number[]; + ScriptStaccatissimo: number[]; + ScriptTurn: number[]; + ScriptTrill: number[]; + ScriptSegno: number[]; + ScriptCoda: number[]; + ScriptArpeggio: number[]; + ScriptPrall: number[]; + ScriptMordent: number[]; + ScriptMarcato: number[]; + ScriptTenuto: number[]; + ScriptPortato: number[]; + PedalStar: number[]; + PedalPed: number[]; + }; + const hashSemanticPoint: (systemIndex: number, staffIndex: number, point: SemanticPoint) => string; + const hashPageSemanticPoint: (pageName: string, point: SemanticPoint) => string; + class SemanticGraph extends SimpleClass { + static className: string; + points: SemanticPoint[]; + constructor(data?: any); + /*static fromSheetStaff(staff: staffSvg.SheetStaff, hashTable: {[key: string]: any}): SemanticGraph { + const tokens = [].concat(...staff.measures.map(measure => measure.tokens)); + + const voltaRightXs = []; + + const points = []; + tokens.forEach(token => { + const def = hashTable[token.hash]; + + if (token.glyph) { + const glyph = token.glyph as string; + let semantic = null; + + const isKey = /^\\key/.test(token.source) || token.is("KEY"); + let { x: cx = 0, y: cy = 0 } = glyphCenters[glyph] || { x: 0, y: 0 }; + if (token.scale2) { + cx *= token.scale2.x; + cy *= token.scale2.y; + } + + let x = token.x + cx; + const y = token.y + cy; + + switch (glyph) { + case "rests.0": + if (/^R/.test(token.source)) + semantic = "Rest0W"; + else + semantic = "Rest0"; + + break; + case "accidentals.flat": + semantic = glyphSemanticMapping[glyph]; + if (isKey) { + points.push({ + semantic: SemanticType.KeyAcc, + x, + y, + }); + } + + break; + case "accidentals.natural": + semantic = glyphSemanticMapping[glyph]; + if (isKey) { + points.push({ + semantic: SemanticType.KeyAcc, + x, + y, + }); + } + + break; + case "accidentals.sharp": + semantic = glyphSemanticMapping[glyph]; + if (isKey) { + points.push({ + semantic: SemanticType.KeyAcc, + x, + y, + }); + } + + break; + case "dots.dot": + if (token.is("VOLTA")) { + x += 0.24; // dot glyph center X offset + if (token.is("LEFT")) + semantic = SemanticType.VoltaLeft; + else if (token.is("RIGHT")) { + voltaRightXs.push(x); + semantic = SemanticType.VoltaRight; + } + } + else + semantic = "Dot"; + + break; + case "zero": + case "one": + case "two": + case "three": + case "four": + case "five": + case "six": + case "seven": + case "eight": + case "nine": { + const upper = glyph[0].toUpperCase() + glyph.substr(1); + semantic = token.is("TIME_SIG") ? "Timesig" + upper : upper; + } + + break; + default: + semantic = glyphSemanticMapping[glyph]; + } + + if (semantic) { + points.push({ + semantic, + x, + y, + }); + } + + if (token.is("TEMPO_NOTEHEAD")) { + points.push({ + semantic: SemanticType.TempoNotehead, + x, + y, + }); + } + + // grace noteheads + if (token.is("NOTEHEAD") && Number.isFinite(token.scale) && token.scale < 0.75) { + points.push({ + semantic: SemanticType.GraceNotehead, + x, + y, + }); + } + } + + // semantic from token symbol + let semantic = null; + const cx = 0; + let cy = 0; + if (token.is("OCTAVE")) { + if (token.is("_8")) { + semantic = SemanticType.OctaveShift8; + cy = token.is("B") ? -0.7512 : -0.7256; + } + else if (token.is("CLOSE")) { + semantic = SemanticType.OctaveShift0; + cy = 0; + } + } + else if (/^flags/.test(token.glyph)) { + let direction = 0; + if (/\.u\d/.test(token.glyph)) + direction = 1; + if (/\.d\d/.test(token.glyph)) + direction = -1; + if (direction) { + const [n] = token.glyph.match(/\d+/); + const flagCount = Number(n) - 2; + //console.log("flags:", token.glyph, flagCount); + for (let i = 0; i < flagCount; ++i) { + const y = token.y + (i + 0.5) * direction; + points.push({ + semantic: SemanticType.Flag3, + x: token.x, + y, + }); + //console.log("flags.1:", token.x, y); + } + } + } + else if (token.is("SLUR")) { + const d = def && def.d; + if (d) { + const numbers = d.match(/-?[\d.]+/g).map(Number); + //console.log("slur:", numbers); + const x1 = token.x + numbers[0]; + const y1 = token.y + numbers[1]; + const x2 = token.x + numbers[6]; + const y2 = token.y + numbers[7]; + + points.push({ + semantic: SemanticType.SlurBegin, + x: x1, + y: y1, + }); + points.push({ + semantic: SemanticType.SlurEnd, + x: x2, + y: y2, + }); + } + } + else if (token.is("NOTE_STEM")) { + points.push({ + semantic: SemanticType.vline_Stem, + x: token.x + def.width / 2, + y: token.y, + extension: { + y1: token.y, + y2: token.y + token.height, + }, + }); + } + else if (token.is("TEXT") || token.is("CHORD_TEXT")) { + if (/\S/.test(token.text)) { + // NOTE: text rect computation is delayed to sheet rendering + points.push({ + semantic: SemanticType.rect_Text, + x: token.x, + y: token.y, + extension: { + index: token.index, + text: token.text, + }, + }); + } + } + + if (semantic) { + points.push({ + semantic, + x: token.x + cx, + y: token.y + cy, + }); + } + }); + + // beams + const stems = tokens.filter(token => token.is("NOTE_STEM")).map(stem => ({ + x: stem.x + stem.width / 2, + y1: stem.y, + y2: stem.y + stem.height, + })); + const beams = tokens.filter(token => token.is("NOTETAIL") && token.is("JOINT")) + .map(beam => { + const def = hashTable[beam.hash]; + const points = def && def.points; + if (points) { + const floats = points.split(" ").map(Number); + const x1 = beam.x + floats[4]; + const x2 = beam.x + floats[0]; + const y1 = beam.y + (floats[5] + floats[7]) / 2; + const y2 = beam.y + (floats[1] + floats[3]) / 2; + const k = (y2 - y1) / (x2 - x1); + + return { x1, x2, y1, y2, k, capital: beam.is("CAPITAL_BEAM") }; + } + + return null; + }).filter(Boolean); + //console.log("beams:", beams); + beams.forEach(beam => { + const innerStems = stems.filter(stem => stem.x > beam.x1 - 0.2 && stem.x < beam.x2 + 0.2); + //console.log("innerStems:", beam, innerStems); + + let lines = 0; + innerStems.forEach(stem => { + const beamY = beam.y1 + (stem.x - beam.x1) * beam.k; + //console.log("beamY:", beamY, Math.min(Math.abs(beamY - beam.y1), Math.abs(beamY - beam.y2))); + if (beamY >= stem.y1 - 0.1 && beamY <= stem.y2 + 0.1) { + points.push({ + semantic: SemanticType.Flag3, + x: stem.x, + y: beamY, + }); + + ++lines; + + // beam semantics + if (beam.capital) { + let semantic = SemanticType.BeamContinue; + if (Math.abs(stem.x - beam.x1) < 0.2) + semantic = SemanticType.BeamLeft; + else if (Math.abs(stem.x - beam.x2) < 0.2) + semantic = SemanticType.BeamRight; + + points.push({ + semantic, + x: stem.x, + y: beamY, + }); + } + } + }); + if (!lines) + console.warn("empty beam:", beam, innerStems, stems); + //else if (lines < 2) + // console.debug("single beam:", beam, innerStems, stems); + }); + + // wedges (crescendo & decrescendo) + const crescendos = tokens.filter(token => token.is("WEDGE CRESCENDO TOP")); + const crescendoBottoms = tokens.filter(token => token.is("WEDGE CRESCENDO BOTTOM")); + const decrescendos = tokens.filter(token => token.is("WEDGE DECRESCENDO TOP")); + const decrescendoBottoms = tokens.filter(token => token.is("WEDGE DECRESCENDO BOTTOM")); + crescendos.forEach(line => { + const partner = crescendoBottoms.find(b => b.x === line.x && Math.abs(b.y - line.y) < 0.06); + + if (partner) { + points.push({ + semantic: SemanticType.CrescendoBegin, + x: line.x, + y: line.y, + }); + } + //else + // console.log("unpaired crescendo:", line, crescendoBottoms); + points.push({ + semantic: SemanticType.CrescendoEnd, + x: line.x + line.target.x, + y: line.y + line.target.y, + }); + }); + decrescendos.forEach(line => { + const partner = decrescendoBottoms.find(b => b.x + b.target.x === line.x + line.target.x && Math.abs(b.y + b.target.y - (line.y + line.target.y)) < 0.06); + + points.push({ + semantic: SemanticType.DecrescendoBegin, + x: line.x, + y: line.y, + }); + if (partner) { + points.push({ + semantic: SemanticType.DecrescendoEnd, + x: line.x + line.target.x, + y: line.y + line.target.y, + }); + } + //else + // console.log("unpaired decrescendo:", line, decrescendoBottoms); + }); + + // TODO: volta alternative + + // measure bars + const measureSeparators = staff.tokens.filter(token => token.is("MEASURE_SEPARATOR")); + const singleBars = []; + const groupBars = []; + + for (let i = 0; i < measureSeparators.length; ++i) { + const bar = measureSeparators[i]; + const nextBar = measureSeparators[i + 1]; + const inteval = nextBar ? nextBar.x - bar.x : Infinity; + + if (inteval < 1) { + groupBars.push([bar, nextBar]); + ++i; + } + else + singleBars.push(bar); + }; + //console.log("bars:", singleBars, groupBars); + + singleBars.forEach(bar => { + points.push({ + semantic: SemanticType.vline_BarMeasure, + x: bar.x + bar.sw / 2, + y: 0, + extension: { + y1: -2, + y2: 2, + }, + }); + }); + + groupBars.forEach(group => { + let x = (group[0].x + group[1].x) / 2; + const bold0 = group[0].is("BOLD"); + const bold1 = group[1].is("BOLD"); + + let semantic = null; + if (!bold0 && bold1) { + x = group[0].x; + + if (!voltaRightXs.some(vx => x - vx < 2)) + semantic = SemanticType.vline_BarTerminal; + } + else if (bold0 && !bold1) + x = group[1].x; + else if (!bold0 && !bold1) + semantic = SemanticType.vline_BarSegment; + + //console.log("group:", group[0].x, group[1].x, x); + points.push({ + semantic: SemanticType.vline_BarMeasure, + x, + y: 0, + extension: { + y1: -2, + y2: 2, + }, + }); + + if (semantic) { + points.push({ + semantic, + x, + y: 0, + extension: { + y1: -2, + y2: 2, + }, + }); + } + }); + + const graph = new SemanticGraph(); + graph.points = points; + + return graph; + }*/ + static fromPoints(points?: SemanticPoint[]): SemanticGraph; + getLayer(semantic: SemanticType): Point[]; + getConfidentLayer(semantic: SemanticType, threshold: number): Point[]; + getSystemPoints(): SemanticPoint[]; + getStaffPoints(): SemanticPoint[]; + offset(x: number, y: number): void; + scale(factor: number): void; + // multipy 3x2 matrix + transform(matrix: [ + number, + number + ][]): void; + } + type ChordsFeeder = (si: number, mi: number) => ChordColumn[]; + type ColumnProcessor = (column: EventMeasureColumn) => EventMeasureColumn; + interface StaffPosition { + y: number; + radius: number; + } + interface TextArea { + score: number; + cx: number; + cy: number; + width: number; + height: number; + text: string; + type: string; + theta: number; + feature_dict: Record; + } + type Stem = VLine & { + direction: "u" | "d"; + }; + class Measure$0 extends SimpleClass { + static className: string; + static blackKeys: string[]; + left: number; + width: number; + height: number; + alternative: boolean; + tokens: Token[]; + antiTokens: Token[]; + barTypes: Record; + constructor(data?: any); + get right(): number; + get noteheads(): Token[]; + get chordRects(): ChordRect[]; + get timeWarped(): boolean; + get additionalLines(): AdditionalLineStack[]; + getChords(): ChordColumn[]; + getRests(): ChordColumn[]; + getEvents(): ChordColumn[]; + getContexts(fields?: {}): ContextedTerm[]; + assignAccessoriesOnEvents(events: ChordColumn[]): void; + assignFeaturesOnEvents(events: ChordColumn[], semantics: SemanticPoint[]): void; + } + class Staff extends SimpleClass { + static className: string; + static blackKeys: string[]; + index?: number; // staff index in full staff layout + // in units + top: number; + height: number; + staffY: number; + semanticTop: number; + semanticBottom: number; + backgroundImage: string | Buffer; + maskImage: string | Buffer; + imagePosition: Rect; + measures: Measure$0[]; + semantics: SemanticPoint[]; + constructor({ measureCount, measureBars, ...data }?: Record); + // relative to staffY + get noteRange(): { + top: number; + bottom: number; + }; + get additionalLines(): AdditionalLineStack[]; + rearrangeMeasures(measureBars: number[]): void; + reassignTokens(tokens?: Token[]): void; + assignSemantics(graph: SemanticGraph): void; + // generate tokens from semantics + assemble(threshold: number, system: System, logger?: Logger): void; + appendPoint(point: Partial, { type, points, antiPoint, ...fields }?: { + type?: TokenType; + antiPoint?: SemanticPoint; + [key: string]: any; + }): void; + appendFlags(flags: SemanticPoint[], stems: Stem[]): void; + clearTokens(): void; + clearPredictedTokens(): void; + } + class System extends SimpleClass { + static className: string; + static blackKeys: string[]; + index?: number; + pageIndex?: number; + prev?: System; + next?: System; + headMeasureIndex?: number; // zero based + // in units + left: number; + top: number; + width: number; + indent: boolean; + measureCount: number; + staves: Staff[]; + measureBars: number[]; + backgroundImage: string; + imagePosition: Rect; + semantics: SemanticPoint[]; + tokens?: Token[]; + sidBlackList: string[]; + sidWhiteList: string[]; + displacementSemantics?: { + [id: string]: Partial; + }; + staffMaskChanged: number; + bracketsAppearance: string; // the staff layout code by prediction + constructor({ stavesCount, ...fields }: any); + get noteRange(): { + top: number; + bottom: number; + }; + get staffPositions(): StaffPosition[]; + get staffMask(): number; + get staffTop(): number; + get staffBottom(): number; + arrangePosition(): void; + tidyMeasureBars(): void; + rearrangeMeasures(): void; + get height(): number; + get connectionLine(): { + top: number; + bottom: number; + }; + get middleY(): number; + get timeSignatureOnHead(): boolean; + // an array staff or null on every position of full staff layout + getStaffArray(stavesCount: number): Staff[]; + // measureIndex: the local measure index + getMarksInMeasure(measureIndex: number): MarkTerm[]; + getEvents(stavesCount: number): EventSystem; + getEventsFunctional(stavesCount: number, ev: ChordsFeeder, processors?: ColumnProcessor[], { useXMap }?: { + useXMap?: boolean; + }): EventSystem; + // get EventSystem contains only contexted terms + getContexts(stavesCount: number): EventSystem; + assignSemantics(staffIndex: number, graph: SemanticGraph): void; + // generate tokens from semantics + assemble(threshold: number, logger?: Logger): void; + qualifiedSemantics(semantics: SemanticPoint[], threshold?: number): SemanticPoint[]; + clearTokens(): void; + newPoint(staffIndex: number, data: SemanticPoint, threshold?: number): SemanticPoint; + appendToken(token: TextToken): void; + } + class Page extends SimpleClass { + static className: string; + static blackKeys: string[]; + index?: number; + // in units + width: number; + height: number; + systems: System[]; + source: SourceImageFile; + layout?: PageLayout; + semantics: SemanticPoint[]; + tokens?: Token[]; + constructor(data: any); + get sidBlackList(): Set; + get sidWhiteList(): Set; + clearTokens(): void; + assignTexts(areas: TextArea[], [imageHeight, imageWidth]: [ + number, + number + ]): void; + assemble({ textAnnotations }?: { + textAnnotations?: { + [id: string]: string; + }; + }, logger?: Logger): void; + } + enum SemanticElementType { + BOS = 0, + PAD = 1, + NoteheadS0 = 2, + NoteheadS1 = 3, + NoteheadS2 = 4, + NoteheadGrace = 5, + vline_Stem = 6, + Flag3 = 7, + BeamLeft = 8, + BeamContinue = 9, + BeamRight = 10, + Dot = 11, + Rest0 = 12, + Rest1 = 13, + Rest2 = 14, + Rest3 = 15, + Rest4 = 16, + Rest5 = 17, + Rest6 = 18, + // measure time signature denominators & numerators + TimeD2 = 19, + TimeD4 = 20, + TimeD8 = 21, + TimeN1 = 22, + TimeN2 = 23, + TimeN3 = 24, + TimeN4 = 25, + TimeN5 = 26, + TimeN6 = 27, + TimeN7 = 28, + TimeN8 = 29, + TimeN9 = 30, + TimeN10 = 31, + TimeN11 = 32, + TimeN12 = 33 + } + const ELEMENT_TOKEN_NAMES: { + 0: string; + 2: string; + 3: string; + 4: string; + 5: string; + 7: string; + 8: string; + 9: string; + 10: string; + 11: string; + 12: string; + 13: string; + 14: string; + 15: string; + 16: string; + 17: string; + 18: string; + }; + const NOTEHEAD_ELEMENT_TYPES: SemanticElementType[]; + const NOTE_ELEMENT_TYPES: SemanticElementType[]; + interface SemanticElement { + type: SemanticElementType; + staff: number; + x: number; + y1: number; + y2: number; + index?: number; + tick?: number; + id?: string; + } + type Matrix = number[][]; + const BOS_ELEMENT: SemanticElement; + const fractionToElems: (fraction: Fraction$0) => SemanticElement[]; + class SemanticCluster extends SimpleClass { + index?: number; + elements: SemanticElement[]; + matrixH?: Matrix; // matrix N x N + _matrixV?: Matrix; // matrix N x N + groupsV?: number[][]; // ids array + masks?: [ + boolean[], + boolean[], + boolean[] + ]; // the masks for: [jointer source, jointer target, V] + static elementToJSON(elem: SemanticElement): object; + constructor(data: object); + get sourceMask(): boolean[]; + get targetMask(): boolean[]; + get vMask(): boolean[]; + get compactMatrixH(): Matrix; + set compactMatrixH(value: Matrix); + get compactMatrixV(): number[]; + set compactMatrixV(value: number[]); + get matrixV(): Matrix; + set matrixV(value: Matrix); + toJSON(): any; + static mapMatrix(matrix: number[][], x2i: number[], i2x: number[]): number[][]; + mergeOverlapping(): void; + overlappedNoteheads(): [ + number, + number + ][]; + getEvents(): ChordColumn[]; + } + interface SemanticClusterSetData { + vocab?: string[]; + clusters: SemanticCluster[]; + } + class SemanticClusterSet { + clusters: SemanticCluster[]; + constructor(data?: SemanticClusterSetData); + toJSON(): { + __prototype: string; + vocab: string[]; + clusters: any[]; + }; + } + const expandMatrixByMasks: (matrix: number[], masks: [ + boolean[], + boolean[] + ]) => Matrix; + const expandMatrixByMaskTriu: (matrix: number[], mask: boolean[]) => Matrix; + const matrixFromGroups: (len: number, groups: number[][]) => Matrix; + enum EventElementType { + PAD = 0, + BOS = 1, + EOS = 2, + CHORD = 3, + REST = 4 + } + interface EventElement { + href?: string; + disposed?: boolean; + index?: number; + voice?: number; + type: EventElementType; + staff: number; + x: number; + y1: number; + y2: number; + feature: EventFeature; + pivotX?: number; + headY?: number; + // targets + tick?: number; + division?: number; + dots?: number; + beam?: StemBeam; + stemDirection?: string; + grace?: boolean; + tremoloCatcher?: boolean; + timeWarped?: boolean; + fullMeasure?: boolean; // full measure rest + fake?: boolean; + order?: number; + predisposition?: EventPredisposition; + } + type Matrix$0 = number[][]; + interface Annotation { + loss: number; + grant: boolean; + patched: boolean; // from manually solved measure + } + class EventCluster extends SimpleClass { + static className: string; + static blackKeys: string[]; + id?: string; // for db access + index?: number; + duration?: number; + staffY0?: number; // the first staff top + staffY + signatureDuration: number; + elements: EventElement[]; + matrixH?: Matrix$0; // matrix N x N, [next][prev] + backgroundImages?: BackgroundImage[]; + annotation?: Annotation; + constructor(data: object); + get regular(): boolean; + get grant(): boolean; + get feature(): Partial; + get estimatedDuration(): number; + assignPrediction(prediction: any): void; + } + class EventClusterSet extends SimpleClass { + static className: string; + name?: string; + clusters: EventCluster[]; + constructor(data: object); + trimIrregular(): number; + } + interface EventRectification { + id: number; + division?: number; + dots?: number; + } + class MeasureRectification { + events: EventRectification[]; + constructor(data: any); + toString(): string; + static default(events: EventTerm[]): MeasureRectification; + static roll(events: EventTerm[]): MeasureRectification; + } + const genMeasureRectifications: (measure: SpartitoMeasure) => Generator; + interface SemanticPointInMeasure extends SemanticPoint { + staff: number; + // y1 y2 in system coordinate + sy1: number; + sy2: number; + } + interface GraphMeasure { + measureIndex: number; + left: number; + right: number; + points: SemanticPointInMeasure[]; + } + interface TimewiseGraph { + measures: GraphMeasure[]; + } + type Matrix$1 = number[][]; + type TickMap = Map; + interface SolutionStatistics { + loss?: number; + solverCredits?: number; + solverTimes?: number; + } + class SpartitoMeasure extends SimpleClass { + static className: string; + static blackKeys: string[]; + measureIndex: number; + staffMask: number; + staffGroups: number[][]; + originalRegulationHash?: string; + measureNumber?: number; // count from the last indent measure, head partial measure is zero, skip empty measures + patched: boolean; + discard: boolean; + position: { + systemIndex: number; + localIndex: number; // the measure local index in its system + left: number; + right: number; + staffYs?: number[]; + staffYsFull?: number[]; + }; + backgroundImages: BackgroundImage[]; + events: EventTerm[]; + endEvent: Partial; // the placeholder for end tick + contexts: ContextedTerm[][]; // [staff] + marks: MarkTerm[]; + duration: number; + voices?: number[][]; // [voice, id] + break?: boolean; + pageBreak?: boolean; + basics?: StaffBasic[]; // [staff] + voltaBegin: boolean; + voltaEnd: boolean; + alternative: boolean; + barTypes: Record; + indent: boolean; + solutionStat?: SolutionStatistics; + matrixH: Matrix$1; // matrix N x N [right][left] + matrixV: Matrix$1; // matrix N x N + estimatedDuration: number; + graph: GraphMeasure; + deposit: Record; + static reorderEvents(events: EventTerm[], staffYsFull: number[]): EventTerm[]; + constructor(data: any); + get timeSignature(): Fraction$0; + get keySignature(): number; + get timeSignatureChanged(): boolean; + get doubtfulTimesig(): boolean; + get regulated(): boolean; + get validRegulated(): boolean; + get rows(): EventMeasure[]; + get eventStartX(): number; + get startX(): number; + get width(): number; + get tickMap(): TickMap; + get tickToX(): { + [tick: number]: number; + }; + get tickRates(): number[]; + get tickRatesInStaves(): number[]; + get tickRatesInGroups(): number[]; + get tickTwist(): number; + get eventMap(): Record; + get empty(): boolean; + get hasIllEvent(): boolean; + get brief(): string; + get regulationHash(): string; + // prefer use originalRegulationHash + get regulationHash0(): string; + get regulationHashes(): string[]; + get featureWords(): string[][] | null; + get barType(): MeasureBarType; + get partialDuration(): boolean; + postRegulate(): void; + updateRoundX(): void; + updateContextTick(): void; + asSolution(ref?: SpartitoMeasure): RegulationSolution; + applySolution(solution: RegulationSolution): void; + cleanupRegulation(): void; + regulateTest(): void; + regulateSimple(): void; + regulateEquations(options: EquationPolicy.RegulatorOptions): Promise; + // compute event.tick, event.tickGroup, event.timeWarp, voices, duration + regulate({ policy, ...options }?: RegulationOptions): Promise; + createPatch(): PatchMeasure; + createClusters(): EventCluster[]; + applyClusters(clusters: EventCluster[]): void; + } + const emptyVoiceFromStaffMeasure: (staff: TermMeasure, chiefVoice?: boolean) => VoiceMeasure; + class Spartito extends SimpleClass { + static className: string; + stavesCount: number; + staffGroups: number[][]; + measures: SpartitoMeasure[]; + tags: string[]; + constructor(data: any); + get regulated(): boolean; + get solidMeasureCount(): number; + get measureIndexMapping(): number[]; + get headBPM(): number; + get measureLayoutCode(): string; + get qualityScore(): number; + dumpEvaluations(): void; + regulate(options?: RegulationOptions): void; + cleanupRegulation(): void; + // measures' estimatedDuration should be valid + rectifyTimeSignatures(logger?: Logger): void; + makeVoiceStaves(): VoicesStaff[]; + perform(): Performing; + performByEstimation(): Performing; + featureHash(): Hash; + featureHashHex(): string; + featureHashBigInt(): bigint; + assignMeasureNumbers(): void; + } + const VERSION = 14; + interface Topology { + clusters: SemanticCluster[]; + } + interface PaperOptions$0 { + raggedLast: boolean; + raggedBottom: boolean; + raggedLastBottom: boolean; + } + interface PointPosition { + point: SemanticPoint; + pageIndex: number; + systemIndex: number; + staffIndex: number; + } + interface MeasureValidation { + tickMap: { + [tick: number]: number; + }; + } + interface Size { + width: number; + height: number; + } + class Score extends SimpleClass { + static className: string; + version: number; + title: string; + // in pixels + pageSize: Size; + unitSize: number; + staffLayoutCode: string; + paperOptions?: Partial; + headers: { + [key: string]: string; + }; + textAnnotations: { + [id: string]: string; + }; + tags?: string[]; + instrumentDict: { + [key: string]: string; + }; + pages: Page[]; + topology: Topology; + spartito?: Spartito; + patches?: PatchMeasure[]; + settings: RecognitionSettings; + constructor(data: ScoreData); + get systems(): System[]; + get measureCount(): number; + get imageKeys(): string[]; + get breakSystemIndices(): number[]; + get staffLayout(): staffLayout.StaffLayout; + get measureLayoutCode(): string; + get maxStavesCount(): number; + get sidBlackList(): Set; + get sidWhiteList(): Set; + get semanticHash(): string; + eventSystemsToTermStaves(eventSystems: EventSystem[], logger?: Logger): TermStaff[]; + resetPageLayout(parameters: { + unitSize?: number; + pageSize?: Size; + }): void; + getMeasure(measureIndex: number): { + measureIndex: number; + system: System; + localIndex: number; + left: number; + right: number; + measures: Measure$0[]; + }; + getRawCluster(measureIndex: number, threshold: number, { timeSignature }?: Partial): SemanticCluster; + getRawClusters(threshold?: number): SemanticCluster[]; + makeSpartito(logger?: Logger): Spartito; + makeMusicSheet(): MusicSheet; + findPoint(sid: string): PointPosition; + getMeasureSemantics(systemIndex: number, localIndex: number): SemanticPointInMeasure[]; + makeTimewiseGraph({ store }?: { + store?: boolean; + }): TimewiseGraph; + getTokenMap(): Map; + assemble(confidenceThreshold?: number, logger?: Logger): void; + assembleSystem(system: System, confidenceThreshold?: number): void; + markVoices(staves: VoicesStaff[]): void; + replaceImageKeys(proc: (x: string | Buffer) => Promise): Promise; + inferenceStaffLayout(): void; + assignBackgroundForMeasure(measure: SpartitoMeasure): void; + blackoutFakeNotes(scope?: "patched" | "perfect" | "all"): string[]; + getMeasureLayout(): measureLayout.MeasureLayout; + splitToSingleScoresGen(): Generator; + splitToSingleScores(): Score[]; + } + // NOTE: 'JSONEditor.onEditable' determine whether a field is editable, here 'readonly' modifier has no effect to UI + interface EventUIAgent { + readonly id: number; + readonly duration: number; + //ys: number[]; + pitches: TermPitch[]; + rest: RestType; + division: number; + dots: number; + stemDirection: string; + tying: boolean; + tied: boolean; + grace: boolean; // + beam: StemBeam; + timeWarp: string; // + tremolo: number; + tremoloLink: TremoloLink; + glissando: boolean; + arpeggioStyle: ArpeggioStyle; + tick: number; + } + interface MeasureUIAgent { + readonly measureIndex: number; + timeSignature: Fraction$0; + doubtfulTimesig: boolean; + keySignature: number; + //readonly events: EventUIAgent[]; + duration: number; + readonly voices: number[][]; + } + class EditableEvent extends EventTerm { + voice: number; + constructor(data: any); + get agent(): EventUIAgent; + } + class EditableMeasure extends SpartitoMeasure { + static className: string; + static blackKeys: any[]; + events: EditableEvent[]; + constructor(data: any); + syncVoiceToEvents(): void; + syncVoiceFromEvents(): void; + get agent(): MeasureUIAgent; + makeMIDI(bpm?: number): MIDI.MidiData; + } + const mod7: (x: any) => number; + /* + Coordinates: + + note: + zero: the middle C line (maybe altered) + positive: high (right on piano keyboard) + unit: a step in scales of the current staff key + + staff Y: + zero: the third (middle) line among 5 staff lines + positive: down + unit: a interval between 2 neighbor staff lines + */ + class StaffContext { + logger: Logger; + clef: number; + keyAlters: number[]; + octaveShift: number; + alters: number[]; + timeSignature: Fraction$0; + timeSigNumeric: boolean; + timeSigNumSet: boolean; + timeSigDenSet: boolean; + doubtingTimesig: boolean; + change(term: ContextedTerm): void; + resetMeasure(): void; + resetSystem(): void; + get keySignature(): number; + get partialTimeSignature(): boolean; + noteToY(note: number): number; + pitchToNote(pitch: number, { preferredAlter }?: { + preferredAlter?: any; + }): { + note: number; + alter: number; + }; + pitchToY(pitch: number, { preferredAlter }?: { + preferredAlter?: any; + }): { + y: number; + alter: number; + }; + yToNote(y: number): number; + alterOnNote(note: number): number; + noteToPitch(note: number): number; + yToPitch(y: number): number; + yToPitchName(y: number): string; + } + interface MeasureEvaluation { + events: number; + validEvents: number; + voiceRugged: boolean; + nullEvents: number; + fakeEvents: number; + warpedEvents: number; + complicatedTimewarp: boolean; + spaceTime: number; + surplusTime: number; + durationRate: number; + beamBroken: boolean; + fractionalWarp: boolean; + irregularWarpsN: number; + irregularTick: boolean; + tickTwist: number; + tickOverlapped: boolean; + graceInVoice: boolean; + graceN: number; + graceDominant: boolean; + perfect: boolean; + fine: boolean; + error: boolean; + qualityScore: number; + } + const evaluateMeasure: (measure: SpartitoMeasure) => MeasureEvaluation; +} +interface LayoutResult { + detection: starry.PageLayout; + theta: number; + interval: number; + sourceSize?: { + width: number; + height: number; + }; +} +interface PredictorInterface { + layout: (streams: Buffer[]) => LayoutResult[]; + layout$reinforce: (streams: Buffer[], baseLayouts: LayoutResult[]) => LayoutResult[]; + gauge: (streams: Buffer[]) => { + image: Buffer; + }[]; + mask: (streams: Buffer[]) => { + image: Buffer; + }[]; + semantic: (streams: Buffer[]) => any[]; + textLoc: (streams: Buffer[]) => any[]; + textOcr: (params: { + buffers: Buffer[]; + location: any[]; + }) => any[]; + brackets: (params: { + buffers: Buffer[]; + }) => any[]; + topo: (params: { + clusters: starry.EventCluster[]; + }) => any[]; + gaugeRenderer: (params: [ + Buffer, + Buffer, + number + ]) => { + buffer: Buffer; + size: { + width: number; + height: number; + }; + }; + jianpu: (params: { + buffers: Buffer[]; + }) => any[]; +} +type PredictorType = keyof PredictorInterface; +type PyClientsConstructOptions = Partial>; +declare class PyClients { + readonly options: PyClientsConstructOptions; + readonly logger: Logger; + clients: Map>; + constructor(options: PyClientsConstructOptions, logger?: Logger); + getClient(type: PredictorType): Promise; + checkHost(type: PredictorType): Promise; + warmup(): Promise; + /** + * æĻĄåž‹éĒ„æĩ‹ + * @param type layout | mask | gauge | semantic + * @param args + */ + predictScoreImages(type: T, ...args: Parameters): Promise>; +} +interface SolutionStore { + get: (key: string) => Promise; + set: (key: string, val: RegulationSolution) => Promise; + batchGet: (keys: string[]) => Promise; +} +declare const enum MeasureStatus { + Discard = -1, + Solved = 0, + Issue = 1, + Fatal = 2 +} +interface IssueMeasure { + scoreId: string; + measureIndex: number; + measure: SpartitoMeasure; + status: MeasureStatus; +} +type SaveIssueMeasure = (data: Omit) => void; +interface BeadRegulationCounting { + cached: number; + simple: number; + computed: number; + tryTimes: number; + solved: number; + issue: number; + fatal: number; +} +interface RegulationBeadStat { + totalCost: number; // in milliseconds + pickerCost: number; // in milliseconds + measures: BeadRegulationCounting; + qualityScore: number; +} +interface RegulationBeadSummary { + scoreN: number; + totalCost: number; // in milliseconds + pickerCost: number; // in milliseconds + costPerMeasure: number | null; // in milliseconds + costPerTime: number | null; // in milliseconds + cached: number; + simple: number; + computed: number; + tryTimes: number; + solved: number; + issue: number; + fatal: number; +} +interface ProgressInfo { + pass: number; + remaining: number; + total: number; +} +interface RegulateBeadOption { + logger?: Logger; + pickers: starry.BeadPicker[]; + solutionStore?: SolutionStore; + ignoreCache?: boolean; + freshOnly?: boolean; + onSaveIssueMeasure?: SaveIssueMeasure; + onProgress?: (measure: starry.SpartitoMeasure, evaluation: starry.MeasureEvaluation, better: boolean, progress: ProgressInfo) => void; + onPassStart?: (pass: number, conditionName: string, pendingCount: number) => void; +} +declare const regulateWithBeadSolver: (score: starry.Score, { logger, pickers, solutionStore, ignoreCache, freshOnly, onSaveIssueMeasure, onProgress, onPassStart }: RegulateBeadOption) => Promise; +declare const abstractRegulationBeadStats: (stats: RegulationBeadStat[]) => RegulationBeadSummary; +interface BaseRegulationStat { + cached: number; + computed: number; + solved: number; +} +interface RegulateMaybeWithTopoOption { + solutionStore: SolutionStore; + pyClients?: PyClients; + solver: (...args: any[]) => any; + onSaveIssueMeasure?: SaveIssueMeasure; +} +interface RegulateSimpleOption { + solutionStore: SolutionStore; + solver: (...args: any[]) => any; + logger?: Logger; + quotaMax?: number; + quotaFactor?: number; +} +interface TopoRegulationStat { + solved: number; + issue: number; + fatal: number; +} +interface RegulationStat { + baseCost: number; // in milliseconds + topoCost: number; // in milliseconds + baseMeasures: BaseRegulationStat; + topoMeasures?: TopoRegulationStat; + qualityScore: number; +} +declare const doRegulate: (score: starry.Score, { pyClients, solver, solutionStore, onSaveIssueMeasure }: RegulateMaybeWithTopoOption) => Promise; +declare const doSimpleRegulate: (score: starry.Score, { solver, solutionStore, logger, quotaMax, quotaFactor }: RegulateSimpleOption) => Promise; +declare const evaluateScoreQuality: (score: starry.Score, options: RegulateSimpleOption) => Promise; +interface RegulationSummary { + scoreN: number; + baseCostTotal: number; // in milliseconds + topoCostTotal: number; // in milliseconds + baseCostPerMeasure: number | null; // in milliseconds + topoCostPerMeasure: number | null; // in milliseconds + cached: number; + baseComputed: number; + baseSolved: number; + topoSolved: number; + topoIssue: number; + topoFatal: number; +} +declare const abstractRegulationStats: (stats: RegulationStat[]) => RegulationSummary; +interface ScoreJSON { + unitSize: number; + title: { + title: string; // 标éǘ + t?: { + size: number; + }; // äļŧ标éĒ˜å­—ä―“åĪ§å° + subtitle: string; // 子标éǘ + s?: { + size: number; + }; // 子标éĒ˜å­—ä―“åĪ§å° + composer: string; // ä―œæ›ē者 + c?: { + size: number; + }; // ä―œč€…å­—ä―“åĪ§å° + }; + measInfo: number[][]; // æœŽå°čŠ‚æŊäļ€åˆ—éŸģįŽĶį›ļåŊđäšŽå°čŠ‚åž€åĪīįš„x偏į§ŧ量 + page: { + w: number; // įŽŽäļ€äļŠpageåŪ―åšĶ + h: number; // įŽŽäļ€äļŠpageéŦ˜åšĶ + }; + pages: { + src: string; // 朎éĄĩ朎地å›ūቇURL + w: number; // 背æ™Ŋå›ūå°šåŊļ + h: number; // 背æ™Ŋå›ūå°šåŊļ + x: number; // 背æ™Ŋå›ūå·ĶäļŠč§’x + y: number; // 背æ™Ŋå›ūå·ĶäļŠč§’y + l1: number; // 朎éĄĩčĩ·å§‹systemįž–å· + ls: number; // 朎éĄĩsystem数量 + matrix: number[]; + }[]; + parts: { + measures: { + w: number; // æœŽå°čŠ‚åŪ―åšĶ + staves: number; // 朎partįš„staffäļŠæ•° + notes: { + elems: { + line: number; // 乔įšŋäļ­įšŋäļš0åū€äļŠäļšæ­Ģ/向äļ‹äļščīŸïžŒæŊåŠæ žå­1äļŠå•ä― + id: string; // "n_0_1" n_å°čŠ‚å·_įŽŽå‡ äļŠéŸģįŽĶ + acc?: { + acc: AccType; + x: -1; + }; // äļīæ—ķ升降čŪ°å·åŠå…ķ偏į§ŧ量 + staff: number; // æ‰€åąžstaffįīĒåž•äŧŽ1垀始 + x?: number; // å―“å‰įŽĶåĪīį›ļåŊđįŽŽäļ€äļŠįŽĶåĪīįš„åį§ŧ量 + }[]; + x: number; // 朎éŸģįŽĶį›ļåŊđäšŽå°čŠ‚åž€åĪīįš„x偏į§ŧ量 + type: number; // n分éŸģįŽĶ0äļšå…ĻéŸģįŽĶ + grace?: { + // åĶ‚æžœæ˜Ŋ倚éŸģ则有čŊĨåąžæ€§ + slash?: boolean; // 倚éŸģå°ūå·īæ˜ŊåĶ加斜įšŋ + }; + }[]; + lbar?: { + type: string; + repeat?: string; + }; // æœŽå°čŠ‚å·Ķäū§įš„å°čŠ‚įŽĶïžš + rbar?: { + type: string; + repeat?: string; + }; // æœŽå°čŠ‚åģäū§įš„å°čŠ‚įŽĶïžš + clefs?: { + // å―“å‰å°čŠ‚äļ­é€”æ”đå˜įš„č°ąå·æ•°įŧ„ + x: number; // į›ļåŊđäšŽæœŽå°čŠ‚åž€åĪīįš„åį§ŧ量 + clef: "Treble" | "Bass"; + staff: number; // æ‰€åąžstaffįīĒåž•äŧŽ1垀始 + tick: number; // į›ļåŊđäšŽæœŽå°čŠ‚åž€åĪīįš„tick偏į§ŧ量æŊ4äļŠéŸģįŽĶæ˜Ŋ480tick + }[]; + fifths?: { + fifths: number; // č°ƒå·ïžš-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7 čĄĻįĪšå‡é™čŪ°å·įš„äļŠæ•°ïžŒč•°äļšé™čŪ°å·ïžŒæ­Ģ数äļšå‡čŪ°å· + cancel?: number; // å―“å‰å°čŠ‚æ˜ŊåĶč́čŋ˜åŽŸæŸæ­ĪéŸģ + }; + }[]; + }[]; + lines: { + // systems + m1: number; // 朎systemčĩ·å§‹å°čŠ‚įž–å· + m2: number; // 朎systemįŧ“å°ūå°čŠ‚įž–å·+1 + x: number; // 朎systemå·Ķäū§å°čŠ‚įšŋx坐标 + y: number; // 朎systemå·Ķäū§å°čŠ‚įšŋy坐标 + w: number; // 朎systemåŪ―åšĶ + h: number; // 朎systeméŦ˜åšĶ + lineStaves: { + // parts + // 朎system包åŦįš„æŊäļŠstaffå›ūቇ + // x, y: å›ūቇį›ļåŊđ䚎朎staffįŽŽ1įšŋå·ĶįŦŊį‚đįš„x,y偏į§ŧé‡ïžŒå•ä―įšŋåŪ― + // w, h: å›ūቇåŪ―éŦ˜ïžŒå•ä―įšŋåŪ― + imgs?: { + src: string; + x: number; + y: number; + w: number; + h: number; + }[]; + distances: number[]; // äļ€äļŠsystemå†…å―“å‰staff和最æŽĨčŋ‘įš„äļŠäļ€äļŠstaffįš„é—īč· + y: number; // 朎staffį›ļåŊđ䚎systemįŽŽäļ€įšŋįš„čĩ·å§‹y坐标 + staves: number; // 朎staff数量 + parti: number; // 朎staffæ‰€åąžpartįž–å· + height: number; // 朎stafféŦ˜åšĶ + details: { + [key: string]: { + hide?: boolean; + lines?: number; + }; + }; + clef: Record; // 各äļŠstaffįš„č°ąå· + fifths?: number; + }[]; + }[]; + groups: { + type: "default" | "bracket" | "brace" | "square"; // bracket, brace, square + p1: number; // part start index + p2: number; // part end index + }[]; +} +declare const enum AccType { + Sharp = "Sharp", + Flat = "Flat", + Natural = "Natural", + DoubleFlat = "DoubleFlat", + DoubleSharp = "DoubleSharp" +} +declare const constructSystem: ({ page, backgroundImage, detection, imageSize, position }: { + page: any; + backgroundImage: any; + detection: any; + imageSize: any; + position: any; +}) => starry.System; +interface ConvertOption { + format?: keyof FormatEnum; + quality?: number; + maxHeight?: number; +} +/** + * č―ŽæĒå›ūį‰‡æ žåžïžŒéŧ˜čŪĪwebp、最åΧéŦ˜åšĶ1080éŦ˜åšĶ小䚎1080臩åŠĻäļåšå°šåŊļ变æĒ + * @param url + * @param format + * @param maxHeight + * @param quality + */ +declare function convertImage(url: string | Buffer, { format, maxHeight, quality }?: ConvertOption): Promise<{ + buffer: Buffer; + filename: string; +}>; +/** + * æ›ŋæĒscoreJsonå›ūį‰‡åœ°å€ + * @param scoreJson + * @param onReplaceImage + */ +declare const replaceScoreJsonImages: (scoreJson: ScoreJSON, onReplaceImage?: (src: string) => string) => any; +/** + * čŽ·å–scoreJsonå›ūቇčĩ„暐列čĄĻ + * @param scoreJson + */ +declare const getScoreJsonImages: (scoreJson: ScoreJSON) => string[]; +interface ScorePatchesUpdateOptions { + solutionStore?: SolutionStore; +} +declare const updateScorePatches: (score: starry.Score, measures: starry.SpartitoMeasure[], options?: ScorePatchesUpdateOptions) => void; +interface EditableMeasuresSaveOptions { + status?: number; + solutionStore?: SolutionStore; +} +declare const saveEditableMeasures: (score: starry.Score, measureIndices: number[], saveMeasure: SaveIssueMeasure, { status, solutionStore }?: EditableMeasuresSaveOptions) => Promise; +export { LayoutResult, PredictorInterface, PyClientsConstructOptions, PyClients, regulateWithBeadSolver, abstractRegulationBeadStats, RegulationBeadStat, ProgressInfo, doRegulate, doSimpleRegulate, evaluateScoreQuality, abstractRegulationStats, constructSystem, ConvertOption, convertImage, replaceScoreJsonImages, getScoreJsonImages, updateScorePatches, saveEditableMeasures, starry }; diff --git a/backend/omr/dist/regulator.js b/backend/omr/dist/regulator.js new file mode 100644 index 0000000000000000000000000000000000000000..621e02fb45381e31bb0630fbb9bca1a825268fb3 --- /dev/null +++ b/backend/omr/dist/regulator.js @@ -0,0 +1,16210 @@ +/** + * name: backend + * version: v1.0.0 + * build time: 2/17/2026, 8:40:18 PM + * system user: camus + * git user name: k.l.lambda + * git user email: k.l.lambda@gmail.com + **/ + +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var msgpackr = require('msgpackr'); +var zeromq = require('zeromq'); +var portfinder = require('portfinder'); +var pythonShell = require('python-shell'); +var require$$0 = require('lodash'); +var sha1 = require('js-sha1'); +var pick$1 = require('lodash/pick'); +var erf = require('math-erf'); +var weakLruCache = require('weak-lru-cache'); +var SparkMD5 = require('spark-md5'); +var sharp = require('sharp'); +var got = require('got'); + +function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } + +var require$$0__default = /*#__PURE__*/_interopDefaultLegacy(require$$0); +var sha1__default = /*#__PURE__*/_interopDefaultLegacy(sha1); +var pick__default = /*#__PURE__*/_interopDefaultLegacy(pick$1); +var erf__default = /*#__PURE__*/_interopDefaultLegacy(erf); +var SparkMD5__default = /*#__PURE__*/_interopDefaultLegacy(SparkMD5); +var sharp__default = /*#__PURE__*/_interopDefaultLegacy(sharp); +var got__default = /*#__PURE__*/_interopDefaultLegacy(got); + +globalThis.btoa = (str) => Buffer.from(str, 'binary').toString('base64'); +globalThis.atob = (str) => Buffer.from(str, 'base64').toString('binary'); + +function commonjsRequire (path) { + throw new Error('Could not dynamically require "' + path + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.'); +} + +var events = {exports: {}}; + +var R = typeof Reflect === 'object' ? Reflect : null; +var ReflectApply = R && typeof R.apply === 'function' + ? R.apply + : function ReflectApply(target, receiver, args) { + return Function.prototype.apply.call(target, receiver, args); + }; + +var ReflectOwnKeys; +if (R && typeof R.ownKeys === 'function') { + ReflectOwnKeys = R.ownKeys; +} else if (Object.getOwnPropertySymbols) { + ReflectOwnKeys = function ReflectOwnKeys(target) { + return Object.getOwnPropertyNames(target) + .concat(Object.getOwnPropertySymbols(target)); + }; +} else { + ReflectOwnKeys = function ReflectOwnKeys(target) { + return Object.getOwnPropertyNames(target); + }; +} + +function ProcessEmitWarning(warning) { + if (console && console.warn) console.warn(warning); +} + +var NumberIsNaN = Number.isNaN || function NumberIsNaN(value) { + return value !== value; +}; + +function EventEmitter() { + EventEmitter.init.call(this); +} +events.exports = EventEmitter; +events.exports.once = once; + +// Backwards-compat with node 0.10.x +EventEmitter.EventEmitter = EventEmitter; + +EventEmitter.prototype._events = undefined; +EventEmitter.prototype._eventsCount = 0; +EventEmitter.prototype._maxListeners = undefined; + +// By default EventEmitters will print a warning if more than 10 listeners are +// added to it. This is a useful default which helps finding memory leaks. +var defaultMaxListeners = 10; + +function checkListener(listener) { + if (typeof listener !== 'function') { + throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof listener); + } +} + +Object.defineProperty(EventEmitter, 'defaultMaxListeners', { + enumerable: true, + get: function() { + return defaultMaxListeners; + }, + set: function(arg) { + if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) { + throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + arg + '.'); + } + defaultMaxListeners = arg; + } +}); + +EventEmitter.init = function() { + + if (this._events === undefined || + this._events === Object.getPrototypeOf(this)._events) { + this._events = Object.create(null); + this._eventsCount = 0; + } + + this._maxListeners = this._maxListeners || undefined; +}; + +// Obviously not all Emitters should be limited to 10. This function allows +// that to be increased. Set to zero for unlimited. +EventEmitter.prototype.setMaxListeners = function setMaxListeners(n) { + if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) { + throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + n + '.'); + } + this._maxListeners = n; + return this; +}; + +function _getMaxListeners(that) { + if (that._maxListeners === undefined) + return EventEmitter.defaultMaxListeners; + return that._maxListeners; +} + +EventEmitter.prototype.getMaxListeners = function getMaxListeners() { + return _getMaxListeners(this); +}; + +EventEmitter.prototype.emit = function emit(type) { + var args = []; + for (var i = 1; i < arguments.length; i++) args.push(arguments[i]); + var doError = (type === 'error'); + + var events = this._events; + if (events !== undefined) + doError = (doError && events.error === undefined); + else if (!doError) + return false; + + // If there is no 'error' event listener then throw. + if (doError) { + var er; + if (args.length > 0) + er = args[0]; + if (er instanceof Error) { + // Note: The comments on the `throw` lines are intentional, they show + // up in Node's output if this results in an unhandled exception. + throw er; // Unhandled 'error' event + } + // At least give some kind of context to the user + var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : '')); + err.context = er; + throw err; // Unhandled 'error' event + } + + var handler = events[type]; + + if (handler === undefined) + return false; + + if (typeof handler === 'function') { + ReflectApply(handler, this, args); + } else { + var len = handler.length; + var listeners = arrayClone(handler, len); + for (var i = 0; i < len; ++i) + ReflectApply(listeners[i], this, args); + } + + return true; +}; + +function _addListener(target, type, listener, prepend) { + var m; + var events; + var existing; + + checkListener(listener); + + events = target._events; + if (events === undefined) { + events = target._events = Object.create(null); + target._eventsCount = 0; + } else { + // To avoid recursion in the case that type === "newListener"! Before + // adding it to the listeners, first emit "newListener". + if (events.newListener !== undefined) { + target.emit('newListener', type, + listener.listener ? listener.listener : listener); + + // Re-assign `events` because a newListener handler could have caused the + // this._events to be assigned to a new object + events = target._events; + } + existing = events[type]; + } + + if (existing === undefined) { + // Optimize the case of one listener. Don't need the extra array object. + existing = events[type] = listener; + ++target._eventsCount; + } else { + if (typeof existing === 'function') { + // Adding the second element, need to change to array. + existing = events[type] = + prepend ? [listener, existing] : [existing, listener]; + // If we've already got an array, just append. + } else if (prepend) { + existing.unshift(listener); + } else { + existing.push(listener); + } + + // Check for listener leak + m = _getMaxListeners(target); + if (m > 0 && existing.length > m && !existing.warned) { + existing.warned = true; + // No error code for this since it is a Warning + // eslint-disable-next-line no-restricted-syntax + var w = new Error('Possible EventEmitter memory leak detected. ' + + existing.length + ' ' + String(type) + ' listeners ' + + 'added. Use emitter.setMaxListeners() to ' + + 'increase limit'); + w.name = 'MaxListenersExceededWarning'; + w.emitter = target; + w.type = type; + w.count = existing.length; + ProcessEmitWarning(w); + } + } + + return target; +} + +EventEmitter.prototype.addListener = function addListener(type, listener) { + return _addListener(this, type, listener, false); +}; + +EventEmitter.prototype.on = EventEmitter.prototype.addListener; + +EventEmitter.prototype.prependListener = + function prependListener(type, listener) { + return _addListener(this, type, listener, true); + }; + +function onceWrapper() { + if (!this.fired) { + this.target.removeListener(this.type, this.wrapFn); + this.fired = true; + if (arguments.length === 0) + return this.listener.call(this.target); + return this.listener.apply(this.target, arguments); + } +} + +function _onceWrap(target, type, listener) { + var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener }; + var wrapped = onceWrapper.bind(state); + wrapped.listener = listener; + state.wrapFn = wrapped; + return wrapped; +} + +EventEmitter.prototype.once = function once(type, listener) { + checkListener(listener); + this.on(type, _onceWrap(this, type, listener)); + return this; +}; + +EventEmitter.prototype.prependOnceListener = + function prependOnceListener(type, listener) { + checkListener(listener); + this.prependListener(type, _onceWrap(this, type, listener)); + return this; + }; + +// Emits a 'removeListener' event if and only if the listener was removed. +EventEmitter.prototype.removeListener = + function removeListener(type, listener) { + var list, events, position, i, originalListener; + + checkListener(listener); + + events = this._events; + if (events === undefined) + return this; + + list = events[type]; + if (list === undefined) + return this; + + if (list === listener || list.listener === listener) { + if (--this._eventsCount === 0) + this._events = Object.create(null); + else { + delete events[type]; + if (events.removeListener) + this.emit('removeListener', type, list.listener || listener); + } + } else if (typeof list !== 'function') { + position = -1; + + for (i = list.length - 1; i >= 0; i--) { + if (list[i] === listener || list[i].listener === listener) { + originalListener = list[i].listener; + position = i; + break; + } + } + + if (position < 0) + return this; + + if (position === 0) + list.shift(); + else { + spliceOne(list, position); + } + + if (list.length === 1) + events[type] = list[0]; + + if (events.removeListener !== undefined) + this.emit('removeListener', type, originalListener || listener); + } + + return this; + }; + +EventEmitter.prototype.off = EventEmitter.prototype.removeListener; + +EventEmitter.prototype.removeAllListeners = + function removeAllListeners(type) { + var listeners, events, i; + + events = this._events; + if (events === undefined) + return this; + + // not listening for removeListener, no need to emit + if (events.removeListener === undefined) { + if (arguments.length === 0) { + this._events = Object.create(null); + this._eventsCount = 0; + } else if (events[type] !== undefined) { + if (--this._eventsCount === 0) + this._events = Object.create(null); + else + delete events[type]; + } + return this; + } + + // emit removeListener for all listeners on all events + if (arguments.length === 0) { + var keys = Object.keys(events); + var key; + for (i = 0; i < keys.length; ++i) { + key = keys[i]; + if (key === 'removeListener') continue; + this.removeAllListeners(key); + } + this.removeAllListeners('removeListener'); + this._events = Object.create(null); + this._eventsCount = 0; + return this; + } + + listeners = events[type]; + + if (typeof listeners === 'function') { + this.removeListener(type, listeners); + } else if (listeners !== undefined) { + // LIFO order + for (i = listeners.length - 1; i >= 0; i--) { + this.removeListener(type, listeners[i]); + } + } + + return this; + }; + +function _listeners(target, type, unwrap) { + var events = target._events; + + if (events === undefined) + return []; + + var evlistener = events[type]; + if (evlistener === undefined) + return []; + + if (typeof evlistener === 'function') + return unwrap ? [evlistener.listener || evlistener] : [evlistener]; + + return unwrap ? + unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length); +} + +EventEmitter.prototype.listeners = function listeners(type) { + return _listeners(this, type, true); +}; + +EventEmitter.prototype.rawListeners = function rawListeners(type) { + return _listeners(this, type, false); +}; + +EventEmitter.listenerCount = function(emitter, type) { + if (typeof emitter.listenerCount === 'function') { + return emitter.listenerCount(type); + } else { + return listenerCount.call(emitter, type); + } +}; + +EventEmitter.prototype.listenerCount = listenerCount; +function listenerCount(type) { + var events = this._events; + + if (events !== undefined) { + var evlistener = events[type]; + + if (typeof evlistener === 'function') { + return 1; + } else if (evlistener !== undefined) { + return evlistener.length; + } + } + + return 0; +} + +EventEmitter.prototype.eventNames = function eventNames() { + return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : []; +}; + +function arrayClone(arr, n) { + var copy = new Array(n); + for (var i = 0; i < n; ++i) + copy[i] = arr[i]; + return copy; +} + +function spliceOne(list, index) { + for (; index + 1 < list.length; index++) + list[index] = list[index + 1]; + list.pop(); +} + +function unwrapListeners(arr) { + var ret = new Array(arr.length); + for (var i = 0; i < ret.length; ++i) { + ret[i] = arr[i].listener || arr[i]; + } + return ret; +} + +function once(emitter, name) { + return new Promise(function (resolve, reject) { + function errorListener(err) { + emitter.removeListener(name, resolver); + reject(err); + } + + function resolver() { + if (typeof emitter.removeListener === 'function') { + emitter.removeListener('error', errorListener); + } + resolve([].slice.call(arguments)); + } + eventTargetAgnosticAddListener(emitter, name, resolver, { once: true }); + if (name !== 'error') { + addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true }); + } + }); +} + +function addErrorHandlerIfEventEmitter(emitter, handler, flags) { + if (typeof emitter.on === 'function') { + eventTargetAgnosticAddListener(emitter, 'error', handler, flags); + } +} + +function eventTargetAgnosticAddListener(emitter, name, listener, flags) { + if (typeof emitter.on === 'function') { + if (flags.once) { + emitter.once(name, listener); + } else { + emitter.on(name, listener); + } + } else if (typeof emitter.addEventListener === 'function') { + // EventTarget does not have `error` event semantics like Node + // EventEmitters, we do not listen for `error` events here. + emitter.addEventListener(name, function wrapListener(arg) { + // IE does not have builtin `{ once: true }` support so we + // have to do it manually. + if (flags.once) { + emitter.removeEventListener(name, wrapListener); + } + listener(arg); + }); + } else { + throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type ' + typeof emitter); + } +} + +function destructPromise(options = {}) { + const { timeout } = options; + let rs; + let rj; + return [ + new Promise((resolve, reject) => { + rs = resolve; + rj = reject; + if (timeout >= 0) + setTimeout(rj, timeout, 'timeout'); + }), + rs, + rj, + ]; +} +class AsyncQueue extends events.exports.EventEmitter { + constructor() { + super(); + this.working = false; + this.working = false; + this.tasks = []; + process.nextTick(() => { + this.emit('idle'); + }); + } + async _digest(item) { + this.working = true; + const [taskFn, payload, resolve, reject] = item; + await taskFn(payload).then(resolve, reject); + if (this.tasks.length > 0) { + await this._digest(this.tasks.shift()); + } + else { + this.working = false; + this.emit('idle'); + } + } + /** + * æ·ŧ加队列äŧŧåŠĄ + * @param task + * @param options + */ + addTask(task, { timeout = 600000 } = {}) { + const [promise, resolve, reject] = destructPromise({ timeout }); + if (this.working) { + this.tasks.push([...task, resolve, reject]); + } + else { + this._digest([...task, resolve, reject]); + } + return promise; + } +} + +class ZeroClient { + constructor(logger = console) { + this.queue = new AsyncQueue(); + this.logger = logger; + } + bind(url) { + url && (this.url = url); + this.socket = new zeromq.Request({ + sendTimeout: 15e3, + receiveTimeout: 300e3, + }); + this.socket.connect(this.url); + } + __request(payload) { + let retryTimes = 0; + const req = async (data) => { + try { + if (this.socket.closed) + this.bind(); + return await this.socket.send(msgpackr.pack(data)).then(() => this.socket.receive()); + } + catch (err) { + if (retryTimes < 2) { + retryTimes++; + console.log(`čŊ·æą‚åĪąčīĨ${err.stack}`); + console.error(`3s后重čŊ•įŽŽ${retryTimes}æŽĄ`); + this.socket.close(); + await new Promise((resolve) => setTimeout(resolve, 3000)); + return req(data); + } + else { + throw err; + } + } + }; + return req(payload); + } + async request(method, args = null, kwargs = null) { + const [args_, kwargs_] = Array.isArray(args) ? [args, kwargs] : [undefined, args]; + const msg = { method }; + if (args_) + msg.args = args_; + if (kwargs_) + msg.kwargs = kwargs_; + return this.queue.addTask([ + async (opt) => { + const [result] = await this.__request(opt); + const obj = msgpackr.unpack(result); + if (obj.code === 0) { + return obj.data; + } + else { + return Promise.reject(obj.msg); + } + }, + msg, + ]); + } +} + +class PyProcessor extends ZeroClient { + constructor(scriptPath, options = {}, logger = console) { + super(logger); + this.retryCount = 0; + this.retryDelay = 3000; + this.scriptPath = scriptPath; + this.options = options; + } + async bind(port) { + const freePort = port || + (await portfinder.getPortPromise({ + port: 12022, + stopPort: 12122, + })); + // "./streamPredictor.py", "--inspect" + const options = require$$0.defaultsDeep({ + args: [...(this.options.args || []), '-p', `${freePort}`], + }, this.options); + this.logger.info(`[python-shell]: starting python shell. path: ${this.scriptPath}`); + this.pyShell = new pythonShell.PythonShell(this.scriptPath, options); + this.pyShell.stdout.on('data', (data) => this.logger.info(data)); + this.pyShell.on('pythonError', (err) => this.logger.error(`[python-shell]: ${this.scriptPath} pythonError:`, err)); + this.pyShell.on('stderr', (err) => this.logger.error(`[python-shell]: ${this.scriptPath} stderr:`, err)); + this.pyShell.on('error', (err) => this.logger.error(`[python-shell]: ${this.scriptPath} error:`, err)); + this.pyShell.on('close', () => { + // python子čŋ›įĻ‹å…ģ闭之äŧķ + if (this.retryCount < 5) { + this.retryCount++; + this.logger.info(`[python-shell]: ${this.scriptPath} will retry ${this.retryCount}th time after 3 seconds`); + setTimeout(() => { + this.bind(); + }, this.retryDelay); + } + }); + super.bind(`tcp://127.0.0.1:${freePort}`); + } +} + +var util$1 = {}; + +var isBuffer = function isBuffer(arg) { + return arg instanceof Buffer; +}; + +var inherits = {exports: {}}; + +var inherits_browser = {exports: {}}; + +if (typeof Object.create === 'function') { + // implementation from standard node.js 'util' module + inherits_browser.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor; + ctor.prototype = Object.create(superCtor.prototype, { + constructor: { + value: ctor, + enumerable: false, + writable: true, + configurable: true + } + }); + }; +} else { + // old school shim for old browsers + inherits_browser.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor; + var TempCtor = function () {}; + TempCtor.prototype = superCtor.prototype; + ctor.prototype = new TempCtor(); + ctor.prototype.constructor = ctor; + }; +} + +try { + var util = require('util'); + if (typeof util.inherits !== 'function') throw ''; + inherits.exports = util.inherits; +} catch (e) { + inherits.exports = inherits_browser.exports; +} + +(function (exports) { +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + +var getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors || + function getOwnPropertyDescriptors(obj) { + var keys = Object.keys(obj); + var descriptors = {}; + for (var i = 0; i < keys.length; i++) { + descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]); + } + return descriptors; + }; + +var formatRegExp = /%[sdj%]/g; +exports.format = function(f) { + if (!isString(f)) { + var objects = []; + for (var i = 0; i < arguments.length; i++) { + objects.push(inspect(arguments[i])); + } + return objects.join(' '); + } + + var i = 1; + var args = arguments; + var len = args.length; + var str = String(f).replace(formatRegExp, function(x) { + if (x === '%%') return '%'; + if (i >= len) return x; + switch (x) { + case '%s': return String(args[i++]); + case '%d': return Number(args[i++]); + case '%j': + try { + return JSON.stringify(args[i++]); + } catch (_) { + return '[Circular]'; + } + default: + return x; + } + }); + for (var x = args[i]; i < len; x = args[++i]) { + if (isNull(x) || !isObject(x)) { + str += ' ' + x; + } else { + str += ' ' + inspect(x); + } + } + return str; +}; + + +// Mark that a method should not be used. +// Returns a modified function which warns once by default. +// If --no-deprecation is set, then it is a no-op. +exports.deprecate = function(fn, msg) { + if (typeof process !== 'undefined' && process.noDeprecation === true) { + return fn; + } + + // Allow for deprecating things in the process of starting up. + if (typeof process === 'undefined') { + return function() { + return exports.deprecate(fn, msg).apply(this, arguments); + }; + } + + var warned = false; + function deprecated() { + if (!warned) { + if (process.throwDeprecation) { + throw new Error(msg); + } else if (process.traceDeprecation) { + console.trace(msg); + } else { + console.error(msg); + } + warned = true; + } + return fn.apply(this, arguments); + } + + return deprecated; +}; + + +var debugs = {}; +var debugEnviron; +exports.debuglog = function(set) { + if (isUndefined(debugEnviron)) + debugEnviron = process.env.NODE_DEBUG || ''; + set = set.toUpperCase(); + if (!debugs[set]) { + if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) { + var pid = process.pid; + debugs[set] = function() { + var msg = exports.format.apply(exports, arguments); + console.error('%s %d: %s', set, pid, msg); + }; + } else { + debugs[set] = function() {}; + } + } + return debugs[set]; +}; + + +/** + * Echos the value of a value. Trys to print the value out + * in the best way possible given the different types. + * + * @param {Object} obj The object to print out. + * @param {Object} opts Optional options object that alters the output. + */ +/* legacy: obj, showHidden, depth, colors*/ +function inspect(obj, opts) { + // default options + var ctx = { + seen: [], + stylize: stylizeNoColor + }; + // legacy... + if (arguments.length >= 3) ctx.depth = arguments[2]; + if (arguments.length >= 4) ctx.colors = arguments[3]; + if (isBoolean(opts)) { + // legacy... + ctx.showHidden = opts; + } else if (opts) { + // got an "options" object + exports._extend(ctx, opts); + } + // set default options + if (isUndefined(ctx.showHidden)) ctx.showHidden = false; + if (isUndefined(ctx.depth)) ctx.depth = 2; + if (isUndefined(ctx.colors)) ctx.colors = false; + if (isUndefined(ctx.customInspect)) ctx.customInspect = true; + if (ctx.colors) ctx.stylize = stylizeWithColor; + return formatValue(ctx, obj, ctx.depth); +} +exports.inspect = inspect; + + +// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics +inspect.colors = { + 'bold' : [1, 22], + 'italic' : [3, 23], + 'underline' : [4, 24], + 'inverse' : [7, 27], + 'white' : [37, 39], + 'grey' : [90, 39], + 'black' : [30, 39], + 'blue' : [34, 39], + 'cyan' : [36, 39], + 'green' : [32, 39], + 'magenta' : [35, 39], + 'red' : [31, 39], + 'yellow' : [33, 39] +}; + +// Don't use 'blue' not visible on cmd.exe +inspect.styles = { + 'special': 'cyan', + 'number': 'yellow', + 'boolean': 'yellow', + 'undefined': 'grey', + 'null': 'bold', + 'string': 'green', + 'date': 'magenta', + // "name": intentionally not styling + 'regexp': 'red' +}; + + +function stylizeWithColor(str, styleType) { + var style = inspect.styles[styleType]; + + if (style) { + return '\u001b[' + inspect.colors[style][0] + 'm' + str + + '\u001b[' + inspect.colors[style][1] + 'm'; + } else { + return str; + } +} + + +function stylizeNoColor(str, styleType) { + return str; +} + + +function arrayToHash(array) { + var hash = {}; + + array.forEach(function(val, idx) { + hash[val] = true; + }); + + return hash; +} + + +function formatValue(ctx, value, recurseTimes) { + // Provide a hook for user-specified inspect functions. + // Check that value is an object with an inspect function on it + if (ctx.customInspect && + value && + isFunction(value.inspect) && + // Filter out the util module, it's inspect function is special + value.inspect !== exports.inspect && + // Also filter out any prototype objects using the circular check. + !(value.constructor && value.constructor.prototype === value)) { + var ret = value.inspect(recurseTimes, ctx); + if (!isString(ret)) { + ret = formatValue(ctx, ret, recurseTimes); + } + return ret; + } + + // Primitive types cannot have properties + var primitive = formatPrimitive(ctx, value); + if (primitive) { + return primitive; + } + + // Look up the keys of the object. + var keys = Object.keys(value); + var visibleKeys = arrayToHash(keys); + + if (ctx.showHidden) { + keys = Object.getOwnPropertyNames(value); + } + + // IE doesn't make error fields non-enumerable + // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx + if (isError(value) + && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) { + return formatError(value); + } + + // Some type of object without properties can be shortcutted. + if (keys.length === 0) { + if (isFunction(value)) { + var name = value.name ? ': ' + value.name : ''; + return ctx.stylize('[Function' + name + ']', 'special'); + } + if (isRegExp(value)) { + return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); + } + if (isDate(value)) { + return ctx.stylize(Date.prototype.toString.call(value), 'date'); + } + if (isError(value)) { + return formatError(value); + } + } + + var base = '', array = false, braces = ['{', '}']; + + // Make Array say that they are Array + if (isArray(value)) { + array = true; + braces = ['[', ']']; + } + + // Make functions say that they are functions + if (isFunction(value)) { + var n = value.name ? ': ' + value.name : ''; + base = ' [Function' + n + ']'; + } + + // Make RegExps say that they are RegExps + if (isRegExp(value)) { + base = ' ' + RegExp.prototype.toString.call(value); + } + + // Make dates with properties first say the date + if (isDate(value)) { + base = ' ' + Date.prototype.toUTCString.call(value); + } + + // Make error with message first say the error + if (isError(value)) { + base = ' ' + formatError(value); + } + + if (keys.length === 0 && (!array || value.length == 0)) { + return braces[0] + base + braces[1]; + } + + if (recurseTimes < 0) { + if (isRegExp(value)) { + return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); + } else { + return ctx.stylize('[Object]', 'special'); + } + } + + ctx.seen.push(value); + + var output; + if (array) { + output = formatArray(ctx, value, recurseTimes, visibleKeys, keys); + } else { + output = keys.map(function(key) { + return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array); + }); + } + + ctx.seen.pop(); + + return reduceToSingleString(output, base, braces); +} + + +function formatPrimitive(ctx, value) { + if (isUndefined(value)) + return ctx.stylize('undefined', 'undefined'); + if (isString(value)) { + var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '') + .replace(/'/g, "\\'") + .replace(/\\"/g, '"') + '\''; + return ctx.stylize(simple, 'string'); + } + if (isNumber(value)) + return ctx.stylize('' + value, 'number'); + if (isBoolean(value)) + return ctx.stylize('' + value, 'boolean'); + // For some reason typeof null is "object", so special case here. + if (isNull(value)) + return ctx.stylize('null', 'null'); +} + + +function formatError(value) { + return '[' + Error.prototype.toString.call(value) + ']'; +} + + +function formatArray(ctx, value, recurseTimes, visibleKeys, keys) { + var output = []; + for (var i = 0, l = value.length; i < l; ++i) { + if (hasOwnProperty(value, String(i))) { + output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, + String(i), true)); + } else { + output.push(''); + } + } + keys.forEach(function(key) { + if (!key.match(/^\d+$/)) { + output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, + key, true)); + } + }); + return output; +} + + +function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) { + var name, str, desc; + desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] }; + if (desc.get) { + if (desc.set) { + str = ctx.stylize('[Getter/Setter]', 'special'); + } else { + str = ctx.stylize('[Getter]', 'special'); + } + } else { + if (desc.set) { + str = ctx.stylize('[Setter]', 'special'); + } + } + if (!hasOwnProperty(visibleKeys, key)) { + name = '[' + key + ']'; + } + if (!str) { + if (ctx.seen.indexOf(desc.value) < 0) { + if (isNull(recurseTimes)) { + str = formatValue(ctx, desc.value, null); + } else { + str = formatValue(ctx, desc.value, recurseTimes - 1); + } + if (str.indexOf('\n') > -1) { + if (array) { + str = str.split('\n').map(function(line) { + return ' ' + line; + }).join('\n').substr(2); + } else { + str = '\n' + str.split('\n').map(function(line) { + return ' ' + line; + }).join('\n'); + } + } + } else { + str = ctx.stylize('[Circular]', 'special'); + } + } + if (isUndefined(name)) { + if (array && key.match(/^\d+$/)) { + return str; + } + name = JSON.stringify('' + key); + if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) { + name = name.substr(1, name.length - 2); + name = ctx.stylize(name, 'name'); + } else { + name = name.replace(/'/g, "\\'") + .replace(/\\"/g, '"') + .replace(/(^"|"$)/g, "'"); + name = ctx.stylize(name, 'string'); + } + } + + return name + ': ' + str; +} + + +function reduceToSingleString(output, base, braces) { + var length = output.reduce(function(prev, cur) { + if (cur.indexOf('\n') >= 0) ; + return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1; + }, 0); + + if (length > 60) { + return braces[0] + + (base === '' ? '' : base + '\n ') + + ' ' + + output.join(',\n ') + + ' ' + + braces[1]; + } + + return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1]; +} + + +// NOTE: These type checking functions intentionally don't use `instanceof` +// because it is fragile and can be easily faked with `Object.create()`. +function isArray(ar) { + return Array.isArray(ar); +} +exports.isArray = isArray; + +function isBoolean(arg) { + return typeof arg === 'boolean'; +} +exports.isBoolean = isBoolean; + +function isNull(arg) { + return arg === null; +} +exports.isNull = isNull; + +function isNullOrUndefined(arg) { + return arg == null; +} +exports.isNullOrUndefined = isNullOrUndefined; + +function isNumber(arg) { + return typeof arg === 'number'; +} +exports.isNumber = isNumber; + +function isString(arg) { + return typeof arg === 'string'; +} +exports.isString = isString; + +function isSymbol(arg) { + return typeof arg === 'symbol'; +} +exports.isSymbol = isSymbol; + +function isUndefined(arg) { + return arg === void 0; +} +exports.isUndefined = isUndefined; + +function isRegExp(re) { + return isObject(re) && objectToString(re) === '[object RegExp]'; +} +exports.isRegExp = isRegExp; + +function isObject(arg) { + return typeof arg === 'object' && arg !== null; +} +exports.isObject = isObject; + +function isDate(d) { + return isObject(d) && objectToString(d) === '[object Date]'; +} +exports.isDate = isDate; + +function isError(e) { + return isObject(e) && + (objectToString(e) === '[object Error]' || e instanceof Error); +} +exports.isError = isError; + +function isFunction(arg) { + return typeof arg === 'function'; +} +exports.isFunction = isFunction; + +function isPrimitive(arg) { + return arg === null || + typeof arg === 'boolean' || + typeof arg === 'number' || + typeof arg === 'string' || + typeof arg === 'symbol' || // ES6 symbol + typeof arg === 'undefined'; +} +exports.isPrimitive = isPrimitive; + +exports.isBuffer = isBuffer; + +function objectToString(o) { + return Object.prototype.toString.call(o); +} + + +function pad(n) { + return n < 10 ? '0' + n.toString(10) : n.toString(10); +} + + +var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', + 'Oct', 'Nov', 'Dec']; + +// 26 Feb 16:19:34 +function timestamp() { + var d = new Date(); + var time = [pad(d.getHours()), + pad(d.getMinutes()), + pad(d.getSeconds())].join(':'); + return [d.getDate(), months[d.getMonth()], time].join(' '); +} + + +// log is just a thin wrapper to console.log that prepends a timestamp +exports.log = function() { + console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments)); +}; + + +/** + * Inherit the prototype methods from one constructor into another. + * + * The Function.prototype.inherits from lang.js rewritten as a standalone + * function (not on Function.prototype). NOTE: If this file is to be loaded + * during bootstrapping this function needs to be rewritten using some native + * functions as prototype setup using normal JavaScript does not work as + * expected during bootstrapping (see mirror.js in r114903). + * + * @param {function} ctor Constructor function which needs to inherit the + * prototype. + * @param {function} superCtor Constructor function to inherit prototype from. + */ +exports.inherits = inherits.exports; + +exports._extend = function(origin, add) { + // Don't do anything if add isn't an object + if (!add || !isObject(add)) return origin; + + var keys = Object.keys(add); + var i = keys.length; + while (i--) { + origin[keys[i]] = add[keys[i]]; + } + return origin; +}; + +function hasOwnProperty(obj, prop) { + return Object.prototype.hasOwnProperty.call(obj, prop); +} + +var kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined; + +exports.promisify = function promisify(original) { + if (typeof original !== 'function') + throw new TypeError('The "original" argument must be of type Function'); + + if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) { + var fn = original[kCustomPromisifiedSymbol]; + if (typeof fn !== 'function') { + throw new TypeError('The "util.promisify.custom" argument must be of type Function'); + } + Object.defineProperty(fn, kCustomPromisifiedSymbol, { + value: fn, enumerable: false, writable: false, configurable: true + }); + return fn; + } + + function fn() { + var promiseResolve, promiseReject; + var promise = new Promise(function (resolve, reject) { + promiseResolve = resolve; + promiseReject = reject; + }); + + var args = []; + for (var i = 0; i < arguments.length; i++) { + args.push(arguments[i]); + } + args.push(function (err, value) { + if (err) { + promiseReject(err); + } else { + promiseResolve(value); + } + }); + + try { + original.apply(this, args); + } catch (err) { + promiseReject(err); + } + + return promise; + } + + Object.setPrototypeOf(fn, Object.getPrototypeOf(original)); + + if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, { + value: fn, enumerable: false, writable: false, configurable: true + }); + return Object.defineProperties( + fn, + getOwnPropertyDescriptors(original) + ); +}; + +exports.promisify.custom = kCustomPromisifiedSymbol; + +function callbackifyOnRejected(reason, cb) { + // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M). + // Because `null` is a special error value in callbacks which means "no error + // occurred", we error-wrap so the callback consumer can distinguish between + // "the promise rejected with null" or "the promise fulfilled with undefined". + if (!reason) { + var newReason = new Error('Promise was rejected with a falsy value'); + newReason.reason = reason; + reason = newReason; + } + return cb(reason); +} + +function callbackify(original) { + if (typeof original !== 'function') { + throw new TypeError('The "original" argument must be of type Function'); + } + + // We DO NOT return the promise as it gives the user a false sense that + // the promise is actually somehow related to the callback's execution + // and that the callback throwing will reject the promise. + function callbackified() { + var args = []; + for (var i = 0; i < arguments.length; i++) { + args.push(arguments[i]); + } + + var maybeCb = args.pop(); + if (typeof maybeCb !== 'function') { + throw new TypeError('The last argument must be of type Function'); + } + var self = this; + var cb = function() { + return maybeCb.apply(self, arguments); + }; + // In true node style we process the callback on `nextTick` with all the + // implications (stack, `uncaughtException`, `async_hooks`) + original.apply(this, args) + .then(function(ret) { process.nextTick(cb, null, ret); }, + function(rej) { process.nextTick(callbackifyOnRejected, rej, cb); }); + } + + Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original)); + Object.defineProperties(callbackified, + getOwnPropertyDescriptors(original)); + return callbackified; +} +exports.callbackify = callbackify; +}(util$1)); + +const getPortPromise = util$1.promisify(portfinder.getPort); +class PyClients { + constructor(options, logger = console) { + this.options = options; + this.logger = logger; + this.clients = new Map(); + } + async getClient(type) { + if (this.clients.has(type)) { + return this.clients.get(type); + } + const [promise, resolve, reject] = destructPromise(); + const opt = this.options[type]; + if (!opt) { + throw new Error(`no config for client \`${type}\` found`); + } + try { + if (typeof opt === 'string') { + const client = new ZeroClient(); + client.bind(opt); + resolve(client); + } + else { + const { scriptPath, ...option } = opt; + const client = new PyProcessor(scriptPath, option, this.logger); + await client.bind(`${await getPortPromise()}`); + resolve(client); + } + this.logger.info(`PyClients: ${type} started`); + } + catch (err) { + this.logger.error(`PyClients: ${type} start fail: ${JSON.stringify(err)}`); + reject(err); + } + this.clients.set(type, promise); + return promise; + } + async checkHost(type) { + const client = await this.getClient(type); + return client.request('checkHost'); + } + async warmup() { + const opts = Object.keys(this.options); + await Promise.all(opts.map((type) => this.getClient(type))); + } + /** + * æĻĄåž‹éĒ„æĩ‹ + * @param type layout | mask | gauge | semantic + * @param args + */ + async predictScoreImages(type, ...args) { + const clientType = type.split('$')[0]; + const client = await this.getClient(clientType); + let res = null; + this.logger.info(`[predictor]: ${type} py start..`); + const start = Date.now(); + switch (type) { + case 'layout': + res = await client.request('predictDetection', args); + break; + case 'layout$reinforce': + res = await client.request('predictReinforce', args); + break; + case 'gauge': + case 'mask': + res = await client.request('predict', args, { by_buffer: true }); + break; + case 'semantic': + case 'textLoc': + res = await client.request('predict', args); + break; + case 'textOcr': + case 'brackets': + case 'topo': + case 'gaugeRenderer': + case 'jianpu': + res = await client.request('predict', ...args); + break; + default: + this.logger.error(`[predictor]: no predictor ${type}`); + } + this.logger.info(`[predictor]: ${type} py duration: ${Date.now() - start}ms`); + return res; + } +} + +var PageLayoutMethod; +(function (PageLayoutMethod) { + PageLayoutMethod["ByLines"] = "ByLines"; + PageLayoutMethod["ByBlocks"] = "ByBlocks"; +})(PageLayoutMethod || (PageLayoutMethod = {})); +var TextType; +(function (TextType) { + TextType["Title"] = "Title"; + TextType["Author"] = "Author"; + TextType["TempoText"] = "TempoText"; + TextType["TempoNumeral"] = "TempoNumeral"; + TextType["TextualMark"] = "TextualMark"; + TextType["Lyric"] = "Lyric"; + TextType["Instrument"] = "Instrument"; + TextType["MeasureNumber"] = "MeasureNumber"; + TextType["Times"] = "Times"; + TextType["Alternation1"] = "Alternation1"; + TextType["Alternation2"] = "Alternation2"; + TextType["Chord"] = "Chord"; + TextType["PageMargin"] = "PageMargin"; + TextType["Other"] = "Other"; +})(TextType || (TextType = {})); + +var SemanticType; +(function (SemanticType) { + // clefs + SemanticType["ClefG"] = "ClefG"; + SemanticType["ClefF"] = "ClefF"; + SemanticType["ClefC"] = "ClefC"; + // noteheads + SemanticType["NoteheadS0"] = "NoteheadS0"; + SemanticType["NoteheadS1"] = "NoteheadS1"; + SemanticType["NoteheadS2"] = "NoteheadS2"; + SemanticType["NoteheadS1stemU"] = "NoteheadS1stemU"; + SemanticType["NoteheadS1stemD"] = "NoteheadS1stemD"; + SemanticType["NoteheadS2stemU"] = "NoteheadS2stemU"; + SemanticType["NoteheadS2stemD"] = "NoteheadS2stemD"; + SemanticType["vline_Stem"] = "vline_Stem"; + // flags + SemanticType["Flag3"] = "Flag3"; + // beams + SemanticType["BeamLeft"] = "BeamLeft"; + SemanticType["BeamContinue"] = "BeamContinue"; + SemanticType["BeamRight"] = "BeamRight"; + // tremolos + SemanticType["TremoloLeft"] = "TremoloLeft"; + SemanticType["TremoloRight"] = "TremoloRight"; + SemanticType["TremoloMiddle"] = "TremoloMiddle"; + // dots (duration) + SemanticType["Dot"] = "Dot"; + // rests + SemanticType["Rest0"] = "Rest0"; + SemanticType["Rest1"] = "Rest1"; + SemanticType["Rest2"] = "Rest2"; + SemanticType["Rest3"] = "Rest3"; + SemanticType["Rest4"] = "Rest4"; + SemanticType["Rest5"] = "Rest5"; + SemanticType["Rest6"] = "Rest6"; + SemanticType["Rest0W"] = "Rest0W"; + SemanticType["RestM1"] = "RestM1"; + // accidentals + SemanticType["AccNatural"] = "AccNatural"; + SemanticType["AccSharp"] = "AccSharp"; + SemanticType["AccDoublesharp"] = "AccDoublesharp"; + SemanticType["AccFlat"] = "AccFlat"; + SemanticType["AccFlatflat"] = "AccFlatflat"; + // volta + SemanticType["vline_VoltaLeft"] = "vline_VoltaLeft"; + SemanticType["vline_VoltaRight"] = "vline_VoltaRight"; + SemanticType["VoltaLeft"] = "VoltaLeft"; + SemanticType["VoltaRight"] = "VoltaRight"; + SemanticType["VoltaAlternativeBegin"] = "VoltaAlternativeBegin"; + //VoltaAlternativeEnd = "VoltaAlternativeEnd", + // vertical bars + SemanticType["BarMeasure"] = "BarMeasure"; + SemanticType["vline_BarMeasure"] = "vline_BarMeasure"; + SemanticType["vline_BarTerminal"] = "vline_BarTerminal"; + SemanticType["vline_BarSegment"] = "vline_BarSegment"; + // slur & tie + SemanticType["SlurBegin"] = "SlurBegin"; + SemanticType["SlurEnd"] = "SlurEnd"; + // time signature + SemanticType["TimesigC44"] = "TimesigC44"; + SemanticType["TimesigC22"] = "TimesigC22"; + SemanticType["TimesigZero"] = "TimesigZero"; + SemanticType["TimesigOne"] = "TimesigOne"; + SemanticType["TimesigTwo"] = "TimesigTwo"; + SemanticType["TimesigThree"] = "TimesigThree"; + SemanticType["TimesigFour"] = "TimesigFour"; + SemanticType["TimesigFive"] = "TimesigFive"; + SemanticType["TimesigSix"] = "TimesigSix"; + SemanticType["TimesigSeven"] = "TimesigSeven"; + SemanticType["TimesigEight"] = "TimesigEight"; + SemanticType["TimesigNine"] = "TimesigNine"; + // octave shifts + SemanticType["OctaveShift8va"] = "OctaveShift8va"; + SemanticType["OctaveShift8vb"] = "OctaveShift8vb"; + SemanticType["OctaveShift8"] = "OctaveShift8"; + SemanticType["OctaveShift0"] = "OctaveShift0"; + // numbers + SemanticType["Zero"] = "Zero"; + SemanticType["One"] = "One"; + SemanticType["Two"] = "Two"; + SemanticType["Three"] = "Three"; + SemanticType["Four"] = "Four"; + SemanticType["Five"] = "Five"; + SemanticType["Six"] = "Six"; + SemanticType["Seven"] = "Seven"; + SemanticType["Eight"] = "Eight"; + SemanticType["Nine"] = "Nine"; + // dynamics + SemanticType["f"] = "f"; + SemanticType["p"] = "p"; + SemanticType["m"] = "m"; + SemanticType["n"] = "n"; + SemanticType["r"] = "r"; + SemanticType["s"] = "s"; + SemanticType["z"] = "z"; + SemanticType["CrescendoBegin"] = "CrescendoBegin"; + SemanticType["CrescendoEnd"] = "CrescendoEnd"; + SemanticType["DecrescendoBegin"] = "DecrescendoBegin"; + SemanticType["DecrescendoEnd"] = "DecrescendoEnd"; + // scripts + SemanticType["ScriptFermata"] = "ScriptFermata"; + SemanticType["ScriptShortFermata"] = "ScriptShortFermata"; + SemanticType["ScriptSforzato"] = "ScriptSforzato"; + SemanticType["ScriptStaccato"] = "ScriptStaccato"; + SemanticType["ScriptStaccatissimo"] = "ScriptStaccatissimo"; + SemanticType["ScriptTurn"] = "ScriptTurn"; + SemanticType["ScriptTrill"] = "ScriptTrill"; + SemanticType["ScriptSegno"] = "ScriptSegno"; + SemanticType["ScriptCoda"] = "ScriptCoda"; + SemanticType["ScriptArpeggio"] = "ScriptArpeggio"; + SemanticType["ScriptPrall"] = "ScriptPrall"; + SemanticType["ScriptMordent"] = "ScriptMordent"; + SemanticType["ScriptMarcato"] = "ScriptMarcato"; + SemanticType["ScriptTenuto"] = "ScriptTenuto"; + SemanticType["ScriptPortato"] = "ScriptPortato"; + // pedal + SemanticType["PedalStar"] = "PedalStar"; + SemanticType["PedalPed"] = "PedalPed"; + // additional annotation + SemanticType["KeyAcc"] = "KeyAcc"; + SemanticType["TempoNotehead"] = "TempoNotehead"; + SemanticType["GraceNotehead"] = "GraceNotehead"; + SemanticType["SignLined"] = "SignLined"; + SemanticType["SignInterval"] = "SignInterval"; + SemanticType["rect_Text"] = "rect_Text"; + SemanticType["rect_Lyric"] = "rect_Lyric"; +})(SemanticType || (SemanticType = {})); +const glyphSemanticMapping = { + 'rests.1': 'Rest1', + 'rests.0o': 'Rest0', + 'rests.1o': 'Rest1', + 'rests.M1': 'RestM1', + 'rests.2': 'Rest2', + 'rests.3': 'Rest3', + 'rests.4': 'Rest4', + 'rests.5': 'Rest5', + 'rests.6': 'Rest6', + 'accidentals.sharp': 'AccSharp', + 'accidentals.doublesharp': 'AccDoublesharp', + 'accidentals.natural': 'AccNatural', + 'accidentals.flat': 'AccFlat', + 'accidentals.flatflat': 'AccFlatflat', + 'dots.dot': 'Dot', + 'scripts.ufermata': 'ScriptFermata', + 'scripts.dfermata': 'ScriptFermata', + 'scripts.ushortfermata': 'ScriptShortFermata', + 'scripts.dshortfermata': 'ScriptShortFermata', + 'scripts.staccato': 'ScriptStaccato', + 'scripts.ustaccatissimo': 'ScriptStaccatissimo', + 'scripts.dstaccatissimo': 'ScriptStaccatissimo', + 'scripts.turn': 'ScriptTurn', + 'scripts.trill': 'ScriptTrill', + 'scripts.segno': 'ScriptSegno', + 'scripts.coda': 'ScriptCoda', + 'scripts.arpeggio': 'ScriptArpeggio', + 'scripts.prall': 'ScriptPrall', + 'scripts.mordent': 'ScriptMordent', + 'scripts.umarcato': 'ScriptMarcato', + 'scripts.dmarcato': 'ScriptMarcato', + 'scripts.uportato': 'ScriptPortato', + 'scripts.dportato': 'ScriptPortato', + 'scripts.tenuto': 'ScriptTenuto', + 'scripts.sforzato': 'ScriptSforzato', + 'clefs.C': 'ClefC', + 'clefs.F': 'ClefF', + 'clefs.G': 'ClefG', + 'clefs.F_change': 'ClefF', + 'clefs.G_change': 'ClefG', + 'timesig.C44': 'TimesigC44', + 'timesig.C22': 'TimesigC22', + 'pedal.*': 'PedalStar', + 'pedal.Ped': 'PedalPed', + 'noteheads.s0': 'NoteheadS0', + 'noteheads.s1': 'NoteheadS1', + 'noteheads.s2': 'NoteheadS2', + f: 'f', + m: 'm', + p: 'p', + r: 'r', + s: 's', + z: 'z', +}; +const semanticPriorities = { + ClefG: 0, + ClefF: 0, + TimesigFour: 0, + TimesigThree: 0, + TimesigTwo: 0, + NoteheadS0: 0, + NoteheadS1: 0, + NoteheadS2: 0, + Dot: 0, + vline_BarMeasure: 0, + vline_Stem: 0, + Flag3: 0, + TimesigC44: 1, + TimesigC22: 1, + TimesigEight: 1, + TimesigSix: 1, + AccNatural: 1, + AccSharp: 1, + AccFlat: 1, + KeyAcc: 1, + Rest0: 1, + Rest1: 1, + Rest2: 1, + Rest3: 1, + Rest4: 1, + OctaveShift8: 1, + OctaveShift0: 1, + AccDoublesharp: 2, + AccFlatflat: 2, + TimesigOne: 2, + TimesigNine: 2, + Rest5: 2, + Rest6: 2, + SlurBegin: 2, + SlurEnd: 2, + VoltaLeft: 2, + VoltaRight: 2, + //VoltaAlternativeBegin: 2, + vline_BarTerminal: 2, + vline_BarSegment: 2, + TempoNotehead: 2, + GraceNotehead: 2, + SignLined: 2, + SignInterval: 2, + BeamLeft: 2, + BeamRight: 2, + BeamContinue: 2, + TremoloLeft: 2, + TremoloRight: 2, + TremoloMiddle: 2, + StemTip: 2, + StemHead: 2, + //Rest0W: 3, + f: 3, + p: 3, + m: 3, + ScriptFermata: 3, + ScriptSforzato: 3, + ScriptStaccato: 3, + ScriptStaccatissimo: 3, + ScriptTurn: 3, + ScriptTrill: 3, + ScriptSegno: 3, + ScriptCoda: 3, + ScriptArpeggio: 3, + ScriptPrall: 3, + ScriptMordent: 3, + ScriptTenuto: 3, + PedalStar: 3, + PedalPed: 3, + TimesigFive: 3, + TimesigSeven: 3, + TimesigZero: 3, + One: 3, + Two: 3, + Three: 3, + Four: 3, + Five: 3, + rect_Text: 3, + rect_Lyric: 3, + CrescendoBegin: 3, + CrescendoEnd: 3, + DecrescendoBegin: 3, + DecrescendoEnd: 3, + RestM1: 4, + ClefC: 4, + ScriptShortFermata: 4, + ScriptMarcato: 4, + ScriptPortato: 4, + s: 4, + r: 4, + z: 4, + Zero: 4, + Six: 4, + Seven: 4, + Eight: 4, + Nine: 4, +}; +const NOTEHEAD_WIDTHS = { + NoteheadS0: 0.913 * 2, + NoteheadS1: 0.632 * 2, + NoteheadS2: 0.599 * 2, +}; +const glyphCenters = { + //"clefs.C": { x: 1.3 }, + 'clefs.F': { x: 1.06 }, + 'clefs.G': { x: 1.3 }, + 'clefs.F_change': { x: 0.87 }, + 'clefs.G_change': { x: 1.07 }, + 'timesig.C44': { x: 0.9 }, + 'timesig.C22': { x: 0.9 }, + zero: { x: 0.7, y: -1 }, + one: { x: 0.7, y: -1 }, + two: { x: 0.7, y: -1 }, + three: { x: 0.7, y: -1 }, + four: { x: 0.7, y: -1 }, + five: { x: 0.7, y: -1 }, + six: { x: 0.7, y: -1 }, + seven: { x: 0.7, y: -1 }, + eight: { x: 0.7, y: -1 }, + nine: { x: 0.7, y: -1 }, + 'accidentals.sharp': { x: 0.55 }, + 'accidentals.doublesharp': { x: 0.5 }, + 'accidentals.natural': { x: 0.3 }, + 'accidentals.flat': { x: 0.3 }, + 'accidentals.flatflat': { x: 0.5 }, + 'noteheads.s0': { x: NOTEHEAD_WIDTHS.NoteheadS0 / 2 }, + 'noteheads.s1': { x: NOTEHEAD_WIDTHS.NoteheadS1 / 2 }, + 'noteheads.s2': { x: NOTEHEAD_WIDTHS.NoteheadS2 / 2 }, + 'rests.0': { x: 0.75, y: 1 }, + 'rests.1': { x: 0.75 }, + 'rests.0o': { x: 0.75, y: 1 }, + 'rests.1o': { x: 0.75 }, + 'rests.M1': { x: 0.75, y: 1 }, + 'rests.2': { x: 0.5 }, + 'rests.3': { x: 0.5 }, + 'rests.4': { x: 0.5 }, + 'rests.5': { x: 0.5 }, + 'rests.6': { x: 0.5 }, + f: { x: 0.6, y: -0.5 }, + m: { x: 0.9, y: -0.5 }, + p: { x: 0.5, y: -0.5 }, + r: { x: 0.5, y: -0.5 }, + s: { x: 0.5, y: -0.5 }, + z: { x: 0.5, y: -0.5 }, + 'scripts.trill': { y: -0.5 }, + 'scripts.segno': { x: 0, y: 0 }, + 'scripts.coda': { x: 0, y: 0 }, + 'scripts.arpeggio': { x: 0.5, y: -0.5 }, + 'pedal.*': { x: 0.78, y: -0.78 }, + 'pedal.Ped': { x: 1.6, y: -0.7 }, +}; +const ONE_D_SEMANTICS = [ + 'OctaveShift8va', + 'OctaveShift8vb', + 'OctaveShift8', + 'OctaveShift0', + 'vline_VoltaLeft', + 'vline_VoltaRight', + 'VoltaAlternativeBegin', + 'vline_BarMeasure', + 'vline_BarTerminal', + 'vline_BarSegment', +]; +const SYSTEM_SEMANTIC_TYPES = [ + SemanticType.BarMeasure, + SemanticType.vline_BarMeasure, + SemanticType.vline_BarTerminal, + SemanticType.vline_BarSegment, + SemanticType.vline_VoltaLeft, + SemanticType.vline_VoltaRight, + SemanticType.VoltaAlternativeBegin, +]; +const st = SemanticType; +const CONFLICTION_GROUPS = [ + [st.NoteheadS0, st.NoteheadS1, st.NoteheadS2], + [st.Zero, st.One, st.Two, st.Three, st.Four, st.Five, st.Six, st.Seven, st.Eight, st.Nine, st.ScriptStaccatissimo], + [ + st.TimesigZero, + st.TimesigOne, + st.TimesigTwo, + st.TimesigThree, + st.TimesigFour, + st.TimesigFive, + st.TimesigSix, + st.TimesigSeven, + st.TimesigEight, + st.TimesigNine, + ], + [st.Rest0, st.Rest1, st.Rest2, st.Rest3, st.Rest4, st.Rest5, st.Rest6, st.Rest0W, st.RestM1], + [st.SignInterval, st.SignLined], + [st.BeamLeft, st.BeamContinue, st.BeamRight], +]; +const STAMP_SEMANTICS = [ + st.ClefG, + st.ClefF, + st.ClefC, + st.NoteheadS0, + st.NoteheadS1, + st.NoteheadS2, + st.Dot, + st.Rest0, + st.Rest1, + st.Rest2, + st.Rest3, + st.Rest4, + st.Rest5, + st.Rest6, + st.RestM1, + st.AccNatural, + st.AccSharp, + st.AccDoublesharp, + st.AccFlat, + st.AccFlatflat, + st.TimesigC44, + st.TimesigC22, + st.TimesigZero, + st.TimesigOne, + st.TimesigTwo, + st.TimesigThree, + st.TimesigFour, + st.TimesigFive, + st.TimesigSix, + st.TimesigSeven, + st.TimesigEight, + st.TimesigNine, + st.One, + st.Two, + st.Three, + st.Four, + st.Five, + st.OctaveShift8, + //st.OctaveShift15, + st.OctaveShift0, + st.f, + st.p, + st.m, + st.n, + st.r, + st.s, + st.z, + st.ScriptFermata, + st.ScriptShortFermata, + st.ScriptSforzato, + st.ScriptStaccato, + st.ScriptStaccatissimo, + st.ScriptTurn, + st.ScriptTrill, + st.ScriptSegno, + st.ScriptCoda, + st.ScriptArpeggio, + st.ScriptPrall, + st.ScriptMordent, + st.ScriptMarcato, + st.ScriptTenuto, + st.ScriptPortato, + st.PedalStar, + st.PedalPed, +]; +// [cx, cy, width, height] +const STAMP_RECTS = { + ClefG: [-0.0625, -1.125, 3.6, 8.6], + ClefF: [0.25, 0.5625, 3.6, 3.8], + ClefC: [0.25, 0, 3.25, 4.5], + NoteheadS0: [0.0625, 0, 2.55, 1.4], + NoteheadS1: [0.0625, 0, 1.8, 1.4], + NoteheadS2: [0.0625, -0.0625, 1.65, 1.35], + Dot: [0.25, 0, 0.6, 0.6], + Rest0: [0, -0.75, 3.25, 0.9], + Rest1: [0, -0.25, 3.25, 0.9], + Rest2: [-0.0625, -0.1875, 1.6, 3.375], + Rest3: [0, 0.0625, 1.2, 2.25], + Rest4: [0.0625, 0.5625, 1.65, 3.375], + Rest5: [0.0625, 0.0625, 1.95, 4.375], + Rest6: [0.0625, 0.5625, 1.95, 5.375], + RestM1: [-0.4375, -1.5, 0.75, 1.2], + AccNatural: [0, 0, 0.9, 3.5], + AccSharp: [0, 0, 1.5, 3.5], + AccDoublesharp: [0, 0, 1.5, 1.5], + AccFlat: [0, -0.5625, 1.2, 3.125], + AccFlatflat: [0.1875, -0.5625, 1.95, 3.125], + TimesigC44: [-0.0625, 0, 2.25, 2.3], + TimesigC22: [-0.0625, 0, 2.25, 3.2], + TimesigZero: [0, 0, 1.8, 2.2], + TimesigOne: [-0.125, 0, 1.5, 2.2], + TimesigTwo: [0, 0, 2.2, 2.2], + TimesigThree: [-0.0625, 0, 1.9, 2.4], + TimesigFour: [0.0625, 0, 1.95, 2.2], + TimesigFive: [0, 0, 1.8, 2.3], + TimesigSix: [0, 0, 2.0, 2.4], + TimesigSeven: [0, 0, 1.8, 2.2], + TimesigEight: [0, 0, 1.9, 2.2], + TimesigNine: [0, 0, 1.9, 2.2], + One: [-0.0625, 0, 0.75, 1.6], + Two: [0, 0, 1.2, 1.6], + Three: [0, 0, 1.2, 1.6], + Four: [0, 0, 1.2, 1.6], + Five: [0, 0, 1.2, 1.6], + OctaveShift8: [2.125, -0.1875, 4.75, 3.6], + OctaveShift0: [-0.4, 0, 1.8, 4.2], + f: [0.0625, -0.125, 2.55, 3], + p: [-0.0625, 0.25, 2.55, 2.1], + m: [-0.125, -0.0625, 2.4, 1.35], + n: [-0.3125, -0.0625, 1.95, 1.35], + r: [0, -0.125, 1.5, 1.5], + s: [0, -0.0625, 1.2, 1.35], + z: [0.0625, 0, 1.35, 1.5], + ScriptFermata: [0, 0, 3.25, 3.9], + ScriptShortFermata: [0, 0, 2.4, 4.95], + ScriptSforzato: [-0.0625, 0, 2.5, 1.2], + ScriptStaccato: [0, -0.0625, 0.6, 0.45], + ScriptStaccatissimo: [0, 0, 1.2, 2.6], + ScriptTurn: [0, 0, 2.7, 1.5], + ScriptTrill: [-0.125, -0.5, 3, 2.7], + ScriptSegno: [0, 0, 2.4, 3.5], + ScriptCoda: [0, 0, 2.7, 3.25], + ScriptArpeggio: [-0.0625, 0, 1.05, 1.8], + ScriptPrall: [0, 0, 2.4, 1.2], + ScriptMordent: [0, 0, 2.4, 1.5], + ScriptMarcato: [0, 0, 1.2, 2.475], + ScriptTenuto: [0, -0.0625, 1.5, 0.15], + ScriptPortato: [0, 0, 1.5, 1.65], + PedalStar: [0, 0, 3.2, 3.2], + PedalPed: [0, -0.25, 4.7, 2.4], +}; +const hashSemanticPoint = (systemIndex, staffIndex, point) => { + const x = Math.round(point.x * 10); + const y = Math.round(point.y * 10); + const source = `${systemIndex}|${staffIndex}|${point.semantic}|${x}|${y}`; + const hash = sha1__default["default"].array(source).slice(12); // clip to 12 bytes + const id = globalThis.btoa(String.fromCharCode(...hash)).substring(0, 11); + point.id = id; + return id; +}; +const hashPageSemanticPoint = (pageName, point) => { + const x = Math.round(point.x); + const y = Math.round(point.y); + const source = `p-${pageName}|${point.semantic}|${x}|${y}`; + const hash = sha1__default["default"].array(source).slice(12); // clip to 12 bytes + const id = globalThis.btoa(String.fromCharCode(...hash)).substring(0, 11); + point.id = id; + return id; +}; + +var TokenType; +(function (TokenType) { + // clefs + TokenType["ClefG"] = "clefs-G"; + TokenType["ClefF"] = "clefs-F"; + TokenType["ClefC"] = "clefs-C"; + // time signature + TokenType["TimesigC44"] = "timesig-C44"; + TokenType["TimesigC22"] = "timesig-C22"; + TokenType["TimesigZero"] = "zero|timesig0"; + TokenType["TimesigOne"] = "one|timesig1"; + TokenType["TimesigTwo"] = "two|timesig2"; + TokenType["TimesigThree"] = "three|timesig3"; + TokenType["TimesigFour"] = "four|timesig4"; + TokenType["TimesigFive"] = "five|timesig5"; + TokenType["TimesigSix"] = "six|timesig6"; + TokenType["TimesigSeven"] = "seven|timesig7"; + TokenType["TimesigEight"] = "eight|timesig8"; + TokenType["TimesigNine"] = "nine|timesig9"; + // octave shifts + TokenType["OctaveShift8va"] = "octave-a"; + TokenType["OctaveShift8vb"] = "octave-b"; + TokenType["OctaveShift0"] = "octave-0"; + // numbers + TokenType["Zero"] = "zero|n0"; + TokenType["One"] = "one|n1"; + TokenType["Two"] = "two|n2"; + TokenType["Three"] = "three|n3"; + TokenType["Four"] = "four|n4"; + TokenType["Five"] = "five|n5"; + TokenType["Six"] = "six|n6"; + TokenType["Seven"] = "seven|n7"; + TokenType["Eight"] = "eight|n8"; + TokenType["Nine"] = "nine|n9"; + // accidentals + TokenType["AccNatural"] = "accidentals-natural"; + TokenType["AccSharp"] = "accidentals-sharp"; + TokenType["AccDoublesharp"] = "accidentals-doublesharp"; + TokenType["AccFlat"] = "accidentals-flat"; + TokenType["AccFlatflat"] = "accidentals-flatflat"; + TokenType["KeyNatural"] = "accidentals-natural|key-natural"; + TokenType["KeySharp"] = "accidentals-sharp|key-sharp"; + TokenType["KeyFlat"] = "accidentals-flat|key-flat"; + // noteheads + TokenType["NoteheadS0"] = "noteheads-s0"; + TokenType["NoteheadS1"] = "noteheads-s1"; + TokenType["NoteheadS2"] = "noteheads-s2"; + TokenType["NoteheadS1stemU"] = "noteheads-s1|noteheads-s1-u"; + TokenType["NoteheadS1stemD"] = "noteheads-s1|noteheads-s1-d"; + TokenType["NoteheadS2stemU"] = "noteheads-s2|noteheads-s2-u"; + TokenType["NoteheadS2stemD"] = "noteheads-s2|noteheads-s2-d"; + // rests + TokenType["Rest0"] = "rests-0o"; + TokenType["Rest1"] = "rests-1o"; + TokenType["Rest2"] = "rests-2"; + TokenType["Rest3"] = "rests-3"; + TokenType["Rest4"] = "rests-4"; + TokenType["Rest5"] = "rests-5"; + TokenType["Rest6"] = "rests-6"; + TokenType["Rest0W"] = "rests-0"; + TokenType["RestM1"] = "rests-M1"; + // flags + TokenType["Flag3"] = "flags-u3"; + TokenType["Flag4"] = "flags-u4"; + TokenType["Flag5"] = "flags-u5"; + TokenType["Flag6"] = "flags-u6"; + TokenType["Flag7"] = "flags-u7"; + TokenType["Flag8"] = "flags-u8"; + // beams + TokenType["BeamLeft"] = "|beam-left"; + TokenType["BeamRight"] = "|beam-right"; + TokenType["BeamContinue"] = "|beam-continue"; + // tremolos + TokenType["TremoloLeft"] = "|tremolo-left"; + TokenType["TremoloRight"] = "|tremolo-right"; + TokenType["TremoloMiddle"] = "|tremolo-middle"; + // slur & tie + TokenType["SlurBegin"] = "|slur-begin"; + TokenType["SlurEnd"] = "|slur-end"; + TokenType["TieBegin"] = "|tie-begin"; + TokenType["TieEnd"] = "|tie-end"; + // volta + TokenType["VoltaLeft"] = "|volta-left"; + TokenType["VoltaRight"] = "|volta-right"; + TokenType["VoltaAlternativeBegin"] = "|volta-alter-begin"; + //VoltaAlternativeEnd = "|volta-alter-end", + // vertical bars + //BarMeasure = "|bar-measure", + TokenType["BarTerminal"] = "|bar-terminal"; + TokenType["BarSegment"] = "|bar-segment"; + // dots (duration) + TokenType["Dot"] = "|dot"; + TokenType["DotDot"] = "|dotdot"; + // dynamics + TokenType["f"] = "f"; + TokenType["p"] = "p"; + TokenType["m"] = "m"; + TokenType["r"] = "r"; + TokenType["s"] = "s"; + TokenType["z"] = "z"; + // + TokenType["WedgeCrescendo"] = "|wedge-crescendo"; + TokenType["WedgeDiminuendo"] = "|wedge-diminuendo"; + TokenType["WedgeClose"] = "|wedge-close"; + TokenType["CrescendoBegin"] = "|wedge-crescendo"; + TokenType["DecrescendoBegin"] = "|wedge-diminuendo"; + TokenType["CrescendoEnd"] = "|wedge-close"; + TokenType["DecrescendoEnd"] = "|wedge-close"; + // scripts + TokenType["ScriptFermata"] = "scripts-ufermata"; + TokenType["ScriptShortFermata"] = "scripts-ushortfermata"; + TokenType["ScriptSforzato"] = "scripts-sforzato"; + TokenType["ScriptStaccato"] = "scripts-staccato"; + TokenType["ScriptStaccatissimo"] = "scripts-ustaccatissimo"; + TokenType["ScriptTurn"] = "scripts-turn"; + TokenType["ScriptTrill"] = "scripts-trill"; + TokenType["ScriptSegno"] = "scripts-segno"; + TokenType["ScriptCoda"] = "scripts-coda"; + TokenType["ScriptArpeggio"] = "scripts-arpeggio"; + TokenType["ScriptPrall"] = "scripts-prall"; + TokenType["ScriptMordent"] = "scripts-mordent"; + TokenType["ScriptMarcato"] = "scripts-umarcato"; + TokenType["ScriptTenuto"] = "scripts-tenuto"; + TokenType["ScriptPortato"] = "scripts-uportato"; + // pedal + TokenType["PedalStar"] = "pedal-star"; + TokenType["PedalPed"] = "pedal-Ped"; + TokenType["Text"] = "|text"; + TokenType["GraceNotehead"] = "|grace-notehead"; +})(TokenType || (TokenType = {})); +// alias +const tt = TokenType; +const TokenTypes = Object.values(TokenType); +const TokenClefs = TokenTypes.filter((t) => /clefs-/.test(t)); +const TokenTimesigs = TokenTypes.filter((t) => /timesig/.test(t)); +const TokenTimesigsC = TokenTypes.filter((t) => /timesig-/.test(t)); +const TokenTimesigsN = TokenTypes.filter((t) => /timesig\d/.test(t)); +const TokenOctshifts = TokenTypes.filter((t) => /octave-/.test(t)); +const TokenNumbers = TokenTypes.filter((t) => /n\d/.test(t)); +const TokenAccidentals = TokenTypes.filter((t) => /accidentals-/.test(t)); +const TokenNoteheads = TokenTypes.filter((t) => /noteheads-/.test(t)); +const TokenBareNoteheads = [tt.NoteheadS0, tt.NoteheadS1, tt.NoteheadS2]; +const TokenDirectionalNoteheads = TokenTypes.filter((t) => /noteheads-.+-[ud]/.test(t)); +const TokenRests = TokenTypes.filter((t) => /rests-/.test(t)); +const TokenFlags = TokenTypes.filter((t) => /flags-/.test(t)); +const TokenVolta = TokenTypes.filter((t) => /volta-/.test(t)); +const TokenDynamics = TokenTypes.filter((t) => /^[a-z]$/.test(t)); +const TokenScripts = TokenTypes.filter((t) => /scripts-/.test(t)); +const TokenPedals = TokenTypes.filter((t) => /pedal-/.test(t)); +const TokenDots = [tt.Dot, tt.DotDot]; +const TokenArcs = [tt.SlurBegin, tt.SlurEnd, tt.TieBegin, tt.TieEnd]; +const TokenBeams = TokenTypes.filter((t) => /beam-/.test(t)); +const TokenWedges = TokenTypes.filter((t) => /wedge-/.test(t)); +const TokenAccessories = [ + ...TokenNumbers, + ...TokenDynamics, + ...TokenWedges, + ...TokenPedals, + ...TokenArcs, + tt.ScriptFermata, + tt.ScriptShortFermata, + tt.ScriptSforzato, + tt.ScriptStaccato, + tt.ScriptStaccatissimo, + tt.ScriptTurn, + tt.ScriptTrill, + tt.ScriptPrall, + tt.ScriptMordent, + tt.ScriptMarcato, + tt.ScriptTenuto, + tt.ScriptPortato, +]; +const TokenDirectionless = [...TokenPedals]; +const TokenGlyphs = [ + ...TokenClefs, + ...TokenTimesigs, + ...TokenNumbers, + ...TokenAccidentals, + tt.NoteheadS0, + tt.NoteheadS1, + tt.NoteheadS2, + ...TokenRests, + ...TokenDynamics, + ...TokenScripts, + ...TokenPedals, + ...TokenDots, +]; +const TOKEN_Y_ROUND = {}; +TokenClefs.forEach((t) => (TOKEN_Y_ROUND[t] = 1)); +TokenTimesigsN.forEach((t) => (TOKEN_Y_ROUND[t] = 1)); +TokenAccidentals.forEach((t) => (TOKEN_Y_ROUND[t] = 0.5)); +TokenNoteheads.forEach((t) => (TOKEN_Y_ROUND[t] = 0.5)); +TokenRests.forEach((t) => (TOKEN_Y_ROUND[t] = 0.5)); +TokenDots.forEach((t) => (TOKEN_Y_ROUND[t] = 0.5)); +const TOKEN_Y_FIXED = {}; +TokenTimesigsC.forEach((t) => (TOKEN_Y_FIXED[t] = 0)); +TokenVolta.forEach((t) => (TOKEN_Y_FIXED[t] = 0)); +class Token { + constructor(data) { + Object.assign(this, data); + } + get typeId() { + return this.type.split('|').reverse()[0]; + } + get isPredicted() { + return Number.isFinite(this.confidence); + } + get isNotehead() { + return TokenDirectionalNoteheads.includes(this.type) || this.type === TokenType.NoteheadS0; + } + get isContexted() { + return (TokenClefs.includes(this.type) || TokenTimesigs.includes(this.type) || TokenOctshifts.includes(this.type) || TokenAccidentals.includes(this.type)); + } + get isAccessory() { + return TokenNumbers.includes(this.type) || TokenDynamics.includes(this.type) || TokenScripts.includes(this.type) || TokenPedals.includes(this.type); + } + get division() { + switch (this.type) { + case tt.NoteheadS0: + return 0; + case tt.NoteheadS1stemU: + case tt.NoteheadS1stemD: + return 1; + case tt.NoteheadS2stemU: + case tt.NoteheadS2stemD: + return 2; + case tt.Flag3: + return 3; + case tt.Flag4: + return 4; + case tt.Flag5: + return 5; + case tt.Flag6: + return 6; + case tt.Flag7: + return 7; + case tt.Flag8: + return 8; + case tt.RestM1: + return -1; + case tt.Rest0: + return 0; + case tt.Rest1: + return 1; + case tt.Rest2: + return 2; + case tt.Rest3: + return 3; + case tt.Rest4: + return 4; + case tt.Rest5: + return 5; + case tt.Rest6: + return 6; + // TODO: + //case tt.Rest0W: + // return 0; + } + return null; + } + get dots() { + switch (this.type) { + case tt.Dot: + return 1; + case tt.DotDot: + return 2; + } + return null; + } + get direction() { + switch (this.type) { + case tt.NoteheadS1stemU: + case tt.NoteheadS2stemU: + return 'u'; + case tt.NoteheadS1stemD: + case tt.NoteheadS2stemD: + return 'd'; + } + return null; + } + get width() { + switch (this.type) { + case tt.NoteheadS0: + return NOTEHEAD_WIDTHS.NoteheadS0; + case tt.NoteheadS1stemU: + case tt.NoteheadS1stemD: + return NOTEHEAD_WIDTHS.NoteheadS1; + case tt.NoteheadS2stemU: + case tt.NoteheadS2stemD: + return NOTEHEAD_WIDTHS.NoteheadS2; + } + } + get left() { + switch (this.type) { + case tt.NoteheadS0: + return this.x - this.width / 2; + case tt.NoteheadS1stemU: + case tt.NoteheadS2stemU: + return this.x - this.width; + case tt.NoteheadS1stemD: + case tt.NoteheadS2stemD: + return this.x; + } + return this.x; + } + get right() { + switch (this.type) { + case tt.NoteheadS0: + return this.x + this.width / 2; + case tt.NoteheadS1stemU: + case tt.NoteheadS2stemU: + return this.x; + case tt.NoteheadS1stemD: + case tt.NoteheadS2stemD: + return this.x + this.width; + } + return this.x; + } + get voiceIndices() { + if (!this.voice || this.voice < 0) + return []; + return Array(Math.floor(Math.log2(this.voice)) + 1) + .fill(null) + .reduce((indices, _, i) => (this.voice & (1 << i) ? [i + 1, ...indices] : indices), []); + } +} +Token.className = 'Token'; +class TextToken extends Token { + constructor(data) { + super(data); + Object.assign(this, data); + } + get width() { + return this.width_; + } + set width(value) { + this.width_ = value; + } +} + +const recoverJSON = (json, classDict) => { + if (typeof json === 'object') + json = JSON.stringify(json); + return JSON.parse(json, (_, value) => { + if (value && typeof value === 'object' && value.__prototype) { + const Class = classDict[value.__prototype]; + if (Class) { + const { __prototype, ...fields } = value; + return new Class(fields); + } + } + return value; + }); +}; +const deepCopy = (o, dict = null) => { + dict = dict || new Map(); + if (dict.get(o)) + return dict.get(o); + if (Array.isArray(o)) { + const result = []; + dict.set(o, result); + o.forEach((e) => result.push(deepCopy(e, dict))); + return result; + } + else if (o && typeof o === 'object') { + const result = {}; + dict.set(o, result); + Object.entries(o).forEach(([key, value]) => (result[key] = deepCopy(value, dict))); + Object.setPrototypeOf(result, o.__proto__); + return result; + } + return o; +}; +class SimpleClass { + assign(data) { + if (data) + Object.assign(this, data); + } + toJSON() { + const cls = this.constructor; + const serializedKeys = cls.serializedKeys || (cls.blackKeys && Object.keys(this).filter((key) => !cls.blackKeys.includes(key))); + const fields = serializedKeys ? pick__default["default"](this, serializedKeys) : this; + return { + __prototype: cls.className, + ...fields, + }; + } + deepCopy() { + return deepCopy(this); + } +} + +var LayoutType; +(function (LayoutType) { + LayoutType["Ordinary"] = "ordinary"; + LayoutType["Full"] = "full"; + LayoutType["Conservative"] = "conservative"; + LayoutType["Once"] = "once"; +})(LayoutType || (LayoutType = {})); +const spreadMeasureSeq = (seq, type = LayoutType.Ordinary) => [].concat(...seq.map((layout) => layout.serialize(type))); +const seqToCode = (seq, { withBrackets = false } = {}) => { + //const code = seq.map(layout => layout.code).join(", "); + let code = ''; + let inRange = false; + for (let i = 0; i < seq.length; ++i) { + const middle = seq[i - 1] instanceof SingleMLayout && seq[i] instanceof SingleMLayout && seq[i + 1] instanceof SingleMLayout; + if (middle) { + if (!inRange) { + code += '..'; + inRange = true; + } + } + else { + if (i > 0 && !inRange) + code += ', '; + inRange = false; + code += seq[i].code; + } + } + return withBrackets ? `[${code}]` : code; +}; +class SingleMLayout extends SimpleClass { + static from(measure) { + const layout = new SingleMLayout(); + layout.measure = measure; + return layout; + } + constructor(data = undefined) { + super(); + this.assign(data); + } + serialize() { + return [this.measure]; + } + get seq() { + return [this]; + } + get code() { + return this.measure.toString(); + } +} +SingleMLayout.className = 'SingleMLayout'; +class BlockMLayout extends SimpleClass { + static trimSeq(seq) { + const seq2 = []; + for (const layout of seq) { + if (layout instanceof BlockMLayout) { + for (const sub of layout.seq) + seq2.push(sub); + } + else + seq2.push(layout); + } + // reduce duplicated or backwards single measures + const seq3 = []; + let measure = null; + for (const layout of seq2) { + if (layout instanceof SingleMLayout) { + if (layout.measure > measure) { + seq3.push(layout); + measure = layout.measure; + } + } + else + seq3.push(layout); + } + return seq3; + } + static fromSeq(seq) { + const layout = new BlockMLayout(); + layout.seq = BlockMLayout.trimSeq(seq); + return layout; + } + constructor(data = undefined) { + super(); + this.assign(data); + } + serialize(type) { + return spreadMeasureSeq(this.seq, type); + } + get code() { + return seqToCode(this.seq, { withBrackets: true }); + } +} +BlockMLayout.className = 'BlockMLayout'; +class VoltaMLayout extends SimpleClass { + constructor(data = undefined) { + super(); + this.assign(data); + } + serialize(type) { + const bodySeq = spreadMeasureSeq(this.body); + if (this.alternates) { + const alternateSeqs = this.alternates.map((seq) => spreadMeasureSeq(seq)); + const lastAlternateSeq = alternateSeqs[alternateSeqs.length - 1]; + switch (type) { + case LayoutType.Ordinary: + return bodySeq.concat(...alternateSeqs); + case LayoutType.Conservative: + case LayoutType.Full: { + const priorSeq = [].concat(...Array(this.times - 1) + .fill(null) + .map((_, i) => [...bodySeq, ...alternateSeqs[i % (this.times - 1)]])); + return [...priorSeq, ...bodySeq, ...lastAlternateSeq]; + } + case LayoutType.Once: + return [...bodySeq, ...lastAlternateSeq]; + } + } + else { + switch (type) { + case LayoutType.Ordinary: + case LayoutType.Conservative: + case LayoutType.Once: + return bodySeq; + case LayoutType.Full: + return [].concat(...Array(this.times) + .fill(null) + .map(() => bodySeq)); + } + } + console.warn('the current case not handled:', type, this); + } + get seq() { + const alternates = this.alternates ? this.alternates[this.alternates.length - 1] : []; + return [...this.body, ...alternates]; + } + get code() { + const body = seqToCode(this.body, { withBrackets: true }); + let code = `${this.times}*${body}`; + if (this.alternates) + code += '{' + this.alternates.map((seq) => seqToCode(seq, { withBrackets: seq.length > 1 })).join(', ') + '}'; + return code; + } +} +VoltaMLayout.className = 'VoltaMLayout'; +class ABAMLayout extends SimpleClass { + constructor(data = undefined) { + super(); + this.assign(data); + } + serialize(type) { + const seqA = this.main.serialize(type); + const seqA_ = spreadMeasureSeq(this.main.seq, LayoutType.Once); + const seqB = spreadMeasureSeq(this.rest, type); + switch (type) { + case LayoutType.Ordinary: // A B + return [...seqA, ...seqB]; + case LayoutType.Once: // B A' + return [...seqB, ...seqA_]; + case LayoutType.Conservative: // A B A' + case LayoutType.Full: // A B A' + return [...seqA, ...seqB, ...seqA_]; + default: + console.warn('the current case not handled:', type, this); + } + } + get seq() { + return [this.main, ...this.rest]; + } + get code() { + return '<' + this.main.code + ', ' + seqToCode(this.rest) + '>'; + } +} +ABAMLayout.className = 'ABAMLayout'; + +var measureLayout = /*#__PURE__*/Object.freeze({ + __proto__: null, + get LayoutType () { return LayoutType; }, + SingleMLayout: SingleMLayout, + BlockMLayout: BlockMLayout, + VoltaMLayout: VoltaMLayout, + ABAMLayout: ABAMLayout +}); + +/* parser generated by jison 0.4.18 */ +/* + Returns a Parser object of the following structure: + + Parser: { + yy: {} + } + + Parser.prototype: { + yy: {}, + trace: function(), + symbols_: {associative list: name ==> number}, + terminals_: {associative list: number ==> name}, + productions_: [...], + performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$), + table: [...], + defaultActions: {...}, + parseError: function(str, hash), + parse: function(input), + + lexer: { + EOF: 1, + parseError: function(str, hash), + setInput: function(input), + input: function(), + unput: function(str), + more: function(), + less: function(n), + pastInput: function(), + upcomingInput: function(), + showPosition: function(), + test_match: function(regex_match_array, rule_index), + next: function(), + lex: function(), + begin: function(condition), + popState: function(), + _currentRules: function(), + topState: function(), + pushState: function(condition), + + options: { + ranges: boolean (optional: true ==> token location info will include a .range[] member) + flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match) + backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code) + }, + + performAction: function(yy, yy_, $avoiding_name_collisions, YY_START), + rules: [...], + conditions: {associative list: name ==> set}, + } + } + + + token location info (@$, _$, etc.): { + first_line: n, + last_line: n, + first_column: n, + last_column: n, + range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based) + } + + + the parseError function receives a 'hash' object with these members for lexer and parser errors: { + text: (matched text) + token: (the produced terminal token, if any) + line: (yylineno) + } + while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: { + loc: (yylloc) + expected: (string describing the set of expected tokens) + recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error) + } +*/ +var parser$1 = (function () { + var o = function (k, v, o, l) { + for (o = o || {}, l = k.length; l--; o[k[l]] = v) + ; + return o; + }, $V0 = [1, 13], $V1 = [1, 16], $V2 = [1, 15], $V3 = [1, 26], $V4 = [1, 29], $V5 = [1, 28], $V6 = [1, 30], $V7 = [5, 13, 22, 27, 29], $V8 = [2, 15], $V9 = [1, 32], $Va = [5, 14, 21, 22, 27, 28, 29]; + var parser = { + trace: function trace() { }, + yy: {}, + symbols_: { + error: 2, + start_symbol: 3, + measure_layout: 4, + EOF: 5, + index_wise_measure_layout: 6, + 'i:': 7, + 's:': 8, + segment_wise_measure_layout: 9, + iw_sequence: 10, + iw_item: 11, + range: 12, + ',': 13, + UNSIGNED: 14, + '..': 15, + single: 16, + iw_block_item: 17, + iw_volta: 18, + iw_aba: 19, + iw_block: 20, + '[': 21, + ']': 22, + '*': 23, + iw_optional_alternates: 24, + iw_alternates: 25, + '{': 26, + '}': 27, + '<': 28, + '>': 29, + sw_sequence: 30, + sw_item: 31, + segment: 32, + sw_block_item: 33, + sw_volta: 34, + sw_aba: 35, + sw_block: 36, + sw_optional_alternates: 37, + sw_alternates: 38, + $accept: 0, + $end: 1, + }, + terminals_: { + 2: 'error', + 5: 'EOF', + 7: 'i:', + 8: 's:', + 13: ',', + 14: 'UNSIGNED', + 15: '..', + 21: '[', + 22: ']', + 23: '*', + 26: '{', + 27: '}', + 28: '<', + 29: '>', + }, + productions_: [ + 0, + [3, 2], + [4, 1], + [4, 2], + [4, 2], + [6, 1], + [10, 1], + [10, 1], + [10, 3], + [10, 3], + [12, 3], + [11, 1], + [11, 1], + [11, 1], + [11, 1], + [16, 1], + [17, 1], + [20, 3], + [18, 4], + [24, 0], + [24, 1], + [25, 3], + [19, 5], + [9, 1], + [30, 1], + [30, 2], + [31, 1], + [31, 1], + [31, 1], + [31, 1], + [32, 1], + [33, 1], + [36, 3], + [34, 4], + [37, 0], + [37, 1], + [38, 3], + [35, 4], + ], + performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { + /* this == yyval */ + var $0 = $$.length - 1; + switch (yystate) { + case 1: + return $$[$0 - 1]; + case 2: + this.$ = root(null, $$[$0]); + break; + case 3: + this.$ = root('index-wise', $$[$0]); + break; + case 4: + this.$ = root('segment-wise', serialize($$[$0])); + break; + case 5: + case 23: + if ($$[$0].length === 1 && $$[$0][0].__prototype === 'BlockMLayout') + this.$ = $$[$0][0]; + else + this.$ = blockLayout($$[$0]); + break; + case 6: + case 24: + this.$ = [$$[$0]]; + break; + case 7: + case 11: + case 12: + case 13: + case 14: + case 20: + case 27: + case 28: + case 29: + case 35: + this.$ = $$[$0]; + break; + case 8: + this.$ = [...$$[$0 - 2], $$[$0]]; + break; + case 9: + this.$ = [...$$[$0 - 2], ...$$[$0]]; + break; + case 10: + this.$ = range($$[$0 - 2], $$[$0]); + break; + case 15: + this.$ = singleLayout($$[$0]); + break; + case 16: + case 31: + this.$ = blockLayout($$[$0]); + break; + case 17: + case 32: + this.$ = $$[$0 - 1]; + break; + case 18: + case 33: + this.$ = voltaBlock($$[$0 - 3], $$[$0 - 1], $$[$0]); + break; + case 19: + case 34: + this.$ = null; + break; + case 21: + case 36: + this.$ = alternates($$[$0 - 1]); + break; + case 22: + this.$ = abaBlock($$[$0 - 3], $$[$0 - 1]); + break; + case 25: + this.$ = [...$$[$0 - 1], $$[$0]]; + break; + case 26: + this.$ = blockLayout([$$[$0]]); + break; + case 30: + this.$ = segment($$[$0]); + break; + case 37: + this.$ = abaBlock($$[$0 - 2], $$[$0 - 1]); + break; + } + }, + table: [ + { 3: 1, 4: 2, 6: 3, 7: [1, 4], 8: [1, 5], 10: 6, 11: 7, 12: 8, 14: $V0, 16: 9, 17: 10, 18: 11, 19: 12, 20: 14, 21: $V1, 28: $V2 }, + { 1: [3] }, + { 5: [1, 17] }, + { 5: [2, 2] }, + { 6: 18, 10: 6, 11: 7, 12: 8, 14: $V0, 16: 9, 17: 10, 18: 11, 19: 12, 20: 14, 21: $V1, 28: $V2 }, + { 9: 19, 14: $V3, 21: $V4, 28: $V5, 30: 20, 31: 21, 32: 22, 33: 23, 34: 24, 35: 25, 36: 27 }, + { 5: [2, 5], 13: $V6 }, + o($V7, [2, 6]), + o($V7, [2, 7]), + o($V7, [2, 11]), + o($V7, [2, 12]), + o($V7, [2, 13]), + o($V7, [2, 14]), + o($V7, $V8, { 15: [1, 31], 23: $V9 }), + o($V7, [2, 16]), + { 11: 33, 14: [1, 34], 16: 9, 17: 10, 18: 11, 19: 12, 20: 14, 21: $V1, 28: $V2 }, + { 10: 35, 11: 7, 12: 8, 14: $V0, 16: 9, 17: 10, 18: 11, 19: 12, 20: 14, 21: $V1, 28: $V2 }, + { 1: [2, 1] }, + { 5: [2, 3] }, + { 5: [2, 4] }, + { 5: [2, 23], 14: $V3, 21: $V4, 28: $V5, 31: 36, 32: 22, 33: 23, 34: 24, 35: 25, 36: 27 }, + o($Va, [2, 24]), + o($Va, [2, 26]), + o($Va, [2, 27]), + o($Va, [2, 28]), + o($Va, [2, 29]), + o($Va, [2, 30], { 23: [1, 37] }), + o($Va, [2, 31]), + { 14: $V3, 21: $V4, 28: $V5, 31: 38, 32: 22, 33: 23, 34: 24, 35: 25, 36: 27 }, + { 14: $V3, 21: $V4, 28: $V5, 30: 39, 31: 21, 32: 22, 33: 23, 34: 24, 35: 25, 36: 27 }, + { 11: 40, 12: 41, 14: $V0, 16: 9, 17: 10, 18: 11, 19: 12, 20: 14, 21: $V1, 28: $V2 }, + { 14: [1, 42] }, + { 20: 43, 21: $V1 }, + { 13: [1, 44] }, + { 13: $V8, 23: $V9 }, + { 13: $V6, 22: [1, 45] }, + o($Va, [2, 25]), + { 21: $V4, 36: 46 }, + { 14: $V3, 21: $V4, 28: $V5, 30: 47, 31: 21, 32: 22, 33: 23, 34: 24, 35: 25, 36: 27 }, + { 14: $V3, 21: $V4, 22: [1, 48], 28: $V5, 31: 36, 32: 22, 33: 23, 34: 24, 35: 25, 36: 27 }, + o($V7, [2, 8]), + o($V7, [2, 9]), + o($V7, [2, 10]), + o($V7, [2, 19], { 24: 49, 25: 50, 26: [1, 51] }), + { 10: 52, 11: 7, 12: 8, 14: $V0, 16: 9, 17: 10, 18: 11, 19: 12, 20: 14, 21: $V1, 28: $V2 }, + o([5, 13, 22, 26, 27, 29], [2, 17]), + o($Va, [2, 34], { 37: 53, 38: 54, 26: [1, 55] }), + { 14: $V3, 21: $V4, 28: $V5, 29: [1, 56], 31: 36, 32: 22, 33: 23, 34: 24, 35: 25, 36: 27 }, + o([5, 14, 21, 22, 26, 27, 28, 29], [2, 32]), + o($V7, [2, 18]), + o($V7, [2, 20]), + { 10: 57, 11: 7, 12: 8, 14: $V0, 16: 9, 17: 10, 18: 11, 19: 12, 20: 14, 21: $V1, 28: $V2 }, + { 13: $V6, 29: [1, 58] }, + o($Va, [2, 33]), + o($Va, [2, 35]), + { 14: $V3, 21: $V4, 28: $V5, 30: 59, 31: 21, 32: 22, 33: 23, 34: 24, 35: 25, 36: 27 }, + o($Va, [2, 37]), + { 13: $V6, 27: [1, 60] }, + o($V7, [2, 22]), + { 14: $V3, 21: $V4, 27: [1, 61], 28: $V5, 31: 36, 32: 22, 33: 23, 34: 24, 35: 25, 36: 27 }, + o($V7, [2, 21]), + o($Va, [2, 36]), + ], + defaultActions: { 3: [2, 2], 17: [2, 1], 18: [2, 3], 19: [2, 4] }, + parseError: function parseError(str, hash) { + if (hash.recoverable) { + this.trace(str); + } + else { + var error = new Error(str); + error.hash = hash; + throw error; + } + }, + parse: function parse(input) { + var self = this, stack = [0], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, TERROR = 2, EOF = 1; + var args = lstack.slice.call(arguments, 1); + var lexer = Object.create(this.lexer); + var sharedState = { yy: {} }; + for (var k in this.yy) { + if (Object.prototype.hasOwnProperty.call(this.yy, k)) { + sharedState.yy[k] = this.yy[k]; + } + } + lexer.setInput(input, sharedState.yy); + sharedState.yy.lexer = lexer; + sharedState.yy.parser = this; + if (typeof lexer.yylloc == 'undefined') { + lexer.yylloc = {}; + } + var yyloc = lexer.yylloc; + lstack.push(yyloc); + var ranges = lexer.options && lexer.options.ranges; + if (typeof sharedState.yy.parseError === 'function') { + this.parseError = sharedState.yy.parseError; + } + else { + this.parseError = Object.getPrototypeOf(this).parseError; + } + var lex = function () { + var token; + token = lexer.lex() || EOF; + if (typeof token !== 'number') { + token = self.symbols_[token] || token; + } + return token; + }; + var symbol, state, action, r, yyval = {}, p, len, newState, expected; + while (true) { + state = stack[stack.length - 1]; + if (this.defaultActions[state]) { + action = this.defaultActions[state]; + } + else { + if (symbol === null || typeof symbol == 'undefined') { + symbol = lex(); + } + action = table[state] && table[state][symbol]; + } + if (typeof action === 'undefined' || !action.length || !action[0]) { + var errStr = ''; + expected = []; + for (p in table[state]) { + if (this.terminals_[p] && p > TERROR) { + expected.push("'" + this.terminals_[p] + "'"); + } + } + if (lexer.showPosition) { + errStr = + 'Parse error on line ' + + (yylineno + 1) + + ':\n' + + lexer.showPosition() + + '\nExpecting ' + + expected.join(', ') + + ", got '" + + (this.terminals_[symbol] || symbol) + + "'"; + } + else { + errStr = + 'Parse error on line ' + + (yylineno + 1) + + ': Unexpected ' + + (symbol == EOF ? 'end of input' : "'" + (this.terminals_[symbol] || symbol) + "'"); + } + this.parseError(errStr, { + text: lexer.match, + token: this.terminals_[symbol] || symbol, + line: lexer.yylineno, + loc: yyloc, + expected: expected, + }); + } + if (action[0] instanceof Array && action.length > 1) { + throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol); + } + switch (action[0]) { + case 1: + stack.push(symbol); + vstack.push(lexer.yytext); + lstack.push(lexer.yylloc); + stack.push(action[1]); + symbol = null; + { + yyleng = lexer.yyleng; + yytext = lexer.yytext; + yylineno = lexer.yylineno; + yyloc = lexer.yylloc; + } + break; + case 2: + len = this.productions_[action[1]][1]; + yyval.$ = vstack[vstack.length - len]; + yyval._$ = { + first_line: lstack[lstack.length - (len || 1)].first_line, + last_line: lstack[lstack.length - 1].last_line, + first_column: lstack[lstack.length - (len || 1)].first_column, + last_column: lstack[lstack.length - 1].last_column, + }; + if (ranges) { + yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]]; + } + r = this.performAction.apply(yyval, [yytext, yyleng, yylineno, sharedState.yy, action[1], vstack, lstack].concat(args)); + if (typeof r !== 'undefined') { + return r; + } + if (len) { + stack = stack.slice(0, -1 * len * 2); + vstack = vstack.slice(0, -1 * len); + lstack = lstack.slice(0, -1 * len); + } + stack.push(this.productions_[action[1]][0]); + vstack.push(yyval.$); + lstack.push(yyval._$); + newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; + stack.push(newState); + break; + case 3: + return true; + } + } + return true; + }, + }; + const root = (type, data) => ({ __prototype: 'MesaureLayout', type, data }); + const singleLayout = (n) => ({ __prototype: 'SingleMLayout', measure: Number(n) }); + const blockLayout = (seq) => ({ __prototype: 'BlockMLayout', seq }); + const voltaBlock = (times, body, alternates) => ({ __prototype: 'VoltaMLayout', times: Number(times), body, alternates }); + const abaBlock = (main, rest) => ({ __prototype: 'ABAMLayout', main, rest }); + const segment = (n) => ({ segment: true, length: Number(n) }); + const alternates = (items) => items.map((item) => { + if (item.__prototype === 'BlockMLayout') + return item.seq; + return [item]; + }); + const range = (start, end) => { + start = Number(start); + end = Number(end); + if (!(end >= start)) + throw new Error(`invalid measure range: ${start}..${end}`); + return Array(end + 1 - start) + .fill(0) + .map((_, i) => singleLayout(start + i)); + }; + const serializeSeq = (item, options) => { + if (item.segment) { + const index = options.index; + options.index += item.length; + return Array(item.length) + .fill(0) + .map((_, i) => singleLayout(index + i)); + } + return [serialize(item, options)]; + }; + const serialize = (item, options = { index: 1 }) => { + const speard = (seq) => [].concat(...seq.map((it) => serializeSeq(it, options))); + switch (item.__prototype) { + case 'BlockMLayout': + item.seq = speard(item.seq); + break; + case 'VoltaMLayout': + item.body = speard(item.body); + item.alternates = item.alternates && item.alternates.map(speard); + break; + case 'ABAMLayout': + item.main = serialize(item.main, options); + item.rest = speard(item.rest); + break; + } + return item; + }; + /* generated by jison-lex 0.3.4 */ + var lexer = (function () { + var lexer = { + EOF: 1, + parseError: function parseError(str, hash) { + if (this.yy.parser) { + this.yy.parser.parseError(str, hash); + } + else { + throw new Error(str); + } + }, + // resets the lexer, sets new input + setInput: function (input, yy) { + this.yy = yy || this.yy || {}; + this._input = input; + this._more = this._backtrack = this.done = false; + this.yylineno = this.yyleng = 0; + this.yytext = this.matched = this.match = ''; + this.conditionStack = ['INITIAL']; + this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0, + }; + if (this.options.ranges) { + this.yylloc.range = [0, 0]; + } + this.offset = 0; + return this; + }, + // consumes and returns one char from the input + input: function () { + var ch = this._input[0]; + this.yytext += ch; + this.yyleng++; + this.offset++; + this.match += ch; + this.matched += ch; + var lines = ch.match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno++; + this.yylloc.last_line++; + } + else { + this.yylloc.last_column++; + } + if (this.options.ranges) { + this.yylloc.range[1]++; + } + this._input = this._input.slice(1); + return ch; + }, + // unshifts one char (or a string) into the input + unput: function (ch) { + var len = ch.length; + var lines = ch.split(/(?:\r\n?|\n)/g); + this._input = ch + this._input; + this.yytext = this.yytext.substr(0, this.yytext.length - len); + //this.yyleng -= len; + this.offset -= len; + var oldLines = this.match.split(/(?:\r\n?|\n)/g); + this.match = this.match.substr(0, this.match.length - 1); + this.matched = this.matched.substr(0, this.matched.length - 1); + if (lines.length - 1) { + this.yylineno -= lines.length - 1; + } + var r = this.yylloc.range; + this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: lines + ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length + : this.yylloc.first_column - len, + }; + if (this.options.ranges) { + this.yylloc.range = [r[0], r[0] + this.yyleng - len]; + } + this.yyleng = this.yytext.length; + return this; + }, + // When called from action, caches matched text and appends it on next action + more: function () { + this._more = true; + return this; + }, + // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. + reject: function () { + if (this.options.backtrack_lexer) { + this._backtrack = true; + } + else { + return this.parseError('Lexical error on line ' + + (this.yylineno + 1) + + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + + this.showPosition(), { + text: '', + token: null, + line: this.yylineno, + }); + } + return this; + }, + // retain first n characters of the match + less: function (n) { + this.unput(this.match.slice(n)); + }, + // displays already matched input, i.e. for error messages + pastInput: function () { + var past = this.matched.substr(0, this.matched.length - this.match.length); + return (past.length > 20 ? '...' : '') + past.substr(-20).replace(/\n/g, ''); + }, + // displays upcoming input, i.e. for error messages + upcomingInput: function () { + var next = this.match; + if (next.length < 20) { + next += this._input.substr(0, 20 - next.length); + } + return (next.substr(0, 20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ''); + }, + // displays the character position where the lexing error occurred, i.e. for error messages + showPosition: function () { + var pre = this.pastInput(); + var c = new Array(pre.length + 1).join('-'); + return pre + this.upcomingInput() + '\n' + c + '^'; + }, + // test the lexed token: return FALSE when not a match, otherwise return token + test_match: function (match, indexed_rule) { + var token, lines, backup; + if (this.options.backtrack_lexer) { + // save context + backup = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column, + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done, + }; + if (this.options.ranges) { + backup.yylloc.range = this.yylloc.range.slice(0); + } + } + lines = match[0].match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno += lines.length; + } + this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: lines + ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + match[0].length, + }; + this.yytext += match[0]; + this.match += match[0]; + this.matches = match; + this.yyleng = this.yytext.length; + if (this.options.ranges) { + this.yylloc.range = [this.offset, (this.offset += this.yyleng)]; + } + this._more = false; + this._backtrack = false; + this._input = this._input.slice(match[0].length); + this.matched += match[0]; + token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); + if (this.done && this._input) { + this.done = false; + } + if (token) { + return token; + } + else if (this._backtrack) { + // recover context + for (var k in backup) { + this[k] = backup[k]; + } + return false; // rule action called reject() implying the next rule should be tested instead. + } + return false; + }, + // return next match in input + next: function () { + if (this.done) { + return this.EOF; + } + if (!this._input) { + this.done = true; + } + var token, match, tempMatch, index; + if (!this._more) { + this.yytext = ''; + this.match = ''; + } + var rules = this._currentRules(); + for (var i = 0; i < rules.length; i++) { + tempMatch = this._input.match(this.rules[rules[i]]); + if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { + match = tempMatch; + index = i; + if (this.options.backtrack_lexer) { + token = this.test_match(tempMatch, rules[i]); + if (token !== false) { + return token; + } + else if (this._backtrack) { + match = false; + continue; // rule action called reject() implying a rule MISmatch. + } + else { + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + } + else if (!this.options.flex) { + break; + } + } + } + if (match) { + token = this.test_match(match, rules[index]); + if (token !== false) { + return token; + } + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + if (this._input === '') { + return this.EOF; + } + else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { + text: '', + token: null, + line: this.yylineno, + }); + } + }, + // return next match that has a token + lex: function lex() { + var r = this.next(); + if (r) { + return r; + } + else { + return this.lex(); + } + }, + // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) + begin: function begin(condition) { + this.conditionStack.push(condition); + }, + // pop the previously active lexer condition state off the condition stack + popState: function popState() { + var n = this.conditionStack.length - 1; + if (n > 0) { + return this.conditionStack.pop(); + } + else { + return this.conditionStack[0]; + } + }, + // produce the lexer rule set which is active for the currently active lexer condition state + _currentRules: function _currentRules() { + if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { + return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; + } + else { + return this.conditions['INITIAL'].rules; + } + }, + // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available + topState: function topState(n) { + n = this.conditionStack.length - 1 - Math.abs(n || 0); + if (n >= 0) { + return this.conditionStack[n]; + } + else { + return 'INITIAL'; + } + }, + // alias for begin(condition) + pushState: function pushState(condition) { + this.begin(condition); + }, + // return the number of states currently on the stack + stateStackSize: function stateStackSize() { + return this.conditionStack.length; + }, + options: {}, + performAction: function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) { + switch ($avoiding_name_collisions) { + case 0: + break; + case 1: + return yy_.yytext; + case 2: + return 14; + case 3: + return yy_.yytext; + case 4: + return yy_.yytext; + case 5: + return 5; + } + }, + rules: [/^(?:\s+)/, /^(?:([*,\[\]<>{}]))/, /^(?:(([1-9])([0-9])*))/, /^(?:(([a-z])+):)/, /^(?:\.\.)/, /^(?:$)/], + conditions: { INITIAL: { rules: [0, 1, 2, 3, 4, 5], inclusive: true } }, + }; + return lexer; + })(); + parser.lexer = lexer; + function Parser() { + this.yy = {}; + } + Parser.prototype = parser; + parser.Parser = Parser; + return new Parser(); +})(); +parser$1.Parser; +var parse$1 = function () { + return parser$1.parse.apply(parser$1, arguments); +}; +var grammar$1 = { parser: parser$1, Parser: parser$1.Parser, parse: parse$1 }; + +const parseCode$1 = (code) => { + const raw = grammar$1.parse(code); + if (raw?.data) + return recoverJSON(raw.data, measureLayout); + return null; +}; + +var StaffGroupType; +(function (StaffGroupType) { + StaffGroupType[StaffGroupType["Default"] = 0] = "Default"; + StaffGroupType[StaffGroupType["Brace"] = 1] = "Brace"; + StaffGroupType[StaffGroupType["Bracket"] = 2] = "Bracket"; + StaffGroupType[StaffGroupType["Square"] = 3] = "Square"; +})(StaffGroupType || (StaffGroupType = {})); +var StaffConjunctionType; +(function (StaffConjunctionType) { + StaffConjunctionType[StaffConjunctionType["Blank"] = 0] = "Blank"; + StaffConjunctionType[StaffConjunctionType["Dashed"] = 1] = "Dashed"; + StaffConjunctionType[StaffConjunctionType["Solid"] = 2] = "Solid"; +})(StaffConjunctionType || (StaffConjunctionType = {})); +const singleGroup = (id) => ({ type: StaffGroupType.Default, staff: id }); +const BOUNDS_TO_GROUPTYPE = { + '{': StaffGroupType.Brace, + '}': StaffGroupType.Brace, + '<': StaffGroupType.Bracket, + '>': StaffGroupType.Bracket, + '[': StaffGroupType.Square, + ']': StaffGroupType.Square, +}; +const OPEN_BOUNDS = '{<['; +const CLOSE_BOUNDS = '}>]'; +const CONJUNCTIONS_MAP = { + ',': StaffConjunctionType.Blank, + '-': StaffConjunctionType.Solid, + '.': StaffConjunctionType.Dashed, +}; +const bracketCode = (type, partial = false) => { + if (type === StaffGroupType.Default) + return (inner) => inner; + if (partial) { + switch (type) { + case StaffGroupType.Brace: + return (inner) => `{${inner}`; + case StaffGroupType.Bracket: + return (inner) => `<${inner}`; + case StaffGroupType.Square: + return (inner) => `[${inner}`; + default: + return (inner) => inner; + } + } + switch (type) { + case StaffGroupType.Brace: + return (inner) => `{${inner}}`; + case StaffGroupType.Bracket: + return (inner) => `<${inner}>`; + case StaffGroupType.Square: + return (inner) => `[${inner}]`; + default: + return (inner) => inner; + } +}; +const randomB64 = () => { + const code = btoa(Math.random().toString().substr(2)).replace(/=/g, ''); + return code.split('').reverse().slice(0, 6).join(''); +}; +const makeUniqueName = (set, index, prefix) => { + let name = prefix; + if (!name) + name = index.toString(); + else if (set.has(name)) + name += '_' + index.toString(); + while (set.has(name)) + name += '_' + randomB64(); + return name; +}; +const makeGroupsFromRaw = (parent, seq) => { + let remains = seq; + while (remains.length) { + const word = remains.shift(); + const bound = BOUNDS_TO_GROUPTYPE[word]; + if (bound) { + if (CLOSE_BOUNDS.includes(word) && bound === parent.type) + break; + if (OPEN_BOUNDS.includes(word)) { + const group = { type: bound, level: Number.isFinite(parent.level) ? parent.level + 1 : 0 }; + remains = makeGroupsFromRaw(group, remains); + parent.subs = parent.subs || []; + parent.subs.push(group); + } + } + else { + parent.subs = parent.subs || []; + parent.subs.push(singleGroup(word)); + } + } + while (parent.type === StaffGroupType.Default && parent.subs && parent.subs.length === 1) { + const sub = parent.subs[0]; + parent.type = sub.type; + parent.subs = sub.subs; + parent.staff = sub.staff; + parent.level = sub.level; + } + while (parent.subs && parent.subs.length === 1 && parent.subs[0].type === StaffGroupType.Default) { + const sub = parent.subs[0]; + parent.subs = sub.subs; + parent.staff = sub.staff; + } + parent.grand = parent.type === StaffGroupType.Brace && parent.subs && parent.subs.every((sub) => sub.staff); + return remains; +}; +const groupHead = (group) => { + if (group.staff) + return group.staff; + else if (group.subs) + return groupHead(group.subs[0]); +}; +const groupTail = (group) => { + if (group.staff) + return group.staff; + else if (group.subs) + return groupTail(group.subs[group.subs.length - 1]); +}; +const groupKey = (group) => { + if (group.staff) + return group.staff; + else if (group.subs) + return `${groupHead(group)}-${groupTail(group)}`; +}; +const groupDict = (group, dict) => { + dict[groupKey(group)] = group; + if (group.subs) + group.subs.forEach((sub) => groupDict(sub, dict)); +}; +class StaffLayout { + constructor(raw) { + // make unique ids + const ids = new Set(); + raw.forEach((item, i) => { + item.id = makeUniqueName(ids, i + 1, item.id); + ids.add(item.id); + }); + this.staffIds = raw.map((item) => item.id); + this.conjunctions = raw.slice(0, raw.length - 1).map((item) => (item.conjunction ? CONJUNCTIONS_MAP[item.conjunction] : StaffConjunctionType.Blank)); + // make groups + const seq = [].concat(...raw.map((item) => [...item.leftBounds, item.id, ...item.rightBounds])); + this.group = { type: StaffGroupType.Default }; + makeGroupsFromRaw(this.group, seq); + const dict = {}; + groupDict(this.group, dict); + this.groups = Object.entries(dict).map(([key, group]) => { + let ids = key.split('-'); + if (ids.length === 1) + ids = [ids[0], ids[0]]; + const range = ids.map((id) => this.staffIds.indexOf(id)); + return { + group, + range, + key, + }; + }); + this.maskCache = new Map(); + } + get stavesCount() { + if (!this.staffIds) + return null; + return this.staffIds.length; + } + get partGroups() { + const grands = this.groups.filter((g) => g.group.grand); + const parts = this.groups.filter((g) => { + if (g.group.grand) + return true; + if (g.range[0] === g.range[1]) { + const index = g.range[0]; + return !grands.some((g) => g.range[0] <= index && g.range[1] >= index); + } + return false; + }); + return parts; + } + get standaloneGroups() { + const groups = []; + const collect = (group) => { + if (group.grand) + groups.push(group.subs.map((sub) => sub.staff)); + else if (group.staff) + groups.push([group.staff]); + else if (group.subs) + group.subs.forEach((sub) => collect(sub)); + }; + collect(this.group); + return groups; + } + conjunctionBetween(upStaff, downStaff) { + if (downStaff <= upStaff) + return null; + let con = StaffConjunctionType.Solid; + for (let i = upStaff; i < downStaff; i++) + con = Math.min(con, this.conjunctions[i]); + return con; + } + static makeMaskLayout(layout, mask) { + const staffIds = layout.staffIds.filter((_, i) => mask & (1 << i)); + if (staffIds.length === layout.staffIds.length) { + return { + staffIds: layout.staffIds, + conjunctions: layout.conjunctions, + groups: layout.groups, + }; + } + const groups = layout.groups + .map((g) => ({ ids: layout.staffIds.slice(g.range[0], g.range[1] + 1).filter((id) => staffIds.includes(id)), ...g })) + .filter(({ ids }) => ids.length) + .map(({ ids, ...g }) => ({ + key: g.key, + group: g.group, + range: [staffIds.indexOf(ids[0]), staffIds.indexOf(ids[ids.length - 1])], + })); + const conjunctions = staffIds.slice(0, staffIds.length - 1).map((id, i) => { + const nextId = staffIds[i + 1]; + return layout.conjunctionBetween(layout.staffIds.indexOf(id), layout.staffIds.indexOf(nextId)); + }); + return { + staffIds, + conjunctions, + groups, + }; + } + mask(mask) { + if (!this.maskCache.get(mask)) + this.maskCache.set(mask, StaffLayout.makeMaskLayout(this, mask)); + return this.maskCache.get(mask); + } + // {,} * 1,1 => {,} + // {,} * 1,x => { + // {,} * 0,x => + // {,} * 0,1 => {} + partialMaskCode(bits, withIds = false) { + const staffStatus = this.staffIds + .map((_, i) => (i < bits.length ? bits[i] : null)) + .reduce((status, x, i) => { + status[this.staffIds[i]] = x; + return status; + }, {}); + const joinGroup = (group) => { + if (group.staff) + return [staffStatus[group.staff] ? group.staff : null, staffStatus[group.staff] === null]; + const subs = group.subs.map((sub) => joinGroup(sub)); + const subStr = subs + .map((pair) => pair[0]) + .filter(Boolean) + .join(','); + const partial = subs.some(([_, partial]) => partial); + const code = subStr ? bracketCode(group.type, partial)(subStr) : null; + return [code, partial]; + }; + let [code] = joinGroup(this.group); + code = code || ''; + if (!withIds) + code = code.replace(/[_\w]+/g, ''); + return code; + } +} + +/* parser generated by jison 0.4.18 */ +/* + Returns a Parser object of the following structure: + + Parser: { + yy: {} + } + + Parser.prototype: { + yy: {}, + trace: function(), + symbols_: {associative list: name ==> number}, + terminals_: {associative list: number ==> name}, + productions_: [...], + performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$), + table: [...], + defaultActions: {...}, + parseError: function(str, hash), + parse: function(input), + + lexer: { + EOF: 1, + parseError: function(str, hash), + setInput: function(input), + input: function(), + unput: function(str), + more: function(), + less: function(n), + pastInput: function(), + upcomingInput: function(), + showPosition: function(), + test_match: function(regex_match_array, rule_index), + next: function(), + lex: function(), + begin: function(condition), + popState: function(), + _currentRules: function(), + topState: function(), + pushState: function(condition), + + options: { + ranges: boolean (optional: true ==> token location info will include a .range[] member) + flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match) + backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code) + }, + + performAction: function(yy, yy_, $avoiding_name_collisions, YY_START), + rules: [...], + conditions: {associative list: name ==> set}, + } + } + + + token location info (@$, _$, etc.): { + first_line: n, + last_line: n, + first_column: n, + last_column: n, + range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based) + } + + + the parseError function receives a 'hash' object with these members for lexer and parser errors: { + text: (matched text) + token: (the produced terminal token, if any) + line: (yylineno) + } + while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: { + loc: (yylloc) + expected: (string describing the set of expected tokens) + recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error) + } +*/ +var parser = (function () { + var o = function (k, v, o, l) { + for (o = o || {}, l = k.length; l--; o[k[l]] = v) + ; + return o; + }, $V0 = [1, 15], $V1 = [1, 16], $V2 = [1, 17], $V3 = [1, 11], $V4 = [1, 12], $V5 = [1, 13], $V6 = [1, 24], $V7 = [1, 25], $V8 = [1, 26], $V9 = [5, 11, 12, 13, 15, 16, 17, 21, 22, 23, 24], $Va = [15, 16, 17, 21, 22, 23, 24], $Vb = [11, 12, 13, 15, 16, 17, 21, 22, 23, 24], $Vc = [5, 11, 12, 13, 21, 22, 23, 24]; + var parser = { + trace: function trace() { }, + yy: {}, + symbols_: { + error: 2, + start_symbol: 3, + staff_layout: 4, + EOF: 5, + seq: 6, + seq_id: 7, + seq_br: 8, + seq_con: 9, + bound_left: 10, + '<': 11, + '[': 12, + '{': 13, + bound_right: 14, + '>': 15, + ']': 16, + '}': 17, + bound_lefts: 18, + bound_rights: 19, + conjunction: 20, + '-': 21, + ',': 22, + '.': 23, + ID: 24, + seq_bl: 25, + $accept: 0, + $end: 1, + }, + terminals_: { 2: 'error', 5: 'EOF', 11: '<', 12: '[', 13: '{', 15: '>', 16: ']', 17: '}', 21: '-', 22: ',', 23: '.', 24: 'ID' }, + productions_: [ + 0, + [3, 2], + [4, 1], + [6, 0], + [6, 1], + [6, 1], + [6, 1], + [10, 1], + [10, 1], + [10, 1], + [14, 1], + [14, 1], + [14, 1], + [18, 1], + [18, 2], + [19, 1], + [19, 2], + [20, 1], + [20, 1], + [20, 1], + [7, 1], + [7, 2], + [7, 2], + [7, 2], + [7, 2], + [25, 1], + [25, 2], + [25, 2], + [25, 2], + [8, 2], + [8, 2], + [8, 2], + [9, 1], + [9, 2], + [9, 2], + [9, 2], + [9, 2], + ], + performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { + /* this == yyval */ + var $0 = $$.length - 1; + switch (yystate) { + case 1: + return $$[$0 - 1]; + case 2: + $$[$0].next(); + this.$ = $$[$0].toJSON(); + break; + case 3: + this.$ = new Seq(); + break; + case 13: + case 15: + this.$ = [$$[$0]]; + break; + case 14: + case 16: + this.$ = [...$$[$0 - 1], $$[$0]]; + break; + case 20: + this.$ = new Seq(); + this.$.tip.i($$[$0]); + break; + case 21: + case 23: + $$[$0 - 1].next(); + $$[$0 - 1].tip.i($$[$0]); + this.$ = $$[$0 - 1]; + break; + case 22: + case 24: + $$[$0 - 1].tip.i($$[$0]); + this.$ = $$[$0 - 1]; + break; + case 25: + this.$ = new Seq(); + this.$.tip.bl($$[$0]); + break; + case 26: + case 27: + $$[$0 - 1].next(); + $$[$0 - 1].tip.bl($$[$0]); + this.$ = $$[$0 - 1]; + break; + case 28: + $$[$0 - 1].tip.bl($$[$0]); + this.$ = $$[$0 - 1]; + break; + case 29: + case 30: + case 31: + $$[$0 - 1].tip.br($$[$0]); + this.$ = $$[$0 - 1]; + break; + case 32: + this.$ = new Seq(); + this.$.tip.con($$[$0]); + this.$.next(); + break; + case 33: + case 34: + case 35: + case 36: + $$[$0 - 1].tip.con($$[$0]); + $$[$0 - 1].next(); + this.$ = $$[$0 - 1]; + break; + } + }, + table: [ + { 3: 1, 4: 2, 5: [2, 3], 6: 3, 7: 4, 8: 5, 9: 6, 10: 14, 11: $V0, 12: $V1, 13: $V2, 18: 10, 20: 9, 21: $V3, 22: $V4, 23: $V5, 24: [1, 7], 25: 8 }, + { 1: [3] }, + { 5: [1, 18] }, + { 5: [2, 2] }, + { 5: [2, 4], 10: 14, 11: $V0, 12: $V1, 13: $V2, 14: 23, 15: $V6, 16: $V7, 17: $V8, 18: 22, 19: 20, 20: 21, 21: $V3, 22: $V4, 23: $V5, 24: [1, 19] }, + { 5: [2, 5], 10: 14, 11: $V0, 12: $V1, 13: $V2, 18: 29, 20: 28, 21: $V3, 22: $V4, 23: $V5, 24: [1, 27] }, + { 5: [2, 6], 10: 14, 11: $V0, 12: $V1, 13: $V2, 14: 23, 15: $V6, 16: $V7, 17: $V8, 18: 33, 19: 31, 20: 32, 21: $V3, 22: $V4, 23: $V5, 24: [1, 30] }, + o($V9, [2, 20]), + { 14: 23, 15: $V6, 16: $V7, 17: $V8, 19: 35, 20: 36, 21: $V3, 22: $V4, 23: $V5, 24: [1, 34] }, + o($V9, [2, 32]), + o($Va, [2, 25], { 10: 37, 11: $V0, 12: $V1, 13: $V2 }), + o($V9, [2, 17]), + o($V9, [2, 18]), + o($V9, [2, 19]), + o($Vb, [2, 13]), + o($Vb, [2, 7]), + o($Vb, [2, 8]), + o($Vb, [2, 9]), + { 1: [2, 1] }, + o($V9, [2, 21]), + o($Vc, [2, 29], { 14: 38, 15: $V6, 16: $V7, 17: $V8 }), + o($V9, [2, 33]), + o($Va, [2, 26], { 10: 37, 11: $V0, 12: $V1, 13: $V2 }), + o($V9, [2, 15]), + o($V9, [2, 10]), + o($V9, [2, 11]), + o($V9, [2, 12]), + o($V9, [2, 23]), + o($V9, [2, 35]), + o($Va, [2, 27], { 10: 37, 11: $V0, 12: $V1, 13: $V2 }), + o($V9, [2, 24]), + o($Vc, [2, 31], { 14: 38, 15: $V6, 16: $V7, 17: $V8 }), + o($V9, [2, 36]), + o($Va, [2, 28], { 10: 37, 11: $V0, 12: $V1, 13: $V2 }), + o($V9, [2, 22]), + o($Vc, [2, 30], { 14: 38, 15: $V6, 16: $V7, 17: $V8 }), + o($V9, [2, 34]), + o($Vb, [2, 14]), + o($V9, [2, 16]), + ], + defaultActions: { 3: [2, 2], 18: [2, 1] }, + parseError: function parseError(str, hash) { + if (hash.recoverable) { + this.trace(str); + } + else { + var error = new Error(str); + error.hash = hash; + throw error; + } + }, + parse: function parse(input) { + var self = this, stack = [0], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, TERROR = 2, EOF = 1; + var args = lstack.slice.call(arguments, 1); + var lexer = Object.create(this.lexer); + var sharedState = { yy: {} }; + for (var k in this.yy) { + if (Object.prototype.hasOwnProperty.call(this.yy, k)) { + sharedState.yy[k] = this.yy[k]; + } + } + lexer.setInput(input, sharedState.yy); + sharedState.yy.lexer = lexer; + sharedState.yy.parser = this; + if (typeof lexer.yylloc == 'undefined') { + lexer.yylloc = {}; + } + var yyloc = lexer.yylloc; + lstack.push(yyloc); + var ranges = lexer.options && lexer.options.ranges; + if (typeof sharedState.yy.parseError === 'function') { + this.parseError = sharedState.yy.parseError; + } + else { + this.parseError = Object.getPrototypeOf(this).parseError; + } + var lex = function () { + var token; + token = lexer.lex() || EOF; + if (typeof token !== 'number') { + token = self.symbols_[token] || token; + } + return token; + }; + var symbol, state, action, r, yyval = {}, p, len, newState, expected; + while (true) { + state = stack[stack.length - 1]; + if (this.defaultActions[state]) { + action = this.defaultActions[state]; + } + else { + if (symbol === null || typeof symbol == 'undefined') { + symbol = lex(); + } + action = table[state] && table[state][symbol]; + } + if (typeof action === 'undefined' || !action.length || !action[0]) { + var errStr = ''; + expected = []; + for (p in table[state]) { + if (this.terminals_[p] && p > TERROR) { + expected.push("'" + this.terminals_[p] + "'"); + } + } + if (lexer.showPosition) { + errStr = + 'Parse error on line ' + + (yylineno + 1) + + ':\n' + + lexer.showPosition() + + '\nExpecting ' + + expected.join(', ') + + ", got '" + + (this.terminals_[symbol] || symbol) + + "'"; + } + else { + errStr = + 'Parse error on line ' + + (yylineno + 1) + + ': Unexpected ' + + (symbol == EOF ? 'end of input' : "'" + (this.terminals_[symbol] || symbol) + "'"); + } + this.parseError(errStr, { + text: lexer.match, + token: this.terminals_[symbol] || symbol, + line: lexer.yylineno, + loc: yyloc, + expected: expected, + }); + } + if (action[0] instanceof Array && action.length > 1) { + throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol); + } + switch (action[0]) { + case 1: + stack.push(symbol); + vstack.push(lexer.yytext); + lstack.push(lexer.yylloc); + stack.push(action[1]); + symbol = null; + { + yyleng = lexer.yyleng; + yytext = lexer.yytext; + yylineno = lexer.yylineno; + yyloc = lexer.yylloc; + } + break; + case 2: + len = this.productions_[action[1]][1]; + yyval.$ = vstack[vstack.length - len]; + yyval._$ = { + first_line: lstack[lstack.length - (len || 1)].first_line, + last_line: lstack[lstack.length - 1].last_line, + first_column: lstack[lstack.length - (len || 1)].first_column, + last_column: lstack[lstack.length - 1].last_column, + }; + if (ranges) { + yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]]; + } + r = this.performAction.apply(yyval, [yytext, yyleng, yylineno, sharedState.yy, action[1], vstack, lstack].concat(args)); + if (typeof r !== 'undefined') { + return r; + } + if (len) { + stack = stack.slice(0, -1 * len * 2); + vstack = vstack.slice(0, -1 * len); + lstack = lstack.slice(0, -1 * len); + } + stack.push(this.productions_[action[1]][0]); + vstack.push(yyval.$); + lstack.push(yyval._$); + newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; + stack.push(newState); + break; + case 3: + return true; + } + } + return true; + }, + }; + class Item { + constructor() { + this.id = null; + this.leftBounds = []; + this.rightBounds = []; + this.conjunction = null; + } + i(id) { + this.id = id; + return this; + } + bl(leftBounds) { + this.leftBounds = leftBounds; + return this; + } + br(rightBounds) { + this.rightBounds = rightBounds; + return this; + } + con(conjunction) { + this.conjunction = conjunction; + return this; + } + } + class Seq { + constructor() { + this.body = []; + this.tip = new Item(); + } + next() { + this.body.push(this.tip); + this.tip = new Item(); + return this; + } + toJSON() { + return this.body; + } + } + /* generated by jison-lex 0.3.4 */ + var lexer = (function () { + var lexer = { + EOF: 1, + parseError: function parseError(str, hash) { + if (this.yy.parser) { + this.yy.parser.parseError(str, hash); + } + else { + throw new Error(str); + } + }, + // resets the lexer, sets new input + setInput: function (input, yy) { + this.yy = yy || this.yy || {}; + this._input = input; + this._more = this._backtrack = this.done = false; + this.yylineno = this.yyleng = 0; + this.yytext = this.matched = this.match = ''; + this.conditionStack = ['INITIAL']; + this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0, + }; + if (this.options.ranges) { + this.yylloc.range = [0, 0]; + } + this.offset = 0; + return this; + }, + // consumes and returns one char from the input + input: function () { + var ch = this._input[0]; + this.yytext += ch; + this.yyleng++; + this.offset++; + this.match += ch; + this.matched += ch; + var lines = ch.match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno++; + this.yylloc.last_line++; + } + else { + this.yylloc.last_column++; + } + if (this.options.ranges) { + this.yylloc.range[1]++; + } + this._input = this._input.slice(1); + return ch; + }, + // unshifts one char (or a string) into the input + unput: function (ch) { + var len = ch.length; + var lines = ch.split(/(?:\r\n?|\n)/g); + this._input = ch + this._input; + this.yytext = this.yytext.substr(0, this.yytext.length - len); + //this.yyleng -= len; + this.offset -= len; + var oldLines = this.match.split(/(?:\r\n?|\n)/g); + this.match = this.match.substr(0, this.match.length - 1); + this.matched = this.matched.substr(0, this.matched.length - 1); + if (lines.length - 1) { + this.yylineno -= lines.length - 1; + } + var r = this.yylloc.range; + this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: lines + ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length + : this.yylloc.first_column - len, + }; + if (this.options.ranges) { + this.yylloc.range = [r[0], r[0] + this.yyleng - len]; + } + this.yyleng = this.yytext.length; + return this; + }, + // When called from action, caches matched text and appends it on next action + more: function () { + this._more = true; + return this; + }, + // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. + reject: function () { + if (this.options.backtrack_lexer) { + this._backtrack = true; + } + else { + return this.parseError('Lexical error on line ' + + (this.yylineno + 1) + + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + + this.showPosition(), { + text: '', + token: null, + line: this.yylineno, + }); + } + return this; + }, + // retain first n characters of the match + less: function (n) { + this.unput(this.match.slice(n)); + }, + // displays already matched input, i.e. for error messages + pastInput: function () { + var past = this.matched.substr(0, this.matched.length - this.match.length); + return (past.length > 20 ? '...' : '') + past.substr(-20).replace(/\n/g, ''); + }, + // displays upcoming input, i.e. for error messages + upcomingInput: function () { + var next = this.match; + if (next.length < 20) { + next += this._input.substr(0, 20 - next.length); + } + return (next.substr(0, 20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ''); + }, + // displays the character position where the lexing error occurred, i.e. for error messages + showPosition: function () { + var pre = this.pastInput(); + var c = new Array(pre.length + 1).join('-'); + return pre + this.upcomingInput() + '\n' + c + '^'; + }, + // test the lexed token: return FALSE when not a match, otherwise return token + test_match: function (match, indexed_rule) { + var token, lines, backup; + if (this.options.backtrack_lexer) { + // save context + backup = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column, + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done, + }; + if (this.options.ranges) { + backup.yylloc.range = this.yylloc.range.slice(0); + } + } + lines = match[0].match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno += lines.length; + } + this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: lines + ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + match[0].length, + }; + this.yytext += match[0]; + this.match += match[0]; + this.matches = match; + this.yyleng = this.yytext.length; + if (this.options.ranges) { + this.yylloc.range = [this.offset, (this.offset += this.yyleng)]; + } + this._more = false; + this._backtrack = false; + this._input = this._input.slice(match[0].length); + this.matched += match[0]; + token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); + if (this.done && this._input) { + this.done = false; + } + if (token) { + return token; + } + else if (this._backtrack) { + // recover context + for (var k in backup) { + this[k] = backup[k]; + } + return false; // rule action called reject() implying the next rule should be tested instead. + } + return false; + }, + // return next match in input + next: function () { + if (this.done) { + return this.EOF; + } + if (!this._input) { + this.done = true; + } + var token, match, tempMatch, index; + if (!this._more) { + this.yytext = ''; + this.match = ''; + } + var rules = this._currentRules(); + for (var i = 0; i < rules.length; i++) { + tempMatch = this._input.match(this.rules[rules[i]]); + if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { + match = tempMatch; + index = i; + if (this.options.backtrack_lexer) { + token = this.test_match(tempMatch, rules[i]); + if (token !== false) { + return token; + } + else if (this._backtrack) { + match = false; + continue; // rule action called reject() implying a rule MISmatch. + } + else { + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + } + else if (!this.options.flex) { + break; + } + } + } + if (match) { + token = this.test_match(match, rules[index]); + if (token !== false) { + return token; + } + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + if (this._input === '') { + return this.EOF; + } + else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { + text: '', + token: null, + line: this.yylineno, + }); + } + }, + // return next match that has a token + lex: function lex() { + var r = this.next(); + if (r) { + return r; + } + else { + return this.lex(); + } + }, + // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) + begin: function begin(condition) { + this.conditionStack.push(condition); + }, + // pop the previously active lexer condition state off the condition stack + popState: function popState() { + var n = this.conditionStack.length - 1; + if (n > 0) { + return this.conditionStack.pop(); + } + else { + return this.conditionStack[0]; + } + }, + // produce the lexer rule set which is active for the currently active lexer condition state + _currentRules: function _currentRules() { + if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { + return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; + } + else { + return this.conditions['INITIAL'].rules; + } + }, + // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available + topState: function topState(n) { + n = this.conditionStack.length - 1 - Math.abs(n || 0); + if (n >= 0) { + return this.conditionStack[n]; + } + else { + return 'INITIAL'; + } + }, + // alias for begin(condition) + pushState: function pushState(condition) { + this.begin(condition); + }, + // return the number of states currently on the stack + stateStackSize: function stateStackSize() { + return this.conditionStack.length; + }, + options: {}, + performAction: function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) { + switch ($avoiding_name_collisions) { + case 0: + break; + case 1: + return yy_.yytext; + case 2: + return 24; + case 3: + return 5; + } + }, + rules: [/^(?:\s+)/, /^(?:([-,.\[\]<>{}]))/, /^(?:([a-zA-Z_0-9]+))/, /^(?:$)/], + conditions: { INITIAL: { rules: [0, 1, 2, 3], inclusive: true } }, + }; + return lexer; + })(); + parser.lexer = lexer; + function Parser() { + this.yy = {}; + } + Parser.prototype = parser; + parser.Parser = Parser; + return new Parser(); +})(); +parser.Parser; +var parse = function () { + return parser.parse.apply(parser, arguments); +}; +var grammar = { parser: parser, Parser: parser.Parser, parse: parse }; + +const parseCode = (code) => { + const raw = grammar.parse(code); + return new StaffLayout(raw); +}; + +class DummyLogger { + debug(..._) { } + group(..._) { } + groupCollapsed(..._) { } + groupEnd() { } + info(..._) { } + warn(..._) { } + assert(..._) { } +} + +const POINT_CONFLICTION_DISTANCE = 0.4; +const roundNumber = (x, precision, min = -Infinity) => Math.max(Math.round(x / precision) * precision, min); +const distance2D = (p1, p2) => { + const dx = p1.x - p2.x; + const dy = p1.y - p2.y; + return Math.sqrt(dx * dx + dy * dy); +}; +const trans23 = (point, matrix) => ({ + x: matrix[0] * point.x + matrix[2] * point.y + matrix[4], + y: matrix[1] * point.x + matrix[3] * point.y + matrix[5], +}); +const gcd = (a, b) => { + if (!(Number.isInteger(a) && Number.isInteger(b))) { + console.error('non-integer gcd:', a, b); + return 1; + } + return b === 0 ? a : gcd(b, a % b); +}; +const frac = (numerator, denominator) => ({ numerator, denominator }); +const reducedFraction = (n, d) => { + n = Math.round(n); + d = Math.round(d); + const g = n !== 0 ? gcd(n, d) : d; + return frac(n / g, d / g); +}; +const printFraction = (f) => `${f.numerator}/${f.denominator}`; +const fractionMul = (value, fraction) => (fraction ? (value * fraction.numerator) / fraction.denominator : value); +const segmentPoints = (points, axis) => { + const sorted = [...points].sort((p1, p2) => p1[axis] - p2[axis]); + let seg = null; + let lastP = null; + return sorted.reduce((segments, p, i) => { + if (!lastP) { + lastP = p; + seg = [p]; + } + else { + if (p[axis] - lastP[axis] < POINT_CONFLICTION_DISTANCE) + seg.push(p); + else { + if (seg.length > 1) + segments.push(seg); + lastP = p; + seg = [p]; + } + } + if (seg.length > 1 && i === sorted.length - 1) + segments.push(seg); + return segments; + }, []); +}; +const filterWeekPoints = (points) => { + //console.log("filterWeekPoints:", points.map(p => `${p.semantic}, ${p.x}, ${p.y}`)); + //console.table(points.map(p => ({ ...p }))); + if (points.length <= 1) + return []; + let rests = points.slice(1); + const group = CONFLICTION_GROUPS.find((group) => group.includes(points[0].semantic)); + if (!group) + return filterWeekPoints(rests); + const weeks = rests.filter((p) => group.includes(p.semantic)); + rests = rests.filter((p) => !group.includes(p.semantic)); + return [...weeks, ...filterWeekPoints(rests)]; +}; +const solveOverlapping = (points) => { + const pset = new Set(points); + const xClusters = segmentPoints(points, 'x'); + const clusters = [].concat(...xClusters.map((c) => segmentPoints(c, 'y'))); + clusters.forEach((ps) => ps.sort((p1, p2) => p2.confidence - p1.confidence)); + clusters.forEach((ps) => { + filterWeekPoints(ps).forEach((p) => pset.delete(p)); + }); + return Array.from(pset); +}; +const GROUP_N_TO_PITCH$1 = [0, 2, 4, 5, 7, 9, 11]; +const MIDDLE_C$1 = 60; +const mod7$1 = (x) => { + let y = x % 7; + while (y < 0) + y += 7; + return y; +}; +const noteToPitch = ({ note, alter }) => { + const group = Math.floor(note / 7); + const gn = mod7$1(note); + return MIDDLE_C$1 + group * 12 + GROUP_N_TO_PITCH$1[gn] + alter; +}; +const argmax$1 = (data) => { + const max = Math.max(...data); + return data.indexOf(max); +}; + +const WHOLE_DURATION = 128 * 3 * 5; +const WHOLE_EXP2 = WHOLE_DURATION / 15; +var AccessoryDirection; +(function (AccessoryDirection) { + AccessoryDirection["Up"] = "^"; + AccessoryDirection["Down"] = "_"; + AccessoryDirection["Middle"] = "-"; +})(AccessoryDirection || (AccessoryDirection = {})); +var GraceType; +(function (GraceType) { + GraceType["Grace"] = "grace"; + GraceType["AfterGrace"] = "afterGrace"; + GraceType["Acciaccatura"] = "acciaccatura"; + GraceType["Appoggiatura"] = "appoggiatura"; + GraceType["SlashedGrace"] = "slashedGrace"; +})(GraceType || (GraceType = {})); +var StemBeam; +(function (StemBeam) { + StemBeam["Open"] = "Open"; + StemBeam["Close"] = "Close"; + StemBeam["Continue"] = "Continue"; +})(StemBeam || (StemBeam = {})); +var TremoloLink; +(function (TremoloLink) { + TremoloLink["Pitcher"] = "Pitcher"; + TremoloLink["Catcher"] = "Catcher"; + TremoloLink["Pierced"] = "Pierced"; +})(TremoloLink || (TremoloLink = {})); +var GlissandoStyle; +(function (GlissandoStyle) { + GlissandoStyle["Normal"] = "normal"; + GlissandoStyle["DashedLine"] = "dashed-line"; + GlissandoStyle["DottedLine"] = "dotted-line"; + GlissandoStyle["Zigzag"] = "zigzag"; + GlissandoStyle["Trill"] = "trill"; +})(GlissandoStyle || (GlissandoStyle = {})); +var ArpeggioStyle; +(function (ArpeggioStyle) { + ArpeggioStyle["Normal"] = "Normal"; + ArpeggioStyle["Bracket"] = "Bracket"; + ArpeggioStyle["Parenthesis"] = "Parenthesis"; + ArpeggioStyle["ParenthesisDashed"] = "ParenthesisDashed"; + ArpeggioStyle["ArrowDown"] = "ArrowDown"; +})(ArpeggioStyle || (ArpeggioStyle = {})); +class Term extends SimpleClass { +} +const SCALE_NAMES = 'CDEFGAB'; +class EventTerm extends Term { + static space({ tick, duration }) { + const term = new EventTerm({ + rest: 's', + tick, + accessories: [], + }); + term.duration = Math.round(duration); + return term; + } + constructor(data) { + super(); + super.assign(data); + Object.assign(this, data); + if (Number.isFinite(data.left) && Number.isFinite(data.right)) + this.x = (this.left + this.right) / 2; + if (!Number.isFinite(this.pivotX)) + this.pivotX = this.x; + //console.assert(Number.isFinite(this.x), "EventTerm: invalid x,", data); + } + get alignedTick() { + return this.grace ? this.tick + this.duration : this.tick; + } + get mainDuration() { + return WHOLE_DURATION * 2 ** -this.division * (2 - 2 ** -this.dots); + } + get duration() { + let value = this.mainDuration; + if (this.multiplier) + value *= this.multiplier.numerator / this.multiplier.denominator; + if (this.timeWarp) + value *= this.timeWarp.numerator / this.timeWarp.denominator; + return this.grace ? value / 8 : value; + } + set duration(value) { + console.assert(Number.isFinite(value), 'invalid duration value:', value); + const divider = gcd(value, WHOLE_EXP2); + const division = Math.log2(WHOLE_EXP2 / divider); + const multiplier = reducedFraction(value * 2 ** division, WHOLE_DURATION); + this.division = division; + this.dots = 0; + if (multiplier.numerator !== multiplier.denominator) + this.multiplier = multiplier; + else + this.multiplier = undefined; + } + get prior() { + return this.tick; + } + get times() { + if (!this.timeWarp) + return null; + return `${this.timeWarp.numerator}/${this.timeWarp.denominator}`; + } + get fullMeasureRest() { + return this.rest === 'R'; + } + get tipX() { + return this.tip ? this.tip.x : this.x; + } + get tipY() { + return this.tip ? this.tip.y : this.ys ? this.ys[0] : 0; + } + get tremoloCatcher() { + return this.tremoloLink === TremoloLink.Catcher; + } + get scaleChord() { + return this.pitches.map((pitch) => SCALE_NAMES[(pitch.note + 700) % 7]).join(''); + } + get zeroHolder() { + return !!this.grace || this.tremoloCatcher; + } +} +EventTerm.className = 'EventTerm'; +var ContextType; +(function (ContextType) { + ContextType[ContextType["Clef"] = 0] = "Clef"; + ContextType[ContextType["KeyAcc"] = 1] = "KeyAcc"; + ContextType[ContextType["Acc"] = 2] = "Acc"; + ContextType[ContextType["OctaveShift"] = 3] = "OctaveShift"; + ContextType[ContextType["TimeSignatureC"] = 4] = "TimeSignatureC"; + ContextType[ContextType["TimeSignatureN"] = 5] = "TimeSignatureN"; +})(ContextType || (ContextType = {})); +class ContextedTerm extends Term { + constructor(data) { + super(); + Object.assign(this, data); + } + get type() { + if (TokenClefs.includes(this.tokenType)) + return ContextType.Clef; + if (/\|key-/.test(this.tokenType)) + return ContextType.KeyAcc; + if (/accidentals-/.test(this.tokenType)) + return ContextType.Acc; + if (TokenOctshifts.includes(this.tokenType)) + return ContextType.OctaveShift; + if (TokenTimesigsC.includes(this.tokenType)) + return ContextType.TimeSignatureC; + if (TokenTimesigsN.includes(this.tokenType)) + return ContextType.TimeSignatureN; + return null; + } + get staffLevel() { + return [ContextType.OctaveShift, ContextType.Clef, ContextType.KeyAcc].includes(this.type); + } + get prior() { + return this.tick - 0.1; + } + get clef() { + switch (this.tokenType) { + case TokenType.ClefG: + return -this.y - 2; + case TokenType.ClefF: + return -this.y + 2; + case TokenType.ClefC: + return -this.y; + } + return null; + } + get alter() { + switch (this.tokenType) { + case TokenType.AccNatural: + case TokenType.KeyNatural: + return 0; + case TokenType.AccSharp: + case TokenType.KeySharp: + return 1; + case TokenType.AccFlat: + case TokenType.KeyFlat: + return -1; + case TokenType.AccDoublesharp: + return 2; + case TokenType.AccFlatflat: + return -2; + } + return null; + } + get octaveShift() { + switch (this.tokenType) { + case TokenType.OctaveShift8va: + return -1; + case TokenType.OctaveShift0: + return 0; + case TokenType.OctaveShift8vb: + return 1; + } + return null; + } + get number() { + switch (this.tokenType) { + case TokenType.TimesigZero: + return 0; + case TokenType.TimesigOne: + return 1; + case TokenType.TimesigTwo: + return 2; + case TokenType.TimesigThree: + return 3; + case TokenType.TimesigFour: + return 4; + case TokenType.TimesigFive: + return 5; + case TokenType.TimesigSix: + return 6; + case TokenType.TimesigSeven: + return 7; + case TokenType.TimesigEight: + return 8; + case TokenType.TimesigNine: + return 9; + } + return null; + } +} +ContextedTerm.className = 'ContextedTerm'; +//class BreakTerm extends Term { +//}; +class MarkTerm extends Term { + get prior() { + return this.tick + 0.01; + } +} +MarkTerm.className = 'MarkTerm'; +const MUSIC_NOTES = Array(7) + .fill(0) + .map((_, i) => String.fromCodePoint(0x1d15d + i)); +class TempoTerm extends MarkTerm { + static fromNumeralText(text) { + if (/.+=.*\d+/.test(text)) { + const [symbol, value] = text.split('='); + let division = MUSIC_NOTES.findIndex((n) => symbol.includes(n)); + division = division >= 0 ? division : 2; + let duration = (2 ** division).toString(); + if (symbol.includes('.')) + duration += '.'; + return new TempoTerm({ tick: 0, duration, beats: value }); + } + return null; + } + constructor(data) { + super(); + Object.assign(this, data); + } + get prior() { + return this.tick - 0.01; + } + // a whole note equal to 1920 + get durationMagnitude() { + const [_, den, dot] = this.duration.match(/^(\d+)(\.)?$/); + const magnitude = (WHOLE_DURATION / Number(den)) * (dot ? 1.5 : 1); + return magnitude; + } + // beats per minute, suppose 1 beat = 480 ticks + get bpm() { + const [number] = this.beats.match(/\d+/) || [90]; + const beats = Number(number); + return (beats * this.durationMagnitude * 4) / WHOLE_DURATION; + } + isValid(range = [10, 400]) { + const bpm = this.bpm; + return Number.isFinite(this.bpm) && bpm >= range[0] && bpm < range[1]; + } +} +TempoTerm.className = 'TempoTerm'; +class GlyphTerm extends MarkTerm { + constructor(data) { + super(); + Object.assign(this, data); + } +} +GlyphTerm.className = 'GlyphTerm'; +class TextTerm extends MarkTerm { + constructor(data) { + super(); + Object.assign(this, data); + } +} +TextTerm.className = 'TextTerm'; +class LyricTerm extends MarkTerm { + constructor(data) { + super(); + Object.assign(this, data); + } +} +LyricTerm.className = 'LyricTerm'; +class CommandTerm extends MarkTerm { + constructor(data) { + super(); + Object.assign(this, data); + } +} +CommandTerm.className = 'CommandTerm'; +class ChordmodeTerm extends Term { + constructor(data) { + super(); + Object.assign(this, data); + } + get prior() { + return this.tick; + } + get duration() { + const value = WHOLE_DURATION * 2 ** -this.division * (2 - 2 ** -this.dots); + if (this.multiplier) + return (value * this.multiplier.numerator) / this.multiplier.denominator; + return value; + } +} +ChordmodeTerm.className = 'ChordmodeTerm'; + +const BEAM_STATUS = { + [StemBeam.Open]: 1, + [StemBeam.Continue]: 0, + [StemBeam.Close]: -1, +}; +const evaluateMeasure = (measure) => { + if (!measure.regulated) + return undefined; + const eventMap = measure.eventMap; + const events = measure.events.length; + const validEvents = measure.voices.flat(1).length; + const warpedEvents = measure.events.filter((e) => e.timeWarp).length; + const warps = new Set(measure.events.filter((e) => e.timeWarp && !(e.rest && e.division === 0)).map((e) => `${e.timeWarp.numerator}/${e.timeWarp.denominator}`)); + const irregularWarps = new Set(warps); + irregularWarps.delete('2/3'); + const fractionalWarp = measure.voices.some((voice) => { + const events = voice.map((id) => eventMap[id]); + if (!events.some((e) => e.timeWarp)) + return false; + let denominator = 0; + let tickSum = 0; + let eventN = 0; + return events.some((event, i) => { + const d = event.timeWarp ? event.timeWarp.denominator : 0; + if (d !== denominator) { + if (denominator > 0 && (tickSum % denominator || eventN < 2)) + return true; + tickSum = 0; + eventN = 0; + } + denominator = d; + tickSum += event.duration; + ++eventN; + if (i === events.length - 1) { + if (denominator > 0 && (tickSum % denominator || eventN < 2)) + return true; + } + return false; + }); + }); + const tickOverlapped = measure.voices.some((voice) => { + const events = voice.map((id) => eventMap[id]); + let tick = 0; + return events.some((event) => { + if (event.grace) + return false; + if (event.tick < tick) + return true; + tick = event.tick + event.duration; + return false; + }); + }); + const fractionalTimes = new Set(measure.events.filter((e) => e.timeWarp && e.timeWarp.denominator > 3).map((e) => e.duration)); + const complicatedTimewarp = fractionalTimes.size > 1; + const literalDuration = fractionMul(WHOLE_DURATION, measure.timeSignature); + const sigDuration = measure.doubtfulTimesig ? measure.duration : literalDuration; + const inVoiceEvents = measure.voices.flat(1).map((id) => eventMap[id]); + // Guard: detect corrupted event data in voices (e.g. missing division, NaN tick) + const corruptedVoiceEvent = inVoiceEvents.some((event) => !event || + !Number.isFinite(event.tick) || + !Number.isFinite(event.division) || + event.division < 0 || + !Number.isFinite(event.duration) || + event.duration <= 0); + const overranged = inVoiceEvents.reduce((over, event) => over || event.tick < 0 || event.tick + event.duration > sigDuration, false); + const overDuration = measure.duration > literalDuration; + const graceInVoice = inVoiceEvents.some((event) => event.grace); + const graceN = measure.events.filter((e) => e.grace).length; + const graceDominant = graceN >= inVoiceEvents.length; + const irregularTick = inVoiceEvents.some((event) => { + let t = event.tick * 2 ** (event.division + 2); + if (event.timeWarp) + t *= event.timeWarp.denominator; + if (!Number.isFinite(t)) + return true; + const fragment = gcd(Math.round(t), WHOLE_DURATION); + //if (fragment < WHOLE_DURATION) + // console.log("irregularTick:", event.tick, fragment); + return fragment < WHOLE_DURATION; + }); + const beamStatus = measure.voices.map((voice) => voice.reduce(({ status, broken }, ei) => { + const event = eventMap[ei]; + if (event.beam) { + status += BEAM_STATUS[event.beam]; + broken = broken || !(status >= 0 && status <= 1); + } + return { status, broken }; + }, { status: 0, broken: false })); + const beamBroken = beamStatus.some(({ status, broken }) => status || broken); + let spaceTime = 0; + let surplusTime = 0; + measure.voices.forEach((voice) => { + const eventDuration = voice.reduce((sum, ei) => sum + eventMap[ei].duration, 0); + spaceTime += Math.max(0, measure.duration - eventDuration); + surplusTime += Math.max(0, eventDuration - measure.duration); + }); + spaceTime /= WHOLE_DURATION; + const nullEvents = measure.events.filter((e) => !e.grace && !e.fullMeasureRest && !e.tremoloCatcher && (!e.predisposition || e.predisposition.fakeP < 0.1) && !Number.isFinite(e.tick)).length; + const fakeEvents = measure.events.filter((event) => !event.fullMeasureRest && !event.grace && !event.tremoloCatcher && !inVoiceEvents.includes(event)).length; + const { voiceRugged } = measure.voices.flat(1).reduce((result, ei) => { + if (!result.voiceRugged) { + if (result.es.has(ei)) + return { voiceRugged: true, es: result.es }; + } + result.es.add(ei); + return result; + }, { voiceRugged: false, es: new Set() }); + const tickTwist = measure.tickTwist || 0; + const error = corruptedVoiceEvent || + tickTwist >= 1 || + tickOverlapped || + voiceRugged || + measure.tickRatesInStaves.some((rate) => rate < 0) || + nullEvents > 2 || + !measure.timeSignature || + overranged || + measure.duration > sigDuration || + measure.events.some((event) => event.timeWarp && event.timeWarp.numerator / event.timeWarp.denominator <= 0.5); + const perfect = !error && + !overDuration && + tickTwist < 0.2 && + !fractionalWarp && + !irregularWarps.size && + !irregularTick && + !spaceTime && + !surplusTime && + !!measure.voices.length && + !beamBroken && + !graceInVoice && + !graceDominant && + (measure.duration === sigDuration || (Number.isFinite(measure.estimatedDuration) && measure.estimatedDuration <= sigDuration * 0.75)); + const fine = !error && !overDuration && tickTwist < 0.3 && !fractionalWarp && !irregularTick && !surplusTime && !beamBroken && !graceInVoice; + let expectDuration = Math.min(sigDuration, WHOLE_DURATION * 2); + if (Number.isFinite(measure.estimatedDuration)) + expectDuration = Math.max(0, Math.min(expectDuration, measure.estimatedDuration)); + const durationRate = measure.duration / expectDuration; + let qualityScore = 0; + if (measure.patched && !corruptedVoiceEvent) + qualityScore = 1; + else if (!error) { + const spaceLoss = Math.tanh(Math.abs(spaceTime / Math.max(1, measure.voices.length)) * 1); + let expectDuration = Math.min(sigDuration, WHOLE_DURATION * 2); + if (Number.isFinite(measure.estimatedDuration)) + expectDuration = Math.max(0, Math.min(expectDuration, measure.estimatedDuration)); + const durationLoss = expectDuration ? Math.max(0, 1 - durationRate) ** 2 : 0; + const warpsLoss = Math.tanh(irregularWarps.size); + qualityScore = (1 - spaceLoss) * (1 - durationLoss) * (1 - warpsLoss) * (1 - tickTwist ** 2); + } + return { + events, + validEvents, + voiceRugged, + nullEvents, + fakeEvents, + warpedEvents, + complicatedTimewarp, + spaceTime, + surplusTime, + durationRate, + beamBroken, + fractionalWarp, + irregularWarpsN: irregularWarps.size, + irregularTick, + tickTwist, + tickOverlapped, + graceInVoice, + graceN, + graceDominant, + perfect, + fine, + error, + qualityScore, + }; +}; + +//import { staffSvg } from "@kelvinnxu/lotus"; +class SemanticGraph extends SimpleClass { + constructor(data) { + super(); + super.assign(data); + } + /*static fromSheetStaff(staff: staffSvg.SheetStaff, hashTable: {[key: string]: any}): SemanticGraph { + const tokens = [].concat(...staff.measures.map(measure => measure.tokens)); + + const voltaRightXs = []; + + const points = []; + tokens.forEach(token => { + const def = hashTable[token.hash]; + + if (token.glyph) { + const glyph = token.glyph as string; + let semantic = null; + + const isKey = /^\\key/.test(token.source) || token.is("KEY"); + let { x: cx = 0, y: cy = 0 } = glyphCenters[glyph] || { x: 0, y: 0 }; + if (token.scale2) { + cx *= token.scale2.x; + cy *= token.scale2.y; + } + + let x = token.x + cx; + const y = token.y + cy; + + switch (glyph) { + case "rests.0": + if (/^R/.test(token.source)) + semantic = "Rest0W"; + else + semantic = "Rest0"; + + break; + case "accidentals.flat": + semantic = glyphSemanticMapping[glyph]; + if (isKey) { + points.push({ + semantic: SemanticType.KeyAcc, + x, + y, + }); + } + + break; + case "accidentals.natural": + semantic = glyphSemanticMapping[glyph]; + if (isKey) { + points.push({ + semantic: SemanticType.KeyAcc, + x, + y, + }); + } + + break; + case "accidentals.sharp": + semantic = glyphSemanticMapping[glyph]; + if (isKey) { + points.push({ + semantic: SemanticType.KeyAcc, + x, + y, + }); + } + + break; + case "dots.dot": + if (token.is("VOLTA")) { + x += 0.24; // dot glyph center X offset + if (token.is("LEFT")) + semantic = SemanticType.VoltaLeft; + else if (token.is("RIGHT")) { + voltaRightXs.push(x); + semantic = SemanticType.VoltaRight; + } + } + else + semantic = "Dot"; + + break; + case "zero": + case "one": + case "two": + case "three": + case "four": + case "five": + case "six": + case "seven": + case "eight": + case "nine": { + const upper = glyph[0].toUpperCase() + glyph.substr(1); + semantic = token.is("TIME_SIG") ? "Timesig" + upper : upper; + } + + break; + default: + semantic = glyphSemanticMapping[glyph]; + } + + if (semantic) { + points.push({ + semantic, + x, + y, + }); + } + + if (token.is("TEMPO_NOTEHEAD")) { + points.push({ + semantic: SemanticType.TempoNotehead, + x, + y, + }); + } + + // grace noteheads + if (token.is("NOTEHEAD") && Number.isFinite(token.scale) && token.scale < 0.75) { + points.push({ + semantic: SemanticType.GraceNotehead, + x, + y, + }); + } + } + + // semantic from token symbol + let semantic = null; + const cx = 0; + let cy = 0; + if (token.is("OCTAVE")) { + if (token.is("_8")) { + semantic = SemanticType.OctaveShift8; + cy = token.is("B") ? -0.7512 : -0.7256; + } + else if (token.is("CLOSE")) { + semantic = SemanticType.OctaveShift0; + cy = 0; + } + } + else if (/^flags/.test(token.glyph)) { + let direction = 0; + if (/\.u\d/.test(token.glyph)) + direction = 1; + if (/\.d\d/.test(token.glyph)) + direction = -1; + if (direction) { + const [n] = token.glyph.match(/\d+/); + const flagCount = Number(n) - 2; + //console.log("flags:", token.glyph, flagCount); + for (let i = 0; i < flagCount; ++i) { + const y = token.y + (i + 0.5) * direction; + points.push({ + semantic: SemanticType.Flag3, + x: token.x, + y, + }); + //console.log("flags.1:", token.x, y); + } + } + } + else if (token.is("SLUR")) { + const d = def && def.d; + if (d) { + const numbers = d.match(/-?[\d.]+/g).map(Number); + //console.log("slur:", numbers); + const x1 = token.x + numbers[0]; + const y1 = token.y + numbers[1]; + const x2 = token.x + numbers[6]; + const y2 = token.y + numbers[7]; + + points.push({ + semantic: SemanticType.SlurBegin, + x: x1, + y: y1, + }); + points.push({ + semantic: SemanticType.SlurEnd, + x: x2, + y: y2, + }); + } + } + else if (token.is("NOTE_STEM")) { + points.push({ + semantic: SemanticType.vline_Stem, + x: token.x + def.width / 2, + y: token.y, + extension: { + y1: token.y, + y2: token.y + token.height, + }, + }); + } + else if (token.is("TEXT") || token.is("CHORD_TEXT")) { + if (/\S/.test(token.text)) { + // NOTE: text rect computation is delayed to sheet rendering + points.push({ + semantic: SemanticType.rect_Text, + x: token.x, + y: token.y, + extension: { + index: token.index, + text: token.text, + }, + }); + } + } + + if (semantic) { + points.push({ + semantic, + x: token.x + cx, + y: token.y + cy, + }); + } + }); + + // beams + const stems = tokens.filter(token => token.is("NOTE_STEM")).map(stem => ({ + x: stem.x + stem.width / 2, + y1: stem.y, + y2: stem.y + stem.height, + })); + const beams = tokens.filter(token => token.is("NOTETAIL") && token.is("JOINT")) + .map(beam => { + const def = hashTable[beam.hash]; + const points = def && def.points; + if (points) { + const floats = points.split(" ").map(Number); + const x1 = beam.x + floats[4]; + const x2 = beam.x + floats[0]; + const y1 = beam.y + (floats[5] + floats[7]) / 2; + const y2 = beam.y + (floats[1] + floats[3]) / 2; + const k = (y2 - y1) / (x2 - x1); + + return { x1, x2, y1, y2, k, capital: beam.is("CAPITAL_BEAM") }; + } + + return null; + }).filter(Boolean); + //console.log("beams:", beams); + beams.forEach(beam => { + const innerStems = stems.filter(stem => stem.x > beam.x1 - 0.2 && stem.x < beam.x2 + 0.2); + //console.log("innerStems:", beam, innerStems); + + let lines = 0; + innerStems.forEach(stem => { + const beamY = beam.y1 + (stem.x - beam.x1) * beam.k; + //console.log("beamY:", beamY, Math.min(Math.abs(beamY - beam.y1), Math.abs(beamY - beam.y2))); + if (beamY >= stem.y1 - 0.1 && beamY <= stem.y2 + 0.1) { + points.push({ + semantic: SemanticType.Flag3, + x: stem.x, + y: beamY, + }); + + ++lines; + + // beam semantics + if (beam.capital) { + let semantic = SemanticType.BeamContinue; + if (Math.abs(stem.x - beam.x1) < 0.2) + semantic = SemanticType.BeamLeft; + else if (Math.abs(stem.x - beam.x2) < 0.2) + semantic = SemanticType.BeamRight; + + points.push({ + semantic, + x: stem.x, + y: beamY, + }); + } + } + }); + if (!lines) + console.warn("empty beam:", beam, innerStems, stems); + //else if (lines < 2) + // console.debug("single beam:", beam, innerStems, stems); + }); + + // wedges (crescendo & decrescendo) + const crescendos = tokens.filter(token => token.is("WEDGE CRESCENDO TOP")); + const crescendoBottoms = tokens.filter(token => token.is("WEDGE CRESCENDO BOTTOM")); + const decrescendos = tokens.filter(token => token.is("WEDGE DECRESCENDO TOP")); + const decrescendoBottoms = tokens.filter(token => token.is("WEDGE DECRESCENDO BOTTOM")); + crescendos.forEach(line => { + const partner = crescendoBottoms.find(b => b.x === line.x && Math.abs(b.y - line.y) < 0.06); + + if (partner) { + points.push({ + semantic: SemanticType.CrescendoBegin, + x: line.x, + y: line.y, + }); + } + //else + // console.log("unpaired crescendo:", line, crescendoBottoms); + points.push({ + semantic: SemanticType.CrescendoEnd, + x: line.x + line.target.x, + y: line.y + line.target.y, + }); + }); + decrescendos.forEach(line => { + const partner = decrescendoBottoms.find(b => b.x + b.target.x === line.x + line.target.x && Math.abs(b.y + b.target.y - (line.y + line.target.y)) < 0.06); + + points.push({ + semantic: SemanticType.DecrescendoBegin, + x: line.x, + y: line.y, + }); + if (partner) { + points.push({ + semantic: SemanticType.DecrescendoEnd, + x: line.x + line.target.x, + y: line.y + line.target.y, + }); + } + //else + // console.log("unpaired decrescendo:", line, decrescendoBottoms); + }); + + // TODO: volta alternative + + // measure bars + const measureSeparators = staff.tokens.filter(token => token.is("MEASURE_SEPARATOR")); + const singleBars = []; + const groupBars = []; + + for (let i = 0; i < measureSeparators.length; ++i) { + const bar = measureSeparators[i]; + const nextBar = measureSeparators[i + 1]; + const inteval = nextBar ? nextBar.x - bar.x : Infinity; + + if (inteval < 1) { + groupBars.push([bar, nextBar]); + ++i; + } + else + singleBars.push(bar); + }; + //console.log("bars:", singleBars, groupBars); + + singleBars.forEach(bar => { + points.push({ + semantic: SemanticType.vline_BarMeasure, + x: bar.x + bar.sw / 2, + y: 0, + extension: { + y1: -2, + y2: 2, + }, + }); + }); + + groupBars.forEach(group => { + let x = (group[0].x + group[1].x) / 2; + const bold0 = group[0].is("BOLD"); + const bold1 = group[1].is("BOLD"); + + let semantic = null; + if (!bold0 && bold1) { + x = group[0].x; + + if (!voltaRightXs.some(vx => x - vx < 2)) + semantic = SemanticType.vline_BarTerminal; + } + else if (bold0 && !bold1) + x = group[1].x; + else if (!bold0 && !bold1) + semantic = SemanticType.vline_BarSegment; + + //console.log("group:", group[0].x, group[1].x, x); + points.push({ + semantic: SemanticType.vline_BarMeasure, + x, + y: 0, + extension: { + y1: -2, + y2: 2, + }, + }); + + if (semantic) { + points.push({ + semantic, + x, + y: 0, + extension: { + y1: -2, + y2: 2, + }, + }); + } + }); + + const graph = new SemanticGraph(); + graph.points = points; + + return graph; + }*/ + static fromPoints(points = []) { + const graph = new SemanticGraph(); + graph.points = points; + return graph; + } + getLayer(semantic) { + return this.points.filter((p) => p.semantic === semantic); + } + getConfidentLayer(semantic, threshold) { + return this.points.filter((p) => p.semantic === semantic && (!Number.isFinite(p.confidence) || p.confidence >= threshold)); + } + getSystemPoints() { + return this.points.filter((point) => SYSTEM_SEMANTIC_TYPES.includes(point.semantic)); + } + getStaffPoints() { + return this.points.filter((point) => !SYSTEM_SEMANTIC_TYPES.includes(point.semantic)); + } + offset(x, y) { + this.points.forEach((point) => { + point.x += x; + point.y += y; + }); + } + scale(factor) { + this.points.forEach((point) => { + point.x *= factor; + point.y *= factor; + }); + } + // multipy 3x2 matrix + transform(matrix) { + this.points.forEach((point) => { + let x = point.x * matrix[0][0] + point.y * matrix[1][0] + matrix[2][0]; + const y = point.x * matrix[0][1] + point.y * matrix[1][1] + matrix[2][1]; + if (point.extension) { + if (Number.isFinite(point.extension.y1)) { + const y1 = point.x * matrix[0][1] + point.extension.y1 * matrix[1][1] + matrix[2][1]; + const y2 = point.x * matrix[0][1] + point.extension.y2 * matrix[1][1] + matrix[2][1]; + x = point.x * matrix[0][0] + (point.extension.y1 + point.extension.y2) * 0.5 * matrix[1][0] + matrix[2][0]; + point.extension.y1 = y1; + point.extension.y2 = y2; + } + if (Number.isFinite(point.extension.width)) { + const scaling = Math.sqrt(matrix[0][0] * matrix[1][1] - matrix[0][1] * matrix[1][0]); + point.extension.width *= scaling; + point.extension.height *= scaling; + } + } + point.x = x; + point.y = y; + }); + } +} +SemanticGraph.className = 'SemanticGraph'; + +const CHORD_X_TOLERANCE = 0.2; +//const EVENT_X_TOLERANCE = 0.8; +const STEM_LENGTH_MAX = 6; +const INDENT_THRESHOLD = 2; +const MEASURE_SEMANTICS = [ + SemanticType.ClefG, + SemanticType.ClefF, + SemanticType.ClefC, + SemanticType.TimesigC44, + SemanticType.TimesigC22, + SemanticType.TimesigZero, + SemanticType.TimesigOne, + SemanticType.TimesigTwo, + SemanticType.TimesigThree, + SemanticType.TimesigFour, + SemanticType.TimesigFive, + SemanticType.TimesigSix, + SemanticType.TimesigSeven, + SemanticType.TimesigEight, + SemanticType.TimesigNine, + SemanticType.OctaveShift8va, + SemanticType.OctaveShift8vb, + SemanticType.OctaveShift0, + SemanticType.Zero, + SemanticType.One, + SemanticType.Two, + SemanticType.Three, + SemanticType.Four, + SemanticType.Five, + SemanticType.Six, + SemanticType.Seven, + SemanticType.Eight, + SemanticType.Nine, + SemanticType.AccNatural, + SemanticType.AccSharp, + SemanticType.AccDoublesharp, + SemanticType.AccFlat, + SemanticType.AccFlatflat, + SemanticType.NoteheadS0, + SemanticType.NoteheadS1, + SemanticType.NoteheadS2, + SemanticType.NoteheadS1stemU, + SemanticType.NoteheadS1stemD, + SemanticType.NoteheadS2stemU, + SemanticType.NoteheadS2stemD, + SemanticType.Rest0, + SemanticType.Rest1, + SemanticType.Rest2, + SemanticType.Rest3, + SemanticType.Rest4, + SemanticType.Rest5, + SemanticType.Rest6, + SemanticType.Rest0W, + SemanticType.RestM1, + SemanticType.SlurBegin, + SemanticType.SlurEnd, + SemanticType.Dot, + SemanticType.f, + SemanticType.p, + SemanticType.m, + SemanticType.n, + SemanticType.r, + SemanticType.s, + SemanticType.z, + SemanticType.ScriptFermata, + SemanticType.ScriptShortFermata, + SemanticType.ScriptSforzato, + SemanticType.ScriptStaccato, + SemanticType.ScriptStaccatissimo, + SemanticType.ScriptTurn, + SemanticType.ScriptTrill, + SemanticType.ScriptSegno, + SemanticType.ScriptCoda, + SemanticType.ScriptArpeggio, + SemanticType.ScriptPrall, + SemanticType.ScriptMordent, + SemanticType.ScriptMarcato, + SemanticType.ScriptTenuto, + SemanticType.ScriptPortato, + SemanticType.PedalStar, + SemanticType.PedalPed, + SemanticType.GraceNotehead, + SemanticType.BeamLeft, + SemanticType.BeamRight, + SemanticType.BeamContinue, + SemanticType.CrescendoBegin, + SemanticType.CrescendoEnd, + SemanticType.DecrescendoBegin, + SemanticType.DecrescendoEnd, + SemanticType.TremoloLeft, + SemanticType.TremoloRight, + SemanticType.TremoloMiddle, +]; +const STAFF_LINED_SEMANTICS = [ + SemanticType.AccNatural, + SemanticType.AccSharp, + SemanticType.AccDoublesharp, + SemanticType.AccFlat, + SemanticType.AccFlatflat, + SemanticType.NoteheadS0, + SemanticType.NoteheadS1, + SemanticType.NoteheadS2, + SemanticType.NoteheadS1stemU, + SemanticType.NoteheadS1stemD, + SemanticType.NoteheadS2stemU, + SemanticType.NoteheadS2stemD, +]; +const LINED_INTERVAL_SEMANTICS = [SemanticType.SignLined, SemanticType.SignInterval]; +const NOTEHEAD_FOR_STEM_SEMANTICS = [SemanticType.NoteheadS1, SemanticType.NoteheadS2]; +const KEYACC_CANDIDATE_SEMANTICS = { + AccSharp: TokenType.KeySharp, + AccNatural: TokenType.KeyNatural, + AccFlat: TokenType.KeyFlat, +}; +const NOTEHEAD_TABLE = { + [SemanticType.NoteheadS1]: { + up: SemanticType.NoteheadS1stemU, + down: SemanticType.NoteheadS1stemD, + }, + [SemanticType.NoteheadS2]: { + up: SemanticType.NoteheadS2stemU, + down: SemanticType.NoteheadS2stemD, + }, +}; +const REST_SEMANTICS = [ + SemanticType.Rest0, + SemanticType.Rest1, + SemanticType.Rest2, + SemanticType.Rest3, + SemanticType.Rest4, + SemanticType.Rest5, + SemanticType.Rest6, +]; +const TOKEN_TO_STEMBEAM = { + [TokenType.BeamLeft]: 'Open', + [TokenType.BeamRight]: 'Close', + [TokenType.BeamContinue]: 'Continue', +}; +const TEXT_TYPE_ALIAS = { + Alter1: TextType.Alternation1, + Alter2: TextType.Alternation2, +}; +const noteheadsXPivot = (xs, direction) => { + switch (xs.length) { + case 0: + return undefined; + case 1: + return xs[0]; + case 2: + return direction === 'u' ? Math.min(...xs) : Math.max(...xs); + default: { + const mean = xs.reduce((sum, x) => sum + x, 0) / xs.length; + xs.sort((x1, x2) => Math.abs(x1 - mean) - Math.abs(x2 - mean)); + return noteheadsXPivot(xs.slice(0, xs.length - 1), direction); + } + } +}; +const noteheadsPivot = (nhs) => noteheadsXPivot(nhs.map((nh) => (Number.isFinite(nh.pivotX) ? nh.pivotX : nh.x)), nhs[0].direction); +class Measure extends SimpleClass { + constructor(data) { + super(); + super.assign(data); + this.tokens = this.tokens || []; + this.antiTokens = this.antiTokens || []; + this.barTypes = this.barTypes || {}; + } + get right() { + return this.left + this.width; + } + get noteheads() { + return this.tokens.filter((t) => t.isNotehead).sort((n1, n2) => n1.x - n2.x); + } + get chordRects() { + const noteheads = this.noteheads.filter((nh) => [TokenType.NoteheadS0, TokenType.NoteheadS1stemU, TokenType.NoteheadS2stemU, TokenType.NoteheadS1stemD, TokenType.NoteheadS2stemD].includes(nh.type)); + let nulN = 0; + const nhmap = noteheads.reduce((map, nh) => { + const tip = nh.tip ? `${nh.tip.x}|${nh.tip.y}` : `nul${nulN}`; + let key = `${nh.type}|${tip}`; + if (!nh.tip && map[key]) { + if (!map[key].some((hh) => Math.abs(hh.x - nh.x) < NOTEHEAD_WIDTHS.NoteheadS0)) { + ++nulN; + key = `${nh.type}|nul${nulN}`; + } + } + map[key] = map[key] || []; + map[key].push(nh); + return map; + }, {}); + return Object.values(nhmap).map((nhs) => { + const left = Math.min(...nhs.map((nh) => nh.x)); + const right = Math.max(...nhs.map((nh) => nh.x)); + const top = Math.min(...nhs.map((nh) => nh.y)); + const bottom = Math.max(...nhs.map((nh) => nh.y)); + const nh0 = nhs[0]; + const stemX = nh0 && nh0.tip ? nh0.tip.x : left; + let x = left; + let width = right - left; + let stemDirection = null; + switch (nh0.type) { + case TokenType.NoteheadS0: + x -= NOTEHEAD_WIDTHS.NoteheadS0 / 2; + width += NOTEHEAD_WIDTHS.NoteheadS0; + break; + case TokenType.NoteheadS1stemU: + case TokenType.NoteheadS2stemU: + stemDirection = 'u'; + x -= NOTEHEAD_WIDTHS.NoteheadS1; + width += NOTEHEAD_WIDTHS.NoteheadS1; + break; + case TokenType.NoteheadS1stemD: + case TokenType.NoteheadS2stemD: + stemDirection = 'd'; + width += NOTEHEAD_WIDTHS.NoteheadS1; + break; + } + return { + x, + width, + stemX, + stemDirection, + top, + bottom, + tip: nh0.tip, + }; + }); + } + get timeWarped() { + return this.tokens && this.tokens.some((token) => token.timeWarped); + } + get additionalLines() { + const chords = this.getChords(); + const up = chords + .filter((chord) => chord.ys.some((y) => y <= -3)) + .map((chord) => ({ + left: chord.left, + right: chord.right, + n: Math.ceil(Math.min(...chord.ys)) + 2, + })); + const down = chords + .filter((chord) => chord.ys.some((y) => y >= 3)) + .map((chord) => ({ + left: chord.left, + right: chord.right, + n: Math.floor(Math.max(...chord.ys)) - 2, + })); + return [...up, ...down].map((stack) => ({ + left: stack.left - 0.28, + right: stack.right + 0.28, + n: stack.n, + })); + } + getChords() { + const flags = this.tokens.filter((t) => TokenFlags.includes(t.type)); + const dots = this.tokens.filter((t) => TokenDots.includes(t.type)); + const beams = this.tokens.filter((t) => TokenBeams.includes(t.type)); + const chordRcs = this.chordRects + .map((rect) => { + const noteheads = this.noteheads.filter((nh) => nh.direction === rect.stemDirection && + nh.left >= rect.x && + nh.right <= rect.x + rect.width + CHORD_X_TOLERANCE && + nh.y >= rect.top && + nh.y <= rect.bottom); + noteheads.sort((n1, n2) => n2.y - n1.y); + const ys = noteheads.map((nh) => nh.y); + const noteIds = noteheads.map((nh) => nh.id); + const division = noteheads.reduce((d, nh) => Math.max(d, nh.division), 0); + return { + rect, + left: rect.x, + right: rect.x + rect.width, + pivotX: noteheadsPivot(noteheads), + ys, + tip: rect.tip, + noteIds, + division, + dots: null, + rest: false, + stemDirection: rect.stemDirection, + beam: null, + }; + }) + .sort((c1, c2) => c2.left - c1.left); + const accs = new Set(); + const chords = chordRcs.map(({ rect, ...chord }) => { + if (chord.division >= 1) { + // NOTE: notehead-s1 may have flags too + const flagRange = [rect.bottom, rect.top]; + switch (rect.stemDirection) { + case 'u': + flagRange[0] = rect.tip ? rect.tip.y - 0.2 : rect.top - STEM_LENGTH_MAX - 0.5; + break; + case 'd': + flagRange[1] = rect.tip ? rect.tip.y + 0.2 : rect.bottom + STEM_LENGTH_MAX + 0.5; + break; + } + const nearbyFlags = flags.filter((flag) => !accs.has(flag.id) && + flag.x > rect.stemX - CHORD_X_TOLERANCE && + flag.x < rect.stemX + CHORD_X_TOLERANCE && + flag.y > flagRange[0] && + flag.y < flagRange[1]); + chord.division = nearbyFlags.reduce((d, flag) => Math.max(d, flag.division), chord.division); + nearbyFlags.forEach((flag) => accs.add(flag.id)); + const beamToken = rect.tip && beams.find((t) => Math.abs(rect.tip.x - t.x) < 0.3 && Math.abs(rect.tip.y - t.y) < 0.7); + if (beamToken) + chord.beam = TOKEN_TO_STEMBEAM[beamToken.type]; + } + const nearbyDots = dots.filter((dot) => !accs.has(dot.id) && + dot.x > rect.x + rect.width - 0.2 && + dot.x < rect.x + rect.width + 1.2 && + dot.y > rect.top - 1 && + dot.y <= rect.bottom + 0.5); + chord.dots = nearbyDots.reduce((v, dot) => Math.max(v, dot.dots), 0); + nearbyDots.forEach((dot) => accs.add(dot.id)); + return chord; + }); + chords.reverse(); + return chords; + } + getRests() { + const rests = this.tokens.filter((t) => TokenRests.includes(t.type)); + const dots = this.tokens.filter((t) => TokenDots.includes(t.type)); + return rests.map((rest) => { + const nearbyDots = dots.filter((dot) => dot.x > rest.x + 0.5 && dot.x < rest.x + 2 && dot.y > rest.y - 1 && dot.y < rest.y + 0.5); + const dotValue = nearbyDots.reduce((v, dot) => Math.max(v, dot.dots), 0); + return { + left: rest.x - 0.75, + right: rest.x + 0.75, + pivotX: rest.x, + rest: true, + ys: [rest.y], + noteIds: [rest.id], + dots: dotValue, + division: rest.division, + stemDirection: null, + }; + }); + } + getEvents() { + return [...this.getChords(), ...this.getRests()].sort((e1, e2) => e1.left - e2.left); + } + getContexts(fields = {}) { + return this.tokens + .filter((t) => t.isContexted) + .sort((n1, n2) => n1.x - n2.x) + .map((token) => new ContextedTerm({ + x: token.x, + y: token.y, + tokenType: token.type, + ...fields, + })); + } + assignAccessoriesOnEvents(events) { + events.forEach((event) => (event.accessories = event.accessories || [])); + const accessories = this.tokens.filter((token) => TokenAccessories.includes(token.type)); + //console.log("accessories:", accessories); + accessories.forEach((accessory) => { + const relatedEvents = events.filter((event) => accessory.x > event.left - 1 && accessory.x < event.right + 1); + if (relatedEvents.length > 0) { + let owner = relatedEvents[0]; + if (relatedEvents.length > 1) { + owner = relatedEvents + .map((event) => ({ event, d: Math.min(...event.ys.map((y) => Math.abs(y - accessory.y))) })) + .sort(({ d: d1 }, { d: d2 }) => d1 - d2) + .map(({ event }) => event)[0]; + } + //console.log("relatedEvents:", accessory, owner); + let direction = accessory.y > Math.max(...owner.ys) ? AccessoryDirection.Down : AccessoryDirection.Up; + if (TokenDirectionless.includes(accessory.type)) + direction = null; + owner.accessories.push({ + type: accessory.type, + id: accessory.id, + direction, + x: accessory.x - owner.left, + }); + } + //else + // console.debug("alone accessory:", accessory.type); + }); + // arpeggio + const sortEvents = [...events]; + sortEvents.sort((e1, e2) => e1.left - e2.left); + const arpeggios = this.tokens.filter((token) => token.type === TokenType.ScriptArpeggio); + arpeggios.forEach((arpeggio) => { + const owner = sortEvents.find((event) => arpeggio.x < event.left && event.ys.some((y) => y < arpeggio.y + 0.25) && event.ys.some((y) => y > arpeggio.y)); + //const owner = sortEvents.find(event => event.left - leftMost.left < 2 && event.ys.some(y => Math.abs(y - arpeggio.y + 0.25) < 0.5)); + if (owner) { + owner.accessories.push({ + type: TokenType.ScriptArpeggio, + id: arpeggio.id, + x: arpeggio.x - owner.left, + }); + } + //else + // console.debug("alone arpeggio:", arpeggio); + }); + // grace noteheads + const graceNhs = this.tokens.filter((token) => token.type === TokenType.GraceNotehead); + graceNhs.forEach((grace) => { + const event = events.find((event) => grace.x > event.left && grace.x < event.right && event.ys.some((y) => Math.abs(grace.y - y) < 0.4)); + if (event) + event.grace = GraceType.Grace; + }); + // tremolos + const tremolsLs = this.tokens.filter((token) => token.type === TokenType.TremoloLeft); + const tremolsRs = this.tokens.filter((token) => token.type === TokenType.TremoloRight); + const tremolsMs = this.tokens.filter((token) => token.type === TokenType.TremoloMiddle); + const tevents = events + .filter((event) => !event.rest) + .map((event) => { + const ys = [...event.ys]; + if (event.tip) + ys.push(event.tip.y); + else { + ys.push(event.ys[0] + 2); + ys.push(event.ys[event.ys.length - 1] - 2); + } + const stemL = event.tip ? event.tip.x : event.left; + const stemR = event.tip ? event.tip.x : event.right; + return { + event, + top: Math.min(...ys), + bottom: Math.max(...ys), + stemL, + stemR, + }; + }); + tremolsMs.forEach((tm) => { + const te = tevents.find((te) => { + if (te.event.tip) + return tm.y > te.top && tm.y < te.bottom && Math.abs(tm.x - te.event.tip.x) < 0.3; + return false; + }); + if (te) { + te.event.tremolo = te.event.tremolo || 2; + ++te.event.tremolo; + } + }); + tremolsLs.forEach((tl) => { + const te = tevents.find((te) => tl.y > te.top && tl.y < te.bottom && tl.x > te.stemR && tl.x < te.stemR + 1.6); + if (te) { + te.event.tremolo = te.event.tremolo || 2; + ++te.event.tremolo; + te.event.tremoloLink = TremoloLink.Pitcher; + } + }); + tremolsRs.forEach((tr) => { + const te = tevents.find((te) => tr.y > te.top && tr.y < te.bottom && tr.x < te.stemL && tr.x > te.stemL - 1.6); + if (te) { + te.event.tremolo = te.event.tremolo || 2; + ++te.event.tremolo; + te.event.tremoloLink = TremoloLink.Catcher; + } + }); + } + assignFeaturesOnEvents(events, semantics) { + const points = semantics.filter((point) => point.x > this.left && point.x < this.right); + const rests = points.filter((point) => REST_SEMANTICS.includes(point.semantic)); + const flags = points.filter((point) => point.semantic === SemanticType.Flag3); + const dotPs = points.filter((point) => point.semantic === SemanticType.Dot); + const beamLs = points.filter((points) => points.semantic === SemanticType.BeamLeft); + const beamMs = points.filter((points) => points.semantic === SemanticType.BeamContinue); + const beamRs = points.filter((points) => points.semantic === SemanticType.BeamRight); + const gracePs = points.filter((point) => point.semantic === SemanticType.GraceNotehead); + const tremoloRs = points.filter((point) => point.semantic === SemanticType.TremoloRight); + const stems = points.filter((point) => point.semantic === SemanticType.vline_Stem); + const s0 = points.filter((point) => point.semantic === SemanticType.NoteheadS0); + const s1 = points.filter((point) => point.semantic === SemanticType.NoteheadS1); + const s2 = points.filter((point) => point.semantic === SemanticType.NoteheadS2); + events.forEach((event) => { + const cx = event.tip ? event.tip.x : (event.left + event.right) / 2; + const top = event.tip ? Math.min(event.tip.y, event.ys[event.ys.length - 1]) : event.ys[event.ys.length - 1]; + const bottom = event.tip ? Math.max(event.tip.y, event.ys[0]) : event.ys[0]; + const stemL = event.tip ? event.tip.x : event.left; + const divisions = [0, 0, 0, 0, 0, 0, 0]; + if (event.rest) { + const i_rests = rests.filter((point) => distance2D(point, { x: cx, y: event.ys[0] }) < 0.5); + i_rests.forEach((r) => { + const d = REST_SEMANTICS.indexOf(r.semantic); + divisions[d] = Math.max(divisions[d], r.confidence); + }); + } + else { + const nhs = [s0, s1, s2] + .map((ss) => ss.filter((nh) => nh.x > event.left && nh.x < event.right && nh.y > top - 0.25 && nh.y < bottom + 0.25)) + .map((ss) => Math.max(0, ...ss.map((nh) => nh.confidence))); + const i_flags = flags.filter((flag) => flag.y > top - 0.2 && flag.y < bottom + 0.2 && Math.abs(flag.x - cx) < 0.2); + i_flags.sort((f1, f2) => f2.confidence - f1.confidence); + divisions[0] = nhs[0]; + divisions[1] = nhs[1]; + divisions[2] = nhs[2]; + Array(divisions.length - 3) + .fill(0) + .forEach((_, i) => (divisions[3 + i] = i_flags[i] ? i_flags[i].confidence : 0)); + } + const i_dots = dotPs.filter((dot) => dot.x > cx && dot.x < event.right + 2.6); + const dots2 = i_dots.filter((dot) => i_dots.some((d) => dot.x > d.x && Math.abs(dot.y - d.y) < 0.2)); + const dots = [Math.max(0, ...i_dots.map((dot) => dot.confidence)), Math.max(0, ...dots2.map((dot) => dot.confidence))]; + const beams = [beamLs, beamMs, beamRs] + .map((bs) => bs.filter((b) => Math.abs(b.x - cx) < 0.2 && b.y > top - 0.2 && b.y < bottom + 0.2)) + .map((bs) => Math.max(0, ...bs.map((b) => b.confidence))); + const u_stems = stems.filter((stem) => distance2D({ x: cx, y: event.ys[0] }, { x: stem.x, y: stem.extension.y2 }) < 0.5); + const d_stems = stems.filter((stem) => distance2D({ x: cx, y: event.ys[event.ys.length - 1] }, { x: stem.x, y: stem.extension.y1 }) < 0.5); + const stemDirections = [Math.max(0, ...u_stems.map((stem) => stem.confidence)), Math.max(0, ...d_stems.map((stem) => stem.confidence))]; + const graces = gracePs.filter((grace) => Math.abs(grace.x - cx) < 0.6 && event.ys.some((y) => Math.abs(grace.y - y) < 0.4)); + const grace = Math.max(0, ...graces.map((grace) => grace.confidence)); + const tremolos = event.division === 0 + ? tremoloRs.filter((tremolo) => tremolo.x > event.left - 2 && tremolo.x < event.right) + : tremoloRs.filter((tremolo) => tremolo.y > top - 0.04 && tremolo.y < bottom + 0.04 && tremolo.x > stemL - 2 && tremolo.x < stemL); + const tremoloCatcher = Math.max(0, ...tremolos.map((tremolo) => tremolo.confidence)); + event.feature = { + divisions, + dots, + beams, + stemDirections, + grace, + tremoloCatcher, + }; + }); + } +} +Measure.className = 'Measure'; +Measure.blackKeys = ['tokens', 'antiTokens']; +class Staff extends SimpleClass { + constructor({ measureCount = null, measureBars = null, ...data } = {}) { + super(); + super.assign(data); + this.height = this.height || 10; + this.staffY = this.staffY || 5; + if (measureBars) { + let left = 0; + this.measures = measureBars.map((endX) => { + const measure = new Measure({ left, width: endX - left, height: this.height }); + left = endX; + return measure; + }); + } + else if (measureCount) + this.measures = Array(measureCount) + .fill(null) + .map(() => new Measure()); + else + this.measures = []; + } + // relative to staffY + get noteRange() { + const noteheads = [].concat(...this.measures.map((measure) => measure.noteheads)); + const ys = noteheads.map((note) => note.y); + const top = Math.min(-2, ...ys); + const bottom = Math.max(2, ...ys); + return { top, bottom }; + } + get additionalLines() { + return [].concat(...this.measures.map((measure) => measure.additionalLines)); + } + rearrangeMeasures(measureBars) { + if (!measureBars.length) { + console.warn('rearrangeMeasures error, measureBars are empty.'); + return; + } + const tokens = this.measures?.map((measure) => measure.tokens).flat(1) || []; + let left = 0; + this.measures = measureBars.map((endX) => { + const measure = new Measure({ left, width: endX - left, height: this.height }); + left = endX; + return measure; + }); + this.reassignTokens(tokens); + } + reassignTokens(tokens = null) { + if (!tokens) + tokens = [].concat(...this.measures.map((measure) => measure.tokens)); + this.measures.forEach((measure) => (measure.tokens = [])); + tokens.forEach((token) => { + for (const measure of this.measures) { + if (token.x < measure.right) { + measure.tokens.push(token); + break; + } + } + }); + } + assignSemantics(graph) { + this.semantics = graph.getStaffPoints(); + } + // generate tokens from semantics + assemble(threshold, system, logger = new DummyLogger()) { + if (!this.semantics) + return; + let points = system.qualifiedSemantics(this.semantics, threshold); + points = solveOverlapping(points); + // tempo noteheads + const tempoNhs = points.filter((point) => point.semantic === SemanticType.TempoNotehead); + tempoNhs.forEach((tempoNh) => { + const index = points.findIndex((point) => /^Notehead/.test(point.semantic) && distance2D(tempoNh, point) < 0.3); + //console.log("temponh:", tempoNh, index, points[index]); + if (index >= 0) + points.splice(index, 1); + // TODO: construct tempo term + }); + const antiP = (id) => { + if (system.displacementSemantics?.[id]) + return this.semantics.find((p) => p.id === id); + return null; + }; + points.filter((point) => MEASURE_SEMANTICS.includes(point.semantic)).forEach((point) => this.appendPoint(point, { points })); + // noteheads with stem from noteheads & stems + const stems = points + .filter((point) => point.semantic === SemanticType.vline_Stem) + .filter((stem) => stem.extension.y2 - stem.extension.y1 > 1.5) // exclude too short stems + .map((p) => ({ + x: p.x, + y1: p.extension.y1, + y2: p.extension.y2, + direction: null, + })); + const noteheads = points.filter((point) => NOTEHEAD_FOR_STEM_SEMANTICS.includes(point.semantic) && point.y > this.semanticTop && point.y < this.semanticBottom); + const rootNhs = new Set(); + // for 2nd degree chord notes + const nhOffsetX = (nh, stem, down) => { + if ((down ? 1 : 0) ^ (nh.x < stem.x ? 1 : 0)) + return 0; + const offset = NOTEHEAD_WIDTHS[nh.semantic]; + return down ? -offset : offset; + }; + // find root noteheads on stem + stems.forEach((stem) => { + const attachedHeads = noteheads.filter((nh) => Math.abs(nh.x - stem.x) - NOTEHEAD_WIDTHS[nh.semantic] / 2 < 0.28 && + Math.abs(nh.x - stem.x) - NOTEHEAD_WIDTHS[nh.semantic] / 2 > -0.44 && // for grace noteheads, more close to their stem + nh.y > stem.y1 - 0.5 && + nh.y < stem.y2 + 0.5 && + !(nh.x > stem.x && nh.y > stem.y2) && + !(nh.x < stem.x && nh.y < stem.y1)); + //if (stem.x===102.0625 && stem.y2===1.875) + // debugger; + if (attachedHeads.length) { + attachedHeads.sort((n1, n2) => n1.y - n2.y); + const topDist = Math.min(...attachedHeads.map((nh) => nh.y - stem.y1)); + const bottomDist = Math.min(...attachedHeads.map((nh) => stem.y2 - nh.y)); + if (Math.min(topDist, bottomDist) > 0.5) + return; // no root notehead on this stem + const down = topDist < bottomDist; + stem.direction = down ? 'd' : 'u'; + if (!down) + attachedHeads.reverse(); + const root = attachedHeads[0]; + const semantic = down ? NOTEHEAD_TABLE[root.semantic].down : NOTEHEAD_TABLE[root.semantic].up; + this.appendPoint({ + id: root.id, + semantic, + x: stem.x + nhOffsetX(root, stem, down), + y: root.y, + pivotX: root.x, + confidence: root.confidence, + }, { + tip: { x: stem.x, y: down ? stem.y2 : stem.y1 }, + antiPoint: antiP(root.id), + points, + }); + rootNhs.add(root.id); + } + }); + // non-root noteheads + noteheads + .filter((nh) => !rootNhs.has(nh.id)) + .forEach((nh) => { + const nearStems = stems + .filter((stem) => Math.abs(stem.x - nh.x) < 2 && nh.y > stem.y1 && nh.y < stem.y2) + .sort((s1, s2) => Math.abs(s1.x - nh.x) - Math.abs(s2.x - nh.x)); + const stem = nearStems[0]; + if (stem) { + const down = stem.direction === 'd'; + const semantic = down ? NOTEHEAD_TABLE[nh.semantic].down : NOTEHEAD_TABLE[nh.semantic].up; + this.appendPoint({ + id: nh.id, + semantic, + x: stem.x + nhOffsetX(nh, stem, down), + y: nh.y, + pivotX: nh.x, + confidence: nh.confidence, + }, { + tip: { x: stem.x, y: down ? stem.y2 : stem.y1 }, + antiPoint: antiP(nh.id), + points, + }); + } + else + logger.debug('isolated notehead:', system.index, this.index, nh); + }); + // group flags + const flags = points.filter((point) => point.semantic === SemanticType.Flag3); + flags.sort((f1, f2) => f1.x - f2.x); + this.appendFlags(flags, stems); + // group dots + const dots = points + .filter((point) => point.semantic === SemanticType.Dot) + .map((dot) => { + const y = roundNumber(dot.y, 0.5); + return { x: dot.x, y }; + }); + const dotLines = dots.reduce((table, dot) => { + table[dot.y] = table[dot.y] || []; + table[dot.y].push(dot); + return table; + }, {}); + Object.entries(dotLines).forEach(([sy, line]) => { + const y = Number(sy); + if (line.length > 1) { + line.sort((d1, d2) => d1.x - d2.x); + for (let i = 0; i < line.length - 1; i++) { + const dot = line[i]; + if (line.find((d) => d.x > dot.x && d.x - dot.x < 1.2)) { + this.appendPoint({ + id: dot.id, + x: dot.x, + y, + confidence: dot.confidence, + }, { type: TokenType.DotDot, antiPoint: antiP(dot.id), points }); + } + } + } + }); + // pair key accidentals + const keyaccs = points.filter((point) => point.semantic === SemanticType.KeyAcc); + const accs = points.filter((point) => KEYACC_CANDIDATE_SEMANTICS[point.semantic]); + accs.forEach((acc) => { + if (keyaccs.some((key) => Math.abs(acc.x - key.x) < 0.5 && Math.abs(acc.y - key.y) < 1)) { + this.appendPoint({ + id: acc.id, + x: acc.x, + y: acc.y, + confidence: acc.confidence, + }, { type: KEYACC_CANDIDATE_SEMANTICS[acc.semantic], points }); + } + }); + // octave shift heads + const octs = points.filter((point) => point.semantic === SemanticType.OctaveShift8); + octs.forEach((oct) => { + const type = oct.y < 0 ? TokenType.OctaveShift8va : TokenType.OctaveShift8vb; + this.appendPoint({ + id: oct.id, + x: oct.x, + y: oct.y, + confidence: oct.confidence, + }, { type, points }); + }); + // group volta dots + const voltaDots = this.semantics.filter((point) => [SemanticType.VoltaLeft, SemanticType.VoltaRight].includes(point.semantic)); + voltaDots.sort((d1, d2) => d1.x - d2.x); + const voltaGroups = voltaDots.reduce((groups, dot) => { + const group = groups[dot.semantic]; + const xs = Array.from(Object.keys(group)).map(Number); + const x = xs.find((x) => dot.x < x + 0.2) || dot.x; + group[x] = groups[dot.semantic][x] || []; + group[x].push(dot); + return groups; + }, { [SemanticType.VoltaLeft]: {}, [SemanticType.VoltaRight]: {} }); + for (const [type, group] of Object.entries(voltaGroups)) { + Object.values(group).forEach((dots) => { + if (dots.length > 1) { + const confidence = dots.reduce((sum, dot) => sum + dot.confidence, 0); + if (dots[0].y * dots[1].y < 0 && confidence >= threshold * 2) + this.appendPoint(dots[0], { type: TokenType[type] }); + } + }); + } + } + appendPoint(point, { type, points = null, antiPoint, ...fields } = {}) { + //console.log("appendPoint.0:", point, point.x, point.y); + const x = point.x; + const measure = this.measures.find((measure) => x < measure.left + measure.width); + if (!measure) + // drop tokens out of measures range + return; + // lined or interval + let lined = false; + let interval = false; + if (STAFF_LINED_SEMANTICS.includes(point.semantic)) { + console.assert(points, 'argument of points for this semantic is required:', point.semantic); + const signs = points.filter((p) => LINED_INTERVAL_SEMANTICS.includes(p.semantic) && Math.abs(p.y - point.y) < 0.2 && Math.abs(p.x - point.x) < 1.2); + if (signs.some((s) => s.semantic === SemanticType.SignLined)) + lined = true; + else if (signs.some((s) => s.semantic === SemanticType.SignInterval)) + interval = true; + } + type = type || TokenType[point.semantic]; + const fixedY = TOKEN_Y_FIXED[type]; + let roundY = TOKEN_Y_ROUND[type]; + if (lined || interval) + roundY = Math.max(roundY, 1); + let y = point.y; + if (Number.isFinite(fixedY)) + y = fixedY; + else if (roundY) { + if (interval) + y = roundNumber(y + 0.5, roundY) - 0.5; + else + y = roundNumber(y, roundY); + } + //if (lined || interval) + // console.log("round sign:", point.semantic, y, lined, interval); + const holder = measure.tokens.find((token) => token.type === type && Math.abs(token.x - x) < 0.1 && Math.abs(token.y - y) < 0.1); + if (holder) { + if (Number.isFinite(holder.confidence) && holder.confidence < point.confidence) { + holder.x = x; + holder.y = y; + holder.confidence = point.confidence; + } + return; + } + // exlude clef out of pitch range + if (TokenClefs.includes(type)) { + if (Math.abs(y) > 3) + return; + } + // TODO: exclude overlapped pair by a token prior table + measure.tokens.push(new Token({ + id: point.id, + type, + x, + y, + pivotX: point.pivotX, + confidence: point.confidence, + ...fields, + })); + if (antiPoint) { + measure.antiTokens.push(new Token({ + id: antiPoint.id, + type, + x, + y: antiPoint.y, + confidence: antiPoint.confidence, + })); + } + } + appendFlags(flags, stems) { + //console.log("flags:", flags); + const stemGroups = stems + .map((stem) => ({ + ...stem, + flags: flags.filter((flag) => Math.abs(flag.x - stem.x) < 0.3 && flag.y > stem.y1 - 0.5 && flag.y < stem.y2 + 0.5), + })) + .filter((group) => group.flags.length); + stemGroups.forEach((group) => { + const mainFlag = group.flags.reduce((main, flag) => (main && main.confidence > flag.confidence ? main : flag), null); + //const upDistance = mainFlag.y - group.y1; + //const downDistance = group.y2 - mainFlag.y; + //const downward = downDistance < upDistance; + const downward = group.direction === 'd'; + const tailY = downward ? Math.min(group.y2, group.y1 + STEM_LENGTH_MAX) : Math.max(group.y1, group.y2 - STEM_LENGTH_MAX); + const flagTips = group.flags.map((flag) => ({ + tip: (tailY - flag.y) * (downward ? 1 : -1), + confidence: flag.confidence, + })); + const count = flagTips.filter((f) => f.tip < 2 || f.confidence > mainFlag.confidence * 0.7).length; + const type = TokenFlags[count - 1]; + if (type) { + this.appendPoint({ + id: group.flags[0].id, + x: group.x, + y: tailY, + confidence: Math.min(...group.flags.map((flag) => flag.confidence)), + }, { type }); + //console.log("flag:", type); + } + }); + } + clearTokens() { + this.measures.forEach((measure) => (measure.tokens = [])); + this.semantics = []; + } + clearPredictedTokens() { + this.measures.forEach((measure) => (measure.tokens = measure.tokens.filter((token) => !token.isPredicted))); + } +} +Staff.className = 'Staff'; +Staff.blackKeys = ['index', 'semanticTop', 'semanticBttom']; +class System extends SimpleClass { + constructor({ stavesCount, ...fields }) { + super(); + super.assign(fields); + if (!this.measureBars) { + const HEAD_WIDTH = 5; + const segmentLength = (this.width - HEAD_WIDTH) / this.measureCount; + this.measureBars = Array(this.measureCount) + .fill(0) + .map((_, i) => HEAD_WIDTH + segmentLength * (i + 1)); + } + if (!fields.staves && stavesCount) + this.staves = Array(stavesCount) + .fill(null) + .map(() => new Staff({ measureBars: this.measureBars })); + this.arrangePosition(); + this.measureCount = this.measureCount || this.measureBars.length; + this.sidBlackList = this.sidBlackList || []; + this.sidWhiteList = this.sidWhiteList || []; + } + get noteRange() { + if (!this.staves.length) + return null; + const staffTop = this.staves[0]; + const staffBottom = this.staves[this.staves.length - 1]; + return { + top: staffTop.top + staffTop.staffY + staffTop.noteRange.top, + bottom: staffBottom.top + staffBottom.staffY + staffBottom.noteRange.bottom, + }; + } + get staffPositions() { + return this.staves.map((staff) => ({ + y: staff.top + staff.staffY, + radius: 2, + })); + } + get staffMask() { + if (this.staffMaskChanged) + return this.staffMaskChanged; + if (this.prev && this.staves.length === this.prev.staves.length) + return this.prev.staffMask; + return 2 ** this.staves.length - 1; + } + get staffTop() { + const positions = this.staffPositions; + return positions.length ? positions[0].y - positions[0].radius : 0; + } + get staffBottom() { + const positions = this.staffPositions; + return positions.length ? positions[positions.length - 1].y + positions[positions.length - 1].radius : 0; + } + arrangePosition() { + let y = 0; + for (const staff of this.staves) { + if (Number.isFinite(staff.top)) + break; + staff.top = y; + y += staff.height; + } + } + tidyMeasureBars() { + this.measureBars = this.measureBars.filter((x) => x > 1); + this.measureBars.sort((b1, b2) => b1 - b2); + const restWidth = this.width - this.measureBars[this.measureBars.length - 1]; + if (restWidth > 12) + this.measureBars.push(this.width); + else if (restWidth < 2) + this.measureBars[this.measureBars.length - 1] = this.width; + this.measureBars = this.measureBars.filter((x, i) => i < 1 || x - this.measureBars[i - 1] > 4); + } + rearrangeMeasures() { + this.measureCount = this.measureBars.length; + this.staves.forEach((staff) => staff.rearrangeMeasures(this.measureBars)); + } + get height() { + return this.staves.reduce((height, staff) => height + staff.height, 0); + } + get connectionLine() { + const staffHead = this.staves[0]; + const staffTail = this.staves[this.staves.length - 1]; + return (staffHead && { + top: staffHead.top + staffHead.staffY - 2, + bottom: staffTail.top + staffTail.staffY + 2, + }); + } + get middleY() { + if (!this.staves.length) + return 0; + const sum = this.staves.reduce((sum, staff) => sum + staff.top + staff.staffY, 0); + return sum / this.staves.length; + } + get timeSignatureOnHead() { + return this.staves.some((staff) => staff.measures[0]?.tokens.some((token) => TokenTimesigs.includes(token.type))); + } + // an array staff or null on every position of full staff layout + getStaffArray(stavesCount) { + let si = 0; + return Array(stavesCount) + .fill(null) + .map((_, i) => { + const on = this.staffMask & (1 << i); + const staff = on ? this.staves[si++] : null; + console.assert(!on || staff, 'system staves count is less than staff mask declared:', this.staves.length, this.staffMask.toString(2)); + return staff; + }); + } + // measureIndex: the local measure index + getMarksInMeasure(measureIndex) { + console.assert(measureIndex < this.measureBars.length, 'measure index out of range:', measureIndex, this.measureBars.length); + const left = measureIndex > 0 ? this.measureBars[measureIndex - 1] : 0; + const right = this.measureBars[measureIndex]; + const tempoTokens = (this.tokens ?? []).filter((token) => token.x >= left && token.x < right && token instanceof TextToken && token.textType === TextType.TempoNumeral); + return [...tempoTokens.map((token) => TempoTerm.fromNumeralText(token.text)).filter(Boolean)]; + } + getEvents(stavesCount) { + console.assert(Number.isInteger(this.headMeasureIndex), 'invalid headMeasureIndex:', this.headMeasureIndex); + // Empty system (no measureBars / no staves with measures): return empty result + if (!this.measureBars?.length && this.staves.every((s) => !s.measures?.length)) { + return { staffMask: this.staffMask, columns: [] }; + } + const staves = this.getStaffArray(stavesCount); + // [staff, measure] + const rows = staves.map((staff) => { + if (!staff) { + return Array(this.measureCount) + .fill(null) + .map(() => ({ + events: [], + contexts: [], + voltaBegin: false, + voltaEnd: false, + alternative: false, + barTypes: {}, + })); + } + return staff.measures.map((measure) => { + const events = measure.getEvents(); + measure.assignAccessoriesOnEvents(events); + measure.assignFeaturesOnEvents(events, staff.semantics); + return { + events: events.map((event) => new EventTerm({ + staff: staff.index, + system: this.index, + ...event, + rest: event.rest ? 'r' : null, + })), + contexts: measure.getContexts({ staff: staff.index }), + voltaBegin: measure.tokens.some((token) => token.type === TokenType.VoltaLeft), + voltaEnd: measure.tokens.some((token) => token.type === TokenType.VoltaRight), + alternative: measure.alternative, + barTypes: measure.barTypes, + }; + }); + }); + // supplement time signatures for empty staves + for (let mi = 0; mi < this.measureCount; ++mi) { + const tsRows = rows.map((row) => row[mi]?.contexts?.filter((term) => [ContextType.TimeSignatureC, ContextType.TimeSignatureN].includes(term.type))); + const timeSigs = tsRows.find((row) => row?.length); + if (timeSigs) { + rows.forEach((row) => { + if (row[mi] && !row[mi].contexts.length && !row[mi].events.length) + row[mi].contexts.push(...timeSigs); + }); + } + } + //const measureWidths = this.staves[0].measures.map(measure => measure.width); + //onst measureStartXs = [0, ...this.measureBars]; + const columns = Array(this.measureCount) + .fill(null) + .map((_, i) => ({ + measureIndex: this.headMeasureIndex + i, + //startX: measureStartXs[i], + //width: measureWidths[i], + rows: rows.map((row) => row[i]), + marks: this.getMarksInMeasure(i), + //xToTick: {}, + duration: 0, + voltaBegin: rows.some((row) => row[i]?.voltaBegin), + voltaEnd: rows.some((row) => row[i]?.voltaEnd), + alternative: rows.some((row) => row[i]?.alternative), + barTypes: rows.reduce((ts, row) => ({ + ...ts, + ...row[i]?.barTypes, + }), {}), + })); + //columns.forEach(computeMeasureTicks); + // assign id on column events + columns.forEach((column) => { + const events = [].concat(...column.rows.filter(Boolean).map((row) => row.events)); + events.forEach((event, i) => (event.id = i + 1)); + }); + const lastColumn = columns[columns.length - 1]; + if (lastColumn) + lastColumn.break = true; + return { + staffMask: this.staffMask, + columns, + }; + } + getEventsFunctional(stavesCount, ev, processors = [], { useXMap = false } = {}) { + const staves = this.getStaffArray(stavesCount); + // [staff, measure] + const rows = staves.map((staff, si) => { + if (!staff) { + return Array(this.measureCount) + .fill(null) + .map(() => ({ + events: [], + contexts: [], + voltaBegin: false, + voltaEnd: false, + alternative: false, + barTypes: {}, + })); + } + return staff.measures.map((measure, mi) => { + const events = ev(si, mi); + return (events && { + events: events.map((event) => new EventTerm({ + system: this.index, + ...event, + rest: event.rest ? 'r' : null, + })), + contexts: measure.getContexts({ staff: si }), + voltaBegin: measure.tokens.some((token) => token.type === TokenType.VoltaLeft), + voltaEnd: measure.tokens.some((token) => token.type === TokenType.VoltaRight), + alternative: measure.alternative, + barTypes: measure.barTypes, + }); + }); + }); + //const measureWidths = this.staves[0].measures.map(measure => measure.width); + //const measureStartXs = [0, ...this.measureBars]; + // [measure, staff] + const columns = Array(this.measureCount) + .fill(null) + .map((_, mi) => { + const localRows = rows.map((row) => row[mi]); + if (localRows.some((row) => !row)) + return null; + let xMap = null; + if (useXMap) { + const events = [].concat(...localRows.map((row) => row.events)); + const groupMap = events.reduce((map, event) => { + if (Number.isFinite(event.tickGroup)) + map[event.tickGroup] = map[event.tickGroup] || []; + map[event.tickGroup].push(event); + return map; + }, {}); + xMap = Object.values(groupMap).reduce((map, events) => { + const x = Math.min(...events.map((event) => (event.left + event.right) / 2)); + map.set(x, events); + return map; + }, new Map()); + } + return { + measureIndex: this.headMeasureIndex + mi, + //startX: measureStartXs[mi], + //width: measureWidths[mi], + rows: localRows, + marks: this.getMarksInMeasure(mi), + //xToTick: {}, + duration: 0, + xMap, + voltaBegin: localRows.some((row) => row.voltaBegin), + voltaEnd: localRows.some((row) => row.voltaEnd), + alternative: localRows.some((row) => row.alternative), + barTypes: localRows.reduce((ts, row) => ({ + ...ts, + ...row.barTypes, + }), {}), + }; + }); + processors.forEach((proc) => columns.forEach(proc)); + return { + staffMask: this.staffMask, + columns, + }; + } + // get EventSystem contains only contexted terms + getContexts(stavesCount) { + const staves = this.getStaffArray(stavesCount); + // [staff, measure] + const rows = staves.map((staff) => { + if (!staff) { + return Array(this.measureCount) + .fill(null) + .map(() => ({ + events: null, + contexts: [], + voltaBegin: false, + voltaEnd: false, + alternative: false, + barTypes: {}, + })); + } + return staff.measures.map((measure) => ({ + events: null, + contexts: measure.getContexts(), + voltaBegin: measure.tokens.some((token) => token.type === TokenType.VoltaLeft), + voltaEnd: measure.tokens.some((token) => token.type === TokenType.VoltaRight), + alternative: rows.some((row) => row.alternative), + barTypes: measure.barTypes, + })); + }); + // supplement time signatures for empty staves + for (let mi = 0; mi < this.measureCount; ++mi) { + const tsRows = rows.map((row) => row[mi]?.contexts.filter((term) => [ContextType.TimeSignatureC, ContextType.TimeSignatureN].includes(term.type))); + const timeSigs = tsRows.find((row) => row?.length); + if (timeSigs) { + rows.forEach((row) => { + if (!row[mi].contexts.length) + row[mi].contexts.push(...timeSigs); + }); + } + } + //const measureWidths = this.staves[0].measures.map(measure => measure.width); + //const measureStartXs = [0, ...this.measureBars]; + const columns = Array(this.measureCount) + .fill(null) + .map((_, i) => ({ + measureIndex: this.headMeasureIndex + i, + //startX: measureStartXs[i], + //width: measureWidths[i], + rows: rows.map((row) => row[i]), + marks: [], + //xToTick: {}, + duration: 0, + voltaBegin: rows.some((row) => row[i].voltaBegin), + voltaEnd: rows.some((row) => row[i].voltaEnd), + alternative: rows.some((row) => row.alternative), + barTypes: rows.reduce((ts, row) => ({ + ...ts, + ...row[i].barTypes, + }), {}), + })); + return { + staffMask: this.staffMask, + columns, + }; + } + assignSemantics(staffIndex, graph) { + const staff = this.staves[staffIndex]; + console.assert(staff, 'staff is null:', staffIndex, this.staves); + const oy = staff.top + staff.staffY; + graph.getSystemPoints().forEach((point) => { + const p = { ...point }; + p.y += oy; + if (p.extension) { + p.extension = { ...p.extension }; + if (Number.isFinite(p.extension.y1)) { + p.extension.y1 += oy; + p.extension.y2 += oy; + } + } + this.semantics.push(p); + }); + } + // generate tokens from semantics + assemble(threshold, logger = new DummyLogger()) { + //console.log("System.assignSemantics:", graph); + this.measureBars = []; + if (!this.semantics) + return; + const graph = SemanticGraph.fromPoints(this.semantics); + const bars = graph.getConfidentLayer(SemanticType.vline_BarMeasure, threshold); + bars.sort((b1, b2) => b1.x - b2.x); + const staffTop = this.staffTop; + const staffBottom = this.staffBottom; + const MERGE_WINDOW = 0.4; + let lastX = 0; + const barColumns = bars.reduce((columns, bar) => { + const confidence = Number.isFinite(bar.confidence) ? Math.tanh(bar.confidence) : 1; + const x = bar.x - lastX > MERGE_WINDOW ? bar.x : lastX; + lastX = bar.x; + let intensity = columns[x] || 0; + intensity += (Math.min(bar.extension.y2, staffBottom) - Math.max(bar.extension.y1, staffTop)) * confidence; + if (bar.x !== x) + delete columns[x]; + columns[bar.x] = intensity; + return columns; + }, {}); + const barXs = Object.entries(barColumns) + .filter(([x, intensity]) => (intensity > 3 * this.staves.length)) + .map(([x]) => Number(x)); + barXs.sort((x1, x2) => x1 - x2); + barXs.forEach((x, i) => { + if (i <= 0 || x - barXs[i - 1] > 2) + this.measureBars.push(x); + }); + if (!this.measureBars.length) + this.measureBars.push(this.width); + this.tidyMeasureBars(); + this.rearrangeMeasures(); + // measure bar type + const typeBars = this.semantics.filter((point) => [SemanticType.vline_BarTerminal, SemanticType.vline_BarSegment].includes(point.semantic)); + typeBars.forEach((bar) => { + const measure = this.staves[0].measures.find((measure) => bar.x > measure.right - 2 && bar.x < measure.right + 1); + if (measure) { + const type = bar.semantic.replace(/^vline_Bar/, ''); + measure.barTypes[type] = measure.barTypes[type] || 0; + measure.barTypes[type] += bar.confidence; + } + }); + let staffIndex = 0; + const staffMask = this.staffMask; + this.staves.forEach((staff, si) => { + // staff index + while (!(staffMask & (1 << staffIndex))) + ++staffIndex; + staff.index = staffIndex++; + // assign semantic boundaries + if (si === 0) + staff.semanticTop = -staff.staffY; + else { + const prevStaff = this.staves[si - 1]; + staff.semanticTop = prevStaff.top + prevStaff.staffY + 3 - (staff.top + staff.staffY); + } + if (si < this.staves.length - 1) { + const nextStaff = this.staves[si + 1]; + staff.semanticBottom = nextStaff.top + nextStaff.staffY - 3 - (staff.top + staff.staffY); + } + else + staff.semanticBottom = this.height - (staff.top + staff.staffY); + if (staff.semantics && staff.semantics.length) { + staff.semantics.forEach((point) => hashSemanticPoint(this.index, si, point)); + staff.clearPredictedTokens(); + staff.assemble(threshold, this, logger); + } + }); + } + qualifiedSemantics(semantics, threshold = 1) { + return semantics + .filter((p) => this.sidWhiteList.includes(p.id) || (!this.sidBlackList.includes(p.id) && (p.confidence >= threshold || !Number.isFinite(p.confidence)))) + .map((point) => { + // displace semantic point + if (this.displacementSemantics && this.displacementSemantics[point.id]) + return { ...point, ...this.displacementSemantics[point.id] }; + return point; + }); + } + clearTokens() { + this.staves.forEach((staff) => staff.clearTokens()); + this.semantics = []; + } + newPoint(staffIndex, data, threshold = 1) { + const staff = this.staves[staffIndex]; + console.assert(staff, 'staff index out of bound:', staffIndex, this.staves.length); + const { semantic, x, y, confidence = 0, extension = null } = data; + const point = { semantic, x, y, confidence, extension }; + if (!point.extension) + delete point.extension; + hashSemanticPoint(this.index, staffIndex, point); + staff.semantics.push(point); + staff.clearPredictedTokens(); + staff.assemble(threshold, this); + return point; + } + appendToken(token) { + this.tokens.push(token); + switch (token.textType) { + case TextType.TempoNumeral: + { + // remove noteheads in text area + const staff = this.staves[0]; + if (staff) { + const oy = staff.top + staff.staffY; + staff.measures.forEach((measure) => { + measure.tokens = measure.tokens.filter((t) => !TokenNoteheads.includes(t.type) || + Math.abs(t.x - token.x) > token.width / 2 || + Math.abs(oy + t.y - token.y) > token.fontSize / 2); + }); + } + } + break; + case TextType.Alternation1: + case TextType.Alternation2: + //console.log("appendToken:", token, this.staves[0].measures); + this.staves[0].measures.forEach((measure) => { + const overlap = Math.min(measure.left + measure.width, token.x + token.width / 2) - Math.max(measure.left, token.x - token.width / 2); + measure.alternative = measure.alternative || overlap / measure.width > 0.5; + }); + break; + } + } +} +System.className = 'System'; +System.blackKeys = ['index', 'pageIndex', 'prev', 'next', 'headMeasureIndex', 'tokens', 'indent']; +class Page extends SimpleClass { + constructor(data) { + super(); + super.assign(data); + this.systems = this.systems || []; + if (this.source) { + this.source.matrix = this.source.matrix || [1, 0, 0, 1, 0, 0]; + } + } + get sidBlackList() { + const ids = [].concat(...this.systems.map((system) => system.sidBlackList)); + return new Set(ids); + } + get sidWhiteList() { + const ids = [].concat(...this.systems.map((system) => system.sidWhiteList)); + return new Set(ids); + } + clearTokens() { + this.semantics = null; + this.tokens = null; + this.systems.forEach((system) => (system.tokens = null)); + } + assignTexts(areas, [imageHeight, imageWidth]) { + const interval = this.source && this.source.interval ? this.source.interval * (imageHeight / this.source.dimensions.height) : imageHeight / this.height; + this.semantics = areas.map((area) => { + const p = { + x: (area.cx - imageWidth / 2) / interval, + y: (area.cy - imageHeight / 2) / interval, + }; + const rp = this.source && this.source.matrix ? trans23(p, this.source.matrix) : p; + return { + confidence: area.score, + x: rp.x + this.width / 2, + y: rp.y + this.height / 2, + semantic: SemanticType.rect_Text, + extension: { + text: area.text, + type: area.type, + width: area.width / interval, + height: area.height / interval, + theta: area.theta, + textFeature: area.feature_dict, + }, + }; + }); + } + assemble({ textAnnotations = null } = {}, logger = new DummyLogger()) { + this.tokens = []; + this.systems.forEach((system) => (system.tokens = [])); + // compute system indent + if (this.systems.length) { + const sysXs = this.systems.map((system) => system.left); + const middleX = sysXs[Math.floor((sysXs.length - 1) / 2)]; + this.systems.forEach((system) => (system.indent = system.left > middleX + INDENT_THRESHOLD)); + } + if (this.semantics) { + const pageName = this.source ? this.source.name : this.index.toString(); + this.semantics.forEach((point) => { + hashPageSemanticPoint(pageName, point); + const fields = { + id: point.id, + type: TokenType.Text, + confidence: point.confidence, + textType: TEXT_TYPE_ALIAS[point.extension.type] || point.extension.type, + text: (textAnnotations && textAnnotations[point.id]) || point.extension.text, + textFeasure: point.extension.textFeature, + width: point.extension.width, + fontSize: point.extension.height, + }; + switch (point.semantic) { + case SemanticType.rect_Text: + switch (fields.textType) { + // page tokens + case TextType.Title: + case TextType.Author: + case TextType.PageMargin: + case TextType.Other: + this.tokens.push(new TextToken({ + x: point.x, + y: point.y, + ...fields, + })); + break; + // tokens on the top of system + case TextType.TempoNumeral: + case TextType.Chord: + case TextType.MeasureNumber: + case TextType.Instrument: + case TextType.Alternation1: + case TextType.Alternation2: + { + const system = this.systems.find((system) => system.top + system.staffTop > point.y); + if (system) { + system.appendToken(new TextToken({ + x: point.x - system.left, + y: point.y - system.top, + ...fields, + })); + } + } + break; + // tokens in staff + case TextType.TextualMark: + case TextType.Times: + { + const system = [...this.systems].reverse().find((system) => system.top < point.y); + if (system) { + const sy = point.y - (system.top + system.staffTop); + const sx = point.x - system.left; + const staff = system.staves.find((staff) => sy >= staff.top && sy < staff.top + staff.height); + if (staff) { + const measure = staff.measures.find((measure) => sx >= measure.left && sx < measure.left + measure.width); + if (measure) { + measure.tokens.push(new TextToken({ + x: sx, + y: sy, + ...fields, + })); + } + } + } + } + break; + } + break; + } + }); + } + } +} +Page.className = 'Page'; +Page.blackKeys = ['index', 'tokens']; + +var SemanticElementType; +(function (SemanticElementType) { + SemanticElementType[SemanticElementType["BOS"] = 0] = "BOS"; + SemanticElementType[SemanticElementType["PAD"] = 1] = "PAD"; + SemanticElementType[SemanticElementType["NoteheadS0"] = 2] = "NoteheadS0"; + SemanticElementType[SemanticElementType["NoteheadS1"] = 3] = "NoteheadS1"; + SemanticElementType[SemanticElementType["NoteheadS2"] = 4] = "NoteheadS2"; + SemanticElementType[SemanticElementType["NoteheadGrace"] = 5] = "NoteheadGrace"; + SemanticElementType[SemanticElementType["vline_Stem"] = 6] = "vline_Stem"; + SemanticElementType[SemanticElementType["Flag3"] = 7] = "Flag3"; + SemanticElementType[SemanticElementType["BeamLeft"] = 8] = "BeamLeft"; + SemanticElementType[SemanticElementType["BeamContinue"] = 9] = "BeamContinue"; + SemanticElementType[SemanticElementType["BeamRight"] = 10] = "BeamRight"; + SemanticElementType[SemanticElementType["Dot"] = 11] = "Dot"; + SemanticElementType[SemanticElementType["Rest0"] = 12] = "Rest0"; + SemanticElementType[SemanticElementType["Rest1"] = 13] = "Rest1"; + SemanticElementType[SemanticElementType["Rest2"] = 14] = "Rest2"; + SemanticElementType[SemanticElementType["Rest3"] = 15] = "Rest3"; + SemanticElementType[SemanticElementType["Rest4"] = 16] = "Rest4"; + SemanticElementType[SemanticElementType["Rest5"] = 17] = "Rest5"; + SemanticElementType[SemanticElementType["Rest6"] = 18] = "Rest6"; + // measure time signature denominators & numerators + SemanticElementType[SemanticElementType["TimeD2"] = 19] = "TimeD2"; + SemanticElementType[SemanticElementType["TimeD4"] = 20] = "TimeD4"; + SemanticElementType[SemanticElementType["TimeD8"] = 21] = "TimeD8"; + SemanticElementType[SemanticElementType["TimeN1"] = 22] = "TimeN1"; + SemanticElementType[SemanticElementType["TimeN2"] = 23] = "TimeN2"; + SemanticElementType[SemanticElementType["TimeN3"] = 24] = "TimeN3"; + SemanticElementType[SemanticElementType["TimeN4"] = 25] = "TimeN4"; + SemanticElementType[SemanticElementType["TimeN5"] = 26] = "TimeN5"; + SemanticElementType[SemanticElementType["TimeN6"] = 27] = "TimeN6"; + SemanticElementType[SemanticElementType["TimeN7"] = 28] = "TimeN7"; + SemanticElementType[SemanticElementType["TimeN8"] = 29] = "TimeN8"; + SemanticElementType[SemanticElementType["TimeN9"] = 30] = "TimeN9"; + SemanticElementType[SemanticElementType["TimeN10"] = 31] = "TimeN10"; + SemanticElementType[SemanticElementType["TimeN11"] = 32] = "TimeN11"; + SemanticElementType[SemanticElementType["TimeN12"] = 33] = "TimeN12"; +})(SemanticElementType || (SemanticElementType = {})); +const TIME_SIG_DENOMINATORS = Object.fromEntries([2, 4, 8].map((n) => [n, SemanticElementType[`TimeD${n}`]])); +const TIME_SIG_NUMERATORS = Object.fromEntries(Array(12) + .fill(null) + .map((_, i) => i + 1) + .map((n) => [n, SemanticElementType[`TimeN${n}`]])); +const et = SemanticElementType; +const ELEMENT_TOKEN_NAMES = { + [et.BOS]: 'BOS', + [et.NoteheadS0]: 'noteheads-s0', + [et.NoteheadS1]: 'noteheads-s1', + [et.NoteheadS2]: 'noteheads-s2', + [et.NoteheadGrace]: 'GraceNotehead', + [et.Flag3]: 'flags-u3', + [et.BeamLeft]: 'BeamLeft', + [et.BeamContinue]: 'BeamContinue', + [et.BeamRight]: 'BeamRight', + [et.Dot]: 'dot', + [et.Rest0]: 'rests-0o', + [et.Rest1]: 'rests-1o', + [et.Rest2]: 'rests-2', + [et.Rest3]: 'rests-3', + [et.Rest4]: 'rests-4', + [et.Rest5]: 'rests-5', + [et.Rest6]: 'rests-6', +}; +const NOTEHEAD_BASE_DIVISION = { + [et.NoteheadS0]: 0, + [et.NoteheadS1]: 1, + [et.NoteheadS2]: 2, + [et.NoteheadGrace]: 2, +}; +const NOTEHEAD_ELEMENT_TYPES = [et.NoteheadS0, et.NoteheadS1, et.NoteheadS2, et.NoteheadGrace]; +const REST_ELEMENT_TYPES = [et.Rest0, et.Rest1, et.Rest2, et.Rest3, et.Rest4, et.Rest5, et.Rest6]; +const BEAM_ELEMENT_TYPES = [et.BeamLeft, et.BeamContinue, et.BeamRight]; +const NOTE_ELEMENT_TYPES = [...NOTEHEAD_ELEMENT_TYPES, ...REST_ELEMENT_TYPES]; +const SOURCE_ELEMENT_TYPES = [...NOTEHEAD_ELEMENT_TYPES, ...REST_ELEMENT_TYPES, et.vline_Stem]; +const TARGET_ELEMENT_TYPES = [et.BOS, et.NoteheadS0, et.vline_Stem, ...REST_ELEMENT_TYPES]; +const ROOT_NOTE_ELEMENT_TYPES = [...NOTE_ELEMENT_TYPES, et.vline_Stem]; +const ELEMENT_TO_STEMBEAM = { + [et.BeamLeft]: 'Open', + [et.BeamRight]: 'Close', +}; +const metaElem = (type) => ({ + type, + staff: -1, + x: 0, + y1: 0, + y2: 0, +}); +const BOS_ELEMENT = metaElem(SemanticElementType.BOS); +const fractionToElems = (fraction) => [ + metaElem(TIME_SIG_NUMERATORS[fraction.numerator]), + metaElem(TIME_SIG_DENOMINATORS[fraction.denominator]), +]; +const argmax = (data, mask) => { + const values = data.filter((_, i) => mask[i]); + const max = Math.max(...values); + return data.findIndex((x) => x === max); +}; +class SemanticCluster extends SimpleClass { + static elementToJSON(elem) { + const result = { + type: elem.type, + staff: elem.staff, + x: elem.x, + y1: elem.y1, + y2: elem.y2, + }; + if (elem.id) + result.id = elem.id; + return result; + } + constructor(data) { + super(); + super.assign(data); + } + get sourceMask() { + return this.elements.map((elem) => SOURCE_ELEMENT_TYPES.includes(elem.type)); + } + get targetMask() { + return this.elements.map((elem) => TARGET_ELEMENT_TYPES.includes(elem.type)); + } + get vMask() { + return this.elements.map((elem) => ROOT_NOTE_ELEMENT_TYPES.includes(elem.type)); + } + get compactMatrixH() { + if (!this.matrixH) + return null; + const sourceMask = this.sourceMask; + const targetMask = this.targetMask; + return this.matrixH.filter((_, i) => sourceMask[i]).map((row) => row.filter((_, j) => targetMask[j])); + } + set compactMatrixH(value) { + this.matrixH = expandMatrixByMasks([].concat(...value), [this.sourceMask, this.targetMask]); + } + get compactMatrixV() { + if (!this._matrixV) + return null; + const vMask = this.vMask; + const matrix = this._matrixV.filter((_, i) => vMask[i]).map((row) => row.filter((_, j) => vMask[j])); + return [].concat(...matrix.map((row, i) => row.slice(0, i))); + } + set compactMatrixV(value) { + this.matrixV = value && expandMatrixByMaskTriu(value, this.vMask); + } + get matrixV() { + return this.groupsV && matrixFromGroups(this.elements.length, this.groupsV); + } + set matrixV(value) { + if (!value) { + this.groupsV = null; + this._matrixV = value; + return; + } + const THRESHOLD = 0.5; + const groups = []; + const vMask = value.map((row, i) => row.some(Number.isFinite) || value.some((row) => Number.isFinite(row[i]))); + value.forEach((row, i) => { + if (vMask[i]) { + let found = false; + for (let j = 0; j < i; ++j) { + const cell = row[j]; + if (cell >= THRESHOLD) { + const g = groups.findIndex((group) => group.includes(j)); + groups[g].push(i); + found = true; + break; + } + } + if (!found) + groups.push([i]); + } + }); + this.groupsV = groups; + this._matrixV = value; + } + toJSON() { + return { + __prototype: 'SemanticCluster', + index: this.index, + elements: this.elements.map(SemanticCluster.elementToJSON), + compactMatrixH: this.compactMatrixH, + compactMatrixV: this.compactMatrixV, + //groupsV: this.groupsV, + }; + } + static mapMatrix(matrix, x2i, i2x) { + const rows = x2i.reduce((rows, i, x) => { + if (rows[i]) + rows[i] = rows[i].map((v, xi) => (v + matrix[x][xi] ? 1 : 0)); + else + rows[i] = matrix[x]; + return rows; + }, []); + return rows.map((row) => i2x.map((x) => row[x])); + } + mergeOverlapping() { + const overlaps = this.overlappedNoteheads(); + if (overlaps.length) { + const x2i = this.elements.map((_, index) => { + const pair = overlaps.find((ij) => index === ij[1]); + const i = pair ? pair[0] : index; + return i - overlaps.filter((ij) => ij[1] < i).length; + }); + const i2x = Array(this.elements.length - overlaps.length) + .fill(null) + .map((_, i) => x2i.findIndex((ii) => ii === i)); + this.elements = i2x.map((x) => this.elements[x]); + console.assert(this.elements.every(Boolean), 'null element found:', this, x2i, i2x); + this.matrixH = SemanticCluster.mapMatrix(this.matrixH, x2i, i2x); + this.groupsV = this.groupsV.map((group) => Array.from(new Set(group.map((x) => x2i[x])))); + } + } + overlappedNoteheads() { + const indices = []; + const noteheads = this.elements.filter((elem) => NOTEHEAD_ELEMENT_TYPES.includes(elem.type)); + for (let i = 0; i < noteheads.length; ++i) { + const nh1 = noteheads[i]; + for (let j = i + 1; j < noteheads.length; ++j) { + const nh2 = noteheads[j]; + if ((nh1.x - nh2.x) * (nh1.x - nh2.x) + (nh1.y1 - nh2.y1) * (nh1.y1 - nh2.y1) < 0.2 ** 2) + indices.push([nh1.index, nh2.index]); + } + } + return indices; + } + getEvents() { + console.assert(this.matrixH, '[SemanticCluster.getEvents] matrixH is null.'); + const NOTE_STEM_CONFIDENCE = 0.5; + const ids = Array(this.elements.length) + .fill(null) + .map((_, index) => index); + const targetMask = this.masks ? this.masks[1] : ids.map((id) => TARGET_ELEMENT_TYPES.includes(this.elements[id].type)); + //const stems = ids.filter(i => this.elements[i].type === et.vline_Stem); + const stemMasks = ids.map((id) => this.elements[id].type === et.vline_Stem && this.elements[id].y2 - this.elements[id].y1 > 2); // TODO: sift out too short stems by rectification model + const stemNotes = ids.filter((i) => [et.NoteheadS1, et.NoteheadS2, et.NoteheadGrace].includes(this.elements[i].type)); + const s0s = ids.filter((i) => this.elements[i].type === et.NoteheadS0); + const subS0Masks = ids.map(() => false); + // root elements: top NoteheadS0, Rests, stem with noteheads + const stemMap = {}; + stemNotes.forEach((id) => { + const note = this.elements[id]; + const stems = ids + .filter((i) => stemMasks[i]) + .filter((stemId) => this.elements[stemId].y1 - 0.5 < note.y1 && this.elements[stemId].y2 + 0.5 > note.y1) // filter by stem Y range + .sort((i1, i2) => this.matrixH[id][i2] - this.matrixH[id][i1]) // sort by confidence + .slice(0, 2) + .filter((i, ii) => ii === 0 || this.matrixH[id][i] >= NOTE_STEM_CONFIDENCE); + stems.forEach((stem) => { + stemMap[stem] = stemMap[stem] || []; + stemMap[stem].push(id); + }); + }); + s0s.forEach((id) => { + const s0 = this.elements[id]; + const prevId = argmax(this.matrixH[id], targetMask); + const prev = this.elements[prevId]; + if (prev.type === et.NoteheadS0 && Math.abs(s0.x - prev.x) < 2.6) { + subS0Masks[id] = true; + stemMap[prevId] = stemMap[prevId] || [prevId]; + stemMap[prevId].push(id); + } + else + stemMap[id] = stemMap[id] || [id]; + }); + // setup linkings + const linkings = {}; + const roots = ids.filter((id) => stemMap[id] || REST_ELEMENT_TYPES.includes(this.elements[id].type)); + roots.sort((i1, i2) => this.elements[i1].x - this.elements[i2].x); // traverse roots from left to right later + const parentMasks = ids.map((id) => id === et.BOS); + roots.forEach((id) => { + const parentId = argmax(this.matrixH[id], parentMasks); + linkings[id] = parentId; + if (parentId && !REST_ELEMENT_TYPES.includes(this.elements[parentId].type)) + parentMasks[parentId] = false; + parentMasks[id] = true; + }); + //console.log("topology:", stemMap, linkings); + const dots = this.elements.filter((elem) => elem.type === et.Dot); + const flags = this.elements.filter((elem) => elem.type === et.Flag3); + const beams = this.elements.filter((elem) => BEAM_ELEMENT_TYPES.includes(elem.type)); + const groupsV = this.groupsV; + return roots + .map((rootId) => { + const root = this.elements[rootId]; + const tickGroup = groupsV ? groupsV.findIndex((group) => group.includes(rootId)) : null; + if (REST_ELEMENT_TYPES.includes(root.type)) { + const nearbyDots = dots.filter((dot) => dot.x > root.x + 0.5 && dot.x < root.x + 0.75 + 1.2 && dot.y1 > root.y1 - 1 && dot.y1 < root.y1); + return { + left: root.x - 0.75, + right: root.x + 0.75, + pivotX: root.x, + rest: true, + ys: [root.y1], + noteIds: [root.id], + dots: nearbyDots.length, + division: root.type - et.Rest0, + stemDirection: null, + id: rootId, + prevId: linkings[rootId], + staff: root.staff, + tickGroup, + }; + } + else if (stemMap[rootId]) { + const subNotes = stemMap[rootId].map((id) => this.elements[id]); + const left = Math.min(...subNotes.map((n) => n.x - 0.7)); + const right = Math.max(...subNotes.map((n) => n.x + 0.7)); + subNotes.sort((n1, n2) => n2.y1 - n1.y1); + const ys = subNotes.map((note) => note.y1); + const noteIds = subNotes.map((note) => note.id); + const top = ys[0]; + const bottom = ys[ys.length - 1]; + const nearbyDots = dots.filter((dot) => dot.x > right && dot.x < right + 1.2 && dot.y1 > top - 1 && dot.y1 < bottom + 0.5); + const dotGroups = nearbyDots.reduce((groups, dot) => { + const y = roundNumber(dot.y1, 0.5); + groups[y] = groups[y] || []; + groups[y].push(dot); + return groups; + }, {}); + const dotValue = Math.max(...Object.values(dotGroups).map((group) => group.length), 0); + let division = NOTEHEAD_BASE_DIVISION[subNotes[0].type]; + let stemDirection = null; + let beam = null; + let tip = null; + if (root.type === et.vline_Stem) { + const topTip = top - root.y1; + const bottomTip = root.y2 - bottom; + stemDirection = topTip > bottomTip ? 'u' : 'd'; + tip = { x: root.x, y: stemDirection === 'u' ? root.y1 : root.y2 }; + if (division === 2) { + const flagRange = stemDirection === 'u' ? [root.y1 - 0.4, root.y2 - 1] : [root.y1 + 1, root.y2 + 0.4]; + const nearbyFlags = flags.filter((flag) => Math.abs(flag.x - root.x) < 0.2 && flag.y1 > flagRange[0] && flag.y1 < flagRange[1]); + division += nearbyFlags.length; + } + //const tipY = stemDirection === "u" ? root.y1 : root.y2; + const tipRange = stemDirection === 'u' ? [root.y1 - 0.2, root.y1 + 0.9] : [root.y2 - 0.9, root.y2 + 0.2]; + const beamElem = beams.find((beam) => Math.abs(beam.x - root.x) < 0.2 && beam.y1 > tipRange[0] && beam.y1 < tipRange[1]); + beam = beamElem ? ELEMENT_TO_STEMBEAM[beamElem.type] : null; + } + const grace = subNotes[0].type === SemanticElementType.NoteheadGrace ? GraceType.Grace : null; + return { + left, + right, + pivotX: root.x, + ys, + tip, + noteIds, + division, + dots: dotValue, + rest: false, + stemDirection, + beam, + id: rootId, + prevId: linkings[rootId], + staff: subNotes[0].staff, + grace, + tickGroup, + }; + } + }) + .filter(Boolean); + } +} +class SemanticClusterSet { + constructor(data) { + if (data) { + this.clusters = data.clusters; + // upgrade vocab + if (data.vocab) { + const converts = data.vocab + .map((name, i) => [i, SemanticElementType[name]]) + .filter(([x, y]) => x !== y) + .reduce((table, [x, y]) => ((table[x] = y), table), {}); + this.clusters.forEach((connection) => connection.elements.forEach((elem) => { + if (Number.isFinite(converts[elem.type])) + elem.type = converts[elem.type]; + })); + } + } + } + toJSON() { + const vocab = Object.entries(SemanticElementType) + .filter((entry) => Number.isFinite(entry[1])) + .map((entry) => entry[0]); + return { + __prototype: 'SemanticClusterSet', + vocab, + clusters: this.clusters.map((c) => c.toJSON()), + }; + } +} +const expandMatrixByMasks = (matrix, masks) => { + const gen = function* () { + for (const x of matrix) + yield x; + }; + const iter = gen(); + const [maskSrc, maskTar] = masks; + return maskSrc.map((src) => maskTar.map((tar) => (src && tar ? iter.next().value : null))); +}; +const expandMatrixByMaskTriu = (matrix, mask) => { + const gen = function* () { + for (const x of matrix) + yield x; + }; + const iter = gen(); + return mask.map((row, i) => mask.map((column, j) => (row && column && j < i ? iter.next().value : null))); +}; +const matrixFromGroups = (len, groups) => { + const groupIds = Array(len) + .fill(null) + .map((_, i) => groups.findIndex((group) => group.includes(i))); + return Array(len) + .fill(null) + .map((_, i) => Array(len) + .fill(null) + .map((_, j) => { + if (j >= i) + return null; + const id1 = groupIds[i]; + const id2 = groupIds[j]; + if (id1 < 0 || id2 < 0) + return null; + return id1 === id2 ? 1 : 0; + })); +}; + +// implicit note (from expressive marks) types +var ImplicitType; +(function (ImplicitType) { + ImplicitType[ImplicitType["None"] = 0] = "None"; + ImplicitType["Mordent"] = "mordent"; + ImplicitType["Prall"] = "prall"; + ImplicitType["Turn"] = "turn"; + ImplicitType["Trill"] = "trill"; + ImplicitType["Tremolo"] = "tremolo"; + ImplicitType["Arpeggio"] = "arpeggio"; +})(ImplicitType || (ImplicitType = {})); + +/* Wrapper for accessing buffer through sequential reads */ + + + +var stream = class Stream { + constructor (buffer) { + this.array = new Uint8Array(buffer); + this.position = 0; + } + + + eof () { + return this.position >= this.array.length; + } + + + read (length) { + const result = this.array.slice(this.position, this.position + length); + this.position += length; + + return result; + } + + + readString (length) { + const data = Array.from(this.read(length)); + + return data.map(c => String.fromCharCode(c)).join(""); + } + + + // read a big-endian 32-bit integer + readInt32 () { + const result = ( + (this.array[this.position] << 24) + + (this.array[this.position + 1] << 16) + + (this.array[this.position + 2] << 8) + + this.array[this.position + 3]); + this.position += 4; + + return result; + } + + + // read a big-endian 16-bit integer + readInt16 () { + const result = ( + (this.array[this.position] << 8) + + this.array[this.position + 1]); + this.position += 2; + + return result; + } + + + // read an 8-bit integer + readInt8 (signed) { + let result = this.array[this.position]; + if (signed && result > 127) + result -= 256; + this.position += 1; + + return result; + } + + + /* read a MIDI-style variable-length integer + (big-endian value in groups of 7 bits, + with top bit set to signify that another byte follows) + */ + readVarInt () { + let result = 0; + while (true) { + const b = this.readInt8(); + if (b & 0x80) { + result += (b & 0x7f); + result <<= 7; + } + else { + // b is the last byte + return result + b; + } + } + } +}; + +/* +class to parse the .mid file format +(depends on stream.js) +*/ + +const Stream = stream; + + + +var midifile = function MidiFile (data) { + function readChunk (stream) { + const id = stream.readString(4); + const length = stream.readInt32(); + + return { + id, + length, + data: stream.read(length), + }; + } + + let lastEventTypeByte; + + function readEvent (stream) { + const event = {}; + event.deltaTime = stream.readVarInt(); + let eventTypeByte = stream.readInt8(); + if ((eventTypeByte & 0xf0) === 0xf0) { + // system / meta event + if (eventTypeByte === 0xff) { + // meta event + event.type = "meta"; + const subtypeByte = stream.readInt8(); + const length = stream.readVarInt(); + + switch (subtypeByte) { + case 0x00: + event.subtype = "sequenceNumber"; + if (length !== 2) + throw new Error("Expected length for sequenceNumber event is 2, got " + length); + event.number = stream.readInt16(); + + return event; + case 0x01: + event.subtype = "text"; + event.text = stream.readString(length); + + return event; + case 0x02: + event.subtype = "copyrightNotice"; + event.text = stream.readString(length); + + return event; + case 0x03: + event.subtype = "trackName"; + event.text = stream.readString(length); + + return event; + case 0x04: + event.subtype = "instrumentName"; + event.text = stream.readString(length); + + return event; + case 0x05: + event.subtype = "lyrics"; + event.text = stream.readString(length); + + return event; + case 0x06: + event.subtype = "marker"; + event.text = stream.readString(length); + + return event; + case 0x07: + event.subtype = "cuePoint"; + event.text = stream.readString(length); + + return event; + case 0x20: + event.subtype = "midiChannelPrefix"; + if (length !== 1) + throw new Error("Expected length for midiChannelPrefix event is 1, got " + length); + event.channel = stream.readInt8(); + + return event; + case 0x2f: + event.subtype = "endOfTrack"; + if (length !== 0) + throw new Error("Expected length for endOfTrack event is 0, got " + length); + + return event; + case 0x51: + event.subtype = "setTempo"; + if (length !== 3) + throw new Error("Expected length for setTempo event is 3, got " + length); + event.microsecondsPerBeat = ( + (stream.readInt8() << 16) + + (stream.readInt8() << 8) + + stream.readInt8() + ); + + return event; + case 0x54: + event.subtype = "smpteOffset"; + if (length !== 5) + throw new Error("Expected length for smpteOffset event is 5, got " + length); + const hourByte = stream.readInt8(); + event.frameRate = { + 0x00: 24, 0x20: 25, 0x40: 29, 0x60: 30, + }[hourByte & 0x60]; + event.hour = hourByte & 0x1f; + event.min = stream.readInt8(); + event.sec = stream.readInt8(); + event.frame = stream.readInt8(); + event.subframe = stream.readInt8(); + + return event; + case 0x58: + event.subtype = "timeSignature"; + if (length !== 4) + throw new Error("Expected length for timeSignature event is 4, got " + length); + event.numerator = stream.readInt8(); + event.denominator = Math.pow(2, stream.readInt8()); + event.metronome = stream.readInt8(); + event.thirtyseconds = stream.readInt8(); + + return event; + case 0x59: + event.subtype = "keySignature"; + if (length !== 2) + throw new Error("Expected length for keySignature event is 2, got " + length); + event.key = stream.readInt8(true); + event.scale = stream.readInt8(); + + return event; + case 0x7f: + event.subtype = "sequencerSpecific"; + event.data = stream.readString(length); + + return event; + default: + // console.log("Unrecognised meta event subtype: " + subtypeByte); + event.subtype = "unknown"; + event.data = stream.readString(length); + + return event; + } + + //event.data = stream.readString(length); + //return event; + } + else if (eventTypeByte === 0xf0) { + event.type = "sysEx"; + const length = stream.readVarInt(); + event.data = stream.readString(length); + + return event; + } + else if (eventTypeByte === 0xf7) { + event.type = "dividedSysEx"; + const length = stream.readVarInt(); + event.data = stream.readString(length); + + return event; + } + else + throw new Error("Unrecognised MIDI event type byte: " + eventTypeByte); + } + else { + /* channel event */ + let param1; + if ((eventTypeByte & 0x80) === 0) { + /* running status - reuse lastEventTypeByte as the event type. + eventTypeByte is actually the first parameter + */ + param1 = eventTypeByte; + eventTypeByte = lastEventTypeByte; + } + else { + param1 = stream.readInt8(); + lastEventTypeByte = eventTypeByte; + } + + const eventType = eventTypeByte >> 4; + event.channel = eventTypeByte & 0x0f; + event.type = "channel"; + + switch (eventType) { + case 0x08: + event.subtype = "noteOff"; + event.noteNumber = param1; + event.velocity = stream.readInt8(); + + return event; + case 0x09: + event.noteNumber = param1; + event.velocity = stream.readInt8(); + if (event.velocity === 0) + event.subtype = "noteOff"; + else + event.subtype = "noteOn"; + + return event; + case 0x0a: + event.subtype = "noteAftertouch"; + event.noteNumber = param1; + event.amount = stream.readInt8(); + + return event; + case 0x0b: + event.subtype = "controller"; + event.controllerType = param1; + event.value = stream.readInt8(); + + return event; + case 0x0c: + event.subtype = "programChange"; + event.programNumber = param1; + + return event; + case 0x0d: + event.subtype = "channelAftertouch"; + event.amount = param1; + + return event; + case 0x0e: + event.subtype = "pitchBend"; + event.value = param1 + (stream.readInt8() << 7); + + return event; + default: + throw new Error("Unrecognised MIDI event type: " + eventType); + + /* + console.log("Unrecognised MIDI event type: " + eventType); + stream.readInt8(); + event.subtype = 'unknown'; + return event; + */ + } + } + } + + + let source = data; + if (typeof data === "string") + source = data.split("").map(c => c.charCodeAt(0)); + + const stream = new Stream(source); + const headerChunk = readChunk(stream); + if (headerChunk.id !== "MThd" || headerChunk.length !== 6) + throw new Error("Bad .mid file - header not found"); + + const headerStream = new Stream(headerChunk.data); + const formatType = headerStream.readInt16(); + const trackCount = headerStream.readInt16(); + const timeDivision = headerStream.readInt16(); + + let ticksPerBeat; + if (timeDivision & 0x8000) + throw new Error("Expressing time division in SMTPE frames is not supported yet"); + else + ticksPerBeat = timeDivision; + + + const header = { + formatType, + trackCount, + ticksPerBeat, + }; + const tracks = []; + for (let i = 0; i < header.trackCount; i++) { + tracks[i] = []; + const trackChunk = readChunk(stream); + if (trackChunk.id !== "MTrk") + throw new Error("Unexpected chunk - expected MTrk, got " + trackChunk.id); + + const trackStream = new Stream(trackChunk.data); + while (!trackStream.eof()) { + const event = readEvent(trackStream); + tracks[i].push(event); + } + } + + return { + header, + tracks, + }; +}; + +/* Wrapper for accessing strings through sequential writes */ + + + +var streamEx = class OStream { + constructor () { + this.buffer = ""; + } + + write (str) { + this.buffer += str; + } + + /* write a big-endian 32-bit integer */ + writeInt32 (i) { + this.buffer += String.fromCharCode((i >> 24) & 0xff) + String.fromCharCode((i >> 16) & 0xff) + + String.fromCharCode((i >> 8) & 0xff) + String.fromCharCode(i & 0xff); + } + + /* write a big-endian 16-bit integer */ + writeInt16 (i) { + this.buffer += String.fromCharCode((i >> 8) & 0xff) + String.fromCharCode(i & 0xff); + } + + /* write an 8-bit integer */ + writeInt8 (i) { + this.buffer += String.fromCharCode(i & 0xff); + } + + /* write a MIDI-style variable-length integer + (big-endian value in groups of 7 bits, + with top bit set to signify that another byte follows) + */ + writeVarInt (i) { + if (i < 0) + throw new Error("OStream.writeVarInt minus number: " + i); + + const b = i & 0x7f; + i >>= 7; + let str = String.fromCharCode(b); + + while (i) { + const b = i & 0x7f; + i >>= 7; + str = String.fromCharCode(b | 0x80) + str; + } + + this.buffer += str; + } + + getBuffer () { + return this.buffer; + } + + getArrayBuffer () { + return Uint8Array.from(this.buffer.split("").map(c => c.charCodeAt(0))).buffer; + } +}; + +/* +class to encode the .mid file format +(depends on streamEx.js) +*/ + +const OStream = streamEx; + + + +var midifileEx = function OMidiFile ({ header, tracks }) { + function writeChunk (stream, id, data) { + console.assert(id.length === 4, "chunk id must be 4 byte"); + + stream.write(id); + stream.writeInt32(data.length); + stream.write(data); + } + + function writeEvent (stream, event) { + if (event.subtype === "unknown") + return; + + stream.writeVarInt(event.deltaTime); + + switch (event.type) { + case "meta": + stream.writeInt8(0xff); + + switch (event.subtype) { + case "sequenceNumber": + stream.writeInt8(0x00); + stream.writeVarInt(2); + + stream.writeInt16(event.number); + + break; + case "text": + stream.writeInt8(0x01); + stream.writeVarInt(event.text.length); + + stream.write(event.text); + + break; + case "copyrightNotice": + stream.writeInt8(0x02); + stream.writeVarInt(event.text.length); + + stream.write(event.text); + + break; + case "trackName": + stream.writeInt8(0x03); + stream.writeVarInt(event.text.length); + + stream.write(event.text); + + break; + case "instrumentName": + stream.writeInt8(0x04); + stream.writeVarInt(event.text.length); + + stream.write(event.text); + + break; + case "lyrics": + stream.writeInt8(0x05); + stream.writeVarInt(event.text.length); + + stream.write(event.text); + + break; + case "marker": + stream.writeInt8(0x06); + stream.writeVarInt(event.text.length); + + stream.write(event.text); + + break; + case "cuePoint": + stream.writeInt8(0x07); + stream.writeVarInt(event.text.length); + + stream.write(event.text); + + break; + case "midiChannelPrefix": + stream.writeInt8(0x20); + stream.writeVarInt(1); + + stream.writeInt8(event.channel); + + break; + case "endOfTrack": + stream.writeInt8(0x2f); + stream.writeVarInt(0); + + break; + case "setTempo": + stream.writeInt8(0x51); + stream.writeVarInt(3); + + stream.writeInt8((event.microsecondsPerBeat >> 16) & 0xff); + stream.writeInt8((event.microsecondsPerBeat >> 8) & 0xff); + stream.writeInt8(event.microsecondsPerBeat & 0xff); + + break; + case "smpteOffset": + stream.writeInt8(0x54); + stream.writeVarInt(5); + + var frameByte = { 24: 0x00, 25: 0x20, 29: 0x40, 30: 0x60 }[event.frameRate]; + stream.writeInt8(event.hour | frameByte); + stream.writeInt8(event.min); + stream.writeInt8(event.sec); + stream.writeInt8(event.frame); + stream.writeInt8(event.subframe); + + break; + case "timeSignature": + stream.writeInt8(0x58); + stream.writeVarInt(4); + + stream.writeInt8(event.numerator); + stream.writeInt8(Math.log2(event.denominator)); + stream.writeInt8(event.metronome); + stream.writeInt8(event.thirtyseconds); + + break; + case "keySignature": + stream.writeInt8(0x59); + stream.writeVarInt(2); + + stream.writeInt8(event.key); + stream.writeInt8(event.scale); + + break; + case "sequencerSpecific": + stream.writeInt8(0x7f); + stream.writeVarInt(event.data.length); + + stream.write(event.data); + + break; + default: + throw new Error("unhandled event subtype:" + event.subtype); + } + + break; + case "sysEx": + stream.writeInt8(0xf0); + stream.writeVarInt(event.data.length); + stream.write(event.data); + + break; + case "dividedSysEx": + stream.writeInt8(0xf7); + stream.writeVarInt(event.data.length); + stream.write(event.data); + + break; + case "channel": + switch (event.subtype) { + case "noteOn": + stream.writeInt8(0x90 | event.channel); + stream.writeInt8(event.noteNumber); + stream.writeInt8(event.velocity); + + break; + case "noteOff": + stream.writeInt8(0x80 | event.channel); + stream.writeInt8(event.noteNumber); + stream.writeInt8(event.velocity ? event.velocity : 0); + + break; + case "noteAftertouch": + stream.writeInt8(0xa0 | event.channel); + stream.writeInt8(event.noteNumber); + stream.writeInt8(event.amount); + + break; + case "controller": + stream.writeInt8(0xb0 | event.channel); + stream.writeInt8(event.controllerType); + stream.writeInt8(event.value); + + break; + case "programChange": + stream.writeInt8(0xc0 | event.channel); + stream.writeInt8(event.programNumber); + + break; + case "channelAftertouch": + stream.writeInt8(0xd0 | event.channel); + stream.writeInt8(event.amount); + + break; + case "pitchBend": + stream.writeInt8(0xe0 | event.channel); + stream.writeInt8(event.value & 0xff); + stream.writeInt8((event.value >> 7) & 0xff); + + break; + default: + throw new Error("unhandled event subtype:" + event.subtype); + } + + break; + default: + throw new Error("unhandled event type:" + event.type); + } + } + + const stream = new OStream(); + + const headerChunk = new OStream(); + headerChunk.writeInt16(header.formatType); + headerChunk.writeInt16(tracks.length); + headerChunk.writeInt16(header.ticksPerBeat); + + writeChunk(stream, "MThd", headerChunk.getBuffer()); + + for (let i = 0; i < tracks.length; ++i) { + const trackChunk = new OStream(); + + for (let ei = 0; ei < tracks[i].length; ++ei) + writeEvent(trackChunk, tracks[i][ei]); + + writeChunk(stream, "MTrk", trackChunk.getBuffer()); + } + + return stream.getArrayBuffer(); +}; + +var MIDI$2 = { + parseMidiData: midifile, + encodeMidiFile: midifileEx, +}; + +const midiToSequence = (midiFile, {timeWarp = 1} = {}) => { + const trackStates = []; + let beatsPerMinute = 120; + const ticksPerBeat = midiFile.header.ticksPerBeat; + + for (let i = 0; i < midiFile.tracks.length; i++) { + trackStates[i] = { + nextEventIndex: 0, + ticksToNextEvent: ( + midiFile.tracks[i].length ? + midiFile.tracks[i][0].deltaTime : + null + ), + }; + } + + function getNextEvent () { + let ticksToNextEvent = null; + let nextEventTrack = null; + let nextEventIndex = null; + + for (let i = 0; i < trackStates.length; i++) { + if ( + trackStates[i].ticksToNextEvent != null + && (ticksToNextEvent == null || trackStates[i].ticksToNextEvent < ticksToNextEvent) + ) { + ticksToNextEvent = trackStates[i].ticksToNextEvent; + nextEventTrack = i; + nextEventIndex = trackStates[i].nextEventIndex; + } + } + if (nextEventTrack != null) { + /* consume event from that track */ + const nextEvent = midiFile.tracks[nextEventTrack][nextEventIndex]; + if (midiFile.tracks[nextEventTrack][nextEventIndex + 1]) + trackStates[nextEventTrack].ticksToNextEvent += midiFile.tracks[nextEventTrack][nextEventIndex + 1].deltaTime; + else + trackStates[nextEventTrack].ticksToNextEvent = null; + + trackStates[nextEventTrack].nextEventIndex += 1; + /* advance timings on all tracks by ticksToNextEvent */ + for (let i = 0; i < trackStates.length; i++) { + if (trackStates[i].ticksToNextEvent != null) + trackStates[i].ticksToNextEvent -= ticksToNextEvent; + } + return { + ticksToEvent: ticksToNextEvent, + event: nextEvent, + track: nextEventTrack, + }; + } + else + return null; + + } // + let midiEvent; + const events = []; + // + function processEvents () { + function processNext () { + let secondsToGenerate = 0; + if (midiEvent.ticksToEvent > 0) { + const beatsToGenerate = midiEvent.ticksToEvent / ticksPerBeat; + secondsToGenerate = beatsToGenerate / (beatsPerMinute / 60); + } + + // beatsPerMinute must be changed after secondsToGenerate calculation + if ( midiEvent.event.type == "meta" && midiEvent.event.subtype == "setTempo" ) { + // tempo change events can occur anywhere in the middle and affect events that follow + beatsPerMinute = 60e+6 / midiEvent.event.microsecondsPerBeat; + } + + const time = (secondsToGenerate * 1000 * timeWarp) || 0; + events.push([ midiEvent, time ]); + midiEvent = getNextEvent(); + } // + if (midiEvent = getNextEvent()) { + while (midiEvent) + processNext(); + } + } + processEvents(); + + return events; +}; + + +const trimSequence = seq => { + const status = new Map(); + + return seq.filter(([{event, ticksToEvent}]) => { + if (ticksToEvent > 0) + status.clear(); + + if (event.type !== "channel") + return true; + + const key = `${event.subtype}|${event.channel}|${event.noteNumber}`; + + if (status.get(key)) { + //console.debug("event trimmed:", event, ticksToEvent); + return false; + } + + status.set(key, event); + + return true; + }); +}; + + +const fixOverlapNotes = seq => { + const noteMap = new Map(); + const overlapMap = new Map(); + const swaps = []; + + let leapIndex = -1; + + seq.forEach(([{event, ticksToEvent}], index) => { + if (ticksToEvent > 0) + leapIndex = index; + + if (event.type !== "channel") + return; + + const key = `${event.channel}|${event.noteNumber}`; + + switch (event.subtype) { + case "noteOn": + if (noteMap.get(key)) + overlapMap.set(key, leapIndex); + else + noteMap.set(key, leapIndex); + + break; + case "noteOff": + if (overlapMap.get(key)) { + swaps.push([overlapMap.get(key), index]); + overlapMap.delete(key); + } + else + noteMap.delete(key); + + break; + } + }); + + // shift overlapped swaps + swaps.forEach((swap, i) => { + for (let ii = i - 1; ii >= 0; --ii) { + const pre = swaps[ii]; + if (pre[1] < swap[0]) + break; + + if (swap[0] > pre[0]) + ++swap[0]; + } + }); + + //console.debug("swaps:", swaps); + swaps.forEach(([front, back]) => { + if (back >= seq.length - 1 || front < 0) + return; + + const offEvent = seq[back]; + const nextEvent = seq[back + 1]; + const leapEvent = seq[front]; + + if (!leapEvent[0].ticksToEvent) { + console.warn("invalid front index:", front, back, leapEvent); + return; + } + + // ms per tick + const tempo = leapEvent[1] / leapEvent[0].ticksToEvent; + + nextEvent[1] += offEvent[1]; + nextEvent[0].ticksToEvent += offEvent[0].ticksToEvent; + + offEvent[0].ticksToEvent = leapEvent[0].ticksToEvent - 1; + leapEvent[0].ticksToEvent = 1; + + offEvent[1] = offEvent[0].ticksToEvent * tempo; + leapEvent[1] = leapEvent[0].ticksToEvent * tempo; + //console.debug("swap:", [front, back], offEvent, nextEvent, leapEvent); + + seq.splice(back, 1); + seq.splice(front, 0, offEvent); + }); + + return seq; +}; + + + +var MidiSequence$1 = { + midiToSequence, + trimSequence, + fixOverlapNotes, +}; + +const MidiSequence = MidiSequence$1; + + + +const PedalControllerTypes = { + 64: "Sustain", + 65: "Portamento", + 66: "Sostenuto", + 67: "Soft", +}; + + + +class Notation$1 { + static parseMidi (data, {fixOverlap = true} = {}) { + const channelStatus = []; + const pedalStatus = {}; + const pedals = {}; + const channels = []; + const bars = []; + let time = 0; + let millisecondsPerBeat = 600000 / 120; + let beats = 0; + let numerator = 4; + let barIndex = 0; + const keyRange = {}; + let rawTicks = 0; + let ticks = 0; + let correspondences; + const tempos = []; + + const ticksPerBeat = data.header.ticksPerBeat; + + let rawEvents = MidiSequence.midiToSequence(data); + + if (fixOverlap) + rawEvents = MidiSequence.trimSequence(MidiSequence.fixOverlapNotes(rawEvents)); + + const events = rawEvents.map(d => ({ + data: d[0].event, + track: d[0].track, + deltaTime: d[1], + deltaTicks: d[0].ticksToEvent, + })); + + let index = 0; + + const ticksNormal = 1; + + for (const ev of events) { + rawTicks += ev.deltaTicks; + ticks = Math.round(rawTicks * ticksNormal); + + if (ev.deltaTicks > 0) { + // append bars + const deltaBeats = ev.deltaTicks / ticksPerBeat; + for (let b = Math.ceil(beats); b < beats + deltaBeats; ++b) { + const t = time + (b - beats) * millisecondsPerBeat; + bars.push({time: t, index: barIndex % numerator}); + + ++barIndex; + } + + beats += deltaBeats; + } + + time += ev.deltaTime; + + //const ticksTime = beats * millisecondsPerBeat; + //console.log("time:", time, ticksTime, ticksTime - time); + + ev.time = time; + ev.ticks = ticks; + + const event = ev.data; + switch (event.type) { + case "channel": + //channelStatus[event.channel] = channelStatus[event.channel] || []; + + switch (event.subtype) { + case "noteOn": + { + const pitch = event.noteNumber; + //channelStatus[event.channel][pitch] = { + channelStatus.push({ + channel: event.channel, + pitch, + startTick: ticks, + start: time, + velocity: event.velocity, + beats: beats, + track: ev.track, + }); + + keyRange.low = Math.min(keyRange.low || pitch, pitch); + + ev.index = index; + ++index; + } + + break; + case "noteOff": + { + const pitch = event.noteNumber; + + channels[event.channel] = channels[event.channel] || []; + + const statusIndex = channelStatus.findIndex(status => status.channel == event.channel && status.pitch == pitch); + if (statusIndex >= 0) { + const status = channelStatus.splice(statusIndex, 1)[0]; + + channels[event.channel].push({ + channel: event.channel, + startTick: status.startTick, + endTick: ticks, + pitch, + start: status.start, + duration: time - status.start, + velocity: status.velocity, + beats: status.beats, + track: status.track, + finger: status.finger, + }); + } + else + console.debug("unexpected noteOff: ", time, event); + + keyRange.high = Math.max(keyRange.high || pitch, pitch); + } + + break; + case "controller": + switch (event.controllerType) { + // pedal controllers + case 64: + case 65: + case 66: + case 67: + const pedalType = PedalControllerTypes[event.controllerType]; + + pedalStatus[event.channel] = pedalStatus[event.channel] || {}; + pedals[event.channel] = pedals[event.channel] || []; + + const status = pedalStatus[event.channel][pedalType]; + + if (status) + pedals[event.channel].push({type: pedalType, start: status.start, duration: time - status.start, value: status.value}); + pedalStatus[event.channel][pedalType] = {start: time, value: event.value}; + + break; + } + + break; + } + + break; + case "meta": + switch (event.subtype) { + case "setTempo": + millisecondsPerBeat = event.microsecondsPerBeat / 1000; + //beats = Math.round(beats); + //console.assert(Number.isFinite(time), "invalid time:", time); + tempos.push({tempo: event.microsecondsPerBeat, tick: ticks, time}); + + break; + case "timeSignature": + numerator = event.numerator; + barIndex = 0; + + break; + case "text": + if (!correspondences && /^find-corres:/.test(event.text)) { + const captures = event.text.match(/:([\d\,-]+)/); + const str = captures && captures[1] || ""; + correspondences = str.split(",").map(s => Number(s)); + } + else if (/fingering\(.*\)/.test(event.text)) { + const [_, fingers] = event.text.match(/\((.+)\)/); + const finger = Number(fingers); + if (!Number.isNaN(finger)) { + const status = channelStatus[channelStatus.length - 1]; + if (status) + status.finger = finger; + + const event = events.find(e => e.index == index - 1); + if (event) + event.data.finger = finger; + } + } + + break; + case "copyrightNotice": + console.log("MIDI copyright:", event.text); + + break; + } + + break; + } + } + + channelStatus.forEach(status => { + console.debug("unclosed noteOn event at", status.startTick, status); + + channels[status.channel].push({ + startTick: status.startTick, + endTick: ticks, + pitch: status.pitch, + start: status.start, + duration: time - status.start, + velocity: status.velocity, + beats: status.beats, + track: status.track, + finger: status.finger, + }); + }); + + return new Notation$1({ + channels, + keyRange, + pedals, + bars, + endTime: time, + endTick: ticks, + correspondences, + events, + tempos, + ticksPerBeat, + meta: {}, + }); + } + + + constructor (fields) { + Object.assign(this, fields); + + // channels to notes + this.notes = []; + for (const channel of this.channels) { + if (channel) { + for (const note of channel) + this.notes.push(note); + } + } + this.notes.sort(function (n1, n2) { + return n1.start - n2.start; + }); + + for (const i in this.notes) + this.notes[i].index = Number(i); + + + // duration + this.duration = this.notes.length > 0 ? (this.endTime - this.notes[0].start) : 0, + + //this.endSoftIndex = this.notes.length ? this.notes[this.notes.length - 1].softIndex : 0; + + + // pitch map + this.pitchMap = []; + for (const c in this.channels) { + for (const n in this.channels[c]) { + const pitch = this.channels[c][n].pitch; + this.pitchMap[pitch] = this.pitchMap[pitch] || []; + + this.pitchMap[pitch].push(this.channels[c][n]); + } + } + + this.pitchMap.forEach(notes => notes.sort((n1, n2) => n1.start - n2.start)); + + + /*// setup measure notes index + if (this.measures) { + const measure_list = []; + + let last_measure = null; + const measure_entries = Object.entries(this.measures).sort((e1, e2) => Number(e1[0]) - Number(e2[0])); + for (const [t, measure] of measure_entries) { + //console.log("measure time:", Number(t)); + measure.startTick = Number(t); + measure.notes = []; + + if (last_measure) + last_measure.endTick = measure.startTick; + + const m = measure.measure; + measure_list[m] = measure_list[m] || []; + measure_list[m].push(measure); + + last_measure = measure; + } + if (last_measure) + last_measure.endTick = this.notes[this.notes.length - 1].endTick; + for (const i in this.notes) { + const note = this.notes[i]; + for (const t in this.measures) { + const measure = this.measures[t]; + if (note.startTick >= measure.startTick && note.startTick < measure.endTick || note.endTick > measure.startTick && note.endTick <= measure.endTick) + measure.notes.push(note); + } + } + + this.measure_list = measure_list; + }*/ + + + // prepare beats info + if (this.meta.beatInfos) { + for (let i = 0; i < this.meta.beatInfos.length; ++i) { + const info = this.meta.beatInfos[i]; + if (i > 0) { + const lastInfo = this.meta.beatInfos[i - 1]; + info.beatIndex = lastInfo.beatIndex + Math.ceil((info.tick - lastInfo.tick) / this.ticksPerBeat); + } + else + info.beatIndex = 0; + } + } + + + // compute tempos tick -> time + { + let time = 0; + let ticks = 0; + let tempo = 500000; + for (const entry of this.tempos) { + const deltaTicks = entry.tick - ticks; + time += (tempo / 1000) * deltaTicks / this.ticksPerBeat; + + ticks = entry.tick; + tempo = entry.tempo; + + entry.time = time; + } + } + } + + + findChordBySoftindex (softIndex, radius = 0.8) { + return this.notes.filter(note => Math.abs(note.softIndex - softIndex) < radius); + } + + + averageTempo (tickRange) { + tickRange = tickRange || {from: 0, to: this.endtick}; + + console.assert(this.tempos, "no tempos."); + console.assert(tickRange.to > tickRange.from, "range is invalid:", tickRange); + + const span = index => { + const from = Math.max(tickRange.from, this.tempos[index].tick); + const to = (index < this.tempos.length - 1) ? Math.min(this.tempos[index + 1].tick, tickRange.to) : tickRange.to; + + return Math.max(0, to - from); + }; + + const tempo_sum = this.tempos.reduce((sum, tempo, index) => sum + tempo.tempo * span(index), 0); + + const average = tempo_sum / (tickRange.to - tickRange.from); + + // convert microseconds per beat to beats per minute + return 60e+6 / average; + } + + + ticksToTime (tick) { + console.assert(Number.isFinite(tick), "invalid tick value:", tick); + console.assert(this.tempos && this.tempos.length, "no tempos."); + + const next_tempo_index = this.tempos.findIndex(tempo => tempo.tick > tick); + const tempo_index = next_tempo_index < 0 ? this.tempos.length - 1 : Math.max(next_tempo_index - 1, 0); + + const tempo = this.tempos[tempo_index]; + + return tempo.time + (tick - tempo.tick) * tempo.tempo * 1e-3 / this.ticksPerBeat; + } + + + timeToTicks (time) { + console.assert(Number.isFinite(time), "invalid time value:", time); + console.assert(this.tempos && this.tempos.length, "no tempos."); + + const next_tempo_index = this.tempos.findIndex(tempo => tempo.time > time); + const tempo_index = next_tempo_index < 0 ? this.tempos.length - 1 : Math.max(next_tempo_index - 1, 0); + + const tempo = this.tempos[tempo_index]; + + return tempo.tick + (time - tempo.time) * this.ticksPerBeat / (tempo.tempo * 1e-3); + } + + + tickRangeToTimeRange (tickRange) { + console.assert(tickRange.to >= tickRange.from, "invalid tick range:", tickRange); + + return { + from: this.ticksToTime(tickRange.from), + to: this.ticksToTime(tickRange.to), + }; + } + + + /*getMeasureRange (measureRange) { + console.assert(Number.isInteger(measureRange.start) && Number.isInteger(measureRange.end), "invalid measure range:", measureRange); + console.assert(this.measure_list && this.measure_list[measureRange.start] && this.measure_list[measureRange.end], "no measure data for specific index:", this.measure_list, measureRange); + + const startMeasure = this.measure_list[measureRange.start][0]; + let endMeasure = null; + for (const measure of this.measure_list[measureRange.end]) { + if (measure.endTick > startMeasure.startTick) { + endMeasure = measure; + break; + } + } + + // there no path between start measure and end measure. + if (!endMeasure) + return null; + + const tickRange = {from: startMeasure.startTick, to: endMeasure.endTick, duration: endMeasure.endTick - startMeasure.startTick}; + const timeRange = this.tickRangeToTimeRange(tickRange); + timeRange.duration = timeRange.to - timeRange.from; + + return { + tickRange, + timeRange, + }; + }*/ + + + scaleTempo ({factor, headTempo}) { + console.assert(this.tempos && this.tempos.length, "[Notation.scaleTempo] tempos is empty."); + + if (headTempo) + factor = headTempo / this.tempos[0].tempo; + + console.assert(Number.isFinite(factor) && factor > 0, "[Notation.scaleTempo] invalid factor:", factor); + + this.tempos.forEach(tempo => { + tempo.tempo *= factor; + tempo.time *= factor; + }); + this.events.forEach(event => { + event.deltaTime *= factor; + event.time *= factor; + }); + this.notes.forEach(note => { + note.start *= factor; + note.duration *= factor; + }); + + this.endTime *= factor; + } +} + + +var MusicNotation$1 = { + Notation: Notation$1, +}; + +const { Notation } = MusicNotation$1; + + + +//const msDelay = ms => new Promise(resolve => setTimeout(resolve, ms)); +const animationDelay = () => new Promise(resolve => requestAnimationFrame(resolve)); + + +class MidiPlayer$1 { + constructor (midiData, {cacheSpan = 600, onMidi, onPlayFinish, onTurnCursor} = {}) { + this.cacheSpan = cacheSpan; + this.onMidi = onMidi; + this.onPlayFinish = onPlayFinish; + this.onTurnCursor = onTurnCursor; + + let notation; + if (midiData.notes && Number.isFinite(midiData.endTime)) + notation = midiData; + else + notation = Notation.parseMidi(midiData); + + this.notation = notation; + this.events = notation.events; + //console.log("events:", this.events); + + this.isPlaying = false; + this.progressTime = 0; + this.startTime = performance.now(); + this.duration = notation.endTime; + this.cursorTurnDelta = 0; + + console.assert(notation.tempos && notation.tempos.length, "[MidiPlayer] invalid notation, tempos is empty."); + } + + + dispose () { + this.isPlaying = false; + this.progressTime = 0; + } + + + get progressTicks () { + return this.notation.timeToTicks(this.progressTime); + } + + + set progressTicks (value) { + this.progressTime = this.notation.ticksToTime(value); + + if (this.onTurnCursor) + this.onTurnCursor(this.progressTime); + } + + + async play ({nextFrame = animationDelay} = {}) { + if (this.progressTime >= this.duration) + this.progressTime = 0; + + let now = performance.now(); + this.startTime = now - this.progressTime; + + this.isPlaying = true; + + let currentEventIndex = this.events.findIndex(event => event.time >= now - this.startTime); + + while (this.isPlaying) { + for (; currentEventIndex < this.events.length; ++currentEventIndex) { + const event = this.events[currentEventIndex]; + //console.log("play event:", currentEventIndex, event.time, this.progressTime + this.cacheSpan); + if (!event || event.time > this.progressTime + this.cacheSpan) + break; + + if (event.data.type === "channel" && this.startTime + event.time >= now) + if (this.onMidi) + this.onMidi(event.data, this.startTime + event.time); + } + + await nextFrame(); + + if (!this.isPlaying) + break; + + if (this.cursorTurnDelta !== 0) { + const backturn = this.cursorTurnDelta < 0; + + this.startTime -= this.cursorTurnDelta; + this.cursorTurnDelta = 0; + + if (backturn) { + for (; currentEventIndex > 0; --currentEventIndex) { + const eventTime = this.events[currentEventIndex].time; + if (this.startTime + eventTime < now) + break; + } + } + } + + now = performance.now(); + + this.progressTime = now - this.startTime; + + if (this.progressTime > this.duration) { + this.isPlaying = false; + + if (this.onPlayFinish) + this.onPlayFinish(); + } + } + } + + + pause () { + this.isPlaying = false; + } + + + turnCursor (time) { + //console.log("onTurnCursor:", time, oldTime); + if (this.isPlaying) + this.cursorTurnDelta += time - this.progressTime; + else + this.progressTime = time; + + if (this.onTurnCursor) + this.onTurnCursor(time); + } +} + + +var MidiPlayer_1 = MidiPlayer$1; + +var config = { + CostStepAttenuation: 0.6, + SkipDeep: 3, + PriorDistanceSigmoidFactor: 0.1, + PriorValueSigmoidFactor: 0.12, + + SkipCost: 0.5, + LagOffsetCost: 1, + LeadOffsetCost: 1.6, + ZeroOffsetCost: 0.58, + + RelocationThreshold: 6, +}; + +const {pick} = require$$0__default["default"]; + +const Config$1 = config; + + + +class Node$2 { + constructor (s_note, c_note) { + this.s_note = s_note; + this.c_note = c_note; + + console.assert(this.s_note.softIndex != null, "s_note softIndex is null"); + this.offset = this.s_note.softIndex - this.c_note.softIndex; + + this._prev = null; + this._totalCost = 0; + this._value = 0; + this.cacheDirty = true; + + //this.evaluatePrev(Node.Zero); + } + + + get prev () { + return this._prev; + } + + + set prev (value) { + if (value != this._prev) { + this._prev = value; + this.cacheDirty = true; + } + } + + + get si () { + return this.s_note.index; + } + + + get ci () { + return this.c_note.index; + } + + + get root () { + return this.prev.root || this; + } + + + get rootSi () { + return !this.prev.zero ? this.prev.rootSi : this.si; + } + + + get id () { + return `${this.s_note.index},${this.c_note.index}`; + } + + + static cost (prev, skip, self) { + return prev * Config$1.CostStepAttenuation + Math.tanh(skip * Config$1.SkipCost) + Math.tanh(self * 0.5); + } + + + updateCache () { + if (this.cacheDirty) { + this._totalCost = Node$2.cost(this.prev.totalCost, this.si - this.prev.si - 1, this.selfCost); + this._value = this.prev.value + 1 - Math.tanh(this.selfCost * 0.5); + + this.cacheDirty = false; + } + } + + + get totalCost () { + this.updateCache(); + + return this._totalCost; + } + + + get value () { + this.updateCache(); + + return this._value; + } + + + get deep () { + return this.prev.deep + 1; + } + + + get path () { + const path = []; + for (let node = this; !node.zero; node = node.prev) { + path[node.si] = node.ci; + } + + for (let i = 0; i < path.length; ++i) + if (typeof path[i] != "number") + path[i] = -1; + + return path; + } + + + dump () { + return pick(this, ["id", "si", "ci", "rootSi", "value", "deep", "rootSi", "offset", "prior", "selfCost", "totalCost"]); + } + + + evaluatePrev (node) { + const cost = this.evaluatePrevCost(node); + + console.assert(this.si - node.si >= 1, "node index error:", this, node/*, {get [Symbol.toStringTag]() {debugger}}*/); + //if (this.si - node.si < 1) + // debugger; + + const totalCost = Node$2.cost(node.totalCost, this.si - node.si - 1, cost); + + if (!this.prev || totalCost < this.totalCost) { + this.prev = node; + this.selfCost = cost; + + return true; + } + + return false; + } + + + evaluatePrevCost (node) { + let cost = 0; + + if (node.offset != null) { + const bias = this.offset - node.offset; + const costCoeff = node.zero ? Config$1.ZeroOffsetCost : (bias > 0 ? Config$1.LagOffsetCost : Config$1.LeadOffsetCost); + cost += (bias * costCoeff) ** 2; + } + + return cost; + } + + + priorByOffset (offset) { + const distance = Math.abs(this.offset - offset) / 1;//(this.s_note.deltaSi + 0.04); + + return Math.tanh(this.value * Config$1.PriorValueSigmoidFactor) - Math.tanh(distance * Config$1.PriorDistanceSigmoidFactor); + //return Math.log(this.value) * Math.tanh(4 / distance); + //return this.value - distance; + } + + + static zero () { + return { + zero: true, + totalCost: 0, + value: 0, + si: -1, + ci: -1, + deep: 0, + offset: 0, + }; + } +} + + +var node = Node$2; + +const Config = config; +const Node$1 = node; + + + +class Navigator$1 { + constructor (criterion, sample, options = {}) { + this.criterion = criterion; + this.sample = sample; + + this.getCursorOffset = options.getCursorOffset || (() => null); + this.outOfPage = options.outOfPage; + + this.bestNode = null; + this.fineCursor = null; + + this.breakingSI = sample.notes.length - 1; + + this.zeroNode = Node$1.zero(); + this.zeroNode.offset = this.getCursorOffset() || 0; + + this.relocationThreshold = options.relocationThreshold || Config.RelocationThreshold; + } + + + step (index) { + //console.log("step:", this.zeroNode.offset); + const note = this.sample.notes[index]; + + if (note.matches.length > 0) { + //console.log("zeroNode.offset:", index, this.zeroNode.offset); + note.matches.forEach(node => { + node.evaluatePrev(this.zeroNode); + //console.log("node:", node, node.evaluatePrevCost(this.zeroNode), node.offset, this.zeroNode.offset); + + for (let si = index - 1; si >= Math.max(this.breakingSI + 1, index - Config.SkipDeep); --si) { + //const skipCost = Config.SkipCost * (index - 1 - si); + + const prevNote = this.sample.notes[si]; + console.assert(prevNote, "prevNote is null:", si, index, this.sample.notes); + prevNote.matches.forEach(prevNode => { + const bias = node.offset - prevNode.offset; + if (/*prevNode.totalCost + skipCost < node.totalCost + &&*/ (bias < 2 / Config.LagOffsetCost && bias > -2 / Config.LeadOffsetCost)) + node.evaluatePrev(prevNode); + }); + } + + node.prior = node.totalCost > 1.99 ? -1 : node.priorByOffset(this.zeroNode.offset); + + if (node.prior > 0 && this.outOfPage) { + const tick = this.criterion.notes[node.ci].startTick; + if (this.outOfPage(tick)) + node.prior -= 0.7; + } + }); + + note.matches.sort((c1, c2) => c2.prior - c1.prior); + this.cursors = note.matches; + //console.log("navigator cursors:", this.cursors); + + let fineCursor = null; + const nullLength = this.nullSteps(index); + + const cursor = this.cursors[0]; + if (cursor && cursor.totalCost < 1) { + //console.log("nullLength:", nullLength, nullLength * Math.log(cursor.value / 4)); + if (cursor.prior > 0 || (cursor.totalCost < 0.4 && Math.log(Math.max(nullLength * cursor.value, 1e-3)) > this.relocationThreshold)) { + this.zeroNode.offset = cursor.offset; + + fineCursor = cursor; + + if (!this.bestNode || cursor.value > this.bestNode.value) + this.bestNode = cursor; + } + } + + if (fineCursor) + this.fineCursor = fineCursor; + else { + if (!this.resetCursor(index, {breaking: false/*nullLength > Config.SkipDeep*/})) { + this.zeroNode.offset += note.deltaSi * Math.tanh(nullLength); + console.assert(!Number.isNaN(this.zeroNode.offset), "zeroNode.offset is NaN.", note.deltaSi, nullLength); + } + } + } + else + this.cursors = []; + } + + + path ({fromIndex = 0, toIndex = this.sample.notes.length - 1} = {}) { + const path = []; + + let offset = null; + + for (let si = toIndex; si >= fromIndex;) { + const note = this.sample.notes[si]; + + if (!note.matches.length || note.matches[0].prior < -0.01 || note.matches[0].totalCost >= 1) { + //if (note.matches.length) + // console.log("path -1:", si, note.matches[0].prior, note.matches[0].totalCost); + path[si] = -1; + --si; + continue; + } + + // sort nodes by backwards heuristic offset + if (offset != null) { + note.matches.forEach(node => node.backPrior = (node.totalCost < 1.99 ? node.priorByOffset(offset) : -1)); + note.matches.sort((n1, n2) => n2.backPrior - n1.backPrior); + } + + const node = note.matches[0]; + node.path.forEach((ci, si) => path[si] = ci); + //console.log("node path:", si, node.path); + + offset = node.root.offset; + + si = node.rootSi - 1; + } + + console.assert(path.length == toIndex + 1, "path length error:", path, fromIndex, toIndex + 1, + this.sample.notes.length, this.sample.notes.length ? this.sample.notes[this.sample.notes.length - 1].index : null); + + return path; + } + + + nullSteps (index) { + return index - (this.fineCursor ? this.fineCursor.si : -1) - 1; + } + + + resetCursor (index, {breaking = true} = {}) { + if (breaking) + this.breakingSI = index; + + const cursorOffset = this.getCursorOffset(); + if (cursorOffset != null) { + //console.log("cursorOffset:", cursorOffset); + + this.zeroNode.offset = cursorOffset; + //this.breaking = this.nullSteps(index) > Config.SkipDeep; + //if (this.breaking) // trivial zero node si resets result in focus path interruption + this.zeroNode.si = index; + this.fineCursor = null; + + console.assert(!Number.isNaN(this.zeroNode.offset), "zeroNode.offset is NaN.", cursorOffset); + //console.log("cursor offset reset:", cursorOffset); + + return true; + } + + return false; + } + + + get relocationTendency () { + const cursor = this.cursors && this.cursors[0]; + if (!cursor) + return null; + + const nullLength = this.nullSteps(cursor.si); + if (nullLength <= 0) + return 0; + + return Math.log(Math.max(nullLength * cursor.value, 1e-3)) / this.relocationThreshold; + } +} + + +var navigator = Navigator$1; + +const Node = node; +const Navigator = navigator; + + + +const HEART_BEAT = 800; // in ms +const SIMULTANEOUS_INTERVAL = HEART_BEAT * 0.24; + + +const normalizeInterval = interval => Math.tanh(interval / SIMULTANEOUS_INTERVAL); + + +// greater softIndexFactor make 'harder' soft index +const makeNoteSoftIndex = function (notes, index, {softIndexFactor = 1} = {}) { + index = Number(index); + + const note = notes[index]; + + // make soft index + if (index > 0) { + const lastNote = notes[index - 1]; + + console.assert(note.start != null, "note.start is null", note); + console.assert(lastNote.start != null, "lastNote.start is null", lastNote); + + note.deltaSi = normalizeInterval((note.start - lastNote.start) * softIndexFactor); + note.softIndex = lastNote.softIndex + note.deltaSi; + + console.assert(!Number.isNaN(note.deltaSi), "note.deltaSi is NaN.", note.start, lastNote.start); + } + else { + note.softIndex = 0; + note.deltaSi = 0; + } +}; + + +const makeMatchNodes = function (note, criterion, zeroNode = Node.zero()) { + note.matches = []; + + const targetList = criterion.pitchMap[note.pitch]; + if (targetList) { + for (const targetNote of targetList) { + const node = new Node(note, targetNote); + if (zeroNode) + node.evaluatePrev(zeroNode); + + note.matches.push(node); + } + } +}; + + +const genNotationContext = function (notation, {softIndexFactor = 1} = {}) { + for (let i = 0; i < notation.notes.length; ++i) + makeNoteSoftIndex(notation.notes, i, {softIndexFactor}); +}; + + +const runNavigation = async function(criterion, sample, onStep) { + const navigator = new Navigator(criterion, sample); + navigator.resetCursor(-1); + + for (let i = 0; i < sample.notes.length; ++i) { + navigator.step(i); + + const next = await (onStep && onStep(i, navigator)); + if (next === Symbol.for("end")) { + console.log("Navigation interrupted."); + + return; + } + } + + //console.log("Navigation accomplished."); + + return navigator; +}; + + + +var Matcher$1 = { + normalizeInterval, + makeNoteSoftIndex, + makeMatchNodes, + genNotationContext, + runNavigation, + Navigator, + Node, +}; + +const MIDI$1 = MIDI$2; + + + +const trackDeltaToAbs = events => { + let tick = 0; + + events.forEach(event => { + tick += event.deltaTime; + event.tick = tick; + }); +}; + + +const trackAbsToDelta = events => { + let lastTick = 0; + + events.sort((e1, e2) => e1.tick - e2.tick).forEach(event => { + event.deltaTime = event.tick - lastTick; + lastTick = event.tick; + }); +}; + + +const sliceTrack = (track, startTick, endTick) => { + trackDeltaToAbs(track); + + const events = []; + const status = {}; + + track.forEach(event => { + if (event.tick >= startTick && event.tick <= endTick && event.subtype !== "endOfTrack") + events.push({ + ...event, + tick: event.tick - startTick, + }); + else if (event.tick < startTick) { + switch (event.type) { + case "meta": + status[event.subtype] = event; + + break; + } + } + }); + + Object.values(status).forEach(event => events.push({ + ...event, + tick: 0, + })); + + events.push({ + tick: endTick - startTick, + type: "meta", + subtype: "endOfTrack", + }); + + trackAbsToDelta(events); + + return events; +}; + + +const sliceMidi = (midi, startTick, endTick) => ({ + header: midi.header, + tracks: midi.tracks.map(track => sliceTrack(track, startTick, endTick)), +}); + + +const TICKS_PER_BEATS = 480; + +const EXCLUDE_MIDI_EVENT_SUBTYPES = [ + "endOfTrack", "trackName", + "noteOn", "noteOff", +]; + + +function encodeToMIDIData(notation, {startTime, unclosedNoteDuration = 30e+3} = {}) { + notation.microsecondsPerBeat = notation.microsecondsPerBeat || 500000; + + const ticksPerBeat = TICKS_PER_BEATS; + const msToTicks = ticksPerBeat * 1000 / notation.microsecondsPerBeat; + + const header = { formatType: 0, ticksPerBeat }; + const track = []; + + if (!Number.isFinite(startTime)) { + if (!notation.notes || !notation.notes[0]) + throw new Error("encodeToMidiData: no start time specificed"); + + startTime = notation.notes[0].start; + } + + track.push({ time: startTime, type: "meta", subtype: "copyrightNotice", text: `Composed by MusicWdigets. BUILT on ${new Date(Number(process.env.VUE_APP_BUILD_TIME)).toDateString()}` }); + + const containsTempo = notation.events && notation.events.find(event => event.subtype == "setTempo"); + if (!containsTempo) { + track.push({ time: startTime, type: "meta", subtype: "timeSignature", numerator: 4, denominator: 4, thirtyseconds: 8 }); + track.push({ time: startTime, type: "meta", subtype: "setTempo", microsecondsPerBeat: notation.microsecondsPerBeat }); + } + + //if (notation.correspondences) + // track.push({ time: startTime, type: "meta", subtype: "text", text: "find-corres:" + notation.correspondences.join(",") }); + + let endTime = startTime || 0; + + if (notation.notes) { + for (const note of notation.notes) { + track.push({ + time: note.start, + type: "channel", + subtype: "noteOn", + channel: note.channel || 0, + noteNumber: note.pitch, + velocity: note.velocity, + finger: note.finger, + }); + + endTime = Math.max(endTime, note.start); + + if (Number.isFinite(unclosedNoteDuration)) + note.duration = note.duration || unclosedNoteDuration; + if (note.duration) { + track.push({ + time: note.start + note.duration, + type: "channel", + subtype: "noteOff", + channel: note.channel || 0, + noteNumber: note.pitch, + velocity: 0, + }); + + endTime = Math.max(endTime, note.start + note.duration); + } + } + } + + if (notation.events) { + const events = notation.events.filter(event => !EXCLUDE_MIDI_EVENT_SUBTYPES.includes(event.data.subtype)); + for (const event of events) { + track.push({ + time: event.time, + ...event.data, + }); + + endTime = Math.max(endTime, event.time); + } + } + + track.push({ time: endTime + 100, type: "meta", subtype: "endOfTrack" }); + + track.sort(function (e1, e2) { return e1.time - e2.time; }); + + // append finger event after every noteOn event + track.map((event, index) => ({event, index})) + .filter(({event}) => event.subtype == "noteOn" && event.finger != null) + .reverse() + .forEach(({event, index}) => track.splice(index + 1, 0, { + time: event.time, + type: "meta", + subtype: "text", + text: `fingering(${event.finger})`, + })); + + track.forEach(event => event.ticks = Math.round((event.time - startTime) * msToTicks)); + track.forEach((event, i) => event.deltaTime = (event.ticks - (i > 0 ? track[i - 1].ticks : 0))); + + return {header, tracks: [track]}; +} + +function encodeToMIDI(notation, options) { + const data = encodeToMIDIData(notation, options); + return MIDI$1.encodeMidiFile(data); +} + + +var MidiUtils$1 = { + sliceMidi, + encodeToMIDIData, + encodeToMIDI, +}; + +const MIDI = MIDI$2; +const MusicNotation = MusicNotation$1; +const MidiPlayer = MidiPlayer_1; +const Matcher = Matcher$1; +const MidiUtils = MidiUtils$1; + + + +var musicWidgets = { + MIDI, + MusicNotation, + MidiPlayer, + Matcher, + MidiUtils, +}; + +const WHOLE_DURATION_MAGNITUDE = 1920; +const TICKS_PER_BEAT = WHOLE_DURATION_MAGNITUDE / 4; +const EXTRA_NOTE_FIELDS = ['rest', 'tied', 'overlapped', 'implicitType', 'afterGrace', 'contextIndex', 'staffTrack', 'chordPosition', 'division']; +const COMMON_NOTE_FIELDS = ['id', 'ids', 'pitch', 'velocity', 'track', 'channel', ...EXTRA_NOTE_FIELDS]; +class MetaNotation { + static fromAbsoluteNotes(notes, measureHeads, data) { + const notation = new MetaNotation(data); + notation.measures = Array(measureHeads.length) + .fill(null) + .map((__, i) => { + const tick = measureHeads[i]; + const duration = measureHeads[i + 1] ? measureHeads[i + 1] - tick : 0; + const mnotes = notes + .filter((note) => note.measure === i + 1) + .map((note) => ({ + tick: note.startTick - tick, + duration: note.endTick - note.startTick, + ...pick__default["default"](note, COMMON_NOTE_FIELDS), + subNotes: [], + })); + // reduce note data size + mnotes.forEach((mn) => ['rest', 'tied', 'implicitType', 'afterGrace'].forEach((field) => { + if (!mn[field]) + delete mn[field]; + })); + return { + tick, + duration, + notes: mnotes, + }; + }); + notation.idTrackMap = notes.reduce((map, note) => { + if (note.id) + map[note.id] = note.track; + return map; + }, {}); + return notation; + } + static performAbsoluteNotes(abNotes, { withRestTied = false } = {}) { + const notes = abNotes + .filter((note) => (withRestTied || (!note.rest && !note.tied)) && !note.overlapped) + .map((note) => ({ + measure: note.measure, + channel: note.channel, + track: note.track, + start: note.start, + startTick: note.startTick, + endTick: note.endTick, + pitch: note.pitch, + duration: note.duration, + velocity: note.velocity || 127, + id: note.id, + ids: note.ids, + staffTrack: note.staffTrack, + contextIndex: note.contextIndex, + implicitType: note.implicitType, + chordPosition: note.chordPosition, + })); + const noteMap = notes.reduce((map, note) => { + const key = `${note.channel}|${note.start}|${note.pitch}`; + const priorNote = map[key]; + if (priorNote) + priorNote.ids.push(...note.ids); + else + map[key] = note; + return map; + }, {}); + return Object.values(noteMap); + } + constructor(data) { + this.ripe = false; + if (data) + Object.assign(this, data); + } + /*get ordinaryMeasureIndices (): number[] { + if (this.measureLayout) + return this.measureLayout.serialize(LayoutType.Ordinary); + + return Array(this.measures.length).fill(null).map((_, i) => i + 1); + }*/ + // In Lilypond 2.20.0, minus tick value at the head of a track result in MIDI event time bias, + // So store the bias values to correct MIDI time from lilyond. + get trackTickBias() { + const headMeasure = this.measures[0]; + return this.trackNames.reduce((map, name, track) => { + map[name] = 0; + if (headMeasure) { + const note = headMeasure.notes.find((note) => note.track === track); + if (note) + map[name] = Math.min(note.tick, 0); + } + return map; + }, {}); + } + get idSet() { + return this.measures.reduce((set, measure) => (measure.notes.filter((note) => !note.rest).forEach((note) => note.ids.forEach((id) => set.add(id))), set), new Set()); + } + toJSON() { + return { + __prototype: 'LilyNotation', + //pitchContextGroup: this.pitchContextGroup, + //measureLayout: this.measureLayout, + measures: this.measures, + idTrackMap: this.idTrackMap, + trackNames: this.trackNames, + ripe: this.ripe, + }; + } + toAbsoluteNotes(measureIndices /*= this.ordinaryMeasureIndices*/) { + let measureTick = 0; + const measureNotes = measureIndices.map((index) => { + const measure = this.measures[index - 1]; + console.assert(!!measure, 'invalid measure index:', index, this.measures.length); + const notes = measure.notes.map((mnote) => { + return { + startTick: measureTick + mnote.tick, + endTick: measureTick + mnote.tick + mnote.duration, + start: measureTick + mnote.tick, + duration: mnote.duration, + measure: index, + ...pick__default["default"](mnote, COMMON_NOTE_FIELDS), + }; + }); + measureTick += measure.duration; + return notes; + }); + return [].concat(...measureNotes); + } + /*getMeasureIndices (type: LayoutType) { + return this.measureLayout.serialize(type); + }*/ + toPerformingNotation(measureIndices /*= this.ordinaryMeasureIndices*/, options = {}) { + //console.debug("toPerformingNotation:", this, measureIndices); + const abNotes = this.toAbsoluteNotes(measureIndices); + const notes = MetaNotation.performAbsoluteNotes(abNotes, options); + //const lastNote = notes[notes.length - 1]; + const endTime = Math.max(...notes.map((note) => note.start + note.duration)); + const endTick = measureIndices.reduce((tick, index) => tick + this.measures[index - 1].duration, 0); + const notation = new musicWidgets.MusicNotation.Notation({ + ticksPerBeat: TICKS_PER_BEAT, + meta: {}, + tempos: [], + channels: [notes], + endTime, + endTick, + }); + return notation; + } + toPerformingMIDI(measureIndices, { trackList } = {}) { + if (!measureIndices.length) + return null; + // to avoid begin minus tick + const zeroTick = -Math.min(0, ...(this.measures[0]?.events.map((e) => e.ticks) || []), ...(this.measures[0]?.notes.map((note) => note.tick) || [])); + let measureTick = zeroTick; + const measureEvents = measureIndices.map((index) => { + const measure = this.measures[index - 1]; + console.assert(!!measure, 'invalid measure index:', index, this.measures.length); + const events = measure.events.map((mevent) => ({ + ticks: measureTick + mevent.ticks, + track: mevent.track, + data: { + ...mevent.data, + measure: index, + }, + })); + measureTick += measure.duration; + return events; + }); + const eventPriority = (event) => event.ticks + (event.subtype === 'noteOff' ? -1e-8 : 0); + const tracks = [].concat(...measureEvents).reduce((tracks, mevent) => { + tracks[mevent.track] = tracks[mevent.track] || []; + tracks[mevent.track].push({ + ticks: mevent.ticks, + ...mevent.data, + }); + return tracks; + }, []); + tracks[0] = tracks[0] || []; + /*tracks[0].push({ + ticks: 0, + type: "meta", + subtype: "text", + text: `${npmPackage.name} ${npmPackage.version}`, + });*/ + // append note events + measureTick = zeroTick; + measureIndices.map((index) => { + const measure = this.measures[index - 1]; + console.assert(!!measure, 'invalid measure index:', index, this.measures.length); + if (!Number.isFinite(measure.duration)) + return; + measure.notes.forEach((note) => { + if (trackList && !trackList[note.track]) + return; + if (note.rest) + return; + const tick = measureTick + note.tick; + const track = (tracks[note.track] = tracks[note.track] || []); + note.subNotes.forEach((subnote) => { + track.push({ + ticks: tick + subnote.startTick, + measure: index, + ids: note.ids, + type: 'channel', + subtype: 'noteOn', + channel: note.channel, + noteNumber: subnote.pitch, + velocity: subnote.velocity, + staffTrack: note.staffTrack, + staff: note.staff, + }); + track.push({ + ticks: tick + subnote.endTick, + measure: index, + ids: note.ids, + type: 'channel', + subtype: 'noteOff', + channel: note.channel, + noteNumber: subnote.pitch, + velocity: 0, + staffTrack: note.staffTrack, + staff: note.staff, + }); + }); + }); + measureTick += measure.duration; + }); + const finalTick = measureTick; + // ensure no empty track + for (let t = 0; t < tracks.length; ++t) + tracks[t] = tracks[t] || []; + // sort & make deltaTime + tracks.forEach((events) => { + events.sort((e1, e2) => eventPriority(e1) - eventPriority(e2)); + let ticks = 0; + events.forEach((event) => { + event.deltaTime = event.ticks - ticks; + if (!Number.isFinite(event.deltaTime)) + event.deltaTime = 0; + else + ticks = event.ticks; + }); + events.push({ deltaTime: Math.max(finalTick - ticks, 0), type: 'meta', subtype: 'endOfTrack' }); + }); + return { + header: { + formatType: 0, + ticksPerBeat: TICKS_PER_BEAT, + }, + tracks, + zeroTick, + }; + } + toPerformingNotationWithEvents(measureIndices, options = {}) { + if (!measureIndices.length) + return null; + const { zeroTick, ...midi } = this.toPerformingMIDI(measureIndices, options); + const notation = musicWidgets.MusicNotation.Notation.parseMidi(midi); + assignNotationNoteDataFromEvents(notation); + let tick = zeroTick; + notation.measures = measureIndices.map((index) => { + const startTick = tick; + tick += this.measures[index - 1].duration; + return { + index, + startTick, + endTick: tick, + }; + }); + return notation; + } + // find the MIDI event of setTempo in measures data, and change the value of microsecondsPerBeat + setTempo(bpm) { + let found = false; + for (const measure of this.measures) { + for (const event of measure.events) { + if (event.data.subtype === 'setTempo') { + event.data.microsecondsPerBeat = 60e6 / bpm; + found = true; + } + } + } + return found; + } +} +const assignNotationNoteDataFromEvents = (midiNotation, fields = ['ids', 'measure', 'staffTrack']) => { + const noteId = (channel, pitch, tick) => `${channel}|${pitch}|${tick}`; + const noteMap = midiNotation.notes.reduce((map, note) => { + map[noteId(note.channel, note.pitch, note.startTick)] = note; + return map; + }, {}); + midiNotation.events.forEach((event) => { + if (event.data.subtype === 'noteOn') { + const id = noteId(event.data.channel, event.data.noteNumber, event.ticks); + const note = noteMap[id]; + console.assert(!!note, 'cannot find note of', id); + if (note) + Object.assign(note, pick__default["default"](event.data, fields)); + } + }); +}; + +var sha256 = {exports: {}}; + +var core = {exports: {}}; + +(function (module, exports) { +(function (root, factory) { + { + // CommonJS + module.exports = factory(); + } +}(this, function () { + + /*globals window, global, require*/ + + /** + * CryptoJS core components. + */ + var CryptoJS = CryptoJS || (function (Math, undefined$1) { + + var crypto; + + // Native crypto from window (Browser) + if (typeof window !== 'undefined' && window.crypto) { + crypto = window.crypto; + } + + // Native crypto in web worker (Browser) + if (typeof self !== 'undefined' && self.crypto) { + crypto = self.crypto; + } + + // Native crypto from worker + if (typeof globalThis !== 'undefined' && globalThis.crypto) { + crypto = globalThis.crypto; + } + + // Native (experimental IE 11) crypto from window (Browser) + if (!crypto && typeof window !== 'undefined' && window.msCrypto) { + crypto = window.msCrypto; + } + + // Native crypto from global (NodeJS) + if (!crypto && typeof global !== 'undefined' && global.crypto) { + crypto = global.crypto; + } + + // Native crypto import via require (NodeJS) + if (!crypto && typeof commonjsRequire === 'function') { + try { + crypto = require('crypto'); + } catch (err) {} + } + + /* + * Cryptographically secure pseudorandom number generator + * + * As Math.random() is cryptographically not safe to use + */ + var cryptoSecureRandomInt = function () { + if (crypto) { + // Use getRandomValues method (Browser) + if (typeof crypto.getRandomValues === 'function') { + try { + return crypto.getRandomValues(new Uint32Array(1))[0]; + } catch (err) {} + } + + // Use randomBytes method (NodeJS) + if (typeof crypto.randomBytes === 'function') { + try { + return crypto.randomBytes(4).readInt32LE(); + } catch (err) {} + } + } + + throw new Error('Native crypto module could not be used to get secure random number.'); + }; + + /* + * Local polyfill of Object.create + + */ + var create = Object.create || (function () { + function F() {} + + return function (obj) { + var subtype; + + F.prototype = obj; + + subtype = new F(); + + F.prototype = null; + + return subtype; + }; + }()); + + /** + * CryptoJS namespace. + */ + var C = {}; + + /** + * Library namespace. + */ + var C_lib = C.lib = {}; + + /** + * Base object for prototypal inheritance. + */ + var Base = C_lib.Base = (function () { + + + return { + /** + * Creates a new object that inherits from this object. + * + * @param {Object} overrides Properties to copy into the new object. + * + * @return {Object} The new object. + * + * @static + * + * @example + * + * var MyType = CryptoJS.lib.Base.extend({ + * field: 'value', + * + * method: function () { + * } + * }); + */ + extend: function (overrides) { + // Spawn + var subtype = create(this); + + // Augment + if (overrides) { + subtype.mixIn(overrides); + } + + // Create default initializer + if (!subtype.hasOwnProperty('init') || this.init === subtype.init) { + subtype.init = function () { + subtype.$super.init.apply(this, arguments); + }; + } + + // Initializer's prototype is the subtype object + subtype.init.prototype = subtype; + + // Reference supertype + subtype.$super = this; + + return subtype; + }, + + /** + * Extends this object and runs the init method. + * Arguments to create() will be passed to init(). + * + * @return {Object} The new object. + * + * @static + * + * @example + * + * var instance = MyType.create(); + */ + create: function () { + var instance = this.extend(); + instance.init.apply(instance, arguments); + + return instance; + }, + + /** + * Initializes a newly created object. + * Override this method to add some logic when your objects are created. + * + * @example + * + * var MyType = CryptoJS.lib.Base.extend({ + * init: function () { + * // ... + * } + * }); + */ + init: function () { + }, + + /** + * Copies properties into this object. + * + * @param {Object} properties The properties to mix in. + * + * @example + * + * MyType.mixIn({ + * field: 'value' + * }); + */ + mixIn: function (properties) { + for (var propertyName in properties) { + if (properties.hasOwnProperty(propertyName)) { + this[propertyName] = properties[propertyName]; + } + } + + // IE won't copy toString using the loop above + if (properties.hasOwnProperty('toString')) { + this.toString = properties.toString; + } + }, + + /** + * Creates a copy of this object. + * + * @return {Object} The clone. + * + * @example + * + * var clone = instance.clone(); + */ + clone: function () { + return this.init.prototype.extend(this); + } + }; + }()); + + /** + * An array of 32-bit words. + * + * @property {Array} words The array of 32-bit words. + * @property {number} sigBytes The number of significant bytes in this word array. + */ + var WordArray = C_lib.WordArray = Base.extend({ + /** + * Initializes a newly created word array. + * + * @param {Array} words (Optional) An array of 32-bit words. + * @param {number} sigBytes (Optional) The number of significant bytes in the words. + * + * @example + * + * var wordArray = CryptoJS.lib.WordArray.create(); + * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607]); + * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607], 6); + */ + init: function (words, sigBytes) { + words = this.words = words || []; + + if (sigBytes != undefined$1) { + this.sigBytes = sigBytes; + } else { + this.sigBytes = words.length * 4; + } + }, + + /** + * Converts this word array to a string. + * + * @param {Encoder} encoder (Optional) The encoding strategy to use. Default: CryptoJS.enc.Hex + * + * @return {string} The stringified word array. + * + * @example + * + * var string = wordArray + ''; + * var string = wordArray.toString(); + * var string = wordArray.toString(CryptoJS.enc.Utf8); + */ + toString: function (encoder) { + return (encoder || Hex).stringify(this); + }, + + /** + * Concatenates a word array to this word array. + * + * @param {WordArray} wordArray The word array to append. + * + * @return {WordArray} This word array. + * + * @example + * + * wordArray1.concat(wordArray2); + */ + concat: function (wordArray) { + // Shortcuts + var thisWords = this.words; + var thatWords = wordArray.words; + var thisSigBytes = this.sigBytes; + var thatSigBytes = wordArray.sigBytes; + + // Clamp excess bits + this.clamp(); + + // Concat + if (thisSigBytes % 4) { + // Copy one byte at a time + for (var i = 0; i < thatSigBytes; i++) { + var thatByte = (thatWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; + thisWords[(thisSigBytes + i) >>> 2] |= thatByte << (24 - ((thisSigBytes + i) % 4) * 8); + } + } else { + // Copy one word at a time + for (var j = 0; j < thatSigBytes; j += 4) { + thisWords[(thisSigBytes + j) >>> 2] = thatWords[j >>> 2]; + } + } + this.sigBytes += thatSigBytes; + + // Chainable + return this; + }, + + /** + * Removes insignificant bits. + * + * @example + * + * wordArray.clamp(); + */ + clamp: function () { + // Shortcuts + var words = this.words; + var sigBytes = this.sigBytes; + + // Clamp + words[sigBytes >>> 2] &= 0xffffffff << (32 - (sigBytes % 4) * 8); + words.length = Math.ceil(sigBytes / 4); + }, + + /** + * Creates a copy of this word array. + * + * @return {WordArray} The clone. + * + * @example + * + * var clone = wordArray.clone(); + */ + clone: function () { + var clone = Base.clone.call(this); + clone.words = this.words.slice(0); + + return clone; + }, + + /** + * Creates a word array filled with random bytes. + * + * @param {number} nBytes The number of random bytes to generate. + * + * @return {WordArray} The random word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.lib.WordArray.random(16); + */ + random: function (nBytes) { + var words = []; + + for (var i = 0; i < nBytes; i += 4) { + words.push(cryptoSecureRandomInt()); + } + + return new WordArray.init(words, nBytes); + } + }); + + /** + * Encoder namespace. + */ + var C_enc = C.enc = {}; + + /** + * Hex encoding strategy. + */ + var Hex = C_enc.Hex = { + /** + * Converts a word array to a hex string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The hex string. + * + * @static + * + * @example + * + * var hexString = CryptoJS.enc.Hex.stringify(wordArray); + */ + stringify: function (wordArray) { + // Shortcuts + var words = wordArray.words; + var sigBytes = wordArray.sigBytes; + + // Convert + var hexChars = []; + for (var i = 0; i < sigBytes; i++) { + var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; + hexChars.push((bite >>> 4).toString(16)); + hexChars.push((bite & 0x0f).toString(16)); + } + + return hexChars.join(''); + }, + + /** + * Converts a hex string to a word array. + * + * @param {string} hexStr The hex string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Hex.parse(hexString); + */ + parse: function (hexStr) { + // Shortcut + var hexStrLength = hexStr.length; + + // Convert + var words = []; + for (var i = 0; i < hexStrLength; i += 2) { + words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << (24 - (i % 8) * 4); + } + + return new WordArray.init(words, hexStrLength / 2); + } + }; + + /** + * Latin1 encoding strategy. + */ + var Latin1 = C_enc.Latin1 = { + /** + * Converts a word array to a Latin1 string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The Latin1 string. + * + * @static + * + * @example + * + * var latin1String = CryptoJS.enc.Latin1.stringify(wordArray); + */ + stringify: function (wordArray) { + // Shortcuts + var words = wordArray.words; + var sigBytes = wordArray.sigBytes; + + // Convert + var latin1Chars = []; + for (var i = 0; i < sigBytes; i++) { + var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; + latin1Chars.push(String.fromCharCode(bite)); + } + + return latin1Chars.join(''); + }, + + /** + * Converts a Latin1 string to a word array. + * + * @param {string} latin1Str The Latin1 string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Latin1.parse(latin1String); + */ + parse: function (latin1Str) { + // Shortcut + var latin1StrLength = latin1Str.length; + + // Convert + var words = []; + for (var i = 0; i < latin1StrLength; i++) { + words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << (24 - (i % 4) * 8); + } + + return new WordArray.init(words, latin1StrLength); + } + }; + + /** + * UTF-8 encoding strategy. + */ + var Utf8 = C_enc.Utf8 = { + /** + * Converts a word array to a UTF-8 string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The UTF-8 string. + * + * @static + * + * @example + * + * var utf8String = CryptoJS.enc.Utf8.stringify(wordArray); + */ + stringify: function (wordArray) { + try { + return decodeURIComponent(escape(Latin1.stringify(wordArray))); + } catch (e) { + throw new Error('Malformed UTF-8 data'); + } + }, + + /** + * Converts a UTF-8 string to a word array. + * + * @param {string} utf8Str The UTF-8 string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Utf8.parse(utf8String); + */ + parse: function (utf8Str) { + return Latin1.parse(unescape(encodeURIComponent(utf8Str))); + } + }; + + /** + * Abstract buffered block algorithm template. + * + * The property blockSize must be implemented in a concrete subtype. + * + * @property {number} _minBufferSize The number of blocks that should be kept unprocessed in the buffer. Default: 0 + */ + var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base.extend({ + /** + * Resets this block algorithm's data buffer to its initial state. + * + * @example + * + * bufferedBlockAlgorithm.reset(); + */ + reset: function () { + // Initial values + this._data = new WordArray.init(); + this._nDataBytes = 0; + }, + + /** + * Adds new data to this block algorithm's buffer. + * + * @param {WordArray|string} data The data to append. Strings are converted to a WordArray using UTF-8. + * + * @example + * + * bufferedBlockAlgorithm._append('data'); + * bufferedBlockAlgorithm._append(wordArray); + */ + _append: function (data) { + // Convert string to WordArray, else assume WordArray already + if (typeof data == 'string') { + data = Utf8.parse(data); + } + + // Append + this._data.concat(data); + this._nDataBytes += data.sigBytes; + }, + + /** + * Processes available data blocks. + * + * This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype. + * + * @param {boolean} doFlush Whether all blocks and partial blocks should be processed. + * + * @return {WordArray} The processed data. + * + * @example + * + * var processedData = bufferedBlockAlgorithm._process(); + * var processedData = bufferedBlockAlgorithm._process(!!'flush'); + */ + _process: function (doFlush) { + var processedWords; + + // Shortcuts + var data = this._data; + var dataWords = data.words; + var dataSigBytes = data.sigBytes; + var blockSize = this.blockSize; + var blockSizeBytes = blockSize * 4; + + // Count blocks ready + var nBlocksReady = dataSigBytes / blockSizeBytes; + if (doFlush) { + // Round up to include partial blocks + nBlocksReady = Math.ceil(nBlocksReady); + } else { + // Round down to include only full blocks, + // less the number of blocks that must remain in the buffer + nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0); + } + + // Count words ready + var nWordsReady = nBlocksReady * blockSize; + + // Count bytes ready + var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes); + + // Process blocks + if (nWordsReady) { + for (var offset = 0; offset < nWordsReady; offset += blockSize) { + // Perform concrete-algorithm logic + this._doProcessBlock(dataWords, offset); + } + + // Remove processed words + processedWords = dataWords.splice(0, nWordsReady); + data.sigBytes -= nBytesReady; + } + + // Return processed words + return new WordArray.init(processedWords, nBytesReady); + }, + + /** + * Creates a copy of this object. + * + * @return {Object} The clone. + * + * @example + * + * var clone = bufferedBlockAlgorithm.clone(); + */ + clone: function () { + var clone = Base.clone.call(this); + clone._data = this._data.clone(); + + return clone; + }, + + _minBufferSize: 0 + }); + + /** + * Abstract hasher template. + * + * @property {number} blockSize The number of 32-bit words this hasher operates on. Default: 16 (512 bits) + */ + C_lib.Hasher = BufferedBlockAlgorithm.extend({ + /** + * Configuration options. + */ + cfg: Base.extend(), + + /** + * Initializes a newly created hasher. + * + * @param {Object} cfg (Optional) The configuration options to use for this hash computation. + * + * @example + * + * var hasher = CryptoJS.algo.SHA256.create(); + */ + init: function (cfg) { + // Apply config defaults + this.cfg = this.cfg.extend(cfg); + + // Set initial values + this.reset(); + }, + + /** + * Resets this hasher to its initial state. + * + * @example + * + * hasher.reset(); + */ + reset: function () { + // Reset data buffer + BufferedBlockAlgorithm.reset.call(this); + + // Perform concrete-hasher logic + this._doReset(); + }, + + /** + * Updates this hasher with a message. + * + * @param {WordArray|string} messageUpdate The message to append. + * + * @return {Hasher} This hasher. + * + * @example + * + * hasher.update('message'); + * hasher.update(wordArray); + */ + update: function (messageUpdate) { + // Append + this._append(messageUpdate); + + // Update the hash + this._process(); + + // Chainable + return this; + }, + + /** + * Finalizes the hash computation. + * Note that the finalize operation is effectively a destructive, read-once operation. + * + * @param {WordArray|string} messageUpdate (Optional) A final message update. + * + * @return {WordArray} The hash. + * + * @example + * + * var hash = hasher.finalize(); + * var hash = hasher.finalize('message'); + * var hash = hasher.finalize(wordArray); + */ + finalize: function (messageUpdate) { + // Final message update + if (messageUpdate) { + this._append(messageUpdate); + } + + // Perform concrete-hasher logic + var hash = this._doFinalize(); + + return hash; + }, + + blockSize: 512/32, + + /** + * Creates a shortcut function to a hasher's object interface. + * + * @param {Hasher} hasher The hasher to create a helper for. + * + * @return {Function} The shortcut function. + * + * @static + * + * @example + * + * var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256); + */ + _createHelper: function (hasher) { + return function (message, cfg) { + return new hasher.init(cfg).finalize(message); + }; + }, + + /** + * Creates a shortcut function to the HMAC's object interface. + * + * @param {Hasher} hasher The hasher to use in this HMAC helper. + * + * @return {Function} The shortcut function. + * + * @static + * + * @example + * + * var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256); + */ + _createHmacHelper: function (hasher) { + return function (message, key) { + return new C_algo.HMAC.init(hasher, key).finalize(message); + }; + } + }); + + /** + * Algorithm namespace. + */ + var C_algo = C.algo = {}; + + return C; + }(Math)); + + + return CryptoJS; + +})); +}(core)); + +(function (module, exports) { +(function (root, factory) { + { + // CommonJS + module.exports = factory(core.exports); + } +}(this, function (CryptoJS) { + + (function (Math) { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var Hasher = C_lib.Hasher; + var C_algo = C.algo; + + // Initialization and round constants tables + var H = []; + var K = []; + + // Compute constants + (function () { + function isPrime(n) { + var sqrtN = Math.sqrt(n); + for (var factor = 2; factor <= sqrtN; factor++) { + if (!(n % factor)) { + return false; + } + } + + return true; + } + + function getFractionalBits(n) { + return ((n - (n | 0)) * 0x100000000) | 0; + } + + var n = 2; + var nPrime = 0; + while (nPrime < 64) { + if (isPrime(n)) { + if (nPrime < 8) { + H[nPrime] = getFractionalBits(Math.pow(n, 1 / 2)); + } + K[nPrime] = getFractionalBits(Math.pow(n, 1 / 3)); + + nPrime++; + } + + n++; + } + }()); + + // Reusable object + var W = []; + + /** + * SHA-256 hash algorithm. + */ + var SHA256 = C_algo.SHA256 = Hasher.extend({ + _doReset: function () { + this._hash = new WordArray.init(H.slice(0)); + }, + + _doProcessBlock: function (M, offset) { + // Shortcut + var H = this._hash.words; + + // Working variables + var a = H[0]; + var b = H[1]; + var c = H[2]; + var d = H[3]; + var e = H[4]; + var f = H[5]; + var g = H[6]; + var h = H[7]; + + // Computation + for (var i = 0; i < 64; i++) { + if (i < 16) { + W[i] = M[offset + i] | 0; + } else { + var gamma0x = W[i - 15]; + var gamma0 = ((gamma0x << 25) | (gamma0x >>> 7)) ^ + ((gamma0x << 14) | (gamma0x >>> 18)) ^ + (gamma0x >>> 3); + + var gamma1x = W[i - 2]; + var gamma1 = ((gamma1x << 15) | (gamma1x >>> 17)) ^ + ((gamma1x << 13) | (gamma1x >>> 19)) ^ + (gamma1x >>> 10); + + W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]; + } + + var ch = (e & f) ^ (~e & g); + var maj = (a & b) ^ (a & c) ^ (b & c); + + var sigma0 = ((a << 30) | (a >>> 2)) ^ ((a << 19) | (a >>> 13)) ^ ((a << 10) | (a >>> 22)); + var sigma1 = ((e << 26) | (e >>> 6)) ^ ((e << 21) | (e >>> 11)) ^ ((e << 7) | (e >>> 25)); + + var t1 = h + sigma1 + ch + K[i] + W[i]; + var t2 = sigma0 + maj; + + h = g; + g = f; + f = e; + e = (d + t1) | 0; + d = c; + c = b; + b = a; + a = (t1 + t2) | 0; + } + + // Intermediate hash value + H[0] = (H[0] + a) | 0; + H[1] = (H[1] + b) | 0; + H[2] = (H[2] + c) | 0; + H[3] = (H[3] + d) | 0; + H[4] = (H[4] + e) | 0; + H[5] = (H[5] + f) | 0; + H[6] = (H[6] + g) | 0; + H[7] = (H[7] + h) | 0; + }, + + _doFinalize: function () { + // Shortcuts + var data = this._data; + var dataWords = data.words; + + var nBitsTotal = this._nDataBytes * 8; + var nBitsLeft = data.sigBytes * 8; + + // Add padding + dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32); + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000); + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal; + data.sigBytes = dataWords.length * 4; + + // Hash final blocks + this._process(); + + // Return final computed hash + return this._hash; + }, + + clone: function () { + var clone = Hasher.clone.call(this); + clone._hash = this._hash.clone(); + + return clone; + } + }); + + /** + * Shortcut function to the hasher's object interface. + * + * @param {WordArray|string} message The message to hash. + * + * @return {WordArray} The hash. + * + * @static + * + * @example + * + * var hash = CryptoJS.SHA256('message'); + * var hash = CryptoJS.SHA256(wordArray); + */ + C.SHA256 = Hasher._createHelper(SHA256); + + /** + * Shortcut function to the HMAC's object interface. + * + * @param {WordArray|string} message The message to hash. + * @param {WordArray|string} key The secret key. + * + * @return {WordArray} The HMAC. + * + * @static + * + * @example + * + * var hmac = CryptoJS.HmacSHA256(message, key); + */ + C.HmacSHA256 = Hasher._createHmacHelper(SHA256); + }(Math)); + + + return CryptoJS.SHA256; + +})); +}(sha256)); + +var _SHA256 = sha256.exports; + +const SHA256 = (source) => { + const { words, sigBytes } = _SHA256(source); + const uwords = words.map((x) => (x < 0 ? x + 0x100000000 : x)); + const word_len = sigBytes / words.length; + return new Uint8Array(sigBytes).map((_, i) => (uwords[Math.floor(i / word_len)] >> ((3 - (i % word_len)) * 8)) & 0xff); +}; +const HASH_LEN = 256; +class HashVector { + static fromHash(hash) { + const fields = []; + for (const byte of hash) { + for (let b = 0; b < 8; ++b) + fields.push((byte >> b) & 1 ? 1 : -1); + } + return new HashVector(fields); + } + static fromString(source) { + const hash = SHA256(source); + return HashVector.fromHash(hash); + } + static fromWords(words) { + const vs = words.map((word) => HashVector.fromString(word)); + return vs.reduce((sum, v) => sum.add(v), HashVector.zero); + } + static concat(...vectors) { + const fields = vectors.map((v) => v.fields).flat(1); + return new HashVector(fields); + } + constructor(fields = null) { + this.fields = fields || Array(HASH_LEN).fill(0); + } + get length() { + return this.fields.length; + } + toHash() { + return Uint8Array.from(Array(this.length / 8) + .fill(0) + .map((_, i) => { + const bits = this.fields.slice(i * 8, (i + 1) * 8); + return bits.reduce((byte, bit, b) => byte | ((bit > 0 ? 1 : 0) << b), 0); + })); + } + add(vec) { + this.fields.forEach((value, i) => (this.fields[i] = value + vec.fields[i])); + return this; + } + scale(factor) { + this.fields = this.fields.map((value) => value * factor); + return this; + } + sub(crop) { + const fields = crop > 0 ? this.fields.slice(0, crop) : this.fields.slice(crop); + return new HashVector(fields); + } + static get zero() { + return new HashVector(); + } +} +const odds = (byte) => { + let result = 0; + for (let b = byte; b > 0; b >>= 1) { + if (b % 2) + ++result; + } + return result; +}; +const ODDS = Array(2 ** 8) + .fill(0) + .map((_, i) => odds(i)); +ODDS.reduce((table, odd, i) => ({ ...table, [('0' + i.toString(16)).slice(-2)]: odd }), {}); +const countOnes = (hash) => hash.reduce((sum, byte) => sum + ODDS[byte], 0); +const xorHashes = (hash1, hash2) => hash1.map((byte, i) => byte ^ hash2[i]); +const cosHashes = (hash1, hash2) => { + const len = hash1.length * 8; + const xor = xorHashes(hash1, hash2); + const ones = countOnes(xor); + return (len - ones * 2) / len; +}; +const i2hex = (i) => ('0' + i.toString(16)).slice(-2); +const hashToHex = (hash) => Array.from(hash).map(i2hex).join(''); +const hashToBigInt = (hash) => { + // __NOT_FOR_BROWSER_ + return Array.from(hash).reduce((r, x) => r * 0x100n + BigInt(x), 0n); + /* + // _NOT_FOR_BROWSER__ + throw new Error('BigInt not supported'); + //*/ +}; + +var Sylvester = {}; + +Sylvester.Matrix = function () {}; + +Sylvester.Matrix.create = function (elements) { + var M = new Sylvester.Matrix(); + return M.setElements(elements) +}; + +Sylvester.Matrix.I = function (n) { + var els = [], + i = n, + j; + while (i--) { + j = n; + els[i] = []; + while (j--) { + els[i][j] = i === j ? 1 : 0; + } + } + return Sylvester.Matrix.create(els) +}; + +Sylvester.Matrix.prototype = { + dup: function () { + return Sylvester.Matrix.create(this.elements) + }, + + isSquare: function () { + var cols = this.elements.length === 0 ? 0 : this.elements[0].length; + return this.elements.length === cols + }, + + toRightTriangular: function () { + if (this.elements.length === 0) return Sylvester.Matrix.create([]) + var M = this.dup(), + els; + var n = this.elements.length, + i, + j, + np = this.elements[0].length, + p; + for (i = 0; i < n; i++) { + if (M.elements[i][i] === 0) { + for (j = i + 1; j < n; j++) { + if (M.elements[j][i] !== 0) { + els = []; + for (p = 0; p < np; p++) { + els.push(M.elements[i][p] + M.elements[j][p]); + } + M.elements[i] = els; + break + } + } + } + if (M.elements[i][i] !== 0) { + for (j = i + 1; j < n; j++) { + var multiplier = M.elements[j][i] / M.elements[i][i]; + els = []; + for (p = 0; p < np; p++) { + // Elements with column numbers up to an including the number of the + // row that we're subtracting can safely be set straight to zero, + // since that's the point of this routine and it avoids having to + // loop over and correct rounding errors later + els.push( + p <= i ? 0 : M.elements[j][p] - M.elements[i][p] * multiplier + ); + } + M.elements[j] = els; + } + } + } + return M + }, + + determinant: function () { + if (this.elements.length === 0) { + return 1 + } + if (!this.isSquare()) { + return null + } + var M = this.toRightTriangular(); + var det = M.elements[0][0], + n = M.elements.length; + for (var i = 1; i < n; i++) { + det = det * M.elements[i][i]; + } + return det + }, + + isSingular: function () { + return this.isSquare() && this.determinant() === 0 + }, + + augment: function (matrix) { + if (this.elements.length === 0) { + return this.dup() + } + var M = matrix.elements || matrix; + if (typeof M[0][0] === 'undefined') { + M = Sylvester.Matrix.create(M).elements; + } + var T = this.dup(), + cols = T.elements[0].length; + var i = T.elements.length, + nj = M[0].length, + j; + if (i !== M.length) { + return null + } + while (i--) { + j = nj; + while (j--) { + T.elements[i][cols + j] = M[i][j]; + } + } + return T + }, + + inverse: function () { + if (this.elements.length === 0) { + return null + } + if (!this.isSquare() || this.isSingular()) { + return null + } + var n = this.elements.length, + i = n, + j; + var M = this.augment(Sylvester.Matrix.I(n)).toRightTriangular(); + var np = M.elements[0].length, + p, + els, + divisor; + var inverse_elements = [], + new_element; + // Sylvester.Matrix is non-singular so there will be no zeros on the + // diagonal. Cycle through rows from last to first. + while (i--) { + // First, normalise diagonal elements to 1 + els = []; + inverse_elements[i] = []; + divisor = M.elements[i][i]; + for (p = 0; p < np; p++) { + new_element = M.elements[i][p] / divisor; + els.push(new_element); + // Shuffle off the current row of the right hand side into the results + // array as it will not be modified by later runs through this loop + if (p >= n) { + inverse_elements[i].push(new_element); + } + } + M.elements[i] = els; + // Then, subtract this row from those above it to give the identity matrix + // on the left hand side + j = i; + while (j--) { + els = []; + for (p = 0; p < np; p++) { + els.push(M.elements[j][p] - M.elements[i][p] * M.elements[j][i]); + } + M.elements[j] = els; + } + } + return Sylvester.Matrix.create(inverse_elements) + }, + + setElements: function (els) { + var i, + j, + elements = els.elements || els; + if (elements[0] && typeof elements[0][0] !== 'undefined') { + i = elements.length; + this.elements = []; + while (i--) { + j = elements[i].length; + this.elements[i] = []; + while (j--) { + this.elements[i][j] = elements[i][j]; + } + } + return this + } + var n = elements.length; + this.elements = []; + for (i = 0; i < n; i++) { + this.elements.push([elements[i]]); + } + return this + }, +}; + +var matrixInverse = function (elements) { + const mat = Sylvester.Matrix.create(elements).inverse(); + if (mat !== null) { + return mat.elements + } else { + return null + } +}; + +const EOM = -1; // end event id of measure +//const GREAT_NUMBER = 16 * 9 * 5 * 7 * 11 * 13 * 17 * 19 * 23; +const GREAT_NUMBER = 1920; +const DURATION_MULTIPLIER = 128 * 3 * 5 * 7 * 11 * 13; +const floatToFrac = (x) => { + const n = Math.round(x * GREAT_NUMBER); + return reducedFraction(n, GREAT_NUMBER); +}; +const floatToTimeWarp = (x) => { + if (x === 1) + return null; + return floatToFrac(x); +}; +var ActionType; +(function (ActionType) { + ActionType[ActionType["PLACE"] = 0] = "PLACE"; + ActionType[ActionType["VERTICAL"] = 1] = "VERTICAL"; + ActionType[ActionType["HORIZONTAL"] = 2] = "HORIZONTAL"; +})(ActionType || (ActionType = {})); +class Action { + constructor(data) { + Object.assign(this, data); + } + static P(e) { + return new Action({ + type: ActionType.PLACE, + e1: e, + }); + } + static V(e1, e2, order = 1) { + return new Action({ + type: ActionType.VERTICAL, + e1: order > 0 ? e1 : e2, + e2: order > 0 ? e2 : e1, + }); + } + static H(e1, e2) { + return new Action({ + type: ActionType.HORIZONTAL, + e1, + e2, + }); + } + get id() { + switch (this.type) { + case ActionType.PLACE: + return this.e1.toString(); + case ActionType.VERTICAL: + return `${this.e1}|${this.e2}`; + case ActionType.HORIZONTAL: + return `${this.e1}-${this.e2 >= 0 ? this.e2 : '.'}`; + } + } + get events() { + return [this.e1, this.e2].filter(Number.isFinite); + } +} +class StageMatrix { + static fromNode(node, status) { + const matrix = Array(node.stages.length) + .fill(null) + .map(() => Array(node.stages.length) + .fill(null) + .map(() => new Set())); + node.actions + .filter((action) => action.type === ActionType.HORIZONTAL) + .forEach((action) => { + const stage1 = node.stages.findIndex((stage) => stage.events.includes(action.e1)); + const stage2 = node.stages.findIndex((stage) => stage.events.includes(action.e2)); + console.assert(stage1 >= 0 && stage2 >= 0, 'invalid stages for H action:', node.id, node.stages, action); + matrix[stage1][stage2].add(action.e1); + }); + matrix[0][node.stages.length - 1].add(0); // the entire measure edge + const stagedEvents = node.stagedEvents; + const endHs = status.matrixH[status.matrixH.length - 1].filter((_, i) => !stagedEvents.has(i)); + const endHP = Math.max(0, Math.max(...endHs) - 0.01); + const hActions = node.actions.filter((action) => action.type === ActionType.HORIZONTAL); + const pendingHeads = Object.keys(status.eventMap) + .map(Number) + .filter((eid) => !hActions.find((action) => action.e2 === eid)); + // edges to end stage + node.stages.forEach((stage) => { + stage.events.forEach((eid) => { + if (eid > 0) { + const act = hActions.find((action) => action.e1 === eid); + if (!act && status.matrixH[status.matrixH.length - 1][eid] >= endHP) { + if (!pendingHeads.some((id) => status.matrixH[id][eid] > 0)) + matrix[stage.index][node.stages.length - 1].add(eid); + } + } + }); + }); + return new StageMatrix({ matrix }); + } + constructor(data) { + Object.assign(this, data); + } + pathOf(x, y, target, ei = 0) { + if (this.matrix[x][y].size) { + const eid = [...this.matrix[x][y]][ei]; + if (y === target) + return [eid]; + for (let yy = y + 1; yy <= target; ++yy) { + const sub = this.pathOf(y, yy, target); + if (sub) + return [eid, ...sub]; + } + } + return null; + } + findDoublePath(s1, s2) { + const paths = []; + for (let t = s2; t >= s1 + 1; --t) { + for (let ei = 0; ei < this.matrix[s1][t].size; ++ei) { + const path = this.pathOf(s1, t, s2, ei); + if (path) { + paths.push(path); + if (paths.length === 2) + return [paths[0], paths[1]]; + } + } + } + return null; + } + reducePath(path) { + this.matrix.forEach((column) => column.forEach((set) => path.forEach((id) => set.delete(id)))); + } + toEquations(eventCount) { + const equations = []; + for (let d = 1; d < this.matrix.length; d++) { + for (let s1 = 0; s1 < this.matrix.length - d; s1++) { + const s2 = s1 + d; + while (true) { + // find closed loop from s1 to s2 + const paths = this.findDoublePath(s1, s2); + if (paths) { + const [path1, path2] = paths; + const equation = Array(eventCount).fill(0); + path1.forEach((eid) => (equation[eid] = 1)); + path2.forEach((eid) => (equation[eid] = -1)); + equations.push(equation); + this.reducePath(path1.length > path2.length ? path1 : path2); + } + else + break; + } + } + } + return equations; + } +} +class PathNode { + constructor(data) { + Object.assign(this, data); + console.assert(this.logger, 'logger is null:', data); + } + get actions() { + const last = this.parent ? this.parent.actions : []; + return this.action ? [...last, this.action] : last; + } + get id() { + const actionIds = this.actions.map((action) => action.id).sort(); + return actionIds.join(' '); + } + get stagedEvents() { + const set = new Set(); + if (this.stages) + this.stages.forEach((stage) => stage.events.forEach((eid) => eid >= 0 && set.add(eid))); + return set; + } + like(ids) { + const actionIds = ids.split(' ').sort(); + return actionIds.join(' ') === this.id; + } + constructStages(status) { + this.stages = [{ events: [EOM] }]; + for (const action of this.actions) { + switch (action.type) { + case ActionType.PLACE: + this.stages.unshift({ events: [action.e1] }); + break; + case ActionType.VERTICAL: + { + const stage1 = this.stages.find((stage) => stage.events.includes(action.e1)); + const stage2 = this.stages.find((stage) => stage.events.includes(action.e2)); + console.assert(stage1 || stage2, 'invalid V action:', this.stages, action); + if (stage1 && stage2) { + stage1.events.push(...stage2.events); + stage2.events = null; + this.stages = this.stages.filter((stage) => stage.events); + } + else if (!stage1) + stage2.events.unshift(action.e1); + else if (!stage2) + stage1.events.push(action.e2); + } + break; + case ActionType.HORIZONTAL: + { + const stage1 = this.stages.find((stage) => stage.events.includes(action.e1)); + const stage2 = this.stages.find((stage) => stage.events.includes(action.e2)); + console.assert(stage1 || stage2, 'invalid H action:', this.stages, action); + const newStage = (eid) => { + console.assert(status.eventMap[eid], 'invalid event id:', action.id, eid, status.eventMap); + const x = status.eventMap[eid].x; + const stage = this.stages.find((s) => s.events.some((e) => e > 0 && status.eventMap[e].x <= x) && s.events.some((e) => e > 0 && status.eventMap[e].x >= x)); + if (stage) + stage.events.push(eid); + else { + const newStage = { events: [eid] }; + const si = this.stages.findIndex((s) => s.events[0] === EOM || status.eventMap[s.events[0]].x >= x); + this.stages.splice(si, 0, newStage); + } + }; + if (!stage1) + newStage(action.e1); + if (!stage2) + newStage(action.e2); + /*if (this.stages.some((s, si) => si < this.stages.length - 2 + && s.events.some(e1 => this.stages[si + 1].events.some(e2 => status.eventMap[e2].x <= status.eventMap[e1].x)))) + debugger;*/ + } + break; + } + } + this.stages.forEach((stage, i) => (stage.index = i)); + } + constructConstraints(status) { + const eventCount = Object.keys(status.eventMap).length; + const stageMatrix = StageMatrix.fromNode(this, status); + const equations = stageMatrix.toEquations(eventCount); + const factors = Array(eventCount) + .fill(null) + .map((_, id) => status.eventMap[id].duration); + this.constraints = equations.map((equation) => equation.map((it, i) => it * factors[i])); + } + inbalancesConstraints(status) { + console.assert(this.constraints, 'constraints not constructed.'); + const eventCount = Object.keys(status.eventMap).length; + const ones = Array(eventCount).fill(true); + const fixed = Array(eventCount).fill(false); + const inbalances = []; + for (const constraint of this.constraints) { + const sum = constraint.reduce((sum, it) => sum + it, 0); + if (sum !== 0) { + const c = sum < 0 ? constraint.map((it) => -it) : constraint; + if (c[0] > 0) + continue; // entire measure edge usually is larger than others, no effect + inbalances.push(c); + // set ones for tight items + c.forEach((it, i) => { + fixed[i] = fixed[i] || it < 0; + if (it) + ones[i] = it < 0 || fixed[i]; + }); + } + } + // pick out influenced equations + this.constraints.forEach((constraint) => { + const sum = constraint.reduce((sum, it) => sum + it, 0); + if (sum === 0 && !constraint[0]) { + if (constraint.some((it, i) => it && !ones[i])) { + constraint.forEach((it, i) => it && (ones[i] = false)); + inbalances.push(constraint); + } + } + }); + return { ones, inbalances }; + } + solveEquations({ ones, inbalances }) { + if (!inbalances.length) + return ones.map(() => 1); + const xis = ones + .map((fixed, i) => ({ fixed, i })) + .filter(({ fixed }) => !fixed) + .map(({ i }) => i) + .filter((i) => inbalances.some((items) => items[i] !== 0)); + if (!xis.length) + return ones.map(() => 1); + const factors = xis.map((i) => Math.abs(inbalances.find((items) => items[i] !== 0)[i])); + const equationMap = new Map(); + let conflicted = false; + const lines = inbalances + .map((items) => { + const line = items.filter((_, i) => xis.includes(i)); + const bias = -items.reduce((sum, it, i) => sum + (xis.includes(i) ? 0 : it), 0); + return { line, bias }; + // remove duplicated equations + }) + .filter(({ line, bias }) => { + if (line.every((it) => it === 0)) + return false; + const id = line.join(','); + if (equationMap.has(id)) { + conflicted = equationMap.get(id) !== bias; + return false; + } + equationMap.set(id, bias); + return true; + }); + if (conflicted) + return null; + const squareLines = lines.slice(0, xis.length); + const restLines = lines.slice(xis.length); + if (squareLines.length < xis.length) { + const candidateLines = []; + for (let i1 = 0; i1 < xis.length - 1; ++i1) { + const i2 = i1 + 1; + const line = { + line: xis.map((_, i) => (i === i1 ? 1 : i === i2 ? -1 : 0)), + bias: 0, + prior: (factors[i1] + factors[i2]) / DURATION_MULTIPLIER, + }; + if (squareLines.some((sl) => sl.line[i1] && sl.line[i2])) + line.prior -= 10; + if (squareLines.some((sl) => sl.line.filter(Number).length === 1 && (sl.line[i1] || sl.line[i2]))) + line.prior += 1; + candidateLines.push(line); + } + candidateLines.sort((c1, c2) => c1.prior - c2.prior); + squareLines.push(...candidateLines.slice(0, xis.length - squareLines.length)); + } + //console.assert(squareLines.length, "squareLines is empty.", lines, xis, equationMap, inbalances); + const matrix = squareLines.map(({ line }) => line); + const bias = squareLines.map(({ bias }) => bias); + const invert = matrixInverse(matrix); + if (!invert) { + this.logger.warn('null invert:', matrix); + //debugger; + return null; + } + const solution = invert.map((row) => row.reduce((sum, it, i) => sum + it * bias[i], 0)); + //console.log("solution:", matrix, invert, solution); + if (restLines.length) { + if (restLines.some((line) => Math.abs(line.line.reduce((sum, it, i) => sum + it * solution[i], 0)) > 1e-3)) { + //console.debug("rest lines not satisfied:", restLines, solution); + return null; + } + } + const result = ones.map(() => 1); + xis.forEach((xi, i) => (result[xi] = solution[i])); + return result; + } + optimallySolve(status) { + const { ones, inbalances } = this.inbalancesConstraints(status); + //if (this.like("2 1-2 9|1 2-3 3-4 9-10 4-5 5-6 6-7 7-8 8-. 12|6 11-12 10-11")) + // debugger; + const shrinknesses = ones.map((fixed, id) => (fixed ? -1 : roundNumber(status.eventMap[id].shrinkness, 0.01))); + const shrinkMap = shrinknesses.reduce((map, shrinkness, id) => { + if (shrinkness >= 0) { + map[shrinkness] = map[shrinkness] || []; + map[shrinkness].push(id); + } + return map; + }, {}); + const groups = Object.entries(shrinkMap) + .sort((p1, p2) => Number(p2[0]) - Number(p1[0])) + .map((pair) => pair[1]); + //console.log("groups:", groups, shrinknesses); + for (let released = 1; released < groups.length; ++released) { + const releasedIds = [].concat(...groups.slice(0, released)); + const fixed = ones.map((_, id) => !releasedIds.includes(id)); + const warps = this.solveEquations({ ones: fixed, inbalances }); + if (warps && warps.every((it, i) => it <= 1 && it > status.eventMap[i].lowWarp)) + return warps; + } + return this.solveEquations({ ones, inbalances }); + } + isConflicted(status) { + const { ones, inbalances } = this.inbalancesConstraints(status); + //if (this.like("2 8|2 8-9 3|9 2-3 3-4 10|4 4-5 5|11 11-12 6|12 5-6 10-11 9-10 6-7")) + // debugger; + for (const c of inbalances) { + // sum with low warps + const lowSum = c.reduce((sum, it, i) => sum + it * (ones[i] || it <= 0 ? 1 : status.eventMap[i].lowWarp), 0); + if (lowSum >= 0) { + // mark events' broken tendency + c.forEach((it, i) => { + if (it) + status.eventTendencies[i] += it > 0 ? 1 : -1; + }); + return true; + } + } + if (!inbalances.length) + return false; + const timeWarps = this.solveEquations({ ones, inbalances }); + if (!timeWarps) + return true; + return !timeWarps.every((it, i) => it > status.eventMap[i].lowWarp && it <= 1); + } + getSolution(status) { + const actionKey = (action) => status.eventMap[action.e2] + ? status.eventMap[action.e2].x + Math.abs(status.eventMap[action.e2].x - status.eventMap[action.e1].x) * 0.06 + : status.eventMap[action.e1].x + 1e4; + const hacts = this.actions.filter((action) => action.type === ActionType.HORIZONTAL).sort((a1, a2) => actionKey(a1) - actionKey(a2)); + const hmap = hacts.reduce((map, act) => ({ ...map, [act.e1]: act.e2 }), {}); + const startEs = new Set([...Object.keys(hmap)].map(Number)); + hacts.forEach((act) => startEs.delete(act.e2)); + this.stages[0].events.forEach((eid) => eid > 0 && startEs.add(eid)); + let voices = [...startEs].map((se) => { + const voice = [se]; + let x = se; + while (hmap[x]) { + x = hmap[x]; + if (x < 0 || voice.includes(x)) + break; + voice.push(x); + } + return voice; + }); + const events = Object.values(status.eventMap) + .filter((e) => e.id > 0) + .map((e) => ({ + id: e.id, + tick: null, + endTick: null, + tickGroup: null, + timeWarp: null, + })); + const eventMap = events + .filter((e) => voices.some((voice) => voice.includes(e.id)) || hacts.some((act) => [act.e1, act.e2].includes(e.id))) + .reduce((map, e) => ({ ...map, [e.id]: e }), {}); + this.stages.forEach((stage, si) => stage.events.forEach((eid) => eventMap[eid] && (eventMap[eid].tickGroup = si))); + this.stages[0].tick = 0; + this.stages[0].events.forEach((eid) => eventMap[eid] && (eventMap[eid].tick = 0)); + // solve time warps + const timeWarps = this.optimallySolve(status); + events.forEach((e) => (e.timeWarp = floatToTimeWarp(timeWarps[e.id]))); + //if (this.like("1 12|1 1-2 9|2 2-3 13|3 3-4 4-5 10|5 14|10 10-11 8-9 14-15 15|6 6-7 7-. 13-14 5-6 12-13 9-10")) + // debugger; + // solve stage ticks + const estages = this.stages.slice(0, this.stages.length - 1); + const solveStages = () => { + if (estages.every((stage) => Number.isFinite(stage.tick))) + return false; + let changed = false; + // forward + hacts.forEach((act) => { + const stage1 = this.stages.find((stage) => stage.events.includes(act.e1)); + const stage2 = this.stages.find((stage) => stage.events.includes(act.e2)); + if (Number.isFinite(stage1.tick) && !Number.isFinite(stage2.tick)) { + stage2.tick = stage1.tick + fractionMul(status.eventMap[act.e1].duration, eventMap[act.e1].timeWarp); + stage2.events.forEach((eid) => eventMap[eid] && (eventMap[eid].tick = stage2.tick)); + changed = true; + } + }); + // backward + [...hacts].reverse().forEach((act) => { + const stage1 = this.stages.find((stage) => stage.events.includes(act.e1)); + const stage2 = this.stages.find((stage) => stage.events.includes(act.e2)); + if (!Number.isFinite(stage1.tick) && Number.isFinite(stage2.tick)) { + stage1.tick = stage2.tick - fractionMul(status.eventMap[act.e1].duration, eventMap[act.e1].timeWarp); + stage1.events.forEach((eid) => eventMap[eid] && (eventMap[eid].tick = stage1.tick)); + changed = true; + } + }); + return changed; + }; + while (solveStages()) + ; + console.assert(estages.every((stage) => Number.isFinite(stage.tick)), 'stage ticks not all solved:', this.stages, this.id); + events + .filter((event) => Number.isFinite(event.tick)) + .forEach((event) => (event.endTick = event.tick + fractionMul(status.eventMap[event.id].duration, event.timeWarp))); + // clip out of bound events + const measureDuration = status.eventMap[0].duration; + voices.forEach((voice) => { + const outEI = voice.findIndex((eid) => eventMap[eid].endTick > measureDuration); + if (outEI >= 0) { + const es = voice.splice(outEI, voice.length - outEI); + es.forEach((eid) => { + eventMap[eid].tick = null; + eventMap[eid].endTick = null; + }); + } + }); + voices = voices.filter((voice) => voice.length); + const duration = Math.max(0, ...events.map((e) => e.endTick).filter(Number.isFinite)); + //console.log("getSolution:", this); + this.logger.debug(String.fromCodePoint(0x1f34e), this.id, timeWarps); + return { + voices, + events, + duration, + actions: this.actions.map((action) => action.id).join(' '), + }; + } + deduce(status, quota) { + if (!this.stages) + this.constructStages(status); + //console.log("deduce:", status); + // increase access counting + const access = status.actionAccessing.get(this.id) || { times: 0 }; + ++access.times; + status.actionAccessing.set(this.id, access); + this.constructConstraints(status); + //console.log("constraints:", this.id, this.stages, this.constraints); + if (this.isConflicted(status)) { + access.closed = true; + this.logger.info(this.action.id, '\u274c'); + return null; + } + //const newStatus = status; + this.logger.group(this.action && this.action.id); + if (quota.credits > 0) { + --quota.credits; + if (!this.children) + this.expand(status); + this.children = this.children.filter((node) => !status.actionAccessing.get(node.id) || !status.actionAccessing.get(node.id).closed); + if (this.children.length) { + const p = (node) => node.possibility / ((status.actionAccessing.get(node.id) || { times: 0 }).times + 1); + this.children.sort((n1, n2) => p(n2) - p(n1)); + for (const child of this.children) { + const solution = child.deduce(status, quota); + if (solution) { + this.logger.groupEnd(); + return solution; + } + if (quota.credits <= 0) + break; + } + } + //else + // console.debug("got the leaf:", this, status); + } + else + this.logger.debug('quota exhausted.'); + this.logger.groupEnd(); + access.closed = true; + return this.getSolution(status); + } + expand(status) { + //this.action.events.forEach(eid => status.pendingEvents.delete(eid)); + this.constructStages(status); + const { eventMap, matrixV, matrixH } = status; + const stagedEvents = this.stagedEvents; + const branches = []; + const appendBranch = (branch) => { + if (!this.actions.some((a) => a.id === branch.action.id) && !branches.some((b) => b.action.id === branch.action.id)) { + const stage1 = this.stages.find((stage) => stage.events.includes(branch.action.e1)); + const stage2 = this.stages.find((stage) => stage.events.includes(branch.action.e2)); + if (stage1 === stage2 || (stage1 && stage2 && stage1.index >= stage2.index)) + return; + if (stage1 && stage2) { + if (branch.action.type === ActionType.VERTICAL) { + if (stage2.index - stage1.index > 1) + return; + if (this.actions.some((a) => stage1.events.includes(a.e1) && stage2.events.includes(a.e2))) + return; + } + else if (branch.action.type === ActionType.HORIZONTAL) { + if (stage1.index > stage2.index) + return; + } + } + if (branch.action.type === ActionType.HORIZONTAL && + this.actions.some((a) => a.type === ActionType.HORIZONTAL && + (a.e1 === branch.action.e1 || a.e2 === branch.action.e2 || (a.e1 === branch.action.e2 && a.e2 === branch.action.e1)))) + return; + // exclude 2 too far away events by vertical + if (branch.action.type === ActionType.VERTICAL) { + if (stage1) { + branch.possibility = Math.min(branch.possibility, ...stage1.events.map((e) => matrixV[branch.action.e2][e])); + if (branch.possibility <= 0) + return; + } + if (stage2) { + branch.possibility = Math.min(branch.possibility, ...stage2.events.map((e) => matrixV[e][branch.action.e1])); + if (branch.possibility <= 0) + return; + } + } + branches.push(branch); + } + }; + for (const eid of stagedEvents) { + if (eid < 0) + continue; + matrixV[eid].forEach((p, id) => { + if (p > 0 && eid !== id) + appendBranch({ action: Action.V(id, eid), possibility: p }); + }); + matrixV.forEach((ps, id) => { + const p = ps[eid]; + if (p > 0) + appendBranch({ action: Action.V(eid, id), possibility: p }); + }); + matrixH[eid].forEach((p, id) => { + if (p > 0) + appendBranch({ action: Action.H(id, eid), possibility: p }); + }); + matrixH.forEach((ps, id) => { + id = id >= Object.keys(eventMap).length ? -1 : id; + const p = ps[eid]; + if (p > 0) + appendBranch({ action: Action.H(eid, id), possibility: p }); + }); + } + // If branches not contains extending actions, clear it. + // Because pure inner vertical action may be harmful + if (!branches.some((branch) => [ActionType.HORIZONTAL, ActionType.PLACE].includes(branch.action.type) || + !stagedEvents.has(branch.action.e1) || + !stagedEvents.has(branch.action.e2))) { + this.children = []; + return; + } + //console.table(branches.map(b => [b.action.id, b.possibility])); + //console.log("branches:", branches.map(b => b.action.id).join(", "), "\n", this.actions.map(a => a.id).join(", ")); + this.children = branches.map((branch) => new PathNode({ logger: this.logger, parent: this, ...branch })); + } +} +class Solver { + constructor(env, { quota = 1000, logger = new DummyLogger() } = {}) { + this.quota = quota; + this.logger = logger; + const event0 = { + id: 0, + x: 0, + confidence: 1, + shrinkness: env.measureShrinkness, + duration: env.expectedDuration, + lowWarp: 0, + }; + this.events = [ + event0, + ...env.events.map((e) => ({ + id: e.id, + x: e.x, + confidence: e.confidence, + shrinkness: e.shrinkness, + staff: e.staff, + duration: e.duration, + lowWarp: 0.5, + })), + ]; + this.eventMap = this.events.reduce((map, e) => ({ ...map, [e.id]: e }), {}); + this.matrixH = env.matrixH; + this.matrixV = env.matrixV; + this.xSpan = env.endX - Math.min(env.endX - 1, ...env.events.map((e) => e.x)); + this.actionAccessing = new Map(); + } + solve() { + // construct path root + this.pathRoot = new PathNode({ + logger: this.logger, + action: null, + }); + this.pathRoot.children = this.events.slice(1).map((event) => new PathNode({ + logger: this.logger, + parent: this.pathRoot, + action: Action.P(event.id), + possibility: this.matrixV[event.id].reduce((sum, p) => sum + p, 0), + })); + let bestSolution = null; + this.logger.groupCollapsed('solve'); + const eventTendencies = Array(this.events.length).fill(0); + const quota = { credits: this.quota, times: 0 }; + while (quota.credits > 0) { + ++quota.times; + const status = { + eventMap: this.eventMap, + matrixH: this.matrixH, + matrixV: this.matrixV, + actionAccessing: this.actionAccessing, + eventTendencies, + }; + const solution = this.pathRoot.deduce(status, quota); + solution.credits = this.quota - quota.credits; + solution.times = quota.times; + this.evaluateSolution(solution); + this.logger.debug('loss:', solution.loss); + bestSolution = !bestSolution || solution.loss < bestSolution.loss ? solution : bestSolution; + if (!bestSolution.loss) + break; + // check if searching tree traversed + if (this.actionAccessing.get('').closed) + break; + } + this.logger.groupEnd(); + this.logger.debug('solution', bestSolution && bestSolution.loss, bestSolution); + this.logger.debug('cost:', this.quota - quota.credits); + this.logger.debug('eventTendencies:', eventTendencies.map((t) => t / quota.times)); + return bestSolution; + } + evaluateSolution(solution) { + solution.loss = 0; + const eventMap = solution.events.reduce((map, e) => ({ ...map, [e.id]: { ...e, ...this.eventMap[e.id] } }), {}); + /*// minus tick + const minuses = solution.events.filter((e) => e.tick < 0).length; + solution.loss += minuses * 1000;*/ + // minus tick rates penalty + const events = solution.events.filter((event) => Number.isFinite(event.tick)).map((event) => eventMap[event.id]); + const sevents = events.reduce((map, event) => { + map[event.staff] = map[event.staff] || []; + map[event.staff].push(event); + return map; + }, {}); + Object.values(sevents).forEach((es) => { + const ses = es.sort((e1, e2) => e1.x - e2.x).slice(0, es.length - 1); + ses.forEach((e1, i) => { + const e2 = es[i + 1]; + if (e2.tick < e1.tick) + solution.loss += 1000; + }); + }); + const times = new Map(); + solution.events.forEach((event) => { + if (!Number.isFinite(event.tick) || solution.voices.every((voice) => !voice.includes(event.id))) + solution.loss += 100 * eventMap[event.id].confidence; + if (event.timeWarp) { + const { numerator, denominator } = event.timeWarp; + const shrinkness = eventMap[event.id].shrinkness; + times.set(numerator, Math.max(times.get(numerator) || 0, 1 - shrinkness)); + times.set(denominator, Math.max(times.get(denominator) || 0, 1 - shrinkness)); + } + }); + // partial measure penalty + const partialFrac = reducedFraction(solution.duration, this.eventMap[0].duration); + times.set(partialFrac.numerator, Math.max(times.get(partialFrac.numerator) || 0, 1 - this.eventMap[0].shrinkness)); + times.set(partialFrac.denominator, Math.max(times.get(partialFrac.denominator) || 0, 1 - this.eventMap[0].shrinkness)); + for (const [n, weight] of times.entries()) { + if (n > 1) + solution.loss += Math.log(n) * weight; + } + let spaceTime = 0; + let staffAlters = 0; + solution.voices.forEach((voice) => { + console.assert(eventMap[voice[0]], 'invalid voice:', voice, Object.keys(eventMap)); + const start = Math.abs(eventMap[voice[0]].tick); // abs: penalty for minus start + const end = eventMap[voice[voice.length - 1]].endTick; + spaceTime += Math.max(0, start + solution.duration - end); + // staff alternation penalty + let staff = null; + voice.forEach((id) => { + const event = eventMap[id]; + if (event.staff !== staff) { + if (staff !== null) + ++staffAlters; + staff = event.staff; + } + }); + }); + solution.loss += (spaceTime * 10) / DURATION_MULTIPLIER; + solution.loss += 5 ** staffAlters - 1; + // tick twist + const eventsXOrder = [...events].sort((e1, e2) => e1.x - e2.x); + const tickTwists = eventsXOrder.slice(1).map((e2, i) => { + const e1 = eventsXOrder[i]; + const dx = e2.x - e1.x; + const dt = e2.tick - e1.tick; + if (!dt) + return dx / this.xSpan; + const rate = Math.atan2(dt / solution.duration, dx / this.xSpan); + return ((rate * 4) / Math.PI - 1) ** 2; + }); + const tickTwist = Math.max(...tickTwists, 0); + solution.loss += tickTwist ** 2; + console.assert(solution.loss >= 0, 'Invalid solution loss!!!', solution.loss, times, spaceTime, staffAlters); + if (solution.loss < 0) + solution.loss = Infinity; + } +} + +class PatchMeasure extends SimpleClass { + constructor(data) { + super(); + Object.assign(this, data); + } + get staffN() { + return Math.floor(Math.log2(this.staffMask)) + 1; + } + get basics() { + return Array(this.staffN).fill(this.basic); + } + get duration() { + return Math.max(0, ...this.voices.map((ids) => { + const events = ids.map((id) => this.events.find((e) => e.id === id)); + return events.reduce((duration, event) => duration + event.duration, 0); + })); + } +} +PatchMeasure.className = 'PatchMeasure'; + +var EventElementType; +(function (EventElementType) { + EventElementType[EventElementType["PAD"] = 0] = "PAD"; + EventElementType[EventElementType["BOS"] = 1] = "BOS"; + EventElementType[EventElementType["EOS"] = 2] = "EOS"; + EventElementType[EventElementType["CHORD"] = 3] = "CHORD"; + EventElementType[EventElementType["REST"] = 4] = "REST"; +})(EventElementType || (EventElementType = {})); +class EventCluster extends SimpleClass { + constructor(data) { + super(); + super.assign(data); + } + get regular() { + return (this.elements.some((elem) => [EventElementType.CHORD, EventElementType.REST].includes(elem.type) && !elem.fake) && + this.elements.every((elem) => [elem.x, elem.y1, elem.y2, elem.tick].every(Number.isFinite)) && + this.elements + .slice(1) + .every((elem, ei) => elem.fake || + this.elements[ei].fake || + elem.grace || + this.elements[ei].grace || + elem.fullMeasure || + this.elements[ei].fullMeasure || + elem.tick <= this.elements[ei].tick || + elem.x > this.elements[ei].x)); + } + get grant() { + return this.annotation && this.annotation.grant; + } + get feature() { + return { + index: this.index, + elements: this.elements, + }; + } + get estimatedDuration() { + const endElem = this.elements.find((elem) => elem.type === EventElementType.EOS); + const tick = endElem?.predisposition ? endElem.predisposition?.tick : endElem?.tick; + return Number.isFinite(tick) ? tick : this.duration; + } + assignPrediction(prediction) { + console.assert(prediction.index === this.index, 'index mismatch:', prediction.index, this.index); + this.matrixH = prediction.matrixH; + prediction.elements.forEach((pe) => { + const { index, ...predisposition } = pe; + const elem = this.elements.find((elem) => elem.index === index); + console.assert(elem, 'element not found:', index); + if (elem) + elem.predisposition = predisposition; + }); + } +} +EventCluster.className = 'EventCluster'; +EventCluster.blackKeys = ['id']; +class EventClusterSet extends SimpleClass { + constructor(data) { + super(); + super.assign(data); + } + trimIrregular() { + let ir = 0; + this.clusters = this.clusters.filter((cluster) => { + const regular = cluster.regular; + if (!regular) { + console.debug('irregular cluster:', cluster); + ++ir; + } + return regular; + }); + if (ir) + console.debug('Irregular clusters trimmed:', `${ir}/${this.clusters.length + ir}`); + else + console.debug(`The EventClusterSet (${this.clusters.length}) is fine.`); + return ir; + } +} +EventClusterSet.className = 'EventClusterSet'; + +var SimplePolicy; +(function (SimplePolicy) { + const constructXMap = (measure) => { + const xMap = new Map(); + // mark full measure rests + measure.rows.forEach((row) => { + if (row.events.length === 1) { + const event = row.events[0]; + if (event.rest && event.division === 0) + event.rest = 'R'; + } + }); + measure.events.forEach((event) => { + const x = Math.round(event.pivotX * 10) / 10; + let key = 0; + if (event.fullMeasureRest) + key = Math.min(x, ...xMap.keys()); + else { + key = + [...xMap.keys()].find((k) => { + // check if the event is aligned with the current chord + const es = xMap.get(k); + const left = Math.min(...es.map((e) => e.left)); + const right = Math.max(...es.map((e) => e.right)); + const overlaySize = Math.min(right, event.right) - Math.max(left, event.left); + return overlaySize > NOTEHEAD_WIDTHS.NoteheadS1 * 0.62; + }) || x; + } + event.roundX = key; + const es = xMap.get(key) || []; + xMap.set(key, es); + es.push(event); + }); + return xMap; + }; + SimplePolicy.computeMeasureTicks = (measure) => { + const xMap = constructXMap(measure); + let tick = 0; + const ts = new Set([tick]); + const eventGroups = [...xMap.entries()].sort(([x1], [x2]) => x1 - x2); //.map(entry => entry[1]); + for (const [x, events] of eventGroups) { + events.forEach((event) => { + if (event.predisposition) { + event.rest = event.rest && event.predisposition.fullMeasure > 0.5 ? 'R' : event.rest; + event.grace = event.predisposition.grace ? GraceType.Grace : null; + event.division = argmax$1(event.predisposition.divisionVector); + event.dots = argmax$1(event.predisposition.dotsVector); + if (event.predisposition.timeWarped > 0.5) + event.timeWarp = frac(2, 3); + } + if (event.fullMeasureRest) + event.tick = 0; + else { + if (event.zeroHolder) + tick -= event.duration; + if (!event.zeroHolder && event.predisposition && Number.isInteger(event.predisposition.tick)) + event.tick = event.predisposition.tick; + else + event.tick = tick; + ts.add(event.tick + event.duration); + } + //console.log("append tick:", event.tick + event.duration, event); + }); + ts.delete(tick); + //column.xToTick[x] = tick; + if (ts.size) + tick = Math.min(...ts); + } + if (Number.isInteger(measure.estimatedDuration)) + measure.duration = measure.estimatedDuration; + else + measure.duration = Math.max(...ts, 0); + }; + SimplePolicy.computeMeasureVoices = (measure) => { + measure.voices = []; + for (const row of measure.rows) { + const events = row.events.filter((event) => !event.grace && !event.tremoloCatcher && !event.fullMeasureRest && !(event.predisposition && event.predisposition.fake > 0.5)); + const eventSet = new Set(events); + while (eventSet.size) { + let tick = 0; + const voice = []; + const pushEvent = (e) => { + voice.push(e.id); + if (!e.zeroHolder) + tick += e.duration; + eventSet.delete(e); + }; + const e0 = events.find((e) => eventSet.has(e)); + if (e0.alignedTick > 0) { + //voice.tickMap[tick] = EventTerm.space({ tick, duration: e0.alignedTick }); + tick = e0.alignedTick; + } + pushEvent(e0); + while (true) { + // TODO: consider slur pair + const e = events.find((e) => eventSet.has(e) && e.alignedTick === tick); + if (!e) + break; + pushEvent(e); + } + //if (tick < measure.duration) + // voice.tickMap[tick] = EventTerm.space({ tick, duration: staff.duration - tick }); + measure.voices.push(voice); + } + } + }; +})(SimplePolicy || (SimplePolicy = {})); +const solveGraceEvents = (measure) => { + const graceEvents = measure.events.filter((event) => event.grace /*&& !Number.isFinite(event.tick)*/); + if (!graceEvents.length) + return; + const tickMap = measure.tickMap; + const staffMap = [...tickMap.entries()].reduce((smap, [tick, events]) => { + events.forEach((event) => { + if (!event.grace) { + smap[event.staff] = smap[event.staff] || {}; + const oldEvent = smap[event.staff][tick]; + smap[event.staff][tick] = !oldEvent || oldEvent.x > event.x ? event : oldEvent; + } + }); + return smap; + }, {}); + const staffPositions = Object.entries(staffMap).reduce((map, [staff, emap]) => { + map[staff] = Object.entries(emap) + .map(([t, event]) => ({ event, tick: Number(t), preTick: -240, graces: [] })) + .sort((p1, p2) => p1.event.x - p2.event.x); + map[staff].push({ tick: measure.duration, event: measure.endEvent, preTick: 0, graces: [] }); // terminal bar + let tick = 0; + map[staff].forEach((position) => { + if (position.tick > tick) { + position.preTick = tick; + tick = position.tick; + } + }); + return map; + }, {}); + // append grace events into positions + graceEvents.forEach((event) => { + const staff = staffPositions[event.staff]; + if (staff) { + const position = staff.find((p) => p.event.x > event.x); + if (position) + position.graces.push(event); + event.roundX = event.x; + //if (position.tick >= measure.duration) + // event.grace = GraceType.AfterGrace; + } + }); + Object.values(staffPositions).forEach((staff) => staff.forEach((position) => { + if (position.graces.length) { + position.event.graceIds = position.graces.map((e) => e.id); + const totalDuration = position.graces.reduce((t, e) => t + e.duration, 0); + const duration = Math.min(totalDuration, position.tick - position.preTick); + const warp = duration / totalDuration; + let tick = position.tick; + [...position.graces].reverse().forEach((event) => { + event.tick = Math.round(tick - event.duration * warp); + tick = event.tick; + }); + } + })); +}; +const solveTremoloPairs = (measure) => { + const catchers = measure.events.filter((event) => event.tremoloCatcher && !event.grace); + const pitchers = measure.events.filter((event) => event.tremoloLink === TremoloLink.Pitcher && !event.grace); + catchers.forEach((catcher) => { + let candidates = pitchers.filter((event) => event.division === catcher.division && event.x < catcher.x); + if (!candidates.length) + candidates = measure.events.filter((event) => Number.isFinite(event.tick) && + !event.grace && + !event.rest && + event.division === catcher.division && + event.dots === catcher.dots && + event.x < catcher.x); + candidates.sort((c1, c2) => c2.x - c1.x); + if (candidates.length) { + const pitcher = candidates[0]; + pitcher.catcherId = catcher.id; + const tremolo = Math.max(pitcher.tremolo || 3, catcher.tremolo || 3); + pitcher.tremolo = tremolo; + catcher.tremolo = tremolo; + if (!catcher.tick) + catcher.tick = pitcher.tick + pitcher.duration / 2; + const pi = pitchers.indexOf(pitcher); + if (pi >= 0) + pitchers.splice(pi, 1); + } + }); +}; +var EquationPolicy; +(function (EquationPolicy) { + const DURATION_MULTIPLIER = 128 * 3 * 5 * 7 * 11 * 13; + const CHORDS_SEAM_SIGMA = 0.6; + const NEIGHBOR_CHORDS_SIGMA = 1.6; + const Y_DECAY_SIGMA = 16; + const STAFF_DECAY_FACTOR = 2; + const STEM_DIRECTION_DECAY = 0.9; + const ILL_BEAMS_PENALTY = 0.2; + const INVERT_SQRT2 = 0.7071067811865475; + const MATRIX_H_WEIGHT = 3; + const FINE_BEAMS = [ + [null, null], + [null, StemBeam.Open], + [StemBeam.Open, StemBeam.Continue], + [StemBeam.Open, StemBeam.Close], + [StemBeam.Continue, StemBeam.Continue], + [StemBeam.Continue, StemBeam.Close], + [StemBeam.Close, null], + [StemBeam.Close, StemBeam.Open], + ].map((bb) => bb.join('-')); + const solveStaffGroup = (staffGroup, options) => { + if (!staffGroup.events.length) { + return { + events: [], + voices: [], + duration: 0, + }; + } + const solver = new Solver(staffGroup, options); + return solver.solve(); + }; + EquationPolicy.estiamteMeasure = (measure) => { + const allEvents = measure.events + .filter((event) => !event.zeroHolder) + .map((event) => ({ + id: event.id, + staff: event.staff, + x: event.x, + tickEstimated: event.predisposition && Number.isFinite(event.predisposition.tick) ? event.predisposition.tick : event.x, + tipX: event.tipX, + y: event.tipY + event.staff * 100, + duration: (event.mainDuration * DURATION_MULTIPLIER) / WHOLE_DURATION, + division: event.division, + dots: event.dots, + stemDirection: event.stemDirection, + beam: event.beam, + rest: event.rest, + // the possibility of full measure rest + pR: event.rest === 'R' ? 1 : event.rest === 'r' && event.division === 0 ? Math.tanh(event.x - measure.eventStartX) : 0, + fakeP: event.predisposition ? event.predisposition.fakeP || 0 : 0, + shrinkness: event.predisposition ? event.predisposition.timeWarped : null, + })); + let expectedDuration = (DURATION_MULTIPLIER * measure.timeSignature.numerator) / measure.timeSignature.denominator; + if (Number.isFinite(measure.estimatedDuration)) + expectedDuration = Math.max(expectedDuration, roundNumber(measure.estimatedDuration, DURATION_MULTIPLIER / 4)); + const staffGroupMap = measure.staffGroups.reduce((map, staves, group) => { + staves.forEach((staff) => (map[staff] = group)); + return map; + }, {}); + const ids = [0, ...allEvents.map((e) => e.id)]; // compact ids + const ievents = allEvents.map((e) => ({ + ...e, + id: ids.indexOf(e.id), + x: e.x - measure.startX, + confidence: (1 - e.pR) * (1 - e.fakeP), + shrinkness: Number.isFinite(e.shrinkness) ? e.shrinkness : Math.tanh((e.division - e.dots * 0.1) / 4), + staffGroup: staffGroupMap[e.staff], + })); + // estimate topology matrices + const matrixH = Array(ids.length + 1) + .fill(null) + .map(() => Array(ids.length).fill(0)); + const matrixV = Array(ids.length) + .fill(null) + .map(() => Array(ids.length).fill(0)); + //const hp = (dx: number): number => 1 - erf(((dx / NEIGHBOR_CHORDS_SIGMA) ** 0.6) * INVERT_SQRT2); + const hp = (dx) => erf__default["default"](dx / NEIGHBOR_CHORDS_SIGMA) * erf__default["default"](NEIGHBOR_CHORDS_SIGMA / dx); + for (const e1 of ievents) { + for (const e2 of ievents) { + matrixV[e1.id][e2.id] = + e1 !== e2 && e1.tickEstimated >= e2.tickEstimated ? 1 - erf__default["default"](((e1.tickEstimated - e2.tickEstimated) * INVERT_SQRT2) / CHORDS_SEAM_SIGMA) : 0; + if (e1.staffGroup !== e2.staffGroup) + matrixH[e1.id][e2.id] = 0; + // prohibit voice crossing staff groups + else if (e1.x <= e2.x) + matrixH[e1.id][e2.id] = 0; + else { + const staffDecay = Math.exp(-Math.abs(e1.staff - e2.staff) * STAFF_DECAY_FACTOR); + const yDecay = e1.staff === e2.staff ? Math.exp(-Math.abs(e1.y - e2.y) / Y_DECAY_SIGMA) : 1; + const dx = e1.x - e2.x; + const dtx = e1.tipX - e2.tipX; + matrixH[e1.id][e2.id] = (staffDecay * yDecay * Math.min(hp(dx), hp(dtx))) ** (1 / MATRIX_H_WEIGHT); + } + // weaken full measure rest connections + const nR = (1 - e1.pR) * (1 - e2.pR); + matrixV[e1.id][e2.id] *= nR; + matrixH[e1.id][e2.id] *= nR; + if (matrixV[e1.id][e2.id] < 1e-2) + matrixV[e1.id][e2.id] = 0; + // weaken inconsistent stem directions + if (e1.stemDirection && e2.stemDirection && e1.stemDirection !== e2.stemDirection) + matrixH[e1.id][e2.id] *= STEM_DIRECTION_DECAY; + // ill beams penalty + if (!e1.rest && !e2.rest && !FINE_BEAMS.includes([e2.beam, e1.beam].join('-'))) + matrixH[e1.id][e2.id] *= ILL_BEAMS_PENALTY; + } + // H possibility of e1 and end of measure + matrixH[ids.length][e1.id] = hp(measure.width - e1.x) ** (1 / MATRIX_H_WEIGHT); + } + return { + ids, + events: ievents, + expectedDuration, + measureShrinkness: 0, + endX: measure.position.right, + matrixH, + matrixV, + }; + }; + EquationPolicy.regulateMeasure = async (measure, { solver = null, ...options }) => { + const env = EquationPolicy.estiamteMeasure(measure); + const { ids, matrixH, matrixV } = env; + // copy matrices values from measure topology data + if (measure.matrixH) { + console.assert(measure.matrixH.length > ids[ids.length - 1] && measure.matrixH[0].length > ids[ids.length - 1], 'matrix shape mismatch:', ids.length, `${measure.matrixH.length}x${measure.matrixH[0].length}`, `${matrixH.length}x${matrixH[0].length}`); + for (let i = 0; i < ids.length + 1; i++) { + const ii = i < ids.length ? ids[i] : measure.matrixH.length - 1; + for (let j = 1; j < ids.length; j++) + matrixH[i][j] = measure.matrixH[ii][ids[j]]; + } + } + if (measure.matrixV) { + matrixV.forEach((row, i) => row.forEach((_, j) => { + const mp = measure.matrixV[ids[i]][ids[j]]; + if (Number.isFinite(mp)) + matrixV[i][j] = mp; + })); + } + if (Number.isFinite(measure.estimatedDuration)) + env.measureShrinkness = Math.tanh(Math.log(Math.min(1, measure.estimatedDuration / measure.duration)) * -3); + if (options.logger) + options.logger.info('--- MEASURE', measure.measureIndex, '---', env); + const solution = solver ? await solver(env, options) : solveStaffGroup(env, options); + const resultEvents = solution.events.map((e) => ({ + ...e, + id: env.ids[e.id], // decode compact ids + })); + resultEvents.forEach((e) => { + const event = measure.events.find((e0) => e0.id === e.id); + event.tick = Number.isFinite(e.tick) ? Math.round((e.tick * WHOLE_DURATION) / DURATION_MULTIPLIER) : null; + event.tickGroup = e.tickGroup; + event.timeWarp = e.timeWarp; + }); + measure.duration = Math.round((solution.duration * WHOLE_DURATION) / DURATION_MULTIPLIER); + measure.voices = solution.voices.map((voice) => voice.map((id) => env.ids[id])); + measure.solutionStat = { + loss: solution.loss, + solverCredits: solution.credits, + solverTimes: solution.times, + }; + // full measure rests + measure.events.forEach((event) => { + const result = resultEvents.find((e) => e.id === event.id); + if (!result) + return; + else if (!Number.isFinite(result.tick) && event.rest === 'r' && event.division === 0) { + event.tick = 0; + event.tickGroup = 0; + event.rest = 'R'; + event.duration = measure.duration; + measure.voices.push([event.id]); + } + else if (event.rest === 'R') { + event.tick = 0; + event.tickGroup = 0; + event.duration = measure.duration; + measure.voices.push([event.id]); + } + }); + }; + EquationPolicy.regulateMeasureWithRectification = async (measure, rectification, { solver = null, ...options }) => { + const allEvents = measure.events + .filter((event) => !event.zeroHolder) + .map((event) => { + const re = rectification.events.find((e) => e && e.id === event.id); + const division = Number.isFinite(re?.division) ? re.division : event.division; + const dots = Number.isFinite(re?.dots) ? re.dots : event.dots; + const duration = DURATION_MULTIPLIER * 2 ** -division * (2 - 2 ** -dots); + return { + id: event.id, + staff: event.staff, + x: event.x, + tickEstimated: event.predisposition?.tick, + y: event.tipY + event.staff * 100, + duration, + // the possibility of full measure rest + pR: event.rest === 'R' ? 1 : event.rest === 'r' && event.division === 0 ? Math.tanh(event.x - measure.eventStartX) : 0, + fakeP: event.predisposition ? event.predisposition.fakeP || 0 : 0, + shrinkness: event.predisposition?.timeWarped || 0, + }; + }); + let expectedDuration = (DURATION_MULTIPLIER * measure.timeSignature.numerator) / measure.timeSignature.denominator; + if (Number.isFinite(measure.estimatedDuration)) + expectedDuration = Math.max(expectedDuration, roundNumber(measure.estimatedDuration, DURATION_MULTIPLIER / 4)); + const staffGroupMap = measure.staffGroups.reduce((map, staves, group) => { + staves.forEach((staff) => (map[staff] = group)); + return map; + }, {}); + const ids = [0, ...allEvents.map((e) => e.id)]; // compact ids + const ievents = allEvents.map((e) => ({ + ...e, + id: ids.indexOf(e.id), + x: e.x - measure.startX, + confidence: (1 - e.pR) * (1 - e.fakeP), + shrinkness: e.shrinkness, + staffGroup: staffGroupMap[e.staff], + })); + // estimate topology matrices + const matrixH = Array(ids.length + 1) + .fill(null) + .map(() => Array(ids.length).fill(0)); + const matrixV = Array(ids.length) + .fill(null) + .map(() => Array(ids.length).fill(0)); + for (const e1 of ievents) { + for (const e2 of ievents) { + matrixV[e1.id][e2.id] = + e1 !== e2 && e1.tickEstimated >= e2.tickEstimated ? 1 - erf__default["default"](((e1.tickEstimated - e2.tickEstimated) * INVERT_SQRT2) / CHORDS_SEAM_SIGMA) : 0; + // weaken full measure rest connections + const nR = (1 - e1.pR) * (1 - e2.pR); + matrixV[e1.id][e2.id] *= nR; + if (matrixV[e1.id][e2.id] < 1e-2) + matrixV[e1.id][e2.id] = 0; + } + } + // copy matrices values from measure topology data + console.assert(measure.matrixH && measure.matrixH.length > ids[ids.length - 1] && measure.matrixH[0].length > ids[ids.length - 1], 'matrix shape mismatch:', ids.length, `${measure.matrixH.length}x${measure.matrixH[0].length}`, `${matrixH.length}x${matrixH[0].length}`); + for (let i = 0; i < ids.length + 1; i++) { + const ii = i < ids.length ? ids[i] : measure.matrixH.length - 1; + for (let j = 1; j < ids.length; j++) + matrixH[i][j] = measure.matrixH[ii][ids[j]]; + } + let measureShrinkness = 0; + if (Number.isFinite(measure.estimatedDuration)) + measureShrinkness = Math.tanh(Math.log(Math.min(1, measure.estimatedDuration / measure.duration)) * -3); + const env = { + ids, + events: ievents, + expectedDuration, + measureShrinkness, + endX: measure.position.right, + matrixH, + matrixV, + }; + const solution = solver ? await solver(env, options) : solveStaffGroup(env, options); + const priority = -solution.loss; + const events = solution.events.map(({ id, tick, tickGroup, timeWarp }) => { + const re = rectification.events.find((e) => e && e.id === id); + const tickN = Number.isFinite(tick) ? Math.round((tick * WHOLE_DURATION) / DURATION_MULTIPLIER) : tick; + return { + id, + tick: tickN, + tickGroup, + timeWarp, + division: re?.division, + dots: re?.dots, + }; + }); + const duration = Math.round((solution.duration * WHOLE_DURATION) / DURATION_MULTIPLIER); + return { + events, + voices: solution.voices, + duration, + priority, + }; + }; +})(EquationPolicy || (EquationPolicy = {})); +class SpartitoMeasure extends SimpleClass { + static reorderEvents(events, staffYsFull) { + const HALF_NOTEHEAD = 0.7; + const ys = []; + const es = events.map((e) => ({ + id: e.id, + staff: e.staff, + x: e.x / HALF_NOTEHEAD, + rx: 0, + ry: staffYsFull[e.staff] + e.tipY, + tipY: e.tipY, + prior: 0, + })); + es.sort((e1, e2) => e1.x - e2.x); + es.slice(1).forEach((e, i) => { + const dx = Math.min(Math.round(e.x - es[i].x), 2); + e.rx = es[i].rx + dx; + }); + es.forEach((e) => { + e.prior = e.staff * 1e4 + e.rx + e.tipY * 0.01; + if (!ys.includes(e.ry)) + ys.push(e.ry); + }); + es.sort((e1, e2) => e1.prior - e2.prior); + ys.sort((y1, y2) => y1 - y2); + let yi = 0; + const yis = ys.map((y, i) => { + if (!i || ys[i] - ys[i - 1] < 0.5) + return yi; + ++yi; + return yi; + }); + const result = es.map((e) => new EventTerm({ ...events.find((ev) => ev.id === e.id), intX: e.rx, intY: yis[ys.indexOf(e.ry)] })); + result.forEach((e, i) => (e.id = i + 1)); + return result; + } + constructor(data) { + super(); + super.assign(data); + if (!this.originalRegulationHash && !this.regulated) + this.originalRegulationHash = this.regulationHash; + this.barTypes = this.barTypes || {}; + // Ensure postRegulate runs for measures deserialized with voices (e.g. from patches/JSON) + // to set endEvent and roundX needed for playback cursor positioning. + if (this.regulated && this.position) + this.postRegulate(); + } + get timeSignature() { + return this.basics && this.basics[0].timeSignature; + } + get keySignature() { + return this.basics && this.basics[0].keySignature; + } + get timeSignatureChanged() { + return this.contexts.filter(Boolean)[0].some((term) => [ContextType.TimeSignatureC, ContextType.TimeSignatureN].includes(term.type)); + } + get doubtfulTimesig() { + return this.basics && this.basics[0].doubtfulTimesig; + } + get regulated() { + return !!this.voices; + } + get validRegulated() { + if (!this.voices) + return false; + return this.voices.flat(1).every((id) => Number.isFinite(this.events.find((e) => e.id === id)?.tick)); + } + get rows() { + return this.contexts.map((contexts, si) => { + const events = this.events.filter((e) => e.staff === si); + return { + events, + contexts, + }; + }); + } + get eventStartX() { + return this.events.length ? Math.min(...this.events.map((e) => e.x)) : this.startX; + } + get startX() { + return this.position.left; + } + get width() { + return this.position.right - this.position.left; + } + get tickMap() { + return this.events + .concat([this.endEvent]) + .filter(Boolean) + .reduce((map, event) => { + if (Number.isFinite(event.tick)) { + if (!map.has(event.tick)) + map.set(event.tick, []); + map.get(event.tick).push(event); + } + return map; + }, new Map()); + } + get tickToX() { + return [...this.tickMap.entries()].reduce((map, [tick, events]) => { + events = events.filter((e) => !e.fullMeasureRest && !e.grace); + if (events.length) { + const x = Math.min(...events.map((e) => e.x)); + map[tick] = x; + } + return map; + }, {}); + } + get tickRates() { + const events = this.events.filter((event) => Number.isFinite(event.tick) && !event.fullMeasureRest); + events.sort((e1, e2) => e1.x - e2.x); + return events.slice(0, events.length - 1).map((e1, i) => { + const e2 = events[i + 1]; + return (e2.tick - e1.tick) / Math.max(e2.x - e1.x, 1e-3); + }); + } + get tickRatesInStaves() { + const events = this.events.filter((event) => Number.isFinite(event.tick) && !event.fullMeasureRest && !event.grace); + const sevents = events.reduce((map, event) => { + map[event.staff] = map[event.staff] || []; + map[event.staff].push(event); + return map; + }, {}); + const rates = Object.values(sevents).map((es) => es + .sort((e1, e2) => e1.x - e2.x) + .slice(0, es.length - 1) + .map((e1, i) => { + const e2 = es[i + 1]; + return (e2.tick - e1.tick) / Math.max(e2.x - e1.x, 1e-3); + })); + return [].concat(...rates); + } + get tickRatesInGroups() { + const events = this.events.filter((event) => Number.isFinite(event.tick) && !event.fullMeasureRest); + const gevents = events.reduce((map, event) => { + const groupIndex = this.staffGroups.findIndex((group) => group.includes(event.staff)); + map[groupIndex] = map[groupIndex] || []; + map[groupIndex].push(event); + return map; + }, {}); + const rates = Object.values(gevents).map((es) => es + .sort((e1, e2) => e1.x - e2.x) + .slice(0, es.length - 1) + .map((e1, i) => { + const e2 = es[i + 1]; + return (e2.tick - e1.tick) / Math.max(e2.x - e1.x, 1e-3); + })); + return [].concat(...rates); + } + get tickTwist() { + if (!this.duration || !this.staffGroups) + return undefined; + const events = this.events.filter((event) => Number.isFinite(event.tick) && !event.fullMeasureRest && !event.grace && !event.tremoloCatcher && !(event.rest && event.division === 0)); // ignore rest0 + const gevents = events.reduce((map, event) => { + const groupIndex = this.staffGroups.findIndex((group) => group.includes(event.staff)); + map[groupIndex] = map[groupIndex] || []; + map[groupIndex].push(event); + return map; + }, {}); + const twists = Object.values(gevents).map((es) => { + const eventsXOrder = [...es].sort((e1, e2) => e1.pivotX - e2.pivotX); + const xSpan = this.position.right - eventsXOrder[0].x; + const tickTwists = eventsXOrder.slice(1).map((e2, i) => { + const e1 = eventsXOrder[i]; + const dx = e2.pivotX - e1.pivotX; + const dt = e2.tick - e1.tick; + if (!dt) + return dx / xSpan; + const rate = Math.atan2(dt / this.duration, dx / xSpan); + return ((rate * 4) / Math.PI - 1) ** 2; + }); + return Math.max(0, ...tickTwists); + }); + return Math.max(0, ...twists); + } + get eventMap() { + return this.events.reduce((map, event) => { + map[event.id] = event; + return map; + }, {}); + } + get empty() { + return !this.events?.length || !this.voices?.length; + } + get hasIllEvent() { + return this.regulated && this.events.some((event) => !event.zeroHolder && !Number.isFinite(event.tick) && !event.fullMeasureRest); + } + get brief() { + const timesig = `${this.timeSignature.numerator}/${this.timeSignature.denominator}`; + const eventBrieves = this.events.map((e) => [ + e.staff, + e.intX, + Math.round(e.tip ? e.tip.y : e.ys?.[0] ?? 0), + e.fullMeasureRest ? 0 : e.division, + e.fullMeasureRest ? 0 : e.dots, + e.rest ? 'r' : '', + e.grace || '', + e.stemDirection, + e.beam || '', + ].join('|')); + return [timesig, ...eventBrieves].join('\n'); + } + get regulationHash() { + return sha1__default["default"](this.brief); + } + // prefer use originalRegulationHash + get regulationHash0() { + return this.originalRegulationHash || this.regulationHash; + } + get regulationHashes() { + return Array.from(new Set([this.originalRegulationHash, this.regulationHash].filter(Boolean))); + } + get featureWords() { + if (!this.regulated || !this.voices || !this.voices.length) + return null; + const invalid = this.tickRatesInStaves.some((rate) => rate < 0); + const mainEvents = this.events.filter((event) => !event.zeroHolder && !event.rest); + const ys = mainEvents + .map((event) => event.ys) + .flat(1) + .map((y) => `Y${-y * 2}`); + const uys = Array.from(new Set(ys)); + if (this.keySignature) + uys.push(`K${this.keySignature}`); + const voices = this.voices + .map((ids) => ids.map((id) => this.events.find((e) => e.id === id)).filter((event) => !event.zeroHolder && !event.rest)) + .filter((voice) => voice.length); + const melodies = invalid ? [] : voices.map((es) => es.map((e) => e.scaleChord).join('-')); + const rhythm = invalid ? [] : voices.map((es) => es.map((e) => e.division).join('')); + if (this.timeSignature) + rhythm.push(`T${this.timeSignature.numerator}/${this.timeSignature.denominator}`); + return [uys, melodies, rhythm]; + } + get barType() { + if (this.voltaEnd) + return 'VoltaRight'; + const typeEntris = Object.entries(this.barTypes).sort((e1, e2) => e2[1] - e1[1]); + if (typeEntris[0] && typeEntris[0][1] >= 1) + return typeEntris[0][0]; + return null; + } + get partialDuration() { + if (!Number.isFinite(this.duration)) + return false; + const signatureDuration = fractionMul(WHOLE_DURATION, this.timeSignature); + return this.duration < signatureDuration; + } + postRegulate() { + this.endEvent = new EventTerm({ tick: this.duration, x: this.position.right }); + this.updateRoundX(); + solveGraceEvents(this); + solveTremoloPairs(this); + this.updateContextTick(); + } + updateRoundX() { + const tickToX = this.tickToX; + if (tickToX) + this.events.forEach((event) => { + const x = tickToX[event.tick]; + if (Number.isFinite(x)) + event.roundX = x; + }); + } + updateContextTick() { + if (!this.staffGroups) + return; + const contexts = this.contexts.flat(1); + this.staffGroups.flat(1).forEach((staffIndex) => { + const terms = [...this.events.filter((e) => e.staff === staffIndex), ...contexts.filter((c) => c.staff === staffIndex)]; + terms.sort((t1, t2) => t2.x - t1.x); // order by x from right to left + let tick = this.duration; + terms.forEach((term) => { + if (term instanceof EventTerm) { + if (!term.fullMeasureRest && !term.zeroHolder) + tick = term.tick; + } + else if (term instanceof ContextedTerm) + term.tick = tick; + }); + }); + } + asSolution(ref = undefined) { + if (!this.regulated) + return null; + //let timeSignature = undefined; + //if (ref && printFraction(ref.timeSignature) !== printFraction(this.timeSignature)) timeSignature = this.timeSignature; + return { + //timeSignature, + events: this.events.map((e) => { + const se = { + id: e.id, + tick: e.tick, + tickGroup: e.tickGroup, + timeWarp: e.timeWarp, + }; + if (ref) { + const refEvent = ref.events.find((re) => re.id === e.id); + if (refEvent) { + if (e.division !== refEvent.division) + se.division = e.division; + if (e.dots !== refEvent.dots) + se.dots = e.dots; + if (e.grace !== refEvent.grace) + se.grace = !!e.grace; + if (e.beam !== refEvent.beam) + se.beam = e.beam; + if (e.fullMeasureRest !== refEvent.fullMeasureRest) + se.fullMeasure = e.fullMeasureRest; + } + } + return se; + }), + voices: this.voices, + duration: this.duration, + priority: -this.solutionStat?.loss, + }; + } + applySolution(solution) { + if (solution.timeSignature) { + this.basics.forEach((basic) => { + basic.timeSignature = solution.timeSignature; + basic.doubtfulTimesig = false; + }); + } + this.voices = solution.voices; + this.duration = solution.duration; + this.events.forEach((event) => { + event.timeWarp = null; + event.tick = null; + event.tickGroup = null; + const se = solution.events?.find((e) => e.id === event.id); + if (se) { + event.tick = se.tick; + event.timeWarp = se.timeWarp; + event.tickGroup = se.tickGroup; + if (Number.isFinite(se.division)) + event.division = se.division; + if (Number.isFinite(se.dots)) + event.dots = se.dots; + if (se.beam) + event.beam = se.beam; + if (se.grace !== undefined) + event.grace = se.grace ? GraceType.Grace : undefined; + if (se.fullMeasure) + event.rest = 'R'; + } + }); + if (Number.isFinite(solution.priority)) + this.solutionStat = { loss: -solution.priority }; + this.postRegulate(); + } + cleanupRegulation() { + this.voices = null; + this.duration = null; + this.events.forEach((event) => { + event.tick = null; + event.tickGroup = null; + event.timeWarp = null; + }); + } + regulateTest() { + this.duration = 0; + this.voices = this.rows.map((row) => row.events.map((e) => e.id)); + this.voices.forEach((ids) => { + let tick = 0; + const events = ids.map((id) => this.events.find((e) => e.id === id)); + events.forEach((e, index) => { + e.tickGroup = index; + e.tick = tick; + tick += e.duration; + }); + this.duration = Math.max(this.duration, tick); + }); + } + regulateSimple() { + SimplePolicy.computeMeasureTicks(this); + SimplePolicy.computeMeasureVoices(this); + } + async regulateEquations(options) { + await EquationPolicy.regulateMeasure(this, options); + } + // compute event.tick, event.tickGroup, event.timeWarp, voices, duration + async regulate({ policy = 'advanced', ...options } = {}) { + switch (policy) { + case 'test': + this.regulateTest(); + break; + case 'equations': + case 'advanced': + await this.regulateEquations(options); + break; + case 'simple': + default: + this.regulateSimple(); + } + this.postRegulate(); + } + createPatch() { + return new PatchMeasure({ + measureIndex: this.measureIndex, + staffMask: this.staffMask, + basic: this.basics[0], + //points: [], + events: this.events, + contexts: this.contexts, + marks: this.marks, + voices: this.voices, + }); + } + createClusters() { + const trueEventIds = this.voices && new Set(this.voices.flat(1)); + return this.staffGroups + .filter((idx) => idx.length) + .map((staffIndices) => { + const staffY0 = this.position.staffYs[0]; + const staffYn = (n) => this.position.staffYs[staffIndices.indexOf(n)] - staffY0; + const events = this.events.filter((event) => staffIndices.includes(event.staff)); + if (!events.length) + return null; + const elements = events.map((event) => ({ + index: event.id, + voice: (this.voices || []).findIndex((voice) => voice.includes(event.id)), + type: event.rest ? EventElementType.REST : EventElementType.CHORD, + staff: staffIndices.indexOf(event.staff), + x: event.tipX, + pivotX: event.pivotX, + y1: staffYn(event.staff) + (event.stemDirection === 'u' ? event.tipY : event.ys[event.ys.length - 1]), + y2: staffYn(event.staff) + (event.stemDirection === 'u' ? event.ys[0] : event.tipY), + headY: event.stemDirection === 'u' ? event.ys[0] : event.ys[event.ys.length - 1], + feature: event.feature, + division: event.division, + dots: event.dots, + beam: event.beam || null, + stemDirection: event.stemDirection, + grace: !!event.grace, + tremoloCatcher: event.tremoloCatcher, + timeWarped: !!event.timeWarp, + fullMeasure: event.fullMeasureRest, + tick: event.tick || 0, + fake: !event.fullMeasureRest && !event.grace && this.voices && !trueEventIds.has(event.id), // tremoloCatcher deemed as fake + })); + if (!elements.some((elem) => !elem.fake)) + return null; + const signatureDuration = fractionMul(WHOLE_DURATION, this.timeSignature); + // BOS & EOS + elements.unshift({ + index: 0, + type: EventElementType.BOS, + staff: null, + division: null, + beam: null, + dots: null, + stemDirection: null, + grace: false, + tremoloCatcher: false, + fullMeasure: false, + x: this.position.left, + pivotX: this.position.left, + y1: 0, + y2: 0, + headY: 0, + feature: null, + timeWarped: this.duration < signatureDuration, + tick: 0, + fake: false, + }); + elements.push({ + index: -1, + type: EventElementType.EOS, + staff: null, + division: null, + beam: null, + dots: null, + stemDirection: null, + grace: false, + tremoloCatcher: false, + fullMeasure: false, + x: this.position.right, + pivotX: this.position.right, + y1: 0, + y2: 0, + headY: 0, + feature: null, + timeWarped: false, + tick: this.duration, + fake: false, + }); + let matrixH = null; + if (this.voices) { + matrixH = elements.map(() => elements.map(() => 0)); + this.voices.forEach((voice) => { + let tar = 0; + voice.forEach((id) => { + const src = elements.findIndex((e) => e.index === id); + if (src > 0 && tar >= 0) + matrixH[src][tar] = 1; + tar = src; + }); + if (tar >= 0) + matrixH[elements.length - 1][tar] = 1; + }); + } + const annotation = { ...this.solutionStat, patched: this.patched }; + const backgroundImages = this.backgroundImages && + this.backgroundImages.map(({ url, position }) => ({ + url, + position: { + ...position, + y: position.y - staffY0, + }, + })); + return new EventCluster({ + index: this.measureIndex, + duration: this.duration, + signatureDuration, + staffY0, + elements, + matrixH, + annotation, + backgroundImages, + }); + }) + .filter(Boolean); + } + applyClusters(clusters) { + const id_max = this.events.reduce((max, event) => Math.max(max, event.id), 0) + 1; + this.matrixH = Array(id_max + 1) + .fill(null) + .map(() => Array(id_max).fill(0)); + clusters.forEach((cluster) => { + const ids = cluster.elements.map((e) => e.index); + console.assert(cluster.matrixH.length === ids.length - 1, 'unexpected matrixH size:', cluster.matrixH.length, ids.length); + for (let is = 1; is < ids.length; ++is) { + for (let it = 0; it < ids.length - 1; ++it) { + const srcId = ids[is] < 0 ? id_max : ids[is]; + const tarId = ids[it]; + this.matrixH[srcId][tarId] = cluster.matrixH[is - 1][it]; + } + } + // event predisposition + cluster.elements.forEach((elem) => { + const event = this.events.find((event) => event.id === elem.index); + if (event) { + event.predisposition = elem.predisposition; + if (event.predisposition.grace !== undefined) + event.grace = event.predisposition.grace ? GraceType.Grace : null; + } + }); + }); + // estimated measure duration + this.estimatedDuration = clusters.reduce((sum, cluster) => sum + cluster.estimatedDuration, 0) / clusters.length; + } +} +SpartitoMeasure.className = 'SpartitoMeasure'; +SpartitoMeasure.blackKeys = ['staffGroups', 'solutionStat', 'measureNumber', 'deposit']; + +const emptyVoiceFromStaffMeasure = (staff, chiefVoice = false) => { + return { + empty: true, + duration: staff.duration, + tickMap: { + [0]: EventTerm.space({ duration: staff.duration, tick: 0 }), + }, + timeSignature: staff.timeSignature, + timeSigNumeric: staff.timeSigNumeric, + keySignature: staff.keySignature, + contextedTerms: staff.terms.filter((term) => term instanceof ContextedTerm && (!term.staffLevel || chiefVoice)), + marks: [], + }; +}; +const removeEmptyMeasuresInVoicesStaves = (staves) => { + //console.assert(staves[0] && staves[0].voices[0], 'voices is empty:', staves); + if (!(staves[0] && staves[0].voices[0])) { + console.warn('empty voices:', staves); + return; + } + const measureCount = staves[0].voices[0].measures.length; + const measureEmpties = Array(measureCount) + .fill(null) + .map((_, m) => { + for (const staff of staves) { + for (const voice of staff.voices) { + const measure = voice.measures[m]; + if (!measure.empty) + return false; + } + } + return true; + }); + measureEmpties.forEach((empty, m) => { + if (empty) { + staves.forEach((staff) => staff.voices.forEach((voice) => { + const measure = voice.measures[m]; + measure.tickMap = {}; + })); + } + }); +}; +const markingTiesInVoice = (voice) => { + const events = [].concat(...voice.measures.map((m) => Object.values(m.tickMap).filter((event) => event instanceof EventTerm))); + //console.log("events:", events); + for (let i = 1; i < events.length; ++i) { + const event0 = events[i - 1]; + const event1 = events[i]; + if (!event0.rest && !event1.rest) { + if (event0.accessories.some((acc) => acc.type === TokenType.SlurBegin) && event1.accessories.some((acc) => acc.type === TokenType.SlurEnd)) { + const pitches = event0.pitches.filter((p0) => event1.pitches.some((p1) => p1.note === p0.note && p1.alter === p0.alter)); + if (pitches.length > 0) { + event0.tying = true; + event1.tied = true; + pitches.forEach((p0) => { + p0.tying = true; + const p1 = event1.pitches.find((p1) => p1.note === p0.note && p1.alter === p0.alter); + p1.tied = true; + }); + // remove slurs from accessories + pitches.forEach(() => { + const si0 = event0.accessories.findIndex((acc) => acc.type === TokenType.SlurBegin); + if (si0 >= 0) + event0.accessories.splice(si0, 1); + const si1 = event1.accessories.findIndex((acc) => acc.type === TokenType.SlurEnd); + if (si1 >= 0) + event1.accessories.splice(si1, 1); + }); + } + } + } + } +}; +class Spartito extends SimpleClass { + constructor(data) { + super(); + super.assign(data); + this.measures.forEach((measure) => (measure.staffGroups = this.staffGroups)); + } + get regulated() { + return this.measures.every((m) => m.regulated); + } + get solidMeasureCount() { + return this.measures.filter((measure) => !measure.empty).length; + } + get measureIndexMapping() { + let n = 0; + return this.measures.map((measure) => { + return !measure.empty ? n++ : null; + }); + } + get headBPM() { + for (const measure of this.measures) { + if (measure.marks) { + const tempoMark = measure.marks.find((mark) => mark instanceof TempoTerm && mark.isValid()); + if (tempoMark) + return tempoMark.bpm; + } + } + return null; + } + get measureLayoutCode() { + const ms = this.measures + .filter((measure) => !measure.empty) + .map((measure, i) => ({ + index: i + 1, + vb: measure.voltaBegin, + ve: measure.voltaEnd, + alter: measure.alternative, + leftSign: '', + rightSign: '', + })); + ms.forEach((m, i) => { + if (m.vb) { + const nextI = ms.slice(i + 1).findIndex((mm) => mm.vb); + const nextVBI = nextI >= 0 ? i + nextI : ms.length; + if (ms.slice(i, nextVBI - 1).some((mm) => mm.ve)) + // check if volta range closed + m.leftSign = '2*['; + } + if (m.ve) { + const pms = ms.slice(0, i + 1).reverse(); + const lastVEI = pms.slice(1).findIndex((mm) => mm.ve); + if (lastVEI >= 0) { + if (!pms.slice(1, lastVEI + 1).some((mm) => mm.vb)) + // ignore unclosed right volta + return; + } + if (m.alter) { + const lastMI = pms.findIndex((m) => !m.alter); + if (lastMI > 0) { + pms[lastMI].rightSign = ']'; + pms[lastMI - 1].leftSign = '{['; + m.rightSign = '],'; + if (ms[i + 1]) + ms[i + 1].rightSign = '},'; + } + } + else + m.rightSign = '],'; + if (!pms.some((m) => m.vb)) + ms[0].leftSign = '2*['; + } + }); + return ms + .map((m) => m.leftSign + m.index.toString() + m.rightSign + (m.rightSign ? '' : ',')) + .join(' ') + .replace(/,$/, ''); + } + get qualityScore() { + const measures = this.measures.filter((measure) => !measure.empty); + const qss = measures.map(evaluateMeasure).map((e) => e.qualityScore); + const sum = qss.reduce((a, b) => a + b, 0); + //console.log('qss:', qss); + return measures.length ? sum / measures.length : null; + } + dumpEvaluations() { + const es = this.measures.filter((measure) => !measure.empty).map((m) => ({ measureIndex: m.measureIndex, ...evaluateMeasure(m) })); + const qss = es.map((e) => e.qualityScore); + const sum = qss.reduce((a, b) => a + b, 0); + console.log('qualityScore:', sum / es.length); + console.table(es); + } + regulate(options = {}) { + this.measures.forEach((m) => m.regulated || m.regulate(options)); + } + cleanupRegulation() { + this.measures.forEach((m) => (m.voices = null)); + } + // measures' estimatedDuration should be valid + rectifyTimeSignatures(logger = new DummyLogger()) { + const mis = this.measures + .map((measure, index) => ({ measure, index })) + .filter(({ measure, index }) => !index || measure.timeSignatureChanged) + .map(({ index }) => index); + const segments = mis + .map((index, si) => this.measures.slice(index, si < mis.length - 1 ? mis[si + 1] : this.measures.length)) + .map((ms) => ms.filter((m) => m.estimatedDuration > 0)) + .filter((seg) => seg.length >= 3 || seg.some((measure) => measure.doubtfulTimesig)); + //console.log("segments:", segments.map(ms => ms.map(m => m.measureIndex))); + segments.forEach((measures) => { + if (measures[0].patched) { + // rectify according to patched head measure + const newTimeSignature = measures[0].timeSignature; + const measuresToFix = measures + .slice(1) + .filter((measure) => !measure.patched && printFraction(measure.timeSignature) !== printFraction(newTimeSignature)); + if (measuresToFix.length) { + const originTimeSignature = measuresToFix[0].timeSignature; + measuresToFix.forEach((measure) => measure.basics.forEach((basic) => (basic.timeSignature = newTimeSignature))); + logger.info('[rectifyTimeSignatures] timesignator overwrote by patched head:', `${printFraction(originTimeSignature)} -> ${printFraction(newTimeSignature)}`, measuresToFix.map((m) => m.measureIndex)); + } + return; + } + const originTimeSignature = measures[0].timeSignature; + const regularD = Number.isInteger(Math.log2(originTimeSignature.denominator)); + let denominator = regularD ? 4 : 8; + if (regularD) + denominator = Math.max(denominator, measures[0].timeSignature.denominator); + const numerators = measures.map((measure) => Math.round((measure.estimatedDuration * denominator) / WHOLE_DURATION)); + const countings = Object.entries(numerators.reduce((c, n) => ((c[n] = (c[n] || 0) + 1), c), {})).sort((p1, p2) => p2[1] - p1[1]); + const peakCount = countings[0][1]; + const candidateNumerators = countings.filter(([_, c]) => c > peakCount * 0.6); + const bestCounting = candidateNumerators.reduce((best, c) => (Number(c[0]) > Number(best[0]) ? c : best)); + if (bestCounting[1] > 1) { + //console.log("countings:", countings, bestCounting[0]); + let numerator = Number(bestCounting[0]); + if (!regularD || originTimeSignature.denominator * numerator !== originTimeSignature.numerator * denominator) { + if (regularD && denominator !== originTimeSignature.denominator) { + const reducedN = (numerator * originTimeSignature.denominator) / denominator; + if (Number.isInteger(reducedN)) { + numerator = reducedN; + denominator = originTimeSignature.denominator; + } + } + const measuresToFix = measures.filter((measure) => !measure.patched); + const newTimeSignature = frac(numerator, denominator); + measuresToFix.forEach((measure) => measure.basics.forEach((basic) => (basic.timeSignature = newTimeSignature))); + logger.info('[rectifyTimeSignatures] timesignator overwrote by estimation:', `${printFraction(originTimeSignature)} -> ${numerator}/${denominator}`, measuresToFix.map((m) => m.measureIndex)); + } + } + }); + } + makeVoiceStaves() { + this.regulate(); + const voiceCount = Math.max(...this.measures.map((measure) => measure.voices.length)); + if (!voiceCount || !Number.isFinite(voiceCount)) + return null; + // mark tied pitches for patched measues + this.measures + .filter((measure) => measure.patched) + .forEach((measure) => { + measure.events.forEach((event) => { + if (event.tied) + event.pitches.forEach((pitch) => (pitch.tied = true)); + }); + }); + // [measure, voice] + const measures = this.measures.map((measure /*, mi*/) => { + console.assert(measure.validRegulated, '[makeVoiceStaves] measure is invalid:', measure); + const eventMap = {}; + measure.events.forEach((event) => (eventMap[event.id] = event)); + const leftStaves = new Set(Array(measure.contexts.length) + .fill(null) + .map((_, i) => i)); + let bar = null; + if (measure.barType) { + switch (measure.barType) { + case 'Segment': + bar = '||'; + break; + case 'Terminal': + bar = '|.'; + break; + } + } + const voices = measure.voices.map((ids /*, vi*/) => { + const events = ids.map((id) => eventMap[id]); + events.sort((e1, e2) => e1.tick - e2.tick); + const tickMap = {}; + let tick = 0; + let lastEvent = null; + for (const event of events) { + if (!Number.isFinite(event?.tick)) { + console.warn('invalid event tick:', event); + continue; + } + if (event.tick > tick) + tickMap[tick] = EventTerm.space({ tick, duration: event.tick - tick }); + else if (!event.grace && event.tick < tick && lastEvent) + lastEvent.timeWarp = reducedFraction(event.tick - lastEvent.tick, lastEvent.duration); + //console.log("timewarp:", event.tick - lastEvent.tick, lastEvent.duration, lastEvent.timeWarp); + tickMap[event.tick] = event; + if (!event.zeroHolder) { + tick = Math.round(event.tick + event.duration); + lastEvent = event; + // sub grace events + if (event.graceIds) { + event.graceIds.forEach((id) => { + const grace = measure.eventMap[id]; + if (grace) + tickMap[grace.tick] = grace; + }); + } + } + } + if (measure.endEvent && measure.endEvent.graceIds) { + measure.endEvent.graceIds.forEach((id) => { + const grace = measure.eventMap[id]; + if (grace && (!lastEvent || grace.staff === lastEvent.staff)) + tickMap[grace.tick] = grace; + }); + } + if (tick < measure.duration) + tickMap[tick] = EventTerm.space({ tick, duration: measure.duration - tick }); + else if (tick > measure.duration && Number.isFinite(measure.duration)) + //console.warn("duration out of range:", tick, column.duration, mi, vi); + lastEvent.timeWarp = reducedFraction(measure.duration - lastEvent.tick, lastEvent.duration); + console.assert(!lastEvent || !lastEvent.timeWarp || (Number.isInteger(lastEvent.timeWarp.numerator) && Number.isInteger(lastEvent.timeWarp.denominator)), 'invalid time warp:', lastEvent); + const staffIndex = events[0] ? events[0].staff : 0; + leftStaves.delete(staffIndex); + const basic = measure.basics[staffIndex]; + //const row = measure.rows[staffIndex]; + const contextedTerms = measure.contexts[staffIndex]; + const tailEvent = events[events.length - 1]; + const tailStaff = tailEvent ? tailEvent.staff : 0; + // TODO: modify full measure rests duration + return { + tickMap, + duration: measure.duration, + ...basic, + // TODO: consider staff altered voice + contextedTerms, + marks: [], + break: measure.break, + pageBreak: measure.pageBreak, + headStaff: staffIndex, + tailStaff, + bar, + }; + }); + while (voices.length < voiceCount) { + const staffIndex = leftStaves.values().next().value || 0; + leftStaves.delete(staffIndex); + const basic = measure.basics[staffIndex]; + const terms = measure.contexts[staffIndex]; + const chiefVoice = voices.every((voice) => voice.headStaff !== staffIndex); + const voice = emptyVoiceFromStaffMeasure({ + terms, + duration: measure.duration, + ...basic, + break: measure.break, + pageBreak: measure.pageBreak, + }, chiefVoice); + voice.headStaff = staffIndex; + voice.tailStaff = staffIndex; + voices.push(voice); + } + return voices; + }); + //console.log("measures:", measures); + // compute traits for voice-measures + measures.forEach((voices) => voices.forEach((measure) => { + const words = []; + if (!measure.empty) { + words.push(`s${measure.headStaff}`); + words.push(`s${measure.tailStaff}`); + } + Object.values(measure.tickMap).forEach((event) => { + if (event instanceof EventTerm) { + words.push(`s${event.staff}`); + if (event.stemDirection) { + const sd = `st${event.staff}-${event.stemDirection}`; + words.push(sd, sd); + } + if (event.grace) + words.push(`gd${event.mainDuration}`); + else + words.push(`d${event.mainDuration}`); + if (event.rest) + words.push('r-' + event.rest); + else { + event.pitches.forEach((pitch) => { + words.push(`p1-${pitch.note}`); + words.push(`p8-${Math.round(pitch.note / 8)}`); + }); + } + } + }); + measure.trait = HashVector.fromWords(words); + })); + //console.log("measure traits:"); + //console.table(measures.map(voices => voices.map(measure => hashToHex(measure.trait.toHash())))); + const staffToGroup = this.staffGroups + .flat(1) + .reduce((map, si) => ((map[si] = this.staffGroups.findIndex((group) => group.includes(si))), map), {}); + // sort voices to connect voices between neighhoring measures + const voiceTraits = Array(voiceCount) + .fill(null) + .map((_, index) => ({ vector: HashVector.zero, index, weight: 0, headStaff: null })); + measures.forEach((voices, mi) => { + voiceTraits.sort((v1, v2) => v2.weight - v1.weight); + const leftVoices = new Set(voices); + voiceTraits.forEach((voiceTrait) => { + const vs = [...leftVoices]; + let measure = vs[0]; + if (mi > 0 && vs.length > 1) { + const consistencies = vs.map((measure) => staffToGroup[measure.headStaff] === staffToGroup[voiceTrait.headStaff] + ? cosHashes(voiceTrait.vector.toHash(), measure.trait.toHash()) + : -1); + measure = vs[argmax$1(consistencies)]; + } + leftVoices.delete(measure); + measure.voiceIndex = voiceTrait.index; + voiceTrait.vector.scale(0.4).add(measure.trait); + voiceTrait.weight = Object.keys(measure.tickMap).length; + if (mi === 0) + voiceTrait.headStaff = measure.headStaff; + }); + voices.sort((m1, m2) => m1.voiceIndex - m2.voiceIndex); + }); + //const staffTraits = Array(this.stavesCount).fill(null).map((_, si) => HashVector.fromString(`s${si}`).toHash()); + const staffVoiceIndices = Array(this.stavesCount) + .fill(null) + .map(() => []); + voiceTraits.forEach((trait) => { + //const consistencies = staffTraits.map(staff => cosHashes(trait.vector.toHash(), staff)); + //staffVoiceIndices[argmax(consistencies)].push(trait.index); + staffVoiceIndices[trait.headStaff].push(trait.index); + }); + const staves = Array(this.stavesCount) + .fill(null) + .map((_, si) => { + if (!measures[0]) { + return { + voices: [], + }; + } + //const voiceIndicies = measures[0].map((voice, vi) => ({ voice, vi })).filter(({ voice }) => voice.headStaff === si).map(({ vi }) => vi); + const voiceIndicies = staffVoiceIndices[si]; + const voices = voiceIndicies.map((vi) => { + return { + mode: 'relative', + measures: measures.map((m) => m[vi]), + }; + }); + return { voices }; + }); + removeEmptyMeasuresInVoicesStaves(staves); + staves.forEach((staff) => staff.voices.forEach(markingTiesInVoice)); + return staves; + } + perform() { + const staves = this.makeVoiceStaves(); + if (!staves) + return null; + const tokenMap = new Map(); + // TODO: store staff channels in score + const staffToChannel = Array(this.stavesCount) + .fill(null) + .reduce((map, _, i) => { + map[i] = i; + return map; + }, {}); + const voiceChannels = [].concat(...staves.map((staff, si) => staff.voices.map(() => staffToChannel[si]))); + let hasTempo = false; + let nextTick = 0; + let events0 = null; + const measures = this.measures + .filter((measure) => !measure.empty) + .map((measure) => { + const { systemIndex, right: endX } = measure.position; + const measureIndex = measure.measureIndex; + const voices = [].concat(...staves.map((staff) => staff.voices.map((voice) => voice.measures[measureIndex]))); + const voice0 = voices[0]; + const tick = nextTick; + //const signatureDuration = (WHOLE_DURATION * voice0.timeSignature.numerator) / voice0.timeSignature.denominator; + nextTick += voice0.duration; + const notes = [].concat(...voices.map((measure, vi) => { + const tickFactor = 1; //measure.duration ? signatureDuration / measure.duration : 1; + const channel = voiceChannels[vi]; + const chords = Object.values(measure.tickMap) + .filter((term) => term instanceof EventTerm && !term.rest) + .map((term) => { + const duration = Math.round(term.duration * tickFactor); + console.assert(Number.isFinite(term.tick), 'invalid event term tick:', term); + console.assert(Number.isFinite(duration), 'invalid event term duration:', term); + if (term.tick >= 0) { + // exclude minus tick tokens + term.noteIds.forEach((id) => { + tokenMap.set(id, { + system: systemIndex, + measure: measureIndex, + x: term.roundX, + endX, + }); + }); + } + const part = this.staffGroups.findIndex((group) => group.includes(term.staff)); + return { + tick: Math.round(term.tick * tickFactor), + duration, + pitches: term.pitches, + noteIds: term.noteIds, + part, + staff: term.staff, + }; + }); + return [].concat(...chords.map((chord) => { + // exclude repeated pitches + const pitchMap = chord.pitches.reduce((map, pitch) => { + map[noteToPitch(pitch)] = pitch; + return map; + }, {}); + const pitches = Object.values(pitchMap).sort((p1, p2) => p1.note - p2.note); + return pitches + .filter((pitch) => !pitch.tied) + .map((pitch, i) => { + const pitchValue = noteToPitch(pitch); + const id = chord.noteIds && chord.noteIds[i]; + return { + tick: chord.tick, + pitch: pitchValue, + duration: chord.duration, + chordPosition: { + index: i, + count: chord.pitches.length, + }, + tied: pitch.tied, + id, + ids: [id], + track: chord.part, + staff: chord.staff, + channel, + subNotes: [ + { + startTick: 0, + endTick: chord.duration, + pitch: pitchValue, + velocity: 127, + }, + ], + }; + }); + })); + })); + const events = []; + events0 = events0 || events; + if (measure.marks) + measure.marks.forEach((mark) => { + if (mark instanceof TempoTerm) { + const bpm = mark.bpm; + if (mark.isValid()) { + const es = hasTempo ? events : events0; // set the first tempo to the beginning of the track + const tick = hasTempo ? mark.tick : 0; + es.push({ + track: 0, + ticks: tick, + data: { + type: 'meta', + subtype: 'setTempo', + microsecondsPerBeat: Math.round(60e6 / bpm), + }, + }); + hasTempo = true; + } + } + }); + const basic = measure.basics[0]; + return { + tick, + duration: measure.duration, + notes, + events, + timeSignature: basic && basic.timeSignature, + keySignature: basic && basic.keySignature, + }; + }); + if (!hasTempo) { + measures[0].events.push({ + track: 0, + ticks: 0, + data: { + type: 'meta', + subtype: 'setTempo', + microsecondsPerBeat: 0.5e6, // TODO + }, + }); + } + const notation = new MetaNotation({ measures }); + return { + notation, + tokenMap, + }; + } + performByEstimation() { + const tokenMap = new Map(); + let nextTick = 0; + const measures = this.measures + .filter((measure) => measure.events.some((event) => event.predisposition)) + .map((measure) => { + const tick = nextTick; + const duration = Math.round(measure.estimatedDuration || fractionMul(WHOLE_DURATION, measure.timeSignature)); + const basic = measure.basics[0]; + nextTick += duration; + const { systemIndex, right: endX } = measure.position; + const measureIndex = measure.measureIndex; + const chords = measure.events.filter((event) => event.predisposition && event.predisposition.fake < 0.5 && !event.rest); + const notes = chords + .map((chord) => { + const noteTick = Math.round(chord.predisposition.tick); + chord.noteIds.forEach((id) => { + tokenMap.set(id, { + system: systemIndex, + measure: measureIndex, + x: chord.roundX, + endX, + }); + }); + return chord.pitches.map((pitch, i) => { + const pitchValue = noteToPitch(pitch); + const id = chord.noteIds && chord.noteIds[i]; + const part = this.staffGroups.findIndex((group) => group.includes(chord.staff)); + return { + tick: noteTick, + pitch: pitchValue, + duration: chord.duration, + chordPosition: { + index: i, + count: chord.pitches.length, + }, + tied: pitch.tied, + id, + ids: [id], + track: part, + staff: chord.staff, + channel: 0, + subNotes: [ + { + startTick: 0, + endTick: chord.duration, + pitch: pitchValue, + velocity: 127, + }, + ], + }; + }); + }) + .flat(1); + return { + tick, + duration, + notes, + events: [], + timeSignature: basic && basic.timeSignature, + keySignature: basic && basic.keySignature, + }; + }); + const notation = new MetaNotation({ measures }); + return { + notation, + tokenMap, + }; + } + featureHash() { + const headMeasures = this.measures.slice(0, 16); + const measureWords = headMeasures.map((measure) => measure.featureWords); + const levels = [1, 4, 16].map((len) => { + const meaures = measureWords.slice(0, len).filter(Boolean); + const ys = meaures.map((words) => words[0]).flat(1); + const melodies = meaures.map((words) => words[1]).flat(1); + const rhythm = meaures.map((words) => words[2]).flat(1); + const [vecY, vecMelody, vecRhythm] = [ys, melodies, rhythm].map(HashVector.fromWords); + return HashVector.concat(vecY, vecMelody.sub(128), vecRhythm.sub(128)); + }); + return HashVector.concat(...levels).toHash(); + } + featureHashHex() { + return hashToHex(this.featureHash()); + } + featureHashBigInt() { + return hashToBigInt(this.featureHash()); + } + assignMeasureNumbers() { + let n = null; + for (const measure of this.measures) { + if (!measure.discard && !measure.events.length) + continue; + if (measure.indent) + n = null; + if (!Number.isFinite(n)) + n = measure.partialDuration ? 0 : 1; + measure.measureNumber = n++; + } + } +} +Spartito.className = 'Spartito'; + +const GROUP_N_TO_PITCH = [0, 2, 4, 5, 7, 9, 11]; +const MIDDLE_C = 60; +const mod7 = (x) => { + let y = x % 7; + while (y < 0) + y += 7; + return y; +}; +const mod12 = (x) => { + let y = x % 12; + while (y < 0) + y += 12; + return y; +}; +const PHONETS = 'CDEFGAB'; +const ALTER_NAMES = { + [-2]: '\u266D\u266D', + [-1]: '\u266D', + [0]: '\u266E', + [1]: '\u266F', + [2]: '\uD834\uDD2A', +}; +/* + Coordinates: + + note: + zero: the middle C line (maybe altered) + positive: high (right on piano keyboard) + unit: a step in scales of the current staff key + + staff Y: + zero: the third (middle) line among 5 staff lines + positive: down + unit: a interval between 2 neighbor staff lines +*/ +class StaffContext { + constructor() { + this.logger = new DummyLogger(); + this.clef = -3; + this.keyAlters = []; + this.octaveShift = 0; + this.alters = []; + this.timeSignature = { + numerator: 4, + denominator: 4, + }; + this.timeSigNumeric = false; + this.timeSigNumSet = false; + this.timeSigDenSet = false; + this.doubtingTimesig = true; + } + change(term) { + switch (term.type) { + case ContextType.Clef: + this.clef = term.clef; + break; + case ContextType.KeyAcc: + this.keyAlters[mod7(this.yToNote(term.y))] = term.alter; + break; + case ContextType.Acc: + this.alters[this.yToNote(term.y)] = term.alter; + break; + case ContextType.OctaveShift: + this.octaveShift = term.octaveShift; + break; + case ContextType.TimeSignatureC: + this.timeSigNumeric = false; + switch (term.tokenType) { + case 'timesig-C44': + this.timeSignature.numerator = 4; + this.timeSignature.denominator = 4; + break; + case 'timesig-C22': + this.timeSignature.numerator = 2; + this.timeSignature.denominator = 2; + break; + } + this.doubtingTimesig = this.partialTimeSignature; + break; + case ContextType.TimeSignatureN: + this.timeSigNumeric = true; + switch (term.y) { + case 1: + if (this.timeSigDenSet) + this.timeSignature.denominator = this.timeSignature.denominator * 10 + term.number; + else + this.timeSignature.denominator = term.number; + this.timeSigDenSet = true; + break; + case -1: + if (this.timeSigNumSet) + this.timeSignature.numerator = this.timeSignature.numerator * 10 + term.number; + else + this.timeSignature.numerator = term.number; + this.timeSigNumSet = true; + break; + default: + this.logger.warn('unexpected time signature Y:', term.y); + } + this.doubtingTimesig = this.partialTimeSignature; + break; + } + } + resetMeasure() { + this.alters = []; + this.timeSigNumSet = false; + this.timeSigDenSet = false; + } + resetSystem() { + this.keyAlters = []; + } + get keySignature() { + return this.keyAlters.filter((a) => Number.isInteger(a)).reduce((sum, a) => sum + a, 0); + } + get partialTimeSignature() { + return !this.timeSigNumSet !== !this.timeSigDenSet; + } + noteToY(note) { + return -note / 2 - this.clef - this.octaveShift * 3.5; + } + pitchToNote(pitch, { preferredAlter = null } = {}) { + if (!preferredAlter) + preferredAlter = this.keySignature < 0 ? -1 : 1; + const group = Math.floor((pitch - MIDDLE_C) / 12); + const gp = mod12(pitch); + const alteredGp = GROUP_N_TO_PITCH.includes(gp) ? gp : mod12(gp - preferredAlter); + const gn = GROUP_N_TO_PITCH.indexOf(alteredGp); + this.logger.assert(gn >= 0, 'invalid preferredAlter:', pitch, preferredAlter, alteredGp); + const naturalNote = group * 7 + gn; + const alterValue = gp - alteredGp; + const keyAlterValue = this.keyAlters[gn] || 0; + const onAcc = Number.isInteger(this.alters[naturalNote]); + const alter = onAcc ? alterValue : alterValue === keyAlterValue ? null : alterValue; + return { note: naturalNote, alter }; + } + pitchToY(pitch, { preferredAlter = null } = {}) { + const { note, alter } = this.pitchToNote(pitch, { preferredAlter }); + const y = this.noteToY(note); + return { y, alter }; + } + yToNote(y) { + this.logger.assert(Number.isInteger(y * 2), 'invalid y:', y); + return (-y - this.octaveShift * 3.5 - this.clef) * 2; + } + alterOnNote(note) { + if (Number.isInteger(this.alters[note])) + return this.alters[note]; + const gn = mod7(note); + if (Number.isInteger(this.keyAlters[gn])) + return this.keyAlters[gn]; + return 0; + } + noteToPitch(note) { + const group = Math.floor(note / 7); + const gn = mod7(note); + const pitch = MIDDLE_C + group * 12 + GROUP_N_TO_PITCH[gn] + this.alterOnNote(note); + if (!Number.isFinite(pitch)) { + this.logger.warn('invalid pitch value:', pitch, note, group, gn); + return -1; + } + return pitch; + } + yToPitch(y) { + return this.noteToPitch(this.yToNote(y)); + } + yToPitchName(y) { + const note = this.yToNote(y); + const group = Math.floor(note / 7); + const gn = mod7(note); + let alter = this.alterOnNote(note); + if (!alter && !Number.isInteger(this.alters[note])) + alter = null; + return `${ALTER_NAMES[alter] ? ALTER_NAMES[alter] : ''}${PHONETS[gn]}${group + 4}`; + } +} + +const VERSION = 14; +const GRAND_STAFF_LAYOUT = '{-}'; +const processStaffContext = (staff, logger = new DummyLogger()) => { + const context = new StaffContext(); + context.logger = logger; + for (const row of staff.rows) { + for (const measure of row) { + const startEvent = measure.terms.find((term) => term instanceof EventTerm); + let tick = startEvent ? Math.min(startEvent.tick, 0) : 0; + measure.terms.forEach((term) => { + if (term instanceof ContextedTerm) { + term.tick = tick; // TODO: not working here because measure not regulated yet + context.change(term); + } + else if (term instanceof EventTerm) { + const endTick = term.tick + (term.duration || 0); + if (endTick > tick) + tick = endTick; + if (term.ys) { + term.pitches = term.ys.map((y) => { + const note = context.yToNote(y); + const alter = context.alterOnNote(note); + return { note, alter, octaveShift: context.octaveShift }; + }); + } + } + }); + measure.timeSignature = { ...context.timeSignature }; + measure.timeSigNumeric = context.timeSigNumeric; + measure.doubtfulTimesig = + context.doubtingTimesig || + !Number.isInteger(Math.log2(measure.timeSignature.denominator)) || + measure.timeSignature.numerator <= measure.timeSignature.denominator / 4; + measure.keySignature = context.keySignature; + // fill empty measure duration + if (measure.duration === 0) + measure.duration = (WHOLE_DURATION * measure.timeSignature.numerator) / measure.timeSignature.denominator; + context.resetMeasure(); + } + context.resetSystem(); + } +}; +const upgradeScoreData = (data) => { + if (data.version < 3) { + const { version, stavesCount, layoutTemplate, ...fields } = data; + let staffLayoutCode = stavesCount > 1 + ? Array(stavesCount - 1) + .fill(',') + .join('') + : ''; + // use graph staff by default for 2 staves score + if (stavesCount === 2) + staffLayoutCode = '{-}'; + data = { + version: 3, + staffLayoutCode, + ...fields, + }; + } + if (data.version < 8) { + // upgrade system measure bar semantics + data.pages.forEach((page) => { + page.systems.forEach((system) => { + if (system.semantics) { + const bars = system.semantics.filter((point) => point.semantic === SemanticType.vline_BarMeasure); + system.semantics = [].concat(...system.staves.map((staff) => { + const oy = staff.top + staff.staffY; + return bars.map((point) => ({ + ...point, + y: point.y + oy, + extension: { + ...point.extension, + y1: point.extension.y1 + oy, + y2: point.extension.y2 + oy, + }, + })); + })); + } + }); + }); + data.version = 8; + } + if (data.version < 9) { + // remove old format spartito + data.spartito = null; + data.version = 9; + } + return data; +}; +const bitsToMask = (bits) => bits.reduce((mask, bit, i) => (bit ? mask | (1 << i) : mask), 0); +class Score extends SimpleClass { + constructor(data) { + super(); + this.version = VERSION; + super.assign(upgradeScoreData(data)); + this.pages = this.pages || []; + this.headers = this.headers || {}; + this.instrumentDict = this.instrumentDict || {}; + this.pageSize = this.pageSize || { + // A4 paper + width: 794, + height: 1122, + }; + this.unitSize = this.unitSize || null; + this.staffLayoutCode = this.staffLayoutCode || (this.maxStavesCount === 2 ? GRAND_STAFF_LAYOUT : Array(this.maxStavesCount).fill('').join(',')); + } + get systems() { + return [].concat(...this.pages.map((page) => page.systems)); + } + get measureCount() { + return this.systems.reduce((sum, system) => sum + (system.measureCount || 0), 0); + } + get imageKeys() { + return [ + ...this.pages.map((page) => page.source?.url), + ...this.systems.map((system) => system.backgroundImage), + ...[].concat(...this.systems.map((system) => [...system.staves.map((staff) => staff.backgroundImage), ...system.staves.map((staff) => staff.maskImage)].filter(Boolean))), + ].filter(Boolean); + } + get breakSystemIndices() { + const indices = []; + let systemCount = 0; + this.pages.forEach((page, i) => { + if (i < this.pages.length - 1) { + systemCount += page.systems.length; + indices.push(systemCount - 1); + } + }); + return indices; + } + get staffLayout() { + return parseCode(this.staffLayoutCode); + } + get measureLayoutCode() { + return this.spartito?.measureLayoutCode; + } + get maxStavesCount() { + return Math.max(...this.systems.map((system) => system.staves.length), 0); + } + get sidBlackList() { + const ids = [].concat(...this.systems.map((system) => system.sidBlackList)); + return new Set(ids); + } + get sidWhiteList() { + const ids = [].concat(...this.systems.map((system) => system.sidWhiteList)); + return new Set(ids); + } + get semanticHash() { + const ids = [].concat(...this.systems.map((system) => [].concat(...system.staves.map((staff) => (staff.semantics ? system.qualifiedSemantics(staff.semantics).map((s) => s.id) : []))))); + return sha1__default["default"](ids.join('')); + } + eventSystemsToTermStaves(eventSystems, logger = new DummyLogger()) { + // [staff] + const termStaves = Array(this.maxStavesCount) + .fill(null) + .map((_, staffIndex) => { + return { + // [system, measure] + rows: eventSystems.map((sys, i) => sys.columns.map((column, ii) => { + const measure = column.rows[staffIndex]; + console.assert(measure, '[eventSystemsToTermStaves] measure is null:', staffIndex, column.rows); + const contexts = measure.contexts; + // prepend octave shift 0 at begin of every system + if (ii === 0) { + if (!contexts.some((term) => term.type === ContextType.OctaveShift)) { + contexts.unshift(new ContextedTerm({ + staff: staffIndex, + x: 0, + y: 0, + tokenType: TokenType.OctaveShift0, + tick: 0, + })); + } + } + const terms = [...(measure.events || []), ...contexts].sort((t1, t2) => t1.x - t2.x); + const pageBreak = staffIndex === 0 && ii === sys.columns.length - 1 && this.breakSystemIndices.includes(i); + return { + terms, + //xToTick: column.xToTick, + duration: column.duration, + pageBreak, + }; + })), + }; + }); + termStaves.forEach((staff) => processStaffContext(staff, logger)); + return termStaves; + } + resetPageLayout(parameters) { + const { unitSize = this.unitSize, pageSize = this.pageSize } = parameters; + const newCenter = { + x: (pageSize.width * 0.5) / unitSize, + y: (pageSize.height * 0.5) / unitSize, + }; + this.pages.forEach((page) => { + const offsetX = newCenter.x - page.width / 2; + const offsetY = newCenter.y - page.height / 2; + page.systems.forEach((system) => { + system.left += offsetX; + system.top += offsetY; + }); + if (page.semantics) { + page.semantics.forEach((point) => { + point.x += offsetX; + point.y += offsetY; + }); + } + page.width = pageSize.width / unitSize; + page.height = pageSize.height / unitSize; + page.assemble({ textAnnotations: this.textAnnotations }); + }); + this.unitSize = unitSize; + this.pageSize = pageSize; + } + getMeasure(measureIndex) { + let index = measureIndex; + for (const system of this.systems) { + if (index < system.measureCount) { + const staff = system.staves[0]; + const measure = staff.measures[index]; + console.assert(measure, 'measure is null:', system.measureCount, index, staff.measures); + const measures = system.getStaffArray(this.maxStavesCount).map((staff) => staff && staff.measures[index]); + return { + measureIndex, + system, + localIndex: index, + left: measure.left, + right: measure.right, + measures, + }; + } + index -= system.measureCount; + } + return null; + } + getRawCluster(measureIndex, threshold, { timeSignature } = {}) { + const position = this.getMeasure(measureIndex); + if (!position) + return null; + const { system, left, right } = position; + //console.log("measure:", system, left, right); + const elements = [BOS_ELEMENT]; + if (timeSignature) + elements.push(...fractionToElems(timeSignature)); + const systemY0 = system.staves[0].top + system.staves[0].staffY - 2; + system.staves.forEach((staff) => { + let points = system.qualifiedSemantics(staff.semantics, threshold).filter((point) => point.x > left && point.x < right); + points = solveOverlapping(points); + // exlude tempo noteheads + const tempoNhs = points.filter((point) => point.semantic === SemanticType.TempoNotehead); + tempoNhs.forEach((tempoNh) => { + const index = points.findIndex((point) => /^Notehead/.test(point.semantic) && distance2D(tempoNh, point) < 0.3); + if (index >= 0) + points.splice(index, 1); + }); + const y0 = staff.top + staff.staffY - systemY0; + points.forEach((point) => { + const type = SemanticElementType[point.semantic]; + if (type) { + let y1 = point.y; + let y2 = point.y; + if (type === SemanticElementType.vline_Stem) { + y1 = point.extension.y1; + y2 = point.extension.y2; + } + elements.push({ + id: point.id, + type, + staff: staff.index, + x: point.x - left, + y1: y1 + y0, + y2: y2 + y0, + }); + } + }); + }); + return new SemanticCluster({ + index: measureIndex, + elements, + }); + } + getRawClusters(threshold = 1) { + //const times = this.getMeasuresTime(); + return Array(this.measureCount) + .fill(null) + .map((_, mi) => this.getRawCluster(mi, threshold /*, times[mi]*/)); + } + makeSpartito(logger = new DummyLogger()) { + let eventSystems = this.systems.map((system) => system.getEvents(this.maxStavesCount)); + /*if (this.topology) { + const clusters = this.topology.clusters; + + // [measure, staff, event] + const eventsColumns: ChordColumn[][][] = clusters + .filter((cluster) => cluster.index < this.measureCount) + .reduce((columns, cluster) => { + const { system, measures } = this.getMeasure(cluster.index); + const events = cluster.getEvents(); + + const systemY0 = system.staves[0].top + system.staves[0].staffY - 2; + const x0 = measures.filter(Boolean)[0].left; + + const staves = system.getStaffArray(this.maxStavesCount); + + // translate by staff & measure relative offset + events.forEach((event) => { + const staff = staves[event.staff]; + const y0 = staff.top + staff.staffY - systemY0; + event.ys = event.ys.map((y) => roundNumber(y - y0, 0.5)); + + event.left += x0; + event.right += x0; + }); + + const column = measures.map((measure, staffIndex) => { + if (!measure) return []; + + //console.log("m:", mi, "s:", staffIndex); + const localEvents = events.filter((event) => event.staff === staffIndex); + //measure.assignModifiersOnEvents(localEvents); + measure.assignAccessoriesOnEvents(localEvents); + + return localEvents; + }); + + columns[cluster.index] = column; + + return columns; + }, []); + + const breakSystemIndices = this.breakSystemIndices; + + const basicEventSystems = eventSystems; + eventSystems = []; + + let measures = 0; + for (const system of this.systems) { + const esys = system.getEventsFunctional(this.maxStavesCount, (si, mi) => eventsColumns[measures + mi] && eventsColumns[measures + mi][si], [], { + useXMap: false, + }); + + const basicSys = basicEventSystems[system.index]; + //onst nullN = esys.columns.filter(c => !c).length; + //if (nullN) + // console.log("null:", nullN, esys.columns.length); + esys.columns = esys.columns.map((column, i) => (column ? column : basicSys.columns[i])); + + const sysIndex = this.systems.indexOf(system); + const pageBreak = breakSystemIndices.includes(sysIndex); + const lastColumn = esys.columns[esys.columns.length - 1]; + if (lastColumn) { + lastColumn.break = true; + lastColumn.pageBreak = pageBreak; + } + + eventSystems.push(esys); + measures += system.measureCount; + } + }*/ + const staves = this.eventSystemsToTermStaves(eventSystems, logger); + // assign staff basics for columns + eventSystems.forEach((sys, ri) => { + sys.columns.forEach((column, mi) => { + column.basics = staves.map((staff) => { + const { timeSignature, timeSigNumeric, keySignature, doubtfulTimesig } = staff.rows[ri][mi]; + return { timeSignature, timeSigNumeric, keySignature, doubtfulTimesig }; + }); + }); + }); + const clusters = null; //this.topology && this.topology.clusters; + const measures = [].concat(...eventSystems.map((esys) => esys.columns.map((column) => { + const measureIndex = column.measureIndex; + const { system, localIndex, left, right } = this.getMeasure(measureIndex); + const cluster = clusters ; + const staffYsFull = []; + system.staves.forEach((staff) => (staffYsFull[staff.index] = staff.top + staff.staffY)); + const patch = this.patches && this.patches.find((patch) => patch.measureIndex === measureIndex); + const events = patch ? patch.events : SpartitoMeasure.reorderEvents([].concat(...column.rows.map((row) => row.events)), staffYsFull); + const barTypes = Object.fromEntries(Object.entries(column.barTypes).map(([k, v]) => [k, v / system.staves.length])); + const indent = localIndex === 0 && system.indent; + return new SpartitoMeasure({ + measureIndex, + staffMask: esys.staffMask, + position: { + systemIndex: system.index, + localIndex, + left, + right, + staffYs: system.staves.map((staff) => staff.top + staff.staffY), + staffYsFull, + }, + //startX: column.startX, + //width: column.width, + duration: patch ? patch.duration : column.duration, + events, + contexts: column.rows.map((row) => row.contexts), + marks: column.marks, + break: column.break, + pageBreak: column.pageBreak, + voltaBegin: column.voltaBegin, + voltaEnd: column.voltaEnd, + alternative: column.alternative, + barTypes, + indent, + basics: patch ? patch.basics : column.basics, + matrixH: cluster , + matrixV: cluster , + voices: patch ? patch.voices : null, + }); + }))); + const staffLayout = this.staffLayout; + const staffGroups = staffLayout.standaloneGroups.map((ids) => ids.map((id) => staffLayout.staffIds.indexOf(id))); + this.spartito = new Spartito({ + stavesCount: this.maxStavesCount, + staffGroups, + measures, + }); + return this.spartito; + } + makeMusicSheet() { + const spartito = this.spartito || this.makeSpartito(); + if (!spartito.regulated) + console.warn('[makeMusicSheet] spartito not regulated.'); + const voiceStaves = spartito.makeVoiceStaves(); + const { title, pageSize, unitSize, staffLayout, paperOptions, headers, instrumentDict } = this; + const measureLayout = this.getMeasureLayout(); + return { + title, + pageSize, + unitSize, + measureLayout, + staffLayout, + paperOptions, + headers, + voiceStaves, + instrumentDict, + }; + } + findPoint(sid) { + for (const system of this.systems) { + for (let si = 0; si < system.staves.length; ++si) { + const point = system.staves[si].semantics.find((point) => point.id === sid); + if (point) { + const pageIndex = this.pages.findIndex((page) => page.systems.includes(system)); + return { + point, + pageIndex, + systemIndex: system.index, + staffIndex: si, + }; + } + } + } + return null; + } + getMeasureSemantics(systemIndex, localIndex) { + const system = this.systems[systemIndex]; + if (!system) + return null; + const left = localIndex ? system.measureBars[localIndex - 1] : 0; + const right = system.measureBars[localIndex] || system.width; + return system.staves + .map((staff, si) => { + const staffY = staff.top + staff.staffY; + return staff.semantics + .filter((point) => point.x >= left && point.x < right) + .map((point) => { + const [y1, y2] = Number.isFinite(point.extension?.y1) ? [point.extension.y1, point.extension.y2] : [point.y, point.y]; + return { + ...point, + staff: si, + sy1: y1 + staffY, + sy2: y2 + staffY, + }; + }); + }) + .flat(1); + } + makeTimewiseGraph({ store = false } = {}) { + if (!this.spartito) + return null; + const measures = this.spartito.measures + .filter((measure) => measure.events.length > 0) + .map((measure) => { + const points = this.getMeasureSemantics(measure.position.systemIndex, measure.position.localIndex); + const graph = { + measureIndex: measure.measureIndex, + left: measure.position.left, + right: measure.position.right, + points, + }; + if (store) + measure.graph = graph; + return graph; + }); + return { measures }; + } + getTokenMap() { + const map = new Map(); + this.systems.forEach((system) => system.staves.forEach((staff) => staff.measures.forEach((measure) => measure.tokens.forEach((token) => map.set(token.id, token))))); + return map; + } + assemble(confidenceThreshold = 1, logger = new DummyLogger()) { + const ids = new Map(); + const append = (systemIndex, staffIndex, point) => { + const id = hashSemanticPoint(systemIndex, staffIndex, point); + logger.assert(!ids.has(id), 'semantic point hash conflicted:', id, point, ids.get(id)); + ids.set(id, point); + }; + this.pages.forEach((page, index) => (page.index = index)); + let measureIndex = 0; + this.systems.forEach((system, systemIndex) => { + system.index = systemIndex; + system.headMeasureIndex = measureIndex; + system.prev = this.systems[systemIndex - 1] || null; + system.next = this.systems[systemIndex + 1] || null; + if (system.semantics && system.semantics.length) + system.semantics.forEach((point) => append(systemIndex, null, point)); + system.assemble(confidenceThreshold, logger); + measureIndex += system.measureCount; + }); + this.pages.forEach((page, i) => { + page.systems.forEach((system) => (system.pageIndex = i)); + page.assemble({ textAnnotations: this.textAnnotations }, logger); + }); + } + assembleSystem(system, confidenceThreshold = 1) { + this.systems.forEach((system, si) => (system.index = si)); + const systemIndex = system.index; + if (system.semantics && system.semantics.length) { + system.semantics.forEach((point) => hashSemanticPoint(systemIndex, null, point)); + system.assemble(confidenceThreshold); + } + } + markVoices(staves) { + const tokenMap = this.getTokenMap(); + for (const token of tokenMap.values()) + token.voice = 0; + const vis = [] + .concat(...staves.map((staff, s) => (staff.voices || []).map((_, v) => [s, v]))) + .sort(([s1, v1], [s2, v2]) => v1 - v2 || s1 - s2) + .map(([s, v]) => `${s}|${v}`); + staves.forEach((staff, si) => (staff.voices || []).forEach((voice, vi) => voice.measures.forEach((measure) => { + const voiceIndex = vis.indexOf(`${si}|${vi}`); + const events = Object.values(measure.tickMap).filter((event) => event instanceof EventTerm); + events.forEach((event) => { + const notes = event.noteIds ? event.noteIds.map((id) => tokenMap.get(id)).filter(Boolean) : []; + const accessories = event.accessories ? event.accessories.map((acc) => tokenMap.get(acc.id)).filter(Boolean) : []; + //console.log("notes:", si, vi, mi, event.noteIds, notes, accessories); + [...notes, ...accessories].forEach((token) => (token.voice |= 1 << voiceIndex)); + if (event.timeWarp) + notes.forEach((note) => (note.timeWarped = true)); + }); + }))); + } + async replaceImageKeys(proc) { + await Promise.all([ + ...this.pages.map(async (page) => { + if (page.source) + page.source.url = await proc(page.source.url); + }), + ...this.systems.map((system) => Promise.all([ + proc(system.backgroundImage).then((key) => (system.backgroundImage = key)), + ...system.staves.map(async (staff) => { + staff.backgroundImage = await proc(staff.backgroundImage); + staff.maskImage = await proc(staff.maskImage); + }), + ])), + ]); + } + inferenceStaffLayout() { + // inference the complete layout + const staffTotal = Math.max(...this.systems.map((system) => system.staves.length), 0); + this.staffLayoutCode = Array(staffTotal).fill('').join(','); + const completeSystems = this.systems.filter((system) => system.staves.length === staffTotal && system.bracketsAppearance); + if (!completeSystems.length) + return; // no enough evidence + const candidateCodes = completeSystems + .map((system) => { + try { + const layout = parseCode(system.bracketsAppearance); + if (layout.staffIds.length !== system.staves.length) + return null; + return system.bracketsAppearance; + } + catch (_) { + return null; + } + }) + .filter(Boolean); + if (!candidateCodes.length) + return; // no valid layout + const codeCounting = candidateCodes.reduce((acc, code) => { + const count = acc[code] || 0; + acc[code] = count + 1; + return acc; + }, {}); + const maxCount = Math.max(...Object.values(codeCounting)); + const code = Object.entries(codeCounting).find(([_, count]) => count === maxCount)[0]; + // added connection lines between braces {-} + const connectedCode = code.replace(/\{,*\}/g, (match) => match.replace(/,/g, '-')); + const layout = parseCode(connectedCode); + this.staffLayoutCode = connectedCode; + //console.log("complete code:", code); + // inference systems' mask + let lastSys = null; + for (const system of this.systems) { + if (lastSys && system.staves.length === lastSys.staves.length && system.bracketsAppearance === lastSys.bracketsAppearance) { + system.staffMaskChanged = null; + continue; + } + if (system.staves.length < staffTotal && system.bracketsAppearance) { + // validate the system brackets code + try { + if (!parseCode(system.bracketsAppearance)) + continue; + } + catch (_) { + continue; + } + const search = (bits) => { + if (bits.length > layout.staffIds.length) + return null; + if (bits.reduce((sum, bit) => sum + bit, 0) === system.staves.length) + return bitsToMask(bits); + for (const bit of [1, 0]) { + const bb = [...bits, bit]; + const code1 = layout.partialMaskCode(bb); + if (code1 === system.bracketsAppearance) + return bitsToMask(bb); + else if (system.bracketsAppearance.startsWith(code1)) { + const result = search(bb); + if (result) + return result; + } + } + return null; + }; + const mask = search([]); + //console.log("mask:", system.bracketsAppearance, mask.toString(2)); + system.staffMaskChanged = !lastSys || mask !== lastSys.staffMask ? mask : null; + } + lastSys = system; + } + } + assignBackgroundForMeasure(measure) { + measure.backgroundImages = []; + const system = this.systems[measure.position.systemIndex]; + if (system.backgroundImage) { + measure.backgroundImages.push({ + url: system.backgroundImage, + position: system.imagePosition, + original: true, + }); + } + system.staves.forEach((staff) => { + if (!system.backgroundImage && staff.backgroundImage) + measure.backgroundImages.push({ + url: staff.backgroundImage.toString(), + position: { + ...staff.imagePosition, + y: staff.imagePosition.y + staff.top, + }, + original: true, + }); + if (staff.maskImage) { + measure.backgroundImages.push({ + url: staff.maskImage.toString(), + position: { + ...staff.imagePosition, + y: staff.imagePosition.y + staff.top, + }, + }); + } + }); + } + blackoutFakeNotes(scope = 'patched') { + if (!this.spartito) + return; + let inScope = (_) => true; + switch (scope) { + case 'patched': + inScope = (measure) => measure.patched; + break; + case 'perfect': + inScope = (measure) => measure.patched || (measure.regulated && evaluateMeasure(measure).perfect); + break; + } + const measures = this.spartito.measures.filter(inScope); + const fakeIds = measures.reduce((ids, measure) => { + if (!measure.regulated) + return; + const voicedIds = measure.voices.flat(1); + const fakeChords = measure.events.filter((event) => !event.rest && !event.grace && !voicedIds.includes(event.id)); + fakeChords.forEach((event) => event.noteIds && ids.push(...event.noteIds)); + return ids; + }, []); + const fakeIdSet = new Set(fakeIds); + this.systems.forEach((system) => system.staves.forEach((staff) => { + const blackIds = staff.semantics.filter((point) => fakeIdSet.has(point.id)).map((point) => point.id); + system.sidBlackList.push(...blackIds); + })); + return fakeIds; + } + getMeasureLayout() { + const code = this.spartito && this.spartito.measureLayoutCode; + if (code) { + try { + return parseCode$1(code); + } + catch (err) { + console.debug('invalid measure layout code:', err); + } + } + return null; + } + *splitToSingleScoresGen() { + this.assemble(); + const startSysIndices = this.systems.filter((system) => system.index > 0 && system.indent && system.timeSignatureOnHead).map((system) => system.index); + if (!startSysIndices.length) { + yield this.deepCopy(); + return; + } + const templateScore = new Score({ ...this, pages: [], topology: undefined, spartito: undefined, patches: undefined }); + // clear temporary objects before deep dopy + this.pages.forEach((page) => { + delete page.tokens; + page.systems.forEach((system) => { + delete system.tokens; + system.staves.forEach((staff) => { + staff.measures = []; + }); + }); + }); + let startSysIndex = 0; + for (const endSysIndex of [...startSysIndices, this.systems.length]) { + const sysInRange = (system) => system.index >= startSysIndex && system.index < endSysIndex; + const pages = this.pages + .filter((page) => page.systems.some(sysInRange)) + .map((page) => { + const { systems, ...fields } = page; + return new Page({ ...fields, systems: systems.filter(sysInRange).map((system) => new System({ ...system })) }); + }); + const newScore = templateScore.deepCopy(); + newScore.headers.SubScoreSystem = `${startSysIndex}-${endSysIndex - 1}`; + newScore.headers.SubScorePage = `${pages[0].index}-${pages[pages.length - 1].index}`; + //newScore.pages = pages.map((page) => page.deepCopy()); + newScore.pages = pages; + newScore.assemble(); + newScore.inferenceStaffLayout(); + startSysIndex = endSysIndex; + yield newScore; + } + } + splitToSingleScores() { + return [...this.splitToSingleScoresGen()]; + } +} +Score.className = 'Score'; + +class EditableEvent extends EventTerm { + constructor(data) { + super(data); + } + get agent() { + return new Proxy(this, { + get(target, key) { + const self = target; + switch (key) { + case 'id': + case 'tick': + case 'duration': + case 'rest': + case 'division': + case 'dots': + case 'stemDirection': + case 'beam': + case 'tremolo': + case 'tremoloLink': + case 'arpeggioStyle': { + const value = self[key]; + return value === undefined ? null : value; + } + case 'tying': + case 'tied': + case 'glissando': { + const value = self[key]; + return value === undefined ? false : value; + } + case 'grace': + return !!self.grace; + case 'timeWarp': + return self.timeWarp ? `${self.timeWarp.numerator}/${self.timeWarp.denominator}` : null; + case 'pitches': + return self.pitches; + } + return undefined; + }, + set: (target, key, value) => { + const self = target; + switch (key) { + case 'tick': + case 'duration': + case 'rest': + case 'division': + case 'dots': + case 'stemDirection': + case 'tying': + case 'tied': + case 'beam': + case 'tremolo': + case 'tremoloLink': + case 'glissando': + case 'arpeggioStyle': + self[key] = value; + return true; + case 'grace': + self.grace = value ? GraceType.Grace : null; + return true; + case 'timeWarp': + self.timeWarp = null; + if (value && typeof value === 'string') { + const captures = value.match(/^(\d+)\/(\d+)/); + if (captures) { + self.timeWarp = { + numerator: parseInt(captures[1]), + denominator: parseInt(captures[2]), + }; + } + } + return true; + case 'id': + case 'pitches': + return true; + } + return false; + }, + ownKeys: () => [ + 'id', + 'duration', + 'rest', + 'division', + 'dots', + 'stemDirection', + 'tying', + 'tied', + 'beam', + 'timeWarp', + 'tremolo', + 'tremoloLink', + 'glissando', + 'arpeggioStyle', + 'tick', + 'grace', + 'pitches', + ], + getOwnPropertyDescriptor() { + return { enumerable: true, configurable: true }; + }, + }); + } +} +class EditableMeasure extends SpartitoMeasure { + constructor(data) { + super(data); + this.events = null; + this.events = data.events; + if (this.events?.some((event) => !(event instanceof EditableEvent))) + this.events = this.events.map((event) => new EditableEvent(event)); + if (this.voices) + this.syncVoiceToEvents(); + } + syncVoiceToEvents() { + this.events.forEach((event) => (event.voice = -1)); + this.voices.forEach((voice, voiceIndex) => { + voice.forEach((id) => { + const event = this.events.find((event) => event.id === id); + if (event) + event.voice = voiceIndex; + else + console.warn('no event with id:', id, this.events.length); + }); + }); + } + syncVoiceFromEvents() { + const voices = []; + this.events.forEach((event) => { + if (event?.voice >= 0) { + voices[event.voice] = voices[event.voice] || []; + voices[event.voice].push(event); + } + }); + voices.forEach((voice) => voice.sort((e1, e2) => e1.tick - e2.tick)); + this.voices = voices.map((voice) => voice.map((event) => event.id)); + } + get agent() { + return new Proxy(this, { + get: (target, key) => { + const self = target; + switch (key) { + case 'measureIndex': + case 'duration': + return self[key]; + case 'voices': + return self.voices?.map((voice) => voice.join(',')) || null; + case 'timeSignature': + case 'keySignature': + case 'doubtfulTimesig': + return self.basics[0][key]; + //case 'events': + // return self.events.map(eventUIAgent); + case 'toJSON': + return () => ({ + measureIndex: self.measureIndex, + voices: self.voices, + duration: self.duration, + timeSignature: self.basics[0].timeSignature, + keySignature: self.basics[0].keySignature, + }); + } + return undefined; + }, + set: (target, key, value) => { + //console.log('set:', key, value); + const self = target; + switch (key) { + case 'timeSignature': + case 'keySignature': + case 'doubtfulTimesig': + self.basics[0][key] = value; + self.basics = self.basics.map(() => self.basics[0]); + return true; + case 'duration': + self.duration = value; + return true; + case 'measureIndex': + case 'voices': + return true; + } + return false; + }, + ownKeys: () => ['measureIndex', 'timeSignature', 'doubtfulTimesig', 'keySignature', 'duration', 'voices'], + getOwnPropertyDescriptor() { + return { enumerable: true, configurable: true }; + }, + }); + } + makeMIDI(bpm = 120) { + if (!this.regulated) + return null; + const microsecondsPerBeat = 60e6 / bpm; + const header = { formatType: 0, ticksPerBeat: 480 }; + const tracks = this.voices.map((ids, vi) => { + const events = ids + .map((id) => { + const event = this.events.find((event) => event.id === id); + if (event) { + const subEvents = event.graceIds ? event.graceIds.map((id) => this.events.find((event) => event.id === id)) : []; + return [...subEvents, event]; + } + return []; + }) + .flat(1); + const startTime = 0; + const midiEvents = events + .filter((event) => !event.rest && Number.isFinite(event.tick) && event.tick >= 0 && Number.isFinite(event.duration)) + .map((event) => event.pitches.map((pitch) => [ + { + id: event.id, + time: event.tick, + type: 'channel', + subtype: 'noteOn', + channel: event.staff, + noteNumber: noteToPitch(pitch), + velocity: 96, + }, + { + id: event.id, + time: event.tick + event.duration, + type: 'channel', + subtype: 'noteOff', + channel: event.staff, + noteNumber: noteToPitch(pitch), + }, + ])) + .flat(2); + midiEvents.sort(function (e1, e2) { + return e1.time - e2.time; + }); + if (vi === 0) { + midiEvents.unshift({ + time: startTime, + type: 'meta', + subtype: 'timeSignature', + numerator: this.timeSignature.numerator, + denominator: this.timeSignature.denominator, + thirtyseconds: 8, + }, { time: startTime, type: 'meta', subtype: 'setTempo', microsecondsPerBeat }); + } + midiEvents.forEach((event) => { + event.ticks = Math.round(event.time - startTime); + }); + midiEvents.forEach((event, i) => { + event.deltaTime = event.ticks - (i > 0 ? midiEvents[i - 1].ticks : 0); + }); + midiEvents.push({ deltaTime: 0, type: 'meta', subtype: 'endOfTrack' }); + return midiEvents; + }); + return { + header, + tracks, + }; + } +} +EditableMeasure.className = 'EditableMeasure'; +EditableMeasure.blackKeys = []; + +var BeadType; +(function (BeadType) { + BeadType["Pass"] = "i"; + BeadType["Division"] = "d"; + BeadType["Dots"] = "o"; +})(BeadType || (BeadType = {})); +const DIVISION_NAMES = ['whole', 'half', 'quarter', 'eighth', 'sixteenth', 'thirtysecond', 'sixtyfourth', '128th', '256th']; +const RESIDUE_LOSS_WEIGHT = 0.2; +const VOICEN_LOSS_WEIGHT = 0.002; +const SPACE_LOSS_WEIGHT = 0.4 / WHOLE_DURATION; +const PRETENTIOUSNESS_LOSS_WEIGHT = 0.02; +const POSSIBILITY_LOW_BOUNDARY = 1e-12; +const PRETENTIOUSNESS_CLIP = 100; +const STEM_DIRECTION_OPTIONS = [undefined, 'u', 'd']; +const BEAM_OPTIONS = [undefined, StemBeam.Open, StemBeam.Continue, StemBeam.Close]; +const saveClusterState = (cluster) => ({ + elements: cluster.elements.map((elem) => ({ + tick: elem.tick, + division: elem.division, + dots: elem.dots, + beam: elem.beam, + stemDirection: elem.stemDirection, + grace: elem.grace, + timeWarped: elem.timeWarped, + fullMeasure: elem.fullMeasure, + fake: elem.fake, + order: elem.order, + predisposition: elem.predisposition, + })), +}); +const restoreClusterState = (cluster, state) => cluster.elements.forEach((elem, i) => Object.assign(elem, state.elements[i])); +const measurePretentious = (p) => Math.min(PRETENTIOUSNESS_CLIP, -Math.log(p)); +class BeadNode { + constructor(data) { + Object.assign(this, data); + //this.possibilities = this.possibilities.map((x, i) => (this.type === BeadType.Pass && !i) ? 0 : Math.max(POSSIBILITY_LOW_BOUNDARY, x)); + this.children = {}; + this.accessCount = 0; + } + nextBranch() { + const ps = this.possibilities.map((p, i) => p / (this.children[i] ? this.children[i].accessCount + 1 : 1)); + //const ps = this.possibilities.map((p, i) => p * (this.children[i] ? (2 ** -this.children[i].accessCount) : 1)); + if (ps.every((p) => !p)) { + this.accessCount = Infinity; + return null; + } + return argmax$1(ps); + } + get currentElem() { + return this.cluster.elements[this.elemIndex]; + } + branchID(ni) { + switch (this.type) { + case BeadType.Pass: + return `i_${ni}`; + case BeadType.Division: + return DIVISION_NAMES[ni]; + case BeadType.Dots: + return 'o' + '.'.repeat(ni); + } + return ''; + } + async deduce({ picker, logger, ptFactor }, deep = 0) { + ++this.accessCount; + const ni = this.nextBranch(); + logger.debug(String.fromCodePoint(0x1f349) + ' '.repeat(deep), this.branchID(ni), this.accessCount > 1 ? `[${this.accessCount}]` : ''); + if (!Number.isInteger(ni) || ni < 0) { + this.accessCount = Infinity; + return evaluateCluster(this.cluster, this.currentElem.order + 1, this.pretentiousness); + } + this.pretentiousness += measurePretentious(this.possibilities[ni]); + if (this.pretentiousness > PRETENTIOUSNESS_CLIP * ptFactor) { + this.accessCount = Infinity; + return evaluateCluster(this.cluster, this.currentElem.order + 1, this.pretentiousness); + } + let selfEval = null; + switch (this.type) { + case BeadType.Pass: + { + const tip = this.currentElem.order + 1; + const element = this.cluster.elements[ni]; + console.assert(element, 'null element:', ni, this.cluster.elements.length); + if (element.type === EventElementType.EOS) { + selfEval = evaluateCluster(this.cluster, tip, this.pretentiousness); + if (!selfEval.residue || selfEval.fatalError) { + this.accessCount = Infinity; + return selfEval; + } + this.cluster.elements[0].order = tip; + if (!this.children[ni]) { + if (!picker.quota) + return selfEval; + const possibilities = (await picker.predictCluster(this.cluster, tip + 1)).map((x, i) => this.cluster.elements[i].order < tip + 1 || i === this.cluster.elements.length - 1 ? 0 : Math.max(POSSIBILITY_LOW_BOUNDARY, x)); + this.children[ni] = new BeadNode({ + cluster: this.cluster, + elemIndex: 0, + type: BeadType.Pass, + possibilities, + pretentiousness: this.pretentiousness, + }); + } + } + else { + element.order = tip; + if (!this.children[ni]) { + console.assert(element.predisposition, 'no predisposition:', ni, this.possibilities); + const possibilities = element.predisposition.divisionVector.map((x) => Math.max(POSSIBILITY_LOW_BOUNDARY, x)); + this.children[ni] = new BeadNode({ + cluster: this.cluster, + elemIndex: ni, + type: BeadType.Division, + possibilities, + pretentiousness: this.pretentiousness, + }); + } + } + } + break; + case BeadType.Division: + { + this.currentElem.division = ni; + if (!this.children[ni]) { + const possibilities = this.currentElem.predisposition.dotsVector.map((x) => Math.max(POSSIBILITY_LOW_BOUNDARY, x)); + this.children[ni] = new BeadNode({ + cluster: this.cluster, + elemIndex: this.elemIndex, + type: BeadType.Dots, + possibilities, + pretentiousness: this.pretentiousness, + }); + } + } + break; + case BeadType.Dots: + { + this.currentElem.dots = ni; + selfEval = evaluateCluster(this.cluster, this.currentElem.order + 1, this.pretentiousness); + if (!selfEval.residue || selfEval.fatalError) { + this.accessCount = Infinity; + return selfEval; + } + if (!this.children[ni]) { + if (!picker.quota) + return selfEval; + const tip = this.currentElem.order + 1; + const possibilities = (await picker.predictCluster(this.cluster, tip)).map((x, i) => this.cluster.elements[i].order < tip + 1 ? 0 : Math.max(POSSIBILITY_LOW_BOUNDARY, x)); + this.children[ni] = new BeadNode({ + cluster: this.cluster, + elemIndex: this.elemIndex, + type: BeadType.Pass, + possibilities, + pretentiousness: this.pretentiousness, + }); + } + } + break; + } + const evaluation = await this.children[ni].deduce({ picker, logger, ptFactor }, deep + 1); + if (selfEval && evaluation.fatalError) { + const tip = this.currentElem.order; + this.cluster.elements.forEach((elem) => { + if (elem.order > tip) + elem.order = undefined; + }); + // clear children data + this.cluster.elements.forEach((elem) => (elem.order = elem.order > this.currentElem.order ? undefined : elem.order)); + this.cluster.elements[this.cluster.elements.length - 1].tick = selfEval.endTick; + return selfEval; + } + return evaluation; + } +} +const estimateElementDuration = (elem) => WHOLE_DURATION * 2 ** -elem.division * (2 - 2 ** -elem.dots); +const evaluateCluster = (cluster, tip, pretentiousness) => { + const events = cluster.elements.filter((elem) => [EventElementType.CHORD, EventElementType.REST].includes(elem.type) && Number.isInteger(elem.order) && elem.order < tip); + events.sort((e1, e2) => e1.order - e2.order); + const eos = cluster.elements[cluster.elements.length - 1]; + let tick = 0; + let lastOrder = 0; + let endTick = 0; + let voiceN = 1; + // [x, tick, estimated tick] + const scales = [[eos.x, cluster.signatureDuration, cluster.signatureDuration]]; + let totalDuration = 0; + // assign tick for events + events.forEach((event) => { + if (event.order > lastOrder + 1) { + tick = 0; + ++voiceN; + } + const referenceScale = scales.find((s) => s[1] >= tick); + if (referenceScale && event.x > referenceScale[0] + 3) { + const nearScale = scales.reduce((n, s) => (Math.abs(event.predisposition.tick - s[2]) < Math.abs(event.predisposition.tick - n[2]) ? s : n)); + if (Math.abs(nearScale[0] - event.x) < 2) + tick = Math.max(tick, nearScale[1]); + } + event.tick = tick; + const si = Math.max(0, scales.findIndex((s) => s[0] > event.x)); + scales.splice(si, 0, [event.x, event.tick, event.predisposition.tick]); + //let duration = WHOLE_DURATION * (2 ** -event.division!) * (2 - 2 ** -event.dots!); + let duration = estimateElementDuration(event); + if (event.predisposition.timeWarped > 0.5) + duration = (duration * 2) / 3; + tick += duration; + totalDuration += duration; + endTick = Math.max(endTick, tick); + lastOrder = event.order; + }); + /*const pretentiousness = events.reduce((p, event) => p + + measurePretentious(event.predisposition!.divisionVector![event.division!]) + + measurePretentious(event.predisposition!.dotsVector![event.dots!]), 0);*/ + if (endTick > 0) + cluster.elements[cluster.elements.length - 1].tick = endTick; + const xSpan = cluster.elements[cluster.elements.length - 1].pivotX - cluster.elements[1].pivotX; + const tickSpan = Math.max(...events.map((e) => e.tick), endTick); + // tick twist loss + const eventsXOrder = [...events].sort((e1, e2) => e1.pivotX - e2.pivotX); + const tickTwists = eventsXOrder.slice(1).map((e2, i) => { + const e1 = eventsXOrder[i]; + const dx = e2.pivotX - e1.pivotX; + const dt = e2.tick - e1.tick; + if (!dt) + return dx / xSpan; + const rate = Math.atan2(dt / tickSpan, dx / xSpan); + //if (dt < 0) + // console.log("minus dt:", dt, dx, rate); + return ((rate * 4) / Math.PI - 1) ** 2; + }); + //console.debug("tickTwists:", tickTwists, eventsXOrder); + const twist = Math.max(...tickTwists, 0); + const tickMSE = events.map((event) => (event.tick - event.predisposition.tick) ** 2); + //console.debug("tickMSE:", tickMSE.map(Math.sqrt)); + const tickErr = tickMSE.length ? Math.sqrt(tickMSE.reduce((sum, mse) => sum + mse, 0) / tickMSE.length) : 0; + //console.debug("tick/twist:", tickErr / WHOLE_DURATION, twist); + const residueElements = cluster.elements.filter((elem) => [EventElementType.CHORD, EventElementType.REST].includes(elem.type) && + !(Number.isInteger(elem.order) && elem.order < tip) && + !(elem.predisposition && elem.predisposition.fakeP > 0.5)); + const residue = residueElements.length; + const fatalError = twist >= 1 || endTick > cluster.signatureDuration; + //const spaceDuration = Math.max(0, cluster.signatureDuration - endTick); + const spaceDuration = Math.max(0, cluster.signatureDuration - totalDuration / voiceN); + const loss = tickErr / WHOLE_DURATION + + twist + + residue * RESIDUE_LOSS_WEIGHT + + voiceN * VOICEN_LOSS_WEIGHT + + spaceDuration * SPACE_LOSS_WEIGHT + + pretentiousness * PRETENTIOUSNESS_LOSS_WEIGHT; + return { + tickErr, + twist, + residue, + endTick, + fatalError, + voiceN, + spaceDuration, + pretentiousness, + loss, + }; +}; +const solveCluster = async (cluster, picker, logger, quota = 200, stopLoss = 0, ptFactor = 1) => { + cluster.elements.forEach((elem, i) => (elem.order = i ? undefined : 0)); + const suc0 = await picker.predictCluster(cluster, 1); + const root = new BeadNode({ cluster, elemIndex: 0, pretentiousness: 0, type: BeadType.Pass, possibilities: suc0 }); + let bestEvaluation = null; + let bestState = null; + picker.quota = quota; + while (picker.quota) { + cluster.elements.forEach((elem, i) => (elem.order = i ? undefined : 0)); + const evaluation = await root.deduce({ picker, logger, ptFactor }); + logger.debug('loss:', evaluation); + if (!bestEvaluation || evaluation.loss < bestEvaluation.loss) { + bestEvaluation = evaluation; + cluster.duration = bestEvaluation.endTick; + bestState = saveClusterState(cluster); + if (Number.isFinite(stopLoss) && bestEvaluation.loss <= stopLoss) + break; + } + if (!Number.isFinite(root.accessCount)) + break; + } + logger.debug('bestEvaluation:', bestEvaluation); + restoreClusterState(cluster, bestState); + // solve residue elements + const fixedEvents = cluster.elements.filter((elem) => [EventElementType.CHORD, EventElementType.REST].includes(elem.type) && Number.isInteger(elem.order)); + const pendingEvents = cluster.elements.filter((elem) => [EventElementType.CHORD, EventElementType.REST].includes(elem.type) && !Number.isInteger(elem.order)); + if (fixedEvents.length) { + pendingEvents.forEach((event) => { + // exclude fake events (includes grace, fullMeasure) from voices + event.tick = undefined; + if (event.predisposition.fakeP < 0.5) { + //const near = fixedEvents.reduce((n, e) => Math.abs(e.predisposition!.tick - event.predisposition!.tick) < Math.abs(n.predisposition!.tick - event.predisposition!.tick) ? e : n); + const duration = estimateElementDuration(event); + const candidates = fixedEvents.filter((e) => e.tick + duration <= bestEvaluation.endTick); + if (candidates.length) { + const near = candidates.reduce((n, e) => (Math.abs(e.x - event.x) < Math.abs(n.x - event.x) ? e : n)); + event.tick = near.tick; + } + } + }); + } + fixedEvents.sort((e1, e2) => e1.order - e2.order); + // properties + [...fixedEvents, ...pendingEvents].forEach((event) => { + event.grace = !Number.isFinite(event.tick) && event.predisposition.grace; + event.timeWarped = event.predisposition.timeWarped > 0.5; + event.fullMeasure = event.predisposition.fullMeasure > 0.5; + event.stemDirection = STEM_DIRECTION_OPTIONS[argmax$1(event.predisposition.stemDirectionVector)]; + event.beam = BEAM_OPTIONS[argmax$1(event.predisposition.beamVector)]; + }); + // construct matrixH + const ids = cluster.elements.map((e) => e.index); + const idx = (id) => ids.indexOf(id); + cluster.matrixH = cluster.elements.map(() => Array(cluster.elements.length).fill(0)); + fixedEvents.forEach((event, i) => { + const lastEvent = fixedEvents[i - 1]; + if (!lastEvent || lastEvent.order < event.order - 1) { + cluster.matrixH[idx(event.index)][0] = 1; + if (lastEvent) + cluster.matrixH[cluster.elements.length - 1][idx(lastEvent.index)] = 1; + } + else { + console.assert(cluster.matrixH[idx(event.index)] && Number.isFinite(cluster.matrixH[idx(event.index)][idx(lastEvent.index)]), 'matrixH out of range:', event.index, lastEvent.index, cluster.matrixH.length); + cluster.matrixH[idx(event.index)][idx(lastEvent.index)] = 1; + } + }); + if (!pendingEvents.length && fixedEvents.length) + cluster.matrixH[cluster.elements.length - 1][idx(fixedEvents[fixedEvents.length - 1].index)] = 1; + return bestEvaluation; +}; +const solveMeasure = async (measure, options) => { + const { stopLoss = 0.09, quotaMax = 1000, quotaFactor = 5, ptFactor = 1, logger = new DummyLogger() } = options; + let worstLoss = 0; + const clusters = measure.createClusters(); + for (const cluster of clusters) { + const quota = Math.min(quotaMax, Math.ceil(cluster.elements.length * quotaFactor)); + logger.info(`[measure-${measure.measureIndex}]`, quota); + const { loss } = await solveCluster(cluster, options.picker, logger, quota, stopLoss, ptFactor); + worstLoss = Math.max(worstLoss, loss); + } + const voices = []; + const durations = []; + const solutionEvents = []; + clusters.forEach((cluster) => { + const events = cluster.elements.filter((elem) => [EventElementType.CHORD, EventElementType.REST].includes(elem.type) && Number.isInteger(elem.order)); + events.sort((e1, e2) => e1.order - e2.order); + if (!events.length) + return; + let voice = []; + voices.push(voice); + let lastOrder = 0; + events.forEach((event) => { + if (event.fullMeasure || event.grace || event.tremoloCatcher) + return; + if (event.order > lastOrder + 1) { + voice = [event.index]; + voices.push(voice); + } + else + voice.push(event.index); + lastOrder = event.order; + }); + let tipElem = events[events.length - 1]; + // complete voices from pending events + const pendingEvents = cluster.elements.filter((elem) => [EventElementType.CHORD, EventElementType.REST].includes(elem.type) && Number.isFinite(elem.tick) && !Number.isInteger(elem.order)); + while (pendingEvents.length) { + const ei = pendingEvents.findIndex((e) => e.tick >= tipElem.tick + estimateElementDuration(tipElem)); + if (ei >= 0) + voice.push(pendingEvents.splice(ei, 1)[0].index); + else { + tipElem = pendingEvents.splice(0, 1)[0]; + voice = [tipElem.index]; + voices.push(voice); + } + } + if (events.some((elem) => !elem.fullMeasure && Number.isInteger(elem.order))) { + const eos = cluster.elements.find((elem) => elem.type === EventElementType.EOS); + durations.push(eos.tick); + } + const eventMap = measure.eventMap; + const tickSet = cluster.elements.reduce((set, elem) => { + if (Number.isFinite(elem.tick)) + set.add(elem.tick); + return set; + }, new Set()); + const ticks = Array.from(tickSet).sort((t1, t2) => t1 - t2); + // fill solutionEvents + events.forEach((elem) => { + const event = eventMap[elem.index]; + if (event) { + solutionEvents.push({ + id: event.id, + tick: elem.tick, + tickGroup: ticks.indexOf(elem.tick), + division: elem.division !== event.division ? elem.division : undefined, + dots: elem.dots !== event.dots ? elem.dots : undefined, + timeWarp: elem.timeWarped ? frac(2, 3) : undefined, + beam: elem.beam !== event.beam ? elem.beam : undefined, + grace: elem.grace !== !!event.grace ? elem.grace : undefined, + fullMeasure: elem.fullMeasure || undefined, + }); + } + }); + }); + const estimatedDuration = Math.max(...clusters.map((c) => c.estimatedDuration)); + return { + voices: voices.filter((voice) => voice.length), + duration: Math.max(...durations), + events: solutionEvents, + priority: -worstLoss, + estimatedDuration, + }; +}; +const glimpseMeasure = async (measure, { picker, resetSignatureForDoubtfulOnly }) => { + const clusters = measure.createClusters(); + const eventMap = measure.eventMap; + for (const cluster of clusters) { + if (!resetSignatureForDoubtfulOnly || measure.doubtfulTimesig) + cluster.signatureDuration = 0; // re-estimate measure duration + cluster.elements.forEach((elem, i) => (elem.order = i ? undefined : 0)); + await picker.predictCluster(cluster, 1); + cluster.elements + .filter((elem) => [EventElementType.CHORD, EventElementType.REST].includes(elem.type)) + .forEach((elem) => { + const event = eventMap[elem.index]; + event.predisposition = elem.predisposition; + }); + } + measure.estimatedDuration = Math.max(...clusters.map((c) => c.estimatedDuration)); +}; +const estimateMeasure = async (measure, picker) => glimpseMeasure(measure, { picker, resetSignatureForDoubtfulOnly: true }); + +var beadSolver = /*#__PURE__*/Object.freeze({ + __proto__: null, + solveCluster: solveCluster, + solveMeasure: solveMeasure, + estimateMeasure: estimateMeasure, + glimpseMeasure: glimpseMeasure +}); + +var index = /*#__PURE__*/Object.freeze({ + __proto__: null, + beadSolver: beadSolver, + get PageLayoutMethod () { return PageLayoutMethod; }, + get TextType () { return TextType; }, + TokenTypes: TokenTypes, + TokenClefs: TokenClefs, + TokenTimesigs: TokenTimesigs, + TokenTimesigsC: TokenTimesigsC, + TokenTimesigsN: TokenTimesigsN, + TokenOctshifts: TokenOctshifts, + TokenNumbers: TokenNumbers, + TokenAccidentals: TokenAccidentals, + TokenNoteheads: TokenNoteheads, + TokenBareNoteheads: TokenBareNoteheads, + TokenDirectionalNoteheads: TokenDirectionalNoteheads, + TokenRests: TokenRests, + TokenFlags: TokenFlags, + TokenVolta: TokenVolta, + TokenDynamics: TokenDynamics, + TokenScripts: TokenScripts, + TokenPedals: TokenPedals, + TokenDots: TokenDots, + TokenArcs: TokenArcs, + TokenBeams: TokenBeams, + TokenWedges: TokenWedges, + TokenAccessories: TokenAccessories, + TokenDirectionless: TokenDirectionless, + TokenGlyphs: TokenGlyphs, + get TokenType () { return TokenType; }, + Token: Token, + TextToken: TextToken, + TOKEN_Y_ROUND: TOKEN_Y_ROUND, + TOKEN_Y_FIXED: TOKEN_Y_FIXED, + VERSION: VERSION, + Score: Score, + Page: Page, + System: System, + Staff: Staff, + Measure: Measure, + emptyVoiceFromStaffMeasure: emptyVoiceFromStaffMeasure, + SpartitoMeasure: SpartitoMeasure, + Spartito: Spartito, + EditableEvent: EditableEvent, + EditableMeasure: EditableMeasure, + Term: Term, + EventTerm: EventTerm, + ContextedTerm: ContextedTerm, + MarkTerm: MarkTerm, + TempoTerm: TempoTerm, + GlyphTerm: GlyphTerm, + TextTerm: TextTerm, + LyricTerm: LyricTerm, + CommandTerm: CommandTerm, + ChordmodeTerm: ChordmodeTerm, + get ContextType () { return ContextType; }, + get GraceType () { return GraceType; }, + get GlissandoStyle () { return GlissandoStyle; }, + get ArpeggioStyle () { return ArpeggioStyle; }, + get AccessoryDirection () { return AccessoryDirection; }, + WHOLE_DURATION: WHOLE_DURATION, + get StemBeam () { return StemBeam; }, + get TremoloLink () { return TremoloLink; }, + mod7: mod7, + get SemanticType () { return SemanticType; }, + glyphSemanticMapping: glyphSemanticMapping, + semanticPriorities: semanticPriorities, + NOTEHEAD_WIDTHS: NOTEHEAD_WIDTHS, + glyphCenters: glyphCenters, + ONE_D_SEMANTICS: ONE_D_SEMANTICS, + SYSTEM_SEMANTIC_TYPES: SYSTEM_SEMANTIC_TYPES, + CONFLICTION_GROUPS: CONFLICTION_GROUPS, + STAMP_SEMANTICS: STAMP_SEMANTICS, + STAMP_RECTS: STAMP_RECTS, + hashSemanticPoint: hashSemanticPoint, + hashPageSemanticPoint: hashPageSemanticPoint, + SemanticGraph: SemanticGraph, + get SemanticElementType () { return SemanticElementType; }, + SemanticCluster: SemanticCluster, + SemanticClusterSet: SemanticClusterSet, + ELEMENT_TOKEN_NAMES: ELEMENT_TOKEN_NAMES, + NOTEHEAD_ELEMENT_TYPES: NOTEHEAD_ELEMENT_TYPES, + NOTE_ELEMENT_TYPES: NOTE_ELEMENT_TYPES, + BOS_ELEMENT: BOS_ELEMENT, + fractionToElems: fractionToElems, + expandMatrixByMasks: expandMatrixByMasks, + expandMatrixByMaskTriu: expandMatrixByMaskTriu, + matrixFromGroups: matrixFromGroups, + get EventElementType () { return EventElementType; }, + EventCluster: EventCluster, + EventClusterSet: EventClusterSet, + recoverJSON: recoverJSON, + SimpleClass: SimpleClass, + PatchMeasure: PatchMeasure, + evaluateMeasure: evaluateMeasure +}); + +// Here suppose sum of pvals equal to 1. +const multinomial_1 = (pvals) => { + const n = Math.random(); + let s = 0; + for (let i = 0; i < pvals.length; ++i) { + s += pvals[i]; + if (s > n) + return i; + } + return pvals.length - 1; +}; +const looseVector = (ns, factor = 0.9) => { + const logits = ns.map((n) => Math.log(n) * factor); + const n2 = logits.map(Math.exp); + const sum = n2.reduce((sum, x) => sum + x, 0); + return n2.map((x) => x / sum); +}; +const looseEvent = (event) => { + if (!event.predisposition?.divisionVector && !event.predisposition?.dotsVector) + return event; + const divisionVector = event.predisposition?.divisionVector ? looseVector(event.predisposition.divisionVector) : null; + const dotsVector = event.predisposition?.dotsVector ? looseVector(event.predisposition.dotsVector) : null; + return new EventTerm({ + ...event, + predisposition: { + ...event.predisposition, + divisionVector, + dotsVector, + }, + }); +}; +class MeasureRectification { + constructor(data) { + Object.assign(this, data); + } + toString() { + return this.events + .map((event) => { + if (!event) + return ''; + const { division = '', dots = '' } = event; + return `${division}|${dots}`; + }) + .join(','); + } + static default(events) { + return new MeasureRectification({ + events: events.map((event) => { + if (!event.predisposition?.divisionVector && !event.predisposition?.dotsVector) + return null; + const division = event.predisposition.divisionVector ? event.division : undefined; + const dots = event.predisposition.dotsVector ? event.dots : undefined; + return { id: event.id, division, dots }; + }), + }); + } + static roll(events) { + return new MeasureRectification({ + events: events.map((event) => { + if (!event.predisposition?.divisionVector && !event.predisposition?.dotsVector) + return null; + let division = undefined; + let dots = undefined; + if (event.predisposition.divisionVector) + division = multinomial_1(event.predisposition.divisionVector); + if (event.predisposition.dotsVector) + dots = multinomial_1(event.predisposition.dotsVector); + return { id: event.id, division, dots }; + }), + }); + } +} +const genMeasureRectifications = function* (measure) { + const keys = new Set(); + const origin = MeasureRectification.default(measure.events); + keys.add(origin.toString()); + yield origin; + let stale = 0; + let events = measure.events; + while (stale < 100) { + if (stale && stale % 10 === 0) + events = events.map(looseEvent); + const rectification = MeasureRectification.roll(events); + const key = rectification.toString(); + if (keys.has(key)) { + ++stale; + continue; + } + stale = 0; + keys.add(key); + yield rectification; + } +}; + +const lruCache = new weakLruCache.WeakLRUCache(); +// éŧ˜čŪĪstore +const DefaultSolutionStore = { + async get(key) { + return lruCache.getValue(key); + }, + async set(key, val) { + lruCache.setValue(key, val); + }, + async batchGet(keys) { + return keys.map((key) => lruCache.getValue(key)); + }, +}; + +var PendingCondition; +(function (PendingCondition) { + PendingCondition[PendingCondition["ErrorOnly"] = 0] = "ErrorOnly"; + PendingCondition[PendingCondition["NotFine"] = 1] = "NotFine"; + PendingCondition[PendingCondition["Imperfect"] = 2] = "Imperfect"; +})(PendingCondition || (PendingCondition = {})); +const isPending = (evaluation, condition) => { + switch (condition) { + case PendingCondition.ErrorOnly: + return evaluation.error; + case PendingCondition.Imperfect: + return !evaluation.perfect; + } + return !evaluation.fine; +}; +const solveMeasureRecords = async (records, onUpdate, stdout, options, pendingCondition = PendingCondition.NotFine, pass = 0, onProgress) => { + const pendingRecords = records.filter(({ evaluation }) => !evaluation || isPending(evaluation, pendingCondition)); + stdout?.write('.'.repeat(pendingRecords.length)); + stdout?.write('\b'.repeat(pendingRecords.length)); + const total = pendingRecords.length; + let done = 0; + for (const record of pendingRecords) { + const measure = record.current.deepCopy(); + measure.staffGroups = record.current.staffGroups; + const solution = await solveMeasure(measure, { picker: record.picker, ...options }); + measure.applySolution(solution); + const evaluation = evaluateMeasure(measure); + const better = !record.evaluation || + evaluation.fine > record.evaluation.fine || + (evaluation.qualityScore > record.evaluation.qualityScore && evaluation.fine === record.evaluation.fine); + if (better) { + record.evaluation = evaluation; + Object.assign(record.current, measure); + } + onUpdate(record.current, evaluation, better); + done++; + onProgress?.(record.current, evaluation, better, { pass, remaining: total - done, total }); + } + if (pendingRecords.length) + stdout?.write('\n'); + return pendingRecords.length; +}; +const regulateWithBeadSolver = async (score, { logger, pickers, solutionStore = DefaultSolutionStore, ignoreCache, freshOnly, onSaveIssueMeasure, onProgress, onPassStart }) => { + score.spartito = undefined; + score.assemble(); + const spartito = score.makeSpartito(); + spartito.measures.forEach((measure) => score.assignBackgroundForMeasure(measure)); + const t0 = Date.now(); + logger?.info(`[regulateWithBeadSolver] begin, measure total: ${spartito.measures.length}.`, ignoreCache ? 'ignoreCache' : '', freshOnly ? 'freshOnly' : ''); + const records = spartito.measures + .filter((measure) => measure.events?.length && !measure.patched) + .map((measure) => ({ + origin: measure.deepCopy(), + current: measure, + evaluation: undefined, + baseQuality: 0, + })); + // rectify time signature + for (const measure of spartito.measures.filter((measure) => measure.events?.length)) { + const picker = pickers.find((picker) => picker.n_seq > measure.events.length + 1); + if (picker) + await estimateMeasure(measure, picker); + } + spartito.rectifyTimeSignatures(logger); + // zero pickers' cost + pickers.forEach((picker) => (picker.cost = 0)); + const counting = { + cached: 0, + simple: 0, + computed: 0, + tryTimes: 0, + solved: 0, + issue: 0, + fatal: 0, + }; + logger?.info(`[regulateWithBeadSolver] measures estimation finished.`); + // apply solutions + if (solutionStore && !ignoreCache) + for (const record of records) { + const solution = await solutionStore.get(record.origin.regulationHash0); + if (solution) { + record.current.applySolution(solution); + ++counting.cached; + record.evaluation = evaluateMeasure(record.current); + record.baseQuality = record.evaluation.qualityScore; + } + } + logger?.info('[regulateWithBeadSolver]', `${counting.cached}/${records.length}`, 'solutions loaded.'); + const stdout = logger ? null : process.stdout; + if (counting.cached) + stdout?.write(`${counting.cached}c`); + records.forEach((record) => { + const picker = pickers.find((picker) => picker.n_seq > record.current.events.length + 1); + if (!picker) { + logger?.info(`[regulateWithBeadSolver] measure[${record.current.measureIndex}] size out of range:`, record.current.events.length); + } + else + record.picker = picker; + }); + const pendingRecords = records.filter((record) => record.picker && (!record.evaluation || (!record.evaluation.fine && !freshOnly))); + // solve by simple policy + pendingRecords.forEach((record) => { + const measure = record.current.deepCopy(); + measure.staffGroups = record.current.staffGroups; + measure.regulate({ policy: 'simple' }); + const evaluation = evaluateMeasure(measure); + const better = !record.evaluation || evaluation.qualityScore > record.evaluation.qualityScore; + if (better) { + record.evaluation = evaluation; + Object.assign(record.current, measure); + if (evaluation.perfect) { + logger?.info(`[regulateWithBeadSolver] measure[${record.current.measureIndex}] regulated by simple policy.`); + ++counting.simple; + } + } + }); + counting.computed = pendingRecords.length - counting.simple; + if (counting.simple) + stdout?.write(`${counting.simple}s`); + const onUpdate = (measure, evaluation, better) => { + logger?.info(`[regulateWithBeadSolver] measure[${measure.measureIndex}/${spartito.measures.length}] regulated${better ? '+' : '-'}: ${evaluation.qualityScore.toFixed(3)}, ${evaluation.fine ? 'solved' : evaluation.error ? 'error' : 'issue'}, ${measure.regulationHash}`); + stdout?.write(`\x1b[${evaluation.fine ? '32' : evaluation.error ? '31' : '33'}m${better ? '+' : '-'}\x1b[0m`); + }; + // Global progress: total = all measures, remaining = non-fine measures across all passes + const totalMeasures = spartito.measures.length; + const computeRemaining = () => pendingRecords.filter((r) => !r.evaluation?.fine).length; + const wrappedOnProgress = onProgress + ? (measure, evaluation, better, progress) => { + onProgress(measure, evaluation, better, { pass: progress.pass, remaining: computeRemaining(), total: totalMeasures }); + } + : undefined; + onPassStart?.(1, 'Imperfect', computeRemaining()); + counting.tryTimes += await solveMeasureRecords(pendingRecords, onUpdate, stdout, { stopLoss: 0.05, quotaMax: 200, quotaFactor: 3, ptFactor: 1 }, PendingCondition.Imperfect, 1, wrappedOnProgress); + onPassStart?.(2, 'NotFine', computeRemaining()); + counting.tryTimes += await solveMeasureRecords(pendingRecords, onUpdate, stdout, { stopLoss: 0.08, quotaMax: 1000, quotaFactor: 20, ptFactor: 1.6 }, PendingCondition.NotFine, 2, wrappedOnProgress); + onPassStart?.(3, 'ErrorOnly', computeRemaining()); + counting.tryTimes += await solveMeasureRecords(pendingRecords, onUpdate, stdout, { stopLoss: 0.08, quotaMax: 1000, quotaFactor: 40, ptFactor: 3 }, PendingCondition.ErrorOnly, 3, wrappedOnProgress); + pendingRecords.forEach(({ evaluation, baseQuality, current, origin }) => { + if (evaluation.fine) + ++counting.solved; + else if (evaluation.error) + ++counting.fatal; + else + ++counting.issue; + if (evaluation.qualityScore > baseQuality || !baseQuality) { + solutionStore.set(origin.regulationHash0, { ...current.asSolution(origin), priority: -current?.solutionStat?.loss }); + if (current.regulationHash !== origin.regulationHash0) + solutionStore.set(current.regulationHash, { ...current.asSolution(), priority: -current?.solutionStat?.loss }); + //console.log('better:', current.measureIndex, evaluation.qualityScore, baseQuality); + } + if (!evaluation.fine) { + onSaveIssueMeasure?.({ + measureIndex: current.measureIndex, + measure: new EditableMeasure(current), + status: evaluation.error ? 2 /* MeasureStatus.Fatal */ : 1 /* MeasureStatus.Issue */, + }); + } + }); + const t1 = Date.now(); + const pickerCost = pickers.reduce((cost, picker) => cost + picker.cost, 0); + const qualityScore = spartito.qualityScore; + const totalCost = t1 - t0; + logger?.info('[regulateWithBeadSolver] done in ', totalCost, 'ms, qualityScore:', qualityScore); + // zero 'cached' statistics for freshOnly mode + if (freshOnly) + counting.cached = 0; + return { + totalCost: t1 - t0, + pickerCost, + measures: counting, + qualityScore, + }; +}; +const abstractRegulationBeadStats = (stats) => { + const { totalCost, pickerCost, measureN, timeN } = stats.reduce((sum, stat) => ({ + totalCost: sum.totalCost + stat.totalCost, + pickerCost: sum.pickerCost + stat.pickerCost, + measureN: sum.measureN + stat.measures.computed, + timeN: sum.timeN + stat.measures.tryTimes, + }), { + totalCost: 0, + pickerCost: 0, + measureN: 0, + timeN: 0, + }); + const costPerMeasure = measureN > 0 ? totalCost / measureN : null; + const costPerTime = timeN > 0 ? totalCost / timeN : null; + const { cached, simple, computed, tryTimes, solved, issue, fatal } = stats.reduce((sum, stat) => ({ + cached: sum.cached + stat.measures.cached, + simple: sum.simple + stat.measures.simple, + computed: sum.computed + stat.measures.computed, + tryTimes: sum.tryTimes + stat.measures.tryTimes, + solved: sum.solved + stat.measures.solved, + issue: sum.issue + stat.measures.issue, + fatal: sum.fatal + stat.measures.fatal, + }), { cached: 0, simple: 0, computed: 0, tryTimes: 0, solved: 0, issue: 0, fatal: 0 }); + return { + scoreN: stats.length, + totalCost, + pickerCost, + costPerMeasure, + costPerTime, + cached, + simple, + computed, + tryTimes, + solved, + issue, + fatal, + }; +}; + +globalThis.btoa = globalThis.btoa || ((str) => Buffer.from(str, 'binary').toString('base64')); +const RECTIFICATION_SEARCH_ITERATIONS = parseInt(process.env.RECTIFICATION_SEARCH_ITERATIONS || '30'); +const BASE_QUOTA_FACTOR = parseInt(process.env.BASE_QUOTA_FACTOR || '40'); +const RECTIFICATION_QUOTA_FACTOR = parseInt(process.env.RECTIFICATION_QUOTA_FACTOR || '80'); +const MATRIXH_INTERPOLATION_K = 0.9; +const computeQuota = (n, factor, limit) => Math.min(Math.ceil((n + 1) * factor * Math.log(n + 2)), Math.ceil(limit * Math.min(1, (24 / (n + 1)) ** 2))); +async function solveMeasures(measures, { solver, quotaMax = 1000, quotaFactor = BASE_QUOTA_FACTOR, solutionStore = DefaultSolutionStore, ignoreCache = false, logger } = {}) { + let cached = 0; + let solved = 0; + logger?.info(`[solveMeasures] begin, measure total: ${measures.length}.`); + await Promise.all(measures.map(async (measure) => { + if (!ignoreCache) { + const solution = await solutionStore.get(measure.regulationHash); + if (solution) { + measure.applySolution(solution); + ++cached; + return; + } + } + const quota = computeQuota(measure.events.length, quotaFactor, quotaMax); + await measure.regulate({ + policy: 'equations', + quota, + solver, + }); + const stat = evaluateMeasure(measure); + if (!stat.error) + solutionStore.set(measure.regulationHash0, { ...measure.asSolution(), priority: -measure?.solutionStat?.loss }); + if (stat.perfect) + ++solved; + logger?.info(`[solveMeasures] measure[${measure.measureIndex}/${measures.length}] regulated: ${stat.perfect ? 'solved' : stat.error ? 'error' : 'issue'}, ${measure.regulationHash}`); + })); + logger?.info(`[solveMeasures] ${cached}/${measures.length} cache hit, ${solved} solved.`); + return { + cached, + computed: measures.length - cached, + solved, + }; +} +const solveMeasuresWithRectifications = async (measure, { solver, quotaMax = 4000 }) => { + let best = evaluateMeasure(measure); + let bestSolution = measure.asSolution(); + const quota = computeQuota(measure.events.length, RECTIFICATION_QUOTA_FACTOR, quotaMax); + let n_rec = 0; + // @ts-ignore + for (const rec of genMeasureRectifications(measure)) { + const solution = await EquationPolicy.regulateMeasureWithRectification(measure, rec, { solver, quota }); + const testMeasure = measure.deepCopy(); + testMeasure.applySolution(solution); + const result = evaluateMeasure(testMeasure); + if (result.perfect > best.perfect || + result.error < best.error || + (!result.error && result.perfect >= best.perfect && solution.priority > bestSolution.priority)) { + best = result; + bestSolution = solution; + } + if (result.perfect) + break; + ++n_rec; + if (n_rec > RECTIFICATION_SEARCH_ITERATIONS) + break; + } + return bestSolution; +}; +async function doRegulateWithTopo(score, { pyClients, solver, solutionStore = DefaultSolutionStore, onSaveIssueMeasure }) { + pyClients.logger.info(`[RegulateWithTopo] regulate score: ${score.title}, measures: ${score.spartito.measures.length}`); + const issueMeasures = score.spartito.measures.filter((measure) => { + const stat = evaluateMeasure(measure); + return !stat.perfect; + }); + pyClients.logger.info(`[RegulateWithTopo] basic issues: ${issueMeasures.length}`); + if (issueMeasures.length === 0) { + return { + solved: 0, + issue: 0, + fatal: 0, + }; + } + const clusters = [].concat(...issueMeasures.map((measure) => measure.createClusters())); + const results = await pyClients.predictScoreImages('topo', { clusters }); + console.assert(results.length === clusters.length, 'prediction number mismatch:', clusters.length, results.length); + clusters.forEach((cluster, index) => { + const result = results[index]; + console.assert(result, 'no result for cluster:', cluster.index); + cluster.assignPrediction(result); + }); + issueMeasures.forEach((measure) => { + const cs = clusters.filter((c) => c.index === measure.measureIndex); + measure.applyClusters(cs); + // intepolate matrixH + const { matrixH } = EquationPolicy.estiamteMeasure(measure); + matrixH.forEach((row, i) => row.forEach((v, j) => { + measure.matrixH[i][j] = measure.matrixH[i][j] * MATRIXH_INTERPOLATION_K + v * (1 - MATRIXH_INTERPOLATION_K); + })); + }); + const solvedIndices = []; + const errorIndices = []; + // rectification search + await Promise.all(issueMeasures.map(async (measure) => { + const hash = measure.regulationHash0; + const solution = await solveMeasuresWithRectifications(measure, { solver }); + if (solution) { + measure.applySolution(solution); + solutionStore.set(hash, solution); + solutionStore.set(measure.regulationHash, measure.asSolution()); + pyClients.logger.info(`[RegulateWithTopo] solutionStore set: ${measure.measureIndex}, ${hash}, ${measure.regulationHash}`); + } + const stat = evaluateMeasure(measure); + onSaveIssueMeasure?.({ + measureIndex: measure.measureIndex, + measure: new EditableMeasure(measure), + status: stat.error ? 2 : 1, + }); + if (stat.perfect) + solvedIndices.push(measure.measureIndex); + else if (stat.error) + errorIndices.push(measure.measureIndex); + })); + const n_issues = issueMeasures.length - solvedIndices.length - errorIndices.length; + pyClients.logger.info(`[RegulateWithTopo] score: ${score.title}, solved/issue/fatal: ${solvedIndices.length}/${n_issues}/${errorIndices.length}`); + if (solvedIndices.length) + pyClients.logger.info(`[RegulateWithTopo] solved measures: ${solvedIndices.join(', ')}`); + if (errorIndices.length) + pyClients.logger.info(`[RegulateWithTopo] error measures: ${errorIndices.join(', ')}`); + return { + solved: solvedIndices.length, + issue: n_issues, + fatal: errorIndices.length, + }; +} +const doRegulate = async (score, { pyClients, solver, solutionStore = DefaultSolutionStore, onSaveIssueMeasure }) => { + pyClients?.logger?.info(`[doRegulate] score: ${score.title}`); + score.spartito = undefined; + score.assemble(); + const spartito = score.makeSpartito(); + spartito.measures.forEach((measure) => score.assignBackgroundForMeasure(measure)); + const t0 = Date.now(); + const baseMeasures = await solveMeasures(spartito.measures, { solver, quotaMax: 1000, solutionStore, logger: pyClients?.logger }); + const t1 = Date.now(); + const topoMeasures = pyClients ? await doRegulateWithTopo(score, { pyClients, solver, solutionStore, onSaveIssueMeasure }) : undefined; + const t2 = Date.now(); + return { + baseCost: t1 - t0, + topoCost: t2 - t1, + baseMeasures, + topoMeasures, + qualityScore: spartito.qualityScore, + }; +}; +const doSimpleRegulate = async (score, { solver, solutionStore = DefaultSolutionStore, logger, quotaMax = 240, quotaFactor = 16 }) => { + score.assemble(); + const spartito = score.spartito || score.makeSpartito(); + const measures = spartito.measures.filter((measure) => !measure.regulated); + await solveMeasures(measures, { solver, quotaMax, quotaFactor, solutionStore, logger }); + console.assert(score.spartito?.regulated, 'doSimpleRegulate: regulation incomplete:', spartito.measures.filter((measure) => !measure.regulated).length); +}; +const evaluateScoreQuality = async (score, options) => { + if (!score.spartito?.regulated) + await doSimpleRegulate(score, options); + return score.spartito.regulated ? score.spartito.qualityScore : null; +}; +const abstractRegulationStats = (stats) => { + const { baseCostTotal, topoCostTotal, baseMeasures, topoMeasures } = stats.reduce((sum, stat) => ({ + baseCostTotal: sum.baseCostTotal + stat.baseCost, + topoCostTotal: sum.topoCostTotal + stat.topoCost, + baseMeasures: sum.baseMeasures + stat.baseMeasures.computed, + topoMeasures: sum.topoMeasures + (stat.topoMeasures.solved + stat.topoMeasures.issue + stat.topoMeasures.fatal), + }), { + baseCostTotal: 0, + topoCostTotal: 0, + baseMeasures: 0, + topoMeasures: 0, + }); + const baseCostPerMeasure = baseMeasures > 0 ? baseCostTotal / baseMeasures : null; + const topoCostPerMeasure = topoMeasures > 0 ? topoCostTotal / topoMeasures : null; + const { cached, baseComputed, baseSolved, topoSolved, topoIssue, topoFatal } = stats.reduce((sum, stat) => ({ + cached: sum.cached + stat.baseMeasures.cached, + baseComputed: sum.baseComputed + stat.baseMeasures.computed, + baseSolved: sum.baseSolved + stat.baseMeasures.solved, + topoSolved: sum.topoSolved + stat.topoMeasures.solved, + topoIssue: sum.topoIssue + stat.topoMeasures.issue, + topoFatal: sum.topoFatal + stat.topoMeasures.fatal, + }), { cached: 0, baseComputed: 0, baseSolved: 0, topoSolved: 0, topoIssue: 0, topoFatal: 0 }); + return { + scoreN: stats.length, + baseCostTotal, + topoCostTotal, + baseCostPerMeasure, + topoCostPerMeasure, + cached, + baseComputed, + baseSolved, + topoSolved, + topoIssue, + topoFatal, + }; +}; + +const SYSTEM_MARGIN = 4; +const constructSystem = ({ page, backgroundImage, detection, imageSize, position }) => { + const systemWidth = (detection.phi2 - detection.phi1) / detection.interval; + const systemHeight = imageSize.height / detection.interval; + const lastSystem = page.systems[page.systems.length - 1]; + const top = position ? position.y : (lastSystem ? lastSystem.top + lastSystem.height : 0) + SYSTEM_MARGIN; + const left = position ? position.x : SYSTEM_MARGIN; + const stavesTops = [ + 0, + ...Array(detection.middleRhos.length - 1) + .fill(0) + .map((_, i) => (detection.middleRhos[i] + detection.middleRhos[i + 1]) / 2 / detection.interval), + ]; + const measureBars = [systemWidth]; + const staves = stavesTops.map((top, i) => new Staff({ + top, + height: (stavesTops[i + 1] || systemHeight) - top, + staffY: detection.middleRhos[i] / detection.interval - top, + measureBars, + })); + //console.log("detection:", detection, options, stavesTops); + const imagePosition = { + x: -detection.phi1 / detection.interval, + y: 0, + width: imageSize.width / detection.interval, + height: imageSize.height / detection.interval, + }; + return new System({ + staves, + left, + top, + width: systemWidth, + backgroundImage, + imagePosition, + measureBars, + }); +}; +const toBuffer = async (url) => { + if (typeof url === 'string') { + if (/^https?:\/\//.test(url)) { + return (await got__default["default"](url, { responseType: 'buffer', decompress: true, https: { rejectUnauthorized: false } })).body; + } + if (/^data:image\//.test(url)) { + return Buffer.from(url.split(',')[1], 'base64'); + } + return Buffer.from(url); + } + return url; +}; +/** + * č―ŽæĒå›ūį‰‡æ žåžïžŒéŧ˜čŪĪwebp、最åΧéŦ˜åšĶ1080éŦ˜åšĶ小䚎1080臩åŠĻäļåšå°šåŊļ变æĒ + * @param url + * @param format + * @param maxHeight + * @param quality + */ +async function convertImage(url, { format = 'webp', maxHeight = 1080, quality = 80 } = {}) { + let buf = await toBuffer(url); + const webpBuffer = await new Promise((resolve) => { + sharp__default["default"](buf) + .resize({ + width: maxHeight, + height: maxHeight, + fit: 'inside', + withoutEnlargement: true, + }) + .toFormat(format, { quality }) + .toBuffer((err, buf) => { + resolve(buf); + }); + }); + const md5 = SparkMD5__default["default"].ArrayBuffer.hash(webpBuffer); + return { + buffer: webpBuffer, + filename: `${md5}.${format}`, + }; +} +/** + * æ›ŋæĒscoreJsonå›ūį‰‡åœ°å€ + * @param scoreJson + * @param onReplaceImage + */ +const replaceScoreJsonImages = (scoreJson, onReplaceImage = (src) => src) => { + const json = JSON.parse(JSON.stringify(scoreJson)); + json.pages.forEach((page) => { + page?.src && (page.src = onReplaceImage(page?.src)); + }); + json.lines.forEach((system) => { + system.lineStaves.forEach((line) => { + line.imgs.forEach((staff) => { + staff?.src && (staff.src = onReplaceImage(staff.src)); + }); + }); + }); + return json; +}; +/** + * čŽ·å–scoreJsonå›ūቇčĩ„暐列čĄĻ + * @param scoreJson + */ +const getScoreJsonImages = (scoreJson) => { + return [ + ...scoreJson.pages.map((page) => page?.src), + ...scoreJson.lines + .map((system) => system.lineStaves.map((staff) => staff.imgs)) + .flat(2) + .map((staff) => staff?.src) + .filter(Boolean), + ]; +}; +const updateScorePatches = (score, measures, options = {}) => { + console.assert(measures.every((measure) => measure.validRegulated), '[updateScorePatches] some measures not valid regulated:', measures.filter((measure) => !measure.validRegulated)); + score.patches = measures.map((measure) => measure.createPatch()); + if (options?.solutionStore) { + score.assemble(); + const spartito = score.makeSpartito(); + measures.forEach((measure) => { + options.solutionStore.set(measure.regulationHash, { ...measure.asSolution(), priority: 1 }); + if (measure.regulationHash0 !== measure.regulationHash) { + const originMeasure = spartito.measures.find((m) => m.measureIndex === measure.measureIndex); + options.solutionStore.set(measure.regulationHash0, { ...measure.asSolution(originMeasure), priority: 1 }); + } + }); + } +}; +const saveEditableMeasures = async (score, measureIndices, saveMeasure, { status = 2, solutionStore } = {}) => { + score.assemble(); + const spartito = score.spartito || score.makeSpartito(); + const measures = measureIndices + .map((index) => spartito.measures.find((measure) => measure.measureIndex === index)) + .filter(Boolean); + if (solutionStore) { + const solutions = await solutionStore.batchGet(measures.map((measure) => measure.regulationHash0)); + measures.forEach((measure, i) => { + const solution = solutions[i]; + if (solution) + measure.applySolution(solution); + }); + } + measures.forEach((measure) => { + saveMeasure({ + measureIndex: measure.measureIndex, + measure: new EditableMeasure(measure), + status, + }); + }); +}; + +console.info(`%cstarry-omr%c v1.0.0 2026-02-17T12:40:40.287Z`, 'color:#fff; background-color: #555;padding: 5px;border-radius: 3px 0 0 3px;', 'color: #fff; background-color: #007dc6;padding: 5px;border-radius: 0 3px 3px 0;'); + +exports.PyClients = PyClients; +exports.abstractRegulationBeadStats = abstractRegulationBeadStats; +exports.abstractRegulationStats = abstractRegulationStats; +exports.constructSystem = constructSystem; +exports.convertImage = convertImage; +exports.doRegulate = doRegulate; +exports.doSimpleRegulate = doSimpleRegulate; +exports.evaluateScoreQuality = evaluateScoreQuality; +exports.getScoreJsonImages = getScoreJsonImages; +exports.regulateWithBeadSolver = regulateWithBeadSolver; +exports.replaceScoreJsonImages = replaceScoreJsonImages; +exports.saveEditableMeasures = saveEditableMeasures; +exports.starry = index; +exports.updateScorePatches = updateScorePatches; +//# sourceMappingURL=regulator.js.map diff --git a/backend/omr/dist/regulator.js.map b/backend/omr/dist/regulator.js.map new file mode 100644 index 0000000000000000000000000000000000000000..4db94478f965d48a579a06d747db7d0eccb72fcb --- /dev/null +++ b/backend/omr/dist/regulator.js.map @@ -0,0 +1 @@ +{"version":3,"file":"regulator.js","sources":["../../libs/browserComponents.ts","../../../node_modules/events/events.js","../../libs/async-queue.ts","../../libs/ZeroClient.ts","../../libs/PyProcessor.ts","../../../node_modules/util/support/isBuffer.js","../../../node_modules/util/node_modules/inherits/inherits_browser.js","../../../node_modules/util/node_modules/inherits/inherits.js","../../../node_modules/util/util.js","../../libs/predictors.ts","../../../src/starry/interfaces.ts","../../../src/starry/semanticPoint.ts","../../../src/starry/token.ts","../../../src/starry/aux_/typedJSON.ts","../../../src/measureLayout/measureLayout.ts","../../../src/measureLayout/grammar.jison.js","../../../src/measureLayout/parser.ts","../../../src/staffLayout/staffLayout.ts","../../../src/staffLayout/grammar.jison.js","../../../src/staffLayout/parser.ts","../../../src/starry/logger.ts","../../../src/starry/utils.ts","../../../src/starry/term.ts","../../../src/starry/measureEvaluator.ts","../../../src/starry/semanticGraph.ts","../../../src/starry/scoreComponents.ts","../../../src/starry/semanticTopology.ts","../../../src/performer/types.ts","../../../node_modules/@k-l-lambda/music-widgets/source/inc/MIDI/stream.js","../../../node_modules/@k-l-lambda/music-widgets/source/inc/MIDI/midifile.js","../../../node_modules/@k-l-lambda/music-widgets/source/inc/MIDI/streamEx.js","../../../node_modules/@k-l-lambda/music-widgets/source/inc/MIDI/midifileEx.js","../../../node_modules/@k-l-lambda/music-widgets/source/inc/MIDI/index.js","../../../node_modules/@k-l-lambda/music-widgets/source/inc/MidiSequence.js","../../../node_modules/@k-l-lambda/music-widgets/source/inc/MusicNotation.js","../../../node_modules/@k-l-lambda/music-widgets/source/inc/MidiPlayer.js","../../../node_modules/@k-l-lambda/music-widgets/source/inc/Matcher/config.js","../../../node_modules/@k-l-lambda/music-widgets/source/inc/Matcher/node.js","../../../node_modules/@k-l-lambda/music-widgets/source/inc/Matcher/navigator.js","../../../node_modules/@k-l-lambda/music-widgets/source/inc/Matcher/index.js","../../../node_modules/@k-l-lambda/music-widgets/source/inc/MidiUtils.js","../../../node_modules/@k-l-lambda/music-widgets/index.js","../../../src/performer/notation.ts","../../../node_modules/crypto-js/core.js","../../../node_modules/crypto-js/sha256.js","../../../src/starry/hashVector.ts","../../../node_modules/matrix-inverse/matrix-inverse.js","../../../src/starry/equationSolver.ts","../../../src/starry/patch.ts","../../../src/starry/eventTopology.ts","../../../src/starry/spartitoMeasure.ts","../../../src/starry/spartito.ts","../../../src/starry/staffContext.ts","../../../src/starry/score.ts","../../../src/starry/editableMeasure.ts","../../../src/starry/beadSolver.ts","../../../src/starry/measureRectification.ts","../../libs/store.ts","../../libs/regulationBead.ts","../../libs/regulation.ts","../../libs/util.ts","../src/regulator.ts"],"sourcesContent":["globalThis.btoa = (str) => Buffer.from(str, 'binary').toString('base64');\nglobalThis.atob = (str) => Buffer.from(str, 'base64').toString('binary');\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","import { EventEmitter } from 'events';\n\ninterface DSPromiseOption {\n\ttimeout?: number;\n}\n\nexport function destructPromise(\n\toptions: DSPromiseOption = {}\n): [promise: Promise, resolve: (value: T | PromiseLike) => void, reject: (reason?: any) => void] {\n\tconst { timeout } = options;\n\tlet rs: (value: T | PromiseLike) => void;\n\tlet rj: (reason: any) => void;\n\n\treturn [\n\t\tnew Promise((resolve, reject) => {\n\t\t\trs = resolve;\n\t\t\trj = reject;\n\n\t\t\tif (timeout >= 0) setTimeout(rj, timeout, 'timeout');\n\t\t}),\n\t\trs,\n\t\trj,\n\t];\n}\n\ntype AsyncTask = [fn: (data: any) => Promise, payload: any, resolve: (data: any) => void, reject: (reason: any) => void];\n\nexport class AsyncQueue extends EventEmitter {\n\tprivate working = false;\n\n\ttasks: AsyncTask[];\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.working = false;\n\t\tthis.tasks = [];\n\t\tprocess.nextTick(() => {\n\t\t\tthis.emit('idle');\n\t\t});\n\t}\n\n\tprivate async _digest(item: AsyncTask) {\n\t\tthis.working = true;\n\n\t\tconst [taskFn, payload, resolve, reject] = item;\n\t\tawait taskFn(payload).then(resolve, reject);\n\n\t\tif (this.tasks.length > 0) {\n\t\t\tawait this._digest(this.tasks.shift());\n\t\t} else {\n\t\t\tthis.working = false;\n\t\t\tthis.emit('idle');\n\t\t}\n\t}\n\n\t/**\n\t * æ·ŧ加队列äŧŧåŠĄ\n\t * @param task\n\t * @param options\n\t */\n\taddTask(task: [AsyncTask[0], AsyncTask[1]], { timeout = 600000 }: { timeout?: number } = {}): Promise {\n\t\tconst [promise, resolve, reject] = destructPromise({ timeout });\n\n\t\tif (this.working) {\n\t\t\tthis.tasks.push([...task, resolve, reject]);\n\t\t} else {\n\t\t\tthis._digest([...task, resolve, reject]);\n\t\t}\n\n\t\treturn promise;\n\t}\n}\n","import { pack, unpack } from 'msgpackr';\nimport { Request } from 'zeromq';\nimport { AsyncQueue } from './async-queue';\n\ninterface Response {\n\tcode: number;\n\tmsg: string;\n\tdata?: any;\n}\n\nexport interface Logger {\n\tinfo: (...data: any[]) => void;\n\terror: (...data: any[]) => void;\n}\n\ntype PyArgs = any[];\ntype PyKwargs = Record;\n\nexport default class ZeroClient {\n\tlogger: Logger;\n\tprivate socket: Request;\n\tprivate queue: AsyncQueue = new AsyncQueue();\n\n\tprivate url: string;\n\n\tconstructor(logger: Logger = console) {\n\t\tthis.logger = logger;\n\t}\n\n\tbind(url?: string) {\n\t\turl && (this.url = url);\n\t\tthis.socket = new Request({\n\t\t\tsendTimeout: 15e3,\n\t\t\treceiveTimeout: 300e3,\n\t\t});\n\n\t\tthis.socket.connect(this.url);\n\t}\n\n\tprivate __request(payload) {\n\t\tlet retryTimes = 0;\n\n\t\tconst req = async (data) => {\n\t\t\ttry {\n\t\t\t\tif (this.socket.closed) this.bind();\n\t\t\t\treturn await this.socket.send(pack(data)).then(() => this.socket.receive());\n\t\t\t} catch (err) {\n\t\t\t\tif (retryTimes < 2) {\n\t\t\t\t\tretryTimes++;\n\t\t\t\t\tconsole.log(`čŊ·æą‚åĪąčīĨ${err.stack}`);\n\t\t\t\t\tconsole.error(`3s后重čŊ•įŽŽ${retryTimes}æŽĄ`);\n\t\t\t\t\tthis.socket.close();\n\t\t\t\t\tawait new Promise((resolve) => setTimeout(resolve, 3000));\n\t\t\t\t\treturn req(data);\n\t\t\t\t} else {\n\t\t\t\t\tthrow err;\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\treturn req(payload);\n\t}\n\n\tasync request(method: string, args: PyArgs | PyKwargs = null, kwargs: PyKwargs = null): Promise {\n\t\tconst [args_, kwargs_] = Array.isArray(args) ? [args, kwargs] : [undefined, args];\n\t\tconst msg: any = { method };\n\t\tif (args_) msg.args = args_;\n\t\tif (kwargs_) msg.kwargs = kwargs_;\n\n\t\treturn this.queue.addTask([\n\t\t\tasync (opt) => {\n\t\t\t\tconst [result] = await this.__request(opt);\n\n\t\t\t\tconst obj = unpack(result) as Response;\n\n\t\t\t\tif (obj.code === 0) {\n\t\t\t\t\treturn obj.data;\n\t\t\t\t} else {\n\t\t\t\t\treturn Promise.reject(obj.msg);\n\t\t\t\t}\n\t\t\t},\n\t\t\tmsg,\n\t\t]);\n\t}\n}\n","import { getPortPromise } from 'portfinder';\nimport { Options, PythonShell } from 'python-shell';\nimport { defaultsDeep } from 'lodash';\nimport ZeroClient, { Logger } from './ZeroClient';\n\nexport default class PyProcessor extends ZeroClient {\n\tprivate readonly scriptPath: string;\n\tprivate readonly options: Options;\n\tprivate pyShell: PythonShell;\n\n\tprivate retryCount: number = 0;\n\tprivate retryDelay: number = 3000;\n\n\tconstructor(scriptPath: string, options: Options = {}, logger: Logger = console) {\n\t\tsuper(logger);\n\t\tthis.scriptPath = scriptPath;\n\t\tthis.options = options;\n\t}\n\n\tasync bind(port?: string | number) {\n\t\tconst freePort =\n\t\t\tport ||\n\t\t\t(await getPortPromise({\n\t\t\t\tport: 12022,\n\t\t\t\tstopPort: 12122,\n\t\t\t}));\n\n\t\t// \"./streamPredictor.py\", \"--inspect\"\n\t\tconst options = defaultsDeep(\n\t\t\t{\n\t\t\t\targs: [...(this.options.args || []), '-p', `${freePort}`],\n\t\t\t},\n\t\t\tthis.options\n\t\t);\n\n\t\tthis.logger.info(`[python-shell]: starting python shell. path: ${this.scriptPath}`);\n\n\t\tthis.pyShell = new PythonShell(this.scriptPath, options);\n\n\t\tthis.pyShell.stdout.on('data', (data) => this.logger.info(data));\n\n\t\tthis.pyShell.on('pythonError', (err) => this.logger.error(`[python-shell]: ${this.scriptPath} pythonError:`, err));\n\t\tthis.pyShell.on('stderr', (err) => this.logger.error(`[python-shell]: ${this.scriptPath} stderr:`, err));\n\t\tthis.pyShell.on('error', (err) => this.logger.error(`[python-shell]: ${this.scriptPath} error:`, err));\n\t\tthis.pyShell.on('close', () => {\n\t\t\t// python子čŋ›įĻ‹å…ģ闭之äŧķ\n\t\t\tif (this.retryCount < 5) {\n\t\t\t\tthis.retryCount++;\n\t\t\t\tthis.logger.info(`[python-shell]: ${this.scriptPath} will retry ${this.retryCount}th time after 3 seconds`);\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.bind();\n\t\t\t\t}, this.retryDelay);\n\t\t\t}\n\t\t});\n\n\t\tsuper.bind(`tcp://127.0.0.1:${freePort}`);\n\t}\n}\n","module.exports = function isBuffer(arg) {\n return arg instanceof Buffer;\n}\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n}\n","try {\n var util = require('util');\n if (typeof util.inherits !== 'function') throw '';\n module.exports = util.inherits;\n} catch (e) {\n module.exports = require('./inherits_browser.js');\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||\n function getOwnPropertyDescriptors(obj) {\n var keys = Object.keys(obj);\n var descriptors = {};\n for (var i = 0; i < keys.length; i++) {\n descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n }\n return descriptors;\n };\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n if (typeof process !== 'undefined' && process.noDeprecation === true) {\n return fn;\n }\n\n // Allow for deprecating things in the process of starting up.\n if (typeof process === 'undefined') {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnviron;\nexports.debuglog = function(set) {\n if (isUndefined(debugEnviron))\n debugEnviron = process.env.NODE_DEBUG || '';\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (new RegExp('\\\\b' + set + '\\\\b', 'i').test(debugEnviron)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').substr(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nvar kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;\n\nexports.promisify = function promisify(original) {\n if (typeof original !== 'function')\n throw new TypeError('The \"original\" argument must be of type Function');\n\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== 'function') {\n throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n }\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return fn;\n }\n\n function fn() {\n var promiseResolve, promiseReject;\n var promise = new Promise(function (resolve, reject) {\n promiseResolve = resolve;\n promiseReject = reject;\n });\n\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n args.push(function (err, value) {\n if (err) {\n promiseReject(err);\n } else {\n promiseResolve(value);\n }\n });\n\n try {\n original.apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n\n return promise;\n }\n\n Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n\n if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return Object.defineProperties(\n fn,\n getOwnPropertyDescriptors(original)\n );\n}\n\nexports.promisify.custom = kCustomPromisifiedSymbol\n\nfunction callbackifyOnRejected(reason, cb) {\n // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n // Because `null` is a special error value in callbacks which means \"no error\n // occurred\", we error-wrap so the callback consumer can distinguish between\n // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n if (!reason) {\n var newReason = new Error('Promise was rejected with a falsy value');\n newReason.reason = reason;\n reason = newReason;\n }\n return cb(reason);\n}\n\nfunction callbackify(original) {\n if (typeof original !== 'function') {\n throw new TypeError('The \"original\" argument must be of type Function');\n }\n\n // We DO NOT return the promise as it gives the user a false sense that\n // the promise is actually somehow related to the callback's execution\n // and that the callback throwing will reject the promise.\n function callbackified() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n var maybeCb = args.pop();\n if (typeof maybeCb !== 'function') {\n throw new TypeError('The last argument must be of type Function');\n }\n var self = this;\n var cb = function() {\n return maybeCb.apply(self, arguments);\n };\n // In true node style we process the callback on `nextTick` with all the\n // implications (stack, `uncaughtException`, `async_hooks`)\n original.apply(this, args)\n .then(function(ret) { process.nextTick(cb, null, ret) },\n function(rej) { process.nextTick(callbackifyOnRejected, rej, cb) });\n }\n\n Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n Object.defineProperties(callbackified,\n getOwnPropertyDescriptors(original));\n return callbackified;\n}\nexports.callbackify = callbackify;\n","import ZeroClient, { Logger } from './ZeroClient';\nimport * as starry from '../../src/starry';\nimport PyProcessor from './PyProcessor';\nimport { destructPromise } from './async-queue';\nimport { getPort } from 'portfinder';\nimport util from 'util';\nimport { Options } from 'python-shell';\n\nconst getPortPromise = util.promisify(getPort);\n\nexport interface LayoutResult {\n\tdetection: starry.PageLayout;\n\ttheta: number;\n\tinterval: number;\n\tsourceSize?: {\n\t\twidth: number;\n\t\theight: number;\n\t};\n}\n\nexport interface PredictorInterface {\n\tlayout: (streams: Buffer[]) => LayoutResult[];\n\tlayout$reinforce: (streams: Buffer[], baseLayouts: LayoutResult[]) => LayoutResult[];\n\tgauge: (streams: Buffer[]) => {\n\t\timage: Buffer;\n\t}[];\n\tmask: (streams: Buffer[]) => {\n\t\timage: Buffer;\n\t}[];\n\tsemantic: (streams: Buffer[]) => any[];\n\ttextLoc: (streams: Buffer[]) => any[];\n\ttextOcr: (params: { buffers: Buffer[]; location: any[] }) => any[];\n\tbrackets: (params: { buffers: Buffer[] }) => any[];\n\ttopo: (params: { clusters: starry.EventCluster[] }) => any[];\n\tgaugeRenderer: (params: [Buffer, Buffer, number]) => { buffer: Buffer; size: { width: number; height: number } };\n\tjianpu: (params: { buffers: Buffer[] }) => any[];\n\t// [source: Buffer, gauge: Buffer, baseY: number]\n}\n\ntype PredictorType = keyof PredictorInterface;\n\nexport type PyClientsConstructOptions = Partial>;\n\nexport class PyClients {\n\tclients = new Map>();\n\n\tconstructor(public readonly options: PyClientsConstructOptions, public readonly logger: Logger = console) {}\n\n\tasync getClient(type: PredictorType) {\n\t\tif (this.clients.has(type)) {\n\t\t\treturn this.clients.get(type);\n\t\t}\n\n\t\tconst [promise, resolve, reject] = destructPromise();\n\n\t\tconst opt = this.options[type];\n\n\t\tif (!opt) {\n\t\t\tthrow new Error(`no config for client \\`${type}\\` found`);\n\t\t}\n\n\t\ttry {\n\t\t\tif (typeof opt === 'string') {\n\t\t\t\tconst client = new ZeroClient();\n\t\t\t\tclient.bind(opt);\n\t\t\t\tresolve(client);\n\t\t\t} else {\n\t\t\t\tconst { scriptPath, ...option } = opt;\n\t\t\t\tconst client = new PyProcessor(scriptPath, option, this.logger);\n\t\t\t\tawait client.bind(`${await getPortPromise()}`);\n\t\t\t\tresolve(client);\n\t\t\t}\n\n\t\t\tthis.logger.info(`PyClients: ${type} started`);\n\t\t} catch (err) {\n\t\t\tthis.logger.error(`PyClients: ${type} start fail: ${JSON.stringify(err)}`);\n\t\t\treject(err);\n\t\t}\n\n\t\tthis.clients.set(type, promise);\n\n\t\treturn promise;\n\t}\n\n\tasync checkHost(type: PredictorType): Promise {\n\t\tconst client = await this.getClient(type);\n\n\t\treturn client.request('checkHost');\n\t}\n\n\tasync warmup() {\n\t\tconst opts = Object.keys(this.options) as PredictorType[];\n\t\tawait Promise.all(opts.map((type) => this.getClient(type)));\n\t}\n\n\t/**\n\t * æĻĄåž‹éĒ„æĩ‹\n\t * @param type layout | mask | gauge | semantic\n\t * @param args\n\t */\n\tasync predictScoreImages(type: T, ...args: Parameters): Promise> {\n\t\tconst clientType = type.split('$')[0] as PredictorType;\n\t\tconst client = await this.getClient(clientType);\n\t\tlet res = null;\n\n\t\tthis.logger.info(`[predictor]: ${type} py start..`);\n\t\tconst start = Date.now();\n\n\t\tswitch (type) {\n\t\t\tcase 'layout':\n\t\t\t\tres = await client.request('predictDetection', args);\n\t\t\t\tbreak;\n\t\t\tcase 'layout$reinforce':\n\t\t\t\tres = await client.request('predictReinforce', args);\n\t\t\t\tbreak;\n\t\t\tcase 'gauge':\n\t\t\tcase 'mask':\n\t\t\t\tres = await client.request('predict', args, { by_buffer: true });\n\t\t\t\tbreak;\n\t\t\tcase 'semantic':\n\t\t\tcase 'textLoc':\n\t\t\t\tres = await client.request('predict', args);\n\t\t\t\tbreak;\n\t\t\tcase 'textOcr':\n\t\t\tcase 'brackets':\n\t\t\tcase 'topo':\n\t\t\tcase 'gaugeRenderer':\n\t\t\tcase 'jianpu':\n\t\t\t\tres = await client.request('predict', ...args);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthis.logger.error(`[predictor]: no predictor ${type}`);\n\t\t}\n\n\t\tthis.logger.info(`[predictor]: ${type} py duration: ${Date.now() - start}ms`);\n\n\t\treturn res;\n\t}\n}\n","import { MetaNotation, TokenPosition } from '../performer';\nimport { Term, EventTerm, ContextedTerm, ChordmodeTerm, MarkTerm, Accessory, GraceType, TremoloLink } from './term';\nimport { HashVector } from './hashVector';\nimport { StaffLayout } from '../staffLayout';\nimport * as measureLayout from '../measureLayout';\n\ninterface Rect {\n\tx: number;\n\ty: number;\n\twidth: number;\n\theight: number;\n}\n\ninterface ChordRect {\n\tx: number;\n\tstemX: number;\n\twidth: number;\n\ttop: number;\n\tbottom: number;\n\tstemDirection: string;\n\ttip?: { x: number; y: number };\n}\n\ninterface VLine {\n\tx: number;\n\ty1: number;\n\ty2: number;\n}\n\ninterface Fraction {\n\tnumerator: number;\n\tdenominator: number;\n}\n\ntype DivisionVecotor = [number, number, number, number, number, number, number, number, number]; // [0, 1, 2, 3, 4, 5, 6, 7, 8]\n\ntype MeasureBarType = null | 'Terminal' | 'Segment' | 'VoltaRight';\n\ninterface EventFeature {\n\tdivisions: DivisionVecotor;\n\tdots: [number, number]; // [1, 2]\n\tbeams: [number, number, number]; // ['Open', 'Continue', 'Close']\n\tstemDirections: [number, number]; // ['u', 'd']\n\tgrace: number;\n\ttremoloCatcher: number;\n}\n\ninterface EventPredisposition {\n\tgrace: boolean;\n\ttimeWarped: number;\n\tfullMeasure: number;\n\tfake: number;\n\tfakeP: number;\n\ttick: number;\n\tdivision: number;\n\tdots: number;\n\tdivisionVector: DivisionVecotor;\n\tdotsVector: [number, number, number]; // [0, 1, 2]\n\tbeamVector: [number, number, number, number]; // [null, open, continue, close]\n\tstemDirectionVector: [number, number, number]; // [null, up, down]\n}\n\ninterface ChordColumn {\n\tleft: number;\n\tright: number;\n\tpivotX: number;\n\tys: number[];\n\tnoteIds: string[]; // order by upwards\n\tdivision: number;\n\tdots: number;\n\trest: boolean;\n\tstemDirection: string;\n\taccessories?: Accessory[];\n\tgrace?: GraceType;\n\ttremolo?: number;\n\ttremoloLink?: TremoloLink;\n\tbeam?: string;\n\ttip?: { x: number; y: number };\n\n\t//stemTipY?: number;\n\n\t// for topology\n\tstaff?: number;\n\tid?: number;\n\tprevId?: number;\n\ttickGroup?: number;\n\n\tfeature?: EventFeature;\n}\n\ninterface EventMeasure {\n\tevents: EventTerm[];\n\tcontexts: ContextedTerm[];\n}\n\ninterface StaffBasic {\n\ttimeSignature: Fraction;\n\ttimeSigNumeric: boolean;\n\tkeySignature: number;\n\tdoubtfulTimesig: boolean;\n}\n\ninterface EventMeasureColumn {\n\tmeasureIndex: number;\n\t//startX: number;\n\t//width: number;\n\n\trows: EventMeasure[]; // [staff]\n\tmarks: MarkTerm[];\n\tduration: number;\n\n\tvoices?: number[][]; // [voice, id]\n\tbreak?: boolean;\n\tpageBreak?: boolean;\n\tbasics?: StaffBasic[]; // [staff]\n\txMap?: Map;\n\tregularLoss?: number;\n\tvoltaBegin: boolean;\n\tvoltaEnd: boolean;\n\talternative: boolean;\n\tbarTypes: Record;\n}\n\ninterface EventSystem {\n\tstaffMask: number;\n\tcolumns: EventMeasureColumn[]; // [measure]\n}\n\ninterface TermMeasure extends Partial {\n\tterms: Term[];\n\tduration: number;\n\tbreak?: boolean;\n\tpageBreak?: boolean;\n}\n\ntype TermRow = TermMeasure[];\n\ninterface TermStaff {\n\trows: TermRow[]; // [system]\n}\n\ninterface Pitch {\n\tnote: number;\n\talter: number;\n}\n\nenum PageLayoutMethod {\n\tByLines = 'ByLines',\n\tByBlocks = 'ByBlocks',\n}\n\ninterface RecognitionSettings {\n\tenabledGauge: boolean; // staves straighten\n\tpageLayoutMethod: PageLayoutMethod;\n\tsemanticConfidenceThreshold: number;\n}\n\ninterface Crop {\n\taspect?: number | undefined;\n\tx?: number | undefined;\n\ty?: number | undefined;\n\twidth?: number | undefined;\n\theight?: number | undefined;\n\tunit?: 'px' | '%' | undefined;\n}\n\n//\t0 2 4\t\t\tr r tx\n//\t1 3 5\t\t\tr r ty\ntype Matrix2x3 = [number, number, number, number, number, number];\n\ninterface SourceImageFile {\n\tname: string;\n\tsize: number;\n\turl: string;\n\tcrop?: Crop;\n\tmatrix: Matrix2x3;\n\tdimensions: {\n\t\twidth: number;\n\t\theight: number;\n\t};\n\tinterval: number;\n\tneedGauge?: boolean;\n}\n\ninterface Area extends Rect {\n\tstaves: {\n\t\tinterval: number;\n\t\tmiddleRhos: number[];\n\t\tphi1: number;\n\t\tphi2: number;\n\t};\n}\n\ninterface PageLayout {\n\tareas: Area[];\n}\n\ninterface MeasureBrief {\n\ttimeSignature: Fraction;\n}\n\ninterface VoiceMeasure {\n\ttickMap: { [key: number]: EventTerm | ChordmodeTerm };\n\tduration: number;\n\n\ttimeSignature?: Fraction;\n\ttimeSigNumeric?: boolean;\n\tkeySignature?: number;\n\n\tcontextedTerms: ContextedTerm[];\n\tmarks: MarkTerm[];\n\n\tbreak?: boolean;\n\tpageBreak?: boolean;\n\tbar?: string;\n\n\tempty?: boolean;\n\n\theadStaff?: number;\n\ttailStaff?: number;\n\n\ttrait?: HashVector;\n\tvoiceIndex?: number;\n}\n\ninterface TermVoice {\n\tmode: string;\n\tmeasures: VoiceMeasure[];\n}\n\ninterface VoicesStaff {\n\tcontext?: string;\n\tname?: string;\n\tvoices: TermVoice[];\n}\n\ninterface PaperOptions {\n\traggedLast: boolean;\n\traggedBottom: boolean;\n\traggedLastBottom: boolean;\n\tslashSystemSeparator: boolean;\n}\n\ninterface MusicHeaders {\n\ttitle: string;\n\tsubtitle: string;\n\tsubsubtitle: string;\n\tcomposer: string;\n\tpoet: string;\n\tarranger: string;\n\topus: string;\n\tcopyright: string;\n\tinstrument: string;\n\tdedication: string;\n\ttagline: string;\n}\n\ninterface MusicSheet {\n\ttitle: string;\n\tpageSize: {\n\t\t// in pixels\n\t\twidth: number;\n\t\theight: number;\n\t};\n\tunitSize: number;\n\tmeasureLayout?: measureLayout.MeasureLayout;\n\tstaffLayout: StaffLayout;\n\tpaperOptions?: Partial;\n\theaders: Partial;\n\n\tvoiceStaves: VoicesStaff[];\n\tinstrumentDict: { [key: string]: string };\n}\n\ninterface Performing {\n\tnotation: MetaNotation;\n\ttokenMap: Map;\n}\n\ntype RegulationPolicy = 'test' | 'simple' | 'equations' | 'advanced';\n\ninterface RegulationOptions {\n\tpolicy?: RegulationPolicy;\n\tquota?: number;\n\t[key: string]: any;\n}\n\ninterface ScoreData {\n\tversion?: number;\n\t[key: string]: any;\n}\n\ninterface AdditionalLineStack {\n\tleft: number;\n\tright: number;\n\tn: number;\n}\n\ninterface RegulationSolutionEvent {\n\tid: number;\n\ttick: number;\n\ttickGroup: number;\n\ttimeWarp: Fraction;\n\tdivision?: number;\n\tdots?: number;\n\tbeam?: string;\n\tgrace?: boolean;\n\tfullMeasure?: boolean;\n}\n\ninterface RegulationSolution {\n\tevents: RegulationSolutionEvent[];\n\tvoices: number[][];\n\tduration: number;\n\tpriority?: number;\n\testimatedDuration?: number;\n\ttimeSignature?: Fraction;\n}\n\ninterface BackgroundImage {\n\turl: string;\n\tposition: Rect;\n\toriginal?: boolean;\n}\n\nenum TextType { //\tLEVEL\t\t\tCHARSET\n\tTitle = 'Title', // page\t\t\t\tgeneral\n\tAuthor = 'Author', // page\t\t\t\tgeneral\n\tTempoText = 'TempoText', // measure\t\t\tspecific vocabulary\n\tTempoNumeral = 'TempoNumeral', // measure\t\t\tsymbolic and numeric\n\tTextualMark = 'TextualMark', // term\t\t\t\tspecific vocabulary\n\tLyric = 'Lyric', // term\t\t\t\tgeneral\n\tInstrument = 'Instrument', // system\t\t\tspecific vocabulary\n\tMeasureNumber = 'MeasureNumber', // system\t\t\tnumeric\n\tTimes = 'Times', // staff\t\t\tnumeric\n\tAlternation1 = 'Alternation1', // measure\t\t\tnumeric\n\tAlternation2 = 'Alternation2', // measure\t\t\tnumeric\n\tChord = 'Chord', // measure\t\t\tspecific domian\n\tPageMargin = 'PageMargin', // page\t\t\t\tgeneral\n\tOther = 'Other', // page\t\t\t\tgeneral\n}\n\nexport {\n\tRect,\n\tChordRect,\n\tVLine,\n\tFraction,\n\tMeasureBarType,\n\tEventFeature,\n\tEventPredisposition,\n\tChordColumn,\n\tEventMeasure,\n\tEventMeasureColumn,\n\tEventSystem,\n\tTermMeasure,\n\tTermRow,\n\tTermStaff,\n\tPitch,\n\tPageLayoutMethod,\n\tRecognitionSettings,\n\tSourceImageFile,\n\tPageLayout,\n\tStaffBasic,\n\tVoiceMeasure,\n\tVoicesStaff,\n\tTermVoice,\n\tMeasureBrief,\n\tAdditionalLineStack,\n\tTextType,\n\tMusicSheet,\n\tPerforming,\n\tRegulationOptions,\n\tScoreData,\n\tMusicHeaders,\n\tMatrix2x3,\n\tRegulationSolutionEvent,\n\tRegulationSolution,\n\tBackgroundImage,\n};\n","import sha1 from 'js-sha1';\n\nenum SemanticType {\n\t// clefs\n\tClefG = 'ClefG',\n\tClefF = 'ClefF',\n\tClefC = 'ClefC',\n\n\t// noteheads\n\tNoteheadS0 = 'NoteheadS0',\n\tNoteheadS1 = 'NoteheadS1',\n\tNoteheadS2 = 'NoteheadS2',\n\tNoteheadS1stemU = 'NoteheadS1stemU',\n\tNoteheadS1stemD = 'NoteheadS1stemD',\n\tNoteheadS2stemU = 'NoteheadS2stemU',\n\tNoteheadS2stemD = 'NoteheadS2stemD',\n\n\tvline_Stem = 'vline_Stem',\n\n\t// flags\n\tFlag3 = 'Flag3',\n\n\t// beams\n\tBeamLeft = 'BeamLeft',\n\tBeamContinue = 'BeamContinue',\n\tBeamRight = 'BeamRight',\n\n\t// tremolos\n\tTremoloLeft = 'TremoloLeft',\n\tTremoloRight = 'TremoloRight',\n\tTremoloMiddle = 'TremoloMiddle',\n\n\t// dots (duration)\n\tDot = 'Dot',\n\n\t// rests\n\tRest0 = 'Rest0',\n\tRest1 = 'Rest1',\n\tRest2 = 'Rest2',\n\tRest3 = 'Rest3',\n\tRest4 = 'Rest4',\n\tRest5 = 'Rest5',\n\tRest6 = 'Rest6',\n\tRest0W = 'Rest0W', // capital 'R' in lilypond\n\tRestM1 = 'RestM1',\n\n\t// accidentals\n\tAccNatural = 'AccNatural',\n\tAccSharp = 'AccSharp',\n\tAccDoublesharp = 'AccDoublesharp',\n\tAccFlat = 'AccFlat',\n\tAccFlatflat = 'AccFlatflat',\n\n\t// volta\n\tvline_VoltaLeft = 'vline_VoltaLeft',\n\tvline_VoltaRight = 'vline_VoltaRight',\n\tVoltaLeft = 'VoltaLeft',\n\tVoltaRight = 'VoltaRight',\n\n\tVoltaAlternativeBegin = 'VoltaAlternativeBegin',\n\t//VoltaAlternativeEnd\t= \"VoltaAlternativeEnd\",\n\n\t// vertical bars\n\tBarMeasure = 'BarMeasure',\n\tvline_BarMeasure = 'vline_BarMeasure',\n\tvline_BarTerminal = 'vline_BarTerminal',\n\tvline_BarSegment = 'vline_BarSegment',\n\n\t// slur & tie\n\tSlurBegin = 'SlurBegin',\n\tSlurEnd = 'SlurEnd',\n\n\t// time signature\n\tTimesigC44 = 'TimesigC44',\n\tTimesigC22 = 'TimesigC22',\n\tTimesigZero = 'TimesigZero',\n\tTimesigOne = 'TimesigOne',\n\tTimesigTwo = 'TimesigTwo',\n\tTimesigThree = 'TimesigThree',\n\tTimesigFour = 'TimesigFour',\n\tTimesigFive = 'TimesigFive',\n\tTimesigSix = 'TimesigSix',\n\tTimesigSeven = 'TimesigSeven',\n\tTimesigEight = 'TimesigEight',\n\tTimesigNine = 'TimesigNine',\n\n\t// octave shifts\n\tOctaveShift8va = 'OctaveShift8va',\n\tOctaveShift8vb = 'OctaveShift8vb',\n\tOctaveShift8 = 'OctaveShift8',\n\tOctaveShift0 = 'OctaveShift0',\n\n\t// numbers\n\tZero = 'Zero',\n\tOne = 'One',\n\tTwo = 'Two',\n\tThree = 'Three',\n\tFour = 'Four',\n\tFive = 'Five',\n\tSix = 'Six',\n\tSeven = 'Seven',\n\tEight = 'Eight',\n\tNine = 'Nine',\n\n\t// dynamics\n\tf = 'f',\n\tp = 'p',\n\tm = 'm',\n\tn = 'n',\n\tr = 'r',\n\ts = 's',\n\tz = 'z',\n\n\tCrescendoBegin = 'CrescendoBegin',\n\tCrescendoEnd = 'CrescendoEnd',\n\tDecrescendoBegin = 'DecrescendoBegin',\n\tDecrescendoEnd = 'DecrescendoEnd',\n\n\t// scripts\n\tScriptFermata = 'ScriptFermata',\n\tScriptShortFermata = 'ScriptShortFermata',\n\tScriptSforzato = 'ScriptSforzato',\n\tScriptStaccato = 'ScriptStaccato',\n\tScriptStaccatissimo = 'ScriptStaccatissimo',\n\tScriptTurn = 'ScriptTurn',\n\tScriptTrill = 'ScriptTrill',\n\tScriptSegno = 'ScriptSegno',\n\tScriptCoda = 'ScriptCoda',\n\tScriptArpeggio = 'ScriptArpeggio',\n\tScriptPrall = 'ScriptPrall',\n\tScriptMordent = 'ScriptMordent',\n\tScriptMarcato = 'ScriptMarcato',\n\tScriptTenuto = 'ScriptTenuto',\n\tScriptPortato = 'ScriptPortato',\n\n\t// pedal\n\tPedalStar = 'PedalStar',\n\tPedalPed = 'PedalPed',\n\n\t// additional annotation\n\tKeyAcc = 'KeyAcc',\n\tTempoNotehead = 'TempoNotehead',\n\tGraceNotehead = 'GraceNotehead',\n\tSignLined = 'SignLined',\n\tSignInterval = 'SignInterval',\n\n\trect_Text = 'rect_Text',\n\trect_Lyric = 'rect_Lyric',\n}\n\nconst glyphSemanticMapping: { [key: string]: string } = {\n\t'rests.1': 'Rest1',\n\t'rests.0o': 'Rest0',\n\t'rests.1o': 'Rest1',\n\t'rests.M1': 'RestM1',\n\t'rests.2': 'Rest2',\n\t'rests.3': 'Rest3',\n\t'rests.4': 'Rest4',\n\t'rests.5': 'Rest5',\n\t'rests.6': 'Rest6',\n\t'accidentals.sharp': 'AccSharp',\n\t'accidentals.doublesharp': 'AccDoublesharp',\n\t'accidentals.natural': 'AccNatural',\n\t'accidentals.flat': 'AccFlat',\n\t'accidentals.flatflat': 'AccFlatflat',\n\t'dots.dot': 'Dot',\n\t'scripts.ufermata': 'ScriptFermata',\n\t'scripts.dfermata': 'ScriptFermata',\n\t'scripts.ushortfermata': 'ScriptShortFermata',\n\t'scripts.dshortfermata': 'ScriptShortFermata',\n\t'scripts.staccato': 'ScriptStaccato',\n\t'scripts.ustaccatissimo': 'ScriptStaccatissimo',\n\t'scripts.dstaccatissimo': 'ScriptStaccatissimo',\n\t'scripts.turn': 'ScriptTurn',\n\t'scripts.trill': 'ScriptTrill',\n\t'scripts.segno': 'ScriptSegno',\n\t'scripts.coda': 'ScriptCoda',\n\t'scripts.arpeggio': 'ScriptArpeggio',\n\t'scripts.prall': 'ScriptPrall',\n\t'scripts.mordent': 'ScriptMordent',\n\t'scripts.umarcato': 'ScriptMarcato',\n\t'scripts.dmarcato': 'ScriptMarcato',\n\t'scripts.uportato': 'ScriptPortato',\n\t'scripts.dportato': 'ScriptPortato',\n\t'scripts.tenuto': 'ScriptTenuto',\n\t'scripts.sforzato': 'ScriptSforzato',\n\t'clefs.C': 'ClefC',\n\t'clefs.F': 'ClefF',\n\t'clefs.G': 'ClefG',\n\t'clefs.F_change': 'ClefF',\n\t'clefs.G_change': 'ClefG',\n\t'timesig.C44': 'TimesigC44',\n\t'timesig.C22': 'TimesigC22',\n\t'pedal.*': 'PedalStar',\n\t'pedal.Ped': 'PedalPed',\n\t'noteheads.s0': 'NoteheadS0',\n\t'noteheads.s1': 'NoteheadS1',\n\t'noteheads.s2': 'NoteheadS2',\n\tf: 'f',\n\tm: 'm',\n\tp: 'p',\n\tr: 'r',\n\ts: 's',\n\tz: 'z',\n};\n\nconst semanticPriorities: { [key: string]: number } = {\n\tClefG: 0,\n\tClefF: 0,\n\tTimesigFour: 0,\n\tTimesigThree: 0,\n\tTimesigTwo: 0,\n\tNoteheadS0: 0,\n\tNoteheadS1: 0,\n\tNoteheadS2: 0,\n\tDot: 0,\n\tvline_BarMeasure: 0,\n\tvline_Stem: 0,\n\tFlag3: 0,\n\n\tTimesigC44: 1,\n\tTimesigC22: 1,\n\tTimesigEight: 1,\n\tTimesigSix: 1,\n\tAccNatural: 1,\n\tAccSharp: 1,\n\tAccFlat: 1,\n\tKeyAcc: 1,\n\tRest0: 1,\n\tRest1: 1,\n\tRest2: 1,\n\tRest3: 1,\n\tRest4: 1,\n\tOctaveShift8: 1,\n\tOctaveShift0: 1,\n\n\tAccDoublesharp: 2,\n\tAccFlatflat: 2,\n\tTimesigOne: 2,\n\tTimesigNine: 2,\n\tRest5: 2,\n\tRest6: 2,\n\tSlurBegin: 2,\n\tSlurEnd: 2,\n\tVoltaLeft: 2,\n\tVoltaRight: 2,\n\t//VoltaAlternativeBegin: 2,\n\tvline_BarTerminal: 2,\n\tvline_BarSegment: 2,\n\tTempoNotehead: 2,\n\tGraceNotehead: 2,\n\tSignLined: 2,\n\tSignInterval: 2,\n\tBeamLeft: 2,\n\tBeamRight: 2,\n\tBeamContinue: 2,\n\tTremoloLeft: 2,\n\tTremoloRight: 2,\n\tTremoloMiddle: 2,\n\tStemTip: 2,\n\tStemHead: 2,\n\n\t//Rest0W: 3,\n\tf: 3,\n\tp: 3,\n\tm: 3,\n\tScriptFermata: 3,\n\tScriptSforzato: 3,\n\tScriptStaccato: 3,\n\tScriptStaccatissimo: 3,\n\tScriptTurn: 3,\n\tScriptTrill: 3,\n\tScriptSegno: 3,\n\tScriptCoda: 3,\n\tScriptArpeggio: 3,\n\tScriptPrall: 3,\n\tScriptMordent: 3,\n\tScriptTenuto: 3,\n\tPedalStar: 3,\n\tPedalPed: 3,\n\tTimesigFive: 3,\n\tTimesigSeven: 3,\n\tTimesigZero: 3,\n\tOne: 3,\n\tTwo: 3,\n\tThree: 3,\n\tFour: 3,\n\tFive: 3,\n\trect_Text: 3,\n\trect_Lyric: 3,\n\tCrescendoBegin: 3,\n\tCrescendoEnd: 3,\n\tDecrescendoBegin: 3,\n\tDecrescendoEnd: 3,\n\n\tRestM1: 4,\n\tClefC: 4,\n\tScriptShortFermata: 4,\n\tScriptMarcato: 4,\n\tScriptPortato: 4,\n\ts: 4,\n\tr: 4,\n\tz: 4,\n\tZero: 4,\n\tSix: 4,\n\tSeven: 4,\n\tEight: 4,\n\tNine: 4,\n};\n\ninterface Position {\n\tx?: number;\n\ty?: number;\n}\n\nconst NOTEHEAD_WIDTHS = {\n\tNoteheadS0: 0.913 * 2,\n\tNoteheadS1: 0.632 * 2,\n\tNoteheadS2: 0.599 * 2,\n};\n\nconst glyphCenters: { [key: string]: Position } = {\n\t//\"clefs.C\": { x: 1.3 },\n\t'clefs.F': { x: 1.06 },\n\t'clefs.G': { x: 1.3 },\n\t'clefs.F_change': { x: 0.87 },\n\t'clefs.G_change': { x: 1.07 },\n\t'timesig.C44': { x: 0.9 },\n\t'timesig.C22': { x: 0.9 },\n\tzero: { x: 0.7, y: -1 },\n\tone: { x: 0.7, y: -1 },\n\ttwo: { x: 0.7, y: -1 },\n\tthree: { x: 0.7, y: -1 },\n\tfour: { x: 0.7, y: -1 },\n\tfive: { x: 0.7, y: -1 },\n\tsix: { x: 0.7, y: -1 },\n\tseven: { x: 0.7, y: -1 },\n\teight: { x: 0.7, y: -1 },\n\tnine: { x: 0.7, y: -1 },\n\t'accidentals.sharp': { x: 0.55 },\n\t'accidentals.doublesharp': { x: 0.5 },\n\t'accidentals.natural': { x: 0.3 },\n\t'accidentals.flat': { x: 0.3 },\n\t'accidentals.flatflat': { x: 0.5 },\n\t'noteheads.s0': { x: NOTEHEAD_WIDTHS.NoteheadS0 / 2 },\n\t'noteheads.s1': { x: NOTEHEAD_WIDTHS.NoteheadS1 / 2 },\n\t'noteheads.s2': { x: NOTEHEAD_WIDTHS.NoteheadS2 / 2 },\n\t'rests.0': { x: 0.75, y: 1 },\n\t'rests.1': { x: 0.75 },\n\t'rests.0o': { x: 0.75, y: 1 },\n\t'rests.1o': { x: 0.75 },\n\t'rests.M1': { x: 0.75, y: 1 },\n\t'rests.2': { x: 0.5 },\n\t'rests.3': { x: 0.5 },\n\t'rests.4': { x: 0.5 },\n\t'rests.5': { x: 0.5 },\n\t'rests.6': { x: 0.5 },\n\tf: { x: 0.6, y: -0.5 },\n\tm: { x: 0.9, y: -0.5 },\n\tp: { x: 0.5, y: -0.5 },\n\tr: { x: 0.5, y: -0.5 },\n\ts: { x: 0.5, y: -0.5 },\n\tz: { x: 0.5, y: -0.5 },\n\t'scripts.trill': { y: -0.5 },\n\t'scripts.segno': { x: 0, y: 0 },\n\t'scripts.coda': { x: 0, y: 0 },\n\t'scripts.arpeggio': { x: 0.5, y: -0.5 },\n\t'pedal.*': { x: 0.78, y: -0.78 },\n\t'pedal.Ped': { x: 1.6, y: -0.7 },\n};\n\ninterface Point {\n\t// in staff unit coordinates\n\tx: number;\n\ty: number;\n\n\tpivotX?: number;\n\n\t// for prediction\n\tconfidence?: number;\n\n\t// sheet token index in page\n\tindex?: number;\n\ttag?: string;\n\n\textension?: {\n\t\ty1?: number;\n\t\ty2?: number;\n\n\t\thref?: string;\n\t\twidth?: number;\n\t\theight?: number;\n\n\t\ttext?: string;\n\t\ttheta?: number;\n\t\ttype?: string;\n\t\ttextFeature?: Record;\n\t};\n}\n\ninterface SemanticPoint extends Point {\n\tid?: string;\n\tsemantic: SemanticType;\n}\n\nconst ONE_D_SEMANTICS = [\n\t'OctaveShift8va',\n\t'OctaveShift8vb',\n\t'OctaveShift8',\n\t'OctaveShift0',\n\t'vline_VoltaLeft',\n\t'vline_VoltaRight',\n\t'VoltaAlternativeBegin',\n\t'vline_BarMeasure',\n\t'vline_BarTerminal',\n\t'vline_BarSegment',\n];\n\nconst SYSTEM_SEMANTIC_TYPES = [\n\tSemanticType.BarMeasure,\n\tSemanticType.vline_BarMeasure,\n\tSemanticType.vline_BarTerminal,\n\tSemanticType.vline_BarSegment,\n\tSemanticType.vline_VoltaLeft,\n\tSemanticType.vline_VoltaRight,\n\tSemanticType.VoltaAlternativeBegin,\n];\n\nconst st = SemanticType;\nconst CONFLICTION_GROUPS = [\n\t[st.NoteheadS0, st.NoteheadS1, st.NoteheadS2],\n\t[st.Zero, st.One, st.Two, st.Three, st.Four, st.Five, st.Six, st.Seven, st.Eight, st.Nine, st.ScriptStaccatissimo],\n\t[\n\t\tst.TimesigZero,\n\t\tst.TimesigOne,\n\t\tst.TimesigTwo,\n\t\tst.TimesigThree,\n\t\tst.TimesigFour,\n\t\tst.TimesigFive,\n\t\tst.TimesigSix,\n\t\tst.TimesigSeven,\n\t\tst.TimesigEight,\n\t\tst.TimesigNine,\n\t],\n\t[st.Rest0, st.Rest1, st.Rest2, st.Rest3, st.Rest4, st.Rest5, st.Rest6, st.Rest0W, st.RestM1],\n\t[st.SignInterval, st.SignLined],\n\t[st.BeamLeft, st.BeamContinue, st.BeamRight],\n];\n\nconst STAMP_SEMANTICS = [\n\tst.ClefG,\n\tst.ClefF,\n\tst.ClefC,\n\tst.NoteheadS0,\n\tst.NoteheadS1,\n\tst.NoteheadS2,\n\tst.Dot,\n\tst.Rest0,\n\tst.Rest1,\n\tst.Rest2,\n\tst.Rest3,\n\tst.Rest4,\n\tst.Rest5,\n\tst.Rest6,\n\tst.RestM1,\n\tst.AccNatural,\n\tst.AccSharp,\n\tst.AccDoublesharp,\n\tst.AccFlat,\n\tst.AccFlatflat,\n\tst.TimesigC44,\n\tst.TimesigC22,\n\tst.TimesigZero,\n\tst.TimesigOne,\n\tst.TimesigTwo,\n\tst.TimesigThree,\n\tst.TimesigFour,\n\tst.TimesigFive,\n\tst.TimesigSix,\n\tst.TimesigSeven,\n\tst.TimesigEight,\n\tst.TimesigNine,\n\tst.One,\n\tst.Two,\n\tst.Three,\n\tst.Four,\n\tst.Five,\n\tst.OctaveShift8,\n\t//st.OctaveShift15,\n\tst.OctaveShift0,\n\tst.f,\n\tst.p,\n\tst.m,\n\tst.n,\n\tst.r,\n\tst.s,\n\tst.z,\n\tst.ScriptFermata,\n\tst.ScriptShortFermata,\n\tst.ScriptSforzato,\n\tst.ScriptStaccato,\n\tst.ScriptStaccatissimo,\n\tst.ScriptTurn,\n\tst.ScriptTrill,\n\tst.ScriptSegno,\n\tst.ScriptCoda,\n\tst.ScriptArpeggio,\n\tst.ScriptPrall,\n\tst.ScriptMordent,\n\tst.ScriptMarcato,\n\tst.ScriptTenuto,\n\tst.ScriptPortato,\n\tst.PedalStar,\n\tst.PedalPed,\n];\n\n// [cx, cy, width, height]\nconst STAMP_RECTS = {\n\tClefG: [-0.0625, -1.125, 3.6, 8.6],\n\tClefF: [0.25, 0.5625, 3.6, 3.8],\n\tClefC: [0.25, 0, 3.25, 4.5],\n\tNoteheadS0: [0.0625, 0, 2.55, 1.4],\n\tNoteheadS1: [0.0625, 0, 1.8, 1.4],\n\tNoteheadS2: [0.0625, -0.0625, 1.65, 1.35],\n\tDot: [0.25, 0, 0.6, 0.6],\n\tRest0: [0, -0.75, 3.25, 0.9],\n\tRest1: [0, -0.25, 3.25, 0.9],\n\tRest2: [-0.0625, -0.1875, 1.6, 3.375],\n\tRest3: [0, 0.0625, 1.2, 2.25],\n\tRest4: [0.0625, 0.5625, 1.65, 3.375],\n\tRest5: [0.0625, 0.0625, 1.95, 4.375],\n\tRest6: [0.0625, 0.5625, 1.95, 5.375],\n\tRestM1: [-0.4375, -1.5, 0.75, 1.2],\n\tAccNatural: [0, 0, 0.9, 3.5],\n\tAccSharp: [0, 0, 1.5, 3.5],\n\tAccDoublesharp: [0, 0, 1.5, 1.5],\n\tAccFlat: [0, -0.5625, 1.2, 3.125],\n\tAccFlatflat: [0.1875, -0.5625, 1.95, 3.125],\n\tTimesigC44: [-0.0625, 0, 2.25, 2.3],\n\tTimesigC22: [-0.0625, 0, 2.25, 3.2],\n\tTimesigZero: [0, 0, 1.8, 2.2],\n\tTimesigOne: [-0.125, 0, 1.5, 2.2],\n\tTimesigTwo: [0, 0, 2.2, 2.2],\n\tTimesigThree: [-0.0625, 0, 1.9, 2.4],\n\tTimesigFour: [0.0625, 0, 1.95, 2.2],\n\tTimesigFive: [0, 0, 1.8, 2.3],\n\tTimesigSix: [0, 0, 2.0, 2.4],\n\tTimesigSeven: [0, 0, 1.8, 2.2],\n\tTimesigEight: [0, 0, 1.9, 2.2],\n\tTimesigNine: [0, 0, 1.9, 2.2],\n\tOne: [-0.0625, 0, 0.75, 1.6],\n\tTwo: [0, 0, 1.2, 1.6],\n\tThree: [0, 0, 1.2, 1.6],\n\tFour: [0, 0, 1.2, 1.6],\n\tFive: [0, 0, 1.2, 1.6],\n\tOctaveShift8: [2.125, -0.1875, 4.75, 3.6],\n\tOctaveShift0: [-0.4, 0, 1.8, 4.2],\n\tf: [0.0625, -0.125, 2.55, 3],\n\tp: [-0.0625, 0.25, 2.55, 2.1],\n\tm: [-0.125, -0.0625, 2.4, 1.35],\n\tn: [-0.3125, -0.0625, 1.95, 1.35],\n\tr: [0, -0.125, 1.5, 1.5],\n\ts: [0, -0.0625, 1.2, 1.35],\n\tz: [0.0625, 0, 1.35, 1.5],\n\tScriptFermata: [0, 0, 3.25, 3.9],\n\tScriptShortFermata: [0, 0, 2.4, 4.95],\n\tScriptSforzato: [-0.0625, 0, 2.5, 1.2],\n\tScriptStaccato: [0, -0.0625, 0.6, 0.45],\n\tScriptStaccatissimo: [0, 0, 1.2, 2.6],\n\tScriptTurn: [0, 0, 2.7, 1.5],\n\tScriptTrill: [-0.125, -0.5, 3, 2.7],\n\tScriptSegno: [0, 0, 2.4, 3.5],\n\tScriptCoda: [0, 0, 2.7, 3.25],\n\tScriptArpeggio: [-0.0625, 0, 1.05, 1.8],\n\tScriptPrall: [0, 0, 2.4, 1.2],\n\tScriptMordent: [0, 0, 2.4, 1.5],\n\tScriptMarcato: [0, 0, 1.2, 2.475],\n\tScriptTenuto: [0, -0.0625, 1.5, 0.15],\n\tScriptPortato: [0, 0, 1.5, 1.65],\n\tPedalStar: [0, 0, 3.2, 3.2],\n\tPedalPed: [0, -0.25, 4.7, 2.4],\n};\n\nconst hashSemanticPoint = (systemIndex: number, staffIndex: number, point: SemanticPoint): string => {\n\tconst x = Math.round(point.x * 10);\n\tconst y = Math.round(point.y * 10);\n\tconst source = `${systemIndex}|${staffIndex}|${point.semantic}|${x}|${y}`;\n\tconst hash = (sha1 as any).array(source).slice(12); // clip to 12 bytes\n\tconst id = (globalThis as any).btoa(String.fromCharCode(...hash)).substring(0, 11);\n\tpoint.id = id;\n\n\treturn id;\n};\n\nconst hashPageSemanticPoint = (pageName: string, point: SemanticPoint): string => {\n\tconst x = Math.round(point.x);\n\tconst y = Math.round(point.y);\n\tconst source = `p-${pageName}|${point.semantic}|${x}|${y}`;\n\tconst hash = (sha1 as any).array(source).slice(12); // clip to 12 bytes\n\tconst id = (globalThis as any).btoa(String.fromCharCode(...hash)).substring(0, 11);\n\tpoint.id = id;\n\n\treturn id;\n};\n\nexport {\n\tSemanticType,\n\tglyphSemanticMapping,\n\tsemanticPriorities,\n\tPoint,\n\tSemanticPoint,\n\tNOTEHEAD_WIDTHS,\n\tglyphCenters,\n\tONE_D_SEMANTICS,\n\tSYSTEM_SEMANTIC_TYPES,\n\tCONFLICTION_GROUPS,\n\tSTAMP_SEMANTICS,\n\tSTAMP_RECTS,\n\thashSemanticPoint,\n\thashPageSemanticPoint,\n};\n","import { TextType } from './interfaces';\nimport { NOTEHEAD_WIDTHS } from './semanticPoint';\n\nenum TokenType {\n\t// clefs\n\tClefG = 'clefs-G', // clefs.G_change\n\tClefF = 'clefs-F', // clefs.F_change\n\tClefC = 'clefs-C', // clefs.C_change\n\n\t// time signature\n\tTimesigC44 = 'timesig-C44',\n\tTimesigC22 = 'timesig-C22',\n\tTimesigZero = 'zero|timesig0',\n\tTimesigOne = 'one|timesig1',\n\tTimesigTwo = 'two|timesig2',\n\tTimesigThree = 'three|timesig3',\n\tTimesigFour = 'four|timesig4',\n\tTimesigFive = 'five|timesig5',\n\tTimesigSix = 'six|timesig6',\n\tTimesigSeven = 'seven|timesig7',\n\tTimesigEight = 'eight|timesig8',\n\tTimesigNine = 'nine|timesig9',\n\n\t// octave shifts\n\tOctaveShift8va = 'octave-a',\n\tOctaveShift8vb = 'octave-b',\n\tOctaveShift0 = 'octave-0',\n\n\t// numbers\n\tZero = 'zero|n0',\n\tOne = 'one|n1',\n\tTwo = 'two|n2',\n\tThree = 'three|n3',\n\tFour = 'four|n4',\n\tFive = 'five|n5',\n\tSix = 'six|n6',\n\tSeven = 'seven|n7',\n\tEight = 'eight|n8',\n\tNine = 'nine|n9',\n\n\t// accidentals\n\tAccNatural = 'accidentals-natural',\n\tAccSharp = 'accidentals-sharp',\n\tAccDoublesharp = 'accidentals-doublesharp',\n\tAccFlat = 'accidentals-flat',\n\tAccFlatflat = 'accidentals-flatflat',\n\tKeyNatural = 'accidentals-natural|key-natural',\n\tKeySharp = 'accidentals-sharp|key-sharp',\n\tKeyFlat = 'accidentals-flat|key-flat',\n\n\t// noteheads\n\tNoteheadS0 = 'noteheads-s0',\n\tNoteheadS1 = 'noteheads-s1',\n\tNoteheadS2 = 'noteheads-s2',\n\tNoteheadS1stemU = 'noteheads-s1|noteheads-s1-u',\n\tNoteheadS1stemD = 'noteheads-s1|noteheads-s1-d',\n\tNoteheadS2stemU = 'noteheads-s2|noteheads-s2-u',\n\tNoteheadS2stemD = 'noteheads-s2|noteheads-s2-d',\n\n\t// rests\n\tRest0 = 'rests-0o',\n\tRest1 = 'rests-1o',\n\tRest2 = 'rests-2',\n\tRest3 = 'rests-3',\n\tRest4 = 'rests-4',\n\tRest5 = 'rests-5',\n\tRest6 = 'rests-6',\n\tRest0W = 'rests-0',\n\tRestM1 = 'rests-M1',\n\n\t// flags\n\tFlag3 = 'flags-u3', // flags.d3\n\tFlag4 = 'flags-u4', // flags.d4\n\tFlag5 = 'flags-u5', // flags.d5\n\tFlag6 = 'flags-u6', // flags.d6\n\tFlag7 = 'flags-u7', // flags.d7\n\tFlag8 = 'flags-u8', // flags.d8\n\n\t// beams\n\tBeamLeft = '|beam-left',\n\tBeamRight = '|beam-right',\n\tBeamContinue = '|beam-continue',\n\n\t// tremolos\n\tTremoloLeft = '|tremolo-left',\n\tTremoloRight = '|tremolo-right',\n\tTremoloMiddle = '|tremolo-middle',\n\n\t// slur & tie\n\tSlurBegin = '|slur-begin',\n\tSlurEnd = '|slur-end',\n\tTieBegin = '|tie-begin',\n\tTieEnd = '|tie-end',\n\n\t// volta\n\tVoltaLeft = '|volta-left',\n\tVoltaRight = '|volta-right',\n\n\tVoltaAlternativeBegin = '|volta-alter-begin',\n\t//VoltaAlternativeEnd = \"|volta-alter-end\",\n\n\t// vertical bars\n\t//BarMeasure = \"|bar-measure\",\n\tBarTerminal = '|bar-terminal',\n\tBarSegment = '|bar-segment',\n\n\t// dots (duration)\n\tDot = '|dot',\n\tDotDot = '|dotdot',\n\n\t// dynamics\n\tf = 'f',\n\tp = 'p',\n\tm = 'm',\n\tr = 'r',\n\ts = 's',\n\tz = 'z',\n\n\t//\n\tWedgeCrescendo = '|wedge-crescendo',\n\tWedgeDiminuendo = '|wedge-diminuendo',\n\tWedgeClose = '|wedge-close',\n\n\tCrescendoBegin = '|wedge-crescendo',\n\tDecrescendoBegin = '|wedge-diminuendo',\n\tCrescendoEnd = '|wedge-close',\n\tDecrescendoEnd = '|wedge-close',\n\n\t// scripts\n\tScriptFermata = 'scripts-ufermata', // scripts.dfermata\n\tScriptShortFermata = 'scripts-ushortfermata', // scripts.dshortfermata\n\tScriptSforzato = 'scripts-sforzato',\n\tScriptStaccato = 'scripts-staccato',\n\tScriptStaccatissimo = 'scripts-ustaccatissimo', // scripts.dstaccatissimo\n\tScriptTurn = 'scripts-turn',\n\tScriptTrill = 'scripts-trill',\n\tScriptSegno = 'scripts-segno',\n\tScriptCoda = 'scripts-coda',\n\tScriptArpeggio = 'scripts-arpeggio',\n\tScriptPrall = 'scripts-prall',\n\tScriptMordent = 'scripts-mordent',\n\tScriptMarcato = 'scripts-umarcato', // scripts.dmarcato\n\tScriptTenuto = 'scripts-tenuto',\n\tScriptPortato = 'scripts-uportato', // scripts.dportato\n\n\t// pedal\n\tPedalStar = 'pedal-star',\n\tPedalPed = 'pedal-Ped',\n\n\tText = '|text',\n\tGraceNotehead = '|grace-notehead',\n}\n\n// alias\nconst tt = TokenType;\n\nexport const TokenTypes = Object.values(TokenType);\nexport const TokenClefs = TokenTypes.filter((t) => /clefs-/.test(t));\nexport const TokenTimesigs = TokenTypes.filter((t) => /timesig/.test(t));\nexport const TokenTimesigsC = TokenTypes.filter((t) => /timesig-/.test(t));\nexport const TokenTimesigsN = TokenTypes.filter((t) => /timesig\\d/.test(t));\nexport const TokenOctshifts = TokenTypes.filter((t) => /octave-/.test(t));\nexport const TokenNumbers = TokenTypes.filter((t) => /n\\d/.test(t));\nexport const TokenAccidentals = TokenTypes.filter((t) => /accidentals-/.test(t));\nexport const TokenNoteheads = TokenTypes.filter((t) => /noteheads-/.test(t));\nexport const TokenBareNoteheads = [tt.NoteheadS0, tt.NoteheadS1, tt.NoteheadS2];\nexport const TokenDirectionalNoteheads = TokenTypes.filter((t) => /noteheads-.+-[ud]/.test(t));\nexport const TokenRests = TokenTypes.filter((t) => /rests-/.test(t));\nexport const TokenFlags = TokenTypes.filter((t) => /flags-/.test(t));\nexport const TokenVolta = TokenTypes.filter((t) => /volta-/.test(t));\nexport const TokenDynamics = TokenTypes.filter((t) => /^[a-z]$/.test(t));\nexport const TokenScripts = TokenTypes.filter((t) => /scripts-/.test(t));\nexport const TokenPedals = TokenTypes.filter((t) => /pedal-/.test(t));\nexport const TokenDots = [tt.Dot, tt.DotDot];\nexport const TokenArcs = [tt.SlurBegin, tt.SlurEnd, tt.TieBegin, tt.TieEnd];\nexport const TokenBeams = TokenTypes.filter((t) => /beam-/.test(t));\nexport const TokenWedges = TokenTypes.filter((t) => /wedge-/.test(t));\n\nexport const TokenAccessories = [\n\t...TokenNumbers,\n\t...TokenDynamics,\n\t...TokenWedges,\n\t...TokenPedals,\n\t...TokenArcs,\n\n\ttt.ScriptFermata,\n\ttt.ScriptShortFermata,\n\ttt.ScriptSforzato,\n\ttt.ScriptStaccato,\n\ttt.ScriptStaccatissimo,\n\ttt.ScriptTurn,\n\ttt.ScriptTrill,\n\ttt.ScriptPrall,\n\ttt.ScriptMordent,\n\ttt.ScriptMarcato,\n\ttt.ScriptTenuto,\n\ttt.ScriptPortato,\n];\n\nexport const TokenDirectionless = [...TokenPedals];\n\nexport const TokenGlyphs = [\n\t...TokenClefs,\n\t...TokenTimesigs,\n\t...TokenNumbers,\n\t...TokenAccidentals,\n\ttt.NoteheadS0,\n\ttt.NoteheadS1,\n\ttt.NoteheadS2,\n\t...TokenRests,\n\t...TokenDynamics,\n\t...TokenScripts,\n\t...TokenPedals,\n\t...TokenDots,\n];\n\nconst TOKEN_Y_ROUND = {} as Record;\nTokenClefs.forEach((t) => (TOKEN_Y_ROUND[t] = 1));\nTokenTimesigsN.forEach((t) => (TOKEN_Y_ROUND[t] = 1));\nTokenAccidentals.forEach((t) => (TOKEN_Y_ROUND[t] = 0.5));\nTokenNoteheads.forEach((t) => (TOKEN_Y_ROUND[t] = 0.5));\nTokenRests.forEach((t) => (TOKEN_Y_ROUND[t] = 0.5));\nTokenDots.forEach((t) => (TOKEN_Y_ROUND[t] = 0.5));\n\nconst TOKEN_Y_FIXED = {} as Record;\nTokenTimesigsC.forEach((t) => (TOKEN_Y_FIXED[t] = 0));\nTokenVolta.forEach((t) => (TOKEN_Y_FIXED[t] = 0));\n\nclass Token {\n\tstatic className = 'Token';\n\n\tid: string;\n\ttype: TokenType;\n\tx: number;\n\ty: number;\n\tpivotX?: number;\n\n\tconfidence: number;\n\n\ttip?: { x: number; y: number };\n\n\tvoice?: number; // integer, every bit stand for a voice\n\ttimeWarped?: boolean;\n\n\tconstructor(data: any) {\n\t\tObject.assign(this, data);\n\t}\n\n\tget typeId(): string {\n\t\treturn this.type.split('|').reverse()[0];\n\t}\n\n\tget isPredicted(): boolean {\n\t\treturn Number.isFinite(this.confidence);\n\t}\n\n\tget isNotehead(): boolean {\n\t\treturn TokenDirectionalNoteheads.includes(this.type) || this.type === TokenType.NoteheadS0;\n\t}\n\n\tget isContexted(): boolean {\n\t\treturn (\n\t\t\tTokenClefs.includes(this.type) || TokenTimesigs.includes(this.type) || TokenOctshifts.includes(this.type) || TokenAccidentals.includes(this.type)\n\t\t);\n\t}\n\n\tget isAccessory(): boolean {\n\t\treturn TokenNumbers.includes(this.type) || TokenDynamics.includes(this.type) || TokenScripts.includes(this.type) || TokenPedals.includes(this.type);\n\t}\n\n\tget division(): number {\n\t\tswitch (this.type) {\n\t\t\tcase tt.NoteheadS0:\n\t\t\t\treturn 0;\n\n\t\t\tcase tt.NoteheadS1stemU:\n\t\t\tcase tt.NoteheadS1stemD:\n\t\t\t\treturn 1;\n\n\t\t\tcase tt.NoteheadS2stemU:\n\t\t\tcase tt.NoteheadS2stemD:\n\t\t\t\treturn 2;\n\n\t\t\tcase tt.Flag3:\n\t\t\t\treturn 3;\n\n\t\t\tcase tt.Flag4:\n\t\t\t\treturn 4;\n\n\t\t\tcase tt.Flag5:\n\t\t\t\treturn 5;\n\n\t\t\tcase tt.Flag6:\n\t\t\t\treturn 6;\n\n\t\t\tcase tt.Flag7:\n\t\t\t\treturn 7;\n\n\t\t\tcase tt.Flag8:\n\t\t\t\treturn 8;\n\n\t\t\tcase tt.RestM1:\n\t\t\t\treturn -1;\n\n\t\t\tcase tt.Rest0:\n\t\t\t\treturn 0;\n\n\t\t\tcase tt.Rest1:\n\t\t\t\treturn 1;\n\n\t\t\tcase tt.Rest2:\n\t\t\t\treturn 2;\n\n\t\t\tcase tt.Rest3:\n\t\t\t\treturn 3;\n\n\t\t\tcase tt.Rest4:\n\t\t\t\treturn 4;\n\n\t\t\tcase tt.Rest5:\n\t\t\t\treturn 5;\n\n\t\t\tcase tt.Rest6:\n\t\t\t\treturn 6;\n\n\t\t\t// TODO:\n\t\t\t//case tt.Rest0W:\n\t\t\t//\treturn 0;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tget dots(): number {\n\t\tswitch (this.type) {\n\t\t\tcase tt.Dot:\n\t\t\t\treturn 1;\n\n\t\t\tcase tt.DotDot:\n\t\t\t\treturn 2;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tget direction(): 'u' | 'd' | null {\n\t\tswitch (this.type) {\n\t\t\tcase tt.NoteheadS1stemU:\n\t\t\tcase tt.NoteheadS2stemU:\n\t\t\t\treturn 'u';\n\n\t\t\tcase tt.NoteheadS1stemD:\n\t\t\tcase tt.NoteheadS2stemD:\n\t\t\t\treturn 'd';\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tget width(): number {\n\t\tswitch (this.type) {\n\t\t\tcase tt.NoteheadS0:\n\t\t\t\treturn NOTEHEAD_WIDTHS.NoteheadS0;\n\n\t\t\tcase tt.NoteheadS1stemU:\n\t\t\tcase tt.NoteheadS1stemD:\n\t\t\t\treturn NOTEHEAD_WIDTHS.NoteheadS1;\n\n\t\t\tcase tt.NoteheadS2stemU:\n\t\t\tcase tt.NoteheadS2stemD:\n\t\t\t\treturn NOTEHEAD_WIDTHS.NoteheadS2;\n\t\t}\n\t}\n\n\tget left(): number {\n\t\tswitch (this.type) {\n\t\t\tcase tt.NoteheadS0:\n\t\t\t\treturn this.x - this.width / 2;\n\n\t\t\tcase tt.NoteheadS1stemU:\n\t\t\tcase tt.NoteheadS2stemU:\n\t\t\t\treturn this.x - this.width;\n\n\t\t\tcase tt.NoteheadS1stemD:\n\t\t\tcase tt.NoteheadS2stemD:\n\t\t\t\treturn this.x;\n\t\t}\n\n\t\treturn this.x;\n\t}\n\n\tget right(): number {\n\t\tswitch (this.type) {\n\t\t\tcase tt.NoteheadS0:\n\t\t\t\treturn this.x + this.width / 2;\n\n\t\t\tcase tt.NoteheadS1stemU:\n\t\t\tcase tt.NoteheadS2stemU:\n\t\t\t\treturn this.x;\n\n\t\t\tcase tt.NoteheadS1stemD:\n\t\t\tcase tt.NoteheadS2stemD:\n\t\t\t\treturn this.x + this.width;\n\t\t}\n\n\t\treturn this.x;\n\t}\n\n\tget voiceIndices(): number[] {\n\t\tif (!this.voice || this.voice < 0) return [];\n\n\t\treturn Array(Math.floor(Math.log2(this.voice)) + 1)\n\t\t\t.fill(null)\n\t\t\t.reduce((indices, _, i) => (this.voice & (1 << i) ? [i + 1, ...indices] : indices), []);\n\t}\n}\n\nclass TextToken extends Token {\n\ttextType: TextType;\n\ttext: string;\n\ttextFeature?: Record;\n\twidth_: number;\n\tfontSize: number;\n\n\tconstructor(data: any) {\n\t\tsuper(data);\n\t\tObject.assign(this, data);\n\t}\n\n\tget width(): number {\n\t\treturn this.width_;\n\t}\n\n\tset width(value: number) {\n\t\tthis.width_ = value;\n\t}\n}\n\nexport { TokenType, Token, TextToken, TOKEN_Y_ROUND, TOKEN_Y_FIXED };\n","import pick from 'lodash/pick';\n\nconst recoverJSON = (json: string | object, classDict): T => {\n\tif (typeof json === 'object') json = JSON.stringify(json);\n\n\treturn JSON.parse(json, (_, value) => {\n\t\tif (value && typeof value === 'object' && value.__prototype) {\n\t\t\tconst Class = classDict[value.__prototype];\n\t\t\tif (Class) {\n\t\t\t\tconst { __prototype, ...fields } = value;\n\t\t\t\treturn new Class(fields);\n\t\t\t}\n\t\t}\n\n\t\treturn value;\n\t});\n};\n\nconst deepCopy = (o: any, dict: Map = null): any => {\n\tdict = dict || new Map();\n\tif (dict.get(o)) return dict.get(o);\n\n\tif (Array.isArray(o)) {\n\t\tconst result = [];\n\t\tdict.set(o, result);\n\n\t\to.forEach((e) => result.push(deepCopy(e, dict)));\n\n\t\treturn result;\n\t} else if (o && typeof o === 'object') {\n\t\tconst result = {};\n\t\tdict.set(o, result);\n\n\t\tObject.entries(o).forEach(([key, value]) => (result[key] = deepCopy(value, dict)));\n\t\tObject.setPrototypeOf(result, o.__proto__);\n\n\t\treturn result;\n\t}\n\n\treturn o;\n};\n\nclass SimpleClass {\n\tassign(data?: object) {\n\t\tif (data) Object.assign(this, data);\n\t}\n\n\ttoJSON() {\n\t\tconst cls = this.constructor as any;\n\n\t\tconst serializedKeys = cls.serializedKeys || (cls.blackKeys && Object.keys(this).filter((key) => !cls.blackKeys.includes(key)));\n\t\tconst fields = serializedKeys ? pick(this, serializedKeys) : this;\n\n\t\treturn {\n\t\t\t__prototype: cls.className,\n\t\t\t...fields,\n\t\t};\n\t}\n\n\tdeepCopy(): this {\n\t\treturn deepCopy(this);\n\t}\n}\n\nexport { recoverJSON, SimpleClass };\n","import { SimpleClass } from '../starry/aux_/typedJSON';\n\nenum LayoutType {\n\tOrdinary = 'ordinary',\n\tFull = 'full',\n\tConservative = 'conservative',\n\tOnce = 'once',\n}\n\ninterface MeasureLayout {\n\tserialize(type: LayoutType): number[];\n\n\tseq: MeasureSeq;\n\tcode: string;\n}\n\nexport type MeasureSeq = MeasureLayout[];\n\nconst spreadMeasureSeq = (seq: MeasureSeq, type: LayoutType = LayoutType.Ordinary): number[] => [].concat(...seq.map((layout) => layout.serialize(type)));\n\nconst seqToCode = (seq: MeasureSeq, { withBrackets = false }: { withBrackets?: boolean } = {}): string => {\n\t//const code = seq.map(layout => layout.code).join(\", \");\n\tlet code = '';\n\tlet inRange = false;\n\n\tfor (let i = 0; i < seq.length; ++i) {\n\t\tconst middle = seq[i - 1] instanceof SingleMLayout && seq[i] instanceof SingleMLayout && seq[i + 1] instanceof SingleMLayout;\n\t\tif (middle) {\n\t\t\tif (!inRange) {\n\t\t\t\tcode += '..';\n\t\t\t\tinRange = true;\n\t\t\t}\n\t\t} else {\n\t\t\tif (i > 0 && !inRange) code += ', ';\n\n\t\t\tinRange = false;\n\n\t\t\tcode += seq[i].code;\n\t\t}\n\t}\n\n\treturn withBrackets ? `[${code}]` : code;\n};\n\nclass SingleMLayout extends SimpleClass implements MeasureLayout {\n\tstatic className = 'SingleMLayout';\n\n\tmeasure: number;\n\n\tstatic from(measure: number) {\n\t\tconst layout = new SingleMLayout();\n\t\tlayout.measure = measure;\n\n\t\treturn layout;\n\t}\n\n\tconstructor(data: any = undefined) {\n\t\tsuper();\n\t\tthis.assign(data);\n\t}\n\n\tserialize(): number[] {\n\t\treturn [this.measure];\n\t}\n\n\tget seq(): MeasureSeq {\n\t\treturn [this];\n\t}\n\n\tget code(): string {\n\t\treturn this.measure.toString();\n\t}\n}\n\nclass BlockMLayout extends SimpleClass implements MeasureLayout {\n\tstatic className = 'BlockMLayout';\n\n\tseq: MeasureSeq;\n\n\tstatic trimSeq(seq: MeasureSeq): MeasureSeq {\n\t\tconst seq2 = [];\n\t\tfor (const layout of seq) {\n\t\t\tif (layout instanceof BlockMLayout) {\n\t\t\t\tfor (const sub of layout.seq) seq2.push(sub);\n\t\t\t} else seq2.push(layout);\n\t\t}\n\n\t\t// reduce duplicated or backwards single measures\n\t\tconst seq3 = [];\n\t\tlet measure = null;\n\t\tfor (const layout of seq2) {\n\t\t\tif (layout instanceof SingleMLayout) {\n\t\t\t\tif (layout.measure > measure) {\n\t\t\t\t\tseq3.push(layout);\n\t\t\t\t\tmeasure = layout.measure;\n\t\t\t\t}\n\t\t\t} else seq3.push(layout);\n\t\t}\n\n\t\treturn seq3;\n\t}\n\n\tstatic fromSeq(seq: MeasureSeq): BlockMLayout {\n\t\tconst layout = new BlockMLayout();\n\t\tlayout.seq = BlockMLayout.trimSeq(seq);\n\n\t\treturn layout;\n\t}\n\n\tconstructor(data: any = undefined) {\n\t\tsuper();\n\t\tthis.assign(data);\n\t}\n\n\tserialize(type: LayoutType): number[] {\n\t\treturn spreadMeasureSeq(this.seq, type);\n\t}\n\n\tget code(): string {\n\t\treturn seqToCode(this.seq, { withBrackets: true });\n\t}\n}\n\nclass VoltaMLayout extends SimpleClass implements MeasureLayout {\n\tstatic className = 'VoltaMLayout';\n\n\ttimes: number;\n\tbody: MeasureSeq;\n\talternates: MeasureSeq[];\n\n\tconstructor(data: any = undefined) {\n\t\tsuper();\n\t\tthis.assign(data);\n\t}\n\n\tserialize(type: LayoutType): number[] {\n\t\tconst bodySeq = spreadMeasureSeq(this.body);\n\n\t\tif (this.alternates) {\n\t\t\tconst alternateSeqs = this.alternates.map((seq) => spreadMeasureSeq(seq));\n\t\t\tconst lastAlternateSeq = alternateSeqs[alternateSeqs.length - 1];\n\n\t\t\tswitch (type) {\n\t\t\t\tcase LayoutType.Ordinary:\n\t\t\t\t\treturn bodySeq.concat(...alternateSeqs);\n\n\t\t\t\tcase LayoutType.Conservative:\n\t\t\t\tcase LayoutType.Full: {\n\t\t\t\t\tconst priorSeq = [].concat(\n\t\t\t\t\t\t...Array(this.times - 1)\n\t\t\t\t\t\t\t.fill(null)\n\t\t\t\t\t\t\t.map((_, i) => [...bodySeq, ...alternateSeqs[i % (this.times - 1)]])\n\t\t\t\t\t);\n\n\t\t\t\t\treturn [...priorSeq, ...bodySeq, ...lastAlternateSeq];\n\t\t\t\t}\n\n\t\t\t\tcase LayoutType.Once:\n\t\t\t\t\treturn [...bodySeq, ...lastAlternateSeq];\n\t\t\t}\n\t\t} else {\n\t\t\tswitch (type) {\n\t\t\t\tcase LayoutType.Ordinary:\n\t\t\t\tcase LayoutType.Conservative:\n\t\t\t\tcase LayoutType.Once:\n\t\t\t\t\treturn bodySeq;\n\n\t\t\t\tcase LayoutType.Full:\n\t\t\t\t\treturn [].concat(\n\t\t\t\t\t\t...Array(this.times)\n\t\t\t\t\t\t\t.fill(null)\n\t\t\t\t\t\t\t.map(() => bodySeq)\n\t\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tconsole.warn('the current case not handled:', type, this);\n\t}\n\n\tget seq(): MeasureSeq {\n\t\tconst alternates = this.alternates ? this.alternates[this.alternates.length - 1] : [];\n\n\t\treturn [...this.body, ...alternates];\n\t}\n\n\tget code(): string {\n\t\tconst body = seqToCode(this.body, { withBrackets: true });\n\n\t\tlet code = `${this.times}*${body}`;\n\t\tif (this.alternates) code += '{' + this.alternates.map((seq) => seqToCode(seq, { withBrackets: seq.length > 1 })).join(', ') + '}';\n\n\t\treturn code;\n\t}\n}\n\nclass ABAMLayout extends SimpleClass implements MeasureLayout {\n\tstatic className = 'ABAMLayout';\n\n\tmain: MeasureLayout;\n\trest: MeasureSeq;\n\n\tconstructor(data: any = undefined) {\n\t\tsuper();\n\t\tthis.assign(data);\n\t}\n\n\tserialize(type: LayoutType): number[] {\n\t\tconst seqA = this.main.serialize(type);\n\t\tconst seqA_ = spreadMeasureSeq(this.main.seq, LayoutType.Once);\n\t\tconst seqB = spreadMeasureSeq(this.rest, type);\n\n\t\tswitch (type) {\n\t\t\tcase LayoutType.Ordinary: // A B\n\t\t\t\treturn [...seqA, ...seqB];\n\n\t\t\tcase LayoutType.Once: // B A'\n\t\t\t\treturn [...seqB, ...seqA_];\n\n\t\t\tcase LayoutType.Conservative: // A B A'\n\t\t\tcase LayoutType.Full: // A B A'\n\t\t\t\treturn [...seqA, ...seqB, ...seqA_];\n\n\t\t\tdefault:\n\t\t\t\tconsole.warn('the current case not handled:', type, this);\n\t\t}\n\t}\n\n\tget seq(): MeasureSeq {\n\t\treturn [this.main, ...this.rest];\n\t}\n\n\tget code(): string {\n\t\treturn '<' + this.main.code + ', ' + seqToCode(this.rest) + '>';\n\t}\n}\n\nexport { LayoutType, MeasureLayout, SingleMLayout, BlockMLayout, VoltaMLayout, ABAMLayout };\n","/* parser generated by jison 0.4.18 */\n/*\n Returns a Parser object of the following structure:\n\n Parser: {\n yy: {}\n }\n\n Parser.prototype: {\n yy: {},\n trace: function(),\n symbols_: {associative list: name ==> number},\n terminals_: {associative list: number ==> name},\n productions_: [...],\n performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$),\n table: [...],\n defaultActions: {...},\n parseError: function(str, hash),\n parse: function(input),\n\n lexer: {\n EOF: 1,\n parseError: function(str, hash),\n setInput: function(input),\n input: function(),\n unput: function(str),\n more: function(),\n less: function(n),\n pastInput: function(),\n upcomingInput: function(),\n showPosition: function(),\n test_match: function(regex_match_array, rule_index),\n next: function(),\n lex: function(),\n begin: function(condition),\n popState: function(),\n _currentRules: function(),\n topState: function(),\n pushState: function(condition),\n\n options: {\n ranges: boolean (optional: true ==> token location info will include a .range[] member)\n flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match)\n backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code)\n },\n\n performAction: function(yy, yy_, $avoiding_name_collisions, YY_START),\n rules: [...],\n conditions: {associative list: name ==> set},\n }\n }\n\n\n token location info (@$, _$, etc.): {\n first_line: n,\n last_line: n,\n first_column: n,\n last_column: n,\n range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based)\n }\n\n\n the parseError function receives a 'hash' object with these members for lexer and parser errors: {\n text: (matched text)\n token: (the produced terminal token, if any)\n line: (yylineno)\n }\n while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: {\n loc: (yylloc)\n expected: (string describing the set of expected tokens)\n recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error)\n }\n*/\nvar parser = (function () {\n\tvar o = function (k, v, o, l) {\n\t\t\tfor (o = o || {}, l = k.length; l--; o[k[l]] = v);\n\t\t\treturn o;\n\t\t},\n\t\t$V0 = [1, 13],\n\t\t$V1 = [1, 16],\n\t\t$V2 = [1, 15],\n\t\t$V3 = [1, 26],\n\t\t$V4 = [1, 29],\n\t\t$V5 = [1, 28],\n\t\t$V6 = [1, 30],\n\t\t$V7 = [5, 13, 22, 27, 29],\n\t\t$V8 = [2, 15],\n\t\t$V9 = [1, 32],\n\t\t$Va = [5, 14, 21, 22, 27, 28, 29];\n\tvar parser = {\n\t\ttrace: function trace() {},\n\t\tyy: {},\n\t\tsymbols_: {\n\t\t\terror: 2,\n\t\t\tstart_symbol: 3,\n\t\t\tmeasure_layout: 4,\n\t\t\tEOF: 5,\n\t\t\tindex_wise_measure_layout: 6,\n\t\t\t'i:': 7,\n\t\t\t's:': 8,\n\t\t\tsegment_wise_measure_layout: 9,\n\t\t\tiw_sequence: 10,\n\t\t\tiw_item: 11,\n\t\t\trange: 12,\n\t\t\t',': 13,\n\t\t\tUNSIGNED: 14,\n\t\t\t'..': 15,\n\t\t\tsingle: 16,\n\t\t\tiw_block_item: 17,\n\t\t\tiw_volta: 18,\n\t\t\tiw_aba: 19,\n\t\t\tiw_block: 20,\n\t\t\t'[': 21,\n\t\t\t']': 22,\n\t\t\t'*': 23,\n\t\t\tiw_optional_alternates: 24,\n\t\t\tiw_alternates: 25,\n\t\t\t'{': 26,\n\t\t\t'}': 27,\n\t\t\t'<': 28,\n\t\t\t'>': 29,\n\t\t\tsw_sequence: 30,\n\t\t\tsw_item: 31,\n\t\t\tsegment: 32,\n\t\t\tsw_block_item: 33,\n\t\t\tsw_volta: 34,\n\t\t\tsw_aba: 35,\n\t\t\tsw_block: 36,\n\t\t\tsw_optional_alternates: 37,\n\t\t\tsw_alternates: 38,\n\t\t\t$accept: 0,\n\t\t\t$end: 1,\n\t\t},\n\t\tterminals_: {\n\t\t\t2: 'error',\n\t\t\t5: 'EOF',\n\t\t\t7: 'i:',\n\t\t\t8: 's:',\n\t\t\t13: ',',\n\t\t\t14: 'UNSIGNED',\n\t\t\t15: '..',\n\t\t\t21: '[',\n\t\t\t22: ']',\n\t\t\t23: '*',\n\t\t\t26: '{',\n\t\t\t27: '}',\n\t\t\t28: '<',\n\t\t\t29: '>',\n\t\t},\n\t\tproductions_: [\n\t\t\t0,\n\t\t\t[3, 2],\n\t\t\t[4, 1],\n\t\t\t[4, 2],\n\t\t\t[4, 2],\n\t\t\t[6, 1],\n\t\t\t[10, 1],\n\t\t\t[10, 1],\n\t\t\t[10, 3],\n\t\t\t[10, 3],\n\t\t\t[12, 3],\n\t\t\t[11, 1],\n\t\t\t[11, 1],\n\t\t\t[11, 1],\n\t\t\t[11, 1],\n\t\t\t[16, 1],\n\t\t\t[17, 1],\n\t\t\t[20, 3],\n\t\t\t[18, 4],\n\t\t\t[24, 0],\n\t\t\t[24, 1],\n\t\t\t[25, 3],\n\t\t\t[19, 5],\n\t\t\t[9, 1],\n\t\t\t[30, 1],\n\t\t\t[30, 2],\n\t\t\t[31, 1],\n\t\t\t[31, 1],\n\t\t\t[31, 1],\n\t\t\t[31, 1],\n\t\t\t[32, 1],\n\t\t\t[33, 1],\n\t\t\t[36, 3],\n\t\t\t[34, 4],\n\t\t\t[37, 0],\n\t\t\t[37, 1],\n\t\t\t[38, 3],\n\t\t\t[35, 4],\n\t\t],\n\t\tperformAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) {\n\t\t\t/* this == yyval */\n\n\t\t\tvar $0 = $$.length - 1;\n\t\t\tswitch (yystate) {\n\t\t\t\tcase 1:\n\t\t\t\t\treturn $$[$0 - 1];\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 2:\n\t\t\t\t\tthis.$ = root(null, $$[$0]);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 3:\n\t\t\t\t\tthis.$ = root('index-wise', $$[$0]);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 4:\n\t\t\t\t\tthis.$ = root('segment-wise', serialize($$[$0]));\n\t\t\t\t\tbreak;\n\t\t\t\tcase 5:\n\t\t\t\tcase 23:\n\t\t\t\t\tif ($$[$0].length === 1 && $$[$0][0].__prototype === 'BlockMLayout') this.$ = $$[$0][0];\n\t\t\t\t\telse this.$ = blockLayout($$[$0]);\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 6:\n\t\t\t\tcase 24:\n\t\t\t\t\tthis.$ = [$$[$0]];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 7:\n\t\t\t\tcase 11:\n\t\t\t\tcase 12:\n\t\t\t\tcase 13:\n\t\t\t\tcase 14:\n\t\t\t\tcase 20:\n\t\t\t\tcase 27:\n\t\t\t\tcase 28:\n\t\t\t\tcase 29:\n\t\t\t\tcase 35:\n\t\t\t\t\tthis.$ = $$[$0];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 8:\n\t\t\t\t\tthis.$ = [...$$[$0 - 2], $$[$0]];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 9:\n\t\t\t\t\tthis.$ = [...$$[$0 - 2], ...$$[$0]];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 10:\n\t\t\t\t\tthis.$ = range($$[$0 - 2], $$[$0]);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 15:\n\t\t\t\t\tthis.$ = singleLayout($$[$0]);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 16:\n\t\t\t\tcase 31:\n\t\t\t\t\tthis.$ = blockLayout($$[$0]);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 17:\n\t\t\t\tcase 32:\n\t\t\t\t\tthis.$ = $$[$0 - 1];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 18:\n\t\t\t\tcase 33:\n\t\t\t\t\tthis.$ = voltaBlock($$[$0 - 3], $$[$0 - 1], $$[$0]);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 19:\n\t\t\t\tcase 34:\n\t\t\t\t\tthis.$ = null;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 21:\n\t\t\t\tcase 36:\n\t\t\t\t\tthis.$ = alternates($$[$0 - 1]);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 22:\n\t\t\t\t\tthis.$ = abaBlock($$[$0 - 3], $$[$0 - 1]);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 25:\n\t\t\t\t\tthis.$ = [...$$[$0 - 1], $$[$0]];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 26:\n\t\t\t\t\tthis.$ = blockLayout([$$[$0]]);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 30:\n\t\t\t\t\tthis.$ = segment($$[$0]);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 37:\n\t\t\t\t\tthis.$ = abaBlock($$[$0 - 2], $$[$0 - 1]);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\ttable: [\n\t\t\t{ 3: 1, 4: 2, 6: 3, 7: [1, 4], 8: [1, 5], 10: 6, 11: 7, 12: 8, 14: $V0, 16: 9, 17: 10, 18: 11, 19: 12, 20: 14, 21: $V1, 28: $V2 },\n\t\t\t{ 1: [3] },\n\t\t\t{ 5: [1, 17] },\n\t\t\t{ 5: [2, 2] },\n\t\t\t{ 6: 18, 10: 6, 11: 7, 12: 8, 14: $V0, 16: 9, 17: 10, 18: 11, 19: 12, 20: 14, 21: $V1, 28: $V2 },\n\t\t\t{ 9: 19, 14: $V3, 21: $V4, 28: $V5, 30: 20, 31: 21, 32: 22, 33: 23, 34: 24, 35: 25, 36: 27 },\n\t\t\t{ 5: [2, 5], 13: $V6 },\n\t\t\to($V7, [2, 6]),\n\t\t\to($V7, [2, 7]),\n\t\t\to($V7, [2, 11]),\n\t\t\to($V7, [2, 12]),\n\t\t\to($V7, [2, 13]),\n\t\t\to($V7, [2, 14]),\n\t\t\to($V7, $V8, { 15: [1, 31], 23: $V9 }),\n\t\t\to($V7, [2, 16]),\n\t\t\t{ 11: 33, 14: [1, 34], 16: 9, 17: 10, 18: 11, 19: 12, 20: 14, 21: $V1, 28: $V2 },\n\t\t\t{ 10: 35, 11: 7, 12: 8, 14: $V0, 16: 9, 17: 10, 18: 11, 19: 12, 20: 14, 21: $V1, 28: $V2 },\n\t\t\t{ 1: [2, 1] },\n\t\t\t{ 5: [2, 3] },\n\t\t\t{ 5: [2, 4] },\n\t\t\t{ 5: [2, 23], 14: $V3, 21: $V4, 28: $V5, 31: 36, 32: 22, 33: 23, 34: 24, 35: 25, 36: 27 },\n\t\t\to($Va, [2, 24]),\n\t\t\to($Va, [2, 26]),\n\t\t\to($Va, [2, 27]),\n\t\t\to($Va, [2, 28]),\n\t\t\to($Va, [2, 29]),\n\t\t\to($Va, [2, 30], { 23: [1, 37] }),\n\t\t\to($Va, [2, 31]),\n\t\t\t{ 14: $V3, 21: $V4, 28: $V5, 31: 38, 32: 22, 33: 23, 34: 24, 35: 25, 36: 27 },\n\t\t\t{ 14: $V3, 21: $V4, 28: $V5, 30: 39, 31: 21, 32: 22, 33: 23, 34: 24, 35: 25, 36: 27 },\n\t\t\t{ 11: 40, 12: 41, 14: $V0, 16: 9, 17: 10, 18: 11, 19: 12, 20: 14, 21: $V1, 28: $V2 },\n\t\t\t{ 14: [1, 42] },\n\t\t\t{ 20: 43, 21: $V1 },\n\t\t\t{ 13: [1, 44] },\n\t\t\t{ 13: $V8, 23: $V9 },\n\t\t\t{ 13: $V6, 22: [1, 45] },\n\t\t\to($Va, [2, 25]),\n\t\t\t{ 21: $V4, 36: 46 },\n\t\t\t{ 14: $V3, 21: $V4, 28: $V5, 30: 47, 31: 21, 32: 22, 33: 23, 34: 24, 35: 25, 36: 27 },\n\t\t\t{ 14: $V3, 21: $V4, 22: [1, 48], 28: $V5, 31: 36, 32: 22, 33: 23, 34: 24, 35: 25, 36: 27 },\n\t\t\to($V7, [2, 8]),\n\t\t\to($V7, [2, 9]),\n\t\t\to($V7, [2, 10]),\n\t\t\to($V7, [2, 19], { 24: 49, 25: 50, 26: [1, 51] }),\n\t\t\t{ 10: 52, 11: 7, 12: 8, 14: $V0, 16: 9, 17: 10, 18: 11, 19: 12, 20: 14, 21: $V1, 28: $V2 },\n\t\t\to([5, 13, 22, 26, 27, 29], [2, 17]),\n\t\t\to($Va, [2, 34], { 37: 53, 38: 54, 26: [1, 55] }),\n\t\t\t{ 14: $V3, 21: $V4, 28: $V5, 29: [1, 56], 31: 36, 32: 22, 33: 23, 34: 24, 35: 25, 36: 27 },\n\t\t\to([5, 14, 21, 22, 26, 27, 28, 29], [2, 32]),\n\t\t\to($V7, [2, 18]),\n\t\t\to($V7, [2, 20]),\n\t\t\t{ 10: 57, 11: 7, 12: 8, 14: $V0, 16: 9, 17: 10, 18: 11, 19: 12, 20: 14, 21: $V1, 28: $V2 },\n\t\t\t{ 13: $V6, 29: [1, 58] },\n\t\t\to($Va, [2, 33]),\n\t\t\to($Va, [2, 35]),\n\t\t\t{ 14: $V3, 21: $V4, 28: $V5, 30: 59, 31: 21, 32: 22, 33: 23, 34: 24, 35: 25, 36: 27 },\n\t\t\to($Va, [2, 37]),\n\t\t\t{ 13: $V6, 27: [1, 60] },\n\t\t\to($V7, [2, 22]),\n\t\t\t{ 14: $V3, 21: $V4, 27: [1, 61], 28: $V5, 31: 36, 32: 22, 33: 23, 34: 24, 35: 25, 36: 27 },\n\t\t\to($V7, [2, 21]),\n\t\t\to($Va, [2, 36]),\n\t\t],\n\t\tdefaultActions: { 3: [2, 2], 17: [2, 1], 18: [2, 3], 19: [2, 4] },\n\t\tparseError: function parseError(str, hash) {\n\t\t\tif (hash.recoverable) {\n\t\t\t\tthis.trace(str);\n\t\t\t} else {\n\t\t\t\tvar error = new Error(str);\n\t\t\t\terror.hash = hash;\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t},\n\t\tparse: function parse(input) {\n\t\t\tvar self = this,\n\t\t\t\tstack = [0],\n\t\t\t\ttstack = [],\n\t\t\t\tvstack = [null],\n\t\t\t\tlstack = [],\n\t\t\t\ttable = this.table,\n\t\t\t\tyytext = '',\n\t\t\t\tyylineno = 0,\n\t\t\t\tyyleng = 0,\n\t\t\t\trecovering = 0,\n\t\t\t\tTERROR = 2,\n\t\t\t\tEOF = 1;\n\t\t\tvar args = lstack.slice.call(arguments, 1);\n\t\t\tvar lexer = Object.create(this.lexer);\n\t\t\tvar sharedState = { yy: {} };\n\t\t\tfor (var k in this.yy) {\n\t\t\t\tif (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n\t\t\t\t\tsharedState.yy[k] = this.yy[k];\n\t\t\t\t}\n\t\t\t}\n\t\t\tlexer.setInput(input, sharedState.yy);\n\t\t\tsharedState.yy.lexer = lexer;\n\t\t\tsharedState.yy.parser = this;\n\t\t\tif (typeof lexer.yylloc == 'undefined') {\n\t\t\t\tlexer.yylloc = {};\n\t\t\t}\n\t\t\tvar yyloc = lexer.yylloc;\n\t\t\tlstack.push(yyloc);\n\t\t\tvar ranges = lexer.options && lexer.options.ranges;\n\t\t\tif (typeof sharedState.yy.parseError === 'function') {\n\t\t\t\tthis.parseError = sharedState.yy.parseError;\n\t\t\t} else {\n\t\t\t\tthis.parseError = Object.getPrototypeOf(this).parseError;\n\t\t\t}\n\t\t\tfunction popStack(n) {\n\t\t\t\tstack.length = stack.length - 2 * n;\n\t\t\t\tvstack.length = vstack.length - n;\n\t\t\t\tlstack.length = lstack.length - n;\n\t\t\t}\n\t\t\t_token_stack: var lex = function () {\n\t\t\t\tvar token;\n\t\t\t\ttoken = lexer.lex() || EOF;\n\t\t\t\tif (typeof token !== 'number') {\n\t\t\t\t\ttoken = self.symbols_[token] || token;\n\t\t\t\t}\n\t\t\t\treturn token;\n\t\t\t};\n\t\t\tvar symbol,\n\t\t\t\tpreErrorSymbol,\n\t\t\t\tstate,\n\t\t\t\taction,\n\t\t\t\ta,\n\t\t\t\tr,\n\t\t\t\tyyval = {},\n\t\t\t\tp,\n\t\t\t\tlen,\n\t\t\t\tnewState,\n\t\t\t\texpected;\n\t\t\twhile (true) {\n\t\t\t\tstate = stack[stack.length - 1];\n\t\t\t\tif (this.defaultActions[state]) {\n\t\t\t\t\taction = this.defaultActions[state];\n\t\t\t\t} else {\n\t\t\t\t\tif (symbol === null || typeof symbol == 'undefined') {\n\t\t\t\t\t\tsymbol = lex();\n\t\t\t\t\t}\n\t\t\t\t\taction = table[state] && table[state][symbol];\n\t\t\t\t}\n\t\t\t\tif (typeof action === 'undefined' || !action.length || !action[0]) {\n\t\t\t\t\tvar errStr = '';\n\t\t\t\t\texpected = [];\n\t\t\t\t\tfor (p in table[state]) {\n\t\t\t\t\t\tif (this.terminals_[p] && p > TERROR) {\n\t\t\t\t\t\t\texpected.push(\"'\" + this.terminals_[p] + \"'\");\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (lexer.showPosition) {\n\t\t\t\t\t\terrStr =\n\t\t\t\t\t\t\t'Parse error on line ' +\n\t\t\t\t\t\t\t(yylineno + 1) +\n\t\t\t\t\t\t\t':\\n' +\n\t\t\t\t\t\t\tlexer.showPosition() +\n\t\t\t\t\t\t\t'\\nExpecting ' +\n\t\t\t\t\t\t\texpected.join(', ') +\n\t\t\t\t\t\t\t\", got '\" +\n\t\t\t\t\t\t\t(this.terminals_[symbol] || symbol) +\n\t\t\t\t\t\t\t\"'\";\n\t\t\t\t\t} else {\n\t\t\t\t\t\terrStr =\n\t\t\t\t\t\t\t'Parse error on line ' +\n\t\t\t\t\t\t\t(yylineno + 1) +\n\t\t\t\t\t\t\t': Unexpected ' +\n\t\t\t\t\t\t\t(symbol == EOF ? 'end of input' : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n\t\t\t\t\t}\n\t\t\t\t\tthis.parseError(errStr, {\n\t\t\t\t\t\ttext: lexer.match,\n\t\t\t\t\t\ttoken: this.terminals_[symbol] || symbol,\n\t\t\t\t\t\tline: lexer.yylineno,\n\t\t\t\t\t\tloc: yyloc,\n\t\t\t\t\t\texpected: expected,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif (action[0] instanceof Array && action.length > 1) {\n\t\t\t\t\tthrow new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol);\n\t\t\t\t}\n\t\t\t\tswitch (action[0]) {\n\t\t\t\t\tcase 1:\n\t\t\t\t\t\tstack.push(symbol);\n\t\t\t\t\t\tvstack.push(lexer.yytext);\n\t\t\t\t\t\tlstack.push(lexer.yylloc);\n\t\t\t\t\t\tstack.push(action[1]);\n\t\t\t\t\t\tsymbol = null;\n\t\t\t\t\t\tif (!preErrorSymbol) {\n\t\t\t\t\t\t\tyyleng = lexer.yyleng;\n\t\t\t\t\t\t\tyytext = lexer.yytext;\n\t\t\t\t\t\t\tyylineno = lexer.yylineno;\n\t\t\t\t\t\t\tyyloc = lexer.yylloc;\n\t\t\t\t\t\t\tif (recovering > 0) {\n\t\t\t\t\t\t\t\trecovering--;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsymbol = preErrorSymbol;\n\t\t\t\t\t\t\tpreErrorSymbol = null;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 2:\n\t\t\t\t\t\tlen = this.productions_[action[1]][1];\n\t\t\t\t\t\tyyval.$ = vstack[vstack.length - len];\n\t\t\t\t\t\tyyval._$ = {\n\t\t\t\t\t\t\tfirst_line: lstack[lstack.length - (len || 1)].first_line,\n\t\t\t\t\t\t\tlast_line: lstack[lstack.length - 1].last_line,\n\t\t\t\t\t\t\tfirst_column: lstack[lstack.length - (len || 1)].first_column,\n\t\t\t\t\t\t\tlast_column: lstack[lstack.length - 1].last_column,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tif (ranges) {\n\t\t\t\t\t\t\tyyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tr = this.performAction.apply(yyval, [yytext, yyleng, yylineno, sharedState.yy, action[1], vstack, lstack].concat(args));\n\t\t\t\t\t\tif (typeof r !== 'undefined') {\n\t\t\t\t\t\t\treturn r;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (len) {\n\t\t\t\t\t\t\tstack = stack.slice(0, -1 * len * 2);\n\t\t\t\t\t\t\tvstack = vstack.slice(0, -1 * len);\n\t\t\t\t\t\t\tlstack = lstack.slice(0, -1 * len);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstack.push(this.productions_[action[1]][0]);\n\t\t\t\t\t\tvstack.push(yyval.$);\n\t\t\t\t\t\tlstack.push(yyval._$);\n\t\t\t\t\t\tnewState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n\t\t\t\t\t\tstack.push(newState);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 3:\n\t\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t};\n\n\tconst root = (type, data) => ({ __prototype: 'MesaureLayout', type, data });\n\n\tconst singleLayout = (n) => ({ __prototype: 'SingleMLayout', measure: Number(n) });\n\tconst blockLayout = (seq) => ({ __prototype: 'BlockMLayout', seq });\n\tconst voltaBlock = (times, body, alternates) => ({ __prototype: 'VoltaMLayout', times: Number(times), body, alternates });\n\tconst abaBlock = (main, rest) => ({ __prototype: 'ABAMLayout', main, rest });\n\n\tconst segment = (n) => ({ segment: true, length: Number(n) });\n\n\tconst alternates = (items) =>\n\t\titems.map((item) => {\n\t\t\tif (item.__prototype === 'BlockMLayout') return item.seq;\n\n\t\t\treturn [item];\n\t\t});\n\n\tconst range = (start, end) => {\n\t\tstart = Number(start);\n\t\tend = Number(end);\n\n\t\tif (!(end >= start)) throw new Error(`invalid measure range: ${start}..${end}`);\n\n\t\treturn Array(end + 1 - start)\n\t\t\t.fill(0)\n\t\t\t.map((_, i) => singleLayout(start + i));\n\t};\n\n\tconst serializeSeq = (item, options) => {\n\t\tif (item.segment) {\n\t\t\tconst index = options.index;\n\t\t\toptions.index += item.length;\n\n\t\t\treturn Array(item.length)\n\t\t\t\t.fill(0)\n\t\t\t\t.map((_, i) => singleLayout(index + i));\n\t\t}\n\n\t\treturn [serialize(item, options)];\n\t};\n\n\tconst serialize = (item, options = { index: 1 }) => {\n\t\tconst speard = (seq) => [].concat(...seq.map((it) => serializeSeq(it, options)));\n\n\t\tswitch (item.__prototype) {\n\t\t\tcase 'BlockMLayout':\n\t\t\t\titem.seq = speard(item.seq);\n\n\t\t\t\tbreak;\n\t\t\tcase 'VoltaMLayout':\n\t\t\t\titem.body = speard(item.body);\n\t\t\t\titem.alternates = item.alternates && item.alternates.map(speard);\n\n\t\t\t\tbreak;\n\t\t\tcase 'ABAMLayout':\n\t\t\t\titem.main = serialize(item.main, options);\n\t\t\t\titem.rest = speard(item.rest);\n\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn item;\n\t};\n\t/* generated by jison-lex 0.3.4 */\n\tvar lexer = (function () {\n\t\tvar lexer = {\n\t\t\tEOF: 1,\n\n\t\t\tparseError: function parseError(str, hash) {\n\t\t\t\tif (this.yy.parser) {\n\t\t\t\t\tthis.yy.parser.parseError(str, hash);\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error(str);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// resets the lexer, sets new input\n\t\t\tsetInput: function (input, yy) {\n\t\t\t\tthis.yy = yy || this.yy || {};\n\t\t\t\tthis._input = input;\n\t\t\t\tthis._more = this._backtrack = this.done = false;\n\t\t\t\tthis.yylineno = this.yyleng = 0;\n\t\t\t\tthis.yytext = this.matched = this.match = '';\n\t\t\t\tthis.conditionStack = ['INITIAL'];\n\t\t\t\tthis.yylloc = {\n\t\t\t\t\tfirst_line: 1,\n\t\t\t\t\tfirst_column: 0,\n\t\t\t\t\tlast_line: 1,\n\t\t\t\t\tlast_column: 0,\n\t\t\t\t};\n\t\t\t\tif (this.options.ranges) {\n\t\t\t\t\tthis.yylloc.range = [0, 0];\n\t\t\t\t}\n\t\t\t\tthis.offset = 0;\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// consumes and returns one char from the input\n\t\t\tinput: function () {\n\t\t\t\tvar ch = this._input[0];\n\t\t\t\tthis.yytext += ch;\n\t\t\t\tthis.yyleng++;\n\t\t\t\tthis.offset++;\n\t\t\t\tthis.match += ch;\n\t\t\t\tthis.matched += ch;\n\t\t\t\tvar lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n\t\t\t\tif (lines) {\n\t\t\t\t\tthis.yylineno++;\n\t\t\t\t\tthis.yylloc.last_line++;\n\t\t\t\t} else {\n\t\t\t\t\tthis.yylloc.last_column++;\n\t\t\t\t}\n\t\t\t\tif (this.options.ranges) {\n\t\t\t\t\tthis.yylloc.range[1]++;\n\t\t\t\t}\n\n\t\t\t\tthis._input = this._input.slice(1);\n\t\t\t\treturn ch;\n\t\t\t},\n\n\t\t\t// unshifts one char (or a string) into the input\n\t\t\tunput: function (ch) {\n\t\t\t\tvar len = ch.length;\n\t\t\t\tvar lines = ch.split(/(?:\\r\\n?|\\n)/g);\n\n\t\t\t\tthis._input = ch + this._input;\n\t\t\t\tthis.yytext = this.yytext.substr(0, this.yytext.length - len);\n\t\t\t\t//this.yyleng -= len;\n\t\t\t\tthis.offset -= len;\n\t\t\t\tvar oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n\t\t\t\tthis.match = this.match.substr(0, this.match.length - 1);\n\t\t\t\tthis.matched = this.matched.substr(0, this.matched.length - 1);\n\n\t\t\t\tif (lines.length - 1) {\n\t\t\t\t\tthis.yylineno -= lines.length - 1;\n\t\t\t\t}\n\t\t\t\tvar r = this.yylloc.range;\n\n\t\t\t\tthis.yylloc = {\n\t\t\t\t\tfirst_line: this.yylloc.first_line,\n\t\t\t\t\tlast_line: this.yylineno + 1,\n\t\t\t\t\tfirst_column: this.yylloc.first_column,\n\t\t\t\t\tlast_column: lines\n\t\t\t\t\t\t? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length\n\t\t\t\t\t\t: this.yylloc.first_column - len,\n\t\t\t\t};\n\n\t\t\t\tif (this.options.ranges) {\n\t\t\t\t\tthis.yylloc.range = [r[0], r[0] + this.yyleng - len];\n\t\t\t\t}\n\t\t\t\tthis.yyleng = this.yytext.length;\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// When called from action, caches matched text and appends it on next action\n\t\t\tmore: function () {\n\t\t\t\tthis._more = true;\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n\t\t\treject: function () {\n\t\t\t\tif (this.options.backtrack_lexer) {\n\t\t\t\t\tthis._backtrack = true;\n\t\t\t\t} else {\n\t\t\t\t\treturn this.parseError(\n\t\t\t\t\t\t'Lexical error on line ' +\n\t\t\t\t\t\t\t(this.yylineno + 1) +\n\t\t\t\t\t\t\t'. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n' +\n\t\t\t\t\t\t\tthis.showPosition(),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: '',\n\t\t\t\t\t\t\ttoken: null,\n\t\t\t\t\t\t\tline: this.yylineno,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// retain first n characters of the match\n\t\t\tless: function (n) {\n\t\t\t\tthis.unput(this.match.slice(n));\n\t\t\t},\n\n\t\t\t// displays already matched input, i.e. for error messages\n\t\t\tpastInput: function () {\n\t\t\t\tvar past = this.matched.substr(0, this.matched.length - this.match.length);\n\t\t\t\treturn (past.length > 20 ? '...' : '') + past.substr(-20).replace(/\\n/g, '');\n\t\t\t},\n\n\t\t\t// displays upcoming input, i.e. for error messages\n\t\t\tupcomingInput: function () {\n\t\t\t\tvar next = this.match;\n\t\t\t\tif (next.length < 20) {\n\t\t\t\t\tnext += this._input.substr(0, 20 - next.length);\n\t\t\t\t}\n\t\t\t\treturn (next.substr(0, 20) + (next.length > 20 ? '...' : '')).replace(/\\n/g, '');\n\t\t\t},\n\n\t\t\t// displays the character position where the lexing error occurred, i.e. for error messages\n\t\t\tshowPosition: function () {\n\t\t\t\tvar pre = this.pastInput();\n\t\t\t\tvar c = new Array(pre.length + 1).join('-');\n\t\t\t\treturn pre + this.upcomingInput() + '\\n' + c + '^';\n\t\t\t},\n\n\t\t\t// test the lexed token: return FALSE when not a match, otherwise return token\n\t\t\ttest_match: function (match, indexed_rule) {\n\t\t\t\tvar token, lines, backup;\n\n\t\t\t\tif (this.options.backtrack_lexer) {\n\t\t\t\t\t// save context\n\t\t\t\t\tbackup = {\n\t\t\t\t\t\tyylineno: this.yylineno,\n\t\t\t\t\t\tyylloc: {\n\t\t\t\t\t\t\tfirst_line: this.yylloc.first_line,\n\t\t\t\t\t\t\tlast_line: this.last_line,\n\t\t\t\t\t\t\tfirst_column: this.yylloc.first_column,\n\t\t\t\t\t\t\tlast_column: this.yylloc.last_column,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tyytext: this.yytext,\n\t\t\t\t\t\tmatch: this.match,\n\t\t\t\t\t\tmatches: this.matches,\n\t\t\t\t\t\tmatched: this.matched,\n\t\t\t\t\t\tyyleng: this.yyleng,\n\t\t\t\t\t\toffset: this.offset,\n\t\t\t\t\t\t_more: this._more,\n\t\t\t\t\t\t_input: this._input,\n\t\t\t\t\t\tyy: this.yy,\n\t\t\t\t\t\tconditionStack: this.conditionStack.slice(0),\n\t\t\t\t\t\tdone: this.done,\n\t\t\t\t\t};\n\t\t\t\t\tif (this.options.ranges) {\n\t\t\t\t\t\tbackup.yylloc.range = this.yylloc.range.slice(0);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n\t\t\t\tif (lines) {\n\t\t\t\t\tthis.yylineno += lines.length;\n\t\t\t\t}\n\t\t\t\tthis.yylloc = {\n\t\t\t\t\tfirst_line: this.yylloc.last_line,\n\t\t\t\t\tlast_line: this.yylineno + 1,\n\t\t\t\t\tfirst_column: this.yylloc.last_column,\n\t\t\t\t\tlast_column: lines\n\t\t\t\t\t\t? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length\n\t\t\t\t\t\t: this.yylloc.last_column + match[0].length,\n\t\t\t\t};\n\t\t\t\tthis.yytext += match[0];\n\t\t\t\tthis.match += match[0];\n\t\t\t\tthis.matches = match;\n\t\t\t\tthis.yyleng = this.yytext.length;\n\t\t\t\tif (this.options.ranges) {\n\t\t\t\t\tthis.yylloc.range = [this.offset, (this.offset += this.yyleng)];\n\t\t\t\t}\n\t\t\t\tthis._more = false;\n\t\t\t\tthis._backtrack = false;\n\t\t\t\tthis._input = this._input.slice(match[0].length);\n\t\t\t\tthis.matched += match[0];\n\t\t\t\ttoken = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n\t\t\t\tif (this.done && this._input) {\n\t\t\t\t\tthis.done = false;\n\t\t\t\t}\n\t\t\t\tif (token) {\n\t\t\t\t\treturn token;\n\t\t\t\t} else if (this._backtrack) {\n\t\t\t\t\t// recover context\n\t\t\t\t\tfor (var k in backup) {\n\t\t\t\t\t\tthis[k] = backup[k];\n\t\t\t\t\t}\n\t\t\t\t\treturn false; // rule action called reject() implying the next rule should be tested instead.\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t},\n\n\t\t\t// return next match in input\n\t\t\tnext: function () {\n\t\t\t\tif (this.done) {\n\t\t\t\t\treturn this.EOF;\n\t\t\t\t}\n\t\t\t\tif (!this._input) {\n\t\t\t\t\tthis.done = true;\n\t\t\t\t}\n\n\t\t\t\tvar token, match, tempMatch, index;\n\t\t\t\tif (!this._more) {\n\t\t\t\t\tthis.yytext = '';\n\t\t\t\t\tthis.match = '';\n\t\t\t\t}\n\t\t\t\tvar rules = this._currentRules();\n\t\t\t\tfor (var i = 0; i < rules.length; i++) {\n\t\t\t\t\ttempMatch = this._input.match(this.rules[rules[i]]);\n\t\t\t\t\tif (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n\t\t\t\t\t\tmatch = tempMatch;\n\t\t\t\t\t\tindex = i;\n\t\t\t\t\t\tif (this.options.backtrack_lexer) {\n\t\t\t\t\t\t\ttoken = this.test_match(tempMatch, rules[i]);\n\t\t\t\t\t\t\tif (token !== false) {\n\t\t\t\t\t\t\t\treturn token;\n\t\t\t\t\t\t\t} else if (this._backtrack) {\n\t\t\t\t\t\t\t\tmatch = false;\n\t\t\t\t\t\t\t\tcontinue; // rule action called reject() implying a rule MISmatch.\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t// else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (!this.options.flex) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (match) {\n\t\t\t\t\ttoken = this.test_match(match, rules[index]);\n\t\t\t\t\tif (token !== false) {\n\t\t\t\t\t\treturn token;\n\t\t\t\t\t}\n\t\t\t\t\t// else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (this._input === '') {\n\t\t\t\t\treturn this.EOF;\n\t\t\t\t} else {\n\t\t\t\t\treturn this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\\n' + this.showPosition(), {\n\t\t\t\t\t\ttext: '',\n\t\t\t\t\t\ttoken: null,\n\t\t\t\t\t\tline: this.yylineno,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// return next match that has a token\n\t\t\tlex: function lex() {\n\t\t\t\tvar r = this.next();\n\t\t\t\tif (r) {\n\t\t\t\t\treturn r;\n\t\t\t\t} else {\n\t\t\t\t\treturn this.lex();\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n\t\t\tbegin: function begin(condition) {\n\t\t\t\tthis.conditionStack.push(condition);\n\t\t\t},\n\n\t\t\t// pop the previously active lexer condition state off the condition stack\n\t\t\tpopState: function popState() {\n\t\t\t\tvar n = this.conditionStack.length - 1;\n\t\t\t\tif (n > 0) {\n\t\t\t\t\treturn this.conditionStack.pop();\n\t\t\t\t} else {\n\t\t\t\t\treturn this.conditionStack[0];\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// produce the lexer rule set which is active for the currently active lexer condition state\n\t\t\t_currentRules: function _currentRules() {\n\t\t\t\tif (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n\t\t\t\t\treturn this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n\t\t\t\t} else {\n\t\t\t\t\treturn this.conditions['INITIAL'].rules;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n\t\t\ttopState: function topState(n) {\n\t\t\t\tn = this.conditionStack.length - 1 - Math.abs(n || 0);\n\t\t\t\tif (n >= 0) {\n\t\t\t\t\treturn this.conditionStack[n];\n\t\t\t\t} else {\n\t\t\t\t\treturn 'INITIAL';\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// alias for begin(condition)\n\t\t\tpushState: function pushState(condition) {\n\t\t\t\tthis.begin(condition);\n\t\t\t},\n\n\t\t\t// return the number of states currently on the stack\n\t\t\tstateStackSize: function stateStackSize() {\n\t\t\t\treturn this.conditionStack.length;\n\t\t\t},\n\t\t\toptions: {},\n\t\t\tperformAction: function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n\t\t\t\tvar YYSTATE = YY_START;\n\t\t\t\tswitch ($avoiding_name_collisions) {\n\t\t\t\t\tcase 0:\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 1:\n\t\t\t\t\t\treturn yy_.yytext;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 2:\n\t\t\t\t\t\treturn 14;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 3:\n\t\t\t\t\t\treturn yy_.yytext;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 4:\n\t\t\t\t\t\treturn yy_.yytext;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 5:\n\t\t\t\t\t\treturn 5;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t},\n\t\t\trules: [/^(?:\\s+)/, /^(?:([*,\\[\\]<>{}]))/, /^(?:(([1-9])([0-9])*))/, /^(?:(([a-z])+):)/, /^(?:\\.\\.)/, /^(?:$)/],\n\t\t\tconditions: { INITIAL: { rules: [0, 1, 2, 3, 4, 5], inclusive: true } },\n\t\t};\n\t\treturn lexer;\n\t})();\n\tparser.lexer = lexer;\n\tfunction Parser() {\n\t\tthis.yy = {};\n\t}\n\tParser.prototype = parser;\n\tparser.Parser = Parser;\n\treturn new Parser();\n})();\n\nexport { parser };\nexport var Parser = parser.Parser;\nexport var parse = function () {\n\treturn parser.parse.apply(parser, arguments);\n};\nexport default { parser: parser, Parser: parser.Parser, parse: parse };\n","import type { MeasureLayout } from './measureLayout';\nimport * as measureLayout from './measureLayout';\nimport grammar from './grammar.jison';\nimport { recoverJSON } from '../starry/aux_/typedJSON';\n\nconst parseCode = (code: string): MeasureLayout => {\n\tconst raw = grammar.parse(code);\n\n\tif (raw?.data) return recoverJSON(raw.data, measureLayout);\n\n\treturn null;\n};\n\nexport { parseCode };\n","export interface RawItem {\n\tid: string;\n\tleftBounds: string[];\n\trightBounds: string[];\n\tconjunction: string;\n}\n\nexport enum StaffGroupType {\n\tDefault,\n\tBrace, // {}\n\tBracket, // <>\n\tSquare, // []\n}\n\nexport enum StaffConjunctionType {\n\tBlank,\n\tDashed,\n\tSolid,\n}\n\ntype StaffID = string;\n\nexport interface StaffGroup {\n\ttype: StaffGroupType;\n\tsubs?: StaffGroup[];\n\tstaff?: StaffID;\n\tlevel?: number;\n\tgrand?: boolean;\n}\n\ninterface StaffGroupTrait {\n\tgroup: StaffGroup;\n\trange: [number, number];\n\tkey: string;\n}\n\nconst singleGroup = (id: string) => ({ type: StaffGroupType.Default, staff: id });\n\nconst BOUNDS_TO_GROUPTYPE: { [bound: string]: StaffGroupType } = {\n\t'{': StaffGroupType.Brace,\n\t'}': StaffGroupType.Brace,\n\t'<': StaffGroupType.Bracket,\n\t'>': StaffGroupType.Bracket,\n\t'[': StaffGroupType.Square,\n\t']': StaffGroupType.Square,\n};\n\nconst OPEN_BOUNDS = '{<[';\nconst CLOSE_BOUNDS = '}>]';\n\nconst CONJUNCTIONS_MAP: { [conj: string]: StaffConjunctionType } = {\n\t',': StaffConjunctionType.Blank,\n\t'-': StaffConjunctionType.Solid,\n\t'.': StaffConjunctionType.Dashed,\n};\n\nconst bracketCode = (type: StaffGroupType, partial: boolean = false): ((inner: string) => string) => {\n\tif (type === StaffGroupType.Default) return (inner) => inner;\n\n\tif (partial) {\n\t\tswitch (type) {\n\t\t\tcase StaffGroupType.Brace:\n\t\t\t\treturn (inner) => `{${inner}`;\n\t\t\tcase StaffGroupType.Bracket:\n\t\t\t\treturn (inner) => `<${inner}`;\n\t\t\tcase StaffGroupType.Square:\n\t\t\t\treturn (inner) => `[${inner}`;\n\t\t\tdefault:\n\t\t\t\treturn (inner) => inner;\n\t\t}\n\t}\n\n\tswitch (type) {\n\t\tcase StaffGroupType.Brace:\n\t\t\treturn (inner) => `{${inner}}`;\n\t\tcase StaffGroupType.Bracket:\n\t\t\treturn (inner) => `<${inner}>`;\n\t\tcase StaffGroupType.Square:\n\t\t\treturn (inner) => `[${inner}]`;\n\t\tdefault:\n\t\t\treturn (inner) => inner;\n\t}\n};\n\nconst randomB64 = (): string => {\n\tconst code = btoa(Math.random().toString().substr(2)).replace(/=/g, '');\n\n\treturn code.split('').reverse().slice(0, 6).join('');\n};\n\nconst makeUniqueName = (set: Set, index: number, prefix?: string): string => {\n\tlet name = prefix;\n\tif (!name) name = index.toString();\n\telse if (set.has(name)) name += '_' + index.toString();\n\n\twhile (set.has(name)) name += '_' + randomB64();\n\n\treturn name;\n};\n\nconst makeGroupsFromRaw = (parent: StaffGroup, seq: string[]): string[] => {\n\tlet remains = seq;\n\twhile (remains.length) {\n\t\tconst word = remains.shift();\n\t\tconst bound = BOUNDS_TO_GROUPTYPE[word];\n\t\tif (bound) {\n\t\t\tif (CLOSE_BOUNDS.includes(word) && bound === parent.type) break;\n\n\t\t\tif (OPEN_BOUNDS.includes(word)) {\n\t\t\t\tconst group = { type: bound, level: Number.isFinite(parent.level) ? parent.level + 1 : 0 };\n\t\t\t\tremains = makeGroupsFromRaw(group, remains);\n\n\t\t\t\tparent.subs = parent.subs || [];\n\t\t\t\tparent.subs.push(group);\n\t\t\t}\n\t\t} else {\n\t\t\tparent.subs = parent.subs || [];\n\t\t\tparent.subs.push(singleGroup(word));\n\t\t}\n\t}\n\n\twhile (parent.type === StaffGroupType.Default && parent.subs && parent.subs.length === 1) {\n\t\tconst sub = parent.subs[0];\n\t\tparent.type = sub.type;\n\t\tparent.subs = sub.subs;\n\t\tparent.staff = sub.staff;\n\t\tparent.level = sub.level;\n\t}\n\n\twhile (parent.subs && parent.subs.length === 1 && parent.subs[0].type === StaffGroupType.Default) {\n\t\tconst sub = parent.subs[0];\n\t\tparent.subs = sub.subs;\n\t\tparent.staff = sub.staff;\n\t}\n\n\tparent.grand = parent.type === StaffGroupType.Brace && parent.subs && parent.subs.every((sub) => sub.staff);\n\n\treturn remains;\n};\n\nconst groupHead = (group: StaffGroup): string => {\n\tif (group.staff) return group.staff;\n\telse if (group.subs) return groupHead(group.subs[0]);\n};\n\nconst groupTail = (group: StaffGroup): string => {\n\tif (group.staff) return group.staff;\n\telse if (group.subs) return groupTail(group.subs[group.subs.length - 1]);\n};\n\nexport const groupKey = (group: StaffGroup): string => {\n\tif (group.staff) return group.staff;\n\telse if (group.subs) return `${groupHead(group)}-${groupTail(group)}`;\n};\n\nconst groupDict = (group: StaffGroup, dict: { [key: string]: StaffGroup }): void => {\n\tdict[groupKey(group)] = group;\n\n\tif (group.subs) group.subs.forEach((sub) => groupDict(sub, dict));\n};\n\nexport interface MaskedStaffLayout {\n\tstaffIds: string[];\n\tconjunctions: StaffConjunctionType[];\n\tgroups: StaffGroupTrait[];\n}\n\nclass StaffLayout {\n\tstaffIds: string[];\n\tconjunctions: StaffConjunctionType[];\n\tgroup: StaffGroup;\n\tgroups: StaffGroupTrait[];\n\n\tmaskCache: Map;\n\n\tconstructor(raw: RawItem[]) {\n\t\t// make unique ids\n\t\tconst ids = new Set();\n\t\traw.forEach((item, i) => {\n\t\t\titem.id = makeUniqueName(ids, i + 1, item.id);\n\t\t\tids.add(item.id);\n\t\t});\n\t\tthis.staffIds = raw.map((item) => item.id);\n\t\tthis.conjunctions = raw.slice(0, raw.length - 1).map((item) => (item.conjunction ? CONJUNCTIONS_MAP[item.conjunction] : StaffConjunctionType.Blank));\n\n\t\t// make groups\n\t\tconst seq = [].concat(...raw.map((item) => [...item.leftBounds, item.id, ...item.rightBounds]));\n\t\tthis.group = { type: StaffGroupType.Default };\n\t\tmakeGroupsFromRaw(this.group, seq);\n\n\t\tconst dict = {};\n\t\tgroupDict(this.group, dict);\n\t\tthis.groups = Object.entries(dict).map(([key, group]) => {\n\t\t\tlet ids = key.split('-');\n\t\t\tif (ids.length === 1) ids = [ids[0], ids[0]];\n\t\t\tconst range = ids.map((id) => this.staffIds.indexOf(id));\n\n\t\t\treturn {\n\t\t\t\tgroup,\n\t\t\t\trange,\n\t\t\t\tkey,\n\t\t\t} as StaffGroupTrait;\n\t\t});\n\n\t\tthis.maskCache = new Map();\n\t}\n\n\tget stavesCount(): number {\n\t\tif (!this.staffIds) return null;\n\n\t\treturn this.staffIds.length;\n\t}\n\n\tget partGroups(): StaffGroupTrait[] {\n\t\tconst grands = this.groups.filter((g) => g.group.grand);\n\t\tconst parts = this.groups.filter((g) => {\n\t\t\tif (g.group.grand) return true;\n\n\t\t\tif (g.range[0] === g.range[1]) {\n\t\t\t\tconst index = g.range[0];\n\t\t\t\treturn !grands.some((g) => g.range[0] <= index && g.range[1] >= index);\n\t\t\t}\n\n\t\t\treturn false;\n\t\t});\n\n\t\treturn parts;\n\t}\n\n\tget standaloneGroups(): string[][] {\n\t\tconst groups: string[][] = [];\n\t\tconst collect = (group: StaffGroup): void => {\n\t\t\tif (group.grand) groups.push(group.subs.map((sub) => sub.staff));\n\t\t\telse if (group.staff) groups.push([group.staff]);\n\t\t\telse if (group.subs) group.subs.forEach((sub) => collect(sub));\n\t\t};\n\t\tcollect(this.group);\n\n\t\treturn groups;\n\t}\n\n\tconjunctionBetween(upStaff: number, downStaff: number): StaffConjunctionType {\n\t\tif (downStaff <= upStaff) return null;\n\n\t\tlet con = StaffConjunctionType.Solid;\n\t\tfor (let i = upStaff; i < downStaff; i++) con = Math.min(con, this.conjunctions[i]);\n\n\t\treturn con;\n\t}\n\n\tstatic makeMaskLayout(layout: StaffLayout, mask: number): MaskedStaffLayout {\n\t\tconst staffIds = layout.staffIds.filter((_, i) => mask & (1 << i));\n\t\tif (staffIds.length === layout.staffIds.length) {\n\t\t\treturn {\n\t\t\t\tstaffIds: layout.staffIds,\n\t\t\t\tconjunctions: layout.conjunctions,\n\t\t\t\tgroups: layout.groups,\n\t\t\t};\n\t\t}\n\n\t\tconst groups = layout.groups\n\t\t\t.map((g) => ({ ids: layout.staffIds.slice(g.range[0], g.range[1] + 1).filter((id) => staffIds.includes(id)), ...g }))\n\t\t\t.filter(({ ids }) => ids.length)\n\t\t\t.map(\n\t\t\t\t({ ids, ...g }) =>\n\t\t\t\t\t({\n\t\t\t\t\t\tkey: g.key,\n\t\t\t\t\t\tgroup: g.group,\n\t\t\t\t\t\trange: [staffIds.indexOf(ids[0]), staffIds.indexOf(ids[ids.length - 1])],\n\t\t\t\t\t} as StaffGroupTrait)\n\t\t\t);\n\n\t\tconst conjunctions = staffIds.slice(0, staffIds.length - 1).map((id, i) => {\n\t\t\tconst nextId = staffIds[i + 1];\n\t\t\treturn layout.conjunctionBetween(layout.staffIds.indexOf(id), layout.staffIds.indexOf(nextId));\n\t\t});\n\n\t\treturn {\n\t\t\tstaffIds,\n\t\t\tconjunctions,\n\t\t\tgroups,\n\t\t};\n\t}\n\n\tmask(mask: number): MaskedStaffLayout {\n\t\tif (!this.maskCache.get(mask)) this.maskCache.set(mask, StaffLayout.makeMaskLayout(this, mask));\n\n\t\treturn this.maskCache.get(mask);\n\t}\n\n\t// {,}\t*\t1,1\t\t=> {,}\n\t// {,}\t*\t1,x\t\t=> {\n\t// {,}\t*\t0,x\t\t=>\n\t// {,}\t*\t0,1\t\t=> {}\n\tpartialMaskCode(bits: (1 | 0)[], withIds = false): string {\n\t\ttype Attendance = 0 | 1 | null;\n\t\tconst staffStatus = this.staffIds\n\t\t\t.map((_, i) => (i < bits.length ? bits[i] : null))\n\t\t\t.reduce((status, x, i) => {\n\t\t\t\tstatus[this.staffIds[i]] = x;\n\t\t\t\treturn status;\n\t\t\t}, {} as { [id: string]: Attendance });\n\n\t\tconst joinGroup = (group: StaffGroup): [string, boolean] => {\n\t\t\tif (group.staff) return [staffStatus[group.staff] ? group.staff : null, staffStatus[group.staff] === null];\n\n\t\t\tconst subs = group.subs.map((sub) => joinGroup(sub));\n\t\t\tconst subStr = subs\n\t\t\t\t.map((pair) => pair[0])\n\t\t\t\t.filter(Boolean)\n\t\t\t\t.join(',');\n\t\t\tconst partial = subs.some(([_, partial]) => partial);\n\n\t\t\tconst code = subStr ? bracketCode(group.type, partial)(subStr) : null;\n\n\t\t\treturn [code, partial];\n\t\t};\n\n\t\tlet [code] = joinGroup(this.group);\n\t\tcode = code || '';\n\t\tif (!withIds) code = code.replace(/[_\\w]+/g, '');\n\n\t\treturn code;\n\t}\n}\n\nexport default StaffLayout;\n","/* parser generated by jison 0.4.18 */\n/*\n Returns a Parser object of the following structure:\n\n Parser: {\n yy: {}\n }\n\n Parser.prototype: {\n yy: {},\n trace: function(),\n symbols_: {associative list: name ==> number},\n terminals_: {associative list: number ==> name},\n productions_: [...],\n performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$),\n table: [...],\n defaultActions: {...},\n parseError: function(str, hash),\n parse: function(input),\n\n lexer: {\n EOF: 1,\n parseError: function(str, hash),\n setInput: function(input),\n input: function(),\n unput: function(str),\n more: function(),\n less: function(n),\n pastInput: function(),\n upcomingInput: function(),\n showPosition: function(),\n test_match: function(regex_match_array, rule_index),\n next: function(),\n lex: function(),\n begin: function(condition),\n popState: function(),\n _currentRules: function(),\n topState: function(),\n pushState: function(condition),\n\n options: {\n ranges: boolean (optional: true ==> token location info will include a .range[] member)\n flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match)\n backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code)\n },\n\n performAction: function(yy, yy_, $avoiding_name_collisions, YY_START),\n rules: [...],\n conditions: {associative list: name ==> set},\n }\n }\n\n\n token location info (@$, _$, etc.): {\n first_line: n,\n last_line: n,\n first_column: n,\n last_column: n,\n range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based)\n }\n\n\n the parseError function receives a 'hash' object with these members for lexer and parser errors: {\n text: (matched text)\n token: (the produced terminal token, if any)\n line: (yylineno)\n }\n while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: {\n loc: (yylloc)\n expected: (string describing the set of expected tokens)\n recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error)\n }\n*/\nvar parser = (function () {\n\tvar o = function (k, v, o, l) {\n\t\t\tfor (o = o || {}, l = k.length; l--; o[k[l]] = v);\n\t\t\treturn o;\n\t\t},\n\t\t$V0 = [1, 15],\n\t\t$V1 = [1, 16],\n\t\t$V2 = [1, 17],\n\t\t$V3 = [1, 11],\n\t\t$V4 = [1, 12],\n\t\t$V5 = [1, 13],\n\t\t$V6 = [1, 24],\n\t\t$V7 = [1, 25],\n\t\t$V8 = [1, 26],\n\t\t$V9 = [5, 11, 12, 13, 15, 16, 17, 21, 22, 23, 24],\n\t\t$Va = [15, 16, 17, 21, 22, 23, 24],\n\t\t$Vb = [11, 12, 13, 15, 16, 17, 21, 22, 23, 24],\n\t\t$Vc = [5, 11, 12, 13, 21, 22, 23, 24];\n\tvar parser = {\n\t\ttrace: function trace() {},\n\t\tyy: {},\n\t\tsymbols_: {\n\t\t\terror: 2,\n\t\t\tstart_symbol: 3,\n\t\t\tstaff_layout: 4,\n\t\t\tEOF: 5,\n\t\t\tseq: 6,\n\t\t\tseq_id: 7,\n\t\t\tseq_br: 8,\n\t\t\tseq_con: 9,\n\t\t\tbound_left: 10,\n\t\t\t'<': 11,\n\t\t\t'[': 12,\n\t\t\t'{': 13,\n\t\t\tbound_right: 14,\n\t\t\t'>': 15,\n\t\t\t']': 16,\n\t\t\t'}': 17,\n\t\t\tbound_lefts: 18,\n\t\t\tbound_rights: 19,\n\t\t\tconjunction: 20,\n\t\t\t'-': 21,\n\t\t\t',': 22,\n\t\t\t'.': 23,\n\t\t\tID: 24,\n\t\t\tseq_bl: 25,\n\t\t\t$accept: 0,\n\t\t\t$end: 1,\n\t\t},\n\t\tterminals_: { 2: 'error', 5: 'EOF', 11: '<', 12: '[', 13: '{', 15: '>', 16: ']', 17: '}', 21: '-', 22: ',', 23: '.', 24: 'ID' },\n\t\tproductions_: [\n\t\t\t0,\n\t\t\t[3, 2],\n\t\t\t[4, 1],\n\t\t\t[6, 0],\n\t\t\t[6, 1],\n\t\t\t[6, 1],\n\t\t\t[6, 1],\n\t\t\t[10, 1],\n\t\t\t[10, 1],\n\t\t\t[10, 1],\n\t\t\t[14, 1],\n\t\t\t[14, 1],\n\t\t\t[14, 1],\n\t\t\t[18, 1],\n\t\t\t[18, 2],\n\t\t\t[19, 1],\n\t\t\t[19, 2],\n\t\t\t[20, 1],\n\t\t\t[20, 1],\n\t\t\t[20, 1],\n\t\t\t[7, 1],\n\t\t\t[7, 2],\n\t\t\t[7, 2],\n\t\t\t[7, 2],\n\t\t\t[7, 2],\n\t\t\t[25, 1],\n\t\t\t[25, 2],\n\t\t\t[25, 2],\n\t\t\t[25, 2],\n\t\t\t[8, 2],\n\t\t\t[8, 2],\n\t\t\t[8, 2],\n\t\t\t[9, 1],\n\t\t\t[9, 2],\n\t\t\t[9, 2],\n\t\t\t[9, 2],\n\t\t\t[9, 2],\n\t\t],\n\t\tperformAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) {\n\t\t\t/* this == yyval */\n\n\t\t\tvar $0 = $$.length - 1;\n\t\t\tswitch (yystate) {\n\t\t\t\tcase 1:\n\t\t\t\t\treturn $$[$0 - 1];\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 2:\n\t\t\t\t\t$$[$0].next();\n\n\t\t\t\t\tthis.$ = $$[$0].toJSON();\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 3:\n\t\t\t\t\tthis.$ = new Seq();\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 13:\n\t\t\t\tcase 15:\n\t\t\t\t\tthis.$ = [$$[$0]];\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 14:\n\t\t\t\tcase 16:\n\t\t\t\t\tthis.$ = [...$$[$0 - 1], $$[$0]];\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 20:\n\t\t\t\t\tthis.$ = new Seq();\n\t\t\t\t\tthis.$.tip.i($$[$0]);\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 21:\n\t\t\t\tcase 23:\n\t\t\t\t\t$$[$0 - 1].next();\n\t\t\t\t\t$$[$0 - 1].tip.i($$[$0]);\n\n\t\t\t\t\tthis.$ = $$[$0 - 1];\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 22:\n\t\t\t\tcase 24:\n\t\t\t\t\t$$[$0 - 1].tip.i($$[$0]);\n\n\t\t\t\t\tthis.$ = $$[$0 - 1];\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 25:\n\t\t\t\t\tthis.$ = new Seq();\n\t\t\t\t\tthis.$.tip.bl($$[$0]);\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 26:\n\t\t\t\tcase 27:\n\t\t\t\t\t$$[$0 - 1].next();\n\t\t\t\t\t$$[$0 - 1].tip.bl($$[$0]);\n\n\t\t\t\t\tthis.$ = $$[$0 - 1];\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 28:\n\t\t\t\t\t$$[$0 - 1].tip.bl($$[$0]);\n\n\t\t\t\t\tthis.$ = $$[$0 - 1];\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 29:\n\t\t\t\tcase 30:\n\t\t\t\tcase 31:\n\t\t\t\t\t$$[$0 - 1].tip.br($$[$0]);\n\n\t\t\t\t\tthis.$ = $$[$0 - 1];\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 32:\n\t\t\t\t\tthis.$ = new Seq();\n\t\t\t\t\tthis.$.tip.con($$[$0]);\n\t\t\t\t\tthis.$.next();\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 33:\n\t\t\t\tcase 34:\n\t\t\t\tcase 35:\n\t\t\t\tcase 36:\n\t\t\t\t\t$$[$0 - 1].tip.con($$[$0]);\n\t\t\t\t\t$$[$0 - 1].next();\n\n\t\t\t\t\tthis.$ = $$[$0 - 1];\n\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\ttable: [\n\t\t\t{ 3: 1, 4: 2, 5: [2, 3], 6: 3, 7: 4, 8: 5, 9: 6, 10: 14, 11: $V0, 12: $V1, 13: $V2, 18: 10, 20: 9, 21: $V3, 22: $V4, 23: $V5, 24: [1, 7], 25: 8 },\n\t\t\t{ 1: [3] },\n\t\t\t{ 5: [1, 18] },\n\t\t\t{ 5: [2, 2] },\n\t\t\t{ 5: [2, 4], 10: 14, 11: $V0, 12: $V1, 13: $V2, 14: 23, 15: $V6, 16: $V7, 17: $V8, 18: 22, 19: 20, 20: 21, 21: $V3, 22: $V4, 23: $V5, 24: [1, 19] },\n\t\t\t{ 5: [2, 5], 10: 14, 11: $V0, 12: $V1, 13: $V2, 18: 29, 20: 28, 21: $V3, 22: $V4, 23: $V5, 24: [1, 27] },\n\t\t\t{ 5: [2, 6], 10: 14, 11: $V0, 12: $V1, 13: $V2, 14: 23, 15: $V6, 16: $V7, 17: $V8, 18: 33, 19: 31, 20: 32, 21: $V3, 22: $V4, 23: $V5, 24: [1, 30] },\n\t\t\to($V9, [2, 20]),\n\t\t\t{ 14: 23, 15: $V6, 16: $V7, 17: $V8, 19: 35, 20: 36, 21: $V3, 22: $V4, 23: $V5, 24: [1, 34] },\n\t\t\to($V9, [2, 32]),\n\t\t\to($Va, [2, 25], { 10: 37, 11: $V0, 12: $V1, 13: $V2 }),\n\t\t\to($V9, [2, 17]),\n\t\t\to($V9, [2, 18]),\n\t\t\to($V9, [2, 19]),\n\t\t\to($Vb, [2, 13]),\n\t\t\to($Vb, [2, 7]),\n\t\t\to($Vb, [2, 8]),\n\t\t\to($Vb, [2, 9]),\n\t\t\t{ 1: [2, 1] },\n\t\t\to($V9, [2, 21]),\n\t\t\to($Vc, [2, 29], { 14: 38, 15: $V6, 16: $V7, 17: $V8 }),\n\t\t\to($V9, [2, 33]),\n\t\t\to($Va, [2, 26], { 10: 37, 11: $V0, 12: $V1, 13: $V2 }),\n\t\t\to($V9, [2, 15]),\n\t\t\to($V9, [2, 10]),\n\t\t\to($V9, [2, 11]),\n\t\t\to($V9, [2, 12]),\n\t\t\to($V9, [2, 23]),\n\t\t\to($V9, [2, 35]),\n\t\t\to($Va, [2, 27], { 10: 37, 11: $V0, 12: $V1, 13: $V2 }),\n\t\t\to($V9, [2, 24]),\n\t\t\to($Vc, [2, 31], { 14: 38, 15: $V6, 16: $V7, 17: $V8 }),\n\t\t\to($V9, [2, 36]),\n\t\t\to($Va, [2, 28], { 10: 37, 11: $V0, 12: $V1, 13: $V2 }),\n\t\t\to($V9, [2, 22]),\n\t\t\to($Vc, [2, 30], { 14: 38, 15: $V6, 16: $V7, 17: $V8 }),\n\t\t\to($V9, [2, 34]),\n\t\t\to($Vb, [2, 14]),\n\t\t\to($V9, [2, 16]),\n\t\t],\n\t\tdefaultActions: { 3: [2, 2], 18: [2, 1] },\n\t\tparseError: function parseError(str, hash) {\n\t\t\tif (hash.recoverable) {\n\t\t\t\tthis.trace(str);\n\t\t\t} else {\n\t\t\t\tvar error = new Error(str);\n\t\t\t\terror.hash = hash;\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t},\n\t\tparse: function parse(input) {\n\t\t\tvar self = this,\n\t\t\t\tstack = [0],\n\t\t\t\ttstack = [],\n\t\t\t\tvstack = [null],\n\t\t\t\tlstack = [],\n\t\t\t\ttable = this.table,\n\t\t\t\tyytext = '',\n\t\t\t\tyylineno = 0,\n\t\t\t\tyyleng = 0,\n\t\t\t\trecovering = 0,\n\t\t\t\tTERROR = 2,\n\t\t\t\tEOF = 1;\n\t\t\tvar args = lstack.slice.call(arguments, 1);\n\t\t\tvar lexer = Object.create(this.lexer);\n\t\t\tvar sharedState = { yy: {} };\n\t\t\tfor (var k in this.yy) {\n\t\t\t\tif (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n\t\t\t\t\tsharedState.yy[k] = this.yy[k];\n\t\t\t\t}\n\t\t\t}\n\t\t\tlexer.setInput(input, sharedState.yy);\n\t\t\tsharedState.yy.lexer = lexer;\n\t\t\tsharedState.yy.parser = this;\n\t\t\tif (typeof lexer.yylloc == 'undefined') {\n\t\t\t\tlexer.yylloc = {};\n\t\t\t}\n\t\t\tvar yyloc = lexer.yylloc;\n\t\t\tlstack.push(yyloc);\n\t\t\tvar ranges = lexer.options && lexer.options.ranges;\n\t\t\tif (typeof sharedState.yy.parseError === 'function') {\n\t\t\t\tthis.parseError = sharedState.yy.parseError;\n\t\t\t} else {\n\t\t\t\tthis.parseError = Object.getPrototypeOf(this).parseError;\n\t\t\t}\n\t\t\tfunction popStack(n) {\n\t\t\t\tstack.length = stack.length - 2 * n;\n\t\t\t\tvstack.length = vstack.length - n;\n\t\t\t\tlstack.length = lstack.length - n;\n\t\t\t}\n\t\t\t_token_stack: var lex = function () {\n\t\t\t\tvar token;\n\t\t\t\ttoken = lexer.lex() || EOF;\n\t\t\t\tif (typeof token !== 'number') {\n\t\t\t\t\ttoken = self.symbols_[token] || token;\n\t\t\t\t}\n\t\t\t\treturn token;\n\t\t\t};\n\t\t\tvar symbol,\n\t\t\t\tpreErrorSymbol,\n\t\t\t\tstate,\n\t\t\t\taction,\n\t\t\t\ta,\n\t\t\t\tr,\n\t\t\t\tyyval = {},\n\t\t\t\tp,\n\t\t\t\tlen,\n\t\t\t\tnewState,\n\t\t\t\texpected;\n\t\t\twhile (true) {\n\t\t\t\tstate = stack[stack.length - 1];\n\t\t\t\tif (this.defaultActions[state]) {\n\t\t\t\t\taction = this.defaultActions[state];\n\t\t\t\t} else {\n\t\t\t\t\tif (symbol === null || typeof symbol == 'undefined') {\n\t\t\t\t\t\tsymbol = lex();\n\t\t\t\t\t}\n\t\t\t\t\taction = table[state] && table[state][symbol];\n\t\t\t\t}\n\t\t\t\tif (typeof action === 'undefined' || !action.length || !action[0]) {\n\t\t\t\t\tvar errStr = '';\n\t\t\t\t\texpected = [];\n\t\t\t\t\tfor (p in table[state]) {\n\t\t\t\t\t\tif (this.terminals_[p] && p > TERROR) {\n\t\t\t\t\t\t\texpected.push(\"'\" + this.terminals_[p] + \"'\");\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (lexer.showPosition) {\n\t\t\t\t\t\terrStr =\n\t\t\t\t\t\t\t'Parse error on line ' +\n\t\t\t\t\t\t\t(yylineno + 1) +\n\t\t\t\t\t\t\t':\\n' +\n\t\t\t\t\t\t\tlexer.showPosition() +\n\t\t\t\t\t\t\t'\\nExpecting ' +\n\t\t\t\t\t\t\texpected.join(', ') +\n\t\t\t\t\t\t\t\", got '\" +\n\t\t\t\t\t\t\t(this.terminals_[symbol] || symbol) +\n\t\t\t\t\t\t\t\"'\";\n\t\t\t\t\t} else {\n\t\t\t\t\t\terrStr =\n\t\t\t\t\t\t\t'Parse error on line ' +\n\t\t\t\t\t\t\t(yylineno + 1) +\n\t\t\t\t\t\t\t': Unexpected ' +\n\t\t\t\t\t\t\t(symbol == EOF ? 'end of input' : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n\t\t\t\t\t}\n\t\t\t\t\tthis.parseError(errStr, {\n\t\t\t\t\t\ttext: lexer.match,\n\t\t\t\t\t\ttoken: this.terminals_[symbol] || symbol,\n\t\t\t\t\t\tline: lexer.yylineno,\n\t\t\t\t\t\tloc: yyloc,\n\t\t\t\t\t\texpected: expected,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif (action[0] instanceof Array && action.length > 1) {\n\t\t\t\t\tthrow new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol);\n\t\t\t\t}\n\t\t\t\tswitch (action[0]) {\n\t\t\t\t\tcase 1:\n\t\t\t\t\t\tstack.push(symbol);\n\t\t\t\t\t\tvstack.push(lexer.yytext);\n\t\t\t\t\t\tlstack.push(lexer.yylloc);\n\t\t\t\t\t\tstack.push(action[1]);\n\t\t\t\t\t\tsymbol = null;\n\t\t\t\t\t\tif (!preErrorSymbol) {\n\t\t\t\t\t\t\tyyleng = lexer.yyleng;\n\t\t\t\t\t\t\tyytext = lexer.yytext;\n\t\t\t\t\t\t\tyylineno = lexer.yylineno;\n\t\t\t\t\t\t\tyyloc = lexer.yylloc;\n\t\t\t\t\t\t\tif (recovering > 0) {\n\t\t\t\t\t\t\t\trecovering--;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsymbol = preErrorSymbol;\n\t\t\t\t\t\t\tpreErrorSymbol = null;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 2:\n\t\t\t\t\t\tlen = this.productions_[action[1]][1];\n\t\t\t\t\t\tyyval.$ = vstack[vstack.length - len];\n\t\t\t\t\t\tyyval._$ = {\n\t\t\t\t\t\t\tfirst_line: lstack[lstack.length - (len || 1)].first_line,\n\t\t\t\t\t\t\tlast_line: lstack[lstack.length - 1].last_line,\n\t\t\t\t\t\t\tfirst_column: lstack[lstack.length - (len || 1)].first_column,\n\t\t\t\t\t\t\tlast_column: lstack[lstack.length - 1].last_column,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tif (ranges) {\n\t\t\t\t\t\t\tyyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tr = this.performAction.apply(yyval, [yytext, yyleng, yylineno, sharedState.yy, action[1], vstack, lstack].concat(args));\n\t\t\t\t\t\tif (typeof r !== 'undefined') {\n\t\t\t\t\t\t\treturn r;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (len) {\n\t\t\t\t\t\t\tstack = stack.slice(0, -1 * len * 2);\n\t\t\t\t\t\t\tvstack = vstack.slice(0, -1 * len);\n\t\t\t\t\t\t\tlstack = lstack.slice(0, -1 * len);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstack.push(this.productions_[action[1]][0]);\n\t\t\t\t\t\tvstack.push(yyval.$);\n\t\t\t\t\t\tlstack.push(yyval._$);\n\t\t\t\t\t\tnewState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n\t\t\t\t\t\tstack.push(newState);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 3:\n\t\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t};\n\n\tclass Item {\n\t\tconstructor() {\n\t\t\tthis.id = null;\n\t\t\tthis.leftBounds = [];\n\t\t\tthis.rightBounds = [];\n\t\t\tthis.conjunction = null;\n\t\t}\n\n\t\ti(id) {\n\t\t\tthis.id = id;\n\t\t\treturn this;\n\t\t}\n\n\t\tbl(leftBounds) {\n\t\t\tthis.leftBounds = leftBounds;\n\t\t\treturn this;\n\t\t}\n\n\t\tbr(rightBounds) {\n\t\t\tthis.rightBounds = rightBounds;\n\t\t\treturn this;\n\t\t}\n\n\t\tcon(conjunction) {\n\t\t\tthis.conjunction = conjunction;\n\t\t\treturn this;\n\t\t}\n\t}\n\n\tclass Seq {\n\t\tconstructor() {\n\t\t\tthis.body = [];\n\t\t\tthis.tip = new Item();\n\t\t}\n\n\t\tnext() {\n\t\t\tthis.body.push(this.tip);\n\t\t\tthis.tip = new Item();\n\t\t\treturn this;\n\t\t}\n\n\t\ttoJSON() {\n\t\t\treturn this.body;\n\t\t}\n\t}\n\t/* generated by jison-lex 0.3.4 */\n\tvar lexer = (function () {\n\t\tvar lexer = {\n\t\t\tEOF: 1,\n\n\t\t\tparseError: function parseError(str, hash) {\n\t\t\t\tif (this.yy.parser) {\n\t\t\t\t\tthis.yy.parser.parseError(str, hash);\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error(str);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// resets the lexer, sets new input\n\t\t\tsetInput: function (input, yy) {\n\t\t\t\tthis.yy = yy || this.yy || {};\n\t\t\t\tthis._input = input;\n\t\t\t\tthis._more = this._backtrack = this.done = false;\n\t\t\t\tthis.yylineno = this.yyleng = 0;\n\t\t\t\tthis.yytext = this.matched = this.match = '';\n\t\t\t\tthis.conditionStack = ['INITIAL'];\n\t\t\t\tthis.yylloc = {\n\t\t\t\t\tfirst_line: 1,\n\t\t\t\t\tfirst_column: 0,\n\t\t\t\t\tlast_line: 1,\n\t\t\t\t\tlast_column: 0,\n\t\t\t\t};\n\t\t\t\tif (this.options.ranges) {\n\t\t\t\t\tthis.yylloc.range = [0, 0];\n\t\t\t\t}\n\t\t\t\tthis.offset = 0;\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// consumes and returns one char from the input\n\t\t\tinput: function () {\n\t\t\t\tvar ch = this._input[0];\n\t\t\t\tthis.yytext += ch;\n\t\t\t\tthis.yyleng++;\n\t\t\t\tthis.offset++;\n\t\t\t\tthis.match += ch;\n\t\t\t\tthis.matched += ch;\n\t\t\t\tvar lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n\t\t\t\tif (lines) {\n\t\t\t\t\tthis.yylineno++;\n\t\t\t\t\tthis.yylloc.last_line++;\n\t\t\t\t} else {\n\t\t\t\t\tthis.yylloc.last_column++;\n\t\t\t\t}\n\t\t\t\tif (this.options.ranges) {\n\t\t\t\t\tthis.yylloc.range[1]++;\n\t\t\t\t}\n\n\t\t\t\tthis._input = this._input.slice(1);\n\t\t\t\treturn ch;\n\t\t\t},\n\n\t\t\t// unshifts one char (or a string) into the input\n\t\t\tunput: function (ch) {\n\t\t\t\tvar len = ch.length;\n\t\t\t\tvar lines = ch.split(/(?:\\r\\n?|\\n)/g);\n\n\t\t\t\tthis._input = ch + this._input;\n\t\t\t\tthis.yytext = this.yytext.substr(0, this.yytext.length - len);\n\t\t\t\t//this.yyleng -= len;\n\t\t\t\tthis.offset -= len;\n\t\t\t\tvar oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n\t\t\t\tthis.match = this.match.substr(0, this.match.length - 1);\n\t\t\t\tthis.matched = this.matched.substr(0, this.matched.length - 1);\n\n\t\t\t\tif (lines.length - 1) {\n\t\t\t\t\tthis.yylineno -= lines.length - 1;\n\t\t\t\t}\n\t\t\t\tvar r = this.yylloc.range;\n\n\t\t\t\tthis.yylloc = {\n\t\t\t\t\tfirst_line: this.yylloc.first_line,\n\t\t\t\t\tlast_line: this.yylineno + 1,\n\t\t\t\t\tfirst_column: this.yylloc.first_column,\n\t\t\t\t\tlast_column: lines\n\t\t\t\t\t\t? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length\n\t\t\t\t\t\t: this.yylloc.first_column - len,\n\t\t\t\t};\n\n\t\t\t\tif (this.options.ranges) {\n\t\t\t\t\tthis.yylloc.range = [r[0], r[0] + this.yyleng - len];\n\t\t\t\t}\n\t\t\t\tthis.yyleng = this.yytext.length;\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// When called from action, caches matched text and appends it on next action\n\t\t\tmore: function () {\n\t\t\t\tthis._more = true;\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n\t\t\treject: function () {\n\t\t\t\tif (this.options.backtrack_lexer) {\n\t\t\t\t\tthis._backtrack = true;\n\t\t\t\t} else {\n\t\t\t\t\treturn this.parseError(\n\t\t\t\t\t\t'Lexical error on line ' +\n\t\t\t\t\t\t\t(this.yylineno + 1) +\n\t\t\t\t\t\t\t'. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n' +\n\t\t\t\t\t\t\tthis.showPosition(),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: '',\n\t\t\t\t\t\t\ttoken: null,\n\t\t\t\t\t\t\tline: this.yylineno,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// retain first n characters of the match\n\t\t\tless: function (n) {\n\t\t\t\tthis.unput(this.match.slice(n));\n\t\t\t},\n\n\t\t\t// displays already matched input, i.e. for error messages\n\t\t\tpastInput: function () {\n\t\t\t\tvar past = this.matched.substr(0, this.matched.length - this.match.length);\n\t\t\t\treturn (past.length > 20 ? '...' : '') + past.substr(-20).replace(/\\n/g, '');\n\t\t\t},\n\n\t\t\t// displays upcoming input, i.e. for error messages\n\t\t\tupcomingInput: function () {\n\t\t\t\tvar next = this.match;\n\t\t\t\tif (next.length < 20) {\n\t\t\t\t\tnext += this._input.substr(0, 20 - next.length);\n\t\t\t\t}\n\t\t\t\treturn (next.substr(0, 20) + (next.length > 20 ? '...' : '')).replace(/\\n/g, '');\n\t\t\t},\n\n\t\t\t// displays the character position where the lexing error occurred, i.e. for error messages\n\t\t\tshowPosition: function () {\n\t\t\t\tvar pre = this.pastInput();\n\t\t\t\tvar c = new Array(pre.length + 1).join('-');\n\t\t\t\treturn pre + this.upcomingInput() + '\\n' + c + '^';\n\t\t\t},\n\n\t\t\t// test the lexed token: return FALSE when not a match, otherwise return token\n\t\t\ttest_match: function (match, indexed_rule) {\n\t\t\t\tvar token, lines, backup;\n\n\t\t\t\tif (this.options.backtrack_lexer) {\n\t\t\t\t\t// save context\n\t\t\t\t\tbackup = {\n\t\t\t\t\t\tyylineno: this.yylineno,\n\t\t\t\t\t\tyylloc: {\n\t\t\t\t\t\t\tfirst_line: this.yylloc.first_line,\n\t\t\t\t\t\t\tlast_line: this.last_line,\n\t\t\t\t\t\t\tfirst_column: this.yylloc.first_column,\n\t\t\t\t\t\t\tlast_column: this.yylloc.last_column,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tyytext: this.yytext,\n\t\t\t\t\t\tmatch: this.match,\n\t\t\t\t\t\tmatches: this.matches,\n\t\t\t\t\t\tmatched: this.matched,\n\t\t\t\t\t\tyyleng: this.yyleng,\n\t\t\t\t\t\toffset: this.offset,\n\t\t\t\t\t\t_more: this._more,\n\t\t\t\t\t\t_input: this._input,\n\t\t\t\t\t\tyy: this.yy,\n\t\t\t\t\t\tconditionStack: this.conditionStack.slice(0),\n\t\t\t\t\t\tdone: this.done,\n\t\t\t\t\t};\n\t\t\t\t\tif (this.options.ranges) {\n\t\t\t\t\t\tbackup.yylloc.range = this.yylloc.range.slice(0);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n\t\t\t\tif (lines) {\n\t\t\t\t\tthis.yylineno += lines.length;\n\t\t\t\t}\n\t\t\t\tthis.yylloc = {\n\t\t\t\t\tfirst_line: this.yylloc.last_line,\n\t\t\t\t\tlast_line: this.yylineno + 1,\n\t\t\t\t\tfirst_column: this.yylloc.last_column,\n\t\t\t\t\tlast_column: lines\n\t\t\t\t\t\t? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length\n\t\t\t\t\t\t: this.yylloc.last_column + match[0].length,\n\t\t\t\t};\n\t\t\t\tthis.yytext += match[0];\n\t\t\t\tthis.match += match[0];\n\t\t\t\tthis.matches = match;\n\t\t\t\tthis.yyleng = this.yytext.length;\n\t\t\t\tif (this.options.ranges) {\n\t\t\t\t\tthis.yylloc.range = [this.offset, (this.offset += this.yyleng)];\n\t\t\t\t}\n\t\t\t\tthis._more = false;\n\t\t\t\tthis._backtrack = false;\n\t\t\t\tthis._input = this._input.slice(match[0].length);\n\t\t\t\tthis.matched += match[0];\n\t\t\t\ttoken = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n\t\t\t\tif (this.done && this._input) {\n\t\t\t\t\tthis.done = false;\n\t\t\t\t}\n\t\t\t\tif (token) {\n\t\t\t\t\treturn token;\n\t\t\t\t} else if (this._backtrack) {\n\t\t\t\t\t// recover context\n\t\t\t\t\tfor (var k in backup) {\n\t\t\t\t\t\tthis[k] = backup[k];\n\t\t\t\t\t}\n\t\t\t\t\treturn false; // rule action called reject() implying the next rule should be tested instead.\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t},\n\n\t\t\t// return next match in input\n\t\t\tnext: function () {\n\t\t\t\tif (this.done) {\n\t\t\t\t\treturn this.EOF;\n\t\t\t\t}\n\t\t\t\tif (!this._input) {\n\t\t\t\t\tthis.done = true;\n\t\t\t\t}\n\n\t\t\t\tvar token, match, tempMatch, index;\n\t\t\t\tif (!this._more) {\n\t\t\t\t\tthis.yytext = '';\n\t\t\t\t\tthis.match = '';\n\t\t\t\t}\n\t\t\t\tvar rules = this._currentRules();\n\t\t\t\tfor (var i = 0; i < rules.length; i++) {\n\t\t\t\t\ttempMatch = this._input.match(this.rules[rules[i]]);\n\t\t\t\t\tif (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n\t\t\t\t\t\tmatch = tempMatch;\n\t\t\t\t\t\tindex = i;\n\t\t\t\t\t\tif (this.options.backtrack_lexer) {\n\t\t\t\t\t\t\ttoken = this.test_match(tempMatch, rules[i]);\n\t\t\t\t\t\t\tif (token !== false) {\n\t\t\t\t\t\t\t\treturn token;\n\t\t\t\t\t\t\t} else if (this._backtrack) {\n\t\t\t\t\t\t\t\tmatch = false;\n\t\t\t\t\t\t\t\tcontinue; // rule action called reject() implying a rule MISmatch.\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t// else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (!this.options.flex) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (match) {\n\t\t\t\t\ttoken = this.test_match(match, rules[index]);\n\t\t\t\t\tif (token !== false) {\n\t\t\t\t\t\treturn token;\n\t\t\t\t\t}\n\t\t\t\t\t// else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (this._input === '') {\n\t\t\t\t\treturn this.EOF;\n\t\t\t\t} else {\n\t\t\t\t\treturn this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\\n' + this.showPosition(), {\n\t\t\t\t\t\ttext: '',\n\t\t\t\t\t\ttoken: null,\n\t\t\t\t\t\tline: this.yylineno,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// return next match that has a token\n\t\t\tlex: function lex() {\n\t\t\t\tvar r = this.next();\n\t\t\t\tif (r) {\n\t\t\t\t\treturn r;\n\t\t\t\t} else {\n\t\t\t\t\treturn this.lex();\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n\t\t\tbegin: function begin(condition) {\n\t\t\t\tthis.conditionStack.push(condition);\n\t\t\t},\n\n\t\t\t// pop the previously active lexer condition state off the condition stack\n\t\t\tpopState: function popState() {\n\t\t\t\tvar n = this.conditionStack.length - 1;\n\t\t\t\tif (n > 0) {\n\t\t\t\t\treturn this.conditionStack.pop();\n\t\t\t\t} else {\n\t\t\t\t\treturn this.conditionStack[0];\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// produce the lexer rule set which is active for the currently active lexer condition state\n\t\t\t_currentRules: function _currentRules() {\n\t\t\t\tif (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n\t\t\t\t\treturn this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n\t\t\t\t} else {\n\t\t\t\t\treturn this.conditions['INITIAL'].rules;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n\t\t\ttopState: function topState(n) {\n\t\t\t\tn = this.conditionStack.length - 1 - Math.abs(n || 0);\n\t\t\t\tif (n >= 0) {\n\t\t\t\t\treturn this.conditionStack[n];\n\t\t\t\t} else {\n\t\t\t\t\treturn 'INITIAL';\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// alias for begin(condition)\n\t\t\tpushState: function pushState(condition) {\n\t\t\t\tthis.begin(condition);\n\t\t\t},\n\n\t\t\t// return the number of states currently on the stack\n\t\t\tstateStackSize: function stateStackSize() {\n\t\t\t\treturn this.conditionStack.length;\n\t\t\t},\n\t\t\toptions: {},\n\t\t\tperformAction: function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n\t\t\t\tvar YYSTATE = YY_START;\n\t\t\t\tswitch ($avoiding_name_collisions) {\n\t\t\t\t\tcase 0:\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 1:\n\t\t\t\t\t\treturn yy_.yytext;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 2:\n\t\t\t\t\t\treturn 24;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 3:\n\t\t\t\t\t\treturn 5;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t},\n\t\t\trules: [/^(?:\\s+)/, /^(?:([-,.\\[\\]<>{}]))/, /^(?:([a-zA-Z_0-9]+))/, /^(?:$)/],\n\t\t\tconditions: { INITIAL: { rules: [0, 1, 2, 3], inclusive: true } },\n\t\t};\n\t\treturn lexer;\n\t})();\n\tparser.lexer = lexer;\n\tfunction Parser() {\n\t\tthis.yy = {};\n\t}\n\tParser.prototype = parser;\n\tparser.Parser = Parser;\n\treturn new Parser();\n})();\n\n// if (typeof require !== 'undefined' && typeof exports !== 'undefined') {\nexport { parser };\nexport var Parser = parser.Parser;\nexport var parse = function () {\n\treturn parser.parse.apply(parser, arguments);\n};\nexport default { parser: parser, Parser: parser.Parser, parse: parse };\n","import StaffLayout from './staffLayout';\nimport grammar from './grammar.jison';\n\nconst parseCode = (code: string): StaffLayout => {\n\tconst raw = grammar.parse(code);\n\n\treturn new StaffLayout(raw);\n};\n\nexport { parseCode };\n","interface Logger {\n\tdebug(message?: any, ...optionalParams: any[]): void;\n\tinfo(message?: any, ...optionalParams: any[]): void;\n\twarn(message?: any, ...optionalParams: any[]): void;\n\tgroup(...label: any[]): void;\n\tgroupCollapsed(...label: any[]): void;\n\tgroupEnd(): void;\n\tassert(expr: boolean, ...optionalParams: any[]): void;\n}\n\nclass DummyLogger implements Logger {\n\tdebug(..._: any[]): void {}\n\tgroup(..._: any[]): void {}\n\tgroupCollapsed(..._: any[]): void {}\n\tgroupEnd(): void {}\n\tinfo(..._: any[]): void {}\n\twarn(..._: any[]): void {}\n\tassert(..._: any[]): void {}\n}\n\nexport { Logger, DummyLogger };\n","import { Fraction, Pitch, Matrix2x3 } from './interfaces';\nimport { SemanticPoint, CONFLICTION_GROUPS } from './semanticPoint';\n\ntype Point2D = { x: number; y: number };\ntype PointSegment = Point2D[];\n\nconst POINT_CONFLICTION_DISTANCE = 0.4;\n\nconst roundNumber = (x: number, precision: number, min = -Infinity): number => Math.max(Math.round(x / precision) * precision, min);\n\nconst distance2D = (p1: Point2D, p2: Point2D): number => {\n\tconst dx = p1.x - p2.x;\n\tconst dy = p1.y - p2.y;\n\n\treturn Math.sqrt(dx * dx + dy * dy);\n};\n\nconst trans23 = (point: Point2D, matrix: Matrix2x3): Point2D => ({\n\tx: matrix[0] * point.x + matrix[2] * point.y + matrix[4],\n\ty: matrix[1] * point.x + matrix[3] * point.y + matrix[5],\n});\n\nconst gcd = (a: number, b: number): number => {\n\tif (!(Number.isInteger(a) && Number.isInteger(b))) {\n\t\tconsole.error('non-integer gcd:', a, b);\n\t\treturn 1;\n\t}\n\n\treturn b === 0 ? a : gcd(b, a % b);\n};\n\nconst frac = (numerator: number, denominator: number): Fraction => ({ numerator, denominator });\n\nconst reducedFraction = (n: number, d: number): Fraction => {\n\tn = Math.round(n);\n\td = Math.round(d);\n\n\tconst g = n !== 0 ? gcd(n, d) : d;\n\n\treturn frac(n / g, d / g);\n};\n\nconst printFraction = (f: Fraction): string => `${f.numerator}/${f.denominator}`;\n\nconst fractionMul = (value: number, fraction: Fraction): number => (fraction ? (value * fraction.numerator) / fraction.denominator : value);\n\nconst segmentPoints = (points: Point2D[], axis: 'x' | 'y'): PointSegment[] => {\n\tconst sorted = [...points].sort((p1, p2) => p1[axis] - p2[axis]);\n\n\tlet seg: Point2D[] = null;\n\tlet lastP = null;\n\n\treturn sorted.reduce((segments, p, i) => {\n\t\tif (!lastP) {\n\t\t\tlastP = p;\n\t\t\tseg = [p];\n\t\t} else {\n\t\t\tif (p[axis] - lastP[axis] < POINT_CONFLICTION_DISTANCE) seg.push(p);\n\t\t\telse {\n\t\t\t\tif (seg.length > 1) segments.push(seg);\n\t\t\t\tlastP = p;\n\t\t\t\tseg = [p];\n\t\t\t}\n\t\t}\n\n\t\tif (seg.length > 1 && i === sorted.length - 1) segments.push(seg);\n\n\t\treturn segments;\n\t}, []);\n};\n\nconst filterWeekPoints = (points: SemanticPoint[]): SemanticPoint[] => {\n\t//console.log(\"filterWeekPoints:\", points.map(p => `${p.semantic}, ${p.x}, ${p.y}`));\n\t//console.table(points.map(p => ({ ...p })));\n\n\tif (points.length <= 1) return [];\n\n\tlet rests = points.slice(1);\n\tconst group = CONFLICTION_GROUPS.find((group) => group.includes(points[0].semantic));\n\tif (!group) return filterWeekPoints(rests);\n\n\tconst weeks = rests.filter((p) => group.includes(p.semantic));\n\trests = rests.filter((p) => !group.includes(p.semantic));\n\n\treturn [...weeks, ...filterWeekPoints(rests)];\n};\n\nconst solveOverlapping = (points: SemanticPoint[]): SemanticPoint[] => {\n\tconst pset = new Set(points);\n\n\tconst xClusters = segmentPoints(points, 'x');\n\tconst clusters: SemanticPoint[][] = [].concat(...xClusters.map((c) => segmentPoints(c, 'y')));\n\tclusters.forEach((ps) => ps.sort((p1, p2) => p2.confidence - p1.confidence));\n\n\tclusters.forEach((ps) => {\n\t\tfilterWeekPoints(ps).forEach((p) => pset.delete(p));\n\t});\n\n\treturn Array.from(pset);\n};\n\nconst GROUP_N_TO_PITCH = [0, 2, 4, 5, 7, 9, 11];\nconst MIDDLE_C = 60;\n\nconst mod7 = (x) => {\n\tlet y = x % 7;\n\twhile (y < 0) y += 7;\n\n\treturn y;\n};\n\nconst mod12 = (x) => {\n\tlet y = x % 12;\n\twhile (y < 0) y += 12;\n\n\treturn y;\n};\n\nconst noteToPitch = ({ note, alter }: Pitch): number => {\n\tconst group = Math.floor(note / 7);\n\tconst gn = mod7(note);\n\n\treturn MIDDLE_C + group * 12 + GROUP_N_TO_PITCH[gn] + alter;\n};\n\nconst argmax = (data: number[]): number => {\n\tconst max = Math.max(...data);\n\n\treturn data.indexOf(max);\n};\n\nexport {\n\tPoint2D,\n\troundNumber,\n\tdistance2D,\n\ttrans23,\n\tsolveOverlapping,\n\tgcd,\n\tfrac,\n\treducedFraction,\n\tprintFraction,\n\tfractionMul,\n\tGROUP_N_TO_PITCH,\n\tMIDDLE_C,\n\tmod7,\n\tmod12,\n\tnoteToPitch,\n\targmax,\n};\n","import { Fraction, Pitch, EventFeature, EventPredisposition } from './interfaces';\nimport { gcd, reducedFraction } from './utils';\nimport { TokenType } from './token';\nimport * as Token from './token';\nimport { SimpleClass } from './aux_/typedJSON';\n\nconst WHOLE_DURATION = 128 * 3 * 5;\nconst WHOLE_EXP2 = WHOLE_DURATION / 15;\n\nenum AccessoryDirection {\n\tUp = '^',\n\tDown = '_',\n\tMiddle = '-',\n}\n\nenum GraceType {\n\tGrace = 'grace',\n\tAfterGrace = 'afterGrace',\n\tAcciaccatura = 'acciaccatura',\n\tAppoggiatura = 'appoggiatura',\n\tSlashedGrace = 'slashedGrace',\n}\n\nenum StemBeam {\n\tOpen = 'Open',\n\tClose = 'Close',\n\tContinue = 'Continue',\n}\n\nenum TremoloLink {\n\tPitcher = 'Pitcher',\n\tCatcher = 'Catcher',\n\tPierced = 'Pierced',\n}\n\nenum GlissandoStyle {\n\tNormal = 'normal',\n\tDashedLine = 'dashed-line',\n\tDottedLine = 'dotted-line',\n\tZigzag = 'zigzag',\n\tTrill = 'trill',\n}\n\nenum ArpeggioStyle {\n\tNormal = 'Normal',\n\tBracket = 'Bracket',\n\tParenthesis = 'Parenthesis',\n\tParenthesisDashed = 'ParenthesisDashed',\n\tArrowDown = 'ArrowDown',\n}\n\ninterface Accessory {\n\tdirection?: AccessoryDirection;\n\tparenthesized?: boolean;\n\ttype: TokenType;\n\tid?: string;\n\tx: number;\n}\n\ninterface TermPitch extends Pitch {\n\ttying?: boolean;\n\ttied?: boolean;\n\tparenthesized?: boolean;\n\toctaveShift?: number;\n}\n\nclass Term extends SimpleClass {\n\tx: number;\n\tstaff?: number;\n}\n\ntype RestType = 'r' | 'R' | 's' | null;\n\ninterface DurationalTerm {\n\tdivision: number;\n\tdots: number;\n\tmultiplier?: Fraction;\n}\n\nconst SCALE_NAMES = 'CDEFGAB';\n\nclass EventTerm extends Term implements DurationalTerm {\n\tstatic className = 'EventTerm';\n\n\tleft: number;\n\tright: number;\n\tpivotX: number;\n\n\tsystem: number;\n\troundX: number; // for tick map, scheduler\n\tintX: number; // for measure hash\n\tintY: number;\n\tys: number[]; // order by ascending pitch, low (greater Y) to high (less Y)\n\tpitches?: TermPitch[];\n\trest: RestType;\n\tdivision: number;\n\tdots: number;\n\taccessories: Accessory[];\n\tmultiplier: Fraction;\n\tstemDirection: string;\n\ttying: boolean;\n\ttied: boolean;\n\trepetitionChord: boolean;\n\tgrace?: GraceType;\n\tbeam?: StemBeam;\n\ttimeWarp?: Fraction;\n\tparenthesized?: boolean;\n\ttremolo?: number; // like division, 'number of beams' + 2\n\ttremoloLink?: TremoloLink;\n\tglissando?: boolean;\n\tglissandoStyle?: GlissandoStyle;\n\tarpeggioStyle?: ArpeggioStyle;\n\ttip?: { x: number; y: number };\n\n\ttick: number;\n\n\t// for topology\n\tid?: number;\n\tprevId?: number;\n\ttickGroup?: number;\n\n\tfeature: EventFeature;\n\tpredisposition: EventPredisposition;\n\n\tgraceIds?: number[];\n\tcatcherId?: number; // tremolo catcher event ID for tremolo pitcher event\n\n\tnoteIds?: string[]; // order by upwards\n\n\tstatic space({ tick, duration }: { tick: number; duration: number }): EventTerm {\n\t\tconst term = new EventTerm({\n\t\t\trest: 's',\n\t\t\ttick,\n\t\t\taccessories: [],\n\t\t});\n\t\tterm.duration = Math.round(duration);\n\n\t\treturn term;\n\t}\n\n\tconstructor(data: any) {\n\t\tsuper();\n\t\tsuper.assign(data);\n\n\t\tObject.assign(this, data);\n\n\t\tif (Number.isFinite(data.left) && Number.isFinite(data.right)) this.x = (this.left + this.right) / 2;\n\t\tif (!Number.isFinite(this.pivotX)) this.pivotX = this.x;\n\t\t//console.assert(Number.isFinite(this.x), \"EventTerm: invalid x,\", data);\n\t}\n\n\tget alignedTick(): number {\n\t\treturn this.grace ? this.tick + this.duration : this.tick;\n\t}\n\n\tget mainDuration(): number {\n\t\treturn WHOLE_DURATION * 2 ** -this.division * (2 - 2 ** -this.dots);\n\t}\n\n\tget duration(): number {\n\t\tlet value = this.mainDuration;\n\t\tif (this.multiplier) value *= this.multiplier.numerator / this.multiplier.denominator;\n\t\tif (this.timeWarp) value *= this.timeWarp.numerator / this.timeWarp.denominator;\n\n\t\treturn this.grace ? value / 8 : value;\n\t}\n\n\tset duration(value: number) {\n\t\tconsole.assert(Number.isFinite(value), 'invalid duration value:', value);\n\n\t\tconst divider = gcd(value, WHOLE_EXP2);\n\t\tconst division = Math.log2(WHOLE_EXP2 / divider);\n\t\tconst multiplier = reducedFraction(value * 2 ** division, WHOLE_DURATION);\n\n\t\tthis.division = division;\n\t\tthis.dots = 0;\n\n\t\tif (multiplier.numerator !== multiplier.denominator) this.multiplier = multiplier;\n\t\telse this.multiplier = undefined;\n\t}\n\n\tget prior(): number {\n\t\treturn this.tick;\n\t}\n\n\tget times(): string {\n\t\tif (!this.timeWarp) return null;\n\n\t\treturn `${this.timeWarp.numerator}/${this.timeWarp.denominator}`;\n\t}\n\n\tget fullMeasureRest(): boolean {\n\t\treturn this.rest === 'R';\n\t}\n\n\tget tipX(): number {\n\t\treturn this.tip ? this.tip.x : this.x;\n\t}\n\n\tget tipY(): number {\n\t\treturn this.tip ? this.tip.y : this.ys ? this.ys[0] : 0;\n\t}\n\n\tget tremoloCatcher(): boolean {\n\t\treturn this.tremoloLink === TremoloLink.Catcher;\n\t}\n\n\tget scaleChord(): string {\n\t\treturn this.pitches.map((pitch) => SCALE_NAMES[(pitch.note + 700) % 7]).join('');\n\t}\n\n\tget zeroHolder(): boolean {\n\t\treturn !!this.grace || this.tremoloCatcher;\n\t}\n}\n\nenum ContextType {\n\tClef,\n\tKeyAcc,\n\tAcc,\n\tOctaveShift,\n\tTimeSignatureC,\n\tTimeSignatureN,\n}\n\nclass ContextedTerm extends Term {\n\tstatic className = 'ContextedTerm';\n\n\ty: number;\n\ttokenType: TokenType;\n\n\ttick: number;\n\n\tconstructor(data: any) {\n\t\tsuper();\n\n\t\tObject.assign(this, data);\n\t}\n\n\tget type(): ContextType {\n\t\tif (Token.TokenClefs.includes(this.tokenType)) return ContextType.Clef;\n\t\tif (/\\|key-/.test(this.tokenType)) return ContextType.KeyAcc;\n\t\tif (/accidentals-/.test(this.tokenType)) return ContextType.Acc;\n\t\tif (Token.TokenOctshifts.includes(this.tokenType)) return ContextType.OctaveShift;\n\t\tif (Token.TokenTimesigsC.includes(this.tokenType)) return ContextType.TimeSignatureC;\n\t\tif (Token.TokenTimesigsN.includes(this.tokenType)) return ContextType.TimeSignatureN;\n\n\t\treturn null;\n\t}\n\n\tget staffLevel(): boolean {\n\t\treturn [ContextType.OctaveShift, ContextType.Clef, ContextType.KeyAcc].includes(this.type);\n\t}\n\n\tget prior(): number {\n\t\treturn this.tick - 0.1;\n\t}\n\n\tget clef(): number {\n\t\tswitch (this.tokenType) {\n\t\t\tcase TokenType.ClefG:\n\t\t\t\treturn -this.y - 2;\n\n\t\t\tcase TokenType.ClefF:\n\t\t\t\treturn -this.y + 2;\n\n\t\t\tcase TokenType.ClefC:\n\t\t\t\treturn -this.y;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tget alter() {\n\t\tswitch (this.tokenType) {\n\t\t\tcase TokenType.AccNatural:\n\t\t\tcase TokenType.KeyNatural:\n\t\t\t\treturn 0;\n\n\t\t\tcase TokenType.AccSharp:\n\t\t\tcase TokenType.KeySharp:\n\t\t\t\treturn 1;\n\n\t\t\tcase TokenType.AccFlat:\n\t\t\tcase TokenType.KeyFlat:\n\t\t\t\treturn -1;\n\n\t\t\tcase TokenType.AccDoublesharp:\n\t\t\t\treturn 2;\n\n\t\t\tcase TokenType.AccFlatflat:\n\t\t\t\treturn -2;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tget octaveShift(): number {\n\t\tswitch (this.tokenType) {\n\t\t\tcase TokenType.OctaveShift8va:\n\t\t\t\treturn -1;\n\n\t\t\tcase TokenType.OctaveShift0:\n\t\t\t\treturn 0;\n\n\t\t\tcase TokenType.OctaveShift8vb:\n\t\t\t\treturn 1;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tget number(): number {\n\t\tswitch (this.tokenType) {\n\t\t\tcase TokenType.TimesigZero:\n\t\t\t\treturn 0;\n\t\t\tcase TokenType.TimesigOne:\n\t\t\t\treturn 1;\n\t\t\tcase TokenType.TimesigTwo:\n\t\t\t\treturn 2;\n\t\t\tcase TokenType.TimesigThree:\n\t\t\t\treturn 3;\n\t\t\tcase TokenType.TimesigFour:\n\t\t\t\treturn 4;\n\t\t\tcase TokenType.TimesigFive:\n\t\t\t\treturn 5;\n\t\t\tcase TokenType.TimesigSix:\n\t\t\t\treturn 6;\n\t\t\tcase TokenType.TimesigSeven:\n\t\t\t\treturn 7;\n\t\t\tcase TokenType.TimesigEight:\n\t\t\t\treturn 8;\n\t\t\tcase TokenType.TimesigNine:\n\t\t\t\treturn 9;\n\t\t}\n\n\t\treturn null;\n\t}\n}\n\n//class BreakTerm extends Term {\n//};\n\nclass MarkTerm extends Term {\n\tstatic className = 'MarkTerm';\n\n\ttick: number;\n\n\tget prior(): number {\n\t\treturn this.tick + 0.01;\n\t}\n}\n\nconst MUSIC_NOTES = Array(7)\n\t.fill(0)\n\t.map((_, i) => String.fromCodePoint(0x1d15d + i));\n\nclass TempoTerm extends MarkTerm {\n\tstatic className = 'TempoTerm';\n\n\tduration: string;\n\tbeats: string;\n\n\tstatic fromNumeralText(text: string): TempoTerm {\n\t\tif (/.+=.*\\d+/.test(text)) {\n\t\t\tconst [symbol, value] = text.split('=');\n\t\t\tlet division = MUSIC_NOTES.findIndex((n) => symbol.includes(n));\n\t\t\tdivision = division >= 0 ? division : 2;\n\t\t\tlet duration = (2 ** division).toString();\n\t\t\tif (symbol.includes('.')) duration += '.';\n\n\t\t\treturn new TempoTerm({ tick: 0, duration, beats: value });\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tconstructor(data: any) {\n\t\tsuper();\n\n\t\tObject.assign(this, data);\n\t}\n\n\tget prior(): number {\n\t\treturn this.tick - 0.01;\n\t}\n\n\t// a whole note equal to 1920\n\tget durationMagnitude(): number {\n\t\tconst [_, den, dot] = this.duration.match(/^(\\d+)(\\.)?$/);\n\t\tconst magnitude = (WHOLE_DURATION / Number(den)) * (dot ? 1.5 : 1);\n\n\t\treturn magnitude;\n\t}\n\n\t// beats per minute, suppose 1 beat = 480 ticks\n\tget bpm(): number {\n\t\tconst [number] = this.beats.match(/\\d+/) || [90];\n\t\tconst beats = Number(number);\n\n\t\treturn (beats * this.durationMagnitude * 4) / WHOLE_DURATION;\n\t}\n\n\tisValid(range = [10, 400]): boolean {\n\t\tconst bpm = this.bpm;\n\n\t\treturn Number.isFinite(this.bpm) && bpm >= range[0] && bpm < range[1];\n\t}\n}\n\nclass GlyphTerm extends MarkTerm {\n\tstatic className = 'GlyphTerm';\n\n\tglyph: string;\n\n\tconstructor(data: any) {\n\t\tsuper();\n\n\t\tObject.assign(this, data);\n\t}\n}\n\nclass TextTerm extends MarkTerm {\n\tstatic className = 'TextTerm';\n\n\tdirection?: AccessoryDirection;\n\ttext: string;\n\tbold: boolean;\n\titalic: boolean;\n\n\tconstructor(data: any) {\n\t\tsuper();\n\n\t\tObject.assign(this, data);\n\t}\n}\n\nclass LyricTerm extends MarkTerm {\n\tstatic className = 'LyricTerm';\n\n\ttext: string;\n\n\tconstructor(data: any) {\n\t\tsuper();\n\n\t\tObject.assign(this, data);\n\t}\n}\n\nclass CommandTerm extends MarkTerm {\n\tstatic className = 'CommandTerm';\n\n\tcommand: string;\n\tparameters: string[];\n\n\tconstructor(data: any) {\n\t\tsuper();\n\n\t\tObject.assign(this, data);\n\t}\n}\n\nclass ChordmodeTerm extends Term implements DurationalTerm {\n\tstatic className = 'ChordmodeTerm';\n\n\tpitch: Pitch;\n\tbasePitch?: Pitch;\n\tmodifier?: string;\n\n\tdivision: number;\n\tdots: number;\n\tmultiplier: Fraction;\n\n\ttick: number;\n\n\tconstructor(data: any) {\n\t\tsuper();\n\n\t\tObject.assign(this, data);\n\t}\n\n\tget prior(): number {\n\t\treturn this.tick;\n\t}\n\n\tget duration(): number {\n\t\tconst value = WHOLE_DURATION * 2 ** -this.division * (2 - 2 ** -this.dots);\n\t\tif (this.multiplier) return (value * this.multiplier.numerator) / this.multiplier.denominator;\n\n\t\treturn value;\n\t}\n}\n\nexport {\n\tTerm,\n\tEventTerm,\n\tContextedTerm,\n\t//BreakTerm,\n\tMarkTerm,\n\tTempoTerm,\n\tGlyphTerm,\n\tTextTerm,\n\tLyricTerm,\n\tCommandTerm,\n\tChordmodeTerm,\n\tDurationalTerm,\n\tContextType,\n\tGraceType,\n\tTermPitch,\n\tRestType,\n\tGlissandoStyle,\n\tArpeggioStyle,\n\tAccessory,\n\tAccessoryDirection,\n\tWHOLE_DURATION,\n\tStemBeam,\n\tTremoloLink,\n};\n","import { fractionMul, gcd } from './utils';\nimport { SpartitoMeasure } from './spartitoMeasure';\nimport { StemBeam, WHOLE_DURATION } from './term';\n\nexport interface MeasureEvaluation {\n\tevents: number;\n\tvalidEvents: number;\n\tvoiceRugged: boolean;\n\tnullEvents: number;\n\tfakeEvents: number;\n\twarpedEvents: number;\n\tcomplicatedTimewarp: boolean;\n\tspaceTime: number;\n\tsurplusTime: number;\n\tdurationRate: number;\n\tbeamBroken: boolean;\n\tfractionalWarp: boolean;\n\tirregularWarpsN: number;\n\tirregularTick: boolean;\n\ttickTwist: number;\n\ttickOverlapped: boolean;\n\tgraceInVoice: boolean;\n\tgraceN: number;\n\tgraceDominant: boolean;\n\tperfect: boolean;\n\tfine: boolean;\n\terror: boolean;\n\tqualityScore: number;\n}\n\nconst BEAM_STATUS = {\n\t[StemBeam.Open]: 1,\n\t[StemBeam.Continue]: 0,\n\t[StemBeam.Close]: -1,\n};\n\nexport const evaluateMeasure = (measure: SpartitoMeasure): MeasureEvaluation => {\n\tif (!measure.regulated) return undefined;\n\n\tconst eventMap = measure.eventMap;\n\n\tconst events = measure.events.length;\n\tconst validEvents = measure.voices.flat(1).length;\n\tconst warpedEvents = measure.events.filter((e) => e.timeWarp).length;\n\tconst warps = new Set(\n\t\tmeasure.events.filter((e) => e.timeWarp && !(e.rest && e.division === 0)).map((e) => `${e.timeWarp!.numerator}/${e.timeWarp!.denominator}`)\n\t);\n\tconst irregularWarps = new Set(warps);\n\tirregularWarps.delete('2/3');\n\n\tconst fractionalWarp = measure.voices.some((voice) => {\n\t\tconst events = voice.map((id) => eventMap[id]);\n\t\tif (!events.some((e) => e.timeWarp)) return false;\n\n\t\tlet denominator = 0;\n\t\tlet tickSum = 0;\n\t\tlet eventN = 0;\n\t\treturn events.some((event, i) => {\n\t\t\tconst d = event.timeWarp ? event.timeWarp.denominator : 0;\n\t\t\tif (d !== denominator) {\n\t\t\t\tif (denominator > 0 && (tickSum % denominator || eventN < 2)) return true;\n\n\t\t\t\ttickSum = 0;\n\t\t\t\teventN = 0;\n\t\t\t}\n\n\t\t\tdenominator = d;\n\t\t\ttickSum += event.duration;\n\t\t\t++eventN;\n\n\t\t\tif (i === events.length - 1) {\n\t\t\t\tif (denominator > 0 && (tickSum % denominator || eventN < 2)) return true;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t});\n\t});\n\n\tconst tickOverlapped = measure.voices.some((voice) => {\n\t\tconst events = voice.map((id) => eventMap[id]);\n\t\tlet tick = 0;\n\t\treturn events.some((event) => {\n\t\t\tif (event.grace) return false;\n\n\t\t\tif (event.tick < tick) return true;\n\t\t\ttick = event.tick + event.duration;\n\n\t\t\treturn false;\n\t\t});\n\t});\n\n\tconst fractionalTimes = new Set(measure.events.filter((e) => e.timeWarp && e.timeWarp.denominator > 3).map((e) => e.duration));\n\tconst complicatedTimewarp = fractionalTimes.size > 1;\n\n\tconst literalDuration = fractionMul(WHOLE_DURATION, measure.timeSignature);\n\tconst sigDuration = measure.doubtfulTimesig ? measure.duration : literalDuration;\n\n\tconst inVoiceEvents = measure.voices.flat(1).map((id) => eventMap[id]);\n\n\t// Guard: detect corrupted event data in voices (e.g. missing division, NaN tick)\n\tconst corruptedVoiceEvent = inVoiceEvents.some(\n\t\t(event) =>\n\t\t\t!event ||\n\t\t\t!Number.isFinite(event.tick) ||\n\t\t\t!Number.isFinite(event.division) ||\n\t\t\tevent.division < 0 ||\n\t\t\t!Number.isFinite(event.duration) ||\n\t\t\tevent.duration <= 0\n\t);\n\n\tconst overranged = inVoiceEvents.reduce((over, event) => over || event.tick < 0 || event.tick + event.duration > sigDuration, false);\n\tconst overDuration = measure.duration > literalDuration;\n\tconst graceInVoice = inVoiceEvents.some((event) => event.grace);\n\tconst graceN = measure.events.filter((e) => e.grace).length;\n\tconst graceDominant = graceN >= inVoiceEvents.length;\n\n\tconst irregularTick = inVoiceEvents.some((event) => {\n\t\tlet t = event.tick * 2 ** (event.division + 2);\n\t\tif (event.timeWarp) t *= event.timeWarp.denominator;\n\n\t\tif (!Number.isFinite(t)) return true;\n\n\t\tconst fragment = gcd(Math.round(t), WHOLE_DURATION);\n\t\t//if (fragment < WHOLE_DURATION)\n\t\t//\tconsole.log(\"irregularTick:\", event.tick, fragment);\n\t\treturn fragment < WHOLE_DURATION;\n\t});\n\n\tconst beamStatus = measure.voices!.map((voice) =>\n\t\tvoice.reduce(\n\t\t\t({ status, broken }, ei) => {\n\t\t\t\tconst event = eventMap[ei];\n\t\t\t\tif (event.beam) {\n\t\t\t\t\tstatus += BEAM_STATUS[event.beam];\n\t\t\t\t\tbroken = broken || !(status >= 0 && status <= 1);\n\t\t\t\t}\n\n\t\t\t\treturn { status, broken };\n\t\t\t},\n\t\t\t{ status: 0, broken: false }\n\t\t)\n\t);\n\tconst beamBroken = beamStatus.some(({ status, broken }) => status || broken);\n\tlet spaceTime = 0;\n\tlet surplusTime = 0;\n\tmeasure.voices!.forEach((voice) => {\n\t\tconst eventDuration = voice.reduce((sum, ei) => sum + eventMap[ei].duration, 0);\n\t\tspaceTime += Math.max(0, measure.duration - eventDuration);\n\t\tsurplusTime += Math.max(0, eventDuration - measure.duration);\n\t});\n\tspaceTime /= WHOLE_DURATION;\n\tconst nullEvents = measure.events.filter(\n\t\t(e) => !e.grace && !e.fullMeasureRest && !e.tremoloCatcher && (!e.predisposition || e.predisposition.fakeP < 0.1) && !Number.isFinite(e.tick)\n\t).length;\n\n\tconst fakeEvents = measure.events.filter(\n\t\t(event) => !event.fullMeasureRest && !event.grace && !event.tremoloCatcher && !inVoiceEvents.includes(event)\n\t).length;\n\n\tconst { voiceRugged } = measure.voices!.flat(1).reduce(\n\t\t(result, ei) => {\n\t\t\tif (!result.voiceRugged) {\n\t\t\t\tif (result.es.has(ei)) return { voiceRugged: true, es: result.es };\n\t\t\t}\n\n\t\t\tresult.es.add(ei);\n\n\t\t\treturn result;\n\t\t},\n\t\t{ voiceRugged: false, es: new Set() }\n\t);\n\n\tconst tickTwist = measure.tickTwist || 0;\n\n\tconst error =\n\t\tcorruptedVoiceEvent ||\n\t\ttickTwist >= 1 ||\n\t\ttickOverlapped ||\n\t\tvoiceRugged ||\n\t\tmeasure.tickRatesInStaves.some((rate) => rate < 0) ||\n\t\tnullEvents > 2 ||\n\t\t!measure.timeSignature ||\n\t\toverranged ||\n\t\tmeasure.duration > sigDuration ||\n\t\tmeasure.events.some((event) => event.timeWarp && event.timeWarp.numerator / event.timeWarp.denominator <= 0.5);\n\tconst perfect =\n\t\t!error &&\n\t\t!overDuration &&\n\t\ttickTwist < 0.2 &&\n\t\t!fractionalWarp &&\n\t\t!irregularWarps.size &&\n\t\t!irregularTick &&\n\t\t!spaceTime &&\n\t\t!surplusTime &&\n\t\t!!measure.voices!.length &&\n\t\t!beamBroken &&\n\t\t!graceInVoice &&\n\t\t!graceDominant &&\n\t\t(measure.duration === sigDuration || (Number.isFinite(measure.estimatedDuration) && measure.estimatedDuration <= sigDuration * 0.75));\n\tconst fine = !error && !overDuration && tickTwist < 0.3 && !fractionalWarp && !irregularTick && !surplusTime && !beamBroken && !graceInVoice;\n\n\tlet expectDuration = Math.min(sigDuration, WHOLE_DURATION * 2);\n\tif (Number.isFinite(measure.estimatedDuration)) expectDuration = Math.max(0, Math.min(expectDuration, measure.estimatedDuration));\n\tconst durationRate = measure.duration / expectDuration;\n\n\tlet qualityScore = 0;\n\tif (measure.patched && !corruptedVoiceEvent) qualityScore = 1;\n\telse if (!error) {\n\t\tconst spaceLoss = Math.tanh(Math.abs(spaceTime / Math.max(1, measure.voices.length)) * 1);\n\n\t\tlet expectDuration = Math.min(sigDuration, WHOLE_DURATION * 2);\n\t\tif (Number.isFinite(measure.estimatedDuration)) expectDuration = Math.max(0, Math.min(expectDuration, measure.estimatedDuration));\n\t\tconst durationLoss = expectDuration ? Math.max(0, 1 - durationRate) ** 2 : 0;\n\t\tconst warpsLoss = Math.tanh(irregularWarps.size);\n\n\t\tqualityScore = (1 - spaceLoss) * (1 - durationLoss) * (1 - warpsLoss) * (1 - tickTwist ** 2);\n\t}\n\n\treturn {\n\t\tevents,\n\t\tvalidEvents,\n\t\tvoiceRugged,\n\t\tnullEvents,\n\t\tfakeEvents,\n\t\twarpedEvents,\n\t\tcomplicatedTimewarp,\n\t\tspaceTime,\n\t\tsurplusTime,\n\t\tdurationRate,\n\t\tbeamBroken,\n\t\tfractionalWarp,\n\t\tirregularWarpsN: irregularWarps.size,\n\t\tirregularTick,\n\t\ttickTwist,\n\t\ttickOverlapped,\n\t\tgraceInVoice,\n\t\tgraceN,\n\t\tgraceDominant,\n\t\tperfect,\n\t\tfine,\n\t\terror,\n\t\tqualityScore,\n\t};\n};\n","//import { staffSvg } from \"@kelvinnxu/lotus\";\n\nimport { SemanticType, SemanticPoint, /*glyphSemanticMapping, glyphCenters,*/ SYSTEM_SEMANTIC_TYPES, Point } from './semanticPoint';\nimport { SimpleClass } from './aux_/typedJSON';\n\nclass SemanticGraph extends SimpleClass {\n\tstatic className = 'SemanticGraph';\n\n\tpoints: SemanticPoint[];\n\n\tconstructor(data?: any) {\n\t\tsuper();\n\t\tsuper.assign(data);\n\t}\n\t/*static fromSheetStaff(staff: staffSvg.SheetStaff, hashTable: {[key: string]: any}): SemanticGraph {\n\t\tconst tokens = [].concat(...staff.measures.map(measure => measure.tokens));\n\n\t\tconst voltaRightXs = [];\n\n\t\tconst points = [];\n\t\ttokens.forEach(token => {\n\t\t\tconst def = hashTable[token.hash];\n\n\t\t\tif (token.glyph) {\n\t\t\t\tconst glyph = token.glyph as string;\n\t\t\t\tlet semantic = null;\n\n\t\t\t\tconst isKey = /^\\\\key/.test(token.source) || token.is(\"KEY\");\n\t\t\t\tlet { x: cx = 0, y: cy = 0 } = glyphCenters[glyph] || { x: 0, y: 0 };\n\t\t\t\tif (token.scale2) {\n\t\t\t\t\tcx *= token.scale2.x;\n\t\t\t\t\tcy *= token.scale2.y;\n\t\t\t\t}\n\n\t\t\t\tlet x = token.x + cx;\n\t\t\t\tconst y = token.y + cy;\n\n\t\t\t\tswitch (glyph) {\n\t\t\t\tcase \"rests.0\":\n\t\t\t\t\tif (/^R/.test(token.source))\n\t\t\t\t\t\tsemantic = \"Rest0W\";\n\t\t\t\t\telse\n\t\t\t\t\t\tsemantic = \"Rest0\";\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"accidentals.flat\":\n\t\t\t\t\tsemantic = glyphSemanticMapping[glyph];\n\t\t\t\t\tif (isKey) {\n\t\t\t\t\t\tpoints.push({\n\t\t\t\t\t\t\tsemantic: SemanticType.KeyAcc,\n\t\t\t\t\t\t\tx,\n\t\t\t\t\t\t\ty,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"accidentals.natural\":\n\t\t\t\t\tsemantic = glyphSemanticMapping[glyph];\n\t\t\t\t\tif (isKey) {\n\t\t\t\t\t\tpoints.push({\n\t\t\t\t\t\t\tsemantic: SemanticType.KeyAcc,\n\t\t\t\t\t\t\tx,\n\t\t\t\t\t\t\ty,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"accidentals.sharp\":\n\t\t\t\t\tsemantic = glyphSemanticMapping[glyph];\n\t\t\t\t\tif (isKey) {\n\t\t\t\t\t\tpoints.push({\n\t\t\t\t\t\t\tsemantic: SemanticType.KeyAcc,\n\t\t\t\t\t\t\tx,\n\t\t\t\t\t\t\ty,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"dots.dot\":\n\t\t\t\t\tif (token.is(\"VOLTA\")) {\n\t\t\t\t\t\tx += 0.24;\t// dot glyph center X offset\n\t\t\t\t\t\tif (token.is(\"LEFT\"))\n\t\t\t\t\t\t\tsemantic = SemanticType.VoltaLeft;\n\t\t\t\t\t\telse if (token.is(\"RIGHT\")) {\n\t\t\t\t\t\t\tvoltaRightXs.push(x);\n\t\t\t\t\t\t\tsemantic = SemanticType.VoltaRight;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t\tsemantic = \"Dot\";\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"zero\":\n\t\t\t\tcase \"one\":\n\t\t\t\tcase \"two\":\n\t\t\t\tcase \"three\":\n\t\t\t\tcase \"four\":\n\t\t\t\tcase \"five\":\n\t\t\t\tcase \"six\":\n\t\t\t\tcase \"seven\":\n\t\t\t\tcase \"eight\":\n\t\t\t\tcase \"nine\": {\n\t\t\t\t\tconst upper = glyph[0].toUpperCase() + glyph.substr(1);\n\t\t\t\t\tsemantic = token.is(\"TIME_SIG\") ? \"Timesig\" + upper : upper;\n\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tsemantic = glyphSemanticMapping[glyph];\n\t\t\t\t}\n\n\t\t\t\tif (semantic) {\n\t\t\t\t\tpoints.push({\n\t\t\t\t\t\tsemantic,\n\t\t\t\t\t\tx,\n\t\t\t\t\t\ty,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (token.is(\"TEMPO_NOTEHEAD\")) {\n\t\t\t\t\tpoints.push({\n\t\t\t\t\t\tsemantic: SemanticType.TempoNotehead,\n\t\t\t\t\t\tx,\n\t\t\t\t\t\ty,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t// grace noteheads\n\t\t\t\tif (token.is(\"NOTEHEAD\") && Number.isFinite(token.scale) && token.scale < 0.75) {\n\t\t\t\t\tpoints.push({\n\t\t\t\t\t\tsemantic: SemanticType.GraceNotehead,\n\t\t\t\t\t\tx,\n\t\t\t\t\t\ty,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// semantic from token symbol\n\t\t\tlet semantic = null;\n\t\t\tconst cx = 0;\n\t\t\tlet cy = 0;\n\t\t\tif (token.is(\"OCTAVE\")) {\n\t\t\t\tif (token.is(\"_8\")) {\n\t\t\t\t\tsemantic = SemanticType.OctaveShift8;\n\t\t\t\t\tcy = token.is(\"B\") ? -0.7512 : -0.7256;\n\t\t\t\t}\n\t\t\t\telse if (token.is(\"CLOSE\")) {\n\t\t\t\t\tsemantic = SemanticType.OctaveShift0;\n\t\t\t\t\tcy = 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (/^flags/.test(token.glyph)) {\n\t\t\t\tlet direction = 0;\n\t\t\t\tif (/\\.u\\d/.test(token.glyph))\n\t\t\t\t\tdirection = 1;\n\t\t\t\tif (/\\.d\\d/.test(token.glyph))\n\t\t\t\t\tdirection = -1;\n\t\t\t\tif (direction) {\n\t\t\t\t\tconst [n] = token.glyph.match(/\\d+/);\n\t\t\t\t\tconst flagCount = Number(n) - 2;\n\t\t\t\t\t//console.log(\"flags:\", token.glyph, flagCount);\n\t\t\t\t\tfor (let i = 0; i < flagCount; ++i) {\n\t\t\t\t\t\tconst y = token.y + (i + 0.5) * direction;\n\t\t\t\t\t\tpoints.push({\n\t\t\t\t\t\t\tsemantic: SemanticType.Flag3,\n\t\t\t\t\t\t\tx: token.x,\n\t\t\t\t\t\t\ty,\n\t\t\t\t\t\t});\n\t\t\t\t\t\t//console.log(\"flags.1:\", token.x, y);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (token.is(\"SLUR\")) {\n\t\t\t\tconst d = def && def.d;\n\t\t\t\tif (d) {\n\t\t\t\t\tconst numbers = d.match(/-?[\\d.]+/g).map(Number);\n\t\t\t\t\t//console.log(\"slur:\", numbers);\n\t\t\t\t\tconst x1 = token.x + numbers[0];\n\t\t\t\t\tconst y1 = token.y + numbers[1];\n\t\t\t\t\tconst x2 = token.x + numbers[6];\n\t\t\t\t\tconst y2 = token.y + numbers[7];\n\n\t\t\t\t\tpoints.push({\n\t\t\t\t\t\tsemantic: SemanticType.SlurBegin,\n\t\t\t\t\t\tx: x1,\n\t\t\t\t\t\ty: y1,\n\t\t\t\t\t});\n\t\t\t\t\tpoints.push({\n\t\t\t\t\t\tsemantic: SemanticType.SlurEnd,\n\t\t\t\t\t\tx: x2,\n\t\t\t\t\t\ty: y2,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (token.is(\"NOTE_STEM\")) {\n\t\t\t\tpoints.push({\n\t\t\t\t\tsemantic: SemanticType.vline_Stem,\n\t\t\t\t\tx: token.x + def.width / 2,\n\t\t\t\t\ty: token.y,\n\t\t\t\t\textension: {\n\t\t\t\t\t\ty1: token.y,\n\t\t\t\t\t\ty2: token.y + token.height,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\t\t\telse if (token.is(\"TEXT\") || token.is(\"CHORD_TEXT\")) {\n\t\t\t\tif (/\\S/.test(token.text)) {\n\t\t\t\t\t// NOTE: text rect computation is delayed to sheet rendering\n\t\t\t\t\tpoints.push({\n\t\t\t\t\t\tsemantic: SemanticType.rect_Text,\n\t\t\t\t\t\tx: token.x,\n\t\t\t\t\t\ty: token.y,\n\t\t\t\t\t\textension: {\n\t\t\t\t\t\t\tindex: token.index,\n\t\t\t\t\t\t\ttext: token.text,\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (semantic) {\n\t\t\t\tpoints.push({\n\t\t\t\t\tsemantic,\n\t\t\t\t\tx: token.x + cx,\n\t\t\t\t\ty: token.y + cy,\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\t// beams\n\t\tconst stems = tokens.filter(token => token.is(\"NOTE_STEM\")).map(stem => ({\n\t\t\tx: stem.x + stem.width / 2,\n\t\t\ty1: stem.y,\n\t\t\ty2: stem.y + stem.height,\n\t\t}));\n\t\tconst beams = tokens.filter(token => token.is(\"NOTETAIL\") && token.is(\"JOINT\"))\n\t\t\t.map(beam => {\n\t\t\t\tconst def = hashTable[beam.hash];\n\t\t\t\tconst points = def && def.points;\n\t\t\t\tif (points) {\n\t\t\t\t\tconst floats = points.split(\" \").map(Number);\n\t\t\t\t\tconst x1 = beam.x + floats[4];\n\t\t\t\t\tconst x2 = beam.x + floats[0];\n\t\t\t\t\tconst y1 = beam.y + (floats[5] + floats[7]) / 2;\n\t\t\t\t\tconst y2 = beam.y + (floats[1] + floats[3]) / 2;\n\t\t\t\t\tconst k = (y2 - y1) / (x2 - x1);\n\n\t\t\t\t\treturn { x1, x2, y1, y2, k, capital: beam.is(\"CAPITAL_BEAM\") };\n\t\t\t\t}\n\n\t\t\t\treturn null;\n\t\t\t}).filter(Boolean);\n\t\t//console.log(\"beams:\", beams);\n\t\tbeams.forEach(beam => {\n\t\t\tconst innerStems = stems.filter(stem => stem.x > beam.x1 - 0.2 && stem.x < beam.x2 + 0.2);\n\t\t\t//console.log(\"innerStems:\", beam, innerStems);\n\n\t\t\tlet lines = 0;\n\t\t\tinnerStems.forEach(stem => {\n\t\t\t\tconst beamY = beam.y1 + (stem.x - beam.x1) * beam.k;\n\t\t\t\t//console.log(\"beamY:\", beamY, Math.min(Math.abs(beamY - beam.y1), Math.abs(beamY - beam.y2)));\n\t\t\t\tif (beamY >= stem.y1 - 0.1 && beamY <= stem.y2 + 0.1) {\n\t\t\t\t\tpoints.push({\n\t\t\t\t\t\tsemantic: SemanticType.Flag3,\n\t\t\t\t\t\tx: stem.x,\n\t\t\t\t\t\ty: beamY,\n\t\t\t\t\t});\n\n\t\t\t\t\t++lines;\n\n\t\t\t\t\t// beam semantics\n\t\t\t\t\tif (beam.capital) {\n\t\t\t\t\t\tlet semantic = SemanticType.BeamContinue;\n\t\t\t\t\t\tif (Math.abs(stem.x - beam.x1) < 0.2)\n\t\t\t\t\t\t\tsemantic = SemanticType.BeamLeft;\n\t\t\t\t\t\telse if (Math.abs(stem.x - beam.x2) < 0.2)\n\t\t\t\t\t\t\tsemantic = SemanticType.BeamRight;\n\n\t\t\t\t\t\tpoints.push({\n\t\t\t\t\t\t\tsemantic,\n\t\t\t\t\t\t\tx: stem.x,\n\t\t\t\t\t\t\ty: beamY,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (!lines)\n\t\t\t\tconsole.warn(\"empty beam:\", beam, innerStems, stems);\n\t\t\t//else if (lines < 2)\n\t\t\t//\tconsole.debug(\"single beam:\", beam, innerStems, stems);\n\t\t});\n\n\t\t// wedges (crescendo & decrescendo)\n\t\tconst crescendos = tokens.filter(token => token.is(\"WEDGE CRESCENDO TOP\"));\n\t\tconst crescendoBottoms = tokens.filter(token => token.is(\"WEDGE CRESCENDO BOTTOM\"));\n\t\tconst decrescendos = tokens.filter(token => token.is(\"WEDGE DECRESCENDO TOP\"));\n\t\tconst decrescendoBottoms = tokens.filter(token => token.is(\"WEDGE DECRESCENDO BOTTOM\"));\n\t\tcrescendos.forEach(line => {\n\t\t\tconst partner = crescendoBottoms.find(b => b.x === line.x && Math.abs(b.y - line.y) < 0.06);\n\n\t\t\tif (partner) {\n\t\t\t\tpoints.push({\n\t\t\t\t\tsemantic: SemanticType.CrescendoBegin,\n\t\t\t\t\tx: line.x,\n\t\t\t\t\ty: line.y,\n\t\t\t\t});\n\t\t\t}\n\t\t\t//else\n\t\t\t//\tconsole.log(\"unpaired crescendo:\", line, crescendoBottoms);\n\t\t\tpoints.push({\n\t\t\t\tsemantic: SemanticType.CrescendoEnd,\n\t\t\t\tx: line.x + line.target.x,\n\t\t\t\ty: line.y + line.target.y,\n\t\t\t});\n\t\t});\n\t\tdecrescendos.forEach(line => {\n\t\t\tconst partner = decrescendoBottoms.find(b => b.x + b.target.x === line.x + line.target.x && Math.abs(b.y + b.target.y - (line.y + line.target.y)) < 0.06);\n\n\t\t\tpoints.push({\n\t\t\t\tsemantic: SemanticType.DecrescendoBegin,\n\t\t\t\tx: line.x,\n\t\t\t\ty: line.y,\n\t\t\t});\n\t\t\tif (partner) {\n\t\t\t\tpoints.push({\n\t\t\t\t\tsemantic: SemanticType.DecrescendoEnd,\n\t\t\t\t\tx: line.x + line.target.x,\n\t\t\t\t\ty: line.y + line.target.y,\n\t\t\t\t});\n\t\t\t}\n\t\t\t//else\n\t\t\t//\tconsole.log(\"unpaired decrescendo:\", line, decrescendoBottoms);\n\t\t});\n\n\t\t// TODO: volta alternative\n\n\t\t// measure bars\n\t\tconst measureSeparators = staff.tokens.filter(token => token.is(\"MEASURE_SEPARATOR\"));\n\t\tconst singleBars = [];\n\t\tconst groupBars = [];\n\n\t\tfor (let i = 0; i < measureSeparators.length; ++i) {\n\t\t\tconst bar = measureSeparators[i];\n\t\t\tconst nextBar = measureSeparators[i + 1];\n\t\t\tconst inteval = nextBar ? nextBar.x - bar.x : Infinity;\n\n\t\t\tif (inteval < 1) {\n\t\t\t\tgroupBars.push([bar, nextBar]);\n\t\t\t\t++i;\n\t\t\t}\n\t\t\telse\n\t\t\t\tsingleBars.push(bar);\n\t\t};\n\t\t//console.log(\"bars:\", singleBars, groupBars);\n\n\t\tsingleBars.forEach(bar => {\n\t\t\tpoints.push({\n\t\t\t\tsemantic: SemanticType.vline_BarMeasure,\n\t\t\t\tx: bar.x + bar.sw / 2,\n\t\t\t\ty: 0,\n\t\t\t\textension: {\n\t\t\t\t\ty1: -2,\n\t\t\t\t\ty2: 2,\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\n\t\tgroupBars.forEach(group => {\n\t\t\tlet x = (group[0].x + group[1].x) / 2;\n\t\t\tconst bold0 = group[0].is(\"BOLD\");\n\t\t\tconst bold1 = group[1].is(\"BOLD\");\n\n\t\t\tlet semantic = null;\n\t\t\tif (!bold0 && bold1) {\n\t\t\t\tx = group[0].x;\n\n\t\t\t\tif (!voltaRightXs.some(vx => x - vx < 2))\n\t\t\t\t\tsemantic = SemanticType.vline_BarTerminal;\n\t\t\t}\n\t\t\telse if (bold0 && !bold1)\n\t\t\t\tx = group[1].x;\n\t\t\telse if (!bold0 && !bold1)\n\t\t\t\tsemantic = SemanticType.vline_BarSegment;\n\n\t\t\t//console.log(\"group:\", group[0].x, group[1].x, x);\n\t\t\tpoints.push({\n\t\t\t\tsemantic: SemanticType.vline_BarMeasure,\n\t\t\t\tx,\n\t\t\t\ty: 0,\n\t\t\t\textension: {\n\t\t\t\t\ty1: -2,\n\t\t\t\t\ty2: 2,\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tif (semantic) {\n\t\t\t\tpoints.push({\n\t\t\t\t\tsemantic,\n\t\t\t\t\tx,\n\t\t\t\t\ty: 0,\n\t\t\t\t\textension: {\n\t\t\t\t\t\ty1: -2,\n\t\t\t\t\t\ty2: 2,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tconst graph = new SemanticGraph();\n\t\tgraph.points = points;\n\n\t\treturn graph;\n\t}*/\n\n\tstatic fromPoints(points: SemanticPoint[] = []): SemanticGraph {\n\t\tconst graph = new SemanticGraph();\n\t\tgraph.points = points;\n\n\t\treturn graph;\n\t}\n\n\tgetLayer(semantic: SemanticType): Point[] {\n\t\treturn this.points.filter((p) => p.semantic === semantic);\n\t}\n\n\tgetConfidentLayer(semantic: SemanticType, threshold: number): Point[] {\n\t\treturn this.points.filter((p) => p.semantic === semantic && (!Number.isFinite(p.confidence) || p.confidence >= threshold));\n\t}\n\n\tgetSystemPoints(): SemanticPoint[] {\n\t\treturn this.points.filter((point) => SYSTEM_SEMANTIC_TYPES.includes(point.semantic));\n\t}\n\n\tgetStaffPoints(): SemanticPoint[] {\n\t\treturn this.points.filter((point) => !SYSTEM_SEMANTIC_TYPES.includes(point.semantic));\n\t}\n\n\toffset(x: number, y: number): void {\n\t\tthis.points.forEach((point) => {\n\t\t\tpoint.x += x;\n\t\t\tpoint.y += y;\n\t\t});\n\t}\n\n\tscale(factor: number): void {\n\t\tthis.points.forEach((point) => {\n\t\t\tpoint.x *= factor;\n\t\t\tpoint.y *= factor;\n\t\t});\n\t}\n\n\t// multipy 3x2 matrix\n\ttransform(matrix: [number, number][]): void {\n\t\tthis.points.forEach((point) => {\n\t\t\tlet x = point.x * matrix[0][0] + point.y * matrix[1][0] + matrix[2][0];\n\t\t\tconst y = point.x * matrix[0][1] + point.y * matrix[1][1] + matrix[2][1];\n\n\t\t\tif (point.extension) {\n\t\t\t\tif (Number.isFinite(point.extension.y1)) {\n\t\t\t\t\tconst y1 = point.x * matrix[0][1] + point.extension.y1 * matrix[1][1] + matrix[2][1];\n\t\t\t\t\tconst y2 = point.x * matrix[0][1] + point.extension.y2 * matrix[1][1] + matrix[2][1];\n\t\t\t\t\tx = point.x * matrix[0][0] + (point.extension.y1 + point.extension.y2) * 0.5 * matrix[1][0] + matrix[2][0];\n\n\t\t\t\t\tpoint.extension.y1 = y1;\n\t\t\t\t\tpoint.extension.y2 = y2;\n\t\t\t\t}\n\n\t\t\t\tif (Number.isFinite(point.extension.width)) {\n\t\t\t\t\tconst scaling = Math.sqrt(matrix[0][0] * matrix[1][1] - matrix[0][1] * matrix[1][0]);\n\t\t\t\t\tpoint.extension.width *= scaling;\n\t\t\t\t\tpoint.extension.height *= scaling;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tpoint.x = x;\n\t\t\tpoint.y = y;\n\t\t});\n\t}\n}\n\nexport { SemanticGraph };\n","import { SimpleClass } from './aux_/typedJSON';\nimport {\n\tRect,\n\tChordRect,\n\tVLine,\n\tChordColumn,\n\tEventMeasureColumn,\n\tEventSystem,\n\tSourceImageFile,\n\tPageLayout,\n\tAdditionalLineStack,\n\tTextType,\n\tEventFeature,\n} from './interfaces';\nimport { distance2D, solveOverlapping, roundNumber, trans23 } from './utils';\nimport {\n\tToken,\n\tTextToken,\n\tTokenType,\n\tTokenNoteheads,\n\tTokenFlags,\n\tTokenDots,\n\tTokenRests,\n\tTokenAccessories,\n\tTokenDirectionless,\n\tTokenClefs,\n\tTokenBeams,\n\tTokenTimesigs,\n\tTOKEN_Y_FIXED,\n\tTOKEN_Y_ROUND,\n} from './token';\nimport { EventTerm, ContextedTerm, MarkTerm, TempoTerm, AccessoryDirection, GraceType, ContextType, TremoloLink } from './term';\nimport { SemanticGraph } from './semanticGraph';\nimport { SemanticType, SemanticPoint, NOTEHEAD_WIDTHS, hashSemanticPoint, hashPageSemanticPoint } from './semanticPoint';\nimport { Logger, DummyLogger } from './logger';\n\ntype ChordsFeeder = (si: number, mi: number) => ChordColumn[];\ntype ColumnProcessor = (column: EventMeasureColumn) => EventMeasureColumn;\n\nconst CHORD_X_TOLERANCE = 0.2;\n//const EVENT_X_TOLERANCE = 0.8;\n\nconst STEM_LENGTH_MAX = 6;\n\nconst INDENT_THRESHOLD = 2;\n\nconst MEASURE_SEMANTICS = [\n\tSemanticType.ClefG,\n\tSemanticType.ClefF,\n\tSemanticType.ClefC,\n\tSemanticType.TimesigC44,\n\tSemanticType.TimesigC22,\n\tSemanticType.TimesigZero,\n\tSemanticType.TimesigOne,\n\tSemanticType.TimesigTwo,\n\tSemanticType.TimesigThree,\n\tSemanticType.TimesigFour,\n\tSemanticType.TimesigFive,\n\tSemanticType.TimesigSix,\n\tSemanticType.TimesigSeven,\n\tSemanticType.TimesigEight,\n\tSemanticType.TimesigNine,\n\tSemanticType.OctaveShift8va,\n\tSemanticType.OctaveShift8vb,\n\tSemanticType.OctaveShift0,\n\tSemanticType.Zero,\n\tSemanticType.One,\n\tSemanticType.Two,\n\tSemanticType.Three,\n\tSemanticType.Four,\n\tSemanticType.Five,\n\tSemanticType.Six,\n\tSemanticType.Seven,\n\tSemanticType.Eight,\n\tSemanticType.Nine,\n\tSemanticType.AccNatural,\n\tSemanticType.AccSharp,\n\tSemanticType.AccDoublesharp,\n\tSemanticType.AccFlat,\n\tSemanticType.AccFlatflat,\n\tSemanticType.NoteheadS0,\n\tSemanticType.NoteheadS1,\n\tSemanticType.NoteheadS2,\n\tSemanticType.NoteheadS1stemU,\n\tSemanticType.NoteheadS1stemD,\n\tSemanticType.NoteheadS2stemU,\n\tSemanticType.NoteheadS2stemD,\n\tSemanticType.Rest0,\n\tSemanticType.Rest1,\n\tSemanticType.Rest2,\n\tSemanticType.Rest3,\n\tSemanticType.Rest4,\n\tSemanticType.Rest5,\n\tSemanticType.Rest6,\n\tSemanticType.Rest0W,\n\tSemanticType.RestM1,\n\tSemanticType.SlurBegin,\n\tSemanticType.SlurEnd,\n\tSemanticType.Dot,\n\tSemanticType.f,\n\tSemanticType.p,\n\tSemanticType.m,\n\tSemanticType.n,\n\tSemanticType.r,\n\tSemanticType.s,\n\tSemanticType.z,\n\tSemanticType.ScriptFermata,\n\tSemanticType.ScriptShortFermata,\n\tSemanticType.ScriptSforzato,\n\tSemanticType.ScriptStaccato,\n\tSemanticType.ScriptStaccatissimo,\n\tSemanticType.ScriptTurn,\n\tSemanticType.ScriptTrill,\n\tSemanticType.ScriptSegno,\n\tSemanticType.ScriptCoda,\n\tSemanticType.ScriptArpeggio,\n\tSemanticType.ScriptPrall,\n\tSemanticType.ScriptMordent,\n\tSemanticType.ScriptMarcato,\n\tSemanticType.ScriptTenuto,\n\tSemanticType.ScriptPortato,\n\tSemanticType.PedalStar,\n\tSemanticType.PedalPed,\n\tSemanticType.GraceNotehead,\n\tSemanticType.BeamLeft,\n\tSemanticType.BeamRight,\n\tSemanticType.BeamContinue,\n\tSemanticType.CrescendoBegin,\n\tSemanticType.CrescendoEnd,\n\tSemanticType.DecrescendoBegin,\n\tSemanticType.DecrescendoEnd,\n\tSemanticType.TremoloLeft,\n\tSemanticType.TremoloRight,\n\tSemanticType.TremoloMiddle,\n];\n\nconst STAFF_LINED_SEMANTICS = [\n\tSemanticType.AccNatural,\n\tSemanticType.AccSharp,\n\tSemanticType.AccDoublesharp,\n\tSemanticType.AccFlat,\n\tSemanticType.AccFlatflat,\n\tSemanticType.NoteheadS0,\n\tSemanticType.NoteheadS1,\n\tSemanticType.NoteheadS2,\n\tSemanticType.NoteheadS1stemU,\n\tSemanticType.NoteheadS1stemD,\n\tSemanticType.NoteheadS2stemU,\n\tSemanticType.NoteheadS2stemD,\n];\n\nconst LINED_INTERVAL_SEMANTICS = [SemanticType.SignLined, SemanticType.SignInterval];\n\nconst NOTEHEAD_FOR_STEM_SEMANTICS = [SemanticType.NoteheadS1, SemanticType.NoteheadS2];\n\nconst KEYACC_CANDIDATE_SEMANTICS = {\n\tAccSharp: TokenType.KeySharp,\n\tAccNatural: TokenType.KeyNatural,\n\tAccFlat: TokenType.KeyFlat,\n};\n\nconst NOTEHEAD_TABLE: { [key: string]: { [key: string]: SemanticType } } = {\n\t[SemanticType.NoteheadS1]: {\n\t\tup: SemanticType.NoteheadS1stemU,\n\t\tdown: SemanticType.NoteheadS1stemD,\n\t},\n\t[SemanticType.NoteheadS2]: {\n\t\tup: SemanticType.NoteheadS2stemU,\n\t\tdown: SemanticType.NoteheadS2stemD,\n\t},\n};\n\nconst REST_SEMANTICS = [\n\tSemanticType.Rest0,\n\tSemanticType.Rest1,\n\tSemanticType.Rest2,\n\tSemanticType.Rest3,\n\tSemanticType.Rest4,\n\tSemanticType.Rest5,\n\tSemanticType.Rest6,\n];\n\nconst TOKEN_TO_STEMBEAM = {\n\t[TokenType.BeamLeft]: 'Open',\n\t[TokenType.BeamRight]: 'Close',\n\t[TokenType.BeamContinue]: 'Continue',\n};\n\nconst TEXT_TYPE_ALIAS = {\n\tAlter1: TextType.Alternation1,\n\tAlter2: TextType.Alternation2,\n};\n\ninterface StaffPosition {\n\ty: number;\n\tradius: number;\n}\n\ninterface TextArea {\n\tscore: number;\n\tcx: number;\n\tcy: number;\n\twidth: number;\n\theight: number;\n\ttext: string;\n\ttype: string;\n\ttheta: number;\n\tfeature_dict: Record;\n}\n\ntype Stem = VLine & { direction: 'u' | 'd' };\n\nconst noteheadsXPivot = (xs: number[], direction: 'u' | 'd' | null): number => {\n\tswitch (xs.length) {\n\t\tcase 0:\n\t\t\treturn undefined;\n\n\t\tcase 1:\n\t\t\treturn xs[0];\n\n\t\tcase 2:\n\t\t\treturn direction === 'u' ? Math.min(...xs) : Math.max(...xs);\n\n\t\tdefault: {\n\t\t\tconst mean = xs.reduce((sum, x) => sum + x, 0) / xs.length;\n\t\t\txs.sort((x1, x2) => Math.abs(x1 - mean) - Math.abs(x2 - mean));\n\n\t\t\treturn noteheadsXPivot(xs.slice(0, xs.length - 1), direction);\n\t\t}\n\t}\n};\n\nconst noteheadsPivot = (nhs: Token[]): number =>\n\tnoteheadsXPivot(\n\t\tnhs.map((nh) => (Number.isFinite(nh.pivotX) ? nh.pivotX : nh.x)),\n\t\tnhs[0].direction\n\t);\n\nclass Measure extends SimpleClass {\n\tstatic className = 'Measure';\n\tstatic blackKeys = ['tokens', 'antiTokens'];\n\n\tleft: number;\n\twidth: number;\n\theight: number;\n\n\talternative: boolean;\n\n\ttokens: Token[];\n\tantiTokens: Token[];\n\n\tbarTypes: Record;\n\n\tconstructor(data?: any) {\n\t\tsuper();\n\t\tsuper.assign(data);\n\n\t\tthis.tokens = this.tokens || [];\n\t\tthis.antiTokens = this.antiTokens || [];\n\t\tthis.barTypes = this.barTypes || {};\n\t}\n\n\tget right(): number {\n\t\treturn this.left + this.width;\n\t}\n\n\tget noteheads(): Token[] {\n\t\treturn this.tokens.filter((t) => t.isNotehead).sort((n1, n2) => n1.x - n2.x);\n\t}\n\n\tget chordRects(): ChordRect[] {\n\t\tconst noteheads = this.noteheads.filter((nh) =>\n\t\t\t[TokenType.NoteheadS0, TokenType.NoteheadS1stemU, TokenType.NoteheadS2stemU, TokenType.NoteheadS1stemD, TokenType.NoteheadS2stemD].includes(nh.type)\n\t\t);\n\n\t\tlet nulN = 0;\n\n\t\tconst nhmap: Record = noteheads.reduce((map, nh) => {\n\t\t\tconst tip = nh.tip ? `${nh.tip.x}|${nh.tip.y}` : `nul${nulN}`;\n\t\t\tlet key = `${nh.type}|${tip}`;\n\n\t\t\tif (!nh.tip && map[key]) {\n\t\t\t\tif (!map[key].some((hh) => Math.abs(hh.x - nh.x) < NOTEHEAD_WIDTHS.NoteheadS0)) {\n\t\t\t\t\t++nulN;\n\t\t\t\t\tkey = `${nh.type}|nul${nulN}`;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tmap[key] = map[key] || [];\n\t\t\tmap[key].push(nh);\n\n\t\t\treturn map;\n\t\t}, {});\n\n\t\treturn Object.values(nhmap).map((nhs) => {\n\t\t\tconst left = Math.min(...nhs.map((nh) => nh.x));\n\t\t\tconst right = Math.max(...nhs.map((nh) => nh.x));\n\t\t\tconst top = Math.min(...nhs.map((nh) => nh.y));\n\t\t\tconst bottom = Math.max(...nhs.map((nh) => nh.y));\n\n\t\t\tconst nh0 = nhs[0];\n\n\t\t\tconst stemX = nh0 && nh0.tip ? nh0.tip.x : left;\n\n\t\t\tlet x = left;\n\t\t\tlet width = right - left;\n\t\t\tlet stemDirection = null;\n\n\t\t\tswitch (nh0.type) {\n\t\t\t\tcase TokenType.NoteheadS0:\n\t\t\t\t\tx -= NOTEHEAD_WIDTHS.NoteheadS0 / 2;\n\t\t\t\t\twidth += NOTEHEAD_WIDTHS.NoteheadS0;\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase TokenType.NoteheadS1stemU:\n\t\t\t\tcase TokenType.NoteheadS2stemU:\n\t\t\t\t\tstemDirection = 'u';\n\t\t\t\t\tx -= NOTEHEAD_WIDTHS.NoteheadS1;\n\t\t\t\t\twidth += NOTEHEAD_WIDTHS.NoteheadS1;\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase TokenType.NoteheadS1stemD:\n\t\t\t\tcase TokenType.NoteheadS2stemD:\n\t\t\t\t\tstemDirection = 'd';\n\t\t\t\t\twidth += NOTEHEAD_WIDTHS.NoteheadS1;\n\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tx,\n\t\t\t\twidth,\n\t\t\t\tstemX,\n\t\t\t\tstemDirection,\n\t\t\t\ttop,\n\t\t\t\tbottom,\n\t\t\t\ttip: nh0.tip,\n\t\t\t};\n\t\t});\n\t}\n\n\tget timeWarped(): boolean {\n\t\treturn this.tokens && this.tokens.some((token) => token.timeWarped);\n\t}\n\n\tget additionalLines(): AdditionalLineStack[] {\n\t\tconst chords = this.getChords();\n\t\tconst up = chords\n\t\t\t.filter((chord) => chord.ys.some((y) => y <= -3))\n\t\t\t.map((chord) => ({\n\t\t\t\tleft: chord.left,\n\t\t\t\tright: chord.right,\n\t\t\t\tn: Math.ceil(Math.min(...chord.ys)) + 2,\n\t\t\t}));\n\t\tconst down = chords\n\t\t\t.filter((chord) => chord.ys.some((y) => y >= 3))\n\t\t\t.map((chord) => ({\n\t\t\t\tleft: chord.left,\n\t\t\t\tright: chord.right,\n\t\t\t\tn: Math.floor(Math.max(...chord.ys)) - 2,\n\t\t\t}));\n\n\t\treturn [...up, ...down].map((stack) => ({\n\t\t\tleft: stack.left - 0.28,\n\t\t\tright: stack.right + 0.28,\n\t\t\tn: stack.n,\n\t\t}));\n\t}\n\n\tgetChords(): ChordColumn[] {\n\t\tconst flags = this.tokens.filter((t) => TokenFlags.includes(t.type));\n\t\tconst dots = this.tokens.filter((t) => TokenDots.includes(t.type));\n\t\tconst beams = this.tokens.filter((t) => TokenBeams.includes(t.type));\n\n\t\tconst chordRcs = this.chordRects\n\t\t\t.map((rect) => {\n\t\t\t\tconst noteheads = this.noteheads.filter(\n\t\t\t\t\t(nh) =>\n\t\t\t\t\t\tnh.direction === rect.stemDirection &&\n\t\t\t\t\t\tnh.left >= rect.x &&\n\t\t\t\t\t\tnh.right <= rect.x + rect.width + CHORD_X_TOLERANCE &&\n\t\t\t\t\t\tnh.y >= rect.top &&\n\t\t\t\t\t\tnh.y <= rect.bottom\n\t\t\t\t);\n\t\t\t\tnoteheads.sort((n1, n2) => n2.y - n1.y);\n\t\t\t\tconst ys = noteheads.map((nh) => nh.y);\n\t\t\t\tconst noteIds = noteheads.map((nh) => nh.id);\n\n\t\t\t\tconst division = noteheads.reduce((d, nh) => Math.max(d, nh.division), 0);\n\n\t\t\t\treturn {\n\t\t\t\t\trect,\n\t\t\t\t\tleft: rect.x,\n\t\t\t\t\tright: rect.x + rect.width,\n\t\t\t\t\tpivotX: noteheadsPivot(noteheads),\n\t\t\t\t\tys,\n\t\t\t\t\ttip: rect.tip,\n\t\t\t\t\tnoteIds,\n\t\t\t\t\tdivision,\n\t\t\t\t\tdots: null,\n\t\t\t\t\trest: false,\n\t\t\t\t\tstemDirection: rect.stemDirection,\n\t\t\t\t\tbeam: null,\n\t\t\t\t};\n\t\t\t})\n\t\t\t.sort((c1, c2) => c2.left - c1.left);\n\n\t\tconst accs = new Set();\n\n\t\tconst chords = chordRcs.map(({ rect, ...chord }) => {\n\t\t\tif (chord.division >= 1) {\n\t\t\t\t// NOTE: notehead-s1 may have flags too\n\t\t\t\tconst flagRange = [rect.bottom, rect.top];\n\t\t\t\tswitch (rect.stemDirection) {\n\t\t\t\t\tcase 'u':\n\t\t\t\t\t\tflagRange[0] = rect.tip ? rect.tip.y - 0.2 : rect.top - STEM_LENGTH_MAX - 0.5;\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'd':\n\t\t\t\t\t\tflagRange[1] = rect.tip ? rect.tip.y + 0.2 : rect.bottom + STEM_LENGTH_MAX + 0.5;\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tconst nearbyFlags = flags.filter(\n\t\t\t\t\t(flag) =>\n\t\t\t\t\t\t!accs.has(flag.id) &&\n\t\t\t\t\t\tflag.x > rect.stemX - CHORD_X_TOLERANCE &&\n\t\t\t\t\t\tflag.x < rect.stemX + CHORD_X_TOLERANCE &&\n\t\t\t\t\t\tflag.y > flagRange[0] &&\n\t\t\t\t\t\tflag.y < flagRange[1]\n\t\t\t\t);\n\t\t\t\tchord.division = nearbyFlags.reduce((d, flag) => Math.max(d, flag.division), chord.division);\n\n\t\t\t\tnearbyFlags.forEach((flag) => accs.add(flag.id));\n\n\t\t\t\tconst beamToken = rect.tip && beams.find((t) => Math.abs(rect.tip.x - t.x) < 0.3 && Math.abs(rect.tip.y - t.y) < 0.7);\n\t\t\t\tif (beamToken) chord.beam = TOKEN_TO_STEMBEAM[beamToken.type];\n\t\t\t}\n\n\t\t\tconst nearbyDots = dots.filter(\n\t\t\t\t(dot) =>\n\t\t\t\t\t!accs.has(dot.id) &&\n\t\t\t\t\tdot.x > rect.x + rect.width - 0.2 &&\n\t\t\t\t\tdot.x < rect.x + rect.width + 1.2 &&\n\t\t\t\t\tdot.y > rect.top - 1 &&\n\t\t\t\t\tdot.y <= rect.bottom + 0.5\n\t\t\t);\n\t\t\tchord.dots = nearbyDots.reduce((v, dot) => Math.max(v, dot.dots), 0);\n\n\t\t\tnearbyDots.forEach((dot) => accs.add(dot.id));\n\n\t\t\treturn chord;\n\t\t});\n\n\t\tchords.reverse();\n\n\t\treturn chords;\n\t}\n\n\tgetRests(): ChordColumn[] {\n\t\tconst rests = this.tokens.filter((t) => TokenRests.includes(t.type));\n\t\tconst dots = this.tokens.filter((t) => TokenDots.includes(t.type));\n\n\t\treturn rests.map((rest) => {\n\t\t\tconst nearbyDots = dots.filter((dot) => dot.x > rest.x + 0.5 && dot.x < rest.x + 2 && dot.y > rest.y - 1 && dot.y < rest.y + 0.5);\n\t\t\tconst dotValue = nearbyDots.reduce((v, dot) => Math.max(v, dot.dots), 0);\n\n\t\t\treturn {\n\t\t\t\tleft: rest.x - 0.75,\n\t\t\t\tright: rest.x + 0.75,\n\t\t\t\tpivotX: rest.x,\n\t\t\t\trest: true,\n\t\t\t\tys: [rest.y],\n\t\t\t\tnoteIds: [rest.id],\n\t\t\t\tdots: dotValue,\n\t\t\t\tdivision: rest.division,\n\t\t\t\tstemDirection: null,\n\t\t\t};\n\t\t});\n\t}\n\n\tgetEvents(): ChordColumn[] {\n\t\treturn [...this.getChords(), ...this.getRests()].sort((e1, e2) => e1.left - e2.left);\n\t}\n\n\tgetContexts(fields = {}): ContextedTerm[] {\n\t\treturn this.tokens\n\t\t\t.filter((t) => t.isContexted)\n\t\t\t.sort((n1, n2) => n1.x - n2.x)\n\t\t\t.map(\n\t\t\t\t(token) =>\n\t\t\t\t\tnew ContextedTerm({\n\t\t\t\t\t\tx: token.x,\n\t\t\t\t\t\ty: token.y,\n\t\t\t\t\t\ttokenType: token.type,\n\t\t\t\t\t\t...fields,\n\t\t\t\t\t})\n\t\t\t);\n\t}\n\n\tassignAccessoriesOnEvents(events: ChordColumn[]): void {\n\t\tevents.forEach((event) => (event.accessories = event.accessories || []));\n\n\t\tconst accessories = this.tokens.filter((token) => TokenAccessories.includes(token.type));\n\t\t//console.log(\"accessories:\", accessories);\n\t\taccessories.forEach((accessory) => {\n\t\t\tconst relatedEvents = events.filter((event) => accessory.x > event.left - 1 && accessory.x < event.right + 1);\n\n\t\t\tif (relatedEvents.length > 0) {\n\t\t\t\tlet owner = relatedEvents[0];\n\t\t\t\tif (relatedEvents.length > 1) {\n\t\t\t\t\towner = relatedEvents\n\t\t\t\t\t\t.map((event) => ({ event, d: Math.min(...event.ys.map((y) => Math.abs(y - accessory.y))) }))\n\t\t\t\t\t\t.sort(({ d: d1 }, { d: d2 }) => d1 - d2)\n\t\t\t\t\t\t.map(({ event }) => event)[0];\n\t\t\t\t}\n\t\t\t\t//console.log(\"relatedEvents:\", accessory, owner);\n\n\t\t\t\tlet direction = accessory.y > Math.max(...owner.ys) ? AccessoryDirection.Down : AccessoryDirection.Up;\n\t\t\t\tif (TokenDirectionless.includes(accessory.type)) direction = null;\n\n\t\t\t\towner.accessories.push({\n\t\t\t\t\ttype: accessory.type,\n\t\t\t\t\tid: accessory.id,\n\t\t\t\t\tdirection,\n\t\t\t\t\tx: accessory.x - owner.left,\n\t\t\t\t});\n\t\t\t}\n\t\t\t//else\n\t\t\t//\tconsole.debug(\"alone accessory:\", accessory.type);\n\t\t});\n\n\t\t// arpeggio\n\t\tconst sortEvents = [...events];\n\t\tsortEvents.sort((e1, e2) => e1.left - e2.left);\n\n\t\tconst arpeggios = this.tokens.filter((token) => token.type === TokenType.ScriptArpeggio);\n\t\tarpeggios.forEach((arpeggio) => {\n\t\t\tconst owner = sortEvents.find(\n\t\t\t\t(event) => arpeggio.x < event.left && event.ys.some((y) => y < arpeggio.y + 0.25) && event.ys.some((y) => y > arpeggio.y)\n\t\t\t);\n\t\t\t//const owner = sortEvents.find(event => event.left - leftMost.left < 2 && event.ys.some(y => Math.abs(y - arpeggio.y + 0.25) < 0.5));\n\t\t\tif (owner) {\n\t\t\t\towner.accessories.push({\n\t\t\t\t\ttype: TokenType.ScriptArpeggio,\n\t\t\t\t\tid: arpeggio.id,\n\t\t\t\t\tx: arpeggio.x - owner.left,\n\t\t\t\t});\n\t\t\t}\n\t\t\t//else\n\t\t\t//\tconsole.debug(\"alone arpeggio:\", arpeggio);\n\t\t});\n\n\t\t// grace noteheads\n\t\tconst graceNhs = this.tokens.filter((token) => token.type === TokenType.GraceNotehead);\n\t\tgraceNhs.forEach((grace) => {\n\t\t\tconst event = events.find((event) => grace.x > event.left && grace.x < event.right && event.ys.some((y) => Math.abs(grace.y - y) < 0.4));\n\t\t\tif (event) event.grace = GraceType.Grace;\n\t\t});\n\n\t\t// tremolos\n\t\tconst tremolsLs = this.tokens.filter((token) => token.type === TokenType.TremoloLeft);\n\t\tconst tremolsRs = this.tokens.filter((token) => token.type === TokenType.TremoloRight);\n\t\tconst tremolsMs = this.tokens.filter((token) => token.type === TokenType.TremoloMiddle);\n\n\t\tconst tevents = events\n\t\t\t.filter((event) => !event.rest)\n\t\t\t.map((event) => {\n\t\t\t\tconst ys = [...event.ys];\n\t\t\t\tif (event.tip) ys.push(event.tip.y);\n\t\t\t\telse {\n\t\t\t\t\tys.push(event.ys[0] + 2);\n\t\t\t\t\tys.push(event.ys[event.ys.length - 1] - 2);\n\t\t\t\t}\n\n\t\t\t\tconst stemL = event.tip ? event.tip.x : event.left;\n\t\t\t\tconst stemR = event.tip ? event.tip.x : event.right;\n\n\t\t\t\treturn {\n\t\t\t\t\tevent,\n\t\t\t\t\ttop: Math.min(...ys),\n\t\t\t\t\tbottom: Math.max(...ys),\n\t\t\t\t\tstemL,\n\t\t\t\t\tstemR,\n\t\t\t\t};\n\t\t\t});\n\n\t\ttremolsMs.forEach((tm) => {\n\t\t\tconst te = tevents.find((te) => {\n\t\t\t\tif (te.event.tip) return tm.y > te.top && tm.y < te.bottom && Math.abs(tm.x - te.event.tip.x) < 0.3;\n\n\t\t\t\treturn false;\n\t\t\t});\n\n\t\t\tif (te) {\n\t\t\t\tte.event.tremolo = te.event.tremolo || 2;\n\t\t\t\t++te.event.tremolo;\n\t\t\t}\n\t\t});\n\t\ttremolsLs.forEach((tl) => {\n\t\t\tconst te = tevents.find((te) => tl.y > te.top && tl.y < te.bottom && tl.x > te.stemR && tl.x < te.stemR + 1.6);\n\t\t\tif (te) {\n\t\t\t\tte.event.tremolo = te.event.tremolo || 2;\n\t\t\t\t++te.event.tremolo;\n\t\t\t\tte.event.tremoloLink = TremoloLink.Pitcher;\n\t\t\t}\n\t\t});\n\t\ttremolsRs.forEach((tr) => {\n\t\t\tconst te = tevents.find((te) => tr.y > te.top && tr.y < te.bottom && tr.x < te.stemL && tr.x > te.stemL - 1.6);\n\t\t\tif (te) {\n\t\t\t\tte.event.tremolo = te.event.tremolo || 2;\n\t\t\t\t++te.event.tremolo;\n\t\t\t\tte.event.tremoloLink = TremoloLink.Catcher;\n\t\t\t}\n\t\t});\n\t}\n\n\tassignFeaturesOnEvents(events: ChordColumn[], semantics: SemanticPoint[]): void {\n\t\tconst points = semantics.filter((point) => point.x > this.left && point.x < this.right);\n\t\tconst rests = points.filter((point) => REST_SEMANTICS.includes(point.semantic));\n\t\tconst flags = points.filter((point) => point.semantic === SemanticType.Flag3);\n\t\tconst dotPs = points.filter((point) => point.semantic === SemanticType.Dot);\n\t\tconst beamLs = points.filter((points) => points.semantic === SemanticType.BeamLeft);\n\t\tconst beamMs = points.filter((points) => points.semantic === SemanticType.BeamContinue);\n\t\tconst beamRs = points.filter((points) => points.semantic === SemanticType.BeamRight);\n\t\tconst gracePs = points.filter((point) => point.semantic === SemanticType.GraceNotehead);\n\t\tconst tremoloRs = points.filter((point) => point.semantic === SemanticType.TremoloRight);\n\t\tconst stems = points.filter((point) => point.semantic === SemanticType.vline_Stem);\n\t\tconst s0 = points.filter((point) => point.semantic === SemanticType.NoteheadS0);\n\t\tconst s1 = points.filter((point) => point.semantic === SemanticType.NoteheadS1);\n\t\tconst s2 = points.filter((point) => point.semantic === SemanticType.NoteheadS2);\n\n\t\tevents.forEach((event) => {\n\t\t\tconst cx = event.tip ? event.tip.x : (event.left + event.right) / 2;\n\t\t\tconst top = event.tip ? Math.min(event.tip.y, event.ys[event.ys.length - 1]) : event.ys[event.ys.length - 1];\n\t\t\tconst bottom = event.tip ? Math.max(event.tip.y, event.ys[0]) : event.ys[0];\n\t\t\tconst stemL = event.tip ? event.tip.x : event.left;\n\n\t\t\tconst divisions = [0, 0, 0, 0, 0, 0, 0];\n\t\t\tif (event.rest) {\n\t\t\t\tconst i_rests = rests.filter((point) => distance2D(point, { x: cx, y: event.ys[0] }) < 0.5);\n\t\t\t\ti_rests.forEach((r) => {\n\t\t\t\t\tconst d = REST_SEMANTICS.indexOf(r.semantic);\n\t\t\t\t\tdivisions[d] = Math.max(divisions[d], r.confidence);\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tconst nhs = [s0, s1, s2]\n\t\t\t\t\t.map((ss) => ss.filter((nh) => nh.x > event.left && nh.x < event.right && nh.y > top - 0.25 && nh.y < bottom + 0.25))\n\t\t\t\t\t.map((ss) => Math.max(0, ...ss.map((nh) => nh.confidence)));\n\n\t\t\t\tconst i_flags = flags.filter((flag) => flag.y > top - 0.2 && flag.y < bottom + 0.2 && Math.abs(flag.x - cx) < 0.2);\n\t\t\t\ti_flags.sort((f1, f2) => f2.confidence - f1.confidence);\n\n\t\t\t\tdivisions[0] = nhs[0];\n\t\t\t\tdivisions[1] = nhs[1];\n\t\t\t\tdivisions[2] = nhs[2];\n\t\t\t\tArray(divisions.length - 3)\n\t\t\t\t\t.fill(0)\n\t\t\t\t\t.forEach((_, i) => (divisions[3 + i] = i_flags[i] ? i_flags[i].confidence : 0));\n\t\t\t}\n\n\t\t\tconst i_dots = dotPs.filter((dot) => dot.x > cx && dot.x < event.right + 2.6);\n\t\t\tconst dots2 = i_dots.filter((dot) => i_dots.some((d) => dot.x > d.x && Math.abs(dot.y - d.y) < 0.2));\n\t\t\tconst dots = [Math.max(0, ...i_dots.map((dot) => dot.confidence)), Math.max(0, ...dots2.map((dot) => dot.confidence))];\n\n\t\t\tconst beams = [beamLs, beamMs, beamRs]\n\t\t\t\t.map((bs) => bs.filter((b) => Math.abs(b.x - cx) < 0.2 && b.y > top - 0.2 && b.y < bottom + 0.2))\n\t\t\t\t.map((bs) => Math.max(0, ...bs.map((b) => b.confidence)));\n\n\t\t\tconst u_stems = stems.filter((stem) => distance2D({ x: cx, y: event.ys[0] }, { x: stem.x, y: stem.extension.y2 }) < 0.5);\n\t\t\tconst d_stems = stems.filter((stem) => distance2D({ x: cx, y: event.ys[event.ys.length - 1] }, { x: stem.x, y: stem.extension.y1 }) < 0.5);\n\t\t\tconst stemDirections = [Math.max(0, ...u_stems.map((stem) => stem.confidence)), Math.max(0, ...d_stems.map((stem) => stem.confidence))];\n\n\t\t\tconst graces = gracePs.filter((grace) => Math.abs(grace.x - cx) < 0.6 && event.ys.some((y) => Math.abs(grace.y - y) < 0.4));\n\t\t\tconst grace = Math.max(0, ...graces.map((grace) => grace.confidence));\n\n\t\t\tconst tremolos =\n\t\t\t\tevent.division === 0\n\t\t\t\t\t? tremoloRs.filter((tremolo) => tremolo.x > event.left - 2 && tremolo.x < event.right)\n\t\t\t\t\t: tremoloRs.filter((tremolo) => tremolo.y > top - 0.04 && tremolo.y < bottom + 0.04 && tremolo.x > stemL - 2 && tremolo.x < stemL);\n\t\t\tconst tremoloCatcher = Math.max(0, ...tremolos.map((tremolo) => tremolo.confidence));\n\n\t\t\tevent.feature = {\n\t\t\t\tdivisions,\n\t\t\t\tdots,\n\t\t\t\tbeams,\n\t\t\t\tstemDirections,\n\t\t\t\tgrace,\n\t\t\t\ttremoloCatcher,\n\t\t\t} as EventFeature;\n\t\t});\n\t}\n}\n\nclass Staff extends SimpleClass {\n\tstatic className = 'Staff';\n\tstatic blackKeys = ['index', 'semanticTop', 'semanticBttom'];\n\n\tindex?: number; // staff index in full staff layout\n\n\t// in units\n\ttop: number;\n\theight: number;\n\tstaffY: number;\n\n\tsemanticTop: number;\n\tsemanticBottom: number;\n\n\tbackgroundImage: string | Buffer;\n\tmaskImage: string | Buffer;\n\timagePosition: Rect;\n\n\tmeasures: Measure[];\n\n\tsemantics: SemanticPoint[];\n\n\tconstructor({ measureCount = null, measureBars = null, ...data }: Record = {}) {\n\t\tsuper();\n\t\tsuper.assign(data);\n\n\t\tthis.height = this.height || 10;\n\t\tthis.staffY = this.staffY || 5;\n\n\t\tif (measureBars) {\n\t\t\tlet left = 0;\n\t\t\tthis.measures = measureBars.map((endX) => {\n\t\t\t\tconst measure = new Measure({ left, width: endX - left, height: this.height });\n\t\t\t\tleft = endX;\n\n\t\t\t\treturn measure;\n\t\t\t});\n\t\t} else if (measureCount)\n\t\t\tthis.measures = Array(measureCount)\n\t\t\t\t.fill(null)\n\t\t\t\t.map(() => new Measure());\n\t\telse this.measures = [];\n\t}\n\n\t// relative to staffY\n\tget noteRange(): { top: number; bottom: number } {\n\t\tconst noteheads: Token[] = [].concat(...this.measures.map((measure) => measure.noteheads));\n\t\tconst ys = noteheads.map((note) => note.y);\n\t\tconst top = Math.min(-2, ...ys);\n\t\tconst bottom = Math.max(2, ...ys);\n\n\t\treturn { top, bottom };\n\t}\n\n\tget additionalLines(): AdditionalLineStack[] {\n\t\treturn [].concat(...this.measures.map((measure) => measure.additionalLines));\n\t}\n\n\trearrangeMeasures(measureBars: number[]): void {\n\t\tif (!measureBars.length) {\n\t\t\tconsole.warn('rearrangeMeasures error, measureBars are empty.');\n\t\t\treturn;\n\t\t}\n\n\t\tconst tokens = this.measures?.map((measure) => measure.tokens).flat(1) || [];\n\n\t\tlet left = 0;\n\t\tthis.measures = measureBars.map((endX) => {\n\t\t\tconst measure = new Measure({ left, width: endX - left, height: this.height });\n\t\t\tleft = endX;\n\n\t\t\treturn measure;\n\t\t});\n\n\t\tthis.reassignTokens(tokens);\n\t}\n\n\treassignTokens(tokens: Token[] = null): void {\n\t\tif (!tokens) tokens = [].concat(...this.measures.map((measure) => measure.tokens));\n\n\t\tthis.measures.forEach((measure) => (measure.tokens = []));\n\n\t\ttokens.forEach((token) => {\n\t\t\tfor (const measure of this.measures) {\n\t\t\t\tif (token.x < measure.right) {\n\t\t\t\t\tmeasure.tokens.push(token);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tassignSemantics(graph: SemanticGraph): void {\n\t\tthis.semantics = graph.getStaffPoints();\n\t}\n\n\t// generate tokens from semantics\n\tassemble(threshold: number, system: System, logger: Logger = new DummyLogger()): void {\n\t\tif (!this.semantics) return;\n\n\t\tlet points = system.qualifiedSemantics(this.semantics, threshold);\n\t\tpoints = solveOverlapping(points);\n\n\t\t// tempo noteheads\n\t\tconst tempoNhs = points.filter((point) => point.semantic === SemanticType.TempoNotehead);\n\t\ttempoNhs.forEach((tempoNh) => {\n\t\t\tconst index = points.findIndex((point) => /^Notehead/.test(point.semantic) && distance2D(tempoNh, point) < 0.3);\n\t\t\t//console.log(\"temponh:\", tempoNh, index, points[index]);\n\t\t\tif (index >= 0) points.splice(index, 1);\n\t\t\t// TODO: construct tempo term\n\t\t});\n\n\t\tconst antiP = (id: string): SemanticPoint | null => {\n\t\t\tif (system.displacementSemantics?.[id]) return this.semantics.find((p) => p.id === id);\n\n\t\t\treturn null;\n\t\t};\n\n\t\tpoints.filter((point) => MEASURE_SEMANTICS.includes(point.semantic)).forEach((point) => this.appendPoint(point, { points }));\n\n\t\t// noteheads with stem from noteheads & stems\n\t\tconst stems: Stem[] = points\n\t\t\t.filter((point) => point.semantic === SemanticType.vline_Stem)\n\t\t\t.filter((stem) => stem.extension.y2 - stem.extension.y1 > 1.5) // exclude too short stems\n\t\t\t.map((p) => ({\n\t\t\t\tx: p.x,\n\t\t\t\ty1: p.extension.y1,\n\t\t\t\ty2: p.extension.y2,\n\t\t\t\tdirection: null,\n\t\t\t}));\n\t\tconst noteheads = points.filter(\n\t\t\t(point) => NOTEHEAD_FOR_STEM_SEMANTICS.includes(point.semantic) && point.y > this.semanticTop && point.y < this.semanticBottom\n\t\t);\n\t\tconst rootNhs = new Set();\n\n\t\t// for 2nd degree chord notes\n\t\tconst nhOffsetX = (nh: SemanticPoint, stem: Stem, down: boolean): number => {\n\t\t\tif ((down ? 1 : 0) ^ (nh.x < stem.x ? 1 : 0)) return 0;\n\n\t\t\tconst offset = NOTEHEAD_WIDTHS[nh.semantic];\n\n\t\t\treturn down ? -offset : offset;\n\t\t};\n\n\t\t// find root noteheads on stem\n\t\tstems.forEach((stem) => {\n\t\t\tconst attachedHeads = noteheads.filter(\n\t\t\t\t(nh) =>\n\t\t\t\t\tMath.abs(nh.x - stem.x) - NOTEHEAD_WIDTHS[nh.semantic] / 2 < 0.28 &&\n\t\t\t\t\tMath.abs(nh.x - stem.x) - NOTEHEAD_WIDTHS[nh.semantic] / 2 > -0.44 && // for grace noteheads, more close to their stem\n\t\t\t\t\tnh.y > stem.y1 - 0.5 &&\n\t\t\t\t\tnh.y < stem.y2 + 0.5 &&\n\t\t\t\t\t!(nh.x > stem.x && nh.y > stem.y2) &&\n\t\t\t\t\t!(nh.x < stem.x && nh.y < stem.y1)\n\t\t\t);\n\t\t\t//if (stem.x===102.0625 && stem.y2===1.875)\n\t\t\t//\tdebugger;\n\t\t\tif (attachedHeads.length) {\n\t\t\t\tattachedHeads.sort((n1, n2) => n1.y - n2.y);\n\n\t\t\t\tconst topDist = Math.min(...attachedHeads.map((nh) => nh.y - stem.y1));\n\t\t\t\tconst bottomDist = Math.min(...attachedHeads.map((nh) => stem.y2 - nh.y));\n\t\t\t\tif (Math.min(topDist, bottomDist) > 0.5) return; // no root notehead on this stem\n\n\t\t\t\tconst down = topDist < bottomDist;\n\t\t\t\tstem.direction = down ? 'd' : 'u';\n\n\t\t\t\tif (!down) attachedHeads.reverse();\n\t\t\t\tconst root = attachedHeads[0];\n\n\t\t\t\tconst semantic = down ? NOTEHEAD_TABLE[root.semantic].down : NOTEHEAD_TABLE[root.semantic].up;\n\n\t\t\t\tthis.appendPoint(\n\t\t\t\t\t{\n\t\t\t\t\t\tid: root.id,\n\t\t\t\t\t\tsemantic,\n\t\t\t\t\t\tx: stem.x + nhOffsetX(root, stem, down),\n\t\t\t\t\t\ty: root.y,\n\t\t\t\t\t\tpivotX: root.x,\n\t\t\t\t\t\tconfidence: root.confidence,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttip: { x: stem.x, y: down ? stem.y2 : stem.y1 },\n\t\t\t\t\t\tantiPoint: antiP(root.id),\n\t\t\t\t\t\tpoints,\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\trootNhs.add(root.id);\n\t\t\t}\n\t\t});\n\n\t\t// non-root noteheads\n\t\tnoteheads\n\t\t\t.filter((nh) => !rootNhs.has(nh.id))\n\t\t\t.forEach((nh) => {\n\t\t\t\tconst nearStems = stems\n\t\t\t\t\t.filter((stem) => Math.abs(stem.x - nh.x) < 2 && nh.y > stem.y1 && nh.y < stem.y2)\n\t\t\t\t\t.sort((s1, s2) => Math.abs(s1.x - nh.x) - Math.abs(s2.x - nh.x));\n\t\t\t\tconst stem = nearStems[0];\n\t\t\t\tif (stem) {\n\t\t\t\t\tconst down = stem.direction === 'd';\n\t\t\t\t\tconst semantic = down ? NOTEHEAD_TABLE[nh.semantic].down : NOTEHEAD_TABLE[nh.semantic].up;\n\n\t\t\t\t\tthis.appendPoint(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: nh.id,\n\t\t\t\t\t\t\tsemantic,\n\t\t\t\t\t\t\tx: stem.x + nhOffsetX(nh, stem, down),\n\t\t\t\t\t\t\ty: nh.y,\n\t\t\t\t\t\t\tpivotX: nh.x,\n\t\t\t\t\t\t\tconfidence: nh.confidence,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttip: { x: stem.x, y: down ? stem.y2 : stem.y1 },\n\t\t\t\t\t\t\tantiPoint: antiP(nh.id),\n\t\t\t\t\t\t\tpoints,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t} else logger.debug('isolated notehead:', system.index, this.index, nh);\n\t\t\t});\n\n\t\t// group flags\n\t\tconst flags = points.filter((point) => point.semantic === SemanticType.Flag3);\n\t\tflags.sort((f1, f2) => f1.x - f2.x);\n\t\tthis.appendFlags(flags, stems);\n\n\t\t// group dots\n\t\tconst dots = points\n\t\t\t.filter((point) => point.semantic === SemanticType.Dot)\n\t\t\t.map((dot) => {\n\t\t\t\tconst y = roundNumber(dot.y, 0.5);\n\t\t\t\treturn { x: dot.x, y };\n\t\t\t});\n\t\tconst dotLines: { [key: number]: SemanticPoint[] } = dots.reduce((table, dot) => {\n\t\t\ttable[dot.y] = table[dot.y] || [];\n\t\t\ttable[dot.y].push(dot);\n\t\t\treturn table;\n\t\t}, {});\n\t\tObject.entries(dotLines).forEach(([sy, line]) => {\n\t\t\tconst y = Number(sy);\n\t\t\tif (line.length > 1) {\n\t\t\t\tline.sort((d1, d2) => d1.x - d2.x);\n\t\t\t\tfor (let i = 0; i < line.length - 1; i++) {\n\t\t\t\t\tconst dot = line[i];\n\t\t\t\t\tif (line.find((d) => d.x > dot.x && d.x - dot.x < 1.2)) {\n\t\t\t\t\t\tthis.appendPoint(\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: dot.id,\n\t\t\t\t\t\t\t\tx: dot.x,\n\t\t\t\t\t\t\t\ty,\n\t\t\t\t\t\t\t\tconfidence: dot.confidence,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{ type: TokenType.DotDot, antiPoint: antiP(dot.id), points }\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t// pair key accidentals\n\t\tconst keyaccs = points.filter((point) => point.semantic === SemanticType.KeyAcc);\n\t\tconst accs = points.filter((point) => KEYACC_CANDIDATE_SEMANTICS[point.semantic]);\n\t\taccs.forEach((acc) => {\n\t\t\tif (keyaccs.some((key) => Math.abs(acc.x - key.x) < 0.5 && Math.abs(acc.y - key.y) < 1)) {\n\t\t\t\tthis.appendPoint(\n\t\t\t\t\t{\n\t\t\t\t\t\tid: acc.id,\n\t\t\t\t\t\tx: acc.x,\n\t\t\t\t\t\ty: acc.y,\n\t\t\t\t\t\tconfidence: acc.confidence,\n\t\t\t\t\t},\n\t\t\t\t\t{ type: KEYACC_CANDIDATE_SEMANTICS[acc.semantic], points }\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\n\t\t// octave shift heads\n\t\tconst octs = points.filter((point) => point.semantic === SemanticType.OctaveShift8);\n\t\tocts.forEach((oct) => {\n\t\t\tconst type = oct.y < 0 ? TokenType.OctaveShift8va : TokenType.OctaveShift8vb;\n\t\t\tthis.appendPoint(\n\t\t\t\t{\n\t\t\t\t\tid: oct.id,\n\t\t\t\t\tx: oct.x,\n\t\t\t\t\ty: oct.y,\n\t\t\t\t\tconfidence: oct.confidence,\n\t\t\t\t},\n\t\t\t\t{ type, points }\n\t\t\t);\n\t\t});\n\n\t\t// group volta dots\n\t\tconst voltaDots = this.semantics.filter((point) => [SemanticType.VoltaLeft, SemanticType.VoltaRight].includes(point.semantic));\n\t\tvoltaDots.sort((d1, d2) => d1.x - d2.x);\n\t\tconst voltaGroups: Record> = voltaDots.reduce(\n\t\t\t(groups, dot) => {\n\t\t\t\tconst group = groups[dot.semantic];\n\t\t\t\tconst xs = Array.from(Object.keys(group)).map(Number);\n\t\t\t\tconst x = xs.find((x) => dot.x < x + 0.2) || dot.x;\n\n\t\t\t\tgroup[x] = groups[dot.semantic][x] || [];\n\t\t\t\tgroup[x].push(dot);\n\n\t\t\t\treturn groups;\n\t\t\t},\n\t\t\t{ [SemanticType.VoltaLeft]: {}, [SemanticType.VoltaRight]: {} }\n\t\t);\n\t\tfor (const [type, group] of Object.entries(voltaGroups)) {\n\t\t\tObject.values(group).forEach((dots) => {\n\t\t\t\tif (dots.length > 1) {\n\t\t\t\t\tconst confidence = dots.reduce((sum, dot) => sum + dot.confidence, 0);\n\t\t\t\t\tif (dots[0].y * dots[1].y < 0 && confidence >= threshold * 2) this.appendPoint(dots[0], { type: TokenType[type] });\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tappendPoint(\n\t\tpoint: Partial,\n\t\t{ type, points = null, antiPoint, ...fields }: { type?: TokenType; antiPoint?: SemanticPoint; [key: string]: any } = {}\n\t): void {\n\t\t//console.log(\"appendPoint.0:\", point, point.x, point.y);\n\t\tconst x = point.x;\n\t\tconst measure = this.measures.find((measure) => x < measure.left + measure.width);\n\t\tif (!measure)\n\t\t\t// drop tokens out of measures range\n\t\t\treturn;\n\n\t\t// lined or interval\n\t\tlet lined = false;\n\t\tlet interval = false;\n\t\tif (STAFF_LINED_SEMANTICS.includes(point.semantic)) {\n\t\t\tconsole.assert(points, 'argument of points for this semantic is required:', point.semantic);\n\t\t\tconst signs = points.filter((p) => LINED_INTERVAL_SEMANTICS.includes(p.semantic) && Math.abs(p.y - point.y) < 0.2 && Math.abs(p.x - point.x) < 1.2);\n\t\t\tif (signs.some((s) => s.semantic === SemanticType.SignLined)) lined = true;\n\t\t\telse if (signs.some((s) => s.semantic === SemanticType.SignInterval)) interval = true;\n\t\t}\n\n\t\ttype = type || TokenType[point.semantic];\n\t\tconst fixedY = TOKEN_Y_FIXED[type];\n\t\tlet roundY = TOKEN_Y_ROUND[type];\n\n\t\tif (lined || interval) roundY = Math.max(roundY, 1);\n\n\t\tlet y = point.y;\n\t\tif (Number.isFinite(fixedY)) y = fixedY;\n\t\telse if (roundY) {\n\t\t\tif (interval) y = roundNumber(y + 0.5, roundY) - 0.5;\n\t\t\telse y = roundNumber(y, roundY);\n\t\t}\n\t\t//if (lined || interval)\n\t\t//\tconsole.log(\"round sign:\", point.semantic, y, lined, interval);\n\n\t\tconst holder = measure.tokens.find((token) => token.type === type && Math.abs(token.x - x) < 0.1 && Math.abs(token.y - y) < 0.1);\n\t\tif (holder) {\n\t\t\tif (Number.isFinite(holder.confidence) && holder.confidence < point.confidence) {\n\t\t\t\tholder.x = x;\n\t\t\t\tholder.y = y;\n\t\t\t\tholder.confidence = point.confidence;\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\t// exlude clef out of pitch range\n\t\tif (TokenClefs.includes(type)) {\n\t\t\tif (Math.abs(y) > 3) return;\n\t\t}\n\n\t\t// TODO: exclude overlapped pair by a token prior table\n\n\t\tmeasure.tokens.push(\n\t\t\tnew Token({\n\t\t\t\tid: point.id,\n\t\t\t\ttype,\n\t\t\t\tx,\n\t\t\t\ty,\n\t\t\t\tpivotX: point.pivotX,\n\t\t\t\tconfidence: point.confidence,\n\t\t\t\t...fields,\n\t\t\t})\n\t\t);\n\n\t\tif (antiPoint) {\n\t\t\tmeasure.antiTokens.push(\n\t\t\t\tnew Token({\n\t\t\t\t\tid: antiPoint.id,\n\t\t\t\t\ttype,\n\t\t\t\t\tx,\n\t\t\t\t\ty: antiPoint.y,\n\t\t\t\t\tconfidence: antiPoint.confidence,\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t}\n\n\tappendFlags(flags: SemanticPoint[], stems: Stem[]): void {\n\t\t//console.log(\"flags:\", flags);\n\t\tconst stemGroups = stems\n\t\t\t.map((stem) => ({\n\t\t\t\t...stem,\n\t\t\t\tflags: flags.filter((flag) => Math.abs(flag.x - stem.x) < 0.3 && flag.y > stem.y1 - 0.5 && flag.y < stem.y2 + 0.5),\n\t\t\t}))\n\t\t\t.filter((group) => group.flags.length);\n\n\t\tstemGroups.forEach((group) => {\n\t\t\tconst mainFlag = group.flags.reduce((main, flag) => (main && main.confidence > flag.confidence ? main : flag), null);\n\n\t\t\t//const upDistance = mainFlag.y - group.y1;\n\t\t\t//const downDistance = group.y2 - mainFlag.y;\n\t\t\t//const downward = downDistance < upDistance;\n\t\t\tconst downward = group.direction === 'd';\n\n\t\t\tconst tailY = downward ? Math.min(group.y2, group.y1 + STEM_LENGTH_MAX) : Math.max(group.y1, group.y2 - STEM_LENGTH_MAX);\n\n\t\t\tconst flagTips = group.flags.map((flag) => ({\n\t\t\t\ttip: (tailY - flag.y) * (downward ? 1 : -1),\n\t\t\t\tconfidence: flag.confidence,\n\t\t\t}));\n\t\t\tconst count = flagTips.filter((f) => f.tip < 2 || f.confidence > mainFlag.confidence * 0.7).length;\n\n\t\t\tconst type = TokenFlags[count - 1];\n\t\t\tif (type) {\n\t\t\t\tthis.appendPoint(\n\t\t\t\t\t{\n\t\t\t\t\t\tid: group.flags[0].id,\n\t\t\t\t\t\tx: group.x,\n\t\t\t\t\t\ty: tailY,\n\t\t\t\t\t\tconfidence: Math.min(...group.flags.map((flag) => flag.confidence)),\n\t\t\t\t\t},\n\t\t\t\t\t{ type }\n\t\t\t\t);\n\t\t\t\t//console.log(\"flag:\", type);\n\t\t\t}\n\t\t});\n\t}\n\n\tclearTokens(): void {\n\t\tthis.measures.forEach((measure) => (measure.tokens = []));\n\t\tthis.semantics = [];\n\t}\n\n\tclearPredictedTokens(): void {\n\t\tthis.measures.forEach((measure) => (measure.tokens = measure.tokens.filter((token) => !token.isPredicted)));\n\t}\n}\n\nclass System extends SimpleClass {\n\tstatic className = 'System';\n\tstatic blackKeys = ['index', 'pageIndex', 'prev', 'next', 'headMeasureIndex', 'tokens', 'indent'];\n\n\tindex?: number;\n\tpageIndex?: number;\n\tprev?: System;\n\tnext?: System;\n\theadMeasureIndex?: number; // zero based\n\n\t// in units\n\tleft: number;\n\ttop: number;\n\twidth: number;\n\tindent: boolean;\n\n\tmeasureCount: number;\n\tstaves: Staff[];\n\n\tmeasureBars: number[];\n\n\tbackgroundImage: string;\n\timagePosition: Rect;\n\n\tsemantics: SemanticPoint[];\n\ttokens?: Token[];\n\n\tsidBlackList: string[];\n\tsidWhiteList: string[];\n\n\tdisplacementSemantics?: { [id: string]: Partial };\n\n\tstaffMaskChanged: number;\n\tbracketsAppearance: string; // the staff layout code by prediction\n\n\tconstructor({ stavesCount, ...fields }: any) {\n\t\tsuper();\n\t\tsuper.assign(fields);\n\n\t\tif (!this.measureBars) {\n\t\t\tconst HEAD_WIDTH = 5;\n\t\t\tconst segmentLength = (this.width - HEAD_WIDTH) / this.measureCount;\n\t\t\tthis.measureBars = Array(this.measureCount)\n\t\t\t\t.fill(0)\n\t\t\t\t.map((_, i) => HEAD_WIDTH + segmentLength * (i + 1));\n\t\t}\n\n\t\tif (!fields.staves && stavesCount)\n\t\t\tthis.staves = Array(stavesCount)\n\t\t\t\t.fill(null)\n\t\t\t\t.map(() => new Staff({ measureBars: this.measureBars }));\n\n\t\tthis.arrangePosition();\n\n\t\tthis.measureCount = this.measureCount || this.measureBars.length;\n\n\t\tthis.sidBlackList = this.sidBlackList || [];\n\t\tthis.sidWhiteList = this.sidWhiteList || [];\n\t}\n\n\tget noteRange(): { top: number; bottom: number } {\n\t\tif (!this.staves.length) return null;\n\n\t\tconst staffTop = this.staves[0];\n\t\tconst staffBottom = this.staves[this.staves.length - 1];\n\n\t\treturn {\n\t\t\ttop: staffTop.top + staffTop.staffY + staffTop.noteRange.top,\n\t\t\tbottom: staffBottom.top + staffBottom.staffY + staffBottom.noteRange.bottom,\n\t\t};\n\t}\n\n\tget staffPositions(): StaffPosition[] {\n\t\treturn this.staves.map((staff) => ({\n\t\t\ty: staff.top + staff.staffY,\n\t\t\tradius: 2,\n\t\t}));\n\t}\n\n\tget staffMask(): number {\n\t\tif (this.staffMaskChanged) return this.staffMaskChanged;\n\n\t\tif (this.prev && this.staves.length === this.prev.staves.length) return this.prev.staffMask;\n\n\t\treturn 2 ** this.staves.length - 1;\n\t}\n\n\tget staffTop(): number {\n\t\tconst positions = this.staffPositions;\n\t\treturn positions.length ? positions[0].y - positions[0].radius : 0;\n\t}\n\n\tget staffBottom(): number {\n\t\tconst positions = this.staffPositions;\n\t\treturn positions.length ? positions[positions.length - 1].y + positions[positions.length - 1].radius : 0;\n\t}\n\n\tarrangePosition(): void {\n\t\tlet y = 0;\n\t\tfor (const staff of this.staves) {\n\t\t\tif (Number.isFinite(staff.top)) break;\n\n\t\t\tstaff.top = y;\n\t\t\ty += staff.height;\n\t\t}\n\t}\n\n\ttidyMeasureBars(): void {\n\t\tthis.measureBars = this.measureBars.filter((x) => x > 1);\n\t\tthis.measureBars.sort((b1, b2) => b1 - b2);\n\n\t\tconst restWidth = this.width - this.measureBars[this.measureBars.length - 1];\n\t\tif (restWidth > 12) this.measureBars.push(this.width);\n\t\telse if (restWidth < 2) this.measureBars[this.measureBars.length - 1] = this.width;\n\n\t\tthis.measureBars = this.measureBars.filter((x, i) => i < 1 || x - this.measureBars[i - 1] > 4);\n\t}\n\n\trearrangeMeasures(): void {\n\t\tthis.measureCount = this.measureBars.length;\n\t\tthis.staves.forEach((staff) => staff.rearrangeMeasures(this.measureBars));\n\t}\n\n\tget height(): number {\n\t\treturn this.staves.reduce((height, staff) => height + staff.height, 0);\n\t}\n\n\tget connectionLine(): { top: number; bottom: number } {\n\t\tconst staffHead = this.staves[0];\n\t\tconst staffTail = this.staves[this.staves.length - 1];\n\n\t\treturn (\n\t\t\tstaffHead && {\n\t\t\t\ttop: staffHead.top + staffHead.staffY - 2,\n\t\t\t\tbottom: staffTail.top + staffTail.staffY + 2,\n\t\t\t}\n\t\t);\n\t}\n\n\tget middleY(): number {\n\t\tif (!this.staves.length) return 0;\n\n\t\tconst sum = this.staves.reduce((sum, staff) => sum + staff.top + staff.staffY, 0);\n\n\t\treturn sum / this.staves.length;\n\t}\n\n\tget timeSignatureOnHead(): boolean {\n\t\treturn this.staves.some((staff) => staff.measures[0]?.tokens.some((token) => TokenTimesigs.includes(token.type)));\n\t}\n\n\t// an array staff or null on every position of full staff layout\n\tgetStaffArray(stavesCount: number): Staff[] {\n\t\tlet si = 0;\n\n\t\treturn Array(stavesCount)\n\t\t\t.fill(null)\n\t\t\t.map((_, i) => {\n\t\t\t\tconst on = this.staffMask & (1 << i);\n\t\t\t\tconst staff = on ? this.staves[si++] : null;\n\t\t\t\tconsole.assert(!on || staff, 'system staves count is less than staff mask declared:', this.staves.length, this.staffMask.toString(2));\n\n\t\t\t\treturn staff;\n\t\t\t});\n\t}\n\n\t// measureIndex: the local measure index\n\tgetMarksInMeasure(measureIndex: number): MarkTerm[] {\n\t\tconsole.assert(measureIndex < this.measureBars.length, 'measure index out of range:', measureIndex, this.measureBars.length);\n\n\t\tconst left = measureIndex > 0 ? this.measureBars[measureIndex - 1] : 0;\n\t\tconst right = this.measureBars[measureIndex];\n\n\t\tconst tempoTokens = (this.tokens ?? []).filter(\n\t\t\t(token) => token.x >= left && token.x < right && token instanceof TextToken && token.textType === TextType.TempoNumeral\n\t\t) as TextToken[];\n\n\t\treturn [...tempoTokens.map((token) => TempoTerm.fromNumeralText(token.text)).filter(Boolean)];\n\t}\n\n\tgetEvents(stavesCount: number): EventSystem {\n\t\tconsole.assert(Number.isInteger(this.headMeasureIndex), 'invalid headMeasureIndex:', this.headMeasureIndex);\n\n\t\t// Empty system (no measureBars / no staves with measures): return empty result\n\t\tif (!this.measureBars?.length && this.staves.every((s) => !s.measures?.length)) {\n\t\t\treturn { staffMask: this.staffMask, columns: [] };\n\t\t}\n\n\t\tconst staves = this.getStaffArray(stavesCount);\n\n\t\t// [staff, measure]\n\t\tconst rows = staves.map((staff) => {\n\t\t\tif (!staff) {\n\t\t\t\treturn Array(this.measureCount)\n\t\t\t\t\t.fill(null)\n\t\t\t\t\t.map(() => ({\n\t\t\t\t\t\tevents: [] as EventTerm[],\n\t\t\t\t\t\tcontexts: [] as ContextedTerm[],\n\t\t\t\t\t\tvoltaBegin: false,\n\t\t\t\t\t\tvoltaEnd: false,\n\t\t\t\t\t\talternative: false,\n\t\t\t\t\t\tbarTypes: {},\n\t\t\t\t\t}));\n\t\t\t}\n\n\t\t\treturn staff.measures.map((measure) => {\n\t\t\t\tconst events = measure.getEvents();\n\t\t\t\tmeasure.assignAccessoriesOnEvents(events);\n\t\t\t\tmeasure.assignFeaturesOnEvents(events, staff.semantics);\n\n\t\t\t\treturn {\n\t\t\t\t\tevents: events.map(\n\t\t\t\t\t\t(event) =>\n\t\t\t\t\t\t\tnew EventTerm({\n\t\t\t\t\t\t\t\tstaff: staff.index,\n\t\t\t\t\t\t\t\tsystem: this.index,\n\t\t\t\t\t\t\t\t...event,\n\t\t\t\t\t\t\t\trest: event.rest ? 'r' : null,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t),\n\t\t\t\t\tcontexts: measure.getContexts({ staff: staff.index }),\n\t\t\t\t\tvoltaBegin: measure.tokens.some((token) => token.type === TokenType.VoltaLeft),\n\t\t\t\t\tvoltaEnd: measure.tokens.some((token) => token.type === TokenType.VoltaRight),\n\t\t\t\t\talternative: measure.alternative,\n\t\t\t\t\tbarTypes: measure.barTypes,\n\t\t\t\t};\n\t\t\t});\n\t\t});\n\n\t\t// supplement time signatures for empty staves\n\t\tfor (let mi = 0; mi < this.measureCount; ++mi) {\n\t\t\tconst tsRows = rows.map((row) => row[mi]?.contexts?.filter((term) => [ContextType.TimeSignatureC, ContextType.TimeSignatureN].includes(term.type)));\n\t\t\tconst timeSigs = tsRows.find((row) => row?.length);\n\t\t\tif (timeSigs) {\n\t\t\t\trows.forEach((row) => {\n\t\t\t\t\tif (row[mi] && !row[mi].contexts.length && !row[mi].events.length) row[mi].contexts.push(...timeSigs);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\t//const measureWidths = this.staves[0].measures.map(measure => measure.width);\n\t\t//onst measureStartXs = [0, ...this.measureBars];\n\n\t\tconst columns = Array(this.measureCount)\n\t\t\t.fill(null)\n\t\t\t.map(\n\t\t\t\t(_, i): EventMeasureColumn => ({\n\t\t\t\t\tmeasureIndex: this.headMeasureIndex + i,\n\t\t\t\t\t//startX: measureStartXs[i],\n\t\t\t\t\t//width: measureWidths[i],\n\t\t\t\t\trows: rows.map((row) => row[i]),\n\t\t\t\t\tmarks: this.getMarksInMeasure(i),\n\t\t\t\t\t//xToTick: {},\n\t\t\t\t\tduration: 0,\n\t\t\t\t\tvoltaBegin: rows.some((row) => row[i]?.voltaBegin),\n\t\t\t\t\tvoltaEnd: rows.some((row) => row[i]?.voltaEnd),\n\t\t\t\t\talternative: rows.some((row) => row[i]?.alternative),\n\t\t\t\t\tbarTypes: rows.reduce(\n\t\t\t\t\t\t(ts, row) => ({\n\t\t\t\t\t\t\t...ts,\n\t\t\t\t\t\t\t...row[i]?.barTypes,\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t{} as Record\n\t\t\t\t\t),\n\t\t\t\t})\n\t\t\t);\n\t\t//columns.forEach(computeMeasureTicks);\n\n\t\t// assign id on column events\n\t\tcolumns.forEach((column) => {\n\t\t\tconst events = [].concat(...column.rows.filter(Boolean).map((row) => row.events));\n\t\t\tevents.forEach((event, i) => (event.id = i + 1));\n\t\t});\n\n\t\tconst lastColumn = columns[columns.length - 1];\n\t\tif (lastColumn) lastColumn.break = true;\n\n\t\treturn {\n\t\t\tstaffMask: this.staffMask,\n\t\t\tcolumns,\n\t\t};\n\t}\n\n\tgetEventsFunctional(stavesCount: number, ev: ChordsFeeder, processors: ColumnProcessor[] = [], { useXMap = false } = {}): EventSystem {\n\t\tconst staves = this.getStaffArray(stavesCount);\n\n\t\t// [staff, measure]\n\t\tconst rows = staves.map((staff, si) => {\n\t\t\tif (!staff) {\n\t\t\t\treturn Array(this.measureCount)\n\t\t\t\t\t.fill(null)\n\t\t\t\t\t.map(() => ({\n\t\t\t\t\t\tevents: [] as EventTerm[],\n\t\t\t\t\t\tcontexts: [] as ContextedTerm[],\n\t\t\t\t\t\tvoltaBegin: false,\n\t\t\t\t\t\tvoltaEnd: false,\n\t\t\t\t\t\talternative: false,\n\t\t\t\t\t\tbarTypes: {},\n\t\t\t\t\t}));\n\t\t\t}\n\n\t\t\treturn staff.measures.map((measure, mi) => {\n\t\t\t\tconst events = ev(si, mi);\n\n\t\t\t\treturn (\n\t\t\t\t\tevents && {\n\t\t\t\t\t\tevents: events.map(\n\t\t\t\t\t\t\t(event) =>\n\t\t\t\t\t\t\t\tnew EventTerm({\n\t\t\t\t\t\t\t\t\tsystem: this.index,\n\t\t\t\t\t\t\t\t\t...event,\n\t\t\t\t\t\t\t\t\trest: event.rest ? 'r' : null,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t),\n\t\t\t\t\t\tcontexts: measure.getContexts({ staff: si }),\n\t\t\t\t\t\tvoltaBegin: measure.tokens.some((token) => token.type === TokenType.VoltaLeft),\n\t\t\t\t\t\tvoltaEnd: measure.tokens.some((token) => token.type === TokenType.VoltaRight),\n\t\t\t\t\t\talternative: measure.alternative,\n\t\t\t\t\t\tbarTypes: measure.barTypes,\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t});\n\t\t});\n\n\t\t//const measureWidths = this.staves[0].measures.map(measure => measure.width);\n\t\t//const measureStartXs = [0, ...this.measureBars];\n\n\t\t// [measure, staff]\n\t\tconst columns: EventMeasureColumn[] = Array(this.measureCount)\n\t\t\t.fill(null)\n\t\t\t.map((_, mi) => {\n\t\t\t\tconst localRows = rows.map((row) => row[mi]);\n\t\t\t\tif (localRows.some((row) => !row)) return null;\n\n\t\t\t\tlet xMap: Map = null;\n\t\t\t\tif (useXMap) {\n\t\t\t\t\tconst events: EventTerm[] = [].concat(...localRows.map((row) => row.events));\n\t\t\t\t\tconst groupMap: { [group: number]: EventTerm[] } = events.reduce((map, event) => {\n\t\t\t\t\t\tif (Number.isFinite(event.tickGroup)) map[event.tickGroup] = map[event.tickGroup] || [];\n\t\t\t\t\t\tmap[event.tickGroup].push(event);\n\n\t\t\t\t\t\treturn map;\n\t\t\t\t\t}, {});\n\n\t\t\t\t\txMap = Object.values(groupMap).reduce((map, events) => {\n\t\t\t\t\t\tconst x = Math.min(...events.map((event) => (event.left + event.right) / 2));\n\t\t\t\t\t\tmap.set(x, events);\n\n\t\t\t\t\t\treturn map;\n\t\t\t\t\t}, new Map());\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\tmeasureIndex: this.headMeasureIndex + mi,\n\t\t\t\t\t//startX: measureStartXs[mi],\n\t\t\t\t\t//width: measureWidths[mi],\n\t\t\t\t\trows: localRows, // [staff]\n\t\t\t\t\tmarks: this.getMarksInMeasure(mi),\n\t\t\t\t\t//xToTick: {},\n\t\t\t\t\tduration: 0,\n\t\t\t\t\txMap,\n\t\t\t\t\tvoltaBegin: localRows.some((row) => row.voltaBegin),\n\t\t\t\t\tvoltaEnd: localRows.some((row) => row.voltaEnd),\n\t\t\t\t\talternative: localRows.some((row) => row.alternative),\n\t\t\t\t\tbarTypes: localRows.reduce(\n\t\t\t\t\t\t(ts, row) => ({\n\t\t\t\t\t\t\t...ts,\n\t\t\t\t\t\t\t...row.barTypes,\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t{} as Record\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t});\n\t\tprocessors.forEach((proc) => columns.forEach(proc));\n\n\t\treturn {\n\t\t\tstaffMask: this.staffMask,\n\t\t\tcolumns,\n\t\t};\n\t}\n\n\t// get EventSystem contains only contexted terms\n\tgetContexts(stavesCount: number): EventSystem {\n\t\tconst staves = this.getStaffArray(stavesCount);\n\n\t\t// [staff, measure]\n\t\tconst rows = staves.map((staff) => {\n\t\t\tif (!staff) {\n\t\t\t\treturn Array(this.measureCount)\n\t\t\t\t\t.fill(null)\n\t\t\t\t\t.map(() => ({\n\t\t\t\t\t\tevents: null,\n\t\t\t\t\t\tcontexts: [] as ContextedTerm[],\n\t\t\t\t\t\tvoltaBegin: false,\n\t\t\t\t\t\tvoltaEnd: false,\n\t\t\t\t\t\talternative: false,\n\t\t\t\t\t\tbarTypes: {},\n\t\t\t\t\t}));\n\t\t\t}\n\n\t\t\treturn staff.measures.map((measure) => ({\n\t\t\t\tevents: null,\n\t\t\t\tcontexts: measure.getContexts(),\n\t\t\t\tvoltaBegin: measure.tokens.some((token) => token.type === TokenType.VoltaLeft),\n\t\t\t\tvoltaEnd: measure.tokens.some((token) => token.type === TokenType.VoltaRight),\n\t\t\t\talternative: rows.some((row) => row.alternative),\n\t\t\t\tbarTypes: measure.barTypes,\n\t\t\t}));\n\t\t});\n\n\t\t// supplement time signatures for empty staves\n\t\tfor (let mi = 0; mi < this.measureCount; ++mi) {\n\t\t\tconst tsRows = rows.map((row) => row[mi]?.contexts.filter((term) => [ContextType.TimeSignatureC, ContextType.TimeSignatureN].includes(term.type)));\n\t\t\tconst timeSigs = tsRows.find((row) => row?.length);\n\t\t\tif (timeSigs) {\n\t\t\t\trows.forEach((row) => {\n\t\t\t\t\tif (!row[mi].contexts.length) row[mi].contexts.push(...timeSigs);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\t//const measureWidths = this.staves[0].measures.map(measure => measure.width);\n\t\t//const measureStartXs = [0, ...this.measureBars];\n\n\t\tconst columns = Array(this.measureCount)\n\t\t\t.fill(null)\n\t\t\t.map(\n\t\t\t\t(_, i): EventMeasureColumn => ({\n\t\t\t\t\tmeasureIndex: this.headMeasureIndex + i,\n\t\t\t\t\t//startX: measureStartXs[i],\n\t\t\t\t\t//width: measureWidths[i],\n\t\t\t\t\trows: rows.map((row) => row[i]),\n\t\t\t\t\tmarks: [],\n\t\t\t\t\t//xToTick: {},\n\t\t\t\t\tduration: 0,\n\t\t\t\t\tvoltaBegin: rows.some((row) => row[i].voltaBegin),\n\t\t\t\t\tvoltaEnd: rows.some((row) => row[i].voltaEnd),\n\t\t\t\t\talternative: rows.some((row) => row.alternative),\n\t\t\t\t\tbarTypes: rows.reduce(\n\t\t\t\t\t\t(ts, row) => ({\n\t\t\t\t\t\t\t...ts,\n\t\t\t\t\t\t\t...row[i].barTypes,\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t{} as Record\n\t\t\t\t\t),\n\t\t\t\t})\n\t\t\t);\n\n\t\treturn {\n\t\t\tstaffMask: this.staffMask,\n\t\t\tcolumns,\n\t\t};\n\t}\n\n\tassignSemantics(staffIndex: number, graph: SemanticGraph): void {\n\t\tconst staff = this.staves[staffIndex];\n\t\tconsole.assert(staff, 'staff is null:', staffIndex, this.staves);\n\t\tconst oy = staff.top + staff.staffY;\n\n\t\tgraph.getSystemPoints().forEach((point) => {\n\t\t\tconst p = { ...point };\n\t\t\tp.y += oy;\n\n\t\t\tif (p.extension) {\n\t\t\t\tp.extension = { ...p.extension };\n\t\t\t\tif (Number.isFinite(p.extension.y1)) {\n\t\t\t\t\tp.extension.y1 += oy;\n\t\t\t\t\tp.extension.y2 += oy;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.semantics.push(p);\n\t\t});\n\t}\n\n\t// generate tokens from semantics\n\tassemble(threshold: number, logger: Logger = new DummyLogger()): void {\n\t\t//console.log(\"System.assignSemantics:\", graph);\n\t\tthis.measureBars = [];\n\n\t\tif (!this.semantics) return;\n\n\t\tconst graph = SemanticGraph.fromPoints(this.semantics);\n\n\t\tconst bars = graph.getConfidentLayer(SemanticType.vline_BarMeasure, threshold);\n\t\tbars.sort((b1, b2) => b1.x - b2.x);\n\n\t\tconst staffTop = this.staffTop;\n\t\tconst staffBottom = this.staffBottom;\n\n\t\tconst MERGE_WINDOW = 0.4;\n\t\tlet lastX = 0;\n\t\tconst barColumns: { [key: number]: number } = bars.reduce((columns, bar) => {\n\t\t\tconst confidence = Number.isFinite(bar.confidence) ? Math.tanh(bar.confidence) : 1;\n\n\t\t\tconst x = bar.x - lastX > MERGE_WINDOW ? bar.x : lastX;\n\t\t\tlastX = bar.x;\n\t\t\tlet intensity = columns[x] || 0;\n\t\t\tintensity += (Math.min(bar.extension.y2, staffBottom) - Math.max(bar.extension.y1, staffTop)) * confidence;\n\n\t\t\tif (bar.x !== x) delete columns[x];\n\t\t\tcolumns[bar.x] = intensity;\n\n\t\t\treturn columns;\n\t\t}, {});\n\t\tconst barXs: number[] = Object.entries(barColumns)\n\t\t\t.filter(([x, intensity]) => (void x, intensity > 3 * this.staves.length))\n\t\t\t.map(([x]) => Number(x));\n\t\tbarXs.sort((x1, x2) => x1 - x2);\n\t\tbarXs.forEach((x, i) => {\n\t\t\tif (i <= 0 || x - barXs[i - 1] > 2) this.measureBars.push(x);\n\t\t});\n\n\t\tif (!this.measureBars.length) this.measureBars.push(this.width);\n\n\t\tthis.tidyMeasureBars();\n\t\tthis.rearrangeMeasures();\n\n\t\t// measure bar type\n\t\tconst typeBars = this.semantics.filter((point) => [SemanticType.vline_BarTerminal, SemanticType.vline_BarSegment].includes(point.semantic));\n\t\ttypeBars.forEach((bar) => {\n\t\t\tconst measure = this.staves[0].measures.find((measure) => bar.x > measure.right - 2 && bar.x < measure.right + 1);\n\t\t\tif (measure) {\n\t\t\t\tconst type = bar.semantic.replace(/^vline_Bar/, '');\n\t\t\t\tmeasure.barTypes[type] = measure.barTypes[type] || 0;\n\t\t\t\tmeasure.barTypes[type] += bar.confidence;\n\t\t\t}\n\t\t});\n\n\t\tlet staffIndex = 0;\n\t\tconst staffMask = this.staffMask;\n\t\tthis.staves.forEach((staff, si) => {\n\t\t\t// staff index\n\t\t\twhile (!(staffMask & (1 << staffIndex))) ++staffIndex;\n\t\t\tstaff.index = staffIndex++;\n\n\t\t\t// assign semantic boundaries\n\t\t\tif (si === 0) staff.semanticTop = -staff.staffY;\n\t\t\telse {\n\t\t\t\tconst prevStaff = this.staves[si - 1];\n\t\t\t\tstaff.semanticTop = prevStaff.top + prevStaff.staffY + 3 - (staff.top + staff.staffY);\n\t\t\t}\n\n\t\t\tif (si < this.staves.length - 1) {\n\t\t\t\tconst nextStaff = this.staves[si + 1];\n\t\t\t\tstaff.semanticBottom = nextStaff.top + nextStaff.staffY - 3 - (staff.top + staff.staffY);\n\t\t\t} else staff.semanticBottom = this.height - (staff.top + staff.staffY);\n\n\t\t\tif (staff.semantics && staff.semantics.length) {\n\t\t\t\tstaff.semantics.forEach((point) => hashSemanticPoint(this.index, si, point));\n\n\t\t\t\tstaff.clearPredictedTokens();\n\t\t\t\tstaff.assemble(threshold, this, logger);\n\t\t\t}\n\t\t});\n\t}\n\n\tqualifiedSemantics(semantics: SemanticPoint[], threshold: number = 1): SemanticPoint[] {\n\t\treturn semantics\n\t\t\t.filter(\n\t\t\t\t(p) => this.sidWhiteList.includes(p.id) || (!this.sidBlackList.includes(p.id) && (p.confidence >= threshold || !Number.isFinite(p.confidence)))\n\t\t\t)\n\t\t\t.map((point) => {\n\t\t\t\t// displace semantic point\n\t\t\t\tif (this.displacementSemantics && this.displacementSemantics[point.id]) return { ...point, ...this.displacementSemantics[point.id] };\n\n\t\t\t\treturn point;\n\t\t\t});\n\t}\n\n\tclearTokens(): void {\n\t\tthis.staves.forEach((staff) => staff.clearTokens());\n\t\tthis.semantics = [];\n\t}\n\n\tnewPoint(staffIndex: number, data: SemanticPoint, threshold: number = 1): SemanticPoint {\n\t\tconst staff = this.staves[staffIndex];\n\t\tconsole.assert(staff, 'staff index out of bound:', staffIndex, this.staves.length);\n\n\t\tconst { semantic, x, y, confidence = 0, extension = null } = data;\n\t\tconst point = { semantic, x, y, confidence, extension };\n\t\tif (!point.extension) delete point.extension;\n\n\t\thashSemanticPoint(this.index, staffIndex, point);\n\t\tstaff.semantics.push(point);\n\t\tstaff.clearPredictedTokens();\n\t\tstaff.assemble(threshold, this);\n\n\t\treturn point;\n\t}\n\n\tappendToken(token: TextToken): void {\n\t\tthis.tokens.push(token);\n\n\t\tswitch (token.textType) {\n\t\t\tcase TextType.TempoNumeral:\n\t\t\t\t{\n\t\t\t\t\t// remove noteheads in text area\n\t\t\t\t\tconst staff = this.staves[0];\n\t\t\t\t\tif (staff) {\n\t\t\t\t\t\tconst oy = staff.top + staff.staffY;\n\t\t\t\t\t\tstaff.measures.forEach((measure) => {\n\t\t\t\t\t\t\tmeasure.tokens = measure.tokens.filter(\n\t\t\t\t\t\t\t\t(t) =>\n\t\t\t\t\t\t\t\t\t!TokenNoteheads.includes(t.type) ||\n\t\t\t\t\t\t\t\t\tMath.abs(t.x - token.x) > token.width / 2 ||\n\t\t\t\t\t\t\t\t\tMath.abs(oy + t.y - token.y) > token.fontSize / 2\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\tcase TextType.Alternation1:\n\t\t\tcase TextType.Alternation2:\n\t\t\t\t//console.log(\"appendToken:\", token, this.staves[0].measures);\n\t\t\t\tthis.staves[0].measures.forEach((measure) => {\n\t\t\t\t\tconst overlap = Math.min(measure.left + measure.width, token.x + token.width / 2) - Math.max(measure.left, token.x - token.width / 2);\n\t\t\t\t\tmeasure.alternative = measure.alternative || overlap / measure.width > 0.5;\n\t\t\t\t});\n\n\t\t\t\tbreak;\n\t\t}\n\t}\n}\n\nclass Page extends SimpleClass {\n\tstatic className = 'Page';\n\tstatic blackKeys = ['index', 'tokens'];\n\n\tindex?: number;\n\n\t// in units\n\twidth: number;\n\theight: number;\n\n\tsystems: System[];\n\n\tsource: SourceImageFile;\n\tlayout?: PageLayout;\n\n\tsemantics: SemanticPoint[];\n\ttokens?: Token[];\n\n\tconstructor(data: any) {\n\t\tsuper();\n\t\tsuper.assign(data);\n\n\t\tthis.systems = this.systems || [];\n\n\t\tif (this.source) {\n\t\t\tthis.source.matrix = this.source.matrix || [1, 0, 0, 1, 0, 0];\n\t\t}\n\t}\n\n\tget sidBlackList(): Set {\n\t\tconst ids = [].concat(...this.systems.map((system) => system.sidBlackList));\n\n\t\treturn new Set(ids);\n\t}\n\n\tget sidWhiteList(): Set {\n\t\tconst ids = [].concat(...this.systems.map((system) => system.sidWhiteList));\n\n\t\treturn new Set(ids);\n\t}\n\n\tclearTokens(): void {\n\t\tthis.semantics = null;\n\t\tthis.tokens = null;\n\n\t\tthis.systems.forEach((system) => (system.tokens = null));\n\t}\n\n\tassignTexts(areas: TextArea[], [imageHeight, imageWidth]: [number, number]): void {\n\t\tconst interval = this.source && this.source.interval ? this.source.interval * (imageHeight / this.source.dimensions.height) : imageHeight / this.height;\n\n\t\tthis.semantics = areas.map((area) => {\n\t\t\tconst p = {\n\t\t\t\tx: (area.cx - imageWidth / 2) / interval,\n\t\t\t\ty: (area.cy - imageHeight / 2) / interval,\n\t\t\t};\n\t\t\tconst rp = this.source && this.source.matrix ? trans23(p, this.source.matrix) : p;\n\n\t\t\treturn {\n\t\t\t\tconfidence: area.score,\n\t\t\t\tx: rp.x + this.width / 2,\n\t\t\t\ty: rp.y + this.height / 2,\n\t\t\t\tsemantic: SemanticType.rect_Text,\n\t\t\t\textension: {\n\t\t\t\t\ttext: area.text,\n\t\t\t\t\ttype: area.type,\n\t\t\t\t\twidth: area.width / interval,\n\t\t\t\t\theight: area.height / interval,\n\t\t\t\t\ttheta: area.theta,\n\t\t\t\t\ttextFeature: area.feature_dict,\n\t\t\t\t},\n\t\t\t};\n\t\t});\n\t}\n\n\tassemble({ textAnnotations = null }: { textAnnotations?: { [id: string]: string } } = {}, logger: Logger = new DummyLogger()): void {\n\t\tthis.tokens = [];\n\t\tthis.systems.forEach((system) => (system.tokens = []));\n\n\t\t// compute system indent\n\t\tif (this.systems.length) {\n\t\t\tconst sysXs = this.systems.map((system) => system.left);\n\t\t\tconst middleX = sysXs[Math.floor((sysXs.length - 1) / 2)];\n\t\t\tthis.systems.forEach((system) => (system.indent = system.left > middleX + INDENT_THRESHOLD));\n\t\t}\n\n\t\tif (this.semantics) {\n\t\t\tconst pageName = this.source ? this.source.name : this.index.toString();\n\n\t\t\tthis.semantics.forEach((point) => {\n\t\t\t\thashPageSemanticPoint(pageName, point);\n\n\t\t\t\tconst fields = {\n\t\t\t\t\tid: point.id,\n\t\t\t\t\ttype: TokenType.Text,\n\t\t\t\t\tconfidence: point.confidence,\n\t\t\t\t\ttextType: TEXT_TYPE_ALIAS[point.extension.type] || point.extension.type,\n\t\t\t\t\ttext: (textAnnotations && textAnnotations[point.id]) || point.extension.text,\n\t\t\t\t\ttextFeasure: point.extension.textFeature,\n\t\t\t\t\twidth: point.extension.width,\n\t\t\t\t\tfontSize: point.extension.height,\n\t\t\t\t};\n\n\t\t\t\tswitch (point.semantic) {\n\t\t\t\t\tcase SemanticType.rect_Text:\n\t\t\t\t\t\tswitch (fields.textType) {\n\t\t\t\t\t\t\t// page tokens\n\t\t\t\t\t\t\tcase TextType.Title:\n\t\t\t\t\t\t\tcase TextType.Author:\n\t\t\t\t\t\t\tcase TextType.PageMargin:\n\t\t\t\t\t\t\tcase TextType.Other:\n\t\t\t\t\t\t\t\tthis.tokens.push(\n\t\t\t\t\t\t\t\t\tnew TextToken({\n\t\t\t\t\t\t\t\t\t\tx: point.x,\n\t\t\t\t\t\t\t\t\t\ty: point.y,\n\t\t\t\t\t\t\t\t\t\t...fields,\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t// tokens on the top of system\n\t\t\t\t\t\t\tcase TextType.TempoNumeral:\n\t\t\t\t\t\t\tcase TextType.Chord:\n\t\t\t\t\t\t\tcase TextType.MeasureNumber:\n\t\t\t\t\t\t\tcase TextType.Instrument:\n\t\t\t\t\t\t\tcase TextType.Alternation1:\n\t\t\t\t\t\t\tcase TextType.Alternation2:\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tconst system = this.systems.find((system) => system.top + system.staffTop > point.y);\n\t\t\t\t\t\t\t\t\tif (system) {\n\t\t\t\t\t\t\t\t\t\tsystem.appendToken(\n\t\t\t\t\t\t\t\t\t\t\tnew TextToken({\n\t\t\t\t\t\t\t\t\t\t\t\tx: point.x - system.left,\n\t\t\t\t\t\t\t\t\t\t\t\ty: point.y - system.top,\n\t\t\t\t\t\t\t\t\t\t\t\t...fields,\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t// tokens in staff\n\t\t\t\t\t\t\tcase TextType.TextualMark:\n\t\t\t\t\t\t\tcase TextType.Times:\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tconst system = [...this.systems].reverse().find((system) => system.top < point.y);\n\t\t\t\t\t\t\t\t\tif (system) {\n\t\t\t\t\t\t\t\t\t\tconst sy = point.y - (system.top + system.staffTop);\n\t\t\t\t\t\t\t\t\t\tconst sx = point.x - system.left;\n\t\t\t\t\t\t\t\t\t\tconst staff = system.staves.find((staff) => sy >= staff.top && sy < staff.top + staff.height);\n\t\t\t\t\t\t\t\t\t\tif (staff) {\n\t\t\t\t\t\t\t\t\t\t\tconst measure = staff.measures.find((measure) => sx >= measure.left && sx < measure.left + measure.width);\n\t\t\t\t\t\t\t\t\t\t\tif (measure) {\n\t\t\t\t\t\t\t\t\t\t\t\tmeasure.tokens.push(\n\t\t\t\t\t\t\t\t\t\t\t\t\tnew TextToken({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tx: sx,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ty: sy,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...fields,\n\t\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n}\n\nexport { Measure, Staff, System, Page };\n","import { ChordColumn, Fraction } from './interfaces';\nimport { GraceType } from './term';\nimport { roundNumber } from './utils';\nimport { SimpleClass } from './aux_/typedJSON';\n\nenum SemanticElementType {\n\tBOS,\n\tPAD,\n\n\tNoteheadS0,\n\tNoteheadS1,\n\tNoteheadS2,\n\tNoteheadGrace,\n\tvline_Stem,\n\tFlag3,\n\tBeamLeft,\n\tBeamContinue,\n\tBeamRight,\n\tDot,\n\tRest0,\n\tRest1,\n\tRest2,\n\tRest3,\n\tRest4,\n\tRest5,\n\tRest6,\n\n\t// measure time signature denominators & numerators\n\tTimeD2,\n\tTimeD4,\n\tTimeD8,\n\tTimeN1,\n\tTimeN2,\n\tTimeN3,\n\tTimeN4,\n\tTimeN5,\n\tTimeN6,\n\tTimeN7,\n\tTimeN8,\n\tTimeN9,\n\tTimeN10,\n\tTimeN11,\n\tTimeN12,\n}\n\nconst TIME_SIG_DENOMINATORS = Object.fromEntries([2, 4, 8].map((n) => [n, SemanticElementType[`TimeD${n}`]]));\nconst TIME_SIG_NUMERATORS = Object.fromEntries(\n\tArray(12)\n\t\t.fill(null)\n\t\t.map((_, i) => i + 1)\n\t\t.map((n) => [n, SemanticElementType[`TimeN${n}`]])\n);\n\nconst et = SemanticElementType;\n\nconst ELEMENT_TOKEN_NAMES = {\n\t[et.BOS]: 'BOS',\n\t[et.NoteheadS0]: 'noteheads-s0',\n\t[et.NoteheadS1]: 'noteheads-s1',\n\t[et.NoteheadS2]: 'noteheads-s2',\n\t[et.NoteheadGrace]: 'GraceNotehead',\n\t[et.Flag3]: 'flags-u3',\n\t[et.BeamLeft]: 'BeamLeft',\n\t[et.BeamContinue]: 'BeamContinue',\n\t[et.BeamRight]: 'BeamRight',\n\t[et.Dot]: 'dot',\n\t[et.Rest0]: 'rests-0o',\n\t[et.Rest1]: 'rests-1o',\n\t[et.Rest2]: 'rests-2',\n\t[et.Rest3]: 'rests-3',\n\t[et.Rest4]: 'rests-4',\n\t[et.Rest5]: 'rests-5',\n\t[et.Rest6]: 'rests-6',\n};\n\nconst NOTEHEAD_BASE_DIVISION = {\n\t[et.NoteheadS0]: 0,\n\t[et.NoteheadS1]: 1,\n\t[et.NoteheadS2]: 2,\n\t[et.NoteheadGrace]: 2,\n};\n\nconst NOTEHEAD_ELEMENT_TYPES = [et.NoteheadS0, et.NoteheadS1, et.NoteheadS2, et.NoteheadGrace];\n\nconst REST_ELEMENT_TYPES = [et.Rest0, et.Rest1, et.Rest2, et.Rest3, et.Rest4, et.Rest5, et.Rest6];\n\nconst BEAM_ELEMENT_TYPES = [et.BeamLeft, et.BeamContinue, et.BeamRight];\n\nconst NOTE_ELEMENT_TYPES = [...NOTEHEAD_ELEMENT_TYPES, ...REST_ELEMENT_TYPES];\n\nconst SOURCE_ELEMENT_TYPES = [...NOTEHEAD_ELEMENT_TYPES, ...REST_ELEMENT_TYPES, et.vline_Stem];\n\nconst TARGET_ELEMENT_TYPES = [et.BOS, et.NoteheadS0, et.vline_Stem, ...REST_ELEMENT_TYPES];\n\nconst ROOT_NOTE_ELEMENT_TYPES = [...NOTE_ELEMENT_TYPES, et.vline_Stem];\n\nconst ELEMENT_TO_STEMBEAM = {\n\t[et.BeamLeft]: 'Open',\n\t[et.BeamRight]: 'Close',\n};\n\ninterface SemanticElement {\n\ttype: SemanticElementType;\n\tstaff: number;\n\tx: number;\n\ty1: number;\n\ty2: number;\n\n\tindex?: number;\n\ttick?: number;\n\tid?: string;\n}\n\ntype Matrix = number[][];\n\nconst metaElem = (type: SemanticElementType): SemanticElement => ({\n\ttype,\n\tstaff: -1,\n\tx: 0,\n\ty1: 0,\n\ty2: 0,\n});\n\nconst BOS_ELEMENT = metaElem(SemanticElementType.BOS);\n\nconst fractionToElems = (fraction: Fraction): SemanticElement[] => [\n\tmetaElem(TIME_SIG_NUMERATORS[fraction.numerator]),\n\tmetaElem(TIME_SIG_DENOMINATORS[fraction.denominator]),\n];\n\nconst argmax = (data: number[], mask: boolean[]): number => {\n\tconst values = data.filter((_, i) => mask[i]);\n\tconst max = Math.max(...values);\n\n\treturn data.findIndex((x) => x === max);\n};\n\nclass SemanticCluster extends SimpleClass {\n\tindex?: number;\n\n\telements: SemanticElement[];\n\tmatrixH?: Matrix; // matrix N x N\n\t_matrixV?: Matrix; // matrix N x N\n\tgroupsV?: number[][]; // ids array\n\tmasks?: [boolean[], boolean[], boolean[]]; // the masks for: [jointer source, jointer target, V]\n\n\tstatic elementToJSON(elem: SemanticElement): object {\n\t\tconst result: any = {\n\t\t\ttype: elem.type,\n\t\t\tstaff: elem.staff,\n\t\t\tx: elem.x,\n\t\t\ty1: elem.y1,\n\t\t\ty2: elem.y2,\n\t\t};\n\n\t\tif (elem.id) result.id = elem.id;\n\n\t\treturn result;\n\t}\n\n\tconstructor(data: object) {\n\t\tsuper();\n\t\tsuper.assign(data);\n\t}\n\n\tget sourceMask(): boolean[] {\n\t\treturn this.elements.map((elem) => SOURCE_ELEMENT_TYPES.includes(elem.type));\n\t}\n\n\tget targetMask(): boolean[] {\n\t\treturn this.elements.map((elem) => TARGET_ELEMENT_TYPES.includes(elem.type));\n\t}\n\n\tget vMask(): boolean[] {\n\t\treturn this.elements.map((elem) => ROOT_NOTE_ELEMENT_TYPES.includes(elem.type));\n\t}\n\n\tget compactMatrixH(): Matrix {\n\t\tif (!this.matrixH) return null;\n\n\t\tconst sourceMask = this.sourceMask;\n\t\tconst targetMask = this.targetMask;\n\n\t\treturn this.matrixH.filter((_, i) => sourceMask[i]).map((row) => row.filter((_, j) => targetMask[j]));\n\t}\n\n\tset compactMatrixH(value: Matrix) {\n\t\tthis.matrixH = expandMatrixByMasks([].concat(...value), [this.sourceMask, this.targetMask]);\n\t}\n\n\tget compactMatrixV(): number[] {\n\t\tif (!this._matrixV) return null;\n\n\t\tconst vMask = this.vMask;\n\n\t\tconst matrix = this._matrixV.filter((_, i) => vMask[i]).map((row) => row.filter((_, j) => vMask[j]));\n\n\t\treturn [].concat(...matrix.map((row, i) => row.slice(0, i)));\n\t}\n\n\tset compactMatrixV(value: number[]) {\n\t\tthis.matrixV = value && expandMatrixByMaskTriu(value, this.vMask);\n\t}\n\n\tget matrixV(): Matrix {\n\t\treturn this.groupsV && matrixFromGroups(this.elements.length, this.groupsV);\n\t}\n\n\tset matrixV(value: Matrix) {\n\t\tif (!value) {\n\t\t\tthis.groupsV = null;\n\t\t\tthis._matrixV = value;\n\t\t\treturn;\n\t\t}\n\n\t\tconst THRESHOLD = 0.5;\n\n\t\tconst groups: number[][] = [];\n\t\tconst vMask = value.map((row, i) => row.some(Number.isFinite) || value.some((row) => Number.isFinite(row[i])));\n\n\t\tvalue.forEach((row, i) => {\n\t\t\tif (vMask[i]) {\n\t\t\t\tlet found = false;\n\n\t\t\t\tfor (let j = 0; j < i; ++j) {\n\t\t\t\t\tconst cell = row[j];\n\t\t\t\t\tif (cell >= THRESHOLD) {\n\t\t\t\t\t\tconst g = groups.findIndex((group) => group.includes(j));\n\t\t\t\t\t\tgroups[g].push(i);\n\n\t\t\t\t\t\tfound = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (!found) groups.push([i]);\n\t\t\t}\n\t\t});\n\n\t\tthis.groupsV = groups;\n\t\tthis._matrixV = value;\n\t}\n\n\ttoJSON(): any {\n\t\treturn {\n\t\t\t__prototype: 'SemanticCluster',\n\t\t\tindex: this.index,\n\t\t\telements: this.elements.map(SemanticCluster.elementToJSON),\n\t\t\tcompactMatrixH: this.compactMatrixH,\n\t\t\tcompactMatrixV: this.compactMatrixV,\n\t\t\t//groupsV: this.groupsV,\n\t\t};\n\t}\n\n\tstatic mapMatrix(matrix: number[][], x2i: number[], i2x: number[]): number[][] {\n\t\tconst rows = x2i.reduce((rows, i, x) => {\n\t\t\tif (rows[i]) rows[i] = rows[i].map((v, xi) => (v + matrix[x][xi] ? 1 : 0));\n\t\t\telse rows[i] = matrix[x];\n\n\t\t\treturn rows;\n\t\t}, [] as number[][]);\n\n\t\treturn rows.map((row) => i2x.map((x) => row[x]));\n\t}\n\n\tmergeOverlapping() {\n\t\tconst overlaps = this.overlappedNoteheads();\n\t\tif (overlaps.length) {\n\t\t\tconst x2i = this.elements.map((_, index) => {\n\t\t\t\tconst pair = overlaps.find((ij) => index === ij[1]);\n\t\t\t\tconst i = pair ? pair[0] : index;\n\n\t\t\t\treturn i - overlaps.filter((ij) => ij[1] < i).length;\n\t\t\t});\n\t\t\tconst i2x = Array(this.elements.length - overlaps.length)\n\t\t\t\t.fill(null)\n\t\t\t\t.map((_, i) => x2i.findIndex((ii) => ii === i));\n\n\t\t\tthis.elements = i2x.map((x) => this.elements[x]);\n\t\t\tconsole.assert(this.elements.every(Boolean), 'null element found:', this, x2i, i2x);\n\n\t\t\tthis.matrixH = SemanticCluster.mapMatrix(this.matrixH, x2i, i2x);\n\t\t\tthis.groupsV = this.groupsV.map((group) => Array.from(new Set(group.map((x) => x2i[x]))));\n\t\t}\n\t}\n\n\toverlappedNoteheads(): [number, number][] {\n\t\tconst indices = [];\n\n\t\tconst noteheads = this.elements.filter((elem) => NOTEHEAD_ELEMENT_TYPES.includes(elem.type));\n\t\tfor (let i = 0; i < noteheads.length; ++i) {\n\t\t\tconst nh1 = noteheads[i];\n\t\t\tfor (let j = i + 1; j < noteheads.length; ++j) {\n\t\t\t\tconst nh2 = noteheads[j];\n\t\t\t\tif ((nh1.x - nh2.x) * (nh1.x - nh2.x) + (nh1.y1 - nh2.y1) * (nh1.y1 - nh2.y1) < 0.2 ** 2) indices.push([nh1.index, nh2.index]);\n\t\t\t}\n\t\t}\n\n\t\treturn indices;\n\t}\n\n\tgetEvents(): ChordColumn[] {\n\t\tconsole.assert(this.matrixH, '[SemanticCluster.getEvents]\tmatrixH is null.');\n\n\t\tconst NOTE_STEM_CONFIDENCE = 0.5;\n\n\t\tconst ids = Array(this.elements.length)\n\t\t\t.fill(null)\n\t\t\t.map((_, index) => index);\n\n\t\tconst targetMask = this.masks ? this.masks[1] : ids.map((id) => TARGET_ELEMENT_TYPES.includes(this.elements[id].type));\n\n\t\t//const stems = ids.filter(i => this.elements[i].type === et.vline_Stem);\n\t\tconst stemMasks = ids.map((id) => this.elements[id].type === et.vline_Stem && this.elements[id].y2 - this.elements[id].y1 > 2); // TODO: sift out too short stems by rectification model\n\t\tconst stemNotes = ids.filter((i) => [et.NoteheadS1, et.NoteheadS2, et.NoteheadGrace].includes(this.elements[i].type));\n\t\tconst s0s = ids.filter((i) => this.elements[i].type === et.NoteheadS0);\n\t\tconst subS0Masks = ids.map(() => false);\n\n\t\t// root elements: top NoteheadS0, Rests, stem with noteheads\n\t\tconst stemMap: { [stem: number]: number[] } = {};\n\t\tstemNotes.forEach((id) => {\n\t\t\tconst note = this.elements[id];\n\t\t\tconst stems = ids\n\t\t\t\t.filter((i) => stemMasks[i])\n\t\t\t\t.filter((stemId) => this.elements[stemId].y1 - 0.5 < note.y1 && this.elements[stemId].y2 + 0.5 > note.y1) // filter by stem Y range\n\t\t\t\t.sort((i1, i2) => this.matrixH[id][i2] - this.matrixH[id][i1]) // sort by confidence\n\t\t\t\t.slice(0, 2)\n\t\t\t\t.filter((i, ii) => ii === 0 || this.matrixH[id][i] >= NOTE_STEM_CONFIDENCE);\n\t\t\tstems.forEach((stem) => {\n\t\t\t\tstemMap[stem] = stemMap[stem] || [];\n\t\t\t\tstemMap[stem].push(id);\n\t\t\t});\n\t\t});\n\n\t\ts0s.forEach((id) => {\n\t\t\tconst s0 = this.elements[id];\n\t\t\tconst prevId = argmax(this.matrixH[id], targetMask);\n\t\t\tconst prev = this.elements[prevId];\n\t\t\tif (prev.type === et.NoteheadS0 && Math.abs(s0.x - prev.x) < 2.6) {\n\t\t\t\tsubS0Masks[id] = true;\n\t\t\t\tstemMap[prevId] = stemMap[prevId] || [prevId];\n\t\t\t\tstemMap[prevId].push(id);\n\t\t\t} else stemMap[id] = stemMap[id] || [id];\n\t\t});\n\n\t\t// setup linkings\n\t\tconst linkings: { [key: number]: number } = {};\n\n\t\tconst roots = ids.filter((id) => stemMap[id] || REST_ELEMENT_TYPES.includes(this.elements[id].type));\n\t\troots.sort((i1, i2) => this.elements[i1].x - this.elements[i2].x); // traverse roots from left to right later\n\n\t\tconst parentMasks = ids.map((id) => id === et.BOS);\n\t\troots.forEach((id) => {\n\t\t\tconst parentId = argmax(this.matrixH[id], parentMasks);\n\t\t\tlinkings[id] = parentId;\n\n\t\t\tif (parentId && !REST_ELEMENT_TYPES.includes(this.elements[parentId].type)) parentMasks[parentId] = false;\n\n\t\t\tparentMasks[id] = true;\n\t\t});\n\t\t//console.log(\"topology:\", stemMap, linkings);\n\n\t\tconst dots = this.elements.filter((elem) => elem.type === et.Dot);\n\t\tconst flags = this.elements.filter((elem) => elem.type === et.Flag3);\n\t\tconst beams = this.elements.filter((elem) => BEAM_ELEMENT_TYPES.includes(elem.type));\n\n\t\tconst groupsV = this.groupsV;\n\n\t\treturn roots\n\t\t\t.map((rootId): ChordColumn => {\n\t\t\t\tconst root = this.elements[rootId];\n\n\t\t\t\tconst tickGroup = groupsV ? groupsV.findIndex((group) => group.includes(rootId)) : null;\n\n\t\t\t\tif (REST_ELEMENT_TYPES.includes(root.type)) {\n\t\t\t\t\tconst nearbyDots = dots.filter((dot) => dot.x > root.x + 0.5 && dot.x < root.x + 0.75 + 1.2 && dot.y1 > root.y1 - 1 && dot.y1 < root.y1);\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tleft: root.x - 0.75,\n\t\t\t\t\t\tright: root.x + 0.75,\n\t\t\t\t\t\tpivotX: root.x,\n\t\t\t\t\t\trest: true,\n\t\t\t\t\t\tys: [root.y1],\n\t\t\t\t\t\tnoteIds: [root.id],\n\t\t\t\t\t\tdots: nearbyDots.length,\n\t\t\t\t\t\tdivision: root.type - et.Rest0,\n\t\t\t\t\t\tstemDirection: null,\n\t\t\t\t\t\tid: rootId,\n\t\t\t\t\t\tprevId: linkings[rootId],\n\t\t\t\t\t\tstaff: root.staff,\n\t\t\t\t\t\ttickGroup,\n\t\t\t\t\t};\n\t\t\t\t} else if (stemMap[rootId]) {\n\t\t\t\t\tconst subNotes = stemMap[rootId].map((id) => this.elements[id]);\n\t\t\t\t\tconst left = Math.min(...subNotes.map((n) => n.x - 0.7));\n\t\t\t\t\tconst right = Math.max(...subNotes.map((n) => n.x + 0.7));\n\t\t\t\t\tsubNotes.sort((n1, n2) => n2.y1 - n1.y1);\n\n\t\t\t\t\tconst ys = subNotes.map((note) => note.y1);\n\n\t\t\t\t\tconst noteIds = subNotes.map((note) => note.id);\n\n\t\t\t\t\tconst top = ys[0];\n\t\t\t\t\tconst bottom = ys[ys.length - 1];\n\n\t\t\t\t\tconst nearbyDots = dots.filter((dot) => dot.x > right && dot.x < right + 1.2 && dot.y1 > top - 1 && dot.y1 < bottom + 0.5);\n\t\t\t\t\tconst dotGroups: { [key: number]: SemanticElement[] } = nearbyDots.reduce((groups, dot) => {\n\t\t\t\t\t\tconst y = roundNumber(dot.y1, 0.5);\n\t\t\t\t\t\tgroups[y] = groups[y] || [];\n\t\t\t\t\t\tgroups[y].push(dot);\n\n\t\t\t\t\t\treturn groups;\n\t\t\t\t\t}, {});\n\t\t\t\t\tconst dotValue = Math.max(...Object.values(dotGroups).map((group) => group.length), 0);\n\n\t\t\t\t\tlet division = NOTEHEAD_BASE_DIVISION[subNotes[0].type];\n\n\t\t\t\t\tlet stemDirection = null;\n\t\t\t\t\tlet beam: string = null;\n\t\t\t\t\tlet tip = null;\n\t\t\t\t\tif (root.type === et.vline_Stem) {\n\t\t\t\t\t\tconst topTip = top - root.y1;\n\t\t\t\t\t\tconst bottomTip = root.y2 - bottom;\n\t\t\t\t\t\tstemDirection = topTip > bottomTip ? 'u' : 'd';\n\n\t\t\t\t\t\ttip = { x: root.x, y: stemDirection === 'u' ? root.y1 : root.y2 };\n\n\t\t\t\t\t\tif (division === 2) {\n\t\t\t\t\t\t\tconst flagRange = stemDirection === 'u' ? [root.y1 - 0.4, root.y2 - 1] : [root.y1 + 1, root.y2 + 0.4];\n\t\t\t\t\t\t\tconst nearbyFlags = flags.filter((flag) => Math.abs(flag.x - root.x) < 0.2 && flag.y1 > flagRange[0] && flag.y1 < flagRange[1]);\n\t\t\t\t\t\t\tdivision += nearbyFlags.length;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t//const tipY = stemDirection === \"u\" ? root.y1 : root.y2;\n\t\t\t\t\t\tconst tipRange = stemDirection === 'u' ? [root.y1 - 0.2, root.y1 + 0.9] : [root.y2 - 0.9, root.y2 + 0.2];\n\t\t\t\t\t\tconst beamElem = beams.find((beam) => Math.abs(beam.x - root.x) < 0.2 && beam.y1 > tipRange[0] && beam.y1 < tipRange[1]);\n\t\t\t\t\t\tbeam = beamElem ? ELEMENT_TO_STEMBEAM[beamElem.type] : null;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst grace = subNotes[0].type === SemanticElementType.NoteheadGrace ? GraceType.Grace : null;\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tleft,\n\t\t\t\t\t\tright,\n\t\t\t\t\t\tpivotX: root.x,\n\t\t\t\t\t\tys,\n\t\t\t\t\t\ttip,\n\t\t\t\t\t\tnoteIds,\n\t\t\t\t\t\tdivision,\n\t\t\t\t\t\tdots: dotValue,\n\t\t\t\t\t\trest: false,\n\t\t\t\t\t\tstemDirection,\n\t\t\t\t\t\tbeam,\n\t\t\t\t\t\tid: rootId,\n\t\t\t\t\t\tprevId: linkings[rootId],\n\t\t\t\t\t\tstaff: subNotes[0].staff,\n\t\t\t\t\t\tgrace,\n\t\t\t\t\t\ttickGroup,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t})\n\t\t\t.filter(Boolean);\n\t}\n}\n\ninterface SemanticClusterSetData {\n\tvocab?: string[];\n\tclusters: SemanticCluster[];\n}\n\nclass SemanticClusterSet {\n\tclusters: SemanticCluster[];\n\n\tconstructor(data?: SemanticClusterSetData) {\n\t\tif (data) {\n\t\t\tthis.clusters = data.clusters;\n\n\t\t\t// upgrade vocab\n\t\t\tif (data.vocab) {\n\t\t\t\tconst converts = data.vocab\n\t\t\t\t\t.map((name, i) => [i, SemanticElementType[name]])\n\t\t\t\t\t.filter(([x, y]) => x !== y)\n\t\t\t\t\t.reduce((table, [x, y]) => ((table[x] = y), table), {});\n\t\t\t\tthis.clusters.forEach((connection) =>\n\t\t\t\t\tconnection.elements.forEach((elem) => {\n\t\t\t\t\t\tif (Number.isFinite(converts[elem.type])) elem.type = converts[elem.type];\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\ttoJSON() {\n\t\tconst vocab = Object.entries(SemanticElementType)\n\t\t\t.filter((entry) => Number.isFinite(entry[1]))\n\t\t\t.map((entry) => entry[0]);\n\n\t\treturn {\n\t\t\t__prototype: 'SemanticClusterSet',\n\t\t\tvocab,\n\t\t\tclusters: this.clusters.map((c) => c.toJSON()),\n\t\t};\n\t}\n}\n\nconst expandMatrixByMasks = (matrix: number[], masks: [boolean[], boolean[]]): Matrix => {\n\tconst gen = function* (): Generator {\n\t\tfor (const x of matrix) yield x;\n\t};\n\tconst iter = gen();\n\n\tconst [maskSrc, maskTar] = masks;\n\n\treturn maskSrc.map((src) => maskTar.map((tar) => (src && tar ? iter.next().value : null)));\n};\n\nconst expandMatrixByMaskTriu = (matrix: number[], mask: boolean[]): Matrix => {\n\tconst gen = function* (): Generator {\n\t\tfor (const x of matrix) yield x;\n\t};\n\tconst iter = gen();\n\n\treturn mask.map((row, i) => mask.map((column, j) => (row && column && j < i ? iter.next().value : null)));\n};\n\nconst matrixFromGroups = (len: number, groups: number[][]): Matrix => {\n\tconst groupIds = Array(len)\n\t\t.fill(null)\n\t\t.map((_, i) => groups.findIndex((group) => group.includes(i)));\n\n\treturn Array(len)\n\t\t.fill(null)\n\t\t.map((_, i) =>\n\t\t\tArray(len)\n\t\t\t\t.fill(null)\n\t\t\t\t.map((_, j) => {\n\t\t\t\t\tif (j >= i) return null;\n\n\t\t\t\t\tconst id1 = groupIds[i];\n\t\t\t\t\tconst id2 = groupIds[j];\n\n\t\t\t\t\tif (id1 < 0 || id2 < 0) return null;\n\n\t\t\t\t\treturn id1 === id2 ? 1 : 0;\n\t\t\t\t})\n\t\t);\n};\n\nexport {\n\tSemanticElementType,\n\tSemanticElement,\n\tSemanticCluster,\n\tSemanticClusterSet,\n\tELEMENT_TOKEN_NAMES,\n\tNOTEHEAD_ELEMENT_TYPES,\n\tNOTE_ELEMENT_TYPES,\n\tBOS_ELEMENT,\n\tfractionToElems,\n\texpandMatrixByMasks,\n\texpandMatrixByMaskTriu,\n\tmatrixFromGroups,\n};\n","import { MusicNotation } from '@k-l-lambda/music-widgets';\n\n// implicit note (from expressive marks) types\nenum ImplicitType {\n\tNone = 0,\n\n\tMordent = 'mordent',\n\tPrall = 'prall',\n\tTurn = 'turn',\n\tTrill = 'trill',\n\tTremolo = 'tremolo',\n\tArpeggio = 'arpeggio',\n}\n\ninterface ChordPosition {\n\tindex: number;\n\tcount: number;\n}\n\nclass TokenPosition {\n\tsystem?: number;\n\tmeasure?: number;\n\tx: number;\n\tendX?: number;\n}\n\ninterface Note extends MusicNotation.Note {\n\tchordPosition?: ChordPosition;\n\tmeasure?: number;\n}\n\ninterface Notation {\n\tnotes: Note[];\n\tendTick: number;\n}\n\ninterface SheetPosition {\n\tsystem: number;\n\tx: number;\n}\n\nexport { ChordPosition, ImplicitType, TokenPosition, Note, Notation, SheetPosition };\n","\n/* Wrapper for accessing buffer through sequential reads */\n\n\n\nmodule.exports = class Stream {\n\tconstructor (buffer) {\n\t\tthis.array = new Uint8Array(buffer);\n\t\tthis.position = 0;\n\t}\n\n\n\teof () {\n\t\treturn this.position >= this.array.length;\n\t}\n\n\n\tread (length) {\n\t\tconst result = this.array.slice(this.position, this.position + length);\n\t\tthis.position += length;\n\n\t\treturn result;\n\t}\n\n\n\treadString (length) {\n\t\tconst data = Array.from(this.read(length));\n\n\t\treturn data.map(c => String.fromCharCode(c)).join(\"\");\n\t}\n\n\n\t// read a big-endian 32-bit integer\n\treadInt32 () {\n\t\tconst result = (\n\t\t\t(this.array[this.position] << 24) +\n\t\t\t(this.array[this.position + 1] << 16) +\n\t\t\t(this.array[this.position + 2] << 8) +\n\t\t\tthis.array[this.position + 3]);\n\t\tthis.position += 4;\n\n\t\treturn result;\n\t}\n\n\n\t// read a big-endian 16-bit integer\n\treadInt16 () {\n\t\tconst result = (\n\t\t\t(this.array[this.position] << 8) +\n\t\t\tthis.array[this.position + 1]);\n\t\tthis.position += 2;\n\n\t\treturn result;\n\t}\n\n\n\t// read an 8-bit integer\n\treadInt8 (signed) {\n\t\tlet result = this.array[this.position];\n\t\tif (signed && result > 127)\n\t\t\tresult -= 256;\n\t\tthis.position += 1;\n\n\t\treturn result;\n\t}\n\n\n\t/* read a MIDI-style variable-length integer\n\t\t(big-endian value in groups of 7 bits,\n\t\twith top bit set to signify that another byte follows)\n\t*/\n\treadVarInt () {\n\t\tlet result = 0;\n\t\twhile (true) {\n\t\t\tconst b = this.readInt8();\n\t\t\tif (b & 0x80) {\n\t\t\t\tresult += (b & 0x7f);\n\t\t\t\tresult <<= 7;\n\t\t\t}\n\t\t\telse {\n\t\t\t\t// b is the last byte\n\t\t\t\treturn result + b;\n\t\t\t}\n\t\t}\n\t}\n};\n","/*\nclass to parse the .mid file format\n(depends on stream.js)\n*/\n\nconst Stream = require(\"./stream.js\");\n\n\n\nmodule.exports = function MidiFile (data) {\n\tfunction readChunk (stream) {\n\t\tconst id = stream.readString(4);\n\t\tconst length = stream.readInt32();\n\n\t\treturn {\n\t\t\tid,\n\t\t\tlength,\n\t\t\tdata: stream.read(length),\n\t\t};\n\t}\n\n\tlet lastEventTypeByte;\n\n\tfunction readEvent (stream) {\n\t\tconst event = {};\n\t\tevent.deltaTime = stream.readVarInt();\n\t\tlet eventTypeByte = stream.readInt8();\n\t\tif ((eventTypeByte & 0xf0) === 0xf0) {\n\t\t\t// system / meta event\n\t\t\tif (eventTypeByte === 0xff) {\n\t\t\t\t// meta event\n\t\t\t\tevent.type = \"meta\";\n\t\t\t\tconst subtypeByte = stream.readInt8();\n\t\t\t\tconst length = stream.readVarInt();\n\n\t\t\t\tswitch (subtypeByte) {\n\t\t\t\tcase 0x00:\n\t\t\t\t\tevent.subtype = \"sequenceNumber\";\n\t\t\t\t\tif (length !== 2)\n\t\t\t\t\t\tthrow new Error(\"Expected length for sequenceNumber event is 2, got \" + length);\n\t\t\t\t\tevent.number = stream.readInt16();\n\n\t\t\t\t\treturn event;\n\t\t\t\tcase 0x01:\n\t\t\t\t\tevent.subtype = \"text\";\n\t\t\t\t\tevent.text = stream.readString(length);\n\n\t\t\t\t\treturn event;\n\t\t\t\tcase 0x02:\n\t\t\t\t\tevent.subtype = \"copyrightNotice\";\n\t\t\t\t\tevent.text = stream.readString(length);\n\n\t\t\t\t\treturn event;\n\t\t\t\tcase 0x03:\n\t\t\t\t\tevent.subtype = \"trackName\";\n\t\t\t\t\tevent.text = stream.readString(length);\n\n\t\t\t\t\treturn event;\n\t\t\t\tcase 0x04:\n\t\t\t\t\tevent.subtype = \"instrumentName\";\n\t\t\t\t\tevent.text = stream.readString(length);\n\n\t\t\t\t\treturn event;\n\t\t\t\tcase 0x05:\n\t\t\t\t\tevent.subtype = \"lyrics\";\n\t\t\t\t\tevent.text = stream.readString(length);\n\n\t\t\t\t\treturn event;\n\t\t\t\tcase 0x06:\n\t\t\t\t\tevent.subtype = \"marker\";\n\t\t\t\t\tevent.text = stream.readString(length);\n\n\t\t\t\t\treturn event;\n\t\t\t\tcase 0x07:\n\t\t\t\t\tevent.subtype = \"cuePoint\";\n\t\t\t\t\tevent.text = stream.readString(length);\n\n\t\t\t\t\treturn event;\n\t\t\t\tcase 0x20:\n\t\t\t\t\tevent.subtype = \"midiChannelPrefix\";\n\t\t\t\t\tif (length !== 1)\n\t\t\t\t\t\tthrow new Error(\"Expected length for midiChannelPrefix event is 1, got \" + length);\n\t\t\t\t\tevent.channel = stream.readInt8();\n\n\t\t\t\t\treturn event;\n\t\t\t\tcase 0x2f:\n\t\t\t\t\tevent.subtype = \"endOfTrack\";\n\t\t\t\t\tif (length !== 0)\n\t\t\t\t\t\tthrow new Error(\"Expected length for endOfTrack event is 0, got \" + length);\n\n\t\t\t\t\treturn event;\n\t\t\t\tcase 0x51:\n\t\t\t\t\tevent.subtype = \"setTempo\";\n\t\t\t\t\tif (length !== 3)\n\t\t\t\t\t\tthrow new Error(\"Expected length for setTempo event is 3, got \" + length);\n\t\t\t\t\tevent.microsecondsPerBeat = (\n\t\t\t\t\t\t(stream.readInt8() << 16) +\n\t\t\t\t\t\t\t(stream.readInt8() << 8) +\n\t\t\t\t\t\t\tstream.readInt8()\n\t\t\t\t\t);\n\n\t\t\t\t\treturn event;\n\t\t\t\tcase 0x54:\n\t\t\t\t\tevent.subtype = \"smpteOffset\";\n\t\t\t\t\tif (length !== 5)\n\t\t\t\t\t\tthrow new Error(\"Expected length for smpteOffset event is 5, got \" + length);\n\t\t\t\t\tconst hourByte = stream.readInt8();\n\t\t\t\t\tevent.frameRate = {\n\t\t\t\t\t\t0x00: 24, 0x20: 25, 0x40: 29, 0x60: 30,\n\t\t\t\t\t}[hourByte & 0x60];\n\t\t\t\t\tevent.hour = hourByte & 0x1f;\n\t\t\t\t\tevent.min = stream.readInt8();\n\t\t\t\t\tevent.sec = stream.readInt8();\n\t\t\t\t\tevent.frame = stream.readInt8();\n\t\t\t\t\tevent.subframe = stream.readInt8();\n\n\t\t\t\t\treturn event;\n\t\t\t\tcase 0x58:\n\t\t\t\t\tevent.subtype = \"timeSignature\";\n\t\t\t\t\tif (length !== 4)\n\t\t\t\t\t\tthrow new Error(\"Expected length for timeSignature event is 4, got \" + length);\n\t\t\t\t\tevent.numerator = stream.readInt8();\n\t\t\t\t\tevent.denominator = Math.pow(2, stream.readInt8());\n\t\t\t\t\tevent.metronome = stream.readInt8();\n\t\t\t\t\tevent.thirtyseconds = stream.readInt8();\n\n\t\t\t\t\treturn event;\n\t\t\t\tcase 0x59:\n\t\t\t\t\tevent.subtype = \"keySignature\";\n\t\t\t\t\tif (length !== 2)\n\t\t\t\t\t\tthrow new Error(\"Expected length for keySignature event is 2, got \" + length);\n\t\t\t\t\tevent.key = stream.readInt8(true);\n\t\t\t\t\tevent.scale = stream.readInt8();\n\n\t\t\t\t\treturn event;\n\t\t\t\tcase 0x7f:\n\t\t\t\t\tevent.subtype = \"sequencerSpecific\";\n\t\t\t\t\tevent.data = stream.readString(length);\n\n\t\t\t\t\treturn event;\n\t\t\t\tdefault:\n\t\t\t\t\t// console.log(\"Unrecognised meta event subtype: \" + subtypeByte);\n\t\t\t\t\tevent.subtype = \"unknown\";\n\t\t\t\t\tevent.data = stream.readString(length);\n\n\t\t\t\t\treturn event;\n\t\t\t\t}\n\n\t\t\t\t//event.data = stream.readString(length);\n\t\t\t\t//return event;\n\t\t\t}\n\t\t\telse if (eventTypeByte === 0xf0) {\n\t\t\t\tevent.type = \"sysEx\";\n\t\t\t\tconst length = stream.readVarInt();\n\t\t\t\tevent.data = stream.readString(length);\n\n\t\t\t\treturn event;\n\t\t\t}\n\t\t\telse if (eventTypeByte === 0xf7) {\n\t\t\t\tevent.type = \"dividedSysEx\";\n\t\t\t\tconst length = stream.readVarInt();\n\t\t\t\tevent.data = stream.readString(length);\n\n\t\t\t\treturn event;\n\t\t\t}\n\t\t\telse\n\t\t\t\tthrow new Error(\"Unrecognised MIDI event type byte: \" + eventTypeByte);\n\t\t}\n\t\telse {\n\t\t\t/* channel event */\n\t\t\tlet param1;\n\t\t\tif ((eventTypeByte & 0x80) === 0) {\n\t\t\t\t/* running status - reuse lastEventTypeByte as the event type.\n\t\t\t\t\teventTypeByte is actually the first parameter\n\t\t\t\t*/\n\t\t\t\tparam1 = eventTypeByte;\n\t\t\t\teventTypeByte = lastEventTypeByte;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tparam1 = stream.readInt8();\n\t\t\t\tlastEventTypeByte = eventTypeByte;\n\t\t\t}\n\n\t\t\tconst eventType = eventTypeByte >> 4;\n\t\t\tevent.channel = eventTypeByte & 0x0f;\n\t\t\tevent.type = \"channel\";\n\n\t\t\tswitch (eventType) {\n\t\t\tcase 0x08:\n\t\t\t\tevent.subtype = \"noteOff\";\n\t\t\t\tevent.noteNumber = param1;\n\t\t\t\tevent.velocity = stream.readInt8();\n\n\t\t\t\treturn event;\n\t\t\tcase 0x09:\n\t\t\t\tevent.noteNumber = param1;\n\t\t\t\tevent.velocity = stream.readInt8();\n\t\t\t\tif (event.velocity === 0)\n\t\t\t\t\tevent.subtype = \"noteOff\";\n\t\t\t\telse\n\t\t\t\t\tevent.subtype = \"noteOn\";\n\n\t\t\t\treturn event;\n\t\t\tcase 0x0a:\n\t\t\t\tevent.subtype = \"noteAftertouch\";\n\t\t\t\tevent.noteNumber = param1;\n\t\t\t\tevent.amount = stream.readInt8();\n\n\t\t\t\treturn event;\n\t\t\tcase 0x0b:\n\t\t\t\tevent.subtype = \"controller\";\n\t\t\t\tevent.controllerType = param1;\n\t\t\t\tevent.value = stream.readInt8();\n\n\t\t\t\treturn event;\n\t\t\tcase 0x0c:\n\t\t\t\tevent.subtype = \"programChange\";\n\t\t\t\tevent.programNumber = param1;\n\n\t\t\t\treturn event;\n\t\t\tcase 0x0d:\n\t\t\t\tevent.subtype = \"channelAftertouch\";\n\t\t\t\tevent.amount = param1;\n\n\t\t\t\treturn event;\n\t\t\tcase 0x0e:\n\t\t\t\tevent.subtype = \"pitchBend\";\n\t\t\t\tevent.value = param1 + (stream.readInt8() << 7);\n\n\t\t\t\treturn event;\n\t\t\tdefault:\n\t\t\t\tthrow new Error(\"Unrecognised MIDI event type: \" + eventType);\n\n\t\t\t\t/*\n\t\t\t\tconsole.log(\"Unrecognised MIDI event type: \" + eventType);\n\t\t\t\tstream.readInt8();\n\t\t\t\tevent.subtype = 'unknown';\n\t\t\t\treturn event;\n\t\t\t\t*/\n\t\t\t}\n\t\t}\n\t}\n\n\n\tlet source = data;\n\tif (typeof data === \"string\")\n\t\tsource = data.split(\"\").map(c => c.charCodeAt(0));\n\n\tconst stream = new Stream(source);\n\tconst headerChunk = readChunk(stream);\n\tif (headerChunk.id !== \"MThd\" || headerChunk.length !== 6)\n\t\tthrow new Error(\"Bad .mid file - header not found\");\n\n\tconst headerStream = new Stream(headerChunk.data);\n\tconst formatType = headerStream.readInt16();\n\tconst trackCount = headerStream.readInt16();\n\tconst timeDivision = headerStream.readInt16();\n\n\tlet ticksPerBeat;\n\tif (timeDivision & 0x8000)\n\t\tthrow new Error(\"Expressing time division in SMTPE frames is not supported yet\");\n\telse\n\t\tticksPerBeat = timeDivision;\n\n\n\tconst header = {\n\t\tformatType,\n\t\ttrackCount,\n\t\tticksPerBeat,\n\t};\n\tconst tracks = [];\n\tfor (let i = 0; i < header.trackCount; i++) {\n\t\ttracks[i] = [];\n\t\tconst trackChunk = readChunk(stream);\n\t\tif (trackChunk.id !== \"MTrk\")\n\t\t\tthrow new Error(\"Unexpected chunk - expected MTrk, got \" + trackChunk.id);\n\n\t\tconst trackStream = new Stream(trackChunk.data);\n\t\twhile (!trackStream.eof()) {\n\t\t\tconst event = readEvent(trackStream);\n\t\t\ttracks[i].push(event);\n\t\t}\n\t}\n\n\treturn {\n\t\theader,\n\t\ttracks,\n\t};\n};\n","\r\n/* Wrapper for accessing strings through sequential writes */\r\n\r\n\r\n\r\nmodule.exports = class OStream {\r\n\tconstructor () {\r\n\t\tthis.buffer = \"\";\r\n\t}\r\n\r\n\twrite (str) {\r\n\t\tthis.buffer += str;\r\n\t}\r\n\r\n\t/* write a big-endian 32-bit integer */\r\n\twriteInt32 (i) {\r\n\t\tthis.buffer += String.fromCharCode((i >> 24) & 0xff) + String.fromCharCode((i >> 16) & 0xff) +\r\n\t\t\tString.fromCharCode((i >> 8) & 0xff) + String.fromCharCode(i & 0xff);\r\n\t}\r\n\r\n\t/* write a big-endian 16-bit integer */\r\n\twriteInt16 (i) {\r\n\t\tthis.buffer += String.fromCharCode((i >> 8) & 0xff) + String.fromCharCode(i & 0xff);\r\n\t}\r\n\r\n\t/* write an 8-bit integer */\r\n\twriteInt8 (i) {\r\n\t\tthis.buffer += String.fromCharCode(i & 0xff);\r\n\t}\r\n\r\n\t/* write a MIDI-style variable-length integer\r\n\t\t(big-endian value in groups of 7 bits,\r\n\t\twith top bit set to signify that another byte follows)\r\n\t*/\r\n\twriteVarInt (i) {\r\n\t\tif (i < 0)\r\n\t\t\tthrow new Error(\"OStream.writeVarInt minus number: \" + i);\r\n\r\n\t\tconst b = i & 0x7f;\r\n\t\ti >>= 7;\r\n\t\tlet str = String.fromCharCode(b);\r\n\r\n\t\twhile (i) {\r\n\t\t\tconst b = i & 0x7f;\r\n\t\t\ti >>= 7;\r\n\t\t\tstr = String.fromCharCode(b | 0x80) + str;\r\n\t\t}\r\n\r\n\t\tthis.buffer += str;\r\n\t}\r\n\r\n\tgetBuffer () {\r\n\t\treturn this.buffer;\r\n\t}\r\n\r\n\tgetArrayBuffer () {\r\n\t\treturn Uint8Array.from(this.buffer.split(\"\").map(c => c.charCodeAt(0))).buffer;\r\n\t}\r\n};\r\n","/*\r\nclass to encode the .mid file format\r\n(depends on streamEx.js)\r\n*/\r\n\r\nconst OStream = require(\"./streamEx.js\");\r\n\r\n\r\n\r\nmodule.exports = function OMidiFile ({ header, tracks }) {\r\n\tfunction writeChunk (stream, id, data) {\r\n\t\tconsole.assert(id.length === 4, \"chunk id must be 4 byte\");\r\n\r\n\t\tstream.write(id);\r\n\t\tstream.writeInt32(data.length);\r\n\t\tstream.write(data);\r\n\t}\r\n\r\n\tfunction writeEvent (stream, event) {\r\n\t\tif (event.subtype === \"unknown\")\r\n\t\t\treturn;\r\n\r\n\t\tstream.writeVarInt(event.deltaTime);\r\n\r\n\t\tswitch (event.type) {\r\n\t\tcase \"meta\":\r\n\t\t\tstream.writeInt8(0xff);\r\n\r\n\t\t\tswitch (event.subtype) {\r\n\t\t\tcase \"sequenceNumber\":\r\n\t\t\t\tstream.writeInt8(0x00);\r\n\t\t\t\tstream.writeVarInt(2);\r\n\r\n\t\t\t\tstream.writeInt16(event.number);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"text\":\r\n\t\t\t\tstream.writeInt8(0x01);\r\n\t\t\t\tstream.writeVarInt(event.text.length);\r\n\r\n\t\t\t\tstream.write(event.text);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"copyrightNotice\":\r\n\t\t\t\tstream.writeInt8(0x02);\r\n\t\t\t\tstream.writeVarInt(event.text.length);\r\n\r\n\t\t\t\tstream.write(event.text);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"trackName\":\r\n\t\t\t\tstream.writeInt8(0x03);\r\n\t\t\t\tstream.writeVarInt(event.text.length);\r\n\r\n\t\t\t\tstream.write(event.text);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"instrumentName\":\r\n\t\t\t\tstream.writeInt8(0x04);\r\n\t\t\t\tstream.writeVarInt(event.text.length);\r\n\r\n\t\t\t\tstream.write(event.text);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"lyrics\":\r\n\t\t\t\tstream.writeInt8(0x05);\r\n\t\t\t\tstream.writeVarInt(event.text.length);\r\n\r\n\t\t\t\tstream.write(event.text);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"marker\":\r\n\t\t\t\tstream.writeInt8(0x06);\r\n\t\t\t\tstream.writeVarInt(event.text.length);\r\n\r\n\t\t\t\tstream.write(event.text);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"cuePoint\":\r\n\t\t\t\tstream.writeInt8(0x07);\r\n\t\t\t\tstream.writeVarInt(event.text.length);\r\n\r\n\t\t\t\tstream.write(event.text);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"midiChannelPrefix\":\r\n\t\t\t\tstream.writeInt8(0x20);\r\n\t\t\t\tstream.writeVarInt(1);\r\n\r\n\t\t\t\tstream.writeInt8(event.channel);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"endOfTrack\":\r\n\t\t\t\tstream.writeInt8(0x2f);\r\n\t\t\t\tstream.writeVarInt(0);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"setTempo\":\r\n\t\t\t\tstream.writeInt8(0x51);\r\n\t\t\t\tstream.writeVarInt(3);\r\n\r\n\t\t\t\tstream.writeInt8((event.microsecondsPerBeat >> 16) & 0xff);\r\n\t\t\t\tstream.writeInt8((event.microsecondsPerBeat >> 8) & 0xff);\r\n\t\t\t\tstream.writeInt8(event.microsecondsPerBeat & 0xff);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"smpteOffset\":\r\n\t\t\t\tstream.writeInt8(0x54);\r\n\t\t\t\tstream.writeVarInt(5);\r\n\r\n\t\t\t\tvar frameByte = { 24: 0x00, 25: 0x20, 29: 0x40, 30: 0x60 }[event.frameRate];\r\n\t\t\t\tstream.writeInt8(event.hour | frameByte);\r\n\t\t\t\tstream.writeInt8(event.min);\r\n\t\t\t\tstream.writeInt8(event.sec);\r\n\t\t\t\tstream.writeInt8(event.frame);\r\n\t\t\t\tstream.writeInt8(event.subframe);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"timeSignature\":\r\n\t\t\t\tstream.writeInt8(0x58);\r\n\t\t\t\tstream.writeVarInt(4);\r\n\r\n\t\t\t\tstream.writeInt8(event.numerator);\r\n\t\t\t\tstream.writeInt8(Math.log2(event.denominator));\r\n\t\t\t\tstream.writeInt8(event.metronome);\r\n\t\t\t\tstream.writeInt8(event.thirtyseconds);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"keySignature\":\r\n\t\t\t\tstream.writeInt8(0x59);\r\n\t\t\t\tstream.writeVarInt(2);\r\n\r\n\t\t\t\tstream.writeInt8(event.key);\r\n\t\t\t\tstream.writeInt8(event.scale);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"sequencerSpecific\":\r\n\t\t\t\tstream.writeInt8(0x7f);\r\n\t\t\t\tstream.writeVarInt(event.data.length);\r\n\r\n\t\t\t\tstream.write(event.data);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tthrow new Error(\"unhandled event subtype:\" + event.subtype);\r\n\t\t\t}\r\n\r\n\t\t\tbreak;\r\n\t\tcase \"sysEx\":\r\n\t\t\tstream.writeInt8(0xf0);\r\n\t\t\tstream.writeVarInt(event.data.length);\r\n\t\t\tstream.write(event.data);\r\n\r\n\t\t\tbreak;\r\n\t\tcase \"dividedSysEx\":\r\n\t\t\tstream.writeInt8(0xf7);\r\n\t\t\tstream.writeVarInt(event.data.length);\r\n\t\t\tstream.write(event.data);\r\n\r\n\t\t\tbreak;\r\n\t\tcase \"channel\":\r\n\t\t\tswitch (event.subtype) {\r\n\t\t\tcase \"noteOn\":\r\n\t\t\t\tstream.writeInt8(0x90 | event.channel);\r\n\t\t\t\tstream.writeInt8(event.noteNumber);\r\n\t\t\t\tstream.writeInt8(event.velocity);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"noteOff\":\r\n\t\t\t\tstream.writeInt8(0x80 | event.channel);\r\n\t\t\t\tstream.writeInt8(event.noteNumber);\r\n\t\t\t\tstream.writeInt8(event.velocity ? event.velocity : 0);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"noteAftertouch\":\r\n\t\t\t\tstream.writeInt8(0xa0 | event.channel);\r\n\t\t\t\tstream.writeInt8(event.noteNumber);\r\n\t\t\t\tstream.writeInt8(event.amount);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"controller\":\r\n\t\t\t\tstream.writeInt8(0xb0 | event.channel);\r\n\t\t\t\tstream.writeInt8(event.controllerType);\r\n\t\t\t\tstream.writeInt8(event.value);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"programChange\":\r\n\t\t\t\tstream.writeInt8(0xc0 | event.channel);\r\n\t\t\t\tstream.writeInt8(event.programNumber);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"channelAftertouch\":\r\n\t\t\t\tstream.writeInt8(0xd0 | event.channel);\r\n\t\t\t\tstream.writeInt8(event.amount);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"pitchBend\":\r\n\t\t\t\tstream.writeInt8(0xe0 | event.channel);\r\n\t\t\t\tstream.writeInt8(event.value & 0xff);\r\n\t\t\t\tstream.writeInt8((event.value >> 7) & 0xff);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tthrow new Error(\"unhandled event subtype:\" + event.subtype);\r\n\t\t\t}\r\n\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t\t\tthrow new Error(\"unhandled event type:\" + event.type);\r\n\t\t}\r\n\t}\r\n\r\n\tconst stream = new OStream();\r\n\r\n\tconst headerChunk = new OStream();\r\n\theaderChunk.writeInt16(header.formatType);\r\n\theaderChunk.writeInt16(tracks.length);\r\n\theaderChunk.writeInt16(header.ticksPerBeat);\r\n\r\n\twriteChunk(stream, \"MThd\", headerChunk.getBuffer());\r\n\r\n\tfor (let i = 0; i < tracks.length; ++i) {\r\n\t\tconst trackChunk = new OStream();\r\n\r\n\t\tfor (let ei = 0; ei < tracks[i].length; ++ei)\r\n\t\t\twriteEvent(trackChunk, tracks[i][ei]);\r\n\r\n\t\twriteChunk(stream, \"MTrk\", trackChunk.getBuffer());\r\n\t}\r\n\r\n\treturn stream.getArrayBuffer();\r\n};\r\n","\nmodule.exports = {\n\tparseMidiData: require(\"./midifile.js\"),\n\tencodeMidiFile: require(\"./midifileEx.js\"),\n};\n","\nconst midiToSequence = (midiFile, {timeWarp = 1} = {}) => {\n\tconst trackStates = [];\n\tlet beatsPerMinute = 120;\n\tconst ticksPerBeat = midiFile.header.ticksPerBeat;\n\n\tfor (let i = 0; i < midiFile.tracks.length; i++) {\n\t\ttrackStates[i] = {\n\t\t\tnextEventIndex: 0,\n\t\t\tticksToNextEvent: (\n\t\t\t\tmidiFile.tracks[i].length ?\n\t\t\t\t\tmidiFile.tracks[i][0].deltaTime :\n\t\t\t\t\tnull\n\t\t\t),\n\t\t};\n\t}\n\n\tfunction getNextEvent () {\n\t\tlet ticksToNextEvent = null;\n\t\tlet nextEventTrack = null;\n\t\tlet nextEventIndex = null;\n\n\t\tfor (let i = 0; i < trackStates.length; i++) {\n\t\t\tif (\n\t\t\t\ttrackStates[i].ticksToNextEvent != null\n\t\t\t\t&& (ticksToNextEvent == null || trackStates[i].ticksToNextEvent < ticksToNextEvent)\n\t\t\t) {\n\t\t\t\tticksToNextEvent = trackStates[i].ticksToNextEvent;\n\t\t\t\tnextEventTrack = i;\n\t\t\t\tnextEventIndex = trackStates[i].nextEventIndex;\n\t\t\t}\n\t\t}\n\t\tif (nextEventTrack != null) {\n\t\t\t/* consume event from that track */\n\t\t\tconst nextEvent = midiFile.tracks[nextEventTrack][nextEventIndex];\n\t\t\tif (midiFile.tracks[nextEventTrack][nextEventIndex + 1]) \n\t\t\t\ttrackStates[nextEventTrack].ticksToNextEvent += midiFile.tracks[nextEventTrack][nextEventIndex + 1].deltaTime;\n\t\t\telse \n\t\t\t\ttrackStates[nextEventTrack].ticksToNextEvent = null;\n\n\t\t\ttrackStates[nextEventTrack].nextEventIndex += 1;\n\t\t\t/* advance timings on all tracks by ticksToNextEvent */\n\t\t\tfor (let i = 0; i < trackStates.length; i++) {\n\t\t\t\tif (trackStates[i].ticksToNextEvent != null) \n\t\t\t\t\ttrackStates[i].ticksToNextEvent -= ticksToNextEvent;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tticksToEvent: ticksToNextEvent,\n\t\t\t\tevent: nextEvent,\n\t\t\t\ttrack: nextEventTrack,\n\t\t\t};\n\t\t}\n\t\telse \n\t\t\treturn null;\n\t\t\n\t};\n\t//\n\tlet midiEvent;\n\tconst events = [];\n\t//\n\tfunction processEvents () {\n\t\tfunction processNext () {\n\t\t\tlet secondsToGenerate = 0;\n\t\t\tif (midiEvent.ticksToEvent > 0) {\n\t\t\t\tconst beatsToGenerate = midiEvent.ticksToEvent / ticksPerBeat;\n\t\t\t\tsecondsToGenerate = beatsToGenerate / (beatsPerMinute / 60);\n\t\t\t}\n\n\t\t\t// beatsPerMinute must be changed after secondsToGenerate calculation\n\t\t\tif ( midiEvent.event.type == \"meta\" && midiEvent.event.subtype == \"setTempo\" ) {\n\t\t\t\t// tempo change events can occur anywhere in the middle and affect events that follow\n\t\t\t\tbeatsPerMinute = 60e+6 / midiEvent.event.microsecondsPerBeat;\n\t\t\t}\n\n\t\t\tconst time = (secondsToGenerate * 1000 * timeWarp) || 0;\n\t\t\tevents.push([ midiEvent, time ]);\n\t\t\tmidiEvent = getNextEvent();\n\t\t};\n\t\t//\n\t\tif (midiEvent = getNextEvent()) {\n\t\t\twhile (midiEvent)\n\t\t\t\tprocessNext();\n\t\t}\n\t};\n\n\tprocessEvents();\n\n\treturn events;\n};\n\n\nconst trimSequence = seq => {\n\tconst status = new Map();\n\n\treturn seq.filter(([{event, ticksToEvent}]) => {\n\t\tif (ticksToEvent > 0)\n\t\t\tstatus.clear();\n\n\t\tif (event.type !== \"channel\")\n\t\t\treturn true;\n\n\t\tconst key = `${event.subtype}|${event.channel}|${event.noteNumber}`;\n\n\t\tif (status.get(key)) {\n\t\t\t//console.debug(\"event trimmed:\", event, ticksToEvent);\n\t\t\treturn false;\n\t\t}\n\n\t\tstatus.set(key, event);\n\n\t\treturn true;\n\t});\n};\n\n\nconst fixOverlapNotes = seq => {\n\tconst noteMap = new Map();\n\tconst overlapMap = new Map();\n\tconst swaps = [];\n\n\tlet leapIndex = -1;\n\n\tseq.forEach(([{event, ticksToEvent}], index) => {\n\t\tif (ticksToEvent > 0)\n\t\t\tleapIndex = index;\n\n\t\tif (event.type !== \"channel\")\n\t\t\treturn;\n\n\t\tconst key = `${event.channel}|${event.noteNumber}`;\n\n\t\tswitch (event.subtype) {\n\t\tcase \"noteOn\":\n\t\t\tif (noteMap.get(key))\n\t\t\t\toverlapMap.set(key, leapIndex);\n\t\t\telse\n\t\t\t\tnoteMap.set(key, leapIndex);\n\n\t\t\tbreak;\n\t\tcase \"noteOff\":\n\t\t\tif (overlapMap.get(key)) {\n\t\t\t\tswaps.push([overlapMap.get(key), index]);\n\t\t\t\toverlapMap.delete(key);\n\t\t\t}\n\t\t\telse\n\t\t\t\tnoteMap.delete(key);\n\n\t\t\tbreak;\n\t\t}\n\t});\n\n\t// shift overlapped swaps\n\tswaps.forEach((swap, i) => {\n\t\tfor (let ii = i - 1; ii >= 0; --ii) {\n\t\t\tconst pre = swaps[ii];\n\t\t\tif (pre[1] < swap[0])\n\t\t\t\tbreak;\n\n\t\t\tif (swap[0] > pre[0])\n\t\t\t\t++swap[0];\n\t\t}\n\t});\n\n\t//console.debug(\"swaps:\", swaps);\n\tswaps.forEach(([front, back]) => {\n\t\tif (back >= seq.length - 1 || front < 0)\n\t\t\treturn;\n\n\t\tconst offEvent = seq[back];\n\t\tconst nextEvent = seq[back + 1];\n\t\tconst leapEvent = seq[front];\n\n\t\tif (!leapEvent[0].ticksToEvent) {\n\t\t\tconsole.warn(\"invalid front index:\", front, back, leapEvent);\n\t\t\treturn;\n\t\t}\n\n\t\t// ms per tick\n\t\tconst tempo = leapEvent[1] / leapEvent[0].ticksToEvent;\n\n\t\tnextEvent[1] += offEvent[1];\n\t\tnextEvent[0].ticksToEvent += offEvent[0].ticksToEvent;\n\n\t\toffEvent[0].ticksToEvent = leapEvent[0].ticksToEvent - 1;\n\t\tleapEvent[0].ticksToEvent = 1;\n\n\t\toffEvent[1] = offEvent[0].ticksToEvent * tempo;\n\t\tleapEvent[1] = leapEvent[0].ticksToEvent * tempo;\n\t\t//console.debug(\"swap:\", [front, back], offEvent, nextEvent, leapEvent);\n\n\t\tseq.splice(back, 1);\n\t\tseq.splice(front, 0, offEvent);\n\t});\n\n\treturn seq;\n};\n\n\n\nmodule.exports = {\n\tmidiToSequence,\n\ttrimSequence,\n\tfixOverlapNotes,\n};\n","\nconst MidiSequence = require(\"./MidiSequence.js\");\n\n\n\nconst PedalControllerTypes = {\n\t64: \"Sustain\",\n\t65: \"Portamento\",\n\t66: \"Sostenuto\",\n\t67: \"Soft\",\n};\n\n\n\nclass Notation {\n\tstatic parseMidi (data, {fixOverlap = true} = {}) {\n\t\tconst channelStatus = [];\n\t\tconst pedalStatus = {};\n\t\tconst pedals = {};\n\t\tconst channels = [];\n\t\tconst bars = [];\n\t\tlet time = 0;\n\t\tlet millisecondsPerBeat = 600000 / 120;\n\t\tlet beats = 0;\n\t\tlet numerator = 4;\n\t\tlet barIndex = 0;\n\t\tconst keyRange = {};\n\t\tlet rawTicks = 0;\n\t\tlet ticks = 0;\n\t\tlet correspondences;\n\t\tconst tempos = [];\n\n\t\tconst ticksPerBeat = data.header.ticksPerBeat;\n\n\t\tlet rawEvents = MidiSequence.midiToSequence(data);\n\n\t\tif (fixOverlap)\n\t\t\trawEvents = MidiSequence.trimSequence(MidiSequence.fixOverlapNotes(rawEvents));\n\n\t\tconst events = rawEvents.map(d => ({\n\t\t\tdata: d[0].event,\n\t\t\ttrack: d[0].track,\n\t\t\tdeltaTime: d[1],\n\t\t\tdeltaTicks: d[0].ticksToEvent,\n\t\t}));\n\n\t\tlet index = 0;\n\n\t\tconst ticksNormal = 1;\n\n\t\tfor (const ev of events) {\n\t\t\trawTicks += ev.deltaTicks;\n\t\t\tticks = Math.round(rawTicks * ticksNormal);\n\n\t\t\tif (ev.deltaTicks > 0) {\n\t\t\t\t// append bars\n\t\t\t\tconst deltaBeats = ev.deltaTicks / ticksPerBeat;\n\t\t\t\tfor (let b = Math.ceil(beats); b < beats + deltaBeats; ++b) {\n\t\t\t\t\tconst t = time + (b - beats) * millisecondsPerBeat;\n\t\t\t\t\tbars.push({time: t, index: barIndex % numerator});\n\n\t\t\t\t\t++barIndex;\n\t\t\t\t}\n\n\t\t\t\tbeats += deltaBeats;\n\t\t\t}\n\n\t\t\ttime += ev.deltaTime;\n\n\t\t\t//const ticksTime = beats * millisecondsPerBeat;\n\t\t\t//console.log(\"time:\", time, ticksTime, ticksTime - time);\n\n\t\t\tev.time = time;\n\t\t\tev.ticks = ticks;\n\n\t\t\tconst event = ev.data;\n\t\t\tswitch (event.type) {\n\t\t\tcase \"channel\":\n\t\t\t\t//channelStatus[event.channel] = channelStatus[event.channel] || [];\n\n\t\t\t\tswitch (event.subtype) {\n\t\t\t\tcase \"noteOn\":\n\t\t\t\t\t{\n\t\t\t\t\t\tconst pitch = event.noteNumber;\n\t\t\t\t\t\t//channelStatus[event.channel][pitch] = {\n\t\t\t\t\t\tchannelStatus.push({\n\t\t\t\t\t\t\tchannel: event.channel,\n\t\t\t\t\t\t\tpitch,\n\t\t\t\t\t\t\tstartTick: ticks,\n\t\t\t\t\t\t\tstart: time,\n\t\t\t\t\t\t\tvelocity: event.velocity,\n\t\t\t\t\t\t\tbeats: beats,\n\t\t\t\t\t\t\ttrack: ev.track,\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tkeyRange.low = Math.min(keyRange.low || pitch, pitch);\n\n\t\t\t\t\t\tev.index = index;\n\t\t\t\t\t\t++index;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"noteOff\":\n\t\t\t\t\t{\n\t\t\t\t\t\tconst pitch = event.noteNumber;\n\n\t\t\t\t\t\tchannels[event.channel] = channels[event.channel] || [];\n\n\t\t\t\t\t\tconst statusIndex = channelStatus.findIndex(status => status.channel == event.channel && status.pitch == pitch);\n\t\t\t\t\t\tif (statusIndex >= 0) {\n\t\t\t\t\t\t\tconst status = channelStatus.splice(statusIndex, 1)[0];\n\n\t\t\t\t\t\t\tchannels[event.channel].push({\n\t\t\t\t\t\t\t\tchannel: event.channel,\n\t\t\t\t\t\t\t\tstartTick: status.startTick,\n\t\t\t\t\t\t\t\tendTick: ticks,\n\t\t\t\t\t\t\t\tpitch,\n\t\t\t\t\t\t\t\tstart: status.start,\n\t\t\t\t\t\t\t\tduration: time - status.start,\n\t\t\t\t\t\t\t\tvelocity: status.velocity,\n\t\t\t\t\t\t\t\tbeats: status.beats,\n\t\t\t\t\t\t\t\ttrack: status.track,\n\t\t\t\t\t\t\t\tfinger: status.finger,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tconsole.debug(\"unexpected noteOff: \", time, event);\n\n\t\t\t\t\t\tkeyRange.high = Math.max(keyRange.high || pitch, pitch);\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"controller\":\n\t\t\t\t\tswitch (event.controllerType) {\n\t\t\t\t\t// pedal controllers\n\t\t\t\t\tcase 64:\n\t\t\t\t\tcase 65:\n\t\t\t\t\tcase 66:\n\t\t\t\t\tcase 67:\n\t\t\t\t\t\tconst pedalType = PedalControllerTypes[event.controllerType];\n\n\t\t\t\t\t\tpedalStatus[event.channel] = pedalStatus[event.channel] || {};\n\t\t\t\t\t\tpedals[event.channel] = pedals[event.channel] || [];\n\n\t\t\t\t\t\tconst status = pedalStatus[event.channel][pedalType];\n\n\t\t\t\t\t\tif (status)\n\t\t\t\t\t\t\tpedals[event.channel].push({type: pedalType, start: status.start, duration: time - status.start, value: status.value});\n\t\t\t\t\t\tpedalStatus[event.channel][pedalType] = {start: time, value: event.value};\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\tcase \"meta\":\n\t\t\t\tswitch (event.subtype) {\n\t\t\t\tcase \"setTempo\":\n\t\t\t\t\tmillisecondsPerBeat = event.microsecondsPerBeat / 1000;\n\t\t\t\t\t//beats = Math.round(beats);\n\t\t\t\t\t//console.assert(Number.isFinite(time), \"invalid time:\", time);\n\t\t\t\t\ttempos.push({tempo: event.microsecondsPerBeat, tick: ticks, time});\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"timeSignature\":\n\t\t\t\t\tnumerator = event.numerator;\n\t\t\t\t\tbarIndex = 0;\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"text\":\n\t\t\t\t\tif (!correspondences && /^find-corres:/.test(event.text)) {\n\t\t\t\t\t\tconst captures = event.text.match(/:([\\d\\,-]+)/);\n\t\t\t\t\t\tconst str = captures && captures[1] || \"\";\n\t\t\t\t\t\tcorrespondences = str.split(\",\").map(s => Number(s));\n\t\t\t\t\t}\n\t\t\t\t\telse if (/fingering\\(.*\\)/.test(event.text)) {\n\t\t\t\t\t\tconst [_, fingers] = event.text.match(/\\((.+)\\)/);\n\t\t\t\t\t\tconst finger = Number(fingers);\n\t\t\t\t\t\tif (!Number.isNaN(finger)) {\n\t\t\t\t\t\t\tconst status = channelStatus[channelStatus.length - 1];\n\t\t\t\t\t\t\tif (status)\n\t\t\t\t\t\t\t\tstatus.finger = finger;\n\n\t\t\t\t\t\t\tconst event = events.find(e => e.index == index - 1);\n\t\t\t\t\t\t\tif (event)\n\t\t\t\t\t\t\t\tevent.data.finger = finger;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"copyrightNotice\":\n\t\t\t\t\tconsole.log(\"MIDI copyright:\", event.text);\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tchannelStatus.forEach(status => {\n\t\t\tconsole.debug(\"unclosed noteOn event at\", status.startTick, status);\n\n\t\t\tchannels[status.channel].push({\n\t\t\t\tstartTick: status.startTick,\n\t\t\t\tendTick: ticks,\n\t\t\t\tpitch: status.pitch,\n\t\t\t\tstart: status.start,\n\t\t\t\tduration: time - status.start,\n\t\t\t\tvelocity: status.velocity,\n\t\t\t\tbeats: status.beats,\n\t\t\t\ttrack: status.track,\n\t\t\t\tfinger: status.finger,\n\t\t\t});\n\t\t});\n\n\t\treturn new Notation({\n\t\t\tchannels,\n\t\t\tkeyRange,\n\t\t\tpedals,\n\t\t\tbars,\n\t\t\tendTime: time,\n\t\t\tendTick: ticks,\n\t\t\tcorrespondences,\n\t\t\tevents,\n\t\t\ttempos,\n\t\t\tticksPerBeat,\n\t\t\tmeta: {},\n\t\t});\n\t}\n\n\n\tconstructor (fields) {\n\t\tObject.assign(this, fields);\n\n\t\t// channels to notes\n\t\tthis.notes = [];\n\t\tfor (const channel of this.channels) {\n\t\t\tif (channel) {\n\t\t\t\tfor (const note of channel)\n\t\t\t\t\tthis.notes.push(note);\n\t\t\t}\n\t\t}\n\t\tthis.notes.sort(function (n1, n2) {\n\t\t\treturn n1.start - n2.start;\n\t\t});\n\n\t\tfor (const i in this.notes)\n\t\t\tthis.notes[i].index = Number(i);\n\n\n\t\t// duration\n\t\tthis.duration = this.notes.length > 0 ? (this.endTime - this.notes[0].start) : 0,\n\n\t\t//this.endSoftIndex = this.notes.length ? this.notes[this.notes.length - 1].softIndex : 0;\n\n\n\t\t// pitch map\n\t\tthis.pitchMap = [];\n\t\tfor (const c in this.channels) {\n\t\t\tfor (const n in this.channels[c]) {\n\t\t\t\tconst pitch = this.channels[c][n].pitch;\n\t\t\t\tthis.pitchMap[pitch] = this.pitchMap[pitch] || [];\n\n\t\t\t\tthis.pitchMap[pitch].push(this.channels[c][n]);\n\t\t\t}\n\t\t}\n\n\t\tthis.pitchMap.forEach(notes => notes.sort((n1, n2) => n1.start - n2.start));\n\n\n\t\t/*// setup measure notes index\n\t\tif (this.measures) {\n\t\t\tconst measure_list = [];\n\n\t\t\tlet last_measure = null;\n\t\t\tconst measure_entries = Object.entries(this.measures).sort((e1, e2) => Number(e1[0]) - Number(e2[0]));\n\t\t\tfor (const [t, measure] of measure_entries) {\n\t\t\t\t//console.log(\"measure time:\", Number(t));\n\t\t\t\tmeasure.startTick = Number(t);\n\t\t\t\tmeasure.notes = [];\n\n\t\t\t\tif (last_measure)\n\t\t\t\t\tlast_measure.endTick = measure.startTick;\n\n\t\t\t\tconst m = measure.measure;\n\t\t\t\tmeasure_list[m] = measure_list[m] || [];\n\t\t\t\tmeasure_list[m].push(measure);\n\n\t\t\t\tlast_measure = measure;\n\t\t\t}\n\t\t\tif (last_measure)\n\t\t\t\tlast_measure.endTick = this.notes[this.notes.length - 1].endTick;\n\t\t\tfor (const i in this.notes) {\n\t\t\t\tconst note = this.notes[i];\n\t\t\t\tfor (const t in this.measures) {\n\t\t\t\t\tconst measure = this.measures[t];\n\t\t\t\t\tif (note.startTick >= measure.startTick && note.startTick < measure.endTick || note.endTick > measure.startTick && note.endTick <= measure.endTick)\n\t\t\t\t\t\tmeasure.notes.push(note);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.measure_list = measure_list;\n\t\t}*/\n\n\n\t\t// prepare beats info\n\t\tif (this.meta.beatInfos) {\n\t\t\tfor (let i = 0; i < this.meta.beatInfos.length; ++i) {\n\t\t\t\tconst info = this.meta.beatInfos[i];\n\t\t\t\tif (i > 0) {\n\t\t\t\t\tconst lastInfo = this.meta.beatInfos[i - 1];\n\t\t\t\t\tinfo.beatIndex = lastInfo.beatIndex + Math.ceil((info.tick - lastInfo.tick) / this.ticksPerBeat);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t\tinfo.beatIndex = 0;\n\t\t\t}\n\t\t}\n\n\n\t\t// compute tempos tick -> time\n\t\t{\n\t\t\tlet time = 0;\n\t\t\tlet ticks = 0;\n\t\t\tlet tempo = 500000;\n\t\t\tfor (const entry of this.tempos) {\n\t\t\t\tconst deltaTicks = entry.tick - ticks;\n\t\t\t\ttime += (tempo / 1000) * deltaTicks / this.ticksPerBeat;\n\n\t\t\t\tticks = entry.tick;\n\t\t\t\ttempo = entry.tempo;\n\n\t\t\t\tentry.time = time;\n\t\t\t}\n\t\t}\n\t}\n\n\n\tfindChordBySoftindex (softIndex, radius = 0.8) {\n\t\treturn this.notes.filter(note => Math.abs(note.softIndex - softIndex) < radius);\n\t}\n\n\n\taverageTempo (tickRange) {\n\t\ttickRange = tickRange || {from: 0, to: this.endtick};\n\n\t\tconsole.assert(this.tempos, \"no tempos.\");\n\t\tconsole.assert(tickRange.to > tickRange.from, \"range is invalid:\", tickRange);\n\n\t\tconst span = index => {\n\t\t\tconst from = Math.max(tickRange.from, this.tempos[index].tick);\n\t\t\tconst to = (index < this.tempos.length - 1) ? Math.min(this.tempos[index + 1].tick, tickRange.to) : tickRange.to;\n\n\t\t\treturn Math.max(0, to - from);\n\t\t};\n\n\t\tconst tempo_sum = this.tempos.reduce((sum, tempo, index) => sum + tempo.tempo * span(index), 0);\n\n\t\tconst average = tempo_sum / (tickRange.to - tickRange.from);\n\n\t\t// convert microseconds per beat to beats per minute\n\t\treturn 60e+6 / average;\n\t}\n\n\n\tticksToTime (tick) {\n\t\tconsole.assert(Number.isFinite(tick), \"invalid tick value:\", tick);\n\t\tconsole.assert(this.tempos && this.tempos.length, \"no tempos.\");\n\n\t\tconst next_tempo_index = this.tempos.findIndex(tempo => tempo.tick > tick);\n\t\tconst tempo_index = next_tempo_index < 0 ? this.tempos.length - 1 : Math.max(next_tempo_index - 1, 0);\n\n\t\tconst tempo = this.tempos[tempo_index];\n\n\t\treturn tempo.time + (tick - tempo.tick) * tempo.tempo * 1e-3 / this.ticksPerBeat;\n\t}\n\n\n\ttimeToTicks (time) {\n\t\tconsole.assert(Number.isFinite(time), \"invalid time value:\", time);\n\t\tconsole.assert(this.tempos && this.tempos.length, \"no tempos.\");\n\n\t\tconst next_tempo_index = this.tempos.findIndex(tempo => tempo.time > time);\n\t\tconst tempo_index = next_tempo_index < 0 ? this.tempos.length - 1 : Math.max(next_tempo_index - 1, 0);\n\n\t\tconst tempo = this.tempos[tempo_index];\n\n\t\treturn tempo.tick + (time - tempo.time) * this.ticksPerBeat / (tempo.tempo * 1e-3);\n\t}\n\n\n\ttickRangeToTimeRange (tickRange) {\n\t\tconsole.assert(tickRange.to >= tickRange.from, \"invalid tick range:\", tickRange);\n\n\t\treturn {\n\t\t\tfrom: this.ticksToTime(tickRange.from),\n\t\t\tto: this.ticksToTime(tickRange.to),\n\t\t};\n\t}\n\n\n\t/*getMeasureRange (measureRange) {\n\t\tconsole.assert(Number.isInteger(measureRange.start) && Number.isInteger(measureRange.end), \"invalid measure range:\", measureRange);\n\t\tconsole.assert(this.measure_list && this.measure_list[measureRange.start] && this.measure_list[measureRange.end], \"no measure data for specific index:\", this.measure_list, measureRange);\n\n\t\tconst startMeasure = this.measure_list[measureRange.start][0];\n\t\tlet endMeasure = null;\n\t\tfor (const measure of this.measure_list[measureRange.end]) {\n\t\t\tif (measure.endTick > startMeasure.startTick) {\n\t\t\t\tendMeasure = measure;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// there no path between start measure and end measure.\n\t\tif (!endMeasure)\n\t\t\treturn null;\n\n\t\tconst tickRange = {from: startMeasure.startTick, to: endMeasure.endTick, duration: endMeasure.endTick - startMeasure.startTick};\n\t\tconst timeRange = this.tickRangeToTimeRange(tickRange);\n\t\ttimeRange.duration = timeRange.to - timeRange.from;\n\n\t\treturn {\n\t\t\ttickRange,\n\t\t\ttimeRange,\n\t\t};\n\t}*/\n\n\n\tscaleTempo ({factor, headTempo}) {\n\t\tconsole.assert(this.tempos && this.tempos.length, \"[Notation.scaleTempo] tempos is empty.\");\n\n\t\tif (headTempo)\n\t\t\tfactor = headTempo / this.tempos[0].tempo;\n\n\t\tconsole.assert(Number.isFinite(factor) && factor > 0, \"[Notation.scaleTempo] invalid factor:\", factor);\n\n\t\tthis.tempos.forEach(tempo => {\n\t\t\ttempo.tempo *= factor;\n\t\t\ttempo.time *= factor;\n\t\t});\n\t\tthis.events.forEach(event => {\n\t\t\tevent.deltaTime *= factor;\n\t\t\tevent.time *= factor;\n\t\t});\n\t\tthis.notes.forEach(note => {\n\t\t\tnote.start *= factor;\n\t\t\tnote.duration *= factor;\n\t\t});\n\n\t\tthis.endTime *= factor;\n\t}\n};\n\n\n\nmodule.exports = {\n\tNotation,\n};\n","\nconst { Notation } = require(\"./MusicNotation.js\");\n\n\n\n//const msDelay = ms => new Promise(resolve => setTimeout(resolve, ms));\nconst animationDelay = () => new Promise(resolve => requestAnimationFrame(resolve));\n\n\nclass MidiPlayer {\n\tconstructor (midiData, {cacheSpan = 600, onMidi, onPlayFinish, onTurnCursor} = {}) {\n\t\tthis.cacheSpan = cacheSpan;\n\t\tthis.onMidi = onMidi;\n\t\tthis.onPlayFinish = onPlayFinish;\n\t\tthis.onTurnCursor = onTurnCursor;\n\n\t\tlet notation;\n\t\tif (midiData.notes && Number.isFinite(midiData.endTime))\n\t\t\tnotation = midiData;\n\t\telse\n\t\t\tnotation = Notation.parseMidi(midiData);\n\n\t\tthis.notation = notation;\n\t\tthis.events = notation.events;\n\t\t//console.log(\"events:\", this.events);\n\n\t\tthis.isPlaying = false;\n\t\tthis.progressTime = 0;\n\t\tthis.startTime = performance.now();\n\t\tthis.duration = notation.endTime;\n\t\tthis.cursorTurnDelta = 0;\n\n\t\tconsole.assert(notation.tempos && notation.tempos.length, \"[MidiPlayer] invalid notation, tempos is empty.\");\n\t}\n\n\n\tdispose () {\n\t\tthis.isPlaying = false;\n\t\tthis.progressTime = 0;\n\t}\n\n\n\tget progressTicks () {\n\t\treturn this.notation.timeToTicks(this.progressTime);\n\t}\n\n\n\tset progressTicks (value) {\n\t\tthis.progressTime = this.notation.ticksToTime(value);\n\n\t\tif (this.onTurnCursor)\n\t\t\tthis.onTurnCursor(this.progressTime);\n\t}\n\n\n\tasync play ({nextFrame = animationDelay} = {}) {\n\t\tif (this.progressTime >= this.duration)\n\t\t\tthis.progressTime = 0;\n\n\t\tlet now = performance.now();\n\t\tthis.startTime = now - this.progressTime;\n\n\t\tthis.isPlaying = true;\n\n\t\tlet currentEventIndex = this.events.findIndex(event => event.time >= now - this.startTime);\n\n\t\twhile (this.isPlaying) {\n\t\t\tfor (; currentEventIndex < this.events.length; ++currentEventIndex) {\n\t\t\t\tconst event = this.events[currentEventIndex];\n\t\t\t\t//console.log(\"play event:\", currentEventIndex, event.time, this.progressTime + this.cacheSpan);\n\t\t\t\tif (!event || event.time > this.progressTime + this.cacheSpan)\n\t\t\t\t\tbreak;\n\n\t\t\t\tif (event.data.type === \"channel\" && this.startTime + event.time >= now)\n\t\t\t\t\tif (this.onMidi)\n\t\t\t\t\t\tthis.onMidi(event.data, this.startTime + event.time);\n\t\t\t}\n\n\t\t\tawait nextFrame();\n\n\t\t\tif (!this.isPlaying)\n\t\t\t\tbreak;\n\n\t\t\tif (this.cursorTurnDelta !== 0) {\n\t\t\t\tconst backturn = this.cursorTurnDelta < 0;\n\n\t\t\t\tthis.startTime -= this.cursorTurnDelta;\n\t\t\t\tthis.cursorTurnDelta = 0;\n\n\t\t\t\tif (backturn) {\n\t\t\t\t\tfor (; currentEventIndex > 0; --currentEventIndex) {\n\t\t\t\t\t\tconst eventTime = this.events[currentEventIndex].time;\n\t\t\t\t\t\tif (this.startTime + eventTime < now)\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tnow = performance.now();\n\n\t\t\tthis.progressTime = now - this.startTime;\n\n\t\t\tif (this.progressTime > this.duration) {\n\t\t\t\tthis.isPlaying = false;\n\n\t\t\t\tif (this.onPlayFinish)\n\t\t\t\t\tthis.onPlayFinish();\n\t\t\t}\n\t\t}\n\t}\n\n\n\tpause () {\n\t\tthis.isPlaying = false;\n\t}\n\n\n\tturnCursor (time) {\n\t\t//console.log(\"onTurnCursor:\", time, oldTime);\n\t\tif (this.isPlaying)\n\t\t\tthis.cursorTurnDelta += time - this.progressTime;\n\t\telse\n\t\t\tthis.progressTime = time;\n\n\t\tif (this.onTurnCursor)\n\t\t\tthis.onTurnCursor(time);\n\t}\n};\n\n\n\nmodule.exports = MidiPlayer;\n","\nmodule.exports = {\n\tCostStepAttenuation: 0.6,\n\tSkipDeep: 3,\n\tPriorDistanceSigmoidFactor: 0.1,\n\tPriorValueSigmoidFactor: 0.12,\n\n\tSkipCost: 0.5,\n\tLagOffsetCost: 1,\n\tLeadOffsetCost: 1.6,\n\tZeroOffsetCost: 0.58,\n\n\tRelocationThreshold: 6,\n};\n","\nconst {pick} = require(\"lodash\");\n\nconst Config = require(\"./config.js\");\n\n\n\nclass Node {\n\tconstructor (s_note, c_note) {\n\t\tthis.s_note = s_note;\n\t\tthis.c_note = c_note;\n\n\t\tconsole.assert(this.s_note.softIndex != null, \"s_note softIndex is null\");\n\t\tthis.offset = this.s_note.softIndex - this.c_note.softIndex;\n\n\t\tthis._prev = null;\n\t\tthis._totalCost = 0;\n\t\tthis._value = 0;\n\t\tthis.cacheDirty = true;\n\n\t\t//this.evaluatePrev(Node.Zero);\n\t}\n\n\n\tget prev () {\n\t\treturn this._prev;\n\t}\n\n\n\tset prev (value) {\n\t\tif (value != this._prev) {\n\t\t\tthis._prev = value;\n\t\t\tthis.cacheDirty = true;\n\t\t}\n\t}\n\n\n\tget si () {\n\t\treturn this.s_note.index;\n\t}\n\n\n\tget ci () {\n\t\treturn this.c_note.index;\n\t}\n\n\n\tget root () {\n\t\treturn this.prev.root || this;\n\t}\n\n\n\tget rootSi () {\n\t\treturn !this.prev.zero ? this.prev.rootSi : this.si;\n\t}\n\n\n\tget id () {\n\t\treturn `${this.s_note.index},${this.c_note.index}`;\n\t}\n\n\n\tstatic cost (prev, skip, self) {\n\t\treturn prev * Config.CostStepAttenuation + Math.tanh(skip * Config.SkipCost) + Math.tanh(self * 0.5);\n\t}\n\n\n\tupdateCache () {\n\t\tif (this.cacheDirty) {\n\t\t\tthis._totalCost = Node.cost(this.prev.totalCost, this.si - this.prev.si - 1, this.selfCost);\n\t\t\tthis._value = this.prev.value + 1 - Math.tanh(this.selfCost * 0.5);\n\n\t\t\tthis.cacheDirty = false;\n\t\t}\n\t}\n\n\n\tget totalCost () {\n\t\tthis.updateCache();\n\n\t\treturn this._totalCost;\n\t}\n\n\n\tget value () {\n\t\tthis.updateCache();\n\n\t\treturn this._value;\n\t}\n\n\n\tget deep () {\n\t\treturn this.prev.deep + 1;\n\t}\n\n\n\tget path () {\n\t\tconst path = [];\n\t\tfor (let node = this; !node.zero; node = node.prev) {\n\t\t\tpath[node.si] = node.ci;\n\t\t}\n\n\t\tfor (let i = 0; i < path.length; ++i)\n\t\t\tif (typeof path[i] != \"number\")\n\t\t\t\tpath[i] = -1;\n\n\t\treturn path;\n\t}\n\n\n\tdump () {\n\t\treturn pick(this, [\"id\", \"si\", \"ci\", \"rootSi\", \"value\", \"deep\", \"rootSi\", \"offset\", \"prior\", \"selfCost\", \"totalCost\"]);\n\t}\n\n\n\tevaluatePrev (node) {\n\t\tconst cost = this.evaluatePrevCost(node);\n\n\t\tconsole.assert(this.si - node.si >= 1, \"node index error:\", this, node/*, {get [Symbol.toStringTag]() {debugger}}*/);\n\t\t//if (this.si - node.si < 1)\n\t\t//\tdebugger;\n\n\t\tconst totalCost = Node.cost(node.totalCost, this.si - node.si - 1, cost);\n\n\t\tif (!this.prev || totalCost < this.totalCost) {\n\t\t\tthis.prev = node;\n\t\t\tthis.selfCost = cost;\n\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\n\tevaluatePrevCost (node) {\n\t\tlet cost = 0;\n\n\t\tif (node.offset != null) {\n\t\t\tconst bias = this.offset - node.offset;\n\t\t\tconst costCoeff = node.zero ? Config.ZeroOffsetCost : (bias > 0 ? Config.LagOffsetCost : Config.LeadOffsetCost);\n\t\t\tcost += (bias * costCoeff) ** 2;\n\t\t}\n\n\t\treturn cost;\n\t}\n\n\n\tpriorByOffset (offset) {\n\t\tconst distance = Math.abs(this.offset - offset) / 1;//(this.s_note.deltaSi + 0.04);\n\n\t\treturn Math.tanh(this.value * Config.PriorValueSigmoidFactor) - Math.tanh(distance * Config.PriorDistanceSigmoidFactor);\n\t\t//return Math.log(this.value) * Math.tanh(4 / distance);\n\t\t//return this.value - distance;\n\t}\n\n\n\tstatic zero () {\n\t\treturn {\n\t\t\tzero: true,\n\t\t\ttotalCost: 0,\n\t\t\tvalue: 0,\n\t\t\tsi: -1,\n\t\t\tci: -1,\n\t\t\tdeep: 0,\n\t\t\toffset: 0,\n\t\t};\n\t}\n};\n\n\n\nmodule.exports = Node;\n","\nconst Config = require(\"./config.js\");\nconst Node = require(\"./node.js\");\n\n\n\nclass Navigator {\n\tconstructor (criterion, sample, options = {}) {\n\t\tthis.criterion = criterion;\n\t\tthis.sample = sample;\n\n\t\tthis.getCursorOffset = options.getCursorOffset || (() => null);\n\t\tthis.outOfPage = options.outOfPage;\n\n\t\tthis.bestNode = null;\n\t\tthis.fineCursor = null;\n\n\t\tthis.breakingSI = sample.notes.length - 1;\n\n\t\tthis.zeroNode = Node.zero();\n\t\tthis.zeroNode.offset = this.getCursorOffset() || 0;\n\n\t\tthis.relocationThreshold = options.relocationThreshold || Config.RelocationThreshold;\n\t}\n\n\n\tstep (index) {\n\t\t//console.log(\"step:\", this.zeroNode.offset);\n\t\tconst note = this.sample.notes[index];\n\n\t\tif (note.matches.length > 0) {\n\t\t\t//console.log(\"zeroNode.offset:\", index, this.zeroNode.offset);\n\t\t\tnote.matches.forEach(node => {\n\t\t\t\tnode.evaluatePrev(this.zeroNode);\n\t\t\t\t//console.log(\"node:\", node, node.evaluatePrevCost(this.zeroNode), node.offset, this.zeroNode.offset);\n\n\t\t\t\tfor (let si = index - 1; si >= Math.max(this.breakingSI + 1, index - Config.SkipDeep); --si) {\n\t\t\t\t\t//const skipCost = Config.SkipCost * (index - 1 - si);\n\n\t\t\t\t\tconst prevNote = this.sample.notes[si];\n\t\t\t\t\tconsole.assert(prevNote, \"prevNote is null:\", si, index, this.sample.notes);\n\t\t\t\t\tprevNote.matches.forEach(prevNode => {\n\t\t\t\t\t\tconst bias = node.offset - prevNode.offset;\n\t\t\t\t\t\tif (/*prevNode.totalCost + skipCost < node.totalCost\n\t\t\t\t\t\t\t&&*/ (bias < 2 / Config.LagOffsetCost && bias > -2 / Config.LeadOffsetCost))\n\t\t\t\t\t\t\tnode.evaluatePrev(prevNode);\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tnode.prior = node.totalCost > 1.99 ? -1 : node.priorByOffset(this.zeroNode.offset);\n\n\t\t\t\tif (node.prior > 0 && this.outOfPage) {\n\t\t\t\t\tconst tick = this.criterion.notes[node.ci].startTick;\n\t\t\t\t\tif (this.outOfPage(tick))\n\t\t\t\t\t\tnode.prior -= 0.7;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tnote.matches.sort((c1, c2) => c2.prior - c1.prior);\n\t\t\tthis.cursors = note.matches;\n\t\t\t//console.log(\"navigator cursors:\", this.cursors);\n\n\t\t\tlet fineCursor = null;\n\t\t\tconst nullLength = this.nullSteps(index);\n\n\t\t\tconst cursor = this.cursors[0];\n\t\t\tif (cursor && cursor.totalCost < 1) {\n\t\t\t\t//console.log(\"nullLength:\", nullLength, nullLength * Math.log(cursor.value / 4));\n\t\t\t\tif (cursor.prior > 0 || (cursor.totalCost < 0.4 && Math.log(Math.max(nullLength * cursor.value, 1e-3)) > this.relocationThreshold)) {\n\t\t\t\t\tthis.zeroNode.offset = cursor.offset;\n\n\t\t\t\t\tfineCursor = cursor;\n\n\t\t\t\t\tif (!this.bestNode || cursor.value > this.bestNode.value)\n\t\t\t\t\t\tthis.bestNode = cursor;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (fineCursor)\n\t\t\t\tthis.fineCursor = fineCursor;\n\t\t\telse {\n\t\t\t\tif (!this.resetCursor(index, {breaking: false/*nullLength > Config.SkipDeep*/})) {\n\t\t\t\t\tthis.zeroNode.offset += note.deltaSi * Math.tanh(nullLength);\n\t\t\t\t\tconsole.assert(!Number.isNaN(this.zeroNode.offset), \"zeroNode.offset is NaN.\", note.deltaSi, nullLength);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse\n\t\t\tthis.cursors = [];\n\t}\n\n\n\tpath ({fromIndex = 0, toIndex = this.sample.notes.length - 1} = {}) {\n\t\tconst path = [];\n\n\t\tlet offset = null;\n\n\t\tfor (let si = toIndex; si >= fromIndex;) {\n\t\t\tconst note = this.sample.notes[si];\n\n\t\t\tif (!note.matches.length || note.matches[0].prior < -0.01 || note.matches[0].totalCost >= 1) {\n\t\t\t\t//if (note.matches.length)\n\t\t\t\t//\tconsole.log(\"path -1:\", si, note.matches[0].prior, note.matches[0].totalCost);\n\t\t\t\tpath[si] = -1;\n\t\t\t\t--si;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// sort nodes by backwards heuristic offset\n\t\t\tif (offset != null) {\n\t\t\t\tnote.matches.forEach(node => node.backPrior = (node.totalCost < 1.99 ? node.priorByOffset(offset) : -1));\n\t\t\t\tnote.matches.sort((n1, n2) => n2.backPrior - n1.backPrior);\n\t\t\t}\n\n\t\t\tconst node = note.matches[0];\n\t\t\tnode.path.forEach((ci, si) => path[si] = ci);\n\t\t\t//console.log(\"node path:\", si, node.path);\n\n\t\t\toffset = node.root.offset;\n\n\t\t\tsi = node.rootSi - 1;\n\t\t}\n\n\t\tconsole.assert(path.length == toIndex + 1, \"path length error:\", path, fromIndex, toIndex + 1,\n\t\t\tthis.sample.notes.length, this.sample.notes.length ? this.sample.notes[this.sample.notes.length - 1].index : null);\n\n\t\treturn path;\n\t}\n\n\n\tnullSteps (index) {\n\t\treturn index - (this.fineCursor ? this.fineCursor.si : -1) - 1;\n\t}\n\n\n\tresetCursor (index, {breaking = true} = {}) {\n\t\tif (breaking)\n\t\t\tthis.breakingSI = index;\n\n\t\tconst cursorOffset = this.getCursorOffset();\n\t\tif (cursorOffset != null) {\n\t\t\t//console.log(\"cursorOffset:\", cursorOffset);\n\n\t\t\tthis.zeroNode.offset = cursorOffset;\n\t\t\t//this.breaking = this.nullSteps(index) > Config.SkipDeep;\n\t\t\t//if (this.breaking)\t// trivial zero node si resets result in focus path interruption\n\t\t\tthis.zeroNode.si = index;\n\t\t\tthis.fineCursor = null;\n\n\t\t\tconsole.assert(!Number.isNaN(this.zeroNode.offset), \"zeroNode.offset is NaN.\", cursorOffset);\n\t\t\t//console.log(\"cursor offset reset:\", cursorOffset);\n\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\n\tget relocationTendency () {\n\t\tconst cursor = this.cursors && this.cursors[0];\n\t\tif (!cursor)\n\t\t\treturn null;\n\n\t\tconst nullLength = this.nullSteps(cursor.si);\n\t\tif (nullLength <= 0)\n\t\t\treturn 0;\n\n\t\treturn Math.log(Math.max(nullLength * cursor.value, 1e-3)) / this.relocationThreshold;\n\t}\n};\n\n\n\nmodule.exports = Navigator;\n","\nconst Node = require(\"./node.js\");\nconst Navigator = require(\"./navigator.js\");\n\n\n\nconst HEART_BEAT = 800;\t// in ms\nconst SIMULTANEOUS_INTERVAL = HEART_BEAT * 0.24;\n\n\nconst normalizeInterval = interval => Math.tanh(interval / SIMULTANEOUS_INTERVAL);\n\n\n// greater softIndexFactor make 'harder' soft index\nconst makeNoteSoftIndex = function (notes, index, {softIndexFactor = 1} = {}) {\n\tindex = Number(index);\n\n\tconst note = notes[index];\n\n\t// make soft index\n\tif (index > 0) {\n\t\tconst lastNote = notes[index - 1];\n\n\t\tconsole.assert(note.start != null, \"note.start is null\", note);\n\t\tconsole.assert(lastNote.start != null, \"lastNote.start is null\", lastNote);\n\n\t\tnote.deltaSi = normalizeInterval((note.start - lastNote.start) * softIndexFactor);\n\t\tnote.softIndex = lastNote.softIndex + note.deltaSi;\n\n\t\tconsole.assert(!Number.isNaN(note.deltaSi), \"note.deltaSi is NaN.\", note.start, lastNote.start);\n\t}\n\telse {\n\t\tnote.softIndex = 0;\n\t\tnote.deltaSi = 0;\n\t}\n};\n\n\nconst makeMatchNodes = function (note, criterion, zeroNode = Node.zero()) {\n\tnote.matches = [];\n\n\tconst targetList = criterion.pitchMap[note.pitch];\n\tif (targetList) {\n\t\tfor (const targetNote of targetList) {\n\t\t\tconst node = new Node(note, targetNote);\n\t\t\tif (zeroNode)\n\t\t\t\tnode.evaluatePrev(zeroNode);\n\n\t\t\tnote.matches.push(node);\n\t\t}\n\t}\n};\n\n\nconst genNotationContext = function (notation, {softIndexFactor = 1} = {}) {\n\tfor (let i = 0; i < notation.notes.length; ++i)\n\t\tmakeNoteSoftIndex(notation.notes, i, {softIndexFactor});\n};\n\n\nconst runNavigation = async function(criterion, sample, onStep) {\n\tconst navigator = new Navigator(criterion, sample);\n\tnavigator.resetCursor(-1);\n\n\tfor (let i = 0; i < sample.notes.length; ++i) {\n\t\tnavigator.step(i);\n\n\t\tconst next = await (onStep && onStep(i, navigator));\n\t\tif (next === Symbol.for(\"end\")) {\n\t\t\tconsole.log(\"Navigation interrupted.\");\n\n\t\t\treturn;\n\t\t}\n\t}\n\n\t//console.log(\"Navigation accomplished.\");\n\n\treturn navigator;\n};\n\n\n\nmodule.exports = {\n\tnormalizeInterval,\n\tmakeNoteSoftIndex,\n\tmakeMatchNodes,\n\tgenNotationContext,\n\trunNavigation,\n\tNavigator,\n\tNode,\n};\n","\nconst MIDI = require(\"./MIDI\");\n\n\n\nconst trackDeltaToAbs = events => {\n\tlet tick = 0;\n\n\tevents.forEach(event => {\n\t\ttick += event.deltaTime;\n\t\tevent.tick = tick;\n\t});\n};\n\n\nconst trackAbsToDelta = events => {\n\tlet lastTick = 0;\n\n\tevents.sort((e1, e2) => e1.tick - e2.tick).forEach(event => {\n\t\tevent.deltaTime = event.tick - lastTick;\n\t\tlastTick = event.tick;\n\t});\n};\n\n\nconst sliceTrack = (track, startTick, endTick) => {\n\ttrackDeltaToAbs(track);\n\n\tconst events = [];\n\tconst status = {};\n\n\ttrack.forEach(event => {\n\t\tif (event.tick >= startTick && event.tick <= endTick && event.subtype !== \"endOfTrack\")\n\t\t\tevents.push({\n\t\t\t\t...event,\n\t\t\t\ttick: event.tick - startTick,\n\t\t\t});\n\t\telse if (event.tick < startTick) {\n\t\t\tswitch (event.type) {\n\t\t\tcase \"meta\":\n\t\t\t\tstatus[event.subtype] = event;\n\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t});\n\n\tObject.values(status).forEach(event => events.push({\n\t\t...event,\n\t\ttick: 0,\n\t}));\n\n\tevents.push({\n\t\ttick: endTick - startTick,\n\t\ttype: \"meta\",\n\t\tsubtype: \"endOfTrack\",\n\t});\n\n\ttrackAbsToDelta(events);\n\n\treturn events;\n};\n\n\nconst sliceMidi = (midi, startTick, endTick) => ({\n\theader: midi.header,\n\ttracks: midi.tracks.map(track => sliceTrack(track, startTick, endTick)),\n});\n\n\nconst TICKS_PER_BEATS = 480;\n\nconst EXCLUDE_MIDI_EVENT_SUBTYPES = [\n\t\"endOfTrack\", \"trackName\",\n\t\"noteOn\", \"noteOff\",\n];\n\n\nfunction encodeToMIDIData(notation, {startTime, unclosedNoteDuration = 30e+3} = {}) {\n\tnotation.microsecondsPerBeat = notation.microsecondsPerBeat || 500000;\n\n\tconst ticksPerBeat = TICKS_PER_BEATS;\n\tconst msToTicks = ticksPerBeat * 1000 / notation.microsecondsPerBeat;\n\n\tconst header = { formatType: 0, ticksPerBeat };\n\tconst track = [];\n\n\tif (!Number.isFinite(startTime)) {\n\t\tif (!notation.notes || !notation.notes[0])\n\t\t\tthrow new Error(\"encodeToMidiData: no start time specificed\");\n\n\t\tstartTime = notation.notes[0].start;\n\t}\n\n\ttrack.push({ time: startTime, type: \"meta\", subtype: \"copyrightNotice\", text: `Composed by MusicWdigets. BUILT on ${new Date(Number(process.env.VUE_APP_BUILD_TIME)).toDateString()}` });\n\n\tconst containsTempo = notation.events && notation.events.find(event => event.subtype == \"setTempo\");\n\tif (!containsTempo) {\n\t\ttrack.push({ time: startTime, type: \"meta\", subtype: \"timeSignature\", numerator: 4, denominator: 4, thirtyseconds: 8 });\n\t\ttrack.push({ time: startTime, type: \"meta\", subtype: \"setTempo\", microsecondsPerBeat: notation.microsecondsPerBeat });\n\t}\n\n\t//if (notation.correspondences)\n\t//\ttrack.push({ time: startTime, type: \"meta\", subtype: \"text\", text: \"find-corres:\" + notation.correspondences.join(\",\") });\n\n\tlet endTime = startTime || 0;\n\n\tif (notation.notes) {\n\t\tfor (const note of notation.notes) {\n\t\t\ttrack.push({\n\t\t\t\ttime: note.start,\n\t\t\t\ttype: \"channel\",\n\t\t\t\tsubtype: \"noteOn\",\n\t\t\t\tchannel: note.channel || 0,\n\t\t\t\tnoteNumber: note.pitch,\n\t\t\t\tvelocity: note.velocity,\n\t\t\t\tfinger: note.finger,\n\t\t\t});\n\n\t\t\tendTime = Math.max(endTime, note.start);\n\n\t\t\tif (Number.isFinite(unclosedNoteDuration))\n\t\t\t\tnote.duration = note.duration || unclosedNoteDuration;\n\t\t\tif (note.duration) {\n\t\t\t\ttrack.push({\n\t\t\t\t\ttime: note.start + note.duration,\n\t\t\t\t\ttype: \"channel\",\n\t\t\t\t\tsubtype: \"noteOff\",\n\t\t\t\t\tchannel: note.channel || 0,\n\t\t\t\t\tnoteNumber: note.pitch,\n\t\t\t\t\tvelocity: 0,\n\t\t\t\t});\n\n\t\t\t\tendTime = Math.max(endTime, note.start + note.duration);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (notation.events) {\n\t\tconst events = notation.events.filter(event => !EXCLUDE_MIDI_EVENT_SUBTYPES.includes(event.data.subtype));\n\t\tfor (const event of events) {\n\t\t\ttrack.push({\n\t\t\t\ttime: event.time,\n\t\t\t\t...event.data,\n\t\t\t});\n\n\t\t\tendTime = Math.max(endTime, event.time);\n\t\t}\n\t}\n\n\ttrack.push({ time: endTime + 100, type: \"meta\", subtype: \"endOfTrack\" });\n\n\ttrack.sort(function (e1, e2) { return e1.time - e2.time; });\n\n\t// append finger event after every noteOn event\n\ttrack.map((event, index) => ({event, index}))\n\t\t.filter(({event}) => event.subtype == \"noteOn\" && event.finger != null)\n\t\t.reverse()\n\t\t.forEach(({event, index}) => track.splice(index + 1, 0, {\n\t\t\ttime: event.time,\n\t\t\ttype: \"meta\",\n\t\t\tsubtype: \"text\",\n\t\t\ttext: `fingering(${event.finger})`,\n\t\t}));\n\n\ttrack.forEach(event => event.ticks = Math.round((event.time - startTime) * msToTicks));\n\ttrack.forEach((event, i) => event.deltaTime = (event.ticks - (i > 0 ? track[i - 1].ticks : 0)));\n\n\treturn {header, tracks: [track]};\n};\n\n\nfunction encodeToMIDI(notation, options) {\n\tconst data = encodeToMIDIData(notation, options);\n\treturn MIDI.encodeMidiFile(data);\n};\n\n\n\nmodule.exports = {\n\tsliceMidi,\n\tencodeToMIDIData,\n\tencodeToMIDI,\n};\n","\nconst MIDI = require(\"./source/inc/MIDI\");\nconst MusicNotation = require(\"./source/inc/MusicNotation\");\nconst MidiPlayer = require(\"./source/inc/MidiPlayer.js\");\nconst Matcher = require(\"./source/inc/Matcher\");\nconst MidiUtils = require(\"./source/inc/MidiUtils.js\");\n\n\n\nmodule.exports = {\n\tMIDI,\n\tMusicNotation,\n\tMidiPlayer,\n\tMatcher,\n\tMidiUtils,\n};\n","import pick from 'lodash/pick';\n\nimport { MusicNotation, MIDI } from '@k-l-lambda/music-widgets';\n\n//import {MeasureLayout, LayoutType} from\nimport { ImplicitType, ChordPosition } from './types';\n\nconst WHOLE_DURATION_MAGNITUDE = 1920;\nconst TICKS_PER_BEAT = WHOLE_DURATION_MAGNITUDE / 4;\n\ninterface Fraction {\n\tnumerator: number;\n\tdenominator: number;\n}\n\ninterface StaffNoteProperties {\n\trest: boolean;\n\ttied: boolean;\n\toverlapped: boolean;\n\timplicitType: ImplicitType;\n\tafterGrace: boolean;\n\tchordPosition: ChordPosition;\n\tdivision: number;\n\n\tcontextIndex: number;\n\tstaffTrack: number;\n}\n\ninterface MetaNote extends MusicNotation.Note, Partial {\n\tid: string;\n\tmeasure: number;\n\tendTick: number;\n}\n\ninterface SubNote {\n\tstartTick: number;\n\tendTick: number;\n\tpitch: number;\n\tvelocity?: number;\n}\n\ninterface MeasureNote extends Partial {\n\ttick: number;\n\tpitch: number;\n\tduration: number;\n\tchordPosition: ChordPosition;\n\tstaff: number;\n\n\ttrack: number;\n\tchannel: number;\n\tid: string;\n\tids: string[];\n\n\tsubNotes: SubNote[];\n}\n\ninterface MeasureEvent {\n\tdata: any;\n\ttrack: number;\n\tticks?: number;\n}\n\ninterface Measure {\n\ttick: number;\n\tduration: number;\n\n\tnotes: MeasureNote[];\n\tevents?: MeasureEvent[];\n\ttimeSignature?: Fraction;\n\tkeySignature?: number;\n}\n\ninterface PerformOptions {\n\twithRestTied?: boolean;\n}\n\ninterface MidiEvent extends MIDI.MidiEvent {\n\tticks?: number;\n\tmeasure?: number;\n\tids?: string[];\n\tstaffTrack?: number;\n\tstaff?: number;\n}\ntype MidiTrack = MidiEvent[];\n\nconst EXTRA_NOTE_FIELDS = ['rest', 'tied', 'overlapped', 'implicitType', 'afterGrace', 'contextIndex', 'staffTrack', 'chordPosition', 'division'];\nconst COMMON_NOTE_FIELDS = ['id', 'ids', 'pitch', 'velocity', 'track', 'channel', ...EXTRA_NOTE_FIELDS];\n\nclass MetaNotation {\n\t//pitchContextGroup: PitchContextTable[];\n\t//measureLayout: MeasureLayout;\n\tmeasures: Measure[];\n\n\ttrackNames: string[];\n\tidTrackMap: { [key: string]: number };\n\n\tripe: boolean = false;\n\n\tstatic fromAbsoluteNotes(notes: MetaNote[], measureHeads: number[], data?: Partial): MetaNotation {\n\t\tconst notation = new MetaNotation(data);\n\n\t\tnotation.measures = Array(measureHeads.length)\n\t\t\t.fill(null)\n\t\t\t.map((__, i) => {\n\t\t\t\tconst tick = measureHeads[i];\n\t\t\t\tconst duration = measureHeads[i + 1] ? measureHeads[i + 1] - tick : 0;\n\n\t\t\t\tconst mnotes = notes\n\t\t\t\t\t.filter((note) => note.measure === i + 1)\n\t\t\t\t\t.map(\n\t\t\t\t\t\t(note) =>\n\t\t\t\t\t\t\t({\n\t\t\t\t\t\t\t\ttick: note.startTick - tick,\n\t\t\t\t\t\t\t\tduration: note.endTick - note.startTick,\n\t\t\t\t\t\t\t\t...pick(note, COMMON_NOTE_FIELDS),\n\t\t\t\t\t\t\t\tsubNotes: [],\n\t\t\t\t\t\t\t} as MeasureNote)\n\t\t\t\t\t);\n\n\t\t\t\t// reduce note data size\n\t\t\t\tmnotes.forEach((mn) =>\n\t\t\t\t\t['rest', 'tied', 'implicitType', 'afterGrace'].forEach((field) => {\n\t\t\t\t\t\tif (!mn[field]) delete mn[field];\n\t\t\t\t\t})\n\t\t\t\t);\n\n\t\t\t\treturn {\n\t\t\t\t\ttick,\n\t\t\t\t\tduration,\n\t\t\t\t\tnotes: mnotes,\n\t\t\t\t};\n\t\t\t});\n\n\t\tnotation.idTrackMap = notes.reduce((map, note) => {\n\t\t\tif (note.id) map[note.id] = note.track;\n\n\t\t\treturn map;\n\t\t}, {});\n\n\t\treturn notation;\n\t}\n\n\tstatic performAbsoluteNotes(abNotes: MetaNote[], { withRestTied = false }: PerformOptions = {}): MusicNotation.Note[] {\n\t\tconst notes = abNotes\n\t\t\t.filter((note) => (withRestTied || (!note.rest && !note.tied)) && !note.overlapped)\n\t\t\t.map((note) => ({\n\t\t\t\tmeasure: note.measure,\n\t\t\t\tchannel: note.channel,\n\t\t\t\ttrack: note.track,\n\t\t\t\tstart: note.start,\n\t\t\t\tstartTick: note.startTick,\n\t\t\t\tendTick: note.endTick,\n\t\t\t\tpitch: note.pitch,\n\t\t\t\tduration: note.duration,\n\t\t\t\tvelocity: note.velocity || 127,\n\t\t\t\tid: note.id,\n\t\t\t\tids: note.ids,\n\t\t\t\tstaffTrack: note.staffTrack,\n\t\t\t\tcontextIndex: note.contextIndex,\n\t\t\t\timplicitType: note.implicitType,\n\t\t\t\tchordPosition: note.chordPosition,\n\t\t\t}));\n\n\t\tconst noteMap = notes.reduce((map, note) => {\n\t\t\tconst key = `${note.channel}|${note.start}|${note.pitch}`;\n\t\t\tconst priorNote = map[key];\n\t\t\tif (priorNote) priorNote.ids.push(...note.ids);\n\t\t\telse map[key] = note;\n\n\t\t\treturn map;\n\t\t}, {});\n\n\t\treturn Object.values(noteMap);\n\t}\n\n\tconstructor(data?: Partial) {\n\t\tif (data) Object.assign(this, data);\n\t}\n\n\t/*get ordinaryMeasureIndices (): number[] {\n\t\tif (this.measureLayout)\n\t\t\treturn this.measureLayout.serialize(LayoutType.Ordinary);\n\n\t\treturn Array(this.measures.length).fill(null).map((_, i) => i + 1);\n\t}*/\n\n\t// In Lilypond 2.20.0, minus tick value at the head of a track result in MIDI event time bias,\n\t//\tSo store the bias values to correct MIDI time from lilyond.\n\tget trackTickBias(): { [key: string]: number } {\n\t\tconst headMeasure = this.measures[0];\n\t\treturn this.trackNames.reduce((map, name, track) => {\n\t\t\tmap[name] = 0;\n\t\t\tif (headMeasure) {\n\t\t\t\tconst note = headMeasure.notes.find((note) => note.track === track);\n\t\t\t\tif (note) map[name] = Math.min(note.tick, 0);\n\t\t\t}\n\n\t\t\treturn map;\n\t\t}, {});\n\t}\n\n\tget idSet(): Set {\n\t\treturn this.measures.reduce(\n\t\t\t(set, measure) => (measure.notes.filter((note) => !note.rest).forEach((note) => note.ids.forEach((id) => set.add(id))), set),\n\t\t\tnew Set()\n\t\t);\n\t}\n\n\ttoJSON() {\n\t\treturn {\n\t\t\t__prototype: 'LilyNotation',\n\t\t\t//pitchContextGroup: this.pitchContextGroup,\n\t\t\t//measureLayout: this.measureLayout,\n\t\t\tmeasures: this.measures,\n\t\t\tidTrackMap: this.idTrackMap,\n\t\t\ttrackNames: this.trackNames,\n\t\t\tripe: this.ripe,\n\t\t};\n\t}\n\n\ttoAbsoluteNotes(measureIndices: number[] /*= this.ordinaryMeasureIndices*/): MetaNote[] {\n\t\tlet measureTick = 0;\n\t\tconst measureNotes: MetaNote[][] = measureIndices.map((index) => {\n\t\t\tconst measure = this.measures[index - 1];\n\t\t\tconsole.assert(!!measure, 'invalid measure index:', index, this.measures.length);\n\n\t\t\tconst notes = measure.notes.map((mnote) => {\n\t\t\t\treturn {\n\t\t\t\t\tstartTick: measureTick + mnote.tick,\n\t\t\t\t\tendTick: measureTick + mnote.tick + mnote.duration,\n\t\t\t\t\tstart: measureTick + mnote.tick,\n\t\t\t\t\tduration: mnote.duration,\n\t\t\t\t\tmeasure: index,\n\t\t\t\t\t...pick(mnote, COMMON_NOTE_FIELDS),\n\t\t\t\t} as MetaNote;\n\t\t\t});\n\n\t\t\tmeasureTick += measure.duration;\n\n\t\t\treturn notes;\n\t\t});\n\n\t\treturn [].concat(...measureNotes);\n\t}\n\n\t/*getMeasureIndices (type: LayoutType) {\n\t\treturn this.measureLayout.serialize(type);\n\t}*/\n\n\ttoPerformingNotation(measureIndices: number[] /*= this.ordinaryMeasureIndices*/, options: PerformOptions = {}): MusicNotation.Notation {\n\t\t//console.debug(\"toPerformingNotation:\", this, measureIndices);\n\t\tconst abNotes = this.toAbsoluteNotes(measureIndices);\n\t\tconst notes = MetaNotation.performAbsoluteNotes(abNotes, options);\n\n\t\t//const lastNote = notes[notes.length - 1];\n\t\tconst endTime = Math.max(...notes.map((note) => note.start + note.duration));\n\n\t\tconst endTick = measureIndices.reduce((tick, index) => tick + this.measures[index - 1].duration, 0);\n\n\t\tconst notation = new MusicNotation.Notation({\n\t\t\tticksPerBeat: TICKS_PER_BEAT,\n\t\t\tmeta: {},\n\t\t\ttempos: [], // TODO\n\t\t\tchannels: [notes],\n\t\t\tendTime,\n\t\t\tendTick,\n\t\t});\n\n\t\treturn notation;\n\t}\n\n\ttoPerformingMIDI(measureIndices: number[], { trackList }: { trackList?: boolean[] } = {}): MIDI.MidiData & { zeroTick: number } {\n\t\tif (!measureIndices.length) return null;\n\n\t\t// to avoid begin minus tick\n\t\tconst zeroTick = -Math.min(0, ...(this.measures[0]?.events.map((e) => e.ticks) || []), ...(this.measures[0]?.notes.map((note) => note.tick) || []));\n\n\t\tlet measureTick = zeroTick;\n\t\tconst measureEvents: MeasureEvent[][] = measureIndices.map((index) => {\n\t\t\tconst measure = this.measures[index - 1];\n\t\t\tconsole.assert(!!measure, 'invalid measure index:', index, this.measures.length);\n\n\t\t\tconst events = measure.events.map((mevent) => ({\n\t\t\t\tticks: measureTick + mevent.ticks,\n\t\t\t\ttrack: mevent.track,\n\t\t\t\tdata: {\n\t\t\t\t\t...mevent.data,\n\t\t\t\t\tmeasure: index,\n\t\t\t\t},\n\t\t\t}));\n\n\t\t\tmeasureTick += measure.duration;\n\n\t\t\treturn events;\n\t\t});\n\n\t\tconst eventPriority = (event: MidiEvent): number => event.ticks + (event.subtype === 'noteOff' ? -1e-8 : 0);\n\n\t\tconst tracks: MidiTrack[] = [].concat(...measureEvents).reduce((tracks, mevent) => {\n\t\t\ttracks[mevent.track] = tracks[mevent.track] || [];\n\t\t\ttracks[mevent.track].push({\n\t\t\t\tticks: mevent.ticks,\n\t\t\t\t...mevent.data,\n\t\t\t});\n\n\t\t\treturn tracks;\n\t\t}, []);\n\n\t\ttracks[0] = tracks[0] || [];\n\t\t/*tracks[0].push({\n\t\t\tticks: 0,\n\t\t\ttype: \"meta\",\n\t\t\tsubtype: \"text\",\n\t\t\ttext: `${npmPackage.name} ${npmPackage.version}`,\n\t\t});*/\n\n\t\t// append note events\n\t\tmeasureTick = zeroTick;\n\t\tmeasureIndices.map((index) => {\n\t\t\tconst measure = this.measures[index - 1];\n\t\t\tconsole.assert(!!measure, 'invalid measure index:', index, this.measures.length);\n\t\t\tif (!Number.isFinite(measure.duration)) return;\n\n\t\t\tmeasure.notes.forEach((note) => {\n\t\t\t\tif (trackList && !trackList[note.track]) return;\n\n\t\t\t\tif (note.rest) return;\n\n\t\t\t\tconst tick = measureTick + note.tick;\n\n\t\t\t\tconst track = (tracks[note.track] = tracks[note.track] || []);\n\n\t\t\t\tnote.subNotes.forEach((subnote) => {\n\t\t\t\t\ttrack.push({\n\t\t\t\t\t\tticks: tick + subnote.startTick,\n\t\t\t\t\t\tmeasure: index,\n\t\t\t\t\t\tids: note.ids,\n\t\t\t\t\t\ttype: 'channel',\n\t\t\t\t\t\tsubtype: 'noteOn',\n\t\t\t\t\t\tchannel: note.channel,\n\t\t\t\t\t\tnoteNumber: subnote.pitch,\n\t\t\t\t\t\tvelocity: subnote.velocity,\n\t\t\t\t\t\tstaffTrack: note.staffTrack,\n\t\t\t\t\t\tstaff: note.staff,\n\t\t\t\t\t});\n\n\t\t\t\t\ttrack.push({\n\t\t\t\t\t\tticks: tick + subnote.endTick,\n\t\t\t\t\t\tmeasure: index,\n\t\t\t\t\t\tids: note.ids,\n\t\t\t\t\t\ttype: 'channel',\n\t\t\t\t\t\tsubtype: 'noteOff',\n\t\t\t\t\t\tchannel: note.channel,\n\t\t\t\t\t\tnoteNumber: subnote.pitch,\n\t\t\t\t\t\tvelocity: 0,\n\t\t\t\t\t\tstaffTrack: note.staffTrack,\n\t\t\t\t\t\tstaff: note.staff,\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t});\n\n\t\t\tmeasureTick += measure.duration;\n\t\t});\n\n\t\tconst finalTick = measureTick;\n\n\t\t// ensure no empty track\n\t\tfor (let t = 0; t < tracks.length; ++t) tracks[t] = tracks[t] || [];\n\n\t\t// sort & make deltaTime\n\t\ttracks.forEach((events) => {\n\t\t\tevents.sort((e1, e2) => eventPriority(e1) - eventPriority(e2));\n\n\t\t\tlet ticks = 0;\n\t\t\tevents.forEach((event) => {\n\t\t\t\tevent.deltaTime = event.ticks - ticks;\n\t\t\t\tif (!Number.isFinite(event.deltaTime)) event.deltaTime = 0;\n\t\t\t\telse ticks = event.ticks;\n\t\t\t});\n\n\t\t\tevents.push({ deltaTime: Math.max(finalTick - ticks, 0), type: 'meta', subtype: 'endOfTrack' });\n\t\t});\n\n\t\treturn {\n\t\t\theader: {\n\t\t\t\tformatType: 0,\n\t\t\t\tticksPerBeat: TICKS_PER_BEAT,\n\t\t\t},\n\t\t\ttracks,\n\t\t\tzeroTick,\n\t\t};\n\t}\n\n\ttoPerformingNotationWithEvents(measureIndices: number[], options: { trackList?: boolean[] } = {}): MusicNotation.Notation {\n\t\tif (!measureIndices.length) return null;\n\n\t\tconst { zeroTick, ...midi } = this.toPerformingMIDI(measureIndices, options);\n\t\tconst notation = MusicNotation.Notation.parseMidi(midi);\n\n\t\tassignNotationNoteDataFromEvents(notation);\n\n\t\tlet tick = zeroTick;\n\n\t\tnotation.measures = measureIndices.map((index) => {\n\t\t\tconst startTick = tick;\n\t\t\ttick += this.measures[index - 1].duration;\n\n\t\t\treturn {\n\t\t\t\tindex,\n\t\t\t\tstartTick,\n\t\t\t\tendTick: tick,\n\t\t\t};\n\t\t});\n\n\t\treturn notation;\n\t}\n\n\t// find the MIDI event of setTempo in measures data, and change the value of microsecondsPerBeat\n\tsetTempo(bpm: number): boolean {\n\t\tlet found = false;\n\t\tfor (const measure of this.measures) {\n\t\t\tfor (const event of measure.events) {\n\t\t\t\tif (event.data.subtype === 'setTempo') {\n\t\t\t\t\tevent.data.microsecondsPerBeat = 60e6 / bpm;\n\t\t\t\t\tfound = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn found;\n\t}\n}\n\nconst assignNotationNoteDataFromEvents = (midiNotation: MusicNotation.NotationData, fields = ['ids', 'measure', 'staffTrack']) => {\n\tconst noteId = (channel: number, pitch: number, tick: number): string => `${channel}|${pitch}|${tick}`;\n\n\tconst noteMap = midiNotation.notes.reduce((map, note) => {\n\t\tmap[noteId(note.channel, note.pitch, note.startTick)] = note;\n\n\t\treturn map;\n\t}, {});\n\n\tmidiNotation.events.forEach((event) => {\n\t\tif (event.data.subtype === 'noteOn') {\n\t\t\tconst id = noteId(event.data.channel, event.data.noteNumber, event.ticks);\n\t\t\tconst note = noteMap[id];\n\t\t\tconsole.assert(!!note, 'cannot find note of', id);\n\n\t\t\tif (note) Object.assign(note, pick(event.data, fields));\n\t\t}\n\t});\n};\n\nexport { MetaNote, MetaNotation, MidiEvent };\n",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory();\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\troot.CryptoJS = factory();\n\t}\n}(this, function () {\n\n\t/*globals window, global, require*/\n\n\t/**\n\t * CryptoJS core components.\n\t */\n\tvar CryptoJS = CryptoJS || (function (Math, undefined) {\n\n\t var crypto;\n\n\t // Native crypto from window (Browser)\n\t if (typeof window !== 'undefined' && window.crypto) {\n\t crypto = window.crypto;\n\t }\n\n\t // Native crypto in web worker (Browser)\n\t if (typeof self !== 'undefined' && self.crypto) {\n\t crypto = self.crypto;\n\t }\n\n\t // Native crypto from worker\n\t if (typeof globalThis !== 'undefined' && globalThis.crypto) {\n\t crypto = globalThis.crypto;\n\t }\n\n\t // Native (experimental IE 11) crypto from window (Browser)\n\t if (!crypto && typeof window !== 'undefined' && window.msCrypto) {\n\t crypto = window.msCrypto;\n\t }\n\n\t // Native crypto from global (NodeJS)\n\t if (!crypto && typeof global !== 'undefined' && global.crypto) {\n\t crypto = global.crypto;\n\t }\n\n\t // Native crypto import via require (NodeJS)\n\t if (!crypto && typeof require === 'function') {\n\t try {\n\t crypto = require('crypto');\n\t } catch (err) {}\n\t }\n\n\t /*\n\t * Cryptographically secure pseudorandom number generator\n\t *\n\t * As Math.random() is cryptographically not safe to use\n\t */\n\t var cryptoSecureRandomInt = function () {\n\t if (crypto) {\n\t // Use getRandomValues method (Browser)\n\t if (typeof crypto.getRandomValues === 'function') {\n\t try {\n\t return crypto.getRandomValues(new Uint32Array(1))[0];\n\t } catch (err) {}\n\t }\n\n\t // Use randomBytes method (NodeJS)\n\t if (typeof crypto.randomBytes === 'function') {\n\t try {\n\t return crypto.randomBytes(4).readInt32LE();\n\t } catch (err) {}\n\t }\n\t }\n\n\t throw new Error('Native crypto module could not be used to get secure random number.');\n\t };\n\n\t /*\n\t * Local polyfill of Object.create\n\n\t */\n\t var create = Object.create || (function () {\n\t function F() {}\n\n\t return function (obj) {\n\t var subtype;\n\n\t F.prototype = obj;\n\n\t subtype = new F();\n\n\t F.prototype = null;\n\n\t return subtype;\n\t };\n\t }());\n\n\t /**\n\t * CryptoJS namespace.\n\t */\n\t var C = {};\n\n\t /**\n\t * Library namespace.\n\t */\n\t var C_lib = C.lib = {};\n\n\t /**\n\t * Base object for prototypal inheritance.\n\t */\n\t var Base = C_lib.Base = (function () {\n\n\n\t return {\n\t /**\n\t * Creates a new object that inherits from this object.\n\t *\n\t * @param {Object} overrides Properties to copy into the new object.\n\t *\n\t * @return {Object} The new object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var MyType = CryptoJS.lib.Base.extend({\n\t * field: 'value',\n\t *\n\t * method: function () {\n\t * }\n\t * });\n\t */\n\t extend: function (overrides) {\n\t // Spawn\n\t var subtype = create(this);\n\n\t // Augment\n\t if (overrides) {\n\t subtype.mixIn(overrides);\n\t }\n\n\t // Create default initializer\n\t if (!subtype.hasOwnProperty('init') || this.init === subtype.init) {\n\t subtype.init = function () {\n\t subtype.$super.init.apply(this, arguments);\n\t };\n\t }\n\n\t // Initializer's prototype is the subtype object\n\t subtype.init.prototype = subtype;\n\n\t // Reference supertype\n\t subtype.$super = this;\n\n\t return subtype;\n\t },\n\n\t /**\n\t * Extends this object and runs the init method.\n\t * Arguments to create() will be passed to init().\n\t *\n\t * @return {Object} The new object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var instance = MyType.create();\n\t */\n\t create: function () {\n\t var instance = this.extend();\n\t instance.init.apply(instance, arguments);\n\n\t return instance;\n\t },\n\n\t /**\n\t * Initializes a newly created object.\n\t * Override this method to add some logic when your objects are created.\n\t *\n\t * @example\n\t *\n\t * var MyType = CryptoJS.lib.Base.extend({\n\t * init: function () {\n\t * // ...\n\t * }\n\t * });\n\t */\n\t init: function () {\n\t },\n\n\t /**\n\t * Copies properties into this object.\n\t *\n\t * @param {Object} properties The properties to mix in.\n\t *\n\t * @example\n\t *\n\t * MyType.mixIn({\n\t * field: 'value'\n\t * });\n\t */\n\t mixIn: function (properties) {\n\t for (var propertyName in properties) {\n\t if (properties.hasOwnProperty(propertyName)) {\n\t this[propertyName] = properties[propertyName];\n\t }\n\t }\n\n\t // IE won't copy toString using the loop above\n\t if (properties.hasOwnProperty('toString')) {\n\t this.toString = properties.toString;\n\t }\n\t },\n\n\t /**\n\t * Creates a copy of this object.\n\t *\n\t * @return {Object} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = instance.clone();\n\t */\n\t clone: function () {\n\t return this.init.prototype.extend(this);\n\t }\n\t };\n\t }());\n\n\t /**\n\t * An array of 32-bit words.\n\t *\n\t * @property {Array} words The array of 32-bit words.\n\t * @property {number} sigBytes The number of significant bytes in this word array.\n\t */\n\t var WordArray = C_lib.WordArray = Base.extend({\n\t /**\n\t * Initializes a newly created word array.\n\t *\n\t * @param {Array} words (Optional) An array of 32-bit words.\n\t * @param {number} sigBytes (Optional) The number of significant bytes in the words.\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.lib.WordArray.create();\n\t * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607]);\n\t * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607], 6);\n\t */\n\t init: function (words, sigBytes) {\n\t words = this.words = words || [];\n\n\t if (sigBytes != undefined) {\n\t this.sigBytes = sigBytes;\n\t } else {\n\t this.sigBytes = words.length * 4;\n\t }\n\t },\n\n\t /**\n\t * Converts this word array to a string.\n\t *\n\t * @param {Encoder} encoder (Optional) The encoding strategy to use. Default: CryptoJS.enc.Hex\n\t *\n\t * @return {string} The stringified word array.\n\t *\n\t * @example\n\t *\n\t * var string = wordArray + '';\n\t * var string = wordArray.toString();\n\t * var string = wordArray.toString(CryptoJS.enc.Utf8);\n\t */\n\t toString: function (encoder) {\n\t return (encoder || Hex).stringify(this);\n\t },\n\n\t /**\n\t * Concatenates a word array to this word array.\n\t *\n\t * @param {WordArray} wordArray The word array to append.\n\t *\n\t * @return {WordArray} This word array.\n\t *\n\t * @example\n\t *\n\t * wordArray1.concat(wordArray2);\n\t */\n\t concat: function (wordArray) {\n\t // Shortcuts\n\t var thisWords = this.words;\n\t var thatWords = wordArray.words;\n\t var thisSigBytes = this.sigBytes;\n\t var thatSigBytes = wordArray.sigBytes;\n\n\t // Clamp excess bits\n\t this.clamp();\n\n\t // Concat\n\t if (thisSigBytes % 4) {\n\t // Copy one byte at a time\n\t for (var i = 0; i < thatSigBytes; i++) {\n\t var thatByte = (thatWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t thisWords[(thisSigBytes + i) >>> 2] |= thatByte << (24 - ((thisSigBytes + i) % 4) * 8);\n\t }\n\t } else {\n\t // Copy one word at a time\n\t for (var j = 0; j < thatSigBytes; j += 4) {\n\t thisWords[(thisSigBytes + j) >>> 2] = thatWords[j >>> 2];\n\t }\n\t }\n\t this.sigBytes += thatSigBytes;\n\n\t // Chainable\n\t return this;\n\t },\n\n\t /**\n\t * Removes insignificant bits.\n\t *\n\t * @example\n\t *\n\t * wordArray.clamp();\n\t */\n\t clamp: function () {\n\t // Shortcuts\n\t var words = this.words;\n\t var sigBytes = this.sigBytes;\n\n\t // Clamp\n\t words[sigBytes >>> 2] &= 0xffffffff << (32 - (sigBytes % 4) * 8);\n\t words.length = Math.ceil(sigBytes / 4);\n\t },\n\n\t /**\n\t * Creates a copy of this word array.\n\t *\n\t * @return {WordArray} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = wordArray.clone();\n\t */\n\t clone: function () {\n\t var clone = Base.clone.call(this);\n\t clone.words = this.words.slice(0);\n\n\t return clone;\n\t },\n\n\t /**\n\t * Creates a word array filled with random bytes.\n\t *\n\t * @param {number} nBytes The number of random bytes to generate.\n\t *\n\t * @return {WordArray} The random word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.lib.WordArray.random(16);\n\t */\n\t random: function (nBytes) {\n\t var words = [];\n\n\t for (var i = 0; i < nBytes; i += 4) {\n\t words.push(cryptoSecureRandomInt());\n\t }\n\n\t return new WordArray.init(words, nBytes);\n\t }\n\t });\n\n\t /**\n\t * Encoder namespace.\n\t */\n\t var C_enc = C.enc = {};\n\n\t /**\n\t * Hex encoding strategy.\n\t */\n\t var Hex = C_enc.Hex = {\n\t /**\n\t * Converts a word array to a hex string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The hex string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hexString = CryptoJS.enc.Hex.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\n\t // Convert\n\t var hexChars = [];\n\t for (var i = 0; i < sigBytes; i++) {\n\t var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t hexChars.push((bite >>> 4).toString(16));\n\t hexChars.push((bite & 0x0f).toString(16));\n\t }\n\n\t return hexChars.join('');\n\t },\n\n\t /**\n\t * Converts a hex string to a word array.\n\t *\n\t * @param {string} hexStr The hex string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Hex.parse(hexString);\n\t */\n\t parse: function (hexStr) {\n\t // Shortcut\n\t var hexStrLength = hexStr.length;\n\n\t // Convert\n\t var words = [];\n\t for (var i = 0; i < hexStrLength; i += 2) {\n\t words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << (24 - (i % 8) * 4);\n\t }\n\n\t return new WordArray.init(words, hexStrLength / 2);\n\t }\n\t };\n\n\t /**\n\t * Latin1 encoding strategy.\n\t */\n\t var Latin1 = C_enc.Latin1 = {\n\t /**\n\t * Converts a word array to a Latin1 string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The Latin1 string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var latin1String = CryptoJS.enc.Latin1.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\n\t // Convert\n\t var latin1Chars = [];\n\t for (var i = 0; i < sigBytes; i++) {\n\t var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t latin1Chars.push(String.fromCharCode(bite));\n\t }\n\n\t return latin1Chars.join('');\n\t },\n\n\t /**\n\t * Converts a Latin1 string to a word array.\n\t *\n\t * @param {string} latin1Str The Latin1 string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Latin1.parse(latin1String);\n\t */\n\t parse: function (latin1Str) {\n\t // Shortcut\n\t var latin1StrLength = latin1Str.length;\n\n\t // Convert\n\t var words = [];\n\t for (var i = 0; i < latin1StrLength; i++) {\n\t words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << (24 - (i % 4) * 8);\n\t }\n\n\t return new WordArray.init(words, latin1StrLength);\n\t }\n\t };\n\n\t /**\n\t * UTF-8 encoding strategy.\n\t */\n\t var Utf8 = C_enc.Utf8 = {\n\t /**\n\t * Converts a word array to a UTF-8 string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The UTF-8 string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var utf8String = CryptoJS.enc.Utf8.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t try {\n\t return decodeURIComponent(escape(Latin1.stringify(wordArray)));\n\t } catch (e) {\n\t throw new Error('Malformed UTF-8 data');\n\t }\n\t },\n\n\t /**\n\t * Converts a UTF-8 string to a word array.\n\t *\n\t * @param {string} utf8Str The UTF-8 string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Utf8.parse(utf8String);\n\t */\n\t parse: function (utf8Str) {\n\t return Latin1.parse(unescape(encodeURIComponent(utf8Str)));\n\t }\n\t };\n\n\t /**\n\t * Abstract buffered block algorithm template.\n\t *\n\t * The property blockSize must be implemented in a concrete subtype.\n\t *\n\t * @property {number} _minBufferSize The number of blocks that should be kept unprocessed in the buffer. Default: 0\n\t */\n\t var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base.extend({\n\t /**\n\t * Resets this block algorithm's data buffer to its initial state.\n\t *\n\t * @example\n\t *\n\t * bufferedBlockAlgorithm.reset();\n\t */\n\t reset: function () {\n\t // Initial values\n\t this._data = new WordArray.init();\n\t this._nDataBytes = 0;\n\t },\n\n\t /**\n\t * Adds new data to this block algorithm's buffer.\n\t *\n\t * @param {WordArray|string} data The data to append. Strings are converted to a WordArray using UTF-8.\n\t *\n\t * @example\n\t *\n\t * bufferedBlockAlgorithm._append('data');\n\t * bufferedBlockAlgorithm._append(wordArray);\n\t */\n\t _append: function (data) {\n\t // Convert string to WordArray, else assume WordArray already\n\t if (typeof data == 'string') {\n\t data = Utf8.parse(data);\n\t }\n\n\t // Append\n\t this._data.concat(data);\n\t this._nDataBytes += data.sigBytes;\n\t },\n\n\t /**\n\t * Processes available data blocks.\n\t *\n\t * This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype.\n\t *\n\t * @param {boolean} doFlush Whether all blocks and partial blocks should be processed.\n\t *\n\t * @return {WordArray} The processed data.\n\t *\n\t * @example\n\t *\n\t * var processedData = bufferedBlockAlgorithm._process();\n\t * var processedData = bufferedBlockAlgorithm._process(!!'flush');\n\t */\n\t _process: function (doFlush) {\n\t var processedWords;\n\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\t var dataSigBytes = data.sigBytes;\n\t var blockSize = this.blockSize;\n\t var blockSizeBytes = blockSize * 4;\n\n\t // Count blocks ready\n\t var nBlocksReady = dataSigBytes / blockSizeBytes;\n\t if (doFlush) {\n\t // Round up to include partial blocks\n\t nBlocksReady = Math.ceil(nBlocksReady);\n\t } else {\n\t // Round down to include only full blocks,\n\t // less the number of blocks that must remain in the buffer\n\t nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);\n\t }\n\n\t // Count words ready\n\t var nWordsReady = nBlocksReady * blockSize;\n\n\t // Count bytes ready\n\t var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);\n\n\t // Process blocks\n\t if (nWordsReady) {\n\t for (var offset = 0; offset < nWordsReady; offset += blockSize) {\n\t // Perform concrete-algorithm logic\n\t this._doProcessBlock(dataWords, offset);\n\t }\n\n\t // Remove processed words\n\t processedWords = dataWords.splice(0, nWordsReady);\n\t data.sigBytes -= nBytesReady;\n\t }\n\n\t // Return processed words\n\t return new WordArray.init(processedWords, nBytesReady);\n\t },\n\n\t /**\n\t * Creates a copy of this object.\n\t *\n\t * @return {Object} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = bufferedBlockAlgorithm.clone();\n\t */\n\t clone: function () {\n\t var clone = Base.clone.call(this);\n\t clone._data = this._data.clone();\n\n\t return clone;\n\t },\n\n\t _minBufferSize: 0\n\t });\n\n\t /**\n\t * Abstract hasher template.\n\t *\n\t * @property {number} blockSize The number of 32-bit words this hasher operates on. Default: 16 (512 bits)\n\t */\n\t var Hasher = C_lib.Hasher = BufferedBlockAlgorithm.extend({\n\t /**\n\t * Configuration options.\n\t */\n\t cfg: Base.extend(),\n\n\t /**\n\t * Initializes a newly created hasher.\n\t *\n\t * @param {Object} cfg (Optional) The configuration options to use for this hash computation.\n\t *\n\t * @example\n\t *\n\t * var hasher = CryptoJS.algo.SHA256.create();\n\t */\n\t init: function (cfg) {\n\t // Apply config defaults\n\t this.cfg = this.cfg.extend(cfg);\n\n\t // Set initial values\n\t this.reset();\n\t },\n\n\t /**\n\t * Resets this hasher to its initial state.\n\t *\n\t * @example\n\t *\n\t * hasher.reset();\n\t */\n\t reset: function () {\n\t // Reset data buffer\n\t BufferedBlockAlgorithm.reset.call(this);\n\n\t // Perform concrete-hasher logic\n\t this._doReset();\n\t },\n\n\t /**\n\t * Updates this hasher with a message.\n\t *\n\t * @param {WordArray|string} messageUpdate The message to append.\n\t *\n\t * @return {Hasher} This hasher.\n\t *\n\t * @example\n\t *\n\t * hasher.update('message');\n\t * hasher.update(wordArray);\n\t */\n\t update: function (messageUpdate) {\n\t // Append\n\t this._append(messageUpdate);\n\n\t // Update the hash\n\t this._process();\n\n\t // Chainable\n\t return this;\n\t },\n\n\t /**\n\t * Finalizes the hash computation.\n\t * Note that the finalize operation is effectively a destructive, read-once operation.\n\t *\n\t * @param {WordArray|string} messageUpdate (Optional) A final message update.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @example\n\t *\n\t * var hash = hasher.finalize();\n\t * var hash = hasher.finalize('message');\n\t * var hash = hasher.finalize(wordArray);\n\t */\n\t finalize: function (messageUpdate) {\n\t // Final message update\n\t if (messageUpdate) {\n\t this._append(messageUpdate);\n\t }\n\n\t // Perform concrete-hasher logic\n\t var hash = this._doFinalize();\n\n\t return hash;\n\t },\n\n\t blockSize: 512/32,\n\n\t /**\n\t * Creates a shortcut function to a hasher's object interface.\n\t *\n\t * @param {Hasher} hasher The hasher to create a helper for.\n\t *\n\t * @return {Function} The shortcut function.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256);\n\t */\n\t _createHelper: function (hasher) {\n\t return function (message, cfg) {\n\t return new hasher.init(cfg).finalize(message);\n\t };\n\t },\n\n\t /**\n\t * Creates a shortcut function to the HMAC's object interface.\n\t *\n\t * @param {Hasher} hasher The hasher to use in this HMAC helper.\n\t *\n\t * @return {Function} The shortcut function.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256);\n\t */\n\t _createHmacHelper: function (hasher) {\n\t return function (message, key) {\n\t return new C_algo.HMAC.init(hasher, key).finalize(message);\n\t };\n\t }\n\t });\n\n\t /**\n\t * Algorithm namespace.\n\t */\n\t var C_algo = C.algo = {};\n\n\t return C;\n\t}(Math));\n\n\n\treturn CryptoJS;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function (Math) {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var Hasher = C_lib.Hasher;\n\t var C_algo = C.algo;\n\n\t // Initialization and round constants tables\n\t var H = [];\n\t var K = [];\n\n\t // Compute constants\n\t (function () {\n\t function isPrime(n) {\n\t var sqrtN = Math.sqrt(n);\n\t for (var factor = 2; factor <= sqrtN; factor++) {\n\t if (!(n % factor)) {\n\t return false;\n\t }\n\t }\n\n\t return true;\n\t }\n\n\t function getFractionalBits(n) {\n\t return ((n - (n | 0)) * 0x100000000) | 0;\n\t }\n\n\t var n = 2;\n\t var nPrime = 0;\n\t while (nPrime < 64) {\n\t if (isPrime(n)) {\n\t if (nPrime < 8) {\n\t H[nPrime] = getFractionalBits(Math.pow(n, 1 / 2));\n\t }\n\t K[nPrime] = getFractionalBits(Math.pow(n, 1 / 3));\n\n\t nPrime++;\n\t }\n\n\t n++;\n\t }\n\t }());\n\n\t // Reusable object\n\t var W = [];\n\n\t /**\n\t * SHA-256 hash algorithm.\n\t */\n\t var SHA256 = C_algo.SHA256 = Hasher.extend({\n\t _doReset: function () {\n\t this._hash = new WordArray.init(H.slice(0));\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\t // Shortcut\n\t var H = this._hash.words;\n\n\t // Working variables\n\t var a = H[0];\n\t var b = H[1];\n\t var c = H[2];\n\t var d = H[3];\n\t var e = H[4];\n\t var f = H[5];\n\t var g = H[6];\n\t var h = H[7];\n\n\t // Computation\n\t for (var i = 0; i < 64; i++) {\n\t if (i < 16) {\n\t W[i] = M[offset + i] | 0;\n\t } else {\n\t var gamma0x = W[i - 15];\n\t var gamma0 = ((gamma0x << 25) | (gamma0x >>> 7)) ^\n\t ((gamma0x << 14) | (gamma0x >>> 18)) ^\n\t (gamma0x >>> 3);\n\n\t var gamma1x = W[i - 2];\n\t var gamma1 = ((gamma1x << 15) | (gamma1x >>> 17)) ^\n\t ((gamma1x << 13) | (gamma1x >>> 19)) ^\n\t (gamma1x >>> 10);\n\n\t W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16];\n\t }\n\n\t var ch = (e & f) ^ (~e & g);\n\t var maj = (a & b) ^ (a & c) ^ (b & c);\n\n\t var sigma0 = ((a << 30) | (a >>> 2)) ^ ((a << 19) | (a >>> 13)) ^ ((a << 10) | (a >>> 22));\n\t var sigma1 = ((e << 26) | (e >>> 6)) ^ ((e << 21) | (e >>> 11)) ^ ((e << 7) | (e >>> 25));\n\n\t var t1 = h + sigma1 + ch + K[i] + W[i];\n\t var t2 = sigma0 + maj;\n\n\t h = g;\n\t g = f;\n\t f = e;\n\t e = (d + t1) | 0;\n\t d = c;\n\t c = b;\n\t b = a;\n\t a = (t1 + t2) | 0;\n\t }\n\n\t // Intermediate hash value\n\t H[0] = (H[0] + a) | 0;\n\t H[1] = (H[1] + b) | 0;\n\t H[2] = (H[2] + c) | 0;\n\t H[3] = (H[3] + d) | 0;\n\t H[4] = (H[4] + e) | 0;\n\t H[5] = (H[5] + f) | 0;\n\t H[6] = (H[6] + g) | 0;\n\t H[7] = (H[7] + h) | 0;\n\t },\n\n\t _doFinalize: function () {\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\n\t var nBitsTotal = this._nDataBytes * 8;\n\t var nBitsLeft = data.sigBytes * 8;\n\n\t // Add padding\n\t dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000);\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal;\n\t data.sigBytes = dataWords.length * 4;\n\n\t // Hash final blocks\n\t this._process();\n\n\t // Return final computed hash\n\t return this._hash;\n\t },\n\n\t clone: function () {\n\t var clone = Hasher.clone.call(this);\n\t clone._hash = this._hash.clone();\n\n\t return clone;\n\t }\n\t });\n\n\t /**\n\t * Shortcut function to the hasher's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hash = CryptoJS.SHA256('message');\n\t * var hash = CryptoJS.SHA256(wordArray);\n\t */\n\t C.SHA256 = Hasher._createHelper(SHA256);\n\n\t /**\n\t * Shortcut function to the HMAC's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hmac = CryptoJS.HmacSHA256(message, key);\n\t */\n\t C.HmacSHA256 = Hasher._createHmacHelper(SHA256);\n\t}(Math));\n\n\n\treturn CryptoJS.SHA256;\n\n}));","import _SHA256 from 'crypto-js/sha256';\n\nconst SHA256 = (source: string): Uint8Array => {\n\tconst { words, sigBytes } = _SHA256(source);\n\tconst uwords = words.map((x) => (x < 0 ? x + 0x100000000 : x));\n\tconst word_len = sigBytes / words.length;\n\n\treturn new Uint8Array(sigBytes).map((_, i) => (uwords[Math.floor(i / word_len)] >> ((3 - (i % word_len)) * 8)) & 0xff);\n};\n\ntype Hash = Uint8Array;\nconst HASH_LEN = 256;\n\nclass HashVector {\n\tfields: number[];\n\n\tstatic fromHash(hash: Hash): HashVector {\n\t\tconst fields = [];\n\t\tfor (const byte of hash) {\n\t\t\tfor (let b = 0; b < 8; ++b) fields.push((byte >> b) & 1 ? 1 : -1);\n\t\t}\n\n\t\treturn new HashVector(fields);\n\t}\n\n\tstatic fromString(source: string): HashVector {\n\t\tconst hash = SHA256(source);\n\t\treturn HashVector.fromHash(hash);\n\t}\n\n\tstatic fromWords(words: string[]): HashVector {\n\t\tconst vs = words.map((word) => HashVector.fromString(word));\n\t\treturn vs.reduce((sum, v) => sum.add(v), HashVector.zero);\n\t}\n\n\tstatic concat(...vectors: HashVector[]): HashVector {\n\t\tconst fields = vectors.map((v) => v.fields).flat(1);\n\n\t\treturn new HashVector(fields);\n\t}\n\n\tconstructor(fields: number[] | null = null) {\n\t\tthis.fields = fields || Array(HASH_LEN).fill(0);\n\t}\n\n\tget length(): number {\n\t\treturn this.fields.length;\n\t}\n\n\ttoHash(): Hash {\n\t\treturn Uint8Array.from(\n\t\t\tArray(this.length / 8)\n\t\t\t\t.fill(0)\n\t\t\t\t.map((_, i) => {\n\t\t\t\t\tconst bits = this.fields.slice(i * 8, (i + 1) * 8);\n\n\t\t\t\t\treturn bits.reduce((byte, bit, b) => byte | ((bit > 0 ? 1 : 0) << b), 0);\n\t\t\t\t})\n\t\t) as Hash;\n\t}\n\n\tadd(vec: HashVector): this {\n\t\tthis.fields.forEach((value, i) => (this.fields[i] = value + vec.fields[i]));\n\n\t\treturn this;\n\t}\n\n\tscale(factor: number): this {\n\t\tthis.fields = this.fields.map((value) => value * factor);\n\n\t\treturn this;\n\t}\n\n\tsub(crop: number): HashVector {\n\t\tconst fields = crop > 0 ? this.fields.slice(0, crop) : this.fields.slice(crop);\n\t\treturn new HashVector(fields);\n\t}\n\n\tstatic get zero(): HashVector {\n\t\treturn new HashVector();\n\t}\n}\n\nconst odds = (byte: number): number => {\n\tlet result = 0;\n\tfor (let b = byte; b > 0; b >>= 1) {\n\t\tif (b % 2) ++result;\n\t}\n\n\treturn result;\n};\nconst ODDS = Array(2 ** 8)\n\t.fill(0)\n\t.map((_, i) => odds(i));\nconst ODDS_HEX = ODDS.reduce((table, odd, i) => ({ ...table, [('0' + i.toString(16)).slice(-2)]: odd }), {});\n\nconst countOnes = (hash: Hash): number => hash.reduce((sum, byte) => sum + ODDS[byte], 0);\n\nconst xorHashes = (hash1: Hash, hash2: Hash): Hash => hash1.map((byte, i) => byte ^ hash2[i]) as Hash;\n\nconst cosHashes = (hash1: Hash, hash2: Hash): number => {\n\tconst len = hash1.length * 8;\n\n\tconst xor = xorHashes(hash1, hash2);\n\tconst ones = countOnes(xor);\n\n\treturn (len - ones * 2) / len;\n};\n\nconst cosBigInts = (hash1: bigint, hash2: bigint, len: number = HASH_LEN): number => {\n\tconst xor = hash1 ^ hash2;\n\tconst xor_hex = '0'.repeat(len / 4) + xor.toString(16);\n\n\tconst ones = Array(len / 8)\n\t\t.fill(0)\n\t\t.reduce((ones, _, i) => ones + ODDS_HEX[xor_hex.slice((i + 1) * -2, i ? i * -2 : undefined)], 0);\n\n\treturn (len - ones * 2) / len;\n};\n\nconst i2hex = (i) => ('0' + i.toString(16)).slice(-2);\nconst hashToHex = (hash: Hash): string => Array.from(hash).map(i2hex).join('');\n\nconst hexToHash = (hex: string): Hash =>\n\tUint8Array.from(\n\t\tArray(hex.length / 2)\n\t\t\t.fill(0)\n\t\t\t.map((_, i) => hex.substring(i * 2, (i + 1) * 2))\n\t\t\t.map((x) => parseInt(x, 16))\n\t);\n\nconst hashToBigInt = (hash: Hash): bigint => {\n\t// __NOT_FOR_BROWSER_\n\treturn Array.from(hash).reduce((r, x) => r * 0x100n + BigInt(x), 0n);\n\t/*\n\t// _NOT_FOR_BROWSER__\n\tthrow new Error('BigInt not supported');\n\t//*/\n};\n\nconst hashFromWords = (words: string[]): Hash => HashVector.fromWords(words).toHash();\n\nexport { Hash, HashVector, cosHashes, cosBigInts, hashToHex, hexToHash, hashToBigInt, hashFromWords };\n","var Sylvester = {}\n\nSylvester.Matrix = function () {}\n\nSylvester.Matrix.create = function (elements) {\n var M = new Sylvester.Matrix()\n return M.setElements(elements)\n}\n\nSylvester.Matrix.I = function (n) {\n var els = [],\n i = n,\n j\n while (i--) {\n j = n\n els[i] = []\n while (j--) {\n els[i][j] = i === j ? 1 : 0\n }\n }\n return Sylvester.Matrix.create(els)\n}\n\nSylvester.Matrix.prototype = {\n dup: function () {\n return Sylvester.Matrix.create(this.elements)\n },\n\n isSquare: function () {\n var cols = this.elements.length === 0 ? 0 : this.elements[0].length\n return this.elements.length === cols\n },\n\n toRightTriangular: function () {\n if (this.elements.length === 0) return Sylvester.Matrix.create([])\n var M = this.dup(),\n els\n var n = this.elements.length,\n i,\n j,\n np = this.elements[0].length,\n p\n for (i = 0; i < n; i++) {\n if (M.elements[i][i] === 0) {\n for (j = i + 1; j < n; j++) {\n if (M.elements[j][i] !== 0) {\n els = []\n for (p = 0; p < np; p++) {\n els.push(M.elements[i][p] + M.elements[j][p])\n }\n M.elements[i] = els\n break\n }\n }\n }\n if (M.elements[i][i] !== 0) {\n for (j = i + 1; j < n; j++) {\n var multiplier = M.elements[j][i] / M.elements[i][i]\n els = []\n for (p = 0; p < np; p++) {\n // Elements with column numbers up to an including the number of the\n // row that we're subtracting can safely be set straight to zero,\n // since that's the point of this routine and it avoids having to\n // loop over and correct rounding errors later\n els.push(\n p <= i ? 0 : M.elements[j][p] - M.elements[i][p] * multiplier\n )\n }\n M.elements[j] = els\n }\n }\n }\n return M\n },\n\n determinant: function () {\n if (this.elements.length === 0) {\n return 1\n }\n if (!this.isSquare()) {\n return null\n }\n var M = this.toRightTriangular()\n var det = M.elements[0][0],\n n = M.elements.length\n for (var i = 1; i < n; i++) {\n det = det * M.elements[i][i]\n }\n return det\n },\n\n isSingular: function () {\n return this.isSquare() && this.determinant() === 0\n },\n\n augment: function (matrix) {\n if (this.elements.length === 0) {\n return this.dup()\n }\n var M = matrix.elements || matrix\n if (typeof M[0][0] === 'undefined') {\n M = Sylvester.Matrix.create(M).elements\n }\n var T = this.dup(),\n cols = T.elements[0].length\n var i = T.elements.length,\n nj = M[0].length,\n j\n if (i !== M.length) {\n return null\n }\n while (i--) {\n j = nj\n while (j--) {\n T.elements[i][cols + j] = M[i][j]\n }\n }\n return T\n },\n\n inverse: function () {\n if (this.elements.length === 0) {\n return null\n }\n if (!this.isSquare() || this.isSingular()) {\n return null\n }\n var n = this.elements.length,\n i = n,\n j\n var M = this.augment(Sylvester.Matrix.I(n)).toRightTriangular()\n var np = M.elements[0].length,\n p,\n els,\n divisor\n var inverse_elements = [],\n new_element\n // Sylvester.Matrix is non-singular so there will be no zeros on the\n // diagonal. Cycle through rows from last to first.\n while (i--) {\n // First, normalise diagonal elements to 1\n els = []\n inverse_elements[i] = []\n divisor = M.elements[i][i]\n for (p = 0; p < np; p++) {\n new_element = M.elements[i][p] / divisor\n els.push(new_element)\n // Shuffle off the current row of the right hand side into the results\n // array as it will not be modified by later runs through this loop\n if (p >= n) {\n inverse_elements[i].push(new_element)\n }\n }\n M.elements[i] = els\n // Then, subtract this row from those above it to give the identity matrix\n // on the left hand side\n j = i\n while (j--) {\n els = []\n for (p = 0; p < np; p++) {\n els.push(M.elements[j][p] - M.elements[i][p] * M.elements[j][i])\n }\n M.elements[j] = els\n }\n }\n return Sylvester.Matrix.create(inverse_elements)\n },\n\n setElements: function (els) {\n var i,\n j,\n elements = els.elements || els\n if (elements[0] && typeof elements[0][0] !== 'undefined') {\n i = elements.length\n this.elements = []\n while (i--) {\n j = elements[i].length\n this.elements[i] = []\n while (j--) {\n this.elements[i][j] = elements[i][j]\n }\n }\n return this\n }\n var n = elements.length\n this.elements = []\n for (i = 0; i < n; i++) {\n this.elements.push([elements[i]])\n }\n return this\n },\n}\n\nmodule.exports = function (elements) {\n const mat = Sylvester.Matrix.create(elements).inverse()\n if (mat !== null) {\n return mat.elements\n } else {\n return null\n }\n}\n","import matrixInverse from 'matrix-inverse';\n\nimport { Fraction } from './interfaces';\nimport { fractionMul, reducedFraction, roundNumber } from './utils';\nimport { Logger, DummyLogger } from './logger';\n\ntype Matrix = number[][];\ntype EventID = number;\ntype Time = number;\ntype EventSet = Set;\ntype Equation = number[];\n\nconst EOM = -1; // end event id of measure\n\n//const GREAT_NUMBER = 16 * 9 * 5 * 7 * 11 * 13 * 17 * 19 * 23;\nconst GREAT_NUMBER = 1920;\n\nconst DURATION_MULTIPLIER = 128 * 3 * 5 * 7 * 11 * 13;\n\nconst floatToFrac = (x: number): Fraction => {\n\tconst n = Math.round(x * GREAT_NUMBER);\n\n\treturn reducedFraction(n, GREAT_NUMBER);\n};\n\nconst floatToTimeWarp = (x: number): Fraction => {\n\tif (x === 1) return null;\n\n\treturn floatToFrac(x);\n};\n\ninterface Stage {\n\tevents: EventID[];\n\tindex?: number;\n\ttick?: Time;\n}\n\nenum ActionType {\n\tPLACE,\n\tVERTICAL,\n\tHORIZONTAL,\n}\n\nclass Action {\n\ttype: ActionType;\n\te1: EventID;\n\te2?: EventID;\n\n\tconstructor(data: any) {\n\t\tObject.assign(this, data);\n\t}\n\n\tstatic P(e: EventID): Action {\n\t\treturn new Action({\n\t\t\ttype: ActionType.PLACE,\n\t\t\te1: e,\n\t\t});\n\t}\n\n\tstatic V(e1: EventID, e2: EventID, order: number = 1): Action {\n\t\treturn new Action({\n\t\t\ttype: ActionType.VERTICAL,\n\t\t\te1: order > 0 ? e1 : e2,\n\t\t\te2: order > 0 ? e2 : e1,\n\t\t});\n\t}\n\n\tstatic H(e1: EventID, e2: EventID): Action {\n\t\treturn new Action({\n\t\t\ttype: ActionType.HORIZONTAL,\n\t\t\te1,\n\t\t\te2,\n\t\t});\n\t}\n\n\tget id(): string {\n\t\tswitch (this.type) {\n\t\t\tcase ActionType.PLACE:\n\t\t\t\treturn this.e1.toString();\n\n\t\t\tcase ActionType.VERTICAL:\n\t\t\t\treturn `${this.e1}|${this.e2}`;\n\n\t\t\tcase ActionType.HORIZONTAL:\n\t\t\t\treturn `${this.e1}-${this.e2 >= 0 ? this.e2 : '.'}`;\n\t\t}\n\t}\n\n\tget events(): EventID[] {\n\t\treturn [this.e1, this.e2].filter(Number.isFinite);\n\t}\n}\n\ninterface Quota {\n\tcredits: number;\n}\n\ninterface BasicEvent {\n\tid: EventID;\n\tconfidence: number;\n\tshrinkness: number; // the possibility of time warp\n\tx: number;\n\tstaff?: number;\n\tduration: Time;\n}\n\ninterface Event extends BasicEvent {\n\tlowWarp: number;\n}\n\ninterface EventResult {\n\tid: EventID;\n\ttick: Time;\n\tendTick: Time;\n\ttickGroup: number;\n\ttimeWarp?: Fraction;\n}\n\ninterface Environment {\n\tevents: BasicEvent[];\n\texpectedDuration: Time;\n\tmeasureShrinkness: number;\n\tendX: number;\n\tmatrixH: Matrix;\n\tmatrixV: Matrix;\n}\n\ninterface Solution {\n\tevents: EventResult[];\n\tvoices: EventID[][];\n\tduration: number;\n\n\tloss?: number;\n\tactions?: string;\n\tcredits?: number;\n\ttimes?: number;\n}\n\ninterface Status {\n\tactionAccessing: Map;\n\teventMap: { [id: number]: Event };\n\teventTendencies: number[];\n\tmatrixH: Matrix; // matrix N+1 x N\t\t[right][left]\n\tmatrixV: Matrix; // matrix N x N\n}\n\ninterface NodeBranch {\n\taction: Action;\n\tpossibility: number;\n}\n\ntype Path = EventID[];\n\ninterface InbalanceEquations {\n\tones: boolean[];\n\tinbalances: Equation[];\n}\n\ninterface SolverOptions {\n\tquota?: number;\n\tlogger?: Logger;\n}\n\nclass StageMatrix {\n\tmatrix: EventSet[][];\n\n\tstatic fromNode(node: PathNode, status: Status): StageMatrix {\n\t\tconst matrix = Array(node.stages.length)\n\t\t\t.fill(null)\n\t\t\t.map(() =>\n\t\t\t\tArray(node.stages.length)\n\t\t\t\t\t.fill(null)\n\t\t\t\t\t.map(() => new Set())\n\t\t\t);\n\n\t\tnode.actions\n\t\t\t.filter((action) => action.type === ActionType.HORIZONTAL)\n\t\t\t.forEach((action) => {\n\t\t\t\tconst stage1 = node.stages.findIndex((stage) => stage.events.includes(action.e1));\n\t\t\t\tconst stage2 = node.stages.findIndex((stage) => stage.events.includes(action.e2));\n\t\t\t\tconsole.assert(stage1 >= 0 && stage2 >= 0, 'invalid stages for H action:', node.id, node.stages, action);\n\n\t\t\t\tmatrix[stage1][stage2].add(action.e1);\n\t\t\t});\n\t\tmatrix[0][node.stages.length - 1].add(0); // the entire measure edge\n\n\t\tconst stagedEvents = node.stagedEvents;\n\t\tconst endHs = status.matrixH[status.matrixH.length - 1].filter((_, i) => !stagedEvents.has(i));\n\t\tconst endHP = Math.max(0, Math.max(...endHs) - 0.01);\n\n\t\tconst hActions = node.actions.filter((action) => action.type === ActionType.HORIZONTAL);\n\n\t\tconst pendingHeads = Object.keys(status.eventMap)\n\t\t\t.map(Number)\n\t\t\t.filter((eid) => !hActions.find((action) => action.e2 === eid));\n\n\t\t// edges to end stage\n\t\tnode.stages.forEach((stage) => {\n\t\t\tstage.events.forEach((eid) => {\n\t\t\t\tif (eid > 0) {\n\t\t\t\t\tconst act = hActions.find((action) => action.e1 === eid);\n\t\t\t\t\tif (!act && status.matrixH[status.matrixH.length - 1][eid] >= endHP) {\n\t\t\t\t\t\tif (!pendingHeads.some((id) => status.matrixH[id][eid] > 0)) matrix[stage.index][node.stages.length - 1].add(eid);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\treturn new StageMatrix({ matrix });\n\t}\n\n\tconstructor(data: any) {\n\t\tObject.assign(this, data);\n\t}\n\n\tpathOf(x: number, y: number, target: number, ei: number = 0): Path {\n\t\tif (this.matrix[x][y].size) {\n\t\t\tconst eid = [...this.matrix[x][y]][ei];\n\t\t\tif (y === target) return [eid];\n\n\t\t\tfor (let yy = y + 1; yy <= target; ++yy) {\n\t\t\t\tconst sub = this.pathOf(y, yy, target);\n\t\t\t\tif (sub) return [eid, ...sub];\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfindDoublePath(s1: number, s2: number): [Path, Path] {\n\t\tconst paths = [];\n\t\tfor (let t = s2; t >= s1 + 1; --t) {\n\t\t\tfor (let ei = 0; ei < this.matrix[s1][t].size; ++ei) {\n\t\t\t\tconst path = this.pathOf(s1, t, s2, ei);\n\t\t\t\tif (path) {\n\t\t\t\t\tpaths.push(path);\n\t\t\t\t\tif (paths.length === 2) return [paths[0], paths[1]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\treducePath(path: Path): void {\n\t\tthis.matrix.forEach((column) => column.forEach((set) => path.forEach((id) => set.delete(id))));\n\t}\n\n\ttoEquations(eventCount: number): Equation[] {\n\t\tconst equations: Equation[] = [];\n\n\t\tfor (let d = 1; d < this.matrix.length; d++) {\n\t\t\tfor (let s1 = 0; s1 < this.matrix.length - d; s1++) {\n\t\t\t\tconst s2 = s1 + d;\n\n\t\t\t\twhile (true) {\n\t\t\t\t\t// find closed loop from s1 to s2\n\t\t\t\t\tconst paths = this.findDoublePath(s1, s2);\n\t\t\t\t\tif (paths) {\n\t\t\t\t\t\tconst [path1, path2] = paths;\n\t\t\t\t\t\tconst equation = Array(eventCount).fill(0);\n\t\t\t\t\t\tpath1.forEach((eid) => (equation[eid] = 1));\n\t\t\t\t\t\tpath2.forEach((eid) => (equation[eid] = -1));\n\t\t\t\t\t\tequations.push(equation);\n\n\t\t\t\t\t\tthis.reducePath(path1.length > path2.length ? path1 : path2);\n\t\t\t\t\t} else break;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn equations;\n\t}\n}\n\nclass PathNode {\n\tlogger: Logger;\n\n\tparent: PathNode;\n\taction: Action;\n\tpossibility: number;\n\tchildren: PathNode[];\n\n\tstages: Stage[];\n\t//stageMatrix: StageMatrix;\n\tconstraints: Equation[];\n\n\tconstructor(data: any) {\n\t\tObject.assign(this, data);\n\n\t\tconsole.assert(this.logger, 'logger is null:', data);\n\t}\n\n\tget actions(): Action[] {\n\t\tconst last = this.parent ? this.parent.actions : [];\n\t\treturn this.action ? [...last, this.action] : last;\n\t}\n\n\tget id(): string {\n\t\tconst actionIds = this.actions.map((action) => action.id).sort();\n\t\treturn actionIds.join(' ');\n\t}\n\n\tget stagedEvents(): Set {\n\t\tconst set = new Set();\n\t\tif (this.stages) this.stages.forEach((stage) => stage.events.forEach((eid) => eid >= 0 && set.add(eid)));\n\n\t\treturn set;\n\t}\n\n\tlike(ids: string): boolean {\n\t\tconst actionIds = ids.split(' ').sort();\n\t\treturn actionIds.join(' ') === this.id;\n\t}\n\n\tconstructStages(status: Status): void {\n\t\tthis.stages = [{ events: [EOM] }];\n\n\t\tfor (const action of this.actions) {\n\t\t\tswitch (action.type) {\n\t\t\t\tcase ActionType.PLACE:\n\t\t\t\t\tthis.stages.unshift({ events: [action.e1] });\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase ActionType.VERTICAL:\n\t\t\t\t\t{\n\t\t\t\t\t\tconst stage1 = this.stages.find((stage) => stage.events.includes(action.e1));\n\t\t\t\t\t\tconst stage2 = this.stages.find((stage) => stage.events.includes(action.e2));\n\t\t\t\t\t\tconsole.assert(stage1 || stage2, 'invalid V action:', this.stages, action);\n\n\t\t\t\t\t\tif (stage1 && stage2) {\n\t\t\t\t\t\t\tstage1.events.push(...stage2.events);\n\t\t\t\t\t\t\tstage2.events = null;\n\t\t\t\t\t\t\tthis.stages = this.stages.filter((stage) => stage.events);\n\t\t\t\t\t\t} else if (!stage1) stage2.events.unshift(action.e1);\n\t\t\t\t\t\telse if (!stage2) stage1.events.push(action.e2);\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase ActionType.HORIZONTAL:\n\t\t\t\t\t{\n\t\t\t\t\t\tconst stage1 = this.stages.find((stage) => stage.events.includes(action.e1));\n\t\t\t\t\t\tconst stage2 = this.stages.find((stage) => stage.events.includes(action.e2));\n\t\t\t\t\t\tconsole.assert(stage1 || stage2, 'invalid H action:', this.stages, action);\n\n\t\t\t\t\t\tconst newStage = (eid) => {\n\t\t\t\t\t\t\tconsole.assert(status.eventMap[eid], 'invalid event id:', action.id, eid, status.eventMap);\n\t\t\t\t\t\t\tconst x = status.eventMap[eid].x;\n\n\t\t\t\t\t\t\tconst stage = this.stages.find(\n\t\t\t\t\t\t\t\t(s) => s.events.some((e) => e > 0 && status.eventMap[e].x <= x) && s.events.some((e) => e > 0 && status.eventMap[e].x >= x)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tif (stage) stage.events.push(eid);\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tconst newStage = { events: [eid] };\n\t\t\t\t\t\t\t\tconst si = this.stages.findIndex((s) => s.events[0] === EOM || status.eventMap[s.events[0]].x >= x);\n\t\t\t\t\t\t\t\tthis.stages.splice(si, 0, newStage);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t};\n\t\t\t\t\t\tif (!stage1) newStage(action.e1);\n\t\t\t\t\t\tif (!stage2) newStage(action.e2);\n\n\t\t\t\t\t\t/*if (this.stages.some((s, si) => si < this.stages.length - 2\n\t\t\t\t\t&& s.events.some(e1 => this.stages[si + 1].events.some(e2 => status.eventMap[e2].x <= status.eventMap[e1].x))))\n\t\t\t\t\tdebugger;*/\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tthis.stages.forEach((stage, i) => (stage.index = i));\n\t}\n\n\tconstructConstraints(status: Status): void {\n\t\tconst eventCount = Object.keys(status.eventMap).length;\n\t\tconst stageMatrix = StageMatrix.fromNode(this, status);\n\t\tconst equations = stageMatrix.toEquations(eventCount);\n\n\t\tconst factors = Array(eventCount)\n\t\t\t.fill(null)\n\t\t\t.map((_, id) => status.eventMap[id].duration);\n\t\tthis.constraints = equations.map((equation) => equation.map((it, i) => it * factors[i]));\n\t}\n\n\tinbalancesConstraints(status: Status): InbalanceEquations {\n\t\tconsole.assert(this.constraints, 'constraints not constructed.');\n\n\t\tconst eventCount = Object.keys(status.eventMap).length;\n\t\tconst ones = Array(eventCount).fill(true);\n\t\tconst fixed = Array(eventCount).fill(false);\n\n\t\tconst inbalances: Equation[] = [];\n\n\t\tfor (const constraint of this.constraints) {\n\t\t\tconst sum = constraint.reduce((sum, it) => sum + it, 0);\n\t\t\tif (sum !== 0) {\n\t\t\t\tconst c = sum < 0 ? constraint.map((it) => -it) : constraint;\n\t\t\t\tif (c[0] > 0) continue; // entire measure edge usually is larger than others, no effect\n\n\t\t\t\tinbalances.push(c);\n\n\t\t\t\t// set ones for tight items\n\t\t\t\tc.forEach((it, i) => {\n\t\t\t\t\tfixed[i] = fixed[i] || it < 0;\n\t\t\t\t\tif (it) ones[i] = it < 0 || fixed[i];\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\t// pick out influenced equations\n\t\tthis.constraints.forEach((constraint) => {\n\t\t\tconst sum = constraint.reduce((sum, it) => sum + it, 0);\n\t\t\tif (sum === 0 && !constraint[0]) {\n\t\t\t\tif (constraint.some((it, i) => it && !ones[i])) {\n\t\t\t\t\tconstraint.forEach((it, i) => it && (ones[i] = false));\n\t\t\t\t\tinbalances.push(constraint);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\treturn { ones, inbalances };\n\t}\n\n\tsolveEquations({ ones, inbalances }: InbalanceEquations): number[] {\n\t\tif (!inbalances.length) return ones.map(() => 1);\n\n\t\tconst xis = ones\n\t\t\t.map((fixed, i) => ({ fixed, i }))\n\t\t\t.filter(({ fixed }) => !fixed)\n\t\t\t.map(({ i }) => i)\n\t\t\t.filter((i) => inbalances.some((items) => items[i] !== 0));\n\t\tif (!xis.length) return ones.map(() => 1);\n\n\t\tconst factors = xis.map((i) => Math.abs(inbalances.find((items) => items[i] !== 0)[i]));\n\n\t\ttype Line = { line: number[]; bias: number };\n\n\t\tconst equationMap = new Map();\n\t\tlet conflicted = false;\n\n\t\tconst lines: Line[] = inbalances\n\t\t\t.map((items) => {\n\t\t\t\tconst line = items.filter((_, i) => xis.includes(i));\n\t\t\t\tconst bias = -items.reduce((sum, it, i) => sum + (xis.includes(i) ? 0 : it), 0);\n\n\t\t\t\treturn { line, bias };\n\t\t\t\t// remove duplicated equations\n\t\t\t})\n\t\t\t.filter(({ line, bias }) => {\n\t\t\t\tif (line.every((it) => it === 0)) return false;\n\n\t\t\t\tconst id = line.join(',');\n\t\t\t\tif (equationMap.has(id)) {\n\t\t\t\t\tconflicted = equationMap.get(id) !== bias;\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tequationMap.set(id, bias);\n\n\t\t\t\treturn true;\n\t\t\t});\n\n\t\tif (conflicted) return null;\n\n\t\tconst squareLines = lines.slice(0, xis.length);\n\t\tconst restLines = lines.slice(xis.length);\n\t\tif (squareLines.length < xis.length) {\n\t\t\tconst candidateLines = [];\n\t\t\tfor (let i1 = 0; i1 < xis.length - 1; ++i1) {\n\t\t\t\tconst i2 = i1 + 1;\n\t\t\t\tconst line = {\n\t\t\t\t\tline: xis.map((_, i) => (i === i1 ? 1 : i === i2 ? -1 : 0)),\n\t\t\t\t\tbias: 0,\n\t\t\t\t\tprior: (factors[i1] + factors[i2]) / DURATION_MULTIPLIER,\n\t\t\t\t};\n\t\t\t\tif (squareLines.some((sl) => sl.line[i1] && sl.line[i2])) line.prior -= 10;\n\t\t\t\tif (squareLines.some((sl) => sl.line.filter(Number).length === 1 && (sl.line[i1] || sl.line[i2]))) line.prior += 1;\n\t\t\t\tcandidateLines.push(line);\n\t\t\t}\n\t\t\tcandidateLines.sort((c1, c2) => c1.prior - c2.prior);\n\n\t\t\tsquareLines.push(...candidateLines.slice(0, xis.length - squareLines.length));\n\t\t}\n\t\t//console.assert(squareLines.length, \"squareLines is empty.\", lines, xis, equationMap, inbalances);\n\n\t\tconst matrix = squareLines.map(({ line }) => line);\n\t\tconst bias = squareLines.map(({ bias }) => bias);\n\n\t\tconst invert = matrixInverse(matrix);\n\t\tif (!invert) {\n\t\t\tthis.logger.warn('null invert:', matrix);\n\t\t\t//debugger;\n\t\t\treturn null;\n\t\t}\n\t\tconst solution = invert.map((row) => row.reduce((sum, it, i) => sum + it * bias[i], 0));\n\t\t//console.log(\"solution:\", matrix, invert, solution);\n\n\t\tif (restLines.length) {\n\t\t\tif (restLines.some((line) => Math.abs(line.line.reduce((sum, it, i) => sum + it * solution[i], 0)) > 1e-3)) {\n\t\t\t\t//console.debug(\"rest lines not satisfied:\", restLines, solution);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\n\t\tconst result = ones.map(() => 1);\n\t\txis.forEach((xi, i) => (result[xi] = solution[i]));\n\n\t\treturn result;\n\t}\n\n\toptimallySolve(status: Status): number[] {\n\t\tconst { ones, inbalances } = this.inbalancesConstraints(status);\n\n\t\t//if (this.like(\"2 1-2 9|1 2-3 3-4 9-10 4-5 5-6 6-7 7-8 8-. 12|6 11-12 10-11\"))\n\t\t//\tdebugger;\n\n\t\tconst shrinknesses = ones.map((fixed, id) => (fixed ? -1 : roundNumber(status.eventMap[id].shrinkness, 0.01)));\n\t\tconst shrinkMap = shrinknesses.reduce((map, shrinkness, id) => {\n\t\t\tif (shrinkness >= 0) {\n\t\t\t\tmap[shrinkness] = map[shrinkness] || [];\n\t\t\t\tmap[shrinkness].push(id);\n\t\t\t}\n\n\t\t\treturn map;\n\t\t}, {});\n\t\tconst groups = Object.entries(shrinkMap)\n\t\t\t.sort((p1, p2) => Number(p2[0]) - Number(p1[0]))\n\t\t\t.map((pair) => pair[1]);\n\t\t//console.log(\"groups:\", groups, shrinknesses);\n\n\t\tfor (let released = 1; released < groups.length; ++released) {\n\t\t\tconst releasedIds = [].concat(...groups.slice(0, released));\n\t\t\tconst fixed = ones.map((_, id) => !releasedIds.includes(id));\n\t\t\tconst warps = this.solveEquations({ ones: fixed, inbalances });\n\n\t\t\tif (warps && warps.every((it, i) => it <= 1 && it > status.eventMap[i].lowWarp)) return warps;\n\t\t}\n\n\t\treturn this.solveEquations({ ones, inbalances });\n\t}\n\n\tisConflicted(status: Status): boolean {\n\t\tconst { ones, inbalances } = this.inbalancesConstraints(status);\n\n\t\t//if (this.like(\"2 8|2 8-9 3|9 2-3 3-4 10|4 4-5 5|11 11-12 6|12 5-6 10-11 9-10 6-7\"))\n\t\t//\tdebugger;\n\n\t\tfor (const c of inbalances) {\n\t\t\t// sum with low warps\n\t\t\tconst lowSum = c.reduce((sum, it, i) => sum + it * (ones[i] || it <= 0 ? 1 : status.eventMap[i].lowWarp), 0);\n\n\t\t\tif (lowSum >= 0) {\n\t\t\t\t// mark events' broken tendency\n\t\t\t\tc.forEach((it, i) => {\n\t\t\t\t\tif (it) status.eventTendencies[i] += it > 0 ? 1 : -1;\n\t\t\t\t});\n\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\tif (!inbalances.length) return false;\n\n\t\tconst timeWarps = this.solveEquations({ ones, inbalances });\n\t\tif (!timeWarps) return true;\n\n\t\treturn !timeWarps.every((it, i) => it > status.eventMap[i].lowWarp && it <= 1);\n\t}\n\n\tgetSolution(status: Status): Solution {\n\t\tconst actionKey = (action) =>\n\t\t\tstatus.eventMap[action.e2]\n\t\t\t\t? status.eventMap[action.e2].x + Math.abs(status.eventMap[action.e2].x - status.eventMap[action.e1].x) * 0.06\n\t\t\t\t: status.eventMap[action.e1].x + 1e4;\n\t\tconst hacts = this.actions.filter((action) => action.type === ActionType.HORIZONTAL).sort((a1, a2) => actionKey(a1) - actionKey(a2));\n\t\tconst hmap = hacts.reduce((map, act) => ({ ...map, [act.e1]: act.e2 }), {});\n\t\tconst startEs = new Set([...Object.keys(hmap)].map(Number));\n\t\thacts.forEach((act) => startEs.delete(act.e2));\n\t\tthis.stages[0].events.forEach((eid) => eid > 0 && startEs.add(eid));\n\n\t\tlet voices = [...startEs].map((se) => {\n\t\t\tconst voice = [se];\n\n\t\t\tlet x = se;\n\t\t\twhile (hmap[x]) {\n\t\t\t\tx = hmap[x];\n\t\t\t\tif (x < 0 || voice.includes(x)) break;\n\n\t\t\t\tvoice.push(x);\n\t\t\t}\n\n\t\t\treturn voice;\n\t\t});\n\n\t\tconst events: EventResult[] = Object.values(status.eventMap)\n\t\t\t.filter((e) => e.id > 0)\n\t\t\t.map((e) => ({\n\t\t\t\tid: e.id,\n\t\t\t\ttick: null,\n\t\t\t\tendTick: null,\n\t\t\t\ttickGroup: null,\n\t\t\t\ttimeWarp: null,\n\t\t\t}));\n\t\tconst eventMap: { [id: number]: EventResult } = events\n\t\t\t.filter((e) => voices.some((voice) => voice.includes(e.id)) || hacts.some((act) => [act.e1, act.e2].includes(e.id)))\n\t\t\t.reduce((map, e) => ({ ...map, [e.id]: e }), {});\n\n\t\tthis.stages.forEach((stage, si) => stage.events.forEach((eid) => eventMap[eid] && (eventMap[eid].tickGroup = si)));\n\n\t\tthis.stages[0].tick = 0;\n\t\tthis.stages[0].events.forEach((eid) => eventMap[eid] && (eventMap[eid].tick = 0));\n\n\t\t// solve time warps\n\t\tconst timeWarps = this.optimallySolve(status);\n\t\tevents.forEach((e) => (e.timeWarp = floatToTimeWarp(timeWarps[e.id])));\n\n\t\t//if (this.like(\"1 12|1 1-2 9|2 2-3 13|3 3-4 4-5 10|5 14|10 10-11 8-9 14-15 15|6 6-7 7-. 13-14 5-6 12-13 9-10\"))\n\t\t//\tdebugger;\n\n\t\t// solve stage ticks\n\t\tconst estages = this.stages.slice(0, this.stages.length - 1);\n\t\tconst solveStages = (): boolean => {\n\t\t\tif (estages.every((stage) => Number.isFinite(stage.tick))) return false;\n\n\t\t\tlet changed = false;\n\n\t\t\t// forward\n\t\t\thacts.forEach((act) => {\n\t\t\t\tconst stage1 = this.stages.find((stage) => stage.events.includes(act.e1));\n\t\t\t\tconst stage2 = this.stages.find((stage) => stage.events.includes(act.e2));\n\t\t\t\tif (Number.isFinite(stage1.tick) && !Number.isFinite(stage2.tick)) {\n\t\t\t\t\tstage2.tick = stage1.tick + fractionMul(status.eventMap[act.e1].duration, eventMap[act.e1].timeWarp);\n\t\t\t\t\tstage2.events.forEach((eid) => eventMap[eid] && (eventMap[eid].tick = stage2.tick));\n\n\t\t\t\t\tchanged = true;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// backward\n\t\t\t[...hacts].reverse().forEach((act) => {\n\t\t\t\tconst stage1 = this.stages.find((stage) => stage.events.includes(act.e1));\n\t\t\t\tconst stage2 = this.stages.find((stage) => stage.events.includes(act.e2));\n\t\t\t\tif (!Number.isFinite(stage1.tick) && Number.isFinite(stage2.tick)) {\n\t\t\t\t\tstage1.tick = stage2.tick - fractionMul(status.eventMap[act.e1].duration, eventMap[act.e1].timeWarp);\n\t\t\t\t\tstage1.events.forEach((eid) => eventMap[eid] && (eventMap[eid].tick = stage1.tick));\n\n\t\t\t\t\tchanged = true;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn changed;\n\t\t};\n\t\twhile (solveStages());\n\n\t\tconsole.assert(\n\t\t\testages.every((stage) => Number.isFinite(stage.tick)),\n\t\t\t'stage ticks not all solved:',\n\t\t\tthis.stages,\n\t\t\tthis.id\n\t\t);\n\t\tevents\n\t\t\t.filter((event) => Number.isFinite(event.tick))\n\t\t\t.forEach((event) => (event.endTick = event.tick + fractionMul(status.eventMap[event.id].duration, event.timeWarp)));\n\n\t\t// clip out of bound events\n\t\tconst measureDuration = status.eventMap[0].duration;\n\t\tvoices.forEach((voice) => {\n\t\t\tconst outEI = voice.findIndex((eid) => eventMap[eid].endTick > measureDuration);\n\t\t\tif (outEI >= 0) {\n\t\t\t\tconst es = voice.splice(outEI, voice.length - outEI);\n\t\t\t\tes.forEach((eid) => {\n\t\t\t\t\teventMap[eid].tick = null;\n\t\t\t\t\teventMap[eid].endTick = null;\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\tvoices = voices.filter((voice) => voice.length);\n\n\t\tconst duration = Math.max(0, ...events.map((e) => e.endTick).filter(Number.isFinite));\n\t\t//console.log(\"getSolution:\", this);\n\t\tthis.logger.debug(String.fromCodePoint(0x1f34e), this.id, timeWarps);\n\n\t\treturn {\n\t\t\tvoices,\n\t\t\tevents,\n\t\t\tduration,\n\t\t\tactions: this.actions.map((action) => action.id).join(' '),\n\t\t};\n\t}\n\n\tdeduce(status: Status, quota: Quota): Solution {\n\t\tif (!this.stages) this.constructStages(status);\n\t\t//console.log(\"deduce:\", status);\n\n\t\t// increase access counting\n\t\tconst access = status.actionAccessing.get(this.id) || { times: 0 };\n\t\t++access.times;\n\t\tstatus.actionAccessing.set(this.id, access);\n\n\t\tthis.constructConstraints(status);\n\t\t//console.log(\"constraints:\", this.id, this.stages, this.constraints);\n\n\t\tif (this.isConflicted(status)) {\n\t\t\taccess.closed = true;\n\t\t\tthis.logger.info(this.action.id, '\\u274c');\n\t\t\treturn null;\n\t\t}\n\n\t\t//const newStatus = status;\n\t\tthis.logger.group(this.action && this.action.id);\n\n\t\tif (quota.credits > 0) {\n\t\t\t--quota.credits;\n\n\t\t\tif (!this.children) this.expand(status);\n\n\t\t\tthis.children = this.children.filter((node) => !status.actionAccessing.get(node.id) || !status.actionAccessing.get(node.id).closed);\n\t\t\tif (this.children.length) {\n\t\t\t\tconst p = (node: PathNode): number => node.possibility / ((status.actionAccessing.get(node.id) || { times: 0 }).times + 1);\n\t\t\t\tthis.children.sort((n1, n2) => p(n2) - p(n1));\n\n\t\t\t\tfor (const child of this.children) {\n\t\t\t\t\tconst solution = child.deduce(status, quota);\n\t\t\t\t\tif (solution) {\n\t\t\t\t\t\tthis.logger.groupEnd();\n\t\t\t\t\t\treturn solution;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (quota.credits <= 0) break;\n\t\t\t\t}\n\t\t\t}\n\t\t\t//else\n\t\t\t//\tconsole.debug(\"got the leaf:\", this, status);\n\t\t} else this.logger.debug('quota exhausted.');\n\n\t\tthis.logger.groupEnd();\n\n\t\taccess.closed = true;\n\n\t\treturn this.getSolution(status);\n\t}\n\n\texpand(status: Status): void {\n\t\t//this.action.events.forEach(eid => status.pendingEvents.delete(eid));\n\t\tthis.constructStages(status);\n\n\t\tconst { eventMap, matrixV, matrixH } = status;\n\t\tconst stagedEvents = this.stagedEvents;\n\n\t\tconst branches: NodeBranch[] = [];\n\t\tconst appendBranch = (branch: NodeBranch): void => {\n\t\t\tif (!this.actions.some((a) => a.id === branch.action.id) && !branches.some((b) => b.action.id === branch.action.id)) {\n\t\t\t\tconst stage1 = this.stages.find((stage) => stage.events.includes(branch.action.e1));\n\t\t\t\tconst stage2 = this.stages.find((stage) => stage.events.includes(branch.action.e2));\n\t\t\t\tif (stage1 === stage2 || (stage1 && stage2 && stage1.index >= stage2.index)) return;\n\n\t\t\t\tif (stage1 && stage2) {\n\t\t\t\t\tif (branch.action.type === ActionType.VERTICAL) {\n\t\t\t\t\t\tif (stage2.index - stage1.index > 1) return;\n\t\t\t\t\t\tif (this.actions.some((a) => stage1.events.includes(a.e1) && stage2.events.includes(a.e2))) return;\n\t\t\t\t\t} else if (branch.action.type === ActionType.HORIZONTAL) {\n\t\t\t\t\t\tif (stage1.index > stage2.index) return;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\tbranch.action.type === ActionType.HORIZONTAL &&\n\t\t\t\t\tthis.actions.some(\n\t\t\t\t\t\t(a) =>\n\t\t\t\t\t\t\ta.type === ActionType.HORIZONTAL &&\n\t\t\t\t\t\t\t(a.e1 === branch.action.e1 || a.e2 === branch.action.e2 || (a.e1 === branch.action.e2 && a.e2 === branch.action.e1))\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t\t\treturn;\n\n\t\t\t\t// exclude 2 too far away events by vertical\n\t\t\t\tif (branch.action.type === ActionType.VERTICAL) {\n\t\t\t\t\tif (stage1) {\n\t\t\t\t\t\tbranch.possibility = Math.min(branch.possibility, ...stage1.events.map((e) => matrixV[branch.action.e2][e]));\n\t\t\t\t\t\tif (branch.possibility <= 0) return;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (stage2) {\n\t\t\t\t\t\tbranch.possibility = Math.min(branch.possibility, ...stage2.events.map((e) => matrixV[e][branch.action.e1]));\n\t\t\t\t\t\tif (branch.possibility <= 0) return;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbranches.push(branch);\n\t\t\t}\n\t\t};\n\n\t\tfor (const eid of stagedEvents) {\n\t\t\tif (eid < 0) continue;\n\n\t\t\tmatrixV[eid].forEach((p, id) => {\n\t\t\t\tif (p > 0 && eid !== id) appendBranch({ action: Action.V(id, eid), possibility: p });\n\t\t\t});\n\n\t\t\tmatrixV.forEach((ps, id) => {\n\t\t\t\tconst p = ps[eid];\n\t\t\t\tif (p > 0) appendBranch({ action: Action.V(eid, id), possibility: p });\n\t\t\t});\n\n\t\t\tmatrixH[eid].forEach((p, id) => {\n\t\t\t\tif (p > 0) appendBranch({ action: Action.H(id, eid), possibility: p });\n\t\t\t});\n\n\t\t\tmatrixH.forEach((ps, id) => {\n\t\t\t\tid = id >= Object.keys(eventMap).length ? -1 : id;\n\t\t\t\tconst p = ps[eid];\n\t\t\t\tif (p > 0) appendBranch({ action: Action.H(eid, id), possibility: p });\n\t\t\t});\n\t\t}\n\n\t\t// If branches not contains extending actions, clear it.\n\t\t//\tBecause pure inner vertical action may be harmful\n\t\tif (\n\t\t\t!branches.some(\n\t\t\t\t(branch) =>\n\t\t\t\t\t[ActionType.HORIZONTAL, ActionType.PLACE].includes(branch.action.type) ||\n\t\t\t\t\t!stagedEvents.has(branch.action.e1) ||\n\t\t\t\t\t!stagedEvents.has(branch.action.e2)\n\t\t\t)\n\t\t) {\n\t\t\tthis.children = [];\n\t\t\treturn;\n\t\t}\n\n\t\t//console.table(branches.map(b => [b.action.id, b.possibility]));\n\t\t//console.log(\"branches:\", branches.map(b => b.action.id).join(\", \"), \"\\n\", this.actions.map(a => a.id).join(\", \"));\n\t\tthis.children = branches.map((branch) => new PathNode({ logger: this.logger, parent: this, ...branch }));\n\t}\n}\n\nclass Solver {\n\tquota: number;\n\tlogger: Logger;\n\n\tevents: Event[];\n\tmatrixH: Matrix;\n\tmatrixV: Matrix;\n\txSpan: number;\n\n\teventMap: { [id: number]: Event };\n\tactionAccessing: Map;\n\n\tpathRoot: PathNode;\n\n\tconstructor(env: Environment, { quota = 1000, logger = new DummyLogger() }: SolverOptions = {}) {\n\t\tthis.quota = quota;\n\t\tthis.logger = logger;\n\n\t\tconst event0 = {\n\t\t\tid: 0,\n\t\t\tx: 0,\n\t\t\tconfidence: 1,\n\t\t\tshrinkness: env.measureShrinkness,\n\t\t\tduration: env.expectedDuration,\n\t\t\tlowWarp: 0,\n\t\t};\n\n\t\tthis.events = [\n\t\t\tevent0,\n\t\t\t...env.events.map((e) => ({\n\t\t\t\tid: e.id,\n\t\t\t\tx: e.x,\n\t\t\t\tconfidence: e.confidence,\n\t\t\t\tshrinkness: e.shrinkness,\n\t\t\t\tstaff: e.staff,\n\t\t\t\tduration: e.duration,\n\t\t\t\tlowWarp: 0.5,\n\t\t\t})),\n\t\t];\n\t\tthis.eventMap = this.events.reduce((map, e) => ({ ...map, [e.id]: e }), {});\n\n\t\tthis.matrixH = env.matrixH;\n\t\tthis.matrixV = env.matrixV;\n\n\t\tthis.xSpan = env.endX - Math.min(env.endX - 1, ...env.events.map((e) => e.x));\n\n\t\tthis.actionAccessing = new Map();\n\t}\n\n\tsolve(): Solution {\n\t\t// construct path root\n\t\tthis.pathRoot = new PathNode({\n\t\t\tlogger: this.logger,\n\t\t\taction: null,\n\t\t});\n\t\tthis.pathRoot.children = this.events.slice(1).map(\n\t\t\t(event) =>\n\t\t\t\tnew PathNode({\n\t\t\t\t\tlogger: this.logger,\n\t\t\t\t\tparent: this.pathRoot,\n\t\t\t\t\taction: Action.P(event.id),\n\t\t\t\t\tpossibility: this.matrixV[event.id].reduce((sum, p) => sum + p, 0),\n\t\t\t\t})\n\t\t);\n\n\t\tlet bestSolution: Solution = null;\n\n\t\tthis.logger.groupCollapsed('solve');\n\n\t\tconst eventTendencies = Array(this.events.length).fill(0);\n\n\t\tconst quota = { credits: this.quota, times: 0 };\n\t\twhile (quota.credits > 0) {\n\t\t\t++quota.times;\n\n\t\t\tconst status = {\n\t\t\t\teventMap: this.eventMap,\n\t\t\t\tmatrixH: this.matrixH,\n\t\t\t\tmatrixV: this.matrixV,\n\t\t\t\tactionAccessing: this.actionAccessing,\n\t\t\t\teventTendencies,\n\t\t\t};\n\n\t\t\tconst solution = this.pathRoot.deduce(status, quota);\n\t\t\tsolution.credits = this.quota - quota.credits;\n\t\t\tsolution.times = quota.times;\n\t\t\tthis.evaluateSolution(solution);\n\t\t\tthis.logger.debug('loss:', solution.loss);\n\n\t\t\tbestSolution = !bestSolution || solution.loss < bestSolution.loss ? solution : bestSolution;\n\t\t\tif (!bestSolution.loss) break;\n\n\t\t\t// check if searching tree traversed\n\t\t\tif (this.actionAccessing.get('').closed) break;\n\t\t}\n\n\t\tthis.logger.groupEnd();\n\t\tthis.logger.debug('solution', bestSolution && bestSolution.loss, bestSolution);\n\t\tthis.logger.debug('cost:', this.quota - quota.credits);\n\n\t\tthis.logger.debug(\n\t\t\t'eventTendencies:',\n\t\t\teventTendencies.map((t) => t / quota.times)\n\t\t);\n\n\t\treturn bestSolution;\n\t}\n\n\tevaluateSolution(solution: Solution): void {\n\t\tsolution.loss = 0;\n\n\t\ttype EventR = Event & EventResult;\n\t\tconst eventMap: Record = solution.events.reduce((map, e) => ({ ...map, [e.id]: { ...e, ...this.eventMap[e.id] } }), {});\n\n\t\t/*// minus tick\n\t\tconst minuses = solution.events.filter((e) => e.tick < 0).length;\n\t\tsolution.loss += minuses * 1000;*/\n\n\t\t// minus tick rates penalty\n\t\tconst events = solution.events.filter((event) => Number.isFinite(event.tick)).map((event) => eventMap[event.id]);\n\t\tconst sevents: Record = events.reduce((map, event) => {\n\t\t\tmap[event.staff] = map[event.staff] || [];\n\t\t\tmap[event.staff].push(event);\n\t\t\treturn map;\n\t\t}, {});\n\t\tObject.values(sevents).forEach((es) => {\n\t\t\tconst ses = es.sort((e1, e2) => e1.x - e2.x).slice(0, es.length - 1);\n\t\t\tses.forEach((e1, i) => {\n\t\t\t\tconst e2 = es[i + 1];\n\t\t\t\tif (e2.tick < e1.tick) solution.loss += 1000;\n\t\t\t});\n\t\t});\n\n\t\tconst times = new Map();\n\t\tsolution.events.forEach((event) => {\n\t\t\tif (!Number.isFinite(event.tick) || solution.voices.every((voice) => !voice.includes(event.id)))\n\t\t\t\tsolution.loss += 100 * eventMap[event.id].confidence;\n\n\t\t\tif (event.timeWarp) {\n\t\t\t\tconst { numerator, denominator } = event.timeWarp;\n\t\t\t\tconst shrinkness = eventMap[event.id].shrinkness;\n\t\t\t\ttimes.set(numerator, Math.max(times.get(numerator) || 0, 1 - shrinkness));\n\t\t\t\ttimes.set(denominator, Math.max(times.get(denominator) || 0, 1 - shrinkness));\n\t\t\t}\n\t\t});\n\n\t\t// partial measure penalty\n\t\tconst partialFrac = reducedFraction(solution.duration, this.eventMap[0].duration);\n\t\ttimes.set(partialFrac.numerator, Math.max(times.get(partialFrac.numerator) || 0, 1 - this.eventMap[0].shrinkness));\n\t\ttimes.set(partialFrac.denominator, Math.max(times.get(partialFrac.denominator) || 0, 1 - this.eventMap[0].shrinkness));\n\n\t\tfor (const [n, weight] of times.entries()) {\n\t\t\tif (n > 1) solution.loss += Math.log(n) * weight;\n\t\t}\n\n\t\tlet spaceTime = 0;\n\t\tlet staffAlters = 0;\n\t\tsolution.voices.forEach((voice) => {\n\t\t\tconsole.assert(eventMap[voice[0]], 'invalid voice:', voice, Object.keys(eventMap));\n\n\t\t\tconst start = Math.abs(eventMap[voice[0]].tick); // abs: penalty for minus start\n\t\t\tconst end = eventMap[voice[voice.length - 1]].endTick;\n\n\t\t\tspaceTime += Math.max(0, start + solution.duration - end);\n\n\t\t\t// staff alternation penalty\n\t\t\tlet staff = null;\n\t\t\tvoice.forEach((id) => {\n\t\t\t\tconst event = eventMap[id];\n\t\t\t\tif (event.staff !== staff) {\n\t\t\t\t\tif (staff !== null) ++staffAlters;\n\t\t\t\t\tstaff = event.staff;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\tsolution.loss += (spaceTime * 10) / DURATION_MULTIPLIER;\n\t\tsolution.loss += 5 ** staffAlters - 1;\n\n\t\t// tick twist\n\t\tconst eventsXOrder = [...events].sort((e1, e2) => e1.x - e2.x);\n\t\tconst tickTwists = eventsXOrder.slice(1).map((e2, i) => {\n\t\t\tconst e1 = eventsXOrder[i];\n\t\t\tconst dx = e2.x - e1.x;\n\t\t\tconst dt = e2.tick - e1.tick;\n\n\t\t\tif (!dt) return dx / this.xSpan;\n\n\t\t\tconst rate = Math.atan2(dt / solution.duration, dx / this.xSpan);\n\n\t\t\treturn ((rate * 4) / Math.PI - 1) ** 2;\n\t\t});\n\t\tconst tickTwist = Math.max(...tickTwists, 0);\n\t\tsolution.loss += tickTwist ** 2;\n\n\t\tconsole.assert(solution.loss >= 0, 'Invalid solution loss!!!', solution.loss, times, spaceTime, staffAlters);\n\t\tif (solution.loss < 0) solution.loss = Infinity;\n\t}\n}\n\nexport { SolverOptions, Solver };\n","import { SimpleClass } from './aux_/typedJSON';\nimport { StaffBasic } from './interfaces';\nimport { SemanticPoint } from './semanticPoint';\nimport { EventTerm, ContextedTerm, MarkTerm } from './term';\n\nclass PatchMeasure extends SimpleClass {\n\tstatic className = 'PatchMeasure';\n\n\tmeasureIndex: number;\n\tstaffMask: number;\n\tbasic: StaffBasic;\n\n\t//points: SemanticPoint[];\n\tevents: EventTerm[];\n\tcontexts: ContextedTerm[][]; // [staff]\n\tmarks: MarkTerm[];\n\tvoices: number[][]; // [voice, id]\n\n\tconstructor(data: any) {\n\t\tsuper();\n\t\tObject.assign(this, data);\n\t}\n\n\tget staffN(): number {\n\t\treturn Math.floor(Math.log2(this.staffMask)) + 1;\n\t}\n\n\tget basics(): StaffBasic[] {\n\t\treturn Array(this.staffN).fill(this.basic);\n\t}\n\n\tget duration(): number {\n\t\treturn Math.max(\n\t\t\t0,\n\t\t\t...this.voices.map((ids) => {\n\t\t\t\tconst events = ids.map((id) => this.events.find((e) => e.id === id));\n\n\t\t\t\treturn events.reduce((duration, event) => duration + event.duration, 0);\n\t\t\t})\n\t\t);\n\t}\n}\n\nexport { PatchMeasure };\n","import { EventFeature, BackgroundImage, EventPredisposition } from './interfaces';\nimport { StemBeam } from './term';\nimport { SimpleClass } from './aux_/typedJSON';\n\nenum EventElementType {\n\tPAD,\n\tBOS,\n\tEOS,\n\n\tCHORD,\n\tREST,\n}\n\ninterface EventElement {\n\thref?: string;\n\tdisposed?: boolean;\n\tindex?: number;\n\tvoice?: number;\n\n\ttype: EventElementType;\n\tstaff: number;\n\tx: number;\n\ty1: number;\n\ty2: number;\n\tfeature: EventFeature;\n\tpivotX?: number;\n\theadY?: number;\n\n\t// targets\n\ttick?: number;\n\tdivision?: number;\n\tdots?: number;\n\tbeam?: StemBeam;\n\tstemDirection?: string;\n\tgrace?: boolean;\n\ttremoloCatcher?: boolean;\n\ttimeWarped?: boolean;\n\tfullMeasure?: boolean; // full measure rest\n\tfake?: boolean;\n\n\torder?: number;\n\n\tpredisposition?: EventPredisposition;\n}\n\ntype Matrix = number[][];\n\ninterface Annotation {\n\tloss: number;\n\tgrant: boolean;\n\tpatched: boolean; // from manually solved measure\n}\n\nclass EventCluster extends SimpleClass {\n\tstatic className = 'EventCluster';\n\tstatic blackKeys = ['id'];\n\n\tid?: string; // for db access\n\tindex?: number;\n\tduration?: number;\n\tstaffY0?: number; // the first staff top + staffY\n\n\tsignatureDuration: number;\n\telements: EventElement[];\n\tmatrixH?: Matrix; // matrix N x N, [next][prev]\n\n\tbackgroundImages?: BackgroundImage[];\n\n\tannotation?: Annotation;\n\n\tconstructor(data: object) {\n\t\tsuper();\n\t\tsuper.assign(data);\n\t}\n\n\tget regular(): boolean {\n\t\treturn (\n\t\t\tthis.elements.some((elem) => [EventElementType.CHORD, EventElementType.REST].includes(elem.type) && !elem.fake) &&\n\t\t\tthis.elements.every((elem) => [elem.x, elem.y1, elem.y2, elem.tick].every(Number.isFinite)) &&\n\t\t\tthis.elements\n\t\t\t\t.slice(1)\n\t\t\t\t.every(\n\t\t\t\t\t(elem, ei) =>\n\t\t\t\t\t\telem.fake ||\n\t\t\t\t\t\tthis.elements[ei].fake ||\n\t\t\t\t\t\telem.grace ||\n\t\t\t\t\t\tthis.elements[ei].grace ||\n\t\t\t\t\t\telem.fullMeasure ||\n\t\t\t\t\t\tthis.elements[ei].fullMeasure ||\n\t\t\t\t\t\telem.tick <= this.elements[ei].tick ||\n\t\t\t\t\t\telem.x > this.elements[ei].x\n\t\t\t\t)\n\t\t);\n\t}\n\n\tget grant(): boolean {\n\t\treturn this.annotation && this.annotation.grant;\n\t}\n\n\tget feature(): Partial {\n\t\treturn {\n\t\t\tindex: this.index,\n\t\t\telements: this.elements,\n\t\t};\n\t}\n\n\tget estimatedDuration(): number {\n\t\tconst endElem = this.elements.find((elem) => elem.type === EventElementType.EOS);\n\n\t\tconst tick = endElem?.predisposition ? endElem.predisposition?.tick : endElem?.tick;\n\n\t\treturn Number.isFinite(tick) ? tick : this.duration;\n\t}\n\n\tassignPrediction(prediction: any): void {\n\t\tconsole.assert(prediction.index === this.index, 'index mismatch:', prediction.index, this.index);\n\n\t\tthis.matrixH = prediction.matrixH;\n\t\tprediction.elements.forEach((pe) => {\n\t\t\tconst { index, ...predisposition } = pe;\n\t\t\tconst elem = this.elements.find((elem) => elem.index === index);\n\t\t\tconsole.assert(elem, 'element not found:', index);\n\n\t\t\tif (elem) elem.predisposition = predisposition;\n\t\t});\n\t}\n}\n\nclass EventClusterSet extends SimpleClass {\n\tstatic className = 'EventClusterSet';\n\n\tname?: string;\n\n\tclusters: EventCluster[];\n\n\tconstructor(data: object) {\n\t\tsuper();\n\t\tsuper.assign(data);\n\t}\n\n\ttrimIrregular(): number {\n\t\tlet ir = 0;\n\n\t\tthis.clusters = this.clusters.filter((cluster) => {\n\t\t\tconst regular = cluster.regular;\n\t\t\tif (!regular) {\n\t\t\t\tconsole.debug('irregular cluster:', cluster);\n\t\t\t\t++ir;\n\t\t\t}\n\n\t\t\treturn regular;\n\t\t});\n\n\t\tif (ir) console.debug('Irregular clusters trimmed:', `${ir}/${this.clusters.length + ir}`);\n\t\telse console.debug(`The EventClusterSet (${this.clusters.length}) is fine.`);\n\n\t\treturn ir;\n\t}\n}\n\nexport { EventElementType, EventElement, EventCluster, EventClusterSet };\n","import erf from 'math-erf';\nimport sha1 from 'js-sha1';\n\nimport { SimpleClass } from './aux_/typedJSON';\nimport { EventTerm, ContextedTerm, MarkTerm, WHOLE_DURATION, StemBeam, GraceType, ContextType, TremoloLink } from './term';\nimport {\n\tFraction,\n\tStaffBasic,\n\tEventMeasure,\n\tRegulationOptions,\n\tRegulationSolution,\n\tRegulationSolutionEvent,\n\tBackgroundImage,\n\tMeasureBarType,\n} from './interfaces';\nimport { frac, fractionMul, roundNumber, argmax } from './utils';\nimport { NOTEHEAD_WIDTHS } from './semanticPoint';\nimport * as EquationSolver from './equationSolver';\nimport { PatchMeasure } from './patch';\nimport { EventCluster, EventElement, EventElementType } from './eventTopology';\nimport type { MeasureRectification } from './measureRectification';\nimport type { GraphMeasure } from './timewiseGraph';\n\nnamespace SimplePolicy {\n\tconst constructXMap = (measure: SpartitoMeasure): Map => {\n\t\tconst xMap = new Map();\n\n\t\t// mark full measure rests\n\t\tmeasure.rows.forEach((row) => {\n\t\t\tif (row.events.length === 1) {\n\t\t\t\tconst event = row.events[0];\n\t\t\t\tif (event.rest && event.division === 0) event.rest = 'R';\n\t\t\t}\n\t\t});\n\n\t\tmeasure.events.forEach((event) => {\n\t\t\tconst x = Math.round(event.pivotX * 10) / 10;\n\t\t\tlet key = 0;\n\t\t\tif (event.fullMeasureRest) key = Math.min(x, ...xMap.keys());\n\t\t\telse {\n\t\t\t\tkey =\n\t\t\t\t\t[...xMap.keys()].find((k) => {\n\t\t\t\t\t\t// check if the event is aligned with the current chord\n\t\t\t\t\t\tconst es = xMap.get(k);\n\t\t\t\t\t\tconst left = Math.min(...es.map((e) => e.left));\n\t\t\t\t\t\tconst right = Math.max(...es.map((e) => e.right));\n\n\t\t\t\t\t\tconst overlaySize = Math.min(right, event.right) - Math.max(left, event.left);\n\n\t\t\t\t\t\treturn overlaySize > NOTEHEAD_WIDTHS.NoteheadS1 * 0.62;\n\t\t\t\t\t}) || x;\n\t\t\t}\n\t\t\tevent.roundX = key;\n\n\t\t\tconst es = xMap.get(key) || [];\n\t\t\txMap.set(key, es);\n\n\t\t\tes.push(event);\n\t\t});\n\n\t\treturn xMap;\n\t};\n\n\texport const computeMeasureTicks = (measure: SpartitoMeasure): void => {\n\t\tconst xMap = constructXMap(measure);\n\n\t\tlet tick = 0;\n\t\tconst ts = new Set([tick]);\n\t\tconst eventGroups = [...xMap.entries()].sort(([x1], [x2]) => x1 - x2); //.map(entry => entry[1]);\n\t\tfor (const [x, events] of eventGroups) {\n\t\t\tvoid x;\n\n\t\t\tevents.forEach((event: EventTerm) => {\n\t\t\t\tif (event.predisposition) {\n\t\t\t\t\tevent.rest = event.rest && event.predisposition.fullMeasure > 0.5 ? 'R' : event.rest;\n\t\t\t\t\tevent.grace = event.predisposition.grace ? GraceType.Grace : null;\n\t\t\t\t\tevent.division = argmax(event.predisposition.divisionVector);\n\t\t\t\t\tevent.dots = argmax(event.predisposition.dotsVector);\n\t\t\t\t\tif (event.predisposition.timeWarped > 0.5) event.timeWarp = frac(2, 3);\n\t\t\t\t}\n\n\t\t\t\tif (event.fullMeasureRest) event.tick = 0;\n\t\t\t\telse {\n\t\t\t\t\tif (event.zeroHolder) tick -= event.duration;\n\n\t\t\t\t\tif (!event.zeroHolder && event.predisposition && Number.isInteger(event.predisposition.tick)) event.tick = event.predisposition.tick;\n\t\t\t\t\telse event.tick = tick;\n\t\t\t\t\tts.add(event.tick + event.duration);\n\t\t\t\t}\n\t\t\t\t//console.log(\"append tick:\", event.tick + event.duration, event);\n\t\t\t});\n\t\t\tts.delete(tick);\n\n\t\t\t//column.xToTick[x] = tick;\n\n\t\t\tif (ts.size) tick = Math.min(...ts);\n\t\t}\n\n\t\tif (Number.isInteger(measure.estimatedDuration)) measure.duration = measure.estimatedDuration;\n\t\telse measure.duration = Math.max(...ts, 0);\n\t};\n\n\texport const computeMeasureVoices = (measure: SpartitoMeasure): void => {\n\t\tmeasure.voices = [];\n\t\tfor (const row of measure.rows) {\n\t\t\tconst events = row.events.filter(\n\t\t\t\t(event) => !event.grace && !event.tremoloCatcher && !event.fullMeasureRest && !(event.predisposition && event.predisposition.fake > 0.5)\n\t\t\t);\n\t\t\tconst eventSet = new Set(events);\n\n\t\t\twhile (eventSet.size) {\n\t\t\t\tlet tick = 0;\n\n\t\t\t\tconst voice = [];\n\t\t\t\tconst pushEvent = (e: EventTerm) => {\n\t\t\t\t\tvoice.push(e.id);\n\t\t\t\t\tif (!e.zeroHolder) tick += e.duration;\n\t\t\t\t\teventSet.delete(e);\n\t\t\t\t};\n\n\t\t\t\tconst e0 = events.find((e) => eventSet.has(e));\n\t\t\t\tif (e0.alignedTick > 0) {\n\t\t\t\t\t//voice.tickMap[tick] = EventTerm.space({ tick, duration: e0.alignedTick });\n\t\t\t\t\ttick = e0.alignedTick;\n\t\t\t\t}\n\t\t\t\tpushEvent(e0);\n\n\t\t\t\twhile (true) {\n\t\t\t\t\t// TODO: consider slur pair\n\t\t\t\t\tconst e = events.find((e) => eventSet.has(e) && e.alignedTick === tick);\n\t\t\t\t\tif (!e) break;\n\n\t\t\t\t\tpushEvent(e);\n\t\t\t\t}\n\n\t\t\t\t//if (tick < measure.duration)\n\t\t\t\t//\tvoice.tickMap[tick] = EventTerm.space({ tick, duration: staff.duration - tick });\n\n\t\t\t\tmeasure.voices.push(voice);\n\t\t\t}\n\t\t}\n\t};\n}\n\nconst solveGraceEvents = (measure: SpartitoMeasure): void => {\n\tconst graceEvents = measure.events.filter((event) => event.grace /*&& !Number.isFinite(event.tick)*/);\n\tif (!graceEvents.length) return;\n\n\tconst tickMap = measure.tickMap;\n\tconst staffMap = [...tickMap.entries()].reduce((smap, [tick, events]) => {\n\t\tevents.forEach((event) => {\n\t\t\tif (!event.grace) {\n\t\t\t\tsmap[event.staff] = smap[event.staff] || {};\n\n\t\t\t\tconst oldEvent = smap[event.staff][tick];\n\t\t\t\tsmap[event.staff][tick] = !oldEvent || oldEvent.x > event.x ? event : oldEvent;\n\t\t\t}\n\t\t});\n\n\t\treturn smap;\n\t}, {} as { [staff: number]: { [tick: number]: EventTerm } });\n\n\ttype Position = { tick: number; preTick: number; graces: EventTerm[]; event: EventTerm };\n\tconst staffPositions = Object.entries(staffMap).reduce((map, [staff, emap]) => {\n\t\tmap[staff] = Object.entries(emap)\n\t\t\t.map(([t, event]) => ({ event, tick: Number(t), preTick: -240, graces: [] }))\n\t\t\t.sort((p1, p2) => p1.event.x - p2.event.x);\n\t\tmap[staff].push({ tick: measure.duration, event: measure.endEvent, preTick: 0, graces: [] }); // terminal bar\n\n\t\tlet tick = 0;\n\t\tmap[staff].forEach((position) => {\n\t\t\tif (position.tick > tick) {\n\t\t\t\tposition.preTick = tick;\n\t\t\t\ttick = position.tick;\n\t\t\t}\n\t\t});\n\n\t\treturn map;\n\t}, {} as { [staff: number]: Position[] });\n\n\t// append grace events into positions\n\tgraceEvents.forEach((event) => {\n\t\tconst staff = staffPositions[event.staff];\n\t\tif (staff) {\n\t\t\tconst position = staff.find((p) => p.event.x > event.x);\n\t\t\tif (position) position.graces.push(event);\n\t\t\tevent.roundX = event.x;\n\t\t\t//if (position.tick >= measure.duration)\n\t\t\t//\tevent.grace = GraceType.AfterGrace;\n\t\t}\n\t});\n\n\tObject.values(staffPositions).forEach((staff) =>\n\t\tstaff.forEach((position) => {\n\t\t\tif (position.graces.length) {\n\t\t\t\tposition.event.graceIds = position.graces.map((e) => e.id);\n\n\t\t\t\tconst totalDuration = position.graces.reduce((t, e) => t + e.duration, 0);\n\t\t\t\tconst duration = Math.min(totalDuration, position.tick - position.preTick);\n\t\t\t\tconst warp = duration / totalDuration;\n\n\t\t\t\tlet tick = position.tick;\n\t\t\t\t[...position.graces].reverse().forEach((event) => {\n\t\t\t\t\tevent.tick = Math.round(tick - event.duration * warp);\n\t\t\t\t\ttick = event.tick;\n\t\t\t\t});\n\t\t\t}\n\t\t})\n\t);\n};\n\nconst solveTremoloPairs = (measure: SpartitoMeasure): void => {\n\tconst catchers = measure.events.filter((event) => event.tremoloCatcher && !event.grace);\n\tconst pitchers = measure.events.filter((event) => event.tremoloLink === TremoloLink.Pitcher && !event.grace);\n\n\tcatchers.forEach((catcher) => {\n\t\tlet candidates = pitchers.filter((event) => event.division === catcher.division && event.x < catcher.x);\n\t\tif (!candidates.length)\n\t\t\tcandidates = measure.events.filter(\n\t\t\t\t(event) =>\n\t\t\t\t\tNumber.isFinite(event.tick) &&\n\t\t\t\t\t!event.grace &&\n\t\t\t\t\t!event.rest &&\n\t\t\t\t\tevent.division === catcher.division &&\n\t\t\t\t\tevent.dots === catcher.dots &&\n\t\t\t\t\tevent.x < catcher.x\n\t\t\t);\n\t\tcandidates.sort((c1, c2) => c2.x - c1.x);\n\t\tif (candidates.length) {\n\t\t\tconst pitcher = candidates[0];\n\t\t\tpitcher.catcherId = catcher.id;\n\t\t\tconst tremolo = Math.max(pitcher.tremolo || 3, catcher.tremolo || 3);\n\t\t\tpitcher.tremolo = tremolo;\n\t\t\tcatcher.tremolo = tremolo;\n\n\t\t\tif (!catcher.tick) catcher.tick = pitcher.tick + pitcher.duration / 2;\n\n\t\t\tconst pi = pitchers.indexOf(pitcher);\n\t\t\tif (pi >= 0) pitchers.splice(pi, 1);\n\t\t}\n\t});\n};\n\nnamespace EquationPolicy {\n\ttype EventID = number;\n\ttype Time = number;\n\n\tconst DURATION_MULTIPLIER = 128 * 3 * 5 * 7 * 11 * 13;\n\n\tconst CHORDS_SEAM_SIGMA = 0.6;\n\tconst NEIGHBOR_CHORDS_SIGMA = 1.6;\n\tconst Y_DECAY_SIGMA = 16;\n\tconst STAFF_DECAY_FACTOR = 2;\n\tconst STEM_DIRECTION_DECAY = 0.9;\n\tconst ILL_BEAMS_PENALTY = 0.2;\n\n\tconst INVERT_SQRT2 = 0.7071067811865475;\n\n\tconst MATRIX_H_WEIGHT = 3;\n\n\tconst FINE_BEAMS = [\n\t\t[null, null],\n\t\t[null, StemBeam.Open],\n\t\t[StemBeam.Open, StemBeam.Continue],\n\t\t[StemBeam.Open, StemBeam.Close],\n\t\t[StemBeam.Continue, StemBeam.Continue],\n\t\t[StemBeam.Continue, StemBeam.Close],\n\t\t[StemBeam.Close, null],\n\t\t[StemBeam.Close, StemBeam.Open],\n\t].map((bb) => bb.join('-'));\n\n\tinterface Event {\n\t\tid: EventID;\n\t\tstaff: number;\n\t\tx: number;\n\t\ty: number;\n\t\tduration: Time;\n\t\tconfidence: number;\n\t\tshrinkness: number;\n\t}\n\n\texport interface StaffGroup {\n\t\tevents: Event[];\n\t\texpectedDuration: Time;\n\t\tmeasureShrinkness: number;\n\t\tendX: number;\n\t\tmatrixH: Matrix;\n\t\tmatrixV: Matrix;\n\n\t\tids?: EventID[];\n\t}\n\n\tinterface EventResult {\n\t\tid: EventID;\n\t\ttick: Time;\n\t\tendTick: Time;\n\t\ttickGroup: number;\n\t\ttimeWarp?: Fraction;\n\t}\n\n\texport interface StaffGroupSolution {\n\t\tevents: EventResult[];\n\t\tvoices: EventID[][];\n\t\tduration: number;\n\n\t\tloss?: number;\n\t\tcredits?: number;\n\t\ttimes?: number;\n\t}\n\n\texport interface RegulatorOptions extends EquationSolver.SolverOptions {\n\t\tsolver?: (staffGroup: StaffGroup, options: EquationSolver.SolverOptions) => Promise;\n\t}\n\n\tconst solveStaffGroup = (staffGroup: StaffGroup, options: EquationSolver.SolverOptions): StaffGroupSolution => {\n\t\tif (!staffGroup.events.length) {\n\t\t\treturn {\n\t\t\t\tevents: [],\n\t\t\t\tvoices: [],\n\t\t\t\tduration: 0,\n\t\t\t};\n\t\t}\n\n\t\tconst solver = new EquationSolver.Solver(staffGroup, options);\n\n\t\treturn solver.solve();\n\t};\n\n\texport const estiamteMeasure = (measure: SpartitoMeasure): StaffGroup => {\n\t\tconst allEvents = measure.events\n\t\t\t.filter((event) => !event.zeroHolder)\n\t\t\t.map((event) => ({\n\t\t\t\tid: event.id,\n\t\t\t\tstaff: event.staff,\n\t\t\t\tx: event.x,\n\t\t\t\ttickEstimated: event.predisposition && Number.isFinite(event.predisposition.tick) ? event.predisposition.tick : event.x,\n\t\t\t\ttipX: event.tipX,\n\t\t\t\ty: event.tipY + event.staff * 100, // TODO: refine y by event term tipY\n\t\t\t\tduration: (event.mainDuration * DURATION_MULTIPLIER) / WHOLE_DURATION,\n\t\t\t\tdivision: event.division,\n\t\t\t\tdots: event.dots,\n\t\t\t\tstemDirection: event.stemDirection,\n\t\t\t\tbeam: event.beam,\n\t\t\t\trest: event.rest,\n\t\t\t\t// the possibility of full measure rest\n\t\t\t\tpR: event.rest === 'R' ? 1 : event.rest === 'r' && event.division === 0 ? Math.tanh(event.x - measure.eventStartX) : 0,\n\t\t\t\tfakeP: event.predisposition ? event.predisposition.fakeP || 0 : 0,\n\t\t\t\tshrinkness: event.predisposition ? event.predisposition.timeWarped : null,\n\t\t\t}));\n\t\tlet expectedDuration = (DURATION_MULTIPLIER * measure.timeSignature.numerator) / measure.timeSignature.denominator;\n\t\tif (Number.isFinite(measure.estimatedDuration))\n\t\t\texpectedDuration = Math.max(expectedDuration, roundNumber(measure.estimatedDuration, DURATION_MULTIPLIER / 4));\n\n\t\tconst staffGroupMap = measure.staffGroups.reduce((map, staves, group) => {\n\t\t\tstaves.forEach((staff) => (map[staff] = group));\n\t\t\treturn map;\n\t\t}, {});\n\n\t\tconst ids = [0, ...allEvents.map((e) => e.id)]; // compact ids\n\t\tconst ievents = allEvents.map((e) => ({\n\t\t\t...e,\n\t\t\tid: ids.indexOf(e.id),\n\t\t\tx: e.x - measure.startX,\n\t\t\tconfidence: (1 - e.pR) * (1 - e.fakeP),\n\t\t\tshrinkness: Number.isFinite(e.shrinkness) ? e.shrinkness : Math.tanh((e.division - e.dots * 0.1) / 4),\n\t\t\tstaffGroup: staffGroupMap[e.staff],\n\t\t}));\n\n\t\t// estimate topology matrices\n\t\tconst matrixH = Array(ids.length + 1)\n\t\t\t.fill(null)\n\t\t\t.map(() => Array(ids.length).fill(0));\n\t\tconst matrixV = Array(ids.length)\n\t\t\t.fill(null)\n\t\t\t.map(() => Array(ids.length).fill(0));\n\n\t\t//const hp = (dx: number): number => 1 - erf(((dx / NEIGHBOR_CHORDS_SIGMA) ** 0.6) * INVERT_SQRT2);\n\t\tconst hp = (dx: number): number => erf(dx / NEIGHBOR_CHORDS_SIGMA) * erf(NEIGHBOR_CHORDS_SIGMA / dx);\n\n\t\tfor (const e1 of ievents) {\n\t\t\tfor (const e2 of ievents) {\n\t\t\t\tmatrixV[e1.id][e2.id] =\n\t\t\t\t\te1 !== e2 && e1.tickEstimated >= e2.tickEstimated ? 1 - erf(((e1.tickEstimated - e2.tickEstimated) * INVERT_SQRT2) / CHORDS_SEAM_SIGMA) : 0;\n\n\t\t\t\tif (e1.staffGroup !== e2.staffGroup) matrixH[e1.id][e2.id] = 0;\n\t\t\t\t// prohibit voice crossing staff groups\n\t\t\t\telse if (e1.x <= e2.x) matrixH[e1.id][e2.id] = 0;\n\t\t\t\telse {\n\t\t\t\t\tconst staffDecay = Math.exp(-Math.abs(e1.staff - e2.staff) * STAFF_DECAY_FACTOR);\n\t\t\t\t\tconst yDecay = e1.staff === e2.staff ? Math.exp(-Math.abs(e1.y - e2.y) / Y_DECAY_SIGMA) : 1;\n\t\t\t\t\tconst dx = e1.x - e2.x;\n\t\t\t\t\tconst dtx = e1.tipX - e2.tipX;\n\t\t\t\t\tmatrixH[e1.id][e2.id] = (staffDecay * yDecay * Math.min(hp(dx), hp(dtx))) ** (1 / MATRIX_H_WEIGHT);\n\t\t\t\t}\n\n\t\t\t\t// weaken full measure rest connections\n\t\t\t\tconst nR = (1 - e1.pR) * (1 - e2.pR);\n\t\t\t\tmatrixV[e1.id][e2.id] *= nR;\n\t\t\t\tmatrixH[e1.id][e2.id] *= nR;\n\n\t\t\t\tif (matrixV[e1.id][e2.id] < 1e-2) matrixV[e1.id][e2.id] = 0;\n\n\t\t\t\t// weaken inconsistent stem directions\n\t\t\t\tif (e1.stemDirection && e2.stemDirection && e1.stemDirection !== e2.stemDirection) matrixH[e1.id][e2.id] *= STEM_DIRECTION_DECAY;\n\n\t\t\t\t// ill beams penalty\n\t\t\t\tif (!e1.rest && !e2.rest && !FINE_BEAMS.includes([e2.beam, e1.beam].join('-'))) matrixH[e1.id][e2.id] *= ILL_BEAMS_PENALTY;\n\t\t\t}\n\n\t\t\t// H possibility of e1 and end of measure\n\t\t\tmatrixH[ids.length][e1.id] = hp(measure.width - e1.x) ** (1 / MATRIX_H_WEIGHT);\n\t\t}\n\n\t\treturn {\n\t\t\tids,\n\t\t\tevents: ievents,\n\t\t\texpectedDuration,\n\t\t\tmeasureShrinkness: 0,\n\t\t\tendX: measure.position.right,\n\t\t\tmatrixH,\n\t\t\tmatrixV,\n\t\t};\n\t};\n\n\texport const regulateMeasure = async (measure: SpartitoMeasure, { solver = null, ...options }: RegulatorOptions): Promise => {\n\t\tconst env = estiamteMeasure(measure);\n\t\tconst { ids, matrixH, matrixV } = env;\n\n\t\t// copy matrices values from measure topology data\n\t\tif (measure.matrixH) {\n\t\t\tconsole.assert(\n\t\t\t\tmeasure.matrixH.length > ids[ids.length - 1] && measure.matrixH[0].length > ids[ids.length - 1],\n\t\t\t\t'matrix shape mismatch:',\n\t\t\t\tids.length,\n\t\t\t\t`${measure.matrixH.length}x${measure.matrixH[0].length}`,\n\t\t\t\t`${matrixH.length}x${matrixH[0].length}`\n\t\t\t);\n\t\t\tfor (let i = 0; i < ids.length + 1; i++) {\n\t\t\t\tconst ii = i < ids.length ? ids[i] : measure.matrixH.length - 1;\n\t\t\t\tfor (let j = 1; j < ids.length; j++) matrixH[i][j] = measure.matrixH[ii][ids[j]];\n\t\t\t}\n\t\t}\n\t\tif (measure.matrixV) {\n\t\t\tmatrixV.forEach((row, i) =>\n\t\t\t\trow.forEach((_, j) => {\n\t\t\t\t\tconst mp = measure.matrixV[ids[i]][ids[j]];\n\t\t\t\t\tif (Number.isFinite(mp)) matrixV[i][j] = mp;\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\n\t\tif (Number.isFinite(measure.estimatedDuration))\n\t\t\tenv.measureShrinkness = Math.tanh(Math.log(Math.min(1, measure.estimatedDuration / measure.duration)) * -3);\n\n\t\tif (options.logger) options.logger.info('--- MEASURE', measure.measureIndex, '---', env);\n\n\t\tconst solution = solver ? await solver(env, options) : solveStaffGroup(env, options);\n\t\tconst resultEvents = solution.events.map((e) => ({\n\t\t\t...e,\n\t\t\tid: env.ids[e.id], // decode compact ids\n\t\t}));\n\t\tresultEvents.forEach((e) => {\n\t\t\tconst event = measure.events.find((e0) => e0.id === e.id);\n\t\t\tevent.tick = Number.isFinite(e.tick) ? Math.round((e.tick * WHOLE_DURATION) / DURATION_MULTIPLIER) : null;\n\t\t\tevent.tickGroup = e.tickGroup;\n\t\t\tevent.timeWarp = e.timeWarp;\n\t\t});\n\n\t\tmeasure.duration = Math.round((solution.duration * WHOLE_DURATION) / DURATION_MULTIPLIER);\n\t\tmeasure.voices = solution.voices.map((voice) => voice.map((id) => env.ids[id]));\n\n\t\tmeasure.solutionStat = {\n\t\t\tloss: solution.loss,\n\t\t\tsolverCredits: solution.credits,\n\t\t\tsolverTimes: solution.times,\n\t\t};\n\n\t\t// full measure rests\n\t\tmeasure.events.forEach((event) => {\n\t\t\tconst result = resultEvents.find((e) => e.id === event.id);\n\t\t\tif (!result) return;\n\t\t\telse if (!Number.isFinite(result.tick) && event.rest === 'r' && event.division === 0) {\n\t\t\t\tevent.tick = 0;\n\t\t\t\tevent.tickGroup = 0;\n\t\t\t\tevent.rest = 'R';\n\t\t\t\tevent.duration = measure.duration;\n\t\t\t\tmeasure.voices.push([event.id]);\n\t\t\t} else if (event.rest === 'R') {\n\t\t\t\tevent.tick = 0;\n\t\t\t\tevent.tickGroup = 0;\n\t\t\t\tevent.duration = measure.duration;\n\t\t\t\tmeasure.voices.push([event.id]);\n\t\t\t}\n\t\t});\n\t};\n\n\texport const regulateMeasureWithRectification = async (\n\t\tmeasure: SpartitoMeasure,\n\t\trectification: MeasureRectification,\n\t\t{ solver = null, ...options }: RegulatorOptions\n\t): Promise => {\n\t\tconst allEvents = measure.events\n\t\t\t.filter((event) => !event.zeroHolder)\n\t\t\t.map((event) => {\n\t\t\t\tconst re = rectification.events.find((e) => e && e.id === event.id);\n\t\t\t\tconst division = Number.isFinite(re?.division) ? re.division : event.division;\n\t\t\t\tconst dots = Number.isFinite(re?.dots) ? re.dots : event.dots;\n\t\t\t\tconst duration = DURATION_MULTIPLIER * 2 ** -division * (2 - 2 ** -dots);\n\n\t\t\t\treturn {\n\t\t\t\t\tid: event.id,\n\t\t\t\t\tstaff: event.staff,\n\t\t\t\t\tx: event.x,\n\t\t\t\t\ttickEstimated: event.predisposition?.tick,\n\t\t\t\t\ty: event.tipY + event.staff * 100, // TODO: refine y by event term tipY\n\t\t\t\t\tduration,\n\t\t\t\t\t// the possibility of full measure rest\n\t\t\t\t\tpR: event.rest === 'R' ? 1 : event.rest === 'r' && event.division === 0 ? Math.tanh(event.x - measure.eventStartX) : 0,\n\t\t\t\t\tfakeP: event.predisposition ? event.predisposition.fakeP || 0 : 0,\n\t\t\t\t\tshrinkness: event.predisposition?.timeWarped || 0,\n\t\t\t\t};\n\t\t\t});\n\t\tlet expectedDuration = (DURATION_MULTIPLIER * measure.timeSignature.numerator) / measure.timeSignature.denominator;\n\t\tif (Number.isFinite(measure.estimatedDuration))\n\t\t\texpectedDuration = Math.max(expectedDuration, roundNumber(measure.estimatedDuration, DURATION_MULTIPLIER / 4));\n\n\t\tconst staffGroupMap = measure.staffGroups.reduce((map, staves, group) => {\n\t\t\tstaves.forEach((staff) => (map[staff] = group));\n\t\t\treturn map;\n\t\t}, {});\n\n\t\tconst ids = [0, ...allEvents.map((e) => e.id)]; // compact ids\n\t\tconst ievents = allEvents.map((e) => ({\n\t\t\t...e,\n\t\t\tid: ids.indexOf(e.id),\n\t\t\tx: e.x - measure.startX,\n\t\t\tconfidence: (1 - e.pR) * (1 - e.fakeP),\n\t\t\tshrinkness: e.shrinkness,\n\t\t\tstaffGroup: staffGroupMap[e.staff],\n\t\t}));\n\n\t\t// estimate topology matrices\n\t\tconst matrixH = Array(ids.length + 1)\n\t\t\t.fill(null)\n\t\t\t.map(() => Array(ids.length).fill(0));\n\t\tconst matrixV = Array(ids.length)\n\t\t\t.fill(null)\n\t\t\t.map(() => Array(ids.length).fill(0));\n\n\t\tfor (const e1 of ievents) {\n\t\t\tfor (const e2 of ievents) {\n\t\t\t\tmatrixV[e1.id][e2.id] =\n\t\t\t\t\te1 !== e2 && e1.tickEstimated >= e2.tickEstimated ? 1 - erf(((e1.tickEstimated - e2.tickEstimated) * INVERT_SQRT2) / CHORDS_SEAM_SIGMA) : 0;\n\n\t\t\t\t// weaken full measure rest connections\n\t\t\t\tconst nR = (1 - e1.pR) * (1 - e2.pR);\n\t\t\t\tmatrixV[e1.id][e2.id] *= nR;\n\n\t\t\t\tif (matrixV[e1.id][e2.id] < 1e-2) matrixV[e1.id][e2.id] = 0;\n\t\t\t}\n\t\t}\n\n\t\t// copy matrices values from measure topology data\n\t\tconsole.assert(\n\t\t\tmeasure.matrixH && measure.matrixH.length > ids[ids.length - 1] && measure.matrixH[0].length > ids[ids.length - 1],\n\t\t\t'matrix shape mismatch:',\n\t\t\tids.length,\n\t\t\t`${measure.matrixH.length}x${measure.matrixH[0].length}`,\n\t\t\t`${matrixH.length}x${matrixH[0].length}`\n\t\t);\n\t\tfor (let i = 0; i < ids.length + 1; i++) {\n\t\t\tconst ii = i < ids.length ? ids[i] : measure.matrixH.length - 1;\n\t\t\tfor (let j = 1; j < ids.length; j++) matrixH[i][j] = measure.matrixH[ii][ids[j]];\n\t\t}\n\n\t\tlet measureShrinkness = 0;\n\t\tif (Number.isFinite(measure.estimatedDuration)) measureShrinkness = Math.tanh(Math.log(Math.min(1, measure.estimatedDuration / measure.duration)) * -3);\n\n\t\tconst env = {\n\t\t\tids,\n\t\t\tevents: ievents,\n\t\t\texpectedDuration,\n\t\t\tmeasureShrinkness,\n\t\t\tendX: measure.position.right,\n\t\t\tmatrixH,\n\t\t\tmatrixV,\n\t\t};\n\t\tconst solution = solver ? await solver(env, options) : solveStaffGroup(env, options);\n\n\t\tconst priority = -solution.loss;\n\n\t\tconst events = solution.events.map(({ id, tick, tickGroup, timeWarp }) => {\n\t\t\tconst re = rectification.events.find((e) => e && e.id === id);\n\t\t\tconst tickN = Number.isFinite(tick) ? Math.round((tick * WHOLE_DURATION) / DURATION_MULTIPLIER) : tick;\n\n\t\t\treturn {\n\t\t\t\tid,\n\t\t\t\ttick: tickN,\n\t\t\t\ttickGroup,\n\t\t\t\ttimeWarp,\n\t\t\t\tdivision: re?.division,\n\t\t\t\tdots: re?.dots,\n\t\t\t};\n\t\t});\n\n\t\tconst duration = Math.round((solution.duration * WHOLE_DURATION) / DURATION_MULTIPLIER);\n\n\t\treturn {\n\t\t\tevents,\n\t\t\tvoices: solution.voices,\n\t\t\tduration,\n\t\t\tpriority,\n\t\t};\n\t};\n}\n\ntype Matrix = number[][];\n\ntype TickMap = Map;\n\ninterface SolutionStatistics {\n\tloss?: number;\n\tsolverCredits?: number;\n\tsolverTimes?: number;\n}\n\nclass SpartitoMeasure extends SimpleClass {\n\tstatic className = 'SpartitoMeasure';\n\tstatic blackKeys = ['staffGroups', 'solutionStat', 'measureNumber', 'deposit'];\n\n\tmeasureIndex: number;\n\tstaffMask: number;\n\tstaffGroups: number[][];\n\toriginalRegulationHash?: string;\n\tmeasureNumber?: number; // count from the last indent measure, head partial measure is zero, skip empty measures\n\n\tpatched: boolean;\n\tdiscard: boolean;\n\n\tposition: {\n\t\tsystemIndex: number;\n\t\tlocalIndex: number; // the measure local index in its system\n\t\tleft: number;\n\t\tright: number;\n\t\tstaffYs?: number[];\n\t\tstaffYsFull?: number[];\n\t};\n\n\tbackgroundImages: BackgroundImage[];\n\n\tevents: EventTerm[];\n\tendEvent: Partial; // the placeholder for end tick\n\tcontexts: ContextedTerm[][]; // [staff]\n\tmarks: MarkTerm[];\n\tduration: number;\n\n\tvoices?: number[][]; // [voice, id]\n\tbreak?: boolean;\n\tpageBreak?: boolean;\n\tbasics?: StaffBasic[]; // [staff]\n\tvoltaBegin: boolean;\n\tvoltaEnd: boolean;\n\talternative: boolean;\n\tbarTypes: Record;\n\tindent: boolean;\n\n\tsolutionStat?: SolutionStatistics;\n\n\tmatrixH: Matrix; // matrix N x N\t\t[right][left]\n\tmatrixV: Matrix; // matrix N x N\n\testimatedDuration: number;\n\n\tgraph: GraphMeasure;\n\n\tdeposit: Record;\n\n\tstatic reorderEvents(events: EventTerm[], staffYsFull: number[]): EventTerm[] {\n\t\tconst HALF_NOTEHEAD = 0.7;\n\n\t\tconst ys = [];\n\n\t\tconst es = events.map((e) => ({\n\t\t\tid: e.id,\n\t\t\tstaff: e.staff,\n\t\t\tx: e.x / HALF_NOTEHEAD,\n\t\t\trx: 0,\n\t\t\try: staffYsFull[e.staff] + e.tipY,\n\t\t\ttipY: e.tipY,\n\t\t\tprior: 0,\n\t\t}));\n\t\tes.sort((e1, e2) => e1.x - e2.x);\n\t\tes.slice(1).forEach((e, i) => {\n\t\t\tconst dx = Math.min(Math.round(e.x - es[i].x), 2);\n\t\t\te.rx = es[i].rx + dx;\n\t\t});\n\t\tes.forEach((e) => {\n\t\t\te.prior = e.staff * 1e4 + e.rx + e.tipY * 0.01;\n\n\t\t\tif (!ys.includes(e.ry)) ys.push(e.ry);\n\t\t});\n\t\tes.sort((e1, e2) => e1.prior - e2.prior);\n\t\tys.sort((y1, y2) => y1 - y2);\n\n\t\tlet yi = 0;\n\t\tconst yis = ys.map((y, i) => {\n\t\t\tif (!i || ys[i] - ys[i - 1] < 0.5) return yi;\n\n\t\t\t++yi;\n\t\t\treturn yi;\n\t\t});\n\n\t\tconst result = es.map((e) => new EventTerm({ ...events.find((ev) => ev.id === e.id), intX: e.rx, intY: yis[ys.indexOf(e.ry)] }));\n\t\tresult.forEach((e, i) => (e.id = i + 1));\n\n\t\treturn result;\n\t}\n\n\tconstructor(data: any) {\n\t\tsuper();\n\t\tsuper.assign(data);\n\n\t\tif (!this.originalRegulationHash && !this.regulated) this.originalRegulationHash = this.regulationHash;\n\n\t\tthis.barTypes = this.barTypes || {};\n\n\t\t// Ensure postRegulate runs for measures deserialized with voices (e.g. from patches/JSON)\n\t\t// to set endEvent and roundX needed for playback cursor positioning.\n\t\tif (this.regulated && this.position) this.postRegulate();\n\t}\n\n\tget timeSignature(): Fraction {\n\t\treturn this.basics && this.basics[0].timeSignature;\n\t}\n\n\tget keySignature(): number {\n\t\treturn this.basics && this.basics[0].keySignature;\n\t}\n\n\tget timeSignatureChanged(): boolean {\n\t\treturn this.contexts.filter(Boolean)[0].some((term) => [ContextType.TimeSignatureC, ContextType.TimeSignatureN].includes(term.type));\n\t}\n\n\tget doubtfulTimesig(): boolean {\n\t\treturn this.basics && this.basics[0].doubtfulTimesig;\n\t}\n\n\tget regulated(): boolean {\n\t\treturn !!this.voices;\n\t}\n\n\tget validRegulated(): boolean {\n\t\tif (!this.voices) return false;\n\n\t\treturn this.voices.flat(1).every((id) => Number.isFinite(this.events.find((e) => e.id === id)?.tick));\n\t}\n\n\tget rows(): EventMeasure[] {\n\t\treturn this.contexts.map((contexts, si) => {\n\t\t\tconst events = this.events.filter((e) => e.staff === si);\n\n\t\t\treturn {\n\t\t\t\tevents,\n\t\t\t\tcontexts,\n\t\t\t};\n\t\t});\n\t}\n\n\tget eventStartX(): number {\n\t\treturn this.events.length ? Math.min(...this.events.map((e) => e.x)) : this.startX;\n\t}\n\n\tget startX(): number {\n\t\treturn this.position.left;\n\t}\n\n\tget width(): number {\n\t\treturn this.position.right - this.position.left;\n\t}\n\n\tget tickMap(): TickMap {\n\t\treturn this.events\n\t\t\t.concat([this.endEvent as EventTerm])\n\t\t\t.filter(Boolean)\n\t\t\t.reduce((map, event) => {\n\t\t\t\tif (Number.isFinite(event.tick)) {\n\t\t\t\t\tif (!map.has(event.tick)) map.set(event.tick, []);\n\n\t\t\t\t\tmap.get(event.tick).push(event);\n\t\t\t\t}\n\n\t\t\t\treturn map;\n\t\t\t}, new Map());\n\t}\n\n\tget tickToX(): { [tick: number]: number } {\n\t\treturn [...this.tickMap.entries()].reduce((map, [tick, events]) => {\n\t\t\tevents = events.filter((e) => !e.fullMeasureRest && !e.grace);\n\t\t\tif (events.length) {\n\t\t\t\tconst x = Math.min(...events.map((e) => e.x));\n\t\t\t\tmap[tick] = x;\n\t\t\t}\n\n\t\t\treturn map;\n\t\t}, {});\n\t}\n\n\tget tickRates(): number[] {\n\t\tconst events = this.events.filter((event) => Number.isFinite(event.tick) && !event.fullMeasureRest);\n\t\tevents.sort((e1, e2) => e1.x - e2.x);\n\n\t\treturn events.slice(0, events.length - 1).map((e1, i) => {\n\t\t\tconst e2 = events[i + 1];\n\n\t\t\treturn (e2.tick - e1.tick) / Math.max(e2.x - e1.x, 1e-3);\n\t\t});\n\t}\n\n\tget tickRatesInStaves(): number[] {\n\t\tconst events = this.events.filter((event) => Number.isFinite(event.tick) && !event.fullMeasureRest && !event.grace);\n\t\tconst sevents: Record = events.reduce((map, event) => {\n\t\t\tmap[event.staff] = map[event.staff] || [];\n\t\t\tmap[event.staff].push(event);\n\t\t\treturn map;\n\t\t}, {});\n\n\t\tconst rates = Object.values(sevents).map((es) =>\n\t\t\tes\n\t\t\t\t.sort((e1, e2) => e1.x - e2.x)\n\t\t\t\t.slice(0, es.length - 1)\n\t\t\t\t.map((e1, i) => {\n\t\t\t\t\tconst e2 = es[i + 1];\n\t\t\t\t\treturn (e2.tick - e1.tick) / Math.max(e2.x - e1.x, 1e-3);\n\t\t\t\t})\n\t\t);\n\n\t\treturn [].concat(...rates);\n\t}\n\n\tget tickRatesInGroups(): number[] {\n\t\tconst events = this.events.filter((event) => Number.isFinite(event.tick) && !event.fullMeasureRest);\n\t\tconst gevents: Record = events.reduce((map, event) => {\n\t\t\tconst groupIndex = this.staffGroups.findIndex((group) => group.includes(event.staff));\n\t\t\tmap[groupIndex] = map[groupIndex] || [];\n\t\t\tmap[groupIndex].push(event);\n\t\t\treturn map;\n\t\t}, {});\n\n\t\tconst rates = Object.values(gevents).map((es) =>\n\t\t\tes\n\t\t\t\t.sort((e1, e2) => e1.x - e2.x)\n\t\t\t\t.slice(0, es.length - 1)\n\t\t\t\t.map((e1, i) => {\n\t\t\t\t\tconst e2 = es[i + 1];\n\t\t\t\t\treturn (e2.tick - e1.tick) / Math.max(e2.x - e1.x, 1e-3);\n\t\t\t\t})\n\t\t);\n\n\t\treturn [].concat(...rates);\n\t}\n\n\tget tickTwist(): number {\n\t\tif (!this.duration || !this.staffGroups) return undefined;\n\n\t\tconst events = this.events.filter(\n\t\t\t(event) => Number.isFinite(event.tick) && !event.fullMeasureRest && !event.grace && !event.tremoloCatcher && !(event.rest && event.division === 0)\n\t\t); // ignore rest0\n\t\tconst gevents: Record = events.reduce((map, event) => {\n\t\t\tconst groupIndex = this.staffGroups.findIndex((group) => group.includes(event.staff));\n\t\t\tmap[groupIndex] = map[groupIndex] || [];\n\t\t\tmap[groupIndex].push(event);\n\t\t\treturn map;\n\t\t}, {});\n\n\t\tconst twists = Object.values(gevents).map((es) => {\n\t\t\tconst eventsXOrder = [...es].sort((e1, e2) => e1.pivotX - e2.pivotX);\n\t\t\tconst xSpan = this.position.right - eventsXOrder[0].x;\n\t\t\tconst tickTwists = eventsXOrder.slice(1).map((e2, i) => {\n\t\t\t\tconst e1 = eventsXOrder[i];\n\t\t\t\tconst dx = e2.pivotX - e1.pivotX;\n\t\t\t\tconst dt = e2.tick! - e1.tick!;\n\n\t\t\t\tif (!dt) return dx / xSpan;\n\n\t\t\t\tconst rate = Math.atan2(dt / this.duration, dx / xSpan);\n\n\t\t\t\treturn ((rate * 4) / Math.PI - 1) ** 2;\n\t\t\t});\n\n\t\t\treturn Math.max(0, ...tickTwists);\n\t\t});\n\n\t\treturn Math.max(0, ...twists);\n\t}\n\n\tget eventMap(): Record {\n\t\treturn this.events.reduce((map, event) => {\n\t\t\tmap[event.id] = event;\n\t\t\treturn map;\n\t\t}, {});\n\t}\n\n\tget empty(): boolean {\n\t\treturn !this.events?.length || !this.voices?.length;\n\t}\n\n\tget hasIllEvent(): boolean {\n\t\treturn this.regulated && this.events.some((event) => !event.zeroHolder && !Number.isFinite(event.tick) && !event.fullMeasureRest);\n\t}\n\n\tget brief(): string {\n\t\tconst timesig = `${this.timeSignature.numerator}/${this.timeSignature.denominator}`;\n\t\tconst eventBrieves = this.events.map((e) =>\n\t\t\t[\n\t\t\t\te.staff,\n\t\t\t\te.intX,\n\t\t\t\tMath.round(e.tip ? e.tip.y : e.ys?.[0] ?? 0),\n\t\t\t\te.fullMeasureRest ? 0 : e.division,\n\t\t\t\te.fullMeasureRest ? 0 : e.dots,\n\t\t\t\te.rest ? 'r' : '',\n\t\t\t\te.grace || '',\n\t\t\t\te.stemDirection,\n\t\t\t\te.beam || '',\n\t\t\t].join('|')\n\t\t);\n\n\t\treturn [timesig, ...eventBrieves].join('\\n');\n\t}\n\n\tget regulationHash(): string {\n\t\treturn sha1(this.brief);\n\t}\n\n\t// prefer use originalRegulationHash\n\tget regulationHash0(): string {\n\t\treturn this.originalRegulationHash || this.regulationHash;\n\t}\n\n\tget regulationHashes(): string[] {\n\t\treturn Array.from(new Set([this.originalRegulationHash, this.regulationHash].filter(Boolean)));\n\t}\n\n\tget featureWords(): string[][] | null {\n\t\tif (!this.regulated || !this.voices || !this.voices.length) return null;\n\n\t\tconst invalid = this.tickRatesInStaves.some((rate) => rate < 0);\n\n\t\tconst mainEvents = this.events.filter((event) => !event.zeroHolder && !event.rest);\n\n\t\tconst ys = mainEvents\n\t\t\t.map((event) => event.ys)\n\t\t\t.flat(1)\n\t\t\t.map((y) => `Y${-y * 2}`);\n\t\tconst uys = Array.from(new Set(ys));\n\t\tif (this.keySignature) uys.push(`K${this.keySignature}`);\n\n\t\tconst voices = this.voices\n\t\t\t.map((ids) => ids.map((id) => this.events.find((e) => e.id === id)).filter((event) => !event.zeroHolder && !event.rest))\n\t\t\t.filter((voice) => voice.length);\n\n\t\tconst melodies = invalid ? [] : voices.map((es) => es.map((e) => e.scaleChord).join('-'));\n\n\t\tconst rhythm = invalid ? [] : voices.map((es) => es.map((e) => e.division).join(''));\n\t\tif (this.timeSignature) rhythm.push(`T${this.timeSignature.numerator}/${this.timeSignature.denominator}`);\n\n\t\treturn [uys, melodies, rhythm];\n\t}\n\n\tget barType(): MeasureBarType {\n\t\tif (this.voltaEnd) return 'VoltaRight';\n\n\t\tconst typeEntris = Object.entries(this.barTypes).sort((e1, e2) => e2[1] - e1[1]);\n\t\tif (typeEntris[0] && typeEntris[0][1] >= 1) return typeEntris[0][0] as MeasureBarType;\n\n\t\treturn null;\n\t}\n\n\tget partialDuration(): boolean {\n\t\tif (!Number.isFinite(this.duration)) return false;\n\n\t\tconst signatureDuration = fractionMul(WHOLE_DURATION, this.timeSignature);\n\n\t\treturn this.duration < signatureDuration;\n\t}\n\n\tpostRegulate(): void {\n\t\tthis.endEvent = new EventTerm({ tick: this.duration, x: this.position.right });\n\n\t\tthis.updateRoundX();\n\t\tsolveGraceEvents(this);\n\t\tsolveTremoloPairs(this);\n\t\tthis.updateContextTick();\n\t}\n\n\tupdateRoundX(): void {\n\t\tconst tickToX = this.tickToX;\n\t\tif (tickToX)\n\t\t\tthis.events.forEach((event) => {\n\t\t\t\tconst x = tickToX[event.tick];\n\t\t\t\tif (Number.isFinite(x)) event.roundX = x;\n\t\t\t});\n\t}\n\n\tupdateContextTick(): void {\n\t\tif (!this.staffGroups) return;\n\t\tconst contexts = this.contexts.flat(1);\n\t\tthis.staffGroups.flat(1).forEach((staffIndex) => {\n\t\t\tconst terms = [...this.events.filter((e) => e.staff === staffIndex), ...contexts.filter((c) => c.staff === staffIndex)];\n\t\t\tterms.sort((t1, t2) => t2.x - t1.x); // order by x from right to left\n\n\t\t\tlet tick = this.duration;\n\t\t\tterms.forEach((term) => {\n\t\t\t\tif (term instanceof EventTerm) {\n\t\t\t\t\tif (!term.fullMeasureRest && !term.zeroHolder) tick = term.tick;\n\t\t\t\t} else if (term instanceof ContextedTerm) term.tick = tick;\n\t\t\t});\n\t\t});\n\t}\n\n\tasSolution(ref: SpartitoMeasure = undefined): RegulationSolution {\n\t\tif (!this.regulated) return null;\n\n\t\t//let timeSignature = undefined;\n\t\t//if (ref && printFraction(ref.timeSignature) !== printFraction(this.timeSignature)) timeSignature = this.timeSignature;\n\n\t\treturn {\n\t\t\t//timeSignature,\n\t\t\tevents: this.events.map((e) => {\n\t\t\t\tconst se = {\n\t\t\t\t\tid: e.id,\n\t\t\t\t\ttick: e.tick,\n\t\t\t\t\ttickGroup: e.tickGroup,\n\t\t\t\t\ttimeWarp: e.timeWarp,\n\t\t\t\t} as RegulationSolutionEvent;\n\n\t\t\t\tif (ref) {\n\t\t\t\t\tconst refEvent = ref.events.find((re) => re.id === e.id);\n\t\t\t\t\tif (refEvent) {\n\t\t\t\t\t\tif (e.division !== refEvent.division) se.division = e.division;\n\t\t\t\t\t\tif (e.dots !== refEvent.dots) se.dots = e.dots;\n\t\t\t\t\t\tif (e.grace !== refEvent.grace) se.grace = !!e.grace;\n\t\t\t\t\t\tif (e.beam !== refEvent.beam) se.beam = e.beam;\n\t\t\t\t\t\tif (e.fullMeasureRest !== refEvent.fullMeasureRest) se.fullMeasure = e.fullMeasureRest;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn se;\n\t\t\t}),\n\t\t\tvoices: this.voices,\n\t\t\tduration: this.duration,\n\t\t\tpriority: -this.solutionStat?.loss,\n\t\t};\n\t}\n\n\tapplySolution(solution: RegulationSolution): void {\n\t\tif (solution.timeSignature) {\n\t\t\tthis.basics.forEach((basic) => {\n\t\t\t\tbasic.timeSignature = solution.timeSignature;\n\t\t\t\tbasic.doubtfulTimesig = false;\n\t\t\t});\n\t\t}\n\n\t\tthis.voices = solution.voices;\n\t\tthis.duration = solution.duration;\n\t\tthis.events.forEach((event) => {\n\t\t\tevent.timeWarp = null;\n\t\t\tevent.tick = null;\n\t\t\tevent.tickGroup = null;\n\n\t\t\tconst se = solution.events?.find((e) => e.id === event.id);\n\t\t\tif (se) {\n\t\t\t\tevent.tick = se.tick;\n\t\t\t\tevent.timeWarp = se.timeWarp;\n\t\t\t\tevent.tickGroup = se.tickGroup;\n\n\t\t\t\tif (Number.isFinite(se.division)) event.division = se.division;\n\t\t\t\tif (Number.isFinite(se.dots)) event.dots = se.dots;\n\t\t\t\tif (se.beam) event.beam = se.beam as StemBeam;\n\t\t\t\tif (se.grace !== undefined) event.grace = se.grace ? GraceType.Grace : undefined;\n\t\t\t\tif (se.fullMeasure) event.rest = 'R';\n\t\t\t}\n\t\t});\n\n\t\tif (Number.isFinite(solution.priority)) this.solutionStat = { loss: -solution.priority };\n\n\t\tthis.postRegulate();\n\t}\n\n\tcleanupRegulation(): void {\n\t\tthis.voices = null;\n\t\tthis.duration = null;\n\t\tthis.events.forEach((event) => {\n\t\t\tevent.tick = null;\n\t\t\tevent.tickGroup = null;\n\t\t\tevent.timeWarp = null;\n\t\t});\n\t}\n\n\tregulateTest(): void {\n\t\tthis.duration = 0;\n\t\tthis.voices = this.rows.map((row) => row.events.map((e) => e.id));\n\t\tthis.voices.forEach((ids) => {\n\t\t\tlet tick = 0;\n\t\t\tconst events = ids.map((id) => this.events.find((e) => e.id === id));\n\t\t\tevents.forEach((e, index) => {\n\t\t\t\te.tickGroup = index;\n\t\t\t\te.tick = tick;\n\n\t\t\t\ttick += e.duration;\n\t\t\t});\n\n\t\t\tthis.duration = Math.max(this.duration, tick);\n\t\t});\n\t}\n\n\tregulateSimple(): void {\n\t\tSimplePolicy.computeMeasureTicks(this);\n\t\tSimplePolicy.computeMeasureVoices(this);\n\t}\n\n\tasync regulateEquations(options: EquationPolicy.RegulatorOptions): Promise {\n\t\tawait EquationPolicy.regulateMeasure(this, options);\n\t}\n\n\t// compute event.tick, event.tickGroup, event.timeWarp, voices, duration\n\tasync regulate({ policy = 'advanced', ...options }: RegulationOptions = {}): Promise {\n\t\tswitch (policy) {\n\t\t\tcase 'test':\n\t\t\t\tthis.regulateTest();\n\n\t\t\t\tbreak;\n\t\t\tcase 'equations':\n\t\t\tcase 'advanced':\n\t\t\t\tawait this.regulateEquations(options);\n\n\t\t\t\tbreak;\n\t\t\tcase 'simple':\n\t\t\tdefault:\n\t\t\t\tthis.regulateSimple();\n\t\t}\n\n\t\tthis.postRegulate();\n\t}\n\n\tcreatePatch(): PatchMeasure {\n\t\treturn new PatchMeasure({\n\t\t\tmeasureIndex: this.measureIndex,\n\t\t\tstaffMask: this.staffMask,\n\t\t\tbasic: this.basics[0],\n\t\t\t//points: [],\n\t\t\tevents: this.events,\n\t\t\tcontexts: this.contexts,\n\t\t\tmarks: this.marks,\n\t\t\tvoices: this.voices,\n\t\t});\n\t}\n\n\tcreateClusters(): EventCluster[] {\n\t\tconst trueEventIds = this.voices && new Set(this.voices.flat(1));\n\n\t\treturn this.staffGroups\n\t\t\t.filter((idx) => idx.length)\n\t\t\t.map((staffIndices) => {\n\t\t\t\tconst staffY0 = this.position.staffYs[0];\n\t\t\t\tconst staffYn = (n) => this.position.staffYs[staffIndices.indexOf(n)] - staffY0;\n\n\t\t\t\tconst events = this.events.filter((event) => staffIndices.includes(event.staff));\n\t\t\t\tif (!events.length) return null;\n\n\t\t\t\tconst elements: EventElement[] = events.map((event) => ({\n\t\t\t\t\tindex: event.id,\n\t\t\t\t\tvoice: (this.voices || []).findIndex((voice) => voice.includes(event.id)),\n\t\t\t\t\ttype: event.rest ? EventElementType.REST : EventElementType.CHORD,\n\t\t\t\t\tstaff: staffIndices.indexOf(event.staff),\n\t\t\t\t\tx: event.tipX,\n\t\t\t\t\tpivotX: event.pivotX,\n\t\t\t\t\ty1: staffYn(event.staff) + (event.stemDirection === 'u' ? event.tipY : event.ys[event.ys.length - 1]),\n\t\t\t\t\ty2: staffYn(event.staff) + (event.stemDirection === 'u' ? event.ys[0] : event.tipY),\n\t\t\t\t\theadY: event.stemDirection === 'u' ? event.ys[0] : event.ys[event.ys.length - 1],\n\t\t\t\t\tfeature: event.feature,\n\t\t\t\t\tdivision: event.division,\n\t\t\t\t\tdots: event.dots,\n\t\t\t\t\tbeam: event.beam || null,\n\t\t\t\t\tstemDirection: event.stemDirection,\n\t\t\t\t\tgrace: !!event.grace,\n\t\t\t\t\ttremoloCatcher: event.tremoloCatcher,\n\t\t\t\t\ttimeWarped: !!event.timeWarp,\n\t\t\t\t\tfullMeasure: event.fullMeasureRest,\n\t\t\t\t\ttick: event.tick || 0,\n\t\t\t\t\tfake: !event.fullMeasureRest && !event.grace && this.voices && !trueEventIds.has(event.id), // tremoloCatcher deemed as fake\n\t\t\t\t}));\n\t\t\t\tif (!elements.some((elem) => !elem.fake)) return null;\n\n\t\t\t\tconst signatureDuration = fractionMul(WHOLE_DURATION, this.timeSignature);\n\n\t\t\t\t// BOS & EOS\n\t\t\t\telements.unshift({\n\t\t\t\t\tindex: 0,\n\t\t\t\t\ttype: EventElementType.BOS,\n\t\t\t\t\tstaff: null,\n\t\t\t\t\tdivision: null,\n\t\t\t\t\tbeam: null,\n\t\t\t\t\tdots: null,\n\t\t\t\t\tstemDirection: null,\n\t\t\t\t\tgrace: false,\n\t\t\t\t\ttremoloCatcher: false,\n\t\t\t\t\tfullMeasure: false,\n\t\t\t\t\tx: this.position.left,\n\t\t\t\t\tpivotX: this.position.left,\n\t\t\t\t\ty1: 0,\n\t\t\t\t\ty2: 0,\n\t\t\t\t\theadY: 0,\n\t\t\t\t\tfeature: null,\n\t\t\t\t\ttimeWarped: this.duration < signatureDuration,\n\t\t\t\t\ttick: 0,\n\t\t\t\t\tfake: false,\n\t\t\t\t});\n\t\t\t\telements.push({\n\t\t\t\t\tindex: -1,\n\t\t\t\t\ttype: EventElementType.EOS,\n\t\t\t\t\tstaff: null,\n\t\t\t\t\tdivision: null,\n\t\t\t\t\tbeam: null,\n\t\t\t\t\tdots: null,\n\t\t\t\t\tstemDirection: null,\n\t\t\t\t\tgrace: false,\n\t\t\t\t\ttremoloCatcher: false,\n\t\t\t\t\tfullMeasure: false,\n\t\t\t\t\tx: this.position.right,\n\t\t\t\t\tpivotX: this.position.right,\n\t\t\t\t\ty1: 0,\n\t\t\t\t\ty2: 0,\n\t\t\t\t\theadY: 0,\n\t\t\t\t\tfeature: null,\n\t\t\t\t\ttimeWarped: false,\n\t\t\t\t\ttick: this.duration,\n\t\t\t\t\tfake: false,\n\t\t\t\t});\n\n\t\t\t\tlet matrixH = null;\n\t\t\t\tif (this.voices) {\n\t\t\t\t\tmatrixH = elements.map(() => elements.map(() => 0));\n\n\t\t\t\t\tthis.voices.forEach((voice) => {\n\t\t\t\t\t\tlet tar = 0;\n\t\t\t\t\t\tvoice.forEach((id) => {\n\t\t\t\t\t\t\tconst src = elements.findIndex((e) => e.index === id);\n\t\t\t\t\t\t\tif (src > 0 && tar >= 0) matrixH[src][tar] = 1;\n\t\t\t\t\t\t\ttar = src;\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tif (tar >= 0) matrixH[elements.length - 1][tar] = 1;\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tconst annotation = { ...this.solutionStat, patched: this.patched };\n\n\t\t\t\tconst backgroundImages =\n\t\t\t\t\tthis.backgroundImages &&\n\t\t\t\t\tthis.backgroundImages.map(({ url, position }) => ({\n\t\t\t\t\t\turl,\n\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t...position,\n\t\t\t\t\t\t\ty: position.y - staffY0,\n\t\t\t\t\t\t},\n\t\t\t\t\t}));\n\n\t\t\t\treturn new EventCluster({\n\t\t\t\t\tindex: this.measureIndex,\n\t\t\t\t\tduration: this.duration,\n\t\t\t\t\tsignatureDuration,\n\t\t\t\t\tstaffY0,\n\t\t\t\t\telements,\n\t\t\t\t\tmatrixH,\n\t\t\t\t\tannotation,\n\t\t\t\t\tbackgroundImages,\n\t\t\t\t});\n\t\t\t})\n\t\t\t.filter(Boolean);\n\t}\n\n\tapplyClusters(clusters: EventCluster[]): void {\n\t\tconst id_max = this.events.reduce((max, event) => Math.max(max, event.id), 0) + 1;\n\t\tthis.matrixH = Array(id_max + 1)\n\t\t\t.fill(null)\n\t\t\t.map(() => Array(id_max).fill(0));\n\n\t\tclusters.forEach((cluster) => {\n\t\t\tconst ids = cluster.elements.map((e) => e.index);\n\t\t\tconsole.assert(cluster.matrixH.length === ids.length - 1, 'unexpected matrixH size:', cluster.matrixH.length, ids.length);\n\n\t\t\tfor (let is = 1; is < ids.length; ++is) {\n\t\t\t\tfor (let it = 0; it < ids.length - 1; ++it) {\n\t\t\t\t\tconst srcId = ids[is] < 0 ? id_max : ids[is];\n\t\t\t\t\tconst tarId = ids[it];\n\n\t\t\t\t\tthis.matrixH[srcId][tarId] = cluster.matrixH[is - 1][it];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// event predisposition\n\t\t\tcluster.elements.forEach((elem) => {\n\t\t\t\tconst event = this.events.find((event) => event.id === elem.index);\n\t\t\t\tif (event) {\n\t\t\t\t\tevent.predisposition = elem.predisposition;\n\t\t\t\t\tif (event.predisposition.grace !== undefined) event.grace = event.predisposition.grace ? GraceType.Grace : null;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\t// estimated measure duration\n\t\tthis.estimatedDuration = clusters.reduce((sum, cluster) => sum + cluster.estimatedDuration, 0) / clusters.length;\n\t}\n}\n\nexport { SpartitoMeasure, EquationPolicy };\n","import { MetaNotation, TokenPosition } from '../performer';\nimport { Hash, HashVector, cosHashes, hashToHex, hashToBigInt } from './hashVector';\nimport { EventTerm, ContextedTerm, TermPitch, TempoTerm, WHOLE_DURATION } from './term';\nimport { VoicesStaff, VoiceMeasure, TermMeasure, TermVoice, Performing, RegulationOptions } from './interfaces';\nimport { reducedFraction, argmax, noteToPitch, frac, printFraction, fractionMul } from './utils';\nimport { TokenType } from './token';\nimport { SpartitoMeasure } from './spartitoMeasure';\nimport { SimpleClass } from './aux_/typedJSON';\nimport { evaluateMeasure } from './measureEvaluator';\nimport { Logger, DummyLogger } from './logger';\n\nexport const emptyVoiceFromStaffMeasure = (staff: TermMeasure, chiefVoice: boolean = false): VoiceMeasure => {\n\treturn {\n\t\tempty: true,\n\t\tduration: staff.duration,\n\t\ttickMap: {\n\t\t\t[0]: EventTerm.space({ duration: staff.duration, tick: 0 }),\n\t\t},\n\t\ttimeSignature: staff.timeSignature,\n\t\ttimeSigNumeric: staff.timeSigNumeric,\n\t\tkeySignature: staff.keySignature,\n\t\tcontextedTerms: staff.terms.filter((term) => term instanceof ContextedTerm && (!term.staffLevel || chiefVoice)) as ContextedTerm[],\n\t\tmarks: [],\n\t};\n};\n\nconst removeEmptyMeasuresInVoicesStaves = (staves: VoicesStaff[]): void => {\n\t//console.assert(staves[0] && staves[0].voices[0], 'voices is empty:', staves);\n\tif (!(staves[0] && staves[0].voices[0])) {\n\t\tconsole.warn('empty voices:', staves);\n\t\treturn;\n\t}\n\n\tconst measureCount = staves[0].voices[0].measures.length;\n\tconst measureEmpties = Array(measureCount)\n\t\t.fill(null)\n\t\t.map((_, m) => {\n\t\t\tfor (const staff of staves) {\n\t\t\t\tfor (const voice of staff.voices) {\n\t\t\t\t\tconst measure = voice.measures[m];\n\t\t\t\t\tif (!measure.empty) return false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn true;\n\t\t});\n\tmeasureEmpties.forEach((empty, m) => {\n\t\tif (empty) {\n\t\t\tstaves.forEach((staff) =>\n\t\t\t\tstaff.voices.forEach((voice) => {\n\t\t\t\t\tconst measure = voice.measures[m];\n\t\t\t\t\tmeasure.tickMap = {};\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t});\n};\n\nconst markingTiesInVoice = (voice: TermVoice) => {\n\tconst events = [].concat(...voice.measures.map((m) => Object.values(m.tickMap).filter((event) => event instanceof EventTerm)));\n\t//console.log(\"events:\", events);\n\n\tfor (let i = 1; i < events.length; ++i) {\n\t\tconst event0 = events[i - 1];\n\t\tconst event1 = events[i];\n\t\tif (!event0.rest && !event1.rest) {\n\t\t\tif (event0.accessories.some((acc) => acc.type === TokenType.SlurBegin) && event1.accessories.some((acc) => acc.type === TokenType.SlurEnd)) {\n\t\t\t\tconst pitches = event0.pitches.filter((p0) => event1.pitches.some((p1) => p1.note === p0.note && p1.alter === p0.alter));\n\t\t\t\tif (pitches.length > 0) {\n\t\t\t\t\tevent0.tying = true;\n\t\t\t\t\tevent1.tied = true;\n\n\t\t\t\t\tpitches.forEach((p0) => {\n\t\t\t\t\t\tp0.tying = true;\n\t\t\t\t\t\tconst p1 = event1.pitches.find((p1) => p1.note === p0.note && p1.alter === p0.alter);\n\t\t\t\t\t\tp1.tied = true;\n\t\t\t\t\t});\n\n\t\t\t\t\t// remove slurs from accessories\n\t\t\t\t\tpitches.forEach(() => {\n\t\t\t\t\t\tconst si0 = event0.accessories.findIndex((acc) => acc.type === TokenType.SlurBegin);\n\t\t\t\t\t\tif (si0 >= 0) event0.accessories.splice(si0, 1);\n\n\t\t\t\t\t\tconst si1 = event1.accessories.findIndex((acc) => acc.type === TokenType.SlurEnd);\n\t\t\t\t\t\tif (si1 >= 0) event1.accessories.splice(si1, 1);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nclass Spartito extends SimpleClass {\n\tstatic className = 'Spartito';\n\n\tstavesCount: number;\n\tstaffGroups: number[][];\n\tmeasures: SpartitoMeasure[];\n\n\ttags: string[];\n\n\tconstructor(data: any) {\n\t\tsuper();\n\t\tsuper.assign(data);\n\n\t\tthis.measures.forEach((measure) => (measure.staffGroups = this.staffGroups));\n\t}\n\n\tget regulated(): boolean {\n\t\treturn this.measures.every((m) => m.regulated);\n\t}\n\n\tget solidMeasureCount(): number {\n\t\treturn this.measures.filter((measure) => !measure.empty).length;\n\t}\n\n\tget measureIndexMapping(): number[] {\n\t\tlet n = 0;\n\t\treturn this.measures.map((measure) => {\n\t\t\treturn !measure.empty ? n++ : null;\n\t\t});\n\t}\n\n\tget headBPM(): number {\n\t\tfor (const measure of this.measures) {\n\t\t\tif (measure.marks) {\n\t\t\t\tconst tempoMark = measure.marks.find((mark) => mark instanceof TempoTerm && mark.isValid()) as TempoTerm;\n\t\t\t\tif (tempoMark) return tempoMark.bpm;\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tget measureLayoutCode(): string {\n\t\tconst ms = this.measures\n\t\t\t.filter((measure) => !measure.empty)\n\t\t\t.map((measure, i) => ({\n\t\t\t\tindex: i + 1,\n\t\t\t\tvb: measure.voltaBegin,\n\t\t\t\tve: measure.voltaEnd,\n\t\t\t\talter: measure.alternative,\n\t\t\t\tleftSign: '',\n\t\t\t\trightSign: '',\n\t\t\t}));\n\t\tms.forEach((m, i) => {\n\t\t\tif (m.vb) {\n\t\t\t\tconst nextI = ms.slice(i + 1).findIndex((mm) => mm.vb);\n\t\t\t\tconst nextVBI = nextI >= 0 ? i + nextI : ms.length;\n\t\t\t\tif (ms.slice(i, nextVBI - 1).some((mm) => mm.ve))\n\t\t\t\t\t// check if volta range closed\n\t\t\t\t\tm.leftSign = '2*[';\n\t\t\t}\n\n\t\t\tif (m.ve) {\n\t\t\t\tconst pms = ms.slice(0, i + 1).reverse();\n\t\t\t\tconst lastVEI = pms.slice(1).findIndex((mm) => mm.ve);\n\t\t\t\tif (lastVEI >= 0) {\n\t\t\t\t\tif (!pms.slice(1, lastVEI + 1).some((mm) => mm.vb))\n\t\t\t\t\t\t// ignore unclosed right volta\n\t\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (m.alter) {\n\t\t\t\t\tconst lastMI = pms.findIndex((m) => !m.alter);\n\t\t\t\t\tif (lastMI > 0) {\n\t\t\t\t\t\tpms[lastMI].rightSign = ']';\n\t\t\t\t\t\tpms[lastMI - 1].leftSign = '{[';\n\n\t\t\t\t\t\tm.rightSign = '],';\n\n\t\t\t\t\t\tif (ms[i + 1]) ms[i + 1].rightSign = '},';\n\t\t\t\t\t}\n\t\t\t\t} else m.rightSign = '],';\n\n\t\t\t\tif (!pms.some((m) => m.vb)) ms[0].leftSign = '2*[';\n\t\t\t}\n\t\t});\n\n\t\treturn ms\n\t\t\t.map((m) => m.leftSign + m.index.toString() + m.rightSign + (m.rightSign ? '' : ','))\n\t\t\t.join(' ')\n\t\t\t.replace(/,$/, '');\n\t}\n\n\tget qualityScore(): number {\n\t\tconst measures = this.measures.filter((measure) => !measure.empty);\n\t\tconst qss = measures.map(evaluateMeasure).map((e) => e.qualityScore);\n\t\tconst sum = qss.reduce((a, b) => a + b, 0);\n\t\t//console.log('qss:', qss);\n\n\t\treturn measures.length ? sum / measures.length : null;\n\t}\n\n\tdumpEvaluations(): void {\n\t\tconst es = this.measures.filter((measure) => !measure.empty).map((m) => ({ measureIndex: m.measureIndex, ...evaluateMeasure(m) }));\n\t\tconst qss = es.map((e) => e.qualityScore);\n\t\tconst sum = qss.reduce((a, b) => a + b, 0);\n\t\tconsole.log('qualityScore:', sum / es.length);\n\n\t\tconsole.table(es);\n\t}\n\n\tregulate(options: RegulationOptions = {}): void {\n\t\tthis.measures.forEach((m) => m.regulated || m.regulate(options));\n\t}\n\n\tcleanupRegulation(): void {\n\t\tthis.measures.forEach((m) => (m.voices = null));\n\t}\n\n\t// measures' estimatedDuration should be valid\n\trectifyTimeSignatures(logger: Logger = new DummyLogger()): void {\n\t\tconst mis = this.measures\n\t\t\t.map((measure, index) => ({ measure, index }))\n\t\t\t.filter(({ measure, index }) => !index || measure.timeSignatureChanged)\n\t\t\t.map(({ index }) => index);\n\t\tconst segments = mis\n\t\t\t.map((index, si) => this.measures.slice(index, si < mis.length - 1 ? mis[si + 1] : this.measures.length))\n\t\t\t.map((ms) => ms.filter((m) => m.estimatedDuration > 0))\n\t\t\t.filter((seg) => seg.length >= 3 || seg.some((measure) => measure.doubtfulTimesig));\n\t\t//console.log(\"segments:\", segments.map(ms => ms.map(m => m.measureIndex)));\n\n\t\tsegments.forEach((measures) => {\n\t\t\tif (measures[0].patched) {\n\t\t\t\t// rectify according to patched head measure\n\t\t\t\tconst newTimeSignature = measures[0].timeSignature;\n\t\t\t\tconst measuresToFix = measures\n\t\t\t\t\t.slice(1)\n\t\t\t\t\t.filter((measure) => !measure.patched && printFraction(measure.timeSignature) !== printFraction(newTimeSignature));\n\t\t\t\tif (measuresToFix.length) {\n\t\t\t\t\tconst originTimeSignature = measuresToFix[0].timeSignature;\n\t\t\t\t\tmeasuresToFix.forEach((measure) => measure.basics.forEach((basic) => (basic.timeSignature = newTimeSignature)));\n\n\t\t\t\t\tlogger.info(\n\t\t\t\t\t\t'[rectifyTimeSignatures]\ttimesignator overwrote by patched head:',\n\t\t\t\t\t\t`${printFraction(originTimeSignature)} -> ${printFraction(newTimeSignature)}`,\n\t\t\t\t\t\tmeasuresToFix.map((m) => m.measureIndex)\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst originTimeSignature = measures[0].timeSignature;\n\t\t\tconst regularD = Number.isInteger(Math.log2(originTimeSignature.denominator));\n\n\t\t\tlet denominator = regularD ? 4 : 8;\n\t\t\tif (regularD) denominator = Math.max(denominator, measures[0].timeSignature.denominator);\n\n\t\t\tconst numerators = measures.map((measure) => Math.round((measure.estimatedDuration * denominator) / WHOLE_DURATION));\n\t\t\tconst countings = Object.entries(numerators.reduce((c, n) => ((c[n] = (c[n] || 0) + 1), c), {} as Record)).sort(\n\t\t\t\t(p1, p2) => p2[1] - p1[1]\n\t\t\t);\n\t\t\tconst peakCount = countings[0][1];\n\t\t\tconst candidateNumerators = countings.filter(([_, c]) => c > peakCount * 0.6);\n\t\t\tconst bestCounting = candidateNumerators.reduce((best, c) => (Number(c[0]) > Number(best[0]) ? c : best));\n\t\t\tif (bestCounting[1] > 1) {\n\t\t\t\t//console.log(\"countings:\", countings, bestCounting[0]);\n\t\t\t\tlet numerator = Number(bestCounting[0]);\n\t\t\t\tif (!regularD || originTimeSignature.denominator * numerator !== originTimeSignature.numerator * denominator) {\n\t\t\t\t\tif (regularD && denominator !== originTimeSignature.denominator) {\n\t\t\t\t\t\tconst reducedN = (numerator * originTimeSignature.denominator) / denominator;\n\t\t\t\t\t\tif (Number.isInteger(reducedN)) {\n\t\t\t\t\t\t\tnumerator = reducedN;\n\t\t\t\t\t\t\tdenominator = originTimeSignature.denominator;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tconst measuresToFix = measures.filter((measure) => !measure.patched);\n\n\t\t\t\t\tconst newTimeSignature = frac(numerator, denominator);\n\t\t\t\t\tmeasuresToFix.forEach((measure) => measure.basics.forEach((basic) => (basic.timeSignature = newTimeSignature)));\n\n\t\t\t\t\tlogger.info(\n\t\t\t\t\t\t'[rectifyTimeSignatures]\ttimesignator overwrote by estimation:',\n\t\t\t\t\t\t`${printFraction(originTimeSignature)} -> ${numerator}/${denominator}`,\n\t\t\t\t\t\tmeasuresToFix.map((m) => m.measureIndex)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tmakeVoiceStaves(): VoicesStaff[] {\n\t\tthis.regulate();\n\n\t\tconst voiceCount = Math.max(...this.measures.map((measure) => measure.voices.length));\n\t\tif (!voiceCount || !Number.isFinite(voiceCount)) return null;\n\n\t\t// mark tied pitches for patched measues\n\t\tthis.measures\n\t\t\t.filter((measure) => measure.patched)\n\t\t\t.forEach((measure) => {\n\t\t\t\tmeasure.events.forEach((event) => {\n\t\t\t\t\tif (event.tied) event.pitches.forEach((pitch) => (pitch.tied = true));\n\t\t\t\t});\n\t\t\t});\n\n\t\t// [measure, voice]\n\t\tconst measures: VoiceMeasure[][] = this.measures.map((measure /*, mi*/) => {\n\t\t\tconsole.assert(measure.validRegulated, '[makeVoiceStaves] measure is invalid:', measure);\n\n\t\t\tconst eventMap: { [key: number]: EventTerm } = {};\n\t\t\tmeasure.events.forEach((event) => (eventMap[event.id] = event));\n\n\t\t\tconst leftStaves = new Set(\n\t\t\t\tArray(measure.contexts.length)\n\t\t\t\t\t.fill(null)\n\t\t\t\t\t.map((_, i) => i)\n\t\t\t);\n\n\t\t\tlet bar = null;\n\t\t\tif (measure.barType) {\n\t\t\t\tswitch (measure.barType) {\n\t\t\t\t\tcase 'Segment':\n\t\t\t\t\t\tbar = '||';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'Terminal':\n\t\t\t\t\t\tbar = '|.';\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst voices: VoiceMeasure[] = measure.voices.map((ids /*, vi*/) => {\n\t\t\t\tconst events = ids.map((id) => eventMap[id]);\n\t\t\t\tevents.sort((e1, e2) => e1.tick - e2.tick);\n\n\t\t\t\tconst tickMap = {};\n\t\t\t\tlet tick = 0;\n\t\t\t\tlet lastEvent = null;\n\t\t\t\tfor (const event of events) {\n\t\t\t\t\tif (!Number.isFinite(event?.tick)) {\n\t\t\t\t\t\tconsole.warn('invalid event tick:', event);\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (event.tick > tick) tickMap[tick] = EventTerm.space({ tick, duration: event.tick - tick });\n\t\t\t\t\telse if (!event.grace && event.tick < tick && lastEvent)\n\t\t\t\t\t\tlastEvent.timeWarp = reducedFraction(event.tick - lastEvent.tick, lastEvent.duration);\n\t\t\t\t\t//console.log(\"timewarp:\", event.tick - lastEvent.tick, lastEvent.duration, lastEvent.timeWarp);\n\n\t\t\t\t\ttickMap[event.tick] = event;\n\n\t\t\t\t\tif (!event.zeroHolder) {\n\t\t\t\t\t\ttick = Math.round(event.tick + event.duration);\n\t\t\t\t\t\tlastEvent = event;\n\n\t\t\t\t\t\t// sub grace events\n\t\t\t\t\t\tif (event.graceIds) {\n\t\t\t\t\t\t\tevent.graceIds.forEach((id) => {\n\t\t\t\t\t\t\t\tconst grace = measure.eventMap[id];\n\t\t\t\t\t\t\t\tif (grace) tickMap[grace.tick] = grace;\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (measure.endEvent && measure.endEvent.graceIds) {\n\t\t\t\t\tmeasure.endEvent.graceIds.forEach((id) => {\n\t\t\t\t\t\tconst grace = measure.eventMap[id];\n\t\t\t\t\t\tif (grace && (!lastEvent || grace.staff === lastEvent.staff)) tickMap[grace.tick] = grace;\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (tick < measure.duration) tickMap[tick] = EventTerm.space({ tick, duration: measure.duration - tick });\n\t\t\t\telse if (tick > measure.duration && Number.isFinite(measure.duration))\n\t\t\t\t\t//console.warn(\"duration out of range:\", tick, column.duration, mi, vi);\n\t\t\t\t\tlastEvent.timeWarp = reducedFraction(measure.duration - lastEvent.tick, lastEvent.duration);\n\n\t\t\t\tconsole.assert(\n\t\t\t\t\t!lastEvent || !lastEvent.timeWarp || (Number.isInteger(lastEvent.timeWarp.numerator) && Number.isInteger(lastEvent.timeWarp.denominator)),\n\t\t\t\t\t'invalid time warp:',\n\t\t\t\t\tlastEvent\n\t\t\t\t);\n\n\t\t\t\tconst staffIndex = events[0] ? events[0].staff : 0;\n\t\t\t\tleftStaves.delete(staffIndex);\n\t\t\t\tconst basic = measure.basics[staffIndex];\n\n\t\t\t\t//const row = measure.rows[staffIndex];\n\t\t\t\tconst contextedTerms = measure.contexts[staffIndex];\n\n\t\t\t\tconst tailEvent = events[events.length - 1];\n\t\t\t\tconst tailStaff = tailEvent ? tailEvent.staff : 0;\n\n\t\t\t\t// TODO: modify full measure rests duration\n\n\t\t\t\treturn {\n\t\t\t\t\ttickMap,\n\t\t\t\t\tduration: measure.duration,\n\t\t\t\t\t...basic,\n\t\t\t\t\t// TODO: consider staff altered voice\n\t\t\t\t\tcontextedTerms,\n\t\t\t\t\tmarks: [],\n\t\t\t\t\tbreak: measure.break,\n\t\t\t\t\tpageBreak: measure.pageBreak,\n\t\t\t\t\theadStaff: staffIndex,\n\t\t\t\t\ttailStaff,\n\t\t\t\t\tbar,\n\t\t\t\t};\n\t\t\t});\n\n\t\t\twhile (voices.length < voiceCount) {\n\t\t\t\tconst staffIndex = leftStaves.values().next().value || 0;\n\t\t\t\tleftStaves.delete(staffIndex);\n\n\t\t\t\tconst basic = measure.basics[staffIndex];\n\t\t\t\tconst terms = measure.contexts[staffIndex];\n\n\t\t\t\tconst chiefVoice = voices.every((voice) => voice.headStaff !== staffIndex);\n\n\t\t\t\tconst voice = emptyVoiceFromStaffMeasure(\n\t\t\t\t\t{\n\t\t\t\t\t\tterms,\n\t\t\t\t\t\tduration: measure.duration,\n\t\t\t\t\t\t...basic,\n\t\t\t\t\t\tbreak: measure.break,\n\t\t\t\t\t\tpageBreak: measure.pageBreak,\n\t\t\t\t\t},\n\t\t\t\t\tchiefVoice\n\t\t\t\t);\n\t\t\t\tvoice.headStaff = staffIndex;\n\t\t\t\tvoice.tailStaff = staffIndex;\n\t\t\t\tvoices.push(voice);\n\t\t\t}\n\n\t\t\treturn voices;\n\t\t});\n\t\t//console.log(\"measures:\", measures);\n\n\t\t// compute traits for voice-measures\n\t\tmeasures.forEach((voices) =>\n\t\t\tvoices.forEach((measure) => {\n\t\t\t\tconst words = [];\n\n\t\t\t\tif (!measure.empty) {\n\t\t\t\t\twords.push(`s${measure.headStaff}`);\n\t\t\t\t\twords.push(`s${measure.tailStaff}`);\n\t\t\t\t}\n\n\t\t\t\tObject.values(measure.tickMap).forEach((event) => {\n\t\t\t\t\tif (event instanceof EventTerm) {\n\t\t\t\t\t\twords.push(`s${event.staff}`);\n\n\t\t\t\t\t\tif (event.stemDirection) {\n\t\t\t\t\t\t\tconst sd = `st${event.staff}-${event.stemDirection}`;\n\t\t\t\t\t\t\twords.push(sd, sd);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (event.grace) words.push(`gd${event.mainDuration}`);\n\t\t\t\t\t\telse words.push(`d${event.mainDuration}`);\n\n\t\t\t\t\t\tif (event.rest) words.push('r-' + event.rest);\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tevent.pitches.forEach((pitch) => {\n\t\t\t\t\t\t\t\twords.push(`p1-${pitch.note}`);\n\t\t\t\t\t\t\t\twords.push(`p8-${Math.round(pitch.note / 8)}`);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tmeasure.trait = HashVector.fromWords(words);\n\t\t\t})\n\t\t);\n\t\t//console.log(\"measure traits:\");\n\t\t//console.table(measures.map(voices => voices.map(measure => hashToHex(measure.trait.toHash()))));\n\n\t\tconst staffToGroup: Record = this.staffGroups\n\t\t\t.flat(1)\n\t\t\t.reduce((map, si) => ((map[si] = this.staffGroups.findIndex((group) => group.includes(si))), map), {});\n\n\t\t// sort voices to connect voices between neighhoring measures\n\t\tconst voiceTraits = Array(voiceCount)\n\t\t\t.fill(null)\n\t\t\t.map((_, index) => ({ vector: HashVector.zero, index, weight: 0, headStaff: null }));\n\t\tmeasures.forEach((voices, mi) => {\n\t\t\tvoiceTraits.sort((v1, v2) => v2.weight - v1.weight);\n\n\t\t\tconst leftVoices = new Set(voices);\n\t\t\tvoiceTraits.forEach((voiceTrait) => {\n\t\t\t\tconst vs = [...leftVoices];\n\t\t\t\tlet measure = vs[0];\n\t\t\t\tif (mi > 0 && vs.length > 1) {\n\t\t\t\t\tconst consistencies = vs.map((measure) =>\n\t\t\t\t\t\tstaffToGroup[measure.headStaff] === staffToGroup[voiceTrait.headStaff]\n\t\t\t\t\t\t\t? cosHashes(voiceTrait.vector.toHash(), measure.trait.toHash())\n\t\t\t\t\t\t\t: -1\n\t\t\t\t\t);\n\t\t\t\t\tmeasure = vs[argmax(consistencies)];\n\t\t\t\t}\n\t\t\t\tleftVoices.delete(measure);\n\n\t\t\t\tmeasure.voiceIndex = voiceTrait.index;\n\t\t\t\tvoiceTrait.vector.scale(0.4).add(measure.trait);\n\n\t\t\t\tvoiceTrait.weight = Object.keys(measure.tickMap).length;\n\n\t\t\t\tif (mi === 0) voiceTrait.headStaff = measure.headStaff;\n\t\t\t});\n\n\t\t\tvoices.sort((m1, m2) => m1.voiceIndex - m2.voiceIndex);\n\t\t});\n\n\t\t//const staffTraits = Array(this.stavesCount).fill(null).map((_, si) => HashVector.fromString(`s${si}`).toHash());\n\t\tconst staffVoiceIndices = Array(this.stavesCount)\n\t\t\t.fill(null)\n\t\t\t.map(() => []);\n\t\tvoiceTraits.forEach((trait) => {\n\t\t\t//const consistencies = staffTraits.map(staff => cosHashes(trait.vector.toHash(), staff));\n\t\t\t//staffVoiceIndices[argmax(consistencies)].push(trait.index);\n\t\t\tstaffVoiceIndices[trait.headStaff].push(trait.index);\n\t\t});\n\n\t\tconst staves = Array(this.stavesCount)\n\t\t\t.fill(null)\n\t\t\t.map((_, si) => {\n\t\t\t\tif (!measures[0]) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tvoices: [],\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\t//const voiceIndicies = measures[0].map((voice, vi) => ({ voice, vi })).filter(({ voice }) => voice.headStaff === si).map(({ vi }) => vi);\n\t\t\t\tconst voiceIndicies = staffVoiceIndices[si];\n\n\t\t\t\tconst voices = voiceIndicies.map((vi): TermVoice => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tmode: 'relative',\n\t\t\t\t\t\tmeasures: measures.map((m) => m[vi]),\n\t\t\t\t\t};\n\t\t\t\t});\n\n\t\t\t\treturn { voices };\n\t\t\t});\n\n\t\tremoveEmptyMeasuresInVoicesStaves(staves);\n\t\tstaves.forEach((staff) => staff.voices.forEach(markingTiesInVoice));\n\n\t\treturn staves;\n\t}\n\n\tperform(): Performing {\n\t\tconst staves = this.makeVoiceStaves();\n\t\tif (!staves) return null;\n\n\t\tconst tokenMap = new Map();\n\n\t\t// TODO: store staff channels in score\n\t\tconst staffToChannel = Array(this.stavesCount)\n\t\t\t.fill(null)\n\t\t\t.reduce((map, _, i) => {\n\t\t\t\tmap[i] = i;\n\t\t\t\treturn map;\n\t\t\t}, {});\n\n\t\tconst voiceChannels = [].concat(...staves.map((staff, si) => staff.voices.map(() => staffToChannel[si])));\n\n\t\tlet hasTempo = false;\n\n\t\tlet nextTick = 0;\n\t\tlet events0 = null;\n\t\tconst measures = this.measures\n\t\t\t.filter((measure) => !measure.empty)\n\t\t\t.map((measure) => {\n\t\t\t\tconst { systemIndex, right: endX } = measure.position;\n\t\t\t\tconst measureIndex = measure.measureIndex;\n\n\t\t\t\tconst voices: VoiceMeasure[] = [].concat(...staves.map((staff) => staff.voices.map((voice) => voice.measures[measureIndex])));\n\t\t\t\tconst voice0 = voices[0];\n\t\t\t\tconst tick = nextTick;\n\n\t\t\t\t//const signatureDuration = (WHOLE_DURATION * voice0.timeSignature.numerator) / voice0.timeSignature.denominator;\n\n\t\t\t\tnextTick += voice0.duration;\n\n\t\t\t\tconst notes = [].concat(\n\t\t\t\t\t...voices.map((measure, vi) => {\n\t\t\t\t\t\tconst tickFactor = 1; //measure.duration ? signatureDuration / measure.duration : 1;\n\n\t\t\t\t\t\tconst channel = voiceChannels[vi];\n\n\t\t\t\t\t\tconst chords = Object.values(measure.tickMap)\n\t\t\t\t\t\t\t.filter((term) => term instanceof EventTerm && !term.rest)\n\t\t\t\t\t\t\t.map((term: EventTerm) => {\n\t\t\t\t\t\t\t\tconst duration = Math.round(term.duration * tickFactor);\n\t\t\t\t\t\t\t\tconsole.assert(Number.isFinite(term.tick), 'invalid event term tick:', term);\n\t\t\t\t\t\t\t\tconsole.assert(Number.isFinite(duration), 'invalid event term duration:', term);\n\n\t\t\t\t\t\t\t\tif (term.tick >= 0) {\n\t\t\t\t\t\t\t\t\t// exclude minus tick tokens\n\t\t\t\t\t\t\t\t\tterm.noteIds.forEach((id) => {\n\t\t\t\t\t\t\t\t\t\ttokenMap.set(id, {\n\t\t\t\t\t\t\t\t\t\t\tsystem: systemIndex,\n\t\t\t\t\t\t\t\t\t\t\tmeasure: measureIndex,\n\t\t\t\t\t\t\t\t\t\t\tx: term.roundX,\n\t\t\t\t\t\t\t\t\t\t\tendX,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tconst part = this.staffGroups.findIndex((group) => group.includes(term.staff));\n\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\ttick: Math.round(term.tick * tickFactor),\n\t\t\t\t\t\t\t\t\tduration,\n\t\t\t\t\t\t\t\t\tpitches: term.pitches,\n\t\t\t\t\t\t\t\t\tnoteIds: term.noteIds,\n\t\t\t\t\t\t\t\t\tpart,\n\t\t\t\t\t\t\t\t\tstaff: term.staff,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\treturn [].concat(\n\t\t\t\t\t\t\t...chords.map((chord) => {\n\t\t\t\t\t\t\t\t// exclude repeated pitches\n\t\t\t\t\t\t\t\tconst pitchMap: { [pitch: number]: TermPitch } = chord.pitches.reduce((map, pitch) => {\n\t\t\t\t\t\t\t\t\tmap[noteToPitch(pitch)] = pitch;\n\t\t\t\t\t\t\t\t\treturn map;\n\t\t\t\t\t\t\t\t}, {});\n\t\t\t\t\t\t\t\tconst pitches = Object.values(pitchMap).sort((p1, p2) => p1.note - p2.note);\n\n\t\t\t\t\t\t\t\treturn pitches\n\t\t\t\t\t\t\t\t\t.filter((pitch) => !pitch.tied)\n\t\t\t\t\t\t\t\t\t.map((pitch, i) => {\n\t\t\t\t\t\t\t\t\t\tconst pitchValue = noteToPitch(pitch);\n\t\t\t\t\t\t\t\t\t\tconst id = chord.noteIds && chord.noteIds[i];\n\n\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\ttick: chord.tick,\n\t\t\t\t\t\t\t\t\t\t\tpitch: pitchValue,\n\t\t\t\t\t\t\t\t\t\t\tduration: chord.duration,\n\t\t\t\t\t\t\t\t\t\t\tchordPosition: {\n\t\t\t\t\t\t\t\t\t\t\t\tindex: i,\n\t\t\t\t\t\t\t\t\t\t\t\tcount: chord.pitches.length,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\ttied: pitch.tied,\n\t\t\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\t\t\tids: [id],\n\t\t\t\t\t\t\t\t\t\t\ttrack: chord.part,\n\t\t\t\t\t\t\t\t\t\t\tstaff: chord.staff,\n\t\t\t\t\t\t\t\t\t\t\tchannel,\n\t\t\t\t\t\t\t\t\t\t\tsubNotes: [\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\tstartTick: 0,\n\t\t\t\t\t\t\t\t\t\t\t\t\tendTick: chord.duration,\n\t\t\t\t\t\t\t\t\t\t\t\t\tpitch: pitchValue,\n\t\t\t\t\t\t\t\t\t\t\t\t\tvelocity: 127,\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t);\n\t\t\t\t\t})\n\t\t\t\t);\n\n\t\t\t\tconst events = [];\n\t\t\t\tevents0 = events0 || events;\n\n\t\t\t\tif (measure.marks)\n\t\t\t\t\tmeasure.marks.forEach((mark) => {\n\t\t\t\t\t\tif (mark instanceof TempoTerm) {\n\t\t\t\t\t\t\tconst bpm = mark.bpm;\n\t\t\t\t\t\t\tif (mark.isValid()) {\n\t\t\t\t\t\t\t\tconst es = hasTempo ? events : events0; // set the first tempo to the beginning of the track\n\t\t\t\t\t\t\t\tconst tick = hasTempo ? mark.tick : 0;\n\t\t\t\t\t\t\t\tes.push({\n\t\t\t\t\t\t\t\t\ttrack: 0,\n\t\t\t\t\t\t\t\t\tticks: tick,\n\t\t\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\t\t\ttype: 'meta',\n\t\t\t\t\t\t\t\t\t\tsubtype: 'setTempo',\n\t\t\t\t\t\t\t\t\t\tmicrosecondsPerBeat: Math.round(60e6 / bpm),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\thasTempo = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\tconst basic = measure.basics[0];\n\n\t\t\t\treturn {\n\t\t\t\t\ttick,\n\t\t\t\t\tduration: measure.duration,\n\t\t\t\t\tnotes,\n\t\t\t\t\tevents,\n\t\t\t\t\ttimeSignature: basic && basic.timeSignature,\n\t\t\t\t\tkeySignature: basic && basic.keySignature,\n\t\t\t\t};\n\t\t\t});\n\n\t\tif (!hasTempo) {\n\t\t\tmeasures[0].events.push({\n\t\t\t\ttrack: 0,\n\t\t\t\tticks: 0,\n\t\t\t\tdata: {\n\t\t\t\t\ttype: 'meta',\n\t\t\t\t\tsubtype: 'setTempo',\n\t\t\t\t\tmicrosecondsPerBeat: 0.5e6, // TODO\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\n\t\tconst notation = new MetaNotation({ measures });\n\n\t\treturn {\n\t\t\tnotation,\n\t\t\ttokenMap,\n\t\t};\n\t}\n\n\tperformByEstimation(): Performing {\n\t\tconst tokenMap = new Map();\n\t\tlet nextTick = 0;\n\n\t\tconst measures = this.measures\n\t\t\t.filter((measure) => measure.events.some((event) => event.predisposition))\n\t\t\t.map((measure) => {\n\t\t\t\tconst tick = nextTick;\n\t\t\t\tconst duration = Math.round(measure.estimatedDuration || fractionMul(WHOLE_DURATION, measure.timeSignature));\n\t\t\t\tconst basic = measure.basics[0];\n\n\t\t\t\tnextTick += duration;\n\n\t\t\t\tconst { systemIndex, right: endX } = measure.position;\n\t\t\t\tconst measureIndex = measure.measureIndex;\n\n\t\t\t\tconst chords = measure.events.filter((event) => event.predisposition && event.predisposition.fake < 0.5 && !event.rest);\n\t\t\t\tconst notes = chords\n\t\t\t\t\t.map((chord) => {\n\t\t\t\t\t\tconst noteTick = Math.round(chord.predisposition.tick);\n\n\t\t\t\t\t\tchord.noteIds.forEach((id) => {\n\t\t\t\t\t\t\ttokenMap.set(id, {\n\t\t\t\t\t\t\t\tsystem: systemIndex,\n\t\t\t\t\t\t\t\tmeasure: measureIndex,\n\t\t\t\t\t\t\t\tx: chord.roundX,\n\t\t\t\t\t\t\t\tendX,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\treturn chord.pitches.map((pitch, i) => {\n\t\t\t\t\t\t\tconst pitchValue = noteToPitch(pitch);\n\t\t\t\t\t\t\tconst id = chord.noteIds && chord.noteIds[i];\n\t\t\t\t\t\t\tconst part = this.staffGroups.findIndex((group) => group.includes(chord.staff));\n\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\ttick: noteTick,\n\t\t\t\t\t\t\t\tpitch: pitchValue,\n\t\t\t\t\t\t\t\tduration: chord.duration,\n\t\t\t\t\t\t\t\tchordPosition: {\n\t\t\t\t\t\t\t\t\tindex: i,\n\t\t\t\t\t\t\t\t\tcount: chord.pitches.length,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\ttied: pitch.tied,\n\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\tids: [id],\n\t\t\t\t\t\t\t\ttrack: part,\n\t\t\t\t\t\t\t\tstaff: chord.staff,\n\t\t\t\t\t\t\t\tchannel: 0,\n\t\t\t\t\t\t\t\tsubNotes: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tstartTick: 0,\n\t\t\t\t\t\t\t\t\t\tendTick: chord.duration,\n\t\t\t\t\t\t\t\t\t\tpitch: pitchValue,\n\t\t\t\t\t\t\t\t\t\tvelocity: 127,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t});\n\t\t\t\t\t})\n\t\t\t\t\t.flat(1);\n\n\t\t\t\treturn {\n\t\t\t\t\ttick,\n\t\t\t\t\tduration,\n\t\t\t\t\tnotes,\n\t\t\t\t\tevents: [],\n\t\t\t\t\ttimeSignature: basic && basic.timeSignature,\n\t\t\t\t\tkeySignature: basic && basic.keySignature,\n\t\t\t\t};\n\t\t\t});\n\n\t\tconst notation = new MetaNotation({ measures });\n\n\t\treturn {\n\t\t\tnotation,\n\t\t\ttokenMap,\n\t\t};\n\t}\n\n\tfeatureHash(): Hash {\n\t\tconst headMeasures = this.measures.slice(0, 16);\n\t\tconst measureWords = headMeasures.map((measure) => measure.featureWords);\n\n\t\tconst levels = [1, 4, 16].map((len) => {\n\t\t\tconst meaures = measureWords.slice(0, len).filter(Boolean);\n\t\t\tconst ys = meaures.map((words) => words[0]).flat(1);\n\t\t\tconst melodies = meaures.map((words) => words[1]).flat(1);\n\t\t\tconst rhythm = meaures.map((words) => words[2]).flat(1);\n\n\t\t\tconst [vecY, vecMelody, vecRhythm] = [ys, melodies, rhythm].map(HashVector.fromWords);\n\n\t\t\treturn HashVector.concat(vecY, vecMelody.sub(128), vecRhythm.sub(128));\n\t\t});\n\n\t\treturn HashVector.concat(...levels).toHash();\n\t}\n\n\tfeatureHashHex(): string {\n\t\treturn hashToHex(this.featureHash());\n\t}\n\n\tfeatureHashBigInt(): bigint {\n\t\treturn hashToBigInt(this.featureHash());\n\t}\n\n\tassignMeasureNumbers(): void {\n\t\tlet n = null as any;\n\t\tfor (const measure of this.measures) {\n\t\t\tif (!measure.discard && !measure.events.length) continue;\n\n\t\t\tif (measure.indent) n = null;\n\n\t\t\tif (!Number.isFinite(n)) n = measure.partialDuration ? 0 : 1;\n\n\t\t\tmeasure.measureNumber = n++;\n\t\t}\n\t}\n}\n\nexport { SpartitoMeasure, Spartito };\n","import { Fraction } from './interfaces';\nimport { ContextedTerm, ContextType } from './term';\nimport { Logger, DummyLogger } from './logger';\n\nconst GROUP_N_TO_PITCH = [0, 2, 4, 5, 7, 9, 11];\nconst MIDDLE_C = 60;\n\nexport const mod7 = (x) => {\n\tlet y = x % 7;\n\twhile (y < 0) y += 7;\n\n\treturn y;\n};\n\nconst mod12 = (x) => {\n\tlet y = x % 12;\n\twhile (y < 0) y += 12;\n\n\treturn y;\n};\n\nconst PHONETS = 'CDEFGAB';\n\nconst ALTER_NAMES = {\n\t[-2]: '\\u266D\\u266D',\n\t[-1]: '\\u266D',\n\t[0]: '\\u266E',\n\t[1]: '\\u266F',\n\t[2]: '\\uD834\\uDD2A',\n};\n\n/*\n\tCoordinates:\n\n\t\tnote:\n\t\t\tzero: the middle C line (maybe altered)\n\t\t\tpositive: high (right on piano keyboard)\n\t\t\tunit: a step in scales of the current staff key\n\n\t\tstaff Y:\n\t\t\tzero: the third (middle) line among 5 staff lines\n\t\t\tpositive: down\n\t\t\tunit: a interval between 2 neighbor staff lines\n*/\n\nexport default class StaffContext {\n\tlogger: Logger = new DummyLogger();\n\n\tclef: number = -3;\n\tkeyAlters: number[] = [];\n\toctaveShift: number = 0;\n\talters: number[] = [];\n\n\ttimeSignature: Fraction = {\n\t\tnumerator: 4,\n\t\tdenominator: 4,\n\t};\n\ttimeSigNumeric: boolean = false;\n\ttimeSigNumSet: boolean = false;\n\ttimeSigDenSet: boolean = false;\n\tdoubtingTimesig: boolean = true;\n\n\tchange(term: ContextedTerm) {\n\t\tswitch (term.type) {\n\t\t\tcase ContextType.Clef:\n\t\t\t\tthis.clef = term.clef;\n\n\t\t\t\tbreak;\n\t\t\tcase ContextType.KeyAcc:\n\t\t\t\tthis.keyAlters[mod7(this.yToNote(term.y))] = term.alter;\n\n\t\t\t\tbreak;\n\t\t\tcase ContextType.Acc:\n\t\t\t\tthis.alters[this.yToNote(term.y)] = term.alter;\n\n\t\t\t\tbreak;\n\t\t\tcase ContextType.OctaveShift:\n\t\t\t\tthis.octaveShift = term.octaveShift;\n\n\t\t\t\tbreak;\n\t\t\tcase ContextType.TimeSignatureC:\n\t\t\t\tthis.timeSigNumeric = false;\n\t\t\t\tswitch (term.tokenType) {\n\t\t\t\t\tcase 'timesig-C44':\n\t\t\t\t\t\tthis.timeSignature.numerator = 4;\n\t\t\t\t\t\tthis.timeSignature.denominator = 4;\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'timesig-C22':\n\t\t\t\t\t\tthis.timeSignature.numerator = 2;\n\t\t\t\t\t\tthis.timeSignature.denominator = 2;\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tthis.doubtingTimesig = this.partialTimeSignature;\n\n\t\t\t\tbreak;\n\t\t\tcase ContextType.TimeSignatureN:\n\t\t\t\tthis.timeSigNumeric = true;\n\t\t\t\tswitch (term.y) {\n\t\t\t\t\tcase 1:\n\t\t\t\t\t\tif (this.timeSigDenSet) this.timeSignature.denominator = this.timeSignature.denominator * 10 + term.number;\n\t\t\t\t\t\telse this.timeSignature.denominator = term.number;\n\n\t\t\t\t\t\tthis.timeSigDenSet = true;\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase -1:\n\t\t\t\t\t\tif (this.timeSigNumSet) this.timeSignature.numerator = this.timeSignature.numerator * 10 + term.number;\n\t\t\t\t\t\telse this.timeSignature.numerator = term.number;\n\n\t\t\t\t\t\tthis.timeSigNumSet = true;\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tthis.logger.warn('unexpected time signature Y:', term.y);\n\t\t\t\t}\n\t\t\t\tthis.doubtingTimesig = this.partialTimeSignature;\n\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tresetMeasure() {\n\t\tthis.alters = [];\n\n\t\tthis.timeSigNumSet = false;\n\t\tthis.timeSigDenSet = false;\n\t}\n\n\tresetSystem() {\n\t\tthis.keyAlters = [];\n\t}\n\n\tget keySignature(): number {\n\t\treturn this.keyAlters.filter((a) => Number.isInteger(a)).reduce((sum, a) => sum + a, 0);\n\t}\n\n\tget partialTimeSignature(): boolean {\n\t\treturn !this.timeSigNumSet !== !this.timeSigDenSet;\n\t}\n\n\tnoteToY(note: number): number {\n\t\treturn -note / 2 - this.clef - this.octaveShift * 3.5;\n\t}\n\n\tpitchToNote(pitch: number, { preferredAlter = null } = {}): { note: number; alter: number } {\n\t\tif (!preferredAlter) preferredAlter = this.keySignature < 0 ? -1 : 1;\n\n\t\tconst group = Math.floor((pitch - MIDDLE_C) / 12);\n\t\tconst gp = mod12(pitch);\n\t\tconst alteredGp = GROUP_N_TO_PITCH.includes(gp) ? gp : mod12(gp - preferredAlter);\n\t\tconst gn = GROUP_N_TO_PITCH.indexOf(alteredGp);\n\t\tthis.logger.assert(gn >= 0, 'invalid preferredAlter:', pitch, preferredAlter, alteredGp);\n\n\t\tconst naturalNote = group * 7 + gn;\n\n\t\tconst alterValue = gp - alteredGp;\n\t\tconst keyAlterValue = this.keyAlters[gn] || 0;\n\t\tconst onAcc = Number.isInteger(this.alters[naturalNote]);\n\n\t\tconst alter = onAcc ? alterValue : alterValue === keyAlterValue ? null : alterValue;\n\n\t\treturn { note: naturalNote, alter };\n\t}\n\n\tpitchToY(pitch: number, { preferredAlter = null } = {}): { y: number; alter: number } {\n\t\tconst { note, alter } = this.pitchToNote(pitch, { preferredAlter });\n\t\tconst y = this.noteToY(note);\n\n\t\treturn { y, alter };\n\t}\n\n\tyToNote(y: number): number {\n\t\tthis.logger.assert(Number.isInteger(y * 2), 'invalid y:', y);\n\n\t\treturn (-y - this.octaveShift * 3.5 - this.clef) * 2;\n\t}\n\n\talterOnNote(note: number): number {\n\t\tif (Number.isInteger(this.alters[note])) return this.alters[note];\n\n\t\tconst gn = mod7(note);\n\t\tif (Number.isInteger(this.keyAlters[gn])) return this.keyAlters[gn];\n\n\t\treturn 0;\n\t}\n\n\tnoteToPitch(note: number): number {\n\t\tconst group = Math.floor(note / 7);\n\t\tconst gn = mod7(note);\n\n\t\tconst pitch = MIDDLE_C + group * 12 + GROUP_N_TO_PITCH[gn] + this.alterOnNote(note);\n\t\tif (!Number.isFinite(pitch)) {\n\t\t\tthis.logger.warn('invalid pitch value:', pitch, note, group, gn);\n\t\t\treturn -1;\n\t\t}\n\n\t\treturn pitch;\n\t}\n\n\tyToPitch(y: number): number {\n\t\treturn this.noteToPitch(this.yToNote(y));\n\t}\n\n\tyToPitchName(y: number): string {\n\t\tconst note = this.yToNote(y);\n\t\tconst group = Math.floor(note / 7);\n\t\tconst gn = mod7(note);\n\n\t\tlet alter = this.alterOnNote(note);\n\t\tif (!alter && !Number.isInteger(this.alters[note])) alter = null;\n\n\t\treturn `${ALTER_NAMES[alter] ? ALTER_NAMES[alter] : ''}${PHONETS[gn]}${group + 4}`;\n\t}\n}\n","import sha1 from 'js-sha1';\n\nimport * as measureLayout from '../measureLayout';\nimport * as staffLayout from '../staffLayout';\nimport { SimpleClass } from './aux_/typedJSON';\nimport { EventSystem, MeasureBrief, MusicSheet, RecognitionSettings, ScoreData, TermMeasure, TermStaff, VoicesStaff } from './interfaces';\nimport { DummyLogger, Logger } from './logger';\nimport { evaluateMeasure } from './measureEvaluator';\nimport { PatchMeasure } from './patch';\nimport { Measure, Page, Staff, System } from './scoreComponents';\nimport { hashSemanticPoint, SemanticPoint, SemanticType } from './semanticPoint';\nimport { BOS_ELEMENT, fractionToElems, SemanticCluster, SemanticElement, SemanticElementType } from './semanticTopology';\nimport { Spartito, SpartitoMeasure } from './spartito';\nimport StaffContext from './staffContext';\nimport { ContextedTerm, ContextType, EventTerm, WHOLE_DURATION } from './term';\nimport type { SemanticPointInMeasure } from './timewiseGraph';\nimport { TimewiseGraph } from './timewiseGraph';\nimport { Token, TokenType } from './token';\nimport { distance2D, solveOverlapping } from './utils';\n\nexport const VERSION = 14;\n\ninterface Topology {\n\tclusters: SemanticCluster[];\n}\n\ninterface PaperOptions {\n\traggedLast: boolean;\n\traggedBottom: boolean;\n\traggedLastBottom: boolean;\n}\n\nconst GRAND_STAFF_LAYOUT = '{-}';\n\nconst processStaffContext = (staff: TermStaff, logger: Logger = new DummyLogger()): void => {\n\tconst context = new StaffContext();\n\tcontext.logger = logger;\n\n\tfor (const row of staff.rows) {\n\t\tfor (const measure of row) {\n\t\t\tconst startEvent = measure.terms.find((term) => term instanceof EventTerm) as EventTerm;\n\t\t\tlet tick = startEvent ? Math.min(startEvent.tick, 0) : 0;\n\n\t\t\tmeasure.terms.forEach((term) => {\n\t\t\t\tif (term instanceof ContextedTerm) {\n\t\t\t\t\tterm.tick = tick; // TODO: not working here because measure not regulated yet\n\t\t\t\t\tcontext.change(term);\n\t\t\t\t} else if (term instanceof EventTerm) {\n\t\t\t\t\tconst endTick = term.tick + (term.duration || 0);\n\t\t\t\t\tif (endTick > tick) tick = endTick;\n\n\t\t\t\t\tif (term.ys) {\n\t\t\t\t\t\tterm.pitches = term.ys.map((y) => {\n\t\t\t\t\t\t\tconst note = context.yToNote(y);\n\t\t\t\t\t\t\tconst alter = context.alterOnNote(note);\n\n\t\t\t\t\t\t\treturn { note, alter, octaveShift: context.octaveShift };\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tmeasure.timeSignature = { ...context.timeSignature };\n\t\t\tmeasure.timeSigNumeric = context.timeSigNumeric;\n\t\t\tmeasure.doubtfulTimesig =\n\t\t\t\tcontext.doubtingTimesig ||\n\t\t\t\t!Number.isInteger(Math.log2(measure.timeSignature.denominator)) ||\n\t\t\t\tmeasure.timeSignature.numerator <= measure.timeSignature.denominator / 4;\n\n\t\t\tmeasure.keySignature = context.keySignature;\n\n\t\t\t// fill empty measure duration\n\t\t\tif (measure.duration === 0) measure.duration = (WHOLE_DURATION * measure.timeSignature.numerator) / measure.timeSignature.denominator;\n\n\t\t\tcontext.resetMeasure();\n\t\t}\n\n\t\tcontext.resetSystem();\n\t}\n};\n\nconst upgradeScoreData = (data: ScoreData): ScoreData => {\n\tif (data.version < 3) {\n\t\tconst { version, stavesCount, layoutTemplate, ...fields } = data;\n\t\tvoid version;\n\t\tvoid layoutTemplate;\n\n\t\tlet staffLayoutCode =\n\t\t\tstavesCount > 1\n\t\t\t\t? Array(stavesCount - 1)\n\t\t\t\t\t\t.fill(',')\n\t\t\t\t\t\t.join('')\n\t\t\t\t: '';\n\n\t\t// use graph staff by default for 2 staves score\n\t\tif (stavesCount === 2) staffLayoutCode = '{-}';\n\n\t\tdata = {\n\t\t\tversion: 3,\n\t\t\tstaffLayoutCode,\n\t\t\t...fields,\n\t\t};\n\t}\n\n\tif (data.version < 8) {\n\t\t// upgrade system measure bar semantics\n\t\tdata.pages.forEach((page) => {\n\t\t\tpage.systems.forEach((system) => {\n\t\t\t\tif (system.semantics) {\n\t\t\t\t\tconst bars = system.semantics.filter((point) => point.semantic === SemanticType.vline_BarMeasure);\n\n\t\t\t\t\tsystem.semantics = [].concat(\n\t\t\t\t\t\t...system.staves.map((staff) => {\n\t\t\t\t\t\t\tconst oy = staff.top + staff.staffY;\n\n\t\t\t\t\t\t\treturn bars.map((point) => ({\n\t\t\t\t\t\t\t\t...point,\n\t\t\t\t\t\t\t\ty: point.y + oy,\n\t\t\t\t\t\t\t\textension: {\n\t\t\t\t\t\t\t\t\t...point.extension,\n\t\t\t\t\t\t\t\t\ty1: point.extension.y1 + oy,\n\t\t\t\t\t\t\t\t\ty2: point.extension.y2 + oy,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t})\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\tdata.version = 8;\n\t}\n\n\tif (data.version < 9) {\n\t\t// remove old format spartito\n\t\tdata.spartito = null;\n\n\t\tdata.version = 9;\n\t}\n\n\treturn data;\n};\n\nconst bitsToMask = (bits: number[]): number => bits.reduce((mask, bit, i) => (bit ? mask | (1 << i) : mask), 0);\n\ninterface PointPosition {\n\tpoint: SemanticPoint;\n\tpageIndex: number;\n\tsystemIndex: number;\n\tstaffIndex: number;\n}\n\ninterface MeasureValidation {\n\ttickMap: { [tick: number]: number };\n}\n\ninterface Size {\n\twidth: number;\n\theight: number;\n}\n\nclass Score extends SimpleClass {\n\tstatic className = 'Score';\n\n\tversion = VERSION;\n\n\ttitle: string;\n\t// in pixels\n\tpageSize: Size;\n\tunitSize: number;\n\tstaffLayoutCode: string;\n\n\tpaperOptions?: Partial;\n\n\theaders: { [key: string]: string };\n\n\ttextAnnotations: { [id: string]: string };\n\n\ttags?: string[];\n\n\tinstrumentDict: { [key: string]: string };\n\n\tpages: Page[];\n\ttopology: Topology;\n\tspartito?: Spartito;\n\n\tpatches?: PatchMeasure[];\n\n\tsettings: RecognitionSettings;\n\n\tconstructor(data: ScoreData) {\n\t\tsuper();\n\t\tsuper.assign(upgradeScoreData(data));\n\n\t\tthis.pages = this.pages || [];\n\t\tthis.headers = this.headers || {};\n\t\tthis.instrumentDict = this.instrumentDict || {};\n\n\t\tthis.pageSize = this.pageSize || {\n\t\t\t// A4 paper\n\t\t\twidth: 794,\n\t\t\theight: 1122,\n\t\t};\n\n\t\tthis.unitSize = this.unitSize || null;\n\n\t\tthis.staffLayoutCode = this.staffLayoutCode || (this.maxStavesCount === 2 ? GRAND_STAFF_LAYOUT : Array(this.maxStavesCount).fill('').join(','));\n\t}\n\n\tget systems(): System[] {\n\t\treturn [].concat(...this.pages.map((page) => page.systems));\n\t}\n\n\tget measureCount(): number {\n\t\treturn this.systems.reduce((sum, system) => sum + (system.measureCount || 0), 0);\n\t}\n\n\tget imageKeys(): string[] {\n\t\treturn [\n\t\t\t...this.pages.map((page) => page.source?.url),\n\t\t\t...this.systems.map((system) => system.backgroundImage),\n\t\t\t...[].concat(\n\t\t\t\t...this.systems.map((system) =>\n\t\t\t\t\t[...system.staves.map((staff) => staff.backgroundImage), ...system.staves.map((staff) => staff.maskImage)].filter(Boolean)\n\t\t\t\t)\n\t\t\t),\n\t\t].filter(Boolean);\n\t}\n\n\tget breakSystemIndices(): number[] {\n\t\tconst indices = [];\n\t\tlet systemCount = 0;\n\t\tthis.pages.forEach((page, i) => {\n\t\t\tif (i < this.pages.length - 1) {\n\t\t\t\tsystemCount += page.systems.length;\n\t\t\t\tindices.push(systemCount - 1);\n\t\t\t}\n\t\t});\n\n\t\treturn indices;\n\t}\n\n\tget staffLayout(): staffLayout.StaffLayout {\n\t\treturn staffLayout.parseCode(this.staffLayoutCode);\n\t}\n\n\tget measureLayoutCode(): string {\n\t\treturn this.spartito?.measureLayoutCode;\n\t}\n\n\tget maxStavesCount(): number {\n\t\treturn Math.max(...this.systems.map((system) => system.staves.length), 0);\n\t}\n\n\tget sidBlackList(): Set {\n\t\tconst ids = [].concat(...this.systems.map((system) => system.sidBlackList));\n\n\t\treturn new Set(ids);\n\t}\n\n\tget sidWhiteList(): Set {\n\t\tconst ids = [].concat(...this.systems.map((system) => system.sidWhiteList));\n\n\t\treturn new Set(ids);\n\t}\n\n\tget semanticHash(): string {\n\t\tconst ids = [].concat(\n\t\t\t...this.systems.map((system) =>\n\t\t\t\t[].concat(...system.staves.map((staff) => (staff.semantics ? system.qualifiedSemantics(staff.semantics).map((s) => s.id) : [])))\n\t\t\t)\n\t\t);\n\t\treturn sha1(ids.join(''));\n\t}\n\n\teventSystemsToTermStaves(eventSystems: EventSystem[], logger: Logger = new DummyLogger()): TermStaff[] {\n\t\t// [staff]\n\t\tconst termStaves: TermStaff[] = Array(this.maxStavesCount)\n\t\t\t.fill(null)\n\t\t\t.map((_, staffIndex): TermStaff => {\n\t\t\t\treturn {\n\t\t\t\t\t// [system, measure]\n\t\t\t\t\trows: eventSystems.map((sys, i) =>\n\t\t\t\t\t\tsys.columns.map((column, ii): TermMeasure => {\n\t\t\t\t\t\t\tconst measure = column.rows[staffIndex];\n\t\t\t\t\t\t\tconsole.assert(measure, '[eventSystemsToTermStaves] measure is null:', staffIndex, column.rows);\n\n\t\t\t\t\t\t\tconst contexts = measure.contexts;\n\n\t\t\t\t\t\t\t// prepend octave shift 0 at begin of every system\n\t\t\t\t\t\t\tif (ii === 0) {\n\t\t\t\t\t\t\t\tif (!contexts.some((term) => term.type === ContextType.OctaveShift)) {\n\t\t\t\t\t\t\t\t\tcontexts.unshift(\n\t\t\t\t\t\t\t\t\t\tnew ContextedTerm({\n\t\t\t\t\t\t\t\t\t\t\tstaff: staffIndex,\n\t\t\t\t\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\t\t\t\t\ttokenType: TokenType.OctaveShift0,\n\t\t\t\t\t\t\t\t\t\t\ttick: 0,\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst terms = [...(measure.events || []), ...contexts].sort((t1, t2) => t1.x - t2.x);\n\n\t\t\t\t\t\t\tconst pageBreak = staffIndex === 0 && ii === sys.columns.length - 1 && this.breakSystemIndices.includes(i);\n\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tterms,\n\t\t\t\t\t\t\t\t//xToTick: column.xToTick,\n\t\t\t\t\t\t\t\tduration: column.duration,\n\t\t\t\t\t\t\t\tpageBreak,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t})\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t});\n\t\ttermStaves.forEach((staff) => processStaffContext(staff, logger));\n\n\t\treturn termStaves;\n\t}\n\n\tresetPageLayout(parameters: { unitSize?: number; pageSize?: Size }) {\n\t\tconst { unitSize = this.unitSize, pageSize = this.pageSize } = parameters;\n\n\t\tconst newCenter = {\n\t\t\tx: (pageSize.width * 0.5) / unitSize,\n\t\t\ty: (pageSize.height * 0.5) / unitSize,\n\t\t};\n\n\t\tthis.pages.forEach((page) => {\n\t\t\tconst offsetX = newCenter.x - page.width / 2;\n\t\t\tconst offsetY = newCenter.y - page.height / 2;\n\n\t\t\tpage.systems.forEach((system) => {\n\t\t\t\tsystem.left += offsetX;\n\t\t\t\tsystem.top += offsetY;\n\t\t\t});\n\n\t\t\tif (page.semantics) {\n\t\t\t\tpage.semantics.forEach((point) => {\n\t\t\t\t\tpoint.x += offsetX;\n\t\t\t\t\tpoint.y += offsetY;\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tpage.width = pageSize.width / unitSize;\n\t\t\tpage.height = pageSize.height / unitSize;\n\n\t\t\tpage.assemble({ textAnnotations: this.textAnnotations });\n\t\t});\n\n\t\tthis.unitSize = unitSize;\n\t\tthis.pageSize = pageSize;\n\t}\n\n\tgetMeasure(measureIndex: number): {\n\t\tmeasureIndex: number;\n\t\tsystem: System;\n\t\tlocalIndex: number;\n\t\tleft: number;\n\t\tright: number;\n\t\tmeasures: Measure[];\n\t} {\n\t\tlet index = measureIndex;\n\t\tfor (const system of this.systems) {\n\t\t\tif (index < system.measureCount) {\n\t\t\t\tconst staff = system.staves[0];\n\t\t\t\tconst measure = staff.measures[index];\n\t\t\t\tconsole.assert(measure, 'measure is null:', system.measureCount, index, staff.measures);\n\t\t\t\tconst measures = system.getStaffArray(this.maxStavesCount).map((staff) => staff && staff.measures[index]);\n\n\t\t\t\treturn {\n\t\t\t\t\tmeasureIndex,\n\t\t\t\t\tsystem,\n\t\t\t\t\tlocalIndex: index,\n\t\t\t\t\tleft: measure.left,\n\t\t\t\t\tright: measure.right,\n\t\t\t\t\tmeasures,\n\t\t\t\t};\n\t\t\t}\n\t\t\tindex -= system.measureCount;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tgetRawCluster(measureIndex: number, threshold: number, { timeSignature }: Partial = {}): SemanticCluster {\n\t\tconst position = this.getMeasure(measureIndex);\n\t\tif (!position) return null;\n\n\t\tconst { system, left, right } = position;\n\t\t//console.log(\"measure:\", system, left, right);\n\n\t\tconst elements: SemanticElement[] = [BOS_ELEMENT];\n\n\t\tif (timeSignature) elements.push(...fractionToElems(timeSignature));\n\n\t\tconst systemY0 = system.staves[0].top + system.staves[0].staffY - 2;\n\n\t\tsystem.staves.forEach((staff) => {\n\t\t\tlet points = system.qualifiedSemantics(staff.semantics, threshold).filter((point) => point.x > left && point.x < right);\n\t\t\tpoints = solveOverlapping(points);\n\n\t\t\t// exlude tempo noteheads\n\t\t\tconst tempoNhs = points.filter((point) => point.semantic === SemanticType.TempoNotehead);\n\t\t\ttempoNhs.forEach((tempoNh) => {\n\t\t\t\tconst index = points.findIndex((point) => /^Notehead/.test(point.semantic) && distance2D(tempoNh, point) < 0.3);\n\t\t\t\tif (index >= 0) points.splice(index, 1);\n\t\t\t});\n\n\t\t\tconst y0 = staff.top + staff.staffY - systemY0;\n\n\t\t\tpoints.forEach((point) => {\n\t\t\t\tconst type = SemanticElementType[point.semantic];\n\t\t\t\tif (type) {\n\t\t\t\t\tlet y1 = point.y;\n\t\t\t\t\tlet y2 = point.y;\n\t\t\t\t\tif (type === SemanticElementType.vline_Stem) {\n\t\t\t\t\t\ty1 = point.extension.y1;\n\t\t\t\t\t\ty2 = point.extension.y2;\n\t\t\t\t\t}\n\n\t\t\t\t\telements.push({\n\t\t\t\t\t\tid: point.id,\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\tstaff: staff.index,\n\t\t\t\t\t\tx: point.x - left,\n\t\t\t\t\t\ty1: y1 + y0,\n\t\t\t\t\t\ty2: y2 + y0,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\treturn new SemanticCluster({\n\t\t\tindex: measureIndex,\n\t\t\telements,\n\t\t});\n\t}\n\n\tgetRawClusters(threshold: number = 1): SemanticCluster[] {\n\t\t//const times = this.getMeasuresTime();\n\n\t\treturn Array(this.measureCount)\n\t\t\t.fill(null)\n\t\t\t.map((_, mi) => this.getRawCluster(mi, threshold /*, times[mi]*/));\n\t}\n\n\tmakeSpartito(logger: Logger = new DummyLogger()): Spartito {\n\t\tlet eventSystems: EventSystem[] = this.systems.map((system) => system.getEvents(this.maxStavesCount));\n\n\t\t/*if (this.topology) {\n\t\t\tconst clusters = this.topology.clusters;\n\n\t\t\t// [measure, staff, event]\n\t\t\tconst eventsColumns: ChordColumn[][][] = clusters\n\t\t\t\t.filter((cluster) => cluster.index < this.measureCount)\n\t\t\t\t.reduce((columns, cluster) => {\n\t\t\t\t\tconst { system, measures } = this.getMeasure(cluster.index);\n\t\t\t\t\tconst events = cluster.getEvents();\n\n\t\t\t\t\tconst systemY0 = system.staves[0].top + system.staves[0].staffY - 2;\n\t\t\t\t\tconst x0 = measures.filter(Boolean)[0].left;\n\n\t\t\t\t\tconst staves = system.getStaffArray(this.maxStavesCount);\n\n\t\t\t\t\t// translate by staff & measure relative offset\n\t\t\t\t\tevents.forEach((event) => {\n\t\t\t\t\t\tconst staff = staves[event.staff];\n\t\t\t\t\t\tconst y0 = staff.top + staff.staffY - systemY0;\n\t\t\t\t\t\tevent.ys = event.ys.map((y) => roundNumber(y - y0, 0.5));\n\n\t\t\t\t\t\tevent.left += x0;\n\t\t\t\t\t\tevent.right += x0;\n\t\t\t\t\t});\n\n\t\t\t\t\tconst column = measures.map((measure, staffIndex) => {\n\t\t\t\t\t\tif (!measure) return [];\n\n\t\t\t\t\t\t//console.log(\"m:\", mi, \"s:\", staffIndex);\n\t\t\t\t\t\tconst localEvents = events.filter((event) => event.staff === staffIndex);\n\t\t\t\t\t\t//measure.assignModifiersOnEvents(localEvents);\n\t\t\t\t\t\tmeasure.assignAccessoriesOnEvents(localEvents);\n\n\t\t\t\t\t\treturn localEvents;\n\t\t\t\t\t});\n\n\t\t\t\t\tcolumns[cluster.index] = column;\n\n\t\t\t\t\treturn columns;\n\t\t\t\t}, []);\n\n\t\t\tconst breakSystemIndices = this.breakSystemIndices;\n\n\t\t\tconst basicEventSystems = eventSystems;\n\t\t\teventSystems = [];\n\n\t\t\tlet measures = 0;\n\t\t\tfor (const system of this.systems) {\n\t\t\t\tconst esys = system.getEventsFunctional(this.maxStavesCount, (si, mi) => eventsColumns[measures + mi] && eventsColumns[measures + mi][si], [], {\n\t\t\t\t\tuseXMap: false,\n\t\t\t\t});\n\n\t\t\t\tconst basicSys = basicEventSystems[system.index];\n\t\t\t\t//onst nullN = esys.columns.filter(c => !c).length;\n\t\t\t\t//if (nullN)\n\t\t\t\t//\tconsole.log(\"null:\", nullN, esys.columns.length);\n\t\t\t\tesys.columns = esys.columns.map((column, i) => (column ? column : basicSys.columns[i]));\n\n\t\t\t\tconst sysIndex = this.systems.indexOf(system);\n\t\t\t\tconst pageBreak = breakSystemIndices.includes(sysIndex);\n\t\t\t\tconst lastColumn = esys.columns[esys.columns.length - 1];\n\t\t\t\tif (lastColumn) {\n\t\t\t\t\tlastColumn.break = true;\n\t\t\t\t\tlastColumn.pageBreak = pageBreak;\n\t\t\t\t}\n\n\t\t\t\teventSystems.push(esys);\n\t\t\t\tmeasures += system.measureCount;\n\t\t\t}\n\t\t}*/\n\n\t\tconst staves = this.eventSystemsToTermStaves(eventSystems, logger);\n\n\t\t// assign staff basics for columns\n\t\teventSystems.forEach((sys, ri) => {\n\t\t\tsys.columns.forEach((column, mi) => {\n\t\t\t\tcolumn.basics = staves.map((staff) => {\n\t\t\t\t\tconst { timeSignature, timeSigNumeric, keySignature, doubtfulTimesig } = staff.rows[ri][mi];\n\n\t\t\t\t\treturn { timeSignature, timeSigNumeric, keySignature, doubtfulTimesig };\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\n\t\tconst clusters = null; //this.topology && this.topology.clusters;\n\n\t\tconst measures = [].concat(\n\t\t\t...eventSystems.map((esys) =>\n\t\t\t\tesys.columns.map((column) => {\n\t\t\t\t\tconst measureIndex = column.measureIndex;\n\t\t\t\t\tconst { system, localIndex, left, right } = this.getMeasure(measureIndex);\n\n\t\t\t\t\tconst cluster = clusters && clusters.find((cluster) => cluster.index === measureIndex);\n\n\t\t\t\t\tconst staffYsFull = [];\n\t\t\t\t\tsystem.staves.forEach((staff) => (staffYsFull[staff.index] = staff.top + staff.staffY));\n\n\t\t\t\t\tconst patch = this.patches && this.patches.find((patch) => patch.measureIndex === measureIndex);\n\t\t\t\t\tconst events = patch ? patch.events : SpartitoMeasure.reorderEvents([].concat(...column.rows.map((row) => row.events)), staffYsFull);\n\n\t\t\t\t\tconst barTypes = Object.fromEntries(Object.entries(column.barTypes).map(([k, v]) => [k, v / system.staves.length]));\n\t\t\t\t\tconst indent = localIndex === 0 && system.indent;\n\n\t\t\t\t\treturn new SpartitoMeasure({\n\t\t\t\t\t\tmeasureIndex,\n\t\t\t\t\t\tstaffMask: esys.staffMask,\n\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\tsystemIndex: system.index,\n\t\t\t\t\t\t\tlocalIndex,\n\t\t\t\t\t\t\tleft,\n\t\t\t\t\t\t\tright,\n\t\t\t\t\t\t\tstaffYs: system.staves.map((staff) => staff.top + staff.staffY),\n\t\t\t\t\t\t\tstaffYsFull,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t//startX: column.startX,\n\t\t\t\t\t\t//width: column.width,\n\t\t\t\t\t\tduration: patch ? patch.duration : column.duration,\n\t\t\t\t\t\tevents,\n\t\t\t\t\t\tcontexts: column.rows.map((row) => row.contexts),\n\t\t\t\t\t\tmarks: column.marks,\n\t\t\t\t\t\tbreak: column.break,\n\t\t\t\t\t\tpageBreak: column.pageBreak,\n\t\t\t\t\t\tvoltaBegin: column.voltaBegin,\n\t\t\t\t\t\tvoltaEnd: column.voltaEnd,\n\t\t\t\t\t\talternative: column.alternative,\n\t\t\t\t\t\tbarTypes,\n\t\t\t\t\t\tindent,\n\t\t\t\t\t\tbasics: patch ? patch.basics : column.basics,\n\t\t\t\t\t\tmatrixH: cluster && cluster.matrixH,\n\t\t\t\t\t\tmatrixV: cluster && cluster.matrixV,\n\t\t\t\t\t\tvoices: patch ? patch.voices : null,\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t)\n\t\t);\n\n\t\tconst staffLayout = this.staffLayout;\n\t\tconst staffGroups = staffLayout.standaloneGroups.map((ids) => ids.map((id) => staffLayout.staffIds.indexOf(id)));\n\n\t\tthis.spartito = new Spartito({\n\t\t\tstavesCount: this.maxStavesCount,\n\t\t\tstaffGroups,\n\t\t\tmeasures,\n\t\t});\n\n\t\treturn this.spartito;\n\t}\n\n\tmakeMusicSheet(): MusicSheet {\n\t\tconst spartito = this.spartito || this.makeSpartito();\n\n\t\tif (!spartito.regulated) console.warn('[makeMusicSheet]\tspartito not regulated.');\n\n\t\tconst voiceStaves = spartito.makeVoiceStaves();\n\n\t\tconst { title, pageSize, unitSize, staffLayout, paperOptions, headers, instrumentDict } = this;\n\t\tconst measureLayout = this.getMeasureLayout();\n\n\t\treturn {\n\t\t\ttitle,\n\t\t\tpageSize,\n\t\t\tunitSize,\n\t\t\tmeasureLayout,\n\t\t\tstaffLayout,\n\t\t\tpaperOptions,\n\t\t\theaders,\n\t\t\tvoiceStaves,\n\t\t\tinstrumentDict,\n\t\t};\n\t}\n\n\tfindPoint(sid: string): PointPosition {\n\t\tfor (const system of this.systems) {\n\t\t\tfor (let si = 0; si < system.staves.length; ++si) {\n\t\t\t\tconst point = system.staves[si].semantics.find((point) => point.id === sid);\n\t\t\t\tif (point) {\n\t\t\t\t\tconst pageIndex = this.pages.findIndex((page) => page.systems.includes(system));\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tpoint,\n\t\t\t\t\t\tpageIndex,\n\t\t\t\t\t\tsystemIndex: system.index,\n\t\t\t\t\t\tstaffIndex: si,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tgetMeasureSemantics(systemIndex: number, localIndex: number): SemanticPointInMeasure[] {\n\t\tconst system = this.systems[systemIndex];\n\t\tif (!system) return null;\n\n\t\tconst left = localIndex ? system.measureBars[localIndex - 1] : 0;\n\t\tconst right = system.measureBars[localIndex] || system.width;\n\n\t\treturn system.staves\n\t\t\t.map((staff, si) => {\n\t\t\t\tconst staffY = staff.top + staff.staffY;\n\t\t\t\treturn staff.semantics\n\t\t\t\t\t.filter((point) => point.x >= left && point.x < right)\n\t\t\t\t\t.map((point) => {\n\t\t\t\t\t\tconst [y1, y2] = Number.isFinite(point.extension?.y1) ? [point.extension.y1, point.extension.y2] : [point.y, point.y];\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...point,\n\t\t\t\t\t\t\tstaff: si,\n\t\t\t\t\t\t\tsy1: y1 + staffY,\n\t\t\t\t\t\t\tsy2: y2 + staffY,\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t})\n\t\t\t.flat(1);\n\t}\n\n\tmakeTimewiseGraph({ store = false }: { store?: boolean } = {}): TimewiseGraph {\n\t\tif (!this.spartito) return null;\n\n\t\tconst measures = this.spartito.measures\n\t\t\t.filter((measure) => measure.events.length > 0)\n\t\t\t.map((measure) => {\n\t\t\t\tconst points = this.getMeasureSemantics(measure.position.systemIndex, measure.position.localIndex);\n\n\t\t\t\tconst graph = {\n\t\t\t\t\tmeasureIndex: measure.measureIndex,\n\t\t\t\t\tleft: measure.position.left,\n\t\t\t\t\tright: measure.position.right,\n\t\t\t\t\tpoints,\n\t\t\t\t};\n\n\t\t\t\tif (store) measure.graph = graph;\n\n\t\t\t\treturn graph;\n\t\t\t});\n\n\t\treturn { measures };\n\t}\n\n\tgetTokenMap(): Map {\n\t\tconst map = new Map();\n\n\t\tthis.systems.forEach((system) =>\n\t\t\tsystem.staves.forEach((staff) => staff.measures.forEach((measure) => measure.tokens.forEach((token) => map.set(token.id, token))))\n\t\t);\n\n\t\treturn map;\n\t}\n\n\tassemble(confidenceThreshold: number = 1, logger: Logger = new DummyLogger()) {\n\t\tconst ids = new Map();\n\n\t\tconst append = (systemIndex, staffIndex, point) => {\n\t\t\tconst id = hashSemanticPoint(systemIndex, staffIndex, point);\n\t\t\tlogger.assert(!ids.has(id), 'semantic point hash conflicted:', id, point, ids.get(id));\n\n\t\t\tids.set(id, point);\n\t\t};\n\n\t\tthis.pages.forEach((page, index) => (page.index = index));\n\n\t\tlet measureIndex = 0;\n\t\tthis.systems.forEach((system, systemIndex) => {\n\t\t\tsystem.index = systemIndex;\n\t\t\tsystem.headMeasureIndex = measureIndex;\n\t\t\tsystem.prev = this.systems[systemIndex - 1] || null;\n\t\t\tsystem.next = this.systems[systemIndex + 1] || null;\n\n\t\t\tif (system.semantics && system.semantics.length) system.semantics.forEach((point) => append(systemIndex, null, point));\n\n\t\t\tsystem.assemble(confidenceThreshold, logger);\n\t\t\tmeasureIndex += system.measureCount;\n\t\t});\n\n\t\tthis.pages.forEach((page, i) => {\n\t\t\tpage.systems.forEach((system) => (system.pageIndex = i));\n\t\t\tpage.assemble({ textAnnotations: this.textAnnotations }, logger);\n\t\t});\n\t}\n\n\tassembleSystem(system: System, confidenceThreshold: number = 1) {\n\t\tthis.systems.forEach((system, si) => (system.index = si));\n\t\tconst systemIndex = system.index;\n\n\t\tif (system.semantics && system.semantics.length) {\n\t\t\tsystem.semantics.forEach((point) => hashSemanticPoint(systemIndex, null, point));\n\t\t\tsystem.assemble(confidenceThreshold);\n\t\t}\n\t}\n\n\tmarkVoices(staves: VoicesStaff[]): void {\n\t\tconst tokenMap = this.getTokenMap();\n\t\tfor (const token of tokenMap.values()) token.voice = 0;\n\n\t\tconst vis = []\n\t\t\t.concat(...staves.map((staff, s) => (staff.voices || []).map((_, v) => [s, v])))\n\t\t\t.sort(([s1, v1], [s2, v2]) => v1 - v2 || s1 - s2)\n\t\t\t.map(([s, v]) => `${s}|${v}`);\n\n\t\tstaves.forEach((staff, si) =>\n\t\t\t(staff.voices || []).forEach((voice, vi) =>\n\t\t\t\tvoice.measures.forEach((measure) => {\n\t\t\t\t\tconst voiceIndex = vis.indexOf(`${si}|${vi}`);\n\n\t\t\t\t\tconst events = Object.values(measure.tickMap).filter((event) => event instanceof EventTerm) as EventTerm[];\n\t\t\t\t\tevents.forEach((event) => {\n\t\t\t\t\t\tconst notes = event.noteIds ? event.noteIds.map((id) => tokenMap.get(id)).filter(Boolean) : [];\n\t\t\t\t\t\tconst accessories = event.accessories ? event.accessories.map((acc) => tokenMap.get(acc.id)).filter(Boolean) : [];\n\t\t\t\t\t\t//console.log(\"notes:\", si, vi, mi, event.noteIds, notes, accessories);\n\n\t\t\t\t\t\t[...notes, ...accessories].forEach((token) => (token.voice |= 1 << voiceIndex));\n\n\t\t\t\t\t\tif (event.timeWarp) notes.forEach((note) => (note.timeWarped = true));\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t)\n\t\t);\n\t}\n\n\tasync replaceImageKeys(proc: (x: string | Buffer) => Promise): Promise {\n\t\tawait Promise.all([\n\t\t\t...(this.pages.map(async (page) => {\n\t\t\t\tif (page.source) page.source.url = await proc(page.source.url);\n\t\t\t}) as Promise[]),\n\t\t\t...this.systems.map((system) =>\n\t\t\t\tPromise.all([\n\t\t\t\t\tproc(system.backgroundImage).then((key) => (system.backgroundImage = key)),\n\t\t\t\t\t...(system.staves.map(async (staff) => {\n\t\t\t\t\t\tstaff.backgroundImage = await proc(staff.backgroundImage);\n\t\t\t\t\t\tstaff.maskImage = await proc(staff.maskImage);\n\t\t\t\t\t}) as Promise[]),\n\t\t\t\t])\n\t\t\t),\n\t\t]);\n\t}\n\n\tinferenceStaffLayout(): void {\n\t\t// inference the complete layout\n\t\tconst staffTotal = Math.max(...this.systems.map((system) => system.staves.length), 0);\n\t\tthis.staffLayoutCode = Array(staffTotal).fill('').join(',');\n\n\t\tconst completeSystems = this.systems.filter((system) => system.staves.length === staffTotal && system.bracketsAppearance);\n\t\tif (!completeSystems.length) return; // no enough evidence\n\n\t\tconst candidateCodes = completeSystems\n\t\t\t.map((system) => {\n\t\t\t\ttry {\n\t\t\t\t\tconst layout = staffLayout.parseCode(system.bracketsAppearance);\n\t\t\t\t\tif (layout.staffIds.length !== system.staves.length) return null;\n\n\t\t\t\t\treturn system.bracketsAppearance;\n\t\t\t\t} catch (_) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t})\n\t\t\t.filter(Boolean);\n\t\tif (!candidateCodes.length) return; // no valid layout\n\n\t\tconst codeCounting = candidateCodes.reduce((acc, code) => {\n\t\t\tconst count = acc[code] || 0;\n\t\t\tacc[code] = count + 1;\n\t\t\treturn acc;\n\t\t}, {} as { [code: string]: number });\n\t\tconst maxCount = Math.max(...Object.values(codeCounting));\n\t\tconst code = Object.entries(codeCounting).find(([_, count]) => count === maxCount)[0];\n\n\t\t// added connection lines between braces {-}\n\t\tconst connectedCode = code.replace(/\\{,*\\}/g, (match) => match.replace(/,/g, '-'));\n\t\tconst layout = staffLayout.parseCode(connectedCode);\n\n\t\tthis.staffLayoutCode = connectedCode;\n\t\t//console.log(\"complete code:\", code);\n\n\t\t// inference systems' mask\n\t\tlet lastSys: System = null;\n\t\tfor (const system of this.systems) {\n\t\t\tif (lastSys && system.staves.length === lastSys.staves.length && system.bracketsAppearance === lastSys.bracketsAppearance) {\n\t\t\t\tsystem.staffMaskChanged = null;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (system.staves.length < staffTotal && system.bracketsAppearance) {\n\t\t\t\t// validate the system brackets code\n\t\t\t\ttry {\n\t\t\t\t\tif (!staffLayout.parseCode(system.bracketsAppearance)) continue;\n\t\t\t\t} catch (_) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tconst search = (bits: (0 | 1)[]): number => {\n\t\t\t\t\tif (bits.length > layout.staffIds.length) return null;\n\n\t\t\t\t\tif (bits.reduce((sum, bit) => sum + bit, 0) === system.staves.length) return bitsToMask(bits);\n\n\t\t\t\t\tfor (const bit of [1, 0]) {\n\t\t\t\t\t\tconst bb = [...bits, bit] as (0 | 1)[];\n\t\t\t\t\t\tconst code1 = layout.partialMaskCode(bb);\n\t\t\t\t\t\tif (code1 === system.bracketsAppearance) return bitsToMask(bb);\n\t\t\t\t\t\telse if (system.bracketsAppearance.startsWith(code1)) {\n\t\t\t\t\t\t\tconst result = search(bb);\n\t\t\t\t\t\t\tif (result) return result;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn null;\n\t\t\t\t};\n\t\t\t\tconst mask = search([]);\n\t\t\t\t//console.log(\"mask:\", system.bracketsAppearance, mask.toString(2));\n\n\t\t\t\tsystem.staffMaskChanged = !lastSys || mask !== lastSys.staffMask ? mask : null;\n\t\t\t}\n\n\t\t\tlastSys = system;\n\t\t}\n\t}\n\n\tassignBackgroundForMeasure(measure: SpartitoMeasure): void {\n\t\tmeasure.backgroundImages = [];\n\n\t\tconst system = this.systems[measure.position.systemIndex];\n\t\tif (system.backgroundImage) {\n\t\t\tmeasure.backgroundImages.push({\n\t\t\t\turl: system.backgroundImage,\n\t\t\t\tposition: system.imagePosition,\n\t\t\t\toriginal: true,\n\t\t\t});\n\t\t}\n\n\t\tsystem.staves.forEach((staff) => {\n\t\t\tif (!system.backgroundImage && staff.backgroundImage)\n\t\t\t\tmeasure.backgroundImages.push({\n\t\t\t\t\turl: staff.backgroundImage.toString(),\n\t\t\t\t\tposition: {\n\t\t\t\t\t\t...staff.imagePosition,\n\t\t\t\t\t\ty: staff.imagePosition.y + staff.top,\n\t\t\t\t\t},\n\t\t\t\t\toriginal: true,\n\t\t\t\t});\n\n\t\t\tif (staff.maskImage) {\n\t\t\t\tmeasure.backgroundImages.push({\n\t\t\t\t\turl: staff.maskImage.toString(),\n\t\t\t\t\tposition: {\n\t\t\t\t\t\t...staff.imagePosition,\n\t\t\t\t\t\ty: staff.imagePosition.y + staff.top,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\tblackoutFakeNotes(scope: 'patched' | 'perfect' | 'all' = 'patched'): string[] {\n\t\tif (!this.spartito) return;\n\n\t\tlet inScope = (_) => true;\n\t\tswitch (scope) {\n\t\t\tcase 'patched':\n\t\t\t\tinScope = (measure) => measure.patched;\n\t\t\t\tbreak;\n\t\t\tcase 'perfect':\n\t\t\t\tinScope = (measure) => measure.patched || (measure.regulated && evaluateMeasure(measure).perfect);\n\t\t\t\tbreak;\n\t\t}\n\t\tconst measures = this.spartito.measures.filter(inScope);\n\n\t\tconst fakeIds = measures.reduce((ids, measure) => {\n\t\t\tif (!measure.regulated) return;\n\n\t\t\tconst voicedIds = measure.voices.flat(1);\n\t\t\tconst fakeChords = measure.events.filter((event) => !event.rest && !event.grace && !voicedIds.includes(event.id));\n\n\t\t\tfakeChords.forEach((event) => event.noteIds && ids.push(...event.noteIds));\n\n\t\t\treturn ids;\n\t\t}, [] as string[]);\n\t\tconst fakeIdSet = new Set(fakeIds);\n\n\t\tthis.systems.forEach((system) =>\n\t\t\tsystem.staves.forEach((staff) => {\n\t\t\t\tconst blackIds = staff.semantics.filter((point) => fakeIdSet.has(point.id)).map((point) => point.id);\n\t\t\t\tsystem.sidBlackList.push(...blackIds);\n\t\t\t})\n\t\t);\n\n\t\treturn fakeIds;\n\t}\n\n\tgetMeasureLayout(): measureLayout.MeasureLayout {\n\t\tconst code = this.spartito && this.spartito.measureLayoutCode;\n\t\tif (code) {\n\t\t\ttry {\n\t\t\t\treturn measureLayout.parseCode(code);\n\t\t\t} catch (err) {\n\t\t\t\tconsole.debug('invalid measure layout code:', err);\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\t*splitToSingleScoresGen(): Generator {\n\t\tthis.assemble();\n\t\tconst startSysIndices = this.systems.filter((system) => system.index > 0 && system.indent && system.timeSignatureOnHead).map((system) => system.index);\n\n\t\tif (!startSysIndices.length) {\n\t\t\tyield this.deepCopy();\n\t\t\treturn;\n\t\t}\n\n\t\tconst templateScore = new Score({ ...this, pages: [], topology: undefined, spartito: undefined, patches: undefined });\n\n\t\t// clear temporary objects before deep dopy\n\t\tthis.pages.forEach((page) => {\n\t\t\tdelete page.tokens;\n\t\t\tpage.systems.forEach((system) => {\n\t\t\t\tdelete system.tokens;\n\t\t\t\tsystem.staves.forEach((staff) => {\n\t\t\t\t\tstaff.measures = [];\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\n\t\tlet startSysIndex = 0;\n\t\tfor (const endSysIndex of [...startSysIndices, this.systems.length]) {\n\t\t\tconst sysInRange = (system) => system.index >= startSysIndex && system.index < endSysIndex;\n\t\t\tconst pages = this.pages\n\t\t\t\t.filter((page) => page.systems.some(sysInRange))\n\t\t\t\t.map((page) => {\n\t\t\t\t\tconst { systems, ...fields } = page;\n\t\t\t\t\treturn new Page({ ...fields, systems: systems.filter(sysInRange).map((system) => new System({ ...system })) });\n\t\t\t\t});\n\n\t\t\tconst newScore = templateScore.deepCopy();\n\t\t\tnewScore.headers.SubScoreSystem = `${startSysIndex}-${endSysIndex - 1}`;\n\t\t\tnewScore.headers.SubScorePage = `${pages[0].index}-${pages[pages.length - 1].index}`;\n\n\t\t\t//newScore.pages = pages.map((page) => page.deepCopy());\n\t\t\tnewScore.pages = pages;\n\t\t\tnewScore.assemble();\n\t\t\tnewScore.inferenceStaffLayout();\n\n\t\t\tstartSysIndex = endSysIndex;\n\n\t\t\tyield newScore;\n\t\t}\n\t}\n\n\tsplitToSingleScores(): Score[] {\n\t\treturn [...this.splitToSingleScoresGen()];\n\t}\n}\n\nexport { PaperOptions, Score, Page, System, Staff, Measure, MeasureValidation };\nexport type { SemanticPointInMeasure };\n","import { MIDI } from '@k-l-lambda/music-widgets';\n\nimport { Fraction } from './interfaces';\nimport { noteToPitch } from './utils';\nimport { EventTerm, RestType, GraceType, StemBeam, ArpeggioStyle, TermPitch, TremoloLink } from './term';\nimport { SpartitoMeasure } from './spartitoMeasure';\n\n// NOTE: 'JSONEditor.onEditable' determine whether a field is editable, here 'readonly' modifier has no effect to UI\n\ninterface EventUIAgent {\n\treadonly id: number;\n\treadonly duration: number;\n\n\t//ys: number[];\n\tpitches: TermPitch[];\n\trest: RestType;\n\tdivision: number;\n\tdots: number;\n\tstemDirection: string;\n\ttying: boolean;\n\ttied: boolean;\n\tgrace: boolean; //\n\tbeam: StemBeam;\n\ttimeWarp: string; //\n\ttremolo: number;\n\ttremoloLink: TremoloLink;\n\tglissando: boolean;\n\tarpeggioStyle: ArpeggioStyle;\n\ttick: number;\n}\n\ninterface MeasureUIAgent {\n\treadonly measureIndex: number;\n\ttimeSignature: Fraction;\n\tdoubtfulTimesig: boolean;\n\tkeySignature: number;\n\t//readonly events: EventUIAgent[];\n\tduration: number;\n\treadonly voices: number[][];\n}\n\nclass EditableEvent extends EventTerm {\n\tvoice: number;\n\n\tconstructor(data: any) {\n\t\tsuper(data);\n\t}\n\n\tget agent(): EventUIAgent {\n\t\treturn new Proxy(this as any, {\n\t\t\tget(target, key): any {\n\t\t\t\tconst self = target as any as EditableEvent;\n\n\t\t\t\tswitch (key) {\n\t\t\t\t\tcase 'id':\n\t\t\t\t\tcase 'tick':\n\t\t\t\t\tcase 'duration':\n\t\t\t\t\tcase 'rest':\n\t\t\t\t\tcase 'division':\n\t\t\t\t\tcase 'dots':\n\t\t\t\t\tcase 'stemDirection':\n\t\t\t\t\tcase 'beam':\n\t\t\t\t\tcase 'tremolo':\n\t\t\t\t\tcase 'tremoloLink':\n\t\t\t\t\tcase 'arpeggioStyle': {\n\t\t\t\t\t\tconst value = self[key];\n\t\t\t\t\t\treturn value === undefined ? null : value;\n\t\t\t\t\t}\n\n\t\t\t\t\tcase 'tying':\n\t\t\t\t\tcase 'tied':\n\t\t\t\t\tcase 'glissando': {\n\t\t\t\t\t\tconst value = self[key];\n\t\t\t\t\t\treturn value === undefined ? false : value;\n\t\t\t\t\t}\n\n\t\t\t\t\tcase 'grace':\n\t\t\t\t\t\treturn !!self.grace;\n\n\t\t\t\t\tcase 'timeWarp':\n\t\t\t\t\t\treturn self.timeWarp ? `${self.timeWarp.numerator}/${self.timeWarp.denominator}` : null;\n\n\t\t\t\t\tcase 'pitches':\n\t\t\t\t\t\treturn self.pitches;\n\t\t\t\t}\n\n\t\t\t\treturn undefined;\n\t\t\t},\n\n\t\t\tset: (target, key, value): boolean => {\n\t\t\t\tconst self = target as any as EditableEvent;\n\n\t\t\t\tswitch (key) {\n\t\t\t\t\tcase 'tick':\n\t\t\t\t\tcase 'duration':\n\t\t\t\t\tcase 'rest':\n\t\t\t\t\tcase 'division':\n\t\t\t\t\tcase 'dots':\n\t\t\t\t\tcase 'stemDirection':\n\t\t\t\t\tcase 'tying':\n\t\t\t\t\tcase 'tied':\n\t\t\t\t\tcase 'beam':\n\t\t\t\t\tcase 'tremolo':\n\t\t\t\t\tcase 'tremoloLink':\n\t\t\t\t\tcase 'glissando':\n\t\t\t\t\tcase 'arpeggioStyle':\n\t\t\t\t\t\t(self as any)[key] = value;\n\n\t\t\t\t\t\treturn true;\n\t\t\t\t\tcase 'grace':\n\t\t\t\t\t\tself.grace = value ? GraceType.Grace : null;\n\n\t\t\t\t\t\treturn true;\n\t\t\t\t\tcase 'timeWarp':\n\t\t\t\t\t\tself.timeWarp = null;\n\t\t\t\t\t\tif (value && typeof value === 'string') {\n\t\t\t\t\t\t\tconst captures = value.match(/^(\\d+)\\/(\\d+)/);\n\t\t\t\t\t\t\tif (captures) {\n\t\t\t\t\t\t\t\tself.timeWarp = {\n\t\t\t\t\t\t\t\t\tnumerator: parseInt(captures[1]),\n\t\t\t\t\t\t\t\t\tdenominator: parseInt(captures[2]),\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn true;\n\t\t\t\t\tcase 'id':\n\t\t\t\t\tcase 'pitches':\n\t\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\treturn false;\n\t\t\t},\n\n\t\t\townKeys: (): string[] => [\n\t\t\t\t'id',\n\t\t\t\t'duration',\n\t\t\t\t'rest',\n\t\t\t\t'division',\n\t\t\t\t'dots',\n\t\t\t\t'stemDirection',\n\t\t\t\t'tying',\n\t\t\t\t'tied',\n\t\t\t\t'beam',\n\t\t\t\t'timeWarp',\n\t\t\t\t'tremolo',\n\t\t\t\t'tremoloLink',\n\t\t\t\t'glissando',\n\t\t\t\t'arpeggioStyle',\n\t\t\t\t'tick',\n\t\t\t\t'grace',\n\t\t\t\t'pitches',\n\t\t\t],\n\n\t\t\tgetOwnPropertyDescriptor() {\n\t\t\t\treturn { enumerable: true, configurable: true };\n\t\t\t},\n\t\t});\n\t}\n}\n\nclass EditableMeasure extends SpartitoMeasure {\n\tstatic className = 'EditableMeasure';\n\tstatic blackKeys = [];\n\n\tevents: EditableEvent[] = null;\n\n\tconstructor(data: any) {\n\t\tsuper(data);\n\n\t\tthis.events = data.events;\n\t\tif (this.events?.some((event) => !(event instanceof EditableEvent))) this.events = this.events.map((event) => new EditableEvent(event));\n\n\t\tif (this.voices) this.syncVoiceToEvents();\n\t}\n\n\tsyncVoiceToEvents(): void {\n\t\tthis.events.forEach((event) => (event.voice = -1));\n\t\tthis.voices.forEach((voice, voiceIndex) => {\n\t\t\tvoice.forEach((id) => {\n\t\t\t\tconst event = this.events.find((event) => event.id === id);\n\t\t\t\tif (event) event.voice = voiceIndex;\n\t\t\t\telse console.warn('no event with id:', id, this.events.length);\n\t\t\t});\n\t\t});\n\t}\n\n\tsyncVoiceFromEvents(): void {\n\t\tconst voices: EditableEvent[][] = [];\n\t\tthis.events.forEach((event) => {\n\t\t\tif (event?.voice >= 0) {\n\t\t\t\tvoices[event.voice] = voices[event.voice] || [];\n\t\t\t\tvoices[event.voice].push(event);\n\t\t\t}\n\t\t});\n\n\t\tvoices.forEach((voice) => voice.sort((e1, e2) => e1.tick - e2.tick));\n\n\t\tthis.voices = voices.map((voice) => voice.map((event) => event.id));\n\t}\n\n\tget agent(): MeasureUIAgent {\n\t\treturn new Proxy(this as any, {\n\t\t\tget: (target, key): any => {\n\t\t\t\tconst self = target as any as EditableMeasure;\n\n\t\t\t\tswitch (key) {\n\t\t\t\t\tcase 'measureIndex':\n\t\t\t\t\tcase 'duration':\n\t\t\t\t\t\treturn self[key];\n\n\t\t\t\t\tcase 'voices':\n\t\t\t\t\t\treturn self.voices?.map((voice) => voice.join(',')) || null;\n\n\t\t\t\t\tcase 'timeSignature':\n\t\t\t\t\tcase 'keySignature':\n\t\t\t\t\tcase 'doubtfulTimesig':\n\t\t\t\t\t\treturn self.basics[0][key];\n\t\t\t\t\t//case 'events':\n\t\t\t\t\t//\treturn self.events.map(eventUIAgent);\n\t\t\t\t\tcase 'toJSON':\n\t\t\t\t\t\treturn () => ({\n\t\t\t\t\t\t\tmeasureIndex: self.measureIndex,\n\t\t\t\t\t\t\tvoices: self.voices,\n\t\t\t\t\t\t\tduration: self.duration,\n\t\t\t\t\t\t\ttimeSignature: self.basics[0].timeSignature,\n\t\t\t\t\t\t\tkeySignature: self.basics[0].keySignature,\n\t\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\treturn undefined;\n\t\t\t},\n\n\t\t\tset: (target, key, value): boolean => {\n\t\t\t\t//console.log('set:', key, value);\n\t\t\t\tconst self = target as any as EditableMeasure;\n\n\t\t\t\tswitch (key) {\n\t\t\t\t\tcase 'timeSignature':\n\t\t\t\t\tcase 'keySignature':\n\t\t\t\t\tcase 'doubtfulTimesig':\n\t\t\t\t\t\t(self.basics[0][key] as any) = value;\n\t\t\t\t\t\tself.basics = self.basics.map(() => self.basics[0]);\n\n\t\t\t\t\t\treturn true;\n\t\t\t\t\tcase 'duration':\n\t\t\t\t\t\tself.duration = value;\n\n\t\t\t\t\t\treturn true;\n\t\t\t\t\tcase 'measureIndex':\n\t\t\t\t\tcase 'voices':\n\t\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\treturn false;\n\t\t\t},\n\n\t\t\townKeys: (): string[] => ['measureIndex', 'timeSignature', 'doubtfulTimesig', 'keySignature', 'duration', 'voices'],\n\n\t\t\tgetOwnPropertyDescriptor() {\n\t\t\t\treturn { enumerable: true, configurable: true };\n\t\t\t},\n\t\t});\n\t}\n\n\tmakeMIDI(bpm: number = 120): MIDI.MidiData {\n\t\tif (!this.regulated) return null;\n\n\t\tconst microsecondsPerBeat = 60e6 / bpm;\n\n\t\tconst header = { formatType: 0, ticksPerBeat: 480 };\n\t\tconst tracks = this.voices.map((ids, vi) => {\n\t\t\tconst events = ids\n\t\t\t\t.map((id) => {\n\t\t\t\t\tconst event = this.events.find((event) => event.id === id);\n\t\t\t\t\tif (event) {\n\t\t\t\t\t\tconst subEvents = event.graceIds ? event.graceIds.map((id) => this.events.find((event) => event.id === id)) : [];\n\n\t\t\t\t\t\treturn [...subEvents, event];\n\t\t\t\t\t}\n\n\t\t\t\t\treturn [];\n\t\t\t\t})\n\t\t\t\t.flat(1);\n\n\t\t\tconst startTime = 0;\n\n\t\t\ttype Event = MIDI.MidiEvent & { [key: string]: any };\n\t\t\tconst midiEvents: Event[] = events\n\t\t\t\t.filter((event) => !event.rest && Number.isFinite(event.tick) && event.tick >= 0 && Number.isFinite(event.duration))\n\t\t\t\t.map((event) =>\n\t\t\t\t\tevent.pitches.map((pitch) => [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: event.id,\n\t\t\t\t\t\t\ttime: event.tick,\n\t\t\t\t\t\t\ttype: 'channel',\n\t\t\t\t\t\t\tsubtype: 'noteOn',\n\t\t\t\t\t\t\tchannel: event.staff,\n\t\t\t\t\t\t\tnoteNumber: noteToPitch(pitch),\n\t\t\t\t\t\t\tvelocity: 96,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: event.id,\n\t\t\t\t\t\t\ttime: event.tick + event.duration,\n\t\t\t\t\t\t\ttype: 'channel',\n\t\t\t\t\t\t\tsubtype: 'noteOff',\n\t\t\t\t\t\t\tchannel: event.staff,\n\t\t\t\t\t\t\tnoteNumber: noteToPitch(pitch),\n\t\t\t\t\t\t},\n\t\t\t\t\t])\n\t\t\t\t)\n\t\t\t\t.flat(2);\n\n\t\t\tmidiEvents.sort(function (e1, e2) {\n\t\t\t\treturn e1.time - e2.time;\n\t\t\t});\n\n\t\t\tif (vi === 0) {\n\t\t\t\tmidiEvents.unshift(\n\t\t\t\t\t{\n\t\t\t\t\t\ttime: startTime,\n\t\t\t\t\t\ttype: 'meta',\n\t\t\t\t\t\tsubtype: 'timeSignature',\n\t\t\t\t\t\tnumerator: this.timeSignature.numerator,\n\t\t\t\t\t\tdenominator: this.timeSignature.denominator,\n\t\t\t\t\t\tthirtyseconds: 8,\n\t\t\t\t\t},\n\t\t\t\t\t{ time: startTime, type: 'meta', subtype: 'setTempo', microsecondsPerBeat }\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tmidiEvents.forEach((event) => {\n\t\t\t\tevent.ticks = Math.round(event.time - startTime);\n\t\t\t});\n\t\t\tmidiEvents.forEach((event, i) => {\n\t\t\t\tevent.deltaTime = event.ticks - (i > 0 ? midiEvents[i - 1].ticks : 0);\n\t\t\t});\n\n\t\t\tmidiEvents.push({ deltaTime: 0, type: 'meta', subtype: 'endOfTrack' });\n\n\t\t\treturn midiEvents;\n\t\t});\n\n\t\treturn {\n\t\t\theader,\n\t\t\ttracks,\n\t\t};\n\t}\n}\n\nexport { EditableEvent, EditableMeasure };\n","import { RegulationSolution, RegulationSolutionEvent, EventPredisposition } from './interfaces';\nimport { SpartitoMeasure } from './spartitoMeasure';\nimport { EventCluster, EventElement, EventElementType } from './eventTopology';\nimport { argmax, frac } from './utils';\nimport { WHOLE_DURATION, StemBeam } from './term';\nimport { Logger, DummyLogger } from './logger';\n\ninterface BeadPicker {\n\tn_seq: number;\n\tquota: number;\n\tcost: number; // duration in milliseconds\n\n\tpredictCluster(cluster: EventCluster, tip: number): Promise;\n}\n\nenum BeadType {\n\tPass = 'i',\n\tDivision = 'd',\n\tDots = 'o',\n}\n\nconst DIVISION_NAMES = ['whole', 'half', 'quarter', 'eighth', 'sixteenth', 'thirtysecond', 'sixtyfourth', '128th', '256th'];\n\ninterface BeadNodeInitData {\n\tcluster: EventCluster;\n\telemIndex: number;\n\ttype: BeadType;\n\tpossibilities: number[];\n\tpretentiousness: number;\n}\n\nconst RESIDUE_LOSS_WEIGHT = 0.2;\nconst VOICEN_LOSS_WEIGHT = 0.002;\nconst SPACE_LOSS_WEIGHT = 0.4 / WHOLE_DURATION;\nconst PRETENTIOUSNESS_LOSS_WEIGHT = 0.02;\n\nconst POSSIBILITY_LOW_BOUNDARY = 1e-12;\n\nconst PRETENTIOUSNESS_CLIP = 100;\n\ninterface ClusterEvaluation {\n\ttickErr: number;\n\ttwist: number;\n\tresidue: number;\n\tendTick: number;\n\tfatalError: boolean;\n\tvoiceN: number;\n\tspaceDuration: number;\n\tpretentiousness: number;\n\tloss: number;\n}\n\ninterface ElementState {\n\ttick: number;\n\tdivision: number;\n\tdots: number;\n\tbeam: StemBeam;\n\tstemDirection: string;\n\tgrace: boolean;\n\ttimeWarped: boolean;\n\tfullMeasure: boolean; // full measure rest\n\tfake: boolean;\n\torder: number;\n\tpredisposition: EventPredisposition;\n}\n\ninterface ClusterState {\n\telements: ElementState[];\n}\n\nconst STEM_DIRECTION_OPTIONS = [undefined, 'u', 'd'];\n\nconst BEAM_OPTIONS = [undefined, StemBeam.Open, StemBeam.Continue, StemBeam.Close];\n\nconst saveClusterState = (cluster: EventCluster): ClusterState => ({\n\telements: cluster.elements.map((elem) => ({\n\t\ttick: elem.tick!,\n\t\tdivision: elem.division!,\n\t\tdots: elem.dots!,\n\t\tbeam: elem.beam!,\n\t\tstemDirection: elem.stemDirection!,\n\t\tgrace: elem.grace!,\n\t\ttimeWarped: elem.timeWarped!,\n\t\tfullMeasure: elem.fullMeasure!,\n\t\tfake: elem.fake!,\n\t\torder: elem.order!,\n\t\tpredisposition: elem.predisposition!,\n\t})),\n});\n\nconst restoreClusterState = (cluster: EventCluster, state: ClusterState): void => cluster.elements.forEach((elem, i) => Object.assign(elem, state.elements[i]));\n\nconst measurePretentious = (p) => Math.min(PRETENTIOUSNESS_CLIP, -Math.log(p));\n\ninterface BeadDeductionContext {\n\tpicker: BeadPicker;\n\tlogger: Logger;\n\tptFactor: number; // pretentiousness tolerance factor\n}\n\nclass BeadNode {\n\tcluster: EventCluster;\n\telemIndex: number;\n\ttype: BeadType;\n\tpossibilities: number[];\n\tpretentiousness: number;\n\n\tchildren: Record;\n\taccessCount: number;\n\n\tconstructor(data: BeadNodeInitData) {\n\t\tObject.assign(this, data);\n\n\t\t//this.possibilities = this.possibilities.map((x, i) => (this.type === BeadType.Pass && !i) ? 0 : Math.max(POSSIBILITY_LOW_BOUNDARY, x));\n\n\t\tthis.children = {};\n\t\tthis.accessCount = 0;\n\t}\n\n\tnextBranch(): number | null {\n\t\tconst ps = this.possibilities.map((p, i) => p / (this.children[i] ? this.children[i].accessCount + 1 : 1));\n\t\t//const ps = this.possibilities.map((p, i) => p * (this.children[i] ? (2 ** -this.children[i].accessCount) : 1));\n\n\t\tif (ps.every((p) => !p)) {\n\t\t\tthis.accessCount = Infinity;\n\t\t\treturn null;\n\t\t}\n\n\t\treturn argmax(ps);\n\t}\n\n\tget currentElem(): EventElement {\n\t\treturn this.cluster.elements[this.elemIndex];\n\t}\n\n\tbranchID(ni: number): string {\n\t\tswitch (this.type) {\n\t\t\tcase BeadType.Pass:\n\t\t\t\treturn `i_${ni}`;\n\t\t\tcase BeadType.Division:\n\t\t\t\treturn DIVISION_NAMES[ni];\n\t\t\tcase BeadType.Dots:\n\t\t\t\treturn 'o' + '.'.repeat(ni);\n\t\t}\n\n\t\treturn '';\n\t}\n\n\tasync deduce({ picker, logger, ptFactor }: BeadDeductionContext, deep: number = 0): Promise {\n\t\t++this.accessCount;\n\n\t\tconst ni = this.nextBranch()!;\n\t\tlogger.debug(String.fromCodePoint(0x1f349) + ' '.repeat(deep), this.branchID(ni), this.accessCount > 1 ? `[${this.accessCount}]` : '');\n\n\t\tif (!Number.isInteger(ni) || ni < 0) {\n\t\t\tthis.accessCount = Infinity;\n\t\t\treturn evaluateCluster(this.cluster, this.currentElem.order! + 1, this.pretentiousness);\n\t\t}\n\n\t\tthis.pretentiousness += measurePretentious(this.possibilities[ni]);\n\t\tif (this.pretentiousness > PRETENTIOUSNESS_CLIP * ptFactor) {\n\t\t\tthis.accessCount = Infinity;\n\t\t\treturn evaluateCluster(this.cluster, this.currentElem.order! + 1, this.pretentiousness);\n\t\t}\n\n\t\tlet selfEval: null | ClusterEvaluation = null;\n\n\t\tswitch (this.type) {\n\t\t\tcase BeadType.Pass:\n\t\t\t\t{\n\t\t\t\t\tconst tip = this.currentElem.order! + 1;\n\t\t\t\t\tconst element = this.cluster.elements[ni];\n\t\t\t\t\tconsole.assert(element, 'null element:', ni, this.cluster.elements.length);\n\t\t\t\t\tif (element.type === EventElementType.EOS) {\n\t\t\t\t\t\tselfEval = evaluateCluster(this.cluster, tip, this.pretentiousness);\n\t\t\t\t\t\tif (!selfEval.residue || selfEval.fatalError) {\n\t\t\t\t\t\t\tthis.accessCount = Infinity;\n\t\t\t\t\t\t\treturn selfEval!;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tthis.cluster.elements[0].order = tip;\n\t\t\t\t\t\tif (!this.children[ni]) {\n\t\t\t\t\t\t\tif (!picker.quota) return selfEval;\n\n\t\t\t\t\t\t\tconst possibilities = (await picker.predictCluster(this.cluster, tip + 1)).map((x, i) =>\n\t\t\t\t\t\t\t\tthis.cluster.elements[i].order! < tip + 1 || i === this.cluster.elements.length - 1 ? 0 : Math.max(POSSIBILITY_LOW_BOUNDARY, x)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tthis.children[ni] = new BeadNode({\n\t\t\t\t\t\t\t\tcluster: this.cluster,\n\t\t\t\t\t\t\t\telemIndex: 0,\n\t\t\t\t\t\t\t\ttype: BeadType.Pass,\n\t\t\t\t\t\t\t\tpossibilities,\n\t\t\t\t\t\t\t\tpretentiousness: this.pretentiousness,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\telement.order = tip;\n\n\t\t\t\t\t\tif (!this.children[ni]) {\n\t\t\t\t\t\t\tconsole.assert(element.predisposition, 'no predisposition:', ni, this.possibilities);\n\t\t\t\t\t\t\tconst possibilities = element.predisposition!.divisionVector.map((x) => Math.max(POSSIBILITY_LOW_BOUNDARY, x));\n\t\t\t\t\t\t\tthis.children[ni] = new BeadNode({\n\t\t\t\t\t\t\t\tcluster: this.cluster,\n\t\t\t\t\t\t\t\telemIndex: ni,\n\t\t\t\t\t\t\t\ttype: BeadType.Division,\n\t\t\t\t\t\t\t\tpossibilities,\n\t\t\t\t\t\t\t\tpretentiousness: this.pretentiousness,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\tcase BeadType.Division:\n\t\t\t\t{\n\t\t\t\t\tthis.currentElem.division = ni;\n\n\t\t\t\t\tif (!this.children[ni]) {\n\t\t\t\t\t\tconst possibilities = this.currentElem.predisposition!.dotsVector.map((x) => Math.max(POSSIBILITY_LOW_BOUNDARY, x));\n\t\t\t\t\t\tthis.children[ni] = new BeadNode({\n\t\t\t\t\t\t\tcluster: this.cluster,\n\t\t\t\t\t\t\telemIndex: this.elemIndex,\n\t\t\t\t\t\t\ttype: BeadType.Dots,\n\t\t\t\t\t\t\tpossibilities,\n\t\t\t\t\t\t\tpretentiousness: this.pretentiousness,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\tcase BeadType.Dots:\n\t\t\t\t{\n\t\t\t\t\tthis.currentElem.dots = ni;\n\n\t\t\t\t\tselfEval = evaluateCluster(this.cluster, this.currentElem.order! + 1, this.pretentiousness);\n\t\t\t\t\tif (!selfEval.residue || selfEval.fatalError) {\n\t\t\t\t\t\tthis.accessCount = Infinity;\n\t\t\t\t\t\treturn selfEval!;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!this.children[ni]) {\n\t\t\t\t\t\tif (!picker.quota) return selfEval;\n\n\t\t\t\t\t\tconst tip = this.currentElem.order! + 1;\n\t\t\t\t\t\tconst possibilities = (await picker.predictCluster(this.cluster, tip)).map((x, i) =>\n\t\t\t\t\t\t\tthis.cluster.elements[i].order! < tip + 1 ? 0 : Math.max(POSSIBILITY_LOW_BOUNDARY, x)\n\t\t\t\t\t\t);\n\t\t\t\t\t\tthis.children[ni] = new BeadNode({\n\t\t\t\t\t\t\tcluster: this.cluster,\n\t\t\t\t\t\t\telemIndex: this.elemIndex,\n\t\t\t\t\t\t\ttype: BeadType.Pass,\n\t\t\t\t\t\t\tpossibilities,\n\t\t\t\t\t\t\tpretentiousness: this.pretentiousness,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t}\n\n\t\tconst evaluation = await this.children[ni].deduce({ picker, logger, ptFactor }, deep + 1);\n\t\tif (selfEval && evaluation.fatalError) {\n\t\t\tconst tip = this.currentElem.order!;\n\t\t\tthis.cluster.elements.forEach((elem) => {\n\t\t\t\tif (elem.order! > tip) elem.order = undefined;\n\t\t\t});\n\n\t\t\t// clear children data\n\t\t\tthis.cluster.elements.forEach((elem) => (elem.order = elem.order! > this.currentElem.order! ? undefined : elem.order));\n\t\t\tthis.cluster.elements[this.cluster.elements.length - 1].tick = selfEval.endTick;\n\n\t\t\treturn selfEval;\n\t\t}\n\n\t\treturn evaluation;\n\t}\n}\n\nconst estimateElementDuration = (elem: EventElement) => WHOLE_DURATION * 2 ** -elem.division! * (2 - 2 ** -elem.dots!);\n\nconst evaluateCluster = (cluster: EventCluster, tip: number, pretentiousness: number): ClusterEvaluation => {\n\tconst events = cluster.elements.filter(\n\t\t(elem) => [EventElementType.CHORD, EventElementType.REST].includes(elem.type) && Number.isInteger(elem.order) && elem.order! < tip\n\t);\n\tevents.sort((e1, e2) => e1.order! - e2.order!);\n\n\tconst eos = cluster.elements[cluster.elements.length - 1];\n\n\tlet tick = 0;\n\tlet lastOrder = 0;\n\tlet endTick = 0;\n\tlet voiceN = 1;\n\n\t// [x, tick, estimated tick]\n\tconst scales: [number, number, number][] = [[eos.x, cluster.signatureDuration, cluster.signatureDuration]];\n\n\tlet totalDuration = 0;\n\n\t// assign tick for events\n\tevents.forEach((event) => {\n\t\tif (event.order! > lastOrder + 1) {\n\t\t\ttick = 0;\n\t\t\t++voiceN;\n\t\t}\n\n\t\tconst referenceScale = scales.find((s) => s[1] >= tick);\n\t\tif (referenceScale && event.x > referenceScale[0] + 3) {\n\t\t\tconst nearScale = scales.reduce((n, s) => (Math.abs(event.predisposition!.tick - s[2]) < Math.abs(event.predisposition!.tick - n[2]) ? s : n));\n\t\t\tif (Math.abs(nearScale[0] - event.x) < 2) tick = Math.max(tick, nearScale[1]);\n\t\t}\n\n\t\tevent.tick = tick;\n\n\t\tconst si = Math.max(\n\t\t\t0,\n\t\t\tscales.findIndex((s) => s[0] > event.x)\n\t\t);\n\t\tscales.splice(si, 0, [event.x, event.tick, event.predisposition!.tick]);\n\n\t\t//let duration = WHOLE_DURATION * (2 ** -event.division!) * (2 - 2 ** -event.dots!);\n\t\tlet duration = estimateElementDuration(event);\n\t\tif (event.predisposition!.timeWarped > 0.5) duration = (duration * 2) / 3;\n\n\t\ttick += duration;\n\t\ttotalDuration += duration;\n\t\tendTick = Math.max(endTick, tick);\n\t\tlastOrder = event.order!;\n\t});\n\n\t/*const pretentiousness = events.reduce((p, event) => p +\n\t\tmeasurePretentious(event.predisposition!.divisionVector![event.division!]) +\n\t\tmeasurePretentious(event.predisposition!.dotsVector![event.dots!]), 0);*/\n\n\tif (endTick > 0) cluster.elements[cluster.elements.length - 1].tick = endTick;\n\n\tconst xSpan = cluster.elements[cluster.elements.length - 1].pivotX! - cluster.elements[1].pivotX!;\n\tconst tickSpan = Math.max(...events.map((e) => e.tick!), endTick);\n\n\t// tick twist loss\n\tconst eventsXOrder = [...events].sort((e1, e2) => e1.pivotX! - e2.pivotX!);\n\tconst tickTwists = eventsXOrder.slice(1).map((e2, i) => {\n\t\tconst e1 = eventsXOrder[i];\n\t\tconst dx = e2.pivotX! - e1.pivotX!;\n\t\tconst dt = e2.tick! - e1.tick!;\n\n\t\tif (!dt) return dx / xSpan;\n\n\t\tconst rate = Math.atan2(dt / tickSpan, dx / xSpan);\n\n\t\t//if (dt < 0)\n\t\t//\tconsole.log(\"minus dt:\", dt, dx, rate);\n\n\t\treturn ((rate * 4) / Math.PI - 1) ** 2;\n\t});\n\t//console.debug(\"tickTwists:\", tickTwists, eventsXOrder);\n\n\tconst twist = Math.max(...tickTwists, 0);\n\n\tconst tickMSE = events.map((event) => (event.tick! - event.predisposition!.tick) ** 2);\n\t//console.debug(\"tickMSE:\", tickMSE.map(Math.sqrt));\n\tconst tickErr = tickMSE.length ? Math.sqrt(tickMSE.reduce((sum, mse) => sum + mse, 0) / tickMSE.length) : 0;\n\t//console.debug(\"tick/twist:\", tickErr / WHOLE_DURATION, twist);\n\n\tconst residueElements = cluster.elements.filter(\n\t\t(elem) =>\n\t\t\t[EventElementType.CHORD, EventElementType.REST].includes(elem.type) &&\n\t\t\t!(Number.isInteger(elem.order) && elem.order! < tip) &&\n\t\t\t!(elem.predisposition && elem.predisposition.fakeP > 0.5)\n\t);\n\tconst residue = residueElements.length;\n\n\tconst fatalError = twist >= 1 || endTick > cluster.signatureDuration;\n\n\t//const spaceDuration = Math.max(0, cluster.signatureDuration - endTick);\n\tconst spaceDuration = Math.max(0, cluster.signatureDuration - totalDuration / voiceN);\n\n\tconst loss =\n\t\ttickErr / WHOLE_DURATION +\n\t\ttwist +\n\t\tresidue * RESIDUE_LOSS_WEIGHT +\n\t\tvoiceN * VOICEN_LOSS_WEIGHT +\n\t\tspaceDuration * SPACE_LOSS_WEIGHT +\n\t\tpretentiousness * PRETENTIOUSNESS_LOSS_WEIGHT;\n\n\treturn {\n\t\ttickErr,\n\t\ttwist,\n\t\tresidue,\n\t\tendTick,\n\t\tfatalError,\n\t\tvoiceN,\n\t\tspaceDuration,\n\t\tpretentiousness,\n\t\tloss,\n\t};\n};\n\nconst solveCluster = async (\n\tcluster: EventCluster,\n\tpicker: BeadPicker,\n\tlogger: Logger,\n\tquota: number = 200,\n\tstopLoss: number = 0,\n\tptFactor: number = 1\n): Promise => {\n\tcluster.elements.forEach((elem, i) => (elem.order = i ? undefined : 0));\n\tconst suc0 = await picker.predictCluster(cluster, 1);\n\n\tconst root = new BeadNode({ cluster, elemIndex: 0, pretentiousness: 0, type: BeadType.Pass, possibilities: suc0 });\n\n\tlet bestEvaluation: ClusterEvaluation | null = null;\n\tlet bestState: ClusterState | null = null;\n\n\tpicker.quota = quota;\n\twhile (picker.quota) {\n\t\tcluster.elements.forEach((elem, i) => (elem.order = i ? undefined : 0));\n\n\t\tconst evaluation = await root.deduce({ picker, logger, ptFactor });\n\n\t\tlogger.debug('loss:', evaluation);\n\n\t\tif (!bestEvaluation || evaluation.loss < bestEvaluation.loss) {\n\t\t\tbestEvaluation = evaluation;\n\n\t\t\tcluster.duration = bestEvaluation.endTick;\n\t\t\tbestState = saveClusterState(cluster);\n\n\t\t\tif (Number.isFinite(stopLoss) && bestEvaluation.loss <= stopLoss!) break;\n\t\t}\n\n\t\tif (!Number.isFinite(root.accessCount)) break;\n\t}\n\tlogger.debug('bestEvaluation:', bestEvaluation);\n\n\trestoreClusterState(cluster, bestState!);\n\n\t// solve residue elements\n\tconst fixedEvents = cluster.elements.filter((elem) => [EventElementType.CHORD, EventElementType.REST].includes(elem.type) && Number.isInteger(elem.order));\n\tconst pendingEvents = cluster.elements.filter(\n\t\t(elem) => [EventElementType.CHORD, EventElementType.REST].includes(elem.type) && !Number.isInteger(elem.order)\n\t);\n\tif (fixedEvents.length) {\n\t\tpendingEvents.forEach((event) => {\n\t\t\t// exclude fake events (includes grace, fullMeasure) from voices\n\t\t\tevent.tick = undefined;\n\n\t\t\tif (event.predisposition!.fakeP < 0.5) {\n\t\t\t\t//const near = fixedEvents.reduce((n, e) => Math.abs(e.predisposition!.tick - event.predisposition!.tick) < Math.abs(n.predisposition!.tick - event.predisposition!.tick) ? e : n);\n\t\t\t\tconst duration = estimateElementDuration(event);\n\t\t\t\tconst candidates = fixedEvents.filter((e) => e.tick! + duration <= bestEvaluation!.endTick);\n\t\t\t\tif (candidates.length) {\n\t\t\t\t\tconst near = candidates.reduce((n, e) => (Math.abs(e.x - event.x) < Math.abs(n.x - event.x) ? e : n));\n\t\t\t\t\tevent.tick = near.tick;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tfixedEvents.sort((e1, e2) => e1.order! - e2.order!);\n\n\t// properties\n\t[...fixedEvents, ...pendingEvents].forEach((event) => {\n\t\tevent.grace = !Number.isFinite(event.tick) && event.predisposition!.grace;\n\t\tevent.timeWarped = event.predisposition!.timeWarped > 0.5;\n\t\tevent.fullMeasure = event.predisposition!.fullMeasure > 0.5;\n\t\tevent.stemDirection = STEM_DIRECTION_OPTIONS[argmax(event.predisposition!.stemDirectionVector)];\n\t\tevent.beam = BEAM_OPTIONS[argmax(event.predisposition!.beamVector)];\n\t});\n\n\t// construct matrixH\n\tconst ids = cluster.elements.map((e) => e.index);\n\tconst idx = (id: number): number => ids.indexOf(id);\n\tcluster.matrixH = cluster.elements.map(() => Array(cluster.elements.length).fill(0));\n\tfixedEvents.forEach((event, i) => {\n\t\tconst lastEvent = fixedEvents[i - 1];\n\t\tif (!lastEvent || lastEvent.order! < event.order! - 1) {\n\t\t\tcluster.matrixH![idx(event.index!)][0] = 1;\n\t\t\tif (lastEvent) cluster.matrixH![cluster.elements.length - 1][idx(lastEvent.index!)] = 1;\n\t\t} else {\n\t\t\tconsole.assert(\n\t\t\t\tcluster.matrixH![idx(event.index!)] && Number.isFinite(cluster.matrixH![idx(event.index!)][idx(lastEvent.index!)]),\n\t\t\t\t'matrixH out of range:',\n\t\t\t\tevent.index,\n\t\t\t\tlastEvent.index,\n\t\t\t\tcluster.matrixH!.length\n\t\t\t);\n\n\t\t\tcluster.matrixH![idx(event.index!)][idx(lastEvent.index!)] = 1;\n\t\t}\n\t});\n\tif (!pendingEvents.length && fixedEvents.length) cluster.matrixH![cluster.elements.length - 1][idx(fixedEvents[fixedEvents.length - 1].index!)] = 1;\n\n\treturn bestEvaluation!;\n};\n\ninterface BeadSolverOptions {\n\tpicker: BeadPicker;\n\tstopLoss?: number;\n\tquotaMax?: number;\n\tquotaFactor?: number;\n\tptFactor?: number;\n\tlogger?: Logger;\n}\n\nconst solveMeasure = async (measure: SpartitoMeasure, options: BeadSolverOptions): Promise => {\n\tconst { stopLoss = 0.09, quotaMax = 1000, quotaFactor = 5, ptFactor = 1, logger = new DummyLogger() } = options;\n\n\tlet worstLoss = 0;\n\n\tconst clusters = measure.createClusters();\n\tfor (const cluster of clusters) {\n\t\tconst quota = Math.min(quotaMax, Math.ceil(cluster.elements.length * quotaFactor));\n\t\tlogger.info(`[measure-${measure.measureIndex}]`, quota);\n\t\tconst { loss } = await solveCluster(cluster, options.picker, logger, quota, stopLoss, ptFactor);\n\t\tworstLoss = Math.max(worstLoss, loss);\n\t}\n\n\tconst voices = [] as number[][];\n\n\tconst durations = [] as number[];\n\n\tconst solutionEvents = [] as RegulationSolutionEvent[];\n\n\tclusters.forEach((cluster) => {\n\t\tconst events = cluster.elements.filter((elem) => [EventElementType.CHORD, EventElementType.REST].includes(elem.type) && Number.isInteger(elem.order));\n\t\tevents.sort((e1, e2) => e1.order! - e2.order!);\n\n\t\tif (!events.length) return;\n\n\t\tlet voice = [] as number[];\n\t\tvoices.push(voice);\n\t\tlet lastOrder = 0;\n\t\tevents.forEach((event) => {\n\t\t\tif (event.fullMeasure || event.grace || event.tremoloCatcher) return;\n\n\t\t\tif (event.order! > lastOrder + 1) {\n\t\t\t\tvoice = [event.index!];\n\t\t\t\tvoices.push(voice);\n\t\t\t} else voice.push(event.index!);\n\n\t\t\tlastOrder = event.order!;\n\t\t});\n\n\t\tlet tipElem = events[events.length - 1];\n\n\t\t// complete voices from pending events\n\t\tconst pendingEvents = cluster.elements.filter(\n\t\t\t(elem) => [EventElementType.CHORD, EventElementType.REST].includes(elem.type) && Number.isFinite(elem.tick) && !Number.isInteger(elem.order)\n\t\t);\n\t\twhile (pendingEvents.length) {\n\t\t\tconst ei = pendingEvents.findIndex((e) => e.tick! >= tipElem.tick! + estimateElementDuration(tipElem));\n\t\t\tif (ei >= 0) voice.push(pendingEvents.splice(ei, 1)[0].index!);\n\t\t\telse {\n\t\t\t\ttipElem = pendingEvents.splice(0, 1)[0];\n\t\t\t\tvoice = [tipElem.index!];\n\t\t\t\tvoices.push(voice);\n\t\t\t}\n\t\t}\n\n\t\tif (events.some((elem) => !elem.fullMeasure && Number.isInteger(elem.order))) {\n\t\t\tconst eos = cluster.elements.find((elem) => elem.type === EventElementType.EOS);\n\t\t\tdurations.push(eos!.tick!);\n\t\t}\n\n\t\tconst eventMap = measure.eventMap;\n\n\t\tconst tickSet = cluster.elements.reduce((set, elem) => {\n\t\t\tif (Number.isFinite(elem.tick)) set.add(elem.tick!);\n\t\t\treturn set;\n\t\t}, new Set());\n\t\tconst ticks = Array.from(tickSet).sort((t1, t2) => t1 - t2);\n\n\t\t// fill solutionEvents\n\t\tevents.forEach((elem) => {\n\t\t\tconst event = eventMap[elem.index!];\n\t\t\tif (event) {\n\t\t\t\tsolutionEvents.push({\n\t\t\t\t\tid: event.id!,\n\t\t\t\t\ttick: elem.tick!,\n\t\t\t\t\ttickGroup: ticks.indexOf(elem.tick!),\n\t\t\t\t\tdivision: elem.division !== event.division ? elem.division : undefined,\n\t\t\t\t\tdots: elem.dots !== event.dots ? elem.dots : undefined,\n\t\t\t\t\ttimeWarp: elem.timeWarped ? frac(2, 3) : undefined, // TODO:\n\t\t\t\t\tbeam: elem.beam !== event.beam ? elem.beam : undefined,\n\t\t\t\t\tgrace: elem.grace !== !!event.grace ? elem.grace : undefined,\n\t\t\t\t\tfullMeasure: elem.fullMeasure || undefined,\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t});\n\n\tconst estimatedDuration = Math.max(...clusters.map((c) => c.estimatedDuration));\n\n\treturn {\n\t\tvoices: voices.filter((voice) => voice.length),\n\t\tduration: Math.max(...durations),\n\t\tevents: solutionEvents,\n\t\tpriority: -worstLoss,\n\t\testimatedDuration,\n\t};\n};\n\ninterface GlimpseMeasureOptions {\n\tpicker: BeadPicker;\n\tresetSignatureForDoubtfulOnly?: boolean;\n}\n\nconst glimpseMeasure = async (measure: SpartitoMeasure, { picker, resetSignatureForDoubtfulOnly }: GlimpseMeasureOptions): Promise => {\n\tconst clusters = measure.createClusters();\n\tconst eventMap = measure.eventMap;\n\n\tfor (const cluster of clusters) {\n\t\tif (!resetSignatureForDoubtfulOnly || measure.doubtfulTimesig) cluster.signatureDuration = 0; // re-estimate measure duration\n\t\tcluster.elements.forEach((elem, i) => (elem.order = i ? undefined : 0));\n\t\tawait picker.predictCluster(cluster, 1);\n\n\t\tcluster.elements\n\t\t\t.filter((elem) => [EventElementType.CHORD, EventElementType.REST].includes(elem.type))\n\t\t\t.forEach((elem) => {\n\t\t\t\tconst event = eventMap[elem.index!];\n\t\t\t\tevent.predisposition = elem.predisposition!;\n\t\t\t});\n\t}\n\n\tmeasure.estimatedDuration = Math.max(...clusters.map((c) => c.estimatedDuration));\n};\n\nconst estimateMeasure = async (measure: SpartitoMeasure, picker: BeadPicker): Promise =>\n\tglimpseMeasure(measure, { picker, resetSignatureForDoubtfulOnly: true });\n\nexport { BeadPicker, solveCluster, solveMeasure, estimateMeasure, glimpseMeasure };\n","import { EventTerm } from './term';\nimport type { SpartitoMeasure } from './spartitoMeasure';\n\ninterface EventRectification {\n\tid: number;\n\tdivision?: number;\n\tdots?: number;\n}\n\n// Here suppose sum of pvals equal to 1.\nconst multinomial_1 = (pvals: number[]): number => {\n\tconst n = Math.random();\n\n\tlet s = 0;\n\tfor (let i = 0; i < pvals.length; ++i) {\n\t\ts += pvals[i];\n\t\tif (s > n) return i;\n\t}\n\n\treturn pvals.length - 1;\n};\n\nconst looseVector = (ns: number[], factor = 0.9): number[] => {\n\tconst logits = ns.map((n) => Math.log(n) * factor);\n\tconst n2 = logits.map(Math.exp);\n\n\tconst sum = n2.reduce((sum, x) => sum + x, 0);\n\n\treturn n2.map((x) => x / sum);\n};\n\nconst looseEvent = (event: EventTerm): EventTerm => {\n\tif (!event.predisposition?.divisionVector && !event.predisposition?.dotsVector) return event;\n\n\tconst divisionVector = event.predisposition?.divisionVector ? looseVector(event.predisposition.divisionVector) : null;\n\tconst dotsVector = event.predisposition?.dotsVector ? looseVector(event.predisposition.dotsVector) : null;\n\n\treturn new EventTerm({\n\t\t...event,\n\t\tpredisposition: {\n\t\t\t...event.predisposition,\n\t\t\tdivisionVector,\n\t\t\tdotsVector,\n\t\t},\n\t});\n};\n\nclass MeasureRectification {\n\tevents: EventRectification[];\n\n\tconstructor(data: any) {\n\t\tObject.assign(this, data);\n\t}\n\n\ttoString(): string {\n\t\treturn this.events\n\t\t\t.map((event) => {\n\t\t\t\tif (!event) return '';\n\n\t\t\t\tconst { division = '', dots = '' } = event;\n\t\t\t\treturn `${division}|${dots}`;\n\t\t\t})\n\t\t\t.join(',');\n\t}\n\n\tstatic default(events: EventTerm[]): MeasureRectification {\n\t\treturn new MeasureRectification({\n\t\t\tevents: events.map((event) => {\n\t\t\t\tif (!event.predisposition?.divisionVector && !event.predisposition?.dotsVector) return null;\n\n\t\t\t\tconst division = event.predisposition.divisionVector ? event.division : undefined;\n\t\t\t\tconst dots = event.predisposition.dotsVector ? event.dots : undefined;\n\n\t\t\t\treturn { id: event.id, division, dots };\n\t\t\t}),\n\t\t});\n\t}\n\n\tstatic roll(events: EventTerm[]): MeasureRectification {\n\t\treturn new MeasureRectification({\n\t\t\tevents: events.map((event) => {\n\t\t\t\tif (!event.predisposition?.divisionVector && !event.predisposition?.dotsVector) return null;\n\n\t\t\t\tlet division = undefined;\n\t\t\t\tlet dots = undefined;\n\n\t\t\t\tif (event.predisposition.divisionVector) division = multinomial_1(event.predisposition.divisionVector);\n\n\t\t\t\tif (event.predisposition.dotsVector) dots = multinomial_1(event.predisposition.dotsVector);\n\n\t\t\t\treturn { id: event.id, division, dots };\n\t\t\t}),\n\t\t});\n\t}\n}\n\nconst genMeasureRectifications = function* (measure: SpartitoMeasure): Generator {\n\tconst keys = new Set();\n\n\tconst origin = MeasureRectification.default(measure.events);\n\tkeys.add(origin.toString());\n\n\tyield origin;\n\n\tlet stale = 0;\n\tlet events = measure.events;\n\n\twhile (stale < 100) {\n\t\tif (stale && stale % 10 === 0) events = events.map(looseEvent);\n\n\t\tconst rectification = MeasureRectification.roll(events);\n\t\tconst key = rectification.toString();\n\n\t\tif (keys.has(key)) {\n\t\t\t++stale;\n\t\t\tcontinue;\n\t\t}\n\n\t\tstale = 0;\n\n\t\tkeys.add(key);\n\t\tyield rectification;\n\t}\n};\n\nexport { MeasureRectification, genMeasureRectifications };\n","import { WeakLRUCache } from 'weak-lru-cache';\n\nimport { RegulationSolution, SpartitoMeasure } from '../../src/starry';\n\nconst lruCache = new WeakLRUCache();\n\ninterface SolutionStore {\n\tget: (key: string) => Promise;\n\tset: (key: string, val: RegulationSolution) => Promise;\n\tbatchGet: (keys: string[]) => Promise;\n}\n\n// éŧ˜čŪĪstore\nconst DefaultSolutionStore: SolutionStore = {\n\tasync get(key: string) {\n\t\treturn lruCache.getValue(key) as RegulationSolution;\n\t},\n\tasync set(key: string, val: RegulationSolution) {\n\t\tlruCache.setValue(key, val);\n\t},\n\tasync batchGet(keys: string[]) {\n\t\treturn keys.map((key) => lruCache.getValue(key) as RegulationSolution);\n\t},\n};\n\nconst enum MeasureStatus {\n\tDiscard = -1,\n\tSolved = 0,\n\tIssue = 1,\n\tFatal = 2,\n}\n\ninterface IssueMeasure {\n\tscoreId: string;\n\tmeasureIndex: number;\n\tmeasure: SpartitoMeasure;\n\tstatus: MeasureStatus;\n}\n\ntype SaveIssueMeasure = (data: Omit) => void;\n\nexport { SolutionStore, DefaultSolutionStore, MeasureStatus, IssueMeasure, SaveIssueMeasure };\n","import * as starry from '../../src/starry';\nimport { Logger } from './ZeroClient';\nimport { SolutionStore, DefaultSolutionStore, SaveIssueMeasure, MeasureStatus } from './store';\n\ninterface BeadRegulationCounting {\n\tcached: number;\n\tsimple: number;\n\tcomputed: number;\n\ttryTimes: number;\n\tsolved: number;\n\tissue: number;\n\tfatal: number;\n}\n\ninterface RegulationBeadStat {\n\ttotalCost: number; // in milliseconds\n\tpickerCost: number; // in milliseconds\n\tmeasures: BeadRegulationCounting;\n\tqualityScore: number;\n}\n\ninterface RegulationBeadSummary {\n\tscoreN: number;\n\n\ttotalCost: number; // in milliseconds\n\tpickerCost: number; // in milliseconds\n\tcostPerMeasure: number | null; // in milliseconds\n\tcostPerTime: number | null; // in milliseconds\n\n\tcached: number;\n\tsimple: number;\n\tcomputed: number;\n\ttryTimes: number;\n\tsolved: number;\n\tissue: number;\n\tfatal: number;\n}\n\ninterface ProgressInfo {\n\tpass: number;\n\tremaining: number;\n\ttotal: number;\n}\n\ninterface RegulateBeadOption {\n\tlogger?: Logger;\n\tpickers: starry.BeadPicker[];\n\tsolutionStore?: SolutionStore;\n\tignoreCache?: boolean;\n\tfreshOnly?: boolean;\n\tonSaveIssueMeasure?: SaveIssueMeasure;\n\tonProgress?: (measure: starry.SpartitoMeasure, evaluation: starry.MeasureEvaluation, better: boolean, progress: ProgressInfo) => void;\n\tonPassStart?: (pass: number, conditionName: string, pendingCount: number) => void;\n}\n\ninterface MeasureReord {\n\torigin: starry.SpartitoMeasure;\n\tcurrent: starry.SpartitoMeasure;\n\tevaluation?: starry.MeasureEvaluation;\n\tbaseQuality: number;\n\tpicker: starry.BeadPicker;\n}\n\ninterface BeadSolverOptions {\n\tstopLoss: number;\n\tquotaMax: number;\n\tquotaFactor: number;\n\tptFactor: number;\n}\n\nenum PendingCondition {\n\tErrorOnly,\n\tNotFine,\n\tImperfect,\n}\n\nconst isPending = (evaluation: starry.MeasureEvaluation, condition: PendingCondition) => {\n\tswitch (condition) {\n\t\tcase PendingCondition.ErrorOnly:\n\t\t\treturn evaluation.error;\n\n\t\tcase PendingCondition.Imperfect:\n\t\t\treturn !evaluation.perfect;\n\t}\n\n\treturn !evaluation.fine;\n};\n\ntype OnUpdate = (measure: starry.SpartitoMeasure, evaluation: starry.MeasureEvaluation, better: boolean) => void;\n\nconst solveMeasureRecords = async (\n\trecords: MeasureReord[],\n\tonUpdate: OnUpdate,\n\tstdout: NodeJS.WritableStream | null,\n\toptions: Partial,\n\tpendingCondition: PendingCondition = PendingCondition.NotFine,\n\tpass: number = 0,\n\tonProgress?: RegulateBeadOption['onProgress']\n): Promise => {\n\tconst pendingRecords = records.filter(({ evaluation }) => !evaluation || isPending(evaluation, pendingCondition));\n\tstdout?.write('.'.repeat(pendingRecords.length));\n\tstdout?.write('\\b'.repeat(pendingRecords.length));\n\n\tconst total = pendingRecords.length;\n\tlet done = 0;\n\n\tfor (const record of pendingRecords) {\n\t\tconst measure = record.current.deepCopy();\n\t\tmeasure.staffGroups = record.current.staffGroups;\n\n\t\tconst solution = await starry.beadSolver.solveMeasure(measure, { picker: record.picker, ...options });\n\t\tmeasure.applySolution(solution);\n\n\t\tconst evaluation = starry.evaluateMeasure(measure);\n\t\tconst better =\n\t\t\t!record.evaluation ||\n\t\t\tevaluation.fine > record.evaluation.fine ||\n\t\t\t(evaluation.qualityScore > record.evaluation.qualityScore && evaluation.fine === record.evaluation.fine);\n\t\tif (better) {\n\t\t\trecord.evaluation = evaluation;\n\t\t\tObject.assign(record.current, measure);\n\t\t}\n\n\t\tonUpdate(record.current, evaluation, better);\n\n\t\tdone++;\n\t\tonProgress?.(record.current, evaluation, better, { pass, remaining: total - done, total });\n\t}\n\n\tif (pendingRecords.length) stdout?.write('\\n');\n\n\treturn pendingRecords.length;\n};\n\nconst regulateWithBeadSolver = async (\n\tscore: starry.Score,\n\t{ logger, pickers, solutionStore = DefaultSolutionStore, ignoreCache, freshOnly, onSaveIssueMeasure, onProgress, onPassStart }: RegulateBeadOption\n): Promise => {\n\tscore.spartito = undefined;\n\tscore.assemble();\n\tconst spartito = score.makeSpartito();\n\n\tspartito.measures.forEach((measure) => score.assignBackgroundForMeasure(measure));\n\n\tconst t0 = Date.now();\n\tlogger?.info(`[regulateWithBeadSolver] begin, measure total: ${spartito.measures.length}.`, ignoreCache ? 'ignoreCache' : '', freshOnly ? 'freshOnly' : '');\n\n\tconst records = spartito.measures\n\t\t.filter((measure) => measure.events?.length && !measure.patched)\n\t\t.map(\n\t\t\t(measure) =>\n\t\t\t\t({\n\t\t\t\t\torigin: measure.deepCopy(),\n\t\t\t\t\tcurrent: measure,\n\t\t\t\t\tevaluation: undefined,\n\t\t\t\t\tbaseQuality: 0,\n\t\t\t\t} as MeasureReord)\n\t\t);\n\n\t// rectify time signature\n\tfor (const measure of spartito.measures.filter((measure) => measure.events?.length)) {\n\t\tconst picker = pickers.find((picker) => picker.n_seq > measure.events.length + 1);\n\t\tif (picker) await starry.beadSolver.estimateMeasure(measure, picker);\n\t}\n\tspartito.rectifyTimeSignatures(logger as any);\n\n\t// zero pickers' cost\n\tpickers.forEach((picker) => (picker.cost = 0));\n\n\tconst counting = {\n\t\tcached: 0,\n\t\tsimple: 0,\n\t\tcomputed: 0,\n\t\ttryTimes: 0,\n\t\tsolved: 0,\n\t\tissue: 0,\n\t\tfatal: 0,\n\t};\n\n\tlogger?.info(`[regulateWithBeadSolver] measures estimation finished.`);\n\n\t// apply solutions\n\tif (solutionStore && !ignoreCache)\n\t\tfor (const record of records) {\n\t\t\tconst solution = await solutionStore.get(record.origin.regulationHash0);\n\t\t\tif (solution) {\n\t\t\t\trecord.current.applySolution(solution);\n\t\t\t\t++counting.cached;\n\n\t\t\t\trecord.evaluation = starry.evaluateMeasure(record.current);\n\t\t\t\trecord.baseQuality = record.evaluation.qualityScore;\n\t\t\t}\n\t\t}\n\n\tlogger?.info('[regulateWithBeadSolver]', `${counting.cached}/${records.length}`, 'solutions loaded.');\n\n\tconst stdout = logger ? null : process.stdout;\n\tif (counting.cached) stdout?.write(`${counting.cached}c`);\n\n\trecords.forEach((record) => {\n\t\tconst picker = pickers.find((picker) => picker.n_seq > record.current.events.length + 1);\n\t\tif (!picker) {\n\t\t\tlogger?.info(`[regulateWithBeadSolver] measure[${record.current.measureIndex}] size out of range:`, record.current.events.length);\n\t\t} else record.picker = picker;\n\t});\n\n\tconst pendingRecords = records.filter((record) => record.picker && (!record.evaluation || (!record.evaluation.fine && !freshOnly))) as (MeasureReord & {\n\t\tevaluation: starry.MeasureEvaluation;\n\t})[];\n\n\t// solve by simple policy\n\tpendingRecords.forEach((record) => {\n\t\tconst measure = record.current.deepCopy();\n\t\tmeasure.staffGroups = record.current.staffGroups;\n\n\t\tmeasure.regulate({ policy: 'simple' });\n\n\t\tconst evaluation = starry.evaluateMeasure(measure);\n\t\tconst better = !record.evaluation || evaluation.qualityScore > record.evaluation.qualityScore;\n\t\tif (better) {\n\t\t\trecord.evaluation = evaluation;\n\t\t\tObject.assign(record.current, measure);\n\n\t\t\tif (evaluation.perfect) {\n\t\t\t\tlogger?.info(`[regulateWithBeadSolver] measure[${record.current.measureIndex}] regulated by simple policy.`);\n\t\t\t\t++counting.simple;\n\t\t\t}\n\t\t}\n\t});\n\tcounting.computed = pendingRecords.length - counting.simple;\n\n\tif (counting.simple) stdout?.write(`${counting.simple}s`);\n\n\tconst onUpdate = (measure, evaluation, better) => {\n\t\tlogger?.info(\n\t\t\t`[regulateWithBeadSolver] measure[${measure.measureIndex}/${spartito.measures.length}] regulated${\n\t\t\t\tbetter ? '+' : '-'\n\t\t\t}: ${evaluation.qualityScore.toFixed(3)}, ${evaluation.fine ? 'solved' : evaluation.error ? 'error' : 'issue'}, ${measure.regulationHash}`\n\t\t);\n\n\t\tstdout?.write(`\\x1b[${evaluation.fine ? '32' : evaluation.error ? '31' : '33'}m${better ? '+' : '-'}\\x1b[0m`);\n\t};\n\n\t// Global progress: total = all measures, remaining = non-fine measures across all passes\n\tconst totalMeasures = spartito.measures.length;\n\tconst computeRemaining = () => pendingRecords.filter((r) => !r.evaluation?.fine).length;\n\tconst wrappedOnProgress = onProgress\n\t\t? (measure: starry.SpartitoMeasure, evaluation: starry.MeasureEvaluation, better: boolean, progress: ProgressInfo) => {\n\t\t\t\tonProgress(measure, evaluation, better, { pass: progress.pass, remaining: computeRemaining(), total: totalMeasures });\n\t\t }\n\t\t: undefined;\n\n\tonPassStart?.(1, 'Imperfect', computeRemaining());\n\tcounting.tryTimes += await solveMeasureRecords(\n\t\tpendingRecords,\n\t\tonUpdate,\n\t\tstdout,\n\t\t{ stopLoss: 0.05, quotaMax: 200, quotaFactor: 3, ptFactor: 1 },\n\t\tPendingCondition.Imperfect,\n\t\t1,\n\t\twrappedOnProgress\n\t);\n\tonPassStart?.(2, 'NotFine', computeRemaining());\n\tcounting.tryTimes += await solveMeasureRecords(\n\t\tpendingRecords,\n\t\tonUpdate,\n\t\tstdout,\n\t\t{ stopLoss: 0.08, quotaMax: 1000, quotaFactor: 20, ptFactor: 1.6 },\n\t\tPendingCondition.NotFine,\n\t\t2,\n\t\twrappedOnProgress\n\t);\n\tonPassStart?.(3, 'ErrorOnly', computeRemaining());\n\tcounting.tryTimes += await solveMeasureRecords(\n\t\tpendingRecords,\n\t\tonUpdate,\n\t\tstdout,\n\t\t{ stopLoss: 0.08, quotaMax: 1000, quotaFactor: 40, ptFactor: 3 },\n\t\tPendingCondition.ErrorOnly,\n\t\t3,\n\t\twrappedOnProgress\n\t);\n\n\tpendingRecords.forEach(({ evaluation, baseQuality, current, origin }) => {\n\t\tif (evaluation.fine) ++counting.solved;\n\t\telse if (evaluation.error) ++counting.fatal;\n\t\telse ++counting.issue;\n\n\t\tif (evaluation.qualityScore > baseQuality || !baseQuality) {\n\t\t\tsolutionStore.set(origin.regulationHash0, { ...current.asSolution(origin), priority: -current?.solutionStat?.loss! });\n\t\t\tif (current.regulationHash !== origin.regulationHash0)\n\t\t\t\tsolutionStore.set(current.regulationHash, { ...current.asSolution(), priority: -current?.solutionStat?.loss! });\n\t\t\t//console.log('better:', current.measureIndex, evaluation.qualityScore, baseQuality);\n\t\t}\n\n\t\tif (!evaluation.fine) {\n\t\t\tonSaveIssueMeasure?.({\n\t\t\t\tmeasureIndex: current.measureIndex,\n\t\t\t\tmeasure: new starry.EditableMeasure(current),\n\t\t\t\tstatus: evaluation.error ? MeasureStatus.Fatal : MeasureStatus.Issue,\n\t\t\t});\n\t\t}\n\t});\n\n\tconst t1 = Date.now();\n\tconst pickerCost = pickers.reduce((cost, picker) => cost + picker.cost, 0);\n\n\tconst qualityScore = spartito.qualityScore;\n\tconst totalCost = t1 - t0;\n\n\tlogger?.info('[regulateWithBeadSolver] done in ', totalCost, 'ms, qualityScore:', qualityScore);\n\n\t// zero 'cached' statistics for freshOnly mode\n\tif (freshOnly) counting.cached = 0;\n\n\treturn {\n\t\ttotalCost: t1 - t0,\n\t\tpickerCost,\n\t\tmeasures: counting,\n\t\tqualityScore,\n\t};\n};\n\nconst abstractRegulationBeadStats = (stats: RegulationBeadStat[]): RegulationBeadSummary => {\n\tconst { totalCost, pickerCost, measureN, timeN } = stats.reduce(\n\t\t(sum, stat) => ({\n\t\t\ttotalCost: sum.totalCost + stat.totalCost,\n\t\t\tpickerCost: sum.pickerCost + stat.pickerCost,\n\t\t\tmeasureN: sum.measureN + stat.measures.computed,\n\t\t\ttimeN: sum.timeN + stat.measures.tryTimes,\n\t\t}),\n\t\t{\n\t\t\ttotalCost: 0,\n\t\t\tpickerCost: 0,\n\t\t\tmeasureN: 0,\n\t\t\ttimeN: 0,\n\t\t}\n\t);\n\n\tconst costPerMeasure = measureN > 0 ? totalCost / measureN : null;\n\tconst costPerTime = timeN > 0 ? totalCost / timeN : null;\n\n\tconst { cached, simple, computed, tryTimes, solved, issue, fatal } = stats.reduce(\n\t\t(sum, stat) => ({\n\t\t\tcached: sum.cached + stat.measures.cached,\n\t\t\tsimple: sum.simple + stat.measures.simple,\n\t\t\tcomputed: sum.computed + stat.measures.computed,\n\t\t\ttryTimes: sum.tryTimes + stat.measures.tryTimes,\n\t\t\tsolved: sum.solved + stat.measures.solved,\n\t\t\tissue: sum.issue + stat.measures.issue,\n\t\t\tfatal: sum.fatal + stat.measures.fatal,\n\t\t}),\n\t\t{ cached: 0, simple: 0, computed: 0, tryTimes: 0, solved: 0, issue: 0, fatal: 0 }\n\t);\n\n\treturn {\n\t\tscoreN: stats.length,\n\t\ttotalCost,\n\t\tpickerCost,\n\t\tcostPerMeasure,\n\t\tcostPerTime,\n\t\tcached,\n\t\tsimple,\n\t\tcomputed,\n\t\ttryTimes,\n\t\tsolved,\n\t\tissue,\n\t\tfatal,\n\t};\n};\n\nexport { regulateWithBeadSolver, abstractRegulationBeadStats, RegulationBeadStat, ProgressInfo };\n","import * as starry from '../../src/starry';\nimport { PyClients } from './predictors';\nimport { Logger } from './ZeroClient';\nimport { SpartitoMeasure, EditableMeasure, evaluateMeasure } from '../../src/starry';\nimport { EquationPolicy } from '../../src/starry/spartitoMeasure';\nimport { genMeasureRectifications } from '../../src/starry/measureRectification';\nimport { SolutionStore, DefaultSolutionStore, SaveIssueMeasure } from './store';\nexport * from './regulationBead';\n\nglobalThis.btoa = globalThis.btoa || ((str) => Buffer.from(str, 'binary').toString('base64'));\n\nconst RECTIFICATION_SEARCH_ITERATIONS = parseInt(process.env.RECTIFICATION_SEARCH_ITERATIONS || '30');\nconst BASE_QUOTA_FACTOR = parseInt(process.env.BASE_QUOTA_FACTOR || '40');\nconst RECTIFICATION_QUOTA_FACTOR = parseInt(process.env.RECTIFICATION_QUOTA_FACTOR || '80');\n\nconst MATRIXH_INTERPOLATION_K = 0.9;\n\ninterface SolveMeasureOptions {\n\tsolver?: (...args: any[]) => any;\n\tquotaMax?: number;\n\tquotaFactor?: number;\n\tsolutionStore?: SolutionStore;\n\tignoreCache?: boolean;\n\tlogger?: Logger;\n}\n\nconst computeQuota = (n: number, factor: number, limit: number) =>\n\tMath.min(Math.ceil((n + 1) * factor * Math.log(n + 2)), Math.ceil(limit * Math.min(1, (24 / (n + 1)) ** 2)));\n\ninterface BaseRegulationStat {\n\tcached: number;\n\tcomputed: number;\n\tsolved: number;\n}\n\nasync function solveMeasures(\n\tmeasures: SpartitoMeasure[],\n\t{ solver, quotaMax = 1000, quotaFactor = BASE_QUOTA_FACTOR, solutionStore = DefaultSolutionStore, ignoreCache = false, logger }: SolveMeasureOptions = {}\n): Promise {\n\tlet cached = 0;\n\tlet solved = 0;\n\n\tlogger?.info(`[solveMeasures] begin, measure total: ${measures.length}.`);\n\n\tawait Promise.all(\n\t\tmeasures.map(async (measure) => {\n\t\t\tif (!ignoreCache) {\n\t\t\t\tconst solution = await solutionStore.get(measure.regulationHash);\n\t\t\t\tif (solution) {\n\t\t\t\t\tmeasure.applySolution(solution);\n\t\t\t\t\t++cached;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst quota = computeQuota(measure.events.length, quotaFactor, quotaMax);\n\n\t\t\tawait measure.regulate({\n\t\t\t\tpolicy: 'equations',\n\t\t\t\tquota,\n\t\t\t\tsolver,\n\t\t\t});\n\n\t\t\tconst stat = evaluateMeasure(measure);\n\t\t\tif (!stat.error) solutionStore.set(measure.regulationHash0, { ...measure.asSolution(), priority: -measure?.solutionStat?.loss! });\n\t\t\tif (stat.perfect) ++solved;\n\n\t\t\tlogger?.info(\n\t\t\t\t`[solveMeasures] measure[${measure.measureIndex}/${measures.length}] regulated: ${stat.perfect ? 'solved' : stat.error ? 'error' : 'issue'}, ${\n\t\t\t\t\tmeasure.regulationHash\n\t\t\t\t}`\n\t\t\t);\n\t\t})\n\t);\n\n\tlogger?.info(`[solveMeasures] ${cached}/${measures.length} cache hit, ${solved} solved.`);\n\n\treturn {\n\t\tcached,\n\t\tcomputed: measures.length - cached,\n\t\tsolved,\n\t};\n}\n\nconst solveMeasuresWithRectifications = async (\n\tmeasure: SpartitoMeasure,\n\t{ solver, quotaMax = 4000 }: SolveMeasureOptions\n): Promise => {\n\tlet best = evaluateMeasure(measure);\n\tlet bestSolution: starry.RegulationSolution = measure.asSolution();\n\tconst quota = computeQuota(measure.events.length, RECTIFICATION_QUOTA_FACTOR, quotaMax);\n\tlet n_rec = 0;\n\n\t// @ts-ignore\n\tfor (const rec of genMeasureRectifications(measure)) {\n\t\tconst solution = await EquationPolicy.regulateMeasureWithRectification(measure, rec, { solver, quota });\n\n\t\tconst testMeasure = measure.deepCopy() as SpartitoMeasure;\n\t\ttestMeasure.applySolution(solution);\n\t\tconst result = evaluateMeasure(testMeasure);\n\n\t\tif (\n\t\t\tresult.perfect > best.perfect ||\n\t\t\tresult.error < best.error ||\n\t\t\t(!result.error && result.perfect >= best.perfect && solution.priority! > bestSolution.priority!)\n\t\t) {\n\t\t\tbest = result;\n\t\t\tbestSolution = solution;\n\t\t}\n\n\t\tif (result.perfect) break;\n\n\t\t++n_rec;\n\t\tif (n_rec > RECTIFICATION_SEARCH_ITERATIONS) break;\n\t}\n\n\treturn bestSolution;\n};\n\ninterface RegulateWithTopoOption {\n\tsolutionStore: SolutionStore;\n\tpyClients: PyClients;\n\tsolver: (...args: any[]) => any;\n\tonSaveIssueMeasure?: SaveIssueMeasure;\n}\n\ninterface RegulateMaybeWithTopoOption {\n\tsolutionStore: SolutionStore;\n\tpyClients?: PyClients;\n\tsolver: (...args: any[]) => any;\n\tonSaveIssueMeasure?: SaveIssueMeasure;\n}\n\ninterface RegulateSimpleOption {\n\tsolutionStore: SolutionStore;\n\tsolver: (...args: any[]) => any;\n\tlogger?: Logger;\n\tquotaMax?: number;\n\tquotaFactor?: number;\n}\n\ninterface TopoRegulationStat {\n\tsolved: number;\n\tissue: number;\n\tfatal: number;\n}\n\nasync function doRegulateWithTopo(\n\tscore: starry.Score,\n\t{ pyClients, solver, solutionStore = DefaultSolutionStore, onSaveIssueMeasure }: RegulateWithTopoOption\n): Promise {\n\tpyClients.logger.info(`[RegulateWithTopo] regulate score: ${score.title}, measures: ${score.spartito!.measures.length}`);\n\n\tconst issueMeasures = score.spartito!.measures.filter((measure) => {\n\t\tconst stat = evaluateMeasure(measure);\n\t\treturn !stat.perfect;\n\t});\n\tpyClients.logger.info(`[RegulateWithTopo] basic issues: ${issueMeasures.length}`);\n\n\tif (issueMeasures.length === 0) {\n\t\treturn {\n\t\t\tsolved: 0,\n\t\t\tissue: 0,\n\t\t\tfatal: 0,\n\t\t};\n\t}\n\n\tconst clusters = ([] as starry.EventCluster[]).concat(...issueMeasures.map((measure) => measure.createClusters()));\n\tconst results = await pyClients.predictScoreImages('topo', { clusters });\n\tconsole.assert(results.length === clusters.length, 'prediction number mismatch:', clusters.length, results.length);\n\n\tclusters.forEach((cluster, index) => {\n\t\tconst result = results[index];\n\t\tconsole.assert(result, 'no result for cluster:', cluster.index);\n\n\t\tcluster.assignPrediction(result);\n\t});\n\n\tissueMeasures.forEach((measure) => {\n\t\tconst cs = clusters.filter((c) => c.index === measure.measureIndex);\n\t\tmeasure.applyClusters(cs);\n\n\t\t// intepolate matrixH\n\t\tconst { matrixH } = EquationPolicy.estiamteMeasure(measure);\n\t\tmatrixH.forEach((row, i) =>\n\t\t\trow.forEach((v, j) => {\n\t\t\t\tmeasure.matrixH[i][j] = measure.matrixH[i][j] * MATRIXH_INTERPOLATION_K + v * (1 - MATRIXH_INTERPOLATION_K);\n\t\t\t})\n\t\t);\n\t});\n\n\tconst solvedIndices: number[] = [];\n\tconst errorIndices: number[] = [];\n\n\t// rectification search\n\tawait Promise.all(\n\t\tissueMeasures.map(async (measure) => {\n\t\t\tconst hash = measure.regulationHash0;\n\t\t\tconst solution = await solveMeasuresWithRectifications(measure, { solver });\n\t\t\tif (solution) {\n\t\t\t\tmeasure.applySolution(solution);\n\t\t\t\tsolutionStore.set(hash, solution);\n\t\t\t\tsolutionStore.set(measure.regulationHash, measure.asSolution());\n\t\t\t\tpyClients.logger.info(`[RegulateWithTopo] solutionStore set: ${measure.measureIndex}, ${hash}, ${measure.regulationHash}`);\n\t\t\t}\n\n\t\t\tconst stat = evaluateMeasure(measure);\n\t\t\tonSaveIssueMeasure?.({\n\t\t\t\tmeasureIndex: measure.measureIndex,\n\t\t\t\tmeasure: new EditableMeasure(measure),\n\t\t\t\tstatus: stat.error ? 2 : 1,\n\t\t\t});\n\t\t\tif (stat.perfect) solvedIndices.push(measure.measureIndex);\n\t\t\telse if (stat.error) errorIndices.push(measure.measureIndex);\n\t\t})\n\t);\n\n\tconst n_issues = issueMeasures.length - solvedIndices.length - errorIndices.length;\n\tpyClients.logger.info(`[RegulateWithTopo] score: ${score.title}, solved/issue/fatal: ${solvedIndices.length}/${n_issues}/${errorIndices.length}`);\n\tif (solvedIndices.length) pyClients.logger.info(`[RegulateWithTopo] solved measures: ${solvedIndices.join(', ')}`);\n\tif (errorIndices.length) pyClients.logger.info(`[RegulateWithTopo] error measures: ${errorIndices.join(', ')}`);\n\n\treturn {\n\t\tsolved: solvedIndices.length,\n\t\tissue: n_issues,\n\t\tfatal: errorIndices.length,\n\t};\n}\n\ninterface RegulationStat {\n\tbaseCost: number; // in milliseconds\n\ttopoCost: number; // in milliseconds\n\tbaseMeasures: BaseRegulationStat;\n\ttopoMeasures?: TopoRegulationStat;\n\tqualityScore: number;\n}\n\nconst doRegulate = async (\n\tscore: starry.Score,\n\t{ pyClients, solver, solutionStore = DefaultSolutionStore, onSaveIssueMeasure }: RegulateMaybeWithTopoOption\n): Promise => {\n\tpyClients?.logger?.info(`[doRegulate] score: ${score.title}`);\n\n\tscore.spartito = undefined;\n\tscore.assemble();\n\tconst spartito = score.makeSpartito();\n\n\tspartito.measures.forEach((measure) => score.assignBackgroundForMeasure(measure));\n\n\tconst t0 = Date.now();\n\n\tconst baseMeasures = await solveMeasures(spartito.measures, { solver, quotaMax: 1000, solutionStore, logger: pyClients?.logger });\n\n\tconst t1 = Date.now();\n\n\tconst topoMeasures = pyClients ? await doRegulateWithTopo(score, { pyClients, solver, solutionStore, onSaveIssueMeasure }) : undefined;\n\n\tconst t2 = Date.now();\n\n\treturn {\n\t\tbaseCost: t1 - t0,\n\t\ttopoCost: t2 - t1,\n\t\tbaseMeasures,\n\t\ttopoMeasures,\n\t\tqualityScore: spartito.qualityScore,\n\t};\n};\n\nconst doSimpleRegulate = async (\n\tscore: starry.Score,\n\t{ solver, solutionStore = DefaultSolutionStore, logger, quotaMax = 240, quotaFactor = 16 }: RegulateSimpleOption\n): Promise => {\n\tscore.assemble();\n\tconst spartito = score.spartito || score.makeSpartito();\n\tconst measures = spartito.measures.filter((measure) => !measure.regulated);\n\n\tawait solveMeasures(measures, { solver, quotaMax, quotaFactor, solutionStore, logger });\n\n\tconsole.assert(score.spartito?.regulated, 'doSimpleRegulate: regulation incomplete:', spartito.measures.filter((measure) => !measure.regulated).length);\n};\n\nconst evaluateScoreQuality = async (score: starry.Score, options: RegulateSimpleOption): Promise => {\n\tif (!score.spartito?.regulated) await doSimpleRegulate(score, options);\n\n\treturn score.spartito!.regulated ? score.spartito!.qualityScore : null;\n};\n\ninterface RegulationSummary {\n\tscoreN: number;\n\n\tbaseCostTotal: number; // in milliseconds\n\ttopoCostTotal: number; // in milliseconds\n\tbaseCostPerMeasure: number | null; // in milliseconds\n\ttopoCostPerMeasure: number | null; // in milliseconds\n\n\tcached: number;\n\tbaseComputed: number;\n\tbaseSolved: number;\n\ttopoSolved: number;\n\ttopoIssue: number;\n\ttopoFatal: number;\n}\n\nconst abstractRegulationStats = (stats: RegulationStat[]): RegulationSummary => {\n\tconst { baseCostTotal, topoCostTotal, baseMeasures, topoMeasures } = stats.reduce(\n\t\t(sum, stat) => ({\n\t\t\tbaseCostTotal: sum.baseCostTotal + stat.baseCost,\n\t\t\ttopoCostTotal: sum.topoCostTotal + stat.topoCost,\n\t\t\tbaseMeasures: sum.baseMeasures + stat.baseMeasures.computed,\n\t\t\ttopoMeasures: sum.topoMeasures + (stat.topoMeasures!.solved + stat.topoMeasures!.issue + stat.topoMeasures!.fatal),\n\t\t}),\n\t\t{\n\t\t\tbaseCostTotal: 0,\n\t\t\ttopoCostTotal: 0,\n\t\t\tbaseMeasures: 0,\n\t\t\ttopoMeasures: 0,\n\t\t}\n\t);\n\n\tconst baseCostPerMeasure = baseMeasures > 0 ? baseCostTotal / baseMeasures : null;\n\tconst topoCostPerMeasure = topoMeasures > 0 ? topoCostTotal / topoMeasures : null;\n\n\tconst { cached, baseComputed, baseSolved, topoSolved, topoIssue, topoFatal } = stats.reduce(\n\t\t(sum, stat) => ({\n\t\t\tcached: sum.cached + stat.baseMeasures.cached,\n\t\t\tbaseComputed: sum.baseComputed + stat.baseMeasures.computed,\n\t\t\tbaseSolved: sum.baseSolved + stat.baseMeasures.solved,\n\t\t\ttopoSolved: sum.topoSolved + stat.topoMeasures!.solved,\n\t\t\ttopoIssue: sum.topoIssue + stat.topoMeasures!.issue,\n\t\t\ttopoFatal: sum.topoFatal + stat.topoMeasures!.fatal,\n\t\t}),\n\t\t{ cached: 0, baseComputed: 0, baseSolved: 0, topoSolved: 0, topoIssue: 0, topoFatal: 0 }\n\t);\n\n\treturn {\n\t\tscoreN: stats.length,\n\t\tbaseCostTotal,\n\t\ttopoCostTotal,\n\t\tbaseCostPerMeasure,\n\t\ttopoCostPerMeasure,\n\t\tcached,\n\t\tbaseComputed,\n\t\tbaseSolved,\n\t\ttopoSolved,\n\t\ttopoIssue,\n\t\ttopoFatal,\n\t};\n};\n\nexport { doRegulate, doSimpleRegulate, evaluateScoreQuality, abstractRegulationStats };\n","import SparkMD5 from 'spark-md5';\n//import JSZip from 'jszip';\nimport * as starry from '../../src/starry';\n//import { encodeFindResource } from '../../src/isomorphic/converter';\nimport sharp, { FormatEnum } from 'sharp';\nimport got from 'got';\n//import { Logger } from './ZeroClient';\nimport type { SolutionStore, SaveIssueMeasure } from './store';\nimport { ScoreJSON } from '../../src/isomorphic/types';\n\nconst SYSTEM_MARGIN = 4;\n\nexport const constructSystem = ({ page, backgroundImage, detection, imageSize, position }) => {\n\tconst systemWidth = (detection.phi2 - detection.phi1) / detection.interval;\n\tconst systemHeight = imageSize.height / detection.interval;\n\n\tconst lastSystem = page.systems[page.systems.length - 1];\n\tconst top = position ? position.y : (lastSystem ? lastSystem.top + lastSystem.height : 0) + SYSTEM_MARGIN;\n\tconst left = position ? position.x : SYSTEM_MARGIN;\n\n\tconst stavesTops = [\n\t\t0,\n\t\t...Array(detection.middleRhos.length - 1)\n\t\t\t.fill(0)\n\t\t\t.map((_, i) => (detection.middleRhos[i] + detection.middleRhos[i + 1]) / 2 / detection.interval),\n\t];\n\n\tconst measureBars = [systemWidth];\n\n\tconst staves = stavesTops.map(\n\t\t(top, i) =>\n\t\t\tnew starry.Staff({\n\t\t\t\ttop,\n\t\t\t\theight: (stavesTops[i + 1] || systemHeight) - top,\n\t\t\t\tstaffY: detection.middleRhos[i] / detection.interval - top,\n\t\t\t\tmeasureBars,\n\t\t\t})\n\t);\n\n\t//console.log(\"detection:\", detection, options, stavesTops);\n\n\tconst imagePosition = {\n\t\tx: -detection.phi1 / detection.interval,\n\t\ty: 0,\n\t\twidth: imageSize.width / detection.interval,\n\t\theight: imageSize.height / detection.interval,\n\t};\n\n\treturn new starry.System({\n\t\tstaves,\n\t\tleft,\n\t\ttop,\n\t\twidth: systemWidth,\n\t\tbackgroundImage,\n\t\timagePosition,\n\t\tmeasureBars,\n\t});\n};\n\nexport interface ConvertOption {\n\tformat?: keyof FormatEnum;\n\tquality?: number;\n\tmaxHeight?: number;\n}\n\nconst toBuffer = async (url: string | Buffer): Promise => {\n\tif (typeof url === 'string') {\n\t\tif (/^https?:\\/\\//.test(url)) {\n\t\t\treturn (await got(url, { responseType: 'buffer', decompress: true, https: { rejectUnauthorized: false } })).body;\n\t\t}\n\n\t\tif (/^data:image\\//.test(url)) {\n\t\t\treturn Buffer.from(url.split(',')[1], 'base64');\n\t\t}\n\n\t\treturn Buffer.from(url);\n\t}\n\n\treturn url;\n};\n\n/**\n * č―ŽæĒå›ūį‰‡æ žåžïžŒéŧ˜čŪĪwebp、最åΧéŦ˜åšĶ1080éŦ˜åšĶ小䚎1080臩åŠĻäļåšå°šåŊļ变æĒ\n * @param url\n * @param format\n * @param maxHeight\n * @param quality\n */\nexport async function convertImage(url: string | Buffer, { format = 'webp', maxHeight = 1080, quality = 80 }: ConvertOption = {}) {\n\tlet buf = await toBuffer(url);\n\n\tconst webpBuffer = await new Promise((resolve) => {\n\t\tsharp(buf)\n\t\t\t.resize({\n\t\t\t\twidth: maxHeight,\n\t\t\t\theight: maxHeight,\n\t\t\t\tfit: 'inside',\n\t\t\t\twithoutEnlargement: true,\n\t\t\t})\n\t\t\t.toFormat(format, { quality })\n\t\t\t.toBuffer((err, buf) => {\n\t\t\t\tresolve(buf);\n\t\t\t});\n\t});\n\n\tconst md5 = SparkMD5.ArrayBuffer.hash(webpBuffer);\n\n\treturn {\n\t\tbuffer: webpBuffer,\n\t\tfilename: `${md5}.${format}`,\n\t};\n}\n\n/**\n * æ›ŋæĒscoreJsonå›ūį‰‡åœ°å€\n * @param scoreJson\n * @param onReplaceImage\n */\nexport const replaceScoreJsonImages = (scoreJson: ScoreJSON, onReplaceImage: (src: string) => string = (src) => src) => {\n\tconst json = JSON.parse(JSON.stringify(scoreJson));\n\n\tjson.pages.forEach((page) => {\n\t\tpage?.src && (page.src = onReplaceImage(page?.src));\n\t});\n\n\tjson.lines.forEach((system) => {\n\t\tsystem.lineStaves.forEach((line) => {\n\t\t\tline.imgs.forEach((staff) => {\n\t\t\t\tstaff?.src && (staff.src = onReplaceImage(staff.src));\n\t\t\t});\n\t\t});\n\t});\n\n\treturn json;\n};\n\n/**\n * čŽ·å–scoreJsonå›ūቇčĩ„暐列čĄĻ\n * @param scoreJson\n */\nexport const getScoreJsonImages = (scoreJson: ScoreJSON) => {\n\treturn [\n\t\t...scoreJson.pages.map((page) => page?.src),\n\t\t...scoreJson.lines\n\t\t\t.map((system) => system.lineStaves.map((staff) => staff.imgs))\n\t\t\t.flat(2)\n\t\t\t.map((staff) => staff?.src)\n\t\t\t.filter(Boolean),\n\t];\n};\n\ninterface ScorePatchesUpdateOptions {\n\tsolutionStore?: SolutionStore;\n}\n\nexport const updateScorePatches = (score: starry.Score, measures: starry.SpartitoMeasure[], options: ScorePatchesUpdateOptions = {}): void => {\n\tconsole.assert(\n\t\tmeasures.every((measure) => measure.validRegulated),\n\t\t'[updateScorePatches] some measures not valid regulated:',\n\t\tmeasures.filter((measure) => !measure.validRegulated)\n\t);\n\n\tscore.patches = measures.map((measure) => measure.createPatch());\n\n\tif (options?.solutionStore) {\n\t\tscore.assemble();\n\t\tconst spartito = score.makeSpartito();\n\n\t\tmeasures.forEach((measure) => {\n\t\t\toptions.solutionStore!.set(measure.regulationHash, { ...measure.asSolution(), priority: 1 });\n\t\t\tif (measure.regulationHash0 !== measure.regulationHash) {\n\t\t\t\tconst originMeasure = spartito.measures.find((m) => m.measureIndex === measure.measureIndex);\n\t\t\t\toptions.solutionStore!.set(measure.regulationHash0, { ...measure.asSolution(originMeasure), priority: 1 });\n\t\t\t}\n\t\t});\n\t}\n};\n\ninterface EditableMeasuresSaveOptions {\n\tstatus?: number;\n\tsolutionStore?: SolutionStore;\n}\n\nexport const saveEditableMeasures = async (\n\tscore: starry.Score,\n\tmeasureIndices: number[],\n\tsaveMeasure: SaveIssueMeasure,\n\t{ status = 2, solutionStore }: EditableMeasuresSaveOptions = {}\n): Promise => {\n\tscore.assemble();\n\tconst spartito = score.spartito || score.makeSpartito();\n\n\tconst measures = measureIndices\n\t\t.map((index) => spartito.measures.find((measure) => measure.measureIndex === index))\n\t\t.filter(Boolean) as starry.SpartitoMeasure[];\n\n\tif (solutionStore) {\n\t\tconst solutions = await solutionStore.batchGet(measures.map((measure) => measure.regulationHash0));\n\t\tmeasures.forEach((measure, i) => {\n\t\t\tconst solution = solutions[i];\n\t\t\tif (solution) measure.applySolution(solution);\n\t\t});\n\t}\n\n\tmeasures.forEach((measure) => {\n\t\tsaveMeasure({\n\t\t\tmeasureIndex: measure.measureIndex,\n\t\t\tmeasure: new starry.EditableMeasure(measure),\n\t\t\tstatus,\n\t\t});\n\t});\n};\n","console.info(`%cstarry-omr%c v1.0.0 2026-02-17T12:40:40.287Z`, 'color:#fff; background-color: #555;padding: 5px;border-radius: 3px 0 0 3px;', 'color: #fff; background-color: #007dc6;padding: 5px;border-radius: 0 3px 3px 0;');\nimport '../../libs/browserComponents';\n\nexport * from '../../libs/predictors';\nexport * from '../../libs/regulation';\nexport * from '../../libs/util';\nexport * as starry from '../../../src/starry';\n"],"names":["eventsModule","events","EventEmitter","Request","pack","unpack","getPortPromise","defaultsDeep","PythonShell","inherits_browserModule","inheritsModule","require$$0","require$$1","util","getPort","sha1","pick","parser","parse","parseCode","grammar","GROUP_N_TO_PITCH","MIDDLE_C","mod7","argmax","Token.TokenClefs","Token.TokenOctshifts","Token.TokenTimesigsC","Token.TokenTimesigsN","MIDI","MidiSequence","Notation","MusicNotation","MidiPlayer","Config","Node","Navigator","Matcher","MidiUtils","require$$2","require$$3","require$$4","undefined","require","EquationSolver.Solver","erf","staffLayout.parseCode","measureLayout.parseCode","WeakLRUCache","starry.beadSolver.solveMeasure","starry.evaluateMeasure","starry.beadSolver.estimateMeasure","starry.EditableMeasure","starry.Staff","starry.System","got","sharp","SparkMD5"],"mappings":"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AAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;YACnJ,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;AACxG,YAAA,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;YACnJ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACf,YAAA,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;YAC7F,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACf,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;YACtD,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACf,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACf,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACf,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACf,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACd,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACd,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACd,YAAA,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;YACb,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACf,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;YACtD,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACf,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;YACtD,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACf,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACf,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACf,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACf,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACf,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC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"} \ No newline at end of file diff --git a/backend/omr/dist/worker.d.ts b/backend/omr/dist/worker.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..cb0ff5c3b541f646105198ee23ac0fc3d805023e --- /dev/null +++ b/backend/omr/dist/worker.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/backend/omr/dist/worker.js b/backend/omr/dist/worker.js new file mode 100644 index 0000000000000000000000000000000000000000..80266381ee3cbc1d984c0154af4795c063b80835 --- /dev/null +++ b/backend/omr/dist/worker.js @@ -0,0 +1,11 @@ +(function(){"use strict";var environment$2={exports:{}},requireFoolWebpack$1=eval("typeof require !== 'undefined' ? require : function (module) { throw new Error('Module \" + module + \" not found.') }"),requireFoolWebpack_1=requireFoolWebpack$1;function Promise$2(e,t){var r=this;if(!(this instanceof Promise$2))throw new SyntaxError("Constructor must be called with the new operator");if("function"!=typeof e)throw new SyntaxError("Function parameter handler(resolve, reject) missing");var n=[],s=[];this.resolved=!1,this.rejected=!1,this.pending=!0;var i=function(e,t){n.push(e),s.push(t)};this.then=function(e,t){return new Promise$2(function(r,n){var s=e?_then(e,r,n):r,o=t?_then(t,r,n):n;i(s,o)},r)};var o=function(e){return r.resolved=!0,r.rejected=!1,r.pending=!1,n.forEach(function(t){t(e)}),i=function(t,r){t(e)},o=a=function(){},r},a=function(e){return r.resolved=!1,r.rejected=!0,r.pending=!1,s.forEach(function(t){t(e)}),i=function(t,r){r(e)},o=a=function(){},r};this.cancel=function(){return t?t.cancel():a(new CancellationError),r},this.timeout=function(e){if(t)t.timeout(e);else{var n=setTimeout(function(){a(new TimeoutError("Promise timed out after "+e+" ms"))},e);r.always(function(){clearTimeout(n)})}return r},e(function(e){o(e)},function(e){a(e)})}function _then(e,t,r){return function(n){try{var s=e(n);s&&"function"==typeof s.then&&"function"==typeof s.catch?s.then(t,r):t(s)}catch(e){r(e)}}}function CancellationError(e){this.message=e||"promise cancelled",this.stack=(new Error).stack}function TimeoutError(e){this.message=e||"timeout exceeded",this.stack=(new Error).stack}!function(e){var t=requireFoolWebpack_1,r=function(e){return void 0!==e&&null!=e.versions&&null!=e.versions.node};e.exports.isNode=r,e.exports.platform="undefined"!=typeof process&&r(process)?"node":"browser";var n=function(e){try{return t(e)}catch(e){return null}}("worker_threads");e.exports.isMainThread="node"===e.exports.platform?(!n||n.isMainThread)&&!process.connected:"undefined"!=typeof Window,e.exports.cpus="browser"===e.exports.platform?self.navigator.hardwareConcurrency:t("os").cpus().length}(environment$2),Promise$2.prototype.catch=function(e){return this.then(null,e)},Promise$2.prototype.always=function(e){return this.then(e,e)},Promise$2.all=function(e){return new Promise$2(function(t,r){var n=e.length,s=[];n?e.forEach(function(e,i){e.then(function(e){s[i]=e,0==--n&&t(s)},function(e){n=0,r(e)})}):t(s)})},Promise$2.defer=function(){var e={};return e.promise=new Promise$2(function(t,r){e.resolve=t,e.reject=r}),e},CancellationError.prototype=new Error,CancellationError.prototype.constructor=Error,CancellationError.prototype.name="CancellationError",Promise$2.CancellationError=CancellationError,TimeoutError.prototype=new Error,TimeoutError.prototype.constructor=Error,TimeoutError.prototype.name="TimeoutError",Promise$2.TimeoutError=TimeoutError;var _Promise=Promise$2,WorkerHandler$1={exports:{}},embeddedWorker='!function(){var __webpack_modules__={577:function(e){e.exports=function(e,r){this.message=e,this.transfer=r}}},__webpack_module_cache__={};function __webpack_require__(e){var r=__webpack_module_cache__[e];return void 0!==r||(r=__webpack_module_cache__[e]={exports:{}},__webpack_modules__[e](r,r.exports,__webpack_require__)),r.exports}var __webpack_exports__={};!function(){var exports=__webpack_exports__,__webpack_unused_export__;function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var Transfer=__webpack_require__(577),requireFoolWebpack=eval("typeof require !== \'undefined\' ? require : function (module) { throw new Error(\'Module \\" + module + \\" not found.\') }"),TERMINATE_METHOD_ID="__workerpool-terminate__",worker={exit:function(){}},WorkerThreads,parentPort;if("undefined"!=typeof self&&"function"==typeof postMessage&&"function"==typeof addEventListener)worker.on=function(e,r){addEventListener(e,function(e){r(e.data)})},worker.send=function(e){postMessage(e)};else{if("undefined"==typeof process)throw new Error("Script must be executed as a worker");try{WorkerThreads=requireFoolWebpack("worker_threads")}catch(error){if("object"!==_typeof(error)||null===error||"MODULE_NOT_FOUND"!==error.code)throw error}WorkerThreads&&null!==WorkerThreads.parentPort?(parentPort=WorkerThreads.parentPort,worker.send=parentPort.postMessage.bind(parentPort),worker.on=parentPort.on.bind(parentPort)):(worker.on=process.on.bind(process),worker.send=function(e){process.send(e)},worker.on("disconnect",function(){process.exit(1)})),worker.exit=process.exit.bind(process)}function convertError(o){return Object.getOwnPropertyNames(o).reduce(function(e,r){return Object.defineProperty(e,r,{value:o[r],enumerable:!0})},{})}function isPromise(e){return e&&"function"==typeof e.then&&"function"==typeof e.catch}worker.methods={},worker.methods.run=function(e,r){e=new Function("return ("+e+").apply(null, arguments);");return e.apply(e,r)},worker.methods.methods=function(){return Object.keys(worker.methods)},worker.terminationHandler=void 0,worker.cleanupAndExit=function(e){function r(){worker.exit(e)}if(!worker.terminationHandler)return r();var o=worker.terminationHandler(e);isPromise(o)?o.then(r,r):r()};var currentRequestId=null;worker.on("message",function(r){if(r===TERMINATE_METHOD_ID)return worker.cleanupAndExit(0);try{var e=worker.methods[r.method];if(!e)throw new Error(\'Unknown method "\'+r.method+\'"\');currentRequestId=r.id;var o=e.apply(e,r.params);isPromise(o)?o.then(function(e){e instanceof Transfer?worker.send({id:r.id,result:e.message,error:null},e.transfer):worker.send({id:r.id,result:e,error:null}),currentRequestId=null}).catch(function(e){worker.send({id:r.id,result:null,error:convertError(e)}),currentRequestId=null}):(o instanceof Transfer?worker.send({id:r.id,result:o.message,error:null},o.transfer):worker.send({id:r.id,result:o,error:null}),currentRequestId=null)}catch(e){worker.send({id:r.id,result:null,error:convertError(e)})}}),worker.register=function(e,r){if(e)for(var o in e)e.hasOwnProperty(o)&&(worker.methods[o]=e[o]);r&&(worker.terminationHandler=r.onTerminate),worker.send("ready")},worker.emit=function(e){currentRequestId&&(e instanceof Transfer?worker.send({id:currentRequestId,isEvent:!0,payload:e.message},e.transfer):worker.send({id:currentRequestId,isEvent:!0,payload:e}))},__webpack_unused_export__=worker.register,worker.emit}()}();',Promise$1=_Promise,environment$1=environment$2.exports,requireFoolWebpack=requireFoolWebpack_1,TERMINATE_METHOD_ID="__workerpool-terminate__";function ensureWorkerThreads(){var e=tryRequireWorkerThreads();if(!e)throw new Error("WorkerPool: workerType = 'thread' is not supported, Node >= 11.7.0 required");return e}function ensureWebWorker(){if("function"!=typeof Worker&&("object"!=typeof Worker||"function"!=typeof Worker.prototype.constructor))throw new Error("WorkerPool: Web Workers not supported")}function tryRequireWorkerThreads(){try{return requireFoolWebpack("worker_threads")}catch(e){if("object"==typeof e&&null!==e&&"MODULE_NOT_FOUND"===e.code)return null;throw e}}function getDefaultWorker(){if("browser"===environment$1.platform){if("undefined"==typeof Blob)throw new Error("Blob not supported by the browser");if(!window.URL||"function"!=typeof window.URL.createObjectURL)throw new Error("URL.createObjectURL not supported by the browser");var e=new Blob([embeddedWorker],{type:"text/javascript"});return window.URL.createObjectURL(e)}return __dirname+"/worker.js"}function setupWorker(e,t){if("web"===t.workerType)return ensureWebWorker(),setupBrowserWorker(e,t.workerOpts,Worker);if("thread"===t.workerType)return setupWorkerThreadWorker(e,r=ensureWorkerThreads(),t.workerThreadOpts);if("process"!==t.workerType&&t.workerType){if("browser"===environment$1.platform)return ensureWebWorker(),setupBrowserWorker(e,t.workerOpts,Worker);var r=tryRequireWorkerThreads();return r?setupWorkerThreadWorker(e,r,t.workerThreadOpts):setupProcessWorker(e,resolveForkOptions(t),requireFoolWebpack("child_process"))}return setupProcessWorker(e,resolveForkOptions(t),requireFoolWebpack("child_process"))}function setupBrowserWorker(e,t,r){var n=new r(e,t);return n.isBrowserWorker=!0,n.on=function(e,t){this.addEventListener(e,function(e){t(e.data)})},n.send=function(e,t){this.postMessage(e,t)},n}function setupWorkerThreadWorker(e,t,r){var n=new t.Worker(e,{stdout:!1,stderr:!1,...r});return n.isWorkerThread=!0,n.send=function(e,t){this.postMessage(e,t)},n.kill=function(){return this.terminate(),!0},n.disconnect=function(){this.terminate()},n}function setupProcessWorker(e,t,r){var n=r.fork(e,t.forkArgs,t.forkOpts),s=n.send;return n.send=function(e){return s.call(n,e)},n.isChildProcess=!0,n}function resolveForkOptions(e){e=e||{};var t=process.execArgv.join(" "),r=-1!==t.indexOf("--inspect"),n=-1!==t.indexOf("--debug-brk"),s=[];return r&&(s.push("--inspect="+e.debugPort),n&&s.push("--debug-brk")),process.execArgv.forEach(function(e){e.indexOf("--max-old-space-size")>-1&&s.push(e)}),Object.assign({},e,{forkArgs:e.forkArgs,forkOpts:Object.assign({},e.forkOpts,{execArgv:(e.forkOpts&&e.forkOpts.execArgv||[]).concat(s)})})}function objectToError(e){for(var t=new Error(""),r=Object.keys(e),n=0;n0},WorkerHandler.prototype.terminate=function(e,t){var r=this;if(e){for(var n in this.processing)void 0!==this.processing[n]&&this.processing[n].resolver.reject(new Error("Worker terminated"));this.processing=Object.create(null)}if("function"==typeof t&&(this.terminationHandler=t),this.busy())this.terminating=!0;else{var s=function(e){if(r.terminated=!0,r.cleaning=!1,null!=r.worker&&r.worker.removeAllListeners&&r.worker.removeAllListeners("message"),r.worker=null,r.terminating=!1,r.terminationHandler)r.terminationHandler(e,r);else if(e)throw e};if(this.worker){if("function"==typeof this.worker.kill){if(this.worker.killed)return void s(new Error("worker already killed!"));var i=setTimeout(function(){r.worker&&r.worker.kill()},this.workerTerminateTimeout);return this.worker.once("exit",function(){clearTimeout(i),r.worker&&(r.worker.killed=!0),s()}),this.worker.ready?this.worker.send(TERMINATE_METHOD_ID):this.requestQueue.push({message:TERMINATE_METHOD_ID}),void(this.cleaning=!0)}if("function"!=typeof this.worker.terminate)throw new Error("Failed to terminate worker");this.worker.terminate(),this.worker.killed=!0}s()}},WorkerHandler.prototype.terminateAndNotify=function(e,t){var r=Promise$1.defer();return t&&r.promise.timeout(t),this.terminate(e,function(e,t){e?r.reject(e):r.resolve(t)}),r.promise},WorkerHandler$1.exports=WorkerHandler,WorkerHandler$1.exports._tryRequireWorkerThreads=tryRequireWorkerThreads,WorkerHandler$1.exports._setupProcessWorker=setupProcessWorker,WorkerHandler$1.exports._setupBrowserWorker=setupBrowserWorker,WorkerHandler$1.exports._setupWorkerThreadWorker=setupWorkerThreadWorker,WorkerHandler$1.exports.ensureWorkerThreads=ensureWorkerThreads;var worker$1={};function Transfer(e,t){this.message=e,this.transfer=t}var transfer=Transfer;(function(exports){var Transfer=transfer,requireFoolWebpack=eval("typeof require !== 'undefined' ? require : function (module) { throw new Error('Module \" + module + \" not found.') }"),TERMINATE_METHOD_ID="__workerpool-terminate__",worker={exit:function(){}};if("undefined"!=typeof self&&"function"==typeof postMessage&&"function"==typeof addEventListener)worker.on=function(e,t){addEventListener(e,function(e){t(e.data)})},worker.send=function(e){postMessage(e)};else{if("undefined"==typeof process)throw new Error("Script must be executed as a worker");var WorkerThreads;try{WorkerThreads=requireFoolWebpack("worker_threads")}catch(e){if("object"!=typeof e||null===e||"MODULE_NOT_FOUND"!==e.code)throw e}if(WorkerThreads&&null!==WorkerThreads.parentPort){var parentPort=WorkerThreads.parentPort;worker.send=parentPort.postMessage.bind(parentPort),worker.on=parentPort.on.bind(parentPort),worker.exit=process.exit.bind(process)}else worker.on=process.on.bind(process),worker.send=function(e){process.send(e)},worker.on("disconnect",function(){process.exit(1)}),worker.exit=process.exit.bind(process)}function convertError(e){return Object.getOwnPropertyNames(e).reduce(function(t,r){return Object.defineProperty(t,r,{value:e[r],enumerable:!0})},{})}function isPromise(e){return e&&"function"==typeof e.then&&"function"==typeof e.catch}worker.methods={},worker.methods.run=function(e,t){var r=new Function("return ("+e+").apply(null, arguments);");return r.apply(r,t)},worker.methods.methods=function(){return Object.keys(worker.methods)},worker.terminationHandler=void 0,worker.cleanupAndExit=function(e){var t=function(){worker.exit(e)};if(!worker.terminationHandler)return t();var r=worker.terminationHandler(e);isPromise(r)?r.then(t,t):t()};var currentRequestId=null;worker.on("message",function(e){if(e===TERMINATE_METHOD_ID)return worker.cleanupAndExit(0);try{var t=worker.methods[e.method];if(!t)throw new Error('Unknown method "'+e.method+'"');currentRequestId=e.id;var r=t.apply(t,e.params);isPromise(r)?r.then(function(t){t instanceof Transfer?worker.send({id:e.id,result:t.message,error:null},t.transfer):worker.send({id:e.id,result:t,error:null}),currentRequestId=null}).catch(function(t){worker.send({id:e.id,result:null,error:convertError(t)}),currentRequestId=null}):(r instanceof Transfer?worker.send({id:e.id,result:r.message,error:null},r.transfer):worker.send({id:e.id,result:r,error:null}),currentRequestId=null)}catch(t){worker.send({id:e.id,result:null,error:convertError(t)})}}),worker.register=function(e,t){if(e)for(var r in e)e.hasOwnProperty(r)&&(worker.methods[r]=e[r]);t&&(worker.terminationHandler=t.onTerminate),worker.send("ready")},worker.emit=function(e){if(currentRequestId){if(e instanceof Transfer)return void worker.send({id:currentRequestId,isEvent:!0,payload:e.message},e.transfer);worker.send({id:currentRequestId,isEvent:!0,payload:e})}},exports.add=worker.register,exports.emit=worker.emit})(worker$1);var environment=environment$2.exports,worker=function(e,t){var r=worker$1;r.add(e,t)};environment.platform,environment.isMainThread,environment.cpus;var Sylvester={Matrix:function(){}};Sylvester.Matrix.create=function(e){return(new Sylvester.Matrix).setElements(e)},Sylvester.Matrix.I=function(e){for(var t,r=[],n=e;n--;)for(t=e,r[n]=[];t--;)r[n][t]=n===t?1:0;return Sylvester.Matrix.create(r)},Sylvester.Matrix.prototype={dup:function(){return Sylvester.Matrix.create(this.elements)},isSquare:function(){var e=0===this.elements.length?0:this.elements[0].length;return this.elements.length===e},toRightTriangular:function(){if(0===this.elements.length)return Sylvester.Matrix.create([]);var e,t,r,n,s=this.dup(),i=this.elements.length,o=this.elements[0].length;for(t=0;t=i&&l[o].push(s);for(a.elements[o]=r,e=o;e--;){for(r=[],t=0;t>2]|=e[s]<>2]|=r<>2]|=(192|r>>6)<>2]|=(128|63&r)<=57344?(o[n>>2]|=(224|r>>12)<>2]|=(128|r>>6&63)<>2]|=(128|63&r)<>2]|=(240|r>>18)<>2]|=(128|r>>12&63)<>2]|=(128|r>>6&63)<>2]|=(128|63&r)<=64?(this.block=o[16],this.start=n-64,this.hash(),this.hashed=!0):this.start=n}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296|0,this.bytes=this.bytes%4294967296),this}},Sha1.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var e=this.blocks,t=this.lastByteIndex;e[16]=this.block,e[t>>2]|=EXTRA[3&t],this.block=e[16],t>=56&&(this.hashed||this.hash(),e[0]=this.block,e[16]=e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=e[7]=e[8]=e[9]=e[10]=e[11]=e[12]=e[13]=e[14]=e[15]=0),e[14]=this.hBytes<<3|this.bytes>>>29,e[15]=this.bytes<<3,this.hash()}},Sha1.prototype.hash=function(){var e,t,r=this.h0,n=this.h1,s=this.h2,i=this.h3,o=this.h4,a=this.blocks;for(e=16;e<80;++e)t=a[e-3]^a[e-8]^a[e-14]^a[e-16],a[e]=t<<1|t>>>31;for(e=0;e<20;e+=5)r=(t=(n=(t=(s=(t=(i=(t=(o=(t=r<<5|r>>>27)+(n&s|~n&i)+o+1518500249+a[e]|0)<<5|o>>>27)+(r&(n=n<<30|n>>>2)|~r&s)+i+1518500249+a[e+1]|0)<<5|i>>>27)+(o&(r=r<<30|r>>>2)|~o&n)+s+1518500249+a[e+2]|0)<<5|s>>>27)+(i&(o=o<<30|o>>>2)|~i&r)+n+1518500249+a[e+3]|0)<<5|n>>>27)+(s&(i=i<<30|i>>>2)|~s&o)+r+1518500249+a[e+4]|0,s=s<<30|s>>>2;for(;e<40;e+=5)r=(t=(n=(t=(s=(t=(i=(t=(o=(t=r<<5|r>>>27)+(n^s^i)+o+1859775393+a[e]|0)<<5|o>>>27)+(r^(n=n<<30|n>>>2)^s)+i+1859775393+a[e+1]|0)<<5|i>>>27)+(o^(r=r<<30|r>>>2)^n)+s+1859775393+a[e+2]|0)<<5|s>>>27)+(i^(o=o<<30|o>>>2)^r)+n+1859775393+a[e+3]|0)<<5|n>>>27)+(s^(i=i<<30|i>>>2)^o)+r+1859775393+a[e+4]|0,s=s<<30|s>>>2;for(;e<60;e+=5)r=(t=(n=(t=(s=(t=(i=(t=(o=(t=r<<5|r>>>27)+(n&s|n&i|s&i)+o-1894007588+a[e]|0)<<5|o>>>27)+(r&(n=n<<30|n>>>2)|r&s|n&s)+i-1894007588+a[e+1]|0)<<5|i>>>27)+(o&(r=r<<30|r>>>2)|o&n|r&n)+s-1894007588+a[e+2]|0)<<5|s>>>27)+(i&(o=o<<30|o>>>2)|i&r|o&r)+n-1894007588+a[e+3]|0)<<5|n>>>27)+(s&(i=i<<30|i>>>2)|s&o|i&o)+r-1894007588+a[e+4]|0,s=s<<30|s>>>2;for(;e<80;e+=5)r=(t=(n=(t=(s=(t=(i=(t=(o=(t=r<<5|r>>>27)+(n^s^i)+o-899497514+a[e]|0)<<5|o>>>27)+(r^(n=n<<30|n>>>2)^s)+i-899497514+a[e+1]|0)<<5|i>>>27)+(o^(r=r<<30|r>>>2)^n)+s-899497514+a[e+2]|0)<<5|s>>>27)+(i^(o=o<<30|o>>>2)^r)+n-899497514+a[e+3]|0)<<5|n>>>27)+(s^(i=i<<30|i>>>2)^o)+r-899497514+a[e+4]|0,s=s<<30|s>>>2;this.h0=this.h0+r|0,this.h1=this.h1+n|0,this.h2=this.h2+s|0,this.h3=this.h3+i|0,this.h4=this.h4+o|0},Sha1.prototype.hex=function(){this.finalize();var e=this.h0,t=this.h1,r=this.h2,n=this.h3,s=this.h4;return HEX_CHARS[e>>28&15]+HEX_CHARS[e>>24&15]+HEX_CHARS[e>>20&15]+HEX_CHARS[e>>16&15]+HEX_CHARS[e>>12&15]+HEX_CHARS[e>>8&15]+HEX_CHARS[e>>4&15]+HEX_CHARS[15&e]+HEX_CHARS[t>>28&15]+HEX_CHARS[t>>24&15]+HEX_CHARS[t>>20&15]+HEX_CHARS[t>>16&15]+HEX_CHARS[t>>12&15]+HEX_CHARS[t>>8&15]+HEX_CHARS[t>>4&15]+HEX_CHARS[15&t]+HEX_CHARS[r>>28&15]+HEX_CHARS[r>>24&15]+HEX_CHARS[r>>20&15]+HEX_CHARS[r>>16&15]+HEX_CHARS[r>>12&15]+HEX_CHARS[r>>8&15]+HEX_CHARS[r>>4&15]+HEX_CHARS[15&r]+HEX_CHARS[n>>28&15]+HEX_CHARS[n>>24&15]+HEX_CHARS[n>>20&15]+HEX_CHARS[n>>16&15]+HEX_CHARS[n>>12&15]+HEX_CHARS[n>>8&15]+HEX_CHARS[n>>4&15]+HEX_CHARS[15&n]+HEX_CHARS[s>>28&15]+HEX_CHARS[s>>24&15]+HEX_CHARS[s>>20&15]+HEX_CHARS[s>>16&15]+HEX_CHARS[s>>12&15]+HEX_CHARS[s>>8&15]+HEX_CHARS[s>>4&15]+HEX_CHARS[15&s]},Sha1.prototype.toString=Sha1.prototype.hex,Sha1.prototype.digest=function(){this.finalize();var e=this.h0,t=this.h1,r=this.h2,n=this.h3,s=this.h4;return[e>>24&255,e>>16&255,e>>8&255,255&e,t>>24&255,t>>16&255,t>>8&255,255&t,r>>24&255,r>>16&255,r>>8&255,255&r,n>>24&255,n>>16&255,n>>8&255,255&n,s>>24&255,s>>16&255,s>>8&255,255&s]},Sha1.prototype.array=Sha1.prototype.digest,Sha1.prototype.arrayBuffer=function(){this.finalize();var e=new ArrayBuffer(20),t=new DataView(e);return t.setUint32(0,this.h0),t.setUint32(4,this.h1),t.setUint32(8,this.h2),t.setUint32(12,this.h3),t.setUint32(16,this.h4),e};var exports=createMethod();COMMON_JS?module.exports=exports:root.sha1=exports})()})(sha1),function(e){e.ClefG="ClefG",e.ClefF="ClefF",e.ClefC="ClefC",e.NoteheadS0="NoteheadS0",e.NoteheadS1="NoteheadS1",e.NoteheadS2="NoteheadS2",e.NoteheadS1stemU="NoteheadS1stemU",e.NoteheadS1stemD="NoteheadS1stemD",e.NoteheadS2stemU="NoteheadS2stemU",e.NoteheadS2stemD="NoteheadS2stemD",e.vline_Stem="vline_Stem",e.Flag3="Flag3",e.BeamLeft="BeamLeft",e.BeamContinue="BeamContinue",e.BeamRight="BeamRight",e.TremoloLeft="TremoloLeft",e.TremoloRight="TremoloRight",e.TremoloMiddle="TremoloMiddle",e.Dot="Dot",e.Rest0="Rest0",e.Rest1="Rest1",e.Rest2="Rest2",e.Rest3="Rest3",e.Rest4="Rest4",e.Rest5="Rest5",e.Rest6="Rest6",e.Rest0W="Rest0W",e.RestM1="RestM1",e.AccNatural="AccNatural",e.AccSharp="AccSharp",e.AccDoublesharp="AccDoublesharp",e.AccFlat="AccFlat",e.AccFlatflat="AccFlatflat",e.vline_VoltaLeft="vline_VoltaLeft",e.vline_VoltaRight="vline_VoltaRight",e.VoltaLeft="VoltaLeft",e.VoltaRight="VoltaRight",e.VoltaAlternativeBegin="VoltaAlternativeBegin",e.BarMeasure="BarMeasure",e.vline_BarMeasure="vline_BarMeasure",e.vline_BarTerminal="vline_BarTerminal",e.vline_BarSegment="vline_BarSegment",e.SlurBegin="SlurBegin",e.SlurEnd="SlurEnd",e.TimesigC44="TimesigC44",e.TimesigC22="TimesigC22",e.TimesigZero="TimesigZero",e.TimesigOne="TimesigOne",e.TimesigTwo="TimesigTwo",e.TimesigThree="TimesigThree",e.TimesigFour="TimesigFour",e.TimesigFive="TimesigFive",e.TimesigSix="TimesigSix",e.TimesigSeven="TimesigSeven",e.TimesigEight="TimesigEight",e.TimesigNine="TimesigNine",e.OctaveShift8va="OctaveShift8va",e.OctaveShift8vb="OctaveShift8vb",e.OctaveShift8="OctaveShift8",e.OctaveShift0="OctaveShift0",e.Zero="Zero",e.One="One",e.Two="Two",e.Three="Three",e.Four="Four",e.Five="Five",e.Six="Six",e.Seven="Seven",e.Eight="Eight",e.Nine="Nine",e.f="f",e.p="p",e.m="m",e.n="n",e.r="r",e.s="s",e.z="z",e.CrescendoBegin="CrescendoBegin",e.CrescendoEnd="CrescendoEnd",e.DecrescendoBegin="DecrescendoBegin",e.DecrescendoEnd="DecrescendoEnd",e.ScriptFermata="ScriptFermata",e.ScriptShortFermata="ScriptShortFermata",e.ScriptSforzato="ScriptSforzato",e.ScriptStaccato="ScriptStaccato",e.ScriptStaccatissimo="ScriptStaccatissimo",e.ScriptTurn="ScriptTurn",e.ScriptTrill="ScriptTrill",e.ScriptSegno="ScriptSegno",e.ScriptCoda="ScriptCoda",e.ScriptArpeggio="ScriptArpeggio",e.ScriptPrall="ScriptPrall",e.ScriptMordent="ScriptMordent",e.ScriptMarcato="ScriptMarcato",e.ScriptTenuto="ScriptTenuto",e.ScriptPortato="ScriptPortato",e.PedalStar="PedalStar",e.PedalPed="PedalPed",e.KeyAcc="KeyAcc",e.TempoNotehead="TempoNotehead",e.GraceNotehead="GraceNotehead",e.SignLined="SignLined",e.SignInterval="SignInterval",e.rect_Text="rect_Text",e.rect_Lyric="rect_Lyric"}(SemanticType||(SemanticType={})),SemanticType.BarMeasure,SemanticType.vline_BarMeasure,SemanticType.vline_BarTerminal,SemanticType.vline_BarSegment,SemanticType.vline_VoltaLeft,SemanticType.vline_VoltaRight,SemanticType.VoltaAlternativeBegin;const st=SemanticType;st.NoteheadS0,st.NoteheadS1,st.NoteheadS2,st.Zero,st.One,st.Two,st.Three,st.Four,st.Five,st.Six,st.Seven,st.Eight,st.Nine,st.ScriptStaccatissimo,st.TimesigZero,st.TimesigOne,st.TimesigTwo,st.TimesigThree,st.TimesigFour,st.TimesigFive,st.TimesigSix,st.TimesigSeven,st.TimesigEight,st.TimesigNine,st.Rest0,st.Rest1,st.Rest2,st.Rest3,st.Rest4,st.Rest5,st.Rest6,st.Rest0W,st.RestM1,st.SignInterval,st.SignLined,st.BeamLeft,st.BeamContinue,st.BeamRight,st.ClefG,st.ClefF,st.ClefC,st.NoteheadS0,st.NoteheadS1,st.NoteheadS2,st.Dot,st.Rest0,st.Rest1,st.Rest2,st.Rest3,st.Rest4,st.Rest5,st.Rest6,st.RestM1,st.AccNatural,st.AccSharp,st.AccDoublesharp,st.AccFlat,st.AccFlatflat,st.TimesigC44,st.TimesigC22,st.TimesigZero,st.TimesigOne,st.TimesigTwo,st.TimesigThree,st.TimesigFour,st.TimesigFive,st.TimesigSix,st.TimesigSeven,st.TimesigEight,st.TimesigNine,st.One,st.Two,st.Three,st.Four,st.Five,st.OctaveShift8,st.OctaveShift0,st.f,st.p,st.m,st.n,st.r,st.s,st.z,st.ScriptFermata,st.ScriptShortFermata,st.ScriptSforzato,st.ScriptStaccato,st.ScriptStaccatissimo,st.ScriptTurn,st.ScriptTrill,st.ScriptSegno,st.ScriptCoda,st.ScriptArpeggio,st.ScriptPrall,st.ScriptMordent,st.ScriptMarcato,st.ScriptTenuto,st.ScriptPortato,st.PedalStar,st.PedalPed;const roundNumber=(e,t,r=-1/0)=>Math.max(Math.round(e/t)*t,r),gcd=(e,t)=>Number.isInteger(e)&&Number.isInteger(t)?0===t?e:gcd(t,e%t):(console.error("non-integer gcd:",e,t),1),frac=(e,t)=>({numerator:e,denominator:t}),reducedFraction=(e,t)=>{e=Math.round(e),t=Math.round(t);const r=0!==e?gcd(e,t):t;return frac(e/r,t/r)},fractionMul=(e,t)=>t?e*t.numerator/t.denominator:e;class DummyLogger{debug(...e){}group(...e){}groupCollapsed(...e){}groupEnd(){}info(...e){}warn(...e){}assert(...e){}}const EOM=-1,GREAT_NUMBER=1920,DURATION_MULTIPLIER=1921920,floatToFrac=e=>{const t=Math.round(e*GREAT_NUMBER);return reducedFraction(t,GREAT_NUMBER)},floatToTimeWarp=e=>1===e?null:floatToFrac(e);var ActionType;!function(e){e[e.PLACE=0]="PLACE",e[e.VERTICAL=1]="VERTICAL",e[e.HORIZONTAL=2]="HORIZONTAL"}(ActionType||(ActionType={}));class Action{constructor(e){Object.assign(this,e)}static P(e){return new Action({type:ActionType.PLACE,e1:e})}static V(e,t,r=1){return new Action({type:ActionType.VERTICAL,e1:r>0?e:t,e2:r>0?t:e})}static H(e,t){return new Action({type:ActionType.HORIZONTAL,e1:e,e2:t})}get id(){switch(this.type){case ActionType.PLACE:return this.e1.toString();case ActionType.VERTICAL:return`${this.e1}|${this.e2}`;case ActionType.HORIZONTAL:return`${this.e1}-${this.e2>=0?this.e2:"."}`}}get events(){return[this.e1,this.e2].filter(Number.isFinite)}}class StageMatrix{static fromNode(e,t){const r=Array(e.stages.length).fill(null).map(()=>Array(e.stages.length).fill(null).map(()=>new Set));e.actions.filter(e=>e.type===ActionType.HORIZONTAL).forEach(t=>{const n=e.stages.findIndex(e=>e.events.includes(t.e1)),s=e.stages.findIndex(e=>e.events.includes(t.e2));console.assert(n>=0&&s>=0,"invalid stages for H action:",e.id,e.stages,t),r[n][s].add(t.e1)}),r[0][e.stages.length-1].add(0);const n=e.stagedEvents,s=t.matrixH[t.matrixH.length-1].filter((e,t)=>!n.has(t)),i=Math.max(0,Math.max(...s)-.01),o=e.actions.filter(e=>e.type===ActionType.HORIZONTAL),a=Object.keys(t.eventMap).map(Number).filter(e=>!o.find(t=>t.e2===e));return e.stages.forEach(n=>{n.events.forEach(s=>{if(s>0){!o.find(e=>e.e1===s)&&t.matrixH[t.matrixH.length-1][s]>=i&&(a.some(e=>t.matrixH[e][s]>0)||r[n.index][e.stages.length-1].add(s))}})}),new StageMatrix({matrix:r})}constructor(e){Object.assign(this,e)}pathOf(e,t,r,n=0){if(this.matrix[e][t].size){const s=[...this.matrix[e][t]][n];if(t===r)return[s];for(let e=t+1;e<=r;++e){const n=this.pathOf(t,e,r);if(n)return[s,...n]}}return null}findDoublePath(e,t){const r=[];for(let n=t;n>=e+1;--n)for(let s=0;st.forEach(t=>e.forEach(e=>t.delete(e))))}toEquations(e){const t=[];for(let r=1;ri[e]=1),s.forEach(e=>i[e]=-1),t.push(i),this.reducePath(n.length>s.length?n:s)}}}return t}}class PathNode{constructor(e){Object.assign(this,e),console.assert(this.logger,"logger is null:",e)}get actions(){const e=this.parent?this.parent.actions:[];return this.action?[...e,this.action]:e}get id(){return this.actions.map(e=>e.id).sort().join(" ")}get stagedEvents(){const e=new Set;return this.stages&&this.stages.forEach(t=>t.events.forEach(t=>t>=0&&e.add(t))),e}like(e){return e.split(" ").sort().join(" ")===this.id}constructStages(e){this.stages=[{events:[EOM]}];for(const t of this.actions)switch(t.type){case ActionType.PLACE:this.stages.unshift({events:[t.e1]});break;case ActionType.VERTICAL:{const e=this.stages.find(e=>e.events.includes(t.e1)),r=this.stages.find(e=>e.events.includes(t.e2));console.assert(e||r,"invalid V action:",this.stages,t),e&&r?(e.events.push(...r.events),r.events=null,this.stages=this.stages.filter(e=>e.events)):e?r||e.events.push(t.e2):r.events.unshift(t.e1)}break;case ActionType.HORIZONTAL:{const r=this.stages.find(e=>e.events.includes(t.e1)),n=this.stages.find(e=>e.events.includes(t.e2));console.assert(r||n,"invalid H action:",this.stages,t);const s=r=>{console.assert(e.eventMap[r],"invalid event id:",t.id,r,e.eventMap);const n=e.eventMap[r].x,s=this.stages.find(t=>t.events.some(t=>t>0&&e.eventMap[t].x<=n)&&t.events.some(t=>t>0&&e.eventMap[t].x>=n));if(s)s.events.push(r);else{const t={events:[r]},s=this.stages.findIndex(t=>t.events[0]===EOM||e.eventMap[t.events[0]].x>=n);this.stages.splice(s,0,t)}};r||s(t.e1),n||s(t.e2)}}this.stages.forEach((e,t)=>e.index=t)}constructConstraints(e){const t=Object.keys(e.eventMap).length,r=StageMatrix.fromNode(this,e).toEquations(t),n=Array(t).fill(null).map((t,r)=>e.eventMap[r].duration);this.constraints=r.map(e=>e.map((e,t)=>e*n[t]))}inbalancesConstraints(e){console.assert(this.constraints,"constraints not constructed.");const t=Object.keys(e.eventMap).length,r=Array(t).fill(!0),n=Array(t).fill(!1),s=[];for(const e of this.constraints){const t=e.reduce((e,t)=>e+t,0);if(0!==t){const i=t<0?e.map(e=>-e):e;if(i[0]>0)continue;s.push(i),i.forEach((e,t)=>{n[t]=n[t]||e<0,e&&(r[t]=e<0||n[t])})}}return this.constraints.forEach(e=>{0!==e.reduce((e,t)=>e+t,0)||e[0]||e.some((e,t)=>e&&!r[t])&&(e.forEach((e,t)=>e&&(r[t]=!1)),s.push(e))}),{ones:r,inbalances:s}}solveEquations({ones:e,inbalances:t}){if(!t.length)return e.map(()=>1);const r=e.map((e,t)=>({fixed:e,i:t})).filter(({fixed:e})=>!e).map(({i:e})=>e).filter(e=>t.some(t=>0!==t[e]));if(!r.length)return e.map(()=>1);const n=r.map(e=>Math.abs(t.find(t=>0!==t[e])[e])),s=new Map;let i=!1;const o=t.map(e=>({line:e.filter((e,t)=>r.includes(t)),bias:-e.reduce((e,t,n)=>e+(r.includes(n)?0:t),0)})).filter(({line:e,bias:t})=>{if(e.every(e=>0===e))return!1;const r=e.join(",");return s.has(r)?(i=s.get(r)!==t,!1):(s.set(r,t),!0)});if(i)return null;const a=o.slice(0,r.length),c=o.slice(r.length);if(a.lengthr===t?1:r===s?-1:0),bias:0,prior:(n[t]+n[s])/DURATION_MULTIPLIER};a.some(e=>e.line[t]&&e.line[s])&&(i.prior-=10),a.some(e=>1===e.line.filter(Number).length&&(e.line[t]||e.line[s]))&&(i.prior+=1),e.push(i)}e.sort((e,t)=>e.prior-t.prior),a.push(...e.slice(0,r.length-a.length))}const l=a.map(({line:e})=>e),u=a.map(({bias:e})=>e),h=matrixInverse(l);if(!h)return this.logger.warn("null invert:",l),null;const d=h.map(e=>e.reduce((e,t,r)=>e+t*u[r],0));if(c.length&&c.some(e=>Math.abs(e.line.reduce((e,t,r)=>e+t*d[r],0))>.001))return null;const f=e.map(()=>1);return r.forEach((e,t)=>f[e]=d[t]),f}optimallySolve(e){const{ones:t,inbalances:r}=this.inbalancesConstraints(e),n=t.map((t,r)=>t?-1:roundNumber(e.eventMap[r].shrinkness,.01)).reduce((e,t,r)=>(t>=0&&(e[t]=e[t]||[],e[t].push(r)),e),{}),s=Object.entries(n).sort((e,t)=>Number(t[0])-Number(e[0])).map(e=>e[1]);for(let n=1;n!i.includes(t)),a=this.solveEquations({ones:o,inbalances:r});if(a&&a.every((t,r)=>t<=1&&t>e.eventMap[r].lowWarp))return a}return this.solveEquations({ones:t,inbalances:r})}isConflicted(e){const{ones:t,inbalances:r}=this.inbalancesConstraints(e);for(const n of r){if(n.reduce((r,n,s)=>r+n*(t[s]||n<=0?1:e.eventMap[s].lowWarp),0)>=0)return n.forEach((t,r)=>{t&&(e.eventTendencies[r]+=t>0?1:-1)}),!0}if(!r.length)return!1;const n=this.solveEquations({ones:t,inbalances:r});return!n||!n.every((t,r)=>t>e.eventMap[r].lowWarp&&t<=1)}getSolution(e){const t=t=>e.eventMap[t.e2]?e.eventMap[t.e2].x+.06*Math.abs(e.eventMap[t.e2].x-e.eventMap[t.e1].x):e.eventMap[t.e1].x+1e4,r=this.actions.filter(e=>e.type===ActionType.HORIZONTAL).sort((e,r)=>t(e)-t(r)),n=r.reduce((e,t)=>({...e,[t.e1]:t.e2}),{}),s=new Set([...Object.keys(n)].map(Number));r.forEach(e=>s.delete(e.e2)),this.stages[0].events.forEach(e=>e>0&&s.add(e));let i=[...s].map(e=>{const t=[e];let r=e;for(;n[r]&&(r=n[r],!(r<0||t.includes(r)));)t.push(r);return t});const o=Object.values(e.eventMap).filter(e=>e.id>0).map(e=>({id:e.id,tick:null,endTick:null,tickGroup:null,timeWarp:null})),a=o.filter(e=>i.some(t=>t.includes(e.id))||r.some(t=>[t.e1,t.e2].includes(e.id))).reduce((e,t)=>({...e,[t.id]:t}),{});this.stages.forEach((e,t)=>e.events.forEach(e=>a[e]&&(a[e].tickGroup=t))),this.stages[0].tick=0,this.stages[0].events.forEach(e=>a[e]&&(a[e].tick=0));const c=this.optimallySolve(e);o.forEach(e=>e.timeWarp=floatToTimeWarp(c[e.id]));const l=this.stages.slice(0,this.stages.length-1),u=()=>{if(l.every(e=>Number.isFinite(e.tick)))return!1;let t=!1;return r.forEach(r=>{const n=this.stages.find(e=>e.events.includes(r.e1)),s=this.stages.find(e=>e.events.includes(r.e2));Number.isFinite(n.tick)&&!Number.isFinite(s.tick)&&(s.tick=n.tick+fractionMul(e.eventMap[r.e1].duration,a[r.e1].timeWarp),s.events.forEach(e=>a[e]&&(a[e].tick=s.tick)),t=!0)}),[...r].reverse().forEach(r=>{const n=this.stages.find(e=>e.events.includes(r.e1)),s=this.stages.find(e=>e.events.includes(r.e2));!Number.isFinite(n.tick)&&Number.isFinite(s.tick)&&(n.tick=s.tick-fractionMul(e.eventMap[r.e1].duration,a[r.e1].timeWarp),n.events.forEach(e=>a[e]&&(a[e].tick=n.tick)),t=!0)}),t};for(;u(););console.assert(l.every(e=>Number.isFinite(e.tick)),"stage ticks not all solved:",this.stages,this.id),o.filter(e=>Number.isFinite(e.tick)).forEach(t=>t.endTick=t.tick+fractionMul(e.eventMap[t.id].duration,t.timeWarp));const h=e.eventMap[0].duration;i.forEach(e=>{const t=e.findIndex(e=>a[e].endTick>h);if(t>=0){e.splice(t,e.length-t).forEach(e=>{a[e].tick=null,a[e].endTick=null})}}),i=i.filter(e=>e.length);const d=Math.max(0,...o.map(e=>e.endTick).filter(Number.isFinite));return this.logger.debug(String.fromCodePoint(127822),this.id,c),{voices:i,events:o,duration:d,actions:this.actions.map(e=>e.id).join(" ")}}deduce(e,t){this.stages||this.constructStages(e);const r=e.actionAccessing.get(this.id)||{times:0};if(++r.times,e.actionAccessing.set(this.id,r),this.constructConstraints(e),this.isConflicted(e))return r.closed=!0,this.logger.info(this.action.id,"❌"),null;if(this.logger.group(this.action&&this.action.id),t.credits>0){if(--t.credits,this.children||this.expand(e),this.children=this.children.filter(t=>!e.actionAccessing.get(t.id)||!e.actionAccessing.get(t.id).closed),this.children.length){const r=t=>t.possibility/((e.actionAccessing.get(t.id)||{times:0}).times+1);this.children.sort((e,t)=>r(t)-r(e));for(const r of this.children){const n=r.deduce(e,t);if(n)return this.logger.groupEnd(),n;if(t.credits<=0)break}}}else this.logger.debug("quota exhausted.");return this.logger.groupEnd(),r.closed=!0,this.getSolution(e)}expand(e){this.constructStages(e);const{eventMap:t,matrixV:r,matrixH:n}=e,s=this.stagedEvents,i=[],o=e=>{if(!this.actions.some(t=>t.id===e.action.id)&&!i.some(t=>t.action.id===e.action.id)){const t=this.stages.find(t=>t.events.includes(e.action.e1)),n=this.stages.find(t=>t.events.includes(e.action.e2));if(t===n||t&&n&&t.index>=n.index)return;if(t&&n)if(e.action.type===ActionType.VERTICAL){if(n.index-t.index>1)return;if(this.actions.some(e=>t.events.includes(e.e1)&&n.events.includes(e.e2)))return}else if(e.action.type===ActionType.HORIZONTAL&&t.index>n.index)return;if(e.action.type===ActionType.HORIZONTAL&&this.actions.some(t=>t.type===ActionType.HORIZONTAL&&(t.e1===e.action.e1||t.e2===e.action.e2||t.e1===e.action.e2&&t.e2===e.action.e1)))return;if(e.action.type===ActionType.VERTICAL){if(t&&(e.possibility=Math.min(e.possibility,...t.events.map(t=>r[e.action.e2][t])),e.possibility<=0))return;if(n&&(e.possibility=Math.min(e.possibility,...n.events.map(t=>r[t][e.action.e1])),e.possibility<=0))return}i.push(e)}};for(const e of s)e<0||(r[e].forEach((t,r)=>{t>0&&e!==r&&o({action:Action.V(r,e),possibility:t})}),r.forEach((t,r)=>{const n=t[e];n>0&&o({action:Action.V(e,r),possibility:n})}),n[e].forEach((t,r)=>{t>0&&o({action:Action.H(r,e),possibility:t})}),n.forEach((r,n)=>{n=n>=Object.keys(t).length?-1:n;const s=r[e];s>0&&o({action:Action.H(e,n),possibility:s})}));i.some(e=>[ActionType.HORIZONTAL,ActionType.PLACE].includes(e.action.type)||!s.has(e.action.e1)||!s.has(e.action.e2))?this.children=i.map(e=>new PathNode({logger:this.logger,parent:this,...e})):this.children=[]}}class Solver{constructor(e,{quota:t=1e3,logger:r=new DummyLogger}={}){this.quota=t,this.logger=r;const n={id:0,x:0,confidence:1,shrinkness:e.measureShrinkness,duration:e.expectedDuration,lowWarp:0};this.events=[n,...e.events.map(e=>({id:e.id,x:e.x,confidence:e.confidence,shrinkness:e.shrinkness,staff:e.staff,duration:e.duration,lowWarp:.5}))],this.eventMap=this.events.reduce((e,t)=>({...e,[t.id]:t}),{}),this.matrixH=e.matrixH,this.matrixV=e.matrixV,this.xSpan=e.endX-Math.min(e.endX-1,...e.events.map(e=>e.x)),this.actionAccessing=new Map}solve(){this.pathRoot=new PathNode({logger:this.logger,action:null}),this.pathRoot.children=this.events.slice(1).map(e=>new PathNode({logger:this.logger,parent:this.pathRoot,action:Action.P(e.id),possibility:this.matrixV[e.id].reduce((e,t)=>e+t,0)}));let e=null;this.logger.groupCollapsed("solve");const t=Array(this.events.length).fill(0),r={credits:this.quota,times:0};for(;r.credits>0;){++r.times;const n={eventMap:this.eventMap,matrixH:this.matrixH,matrixV:this.matrixV,actionAccessing:this.actionAccessing,eventTendencies:t},s=this.pathRoot.deduce(n,r);if(s.credits=this.quota-r.credits,s.times=r.times,this.evaluateSolution(s),this.logger.debug("loss:",s.loss),e=!e||s.losse/r.times)),e}evaluateSolution(e){e.loss=0;const t=e.events.reduce((e,t)=>({...e,[t.id]:{...t,...this.eventMap[t.id]}}),{}),r=e.events.filter(e=>Number.isFinite(e.tick)).map(e=>t[e.id]),n=r.reduce((e,t)=>(e[t.staff]=e[t.staff]||[],e[t.staff].push(t),e),{});Object.values(n).forEach(t=>{t.sort((e,t)=>e.x-t.x).slice(0,t.length-1).forEach((r,n)=>{t[n+1].tick{if(Number.isFinite(r.tick)&&!e.voices.every(e=>!e.includes(r.id))||(e.loss+=100*t[r.id].confidence),r.timeWarp){const{numerator:e,denominator:n}=r.timeWarp,i=t[r.id].shrinkness;s.set(e,Math.max(s.get(e)||0,1-i)),s.set(n,Math.max(s.get(n)||0,1-i))}});const i=reducedFraction(e.duration,this.eventMap[0].duration);s.set(i.numerator,Math.max(s.get(i.numerator)||0,1-this.eventMap[0].shrinkness)),s.set(i.denominator,Math.max(s.get(i.denominator)||0,1-this.eventMap[0].shrinkness));for(const[t,r]of s.entries())t>1&&(e.loss+=Math.log(t)*r);let o=0,a=0;e.voices.forEach(r=>{console.assert(t[r[0]],"invalid voice:",r,Object.keys(t));const n=Math.abs(t[r[0]].tick),s=t[r[r.length-1]].endTick;o+=Math.max(0,n+e.duration-s);let i=null;r.forEach(e=>{const r=t[e];r.staff!==i&&(null!==i&&++a,i=r.staff)})}),e.loss+=10*o/DURATION_MULTIPLIER,e.loss+=5**a-1;const c=[...r].sort((e,t)=>e.x-t.x),l=c.slice(1).map((t,r)=>{const n=c[r],s=t.x-n.x,i=t.tick-n.tick;if(!i)return s/this.xSpan;return(4*Math.atan2(i/e.duration,s/this.xSpan)/Math.PI-1)**2}),u=Math.max(...l,0);e.loss+=u**2,console.assert(e.loss>=0,"Invalid solution loss!!!",e.loss,s,o,a),e.loss<0&&(e.loss=1/0)}}const solveStaffGroup=(e,t)=>{if(!e.events.length)return{events:[],voices:[],duration:0};return new Solver(e,t).solve()};worker({solveStaffGroup:solveStaffGroup}),console.info("%cstarry-omr%c v1.0.0 2026-02-17T12:40:35.385Z","color:#fff; background-color: #555;padding: 5px;border-radius: 3px 0 0 3px;","color: #fff; background-color: #007dc6;padding: 5px;border-radius: 0 3px 3px 0;")})(); +//# sourceMappingURL=worker.js.map diff --git a/backend/omr/dist/worker.js.map b/backend/omr/dist/worker.js.map new file mode 100644 index 0000000000000000000000000000000000000000..975e2bafd79449543f9e38651ab610fd816c30f9 --- /dev/null +++ b/backend/omr/dist/worker.js.map @@ -0,0 +1 @@ +{"version":3,"file":"worker.js","sources":["../../../node_modules/workerpool/src/requireFoolWebpack.js","../../../node_modules/workerpool/src/Promise.js","../../../node_modules/workerpool/src/environment.js","../../../node_modules/workerpool/src/generated/embeddedWorker.js","../../../node_modules/workerpool/src/WorkerHandler.js","../../../node_modules/workerpool/src/transfer.js","../../../node_modules/workerpool/src/worker.js","../../../node_modules/workerpool/src/index.js","../../../node_modules/matrix-inverse/matrix-inverse.js","../../../src/starry/semanticPoint.ts","../../../node_modules/js-sha1/src/sha1.js","../../../src/starry/utils.ts","../../../src/starry/logger.ts","../../../src/starry/equationSolver.ts","../../../src/starry/solveStaffGroup.worker.ts","../src/worker.ts"],"sourcesContent":["// source of inspiration: https://github.com/sindresorhus/require-fool-webpack\nvar requireFoolWebpack = eval(\n 'typeof require !== \\'undefined\\' ' +\n '? require ' +\n ': function (module) { throw new Error(\\'Module \" + module + \" not found.\\') }'\n);\n\nmodule.exports = requireFoolWebpack;\n","'use strict';\n\n/**\n * Promise\n *\n * Inspired by https://gist.github.com/RubaXa/8501359 from RubaXa \n *\n * @param {Function} handler Called as handler(resolve: Function, reject: Function)\n * @param {Promise} [parent] Parent promise for propagation of cancel and timeout\n */\nfunction Promise(handler, parent) {\n var me = this;\n\n if (!(this instanceof Promise)) {\n throw new SyntaxError('Constructor must be called with the new operator');\n }\n\n if (typeof handler !== 'function') {\n throw new SyntaxError('Function parameter handler(resolve, reject) missing');\n }\n\n var _onSuccess = [];\n var _onFail = [];\n\n // status\n this.resolved = false;\n this.rejected = false;\n this.pending = true;\n\n /**\n * Process onSuccess and onFail callbacks: add them to the queue.\n * Once the promise is resolve, the function _promise is replace.\n * @param {Function} onSuccess\n * @param {Function} onFail\n * @private\n */\n var _process = function (onSuccess, onFail) {\n _onSuccess.push(onSuccess);\n _onFail.push(onFail);\n };\n\n /**\n * Add an onSuccess callback and optionally an onFail callback to the Promise\n * @param {Function} onSuccess\n * @param {Function} [onFail]\n * @returns {Promise} promise\n */\n this.then = function (onSuccess, onFail) {\n return new Promise(function (resolve, reject) {\n var s = onSuccess ? _then(onSuccess, resolve, reject) : resolve;\n var f = onFail ? _then(onFail, resolve, reject) : reject;\n\n _process(s, f);\n }, me);\n };\n\n /**\n * Resolve the promise\n * @param {*} result\n * @type {Function}\n */\n var _resolve = function (result) {\n // update status\n me.resolved = true;\n me.rejected = false;\n me.pending = false;\n\n _onSuccess.forEach(function (fn) {\n fn(result);\n });\n\n _process = function (onSuccess, onFail) {\n onSuccess(result);\n };\n\n _resolve = _reject = function () { };\n\n return me;\n };\n\n /**\n * Reject the promise\n * @param {Error} error\n * @type {Function}\n */\n var _reject = function (error) {\n // update status\n me.resolved = false;\n me.rejected = true;\n me.pending = false;\n\n _onFail.forEach(function (fn) {\n fn(error);\n });\n\n _process = function (onSuccess, onFail) {\n onFail(error);\n };\n\n _resolve = _reject = function () { }\n\n return me;\n };\n\n /**\n * Cancel te promise. This will reject the promise with a CancellationError\n * @returns {Promise} self\n */\n this.cancel = function () {\n if (parent) {\n parent.cancel();\n }\n else {\n _reject(new CancellationError());\n }\n\n return me;\n };\n\n /**\n * Set a timeout for the promise. If the promise is not resolved within\n * the time, the promise will be cancelled and a TimeoutError is thrown.\n * If the promise is resolved in time, the timeout is removed.\n * @param {number} delay Delay in milliseconds\n * @returns {Promise} self\n */\n this.timeout = function (delay) {\n if (parent) {\n parent.timeout(delay);\n }\n else {\n var timer = setTimeout(function () {\n _reject(new TimeoutError('Promise timed out after ' + delay + ' ms'));\n }, delay);\n\n me.always(function () {\n clearTimeout(timer);\n });\n }\n\n return me;\n };\n\n // attach handler passing the resolve and reject functions\n handler(function (result) {\n _resolve(result);\n }, function (error) {\n _reject(error);\n });\n}\n\n/**\n * Execute given callback, then call resolve/reject based on the returned result\n * @param {Function} callback\n * @param {Function} resolve\n * @param {Function} reject\n * @returns {Function}\n * @private\n */\nfunction _then(callback, resolve, reject) {\n return function (result) {\n try {\n var res = callback(result);\n if (res && typeof res.then === 'function' && typeof res['catch'] === 'function') {\n // method returned a promise\n res.then(resolve, reject);\n }\n else {\n resolve(res);\n }\n }\n catch (error) {\n reject(error);\n }\n }\n}\n\n/**\n * Add an onFail callback to the Promise\n * @param {Function} onFail\n * @returns {Promise} promise\n */\nPromise.prototype['catch'] = function (onFail) {\n return this.then(null, onFail);\n};\n\n// TODO: add support for Promise.catch(Error, callback)\n// TODO: add support for Promise.catch(Error, Error, callback)\n\n/**\n * Execute given callback when the promise either resolves or rejects.\n * @param {Function} fn\n * @returns {Promise} promise\n */\nPromise.prototype.always = function (fn) {\n return this.then(fn, fn);\n};\n\n/**\n * Create a promise which resolves when all provided promises are resolved,\n * and fails when any of the promises resolves.\n * @param {Promise[]} promises\n * @returns {Promise} promise\n */\nPromise.all = function (promises){\n return new Promise(function (resolve, reject) {\n var remaining = promises.length,\n results = [];\n\n if (remaining) {\n promises.forEach(function (p, i) {\n p.then(function (result) {\n results[i] = result;\n remaining--;\n if (remaining == 0) {\n resolve(results);\n }\n }, function (error) {\n remaining = 0;\n reject(error);\n });\n });\n }\n else {\n resolve(results);\n }\n });\n};\n\n/**\n * Create a promise resolver\n * @returns {{promise: Promise, resolve: Function, reject: Function}} resolver\n */\nPromise.defer = function () {\n var resolver = {};\n\n resolver.promise = new Promise(function (resolve, reject) {\n resolver.resolve = resolve;\n resolver.reject = reject;\n });\n\n return resolver;\n};\n\n/**\n * Create a cancellation error\n * @param {String} [message]\n * @extends Error\n */\nfunction CancellationError(message) {\n this.message = message || 'promise cancelled';\n this.stack = (new Error()).stack;\n}\n\nCancellationError.prototype = new Error();\nCancellationError.prototype.constructor = Error;\nCancellationError.prototype.name = 'CancellationError';\n\nPromise.CancellationError = CancellationError;\n\n\n/**\n * Create a timeout error\n * @param {String} [message]\n * @extends Error\n */\nfunction TimeoutError(message) {\n this.message = message || 'timeout exceeded';\n this.stack = (new Error()).stack;\n}\n\nTimeoutError.prototype = new Error();\nTimeoutError.prototype.constructor = Error;\nTimeoutError.prototype.name = 'TimeoutError';\n\nPromise.TimeoutError = TimeoutError;\n\n\nmodule.exports = Promise;\n","var requireFoolWebpack = require('./requireFoolWebpack');\n\n// source: https://github.com/flexdinesh/browser-or-node\nvar isNode = function (nodeProcess) {\n return (\n typeof nodeProcess !== 'undefined' &&\n nodeProcess.versions != null &&\n nodeProcess.versions.node != null\n );\n}\nmodule.exports.isNode = isNode\n\n// determines the JavaScript platform: browser or node\nmodule.exports.platform = typeof process !== 'undefined' && isNode(process)\n ? 'node'\n : 'browser';\n\n// determines whether the code is running in main thread or not\n// note that in node.js we have to check both worker_thread and child_process\nvar worker_threads = tryRequireFoolWebpack('worker_threads');\nmodule.exports.isMainThread = module.exports.platform === 'node'\n ? ((!worker_threads || worker_threads.isMainThread) && !process.connected)\n : typeof Window !== 'undefined';\n\n// determines the number of cpus available\nmodule.exports.cpus = module.exports.platform === 'browser'\n ? self.navigator.hardwareConcurrency\n : requireFoolWebpack('os').cpus().length;\n\nfunction tryRequireFoolWebpack (module) {\n try {\n return requireFoolWebpack(module);\n } catch(err) {\n return null\n }\n}\n","/**\n * embeddedWorker.js contains an embedded version of worker.js.\n * This file is automatically generated,\n * changes made in this file will be overwritten.\n */\nmodule.exports = \"!function(){var __webpack_modules__={577:function(e){e.exports=function(e,r){this.message=e,this.transfer=r}}},__webpack_module_cache__={};function __webpack_require__(e){var r=__webpack_module_cache__[e];return void 0!==r||(r=__webpack_module_cache__[e]={exports:{}},__webpack_modules__[e](r,r.exports,__webpack_require__)),r.exports}var __webpack_exports__={};!function(){var exports=__webpack_exports__,__webpack_unused_export__;function _typeof(e){return(_typeof=\\\"function\\\"==typeof Symbol&&\\\"symbol\\\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\\\"function\\\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\\\"symbol\\\":typeof e})(e)}var Transfer=__webpack_require__(577),requireFoolWebpack=eval(\\\"typeof require !== 'undefined' ? require : function (module) { throw new Error('Module \\\\\\\" + module + \\\\\\\" not found.') }\\\"),TERMINATE_METHOD_ID=\\\"__workerpool-terminate__\\\",worker={exit:function(){}},WorkerThreads,parentPort;if(\\\"undefined\\\"!=typeof self&&\\\"function\\\"==typeof postMessage&&\\\"function\\\"==typeof addEventListener)worker.on=function(e,r){addEventListener(e,function(e){r(e.data)})},worker.send=function(e){postMessage(e)};else{if(\\\"undefined\\\"==typeof process)throw new Error(\\\"Script must be executed as a worker\\\");try{WorkerThreads=requireFoolWebpack(\\\"worker_threads\\\")}catch(error){if(\\\"object\\\"!==_typeof(error)||null===error||\\\"MODULE_NOT_FOUND\\\"!==error.code)throw error}WorkerThreads&&null!==WorkerThreads.parentPort?(parentPort=WorkerThreads.parentPort,worker.send=parentPort.postMessage.bind(parentPort),worker.on=parentPort.on.bind(parentPort)):(worker.on=process.on.bind(process),worker.send=function(e){process.send(e)},worker.on(\\\"disconnect\\\",function(){process.exit(1)})),worker.exit=process.exit.bind(process)}function convertError(o){return Object.getOwnPropertyNames(o).reduce(function(e,r){return Object.defineProperty(e,r,{value:o[r],enumerable:!0})},{})}function isPromise(e){return e&&\\\"function\\\"==typeof e.then&&\\\"function\\\"==typeof e.catch}worker.methods={},worker.methods.run=function(e,r){e=new Function(\\\"return (\\\"+e+\\\").apply(null, arguments);\\\");return e.apply(e,r)},worker.methods.methods=function(){return Object.keys(worker.methods)},worker.terminationHandler=void 0,worker.cleanupAndExit=function(e){function r(){worker.exit(e)}if(!worker.terminationHandler)return r();var o=worker.terminationHandler(e);isPromise(o)?o.then(r,r):r()};var currentRequestId=null;worker.on(\\\"message\\\",function(r){if(r===TERMINATE_METHOD_ID)return worker.cleanupAndExit(0);try{var e=worker.methods[r.method];if(!e)throw new Error('Unknown method \\\"'+r.method+'\\\"');currentRequestId=r.id;var o=e.apply(e,r.params);isPromise(o)?o.then(function(e){e instanceof Transfer?worker.send({id:r.id,result:e.message,error:null},e.transfer):worker.send({id:r.id,result:e,error:null}),currentRequestId=null}).catch(function(e){worker.send({id:r.id,result:null,error:convertError(e)}),currentRequestId=null}):(o instanceof Transfer?worker.send({id:r.id,result:o.message,error:null},o.transfer):worker.send({id:r.id,result:o,error:null}),currentRequestId=null)}catch(e){worker.send({id:r.id,result:null,error:convertError(e)})}}),worker.register=function(e,r){if(e)for(var o in e)e.hasOwnProperty(o)&&(worker.methods[o]=e[o]);r&&(worker.terminationHandler=r.onTerminate),worker.send(\\\"ready\\\")},worker.emit=function(e){currentRequestId&&(e instanceof Transfer?worker.send({id:currentRequestId,isEvent:!0,payload:e.message},e.transfer):worker.send({id:currentRequestId,isEvent:!0,payload:e}))},__webpack_unused_export__=worker.register,worker.emit}()}();\";\n","'use strict';\n\nvar Promise = require('./Promise');\nvar environment = require('./environment');\nvar requireFoolWebpack = require('./requireFoolWebpack');\n\n/**\n * Special message sent by parent which causes a child process worker to terminate itself.\n * Not a \"message object\"; this string is the entire message.\n */\nvar TERMINATE_METHOD_ID = '__workerpool-terminate__';\n\nfunction ensureWorkerThreads() {\n var WorkerThreads = tryRequireWorkerThreads()\n if (!WorkerThreads) {\n throw new Error('WorkerPool: workerType = \\'thread\\' is not supported, Node >= 11.7.0 required')\n }\n\n return WorkerThreads;\n}\n\n// check whether Worker is supported by the browser\nfunction ensureWebWorker() {\n // Workaround for a bug in PhantomJS (Or QtWebkit): https://github.com/ariya/phantomjs/issues/14534\n if (typeof Worker !== 'function' && (typeof Worker !== 'object' || typeof Worker.prototype.constructor !== 'function')) {\n throw new Error('WorkerPool: Web Workers not supported');\n }\n}\n\nfunction tryRequireWorkerThreads() {\n try {\n return requireFoolWebpack('worker_threads');\n } catch(error) {\n if (typeof error === 'object' && error !== null && error.code === 'MODULE_NOT_FOUND') {\n // no worker_threads available (old version of node.js)\n return null;\n } else {\n throw error;\n }\n }\n}\n\n// get the default worker script\nfunction getDefaultWorker() {\n if (environment.platform === 'browser') {\n // test whether the browser supports all features that we need\n if (typeof Blob === 'undefined') {\n throw new Error('Blob not supported by the browser');\n }\n if (!window.URL || typeof window.URL.createObjectURL !== 'function') {\n throw new Error('URL.createObjectURL not supported by the browser');\n }\n\n // use embedded worker.js\n var blob = new Blob([require('./generated/embeddedWorker')], {type: 'text/javascript'});\n return window.URL.createObjectURL(blob);\n }\n else {\n // use external worker.js in current directory\n return __dirname + '/worker.js';\n }\n}\n\nfunction setupWorker(script, options) {\n if (options.workerType === 'web') { // browser only\n ensureWebWorker();\n return setupBrowserWorker(script, options.workerOpts, Worker);\n } else if (options.workerType === 'thread') { // node.js only\n WorkerThreads = ensureWorkerThreads();\n return setupWorkerThreadWorker(script, WorkerThreads, options.workerThreadOpts);\n } else if (options.workerType === 'process' || !options.workerType) { // node.js only\n return setupProcessWorker(script, resolveForkOptions(options), requireFoolWebpack('child_process'));\n } else { // options.workerType === 'auto' or undefined\n if (environment.platform === 'browser') {\n ensureWebWorker();\n return setupBrowserWorker(script, options.workerOpts, Worker);\n }\n else { // environment.platform === 'node'\n var WorkerThreads = tryRequireWorkerThreads();\n if (WorkerThreads) {\n return setupWorkerThreadWorker(script, WorkerThreads, options.workerThreadOpts);\n } else {\n return setupProcessWorker(script, resolveForkOptions(options), requireFoolWebpack('child_process'));\n }\n }\n }\n}\n\nfunction setupBrowserWorker(script, workerOpts, Worker) {\n // create the web worker\n var worker = new Worker(script, workerOpts);\n\n worker.isBrowserWorker = true;\n // add node.js API to the web worker\n worker.on = function (event, callback) {\n this.addEventListener(event, function (message) {\n callback(message.data);\n });\n };\n worker.send = function (message, transfer) {\n this.postMessage(message, transfer);\n };\n return worker;\n}\n\nfunction setupWorkerThreadWorker(script, WorkerThreads, workerThreadOptions) {\n var worker = new WorkerThreads.Worker(script, {\n stdout: false, // automatically pipe worker.STDOUT to process.STDOUT\n stderr: false, // automatically pipe worker.STDERR to process.STDERR\n ...workerThreadOptions\n });\n worker.isWorkerThread = true;\n worker.send = function(message, transfer) {\n this.postMessage(message, transfer);\n };\n\n worker.kill = function() {\n this.terminate();\n return true;\n };\n\n worker.disconnect = function() {\n this.terminate();\n };\n\n return worker;\n}\n\nfunction setupProcessWorker(script, options, child_process) {\n // no WorkerThreads, fallback to sub-process based workers\n var worker = child_process.fork(\n script,\n options.forkArgs,\n options.forkOpts\n );\n\n // ignore transfer argument since it is not supported by process\n var send = worker.send;\n worker.send = function (message) {\n return send.call(worker, message);\n };\n\n worker.isChildProcess = true;\n return worker;\n}\n\n// add debug flags to child processes if the node inspector is active\nfunction resolveForkOptions(opts) {\n opts = opts || {};\n\n var processExecArgv = process.execArgv.join(' ');\n var inspectorActive = processExecArgv.indexOf('--inspect') !== -1;\n var debugBrk = processExecArgv.indexOf('--debug-brk') !== -1;\n\n var execArgv = [];\n if (inspectorActive) {\n execArgv.push('--inspect=' + opts.debugPort);\n\n if (debugBrk) {\n execArgv.push('--debug-brk');\n }\n }\n\n process.execArgv.forEach(function(arg) {\n if (arg.indexOf('--max-old-space-size') > -1) {\n execArgv.push(arg)\n }\n })\n\n return Object.assign({}, opts, {\n forkArgs: opts.forkArgs,\n forkOpts: Object.assign({}, opts.forkOpts, {\n execArgv: (opts.forkOpts && opts.forkOpts.execArgv || [])\n .concat(execArgv)\n })\n });\n}\n\n/**\n * Converts a serialized error to Error\n * @param {Object} obj Error that has been serialized and parsed to object\n * @return {Error} The equivalent Error.\n */\nfunction objectToError (obj) {\n var temp = new Error('')\n var props = Object.keys(obj)\n\n for (var i = 0; i < props.length; i++) {\n temp[props[i]] = obj[props[i]]\n }\n\n return temp\n}\n\n/**\n * A WorkerHandler controls a single worker. This worker can be a child process\n * on node.js or a WebWorker in a browser environment.\n * @param {String} [script] If no script is provided, a default worker with a\n * function run will be created.\n * @param {WorkerPoolOptions} _options See docs\n * @constructor\n */\nfunction WorkerHandler(script, _options) {\n var me = this;\n var options = _options || {};\n\n this.script = script || getDefaultWorker();\n this.worker = setupWorker(this.script, options);\n this.debugPort = options.debugPort;\n this.forkOpts = options.forkOpts;\n this.forkArgs = options.forkArgs;\n this.workerOpts = options.workerOpts;\n this.workerThreadOpts = options.workerThreadOpts\n this.workerTerminateTimeout = options.workerTerminateTimeout;\n\n // The ready message is only sent if the worker.add method is called (And the default script is not used)\n if (!script) {\n this.worker.ready = true;\n }\n\n // queue for requests that are received before the worker is ready\n this.requestQueue = [];\n this.worker.on('message', function (response) {\n if (me.terminated) {\n return;\n }\n if (typeof response === 'string' && response === 'ready') {\n me.worker.ready = true;\n dispatchQueuedRequests();\n } else {\n // find the task from the processing queue, and run the tasks callback\n var id = response.id;\n var task = me.processing[id];\n if (task !== undefined) {\n if (response.isEvent) {\n if (task.options && typeof task.options.on === 'function') {\n task.options.on(response.payload);\n }\n } else {\n // remove the task from the queue\n delete me.processing[id];\n\n // test if we need to terminate\n if (me.terminating === true) {\n // complete worker termination if all tasks are finished\n me.terminate();\n }\n\n // resolve the task's promise\n if (response.error) {\n task.resolver.reject(objectToError(response.error));\n }\n else {\n task.resolver.resolve(response.result);\n }\n }\n }\n }\n });\n\n // reject all running tasks on worker error\n function onError(error) {\n me.terminated = true;\n\n for (var id in me.processing) {\n if (me.processing[id] !== undefined) {\n me.processing[id].resolver.reject(error);\n }\n }\n me.processing = Object.create(null);\n }\n\n // send all queued requests to worker\n function dispatchQueuedRequests()\n {\n for(const request of me.requestQueue.splice(0)) {\n me.worker.send(request.message, request.transfer);\n }\n }\n\n var worker = this.worker;\n // listen for worker messages error and exit\n this.worker.on('error', onError);\n this.worker.on('exit', function (exitCode, signalCode) {\n var message = 'Workerpool Worker terminated Unexpectedly\\n';\n\n message += ' exitCode: `' + exitCode + '`\\n';\n message += ' signalCode: `' + signalCode + '`\\n';\n\n message += ' workerpool.script: `' + me.script + '`\\n';\n message += ' spawnArgs: `' + worker.spawnargs + '`\\n';\n message += ' spawnfile: `' + worker.spawnfile + '`\\n'\n\n message += ' stdout: `' + worker.stdout + '`\\n'\n message += ' stderr: `' + worker.stderr + '`\\n'\n\n onError(new Error(message));\n });\n\n this.processing = Object.create(null); // queue with tasks currently in progress\n\n this.terminating = false;\n this.terminated = false;\n this.cleaning = false;\n this.terminationHandler = null;\n this.lastId = 0;\n}\n\n/**\n * Get a list with methods available on the worker.\n * @return {Promise.} methods\n */\nWorkerHandler.prototype.methods = function () {\n return this.exec('methods');\n};\n\n/**\n * Execute a method with given parameters on the worker\n * @param {String} method\n * @param {Array} [params]\n * @param {{resolve: Function, reject: Function}} [resolver]\n * @param {ExecOptions} [options]\n * @return {Promise.<*, Error>} result\n */\nWorkerHandler.prototype.exec = function(method, params, resolver, options) {\n if (!resolver) {\n resolver = Promise.defer();\n }\n\n // generate a unique id for the task\n var id = ++this.lastId;\n\n // register a new task as being in progress\n this.processing[id] = {\n id: id,\n resolver: resolver,\n options: options\n };\n\n // build a JSON-RPC request\n var request = {\n message: {\n id: id,\n method: method,\n params: params\n },\n transfer: options && options.transfer\n };\n\n if (this.terminated) {\n resolver.reject(new Error('Worker is terminated'));\n } else if (this.worker.ready) {\n // send the request to the worker\n this.worker.send(request.message, request.transfer);\n } else {\n this.requestQueue.push(request);\n }\n\n // on cancellation, force the worker to terminate\n var me = this;\n return resolver.promise.catch(function (error) {\n if (error instanceof Promise.CancellationError || error instanceof Promise.TimeoutError) {\n // remove this task from the queue. It is already rejected (hence this\n // catch event), and else it will be rejected again when terminating\n delete me.processing[id];\n\n // terminate worker\n return me.terminateAndNotify(true)\n .then(function() {\n throw error;\n }, function(err) {\n throw err;\n });\n } else {\n throw error;\n }\n })\n};\n\n/**\n * Test whether the worker is processing any tasks or cleaning up before termination.\n * @return {boolean} Returns true if the worker is busy\n */\nWorkerHandler.prototype.busy = function () {\n return this.cleaning || Object.keys(this.processing).length > 0;\n};\n\n/**\n * Terminate the worker.\n * @param {boolean} [force=false] If false (default), the worker is terminated\n * after finishing all tasks currently in\n * progress. If true, the worker will be\n * terminated immediately.\n * @param {function} [callback=null] If provided, will be called when process terminates.\n */\nWorkerHandler.prototype.terminate = function (force, callback) {\n var me = this;\n if (force) {\n // cancel all tasks in progress\n for (var id in this.processing) {\n if (this.processing[id] !== undefined) {\n this.processing[id].resolver.reject(new Error('Worker terminated'));\n }\n }\n this.processing = Object.create(null);\n }\n\n if (typeof callback === 'function') {\n this.terminationHandler = callback;\n }\n if (!this.busy()) {\n // all tasks are finished. kill the worker\n var cleanup = function(err) {\n me.terminated = true;\n me.cleaning = false;\n if (me.worker != null && me.worker.removeAllListeners) {\n // removeAllListeners is only available for child_process\n me.worker.removeAllListeners('message');\n }\n me.worker = null;\n me.terminating = false;\n if (me.terminationHandler) {\n me.terminationHandler(err, me);\n } else if (err) {\n throw err;\n }\n }\n\n if (this.worker) {\n if (typeof this.worker.kill === 'function') {\n if (this.worker.killed) {\n cleanup(new Error('worker already killed!'));\n return;\n }\n\n // child process and worker threads\n var cleanExitTimeout = setTimeout(function() {\n if (me.worker) {\n me.worker.kill();\n }\n }, this.workerTerminateTimeout);\n\n this.worker.once('exit', function() {\n clearTimeout(cleanExitTimeout);\n if (me.worker) {\n me.worker.killed = true;\n }\n cleanup();\n });\n\n if (this.worker.ready) {\n this.worker.send(TERMINATE_METHOD_ID);\n } else {\n this.requestQueue.push({ message: TERMINATE_METHOD_ID });\n }\n\n // mark that the worker is cleaning up resources\n // to prevent new tasks from being executed\n this.cleaning = true;\n return;\n }\n else if (typeof this.worker.terminate === 'function') {\n this.worker.terminate(); // web worker\n this.worker.killed = true;\n }\n else {\n throw new Error('Failed to terminate worker');\n }\n }\n cleanup();\n }\n else {\n // we can't terminate immediately, there are still tasks being executed\n this.terminating = true;\n }\n};\n\n/**\n * Terminate the worker, returning a Promise that resolves when the termination has been done.\n * @param {boolean} [force=false] If false (default), the worker is terminated\n * after finishing all tasks currently in\n * progress. If true, the worker will be\n * terminated immediately.\n * @param {number} [timeout] If provided and non-zero, worker termination promise will be rejected\n * after timeout if worker process has not been terminated.\n * @return {Promise.}\n */\nWorkerHandler.prototype.terminateAndNotify = function (force, timeout) {\n var resolver = Promise.defer();\n if (timeout) {\n resolver.promise.timeout(timeout);\n }\n this.terminate(force, function(err, worker) {\n if (err) {\n resolver.reject(err);\n } else {\n resolver.resolve(worker);\n }\n });\n return resolver.promise;\n};\n\nmodule.exports = WorkerHandler;\nmodule.exports._tryRequireWorkerThreads = tryRequireWorkerThreads;\nmodule.exports._setupProcessWorker = setupProcessWorker;\nmodule.exports._setupBrowserWorker = setupBrowserWorker;\nmodule.exports._setupWorkerThreadWorker = setupWorkerThreadWorker;\nmodule.exports.ensureWorkerThreads = ensureWorkerThreads;\n","/**\n * The helper class for transferring data from the worker to the main thread.\n *\n * @param {Object} message The object to deliver to the main thread.\n * @param {Object[]} transfer An array of transferable Objects to transfer ownership of.\n */\nfunction Transfer(message, transfer) {\n this.message = message;\n this.transfer = transfer;\n}\n\nmodule.exports = Transfer;\n","/**\n * worker must be started as a child process or a web worker.\n * It listens for RPC messages from the parent process.\n */\nvar Transfer = require('./transfer');\n\n// source of inspiration: https://github.com/sindresorhus/require-fool-webpack\nvar requireFoolWebpack = eval(\n 'typeof require !== \\'undefined\\'' +\n ' ? require' +\n ' : function (module) { throw new Error(\\'Module \" + module + \" not found.\\') }'\n);\n\n/**\n * Special message sent by parent which causes the worker to terminate itself.\n * Not a \"message object\"; this string is the entire message.\n */\nvar TERMINATE_METHOD_ID = '__workerpool-terminate__';\n\n// var nodeOSPlatform = require('./environment').nodeOSPlatform;\n\n// create a worker API for sending and receiving messages which works both on\n// node.js and in the browser\nvar worker = {\n exit: function() {}\n};\nif (typeof self !== 'undefined' && typeof postMessage === 'function' && typeof addEventListener === 'function') {\n // worker in the browser\n worker.on = function (event, callback) {\n addEventListener(event, function (message) {\n callback(message.data);\n })\n };\n worker.send = function (message) {\n postMessage(message);\n };\n}\nelse if (typeof process !== 'undefined') {\n // node.js\n\n var WorkerThreads;\n try {\n WorkerThreads = requireFoolWebpack('worker_threads');\n } catch(error) {\n if (typeof error === 'object' && error !== null && error.code === 'MODULE_NOT_FOUND') {\n // no worker_threads, fallback to sub-process based workers\n } else {\n throw error;\n }\n }\n\n if (WorkerThreads &&\n /* if there is a parentPort, we are in a WorkerThread */\n WorkerThreads.parentPort !== null) {\n var parentPort = WorkerThreads.parentPort;\n worker.send = parentPort.postMessage.bind(parentPort);\n worker.on = parentPort.on.bind(parentPort);\n worker.exit = process.exit.bind(process);\n } else {\n worker.on = process.on.bind(process);\n // ignore transfer argument since it is not supported by process\n worker.send = function (message) {\n process.send(message);\n };\n // register disconnect handler only for subprocess worker to exit when parent is killed unexpectedly\n worker.on('disconnect', function () {\n process.exit(1);\n });\n worker.exit = process.exit.bind(process);\n }\n}\nelse {\n throw new Error('Script must be executed as a worker');\n}\n\nfunction convertError(error) {\n return Object.getOwnPropertyNames(error).reduce(function(product, name) {\n return Object.defineProperty(product, name, {\n\tvalue: error[name],\n\tenumerable: true\n });\n }, {});\n}\n\n/**\n * Test whether a value is a Promise via duck typing.\n * @param {*} value\n * @returns {boolean} Returns true when given value is an object\n * having functions `then` and `catch`.\n */\nfunction isPromise(value) {\n return value && (typeof value.then === 'function') && (typeof value.catch === 'function');\n}\n\n// functions available externally\nworker.methods = {};\n\n/**\n * Execute a function with provided arguments\n * @param {String} fn Stringified function\n * @param {Array} [args] Function arguments\n * @returns {*}\n */\nworker.methods.run = function run(fn, args) {\n var f = new Function('return (' + fn + ').apply(null, arguments);');\n return f.apply(f, args);\n};\n\n/**\n * Get a list with methods available on this worker\n * @return {String[]} methods\n */\nworker.methods.methods = function methods() {\n return Object.keys(worker.methods);\n};\n\n/**\n * Custom handler for when the worker is terminated.\n */\nworker.terminationHandler = undefined;\n\n/**\n * Cleanup and exit the worker.\n * @param {Number} code \n * @returns \n */\nworker.cleanupAndExit = function(code) {\n var _exit = function() {\n worker.exit(code);\n }\n\n if(!worker.terminationHandler) {\n return _exit();\n }\n\n var result = worker.terminationHandler(code);\n if (isPromise(result)) {\n result.then(_exit, _exit);\n } else {\n _exit();\n }\n}\n\nvar currentRequestId = null;\n\nworker.on('message', function (request) {\n if (request === TERMINATE_METHOD_ID) {\n return worker.cleanupAndExit(0);\n }\n try {\n var method = worker.methods[request.method];\n\n if (method) {\n currentRequestId = request.id;\n \n // execute the function\n var result = method.apply(method, request.params);\n\n if (isPromise(result)) {\n // promise returned, resolve this and then return\n result\n .then(function (result) {\n if (result instanceof Transfer) {\n worker.send({\n id: request.id,\n result: result.message,\n error: null\n }, result.transfer);\n } else {\n worker.send({\n id: request.id,\n result: result,\n error: null\n });\n }\n currentRequestId = null;\n })\n .catch(function (err) {\n worker.send({\n id: request.id,\n result: null,\n error: convertError(err)\n });\n currentRequestId = null;\n });\n }\n else {\n // immediate result\n if (result instanceof Transfer) {\n worker.send({\n id: request.id,\n result: result.message,\n error: null\n }, result.transfer);\n } else {\n worker.send({\n id: request.id,\n result: result,\n error: null\n });\n }\n\n currentRequestId = null;\n }\n }\n else {\n throw new Error('Unknown method \"' + request.method + '\"');\n }\n }\n catch (err) {\n worker.send({\n id: request.id,\n result: null,\n error: convertError(err)\n });\n }\n});\n\n/**\n * Register methods to the worker\n * @param {Object} [methods]\n * @param {WorkerRegisterOptions} [options]\n */\nworker.register = function (methods, options) {\n\n if (methods) {\n for (var name in methods) {\n if (methods.hasOwnProperty(name)) {\n worker.methods[name] = methods[name];\n }\n }\n }\n\n if (options) {\n worker.terminationHandler = options.onTerminate;\n }\n\n worker.send('ready');\n};\n\nworker.emit = function (payload) {\n if (currentRequestId) {\n if (payload instanceof Transfer) {\n worker.send({\n id: currentRequestId,\n isEvent: true,\n payload: payload.message\n }, payload.transfer);\n return;\n }\n\n worker.send({\n id: currentRequestId,\n isEvent: true,\n payload\n });\n }\n};\n\nif (typeof exports !== 'undefined') {\n exports.add = worker.register;\n exports.emit = worker.emit;\n}\n","var environment = require('./environment');\n\n/**\n * Create a new worker pool\n * @param {string} [script]\n * @param {WorkerPoolOptions} [options]\n * @returns {Pool} pool\n */\nexports.pool = function pool(script, options) {\n var Pool = require('./Pool');\n\n return new Pool(script, options);\n};\n\n/**\n * Create a worker and optionally register a set of methods to the worker.\n * @param {Object} [methods]\n * @param {WorkerRegisterOptions} [options]\n */\nexports.worker = function worker(methods, options) {\n var worker = require('./worker');\n worker.add(methods, options);\n};\n\n/**\n * Sends an event to the parent worker pool.\n * @param {any} payload \n */\nexports.workerEmit = function workerEmit(payload) {\n var worker = require('./worker');\n worker.emit(payload);\n};\n\n/**\n * Create a promise.\n * @type {Promise} promise\n */\nexports.Promise = require('./Promise');\n\n/**\n * Create a transfer object.\n * @type {Transfer} transfer\n */\nexports.Transfer = require('./transfer');\n\nexports.platform = environment.platform;\nexports.isMainThread = environment.isMainThread;\nexports.cpus = environment.cpus;","var Sylvester = {}\n\nSylvester.Matrix = function () {}\n\nSylvester.Matrix.create = function (elements) {\n var M = new Sylvester.Matrix()\n return M.setElements(elements)\n}\n\nSylvester.Matrix.I = function (n) {\n var els = [],\n i = n,\n j\n while (i--) {\n j = n\n els[i] = []\n while (j--) {\n els[i][j] = i === j ? 1 : 0\n }\n }\n return Sylvester.Matrix.create(els)\n}\n\nSylvester.Matrix.prototype = {\n dup: function () {\n return Sylvester.Matrix.create(this.elements)\n },\n\n isSquare: function () {\n var cols = this.elements.length === 0 ? 0 : this.elements[0].length\n return this.elements.length === cols\n },\n\n toRightTriangular: function () {\n if (this.elements.length === 0) return Sylvester.Matrix.create([])\n var M = this.dup(),\n els\n var n = this.elements.length,\n i,\n j,\n np = this.elements[0].length,\n p\n for (i = 0; i < n; i++) {\n if (M.elements[i][i] === 0) {\n for (j = i + 1; j < n; j++) {\n if (M.elements[j][i] !== 0) {\n els = []\n for (p = 0; p < np; p++) {\n els.push(M.elements[i][p] + M.elements[j][p])\n }\n M.elements[i] = els\n break\n }\n }\n }\n if (M.elements[i][i] !== 0) {\n for (j = i + 1; j < n; j++) {\n var multiplier = M.elements[j][i] / M.elements[i][i]\n els = []\n for (p = 0; p < np; p++) {\n // Elements with column numbers up to an including the number of the\n // row that we're subtracting can safely be set straight to zero,\n // since that's the point of this routine and it avoids having to\n // loop over and correct rounding errors later\n els.push(\n p <= i ? 0 : M.elements[j][p] - M.elements[i][p] * multiplier\n )\n }\n M.elements[j] = els\n }\n }\n }\n return M\n },\n\n determinant: function () {\n if (this.elements.length === 0) {\n return 1\n }\n if (!this.isSquare()) {\n return null\n }\n var M = this.toRightTriangular()\n var det = M.elements[0][0],\n n = M.elements.length\n for (var i = 1; i < n; i++) {\n det = det * M.elements[i][i]\n }\n return det\n },\n\n isSingular: function () {\n return this.isSquare() && this.determinant() === 0\n },\n\n augment: function (matrix) {\n if (this.elements.length === 0) {\n return this.dup()\n }\n var M = matrix.elements || matrix\n if (typeof M[0][0] === 'undefined') {\n M = Sylvester.Matrix.create(M).elements\n }\n var T = this.dup(),\n cols = T.elements[0].length\n var i = T.elements.length,\n nj = M[0].length,\n j\n if (i !== M.length) {\n return null\n }\n while (i--) {\n j = nj\n while (j--) {\n T.elements[i][cols + j] = M[i][j]\n }\n }\n return T\n },\n\n inverse: function () {\n if (this.elements.length === 0) {\n return null\n }\n if (!this.isSquare() || this.isSingular()) {\n return null\n }\n var n = this.elements.length,\n i = n,\n j\n var M = this.augment(Sylvester.Matrix.I(n)).toRightTriangular()\n var np = M.elements[0].length,\n p,\n els,\n divisor\n var inverse_elements = [],\n new_element\n // Sylvester.Matrix is non-singular so there will be no zeros on the\n // diagonal. Cycle through rows from last to first.\n while (i--) {\n // First, normalise diagonal elements to 1\n els = []\n inverse_elements[i] = []\n divisor = M.elements[i][i]\n for (p = 0; p < np; p++) {\n new_element = M.elements[i][p] / divisor\n els.push(new_element)\n // Shuffle off the current row of the right hand side into the results\n // array as it will not be modified by later runs through this loop\n if (p >= n) {\n inverse_elements[i].push(new_element)\n }\n }\n M.elements[i] = els\n // Then, subtract this row from those above it to give the identity matrix\n // on the left hand side\n j = i\n while (j--) {\n els = []\n for (p = 0; p < np; p++) {\n els.push(M.elements[j][p] - M.elements[i][p] * M.elements[j][i])\n }\n M.elements[j] = els\n }\n }\n return Sylvester.Matrix.create(inverse_elements)\n },\n\n setElements: function (els) {\n var i,\n j,\n elements = els.elements || els\n if (elements[0] && typeof elements[0][0] !== 'undefined') {\n i = elements.length\n this.elements = []\n while (i--) {\n j = elements[i].length\n this.elements[i] = []\n while (j--) {\n this.elements[i][j] = elements[i][j]\n }\n }\n return this\n }\n var n = elements.length\n this.elements = []\n for (i = 0; i < n; i++) {\n this.elements.push([elements[i]])\n }\n return this\n },\n}\n\nmodule.exports = function (elements) {\n const mat = Sylvester.Matrix.create(elements).inverse()\n if (mat !== null) {\n return mat.elements\n } else {\n return null\n }\n}\n","import sha1 from 'js-sha1';\n\nenum SemanticType {\n\t// clefs\n\tClefG = 'ClefG',\n\tClefF = 'ClefF',\n\tClefC = 'ClefC',\n\n\t// noteheads\n\tNoteheadS0 = 'NoteheadS0',\n\tNoteheadS1 = 'NoteheadS1',\n\tNoteheadS2 = 'NoteheadS2',\n\tNoteheadS1stemU = 'NoteheadS1stemU',\n\tNoteheadS1stemD = 'NoteheadS1stemD',\n\tNoteheadS2stemU = 'NoteheadS2stemU',\n\tNoteheadS2stemD = 'NoteheadS2stemD',\n\n\tvline_Stem = 'vline_Stem',\n\n\t// flags\n\tFlag3 = 'Flag3',\n\n\t// beams\n\tBeamLeft = 'BeamLeft',\n\tBeamContinue = 'BeamContinue',\n\tBeamRight = 'BeamRight',\n\n\t// tremolos\n\tTremoloLeft = 'TremoloLeft',\n\tTremoloRight = 'TremoloRight',\n\tTremoloMiddle = 'TremoloMiddle',\n\n\t// dots (duration)\n\tDot = 'Dot',\n\n\t// rests\n\tRest0 = 'Rest0',\n\tRest1 = 'Rest1',\n\tRest2 = 'Rest2',\n\tRest3 = 'Rest3',\n\tRest4 = 'Rest4',\n\tRest5 = 'Rest5',\n\tRest6 = 'Rest6',\n\tRest0W = 'Rest0W', // capital 'R' in lilypond\n\tRestM1 = 'RestM1',\n\n\t// accidentals\n\tAccNatural = 'AccNatural',\n\tAccSharp = 'AccSharp',\n\tAccDoublesharp = 'AccDoublesharp',\n\tAccFlat = 'AccFlat',\n\tAccFlatflat = 'AccFlatflat',\n\n\t// volta\n\tvline_VoltaLeft = 'vline_VoltaLeft',\n\tvline_VoltaRight = 'vline_VoltaRight',\n\tVoltaLeft = 'VoltaLeft',\n\tVoltaRight = 'VoltaRight',\n\n\tVoltaAlternativeBegin = 'VoltaAlternativeBegin',\n\t//VoltaAlternativeEnd\t= \"VoltaAlternativeEnd\",\n\n\t// vertical bars\n\tBarMeasure = 'BarMeasure',\n\tvline_BarMeasure = 'vline_BarMeasure',\n\tvline_BarTerminal = 'vline_BarTerminal',\n\tvline_BarSegment = 'vline_BarSegment',\n\n\t// slur & tie\n\tSlurBegin = 'SlurBegin',\n\tSlurEnd = 'SlurEnd',\n\n\t// time signature\n\tTimesigC44 = 'TimesigC44',\n\tTimesigC22 = 'TimesigC22',\n\tTimesigZero = 'TimesigZero',\n\tTimesigOne = 'TimesigOne',\n\tTimesigTwo = 'TimesigTwo',\n\tTimesigThree = 'TimesigThree',\n\tTimesigFour = 'TimesigFour',\n\tTimesigFive = 'TimesigFive',\n\tTimesigSix = 'TimesigSix',\n\tTimesigSeven = 'TimesigSeven',\n\tTimesigEight = 'TimesigEight',\n\tTimesigNine = 'TimesigNine',\n\n\t// octave shifts\n\tOctaveShift8va = 'OctaveShift8va',\n\tOctaveShift8vb = 'OctaveShift8vb',\n\tOctaveShift8 = 'OctaveShift8',\n\tOctaveShift0 = 'OctaveShift0',\n\n\t// numbers\n\tZero = 'Zero',\n\tOne = 'One',\n\tTwo = 'Two',\n\tThree = 'Three',\n\tFour = 'Four',\n\tFive = 'Five',\n\tSix = 'Six',\n\tSeven = 'Seven',\n\tEight = 'Eight',\n\tNine = 'Nine',\n\n\t// dynamics\n\tf = 'f',\n\tp = 'p',\n\tm = 'm',\n\tn = 'n',\n\tr = 'r',\n\ts = 's',\n\tz = 'z',\n\n\tCrescendoBegin = 'CrescendoBegin',\n\tCrescendoEnd = 'CrescendoEnd',\n\tDecrescendoBegin = 'DecrescendoBegin',\n\tDecrescendoEnd = 'DecrescendoEnd',\n\n\t// scripts\n\tScriptFermata = 'ScriptFermata',\n\tScriptShortFermata = 'ScriptShortFermata',\n\tScriptSforzato = 'ScriptSforzato',\n\tScriptStaccato = 'ScriptStaccato',\n\tScriptStaccatissimo = 'ScriptStaccatissimo',\n\tScriptTurn = 'ScriptTurn',\n\tScriptTrill = 'ScriptTrill',\n\tScriptSegno = 'ScriptSegno',\n\tScriptCoda = 'ScriptCoda',\n\tScriptArpeggio = 'ScriptArpeggio',\n\tScriptPrall = 'ScriptPrall',\n\tScriptMordent = 'ScriptMordent',\n\tScriptMarcato = 'ScriptMarcato',\n\tScriptTenuto = 'ScriptTenuto',\n\tScriptPortato = 'ScriptPortato',\n\n\t// pedal\n\tPedalStar = 'PedalStar',\n\tPedalPed = 'PedalPed',\n\n\t// additional annotation\n\tKeyAcc = 'KeyAcc',\n\tTempoNotehead = 'TempoNotehead',\n\tGraceNotehead = 'GraceNotehead',\n\tSignLined = 'SignLined',\n\tSignInterval = 'SignInterval',\n\n\trect_Text = 'rect_Text',\n\trect_Lyric = 'rect_Lyric',\n}\n\nconst glyphSemanticMapping: { [key: string]: string } = {\n\t'rests.1': 'Rest1',\n\t'rests.0o': 'Rest0',\n\t'rests.1o': 'Rest1',\n\t'rests.M1': 'RestM1',\n\t'rests.2': 'Rest2',\n\t'rests.3': 'Rest3',\n\t'rests.4': 'Rest4',\n\t'rests.5': 'Rest5',\n\t'rests.6': 'Rest6',\n\t'accidentals.sharp': 'AccSharp',\n\t'accidentals.doublesharp': 'AccDoublesharp',\n\t'accidentals.natural': 'AccNatural',\n\t'accidentals.flat': 'AccFlat',\n\t'accidentals.flatflat': 'AccFlatflat',\n\t'dots.dot': 'Dot',\n\t'scripts.ufermata': 'ScriptFermata',\n\t'scripts.dfermata': 'ScriptFermata',\n\t'scripts.ushortfermata': 'ScriptShortFermata',\n\t'scripts.dshortfermata': 'ScriptShortFermata',\n\t'scripts.staccato': 'ScriptStaccato',\n\t'scripts.ustaccatissimo': 'ScriptStaccatissimo',\n\t'scripts.dstaccatissimo': 'ScriptStaccatissimo',\n\t'scripts.turn': 'ScriptTurn',\n\t'scripts.trill': 'ScriptTrill',\n\t'scripts.segno': 'ScriptSegno',\n\t'scripts.coda': 'ScriptCoda',\n\t'scripts.arpeggio': 'ScriptArpeggio',\n\t'scripts.prall': 'ScriptPrall',\n\t'scripts.mordent': 'ScriptMordent',\n\t'scripts.umarcato': 'ScriptMarcato',\n\t'scripts.dmarcato': 'ScriptMarcato',\n\t'scripts.uportato': 'ScriptPortato',\n\t'scripts.dportato': 'ScriptPortato',\n\t'scripts.tenuto': 'ScriptTenuto',\n\t'scripts.sforzato': 'ScriptSforzato',\n\t'clefs.C': 'ClefC',\n\t'clefs.F': 'ClefF',\n\t'clefs.G': 'ClefG',\n\t'clefs.F_change': 'ClefF',\n\t'clefs.G_change': 'ClefG',\n\t'timesig.C44': 'TimesigC44',\n\t'timesig.C22': 'TimesigC22',\n\t'pedal.*': 'PedalStar',\n\t'pedal.Ped': 'PedalPed',\n\t'noteheads.s0': 'NoteheadS0',\n\t'noteheads.s1': 'NoteheadS1',\n\t'noteheads.s2': 'NoteheadS2',\n\tf: 'f',\n\tm: 'm',\n\tp: 'p',\n\tr: 'r',\n\ts: 's',\n\tz: 'z',\n};\n\nconst semanticPriorities: { [key: string]: number } = {\n\tClefG: 0,\n\tClefF: 0,\n\tTimesigFour: 0,\n\tTimesigThree: 0,\n\tTimesigTwo: 0,\n\tNoteheadS0: 0,\n\tNoteheadS1: 0,\n\tNoteheadS2: 0,\n\tDot: 0,\n\tvline_BarMeasure: 0,\n\tvline_Stem: 0,\n\tFlag3: 0,\n\n\tTimesigC44: 1,\n\tTimesigC22: 1,\n\tTimesigEight: 1,\n\tTimesigSix: 1,\n\tAccNatural: 1,\n\tAccSharp: 1,\n\tAccFlat: 1,\n\tKeyAcc: 1,\n\tRest0: 1,\n\tRest1: 1,\n\tRest2: 1,\n\tRest3: 1,\n\tRest4: 1,\n\tOctaveShift8: 1,\n\tOctaveShift0: 1,\n\n\tAccDoublesharp: 2,\n\tAccFlatflat: 2,\n\tTimesigOne: 2,\n\tTimesigNine: 2,\n\tRest5: 2,\n\tRest6: 2,\n\tSlurBegin: 2,\n\tSlurEnd: 2,\n\tVoltaLeft: 2,\n\tVoltaRight: 2,\n\t//VoltaAlternativeBegin: 2,\n\tvline_BarTerminal: 2,\n\tvline_BarSegment: 2,\n\tTempoNotehead: 2,\n\tGraceNotehead: 2,\n\tSignLined: 2,\n\tSignInterval: 2,\n\tBeamLeft: 2,\n\tBeamRight: 2,\n\tBeamContinue: 2,\n\tTremoloLeft: 2,\n\tTremoloRight: 2,\n\tTremoloMiddle: 2,\n\tStemTip: 2,\n\tStemHead: 2,\n\n\t//Rest0W: 3,\n\tf: 3,\n\tp: 3,\n\tm: 3,\n\tScriptFermata: 3,\n\tScriptSforzato: 3,\n\tScriptStaccato: 3,\n\tScriptStaccatissimo: 3,\n\tScriptTurn: 3,\n\tScriptTrill: 3,\n\tScriptSegno: 3,\n\tScriptCoda: 3,\n\tScriptArpeggio: 3,\n\tScriptPrall: 3,\n\tScriptMordent: 3,\n\tScriptTenuto: 3,\n\tPedalStar: 3,\n\tPedalPed: 3,\n\tTimesigFive: 3,\n\tTimesigSeven: 3,\n\tTimesigZero: 3,\n\tOne: 3,\n\tTwo: 3,\n\tThree: 3,\n\tFour: 3,\n\tFive: 3,\n\trect_Text: 3,\n\trect_Lyric: 3,\n\tCrescendoBegin: 3,\n\tCrescendoEnd: 3,\n\tDecrescendoBegin: 3,\n\tDecrescendoEnd: 3,\n\n\tRestM1: 4,\n\tClefC: 4,\n\tScriptShortFermata: 4,\n\tScriptMarcato: 4,\n\tScriptPortato: 4,\n\ts: 4,\n\tr: 4,\n\tz: 4,\n\tZero: 4,\n\tSix: 4,\n\tSeven: 4,\n\tEight: 4,\n\tNine: 4,\n};\n\ninterface Position {\n\tx?: number;\n\ty?: number;\n}\n\nconst NOTEHEAD_WIDTHS = {\n\tNoteheadS0: 0.913 * 2,\n\tNoteheadS1: 0.632 * 2,\n\tNoteheadS2: 0.599 * 2,\n};\n\nconst glyphCenters: { [key: string]: Position } = {\n\t//\"clefs.C\": { x: 1.3 },\n\t'clefs.F': { x: 1.06 },\n\t'clefs.G': { x: 1.3 },\n\t'clefs.F_change': { x: 0.87 },\n\t'clefs.G_change': { x: 1.07 },\n\t'timesig.C44': { x: 0.9 },\n\t'timesig.C22': { x: 0.9 },\n\tzero: { x: 0.7, y: -1 },\n\tone: { x: 0.7, y: -1 },\n\ttwo: { x: 0.7, y: -1 },\n\tthree: { x: 0.7, y: -1 },\n\tfour: { x: 0.7, y: -1 },\n\tfive: { x: 0.7, y: -1 },\n\tsix: { x: 0.7, y: -1 },\n\tseven: { x: 0.7, y: -1 },\n\teight: { x: 0.7, y: -1 },\n\tnine: { x: 0.7, y: -1 },\n\t'accidentals.sharp': { x: 0.55 },\n\t'accidentals.doublesharp': { x: 0.5 },\n\t'accidentals.natural': { x: 0.3 },\n\t'accidentals.flat': { x: 0.3 },\n\t'accidentals.flatflat': { x: 0.5 },\n\t'noteheads.s0': { x: NOTEHEAD_WIDTHS.NoteheadS0 / 2 },\n\t'noteheads.s1': { x: NOTEHEAD_WIDTHS.NoteheadS1 / 2 },\n\t'noteheads.s2': { x: NOTEHEAD_WIDTHS.NoteheadS2 / 2 },\n\t'rests.0': { x: 0.75, y: 1 },\n\t'rests.1': { x: 0.75 },\n\t'rests.0o': { x: 0.75, y: 1 },\n\t'rests.1o': { x: 0.75 },\n\t'rests.M1': { x: 0.75, y: 1 },\n\t'rests.2': { x: 0.5 },\n\t'rests.3': { x: 0.5 },\n\t'rests.4': { x: 0.5 },\n\t'rests.5': { x: 0.5 },\n\t'rests.6': { x: 0.5 },\n\tf: { x: 0.6, y: -0.5 },\n\tm: { x: 0.9, y: -0.5 },\n\tp: { x: 0.5, y: -0.5 },\n\tr: { x: 0.5, y: -0.5 },\n\ts: { x: 0.5, y: -0.5 },\n\tz: { x: 0.5, y: -0.5 },\n\t'scripts.trill': { y: -0.5 },\n\t'scripts.segno': { x: 0, y: 0 },\n\t'scripts.coda': { x: 0, y: 0 },\n\t'scripts.arpeggio': { x: 0.5, y: -0.5 },\n\t'pedal.*': { x: 0.78, y: -0.78 },\n\t'pedal.Ped': { x: 1.6, y: -0.7 },\n};\n\ninterface Point {\n\t// in staff unit coordinates\n\tx: number;\n\ty: number;\n\n\tpivotX?: number;\n\n\t// for prediction\n\tconfidence?: number;\n\n\t// sheet token index in page\n\tindex?: number;\n\ttag?: string;\n\n\textension?: {\n\t\ty1?: number;\n\t\ty2?: number;\n\n\t\thref?: string;\n\t\twidth?: number;\n\t\theight?: number;\n\n\t\ttext?: string;\n\t\ttheta?: number;\n\t\ttype?: string;\n\t\ttextFeature?: Record;\n\t};\n}\n\ninterface SemanticPoint extends Point {\n\tid?: string;\n\tsemantic: SemanticType;\n}\n\nconst ONE_D_SEMANTICS = [\n\t'OctaveShift8va',\n\t'OctaveShift8vb',\n\t'OctaveShift8',\n\t'OctaveShift0',\n\t'vline_VoltaLeft',\n\t'vline_VoltaRight',\n\t'VoltaAlternativeBegin',\n\t'vline_BarMeasure',\n\t'vline_BarTerminal',\n\t'vline_BarSegment',\n];\n\nconst SYSTEM_SEMANTIC_TYPES = [\n\tSemanticType.BarMeasure,\n\tSemanticType.vline_BarMeasure,\n\tSemanticType.vline_BarTerminal,\n\tSemanticType.vline_BarSegment,\n\tSemanticType.vline_VoltaLeft,\n\tSemanticType.vline_VoltaRight,\n\tSemanticType.VoltaAlternativeBegin,\n];\n\nconst st = SemanticType;\nconst CONFLICTION_GROUPS = [\n\t[st.NoteheadS0, st.NoteheadS1, st.NoteheadS2],\n\t[st.Zero, st.One, st.Two, st.Three, st.Four, st.Five, st.Six, st.Seven, st.Eight, st.Nine, st.ScriptStaccatissimo],\n\t[\n\t\tst.TimesigZero,\n\t\tst.TimesigOne,\n\t\tst.TimesigTwo,\n\t\tst.TimesigThree,\n\t\tst.TimesigFour,\n\t\tst.TimesigFive,\n\t\tst.TimesigSix,\n\t\tst.TimesigSeven,\n\t\tst.TimesigEight,\n\t\tst.TimesigNine,\n\t],\n\t[st.Rest0, st.Rest1, st.Rest2, st.Rest3, st.Rest4, st.Rest5, st.Rest6, st.Rest0W, st.RestM1],\n\t[st.SignInterval, st.SignLined],\n\t[st.BeamLeft, st.BeamContinue, st.BeamRight],\n];\n\nconst STAMP_SEMANTICS = [\n\tst.ClefG,\n\tst.ClefF,\n\tst.ClefC,\n\tst.NoteheadS0,\n\tst.NoteheadS1,\n\tst.NoteheadS2,\n\tst.Dot,\n\tst.Rest0,\n\tst.Rest1,\n\tst.Rest2,\n\tst.Rest3,\n\tst.Rest4,\n\tst.Rest5,\n\tst.Rest6,\n\tst.RestM1,\n\tst.AccNatural,\n\tst.AccSharp,\n\tst.AccDoublesharp,\n\tst.AccFlat,\n\tst.AccFlatflat,\n\tst.TimesigC44,\n\tst.TimesigC22,\n\tst.TimesigZero,\n\tst.TimesigOne,\n\tst.TimesigTwo,\n\tst.TimesigThree,\n\tst.TimesigFour,\n\tst.TimesigFive,\n\tst.TimesigSix,\n\tst.TimesigSeven,\n\tst.TimesigEight,\n\tst.TimesigNine,\n\tst.One,\n\tst.Two,\n\tst.Three,\n\tst.Four,\n\tst.Five,\n\tst.OctaveShift8,\n\t//st.OctaveShift15,\n\tst.OctaveShift0,\n\tst.f,\n\tst.p,\n\tst.m,\n\tst.n,\n\tst.r,\n\tst.s,\n\tst.z,\n\tst.ScriptFermata,\n\tst.ScriptShortFermata,\n\tst.ScriptSforzato,\n\tst.ScriptStaccato,\n\tst.ScriptStaccatissimo,\n\tst.ScriptTurn,\n\tst.ScriptTrill,\n\tst.ScriptSegno,\n\tst.ScriptCoda,\n\tst.ScriptArpeggio,\n\tst.ScriptPrall,\n\tst.ScriptMordent,\n\tst.ScriptMarcato,\n\tst.ScriptTenuto,\n\tst.ScriptPortato,\n\tst.PedalStar,\n\tst.PedalPed,\n];\n\n// [cx, cy, width, height]\nconst STAMP_RECTS = {\n\tClefG: [-0.0625, -1.125, 3.6, 8.6],\n\tClefF: [0.25, 0.5625, 3.6, 3.8],\n\tClefC: [0.25, 0, 3.25, 4.5],\n\tNoteheadS0: [0.0625, 0, 2.55, 1.4],\n\tNoteheadS1: [0.0625, 0, 1.8, 1.4],\n\tNoteheadS2: [0.0625, -0.0625, 1.65, 1.35],\n\tDot: [0.25, 0, 0.6, 0.6],\n\tRest0: [0, -0.75, 3.25, 0.9],\n\tRest1: [0, -0.25, 3.25, 0.9],\n\tRest2: [-0.0625, -0.1875, 1.6, 3.375],\n\tRest3: [0, 0.0625, 1.2, 2.25],\n\tRest4: [0.0625, 0.5625, 1.65, 3.375],\n\tRest5: [0.0625, 0.0625, 1.95, 4.375],\n\tRest6: [0.0625, 0.5625, 1.95, 5.375],\n\tRestM1: [-0.4375, -1.5, 0.75, 1.2],\n\tAccNatural: [0, 0, 0.9, 3.5],\n\tAccSharp: [0, 0, 1.5, 3.5],\n\tAccDoublesharp: [0, 0, 1.5, 1.5],\n\tAccFlat: [0, -0.5625, 1.2, 3.125],\n\tAccFlatflat: [0.1875, -0.5625, 1.95, 3.125],\n\tTimesigC44: [-0.0625, 0, 2.25, 2.3],\n\tTimesigC22: [-0.0625, 0, 2.25, 3.2],\n\tTimesigZero: [0, 0, 1.8, 2.2],\n\tTimesigOne: [-0.125, 0, 1.5, 2.2],\n\tTimesigTwo: [0, 0, 2.2, 2.2],\n\tTimesigThree: [-0.0625, 0, 1.9, 2.4],\n\tTimesigFour: [0.0625, 0, 1.95, 2.2],\n\tTimesigFive: [0, 0, 1.8, 2.3],\n\tTimesigSix: [0, 0, 2.0, 2.4],\n\tTimesigSeven: [0, 0, 1.8, 2.2],\n\tTimesigEight: [0, 0, 1.9, 2.2],\n\tTimesigNine: [0, 0, 1.9, 2.2],\n\tOne: [-0.0625, 0, 0.75, 1.6],\n\tTwo: [0, 0, 1.2, 1.6],\n\tThree: [0, 0, 1.2, 1.6],\n\tFour: [0, 0, 1.2, 1.6],\n\tFive: [0, 0, 1.2, 1.6],\n\tOctaveShift8: [2.125, -0.1875, 4.75, 3.6],\n\tOctaveShift0: [-0.4, 0, 1.8, 4.2],\n\tf: [0.0625, -0.125, 2.55, 3],\n\tp: [-0.0625, 0.25, 2.55, 2.1],\n\tm: [-0.125, -0.0625, 2.4, 1.35],\n\tn: [-0.3125, -0.0625, 1.95, 1.35],\n\tr: [0, -0.125, 1.5, 1.5],\n\ts: [0, -0.0625, 1.2, 1.35],\n\tz: [0.0625, 0, 1.35, 1.5],\n\tScriptFermata: [0, 0, 3.25, 3.9],\n\tScriptShortFermata: [0, 0, 2.4, 4.95],\n\tScriptSforzato: [-0.0625, 0, 2.5, 1.2],\n\tScriptStaccato: [0, -0.0625, 0.6, 0.45],\n\tScriptStaccatissimo: [0, 0, 1.2, 2.6],\n\tScriptTurn: [0, 0, 2.7, 1.5],\n\tScriptTrill: [-0.125, -0.5, 3, 2.7],\n\tScriptSegno: [0, 0, 2.4, 3.5],\n\tScriptCoda: [0, 0, 2.7, 3.25],\n\tScriptArpeggio: [-0.0625, 0, 1.05, 1.8],\n\tScriptPrall: [0, 0, 2.4, 1.2],\n\tScriptMordent: [0, 0, 2.4, 1.5],\n\tScriptMarcato: [0, 0, 1.2, 2.475],\n\tScriptTenuto: [0, -0.0625, 1.5, 0.15],\n\tScriptPortato: [0, 0, 1.5, 1.65],\n\tPedalStar: [0, 0, 3.2, 3.2],\n\tPedalPed: [0, -0.25, 4.7, 2.4],\n};\n\nconst hashSemanticPoint = (systemIndex: number, staffIndex: number, point: SemanticPoint): string => {\n\tconst x = Math.round(point.x * 10);\n\tconst y = Math.round(point.y * 10);\n\tconst source = `${systemIndex}|${staffIndex}|${point.semantic}|${x}|${y}`;\n\tconst hash = (sha1 as any).array(source).slice(12); // clip to 12 bytes\n\tconst id = (globalThis as any).btoa(String.fromCharCode(...hash)).substring(0, 11);\n\tpoint.id = id;\n\n\treturn id;\n};\n\nconst hashPageSemanticPoint = (pageName: string, point: SemanticPoint): string => {\n\tconst x = Math.round(point.x);\n\tconst y = Math.round(point.y);\n\tconst source = `p-${pageName}|${point.semantic}|${x}|${y}`;\n\tconst hash = (sha1 as any).array(source).slice(12); // clip to 12 bytes\n\tconst id = (globalThis as any).btoa(String.fromCharCode(...hash)).substring(0, 11);\n\tpoint.id = id;\n\n\treturn id;\n};\n\nexport {\n\tSemanticType,\n\tglyphSemanticMapping,\n\tsemanticPriorities,\n\tPoint,\n\tSemanticPoint,\n\tNOTEHEAD_WIDTHS,\n\tglyphCenters,\n\tONE_D_SEMANTICS,\n\tSYSTEM_SEMANTIC_TYPES,\n\tCONFLICTION_GROUPS,\n\tSTAMP_SEMANTICS,\n\tSTAMP_RECTS,\n\thashSemanticPoint,\n\thashPageSemanticPoint,\n};\n","/*\n * [js-sha1]{@link https://github.com/emn178/js-sha1}\n *\n * @version 0.6.0\n * @author Chen, Yi-Cyuan [emn178@gmail.com]\n * @copyright Chen, Yi-Cyuan 2014-2017\n * @license MIT\n */\n/*jslint bitwise: true */\n(function() {\n 'use strict';\n\n var root = typeof window === 'object' ? window : {};\n var NODE_JS = !root.JS_SHA1_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node;\n if (NODE_JS) {\n root = global;\n }\n var COMMON_JS = !root.JS_SHA1_NO_COMMON_JS && typeof module === 'object' && module.exports;\n var AMD = typeof define === 'function' && define.amd;\n var HEX_CHARS = '0123456789abcdef'.split('');\n var EXTRA = [-2147483648, 8388608, 32768, 128];\n var SHIFT = [24, 16, 8, 0];\n var OUTPUT_TYPES = ['hex', 'array', 'digest', 'arrayBuffer'];\n\n var blocks = [];\n\n var createOutputMethod = function (outputType) {\n return function (message) {\n return new Sha1(true).update(message)[outputType]();\n };\n };\n\n var createMethod = function () {\n var method = createOutputMethod('hex');\n if (NODE_JS) {\n method = nodeWrap(method);\n }\n method.create = function () {\n return new Sha1();\n };\n method.update = function (message) {\n return method.create().update(message);\n };\n for (var i = 0; i < OUTPUT_TYPES.length; ++i) {\n var type = OUTPUT_TYPES[i];\n method[type] = createOutputMethod(type);\n }\n return method;\n };\n\n var nodeWrap = function (method) {\n var crypto = eval(\"require('crypto')\");\n var Buffer = eval(\"require('buffer').Buffer\");\n var nodeMethod = function (message) {\n if (typeof message === 'string') {\n return crypto.createHash('sha1').update(message, 'utf8').digest('hex');\n } else if (message.constructor === ArrayBuffer) {\n message = new Uint8Array(message);\n } else if (message.length === undefined) {\n return method(message);\n }\n return crypto.createHash('sha1').update(new Buffer(message)).digest('hex');\n };\n return nodeMethod;\n };\n\n function Sha1(sharedMemory) {\n if (sharedMemory) {\n blocks[0] = blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n this.blocks = blocks;\n } else {\n this.blocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n }\n\n this.h0 = 0x67452301;\n this.h1 = 0xEFCDAB89;\n this.h2 = 0x98BADCFE;\n this.h3 = 0x10325476;\n this.h4 = 0xC3D2E1F0;\n\n this.block = this.start = this.bytes = this.hBytes = 0;\n this.finalized = this.hashed = false;\n this.first = true;\n }\n\n Sha1.prototype.update = function (message) {\n if (this.finalized) {\n return;\n }\n var notString = typeof(message) !== 'string';\n if (notString && message.constructor === root.ArrayBuffer) {\n message = new Uint8Array(message);\n }\n var code, index = 0, i, length = message.length || 0, blocks = this.blocks;\n\n while (index < length) {\n if (this.hashed) {\n this.hashed = false;\n blocks[0] = this.block;\n blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n }\n\n if(notString) {\n for (i = this.start; index < length && i < 64; ++index) {\n blocks[i >> 2] |= message[index] << SHIFT[i++ & 3];\n }\n } else {\n for (i = this.start; index < length && i < 64; ++index) {\n code = message.charCodeAt(index);\n if (code < 0x80) {\n blocks[i >> 2] |= code << SHIFT[i++ & 3];\n } else if (code < 0x800) {\n blocks[i >> 2] |= (0xc0 | (code >> 6)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else if (code < 0xd800 || code >= 0xe000) {\n blocks[i >> 2] |= (0xe0 | (code >> 12)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));\n blocks[i >> 2] |= (0xf0 | (code >> 18)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 12) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n }\n }\n }\n\n this.lastByteIndex = i;\n this.bytes += i - this.start;\n if (i >= 64) {\n this.block = blocks[16];\n this.start = i - 64;\n this.hash();\n this.hashed = true;\n } else {\n this.start = i;\n }\n }\n if (this.bytes > 4294967295) {\n this.hBytes += this.bytes / 4294967296 << 0;\n this.bytes = this.bytes % 4294967296;\n }\n return this;\n };\n\n Sha1.prototype.finalize = function () {\n if (this.finalized) {\n return;\n }\n this.finalized = true;\n var blocks = this.blocks, i = this.lastByteIndex;\n blocks[16] = this.block;\n blocks[i >> 2] |= EXTRA[i & 3];\n this.block = blocks[16];\n if (i >= 56) {\n if (!this.hashed) {\n this.hash();\n }\n blocks[0] = this.block;\n blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n }\n blocks[14] = this.hBytes << 3 | this.bytes >>> 29;\n blocks[15] = this.bytes << 3;\n this.hash();\n };\n\n Sha1.prototype.hash = function () {\n var a = this.h0, b = this.h1, c = this.h2, d = this.h3, e = this.h4;\n var f, j, t, blocks = this.blocks;\n\n for(j = 16; j < 80; ++j) {\n t = blocks[j - 3] ^ blocks[j - 8] ^ blocks[j - 14] ^ blocks[j - 16];\n blocks[j] = (t << 1) | (t >>> 31);\n }\n\n for(j = 0; j < 20; j += 5) {\n f = (b & c) | ((~b) & d);\n t = (a << 5) | (a >>> 27);\n e = t + f + e + 1518500249 + blocks[j] << 0;\n b = (b << 30) | (b >>> 2);\n\n f = (a & b) | ((~a) & c);\n t = (e << 5) | (e >>> 27);\n d = t + f + d + 1518500249 + blocks[j + 1] << 0;\n a = (a << 30) | (a >>> 2);\n\n f = (e & a) | ((~e) & b);\n t = (d << 5) | (d >>> 27);\n c = t + f + c + 1518500249 + blocks[j + 2] << 0;\n e = (e << 30) | (e >>> 2);\n\n f = (d & e) | ((~d) & a);\n t = (c << 5) | (c >>> 27);\n b = t + f + b + 1518500249 + blocks[j + 3] << 0;\n d = (d << 30) | (d >>> 2);\n\n f = (c & d) | ((~c) & e);\n t = (b << 5) | (b >>> 27);\n a = t + f + a + 1518500249 + blocks[j + 4] << 0;\n c = (c << 30) | (c >>> 2);\n }\n\n for(; j < 40; j += 5) {\n f = b ^ c ^ d;\n t = (a << 5) | (a >>> 27);\n e = t + f + e + 1859775393 + blocks[j] << 0;\n b = (b << 30) | (b >>> 2);\n\n f = a ^ b ^ c;\n t = (e << 5) | (e >>> 27);\n d = t + f + d + 1859775393 + blocks[j + 1] << 0;\n a = (a << 30) | (a >>> 2);\n\n f = e ^ a ^ b;\n t = (d << 5) | (d >>> 27);\n c = t + f + c + 1859775393 + blocks[j + 2] << 0;\n e = (e << 30) | (e >>> 2);\n\n f = d ^ e ^ a;\n t = (c << 5) | (c >>> 27);\n b = t + f + b + 1859775393 + blocks[j + 3] << 0;\n d = (d << 30) | (d >>> 2);\n\n f = c ^ d ^ e;\n t = (b << 5) | (b >>> 27);\n a = t + f + a + 1859775393 + blocks[j + 4] << 0;\n c = (c << 30) | (c >>> 2);\n }\n\n for(; j < 60; j += 5) {\n f = (b & c) | (b & d) | (c & d);\n t = (a << 5) | (a >>> 27);\n e = t + f + e - 1894007588 + blocks[j] << 0;\n b = (b << 30) | (b >>> 2);\n\n f = (a & b) | (a & c) | (b & c);\n t = (e << 5) | (e >>> 27);\n d = t + f + d - 1894007588 + blocks[j + 1] << 0;\n a = (a << 30) | (a >>> 2);\n\n f = (e & a) | (e & b) | (a & b);\n t = (d << 5) | (d >>> 27);\n c = t + f + c - 1894007588 + blocks[j + 2] << 0;\n e = (e << 30) | (e >>> 2);\n\n f = (d & e) | (d & a) | (e & a);\n t = (c << 5) | (c >>> 27);\n b = t + f + b - 1894007588 + blocks[j + 3] << 0;\n d = (d << 30) | (d >>> 2);\n\n f = (c & d) | (c & e) | (d & e);\n t = (b << 5) | (b >>> 27);\n a = t + f + a - 1894007588 + blocks[j + 4] << 0;\n c = (c << 30) | (c >>> 2);\n }\n\n for(; j < 80; j += 5) {\n f = b ^ c ^ d;\n t = (a << 5) | (a >>> 27);\n e = t + f + e - 899497514 + blocks[j] << 0;\n b = (b << 30) | (b >>> 2);\n\n f = a ^ b ^ c;\n t = (e << 5) | (e >>> 27);\n d = t + f + d - 899497514 + blocks[j + 1] << 0;\n a = (a << 30) | (a >>> 2);\n\n f = e ^ a ^ b;\n t = (d << 5) | (d >>> 27);\n c = t + f + c - 899497514 + blocks[j + 2] << 0;\n e = (e << 30) | (e >>> 2);\n\n f = d ^ e ^ a;\n t = (c << 5) | (c >>> 27);\n b = t + f + b - 899497514 + blocks[j + 3] << 0;\n d = (d << 30) | (d >>> 2);\n\n f = c ^ d ^ e;\n t = (b << 5) | (b >>> 27);\n a = t + f + a - 899497514 + blocks[j + 4] << 0;\n c = (c << 30) | (c >>> 2);\n }\n\n this.h0 = this.h0 + a << 0;\n this.h1 = this.h1 + b << 0;\n this.h2 = this.h2 + c << 0;\n this.h3 = this.h3 + d << 0;\n this.h4 = this.h4 + e << 0;\n };\n\n Sha1.prototype.hex = function () {\n this.finalize();\n\n var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3, h4 = this.h4;\n\n return HEX_CHARS[(h0 >> 28) & 0x0F] + HEX_CHARS[(h0 >> 24) & 0x0F] +\n HEX_CHARS[(h0 >> 20) & 0x0F] + HEX_CHARS[(h0 >> 16) & 0x0F] +\n HEX_CHARS[(h0 >> 12) & 0x0F] + HEX_CHARS[(h0 >> 8) & 0x0F] +\n HEX_CHARS[(h0 >> 4) & 0x0F] + HEX_CHARS[h0 & 0x0F] +\n HEX_CHARS[(h1 >> 28) & 0x0F] + HEX_CHARS[(h1 >> 24) & 0x0F] +\n HEX_CHARS[(h1 >> 20) & 0x0F] + HEX_CHARS[(h1 >> 16) & 0x0F] +\n HEX_CHARS[(h1 >> 12) & 0x0F] + HEX_CHARS[(h1 >> 8) & 0x0F] +\n HEX_CHARS[(h1 >> 4) & 0x0F] + HEX_CHARS[h1 & 0x0F] +\n HEX_CHARS[(h2 >> 28) & 0x0F] + HEX_CHARS[(h2 >> 24) & 0x0F] +\n HEX_CHARS[(h2 >> 20) & 0x0F] + HEX_CHARS[(h2 >> 16) & 0x0F] +\n HEX_CHARS[(h2 >> 12) & 0x0F] + HEX_CHARS[(h2 >> 8) & 0x0F] +\n HEX_CHARS[(h2 >> 4) & 0x0F] + HEX_CHARS[h2 & 0x0F] +\n HEX_CHARS[(h3 >> 28) & 0x0F] + HEX_CHARS[(h3 >> 24) & 0x0F] +\n HEX_CHARS[(h3 >> 20) & 0x0F] + HEX_CHARS[(h3 >> 16) & 0x0F] +\n HEX_CHARS[(h3 >> 12) & 0x0F] + HEX_CHARS[(h3 >> 8) & 0x0F] +\n HEX_CHARS[(h3 >> 4) & 0x0F] + HEX_CHARS[h3 & 0x0F] +\n HEX_CHARS[(h4 >> 28) & 0x0F] + HEX_CHARS[(h4 >> 24) & 0x0F] +\n HEX_CHARS[(h4 >> 20) & 0x0F] + HEX_CHARS[(h4 >> 16) & 0x0F] +\n HEX_CHARS[(h4 >> 12) & 0x0F] + HEX_CHARS[(h4 >> 8) & 0x0F] +\n HEX_CHARS[(h4 >> 4) & 0x0F] + HEX_CHARS[h4 & 0x0F];\n };\n\n Sha1.prototype.toString = Sha1.prototype.hex;\n\n Sha1.prototype.digest = function () {\n this.finalize();\n\n var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3, h4 = this.h4;\n\n return [\n (h0 >> 24) & 0xFF, (h0 >> 16) & 0xFF, (h0 >> 8) & 0xFF, h0 & 0xFF,\n (h1 >> 24) & 0xFF, (h1 >> 16) & 0xFF, (h1 >> 8) & 0xFF, h1 & 0xFF,\n (h2 >> 24) & 0xFF, (h2 >> 16) & 0xFF, (h2 >> 8) & 0xFF, h2 & 0xFF,\n (h3 >> 24) & 0xFF, (h3 >> 16) & 0xFF, (h3 >> 8) & 0xFF, h3 & 0xFF,\n (h4 >> 24) & 0xFF, (h4 >> 16) & 0xFF, (h4 >> 8) & 0xFF, h4 & 0xFF\n ];\n };\n\n Sha1.prototype.array = Sha1.prototype.digest;\n\n Sha1.prototype.arrayBuffer = function () {\n this.finalize();\n\n var buffer = new ArrayBuffer(20);\n var dataView = new DataView(buffer);\n dataView.setUint32(0, this.h0);\n dataView.setUint32(4, this.h1);\n dataView.setUint32(8, this.h2);\n dataView.setUint32(12, this.h3);\n dataView.setUint32(16, this.h4);\n return buffer;\n };\n\n var exports = createMethod();\n\n if (COMMON_JS) {\n module.exports = exports;\n } else {\n root.sha1 = exports;\n if (AMD) {\n define(function () {\n return exports;\n });\n }\n }\n})();\n","import { Fraction, Pitch, Matrix2x3 } from './interfaces';\nimport { SemanticPoint, CONFLICTION_GROUPS } from './semanticPoint';\n\ntype Point2D = { x: number; y: number };\ntype PointSegment = Point2D[];\n\nconst POINT_CONFLICTION_DISTANCE = 0.4;\n\nconst roundNumber = (x: number, precision: number, min = -Infinity): number => Math.max(Math.round(x / precision) * precision, min);\n\nconst distance2D = (p1: Point2D, p2: Point2D): number => {\n\tconst dx = p1.x - p2.x;\n\tconst dy = p1.y - p2.y;\n\n\treturn Math.sqrt(dx * dx + dy * dy);\n};\n\nconst trans23 = (point: Point2D, matrix: Matrix2x3): Point2D => ({\n\tx: matrix[0] * point.x + matrix[2] * point.y + matrix[4],\n\ty: matrix[1] * point.x + matrix[3] * point.y + matrix[5],\n});\n\nconst gcd = (a: number, b: number): number => {\n\tif (!(Number.isInteger(a) && Number.isInteger(b))) {\n\t\tconsole.error('non-integer gcd:', a, b);\n\t\treturn 1;\n\t}\n\n\treturn b === 0 ? a : gcd(b, a % b);\n};\n\nconst frac = (numerator: number, denominator: number): Fraction => ({ numerator, denominator });\n\nconst reducedFraction = (n: number, d: number): Fraction => {\n\tn = Math.round(n);\n\td = Math.round(d);\n\n\tconst g = n !== 0 ? gcd(n, d) : d;\n\n\treturn frac(n / g, d / g);\n};\n\nconst printFraction = (f: Fraction): string => `${f.numerator}/${f.denominator}`;\n\nconst fractionMul = (value: number, fraction: Fraction): number => (fraction ? (value * fraction.numerator) / fraction.denominator : value);\n\nconst segmentPoints = (points: Point2D[], axis: 'x' | 'y'): PointSegment[] => {\n\tconst sorted = [...points].sort((p1, p2) => p1[axis] - p2[axis]);\n\n\tlet seg: Point2D[] = null;\n\tlet lastP = null;\n\n\treturn sorted.reduce((segments, p, i) => {\n\t\tif (!lastP) {\n\t\t\tlastP = p;\n\t\t\tseg = [p];\n\t\t} else {\n\t\t\tif (p[axis] - lastP[axis] < POINT_CONFLICTION_DISTANCE) seg.push(p);\n\t\t\telse {\n\t\t\t\tif (seg.length > 1) segments.push(seg);\n\t\t\t\tlastP = p;\n\t\t\t\tseg = [p];\n\t\t\t}\n\t\t}\n\n\t\tif (seg.length > 1 && i === sorted.length - 1) segments.push(seg);\n\n\t\treturn segments;\n\t}, []);\n};\n\nconst filterWeekPoints = (points: SemanticPoint[]): SemanticPoint[] => {\n\t//console.log(\"filterWeekPoints:\", points.map(p => `${p.semantic}, ${p.x}, ${p.y}`));\n\t//console.table(points.map(p => ({ ...p })));\n\n\tif (points.length <= 1) return [];\n\n\tlet rests = points.slice(1);\n\tconst group = CONFLICTION_GROUPS.find((group) => group.includes(points[0].semantic));\n\tif (!group) return filterWeekPoints(rests);\n\n\tconst weeks = rests.filter((p) => group.includes(p.semantic));\n\trests = rests.filter((p) => !group.includes(p.semantic));\n\n\treturn [...weeks, ...filterWeekPoints(rests)];\n};\n\nconst solveOverlapping = (points: SemanticPoint[]): SemanticPoint[] => {\n\tconst pset = new Set(points);\n\n\tconst xClusters = segmentPoints(points, 'x');\n\tconst clusters: SemanticPoint[][] = [].concat(...xClusters.map((c) => segmentPoints(c, 'y')));\n\tclusters.forEach((ps) => ps.sort((p1, p2) => p2.confidence - p1.confidence));\n\n\tclusters.forEach((ps) => {\n\t\tfilterWeekPoints(ps).forEach((p) => pset.delete(p));\n\t});\n\n\treturn Array.from(pset);\n};\n\nconst GROUP_N_TO_PITCH = [0, 2, 4, 5, 7, 9, 11];\nconst MIDDLE_C = 60;\n\nconst mod7 = (x) => {\n\tlet y = x % 7;\n\twhile (y < 0) y += 7;\n\n\treturn y;\n};\n\nconst mod12 = (x) => {\n\tlet y = x % 12;\n\twhile (y < 0) y += 12;\n\n\treturn y;\n};\n\nconst noteToPitch = ({ note, alter }: Pitch): number => {\n\tconst group = Math.floor(note / 7);\n\tconst gn = mod7(note);\n\n\treturn MIDDLE_C + group * 12 + GROUP_N_TO_PITCH[gn] + alter;\n};\n\nconst argmax = (data: number[]): number => {\n\tconst max = Math.max(...data);\n\n\treturn data.indexOf(max);\n};\n\nexport {\n\tPoint2D,\n\troundNumber,\n\tdistance2D,\n\ttrans23,\n\tsolveOverlapping,\n\tgcd,\n\tfrac,\n\treducedFraction,\n\tprintFraction,\n\tfractionMul,\n\tGROUP_N_TO_PITCH,\n\tMIDDLE_C,\n\tmod7,\n\tmod12,\n\tnoteToPitch,\n\targmax,\n};\n","interface Logger {\n\tdebug(message?: any, ...optionalParams: any[]): void;\n\tinfo(message?: any, ...optionalParams: any[]): void;\n\twarn(message?: any, ...optionalParams: any[]): void;\n\tgroup(...label: any[]): void;\n\tgroupCollapsed(...label: any[]): void;\n\tgroupEnd(): void;\n\tassert(expr: boolean, ...optionalParams: any[]): void;\n}\n\nclass DummyLogger implements Logger {\n\tdebug(..._: any[]): void {}\n\tgroup(..._: any[]): void {}\n\tgroupCollapsed(..._: any[]): void {}\n\tgroupEnd(): void {}\n\tinfo(..._: any[]): void {}\n\twarn(..._: any[]): void {}\n\tassert(..._: any[]): void {}\n}\n\nexport { Logger, DummyLogger };\n","import matrixInverse from 'matrix-inverse';\n\nimport { Fraction } from './interfaces';\nimport { fractionMul, reducedFraction, roundNumber } from './utils';\nimport { Logger, DummyLogger } from './logger';\n\ntype Matrix = number[][];\ntype EventID = number;\ntype Time = number;\ntype EventSet = Set;\ntype Equation = number[];\n\nconst EOM = -1; // end event id of measure\n\n//const GREAT_NUMBER = 16 * 9 * 5 * 7 * 11 * 13 * 17 * 19 * 23;\nconst GREAT_NUMBER = 1920;\n\nconst DURATION_MULTIPLIER = 128 * 3 * 5 * 7 * 11 * 13;\n\nconst floatToFrac = (x: number): Fraction => {\n\tconst n = Math.round(x * GREAT_NUMBER);\n\n\treturn reducedFraction(n, GREAT_NUMBER);\n};\n\nconst floatToTimeWarp = (x: number): Fraction => {\n\tif (x === 1) return null;\n\n\treturn floatToFrac(x);\n};\n\ninterface Stage {\n\tevents: EventID[];\n\tindex?: number;\n\ttick?: Time;\n}\n\nenum ActionType {\n\tPLACE,\n\tVERTICAL,\n\tHORIZONTAL,\n}\n\nclass Action {\n\ttype: ActionType;\n\te1: EventID;\n\te2?: EventID;\n\n\tconstructor(data: any) {\n\t\tObject.assign(this, data);\n\t}\n\n\tstatic P(e: EventID): Action {\n\t\treturn new Action({\n\t\t\ttype: ActionType.PLACE,\n\t\t\te1: e,\n\t\t});\n\t}\n\n\tstatic V(e1: EventID, e2: EventID, order: number = 1): Action {\n\t\treturn new Action({\n\t\t\ttype: ActionType.VERTICAL,\n\t\t\te1: order > 0 ? e1 : e2,\n\t\t\te2: order > 0 ? e2 : e1,\n\t\t});\n\t}\n\n\tstatic H(e1: EventID, e2: EventID): Action {\n\t\treturn new Action({\n\t\t\ttype: ActionType.HORIZONTAL,\n\t\t\te1,\n\t\t\te2,\n\t\t});\n\t}\n\n\tget id(): string {\n\t\tswitch (this.type) {\n\t\t\tcase ActionType.PLACE:\n\t\t\t\treturn this.e1.toString();\n\n\t\t\tcase ActionType.VERTICAL:\n\t\t\t\treturn `${this.e1}|${this.e2}`;\n\n\t\t\tcase ActionType.HORIZONTAL:\n\t\t\t\treturn `${this.e1}-${this.e2 >= 0 ? this.e2 : '.'}`;\n\t\t}\n\t}\n\n\tget events(): EventID[] {\n\t\treturn [this.e1, this.e2].filter(Number.isFinite);\n\t}\n}\n\ninterface Quota {\n\tcredits: number;\n}\n\ninterface BasicEvent {\n\tid: EventID;\n\tconfidence: number;\n\tshrinkness: number; // the possibility of time warp\n\tx: number;\n\tstaff?: number;\n\tduration: Time;\n}\n\ninterface Event extends BasicEvent {\n\tlowWarp: number;\n}\n\ninterface EventResult {\n\tid: EventID;\n\ttick: Time;\n\tendTick: Time;\n\ttickGroup: number;\n\ttimeWarp?: Fraction;\n}\n\ninterface Environment {\n\tevents: BasicEvent[];\n\texpectedDuration: Time;\n\tmeasureShrinkness: number;\n\tendX: number;\n\tmatrixH: Matrix;\n\tmatrixV: Matrix;\n}\n\ninterface Solution {\n\tevents: EventResult[];\n\tvoices: EventID[][];\n\tduration: number;\n\n\tloss?: number;\n\tactions?: string;\n\tcredits?: number;\n\ttimes?: number;\n}\n\ninterface Status {\n\tactionAccessing: Map;\n\teventMap: { [id: number]: Event };\n\teventTendencies: number[];\n\tmatrixH: Matrix; // matrix N+1 x N\t\t[right][left]\n\tmatrixV: Matrix; // matrix N x N\n}\n\ninterface NodeBranch {\n\taction: Action;\n\tpossibility: number;\n}\n\ntype Path = EventID[];\n\ninterface InbalanceEquations {\n\tones: boolean[];\n\tinbalances: Equation[];\n}\n\ninterface SolverOptions {\n\tquota?: number;\n\tlogger?: Logger;\n}\n\nclass StageMatrix {\n\tmatrix: EventSet[][];\n\n\tstatic fromNode(node: PathNode, status: Status): StageMatrix {\n\t\tconst matrix = Array(node.stages.length)\n\t\t\t.fill(null)\n\t\t\t.map(() =>\n\t\t\t\tArray(node.stages.length)\n\t\t\t\t\t.fill(null)\n\t\t\t\t\t.map(() => new Set())\n\t\t\t);\n\n\t\tnode.actions\n\t\t\t.filter((action) => action.type === ActionType.HORIZONTAL)\n\t\t\t.forEach((action) => {\n\t\t\t\tconst stage1 = node.stages.findIndex((stage) => stage.events.includes(action.e1));\n\t\t\t\tconst stage2 = node.stages.findIndex((stage) => stage.events.includes(action.e2));\n\t\t\t\tconsole.assert(stage1 >= 0 && stage2 >= 0, 'invalid stages for H action:', node.id, node.stages, action);\n\n\t\t\t\tmatrix[stage1][stage2].add(action.e1);\n\t\t\t});\n\t\tmatrix[0][node.stages.length - 1].add(0); // the entire measure edge\n\n\t\tconst stagedEvents = node.stagedEvents;\n\t\tconst endHs = status.matrixH[status.matrixH.length - 1].filter((_, i) => !stagedEvents.has(i));\n\t\tconst endHP = Math.max(0, Math.max(...endHs) - 0.01);\n\n\t\tconst hActions = node.actions.filter((action) => action.type === ActionType.HORIZONTAL);\n\n\t\tconst pendingHeads = Object.keys(status.eventMap)\n\t\t\t.map(Number)\n\t\t\t.filter((eid) => !hActions.find((action) => action.e2 === eid));\n\n\t\t// edges to end stage\n\t\tnode.stages.forEach((stage) => {\n\t\t\tstage.events.forEach((eid) => {\n\t\t\t\tif (eid > 0) {\n\t\t\t\t\tconst act = hActions.find((action) => action.e1 === eid);\n\t\t\t\t\tif (!act && status.matrixH[status.matrixH.length - 1][eid] >= endHP) {\n\t\t\t\t\t\tif (!pendingHeads.some((id) => status.matrixH[id][eid] > 0)) matrix[stage.index][node.stages.length - 1].add(eid);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\treturn new StageMatrix({ matrix });\n\t}\n\n\tconstructor(data: any) {\n\t\tObject.assign(this, data);\n\t}\n\n\tpathOf(x: number, y: number, target: number, ei: number = 0): Path {\n\t\tif (this.matrix[x][y].size) {\n\t\t\tconst eid = [...this.matrix[x][y]][ei];\n\t\t\tif (y === target) return [eid];\n\n\t\t\tfor (let yy = y + 1; yy <= target; ++yy) {\n\t\t\t\tconst sub = this.pathOf(y, yy, target);\n\t\t\t\tif (sub) return [eid, ...sub];\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfindDoublePath(s1: number, s2: number): [Path, Path] {\n\t\tconst paths = [];\n\t\tfor (let t = s2; t >= s1 + 1; --t) {\n\t\t\tfor (let ei = 0; ei < this.matrix[s1][t].size; ++ei) {\n\t\t\t\tconst path = this.pathOf(s1, t, s2, ei);\n\t\t\t\tif (path) {\n\t\t\t\t\tpaths.push(path);\n\t\t\t\t\tif (paths.length === 2) return [paths[0], paths[1]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\treducePath(path: Path): void {\n\t\tthis.matrix.forEach((column) => column.forEach((set) => path.forEach((id) => set.delete(id))));\n\t}\n\n\ttoEquations(eventCount: number): Equation[] {\n\t\tconst equations: Equation[] = [];\n\n\t\tfor (let d = 1; d < this.matrix.length; d++) {\n\t\t\tfor (let s1 = 0; s1 < this.matrix.length - d; s1++) {\n\t\t\t\tconst s2 = s1 + d;\n\n\t\t\t\twhile (true) {\n\t\t\t\t\t// find closed loop from s1 to s2\n\t\t\t\t\tconst paths = this.findDoublePath(s1, s2);\n\t\t\t\t\tif (paths) {\n\t\t\t\t\t\tconst [path1, path2] = paths;\n\t\t\t\t\t\tconst equation = Array(eventCount).fill(0);\n\t\t\t\t\t\tpath1.forEach((eid) => (equation[eid] = 1));\n\t\t\t\t\t\tpath2.forEach((eid) => (equation[eid] = -1));\n\t\t\t\t\t\tequations.push(equation);\n\n\t\t\t\t\t\tthis.reducePath(path1.length > path2.length ? path1 : path2);\n\t\t\t\t\t} else break;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn equations;\n\t}\n}\n\nclass PathNode {\n\tlogger: Logger;\n\n\tparent: PathNode;\n\taction: Action;\n\tpossibility: number;\n\tchildren: PathNode[];\n\n\tstages: Stage[];\n\t//stageMatrix: StageMatrix;\n\tconstraints: Equation[];\n\n\tconstructor(data: any) {\n\t\tObject.assign(this, data);\n\n\t\tconsole.assert(this.logger, 'logger is null:', data);\n\t}\n\n\tget actions(): Action[] {\n\t\tconst last = this.parent ? this.parent.actions : [];\n\t\treturn this.action ? [...last, this.action] : last;\n\t}\n\n\tget id(): string {\n\t\tconst actionIds = this.actions.map((action) => action.id).sort();\n\t\treturn actionIds.join(' ');\n\t}\n\n\tget stagedEvents(): Set {\n\t\tconst set = new Set();\n\t\tif (this.stages) this.stages.forEach((stage) => stage.events.forEach((eid) => eid >= 0 && set.add(eid)));\n\n\t\treturn set;\n\t}\n\n\tlike(ids: string): boolean {\n\t\tconst actionIds = ids.split(' ').sort();\n\t\treturn actionIds.join(' ') === this.id;\n\t}\n\n\tconstructStages(status: Status): void {\n\t\tthis.stages = [{ events: [EOM] }];\n\n\t\tfor (const action of this.actions) {\n\t\t\tswitch (action.type) {\n\t\t\t\tcase ActionType.PLACE:\n\t\t\t\t\tthis.stages.unshift({ events: [action.e1] });\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase ActionType.VERTICAL:\n\t\t\t\t\t{\n\t\t\t\t\t\tconst stage1 = this.stages.find((stage) => stage.events.includes(action.e1));\n\t\t\t\t\t\tconst stage2 = this.stages.find((stage) => stage.events.includes(action.e2));\n\t\t\t\t\t\tconsole.assert(stage1 || stage2, 'invalid V action:', this.stages, action);\n\n\t\t\t\t\t\tif (stage1 && stage2) {\n\t\t\t\t\t\t\tstage1.events.push(...stage2.events);\n\t\t\t\t\t\t\tstage2.events = null;\n\t\t\t\t\t\t\tthis.stages = this.stages.filter((stage) => stage.events);\n\t\t\t\t\t\t} else if (!stage1) stage2.events.unshift(action.e1);\n\t\t\t\t\t\telse if (!stage2) stage1.events.push(action.e2);\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase ActionType.HORIZONTAL:\n\t\t\t\t\t{\n\t\t\t\t\t\tconst stage1 = this.stages.find((stage) => stage.events.includes(action.e1));\n\t\t\t\t\t\tconst stage2 = this.stages.find((stage) => stage.events.includes(action.e2));\n\t\t\t\t\t\tconsole.assert(stage1 || stage2, 'invalid H action:', this.stages, action);\n\n\t\t\t\t\t\tconst newStage = (eid) => {\n\t\t\t\t\t\t\tconsole.assert(status.eventMap[eid], 'invalid event id:', action.id, eid, status.eventMap);\n\t\t\t\t\t\t\tconst x = status.eventMap[eid].x;\n\n\t\t\t\t\t\t\tconst stage = this.stages.find(\n\t\t\t\t\t\t\t\t(s) => s.events.some((e) => e > 0 && status.eventMap[e].x <= x) && s.events.some((e) => e > 0 && status.eventMap[e].x >= x)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tif (stage) stage.events.push(eid);\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tconst newStage = { events: [eid] };\n\t\t\t\t\t\t\t\tconst si = this.stages.findIndex((s) => s.events[0] === EOM || status.eventMap[s.events[0]].x >= x);\n\t\t\t\t\t\t\t\tthis.stages.splice(si, 0, newStage);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t};\n\t\t\t\t\t\tif (!stage1) newStage(action.e1);\n\t\t\t\t\t\tif (!stage2) newStage(action.e2);\n\n\t\t\t\t\t\t/*if (this.stages.some((s, si) => si < this.stages.length - 2\n\t\t\t\t\t&& s.events.some(e1 => this.stages[si + 1].events.some(e2 => status.eventMap[e2].x <= status.eventMap[e1].x))))\n\t\t\t\t\tdebugger;*/\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tthis.stages.forEach((stage, i) => (stage.index = i));\n\t}\n\n\tconstructConstraints(status: Status): void {\n\t\tconst eventCount = Object.keys(status.eventMap).length;\n\t\tconst stageMatrix = StageMatrix.fromNode(this, status);\n\t\tconst equations = stageMatrix.toEquations(eventCount);\n\n\t\tconst factors = Array(eventCount)\n\t\t\t.fill(null)\n\t\t\t.map((_, id) => status.eventMap[id].duration);\n\t\tthis.constraints = equations.map((equation) => equation.map((it, i) => it * factors[i]));\n\t}\n\n\tinbalancesConstraints(status: Status): InbalanceEquations {\n\t\tconsole.assert(this.constraints, 'constraints not constructed.');\n\n\t\tconst eventCount = Object.keys(status.eventMap).length;\n\t\tconst ones = Array(eventCount).fill(true);\n\t\tconst fixed = Array(eventCount).fill(false);\n\n\t\tconst inbalances: Equation[] = [];\n\n\t\tfor (const constraint of this.constraints) {\n\t\t\tconst sum = constraint.reduce((sum, it) => sum + it, 0);\n\t\t\tif (sum !== 0) {\n\t\t\t\tconst c = sum < 0 ? constraint.map((it) => -it) : constraint;\n\t\t\t\tif (c[0] > 0) continue; // entire measure edge usually is larger than others, no effect\n\n\t\t\t\tinbalances.push(c);\n\n\t\t\t\t// set ones for tight items\n\t\t\t\tc.forEach((it, i) => {\n\t\t\t\t\tfixed[i] = fixed[i] || it < 0;\n\t\t\t\t\tif (it) ones[i] = it < 0 || fixed[i];\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\t// pick out influenced equations\n\t\tthis.constraints.forEach((constraint) => {\n\t\t\tconst sum = constraint.reduce((sum, it) => sum + it, 0);\n\t\t\tif (sum === 0 && !constraint[0]) {\n\t\t\t\tif (constraint.some((it, i) => it && !ones[i])) {\n\t\t\t\t\tconstraint.forEach((it, i) => it && (ones[i] = false));\n\t\t\t\t\tinbalances.push(constraint);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\treturn { ones, inbalances };\n\t}\n\n\tsolveEquations({ ones, inbalances }: InbalanceEquations): number[] {\n\t\tif (!inbalances.length) return ones.map(() => 1);\n\n\t\tconst xis = ones\n\t\t\t.map((fixed, i) => ({ fixed, i }))\n\t\t\t.filter(({ fixed }) => !fixed)\n\t\t\t.map(({ i }) => i)\n\t\t\t.filter((i) => inbalances.some((items) => items[i] !== 0));\n\t\tif (!xis.length) return ones.map(() => 1);\n\n\t\tconst factors = xis.map((i) => Math.abs(inbalances.find((items) => items[i] !== 0)[i]));\n\n\t\ttype Line = { line: number[]; bias: number };\n\n\t\tconst equationMap = new Map();\n\t\tlet conflicted = false;\n\n\t\tconst lines: Line[] = inbalances\n\t\t\t.map((items) => {\n\t\t\t\tconst line = items.filter((_, i) => xis.includes(i));\n\t\t\t\tconst bias = -items.reduce((sum, it, i) => sum + (xis.includes(i) ? 0 : it), 0);\n\n\t\t\t\treturn { line, bias };\n\t\t\t\t// remove duplicated equations\n\t\t\t})\n\t\t\t.filter(({ line, bias }) => {\n\t\t\t\tif (line.every((it) => it === 0)) return false;\n\n\t\t\t\tconst id = line.join(',');\n\t\t\t\tif (equationMap.has(id)) {\n\t\t\t\t\tconflicted = equationMap.get(id) !== bias;\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tequationMap.set(id, bias);\n\n\t\t\t\treturn true;\n\t\t\t});\n\n\t\tif (conflicted) return null;\n\n\t\tconst squareLines = lines.slice(0, xis.length);\n\t\tconst restLines = lines.slice(xis.length);\n\t\tif (squareLines.length < xis.length) {\n\t\t\tconst candidateLines = [];\n\t\t\tfor (let i1 = 0; i1 < xis.length - 1; ++i1) {\n\t\t\t\tconst i2 = i1 + 1;\n\t\t\t\tconst line = {\n\t\t\t\t\tline: xis.map((_, i) => (i === i1 ? 1 : i === i2 ? -1 : 0)),\n\t\t\t\t\tbias: 0,\n\t\t\t\t\tprior: (factors[i1] + factors[i2]) / DURATION_MULTIPLIER,\n\t\t\t\t};\n\t\t\t\tif (squareLines.some((sl) => sl.line[i1] && sl.line[i2])) line.prior -= 10;\n\t\t\t\tif (squareLines.some((sl) => sl.line.filter(Number).length === 1 && (sl.line[i1] || sl.line[i2]))) line.prior += 1;\n\t\t\t\tcandidateLines.push(line);\n\t\t\t}\n\t\t\tcandidateLines.sort((c1, c2) => c1.prior - c2.prior);\n\n\t\t\tsquareLines.push(...candidateLines.slice(0, xis.length - squareLines.length));\n\t\t}\n\t\t//console.assert(squareLines.length, \"squareLines is empty.\", lines, xis, equationMap, inbalances);\n\n\t\tconst matrix = squareLines.map(({ line }) => line);\n\t\tconst bias = squareLines.map(({ bias }) => bias);\n\n\t\tconst invert = matrixInverse(matrix);\n\t\tif (!invert) {\n\t\t\tthis.logger.warn('null invert:', matrix);\n\t\t\t//debugger;\n\t\t\treturn null;\n\t\t}\n\t\tconst solution = invert.map((row) => row.reduce((sum, it, i) => sum + it * bias[i], 0));\n\t\t//console.log(\"solution:\", matrix, invert, solution);\n\n\t\tif (restLines.length) {\n\t\t\tif (restLines.some((line) => Math.abs(line.line.reduce((sum, it, i) => sum + it * solution[i], 0)) > 1e-3)) {\n\t\t\t\t//console.debug(\"rest lines not satisfied:\", restLines, solution);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\n\t\tconst result = ones.map(() => 1);\n\t\txis.forEach((xi, i) => (result[xi] = solution[i]));\n\n\t\treturn result;\n\t}\n\n\toptimallySolve(status: Status): number[] {\n\t\tconst { ones, inbalances } = this.inbalancesConstraints(status);\n\n\t\t//if (this.like(\"2 1-2 9|1 2-3 3-4 9-10 4-5 5-6 6-7 7-8 8-. 12|6 11-12 10-11\"))\n\t\t//\tdebugger;\n\n\t\tconst shrinknesses = ones.map((fixed, id) => (fixed ? -1 : roundNumber(status.eventMap[id].shrinkness, 0.01)));\n\t\tconst shrinkMap = shrinknesses.reduce((map, shrinkness, id) => {\n\t\t\tif (shrinkness >= 0) {\n\t\t\t\tmap[shrinkness] = map[shrinkness] || [];\n\t\t\t\tmap[shrinkness].push(id);\n\t\t\t}\n\n\t\t\treturn map;\n\t\t}, {});\n\t\tconst groups = Object.entries(shrinkMap)\n\t\t\t.sort((p1, p2) => Number(p2[0]) - Number(p1[0]))\n\t\t\t.map((pair) => pair[1]);\n\t\t//console.log(\"groups:\", groups, shrinknesses);\n\n\t\tfor (let released = 1; released < groups.length; ++released) {\n\t\t\tconst releasedIds = [].concat(...groups.slice(0, released));\n\t\t\tconst fixed = ones.map((_, id) => !releasedIds.includes(id));\n\t\t\tconst warps = this.solveEquations({ ones: fixed, inbalances });\n\n\t\t\tif (warps && warps.every((it, i) => it <= 1 && it > status.eventMap[i].lowWarp)) return warps;\n\t\t}\n\n\t\treturn this.solveEquations({ ones, inbalances });\n\t}\n\n\tisConflicted(status: Status): boolean {\n\t\tconst { ones, inbalances } = this.inbalancesConstraints(status);\n\n\t\t//if (this.like(\"2 8|2 8-9 3|9 2-3 3-4 10|4 4-5 5|11 11-12 6|12 5-6 10-11 9-10 6-7\"))\n\t\t//\tdebugger;\n\n\t\tfor (const c of inbalances) {\n\t\t\t// sum with low warps\n\t\t\tconst lowSum = c.reduce((sum, it, i) => sum + it * (ones[i] || it <= 0 ? 1 : status.eventMap[i].lowWarp), 0);\n\n\t\t\tif (lowSum >= 0) {\n\t\t\t\t// mark events' broken tendency\n\t\t\t\tc.forEach((it, i) => {\n\t\t\t\t\tif (it) status.eventTendencies[i] += it > 0 ? 1 : -1;\n\t\t\t\t});\n\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\tif (!inbalances.length) return false;\n\n\t\tconst timeWarps = this.solveEquations({ ones, inbalances });\n\t\tif (!timeWarps) return true;\n\n\t\treturn !timeWarps.every((it, i) => it > status.eventMap[i].lowWarp && it <= 1);\n\t}\n\n\tgetSolution(status: Status): Solution {\n\t\tconst actionKey = (action) =>\n\t\t\tstatus.eventMap[action.e2]\n\t\t\t\t? status.eventMap[action.e2].x + Math.abs(status.eventMap[action.e2].x - status.eventMap[action.e1].x) * 0.06\n\t\t\t\t: status.eventMap[action.e1].x + 1e4;\n\t\tconst hacts = this.actions.filter((action) => action.type === ActionType.HORIZONTAL).sort((a1, a2) => actionKey(a1) - actionKey(a2));\n\t\tconst hmap = hacts.reduce((map, act) => ({ ...map, [act.e1]: act.e2 }), {});\n\t\tconst startEs = new Set([...Object.keys(hmap)].map(Number));\n\t\thacts.forEach((act) => startEs.delete(act.e2));\n\t\tthis.stages[0].events.forEach((eid) => eid > 0 && startEs.add(eid));\n\n\t\tlet voices = [...startEs].map((se) => {\n\t\t\tconst voice = [se];\n\n\t\t\tlet x = se;\n\t\t\twhile (hmap[x]) {\n\t\t\t\tx = hmap[x];\n\t\t\t\tif (x < 0 || voice.includes(x)) break;\n\n\t\t\t\tvoice.push(x);\n\t\t\t}\n\n\t\t\treturn voice;\n\t\t});\n\n\t\tconst events: EventResult[] = Object.values(status.eventMap)\n\t\t\t.filter((e) => e.id > 0)\n\t\t\t.map((e) => ({\n\t\t\t\tid: e.id,\n\t\t\t\ttick: null,\n\t\t\t\tendTick: null,\n\t\t\t\ttickGroup: null,\n\t\t\t\ttimeWarp: null,\n\t\t\t}));\n\t\tconst eventMap: { [id: number]: EventResult } = events\n\t\t\t.filter((e) => voices.some((voice) => voice.includes(e.id)) || hacts.some((act) => [act.e1, act.e2].includes(e.id)))\n\t\t\t.reduce((map, e) => ({ ...map, [e.id]: e }), {});\n\n\t\tthis.stages.forEach((stage, si) => stage.events.forEach((eid) => eventMap[eid] && (eventMap[eid].tickGroup = si)));\n\n\t\tthis.stages[0].tick = 0;\n\t\tthis.stages[0].events.forEach((eid) => eventMap[eid] && (eventMap[eid].tick = 0));\n\n\t\t// solve time warps\n\t\tconst timeWarps = this.optimallySolve(status);\n\t\tevents.forEach((e) => (e.timeWarp = floatToTimeWarp(timeWarps[e.id])));\n\n\t\t//if (this.like(\"1 12|1 1-2 9|2 2-3 13|3 3-4 4-5 10|5 14|10 10-11 8-9 14-15 15|6 6-7 7-. 13-14 5-6 12-13 9-10\"))\n\t\t//\tdebugger;\n\n\t\t// solve stage ticks\n\t\tconst estages = this.stages.slice(0, this.stages.length - 1);\n\t\tconst solveStages = (): boolean => {\n\t\t\tif (estages.every((stage) => Number.isFinite(stage.tick))) return false;\n\n\t\t\tlet changed = false;\n\n\t\t\t// forward\n\t\t\thacts.forEach((act) => {\n\t\t\t\tconst stage1 = this.stages.find((stage) => stage.events.includes(act.e1));\n\t\t\t\tconst stage2 = this.stages.find((stage) => stage.events.includes(act.e2));\n\t\t\t\tif (Number.isFinite(stage1.tick) && !Number.isFinite(stage2.tick)) {\n\t\t\t\t\tstage2.tick = stage1.tick + fractionMul(status.eventMap[act.e1].duration, eventMap[act.e1].timeWarp);\n\t\t\t\t\tstage2.events.forEach((eid) => eventMap[eid] && (eventMap[eid].tick = stage2.tick));\n\n\t\t\t\t\tchanged = true;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// backward\n\t\t\t[...hacts].reverse().forEach((act) => {\n\t\t\t\tconst stage1 = this.stages.find((stage) => stage.events.includes(act.e1));\n\t\t\t\tconst stage2 = this.stages.find((stage) => stage.events.includes(act.e2));\n\t\t\t\tif (!Number.isFinite(stage1.tick) && Number.isFinite(stage2.tick)) {\n\t\t\t\t\tstage1.tick = stage2.tick - fractionMul(status.eventMap[act.e1].duration, eventMap[act.e1].timeWarp);\n\t\t\t\t\tstage1.events.forEach((eid) => eventMap[eid] && (eventMap[eid].tick = stage1.tick));\n\n\t\t\t\t\tchanged = true;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn changed;\n\t\t};\n\t\twhile (solveStages());\n\n\t\tconsole.assert(\n\t\t\testages.every((stage) => Number.isFinite(stage.tick)),\n\t\t\t'stage ticks not all solved:',\n\t\t\tthis.stages,\n\t\t\tthis.id\n\t\t);\n\t\tevents\n\t\t\t.filter((event) => Number.isFinite(event.tick))\n\t\t\t.forEach((event) => (event.endTick = event.tick + fractionMul(status.eventMap[event.id].duration, event.timeWarp)));\n\n\t\t// clip out of bound events\n\t\tconst measureDuration = status.eventMap[0].duration;\n\t\tvoices.forEach((voice) => {\n\t\t\tconst outEI = voice.findIndex((eid) => eventMap[eid].endTick > measureDuration);\n\t\t\tif (outEI >= 0) {\n\t\t\t\tconst es = voice.splice(outEI, voice.length - outEI);\n\t\t\t\tes.forEach((eid) => {\n\t\t\t\t\teventMap[eid].tick = null;\n\t\t\t\t\teventMap[eid].endTick = null;\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\tvoices = voices.filter((voice) => voice.length);\n\n\t\tconst duration = Math.max(0, ...events.map((e) => e.endTick).filter(Number.isFinite));\n\t\t//console.log(\"getSolution:\", this);\n\t\tthis.logger.debug(String.fromCodePoint(0x1f34e), this.id, timeWarps);\n\n\t\treturn {\n\t\t\tvoices,\n\t\t\tevents,\n\t\t\tduration,\n\t\t\tactions: this.actions.map((action) => action.id).join(' '),\n\t\t};\n\t}\n\n\tdeduce(status: Status, quota: Quota): Solution {\n\t\tif (!this.stages) this.constructStages(status);\n\t\t//console.log(\"deduce:\", status);\n\n\t\t// increase access counting\n\t\tconst access = status.actionAccessing.get(this.id) || { times: 0 };\n\t\t++access.times;\n\t\tstatus.actionAccessing.set(this.id, access);\n\n\t\tthis.constructConstraints(status);\n\t\t//console.log(\"constraints:\", this.id, this.stages, this.constraints);\n\n\t\tif (this.isConflicted(status)) {\n\t\t\taccess.closed = true;\n\t\t\tthis.logger.info(this.action.id, '\\u274c');\n\t\t\treturn null;\n\t\t}\n\n\t\t//const newStatus = status;\n\t\tthis.logger.group(this.action && this.action.id);\n\n\t\tif (quota.credits > 0) {\n\t\t\t--quota.credits;\n\n\t\t\tif (!this.children) this.expand(status);\n\n\t\t\tthis.children = this.children.filter((node) => !status.actionAccessing.get(node.id) || !status.actionAccessing.get(node.id).closed);\n\t\t\tif (this.children.length) {\n\t\t\t\tconst p = (node: PathNode): number => node.possibility / ((status.actionAccessing.get(node.id) || { times: 0 }).times + 1);\n\t\t\t\tthis.children.sort((n1, n2) => p(n2) - p(n1));\n\n\t\t\t\tfor (const child of this.children) {\n\t\t\t\t\tconst solution = child.deduce(status, quota);\n\t\t\t\t\tif (solution) {\n\t\t\t\t\t\tthis.logger.groupEnd();\n\t\t\t\t\t\treturn solution;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (quota.credits <= 0) break;\n\t\t\t\t}\n\t\t\t}\n\t\t\t//else\n\t\t\t//\tconsole.debug(\"got the leaf:\", this, status);\n\t\t} else this.logger.debug('quota exhausted.');\n\n\t\tthis.logger.groupEnd();\n\n\t\taccess.closed = true;\n\n\t\treturn this.getSolution(status);\n\t}\n\n\texpand(status: Status): void {\n\t\t//this.action.events.forEach(eid => status.pendingEvents.delete(eid));\n\t\tthis.constructStages(status);\n\n\t\tconst { eventMap, matrixV, matrixH } = status;\n\t\tconst stagedEvents = this.stagedEvents;\n\n\t\tconst branches: NodeBranch[] = [];\n\t\tconst appendBranch = (branch: NodeBranch): void => {\n\t\t\tif (!this.actions.some((a) => a.id === branch.action.id) && !branches.some((b) => b.action.id === branch.action.id)) {\n\t\t\t\tconst stage1 = this.stages.find((stage) => stage.events.includes(branch.action.e1));\n\t\t\t\tconst stage2 = this.stages.find((stage) => stage.events.includes(branch.action.e2));\n\t\t\t\tif (stage1 === stage2 || (stage1 && stage2 && stage1.index >= stage2.index)) return;\n\n\t\t\t\tif (stage1 && stage2) {\n\t\t\t\t\tif (branch.action.type === ActionType.VERTICAL) {\n\t\t\t\t\t\tif (stage2.index - stage1.index > 1) return;\n\t\t\t\t\t\tif (this.actions.some((a) => stage1.events.includes(a.e1) && stage2.events.includes(a.e2))) return;\n\t\t\t\t\t} else if (branch.action.type === ActionType.HORIZONTAL) {\n\t\t\t\t\t\tif (stage1.index > stage2.index) return;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\tbranch.action.type === ActionType.HORIZONTAL &&\n\t\t\t\t\tthis.actions.some(\n\t\t\t\t\t\t(a) =>\n\t\t\t\t\t\t\ta.type === ActionType.HORIZONTAL &&\n\t\t\t\t\t\t\t(a.e1 === branch.action.e1 || a.e2 === branch.action.e2 || (a.e1 === branch.action.e2 && a.e2 === branch.action.e1))\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t\t\treturn;\n\n\t\t\t\t// exclude 2 too far away events by vertical\n\t\t\t\tif (branch.action.type === ActionType.VERTICAL) {\n\t\t\t\t\tif (stage1) {\n\t\t\t\t\t\tbranch.possibility = Math.min(branch.possibility, ...stage1.events.map((e) => matrixV[branch.action.e2][e]));\n\t\t\t\t\t\tif (branch.possibility <= 0) return;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (stage2) {\n\t\t\t\t\t\tbranch.possibility = Math.min(branch.possibility, ...stage2.events.map((e) => matrixV[e][branch.action.e1]));\n\t\t\t\t\t\tif (branch.possibility <= 0) return;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbranches.push(branch);\n\t\t\t}\n\t\t};\n\n\t\tfor (const eid of stagedEvents) {\n\t\t\tif (eid < 0) continue;\n\n\t\t\tmatrixV[eid].forEach((p, id) => {\n\t\t\t\tif (p > 0 && eid !== id) appendBranch({ action: Action.V(id, eid), possibility: p });\n\t\t\t});\n\n\t\t\tmatrixV.forEach((ps, id) => {\n\t\t\t\tconst p = ps[eid];\n\t\t\t\tif (p > 0) appendBranch({ action: Action.V(eid, id), possibility: p });\n\t\t\t});\n\n\t\t\tmatrixH[eid].forEach((p, id) => {\n\t\t\t\tif (p > 0) appendBranch({ action: Action.H(id, eid), possibility: p });\n\t\t\t});\n\n\t\t\tmatrixH.forEach((ps, id) => {\n\t\t\t\tid = id >= Object.keys(eventMap).length ? -1 : id;\n\t\t\t\tconst p = ps[eid];\n\t\t\t\tif (p > 0) appendBranch({ action: Action.H(eid, id), possibility: p });\n\t\t\t});\n\t\t}\n\n\t\t// If branches not contains extending actions, clear it.\n\t\t//\tBecause pure inner vertical action may be harmful\n\t\tif (\n\t\t\t!branches.some(\n\t\t\t\t(branch) =>\n\t\t\t\t\t[ActionType.HORIZONTAL, ActionType.PLACE].includes(branch.action.type) ||\n\t\t\t\t\t!stagedEvents.has(branch.action.e1) ||\n\t\t\t\t\t!stagedEvents.has(branch.action.e2)\n\t\t\t)\n\t\t) {\n\t\t\tthis.children = [];\n\t\t\treturn;\n\t\t}\n\n\t\t//console.table(branches.map(b => [b.action.id, b.possibility]));\n\t\t//console.log(\"branches:\", branches.map(b => b.action.id).join(\", \"), \"\\n\", this.actions.map(a => a.id).join(\", \"));\n\t\tthis.children = branches.map((branch) => new PathNode({ logger: this.logger, parent: this, ...branch }));\n\t}\n}\n\nclass Solver {\n\tquota: number;\n\tlogger: Logger;\n\n\tevents: Event[];\n\tmatrixH: Matrix;\n\tmatrixV: Matrix;\n\txSpan: number;\n\n\teventMap: { [id: number]: Event };\n\tactionAccessing: Map;\n\n\tpathRoot: PathNode;\n\n\tconstructor(env: Environment, { quota = 1000, logger = new DummyLogger() }: SolverOptions = {}) {\n\t\tthis.quota = quota;\n\t\tthis.logger = logger;\n\n\t\tconst event0 = {\n\t\t\tid: 0,\n\t\t\tx: 0,\n\t\t\tconfidence: 1,\n\t\t\tshrinkness: env.measureShrinkness,\n\t\t\tduration: env.expectedDuration,\n\t\t\tlowWarp: 0,\n\t\t};\n\n\t\tthis.events = [\n\t\t\tevent0,\n\t\t\t...env.events.map((e) => ({\n\t\t\t\tid: e.id,\n\t\t\t\tx: e.x,\n\t\t\t\tconfidence: e.confidence,\n\t\t\t\tshrinkness: e.shrinkness,\n\t\t\t\tstaff: e.staff,\n\t\t\t\tduration: e.duration,\n\t\t\t\tlowWarp: 0.5,\n\t\t\t})),\n\t\t];\n\t\tthis.eventMap = this.events.reduce((map, e) => ({ ...map, [e.id]: e }), {});\n\n\t\tthis.matrixH = env.matrixH;\n\t\tthis.matrixV = env.matrixV;\n\n\t\tthis.xSpan = env.endX - Math.min(env.endX - 1, ...env.events.map((e) => e.x));\n\n\t\tthis.actionAccessing = new Map();\n\t}\n\n\tsolve(): Solution {\n\t\t// construct path root\n\t\tthis.pathRoot = new PathNode({\n\t\t\tlogger: this.logger,\n\t\t\taction: null,\n\t\t});\n\t\tthis.pathRoot.children = this.events.slice(1).map(\n\t\t\t(event) =>\n\t\t\t\tnew PathNode({\n\t\t\t\t\tlogger: this.logger,\n\t\t\t\t\tparent: this.pathRoot,\n\t\t\t\t\taction: Action.P(event.id),\n\t\t\t\t\tpossibility: this.matrixV[event.id].reduce((sum, p) => sum + p, 0),\n\t\t\t\t})\n\t\t);\n\n\t\tlet bestSolution: Solution = null;\n\n\t\tthis.logger.groupCollapsed('solve');\n\n\t\tconst eventTendencies = Array(this.events.length).fill(0);\n\n\t\tconst quota = { credits: this.quota, times: 0 };\n\t\twhile (quota.credits > 0) {\n\t\t\t++quota.times;\n\n\t\t\tconst status = {\n\t\t\t\teventMap: this.eventMap,\n\t\t\t\tmatrixH: this.matrixH,\n\t\t\t\tmatrixV: this.matrixV,\n\t\t\t\tactionAccessing: this.actionAccessing,\n\t\t\t\teventTendencies,\n\t\t\t};\n\n\t\t\tconst solution = this.pathRoot.deduce(status, quota);\n\t\t\tsolution.credits = this.quota - quota.credits;\n\t\t\tsolution.times = quota.times;\n\t\t\tthis.evaluateSolution(solution);\n\t\t\tthis.logger.debug('loss:', solution.loss);\n\n\t\t\tbestSolution = !bestSolution || solution.loss < bestSolution.loss ? solution : bestSolution;\n\t\t\tif (!bestSolution.loss) break;\n\n\t\t\t// check if searching tree traversed\n\t\t\tif (this.actionAccessing.get('').closed) break;\n\t\t}\n\n\t\tthis.logger.groupEnd();\n\t\tthis.logger.debug('solution', bestSolution && bestSolution.loss, bestSolution);\n\t\tthis.logger.debug('cost:', this.quota - quota.credits);\n\n\t\tthis.logger.debug(\n\t\t\t'eventTendencies:',\n\t\t\teventTendencies.map((t) => t / quota.times)\n\t\t);\n\n\t\treturn bestSolution;\n\t}\n\n\tevaluateSolution(solution: Solution): void {\n\t\tsolution.loss = 0;\n\n\t\ttype EventR = Event & EventResult;\n\t\tconst eventMap: Record = solution.events.reduce((map, e) => ({ ...map, [e.id]: { ...e, ...this.eventMap[e.id] } }), {});\n\n\t\t/*// minus tick\n\t\tconst minuses = solution.events.filter((e) => e.tick < 0).length;\n\t\tsolution.loss += minuses * 1000;*/\n\n\t\t// minus tick rates penalty\n\t\tconst events = solution.events.filter((event) => Number.isFinite(event.tick)).map((event) => eventMap[event.id]);\n\t\tconst sevents: Record = events.reduce((map, event) => {\n\t\t\tmap[event.staff] = map[event.staff] || [];\n\t\t\tmap[event.staff].push(event);\n\t\t\treturn map;\n\t\t}, {});\n\t\tObject.values(sevents).forEach((es) => {\n\t\t\tconst ses = es.sort((e1, e2) => e1.x - e2.x).slice(0, es.length - 1);\n\t\t\tses.forEach((e1, i) => {\n\t\t\t\tconst e2 = es[i + 1];\n\t\t\t\tif (e2.tick < e1.tick) solution.loss += 1000;\n\t\t\t});\n\t\t});\n\n\t\tconst times = new Map();\n\t\tsolution.events.forEach((event) => {\n\t\t\tif (!Number.isFinite(event.tick) || solution.voices.every((voice) => !voice.includes(event.id)))\n\t\t\t\tsolution.loss += 100 * eventMap[event.id].confidence;\n\n\t\t\tif (event.timeWarp) {\n\t\t\t\tconst { numerator, denominator } = event.timeWarp;\n\t\t\t\tconst shrinkness = eventMap[event.id].shrinkness;\n\t\t\t\ttimes.set(numerator, Math.max(times.get(numerator) || 0, 1 - shrinkness));\n\t\t\t\ttimes.set(denominator, Math.max(times.get(denominator) || 0, 1 - shrinkness));\n\t\t\t}\n\t\t});\n\n\t\t// partial measure penalty\n\t\tconst partialFrac = reducedFraction(solution.duration, this.eventMap[0].duration);\n\t\ttimes.set(partialFrac.numerator, Math.max(times.get(partialFrac.numerator) || 0, 1 - this.eventMap[0].shrinkness));\n\t\ttimes.set(partialFrac.denominator, Math.max(times.get(partialFrac.denominator) || 0, 1 - this.eventMap[0].shrinkness));\n\n\t\tfor (const [n, weight] of times.entries()) {\n\t\t\tif (n > 1) solution.loss += Math.log(n) * weight;\n\t\t}\n\n\t\tlet spaceTime = 0;\n\t\tlet staffAlters = 0;\n\t\tsolution.voices.forEach((voice) => {\n\t\t\tconsole.assert(eventMap[voice[0]], 'invalid voice:', voice, Object.keys(eventMap));\n\n\t\t\tconst start = Math.abs(eventMap[voice[0]].tick); // abs: penalty for minus start\n\t\t\tconst end = eventMap[voice[voice.length - 1]].endTick;\n\n\t\t\tspaceTime += Math.max(0, start + solution.duration - end);\n\n\t\t\t// staff alternation penalty\n\t\t\tlet staff = null;\n\t\t\tvoice.forEach((id) => {\n\t\t\t\tconst event = eventMap[id];\n\t\t\t\tif (event.staff !== staff) {\n\t\t\t\t\tif (staff !== null) ++staffAlters;\n\t\t\t\t\tstaff = event.staff;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\tsolution.loss += (spaceTime * 10) / DURATION_MULTIPLIER;\n\t\tsolution.loss += 5 ** staffAlters - 1;\n\n\t\t// tick twist\n\t\tconst eventsXOrder = [...events].sort((e1, e2) => e1.x - e2.x);\n\t\tconst tickTwists = eventsXOrder.slice(1).map((e2, i) => {\n\t\t\tconst e1 = eventsXOrder[i];\n\t\t\tconst dx = e2.x - e1.x;\n\t\t\tconst dt = e2.tick - e1.tick;\n\n\t\t\tif (!dt) return dx / this.xSpan;\n\n\t\t\tconst rate = Math.atan2(dt / solution.duration, dx / this.xSpan);\n\n\t\t\treturn ((rate * 4) / Math.PI - 1) ** 2;\n\t\t});\n\t\tconst tickTwist = Math.max(...tickTwists, 0);\n\t\tsolution.loss += tickTwist ** 2;\n\n\t\tconsole.assert(solution.loss >= 0, 'Invalid solution loss!!!', solution.loss, times, spaceTime, staffAlters);\n\t\tif (solution.loss < 0) solution.loss = Infinity;\n\t}\n}\n\nexport { SolverOptions, Solver };\n","import * as workerpool from 'workerpool';\nimport * as EquationSolver from './equationSolver';\nimport { EquationPolicy } from './spartitoMeasure';\n\nconst solveStaffGroup = (staffGroup: EquationPolicy.StaffGroup, options: EquationPolicy.RegulatorOptions): EquationPolicy.StaffGroupSolution => {\n\tif (!staffGroup.events.length) {\n\t\treturn {\n\t\t\tevents: [],\n\t\t\tvoices: [],\n\t\t\tduration: 0,\n\t\t};\n\t}\n\n\tconst solver = new EquationSolver.Solver(staffGroup, options);\n\n\treturn solver.solve();\n};\n\n// create a worker and register public functions\nworkerpool.worker({\n\tsolveStaffGroup,\n});\n","console.info(`%cstarry-omr%c v1.0.0 2026-02-17T12:40:35.385Z`, 'color:#fff; background-color: #555;padding: 5px;border-radius: 3px 0 0 3px;', 'color: #fff; background-color: #007dc6;padding: 5px;border-radius: 0 3px 3px 0;');\nimport '../../../src/starry/solveStaffGroup.worker';\n"],"names":["requireFoolWebpack","eval","requireFoolWebpack_1","Promise","handler","parent","me","this","SyntaxError","_onSuccess","_onFail","resolved","rejected","pending","_process","onSuccess","onFail","push","then","resolve","reject","s","_then","f","_resolve","result","forEach","fn","_reject","error","cancel","CancellationError","timeout","delay","timer","setTimeout","TimeoutError","always","clearTimeout","callback","res","message","stack","Error","require$$0","isNode","nodeProcess","versions","node","module","exports","platform","process","worker_threads","err","tryRequireFoolWebpack","isMainThread","connected","Window","cpus","self","navigator","hardwareConcurrency","length","Promise$2","prototype","all","promises","remaining","results","p","i","defer","resolver","promise","constructor","name","_Promise","embeddedWorker","environment","require$$1","require$$2","TERMINATE_METHOD_ID","ensureWorkerThreads","WorkerThreads","tryRequireWorkerThreads","ensureWebWorker","Worker","code","getDefaultWorker","Blob","window","URL","createObjectURL","blob","require$$3","type","__dirname","setupWorker","script","options","workerType","setupBrowserWorker","workerOpts","setupWorkerThreadWorker","workerThreadOpts","setupProcessWorker","resolveForkOptions","worker","isBrowserWorker","on","event","addEventListener","data","send","transfer","postMessage","workerThreadOptions","stdout","stderr","isWorkerThread","kill","terminate","disconnect","child_process","fork","forkArgs","forkOpts","call","isChildProcess","opts","processExecArgv","execArgv","join","inspectorActive","indexOf","debugBrk","debugPort","arg","Object","assign","concat","objectToError","obj","temp","props","keys","WorkerHandler","_options","onError","id","terminated","processing","undefined","create","workerTerminateTimeout","ready","requestQueue","response","request","splice","dispatchQueuedRequests","task","isEvent","payload","terminating","exitCode","signalCode","spawnargs","spawnfile","cleaning","terminationHandler","lastId","methods","exec","method","params","catch","terminateAndNotify","busy","force","cleanup","removeAllListeners","killed","cleanExitTimeout","once","WorkerHandlerModule","WorkerHandler$1","_tryRequireWorkerThreads","_setupProcessWorker","_setupBrowserWorker","_setupWorkerThreadWorker","Transfer","exit","parentPort","bind","convertError","getOwnPropertyNames","reduce","product","defineProperty","value","enumerable","isPromise","run","args","Function","apply","cleanupAndExit","_exit","currentRequestId","register","hasOwnProperty","onTerminate","emit","add","Sylvester","Matrix","elements","setElements","I","n","j","els","dup","isSquare","cols","toRightTriangular","M","np","multiplier","determinant","det","isSingular","augment","matrix","T","nj","inverse","divisor","new_element","inverse_elements","matrixInverse","mat","SemanticType","root","NODE_JS","JS_SHA1_NO_NODE_JS","global","COMMON_JS","JS_SHA1_NO_COMMON_JS","HEX_CHARS","split","EXTRA","SHIFT","OUTPUT_TYPES","blocks","createOutputMethod","outputType","Sha1","update","createMethod","nodeWrap","crypto","Buffer","nodeMethod","createHash","digest","ArrayBuffer","Uint8Array","sharedMemory","h0","h1","h2","h3","h4","block","start","bytes","hBytes","finalized","hashed","first","notString","index","charCodeAt","lastByteIndex","hash","finalize","t","a","b","c","d","e","hex","toString","array","arrayBuffer","buffer","dataView","DataView","setUint32","sha1","BarMeasure","vline_BarMeasure","vline_BarTerminal","vline_BarSegment","vline_VoltaLeft","vline_VoltaRight","VoltaAlternativeBegin","st","NoteheadS0","NoteheadS1","NoteheadS2","Zero","One","Two","Three","Four","Five","Six","Seven","Eight","Nine","ScriptStaccatissimo","TimesigZero","TimesigOne","TimesigTwo","TimesigThree","TimesigFour","TimesigFive","TimesigSix","TimesigSeven","TimesigEight","TimesigNine","Rest0","Rest1","Rest2","Rest3","Rest4","Rest5","Rest6","Rest0W","RestM1","SignInterval","SignLined","BeamLeft","BeamContinue","BeamRight","ClefG","ClefF","ClefC","Dot","AccNatural","AccSharp","AccDoublesharp","AccFlat","AccFlatflat","TimesigC44","TimesigC22","OctaveShift8","OctaveShift0","m","r","z","ScriptFermata","ScriptShortFermata","ScriptSforzato","ScriptStaccato","ScriptTurn","ScriptTrill","ScriptSegno","ScriptCoda","ScriptArpeggio","ScriptPrall","ScriptMordent","ScriptMarcato","ScriptTenuto","ScriptPortato","PedalStar","PedalPed","roundNumber","x","precision","min","Infinity","Math","max","round","gcd","Number","isInteger","console","frac","numerator","denominator","reducedFraction","g","fractionMul","fraction","DummyLogger","debug","_","group","groupCollapsed","groupEnd","info","warn","assert","EOM","GREAT_NUMBER","DURATION_MULTIPLIER","floatToFrac","floatToTimeWarp","ActionType","Action","P","PLACE","e1","V","e2","order","VERTICAL","H","HORIZONTAL","events","filter","isFinite","StageMatrix","fromNode","status","Array","stages","fill","map","Set","actions","action","stage1","findIndex","stage","includes","stage2","stagedEvents","endHs","matrixH","has","endHP","hActions","pendingHeads","eventMap","eid","find","some","pathOf","y","target","ei","size","yy","sub","findDoublePath","s1","s2","paths","path","reducePath","column","set","delete","toEquations","eventCount","equations","path1","path2","equation","PathNode","logger","last","sort","like","ids","constructStages","unshift","newStage","si","constructConstraints","factors","duration","constraints","it","inbalancesConstraints","ones","fixed","inbalances","constraint","sum","solveEquations","xis","items","abs","equationMap","Map","conflicted","lines","line","bias","every","get","squareLines","slice","restLines","candidateLines","i1","i2","prior","sl","c1","c2","invert","solution","row","xi","optimallySolve","shrinkMap","shrinkness","groups","entries","p1","p2","pair","released","releasedIds","warps","lowWarp","isConflicted","eventTendencies","timeWarps","getSolution","actionKey","hacts","a1","a2","hmap","act","startEs","voices","se","voice","values","tick","endTick","tickGroup","timeWarp","estages","solveStages","changed","reverse","measureDuration","outEI","String","fromCodePoint","deduce","quota","access","actionAccessing","times","closed","credits","children","expand","possibility","n1","n2","child","matrixV","branches","appendBranch","branch","ps","Solver","env","event0","confidence","measureShrinkness","expectedDuration","staff","xSpan","endX","solve","pathRoot","bestSolution","evaluateSolution","loss","sevents","es","partialFrac","weight","log","spaceTime","staffAlters","end","eventsXOrder","tickTwists","dx","dt","atan2","PI","tickTwist","solveStaffGroup","staffGroup","EquationSolver.Solver","workerpool.worker"],"mappings":"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"} \ No newline at end of file diff --git a/backend/omr/package.json b/backend/omr/package.json new file mode 100644 index 0000000000000000000000000000000000000000..f4b1375ca27c13dce891978107bf805a71e7e969 --- /dev/null +++ b/backend/omr/package.json @@ -0,0 +1,56 @@ +{ + "name": "starry-omr", + "version": "1.0.0", + "description": "Starry OMR engine core library", + "source": "src/index.ts", + "main": "dist/index.js", + "types": "dist/index.d.ts", + "scripts": { + "start": "npm run build:worker && node -r ts-node/register src/index.ts", + "start:gauge-server": "node -r ts-node/register src/gauge-server.ts --port=15656", + "build": "rimraf ./dist && cross-env NODE_ENV=production rollup -c", + "test:gauge": "node -r ts-node/register gaugeRenderer.ts", + "test:zeroserver": "node -r ts-node/register test/test-zero-server.ts", + "test:imgrcv": "node -r ts-node/register test/test-imageReceiver.ts", + "prepublishOnly": "rimraf ./dist && npm run build" + }, + "author": "lishiheng", + "license": "ISC", + "devDependencies": { + "@rollup/plugin-commonjs": "^21.1.0", + "@rollup/plugin-json": "^5.0.2", + "@rollup/plugin-node-resolve": "^15.0.1", + "@rollup/plugin-typescript": "^10.0.1", + "@types/three": "^0.139.0", + "cpy-cli": "^4.1.0", + "cross-env": "^7.0.3", + "dts-cli": "^1.5.1", + "rimraf": "^3.0.2", + "rollup": "^2.77.4-1", + "rollup-plugin-dts": "^5.0.0", + "rollup-plugin-node-polyfills": "^0.2.1", + "rollup-plugin-terser": "^7.0.2", + "rollup-plugin-ts": "^3.0.2", + "ts-node": "^10.4.0", + "typescript": "^4.9.4", + "yargs": "^17.3.1" + }, + "engines": { + "node": ">= 14" + }, + "targets": { + "main": { + "source": "src/index.ts", + "distDir": "dist", + "sourceMap": true, + "optimize": false, + "isLibrary": true + }, + "worker": { + "source": "src/worker.ts", + "distDir": "dist", + "sourceMap": false, + "optimize": true + } + } +} diff --git a/backend/omr/src/gauge-server.ts b/backend/omr/src/gauge-server.ts new file mode 100644 index 0000000000000000000000000000000000000000..b21595626c2fff1bc6316cf467b8c4aaabc3ce74 --- /dev/null +++ b/backend/omr/src/gauge-server.ts @@ -0,0 +1,90 @@ +import { argv } from 'yargs'; +import { pack, unpack } from 'msgpackr'; +import { Reply } from 'zeromq'; +import { renderGaugeImage } from '../../libs/gauge-renderer'; + +interface Params { + method: string; + args: any[]; + kwargs: Record; +} + +const unsafeMethods = ['bind', 'constructor', 'toString', 'toJSON']; + +class GaugeServer { + private socket: Reply; + + async bind(port?: string) { + this.socket = new Reply(); + await this.socket.bind(port); + + console.log(`gauge server listening at ${port}`); + + try { + for await (const [data] of this.socket) { + const { method, args, kwargs } = (unpack(data) as Params) ?? {}; + + console.log(`request: ${method}`); + + if (!unsafeMethods.includes(method) && this[method]) { + try { + const data = await this[method]?.(args, kwargs); + console.log(`success: ${method}`); + + await this.socket.send( + pack({ + code: 0, + msg: 'success', + data, + }) + ); + } catch (err) { + console.error(`fail: ${method}, error: ${err}`); + await this.socket.send( + pack({ + code: -1, + msg: `Error: ${JSON.stringify(err)}`, + data: null, + }) + ); + } + } else { + console.error(`fail: ${method}, error: no method`); + await this.socket.send( + pack({ + code: -1, + msg: `no method: ${method}`, + data: null, + }) + ); + } + } + } catch (err) { + console.log('restarting gauge server..', err.stack); + await this.socket.close(); + await this.bind(port); + } + } + + async predict(args?: any[], kwargs?: Record) { + let source, gauge, baseY; + + if (args) { + [source, gauge, baseY] = args; + } + + if (kwargs) { + ({ source, gauge, baseY } = kwargs); + } + + return renderGaugeImage(source, gauge, baseY); + } +} + +async function main() { + const server = new GaugeServer(); + + await server.bind(`tcp://*:${argv.port}`); +} + +main(); diff --git a/dist/assets/Table-42978533.css b/dist/assets/Table-42978533.css new file mode 100644 index 0000000000000000000000000000000000000000..58324aecb0fb849895eed1b6229d258aa9f0d530 --- /dev/null +++ b/dist/assets/Table-42978533.css @@ -0,0 +1 @@ +[class^=ant-]::-ms-clear,[class*=ant-]::-ms-clear,[class^=ant-] input::-ms-clear,[class*=ant-] input::-ms-clear,[class^=ant-] input::-ms-reveal,[class*=ant-] input::-ms-reveal{display:none}html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{margin:0;color:#000000d9;font-size:14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-variant:tabular-nums;line-height:1.5715;background-color:#fff;font-feature-settings:"tnum","tnum"}[tabindex="-1"]:focus{outline:none!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;color:#000000d9;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#1890ff;text-decoration:none;background-color:transparent;outline:none;cursor:pointer;transition:color .3s;-webkit-text-decoration-skip:objects}a:hover{color:#40a9ff}a:active{color:#096dd9}a:active,a:hover{text-decoration:none;outline:0}a:focus{text-decoration:none;outline:0}a[disabled]{color:#00000040;cursor:not-allowed}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;color:#00000073;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}::-moz-selection{color:#fff;background:#1890ff}::selection{color:#fff;background:#1890ff}.clearfix:before{display:table;content:""}.clearfix:after{display:table;clear:both;content:""}.anticon{display:inline-flex;align-items:center;color:inherit;font-style:normal;line-height:0;text-align:center;text-transform:none;vertical-align:-.125em;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.anticon>*{line-height:1}.anticon svg{display:inline-block}.anticon:before{display:none}.anticon .anticon-icon{display:block}.anticon>.anticon{line-height:0;vertical-align:0}.anticon[tabindex]{cursor:pointer}.anticon-spin,.anticon-spin:before{display:inline-block;animation:loadingCircle 1s infinite linear}.ant-fade-enter,.ant-fade-appear,.ant-fade-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-fade-enter.ant-fade-enter-active,.ant-fade-appear.ant-fade-appear-active{animation-name:antFadeIn;animation-play-state:running}.ant-fade-leave.ant-fade-leave-active{animation-name:antFadeOut;animation-play-state:running;pointer-events:none}.ant-fade-enter,.ant-fade-appear{opacity:0;animation-timing-function:linear}.ant-fade-leave{animation-timing-function:linear}@keyframes antFadeIn{0%{opacity:0}to{opacity:1}}@keyframes antFadeOut{0%{opacity:1}to{opacity:0}}.ant-move-up-enter,.ant-move-up-appear,.ant-move-up-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-move-up-enter.ant-move-up-enter-active,.ant-move-up-appear.ant-move-up-appear-active{animation-name:antMoveUpIn;animation-play-state:running}.ant-move-up-leave.ant-move-up-leave-active{animation-name:antMoveUpOut;animation-play-state:running;pointer-events:none}.ant-move-up-enter,.ant-move-up-appear{opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-move-up-leave{animation-timing-function:cubic-bezier(.6,.04,.98,.34)}.ant-move-down-enter,.ant-move-down-appear,.ant-move-down-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-move-down-enter.ant-move-down-enter-active,.ant-move-down-appear.ant-move-down-appear-active{animation-name:antMoveDownIn;animation-play-state:running}.ant-move-down-leave.ant-move-down-leave-active{animation-name:antMoveDownOut;animation-play-state:running;pointer-events:none}.ant-move-down-enter,.ant-move-down-appear{opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-move-down-leave{animation-timing-function:cubic-bezier(.6,.04,.98,.34)}.ant-move-left-enter,.ant-move-left-appear,.ant-move-left-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-move-left-enter.ant-move-left-enter-active,.ant-move-left-appear.ant-move-left-appear-active{animation-name:antMoveLeftIn;animation-play-state:running}.ant-move-left-leave.ant-move-left-leave-active{animation-name:antMoveLeftOut;animation-play-state:running;pointer-events:none}.ant-move-left-enter,.ant-move-left-appear{opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-move-left-leave{animation-timing-function:cubic-bezier(.6,.04,.98,.34)}.ant-move-right-enter,.ant-move-right-appear,.ant-move-right-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-move-right-enter.ant-move-right-enter-active,.ant-move-right-appear.ant-move-right-appear-active{animation-name:antMoveRightIn;animation-play-state:running}.ant-move-right-leave.ant-move-right-leave-active{animation-name:antMoveRightOut;animation-play-state:running;pointer-events:none}.ant-move-right-enter,.ant-move-right-appear{opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-move-right-leave{animation-timing-function:cubic-bezier(.6,.04,.98,.34)}@keyframes antMoveDownIn{0%{transform:translateY(100%);transform-origin:0 0;opacity:0}to{transform:translateY(0);transform-origin:0 0;opacity:1}}@keyframes antMoveDownOut{0%{transform:translateY(0);transform-origin:0 0;opacity:1}to{transform:translateY(100%);transform-origin:0 0;opacity:0}}@keyframes antMoveLeftIn{0%{transform:translate(-100%);transform-origin:0 0;opacity:0}to{transform:translate(0);transform-origin:0 0;opacity:1}}@keyframes antMoveLeftOut{0%{transform:translate(0);transform-origin:0 0;opacity:1}to{transform:translate(-100%);transform-origin:0 0;opacity:0}}@keyframes antMoveRightIn{0%{transform:translate(100%);transform-origin:0 0;opacity:0}to{transform:translate(0);transform-origin:0 0;opacity:1}}@keyframes antMoveRightOut{0%{transform:translate(0);transform-origin:0 0;opacity:1}to{transform:translate(100%);transform-origin:0 0;opacity:0}}@keyframes antMoveUpIn{0%{transform:translateY(-100%);transform-origin:0 0;opacity:0}to{transform:translateY(0);transform-origin:0 0;opacity:1}}@keyframes antMoveUpOut{0%{transform:translateY(0);transform-origin:0 0;opacity:1}to{transform:translateY(-100%);transform-origin:0 0;opacity:0}}@keyframes loadingCircle{to{transform:rotate(360deg)}}[ant-click-animating=true],[ant-click-animating-without-extra-node=true]{position:relative}html{--antd-wave-shadow-color: #1890ff;--scroll-bar: 0}[ant-click-animating-without-extra-node=true]:after,.ant-click-animating-node{position:absolute;top:0;right:0;bottom:0;left:0;display:block;border-radius:inherit;box-shadow:0 0 #1890ff;box-shadow:0 0 0 0 var(--antd-wave-shadow-color);opacity:.2;animation:fadeEffect 2s cubic-bezier(.08,.82,.17,1),waveEffect .4s cubic-bezier(.08,.82,.17,1);animation-fill-mode:forwards;content:"";pointer-events:none}@keyframes waveEffect{to{box-shadow:0 0 #1890ff;box-shadow:0 0 0 6px var(--antd-wave-shadow-color)}}@keyframes fadeEffect{to{opacity:0}}.ant-slide-up-enter,.ant-slide-up-appear,.ant-slide-up-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-slide-up-enter.ant-slide-up-enter-active,.ant-slide-up-appear.ant-slide-up-appear-active{animation-name:antSlideUpIn;animation-play-state:running}.ant-slide-up-leave.ant-slide-up-leave-active{animation-name:antSlideUpOut;animation-play-state:running;pointer-events:none}.ant-slide-up-enter,.ant-slide-up-appear{transform:scale(0);transform-origin:0% 0%;opacity:0;animation-timing-function:cubic-bezier(.23,1,.32,1)}.ant-slide-up-leave{animation-timing-function:cubic-bezier(.755,.05,.855,.06)}.ant-slide-down-enter,.ant-slide-down-appear,.ant-slide-down-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-slide-down-enter.ant-slide-down-enter-active,.ant-slide-down-appear.ant-slide-down-appear-active{animation-name:antSlideDownIn;animation-play-state:running}.ant-slide-down-leave.ant-slide-down-leave-active{animation-name:antSlideDownOut;animation-play-state:running;pointer-events:none}.ant-slide-down-enter,.ant-slide-down-appear{transform:scale(0);transform-origin:0% 0%;opacity:0;animation-timing-function:cubic-bezier(.23,1,.32,1)}.ant-slide-down-leave{animation-timing-function:cubic-bezier(.755,.05,.855,.06)}.ant-slide-left-enter,.ant-slide-left-appear,.ant-slide-left-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-slide-left-enter.ant-slide-left-enter-active,.ant-slide-left-appear.ant-slide-left-appear-active{animation-name:antSlideLeftIn;animation-play-state:running}.ant-slide-left-leave.ant-slide-left-leave-active{animation-name:antSlideLeftOut;animation-play-state:running;pointer-events:none}.ant-slide-left-enter,.ant-slide-left-appear{transform:scale(0);transform-origin:0% 0%;opacity:0;animation-timing-function:cubic-bezier(.23,1,.32,1)}.ant-slide-left-leave{animation-timing-function:cubic-bezier(.755,.05,.855,.06)}.ant-slide-right-enter,.ant-slide-right-appear,.ant-slide-right-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-slide-right-enter.ant-slide-right-enter-active,.ant-slide-right-appear.ant-slide-right-appear-active{animation-name:antSlideRightIn;animation-play-state:running}.ant-slide-right-leave.ant-slide-right-leave-active{animation-name:antSlideRightOut;animation-play-state:running;pointer-events:none}.ant-slide-right-enter,.ant-slide-right-appear{transform:scale(0);transform-origin:0% 0%;opacity:0;animation-timing-function:cubic-bezier(.23,1,.32,1)}.ant-slide-right-leave{animation-timing-function:cubic-bezier(.755,.05,.855,.06)}@keyframes antSlideUpIn{0%{transform:scaleY(.8);transform-origin:0% 0%;opacity:0}to{transform:scaleY(1);transform-origin:0% 0%;opacity:1}}@keyframes antSlideUpOut{0%{transform:scaleY(1);transform-origin:0% 0%;opacity:1}to{transform:scaleY(.8);transform-origin:0% 0%;opacity:0}}@keyframes antSlideDownIn{0%{transform:scaleY(.8);transform-origin:100% 100%;opacity:0}to{transform:scaleY(1);transform-origin:100% 100%;opacity:1}}@keyframes antSlideDownOut{0%{transform:scaleY(1);transform-origin:100% 100%;opacity:1}to{transform:scaleY(.8);transform-origin:100% 100%;opacity:0}}@keyframes antSlideLeftIn{0%{transform:scaleX(.8);transform-origin:0% 0%;opacity:0}to{transform:scaleX(1);transform-origin:0% 0%;opacity:1}}@keyframes antSlideLeftOut{0%{transform:scaleX(1);transform-origin:0% 0%;opacity:1}to{transform:scaleX(.8);transform-origin:0% 0%;opacity:0}}@keyframes antSlideRightIn{0%{transform:scaleX(.8);transform-origin:100% 0%;opacity:0}to{transform:scaleX(1);transform-origin:100% 0%;opacity:1}}@keyframes antSlideRightOut{0%{transform:scaleX(1);transform-origin:100% 0%;opacity:1}to{transform:scaleX(.8);transform-origin:100% 0%;opacity:0}}.ant-zoom-enter,.ant-zoom-appear,.ant-zoom-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-zoom-enter.ant-zoom-enter-active,.ant-zoom-appear.ant-zoom-appear-active{animation-name:antZoomIn;animation-play-state:running}.ant-zoom-leave.ant-zoom-leave-active{animation-name:antZoomOut;animation-play-state:running;pointer-events:none}.ant-zoom-enter,.ant-zoom-appear{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-zoom-enter-prepare,.ant-zoom-appear-prepare{transform:none}.ant-zoom-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.ant-zoom-big-enter,.ant-zoom-big-appear,.ant-zoom-big-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-zoom-big-enter.ant-zoom-big-enter-active,.ant-zoom-big-appear.ant-zoom-big-appear-active{animation-name:antZoomBigIn;animation-play-state:running}.ant-zoom-big-leave.ant-zoom-big-leave-active{animation-name:antZoomBigOut;animation-play-state:running;pointer-events:none}.ant-zoom-big-enter,.ant-zoom-big-appear{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-zoom-big-enter-prepare,.ant-zoom-big-appear-prepare{transform:none}.ant-zoom-big-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.ant-zoom-big-fast-enter,.ant-zoom-big-fast-appear,.ant-zoom-big-fast-leave{animation-duration:.1s;animation-fill-mode:both;animation-play-state:paused}.ant-zoom-big-fast-enter.ant-zoom-big-fast-enter-active,.ant-zoom-big-fast-appear.ant-zoom-big-fast-appear-active{animation-name:antZoomBigIn;animation-play-state:running}.ant-zoom-big-fast-leave.ant-zoom-big-fast-leave-active{animation-name:antZoomBigOut;animation-play-state:running;pointer-events:none}.ant-zoom-big-fast-enter,.ant-zoom-big-fast-appear{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-zoom-big-fast-enter-prepare,.ant-zoom-big-fast-appear-prepare{transform:none}.ant-zoom-big-fast-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.ant-zoom-up-enter,.ant-zoom-up-appear,.ant-zoom-up-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-zoom-up-enter.ant-zoom-up-enter-active,.ant-zoom-up-appear.ant-zoom-up-appear-active{animation-name:antZoomUpIn;animation-play-state:running}.ant-zoom-up-leave.ant-zoom-up-leave-active{animation-name:antZoomUpOut;animation-play-state:running;pointer-events:none}.ant-zoom-up-enter,.ant-zoom-up-appear{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-zoom-up-enter-prepare,.ant-zoom-up-appear-prepare{transform:none}.ant-zoom-up-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.ant-zoom-down-enter,.ant-zoom-down-appear,.ant-zoom-down-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-zoom-down-enter.ant-zoom-down-enter-active,.ant-zoom-down-appear.ant-zoom-down-appear-active{animation-name:antZoomDownIn;animation-play-state:running}.ant-zoom-down-leave.ant-zoom-down-leave-active{animation-name:antZoomDownOut;animation-play-state:running;pointer-events:none}.ant-zoom-down-enter,.ant-zoom-down-appear{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-zoom-down-enter-prepare,.ant-zoom-down-appear-prepare{transform:none}.ant-zoom-down-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.ant-zoom-left-enter,.ant-zoom-left-appear,.ant-zoom-left-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-zoom-left-enter.ant-zoom-left-enter-active,.ant-zoom-left-appear.ant-zoom-left-appear-active{animation-name:antZoomLeftIn;animation-play-state:running}.ant-zoom-left-leave.ant-zoom-left-leave-active{animation-name:antZoomLeftOut;animation-play-state:running;pointer-events:none}.ant-zoom-left-enter,.ant-zoom-left-appear{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-zoom-left-enter-prepare,.ant-zoom-left-appear-prepare{transform:none}.ant-zoom-left-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.ant-zoom-right-enter,.ant-zoom-right-appear,.ant-zoom-right-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-zoom-right-enter.ant-zoom-right-enter-active,.ant-zoom-right-appear.ant-zoom-right-appear-active{animation-name:antZoomRightIn;animation-play-state:running}.ant-zoom-right-leave.ant-zoom-right-leave-active{animation-name:antZoomRightOut;animation-play-state:running;pointer-events:none}.ant-zoom-right-enter,.ant-zoom-right-appear{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-zoom-right-enter-prepare,.ant-zoom-right-appear-prepare{transform:none}.ant-zoom-right-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}@keyframes antZoomIn{0%{transform:scale(.2);opacity:0}to{transform:scale(1);opacity:1}}@keyframes antZoomOut{0%{transform:scale(1)}to{transform:scale(.2);opacity:0}}@keyframes antZoomBigIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes antZoomBigOut{0%{transform:scale(1)}to{transform:scale(.8);opacity:0}}@keyframes antZoomUpIn{0%{transform:scale(.8);transform-origin:50% 0%;opacity:0}to{transform:scale(1);transform-origin:50% 0%}}@keyframes antZoomUpOut{0%{transform:scale(1);transform-origin:50% 0%}to{transform:scale(.8);transform-origin:50% 0%;opacity:0}}@keyframes antZoomLeftIn{0%{transform:scale(.8);transform-origin:0% 50%;opacity:0}to{transform:scale(1);transform-origin:0% 50%}}@keyframes antZoomLeftOut{0%{transform:scale(1);transform-origin:0% 50%}to{transform:scale(.8);transform-origin:0% 50%;opacity:0}}@keyframes antZoomRightIn{0%{transform:scale(.8);transform-origin:100% 50%;opacity:0}to{transform:scale(1);transform-origin:100% 50%}}@keyframes antZoomRightOut{0%{transform:scale(1);transform-origin:100% 50%}to{transform:scale(.8);transform-origin:100% 50%;opacity:0}}@keyframes antZoomDownIn{0%{transform:scale(.8);transform-origin:50% 100%;opacity:0}to{transform:scale(1);transform-origin:50% 100%}}@keyframes antZoomDownOut{0%{transform:scale(1);transform-origin:50% 100%}to{transform:scale(.8);transform-origin:50% 100%;opacity:0}}.ant-motion-collapse-legacy{overflow:hidden}.ant-motion-collapse-legacy-active{transition:height .2s cubic-bezier(.645,.045,.355,1),opacity .2s cubic-bezier(.645,.045,.355,1)!important}.ant-motion-collapse{overflow:hidden;transition:height .2s cubic-bezier(.645,.045,.355,1),opacity .2s cubic-bezier(.645,.045,.355,1)!important}.ant-avatar{box-sizing:border-box;margin:0;padding:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum","tnum";position:relative;display:inline-block;overflow:hidden;color:#fff;white-space:nowrap;text-align:center;vertical-align:middle;background:#ccc;width:32px;height:32px;line-height:32px;border-radius:50%}.ant-avatar-image{background:transparent}.ant-avatar .ant-image-img{display:block}.ant-avatar-string{position:absolute;left:50%;transform-origin:0 center}.ant-avatar.ant-avatar-icon{font-size:18px}.ant-avatar.ant-avatar-icon>.anticon{margin:0}.ant-avatar-lg{width:40px;height:40px;line-height:40px;border-radius:50%}.ant-avatar-lg-string{position:absolute;left:50%;transform-origin:0 center}.ant-avatar-lg.ant-avatar-icon{font-size:24px}.ant-avatar-lg.ant-avatar-icon>.anticon{margin:0}.ant-avatar-sm{width:24px;height:24px;line-height:24px;border-radius:50%}.ant-avatar-sm-string{position:absolute;left:50%;transform-origin:0 center}.ant-avatar-sm.ant-avatar-icon{font-size:14px}.ant-avatar-sm.ant-avatar-icon>.anticon{margin:0}.ant-avatar-square{border-radius:2px}.ant-avatar>img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.ant-avatar-group{display:inline-flex}.ant-avatar-group .ant-avatar{border:1px solid #fff}.ant-avatar-group .ant-avatar:not(:first-child){margin-left:-8px}.ant-avatar-group-popover .ant-avatar+.ant-avatar{margin-left:3px}.ant-avatar-group-rtl .ant-avatar:not(:first-child){margin-right:-8px;margin-left:0}.ant-avatar-group-popover.ant-popover-rtl .ant-avatar+.ant-avatar{margin-right:3px;margin-left:0}.ant-popover{box-sizing:border-box;margin:0;padding:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum","tnum";position:absolute;top:0;left:0;z-index:1030;max-width:100vw;font-weight:400;white-space:normal;text-align:left;cursor:auto;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.ant-popover-content{position:relative}.ant-popover:after{position:absolute;background:rgba(255,255,255,.01);content:""}.ant-popover-hidden{display:none}.ant-popover-placement-top,.ant-popover-placement-topLeft,.ant-popover-placement-topRight{padding-bottom:15.3137085px}.ant-popover-placement-right,.ant-popover-placement-rightTop,.ant-popover-placement-rightBottom{padding-left:15.3137085px}.ant-popover-placement-bottom,.ant-popover-placement-bottomLeft,.ant-popover-placement-bottomRight{padding-top:15.3137085px}.ant-popover-placement-left,.ant-popover-placement-leftTop,.ant-popover-placement-leftBottom{padding-right:15.3137085px}.ant-popover-inner{background-color:#fff;background-clip:padding-box;border-radius:2px;box-shadow:0 3px 6px -4px #0000001f,0 6px 16px #00000014,0 9px 28px 8px #0000000d}@media screen and (-ms-high-contrast: active),(-ms-high-contrast: none){.ant-popover-inner{box-shadow:0 3px 6px -4px #0000001f,0 6px 16px #00000014,0 9px 28px 8px #0000000d}}.ant-popover-title{min-width:177px;min-height:32px;margin:0;padding:5px 16px 4px;color:#000000d9;font-weight:500;border-bottom:1px solid #f0f0f0}.ant-popover-inner-content{width:-moz-max-content;width:max-content;max-width:100%;padding:12px 16px;color:#000000d9}.ant-popover-message{display:flex;padding:4px 0 12px;color:#000000d9;font-size:14px}.ant-popover-message-icon{display:inline-block;margin-right:8px;color:#faad14;font-size:14px}.ant-popover-buttons{margin-bottom:4px;text-align:right}.ant-popover-buttons button:not(:first-child){margin-left:8px}.ant-popover-arrow{position:absolute;display:block;width:22px;height:22px;overflow:hidden;background:transparent;pointer-events:none}.ant-popover-arrow-content{--antd-arrow-background-color: #fff;position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:11.3137085px;height:11.3137085px;margin:auto;content:"";pointer-events:auto;border-radius:0 0 2px;pointer-events:none}.ant-popover-arrow-content:before{position:absolute;top:-11.3137085px;left:-11.3137085px;width:33.9411255px;height:33.9411255px;background:var(--antd-arrow-background-color);background-repeat:no-repeat;background-position:-10px -10px;content:"";clip-path:inset(33% 33%);clip-path:path("M 9.849242404917499 24.091883092036785 A 5 5 0 0 1 13.384776310850237 22.627416997969522 L 20.627416997969522 22.627416997969522 A 2 2 0 0 0 22.627416997969522 20.627416997969522 L 22.627416997969522 13.384776310850237 A 5 5 0 0 1 24.091883092036785 9.849242404917499 L 23.091883092036785 9.849242404917499 L 9.849242404917499 23.091883092036785 Z")}.ant-popover-placement-top .ant-popover-arrow,.ant-popover-placement-topLeft .ant-popover-arrow,.ant-popover-placement-topRight .ant-popover-arrow{bottom:0;transform:translateY(100%)}.ant-popover-placement-top .ant-popover-arrow-content,.ant-popover-placement-topLeft .ant-popover-arrow-content,.ant-popover-placement-topRight .ant-popover-arrow-content{box-shadow:3px 3px 7px #00000012;transform:translateY(-11px) rotate(45deg)}.ant-popover-placement-top .ant-popover-arrow{left:50%;transform:translateY(100%) translate(-50%)}.ant-popover-placement-topLeft .ant-popover-arrow{left:16px}.ant-popover-placement-topRight .ant-popover-arrow{right:16px}.ant-popover-placement-right .ant-popover-arrow,.ant-popover-placement-rightTop .ant-popover-arrow,.ant-popover-placement-rightBottom .ant-popover-arrow{left:0;transform:translate(-100%)}.ant-popover-placement-right .ant-popover-arrow-content,.ant-popover-placement-rightTop .ant-popover-arrow-content,.ant-popover-placement-rightBottom .ant-popover-arrow-content{box-shadow:3px 3px 7px #00000012;transform:translate(11px) rotate(135deg)}.ant-popover-placement-right .ant-popover-arrow{top:50%;transform:translate(-100%) translateY(-50%)}.ant-popover-placement-rightTop .ant-popover-arrow{top:12px}.ant-popover-placement-rightBottom .ant-popover-arrow{bottom:12px}.ant-popover-placement-bottom .ant-popover-arrow,.ant-popover-placement-bottomLeft .ant-popover-arrow,.ant-popover-placement-bottomRight .ant-popover-arrow{top:0;transform:translateY(-100%)}.ant-popover-placement-bottom .ant-popover-arrow-content,.ant-popover-placement-bottomLeft .ant-popover-arrow-content,.ant-popover-placement-bottomRight .ant-popover-arrow-content{box-shadow:2px 2px 5px #0000000f;transform:translateY(11px) rotate(-135deg)}.ant-popover-placement-bottom .ant-popover-arrow{left:50%;transform:translateY(-100%) translate(-50%)}.ant-popover-placement-bottomLeft .ant-popover-arrow{left:16px}.ant-popover-placement-bottomRight .ant-popover-arrow{right:16px}.ant-popover-placement-left .ant-popover-arrow,.ant-popover-placement-leftTop .ant-popover-arrow,.ant-popover-placement-leftBottom .ant-popover-arrow{right:0;transform:translate(100%)}.ant-popover-placement-left .ant-popover-arrow-content,.ant-popover-placement-leftTop .ant-popover-arrow-content,.ant-popover-placement-leftBottom .ant-popover-arrow-content{box-shadow:3px 3px 7px #00000012;transform:translate(-11px) rotate(-45deg)}.ant-popover-placement-left .ant-popover-arrow{top:50%;transform:translate(100%) translateY(-50%)}.ant-popover-placement-leftTop .ant-popover-arrow{top:12px}.ant-popover-placement-leftBottom .ant-popover-arrow{bottom:12px}.ant-popover-pink .ant-popover-inner,.ant-popover-pink .ant-popover-arrow-content,.ant-popover-magenta .ant-popover-inner,.ant-popover-magenta .ant-popover-arrow-content{background-color:#eb2f96}.ant-popover-red .ant-popover-inner,.ant-popover-red .ant-popover-arrow-content{background-color:#f5222d}.ant-popover-volcano .ant-popover-inner,.ant-popover-volcano .ant-popover-arrow-content{background-color:#fa541c}.ant-popover-orange .ant-popover-inner,.ant-popover-orange .ant-popover-arrow-content{background-color:#fa8c16}.ant-popover-yellow .ant-popover-inner,.ant-popover-yellow .ant-popover-arrow-content{background-color:#fadb14}.ant-popover-gold .ant-popover-inner,.ant-popover-gold .ant-popover-arrow-content{background-color:#faad14}.ant-popover-cyan .ant-popover-inner,.ant-popover-cyan .ant-popover-arrow-content{background-color:#13c2c2}.ant-popover-lime .ant-popover-inner,.ant-popover-lime .ant-popover-arrow-content{background-color:#a0d911}.ant-popover-green .ant-popover-inner,.ant-popover-green .ant-popover-arrow-content{background-color:#52c41a}.ant-popover-blue .ant-popover-inner,.ant-popover-blue .ant-popover-arrow-content{background-color:#1890ff}.ant-popover-geekblue .ant-popover-inner,.ant-popover-geekblue .ant-popover-arrow-content{background-color:#2f54eb}.ant-popover-purple .ant-popover-inner,.ant-popover-purple .ant-popover-arrow-content{background-color:#722ed1}.ant-popover-rtl{direction:rtl;text-align:right}.ant-popover-rtl .ant-popover-message-icon{margin-right:0;margin-left:8px}.ant-popover-rtl .ant-popover-message-title{padding-left:16px}.ant-popover-rtl .ant-popover-buttons{text-align:left}.ant-popover-rtl .ant-popover-buttons button{margin-right:8px;margin-left:0}.ant-btn{line-height:1.5715;position:relative;display:inline-block;font-weight:400;white-space:nowrap;text-align:center;background-image:none;border:1px solid transparent;box-shadow:0 2px #00000004;cursor:pointer;transition:all .3s cubic-bezier(.645,.045,.355,1);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;touch-action:manipulation;height:32px;padding:4px 15px;font-size:14px;border-radius:2px;color:#000000d9;border-color:#d9d9d9;background:#fff}.ant-btn>.anticon{line-height:1}.ant-btn,.ant-btn:active,.ant-btn:focus{outline:0}.ant-btn:not([disabled]):hover{text-decoration:none}.ant-btn:not([disabled]):active{outline:0;box-shadow:none}.ant-btn[disabled]{cursor:not-allowed}.ant-btn[disabled]>*{pointer-events:none}.ant-btn-lg{height:40px;padding:6.4px 15px;font-size:16px;border-radius:2px}.ant-btn-sm{height:24px;padding:0 7px;font-size:14px;border-radius:2px}.ant-btn>a:only-child{color:currentcolor}.ant-btn>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn:hover,.ant-btn:focus{color:#40a9ff;border-color:#40a9ff;background:#fff}.ant-btn:hover>a:only-child,.ant-btn:focus>a:only-child{color:currentcolor}.ant-btn:hover>a:only-child:after,.ant-btn:focus>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn:active{color:#096dd9;border-color:#096dd9;background:#fff}.ant-btn:active>a:only-child{color:currentcolor}.ant-btn:active>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn[disabled],.ant-btn[disabled]:hover,.ant-btn[disabled]:focus,.ant-btn[disabled]:active{color:#00000040;border-color:#d9d9d9;background:#f5f5f5;text-shadow:none;box-shadow:none}.ant-btn[disabled]>a:only-child,.ant-btn[disabled]:hover>a:only-child,.ant-btn[disabled]:focus>a:only-child,.ant-btn[disabled]:active>a:only-child{color:currentcolor}.ant-btn[disabled]>a:only-child:after,.ant-btn[disabled]:hover>a:only-child:after,.ant-btn[disabled]:focus>a:only-child:after,.ant-btn[disabled]:active>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn:hover,.ant-btn:focus,.ant-btn:active{text-decoration:none;background:#fff}.ant-btn>span{display:inline-block}.ant-btn-primary{color:#fff;border-color:#1890ff;background:#1890ff;text-shadow:0 -1px 0 rgba(0,0,0,.12);box-shadow:0 2px #0000000b}.ant-btn-primary>a:only-child{color:currentcolor}.ant-btn-primary>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-primary:hover,.ant-btn-primary:focus{color:#fff;border-color:#40a9ff;background:#40a9ff}.ant-btn-primary:hover>a:only-child,.ant-btn-primary:focus>a:only-child{color:currentcolor}.ant-btn-primary:hover>a:only-child:after,.ant-btn-primary:focus>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-primary:active{color:#fff;border-color:#096dd9;background:#096dd9}.ant-btn-primary:active>a:only-child{color:currentcolor}.ant-btn-primary:active>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-primary[disabled],.ant-btn-primary[disabled]:hover,.ant-btn-primary[disabled]:focus,.ant-btn-primary[disabled]:active{color:#00000040;border-color:#d9d9d9;background:#f5f5f5;text-shadow:none;box-shadow:none}.ant-btn-primary[disabled]>a:only-child,.ant-btn-primary[disabled]:hover>a:only-child,.ant-btn-primary[disabled]:focus>a:only-child,.ant-btn-primary[disabled]:active>a:only-child{color:currentcolor}.ant-btn-primary[disabled]>a:only-child:after,.ant-btn-primary[disabled]:hover>a:only-child:after,.ant-btn-primary[disabled]:focus>a:only-child:after,.ant-btn-primary[disabled]:active>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-group .ant-btn-primary:not(:first-child):not(:last-child){border-right-color:#40a9ff;border-left-color:#40a9ff}.ant-btn-group .ant-btn-primary:not(:first-child):not(:last-child):disabled{border-color:#d9d9d9}.ant-btn-group .ant-btn-primary:first-child:not(:last-child){border-right-color:#40a9ff}.ant-btn-group .ant-btn-primary:first-child:not(:last-child)[disabled]{border-right-color:#d9d9d9}.ant-btn-group .ant-btn-primary:last-child:not(:first-child),.ant-btn-group .ant-btn-primary+.ant-btn-primary{border-left-color:#40a9ff}.ant-btn-group .ant-btn-primary:last-child:not(:first-child)[disabled],.ant-btn-group .ant-btn-primary+.ant-btn-primary[disabled]{border-left-color:#d9d9d9}.ant-btn-ghost{color:#000000d9;border-color:#d9d9d9;background:transparent}.ant-btn-ghost>a:only-child{color:currentcolor}.ant-btn-ghost>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-ghost:hover,.ant-btn-ghost:focus{color:#40a9ff;border-color:#40a9ff;background:transparent}.ant-btn-ghost:hover>a:only-child,.ant-btn-ghost:focus>a:only-child{color:currentcolor}.ant-btn-ghost:hover>a:only-child:after,.ant-btn-ghost:focus>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-ghost:active{color:#096dd9;border-color:#096dd9;background:transparent}.ant-btn-ghost:active>a:only-child{color:currentcolor}.ant-btn-ghost:active>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-ghost[disabled],.ant-btn-ghost[disabled]:hover,.ant-btn-ghost[disabled]:focus,.ant-btn-ghost[disabled]:active{color:#00000040;border-color:#d9d9d9;background:#f5f5f5;text-shadow:none;box-shadow:none}.ant-btn-ghost[disabled]>a:only-child,.ant-btn-ghost[disabled]:hover>a:only-child,.ant-btn-ghost[disabled]:focus>a:only-child,.ant-btn-ghost[disabled]:active>a:only-child{color:currentcolor}.ant-btn-ghost[disabled]>a:only-child:after,.ant-btn-ghost[disabled]:hover>a:only-child:after,.ant-btn-ghost[disabled]:focus>a:only-child:after,.ant-btn-ghost[disabled]:active>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-dashed{color:#000000d9;border-color:#d9d9d9;background:#fff;border-style:dashed}.ant-btn-dashed>a:only-child{color:currentcolor}.ant-btn-dashed>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-dashed:hover,.ant-btn-dashed:focus{color:#40a9ff;border-color:#40a9ff;background:#fff}.ant-btn-dashed:hover>a:only-child,.ant-btn-dashed:focus>a:only-child{color:currentcolor}.ant-btn-dashed:hover>a:only-child:after,.ant-btn-dashed:focus>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-dashed:active{color:#096dd9;border-color:#096dd9;background:#fff}.ant-btn-dashed:active>a:only-child{color:currentcolor}.ant-btn-dashed:active>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-dashed[disabled],.ant-btn-dashed[disabled]:hover,.ant-btn-dashed[disabled]:focus,.ant-btn-dashed[disabled]:active{color:#00000040;border-color:#d9d9d9;background:#f5f5f5;text-shadow:none;box-shadow:none}.ant-btn-dashed[disabled]>a:only-child,.ant-btn-dashed[disabled]:hover>a:only-child,.ant-btn-dashed[disabled]:focus>a:only-child,.ant-btn-dashed[disabled]:active>a:only-child{color:currentcolor}.ant-btn-dashed[disabled]>a:only-child:after,.ant-btn-dashed[disabled]:hover>a:only-child:after,.ant-btn-dashed[disabled]:focus>a:only-child:after,.ant-btn-dashed[disabled]:active>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-danger{color:#fff;border-color:#ff4d4f;background:#ff4d4f;text-shadow:0 -1px 0 rgba(0,0,0,.12);box-shadow:0 2px #0000000b}.ant-btn-danger>a:only-child{color:currentcolor}.ant-btn-danger>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-danger:hover,.ant-btn-danger:focus{color:#fff;border-color:#ff7875;background:#ff7875}.ant-btn-danger:hover>a:only-child,.ant-btn-danger:focus>a:only-child{color:currentcolor}.ant-btn-danger:hover>a:only-child:after,.ant-btn-danger:focus>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-danger:active{color:#fff;border-color:#d9363e;background:#d9363e}.ant-btn-danger:active>a:only-child{color:currentcolor}.ant-btn-danger:active>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-danger[disabled],.ant-btn-danger[disabled]:hover,.ant-btn-danger[disabled]:focus,.ant-btn-danger[disabled]:active{color:#00000040;border-color:#d9d9d9;background:#f5f5f5;text-shadow:none;box-shadow:none}.ant-btn-danger[disabled]>a:only-child,.ant-btn-danger[disabled]:hover>a:only-child,.ant-btn-danger[disabled]:focus>a:only-child,.ant-btn-danger[disabled]:active>a:only-child{color:currentcolor}.ant-btn-danger[disabled]>a:only-child:after,.ant-btn-danger[disabled]:hover>a:only-child:after,.ant-btn-danger[disabled]:focus>a:only-child:after,.ant-btn-danger[disabled]:active>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-link{color:#1890ff;border-color:transparent;background:transparent;box-shadow:none}.ant-btn-link>a:only-child{color:currentcolor}.ant-btn-link>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-link:hover,.ant-btn-link:focus{color:#40a9ff;border-color:#40a9ff;background:transparent}.ant-btn-link:hover>a:only-child,.ant-btn-link:focus>a:only-child{color:currentcolor}.ant-btn-link:hover>a:only-child:after,.ant-btn-link:focus>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-link:active{color:#096dd9;border-color:#096dd9;background:transparent}.ant-btn-link:active>a:only-child{color:currentcolor}.ant-btn-link:active>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-link[disabled],.ant-btn-link[disabled]:hover,.ant-btn-link[disabled]:focus,.ant-btn-link[disabled]:active{color:#00000040;border-color:#d9d9d9;background:#f5f5f5;text-shadow:none;box-shadow:none}.ant-btn-link:hover{background:transparent}.ant-btn-link:hover,.ant-btn-link:focus,.ant-btn-link:active{border-color:transparent}.ant-btn-link[disabled],.ant-btn-link[disabled]:hover,.ant-btn-link[disabled]:focus,.ant-btn-link[disabled]:active{color:#00000040;border-color:transparent;background:transparent;text-shadow:none;box-shadow:none}.ant-btn-link[disabled]>a:only-child,.ant-btn-link[disabled]:hover>a:only-child,.ant-btn-link[disabled]:focus>a:only-child,.ant-btn-link[disabled]:active>a:only-child{color:currentcolor}.ant-btn-link[disabled]>a:only-child:after,.ant-btn-link[disabled]:hover>a:only-child:after,.ant-btn-link[disabled]:focus>a:only-child:after,.ant-btn-link[disabled]:active>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-text{color:#000000d9;border-color:transparent;background:transparent;box-shadow:none}.ant-btn-text>a:only-child{color:currentcolor}.ant-btn-text>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-text:hover,.ant-btn-text:focus{color:#40a9ff;border-color:#40a9ff;background:transparent}.ant-btn-text:hover>a:only-child,.ant-btn-text:focus>a:only-child{color:currentcolor}.ant-btn-text:hover>a:only-child:after,.ant-btn-text:focus>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-text:active{color:#096dd9;border-color:#096dd9;background:transparent}.ant-btn-text:active>a:only-child{color:currentcolor}.ant-btn-text:active>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-text[disabled],.ant-btn-text[disabled]:hover,.ant-btn-text[disabled]:focus,.ant-btn-text[disabled]:active{color:#00000040;border-color:#d9d9d9;background:#f5f5f5;text-shadow:none;box-shadow:none}.ant-btn-text:hover,.ant-btn-text:focus{color:#000000d9;background:rgba(0,0,0,.018);border-color:transparent}.ant-btn-text:active{color:#000000d9;background:rgba(0,0,0,.028);border-color:transparent}.ant-btn-text[disabled],.ant-btn-text[disabled]:hover,.ant-btn-text[disabled]:focus,.ant-btn-text[disabled]:active{color:#00000040;border-color:transparent;background:transparent;text-shadow:none;box-shadow:none}.ant-btn-text[disabled]>a:only-child,.ant-btn-text[disabled]:hover>a:only-child,.ant-btn-text[disabled]:focus>a:only-child,.ant-btn-text[disabled]:active>a:only-child{color:currentcolor}.ant-btn-text[disabled]>a:only-child:after,.ant-btn-text[disabled]:hover>a:only-child:after,.ant-btn-text[disabled]:focus>a:only-child:after,.ant-btn-text[disabled]:active>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-dangerous{color:#ff4d4f;border-color:#ff4d4f;background:#fff}.ant-btn-dangerous>a:only-child{color:currentcolor}.ant-btn-dangerous>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-dangerous:hover,.ant-btn-dangerous:focus{color:#ff7875;border-color:#ff7875;background:#fff}.ant-btn-dangerous:hover>a:only-child,.ant-btn-dangerous:focus>a:only-child{color:currentcolor}.ant-btn-dangerous:hover>a:only-child:after,.ant-btn-dangerous:focus>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-dangerous:active{color:#d9363e;border-color:#d9363e;background:#fff}.ant-btn-dangerous:active>a:only-child{color:currentcolor}.ant-btn-dangerous:active>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-dangerous[disabled],.ant-btn-dangerous[disabled]:hover,.ant-btn-dangerous[disabled]:focus,.ant-btn-dangerous[disabled]:active{color:#00000040;border-color:#d9d9d9;background:#f5f5f5;text-shadow:none;box-shadow:none}.ant-btn-dangerous[disabled]>a:only-child,.ant-btn-dangerous[disabled]:hover>a:only-child,.ant-btn-dangerous[disabled]:focus>a:only-child,.ant-btn-dangerous[disabled]:active>a:only-child{color:currentcolor}.ant-btn-dangerous[disabled]>a:only-child:after,.ant-btn-dangerous[disabled]:hover>a:only-child:after,.ant-btn-dangerous[disabled]:focus>a:only-child:after,.ant-btn-dangerous[disabled]:active>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-dangerous.ant-btn-primary{color:#fff;border-color:#ff4d4f;background:#ff4d4f;text-shadow:0 -1px 0 rgba(0,0,0,.12);box-shadow:0 2px #0000000b}.ant-btn-dangerous.ant-btn-primary>a:only-child{color:currentcolor}.ant-btn-dangerous.ant-btn-primary>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-dangerous.ant-btn-primary:hover,.ant-btn-dangerous.ant-btn-primary:focus{color:#fff;border-color:#ff7875;background:#ff7875}.ant-btn-dangerous.ant-btn-primary:hover>a:only-child,.ant-btn-dangerous.ant-btn-primary:focus>a:only-child{color:currentcolor}.ant-btn-dangerous.ant-btn-primary:hover>a:only-child:after,.ant-btn-dangerous.ant-btn-primary:focus>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-dangerous.ant-btn-primary:active{color:#fff;border-color:#d9363e;background:#d9363e}.ant-btn-dangerous.ant-btn-primary:active>a:only-child{color:currentcolor}.ant-btn-dangerous.ant-btn-primary:active>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-dangerous.ant-btn-primary[disabled],.ant-btn-dangerous.ant-btn-primary[disabled]:hover,.ant-btn-dangerous.ant-btn-primary[disabled]:focus,.ant-btn-dangerous.ant-btn-primary[disabled]:active{color:#00000040;border-color:#d9d9d9;background:#f5f5f5;text-shadow:none;box-shadow:none}.ant-btn-dangerous.ant-btn-primary[disabled]>a:only-child,.ant-btn-dangerous.ant-btn-primary[disabled]:hover>a:only-child,.ant-btn-dangerous.ant-btn-primary[disabled]:focus>a:only-child,.ant-btn-dangerous.ant-btn-primary[disabled]:active>a:only-child{color:currentcolor}.ant-btn-dangerous.ant-btn-primary[disabled]>a:only-child:after,.ant-btn-dangerous.ant-btn-primary[disabled]:hover>a:only-child:after,.ant-btn-dangerous.ant-btn-primary[disabled]:focus>a:only-child:after,.ant-btn-dangerous.ant-btn-primary[disabled]:active>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-dangerous.ant-btn-link{color:#ff4d4f;border-color:transparent;background:transparent;box-shadow:none}.ant-btn-dangerous.ant-btn-link>a:only-child{color:currentcolor}.ant-btn-dangerous.ant-btn-link>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-dangerous.ant-btn-link:hover,.ant-btn-dangerous.ant-btn-link:focus{color:#40a9ff;border-color:#40a9ff;background:transparent}.ant-btn-dangerous.ant-btn-link:active{color:#096dd9;border-color:#096dd9;background:transparent}.ant-btn-dangerous.ant-btn-link[disabled],.ant-btn-dangerous.ant-btn-link[disabled]:hover,.ant-btn-dangerous.ant-btn-link[disabled]:focus,.ant-btn-dangerous.ant-btn-link[disabled]:active{color:#00000040;border-color:#d9d9d9;background:#f5f5f5;text-shadow:none;box-shadow:none}.ant-btn-dangerous.ant-btn-link:hover,.ant-btn-dangerous.ant-btn-link:focus{color:#ff7875;border-color:transparent;background:transparent}.ant-btn-dangerous.ant-btn-link:hover>a:only-child,.ant-btn-dangerous.ant-btn-link:focus>a:only-child{color:currentcolor}.ant-btn-dangerous.ant-btn-link:hover>a:only-child:after,.ant-btn-dangerous.ant-btn-link:focus>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-dangerous.ant-btn-link:active{color:#d9363e;border-color:transparent;background:transparent}.ant-btn-dangerous.ant-btn-link:active>a:only-child{color:currentcolor}.ant-btn-dangerous.ant-btn-link:active>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-dangerous.ant-btn-link[disabled],.ant-btn-dangerous.ant-btn-link[disabled]:hover,.ant-btn-dangerous.ant-btn-link[disabled]:focus,.ant-btn-dangerous.ant-btn-link[disabled]:active{color:#00000040;border-color:transparent;background:transparent;text-shadow:none;box-shadow:none}.ant-btn-dangerous.ant-btn-link[disabled]>a:only-child,.ant-btn-dangerous.ant-btn-link[disabled]:hover>a:only-child,.ant-btn-dangerous.ant-btn-link[disabled]:focus>a:only-child,.ant-btn-dangerous.ant-btn-link[disabled]:active>a:only-child{color:currentcolor}.ant-btn-dangerous.ant-btn-link[disabled]>a:only-child:after,.ant-btn-dangerous.ant-btn-link[disabled]:hover>a:only-child:after,.ant-btn-dangerous.ant-btn-link[disabled]:focus>a:only-child:after,.ant-btn-dangerous.ant-btn-link[disabled]:active>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-dangerous.ant-btn-text{color:#ff4d4f;border-color:transparent;background:transparent;box-shadow:none}.ant-btn-dangerous.ant-btn-text>a:only-child{color:currentcolor}.ant-btn-dangerous.ant-btn-text>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-dangerous.ant-btn-text:hover,.ant-btn-dangerous.ant-btn-text:focus{color:#40a9ff;border-color:#40a9ff;background:transparent}.ant-btn-dangerous.ant-btn-text:active{color:#096dd9;border-color:#096dd9;background:transparent}.ant-btn-dangerous.ant-btn-text[disabled],.ant-btn-dangerous.ant-btn-text[disabled]:hover,.ant-btn-dangerous.ant-btn-text[disabled]:focus,.ant-btn-dangerous.ant-btn-text[disabled]:active{color:#00000040;border-color:#d9d9d9;background:#f5f5f5;text-shadow:none;box-shadow:none}.ant-btn-dangerous.ant-btn-text:hover,.ant-btn-dangerous.ant-btn-text:focus{color:#ff7875;border-color:transparent;background:rgba(0,0,0,.018)}.ant-btn-dangerous.ant-btn-text:hover>a:only-child,.ant-btn-dangerous.ant-btn-text:focus>a:only-child{color:currentcolor}.ant-btn-dangerous.ant-btn-text:hover>a:only-child:after,.ant-btn-dangerous.ant-btn-text:focus>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-dangerous.ant-btn-text:active{color:#d9363e;border-color:transparent;background:rgba(0,0,0,.028)}.ant-btn-dangerous.ant-btn-text:active>a:only-child{color:currentcolor}.ant-btn-dangerous.ant-btn-text:active>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-dangerous.ant-btn-text[disabled],.ant-btn-dangerous.ant-btn-text[disabled]:hover,.ant-btn-dangerous.ant-btn-text[disabled]:focus,.ant-btn-dangerous.ant-btn-text[disabled]:active{color:#00000040;border-color:transparent;background:transparent;text-shadow:none;box-shadow:none}.ant-btn-dangerous.ant-btn-text[disabled]>a:only-child,.ant-btn-dangerous.ant-btn-text[disabled]:hover>a:only-child,.ant-btn-dangerous.ant-btn-text[disabled]:focus>a:only-child,.ant-btn-dangerous.ant-btn-text[disabled]:active>a:only-child{color:currentcolor}.ant-btn-dangerous.ant-btn-text[disabled]>a:only-child:after,.ant-btn-dangerous.ant-btn-text[disabled]:hover>a:only-child:after,.ant-btn-dangerous.ant-btn-text[disabled]:focus>a:only-child:after,.ant-btn-dangerous.ant-btn-text[disabled]:active>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-icon-only{width:32px;height:32px;padding:2.4px 0;font-size:16px;border-radius:2px;vertical-align:-3px}.ant-btn-icon-only>*{font-size:16px}.ant-btn-icon-only.ant-btn-lg{width:40px;height:40px;padding:4.9px 0;font-size:18px;border-radius:2px}.ant-btn-icon-only.ant-btn-lg>*{font-size:18px}.ant-btn-icon-only.ant-btn-sm{width:24px;height:24px;padding:0;font-size:14px;border-radius:2px}.ant-btn-icon-only.ant-btn-sm>*{font-size:14px}.ant-btn-icon-only>.anticon{display:flex;justify-content:center}.ant-btn-icon-only .anticon-loading{padding:0!important}a.ant-btn-icon-only{vertical-align:-1px}a.ant-btn-icon-only>.anticon{display:inline}.ant-btn-round{height:32px;padding:4px 16px;font-size:14px;border-radius:32px}.ant-btn-round.ant-btn-lg{height:40px;padding:6.4px 20px;font-size:16px;border-radius:40px}.ant-btn-round.ant-btn-sm{height:24px;padding:0 12px;font-size:14px;border-radius:24px}.ant-btn-round.ant-btn-icon-only{width:auto}.ant-btn-circle{min-width:32px;padding-right:0;padding-left:0;text-align:center;border-radius:50%}.ant-btn-circle.ant-btn-lg{min-width:40px;border-radius:50%}.ant-btn-circle.ant-btn-sm{min-width:24px;border-radius:50%}.ant-btn:before{position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;z-index:1;display:none;background:#fff;border-radius:inherit;opacity:.35;transition:opacity .2s;content:"";pointer-events:none}.ant-btn .anticon{transition:margin-left .3s cubic-bezier(.645,.045,.355,1)}.ant-btn .anticon.anticon-plus>svg,.ant-btn .anticon.anticon-minus>svg{shape-rendering:optimizespeed}.ant-btn.ant-btn-loading{position:relative;cursor:default}.ant-btn.ant-btn-loading:before{display:block}.ant-btn>.ant-btn-loading-icon{transition:width .3s cubic-bezier(.645,.045,.355,1),opacity .3s cubic-bezier(.645,.045,.355,1)}.ant-btn>.ant-btn-loading-icon .anticon{padding-right:8px;animation:none}.ant-btn>.ant-btn-loading-icon .anticon svg{animation:loadingCircle 1s infinite linear}.ant-btn-group{position:relative;display:inline-flex}.ant-btn-group>.ant-btn,.ant-btn-group>span>.ant-btn{position:relative}.ant-btn-group>.ant-btn:hover,.ant-btn-group>span>.ant-btn:hover,.ant-btn-group>.ant-btn:focus,.ant-btn-group>span>.ant-btn:focus,.ant-btn-group>.ant-btn:active,.ant-btn-group>span>.ant-btn:active{z-index:2}.ant-btn-group>.ant-btn[disabled],.ant-btn-group>span>.ant-btn[disabled]{z-index:0}.ant-btn-group .ant-btn-icon-only{font-size:14px}.ant-btn-group .ant-btn+.ant-btn,.ant-btn+.ant-btn-group,.ant-btn-group span+.ant-btn,.ant-btn-group .ant-btn+span,.ant-btn-group>span+span,.ant-btn-group+.ant-btn,.ant-btn-group+.ant-btn-group{margin-left:-1px}.ant-btn-group .ant-btn-primary+.ant-btn:not(.ant-btn-primary):not([disabled]){border-left-color:transparent}.ant-btn-group .ant-btn{border-radius:0}.ant-btn-group>.ant-btn:first-child,.ant-btn-group>span:first-child>.ant-btn{margin-left:0}.ant-btn-group>.ant-btn:only-child{border-radius:2px}.ant-btn-group>span:only-child>.ant-btn{border-radius:2px}.ant-btn-group>.ant-btn:first-child:not(:last-child),.ant-btn-group>span:first-child:not(:last-child)>.ant-btn{border-top-left-radius:2px;border-bottom-left-radius:2px}.ant-btn-group>.ant-btn:last-child:not(:first-child),.ant-btn-group>span:last-child:not(:first-child)>.ant-btn{border-top-right-radius:2px;border-bottom-right-radius:2px}.ant-btn-group-sm>.ant-btn:only-child{border-radius:2px}.ant-btn-group-sm>span:only-child>.ant-btn{border-radius:2px}.ant-btn-group-sm>.ant-btn:first-child:not(:last-child),.ant-btn-group-sm>span:first-child:not(:last-child)>.ant-btn{border-top-left-radius:2px;border-bottom-left-radius:2px}.ant-btn-group-sm>.ant-btn:last-child:not(:first-child),.ant-btn-group-sm>span:last-child:not(:first-child)>.ant-btn{border-top-right-radius:2px;border-bottom-right-radius:2px}.ant-btn-group>.ant-btn-group{float:left}.ant-btn-group>.ant-btn-group:not(:first-child):not(:last-child)>.ant-btn{border-radius:0}.ant-btn-group>.ant-btn-group:first-child:not(:last-child)>.ant-btn:last-child{padding-right:8px;border-top-right-radius:0;border-bottom-right-radius:0}.ant-btn-group>.ant-btn-group:last-child:not(:first-child)>.ant-btn:first-child{padding-left:8px;border-top-left-radius:0;border-bottom-left-radius:0}.ant-btn-rtl.ant-btn-group .ant-btn+.ant-btn,.ant-btn-rtl.ant-btn+.ant-btn-group,.ant-btn-rtl.ant-btn-group span+.ant-btn,.ant-btn-rtl.ant-btn-group .ant-btn+span,.ant-btn-rtl.ant-btn-group>span+span,.ant-btn-rtl.ant-btn-group+.ant-btn,.ant-btn-rtl.ant-btn-group+.ant-btn-group,.ant-btn-group-rtl.ant-btn-group .ant-btn+.ant-btn,.ant-btn-group-rtl.ant-btn+.ant-btn-group,.ant-btn-group-rtl.ant-btn-group span+.ant-btn,.ant-btn-group-rtl.ant-btn-group .ant-btn+span,.ant-btn-group-rtl.ant-btn-group>span+span,.ant-btn-group-rtl.ant-btn-group+.ant-btn,.ant-btn-group-rtl.ant-btn-group+.ant-btn-group{margin-right:-1px;margin-left:auto}.ant-btn-group.ant-btn-group-rtl{direction:rtl}.ant-btn-group-rtl.ant-btn-group>.ant-btn:first-child:not(:last-child),.ant-btn-group-rtl.ant-btn-group>span:first-child:not(:last-child)>.ant-btn{border-radius:0 2px 2px 0}.ant-btn-group-rtl.ant-btn-group>.ant-btn:last-child:not(:first-child),.ant-btn-group-rtl.ant-btn-group>span:last-child:not(:first-child)>.ant-btn{border-radius:2px 0 0 2px}.ant-btn-group-rtl.ant-btn-group-sm>.ant-btn:first-child:not(:last-child),.ant-btn-group-rtl.ant-btn-group-sm>span:first-child:not(:last-child)>.ant-btn{border-radius:0 2px 2px 0}.ant-btn-group-rtl.ant-btn-group-sm>.ant-btn:last-child:not(:first-child),.ant-btn-group-rtl.ant-btn-group-sm>span:last-child:not(:first-child)>.ant-btn{border-radius:2px 0 0 2px}.ant-btn:focus>span,.ant-btn:active>span{position:relative}.ant-btn>.anticon+span,.ant-btn>span+.anticon{margin-left:8px}.ant-btn.ant-btn-background-ghost{color:#fff;border-color:#fff}.ant-btn.ant-btn-background-ghost,.ant-btn.ant-btn-background-ghost:hover,.ant-btn.ant-btn-background-ghost:active,.ant-btn.ant-btn-background-ghost:focus{background:transparent}.ant-btn.ant-btn-background-ghost:hover,.ant-btn.ant-btn-background-ghost:focus{color:#40a9ff;border-color:#40a9ff}.ant-btn.ant-btn-background-ghost:active{color:#096dd9;border-color:#096dd9}.ant-btn.ant-btn-background-ghost[disabled]{color:#00000040;background:transparent;border-color:#d9d9d9}.ant-btn-background-ghost.ant-btn-primary{color:#1890ff;border-color:#1890ff;text-shadow:none}.ant-btn-background-ghost.ant-btn-primary>a:only-child{color:currentcolor}.ant-btn-background-ghost.ant-btn-primary>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-background-ghost.ant-btn-primary:hover,.ant-btn-background-ghost.ant-btn-primary:focus{color:#40a9ff;border-color:#40a9ff}.ant-btn-background-ghost.ant-btn-primary:hover>a:only-child,.ant-btn-background-ghost.ant-btn-primary:focus>a:only-child{color:currentcolor}.ant-btn-background-ghost.ant-btn-primary:hover>a:only-child:after,.ant-btn-background-ghost.ant-btn-primary:focus>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-background-ghost.ant-btn-primary:active{color:#096dd9;border-color:#096dd9}.ant-btn-background-ghost.ant-btn-primary:active>a:only-child{color:currentcolor}.ant-btn-background-ghost.ant-btn-primary:active>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-background-ghost.ant-btn-primary[disabled],.ant-btn-background-ghost.ant-btn-primary[disabled]:hover,.ant-btn-background-ghost.ant-btn-primary[disabled]:focus,.ant-btn-background-ghost.ant-btn-primary[disabled]:active{color:#00000040;border-color:#d9d9d9;background:#f5f5f5;text-shadow:none;box-shadow:none}.ant-btn-background-ghost.ant-btn-primary[disabled]>a:only-child,.ant-btn-background-ghost.ant-btn-primary[disabled]:hover>a:only-child,.ant-btn-background-ghost.ant-btn-primary[disabled]:focus>a:only-child,.ant-btn-background-ghost.ant-btn-primary[disabled]:active>a:only-child{color:currentcolor}.ant-btn-background-ghost.ant-btn-primary[disabled]>a:only-child:after,.ant-btn-background-ghost.ant-btn-primary[disabled]:hover>a:only-child:after,.ant-btn-background-ghost.ant-btn-primary[disabled]:focus>a:only-child:after,.ant-btn-background-ghost.ant-btn-primary[disabled]:active>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-background-ghost.ant-btn-danger{color:#ff4d4f;border-color:#ff4d4f;text-shadow:none}.ant-btn-background-ghost.ant-btn-danger>a:only-child{color:currentcolor}.ant-btn-background-ghost.ant-btn-danger>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-background-ghost.ant-btn-danger:hover,.ant-btn-background-ghost.ant-btn-danger:focus{color:#ff7875;border-color:#ff7875}.ant-btn-background-ghost.ant-btn-danger:hover>a:only-child,.ant-btn-background-ghost.ant-btn-danger:focus>a:only-child{color:currentcolor}.ant-btn-background-ghost.ant-btn-danger:hover>a:only-child:after,.ant-btn-background-ghost.ant-btn-danger:focus>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-background-ghost.ant-btn-danger:active{color:#d9363e;border-color:#d9363e}.ant-btn-background-ghost.ant-btn-danger:active>a:only-child{color:currentcolor}.ant-btn-background-ghost.ant-btn-danger:active>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-background-ghost.ant-btn-danger[disabled],.ant-btn-background-ghost.ant-btn-danger[disabled]:hover,.ant-btn-background-ghost.ant-btn-danger[disabled]:focus,.ant-btn-background-ghost.ant-btn-danger[disabled]:active{color:#00000040;border-color:#d9d9d9;background:#f5f5f5;text-shadow:none;box-shadow:none}.ant-btn-background-ghost.ant-btn-danger[disabled]>a:only-child,.ant-btn-background-ghost.ant-btn-danger[disabled]:hover>a:only-child,.ant-btn-background-ghost.ant-btn-danger[disabled]:focus>a:only-child,.ant-btn-background-ghost.ant-btn-danger[disabled]:active>a:only-child{color:currentcolor}.ant-btn-background-ghost.ant-btn-danger[disabled]>a:only-child:after,.ant-btn-background-ghost.ant-btn-danger[disabled]:hover>a:only-child:after,.ant-btn-background-ghost.ant-btn-danger[disabled]:focus>a:only-child:after,.ant-btn-background-ghost.ant-btn-danger[disabled]:active>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-background-ghost.ant-btn-dangerous{color:#ff4d4f;border-color:#ff4d4f;text-shadow:none}.ant-btn-background-ghost.ant-btn-dangerous>a:only-child{color:currentcolor}.ant-btn-background-ghost.ant-btn-dangerous>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-background-ghost.ant-btn-dangerous:hover,.ant-btn-background-ghost.ant-btn-dangerous:focus{color:#ff7875;border-color:#ff7875}.ant-btn-background-ghost.ant-btn-dangerous:hover>a:only-child,.ant-btn-background-ghost.ant-btn-dangerous:focus>a:only-child{color:currentcolor}.ant-btn-background-ghost.ant-btn-dangerous:hover>a:only-child:after,.ant-btn-background-ghost.ant-btn-dangerous:focus>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-background-ghost.ant-btn-dangerous:active{color:#d9363e;border-color:#d9363e}.ant-btn-background-ghost.ant-btn-dangerous:active>a:only-child{color:currentcolor}.ant-btn-background-ghost.ant-btn-dangerous:active>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-background-ghost.ant-btn-dangerous[disabled],.ant-btn-background-ghost.ant-btn-dangerous[disabled]:hover,.ant-btn-background-ghost.ant-btn-dangerous[disabled]:focus,.ant-btn-background-ghost.ant-btn-dangerous[disabled]:active{color:#00000040;border-color:#d9d9d9;background:#f5f5f5;text-shadow:none;box-shadow:none}.ant-btn-background-ghost.ant-btn-dangerous[disabled]>a:only-child,.ant-btn-background-ghost.ant-btn-dangerous[disabled]:hover>a:only-child,.ant-btn-background-ghost.ant-btn-dangerous[disabled]:focus>a:only-child,.ant-btn-background-ghost.ant-btn-dangerous[disabled]:active>a:only-child{color:currentcolor}.ant-btn-background-ghost.ant-btn-dangerous[disabled]>a:only-child:after,.ant-btn-background-ghost.ant-btn-dangerous[disabled]:hover>a:only-child:after,.ant-btn-background-ghost.ant-btn-dangerous[disabled]:focus>a:only-child:after,.ant-btn-background-ghost.ant-btn-dangerous[disabled]:active>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link{color:#ff4d4f;border-color:transparent;text-shadow:none}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link>a:only-child{color:currentcolor}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:hover,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:focus{color:#ff7875;border-color:transparent}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:hover>a:only-child,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:focus>a:only-child{color:currentcolor}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:hover>a:only-child:after,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:focus>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:active{color:#d9363e;border-color:transparent}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:active>a:only-child{color:currentcolor}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:active>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled],.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active{color:#00000040;border-color:#d9d9d9;background:#f5f5f5;text-shadow:none;box-shadow:none}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]>a:only-child,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover>a:only-child,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus>a:only-child,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active>a:only-child{color:currentcolor}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]>a:only-child:after,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover>a:only-child:after,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus>a:only-child:after,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}.ant-btn-two-chinese-chars:first-letter{letter-spacing:.34em}.ant-btn-two-chinese-chars>*:not(.anticon){margin-right:-.34em;letter-spacing:.34em}.ant-btn.ant-btn-block{width:100%}.ant-btn:empty{display:inline-block;width:0;visibility:hidden;content:" "}a.ant-btn{padding-top:.01px!important;line-height:30px}a.ant-btn-disabled{cursor:not-allowed}a.ant-btn-disabled>*{pointer-events:none}a.ant-btn-disabled,a.ant-btn-disabled:hover,a.ant-btn-disabled:focus,a.ant-btn-disabled:active{color:#00000040;border-color:transparent;background:transparent;text-shadow:none;box-shadow:none}a.ant-btn-disabled>a:only-child,a.ant-btn-disabled:hover>a:only-child,a.ant-btn-disabled:focus>a:only-child,a.ant-btn-disabled:active>a:only-child{color:currentcolor}a.ant-btn-disabled>a:only-child:after,a.ant-btn-disabled:hover>a:only-child:after,a.ant-btn-disabled:focus>a:only-child:after,a.ant-btn-disabled:active>a:only-child:after{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;content:""}a.ant-btn-lg{line-height:38px}a.ant-btn-sm{line-height:22px}.ant-btn-compact-item:not(.ant-btn-compact-last-item):not(.ant-btn-compact-item-rtl){margin-right:-1px}.ant-btn-compact-item:not(.ant-btn-compact-last-item).ant-btn-compact-item-rtl{margin-left:-1px}.ant-btn-compact-item:hover,.ant-btn-compact-item:focus,.ant-btn-compact-item:active{z-index:2}.ant-btn-compact-item[disabled]{z-index:0}.ant-btn-compact-item:not(.ant-btn-compact-first-item):not(.ant-btn-compact-last-item).ant-btn{border-radius:0}.ant-btn-compact-item.ant-btn.ant-btn-compact-first-item:not(.ant-btn-compact-last-item):not(.ant-btn-compact-item-rtl){border-top-right-radius:0;border-bottom-right-radius:0}.ant-btn-compact-item.ant-btn.ant-btn-compact-last-item:not(.ant-btn-compact-first-item):not(.ant-btn-compact-item-rtl){border-top-left-radius:0;border-bottom-left-radius:0}.ant-btn-compact-item.ant-btn.ant-btn-compact-item-rtl.ant-btn-compact-first-item:not(.ant-btn-compact-last-item){border-top-left-radius:0;border-bottom-left-radius:0}.ant-btn-compact-item.ant-btn.ant-btn-compact-item-rtl.ant-btn-compact-last-item:not(.ant-btn-compact-first-item){border-top-right-radius:0;border-bottom-right-radius:0}.ant-btn-icon-only.ant-btn-compact-item{flex:none}.ant-btn-compact-item.ant-btn-primary:not([disabled])+.ant-btn-compact-item.ant-btn-primary:not([disabled]){position:relative}.ant-btn-compact-item.ant-btn-primary:not([disabled])+.ant-btn-compact-item.ant-btn-primary:not([disabled]):after{position:absolute;top:-1px;left:-1px;display:inline-block;width:1px;height:calc(100% + 2px);background-color:#40a9ff;content:" "}.ant-btn-compact-item-rtl.ant-btn-compact-first-item.ant-btn-compact-item-rtl:not(.ant-btn-compact-last-item){border-top-left-radius:0;border-bottom-left-radius:0}.ant-btn-compact-item-rtl.ant-btn-compact-last-item.ant-btn-compact-item-rtl:not(.ant-btn-compact-first-item){border-top-right-radius:0;border-bottom-right-radius:0}.ant-btn-compact-item-rtl.ant-btn-sm.ant-btn-compact-first-item.ant-btn-compact-item-rtl.ant-btn-sm:not(.ant-btn-compact-last-item){border-top-left-radius:0;border-bottom-left-radius:0}.ant-btn-compact-item-rtl.ant-btn-sm.ant-btn-compact-last-item.ant-btn-compact-item-rtl.ant-btn-sm:not(.ant-btn-compact-first-item){border-top-right-radius:0;border-bottom-right-radius:0}.ant-btn-compact-item-rtl.ant-btn-primary:not([disabled])+.ant-btn-compact-item-rtl.ant-btn-primary:not([disabled]):after{right:-1px}.ant-btn-compact-vertical-item:not(.ant-btn-compact-vertical-last-item){margin-bottom:-1px}.ant-btn-compact-vertical-item:hover,.ant-btn-compact-vertical-item:focus,.ant-btn-compact-vertical-item:active{z-index:2}.ant-btn-compact-vertical-item[disabled]{z-index:0}.ant-btn-compact-vertical-item:not(.ant-btn-compact-vertical-first-item):not(.ant-btn-compact-vertical-last-item){border-radius:0}.ant-btn-compact-vertical-item.ant-btn-compact-vertical-first-item:not(.ant-btn-compact-vertical-last-item){border-bottom-right-radius:0;border-bottom-left-radius:0}.ant-btn-compact-vertical-item.ant-btn-compact-vertical-last-item:not(.ant-btn-compact-vertical-first-item){border-top-left-radius:0;border-top-right-radius:0}.ant-btn-compact-vertical-item.ant-btn-primary:not([disabled])+.ant-btn-compact-vertical-item.ant-btn-primary:not([disabled]){position:relative}.ant-btn-compact-vertical-item.ant-btn-primary:not([disabled])+.ant-btn-compact-vertical-item.ant-btn-primary:not([disabled]):after{position:absolute;top:-1px;left:-1px;display:inline-block;width:calc(100% + 2px);height:1px;background-color:#40a9ff;content:" "}.ant-btn-rtl{direction:rtl}.ant-btn-group-rtl.ant-btn-group .ant-btn-primary:last-child:not(:first-child),.ant-btn-group-rtl.ant-btn-group .ant-btn-primary+.ant-btn-primary{border-right-color:#40a9ff;border-left-color:#d9d9d9}.ant-btn-group-rtl.ant-btn-group .ant-btn-primary:last-child:not(:first-child)[disabled],.ant-btn-group-rtl.ant-btn-group .ant-btn-primary+.ant-btn-primary[disabled]{border-right-color:#d9d9d9;border-left-color:#40a9ff}.ant-btn-rtl.ant-btn>.ant-btn-loading-icon .anticon{padding-right:0;padding-left:8px}.ant-btn-rtl.ant-btn>.anticon+span,.ant-btn-rtl.ant-btn>span+.anticon{margin-right:8px;margin-left:0}.ant-pro-core-dropdown-footer{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:16px 16px 16px 8px;border-top:1px solid #f0f0f0}.ant-result{padding:48px 32px}.ant-result-success .ant-result-icon>.anticon{color:#52c41a}.ant-result-error .ant-result-icon>.anticon{color:#ff4d4f}.ant-result-info .ant-result-icon>.anticon{color:#1890ff}.ant-result-warning .ant-result-icon>.anticon{color:#faad14}.ant-result-image{width:250px;height:295px;margin:auto}.ant-result-icon{margin-bottom:24px;text-align:center}.ant-result-icon>.anticon{font-size:72px}.ant-result-title{color:#000000d9;font-size:24px;line-height:1.8;text-align:center}.ant-result-subtitle{color:#00000073;font-size:14px;line-height:1.6;text-align:center}.ant-result-extra{margin:24px 0 0;text-align:center}.ant-result-extra>*{margin-right:8px}.ant-result-extra>*:last-child{margin-right:0}.ant-result-content{margin-top:24px;padding:24px 40px;background-color:#fafafa}.ant-result-rtl{direction:rtl}.ant-result-rtl .ant-result-extra>*{margin-right:0;margin-left:8px}.ant-result-rtl .ant-result-extra>*:last-child{margin-left:0}.ant-pro-core-field-label{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;gap:4px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:30px;padding:0 4px;font-size:14px;line-height:30px;border-radius:2px;cursor:pointer}.ant-pro-core-field-label:hover{background-color:#0000001a}.ant-pro-core-field-label-active{padding:0 12px;background-color:#0000000a}.ant-pro-core-field-label-active.ant-pro-core-field-label-allow-clear:hover:not(.ant-pro-core-field-label-disabled) .ant-pro-core-field-label-arrow{display:none}.ant-pro-core-field-label-active.ant-pro-core-field-label-allow-clear:hover:not(.ant-pro-core-field-label-disabled) .ant-pro-core-field-label-close{display:inline-block}.ant-pro-core-field-label-icon{height:12px;padding:1px;color:#00000073;font-size:12px;vertical-align:middle}.ant-pro-core-field-label-icon.ant-pro-core-field-label-close{display:none;height:14px;padding:3px;color:#fff;font-size:8px;background-color:#00000040;border-radius:50%}.ant-pro-core-field-label-icon.ant-pro-core-field-label-close:hover{background-color:#00000073}.ant-pro-core-field-label-disabled{color:#00000040;cursor:not-allowed}.ant-pro-core-field-label-disabled .ant-pro-core-field-label-icon{color:#00000040}.ant-pro-core-field-label-small{height:24px;padding:0 4px;font-size:12px;line-height:24px}.ant-pro-core-field-label-small.ant-pro-core-field-label-active{padding:0 8px}.ant-pro-core-field-label-small .ant-pro-core-field-label-icon{padding:0}.ant-pro-core-field-label-small .ant-pro-core-field-label-close{margin-top:-2px;padding:3px;font-size:6px}.ant-pro-core-field-label-bordered{height:32px;padding:0 12px;border:1px solid #d9d9d9;border-radius:2px}.ant-pro-core-field-label-bordered.ant-pro-core-field-label-small{height:24px;padding:0 8px}.ant-pro-core-field-label-bordered.ant-pro-core-field-label-active{background-color:#fff}.ant-dropdown-menu-item.ant-dropdown-menu-item-danger{color:#ff4d4f}.ant-dropdown-menu-item.ant-dropdown-menu-item-danger:hover{color:#fff;background-color:#ff4d4f}.ant-dropdown{box-sizing:border-box;margin:0;padding:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum","tnum";position:absolute;top:-9999px;left:-9999px;z-index:1050;display:block}.ant-dropdown:before{position:absolute;top:-4px;right:0;bottom:-4px;left:-7px;z-index:-9999;opacity:.0001;content:" "}.ant-dropdown-wrap{position:relative}.ant-dropdown-wrap .ant-btn>.anticon-down{font-size:10px}.ant-dropdown-wrap .anticon-down:before{transition:transform .2s}.ant-dropdown-wrap-open .anticon-down:before{transform:rotate(180deg)}.ant-dropdown-hidden,.ant-dropdown-menu-hidden,.ant-dropdown-menu-submenu-hidden{display:none}.ant-dropdown-show-arrow.ant-dropdown-placement-topLeft,.ant-dropdown-show-arrow.ant-dropdown-placement-top,.ant-dropdown-show-arrow.ant-dropdown-placement-topRight{padding-bottom:15.3137085px}.ant-dropdown-show-arrow.ant-dropdown-placement-bottomLeft,.ant-dropdown-show-arrow.ant-dropdown-placement-bottom,.ant-dropdown-show-arrow.ant-dropdown-placement-bottomRight{padding-top:15.3137085px}.ant-dropdown-arrow{position:absolute;z-index:1;display:block;width:11.3137085px;height:11.3137085px;border-radius:0 0 2px;pointer-events:none}.ant-dropdown-arrow:before{position:absolute;top:-11.3137085px;left:-11.3137085px;width:33.9411255px;height:33.9411255px;background:#fff;background-repeat:no-repeat;background-position:-10px -10px;content:"";clip-path:inset(33% 33%);clip-path:path("M 9.849242404917499 24.091883092036785 A 5 5 0 0 1 13.384776310850237 22.627416997969522 L 20.627416997969522 22.627416997969522 A 2 2 0 0 0 22.627416997969522 20.627416997969522 L 22.627416997969522 13.384776310850237 A 5 5 0 0 1 24.091883092036785 9.849242404917499 L 23.091883092036785 9.849242404917499 L 9.849242404917499 23.091883092036785 Z")}.ant-dropdown-placement-top>.ant-dropdown-arrow,.ant-dropdown-placement-topLeft>.ant-dropdown-arrow,.ant-dropdown-placement-topRight>.ant-dropdown-arrow{bottom:10px;box-shadow:3px 3px 7px -3px #0000001a;transform:rotate(45deg)}.ant-dropdown-placement-top>.ant-dropdown-arrow{left:50%;transform:translate(-50%) rotate(45deg)}.ant-dropdown-placement-topLeft>.ant-dropdown-arrow{left:16px}.ant-dropdown-placement-topRight>.ant-dropdown-arrow{right:16px}.ant-dropdown-placement-bottom>.ant-dropdown-arrow,.ant-dropdown-placement-bottomLeft>.ant-dropdown-arrow,.ant-dropdown-placement-bottomRight>.ant-dropdown-arrow{top:9.41421356px;box-shadow:2px 2px 5px -2px #0000001a;transform:rotate(-135deg) translateY(-.5px)}.ant-dropdown-placement-bottom>.ant-dropdown-arrow{left:50%;transform:translate(-50%) rotate(-135deg) translateY(-.5px)}.ant-dropdown-placement-bottomLeft>.ant-dropdown-arrow{left:16px}.ant-dropdown-placement-bottomRight>.ant-dropdown-arrow{right:16px}.ant-dropdown-menu{position:relative;margin:0;padding:4px 0;text-align:left;list-style-type:none;background-color:#fff;background-clip:padding-box;border-radius:2px;outline:none;box-shadow:0 3px 6px -4px #0000001f,0 6px 16px #00000014,0 9px 28px 8px #0000000d}.ant-dropdown-menu-item-group-title{padding:5px 12px;color:#00000073;transition:all .3s}.ant-dropdown-menu-submenu-popup{position:absolute;z-index:1050;background:transparent;box-shadow:none;transform-origin:0 0}.ant-dropdown-menu-submenu-popup ul,.ant-dropdown-menu-submenu-popup li{list-style:none}.ant-dropdown-menu-submenu-popup ul{margin-right:.3em;margin-left:.3em}.ant-dropdown-menu-item{position:relative;display:flex;align-items:center}.ant-dropdown-menu-item-icon{min-width:12px;margin-right:8px;font-size:12px}.ant-dropdown-menu-title-content{flex:auto}.ant-dropdown-menu-title-content>a{color:inherit;transition:all .3s}.ant-dropdown-menu-title-content>a:hover{color:inherit}.ant-dropdown-menu-title-content>a:after{position:absolute;top:0;right:0;bottom:0;left:0;content:""}.ant-dropdown-menu-item,.ant-dropdown-menu-submenu-title{clear:both;margin:0;padding:5px 12px;color:#000000d9;font-weight:400;font-size:14px;line-height:22px;cursor:pointer;transition:all .3s}.ant-dropdown-menu-item-selected,.ant-dropdown-menu-submenu-title-selected{color:#1890ff;background-color:#e6f7ff}.ant-dropdown-menu-item:hover,.ant-dropdown-menu-submenu-title:hover,.ant-dropdown-menu-item.ant-dropdown-menu-item-active,.ant-dropdown-menu-item.ant-dropdown-menu-submenu-title-active,.ant-dropdown-menu-submenu-title.ant-dropdown-menu-item-active,.ant-dropdown-menu-submenu-title.ant-dropdown-menu-submenu-title-active{background-color:#f5f5f5}.ant-dropdown-menu-item.ant-dropdown-menu-item-disabled,.ant-dropdown-menu-item.ant-dropdown-menu-submenu-title-disabled,.ant-dropdown-menu-submenu-title.ant-dropdown-menu-item-disabled,.ant-dropdown-menu-submenu-title.ant-dropdown-menu-submenu-title-disabled{color:#00000040;cursor:not-allowed}.ant-dropdown-menu-item.ant-dropdown-menu-item-disabled:hover,.ant-dropdown-menu-item.ant-dropdown-menu-submenu-title-disabled:hover,.ant-dropdown-menu-submenu-title.ant-dropdown-menu-item-disabled:hover,.ant-dropdown-menu-submenu-title.ant-dropdown-menu-submenu-title-disabled:hover{color:#00000040;background-color:#fff;cursor:not-allowed}.ant-dropdown-menu-item.ant-dropdown-menu-item-disabled a,.ant-dropdown-menu-item.ant-dropdown-menu-submenu-title-disabled a,.ant-dropdown-menu-submenu-title.ant-dropdown-menu-item-disabled a,.ant-dropdown-menu-submenu-title.ant-dropdown-menu-submenu-title-disabled a{pointer-events:none}.ant-dropdown-menu-item-divider,.ant-dropdown-menu-submenu-title-divider{height:1px;margin:4px 0;overflow:hidden;line-height:0;background-color:#f0f0f0}.ant-dropdown-menu-item .ant-dropdown-menu-submenu-expand-icon,.ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-expand-icon{position:absolute;right:8px}.ant-dropdown-menu-item .ant-dropdown-menu-submenu-expand-icon .ant-dropdown-menu-submenu-arrow-icon,.ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-expand-icon .ant-dropdown-menu-submenu-arrow-icon{margin-right:0!important;color:#00000073;font-size:10px;font-style:normal}.ant-dropdown-menu-item-group-list{margin:0 8px;padding:0;list-style:none}.ant-dropdown-menu-submenu-title{padding-right:24px}.ant-dropdown-menu-submenu-vertical{position:relative}.ant-dropdown-menu-submenu-vertical>.ant-dropdown-menu{position:absolute;top:0;left:100%;min-width:100%;margin-left:4px;transform-origin:0 0}.ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title,.ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow-icon{color:#00000040;background-color:#fff;cursor:not-allowed}.ant-dropdown-menu-submenu-selected .ant-dropdown-menu-submenu-title{color:#1890ff}.ant-dropdown.ant-slide-down-enter.ant-slide-down-enter-active.ant-dropdown-placement-bottomLeft,.ant-dropdown.ant-slide-down-appear.ant-slide-down-appear-active.ant-dropdown-placement-bottomLeft,.ant-dropdown.ant-slide-down-enter.ant-slide-down-enter-active.ant-dropdown-placement-bottom,.ant-dropdown.ant-slide-down-appear.ant-slide-down-appear-active.ant-dropdown-placement-bottom,.ant-dropdown.ant-slide-down-enter.ant-slide-down-enter-active.ant-dropdown-placement-bottomRight,.ant-dropdown.ant-slide-down-appear.ant-slide-down-appear-active.ant-dropdown-placement-bottomRight{animation-name:antSlideUpIn}.ant-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-dropdown-placement-topLeft,.ant-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-dropdown-placement-topLeft,.ant-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-dropdown-placement-top,.ant-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-dropdown-placement-top,.ant-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-dropdown-placement-topRight,.ant-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-dropdown-placement-topRight{animation-name:antSlideDownIn}.ant-dropdown.ant-slide-down-leave.ant-slide-down-leave-active.ant-dropdown-placement-bottomLeft,.ant-dropdown.ant-slide-down-leave.ant-slide-down-leave-active.ant-dropdown-placement-bottom,.ant-dropdown.ant-slide-down-leave.ant-slide-down-leave-active.ant-dropdown-placement-bottomRight{animation-name:antSlideUpOut}.ant-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-dropdown-placement-topLeft,.ant-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-dropdown-placement-top,.ant-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-dropdown-placement-topRight{animation-name:antSlideDownOut}.ant-dropdown-trigger>.anticon.anticon-down,.ant-dropdown-link>.anticon.anticon-down,.ant-dropdown-button>.anticon.anticon-down{font-size:10px;vertical-align:baseline}.ant-dropdown-button{white-space:nowrap}.ant-dropdown-button.ant-btn-group>.ant-btn-loading,.ant-dropdown-button.ant-btn-group>.ant-btn-loading+.ant-btn{cursor:default;pointer-events:none}.ant-dropdown-button.ant-btn-group>.ant-btn-loading+.ant-btn:before{display:block}.ant-dropdown-button.ant-btn-group>.ant-btn:last-child:not(:first-child):not(.ant-btn-icon-only){padding-right:8px;padding-left:8px}.ant-dropdown-menu-dark,.ant-dropdown-menu-dark .ant-dropdown-menu{background:#001529}.ant-dropdown-menu-dark .ant-dropdown-menu-item,.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title,.ant-dropdown-menu-dark .ant-dropdown-menu-item>a,.ant-dropdown-menu-dark .ant-dropdown-menu-item>.anticon+span>a{color:#ffffffa6}.ant-dropdown-menu-dark .ant-dropdown-menu-item .ant-dropdown-menu-submenu-arrow:after,.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow:after,.ant-dropdown-menu-dark .ant-dropdown-menu-item>a .ant-dropdown-menu-submenu-arrow:after,.ant-dropdown-menu-dark .ant-dropdown-menu-item>.anticon+span>a .ant-dropdown-menu-submenu-arrow:after{color:#ffffffa6}.ant-dropdown-menu-dark .ant-dropdown-menu-item:hover,.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title:hover,.ant-dropdown-menu-dark .ant-dropdown-menu-item>a:hover,.ant-dropdown-menu-dark .ant-dropdown-menu-item>.anticon+span>a:hover{color:#fff;background:transparent}.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected,.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected:hover,.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected>a{color:#fff;background:#1890ff}.ant-dropdown-rtl{direction:rtl}.ant-dropdown-rtl.ant-dropdown:before{right:-7px;left:0}.ant-dropdown-menu.ant-dropdown-menu-rtl,.ant-dropdown-rtl .ant-dropdown-menu-item-group-title,.ant-dropdown-menu-submenu-rtl .ant-dropdown-menu-item-group-title{direction:rtl;text-align:right}.ant-dropdown-menu-submenu-popup.ant-dropdown-menu-submenu-rtl{transform-origin:100% 0}.ant-dropdown-rtl .ant-dropdown-menu-submenu-popup ul,.ant-dropdown-rtl .ant-dropdown-menu-submenu-popup li,.ant-dropdown-rtl .ant-dropdown-menu-item,.ant-dropdown-rtl .ant-dropdown-menu-submenu-title{text-align:right}.ant-dropdown-rtl .ant-dropdown-menu-item>.anticon:first-child,.ant-dropdown-rtl .ant-dropdown-menu-submenu-title>.anticon:first-child,.ant-dropdown-rtl .ant-dropdown-menu-item>span>.anticon:first-child,.ant-dropdown-rtl .ant-dropdown-menu-submenu-title>span>.anticon:first-child{margin-right:0;margin-left:8px}.ant-dropdown-rtl .ant-dropdown-menu-item .ant-dropdown-menu-submenu-expand-icon,.ant-dropdown-rtl .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-expand-icon{right:auto;left:8px}.ant-dropdown-rtl .ant-dropdown-menu-item .ant-dropdown-menu-submenu-expand-icon .ant-dropdown-menu-submenu-arrow-icon,.ant-dropdown-rtl .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-expand-icon .ant-dropdown-menu-submenu-arrow-icon{margin-left:0!important;transform:scaleX(-1)}.ant-dropdown-rtl .ant-dropdown-menu-submenu-title{padding-right:12px;padding-left:24px}.ant-dropdown-rtl .ant-dropdown-menu-submenu-vertical>.ant-dropdown-menu{right:100%;left:0;margin-right:4px;margin-left:0}.ant-menu-item-danger.ant-menu-item,.ant-menu-item-danger.ant-menu-item:hover,.ant-menu-item-danger.ant-menu-item-active{color:#ff4d4f}.ant-menu-item-danger.ant-menu-item:active{background:#fff1f0}.ant-menu-item-danger.ant-menu-item-selected{color:#ff4d4f}.ant-menu-item-danger.ant-menu-item-selected>a,.ant-menu-item-danger.ant-menu-item-selected>a:hover{color:#ff4d4f}.ant-menu:not(.ant-menu-horizontal) .ant-menu-item-danger.ant-menu-item-selected{background-color:#fff1f0}.ant-menu-inline .ant-menu-item-danger.ant-menu-item:after{border-right-color:#ff4d4f}.ant-menu-dark .ant-menu-item-danger.ant-menu-item,.ant-menu-dark .ant-menu-item-danger.ant-menu-item:hover,.ant-menu-dark .ant-menu-item-danger.ant-menu-item>a{color:#ff4d4f}.ant-menu-dark.ant-menu-dark:not(.ant-menu-horizontal) .ant-menu-item-danger.ant-menu-item-selected{color:#fff;background-color:#ff4d4f}.ant-menu{box-sizing:border-box;margin:0;font-variant:tabular-nums;font-feature-settings:"tnum","tnum";padding:0;color:#000000d9;font-size:14px;line-height:0;text-align:left;list-style:none;background:#fff;outline:none;box-shadow:0 3px 6px -4px #0000001f,0 6px 16px #00000014,0 9px 28px 8px #0000000d;transition:background .3s,width .3s cubic-bezier(.2,0,0,1) 0s}.ant-menu:before{display:table;content:""}.ant-menu:after{display:table;clear:both;content:""}.ant-menu.ant-menu-root:focus-visible{box-shadow:0 0 0 2px #bae7ff}.ant-menu ul,.ant-menu ol{margin:0;padding:0;list-style:none}.ant-menu-overflow{display:flex}.ant-menu-overflow-item{flex:none}.ant-menu-hidden,.ant-menu-submenu-hidden{display:none}.ant-menu-item-group-title{height:1.5715;padding:8px 16px;color:#00000073;font-size:14px;line-height:1.5715;transition:all .3s}.ant-menu-horizontal .ant-menu-submenu{transition:border-color .3s cubic-bezier(.645,.045,.355,1),background .3s cubic-bezier(.645,.045,.355,1)}.ant-menu-submenu,.ant-menu-submenu-inline{transition:border-color .3s cubic-bezier(.645,.045,.355,1),background .3s cubic-bezier(.645,.045,.355,1),padding .15s cubic-bezier(.645,.045,.355,1)}.ant-menu-submenu-selected{color:#1890ff}.ant-menu-item:active,.ant-menu-submenu-title:active{background:#e6f7ff}.ant-menu-submenu .ant-menu-sub{cursor:initial;transition:background .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1)}.ant-menu-title-content{transition:color .3s}.ant-menu-item a{color:#000000d9}.ant-menu-item a:hover{color:#1890ff}.ant-menu-item a:before{position:absolute;top:0;right:0;bottom:0;left:0;background-color:transparent;content:""}.ant-menu-item>.ant-badge a{color:#000000d9}.ant-menu-item>.ant-badge a:hover{color:#1890ff}.ant-menu-item-divider{overflow:hidden;line-height:0;border-color:#f0f0f0;border-style:solid;border-width:1px 0 0}.ant-menu-item-divider-dashed{border-style:dashed}.ant-menu-horizontal .ant-menu-item,.ant-menu-horizontal .ant-menu-submenu{margin-top:-1px}.ant-menu-horizontal>.ant-menu-item:hover,.ant-menu-horizontal>.ant-menu-item-active,.ant-menu-horizontal>.ant-menu-submenu .ant-menu-submenu-title:hover{background-color:transparent}.ant-menu-item-selected,.ant-menu-item-selected a,.ant-menu-item-selected a:hover{color:#1890ff}.ant-menu:not(.ant-menu-horizontal) .ant-menu-item-selected{background-color:#e6f7ff}.ant-menu-inline,.ant-menu-vertical,.ant-menu-vertical-left{border-right:1px solid #f0f0f0}.ant-menu-vertical-right{border-left:1px solid #f0f0f0}.ant-menu-vertical.ant-menu-sub,.ant-menu-vertical-left.ant-menu-sub,.ant-menu-vertical-right.ant-menu-sub{min-width:160px;max-height:calc(100vh - 100px);padding:0;overflow:hidden;border-right:0}.ant-menu-vertical.ant-menu-sub:not([class*=-active]),.ant-menu-vertical-left.ant-menu-sub:not([class*=-active]),.ant-menu-vertical-right.ant-menu-sub:not([class*=-active]){overflow-x:hidden;overflow-y:auto}.ant-menu-vertical.ant-menu-sub .ant-menu-item,.ant-menu-vertical-left.ant-menu-sub .ant-menu-item,.ant-menu-vertical-right.ant-menu-sub .ant-menu-item{left:0;margin-left:0;border-right:0}.ant-menu-vertical.ant-menu-sub .ant-menu-item:after,.ant-menu-vertical-left.ant-menu-sub .ant-menu-item:after,.ant-menu-vertical-right.ant-menu-sub .ant-menu-item:after{border-right:0}.ant-menu-vertical.ant-menu-sub>.ant-menu-item,.ant-menu-vertical-left.ant-menu-sub>.ant-menu-item,.ant-menu-vertical-right.ant-menu-sub>.ant-menu-item,.ant-menu-vertical.ant-menu-sub>.ant-menu-submenu,.ant-menu-vertical-left.ant-menu-sub>.ant-menu-submenu,.ant-menu-vertical-right.ant-menu-sub>.ant-menu-submenu{transform-origin:0 0}.ant-menu-horizontal.ant-menu-sub{min-width:114px}.ant-menu-horizontal .ant-menu-item,.ant-menu-horizontal .ant-menu-submenu-title{transition:border-color .3s,background .3s}.ant-menu-item,.ant-menu-submenu-title{position:relative;display:block;margin:0;padding:0 20px;white-space:nowrap;cursor:pointer;transition:border-color .3s,background .3s,padding .3s cubic-bezier(.645,.045,.355,1)}.ant-menu-item .ant-menu-item-icon,.ant-menu-submenu-title .ant-menu-item-icon,.ant-menu-item .anticon,.ant-menu-submenu-title .anticon{min-width:14px;font-size:14px;transition:font-size .15s cubic-bezier(.215,.61,.355,1),margin .3s cubic-bezier(.645,.045,.355,1),color .3s}.ant-menu-item .ant-menu-item-icon+span,.ant-menu-submenu-title .ant-menu-item-icon+span,.ant-menu-item .anticon+span,.ant-menu-submenu-title .anticon+span{margin-left:10px;opacity:1;transition:opacity .3s cubic-bezier(.645,.045,.355,1),margin .3s,color .3s}.ant-menu-item .ant-menu-item-icon.svg,.ant-menu-submenu-title .ant-menu-item-icon.svg{vertical-align:-.125em}.ant-menu-item.ant-menu-item-only-child>.anticon,.ant-menu-submenu-title.ant-menu-item-only-child>.anticon,.ant-menu-item.ant-menu-item-only-child>.ant-menu-item-icon,.ant-menu-submenu-title.ant-menu-item-only-child>.ant-menu-item-icon{margin-right:0}.ant-menu-item:not(.ant-menu-item-disabled):focus-visible,.ant-menu-submenu-title:not(.ant-menu-item-disabled):focus-visible{box-shadow:0 0 0 2px #bae7ff}.ant-menu>.ant-menu-item-divider{margin:1px 0;padding:0}.ant-menu-submenu-popup{position:absolute;z-index:1050;background:transparent;border-radius:2px;box-shadow:none;transform-origin:0 0}.ant-menu-submenu-popup:before{position:absolute;top:-7px;right:0;bottom:0;left:0;z-index:-1;width:100%;height:100%;opacity:.0001;content:" "}.ant-menu-submenu-placement-rightTop:before{top:0;left:-7px}.ant-menu-submenu>.ant-menu{background-color:#fff;border-radius:2px}.ant-menu-submenu>.ant-menu-submenu-title:after{transition:transform .3s cubic-bezier(.645,.045,.355,1)}.ant-menu-submenu-popup>.ant-menu{background-color:#fff}.ant-menu-submenu-expand-icon,.ant-menu-submenu-arrow{position:absolute;top:50%;right:16px;width:10px;color:#000000d9;transform:translateY(-50%);transition:transform .3s cubic-bezier(.645,.045,.355,1)}.ant-menu-submenu-arrow:before,.ant-menu-submenu-arrow:after{position:absolute;width:6px;height:1.5px;background-color:currentcolor;border-radius:2px;transition:background .3s cubic-bezier(.645,.045,.355,1),transform .3s cubic-bezier(.645,.045,.355,1),top .3s cubic-bezier(.645,.045,.355,1),color .3s cubic-bezier(.645,.045,.355,1);content:""}.ant-menu-submenu-arrow:before{transform:rotate(45deg) translateY(-2.5px)}.ant-menu-submenu-arrow:after{transform:rotate(-45deg) translateY(2.5px)}.ant-menu-submenu:hover>.ant-menu-submenu-title>.ant-menu-submenu-expand-icon,.ant-menu-submenu:hover>.ant-menu-submenu-title>.ant-menu-submenu-arrow{color:#1890ff}.ant-menu-inline-collapsed .ant-menu-submenu-arrow:before,.ant-menu-submenu-inline .ant-menu-submenu-arrow:before{transform:rotate(-45deg) translate(2.5px)}.ant-menu-inline-collapsed .ant-menu-submenu-arrow:after,.ant-menu-submenu-inline .ant-menu-submenu-arrow:after{transform:rotate(45deg) translate(-2.5px)}.ant-menu-submenu-horizontal .ant-menu-submenu-arrow{display:none}.ant-menu-submenu-open.ant-menu-submenu-inline>.ant-menu-submenu-title>.ant-menu-submenu-arrow{transform:translateY(-2px)}.ant-menu-submenu-open.ant-menu-submenu-inline>.ant-menu-submenu-title>.ant-menu-submenu-arrow:after{transform:rotate(-45deg) translate(-2.5px)}.ant-menu-submenu-open.ant-menu-submenu-inline>.ant-menu-submenu-title>.ant-menu-submenu-arrow:before{transform:rotate(45deg) translate(2.5px)}.ant-menu-vertical .ant-menu-submenu-selected,.ant-menu-vertical-left .ant-menu-submenu-selected,.ant-menu-vertical-right .ant-menu-submenu-selected{color:#1890ff}.ant-menu-horizontal{line-height:46px;border:0;border-bottom:1px solid #f0f0f0;box-shadow:none}.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu{margin-top:-1px;margin-bottom:0;padding:0 20px}.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item:hover,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu:hover,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item-active,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu-active,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item-open,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu-open,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item-selected,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu-selected{color:#1890ff}.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item:hover:after,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu:hover:after,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item-active:after,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu-active:after,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item-open:after,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu-open:after,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item-selected:after,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu-selected:after{border-bottom:2px solid #1890ff}.ant-menu-horizontal>.ant-menu-item,.ant-menu-horizontal>.ant-menu-submenu{position:relative;top:1px;display:inline-block;vertical-align:bottom}.ant-menu-horizontal>.ant-menu-item:after,.ant-menu-horizontal>.ant-menu-submenu:after{position:absolute;right:20px;bottom:0;left:20px;border-bottom:2px solid transparent;transition:border-color .3s cubic-bezier(.645,.045,.355,1);content:""}.ant-menu-horizontal>.ant-menu-submenu>.ant-menu-submenu-title{padding:0}.ant-menu-horizontal>.ant-menu-item a{color:#000000d9}.ant-menu-horizontal>.ant-menu-item a:hover{color:#1890ff}.ant-menu-horizontal>.ant-menu-item a:before{bottom:-2px}.ant-menu-horizontal>.ant-menu-item-selected a{color:#1890ff}.ant-menu-horizontal:after{display:block;clear:both;height:0;content:" "}.ant-menu-vertical .ant-menu-item,.ant-menu-vertical-left .ant-menu-item,.ant-menu-vertical-right .ant-menu-item,.ant-menu-inline .ant-menu-item{position:relative}.ant-menu-vertical .ant-menu-item:after,.ant-menu-vertical-left .ant-menu-item:after,.ant-menu-vertical-right .ant-menu-item:after,.ant-menu-inline .ant-menu-item:after{position:absolute;top:0;right:0;bottom:0;border-right:3px solid #1890ff;transform:scaleY(.0001);opacity:0;transition:transform .15s cubic-bezier(.215,.61,.355,1),opacity .15s cubic-bezier(.215,.61,.355,1);content:""}.ant-menu-vertical .ant-menu-item,.ant-menu-vertical-left .ant-menu-item,.ant-menu-vertical-right .ant-menu-item,.ant-menu-inline .ant-menu-item,.ant-menu-vertical .ant-menu-submenu-title,.ant-menu-vertical-left .ant-menu-submenu-title,.ant-menu-vertical-right .ant-menu-submenu-title,.ant-menu-inline .ant-menu-submenu-title{height:40px;margin-top:4px;margin-bottom:4px;padding:0 16px;overflow:hidden;line-height:40px;text-overflow:ellipsis}.ant-menu-vertical .ant-menu-submenu,.ant-menu-vertical-left .ant-menu-submenu,.ant-menu-vertical-right .ant-menu-submenu,.ant-menu-inline .ant-menu-submenu{padding-bottom:.02px}.ant-menu-vertical .ant-menu-item:not(:last-child),.ant-menu-vertical-left .ant-menu-item:not(:last-child),.ant-menu-vertical-right .ant-menu-item:not(:last-child),.ant-menu-inline .ant-menu-item:not(:last-child){margin-bottom:8px}.ant-menu-vertical>.ant-menu-item,.ant-menu-vertical-left>.ant-menu-item,.ant-menu-vertical-right>.ant-menu-item,.ant-menu-inline>.ant-menu-item,.ant-menu-vertical>.ant-menu-submenu>.ant-menu-submenu-title,.ant-menu-vertical-left>.ant-menu-submenu>.ant-menu-submenu-title,.ant-menu-vertical-right>.ant-menu-submenu>.ant-menu-submenu-title,.ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title{height:40px;line-height:40px}.ant-menu-vertical .ant-menu-item-group-list .ant-menu-submenu-title,.ant-menu-vertical .ant-menu-submenu-title{padding-right:34px}.ant-menu-inline{width:100%}.ant-menu-inline .ant-menu-selected:after,.ant-menu-inline .ant-menu-item-selected:after{transform:scaleY(1);opacity:1;transition:transform .15s cubic-bezier(.645,.045,.355,1),opacity .15s cubic-bezier(.645,.045,.355,1)}.ant-menu-inline .ant-menu-item,.ant-menu-inline .ant-menu-submenu-title{width:calc(100% + 1px)}.ant-menu-inline .ant-menu-item-group-list .ant-menu-submenu-title,.ant-menu-inline .ant-menu-submenu-title{padding-right:34px}.ant-menu-inline.ant-menu-root .ant-menu-item,.ant-menu-inline.ant-menu-root .ant-menu-submenu-title{display:flex;align-items:center;transition:border-color .3s,background .3s,padding .1s cubic-bezier(.215,.61,.355,1)}.ant-menu-inline.ant-menu-root .ant-menu-item>.ant-menu-title-content,.ant-menu-inline.ant-menu-root .ant-menu-submenu-title>.ant-menu-title-content{flex:auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.ant-menu-inline.ant-menu-root .ant-menu-item>*,.ant-menu-inline.ant-menu-root .ant-menu-submenu-title>*{flex:none}.ant-menu.ant-menu-inline-collapsed{width:80px}.ant-menu.ant-menu-inline-collapsed>.ant-menu-item,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title,.ant-menu.ant-menu-inline-collapsed>.ant-menu-submenu>.ant-menu-submenu-title{left:0;padding:0 calc(50% - 8px);text-overflow:clip}.ant-menu.ant-menu-inline-collapsed>.ant-menu-item .ant-menu-submenu-arrow,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item .ant-menu-submenu-arrow,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-submenu-arrow,.ant-menu.ant-menu-inline-collapsed>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-submenu-arrow{opacity:0}.ant-menu.ant-menu-inline-collapsed>.ant-menu-item .ant-menu-item-icon,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item .ant-menu-item-icon,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-item-icon,.ant-menu.ant-menu-inline-collapsed>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-item-icon,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item .anticon,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item .anticon,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title .anticon,.ant-menu.ant-menu-inline-collapsed>.ant-menu-submenu>.ant-menu-submenu-title .anticon{margin:0;font-size:16px;line-height:40px}.ant-menu.ant-menu-inline-collapsed>.ant-menu-item .ant-menu-item-icon+span,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item .ant-menu-item-icon+span,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-item-icon+span,.ant-menu.ant-menu-inline-collapsed>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-item-icon+span,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item .anticon+span,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item .anticon+span,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title .anticon+span,.ant-menu.ant-menu-inline-collapsed>.ant-menu-submenu>.ant-menu-submenu-title .anticon+span{display:inline-block;opacity:0}.ant-menu.ant-menu-inline-collapsed .ant-menu-item-icon,.ant-menu.ant-menu-inline-collapsed .anticon{display:inline-block}.ant-menu.ant-menu-inline-collapsed-tooltip{pointer-events:none}.ant-menu.ant-menu-inline-collapsed-tooltip .ant-menu-item-icon,.ant-menu.ant-menu-inline-collapsed-tooltip .anticon{display:none}.ant-menu.ant-menu-inline-collapsed-tooltip a{color:#ffffffd9}.ant-menu.ant-menu-inline-collapsed .ant-menu-item-group-title{padding-right:4px;padding-left:4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ant-menu-item-group-list{margin:0;padding:0}.ant-menu-item-group-list .ant-menu-item,.ant-menu-item-group-list .ant-menu-submenu-title{padding:0 16px 0 28px}.ant-menu-root.ant-menu-vertical,.ant-menu-root.ant-menu-vertical-left,.ant-menu-root.ant-menu-vertical-right,.ant-menu-root.ant-menu-inline{box-shadow:none}.ant-menu-root.ant-menu-inline-collapsed .ant-menu-item>.ant-menu-inline-collapsed-noicon,.ant-menu-root.ant-menu-inline-collapsed .ant-menu-submenu .ant-menu-submenu-title>.ant-menu-inline-collapsed-noicon{font-size:16px;text-align:center}.ant-menu-sub.ant-menu-inline{padding:0;background:#fafafa;border:0;border-radius:0;box-shadow:none}.ant-menu-sub.ant-menu-inline>.ant-menu-item,.ant-menu-sub.ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title{height:40px;line-height:40px;list-style-position:inside;list-style-type:disc}.ant-menu-sub.ant-menu-inline .ant-menu-item-group-title{padding-left:32px}.ant-menu-item-disabled,.ant-menu-submenu-disabled{color:#00000040!important;background:none;cursor:not-allowed}.ant-menu-item-disabled:after,.ant-menu-submenu-disabled:after{border-color:transparent!important}.ant-menu-item-disabled a,.ant-menu-submenu-disabled a{color:#00000040!important;pointer-events:none}.ant-menu-item-disabled>.ant-menu-submenu-title,.ant-menu-submenu-disabled>.ant-menu-submenu-title{color:#00000040!important;cursor:not-allowed}.ant-menu-item-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow:before,.ant-menu-submenu-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow:before,.ant-menu-item-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow:after,.ant-menu-submenu-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow:after{background:rgba(0,0,0,.25)!important}.ant-layout-header .ant-menu{line-height:inherit}.ant-menu-inline-collapsed-tooltip a,.ant-menu-inline-collapsed-tooltip a:hover{color:#fff}.ant-menu-light .ant-menu-item:hover,.ant-menu-light .ant-menu-item-active,.ant-menu-light .ant-menu:not(.ant-menu-inline) .ant-menu-submenu-open,.ant-menu-light .ant-menu-submenu-active,.ant-menu-light .ant-menu-submenu-title:hover{color:#1890ff}.ant-menu.ant-menu-root:focus-visible{box-shadow:0 0 0 2px #096dd9}.ant-menu-dark .ant-menu-item:focus-visible,.ant-menu-dark .ant-menu-submenu-title:focus-visible{box-shadow:0 0 0 2px #096dd9}.ant-menu.ant-menu-dark,.ant-menu-dark .ant-menu-sub,.ant-menu.ant-menu-dark .ant-menu-sub{color:#ffffffa6;background:#001529}.ant-menu.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow,.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow,.ant-menu.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow{opacity:.45;transition:all .3s}.ant-menu.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow:after,.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow:after,.ant-menu.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow:after,.ant-menu.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow:before,.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow:before,.ant-menu.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow:before{background:#fff}.ant-menu-dark.ant-menu-submenu-popup{background:transparent}.ant-menu-dark .ant-menu-inline.ant-menu-sub{background:#000c17}.ant-menu-dark.ant-menu-horizontal{border-bottom:0}.ant-menu-dark.ant-menu-horizontal>.ant-menu-item,.ant-menu-dark.ant-menu-horizontal>.ant-menu-submenu{top:0;margin-top:0;padding:0 20px;border-color:#001529;border-bottom:0}.ant-menu-dark.ant-menu-horizontal>.ant-menu-item:hover{background-color:#1890ff}.ant-menu-dark.ant-menu-horizontal>.ant-menu-item>a:before{bottom:0}.ant-menu-dark .ant-menu-item,.ant-menu-dark .ant-menu-item-group-title,.ant-menu-dark .ant-menu-item>a,.ant-menu-dark .ant-menu-item>span>a{color:#ffffffa6}.ant-menu-dark.ant-menu-inline,.ant-menu-dark.ant-menu-vertical,.ant-menu-dark.ant-menu-vertical-left,.ant-menu-dark.ant-menu-vertical-right{border-right:0}.ant-menu-dark.ant-menu-inline .ant-menu-item,.ant-menu-dark.ant-menu-vertical .ant-menu-item,.ant-menu-dark.ant-menu-vertical-left .ant-menu-item,.ant-menu-dark.ant-menu-vertical-right .ant-menu-item{left:0;margin-left:0;border-right:0}.ant-menu-dark.ant-menu-inline .ant-menu-item:after,.ant-menu-dark.ant-menu-vertical .ant-menu-item:after,.ant-menu-dark.ant-menu-vertical-left .ant-menu-item:after,.ant-menu-dark.ant-menu-vertical-right .ant-menu-item:after{border-right:0}.ant-menu-dark.ant-menu-inline .ant-menu-item,.ant-menu-dark.ant-menu-inline .ant-menu-submenu-title{width:100%}.ant-menu-dark .ant-menu-item:hover,.ant-menu-dark .ant-menu-item-active,.ant-menu-dark .ant-menu-submenu-active,.ant-menu-dark .ant-menu-submenu-open,.ant-menu-dark .ant-menu-submenu-selected,.ant-menu-dark .ant-menu-submenu-title:hover{color:#fff;background-color:transparent}.ant-menu-dark .ant-menu-item:hover>a,.ant-menu-dark .ant-menu-item-active>a,.ant-menu-dark .ant-menu-submenu-active>a,.ant-menu-dark .ant-menu-submenu-open>a,.ant-menu-dark .ant-menu-submenu-selected>a,.ant-menu-dark .ant-menu-submenu-title:hover>a,.ant-menu-dark .ant-menu-item:hover>span>a,.ant-menu-dark .ant-menu-item-active>span>a,.ant-menu-dark .ant-menu-submenu-active>span>a,.ant-menu-dark .ant-menu-submenu-open>span>a,.ant-menu-dark .ant-menu-submenu-selected>span>a,.ant-menu-dark .ant-menu-submenu-title:hover>span>a{color:#fff}.ant-menu-dark .ant-menu-item:hover>.ant-menu-submenu-title>.ant-menu-submenu-arrow,.ant-menu-dark .ant-menu-item-active>.ant-menu-submenu-title>.ant-menu-submenu-arrow,.ant-menu-dark .ant-menu-submenu-active>.ant-menu-submenu-title>.ant-menu-submenu-arrow,.ant-menu-dark .ant-menu-submenu-open>.ant-menu-submenu-title>.ant-menu-submenu-arrow,.ant-menu-dark .ant-menu-submenu-selected>.ant-menu-submenu-title>.ant-menu-submenu-arrow,.ant-menu-dark .ant-menu-submenu-title:hover>.ant-menu-submenu-title>.ant-menu-submenu-arrow{opacity:1}.ant-menu-dark .ant-menu-item:hover>.ant-menu-submenu-title>.ant-menu-submenu-arrow:after,.ant-menu-dark .ant-menu-item-active>.ant-menu-submenu-title>.ant-menu-submenu-arrow:after,.ant-menu-dark .ant-menu-submenu-active>.ant-menu-submenu-title>.ant-menu-submenu-arrow:after,.ant-menu-dark .ant-menu-submenu-open>.ant-menu-submenu-title>.ant-menu-submenu-arrow:after,.ant-menu-dark .ant-menu-submenu-selected>.ant-menu-submenu-title>.ant-menu-submenu-arrow:after,.ant-menu-dark .ant-menu-submenu-title:hover>.ant-menu-submenu-title>.ant-menu-submenu-arrow:after,.ant-menu-dark .ant-menu-item:hover>.ant-menu-submenu-title>.ant-menu-submenu-arrow:before,.ant-menu-dark .ant-menu-item-active>.ant-menu-submenu-title>.ant-menu-submenu-arrow:before,.ant-menu-dark .ant-menu-submenu-active>.ant-menu-submenu-title>.ant-menu-submenu-arrow:before,.ant-menu-dark .ant-menu-submenu-open>.ant-menu-submenu-title>.ant-menu-submenu-arrow:before,.ant-menu-dark .ant-menu-submenu-selected>.ant-menu-submenu-title>.ant-menu-submenu-arrow:before,.ant-menu-dark .ant-menu-submenu-title:hover>.ant-menu-submenu-title>.ant-menu-submenu-arrow:before{background:#fff}.ant-menu-dark .ant-menu-item:hover{background-color:transparent}.ant-menu-dark.ant-menu-dark:not(.ant-menu-horizontal) .ant-menu-item-selected{background-color:#1890ff}.ant-menu-dark .ant-menu-item-selected{color:#fff;border-right:0}.ant-menu-dark .ant-menu-item-selected:after{border-right:0}.ant-menu-dark .ant-menu-item-selected>a,.ant-menu-dark .ant-menu-item-selected>span>a,.ant-menu-dark .ant-menu-item-selected>a:hover,.ant-menu-dark .ant-menu-item-selected>span>a:hover{color:#fff}.ant-menu-dark .ant-menu-item-selected .ant-menu-item-icon,.ant-menu-dark .ant-menu-item-selected .anticon{color:#fff}.ant-menu-dark .ant-menu-item-selected .ant-menu-item-icon+span,.ant-menu-dark .ant-menu-item-selected .anticon+span{color:#fff}.ant-menu.ant-menu-dark .ant-menu-item-selected,.ant-menu-submenu-popup.ant-menu-dark .ant-menu-item-selected{background-color:#1890ff}.ant-menu-dark .ant-menu-item-disabled,.ant-menu-dark .ant-menu-submenu-disabled,.ant-menu-dark .ant-menu-item-disabled>a,.ant-menu-dark .ant-menu-submenu-disabled>a,.ant-menu-dark .ant-menu-item-disabled>span>a,.ant-menu-dark .ant-menu-submenu-disabled>span>a{color:#ffffff59!important;opacity:.8}.ant-menu-dark .ant-menu-item-disabled>.ant-menu-submenu-title,.ant-menu-dark .ant-menu-submenu-disabled>.ant-menu-submenu-title{color:#ffffff59!important}.ant-menu-dark .ant-menu-item-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow:before,.ant-menu-dark .ant-menu-submenu-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow:before,.ant-menu-dark .ant-menu-item-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow:after,.ant-menu-dark .ant-menu-submenu-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow:after{background:rgba(255,255,255,.35)!important}.ant-menu.ant-menu-rtl{direction:rtl;text-align:right}.ant-menu-rtl .ant-menu-item-group-title{text-align:right}.ant-menu-rtl.ant-menu-inline,.ant-menu-rtl.ant-menu-vertical{border-right:none;border-left:1px solid #f0f0f0}.ant-menu-rtl.ant-menu-dark.ant-menu-inline,.ant-menu-rtl.ant-menu-dark.ant-menu-vertical{border-left:none}.ant-menu-rtl.ant-menu-vertical.ant-menu-sub>.ant-menu-item,.ant-menu-rtl.ant-menu-vertical-left.ant-menu-sub>.ant-menu-item,.ant-menu-rtl.ant-menu-vertical-right.ant-menu-sub>.ant-menu-item,.ant-menu-rtl.ant-menu-vertical.ant-menu-sub>.ant-menu-submenu,.ant-menu-rtl.ant-menu-vertical-left.ant-menu-sub>.ant-menu-submenu,.ant-menu-rtl.ant-menu-vertical-right.ant-menu-sub>.ant-menu-submenu{transform-origin:top right}.ant-menu-rtl .ant-menu-item .ant-menu-item-icon,.ant-menu-rtl .ant-menu-submenu-title .ant-menu-item-icon,.ant-menu-rtl .ant-menu-item .anticon,.ant-menu-rtl .ant-menu-submenu-title .anticon{margin-right:auto;margin-left:10px}.ant-menu-rtl .ant-menu-item.ant-menu-item-only-child>.ant-menu-item-icon,.ant-menu-rtl .ant-menu-submenu-title.ant-menu-item-only-child>.ant-menu-item-icon,.ant-menu-rtl .ant-menu-item.ant-menu-item-only-child>.anticon,.ant-menu-rtl .ant-menu-submenu-title.ant-menu-item-only-child>.anticon{margin-left:0}.ant-menu-submenu-rtl.ant-menu-submenu-popup{transform-origin:100% 0}.ant-menu-rtl .ant-menu-submenu-vertical>.ant-menu-submenu-title .ant-menu-submenu-arrow,.ant-menu-rtl .ant-menu-submenu-vertical-left>.ant-menu-submenu-title .ant-menu-submenu-arrow,.ant-menu-rtl .ant-menu-submenu-vertical-right>.ant-menu-submenu-title .ant-menu-submenu-arrow,.ant-menu-rtl .ant-menu-submenu-inline>.ant-menu-submenu-title .ant-menu-submenu-arrow{right:auto;left:16px}.ant-menu-rtl .ant-menu-submenu-vertical>.ant-menu-submenu-title .ant-menu-submenu-arrow:before,.ant-menu-rtl .ant-menu-submenu-vertical-left>.ant-menu-submenu-title .ant-menu-submenu-arrow:before,.ant-menu-rtl .ant-menu-submenu-vertical-right>.ant-menu-submenu-title .ant-menu-submenu-arrow:before{transform:rotate(-45deg) translateY(-2px)}.ant-menu-rtl .ant-menu-submenu-vertical>.ant-menu-submenu-title .ant-menu-submenu-arrow:after,.ant-menu-rtl .ant-menu-submenu-vertical-left>.ant-menu-submenu-title .ant-menu-submenu-arrow:after,.ant-menu-rtl .ant-menu-submenu-vertical-right>.ant-menu-submenu-title .ant-menu-submenu-arrow:after{transform:rotate(45deg) translateY(2px)}.ant-menu-rtl.ant-menu-vertical .ant-menu-item:after,.ant-menu-rtl.ant-menu-vertical-left .ant-menu-item:after,.ant-menu-rtl.ant-menu-vertical-right .ant-menu-item:after,.ant-menu-rtl.ant-menu-inline .ant-menu-item:after{right:auto;left:0}.ant-menu-rtl.ant-menu-vertical .ant-menu-item,.ant-menu-rtl.ant-menu-vertical-left .ant-menu-item,.ant-menu-rtl.ant-menu-vertical-right .ant-menu-item,.ant-menu-rtl.ant-menu-inline .ant-menu-item,.ant-menu-rtl.ant-menu-vertical .ant-menu-submenu-title,.ant-menu-rtl.ant-menu-vertical-left .ant-menu-submenu-title,.ant-menu-rtl.ant-menu-vertical-right .ant-menu-submenu-title,.ant-menu-rtl.ant-menu-inline .ant-menu-submenu-title{text-align:right}.ant-menu-rtl.ant-menu-inline .ant-menu-submenu-title{padding-right:0;padding-left:34px}.ant-menu-rtl.ant-menu-vertical .ant-menu-submenu-title{padding-right:16px;padding-left:34px}.ant-menu-rtl.ant-menu-inline-collapsed.ant-menu-vertical .ant-menu-submenu-title{padding:0 calc(50% - 8px)}.ant-menu-rtl .ant-menu-item-group-list .ant-menu-item,.ant-menu-rtl .ant-menu-item-group-list .ant-menu-submenu-title{padding:0 28px 0 16px}.ant-menu-sub.ant-menu-inline{border:0}.ant-menu-rtl.ant-menu-sub.ant-menu-inline .ant-menu-item-group-title{padding-right:32px;padding-left:0}.ant-tooltip{box-sizing:border-box;margin:0;padding:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum","tnum";position:absolute;z-index:1070;display:block;width:-moz-max-content;width:max-content;width:intrinsic;max-width:250px;visibility:visible}.ant-tooltip-content{position:relative}.ant-tooltip-hidden{display:none}.ant-tooltip-placement-top,.ant-tooltip-placement-topLeft,.ant-tooltip-placement-topRight{padding-bottom:14.3137085px}.ant-tooltip-placement-right,.ant-tooltip-placement-rightTop,.ant-tooltip-placement-rightBottom{padding-left:14.3137085px}.ant-tooltip-placement-bottom,.ant-tooltip-placement-bottomLeft,.ant-tooltip-placement-bottomRight{padding-top:14.3137085px}.ant-tooltip-placement-left,.ant-tooltip-placement-leftTop,.ant-tooltip-placement-leftBottom{padding-right:14.3137085px}.ant-tooltip-inner{min-width:30px;min-height:32px;padding:6px 8px;color:#fff;text-align:left;text-decoration:none;word-wrap:break-word;background-color:#000000bf;border-radius:2px;box-shadow:0 3px 6px -4px #0000001f,0 6px 16px #00000014,0 9px 28px 8px #0000000d}.ant-tooltip-arrow{position:absolute;z-index:2;display:block;width:22px;height:22px;overflow:hidden;background:transparent;pointer-events:none}.ant-tooltip-arrow-content{--antd-arrow-background-color: linear-gradient(to right bottom, rgba(0, 0, 0, .65), rgba(0, 0, 0, .75));position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:11.3137085px;height:11.3137085px;margin:auto;content:"";pointer-events:auto;border-radius:0 0 2px;pointer-events:none}.ant-tooltip-arrow-content:before{position:absolute;top:-11.3137085px;left:-11.3137085px;width:33.9411255px;height:33.9411255px;background:var(--antd-arrow-background-color);background-repeat:no-repeat;background-position:-10px -10px;content:"";clip-path:inset(33% 33%);clip-path:path("M 9.849242404917499 24.091883092036785 A 5 5 0 0 1 13.384776310850237 22.627416997969522 L 20.627416997969522 22.627416997969522 A 2 2 0 0 0 22.627416997969522 20.627416997969522 L 22.627416997969522 13.384776310850237 A 5 5 0 0 1 24.091883092036785 9.849242404917499 L 23.091883092036785 9.849242404917499 L 9.849242404917499 23.091883092036785 Z")}.ant-tooltip-placement-top .ant-tooltip-arrow,.ant-tooltip-placement-topLeft .ant-tooltip-arrow,.ant-tooltip-placement-topRight .ant-tooltip-arrow{bottom:0;transform:translateY(100%)}.ant-tooltip-placement-top .ant-tooltip-arrow-content,.ant-tooltip-placement-topLeft .ant-tooltip-arrow-content,.ant-tooltip-placement-topRight .ant-tooltip-arrow-content{box-shadow:3px 3px 7px #00000012;transform:translateY(-11px) rotate(45deg)}.ant-tooltip-placement-top .ant-tooltip-arrow{left:50%;transform:translateY(100%) translate(-50%)}.ant-tooltip-placement-topLeft .ant-tooltip-arrow{left:13px}.ant-tooltip-placement-topRight .ant-tooltip-arrow{right:13px}.ant-tooltip-placement-right .ant-tooltip-arrow,.ant-tooltip-placement-rightTop .ant-tooltip-arrow,.ant-tooltip-placement-rightBottom .ant-tooltip-arrow{left:0;transform:translate(-100%)}.ant-tooltip-placement-right .ant-tooltip-arrow-content,.ant-tooltip-placement-rightTop .ant-tooltip-arrow-content,.ant-tooltip-placement-rightBottom .ant-tooltip-arrow-content{box-shadow:-3px 3px 7px #00000012;transform:translate(11px) rotate(135deg)}.ant-tooltip-placement-right .ant-tooltip-arrow{top:50%;transform:translate(-100%) translateY(-50%)}.ant-tooltip-placement-rightTop .ant-tooltip-arrow{top:5px}.ant-tooltip-placement-rightBottom .ant-tooltip-arrow{bottom:5px}.ant-tooltip-placement-left .ant-tooltip-arrow,.ant-tooltip-placement-leftTop .ant-tooltip-arrow,.ant-tooltip-placement-leftBottom .ant-tooltip-arrow{right:0;transform:translate(100%)}.ant-tooltip-placement-left .ant-tooltip-arrow-content,.ant-tooltip-placement-leftTop .ant-tooltip-arrow-content,.ant-tooltip-placement-leftBottom .ant-tooltip-arrow-content{box-shadow:3px -3px 7px #00000012;transform:translate(-11px) rotate(315deg)}.ant-tooltip-placement-left .ant-tooltip-arrow{top:50%;transform:translate(100%) translateY(-50%)}.ant-tooltip-placement-leftTop .ant-tooltip-arrow{top:5px}.ant-tooltip-placement-leftBottom .ant-tooltip-arrow{bottom:5px}.ant-tooltip-placement-bottom .ant-tooltip-arrow,.ant-tooltip-placement-bottomLeft .ant-tooltip-arrow,.ant-tooltip-placement-bottomRight .ant-tooltip-arrow{top:0;transform:translateY(-100%)}.ant-tooltip-placement-bottom .ant-tooltip-arrow-content,.ant-tooltip-placement-bottomLeft .ant-tooltip-arrow-content,.ant-tooltip-placement-bottomRight .ant-tooltip-arrow-content{box-shadow:-3px -3px 7px #00000012;transform:translateY(11px) rotate(225deg)}.ant-tooltip-placement-bottom .ant-tooltip-arrow{left:50%;transform:translateY(-100%) translate(-50%)}.ant-tooltip-placement-bottomLeft .ant-tooltip-arrow{left:13px}.ant-tooltip-placement-bottomRight .ant-tooltip-arrow{right:13px}.ant-tooltip-pink .ant-tooltip-inner{background-color:#eb2f96}.ant-tooltip-pink .ant-tooltip-arrow-content:before{background:#eb2f96}.ant-tooltip-magenta .ant-tooltip-inner{background-color:#eb2f96}.ant-tooltip-magenta .ant-tooltip-arrow-content:before{background:#eb2f96}.ant-tooltip-red .ant-tooltip-inner{background-color:#f5222d}.ant-tooltip-red .ant-tooltip-arrow-content:before{background:#f5222d}.ant-tooltip-volcano .ant-tooltip-inner{background-color:#fa541c}.ant-tooltip-volcano .ant-tooltip-arrow-content:before{background:#fa541c}.ant-tooltip-orange .ant-tooltip-inner{background-color:#fa8c16}.ant-tooltip-orange .ant-tooltip-arrow-content:before{background:#fa8c16}.ant-tooltip-yellow .ant-tooltip-inner{background-color:#fadb14}.ant-tooltip-yellow .ant-tooltip-arrow-content:before{background:#fadb14}.ant-tooltip-gold .ant-tooltip-inner{background-color:#faad14}.ant-tooltip-gold .ant-tooltip-arrow-content:before{background:#faad14}.ant-tooltip-cyan .ant-tooltip-inner{background-color:#13c2c2}.ant-tooltip-cyan .ant-tooltip-arrow-content:before{background:#13c2c2}.ant-tooltip-lime .ant-tooltip-inner{background-color:#a0d911}.ant-tooltip-lime .ant-tooltip-arrow-content:before{background:#a0d911}.ant-tooltip-green .ant-tooltip-inner{background-color:#52c41a}.ant-tooltip-green .ant-tooltip-arrow-content:before{background:#52c41a}.ant-tooltip-blue .ant-tooltip-inner{background-color:#1890ff}.ant-tooltip-blue .ant-tooltip-arrow-content:before{background:#1890ff}.ant-tooltip-geekblue .ant-tooltip-inner{background-color:#2f54eb}.ant-tooltip-geekblue .ant-tooltip-arrow-content:before{background:#2f54eb}.ant-tooltip-purple .ant-tooltip-inner{background-color:#722ed1}.ant-tooltip-purple .ant-tooltip-arrow-content:before{background:#722ed1}.ant-tooltip-rtl{direction:rtl}.ant-tooltip-rtl .ant-tooltip-inner{text-align:right}.ant-space{display:inline-flex}.ant-space-vertical{flex-direction:column}.ant-space-align-center{align-items:center}.ant-space-align-start{align-items:flex-start}.ant-space-align-end{align-items:flex-end}.ant-space-align-baseline{align-items:baseline}.ant-space-item:empty{display:none}.ant-space-compact{display:inline-flex}.ant-space-compact-block{display:flex;width:100%}.ant-space-compact-vertical{flex-direction:column}.ant-space-rtl,.ant-space-compact-rtl{direction:rtl}.ant-pro-core-field-dropdown-label{cursor:pointer}.ant-pro-core-field-dropdown-overlay{min-width:200px;margin-top:4px;background-color:#fff;-webkit-box-shadow:0 1px 2px -2px rgba(0,0,0,.16),0 3px 6px 0 rgba(0,0,0,.12),0 5px 12px 4px rgba(0,0,0,.09);box-shadow:0 1px 2px -2px #00000029,0 3px 6px #0000001f,0 5px 12px 4px #00000017}.ant-pro-core-field-dropdown-content{padding:16px}.ant-form-item .ant-input-number+.ant-form-text{margin-left:8px}.ant-form-inline{display:flex;flex-wrap:wrap}.ant-form-inline .ant-form-item{flex:none;flex-wrap:nowrap;margin-right:16px;margin-bottom:0}.ant-form-inline .ant-form-item-with-help{margin-bottom:24px}.ant-form-inline .ant-form-item>.ant-form-item-label,.ant-form-inline .ant-form-item>.ant-form-item-control{display:inline-block;vertical-align:top}.ant-form-inline .ant-form-item>.ant-form-item-label{flex:none}.ant-form-inline .ant-form-item .ant-form-text,.ant-form-inline .ant-form-item .ant-form-item-has-feedback{display:inline-block}.ant-form-horizontal .ant-form-item-label{flex-grow:0}.ant-form-horizontal .ant-form-item-control{flex:1 1 0;min-width:0}.ant-form-horizontal .ant-form-item-label[class$="-24"]+.ant-form-item-control,.ant-form-horizontal .ant-form-item-label[class*="-24 "]+.ant-form-item-control{min-width:unset}.ant-form-vertical .ant-form-item-row{flex-direction:column}.ant-form-vertical .ant-form-item-label>label{height:auto}.ant-form-vertical .ant-form-item .ant-form-item-control{width:100%}.ant-form-vertical .ant-form-item-label,.ant-col-24.ant-form-item-label,.ant-col-xl-24.ant-form-item-label{padding:0 0 8px;line-height:1.5715;white-space:initial;text-align:left}.ant-form-vertical .ant-form-item-label>label,.ant-col-24.ant-form-item-label>label,.ant-col-xl-24.ant-form-item-label>label{margin:0}.ant-form-vertical .ant-form-item-label>label:after,.ant-col-24.ant-form-item-label>label:after,.ant-col-xl-24.ant-form-item-label>label:after{display:none}.ant-form-rtl.ant-form-vertical .ant-form-item-label,.ant-form-rtl.ant-col-24.ant-form-item-label,.ant-form-rtl.ant-col-xl-24.ant-form-item-label{text-align:right}@media (max-width: 575px){.ant-form-item .ant-form-item-label{padding:0 0 8px;line-height:1.5715;white-space:initial;text-align:left}.ant-form-item .ant-form-item-label>label{margin:0}.ant-form-item .ant-form-item-label>label:after{display:none}.ant-form-rtl.ant-form-item .ant-form-item-label{text-align:right}.ant-form .ant-form-item{flex-wrap:wrap}.ant-form .ant-form-item .ant-form-item-label,.ant-form .ant-form-item .ant-form-item-control{flex:0 0 100%;max-width:100%}.ant-col-xs-24.ant-form-item-label{padding:0 0 8px;line-height:1.5715;white-space:initial;text-align:left}.ant-col-xs-24.ant-form-item-label>label{margin:0}.ant-col-xs-24.ant-form-item-label>label:after{display:none}.ant-form-rtl.ant-col-xs-24.ant-form-item-label{text-align:right}}@media (max-width: 767px){.ant-col-sm-24.ant-form-item-label{padding:0 0 8px;line-height:1.5715;white-space:initial;text-align:left}.ant-col-sm-24.ant-form-item-label>label{margin:0}.ant-col-sm-24.ant-form-item-label>label:after{display:none}.ant-form-rtl.ant-col-sm-24.ant-form-item-label{text-align:right}}@media (max-width: 991px){.ant-col-md-24.ant-form-item-label{padding:0 0 8px;line-height:1.5715;white-space:initial;text-align:left}.ant-col-md-24.ant-form-item-label>label{margin:0}.ant-col-md-24.ant-form-item-label>label:after{display:none}.ant-form-rtl.ant-col-md-24.ant-form-item-label{text-align:right}}@media (max-width: 1199px){.ant-col-lg-24.ant-form-item-label{padding:0 0 8px;line-height:1.5715;white-space:initial;text-align:left}.ant-col-lg-24.ant-form-item-label>label{margin:0}.ant-col-lg-24.ant-form-item-label>label:after{display:none}.ant-form-rtl.ant-col-lg-24.ant-form-item-label{text-align:right}}@media (max-width: 1599px){.ant-col-xl-24.ant-form-item-label{padding:0 0 8px;line-height:1.5715;white-space:initial;text-align:left}.ant-col-xl-24.ant-form-item-label>label{margin:0}.ant-col-xl-24.ant-form-item-label>label:after{display:none}.ant-form-rtl.ant-col-xl-24.ant-form-item-label{text-align:right}}.ant-form-item-explain-error{color:#ff4d4f}.ant-form-item-explain-warning{color:#faad14}.ant-form-item-has-feedback .ant-switch{margin:2px 0 4px}.ant-form-item-has-warning .ant-form-item-split{color:#faad14}.ant-form-item-has-error .ant-form-item-split{color:#ff4d4f}.ant-form{box-sizing:border-box;margin:0;padding:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum","tnum"}.ant-form legend{display:block;width:100%;margin-bottom:20px;padding:0;color:#00000073;font-size:16px;line-height:inherit;border:0;border-bottom:1px solid #d9d9d9}.ant-form label{font-size:14px}.ant-form input[type=search]{box-sizing:border-box}.ant-form input[type=radio],.ant-form input[type=checkbox]{line-height:normal}.ant-form input[type=file]{display:block}.ant-form input[type=range]{display:block;width:100%}.ant-form select[multiple],.ant-form select[size]{height:auto}.ant-form input[type=file]:focus,.ant-form input[type=radio]:focus,.ant-form input[type=checkbox]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.ant-form output{display:block;padding-top:15px;color:#000000d9;font-size:14px;line-height:1.5715}.ant-form .ant-form-text{display:inline-block;padding-right:8px}.ant-form-small .ant-form-item-label>label{height:24px}.ant-form-small .ant-form-item-control-input{min-height:24px}.ant-form-large .ant-form-item-label>label{height:40px}.ant-form-large .ant-form-item-control-input{min-height:40px}.ant-form-item{box-sizing:border-box;margin:0 0 24px;padding:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum","tnum";vertical-align:top}.ant-form-item-with-help{transition:none}.ant-form-item-hidden,.ant-form-item-hidden.ant-row{display:none}.ant-form-item-label{display:inline-block;flex-grow:0;overflow:hidden;white-space:nowrap;text-align:right;vertical-align:middle}.ant-form-item-label-left{text-align:left}.ant-form-item-label-wrap{overflow:unset;line-height:1.3215em;white-space:unset}.ant-form-item-label>label{position:relative;display:inline-flex;align-items:center;max-width:100%;height:32px;color:#000000d9;font-size:14px}.ant-form-item-label>label>.anticon{font-size:14px;vertical-align:top}.ant-form-item-label>label.ant-form-item-required:not(.ant-form-item-required-mark-optional):before{display:inline-block;margin-right:4px;color:#ff4d4f;font-size:14px;font-family:SimSun,sans-serif;line-height:1;content:"*"}.ant-form-hide-required-mark .ant-form-item-label>label.ant-form-item-required:not(.ant-form-item-required-mark-optional):before{display:none}.ant-form-item-label>label .ant-form-item-optional{display:inline-block;margin-left:4px;color:#00000073}.ant-form-hide-required-mark .ant-form-item-label>label .ant-form-item-optional{display:none}.ant-form-item-label>label .ant-form-item-tooltip{color:#00000073;cursor:help;-ms-writing-mode:lr-tb;writing-mode:horizontal-tb;margin-inline-start:4px}.ant-form-item-label>label:after{content:":";position:relative;top:-.5px;margin:0 8px 0 2px}.ant-form-item-label>label.ant-form-item-no-colon:after{content:" "}.ant-form-item-control{display:flex;flex-direction:column;flex-grow:1}.ant-form-item-control:first-child:not([class^=ant-col-]):not([class*=" ant-col-"]){width:100%}.ant-form-item-control-input{position:relative;display:flex;align-items:center;min-height:32px}.ant-form-item-control-input-content{flex:auto;max-width:100%}.ant-form-item-explain,.ant-form-item-extra{clear:both;color:#00000073;font-size:14px;line-height:1.5715;transition:color .3s cubic-bezier(.215,.61,.355,1)}.ant-form-item-explain-connected{width:100%}.ant-form-item-extra{min-height:24px}.ant-form-item-with-help .ant-form-item-explain{height:auto;opacity:1}.ant-form-item-feedback-icon{font-size:14px;text-align:center;visibility:visible;animation:zoomIn .3s cubic-bezier(.12,.4,.29,1.46);pointer-events:none}.ant-form-item-feedback-icon-success{color:#52c41a}.ant-form-item-feedback-icon-error{color:#ff4d4f}.ant-form-item-feedback-icon-warning{color:#faad14}.ant-form-item-feedback-icon-validating{color:#1890ff}.ant-show-help{transition:opacity .3s cubic-bezier(.645,.045,.355,1)}.ant-show-help-appear,.ant-show-help-enter{opacity:0}.ant-show-help-appear-active,.ant-show-help-enter-active,.ant-show-help-leave{opacity:1}.ant-show-help-leave-active{opacity:0}.ant-show-help-item{overflow:hidden;transition:height .3s cubic-bezier(.645,.045,.355,1),opacity .3s cubic-bezier(.645,.045,.355,1),transform .3s cubic-bezier(.645,.045,.355,1)!important}.ant-show-help-item-appear,.ant-show-help-item-enter{transform:translateY(-5px);opacity:0}.ant-show-help-item-appear-active,.ant-show-help-item-enter-active{transform:translateY(0);opacity:1}.ant-show-help-item-leave{transition:height .2s cubic-bezier(.645,.045,.355,1),opacity .2s cubic-bezier(.645,.045,.355,1),transform .2s cubic-bezier(.645,.045,.355,1)!important}.ant-show-help-item-leave-active{transform:translateY(-5px)}@keyframes diffZoomIn1{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes diffZoomIn2{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes diffZoomIn3{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.ant-form-rtl{direction:rtl}.ant-form-rtl .ant-form-item-label{text-align:left}.ant-form-rtl .ant-form-item-label>label.ant-form-item-required:before{margin-right:0;margin-left:4px}.ant-form-rtl .ant-form-item-label>label:after{margin:0 2px 0 8px}.ant-form-rtl .ant-form-item-label>label .ant-form-item-optional{margin-right:4px;margin-left:0}.ant-col-rtl .ant-form-item-control:first-child{width:100%}.ant-form-rtl .ant-form-item-has-feedback .ant-input{padding-right:11px;padding-left:24px}.ant-form-rtl .ant-form-item-has-feedback .ant-input-affix-wrapper .ant-input-suffix{padding-right:11px;padding-left:18px}.ant-form-rtl .ant-form-item-has-feedback .ant-input-affix-wrapper .ant-input,.ant-form-rtl .ant-form-item-has-feedback .ant-input-number-affix-wrapper .ant-input-number{padding:0}.ant-form-rtl .ant-form-item-has-feedback .ant-input-search:not(.ant-input-search-enter-button) .ant-input-suffix{right:auto;left:28px}.ant-form-rtl .ant-form-item-has-feedback .ant-input-number{padding-left:18px}.ant-form-rtl .ant-form-item-has-feedback>.ant-select .ant-select-arrow,.ant-form-rtl .ant-form-item-has-feedback>.ant-select .ant-select-clear,.ant-form-rtl .ant-form-item-has-feedback :not(.ant-input-group-addon)>.ant-select .ant-select-arrow,.ant-form-rtl .ant-form-item-has-feedback :not(.ant-input-group-addon)>.ant-select .ant-select-clear,.ant-form-rtl .ant-form-item-has-feedback :not(.ant-input-number-group-addon)>.ant-select .ant-select-arrow,.ant-form-rtl .ant-form-item-has-feedback :not(.ant-input-number-group-addon)>.ant-select .ant-select-clear{right:auto;left:32px}.ant-form-rtl .ant-form-item-has-feedback>.ant-select .ant-select-selection-selected-value,.ant-form-rtl .ant-form-item-has-feedback :not(.ant-input-group-addon)>.ant-select .ant-select-selection-selected-value,.ant-form-rtl .ant-form-item-has-feedback :not(.ant-input-number-group-addon)>.ant-select .ant-select-selection-selected-value{padding-right:0;padding-left:42px}.ant-form-rtl .ant-form-item-has-feedback .ant-cascader-picker-arrow{margin-right:0;margin-left:19px}.ant-form-rtl .ant-form-item-has-feedback .ant-cascader-picker-clear{right:auto;left:32px}.ant-form-rtl .ant-form-item-has-feedback .ant-picker,.ant-form-rtl .ant-form-item-has-feedback .ant-picker-large{padding-right:11px;padding-left:29.2px}.ant-form-rtl .ant-form-item-has-feedback .ant-picker-small{padding-right:7px;padding-left:25.2px}.ant-form-rtl .ant-form-item-has-feedback.ant-form-item-has-success .ant-form-item-children-icon,.ant-form-rtl .ant-form-item-has-feedback.ant-form-item-has-warning .ant-form-item-children-icon,.ant-form-rtl .ant-form-item-has-feedback.ant-form-item-has-error .ant-form-item-children-icon,.ant-form-rtl .ant-form-item-has-feedback.ant-form-item-is-validating .ant-form-item-children-icon{right:auto;left:0}.ant-form-rtl.ant-form-inline .ant-form-item{margin-right:0;margin-left:16px}.ant-row{display:flex;flex-flow:row wrap;min-width:0}.ant-row:before,.ant-row:after{display:flex}.ant-row-no-wrap{flex-wrap:nowrap}.ant-row-start{justify-content:flex-start}.ant-row-center{justify-content:center}.ant-row-end{justify-content:flex-end}.ant-row-space-between{justify-content:space-between}.ant-row-space-around{justify-content:space-around}.ant-row-space-evenly{justify-content:space-evenly}.ant-row-top{align-items:flex-start}.ant-row-middle{align-items:center}.ant-row-bottom{align-items:flex-end}.ant-col{position:relative;max-width:100%;min-height:1px}.ant-col-24{display:block;flex:0 0 100%;max-width:100%}.ant-col-push-24{left:100%}.ant-col-pull-24{right:100%}.ant-col-offset-24{margin-left:100%}.ant-col-order-24{order:24}.ant-col-23{display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.ant-col-push-23{left:95.83333333%}.ant-col-pull-23{right:95.83333333%}.ant-col-offset-23{margin-left:95.83333333%}.ant-col-order-23{order:23}.ant-col-22{display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.ant-col-push-22{left:91.66666667%}.ant-col-pull-22{right:91.66666667%}.ant-col-offset-22{margin-left:91.66666667%}.ant-col-order-22{order:22}.ant-col-21{display:block;flex:0 0 87.5%;max-width:87.5%}.ant-col-push-21{left:87.5%}.ant-col-pull-21{right:87.5%}.ant-col-offset-21{margin-left:87.5%}.ant-col-order-21{order:21}.ant-col-20{display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.ant-col-push-20{left:83.33333333%}.ant-col-pull-20{right:83.33333333%}.ant-col-offset-20{margin-left:83.33333333%}.ant-col-order-20{order:20}.ant-col-19{display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.ant-col-push-19{left:79.16666667%}.ant-col-pull-19{right:79.16666667%}.ant-col-offset-19{margin-left:79.16666667%}.ant-col-order-19{order:19}.ant-col-18{display:block;flex:0 0 75%;max-width:75%}.ant-col-push-18{left:75%}.ant-col-pull-18{right:75%}.ant-col-offset-18{margin-left:75%}.ant-col-order-18{order:18}.ant-col-17{display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.ant-col-push-17{left:70.83333333%}.ant-col-pull-17{right:70.83333333%}.ant-col-offset-17{margin-left:70.83333333%}.ant-col-order-17{order:17}.ant-col-16{display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.ant-col-push-16{left:66.66666667%}.ant-col-pull-16{right:66.66666667%}.ant-col-offset-16{margin-left:66.66666667%}.ant-col-order-16{order:16}.ant-col-15{display:block;flex:0 0 62.5%;max-width:62.5%}.ant-col-push-15{left:62.5%}.ant-col-pull-15{right:62.5%}.ant-col-offset-15{margin-left:62.5%}.ant-col-order-15{order:15}.ant-col-14{display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.ant-col-push-14{left:58.33333333%}.ant-col-pull-14{right:58.33333333%}.ant-col-offset-14{margin-left:58.33333333%}.ant-col-order-14{order:14}.ant-col-13{display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.ant-col-push-13{left:54.16666667%}.ant-col-pull-13{right:54.16666667%}.ant-col-offset-13{margin-left:54.16666667%}.ant-col-order-13{order:13}.ant-col-12{display:block;flex:0 0 50%;max-width:50%}.ant-col-push-12{left:50%}.ant-col-pull-12{right:50%}.ant-col-offset-12{margin-left:50%}.ant-col-order-12{order:12}.ant-col-11{display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.ant-col-push-11{left:45.83333333%}.ant-col-pull-11{right:45.83333333%}.ant-col-offset-11{margin-left:45.83333333%}.ant-col-order-11{order:11}.ant-col-10{display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.ant-col-push-10{left:41.66666667%}.ant-col-pull-10{right:41.66666667%}.ant-col-offset-10{margin-left:41.66666667%}.ant-col-order-10{order:10}.ant-col-9{display:block;flex:0 0 37.5%;max-width:37.5%}.ant-col-push-9{left:37.5%}.ant-col-pull-9{right:37.5%}.ant-col-offset-9{margin-left:37.5%}.ant-col-order-9{order:9}.ant-col-8{display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.ant-col-push-8{left:33.33333333%}.ant-col-pull-8{right:33.33333333%}.ant-col-offset-8{margin-left:33.33333333%}.ant-col-order-8{order:8}.ant-col-7{display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.ant-col-push-7{left:29.16666667%}.ant-col-pull-7{right:29.16666667%}.ant-col-offset-7{margin-left:29.16666667%}.ant-col-order-7{order:7}.ant-col-6{display:block;flex:0 0 25%;max-width:25%}.ant-col-push-6{left:25%}.ant-col-pull-6{right:25%}.ant-col-offset-6{margin-left:25%}.ant-col-order-6{order:6}.ant-col-5{display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.ant-col-push-5{left:20.83333333%}.ant-col-pull-5{right:20.83333333%}.ant-col-offset-5{margin-left:20.83333333%}.ant-col-order-5{order:5}.ant-col-4{display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.ant-col-push-4{left:16.66666667%}.ant-col-pull-4{right:16.66666667%}.ant-col-offset-4{margin-left:16.66666667%}.ant-col-order-4{order:4}.ant-col-3{display:block;flex:0 0 12.5%;max-width:12.5%}.ant-col-push-3{left:12.5%}.ant-col-pull-3{right:12.5%}.ant-col-offset-3{margin-left:12.5%}.ant-col-order-3{order:3}.ant-col-2{display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.ant-col-push-2{left:8.33333333%}.ant-col-pull-2{right:8.33333333%}.ant-col-offset-2{margin-left:8.33333333%}.ant-col-order-2{order:2}.ant-col-1{display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.ant-col-push-1{left:4.16666667%}.ant-col-pull-1{right:4.16666667%}.ant-col-offset-1{margin-left:4.16666667%}.ant-col-order-1{order:1}.ant-col-0{display:none}.ant-col-offset-0{margin-left:0}.ant-col-order-0{order:0}.ant-col-offset-0.ant-col-rtl{margin-right:0}.ant-col-push-1.ant-col-rtl{right:4.16666667%;left:auto}.ant-col-pull-1.ant-col-rtl{right:auto;left:4.16666667%}.ant-col-offset-1.ant-col-rtl{margin-right:4.16666667%;margin-left:0}.ant-col-push-2.ant-col-rtl{right:8.33333333%;left:auto}.ant-col-pull-2.ant-col-rtl{right:auto;left:8.33333333%}.ant-col-offset-2.ant-col-rtl{margin-right:8.33333333%;margin-left:0}.ant-col-push-3.ant-col-rtl{right:12.5%;left:auto}.ant-col-pull-3.ant-col-rtl{right:auto;left:12.5%}.ant-col-offset-3.ant-col-rtl{margin-right:12.5%;margin-left:0}.ant-col-push-4.ant-col-rtl{right:16.66666667%;left:auto}.ant-col-pull-4.ant-col-rtl{right:auto;left:16.66666667%}.ant-col-offset-4.ant-col-rtl{margin-right:16.66666667%;margin-left:0}.ant-col-push-5.ant-col-rtl{right:20.83333333%;left:auto}.ant-col-pull-5.ant-col-rtl{right:auto;left:20.83333333%}.ant-col-offset-5.ant-col-rtl{margin-right:20.83333333%;margin-left:0}.ant-col-push-6.ant-col-rtl{right:25%;left:auto}.ant-col-pull-6.ant-col-rtl{right:auto;left:25%}.ant-col-offset-6.ant-col-rtl{margin-right:25%;margin-left:0}.ant-col-push-7.ant-col-rtl{right:29.16666667%;left:auto}.ant-col-pull-7.ant-col-rtl{right:auto;left:29.16666667%}.ant-col-offset-7.ant-col-rtl{margin-right:29.16666667%;margin-left:0}.ant-col-push-8.ant-col-rtl{right:33.33333333%;left:auto}.ant-col-pull-8.ant-col-rtl{right:auto;left:33.33333333%}.ant-col-offset-8.ant-col-rtl{margin-right:33.33333333%;margin-left:0}.ant-col-push-9.ant-col-rtl{right:37.5%;left:auto}.ant-col-pull-9.ant-col-rtl{right:auto;left:37.5%}.ant-col-offset-9.ant-col-rtl{margin-right:37.5%;margin-left:0}.ant-col-push-10.ant-col-rtl{right:41.66666667%;left:auto}.ant-col-pull-10.ant-col-rtl{right:auto;left:41.66666667%}.ant-col-offset-10.ant-col-rtl{margin-right:41.66666667%;margin-left:0}.ant-col-push-11.ant-col-rtl{right:45.83333333%;left:auto}.ant-col-pull-11.ant-col-rtl{right:auto;left:45.83333333%}.ant-col-offset-11.ant-col-rtl{margin-right:45.83333333%;margin-left:0}.ant-col-push-12.ant-col-rtl{right:50%;left:auto}.ant-col-pull-12.ant-col-rtl{right:auto;left:50%}.ant-col-offset-12.ant-col-rtl{margin-right:50%;margin-left:0}.ant-col-push-13.ant-col-rtl{right:54.16666667%;left:auto}.ant-col-pull-13.ant-col-rtl{right:auto;left:54.16666667%}.ant-col-offset-13.ant-col-rtl{margin-right:54.16666667%;margin-left:0}.ant-col-push-14.ant-col-rtl{right:58.33333333%;left:auto}.ant-col-pull-14.ant-col-rtl{right:auto;left:58.33333333%}.ant-col-offset-14.ant-col-rtl{margin-right:58.33333333%;margin-left:0}.ant-col-push-15.ant-col-rtl{right:62.5%;left:auto}.ant-col-pull-15.ant-col-rtl{right:auto;left:62.5%}.ant-col-offset-15.ant-col-rtl{margin-right:62.5%;margin-left:0}.ant-col-push-16.ant-col-rtl{right:66.66666667%;left:auto}.ant-col-pull-16.ant-col-rtl{right:auto;left:66.66666667%}.ant-col-offset-16.ant-col-rtl{margin-right:66.66666667%;margin-left:0}.ant-col-push-17.ant-col-rtl{right:70.83333333%;left:auto}.ant-col-pull-17.ant-col-rtl{right:auto;left:70.83333333%}.ant-col-offset-17.ant-col-rtl{margin-right:70.83333333%;margin-left:0}.ant-col-push-18.ant-col-rtl{right:75%;left:auto}.ant-col-pull-18.ant-col-rtl{right:auto;left:75%}.ant-col-offset-18.ant-col-rtl{margin-right:75%;margin-left:0}.ant-col-push-19.ant-col-rtl{right:79.16666667%;left:auto}.ant-col-pull-19.ant-col-rtl{right:auto;left:79.16666667%}.ant-col-offset-19.ant-col-rtl{margin-right:79.16666667%;margin-left:0}.ant-col-push-20.ant-col-rtl{right:83.33333333%;left:auto}.ant-col-pull-20.ant-col-rtl{right:auto;left:83.33333333%}.ant-col-offset-20.ant-col-rtl{margin-right:83.33333333%;margin-left:0}.ant-col-push-21.ant-col-rtl{right:87.5%;left:auto}.ant-col-pull-21.ant-col-rtl{right:auto;left:87.5%}.ant-col-offset-21.ant-col-rtl{margin-right:87.5%;margin-left:0}.ant-col-push-22.ant-col-rtl{right:91.66666667%;left:auto}.ant-col-pull-22.ant-col-rtl{right:auto;left:91.66666667%}.ant-col-offset-22.ant-col-rtl{margin-right:91.66666667%;margin-left:0}.ant-col-push-23.ant-col-rtl{right:95.83333333%;left:auto}.ant-col-pull-23.ant-col-rtl{right:auto;left:95.83333333%}.ant-col-offset-23.ant-col-rtl{margin-right:95.83333333%;margin-left:0}.ant-col-push-24.ant-col-rtl{right:100%;left:auto}.ant-col-pull-24.ant-col-rtl{right:auto;left:100%}.ant-col-offset-24.ant-col-rtl{margin-right:100%;margin-left:0}.ant-col-xs-24{display:block;flex:0 0 100%;max-width:100%}.ant-col-xs-push-24{left:100%}.ant-col-xs-pull-24{right:100%}.ant-col-xs-offset-24{margin-left:100%}.ant-col-xs-order-24{order:24}.ant-col-xs-23{display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.ant-col-xs-push-23{left:95.83333333%}.ant-col-xs-pull-23{right:95.83333333%}.ant-col-xs-offset-23{margin-left:95.83333333%}.ant-col-xs-order-23{order:23}.ant-col-xs-22{display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.ant-col-xs-push-22{left:91.66666667%}.ant-col-xs-pull-22{right:91.66666667%}.ant-col-xs-offset-22{margin-left:91.66666667%}.ant-col-xs-order-22{order:22}.ant-col-xs-21{display:block;flex:0 0 87.5%;max-width:87.5%}.ant-col-xs-push-21{left:87.5%}.ant-col-xs-pull-21{right:87.5%}.ant-col-xs-offset-21{margin-left:87.5%}.ant-col-xs-order-21{order:21}.ant-col-xs-20{display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.ant-col-xs-push-20{left:83.33333333%}.ant-col-xs-pull-20{right:83.33333333%}.ant-col-xs-offset-20{margin-left:83.33333333%}.ant-col-xs-order-20{order:20}.ant-col-xs-19{display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.ant-col-xs-push-19{left:79.16666667%}.ant-col-xs-pull-19{right:79.16666667%}.ant-col-xs-offset-19{margin-left:79.16666667%}.ant-col-xs-order-19{order:19}.ant-col-xs-18{display:block;flex:0 0 75%;max-width:75%}.ant-col-xs-push-18{left:75%}.ant-col-xs-pull-18{right:75%}.ant-col-xs-offset-18{margin-left:75%}.ant-col-xs-order-18{order:18}.ant-col-xs-17{display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.ant-col-xs-push-17{left:70.83333333%}.ant-col-xs-pull-17{right:70.83333333%}.ant-col-xs-offset-17{margin-left:70.83333333%}.ant-col-xs-order-17{order:17}.ant-col-xs-16{display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.ant-col-xs-push-16{left:66.66666667%}.ant-col-xs-pull-16{right:66.66666667%}.ant-col-xs-offset-16{margin-left:66.66666667%}.ant-col-xs-order-16{order:16}.ant-col-xs-15{display:block;flex:0 0 62.5%;max-width:62.5%}.ant-col-xs-push-15{left:62.5%}.ant-col-xs-pull-15{right:62.5%}.ant-col-xs-offset-15{margin-left:62.5%}.ant-col-xs-order-15{order:15}.ant-col-xs-14{display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.ant-col-xs-push-14{left:58.33333333%}.ant-col-xs-pull-14{right:58.33333333%}.ant-col-xs-offset-14{margin-left:58.33333333%}.ant-col-xs-order-14{order:14}.ant-col-xs-13{display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.ant-col-xs-push-13{left:54.16666667%}.ant-col-xs-pull-13{right:54.16666667%}.ant-col-xs-offset-13{margin-left:54.16666667%}.ant-col-xs-order-13{order:13}.ant-col-xs-12{display:block;flex:0 0 50%;max-width:50%}.ant-col-xs-push-12{left:50%}.ant-col-xs-pull-12{right:50%}.ant-col-xs-offset-12{margin-left:50%}.ant-col-xs-order-12{order:12}.ant-col-xs-11{display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.ant-col-xs-push-11{left:45.83333333%}.ant-col-xs-pull-11{right:45.83333333%}.ant-col-xs-offset-11{margin-left:45.83333333%}.ant-col-xs-order-11{order:11}.ant-col-xs-10{display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.ant-col-xs-push-10{left:41.66666667%}.ant-col-xs-pull-10{right:41.66666667%}.ant-col-xs-offset-10{margin-left:41.66666667%}.ant-col-xs-order-10{order:10}.ant-col-xs-9{display:block;flex:0 0 37.5%;max-width:37.5%}.ant-col-xs-push-9{left:37.5%}.ant-col-xs-pull-9{right:37.5%}.ant-col-xs-offset-9{margin-left:37.5%}.ant-col-xs-order-9{order:9}.ant-col-xs-8{display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.ant-col-xs-push-8{left:33.33333333%}.ant-col-xs-pull-8{right:33.33333333%}.ant-col-xs-offset-8{margin-left:33.33333333%}.ant-col-xs-order-8{order:8}.ant-col-xs-7{display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.ant-col-xs-push-7{left:29.16666667%}.ant-col-xs-pull-7{right:29.16666667%}.ant-col-xs-offset-7{margin-left:29.16666667%}.ant-col-xs-order-7{order:7}.ant-col-xs-6{display:block;flex:0 0 25%;max-width:25%}.ant-col-xs-push-6{left:25%}.ant-col-xs-pull-6{right:25%}.ant-col-xs-offset-6{margin-left:25%}.ant-col-xs-order-6{order:6}.ant-col-xs-5{display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.ant-col-xs-push-5{left:20.83333333%}.ant-col-xs-pull-5{right:20.83333333%}.ant-col-xs-offset-5{margin-left:20.83333333%}.ant-col-xs-order-5{order:5}.ant-col-xs-4{display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.ant-col-xs-push-4{left:16.66666667%}.ant-col-xs-pull-4{right:16.66666667%}.ant-col-xs-offset-4{margin-left:16.66666667%}.ant-col-xs-order-4{order:4}.ant-col-xs-3{display:block;flex:0 0 12.5%;max-width:12.5%}.ant-col-xs-push-3{left:12.5%}.ant-col-xs-pull-3{right:12.5%}.ant-col-xs-offset-3{margin-left:12.5%}.ant-col-xs-order-3{order:3}.ant-col-xs-2{display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.ant-col-xs-push-2{left:8.33333333%}.ant-col-xs-pull-2{right:8.33333333%}.ant-col-xs-offset-2{margin-left:8.33333333%}.ant-col-xs-order-2{order:2}.ant-col-xs-1{display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.ant-col-xs-push-1{left:4.16666667%}.ant-col-xs-pull-1{right:4.16666667%}.ant-col-xs-offset-1{margin-left:4.16666667%}.ant-col-xs-order-1{order:1}.ant-col-xs-0{display:none}.ant-col-push-0{left:auto}.ant-col-pull-0{right:auto}.ant-col-xs-push-0{left:auto}.ant-col-xs-pull-0{right:auto}.ant-col-xs-offset-0{margin-left:0}.ant-col-xs-order-0{order:0}.ant-col-push-0.ant-col-rtl{right:auto}.ant-col-pull-0.ant-col-rtl{left:auto}.ant-col-xs-push-0.ant-col-rtl{right:auto}.ant-col-xs-pull-0.ant-col-rtl{left:auto}.ant-col-xs-offset-0.ant-col-rtl{margin-right:0}.ant-col-xs-push-1.ant-col-rtl{right:4.16666667%;left:auto}.ant-col-xs-pull-1.ant-col-rtl{right:auto;left:4.16666667%}.ant-col-xs-offset-1.ant-col-rtl{margin-right:4.16666667%;margin-left:0}.ant-col-xs-push-2.ant-col-rtl{right:8.33333333%;left:auto}.ant-col-xs-pull-2.ant-col-rtl{right:auto;left:8.33333333%}.ant-col-xs-offset-2.ant-col-rtl{margin-right:8.33333333%;margin-left:0}.ant-col-xs-push-3.ant-col-rtl{right:12.5%;left:auto}.ant-col-xs-pull-3.ant-col-rtl{right:auto;left:12.5%}.ant-col-xs-offset-3.ant-col-rtl{margin-right:12.5%;margin-left:0}.ant-col-xs-push-4.ant-col-rtl{right:16.66666667%;left:auto}.ant-col-xs-pull-4.ant-col-rtl{right:auto;left:16.66666667%}.ant-col-xs-offset-4.ant-col-rtl{margin-right:16.66666667%;margin-left:0}.ant-col-xs-push-5.ant-col-rtl{right:20.83333333%;left:auto}.ant-col-xs-pull-5.ant-col-rtl{right:auto;left:20.83333333%}.ant-col-xs-offset-5.ant-col-rtl{margin-right:20.83333333%;margin-left:0}.ant-col-xs-push-6.ant-col-rtl{right:25%;left:auto}.ant-col-xs-pull-6.ant-col-rtl{right:auto;left:25%}.ant-col-xs-offset-6.ant-col-rtl{margin-right:25%;margin-left:0}.ant-col-xs-push-7.ant-col-rtl{right:29.16666667%;left:auto}.ant-col-xs-pull-7.ant-col-rtl{right:auto;left:29.16666667%}.ant-col-xs-offset-7.ant-col-rtl{margin-right:29.16666667%;margin-left:0}.ant-col-xs-push-8.ant-col-rtl{right:33.33333333%;left:auto}.ant-col-xs-pull-8.ant-col-rtl{right:auto;left:33.33333333%}.ant-col-xs-offset-8.ant-col-rtl{margin-right:33.33333333%;margin-left:0}.ant-col-xs-push-9.ant-col-rtl{right:37.5%;left:auto}.ant-col-xs-pull-9.ant-col-rtl{right:auto;left:37.5%}.ant-col-xs-offset-9.ant-col-rtl{margin-right:37.5%;margin-left:0}.ant-col-xs-push-10.ant-col-rtl{right:41.66666667%;left:auto}.ant-col-xs-pull-10.ant-col-rtl{right:auto;left:41.66666667%}.ant-col-xs-offset-10.ant-col-rtl{margin-right:41.66666667%;margin-left:0}.ant-col-xs-push-11.ant-col-rtl{right:45.83333333%;left:auto}.ant-col-xs-pull-11.ant-col-rtl{right:auto;left:45.83333333%}.ant-col-xs-offset-11.ant-col-rtl{margin-right:45.83333333%;margin-left:0}.ant-col-xs-push-12.ant-col-rtl{right:50%;left:auto}.ant-col-xs-pull-12.ant-col-rtl{right:auto;left:50%}.ant-col-xs-offset-12.ant-col-rtl{margin-right:50%;margin-left:0}.ant-col-xs-push-13.ant-col-rtl{right:54.16666667%;left:auto}.ant-col-xs-pull-13.ant-col-rtl{right:auto;left:54.16666667%}.ant-col-xs-offset-13.ant-col-rtl{margin-right:54.16666667%;margin-left:0}.ant-col-xs-push-14.ant-col-rtl{right:58.33333333%;left:auto}.ant-col-xs-pull-14.ant-col-rtl{right:auto;left:58.33333333%}.ant-col-xs-offset-14.ant-col-rtl{margin-right:58.33333333%;margin-left:0}.ant-col-xs-push-15.ant-col-rtl{right:62.5%;left:auto}.ant-col-xs-pull-15.ant-col-rtl{right:auto;left:62.5%}.ant-col-xs-offset-15.ant-col-rtl{margin-right:62.5%;margin-left:0}.ant-col-xs-push-16.ant-col-rtl{right:66.66666667%;left:auto}.ant-col-xs-pull-16.ant-col-rtl{right:auto;left:66.66666667%}.ant-col-xs-offset-16.ant-col-rtl{margin-right:66.66666667%;margin-left:0}.ant-col-xs-push-17.ant-col-rtl{right:70.83333333%;left:auto}.ant-col-xs-pull-17.ant-col-rtl{right:auto;left:70.83333333%}.ant-col-xs-offset-17.ant-col-rtl{margin-right:70.83333333%;margin-left:0}.ant-col-xs-push-18.ant-col-rtl{right:75%;left:auto}.ant-col-xs-pull-18.ant-col-rtl{right:auto;left:75%}.ant-col-xs-offset-18.ant-col-rtl{margin-right:75%;margin-left:0}.ant-col-xs-push-19.ant-col-rtl{right:79.16666667%;left:auto}.ant-col-xs-pull-19.ant-col-rtl{right:auto;left:79.16666667%}.ant-col-xs-offset-19.ant-col-rtl{margin-right:79.16666667%;margin-left:0}.ant-col-xs-push-20.ant-col-rtl{right:83.33333333%;left:auto}.ant-col-xs-pull-20.ant-col-rtl{right:auto;left:83.33333333%}.ant-col-xs-offset-20.ant-col-rtl{margin-right:83.33333333%;margin-left:0}.ant-col-xs-push-21.ant-col-rtl{right:87.5%;left:auto}.ant-col-xs-pull-21.ant-col-rtl{right:auto;left:87.5%}.ant-col-xs-offset-21.ant-col-rtl{margin-right:87.5%;margin-left:0}.ant-col-xs-push-22.ant-col-rtl{right:91.66666667%;left:auto}.ant-col-xs-pull-22.ant-col-rtl{right:auto;left:91.66666667%}.ant-col-xs-offset-22.ant-col-rtl{margin-right:91.66666667%;margin-left:0}.ant-col-xs-push-23.ant-col-rtl{right:95.83333333%;left:auto}.ant-col-xs-pull-23.ant-col-rtl{right:auto;left:95.83333333%}.ant-col-xs-offset-23.ant-col-rtl{margin-right:95.83333333%;margin-left:0}.ant-col-xs-push-24.ant-col-rtl{right:100%;left:auto}.ant-col-xs-pull-24.ant-col-rtl{right:auto;left:100%}.ant-col-xs-offset-24.ant-col-rtl{margin-right:100%;margin-left:0}@media (min-width: 576px){.ant-col-sm-24{display:block;flex:0 0 100%;max-width:100%}.ant-col-sm-push-24{left:100%}.ant-col-sm-pull-24{right:100%}.ant-col-sm-offset-24{margin-left:100%}.ant-col-sm-order-24{order:24}.ant-col-sm-23{display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.ant-col-sm-push-23{left:95.83333333%}.ant-col-sm-pull-23{right:95.83333333%}.ant-col-sm-offset-23{margin-left:95.83333333%}.ant-col-sm-order-23{order:23}.ant-col-sm-22{display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.ant-col-sm-push-22{left:91.66666667%}.ant-col-sm-pull-22{right:91.66666667%}.ant-col-sm-offset-22{margin-left:91.66666667%}.ant-col-sm-order-22{order:22}.ant-col-sm-21{display:block;flex:0 0 87.5%;max-width:87.5%}.ant-col-sm-push-21{left:87.5%}.ant-col-sm-pull-21{right:87.5%}.ant-col-sm-offset-21{margin-left:87.5%}.ant-col-sm-order-21{order:21}.ant-col-sm-20{display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.ant-col-sm-push-20{left:83.33333333%}.ant-col-sm-pull-20{right:83.33333333%}.ant-col-sm-offset-20{margin-left:83.33333333%}.ant-col-sm-order-20{order:20}.ant-col-sm-19{display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.ant-col-sm-push-19{left:79.16666667%}.ant-col-sm-pull-19{right:79.16666667%}.ant-col-sm-offset-19{margin-left:79.16666667%}.ant-col-sm-order-19{order:19}.ant-col-sm-18{display:block;flex:0 0 75%;max-width:75%}.ant-col-sm-push-18{left:75%}.ant-col-sm-pull-18{right:75%}.ant-col-sm-offset-18{margin-left:75%}.ant-col-sm-order-18{order:18}.ant-col-sm-17{display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.ant-col-sm-push-17{left:70.83333333%}.ant-col-sm-pull-17{right:70.83333333%}.ant-col-sm-offset-17{margin-left:70.83333333%}.ant-col-sm-order-17{order:17}.ant-col-sm-16{display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.ant-col-sm-push-16{left:66.66666667%}.ant-col-sm-pull-16{right:66.66666667%}.ant-col-sm-offset-16{margin-left:66.66666667%}.ant-col-sm-order-16{order:16}.ant-col-sm-15{display:block;flex:0 0 62.5%;max-width:62.5%}.ant-col-sm-push-15{left:62.5%}.ant-col-sm-pull-15{right:62.5%}.ant-col-sm-offset-15{margin-left:62.5%}.ant-col-sm-order-15{order:15}.ant-col-sm-14{display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.ant-col-sm-push-14{left:58.33333333%}.ant-col-sm-pull-14{right:58.33333333%}.ant-col-sm-offset-14{margin-left:58.33333333%}.ant-col-sm-order-14{order:14}.ant-col-sm-13{display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.ant-col-sm-push-13{left:54.16666667%}.ant-col-sm-pull-13{right:54.16666667%}.ant-col-sm-offset-13{margin-left:54.16666667%}.ant-col-sm-order-13{order:13}.ant-col-sm-12{display:block;flex:0 0 50%;max-width:50%}.ant-col-sm-push-12{left:50%}.ant-col-sm-pull-12{right:50%}.ant-col-sm-offset-12{margin-left:50%}.ant-col-sm-order-12{order:12}.ant-col-sm-11{display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.ant-col-sm-push-11{left:45.83333333%}.ant-col-sm-pull-11{right:45.83333333%}.ant-col-sm-offset-11{margin-left:45.83333333%}.ant-col-sm-order-11{order:11}.ant-col-sm-10{display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.ant-col-sm-push-10{left:41.66666667%}.ant-col-sm-pull-10{right:41.66666667%}.ant-col-sm-offset-10{margin-left:41.66666667%}.ant-col-sm-order-10{order:10}.ant-col-sm-9{display:block;flex:0 0 37.5%;max-width:37.5%}.ant-col-sm-push-9{left:37.5%}.ant-col-sm-pull-9{right:37.5%}.ant-col-sm-offset-9{margin-left:37.5%}.ant-col-sm-order-9{order:9}.ant-col-sm-8{display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.ant-col-sm-push-8{left:33.33333333%}.ant-col-sm-pull-8{right:33.33333333%}.ant-col-sm-offset-8{margin-left:33.33333333%}.ant-col-sm-order-8{order:8}.ant-col-sm-7{display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.ant-col-sm-push-7{left:29.16666667%}.ant-col-sm-pull-7{right:29.16666667%}.ant-col-sm-offset-7{margin-left:29.16666667%}.ant-col-sm-order-7{order:7}.ant-col-sm-6{display:block;flex:0 0 25%;max-width:25%}.ant-col-sm-push-6{left:25%}.ant-col-sm-pull-6{right:25%}.ant-col-sm-offset-6{margin-left:25%}.ant-col-sm-order-6{order:6}.ant-col-sm-5{display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.ant-col-sm-push-5{left:20.83333333%}.ant-col-sm-pull-5{right:20.83333333%}.ant-col-sm-offset-5{margin-left:20.83333333%}.ant-col-sm-order-5{order:5}.ant-col-sm-4{display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.ant-col-sm-push-4{left:16.66666667%}.ant-col-sm-pull-4{right:16.66666667%}.ant-col-sm-offset-4{margin-left:16.66666667%}.ant-col-sm-order-4{order:4}.ant-col-sm-3{display:block;flex:0 0 12.5%;max-width:12.5%}.ant-col-sm-push-3{left:12.5%}.ant-col-sm-pull-3{right:12.5%}.ant-col-sm-offset-3{margin-left:12.5%}.ant-col-sm-order-3{order:3}.ant-col-sm-2{display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.ant-col-sm-push-2{left:8.33333333%}.ant-col-sm-pull-2{right:8.33333333%}.ant-col-sm-offset-2{margin-left:8.33333333%}.ant-col-sm-order-2{order:2}.ant-col-sm-1{display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.ant-col-sm-push-1{left:4.16666667%}.ant-col-sm-pull-1{right:4.16666667%}.ant-col-sm-offset-1{margin-left:4.16666667%}.ant-col-sm-order-1{order:1}.ant-col-sm-0{display:none}.ant-col-push-0{left:auto}.ant-col-pull-0{right:auto}.ant-col-sm-push-0{left:auto}.ant-col-sm-pull-0{right:auto}.ant-col-sm-offset-0{margin-left:0}.ant-col-sm-order-0{order:0}.ant-col-push-0.ant-col-rtl{right:auto}.ant-col-pull-0.ant-col-rtl{left:auto}.ant-col-sm-push-0.ant-col-rtl{right:auto}.ant-col-sm-pull-0.ant-col-rtl{left:auto}.ant-col-sm-offset-0.ant-col-rtl{margin-right:0}.ant-col-sm-push-1.ant-col-rtl{right:4.16666667%;left:auto}.ant-col-sm-pull-1.ant-col-rtl{right:auto;left:4.16666667%}.ant-col-sm-offset-1.ant-col-rtl{margin-right:4.16666667%;margin-left:0}.ant-col-sm-push-2.ant-col-rtl{right:8.33333333%;left:auto}.ant-col-sm-pull-2.ant-col-rtl{right:auto;left:8.33333333%}.ant-col-sm-offset-2.ant-col-rtl{margin-right:8.33333333%;margin-left:0}.ant-col-sm-push-3.ant-col-rtl{right:12.5%;left:auto}.ant-col-sm-pull-3.ant-col-rtl{right:auto;left:12.5%}.ant-col-sm-offset-3.ant-col-rtl{margin-right:12.5%;margin-left:0}.ant-col-sm-push-4.ant-col-rtl{right:16.66666667%;left:auto}.ant-col-sm-pull-4.ant-col-rtl{right:auto;left:16.66666667%}.ant-col-sm-offset-4.ant-col-rtl{margin-right:16.66666667%;margin-left:0}.ant-col-sm-push-5.ant-col-rtl{right:20.83333333%;left:auto}.ant-col-sm-pull-5.ant-col-rtl{right:auto;left:20.83333333%}.ant-col-sm-offset-5.ant-col-rtl{margin-right:20.83333333%;margin-left:0}.ant-col-sm-push-6.ant-col-rtl{right:25%;left:auto}.ant-col-sm-pull-6.ant-col-rtl{right:auto;left:25%}.ant-col-sm-offset-6.ant-col-rtl{margin-right:25%;margin-left:0}.ant-col-sm-push-7.ant-col-rtl{right:29.16666667%;left:auto}.ant-col-sm-pull-7.ant-col-rtl{right:auto;left:29.16666667%}.ant-col-sm-offset-7.ant-col-rtl{margin-right:29.16666667%;margin-left:0}.ant-col-sm-push-8.ant-col-rtl{right:33.33333333%;left:auto}.ant-col-sm-pull-8.ant-col-rtl{right:auto;left:33.33333333%}.ant-col-sm-offset-8.ant-col-rtl{margin-right:33.33333333%;margin-left:0}.ant-col-sm-push-9.ant-col-rtl{right:37.5%;left:auto}.ant-col-sm-pull-9.ant-col-rtl{right:auto;left:37.5%}.ant-col-sm-offset-9.ant-col-rtl{margin-right:37.5%;margin-left:0}.ant-col-sm-push-10.ant-col-rtl{right:41.66666667%;left:auto}.ant-col-sm-pull-10.ant-col-rtl{right:auto;left:41.66666667%}.ant-col-sm-offset-10.ant-col-rtl{margin-right:41.66666667%;margin-left:0}.ant-col-sm-push-11.ant-col-rtl{right:45.83333333%;left:auto}.ant-col-sm-pull-11.ant-col-rtl{right:auto;left:45.83333333%}.ant-col-sm-offset-11.ant-col-rtl{margin-right:45.83333333%;margin-left:0}.ant-col-sm-push-12.ant-col-rtl{right:50%;left:auto}.ant-col-sm-pull-12.ant-col-rtl{right:auto;left:50%}.ant-col-sm-offset-12.ant-col-rtl{margin-right:50%;margin-left:0}.ant-col-sm-push-13.ant-col-rtl{right:54.16666667%;left:auto}.ant-col-sm-pull-13.ant-col-rtl{right:auto;left:54.16666667%}.ant-col-sm-offset-13.ant-col-rtl{margin-right:54.16666667%;margin-left:0}.ant-col-sm-push-14.ant-col-rtl{right:58.33333333%;left:auto}.ant-col-sm-pull-14.ant-col-rtl{right:auto;left:58.33333333%}.ant-col-sm-offset-14.ant-col-rtl{margin-right:58.33333333%;margin-left:0}.ant-col-sm-push-15.ant-col-rtl{right:62.5%;left:auto}.ant-col-sm-pull-15.ant-col-rtl{right:auto;left:62.5%}.ant-col-sm-offset-15.ant-col-rtl{margin-right:62.5%;margin-left:0}.ant-col-sm-push-16.ant-col-rtl{right:66.66666667%;left:auto}.ant-col-sm-pull-16.ant-col-rtl{right:auto;left:66.66666667%}.ant-col-sm-offset-16.ant-col-rtl{margin-right:66.66666667%;margin-left:0}.ant-col-sm-push-17.ant-col-rtl{right:70.83333333%;left:auto}.ant-col-sm-pull-17.ant-col-rtl{right:auto;left:70.83333333%}.ant-col-sm-offset-17.ant-col-rtl{margin-right:70.83333333%;margin-left:0}.ant-col-sm-push-18.ant-col-rtl{right:75%;left:auto}.ant-col-sm-pull-18.ant-col-rtl{right:auto;left:75%}.ant-col-sm-offset-18.ant-col-rtl{margin-right:75%;margin-left:0}.ant-col-sm-push-19.ant-col-rtl{right:79.16666667%;left:auto}.ant-col-sm-pull-19.ant-col-rtl{right:auto;left:79.16666667%}.ant-col-sm-offset-19.ant-col-rtl{margin-right:79.16666667%;margin-left:0}.ant-col-sm-push-20.ant-col-rtl{right:83.33333333%;left:auto}.ant-col-sm-pull-20.ant-col-rtl{right:auto;left:83.33333333%}.ant-col-sm-offset-20.ant-col-rtl{margin-right:83.33333333%;margin-left:0}.ant-col-sm-push-21.ant-col-rtl{right:87.5%;left:auto}.ant-col-sm-pull-21.ant-col-rtl{right:auto;left:87.5%}.ant-col-sm-offset-21.ant-col-rtl{margin-right:87.5%;margin-left:0}.ant-col-sm-push-22.ant-col-rtl{right:91.66666667%;left:auto}.ant-col-sm-pull-22.ant-col-rtl{right:auto;left:91.66666667%}.ant-col-sm-offset-22.ant-col-rtl{margin-right:91.66666667%;margin-left:0}.ant-col-sm-push-23.ant-col-rtl{right:95.83333333%;left:auto}.ant-col-sm-pull-23.ant-col-rtl{right:auto;left:95.83333333%}.ant-col-sm-offset-23.ant-col-rtl{margin-right:95.83333333%;margin-left:0}.ant-col-sm-push-24.ant-col-rtl{right:100%;left:auto}.ant-col-sm-pull-24.ant-col-rtl{right:auto;left:100%}.ant-col-sm-offset-24.ant-col-rtl{margin-right:100%;margin-left:0}}@media (min-width: 768px){.ant-col-md-24{display:block;flex:0 0 100%;max-width:100%}.ant-col-md-push-24{left:100%}.ant-col-md-pull-24{right:100%}.ant-col-md-offset-24{margin-left:100%}.ant-col-md-order-24{order:24}.ant-col-md-23{display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.ant-col-md-push-23{left:95.83333333%}.ant-col-md-pull-23{right:95.83333333%}.ant-col-md-offset-23{margin-left:95.83333333%}.ant-col-md-order-23{order:23}.ant-col-md-22{display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.ant-col-md-push-22{left:91.66666667%}.ant-col-md-pull-22{right:91.66666667%}.ant-col-md-offset-22{margin-left:91.66666667%}.ant-col-md-order-22{order:22}.ant-col-md-21{display:block;flex:0 0 87.5%;max-width:87.5%}.ant-col-md-push-21{left:87.5%}.ant-col-md-pull-21{right:87.5%}.ant-col-md-offset-21{margin-left:87.5%}.ant-col-md-order-21{order:21}.ant-col-md-20{display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.ant-col-md-push-20{left:83.33333333%}.ant-col-md-pull-20{right:83.33333333%}.ant-col-md-offset-20{margin-left:83.33333333%}.ant-col-md-order-20{order:20}.ant-col-md-19{display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.ant-col-md-push-19{left:79.16666667%}.ant-col-md-pull-19{right:79.16666667%}.ant-col-md-offset-19{margin-left:79.16666667%}.ant-col-md-order-19{order:19}.ant-col-md-18{display:block;flex:0 0 75%;max-width:75%}.ant-col-md-push-18{left:75%}.ant-col-md-pull-18{right:75%}.ant-col-md-offset-18{margin-left:75%}.ant-col-md-order-18{order:18}.ant-col-md-17{display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.ant-col-md-push-17{left:70.83333333%}.ant-col-md-pull-17{right:70.83333333%}.ant-col-md-offset-17{margin-left:70.83333333%}.ant-col-md-order-17{order:17}.ant-col-md-16{display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.ant-col-md-push-16{left:66.66666667%}.ant-col-md-pull-16{right:66.66666667%}.ant-col-md-offset-16{margin-left:66.66666667%}.ant-col-md-order-16{order:16}.ant-col-md-15{display:block;flex:0 0 62.5%;max-width:62.5%}.ant-col-md-push-15{left:62.5%}.ant-col-md-pull-15{right:62.5%}.ant-col-md-offset-15{margin-left:62.5%}.ant-col-md-order-15{order:15}.ant-col-md-14{display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.ant-col-md-push-14{left:58.33333333%}.ant-col-md-pull-14{right:58.33333333%}.ant-col-md-offset-14{margin-left:58.33333333%}.ant-col-md-order-14{order:14}.ant-col-md-13{display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.ant-col-md-push-13{left:54.16666667%}.ant-col-md-pull-13{right:54.16666667%}.ant-col-md-offset-13{margin-left:54.16666667%}.ant-col-md-order-13{order:13}.ant-col-md-12{display:block;flex:0 0 50%;max-width:50%}.ant-col-md-push-12{left:50%}.ant-col-md-pull-12{right:50%}.ant-col-md-offset-12{margin-left:50%}.ant-col-md-order-12{order:12}.ant-col-md-11{display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.ant-col-md-push-11{left:45.83333333%}.ant-col-md-pull-11{right:45.83333333%}.ant-col-md-offset-11{margin-left:45.83333333%}.ant-col-md-order-11{order:11}.ant-col-md-10{display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.ant-col-md-push-10{left:41.66666667%}.ant-col-md-pull-10{right:41.66666667%}.ant-col-md-offset-10{margin-left:41.66666667%}.ant-col-md-order-10{order:10}.ant-col-md-9{display:block;flex:0 0 37.5%;max-width:37.5%}.ant-col-md-push-9{left:37.5%}.ant-col-md-pull-9{right:37.5%}.ant-col-md-offset-9{margin-left:37.5%}.ant-col-md-order-9{order:9}.ant-col-md-8{display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.ant-col-md-push-8{left:33.33333333%}.ant-col-md-pull-8{right:33.33333333%}.ant-col-md-offset-8{margin-left:33.33333333%}.ant-col-md-order-8{order:8}.ant-col-md-7{display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.ant-col-md-push-7{left:29.16666667%}.ant-col-md-pull-7{right:29.16666667%}.ant-col-md-offset-7{margin-left:29.16666667%}.ant-col-md-order-7{order:7}.ant-col-md-6{display:block;flex:0 0 25%;max-width:25%}.ant-col-md-push-6{left:25%}.ant-col-md-pull-6{right:25%}.ant-col-md-offset-6{margin-left:25%}.ant-col-md-order-6{order:6}.ant-col-md-5{display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.ant-col-md-push-5{left:20.83333333%}.ant-col-md-pull-5{right:20.83333333%}.ant-col-md-offset-5{margin-left:20.83333333%}.ant-col-md-order-5{order:5}.ant-col-md-4{display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.ant-col-md-push-4{left:16.66666667%}.ant-col-md-pull-4{right:16.66666667%}.ant-col-md-offset-4{margin-left:16.66666667%}.ant-col-md-order-4{order:4}.ant-col-md-3{display:block;flex:0 0 12.5%;max-width:12.5%}.ant-col-md-push-3{left:12.5%}.ant-col-md-pull-3{right:12.5%}.ant-col-md-offset-3{margin-left:12.5%}.ant-col-md-order-3{order:3}.ant-col-md-2{display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.ant-col-md-push-2{left:8.33333333%}.ant-col-md-pull-2{right:8.33333333%}.ant-col-md-offset-2{margin-left:8.33333333%}.ant-col-md-order-2{order:2}.ant-col-md-1{display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.ant-col-md-push-1{left:4.16666667%}.ant-col-md-pull-1{right:4.16666667%}.ant-col-md-offset-1{margin-left:4.16666667%}.ant-col-md-order-1{order:1}.ant-col-md-0{display:none}.ant-col-push-0{left:auto}.ant-col-pull-0{right:auto}.ant-col-md-push-0{left:auto}.ant-col-md-pull-0{right:auto}.ant-col-md-offset-0{margin-left:0}.ant-col-md-order-0{order:0}.ant-col-push-0.ant-col-rtl{right:auto}.ant-col-pull-0.ant-col-rtl{left:auto}.ant-col-md-push-0.ant-col-rtl{right:auto}.ant-col-md-pull-0.ant-col-rtl{left:auto}.ant-col-md-offset-0.ant-col-rtl{margin-right:0}.ant-col-md-push-1.ant-col-rtl{right:4.16666667%;left:auto}.ant-col-md-pull-1.ant-col-rtl{right:auto;left:4.16666667%}.ant-col-md-offset-1.ant-col-rtl{margin-right:4.16666667%;margin-left:0}.ant-col-md-push-2.ant-col-rtl{right:8.33333333%;left:auto}.ant-col-md-pull-2.ant-col-rtl{right:auto;left:8.33333333%}.ant-col-md-offset-2.ant-col-rtl{margin-right:8.33333333%;margin-left:0}.ant-col-md-push-3.ant-col-rtl{right:12.5%;left:auto}.ant-col-md-pull-3.ant-col-rtl{right:auto;left:12.5%}.ant-col-md-offset-3.ant-col-rtl{margin-right:12.5%;margin-left:0}.ant-col-md-push-4.ant-col-rtl{right:16.66666667%;left:auto}.ant-col-md-pull-4.ant-col-rtl{right:auto;left:16.66666667%}.ant-col-md-offset-4.ant-col-rtl{margin-right:16.66666667%;margin-left:0}.ant-col-md-push-5.ant-col-rtl{right:20.83333333%;left:auto}.ant-col-md-pull-5.ant-col-rtl{right:auto;left:20.83333333%}.ant-col-md-offset-5.ant-col-rtl{margin-right:20.83333333%;margin-left:0}.ant-col-md-push-6.ant-col-rtl{right:25%;left:auto}.ant-col-md-pull-6.ant-col-rtl{right:auto;left:25%}.ant-col-md-offset-6.ant-col-rtl{margin-right:25%;margin-left:0}.ant-col-md-push-7.ant-col-rtl{right:29.16666667%;left:auto}.ant-col-md-pull-7.ant-col-rtl{right:auto;left:29.16666667%}.ant-col-md-offset-7.ant-col-rtl{margin-right:29.16666667%;margin-left:0}.ant-col-md-push-8.ant-col-rtl{right:33.33333333%;left:auto}.ant-col-md-pull-8.ant-col-rtl{right:auto;left:33.33333333%}.ant-col-md-offset-8.ant-col-rtl{margin-right:33.33333333%;margin-left:0}.ant-col-md-push-9.ant-col-rtl{right:37.5%;left:auto}.ant-col-md-pull-9.ant-col-rtl{right:auto;left:37.5%}.ant-col-md-offset-9.ant-col-rtl{margin-right:37.5%;margin-left:0}.ant-col-md-push-10.ant-col-rtl{right:41.66666667%;left:auto}.ant-col-md-pull-10.ant-col-rtl{right:auto;left:41.66666667%}.ant-col-md-offset-10.ant-col-rtl{margin-right:41.66666667%;margin-left:0}.ant-col-md-push-11.ant-col-rtl{right:45.83333333%;left:auto}.ant-col-md-pull-11.ant-col-rtl{right:auto;left:45.83333333%}.ant-col-md-offset-11.ant-col-rtl{margin-right:45.83333333%;margin-left:0}.ant-col-md-push-12.ant-col-rtl{right:50%;left:auto}.ant-col-md-pull-12.ant-col-rtl{right:auto;left:50%}.ant-col-md-offset-12.ant-col-rtl{margin-right:50%;margin-left:0}.ant-col-md-push-13.ant-col-rtl{right:54.16666667%;left:auto}.ant-col-md-pull-13.ant-col-rtl{right:auto;left:54.16666667%}.ant-col-md-offset-13.ant-col-rtl{margin-right:54.16666667%;margin-left:0}.ant-col-md-push-14.ant-col-rtl{right:58.33333333%;left:auto}.ant-col-md-pull-14.ant-col-rtl{right:auto;left:58.33333333%}.ant-col-md-offset-14.ant-col-rtl{margin-right:58.33333333%;margin-left:0}.ant-col-md-push-15.ant-col-rtl{right:62.5%;left:auto}.ant-col-md-pull-15.ant-col-rtl{right:auto;left:62.5%}.ant-col-md-offset-15.ant-col-rtl{margin-right:62.5%;margin-left:0}.ant-col-md-push-16.ant-col-rtl{right:66.66666667%;left:auto}.ant-col-md-pull-16.ant-col-rtl{right:auto;left:66.66666667%}.ant-col-md-offset-16.ant-col-rtl{margin-right:66.66666667%;margin-left:0}.ant-col-md-push-17.ant-col-rtl{right:70.83333333%;left:auto}.ant-col-md-pull-17.ant-col-rtl{right:auto;left:70.83333333%}.ant-col-md-offset-17.ant-col-rtl{margin-right:70.83333333%;margin-left:0}.ant-col-md-push-18.ant-col-rtl{right:75%;left:auto}.ant-col-md-pull-18.ant-col-rtl{right:auto;left:75%}.ant-col-md-offset-18.ant-col-rtl{margin-right:75%;margin-left:0}.ant-col-md-push-19.ant-col-rtl{right:79.16666667%;left:auto}.ant-col-md-pull-19.ant-col-rtl{right:auto;left:79.16666667%}.ant-col-md-offset-19.ant-col-rtl{margin-right:79.16666667%;margin-left:0}.ant-col-md-push-20.ant-col-rtl{right:83.33333333%;left:auto}.ant-col-md-pull-20.ant-col-rtl{right:auto;left:83.33333333%}.ant-col-md-offset-20.ant-col-rtl{margin-right:83.33333333%;margin-left:0}.ant-col-md-push-21.ant-col-rtl{right:87.5%;left:auto}.ant-col-md-pull-21.ant-col-rtl{right:auto;left:87.5%}.ant-col-md-offset-21.ant-col-rtl{margin-right:87.5%;margin-left:0}.ant-col-md-push-22.ant-col-rtl{right:91.66666667%;left:auto}.ant-col-md-pull-22.ant-col-rtl{right:auto;left:91.66666667%}.ant-col-md-offset-22.ant-col-rtl{margin-right:91.66666667%;margin-left:0}.ant-col-md-push-23.ant-col-rtl{right:95.83333333%;left:auto}.ant-col-md-pull-23.ant-col-rtl{right:auto;left:95.83333333%}.ant-col-md-offset-23.ant-col-rtl{margin-right:95.83333333%;margin-left:0}.ant-col-md-push-24.ant-col-rtl{right:100%;left:auto}.ant-col-md-pull-24.ant-col-rtl{right:auto;left:100%}.ant-col-md-offset-24.ant-col-rtl{margin-right:100%;margin-left:0}}@media (min-width: 992px){.ant-col-lg-24{display:block;flex:0 0 100%;max-width:100%}.ant-col-lg-push-24{left:100%}.ant-col-lg-pull-24{right:100%}.ant-col-lg-offset-24{margin-left:100%}.ant-col-lg-order-24{order:24}.ant-col-lg-23{display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.ant-col-lg-push-23{left:95.83333333%}.ant-col-lg-pull-23{right:95.83333333%}.ant-col-lg-offset-23{margin-left:95.83333333%}.ant-col-lg-order-23{order:23}.ant-col-lg-22{display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.ant-col-lg-push-22{left:91.66666667%}.ant-col-lg-pull-22{right:91.66666667%}.ant-col-lg-offset-22{margin-left:91.66666667%}.ant-col-lg-order-22{order:22}.ant-col-lg-21{display:block;flex:0 0 87.5%;max-width:87.5%}.ant-col-lg-push-21{left:87.5%}.ant-col-lg-pull-21{right:87.5%}.ant-col-lg-offset-21{margin-left:87.5%}.ant-col-lg-order-21{order:21}.ant-col-lg-20{display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.ant-col-lg-push-20{left:83.33333333%}.ant-col-lg-pull-20{right:83.33333333%}.ant-col-lg-offset-20{margin-left:83.33333333%}.ant-col-lg-order-20{order:20}.ant-col-lg-19{display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.ant-col-lg-push-19{left:79.16666667%}.ant-col-lg-pull-19{right:79.16666667%}.ant-col-lg-offset-19{margin-left:79.16666667%}.ant-col-lg-order-19{order:19}.ant-col-lg-18{display:block;flex:0 0 75%;max-width:75%}.ant-col-lg-push-18{left:75%}.ant-col-lg-pull-18{right:75%}.ant-col-lg-offset-18{margin-left:75%}.ant-col-lg-order-18{order:18}.ant-col-lg-17{display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.ant-col-lg-push-17{left:70.83333333%}.ant-col-lg-pull-17{right:70.83333333%}.ant-col-lg-offset-17{margin-left:70.83333333%}.ant-col-lg-order-17{order:17}.ant-col-lg-16{display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.ant-col-lg-push-16{left:66.66666667%}.ant-col-lg-pull-16{right:66.66666667%}.ant-col-lg-offset-16{margin-left:66.66666667%}.ant-col-lg-order-16{order:16}.ant-col-lg-15{display:block;flex:0 0 62.5%;max-width:62.5%}.ant-col-lg-push-15{left:62.5%}.ant-col-lg-pull-15{right:62.5%}.ant-col-lg-offset-15{margin-left:62.5%}.ant-col-lg-order-15{order:15}.ant-col-lg-14{display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.ant-col-lg-push-14{left:58.33333333%}.ant-col-lg-pull-14{right:58.33333333%}.ant-col-lg-offset-14{margin-left:58.33333333%}.ant-col-lg-order-14{order:14}.ant-col-lg-13{display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.ant-col-lg-push-13{left:54.16666667%}.ant-col-lg-pull-13{right:54.16666667%}.ant-col-lg-offset-13{margin-left:54.16666667%}.ant-col-lg-order-13{order:13}.ant-col-lg-12{display:block;flex:0 0 50%;max-width:50%}.ant-col-lg-push-12{left:50%}.ant-col-lg-pull-12{right:50%}.ant-col-lg-offset-12{margin-left:50%}.ant-col-lg-order-12{order:12}.ant-col-lg-11{display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.ant-col-lg-push-11{left:45.83333333%}.ant-col-lg-pull-11{right:45.83333333%}.ant-col-lg-offset-11{margin-left:45.83333333%}.ant-col-lg-order-11{order:11}.ant-col-lg-10{display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.ant-col-lg-push-10{left:41.66666667%}.ant-col-lg-pull-10{right:41.66666667%}.ant-col-lg-offset-10{margin-left:41.66666667%}.ant-col-lg-order-10{order:10}.ant-col-lg-9{display:block;flex:0 0 37.5%;max-width:37.5%}.ant-col-lg-push-9{left:37.5%}.ant-col-lg-pull-9{right:37.5%}.ant-col-lg-offset-9{margin-left:37.5%}.ant-col-lg-order-9{order:9}.ant-col-lg-8{display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.ant-col-lg-push-8{left:33.33333333%}.ant-col-lg-pull-8{right:33.33333333%}.ant-col-lg-offset-8{margin-left:33.33333333%}.ant-col-lg-order-8{order:8}.ant-col-lg-7{display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.ant-col-lg-push-7{left:29.16666667%}.ant-col-lg-pull-7{right:29.16666667%}.ant-col-lg-offset-7{margin-left:29.16666667%}.ant-col-lg-order-7{order:7}.ant-col-lg-6{display:block;flex:0 0 25%;max-width:25%}.ant-col-lg-push-6{left:25%}.ant-col-lg-pull-6{right:25%}.ant-col-lg-offset-6{margin-left:25%}.ant-col-lg-order-6{order:6}.ant-col-lg-5{display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.ant-col-lg-push-5{left:20.83333333%}.ant-col-lg-pull-5{right:20.83333333%}.ant-col-lg-offset-5{margin-left:20.83333333%}.ant-col-lg-order-5{order:5}.ant-col-lg-4{display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.ant-col-lg-push-4{left:16.66666667%}.ant-col-lg-pull-4{right:16.66666667%}.ant-col-lg-offset-4{margin-left:16.66666667%}.ant-col-lg-order-4{order:4}.ant-col-lg-3{display:block;flex:0 0 12.5%;max-width:12.5%}.ant-col-lg-push-3{left:12.5%}.ant-col-lg-pull-3{right:12.5%}.ant-col-lg-offset-3{margin-left:12.5%}.ant-col-lg-order-3{order:3}.ant-col-lg-2{display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.ant-col-lg-push-2{left:8.33333333%}.ant-col-lg-pull-2{right:8.33333333%}.ant-col-lg-offset-2{margin-left:8.33333333%}.ant-col-lg-order-2{order:2}.ant-col-lg-1{display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.ant-col-lg-push-1{left:4.16666667%}.ant-col-lg-pull-1{right:4.16666667%}.ant-col-lg-offset-1{margin-left:4.16666667%}.ant-col-lg-order-1{order:1}.ant-col-lg-0{display:none}.ant-col-push-0{left:auto}.ant-col-pull-0{right:auto}.ant-col-lg-push-0{left:auto}.ant-col-lg-pull-0{right:auto}.ant-col-lg-offset-0{margin-left:0}.ant-col-lg-order-0{order:0}.ant-col-push-0.ant-col-rtl{right:auto}.ant-col-pull-0.ant-col-rtl{left:auto}.ant-col-lg-push-0.ant-col-rtl{right:auto}.ant-col-lg-pull-0.ant-col-rtl{left:auto}.ant-col-lg-offset-0.ant-col-rtl{margin-right:0}.ant-col-lg-push-1.ant-col-rtl{right:4.16666667%;left:auto}.ant-col-lg-pull-1.ant-col-rtl{right:auto;left:4.16666667%}.ant-col-lg-offset-1.ant-col-rtl{margin-right:4.16666667%;margin-left:0}.ant-col-lg-push-2.ant-col-rtl{right:8.33333333%;left:auto}.ant-col-lg-pull-2.ant-col-rtl{right:auto;left:8.33333333%}.ant-col-lg-offset-2.ant-col-rtl{margin-right:8.33333333%;margin-left:0}.ant-col-lg-push-3.ant-col-rtl{right:12.5%;left:auto}.ant-col-lg-pull-3.ant-col-rtl{right:auto;left:12.5%}.ant-col-lg-offset-3.ant-col-rtl{margin-right:12.5%;margin-left:0}.ant-col-lg-push-4.ant-col-rtl{right:16.66666667%;left:auto}.ant-col-lg-pull-4.ant-col-rtl{right:auto;left:16.66666667%}.ant-col-lg-offset-4.ant-col-rtl{margin-right:16.66666667%;margin-left:0}.ant-col-lg-push-5.ant-col-rtl{right:20.83333333%;left:auto}.ant-col-lg-pull-5.ant-col-rtl{right:auto;left:20.83333333%}.ant-col-lg-offset-5.ant-col-rtl{margin-right:20.83333333%;margin-left:0}.ant-col-lg-push-6.ant-col-rtl{right:25%;left:auto}.ant-col-lg-pull-6.ant-col-rtl{right:auto;left:25%}.ant-col-lg-offset-6.ant-col-rtl{margin-right:25%;margin-left:0}.ant-col-lg-push-7.ant-col-rtl{right:29.16666667%;left:auto}.ant-col-lg-pull-7.ant-col-rtl{right:auto;left:29.16666667%}.ant-col-lg-offset-7.ant-col-rtl{margin-right:29.16666667%;margin-left:0}.ant-col-lg-push-8.ant-col-rtl{right:33.33333333%;left:auto}.ant-col-lg-pull-8.ant-col-rtl{right:auto;left:33.33333333%}.ant-col-lg-offset-8.ant-col-rtl{margin-right:33.33333333%;margin-left:0}.ant-col-lg-push-9.ant-col-rtl{right:37.5%;left:auto}.ant-col-lg-pull-9.ant-col-rtl{right:auto;left:37.5%}.ant-col-lg-offset-9.ant-col-rtl{margin-right:37.5%;margin-left:0}.ant-col-lg-push-10.ant-col-rtl{right:41.66666667%;left:auto}.ant-col-lg-pull-10.ant-col-rtl{right:auto;left:41.66666667%}.ant-col-lg-offset-10.ant-col-rtl{margin-right:41.66666667%;margin-left:0}.ant-col-lg-push-11.ant-col-rtl{right:45.83333333%;left:auto}.ant-col-lg-pull-11.ant-col-rtl{right:auto;left:45.83333333%}.ant-col-lg-offset-11.ant-col-rtl{margin-right:45.83333333%;margin-left:0}.ant-col-lg-push-12.ant-col-rtl{right:50%;left:auto}.ant-col-lg-pull-12.ant-col-rtl{right:auto;left:50%}.ant-col-lg-offset-12.ant-col-rtl{margin-right:50%;margin-left:0}.ant-col-lg-push-13.ant-col-rtl{right:54.16666667%;left:auto}.ant-col-lg-pull-13.ant-col-rtl{right:auto;left:54.16666667%}.ant-col-lg-offset-13.ant-col-rtl{margin-right:54.16666667%;margin-left:0}.ant-col-lg-push-14.ant-col-rtl{right:58.33333333%;left:auto}.ant-col-lg-pull-14.ant-col-rtl{right:auto;left:58.33333333%}.ant-col-lg-offset-14.ant-col-rtl{margin-right:58.33333333%;margin-left:0}.ant-col-lg-push-15.ant-col-rtl{right:62.5%;left:auto}.ant-col-lg-pull-15.ant-col-rtl{right:auto;left:62.5%}.ant-col-lg-offset-15.ant-col-rtl{margin-right:62.5%;margin-left:0}.ant-col-lg-push-16.ant-col-rtl{right:66.66666667%;left:auto}.ant-col-lg-pull-16.ant-col-rtl{right:auto;left:66.66666667%}.ant-col-lg-offset-16.ant-col-rtl{margin-right:66.66666667%;margin-left:0}.ant-col-lg-push-17.ant-col-rtl{right:70.83333333%;left:auto}.ant-col-lg-pull-17.ant-col-rtl{right:auto;left:70.83333333%}.ant-col-lg-offset-17.ant-col-rtl{margin-right:70.83333333%;margin-left:0}.ant-col-lg-push-18.ant-col-rtl{right:75%;left:auto}.ant-col-lg-pull-18.ant-col-rtl{right:auto;left:75%}.ant-col-lg-offset-18.ant-col-rtl{margin-right:75%;margin-left:0}.ant-col-lg-push-19.ant-col-rtl{right:79.16666667%;left:auto}.ant-col-lg-pull-19.ant-col-rtl{right:auto;left:79.16666667%}.ant-col-lg-offset-19.ant-col-rtl{margin-right:79.16666667%;margin-left:0}.ant-col-lg-push-20.ant-col-rtl{right:83.33333333%;left:auto}.ant-col-lg-pull-20.ant-col-rtl{right:auto;left:83.33333333%}.ant-col-lg-offset-20.ant-col-rtl{margin-right:83.33333333%;margin-left:0}.ant-col-lg-push-21.ant-col-rtl{right:87.5%;left:auto}.ant-col-lg-pull-21.ant-col-rtl{right:auto;left:87.5%}.ant-col-lg-offset-21.ant-col-rtl{margin-right:87.5%;margin-left:0}.ant-col-lg-push-22.ant-col-rtl{right:91.66666667%;left:auto}.ant-col-lg-pull-22.ant-col-rtl{right:auto;left:91.66666667%}.ant-col-lg-offset-22.ant-col-rtl{margin-right:91.66666667%;margin-left:0}.ant-col-lg-push-23.ant-col-rtl{right:95.83333333%;left:auto}.ant-col-lg-pull-23.ant-col-rtl{right:auto;left:95.83333333%}.ant-col-lg-offset-23.ant-col-rtl{margin-right:95.83333333%;margin-left:0}.ant-col-lg-push-24.ant-col-rtl{right:100%;left:auto}.ant-col-lg-pull-24.ant-col-rtl{right:auto;left:100%}.ant-col-lg-offset-24.ant-col-rtl{margin-right:100%;margin-left:0}}@media (min-width: 1200px){.ant-col-xl-24{display:block;flex:0 0 100%;max-width:100%}.ant-col-xl-push-24{left:100%}.ant-col-xl-pull-24{right:100%}.ant-col-xl-offset-24{margin-left:100%}.ant-col-xl-order-24{order:24}.ant-col-xl-23{display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.ant-col-xl-push-23{left:95.83333333%}.ant-col-xl-pull-23{right:95.83333333%}.ant-col-xl-offset-23{margin-left:95.83333333%}.ant-col-xl-order-23{order:23}.ant-col-xl-22{display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.ant-col-xl-push-22{left:91.66666667%}.ant-col-xl-pull-22{right:91.66666667%}.ant-col-xl-offset-22{margin-left:91.66666667%}.ant-col-xl-order-22{order:22}.ant-col-xl-21{display:block;flex:0 0 87.5%;max-width:87.5%}.ant-col-xl-push-21{left:87.5%}.ant-col-xl-pull-21{right:87.5%}.ant-col-xl-offset-21{margin-left:87.5%}.ant-col-xl-order-21{order:21}.ant-col-xl-20{display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.ant-col-xl-push-20{left:83.33333333%}.ant-col-xl-pull-20{right:83.33333333%}.ant-col-xl-offset-20{margin-left:83.33333333%}.ant-col-xl-order-20{order:20}.ant-col-xl-19{display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.ant-col-xl-push-19{left:79.16666667%}.ant-col-xl-pull-19{right:79.16666667%}.ant-col-xl-offset-19{margin-left:79.16666667%}.ant-col-xl-order-19{order:19}.ant-col-xl-18{display:block;flex:0 0 75%;max-width:75%}.ant-col-xl-push-18{left:75%}.ant-col-xl-pull-18{right:75%}.ant-col-xl-offset-18{margin-left:75%}.ant-col-xl-order-18{order:18}.ant-col-xl-17{display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.ant-col-xl-push-17{left:70.83333333%}.ant-col-xl-pull-17{right:70.83333333%}.ant-col-xl-offset-17{margin-left:70.83333333%}.ant-col-xl-order-17{order:17}.ant-col-xl-16{display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.ant-col-xl-push-16{left:66.66666667%}.ant-col-xl-pull-16{right:66.66666667%}.ant-col-xl-offset-16{margin-left:66.66666667%}.ant-col-xl-order-16{order:16}.ant-col-xl-15{display:block;flex:0 0 62.5%;max-width:62.5%}.ant-col-xl-push-15{left:62.5%}.ant-col-xl-pull-15{right:62.5%}.ant-col-xl-offset-15{margin-left:62.5%}.ant-col-xl-order-15{order:15}.ant-col-xl-14{display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.ant-col-xl-push-14{left:58.33333333%}.ant-col-xl-pull-14{right:58.33333333%}.ant-col-xl-offset-14{margin-left:58.33333333%}.ant-col-xl-order-14{order:14}.ant-col-xl-13{display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.ant-col-xl-push-13{left:54.16666667%}.ant-col-xl-pull-13{right:54.16666667%}.ant-col-xl-offset-13{margin-left:54.16666667%}.ant-col-xl-order-13{order:13}.ant-col-xl-12{display:block;flex:0 0 50%;max-width:50%}.ant-col-xl-push-12{left:50%}.ant-col-xl-pull-12{right:50%}.ant-col-xl-offset-12{margin-left:50%}.ant-col-xl-order-12{order:12}.ant-col-xl-11{display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.ant-col-xl-push-11{left:45.83333333%}.ant-col-xl-pull-11{right:45.83333333%}.ant-col-xl-offset-11{margin-left:45.83333333%}.ant-col-xl-order-11{order:11}.ant-col-xl-10{display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.ant-col-xl-push-10{left:41.66666667%}.ant-col-xl-pull-10{right:41.66666667%}.ant-col-xl-offset-10{margin-left:41.66666667%}.ant-col-xl-order-10{order:10}.ant-col-xl-9{display:block;flex:0 0 37.5%;max-width:37.5%}.ant-col-xl-push-9{left:37.5%}.ant-col-xl-pull-9{right:37.5%}.ant-col-xl-offset-9{margin-left:37.5%}.ant-col-xl-order-9{order:9}.ant-col-xl-8{display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.ant-col-xl-push-8{left:33.33333333%}.ant-col-xl-pull-8{right:33.33333333%}.ant-col-xl-offset-8{margin-left:33.33333333%}.ant-col-xl-order-8{order:8}.ant-col-xl-7{display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.ant-col-xl-push-7{left:29.16666667%}.ant-col-xl-pull-7{right:29.16666667%}.ant-col-xl-offset-7{margin-left:29.16666667%}.ant-col-xl-order-7{order:7}.ant-col-xl-6{display:block;flex:0 0 25%;max-width:25%}.ant-col-xl-push-6{left:25%}.ant-col-xl-pull-6{right:25%}.ant-col-xl-offset-6{margin-left:25%}.ant-col-xl-order-6{order:6}.ant-col-xl-5{display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.ant-col-xl-push-5{left:20.83333333%}.ant-col-xl-pull-5{right:20.83333333%}.ant-col-xl-offset-5{margin-left:20.83333333%}.ant-col-xl-order-5{order:5}.ant-col-xl-4{display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.ant-col-xl-push-4{left:16.66666667%}.ant-col-xl-pull-4{right:16.66666667%}.ant-col-xl-offset-4{margin-left:16.66666667%}.ant-col-xl-order-4{order:4}.ant-col-xl-3{display:block;flex:0 0 12.5%;max-width:12.5%}.ant-col-xl-push-3{left:12.5%}.ant-col-xl-pull-3{right:12.5%}.ant-col-xl-offset-3{margin-left:12.5%}.ant-col-xl-order-3{order:3}.ant-col-xl-2{display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.ant-col-xl-push-2{left:8.33333333%}.ant-col-xl-pull-2{right:8.33333333%}.ant-col-xl-offset-2{margin-left:8.33333333%}.ant-col-xl-order-2{order:2}.ant-col-xl-1{display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.ant-col-xl-push-1{left:4.16666667%}.ant-col-xl-pull-1{right:4.16666667%}.ant-col-xl-offset-1{margin-left:4.16666667%}.ant-col-xl-order-1{order:1}.ant-col-xl-0{display:none}.ant-col-push-0{left:auto}.ant-col-pull-0{right:auto}.ant-col-xl-push-0{left:auto}.ant-col-xl-pull-0{right:auto}.ant-col-xl-offset-0{margin-left:0}.ant-col-xl-order-0{order:0}.ant-col-push-0.ant-col-rtl{right:auto}.ant-col-pull-0.ant-col-rtl{left:auto}.ant-col-xl-push-0.ant-col-rtl{right:auto}.ant-col-xl-pull-0.ant-col-rtl{left:auto}.ant-col-xl-offset-0.ant-col-rtl{margin-right:0}.ant-col-xl-push-1.ant-col-rtl{right:4.16666667%;left:auto}.ant-col-xl-pull-1.ant-col-rtl{right:auto;left:4.16666667%}.ant-col-xl-offset-1.ant-col-rtl{margin-right:4.16666667%;margin-left:0}.ant-col-xl-push-2.ant-col-rtl{right:8.33333333%;left:auto}.ant-col-xl-pull-2.ant-col-rtl{right:auto;left:8.33333333%}.ant-col-xl-offset-2.ant-col-rtl{margin-right:8.33333333%;margin-left:0}.ant-col-xl-push-3.ant-col-rtl{right:12.5%;left:auto}.ant-col-xl-pull-3.ant-col-rtl{right:auto;left:12.5%}.ant-col-xl-offset-3.ant-col-rtl{margin-right:12.5%;margin-left:0}.ant-col-xl-push-4.ant-col-rtl{right:16.66666667%;left:auto}.ant-col-xl-pull-4.ant-col-rtl{right:auto;left:16.66666667%}.ant-col-xl-offset-4.ant-col-rtl{margin-right:16.66666667%;margin-left:0}.ant-col-xl-push-5.ant-col-rtl{right:20.83333333%;left:auto}.ant-col-xl-pull-5.ant-col-rtl{right:auto;left:20.83333333%}.ant-col-xl-offset-5.ant-col-rtl{margin-right:20.83333333%;margin-left:0}.ant-col-xl-push-6.ant-col-rtl{right:25%;left:auto}.ant-col-xl-pull-6.ant-col-rtl{right:auto;left:25%}.ant-col-xl-offset-6.ant-col-rtl{margin-right:25%;margin-left:0}.ant-col-xl-push-7.ant-col-rtl{right:29.16666667%;left:auto}.ant-col-xl-pull-7.ant-col-rtl{right:auto;left:29.16666667%}.ant-col-xl-offset-7.ant-col-rtl{margin-right:29.16666667%;margin-left:0}.ant-col-xl-push-8.ant-col-rtl{right:33.33333333%;left:auto}.ant-col-xl-pull-8.ant-col-rtl{right:auto;left:33.33333333%}.ant-col-xl-offset-8.ant-col-rtl{margin-right:33.33333333%;margin-left:0}.ant-col-xl-push-9.ant-col-rtl{right:37.5%;left:auto}.ant-col-xl-pull-9.ant-col-rtl{right:auto;left:37.5%}.ant-col-xl-offset-9.ant-col-rtl{margin-right:37.5%;margin-left:0}.ant-col-xl-push-10.ant-col-rtl{right:41.66666667%;left:auto}.ant-col-xl-pull-10.ant-col-rtl{right:auto;left:41.66666667%}.ant-col-xl-offset-10.ant-col-rtl{margin-right:41.66666667%;margin-left:0}.ant-col-xl-push-11.ant-col-rtl{right:45.83333333%;left:auto}.ant-col-xl-pull-11.ant-col-rtl{right:auto;left:45.83333333%}.ant-col-xl-offset-11.ant-col-rtl{margin-right:45.83333333%;margin-left:0}.ant-col-xl-push-12.ant-col-rtl{right:50%;left:auto}.ant-col-xl-pull-12.ant-col-rtl{right:auto;left:50%}.ant-col-xl-offset-12.ant-col-rtl{margin-right:50%;margin-left:0}.ant-col-xl-push-13.ant-col-rtl{right:54.16666667%;left:auto}.ant-col-xl-pull-13.ant-col-rtl{right:auto;left:54.16666667%}.ant-col-xl-offset-13.ant-col-rtl{margin-right:54.16666667%;margin-left:0}.ant-col-xl-push-14.ant-col-rtl{right:58.33333333%;left:auto}.ant-col-xl-pull-14.ant-col-rtl{right:auto;left:58.33333333%}.ant-col-xl-offset-14.ant-col-rtl{margin-right:58.33333333%;margin-left:0}.ant-col-xl-push-15.ant-col-rtl{right:62.5%;left:auto}.ant-col-xl-pull-15.ant-col-rtl{right:auto;left:62.5%}.ant-col-xl-offset-15.ant-col-rtl{margin-right:62.5%;margin-left:0}.ant-col-xl-push-16.ant-col-rtl{right:66.66666667%;left:auto}.ant-col-xl-pull-16.ant-col-rtl{right:auto;left:66.66666667%}.ant-col-xl-offset-16.ant-col-rtl{margin-right:66.66666667%;margin-left:0}.ant-col-xl-push-17.ant-col-rtl{right:70.83333333%;left:auto}.ant-col-xl-pull-17.ant-col-rtl{right:auto;left:70.83333333%}.ant-col-xl-offset-17.ant-col-rtl{margin-right:70.83333333%;margin-left:0}.ant-col-xl-push-18.ant-col-rtl{right:75%;left:auto}.ant-col-xl-pull-18.ant-col-rtl{right:auto;left:75%}.ant-col-xl-offset-18.ant-col-rtl{margin-right:75%;margin-left:0}.ant-col-xl-push-19.ant-col-rtl{right:79.16666667%;left:auto}.ant-col-xl-pull-19.ant-col-rtl{right:auto;left:79.16666667%}.ant-col-xl-offset-19.ant-col-rtl{margin-right:79.16666667%;margin-left:0}.ant-col-xl-push-20.ant-col-rtl{right:83.33333333%;left:auto}.ant-col-xl-pull-20.ant-col-rtl{right:auto;left:83.33333333%}.ant-col-xl-offset-20.ant-col-rtl{margin-right:83.33333333%;margin-left:0}.ant-col-xl-push-21.ant-col-rtl{right:87.5%;left:auto}.ant-col-xl-pull-21.ant-col-rtl{right:auto;left:87.5%}.ant-col-xl-offset-21.ant-col-rtl{margin-right:87.5%;margin-left:0}.ant-col-xl-push-22.ant-col-rtl{right:91.66666667%;left:auto}.ant-col-xl-pull-22.ant-col-rtl{right:auto;left:91.66666667%}.ant-col-xl-offset-22.ant-col-rtl{margin-right:91.66666667%;margin-left:0}.ant-col-xl-push-23.ant-col-rtl{right:95.83333333%;left:auto}.ant-col-xl-pull-23.ant-col-rtl{right:auto;left:95.83333333%}.ant-col-xl-offset-23.ant-col-rtl{margin-right:95.83333333%;margin-left:0}.ant-col-xl-push-24.ant-col-rtl{right:100%;left:auto}.ant-col-xl-pull-24.ant-col-rtl{right:auto;left:100%}.ant-col-xl-offset-24.ant-col-rtl{margin-right:100%;margin-left:0}}@media (min-width: 1600px){.ant-col-xxl-24{display:block;flex:0 0 100%;max-width:100%}.ant-col-xxl-push-24{left:100%}.ant-col-xxl-pull-24{right:100%}.ant-col-xxl-offset-24{margin-left:100%}.ant-col-xxl-order-24{order:24}.ant-col-xxl-23{display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.ant-col-xxl-push-23{left:95.83333333%}.ant-col-xxl-pull-23{right:95.83333333%}.ant-col-xxl-offset-23{margin-left:95.83333333%}.ant-col-xxl-order-23{order:23}.ant-col-xxl-22{display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.ant-col-xxl-push-22{left:91.66666667%}.ant-col-xxl-pull-22{right:91.66666667%}.ant-col-xxl-offset-22{margin-left:91.66666667%}.ant-col-xxl-order-22{order:22}.ant-col-xxl-21{display:block;flex:0 0 87.5%;max-width:87.5%}.ant-col-xxl-push-21{left:87.5%}.ant-col-xxl-pull-21{right:87.5%}.ant-col-xxl-offset-21{margin-left:87.5%}.ant-col-xxl-order-21{order:21}.ant-col-xxl-20{display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.ant-col-xxl-push-20{left:83.33333333%}.ant-col-xxl-pull-20{right:83.33333333%}.ant-col-xxl-offset-20{margin-left:83.33333333%}.ant-col-xxl-order-20{order:20}.ant-col-xxl-19{display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.ant-col-xxl-push-19{left:79.16666667%}.ant-col-xxl-pull-19{right:79.16666667%}.ant-col-xxl-offset-19{margin-left:79.16666667%}.ant-col-xxl-order-19{order:19}.ant-col-xxl-18{display:block;flex:0 0 75%;max-width:75%}.ant-col-xxl-push-18{left:75%}.ant-col-xxl-pull-18{right:75%}.ant-col-xxl-offset-18{margin-left:75%}.ant-col-xxl-order-18{order:18}.ant-col-xxl-17{display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.ant-col-xxl-push-17{left:70.83333333%}.ant-col-xxl-pull-17{right:70.83333333%}.ant-col-xxl-offset-17{margin-left:70.83333333%}.ant-col-xxl-order-17{order:17}.ant-col-xxl-16{display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.ant-col-xxl-push-16{left:66.66666667%}.ant-col-xxl-pull-16{right:66.66666667%}.ant-col-xxl-offset-16{margin-left:66.66666667%}.ant-col-xxl-order-16{order:16}.ant-col-xxl-15{display:block;flex:0 0 62.5%;max-width:62.5%}.ant-col-xxl-push-15{left:62.5%}.ant-col-xxl-pull-15{right:62.5%}.ant-col-xxl-offset-15{margin-left:62.5%}.ant-col-xxl-order-15{order:15}.ant-col-xxl-14{display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.ant-col-xxl-push-14{left:58.33333333%}.ant-col-xxl-pull-14{right:58.33333333%}.ant-col-xxl-offset-14{margin-left:58.33333333%}.ant-col-xxl-order-14{order:14}.ant-col-xxl-13{display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.ant-col-xxl-push-13{left:54.16666667%}.ant-col-xxl-pull-13{right:54.16666667%}.ant-col-xxl-offset-13{margin-left:54.16666667%}.ant-col-xxl-order-13{order:13}.ant-col-xxl-12{display:block;flex:0 0 50%;max-width:50%}.ant-col-xxl-push-12{left:50%}.ant-col-xxl-pull-12{right:50%}.ant-col-xxl-offset-12{margin-left:50%}.ant-col-xxl-order-12{order:12}.ant-col-xxl-11{display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.ant-col-xxl-push-11{left:45.83333333%}.ant-col-xxl-pull-11{right:45.83333333%}.ant-col-xxl-offset-11{margin-left:45.83333333%}.ant-col-xxl-order-11{order:11}.ant-col-xxl-10{display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.ant-col-xxl-push-10{left:41.66666667%}.ant-col-xxl-pull-10{right:41.66666667%}.ant-col-xxl-offset-10{margin-left:41.66666667%}.ant-col-xxl-order-10{order:10}.ant-col-xxl-9{display:block;flex:0 0 37.5%;max-width:37.5%}.ant-col-xxl-push-9{left:37.5%}.ant-col-xxl-pull-9{right:37.5%}.ant-col-xxl-offset-9{margin-left:37.5%}.ant-col-xxl-order-9{order:9}.ant-col-xxl-8{display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.ant-col-xxl-push-8{left:33.33333333%}.ant-col-xxl-pull-8{right:33.33333333%}.ant-col-xxl-offset-8{margin-left:33.33333333%}.ant-col-xxl-order-8{order:8}.ant-col-xxl-7{display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.ant-col-xxl-push-7{left:29.16666667%}.ant-col-xxl-pull-7{right:29.16666667%}.ant-col-xxl-offset-7{margin-left:29.16666667%}.ant-col-xxl-order-7{order:7}.ant-col-xxl-6{display:block;flex:0 0 25%;max-width:25%}.ant-col-xxl-push-6{left:25%}.ant-col-xxl-pull-6{right:25%}.ant-col-xxl-offset-6{margin-left:25%}.ant-col-xxl-order-6{order:6}.ant-col-xxl-5{display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.ant-col-xxl-push-5{left:20.83333333%}.ant-col-xxl-pull-5{right:20.83333333%}.ant-col-xxl-offset-5{margin-left:20.83333333%}.ant-col-xxl-order-5{order:5}.ant-col-xxl-4{display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.ant-col-xxl-push-4{left:16.66666667%}.ant-col-xxl-pull-4{right:16.66666667%}.ant-col-xxl-offset-4{margin-left:16.66666667%}.ant-col-xxl-order-4{order:4}.ant-col-xxl-3{display:block;flex:0 0 12.5%;max-width:12.5%}.ant-col-xxl-push-3{left:12.5%}.ant-col-xxl-pull-3{right:12.5%}.ant-col-xxl-offset-3{margin-left:12.5%}.ant-col-xxl-order-3{order:3}.ant-col-xxl-2{display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.ant-col-xxl-push-2{left:8.33333333%}.ant-col-xxl-pull-2{right:8.33333333%}.ant-col-xxl-offset-2{margin-left:8.33333333%}.ant-col-xxl-order-2{order:2}.ant-col-xxl-1{display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.ant-col-xxl-push-1{left:4.16666667%}.ant-col-xxl-pull-1{right:4.16666667%}.ant-col-xxl-offset-1{margin-left:4.16666667%}.ant-col-xxl-order-1{order:1}.ant-col-xxl-0{display:none}.ant-col-push-0{left:auto}.ant-col-pull-0{right:auto}.ant-col-xxl-push-0{left:auto}.ant-col-xxl-pull-0{right:auto}.ant-col-xxl-offset-0{margin-left:0}.ant-col-xxl-order-0{order:0}.ant-col-push-0.ant-col-rtl{right:auto}.ant-col-pull-0.ant-col-rtl{left:auto}.ant-col-xxl-push-0.ant-col-rtl{right:auto}.ant-col-xxl-pull-0.ant-col-rtl{left:auto}.ant-col-xxl-offset-0.ant-col-rtl{margin-right:0}.ant-col-xxl-push-1.ant-col-rtl{right:4.16666667%;left:auto}.ant-col-xxl-pull-1.ant-col-rtl{right:auto;left:4.16666667%}.ant-col-xxl-offset-1.ant-col-rtl{margin-right:4.16666667%;margin-left:0}.ant-col-xxl-push-2.ant-col-rtl{right:8.33333333%;left:auto}.ant-col-xxl-pull-2.ant-col-rtl{right:auto;left:8.33333333%}.ant-col-xxl-offset-2.ant-col-rtl{margin-right:8.33333333%;margin-left:0}.ant-col-xxl-push-3.ant-col-rtl{right:12.5%;left:auto}.ant-col-xxl-pull-3.ant-col-rtl{right:auto;left:12.5%}.ant-col-xxl-offset-3.ant-col-rtl{margin-right:12.5%;margin-left:0}.ant-col-xxl-push-4.ant-col-rtl{right:16.66666667%;left:auto}.ant-col-xxl-pull-4.ant-col-rtl{right:auto;left:16.66666667%}.ant-col-xxl-offset-4.ant-col-rtl{margin-right:16.66666667%;margin-left:0}.ant-col-xxl-push-5.ant-col-rtl{right:20.83333333%;left:auto}.ant-col-xxl-pull-5.ant-col-rtl{right:auto;left:20.83333333%}.ant-col-xxl-offset-5.ant-col-rtl{margin-right:20.83333333%;margin-left:0}.ant-col-xxl-push-6.ant-col-rtl{right:25%;left:auto}.ant-col-xxl-pull-6.ant-col-rtl{right:auto;left:25%}.ant-col-xxl-offset-6.ant-col-rtl{margin-right:25%;margin-left:0}.ant-col-xxl-push-7.ant-col-rtl{right:29.16666667%;left:auto}.ant-col-xxl-pull-7.ant-col-rtl{right:auto;left:29.16666667%}.ant-col-xxl-offset-7.ant-col-rtl{margin-right:29.16666667%;margin-left:0}.ant-col-xxl-push-8.ant-col-rtl{right:33.33333333%;left:auto}.ant-col-xxl-pull-8.ant-col-rtl{right:auto;left:33.33333333%}.ant-col-xxl-offset-8.ant-col-rtl{margin-right:33.33333333%;margin-left:0}.ant-col-xxl-push-9.ant-col-rtl{right:37.5%;left:auto}.ant-col-xxl-pull-9.ant-col-rtl{right:auto;left:37.5%}.ant-col-xxl-offset-9.ant-col-rtl{margin-right:37.5%;margin-left:0}.ant-col-xxl-push-10.ant-col-rtl{right:41.66666667%;left:auto}.ant-col-xxl-pull-10.ant-col-rtl{right:auto;left:41.66666667%}.ant-col-xxl-offset-10.ant-col-rtl{margin-right:41.66666667%;margin-left:0}.ant-col-xxl-push-11.ant-col-rtl{right:45.83333333%;left:auto}.ant-col-xxl-pull-11.ant-col-rtl{right:auto;left:45.83333333%}.ant-col-xxl-offset-11.ant-col-rtl{margin-right:45.83333333%;margin-left:0}.ant-col-xxl-push-12.ant-col-rtl{right:50%;left:auto}.ant-col-xxl-pull-12.ant-col-rtl{right:auto;left:50%}.ant-col-xxl-offset-12.ant-col-rtl{margin-right:50%;margin-left:0}.ant-col-xxl-push-13.ant-col-rtl{right:54.16666667%;left:auto}.ant-col-xxl-pull-13.ant-col-rtl{right:auto;left:54.16666667%}.ant-col-xxl-offset-13.ant-col-rtl{margin-right:54.16666667%;margin-left:0}.ant-col-xxl-push-14.ant-col-rtl{right:58.33333333%;left:auto}.ant-col-xxl-pull-14.ant-col-rtl{right:auto;left:58.33333333%}.ant-col-xxl-offset-14.ant-col-rtl{margin-right:58.33333333%;margin-left:0}.ant-col-xxl-push-15.ant-col-rtl{right:62.5%;left:auto}.ant-col-xxl-pull-15.ant-col-rtl{right:auto;left:62.5%}.ant-col-xxl-offset-15.ant-col-rtl{margin-right:62.5%;margin-left:0}.ant-col-xxl-push-16.ant-col-rtl{right:66.66666667%;left:auto}.ant-col-xxl-pull-16.ant-col-rtl{right:auto;left:66.66666667%}.ant-col-xxl-offset-16.ant-col-rtl{margin-right:66.66666667%;margin-left:0}.ant-col-xxl-push-17.ant-col-rtl{right:70.83333333%;left:auto}.ant-col-xxl-pull-17.ant-col-rtl{right:auto;left:70.83333333%}.ant-col-xxl-offset-17.ant-col-rtl{margin-right:70.83333333%;margin-left:0}.ant-col-xxl-push-18.ant-col-rtl{right:75%;left:auto}.ant-col-xxl-pull-18.ant-col-rtl{right:auto;left:75%}.ant-col-xxl-offset-18.ant-col-rtl{margin-right:75%;margin-left:0}.ant-col-xxl-push-19.ant-col-rtl{right:79.16666667%;left:auto}.ant-col-xxl-pull-19.ant-col-rtl{right:auto;left:79.16666667%}.ant-col-xxl-offset-19.ant-col-rtl{margin-right:79.16666667%;margin-left:0}.ant-col-xxl-push-20.ant-col-rtl{right:83.33333333%;left:auto}.ant-col-xxl-pull-20.ant-col-rtl{right:auto;left:83.33333333%}.ant-col-xxl-offset-20.ant-col-rtl{margin-right:83.33333333%;margin-left:0}.ant-col-xxl-push-21.ant-col-rtl{right:87.5%;left:auto}.ant-col-xxl-pull-21.ant-col-rtl{right:auto;left:87.5%}.ant-col-xxl-offset-21.ant-col-rtl{margin-right:87.5%;margin-left:0}.ant-col-xxl-push-22.ant-col-rtl{right:91.66666667%;left:auto}.ant-col-xxl-pull-22.ant-col-rtl{right:auto;left:91.66666667%}.ant-col-xxl-offset-22.ant-col-rtl{margin-right:91.66666667%;margin-left:0}.ant-col-xxl-push-23.ant-col-rtl{right:95.83333333%;left:auto}.ant-col-xxl-pull-23.ant-col-rtl{right:auto;left:95.83333333%}.ant-col-xxl-offset-23.ant-col-rtl{margin-right:95.83333333%;margin-left:0}.ant-col-xxl-push-24.ant-col-rtl{right:100%;left:auto}.ant-col-xxl-pull-24.ant-col-rtl{right:auto;left:100%}.ant-col-xxl-offset-24.ant-col-rtl{margin-right:100%;margin-left:0}}.ant-row-rtl{direction:rtl}.ant-pro-inline-error-form-item-multiple{padding:6px 8px 12px}.ant-pro-inline-error-form-item-progress-success .ant-progress-bg{background-color:#52c41a}.ant-pro-inline-error-form-item-progress-error .ant-progress-bg{background-color:#ff4d4f}.ant-pro-inline-error-form-item-progress-warning .ant-progress-bg{background-color:#faad14}.ant-pro-inline-error-form-item-rule{margin:0;padding:0;list-style:none}.ant-pro-inline-error-form-item-rule-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.ant-pro-inline-error-form-item-rule-content-icon-default{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:14px;height:22px}.ant-pro-inline-error-form-item-rule-content-icon-default-circle{width:6px;height:6px;background-color:#00000073;border-radius:4px}.ant-pro-inline-error-form-item-rule-content-icon-loading{color:#1890ff}.ant-pro-inline-error-form-item-rule-content-icon-error{color:#ff4d4f}.ant-pro-inline-error-form-item-rule-content-icon-success{color:#52c41a}.ant-pro-inline-error-form-item-rule-content-text{color:#000000d9}.ant-pro-core-label-tip{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:100%}.ant-pro-core-label-tip-icon{display:block;margin-left:4px;cursor:pointer}.ant-pro-core-label-tip-icon:hover{color:#40a9ff}.ant-pro-core-label-tip-title{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:1;-ms-flex:1;flex:1}.ant-pro-core-label-tip-subtitle{margin-left:8px;color:#00000073;font-weight:400;font-size:14px;white-space:nowrap}.ant-pro-core-label-tip-title-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;word-break:keep-all}.ant-typography{color:#000000d9;word-break:break-word}.ant-typography.ant-typography-secondary{color:#00000073}.ant-typography.ant-typography-success{color:#52c41a}.ant-typography.ant-typography-warning{color:#faad14}.ant-typography.ant-typography-danger{color:#ff4d4f}a.ant-typography.ant-typography-danger:active,a.ant-typography.ant-typography-danger:focus{color:#d9363e}a.ant-typography.ant-typography-danger:hover{color:#ff7875}.ant-typography.ant-typography-disabled{color:#00000040;cursor:not-allowed;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div.ant-typography,.ant-typography p{margin-bottom:1em}h1.ant-typography,div.ant-typography-h1,div.ant-typography-h1>textarea,.ant-typography h1{margin-bottom:.5em;color:#000000d9;font-weight:600;font-size:38px;line-height:1.23}h2.ant-typography,div.ant-typography-h2,div.ant-typography-h2>textarea,.ant-typography h2{margin-bottom:.5em;color:#000000d9;font-weight:600;font-size:30px;line-height:1.35}h3.ant-typography,div.ant-typography-h3,div.ant-typography-h3>textarea,.ant-typography h3{margin-bottom:.5em;color:#000000d9;font-weight:600;font-size:24px;line-height:1.35}h4.ant-typography,div.ant-typography-h4,div.ant-typography-h4>textarea,.ant-typography h4{margin-bottom:.5em;color:#000000d9;font-weight:600;font-size:20px;line-height:1.4}h5.ant-typography,div.ant-typography-h5,div.ant-typography-h5>textarea,.ant-typography h5{margin-bottom:.5em;color:#000000d9;font-weight:600;font-size:16px;line-height:1.5}.ant-typography+h1.ant-typography,.ant-typography+h2.ant-typography,.ant-typography+h3.ant-typography,.ant-typography+h4.ant-typography,.ant-typography+h5.ant-typography{margin-top:1.2em}.ant-typography div+h1,.ant-typography ul+h1,.ant-typography li+h1,.ant-typography p+h1,.ant-typography h1+h1,.ant-typography h2+h1,.ant-typography h3+h1,.ant-typography h4+h1,.ant-typography h5+h1,.ant-typography div+h2,.ant-typography ul+h2,.ant-typography li+h2,.ant-typography p+h2,.ant-typography h1+h2,.ant-typography h2+h2,.ant-typography h3+h2,.ant-typography h4+h2,.ant-typography h5+h2,.ant-typography div+h3,.ant-typography ul+h3,.ant-typography li+h3,.ant-typography p+h3,.ant-typography h1+h3,.ant-typography h2+h3,.ant-typography h3+h3,.ant-typography h4+h3,.ant-typography h5+h3,.ant-typography div+h4,.ant-typography ul+h4,.ant-typography li+h4,.ant-typography p+h4,.ant-typography h1+h4,.ant-typography h2+h4,.ant-typography h3+h4,.ant-typography h4+h4,.ant-typography h5+h4,.ant-typography div+h5,.ant-typography ul+h5,.ant-typography li+h5,.ant-typography p+h5,.ant-typography h1+h5,.ant-typography h2+h5,.ant-typography h3+h5,.ant-typography h4+h5,.ant-typography h5+h5{margin-top:1.2em}a.ant-typography-ellipsis,span.ant-typography-ellipsis{display:inline-block;max-width:100%}a.ant-typography,.ant-typography a{color:#1890ff;outline:none;cursor:pointer;transition:color .3s;text-decoration:none}a.ant-typography:focus-visible,.ant-typography a:focus-visible,a.ant-typography:hover,.ant-typography a:hover{color:#40a9ff}a.ant-typography:active,.ant-typography a:active{color:#096dd9}a.ant-typography:active,.ant-typography a:active,a.ant-typography:hover,.ant-typography a:hover{text-decoration:none}a.ant-typography[disabled],.ant-typography a[disabled],a.ant-typography.ant-typography-disabled,.ant-typography a.ant-typography-disabled{color:#00000040;cursor:not-allowed}a.ant-typography[disabled]:active,.ant-typography a[disabled]:active,a.ant-typography.ant-typography-disabled:active,.ant-typography a.ant-typography-disabled:active,a.ant-typography[disabled]:hover,.ant-typography a[disabled]:hover,a.ant-typography.ant-typography-disabled:hover,.ant-typography a.ant-typography-disabled:hover{color:#00000040}a.ant-typography[disabled]:active,.ant-typography a[disabled]:active,a.ant-typography.ant-typography-disabled:active,.ant-typography a.ant-typography-disabled:active{pointer-events:none}.ant-typography code{margin:0 .2em;padding:.2em .4em .1em;font-size:85%;background:rgba(150,150,150,.1);border:1px solid rgba(100,100,100,.2);border-radius:3px}.ant-typography kbd{margin:0 .2em;padding:.15em .4em .1em;font-size:90%;background:rgba(150,150,150,.06);border:1px solid rgba(100,100,100,.2);border-bottom-width:2px;border-radius:3px}.ant-typography mark{padding:0;background-color:#ffe58f}.ant-typography u,.ant-typography ins{text-decoration:underline;-webkit-text-decoration-skip:ink;text-decoration-skip-ink:auto}.ant-typography s,.ant-typography del{text-decoration:line-through}.ant-typography strong{font-weight:600}.ant-typography-expand,.ant-typography-edit,.ant-typography-copy{color:#1890ff;outline:none;cursor:pointer;transition:color .3s;margin-left:4px}.ant-typography-expand:focus-visible,.ant-typography-edit:focus-visible,.ant-typography-copy:focus-visible,.ant-typography-expand:hover,.ant-typography-edit:hover,.ant-typography-copy:hover{color:#40a9ff}.ant-typography-expand:active,.ant-typography-edit:active,.ant-typography-copy:active{color:#096dd9}.ant-typography-copy-success,.ant-typography-copy-success:hover,.ant-typography-copy-success:focus{color:#52c41a}.ant-typography-edit-content{position:relative}div.ant-typography-edit-content{left:-12px;margin-top:-5px;margin-bottom:calc(1em - 5px)}.ant-typography-edit-content-confirm{position:absolute;right:10px;bottom:8px;color:#00000073;font-weight:400;font-size:14px;font-style:normal;pointer-events:none}.ant-typography-edit-content textarea{height:1em;margin:0!important;-moz-transition:none}.ant-typography ul,.ant-typography ol{margin:0 0 1em;padding:0}.ant-typography ul li,.ant-typography ol li{margin:0 0 0 20px;padding:0 0 0 4px}.ant-typography ul{list-style-type:circle}.ant-typography ul ul{list-style-type:disc}.ant-typography ol{list-style-type:decimal}.ant-typography pre,.ant-typography blockquote{margin:1em 0}.ant-typography pre{padding:.4em .6em;white-space:pre-wrap;word-wrap:break-word;background:rgba(150,150,150,.1);border:1px solid rgba(100,100,100,.2);border-radius:3px}.ant-typography pre code{display:inline;margin:0;padding:0;font-size:inherit;font-family:inherit;background:transparent;border:0}.ant-typography blockquote{padding:0 0 0 .6em;border-left:4px solid rgba(100,100,100,.2);opacity:.85}.ant-typography-single-line{white-space:nowrap}.ant-typography-ellipsis-single-line{overflow:hidden;text-overflow:ellipsis}a.ant-typography-ellipsis-single-line,span.ant-typography-ellipsis-single-line{vertical-align:bottom}.ant-typography-ellipsis-multiple-line{display:-webkit-box;overflow:hidden;-webkit-line-clamp:3;-webkit-box-orient:vertical}.ant-typography-rtl{direction:rtl}.ant-typography-rtl .ant-typography-expand,.ant-typography-rtl .ant-typography-edit,.ant-typography-rtl .ant-typography-copy{margin-right:4px;margin-left:0}.ant-typography-rtl .ant-typography-expand{float:left}div.ant-typography-edit-content.ant-typography-rtl{right:-12px;left:auto}.ant-typography-rtl .ant-typography-edit-content-confirm{right:auto;left:10px}.ant-typography-rtl.ant-typography ul li,.ant-typography-rtl.ant-typography ol li{margin:0 20px 0 0;padding:0 4px 0 0}.ant-input-affix-wrapper{position:relative;display:inline-block;width:100%;min-width:0;padding:4px 11px;color:#000000d9;font-size:14px;line-height:1.5715;background-color:#fff;background-image:none;border:1px solid #d9d9d9;border-radius:2px;transition:all .3s;display:inline-flex}.ant-input-affix-wrapper::-moz-placeholder{color:#bfbfbf;-moz-user-select:none;user-select:none}.ant-input-affix-wrapper:-ms-input-placeholder{color:#bfbfbf;-ms-user-select:none;user-select:none}.ant-input-affix-wrapper::placeholder{color:#bfbfbf;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ant-input-affix-wrapper:-moz-placeholder{text-overflow:ellipsis}.ant-input-affix-wrapper:-ms-input-placeholder{text-overflow:ellipsis}.ant-input-affix-wrapper:placeholder-shown{text-overflow:ellipsis}.ant-input-affix-wrapper:hover{border-color:#40a9ff;border-right-width:1px}.ant-input-rtl .ant-input-affix-wrapper:hover{border-right-width:0;border-left-width:1px!important}.ant-input-affix-wrapper:focus,.ant-input-affix-wrapper-focused{border-color:#40a9ff;box-shadow:0 0 0 2px #1890ff33;border-right-width:1px;outline:0}.ant-input-rtl .ant-input-affix-wrapper:focus,.ant-input-rtl .ant-input-affix-wrapper-focused{border-right-width:0;border-left-width:1px!important}.ant-input-affix-wrapper-disabled{color:#00000040;background-color:#f5f5f5;border-color:#d9d9d9;box-shadow:none;cursor:not-allowed;opacity:1}.ant-input-affix-wrapper-disabled:hover{border-color:#d9d9d9;border-right-width:1px}.ant-input-affix-wrapper[disabled]{color:#00000040;background-color:#f5f5f5;border-color:#d9d9d9;box-shadow:none;cursor:not-allowed;opacity:1}.ant-input-affix-wrapper[disabled]:hover{border-color:#d9d9d9;border-right-width:1px}.ant-input-affix-wrapper-borderless,.ant-input-affix-wrapper-borderless:hover,.ant-input-affix-wrapper-borderless:focus,.ant-input-affix-wrapper-borderless-focused,.ant-input-affix-wrapper-borderless-disabled,.ant-input-affix-wrapper-borderless[disabled]{background-color:transparent;border:none;box-shadow:none}textarea.ant-input-affix-wrapper{max-width:100%;height:auto;min-height:32px;line-height:1.5715;vertical-align:bottom;transition:all .3s,height 0s}.ant-input-affix-wrapper-lg{padding:6.5px 11px;font-size:16px}.ant-input-affix-wrapper-sm{padding:0 7px}.ant-input-affix-wrapper-rtl{direction:rtl}.ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover{border-color:#40a9ff;border-right-width:1px;z-index:1}.ant-input-rtl .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover{border-right-width:0;border-left-width:1px!important}.ant-input-search-with-button .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover{z-index:0}.ant-input-affix-wrapper-focused,.ant-input-affix-wrapper:focus{z-index:1}.ant-input-affix-wrapper-disabled .ant-input[disabled]{background:rgba(255,255,255,0)}.ant-input-affix-wrapper>.ant-input{font-size:inherit;border:none;outline:none}.ant-input-affix-wrapper>.ant-input:focus{box-shadow:none!important}.ant-input-affix-wrapper>.ant-input:not(textarea){padding:0}.ant-input-affix-wrapper:before{display:inline-block;width:0;visibility:hidden;content:" "}.ant-input-prefix,.ant-input-suffix{display:flex;flex:none;align-items:center}.ant-input-prefix>*:not(:last-child),.ant-input-suffix>*:not(:last-child){margin-right:8px}.ant-input-show-count-suffix{color:#00000073}.ant-input-show-count-has-suffix{margin-right:2px}.ant-input-prefix{margin-right:4px}.ant-input-suffix{margin-left:4px}.anticon.ant-input-clear-icon,.ant-input-clear-icon{margin:0;color:#00000040;font-size:12px;vertical-align:-1px;cursor:pointer;transition:color .3s}.anticon.ant-input-clear-icon:hover,.ant-input-clear-icon:hover{color:#00000073}.anticon.ant-input-clear-icon:active,.ant-input-clear-icon:active{color:#000000d9}.anticon.ant-input-clear-icon-hidden,.ant-input-clear-icon-hidden{visibility:hidden}.anticon.ant-input-clear-icon-has-suffix,.ant-input-clear-icon-has-suffix{margin:0 4px}.ant-input-affix-wrapper.ant-input-affix-wrapper-textarea-with-clear-btn{padding:0}.ant-input-affix-wrapper.ant-input-affix-wrapper-textarea-with-clear-btn .ant-input-clear-icon{position:absolute;top:8px;right:8px;z-index:1}.ant-input-status-error:not(.ant-input-disabled):not(.ant-input-borderless).ant-input,.ant-input-status-error:not(.ant-input-disabled):not(.ant-input-borderless).ant-input:hover{background:#fff;border-color:#ff4d4f}.ant-input-status-error:not(.ant-input-disabled):not(.ant-input-borderless).ant-input:focus,.ant-input-status-error:not(.ant-input-disabled):not(.ant-input-borderless).ant-input-focused{border-color:#ff7875;box-shadow:0 0 0 2px #ff4d4f33;border-right-width:1px;outline:0}.ant-input-status-error .ant-input-prefix{color:#ff4d4f}.ant-input-status-warning:not(.ant-input-disabled):not(.ant-input-borderless).ant-input,.ant-input-status-warning:not(.ant-input-disabled):not(.ant-input-borderless).ant-input:hover{background:#fff;border-color:#faad14}.ant-input-status-warning:not(.ant-input-disabled):not(.ant-input-borderless).ant-input:focus,.ant-input-status-warning:not(.ant-input-disabled):not(.ant-input-borderless).ant-input-focused{border-color:#ffc53d;box-shadow:0 0 0 2px #faad1433;border-right-width:1px;outline:0}.ant-input-status-warning .ant-input-prefix{color:#faad14}.ant-input-affix-wrapper-status-error:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper,.ant-input-affix-wrapper-status-error:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper:hover{background:#fff;border-color:#ff4d4f}.ant-input-affix-wrapper-status-error:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper:focus,.ant-input-affix-wrapper-status-error:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper-focused{border-color:#ff7875;box-shadow:0 0 0 2px #ff4d4f33;border-right-width:1px;outline:0}.ant-input-affix-wrapper-status-error .ant-input-prefix{color:#ff4d4f}.ant-input-affix-wrapper-status-warning:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper,.ant-input-affix-wrapper-status-warning:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper:hover{background:#fff;border-color:#faad14}.ant-input-affix-wrapper-status-warning:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper:focus,.ant-input-affix-wrapper-status-warning:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper-focused{border-color:#ffc53d;box-shadow:0 0 0 2px #faad1433;border-right-width:1px;outline:0}.ant-input-affix-wrapper-status-warning .ant-input-prefix{color:#faad14}.ant-input-textarea-status-error.ant-input-textarea-has-feedback .ant-input,.ant-input-textarea-status-warning.ant-input-textarea-has-feedback .ant-input,.ant-input-textarea-status-success.ant-input-textarea-has-feedback .ant-input,.ant-input-textarea-status-validating.ant-input-textarea-has-feedback .ant-input{padding-right:24px}.ant-input-group-wrapper-status-error .ant-input-group-addon{color:#ff4d4f;border-color:#ff4d4f}.ant-input-group-wrapper-status-warning .ant-input-group-addon{color:#faad14;border-color:#faad14}.ant-input{box-sizing:border-box;margin:0;font-variant:tabular-nums;list-style:none;font-feature-settings:"tnum","tnum";position:relative;display:inline-block;width:100%;min-width:0;padding:4px 11px;color:#000000d9;font-size:14px;line-height:1.5715;background-color:#fff;background-image:none;border:1px solid #d9d9d9;border-radius:2px;transition:all .3s}.ant-input::-moz-placeholder{color:#bfbfbf;-moz-user-select:none;user-select:none}.ant-input:-ms-input-placeholder{color:#bfbfbf;-ms-user-select:none;user-select:none}.ant-input::placeholder{color:#bfbfbf;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ant-input:-moz-placeholder{text-overflow:ellipsis}.ant-input:-ms-input-placeholder{text-overflow:ellipsis}.ant-input:placeholder-shown{text-overflow:ellipsis}.ant-input:hover{border-color:#40a9ff;border-right-width:1px}.ant-input-rtl .ant-input:hover{border-right-width:0;border-left-width:1px!important}.ant-input:focus,.ant-input-focused{border-color:#40a9ff;box-shadow:0 0 0 2px #1890ff33;border-right-width:1px;outline:0}.ant-input-rtl .ant-input:focus,.ant-input-rtl .ant-input-focused{border-right-width:0;border-left-width:1px!important}.ant-input-disabled{color:#00000040;background-color:#f5f5f5;border-color:#d9d9d9;box-shadow:none;cursor:not-allowed;opacity:1}.ant-input-disabled:hover{border-color:#d9d9d9;border-right-width:1px}.ant-input[disabled]{color:#00000040;background-color:#f5f5f5;border-color:#d9d9d9;box-shadow:none;cursor:not-allowed;opacity:1}.ant-input[disabled]:hover{border-color:#d9d9d9;border-right-width:1px}.ant-input-borderless,.ant-input-borderless:hover,.ant-input-borderless:focus,.ant-input-borderless-focused,.ant-input-borderless-disabled,.ant-input-borderless[disabled]{background-color:transparent;border:none;box-shadow:none}textarea.ant-input{max-width:100%;height:auto;min-height:32px;line-height:1.5715;vertical-align:bottom;transition:all .3s,height 0s}.ant-input-lg{padding:6.5px 11px;font-size:16px}.ant-input-sm{padding:0 7px}.ant-input-rtl{direction:rtl}.ant-input-group{box-sizing:border-box;margin:0;padding:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum","tnum";position:relative;display:table;width:100%;border-collapse:separate;border-spacing:0}.ant-input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.ant-input-group>[class*=col-]{padding-right:8px}.ant-input-group>[class*=col-]:last-child{padding-right:0}.ant-input-group-addon,.ant-input-group-wrap,.ant-input-group>.ant-input{display:table-cell}.ant-input-group-addon:not(:first-child):not(:last-child),.ant-input-group-wrap:not(:first-child):not(:last-child),.ant-input-group>.ant-input:not(:first-child):not(:last-child){border-radius:0}.ant-input-group-addon,.ant-input-group-wrap{width:1px;white-space:nowrap;vertical-align:middle}.ant-input-group-wrap>*{display:block!important}.ant-input-group .ant-input{float:left;width:100%;margin-bottom:0;text-align:inherit}.ant-input-group .ant-input:focus{z-index:1;border-right-width:1px}.ant-input-group .ant-input:hover{z-index:1;border-right-width:1px}.ant-input-search-with-button .ant-input-group .ant-input:hover{z-index:0}.ant-input-group-addon{position:relative;padding:0 11px;color:#000000d9;font-weight:400;font-size:14px;text-align:center;background-color:#fafafa;border:1px solid #d9d9d9;border-radius:2px;transition:all .3s}.ant-input-group-addon .ant-select{margin:-5px -11px}.ant-input-group-addon .ant-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{background-color:inherit;border:1px solid transparent;box-shadow:none}.ant-input-group-addon .ant-select-open .ant-select-selector,.ant-input-group-addon .ant-select-focused .ant-select-selector{color:#1890ff}.ant-input-group-addon .ant-cascader-picker{margin:-9px -12px;background-color:transparent}.ant-input-group-addon .ant-cascader-picker .ant-cascader-input{text-align:left;border:0;box-shadow:none}.ant-input-group>.ant-input:first-child,.ant-input-group-addon:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.ant-input-group>.ant-input:first-child .ant-select .ant-select-selector,.ant-input-group-addon:first-child .ant-select .ant-select-selector{border-top-right-radius:0;border-bottom-right-radius:0}.ant-input-group>.ant-input-affix-wrapper:not(:first-child) .ant-input{border-top-left-radius:0;border-bottom-left-radius:0}.ant-input-group>.ant-input-affix-wrapper:not(:last-child) .ant-input{border-top-right-radius:0;border-bottom-right-radius:0}.ant-input-group-addon:first-child{border-right:0}.ant-input-group-addon:last-child{border-left:0}.ant-input-group>.ant-input:last-child,.ant-input-group-addon:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.ant-input-group>.ant-input:last-child .ant-select .ant-select-selector,.ant-input-group-addon:last-child .ant-select .ant-select-selector{border-top-left-radius:0;border-bottom-left-radius:0}.ant-input-group-lg .ant-input,.ant-input-group-lg>.ant-input-group-addon{padding:6.5px 11px;font-size:16px}.ant-input-group-sm .ant-input,.ant-input-group-sm>.ant-input-group-addon{padding:0 7px}.ant-input-group-lg .ant-select-single .ant-select-selector{height:40px}.ant-input-group-sm .ant-select-single .ant-select-selector{height:24px}.ant-input-group .ant-input-affix-wrapper:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.ant-input-search .ant-input-group .ant-input-affix-wrapper:not(:last-child){border-top-left-radius:2px;border-bottom-left-radius:2px}.ant-input-group .ant-input-affix-wrapper:not(:first-child),.ant-input-search .ant-input-group .ant-input-affix-wrapper:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.ant-input-group.ant-input-group-compact{display:block}.ant-input-group.ant-input-group-compact:before{display:table;content:""}.ant-input-group.ant-input-group-compact:after{display:table;clear:both;content:""}.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child),.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child),.ant-input-group.ant-input-group-compact>.ant-input:not(:first-child):not(:last-child){border-right-width:1px}.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child):hover,.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child):hover,.ant-input-group.ant-input-group-compact>.ant-input:not(:first-child):not(:last-child):hover{z-index:1}.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child):focus,.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child):focus,.ant-input-group.ant-input-group-compact>.ant-input:not(:first-child):not(:last-child):focus{z-index:1}.ant-input-group.ant-input-group-compact>*{display:inline-block;float:none;vertical-align:top;border-radius:0}.ant-input-group.ant-input-group-compact>.ant-input-affix-wrapper,.ant-input-group.ant-input-group-compact>.ant-input-number-affix-wrapper,.ant-input-group.ant-input-group-compact>.ant-picker-range{display:inline-flex}.ant-input-group.ant-input-group-compact>*:not(:last-child){margin-right:-1px;border-right-width:1px}.ant-input-group.ant-input-group-compact .ant-input{float:none}.ant-input-group.ant-input-group-compact>.ant-select>.ant-select-selector,.ant-input-group.ant-input-group-compact>.ant-select-auto-complete .ant-input,.ant-input-group.ant-input-group-compact>.ant-cascader-picker .ant-input,.ant-input-group.ant-input-group-compact>.ant-input-group-wrapper .ant-input{border-right-width:1px;border-radius:0}.ant-input-group.ant-input-group-compact>.ant-select>.ant-select-selector:hover,.ant-input-group.ant-input-group-compact>.ant-select-auto-complete .ant-input:hover,.ant-input-group.ant-input-group-compact>.ant-cascader-picker .ant-input:hover,.ant-input-group.ant-input-group-compact>.ant-input-group-wrapper .ant-input:hover{z-index:1}.ant-input-group.ant-input-group-compact>.ant-select>.ant-select-selector:focus,.ant-input-group.ant-input-group-compact>.ant-select-auto-complete .ant-input:focus,.ant-input-group.ant-input-group-compact>.ant-cascader-picker .ant-input:focus,.ant-input-group.ant-input-group-compact>.ant-input-group-wrapper .ant-input:focus{z-index:1}.ant-input-group.ant-input-group-compact>.ant-select-focused{z-index:1}.ant-input-group.ant-input-group-compact>.ant-select>.ant-select-arrow{z-index:1}.ant-input-group.ant-input-group-compact>*:first-child,.ant-input-group.ant-input-group-compact>.ant-select:first-child>.ant-select-selector,.ant-input-group.ant-input-group-compact>.ant-select-auto-complete:first-child .ant-input,.ant-input-group.ant-input-group-compact>.ant-cascader-picker:first-child .ant-input{border-top-left-radius:2px;border-bottom-left-radius:2px}.ant-input-group.ant-input-group-compact>*:last-child,.ant-input-group.ant-input-group-compact>.ant-select:last-child>.ant-select-selector,.ant-input-group.ant-input-group-compact>.ant-cascader-picker:last-child .ant-input,.ant-input-group.ant-input-group-compact>.ant-cascader-picker-focused:last-child .ant-input{border-right-width:1px;border-top-right-radius:2px;border-bottom-right-radius:2px}.ant-input-group.ant-input-group-compact>.ant-select-auto-complete .ant-input{vertical-align:top}.ant-input-group.ant-input-group-compact .ant-input-group-wrapper+.ant-input-group-wrapper{margin-left:-1px}.ant-input-group.ant-input-group-compact .ant-input-group-wrapper+.ant-input-group-wrapper .ant-input-affix-wrapper{border-radius:0}.ant-input-group.ant-input-group-compact .ant-input-group-wrapper:not(:last-child).ant-input-search>.ant-input-group>.ant-input-group-addon>.ant-input-search-button{border-radius:0}.ant-input-group.ant-input-group-compact .ant-input-group-wrapper:not(:last-child).ant-input-search>.ant-input-group>.ant-input{border-radius:2px 0 0 2px}.ant-input-group>.ant-input-rtl:first-child,.ant-input-group-rtl .ant-input-group-addon:first-child{border-radius:0 2px 2px 0}.ant-input-group-rtl .ant-input-group-addon:first-child{border-right:1px solid #d9d9d9;border-left:0}.ant-input-group-rtl .ant-input-group-addon:last-child{border-right:0;border-left:1px solid #d9d9d9;border-radius:2px 0 0 2px}.ant-input-group-rtl.ant-input-group>.ant-input:last-child,.ant-input-group-rtl.ant-input-group-addon:last-child{border-radius:2px 0 0 2px}.ant-input-group-rtl.ant-input-group .ant-input-affix-wrapper:not(:first-child){border-radius:2px 0 0 2px}.ant-input-group-rtl.ant-input-group .ant-input-affix-wrapper:not(:last-child){border-radius:0 2px 2px 0}.ant-input-group-rtl.ant-input-group.ant-input-group-compact>*:not(:last-child){margin-right:0;margin-left:-1px;border-left-width:1px}.ant-input-group-rtl.ant-input-group.ant-input-group-compact>*:first-child,.ant-input-group-rtl.ant-input-group.ant-input-group-compact>.ant-select:first-child>.ant-select-selector,.ant-input-group-rtl.ant-input-group.ant-input-group-compact>.ant-select-auto-complete:first-child .ant-input,.ant-input-group-rtl.ant-input-group.ant-input-group-compact>.ant-cascader-picker:first-child .ant-input{border-radius:0 2px 2px 0}.ant-input-group-rtl.ant-input-group.ant-input-group-compact>*:last-child,.ant-input-group-rtl.ant-input-group.ant-input-group-compact>.ant-select:last-child>.ant-select-selector,.ant-input-group-rtl.ant-input-group.ant-input-group-compact>.ant-select-auto-complete:last-child .ant-input,.ant-input-group-rtl.ant-input-group.ant-input-group-compact>.ant-cascader-picker:last-child .ant-input,.ant-input-group-rtl.ant-input-group.ant-input-group-compact>.ant-cascader-picker-focused:last-child .ant-input{border-left-width:1px;border-radius:2px 0 0 2px}.ant-input-group.ant-input-group-compact .ant-input-group-wrapper-rtl+.ant-input-group-wrapper-rtl{margin-right:-1px;margin-left:0}.ant-input-group.ant-input-group-compact .ant-input-group-wrapper-rtl:not(:last-child).ant-input-search>.ant-input-group>.ant-input{border-radius:0 2px 2px 0}.ant-input-group-wrapper{display:inline-block;width:100%;text-align:start;vertical-align:top}.ant-input-password-icon.anticon{color:#00000073;cursor:pointer;transition:all .3s}.ant-input-password-icon.anticon:hover{color:#000000d9}.ant-input[type=color]{height:32px}.ant-input[type=color].ant-input-lg{height:40px}.ant-input[type=color].ant-input-sm{height:24px;padding-top:3px;padding-bottom:3px}.ant-input-textarea-show-count>.ant-input{height:100%}.ant-input-textarea-show-count:after{float:right;color:#00000073;white-space:nowrap;content:attr(data-count);pointer-events:none}.ant-input-textarea-show-count.ant-input-textarea-in-form-item:after{margin-bottom:-22px}.ant-input-textarea-suffix{position:absolute;top:0;right:11px;bottom:0;z-index:1;display:inline-flex;align-items:center;margin:auto}.ant-input-compact-item:not(.ant-input-compact-last-item):not(.ant-input-compact-item-rtl){margin-right:-1px}.ant-input-compact-item:not(.ant-input-compact-last-item).ant-input-compact-item-rtl{margin-left:-1px}.ant-input-compact-item:hover,.ant-input-compact-item:focus,.ant-input-compact-item:active{z-index:2}.ant-input-compact-item[disabled]{z-index:0}.ant-input-compact-item:not(.ant-input-compact-first-item):not(.ant-input-compact-last-item).ant-input{border-radius:0}.ant-input-compact-item.ant-input.ant-input-compact-first-item:not(.ant-input-compact-last-item):not(.ant-input-compact-item-rtl){border-top-right-radius:0;border-bottom-right-radius:0}.ant-input-compact-item.ant-input.ant-input-compact-last-item:not(.ant-input-compact-first-item):not(.ant-input-compact-item-rtl){border-top-left-radius:0;border-bottom-left-radius:0}.ant-input-compact-item.ant-input.ant-input-compact-item-rtl.ant-input-compact-first-item:not(.ant-input-compact-last-item){border-top-left-radius:0;border-bottom-left-radius:0}.ant-input-compact-item.ant-input.ant-input-compact-item-rtl.ant-input-compact-last-item:not(.ant-input-compact-first-item){border-top-right-radius:0;border-bottom-right-radius:0}.ant-input-search .ant-input:hover,.ant-input-search .ant-input:focus{border-color:#40a9ff}.ant-input-search .ant-input:hover+.ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary),.ant-input-search .ant-input:focus+.ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary){border-left-color:#40a9ff}.ant-input-search .ant-input-affix-wrapper{border-radius:0}.ant-input-search .ant-input-lg{line-height:1.5713}.ant-input-search>.ant-input-group>.ant-input-group-addon:last-child{left:-1px;padding:0;border:0}.ant-input-search>.ant-input-group>.ant-input-group-addon:last-child .ant-input-search-button{padding-top:0;padding-bottom:0;border-radius:0 2px 2px 0}.ant-input-search>.ant-input-group>.ant-input-group-addon:last-child .ant-input-search-button:not(.ant-btn-primary){color:#00000073}.ant-input-search>.ant-input-group>.ant-input-group-addon:last-child .ant-input-search-button:not(.ant-btn-primary).ant-btn-loading:before{top:0;right:0;bottom:0;left:0}.ant-input-search-button{height:32px}.ant-input-search-button:hover,.ant-input-search-button:focus{z-index:1}.ant-input-search-large .ant-input-search-button{height:40px}.ant-input-search-small .ant-input-search-button{height:24px}.ant-input-search.ant-input-compact-item:not(.ant-input-compact-item-rtl):not(.ant-input-compact-last-item) .ant-input-group-addon .ant-input-search-button{margin-right:-1px;border-radius:0}.ant-input-search.ant-input-compact-item:not(.ant-input-compact-first-item) .ant-input,.ant-input-search.ant-input-compact-item:not(.ant-input-compact-first-item) .ant-input-affix-wrapper{border-radius:0}.ant-input-search.ant-input-compact-item>.ant-input-group-addon .ant-input-search-button:hover,.ant-input-search.ant-input-compact-item>.ant-input:hover,.ant-input-search.ant-input-compact-item .ant-input-affix-wrapper:hover,.ant-input-search.ant-input-compact-item>.ant-input-group-addon .ant-input-search-button:focus,.ant-input-search.ant-input-compact-item>.ant-input:focus,.ant-input-search.ant-input-compact-item .ant-input-affix-wrapper:focus,.ant-input-search.ant-input-compact-item>.ant-input-group-addon .ant-input-search-button:active,.ant-input-search.ant-input-compact-item>.ant-input:active,.ant-input-search.ant-input-compact-item .ant-input-affix-wrapper:active{z-index:2}.ant-input-search.ant-input-compact-item>.ant-input-affix-wrapper-focused{z-index:2}.ant-input-search.ant-input-compact-item-rtl:not(.ant-input-compact-last-item) .ant-input-group-addon:last-child .ant-input-search-button{margin-left:-1px;border-radius:0}.ant-input-group-wrapper-rtl,.ant-input-group-rtl{direction:rtl}.ant-input-affix-wrapper.ant-input-affix-wrapper-rtl>input.ant-input{border:none;outline:none}.ant-input-affix-wrapper-rtl .ant-input-prefix{margin:0 0 0 4px}.ant-input-affix-wrapper-rtl .ant-input-suffix{margin:0 4px 0 0}.ant-input-textarea-rtl{direction:rtl}.ant-input-textarea-rtl.ant-input-textarea-show-count:after{text-align:left}.ant-input-affix-wrapper-rtl .ant-input-clear-icon-has-suffix{margin-right:0;margin-left:4px}.ant-input-affix-wrapper-rtl .ant-input-clear-icon{right:auto;left:8px}.ant-input-search-rtl{direction:rtl}.ant-input-search-rtl .ant-input:hover+.ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary),.ant-input-search-rtl .ant-input:focus+.ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary){border-left-color:#d9d9d9}.ant-input-search-rtl .ant-input:hover+.ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary):hover,.ant-input-search-rtl .ant-input:focus+.ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary):hover{border-left-color:#40a9ff}.ant-input-search-rtl>.ant-input-group>.ant-input-affix-wrapper:hover,.ant-input-search-rtl>.ant-input-group>.ant-input-affix-wrapper-focused{border-right-color:#40a9ff}.ant-input-search-rtl>.ant-input-group>.ant-input-group-addon:last-child{right:-1px;left:auto}.ant-input-search-rtl>.ant-input-group>.ant-input-group-addon:last-child .ant-input-search-button{border-radius:2px 0 0 2px}@media screen and (-ms-high-contrast: active),(-ms-high-contrast: none){.ant-input{height:32px}.ant-input-lg{height:40px}.ant-input-sm{height:24px}.ant-input-affix-wrapper>input.ant-input{height:auto}}.ant-message{box-sizing:border-box;margin:0;padding:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum","tnum";position:fixed;top:8px;left:0;z-index:1010;width:100%;pointer-events:none}.ant-message-notice{padding:8px;text-align:center}.ant-message-notice-content{display:inline-block;padding:10px 16px;background:#fff;border-radius:2px;box-shadow:0 3px 6px -4px #0000001f,0 6px 16px #00000014,0 9px 28px 8px #0000000d;pointer-events:all}.ant-message-success .anticon{color:#52c41a}.ant-message-error .anticon{color:#ff4d4f}.ant-message-warning .anticon{color:#faad14}.ant-message-info .anticon,.ant-message-loading .anticon{color:#1890ff}.ant-message .anticon{position:relative;top:1px;margin-right:8px;font-size:16px}.ant-message-notice.ant-move-up-leave.ant-move-up-leave-active{animation-name:MessageMoveOut;animation-duration:.3s}@keyframes MessageMoveOut{0%{max-height:150px;padding:8px;opacity:1}to{max-height:0;padding:0;opacity:0}}.ant-message-rtl,.ant-message-rtl span{direction:rtl}.ant-message-rtl .anticon{margin-right:0;margin-left:8px}.ant-popconfirm{z-index:1060}.ant-cascader-checkbox{box-sizing:border-box;margin:0;padding:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;list-style:none;font-feature-settings:"tnum","tnum";position:relative;top:.2em;line-height:1;white-space:nowrap;outline:none;cursor:pointer}.ant-cascader-checkbox-wrapper:hover .ant-cascader-checkbox-inner,.ant-cascader-checkbox:hover .ant-cascader-checkbox-inner,.ant-cascader-checkbox-input:focus+.ant-cascader-checkbox-inner{border-color:#1890ff}.ant-cascader-checkbox-checked:after{position:absolute;top:0;left:0;width:100%;height:100%;border:1px solid #1890ff;border-radius:2px;visibility:hidden;animation:antCheckboxEffect .36s ease-in-out;animation-fill-mode:backwards;content:""}.ant-cascader-checkbox:hover:after,.ant-cascader-checkbox-wrapper:hover .ant-cascader-checkbox:after{visibility:visible}.ant-cascader-checkbox-inner{position:relative;top:0;left:0;display:block;width:16px;height:16px;direction:ltr;background-color:#fff;border:1px solid #d9d9d9;border-radius:2px;border-collapse:separate;transition:all .3s}.ant-cascader-checkbox-inner:after{position:absolute;top:50%;left:21.5%;display:table;width:5.71428571px;height:9.14285714px;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg) scale(0) translate(-50%,-50%);opacity:0;transition:all .1s cubic-bezier(.71,-.46,.88,.6),opacity .1s;content:" "}.ant-cascader-checkbox-input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;cursor:pointer;opacity:0}.ant-cascader-checkbox-checked .ant-cascader-checkbox-inner:after{position:absolute;display:table;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg) scale(1) translate(-50%,-50%);opacity:1;transition:all .2s cubic-bezier(.12,.4,.29,1.46) .1s;content:" "}.ant-cascader-checkbox-checked .ant-cascader-checkbox-inner{background-color:#1890ff;border-color:#1890ff}.ant-cascader-checkbox-disabled{cursor:not-allowed}.ant-cascader-checkbox-disabled.ant-cascader-checkbox-checked .ant-cascader-checkbox-inner:after{border-color:#00000040;animation-name:none}.ant-cascader-checkbox-disabled .ant-cascader-checkbox-input{cursor:not-allowed;pointer-events:none}.ant-cascader-checkbox-disabled .ant-cascader-checkbox-inner{background-color:#f5f5f5;border-color:#d9d9d9!important}.ant-cascader-checkbox-disabled .ant-cascader-checkbox-inner:after{border-color:#f5f5f5;border-collapse:separate;animation-name:none}.ant-cascader-checkbox-disabled+span{color:#00000040;cursor:not-allowed}.ant-cascader-checkbox-disabled:hover:after,.ant-cascader-checkbox-wrapper:hover .ant-cascader-checkbox-disabled:after{visibility:hidden}.ant-cascader-checkbox-wrapper{box-sizing:border-box;margin:0;padding:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum","tnum";display:inline-flex;align-items:baseline;line-height:unset;cursor:pointer}.ant-cascader-checkbox-wrapper:after{display:inline-block;width:0;overflow:hidden;content:" "}.ant-cascader-checkbox-wrapper.ant-cascader-checkbox-wrapper-disabled{cursor:not-allowed}.ant-cascader-checkbox-wrapper+.ant-cascader-checkbox-wrapper{margin-left:8px}.ant-cascader-checkbox-wrapper.ant-cascader-checkbox-wrapper-in-form-item input[type=checkbox]{width:14px;height:14px}.ant-cascader-checkbox+span{padding-right:8px;padding-left:8px}.ant-cascader-checkbox-group{box-sizing:border-box;margin:0;padding:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum","tnum";display:inline-block}.ant-cascader-checkbox-group-item{margin-right:8px}.ant-cascader-checkbox-group-item:last-child{margin-right:0}.ant-cascader-checkbox-group-item+.ant-cascader-checkbox-group-item{margin-left:0}.ant-cascader-checkbox-indeterminate .ant-cascader-checkbox-inner{background-color:#fff;border-color:#d9d9d9}.ant-cascader-checkbox-indeterminate .ant-cascader-checkbox-inner:after{top:50%;left:50%;width:8px;height:8px;background-color:#1890ff;border:0;transform:translate(-50%,-50%) scale(1);opacity:1;content:" "}.ant-cascader-checkbox-indeterminate.ant-cascader-checkbox-disabled .ant-cascader-checkbox-inner:after{background-color:#00000040;border-color:#00000040}.ant-cascader{width:184px}.ant-cascader-checkbox{top:0;margin-right:8px}.ant-cascader-menus{display:flex;flex-wrap:nowrap;align-items:flex-start}.ant-cascader-menus.ant-cascader-menu-empty .ant-cascader-menu{width:100%;height:auto}.ant-cascader-menu{flex-grow:1;min-width:111px;height:180px;margin:-4px 0;padding:4px 0;overflow:auto;vertical-align:top;list-style:none;border-right:1px solid #f0f0f0;-ms-overflow-style:-ms-autohiding-scrollbar}.ant-cascader-menu-item{display:flex;flex-wrap:nowrap;align-items:center;padding:5px 12px;overflow:hidden;line-height:22px;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;transition:all .3s}.ant-cascader-menu-item:hover{background:#f5f5f5}.ant-cascader-menu-item-disabled{color:#00000040;cursor:not-allowed}.ant-cascader-menu-item-disabled:hover{background:transparent}.ant-cascader-menu-empty .ant-cascader-menu-item{color:#00000040;cursor:default;pointer-events:none}.ant-cascader-menu-item-active:not(.ant-cascader-menu-item-disabled),.ant-cascader-menu-item-active:not(.ant-cascader-menu-item-disabled):hover{font-weight:600;background-color:#e6f7ff}.ant-cascader-menu-item-content{flex:auto}.ant-cascader-menu-item-expand .ant-cascader-menu-item-expand-icon,.ant-cascader-menu-item-loading-icon{margin-left:4px;color:#00000073;font-size:10px}.ant-cascader-menu-item-disabled.ant-cascader-menu-item-expand .ant-cascader-menu-item-expand-icon,.ant-cascader-menu-item-disabled.ant-cascader-menu-item-loading-icon{color:#00000040}.ant-cascader-menu-item-keyword{color:#ff4d4f}.ant-cascader-compact-item:not(.ant-cascader-compact-last-item):not(.ant-cascader-compact-item-rtl){margin-right:-1px}.ant-cascader-compact-item:not(.ant-cascader-compact-last-item).ant-cascader-compact-item-rtl{margin-left:-1px}.ant-cascader-compact-item:hover,.ant-cascader-compact-item:focus,.ant-cascader-compact-item:active{z-index:2}.ant-cascader-compact-item[disabled]{z-index:0}.ant-cascader-compact-item:not(.ant-cascader-compact-first-item):not(.ant-cascader-compact-last-item).ant-cascader{border-radius:0}.ant-cascader-compact-item.ant-cascader.ant-cascader-compact-first-item:not(.ant-cascader-compact-last-item):not(.ant-cascader-compact-item-rtl){border-top-right-radius:0;border-bottom-right-radius:0}.ant-cascader-compact-item.ant-cascader.ant-cascader-compact-last-item:not(.ant-cascader-compact-first-item):not(.ant-cascader-compact-item-rtl){border-top-left-radius:0;border-bottom-left-radius:0}.ant-cascader-compact-item.ant-cascader.ant-cascader-compact-item-rtl.ant-cascader-compact-first-item:not(.ant-cascader-compact-last-item){border-top-left-radius:0;border-bottom-left-radius:0}.ant-cascader-compact-item.ant-cascader.ant-cascader-compact-item-rtl.ant-cascader-compact-last-item:not(.ant-cascader-compact-first-item){border-top-right-radius:0;border-bottom-right-radius:0}.ant-cascader-rtl .ant-cascader-menu-item-expand-icon,.ant-cascader-rtl .ant-cascader-menu-item-loading-icon{margin-right:4px;margin-left:0}.ant-cascader-rtl .ant-cascader-checkbox{top:0;margin-right:0;margin-left:8px}.ant-empty{margin:0 8px;font-size:14px;line-height:1.5715;text-align:center}.ant-empty-image{height:100px;margin-bottom:8px}.ant-empty-image img{height:100%}.ant-empty-image svg{height:100%;margin:auto}.ant-empty-footer{margin-top:16px}.ant-empty-normal{margin:32px 0;color:#00000040}.ant-empty-normal .ant-empty-image{height:40px}.ant-empty-small{margin:8px 0;color:#00000040}.ant-empty-small .ant-empty-image{height:35px}.ant-empty-img-default-ellipse{fill:#f5f5f5;fill-opacity:.8}.ant-empty-img-default-path-1{fill:#aeb8c2}.ant-empty-img-default-path-2{fill:url(#linearGradient-1)}.ant-empty-img-default-path-3{fill:#f5f5f7}.ant-empty-img-default-path-4,.ant-empty-img-default-path-5{fill:#dce0e6}.ant-empty-img-default-g{fill:#fff}.ant-empty-img-simple-ellipse{fill:#f5f5f5}.ant-empty-img-simple-g{stroke:#d9d9d9}.ant-empty-img-simple-path{fill:#fafafa}.ant-empty-rtl{direction:rtl}.ant-select-single .ant-select-selector{display:flex}.ant-select-single .ant-select-selector .ant-select-selection-search{position:absolute;top:0;right:11px;bottom:0;left:11px}.ant-select-single .ant-select-selector .ant-select-selection-search-input{width:100%}.ant-select-single .ant-select-selector .ant-select-selection-item,.ant-select-single .ant-select-selector .ant-select-selection-placeholder{padding:0;line-height:30px;transition:all .3s,visibility 0s}.ant-select-single .ant-select-selector .ant-select-selection-item{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ant-select-single .ant-select-selector .ant-select-selection-placeholder{transition:none;pointer-events:none}.ant-select-single .ant-select-selector:after,.ant-select-single .ant-select-selector .ant-select-selection-item:after,.ant-select-single .ant-select-selector .ant-select-selection-placeholder:after{display:inline-block;width:0;visibility:hidden;content:" "}.ant-select-single.ant-select-show-arrow .ant-select-selection-search{right:25px}.ant-select-single.ant-select-show-arrow .ant-select-selection-item,.ant-select-single.ant-select-show-arrow .ant-select-selection-placeholder{padding-right:18px}.ant-select-single.ant-select-open .ant-select-selection-item{color:#bfbfbf}.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{width:100%;height:32px;padding:0 11px}.ant-select-single:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input{height:30px}.ant-select-single:not(.ant-select-customize-input) .ant-select-selector:after{line-height:30px}.ant-select-single.ant-select-customize-input .ant-select-selector:after{display:none}.ant-select-single.ant-select-customize-input .ant-select-selector .ant-select-selection-search{position:static;width:100%}.ant-select-single.ant-select-customize-input .ant-select-selector .ant-select-selection-placeholder{position:absolute;right:0;left:0;padding:0 11px}.ant-select-single.ant-select-customize-input .ant-select-selector .ant-select-selection-placeholder:after{display:none}.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector{height:40px}.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector:after,.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-item,.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-placeholder{line-height:38px}.ant-select-single.ant-select-lg:not(.ant-select-customize-input):not(.ant-select-customize-input) .ant-select-selection-search-input{height:38px}.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector{height:24px}.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector:after,.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-item,.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-placeholder{line-height:22px}.ant-select-single.ant-select-sm:not(.ant-select-customize-input):not(.ant-select-customize-input) .ant-select-selection-search-input{height:22px}.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selection-search{right:7px;left:7px}.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector{padding:0 7px}.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-search{right:28px}.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-item,.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-placeholder{padding-right:21px}.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector{padding:0 11px}.ant-select-selection-overflow{position:relative;display:flex;flex:auto;flex-wrap:wrap;max-width:100%}.ant-select-selection-overflow-item{flex:none;align-self:center;max-width:100%}.ant-select-multiple .ant-select-selector{display:flex;flex-wrap:wrap;align-items:center;padding:1px 4px}.ant-select-show-search.ant-select-multiple .ant-select-selector{cursor:text}.ant-select-disabled.ant-select-multiple .ant-select-selector{background:#f5f5f5;cursor:not-allowed}.ant-select-multiple .ant-select-selector:after{display:inline-block;width:0;margin:2px 0;line-height:24px;visibility:hidden;content:" "}.ant-select-multiple.ant-select-show-arrow .ant-select-selector,.ant-select-multiple.ant-select-allow-clear .ant-select-selector{padding-right:24px}.ant-select-multiple .ant-select-selection-item{position:relative;display:flex;flex:none;box-sizing:border-box;max-width:100%;height:24px;margin-top:2px;margin-bottom:2px;line-height:22px;background:#f5f5f5;border:1px solid #f0f0f0;border-radius:2px;cursor:default;transition:font-size .3s,line-height .3s,height .3s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-inline-end:4px;padding-inline-start:8px;padding-inline-end:4px}.ant-select-disabled.ant-select-multiple .ant-select-selection-item{color:#bfbfbf;border-color:#d9d9d9;cursor:not-allowed}.ant-select-multiple .ant-select-selection-item-content{display:inline-block;margin-right:4px;overflow:hidden;white-space:pre;text-overflow:ellipsis}.ant-select-multiple .ant-select-selection-item-remove{color:inherit;font-style:normal;line-height:0;text-align:center;text-transform:none;vertical-align:-.125em;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-flex;align-items:center;color:#00000073;font-weight:700;font-size:10px;line-height:inherit;cursor:pointer}.ant-select-multiple .ant-select-selection-item-remove>*{line-height:1}.ant-select-multiple .ant-select-selection-item-remove svg{display:inline-block}.ant-select-multiple .ant-select-selection-item-remove:before{display:none}.ant-select-multiple .ant-select-selection-item-remove .ant-select-multiple .ant-select-selection-item-remove-icon{display:block}.ant-select-multiple .ant-select-selection-item-remove>.anticon{vertical-align:middle}.ant-select-multiple .ant-select-selection-item-remove:hover{color:#000000bf}.ant-select-multiple .ant-select-selection-overflow-item+.ant-select-selection-overflow-item .ant-select-selection-search{margin-inline-start:0}.ant-select-multiple .ant-select-selection-search{position:relative;max-width:100%;margin-inline-start:7px}.ant-select-multiple .ant-select-selection-search-input,.ant-select-multiple .ant-select-selection-search-mirror{height:24px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:24px;transition:all .3s}.ant-select-multiple .ant-select-selection-search-input{width:100%;min-width:4.1px}.ant-select-multiple .ant-select-selection-search-mirror{position:absolute;top:0;left:0;z-index:999;white-space:pre;visibility:hidden}.ant-select-multiple .ant-select-selection-placeholder{position:absolute;top:50%;right:11px;left:11px;transform:translateY(-50%);transition:all .3s}.ant-select-multiple.ant-select-lg .ant-select-selector:after{line-height:32px}.ant-select-multiple.ant-select-lg .ant-select-selection-item{height:32px;line-height:30px}.ant-select-multiple.ant-select-lg .ant-select-selection-search{height:32px;line-height:32px}.ant-select-multiple.ant-select-lg .ant-select-selection-search-input,.ant-select-multiple.ant-select-lg .ant-select-selection-search-mirror{height:32px;line-height:30px}.ant-select-multiple.ant-select-sm .ant-select-selector:after{line-height:16px}.ant-select-multiple.ant-select-sm .ant-select-selection-item{height:16px;line-height:14px}.ant-select-multiple.ant-select-sm .ant-select-selection-search{height:16px;line-height:16px}.ant-select-multiple.ant-select-sm .ant-select-selection-search-input,.ant-select-multiple.ant-select-sm .ant-select-selection-search-mirror{height:16px;line-height:14px}.ant-select-multiple.ant-select-sm .ant-select-selection-placeholder{left:7px}.ant-select-multiple.ant-select-sm .ant-select-selection-search{margin-inline-start:3px}.ant-select-disabled .ant-select-selection-item-remove{display:none}.ant-select-status-error.ant-select:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer) .ant-select-selector{background-color:#fff;border-color:#ff4d4f!important}.ant-select-status-error.ant-select:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer).ant-select-open .ant-select-selector,.ant-select-status-error.ant-select:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer).ant-select-focused .ant-select-selector{border-color:#ff7875;box-shadow:0 0 0 2px #ff4d4f33;border-right-width:1px;outline:0}.ant-select-status-warning.ant-select:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer) .ant-select-selector{background-color:#fff;border-color:#faad14!important}.ant-select-status-warning.ant-select:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer).ant-select-open .ant-select-selector,.ant-select-status-warning.ant-select:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer).ant-select-focused .ant-select-selector{border-color:#ffc53d;box-shadow:0 0 0 2px #faad1433;border-right-width:1px;outline:0}.ant-select-status-error.ant-select-has-feedback .ant-select-clear,.ant-select-status-warning.ant-select-has-feedback .ant-select-clear,.ant-select-status-success.ant-select-has-feedback .ant-select-clear,.ant-select-status-validating.ant-select-has-feedback .ant-select-clear{right:32px}.ant-select-status-error.ant-select-has-feedback .ant-select-selection-selected-value,.ant-select-status-warning.ant-select-has-feedback .ant-select-selection-selected-value,.ant-select-status-success.ant-select-has-feedback .ant-select-selection-selected-value,.ant-select-status-validating.ant-select-has-feedback .ant-select-selection-selected-value{padding-right:42px}.ant-select{box-sizing:border-box;margin:0;padding:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum","tnum";position:relative;display:inline-block;cursor:pointer}.ant-select:not(.ant-select-customize-input) .ant-select-selector{position:relative;background-color:#fff;border:1px solid #d9d9d9;border-radius:2px;transition:all .3s cubic-bezier(.645,.045,.355,1)}.ant-select:not(.ant-select-customize-input) .ant-select-selector input{cursor:pointer}.ant-select-show-search.ant-select:not(.ant-select-customize-input) .ant-select-selector{cursor:text}.ant-select-show-search.ant-select:not(.ant-select-customize-input) .ant-select-selector input{cursor:auto}.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector{border-color:#40a9ff;box-shadow:0 0 0 2px #1890ff33;border-right-width:1px;outline:0}.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector{color:#00000040;background:#f5f5f5;cursor:not-allowed}.ant-select-multiple.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector{background:#f5f5f5}.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector input{cursor:not-allowed}.ant-select:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input{margin:0;padding:0;background:transparent;border:none;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.ant-select:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input::-webkit-search-cancel-button{display:none;-webkit-appearance:none}.ant-select:not(.ant-select-disabled):hover .ant-select-selector{border-color:#40a9ff;border-right-width:1px}.ant-select-selection-item{flex:1;overflow:hidden;font-weight:400;white-space:nowrap;text-overflow:ellipsis}@media all and (-ms-high-contrast: none){.ant-select-selection-item *::-ms-backdrop,.ant-select-selection-item{flex:auto}}.ant-select-selection-placeholder{flex:1;overflow:hidden;color:#bfbfbf;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}@media all and (-ms-high-contrast: none){.ant-select-selection-placeholder *::-ms-backdrop,.ant-select-selection-placeholder{flex:auto}}.ant-select-arrow{display:inline-flex;color:inherit;font-style:normal;text-transform:none;vertical-align:-.125em;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:absolute;top:50%;right:11px;display:flex;align-items:center;height:12px;margin-top:-6px;color:#00000040;font-size:12px;line-height:1;text-align:center;pointer-events:none}.ant-select-arrow>*{line-height:1}.ant-select-arrow svg{display:inline-block}.ant-select-arrow:before{display:none}.ant-select-arrow .ant-select-arrow-icon{display:block}.ant-select-arrow .anticon{vertical-align:top;transition:transform .3s}.ant-select-arrow .anticon>svg{vertical-align:top}.ant-select-arrow .anticon:not(.ant-select-suffix){pointer-events:auto}.ant-select-disabled .ant-select-arrow{cursor:not-allowed}.ant-select-arrow>*:not(:last-child){margin-inline-end:8px}.ant-select-clear{position:absolute;top:50%;right:11px;z-index:1;display:inline-block;width:12px;height:12px;margin-top:-6px;color:#00000040;font-size:12px;font-style:normal;line-height:1;text-align:center;text-transform:none;background:#fff;cursor:pointer;opacity:0;transition:color .3s ease,opacity .15s ease;text-rendering:auto}.ant-select-clear:before{display:block}.ant-select-clear:hover{color:#00000073}.ant-select:hover .ant-select-clear{opacity:1}.ant-select-dropdown{margin:0;color:#000000d9;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum","tnum",;position:absolute;top:-9999px;left:-9999px;z-index:1050;box-sizing:border-box;padding:4px 0;overflow:hidden;font-size:14px;font-variant:initial;background-color:#fff;border-radius:2px;outline:none;box-shadow:0 3px 6px -4px #0000001f,0 6px 16px #00000014,0 9px 28px 8px #0000000d}.ant-select-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-select-dropdown-placement-bottomLeft,.ant-select-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-select-dropdown-placement-bottomLeft{animation-name:antSlideUpIn}.ant-select-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-select-dropdown-placement-topLeft,.ant-select-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-select-dropdown-placement-topLeft{animation-name:antSlideDownIn}.ant-select-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-select-dropdown-placement-bottomLeft{animation-name:antSlideUpOut}.ant-select-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-select-dropdown-placement-topLeft{animation-name:antSlideDownOut}.ant-select-dropdown-hidden{display:none}.ant-select-dropdown-empty{color:#00000040}.ant-select-item-empty{position:relative;display:block;min-height:32px;padding:5px 12px;color:#000000d9;font-weight:400;font-size:14px;line-height:22px;color:#00000040}.ant-select-item{position:relative;display:block;min-height:32px;padding:5px 12px;color:#000000d9;font-weight:400;font-size:14px;line-height:22px;cursor:pointer;transition:background .3s ease}.ant-select-item-group{color:#00000073;font-size:12px;cursor:default}.ant-select-item-option{display:flex}.ant-select-item-option-content{flex:auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ant-select-item-option-state{flex:none}.ant-select-item-option-active:not(.ant-select-item-option-disabled){background-color:#f5f5f5}.ant-select-item-option-selected:not(.ant-select-item-option-disabled){color:#000000d9;font-weight:600;background-color:#e6f7ff}.ant-select-item-option-selected:not(.ant-select-item-option-disabled) .ant-select-item-option-state{color:#1890ff}.ant-select-item-option-disabled{color:#00000040;cursor:not-allowed}.ant-select-item-option-disabled.ant-select-item-option-selected{background-color:#f5f5f5}.ant-select-item-option-grouped{padding-left:24px}.ant-select-lg{font-size:16px}.ant-select-borderless .ant-select-selector{background-color:transparent!important;border-color:transparent!important;box-shadow:none!important}.ant-select.ant-select-in-form-item{width:100%}.ant-select-compact-item:not(.ant-select-compact-last-item){margin-right:-1px}.ant-select-compact-item:not(.ant-select-compact-last-item).ant-select-compact-item-rtl{margin-right:0;margin-left:-1px}.ant-select-compact-item:hover>*,.ant-select-compact-item:focus>*,.ant-select-compact-item:active>*{z-index:2}.ant-select-compact-item.ant-select-focused>*{z-index:2}.ant-select-compact-item[disabled]>*{z-index:0}.ant-select-compact-item:not(.ant-select-compact-first-item):not(.ant-select-compact-last-item).ant-select>.ant-select-selector{border-radius:0}.ant-select-compact-item.ant-select-compact-first-item.ant-select:not(.ant-select-compact-last-item):not(.ant-select-compact-item-rtl)>.ant-select-selector{border-top-right-radius:0;border-bottom-right-radius:0}.ant-select-compact-item.ant-select-compact-last-item.ant-select:not(.ant-select-compact-first-item):not(.ant-select-compact-item-rtl)>.ant-select-selector{border-top-left-radius:0;border-bottom-left-radius:0}.ant-select-compact-item.ant-select.ant-select-compact-first-item.ant-select-compact-item-rtl:not(.ant-select-compact-last-item)>.ant-select-selector{border-top-left-radius:0;border-bottom-left-radius:0}.ant-select-compact-item.ant-select.ant-select-compact-last-item.ant-select-compact-item-rtl:not(.ant-select-compact-first-item)>.ant-select-selector{border-top-right-radius:0;border-bottom-right-radius:0}.ant-select-rtl{direction:rtl}.ant-select-rtl .ant-select-arrow,.ant-select-rtl .ant-select-clear{right:initial;left:11px}.ant-select-dropdown-rtl{direction:rtl}.ant-select-dropdown-rtl .ant-select-item-option-grouped{padding-right:24px;padding-left:12px}.ant-select-rtl.ant-select-multiple.ant-select-show-arrow .ant-select-selector,.ant-select-rtl.ant-select-multiple.ant-select-allow-clear .ant-select-selector{padding-right:4px;padding-left:24px}.ant-select-rtl.ant-select-multiple .ant-select-selection-item{text-align:right}.ant-select-rtl.ant-select-multiple .ant-select-selection-item-content{margin-right:0;margin-left:4px;text-align:right}.ant-select-rtl.ant-select-multiple .ant-select-selection-search-mirror{right:0;left:auto}.ant-select-rtl.ant-select-multiple .ant-select-selection-placeholder{right:11px;left:auto}.ant-select-rtl.ant-select-multiple.ant-select-sm .ant-select-selection-placeholder{right:7px}.ant-select-rtl.ant-select-single .ant-select-selector .ant-select-selection-item,.ant-select-rtl.ant-select-single .ant-select-selector .ant-select-selection-placeholder{right:0;left:9px;text-align:right}.ant-select-rtl.ant-select-single.ant-select-show-arrow .ant-select-selection-search{right:11px;left:25px}.ant-select-rtl.ant-select-single.ant-select-show-arrow .ant-select-selection-item,.ant-select-rtl.ant-select-single.ant-select-show-arrow .ant-select-selection-placeholder{padding-right:0;padding-left:18px}.ant-select-rtl.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-search{right:6px}.ant-select-rtl.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-item,.ant-select-rtl.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-placeholder{padding-right:0;padding-left:21px}.ant-spin{box-sizing:border-box;margin:0;padding:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum","tnum";position:absolute;display:none;color:#1890ff;font-size:0;text-align:center;vertical-align:middle;opacity:0;transition:transform .3s cubic-bezier(.78,.14,.15,.86)}.ant-spin-spinning{position:static;display:inline-block;opacity:1}.ant-spin-nested-loading{position:relative}.ant-spin-nested-loading>div>.ant-spin{position:absolute;top:0;left:0;z-index:4;display:block;width:100%;height:100%;max-height:400px}.ant-spin-nested-loading>div>.ant-spin .ant-spin-dot{position:absolute;top:50%;left:50%;margin:-10px}.ant-spin-nested-loading>div>.ant-spin .ant-spin-text{position:absolute;top:50%;width:100%;padding-top:5px;font-size:14px;text-shadow:0 1px 2px #fff}.ant-spin-nested-loading>div>.ant-spin.ant-spin-show-text .ant-spin-dot{margin-top:-20px}.ant-spin-nested-loading>div>.ant-spin-sm .ant-spin-dot{margin:-7px}.ant-spin-nested-loading>div>.ant-spin-sm .ant-spin-text{padding-top:2px}.ant-spin-nested-loading>div>.ant-spin-sm.ant-spin-show-text .ant-spin-dot{margin-top:-17px}.ant-spin-nested-loading>div>.ant-spin-lg .ant-spin-dot{margin:-16px}.ant-spin-nested-loading>div>.ant-spin-lg .ant-spin-text{padding-top:11px}.ant-spin-nested-loading>div>.ant-spin-lg.ant-spin-show-text .ant-spin-dot{margin-top:-26px}.ant-spin-container{position:relative;transition:opacity .3s}.ant-spin-container:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:none \ ;width:100%;height:100%;background:#fff;opacity:0;transition:all .3s;content:"";pointer-events:none}.ant-spin-blur{clear:both;opacity:.5;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}.ant-spin-blur:after{opacity:.4;pointer-events:auto}.ant-spin-tip{color:#00000073}.ant-spin-dot{position:relative;display:inline-block;font-size:20px;width:1em;height:1em}.ant-spin-dot-item{position:absolute;display:block;width:9px;height:9px;background-color:#1890ff;border-radius:100%;transform:scale(.75);transform-origin:50% 50%;opacity:.3;animation:antSpinMove 1s infinite linear alternate}.ant-spin-dot-item:nth-child(1){top:0;left:0}.ant-spin-dot-item:nth-child(2){top:0;right:0;animation-delay:.4s}.ant-spin-dot-item:nth-child(3){right:0;bottom:0;animation-delay:.8s}.ant-spin-dot-item:nth-child(4){bottom:0;left:0;animation-delay:1.2s}.ant-spin-dot-spin{transform:rotate(0);animation:antRotate 1.2s infinite linear}.ant-spin-sm .ant-spin-dot{font-size:14px}.ant-spin-sm .ant-spin-dot i{width:6px;height:6px}.ant-spin-lg .ant-spin-dot{font-size:32px}.ant-spin-lg .ant-spin-dot i{width:14px;height:14px}.ant-spin.ant-spin-show-text .ant-spin-text{display:block}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){.ant-spin-blur{background:#fff;opacity:.5}}@keyframes antSpinMove{to{opacity:1}}@keyframes antRotate{to{transform:rotate(360deg)}}.ant-spin-rtl{direction:rtl}.ant-spin-rtl .ant-spin-dot-spin{transform:rotate(-45deg);animation-name:antRotateRtl}@keyframes antRotateRtl{to{transform:rotate(-405deg)}}.ant-badge{box-sizing:border-box;margin:0;padding:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;list-style:none;font-feature-settings:"tnum","tnum";position:relative;display:inline-block;line-height:1}.ant-badge-count{z-index:auto;min-width:20px;height:20px;padding:0 6px;color:#fff;font-weight:400;font-size:12px;line-height:20px;white-space:nowrap;text-align:center;background:#ff4d4f;border-radius:10px;box-shadow:0 0 0 1px #fff}.ant-badge-count a,.ant-badge-count a:hover{color:#fff}.ant-badge-count-sm{min-width:14px;height:14px;padding:0;font-size:12px;line-height:14px;border-radius:7px}.ant-badge-multiple-words{padding:0 8px}.ant-badge-dot{z-index:auto;width:6px;min-width:6px;height:6px;background:#ff4d4f;border-radius:100%;box-shadow:0 0 0 1px #fff}.ant-badge-dot.ant-scroll-number{transition:background 1.5s}.ant-badge-count,.ant-badge-dot,.ant-badge .ant-scroll-number-custom-component{position:absolute;top:0;right:0;transform:translate(50%,-50%);transform-origin:100% 0%}.ant-badge-count.anticon-spin,.ant-badge-dot.anticon-spin,.ant-badge .ant-scroll-number-custom-component.anticon-spin{animation:antBadgeLoadingCircle 1s infinite linear}.ant-badge-status{line-height:inherit;vertical-align:baseline}.ant-badge-status-dot{position:relative;top:-1px;display:inline-block;width:6px;height:6px;vertical-align:middle;border-radius:50%}.ant-badge-status-success{background-color:#52c41a}.ant-badge-status-processing{position:relative;background-color:#1890ff}.ant-badge-status-processing:after{position:absolute;top:0;left:0;width:100%;height:100%;border:1px solid #1890ff;border-radius:50%;animation:antStatusProcessing 1.2s infinite ease-in-out;content:""}.ant-badge-status-default{background-color:#d9d9d9}.ant-badge-status-error{background-color:#ff4d4f}.ant-badge-status-warning{background-color:#faad14}.ant-badge-status-pink,.ant-badge-status-magenta{background:#eb2f96}.ant-badge-status-red{background:#f5222d}.ant-badge-status-volcano{background:#fa541c}.ant-badge-status-orange{background:#fa8c16}.ant-badge-status-yellow{background:#fadb14}.ant-badge-status-gold{background:#faad14}.ant-badge-status-cyan{background:#13c2c2}.ant-badge-status-lime{background:#a0d911}.ant-badge-status-green{background:#52c41a}.ant-badge-status-blue{background:#1890ff}.ant-badge-status-geekblue{background:#2f54eb}.ant-badge-status-purple{background:#722ed1}.ant-badge-status-text{margin-left:8px;color:#000000d9;font-size:14px}.ant-badge-zoom-appear,.ant-badge-zoom-enter{animation:antZoomBadgeIn .3s cubic-bezier(.12,.4,.29,1.46);animation-fill-mode:both}.ant-badge-zoom-leave{animation:antZoomBadgeOut .3s cubic-bezier(.71,-.46,.88,.6);animation-fill-mode:both}.ant-badge-not-a-wrapper .ant-badge-zoom-appear,.ant-badge-not-a-wrapper .ant-badge-zoom-enter{animation:antNoWrapperZoomBadgeIn .3s cubic-bezier(.12,.4,.29,1.46)}.ant-badge-not-a-wrapper .ant-badge-zoom-leave{animation:antNoWrapperZoomBadgeOut .3s cubic-bezier(.71,-.46,.88,.6)}.ant-badge-not-a-wrapper:not(.ant-badge-status){vertical-align:middle}.ant-badge-not-a-wrapper .ant-scroll-number-custom-component,.ant-badge-not-a-wrapper .ant-badge-count{transform:none}.ant-badge-not-a-wrapper .ant-scroll-number-custom-component,.ant-badge-not-a-wrapper .ant-scroll-number{position:relative;top:auto;display:block;transform-origin:50% 50%}@keyframes antStatusProcessing{0%{transform:scale(.8);opacity:.5}to{transform:scale(2.4);opacity:0}}.ant-scroll-number{overflow:hidden;direction:ltr}.ant-scroll-number-only{position:relative;display:inline-block;height:20px;transition:all .3s cubic-bezier(.645,.045,.355,1);-webkit-transform-style:preserve-3d;-webkit-backface-visibility:hidden}.ant-scroll-number-only>p.ant-scroll-number-only-unit{height:20px;margin:0;-webkit-transform-style:preserve-3d;-webkit-backface-visibility:hidden}.ant-scroll-number-symbol{vertical-align:top}@keyframes antZoomBadgeIn{0%{transform:scale(0) translate(50%,-50%);opacity:0}to{transform:scale(1) translate(50%,-50%)}}@keyframes antZoomBadgeOut{0%{transform:scale(1) translate(50%,-50%)}to{transform:scale(0) translate(50%,-50%);opacity:0}}@keyframes antNoWrapperZoomBadgeIn{0%{transform:scale(0);opacity:0}to{transform:scale(1)}}@keyframes antNoWrapperZoomBadgeOut{0%{transform:scale(1)}to{transform:scale(0);opacity:0}}@keyframes antBadgeLoadingCircle{0%{transform-origin:50%}to{transform:translate(50%,-50%) rotate(360deg);transform-origin:50%}}.ant-ribbon-wrapper{position:relative}.ant-ribbon{box-sizing:border-box;margin:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum","tnum";position:absolute;top:8px;height:22px;padding:0 8px;color:#fff;line-height:22px;white-space:nowrap;background-color:#1890ff;border-radius:2px}.ant-ribbon-text{color:#fff}.ant-ribbon-corner{position:absolute;top:100%;width:8px;height:8px;color:currentcolor;border:4px solid;transform:scaleY(.75);transform-origin:top}.ant-ribbon-corner:after{position:absolute;top:-4px;left:-4px;width:inherit;height:inherit;color:#00000040;border:inherit;content:""}.ant-ribbon-color-pink,.ant-ribbon-color-magenta{color:#eb2f96;background:#eb2f96}.ant-ribbon-color-red{color:#f5222d;background:#f5222d}.ant-ribbon-color-volcano{color:#fa541c;background:#fa541c}.ant-ribbon-color-orange{color:#fa8c16;background:#fa8c16}.ant-ribbon-color-yellow{color:#fadb14;background:#fadb14}.ant-ribbon-color-gold{color:#faad14;background:#faad14}.ant-ribbon-color-cyan{color:#13c2c2;background:#13c2c2}.ant-ribbon-color-lime{color:#a0d911;background:#a0d911}.ant-ribbon-color-green{color:#52c41a;background:#52c41a}.ant-ribbon-color-blue{color:#1890ff;background:#1890ff}.ant-ribbon-color-geekblue{color:#2f54eb;background:#2f54eb}.ant-ribbon-color-purple{color:#722ed1;background:#722ed1}.ant-ribbon.ant-ribbon-placement-end{right:-8px;border-bottom-right-radius:0}.ant-ribbon.ant-ribbon-placement-end .ant-ribbon-corner{right:0;border-color:currentcolor transparent transparent currentcolor}.ant-ribbon.ant-ribbon-placement-start{left:-8px;border-bottom-left-radius:0}.ant-ribbon.ant-ribbon-placement-start .ant-ribbon-corner{left:0;border-color:currentcolor currentcolor transparent transparent}.ant-badge-rtl{direction:rtl}.ant-badge-rtl.ant-badge:not(.ant-badge-not-a-wrapper) .ant-badge-count,.ant-badge-rtl.ant-badge:not(.ant-badge-not-a-wrapper) .ant-badge-dot,.ant-badge-rtl.ant-badge:not(.ant-badge-not-a-wrapper) .ant-scroll-number-custom-component{right:auto;left:0;direction:ltr;transform:translate(-50%,-50%);transform-origin:0% 0%}.ant-badge-rtl.ant-badge:not(.ant-badge-not-a-wrapper) .ant-scroll-number-custom-component{right:auto;left:0;transform:translate(-50%,-50%);transform-origin:0% 0%}.ant-badge-rtl .ant-badge-status-text{margin-right:8px;margin-left:0}.ant-badge:not(.ant-badge-not-a-wrapper).ant-badge-rtl .ant-badge-zoom-appear,.ant-badge:not(.ant-badge-not-a-wrapper).ant-badge-rtl .ant-badge-zoom-enter{animation-name:antZoomBadgeInRtl}.ant-badge:not(.ant-badge-not-a-wrapper).ant-badge-rtl .ant-badge-zoom-leave{animation-name:antZoomBadgeOutRtl}.ant-ribbon-rtl{direction:rtl}.ant-ribbon-rtl.ant-ribbon-placement-end{right:unset;left:-8px;border-bottom-right-radius:2px;border-bottom-left-radius:0}.ant-ribbon-rtl.ant-ribbon-placement-end .ant-ribbon-corner{right:unset;left:0;border-color:currentcolor currentcolor transparent transparent}.ant-ribbon-rtl.ant-ribbon-placement-end .ant-ribbon-corner:after{border-color:currentcolor currentcolor transparent transparent}.ant-ribbon-rtl.ant-ribbon-placement-start{right:-8px;left:unset;border-bottom-right-radius:0;border-bottom-left-radius:2px}.ant-ribbon-rtl.ant-ribbon-placement-start .ant-ribbon-corner{right:0;left:unset;border-color:currentcolor transparent transparent currentcolor}.ant-ribbon-rtl.ant-ribbon-placement-start .ant-ribbon-corner:after{border-color:currentcolor transparent transparent currentcolor}@keyframes antZoomBadgeInRtl{0%{transform:scale(0) translate(-50%,-50%);opacity:0}to{transform:scale(1) translate(-50%,-50%)}}@keyframes antZoomBadgeOutRtl{0%{transform:scale(1) translate(-50%,-50%)}to{transform:scale(0) translate(-50%,-50%);opacity:0}}.ant-pro-field-dropdown,.ant-pro-table-dropdown{width:auto}.ant-pro-select-item-option-content-light{color:#1890ff}.ant-pro-select-item-option-content{-webkit-box-flex:1;-ms-flex:auto;flex:auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ant-pro-field-select-light-select .ant-select{position:absolute;width:153px;height:28px;visibility:hidden}.ant-pro-field-select-light-select .ant-select-selector{height:28px}.ant-pro-field-select-light-select.ant-pro-field-select-light-select-searchable .ant-select{width:200px}.ant-pro-field-select-light-select.ant-pro-field-select-light-select-searchable .ant-select-selector{height:28px}.ant-checkbox{box-sizing:border-box;margin:0;padding:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;list-style:none;font-feature-settings:"tnum","tnum";position:relative;top:.2em;line-height:1;white-space:nowrap;outline:none;cursor:pointer}.ant-checkbox-wrapper:hover .ant-checkbox-inner,.ant-checkbox:hover .ant-checkbox-inner,.ant-checkbox-input:focus+.ant-checkbox-inner{border-color:#1890ff}.ant-checkbox-checked:after{position:absolute;top:0;left:0;width:100%;height:100%;border:1px solid #1890ff;border-radius:2px;visibility:hidden;animation:antCheckboxEffect .36s ease-in-out;animation-fill-mode:backwards;content:""}.ant-checkbox:hover:after,.ant-checkbox-wrapper:hover .ant-checkbox:after{visibility:visible}.ant-checkbox-inner{position:relative;top:0;left:0;display:block;width:16px;height:16px;direction:ltr;background-color:#fff;border:1px solid #d9d9d9;border-radius:2px;border-collapse:separate;transition:all .3s}.ant-checkbox-inner:after{position:absolute;top:50%;left:21.5%;display:table;width:5.71428571px;height:9.14285714px;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg) scale(0) translate(-50%,-50%);opacity:0;transition:all .1s cubic-bezier(.71,-.46,.88,.6),opacity .1s;content:" "}.ant-checkbox-input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;cursor:pointer;opacity:0}.ant-checkbox-checked .ant-checkbox-inner:after{position:absolute;display:table;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg) scale(1) translate(-50%,-50%);opacity:1;transition:all .2s cubic-bezier(.12,.4,.29,1.46) .1s;content:" "}.ant-checkbox-checked .ant-checkbox-inner{background-color:#1890ff;border-color:#1890ff}.ant-checkbox-disabled{cursor:not-allowed}.ant-checkbox-disabled.ant-checkbox-checked .ant-checkbox-inner:after{border-color:#00000040;animation-name:none}.ant-checkbox-disabled .ant-checkbox-input{cursor:not-allowed;pointer-events:none}.ant-checkbox-disabled .ant-checkbox-inner{background-color:#f5f5f5;border-color:#d9d9d9!important}.ant-checkbox-disabled .ant-checkbox-inner:after{border-color:#f5f5f5;border-collapse:separate;animation-name:none}.ant-checkbox-disabled+span{color:#00000040;cursor:not-allowed}.ant-checkbox-disabled:hover:after,.ant-checkbox-wrapper:hover .ant-checkbox-disabled:after{visibility:hidden}.ant-checkbox-wrapper{box-sizing:border-box;margin:0;padding:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum","tnum";display:inline-flex;align-items:baseline;line-height:unset;cursor:pointer}.ant-checkbox-wrapper:after{display:inline-block;width:0;overflow:hidden;content:" "}.ant-checkbox-wrapper.ant-checkbox-wrapper-disabled{cursor:not-allowed}.ant-checkbox-wrapper+.ant-checkbox-wrapper{margin-left:8px}.ant-checkbox-wrapper.ant-checkbox-wrapper-in-form-item input[type=checkbox]{width:14px;height:14px}.ant-checkbox+span{padding-right:8px;padding-left:8px}.ant-checkbox-group{box-sizing:border-box;margin:0;padding:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum","tnum";display:inline-block}.ant-checkbox-group-item{margin-right:8px}.ant-checkbox-group-item:last-child{margin-right:0}.ant-checkbox-group-item+.ant-checkbox-group-item{margin-left:0}.ant-checkbox-indeterminate .ant-checkbox-inner{background-color:#fff;border-color:#d9d9d9}.ant-checkbox-indeterminate .ant-checkbox-inner:after{top:50%;left:50%;width:8px;height:8px;background-color:#1890ff;border:0;transform:translate(-50%,-50%) scale(1);opacity:1;content:" "}.ant-checkbox-indeterminate.ant-checkbox-disabled .ant-checkbox-inner:after{background-color:#00000040;border-color:#00000040}.ant-checkbox-rtl{direction:rtl}.ant-checkbox-group-rtl .ant-checkbox-group-item{margin-right:0;margin-left:8px}.ant-checkbox-group-rtl .ant-checkbox-group-item:last-child{margin-left:0!important}.ant-checkbox-group-rtl .ant-checkbox-group-item+.ant-checkbox-group-item{margin-left:8px}.ant-pro-field-checkbox-vertical .ant-checkbox-group-item{display:-webkit-box;display:-ms-flexbox;display:flex;margin-right:0}.ant-picker-status-error.ant-picker,.ant-picker-status-error.ant-picker:not(.ant-picker-disabled):hover{background-color:#fff;border-color:#ff4d4f}.ant-picker-status-error.ant-picker-focused,.ant-picker-status-error.ant-picker:focus{border-color:#ff7875;box-shadow:0 0 0 2px #ff4d4f33;border-right-width:1px;outline:0}.ant-picker-status-error.ant-picker .ant-picker-active-bar{background:#ff7875}.ant-picker-status-warning.ant-picker,.ant-picker-status-warning.ant-picker:not(.ant-picker-disabled):hover{background-color:#fff;border-color:#faad14}.ant-picker-status-warning.ant-picker-focused,.ant-picker-status-warning.ant-picker:focus{border-color:#ffc53d;box-shadow:0 0 0 2px #faad1433;border-right-width:1px;outline:0}.ant-picker-status-warning.ant-picker .ant-picker-active-bar{background:#ffc53d}.ant-picker{box-sizing:border-box;margin:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum","tnum";padding:4px 11px;position:relative;display:inline-flex;align-items:center;background:#fff;border:1px solid #d9d9d9;border-radius:2px;transition:border .3s,box-shadow .3s}.ant-picker:hover,.ant-picker-focused{border-color:#40a9ff;border-right-width:1px}.ant-picker-focused{border-color:#40a9ff;box-shadow:0 0 0 2px #1890ff33;border-right-width:1px;outline:0}.ant-picker.ant-picker-disabled{background:#f5f5f5;border-color:#d9d9d9;cursor:not-allowed}.ant-picker.ant-picker-disabled .ant-picker-suffix{color:#00000040}.ant-picker.ant-picker-borderless{background-color:transparent!important;border-color:transparent!important;box-shadow:none!important}.ant-picker-input{position:relative;display:inline-flex;align-items:center;width:100%}.ant-picker-input>input{position:relative;display:inline-block;width:100%;min-width:0;color:#000000d9;font-size:14px;line-height:1.5715;background-color:#fff;background-image:none;border:1px solid #d9d9d9;border-radius:2px;transition:all .3s;flex:auto;min-width:1px;height:auto;padding:0;background:transparent;border:0}.ant-picker-input>input::-moz-placeholder{color:#bfbfbf;-moz-user-select:none;user-select:none}.ant-picker-input>input:-ms-input-placeholder{color:#bfbfbf;-ms-user-select:none;user-select:none}.ant-picker-input>input::placeholder{color:#bfbfbf;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ant-picker-input>input:-moz-placeholder{text-overflow:ellipsis}.ant-picker-input>input:-ms-input-placeholder{text-overflow:ellipsis}.ant-picker-input>input:placeholder-shown{text-overflow:ellipsis}.ant-picker-input>input:hover{border-color:#40a9ff;border-right-width:1px}.ant-picker-input>input:focus,.ant-picker-input>input-focused{border-color:#40a9ff;box-shadow:0 0 0 2px #1890ff33;border-right-width:1px;outline:0}.ant-picker-input>input-disabled{color:#00000040;background-color:#f5f5f5;border-color:#d9d9d9;box-shadow:none;cursor:not-allowed;opacity:1}.ant-picker-input>input-disabled:hover{border-color:#d9d9d9;border-right-width:1px}.ant-picker-input>input[disabled]{color:#00000040;background-color:#f5f5f5;border-color:#d9d9d9;box-shadow:none;cursor:not-allowed;opacity:1}.ant-picker-input>input[disabled]:hover{border-color:#d9d9d9;border-right-width:1px}.ant-picker-input>input-borderless,.ant-picker-input>input-borderless:hover,.ant-picker-input>input-borderless:focus,.ant-picker-input>input-borderless-focused,.ant-picker-input>input-borderless-disabled,.ant-picker-input>input-borderless[disabled]{background-color:transparent;border:none;box-shadow:none}textarea.ant-picker-input>input{max-width:100%;height:auto;min-height:32px;line-height:1.5715;vertical-align:bottom;transition:all .3s,height 0s}.ant-picker-input>input-lg{padding:6.5px 11px;font-size:16px}.ant-picker-input>input-sm{padding:0 7px}.ant-picker-input>input:focus{box-shadow:none}.ant-picker-input>input[disabled]{background:transparent}.ant-picker-input:hover .ant-picker-clear{opacity:1}.ant-picker-input-placeholder>input{color:#bfbfbf}.ant-picker-large{padding:6.5px 11px}.ant-picker-large .ant-picker-input>input{font-size:16px}.ant-picker-small{padding:0 7px}.ant-picker-suffix{display:flex;flex:none;align-self:center;margin-left:4px;color:#00000040;line-height:1;pointer-events:none}.ant-picker-suffix>*{vertical-align:top}.ant-picker-suffix>*:not(:last-child){margin-right:8px}.ant-picker-clear{position:absolute;top:50%;right:0;color:#00000040;line-height:1;background:#fff;transform:translateY(-50%);cursor:pointer;opacity:0;transition:opacity .3s,color .3s}.ant-picker-clear>*{vertical-align:top}.ant-picker-clear:hover{color:#00000073}.ant-picker-separator{position:relative;display:inline-block;width:1em;height:16px;color:#00000040;font-size:16px;vertical-align:top;cursor:default}.ant-picker-focused .ant-picker-separator{color:#00000073}.ant-picker-disabled .ant-picker-range-separator .ant-picker-separator{cursor:not-allowed}.ant-picker-range{position:relative;display:inline-flex}.ant-picker-range .ant-picker-clear{right:11px}.ant-picker-range:hover .ant-picker-clear{opacity:1}.ant-picker-range .ant-picker-active-bar{bottom:-1px;height:2px;margin-left:11px;background:#1890ff;opacity:0;transition:all .3s ease-out;pointer-events:none}.ant-picker-range.ant-picker-focused .ant-picker-active-bar{opacity:1}.ant-picker-range-separator{align-items:center;padding:0 8px;line-height:1}.ant-picker-range.ant-picker-small .ant-picker-clear{right:7px}.ant-picker-range.ant-picker-small .ant-picker-active-bar{margin-left:7px}.ant-picker-dropdown{box-sizing:border-box;margin:0;padding:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum","tnum";position:absolute;top:-9999px;left:-9999px;z-index:1050}.ant-picker-dropdown-hidden{display:none}.ant-picker-dropdown-placement-bottomLeft .ant-picker-range-arrow{top:2.58561808px;display:block;transform:rotate(-135deg) translateY(1px)}.ant-picker-dropdown-placement-topLeft .ant-picker-range-arrow{bottom:2.58561808px;display:block;transform:rotate(45deg)}.ant-picker-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-picker-dropdown-placement-topLeft,.ant-picker-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-picker-dropdown-placement-topRight,.ant-picker-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-picker-dropdown-placement-topLeft,.ant-picker-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-picker-dropdown-placement-topRight{animation-name:antSlideDownIn}.ant-picker-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-picker-dropdown-placement-bottomLeft,.ant-picker-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-picker-dropdown-placement-bottomRight,.ant-picker-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-picker-dropdown-placement-bottomLeft,.ant-picker-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-picker-dropdown-placement-bottomRight{animation-name:antSlideUpIn}.ant-picker-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-picker-dropdown-placement-topLeft,.ant-picker-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-picker-dropdown-placement-topRight{animation-name:antSlideDownOut}.ant-picker-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-picker-dropdown-placement-bottomLeft,.ant-picker-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-picker-dropdown-placement-bottomRight{animation-name:antSlideUpOut}.ant-picker-dropdown-range{padding:7.54247233px 0}.ant-picker-dropdown-range-hidden{display:none}.ant-picker-dropdown .ant-picker-panel>.ant-picker-time-panel{padding-top:4px}.ant-picker-ranges{margin-bottom:0;padding:4px 12px;overflow:hidden;line-height:34px;text-align:left;list-style:none}.ant-picker-ranges>li{display:inline-block}.ant-picker-ranges .ant-picker-preset>.ant-tag-blue{color:#1890ff;background:#e6f7ff;border-color:#91d5ff;cursor:pointer}.ant-picker-ranges .ant-picker-ok{float:right;margin-left:8px}.ant-picker-range-wrapper{display:flex}.ant-picker-range-arrow{position:absolute;z-index:1;width:11.3137085px;height:11.3137085px;margin-left:16.5px;box-shadow:2px 2px 6px -2px #0000001a;transition:left .3s ease-out;border-radius:0 0 2px;pointer-events:none}.ant-picker-range-arrow:before{position:absolute;top:-11.3137085px;left:-11.3137085px;width:33.9411255px;height:33.9411255px;background:#fff;background-repeat:no-repeat;background-position:-10px -10px;content:"";clip-path:inset(33% 33%);clip-path:path("M 9.849242404917499 24.091883092036785 A 5 5 0 0 1 13.384776310850237 22.627416997969522 L 20.627416997969522 22.627416997969522 A 2 2 0 0 0 22.627416997969522 20.627416997969522 L 22.627416997969522 13.384776310850237 A 5 5 0 0 1 24.091883092036785 9.849242404917499 L 23.091883092036785 9.849242404917499 L 9.849242404917499 23.091883092036785 Z")}.ant-picker-panel-container{overflow:hidden;vertical-align:top;background:#fff;border-radius:2px;box-shadow:0 3px 6px -4px #0000001f,0 6px 16px #00000014,0 9px 28px 8px #0000000d;transition:margin .3s}.ant-picker-panel-container .ant-picker-panels{display:inline-flex;flex-wrap:nowrap;direction:ltr}.ant-picker-panel-container .ant-picker-panel{vertical-align:top;background:transparent;border-width:0 0 1px 0;border-radius:0}.ant-picker-panel-container .ant-picker-panel .ant-picker-content,.ant-picker-panel-container .ant-picker-panel table{text-align:center}.ant-picker-panel-container .ant-picker-panel-focused{border-color:#f0f0f0}.ant-picker-compact-item:not(.ant-picker-compact-last-item):not(.ant-picker-compact-item-rtl){margin-right:-1px}.ant-picker-compact-item:not(.ant-picker-compact-last-item).ant-picker-compact-item-rtl{margin-left:-1px}.ant-picker-compact-item:hover,.ant-picker-compact-item:focus,.ant-picker-compact-item:active{z-index:2}.ant-picker-compact-item.ant-picker-focused{z-index:2}.ant-picker-compact-item[disabled]{z-index:0}.ant-picker-compact-item:not(.ant-picker-compact-first-item):not(.ant-picker-compact-last-item).ant-picker{border-radius:0}.ant-picker-compact-item.ant-picker.ant-picker-compact-first-item:not(.ant-picker-compact-last-item):not(.ant-picker-compact-item-rtl){border-top-right-radius:0;border-bottom-right-radius:0}.ant-picker-compact-item.ant-picker.ant-picker-compact-last-item:not(.ant-picker-compact-first-item):not(.ant-picker-compact-item-rtl){border-top-left-radius:0;border-bottom-left-radius:0}.ant-picker-compact-item.ant-picker.ant-picker-compact-item-rtl.ant-picker-compact-first-item:not(.ant-picker-compact-last-item){border-top-left-radius:0;border-bottom-left-radius:0}.ant-picker-compact-item.ant-picker.ant-picker-compact-item-rtl.ant-picker-compact-last-item:not(.ant-picker-compact-first-item){border-top-right-radius:0;border-bottom-right-radius:0}.ant-picker-panel{display:inline-flex;flex-direction:column;text-align:center;background:#fff;border:1px solid #f0f0f0;border-radius:2px;outline:none}.ant-picker-panel-focused{border-color:#1890ff}.ant-picker-decade-panel,.ant-picker-year-panel,.ant-picker-quarter-panel,.ant-picker-month-panel,.ant-picker-week-panel,.ant-picker-date-panel,.ant-picker-time-panel{display:flex;flex-direction:column;width:280px}.ant-picker-header{display:flex;padding:0 8px;color:#000000d9;border-bottom:1px solid #f0f0f0}.ant-picker-header>*{flex:none}.ant-picker-header button{padding:0;color:#00000040;line-height:40px;background:transparent;border:0;cursor:pointer;transition:color .3s}.ant-picker-header>button{min-width:1.6em;font-size:14px}.ant-picker-header>button:hover{color:#000000d9}.ant-picker-header-view{flex:auto;font-weight:500;line-height:40px}.ant-picker-header-view button{color:inherit;font-weight:inherit}.ant-picker-header-view button:not(:first-child){margin-left:8px}.ant-picker-header-view button:hover{color:#1890ff}.ant-picker-prev-icon,.ant-picker-next-icon,.ant-picker-super-prev-icon,.ant-picker-super-next-icon{position:relative;display:inline-block;width:7px;height:7px}.ant-picker-prev-icon:before,.ant-picker-next-icon:before,.ant-picker-super-prev-icon:before,.ant-picker-super-next-icon:before{position:absolute;top:0;left:0;display:inline-block;width:7px;height:7px;border:0 solid currentcolor;border-width:1.5px 0 0 1.5px;content:""}.ant-picker-super-prev-icon:after,.ant-picker-super-next-icon:after{position:absolute;top:4px;left:4px;display:inline-block;width:7px;height:7px;border:0 solid currentcolor;border-width:1.5px 0 0 1.5px;content:""}.ant-picker-prev-icon,.ant-picker-super-prev-icon{transform:rotate(-45deg)}.ant-picker-next-icon,.ant-picker-super-next-icon{transform:rotate(135deg)}.ant-picker-content{width:100%;table-layout:fixed;border-collapse:collapse}.ant-picker-content th,.ant-picker-content td{position:relative;min-width:24px;font-weight:400}.ant-picker-content th{height:30px;color:#000000d9;line-height:30px}.ant-picker-cell{padding:3px 0;color:#00000040;cursor:pointer}.ant-picker-cell-in-view{color:#000000d9}.ant-picker-cell:before{position:absolute;top:50%;right:0;left:0;z-index:1;height:24px;transform:translateY(-50%);transition:all .3s;content:""}.ant-picker-cell:hover:not(.ant-picker-cell-in-view) .ant-picker-cell-inner,.ant-picker-cell:hover:not(.ant-picker-cell-selected):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end):not(.ant-picker-cell-range-hover-start):not(.ant-picker-cell-range-hover-end) .ant-picker-cell-inner{background:#f5f5f5}.ant-picker-cell-in-view.ant-picker-cell-today .ant-picker-cell-inner:before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;border:1px solid #1890ff;border-radius:2px;content:""}.ant-picker-cell-in-view.ant-picker-cell-in-range{position:relative}.ant-picker-cell-in-view.ant-picker-cell-in-range:before{background:#e6f7ff}.ant-picker-cell-in-view.ant-picker-cell-selected .ant-picker-cell-inner,.ant-picker-cell-in-view.ant-picker-cell-range-start .ant-picker-cell-inner,.ant-picker-cell-in-view.ant-picker-cell-range-end .ant-picker-cell-inner{color:#fff;background:#1890ff}.ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single):before,.ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single):before{background:#e6f7ff}.ant-picker-cell-in-view.ant-picker-cell-range-start:before{left:50%}.ant-picker-cell-in-view.ant-picker-cell-range-end:before{right:50%}.ant-picker-cell-in-view.ant-picker-cell-range-hover-start:not(.ant-picker-cell-in-range):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end):after,.ant-picker-cell-in-view.ant-picker-cell-range-hover-end:not(.ant-picker-cell-in-range):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end):after,.ant-picker-cell-in-view.ant-picker-cell-range-hover-start.ant-picker-cell-range-start-single:after,.ant-picker-cell-in-view.ant-picker-cell-range-hover-start.ant-picker-cell-range-start.ant-picker-cell-range-end.ant-picker-cell-range-end-near-hover:after,.ant-picker-cell-in-view.ant-picker-cell-range-hover-end.ant-picker-cell-range-start.ant-picker-cell-range-end.ant-picker-cell-range-start-near-hover:after,.ant-picker-cell-in-view.ant-picker-cell-range-hover-end.ant-picker-cell-range-end-single:after,.ant-picker-cell-in-view.ant-picker-cell-range-hover:not(.ant-picker-cell-in-range):after{position:absolute;top:50%;z-index:0;height:24px;border-top:1px dashed #7ec1ff;border-bottom:1px dashed #7ec1ff;transform:translateY(-50%);transition:all .3s;content:""}.ant-picker-cell-range-hover-start:after,.ant-picker-cell-range-hover-end:after,.ant-picker-cell-range-hover:after{right:0;left:2px}.ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover:before,.ant-picker-cell-in-view.ant-picker-cell-range-start.ant-picker-cell-range-hover:before,.ant-picker-cell-in-view.ant-picker-cell-range-end.ant-picker-cell-range-hover:before,.ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single).ant-picker-cell-range-hover-start:before,.ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single).ant-picker-cell-range-hover-end:before,.ant-picker-panel>:not(.ant-picker-date-panel) .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start:before,.ant-picker-panel>:not(.ant-picker-date-panel) .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end:before{background:#cbe6ff}.ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single):not(.ant-picker-cell-range-end) .ant-picker-cell-inner{border-radius:2px 0 0 2px}.ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single):not(.ant-picker-cell-range-start) .ant-picker-cell-inner{border-radius:0 2px 2px 0}.ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start .ant-picker-cell-inner:after,.ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end .ant-picker-cell-inner:after{position:absolute;top:0;bottom:0;z-index:-1;background:#cbe6ff;transition:all .3s;content:""}.ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start .ant-picker-cell-inner:after{right:-6px;left:0}.ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end .ant-picker-cell-inner:after{right:0;left:-6px}.ant-picker-cell-range-hover.ant-picker-cell-range-start:after{right:50%}.ant-picker-cell-range-hover.ant-picker-cell-range-end:after{left:50%}tr>.ant-picker-cell-in-view.ant-picker-cell-range-hover:first-child:after,tr>.ant-picker-cell-in-view.ant-picker-cell-range-hover-end:first-child:after,.ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-edge-start.ant-picker-cell-range-hover-edge-start-near-range:after,.ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover-edge-start-near-range):after,.ant-picker-cell-in-view.ant-picker-cell-range-hover-start:after{left:6px;border-left:1px dashed #7ec1ff;border-top-left-radius:2px;border-bottom-left-radius:2px}tr>.ant-picker-cell-in-view.ant-picker-cell-range-hover:last-child:after,tr>.ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child:after,.ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover-edge-end.ant-picker-cell-range-hover-edge-end-near-range:after,.ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-end:not(.ant-picker-cell-range-hover-edge-end-near-range):after,.ant-picker-cell-in-view.ant-picker-cell-range-hover-end:after{right:6px;border-right:1px dashed #7ec1ff;border-top-right-radius:2px;border-bottom-right-radius:2px}.ant-picker-cell-disabled{color:#00000040;pointer-events:none}.ant-picker-cell-disabled .ant-picker-cell-inner{background:transparent}.ant-picker-cell-disabled:before{background:rgba(0,0,0,.04)}.ant-picker-cell-disabled.ant-picker-cell-today .ant-picker-cell-inner:before{border-color:#00000040}.ant-picker-decade-panel .ant-picker-content,.ant-picker-year-panel .ant-picker-content,.ant-picker-quarter-panel .ant-picker-content,.ant-picker-month-panel .ant-picker-content{height:264px}.ant-picker-decade-panel .ant-picker-cell-inner,.ant-picker-year-panel .ant-picker-cell-inner,.ant-picker-quarter-panel .ant-picker-cell-inner,.ant-picker-month-panel .ant-picker-cell-inner{padding:0 8px}.ant-picker-quarter-panel .ant-picker-content{height:56px}.ant-picker-footer{width:-moz-min-content;width:min-content;min-width:100%;line-height:38px;text-align:center;border-bottom:1px solid transparent}.ant-picker-panel .ant-picker-footer{border-top:1px solid #f0f0f0}.ant-picker-footer-extra{padding:0 12px;line-height:38px;text-align:left}.ant-picker-footer-extra:not(:last-child){border-bottom:1px solid #f0f0f0}.ant-picker-now{text-align:left}.ant-picker-today-btn{color:#1890ff}.ant-picker-today-btn:hover{color:#40a9ff}.ant-picker-today-btn:active{color:#096dd9}.ant-picker-today-btn.ant-picker-today-btn-disabled{color:#00000040;cursor:not-allowed}.ant-picker-decade-panel .ant-picker-cell-inner{padding:0 4px}.ant-picker-decade-panel .ant-picker-cell:before{display:none}.ant-picker-year-panel .ant-picker-body,.ant-picker-quarter-panel .ant-picker-body,.ant-picker-month-panel .ant-picker-body{padding:0 8px}.ant-picker-year-panel .ant-picker-cell-inner,.ant-picker-quarter-panel .ant-picker-cell-inner,.ant-picker-month-panel .ant-picker-cell-inner{width:60px}.ant-picker-year-panel .ant-picker-cell-range-hover-start:after,.ant-picker-quarter-panel .ant-picker-cell-range-hover-start:after,.ant-picker-month-panel .ant-picker-cell-range-hover-start:after{left:14px;border-left:1px dashed #7ec1ff;border-radius:2px 0 0 2px}.ant-picker-panel-rtl .ant-picker-year-panel .ant-picker-cell-range-hover-start:after,.ant-picker-panel-rtl .ant-picker-quarter-panel .ant-picker-cell-range-hover-start:after,.ant-picker-panel-rtl .ant-picker-month-panel .ant-picker-cell-range-hover-start:after{right:14px;border-right:1px dashed #7ec1ff;border-radius:0 2px 2px 0}.ant-picker-year-panel .ant-picker-cell-range-hover-end:after,.ant-picker-quarter-panel .ant-picker-cell-range-hover-end:after,.ant-picker-month-panel .ant-picker-cell-range-hover-end:after{right:14px;border-right:1px dashed #7ec1ff;border-radius:0 2px 2px 0}.ant-picker-panel-rtl .ant-picker-year-panel .ant-picker-cell-range-hover-end:after,.ant-picker-panel-rtl .ant-picker-quarter-panel .ant-picker-cell-range-hover-end:after,.ant-picker-panel-rtl .ant-picker-month-panel .ant-picker-cell-range-hover-end:after{left:14px;border-left:1px dashed #7ec1ff;border-radius:2px 0 0 2px}.ant-picker-week-panel .ant-picker-body{padding:8px 12px}.ant-picker-week-panel .ant-picker-cell:hover .ant-picker-cell-inner,.ant-picker-week-panel .ant-picker-cell-selected .ant-picker-cell-inner,.ant-picker-week-panel .ant-picker-cell .ant-picker-cell-inner{background:transparent!important}.ant-picker-week-panel-row td{transition:background .3s}.ant-picker-week-panel-row:hover td{background:#f5f5f5}.ant-picker-week-panel-row-selected td,.ant-picker-week-panel-row-selected:hover td{background:#1890ff}.ant-picker-week-panel-row-selected td.ant-picker-cell-week,.ant-picker-week-panel-row-selected:hover td.ant-picker-cell-week{color:#ffffff80}.ant-picker-week-panel-row-selected td.ant-picker-cell-today .ant-picker-cell-inner:before,.ant-picker-week-panel-row-selected:hover td.ant-picker-cell-today .ant-picker-cell-inner:before{border-color:#fff}.ant-picker-week-panel-row-selected td .ant-picker-cell-inner,.ant-picker-week-panel-row-selected:hover td .ant-picker-cell-inner{color:#fff}.ant-picker-date-panel .ant-picker-body{padding:8px 12px}.ant-picker-date-panel .ant-picker-content{width:252px}.ant-picker-date-panel .ant-picker-content th{width:36px}.ant-picker-datetime-panel{display:flex}.ant-picker-datetime-panel .ant-picker-time-panel{border-left:1px solid #f0f0f0}.ant-picker-datetime-panel .ant-picker-date-panel,.ant-picker-datetime-panel .ant-picker-time-panel{transition:opacity .3s}.ant-picker-datetime-panel-active .ant-picker-date-panel,.ant-picker-datetime-panel-active .ant-picker-time-panel{opacity:.3}.ant-picker-datetime-panel-active .ant-picker-date-panel-active,.ant-picker-datetime-panel-active .ant-picker-time-panel-active{opacity:1}.ant-picker-time-panel{width:auto;min-width:auto}.ant-picker-time-panel .ant-picker-content{display:flex;flex:auto;height:224px}.ant-picker-time-panel-column{flex:1 0 auto;width:56px;margin:0;padding:0;overflow-y:hidden;text-align:left;list-style:none;transition:background .3s}.ant-picker-time-panel-column:after{display:block;height:196px;content:""}.ant-picker-datetime-panel .ant-picker-time-panel-column:after{height:198px}.ant-picker-time-panel-column:not(:first-child){border-left:1px solid #f0f0f0}.ant-picker-time-panel-column-active{background:rgba(230,247,255,.2)}.ant-picker-time-panel-column:hover{overflow-y:auto}.ant-picker-time-panel-column>li{margin:0;padding:0}.ant-picker-time-panel-column>li.ant-picker-time-panel-cell .ant-picker-time-panel-cell-inner{display:block;width:100%;height:28px;margin:0;padding:0 0 0 14px;color:#000000d9;line-height:28px;border-radius:0;cursor:pointer;transition:background .3s}.ant-picker-time-panel-column>li.ant-picker-time-panel-cell .ant-picker-time-panel-cell-inner:hover{background:#f5f5f5}.ant-picker-time-panel-column>li.ant-picker-time-panel-cell-selected .ant-picker-time-panel-cell-inner{background:#e6f7ff}.ant-picker-time-panel-column>li.ant-picker-time-panel-cell-disabled .ant-picker-time-panel-cell-inner{color:#00000040;background:transparent;cursor:not-allowed}_:-ms-fullscreen .ant-picker-range-wrapper .ant-picker-month-panel .ant-picker-cell,:root .ant-picker-range-wrapper .ant-picker-month-panel .ant-picker-cell,_:-ms-fullscreen .ant-picker-range-wrapper .ant-picker-year-panel .ant-picker-cell,:root .ant-picker-range-wrapper .ant-picker-year-panel .ant-picker-cell{padding:21px 0}.ant-picker-rtl{direction:rtl}.ant-picker-rtl .ant-picker-suffix{margin-right:4px;margin-left:0}.ant-picker-rtl .ant-picker-clear{right:auto;left:0}.ant-picker-rtl .ant-picker-separator{transform:rotate(180deg)}.ant-picker-panel-rtl .ant-picker-header-view button:not(:first-child){margin-right:8px;margin-left:0}.ant-picker-rtl.ant-picker-range .ant-picker-clear{right:auto;left:11px}.ant-picker-rtl.ant-picker-range .ant-picker-active-bar{margin-right:11px;margin-left:0}.ant-picker-rtl.ant-picker-range.ant-picker-small .ant-picker-active-bar{margin-right:7px}.ant-picker-dropdown-rtl .ant-picker-ranges{text-align:right}.ant-picker-dropdown-rtl .ant-picker-ranges .ant-picker-ok{float:left;margin-right:8px;margin-left:0}.ant-picker-panel-rtl{direction:rtl}.ant-picker-panel-rtl .ant-picker-prev-icon,.ant-picker-panel-rtl .ant-picker-super-prev-icon{transform:rotate(135deg)}.ant-picker-panel-rtl .ant-picker-next-icon,.ant-picker-panel-rtl .ant-picker-super-next-icon{transform:rotate(-45deg)}.ant-picker-cell .ant-picker-cell-inner{position:relative;z-index:2;display:inline-block;min-width:24px;height:24px;line-height:24px;border-radius:2px;transition:background .3s,border .3s}.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-start:before{right:50%;left:0}.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-end:before{right:0;left:50%}.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-start.ant-picker-cell-range-end:before{right:50%;left:50%}.ant-picker-panel-rtl .ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start .ant-picker-cell-inner:after{right:0;left:-6px}.ant-picker-panel-rtl .ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end .ant-picker-cell-inner:after{right:-6px;left:0}.ant-picker-panel-rtl .ant-picker-cell-range-hover.ant-picker-cell-range-start:after{right:0;left:50%}.ant-picker-panel-rtl .ant-picker-cell-range-hover.ant-picker-cell-range-end:after{right:50%;left:0}.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single):not(.ant-picker-cell-range-end) .ant-picker-cell-inner{border-radius:0 2px 2px 0}.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single):not(.ant-picker-cell-range-start) .ant-picker-cell-inner{border-radius:2px 0 0 2px}.ant-picker-panel-rtl tr>.ant-picker-cell-in-view.ant-picker-cell-range-hover:not(.ant-picker-cell-selected):first-child:after,.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-edge-start.ant-picker-cell-range-hover-edge-start-near-range:after,.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover-edge-start-near-range):after,.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:after{right:6px;left:0;border-right:1px dashed #7ec1ff;border-left:none;border-radius:0 2px 2px 0}.ant-picker-panel-rtl tr>.ant-picker-cell-in-view.ant-picker-cell-range-hover:not(.ant-picker-cell-selected):last-child:after,.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover-edge-end.ant-picker-cell-range-hover-edge-end-near-range:after,.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-end:not(.ant-picker-cell-range-hover-edge-end-near-range):after,.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-end:after{right:0;left:6px;border-right:none;border-left:1px dashed #7ec1ff;border-radius:2px 0 0 2px}.ant-picker-panel-rtl tr>.ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child:after,.ant-picker-panel-rtl tr>.ant-picker-cell-in-view.ant-picker-cell-range-hover-end:first-child:after,.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover):after,.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-end.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover):after,.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover-start.ant-picker-cell-range-hover-edge-end:not(.ant-picker-cell-range-hover):after,.ant-picker-panel-rtl tr>.ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover.ant-picker-cell-range-hover-edge-start:last-child:after,.ant-picker-panel-rtl tr>.ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover.ant-picker-cell-range-hover-edge-end:first-child:after{right:6px;left:6px;border-right:1px dashed #7ec1ff;border-left:1px dashed #7ec1ff;border-radius:2px}.ant-picker-dropdown-rtl .ant-picker-footer-extra{direction:rtl;text-align:right}.ant-picker-panel-rtl .ant-picker-time-panel{direction:ltr}.ant-tag{box-sizing:border-box;margin:0 8px 0 0;color:#000000d9;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum","tnum";display:inline-block;height:auto;padding:0 7px;font-size:12px;line-height:20px;white-space:nowrap;background:#fafafa;border:1px solid #d9d9d9;border-radius:2px;opacity:1;transition:all .3s}.ant-tag,.ant-tag a,.ant-tag a:hover{color:#000000d9}.ant-tag>a:first-child:last-child{display:inline-block;margin:0 -8px;padding:0 8px}.ant-tag-close-icon{margin-left:3px;color:#00000073;font-size:10px;cursor:pointer;transition:all .3s}.ant-tag-close-icon:hover{color:#000000d9}.ant-tag-has-color{border-color:transparent}.ant-tag-has-color,.ant-tag-has-color a,.ant-tag-has-color a:hover,.ant-tag-has-color .anticon-close,.ant-tag-has-color .anticon-close:hover{color:#fff}.ant-tag-checkable{background-color:transparent;border-color:transparent;cursor:pointer}.ant-tag-checkable:not(.ant-tag-checkable-checked):hover{color:#1890ff}.ant-tag-checkable:active,.ant-tag-checkable-checked{color:#fff}.ant-tag-checkable-checked{background-color:#1890ff}.ant-tag-checkable:active{background-color:#096dd9}.ant-tag-hidden{display:none}.ant-tag-pink{color:#c41d7f;background:#fff0f6;border-color:#ffadd2}.ant-tag-pink-inverse{color:#fff;background:#eb2f96;border-color:#eb2f96}.ant-tag-magenta{color:#c41d7f;background:#fff0f6;border-color:#ffadd2}.ant-tag-magenta-inverse{color:#fff;background:#eb2f96;border-color:#eb2f96}.ant-tag-red{color:#cf1322;background:#fff1f0;border-color:#ffa39e}.ant-tag-red-inverse{color:#fff;background:#f5222d;border-color:#f5222d}.ant-tag-volcano{color:#d4380d;background:#fff2e8;border-color:#ffbb96}.ant-tag-volcano-inverse{color:#fff;background:#fa541c;border-color:#fa541c}.ant-tag-orange{color:#d46b08;background:#fff7e6;border-color:#ffd591}.ant-tag-orange-inverse{color:#fff;background:#fa8c16;border-color:#fa8c16}.ant-tag-yellow{color:#d4b106;background:#feffe6;border-color:#fffb8f}.ant-tag-yellow-inverse{color:#fff;background:#fadb14;border-color:#fadb14}.ant-tag-gold{color:#d48806;background:#fffbe6;border-color:#ffe58f}.ant-tag-gold-inverse{color:#fff;background:#faad14;border-color:#faad14}.ant-tag-cyan{color:#08979c;background:#e6fffb;border-color:#87e8de}.ant-tag-cyan-inverse{color:#fff;background:#13c2c2;border-color:#13c2c2}.ant-tag-lime{color:#7cb305;background:#fcffe6;border-color:#eaff8f}.ant-tag-lime-inverse{color:#fff;background:#a0d911;border-color:#a0d911}.ant-tag-green{color:#389e0d;background:#f6ffed;border-color:#b7eb8f}.ant-tag-green-inverse{color:#fff;background:#52c41a;border-color:#52c41a}.ant-tag-blue{color:#096dd9;background:#e6f7ff;border-color:#91d5ff}.ant-tag-blue-inverse{color:#fff;background:#1890ff;border-color:#1890ff}.ant-tag-geekblue{color:#1d39c4;background:#f0f5ff;border-color:#adc6ff}.ant-tag-geekblue-inverse{color:#fff;background:#2f54eb;border-color:#2f54eb}.ant-tag-purple{color:#531dab;background:#f9f0ff;border-color:#d3adf7}.ant-tag-purple-inverse{color:#fff;background:#722ed1;border-color:#722ed1}.ant-tag-success{color:#52c41a;background:#f6ffed;border-color:#b7eb8f}.ant-tag-processing{color:#1890ff;background:#e6f7ff;border-color:#91d5ff}.ant-tag-error{color:#ff4d4f;background:#fff2f0;border-color:#ffccc7}.ant-tag-warning{color:#faad14;background:#fffbe6;border-color:#ffe58f}.ant-tag>.anticon+span,.ant-tag>span+.anticon{margin-left:7px}.ant-tag.ant-tag-rtl{margin-right:0;margin-left:8px;direction:rtl;text-align:right}.ant-tag-rtl .ant-tag-close-icon{margin-right:3px;margin-left:0}.ant-tag-rtl.ant-tag>.anticon+span,.ant-tag-rtl.ant-tag>span+.anticon{margin-right:7px;margin-left:0}.ant-pro-field-date-picker-light .ant-calendar-picker,.ant-pro-field-date-picker-light .ant-picker{position:absolute;width:80px;height:28px;overflow:hidden;visibility:hidden}.ant-input-number-affix-wrapper{display:inline-block;width:100%;min-width:0;color:#000000d9;font-size:14px;line-height:1.5715;background-color:#fff;background-image:none;border:1px solid #d9d9d9;border-radius:2px;transition:all .3s;position:relative;display:inline-flex;width:90px;padding:0;padding-inline-start:11px}.ant-input-number-affix-wrapper::-moz-placeholder{color:#bfbfbf;-moz-user-select:none;user-select:none}.ant-input-number-affix-wrapper:-ms-input-placeholder{color:#bfbfbf;-ms-user-select:none;user-select:none}.ant-input-number-affix-wrapper::placeholder{color:#bfbfbf;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ant-input-number-affix-wrapper:-moz-placeholder{text-overflow:ellipsis}.ant-input-number-affix-wrapper:-ms-input-placeholder{text-overflow:ellipsis}.ant-input-number-affix-wrapper:placeholder-shown{text-overflow:ellipsis}.ant-input-number-affix-wrapper:hover{border-color:#40a9ff;border-right-width:1px}.ant-input-number-affix-wrapper:focus,.ant-input-number-affix-wrapper-focused{border-color:#40a9ff;box-shadow:0 0 0 2px #1890ff33;border-right-width:1px;outline:0}.ant-input-number-affix-wrapper-disabled{color:#00000040;background-color:#f5f5f5;border-color:#d9d9d9;box-shadow:none;cursor:not-allowed;opacity:1}.ant-input-number-affix-wrapper-disabled:hover{border-color:#d9d9d9;border-right-width:1px}.ant-input-number-affix-wrapper[disabled]{color:#00000040;background-color:#f5f5f5;border-color:#d9d9d9;box-shadow:none;cursor:not-allowed;opacity:1}.ant-input-number-affix-wrapper[disabled]:hover{border-color:#d9d9d9;border-right-width:1px}.ant-input-number-affix-wrapper-borderless,.ant-input-number-affix-wrapper-borderless:hover,.ant-input-number-affix-wrapper-borderless:focus,.ant-input-number-affix-wrapper-borderless-focused,.ant-input-number-affix-wrapper-borderless-disabled,.ant-input-number-affix-wrapper-borderless[disabled]{background-color:transparent;border:none;box-shadow:none}textarea.ant-input-number-affix-wrapper{max-width:100%;height:auto;min-height:32px;line-height:1.5715;vertical-align:bottom;transition:all .3s,height 0s}.ant-input-number-affix-wrapper-lg{padding:6.5px 11px;font-size:16px}.ant-input-number-affix-wrapper-sm{padding:0 7px}.ant-input-number-affix-wrapper:not(.ant-input-number-affix-wrapper-disabled):hover{border-color:#40a9ff;border-right-width:1px;z-index:1}.ant-input-number-affix-wrapper-focused,.ant-input-number-affix-wrapper:focus{z-index:1}.ant-input-number-affix-wrapper-disabled .ant-input-number[disabled]{background:transparent}.ant-input-number-affix-wrapper>div.ant-input-number{width:100%;border:none;outline:none}.ant-input-number-affix-wrapper>div.ant-input-number.ant-input-number-focused{box-shadow:none!important}.ant-input-number-affix-wrapper input.ant-input-number-input{padding:0}.ant-input-number-affix-wrapper:before{display:inline-block;width:0;visibility:hidden;content:" "}.ant-input-number-affix-wrapper .ant-input-number-handler-wrap{z-index:2}.ant-input-number-prefix,.ant-input-number-suffix{display:flex;flex:none;align-items:center;pointer-events:none}.ant-input-number-prefix{margin-inline-end:4px}.ant-input-number-suffix{position:absolute;top:0;right:0;z-index:1;height:100%;margin-right:11px;margin-left:4px}.ant-input-number-group-wrapper .ant-input-number-affix-wrapper{width:100%}.ant-input-number-status-error:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number,.ant-input-number-status-error:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number:hover{background:#fff;border-color:#ff4d4f}.ant-input-number-status-error:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number:focus,.ant-input-number-status-error:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number-focused{border-color:#ff7875;box-shadow:0 0 0 2px #ff4d4f33;border-right-width:1px;outline:0}.ant-input-number-status-error .ant-input-number-prefix{color:#ff4d4f}.ant-input-number-status-warning:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number,.ant-input-number-status-warning:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number:hover{background:#fff;border-color:#faad14}.ant-input-number-status-warning:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number:focus,.ant-input-number-status-warning:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number-focused{border-color:#ffc53d;box-shadow:0 0 0 2px #faad1433;border-right-width:1px;outline:0}.ant-input-number-status-warning .ant-input-number-prefix{color:#faad14}.ant-input-number-affix-wrapper-status-error:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper,.ant-input-number-affix-wrapper-status-error:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper:hover{background:#fff;border-color:#ff4d4f}.ant-input-number-affix-wrapper-status-error:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper:focus,.ant-input-number-affix-wrapper-status-error:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper-focused{border-color:#ff7875;box-shadow:0 0 0 2px #ff4d4f33;border-right-width:1px;outline:0}.ant-input-number-affix-wrapper-status-error .ant-input-number-prefix{color:#ff4d4f}.ant-input-number-affix-wrapper-status-warning:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper,.ant-input-number-affix-wrapper-status-warning:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper:hover{background:#fff;border-color:#faad14}.ant-input-number-affix-wrapper-status-warning:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper:focus,.ant-input-number-affix-wrapper-status-warning:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper-focused{border-color:#ffc53d;box-shadow:0 0 0 2px #faad1433;border-right-width:1px;outline:0}.ant-input-number-affix-wrapper-status-warning .ant-input-number-prefix{color:#faad14}.ant-input-number-group-wrapper-status-error .ant-input-number-group-addon{color:#ff4d4f;border-color:#ff4d4f}.ant-input-number-group-wrapper-status-warning .ant-input-number-group-addon{color:#faad14;border-color:#faad14}.ant-input-number{box-sizing:border-box;font-variant:tabular-nums;list-style:none;font-feature-settings:"tnum","tnum";position:relative;width:100%;min-width:0;color:#000000d9;font-size:14px;line-height:1.5715;background-color:#fff;background-image:none;transition:all .3s;display:inline-block;width:90px;margin:0;padding:0;border:1px solid #d9d9d9;border-radius:2px}.ant-input-number::-moz-placeholder{color:#bfbfbf;-moz-user-select:none;user-select:none}.ant-input-number:-ms-input-placeholder{color:#bfbfbf;-ms-user-select:none;user-select:none}.ant-input-number::placeholder{color:#bfbfbf;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ant-input-number:-moz-placeholder{text-overflow:ellipsis}.ant-input-number:-ms-input-placeholder{text-overflow:ellipsis}.ant-input-number:placeholder-shown{text-overflow:ellipsis}.ant-input-number:focus,.ant-input-number-focused{border-color:#40a9ff;box-shadow:0 0 0 2px #1890ff33;border-right-width:1px;outline:0}.ant-input-number[disabled]{color:#00000040;background-color:#f5f5f5;border-color:#d9d9d9;box-shadow:none;cursor:not-allowed;opacity:1}.ant-input-number[disabled]:hover{border-color:#d9d9d9;border-right-width:1px}.ant-input-number-borderless,.ant-input-number-borderless:hover,.ant-input-number-borderless:focus,.ant-input-number-borderless-focused,.ant-input-number-borderless-disabled,.ant-input-number-borderless[disabled]{background-color:transparent;border:none;box-shadow:none}textarea.ant-input-number{max-width:100%;height:auto;min-height:32px;line-height:1.5715;vertical-align:bottom;transition:all .3s,height 0s}.ant-input-number-lg{padding:6.5px 11px;font-size:16px}.ant-input-number-sm{padding:0 7px}.ant-input-number-group{box-sizing:border-box;margin:0;padding:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum","tnum";position:relative;display:table;width:100%;border-collapse:separate;border-spacing:0}.ant-input-number-group[class*=col-]{float:none;padding-right:0;padding-left:0}.ant-input-number-group>[class*=col-]{padding-right:8px}.ant-input-number-group>[class*=col-]:last-child{padding-right:0}.ant-input-number-group-addon,.ant-input-number-group-wrap,.ant-input-number-group>.ant-input-number{display:table-cell}.ant-input-number-group-addon:not(:first-child):not(:last-child),.ant-input-number-group-wrap:not(:first-child):not(:last-child),.ant-input-number-group>.ant-input-number:not(:first-child):not(:last-child){border-radius:0}.ant-input-number-group-addon,.ant-input-number-group-wrap{width:1px;white-space:nowrap;vertical-align:middle}.ant-input-number-group-wrap>*{display:block!important}.ant-input-number-group .ant-input-number{float:left;width:100%;margin-bottom:0;text-align:inherit}.ant-input-number-group .ant-input-number:focus{z-index:1;border-right-width:1px}.ant-input-number-group .ant-input-number:hover{z-index:1;border-right-width:1px}.ant-input-search-with-button .ant-input-number-group .ant-input-number:hover{z-index:0}.ant-input-number-group-addon{position:relative;padding:0 11px;color:#000000d9;font-weight:400;font-size:14px;text-align:center;background-color:#fafafa;border:1px solid #d9d9d9;border-radius:2px;transition:all .3s}.ant-input-number-group-addon .ant-select{margin:-5px -11px}.ant-input-number-group-addon .ant-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{background-color:inherit;border:1px solid transparent;box-shadow:none}.ant-input-number-group-addon .ant-select-open .ant-select-selector,.ant-input-number-group-addon .ant-select-focused .ant-select-selector{color:#1890ff}.ant-input-number-group-addon .ant-cascader-picker{margin:-9px -12px;background-color:transparent}.ant-input-number-group-addon .ant-cascader-picker .ant-cascader-input{text-align:left;border:0;box-shadow:none}.ant-input-number-group>.ant-input-number:first-child,.ant-input-number-group-addon:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.ant-input-number-group>.ant-input-number:first-child .ant-select .ant-select-selector,.ant-input-number-group-addon:first-child .ant-select .ant-select-selector{border-top-right-radius:0;border-bottom-right-radius:0}.ant-input-number-group>.ant-input-number-affix-wrapper:not(:first-child) .ant-input-number{border-top-left-radius:0;border-bottom-left-radius:0}.ant-input-number-group>.ant-input-number-affix-wrapper:not(:last-child) .ant-input-number{border-top-right-radius:0;border-bottom-right-radius:0}.ant-input-number-group-addon:first-child{border-right:0}.ant-input-number-group-addon:last-child{border-left:0}.ant-input-number-group>.ant-input-number:last-child,.ant-input-number-group-addon:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.ant-input-number-group>.ant-input-number:last-child .ant-select .ant-select-selector,.ant-input-number-group-addon:last-child .ant-select .ant-select-selector{border-top-left-radius:0;border-bottom-left-radius:0}.ant-input-number-group-lg .ant-input-number,.ant-input-number-group-lg>.ant-input-number-group-addon{padding:6.5px 11px;font-size:16px}.ant-input-number-group-sm .ant-input-number,.ant-input-number-group-sm>.ant-input-number-group-addon{padding:0 7px}.ant-input-number-group-lg .ant-select-single .ant-select-selector{height:40px}.ant-input-number-group-sm .ant-select-single .ant-select-selector{height:24px}.ant-input-number-group .ant-input-number-affix-wrapper:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.ant-input-search .ant-input-number-group .ant-input-number-affix-wrapper:not(:last-child){border-top-left-radius:2px;border-bottom-left-radius:2px}.ant-input-number-group .ant-input-number-affix-wrapper:not(:first-child),.ant-input-search .ant-input-number-group .ant-input-number-affix-wrapper:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.ant-input-number-group.ant-input-number-group-compact{display:block}.ant-input-number-group.ant-input-number-group-compact:before{display:table;content:""}.ant-input-number-group.ant-input-number-group-compact:after{display:table;clear:both;content:""}.ant-input-number-group.ant-input-number-group-compact-addon:not(:first-child):not(:last-child),.ant-input-number-group.ant-input-number-group-compact-wrap:not(:first-child):not(:last-child),.ant-input-number-group.ant-input-number-group-compact>.ant-input-number:not(:first-child):not(:last-child){border-right-width:1px}.ant-input-number-group.ant-input-number-group-compact-addon:not(:first-child):not(:last-child):hover,.ant-input-number-group.ant-input-number-group-compact-wrap:not(:first-child):not(:last-child):hover,.ant-input-number-group.ant-input-number-group-compact>.ant-input-number:not(:first-child):not(:last-child):hover{z-index:1}.ant-input-number-group.ant-input-number-group-compact-addon:not(:first-child):not(:last-child):focus,.ant-input-number-group.ant-input-number-group-compact-wrap:not(:first-child):not(:last-child):focus,.ant-input-number-group.ant-input-number-group-compact>.ant-input-number:not(:first-child):not(:last-child):focus{z-index:1}.ant-input-number-group.ant-input-number-group-compact>*{display:inline-block;float:none;vertical-align:top;border-radius:0}.ant-input-number-group.ant-input-number-group-compact>.ant-input-number-affix-wrapper,.ant-input-number-group.ant-input-number-group-compact>.ant-input-number-number-affix-wrapper,.ant-input-number-group.ant-input-number-group-compact>.ant-picker-range{display:inline-flex}.ant-input-number-group.ant-input-number-group-compact>*:not(:last-child){margin-right:-1px;border-right-width:1px}.ant-input-number-group.ant-input-number-group-compact .ant-input-number{float:none}.ant-input-number-group.ant-input-number-group-compact>.ant-select>.ant-select-selector,.ant-input-number-group.ant-input-number-group-compact>.ant-select-auto-complete .ant-input,.ant-input-number-group.ant-input-number-group-compact>.ant-cascader-picker .ant-input,.ant-input-number-group.ant-input-number-group-compact>.ant-input-group-wrapper .ant-input{border-right-width:1px;border-radius:0}.ant-input-number-group.ant-input-number-group-compact>.ant-select>.ant-select-selector:hover,.ant-input-number-group.ant-input-number-group-compact>.ant-select-auto-complete .ant-input:hover,.ant-input-number-group.ant-input-number-group-compact>.ant-cascader-picker .ant-input:hover,.ant-input-number-group.ant-input-number-group-compact>.ant-input-group-wrapper .ant-input:hover{z-index:1}.ant-input-number-group.ant-input-number-group-compact>.ant-select>.ant-select-selector:focus,.ant-input-number-group.ant-input-number-group-compact>.ant-select-auto-complete .ant-input:focus,.ant-input-number-group.ant-input-number-group-compact>.ant-cascader-picker .ant-input:focus,.ant-input-number-group.ant-input-number-group-compact>.ant-input-group-wrapper .ant-input:focus{z-index:1}.ant-input-number-group.ant-input-number-group-compact>.ant-select-focused{z-index:1}.ant-input-number-group.ant-input-number-group-compact>.ant-select>.ant-select-arrow{z-index:1}.ant-input-number-group.ant-input-number-group-compact>*:first-child,.ant-input-number-group.ant-input-number-group-compact>.ant-select:first-child>.ant-select-selector,.ant-input-number-group.ant-input-number-group-compact>.ant-select-auto-complete:first-child .ant-input,.ant-input-number-group.ant-input-number-group-compact>.ant-cascader-picker:first-child .ant-input{border-top-left-radius:2px;border-bottom-left-radius:2px}.ant-input-number-group.ant-input-number-group-compact>*:last-child,.ant-input-number-group.ant-input-number-group-compact>.ant-select:last-child>.ant-select-selector,.ant-input-number-group.ant-input-number-group-compact>.ant-cascader-picker:last-child .ant-input,.ant-input-number-group.ant-input-number-group-compact>.ant-cascader-picker-focused:last-child .ant-input{border-right-width:1px;border-top-right-radius:2px;border-bottom-right-radius:2px}.ant-input-number-group.ant-input-number-group-compact>.ant-select-auto-complete .ant-input{vertical-align:top}.ant-input-number-group.ant-input-number-group-compact .ant-input-group-wrapper+.ant-input-group-wrapper{margin-left:-1px}.ant-input-number-group.ant-input-number-group-compact .ant-input-group-wrapper+.ant-input-group-wrapper .ant-input-affix-wrapper{border-radius:0}.ant-input-number-group.ant-input-number-group-compact .ant-input-group-wrapper:not(:last-child).ant-input-search>.ant-input-group>.ant-input-group-addon>.ant-input-search-button{border-radius:0}.ant-input-number-group.ant-input-number-group-compact .ant-input-group-wrapper:not(:last-child).ant-input-search>.ant-input-group>.ant-input{border-radius:2px 0 0 2px}.ant-input-number-group>.ant-input-number-rtl:first-child{border-radius:0 2px 2px 0}.ant-input-number-group>.ant-input-number-rtl:last-child{border-radius:2px 0 0 2px}.ant-input-number-group-rtl .ant-input-number-group-addon:first-child{border-right:1px solid #d9d9d9;border-left:0;border-radius:0 2px 2px 0}.ant-input-number-group-rtl .ant-input-number-group-addon:last-child{border-right:0;border-left:1px solid #d9d9d9;border-radius:2px 0 0 2px}.ant-input-number-group-wrapper{display:inline-block;text-align:start;vertical-align:top}.ant-input-number-handler{position:relative;display:block;width:100%;height:50%;overflow:hidden;color:#00000073;font-weight:700;line-height:0;text-align:center;border-left:1px solid #d9d9d9;transition:all .1s linear}.ant-input-number-handler:active{background:#f4f4f4}.ant-input-number-handler:hover .ant-input-number-handler-up-inner,.ant-input-number-handler:hover .ant-input-number-handler-down-inner{color:#40a9ff}.ant-input-number-handler-up-inner,.ant-input-number-handler-down-inner{display:inline-flex;align-items:center;color:inherit;font-style:normal;line-height:0;text-align:center;text-transform:none;vertical-align:-.125em;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:absolute;right:4px;width:12px;height:12px;color:#00000073;line-height:12px;transition:all .1s linear;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ant-input-number-handler-up-inner>*,.ant-input-number-handler-down-inner>*{line-height:1}.ant-input-number-handler-up-inner svg,.ant-input-number-handler-down-inner svg{display:inline-block}.ant-input-number-handler-up-inner:before,.ant-input-number-handler-down-inner:before{display:none}.ant-input-number-handler-up-inner .ant-input-number-handler-up-inner-icon,.ant-input-number-handler-up-inner .ant-input-number-handler-down-inner-icon,.ant-input-number-handler-down-inner .ant-input-number-handler-up-inner-icon,.ant-input-number-handler-down-inner .ant-input-number-handler-down-inner-icon{display:block}.ant-input-number:hover{border-color:#40a9ff;border-right-width:1px}.ant-input-number:hover+.ant-form-item-children-icon{opacity:0;transition:opacity .24s linear .24s}.ant-input-number-focused{border-color:#40a9ff;box-shadow:0 0 0 2px #1890ff33;border-right-width:1px;outline:0}.ant-input-number-disabled{color:#00000040;background-color:#f5f5f5;border-color:#d9d9d9;box-shadow:none;cursor:not-allowed;opacity:1}.ant-input-number-disabled:hover{border-color:#d9d9d9;border-right-width:1px}.ant-input-number-disabled .ant-input-number-input{cursor:not-allowed}.ant-input-number-disabled .ant-input-number-handler-wrap,.ant-input-number-readonly .ant-input-number-handler-wrap{display:none}.ant-input-number-input{width:100%;height:30px;padding:0 11px;text-align:left;background-color:transparent;border:0;border-radius:2px;outline:0;transition:all .3s linear;-webkit-appearance:textfield!important;-moz-appearance:textfield!important;appearance:textfield!important}.ant-input-number-input::-moz-placeholder{color:#bfbfbf;-moz-user-select:none;user-select:none}.ant-input-number-input:-ms-input-placeholder{color:#bfbfbf;-ms-user-select:none;user-select:none}.ant-input-number-input::placeholder{color:#bfbfbf;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ant-input-number-input:-moz-placeholder{text-overflow:ellipsis}.ant-input-number-input:-ms-input-placeholder{text-overflow:ellipsis}.ant-input-number-input:placeholder-shown{text-overflow:ellipsis}.ant-input-number-input[type=number]::-webkit-inner-spin-button,.ant-input-number-input[type=number]::-webkit-outer-spin-button{margin:0;-webkit-appearance:none;appearance:none}.ant-input-number-lg{padding:0;font-size:16px}.ant-input-number-lg input{height:38px}.ant-input-number-sm{padding:0}.ant-input-number-sm input{height:22px;padding:0 7px}.ant-input-number-handler-wrap{position:absolute;top:0;right:0;width:22px;height:100%;background:#fff;border-radius:0 2px 2px 0;opacity:0;transition:opacity .24s linear .1s}.ant-input-number-handler-wrap .ant-input-number-handler .ant-input-number-handler-up-inner,.ant-input-number-handler-wrap .ant-input-number-handler .ant-input-number-handler-down-inner{display:flex;align-items:center;justify-content:center;min-width:auto;margin-right:0;font-size:7px}.ant-input-number-borderless .ant-input-number-handler-wrap{border-left-width:0}.ant-input-number-handler-wrap:hover .ant-input-number-handler{height:40%}.ant-input-number:hover .ant-input-number-handler-wrap,.ant-input-number-focused .ant-input-number-handler-wrap{opacity:1}.ant-input-number-handler-up{border-top-right-radius:2px;cursor:pointer}.ant-input-number-handler-up-inner{top:50%;margin-top:-5px;text-align:center}.ant-input-number-handler-up:hover{height:60%!important}.ant-input-number-handler-down{top:0;border-top:1px solid #d9d9d9;border-bottom-right-radius:2px;cursor:pointer}.ant-input-number-handler-down-inner{top:50%;text-align:center;transform:translateY(-50%)}.ant-input-number-handler-down:hover{height:60%!important}.ant-input-number-borderless .ant-input-number-handler-down{border-top-width:0}.ant-input-number:hover:not(.ant-input-number-borderless) .ant-input-number-handler-down,.ant-input-number-focused:not(.ant-input-number-borderless) .ant-input-number-handler-down{border-top:1px solid #d9d9d9}.ant-input-number-handler-up-disabled,.ant-input-number-handler-down-disabled{cursor:not-allowed}.ant-input-number-handler-up-disabled:hover .ant-input-number-handler-up-inner,.ant-input-number-handler-down-disabled:hover .ant-input-number-handler-down-inner{color:#00000040}.ant-input-number-borderless{box-shadow:none}.ant-input-number-out-of-range input{color:#ff4d4f}.ant-input-number-compact-item:not(.ant-input-number-compact-last-item):not(.ant-input-number-compact-item-rtl){margin-right:-1px}.ant-input-number-compact-item:not(.ant-input-number-compact-last-item).ant-input-number-compact-item-rtl{margin-left:-1px}.ant-input-number-compact-item:hover,.ant-input-number-compact-item:focus,.ant-input-number-compact-item:active{z-index:2}.ant-input-number-compact-item.ant-input-number-focused{z-index:2}.ant-input-number-compact-item[disabled]{z-index:0}.ant-input-number-compact-item:not(.ant-input-number-compact-first-item):not(.ant-input-number-compact-last-item).ant-input-number{border-radius:0}.ant-input-number-compact-item.ant-input-number.ant-input-number-compact-first-item:not(.ant-input-number-compact-last-item):not(.ant-input-number-compact-item-rtl){border-top-right-radius:0;border-bottom-right-radius:0}.ant-input-number-compact-item.ant-input-number.ant-input-number-compact-last-item:not(.ant-input-number-compact-first-item):not(.ant-input-number-compact-item-rtl){border-top-left-radius:0;border-bottom-left-radius:0}.ant-input-number-compact-item.ant-input-number.ant-input-number-compact-item-rtl.ant-input-number-compact-first-item:not(.ant-input-number-compact-last-item){border-top-left-radius:0;border-bottom-left-radius:0}.ant-input-number-compact-item.ant-input-number.ant-input-number-compact-item-rtl.ant-input-number-compact-last-item:not(.ant-input-number-compact-first-item){border-top-right-radius:0;border-bottom-right-radius:0}.ant-input-number-rtl{direction:rtl}.ant-input-number-rtl .ant-input-number-handler{border-right:1px solid #d9d9d9;border-left:0}.ant-input-number-rtl .ant-input-number-handler-wrap{right:auto;left:0}.ant-input-number-rtl.ant-input-number-borderless .ant-input-number-handler-wrap{border-right-width:0}.ant-input-number-rtl .ant-input-number-handler-up{border-top-right-radius:0}.ant-input-number-rtl .ant-input-number-handler-down{border-bottom-right-radius:0}.ant-input-number-rtl .ant-input-number-input{direction:ltr;text-align:right}.ant-image{position:relative;display:inline-block}.ant-image-img{width:100%;height:auto;vertical-align:middle}.ant-image-img-placeholder{background-color:#f5f5f5;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTQuNSAyLjVoLTEzQS41LjUgMCAwIDAgMSAzdjEwYS41LjUgMCAwIDAgLjUuNWgxM2EuNS41IDAgMCAwIC41LS41VjNhLjUuNSAwIDAgMC0uNS0uNXpNNS4yODEgNC43NWExIDEgMCAwIDEgMCAyIDEgMSAwIDAgMSAwLTJ6bTguMDMgNi44M2EuMTI3LjEyNyAwIDAgMS0uMDgxLjAzSDIuNzY5YS4xMjUuMTI1IDAgMCAxLS4wOTYtLjIwN2wyLjY2MS0zLjE1NmEuMTI2LjEyNiAwIDAgMSAuMTc3LS4wMTZsLjAxNi4wMTZMNy4wOCAxMC4wOWwyLjQ3LTIuOTNhLjEyNi4xMjYgMCAwIDEgLjE3Ny0uMDE2bC4wMTUuMDE2IDMuNTg4IDQuMjQ0YS4xMjcuMTI3IDAgMCAxLS4wMi4xNzV6IiBmaWxsPSIjOEM4QzhDIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4=);background-repeat:no-repeat;background-position:center center;background-size:30%}.ant-image-mask{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#fff;background:rgba(0,0,0,.5);cursor:pointer;opacity:0;transition:opacity .3s}.ant-image-mask-info{padding:0 4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ant-image-mask-info .anticon{margin-inline-end:4px}.ant-image-mask:hover{opacity:1}.ant-image-placeholder{position:absolute;top:0;right:0;bottom:0;left:0}.ant-image-preview{pointer-events:none;height:100%;text-align:center}.ant-image-preview.ant-zoom-enter,.ant-image-preview.ant-zoom-appear{transform:none;opacity:0;animation-duration:.3s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ant-image-preview-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;height:100%;background-color:#00000073}.ant-image-preview-mask-hidden{display:none}.ant-image-preview-wrap{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;outline:0}.ant-image-preview-body{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.ant-image-preview-img{max-width:100%;max-height:100%;vertical-align:middle;transform:scaleZ(1);cursor:grab;transition:transform .3s cubic-bezier(.215,.61,.355,1) 0s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:auto}.ant-image-preview-img-wrapper{position:absolute;top:0;right:0;bottom:0;left:0;transition:transform .3s cubic-bezier(.215,.61,.355,1) 0s}.ant-image-preview-img-wrapper:before{display:inline-block;width:1px;height:50%;margin-right:-1px;content:""}.ant-image-preview-moving .ant-image-preview-img{cursor:grabbing}.ant-image-preview-moving .ant-image-preview-img-wrapper{transition-duration:0s}.ant-image-preview-wrap{z-index:1080}.ant-image-preview-operations-wrapper{position:fixed;top:0;right:0;z-index:1081;width:100%}.ant-image-preview-operations{box-sizing:border-box;margin:0;padding:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;font-feature-settings:"tnum","tnum";display:flex;flex-direction:row-reverse;align-items:center;color:#ffffffd9;list-style:none;background:rgba(0,0,0,.1);pointer-events:auto}.ant-image-preview-operations-operation{margin-left:12px;padding:12px;cursor:pointer;transition:all .3s}.ant-image-preview-operations-operation:hover{background:rgba(0,0,0,.2)}.ant-image-preview-operations-operation-disabled{color:#ffffff40;pointer-events:none}.ant-image-preview-operations-operation:last-of-type{margin-left:0}.ant-image-preview-operations-progress{position:absolute;left:50%;transform:translate(-50%)}.ant-image-preview-operations-icon{font-size:18px}.ant-image-preview-switch-left,.ant-image-preview-switch-right{position:fixed;top:50%;right:8px;z-index:1081;display:flex;align-items:center;justify-content:center;width:44px;height:44px;color:#ffffffd9;background:rgba(0,0,0,.1);border-radius:50%;transform:translateY(-50%);cursor:pointer;transition:all .3s;pointer-events:auto}.ant-image-preview-switch-left:hover,.ant-image-preview-switch-right:hover{background:rgba(0,0,0,.2)}.ant-image-preview-switch-left-disabled,.ant-image-preview-switch-right-disabled,.ant-image-preview-switch-left-disabled:hover,.ant-image-preview-switch-right-disabled:hover{color:#ffffff40;background:rgba(0,0,0,.1);cursor:not-allowed}.ant-image-preview-switch-left-disabled>.anticon,.ant-image-preview-switch-right-disabled>.anticon,.ant-image-preview-switch-left-disabled:hover>.anticon,.ant-image-preview-switch-right-disabled:hover>.anticon{cursor:not-allowed}.ant-image-preview-switch-left>.anticon,.ant-image-preview-switch-right>.anticon{font-size:18px}.ant-image-preview-switch-left{left:8px}.ant-image-preview-switch-right{right:8px}.ant-pro-field-index-column{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:18px;height:18px}.ant-pro-field-index-column-border{color:#fff;font-size:12px;line-height:12px;background-color:#314659;border-radius:9px}.ant-pro-field-index-column-border.top-three{background-color:#979797}.ant-progress{box-sizing:border-box;margin:0;padding:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum","tnum";display:inline-block}.ant-progress-line{position:relative;width:100%;font-size:14px}.ant-progress-steps{display:inline-block}.ant-progress-steps-outer{display:flex;flex-direction:row;align-items:center}.ant-progress-steps-item{flex-shrink:0;min-width:2px;margin-right:2px;background:#f3f3f3;transition:all .3s}.ant-progress-steps-item-active{background:#1890ff}.ant-progress-small.ant-progress-line,.ant-progress-small.ant-progress-line .ant-progress-text .anticon{font-size:12px}.ant-progress-outer{display:inline-block;width:100%;margin-right:0;padding-right:0}.ant-progress-show-info .ant-progress-outer{margin-right:calc(-2em - 8px);padding-right:calc(2em + 8px)}.ant-progress-inner{position:relative;display:inline-block;width:100%;overflow:hidden;vertical-align:middle;background-color:#f5f5f5;border-radius:100px}.ant-progress-circle-trail{stroke:#f5f5f5}.ant-progress-circle-path{animation:ant-progress-appear .3s}.ant-progress-inner:not(.ant-progress-circle-gradient) .ant-progress-circle-path{stroke:#1890ff}.ant-progress-success-bg,.ant-progress-bg{position:relative;background-color:#1890ff;border-radius:100px;transition:all .4s cubic-bezier(.08,.82,.17,1) 0s}.ant-progress-success-bg{position:absolute;top:0;left:0;background-color:#52c41a}.ant-progress-text{display:inline-block;width:2em;margin-left:8px;color:#000000d9;font-size:1em;line-height:1;white-space:nowrap;text-align:left;vertical-align:middle;word-break:normal}.ant-progress-text .anticon{font-size:14px}.ant-progress-status-active .ant-progress-bg:before{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;border-radius:10px;opacity:0;animation:ant-progress-active 2.4s cubic-bezier(.23,1,.32,1) infinite;content:""}.ant-progress-status-exception .ant-progress-bg{background-color:#ff4d4f}.ant-progress-status-exception .ant-progress-text{color:#ff4d4f}.ant-progress-status-exception .ant-progress-inner:not(.ant-progress-circle-gradient) .ant-progress-circle-path{stroke:#ff4d4f}.ant-progress-status-success .ant-progress-bg{background-color:#52c41a}.ant-progress-status-success .ant-progress-text{color:#52c41a}.ant-progress-status-success .ant-progress-inner:not(.ant-progress-circle-gradient) .ant-progress-circle-path{stroke:#52c41a}.ant-progress-circle .ant-progress-inner{position:relative;line-height:1;background-color:transparent}.ant-progress-circle .ant-progress-text{position:absolute;top:50%;left:50%;width:100%;margin:0;padding:0;color:#000000d9;font-size:1em;line-height:1;white-space:normal;text-align:center;transform:translate(-50%,-50%)}.ant-progress-circle .ant-progress-text .anticon{font-size:1.16666667em}.ant-progress-circle.ant-progress-status-exception .ant-progress-text{color:#ff4d4f}.ant-progress-circle.ant-progress-status-success .ant-progress-text{color:#52c41a}@keyframes ant-progress-active{0%{transform:translate(-100%) scaleX(0);opacity:.1}20%{transform:translate(-100%) scaleX(0);opacity:.5}to{transform:translate(0) scaleX(1);opacity:0}}.ant-progress-rtl{direction:rtl}.ant-progress-rtl.ant-progress-show-info .ant-progress-outer{margin-right:0;margin-left:calc(-2em - 8px);padding-right:0;padding-left:calc(2em + 8px)}.ant-progress-rtl .ant-progress-success-bg{right:0;left:auto}.ant-progress-rtl.ant-progress-line .ant-progress-text,.ant-progress-rtl.ant-progress-steps .ant-progress-text{margin-right:8px;margin-left:0;text-align:right}.ant-radio-group{box-sizing:border-box;margin:0;padding:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum","tnum";display:inline-block;font-size:0}.ant-radio-group .ant-badge-count{z-index:1}.ant-radio-group>.ant-badge:not(:first-child)>.ant-radio-button-wrapper{border-left:none}.ant-radio-wrapper{box-sizing:border-box;margin:0 8px 0 0;padding:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum","tnum";position:relative;display:inline-flex;align-items:baseline;cursor:pointer}.ant-radio-wrapper-disabled{cursor:not-allowed}.ant-radio-wrapper:after{display:inline-block;width:0;overflow:hidden;content:" "}.ant-radio-wrapper.ant-radio-wrapper-in-form-item input[type=radio]{width:14px;height:14px}.ant-radio{box-sizing:border-box;margin:0;padding:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum","tnum";position:relative;top:.2em;display:inline-block;outline:none;cursor:pointer}.ant-radio-wrapper:hover .ant-radio,.ant-radio:hover .ant-radio-inner,.ant-radio-input:focus+.ant-radio-inner{border-color:#1890ff}.ant-radio-input:focus+.ant-radio-inner{box-shadow:0 0 0 3px #1890ff1f}.ant-radio-checked:after{position:absolute;top:0;left:0;width:100%;height:100%;border:1px solid #1890ff;border-radius:50%;visibility:hidden;animation:antRadioEffect .36s ease-in-out;animation-fill-mode:both;content:""}.ant-radio:hover:after,.ant-radio-wrapper:hover .ant-radio:after{visibility:visible}.ant-radio-inner{position:relative;top:0;left:0;display:block;width:16px;height:16px;background-color:#fff;border-color:#d9d9d9;border-style:solid;border-width:1px;border-radius:50%;transition:all .3s}.ant-radio-inner:after{position:absolute;top:50%;left:50%;display:block;width:16px;height:16px;margin-top:-8px;margin-left:-8px;background-color:#1890ff;border-top:0;border-left:0;border-radius:16px;transform:scale(0);opacity:0;transition:all .3s cubic-bezier(.78,.14,.15,.86);content:" "}.ant-radio-input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;cursor:pointer;opacity:0}.ant-radio.ant-radio-disabled .ant-radio-inner{border-color:#d9d9d9}.ant-radio-checked .ant-radio-inner{border-color:#1890ff}.ant-radio-checked .ant-radio-inner:after{transform:scale(.5);opacity:1;transition:all .3s cubic-bezier(.78,.14,.15,.86)}.ant-radio-disabled{cursor:not-allowed}.ant-radio-disabled .ant-radio-inner{background-color:#f5f5f5;cursor:not-allowed}.ant-radio-disabled .ant-radio-inner:after{background-color:#0003}.ant-radio-disabled .ant-radio-input{cursor:not-allowed}.ant-radio-disabled+span{color:#00000040;cursor:not-allowed}span.ant-radio+*{padding-right:8px;padding-left:8px}.ant-radio-button-wrapper{position:relative;display:inline-block;height:32px;margin:0;padding:0 15px;color:#000000d9;font-size:14px;line-height:30px;background:#fff;border:1px solid #d9d9d9;border-top-width:1.02px;border-left-width:0;cursor:pointer;transition:color .3s,background .3s,border-color .3s,box-shadow .3s}.ant-radio-button-wrapper a{color:#000000d9}.ant-radio-button-wrapper>.ant-radio-button{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%}.ant-radio-group-large .ant-radio-button-wrapper{height:40px;font-size:16px;line-height:38px}.ant-radio-group-small .ant-radio-button-wrapper{height:24px;padding:0 7px;line-height:22px}.ant-radio-button-wrapper:not(:first-child):before{position:absolute;top:-1px;left:-1px;display:block;box-sizing:content-box;width:1px;height:100%;padding:1px 0;background-color:#d9d9d9;transition:background-color .3s;content:""}.ant-radio-button-wrapper:first-child{border-left:1px solid #d9d9d9;border-radius:2px 0 0 2px}.ant-radio-button-wrapper:last-child{border-radius:0 2px 2px 0}.ant-radio-button-wrapper:first-child:last-child{border-radius:2px}.ant-radio-button-wrapper:hover{position:relative;color:#1890ff}.ant-radio-button-wrapper:focus-within{box-shadow:0 0 0 3px #1890ff1f}.ant-radio-button-wrapper .ant-radio-inner,.ant-radio-button-wrapper input[type=checkbox],.ant-radio-button-wrapper input[type=radio]{width:0;height:0;opacity:0;pointer-events:none}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled){z-index:1;color:#1890ff;background:#fff;border-color:#1890ff}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):before{background-color:#1890ff}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):first-child{border-color:#1890ff}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover{color:#40a9ff;border-color:#40a9ff}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover:before{background-color:#40a9ff}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active{color:#096dd9;border-color:#096dd9}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active:before{background-color:#096dd9}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):focus-within{box-shadow:0 0 0 3px #1890ff1f}.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled){color:#fff;background:#1890ff;border-color:#1890ff}.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover{color:#fff;background:#40a9ff;border-color:#40a9ff}.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active{color:#fff;background:#096dd9;border-color:#096dd9}.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):focus-within{box-shadow:0 0 0 3px #1890ff1f}.ant-radio-button-wrapper-disabled{color:#00000040;background-color:#f5f5f5;border-color:#d9d9d9;cursor:not-allowed}.ant-radio-button-wrapper-disabled:first-child,.ant-radio-button-wrapper-disabled:hover{color:#00000040;background-color:#f5f5f5;border-color:#d9d9d9}.ant-radio-button-wrapper-disabled:first-child{border-left-color:#d9d9d9}.ant-radio-button-wrapper-disabled.ant-radio-button-wrapper-checked{color:#00000040;background-color:#e6e6e6;border-color:#d9d9d9;box-shadow:none}@keyframes antRadioEffect{0%{transform:scale(1);opacity:.5}to{transform:scale(1.6);opacity:0}}.ant-radio-group.ant-radio-group-rtl{direction:rtl}.ant-radio-wrapper.ant-radio-wrapper-rtl{margin-right:0;margin-left:8px;direction:rtl}.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl{border-right-width:0;border-left-width:1px}.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl.ant-radio-button-wrapper:not(:first-child):before{right:-1px;left:0}.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl.ant-radio-button-wrapper:first-child{border-right:1px solid #d9d9d9;border-radius:0 2px 2px 0}.ant-radio-button-wrapper-checked:not([class*=" ant-radio-button-wrapper-disabled"]).ant-radio-button-wrapper:first-child{border-right-color:#40a9ff}.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl.ant-radio-button-wrapper:last-child{border-radius:2px 0 0 2px}.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl.ant-radio-button-wrapper-disabled:first-child{border-right-color:#d9d9d9}.ant-pro-field-radio-vertical .ant-radio-wrapper{display:block;margin-right:0}.ant-rate{box-sizing:border-box;color:#000000d9;font-variant:tabular-nums;line-height:1.5715;font-feature-settings:"tnum","tnum";display:inline-block;margin:0;padding:0;color:#fadb14;font-size:20px;line-height:unset;list-style:none;outline:none}.ant-rate-disabled .ant-rate-star{cursor:default}.ant-rate-disabled .ant-rate-star>div:hover{transform:scale(1)}.ant-rate-star{position:relative;display:inline-block;color:inherit;cursor:pointer}.ant-rate-star:not(:last-child){margin-right:8px}.ant-rate-star>div{transition:all .3s,outline 0s}.ant-rate-star>div:hover{transform:scale(1.1)}.ant-rate-star>div:focus{outline:0}.ant-rate-star>div:focus-visible{outline:1px dashed #fadb14;transform:scale(1.1)}.ant-rate-star-first,.ant-rate-star-second{color:#f0f0f0;transition:all .3s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ant-rate-star-first .anticon,.ant-rate-star-second .anticon{vertical-align:middle}.ant-rate-star-first{position:absolute;top:0;left:0;width:50%;height:100%;overflow:hidden;opacity:0}.ant-rate-star-half .ant-rate-star-first,.ant-rate-star-half .ant-rate-star-second{opacity:1}.ant-rate-star-half .ant-rate-star-first,.ant-rate-star-full .ant-rate-star-second{color:inherit}.ant-rate-text{display:inline-block;margin:0 8px;font-size:14px}.ant-rate-rtl{direction:rtl}.ant-rate-rtl .ant-rate-star:not(:last-child){margin-right:0;margin-left:8px}.ant-rate-rtl .ant-rate-star-first{right:0;left:auto}.ant-slider{box-sizing:border-box;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum","tnum";position:relative;height:12px;margin:10px 6px;padding:4px 0;cursor:pointer;touch-action:none}.ant-slider-vertical{width:12px;height:100%;margin:6px 10px;padding:0 4px}.ant-slider-vertical .ant-slider-rail{width:4px;height:100%}.ant-slider-vertical .ant-slider-track{width:4px}.ant-slider-vertical .ant-slider-handle{margin-top:-6px;margin-left:-5px}.ant-slider-vertical .ant-slider-mark{top:0;left:12px;width:18px;height:100%}.ant-slider-vertical .ant-slider-mark-text{left:4px;white-space:nowrap}.ant-slider-vertical .ant-slider-step{width:4px;height:100%}.ant-slider-vertical .ant-slider-dot{top:auto;margin-left:-2px}.ant-slider-tooltip .ant-tooltip-inner{min-width:unset}.ant-slider-rtl.ant-slider-vertical .ant-slider-handle{margin-right:-5px;margin-left:0}.ant-slider-rtl.ant-slider-vertical .ant-slider-mark{right:12px;left:auto}.ant-slider-rtl.ant-slider-vertical .ant-slider-mark-text{right:4px;left:auto}.ant-slider-rtl.ant-slider-vertical .ant-slider-dot{right:2px;left:auto}.ant-slider-with-marks{margin-bottom:28px}.ant-slider-rail{position:absolute;width:100%;height:4px;background-color:#f5f5f5;border-radius:2px;transition:background-color .3s}.ant-slider-track{position:absolute;height:4px;background-color:#91d5ff;border-radius:2px;transition:background-color .3s}.ant-slider-handle{position:absolute;width:14px;height:14px;margin-top:-5px;background-color:#fff;border:solid 2px #91d5ff;border-radius:50%;box-shadow:0;cursor:pointer;transition:border-color .3s,box-shadow .6s,transform .3s cubic-bezier(.18,.89,.32,1.28)}.ant-slider-handle-dragging{z-index:1}.ant-slider-handle:focus{border-color:#46a6ff;outline:none;box-shadow:0 0 0 5px #1890ff1f}.ant-slider-handle.ant-tooltip-open{border-color:#1890ff}.ant-slider-handle:after{position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;content:""}.ant-slider:hover .ant-slider-rail{background-color:#e1e1e1}.ant-slider:hover .ant-slider-track{background-color:#69c0ff}.ant-slider:hover .ant-slider-handle:not(.ant-tooltip-open){border-color:#69c0ff}.ant-slider-mark{position:absolute;top:14px;left:0;width:100%;font-size:14px}.ant-slider-mark-text{position:absolute;display:inline-block;color:#00000073;text-align:center;word-break:keep-all;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ant-slider-mark-text-active{color:#000000d9}.ant-slider-step{position:absolute;width:100%;height:4px;background:transparent;pointer-events:none}.ant-slider-dot{position:absolute;top:-2px;width:8px;height:8px;background-color:#fff;border:2px solid #f0f0f0;border-radius:50%;cursor:pointer}.ant-slider-dot-active{border-color:#8cc8ff}.ant-slider-disabled{cursor:not-allowed}.ant-slider-disabled .ant-slider-rail{background-color:#f5f5f5!important}.ant-slider-disabled .ant-slider-track{background-color:#00000040!important}.ant-slider-disabled .ant-slider-handle,.ant-slider-disabled .ant-slider-dot{background-color:#fff;border-color:#00000040!important;box-shadow:none;cursor:not-allowed}.ant-slider-disabled .ant-slider-mark-text,.ant-slider-disabled .ant-slider-dot{cursor:not-allowed!important}.ant-slider-rtl{direction:rtl}.ant-slider-rtl .ant-slider-mark{right:0;left:auto}.ant-switch{margin:0;padding:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum","tnum";position:relative;display:inline-block;box-sizing:border-box;min-width:44px;height:22px;line-height:22px;vertical-align:middle;background-color:#00000040;border:0;border-radius:100px;cursor:pointer;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ant-switch:focus{outline:0;box-shadow:0 0 0 2px #0000001a}.ant-switch-checked:focus{box-shadow:0 0 0 2px #e6f7ff}.ant-switch:focus:hover{box-shadow:none}.ant-switch-checked{background-color:#1890ff}.ant-switch-loading,.ant-switch-disabled{cursor:not-allowed;opacity:.4}.ant-switch-loading *,.ant-switch-disabled *{box-shadow:none;cursor:not-allowed}.ant-switch-inner{display:block;margin:0 7px 0 25px;color:#fff;font-size:12px;transition:margin .2s}.ant-switch-checked .ant-switch-inner{margin:0 25px 0 7px}.ant-switch-handle{position:absolute;top:2px;left:2px;width:18px;height:18px;transition:all .2s ease-in-out}.ant-switch-handle:before{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#fff;border-radius:9px;box-shadow:0 2px 4px #00230b33;transition:all .2s ease-in-out;content:""}.ant-switch-checked .ant-switch-handle{left:calc(100% - 20px)}.ant-switch:not(.ant-switch-disabled):active .ant-switch-handle:before{right:-30%;left:0}.ant-switch:not(.ant-switch-disabled):active.ant-switch-checked .ant-switch-handle:before{right:0;left:-30%}.ant-switch-loading-icon.anticon{position:relative;top:2px;color:#000000a6;vertical-align:top}.ant-switch-checked .ant-switch-loading-icon{color:#1890ff}.ant-switch-small{min-width:28px;height:16px;line-height:16px}.ant-switch-small .ant-switch-inner{margin:0 5px 0 18px;font-size:12px}.ant-switch-small .ant-switch-handle{width:12px;height:12px}.ant-switch-small .ant-switch-loading-icon{top:1.5px;font-size:9px}.ant-switch-small.ant-switch-checked .ant-switch-inner{margin:0 18px 0 5px}.ant-switch-small.ant-switch-checked .ant-switch-handle{left:calc(100% - 14px)}.ant-switch-rtl{direction:rtl}.ant-switch-rtl .ant-switch-inner{margin:0 25px 0 7px}.ant-switch-rtl .ant-switch-handle{right:2px;left:auto}.ant-switch-rtl:not(.ant-switch-rtl-disabled):active .ant-switch-handle:before{right:0;left:-30%}.ant-switch-rtl:not(.ant-switch-rtl-disabled):active.ant-switch-checked .ant-switch-handle:before{right:-30%;left:0}.ant-switch-rtl.ant-switch-checked .ant-switch-inner{margin:0 7px 0 25px}.ant-switch-rtl.ant-switch-checked .ant-switch-handle{right:calc(100% - 20px)}.ant-switch-rtl.ant-switch-small.ant-switch-checked .ant-switch-handle{right:calc(100% - 14px)}.ant-select-tree-checkbox{box-sizing:border-box;margin:0;padding:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;list-style:none;font-feature-settings:"tnum","tnum";position:relative;top:.2em;line-height:1;white-space:nowrap;outline:none;cursor:pointer}.ant-select-tree-checkbox-wrapper:hover .ant-select-tree-checkbox-inner,.ant-select-tree-checkbox:hover .ant-select-tree-checkbox-inner,.ant-select-tree-checkbox-input:focus+.ant-select-tree-checkbox-inner{border-color:#1890ff}.ant-select-tree-checkbox-checked:after{position:absolute;top:0;left:0;width:100%;height:100%;border:1px solid #1890ff;border-radius:2px;visibility:hidden;animation:antCheckboxEffect .36s ease-in-out;animation-fill-mode:backwards;content:""}.ant-select-tree-checkbox:hover:after,.ant-select-tree-checkbox-wrapper:hover .ant-select-tree-checkbox:after{visibility:visible}.ant-select-tree-checkbox-inner{position:relative;top:0;left:0;display:block;width:16px;height:16px;direction:ltr;background-color:#fff;border:1px solid #d9d9d9;border-radius:2px;border-collapse:separate;transition:all .3s}.ant-select-tree-checkbox-inner:after{position:absolute;top:50%;left:21.5%;display:table;width:5.71428571px;height:9.14285714px;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg) scale(0) translate(-50%,-50%);opacity:0;transition:all .1s cubic-bezier(.71,-.46,.88,.6),opacity .1s;content:" "}.ant-select-tree-checkbox-input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;cursor:pointer;opacity:0}.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner:after{position:absolute;display:table;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg) scale(1) translate(-50%,-50%);opacity:1;transition:all .2s cubic-bezier(.12,.4,.29,1.46) .1s;content:" "}.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner{background-color:#1890ff;border-color:#1890ff}.ant-select-tree-checkbox-disabled{cursor:not-allowed}.ant-select-tree-checkbox-disabled.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner:after{border-color:#00000040;animation-name:none}.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-input{cursor:not-allowed;pointer-events:none}.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner{background-color:#f5f5f5;border-color:#d9d9d9!important}.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner:after{border-color:#f5f5f5;border-collapse:separate;animation-name:none}.ant-select-tree-checkbox-disabled+span{color:#00000040;cursor:not-allowed}.ant-select-tree-checkbox-disabled:hover:after,.ant-select-tree-checkbox-wrapper:hover .ant-select-tree-checkbox-disabled:after{visibility:hidden}.ant-select-tree-checkbox-wrapper{box-sizing:border-box;margin:0;padding:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum","tnum";display:inline-flex;align-items:baseline;line-height:unset;cursor:pointer}.ant-select-tree-checkbox-wrapper:after{display:inline-block;width:0;overflow:hidden;content:" "}.ant-select-tree-checkbox-wrapper.ant-select-tree-checkbox-wrapper-disabled{cursor:not-allowed}.ant-select-tree-checkbox-wrapper+.ant-select-tree-checkbox-wrapper{margin-left:8px}.ant-select-tree-checkbox-wrapper.ant-select-tree-checkbox-wrapper-in-form-item input[type=checkbox]{width:14px;height:14px}.ant-select-tree-checkbox+span{padding-right:8px;padding-left:8px}.ant-select-tree-checkbox-group{box-sizing:border-box;margin:0;padding:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum","tnum";display:inline-block}.ant-select-tree-checkbox-group-item{margin-right:8px}.ant-select-tree-checkbox-group-item:last-child{margin-right:0}.ant-select-tree-checkbox-group-item+.ant-select-tree-checkbox-group-item{margin-left:0}.ant-select-tree-checkbox-indeterminate .ant-select-tree-checkbox-inner{background-color:#fff;border-color:#d9d9d9}.ant-select-tree-checkbox-indeterminate .ant-select-tree-checkbox-inner:after{top:50%;left:50%;width:8px;height:8px;background-color:#1890ff;border:0;transform:translate(-50%,-50%) scale(1);opacity:1;content:" "}.ant-select-tree-checkbox-indeterminate.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner:after{background-color:#00000040;border-color:#00000040}.ant-tree-select-dropdown{padding:8px 4px}.ant-tree-select-dropdown-rtl{direction:rtl}.ant-tree-select-dropdown .ant-select-tree{border-radius:0}.ant-tree-select-dropdown .ant-select-tree-list-holder-inner{align-items:stretch}.ant-tree-select-dropdown .ant-select-tree-list-holder-inner .ant-select-tree-treenode .ant-select-tree-node-content-wrapper{flex:auto}.ant-select-tree{box-sizing:border-box;margin:0;padding:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum","tnum";background:#fff;border-radius:2px;transition:background-color .3s}.ant-select-tree-focused:not(:hover):not(.ant-select-tree-active-focused){background:#e6f7ff}.ant-select-tree-list-holder-inner{align-items:flex-start}.ant-select-tree.ant-select-tree-block-node .ant-select-tree-list-holder-inner{align-items:stretch}.ant-select-tree.ant-select-tree-block-node .ant-select-tree-list-holder-inner .ant-select-tree-node-content-wrapper{flex:auto}.ant-select-tree.ant-select-tree-block-node .ant-select-tree-list-holder-inner .ant-select-tree-treenode.dragging{position:relative}.ant-select-tree.ant-select-tree-block-node .ant-select-tree-list-holder-inner .ant-select-tree-treenode.dragging:after{position:absolute;top:0;right:0;bottom:4px;left:0;border:1px solid #1890ff;opacity:0;animation:ant-tree-node-fx-do-not-use .3s;animation-play-state:running;animation-fill-mode:forwards;content:"";pointer-events:none}.ant-select-tree .ant-select-tree-treenode{display:flex;align-items:flex-start;padding:0 0 4px;outline:none}.ant-select-tree .ant-select-tree-treenode-disabled .ant-select-tree-node-content-wrapper{color:#00000040;cursor:not-allowed}.ant-select-tree .ant-select-tree-treenode-disabled .ant-select-tree-node-content-wrapper:hover{background:transparent}.ant-select-tree .ant-select-tree-treenode-active .ant-select-tree-node-content-wrapper{background:#f5f5f5}.ant-select-tree .ant-select-tree-treenode:not(.ant-select-tree .ant-select-tree-treenode-disabled).filter-node .ant-select-tree-title{color:inherit;font-weight:500}.ant-select-tree .ant-select-tree-treenode-draggable .ant-select-tree-draggable-icon{width:24px;line-height:24px;text-align:center;visibility:visible;opacity:.2;transition:opacity .3s}.ant-select-tree-treenode:hover .ant-select-tree .ant-select-tree-treenode-draggable .ant-select-tree-draggable-icon{opacity:.45}.ant-select-tree .ant-select-tree-treenode-draggable.ant-select-tree-treenode-disabled .ant-select-tree-draggable-icon{visibility:hidden}.ant-select-tree-indent{align-self:stretch;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ant-select-tree-indent-unit{display:inline-block;width:24px}.ant-select-tree-draggable-icon{visibility:hidden}.ant-select-tree-switcher{position:relative;flex:none;align-self:stretch;width:24px;margin:0;line-height:24px;text-align:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ant-select-tree-switcher .ant-tree-switcher-icon,.ant-select-tree-switcher .ant-select-tree-switcher-icon{display:inline-block;font-size:10px;vertical-align:baseline}.ant-select-tree-switcher .ant-tree-switcher-icon svg,.ant-select-tree-switcher .ant-select-tree-switcher-icon svg{transition:transform .3s}.ant-select-tree-switcher-noop{cursor:default}.ant-select-tree-switcher_close .ant-select-tree-switcher-icon svg{transform:rotate(-90deg)}.ant-select-tree-switcher-loading-icon{color:#1890ff}.ant-select-tree-switcher-leaf-line{position:relative;z-index:1;display:inline-block;width:100%;height:100%}.ant-select-tree-switcher-leaf-line:before{position:absolute;top:0;right:12px;bottom:-4px;margin-left:-1px;border-right:1px solid #d9d9d9;content:" "}.ant-select-tree-switcher-leaf-line:after{position:absolute;width:10px;height:14px;border-bottom:1px solid #d9d9d9;content:" "}.ant-select-tree-checkbox{top:initial;margin:4px 8px 0 0}.ant-select-tree .ant-select-tree-node-content-wrapper{position:relative;z-index:auto;min-height:24px;margin:0;padding:0 4px;color:inherit;line-height:24px;background:transparent;border-radius:2px;cursor:pointer;transition:all .3s,border 0s,line-height 0s,box-shadow 0s}.ant-select-tree .ant-select-tree-node-content-wrapper:hover{background-color:#f5f5f5}.ant-select-tree .ant-select-tree-node-content-wrapper.ant-select-tree-node-selected{background-color:#bae7ff}.ant-select-tree .ant-select-tree-node-content-wrapper .ant-select-tree-iconEle{display:inline-block;width:24px;height:24px;line-height:24px;text-align:center;vertical-align:top}.ant-select-tree .ant-select-tree-node-content-wrapper .ant-select-tree-iconEle:empty{display:none}.ant-select-tree-unselectable .ant-select-tree-node-content-wrapper:hover{background-color:transparent}.ant-select-tree-node-content-wrapper{line-height:24px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ant-select-tree-node-content-wrapper .ant-tree-drop-indicator{position:absolute;z-index:1;height:2px;background-color:#1890ff;border-radius:1px;pointer-events:none}.ant-select-tree-node-content-wrapper .ant-tree-drop-indicator:after{position:absolute;top:-3px;left:-6px;width:8px;height:8px;background-color:transparent;border:2px solid #1890ff;border-radius:50%;content:""}.ant-select-tree .ant-select-tree-treenode.drop-container>[draggable]{box-shadow:0 0 0 2px #1890ff}.ant-select-tree-show-line .ant-select-tree-indent-unit{position:relative;height:100%}.ant-select-tree-show-line .ant-select-tree-indent-unit:before{position:absolute;top:0;right:12px;bottom:-4px;border-right:1px solid #d9d9d9;content:""}.ant-select-tree-show-line .ant-select-tree-indent-unit-end:before{display:none}.ant-select-tree-show-line .ant-select-tree-switcher{background:#fff}.ant-select-tree-show-line .ant-select-tree-switcher-line-icon{vertical-align:-.15em}.ant-select-tree .ant-select-tree-treenode-leaf-last .ant-select-tree-switcher-leaf-line:before{top:auto!important;bottom:auto!important;height:14px!important}.ant-tree-select-dropdown-rtl .ant-select-tree .ant-select-tree-switcher_close .ant-select-tree-switcher-icon svg{transform:rotate(90deg)}.ant-tree-select-dropdown-rtl .ant-select-tree .ant-select-tree-switcher-loading-icon{transform:scaleY(-1)}.ant-table.ant-table-middle{font-size:14px}.ant-table.ant-table-middle .ant-table-title,.ant-table.ant-table-middle .ant-table-footer,.ant-table.ant-table-middle .ant-table-thead>tr>th,.ant-table.ant-table-middle .ant-table-tbody>tr>td,.ant-table.ant-table-middle tfoot>tr>th,.ant-table.ant-table-middle tfoot>tr>td{padding:12px 8px}.ant-table.ant-table-middle .ant-table-filter-trigger{margin-right:-4px}.ant-table.ant-table-middle .ant-table-expanded-row-fixed{margin:-12px -8px}.ant-table.ant-table-middle .ant-table-tbody .ant-table-wrapper:only-child .ant-table{margin:-12px -8px -12px 40px}.ant-table.ant-table-middle .ant-table-selection-column{padding-inline-start:2px}.ant-table.ant-table-small{font-size:14px}.ant-table.ant-table-small .ant-table-title,.ant-table.ant-table-small .ant-table-footer,.ant-table.ant-table-small .ant-table-thead>tr>th,.ant-table.ant-table-small .ant-table-tbody>tr>td,.ant-table.ant-table-small tfoot>tr>th,.ant-table.ant-table-small tfoot>tr>td{padding:8px}.ant-table.ant-table-small .ant-table-filter-trigger{margin-right:-4px}.ant-table.ant-table-small .ant-table-expanded-row-fixed{margin:-8px}.ant-table.ant-table-small .ant-table-tbody .ant-table-wrapper:only-child .ant-table{margin:-8px -8px -8px 40px}.ant-table.ant-table-small .ant-table-selection-column{padding-inline-start:2px}.ant-table.ant-table-bordered>.ant-table-title{border:1px solid #f0f0f0;border-bottom:0}.ant-table.ant-table-bordered>.ant-table-container{border-left:1px solid #f0f0f0}.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>thead>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>thead>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>thead>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>thead>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tbody>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tbody>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tbody>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>tbody>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tfoot>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tfoot>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tfoot>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>tfoot>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tfoot>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tfoot>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tfoot>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>tfoot>tr>td{border-right:1px solid #f0f0f0}.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>thead>tr:not(:last-child)>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>thead>tr:not(:last-child)>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>thead>tr:not(:last-child)>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>thead>tr:not(:last-child)>th{border-bottom:1px solid #f0f0f0}.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>thead>tr>th:before,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>thead>tr>th:before,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>thead>tr>th:before,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>thead>tr>th:before{background-color:transparent!important}.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>thead>tr>.ant-table-cell-fix-right-first:after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>thead>tr>.ant-table-cell-fix-right-first:after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>thead>tr>.ant-table-cell-fix-right-first:after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>thead>tr>.ant-table-cell-fix-right-first:after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tbody>tr>.ant-table-cell-fix-right-first:after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tbody>tr>.ant-table-cell-fix-right-first:after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tbody>tr>.ant-table-cell-fix-right-first:after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>tbody>tr>.ant-table-cell-fix-right-first:after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tfoot>tr>.ant-table-cell-fix-right-first:after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tfoot>tr>.ant-table-cell-fix-right-first:after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tfoot>tr>.ant-table-cell-fix-right-first:after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>tfoot>tr>.ant-table-cell-fix-right-first:after{border-right:1px solid #f0f0f0}.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tbody>tr>td>.ant-table-expanded-row-fixed,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tbody>tr>td>.ant-table-expanded-row-fixed,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tbody>tr>td>.ant-table-expanded-row-fixed,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>tbody>tr>td>.ant-table-expanded-row-fixed{margin:-16px -17px}.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tbody>tr>td>.ant-table-expanded-row-fixed:after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tbody>tr>td>.ant-table-expanded-row-fixed:after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tbody>tr>td>.ant-table-expanded-row-fixed:after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>tbody>tr>td>.ant-table-expanded-row-fixed:after{position:absolute;top:0;right:1px;bottom:0;border-right:1px solid #f0f0f0;content:""}.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table{border-top:1px solid #f0f0f0}.ant-table.ant-table-bordered.ant-table-scroll-horizontal>.ant-table-container>.ant-table-body>table>tbody>tr.ant-table-expanded-row>td,.ant-table.ant-table-bordered.ant-table-scroll-horizontal>.ant-table-container>.ant-table-body>table>tbody>tr.ant-table-placeholder>td{border-right:0}.ant-table.ant-table-bordered.ant-table-middle>.ant-table-container>.ant-table-content>table>tbody>tr>td>.ant-table-expanded-row-fixed,.ant-table.ant-table-bordered.ant-table-middle>.ant-table-container>.ant-table-body>table>tbody>tr>td>.ant-table-expanded-row-fixed{margin:-12px -9px}.ant-table.ant-table-bordered.ant-table-small>.ant-table-container>.ant-table-content>table>tbody>tr>td>.ant-table-expanded-row-fixed,.ant-table.ant-table-bordered.ant-table-small>.ant-table-container>.ant-table-body>table>tbody>tr>td>.ant-table-expanded-row-fixed{margin:-8px -9px}.ant-table.ant-table-bordered>.ant-table-footer{border:1px solid #f0f0f0;border-top:0}.ant-table-cell .ant-table-container:first-child{border-top:0}.ant-table-cell-scrollbar:not([rowspan]){box-shadow:0 1px 0 1px #fafafa}.ant-table-wrapper{clear:both;max-width:100%}.ant-table-wrapper:before{display:table;content:""}.ant-table-wrapper:after{display:table;clear:both;content:""}.ant-table{box-sizing:border-box;margin:0;padding:0;color:#000000d9;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum","tnum";position:relative;font-size:14px;background:#fff;border-radius:2px}.ant-table table{width:100%;text-align:left;border-radius:2px 2px 0 0;border-collapse:separate;border-spacing:0}.ant-table-thead>tr>th,.ant-table-tbody>tr>td,.ant-table tfoot>tr>th,.ant-table tfoot>tr>td{position:relative;padding:16px;overflow-wrap:break-word}.ant-table-cell-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;word-break:keep-all}.ant-table-cell-ellipsis.ant-table-cell-fix-left-last,.ant-table-cell-ellipsis.ant-table-cell-fix-right-first{overflow:visible}.ant-table-cell-ellipsis.ant-table-cell-fix-left-last .ant-table-cell-content,.ant-table-cell-ellipsis.ant-table-cell-fix-right-first .ant-table-cell-content{display:block;overflow:hidden;text-overflow:ellipsis}.ant-table-cell-ellipsis .ant-table-column-title{overflow:hidden;text-overflow:ellipsis;word-break:keep-all}.ant-table-title{padding:16px}.ant-table-footer{padding:16px;color:#000000d9;background:#fafafa}.ant-table-thead>tr>th{position:relative;color:#000000d9;font-weight:500;text-align:left;background:#fafafa;border-bottom:1px solid #f0f0f0;transition:background .3s ease}.ant-table-thead>tr>th[colspan]:not([colspan="1"]){text-align:center}.ant-table-thead>tr>th:not(:last-child):not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan]):before{position:absolute;top:50%;right:0;width:1px;height:1.6em;background-color:#0000000f;transform:translateY(-50%);transition:background-color .3s;content:""}.ant-table-thead>tr:not(:last-child)>th[colspan]{border-bottom:0}.ant-table-tbody>tr>td{border-bottom:1px solid #f0f0f0;transition:background .3s}.ant-table-tbody>tr>td>.ant-table-wrapper:only-child .ant-table,.ant-table-tbody>tr>td>.ant-table-expanded-row-fixed>.ant-table-wrapper:only-child .ant-table{margin:-16px -16px -16px 32px}.ant-table-tbody>tr>td>.ant-table-wrapper:only-child .ant-table-tbody>tr:last-child>td,.ant-table-tbody>tr>td>.ant-table-expanded-row-fixed>.ant-table-wrapper:only-child .ant-table-tbody>tr:last-child>td{border-bottom:0}.ant-table-tbody>tr>td>.ant-table-wrapper:only-child .ant-table-tbody>tr:last-child>td:first-child,.ant-table-tbody>tr>td>.ant-table-expanded-row-fixed>.ant-table-wrapper:only-child .ant-table-tbody>tr:last-child>td:first-child,.ant-table-tbody>tr>td>.ant-table-wrapper:only-child .ant-table-tbody>tr:last-child>td:last-child,.ant-table-tbody>tr>td>.ant-table-expanded-row-fixed>.ant-table-wrapper:only-child .ant-table-tbody>tr:last-child>td:last-child{border-radius:0}.ant-table-tbody>tr.ant-table-row:hover>td,.ant-table-tbody>tr>td.ant-table-cell-row-hover{background:#fafafa}.ant-table-tbody>tr.ant-table-row-selected>td{background:#e6f7ff;border-color:#00000008}.ant-table-tbody>tr.ant-table-row-selected:hover>td{background:#dcf4ff}.ant-table-summary{position:relative;z-index:2;background:#fff}div.ant-table-summary{box-shadow:0 -1px #f0f0f0}.ant-table-summary>tr>th,.ant-table-summary>tr>td{border-bottom:1px solid #f0f0f0}.ant-table-pagination.ant-pagination{margin:16px 0}.ant-table-pagination{display:flex;flex-wrap:wrap;row-gap:8px}.ant-table-pagination>*{flex:none}.ant-table-pagination-left{justify-content:flex-start}.ant-table-pagination-center{justify-content:center}.ant-table-pagination-right{justify-content:flex-end}.ant-table-thead th.ant-table-column-has-sorters{outline:none;cursor:pointer;transition:all .3s}.ant-table-thead th.ant-table-column-has-sorters:hover{background:rgba(0,0,0,.04)}.ant-table-thead th.ant-table-column-has-sorters:hover:before{background-color:transparent!important}.ant-table-thead th.ant-table-column-has-sorters:focus-visible{color:#1890ff}.ant-table-thead th.ant-table-column-has-sorters.ant-table-cell-fix-left:hover,.ant-table-thead th.ant-table-column-has-sorters.ant-table-cell-fix-right:hover,.ant-table-thead th.ant-table-column-sort{background:#f5f5f5}.ant-table-thead th.ant-table-column-sort:before{background-color:transparent!important}td.ant-table-column-sort{background:#fafafa}.ant-table-column-title{position:relative;z-index:1;flex:1}.ant-table-column-sorters{display:flex;flex:auto;align-items:center;justify-content:space-between}.ant-table-column-sorters:after{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;content:""}.ant-table-column-sorter{margin-left:4px;color:#bfbfbf;font-size:0;transition:color .3s}.ant-table-column-sorter-inner{display:inline-flex;flex-direction:column;align-items:center}.ant-table-column-sorter-up,.ant-table-column-sorter-down{font-size:11px}.ant-table-column-sorter-up.active,.ant-table-column-sorter-down.active{color:#1890ff}.ant-table-column-sorter-up+.ant-table-column-sorter-down{margin-top:-.3em}.ant-table-column-sorters:hover .ant-table-column-sorter{color:#a6a6a6}.ant-table-filter-column{display:flex;justify-content:space-between}.ant-table-filter-trigger{position:relative;display:flex;align-items:center;margin:-4px -8px -4px 4px;padding:0 4px;color:#bfbfbf;font-size:12px;border-radius:2px;cursor:pointer;transition:all .3s}.ant-table-filter-trigger:hover{color:#00000073;background:rgba(0,0,0,.04)}.ant-table-filter-trigger.active{color:#1890ff}.ant-table-filter-dropdown{box-sizing:border-box;margin:0;padding:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum","tnum";min-width:120px;background-color:#fff;border-radius:2px;box-shadow:0 3px 6px -4px #0000001f,0 6px 16px #00000014,0 9px 28px 8px #0000000d}.ant-table-filter-dropdown .ant-dropdown-menu{max-height:264px;overflow-x:hidden;border:0;box-shadow:none}.ant-table-filter-dropdown .ant-dropdown-menu:empty:after{display:block;padding:8px 0;color:#00000040;font-size:12px;text-align:center;content:"Not Found"}.ant-table-filter-dropdown-tree{padding:8px 8px 0}.ant-table-filter-dropdown-tree .ant-tree-treenode .ant-tree-node-content-wrapper:hover{background-color:#f5f5f5}.ant-table-filter-dropdown-tree .ant-tree-treenode-checkbox-checked .ant-tree-node-content-wrapper,.ant-table-filter-dropdown-tree .ant-tree-treenode-checkbox-checked .ant-tree-node-content-wrapper:hover{background-color:#bae7ff}.ant-table-filter-dropdown-search{padding:8px;border-bottom:1px #f0f0f0 solid}.ant-table-filter-dropdown-search-input input{min-width:140px}.ant-table-filter-dropdown-search-input .anticon{color:#00000040}.ant-table-filter-dropdown-checkall{width:100%;margin-bottom:4px;margin-left:4px}.ant-table-filter-dropdown-submenu>ul{max-height:calc(100vh - 130px);overflow-x:hidden;overflow-y:auto}.ant-table-filter-dropdown .ant-checkbox-wrapper+span,.ant-table-filter-dropdown-submenu .ant-checkbox-wrapper+span{padding-left:8px}.ant-table-filter-dropdown-btns{display:flex;justify-content:space-between;padding:7px 8px;overflow:hidden;background-color:inherit;border-top:1px solid #f0f0f0}.ant-table-selection-col{width:32px}.ant-table-bordered .ant-table-selection-col{width:50px}table tr th.ant-table-selection-column,table tr td.ant-table-selection-column{padding-right:8px;padding-left:8px;text-align:center}table tr th.ant-table-selection-column .ant-radio-wrapper,table tr td.ant-table-selection-column .ant-radio-wrapper{margin-right:0}table tr th.ant-table-selection-column.ant-table-cell-fix-left{z-index:3}table tr th.ant-table-selection-column:after{background-color:transparent!important}.ant-table-selection{position:relative;display:inline-flex;flex-direction:column}.ant-table-selection-extra{position:absolute;top:0;z-index:1;cursor:pointer;transition:all .3s;margin-inline-start:100%;padding-inline-start:4px}.ant-table-selection-extra .anticon{color:#bfbfbf;font-size:10px}.ant-table-selection-extra .anticon:hover{color:#a6a6a6}.ant-table-expand-icon-col{width:48px}.ant-table-row-expand-icon-cell{text-align:center}.ant-table-row-expand-icon-cell .ant-table-row-expand-icon{display:inline-flex;float:none;vertical-align:sub}.ant-table-row-indent{float:left;height:1px}.ant-table-row-expand-icon{color:#1890ff;outline:none;cursor:pointer;transition:color .3s;position:relative;float:left;box-sizing:border-box;width:17px;height:17px;padding:0;color:inherit;line-height:17px;background:#fff;border:1px solid #f0f0f0;border-radius:2px;transform:scale(.94117647);transition:all .3s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ant-table-row-expand-icon:focus-visible,.ant-table-row-expand-icon:hover{color:#40a9ff}.ant-table-row-expand-icon:active{color:#096dd9}.ant-table-row-expand-icon:focus,.ant-table-row-expand-icon:hover,.ant-table-row-expand-icon:active{border-color:currentcolor}.ant-table-row-expand-icon:before,.ant-table-row-expand-icon:after{position:absolute;background:currentcolor;transition:transform .3s ease-out;content:""}.ant-table-row-expand-icon:before{top:7px;right:3px;left:3px;height:1px}.ant-table-row-expand-icon:after{top:3px;bottom:3px;left:7px;width:1px;transform:rotate(90deg)}.ant-table-row-expand-icon-collapsed:before{transform:rotate(-180deg)}.ant-table-row-expand-icon-collapsed:after{transform:rotate(0)}.ant-table-row-expand-icon-spaced{background:transparent;border:0;visibility:hidden}.ant-table-row-expand-icon-spaced:before,.ant-table-row-expand-icon-spaced:after{display:none;content:none}.ant-table-row-indent+.ant-table-row-expand-icon{margin-top:2.5005px;margin-right:8px}tr.ant-table-expanded-row>td,tr.ant-table-expanded-row:hover>td{background:#fbfbfb}tr.ant-table-expanded-row .ant-descriptions-view{display:flex}tr.ant-table-expanded-row .ant-descriptions-view table{flex:auto;width:auto}.ant-table .ant-table-expanded-row-fixed{position:relative;margin:-16px;padding:16px}.ant-table-tbody>tr.ant-table-placeholder{text-align:center}.ant-table-empty .ant-table-tbody>tr.ant-table-placeholder{color:#00000040}.ant-table-tbody>tr.ant-table-placeholder:hover>td{background:#fff}.ant-table-cell-fix-left,.ant-table-cell-fix-right{position:sticky!important;z-index:2;background:#fff}.ant-table-cell-fix-left-first:after,.ant-table-cell-fix-left-last:after{position:absolute;top:0;right:0;bottom:-1px;width:30px;transform:translate(100%);transition:box-shadow .3s;content:"";pointer-events:none}.ant-table-cell-fix-left-all:after{display:none}.ant-table-cell-fix-right-first:after,.ant-table-cell-fix-right-last:after{position:absolute;top:0;bottom:-1px;left:0;width:30px;transform:translate(-100%);transition:box-shadow .3s;content:"";pointer-events:none}.ant-table .ant-table-container:before,.ant-table .ant-table-container:after{position:absolute;top:0;bottom:0;z-index:4;width:30px;transition:box-shadow .3s;content:"";pointer-events:none}.ant-table .ant-table-container:before{left:0}.ant-table .ant-table-container:after{right:0}.ant-table-ping-left:not(.ant-table-has-fix-left)>.ant-table-container{position:relative}.ant-table-ping-left:not(.ant-table-has-fix-left)>.ant-table-container:before{box-shadow:inset 10px 0 8px -8px #00000026}.ant-table-ping-left .ant-table-cell-fix-left-first:after,.ant-table-ping-left .ant-table-cell-fix-left-last:after{box-shadow:inset 10px 0 8px -8px #00000026}.ant-table-ping-left .ant-table-cell-fix-left-last:before{background-color:transparent!important}.ant-table-ping-right:not(.ant-table-has-fix-right)>.ant-table-container{position:relative}.ant-table-ping-right:not(.ant-table-has-fix-right)>.ant-table-container:after{box-shadow:inset -10px 0 8px -8px #00000026}.ant-table-ping-right .ant-table-cell-fix-right-first:after,.ant-table-ping-right .ant-table-cell-fix-right-last:after{box-shadow:inset -10px 0 8px -8px #00000026}.ant-table-sticky-holder{position:sticky;z-index:3;background:#fff}.ant-table-sticky-scroll{position:sticky;bottom:0;z-index:3;display:flex;align-items:center;background:#ffffff;border-top:1px solid #f0f0f0;opacity:.6}.ant-table-sticky-scroll:hover{transform-origin:center bottom}.ant-table-sticky-scroll-bar{height:8px;background-color:#00000059;border-radius:4px}.ant-table-sticky-scroll-bar:hover,.ant-table-sticky-scroll-bar-active{background-color:#000c}@media all and (-ms-high-contrast: none){.ant-table-ping-left .ant-table-cell-fix-left-last:after{box-shadow:none!important}.ant-table-ping-right .ant-table-cell-fix-right-first:after{box-shadow:none!important}}.ant-table-title{border-radius:2px 2px 0 0}.ant-table-title+.ant-table-container{border-top-left-radius:0;border-top-right-radius:0}.ant-table-title+.ant-table-container table{border-radius:0}.ant-table-title+.ant-table-container table>thead>tr:first-child th:first-child{border-radius:0}.ant-table-title+.ant-table-container table>thead>tr:first-child th:last-child{border-radius:0}.ant-table-container{border-top-left-radius:2px;border-top-right-radius:2px}.ant-table-container table>thead>tr:first-child th:first-child{border-top-left-radius:2px}.ant-table-container table>thead>tr:first-child th:last-child{border-top-right-radius:2px}.ant-table-footer{border-radius:0 0 2px 2px}.ant-table-wrapper-rtl,.ant-table-rtl{direction:rtl}.ant-table-wrapper-rtl .ant-table table{text-align:right}.ant-table-wrapper-rtl .ant-table-thead>tr>th[colspan]:not([colspan="1"]){text-align:center}.ant-table-wrapper-rtl .ant-table-thead>tr>th:not(:last-child):not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan]):before{right:auto;left:0}.ant-table-wrapper-rtl .ant-table-thead>tr>th{text-align:right}.ant-table-tbody>tr .ant-table-wrapper:only-child .ant-table.ant-table-rtl{margin:-16px 33px -16px -16px}.ant-table-wrapper.ant-table-wrapper-rtl .ant-table-pagination-left{justify-content:flex-end}.ant-table-wrapper.ant-table-wrapper-rtl .ant-table-pagination-right{justify-content:flex-start}.ant-table-wrapper-rtl .ant-table-column-sorter{margin-right:4px;margin-left:0}.ant-table-wrapper-rtl .ant-table-filter-column-title{padding:16px 16px 16px 2.3em}.ant-table-rtl .ant-table-thead tr th.ant-table-column-has-sorters .ant-table-filter-column-title{padding:0 0 0 2.3em}.ant-table-wrapper-rtl .ant-table-filter-trigger{margin:-4px 4px -4px -8px}.ant-dropdown-rtl .ant-table-filter-dropdown .ant-checkbox-wrapper+span,.ant-dropdown-rtl .ant-table-filter-dropdown-submenu .ant-checkbox-wrapper+span,.ant-dropdown-menu-submenu-rtl.ant-table-filter-dropdown .ant-checkbox-wrapper+span,.ant-dropdown-menu-submenu-rtl.ant-table-filter-dropdown-submenu .ant-checkbox-wrapper+span{padding-right:8px;padding-left:0}.ant-table-wrapper-rtl .ant-table-selection{text-align:center}.ant-table-wrapper-rtl .ant-table-row-indent,.ant-table-wrapper-rtl .ant-table-row-expand-icon{float:right}.ant-table-wrapper-rtl .ant-table-row-indent+.ant-table-row-expand-icon{margin-right:0;margin-left:8px}.ant-table-wrapper-rtl .ant-table-row-expand-icon:after{transform:rotate(-90deg)}.ant-table-wrapper-rtl .ant-table-row-expand-icon-collapsed:before{transform:rotate(180deg)}.ant-table-wrapper-rtl .ant-table-row-expand-icon-collapsed:after{transform:rotate(0)}.ant-pagination{box-sizing:border-box;margin:0;padding:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum","tnum"}.ant-pagination ul,.ant-pagination ol{margin:0;padding:0;list-style:none}.ant-pagination:after{display:block;clear:both;height:0;overflow:hidden;visibility:hidden;content:" "}.ant-pagination-total-text{display:inline-block;height:32px;margin-right:8px;line-height:30px;vertical-align:middle}.ant-pagination-item{display:inline-block;min-width:32px;height:32px;margin-right:8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:30px;text-align:center;vertical-align:middle;list-style:none;background-color:#fff;border:1px solid #d9d9d9;border-radius:2px;outline:0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ant-pagination-item a{display:block;padding:0 6px;color:#000000d9;transition:none}.ant-pagination-item a:hover{text-decoration:none}.ant-pagination-item:hover{border-color:#1890ff;transition:all .3s}.ant-pagination-item:hover a{color:#1890ff}.ant-pagination-item:focus-visible{border-color:#1890ff;transition:all .3s}.ant-pagination-item:focus-visible a{color:#1890ff}.ant-pagination-item-active{font-weight:500;background:#fff;border-color:#1890ff}.ant-pagination-item-active a{color:#1890ff}.ant-pagination-item-active:hover{border-color:#40a9ff}.ant-pagination-item-active:focus-visible{border-color:#40a9ff}.ant-pagination-item-active:hover a{color:#40a9ff}.ant-pagination-item-active:focus-visible a{color:#40a9ff}.ant-pagination-jump-prev,.ant-pagination-jump-next{outline:0}.ant-pagination-jump-prev .ant-pagination-item-container,.ant-pagination-jump-next .ant-pagination-item-container{position:relative}.ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-link-icon,.ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-link-icon{color:#1890ff;font-size:12px;letter-spacing:-1px;opacity:0;transition:all .2s}.ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-link-icon-svg,.ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-link-icon-svg{top:0;right:0;bottom:0;left:0;margin:auto}.ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-ellipsis,.ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-ellipsis{position:absolute;top:0;right:0;bottom:0;left:0;display:block;margin:auto;color:#00000040;font-family:Arial,Helvetica,sans-serif;letter-spacing:2px;text-align:center;text-indent:.13em;opacity:1;transition:all .2s}.ant-pagination-jump-prev:hover .ant-pagination-item-link-icon,.ant-pagination-jump-next:hover .ant-pagination-item-link-icon{opacity:1}.ant-pagination-jump-prev:hover .ant-pagination-item-ellipsis,.ant-pagination-jump-next:hover .ant-pagination-item-ellipsis{opacity:0}.ant-pagination-jump-prev:focus-visible .ant-pagination-item-link-icon,.ant-pagination-jump-next:focus-visible .ant-pagination-item-link-icon{opacity:1}.ant-pagination-jump-prev:focus-visible .ant-pagination-item-ellipsis,.ant-pagination-jump-next:focus-visible .ant-pagination-item-ellipsis{opacity:0}.ant-pagination-prev,.ant-pagination-jump-prev,.ant-pagination-jump-next{margin-right:8px}.ant-pagination-prev,.ant-pagination-next,.ant-pagination-jump-prev,.ant-pagination-jump-next{display:inline-block;min-width:32px;height:32px;color:#000000d9;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:32px;text-align:center;vertical-align:middle;list-style:none;border-radius:2px;cursor:pointer;transition:all .3s}.ant-pagination-prev,.ant-pagination-next{font-family:Arial,Helvetica,sans-serif;outline:0}.ant-pagination-prev button,.ant-pagination-next button{color:#000000d9;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ant-pagination-prev:hover button,.ant-pagination-next:hover button{border-color:#40a9ff}.ant-pagination-prev .ant-pagination-item-link,.ant-pagination-next .ant-pagination-item-link{display:block;width:100%;height:100%;padding:0;font-size:12px;text-align:center;background-color:#fff;border:1px solid #d9d9d9;border-radius:2px;outline:none;transition:all .3s}.ant-pagination-prev:focus-visible .ant-pagination-item-link,.ant-pagination-next:focus-visible .ant-pagination-item-link{color:#1890ff;border-color:#1890ff}.ant-pagination-prev:hover .ant-pagination-item-link,.ant-pagination-next:hover .ant-pagination-item-link{color:#1890ff;border-color:#1890ff}.ant-pagination-disabled,.ant-pagination-disabled:hover{cursor:not-allowed}.ant-pagination-disabled .ant-pagination-item-link,.ant-pagination-disabled:hover .ant-pagination-item-link{color:#00000040;border-color:#d9d9d9;cursor:not-allowed}.ant-pagination-disabled:focus-visible{cursor:not-allowed}.ant-pagination-disabled:focus-visible .ant-pagination-item-link{color:#00000040;border-color:#d9d9d9;cursor:not-allowed}.ant-pagination-slash{margin:0 10px 0 5px}.ant-pagination-options{display:inline-block;margin-left:16px;vertical-align:middle}@media all and (-ms-high-contrast: none){.ant-pagination-options *::-ms-backdrop,.ant-pagination-options{vertical-align:top}}.ant-pagination-options-size-changer.ant-select{display:inline-block;width:auto}.ant-pagination-options-quick-jumper{display:inline-block;height:32px;margin-left:8px;line-height:32px;vertical-align:top}.ant-pagination-options-quick-jumper input{position:relative;display:inline-block;width:100%;min-width:0;padding:4px 11px;color:#000000d9;font-size:14px;line-height:1.5715;background-color:#fff;background-image:none;border:1px solid #d9d9d9;border-radius:2px;transition:all .3s;width:50px;height:32px;margin:0 8px}.ant-pagination-options-quick-jumper input::-moz-placeholder{color:#bfbfbf;-moz-user-select:none;user-select:none}.ant-pagination-options-quick-jumper input:-ms-input-placeholder{color:#bfbfbf;-ms-user-select:none;user-select:none}.ant-pagination-options-quick-jumper input::placeholder{color:#bfbfbf;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ant-pagination-options-quick-jumper input:-moz-placeholder{text-overflow:ellipsis}.ant-pagination-options-quick-jumper input:-ms-input-placeholder{text-overflow:ellipsis}.ant-pagination-options-quick-jumper input:placeholder-shown{text-overflow:ellipsis}.ant-pagination-options-quick-jumper input:hover{border-color:#40a9ff;border-right-width:1px}.ant-pagination-options-quick-jumper input:focus,.ant-pagination-options-quick-jumper input-focused{border-color:#40a9ff;box-shadow:0 0 0 2px #1890ff33;border-right-width:1px;outline:0}.ant-pagination-options-quick-jumper input-disabled{color:#00000040;background-color:#f5f5f5;border-color:#d9d9d9;box-shadow:none;cursor:not-allowed;opacity:1}.ant-pagination-options-quick-jumper input-disabled:hover{border-color:#d9d9d9;border-right-width:1px}.ant-pagination-options-quick-jumper input[disabled]{color:#00000040;background-color:#f5f5f5;border-color:#d9d9d9;box-shadow:none;cursor:not-allowed;opacity:1}.ant-pagination-options-quick-jumper input[disabled]:hover{border-color:#d9d9d9;border-right-width:1px}.ant-pagination-options-quick-jumper input-borderless,.ant-pagination-options-quick-jumper input-borderless:hover,.ant-pagination-options-quick-jumper input-borderless:focus,.ant-pagination-options-quick-jumper input-borderless-focused,.ant-pagination-options-quick-jumper input-borderless-disabled,.ant-pagination-options-quick-jumper input-borderless[disabled]{background-color:transparent;border:none;box-shadow:none}textarea.ant-pagination-options-quick-jumper input{max-width:100%;height:auto;min-height:32px;line-height:1.5715;vertical-align:bottom;transition:all .3s,height 0s}.ant-pagination-options-quick-jumper input-lg{padding:6.5px 11px;font-size:16px}.ant-pagination-options-quick-jumper input-sm{padding:0 7px}.ant-pagination-simple .ant-pagination-prev,.ant-pagination-simple .ant-pagination-next{height:24px;line-height:24px;vertical-align:top}.ant-pagination-simple .ant-pagination-prev .ant-pagination-item-link,.ant-pagination-simple .ant-pagination-next .ant-pagination-item-link{height:24px;background-color:transparent;border:0}.ant-pagination-simple .ant-pagination-prev .ant-pagination-item-link:after,.ant-pagination-simple .ant-pagination-next .ant-pagination-item-link:after{height:24px;line-height:24px}.ant-pagination-simple .ant-pagination-simple-pager{display:inline-block;height:24px;margin-right:8px}.ant-pagination-simple .ant-pagination-simple-pager input{box-sizing:border-box;height:100%;margin-right:8px;padding:0 6px;text-align:center;background-color:#fff;border:1px solid #d9d9d9;border-radius:2px;outline:none;transition:border-color .3s}.ant-pagination-simple .ant-pagination-simple-pager input:hover{border-color:#1890ff}.ant-pagination-simple .ant-pagination-simple-pager input:focus{border-color:#40a9ff;box-shadow:0 0 0 2px #1890ff33}.ant-pagination-simple .ant-pagination-simple-pager input[disabled]{color:#00000040;background:#f5f5f5;border-color:#d9d9d9;cursor:not-allowed}.ant-pagination.ant-pagination-mini .ant-pagination-total-text,.ant-pagination.ant-pagination-mini .ant-pagination-simple-pager{height:24px;line-height:24px}.ant-pagination.ant-pagination-mini .ant-pagination-item{min-width:24px;height:24px;margin:0;line-height:22px}.ant-pagination.ant-pagination-mini .ant-pagination-item:not(.ant-pagination-item-active){background:transparent;border-color:transparent}.ant-pagination.ant-pagination-mini .ant-pagination-prev,.ant-pagination.ant-pagination-mini .ant-pagination-next{min-width:24px;height:24px;margin:0;line-height:24px}.ant-pagination.ant-pagination-mini .ant-pagination-prev .ant-pagination-item-link,.ant-pagination.ant-pagination-mini .ant-pagination-next .ant-pagination-item-link{background:transparent;border-color:transparent}.ant-pagination.ant-pagination-mini .ant-pagination-prev .ant-pagination-item-link:after,.ant-pagination.ant-pagination-mini .ant-pagination-next .ant-pagination-item-link:after{height:24px;line-height:24px}.ant-pagination.ant-pagination-mini .ant-pagination-jump-prev,.ant-pagination.ant-pagination-mini .ant-pagination-jump-next{height:24px;margin-right:0;line-height:24px}.ant-pagination.ant-pagination-mini .ant-pagination-options{margin-left:2px}.ant-pagination.ant-pagination-mini .ant-pagination-options-size-changer{top:0}.ant-pagination.ant-pagination-mini .ant-pagination-options-quick-jumper{height:24px;line-height:24px}.ant-pagination.ant-pagination-mini .ant-pagination-options-quick-jumper input{padding:0 7px;width:44px;height:24px}.ant-pagination.ant-pagination-disabled{cursor:not-allowed}.ant-pagination.ant-pagination-disabled .ant-pagination-item{background:#f5f5f5;border-color:#d9d9d9;cursor:not-allowed}.ant-pagination.ant-pagination-disabled .ant-pagination-item a{color:#00000040;background:transparent;border:none;cursor:not-allowed}.ant-pagination.ant-pagination-disabled .ant-pagination-item-active{background:#e6e6e6}.ant-pagination.ant-pagination-disabled .ant-pagination-item-active a{color:#00000040}.ant-pagination.ant-pagination-disabled .ant-pagination-item-link{color:#00000040;background:#f5f5f5;border-color:#d9d9d9;cursor:not-allowed}.ant-pagination-simple.ant-pagination.ant-pagination-disabled .ant-pagination-item-link{background:transparent}.ant-pagination.ant-pagination-disabled .ant-pagination-item-link-icon{opacity:0}.ant-pagination.ant-pagination-disabled .ant-pagination-item-ellipsis{opacity:1}.ant-pagination.ant-pagination-disabled .ant-pagination-simple-pager{color:#00000040}@media only screen and (max-width: 992px){.ant-pagination-item-after-jump-prev,.ant-pagination-item-before-jump-next{display:none}}@media only screen and (max-width: 576px){.ant-pagination-options{display:none}}.ant-pagination-rtl .ant-pagination-total-text,.ant-pagination-rtl .ant-pagination-item,.ant-pagination-rtl .ant-pagination-prev,.ant-pagination-rtl .ant-pagination-jump-prev,.ant-pagination-rtl .ant-pagination-jump-next{margin-right:0;margin-left:8px}.ant-pagination-rtl .ant-pagination-slash{margin:0 5px 0 10px}.ant-pagination-rtl .ant-pagination-options{margin-right:16px;margin-left:0}.ant-pagination-rtl .ant-pagination-options .ant-pagination-options-size-changer.ant-select{margin-right:0;margin-left:8px}.ant-pagination-rtl .ant-pagination-options .ant-pagination-options-quick-jumper{margin-left:0}.ant-pagination-rtl.ant-pagination-simple .ant-pagination-simple-pager,.ant-pagination-rtl.ant-pagination-simple .ant-pagination-simple-pager input{margin-right:0;margin-left:8px}.ant-pagination-rtl.ant-pagination.mini .ant-pagination-options{margin-right:2px;margin-left:0}@keyframes antCheckboxEffect{0%{transform:scale(1);opacity:.5}to{transform:scale(1.6);opacity:0}}@keyframes ant-tree-node-fx-do-not-use{0%{opacity:0}to{opacity:1}}.ant-tree.ant-tree-directory .ant-tree-treenode{position:relative}.ant-tree.ant-tree-directory .ant-tree-treenode:before{position:absolute;top:0;right:0;bottom:4px;left:0;transition:background-color .3s;content:"";pointer-events:none}.ant-tree.ant-tree-directory .ant-tree-treenode:hover:before{background:#f5f5f5}.ant-tree.ant-tree-directory .ant-tree-treenode>*{z-index:1}.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-switcher{transition:color .3s}.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper{border-radius:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper:hover{background:transparent}.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper.ant-tree-node-selected{color:#fff;background:transparent}.ant-tree.ant-tree-directory .ant-tree-treenode-selected:hover:before,.ant-tree.ant-tree-directory .ant-tree-treenode-selected:before{background:#1890ff}.ant-tree.ant-tree-directory .ant-tree-treenode-selected .ant-tree-switcher{color:#fff}.ant-tree.ant-tree-directory .ant-tree-treenode-selected .ant-tree-node-content-wrapper{color:#fff;background:transparent}.ant-tree-checkbox{box-sizing:border-box;margin:0;padding:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;list-style:none;font-feature-settings:"tnum","tnum";position:relative;top:.2em;line-height:1;white-space:nowrap;outline:none;cursor:pointer}.ant-tree-checkbox-wrapper:hover .ant-tree-checkbox-inner,.ant-tree-checkbox:hover .ant-tree-checkbox-inner,.ant-tree-checkbox-input:focus+.ant-tree-checkbox-inner{border-color:#1890ff}.ant-tree-checkbox-checked:after{position:absolute;top:0;left:0;width:100%;height:100%;border:1px solid #1890ff;border-radius:2px;visibility:hidden;animation:antCheckboxEffect .36s ease-in-out;animation-fill-mode:backwards;content:""}.ant-tree-checkbox:hover:after,.ant-tree-checkbox-wrapper:hover .ant-tree-checkbox:after{visibility:visible}.ant-tree-checkbox-inner{position:relative;top:0;left:0;display:block;width:16px;height:16px;direction:ltr;background-color:#fff;border:1px solid #d9d9d9;border-radius:2px;border-collapse:separate;transition:all .3s}.ant-tree-checkbox-inner:after{position:absolute;top:50%;left:21.5%;display:table;width:5.71428571px;height:9.14285714px;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg) scale(0) translate(-50%,-50%);opacity:0;transition:all .1s cubic-bezier(.71,-.46,.88,.6),opacity .1s;content:" "}.ant-tree-checkbox-input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;cursor:pointer;opacity:0}.ant-tree-checkbox-checked .ant-tree-checkbox-inner:after{position:absolute;display:table;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg) scale(1) translate(-50%,-50%);opacity:1;transition:all .2s cubic-bezier(.12,.4,.29,1.46) .1s;content:" "}.ant-tree-checkbox-checked .ant-tree-checkbox-inner{background-color:#1890ff;border-color:#1890ff}.ant-tree-checkbox-disabled{cursor:not-allowed}.ant-tree-checkbox-disabled.ant-tree-checkbox-checked .ant-tree-checkbox-inner:after{border-color:#00000040;animation-name:none}.ant-tree-checkbox-disabled .ant-tree-checkbox-input{cursor:not-allowed;pointer-events:none}.ant-tree-checkbox-disabled .ant-tree-checkbox-inner{background-color:#f5f5f5;border-color:#d9d9d9!important}.ant-tree-checkbox-disabled .ant-tree-checkbox-inner:after{border-color:#f5f5f5;border-collapse:separate;animation-name:none}.ant-tree-checkbox-disabled+span{color:#00000040;cursor:not-allowed}.ant-tree-checkbox-disabled:hover:after,.ant-tree-checkbox-wrapper:hover .ant-tree-checkbox-disabled:after{visibility:hidden}.ant-tree-checkbox-wrapper{box-sizing:border-box;margin:0;padding:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum","tnum";display:inline-flex;align-items:baseline;line-height:unset;cursor:pointer}.ant-tree-checkbox-wrapper:after{display:inline-block;width:0;overflow:hidden;content:" "}.ant-tree-checkbox-wrapper.ant-tree-checkbox-wrapper-disabled{cursor:not-allowed}.ant-tree-checkbox-wrapper+.ant-tree-checkbox-wrapper{margin-left:8px}.ant-tree-checkbox-wrapper.ant-tree-checkbox-wrapper-in-form-item input[type=checkbox]{width:14px;height:14px}.ant-tree-checkbox+span{padding-right:8px;padding-left:8px}.ant-tree-checkbox-group{box-sizing:border-box;margin:0;padding:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum","tnum";display:inline-block}.ant-tree-checkbox-group-item{margin-right:8px}.ant-tree-checkbox-group-item:last-child{margin-right:0}.ant-tree-checkbox-group-item+.ant-tree-checkbox-group-item{margin-left:0}.ant-tree-checkbox-indeterminate .ant-tree-checkbox-inner{background-color:#fff;border-color:#d9d9d9}.ant-tree-checkbox-indeterminate .ant-tree-checkbox-inner:after{top:50%;left:50%;width:8px;height:8px;background-color:#1890ff;border:0;transform:translate(-50%,-50%) scale(1);opacity:1;content:" "}.ant-tree-checkbox-indeterminate.ant-tree-checkbox-disabled .ant-tree-checkbox-inner:after{background-color:#00000040;border-color:#00000040}.ant-tree{box-sizing:border-box;margin:0;padding:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum","tnum";background:#fff;border-radius:2px;transition:background-color .3s}.ant-tree-focused:not(:hover):not(.ant-tree-active-focused){background:#e6f7ff}.ant-tree-list-holder-inner{align-items:flex-start}.ant-tree.ant-tree-block-node .ant-tree-list-holder-inner{align-items:stretch}.ant-tree.ant-tree-block-node .ant-tree-list-holder-inner .ant-tree-node-content-wrapper{flex:auto}.ant-tree.ant-tree-block-node .ant-tree-list-holder-inner .ant-tree-treenode.dragging{position:relative}.ant-tree.ant-tree-block-node .ant-tree-list-holder-inner .ant-tree-treenode.dragging:after{position:absolute;top:0;right:0;bottom:4px;left:0;border:1px solid #1890ff;opacity:0;animation:ant-tree-node-fx-do-not-use .3s;animation-play-state:running;animation-fill-mode:forwards;content:"";pointer-events:none}.ant-tree .ant-tree-treenode{display:flex;align-items:flex-start;padding:0 0 4px;outline:none}.ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper{color:#00000040;cursor:not-allowed}.ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper:hover{background:transparent}.ant-tree .ant-tree-treenode-active .ant-tree-node-content-wrapper{background:#f5f5f5}.ant-tree .ant-tree-treenode:not(.ant-tree .ant-tree-treenode-disabled).filter-node .ant-tree-title{color:inherit;font-weight:500}.ant-tree .ant-tree-treenode-draggable .ant-tree-draggable-icon{width:24px;line-height:24px;text-align:center;visibility:visible;opacity:.2;transition:opacity .3s}.ant-tree-treenode:hover .ant-tree .ant-tree-treenode-draggable .ant-tree-draggable-icon{opacity:.45}.ant-tree .ant-tree-treenode-draggable.ant-tree-treenode-disabled .ant-tree-draggable-icon{visibility:hidden}.ant-tree-indent{align-self:stretch;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ant-tree-indent-unit{display:inline-block;width:24px}.ant-tree-draggable-icon{visibility:hidden}.ant-tree-switcher{position:relative;flex:none;align-self:stretch;width:24px;margin:0;line-height:24px;text-align:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ant-tree-switcher .ant-tree-switcher-icon,.ant-tree-switcher .ant-select-tree-switcher-icon{display:inline-block;font-size:10px;vertical-align:baseline}.ant-tree-switcher .ant-tree-switcher-icon svg,.ant-tree-switcher .ant-select-tree-switcher-icon svg{transition:transform .3s}.ant-tree-switcher-noop{cursor:default}.ant-tree-switcher_close .ant-tree-switcher-icon svg{transform:rotate(-90deg)}.ant-tree-switcher-loading-icon{color:#1890ff}.ant-tree-switcher-leaf-line{position:relative;z-index:1;display:inline-block;width:100%;height:100%}.ant-tree-switcher-leaf-line:before{position:absolute;top:0;right:12px;bottom:-4px;margin-left:-1px;border-right:1px solid #d9d9d9;content:" "}.ant-tree-switcher-leaf-line:after{position:absolute;width:10px;height:14px;border-bottom:1px solid #d9d9d9;content:" "}.ant-tree-checkbox{top:initial;margin:4px 8px 0 0}.ant-tree .ant-tree-node-content-wrapper{position:relative;z-index:auto;min-height:24px;margin:0;padding:0 4px;color:inherit;line-height:24px;background:transparent;border-radius:2px;cursor:pointer;transition:all .3s,border 0s,line-height 0s,box-shadow 0s}.ant-tree .ant-tree-node-content-wrapper:hover{background-color:#f5f5f5}.ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected{background-color:#bae7ff}.ant-tree .ant-tree-node-content-wrapper .ant-tree-iconEle{display:inline-block;width:24px;height:24px;line-height:24px;text-align:center;vertical-align:top}.ant-tree .ant-tree-node-content-wrapper .ant-tree-iconEle:empty{display:none}.ant-tree-unselectable .ant-tree-node-content-wrapper:hover{background-color:transparent}.ant-tree-node-content-wrapper{line-height:24px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ant-tree-node-content-wrapper .ant-tree-drop-indicator{position:absolute;z-index:1;height:2px;background-color:#1890ff;border-radius:1px;pointer-events:none}.ant-tree-node-content-wrapper .ant-tree-drop-indicator:after{position:absolute;top:-3px;left:-6px;width:8px;height:8px;background-color:transparent;border:2px solid #1890ff;border-radius:50%;content:""}.ant-tree .ant-tree-treenode.drop-container>[draggable]{box-shadow:0 0 0 2px #1890ff}.ant-tree-show-line .ant-tree-indent-unit{position:relative;height:100%}.ant-tree-show-line .ant-tree-indent-unit:before{position:absolute;top:0;right:12px;bottom:-4px;border-right:1px solid #d9d9d9;content:""}.ant-tree-show-line .ant-tree-indent-unit-end:before{display:none}.ant-tree-show-line .ant-tree-switcher{background:#fff}.ant-tree-show-line .ant-tree-switcher-line-icon{vertical-align:-.15em}.ant-tree .ant-tree-treenode-leaf-last .ant-tree-switcher-leaf-line:before{top:auto!important;bottom:auto!important;height:14px!important}.ant-tree-rtl{direction:rtl}.ant-tree-rtl .ant-tree-node-content-wrapper[draggable=true] .ant-tree-drop-indicator:after{right:-6px;left:unset}.ant-tree .ant-tree-treenode-rtl{direction:rtl}.ant-tree-rtl .ant-tree-switcher_close .ant-tree-switcher-icon svg{transform:rotate(90deg)}.ant-tree-rtl.ant-tree-show-line .ant-tree-indent-unit:before{right:auto;left:-13px;border-right:none;border-left:1px solid #d9d9d9}.ant-tree-rtl .ant-tree-checkbox,.ant-tree-select-dropdown-rtl .ant-select-tree-checkbox{margin:4px 0 0 8px}.ant-tabs-small>.ant-tabs-nav .ant-tabs-tab{padding:8px 0;font-size:14px}.ant-tabs-large>.ant-tabs-nav .ant-tabs-tab{padding:16px 0;font-size:16px}.ant-tabs-card.ant-tabs-small>.ant-tabs-nav .ant-tabs-tab{padding:6px 16px}.ant-tabs-card.ant-tabs-large>.ant-tabs-nav .ant-tabs-tab{padding:7px 16px 6px}.ant-tabs-rtl{direction:rtl}.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab{margin:0 0 0 32px}.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab:last-of-type{margin-left:0}.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab .anticon{margin-right:0;margin-left:12px}.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab .ant-tabs-tab-remove{margin-right:8px;margin-left:-4px}.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab .ant-tabs-tab-remove .anticon{margin:0}.ant-tabs-rtl.ant-tabs-left>.ant-tabs-nav{order:1}.ant-tabs-rtl.ant-tabs-left>.ant-tabs-content-holder{order:0}.ant-tabs-rtl.ant-tabs-right>.ant-tabs-nav{order:0}.ant-tabs-rtl.ant-tabs-right>.ant-tabs-content-holder{order:1}.ant-tabs-rtl.ant-tabs-card.ant-tabs-top>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-rtl.ant-tabs-card.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-rtl.ant-tabs-card.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-rtl.ant-tabs-card.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab{margin-right:2px;margin-left:0}.ant-tabs-rtl.ant-tabs-card.ant-tabs-top>.ant-tabs-nav .ant-tabs-nav-add,.ant-tabs-rtl.ant-tabs-card.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-nav-add,.ant-tabs-rtl.ant-tabs-card.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-nav-add,.ant-tabs-rtl.ant-tabs-card.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-nav-add{margin-right:2px;margin-left:0}.ant-tabs-dropdown-rtl{direction:rtl}.ant-tabs-dropdown-rtl .ant-tabs-dropdown-menu-item{text-align:right}.ant-tabs-top,.ant-tabs-bottom{flex-direction:column}.ant-tabs-top>.ant-tabs-nav,.ant-tabs-bottom>.ant-tabs-nav,.ant-tabs-top>div>.ant-tabs-nav,.ant-tabs-bottom>div>.ant-tabs-nav{margin:0 0 16px}.ant-tabs-top>.ant-tabs-nav:before,.ant-tabs-bottom>.ant-tabs-nav:before,.ant-tabs-top>div>.ant-tabs-nav:before,.ant-tabs-bottom>div>.ant-tabs-nav:before{position:absolute;right:0;left:0;border-bottom:1px solid #f0f0f0;content:""}.ant-tabs-top>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-ink-bar{height:2px}.ant-tabs-top>.ant-tabs-nav .ant-tabs-ink-bar-animated,.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-ink-bar-animated,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-ink-bar-animated,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-ink-bar-animated{transition:width .3s,left .3s,right .3s}.ant-tabs-top>.ant-tabs-nav .ant-tabs-nav-wrap:before,.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-nav-wrap:before,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-nav-wrap:before,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-nav-wrap:before,.ant-tabs-top>.ant-tabs-nav .ant-tabs-nav-wrap:after,.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-nav-wrap:after,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-nav-wrap:after,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-nav-wrap:after{top:0;bottom:0;width:30px}.ant-tabs-top>.ant-tabs-nav .ant-tabs-nav-wrap:before,.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-nav-wrap:before,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-nav-wrap:before,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-nav-wrap:before{left:0;box-shadow:inset 10px 0 8px -8px #00000014}.ant-tabs-top>.ant-tabs-nav .ant-tabs-nav-wrap:after,.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-nav-wrap:after,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-nav-wrap:after,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-nav-wrap:after{right:0;box-shadow:inset -10px 0 8px -8px #00000014}.ant-tabs-top>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-left:before,.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-left:before,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-left:before,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-left:before{opacity:1}.ant-tabs-top>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-right:after,.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-right:after,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-right:after,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-right:after{opacity:1}.ant-tabs-top>.ant-tabs-nav:before,.ant-tabs-top>div>.ant-tabs-nav:before{bottom:0}.ant-tabs-top>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-ink-bar{bottom:0}.ant-tabs-bottom>.ant-tabs-nav,.ant-tabs-bottom>div>.ant-tabs-nav{order:1;margin-top:16px;margin-bottom:0}.ant-tabs-bottom>.ant-tabs-nav:before,.ant-tabs-bottom>div>.ant-tabs-nav:before{top:0}.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-ink-bar{top:0}.ant-tabs-bottom>.ant-tabs-content-holder,.ant-tabs-bottom>div>.ant-tabs-content-holder{order:0}.ant-tabs-left>.ant-tabs-nav,.ant-tabs-right>.ant-tabs-nav,.ant-tabs-left>div>.ant-tabs-nav,.ant-tabs-right>div>.ant-tabs-nav{flex-direction:column;min-width:50px}.ant-tabs-left>.ant-tabs-nav .ant-tabs-tab,.ant-tabs-right>.ant-tabs-nav .ant-tabs-tab,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-tab,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-tab{padding:8px 24px;text-align:center}.ant-tabs-left>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-right>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab{margin:16px 0 0}.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-wrap,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-wrap,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-wrap,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-wrap{flex-direction:column}.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-wrap:before,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-wrap:before,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-wrap:before,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-wrap:before,.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-wrap:after,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-wrap:after,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-wrap:after,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-wrap:after{right:0;left:0;height:30px}.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-wrap:before,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-wrap:before,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-wrap:before,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-wrap:before{top:0;box-shadow:inset 0 10px 8px -8px #00000014}.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-wrap:after,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-wrap:after,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-wrap:after,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-wrap:after{bottom:0;box-shadow:inset 0 -10px 8px -8px #00000014}.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-top:before,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-top:before,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-top:before,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-top:before{opacity:1}.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-bottom:after,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-bottom:after,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-bottom:after,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-bottom:after{opacity:1}.ant-tabs-left>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-right>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-ink-bar{width:2px}.ant-tabs-left>.ant-tabs-nav .ant-tabs-ink-bar-animated,.ant-tabs-right>.ant-tabs-nav .ant-tabs-ink-bar-animated,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-ink-bar-animated,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-ink-bar-animated{transition:height .3s,top .3s}.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-list,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-list,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-list,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-list,.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-operations,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-operations,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-operations,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-operations{flex:1 0 auto;flex-direction:column}.ant-tabs-left>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-ink-bar{right:0}.ant-tabs-left>.ant-tabs-content-holder,.ant-tabs-left>div>.ant-tabs-content-holder{margin-left:-1px;border-left:1px solid #f0f0f0}.ant-tabs-left>.ant-tabs-content-holder>.ant-tabs-content>.ant-tabs-tabpane,.ant-tabs-left>div>.ant-tabs-content-holder>.ant-tabs-content>.ant-tabs-tabpane{padding-left:24px}.ant-tabs-right>.ant-tabs-nav,.ant-tabs-right>div>.ant-tabs-nav{order:1}.ant-tabs-right>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-ink-bar{left:0}.ant-tabs-right>.ant-tabs-content-holder,.ant-tabs-right>div>.ant-tabs-content-holder{order:0;margin-right:-1px;border-right:1px solid #f0f0f0}.ant-tabs-right>.ant-tabs-content-holder>.ant-tabs-content>.ant-tabs-tabpane,.ant-tabs-right>div>.ant-tabs-content-holder>.ant-tabs-content>.ant-tabs-tabpane{padding-right:24px}.ant-tabs-dropdown{box-sizing:border-box;margin:0;padding:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum","tnum";position:absolute;top:-9999px;left:-9999px;z-index:1050;display:block}.ant-tabs-dropdown-hidden{display:none}.ant-tabs-dropdown-menu{max-height:200px;margin:0;padding:4px 0;overflow-x:hidden;overflow-y:auto;text-align:left;list-style-type:none;background-color:#fff;background-clip:padding-box;border-radius:2px;outline:none;box-shadow:0 3px 6px -4px #0000001f,0 6px 16px #00000014,0 9px 28px 8px #0000000d}.ant-tabs-dropdown-menu-item{display:flex;align-items:center;min-width:120px;margin:0;padding:5px 12px;overflow:hidden;color:#000000d9;font-weight:400;font-size:14px;line-height:22px;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;transition:all .3s}.ant-tabs-dropdown-menu-item>span{flex:1;white-space:nowrap}.ant-tabs-dropdown-menu-item-remove{flex:none;margin-left:12px;color:#00000073;font-size:12px;background:transparent;border:0;cursor:pointer}.ant-tabs-dropdown-menu-item-remove:hover{color:#40a9ff}.ant-tabs-dropdown-menu-item:hover{background:#f5f5f5}.ant-tabs-dropdown-menu-item-disabled,.ant-tabs-dropdown-menu-item-disabled:hover{color:#00000040;background:transparent;cursor:not-allowed}.ant-tabs-card>.ant-tabs-nav .ant-tabs-tab,.ant-tabs-card>div>.ant-tabs-nav .ant-tabs-tab{margin:0;padding:8px 16px;background:#fafafa;border:1px solid #f0f0f0;transition:all .3s cubic-bezier(.645,.045,.355,1)}.ant-tabs-card>.ant-tabs-nav .ant-tabs-tab-active,.ant-tabs-card>div>.ant-tabs-nav .ant-tabs-tab-active{color:#1890ff;background:#fff}.ant-tabs-card>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-card>div>.ant-tabs-nav .ant-tabs-ink-bar{visibility:hidden}.ant-tabs-card.ant-tabs-top>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-card.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-card.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-card.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab{margin-left:2px}.ant-tabs-card.ant-tabs-top>.ant-tabs-nav .ant-tabs-tab,.ant-tabs-card.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-tab{border-radius:2px 2px 0 0}.ant-tabs-card.ant-tabs-top>.ant-tabs-nav .ant-tabs-tab-active,.ant-tabs-card.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-tab-active{border-bottom-color:#fff}.ant-tabs-card.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-tab,.ant-tabs-card.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-tab{border-radius:0 0 2px 2px}.ant-tabs-card.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-tab-active,.ant-tabs-card.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-tab-active{border-top-color:#fff}.ant-tabs-card.ant-tabs-left>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-card.ant-tabs-right>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-card.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-card.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab{margin-top:2px}.ant-tabs-card.ant-tabs-left>.ant-tabs-nav .ant-tabs-tab,.ant-tabs-card.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-tab{border-radius:2px 0 0 2px}.ant-tabs-card.ant-tabs-left>.ant-tabs-nav .ant-tabs-tab-active,.ant-tabs-card.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-tab-active{border-right-color:#fff}.ant-tabs-card.ant-tabs-right>.ant-tabs-nav .ant-tabs-tab,.ant-tabs-card.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-tab{border-radius:0 2px 2px 0}.ant-tabs-card.ant-tabs-right>.ant-tabs-nav .ant-tabs-tab-active,.ant-tabs-card.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-tab-active{border-left-color:#fff}.ant-tabs{box-sizing:border-box;margin:0;padding:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum","tnum";display:flex}.ant-tabs>.ant-tabs-nav,.ant-tabs>div>.ant-tabs-nav{position:relative;display:flex;flex:none;align-items:center}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-wrap,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-wrap{position:relative;display:inline-block;display:flex;flex:auto;align-self:stretch;overflow:hidden;white-space:nowrap;transform:translate(0)}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-wrap:before,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-wrap:before,.ant-tabs>.ant-tabs-nav .ant-tabs-nav-wrap:after,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-wrap:after{position:absolute;z-index:1;opacity:0;transition:opacity .3s;content:"";pointer-events:none}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-list,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-list{position:relative;display:flex;transition:transform .3s}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-operations,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-operations{display:flex;align-self:stretch}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-operations-hidden,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-operations-hidden{position:absolute;visibility:hidden;pointer-events:none}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-more,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-more{position:relative;padding:8px 16px;background:transparent;border:0}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-more:after,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-more:after{position:absolute;right:0;bottom:0;left:0;height:5px;transform:translateY(100%);content:""}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-add,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-add{min-width:40px;margin-left:2px;padding:0 8px;background:#fafafa;border:1px solid #f0f0f0;border-radius:2px 2px 0 0;outline:none;cursor:pointer;transition:all .3s cubic-bezier(.645,.045,.355,1)}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-add:hover,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-add:hover{color:#40a9ff}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-add:active,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-add:active,.ant-tabs>.ant-tabs-nav .ant-tabs-nav-add:focus,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-add:focus{color:#096dd9}.ant-tabs-extra-content{flex:none}.ant-tabs-centered>.ant-tabs-nav .ant-tabs-nav-wrap:not([class*=ant-tabs-nav-wrap-ping]),.ant-tabs-centered>div>.ant-tabs-nav .ant-tabs-nav-wrap:not([class*=ant-tabs-nav-wrap-ping]){justify-content:center}.ant-tabs-ink-bar{position:absolute;background:#1890ff;pointer-events:none}.ant-tabs-tab{position:relative;display:inline-flex;align-items:center;padding:12px 0;font-size:14px;background:transparent;border:0;outline:none;cursor:pointer}.ant-tabs-tab-btn:focus,.ant-tabs-tab-remove:focus,.ant-tabs-tab-btn:active,.ant-tabs-tab-remove:active{color:#096dd9}.ant-tabs-tab-btn{outline:none;transition:all .3s}.ant-tabs-tab-remove{flex:none;margin-right:-4px;margin-left:8px;color:#00000073;font-size:12px;background:transparent;border:none;outline:none;cursor:pointer;transition:all .3s}.ant-tabs-tab-remove:hover{color:#000000d9}.ant-tabs-tab:hover{color:#40a9ff}.ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{color:#1890ff;text-shadow:0 0 .25px currentcolor}.ant-tabs-tab.ant-tabs-tab-disabled{color:#00000040;cursor:not-allowed}.ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-btn:focus,.ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-remove:focus,.ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-btn:active,.ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-remove:active{color:#00000040}.ant-tabs-tab .ant-tabs-tab-remove .anticon{margin:0}.ant-tabs-tab .anticon{margin-right:12px}.ant-tabs-tab+.ant-tabs-tab{margin:0 0 0 32px}.ant-tabs-content{position:relative;width:100%}.ant-tabs-content-holder{flex:auto;min-width:0;min-height:0}.ant-tabs-tabpane{outline:none}.ant-tabs-tabpane-hidden{display:none}.ant-tabs-switch-appear,.ant-tabs-switch-enter{transition:none}.ant-tabs-switch-appear-start,.ant-tabs-switch-enter-start{opacity:0}.ant-tabs-switch-appear-active,.ant-tabs-switch-enter-active{opacity:1;transition:opacity .3s}.ant-tabs-switch-leave{position:absolute;transition:none;top:0;right:0;bottom:0;left:0}.ant-tabs-switch-leave-start{opacity:1}.ant-tabs-switch-leave-active{opacity:0;transition:opacity .3s}.ant-pro-card-tabs .ant-tabs-top>.ant-tabs-nav{margin-bottom:0}.ant-pro-card-tabs .ant-tabs-top>.ant-tabs-nav .ant-tabs-nav-list{margin-top:8px;padding-left:16px}.ant-pro-card-tabs .ant-tabs-bottom>.ant-tabs-nav{margin-top:0}.ant-pro-card-tabs .ant-tabs-bottom>.ant-tabs-nav .ant-tabs-nav-list{padding-left:16px}.ant-pro-card-tabs .ant-tabs-left .ant-tabs-content-holder .ant-tabs-content .ant-tabs-tabpane{padding-left:0}.ant-pro-card-tabs .ant-tabs-left>.ant-tabs-nav{margin-right:0}.ant-pro-card-tabs .ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-list{padding-top:16px}.ant-pro-card-tabs .ant-tabs-right .ant-tabs-content-holder .ant-tabs-content .ant-tabs-tabpane{padding-right:0}.ant-pro-card-tabs .ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-list{padding-top:16px}.ant-pro-card-actions{margin:0;padding:0;list-style:none;background:#fff;border-top:1px solid #f0f0f0}.ant-pro-card-actions:before{display:table;content:""}.ant-pro-card-actions:after{display:table;clear:both;content:""}.ant-pro-card-actions .ant-space{gap:0!important;width:100%}.ant-pro-card-actions>li,.ant-pro-card-actions .ant-space-item{-webkit-box-flex:1;-ms-flex:1;flex:1;float:left;margin:12px 0;color:#00000073;text-align:center}.ant-pro-card-actions>li>a,.ant-pro-card-actions .ant-space-item>a{color:#00000073;-webkit-transition:color .3s;transition:color .3s}.ant-pro-card-actions>li>a:hover,.ant-pro-card-actions .ant-space-item>a:hover{color:#40a9ff}.ant-pro-card-actions>li>span,.ant-pro-card-actions .ant-space-item>span{position:relative;display:block;min-width:32px;font-size:14px;line-height:1.5715;cursor:pointer}.ant-pro-card-actions>li>span:hover,.ant-pro-card-actions .ant-space-item>span:hover{color:#40a9ff;-webkit-transition:color .3s;transition:color .3s}.ant-pro-card-actions>li>span a:not(.ant-btn),.ant-pro-card-actions .ant-space-item>span a:not(.ant-btn),.ant-pro-card-actions>li>span>.anticon,.ant-pro-card-actions .ant-space-item>span>.anticon{display:inline-block;width:100%;color:#00000073;line-height:22px;-webkit-transition:color .3s;transition:color .3s}.ant-pro-card-actions>li>span a:not(.ant-btn):hover,.ant-pro-card-actions .ant-space-item>span a:not(.ant-btn):hover,.ant-pro-card-actions>li>span>.anticon:hover,.ant-pro-card-actions .ant-space-item>span>.anticon:hover{color:#40a9ff}.ant-pro-card-actions>li>span>.anticon,.ant-pro-card-actions .ant-space-item>span>.anticon{font-size:16px;line-height:22px}.ant-pro-card-actions>li:not(:last-child),.ant-pro-card-actions .ant-space-item:not(:last-child){border-right:1px solid #f0f0f0}.ant-pro-card-loading{overflow:hidden}.ant-pro-card-loading .ant-pro-card-body{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ant-pro-card-loading-content{width:100%}.ant-pro-card-loading-content p{margin:0}.ant-pro-card-loading-block{height:14px;margin:4px 0;background:-webkit-gradient(linear,left top,right top,from(rgba(207,216,220,.2)),color-stop(rgba(207,216,220,.4)),to(rgba(207,216,220,.2)));background:linear-gradient(90deg,rgba(207,216,220,.2),rgba(207,216,220,.4),rgba(207,216,220,.2));background-size:600% 600%;border-radius:2px;-webkit-animation:card-loading 1.4s ease infinite;animation:card-loading 1.4s ease infinite}@-webkit-keyframes card-loading{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes card-loading{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.ant-pro-card{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;margin:0;padding:0;background-color:#fff;border-radius:2px}.ant-pro-card-col{width:100%}.ant-pro-card-border{border:1px solid #f0f0f0}.ant-pro-card-hoverable{cursor:pointer;-webkit-transition:border-color .3s,-webkit-box-shadow .3s;transition:border-color .3s,-webkit-box-shadow .3s;transition:box-shadow .3s,border-color .3s;transition:box-shadow .3s,border-color .3s,-webkit-box-shadow .3s}.ant-pro-card-hoverable:hover{border-color:transparent;-webkit-box-shadow:0 1px 2px -2px rgba(0,0,0,.16),0 3px 6px 0 rgba(0,0,0,.12),0 5px 12px 4px rgba(0,0,0,.09);box-shadow:0 1px 2px -2px #00000029,0 3px 6px #0000001f,0 5px 12px 4px #00000017}.ant-pro-card-hoverable.ant-pro-card-checked:hover{border-color:#1890ff}.ant-pro-card-checked{background-color:#e6f7ff;border-color:#1890ff}.ant-pro-card-checked:after{position:absolute;top:2px;right:2px;width:0;height:0;border:6px solid #1890ff;border-bottom:6px solid transparent;border-left:6px solid transparent;border-top-right-radius:2px;content:""}.ant-pro-card:focus{background-color:#e6f7ff;border-color:#1890ff}.ant-pro-card-size-small .ant-pro-card-header{padding:8px 12px 0}.ant-pro-card-size-small .ant-pro-card-header-border{padding-bottom:8px}.ant-pro-card-size-small .ant-pro-card-title{font-size:14px}.ant-pro-card-size-small .ant-pro-card-body{padding:12px}.ant-pro-card-ghost{background-color:transparent}.ant-pro-card-ghost>.ant-pro-card-header{padding-right:0;padding-bottom:16px;padding-left:0}.ant-pro-card-ghost>.ant-pro-card-body{padding:0;background-color:transparent}.ant-pro-card-split>.ant-pro-card-body{padding:0}.ant-pro-card-split-vertical{border-right:1px solid #f0f0f0}.ant-pro-card-split-horizontal{border-bottom:1px solid #f0f0f0}.ant-pro-card-contain-card>.ant-pro-card-body{display:-webkit-box;display:-ms-flexbox;display:flex}.ant-pro-card-body-direction-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.ant-pro-card-body-wrap{-ms-flex-wrap:wrap;flex-wrap:wrap}.ant-pro-card-collapse>.ant-pro-card-header{padding-bottom:16px;border-bottom:0}.ant-pro-card-collapse>.ant-pro-card-body{display:none}.ant-pro-card-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:16px 24px 0}.ant-pro-card-header-border{padding-bottom:16px;border-bottom:1px solid #f0f0f0}.ant-pro-card-header-collapsible{cursor:pointer}.ant-pro-card-title{color:#000000d9;font-weight:500;font-size:16px}.ant-pro-card-extra{color:#000000d9}.ant-pro-card-type-inner .ant-pro-card-header{background-color:#fafafa}.ant-pro-card-collapsible-icon{margin-right:8px;color:#000000bf}.ant-pro-card-collapsible-icon :hover{color:#40a9ff}.ant-pro-card-collapsible-icon svg{-webkit-transition:-webkit-transform .2s;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s}.ant-pro-card-body{display:block;-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;padding:24px}.ant-pro-card-body-center{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.ant-pro-card-col-0{display:none}.ant-pro-card-col-24{-ms-flex-negative:0;flex-shrink:0;width:100%}.ant-pro-card-col-23{-ms-flex-negative:0;flex-shrink:0;width:95.83333333%}.ant-pro-card-col-22{-ms-flex-negative:0;flex-shrink:0;width:91.66666667%}.ant-pro-card-col-21{-ms-flex-negative:0;flex-shrink:0;width:87.5%}.ant-pro-card-col-20{-ms-flex-negative:0;flex-shrink:0;width:83.33333333%}.ant-pro-card-col-19{-ms-flex-negative:0;flex-shrink:0;width:79.16666667%}.ant-pro-card-col-18{-ms-flex-negative:0;flex-shrink:0;width:75%}.ant-pro-card-col-17{-ms-flex-negative:0;flex-shrink:0;width:70.83333333%}.ant-pro-card-col-16{-ms-flex-negative:0;flex-shrink:0;width:66.66666667%}.ant-pro-card-col-15{-ms-flex-negative:0;flex-shrink:0;width:62.5%}.ant-pro-card-col-14{-ms-flex-negative:0;flex-shrink:0;width:58.33333333%}.ant-pro-card-col-13{-ms-flex-negative:0;flex-shrink:0;width:54.16666667%}.ant-pro-card-col-12{-ms-flex-negative:0;flex-shrink:0;width:50%}.ant-pro-card-col-11{-ms-flex-negative:0;flex-shrink:0;width:45.83333333%}.ant-pro-card-col-10{-ms-flex-negative:0;flex-shrink:0;width:41.66666667%}.ant-pro-card-col-9{-ms-flex-negative:0;flex-shrink:0;width:37.5%}.ant-pro-card-col-8{-ms-flex-negative:0;flex-shrink:0;width:33.33333333%}.ant-pro-card-col-7{-ms-flex-negative:0;flex-shrink:0;width:29.16666667%}.ant-pro-card-col-6{-ms-flex-negative:0;flex-shrink:0;width:25%}.ant-pro-card-col-5{-ms-flex-negative:0;flex-shrink:0;width:20.83333333%}.ant-pro-card-col-4{-ms-flex-negative:0;flex-shrink:0;width:16.66666667%}.ant-pro-card-col-3{-ms-flex-negative:0;flex-shrink:0;width:12.5%}.ant-pro-card-col-2{-ms-flex-negative:0;flex-shrink:0;width:8.33333333%}.ant-pro-card-col-1{-ms-flex-negative:0;flex-shrink:0;width:4.16666667%}.ant-pro-card-divider{-webkit-box-flex:0;-ms-flex:none;flex:none;width:1px;margin:24px 8px;background-color:#f0f0f0}.ant-pro-card-divider-horizontal{width:initial;height:1px;margin:8px 24px}.ant-pro-card-size-small .ant-pro-card-divider{margin:12px 8px}.ant-pro-card-size-small .ant-pro-card-divider-horizontal{margin:8px 12px}.ant-form>div:not(.ant-pro-form-light-filter) .pro-field{max-width:100%}.ant-form>div:not(.ant-pro-form-light-filter) .pro-field-xs{width:104px}.ant-form>div:not(.ant-pro-form-light-filter) .pro-field-s{width:216px}.ant-form>div:not(.ant-pro-form-light-filter) .pro-field-sm{width:216px}.ant-form>div:not(.ant-pro-form-light-filter) .pro-field-m{width:328px}.ant-form>div:not(.ant-pro-form-light-filter) .pro-field-md{width:328px}.ant-form>div:not(.ant-pro-form-light-filter) .pro-field-l{width:440px}.ant-form>div:not(.ant-pro-form-light-filter) .pro-field-lg{width:440px}.ant-form>div:not(.ant-pro-form-light-filter) .pro-field-xl{width:552px}.ant-form:not(.ant-form-horizontal) .ant-pro-form-list-item:not(.ant-pro-form-list-item-show-label) .ant-form-item-label{display:none}.ant-pro-form-list{max-width:100%}.ant-pro-form-list-item.ant-pro-form-list-item-show-label .ant-form-item-label{display:inline-block}.ant-pro-form-list-item:first-of-type div:first-of-type .ant-form-item .ant-form-item-label{display:inline-block}.ant-pro-form-list-action{display:-webkit-box;display:-ms-flexbox;display:flex;height:32px;margin-bottom:24px;line-height:32px}.ant-pro-form-list .ant-pro-card .ant-pro-card-extra .ant-pro-form-list-action{margin-bottom:0}.ant-pro-form-list-action-icon{margin-left:8px;cursor:pointer;-webkit-transition:color .3s ease-in-out;transition:color .3s ease-in-out}.ant-pro-form-list-action-icon:hover{color:#40a9ff}.ant-pro-form-list-creator-button-top{margin-bottom:24px}.ant-pro-form-group-title{margin-bottom:16px;font-weight:700}.ant-pro-form-group-container{-ms-flex-wrap:wrap;flex-wrap:wrap;max-width:100%}.ant-pro-form-group-container>div.ant-space-item{max-width:100%}.ant-pro-form-group-twoLine{display:block;width:100%}.ant-pro-form-group-twoLine .ant-pro-form-group-title{width:100%;margin:8px 0}.ant-pro-form-group-twoLine .ant-pro-form-group-container{padding-left:16px}.ant-pro-form-group-twoLine .ant-space-item,.ant-pro-form-group-twoLine .ant-form-item{width:100%}.ant-pro-form-group-twoLine .ant-form-item-control{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.ant-pro-form-group-twoLine .ant-form-item-control-input{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.ant-pro-form-group-twoLine .ant-form-item-control-input-content{-webkit-box-flex:0;-ms-flex:none;flex:none}.ant-drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;pointer-events:none}.ant-drawer-inline{position:absolute}.ant-drawer-mask{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1000;background:rgba(0,0,0,.45);pointer-events:auto}.ant-drawer-content-wrapper{position:absolute;z-index:1000;transition:all .3s}.ant-drawer-content-wrapper-hidden{display:none}.ant-drawer-left>.ant-drawer-content-wrapper{top:0;bottom:0;left:0;box-shadow:6px 0 16px -8px #00000014,9px 0 28px #0000000d,12px 0 48px 16px #00000008}.ant-drawer-right>.ant-drawer-content-wrapper{top:0;right:0;bottom:0;box-shadow:-6px 0 16px -8px #00000014,-9px 0 28px #0000000d,-12px 0 48px 16px #00000008}.ant-drawer-top>.ant-drawer-content-wrapper{top:0;right:0;left:0;box-shadow:0 6px 16px -8px #00000014,0 9px 28px #0000000d,0 12px 48px 16px #00000008}.ant-drawer-bottom>.ant-drawer-content-wrapper{right:0;bottom:0;left:0;box-shadow:0 -6px 16px -8px #00000014,0 -9px 28px #0000000d,0 -12px 48px 16px #00000008}.ant-drawer-content{width:100%;height:100%;overflow:auto;background:#fff;pointer-events:auto}.ant-drawer-wrapper-body{display:flex;flex-direction:column;width:100%;height:100%}.ant-drawer-header{display:flex;flex:0;align-items:center;padding:16px 24px;font-size:16px;line-height:22px;border-bottom:1px solid #f0f0f0}.ant-drawer-header-title{display:flex;flex:1;align-items:center;min-width:0;min-height:0}.ant-drawer-extra{flex:none}.ant-drawer-close{display:inline-block;margin-right:12px;color:#00000073;font-weight:700;font-size:16px;font-style:normal;line-height:1;text-align:center;text-transform:none;text-decoration:none;background:transparent;border:0;outline:0;cursor:pointer;transition:color .3s;text-rendering:auto}.ant-drawer-close:focus,.ant-drawer-close:hover{color:#000000bf;text-decoration:none}.ant-drawer-title{flex:1;margin:0;color:#000000d9;font-weight:500;font-size:16px;line-height:22px}.ant-drawer-body{flex:1;min-width:0;min-height:0;padding:24px;overflow:auto}.ant-drawer-footer{flex-shrink:0;padding:10px 16px;border-top:1px solid #f0f0f0}.panel-motion-enter-start,.panel-motion-appear-start,.panel-motion-leave-start{transition:none}.panel-motion-enter-active,.panel-motion-appear-active,.panel-motion-leave-active,.ant-drawer-mask-motion-enter-active,.ant-drawer-mask-motion-appear-active,.ant-drawer-mask-motion-leave-active{transition:all .3s}.ant-drawer-mask-motion-enter,.ant-drawer-mask-motion-appear{opacity:0}.ant-drawer-mask-motion-enter-active,.ant-drawer-mask-motion-appear-active,.ant-drawer-mask-motion-leave{opacity:1}.ant-drawer-mask-motion-leave-active{opacity:0}.ant-drawer-panel-motion-left-enter-start,.ant-drawer-panel-motion-left-appear-start,.ant-drawer-panel-motion-left-leave-start{transition:none}.ant-drawer-panel-motion-left-enter-active,.ant-drawer-panel-motion-left-appear-active,.ant-drawer-panel-motion-left-leave-active{transition:all .3s}.ant-drawer-panel-motion-left-enter-start,.ant-drawer-panel-motion-left-appear-start{transform:translate(-100%)!important}.ant-drawer-panel-motion-left-enter-active,.ant-drawer-panel-motion-left-appear-active,.ant-drawer-panel-motion-left-leave{transform:translate(0)}.ant-drawer-panel-motion-left-leave-active{transform:translate(-100%)}.ant-drawer-panel-motion-right-enter-start,.ant-drawer-panel-motion-right-appear-start,.ant-drawer-panel-motion-right-leave-start{transition:none}.ant-drawer-panel-motion-right-enter-active,.ant-drawer-panel-motion-right-appear-active,.ant-drawer-panel-motion-right-leave-active{transition:all .3s}.ant-drawer-panel-motion-right-enter-start,.ant-drawer-panel-motion-right-appear-start{transform:translate(100%)!important}.ant-drawer-panel-motion-right-enter-active,.ant-drawer-panel-motion-right-appear-active,.ant-drawer-panel-motion-right-leave{transform:translate(0)}.ant-drawer-panel-motion-right-leave-active{transform:translate(100%)}.ant-drawer-panel-motion-top-enter-start,.ant-drawer-panel-motion-top-appear-start,.ant-drawer-panel-motion-top-leave-start{transition:none}.ant-drawer-panel-motion-top-enter-active,.ant-drawer-panel-motion-top-appear-active,.ant-drawer-panel-motion-top-leave-active{transition:all .3s}.ant-drawer-panel-motion-top-enter-start,.ant-drawer-panel-motion-top-appear-start{transform:translateY(-100%)!important}.ant-drawer-panel-motion-top-enter-active,.ant-drawer-panel-motion-top-appear-active,.ant-drawer-panel-motion-top-leave{transform:translateY(0)}.ant-drawer-panel-motion-top-leave-active{transform:translateY(-100%)}.ant-drawer-panel-motion-bottom-enter-start,.ant-drawer-panel-motion-bottom-appear-start,.ant-drawer-panel-motion-bottom-leave-start{transition:none}.ant-drawer-panel-motion-bottom-enter-active,.ant-drawer-panel-motion-bottom-appear-active,.ant-drawer-panel-motion-bottom-leave-active{transition:all .3s}.ant-drawer-panel-motion-bottom-enter-start,.ant-drawer-panel-motion-bottom-appear-start{transform:translateY(100%)!important}.ant-drawer-panel-motion-bottom-enter-active,.ant-drawer-panel-motion-bottom-appear-active,.ant-drawer-panel-motion-bottom-leave{transform:translateY(0)}.ant-drawer-panel-motion-bottom-leave-active{transform:translateY(100%)}.ant-drawer-rtl{direction:rtl}.ant-drawer-rtl .ant-drawer-close{margin-right:0;margin-left:12px}.ant-pro-form-light-filter{line-height:30px}.ant-pro-form-light-filter:before{display:block;height:0;visibility:hidden;content:"."}.ant-pro-form-light-filter-small{line-height:1.5715}.ant-pro-form-light-filter-container{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:-8px;margin-right:-4px}.ant-pro-form-light-filter-item{margin-top:8px;white-space:nowrap}.ant-pro-form-light-filter-item:not(:last-child){margin-right:8px}.ant-pro-form-light-filter-formlabel{margin-bottom:2px}.ant-pro-form-light-filter-line{min-width:198px}.ant-pro-form-light-filter-line .ant-form-item{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin-bottom:0}.ant-pro-form-light-filter-line:not(:first-child){margin-top:16px;margin-bottom:8px}.ant-pro-form-light-filter .ant-form-item{margin-bottom:0}.ant-pro-form-light-filter-collapse-icon{width:32px;height:32px;line-height:35px;border-radius:50%}.ant-pro-form-light-filter-effective .ant-pro-form-light-filter-collapse-icon{background-color:#0000000a}.ant-modal{box-sizing:border-box;padding:0 0 24px;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum","tnum";pointer-events:none;position:relative;top:100px;width:auto;max-width:calc(100vw - 32px);margin:0 auto}.ant-modal.ant-zoom-enter,.ant-modal.ant-zoom-appear{transform:none;opacity:0;animation-duration:.3s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ant-modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;height:100%;background-color:#00000073}.ant-modal-mask-hidden{display:none}.ant-modal-wrap{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;outline:0;z-index:1000}.ant-modal-title{margin:0;color:#000000d9;font-weight:500;font-size:16px;line-height:22px;word-wrap:break-word}.ant-modal-content{position:relative;background-color:#fff;background-clip:padding-box;border:0;border-radius:2px;box-shadow:0 3px 6px -4px #0000001f,0 6px 16px #00000014,0 9px 28px 8px #0000000d;pointer-events:auto}.ant-modal-close{position:absolute;top:0;right:0;z-index:10;padding:0;color:#00000073;font-weight:700;line-height:1;text-decoration:none;background:transparent;border:0;outline:0;cursor:pointer;transition:color .3s}.ant-modal-close-x{display:block;width:54px;height:54px;font-size:16px;font-style:normal;line-height:54px;text-align:center;text-transform:none;text-rendering:auto}.ant-modal-close:focus,.ant-modal-close:hover{color:#000000bf;text-decoration:none}.ant-modal-header{padding:16px 24px;color:#000000d9;background:#fff;border-bottom:1px solid #f0f0f0;border-radius:2px 2px 0 0}.ant-modal-body{padding:24px;font-size:14px;line-height:1.5715;word-wrap:break-word}.ant-modal-footer{padding:10px 16px;text-align:right;background:transparent;border-top:1px solid #f0f0f0;border-radius:0 0 2px 2px}.ant-modal-footer .ant-btn+.ant-btn:not(.ant-dropdown-trigger){margin-bottom:0;margin-left:8px}.ant-modal-open{overflow:hidden}.ant-modal-centered{text-align:center}.ant-modal-centered:before{display:inline-block;width:0;height:100%;vertical-align:middle;content:""}.ant-modal-centered .ant-modal{top:0;display:inline-block;padding-bottom:0;text-align:left;vertical-align:middle}@media (max-width: 767px){.ant-modal{max-width:calc(100vw - 16px);margin:8px auto}.ant-modal-centered .ant-modal{flex:1}}.ant-modal-confirm .ant-modal-header{display:none}.ant-modal-confirm .ant-modal-body{padding:32px 32px 24px}.ant-modal-confirm-body-wrapper:before{display:table;content:""}.ant-modal-confirm-body-wrapper:after{display:table;clear:both;content:""}.ant-modal-confirm-body .ant-modal-confirm-title{display:block;overflow:hidden;color:#000000d9;font-weight:500;font-size:16px;line-height:1.4}.ant-modal-confirm-body .ant-modal-confirm-content{margin-top:8px;color:#000000d9;font-size:14px}.ant-modal-confirm-body>.anticon{float:left;margin-right:16px;font-size:22px}.ant-modal-confirm-body>.anticon+.ant-modal-confirm-title+.ant-modal-confirm-content{margin-left:38px}.ant-modal-confirm .ant-modal-confirm-btns{margin-top:24px;text-align:right}.ant-modal-confirm .ant-modal-confirm-btns .ant-btn+.ant-btn{margin-bottom:0;margin-left:8px}.ant-modal-confirm-error .ant-modal-confirm-body>.anticon{color:#ff4d4f}.ant-modal-confirm-warning .ant-modal-confirm-body>.anticon,.ant-modal-confirm-confirm .ant-modal-confirm-body>.anticon{color:#faad14}.ant-modal-confirm-info .ant-modal-confirm-body>.anticon{color:#1890ff}.ant-modal-confirm-success .ant-modal-confirm-body>.anticon{color:#52c41a}.ant-modal-confirm .ant-zoom-leave .ant-modal-confirm-btns{pointer-events:none}.ant-modal-wrap-rtl{direction:rtl}.ant-modal-wrap-rtl .ant-modal-close{right:initial;left:0}.ant-modal-wrap-rtl .ant-modal-footer{text-align:left}.ant-modal-wrap-rtl .ant-modal-footer .ant-btn+.ant-btn{margin-right:8px;margin-left:0}.ant-modal-wrap-rtl .ant-modal-confirm-body{direction:rtl}.ant-modal-wrap-rtl .ant-modal-confirm-body>.anticon{float:right;margin-right:0;margin-left:16px}.ant-modal-wrap-rtl .ant-modal-confirm-body>.anticon+.ant-modal-confirm-title+.ant-modal-confirm-content{margin-right:38px;margin-left:0}.ant-modal-wrap-rtl .ant-modal-confirm-btns{text-align:left}.ant-modal-wrap-rtl .ant-modal-confirm-btns .ant-btn+.ant-btn{margin-right:8px;margin-left:0}.ant-modal-wrap-rtl.ant-modal-centered .ant-modal{text-align:right}.ant-divider{box-sizing:border-box;margin:0;padding:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum","tnum";border-top:1px solid rgba(0,0,0,.06)}.ant-divider-vertical{position:relative;top:-.06em;display:inline-block;height:.9em;margin:0 8px;vertical-align:middle;border-top:0;border-left:1px solid rgba(0,0,0,.06)}.ant-divider-horizontal{display:flex;clear:both;width:100%;min-width:100%;margin:24px 0}.ant-divider-horizontal.ant-divider-with-text{display:flex;align-items:center;margin:16px 0;color:#000000d9;font-weight:500;font-size:16px;white-space:nowrap;text-align:center;border-top:0;border-top-color:#0000000f}.ant-divider-horizontal.ant-divider-with-text:before,.ant-divider-horizontal.ant-divider-with-text:after{position:relative;width:50%;border-top:1px solid transparent;border-top-color:inherit;border-bottom:0;transform:translateY(50%);content:""}.ant-divider-horizontal.ant-divider-with-text-left:before{width:5%}.ant-divider-horizontal.ant-divider-with-text-left:after{width:95%}.ant-divider-horizontal.ant-divider-with-text-right:before{width:95%}.ant-divider-horizontal.ant-divider-with-text-right:after{width:5%}.ant-divider-inner-text{display:inline-block;padding:0 1em}.ant-divider-dashed{background:none;border-color:#0000000f;border-style:dashed;border-width:1px 0 0}.ant-divider-horizontal.ant-divider-with-text.ant-divider-dashed:before,.ant-divider-horizontal.ant-divider-with-text.ant-divider-dashed:after{border-style:dashed none none}.ant-divider-vertical.ant-divider-dashed{border-width:0 0 0 1px}.ant-divider-plain.ant-divider-with-text{color:#000000d9;font-weight:400;font-size:14px}.ant-divider-horizontal.ant-divider-with-text-left.ant-divider-no-default-orientation-margin-left:before{width:0}.ant-divider-horizontal.ant-divider-with-text-left.ant-divider-no-default-orientation-margin-left:after{width:100%}.ant-divider-horizontal.ant-divider-with-text-left.ant-divider-no-default-orientation-margin-left .ant-divider-inner-text{padding-left:0}.ant-divider-horizontal.ant-divider-with-text-right.ant-divider-no-default-orientation-margin-right:before{width:100%}.ant-divider-horizontal.ant-divider-with-text-right.ant-divider-no-default-orientation-margin-right:after{width:0}.ant-divider-horizontal.ant-divider-with-text-right.ant-divider-no-default-orientation-margin-right .ant-divider-inner-text{padding-right:0}.ant-divider-rtl{direction:rtl}.ant-divider-rtl.ant-divider-horizontal.ant-divider-with-text-left:before{width:95%}.ant-divider-rtl.ant-divider-horizontal.ant-divider-with-text-left:after{width:5%}.ant-divider-rtl.ant-divider-horizontal.ant-divider-with-text-right:before{width:5%}.ant-divider-rtl.ant-divider-horizontal.ant-divider-with-text-right:after{width:95%}.ant-steps{box-sizing:border-box;margin:0;padding:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum","tnum";display:flex;width:100%;font-size:0;text-align:initial}.ant-steps-item{position:relative;display:inline-block;flex:1;overflow:hidden;vertical-align:top}.ant-steps-item-container{outline:none}.ant-steps-item:last-child{flex:none}.ant-steps-item:last-child>.ant-steps-item-container>.ant-steps-item-tail,.ant-steps-item:last-child>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title:after{display:none}.ant-steps-item-icon,.ant-steps-item-content{display:inline-block;vertical-align:top}.ant-steps-item-icon{width:32px;height:32px;margin:0 8px 0 0;font-size:16px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:32px;text-align:center;border:1px solid rgba(0,0,0,.25);border-radius:32px;transition:background-color .3s,border-color .3s}.ant-steps-item-icon .ant-steps-icon{position:relative;top:-.5px;color:#1890ff;line-height:1}.ant-steps-item-tail{position:absolute;top:12px;left:0;width:100%;padding:0 10px}.ant-steps-item-tail:after{display:inline-block;width:100%;height:1px;background:#f0f0f0;border-radius:1px;transition:background .3s;content:""}.ant-steps-item-title{position:relative;display:inline-block;padding-right:16px;color:#000000d9;font-size:16px;line-height:32px}.ant-steps-item-title:after{position:absolute;top:16px;left:100%;display:block;width:9999px;height:1px;background:#f0f0f0;content:""}.ant-steps-item-subtitle{display:inline;margin-left:8px;color:#00000073;font-weight:400;font-size:14px}.ant-steps-item-description{color:#00000073;font-size:14px}.ant-steps-item-wait .ant-steps-item-icon{background-color:#fff;border-color:#00000040}.ant-steps-item-wait .ant-steps-item-icon>.ant-steps-icon{color:#00000040}.ant-steps-item-wait .ant-steps-item-icon>.ant-steps-icon .ant-steps-icon-dot{background:rgba(0,0,0,.25)}.ant-steps-item-wait>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title{color:#00000073}.ant-steps-item-wait>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title:after{background-color:#f0f0f0}.ant-steps-item-wait>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-description{color:#00000073}.ant-steps-item-wait>.ant-steps-item-container>.ant-steps-item-tail:after{background-color:#f0f0f0}.ant-steps-item-process .ant-steps-item-icon{background-color:#fff;border-color:#1890ff}.ant-steps-item-process .ant-steps-item-icon>.ant-steps-icon{color:#1890ff}.ant-steps-item-process .ant-steps-item-icon>.ant-steps-icon .ant-steps-icon-dot{background:#1890ff}.ant-steps-item-process>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title{color:#000000d9}.ant-steps-item-process>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title:after{background-color:#f0f0f0}.ant-steps-item-process>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-description{color:#000000d9}.ant-steps-item-process>.ant-steps-item-container>.ant-steps-item-tail:after{background-color:#f0f0f0}.ant-steps-item-process>.ant-steps-item-container>.ant-steps-item-icon{background:#1890ff}.ant-steps-item-process>.ant-steps-item-container>.ant-steps-item-icon .ant-steps-icon{color:#fff}.ant-steps-item-process>.ant-steps-item-container>.ant-steps-item-title{font-weight:500}.ant-steps-item-finish .ant-steps-item-icon{background-color:#fff;border-color:#1890ff}.ant-steps-item-finish .ant-steps-item-icon>.ant-steps-icon{color:#1890ff}.ant-steps-item-finish .ant-steps-item-icon>.ant-steps-icon .ant-steps-icon-dot{background:#1890ff}.ant-steps-item-finish>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title{color:#000000d9}.ant-steps-item-finish>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title:after{background-color:#1890ff}.ant-steps-item-finish>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-description{color:#00000073}.ant-steps-item-finish>.ant-steps-item-container>.ant-steps-item-tail:after{background-color:#1890ff}.ant-steps-item-error .ant-steps-item-icon{background-color:#fff;border-color:#ff4d4f}.ant-steps-item-error .ant-steps-item-icon>.ant-steps-icon{color:#ff4d4f}.ant-steps-item-error .ant-steps-item-icon>.ant-steps-icon .ant-steps-icon-dot{background:#ff4d4f}.ant-steps-item-error>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title{color:#ff4d4f}.ant-steps-item-error>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title:after{background-color:#f0f0f0}.ant-steps-item-error>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-description{color:#ff4d4f}.ant-steps-item-error>.ant-steps-item-container>.ant-steps-item-tail:after{background-color:#f0f0f0}.ant-steps-item.ant-steps-next-error .ant-steps-item-title:after{background:#ff4d4f}.ant-steps-item-disabled{cursor:not-allowed}.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role=button]{cursor:pointer}.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role=button] .ant-steps-item-title,.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role=button] .ant-steps-item-subtitle,.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role=button] .ant-steps-item-description,.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role=button] .ant-steps-item-icon .ant-steps-icon{transition:color .3s}.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role=button]:hover .ant-steps-item-title,.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role=button]:hover .ant-steps-item-subtitle,.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role=button]:hover .ant-steps-item-description{color:#1890ff}.ant-steps .ant-steps-item:not(.ant-steps-item-active):not(.ant-steps-item-process)>.ant-steps-item-container[role=button]:hover .ant-steps-item-icon{border-color:#1890ff}.ant-steps .ant-steps-item:not(.ant-steps-item-active):not(.ant-steps-item-process)>.ant-steps-item-container[role=button]:hover .ant-steps-item-icon .ant-steps-icon{color:#1890ff}.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item{padding-left:16px;white-space:nowrap}.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:first-child{padding-left:0}.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:last-child .ant-steps-item-title{padding-right:0}.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item-tail{display:none}.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item-description{max-width:140px;white-space:normal}.ant-steps-item-custom>.ant-steps-item-container>.ant-steps-item-icon{height:auto;background:none;border:0}.ant-steps-item-custom>.ant-steps-item-container>.ant-steps-item-icon>.ant-steps-icon{top:0;left:.5px;width:32px;height:32px;font-size:24px;line-height:32px}.ant-steps-item-custom.ant-steps-item-process .ant-steps-item-icon>.ant-steps-icon{color:#1890ff}.ant-steps:not(.ant-steps-vertical) .ant-steps-item-custom .ant-steps-item-icon{width:auto;background:none}.ant-steps-small.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item{padding-left:12px}.ant-steps-small.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:first-child{padding-left:0}.ant-steps-small .ant-steps-item-icon{width:24px;height:24px;margin:0 8px 0 0;font-size:12px;line-height:24px;text-align:center;border-radius:24px}.ant-steps-small .ant-steps-item-title{padding-right:12px;font-size:14px;line-height:24px}.ant-steps-small .ant-steps-item-title:after{top:12px}.ant-steps-small .ant-steps-item-description{color:#00000073;font-size:14px}.ant-steps-small .ant-steps-item-tail{top:8px}.ant-steps-small .ant-steps-item-custom .ant-steps-item-icon{width:inherit;height:inherit;line-height:inherit;background:none;border:0;border-radius:0}.ant-steps-small .ant-steps-item-custom .ant-steps-item-icon>.ant-steps-icon{font-size:24px;line-height:24px;transform:none}.ant-steps-vertical{display:flex;flex-direction:column}.ant-steps-vertical>.ant-steps-item{display:block;flex:1 0 auto;padding-left:0;overflow:visible}.ant-steps-vertical>.ant-steps-item .ant-steps-item-icon{float:left;margin-right:16px}.ant-steps-vertical>.ant-steps-item .ant-steps-item-content{display:block;min-height:48px;overflow:hidden}.ant-steps-vertical>.ant-steps-item .ant-steps-item-title{line-height:32px}.ant-steps-vertical>.ant-steps-item .ant-steps-item-description{padding-bottom:12px}.ant-steps-vertical>.ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail{position:absolute;top:0;left:15px;width:1px;height:100%;padding:38px 0 6px}.ant-steps-vertical>.ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail:after{width:1px;height:100%}.ant-steps-vertical>.ant-steps-item:not(:last-child)>.ant-steps-item-container>.ant-steps-item-tail{display:block}.ant-steps-vertical>.ant-steps-item>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title:after{display:none}.ant-steps-vertical.ant-steps-small .ant-steps-item-container .ant-steps-item-tail{position:absolute;top:0;left:11px;padding:30px 0 6px}.ant-steps-vertical.ant-steps-small .ant-steps-item-container .ant-steps-item-title{line-height:24px}.ant-steps-label-vertical .ant-steps-item{overflow:visible}.ant-steps-label-vertical .ant-steps-item-tail{margin-left:58px;padding:3.5px 24px}.ant-steps-label-vertical .ant-steps-item-content{display:block;width:116px;margin-top:8px;text-align:center}.ant-steps-label-vertical .ant-steps-item-icon{display:inline-block;margin-left:42px}.ant-steps-label-vertical .ant-steps-item-title{padding-right:0;padding-left:0}.ant-steps-label-vertical .ant-steps-item-title:after{display:none}.ant-steps-label-vertical .ant-steps-item-subtitle{display:block;margin-bottom:4px;margin-left:0;line-height:1.5715}.ant-steps-label-vertical.ant-steps-small:not(.ant-steps-dot) .ant-steps-item-icon{margin-left:46px}.ant-steps-dot .ant-steps-item-title,.ant-steps-dot.ant-steps-small .ant-steps-item-title{line-height:1.5715}.ant-steps-dot .ant-steps-item-tail,.ant-steps-dot.ant-steps-small .ant-steps-item-tail{top:2px;width:100%;margin:0 0 0 70px;padding:0}.ant-steps-dot .ant-steps-item-tail:after,.ant-steps-dot.ant-steps-small .ant-steps-item-tail:after{width:calc(100% - 20px);height:3px;margin-left:12px}.ant-steps-dot .ant-steps-item:first-child .ant-steps-icon-dot,.ant-steps-dot.ant-steps-small .ant-steps-item:first-child .ant-steps-icon-dot{left:2px}.ant-steps-dot .ant-steps-item-icon,.ant-steps-dot.ant-steps-small .ant-steps-item-icon{width:8px;height:8px;margin-left:67px;padding-right:0;line-height:8px;background:transparent;border:0}.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot,.ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot{position:relative;float:left;width:100%;height:100%;border-radius:100px;transition:all .3s}.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot:after,.ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot:after{position:absolute;top:-12px;left:-26px;width:60px;height:32px;background:rgba(0,0,0,.001);content:""}.ant-steps-dot .ant-steps-item-content,.ant-steps-dot.ant-steps-small .ant-steps-item-content{width:140px}.ant-steps-dot .ant-steps-item-process .ant-steps-item-icon,.ant-steps-dot.ant-steps-small .ant-steps-item-process .ant-steps-item-icon{position:relative;top:-1px;width:10px;height:10px;line-height:10px;background:none}.ant-steps-dot .ant-steps-item-process .ant-steps-icon:first-child .ant-steps-icon-dot,.ant-steps-dot.ant-steps-small .ant-steps-item-process .ant-steps-icon:first-child .ant-steps-icon-dot{left:0}.ant-steps-vertical.ant-steps-dot .ant-steps-item-icon{margin-top:13px;margin-left:0;background:none}.ant-steps-vertical.ant-steps-dot .ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail{top:6.5px;left:-9px;margin:0;padding:22px 0 4px}.ant-steps-vertical.ant-steps-dot.ant-steps-small .ant-steps-item-icon{margin-top:10px}.ant-steps-vertical.ant-steps-dot.ant-steps-small .ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail{top:3.5px}.ant-steps-vertical.ant-steps-dot .ant-steps-item:first-child .ant-steps-icon-dot{left:0}.ant-steps-vertical.ant-steps-dot .ant-steps-item-content{width:inherit}.ant-steps-vertical.ant-steps-dot .ant-steps-item-process .ant-steps-item-container .ant-steps-item-icon .ant-steps-icon-dot{top:-1px;left:-1px}.ant-steps-navigation{padding-top:12px}.ant-steps-navigation.ant-steps-small .ant-steps-item-container{margin-left:-12px}.ant-steps-navigation .ant-steps-item{overflow:visible;text-align:center}.ant-steps-navigation .ant-steps-item-container{display:inline-block;height:100%;margin-left:-16px;padding-bottom:12px;text-align:left;transition:opacity .3s}.ant-steps-navigation .ant-steps-item-container .ant-steps-item-content{max-width:auto}.ant-steps-navigation .ant-steps-item-container .ant-steps-item-title{max-width:100%;padding-right:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ant-steps-navigation .ant-steps-item-container .ant-steps-item-title:after{display:none}.ant-steps-navigation .ant-steps-item:not(.ant-steps-item-active) .ant-steps-item-container[role=button]{cursor:pointer}.ant-steps-navigation .ant-steps-item:not(.ant-steps-item-active) .ant-steps-item-container[role=button]:hover{opacity:.85}.ant-steps-navigation .ant-steps-item:last-child{flex:1}.ant-steps-navigation .ant-steps-item:last-child:after{display:none}.ant-steps-navigation .ant-steps-item:after{position:absolute;top:50%;left:100%;display:inline-block;width:12px;height:12px;margin-top:-14px;margin-left:-2px;border:1px solid rgba(0,0,0,.25);border-bottom:none;border-left:none;transform:rotate(45deg);content:""}.ant-steps-navigation .ant-steps-item:before{position:absolute;bottom:0;left:50%;display:inline-block;width:0;height:2px;background-color:#1890ff;transition:width .3s,left .3s;transition-timing-function:ease-out;content:""}.ant-steps-navigation .ant-steps-item.ant-steps-item-active:before{left:0;width:100%}.ant-steps-navigation.ant-steps-vertical>.ant-steps-item{margin-right:0!important}.ant-steps-navigation.ant-steps-vertical>.ant-steps-item:before{display:none}.ant-steps-navigation.ant-steps-vertical>.ant-steps-item.ant-steps-item-active:before{top:0;right:0;left:unset;display:block;width:3px;height:calc(100% - 24px)}.ant-steps-navigation.ant-steps-vertical>.ant-steps-item:after{position:relative;top:-2px;left:50%;display:block;width:8px;height:8px;margin-bottom:8px;text-align:center;transform:rotate(135deg)}.ant-steps-navigation.ant-steps-vertical>.ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail{visibility:hidden}.ant-steps-navigation.ant-steps-horizontal>.ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail{visibility:hidden}.ant-steps-rtl{direction:rtl}.ant-steps.ant-steps-rtl .ant-steps-item-icon{margin-right:0;margin-left:8px}.ant-steps-rtl .ant-steps-item-tail{right:0;left:auto}.ant-steps-rtl .ant-steps-item-title{padding-right:0;padding-left:16px}.ant-steps-rtl .ant-steps-item-title .ant-steps-item-subtitle{float:left;margin-right:8px;margin-left:0}.ant-steps-rtl .ant-steps-item-title:after{right:100%;left:auto}.ant-steps-rtl.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item{padding-right:16px;padding-left:0}.ant-steps-rtl.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:first-child{padding-right:0}.ant-steps-rtl.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:last-child .ant-steps-item-title{padding-left:0}.ant-steps-rtl .ant-steps-item-custom .ant-steps-item-icon>.ant-steps-icon{right:.5px;left:auto}.ant-steps-rtl.ant-steps-navigation.ant-steps-small .ant-steps-item-container{margin-right:-12px;margin-left:0}.ant-steps-rtl.ant-steps-navigation .ant-steps-item-container{margin-right:-16px;margin-left:0;text-align:right}.ant-steps-rtl.ant-steps-navigation .ant-steps-item-container .ant-steps-item-title{padding-left:0}.ant-steps-rtl.ant-steps-navigation .ant-steps-item:after{right:100%;left:auto;margin-right:-2px;margin-left:0;transform:rotate(225deg)}.ant-steps-rtl.ant-steps-small.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item{padding-right:12px;padding-left:0}.ant-steps-rtl.ant-steps-small.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:first-child{padding-right:0}.ant-steps-rtl.ant-steps-small .ant-steps-item-title{padding-right:0;padding-left:12px}.ant-steps-rtl.ant-steps-vertical>.ant-steps-item .ant-steps-item-icon{float:right;margin-right:0;margin-left:16px}.ant-steps-rtl.ant-steps-vertical>.ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail{right:16px;left:auto}.ant-steps-rtl.ant-steps-vertical.ant-steps-small .ant-steps-item-container .ant-steps-item-tail{right:12px;left:auto}.ant-steps-rtl.ant-steps-label-vertical .ant-steps-item-title{padding-left:0}.ant-steps-rtl.ant-steps-dot .ant-steps-item-tail,.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item-tail{margin:0 70px 0 0}.ant-steps-rtl.ant-steps-dot .ant-steps-item-tail:after,.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item-tail:after{margin-right:12px;margin-left:0}.ant-steps-rtl.ant-steps-dot .ant-steps-item:first-child .ant-steps-icon-dot,.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item:first-child .ant-steps-icon-dot{right:2px;left:auto}.ant-steps-rtl.ant-steps-dot .ant-steps-item-icon,.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item-icon{margin-right:67px;margin-left:0}.ant-steps-rtl.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot,.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot{float:right}.ant-steps-rtl.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot:after,.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot:after{right:-26px;left:auto}.ant-steps-rtl.ant-steps-vertical.ant-steps-dot .ant-steps-item-icon{margin-right:0;margin-left:16px}.ant-steps-rtl.ant-steps-vertical.ant-steps-dot .ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail{right:-9px;left:auto}.ant-steps-rtl.ant-steps-vertical.ant-steps-dot .ant-steps-item:first-child .ant-steps-icon-dot{right:0;left:auto}.ant-steps-rtl.ant-steps-vertical.ant-steps-dot .ant-steps-item-process .ant-steps-icon-dot{right:-2px;left:auto}.ant-steps-rtl.ant-steps-with-progress.ant-steps-vertical>.ant-steps-item{padding-right:4px}.ant-steps-rtl.ant-steps-with-progress.ant-steps-vertical>.ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail{right:19px}.ant-steps-rtl.ant-steps-with-progress.ant-steps-small.ant-steps-vertical>.ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail{right:15px}.ant-steps-rtl.ant-steps-with-progress.ant-steps-horizontal.ant-steps-label-horizontal .ant-steps-item:first-child{padding-right:4px;padding-left:0}.ant-steps-rtl.ant-steps-with-progress.ant-steps-horizontal.ant-steps-label-horizontal .ant-steps-item:first-child.ant-steps-item-active{padding-right:4px}.ant-steps-with-progress .ant-steps-item{padding-top:4px}.ant-steps-with-progress .ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail{top:4px;left:19px}.ant-steps-with-progress.ant-steps-horizontal .ant-steps-item:first-child,.ant-steps-with-progress.ant-steps-small.ant-steps-horizontal .ant-steps-item:first-child{padding-bottom:4px;padding-left:4px}.ant-steps-with-progress.ant-steps-small>.ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail{left:15px}.ant-steps-with-progress.ant-steps-vertical .ant-steps-item{padding-left:4px}.ant-steps-with-progress.ant-steps-label-vertical .ant-steps-item .ant-steps-item-tail{top:14px!important}.ant-steps-with-progress .ant-steps-item-icon{position:relative}.ant-steps-with-progress .ant-steps-item-icon .ant-progress{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px}.ant-pro-steps-form-container{width:-webkit-max-content;width:-moz-max-content;width:max-content;min-width:520px;max-width:100%;margin:auto}.ant-pro-steps-form-steps-container{max-width:1160px;margin:auto}.ant-pro-steps-form-steps-container .ant-steps-vertical{height:100%}.ant-pro-steps-form-step{display:none;margin-top:32px}.ant-pro-steps-form-step-active{display:block}.ant-pro-steps-form-step>form{max-width:100%}.ant-pro-field-light-wrapper-collapse-label{padding:1}.ant-pro-field-light-wrapper-container .ant-form-item{margin-bottom:0}.ant-alert{box-sizing:border-box;margin:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum","tnum";position:relative;display:flex;align-items:center;padding:8px 15px;word-wrap:break-word;border-radius:2px}.ant-alert-content{flex:1;min-width:0}.ant-alert-icon{margin-right:8px}.ant-alert-description{display:none;font-size:14px;line-height:22px}.ant-alert-success{background-color:#f6ffed;border:1px solid #b7eb8f}.ant-alert-success .ant-alert-icon{color:#52c41a}.ant-alert-info{background-color:#e6f7ff;border:1px solid #91d5ff}.ant-alert-info .ant-alert-icon{color:#1890ff}.ant-alert-warning{background-color:#fffbe6;border:1px solid #ffe58f}.ant-alert-warning .ant-alert-icon{color:#faad14}.ant-alert-error{background-color:#fff2f0;border:1px solid #ffccc7}.ant-alert-error .ant-alert-icon{color:#ff4d4f}.ant-alert-error .ant-alert-description>pre{margin:0;padding:0}.ant-alert-action{margin-left:8px}.ant-alert-close-icon{margin-left:8px;padding:0;overflow:hidden;font-size:12px;line-height:12px;background-color:transparent;border:none;outline:none;cursor:pointer}.ant-alert-close-icon .anticon-close{color:#00000073;transition:color .3s}.ant-alert-close-icon .anticon-close:hover{color:#000000bf}.ant-alert-close-text{color:#00000073;transition:color .3s}.ant-alert-close-text:hover{color:#000000bf}.ant-alert-with-description{align-items:flex-start;padding:15px 15px 15px 24px}.ant-alert-with-description.ant-alert-no-icon{padding:15px}.ant-alert-with-description .ant-alert-icon{margin-right:15px;font-size:24px}.ant-alert-with-description .ant-alert-message{display:block;margin-bottom:4px;color:#000000d9;font-size:16px}.ant-alert-message{color:#000000d9}.ant-alert-with-description .ant-alert-description{display:block}.ant-alert.ant-alert-motion-leave{overflow:hidden;opacity:1;transition:max-height .3s cubic-bezier(.78,.14,.15,.86),opacity .3s cubic-bezier(.78,.14,.15,.86),padding-top .3s cubic-bezier(.78,.14,.15,.86),padding-bottom .3s cubic-bezier(.78,.14,.15,.86),margin-bottom .3s cubic-bezier(.78,.14,.15,.86)}.ant-alert.ant-alert-motion-leave-active{max-height:0;margin-bottom:0!important;padding-top:0;padding-bottom:0;opacity:0}.ant-alert-banner{margin-bottom:0;border:0;border-radius:0}.ant-alert.ant-alert-rtl{direction:rtl}.ant-alert-rtl .ant-alert-icon{margin-right:auto;margin-left:8px}.ant-alert-rtl .ant-alert-action,.ant-alert-rtl .ant-alert-close-icon{margin-right:8px;margin-left:auto}.ant-alert-rtl.ant-alert-with-description{padding-right:24px;padding-left:15px}.ant-alert-rtl.ant-alert-with-description .ant-alert-icon{margin-right:auto;margin-left:15px}.ant-pro-table-alert{margin-bottom:16px}.ant-pro-table-alert .ant-alert.ant-alert-no-icon{padding:12px 24px}.ant-pro-table-alert-info{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transition:all .3s;transition:all .3s}.ant-pro-table-alert-info-content{-webkit-box-flex:1;-ms-flex:1;flex:1}.ant-pro-table-alert-info-option{min-width:48px;padding-left:16px}.ant-pro-table .ant-pro-table-search{margin-bottom:16px;padding:24px 24px 0;background:#fff}.ant-pro-table .ant-pro-table-search-ghost{background:transparent}.ant-pro-table .ant-pro-table-search:before{display:table;content:""}.ant-pro-table .ant-pro-table-search:after{display:table;clear:both;content:""}.ant-pro-table .ant-pro-table-search.ant-pro-table-form{margin:0;padding:0 16px;overflow:unset}.ant-pro-table .ant-pro-table-search-light{margin-bottom:0;padding:16px 0}.ant-pro-table .ant-pro-table-search-form-option .ant-form-item{margin:0}.ant-pro-table .ant-pro-table-search-form-option .ant-form-item-label{opacity:0}.ant-pro-table .ant-pro-table-search-form-option .ant-form-item-control-input{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}@media (max-width: 575px){.ant-pro-table .ant-pro-table-search{height:auto!important;padding-bottom:24px}.ant-pro-table .ant-pro-table-search .ant-form-item-label{min-width:80px;text-align:left}}.ant-pro-table-column-setting{width:auto}.ant-pro-table-column-setting-title{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;height:32px}.ant-pro-table-column-setting-overlay .ant-popover-inner-content{width:200px;padding:0 0 8px}.ant-pro-table-column-setting-overlay .ant-tree-node-content-wrapper:hover{background-color:transparent}.ant-pro-table-column-setting-overlay .ant-tree-draggable-icon{cursor:-webkit-grab;cursor:grab}.ant-pro-table-column-setting-overlay .ant-tree-treenode{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.ant-pro-table-column-setting-overlay .ant-tree-treenode:hover{background-color:#e6f7ff}.ant-pro-table-column-setting-overlay .ant-tree-treenode:hover .ant-pro-table-column-setting-list-item-option{display:block}.ant-pro-table-column-setting-overlay .ant-tree-treenode .ant-tree-checkbox{top:0;margin:0 4px 0 0}.ant-pro-table-column-setting-list{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;width:100%;padding-top:8px}.ant-pro-table-column-setting-list.ant-pro-table-column-setting-list-group{padding-top:0}.ant-pro-table-column-setting-list-title{margin-top:6px;margin-bottom:6px;padding-left:24px;color:#00000073;font-size:12px}.ant-pro-table-column-setting-list-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.ant-pro-table-column-setting-list-item-title{-webkit-box-flex:1;-ms-flex:1;flex:1}.ant-pro-table-column-setting-list-item-option{display:none;float:right;cursor:pointer}.ant-pro-table-column-setting-list-item-option>span>span.anticon{color:#1890ff}.ant-pro-table-column-setting-list-item-option>span+span{margin-left:8px}.ant-pro-table-list-toolbar{line-height:1}.ant-pro-table-list-toolbar-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:16px 0}.ant-pro-table-list-toolbar-container-mobile{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.ant-pro-table-list-toolbar-title{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;color:#000000d9;font-weight:500;font-size:16px}.ant-pro-table-list-toolbar-search:not(:last-child){display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.ant-pro-table-list-toolbar-setting-item{margin:0 4px;color:#000000bf;font-size:16px;cursor:pointer}.ant-pro-table-list-toolbar-setting-item>span{display:block;width:100%;height:100%}.ant-pro-table-list-toolbar-setting-item:hover{color:#40a9ff}.ant-pro-table-list-toolbar-left{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.ant-pro-table-list-toolbar-right{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.ant-pro-table-list-toolbar-extra-line{margin-bottom:16px}.ant-pro-table-list-toolbar-filter{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.ant-pro-table-list-toolbar-filter:not(:last-child){margin-right:16px}.ant-pro-table-list-toolbar-filter div.ant-pro-table-search{margin:0;padding:0}.ant-pro-table-list-toolbar-inline-menu-item{display:inline-block;margin-right:24px;cursor:pointer;opacity:.75}.ant-pro-table-list-toolbar-inline-menu-item-active{font-weight:700;opacity:1}.ant-pro-table-list-toolbar-dropdownmenu-label{font-weight:700;font-size:16px;text-align:center;cursor:pointer}.ant-pro-table-list-toolbar .ant-tabs-top>.ant-tabs-nav{margin-bottom:0}.ant-pro-table-list-toolbar .ant-tabs-top>.ant-tabs-nav:before{border-bottom:0}.ant-pro-table-list-toolbar .ant-tabs-top>.ant-tabs-nav .ant-tabs-nav-list{margin-top:0}.ant-pro-table-list-toolbar .ant-tabs-top>.ant-tabs-nav .ant-tabs-nav-list .ant-tabs-tab{padding-top:0}@media (max-width: 575px){.ant-pro-table-list-toolbar-container{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.ant-pro-table-list-toolbar-left{margin-bottom:16px}}.ant-pro-table-toolbar{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;height:64px;padding:0 24px}.ant-pro-table-toolbar-option{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.ant-pro-table-toolbar-title{-webkit-box-flex:1;-ms-flex:1;flex:1;color:#000000d9;font-weight:500;font-size:16px;line-height:24px;opacity:.85}@media (max-width: 480px){.ant-pro-table .ant-table{width:100%;overflow-x:auto}.ant-pro-table .ant-table-thead>tr>th,.ant-pro-table .ant-table-tbody>tr>th,.ant-pro-table .ant-table-thead>tr>td,.ant-pro-table .ant-table-tbody>tr>td{white-space:pre}.ant-pro-table .ant-table-thead>tr>th>span,.ant-pro-table .ant-table-tbody>tr>th>span,.ant-pro-table .ant-table-thead>tr>td>span,.ant-pro-table .ant-table-tbody>tr>td>span{display:block}}@media (max-width: 575px){.ant-pro-table-toolbar{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;height:auto;margin-bottom:16px;margin-left:16px;padding:16px 8px 8px;line-height:normal}.ant-pro-table-toolbar-title{margin-bottom:16px}.ant-pro-table-toolbar-option{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;width:100%}.ant-pro-table-toolbar-default-option{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}}.pro-table-tooltip-text span{color:#fff}.ant-pro-table{z-index:1}.ant-pro-table:not(:root):-webkit-full-screen{min-height:100vh;overflow:auto;background:#fff}.ant-pro-table:not(:root):-ms-fullscreen{min-height:100vh;overflow:auto;background:#fff}.ant-pro-table:not(:root):fullscreen{min-height:100vh;overflow:auto;background:#fff}.ant-pro-table-extra{margin-bottom:16px}.ant-pro-table-polling .ant-pro-table-list-toolbar-setting-item .anticon.anticon-reload{-webkit-transform:rotate(0deg);transform:rotate(0);-webkit-animation:turn 1s linear infinite;animation:turn 1s linear infinite}.ant-pro-table td.ant-table-cell>a{font-size:14px}.ant-pro-table .ant-table .ant-table-tbody .ant-table-wrapper:only-child .ant-table{margin:0}.ant-pro-table .ant-table.ant-table-middle .ant-pro-table{margin:-12px -8px}@-webkit-keyframes turn{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}25%{-webkit-transform:rotate(90deg);transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes turn{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}25%{-webkit-transform:rotate(90deg);transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}} diff --git a/dist/assets/Table-b0ff5a39.js b/dist/assets/Table-b0ff5a39.js new file mode 100644 index 0000000000000000000000000000000000000000..517449332fa3713c374b3e10ca2ae880d5662af9 --- /dev/null +++ b/dist/assets/Table-b0ff5a39.js @@ -0,0 +1,44 @@ +import{A as Nt,g as p,w as Gr,a as Y,a0 as nu,C as Wt,W as Ye,c as ve,b as B,e as ga,d as Zi,a1 as Kf,a2 as tn,_ as Ke,a3 as ru,a4 as an,a5 as Cn,a6 as xn,a7 as Sn,a8 as wn,a9 as ze,aa as Vf,ab as Dp,ac as Fa,R as Qi,o as $a,ad as Ji,Q as Oa,ae as au,af as zf,ag as ou,ah as Ip,ai as is,aj as _p,ak as Lp,al as Ap,am as jp,an as Wn,ao as Kp,ap as Xu,aq as iu,ar as Bf,as as Hf,at as ea,au as Wf,av as lu,aw as Uf,ax as sr,ay as el,az as Yf,aA as ta,aB as Vp,aC as Gf,aD as qf,aE as Xf,aF as tl,aG as zp,V as Zu,aH as Zf,aI as Bp,aJ as Hp,aK as Wp,aL as yt,aM as Up,aN as pn,aO as xt,aP as Ve,aQ as yn,m as Ll,aR as su,aS as Mr,aT as Qf,aU as Yp,aV as Jf,aW as ev,aX as Gp,aY as tv,aZ as nv,a_ as qp,a$ as Xp}from"./_setToString-b6377390.js";import{r as i,_ as J,n as $t,R as Q,g as Da,j as S,c as ci,d as rv}from"./umi-5db3d28e.js";import{f as av,j as Qu,r as Zp,k as kr,_ as ko,l as Qp,K as Be,m as ov,u as Rt,p as Jp,s as Ju,t as e0,v as t0,w as n0,x as r0,y as a0,z as ir,A as o0,F as nl,B as rl,G as iv,J as al,N as uu,O as No,U as i0,a as rr,V as l0,W as lv,T as on,X as Pr,Y as ec,Z as tc,$ as cu,a0 as s0,I as Nn,a1 as sv,D as Mo,g as nc,C as ya,a2 as u0,a3 as c0,a4 as d0,E as f0,P as v0,S as Xt,a5 as m0,R as Un,e as Zt,a6 as h0,M as p0}from"./index-bd0091fe.js";import{a as uv,g as ol,h as cv,B as dv,i as du,j as fv,T as g0,S as Tr,C as vv,P as mv,s as fu,L as y0,e as lo,k as yo,w as b0,F as Ht,I as qr,f as C0,c as x0,D as S0,b as hv,A as w0,d as pv,R as E0}from"./useDebounce-66fbf1ca.js";import{t as Mn,u as il,B as An}from"./button-4b0c0e6b.js";import{S as Nr,a as P0,d as R0}from"./index-bf5201f2.js";var k0={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V460h656v380zM184 392V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v136H184z"}}]},name:"calendar",theme:"outlined"};const N0=k0;var M0=function(t,r){return i.createElement(Nt,p(p({},t),{},{ref:r,icon:N0}))},T0=i.forwardRef(M0);const gv=T0;var F0={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z"}}]},name:"caret-down",theme:"filled"};const $0=F0;var O0=function(t,r){return i.createElement(Nt,p(p({},t),{},{ref:r,icon:$0}))},D0=i.forwardRef(O0);const I0=D0;var _0={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z"}}]},name:"caret-down",theme:"outlined"};const L0=_0;var A0=function(t,r){return i.createElement(Nt,p(p({},t),{},{ref:r,icon:L0}))},j0=i.forwardRef(A0);const K0=j0;var V0={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M858.9 689L530.5 308.2c-9.4-10.9-27.5-10.9-37 0L165.1 689c-12.2 14.2-1.2 35 18.5 35h656.8c19.7 0 30.7-20.8 18.5-35z"}}]},name:"caret-up",theme:"outlined"};const z0=V0;var B0=function(t,r){return i.createElement(Nt,p(p({},t),{},{ref:r,icon:z0}))},H0=i.forwardRef(B0);const W0=H0;var U0={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z"}}]},name:"clock-circle",theme:"outlined"};const Y0=U0;var G0=function(t,r){return i.createElement(Nt,p(p({},t),{},{ref:r,icon:Y0}))},q0=i.forwardRef(G0);const yv=q0;var X0={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M840 836H184c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h656c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm0-724H184c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h656c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zM610.8 378c6 0 9.4-7 5.7-11.7L515.7 238.7a7.14 7.14 0 00-11.3 0L403.6 366.3a7.23 7.23 0 005.7 11.7H476v268h-62.8c-6 0-9.4 7-5.7 11.7l100.8 127.5c2.9 3.7 8.5 3.7 11.3 0l100.8-127.5c3.7-4.7.4-11.7-5.7-11.7H548V378h62.8z"}}]},name:"column-height",theme:"outlined"};const Z0=X0;var Q0=function(t,r){return i.createElement(Nt,p(p({},t),{},{ref:r,icon:Z0}))},J0=i.forwardRef(Q0);const eg=J0;var tg={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z"}}]},name:"copy",theme:"outlined"};const ng=tg;var rg=function(t,r){return i.createElement(Nt,p(p({},t),{},{ref:r,icon:ng}))},ag=i.forwardRef(rg);const vu=ag;var og={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"}}]},name:"delete",theme:"outlined"};const ig=og;var lg=function(t,r){return i.createElement(Nt,p(p({},t),{},{ref:r,icon:ig}))},sg=i.forwardRef(lg);const bv=sg;var ug={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M272.9 512l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L186.8 492.3a31.99 31.99 0 000 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H532c6.7 0 10.4-7.7 6.3-12.9L272.9 512zm304 0l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L490.8 492.3a31.99 31.99 0 000 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H836c6.7 0 10.4-7.7 6.3-12.9L576.9 512z"}}]},name:"double-left",theme:"outlined"};const cg=ug;var dg=function(t,r){return i.createElement(Nt,p(p({},t),{},{ref:r,icon:cg}))},fg=i.forwardRef(dg);const vg=fg;var mg={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M533.2 492.3L277.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H188c-6.7 0-10.4 7.7-6.3 12.9L447.1 512 181.7 851.1A7.98 7.98 0 00188 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5zm304 0L581.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H492c-6.7 0-10.4 7.7-6.3 12.9L751.1 512 485.7 851.1A7.98 7.98 0 00492 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5z"}}]},name:"double-right",theme:"outlined"};const hg=mg;var pg=function(t,r){return i.createElement(Nt,p(p({},t),{},{ref:r,icon:hg}))},gg=i.forwardRef(pg);const yg=gg;var bg={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M864 170h-60c-4.4 0-8 3.6-8 8v518H310v-73c0-6.7-7.8-10.5-13-6.3l-141.9 112a8 8 0 000 12.6l141.9 112c5.3 4.2 13 .4 13-6.3v-75h498c35.3 0 64-28.7 64-64V178c0-4.4-3.6-8-8-8z"}}]},name:"enter",theme:"outlined"};const Cg=bg;var xg=function(t,r){return i.createElement(Nt,p(p({},t),{},{ref:r,icon:Cg}))},Sg=i.forwardRef(xg);const wg=Sg;var Eg={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494z"}}]},name:"file",theme:"outlined"};const Pg=Eg;var Rg=function(t,r){return i.createElement(Nt,p(p({},t),{},{ref:r,icon:Pg}))},kg=i.forwardRef(Rg);const Cv=kg;var Ng={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M349 838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V642H349v196zm531.1-684H143.9c-24.5 0-39.8 26.7-27.5 48l221.3 376h348.8l221.3-376c12.1-21.3-3.2-48-27.7-48z"}}]},name:"filter",theme:"filled"};const Mg=Ng;var Tg=function(t,r){return i.createElement(Nt,p(p({},t),{},{ref:r,icon:Mg}))},Fg=i.forwardRef(Tg);const $g=Fg;var Og={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880.1 154H143.9c-24.5 0-39.8 26.7-27.5 48L349 597.4V838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V597.4L907.7 202c12.2-21.3-3.1-48-27.6-48zM603.4 798H420.6V642h182.9v156zm9.6-236.6l-9.5 16.6h-183l-9.5-16.6L212.7 226h598.6L613 561.4z"}}]},name:"filter",theme:"outlined"};const Dg=Og;var Ig=function(t,r){return i.createElement(Nt,p(p({},t),{},{ref:r,icon:Dg}))},_g=i.forwardRef(Ig);const Lg=_g;var Ag={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M928 444H820V330.4c0-17.7-14.3-32-32-32H473L355.7 186.2a8.15 8.15 0 00-5.5-2.2H96c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h698c13 0 24.8-7.9 29.7-20l134-332c1.5-3.8 2.3-7.9 2.3-12 0-17.7-14.3-32-32-32zM136 256h188.5l119.6 114.4H748V444H238c-13 0-24.8 7.9-29.7 20L136 643.2V256zm635.3 512H159l103.3-256h612.4L771.3 768z"}}]},name:"folder-open",theme:"outlined"};const jg=Ag;var Kg=function(t,r){return i.createElement(Nt,p(p({},t),{},{ref:r,icon:jg}))},Vg=i.forwardRef(Kg);const zg=Vg;var Bg={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 298.4H521L403.7 186.2a8.15 8.15 0 00-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z"}}]},name:"folder",theme:"outlined"};const Hg=Bg;var Wg=function(t,r){return i.createElement(Nt,p(p({},t),{},{ref:r,icon:Hg}))},Ug=i.forwardRef(Wg);const Yg=Ug;var Gg={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M391 240.9c-.8-6.6-8.9-9.4-13.6-4.7l-43.7 43.7L200 146.3a8.03 8.03 0 00-11.3 0l-42.4 42.3a8.03 8.03 0 000 11.3L280 333.6l-43.9 43.9a8.01 8.01 0 004.7 13.6L401 410c5.1.6 9.5-3.7 8.9-8.9L391 240.9zm10.1 373.2L240.8 633c-6.6.8-9.4 8.9-4.7 13.6l43.9 43.9L146.3 824a8.03 8.03 0 000 11.3l42.4 42.3c3.1 3.1 8.2 3.1 11.3 0L333.7 744l43.7 43.7A8.01 8.01 0 00391 783l18.9-160.1c.6-5.1-3.7-9.4-8.8-8.8zm221.8-204.2L783.2 391c6.6-.8 9.4-8.9 4.7-13.6L744 333.6 877.7 200c3.1-3.1 3.1-8.2 0-11.3l-42.4-42.3a8.03 8.03 0 00-11.3 0L690.3 279.9l-43.7-43.7a8.01 8.01 0 00-13.6 4.7L614.1 401c-.6 5.2 3.7 9.5 8.8 8.9zM744 690.4l43.9-43.9a8.01 8.01 0 00-4.7-13.6L623 614c-5.1-.6-9.5 3.7-8.9 8.9L633 783.1c.8 6.6 8.9 9.4 13.6 4.7l43.7-43.7L824 877.7c3.1 3.1 8.2 3.1 11.3 0l42.4-42.3c3.1-3.1 3.1-8.2 0-11.3L744 690.4z"}}]},name:"fullscreen-exit",theme:"outlined"};const qg=Gg;var Xg=function(t,r){return i.createElement(Nt,p(p({},t),{},{ref:r,icon:qg}))},Zg=i.forwardRef(Xg);const Qg=Zg;var Jg={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M290 236.4l43.9-43.9a8.01 8.01 0 00-4.7-13.6L169 160c-5.1-.6-9.5 3.7-8.9 8.9L179 329.1c.8 6.6 8.9 9.4 13.6 4.7l43.7-43.7L370 423.7c3.1 3.1 8.2 3.1 11.3 0l42.4-42.3c3.1-3.1 3.1-8.2 0-11.3L290 236.4zm352.7 187.3c3.1 3.1 8.2 3.1 11.3 0l133.7-133.6 43.7 43.7a8.01 8.01 0 0013.6-4.7L863.9 169c.6-5.1-3.7-9.5-8.9-8.9L694.8 179c-6.6.8-9.4 8.9-4.7 13.6l43.9 43.9L600.3 370a8.03 8.03 0 000 11.3l42.4 42.4zM845 694.9c-.8-6.6-8.9-9.4-13.6-4.7l-43.7 43.7L654 600.3a8.03 8.03 0 00-11.3 0l-42.4 42.3a8.03 8.03 0 000 11.3L734 787.6l-43.9 43.9a8.01 8.01 0 004.7 13.6L855 864c5.1.6 9.5-3.7 8.9-8.9L845 694.9zm-463.7-94.6a8.03 8.03 0 00-11.3 0L236.3 733.9l-43.7-43.7a8.01 8.01 0 00-13.6 4.7L160.1 855c-.6 5.1 3.7 9.5 8.9 8.9L329.2 845c6.6-.8 9.4-8.9 4.7-13.6L290 787.6 423.7 654c3.1-3.1 3.1-8.2 0-11.3l-42.4-42.4z"}}]},name:"fullscreen",theme:"outlined"};const e1=Jg;var t1=function(t,r){return i.createElement(Nt,p(p({},t),{},{ref:r,icon:e1}))},n1=i.forwardRef(t1);const r1=n1;var a1={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M300 276.5a56 56 0 1056-97 56 56 0 00-56 97zm0 284a56 56 0 1056-97 56 56 0 00-56 97zM640 228a56 56 0 10112 0 56 56 0 00-112 0zm0 284a56 56 0 10112 0 56 56 0 00-112 0zM300 844.5a56 56 0 1056-97 56 56 0 00-56 97zM640 796a56 56 0 10112 0 56 56 0 00-112 0z"}}]},name:"holder",theme:"outlined"};const o1=a1;var i1=function(t,r){return i.createElement(Nt,p(p({},t),{},{ref:r,icon:o1}))},l1=i.forwardRef(i1);const s1=l1;var u1={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M328 544h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z"}},{tag:"path",attrs:{d:"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z"}}]},name:"minus-square",theme:"outlined"};const c1=u1;var d1=function(t,r){return i.createElement(Nt,p(p({},t),{},{ref:r,icon:c1}))},f1=i.forwardRef(d1);const v1=f1;var m1={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M328 544h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z"}},{tag:"path",attrs:{d:"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z"}}]},name:"plus-square",theme:"outlined"};const h1=m1;var p1=function(t,r){return i.createElement(Nt,p(p({},t),{},{ref:r,icon:h1}))},g1=i.forwardRef(p1);const y1=g1;var b1={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"defs",attrs:{},children:[{tag:"style",attrs:{}}]},{tag:"path",attrs:{d:"M672 418H144c-17.7 0-32 14.3-32 32v414c0 17.7 14.3 32 32 32h528c17.7 0 32-14.3 32-32V450c0-17.7-14.3-32-32-32zm-44 402H188V494h440v326z"}},{tag:"path",attrs:{d:"M819.3 328.5c-78.8-100.7-196-153.6-314.6-154.2l-.2-64c0-6.5-7.6-10.1-12.6-6.1l-128 101c-4 3.1-3.9 9.1 0 12.3L492 318.6c5.1 4 12.7.4 12.6-6.1v-63.9c12.9.1 25.9.9 38.8 2.5 42.1 5.2 82.1 18.2 119 38.7 38.1 21.2 71.2 49.7 98.4 84.3 27.1 34.7 46.7 73.7 58.1 115.8a325.95 325.95 0 016.5 140.9h74.9c14.8-103.6-11.3-213-81-302.3z"}}]},name:"rotate-left",theme:"outlined"};const C1=b1;var x1=function(t,r){return i.createElement(Nt,p(p({},t),{},{ref:r,icon:C1}))},S1=i.forwardRef(x1);const w1=S1;var E1={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"defs",attrs:{},children:[{tag:"style",attrs:{}}]},{tag:"path",attrs:{d:"M480.5 251.2c13-1.6 25.9-2.4 38.8-2.5v63.9c0 6.5 7.5 10.1 12.6 6.1L660 217.6c4-3.2 4-9.2 0-12.3l-128-101c-5.1-4-12.6-.4-12.6 6.1l-.2 64c-118.6.5-235.8 53.4-314.6 154.2A399.75 399.75 0 00123.5 631h74.9c-.9-5.3-1.7-10.7-2.4-16.1-5.1-42.1-2.1-84.1 8.9-124.8 11.4-42.2 31-81.1 58.1-115.8 27.2-34.7 60.3-63.2 98.4-84.3 37-20.6 76.9-33.6 119.1-38.8z"}},{tag:"path",attrs:{d:"M880 418H352c-17.7 0-32 14.3-32 32v414c0 17.7 14.3 32 32 32h528c17.7 0 32-14.3 32-32V450c0-17.7-14.3-32-32-32zm-44 402H396V494h440v326z"}}]},name:"rotate-right",theme:"outlined"};const P1=E1;var R1=function(t,r){return i.createElement(Nt,p(p({},t),{},{ref:r,icon:P1}))},k1=i.forwardRef(R1);const N1=k1;var M1={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M908.1 353.1l-253.9-36.9L540.7 86.1c-3.1-6.3-8.2-11.4-14.5-14.5-15.8-7.8-35-1.3-42.9 14.5L369.8 316.2l-253.9 36.9c-7 1-13.4 4.3-18.3 9.3a32.05 32.05 0 00.6 45.3l183.7 179.1-43.4 252.9a31.95 31.95 0 0046.4 33.7L512 754l227.1 119.4c6.2 3.3 13.4 4.4 20.3 3.2 17.4-3 29.1-19.5 26.1-36.9l-43.4-252.9 183.7-179.1c5-4.9 8.3-11.3 9.3-18.3 2.7-17.5-9.5-33.7-27-36.3z"}}]},name:"star",theme:"filled"};const T1=M1;var F1=function(t,r){return i.createElement(Nt,p(p({},t),{},{ref:r,icon:T1}))},$1=i.forwardRef(F1);const O1=$1;var D1={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M873.1 596.2l-164-208A32 32 0 00684 376h-64.8c-6.7 0-10.4 7.7-6.3 13l144.3 183H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h695.9c26.8 0 41.7-30.8 25.2-51.8z"}}]},name:"swap-right",theme:"outlined"};const I1=D1;var _1=function(t,r){return i.createElement(Nt,p(p({},t),{},{ref:r,icon:I1}))},L1=i.forwardRef(_1);const A1=L1;var j1={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M859.9 780H164.1c-4.5 0-8.1 3.6-8.1 8v60c0 4.4 3.6 8 8.1 8h695.8c4.5 0 8.1-3.6 8.1-8v-60c0-4.4-3.6-8-8.1-8zM505.7 669a8 8 0 0012.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9h-74.1V176c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v338.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.8z"}}]},name:"vertical-align-bottom",theme:"outlined"};const K1=j1;var V1=function(t,r){return i.createElement(Nt,p(p({},t),{},{ref:r,icon:K1}))},z1=i.forwardRef(V1);const B1=z1;var H1={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M859.9 474H164.1c-4.5 0-8.1 3.6-8.1 8v60c0 4.4 3.6 8 8.1 8h695.8c4.5 0 8.1-3.6 8.1-8v-60c0-4.4-3.6-8-8.1-8zm-353.6-74.7c2.9 3.7 8.5 3.7 11.3 0l100.8-127.5c3.7-4.7.4-11.7-5.7-11.7H550V104c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v156h-62.8c-6 0-9.4 7-5.7 11.7l100.8 127.6zm11.4 225.4a7.14 7.14 0 00-11.3 0L405.6 752.3a7.23 7.23 0 005.7 11.7H474v156c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V764h62.8c6 0 9.4-7 5.7-11.7L517.7 624.7z"}}]},name:"vertical-align-middle",theme:"outlined"};const W1=H1;var U1=function(t,r){return i.createElement(Nt,p(p({},t),{},{ref:r,icon:W1}))},Y1=i.forwardRef(U1);const G1=Y1;var q1={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M859.9 168H164.1c-4.5 0-8.1 3.6-8.1 8v60c0 4.4 3.6 8 8.1 8h695.8c4.5 0 8.1-3.6 8.1-8v-60c0-4.4-3.6-8-8.1-8zM518.3 355a8 8 0 00-12.6 0l-112 141.7a7.98 7.98 0 006.3 12.9h73.9V848c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V509.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 355z"}}]},name:"vertical-align-top",theme:"outlined"};const X1=q1;var Z1=function(t,r){return i.createElement(Nt,p(p({},t),{},{ref:r,icon:X1}))},Q1=i.forwardRef(Z1);const J1=Q1;var ey={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M955.7 856l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zM480 416c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v184c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V416zm32 352a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"}}]},name:"warning",theme:"filled"};const ty=ey;var ny=function(t,r){return i.createElement(Nt,p(p({},t),{},{ref:r,icon:ty}))},ry=i.forwardRef(ny);const ay=ry;var oy={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M637 443H519V309c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v134H325c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h118v134c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V519h118c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm284 424L775 721c122.1-148.9 113.6-369.5-26-509-148-148.1-388.4-148.1-537 0-148.1 148.6-148.1 389 0 537 139.5 139.6 360.1 148.1 509 26l146 146c3.2 2.8 8.3 2.8 11 0l43-43c2.8-2.7 2.8-7.8 0-11zM696 696c-118.8 118.7-311.2 118.7-430 0-118.7-118.8-118.7-311.2 0-430 118.8-118.7 311.2-118.7 430 0 118.7 118.8 118.7 311.2 0 430z"}}]},name:"zoom-in",theme:"outlined"};const iy=oy;var ly=function(t,r){return i.createElement(Nt,p(p({},t),{},{ref:r,icon:iy}))},sy=i.forwardRef(ly);const uy=sy;var cy={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M637 443H325c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h312c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm284 424L775 721c122.1-148.9 113.6-369.5-26-509-148-148.1-388.4-148.1-537 0-148.1 148.6-148.1 389 0 537 139.5 139.6 360.1 148.1 509 26l146 146c3.2 2.8 8.3 2.8 11 0l43-43c2.8-2.7 2.8-7.8 0-11zM696 696c-118.8 118.7-311.2 118.7-430 0-118.7-118.8-118.7-311.2 0-430 118.8-118.7 311.2-118.7 430 0 118.7 118.8 118.7 311.2 0 430z"}}]},name:"zoom-out",theme:"outlined"};const dy=cy;var fy=function(t,r){return i.createElement(Nt,p(p({},t),{},{ref:r,icon:dy}))},vy=i.forwardRef(fy);const my=vy;function ls(e){return e!=null&&e===e.window}function hy(e,t){var r,n;if(typeof window>"u")return 0;var a=t?"scrollTop":"scrollLeft",o=0;return ls(e)?o=e[t?"pageYOffset":"pageXOffset"]:e instanceof Document?o=e.documentElement[a]:(e instanceof HTMLElement||e)&&(o=e[a]),e&&!ls(e)&&typeof o!="number"&&(o=(n=((r=e.ownerDocument)!==null&&r!==void 0?r:e).documentElement)===null||n===void 0?void 0:n[a]),o}function py(e,t,r,n){var a=r-t;return e/=n/2,e<1?a/2*e*e*e+t:a/2*((e-=2)*e*e+2)+t}function gy(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=t.getContainer,n=r===void 0?function(){return window}:r,a=t.callback,o=t.duration,s=o===void 0?450:o,l=n(),u=hy(l,!0),c=Date.now(),d=function f(){var v=Date.now(),m=v-c,h=py(m>s?s:m,u,e,s);ls(l)?l.scrollTo(window.pageXOffset,h):l instanceof Document||l.constructor.name==="HTMLDocument"?l.documentElement.scrollTop=h:l.scrollTop=h,m0&&arguments[0]!==void 0?arguments[0]:!0,t=i.useRef({}),r=av();return i.useEffect(function(){var n=Qu.subscribe(function(a){t.current=a,e&&r()});return function(){return Qu.unsubscribe(n)}},[]),t.current}var ss=i.createContext("default"),rc=function(t){var r=t.children,n=t.size;return i.createElement(ss.Consumer,null,function(a){return i.createElement(ss.Provider,{value:n||a},r)})},yy=globalThis&&globalThis.__rest||function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,n=Object.getOwnPropertySymbols(e);af?"".concat(f,"+"):c,k=O==="0"||O===0,M=c===null||k&&!P,F=(o!=null||l!=null)&&M,N=m&&!k,I=N?"":O,L=i.useMemo(function(){var ue=I==null||I==="";return(ue||k&&!P)&&!N},[I,k,P,N]),A=i.useRef(c);L||(A.current=c);var _=A.current,K=i.useRef(I);L||(K.current=I);var z=K.current,j=i.useRef(N);L||(j.current=N);var V=i.useMemo(function(){if(!b)return J({},C);var ue={marginTop:b[1]};return R==="rtl"?ue.left=parseInt(b[0],10):ue.right=-parseInt(b[0],10),J(J({},ue),C)},[R,b,C]),X=y??(typeof _=="string"||typeof _=="number"?_:void 0),H=L||!s?null:i.createElement("span",{className:"".concat(D,"-status-text")},s),Z=!_||Ye(_)!=="object"?void 0:ga(_,function(ue){return{style:J(J({},V),ue.style)}}),U=ve(B(B(B({},"".concat(D,"-status-dot"),F),"".concat(D,"-status-").concat(o),!!o),"".concat(D,"-status-").concat(l),ro(l))),ae={};l&&!ro(l)&&(ae.background=l);var q=ve(D,B(B(B({},"".concat(D,"-status"),F),"".concat(D,"-not-a-wrapper"),!a),"".concat(D,"-rtl"),R==="rtl"),x);if(!a&&F){var ne=V.color;return i.createElement("span",J({},w,{className:q,style:V}),i.createElement("span",{className:U,style:ae}),s&&i.createElement("span",{style:{color:ne},className:"".concat(D,"-status-text")},s))}return i.createElement("span",J({},w,{className:q}),a,i.createElement(Zi,{visible:!L,motionName:"".concat(D,"-zoom"),motionAppear:!1,motionDeadline:1e3},function(ue){var G=ue.className,te=$("scroll-number",n),ee=j.current,le=ve(B(B(B(B(B(B({},"".concat(D,"-dot"),ee),"".concat(D,"-count"),!ee),"".concat(D,"-count-sm"),g==="small"),"".concat(D,"-multiple-words"),!ee&&z&&z.toString().length>1),"".concat(D,"-status-").concat(o),!!o),"".concat(D,"-status-").concat(l),ro(l))),re=J({},V);return l&&!ro(l)&&(re=re||{},re.background=l),i.createElement(Ty,{prefixCls:te,show:!L,motionClassName:G,className:le,count:z,title:X,style:re,key:"scrollNumber"},Z)}),H)};wv.Ribbon=Py;const Dn=wv;var Ev=function(t){if(Kf()&&window.document.documentElement){var r=Array.isArray(t)?t:[t],n=window.document.documentElement;return r.some(function(a){return a in n.style})}return!1},$y=function(t,r){if(!Ev(t))return!1;var n=document.createElement("div"),a=n.style[t];return n.style[t]=r,n.style[t]!==a};function us(e,t){return!Array.isArray(e)&&t!==void 0?$y(e,t):Ev(e)}var Oy={getNow:function(){return $t()},getFixedDate:function(t){return $t(t,"YYYY-MM-DD")},getEndDate:function(t){var r=t.clone();return r.endOf("month")},getWeekDay:function(t){var r=t.clone().locale("en_US");return r.weekday()+r.localeData().firstDayOfWeek()},getYear:function(t){return t.year()},getMonth:function(t){return t.month()},getDate:function(t){return t.date()},getHour:function(t){return t.hour()},getMinute:function(t){return t.minute()},getSecond:function(t){return t.second()},addYear:function(t,r){var n=t.clone();return n.add(r,"year")},addMonth:function(t,r){var n=t.clone();return n.add(r,"month")},addDate:function(t,r){var n=t.clone();return n.add(r,"day")},setYear:function(t,r){var n=t.clone();return n.year(r)},setMonth:function(t,r){var n=t.clone();return n.month(r)},setDate:function(t,r){var n=t.clone();return n.date(r)},setHour:function(t,r){var n=t.clone();return n.hour(r)},setMinute:function(t,r){var n=t.clone();return n.minute(r)},setSecond:function(t,r){var n=t.clone();return n.second(r)},isAfter:function(t,r){return t.isAfter(r)},isValidate:function(t){return t.isValid()},locale:{getWeekFirstDay:function(t){var r=$t().locale(t);return r.localeData().firstDayOfWeek()},getWeekFirstDate:function(t,r){var n=r.clone(),a=n.locale(t);return a.weekday(0)},getWeek:function(t,r){var n=r.clone(),a=n.locale(t);return a.week()},getShortWeekDays:function(t){var r=$t().locale(t);return r.localeData().weekdaysMin()},getShortMonths:function(t){var r=$t().locale(t);return r.localeData().monthsShort()},format:function(t,r,n){var a=r.clone(),o=a.locale(t);return o.format(n)},parse:function(t,r,n){for(var a=[],o=0;o1&&(s=t.addDate(s,-7)),s}function uo(e,t,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1;switch(t){case"year":return r.addYear(e,n*10);case"quarter":case"month":return r.addYear(e,n);default:return r.addMonth(e,n)}}function en(e,t){var r=t.generateConfig,n=t.locale,a=t.format;return typeof a=="function"?a(e):r.locale.format(n.locale,e,a)}function $v(e,t){var r=t.generateConfig,n=t.locale,a=t.formatList;return!e||typeof a[0]=="function"?null:r.locale.parse(n.locale,e,a)}function vs(e){var t=e.cellDate,r=e.mode,n=e.disabledDate,a=e.generateConfig;if(!n)return!1;var o=function(h,g,y){for(var b=g;b<=y;){var C=void 0;switch(h){case"date":{if(C=a.setDate(t,b),!n(C))return!1;break}case"month":{if(C=a.setMonth(t,b),!vs({cellDate:C,mode:"month",generateConfig:a,disabledDate:n}))return!1;break}case"year":{if(C=a.setYear(t,b),!vs({cellDate:C,mode:"year",generateConfig:a,disabledDate:n}))return!1;break}}b+=1}return!0};switch(r){case"date":case"week":return n(t);case"month":{var s=1,l=a.getDate(a.getEndDate(t));return o("date",s,l)}case"quarter":{var u=Math.floor(a.getMonth(t)/3)*3,c=u+2;return o("month",u,c)}case"year":return o("month",0,11);case"decade":{var d=a.getYear(t),f=Math.floor(d/_n)*_n,v=f+_n-1;return o("year",f,v)}}}function Qy(e){var t=i.useContext(bn),r=t.hideHeader;if(r)return null;var n=e.prefixCls,a=e.generateConfig,o=e.locale,s=e.value,l=e.format,u="".concat(n,"-header");return i.createElement(Ia,{prefixCls:u},s?en(s,{locale:o,format:l,generateConfig:a}):" ")}function Jy(e){var t=e.value,r=e.generateConfig,n=e.disabledMinutes,a=e.disabledSeconds,o=e.minutes,s=e.seconds,l=e.use12Hours,u=function(d,f,v,m){var h=t||r.getNow(),g=Math.max(0,f),y=Math.max(0,v),b=Math.max(0,m),C=n&&n(g);if(C!=null&&C.includes(y)){var x=o.find(function(w){return!C.includes(w.value)});if(x)y=x.value;else return null}var E=a&&a(g,y);if(E!=null&&E.includes(b)){var P=s.find(function(w){return!E.includes(w.value)});if(P)b=P.value;else return null}return h=Pv(r,h,!l||!d?g:g+12,y,b),h};return u}function Ov(e,t){for(var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"0",n=String(e);n.length=1?r|0:1,s=e;s<=t;s+=o)a.push({label:Ov(s,2),value:s,disabled:(n||[]).includes(s)});return a}function nb(e){var t=e.generateConfig,r=e.prefixCls,n=e.operationRef,a=e.activeColumnIndex,o=e.value,s=e.showHour,l=e.showMinute,u=e.showSecond,c=e.use12Hours,d=e.hourStep,f=d===void 0?1:d,v=e.minuteStep,m=v===void 0?1:v,h=e.secondStep,g=h===void 0?1:h,y=e.disabledHours,b=e.disabledMinutes,C=e.disabledSeconds,x=e.disabledTime,E=e.hideDisabledOptions,P=e.onSelect,w=[],T="".concat(r,"-content"),$="".concat(r,"-time-panel"),R,D=o?t.getHour(o):-1,O=D,k=o?t.getMinute(o):-1,M=o?t.getSecond(o):-1,F=t.getNow(),N=i.useMemo(function(){if(x){var G=x(F);return[G.disabledHours,G.disabledMinutes,G.disabledSeconds]}return[y,b,C]},[y,b,C,x,F]),I=Y(N,3),L=I[0],A=I[1],_=I[2],K=Al(0,23,f,L&&L()),z=ru(function(){return K},K,tb);c&&(R=O>=12,O%=12);var j=i.useMemo(function(){if(!c)return[!1,!1];var G=[!0,!0];return z.forEach(function(te){var ee=te.disabled,le=te.value;ee||(le>=12?G[1]=!1:G[0]=!1)}),G},[c,z]),V=Y(j,2),X=V[0],H=V[1],Z=i.useMemo(function(){return c?z.filter(R?function(G){return G.value>=12}:function(G){return G.value<12}).map(function(G){var te=G.value%12,ee=te===0?"12":Ov(te,2);return p(p({},G),{},{label:ee,value:te})}):z},[c,R,z]),U=Al(0,59,m,A&&A(D)),ae=Al(0,59,g,_&&_(D,k)),q=Jy({value:o,generateConfig:t,disabledMinutes:A,disabledSeconds:_,minutes:U,seconds:ae,use12Hours:c});n.current={onUpDown:function(te){var ee=w[a];if(ee)for(var le=ee.units.findIndex(function(me){return me.value===ee.value}),re=ee.units.length,ge=1;ge2&&arguments[2]!==void 0?arguments[2]:!1;(Ee===g||dt)&&(fe(xe),T&&T(xe),ae&&ae(xe,Je),$&&!ba(l,xe,ce)&&!(v!=null&&v(xe))&&$(xe))},mt=function(xe){if(xb.includes(Ee)){var Je,dt,ut=Ee==="date";switch(xe===Be.PAGE_UP||xe===Be.PAGE_DOWN?dt=ut?l.addMonth:l.addYear:dt=ut?l.addDate:l.addMonth,xe){case Be.LEFT:case Be.PAGE_UP:Je=dt(he,-1);break;case Be.RIGHT:case Be.PAGE_DOWN:Je=dt(he,1);break;case Be.UP:case Be.DOWN:Je=dt(he,Number("".concat(xe===Be.UP?"-":"").concat(ut?so:pu)));break}if(Je)return!(v!=null&&v(Je))}return!0},tt=function(xe){if(re.current&&re.current.onKeyDown){var Je=!0,dt=xe.which;if([Be.LEFT,Be.RIGHT,Be.UP,Be.DOWN,Be.PAGE_UP,Be.PAGE_DOWN,Be.ENTER].includes(dt)&&(xe.preventDefault(),dt!==Be.ENTER&&b===0&&(Je=mt(dt))),Je)return re.current.onKeyDown(xe)}return an(!1,"Panel not correct handle keyDown event. Please help to fire issue about this."),!1},we=function(xe){re.current&&re.current.onBlur&&re.current.onBlur(xe)};Z&&te!=="right"&&(Z.current={onKeyDown:tt,onClose:function(){re.current&&re.current.onClose&&re.current.onClose()}}),i.useEffect(function(){u&&!ge.current&&Ce(u)},[u]),i.useEffect(function(){ge.current=!1},[]);var He,Me=p(p({},e),{},{operationRef:re,prefixCls:n,viewDate:he,value:ce,onViewDateChange:ke,sourceMode:ct,onPanelChange:Ge,disabledDate:v});switch(delete Me.onChange,delete Me.onSelect,Ee){case"decade":He=i.createElement(Gy,J({},Me,{onSelect:function(xe,Je){ke(xe),_e(xe,Je)}}));break;case"year":He=i.createElement(Cb,J({},Me,{onSelect:function(xe,Je){ke(xe),_e(xe,Je)}}));break;case"month":He=i.createElement(fb,J({},Me,{onSelect:function(xe,Je){ke(xe),_e(xe,Je)}}));break;case"quarter":He=i.createElement(gb,J({},Me,{onSelect:function(xe,Je){ke(xe),_e(xe,Je)}}));break;case"week":He=i.createElement(sb,J({},Me,{onSelect:function(xe,Je){ke(xe),_e(xe,Je)}}));break;case"time":delete Me.showTime,He=i.createElement(_v,J({},Me,Ye(x)==="object"?x:null,{onSelect:function(xe,Je){ke(xe),_e(xe,Je)}}));break;default:x?He=i.createElement(lb,J({},Me,{onSelect:function(xe,Je){ke(xe),_e(xe,Je)}})):He=i.createElement(hu,J({},Me,{onSelect:function(xe,Je){ke(xe),_e(xe,Je)}}))}var Le,ye,de=function(){var xe=l.getNow(),Je=Ly(l.getHour(xe),l.getMinute(xe),l.getSecond(xe),j?I:1,V?A:1,X?K:1),dt=Pv(l,xe,Je[0],Je[1],Je[2]);_e(dt,"submit")};q||(Le=Lv(n,Ee,P),ye=Av({prefixCls:n,components:M,needConfirmButton:z,okDisabled:!ce||v&&v(ce),locale:s,showNow:C,onNow:z&&de,onOk:function(){ce&&(_e(ce,"submit",!0),k&&k(ce))}}));var be;if(E&&Ee==="date"&&g==="date"&&!x){var Ne=l.getNow(),Ue="".concat(n,"-today-btn"),lt=v&&v(Ne);be=i.createElement("a",{className:ve(Ue,lt&&"".concat(Ue,"-disabled")),"aria-disabled":lt,onClick:function(){lt||_e(Ne,"mouse",!0)}},s.today)}return i.createElement(bn.Provider,{value:p(p({},H),{},{mode:Ee,hideHeader:"hideHeader"in e?w:H.hideHeader,hidePrevBtn:G&&te==="right",hideNextBtn:G&&te==="left"})},i.createElement("div",{tabIndex:b,className:ve("".concat(n,"-panel"),a,(t={},B(t,"".concat(n,"-panel-has-range"),ee&&ee[0]&&ee[1]),B(t,"".concat(n,"-panel-has-range-hover"),le&&le[0]&&le[1]),B(t,"".concat(n,"-panel-rtl"),F==="rtl"),t)),style:o,onKeyDown:tt,onBlur:we,onMouseDown:D,ref:U},He,Le||ye||be?i.createElement("div",{className:"".concat(n,"-footer")},Le,ye,be):null))}var Sb={bottomLeft:{points:["tl","bl"],offset:[0,4],overflow:{adjustX:1,adjustY:1}},bottomRight:{points:["tr","br"],offset:[0,4],overflow:{adjustX:1,adjustY:1}},topLeft:{points:["bl","tl"],offset:[0,-4],overflow:{adjustX:0,adjustY:1}},topRight:{points:["br","tr"],offset:[0,-4],overflow:{adjustX:0,adjustY:1}}};function Kv(e){var t,r=e.prefixCls,n=e.popupElement,a=e.popupStyle,o=e.visible,s=e.dropdownClassName,l=e.dropdownAlign,u=e.transitionName,c=e.getPopupContainer,d=e.children,f=e.range,v=e.popupPlacement,m=e.direction,h="".concat(r,"-dropdown"),g=function(){return v!==void 0?v:m==="rtl"?"bottomRight":"bottomLeft"};return i.createElement(Jp,{showAction:[],hideAction:[],popupPlacement:g(),builtinPlacements:Sb,prefixCls:h,popupTransitionName:u,popup:n,popupAlign:l,popupVisible:o,popupClassName:ve(s,(t={},B(t,"".concat(h,"-range"),f),B(t,"".concat(h,"-rtl"),m==="rtl"),t)),popupStyle:a,getPopupContainer:c},d)}function hs(e){var t=e.open,r=e.value,n=e.isClickOutside,a=e.triggerOpen,o=e.forwardKeyDown,s=e.onKeyDown,l=e.blurToCancel,u=e.onSubmit,c=e.onCancel,d=e.onFocus,f=e.onBlur,v=e.currentFocusedKey,m=e.key,h=m===void 0?"start":m,g=i.useState(!1),y=Y(g,2),b=y[0],C=y[1],x=i.useState(!1),E=Y(x,2),P=E[0],w=E[1],T=i.useRef(),$=i.useRef(!1),R=i.useRef(!1),D=i.useRef(!1),O={onMouseDown:function(){C(!0),a(!0)},onKeyDown:function(M){var F=function(){D.current=!0};if(s(M,F),!D.current){switch(M.which){case Be.ENTER:{t?u()!==!1&&C(!0):a(!0),M.preventDefault();return}case Be.TAB:{b&&t&&!M.shiftKey?(C(!1),M.preventDefault()):!b&&t&&!o(M)&&M.shiftKey&&(C(!0),M.preventDefault());return}case Be.ESC:{C(!0),c();return}}!t&&![Be.SHIFT].includes(M.which)?a(!0):b||o(M)}},onFocus:function(M){C(!0),w(!0),v&&(v.current=h),clearTimeout(T.current),d&&d(M)},onBlur:function(M){if($.current||!n(document.activeElement)){$.current=!1;return}l?setTimeout(function(){for(var F=document,N=F.activeElement;N&&N.shadowRoot;)N=N.shadowRoot.activeElement;n(N)&&c()},0):t&&(a(!1),R.current&&u()),w(!1),v?(v.current="",T.current=setTimeout(function(){v.current||f==null||f(M)},100)):f==null||f(M)}};return i.useEffect(function(){R.current=!1},[t]),i.useEffect(function(){R.current=!0},[r]),i.useEffect(function(){return Vy(function(k){var M=zy(k),F=n(M);t?F?(!P||F)&&a(!1):($.current=!0,requestAnimationFrame(function(){$.current=!1})):P&&!F&&($.current=!0)})}),i.useEffect(function(){return function(){return clearTimeout(T.current)}},[]),[O,{focused:P,typing:b}]}function ps(e){var t=e.valueTexts,r=e.onTextChange,n=i.useState(""),a=Y(n,2),o=a[0],s=a[1],l=i.useRef([]);l.current=t;function u(d){s(d),r(d)}function c(){s(l.current[0])}return i.useEffect(function(){t.every(function(d){return d!==o})&&c()},[t.join("||")]),[o,u,c]}function $i(e,t){var r=t.formatList,n=t.generateConfig,a=t.locale;return ru(function(){if(!e)return[[""],""];for(var o="",s=[],l=0;l1&&arguments[1]!==void 0?arguments[1]:!1;if(cancelAnimationFrame(c.current),b){u(y);return}c.current=requestAnimationFrame(function(){u(y)})}var f=$i(l,{formatList:r,generateConfig:n,locale:a}),v=Y(f,2),m=v[1];function h(y){d(y)}function g(){var y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;d(null,y)}return i.useEffect(function(){g(!0)},[e]),i.useEffect(function(){return function(){return cancelAnimationFrame(c.current)}},[]),[m,h,g]}function wb(e){var t,r=e.prefixCls,n=r===void 0?"rc-picker":r,a=e.id,o=e.tabIndex,s=e.style,l=e.className,u=e.dropdownClassName,c=e.dropdownAlign,d=e.popupStyle,f=e.transitionName,v=e.generateConfig,m=e.locale,h=e.inputReadOnly,g=e.allowClear,y=e.autoFocus,b=e.showTime,C=e.picker,x=C===void 0?"date":C,E=e.format,P=e.use12Hours,w=e.value,T=e.defaultValue,$=e.open,R=e.defaultOpen,D=e.defaultOpenValue,O=e.suffixIcon,k=e.clearIcon,M=e.disabled,F=e.disabledDate,N=e.placeholder,I=e.getPopupContainer,L=e.pickerRef,A=e.panelRender,_=e.onChange,K=e.onOpenChange,z=e.onFocus,j=e.onBlur,V=e.onMouseDown,X=e.onMouseUp,H=e.onMouseEnter,Z=e.onMouseLeave,U=e.onContextMenu,ae=e.onClick,q=e.onKeyDown,ne=e.onSelect,ue=e.direction,G=e.autoComplete,te=G===void 0?"off":G,ee=e.inputRender,le=i.useRef(null),re=x==="date"&&!!b||x==="time",ge=Dv(kv(E,x,b,P)),Pe=i.useRef(null),me=i.useRef(null),ce=i.useRef(null),fe=Rt(null,{value:w,defaultValue:T}),ie=Y(fe,2),se=ie[0],he=ie[1],Ce=i.useState(se),ke=Y(Ce,2),Te=ke[0],Se=ke[1],Re=i.useRef(null),Ee=Rt(!1,{value:$,defaultValue:R,postState:function(Oe){return M?!1:Oe},onChange:function(Oe){K&&K(Oe),!Oe&&Re.current&&Re.current.onClose&&Re.current.onClose()}}),Qe=Y(Ee,2),et=Qe[0],vt=Qe[1],ct=$i(Te,{formatList:ge,generateConfig:v,locale:m}),ht=Y(ct,2),Ge=ht[0],_e=ht[1],mt=ps({valueTexts:Ge,onTextChange:function(Oe){var De=$v(Oe,{locale:m,formatList:ge,generateConfig:v});De&&(!F||!F(De))&&Se(De)}}),tt=Y(mt,3),we=tt[0],He=tt[1],Me=tt[2],Le=function(Oe){Se(Oe),he(Oe),_&&!ba(v,se,Oe)&&_(Oe,Oe?en(Oe,{generateConfig:v,locale:m,format:ge[0]}):"")},ye=function(Oe){M&&Oe||vt(Oe)},de=function(Oe){return et&&Re.current&&Re.current.onKeyDown?Re.current.onKeyDown(Oe):(an(!1,"Picker not correct forward KeyDown operation. Please help to fire issue about this."),!1)},be=function(){for(var Oe=arguments.length,De=new Array(Oe),We=0;Wem(d);case"month":return v(y)>v(d);case"week":return f(y)>f(d);default:return!or(u,y,d)&&u.isAfter(y,d)}return!1},[s,l[1],d,t]),g=i.useCallback(function(y){if(s&&s(y))return!0;if(l[0]&&c)return!or(u,y,d)&&u.isAfter(c,y);if(r&&c)switch(n){case"quarter":return m(y)0&&arguments[0]!==void 0?arguments[0]:!1,je=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},rt=null;Ie&&Fn&&Fn[0]&&Fn[1]&&h.isAfter(Fn[1],Fn[0])&&(rt=Fn);var wt=w;if(w&&Ye(w)==="object"&&w.defaultValue){var Yt=w.defaultValue;wt=p(p({},w),{},{defaultValue:Pt(Yt,we)||void 0})}var Br=null;return L&&(Br=function(On,Vn){return L(On,Vn,{range:we?"end":"start"})}),i.createElement(La.Provider,{value:{inRange:!0,panelPosition:bt,rangedValue:hr||ut,hoverRangedValue:rt}},i.createElement(jv,J({},e,je,{dateRender:Br,showTime:wt,mode:Ft[we],generateConfig:h,style:void 0,direction:se,disabledDate:we===0?Ze:Xe,disabledTime:function(On){return I?I(On,we===0?"start":"end"):!1},className:ve(B({},"".concat(o,"-panel-focused"),we===0?!qe:!ln)),value:Pt(ut,we),locale:g,tabIndex:-1,onPanelChange:function(On,Vn){we===0&&Vr(!0),we===1&&ua(!0),ot(Pn(Ft,Vn,we),Pn(ut,On,we));var Jn=On;bt==="right"&&Ft[we]===Vn&&(Jn=uo(Jn,Vn,h,-1)),xe(Jn,we)},onOk:null,onSelect:void 0,onChange:void 0,defaultValue:we===0?Pt(ut,1):Pt(ut,0)})))}var br=0,Uu=0;if(we&&Qe.current&&vt.current&&Ee.current){br=Qe.current.offsetWidth+vt.current.offsetWidth;var Np=Ge.current.offsetLeft>br?Ge.current.offsetLeft-br:Ge.current.offsetLeft;Ee.current.offsetWidth&&Ge.current.offsetWidth&&br>Ee.current.offsetWidth-Ge.current.offsetWidth-(se==="rtl"?0:Np)&&(Uu=br)}var Mp=se==="rtl"?{right:br}:{left:br};function Tp(){var bt,je=Lv(o,Ft[we],U),rt=Av({prefixCls:o,components:fe,needConfirmButton:Te,okDisabled:!Pt(ut,we)||N&&N(ut[we]),locale:g,rangeList:kp,onOk:function(){Pt(ut,we)&&(Xn(ut,we),me&&me(ut))}});if(P!=="time"&&!w){var wt=$e(we),Yt=uo(wt,P,h),Br=Ft[we],Qn=Br===P,On=Dl(Qn?"left":!1,{pickerValue:wt,onPickerValueChange:function(fn){xe(fn,we)}}),Vn=Dl("right",{pickerValue:Yt,onPickerValueChange:function(fn){xe(uo(fn,P,h,-1),we)}});se==="rtl"?bt=i.createElement(i.Fragment,null,Vn,Qn&&On):bt=i.createElement(i.Fragment,null,On,Qn&&Vn)}else bt=Dl();var Jn=i.createElement(i.Fragment,null,i.createElement("div",{className:"".concat(o,"-panels")},bt),(je||rt)&&i.createElement("div",{className:"".concat(o,"-footer")},je,rt));return A&&(Jn=A(Jn)),i.createElement("div",{className:"".concat(o,"-panel-container"),style:{marginLeft:Uu},ref:Ee,onMouseDown:function(fn){fn.preventDefault()}},Jn)}var Fp=i.createElement("div",{className:ve("".concat(o,"-range-wrapper"),"".concat(o,"-").concat(P,"-range-wrapper")),style:{minWidth:Kt}},i.createElement("div",{ref:Ge,className:"".concat(o,"-range-arrow"),style:Mp}),Tp()),Yu;j&&(Yu=i.createElement("span",{className:"".concat(o,"-suffix")},j));var Gu;z&&(Pt(be,0)&&!Le[0]||Pt(be,1)&&!Le[1])&&(Gu=i.createElement("span",{onMouseDown:function(je){je.preventDefault(),je.stopPropagation()},onMouseUp:function(je){je.preventDefault(),je.stopPropagation();var rt=be;Le[0]||(rt=Pn(rt,null,0)),Le[1]||(rt=Pn(rt,null,1)),Xn(rt,null),En(!1,we)},className:"".concat(o,"-clear")},V||i.createElement("span",{className:"".concat(o,"-clear-btn")})));var qu={size:Nv(P,_e[0],h)},Il=0,_l=0;Qe.current&&et.current&&vt.current&&(we===0?_l=Qe.current.offsetWidth:(Il=br,_l=et.current.offsetWidth));var $p=se==="rtl"?{right:Il}:{left:Il},Op=function(je,rt){var wt=Pn(ut,je,we);rt==="submit"||rt!=="key"&&!Te?(Xn(wt,we),we===0?Vr():ua()):Ot(wt)};return i.createElement(bn.Provider,{value:{operationRef:Me,hideHeader:P==="time",onDateMouseEnter:Ol,onDateMouseLeave:ai,hideRanges:!0,onSelect:Op,open:Ie}},i.createElement(Kv,{visible:Ie,popupElement:Fp,popupStyle:c,prefixCls:o,dropdownClassName:d,dropdownAlign:v,getPopupContainer:m,transitionName:f,range:!0,direction:se},i.createElement("div",J({ref:Re,className:ve(o,"".concat(o,"-range"),u,(t={},B(t,"".concat(o,"-disabled"),Le[0]&&Le[1]),B(t,"".concat(o,"-focused"),we===0?pe:It),B(t,"".concat(o,"-rtl"),se==="rtl"),t)),style:l,onClick:sn,onMouseEnter:re,onMouseLeave:ge,onMouseDown:zr,onMouseUp:le},Iv(e)),i.createElement("div",{className:ve("".concat(o,"-input"),(r={},B(r,"".concat(o,"-input-active"),we===0),B(r,"".concat(o,"-input-placeholder"),!!ti),r)),ref:Qe},i.createElement("input",J({id:s,disabled:Le[0],readOnly:H||typeof _e[0]=="function"||!qe,value:ti||mr,onChange:function(je){la(je.target.value)},autoFocus:b,placeholder:Pt(y,0)||"",ref:ct},W,qu,{autoComplete:ke}))),i.createElement("div",{className:"".concat(o,"-range-separator"),ref:vt},R),i.createElement("div",{className:ve("".concat(o,"-input"),(n={},B(n,"".concat(o,"-input-active"),we===1),B(n,"".concat(o,"-input-placeholder"),!!yr),n)),ref:et},i.createElement("input",J({disabled:Le[1],readOnly:H||typeof _e[0]=="function"||!ln,value:yr||Ct,onChange:function(je){Lt(je.target.value)},placeholder:Pt(y,1)||"",ref:ht},At,qu,{autoComplete:ke}))),i.createElement("div",{className:"".concat(o,"-active-bar"),style:p(p({},$p),{},{width:_l,position:"absolute"})}),Yu,Gu)))}var Tb=function(e){Cn(r,e);var t=xn(r);function r(){var n;Sn(this,r);for(var a=arguments.length,o=new Array(a),s=0;sF?(k=D,w.current="x"):(k=O,w.current="y"),t(-k,-k)&&R.preventDefault()}var $=i.useRef(null);$.current={onTouchStart:x,onTouchMove:E,onTouchEnd:P,onWheel:T},i.useEffect(function(){function R(M){$.current.onTouchStart(M)}function D(M){$.current.onTouchMove(M)}function O(M){$.current.onTouchEnd(M)}function k(M){$.current.onWheel(M)}return document.addEventListener("touchmove",D,{passive:!1}),document.addEventListener("touchend",O,{passive:!1}),e.current.addEventListener("touchstart",R,{passive:!1}),e.current.addEventListener("wheel",k),function(){document.removeEventListener("touchmove",D),document.removeEventListener("touchend",O)}},[])}function zv(e){var t=i.useState(0),r=Y(t,2),n=r[0],a=r[1],o=i.useRef(0),s=i.useRef();return s.current=e,e0(function(){var l;(l=s.current)===null||l===void 0||l.call(s)},[n]),function(){o.current===n&&(o.current+=1,a(o.current))}}function _b(e){var t=i.useRef([]),r=i.useState({}),n=Y(r,2),a=n[1],o=i.useRef(typeof e=="function"?e():e),s=zv(function(){var u=o.current;t.current.forEach(function(c){u=c(u)}),t.current=[],o.current=u,a({})});function l(u){t.current.push(u),s()}return[o.current,l]}var mc={width:0,height:0,left:0,top:0,right:0};function Lb(e,t,r,n,a,o,s){var l=s.tabs,u=s.tabPosition,c=s.rtl,d,f,v;return["top","bottom"].includes(u)?(d="width",f=c?"right":"left",v=Math.abs(r)):(d="height",f="top",v=-r),i.useMemo(function(){if(!l.length)return[0,0];for(var m=l.length,h=m,g=0;gv+t){h=g-1;break}}for(var b=0,C=m-1;C>=0;C-=1){var x=e.get(l[C].key)||mc;if(x[f]Xe?"left":"right"})}),M=Y(k,2),F=M[0],N=M[1],I=dc(0,function(Ze,Xe){!O&&x&&x({direction:Ze>Xe?"top":"bottom"})}),L=Y(I,2),A=L[0],_=L[1],K=i.useState([0,0]),z=Y(K,2),j=z[0],V=z[1],X=i.useState([0,0]),H=Y(X,2),Z=H[0],U=H[1],ae=i.useState([0,0]),q=Y(ae,2),ne=q[0],ue=q[1],G=i.useState([0,0]),te=Y(G,2),ee=te[0],le=te[1],re=_b(new Map),ge=Y(re,2),Pe=ge[0],me=ge[1],ce=Ob(o,Pe,Z[0]),fe=pi(j,O),ie=pi(Z,O),se=pi(ne,O),he=pi(ee,O),Ce=feRe?Re:Ze}var Qe=i.useRef(),et=i.useState(),vt=Y(et,2),ct=vt[0],ht=vt[1];function Ge(){ht(Date.now())}function _e(){window.clearTimeout(Qe.current)}Ib(T,function(Ze,Xe){function Fe(Ae,Ie){Ae(function(Oe){var De=Ee(Oe+Ie);return De})}return Ce?(O?Fe(N,Ze):Fe(_,Xe),_e(),Ge(),!0):!1}),i.useEffect(function(){return _e(),ct&&(Qe.current=window.setTimeout(function(){ht(0)},100)),_e},[ct]);var mt=Lb(ce,ke,O?F:A,ie,se,he,p(p({},e),{},{tabs:o})),tt=Y(mt,2),we=tt[0],He=tt[1],Me=Vf(function(){var Ze=arguments.length>0&&arguments[0]!==void 0?arguments[0]:d,Xe=ce.get(Ze)||{width:0,height:0,left:0,right:0,top:0};if(O){var Fe=F;f?Xe.rightF+ke&&(Fe=Xe.right+Xe.width-ke):Xe.left<-F?Fe=-Xe.left:Xe.left+Xe.width>-F+ke&&(Fe=-(Xe.left+Xe.width-ke)),_(0),N(Ee(Fe))}else{var Ae=A;Xe.top<-A?Ae=-Xe.top:Xe.top+Xe.height>-A+ke&&(Ae=-(Xe.top+Xe.height-ke)),N(0),_(Ee(Ae))}}),Le={};g==="top"||g==="bottom"?Le[f?"marginRight":"marginLeft"]=y:Le.marginTop=y;var ye=o.map(function(Ze,Xe){var Fe=Ze.key;return i.createElement(zb,{id:u,prefixCls:a,key:Fe,tab:Ze,style:Xe===0?void 0:Le,closable:Ze.closable,editable:m,active:Fe===d,renderWrapper:b,removeAriaLabel:h==null?void 0:h.removeAriaLabel,onClick:function(Ie){C(Fe,Ie)},onFocus:function(){Me(Fe),Ge(),T.current&&(f||(T.current.scrollLeft=0),T.current.scrollTop=0)}})}),de=function(){return me(function(){var Xe=new Map;return o.forEach(function(Fe){var Ae,Ie=Fe.key,Oe=(Ae=$.current)===null||Ae===void 0?void 0:Ae.querySelector('[data-node-key="'.concat(Bv(Ie),'"]'));Oe&&Xe.set(Ie,{width:Oe.offsetWidth,height:Oe.offsetHeight,left:Oe.offsetLeft,top:Oe.offsetTop})}),Xe})};i.useEffect(function(){de()},[o.map(function(Ze){return Ze.key}).join("_")]);var be=zv(function(){var Ze=ca(E),Xe=ca(P),Fe=ca(w);V([Ze[0]-Xe[0]-Fe[0],Ze[1]-Xe[1]-Fe[1]]);var Ae=ca(D);ue(Ae);var Ie=ca(R);le(Ie);var Oe=ca($);U([Oe[0]-Ae[0],Oe[1]-Ae[1]]),de()}),Ne=o.slice(0,we),Ue=o.slice(He+1),lt=[].concat(Ke(Ne),Ke(Ue)),$e=i.useState(),xe=Y($e,2),Je=xe[0],dt=xe[1],ut=ce.get(d),Ot=i.useRef();function Dt(){Gr.cancel(Ot.current)}i.useEffect(function(){var Ze={};return ut&&(O?(f?Ze.right=ut.right:Ze.left=ut.left,Ze.width=ut.width):(Ze.top=ut.top,Ze.height=ut.height)),Dt(),Ot.current=Gr(function(){dt(Ze)}),Dt},[ut,O,f]),i.useEffect(function(){Me()},[d,Se,Re,hc(ut),hc(ce),O]),i.useEffect(function(){be()},[f]);var kt=!!lt.length,Ft="".concat(a,"-nav-wrap"),nt,ot,ft,it;return O?f?(ot=F>0,nt=F!==Re):(nt=F<0,ot=F!==Se):(ft=A<0,it=A!==Se),i.createElement(kr,{onResize:be},i.createElement("div",{ref:Dp(t,E),role:"tablist",className:ve("".concat(a,"-nav"),s),style:l,onKeyDown:function(){Ge()}},i.createElement(pc,{ref:P,position:"left",extra:v,prefixCls:a}),i.createElement("div",{className:ve(Ft,(r={},B(r,"".concat(Ft,"-ping-left"),nt),B(r,"".concat(Ft,"-ping-right"),ot),B(r,"".concat(Ft,"-ping-top"),ft),B(r,"".concat(Ft,"-ping-bottom"),it),r)),ref:T},i.createElement(kr,{onResize:be},i.createElement("div",{ref:$,className:"".concat(a,"-nav-list"),style:{transform:"translate(".concat(F,"px, ").concat(A,"px)"),transition:ct?"none":void 0}},ye,i.createElement(Hv,{ref:D,prefixCls:a,locale:h,editable:m,style:p(p({},ye.length===0?void 0:Le),{},{visibility:kt?"hidden":null})}),i.createElement("div",{className:ve("".concat(a,"-ink-bar"),B({},"".concat(a,"-ink-bar-animated"),c.inkBar)),style:Je})))),i.createElement(Vb,J({},e,{removeAriaLabel:h==null?void 0:h.removeAriaLabel,ref:R,prefixCls:a,tabs:lt,className:!kt&&Te,tabMoving:!!ct})),i.createElement(pc,{ref:w,position:"right",extra:v,prefixCls:a})))}const gc=i.forwardRef(Bb);var Hb=["renderTabBar"],Wb=["label","key"];function Ub(e){var t=e.renderTabBar,r=ze(e,Hb),n=i.useContext(sl),a=n.tabs;if(t){var o=p(p({},r),{},{panes:a.map(function(s){var l=s.label,u=s.key,c=ze(s,Wb);return i.createElement(Vv,J({tab:l,key:u,tabKey:u},c))})});return t(o,gc)}return i.createElement(gc,r)}function Yb(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{inkBar:!0,tabPane:!1},t;return e===!1?t={inkBar:!1,tabPane:!1}:e===!0?t={inkBar:!0,tabPane:!1}:t=p({inkBar:!0},Ye(e)==="object"?e:{}),t.tabPaneMotion&&t.tabPane===void 0&&(t.tabPane=!0),!t.tabPaneMotion&&t.tabPane&&(t.tabPane=!1),t}var Gb=["id","prefixCls","className","items","direction","activeKey","defaultActiveKey","editable","animated","tabPosition","tabBarGutter","tabBarStyle","tabBarExtraContent","locale","moreIcon","moreTransitionName","destroyInactiveTabPane","renderTabBar","onChange","onTabClick","onTabScroll","getPopupContainer","popupClassName"],yc=0;function qb(e,t){var r,n=e.id,a=e.prefixCls,o=a===void 0?"rc-tabs":a,s=e.className,l=e.items,u=e.direction,c=e.activeKey,d=e.defaultActiveKey,f=e.editable,v=e.animated,m=e.tabPosition,h=m===void 0?"top":m,g=e.tabBarGutter,y=e.tabBarStyle,b=e.tabBarExtraContent,C=e.locale,x=e.moreIcon,E=e.moreTransitionName,P=e.destroyInactiveTabPane,w=e.renderTabBar,T=e.onChange,$=e.onTabClick,R=e.onTabScroll,D=e.getPopupContainer,O=e.popupClassName,k=ze(e,Gb),M=i.useMemo(function(){return(l||[]).filter(function(re){return re&&Ye(re)==="object"&&"key"in re})},[l]),F=u==="rtl",N=Yb(v),I=i.useState(!1),L=Y(I,2),A=L[0],_=L[1];i.useEffect(function(){_(a0())},[]);var K=Rt(function(){var re;return(re=M[0])===null||re===void 0?void 0:re.key},{value:c,defaultValue:d}),z=Y(K,2),j=z[0],V=z[1],X=i.useState(function(){return M.findIndex(function(re){return re.key===j})}),H=Y(X,2),Z=H[0],U=H[1];i.useEffect(function(){var re=M.findIndex(function(Pe){return Pe.key===j});if(re===-1){var ge;re=Math.max(0,Math.min(Z,M.length-1)),V((ge=M[re])===null||ge===void 0?void 0:ge.key)}U(re)},[M.map(function(re){return re.key}).join("_"),j,Z]);var ae=Rt(null,{value:n}),q=Y(ae,2),ne=q[0],ue=q[1];i.useEffect(function(){n||(ue("rc-tabs-".concat(yc)),yc+=1)},[]);function G(re,ge){$==null||$(re,ge);var Pe=re!==j;V(re),Pe&&(T==null||T(re))}var te={id:ne,activeKey:j,animated:N,tabPosition:h,rtl:F,mobile:A},ee,le=p(p({},te),{},{editable:f,locale:C,moreIcon:x,moreTransitionName:E,tabBarGutter:g,onTabClick:G,onTabScroll:R,extra:b,style:y,panes:null,getPopupContainer:D,popupClassName:O});return i.createElement(sl.Provider,{value:{tabs:M,prefixCls:o}},i.createElement("div",J({ref:t,id:n,className:ve(o,"".concat(o,"-").concat(h),(r={},B(r,"".concat(o,"-mobile"),A),B(r,"".concat(o,"-editable"),f),B(r,"".concat(o,"-rtl"),F),r),s)},k),ee,i.createElement(Ub,J({},le,{renderTabBar:w})),i.createElement($b,J({destroyInactiveTabPane:P},te,{animated:N}))))}var Xb=i.forwardRef(qb),Zb={motionAppear:!1,motionEnter:!0,motionLeave:!0};function Qb(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{inkBar:!0,tabPane:!1},r;return t===!1?r={inkBar:!1,tabPane:!1}:t===!0?r={inkBar:!0,tabPane:!0}:r=J({inkBar:!0},Ye(t)==="object"?t:{}),r.tabPane&&(r.tabPaneMotion=J(J({},Zb),{motionName:ir(e,"switch")})),r}var Jb=globalThis&&globalThis.__rest||function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,n=Object.getOwnPropertySymbols(e);a=0;c-=1){var d=t.get(c)||new Set;d.forEach(function(f){var v=f.parent,m=f.node;if(!(n(m)||!f.parent||u.has(f.parent.key))){if(n(f.parent.node)){u.add(v.key);return}var h=!0,g=!1;(v.children||[]).filter(function(y){return!n(y.node)}).forEach(function(y){var b=y.key,C=a.has(b);h&&!C&&(h=!1),!g&&(C||o.has(b))&&(g=!0)}),h&&a.add(v.key),g&&o.add(v.key),u.add(v.key)}})}return{checkedKeys:Array.from(a),halfCheckedKeys:Array.from(Wv(o,a))}}function lC(e,t,r,n,a){for(var o=new Set(e),s=new Set(t),l=0;l<=n;l+=1){var u=r.get(l)||new Set;u.forEach(function(v){var m=v.key,h=v.node,g=v.children,y=g===void 0?[]:g;!o.has(m)&&!s.has(m)&&!a(h)&&y.filter(function(b){return!a(b.node)}).forEach(function(b){o.delete(b.key)})})}s=new Set;for(var c=new Set,d=n;d>=0;d-=1){var f=r.get(d)||new Set;f.forEach(function(v){var m=v.parent,h=v.node;if(!(a(h)||!v.parent||c.has(v.parent.key))){if(a(v.parent.node)){c.add(m.key);return}var g=!0,y=!1;(m.children||[]).filter(function(b){return!a(b.node)}).forEach(function(b){var C=b.key,x=o.has(C);g&&!x&&(g=!1),!y&&(x||s.has(C))&&(y=!0)}),g||o.delete(m.key),y&&s.add(m.key),c.add(m.key)}})}return{checkedKeys:Array.from(o),halfCheckedKeys:Array.from(Wv(s,o))}}function kn(e,t,r,n){var a=[],o;n?o=n:o=oC;var s=new Set(e.filter(function(d){var f=!!hn(r,d);return f||a.push(d),f})),l=new Map,u=0;Object.keys(r).forEach(function(d){var f=r[d],v=f.level,m=l.get(v);m||(m=new Set,l.set(v,m)),m.add(f),u=Math.max(u,v)}),an(!a.length,"Tree missing follow keys: ".concat(a.slice(0,100).map(function(d){return"'".concat(d,"'")}).join(", ")));var c;return t===!0?c=iC(s,l,u,o):c=lC(s,t.halfCheckedKeys,l,u,o),c}var Oo=i.createContext(null),gu="__RC_CASCADER_SPLIT__",Uv="SHOW_PARENT",Yv="SHOW_CHILD";function Rr(e){return e.join(gu)}function va(e){return e.map(Rr)}function sC(e){return e.split(gu)}function uC(e){var t=e||{},r=t.label,n=t.value,a=t.children,o=n||"value";return{label:r||"label",value:o,key:o,children:a||"children"}}function ao(e,t){var r,n;return(r=e.isLeaf)!==null&&r!==void 0?r:!(!((n=e[t.children])===null||n===void 0)&&n.length)}function cC(e){var t=e.parentElement;if(t){var r=e.offsetTop-t.offsetTop;r-t.scrollTop<0?t.scrollTo({top:r}):r+e.offsetHeight-t.scrollTop>t.offsetHeight&&t.scrollTo({top:r+e.offsetHeight-t.offsetHeight})}}function bc(e,t,r){var n=new Set(e),a=t();return e.filter(function(o){var s=a[o],l=s?s.parent:null,u=s?s.children:null;return r===Yv?!(u&&u.some(function(c){return c.key&&n.has(c.key)})):!(l&&!l.node.disabled&&n.has(l.key))})}function bo(e,t,r){for(var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,a=t,o=[],s=function(){var c,d,f,v=e[l],m=(c=a)===null||c===void 0?void 0:c.findIndex(function(g){var y=g[r.value];return n?String(y)===String(v):y===v}),h=m!==-1?(d=a)===null||d===void 0?void 0:d[m]:null;o.push({value:(f=h==null?void 0:h[r.value])!==null&&f!==void 0?f:v,index:m,option:h}),a=h==null?void 0:h[r.children]},l=0;l1&&arguments[1]!==void 0?arguments[1]:null;return d.map(function(v,m){for(var h=Gv(f?f.pos:"0",m),g=Do(v[o],h),y,b=0;b1&&arguments[1]!==void 0?arguments[1]:{},r=t.initWrapper,n=t.processEntity,a=t.onProcessFinished,o=t.externalGetKey,s=t.childrenPropName,l=t.fieldNames,u=arguments.length>2?arguments[2]:void 0,c=o||u,d={},f={},v={posEntities:d,keyEntities:f};return r&&(v=r(v)||v),mC(e,function(m){var h=m.node,g=m.index,y=m.pos,b=m.key,C=m.parentPos,x=m.level,E=m.nodes,P={node:h,nodes:E,index:g,key:b,pos:y,level:x},w=Do(b,y);d[y]=P,f[w]=P,P.parent=d[C],P.parent&&(P.parent.children=P.parent.children||[],P.parent.children.push(P)),n&&n(P,v)},{externalGetKey:c,childrenPropName:s,fieldNames:l}),a&&a(v),v}function co(e,t){var r=t.expandedKeys,n=t.selectedKeys,a=t.loadedKeys,o=t.loadingKeys,s=t.checkedKeys,l=t.halfCheckedKeys,u=t.dragOverNodeKey,c=t.dropPosition,d=t.keyEntities,f=hn(d,e),v={eventKey:e,expanded:r.indexOf(e)!==-1,selected:n.indexOf(e)!==-1,loaded:a.indexOf(e)!==-1,loading:o.indexOf(e)!==-1,checked:s.indexOf(e)!==-1,halfChecked:l.indexOf(e)!==-1,pos:String(f?f.pos:""),dragOver:u===e&&c===0,dragOverGapTop:u===e&&c===-1,dragOverGapBottom:u===e&&c===1};return v}function Gt(e){var t=e.data,r=e.expanded,n=e.selected,a=e.checked,o=e.loaded,s=e.loading,l=e.halfChecked,u=e.dragOver,c=e.dragOverGapTop,d=e.dragOverGapBottom,f=e.pos,v=e.active,m=e.eventKey,h=p(p({},t),{},{expanded:r,selected:n,checked:a,loaded:o,loading:s,halfChecked:l,dragOver:u,dragOverGapTop:c,dragOverGapBottom:d,pos:f,active:v,key:m});return"props"in h||Object.defineProperty(h,"props",{get:function(){return an(!1,"Second param return from event is node data instead of TreeNode instance. Please read value directly instead of reading from `props`."),e}}),h}const hC=function(e,t){var r=i.useRef({options:null,info:null}),n=i.useCallback(function(){return r.current.options!==e&&(r.current.options=e,r.current.info=Io(e,{fieldNames:t,initWrapper:function(o){return p(p({},o),{},{pathKeyEntities:{}})},processEntity:function(o,s){var l=o.nodes.map(function(u){return u[t.value]}).join(gu);s.pathKeyEntities[l]=o,o.key=l}})),r.current.info.pathKeyEntities},[t,e]);return n},pC=function(e,t){return i.useCallback(function(r){var n=[],a=[];return r.forEach(function(o){var s=bo(o,e,t);s.every(function(l){return l.option})?a.push(o):n.push(o)}),[a,n]},[e,t])};function Cc(e){var t=i.useRef();t.current=e;var r=i.useCallback(function(){return t.current.apply(t,arguments)},[]);return r}function gC(e){return i.useMemo(function(){if(!e)return[!1,{}];var t={matchInputWidth:!0,limit:50};return e&&Ye(e)==="object"&&(t=p(p({},t),e)),t.limit<=0&&delete t.limit,[!0,t]},[e])}var fo="__rc_cascader_search_mark__",yC=function(t,r,n){var a=n.label;return r.some(function(o){return String(o[a]).toLowerCase().includes(t.toLowerCase())})},bC=function(t,r,n,a){return r.map(function(o){return o[a.label]}).join(" / ")};const CC=function(e,t,r,n,a,o){var s=a.filter,l=s===void 0?yC:s,u=a.render,c=u===void 0?bC:u,d=a.limit,f=d===void 0?50:d,v=a.sort;return i.useMemo(function(){var m=[];if(!e)return[];function h(g,y){g.forEach(function(b){if(!(!v&&f>0&&m.length>=f)){var C=[].concat(Ke(y),[b]),x=b[r.children];if((!x||x.length===0||o)&&l(e,C,{label:r.label})){var E;m.push(p(p({},b),{},(E={},B(E,r.label,c(e,C,n,r)),B(E,fo,C),B(E,r.children,void 0),E)))}x&&h(b[r.children],C)}})}return h(t,[]),v&&m.sort(function(g,y){return v(g[fo],y[fo],e,r)}),f>0?m.slice(0,f):m},[e,t,r,n,c,o,l,v,f])};function xC(e){var t,r=e.prefixCls,n=e.checked,a=e.halfChecked,o=e.disabled,s=e.onClick,l=i.useContext(Oo),u=l.checkable,c=typeof u!="boolean"?u:null;return i.createElement("span",{className:ve("".concat(r),(t={},B(t,"".concat(r,"-checked"),n),B(t,"".concat(r,"-indeterminate"),!n&&a),B(t,"".concat(r,"-disabled"),o),t)),onClick:s},c)}var Xv="__cascader_fix_label__";function SC(e){var t=e.prefixCls,r=e.multiple,n=e.options,a=e.activeValue,o=e.prevValuePath,s=e.onToggleOpen,l=e.onSelect,u=e.onActive,c=e.checkedSet,d=e.halfCheckedSet,f=e.loadingKeys,v=e.isSelectable,m="".concat(t,"-menu"),h="".concat(t,"-menu-item"),g=i.useContext(Oo),y=g.fieldNames,b=g.changeOnSelect,C=g.expandTrigger,x=g.expandIcon,E=g.loadingIcon,P=g.dropdownMenuColumnStyle,w=C==="hover",T=i.useMemo(function(){return n.map(function($){var R,D=$.disabled,O=$[fo],k=(R=$[Xv])!==null&&R!==void 0?R:$[y.label],M=$[y.value],F=ao($,y),N=O?O.map(function(K){return K[y.value]}):[].concat(Ke(o),[M]),I=Rr(N),L=f.includes(I),A=c.has(I),_=d.has(I);return{disabled:D,label:k,value:M,isLeaf:F,isLoading:L,checked:A,halfChecked:_,option:$,fullPath:N,fullPathKey:I}})},[n,c,y,d,f,o]);return i.createElement("ul",{className:m,role:"menu"},T.map(function($){var R,D=$.disabled,O=$.label,k=$.value,M=$.isLeaf,F=$.isLoading,N=$.checked,I=$.halfChecked,L=$.option,A=$.fullPath,_=$.fullPathKey,K=function(){if(!D){var X=Ke(A);w&&M&&X.pop(),u(X)}},z=function(){v(L)&&l(A,M)},j;return typeof L.title=="string"?j=L.title:typeof O=="string"&&(j=O),i.createElement("li",{key:_,className:ve(h,(R={},B(R,"".concat(h,"-expand"),!M),B(R,"".concat(h,"-active"),a===k),B(R,"".concat(h,"-disabled"),D),B(R,"".concat(h,"-loading"),F),R)),style:P,role:"menuitemcheckbox",title:j,"aria-checked":N,"data-path-key":_,onClick:function(){K(),(!r||M)&&z()},onDoubleClick:function(){b&&s(!1)},onMouseEnter:function(){w&&K()},onMouseDown:function(X){X.preventDefault()}},r&&i.createElement(xC,{prefixCls:"".concat(t,"-checkbox"),checked:N,halfChecked:I,disabled:D,onClick:function(X){X.stopPropagation(),z()}}),i.createElement("div",{className:"".concat(h,"-content")},O),!F&&x&&!M&&i.createElement("div",{className:"".concat(h,"-expand-icon")},x),F&&E&&i.createElement("div",{className:"".concat(h,"-loading-icon")},E))}))}const wC=function(){var e=ol(),t=e.multiple,r=e.open,n=i.useContext(Oo),a=n.values,o=i.useState([]),s=Y(o,2),l=s[0],u=s[1];return i.useEffect(function(){if(r&&!t){var c=a[0];u(c||[])}},[r]),[l,u]},EC=function(e,t,r,n,a,o){var s=ol(),l=s.direction,u=s.searchValue,c=s.toggleOpen,d=s.open,f=l==="rtl",v=i.useMemo(function(){for(var P=-1,w=t,T=[],$=[],R=n.length,D=function(I){var L=w.findIndex(function(A){return A[r.value]===n[I]});if(L===-1)return"break";P=L,T.push(P),$.push(n[I]),w=w[P][r.children]},O=0;O1){var w=h.slice(0,-1);b(w)}else c(!1)},E=function(){var w,T=((w=y[g])===null||w===void 0?void 0:w[r.children])||[],$=T.find(function(D){return!D.disabled});if($){var R=[].concat(Ke(h),[$[r.value]]);b(R)}};i.useImperativeHandle(e,function(){return{onKeyDown:function(w){var T=w.which;switch(T){case Be.UP:case Be.DOWN:{var $=0;T===Be.UP?$=-1:T===Be.DOWN&&($=1),$!==0&&C($);break}case Be.LEFT:{if(u)break;f?E():x();break}case Be.RIGHT:{if(u)break;f?x():E();break}case Be.BACKSPACE:{u||x();break}case Be.ENTER:{if(h.length){var R=y[g],D=(R==null?void 0:R[fo])||[];D.length?o(D.map(function(O){return O[r.value]}),D[D.length-1]):o(h,y[g])}break}case Be.ESC:c(!1),d&&w.stopPropagation()}},onKeyUp:function(){}}})};var PC=i.forwardRef(function(e,t){var r,n,a,o,s=ol(),l=s.prefixCls,u=s.multiple,c=s.searchValue,d=s.toggleOpen,f=s.notFoundContent,v=s.direction,m=i.useRef(),h=v==="rtl",g=i.useContext(Oo),y=g.options,b=g.values,C=g.halfValues,x=g.fieldNames,E=g.changeOnSelect,P=g.onSelect,w=g.searchOptions,T=g.dropdownPrefixCls,$=g.loadData,R=g.expandTrigger,D=T||l,O=i.useState([]),k=Y(O,2),M=k[0],F=k[1],N=function(ee){if(!(!$||c)){var le=bo(ee,y,x),re=le.map(function(me){var ce=me.option;return ce}),ge=re[re.length-1];if(ge&&!ao(ge,x)){var Pe=Rr(ee);F(function(me){return[].concat(Ke(me),[Pe])}),$(re)}}};i.useEffect(function(){M.length&&M.forEach(function(te){var ee=sC(te),le=bo(ee,y,x,!0).map(function(ge){var Pe=ge.option;return Pe}),re=le[le.length-1];(!re||re[x.children]||ao(re,x))&&F(function(ge){return ge.filter(function(Pe){return Pe!==te})})})},[y,M,x]);var I=i.useMemo(function(){return new Set(va(b))},[b]),L=i.useMemo(function(){return new Set(va(C))},[C]),A=wC(),_=Y(A,2),K=_[0],z=_[1],j=function(ee){z(ee),N(ee)},V=function(ee){var le=ee.disabled,re=ao(ee,x);return!le&&(re||E||u)},X=function(ee,le){var re=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;P(ee),!u&&(le||E&&(R==="hover"||re))&&d(!1)},H=i.useMemo(function(){return c?w:y},[c,w,y]),Z=i.useMemo(function(){for(var te=[{options:H}],ee=H,le=function(){var me=K[re],ce=ee.find(function(ie){return ie[x.value]===me}),fe=ce==null?void 0:ce[x.children];if(!(fe!=null&&fe.length))return"break";ee=fe,te.push({options:fe})},re=0;re":k,F=e.loadingIcon,N=e.children,I=e.dropdownMatchSelectWidth,L=I===void 0?!1:I,A=e.showCheckedStrategy,_=A===void 0?Uv:A,K=ze(e,RC),z=cv(r),j=!!f,V=Rt(s,{value:l,postState:xc}),X=Y(V,2),H=X[0],Z=X[1],U=i.useMemo(function(){return uC(o)},[JSON.stringify(o)]),ae=i.useMemo(function(){return y||[]},[y]),q=hC(ae,U),ne=i.useCallback(function(tt){var we=q();return tt.map(function(He){var Me=we[He].nodes;return Me.map(function(Le){return Le[U.value]})})},[q,U]),ue=Rt("",{value:v,postState:function(we){return we||""}}),G=Y(ue,2),te=G[0],ee=G[1],le=function(we,He){ee(we),He.source!=="blur"&&m&&m(we)},re=gC(h),ge=Y(re,2),Pe=ge[0],me=ge[1],ce=CC(te,ae,U,b||a,me,u),fe=pC(ae,U),ie=i.useMemo(function(){var tt=fe(H),we=Y(tt,2),He=we[0],Me=we[1];if(!j||!H.length)return[He,[],Me];var Le=va(He),ye=q(),de=kn(Le,!0,ye),be=de.checkedKeys,Ne=de.halfCheckedKeys;return[ne(be),ne(Ne),Me]},[j,H,q,ne,fe]),se=Y(ie,3),he=se[0],Ce=se[1],ke=se[2],Te=i.useMemo(function(){var tt=va(he),we=bc(tt,q,_);return[].concat(Ke(ke),Ke(ne(we)))},[he,q,ne,ke,_]),Se=dC(Te,ae,U,j,d),Re=Cc(function(tt){if(Z(tt),c){var we=xc(tt),He=we.map(function(ye){return bo(ye,ae,U).map(function(de){return de.option})}),Me=j?we:we[0],Le=j?He:He[0];c(Me,Le)}}),Ee=Cc(function(tt){if(ee(""),!j)Re(tt);else{var we=Rr(tt),He=va(he),Me=va(Ce),Le=He.includes(we),ye=ke.some(function(dt){return Rr(dt)===we}),de=he,be=ke;if(ye&&!Le)be=ke.filter(function(dt){return Rr(dt)!==we});else{var Ne=Le?He.filter(function(dt){return dt!==we}):[].concat(Ke(He),[we]),Ue=q(),lt;if(Le){var $e=kn(Ne,{checked:!1,halfCheckedKeys:Me},Ue);lt=$e.checkedKeys}else{var xe=kn(Ne,!0,Ue);lt=xe.checkedKeys}var Je=bc(lt,q,_);de=ne(Je)}Re([].concat(Ke(be),Ke(de)))}}),Qe=function(we,He){if(He.type==="clear"){Re([]);return}var Me=He.values[0].valueCells;Ee(Me)},et=E!==void 0?E:x,vt=w||P,ct=R||$,ht=function(we){D==null||D(we),O==null||O(we)},Ge=i.useMemo(function(){return{options:ae,fieldNames:U,values:he,halfValues:Ce,changeOnSelect:u,onSelect:Ee,checkable:f,searchOptions:ce,dropdownPrefixCls:b,loadData:C,expandTrigger:g,expandIcon:M,loadingIcon:F,dropdownMenuColumnStyle:T}},[ae,U,he,Ce,u,Ee,f,ce,b,C,g,M,F,T]),_e=!(te?ce:ae).length,mt=te&&me.matchInputWidth||_e?{}:{minWidth:"auto"};return i.createElement(Oo.Provider,{value:Ge},i.createElement(dv,J({},K,{ref:t,id:z,prefixCls:a,dropdownMatchSelectWidth:L,dropdownStyle:mt,displayValues:Se,onDisplayValuesChange:Qe,mode:j?"multiple":void 0,searchValue:te,onSearch:le,showSearch:Pe,OptionList:PC,emptyOptions:_e,open:et,dropdownClassName:vt,placement:ct,onDropdownVisibleChange:ht,getRawInputElement:function(){return N}})))});_o.SHOW_PARENT=Uv;_o.SHOW_CHILD=Yv;var NC=globalThis&&globalThis.__rest||function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,n=Object.getOwnPropertySymbols(e);a2&&arguments[2]!==void 0?arguments[2]:!0,ne=function(){T(function(G){var te=new Map(G),ee=te.delete(U);return ee?te:G})};return T(function(ue){return new Map(ue).set(U,{url:ae,canPreview:q})}),ne},H=function(U){U.stopPropagation(),N(!1),_(null)};return i.useEffect(function(){O(j)},[j]),i.useEffect(function(){!F&&K&&O(j)},[j,K,F]),i.createElement(GC,{value:{isPreviewGroup:!0,previewUrls:V,setPreviewUrls:T,current:D,setCurrent:O,setShowPreview:N,setMousePosition:_,registerImage:X}},a,i.createElement(em,J({"aria-hidden":!F,visible:F,prefixCls:n,onClose:H,mousePosition:A,src:V.get(D),icons:s,getContainer:h,countRender:C},x)))},Pi=1,Ri=50,Ja=1,XC=.2,ZC=function(t){var r,n=t.visible,a=t.maskTransitionName,o=t.getContainer,s=t.prefixCls,l=t.rootClassName,u=t.icons,c=t.countRender,d=t.showSwitch,f=t.showProgress,v=t.current,m=t.count,h=t.scale,g=t.onSwitchLeft,y=t.onSwitchRight,b=t.onClose,C=t.onZoomIn,x=t.onZoomOut,E=t.onRotateRight,P=t.onRotateLeft,w=u.rotateLeft,T=u.rotateRight,$=u.zoomIn,R=u.zoomOut,D=u.close,O=u.left,k=u.right,M="".concat(s,"-operations-operation"),F="".concat(s,"-operations-icon"),N=[{icon:D,onClick:b,type:"close"},{icon:$,onClick:C,type:"zoomIn",disabled:h===Ri},{icon:R,onClick:x,type:"zoomOut",disabled:h===Pi},{icon:T,onClick:E,type:"rotateRight"},{icon:w,onClick:P,type:"rotateLeft"}],I=i.createElement(i.Fragment,null,d&&i.createElement(i.Fragment,null,i.createElement("div",{className:ve("".concat(s,"-switch-left"),B({},"".concat(s,"-switch-left-disabled"),v===0)),onClick:g},O),i.createElement("div",{className:ve("".concat(s,"-switch-right"),B({},"".concat(s,"-switch-right-disabled"),v===m-1)),onClick:y},k)),i.createElement("ul",{className:"".concat(s,"-operations")},f&&i.createElement("li",{className:"".concat(s,"-operations-progress")},(r=c==null?void 0:c(v+1,m))!==null&&r!==void 0?r:"".concat(v+1," / ").concat(m)),N.map(function(L){var A,_=L.icon,K=L.onClick,z=L.type,j=L.disabled;return i.createElement("li",{className:ve(M,(A={},B(A,"".concat(s,"-operations-operation-").concat(z),!0),B(A,"".concat(s,"-operations-operation-disabled"),!!j),A)),onClick:K,key:z},i.isValidElement(_)?i.cloneElement(_,{className:F}):_)})));return i.createElement(Zi,{visible:n,motionName:a},function(L){var A=L.className,_=L.style;return i.createElement(i0,{open:!0,getContainer:o??document.body},i.createElement("div",{className:ve("".concat(s,"-operations-wrapper"),A,l),style:_},I))})},Sc={x:0,y:0,rotate:0,scale:1};function QC(e){var t=i.useRef(null),r=i.useRef([]),n=i.useState(Sc),a=Y(n,2),o=a[0],s=a[1],l=function(){s(Sc)},u=function(f){t.current===null&&(r.current=[],t.current=Gr(function(){s(function(v){var m=v;return r.current.forEach(function(h){m=p(p({},m),h)}),t.current=null,m})})),r.current.push(p(p({},o),f))},c=function(f,v,m){var h=e.current,g=h.width,y=h.height,b=h.offsetWidth,C=h.offsetHeight,x=h.offsetLeft,E=h.offsetTop,P=f,w=o.scale*f;w>Ri?(P=Ri/o.scale,w=Ri):wn){if(t>0)return B({},e,o);if(t<0&&an)return B({},e,t<0?o:-o);return{}}function JC(e,t,r,n){var a=Jv(),o=a.width,s=a.height,l=null;return e<=o&&t<=s?l={x:0,y:0}:(e>o||t>s)&&(l=p(p({},wc("x",r,e,o)),wc("y",n,t,s))),l}var e2=["prefixCls","src","alt","onClose","afterClose","visible","icons","rootClassName","getContainer","countRender","scaleStep","transitionName","maskTransitionName"],em=function(t){var r=t.prefixCls,n=t.src,a=t.alt,o=t.onClose;t.afterClose;var s=t.visible,l=t.icons,u=l===void 0?{}:l,c=t.rootClassName,d=t.getContainer,f=t.countRender,v=t.scaleStep,m=v===void 0?.5:v,h=t.transitionName,g=h===void 0?"zoom":h,y=t.maskTransitionName,b=y===void 0?"fade":y,C=ze(t,e2),x=i.useRef(),E=i.useRef({deltaX:0,deltaY:0,transformX:0,transformY:0}),P=i.useState(!1),w=Y(P,2),T=w[0],$=w[1],R=i.useContext(bu),D=R.previewUrls,O=R.current,k=R.isPreviewGroup,M=R.setCurrent,F=D.size,N=Array.from(D.keys()),I=N.indexOf(O),L=k?D.get(O):n,A=k&&F>1,_=k&&F>=1,K=QC(x),z=K.transform,j=K.resetTransform,V=K.updateTransform,X=K.dispatchZoonChange,H=z.rotate,Z=z.scale,U=ve(B({},"".concat(r,"-moving"),T)),ae=function(){j()},q=function(){X(Ja+m)},ne=function(){X(Ja-m)},ue=function(){V({rotate:H+90})},G=function(){V({rotate:H-90})},te=function(ie){ie.preventDefault(),ie.stopPropagation(),I>0&&M(N[I-1])},ee=function(ie){ie.preventDefault(),ie.stopPropagation(),I0&&(Ce=Ja/Ce),X(Ce,ie.clientX,ie.clientY)}},me=i.useCallback(function(fe){!s||!A||(fe.keyCode===Be.LEFT?I>0&&M(N[I-1]):fe.keyCode===Be.RIGHT&&I=0||l.relatedTarget.className.indexOf("".concat(f,"-item"))>=0))&&d(n.getValidValue()))},n.go=function(l){var u=n.state.goInputText;u!==""&&(l.keyCode===Hr.ENTER||l.type==="click")&&(n.setState({goInputText:""}),n.props.quickGo(n.getValidValue()))},n}return wn(r,[{key:"getValidValue",value:function(){var a=this.state.goInputText;return!a||isNaN(a)?void 0:Number(a)}},{key:"getPageSizeOptions",value:function(){var a=this.props,o=a.pageSize,s=a.pageSizeOptions;return s.some(function(l){return l.toString()===o.toString()})?s:s.concat([o.toString()]).sort(function(l,u){var c=isNaN(Number(l))?0:Number(l),d=isNaN(Number(u))?0:Number(u);return c-d})}},{key:"render",value:function(){var a=this,o=this.props,s=o.pageSize,l=o.locale,u=o.rootPrefixCls,c=o.changeSize,d=o.quickGo,f=o.goButton,v=o.selectComponentClass,m=o.buildOptionText,h=o.selectPrefixCls,g=o.disabled,y=this.state.goInputText,b="".concat(u,"-options"),C=v,x=null,E=null,P=null;if(!c&&!d)return null;var w=this.getPageSizeOptions();if(c&&C){var T=w.map(function($,R){return Q.createElement(C.Option,{key:R,value:$.toString()},(m||a.buildOptionText)($))});x=Q.createElement(C,{disabled:g,prefixCls:h,showSearch:!1,className:"".concat(b,"-size-changer"),optionLabelProp:"children",dropdownMatchSelectWidth:!1,value:(s||w[0]).toString(),onChange:this.changeSize,getPopupContainer:function(R){return R.parentNode},"aria-label":l.page_size,defaultOpen:!1},T)}return d&&(f&&(P=typeof f=="boolean"?Q.createElement("button",{type:"button",onClick:this.go,onKeyUp:this.go,disabled:g,className:"".concat(b,"-quick-jumper-button")},l.jump_to_confirm):Q.createElement("span",{onClick:this.go,onKeyUp:this.go},f)),E=Q.createElement("div",{className:"".concat(b,"-quick-jumper")},l.jump_to,Q.createElement("input",{disabled:g,type:"text",value:y,onChange:this.handleChange,onKeyUp:this.go,onBlur:this.handleBlur,"aria-label":l.page}),l.page,P)),Q.createElement("li",{className:"".concat(b)},x,E)}}]),r}(Q.Component);rm.defaultProps={pageSizeOptions:["10","20","50","100"]};const am={items_per_page:"æĄ/éĄĩ",jump_to:"č·ģč‡ģ",jump_to_confirm:"įĄŪåۚ",page:"éĄĩ",prev_page:"äļŠäļ€éĄĩ",next_page:"äļ‹äļ€éĄĩ",prev_5:"向前 5 éĄĩ",next_5:"向后 5 éĄĩ",prev_3:"向前 3 éĄĩ",next_3:"向后 3 éĄĩ",page_size:"éĄĩ᠁"};function bs(){}function Rc(e){var t=Number(e);return typeof t=="number"&&!isNaN(t)&&isFinite(t)&&Math.floor(t)===t}function l2(e,t,r){return r}function Cr(e,t,r){var n=typeof e>"u"?t.pageSize:e;return Math.floor((r.total-1)/n)+1}var om=function(e){Cn(r,e);var t=xn(r);function r(n){var a;Sn(this,r),a=t.call(this,n),a.getJumpPrevPage=function(){return Math.max(1,a.state.current-(a.props.showLessItems?3:5))},a.getJumpNextPage=function(){return Math.min(Cr(void 0,a.state,a.props),a.state.current+(a.props.showLessItems?3:5))},a.getItemIcon=function(c,d){var f=a.props.prefixCls,v=c||Q.createElement("button",{type:"button","aria-label":d,className:"".concat(f,"-item-link")});return typeof c=="function"&&(v=Q.createElement(c,p({},a.props))),v},a.savePaginationNode=function(c){a.paginationNode=c},a.isValid=function(c){var d=a.props.total;return Rc(c)&&c!==a.state.current&&Rc(d)&&d>0},a.shouldDisplayQuickJumper=function(){var c=a.props,d=c.showQuickJumper,f=c.total,v=a.state.pageSize;return f<=v?!1:d},a.handleKeyDown=function(c){(c.keyCode===Hr.ARROW_UP||c.keyCode===Hr.ARROW_DOWN)&&c.preventDefault()},a.handleKeyUp=function(c){var d=a.getValidValue(c),f=a.state.currentInputValue;d!==f&&a.setState({currentInputValue:d}),c.keyCode===Hr.ENTER?a.handleChange(d):c.keyCode===Hr.ARROW_UP?a.handleChange(d-1):c.keyCode===Hr.ARROW_DOWN&&a.handleChange(d+1)},a.handleBlur=function(c){var d=a.getValidValue(c);a.handleChange(d)},a.changePageSize=function(c){var d=a.state.current,f=Cr(c,a.state,a.props);d=d>f?f:d,f===0&&(d=a.state.current),typeof c=="number"&&("pageSize"in a.props||a.setState({pageSize:c}),"current"in a.props||a.setState({current:d,currentInputValue:d})),a.props.onShowSizeChange(d,c),"onChange"in a.props&&a.props.onChange&&a.props.onChange(d,c)},a.handleChange=function(c){var d=a.props,f=d.disabled,v=d.onChange,m=a.state,h=m.pageSize,g=m.current,y=m.currentInputValue;if(a.isValid(c)&&!f){var b=Cr(void 0,a.state,a.props),C=c;return c>b?C=b:c<1&&(C=1),"current"in a.props||a.setState({current:C}),C!==y&&a.setState({currentInputValue:C}),v(C,h),C}return g},a.prev=function(){a.hasPrev()&&a.handleChange(a.state.current-1)},a.next=function(){a.hasNext()&&a.handleChange(a.state.current+1)},a.jumpPrev=function(){a.handleChange(a.getJumpPrevPage())},a.jumpNext=function(){a.handleChange(a.getJumpNextPage())},a.hasPrev=function(){return a.state.current>1},a.hasNext=function(){return a.state.current2?f-2:0),m=2;m=s?u=s:u=Number(o),u}},{key:"getShowSizeChanger",value:function(){var a=this.props,o=a.showSizeChanger,s=a.total,l=a.totalBoundaryShowSizeChanger;return typeof o<"u"?o:s>l}},{key:"renderPrev",value:function(a){var o=this.props,s=o.prevIcon,l=o.itemRender,u=l(a,"prev",this.getItemIcon(s,"prev page")),c=!this.hasPrev();return i.isValidElement(u)?i.cloneElement(u,{disabled:c}):u}},{key:"renderNext",value:function(a){var o=this.props,s=o.nextIcon,l=o.itemRender,u=l(a,"next",this.getItemIcon(s,"next page")),c=!this.hasNext();return i.isValidElement(u)?i.cloneElement(u,{disabled:c}):u}},{key:"render",value:function(){var a=this,o=this.props,s=o.prefixCls,l=o.className,u=o.style,c=o.disabled,d=o.hideOnSinglePage,f=o.total,v=o.locale,m=o.showQuickJumper,h=o.showLessItems,g=o.showTitle,y=o.showTotal,b=o.simple,C=o.itemRender,x=o.showPrevNextJumpers,E=o.jumpPrevIcon,P=o.jumpNextIcon,w=o.selectComponentClass,T=o.selectPrefixCls,$=o.pageSizeOptions,R=this.state,D=R.current,O=R.pageSize,k=R.currentInputValue;if(d===!0&&f<=O)return null;var M=Cr(void 0,this.state,this.props),F=[],N=null,I=null,L=null,A=null,_=null,K=m&&m.goButton,z=h?1:2,j=D-1>0?D-1:0,V=D+1f?f:D*O]));if(b)return K&&(typeof K=="boolean"?_=Q.createElement("button",{type:"button",onClick:this.handleGoTO,onKeyUp:this.handleGoTO},v.jump_to_confirm):_=Q.createElement("span",{onClick:this.handleGoTO,onKeyUp:this.handleGoTO},K),_=Q.createElement("li",{title:g?"".concat(v.jump_to).concat(D,"/").concat(M):null,className:"".concat(s,"-simple-pager")},_)),Q.createElement("ul",J({className:ve(s,"".concat(s,"-simple"),B({},"".concat(s,"-disabled"),c),l),style:u,ref:this.savePaginationNode},X),H,Q.createElement("li",{title:g?v.prev_page:null,onClick:this.prev,tabIndex:this.hasPrev()?0:null,onKeyPress:this.runIfEnterPrev,className:ve("".concat(s,"-prev"),B({},"".concat(s,"-disabled"),!this.hasPrev())),"aria-disabled":!this.hasPrev()},this.renderPrev(j)),Q.createElement("li",{title:g?"".concat(D,"/").concat(M):null,className:"".concat(s,"-simple-pager")},Q.createElement("input",{type:"text",value:k,disabled:c,onKeyDown:this.handleKeyDown,onKeyUp:this.handleKeyUp,onChange:this.handleKeyUp,onBlur:this.handleBlur,size:"3"}),Q.createElement("span",{className:"".concat(s,"-slash")},"/"),M),Q.createElement("li",{title:g?v.next_page:null,onClick:this.next,tabIndex:this.hasPrev()?0:null,onKeyPress:this.runIfEnterNext,className:ve("".concat(s,"-next"),B({},"".concat(s,"-disabled"),!this.hasNext())),"aria-disabled":!this.hasNext()},this.renderNext(V)),_);if(M<=3+z*2){var Z={locale:v,rootPrefixCls:s,onClick:this.handleChange,onKeyPress:this.runIfEnter,showTitle:g,itemRender:C};M||F.push(Q.createElement(eo,J({},Z,{key:"noPager",page:1,className:"".concat(s,"-item-disabled")})));for(var U=1;U<=M;U+=1){var ae=D===U;F.push(Q.createElement(eo,J({},Z,{key:U,page:U,active:ae})))}}else{var q=h?v.prev_3:v.prev_5,ne=h?v.next_3:v.next_5;x&&(N=Q.createElement("li",{title:g?q:null,key:"prev",onClick:this.jumpPrev,tabIndex:"0",onKeyPress:this.runIfEnterJumpPrev,className:ve("".concat(s,"-jump-prev"),B({},"".concat(s,"-jump-prev-custom-icon"),!!E))},C(this.getJumpPrevPage(),"jump-prev",this.getItemIcon(E,"prev page"))),I=Q.createElement("li",{title:g?ne:null,key:"next",tabIndex:"0",onClick:this.jumpNext,onKeyPress:this.runIfEnterJumpNext,className:ve("".concat(s,"-jump-next"),B({},"".concat(s,"-jump-next-custom-icon"),!!P))},C(this.getJumpNextPage(),"jump-next",this.getItemIcon(P,"next page")))),A=Q.createElement(eo,{locale:v,last:!0,rootPrefixCls:s,onClick:this.handleChange,onKeyPress:this.runIfEnter,key:M,page:M,active:!1,showTitle:g,itemRender:C}),L=Q.createElement(eo,{locale:v,rootPrefixCls:s,onClick:this.handleChange,onKeyPress:this.runIfEnter,key:1,page:1,active:!1,showTitle:g,itemRender:C});var ue=Math.max(1,D-z),G=Math.min(D+z,M);D-1<=z&&(G=1+z*2),M-D<=z&&(ue=M-z*2);for(var te=ue;te<=G;te+=1){var ee=D===te;F.push(Q.createElement(eo,{locale:v,rootPrefixCls:s,onClick:this.handleChange,onKeyPress:this.runIfEnter,key:te,page:te,active:ee,showTitle:g,itemRender:C}))}D-1>=z*2&&D!==1+2&&(F[0]=i.cloneElement(F[0],{className:"".concat(s,"-item-after-jump-prev")}),F.unshift(N)),M-D>=z*2&&D!==M-2&&(F[F.length-1]=i.cloneElement(F[F.length-1],{className:"".concat(s,"-item-before-jump-next")}),F.push(I)),ue!==1&&F.unshift(L),G!==M&&F.push(A)}var le=!this.hasPrev()||!M,re=!this.hasNext()||!M;return Q.createElement("ul",J({className:ve(s,l,B({},"".concat(s,"-disabled"),c)),style:u,ref:this.savePaginationNode},X),H,Q.createElement("li",{title:g?v.prev_page:null,onClick:this.prev,tabIndex:le?null:0,onKeyPress:this.runIfEnterPrev,className:ve("".concat(s,"-prev"),B({},"".concat(s,"-disabled"),le)),"aria-disabled":le},this.renderPrev(j)),F,Q.createElement("li",{title:g?v.next_page:null,onClick:this.next,tabIndex:re?null:0,onKeyPress:this.runIfEnterNext,className:ve("".concat(s,"-next"),B({},"".concat(s,"-disabled"),re)),"aria-disabled":re},this.renderNext(V)),Q.createElement(rm,{disabled:c,locale:v,rootPrefixCls:s,selectComponentClass:w,selectPrefixCls:T,changeSize:this.getShowSizeChanger()?this.changePageSize:null,current:D,pageSize:O,pageSizeOptions:$,quickGo:this.shouldDisplayQuickJumper()?this.handleChange:null,goButton:K}))}}],[{key:"getDerivedStateFromProps",value:function(a,o){var s={};if("current"in a&&(s.current=a.current,a.current!==o.current&&(s.currentInputValue=s.current)),"pageSize"in a&&a.pageSize!==o.pageSize){var l=o.current,u=Cr(a.pageSize,o,a);l=l>u?u:l,"current"in a||(s.current=l,s.currentInputValue=l),s.pageSize=a.pageSize}return s}}]),r}(Q.Component);om.defaultProps={defaultCurrent:1,total:0,defaultPageSize:10,onChange:bs,className:"",selectPrefixCls:"rc-select",prefixCls:"rc-pagination",selectComponentClass:null,hideOnSinglePage:!1,showPrevNextJumpers:!0,showQuickJumper:!1,showLessItems:!1,showTitle:!0,onShowSizeChange:bs,locale:am,style:{},itemRender:l2,totalBoundaryShowSizeChanger:50};var im=function(t){return i.createElement(Tr,J({},t,{size:"small"}))},lm=function(t){return i.createElement(Tr,J({},t,{size:"middle"}))};im.Option=Tr.Option;lm.Option=Tr.Option;var s2=globalThis&&globalThis.__rest||function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,n=Object.getOwnPropertySymbols(e);a=d&&lv?"true":"false","aria-posinset":v+1,"aria-setsize":m,tabIndex:u?-1:0},Q.createElement("div",{className:"".concat(c,"-first")},g),Q.createElement("div",{className:"".concat(c,"-second")},g)));return f&&(y=f(y,this.props)),y}}]),r}(Q.Component);function Nc(){}var sm=function(e){Cn(r,e);var t=xn(r);function r(n){var a;Sn(this,r),a=t.call(this,n),a.stars=void 0,a.rate=void 0,a.onHover=function(s,l){var u=a.props.onHoverChange,c=a.getStarValue(l,s.pageX),d=a.state.cleanedValue;c!==d&&a.setState({hoverValue:c,cleanedValue:null}),u(c)},a.onMouseLeave=function(){var s=a.props.onHoverChange;a.setState({hoverValue:void 0,cleanedValue:null}),s(void 0)},a.onClick=function(s,l){var u=a.props.allowClear,c=a.state.value,d=a.getStarValue(l,s.pageX),f=!1;u&&(f=d===c),a.onMouseLeave(),a.changeValue(f?0:d),a.setState({cleanedValue:f?d:null})},a.onFocus=function(){var s=a.props.onFocus;a.setState({focused:!0}),s&&s()},a.onBlur=function(){var s=a.props.onBlur;a.setState({focused:!1}),s&&s()},a.onKeyDown=function(s){var l=s.keyCode,u=a.props,c=u.count,d=u.allowHalf,f=u.onKeyDown,v=u.direction,m=v==="rtl",h=a.state.value;l===Be.RIGHT&&h0&&!m||l===Be.RIGHT&&h>0&&m?(d?h-=.5:h-=1,a.changeValue(h),s.preventDefault()):l===Be.LEFT&&hm/2||!c&&o-v=r}function B2(e){return e&&Ye(e)==="object"&&!Array.isArray(e)&&!i.isValidElement(e)}function H2(e){return typeof e=="string"?!0:Kp(e)}var W2=function(t){var r=t.ellipsis,n=t.rowType,a=t.children,o,s=r===!0?{showTitle:!0}:r;return s&&(s.showTitle||n==="header")&&(typeof a=="string"||typeof a=="number"?o=a.toString():i.isValidElement(a)&&typeof a.props.children=="string"&&(o=a.props.children)),o};function U2(e,t){var r,n,a,o=e.prefixCls,s=e.className,l=e.record,u=e.index,c=e.renderIndex,d=e.dataIndex,f=e.render,v=e.children,m=e.component,h=m===void 0?"td":m,g=e.colSpan,y=e.rowSpan,b=e.fixLeft,C=e.fixRight,x=e.firstFixLeft,E=e.lastFixLeft,P=e.firstFixRight,w=e.lastFixRight,T=e.appendNode,$=e.additionalProps,R=$===void 0?{}:$,D=e.ellipsis,O=e.align,k=e.rowType,M=e.isSticky,F=e.hovering,N=e.onHover,I="".concat(o,"-cell"),L=i.useContext(hm),A=i.useContext(vm),_=i.useContext(vl),K=_.allColumnsFixedLeft,z=i.useMemo(function(){if(Cs(v))return[v];var ie=fm(l,d),se=ie,he=void 0;if(f){var Ce=f(ie,l,c);B2(Ce)?(se=Ce.children,he=Ce.props,L.renderWithProps=!0):se=Ce}return[se,he]},[L.renderWithProps?Math.random():0,v,d,L,l,f,c]),j=Y(z,2),V=j[0],X=j[1],H=V;Ye(H)==="object"&&!Array.isArray(H)&&!i.isValidElement(H)&&(H=null),D&&(E||P)&&(H=i.createElement("span",{className:"".concat(I,"-content")},H));var Z=X||{},U=Z.colSpan,ae=Z.rowSpan,q=Z.style,ne=Z.className,ue=ze(Z,V2),G=(r=U!==void 0?U:g)!==null&&r!==void 0?r:1,te=(n=ae!==void 0?ae:y)!==null&&n!==void 0?n:1;if(G===0||te===0)return null;var ee={},le=typeof b=="number"&&A,re=typeof C=="number"&&A;le&&(ee.position="sticky",ee.left=b),re&&(ee.position="sticky",ee.right=C);var ge={};O&&(ge.textAlign=O);var Pe=function(se){var he;l&&N(u,u+te-1),R==null||(he=R.onMouseEnter)===null||he===void 0||he.call(R,se)},me=function(se){var he;l&&N(-1,-1),R==null||(he=R.onMouseLeave)===null||he===void 0||he.call(R,se)},ce=W2({rowType:k,ellipsis:D,children:V}),fe=p(p(p({title:ce},ue),R),{},{colSpan:G!==1?G:null,rowSpan:te!==1?te:null,className:ve(I,s,(a={},B(a,"".concat(I,"-fix-left"),le&&A),B(a,"".concat(I,"-fix-left-first"),x&&A),B(a,"".concat(I,"-fix-left-last"),E&&A),B(a,"".concat(I,"-fix-left-all"),E&&K&&A),B(a,"".concat(I,"-fix-right"),re&&A),B(a,"".concat(I,"-fix-right-first"),P&&A),B(a,"".concat(I,"-fix-right-last"),w&&A),B(a,"".concat(I,"-ellipsis"),D),B(a,"".concat(I,"-with-append"),T),B(a,"".concat(I,"-fix-sticky"),(le||re)&&M&&A),B(a,"".concat(I,"-row-hover"),!X&&F),a),R.className,ne),style:p(p(p(p({},R.style),ge),ee),q),onMouseEnter:Pe,onMouseLeave:me,ref:H2(h)?t:null});return i.createElement(h,fe,T,H)}var pm=i.forwardRef(U2);pm.displayName="Cell";var Y2=["expanded","className","hovering"],G2=i.memo(pm,function(e,t){return t.shouldCellUpdate?Y2.every(function(r){return e[r]===t[r]})&&!t.shouldCellUpdate(t.record,e.record):fu(e,t)}),Ao=i.forwardRef(function(e,t){var r=e.index,n=e.additionalProps,a=n===void 0?{}:n,o=e.colSpan,s=e.rowSpan,l=a.colSpan,u=a.rowSpan,c=o??l,d=s??u,f=K2(mm,function(h){var g=z2(r,d||1,h==null?void 0:h.startRow,h==null?void 0:h.endRow);return{onHover:h==null?void 0:h.onHover,hovering:g}}),v=f.onHover,m=f.hovering;return i.createElement(G2,J({},e,{colSpan:c,rowSpan:d,hovering:m,ref:t,onHover:v}))});Ao.displayName="WrappedCell";var qn=i.createContext(null);function Cu(e,t,r,n,a){var o=r[e]||{},s=r[t]||{},l,u;o.fixed==="left"?l=n.left[e]:s.fixed==="right"&&(u=n.right[t]);var c=!1,d=!1,f=!1,v=!1,m=r[t+1],h=r[e-1];if(a==="rtl"){if(l!==void 0){var g=h&&h.fixed==="left";v=!g}else if(u!==void 0){var y=m&&m.fixed==="right";f=!y}}else if(l!==void 0){var b=m&&m.fixed==="left";c=!b}else if(u!==void 0){var C=h&&h.fixed==="right";d=!C}return{fixLeft:l,fixRight:u,lastFixLeft:c,firstFixRight:d,lastFixRight:f,firstFixLeft:v,isSticky:n.isSticky}}function gm(e){var t=e.cells,r=e.stickyOffsets,n=e.flattenColumns,a=e.rowComponent,o=e.cellComponent,s=e.onHeaderRow,l=e.index,u=i.useContext(qn),c=u.prefixCls,d=u.direction,f;s&&(f=s(t.map(function(m){return m.column}),l));var v=fl(t.map(function(m){return m.column}));return i.createElement(a,f,t.map(function(m,h){var g=m.column,y=Cu(m.colStart,m.colEnd,n,r,d),b;return g&&g.onHeaderCell&&(b=m.column.onHeaderCell(g)),i.createElement(Ao,J({},m,{ellipsis:g.ellipsis,align:g.align,component:o,prefixCls:c,key:v[h]},y,{additionalProps:b,rowType:"header"}))}))}gm.displayName="HeaderRow";function q2(e){var t=[];function r(s,l){var u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;t[u]=t[u]||[];var c=l,d=s.filter(Boolean).map(function(f){var v={key:f.key,className:f.className||"",children:f.title,column:f,colStart:c},m=1,h=f.children;return h&&h.length>0&&(m=r(h,c,u+1).reduce(function(g,y){return g+y},0),v.hasSubColumns=!0),"colSpan"in f&&(m=f.colSpan),"rowSpan"in f&&(v.rowSpan=f.rowSpan),v.colSpan=m,v.colEnd=v.colStart+m-1,t[u].push(v),c+=m,m});return d}r(e,0);for(var n=t.length,a=function(l){t[l].forEach(function(u){!("rowSpan"in u)&&!u.hasSubColumns&&(u.rowSpan=n-l)})},o=0;o1?le-1:0),ge=1;ge0?[].concat(Ke(t),Ke(xs(o).map(function(s){return p({fixed:a},s)}))):[].concat(Ke(t),[p(p({},r),{},{fixed:a})])},[])}function ax(e){return e.map(function(t){var r=t.fixed,n=ze(t,rx),a=r;return r==="left"?a="right":r==="right"&&(a="left"),p({fixed:a},n)})}function ox(e,t){var r=e.prefixCls,n=e.columns,a=e.children,o=e.expandable,s=e.expandedKeys,l=e.columnTitle,u=e.getRowKey,c=e.onTriggerExpand,d=e.expandIcon,f=e.rowExpandable,v=e.expandIconColumnIndex,m=e.direction,h=e.expandRowByClick,g=e.columnWidth,y=e.fixed,b=i.useMemo(function(){return n||xu(a)},[n,a]),C=i.useMemo(function(){if(o){var P,w=b.slice();if(!w.includes(Wr)){var T=v||0;T>=0&&w.splice(T,0,Wr)}var $=w.indexOf(Wr);w=w.filter(function(k,M){return k!==Wr||M===$});var R=b[$],D;(y==="left"||y)&&!v?D="left":(y==="right"||y)&&v===b.length?D="right":D=R?R.fixed:null;var O=(P={},B(P,vo,{className:"".concat(r,"-expand-icon-col"),columnType:"EXPAND_COLUMN"}),B(P,"title",l),B(P,"fixed",D),B(P,"className","".concat(r,"-row-expand-icon-cell")),B(P,"width",g),B(P,"render",function(M,F,N){var I=u(F,N),L=s.has(I),A=f?f(F):!0,_=d({prefixCls:r,expanded:L,expandable:A,record:F,onExpand:c});return h?i.createElement("span",{onClick:function(z){return z.stopPropagation()}},_):_}),P);return w.map(function(k){return k===Wr?O:k})}return b.filter(function(k){return k!==Wr})},[o,b,u,s,d,m]),x=i.useMemo(function(){var P=C;return t&&(P=t(P)),P.length||(P=[{render:function(){return null}}]),P},[t,C,m]),E=i.useMemo(function(){return m==="rtl"?ax(xs(x)):xs(x)},[x,m]);return[x,E]}function Em(e){var t=i.useRef(e),r=i.useState({}),n=Y(r,2),a=n[1],o=i.useRef(null),s=i.useRef([]);function l(u){s.current.push(u);var c=Promise.resolve();o.current=c,c.then(function(){if(o.current===c){var d=s.current,f=t.current;s.current=[],d.forEach(function(v){t.current=v(t.current)}),o.current=null,f!==t.current&&a({})}})}return i.useEffect(function(){return function(){o.current=null}},[]),[t.current,l]}function ix(e){var t=i.useRef(e||null),r=i.useRef();function n(){window.clearTimeout(r.current)}function a(s){t.current=s,n(),r.current=window.setTimeout(function(){t.current=null,r.current=void 0},100)}function o(){return t.current}return i.useEffect(function(){return n},[]),[a,o]}function lx(e,t,r){var n=i.useMemo(function(){for(var a=[],o=[],s=0,l=0,u=0;u=0;l-=1){var u=t[l],c=r&&r[l],d=c&&c[vo];if(u||d||s){var f=d||{};f.columnType;var v=ze(f,sx);a.unshift(i.createElement("col",J({key:l,style:{width:u}},v))),s=!0}}return i.createElement("colgroup",null,a)}function Oc(e){var t=e.className,r=e.children;return i.createElement("div",{className:t},r)}var Rm=i.createContext({});function ux(e){var t=e.className,r=e.index,n=e.children,a=e.colSpan,o=a===void 0?1:a,s=e.rowSpan,l=e.align,u=i.useContext(qn),c=u.prefixCls,d=u.direction,f=i.useContext(Rm),v=f.scrollColumnIndex,m=f.stickyOffsets,h=f.flattenColumns,g=r+o-1,y=g+1===v?o+1:o,b=Cu(r,r+y-1,h,m,d);return i.createElement(Ao,J({className:t,index:r,component:"td",prefixCls:c,record:null,dataIndex:null,align:l,colSpan:y,rowSpan:s,render:function(){return n}},b))}var cx=["children"];function dx(e){var t=e.children,r=ze(e,cx);return i.createElement("tr",r,t)}function ml(e){var t=e.children;return t}ml.Row=dx;ml.Cell=ux;function gi(e){var t=e.children,r=e.stickyOffsets,n=e.flattenColumns,a=i.useContext(qn),o=a.prefixCls,s=n.length-1,l=n[s],u=i.useMemo(function(){return{stickyOffsets:r,flattenColumns:n,scrollColumnIndex:l!=null&&l.scrollbar?s:null}},[l,n,s,r]);return i.createElement(Rm.Provider,{value:u},i.createElement("tfoot",{className:"".concat(o,"-summary")},t))}var km=ml;function fx(e){var t,r=e.prefixCls,n=e.record,a=e.onExpand,o=e.expanded,s=e.expandable,l="".concat(r,"-row-expand-icon");if(!s)return i.createElement("span",{className:ve(l,"".concat(r,"-row-spaced"))});var u=function(d){a(n,d),d.stopPropagation()};return i.createElement("span",{className:ve(l,(t={},B(t,"".concat(r,"-row-expanded"),o),B(t,"".concat(r,"-row-collapsed"),!o),t)),onClick:u})}function vx(e,t,r){var n=[];function a(o){(o||[]).forEach(function(s,l){n.push(t(s,l)),a(s[r])})}return a(e),n}var mx=function(t,r){var n,a,o=t.scrollBodyRef,s=t.onScroll,l=t.offsetScroll,u=t.container,c=i.useContext(qn),d=c.prefixCls,f=((n=o.current)===null||n===void 0?void 0:n.scrollWidth)||0,v=((a=o.current)===null||a===void 0?void 0:a.clientWidth)||0,m=f&&v*(v/f),h=i.useRef(),g=Em({scrollLeft:0,isHiddenScrollBar:!1}),y=Y(g,2),b=y[0],C=y[1],x=i.useRef({delta:0,x:0}),E=i.useState(!1),P=Y(E,2),w=P[0],T=P[1],$=function(){T(!1)},R=function(F){F.persist(),x.current.delta=F.pageX-b.scrollLeft,x.current.x=0,T(!0),F.preventDefault()},D=function(F){var N,I=F||((N=window)===null||N===void 0?void 0:N.event),L=I.buttons;if(!w||L===0){w&&T(!1);return}var A=x.current.x+F.pageX-x.current.x-x.current.delta;A<=0&&(A=0),A+m>=v&&(A=v-m),s({scrollLeft:A/v*(f+2)}),x.current.x=F.pageX},O=function(){if(o.current){var F=ys(o.current).top,N=F+o.current.offsetHeight,I=u===window?document.documentElement.scrollTop+window.innerHeight:ys(u).top+u.clientHeight;N-ec()<=I||F>=I-l?C(function(L){return p(p({},L),{},{isHiddenScrollBar:!0})}):C(function(L){return p(p({},L),{},{isHiddenScrollBar:!1})})}},k=function(F){C(function(N){return p(p({},N),{},{scrollLeft:F/f*v||0})})};return i.useImperativeHandle(r,function(){return{setScrollLeft:k}}),i.useEffect(function(){var M=rr(document.body,"mouseup",$,!1),F=rr(document.body,"mousemove",D,!1);return O(),function(){M.remove(),F.remove()}},[m,w]),i.useEffect(function(){var M=rr(u,"scroll",O,!1),F=rr(window,"resize",O,!1);return function(){M.remove(),F.remove()}},[u]),i.useEffect(function(){b.isHiddenScrollBar||C(function(M){var F=o.current;return F?p(p({},M),{},{scrollLeft:F.scrollLeft/F.scrollWidth*F.clientWidth}):M})},[b.isHiddenScrollBar]),f<=v||!m||b.isHiddenScrollBar?null:i.createElement("div",{style:{height:ec(),width:v,bottom:l},className:"".concat(d,"-sticky-scroll")},i.createElement("div",{onMouseDown:R,ref:h,className:ve("".concat(d,"-sticky-scroll-bar"),B({},"".concat(d,"-sticky-scroll-bar-active"),w)),style:{width:"".concat(m,"px"),transform:"translate3d(".concat(b.scrollLeft,"px, 0, 0)")}}))};const hx=i.forwardRef(mx);var Dc=Kf()?window:null;function px(e,t){var r=Ye(e)==="object"?e:{},n=r.offsetHeader,a=n===void 0?0:n,o=r.offsetSummary,s=o===void 0?0:o,l=r.offsetScroll,u=l===void 0?0:l,c=r.getContainer,d=c===void 0?function(){return Dc}:c,f=d()||Dc;return i.useMemo(function(){var v=!!e;return{isSticky:v,stickyClassName:v?"".concat(t,"-sticky-holder"):"",offsetHeader:a,offsetSummary:s,offsetScroll:u,container:f}},[u,a,s,t,f])}var gx=["className","noData","columns","flattenColumns","colWidths","columCount","stickyOffsets","direction","fixHeader","stickyTopOffset","stickyBottomOffset","stickyClassName","onScroll","maxContentScroll","children"];function yx(e,t){return i.useMemo(function(){for(var r=[],n=0;n=0})},[o]),D=o[o.length-1],O={fixed:D?D.fixed:null,scrollbar:!0,onHeaderCell:function(){return{className:"".concat(x,"-cell-scrollbar")}}},k=i.useMemo(function(){return w?[].concat(Ke(a),[O]):a},[w,a]),M=i.useMemo(function(){return w?[].concat(Ke(o),[O]):o},[w,o]),F=i.useMemo(function(){var I=u.right,L=u.left;return p(p({},u),{},{left:c==="rtl"?[].concat(Ke(L.map(function(A){return A+w})),[0]):L,right:c==="rtl"?I:[].concat(Ke(I.map(function(A){return A+w})),[0]),isSticky:P})},[w,u,P]),N=yx(s,l);return i.createElement("div",{style:p({overflow:"hidden"},P?{top:f,bottom:v}:{}),ref:$,className:ve(r,B({},m,!!m))},i.createElement("table",{style:{tableLayout:"fixed",visibility:n||N?null:"hidden"}},(!n||!g||R)&&i.createElement(Pm,{colWidths:N?[].concat(Ke(N),[w]):[],columCount:l+1,columns:M}),y(p(p({},b),{},{stickyOffsets:F,columns:k,flattenColumns:M}))))});Ss.displayName="FixedHolder";var bx=[],Cx={},ki="rc-table-internal-hook",xx=i.memo(function(e){var t=e.children;return t},function(e,t){return fu(e.props,t.props)?e.pingLeft!==t.pingLeft||e.pingRight!==t.pingRight:!1});function ra(e){var t,r=e.prefixCls,n=e.className,a=e.rowClassName,o=e.style,s=e.data,l=e.rowKey,u=e.scroll,c=e.tableLayout,d=e.direction,f=e.title,v=e.footer,m=e.summary,h=e.id,g=e.showHeader,y=e.components,b=e.emptyText,C=e.onRow,x=e.onHeaderRow,E=e.internalHooks,P=e.transformColumns,w=e.internalRefs,T=e.sticky,$=s||bx,R=!!$.length,D=i.useCallback(function(gt,Ct){return fm(y||{},gt)||Ct},[y]),O=i.useMemo(function(){return typeof l=="function"?l:function(gt){var Ct=gt&>[l];return Ct}},[l]),k=tx(e),M=k.expandIcon,F=k.expandedRowKeys,N=k.defaultExpandedRowKeys,I=k.defaultExpandAllRows,L=k.expandedRowRender,A=k.columnTitle,_=k.onExpand,K=k.onExpandedRowsChange,z=k.expandRowByClick,j=k.rowExpandable,V=k.expandIconColumnIndex,X=k.expandedRowClassName,H=k.childrenColumnName,Z=k.indentSize,U=M||fx,ae=H||"children",q=i.useMemo(function(){return L?"row":e.expandable&&E===ki&&e.expandable.__PARENT_RENDER_ICON__||$.some(function(gt){return gt&&Ye(gt)==="object"&>[ae]})?"nest":!1},[!!L,$]),ne=i.useState(function(){return N||(I?vx($,O,ae):[])}),ue=Y(ne,2),G=ue[0],te=ue[1],ee=i.useMemo(function(){return new Set(F||G||[])},[F,G]),le=i.useCallback(function(gt){var Ct=O(gt,$.indexOf(gt)),Lt,Qt=ee.has(Ct);Qt?(ee.delete(Ct),Lt=Ke(ee)):Lt=[].concat(Ke(ee),[Ct]),te(Lt),_&&_(!Qt,gt),K&&K(Lt)},[O,ee,$,_,K]),re=i.useState(0),ge=Y(re,2),Pe=ge[0],me=ge[1],ce=ox(p(p(p({},e),k),{},{expandable:!!L,columnTitle:A,expandedKeys:ee,getRowKey:O,onTriggerExpand:le,expandIcon:U,expandIconColumnIndex:V,direction:d}),E===ki?P:null),fe=Y(ce,2),ie=fe[0],se=fe[1],he=i.useMemo(function(){return{columns:ie,flattenColumns:se}},[ie,se]),Ce=i.useRef(),ke=i.useRef(),Te=i.useRef(),Se=i.useRef(),Re=i.useRef(),Ee=i.useState(!1),Qe=Y(Ee,2),et=Qe[0],vt=Qe[1],ct=i.useState(!1),ht=Y(ct,2),Ge=ht[0],_e=ht[1],mt=Em(new Map),tt=Y(mt,2),we=tt[0],He=tt[1],Me=fl(se),Le=Me.map(function(gt){return we.get(gt)}),ye=i.useMemo(function(){return Le},[Le.join("_")]),de=lx(ye,se.length,d),be=u&&Cs(u.y),Ne=u&&Cs(u.x)||!!k.fixed,Ue=Ne&&se.some(function(gt){var Ct=gt.fixed;return Ct}),lt=i.useRef(),$e=px(T,r),xe=$e.isSticky,Je=$e.offsetHeader,dt=$e.offsetSummary,ut=$e.offsetScroll,Ot=$e.stickyClassName,Dt=$e.container,kt=m==null?void 0:m($),Ft=(be||xe)&&i.isValidElement(kt)&&kt.type===ml&&kt.props.fixed,nt,ot,ft;be&&(ot={overflowY:"scroll",maxHeight:u.y}),Ne&&(nt={overflowX:"auto"},be||(ot={overflowY:"hidden"}),ft={width:(u==null?void 0:u.x)===!0?"auto":u==null?void 0:u.x,minWidth:"100%"});var it=i.useCallback(function(gt,Ct){ov(Ce.current)&&He(function(Lt){if(Lt.get(gt)!==Ct){var Qt=new Map(Lt);return Qt.set(gt,Ct),Qt}return Lt})},[]),Ze=ix(null),Xe=Y(Ze,2),Fe=Xe[0],Ae=Xe[1];function Ie(gt,Ct){Ct&&(typeof Ct=="function"?Ct(gt):Ct.scrollLeft!==gt&&(Ct.scrollLeft=gt))}var Oe=function(Ct){var Lt=Ct.currentTarget,Qt=Ct.scrollLeft,Ya=d==="rtl",dn=typeof Qt=="number"?Qt:Lt.scrollLeft,hr=Lt||Cx;if(!Ae()||Ae()===hr){var pr;Fe(hr),Ie(dn,ke.current),Ie(dn,Te.current),Ie(dn,Re.current),Ie(dn,(pr=lt.current)===null||pr===void 0?void 0:pr.setScrollLeft)}if(Lt){var jr=Lt.scrollWidth,gr=Lt.clientWidth;if(jr===gr){vt(!1),_e(!1);return}Ya?(vt(-dn0)):(vt(dn>0),_e(dnl))return!1;var c=o.get(e),d=o.get(t);if(c&&d)return c==t&&d==e;var f=-1,v=!0,m=r&cS?new iS:void 0;for(o.set(e,t),o.set(t,e);++f0&&arguments[0]!==void 0?arguments[0]:[],t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],r=e.length,n=t.length;if(Math.abs(r-n)!==1)return{add:!1,key:null};function a(o,s){var l=new Map;o.forEach(function(c){l.set(c,!0)});var u=s.filter(function(c){return!l.has(c)});return u.length===1?u[0]:null}return r ").concat(t);return t}var Km=i.forwardRef(function(e,t){var r=e.prefixCls,n=e.data;e.selectable,e.checkable;var a=e.expandedKeys,o=e.selectedKeys,s=e.checkedKeys,l=e.loadedKeys,u=e.loadingKeys,c=e.halfCheckedKeys,d=e.keyEntities,f=e.disabled,v=e.dragging,m=e.dragOverNodeKey,h=e.dropPosition,g=e.motion,y=e.height,b=e.itemHeight,C=e.virtual,x=e.focusable,E=e.activeItem,P=e.focused,w=e.tabIndex,T=e.onKeyDown,$=e.onFocus,R=e.onBlur,D=e.onActiveChange,O=e.onListChangeStart,k=e.onListChangeEnd,M=ze(e,aw),F=i.useRef(null),N=i.useRef(null);i.useImperativeHandle(t,function(){return{scrollTo:function(fe){F.current.scrollTo(fe)},getIndentWidth:function(){return N.current.offsetWidth}}});var I=i.useState(a),L=Y(I,2),A=L[0],_=L[1],K=i.useState(n),z=Y(K,2),j=z[0],V=z[1],X=i.useState(n),H=Y(X,2),Z=H[0],U=H[1],ae=i.useState([]),q=Y(ae,2),ne=q[0],ue=q[1],G=i.useState(null),te=Y(G,2),ee=te[0],le=te[1],re=i.useRef(n);re.current=n;function ge(){var ce=re.current;V(ce),U(ce),ue([]),le(null),k()}Pr(function(){_(a);var ce=rw(A,a);if(ce.key!==null)if(ce.add){var fe=j.findIndex(function(Te){var Se=Te.key;return Se===ce.key}),ie=id(rd(j,n,ce.key),C,y,b),se=j.slice();se.splice(fe+1,0,od),U(se),ue(ie),le("show")}else{var he=n.findIndex(function(Te){var Se=Te.key;return Se===ce.key}),Ce=id(rd(n,j,ce.key),C,y,b),ke=n.slice();ke.splice(he+1,0,od),U(ke),ue(Ce),le("hide")}else j!==n&&(V(n),U(n))},[a,n]),i.useEffect(function(){v||ge()},[v]);var Pe=g?Z:n,me={expandedKeys:a,selectedKeys:o,loadedKeys:l,loadingKeys:u,checkedKeys:s,halfCheckedKeys:c,dragOverNodeKey:m,dropPosition:h,keyEntities:d};return i.createElement(i.Fragment,null,P&&E&&i.createElement("span",{style:ad,"aria-live":"assertive"},iw(E)),i.createElement("div",null,i.createElement("input",{style:ad,disabled:x===!1||f,tabIndex:x!==!1?w:null,onKeyDown:T,onFocus:$,onBlur:R,value:"",onChange:ow,"aria-label":"for screen reader"})),i.createElement("div",{className:"".concat(r,"-treenode"),"aria-hidden":!0,style:{position:"absolute",pointerEvents:"none",visibility:"hidden",height:0,overflow:"hidden",border:0,padding:0}},i.createElement("div",{className:"".concat(r,"-indent")},i.createElement("div",{ref:N,className:"".concat(r,"-indent-unit")}))),i.createElement(y0,J({},M,{data:Pe,itemKey:ld,height:y,fullHeight:!1,virtual:C,itemHeight:b,prefixCls:"".concat(r,"-list"),ref:F,onVisibleChange:function(fe,ie){var se=new Set(fe),he=ie.filter(function(Ce){return!se.has(Ce)});he.some(function(Ce){return ld(Ce)===Qr})&&ge()}}),function(ce){var fe=ce.pos,ie=J({},(Lm(ce.data),ce.data)),se=ce.title,he=ce.key,Ce=ce.isStart,ke=ce.isEnd,Te=Do(he,fe);delete ie.key,delete ie.children;var Se=co(Te,me);return i.createElement(nw,J({},ie,Se,{title:se,active:!!E&&he===E.key,pos:fe,data:ce.data,isStart:Ce,isEnd:ke,motion:g,motionNodes:he===Qr?ne:null,motionType:ee,onMotionStart:O,onMotionEnd:ge,treeNodeRequiredProps:me,onMouseMove:function(){D(null)}}))}))});Km.displayName="NodeList";function Bn(e,t){if(!e)return[];var r=e.slice(),n=r.indexOf(t);return n>=0&&r.splice(n,1),r}function tr(e,t){var r=(e||[]).slice();return r.indexOf(t)===-1&&r.push(t),r}function Mu(e){return e.split("-")}function lw(e,t){var r=[],n=hn(t,e);function a(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];o.forEach(function(s){var l=s.key,u=s.children;r.push(l),a(u)})}return a(n.children),r}function sw(e){if(e.parent){var t=Mu(e.pos);return Number(t[t.length-1])===e.parent.children.length-1}return!1}function uw(e){var t=Mu(e.pos);return Number(t[t.length-1])===0}function sd(e,t,r,n,a,o,s,l,u,c){var d,f=e.clientX,v=e.clientY,m=e.target.getBoundingClientRect(),h=m.top,g=m.height,y=(c==="rtl"?-1:1)*(((a==null?void 0:a.x)||0)-f),b=(y-12)/n,C=hn(l,r.props.eventKey);if(v-1.5?o({dragNode:k,dropNode:M,dropPosition:1})?R=1:F=!1:o({dragNode:k,dropNode:M,dropPosition:0})?R=0:o({dragNode:k,dropNode:M,dropPosition:1})?R=1:F=!1:o({dragNode:k,dropNode:M,dropPosition:1})?R=1:F=!1,{dropPosition:R,dropLevelOffset:D,dropTargetKey:C.key,dropTargetPos:C.pos,dragOverNodeKey:$,dropContainerKey:R===0?null:((d=C.parent)===null||d===void 0?void 0:d.key)||null,dropAllowed:F}}function ud(e,t){if(e){var r=t.multiple;return r?e.slice():e.length?[e[0]]:e}}function zl(e){if(!e)return null;var t;if(Array.isArray(e))t={checkedKeys:e,halfCheckedKeys:void 0};else if(Ye(e)==="object")t={checkedKeys:e.checked||void 0,halfCheckedKeys:e.halfChecked||void 0};else return an(!1,"`checkedKeys` is not an array or an object"),null;return t}function Ms(e,t){var r=new Set;function n(a){if(!r.has(a)){var o=hn(t,a);if(o){r.add(a);var s=o.parent,l=o.node;l.disabled||s&&n(s.key)}}}return(e||[]).forEach(function(a){n(a)}),Ke(r)}var cw=10,Cl=function(e){Cn(r,e);var t=xn(r);function r(){var n;Sn(this,r);for(var a=arguments.length,o=new Array(a),s=0;s2&&arguments[2]!==void 0?arguments[2]:!1,f=n.state,v=f.dragChildrenKeys,m=f.dropPosition,h=f.dropTargetKey,g=f.dropTargetPos,y=f.dropAllowed;if(y){var b=n.props.onDrop;if(n.setState({dragOverNodeKey:null}),n.cleanDragState(),h!==null){var C=p(p({},co(h,n.getTreeNodeRequiredProps())),{},{active:((c=n.getActiveItem())===null||c===void 0?void 0:c.key)===h,data:hn(n.state.keyEntities,h).node}),x=v.indexOf(h)!==-1;an(!x,"Can not drop to dragNode's children node. This is a bug of rc-tree. Please report an issue.");var E=Mu(g),P={event:l,node:Gt(C),dragNode:n.dragNode?Gt(n.dragNode.props):null,dragNodesKeys:[n.dragNode.props.eventKey].concat(v),dropToGap:m!==0,dropPosition:m+Number(E[E.length-1])};d||b==null||b(P),n.dragNode=null}}},n.cleanDragState=function(){var l=n.state.draggingNodeKey;l!==null&&n.setState({draggingNodeKey:null,dropPosition:null,dropContainerKey:null,dropTargetKey:null,dropLevelOffset:null,dropAllowed:!0,dragOverNodeKey:null}),n.dragStartMousePosition=null,n.currentMouseOverDroppableNodeKey=null},n.triggerExpandActionExpand=function(l,u){var c=n.state,d=c.expandedKeys,f=c.flattenNodes,v=u.expanded,m=u.key,h=u.isLeaf;if(!(h||l.shiftKey||l.metaKey||l.ctrlKey)){var g=f.filter(function(b){return b.key===m})[0],y=Gt(p(p({},co(m,n.getTreeNodeRequiredProps())),{},{data:g.data}));n.setExpandedKeys(v?Bn(d,m):tr(d,m)),n.onNodeExpand(l,y)}},n.onNodeClick=function(l,u){var c=n.props,d=c.onClick,f=c.expandAction;f==="click"&&n.triggerExpandActionExpand(l,u),d==null||d(l,u)},n.onNodeDoubleClick=function(l,u){var c=n.props,d=c.onDoubleClick,f=c.expandAction;f==="doubleClick"&&n.triggerExpandActionExpand(l,u),d==null||d(l,u)},n.onNodeSelect=function(l,u){var c=n.state.selectedKeys,d=n.state,f=d.keyEntities,v=d.fieldNames,m=n.props,h=m.onSelect,g=m.multiple,y=u.selected,b=u[v.key],C=!y;C?g?c=tr(c,b):c=[b]:c=Bn(c,b);var x=c.map(function(E){var P=hn(f,E);return P?P.node:null}).filter(function(E){return E});n.setUncontrolledState({selectedKeys:c}),h==null||h(c,{event:"select",selected:C,node:u,selectedNodes:x,nativeEvent:l.nativeEvent})},n.onNodeCheck=function(l,u,c){var d=n.state,f=d.keyEntities,v=d.checkedKeys,m=d.halfCheckedKeys,h=n.props,g=h.checkStrictly,y=h.onCheck,b=u.key,C,x={event:"check",node:u,checked:c,nativeEvent:l.nativeEvent};if(g){var E=c?tr(v,b):Bn(v,b),P=Bn(m,b);C={checked:E,halfChecked:P},x.checkedNodes=E.map(function(O){return hn(f,O)}).filter(function(O){return O}).map(function(O){return O.node}),n.setUncontrolledState({checkedKeys:E})}else{var w=kn([].concat(Ke(v),[b]),!0,f),T=w.checkedKeys,$=w.halfCheckedKeys;if(!c){var R=new Set(T);R.delete(b);var D=kn(Array.from(R),{checked:!1,halfCheckedKeys:$},f);T=D.checkedKeys,$=D.halfCheckedKeys}C=T,x.checkedNodes=[],x.checkedNodesPositions=[],x.halfCheckedKeys=$,T.forEach(function(O){var k=hn(f,O);if(k){var M=k.node,F=k.pos;x.checkedNodes.push(M),x.checkedNodesPositions.push({node:M,pos:F})}}),n.setUncontrolledState({checkedKeys:T},!1,{halfCheckedKeys:$})}y==null||y(C,x)},n.onNodeLoad=function(l){var u=l.key,c=new Promise(function(d,f){n.setState(function(v){var m=v.loadedKeys,h=m===void 0?[]:m,g=v.loadingKeys,y=g===void 0?[]:g,b=n.props,C=b.loadData,x=b.onLoad;if(!C||h.indexOf(u)!==-1||y.indexOf(u)!==-1)return null;var E=C(l);return E.then(function(){var P=n.state.loadedKeys,w=tr(P,u);x==null||x(w,{event:"load",node:l}),n.setUncontrolledState({loadedKeys:w}),n.setState(function(T){return{loadingKeys:Bn(T.loadingKeys,u)}}),d()}).catch(function(P){if(n.setState(function(T){return{loadingKeys:Bn(T.loadingKeys,u)}}),n.loadingRetryTimes[u]=(n.loadingRetryTimes[u]||0)+1,n.loadingRetryTimes[u]>=cw){var w=n.state.loadedKeys;an(!1,"Retry for `loadData` many times but still failed. No more retry."),n.setUncontrolledState({loadedKeys:tr(w,u)}),d()}f(P)}),{loadingKeys:tr(y,u)}})});return c.catch(function(){}),c},n.onNodeMouseEnter=function(l,u){var c=n.props.onMouseEnter;c==null||c({event:l,node:u})},n.onNodeMouseLeave=function(l,u){var c=n.props.onMouseLeave;c==null||c({event:l,node:u})},n.onNodeContextMenu=function(l,u){var c=n.props.onRightClick;c&&(l.preventDefault(),c({event:l,node:u}))},n.onFocus=function(){var l=n.props.onFocus;n.setState({focused:!0});for(var u=arguments.length,c=new Array(u),d=0;d1&&arguments[1]!==void 0?arguments[1]:!1,c=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null;if(!n.destroyed){var d=!1,f=!0,v={};Object.keys(l).forEach(function(m){if(m in n.props){f=!1;return}d=!0,v[m]=l[m]}),d&&(!u||f)&&n.setState(p(p({},v),c))}},n.scrollTo=function(l){n.listRef.current.scrollTo(l)},n}return wn(r,[{key:"componentDidMount",value:function(){this.destroyed=!1,this.onUpdated()}},{key:"componentDidUpdate",value:function(){this.onUpdated()}},{key:"onUpdated",value:function(){var a=this.props.activeKey;a!==void 0&&a!==this.state.activeKey&&(this.setState({activeKey:a}),a!==null&&this.scrollTo({key:a}))}},{key:"componentWillUnmount",value:function(){window.removeEventListener("dragend",this.onWindowDragEnd),this.destroyed=!0}},{key:"resetDragState",value:function(){this.setState({dragOverNodeKey:null,dropPosition:null,dropLevelOffset:null,dropTargetKey:null,dropContainerKey:null,dropTargetPos:null,dropAllowed:!1})}},{key:"render",value:function(){var a,o=this.state,s=o.focused,l=o.flattenNodes,u=o.keyEntities,c=o.draggingNodeKey,d=o.activeKey,f=o.dropLevelOffset,v=o.dropContainerKey,m=o.dropTargetKey,h=o.dropPosition,g=o.dragOverNodeKey,y=o.indent,b=this.props,C=b.prefixCls,x=b.className,E=b.style,P=b.showLine,w=b.focusable,T=b.tabIndex,$=T===void 0?0:T,R=b.selectable,D=b.showIcon,O=b.icon,k=b.switcherIcon,M=b.draggable,F=b.checkable,N=b.checkStrictly,I=b.disabled,L=b.motion,A=b.loadData,_=b.filterTreeNode,K=b.height,z=b.itemHeight,j=b.virtual,V=b.titleRender,X=b.dropIndicatorRender,H=b.onContextMenu,Z=b.onScroll,U=b.direction,ae=b.rootClassName,q=b.rootStyle,ne=cu(this.props,{aria:!0,data:!0}),ue;return M&&(Ye(M)==="object"?ue=M:typeof M=="function"?ue={nodeDraggable:M}:ue={}),i.createElement(Nu.Provider,{value:{prefixCls:C,selectable:R,showIcon:D,icon:O,switcherIcon:k,draggable:ue,draggingNodeKey:c,checkable:F,checkStrictly:N,disabled:I,keyEntities:u,dropLevelOffset:f,dropContainerKey:v,dropTargetKey:m,dropPosition:h,dragOverNodeKey:g,indent:y,direction:U,dropIndicatorRender:X,loadData:A,filterTreeNode:_,titleRender:V,onNodeClick:this.onNodeClick,onNodeDoubleClick:this.onNodeDoubleClick,onNodeExpand:this.onNodeExpand,onNodeSelect:this.onNodeSelect,onNodeCheck:this.onNodeCheck,onNodeLoad:this.onNodeLoad,onNodeMouseEnter:this.onNodeMouseEnter,onNodeMouseLeave:this.onNodeMouseLeave,onNodeContextMenu:this.onNodeContextMenu,onNodeDragStart:this.onNodeDragStart,onNodeDragEnter:this.onNodeDragEnter,onNodeDragOver:this.onNodeDragOver,onNodeDragLeave:this.onNodeDragLeave,onNodeDragEnd:this.onNodeDragEnd,onNodeDrop:this.onNodeDrop}},i.createElement("div",{role:"tree",className:ve(C,x,ae,(a={},B(a,"".concat(C,"-show-line"),P),B(a,"".concat(C,"-focused"),s),B(a,"".concat(C,"-active-focused"),d!==null),a)),style:q},i.createElement(Km,J({ref:this.listRef,prefixCls:C,style:E,data:l,disabled:I,selectable:R,checkable:!!F,motion:L,dragging:c!==null,height:K,itemHeight:z,virtual:j,focusable:w,focused:s,tabIndex:$,activeItem:this.getActiveItem(),onFocus:this.onFocus,onBlur:this.onBlur,onKeyDown:this.onKeyDown,onActiveChange:this.onActiveChange,onListChangeStart:this.onListChangeStart,onListChangeEnd:this.onListChangeEnd,onContextMenu:H,onScroll:Z},this.getTreeNodeRequiredProps(),ne))))}}],[{key:"getDerivedStateFromProps",value:function(a,o){var s=o.prevProps,l={prevProps:a};function u(w){return!s&&w in a||s&&s[w]!==a[w]}var c,d=o.fieldNames;if(u("fieldNames")&&(d=Oi(a.fieldNames),l.fieldNames=d),u("treeData")?c=a.treeData:u("children")&&(an(!1,"`children` of Tree is deprecated. Please use `treeData` instead."),c=qv(a.children)),c){l.treeData=c;var f=Io(c,{fieldNames:d});l.keyEntities=p(B({},Qr,jm),f.keyEntities)}var v=l.keyEntities||o.keyEntities;if(u("expandedKeys")||s&&u("autoExpandParent"))l.expandedKeys=a.autoExpandParent||!s&&a.defaultExpandParent?Ms(a.expandedKeys,v):a.expandedKeys;else if(!s&&a.defaultExpandAll){var m=p({},v);delete m[Qr],l.expandedKeys=Object.keys(m).map(function(w){return m[w].key})}else!s&&a.defaultExpandedKeys&&(l.expandedKeys=a.autoExpandParent||a.defaultExpandParent?Ms(a.defaultExpandedKeys,v):a.defaultExpandedKeys);if(l.expandedKeys||delete l.expandedKeys,c||l.expandedKeys){var h=jl(c||o.treeData,l.expandedKeys||o.expandedKeys,d);l.flattenNodes=h}if(a.selectable&&(u("selectedKeys")?l.selectedKeys=ud(a.selectedKeys,a):!s&&a.defaultSelectedKeys&&(l.selectedKeys=ud(a.defaultSelectedKeys,a))),a.checkable){var g;if(u("checkedKeys")?g=zl(a.checkedKeys)||{}:!s&&a.defaultCheckedKeys?g=zl(a.defaultCheckedKeys)||{}:c&&(g=zl(a.checkedKeys)||{checkedKeys:o.checkedKeys,halfCheckedKeys:o.halfCheckedKeys}),g){var y=g,b=y.checkedKeys,C=b===void 0?[]:b,x=y.halfCheckedKeys,E=x===void 0?[]:x;if(!a.checkStrictly){var P=kn(C,!0,v);C=P.checkedKeys,E=P.halfCheckedKeys}l.checkedKeys=C,l.halfCheckedKeys=E}}return u("loadedKeys")&&(l.loadedKeys=a.loadedKeys),l}}]),r}(i.Component);Cl.defaultProps={prefixCls:"rc-tree",showLine:!1,showIcon:!0,selectable:!0,multiple:!1,checkable:!1,disabled:!1,checkStrictly:!1,draggable:!1,defaultExpandParent:!0,autoExpandParent:!1,defaultExpandAll:!1,defaultExpandedKeys:[],defaultCheckedKeys:[],defaultSelectedKeys:[],dropIndicatorRender:G3,allowDrop:function(){return!0},expandAction:!1};Cl.TreeNode=xa;var cd=4;function dw(e){var t=e.dropPosition,r=e.dropLevelOffset,n=e.prefixCls,a=e.indent,o=e.direction,s=o===void 0?"ltr":o,l=s==="ltr"?"left":"right",u=s==="ltr"?"right":"left",c=B(B({},l,-r*a+cd),u,0);switch(t){case-1:c.top=-3;break;case 1:c.bottom=-3;break;default:c.bottom=-3,c[l]=a+cd;break}return Q.createElement("div",{style:c,className:"".concat(n,"-drop-indicator")})}function Vm(e,t,r,n){var a=n.isLeaf,o=n.expanded,s=n.loading;if(s)return i.createElement(Oa,{className:"".concat(e,"-switcher-loading-icon")});var l;if(r&&Ye(r)==="object"&&(l=r.showLeafIcon),a){if(!r)return null;if(typeof l!="boolean"&&l){var u=typeof l=="function"?l(n):l,c="".concat(e,"-switcher-line-custom-icon");return Zu(u)?ga(u,{className:ve(u.props.className||"",c)}):u}return l?i.createElement(Cv,{className:"".concat(e,"-switcher-line-icon")}):i.createElement("span",{className:"".concat(e,"-switcher-leaf-line")})}var d="".concat(e,"-switcher-icon"),f=typeof t=="function"?t(n):t;return Zu(f)?ga(f,{className:ve(f.props.className||"",d)}):f||(r?o?i.createElement(v1,{className:"".concat(e,"-switcher-line-icon")}):i.createElement(y1,{className:"".concat(e,"-switcher-line-icon")}):i.createElement(I0,{className:d}))}var fw=i.forwardRef(function(e,t){var r=i.useContext(Wt),n=r.getPrefixCls,a=r.direction,o=r.virtual,s=e.prefixCls,l=e.className,u=e.showIcon,c=u===void 0?!1:u,d=e.showLine,f=e.switcherIcon,v=e.blockNode,m=v===void 0?!1:v,h=e.children,g=e.checkable,y=g===void 0?!1:g,b=e.selectable,C=b===void 0?!0:b,x=e.draggable,E=e.motion,P=E===void 0?J(J({},s0),{motionAppear:!1}):E,w=n("tree",s),T=J(J({},e),{checkable:y,selectable:C,showIcon:c,motion:P,blockNode:m,showLine:!!d,dropIndicatorRender:dw}),$=i.useMemo(function(){if(!x)return!1;var R={};switch(Ye(x)){case"function":R.nodeDraggable=x;break;case"object":R=J({},x);break}return R.icon!==!1&&(R.icon=R.icon||i.createElement(s1,null)),R},[x]);return i.createElement(Cl,J({itemHeight:20,ref:t,virtual:o},T,{prefixCls:w,className:ve(B(B(B(B({},"".concat(w,"-icon-hide"),!c),"".concat(w,"-block-node"),m),"".concat(w,"-unselectable"),!C),"".concat(w,"-rtl"),a==="rtl"),l),direction:a,checkable:y&&i.createElement("span",{className:"".concat(w,"-checkbox-inner")}),selectable:C,switcherIcon:function(D){return Vm(w,f,d,D)},draggable:$}),h)});const zm=fw;var nr;(function(e){e[e.None=0]="None",e[e.Start=1]="Start",e[e.End=2]="End"})(nr||(nr={}));function Tu(e,t){function r(n){var a=n.key,o=n.children;t(a,n)!==!1&&Tu(o||[],t)}e.forEach(r)}function vw(e){var t=e.treeData,r=e.expandedKeys,n=e.startKey,a=e.endKey,o=[],s=nr.None;if(n&&n===a)return[n];if(!n||!a)return[];function l(u){return u===n||u===a}return Tu(t,function(u){if(s===nr.End)return!1;if(l(u)){if(o.push(u),s===nr.None)s=nr.Start;else if(s===nr.Start)return s=nr.End,!1}else s===nr.Start&&o.push(u);return r.includes(u)}),o}function Bl(e,t){var r=Ke(t),n=[];return Tu(e,function(a,o){var s=r.indexOf(a);return s!==-1&&(n.push(o),r.splice(s,1)),!!r.length}),n}var dd=globalThis&&globalThis.__rest||function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,n=Object.getOwnPropertySymbols(e);a0&&arguments[0]!==void 0?arguments[0]:{confirm:!1,closeDropdown:!1},Ee=Re.confirm,Qe=Re.closeDropdown;Ee&&ue([]),Qe&&k(!1),q(""),A(P?(w||[]).map(function(et){return String(et)}):[])},ee=function(){var Re=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{closeDropdown:!0},Ee=Re.closeDropdown;Ee&&k(!1),ue(L())},le=function(Re){Re&&F!==void 0&&A(Hl(F)),k(Re),!Re&&!a.filterDropdown&&G()},re=ve(B({},"".concat(o,"-menu-without-submenu"),!Sw(a.filters||[]))),ge=function(Re){if(Re.target.checked){var Ee=ha(a==null?void 0:a.filters).map(function(Qe){return String(Qe)});A(Ee)}else A([])},Pe=function Se(Re){var Ee=Re.filters;return(Ee||[]).map(function(Qe,et){var vt=String(Qe.value),ct={title:Qe.text,key:Qe.value!==void 0?vt:String(et)};return Qe.children&&(ct.children=Se({filters:Qe.children})),ct})},me=function Se(Re){var Ee;return J(J({},Re),{text:Re.title,value:Re.key,children:((Ee=Re.children)===null||Ee===void 0?void 0:Ee.map(function(Qe){return Se(Qe)}))||[]})},ce;if(typeof a.filterDropdown=="function")ce=a.filterDropdown({prefixCls:"".concat(o,"-custom"),setSelectedKeys:function(Re){return _({selectedKeys:Re})},selectedKeys:L(),confirm:ee,clearFilters:te,filters:a.filters,visible:M,close:function(){k(!1)}});else if(a.filterDropdown)ce=a.filterDropdown;else{var fe=L()||[],ie=function(){return(a.filters||[]).length===0?i.createElement(nc,{image:nc.PRESENTED_IMAGE_SIMPLE,description:h.filterEmptyText,imageStyle:{height:24},style:{margin:0,padding:"16px 0"}}):c==="tree"?i.createElement(i.Fragment,null,i.createElement(vd,{filterSearch:f,value:ae,onChange:ne,tablePrefixCls:r,locale:h}),i.createElement("div",{className:"".concat(r,"-filter-dropdown-tree")},l?i.createElement(ya,{checked:fe.length===ha(a.filters).length,indeterminate:fe.length>0&&fe.length0?o:e}),v=Math.ceil((o||e)/f.pageSize);f.current>v&&(f.current=v||1);var m=function(y,b){d({current:y??1,pageSize:b||f.pageSize})},h=function(y,b){var C;t&&((C=t.onChange)===null||C===void 0||C.call(t,y,b)),m(y,b),r(y,b||(f==null?void 0:f.pageSize))};return t===!1?[{},function(){}]:[J(J({},f),{onChange:h}),m]}var xr={},Fs="SELECT_ALL",$s="SELECT_INVERT",Os="SELECT_NONE",pd=[];function qm(e,t){var r=[];return(e||[]).forEach(function(n){r.push(n),n&&Ye(n)==="object"&&t in n&&(r=[].concat(Ke(r),Ke(qm(n[t],t))))}),r}function Mw(e,t){var r=e||{},n=r.preserveSelectedRowKeys,a=r.selectedRowKeys,o=r.defaultSelectedRowKeys,s=r.getCheckboxProps,l=r.onChange,u=r.onSelect,c=r.onSelectAll,d=r.onSelectInvert,f=r.onSelectNone,v=r.onSelectMultiple,m=r.columnWidth,h=r.type,g=r.selections,y=r.fixed,b=r.renderCell,C=r.hideSelectAll,x=r.checkStrictly,E=x===void 0?!0:x,P=t.prefixCls,w=t.data,T=t.pageData,$=t.getRecordByKey,R=t.getRowKey,D=t.expandType,O=t.childrenColumnName,k=t.locale,M=t.getPopupContainer,F=Rt(a||o||pd,{value:a}),N=Y(F,2),I=N[0],L=N[1],A=i.useRef(new Map),_=i.useCallback(function(me){if(n){var ce=new Map;me.forEach(function(fe){var ie=$(fe);!ie&&A.current.has(fe)&&(ie=A.current.get(fe)),ce.set(fe,ie)}),A.current=ce}},[$,n]);i.useEffect(function(){_(I)},[I]);var K=i.useMemo(function(){return E?{keyEntities:null}:Io(w,{externalGetKey:R,childrenPropName:O})},[w,R,E,O]),z=K.keyEntities,j=i.useMemo(function(){return qm(T,O)},[T,O]),V=i.useMemo(function(){var me=new Map;return j.forEach(function(ce,fe){var ie=R(ce,fe),se=(s?s(ce):null)||{};me.set(ie,se)}),me},[j,R,s]),X=i.useCallback(function(me){var ce;return!!(!((ce=V.get(R(me)))===null||ce===void 0)&&ce.disabled)},[V,R]),H=i.useMemo(function(){if(E)return[I||[],[]];var me=kn(I,!0,z,X),ce=me.checkedKeys,fe=me.halfCheckedKeys;return[ce||[],fe]},[I,E,z,X]),Z=Y(H,2),U=Z[0],ae=Z[1],q=i.useMemo(function(){var me=h==="radio"?U.slice(0,1):U;return new Set(me)},[U,h]),ne=i.useMemo(function(){return h==="radio"?new Set:new Set(ae)},[ae,h]),ue=i.useState(null),G=Y(ue,2),te=G[0],ee=G[1];i.useEffect(function(){e||L(pd)},[!!e]);var le=i.useCallback(function(me,ce){var fe,ie;_(me),n?(fe=me,ie=me.map(function(se){return A.current.get(se)})):(fe=[],ie=[],me.forEach(function(se){var he=$(se);he!==void 0&&(fe.push(se),ie.push(he))})),L(fe),l==null||l(fe,ie,{type:ce})},[L,$,l,n]),re=i.useCallback(function(me,ce,fe,ie){if(u){var se=fe.map(function(he){return $(he)});u($(me),ce,se,ie)}le(fe,"single")},[u,$,le]),ge=i.useMemo(function(){if(!g||C)return null;var me=g===!0?[Fs,$s,Os]:g;return me.map(function(ce){return ce===Fs?{key:"all",text:k.selectionAll,onSelect:function(){le(w.map(function(ie,se){return R(ie,se)}).filter(function(ie){var se=V.get(ie);return!(se!=null&&se.disabled)||q.has(ie)}),"all")}}:ce===$s?{key:"invert",text:k.selectInvert,onSelect:function(){var ie=new Set(q);T.forEach(function(he,Ce){var ke=R(he,Ce),Te=V.get(ke);Te!=null&&Te.disabled||(ie.has(ke)?ie.delete(ke):ie.add(ke))});var se=Array.from(ie);d&&d(se),le(se,"invert")}}:ce===Os?{key:"none",text:k.selectNone,onSelect:function(){f==null||f(),le(Array.from(q).filter(function(ie){var se=V.get(ie);return se==null?void 0:se.disabled}),"none")}}:ce}).map(function(ce){return J(J({},ce),{onSelect:function(){for(var ie,se,he=arguments.length,Ce=new Array(he),ke=0;ke2&&arguments[2]!==void 0?arguments[2]:!1,De=J(J({},fe),Ae);Oe&&(fe.resetPagination(),De.pagination.current&&(De.pagination.current=1),c&&c.onChange&&c.onChange(1,De.pagination.pageSize)),R&&R.scrollToFirstRowOnChange!==!1&&re.body.current&&gy(0,{getContainer:function(){return re.body.current}}),b==null||b(De.pagination,De.filters,De.sorter,{currentDataSource:hd(Is(U,De.sorterStates,ee),De.filterStates),action:Ie})},se=function(Ae,Ie){ie({sorter:Ae,sorterStates:Ie},"sort",!1)},he=Fw({prefixCls:ne,mergedColumns:L,onSorterChange:se,sortDirections:D||["ascend","descend"],tableLocale:Z,showSorterTooltip:M}),Ce=Y(he,4),ke=Ce[0],Te=Ce[1],Se=Ce[2],Re=Ce[3],Ee=i.useMemo(function(){return Is(U,Te,ee)},[U,Te]);fe.sorter=Re(),fe.sorterStates=Te;var Qe=function(Ae,Ie){ie({filters:Ae,filterStates:Ie},"filter",!0)},et=Ew({prefixCls:ne,locale:Z,dropdownPrefixCls:ue,mergedColumns:L,onFilterChange:Qe,getPopupContainer:C}),vt=Y(et,3),ct=vt[0],ht=vt[1],Ge=vt[2],_e=hd(Ee,ht);fe.filters=Ge,fe.filterStates=ht;var mt=i.useMemo(function(){var Fe={};return Object.keys(Ge).forEach(function(Ae){Ge[Ae]!==null&&(Fe[Ae]=Ge[Ae])}),J(J({},Se),{filters:Fe})},[Se,Ge]),tt=$w(mt),we=Y(tt,1),He=we[0],Me=function(Ae,Ie){ie({pagination:J(J({},fe.pagination),{current:Ae,pageSize:Ie})},"paginate")},Le=Nw(_e.length,c,Me),ye=Y(Le,2),de=ye[0],be=ye[1];fe.pagination=c===!1?{}:Rw(c,de),fe.resetPagination=be;var Ne=i.useMemo(function(){if(c===!1||!de.pageSize)return _e;var Fe=de.current,Ae=Fe===void 0?1:Fe,Ie=de.total,Oe=de.pageSize,De=Oe===void 0?Gm:Oe;return _e.lengthDe?_e.slice((Ae-1)*De,Ae*De):_e:_e.slice((Ae-1)*De,Ae*De)},[!!c,_e,de&&de.current,de&&de.pageSize,de&&de.total]),Ue=Mw(d,{prefixCls:ne,data:_e,pageData:Ne,getRowKey:ge,getRecordByKey:ce,expandType:le,childrenColumnName:ee,locale:Z,getPopupContainer:C}),lt=Y(Ue,2),$e=lt[0],xe=lt[1],Je=function(Ae,Ie,Oe){var De;return typeof m=="function"?De=ve(m(Ae,Ie,Oe)):De=ve(m),ve(B({},"".concat(ne,"-row-selected"),xe.has(ge(Ae,Ie))),De)};G.__PARENT_RENDER_ICON__=G.expandIcon,G.expandIcon=G.expandIcon||E||Ex(Z),le==="nest"&&G.expandIconColumnIndex===void 0?G.expandIconColumnIndex=d?1:0:G.expandIconColumnIndex>0&&d&&(G.expandIconColumnIndex-=1),typeof G.indentSize!="number"&&(G.indentSize=typeof $=="number"?$:15);var dt=i.useCallback(function(Fe){return He($e(ct(ke(Fe))))},[ke,ct,$e]),ut,Ot;if(c!==!1&&(de!=null&&de.total)){var Dt;de.size?Dt=de.size:Dt=H==="small"||H==="middle"?"small":void 0;var kt=function(Ae){return i.createElement(c2,J({},de,{className:ve("".concat(ne,"-pagination ").concat(ne,"-pagination-").concat(Ae),de.className),size:Dt}))},Ft=X==="rtl"?"left":"right",nt=de.position;if(nt!==null&&Array.isArray(nt)){var ot=nt.find(function(Fe){return Fe.includes("top")}),ft=nt.find(function(Fe){return Fe.includes("bottom")}),it=nt.every(function(Fe){return"".concat(Fe)==="none"});!ot&&!ft&&!it&&(Ot=kt(Ft)),ot&&(ut=kt(ot.toLowerCase().replace("top",""))),ft&&(Ot=kt(ft.toLowerCase().replace("bottom","")))}else Ot=kt(Ft)}var Ze;typeof x=="boolean"?Ze={spinning:x}:Ye(x)==="object"&&(Ze=J({spinning:!0},x));var Xe=ve("".concat(ne,"-wrapper"),B({},"".concat(ne,"-wrapper-rtl"),X==="rtl"),n);return i.createElement("div",{ref:t,className:Xe,style:a},i.createElement(Nr,J({spinning:!1},Ze),ut,i.createElement(ra,J({},A,{columns:L,direction:X,expandable:G,prefixCls:ne,className:ve(B(B(B(B({},"".concat(ne,"-middle"),H==="middle"),"".concat(ne,"-small"),H==="small"),"".concat(ne,"-bordered"),s),"".concat(ne,"-empty"),U.length===0)),data:Ne,rowKey:ge,rowClassName:Je,emptyText:O&&O.emptyText||(V||du)("Table"),internalHooks:ki,internalRefs:re,transformColumns:dt})),Ot))}var Iw=i.forwardRef(Dw),ur=Iw;ur.SELECTION_COLUMN=xr;ur.EXPAND_COLUMN=ra.EXPAND_COLUMN;ur.SELECTION_ALL=Fs;ur.SELECTION_INVERT=$s;ur.SELECTION_NONE=Os;ur.Column=Sx;ur.ColumnGroup=wx;ur.Summary=km;const Sa=ur;var _w=globalThis&&globalThis.__rest||function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,n=Object.getOwnPropertySymbols(e);a1&&arguments[1]!==void 0?arguments[1]:"0",v=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return d.map(function(m,h){var g="".concat(f,"-").concat(h),y=m[o.value],b=r.includes(y),C=c(m[o.children]||[],g,b),x=i.createElement($u,m,C.map(function(P){return P.node}));if(t===y&&(s=x),b){var E={pos:g,node:x,children:C};return v||l.push(E),E}return null}).filter(function(m){return m})}l||(l=[],c(n),l.sort(function(d,f){var v=d.node.props.value,m=f.node.props.value,h=r.indexOf(v),g=r.indexOf(m);return h-g}))}Object.defineProperty(e,"triggerNode",{get:function(){return an(!1,"`triggerNode` is deprecated. Please consider decoupling data with node."),u(),s}}),Object.defineProperty(e,"allCheckedNodes",{get:function(){return an(!1,"`allCheckedNodes` is deprecated. Please consider decoupling data with node."),u(),a?l:l.map(function(d){var f=d.node;return f})}})}function Yw(e,t){var r=t.id,n=t.pId,a=t.rootPId,o={},s=[],l=e.map(function(u){var c=p({},u),d=c[r];return o[d]=c,c.key=c.key||d,c});return l.forEach(function(u){var c=u[n],d=o[c];d&&(d.children=d.children||[],d.children.push(u)),(c===a||!d&&a===null)&&s.push(u)}),s}function Gw(e,t,r){return i.useMemo(function(){return e?r?Yw(e,p({id:"id",pId:"pId",rootPId:null},r!==!0?r:{})):e:ah(t)},[t,r,e])}const qw=function(e){var t=i.useRef({valueLabels:new Map});return i.useMemo(function(){var r=t.current.valueLabels,n=new Map,a=e.map(function(o){var s,l=o.value,u=(s=o.label)!==null&&s!==void 0?s:r.get(l);return n.set(l,u),p(p({},o),{},{label:u})});return t.current.valueLabels=n,[a]},[e])};function Sd(e){var t=i.useRef();t.current=e;var r=i.useCallback(function(){return t.current.apply(t,arguments)},[]);return r}const Xw=function(e,t){return i.useMemo(function(){var r=Io(e,{fieldNames:t,initWrapper:function(a){return p(p({},a),{},{valueEntities:new Map})},processEntity:function(a,o){var s=a.node[t.value];o.valueEntities.set(s,a)}});return r},[e,t])},Zw=function(e,t,r,n){return i.useMemo(function(){var a=e.map(function(u){var c=u.value;return c}),o=t.map(function(u){var c=u.value;return c}),s=a.filter(function(u){return!n[u]});if(r){var l=kn(a,!0,n);a=l.checkedKeys,o=l.halfCheckedKeys}return[Array.from(new Set([].concat(Ke(s),Ke(a)))),o]},[e,t,r,n])},Qw=function(e,t,r){var n=r.treeNodeFilterProp,a=r.filterTreeNode,o=r.fieldNames,s=o.children;return i.useMemo(function(){if(!t||a===!1)return e;var l;if(typeof a=="function")l=a;else{var u=t.toUpperCase();l=function(f,v){var m=v[n];return String(m).toUpperCase().includes(u)}}function c(d){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return d.map(function(v){var m=v[s],h=f||l(t,Ls(v)),g=c(m||[],h);return h||g.length?p(p({},v),{},B({isLeaf:void 0},s,g)):null}).filter(function(v){return v})}return c(e)},[e,t,s,n,a])};var Jw=["id","prefixCls","value","defaultValue","onChange","onSelect","onDeselect","searchValue","inputValue","onSearch","autoClearSearchValue","filterTreeNode","treeNodeFilterProp","showCheckedStrategy","treeNodeLabelProp","multiple","treeCheckable","treeCheckStrictly","labelInValue","fieldNames","treeDataSimpleMode","treeData","children","loadData","treeLoadedKeys","onTreeLoad","treeDefaultExpandAll","treeExpandedKeys","treeDefaultExpandedKeys","onTreeExpand","treeExpandAction","virtual","listHeight","listItemHeight","onDropdownVisibleChange","dropdownMatchSelectWidth","treeLine","treeIcon","showTreeIcon","switcherIcon","treeMotion"];function e6(e){return!e||Ye(e)!=="object"}var t6=i.forwardRef(function(e,t){var r=e.id,n=e.prefixCls,a=n===void 0?"rc-tree-select":n,o=e.value,s=e.defaultValue,l=e.onChange,u=e.onSelect,c=e.onDeselect,d=e.searchValue,f=e.inputValue,v=e.onSearch,m=e.autoClearSearchValue,h=m===void 0?!0:m,g=e.filterTreeNode,y=e.treeNodeFilterProp,b=y===void 0?"value":y,C=e.showCheckedStrategy,x=C===void 0?xl:C,E=e.treeNodeLabelProp,P=e.multiple,w=e.treeCheckable,T=e.treeCheckStrictly,$=e.labelInValue,R=e.fieldNames,D=e.treeDataSimpleMode,O=e.treeData,k=e.children,M=e.loadData,F=e.treeLoadedKeys,N=e.onTreeLoad,I=e.treeDefaultExpandAll,L=e.treeExpandedKeys,A=e.treeDefaultExpandedKeys,_=e.onTreeExpand,K=e.treeExpandAction,z=e.virtual,j=e.listHeight,V=j===void 0?200:j,X=e.listItemHeight,H=X===void 0?20:X,Z=e.onDropdownVisibleChange,U=e.dropdownMatchSelectWidth,ae=U===void 0?!0:U,q=e.treeLine,ne=e.treeIcon,ue=e.showTreeIcon,G=e.switcherIcon,te=e.treeMotion,ee=ze(e,Jw),le=cv(r),re=w&&!T,ge=w||T,Pe=T||$,me=ge||P,ce=Rt(s,{value:o}),fe=Y(ce,2),ie=fe[0],se=fe[1],he=i.useMemo(function(){return Vw(R)},[JSON.stringify(R)]),Ce=Rt("",{value:d!==void 0?d:f,postState:function(ot){return ot||""}}),ke=Y(Ce,2),Te=ke[0],Se=ke[1],Re=function(ot){Se(ot),v==null||v(ot)},Ee=Gw(O,k,D),Qe=Xw(Ee,he),et=Qe.keyEntities,vt=Qe.valueEntities,ct=i.useCallback(function(nt){var ot=[],ft=[];return nt.forEach(function(it){vt.has(it)?ft.push(it):ot.push(it)}),{missingRawValues:ot,existRawValues:ft}},[vt]),ht=Qw(Ee,Te,{fieldNames:he,treeNodeFilterProp:b,filterTreeNode:g}),Ge=i.useCallback(function(nt){if(nt){if(E)return nt[E];for(var ot=he._title,ft=0;ftt){var c=t-r;return n.push(String(o).slice(0,c)),n}n.push(o),r=u}return e}var v6=0,bi=1,Ed=2,Yl=3,Pd=4,m6=function(t){var r=t.enabledMeasure,n=t.children,a=t.text,o=t.width,s=t.fontSize,l=t.rows,u=t.onEllipsis,c=i.useState([0,0,0]),d=Y(c,2),f=Y(d[0],3),v=f[0],m=f[1],h=f[2],g=d[1],y=i.useState(v6),b=Y(y,2),C=b[0],x=b[1],E=i.useState(0),P=Y(E,2),w=P[0],T=P[1],$=i.useRef(null),R=i.useRef(null),D=i.useMemo(function(){return Mn(a)},[a]),O=i.useMemo(function(){return f6(D)},[D]),k=i.useMemo(function(){return!r||C!==Yl?n(D,!1):n(wd(D,m),m1&&Ne,xe=function(We){var st;ke(!0),(st=Me.onExpand)===null||st===void 0||st.call(Me,We)},Je=i.useState(0),dt=Y(Je,2),ut=dt[0],Ot=dt[1],Dt=i.useState(0),kt=Y(Dt,2),Ft=kt[0],nt=kt[1],ot=function(We,st){var pt=We.offsetWidth,Kt;Ot(pt),nt(parseInt((Kt=window.getComputedStyle)===null||Kt===void 0?void 0:Kt.call(window,st).fontSize,10)||0)},ft=function(We){var st;Ee(We),Re!==We&&((st=Me.onEllipsis)===null||st===void 0||st.call(Me,We))};i.useEffect(function(){var De=P.current;if(He&&Ne&&De){var We=$e?De.offsetHeight"u"||!De||!Ne||!Le)){var We=new IntersectionObserver(function(){mt(!!De.offsetParent)});return We.observe(De),function(){We.disconnect()}}},[Ne,Le]);var it={};Me.tooltip===!0?it={title:(r=k.text)!==null&&r!==void 0?r:d}:i.isValidElement(Me.tooltip)?it={title:Me.tooltip}:Ye(Me.tooltip)==="object"?it=J({title:(n=k.text)!==null&&n!==void 0?n:d},Me.tooltip):it={title:Me.tooltip};var Ze=i.useMemo(function(){var De=function(st){return["string","number"].includes(Ye(st))};if(!(!He||Ne)){if(De(k.text))return k.text;if(De(d))return d;if(De(g))return g;if(De(it.title))return it.title}},[He,Ne,g,it.title,Ue]);if(N)return i.createElement(l6,{value:(a=k.text)!==null&&a!==void 0?a:typeof d=="string"?d:"",onSave:z,onCancel:j,onEnd:k.onEnd,prefixCls:T,className:s,style:l,direction:x,component:h,maxLength:k.maxLength,autoSize:k.autoSize,enterIcon:k.enterIcon});var Xe=function(){var We=Me.expandable,st=Me.symbol;if(!We)return null;var pt;return st?pt=st:pt=E.expand,i.createElement("a",{key:"expand",className:"".concat(T,"-expand"),onClick:xe,"aria-label":E.expand},pt)},Fe=function(){if(O){var We=k.icon,st=k.tooltip,pt=Mn(st)[0]||E.edit,Kt=typeof pt=="string"?pt:"";return A.includes("icon")?i.createElement(on,{key:"edit",title:st===!1?"":pt},i.createElement(kc,{ref:w,className:"".concat(T,"-edit"),onClick:K,"aria-label":Kt},We||i.createElement(f0,{role:"button"}))):null}},Ae=function(){if(H){var We=Z.tooltips,st=Z.icon,pt=Rd(We),Kt=Rd(st),_t=q?Ci(pt[1],E.copied):Ci(pt[0],E.copy),qt=q?E.copied:E.copy,En=typeof _t=="string"?_t:qt;return i.createElement(on,{key:"copy",title:_t},i.createElement(kc,{className:ve("".concat(T,"-copy"),q&&"".concat(T,"-copy-success")),onClick:ee,"aria-label":En},q?Ci(Kt[1],i.createElement(vv,null),!0):Ci(Kt[0],i.createElement(vu,null),!0)))}},Ie=function(We){return[We&&Xe(),Fe(),Ae()]},Oe=function(We){return[We&&i.createElement("span",{"aria-hidden":!0,key:"ellipsis"},C6),Me.suffix,Ie(We)]};return i.createElement(kr,{onResize:ot,disabled:!Le||Ne},function(De){return i.createElement(g6,{tooltipProps:it,enabledEllipsis:Le,isEllipsis:Ue},i.createElement(oh,J({className:ve(B(B(B(B(B(B({},"".concat(T,"-").concat(u),u),"".concat(T,"-disabled"),c),"".concat(T,"-ellipsis"),He),"".concat(T,"-single-line"),Le&&de===1),"".concat(T,"-ellipsis-single-line"),lt),"".concat(T,"-ellipsis-multiple-line"),$e),s),prefixCls:o,style:J(J({},l),{WebkitLineClamp:$e?de:void 0}),component:h,ref:nu(De,P,t),direction:x,onClick:A.includes("text")?K:void 0,"aria-label":Ze==null?void 0:Ze.toString(),title:g},$),i.createElement(h6,{enabledMeasure:Le&&!Ne,text:d,rows:de,width:ut,fontSize:Ft,onEllipsis:ft},function(We,st){var pt=We;We.length&&st&&Ze&&(pt=i.createElement("span",{key:"show-content","aria-hidden":!0},pt));var Kt=b6(e,i.createElement(i.Fragment,null,pt,Oe(st)));return Kt})))})});const Sl=x6;var S6=globalThis&&globalThis.__rest||function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,n=Object.getOwnPropertySymbols(e);a=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(c){throw c},f:a}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o,s=!0,l=!1;return{s:function(){r=r.call(e)},n:function(){var c=r.next();return s=c.done,c},e:function(c){l=!0,o=c},f:function(){try{s||r.return==null||r.return()}finally{if(l)throw o}}}}var I6={locale:"zh_CN",today:"äŧŠåĪĐ",now:"æ­Īåˆŧ",backToToday:"čŋ”回äŧŠåĪĐ",ok:"įĄŪåۚ",timeSelect:"选æ‹Đæ—ķé—ī",dateSelect:"选æ‹Đæ—Ĩ期",weekSelect:"选æ‹Đå‘Ļ",clear:"æļ…é™Ī",month:"月",year:"åđī",previousMonth:"äļŠäļŠæœˆ (įŋŧéĄĩäļŠé”Ū)",nextMonth:"äļ‹äļŠæœˆ (įŋŧéĄĩäļ‹é”Ū)",monthSelect:"选æ‹Đ月äŧ―",yearSelect:"选æ‹Đåđīäŧ―",decadeSelect:"选æ‹ĐåđīäŧĢ",yearFormat:"YYYYåđī",dayFormat:"Dæ—Ĩ",dateFormat:"YYYYåđīM月Dæ—Ĩ",dateTimeFormat:"YYYYåđīM月Dæ—Ĩ HHæ—ķmm分ssį§’",previousYear:"äļŠäļ€åđī (Controlé”Ū加å·Ķæ–đ向é”Ū)",nextYear:"äļ‹äļ€åđī (Controlé”Ū加åģæ–đ向é”Ū)",previousDecade:"äļŠäļ€åđīäŧĢ",nextDecade:"äļ‹äļ€åđīäŧĢ",previousCentury:"äļŠäļ€äļ–įšŠ",nextCentury:"äļ‹äļ€äļ–įšŠ"},_6={placeholder:"čŊ·é€‰æ‹Đæ—ķé—ī",rangePlaceholder:["垀始æ—ķé—ī","įŧ“束æ—ķé—ī"]};const lh=_6;var sh={lang:J({placeholder:"čŊ·é€‰æ‹Đæ—Ĩ期",yearPlaceholder:"čŊ·é€‰æ‹Đåđīäŧ―",quarterPlaceholder:"čŊ·é€‰æ‹Đå­ĢåšĶ",monthPlaceholder:"čŊ·é€‰æ‹Đ月äŧ―",weekPlaceholder:"čŊ·é€‰æ‹Đå‘Ļ",rangePlaceholder:["垀始æ—Ĩ期","įŧ“束æ—Ĩ期"],rangeYearPlaceholder:["垀始åđīäŧ―","įŧ“束åđīäŧ―"],rangeMonthPlaceholder:["垀始月äŧ―","įŧ“束月äŧ―"],rangeQuarterPlaceholder:["垀始å­ĢåšĶ","įŧ“束å­ĢåšĶ"],rangeWeekPlaceholder:["垀始å‘Ļ","įŧ“束å‘Ļ"]},I6),timePickerLocale:J({},lh)};sh.lang.ok="įĄŪåۚ";const kd=sh;var vn="${label}äļæ˜Ŋäļ€äļŠæœ‰æ•ˆįš„${type}",L6={locale:"zh-cn",Pagination:am,DatePicker:kd,TimePicker:lh,Calendar:kd,global:{placeholder:"čŊ·é€‰æ‹Đ"},Table:{filterTitle:"᭛选",filterConfirm:"įĄŪåۚ",filterReset:"重į―Ū",filterEmptyText:"æ— į­›é€‰éĄđ",filterCheckall:"å…Ļ选",filterSearchPlaceholder:"åœĻ᭛选éĄđäļ­æœįīĒ",selectAll:"å…Ļé€‰å―“éĄĩ",selectInvert:"åé€‰å―“éĄĩ",selectNone:"æļ…įĐšæ‰€æœ‰",selectionAll:"å…Ļ选所有",sortTitle:"排嚏",expand:"åą•åž€čĄŒ",collapse:"å…ģ闭行",triggerDesc:"į‚đå‡ŧ降嚏",triggerAsc:"į‚đå‡ŧ升嚏",cancelSort:"取æķˆæŽ’嚏"},Modal:{okText:"įĄŪåۚ",cancelText:"取æķˆ",justOkText:"įŸĨ道乆"},Popconfirm:{cancelText:"取æķˆ",okText:"įĄŪåۚ"},Transfer:{titles:["",""],searchPlaceholder:"čŊ·čū“å…Ĩ搜įīĒ内åŪđ",itemUnit:"éĄđ",itemsUnit:"éĄđ",remove:"删é™Ī",selectCurrent:"å…Ļé€‰å―“éĄĩ",removeCurrent:"删é™Īå―“éĄĩ",selectAll:"å…Ļ选所有",removeAll:"删é™Īå…ĻéƒĻ",selectInvert:"åé€‰å―“éĄĩ"},Upload:{uploading:"文äŧķäļŠäž äļ­",removeFile:"删é™Ī文äŧķ",uploadError:"äļŠäž é”™čŊŊ",previewFile:"éĒ„č§ˆæ–‡äŧķ",downloadFile:"äļ‹č――文äŧķ"},Empty:{description:"暂无数æŪ"},Icon:{icon:"å›ū标"},Text:{edit:"įž–čū‘",copy:"åĪåˆķ",copied:"åĪåˆķ成功",expand:"åą•åž€"},PageHeader:{back:"čŋ”回"},Form:{optional:"åŊ选",defaultValidateMessages:{default:"字æŪĩ驌čŊé”™čŊŊ${label}",required:"čŊ·čū“å…Ĩ${label}",enum:"${label}åŋ…éĄŧæ˜Ŋå…ķäļ­äļ€äļŠ[${enum}]",whitespace:"${label}äļčƒ―äļšįĐšå­—įŽĶ",date:{format:"${label}æ—Ĩ期栞垏无效",parse:"${label}äļčƒ―č―ŽæĒäļšæ—Ĩ期",invalid:"${label}æ˜Ŋäļ€äļŠæ— æ•ˆæ—Ĩ期"},types:{string:vn,method:vn,array:vn,object:vn,number:vn,date:vn,boolean:vn,integer:vn,float:vn,regexp:vn,email:vn,url:vn,hex:vn},string:{len:"${label}éĄŧäļš${len}äļŠå­—įŽĶ",min:"${label}最少${min}äļŠå­—įŽĶ",max:"${label}最åΚ${max}äļŠå­—įŽĶ",range:"${label}éĄŧåœĻ${min}-${max}字įŽĶäđ‹é—ī"},number:{len:"${label}åŋ…éĄŧį­‰äšŽ${len}",min:"${label}最小倞äļš${min}",max:"${label}最åĪ§å€žäļš${max}",range:"${label}éĄŧåœĻ${min}-${max}äđ‹é—ī"},array:{len:"éĄŧäļš${len}äļŠ${label}",min:"最少${min}äļŠ${label}",max:"最åΚ${max}äļŠ${label}",range:"${label}数量éĄŧåœĻ${min}-${max}äđ‹é—ī"},pattern:{mismatch:"${label}äļŽæĻĄåžäļåŒđ配${pattern}"}}},Image:{preview:"éĒ„č§ˆ"}};/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */function uh(e,t,r,n){function a(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function l(d){try{c(n.next(d))}catch(f){s(f)}}function u(d){try{c(n.throw(d))}catch(f){s(f)}}function c(d){d.done?o(d.value):a(d.value).then(l,u)}c((n=n.apply(e,t||[])).next())})}function ch(e,t){var r={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},n,a,o,s;return s={next:l(0),throw:l(1),return:l(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function l(c){return function(d){return u([c,d])}}function u(c){if(n)throw new TypeError("Generator is already executing.");for(;r;)try{if(n=1,a&&(o=c[0]&2?a.return:c[0]?a.throw||((o=a.return)&&o.call(a),0):a.next)&&!(o=o.call(a,c[1])).done)return o;switch(a=0,o&&(c=[c[0]&2,o.value]),c[0]){case 0:case 1:o=c;break;case 4:return r.label++,{value:c[1],done:!1};case 5:r.label++,a=c[1],c=[0];continue;case 7:c=r.ops.pop(),r.trys.pop();continue;default:if(o=r.trys,!(o=o.length>0&&o[o.length-1])&&(c[0]===6||c[0]===2)){r=0;continue}if(c[0]===3&&(!o||c[1]>o[0]&&c[1]o||setTimeout(n,l,a)},yh=gh(new Map),bh=yh[0],Q6=yh[1],Ch=lr({onLoadingSlow:Yn,onSuccess:Yn,onError:Yn,onErrorRetry:Z6,onDiscarded:Yn,revalidateOnFocus:!0,revalidateOnReconnect:!0,revalidateIfStale:!0,shouldRetryOnError:!0,errorRetryInterval:Nd?1e4:5e3,focusThrottleInterval:5*1e3,dedupingInterval:2*1e3,loadingTimeout:Nd?5e3:3e3,compare:function(e,t){return Co(e)==Co(t)},isPaused:function(){return!1},cache:bh,mutate:Q6,fallback:{}},Y6),xh=function(e,t){var r=lr(e,t);if(t){var n=e.use,a=e.fallback,o=t.use,s=t.fallback;n&&o&&(r.use=n.concat(o)),a&&s&&(r.fallback=lr(a,s))}return r},zs=i.createContext({}),J6=function(e){var t=e.value,r=xh(i.useContext(zs),t),n=t&&t.provider,a=i.useState(function(){return n?gh(n(r.cache||bh),t):rn})[0];return a&&(r.cache=a[0],r.mutate=a[1]),ho(function(){return a?a[2]:rn},[]),i.createElement(zs.Provider,lr(e,{value:r}))},e8=function(e,t){var r=i.useState({})[1],n=i.useRef(e),a=i.useRef({data:!1,error:!1,isValidating:!1}),o=i.useCallback(function(s){var l=!1,u=n.current;for(var c in s){var d=c;u[d]!==s[d]&&(u[d]=s[d],a.current[d]&&(l=!0))}l&&!t.current&&r({})},[]);return ho(function(){n.current=e}),[n,a.current,o]},t8=function(e){return Er(e[1])?[e[0],e[1],e[2]||{}]:[e[0],null,(e[1]===null?e[2]:e[1])||{}]},Sh=function(){return lr(Ch,i.useContext(zs))},n8=function(e){return function(){for(var r=[],n=0;n0;)d=f[v](d);return d(s,l||c.fetcher,c)}},Td=function(e,t,r){var n=t[e]||(t[e]=[]);return n.push(r),function(){var a=n.indexOf(r);a>=0&&(n[a]=n[n.length-1],n.pop())}},ql={dedupe:!0},r8=function(e,t,r){var n=r.cache,a=r.compare,o=r.fallbackData,s=r.suspense,l=r.revalidateOnMount,u=r.refreshInterval,c=r.refreshWhenHidden,d=r.refreshWhenOffline,f=Yr.get(n),v=f[0],m=f[1],h=f[2],g=f[3],y=fh(e),b=y[0],C=y[1],x=y[2],E=i.useRef(!1),P=i.useRef(!1),w=i.useRef(b),T=i.useRef(t),$=i.useRef(r),R=function(){return $.current},D=function(){return R().isVisible()&&R().isOnline()},O=function(U){return n.set(x,lr(n.get(x),U))},k=n.get(b),M=un(o)?r.fallback[b]:o,F=un(k)?M:k,N=n.get(x)||{},I=N.error,L=!E.current,A=function(){return L&&!un(l)?l:R().isPaused()?!1:s?un(F)?!1:r.revalidateIfStale:un(F)||r.revalidateIfStale},_=function(){return!b||!t?!1:N.isValidating?!0:L&&A()},K=_(),z=e8({data:F,error:I,isValidating:K},P),j=z[0],V=z[1],X=z[2],H=i.useCallback(function(U){return uh(void 0,void 0,void 0,function(){var ae,q,ne,ue,G,te,ee,le,re,ge,Pe,me,ce;return ch(this,function(fe){switch(fe.label){case 0:if(ae=T.current,!b||!ae||P.current||R().isPaused())return[2,!1];ue=!0,G=U||{},te=!g[b]||!G.dedupe,ee=function(){return!P.current&&b===w.current&&E.current},le=function(){var ie=g[b];ie&&ie[1]===ne&&delete g[b]},re={isValidating:!1},ge=function(){O({isValidating:!1}),ee()&&X(re)},O({isValidating:!0}),X({isValidating:!0}),fe.label=1;case 1:return fe.trys.push([1,3,,4]),te&&(po(n,b,j.current.data,j.current.error,!0),r.loadingTimeout&&!n.get(b)&&setTimeout(function(){ue&&ee()&&R().onLoadingSlow(b,r)},r.loadingTimeout),g[b]=[ae.apply(void 0,C),Vs()]),ce=g[b],q=ce[0],ne=ce[1],[4,q];case 2:return q=fe.sent(),te&&setTimeout(le,r.dedupingInterval),!g[b]||g[b][1]!==ne?(te&&ee()&&R().onDiscarded(b),[2,!1]):(O({error:rn}),re.error=rn,Pe=h[b],!un(Pe)&&(ne<=Pe[0]||ne<=Pe[1]||Pe[1]===0)?(ge(),te&&ee()&&R().onDiscarded(b),[2,!1]):(a(j.current.data,q)?re.data=j.current.data:re.data=q,a(n.get(b),q)||n.set(b,q),te&&ee()&&R().onSuccess(q,b,r),[3,4]));case 3:return me=fe.sent(),le(),R().isPaused()||(O({error:me}),re.error=me,te&&ee()&&(R().onError(me,b,r),(typeof r.shouldRetryOnError=="boolean"&&r.shouldRetryOnError||Er(r.shouldRetryOnError)&&r.shouldRetryOnError(me))&&D()&&R().onErrorRetry(me,b,r,H,{retryCount:(G.retryCount||0)+1,dedupe:!0}))),[3,4];case 4:return ue=!1,ge(),ee()&&te&&po(n,b,re.data,re.error,!1),[2,!0]}})})},[b]),Z=i.useCallback(ph.bind(rn,n,function(){return w.current}),[]);if(ho(function(){T.current=t,$.current=r}),ho(function(){if(b){var U=b!==w.current,ae=H.bind(rn,ql),q=function(ee,le,re){X(lr({error:le,isValidating:re},a(j.current.data,ee)?rn:{data:ee}))},ne=0,ue=function(ee){if(ee==vh){var le=Date.now();R().revalidateOnFocus&&le>ne&&D()&&(ne=le+R().focusThrottleInterval,ae())}else if(ee==mh)R().revalidateOnReconnect&&D()&&ae();else if(ee==hh)return H()},G=Td(b,m,q),te=Td(b,v,ue);return P.current=!1,w.current=b,E.current=!0,U&&X({data:F,error:I,isValidating:K}),A()&&(un(F)||wl?ae():q6(ae)),function(){P.current=!0,G(),te()}}},[b,H]),ho(function(){var U;function ae(){var ne=Er(u)?u(F):u;ne&&U!==-1&&(U=setTimeout(q,ne))}function q(){!j.current.error&&(c||R().isVisible())&&(d||R().isOnline())?H(ql).then(ae):ae()}return ae(),function(){U&&(clearTimeout(U),U=-1)}},[u,c,d,H]),i.useDebugValue(F),s&&un(F)&&b)throw T.current=t,$.current=r,P.current=!1,un(I)?H(ql):I;return{mutate:Z,get data(){return V.data=!0,F},get error(){return V.error=!0,I},get isValidating(){return V.isValidating=!0,K}}},a8=mo.defineProperty(J6,"default",{value:Ch}),wh=n8(r8);const o8={moneySymbol:"$",form:{lightFilter:{more:"Ø§Ų„Ų…Øē؊ØŊ",clear:"Ų†Øļ؁",confirm:"ØŠØĢ؃؊ØŊ",itemUnit:"ØđŲ†Ø§ØĩØą"}},tableForm:{search:"اØĻØ­ØŦ",reset:"ØĨØđاØŊØĐ ØŠØđŲŠŲŠŲ†",submit:"Ø§ØąØģØ§Ų„",collapsed:"Ų…ŲŲ‚Ų„Øĩ",expand:"Ų…ŲŲˆØģØđ",inputPlaceholder:"Ø§Ų„ØąØŽØ§ØĄ Ø§Ų„ØĨØŊØŪØ§Ų„",selectPlaceholder:"Ø§Ų„ØąØŽØ§ØĄ Ø§Ų„ØĨØŪØŠŲŠØ§Øą"},alert:{clear:"Ų†Øļ؁",selected:"Ų…Ø­ØŊØŊ",item:"ØđŲ†ØĩØą"},pagination:{total:{range:" ",total:"Ų…Ų†",item:"ØđŲ†Ø§ØĩØą"}},tableToolBar:{leftPin:"ØŦØĻØŠ ØđŲ„Ų‰ Ø§Ų„ŲŠØģØ§Øą",rightPin:"ØŦØĻØŠ ØđŲ„Ų‰ Ø§Ų„ŲŠŲ…ŲŠŲ†",noPin:"Ø§Ų„ØšØ§ØĄ Ø§Ų„ØŠØŦØĻŲŠØŠ",leftFixedTitle:"Ų„ØĩŲ‚ ØđŲ„Ų‰ Ø§Ų„ŲŠØģØ§Øą",rightFixedTitle:"Ų„ØĩŲ‚ ØđŲ„Ų‰ Ø§Ų„ŲŠŲ…ŲŠŲ†",noFixedTitle:"ØĨŲ„ØšØ§ØĄ Ø§Ų„ØĨŲ„ØĩØ§Ų‚",reset:"ØĨØđاØŊØĐ ØŠØđŲŠŲŠŲ†",columnDisplay:"Ø§Ų„ØĢØđŲ…ØŊØĐ Ø§Ų„Ų…ØđØąŲˆØķØĐ",columnSetting:"Ø§Ų„ØĨØđØŊاØŊا؊",fullScreen:"؈ØķØđ ŲƒØ§Ų…Ų„ Ø§Ų„ØīاØīØĐ",exitFullScreen:"Ø§Ų„ØŪØąŲˆØŽ Ų…Ų† ؈ØķØđ ŲƒØ§Ų…Ų„ Ø§Ų„ØīاØīØĐ",reload:"؊حØŊ؊ØŦ",density:"Ø§Ų„ŲƒØŦØ§ŲØĐ",densityDefault:"Ø§ŲØŠØąØ§Øķ؊",densityLarger:"ØĢ؃ØĻØą",densityMiddle:"؈ØģØ·",densitySmall:"Ų…ØŊŲ…ØŽ"},stepsForm:{next:"Ø§Ų„ØŠØ§Ų„ŲŠ",prev:"Ø§Ų„ØģاØĻŲ‚",submit:"ØĢŲ†Ų‡Ų‰"},loginForm:{submitText:"ØŠØģØŽŲŠŲ„ Ø§Ų„ØŊØŪŲˆŲ„"},editableTable:{action:{save:"ØĢŲ†Ų‚Ø°",cancel:"ØĨŲ„ØšØ§ØĄ Ø§Ų„ØĢŲ…Øą",delete:"Ø­Ø°Ų",add:"ØĨØķØ§ŲØĐ Øĩ؁ Ų…Ų† Ø§Ų„ØĻŲŠØ§Ų†Ø§ØŠ"}},switch:{open:"Ų…ŲØŠŲˆØ­",close:"ØšŲ„Ų‚"}},i8={moneySymbol:"₮",form:{lightFilter:{more:"MÃĄis",clear:"Limpar",confirm:"Confirmar",itemUnit:"Elementos"}},tableForm:{search:"Cercar",reset:"Netejar",submit:"Enviar",collapsed:"Expandir",expand:"Col·lapsar",inputPlaceholder:"IntroduÃŊu valor",selectPlaceholder:"Seleccioneu valor"},alert:{clear:"Netejar",selected:"Seleccionat",item:"Article"},pagination:{total:{range:" ",total:"de",item:"articles"}},tableToolBar:{leftPin:"Pin a l'esquerra",rightPin:"Pin a la dreta",noPin:"Sense Pin",leftFixedTitle:"Fixat a l'esquerra",rightFixedTitle:"Fixat a la dreta",noFixedTitle:"Sense fixar",reset:"Reiniciar",columnDisplay:"Mostrar Columna",columnSetting:"ConfiguraciÃģ",fullScreen:"Pantalla Completa",exitFullScreen:"Sortir Pantalla Completa",reload:"Refrescar",density:"Densitat",densityDefault:"Per Defecte",densityLarger:"Llarg",densityMiddle:"Mitjà",densitySmall:"Compacte"},stepsForm:{next:"SegÞent",prev:"Anterior",submit:"Finalizar"},loginForm:{submitText:"Entrar"},editableTable:{action:{save:"Gardar",cancel:"Cancelar",delete:"Eliminar",add:"engadir unha fila de datos"}},switch:{open:"aberto",close:"pechar"}},l8={moneySymbol:"₮",form:{lightFilter:{more:"Mehr",clear:"ZurÞcksetzen",confirm:"BestÃĪtigen",itemUnit:"EintrÃĪge"}},tableForm:{search:"Suchen",reset:"ZurÞcksetzen",submit:"Absenden",collapsed:"Zeige mehr",expand:"Zeige weniger",inputPlaceholder:"Bitte eingeben",selectPlaceholder:"Bitte auswÃĪhlen"},alert:{clear:"ZurÞcksetzen",selected:"AusgewÃĪhlt",item:"Eintrag"},pagination:{total:{range:" ",total:"von",item:"EintrÃĪgen"}},tableToolBar:{leftPin:"Links anheften",rightPin:"Rechts anheften",noPin:"Nicht angeheftet",leftFixedTitle:"Links fixiert",rightFixedTitle:"Rechts fixiert",noFixedTitle:"Nicht fixiert",reset:"ZurÞcksetzen",columnDisplay:"Angezeigte Reihen",columnSetting:"Einstellungen",fullScreen:"Vollbild",exitFullScreen:"Vollbild verlassen",reload:"Aktualisieren",density:"Abstand",densityDefault:"Standard",densityLarger:"GrÃķßer",densityMiddle:"Mittel",densitySmall:"Kompakt"},stepsForm:{next:"Weiter",prev:"ZurÞck",submit:"Abschließen"},loginForm:{submitText:"Anmelden"},editableTable:{action:{save:"Retten",cancel:"Abbrechen",delete:"LÃķschen",add:"HinzufÞgen einer Datenzeile"}},switch:{open:"offen",close:"schließen"}},s8={moneySymbol:"ÂĢ",form:{lightFilter:{more:"More",clear:"Clear",confirm:"Confirm",itemUnit:"Items"}},tableForm:{search:"Query",reset:"Reset",submit:"Submit",collapsed:"Expand",expand:"Collapse",inputPlaceholder:"Please enter",selectPlaceholder:"Please select"},alert:{clear:"Clear",selected:"Selected",item:"Item"},pagination:{total:{range:" ",total:"of",item:"items"}},tableToolBar:{leftPin:"Pin to left",rightPin:"Pin to right",noPin:"Unpinned",leftFixedTitle:"Fixed the left",rightFixedTitle:"Fixed the right",noFixedTitle:"Not Fixed",reset:"Reset",columnDisplay:"Column Display",columnSetting:"Settings",fullScreen:"Full Screen",exitFullScreen:"Exit Full Screen",reload:"Refresh",density:"Density",densityDefault:"Default",densityLarger:"Larger",densityMiddle:"Middle",densitySmall:"Compact"},stepsForm:{next:"Next",prev:"Previous",submit:"Finish"},loginForm:{submitText:"Login"},editableTable:{action:{save:"Save",cancel:"Cancel",delete:"Delete",add:"add a row of data"}},switch:{open:"open",close:"close"}},u8={moneySymbol:"$",deleteThisLine:"Delete this line",copyThisLine:"Copy this line",form:{lightFilter:{more:"More",clear:"Clear",confirm:"Confirm",itemUnit:"Items"}},tableForm:{search:"Query",reset:"Reset",submit:"Submit",collapsed:"Expand",expand:"Collapse",inputPlaceholder:"Please enter",selectPlaceholder:"Please select"},alert:{clear:"Clear",selected:"Selected",item:"Item"},pagination:{total:{range:" ",total:"of",item:"items"}},tableToolBar:{leftPin:"Pin to left",rightPin:"Pin to right",noPin:"Unpinned",leftFixedTitle:"Fixed the left",rightFixedTitle:"Fixed the right",noFixedTitle:"Not Fixed",reset:"Reset",columnDisplay:"Column Display",columnSetting:"Settings",fullScreen:"Full Screen",exitFullScreen:"Exit Full Screen",reload:"Refresh",density:"Density",densityDefault:"Default",densityLarger:"Larger",densityMiddle:"Middle",densitySmall:"Compact"},stepsForm:{next:"Next",prev:"Previous",submit:"Finish"},loginForm:{submitText:"Login"},editableTable:{onlyOneLineEditor:"Only one line can be edited",action:{save:"Save",cancel:"Cancel",delete:"Delete",add:"add a row of data"}},switch:{open:"open",close:"close"}},c8={moneySymbol:"₮",form:{lightFilter:{more:"MÃĄs",clear:"Limpiar",confirm:"Confirmar",itemUnit:"artículos"}},tableForm:{search:"Buscar",reset:"Limpiar",submit:"Submit",collapsed:"Expandir",expand:"Colapsar",inputPlaceholder:"Ingrese valor",selectPlaceholder:"Seleccione valor"},alert:{clear:"Limpiar",selected:"Seleccionado",item:"Articulo"},pagination:{total:{range:" ",total:"de",item:"artículos"}},tableToolBar:{leftPin:"Pin a la izquierda",rightPin:"Pin a la derecha",noPin:"Sin Pin",leftFixedTitle:"Fijado a la izquierda",rightFixedTitle:"Fijado a la derecha",noFixedTitle:"Sin Fijar",reset:"Reiniciar",columnDisplay:"Mostrar Columna",columnSetting:"ConfiguraciÃģn",fullScreen:"Pantalla Completa",exitFullScreen:"Salir Pantalla Completa",reload:"Refrescar",density:"Densidad",densityDefault:"Por Defecto",densityLarger:"Largo",densityMiddle:"Medio",densitySmall:"Compacto"},stepsForm:{next:"Siguiente",prev:"Anterior",submit:"Finalizar"},loginForm:{submitText:"Entrar"},editableTable:{action:{save:"Guardar",cancel:"Descartar",delete:"Borrar",add:"aÃąadir una fila de datos"}},switch:{open:"abrir",close:"cerrar"}},d8={moneySymbol:"ØŠŲˆŲ…Ø§Ų†",form:{lightFilter:{more:"ØĻیØīØŠØą",clear:"ŲūاÚĐ ÚĐØąØŊŲ†",confirm:"؊اییØŊ",itemUnit:"Ų…ŲˆØąØŊ"}},tableForm:{search:"ØŽØģØŠØŽŲˆ",reset:"ØĻاØēŲ†ØīØ§Ų†ÛŒ",submit:"؊اییØŊ",collapsed:"Ų†Ų…Ø§ÛŒØī ØĻیØīØŠØą",expand:"Ų†Ų…Ø§ÛŒØī ÚĐŲ…ØŠØą",inputPlaceholder:"ŲūیØŊا ÚĐŲ†ÛŒØŊ",selectPlaceholder:"Ø§Ų†ØŠØŪاØĻ ÚĐŲ†ÛŒØŊ"},alert:{clear:"ŲūاÚĐ ØģاØēی",selected:"Ø§Ų†ØŠØŪاØĻ",item:"Ų…ŲˆØąØŊ"},pagination:{total:{range:" ",total:"اØē",item:"Ų…ŲˆØąØŊ"}},tableToolBar:{leftPin:"ØģŲ†ØŽØ§Ų‚ ØĻŲ‡ چŲū",rightPin:"ØģŲ†ØŽØ§Ų‚ ØĻŲ‡ ØąØ§ØģØŠ",noPin:"ØģŲ†ØŽØ§Ų‚ Ų†ØīØŊŲ‡",leftFixedTitle:"ØŦاØĻØŠ ØīØŊŲ‡ ØŊØą چŲū",rightFixedTitle:"ØŦاØĻØŠ ØīØŊŲ‡ ØŊØą ØąØ§ØģØŠ",noFixedTitle:"ØīŲ†Ø§ŲˆØą",reset:"ØĻاØēŲ†ØīØ§Ų†ÛŒ",columnDisplay:"Ų†Ų…Ø§ÛŒØī Ų‡Ų…Ų‡",columnSetting:"ØŠŲ†ØļÛŒŲ…Ø§ØŠ",fullScreen:"ØŠŲ…Ø§Ų… ØĩŲØ­Ų‡",exitFullScreen:"ØŪØąŲˆØŽ اØē Ø­Ø§Ų„ØŠ ØŠŲ…Ø§Ų… ØĩŲØ­Ų‡",reload:"؊اØēŲ‡ ØģاØēی",density:"ØŠØąØ§ÚĐŲ…",densityDefault:"ŲūیØī ŲØąØķ",densityLarger:"ØĻØēØąÚŊ",densityMiddle:"Ų…ØŠŲˆØģØ·",densitySmall:"ÚĐŲˆÚ†ÚĐ"},stepsForm:{next:"ØĻØđØŊی",prev:"Ų‚ØĻŲ„ÛŒ",submit:"Ø§ØŠŲ…Ø§Ų…"},loginForm:{submitText:"ŲˆØąŲˆØŊ"},editableTable:{action:{save:"ذØŪÛŒØąŲ‡",cancel:"Ų„ØšŲˆ",delete:"Ø­Ø°Ų",add:"یÚĐ ØąØŊÛŒŲ ØŊاØŊŲ‡ اØķØ§ŲŲ‡ ÚĐŲ†ÛŒØŊ"}},switch:{open:"ØĻاØē",close:"Ų†ØēØŊیÚĐ"}},f8={moneySymbol:"₮",form:{lightFilter:{more:"Plus",clear:"Effacer",confirm:"Confirmer",itemUnit:"Items"}},tableForm:{search:"Rechercher",reset:"RÃĐinitialiser",submit:"Envoyer",collapsed:"Agrandir",expand:"RÃĐduire",inputPlaceholder:"Entrer une valeur",selectPlaceholder:"SÃĐlectionner une valeur"},alert:{clear:"RÃĐinitialiser",selected:"SÃĐlectionnÃĐ",item:"Item"},pagination:{total:{range:" ",total:"sur",item:"ÃĐlÃĐments"}},tableToolBar:{leftPin:"Épingler à gauche",rightPin:"Épingler à gauche",noPin:"Sans ÃĐpingle",leftFixedTitle:"Fixer à gauche",rightFixedTitle:"Fixer à droite",noFixedTitle:"Non fixÃĐ",reset:"RÃĐinitialiser",columnDisplay:"Affichage colonne",columnSetting:"RÃĐglages",fullScreen:"Plein ÃĐcran",exitFullScreen:"Quitter Plein ÃĐcran",reload:"Rafraichir",density:"DensitÃĐ",densityDefault:"Par dÃĐfaut",densityLarger:"Larger",densityMiddle:"Moyenne",densitySmall:"Compacte"},stepsForm:{next:"Suivante",prev:"PrÃĐcÃĐdente",submit:"Finaliser"},loginForm:{submitText:"Se connecter"},editableTable:{action:{save:"Sauvegarder",cancel:"Annuler",delete:"Supprimer",add:"ajouter une ligne de donnÃĐes"}},switch:{open:"ouvert",close:"prÃĻs"}},v8={moneySymbol:"kn",form:{lightFilter:{more:"ViÅĄe",clear:"Očisti",confirm:"Potvrdi",itemUnit:"Stavke"}},tableForm:{search:"PretraÅūi",reset:"PoniÅĄti",submit:"Potvrdi",collapsed:"RaÅĄiri",expand:"Skupi",inputPlaceholder:"Unesite",selectPlaceholder:"Odaberite"},alert:{clear:"Očisti",selected:"Odaberi",item:"stavke"},pagination:{total:{range:" ",total:"od",item:"stavke"}},tableToolBar:{leftPin:"Prikači lijevo",rightPin:"Prikači desno",noPin:"Bez prikačenja",leftFixedTitle:"Fiksiraj lijevo",rightFixedTitle:"Fiksiraj desno",noFixedTitle:"Bez fiksiranja",reset:"Resetiraj",columnDisplay:"Prikaz stupaca",columnSetting:"Postavke",fullScreen:"Puni zaslon",exitFullScreen:"Izađi iz punog zaslona",reload:"Ponovno učitaj",density:"Veličina",densityDefault:"Zadano",densityLarger:"Veliko",densityMiddle:"Srednje",densitySmall:"Malo"},stepsForm:{next:"Sljedeći",prev:"Prethodni",submit:"Kraj"},loginForm:{submitText:"Prijava"},editableTable:{action:{save:"Spremi",cancel:"Odustani",delete:"ObriÅĄi",add:"dodajte red podataka"}},switch:{open:"otvori",close:"zatvori"}},m8={moneySymbol:"RP",form:{lightFilter:{more:"Lebih",clear:"Hapus",confirm:"Konfirmasi",itemUnit:"Unit"}},tableForm:{search:"Cari",reset:"Atur ulang",submit:"Kirim",collapsed:"Lebih sedikit",expand:"Lebih banyak",inputPlaceholder:"Masukkan pencarian",selectPlaceholder:"Pilih"},alert:{clear:"Hapus",selected:"Dipilih",item:"Butir"},pagination:{total:{range:" ",total:"Dari",item:"Butir"}},tableToolBar:{leftPin:"Pin kiri",rightPin:"Pin kanan",noPin:"Tidak ada pin",leftFixedTitle:"Rata kiri",rightFixedTitle:"Rata kanan",noFixedTitle:"Tidak tetap",reset:"Atur ulang",columnDisplay:"Tampilan kolom",columnSetting:"Pengaturan",fullScreen:"Layar penuh",exitFullScreen:"Keluar layar penuh",reload:"Atur ulang",density:"Kerapatan",densityDefault:"Standar",densityLarger:"Lebih besar",densityMiddle:"Sedang",densitySmall:"Rapat"},stepsForm:{next:"Selanjutnya",prev:"Sebelumnya",submit:"Selesai"},loginForm:{submitText:"Login"},editableTable:{action:{save:"simpan",cancel:"batal",delete:"hapus",add:"Tambahkan baris data"}},switch:{open:"buka",close:"tutup"}},h8={moneySymbol:"₮",form:{lightFilter:{more:"piÃđ",clear:"pulisci",confirm:"conferma",itemUnit:"elementi"}},tableForm:{search:"Filtra",reset:"Pulisci",submit:"Invia",collapsed:"Espandi",expand:"Contrai",inputPlaceholder:"Digita",selectPlaceholder:"Seleziona"},alert:{clear:"Rimuovi",selected:"Selezionati",item:"elementi"},pagination:{total:{range:" ",total:"di",item:"elementi"}},tableToolBar:{leftPin:"Fissa a sinistra",rightPin:"Fissa a destra",noPin:"Ripristina posizione",leftFixedTitle:"Fissato a sinistra",rightFixedTitle:"Fissato a destra",noFixedTitle:"Non fissato",reset:"Ripristina",columnDisplay:"Disposizione colonne",columnSetting:"Impostazioni",fullScreen:"Modalità schermo intero",exitFullScreen:"Esci da modalità schermo intero",reload:"Ricarica",density:"Grandezza tabella",densityDefault:"predefinito",densityLarger:"Grande",densityMiddle:"Media",densitySmall:"Compatta"},stepsForm:{next:"successivo",prev:"precedente",submit:"finisci"},loginForm:{submitText:"Accedi"},editableTable:{action:{save:"salva",cancel:"annulla",delete:"Delete",add:"add a row of data"}},switch:{open:"open",close:"chiudi"}},p8={moneySymbol:"ÂĨ",form:{lightFilter:{more:"もãĢãĻ",clear:"明įĒš",confirm:"įĒščŠ",itemUnit:"項į›Ū"}},tableForm:{search:"æĪœįīĒ",reset:"ナã‚ŧット",submit:"提äšĪ",collapsed:"åą•é–‹",expand:"収įī",inputPlaceholder:"å…Ĩ力しãĶください",selectPlaceholder:"éļ択しãĶください"},alert:{clear:"ã‚Ŋナã‚Ē",selected:"éļ択した",item:"項į›Ū"},pagination:{total:{range:"čĻ˜äš‹",total:"/合čψ",item:" "}},tableToolBar:{leftPin:"å·ĶãŦ囚åۚ",rightPin:"åģãŦ囚åۚ",noPin:"キãƒĢãƒģã‚ŧãƒŦ",leftFixedTitle:"å·ĶãŦ囚åŪšã•ã‚ŒãŸé …į›Ū",rightFixedTitle:"åģãŦ囚åŪšã•ã‚ŒãŸé …į›Ū",noFixedTitle:"囚åŪšã•ã‚ŒãĶおい項į›Ū",reset:"ナã‚ŧット",columnDisplay:"čĄĻįĪšåˆ—",columnSetting:"列čĄĻįĪščĻ­åۚ",fullScreen:"フãƒŦã‚đã‚Ŋナマãƒģ",exitFullScreen:"įĩ‚䚆",reload:"æ›ī新",density:"行éŦ˜",densityDefault:"デフã‚ĐãƒŦト",densityLarger:"éŧ˜čŪĪ",densityMiddle:"äļ­",densitySmall:"小"},stepsForm:{next:"æŽĄãŪã‚đテップ",prev:"前",submit:"送äŋĄ"},loginForm:{submitText:"ログã‚Īãƒģ"},editableTable:{action:{save:"救う",cancel:"キãƒĢãƒģã‚ŧãƒŦ",delete:"削é™Ī",add:"1行ãŪデマã‚ŋをčŋ―加しãūす"}},switch:{open:"りマプãƒģ",close:"čŋ‘い"}},g8={moneySymbol:"â‚Đ",form:{lightFilter:{more:"더ëģīęļ°",clear:"ė·Ļė†Œ",confirm:"확ėļ",itemUnit:"ęąī눘"}},tableForm:{search:"ėĄ°íšŒ",reset:"ėīˆęļ°í™”",submit:"렜ėķœ",collapsed:"확ėžĨ",expand:"ë‹Ŧęļ°",inputPlaceholder:"ėž…ë Ĩí•ī ėĢžė„ļėš”",selectPlaceholder:"ė„ íƒí•ī ėĢžė„ļėš”"},alert:{clear:"ė·Ļė†Œ",selected:"ė„ íƒ",item:"ęąī"},pagination:{total:{range:" ",total:"/ ėī",item:"ęąī"}},tableToolBar:{leftPin:"ė™žėŠ―ėœžëĄœ 핀",rightPin:"ė˜ĪëĨļėŠ―ėœžëĄœ 핀",noPin:"핀 ė œęą°",leftFixedTitle:"ė™žėŠ―ėœžëĄœ ęģ ė •",rightFixedTitle:"ė˜ĪëĨļėŠ―ėœžëĄœ ęģ ė •",noFixedTitle:"ëđ„ęģ ė •",reset:"ėīˆęļ°í™”",columnDisplay:"ėŧŽëŸž í‘œė‹œ",columnSetting:"ė„Īė •",fullScreen:"ė „ėēī 화ëĐī",exitFullScreen:"ė „ėēī 화ëĐī ė·Ļė†Œ",reload:"ë‹Īė‹œ ė―ęļ°",density:"ė—Žë°ą",densityDefault:"ęļ°ëģļ",densityLarger:"ë§Žė€ ė—Žë°ą",densityMiddle:"ėΑ氄 ė—Žë°ą",densitySmall:"ėĒė€ ė—Žë°ą"},stepsForm:{next:"ë‹ĪėŒ",prev:"ėīė „",submit:"ėĒ…ë̌"},loginForm:{submitText:"로ę·ļėļ"},editableTable:{action:{save:"ė €ėžĨ",cancel:"ė·Ļė†Œ",delete:"ė‚­ė œ",add:"데ėī터 행 ėķ”ę°€"}},switch:{open:"ė—ī",close:"가ęđŒ ėšī"}},y8={moneySymbol:"â‚Ū",form:{lightFilter:{more:"ИÐŧŌŊŌŊ",clear:"ÐĶŅÐēŅŅ€ÐŧŅŅ…",confirm:"Ð‘Ð°Ņ‚Ð°ÐŧÐģааÐķ҃҃ÐŧÐ°Ņ…",itemUnit:"ÐŅÐģÐķŌŊŌŊÐī"}},tableForm:{search:"ÐĨаÐđŅ…",reset:"ÐĻÐļÐ―ŅŅ‡ÐŧŅŅ…",submit:"ИÐŧÐģŅŅŅ…",collapsed:"ÓĻŅ€ÐģÓĐŅ‚ÐģÓĐŅ…",expand:"ÐĨŅƒŅ€Ð°Ð°Ņ…",inputPlaceholder:"ÐĢŅ‚Ðģа ÐūŅ€ŅƒŅƒÐŧÐ―Ð° ҃҃",selectPlaceholder:"ÐĢŅ‚Ðģа ҁÐūÐ―ÐģÐūÐ―Ðū ҃҃"},alert:{clear:"ÐĶŅÐēŅŅ€ÐŧŅŅ…",selected:"ÐĄÐūÐ―ÐģÐūÐģÐīҁÐūÐ―",item:"ÐŅÐģÐķ"},pagination:{total:{range:" ",total:"НÐļÐđŅ‚",item:"ОÓĐŅ€"}},tableToolBar:{leftPin:"ЗŌŊŌŊÐ― Ņ‚ÐļÐđ҈ ÐąŅŅ…ÐŧŅŅ…",rightPin:"Ð‘Ð°Ņ€ŅƒŅƒÐ― Ņ‚ÐļÐđ҈ ÐąŅŅ…ÐŧŅŅ…",noPin:"Ð‘ŅŅ…ÐŧŅŅ…ÐģŌŊÐđ",leftFixedTitle:"ЗŌŊŌŊÐ― Ð·ŅŅ€ŅÐģ҆ŌŊŌŊÐŧŅŅ…",rightFixedTitle:"Ð‘Ð°Ņ€ŅƒŅƒÐ― Ð·ŅŅ€ŅÐģ҆ŌŊŌŊÐŧŅŅ…",noFixedTitle:"Ð—ŅŅ€ŅÐģ҆ŌŊŌŊÐŧŅŅ…ÐģŌŊÐđ",reset:"ÐĻÐļÐ―ŅŅ‡ÐŧŅŅ…",columnDisplay:"БаÐģÐ°Ð―Ð°Ð°Ņ€ Ņ…Ð°Ņ€ŅƒŅƒÐŧÐ°Ņ…",columnSetting:"ÐĒÐūŅ…ÐļŅ€ÐģÐūÐū",fullScreen:"БŌŊŅ‚ŅÐ― ÐīŅÐŧÐģŅŅ†ŅŅŅ€",exitFullScreen:"БŌŊŅ‚ŅÐ― ÐīŅÐŧÐģŅŅ† Ņ†ŅƒŅ†ÐŧÐ°Ņ…",reload:"ÐĻÐļÐ―ŅŅ‡ÐŧŅŅ…",density:"ÐĨŅÐžÐķŅŅ",densityDefault:"ÐĨŅÐēÐļÐđÐ―",densityLarger:"ÐĒÐūО",densityMiddle:"Ð”ŅƒÐ―Ðī",densitySmall:"ЖÐļÐķÐļÐģ"},stepsForm:{next:"Ð”Ð°Ņ€Ð°Ð°Ņ…",prev:"ÓĻÐžÐ―ÓĐŅ…",submit:"Ð”ŅƒŅƒŅÐģÐ°Ņ…"},loginForm:{submitText:"ÐŅÐēŅ‚Ņ€ŅŅ…"},editableTable:{action:{save:"ÐĨаÐīÐģаÐŧÐ°Ņ…",cancel:"ÐĶŅƒŅ†ÐŧÐ°Ņ…",delete:"ÐĢҁ҂ÐģÐ°Ņ…",add:"МÓĐŅ€ Ð―ŅÐžŅŅ…"}},switch:{open:"ÐŅŅŅ…",close:"ÐĨÐ°Ð°Ņ…"}},b8={moneySymbol:"RM",form:{lightFilter:{more:"Lebih banyak",clear:"Jelas",confirm:"Mengesahkan",itemUnit:"Item"}},tableForm:{search:"Cari",reset:"Menetapkan semula",submit:"Hantar",collapsed:"Kembang",expand:"Kuncup",inputPlaceholder:"Sila masuk",selectPlaceholder:"Sila pilih"},alert:{clear:"Padam",selected:"Dipilih",item:"Item"},pagination:{total:{range:" ",total:"daripada",item:"item"}},tableToolBar:{leftPin:"Pin ke kiri",rightPin:"Pin ke kanan",noPin:"Tidak pin",leftFixedTitle:"Tetap ke kiri",rightFixedTitle:"Tetap ke kanan",noFixedTitle:"Tidak Tetap",reset:"Menetapkan semula",columnDisplay:"Lajur",columnSetting:"Settings",fullScreen:"Full Screen",exitFullScreen:"Keluar Full Screen",reload:"Muat Semula",density:"Densiti",densityDefault:"Biasa",densityLarger:"Besar",densityMiddle:"Tengah",densitySmall:"Kecil"},stepsForm:{next:"Seterusnya",prev:"Sebelumnya",submit:"Selesai"},loginForm:{submitText:"Log Masuk"},editableTable:{action:{save:"Simpan",cancel:"Membatalkan",delete:"Menghapuskan",add:"tambah baris data"}},switch:{open:"Terbuka",close:"Tutup"}},C8={moneySymbol:"zł",form:{lightFilter:{more:"Więcej",clear:"Wyczyść",confirm:"PotwierdÅš",itemUnit:"Ilość"}},tableForm:{search:"Szukaj",reset:"Reset",submit:"ZatwierdÅš",collapsed:"PokaÅž wiecej",expand:"PokaÅž mniej",inputPlaceholder:"Proszę podać",selectPlaceholder:"Proszę wybrać"},alert:{clear:"Wyczyść",selected:"Wybrane",item:"Wpis"},pagination:{total:{range:" ",total:"z",item:"WpisÃģw"}},tableToolBar:{leftPin:"Przypnij do lewej",rightPin:"Przypnij do prawej",noPin:"Odepnij",leftFixedTitle:"Przypięte do lewej",rightFixedTitle:"Przypięte do prawej",noFixedTitle:"Nieprzypięte",reset:"Reset",columnDisplay:"Wyświetlane wiersze",columnSetting:"Ustawienia",fullScreen:"Pełen ekran",exitFullScreen:"Zamknij pełen ekran",reload:"OdświeÅž",density:"Odstęp",densityDefault:"Standard",densityLarger:"Wiekszy",densityMiddle:"Sredni",densitySmall:"Kompaktowy"},stepsForm:{next:"Weiter",prev:"ZurÞck",submit:"Abschließen"},loginForm:{submitText:"Zaloguj się"},editableTable:{action:{save:"Zapisać",cancel:"Anuluj",delete:"Usunąć",add:"dodawanie wiersza danych"}},switch:{open:"otwierać",close:"zamykać"}},x8={moneySymbol:"R$",form:{lightFilter:{more:"Mais",clear:"Limpar",confirm:"Confirmar",itemUnit:"Itens"}},tableForm:{search:"Filtrar",reset:"Limpar",submit:"Confirmar",collapsed:"Expandir",expand:"Colapsar",inputPlaceholder:"Por favor insira",selectPlaceholder:"Por favor selecione"},alert:{clear:"Limpar",selected:"Selecionado(s)",item:"Item(s)"},pagination:{total:{range:" ",total:"de",item:"itens"}},tableToolBar:{leftPin:"Fixar à esquerda",rightPin:"Fixar à direita",noPin:"Desfixado",leftFixedTitle:"Fixado à esquerda",rightFixedTitle:"Fixado à direita",noFixedTitle:"NÃĢo fixado",reset:"Limpar",columnDisplay:"Mostrar Coluna",columnSetting:"ConfiguraçÃĩes",fullScreen:"Tela Cheia",exitFullScreen:"Sair da Tela Cheia",reload:"Atualizar",density:"Densidade",densityDefault:"PadrÃĢo",densityLarger:"Largo",densityMiddle:"MÃĐdio",densitySmall:"Compacto"},stepsForm:{next:"PrÃģximo",prev:"Anterior",submit:"Enviar"},loginForm:{submitText:"Entrar"},editableTable:{action:{save:"Salvar",cancel:"Cancelar",delete:"Apagar",add:"adicionar uma linha de dados"}},switch:{open:"abrir",close:"fechar"}},S8={moneySymbol:"â‚―",form:{lightFilter:{more:"Ð•Ņ‰Ðĩ",clear:"ÐžŅ‡Ðļҁ҂ÐļŅ‚ŅŒ",confirm:"ОК",itemUnit:"ПÐūзÐļ҆ÐļÐļ"}},tableForm:{search:"НаÐđŅ‚Ðļ",reset:"ÐĄÐąŅ€Ðūҁ",submit:"ÐžŅ‚ÐŋŅ€Ð°ÐēÐļŅ‚ŅŒ",collapsed:"РазÐēÐĩŅ€Ð―ŅƒŅ‚ŅŒ",expand:"ÐĄÐēÐĩŅ€Ð―ŅƒŅ‚ŅŒ",inputPlaceholder:"ВÐēÐĩÐīÐļŅ‚Ðĩ Ð·Ð―Ð°Ņ‡ÐĩÐ―ÐļÐĩ",selectPlaceholder:"Ð’Ņ‹ÐąÐĩŅ€ÐļŅ‚Ðĩ Ð·Ð―Ð°Ņ‡ÐĩÐ―ÐļÐĩ"},alert:{clear:"ÐžŅ‡Ðļҁ҂ÐļŅ‚ŅŒ",selected:"Ð’Ņ‹ÐąŅ€Ð°Ð―Ðū",item:"ŅÐŧÐĩОÐĩÐ―Ņ‚ÐūÐē"},pagination:{total:{range:" ",total:"Ðļз",item:"ŅÐŧÐĩОÐĩÐ―Ņ‚ÐūÐē"}},tableToolBar:{leftPin:"Ð—Ð°ÐšŅ€ÐĩÐŋÐļŅ‚ŅŒ ҁÐŧÐĩÐēа",rightPin:"Ð—Ð°ÐšŅ€ÐĩÐŋÐļŅ‚ŅŒ ҁÐŋŅ€Ð°Ðēа",noPin:"ÐžŅ‚ÐšŅ€ÐĩÐŋÐļŅ‚ŅŒ",leftFixedTitle:"Ð—Ð°ÐšŅ€ÐĩÐŋÐŧÐĩÐ―Ðū ҁÐŧÐĩÐēа",rightFixedTitle:"Ð—Ð°ÐšŅ€ÐĩÐŋÐŧÐĩÐ―Ðū ҁÐŋŅ€Ð°Ðēа",noFixedTitle:"НÐĩ Ð·Ð°ÐšŅ€ÐĩÐŋÐŧÐĩÐ―Ðū",reset:"ÐĄÐąŅ€Ðūҁ",columnDisplay:"ÐžŅ‚ÐūÐąŅ€Ð°ÐķÐĩÐ―ÐļÐĩ ҁ҂ÐūÐŧÐąŅ†Ð°",columnSetting:"ÐÐ°ŅŅ‚Ņ€ÐūÐđКÐļ",fullScreen:"ПÐūÐŧÐ―Ņ‹Ðđ ŅÐšŅ€Ð°Ð―",exitFullScreen:"Ð’Ņ‹ÐđŅ‚Ðļ Ðļз ÐŋÐūÐŧÐ―ÐūŅÐšŅ€Ð°Ð―Ð―ÐūÐģÐū Ņ€ÐĩÐķÐļОа",reload:"ÐžÐąÐ―ÐūÐēÐļŅ‚ŅŒ",density:"РазОÐĩŅ€",densityDefault:"ПÐū ŅƒÐžÐūÐŧŅ‡Ð°Ð―ÐļŅŽ",densityLarger:"БÐūÐŧҌ҈ÐūÐđ",densityMiddle:"ÐĄŅ€ÐĩÐīÐ―ÐļÐđ",densitySmall:"ÐĄÐķÐ°Ņ‚Ņ‹Ðđ"},stepsForm:{next:"ÐĄÐŧÐĩÐīŅƒŅŽŅ‰ÐļÐđ",prev:"ÐŸŅ€ÐĩÐīŅ‹ÐīŅƒŅ‰ÐļÐđ",submit:"ЗаÐēÐĩŅ€ŅˆÐļŅ‚ŅŒ"},loginForm:{submitText:"Ð’Ņ…ÐūÐī"},editableTable:{action:{save:"ÐĄÐūŅ…Ņ€Ð°Ð―ÐļŅ‚ŅŒ",cancel:"ÐžŅ‚ÐžÐĩÐ―ÐļŅ‚ŅŒ",delete:"ÐĢÐīаÐŧÐļŅ‚ŅŒ",add:"ÐīÐūÐąÐ°ÐēÐļŅ‚ŅŒ Ņ€ŅÐī ÐīÐ°Ð―Ð―Ņ‹Ņ…"}},switch:{open:"ÐžŅ‚ÐšŅ€Ņ‹Ņ‚Ņ‹Ðđ ҇ÐĩОÐŋÐļÐūÐ―Ð°Ņ‚ ОÐļŅ€Ð° ÐŋÐū Ņ‚ÐĩÐ―Ð―Ðļҁ҃",close:"ПÐū аÐīŅ€Ðĩҁ҃:"}},w8={moneySymbol:"RSD",form:{lightFilter:{more:"ViÅĄe",clear:"Očisti",confirm:"Potvrdi",itemUnit:"Stavke"}},tableForm:{search:"Pronađi",reset:"Resetuj",submit:"PoÅĄalji",collapsed:"ProÅĄiri",expand:"Skupi",inputPlaceholder:"Molimo unesite",selectPlaceholder:"Molimo odaberite"},alert:{clear:"Očisti",selected:"Odabrano",item:"Stavka"},pagination:{total:{range:" ",total:"od",item:"stavki"}},tableToolBar:{leftPin:"Zakači levo",rightPin:"Zakači desno",noPin:"Nije zakačeno",leftFixedTitle:"Fiksirano levo",rightFixedTitle:"Fiksirano desno",noFixedTitle:"Nije fiksirano",reset:"Resetuj",columnDisplay:"Prikaz kolona",columnSetting:"PodeÅĄavanja",fullScreen:"Pun ekran",exitFullScreen:"Zatvori pun ekran",reload:"OsveÅūi",density:"Veličina",densityDefault:"Podrazumevana",densityLarger:"Veća",densityMiddle:"Srednja",densitySmall:"Kompaktna"},stepsForm:{next:"Dalje",prev:"Nazad",submit:"Gotovo"},loginForm:{submitText:"Prijavi se"},editableTable:{action:{save:"Sačuvaj",cancel:"PoniÅĄti",delete:"ObriÅĄi",add:"dodajte red podataka"}},switch:{open:"ÐžŅ‚ÐēÐūŅ€ÐļŅ‚Ðĩ",close:"Ð—Ð°Ņ‚ÐēÐūŅ€ÐļŅ‚Ðĩ"}},E8={moneySymbol:"₹",form:{lightFilter:{more:"Daha Fazla",clear:"Temizle",confirm:"Onayla",itemUnit:"Öğeler"}},tableForm:{search:"Filtrele",reset:"SÄąfÄąrla",submit:"GÃķnder",collapsed:"Daha fazla",expand:"Daha az",inputPlaceholder:"Filtrelemek için bir değer girin",selectPlaceholder:"Filtrelemek için bir değer seçin"},alert:{clear:"Temizle",selected:"Seçili",item:"Öğe"},pagination:{total:{range:" ",total:"Toplam",item:"Öğe"}},tableToolBar:{leftPin:"Sola sabitle",rightPin:"Sağa sabitle",noPin:"Sabitlemeyi kaldÄąr",leftFixedTitle:"Sola sabitlendi",rightFixedTitle:"Sağa sabitlendi",noFixedTitle:"Sabitlenmedi",reset:"SÄąfÄąrla",columnDisplay:"Kolon GÃķrÞnÞmÞ",columnSetting:"Ayarlar",fullScreen:"Tam Ekran",exitFullScreen:"Tam Ekrandan Ã‡Äąk",reload:"Yenile",density:"KalÄąnlÄąk",densityDefault:"VarsayÄąlan",densityLarger:"BÞyÞk",densityMiddle:"Orta",densitySmall:"KÞçÞk"},stepsForm:{next:"SÄąradaki",prev:"Önceki",submit:"GÃķnder"},loginForm:{submitText:"Giriş Yap"},editableTable:{action:{save:"Kaydet",cancel:"Vazgeç",delete:"Sil",add:"foegje in rige gegevens ta"}},switch:{open:"aÃ§Äąk",close:"kapatmak"}},P8={moneySymbol:"â‚Ŧ",form:{lightFilter:{more:"Nhiáŧu hÆĄn",clear:"Trong",confirm:"XÃĄc nháš­n",itemUnit:"MáŧĨc"}},tableForm:{search:"TÃŽm kiášŋm",reset:"Làm lᚥi",submit:"Gáŧ­i đi",collapsed:"MáŧŸ ráŧ™ng",expand:"Thu gáŧn",inputPlaceholder:"nháš­p dáŧŊ liáŧ‡u",selectPlaceholder:"Vui lÃēng cháŧn"},alert:{clear:"XÃģa",selected:"đÃĢ cháŧn",item:"máŧĨc"},pagination:{total:{range:" ",total:"trÊn",item:"máš·t hàng"}},tableToolBar:{leftPin:"Ghim trÃĄi",rightPin:"Ghim phášĢi",noPin:"Báŧ ghim",leftFixedTitle:"Cáŧ‘ đáŧ‹nh trÃĄi",rightFixedTitle:"Cáŧ‘ đáŧ‹nh phášĢi",noFixedTitle:"Chưa cáŧ‘ đáŧ‹nh",reset:"Làm lᚥi",columnDisplay:"Cáŧ™t hiáŧƒn tháŧ‹",columnSetting:"CášĨu hÃŽnh",fullScreen:"Chášŋ đáŧ™ toàn màn hÃŽnh",exitFullScreen:"ThoÃĄt chášŋ đáŧ™ toàn màn hÃŽnh",reload:"Làm máŧ›i",density:"Máš­t đáŧ™ hiáŧƒn tháŧ‹",densityDefault:"Máš·c đáŧ‹nh",densityLarger:"Máš·c đáŧ‹nh",densityMiddle:"Trung bÃŽnh",densitySmall:"Cháš­t"},stepsForm:{next:"Sau",prev:"Trưáŧ›c",submit:"Kášŋt thÚc"},loginForm:{submitText:"Đăng nháš­p"},editableTable:{action:{save:"CáŧĐu",cancel:"Háŧ§y",delete:"XÃģa",add:"thÊm máŧ™t hàng dáŧŊ liáŧ‡u"}},switch:{open:"máŧŸ",close:"đÃģng"}},R8={moneySymbol:"ïŋĨ",deleteThisLine:"删é™Īæ­Ī行",copyThisLine:"åĪåˆķæ­Ī行",form:{lightFilter:{more:"æ›īåĪšį­›é€‰",clear:"æļ…é™Ī",confirm:"įĄŪčŪĪ",itemUnit:"éĄđ"}},tableForm:{search:"æŸĨčŊĒ",reset:"重į―Ū",submit:"提äšĪ",collapsed:"åą•åž€",expand:"æ”ķčĩ·",inputPlaceholder:"čŊ·čū“å…Ĩ",selectPlaceholder:"čŊ·é€‰æ‹Đ"},alert:{clear:"取æķˆé€‰æ‹Đ",selected:"å·ē选æ‹Đ",item:"éĄđ"},pagination:{total:{range:"įŽŽ",total:"æĄ/æ€ŧå…ą",item:"æĄ"}},tableToolBar:{leftPin:"囚åۚåœĻ列éĶ–",rightPin:"囚åۚåœĻ列å°ū",noPin:"äļå›šåۚ",leftFixedTitle:"囚åۚåœĻå·Ķäū§",rightFixedTitle:"囚åۚåœĻåģäū§",noFixedTitle:"äļå›šåۚ",reset:"重į―Ū",columnDisplay:"åˆ—åą•įĪš",columnSetting:"列čŪūį―Ū",fullScreen:"å…Ļåą",exitFullScreen:"退凚å…Ļåą",reload:"刷新",density:"åŊ†åšĶ",densityDefault:"æ­Ģåļļ",densityLarger:"éŧ˜čŪĪ",densityMiddle:"äļ­į­‰",densitySmall:"įī§å‡‘"},stepsForm:{next:"äļ‹ä­Ĩ",prev:"äļŠä­Ĩ",submit:"提äšĪ"},loginForm:{submitText:"į™ŧå―•"},editableTable:{onlyOneLineEditor:"åŠčƒ―åŒæ—ķįž–čū‘äļ€čĄŒ",action:{save:"äŋå­˜",cancel:"取æķˆ",delete:"删é™Ī",add:"æ·ŧ加äļ€čĄŒæ•°æŪ"}},switch:{open:"打垀",close:"å…ģ闭"}},k8={moneySymbol:"NT$",form:{lightFilter:{more:"æ›īåΚįŊĐéļ",clear:"æļ…é™Ī",confirm:"įĒščŠ",itemUnit:"項"}},tableForm:{search:"æŸĨčĐĒ",reset:"重į―Ū",submit:"提äšĪ",collapsed:"åą•é–‹",expand:"æ”ķčĩ·",inputPlaceholder:"čŦ‹čžļå…Ĩ",selectPlaceholder:"čŦ‹éļ擇"},alert:{clear:"取æķˆéļ擇",selected:"å·ēéļ擇",item:"項"},pagination:{total:{range:"įŽŽ",total:"æĒ/įļ―å…ą",item:"æĒ"}},tableToolBar:{leftPin:"囚åۚ到å·Ķ邊",rightPin:"囚åۚ到åģ邊",noPin:"äļå›šåۚ",leftFixedTitle:"囚åۚåœĻå·Ķåī",rightFixedTitle:"囚åۚåœĻåģåī",noFixedTitle:"äļå›šåۚ",reset:"重į―Ū",columnDisplay:"åˆ—åą•įĪš",columnSetting:"列čĻ­į―Ū",fullScreen:"å…Ļåą",exitFullScreen:"退凚å…Ļåą",reload:"刷新",density:"åŊ†åšĶ",densityDefault:"æ­Ģåļļ",densityLarger:"éŧ˜čŠ",densityMiddle:"äļ­į­‰",densitySmall:"᷊æđŠ"},stepsForm:{next:"äļ‹äļ€å€‹",prev:"äŧĨå‰įš„",submit:"åŪŒæˆ"},loginForm:{submitText:"į™ŧå…Ĩ"},editableTable:{action:{save:"äŋå­˜",cancel:"取æķˆ",delete:"刊é™Ī",add:"æ·ŧ加äļ€čĄŒæ•ļ據"}},switch:{open:"打開",close:"關閉"}};function N8(e,t,r){var n=t.replace(/\[(\d+)\]/g,".$1").split("."),a=e,o=r,s=Mi(n),l;try{for(s.s();!(l=s.n()).done;){var u=l.value;if(o=Object(a)[u],a=Object(a)[u],o===void 0)return r}}catch(c){s.e(c)}finally{s.f()}return o}var Ut=function(t,r){return{getMessage:function(a,o){return N8(r,a,o)||o},locale:t}},M8=Ut("mn_MN",y8),T8=Ut("ar_EG",o8),El=Ut("zh_CN",R8),F8=Ut("en_US",u8),$8=Ut("en_GB",s8),O8=Ut("vi_VN",P8),D8=Ut("it_IT",h8),I8=Ut("ja_JP",p8),_8=Ut("es_ES",c8),L8=Ut("ca_ES",i8),A8=Ut("ru_RU",S8),j8=Ut("sr_RS",w8),K8=Ut("ms_MY",b8),V8=Ut("zh_TW",k8),z8=Ut("fr_FR",f8),B8=Ut("pt_BR",x8),H8=Ut("ko_KR",g8),W8=Ut("id_ID",m8),U8=Ut("de_DE",l8),Y8=Ut("fa_IR",d8),G8=Ut("tr_TR",E8),q8=Ut("pl_PL",C8),X8=Ut("hr_",v8),wa={"mn-MN":M8,"ar-EG":T8,"zh-CN":El,"en-US":F8,"en-GB":$8,"vi-VN":O8,"it-IT":D8,"ja-JP":I8,"es-ES":_8,"ca-ES":L8,"ru-RU":A8,"sr-RS":j8,"ms-MY":K8,"zh-TW":V8,"fr-FR":z8,"pt-BR":B8,"ko-KR":H8,"id-ID":W8,"de-DE":U8,"fa-IR":Y8,"tr-TR":G8,"pl-PL":q8,"hr-HR":X8},Z8=Object.keys(wa),Pl=Q.createContext({intl:p(p({},El),{},{locale:"default"}),valueTypeMap:{}}),Q8=Pl.Consumer,J8=Pl.Provider,Eh=function(t){if(!t)return"zh-CN";var r=t.toLocaleLowerCase();return Z8.find(function(n){var a=n.toLocaleLowerCase();return a.includes(r)})},eE=function(){var t=Sh(),r=t.cache;return i.useEffect(function(){return function(){r.clear()}},[]),null},Lu=function(t){var r=t.children,n=t.autoClearCache,a=n===void 0?!1:n,o=i.useContext(yt.ConfigContext),s=o.locale,l=s===void 0?yt:Q.Fragment,u=S.jsx(Q8,{children:function(d){var f,v=s==null?void 0:s.locale,m=Eh(v),h=v&&((f=d.intl)===null||f===void 0?void 0:f.locale)==="default"?wa[m]:d.intl||wa[m],g=s===void 0?{locale:L6}:{};return S.jsx(l,p(p({},g),{},{children:S.jsx(J8,{value:p(p({},d),{},{intl:h||El}),children:S.jsxs(S.Fragment,{children:[a&&S.jsx(eE,{}),r]})})}))}});return a?S.jsx(a8,{value:{provider:function(){return new Map}},children:u}):u};function Tt(){var e=i.useContext(yt.ConfigContext),t=e.locale,r=i.useContext(Pl),n=r.intl;return n&&n.locale!=="default"?n:t!=null&&t.locale?wa[Eh(t.locale)]:El}var tE=function(t){var r=Tt(),n=t.onClear,a=t.onConfirm,o=t.disabled,s=t.footerRender,l=i.useContext(yt.ConfigContext),u=l.getPrefixCls,c=u("pro-core-dropdown-footer"),d=[S.jsx(An,{style:{visibility:n?"visible":"hidden"},type:"link",size:"small",disabled:o,onClick:function(m){n&&n(m),m.stopPropagation()},children:r.getMessage("form.lightFilter.clear","æļ…é™Ī")},"clear"),S.jsx(An,{"data-type":"confirm",type:"primary",size:"small",onClick:a,disabled:o,children:r.getMessage("form.lightFilter.confirm","įĄŪčŪĪ")},"confirm")];if(s===!1||(s==null?void 0:s(a,n))===!1)return null;var f=(s==null?void 0:s(a,n))||d;return S.jsx("div",{className:c,onClick:function(m){return m.target.getAttribute("data-type")!=="confirm"&&m.stopPropagation()},children:f})};const nE=tE;var rE=function(e){Cn(r,e);var t=xn(r);function r(){var n;Sn(this,r);for(var a=arguments.length,o=new Array(a),s=0;s1,V=w.getMessage("form.lightFilter.itemUnit","éĄđ");return typeof L=="string"&&L.length>A&&j?"...".concat(M.length).concat(V):""},K=_();return S.jsxs("span",{title:typeof L=="string"?L:void 0,style:{display:"inline-flex",alignItems:"center"},children:[I,S.jsx("span",{style:{paddingLeft:4},children:typeof L=="string"?L==null||(F=L.toString())===null||F===void 0||(N=F.substr)===null||N===void 0?void 0:N.call(F,0,A):L}),K]})}return k||v};return S.jsxs("span",{className:ve(P,"".concat(P,"-").concat(u),(n={},B(n,"".concat(P,"-active"),!!s||s===0),B(n,"".concat(P,"-disabled"),c),B(n,"".concat(P,"-bordered"),y),B(n,"".concat(P,"-allow-clear"),C),n),m),style:h,ref:$,children:[D(a,s),(s||s===0)&&C&&S.jsx(Qi,{role:"button",title:"æļ…é™Ī",className:ve("".concat(P,"-icon"),"".concat(P,"-close")),onClick:function(k){o&&!c&&o(),k.stopPropagation()},ref:T}),S.jsx(yo,{className:ve("".concat(P,"-icon"),"".concat(P,"-arrow"))})]})};const aa=Q.forwardRef(oE);var iE=function(t){var r=t.children,n=t.label,a=t.footer,o=t.disabled,s=t.onVisibleChange,l=t.visible,u=t.footerRender,c=t.placement,d=i.useContext(yt.ConfigContext),f=d.getPrefixCls,v=f("pro-core-field-dropdown");return S.jsx(Mo,{disabled:o,placement:c,trigger:["click"],open:l,onOpenChange:s,menu:{items:[]},dropdownRender:function(){return S.jsxs("div",{className:"".concat(v,"-overlay"),children:[S.jsx("div",{className:"".concat(v,"-content"),children:r}),a&&S.jsx(nE,p({disabled:o,footerRender:u},a))]})},children:S.jsx("span",{className:"".concat(v,"-label"),children:n})})};const Ph=iE;var lE=["label","rules","name","children","popoverProps"],sE=["errorType","rules","name","popoverProps","children"],Rh={marginTop:-5,marginBottom:-5,marginLeft:0,marginRight:0},uE=function(t){var r=t.inputProps,n=t.input,a=t.extra,o=t.errorList,s=t.popoverProps,l=i.useState(!1),u=Y(l,2),c=u[0],d=u[1],f=i.useState([]),v=Y(f,2),m=v[0],h=v[1],g=i.useContext(yt.ConfigContext),y=g.getPrefixCls;i.useEffect(function(){r.validateStatus!=="validating"&&h(r.errors)},[r.errors,r.validateStatus]);var b=y();return S.jsx(ko,p(p({trigger:(s==null?void 0:s.trigger)||"focus",placement:(s==null?void 0:s.placement)||"topRight",visible:m.length<1?!1:c,onVisibleChange:function(x){x!==c&&d(x)},getPopupContainer:s==null?void 0:s.getPopupContainer,getTooltipContainer:s==null?void 0:s.getTooltipContainer,content:S.jsxs("div",{className:"".concat(b,"-form-item-with-help"),children:[r.validateStatus==="validating"?S.jsx(Oa,{}):null,o]})},s),{},{children:S.jsxs("div",{children:[n,a]})}),"popover")},cE=function(t){t.label;var r=t.rules,n=t.name,a=t.children,o=t.popoverProps,s=ze(t,lE);return S.jsx(Ht.Item,p(p({preserve:!1,name:n,rules:r,hasFeedback:!0,_internalItemRender:{mark:"pro_table_render",render:function(u,c){return S.jsx(uE,p({inputProps:u,popoverProps:o},c))}}},s),{},{style:p(p({},Rh),s==null?void 0:s.style),children:a}))};const dE=function(e){var t=e.errorType,r=e.rules,n=e.name,a=e.popoverProps,o=e.children,s=ze(e,sE);return n&&(r!=null&&r.length)&&t==="popover"?S.jsx(cE,p(p({name:n,rules:r,popoverProps:a},s),{},{children:o})):S.jsx(Ht.Item,p(p({rules:r},s),{},{style:p(p({},Rh),s.style),name:n,children:o}))};var fE=function(t){var r=t.label,n=t.tooltip,a=t.ellipsis,o=t.subTitle,s=i.useContext(yt.ConfigContext),l=s.getPrefixCls;if(!n&&!o)return S.jsx(S.Fragment,{children:r});var u=l("pro-core-label-tip"),c=typeof n=="string"||Q.isValidElement(n)?{title:n}:n,d=(c==null?void 0:c.icon)||S.jsx(Up,{});return S.jsxs("div",{className:u,onMouseDown:function(v){return v.stopPropagation()},onMouseLeave:function(v){return v.stopPropagation()},onMouseMove:function(v){return v.stopPropagation()},children:[S.jsx("div",{className:ve("".concat(u,"-title"),B({},"".concat(u,"-title-ellipsis"),a)),children:r}),o&&S.jsx("div",{className:"".concat(u,"-subtitle"),children:o}),n&&S.jsx(on,p(p({},c),{},{children:S.jsx("span",{className:"".concat(u,"-icon"),children:d})}))]})};const Jr=Q.memo(fE);var vE=Q.createContext({});const Bo=vE;var mE=function(t){return t==null};const Ea=mE;var kh={time:"HH:mm:ss",timeRange:"HH:mm:ss",date:"YYYY-MM-DD",dateWeek:"YYYY-wo",dateMonth:"YYYY-MM",dateQuarter:"YYYY-\\QQ",dateYear:"YYYY",dateRange:"YYYY-MM-DD",dateTime:"YYYY-MM-DD HH:mm:ss",dateTimeRange:"YYYY-MM-DD HH:mm:ss"};function Fd(e){return Object.prototype.toString.call(e)==="[object Object]"}function hE(e){if(Fd(e)===!1)return!1;var t=e.constructor;if(t===void 0)return!0;var r=t.prototype;return!(Fd(r)===!1||r.hasOwnProperty("isPrototypeOf")===!1)}var $d=function(t,r,n){if(!r)return t;if($t.isMoment(t)){if(r==="number")return t.valueOf();if(r==="string")return t.format(kh[n]||"YYYY-MM-DD HH:mm:ss");if(typeof r=="string"&&r!=="string")return t.format(r);if(typeof r=="function")return r(t,n)}return t},pE=function e(t,r,n,a,o){var s={};return typeof window>"u"||Ye(t)!=="object"||Ea(t)||t instanceof Blob||Array.isArray(t)?t:(Object.keys(t).forEach(function(l){var u=o?[o,l].flat(1):[l],c=pn(n,u)||"text",d="text",f;typeof c=="string"?d=c:c&&(d=c.valueType,f=c.dateFormat);var v=t[l];if(!(Ea(v)&&a)){if(hE(v)&&!Array.isArray(v)&&!$t.isMoment(v)){s[l]=e(v,r,n,a,[l]);return}if(Array.isArray(v)){s[l]=v.map(function(m,h){return $t.isMoment(m)?$d(m,f||r,d):e(m,r,n,a,[l,"".concat(h)])});return}s[l]=$d(v,f||r,d)}}),s)};const gE=pE;var Od=function(t,r){return typeof r=="function"?r($t(t)):$t(t).format(r)},yE=function(t,r){var n=Array.isArray(t)?t:[],a=Y(n,2),o=a[0],s=a[1],l,u;Array.isArray(r)?(l=r[0],u=r[1]):(l=r,u=r);var c=o?Od(o,l):"",d=s?Od(s,u):"",f=c&&d?"".concat(c," ~ ").concat(d):"";return f};const bE=yE;var CE=function(t){var r;return!!(!(t==null||(r=t.valueType)===null||r===void 0)&&r.toString().startsWith("date")||(t==null?void 0:t.valueType)==="select"||t!=null&&t.valueEnum)},xE=function(t,r,n){if(r.copyable||r.ellipsis){var a=r.copyable&&n?{text:n,tooltips:["",""]}:void 0,o=CE(r),s=r.ellipsis&&n?{tooltip:o?S.jsx("div",{className:"pro-table-tooltip-text",children:t}):n}:!1;return S.jsx(D6.Text,{style:{width:"100%",margin:0,padding:0},title:"",copyable:a,ellipsis:s,children:t})}return t};function gn(e){if(typeof e=="function"){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n1&&arguments[1]!==void 0?arguments[1]:100,r=arguments.length>2?arguments[2]:void 0,n=i.useState(e),a=Y(n,2),o=a[0],s=a[1],l=ju(e);return i.useEffect(function(){var u=setTimeout(function(){s(l.current)},t);return function(){return clearTimeout(u)}},r?[t].concat(Ke(r)):void 0),o}function Gn(e,t,r,n){if(e===t)return!0;if(e&&t&&Ye(e)==="object"&&Ye(t)==="object"){if(e.constructor!==t.constructor)return!1;var a,o,s;if(Array.isArray(e)){if(a=e.length,a!=t.length)return!1;for(o=a;o--!==0;)if(!Gn(e[o],t[o],r,n))return!1;return!0}if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;var l=Mi(e.entries()),u;try{for(l.s();!(u=l.n()).done;)if(o=u.value,!t.has(o[0]))return!1}catch(h){l.e(h)}finally{l.f()}var c=Mi(e.entries()),d;try{for(c.s();!(d=c.n()).done;)if(o=d.value,!Gn(o[1],t.get(o[0]),r,n))return!1}catch(h){c.e(h)}finally{c.f()}return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;var f=Mi(e.entries()),v;try{for(f.s();!(v=f.n()).done;)if(o=v.value,!t.has(o[0]))return!1}catch(h){f.e(h)}finally{f.f()}return!0}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(a=e.length,a!=t.length)return!1;for(o=a;o--!==0;)if(e[o]!==t[o])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf&&e.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&e.toString)return e.toString()===t.toString();if(s=Object.keys(e),a=s.length,a!==Object.keys(t).length)return!1;for(o=a;o--!==0;)if(!Object.prototype.hasOwnProperty.call(t,s[o]))return!1;for(o=a;o--!==0;){var m=s[o];if(!(r!=null&&r.includes(m))&&!(m==="_owner"&&e.$$typeof)&&!Gn(e[m],t[m],r,n))return n&&console.log(m),!1}return!0}return e!==e&&t!==t}var PE=function(t,r,n){return Gn(t,r,n)};function Nh(e,t){var r=i.useRef();return PE(e,r.current,t)||(r.current=e),r.current}function ji(e,t,r){i.useEffect(e,Nh(t||[],r))}function Mh(e,t,r,n){var a=Au(xt(Ve().mark(function o(){return Ve().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:e();case 1:case"end":return l.stop()}},o)})),n||16);i.useEffect(function(){a.run()},Nh(t||[],r))}var RE=typeof process<"u"&&process.versions!=null&&process.versions.node!=null,kE=function(){return typeof window<"u"&&typeof window.document<"u"&&typeof window.matchMedia<"u"&&!RE};const Th=kE;var Xl=0;function NE(e){var t=i.useState(function(){return e.proFieldKey?e.proFieldKey.toString():(Xl+=1,Xl.toString())}),r=Y(t,1),n=r[0],a=i.useRef(n),o=function(){var c=xt(Ve().mark(function d(){var f,v;return Ve().wrap(function(h){for(;;)switch(h.prev=h.next){case 0:return h.next=2,(f=e.request)===null||f===void 0?void 0:f.call(e,e.params,e);case 2:return v=h.sent,h.abrupt("return",v);case 4:case"end":return h.stop()}},d)}));return function(){return c.apply(this,arguments)}}();i.useEffect(function(){return function(){Xl+=1}},[]);var s=wh([a.current,e.params],o,{revalidateOnFocus:!1,shouldRetryOnError:!1,revalidateOnReconnect:!1}),l=s.data,u=s.error;return[l||u]}var ME=function(t){var r=i.useRef();return i.useEffect(function(){r.current=t}),r.current};const pa=ME;var TE=function(t){var r=!1;return(typeof t=="string"&&t.startsWith("date")&&!t.endsWith("Range")||t==="select"||t==="time")&&(r=!0),r};const FE=TE;var Rl=function(){for(var t={},r=arguments.length,n=new Array(r),a=0;a0&&arguments[0]!==void 0?arguments[0]:21;if(typeof window>"u"||!window.crypto)return(Dd+=1).toFixed(0);for(var r="",n=crypto.getRandomValues(new Uint8Array(t));t--;){var a=63&n[t];r+=a<36?a.toString(36):a<62?(a-26).toString(36).toUpperCase():a<63?"_":"-"}return r},Ku=function(){return typeof window>"u"?Id():window.crypto&&window.crypto.randomUUID&&typeof crypto.randomUUID=="function"?crypto.randomUUID():Id()},$E=function(t){if(t&&t!==!0)return t};const Fh=$E;var OE=function(t){var r={};if(Object.keys(t||{}).forEach(function(n){t[n]!==void 0&&(r[n]=t[n])}),!(Object.keys(r).length<1))return r};const Jt=OE;var DE=function(t){var r={};return Object.keys(t||{}).forEach(function(n){var a;Array.isArray(t[n])&&((a=t[n])===null||a===void 0?void 0:a.length)===0||t[n]!==void 0&&(r[n]=t[n])}),r};const IE=DE;var _E=function e(t,r){return Ea(t)||$t.isMoment(t)?t:Array.isArray(t)?t.map(function(n){return e(n,r)}):typeof t=="number"?$t(t):$t(t,r)};const Ho=_E;var LE=["colon","dependencies","extra","getValueFromEvent","getValueProps","hasFeedback","help","htmlFor","initialValue","noStyle","label","labelAlign","labelCol","name","preserve","normalize","required","rules","shouldUpdate","trigger","validateFirst","validateStatus","validateTrigger","valuePropName","wrapperCol","hidden","addonBefore","addonAfter"];function AE(e){var t={};return LE.forEach(function(r){e[r]!==void 0&&(t[r]=e[r])}),t}var jE="valueType request plain renderFormItem render text formItemProps valueEnum",KE="fieldProps isDefaultDom groupProps contentRender submitterProps submitter";function $h(e){var t="".concat(jE," ").concat(KE).split(/[\s\n]+/),r={};return Object.keys(e||{}).forEach(function(n){t.includes(n)||(r[n]=e[n])}),r}function VE(e){return Ye(e)!=="object"?!1:e===null?!0:!(Q.isValidElement(e)||e.constructor===RegExp||e instanceof Map||e instanceof Set||e instanceof HTMLElement||e instanceof Blob||e instanceof File||Array.isArray(e))}var zE=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,a=Object.keys(r).reduce(function(l,u){var c=r[u];return Ea(c)||(l[u]=c),l},{});if(Object.keys(a).length<1||typeof window>"u"||Ye(t)!=="object"||Ea(t)||t instanceof Blob)return t;var o=Array.isArray(t)?[]:{},s=function l(u,c){var d=Array.isArray(u),f=d?[]:{};return u==null||u===void 0?f:(Object.keys(u).forEach(function(v){var m=c?[c,v].flat(1):[v].flat(1),h=u[v],g=pn(a,m),y=function x(E){return Array.isArray(E)&&E.forEach(function(P,w){P&&(typeof P=="function"&&(h[w]=P(h,v,u)),Ye(P)==="object"&&!Array.isArray(P)&&Object.keys(P).forEach(function(T){if(typeof P[T]=="function"){var $=P[T](u[v][w][T],v,u);h[w][T]=Ye($)==="object"?$[T]:$}}),Ye(P)==="object"&&Array.isArray(P)&&x(P))}),v},b=function(){var E=typeof g=="function"?g==null?void 0:g(h,v,u):y(g);if(Array.isArray(E)){f=yn(f,E,h);return}Ye(E)==="object"&&!Array.isArray(o)?o=p(p({},o),E):Ye(E)==="object"&&Array.isArray(o)?f=p(p({},f),E):E&&(f=yn(f,[E],h))};if(g&&typeof g=="function"&&b(),!(typeof window>"u")){if(VE(h)){var C=l(h,m);if(Object.keys(C).length<1)return;f=yn(f,[v],C);return}b()}}),n?f:u)};return o=Array.isArray(t)&&Array.isArray(o)?Ke(s(t)):Rl({},s(t),o),o};const BE=zE;function cn(e,t){var r=Rt(e,t),n=Y(r,2),a=n[0],o=n[1];return[a,o]}var HE=["map_row_parentKey"],WE=["map_row_parentKey","map_row_key"],UE=["map_row_key"],Hn=function(t){return Array.isArray(t)?t.join(","):t};function oo(e,t){var r,n=e.getRowKey,a=e.row,o=e.data,s=e.childrenColumnName,l=(r=Hn(e.key))===null||r===void 0?void 0:r.toString(),u=new Map;function c(f,v,m){f.forEach(function(h,g){var y=(m||0)*10+g,b=n(h,y).toString();h&&Ye(h)==="object"&&s in h&&c(h[s]||[],b,y);var C=p(p({},h),{},{map_row_key:b,children:void 0,map_row_parentKey:v});delete C.children,v||delete C.map_row_parentKey,u.set(b,C)})}t==="top"&&u.set(l,p(p({},u.get(l)),a)),c(o),t==="update"&&u.set(l,p(p({},u.get(l)),a)),t==="delete"&&u.delete(l);var d=function(v){var m=new Map,h=[],g=function(){v.forEach(function(b){if(b.map_row_parentKey&&!b.map_row_key){var C=b.map_row_parentKey,x=ze(b,HE);m.set(C,[].concat(Ke(m.get(C)||[]),[x]))}})};return t==="top"&&g(),v.forEach(function(y){if(y.map_row_parentKey&&y.map_row_key){var b=y.map_row_parentKey,C=y.map_row_key,x=ze(y,WE);m.has(C)&&(x[s]=m.get(C)),m.set(b,[].concat(Ke(m.get(b)||[]),[x]))}}),t==="update"&&g(),v.forEach(function(y){if(!y.map_row_parentKey){var b=y.map_row_key,C=ze(y,UE);if(b&&m.has(b)){var x=p(p({},C),{},B({},s,m.get(b)));h.push(x);return}h.push(C)}}),h};return d(u)}function YE(e){var t=e.recordKey,r=e.onSave,n=e.row,a=e.children,o=e.newLineConfig,s=e.editorType,l=e.tableName,u=i.useContext(Bo),c=Ht.useFormInstance(),d=cn(!1),f=Y(d,2),v=f[0],m=f[1];return S.jsxs("a",{onClick:function(){var h=xt(Ve().mark(function y(b){var C,x,E,P,w,T,$,R,D;return Ve().wrap(function(k){for(;;)switch(k.prev=k.next){case 0:return b.stopPropagation(),b.preventDefault(),k.prev=2,x=s==="Map",E=[l,Array.isArray(t)?t[0]:t].map(function(M){return M==null?void 0:M.toString()}).flat(1).filter(Boolean),m(!0),k.next=8,c.validateFields(E,{recursive:!0});case 8:return P=((C=u.getFieldFormatValue)===null||C===void 0?void 0:C.call(u,E))||c.getFieldValue(E),Array.isArray(t)&&t.length>1&&(w=Zf(t),T=w.slice(1),$=pn(P,T),yn(P,T,$)),R=x?yn({},E,P,!0):P,k.next=13,r==null?void 0:r(t,Rl({},n,R),n,o);case 13:return D=k.sent,m(!1),k.abrupt("return",D);case 18:return k.prev=18,k.t0=k.catch(2),console.log(k.t0),m(!1),k.abrupt("return",null);case 23:case"end":return k.stop()}},y,null,[[2,18]])}));function g(y){return h.apply(this,arguments)}return g}(),children:[v?S.jsx(Oa,{style:{marginRight:8}}):null,a||"äŋå­˜"]},"save")}var GE=function(t){var r=t.recordKey,n=t.onDelete,a=t.row,o=t.children,s=t.deletePopconfirmMessage,l=cn(function(){return!1}),u=Y(l,2),c=u[0],d=u[1],f=Bt(xt(Ve().mark(function v(){var m;return Ve().wrap(function(g){for(;;)switch(g.prev=g.next){case 0:return g.prev=0,d(!0),g.next=4,n==null?void 0:n(r,a);case 4:return m=g.sent,d(!1),g.abrupt("return",m);case 9:return g.prev=9,g.t0=g.catch(0),console.log(g.t0),d(!1),g.abrupt("return",null);case 14:case"end":return g.stop()}},v,null,[[0,9]])})));return o!==!1?S.jsx(v0,{title:s,onConfirm:function(){return f()},children:S.jsxs("a",{children:[c?S.jsx(Oa,{style:{marginRight:8}}):null,o||"删é™Ī"]})},"delete"):null},qE=function(t){var r=t.recordKey,n=t.tableName,a=t.newLineConfig,o=t.editorType,s=t.onCancel,l=t.cancelEditable,u=t.row,c=t.cancelText,d=i.useContext(Bo),f=Ht.useFormInstance();return S.jsx("a",{onClick:function(){var v=xt(Ve().mark(function h(g){var y,b,C,x,E,P;return Ve().wrap(function(T){for(;;)switch(T.prev=T.next){case 0:return g.stopPropagation(),g.preventDefault(),b=o==="Map",C=[n,r].flat(1).filter(Boolean),x=((y=d.getFieldFormatValue)===null||y===void 0?void 0:y.call(d,C))||f.getFieldValue(C),E=b?yn({},C,x):x,T.next=8,s==null?void 0:s(r,E,u,a);case 8:return P=T.sent,l(r),f.setFieldsValue(B({},r,b?pn(u,C):u)),T.abrupt("return",P);case 12:case"end":return T.stop()}},h)}));function m(h){return v.apply(this,arguments)}return m}(),children:c||"取æķˆ"},"cancel")};function XE(e,t){var r=t.recordKey,n=t.newLineConfig,a=t.saveText,o=t.deleteText;return[S.jsx(YE,p(p({},t),{},{row:e,children:a}),"save"+r),(n==null?void 0:n.options.recordKey)!==r?S.jsx(GE,p(p({},t),{},{row:e,children:o}),"delete"+r):null,S.jsx(qE,p(p({},t),{},{row:e}),"cancel"+r)]}function ZE(e){var t=i.useState(void 0),r=Y(t,2),n=r[0],a=r[1],o=i.useRef(new Map),s=i.useRef(void 0);Mh(function(){var N=new Map,I=function L(A,_){A==null||A.forEach(function(K,z){var j,V=_==null?z.toString():_+"_"+z.toString();N.set(V,Hn(e.getRowKey(K,-1))),N.set((j=Hn(e.getRowKey(K,-1)))===null||j===void 0?void 0:j.toString(),V),e.childrenColumnName&&K[e.childrenColumnName]&&L(K[e.childrenColumnName],V)})};I(e.dataSource),o.current=N},[e.dataSource]),s.current=n;var l=e.type||"single",u=Ym(e.dataSource,"children",e.getRowKey),c=Y(u,1),d=c[0],f=Rt([],{value:e.editableKeys,onChange:e.onChange?function(N){var I;e==null||(I=e.onChange)===null||I===void 0||I.call(e,N.filter(function(L){return L!==void 0}),N.map(function(L){return d(L)}).filter(function(L){return L!==void 0}))}:void 0}),v=Y(f,2),m=v[0],h=v[1],g=i.useMemo(function(){var N=l==="single"?m==null?void 0:m.slice(0,1):m;return new Set(N)},[(m||[]).join(","),l]),y=pa(m),b=Bt(function(N){var I,L,A,_,K=(I=e.getRowKey(N,N.index))===null||I===void 0||(L=I.toString)===null||L===void 0?void 0:L.call(I),z=(A=e.getRowKey(N,-1))===null||A===void 0||(_=A.toString)===null||_===void 0?void 0:_.call(A),j=m.map(function(H){return H==null?void 0:H.toString()}),V=(y==null?void 0:y.map(function(H){return H==null?void 0:H.toString()}))||[],X=e.tableName&&!!(V!=null&&V.includes(z))||!!(V!=null&&V.includes(K));return{recordKey:z,isEditable:e.tableName&&(j==null?void 0:j.includes(z))||(j==null?void 0:j.includes(K)),preIsEditable:X}}),C=Bt(function(N){return g.size>0&&l==="single"&&e.onlyOneLineEditorAlertMessage!==!1?(Ll.warn(e.onlyOneLineEditorAlertMessage||"åŠčƒ―åŒæ—ķįž–čū‘äļ€čĄŒ"),!1):(g.add(N),h(Array.from(g)),!0)}),x=Bt(function(){var N=xt(Ve().mark(function I(L,A){var _,K;return Ve().wrap(function(j){for(;;)switch(j.prev=j.next){case 0:if(_=Hn(L).toString(),K=o.current.get(_),!(!g.has(_)&&K&&(A??!0)&&e.tableName)){j.next=5;break}return x(K,!1),j.abrupt("return");case 5:return n&&n.options.recordKey===L&&a(void 0),g.delete(_),g.delete(Hn(L)),h(Array.from(g)),j.abrupt("return",!0);case 10:case"end":return j.stop()}},I)}));return function(I,L){return N.apply(this,arguments)}}()),E=Au(xt(Ve().mark(function N(){var I,L,A,_,K=arguments;return Ve().wrap(function(j){for(;;)switch(j.prev=j.next){case 0:for(L=K.length,A=new Array(L),_=0;_0&&l==="single"&&e.onlyOneLineEditorAlertMessage!==!1)return Ll.warn(e.onlyOneLineEditorAlertMessage||"åŠčƒ―åŒæ—ķįž–čū‘äļ€čĄŒ"),!1;var L=e.getRowKey(N,-1);if(!L)throw tn(!!L,`čŊ·čŪūį―Ū recordCreatorProps.record åđķčŋ”回äļ€äļŠå”Ŋäļ€įš„key + https://procomponents.ant.design/components/editable-table#editable-%E6%96%B0%E5%BB%BA%E8%A1%8C`),new Error("čŊ·čŪūį―Ū recordCreatorProps.record åđķčŋ”回äļ€äļŠå”Ŋäļ€įš„key");if(g.add(L),h(Array.from(g)),(I==null?void 0:I.newRecordType)==="dataSource"||e.tableName){var A,_={data:e.dataSource,getRowKey:e.getRowKey,row:p(p({},N),{},{map_row_parentKey:I!=null&&I.parentKey?(A=Hn(I==null?void 0:I.parentKey))===null||A===void 0?void 0:A.toString():void 0}),key:L,childrenColumnName:e.childrenColumnName||"children"};e.setDataSource(oo(_,(I==null?void 0:I.position)==="top"?"top":"update"))}else a({defaultValue:N,options:p(p({},I),{},{recordKey:L})});return!0}),T=Tt(),$=(e==null?void 0:e.saveText)||T.getMessage("editableTable.action.save","äŋå­˜"),R=(e==null?void 0:e.deleteText)||T.getMessage("editableTable.action.delete","删é™Ī"),D=(e==null?void 0:e.cancelText)||T.getMessage("editableTable.action.cancel","取æķˆ"),O=Bt(function(){var N=xt(Ve().mark(function I(L,A,_,K){var z,j,V,X,H,Z,U;return Ve().wrap(function(q){for(;;)switch(q.prev=q.next){case 0:return X=K||s.current||{},H=X.options,q.next=3,e==null||(z=e.onSave)===null||z===void 0?void 0:z.call(e,L,A,_,K);case 3:if(Z=q.sent,x(L),!(!(H!=null&&H.parentKey)&&(H==null?void 0:H.recordKey)===L)){q.next=8;break}return(H==null?void 0:H.position)==="top"?e.setDataSource([A].concat(Ke(e.dataSource))):e.setDataSource([].concat(Ke(e.dataSource),[A])),q.abrupt("return",Z);case 8:return U={data:e.dataSource,getRowKey:e.getRowKey,row:H?p(p({},A),{},{map_row_parentKey:(j=Hn((V=H==null?void 0:H.parentKey)!==null&&V!==void 0?V:""))===null||j===void 0?void 0:j.toString()}):A,key:L,childrenColumnName:e.childrenColumnName||"children"},e.setDataSource(oo(U,(H==null?void 0:H.position)==="top"?"top":"update")),q.abrupt("return",Z);case 11:case"end":return q.stop()}},I)}));return function(I,L,A,_){return N.apply(this,arguments)}}()),k=Bt(function(){var N=xt(Ve().mark(function I(L,A){var _,K,z;return Ve().wrap(function(V){for(;;)switch(V.prev=V.next){case 0:return K={data:e.dataSource,getRowKey:e.getRowKey,row:A,key:L,childrenColumnName:e.childrenColumnName||"children"},V.next=3,e==null||(_=e.onDelete)===null||_===void 0?void 0:_.call(e,L,A);case 3:return z=V.sent,V.next=6,x(L);case 6:return e.setDataSource(oo(K,"delete")),V.abrupt("return",z);case 8:case"end":return V.stop()}},I)}));return function(I,L){return N.apply(this,arguments)}}()),M=Bt(function(){var N=xt(Ve().mark(function I(L,A,_,K){var z,j;return Ve().wrap(function(X){for(;;)switch(X.prev=X.next){case 0:return X.next=2,e==null||(z=e.onCancel)===null||z===void 0?void 0:z.call(e,L,A,_,K);case 2:return j=X.sent,X.abrupt("return",j);case 4:case"end":return X.stop()}},I)}));return function(I,L,A,_){return N.apply(this,arguments)}}()),F=function(I){var L=e.getRowKey(I,I.index),A={saveText:$,cancelText:D,deleteText:R,addEditRecord:w,recordKey:L,cancelEditable:x,index:I.index,tableName:e.tableName,newLineConfig:n,onCancel:M,onDelete:k,onSave:O,editableKeys:m,setEditableRowKeys:h,deletePopconfirmMessage:e.deletePopconfirmMessage||"".concat(T.getMessage("deleteThisLine","删é™Īæ­Ī行"),"?")},_=XE(I,A);return e.actionRender?e.actionRender(I,A,{save:_[0],delete:_[1],cancel:_[2]}):_};return{editableKeys:m,setEditableRowKeys:h,isEditable:b,actionRender:F,startEditable:C,cancelEditable:x,addEditRecord:w,newLineRecord:n,preEditableKeys:y,onValuesChange:P}}var QE={Success:function(t){var r=t.children;return S.jsx(Dn,{status:"success",text:r})},Error:function(t){var r=t.children;return S.jsx(Dn,{status:"error",text:r})},Default:function(t){var r=t.children;return S.jsx(Dn,{status:"default",text:r})},Processing:function(t){var r=t.children;return S.jsx(Dn,{status:"processing",text:r})},Warning:function(t){var r=t.children;return S.jsx(Dn,{status:"warning",text:r})},success:function(t){var r=t.children;return S.jsx(Dn,{status:"success",text:r})},error:function(t){var r=t.children;return S.jsx(Dn,{status:"error",text:r})},default:function(t){var r=t.children;return S.jsx(Dn,{status:"default",text:r})},processing:function(t){var r=t.children;return S.jsx(Dn,{status:"processing",text:r})},warning:function(t){var r=t.children;return S.jsx(Dn,{status:"warning",text:r})}},JE=function(t){var r=t.color,n=t.children;return S.jsx(Dn,{color:r,text:n})};const eP=QE;var tP=["label","prefixCls","onChange","value","mode","children","defaultValue","size","showSearch","disabled","style","className","bordered","options","onSearch","allowClear","labelInValue","fieldNames","lightLabel","labelTrigger"],_d=function(t,r){return Ye(r)!=="object"?t[r]||r:t[r==null?void 0:r.value]||r.label},nP=function(t,r){var n=t.label,a=t.prefixCls,o=t.onChange,s=t.value,l=t.mode;t.children,t.defaultValue;var u=t.size,c=t.showSearch,d=t.disabled,f=t.style,v=t.className,m=t.bordered,h=t.options,g=t.onSearch,y=t.allowClear,b=t.labelInValue,C=t.fieldNames,x=t.lightLabel,E=t.labelTrigger,P=ze(t,tP),w=t.placeholder,T=w===void 0?n:w,$=C||{},R=$.label,D=R===void 0?"label":R,O=$.value,k=O===void 0?"value":O,M=i.useContext(yt.ConfigContext),F=M.getPrefixCls,N=F("pro-field-select-light-select"),I=i.useState(!1),L=Y(I,2),A=L[0],_=L[1],K=i.useState(""),z=Y(K,2),j=z[0],V=z[1],X=i.useMemo(function(){var Z={};return h==null||h.forEach(function(U){var ae=U[D],q=U[k];Z[q]=ae||q}),Z},[D,h,k]),H=Array.isArray(s)?s.map(function(Z){return _d(X,Z)}):_d(X,s);return S.jsxs("div",{className:ve(N,B({},"".concat(N,"-searchable"),c),v),style:f,onClick:function(U){var ae,q,ne;if(!d){var ue=x==null||(ae=x.current)===null||ae===void 0||(q=ae.labelRef)===null||q===void 0||(ne=q.current)===null||ne===void 0?void 0:ne.contains(U.target);_(ue?!A:!0)}},children:[S.jsx(Tr,p(p({},P),{},{allowClear:y,value:s,mode:l,labelInValue:b,size:u,disabled:d,onChange:function(U,ae){o==null||o(U,ae),l!=="multiple"&&setTimeout(function(){_(!1)},0)},bordered:m,showSearch:c,onSearch:g,style:f,dropdownRender:function(U){return S.jsxs("div",{ref:r,children:[c&&S.jsx("div",{style:{margin:"4px 8px"},children:S.jsx(Nn,{value:j,allowClear:y,onChange:function(q){V(q.target.value.toLowerCase()),g==null||g(q.target.value)},onKeyDown:function(q){q.stopPropagation()},style:{width:"100%"},prefix:S.jsx(sv,{})})}),U]})},open:A,onDropdownVisibleChange:function(U){U||setTimeout(function(){V("")},0),E||_(U)},prefixCls:a,options:j?h==null?void 0:h.filter(function(Z){var U,ae,q,ne,ue;return((U=String(Z[D]))===null||U===void 0||(ae=U.toLowerCase())===null||ae===void 0?void 0:ae.includes(j))||((q=Z[k])===null||q===void 0||(ne=q.toString())===null||ne===void 0||(ue=ne.toLowerCase())===null||ue===void 0?void 0:ue.includes(j))}):h})),S.jsx(aa,{ellipsis:!0,size:u,label:n,placeholder:T,disabled:d,expanded:A,bordered:m,allowClear:y,value:H||(s==null?void 0:s.label)||s,onClear:function(){o==null||o(void 0,void 0)},ref:x})]})};const rP=Q.forwardRef(nP);var aP=["optionItemRender","mode","onSearch","onFocus","onChange","autoClearSearchValue","searchOnFocus","resetAfterSelect","fetchDataOnSearch","optionFilterProp","optionLabelProp","className","disabled","options","fetchData","resetData","prefixCls","onClear","searchValue","showSearch","fieldNames"],oP=Tr.Option,iP=Tr.OptGroup,lP=function(t,r){var n=t.optionItemRender,a=t.mode,o=t.onSearch,s=t.onFocus,l=t.onChange,u=t.autoClearSearchValue,c=t.searchOnFocus,d=c===void 0?!1:c,f=t.resetAfterSelect,v=f===void 0?!1:f,m=t.fetchDataOnSearch,h=m===void 0?!0:m,g=t.optionFilterProp,y=g===void 0?"label":g,b=t.optionLabelProp,C=b===void 0?"label":b,x=t.className,E=t.disabled,P=t.options,w=t.fetchData,T=t.resetData,$=t.prefixCls,R=t.onClear,D=t.searchValue,O=t.showSearch,k=t.fieldNames,M=ze(t,aP),F=k||{},N=F.label,I=N===void 0?"label":N,L=F.value,A=L===void 0?"value":L,_=F.options,K=_===void 0?"options":_,z=i.useState(D),j=Y(z,2),V=j[0],X=j[1],H=i.useRef();i.useImperativeHandle(r,function(){return H.current}),i.useEffect(function(){if(M.autoFocus){var G;H==null||(G=H.current)===null||G===void 0||G.focus()}},[M.autoFocus]),i.useEffect(function(){X(D)},[D]);var Z=i.useContext(yt.ConfigContext),U=Z.getPrefixCls,ae=U("pro-filed-search-select",$),q=ve(ae,x,B({},"".concat(ae,"-disabled"),E)),ne=function(te,ee){return Array.isArray(te)&&te.length>0?te.map(function(le,re){var ge=ee==null?void 0:ee[re],Pe=(ge==null?void 0:ge["data-item"])||{};return p(p({},Pe),le)}):[]},ue=function G(te){return te.map(function(ee){var le,re=ee.disabled,ge=ee.className,Pe=ee.optionType,me=ee[I],ce=ee[A],fe=(le=ee[K])!==null&&le!==void 0?le:[];return Pe==="optGroup"||ee.options?S.jsx(iP,{label:me,children:G(fe)},ce):i.createElement(oP,p(p({},ee),{},{value:ce,key:ce||(me==null?void 0:me.toString()),disabled:re,"data-item":ee,className:"".concat(ae,"-option ").concat(ge||""),label:me}),(n==null?void 0:n(ee))||me)})};return S.jsx(Tr,p(p({ref:H,className:q,allowClear:!0,autoClearSearchValue:u,disabled:E,mode:a,showSearch:O,searchValue:V,optionFilterProp:y,optionLabelProp:C,onClear:function(){R==null||R(),w(""),O&&X("")}},M),{},{onSearch:O?function(G){h&&w(G),o==null||o(G),X(G)}:void 0,onChange:function(te,ee){O&&u&&(V||w(""),o==null||o(""),X(""));for(var le=arguments.length,re=new Array(le>2?le-2:0),ge=2;ge0&&arguments[0]!==void 0?arguments[0]:[],r=[];return(0,h7.default)(t,function(n){Array.isArray(n)?e(n).map(function(a){return r.push(a)}):(0,v7.default)(n)?(0,d7.default)(n,function(a,o){a===!0&&r.push(o),r.push(o+"-"+a)}):(0,u7.default)(n)&&r.push(n)}),r};Yo.default=p7;var Go={};function g7(e,t){for(var r=-1,n=e==null?0:e.length;++r1&&arguments[1]!==void 0?arguments[1]:[],n=t.default&&(0,w9.default)(t.default)||{};return r.map(function(a){var o=t[a];return o&&(0,x9.default)(o,function(s,l){n[l]||(n[l]={}),n[l]=E9({},n[l],o[l])}),a}),n};Go.default=P9;var Zo={};Object.defineProperty(Zo,"__esModule",{value:!0});Zo.autoprefix=void 0;var R9=Vu,Yd=N9(R9),k9=Object.assign||function(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:"span";return function(n){I9(a,n);function a(){var o,s,l,u;D9(this,a);for(var c=arguments.length,d=Array(c),f=0;f1&&arguments[1]!==void 0?arguments[1]:"span";return function(n){V9(a,n);function a(){var o,s,l,u;K9(this,a);for(var c=arguments.length,d=Array(c),f=0;f1&&arguments[1]!==void 0?arguments[1]:!0;n[s]=l};return t===0&&a("first-child"),t===r-1&&a("last-child"),(t===0||t%2===0)&&a("even"),Math.abs(t%2)===1&&a("odd"),a("nth-child",t),n};Hu.default=B9;Object.defineProperty(Rn,"__esModule",{value:!0});Rn.ReactCSS=Rn.loop=Rn.handleActive=Rn.handleHover=Rn.hover=void 0;var H9=Yo,W9=Va(H9),U9=Go,Y9=Va(U9),G9=Zo,q9=Va(G9),X9=Qo,Qh=Va(X9),Z9=Jo,Q9=Va(Z9),J9=Hu,eN=Va(J9);function Va(e){return e&&e.__esModule?e:{default:e}}Rn.hover=Qh.default;Rn.handleHover=Qh.default;Rn.handleActive=Q9.default;Rn.loop=eN.default;var tN=Rn.ReactCSS=function(t){for(var r=arguments.length,n=Array(r>1?r-1:0),a=1;a1?r[a-1]:void 0,s=a>2?r[2]:void 0;for(o=e.length>3&&typeof o=="function"?(a--,o):void 0,s&&YN(r[0],r[1],s)&&(o=a<3?void 0:o,a=1),t=Object(t);++nl?v=1:v=Math.round(f*100/l)/100,r.a!==v)return{h:r.h,s:r.s,l:r.l,a:v,source:"rgb"}}else{var m;if(d<0?m=0:d>s?m=1:m=Math.round(d*100/s)/100,a!==m)return{h:r.h,s:r.s,l:r.l,a:m,source:"rgb"}}return null},Jl={},nM=function(t,r,n,a){if(typeof document>"u"&&!a)return null;var o=a?new a:document.createElement("canvas");o.width=n*2,o.height=n*2;var s=o.getContext("2d");return s?(s.fillStyle=t,s.fillRect(0,0,o.width,o.height),s.fillStyle=r,s.fillRect(0,0,n,n),s.translate(n,n),s.fillRect(0,0,n,n),o.toDataURL()):null},rM=function(t,r,n,a){var o="".concat(t,"-").concat(r,"-").concat(n).concat(a?"-server":"");if(Jl[o])return Jl[o];var s=nM(t,r,n,a);return Jl[o]=s,s};function xo(e){"@babel/helpers - typeof";return xo=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},xo(e)}function ef(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Si(e){for(var t=1;t"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Vi(e){return Vi=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Vi(e)}var gM=function(e){fM(r,e);var t=vM(r);function r(){var n;uM(this,r);for(var a=arguments.length,o=new Array(a),s=0;ss)f=0;else{var v=-(d*100/s)+100;f=360*v/100}if(n.h!==f)return{h:f,s:n.s,l:n.l,a:n.a,source:"hsl"}}else{var m;if(c<0)m=0;else if(c>o)m=359;else{var h=c*100/o;m=360*h/100}if(n.h!==m)return{h:m,s:n.s,l:n.l,a:n.a,source:"hsl"}}return null};function Ra(e){"@babel/helpers - typeof";return Ra=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ra(e)}function bM(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function rf(e,t){for(var r=0;r"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function zi(e){return zi=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},zi(e)}var NM=function(e){wM(r,e);var t=EM(r);function r(){var n;bM(this,r);for(var a=arguments.length,o=new Array(a),s=0;so&&(c=o),d<0?d=0:d>s&&(d=s);var f=c/o,v=1-d/s;return{h:r.h,s:f,v,a:r.a,source:"hsv"}};function ka(e){"@babel/helpers - typeof";return ka=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ka(e)}function _M(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function af(e,t){for(var r=0;r"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Bi(e){return Bi=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Bi(e)}var WM=function(e){KM(r,e);var t=VM(r);function r(n){var a;return _M(this,r),a=t.call(this,n),a.handleChange=function(o){typeof a.props.onChange=="function"&&a.throttle(a.props.onChange,IM(o,a.props.hsl,a.container),o)},a.handleMouseDown=function(o){a.handleChange(o);var s=a.getContainerRenderWindow();s.addEventListener("mousemove",a.handleChange),s.addEventListener("mouseup",a.handleMouseUp)},a.handleMouseUp=function(){a.unbindEventListeners()},a.throttle=DM(function(o,s,l){o(s,l)},50),a}return LM(r,[{key:"componentWillUnmount",value:function(){this.throttle.cancel(),this.unbindEventListeners()}},{key:"getContainerRenderWindow",value:function(){for(var a=this.container,o=window;!o.document.contains(a)&&o.parent!==o;)o=o.parent;return o}},{key:"unbindEventListeners",value:function(){var a=this.getContainerRenderWindow();a.removeEventListener("mousemove",this.handleChange),a.removeEventListener("mouseup",this.handleMouseUp)}},{key:"render",value:function(){var a=this,o=this.props.style||{},s=o.color,l=o.white,u=o.black,c=o.pointer,d=o.circle,f=$r({default:{color:{absolute:"0px 0px 0px 0px",background:"hsl(".concat(this.props.hsl.h,",100%, 50%)"),borderRadius:this.props.radius},white:{absolute:"0px 0px 0px 0px",borderRadius:this.props.radius},black:{absolute:"0px 0px 0px 0px",boxShadow:this.props.shadow,borderRadius:this.props.radius},pointer:{position:"absolute",top:"".concat(-(this.props.hsv.v*100)+100,"%"),left:"".concat(this.props.hsv.s*100,"%"),cursor:"default"},circle:{width:"4px",height:"4px",boxShadow:`0 0 0 1.5px #fff, inset 0 0 1px 1px rgba(0,0,0,.3), + 0 0 1px 2px rgba(0,0,0,.4)`,borderRadius:"50%",cursor:"hand",transform:"translate(-2px, -2px)"}},custom:{color:s,white:l,black:u,pointer:c,circle:d}},{custom:!!this.props.style});return Q.createElement("div",{style:f.color,ref:function(m){return a.container=m},onMouseDown:this.handleMouseDown,onTouchMove:this.handleChange,onTouchStart:this.handleChange},Q.createElement("style",null,` + .saturation-white { + background: -webkit-linear-gradient(to right, #fff, rgba(255,255,255,0)); + background: linear-gradient(to right, #fff, rgba(255,255,255,0)); + } + .saturation-black { + background: -webkit-linear-gradient(to top, #000, rgba(0,0,0,0)); + background: linear-gradient(to top, #000, rgba(0,0,0,0)); + } + `),Q.createElement("div",{style:f.white,className:"saturation-white"},Q.createElement("div",{style:f.black,className:"saturation-black"}),Q.createElement("div",{style:f.pointer},this.props.pointer?Q.createElement(this.props.pointer,this.props):Q.createElement("div",{style:f.circle}))))}}]),r}(i.PureComponent||i.Component),UM=zh,YM=Vh,GM=_h,qM=sr;function XM(e,t){var r=qM(e)?UM:YM;return r(e,GM(t))}var ZM=XM,QM=ZM;const JM=Da(QM);function Hi(e){"@babel/helpers - typeof";return Hi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Hi(e)}var eT=/^\s+/,tT=/\s+$/;function at(e,t){if(e=e||"",t=t||{},e instanceof at)return e;if(!(this instanceof at))return new at(e,t);var r=nT(e);this._originalInput=e,this._r=r.r,this._g=r.g,this._b=r.b,this._a=r.a,this._roundA=Math.round(100*this._a)/100,this._format=t.format||r.format,this._gradientType=t.gradientType,this._r<1&&(this._r=Math.round(this._r)),this._g<1&&(this._g=Math.round(this._g)),this._b<1&&(this._b=Math.round(this._b)),this._ok=r.ok}at.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(t.r*299+t.g*587+t.b*114)/1e3},getLuminance:function(){var t=this.toRgb(),r,n,a,o,s,l;return r=t.r/255,n=t.g/255,a=t.b/255,r<=.03928?o=r/12.92:o=Math.pow((r+.055)/1.055,2.4),n<=.03928?s=n/12.92:s=Math.pow((n+.055)/1.055,2.4),a<=.03928?l=a/12.92:l=Math.pow((a+.055)/1.055,2.4),.2126*o+.7152*s+.0722*l},setAlpha:function(t){return this._a=rp(t),this._roundA=Math.round(100*this._a)/100,this},toHsv:function(){var t=lf(this._r,this._g,this._b);return{h:t.h*360,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=lf(this._r,this._g,this._b),r=Math.round(t.h*360),n=Math.round(t.s*100),a=Math.round(t.v*100);return this._a==1?"hsv("+r+", "+n+"%, "+a+"%)":"hsva("+r+", "+n+"%, "+a+"%, "+this._roundA+")"},toHsl:function(){var t=of(this._r,this._g,this._b);return{h:t.h*360,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=of(this._r,this._g,this._b),r=Math.round(t.h*360),n=Math.round(t.s*100),a=Math.round(t.l*100);return this._a==1?"hsl("+r+", "+n+"%, "+a+"%)":"hsla("+r+", "+n+"%, "+a+"%, "+this._roundA+")"},toHex:function(t){return sf(this._r,this._g,this._b,t)},toHexString:function(t){return"#"+this.toHex(t)},toHex8:function(t){return iT(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return"#"+this.toHex8(t)},toRgb:function(){return{r:Math.round(this._r),g:Math.round(this._g),b:Math.round(this._b),a:this._a}},toRgbString:function(){return this._a==1?"rgb("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+")":"rgba("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:Math.round(zt(this._r,255)*100)+"%",g:Math.round(zt(this._g,255)*100)+"%",b:Math.round(zt(this._b,255)*100)+"%",a:this._a}},toPercentageRgbString:function(){return this._a==1?"rgb("+Math.round(zt(this._r,255)*100)+"%, "+Math.round(zt(this._g,255)*100)+"%, "+Math.round(zt(this._b,255)*100)+"%)":"rgba("+Math.round(zt(this._r,255)*100)+"%, "+Math.round(zt(this._g,255)*100)+"%, "+Math.round(zt(this._b,255)*100)+"%, "+this._roundA+")"},toName:function(){return this._a===0?"transparent":this._a<1?!1:yT[sf(this._r,this._g,this._b,!0)]||!1},toFilter:function(t){var r="#"+uf(this._r,this._g,this._b,this._a),n=r,a=this._gradientType?"GradientType = 1, ":"";if(t){var o=at(t);n="#"+uf(o._r,o._g,o._b,o._a)}return"progid:DXImageTransform.Microsoft.gradient("+a+"startColorstr="+r+",endColorstr="+n+")"},toString:function(t){var r=!!t;t=t||this._format;var n=!1,a=this._a<1&&this._a>=0,o=!r&&a&&(t==="hex"||t==="hex6"||t==="hex3"||t==="hex4"||t==="hex8"||t==="name");return o?t==="name"&&this._a===0?this.toName():this.toRgbString():(t==="rgb"&&(n=this.toRgbString()),t==="prgb"&&(n=this.toPercentageRgbString()),(t==="hex"||t==="hex6")&&(n=this.toHexString()),t==="hex3"&&(n=this.toHexString(!0)),t==="hex4"&&(n=this.toHex8String(!0)),t==="hex8"&&(n=this.toHex8String()),t==="name"&&(n=this.toName()),t==="hsl"&&(n=this.toHslString()),t==="hsv"&&(n=this.toHsvString()),n||this.toHexString())},clone:function(){return at(this.toString())},_applyModification:function(t,r){var n=t.apply(null,[this].concat([].slice.call(r)));return this._r=n._r,this._g=n._g,this._b=n._b,this.setAlpha(n._a),this},lighten:function(){return this._applyModification(cT,arguments)},brighten:function(){return this._applyModification(dT,arguments)},darken:function(){return this._applyModification(fT,arguments)},desaturate:function(){return this._applyModification(lT,arguments)},saturate:function(){return this._applyModification(sT,arguments)},greyscale:function(){return this._applyModification(uT,arguments)},spin:function(){return this._applyModification(vT,arguments)},_applyCombination:function(t,r){return t.apply(null,[this].concat([].slice.call(r)))},analogous:function(){return this._applyCombination(pT,arguments)},complement:function(){return this._applyCombination(mT,arguments)},monochromatic:function(){return this._applyCombination(gT,arguments)},splitcomplement:function(){return this._applyCombination(hT,arguments)},triad:function(){return this._applyCombination(cf,[3])},tetrad:function(){return this._applyCombination(cf,[4])}};at.fromRatio=function(e,t){if(Hi(e)=="object"){var r={};for(var n in e)e.hasOwnProperty(n)&&(n==="a"?r[n]=e[n]:r[n]=io(e[n]));e=r}return at(e,t)};function nT(e){var t={r:0,g:0,b:0},r=1,n=null,a=null,o=null,s=!1,l=!1;return typeof e=="string"&&(e=ST(e)),Hi(e)=="object"&&(er(e.r)&&er(e.g)&&er(e.b)?(t=rT(e.r,e.g,e.b),s=!0,l=String(e.r).substr(-1)==="%"?"prgb":"rgb"):er(e.h)&&er(e.s)&&er(e.v)?(n=io(e.s),a=io(e.v),t=oT(e.h,n,a),s=!0,l="hsv"):er(e.h)&&er(e.s)&&er(e.l)&&(n=io(e.s),o=io(e.l),t=aT(e.h,n,o),s=!0,l="hsl"),e.hasOwnProperty("a")&&(r=e.a)),r=rp(r),{ok:s,format:e.format||l,r:Math.min(255,Math.max(t.r,0)),g:Math.min(255,Math.max(t.g,0)),b:Math.min(255,Math.max(t.b,0)),a:r}}function rT(e,t,r){return{r:zt(e,255)*255,g:zt(t,255)*255,b:zt(r,255)*255}}function of(e,t,r){e=zt(e,255),t=zt(t,255),r=zt(r,255);var n=Math.max(e,t,r),a=Math.min(e,t,r),o,s,l=(n+a)/2;if(n==a)o=s=0;else{var u=n-a;switch(s=l>.5?u/(2-n-a):u/(n+a),n){case e:o=(t-r)/u+(t1&&(f-=1),f<1/6?c+(d-c)*6*f:f<1/2?d:f<2/3?c+(d-c)*(2/3-f)*6:c}if(t===0)n=a=o=r;else{var l=r<.5?r*(1+t):r+t-r*t,u=2*r-l;n=s(u,l,e+1/3),a=s(u,l,e),o=s(u,l,e-1/3)}return{r:n*255,g:a*255,b:o*255}}function lf(e,t,r){e=zt(e,255),t=zt(t,255),r=zt(r,255);var n=Math.max(e,t,r),a=Math.min(e,t,r),o,s,l=n,u=n-a;if(s=n===0?0:u/n,n==a)o=0;else{switch(n){case e:o=(t-r)/u+(t>1)+720)%360;--t;)n.h=(n.h+a)%360,o.push(at(n));return o}function gT(e,t){t=t||6;for(var r=at(e).toHsv(),n=r.h,a=r.s,o=r.v,s=[],l=1/t;t--;)s.push(at({h:n,s:a,v:o})),o=(o+l)%1;return s}at.mix=function(e,t,r){r=r===0?0:r||50;var n=at(e).toRgb(),a=at(t).toRgb(),o=r/100,s={r:(a.r-n.r)*o+n.r,g:(a.g-n.g)*o+n.g,b:(a.b-n.b)*o+n.b,a:(a.a-n.a)*o+n.a};return at(s)};at.readability=function(e,t){var r=at(e),n=at(t);return(Math.max(r.getLuminance(),n.getLuminance())+.05)/(Math.min(r.getLuminance(),n.getLuminance())+.05)};at.isReadable=function(e,t,r){var n=at.readability(e,t),a,o;switch(o=!1,a=wT(r),a.level+a.size){case"AAsmall":case"AAAlarge":o=n>=4.5;break;case"AAlarge":o=n>=3;break;case"AAAsmall":o=n>=7;break}return o};at.mostReadable=function(e,t,r){var n=null,a=0,o,s,l,u;r=r||{},s=r.includeFallbackColors,l=r.level,u=r.size;for(var c=0;ca&&(a=o,n=at(t[c]));return at.isReadable(e,n,{level:l,size:u})||!s?n:(r.includeFallbackColors=!1,at.mostReadable(e,["#fff","#000"],r))};var Gs=at.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},yT=at.hexNames=bT(Gs);function bT(e){var t={};for(var r in e)e.hasOwnProperty(r)&&(t[e[r]]=r);return t}function rp(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function zt(e,t){CT(e)&&(e="100%");var r=xT(e);return e=Math.min(t,Math.max(0,parseFloat(e))),r&&(e=parseInt(e*t,10)/100),Math.abs(e-t)<1e-6?1:e%t/parseFloat(t)}function Ml(e){return Math.min(1,Math.max(0,e))}function mn(e){return parseInt(e,16)}function CT(e){return typeof e=="string"&&e.indexOf(".")!=-1&&parseFloat(e)===1}function xT(e){return typeof e=="string"&&e.indexOf("%")!=-1}function Ln(e){return e.length==1?"0"+e:""+e}function io(e){return e<=1&&(e=e*100+"%"),e}function ap(e){return Math.round(parseFloat(e)*255).toString(16)}function df(e){return mn(e)/255}var In=function(){var e="[-\\+]?\\d+%?",t="[-\\+]?\\d*\\.\\d+%?",r="(?:"+t+")|(?:"+e+")",n="[\\s|\\(]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")\\s*\\)?",a="[\\s|\\(]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")\\s*\\)?";return{CSS_UNIT:new RegExp(r),rgb:new RegExp("rgb"+n),rgba:new RegExp("rgba"+a),hsl:new RegExp("hsl"+n),hsla:new RegExp("hsla"+a),hsv:new RegExp("hsv"+n),hsva:new RegExp("hsva"+a),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function er(e){return!!In.CSS_UNIT.exec(e)}function ST(e){e=e.replace(eT,"").replace(tT,"").toLowerCase();var t=!1;if(Gs[e])e=Gs[e],t=!0;else if(e=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var r;return(r=In.rgb.exec(e))?{r:r[1],g:r[2],b:r[3]}:(r=In.rgba.exec(e))?{r:r[1],g:r[2],b:r[3],a:r[4]}:(r=In.hsl.exec(e))?{h:r[1],s:r[2],l:r[3]}:(r=In.hsla.exec(e))?{h:r[1],s:r[2],l:r[3],a:r[4]}:(r=In.hsv.exec(e))?{h:r[1],s:r[2],v:r[3]}:(r=In.hsva.exec(e))?{h:r[1],s:r[2],v:r[3],a:r[4]}:(r=In.hex8.exec(e))?{r:mn(r[1]),g:mn(r[2]),b:mn(r[3]),a:df(r[4]),format:t?"name":"hex8"}:(r=In.hex6.exec(e))?{r:mn(r[1]),g:mn(r[2]),b:mn(r[3]),format:t?"name":"hex"}:(r=In.hex4.exec(e))?{r:mn(r[1]+""+r[1]),g:mn(r[2]+""+r[2]),b:mn(r[3]+""+r[3]),a:df(r[4]+""+r[4]),format:t?"name":"hex8"}:(r=In.hex3.exec(e))?{r:mn(r[1]+""+r[1]),g:mn(r[2]+""+r[2]),b:mn(r[3]+""+r[3]),format:t?"name":"hex"}:!1}function wT(e){var t,r;return e=e||{level:"AA",size:"small"},t=(e.level||"AA").toUpperCase(),r=(e.size||"small").toLowerCase(),t!=="AA"&&t!=="AAA"&&(t="AA"),r!=="small"&&r!=="large"&&(r="small"),{level:t,size:r}}var ff=function(t){var r=["r","g","b","a","h","s","l","v"],n=0,a=0;return JM(r,function(o){if(t[o]&&(n+=1,isNaN(t[o])||(a+=1),o==="s"||o==="l")){var s=/^\d+%$/;s.test(t[o])&&(a+=1)}}),n===a?t:!1},wi=function(t,r){var n=t.hex?at(t.hex):at(t),a=n.toHsl(),o=n.toHsv(),s=n.toRgb(),l=n.toHex();a.s===0&&(a.h=r||0,o.h=r||0);var u=l==="000000"&&s.a===0;return{hsl:a,hex:u?"transparent":"#".concat(l),rgb:s,hsv:o,oldHue:t.h||r||a.h,source:t.source}},ET=function(t){if(t==="transparent")return!0;var r=String(t).charAt(0)==="#"?1:0;return t.length!==4+r&&t.length<7+r&&at(t).isValid()};function Na(e){"@babel/helpers - typeof";return Na=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Na(e)}function qs(){return qs=Object.assign?Object.assign.bind():function(e){for(var t=1;t"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Wi(e){return Wi=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Wi(e)}var DT=function(t){var r=function(n){MT(o,n);var a=TT(o);function o(s){var l;return RT(this,o),l=a.call(this),l.handleChange=function(u,c){var d=ff(u);if(d){var f=wi(u,u.h||l.state.oldHue);l.setState(f),l.props.onChangeComplete&&l.debounce(l.props.onChangeComplete,f,c),l.props.onChange&&l.props.onChange(f,c)}},l.handleSwatchHover=function(u,c){var d=ff(u);if(d){var f=wi(u,u.h||l.state.oldHue);l.props.onSwatchHover&&l.props.onSwatchHover(f,c)}},l.state=to({},wi(s.color,0)),l.debounce=R0(function(u,c,d){u(c,d)},100),l}return kT(o,[{key:"render",value:function(){var l={};return this.props.onSwatchHover&&(l.onSwatchHover=this.handleSwatchHover),Q.createElement(t,qs({},this.props,this.state,{onChange:this.handleChange},l))}}],[{key:"getDerivedStateFromProps",value:function(l,u){return to({},wi(l.color,u.oldHue))}}]),o}(i.PureComponent||i.Component);return r.propTypes=to({},t.propTypes),r.defaultProps=to(to({},t.defaultProps),{},{color:{h:250,s:.5,l:.2,a:1}}),r};function Ma(e){"@babel/helpers - typeof";return Ma=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ma(e)}function IT(e,t,r){return t=ip(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _T(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function hf(e,t){for(var r=0;r"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Ui(e){return Ui=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Ui(e)}var HT=1,lp=38,WT=40,UT=[lp,WT],YT=function(t){return UT.indexOf(t)>-1},GT=function(t){return Number(String(t).replace(/%/g,""))},qT=1,no=function(e){jT(r,e);var t=KT(r);function r(n){var a;return _T(this,r),a=t.call(this),a.handleBlur=function(){a.state.blurValue&&a.setState({value:a.state.blurValue,blurValue:null})},a.handleChange=function(o){a.setUpdatedValue(o.target.value,o)},a.handleKeyDown=function(o){var s=GT(o.target.value);if(!isNaN(s)&&YT(o.keyCode)){var l=a.getArrowOffset(),u=o.keyCode===lp?s+l:s-l;a.setUpdatedValue(u,o)}},a.handleDrag=function(o){if(a.props.dragLabel){var s=Math.round(a.props.value+o.movementX);s>=0&&s<=a.props.dragMax&&a.props.onChange&&a.props.onChange(a.getValueObjectWithLabel(s),o)}},a.handleMouseDown=function(o){a.props.dragLabel&&(o.preventDefault(),a.handleDrag(o),window.addEventListener("mousemove",a.handleDrag),window.addEventListener("mouseup",a.handleMouseUp))},a.handleMouseUp=function(){a.unbindEventListeners()},a.unbindEventListeners=function(){window.removeEventListener("mousemove",a.handleDrag),window.removeEventListener("mouseup",a.handleMouseUp)},a.state={value:String(n.value).toUpperCase(),blurValue:String(n.value).toUpperCase()},a.inputId="rc-editable-input-".concat(qT++),a}return LT(r,[{key:"componentDidUpdate",value:function(a,o){this.props.value!==this.state.value&&(a.value!==this.props.value||o.value!==this.state.value)&&(this.input===document.activeElement?this.setState({blurValue:String(this.props.value).toUpperCase()}):this.setState({value:String(this.props.value).toUpperCase(),blurValue:!this.state.blurValue&&String(this.props.value).toUpperCase()}))}},{key:"componentWillUnmount",value:function(){this.unbindEventListeners()}},{key:"getValueObjectWithLabel",value:function(a){return IT({},this.props.label,a)}},{key:"getArrowOffset",value:function(){return this.props.arrowOffset||HT}},{key:"setUpdatedValue",value:function(a,o){var s=this.props.label?this.getValueObjectWithLabel(a):a;this.props.onChange&&this.props.onChange(s,o),this.setState({value:a})}},{key:"render",value:function(){var a=this,o=$r({default:{wrap:{position:"relative"}},"user-override":{wrap:this.props.style&&this.props.style.wrap?this.props.style.wrap:{},input:this.props.style&&this.props.style.input?this.props.style.input:{},label:this.props.style&&this.props.style.label?this.props.style.label:{}},"dragLabel-true":{label:{cursor:"ew-resize"}}},{"user-override":!0},this.props);return Q.createElement("div",{style:o.wrap},Q.createElement("input",{id:this.inputId,style:o.input,ref:function(l){return a.input=l},value:this.state.value,onKeyDown:this.handleKeyDown,onChange:this.handleChange,onBlur:this.handleBlur,placeholder:this.props.placeholder,spellCheck:"false"}),this.props.label&&!this.props.hideLabel?Q.createElement("label",{htmlFor:this.inputId,style:o.label,onMouseDown:this.handleMouseDown},this.props.label):null)}}]),r}(i.PureComponent||i.Component);function Ta(e){"@babel/helpers - typeof";return Ta=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ta(e)}function Qs(){return Qs=Object.assign?Object.assign.bind():function(e){for(var t=1;t"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Yi(e){return Yi=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Yi(e)}var oF=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"span";return function(n){eF(o,n);var a=tF(o);function o(){var s;XT(this,o);for(var l=arguments.length,u=new Array(l),c=0;c100&&(d.a=100),d.a/=100,r==null||r({h:a==null?void 0:a.h,s:a==null?void 0:a.s,l:a==null?void 0:a.l,a:d.a,source:"rgb"},f))};return Q.createElement("div",{style:l.fields,className:"flexbox-fix"},Q.createElement("div",{style:l.double},Q.createElement(no,{style:{input:l.input,label:l.label},label:"hex",value:o==null?void 0:o.replace("#",""),onChange:u})),Q.createElement("div",{style:l.single},Q.createElement(no,{style:{input:l.input,label:l.label},label:"r",value:n==null?void 0:n.r,onChange:u,dragLabel:"true",dragMax:"255"})),Q.createElement("div",{style:l.single},Q.createElement(no,{style:{input:l.input,label:l.label},label:"g",value:n==null?void 0:n.g,onChange:u,dragLabel:"true",dragMax:"255"})),Q.createElement("div",{style:l.single},Q.createElement(no,{style:{input:l.input,label:l.label},label:"b",value:n==null?void 0:n.b,onChange:u,dragLabel:"true",dragMax:"255"})),Q.createElement("div",{style:l.alpha},Q.createElement(no,{style:{input:l.input,label:l.label},label:"a",value:Math.round(((n==null?void 0:n.a)||0)*100),onChange:u,dragLabel:"true",dragMax:"100"})))};function wo(e){"@babel/helpers - typeof";return wo=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},wo(e)}function bf(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Cf(e){for(var t=1;tF?E([F,M]):M===void 0&&F===void 0&&E(void 0)}},$=function(k,M){var F=Ke(x||[]);F[k]=M===null?void 0:M,E(F)},R=(u==null?void 0:u.placeholder)||s,D=S.jsxs(Nn.Group,{compact:!0,onBlur:T,children:[S.jsx(qr,p(p({},u),{},{placeholder:Array.isArray(R)?R[0]:R,id:y??"".concat(y,"-0"),style:{width:"calc((100% - ".concat(v,"px) / 2)")},value:x==null?void 0:x[0],defaultValue:h==null?void 0:h[0],onChange:function(k){return $(0,k)}})),S.jsx(Nn,{style:{width:v,textAlign:"center",borderLeft:0,borderRight:0,pointerEvents:"none",backgroundColor:"#FFF"},placeholder:d,disabled:!0}),S.jsx(qr,p(p({},u),{},{placeholder:Array.isArray(R)?R[1]:R,id:y??"".concat(y,"-1"),style:{width:"calc((100% - ".concat(v,"px) / 2)"),borderLeft:0},value:x==null?void 0:x[1],defaultValue:h==null?void 0:h[1],onChange:function(k){return $(1,k)}}))]});return l?l(n,p({mode:a},u),D):D}return null};const FF=Q.forwardRef(TF);var $F=function(t){var r=t.text,n=t.mode,a=t.render,o=t.renderFormItem,s=t.format,l=t.fieldProps,u=Tt();if(n==="read"){var c=S.jsx(on,{title:$t(r).format((l==null?void 0:l.format)||s||"YYYY-MM-DD HH:mm:ss"),children:$t(r).fromNow()});return a?a(r,p({mode:n},l),S.jsx(S.Fragment,{children:c})):S.jsx(S.Fragment,{children:c})}if(n==="edit"||n==="update"){var d=u.getMessage("tableForm.selectPlaceholder","čŊ·é€‰æ‹Đ"),f=Ho(l.value),v=S.jsx(Zr,p(p({placeholder:d,showTime:!0},l),{},{value:f}));return o?o(r,p({mode:n},l),v):v}return null};const OF=$F;var DF=Q.forwardRef(function(e,t){var r=e.text,n=e.mode,a=e.render,o=e.renderFormItem,s=e.fieldProps,l=e.placeholder,u=e.width;if(n==="read"){var c=S.jsx(i2,p({ref:t,width:u||32,src:r},s));return a?a(r,p({mode:n},s),c):c}if(n==="edit"||n==="update"){var d=S.jsx(Nn,p({ref:t,placeholder:l},s));return o?o(r,p({mode:n},s),d):d}return null});const up=DF;var IF=function(t,r){var n,a=t.border,o=a===void 0?!1:a,s=t.children,l=i.useContext(yt.ConfigContext),u=l.getPrefixCls,c=u("pro-field-index-column");return S.jsx("div",{ref:r,className:ve(c,(n={},B(n,"".concat(c,"-border"),o),B(n,"top-three",s>3),n)),children:s})};const wf=Q.forwardRef(IF);var _F=["content","numberFormatOptions","numberPopoverRender"],LF=["text","mode","render","renderFormItem","fieldProps","proFieldKey","plain","valueEnum","placeholder","locale","customSymbol","numberFormatOptions","numberPopoverRender"],AF=new Intl.NumberFormat("zh-Hans-CN",{currency:"CNY",style:"currency"}),jF={style:"currency",currency:"USD"},KF={style:"currency",currency:"RUB"},VF={style:"currency",currency:"RSD"},zF={style:"currency",currency:"MYR"},BF={style:"currency",currency:"BRL"},Ef={default:AF,"zh-Hans-CN":{currency:"CNY",style:"currency"},"en-US":jF,"ru-RU":KF,"ms-MY":zF,"sr-RS":VF,"pt-BR":BF},Pf=function(t,r,n,a){var o=r;return typeof o=="string"&&(o=Number(o)),!o&&o!==0?"":new Intl.NumberFormat(t||"zh-Hans-CN",p(p({},t===!1?{}:Ef[t||"zh-Hans-CN"]||Ef["zh-Hans-CN"]),{},{maximumFractionDigits:n},a)).format(o)},es=2,HF=Q.forwardRef(function(e,t){var r=e.content;e.numberFormatOptions,e.numberPopoverRender;var n=ze(e,_F),a=Rt(function(){return n.defaultValue},{value:n.value,onChange:n.onChange}),o=Y(a,2),s=o[0],l=o[1],u=r==null?void 0:r(p(p({},n),{},{value:s})),c={visible:u?n.visible:!1};return S.jsx(ko,p(p({placement:"topLeft"},c),{},{trigger:["focus","click"],content:u,getPopupContainer:function(f){return(f==null?void 0:f.parentElement)||document.body},children:S.jsx(qr,p(p({ref:t},n),{},{value:s,onChange:l}))}))}),WF=function(t,r){var n,a,o=t.text,s=t.mode,l=t.render,u=t.renderFormItem,c=t.fieldProps;t.proFieldKey,t.plain,t.valueEnum;var d=t.placeholder,f=t.locale,v=f===void 0?(n=c.customSymbol)!==null&&n!==void 0?n:"zh-Hans-CN":f,m=t.customSymbol,h=m===void 0?c.customSymbol:m,g=t.numberFormatOptions,y=g===void 0?c==null?void 0:c.numberFormatOptions:g,b=t.numberPopoverRender,C=b===void 0?(c==null?void 0:c.numberPopoverRender)||!1:b,x=ze(t,LF),E=(a=c==null?void 0:c.precision)!==null&&a!==void 0?a:es,P=Tt();v&&wa[v]&&(P=wa[v]);var w=i.useMemo(function(){if(h)return h;var D=P.getMessage("moneySymbol","ïŋĨ");if(!(x.moneySymbol===!1||c.moneySymbol===!1))return D},[h,c.moneySymbol,P,x.moneySymbol]);if(s==="read"){var T=S.jsx("span",{ref:r,children:Pf(w?v:!1,o,E,y??c.numberFormatOptions)});return l?l(o,p({mode:s},c),T):T}if(s==="edit"||s==="update"){var $=function(O){var k=new RegExp("\\B(?=(\\d{".concat(3+Math.max(E-es,0),"})+(?!\\d))"),"g"),M=String(O).split("."),F=Y(M,2),N=F[0],I=F[1],L=N.replace(k,","),A="";return I&&E>0&&(A=".".concat(I.slice(0,E===void 0?es:E))),"".concat(L).concat(A)},R=S.jsx(HF,p({content:function(O){if(C!==!1&&O.value){var k=Pf(w?v:!1,"".concat($(O.value)),E,p(p({},y),{},{notation:"compact"}));return typeof C=="function"?C==null?void 0:C(O,k):k}},ref:r,precision:E,formatter:function(O){return O&&w?"".concat(w," ").concat($(O)):O==null?void 0:O.toString()},parser:function(O){return w&&O?O.replace(new RegExp("\\".concat(w,"\\s?|(,*)"),"g"),""):O},placeholder:d},nn(c,["numberFormatOptions","precision","numberPopoverRender","customSymbol","moneySymbol","visible"])));return u?u(o,p({mode:s},c),R):R}return null};const cp=Q.forwardRef(WF);var Rf=function(t){return t.map(function(r,n){return Q.isValidElement(r)?Q.cloneElement(r,p({key:n},r==null?void 0:r.props)):S.jsx(Q.Fragment,{children:r},n)})},UF=function(t,r){var n=t.text,a=t.mode,o=t.render,s=t.fieldProps,l=i.useContext(yt.ConfigContext),u=l.getPrefixCls,c=u("pro-field-option");if(i.useImperativeHandle(r,function(){return{}}),o){var d=o(n,p({mode:a},s),S.jsx(S.Fragment,{}));return!d||(d==null?void 0:d.length)<1||!Array.isArray(d)?null:S.jsx(Xt,{size:16,className:c,children:Rf(d)})}return!n||!Array.isArray(n)?Q.isValidElement(n)?n:null:S.jsx(Xt,{size:16,className:c,children:Rf(n)})};const YF=Q.forwardRef(UF);var GF=["text","mode","render","renderFormItem","fieldProps","proFieldKey"],qF=function(t,r){var n=t.text,a=t.mode,o=t.render,s=t.renderFormItem,l=t.fieldProps;t.proFieldKey;var u=ze(t,GF),c=Tt(),d=Rt(function(){return u.visible||!1},{value:u.visible,onChange:u.onVisible}),f=Y(d,2),v=f[0],m=f[1];if(a==="read"){var h=S.jsx(S.Fragment,{children:"-"});return n&&(h=S.jsxs(Xt,{children:[S.jsx("span",{ref:r,children:v?n:"    "}),S.jsx("a",{onClick:function(){return m(!v)},children:v?S.jsx(lv,{}):S.jsx(m0,{})})]})),o?o(n,p({mode:a},l),h):h}if(a==="edit"||a==="update"){var g=S.jsx(Nn.Password,p({placeholder:c.getMessage("tableForm.inputPlaceholder","čŊ·čū“å…Ĩ"),ref:r},l));return s?s(n,p({mode:a},l),g):g}return null};const XF=Q.forwardRef(qF);var kf=0/0,ZF="[object Symbol]",QF=/^\s+|\s+$/g,JF=/^[-+]0x[0-9a-f]+$/i,e$=/^0b[01]+$/i,t$=/^0o[0-7]+$/i,n$=parseInt,r$=Object.prototype,a$=r$.toString;function Nf(e){var t=typeof e;return!!e&&(t=="object"||t=="function")}function o$(e){return!!e&&typeof e=="object"}function i$(e){return typeof e=="symbol"||o$(e)&&a$.call(e)==ZF}function l$(e){if(typeof e=="number")return e;if(i$(e))return kf;if(Nf(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=Nf(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=e.replace(QF,"");var r=e$.test(e);return r||t$.test(e)?n$(e.slice(2),r?2:8):JF.test(e)?kf:+e}var s$=l$;const Gi=Da(s$);function u$(e){return e===0?null:e>0?"+":"-"}function c$(e){return e===0?"#595959":e>0?"#ff4d4f":"#52c41a"}function d$(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2;return t>=0?e==null?void 0:e.toFixed(t):e}var f$=function(t,r){var n=t.text,a=t.prefix,o=t.precision,s=t.suffix,l=s===void 0?"%":s,u=t.mode,c=t.showColor,d=c===void 0?!1:c,f=t.render,v=t.renderFormItem,m=t.fieldProps,h=t.placeholder,g=t.showSymbol,y=i.useMemo(function(){return typeof n=="string"&&n.includes("%")?Gi(n.replace("%","")):Gi(n)},[n]),b=i.useMemo(function(){return typeof g=="function"?g==null?void 0:g(n):g},[g,n]);if(u==="read"){var C=d?{color:c$(y)}:{},x=S.jsxs("span",{style:C,ref:r,children:[a&&S.jsx("span",{children:a}),b&&S.jsxs(i.Fragment,{children:[u$(y)," "]}),d$(Math.abs(y),o),l&&l]});return f?f(n,p(p({mode:u},m),{},{prefix:a,precision:o,showSymbol:b,suffix:l}),x):x}if(u==="edit"||u==="update"){var E=S.jsx(qr,p({ref:r,formatter:function(w){return w&&a?"".concat(a," ").concat(w).replace(/\B(?=(\d{3})+(?!\d)$)/g,","):w},parser:function(w){return w?w.replace(/.*\s|,/g,""):""},placeholder:h},m));return v?v(n,p({mode:u},m),E):E}return null};const dp=Q.forwardRef(f$);function v$(e){return e===100?"success":e<0?"exception":e<100?"active":"normal"}var m$=function(t,r){var n=t.text,a=t.mode,o=t.render,s=t.plain,l=t.renderFormItem,u=t.fieldProps,c=t.placeholder,d=i.useMemo(function(){return typeof n=="string"&&n.includes("%")?Gi(n.replace("%","")):Gi(n)},[n]);if(a==="read"){var f=S.jsx(mv,p({ref:r,size:"small",style:{minWidth:100,maxWidth:320},percent:d,steps:s?10:void 0,status:v$(d)},u));return o?o(d,p({mode:a},u),f):f}if(a==="edit"||a==="update"){var v=S.jsx(qr,p({ref:r,placeholder:c},u));return l?l(n,p({mode:a},u),v):v}return null};const fp=Q.forwardRef(m$);var h$=["radioType","renderFormItem","mode","render"],p$=function(t,r){var n=t.radioType,a=t.renderFormItem,o=t.mode,s=t.render,l=ze(t,h$),u=i.useContext(yt.ConfigContext),c=u.getPrefixCls,d=c("pro-field-radio"),f=Uo(l),v=Y(f,3),m=v[0],h=v[1],g=v[2],y=i.useRef();if(i.useImperativeHandle(r,function(){return p(p({},y.current||{}),{},{fetchData:function(){return g()}})}),m)return S.jsx(Nr,{size:"small"});if(o==="read"){var b=h!=null&&h.length?h==null?void 0:h.reduce(function(w,T){var $;return p(p({},w),{},B({},($=T.value)!==null&&$!==void 0?$:"",T.label))},{}):void 0,C=S.jsx(S.Fragment,{children:Wo(l.text,Fr(l.valueEnum||b))});return s?s(l.text,p({mode:o},l.fieldProps),C)||null:C}if(o==="edit"){var x,E=n==="button"?lo.Button:lo,P=S.jsx(lo.Group,p(p({ref:y},l.fieldProps),{},{className:ve((x=l.fieldProps)===null||x===void 0?void 0:x.className,"".concat(d,"-").concat(l.fieldProps.layout||"horizontal")),options:void 0,children:h==null?void 0:h.map(function(w){return S.jsx(E,p(p({},w),{},{children:w.label}),w.value)})}));return a?a(l.text,p({mode:o},l.fieldProps),P)||null:P}return null};const Mf=Q.forwardRef(p$);var g$=function(t,r){var n=t.text,a=t.mode,o=t.format,s=t.render,l=t.renderFormItem,u=t.plain,c=t.showTime,d=t.fieldProps,f=Tt(),v=Array.isArray(n)?n:[],m=Y(v,2),h=m[0],g=m[1],y=i.useCallback(function(w){if(typeof(d==null?void 0:d.format)=="function"){var T;return d==null||(T=d.format)===null||T===void 0?void 0:T.call(d,w)}return(d==null?void 0:d.format)||o||"YYYY-MM-DD"},[d,o]),b=h?$t(h).format(y($t(h))):"",C=g?$t(g).format(y($t(g))):"";if(a==="read"){var x=S.jsxs("div",{ref:r,children:[S.jsx("div",{children:b||"-"}),S.jsx("div",{children:C||"-"})]});return s?s(n,p({mode:a},d),S.jsx("span",{children:x})):x}if(a==="edit"||a==="update"){var E=Ho(d.value),P=S.jsx(Zr.RangePicker,p(p({ref:r,format:o,showTime:c,placeholder:[f.getMessage("tableForm.selectPlaceholder","čŊ·é€‰æ‹Đ"),f.getMessage("tableForm.selectPlaceholder","čŊ·é€‰æ‹Đ")],bordered:u===void 0?!0:!u},d),{},{value:E}));return l?l(n,p({mode:a},d),P):P}return null};const Tf=Q.forwardRef(g$);var y$=function(t,r){var n=t.text,a=t.mode,o=t.render,s=t.renderFormItem,l=t.fieldProps;if(a==="read"){var u=S.jsx(Mc,p(p({allowHalf:!0,disabled:!0,ref:r},l),{},{value:n}));return o?o(n,p({mode:a},l),S.jsx(S.Fragment,{children:u})):u}if(a==="edit"||a==="update"){var c=S.jsx(Mc,p({allowHalf:!0,ref:r},l));return s?s(n,p({mode:a},l),c):c}return null};const b$=Q.forwardRef(y$);function C$(e){var t="",r=Math.floor(e/86400),n=Math.floor(e/3600),a=Math.floor(e/60%60),o=Math.floor(e%60);return t="".concat(o,"į§’"),a>0&&(t="".concat(a,"分钟").concat(t)),n>0&&(t="".concat(n,"小æ—ķ").concat(t)),r>0&&(t="".concat(r,"åĪĐ").concat(t)),t}var x$=function(t,r){var n=t.text,a=t.mode,o=t.render,s=t.renderFormItem,l=t.fieldProps,u=t.placeholder;if(a==="read"){var c=C$(Number(n)),d=S.jsx("span",{ref:r,children:c});return o?o(n,p({mode:a},l),d):d}if(a==="edit"||a==="update"){var f=S.jsx(qr,p({ref:r,min:0,style:{width:"100%"},placeholder:u},l));return s?s(n,p({mode:a},l),f):f}return null};const S$=Q.forwardRef(x$);var w$=function(t,r){var n=t.text,a=t.mode,o=t.render,s=t.renderFormItem,l=t.fieldProps;if(a==="read"){var u=n;return o?o(n,p({mode:a},l),S.jsx(S.Fragment,{children:u})):S.jsx(S.Fragment,{children:u})}if(a==="edit"||a==="update"){var c=S.jsx(C0,p({ref:r},l));return s?s(n,p({mode:a},l),c):c}return null};const E$=Q.forwardRef(w$);var P$=function(t,r){var n=t.text,a=t.mode,o=t.render,s=t.renderFormItem,l=t.fieldProps,u=Tt(),c=i.useMemo(function(){var v,m;return n==null||"".concat(n).length<1?"-":n?(v=l==null?void 0:l.checkedChildren)!==null&&v!==void 0?v:u.getMessage("switch.open","打垀"):(m=l==null?void 0:l.unCheckedChildren)!==null&&m!==void 0?m:u.getMessage("switch.close","å…ģ闭")},[l==null?void 0:l.checkedChildren,l==null?void 0:l.unCheckedChildren,n]);if(a==="read")return o?o(n,p({mode:a},l),S.jsx(S.Fragment,{children:c})):c??"-";if(a==="edit"||a==="update"){var d,f=S.jsx(x0,p(p({ref:r},nn(l,["value"])),{},{checked:(d=l==null?void 0:l.checked)!==null&&d!==void 0?d:l==null?void 0:l.value}));return s?s(n,p({mode:a},l),f):f}return null};const R$=Q.forwardRef(P$);var k$=function(t,r){var n=t.text,a=t.mode,o=t.render,s=t.renderFormItem,l=t.fieldProps,u=t.emptyText,c=u===void 0?"-":u,d=l||{},f=d.autoFocus,v=d.prefix,m=v===void 0?"":v,h=d.suffix,g=h===void 0?"":h,y=Tt(),b=i.useRef();if(i.useImperativeHandle(r,function(){return b.current}),i.useEffect(function(){if(f){var w;(w=b.current)===null||w===void 0||w.focus()}},[f]),a==="read"){var C=S.jsxs(S.Fragment,{children:[m,n??c,g]});if(o){var x;return(x=o(n,p({mode:a},l),C))!==null&&x!==void 0?x:c}return C}if(a==="edit"||a==="update"){var E=y.getMessage("tableForm.inputPlaceholder","čŊ·čū“å…Ĩ"),P=S.jsx(Nn,p({ref:b,placeholder:E,allowClear:!0},l));return s?s(n,p({mode:a},l),P):P}return null};const N$=Q.forwardRef(k$);var M$=function(t,r){var n=t.text,a=t.mode,o=t.render,s=t.renderFormItem,l=t.fieldProps,u=Tt();if(a==="read"){var c=S.jsx("span",{ref:r,children:n??"-"});return o?o(n,p({mode:a},l),c):c}if(a==="edit"||a==="update"){var d=S.jsx(Nn.TextArea,p({ref:r,rows:3,onKeyPress:function(v){v.key==="Enter"&&v.stopPropagation()},placeholder:u.getMessage("tableForm.inputPlaceholder","čŊ·čū“å…Ĩ")},l));return s?s(n,p({mode:a},l),d):d}return null};const T$=Q.forwardRef(M$);var F$=function(t,r){var n=t.text,a=t.mode,o=t.light,s=t.label,l=t.format,u=t.render,c=t.renderFormItem,d=t.plain,f=t.fieldProps,v=t.lightLabel,m=t.labelTrigger,h=i.useState(!1),g=Y(h,2),y=g[0],b=g[1],C=i.useContext(yt.SizeContext),x=i.useContext(yt.ConfigContext),E=x.getPrefixCls,P=E("pro-field-date-picker"),w=(f==null?void 0:f.format)||l||"HH:mm:ss",T=$t.isMoment(n)||typeof n=="number";if(a==="read"){var $=S.jsx("span",{ref:r,children:n?$t(n,T?void 0:w).format(w):"-"});return u?u(n,p({mode:a},f),S.jsx("span",{children:$})):$}if(a==="edit"||a==="update"){var R,D=f.disabled,O=f.onChange,k=f.placeholder,M=f.allowClear,F=f.value,N=Ho(F,w);if(o){var I=N&&N.format(w)||"";R=S.jsxs("div",{className:"".concat(P,"-light"),onClick:function(A){var _,K,z,j=v==null||(_=v.current)===null||_===void 0||(K=_.labelRef)===null||K===void 0||(z=K.current)===null||z===void 0?void 0:z.contains(A.target);b(j?!y:!0)},children:[S.jsx(Jm,p(p({value:N,format:l,ref:r},f),{},{onChange:function(A){O==null||O(A),setTimeout(function(){b(!1)},0)},onOpenChange:function(A){m||b(A)},open:y})),S.jsx(aa,{label:s,disabled:D,placeholder:k,size:C,value:I,allowClear:M,onClear:function(){return O==null?void 0:O(null)},expanded:y,ref:v})]})}else R=S.jsx(Zr.TimePicker,p(p({ref:r,format:l,bordered:d===void 0?!0:!d},f),{},{value:N}));return c?c(n,p({mode:a},f),R):R}return null},$$=function(t){var r=t.text,n=t.mode,a=t.format,o=t.render,s=t.renderFormItem,l=t.plain,u=t.fieldProps,c=(u==null?void 0:u.format)||a||"HH:mm:ss",d=Array.isArray(r)?r:[],f=Y(d,2),v=f[0],m=f[1],h=$t.isMoment(v)||typeof v=="number",g=$t.isMoment(m)||typeof m=="number",y=v?$t(v,h?void 0:c).format(c):"",b=m?$t(m,g?void 0:c).format(c):"";if(n==="read"){var C=S.jsxs("div",{children:[S.jsx("div",{children:y||"-"}),S.jsx("div",{children:b||"-"})]});return o?o(r,p({mode:n},u),S.jsx("span",{children:C})):C}if(n==="edit"||n==="update"){var x=u.value,E=Ho(x,c),P=S.jsx(Jm.RangePicker,p(p({format:a,bordered:l===void 0?!0:!l},u),{},{value:E}));return s?s(r,p({mode:n},u),P):P}return null};const O$=Q.forwardRef(F$);var D$=["radioType","renderFormItem","mode","light","label","render"],I$=["onSearch","onClear","onChange","onBlur","showSearch","autoClearSearchValue","treeData","searchValue"],_$=function(t,r){t.radioType;var n=t.renderFormItem,a=t.mode,o=t.light,s=t.label,l=t.render,u=ze(t,D$),c=i.useContext(yt.ConfigContext),d=c.getPrefixCls,f=d("pro-field-tree-select"),v=i.useRef(null),m=i.useState(!1),h=Y(m,2),g=h[0],y=h[1],b=u.fieldProps||{},C=b.onSearch,x=b.onClear,E=b.onChange,P=b.onBlur,w=b.showSearch,T=b.autoClearSearchValue;b.treeData;var $=b.searchValue,R=ze(b,I$),D=i.useContext(yt.SizeContext),O=Uo(p(p({},u),{},{defaultKeyWords:$})),k=Y(O,3),M=k[0],F=k[1],N=k[2],I=Rt("",{onChange:C,value:$}),L=Y(I,2),A=L[0],_=L[1];i.useImperativeHandle(r,function(){return p(p({},v.current||{}),{},{fetchData:function(){return N()}})});var K=i.useMemo(function(){if(a==="read"){var q=(R==null?void 0:R.fieldNames)||{},ne=q.value,ue=ne===void 0?"value":ne,G=q.label,te=G===void 0?"label":G,ee=q.children,le=ee===void 0?"children":ee,re=new Map,ge=function Pe(me){if(!(me!=null&&me.length))return re;for(var ce=me.length,fe=0;fe=0&&Me<=24),tt));return S.jsx("div",{style:p(p(p({},Le),fe(ke>0,{paddingRight:ke/2,paddingLeft:ke/2})),fe(Te>0,{paddingTop:Te/2,paddingBottom:Te/2})),className:ye,children:Q.cloneElement(Ge)},"pro-card-col-".concat((Ge==null?void 0:Ge.key)||_e))}return Ge}),Qe=ve("".concat(se),o,(r={},B(r,"".concat(se,"-border"),D),B(r,"".concat(se,"-contain-card"),Se),B(r,"".concat(se,"-loading"),C),B(r,"".concat(se,"-split"),w==="vertical"||w==="horizontal"),B(r,"".concat(se,"-ghost"),N),B(r,"".concat(se,"-hoverable"),L),B(r,"".concat(se,"-size-").concat(k),k),B(r,"".concat(se,"-type-").concat(q),q),B(r,"".concat(se,"-collapse"),re),B(r,"".concat(se,"-checked"),Z),r)),et=ve("".concat(se,"-body"),(n={},B(n,"".concat(se,"-body-center"),b==="center"),B(n,"".concat(se,"-body-direction-column"),w==="horizontal"||A==="column"),B(n,"".concat(se,"-body-wrap"),y&&Se),n)),vt=p(p(p({},fe(ke>0,{marginRight:-ke/2,marginLeft:-ke/2})),fe(Te>0,{marginTop:-Te/2,marginBottom:-Te/2})),u),ct=Q.isValidElement(C)?C:S.jsx(Q$,{prefix:se,style:u.padding===0||u.padding==="0px"?{padding:24}:void 0}),ht=z&&_===void 0&&(j?j({collapsed:re}):S.jsx(No,{rotate:re?void 0:90,className:"".concat(se,"-collapsible-icon")}));return S.jsxs("div",p(p({className:Qe,style:s,ref:t,onClick:function(_e){var mt;U==null||U(_e),ne==null||(mt=ne.onClick)===null||mt===void 0||mt.call(ne,_e)}},nn(ne,["prefixCls","colSpan"])),{},{children:[(f||m||ht)&&S.jsxs("div",{className:ve("".concat(se,"-header"),(a={},B(a,"".concat(se,"-header-border"),$||q==="inner"),B(a,"".concat(se,"-header-collapsible"),ht),a)),style:d,onClick:function(){ht&&ge(!re)},children:[S.jsxs("div",{className:"".concat(se,"-title"),children:[ht,S.jsx(Jr,{label:f,tooltip:P||h,subTitle:v})]}),m&&S.jsx("div",{className:"".concat(se,"-extra"),children:m})]}),ae?S.jsx("div",{className:"".concat(se,"-tabs"),children:S.jsx(Xr,p(p({onChange:ae.onChange},ae),{},{items:me,children:C?ct:O}))}):S.jsx("div",{className:et,style:vt,children:C?ct:Ee}),S.jsx(X$,{actions:M,prefixCls:se})]}))});const Po=tO;var nO=function(t){var r=i.useContext(yt.ConfigContext),n=r.getPrefixCls,a=n("pro-card-divider"),o=t.className,s=t.style,l=s===void 0?{}:s,u=t.type,c=ve(a,o,B({},"".concat(a,"-").concat(u),u));return S.jsx("div",{className:c,style:l})};const rO=nO;var aO=function(t){return S.jsx(Po,p({bodyStyle:{padding:0}},t))},ei=Po;ei.isProCard=!0;ei.Divider=rO;ei.TabPane=G$;ei.Group=aO;const oO=ei;var go=globalThis&&globalThis.__assign||function(){return go=Object.assign||function(e){for(var t,r=1,n=arguments.length;r"u"||!window.URL)return{};var d=[];s.forEach(function(v,m){d.push({key:m,value:v})}),d=d.reduce(function(v,m){return(v[m.key]=v[m.key]||[]).push(m),v},{}),d=Object.keys(d).map(function(v){var m=d[v];return m.length===1?[v,m[0].value]:[v,m.map(function(h){var g=h.value;return g})]});var f=go({},e);return d.forEach(function(v){var m=v[0],h=v[1];f[m]=uO(m,h,{},e)}),f},[t.disabled,e,s]);function u(d){if(!(typeof window>"u"||!window.URL)){var f=iO(d);window.location.search!==f.search&&window.history.replaceState({},"",f.toString()),s.toString()!==f.searchParams.toString()&&a({})}}i.useEffect(function(){t.disabled||typeof window>"u"||!window.URL||u(go(go({},e),l))},[t.disabled,l]);var c=function(d){u(d)};return i.useEffect(function(){if(t.disabled)return function(){};if(typeof window>"u"||!window.URL)return function(){};var d=function(){a({})};return window.addEventListener("popstate",d),function(){window.removeEventListener("popstate",d)}},[t.disabled]),[l,c]}var sO={true:!0,false:!1};function uO(e,t,r,n){if(!r)return t;var a=r[e],o=t===void 0?n[e]:t;return a===Number?Number(o):a===Boolean||t==="true"||t==="false"?sO[o]:Array.isArray(a)?a.find(function(s){return s==o})||n[e]:o}function Fi(e){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Fi=function(t){return typeof t}:Fi=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Fi(e)}var cO=function(){var t=new WeakSet;return function(r,n){if(Fi(n)==="object"&&n!==null){if(t.has(n))return;t.add(n)}return n}},ma=function(t){return JSON.stringify(t,cO())},vp=Q.createContext({});const Tl=vp;var dO=["children","Wrapper"],fO=["children","Wrapper"],mp=i.createContext({grid:!1,colProps:void 0,rowProps:void 0}),vO=function(t){var r=t.grid,n=t.rowProps,a=t.colProps;return{grid:!!r,RowWrapper:function(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},l=s.children,u=s.Wrapper,c=ze(s,dO);return r?S.jsx(Un,p(p(p({gutter:8},n),c),{},{children:l})):u?S.jsx(u,{children:l}):l},ColWrapper:function(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},l=s.children,u=s.Wrapper,c=ze(s,fO),d=i.useMemo(function(){var f=p(p({},a),c);return typeof f.span>"u"&&typeof f.xs>"u"&&(f.xs=24),f},[c]);return r?S.jsx(Zt,p(p({},d),{},{children:l})):u?S.jsx(u,{children:l}):l}}},za=function(t){var r=i.useMemo(function(){return Ye(t)==="object"?t:{grid:t}},[t]),n=i.useContext(mp),a=n.grid,o=n.colProps;return i.useMemo(function(){return vO({grid:!!(a||r.grid),rowProps:r==null?void 0:r.rowProps,colProps:(r==null?void 0:r.colProps)||o,Wrapper:r==null?void 0:r.Wrapper})},[r==null?void 0:r.Wrapper,r.grid,a,JSON.stringify([o,r==null?void 0:r.colProps,r==null?void 0:r.rowProps])])},mO=["valueType","customLightMode","lightFilterLabelFormatter","valuePropName","ignoreWidth","defaultProps"],hO=["label","tooltip","placeholder","width","bordered","messageVariables","ignoreFormItem","transform","convertValue","readonly","allowClear","colSize","getFormItemProps","getFieldProps","filedConfig","cacheForSwr","proFieldProps"],Ff={xs:104,s:216,sm:216,m:328,md:328,l:440,lg:440,xl:552},pO=["switch","radioButton","radio","rate"];function hp(e,t){e.displayName="ProFormComponent";var r=function(o){var s=p(p({},o==null?void 0:o.filedConfig),t)||{},l=s.valueType,u=s.customLightMode,c=s.lightFilterLabelFormatter,d=s.valuePropName,f=d===void 0?"value":d,v=s.ignoreWidth,m=s.defaultProps,h=ze(s,mO),g=p(p({},m),o),y=g.label,b=g.tooltip,C=g.placeholder,x=g.width,E=g.bordered,P=g.messageVariables,w=g.ignoreFormItem,T=g.transform,$=g.convertValue,R=g.readonly,D=g.allowClear;g.colSize;var O=g.getFormItemProps,k=g.getFieldProps;g.filedConfig;var M=g.cacheForSwr,F=g.proFieldProps,N=ze(g,hO),I=l||N.valueType,L=i.useMemo(function(){return v||pO.includes(I)},[v,I]),A=i.useState(),_=Y(A,2),K=_[1],z=i.useState(),j=Y(z,2),V=j[0],X=j[1],H=Q.useContext(Tl),Z=i.useMemo(function(){return{formItemProps:O==null?void 0:O(),fieldProps:k==null?void 0:k()}},[k,O,N.dependenciesValues,V]),U=i.useMemo(function(){var he=p(p(p(p({},w?Jt({value:N.value}):{}),{},{placeholder:C,disabled:o.disabled},H.fieldProps),Z.fieldProps),N.fieldProps);return he.style=Jt(he==null?void 0:he.style),he},[w,N.value,N.fieldProps,C,o.disabled,H.fieldProps,Z.fieldProps]),ae=AE(N),q=i.useMemo(function(){return p(p(p(p({},H.formItemProps),ae),Z.formItemProps),N.formItemProps)},[Z.formItemProps,H.formItemProps,N.formItemProps,ae]),ne=i.useMemo(function(){return p(p({messageVariables:P},h),q)},[h,q,P]);tn(!N.defaultValue,"čŊ·äļč́åœĻ Form äļ­ä―ŋį”Ļ defaultXXX。åĶ‚æžœéœ€č́éŧ˜čŪĪ倞čŊ·ä―ŋį”Ļ initialValues 和 initialValue。");var ue=i.useContext(h0),G=ue.prefixName,te=i.useMemo(function(){var he,Ce=ne==null?void 0:ne.name;Array.isArray(Ce)&&(Ce=Ce.join("_")),Array.isArray(G)&&Ce&&(Ce="".concat(G.join("."),".").concat(Ce));var ke=Ce&&"form-".concat((he=H.formKey)!==null&&he!==void 0?he:"","-field-").concat(Ce);return ke},[ma(ne==null?void 0:ne.name),G,H.formKey]),ee=pa(N),le=i.useCallback(function(){var he;O||k?X([]):N.renderFormItem&&K([]);for(var Ce=arguments.length,ke=new Array(Ce),Te=0;Te0?S.jsx("div",{className:"".concat(u,"-action"),children:j}):null,X={name:P.name,field:h,index:g,record:y==null||(r=y.getFieldValue)===null||r===void 0?void 0:r.call(y,[w.listName,P.name,h.name].filter(function(q){return q!==void 0}).flat(1)),fields:v,operation:c,meta:m},H=za(),Z=H.grid,U=(o==null?void 0:o(A,X))||A,ae=(s==null?void 0:s({listDom:S.jsx("div",{className:"".concat(u,"-container"),style:{width:Z?"100%":void 0},children:U}),action:V},X))||S.jsxs("div",{className:"".concat(u,"-item ").concat(l?"".concat(u,"-item-show-label"):""),style:{display:"flex",alignItems:"flex-end"},children:[S.jsx("div",{className:"".concat(u,"-container"),style:{width:Z?"100%":void 0},children:U}),V]});return S.jsx(Ro.Provider,{value:p(p({},h),{},{listName:[w.listName,b,h.name].filter(function(q){return q!==void 0}).flat(1)}),children:ae})},wO=function(t){var r=Tt(),n=t.creatorButtonProps,a=t.prefixCls,o=t.children,s=t.creatorRecord,l=t.action,u=t.fields,c=t.actionGuard,d=t.max,f=t.fieldExtraRender,v=t.meta,m=t.containerClassName,h=t.containerStyle,g=t.onAfterAdd,y=t.onAfterRemove,b=i.useRef(new Map),C=i.useState(!1),x=Y(C,2),E=x[0],P=x[1],w=i.useMemo(function(){return u.map(function(D){var O,k;if(!(!((O=b.current)===null||O===void 0)&&O.has(D.key.toString()))){var M;(M=b.current)===null||M===void 0||M.set(D.key.toString(),Ku())}var F=(k=b.current)===null||k===void 0?void 0:k.get(D.key.toString());return p(p({},D),{},{uuid:F})})},[u]),T=i.useMemo(function(){var D=p({},l),O=w.length;return c!=null&&c.beforeAddRow?D.add=xt(Ve().mark(function k(){var M,F,N,I,L,A=arguments;return Ve().wrap(function(K){for(;;)switch(K.prev=K.next){case 0:for(M=A.length,F=new Array(M),N=0;N0?S.jsx("div",{style:{display:"none"},children:H}):null]},[o,N,_,w]),j=Y(z,2),V=j[0],X=j[1];return S.jsx(F,{children:S.jsxs("div",{className:ve(I,B({},"".concat(I,"-twoLine"),c==="twoLine")),style:u,ref:t,children:[X,(f||v||P)&&S.jsx("div",{className:"".concat(I,"-title"),style:C,onClick:function(){D(!R)},children:P?S.jsxs("div",{style:{display:"flex",width:"100%",alignItems:"center",justifyContent:"space-between"},children:[K,S.jsx("span",{onClick:function(Z){return Z.stopPropagation()},children:P})]}):K}),s&&R?null:V]})})});yp.displayName="ProForm-Group";const zO=yp;var Xi={exports:{}};Xi.exports;(function(e,t){var r=200,n="__lodash_hash_undefined__",a=800,o=16,s=9007199254740991,l="[object Arguments]",u="[object Array]",c="[object AsyncFunction]",d="[object Boolean]",f="[object Date]",v="[object Error]",m="[object Function]",h="[object GeneratorFunction]",g="[object Map]",y="[object Number]",b="[object Null]",C="[object Object]",x="[object Proxy]",E="[object RegExp]",P="[object Set]",w="[object String]",T="[object Undefined]",$="[object WeakMap]",R="[object ArrayBuffer]",D="[object DataView]",O="[object Float32Array]",k="[object Float64Array]",M="[object Int8Array]",F="[object Int16Array]",N="[object Int32Array]",I="[object Uint8Array]",L="[object Uint8ClampedArray]",A="[object Uint16Array]",_="[object Uint32Array]",K=/[\\^$.*+?()[\]{}|]/g,z=/^\[object .+?Constructor\]$/,j=/^(?:0|[1-9]\d*)$/,V={};V[O]=V[k]=V[M]=V[F]=V[N]=V[I]=V[L]=V[A]=V[_]=!0,V[l]=V[u]=V[R]=V[d]=V[D]=V[f]=V[v]=V[m]=V[g]=V[y]=V[C]=V[E]=V[P]=V[w]=V[$]=!1;var X=typeof ci=="object"&&ci&&ci.Object===Object&&ci,H=typeof self=="object"&&self&&self.Object===Object&&self,Z=X||H||Function("return this")(),U=t&&!t.nodeType&&t,ae=U&&!0&&e&&!e.nodeType&&e,q=ae&&ae.exports===U,ne=q&&X.process,ue=function(){try{var W=ae&&ae.require&&ae.require("util").types;return W||ne&&ne.binding&&ne.binding("util")}catch{}}(),G=ue&&ue.isTypedArray;function te(W,oe,pe){switch(pe.length){case 0:return W.call(oe);case 1:return W.call(oe,pe[0]);case 2:return W.call(oe,pe[0],pe[1]);case 3:return W.call(oe,pe[0],pe[1],pe[2])}return W.apply(oe,pe)}function ee(W,oe){for(var pe=-1,qe=Array(W);++pe-1}function Ot(W,oe){var pe=this.__data__,qe=st(pe,W);return qe<0?(++this.size,pe.push([W,oe])):pe[qe][1]=oe,this}$e.prototype.clear=xe,$e.prototype.delete=Je,$e.prototype.get=dt,$e.prototype.has=ut,$e.prototype.set=Ot;function Dt(W){var oe=-1,pe=W==null?0:W.length;for(this.clear();++oe1?pe[Et-1]:void 0,At=Et>2?pe[2]:void 0;for(Mt=W.length>3&&typeof Mt=="function"?(Et--,Mt):void 0,At&&Ua(pe[0],pe[1],At)&&(Mt=Et<3?void 0:Mt,Et=1),oe=Object(oe);++qe-1&&W%1==0&&W0){if(++oe>=a)return arguments[0]}else oe=0;return W.apply(void 0,arguments)}}function gr(W){if(W!=null){try{return ie.call(W)}catch{}try{return W+""}catch{}}return""}function Fn(W,oe){return W===oe||W!==W&&oe!==oe}var sa=qt(function(){return arguments}())?qt:function(W){return yr(W)&&se.call(W,"callee")&&!ct.call(W,"callee")},Ga=Array.isArray;function Kr(W){return W!=null&&ri(W.length)&&!Vr(W)}function ti(W){return yr(W)&&Kr(W)}var ni=mt||si;function Vr(W){if(!$n(W))return!1;var oe=_t(W);return oe==m||oe==h||oe==c||oe==x}function ri(W){return typeof W=="number"&&W>-1&&W%1==0&&W<=s}function $n(W){var oe=typeof W;return W!=null&&(oe=="object"||oe=="function")}function yr(W){return W!=null&&typeof W=="object"}function $l(W){if(!yr(W)||_t(W)!=C)return!1;var oe=et(W);if(oe===null)return!0;var pe=se.call(oe,"constructor")&&oe.constructor;return typeof pe=="function"&&pe instanceof pe&&ie.call(pe)==ke}var ua=G?le(G):cr;function Ol(W){return Zn(W,ai(W))}function ai(W){return Kr(W)?Oe(W,!0):Xn(W)}var oi=_r(function(W,oe,pe){oa(W,oe,pe)});function ii(W){return function(){return W}}function li(W){return W}function si(){return!1}e.exports=oi})(Xi,Xi.exports);var BO=Xi.exports;const bp=Da(BO);var HO=["children","trigger","onVisibleChange","drawerProps","onFinish","submitTimeout","title","width","visible"];function WO(e){var t,r,n,a,o=e.children,s=e.trigger,l=e.onVisibleChange,u=e.drawerProps,c=e.onFinish,d=e.submitTimeout,f=e.title,v=e.width,m=e.visible,h=ze(e,HO);tn(!h.footer||!(u!=null&&u.footer),"DrawerForm æ˜Ŋäļ€äļŠ ProForm įš„į‰đæŪŠåļƒåą€ïžŒåĶ‚æžœæƒģ臩åۚäđ‰æŒ‰é’ŪčŊ·ä―ŋį”Ļ submit.render 臩åۚäđ‰ã€‚");var g=i.useContext(yt.ConfigContext),y=i.useState([]),b=Y(y,2),C=b[1],x=i.useState(!1),E=Y(x,2),P=E[0],w=E[1],T=Rt(!!m,{value:m,onChange:l}),$=Y(T,2),R=$[0],D=$[1],O=i.useRef(null),k=i.useCallback(function(_){O.current===null&&_&&C([]),O.current=_},[]),M=i.useRef(),F=i.useCallback(function(){var _,K,z,j=(_=(K=(z=h.formRef)===null||z===void 0?void 0:z.current)!==null&&K!==void 0?K:h.form)!==null&&_!==void 0?_:M.current;j&&(u!=null&&u.destroyOnClose)&&j.resetFields()},[u==null?void 0:u.destroyOnClose,h.form,h.formRef]);i.useEffect(function(){R&&m&&(l==null||l(!0))},[m,R]);var N=i.useMemo(function(){return s?Q.cloneElement(s,p(p({key:"trigger"},s.props),{},{onClick:function(){var _=xt(Ve().mark(function z(j){var V,X;return Ve().wrap(function(Z){for(;;)switch(Z.prev=Z.next){case 0:D(!R),(V=s.props)===null||V===void 0||(X=V.onClick)===null||X===void 0||X.call(V,j);case 2:case"end":return Z.stop()}},z)}));function K(z){return _.apply(this,arguments)}return K}()})):null},[D,s,R]),I=i.useMemo(function(){var _,K,z,j,V,X;return h.submitter===!1?!1:bp({searchConfig:{submitText:(_=(K=g.locale)===null||K===void 0||(z=K.Modal)===null||z===void 0?void 0:z.okText)!==null&&_!==void 0?_:"įĄŪčŪĪ",resetText:(j=(V=g.locale)===null||V===void 0||(X=V.Modal)===null||X===void 0?void 0:X.cancelText)!==null&&j!==void 0?j:"取æķˆ"},resetButtonProps:{preventDefault:!0,disabled:d?P:void 0,onClick:function(Z){var U;D(!1),F(),u==null||(U=u.onClose)===null||U===void 0||U.call(u,Z)}}},h.submitter)},[h.submitter,(t=g.locale)===null||t===void 0||(r=t.Modal)===null||r===void 0?void 0:r.okText,(n=g.locale)===null||n===void 0||(a=n.Modal)===null||a===void 0?void 0:a.cancelText,d,P,D,F,u]),L=i.useCallback(function(_,K){return S.jsxs(S.Fragment,{children:[_,O.current&&K?rv.createPortal(K,O.current):K]})},[]),A=Bt(function(){var _=xt(Ve().mark(function K(z){var j,V,X;return Ve().wrap(function(Z){for(;;)switch(Z.prev=Z.next){case 0:return j=c==null?void 0:c(z),d&&j instanceof Promise&&(w(!0),V=setTimeout(function(){return w(!1)},d),j.finally(function(){clearTimeout(V),w(!1)})),Z.next=4,j;case 4:return X=Z.sent,X&&D(!1),Z.abrupt("return",X);case 7:case"end":return Z.stop()}},K)}));return function(K){return _.apply(this,arguments)}}());return S.jsxs(S.Fragment,{children:[S.jsx(S0,p(p({title:f,width:v||800},u),{},{visible:R,onClose:function(K){var z;d&&P||(F(),D(!1),u==null||(z=u.onClose)===null||z===void 0||z.call(u,K))},afterVisibleChange:function(K){var z;K||F(),u==null||(z=u.afterVisibleChange)===null||z===void 0||z.call(u,K)},footer:h.submitter!==!1&&S.jsx("div",{ref:k,style:{display:"flex",justifyContent:"flex-end"}}),children:S.jsx(S.Fragment,{children:S.jsx(Ba,p(p({formComponentType:"DrawerForm",layout:"vertical",formRef:M},h),{},{submitter:I,onFinish:function(){var _=xt(Ve().mark(function z(j){var V;return Ve().wrap(function(H){for(;;)switch(H.prev=H.next){case 0:return H.next=2,A(j);case 2:return V=H.sent,V===!0&&F(),H.abrupt("return",V);case 5:case"end":return H.stop()}},z)}));function K(z){return _.apply(this,arguments)}return K}(),contentRender:L,children:o}))})})),N]})}var UO=["size","collapse","collapseLabel","initialValues","onValuesChange","form","placement","formRef","bordered","ignoreRules","footerRender"],YO=function(t){var r=t.items,n=t.prefixCls,a=t.size,o=a===void 0?"middle":a,s=t.collapse,l=t.collapseLabel,u=t.onValuesChange,c=t.bordered,d=t.values,f=t.footerRender,v=t.placement,m=Tt(),h="".concat(n,"-light-filter"),g=i.useState(!1),y=Y(g,2),b=y[0],C=y[1],x=i.useState(function(){return p({},d)}),E=Y(x,2),P=E[0],w=E[1];i.useEffect(function(){w(p({},d))},[d]);var T=i.useMemo(function(){var O=[],k=[];return r.forEach(function(M){var F=M.props||{},N=F.secondary;N||s?O.push(M):k.push(M)}),{collapseItems:O,outsideItems:k}},[t.items]),$=T.collapseItems,R=T.outsideItems,D=function(){return l||(s?S.jsx(Lg,{className:"".concat(h,"-collapse-icon")}):S.jsx(aa,{size:o,label:m.getMessage("form.lightFilter.more","æ›īåĪšį­›é€‰"),expanded:b}))};return S.jsx("div",{className:ve(h,"".concat(h,"-").concat(o),B({},"".concat(h,"-effective"),Object.keys(d).some(function(O){return d[O]}))),children:S.jsxs("div",{className:"".concat(h,"-container"),children:[R.map(function(O,k){var M=O.key,F=O.props.fieldProps,N=F!=null&&F.placement?F==null?void 0:F.placement:v;return S.jsx("div",{className:"".concat(h,"-item"),children:Q.cloneElement(O,{fieldProps:p(p({},O.props.fieldProps),{},{placement:N}),proFieldProps:{light:!0,label:O.props.label,bordered:c},bordered:c})},M||k)}),$.length?S.jsx("div",{className:"".concat(h,"-item"),children:S.jsx(Ph,{padding:24,onVisibleChange:C,visible:b,placement:v,label:D(),footerRender:f,footer:{onConfirm:function(){u(p({},P)),C(!1)},onClear:function(){var k={};$.forEach(function(M){var F=M.props.name;k[F]=void 0}),u(k)}},children:$.map(function(O){var k=O.key,M=O.props,F=M.name,N=M.fieldProps,I=p(p({},N),{},{onChange:function(_){return w(p(p({},P),{},B({},F,_!=null&&_.target?_.target.value:_))),!1}});P.hasOwnProperty(F)&&(I[O.props.valuePropName||"value"]=P[F]);var L=N!=null&&N.placement?N==null?void 0:N.placement:v;return S.jsx("div",{className:"".concat(h,"-line"),children:Q.cloneElement(O,{fieldProps:p(p({},I),{},{placement:L})})},k)})})},"more"):null]})})};function GO(e){var t=e.size,r=e.collapse,n=e.collapseLabel,a=e.initialValues,o=e.onValuesChange,s=e.form,l=e.placement,u=e.formRef,c=e.bordered;e.ignoreRules;var d=e.footerRender,f=ze(e,UO),v=i.useContext(yt.ConfigContext),m=v.getPrefixCls,h=m("pro-form"),g=i.useState(function(){return p({},a)}),y=Y(g,2),b=y[0],C=y[1],x=i.useRef();return i.useImperativeHandle(u,function(){return x.current}),S.jsx(Ba,p(p({size:t,initialValues:a,form:s,contentRender:function(P){return S.jsx(YO,{prefixCls:h,items:P.flatMap(function(w){return(w==null?void 0:w.type.displayName)==="ProForm-Group"?w.props.children:w}),size:t,bordered:c,collapse:r,collapseLabel:n,placement:l,values:b||{},footerRender:d,onValuesChange:function(T){var $,R,D=p(p({},b),T);C(D),($=x.current)===null||$===void 0||$.setFieldsValue(D),(R=x.current)===null||R===void 0||R.submit(),o&&o(T,D)}})},formRef:x,formItemProps:{colon:!1,labelAlign:"left"},fieldProps:{style:{width:void 0}}},nn(f,["labelWidth"])),{},{onValuesChange:function(P,w){var T;C(w),o==null||o(P,w),(T=x.current)===null||T===void 0||T.submit()}}))}var qO=["children","trigger","onVisibleChange","modalProps","onFinish","submitTimeout","title","width","visible"];function XO(e){var t,r,n,a,o=e.children,s=e.trigger,l=e.onVisibleChange,u=e.modalProps,c=e.onFinish,d=e.submitTimeout,f=e.title,v=e.width,m=e.visible,h=ze(e,qO);tn(!h.footer||!(u!=null&&u.footer),"ModalForm æ˜Ŋäļ€äļŠ ProForm įš„į‰đæŪŠåļƒåą€ïžŒåĶ‚æžœæƒģ臩åۚäđ‰æŒ‰é’ŪčŊ·ä―ŋį”Ļ submit.render 臩åۚäđ‰ã€‚");var g=i.useContext(yt.ConfigContext),y=i.useState([]),b=Y(y,2),C=b[1],x=i.useState(!1),E=Y(x,2),P=E[0],w=E[1],T=Rt(!!m,{value:m,onChange:l}),$=Y(T,2),R=$[0],D=$[1],O=i.useRef(null),k=i.useCallback(function(_){O.current===null&&_&&C([]),O.current=_},[]),M=i.useRef(),F=i.useCallback(function(){var _,K,z,j=(_=(K=h.form)!==null&&K!==void 0?K:(z=h.formRef)===null||z===void 0?void 0:z.current)!==null&&_!==void 0?_:M.current;j&&(u!=null&&u.destroyOnClose)&&j.resetFields()},[u==null?void 0:u.destroyOnClose,h.form,h.formRef]);i.useEffect(function(){R&&m&&(l==null||l(!0))},[m,R]);var N=i.useMemo(function(){return s?Q.cloneElement(s,p(p({key:"trigger"},s.props),{},{onClick:function(){var _=xt(Ve().mark(function z(j){var V,X;return Ve().wrap(function(Z){for(;;)switch(Z.prev=Z.next){case 0:D(!R),(V=s.props)===null||V===void 0||(X=V.onClick)===null||X===void 0||X.call(V,j);case 2:case"end":return Z.stop()}},z)}));function K(z){return _.apply(this,arguments)}return K}()})):null},[D,s,R]),I=i.useMemo(function(){var _,K,z,j,V,X,H,Z;return h.submitter===!1?!1:bp({searchConfig:{submitText:(_=(K=u==null?void 0:u.okText)!==null&&K!==void 0?K:(z=g.locale)===null||z===void 0||(j=z.Modal)===null||j===void 0?void 0:j.okText)!==null&&_!==void 0?_:"įĄŪčŪĪ",resetText:(V=(X=u==null?void 0:u.cancelText)!==null&&X!==void 0?X:(H=g.locale)===null||H===void 0||(Z=H.Modal)===null||Z===void 0?void 0:Z.cancelText)!==null&&V!==void 0?V:"取æķˆ"},resetButtonProps:{preventDefault:!0,disabled:d?P:void 0,onClick:function(ae){var q;D(!1),F(),u==null||(q=u.onCancel)===null||q===void 0||q.call(u,ae)}}},h.submitter)},[(t=g.locale)===null||t===void 0||(r=t.Modal)===null||r===void 0?void 0:r.cancelText,(n=g.locale)===null||n===void 0||(a=n.Modal)===null||a===void 0?void 0:a.okText,u,h.submitter,D,P,d,F]),L=i.useCallback(function(_,K){return S.jsxs(S.Fragment,{children:[_,O.current&&K?rv.createPortal(K,O.current):K]})},[]),A=i.useCallback(function(){var _=xt(Ve().mark(function K(z){var j,V,X;return Ve().wrap(function(Z){for(;;)switch(Z.prev=Z.next){case 0:return j=c==null?void 0:c(z),d&&j instanceof Promise&&(w(!0),V=setTimeout(function(){return w(!1)},d),j.finally(function(){clearTimeout(V),w(!1)})),Z.next=4,j;case 4:return X=Z.sent,X&&D(!1),Z.abrupt("return",X);case 7:case"end":return Z.stop()}},K)}));return function(K){return _.apply(this,arguments)}}(),[c,D,d]);return S.jsxs(S.Fragment,{children:[S.jsx(p0,p(p({title:f,width:v||800},u),{},{visible:R,onCancel:function(K){var z;d&&P||(D(!1),u==null||(z=u.onCancel)===null||z===void 0||z.call(u,K))},afterClose:function(){var K;F(),u==null||(K=u.afterClose)===null||K===void 0||K.call(u)},footer:h.submitter!==!1&&S.jsx("div",{ref:k,style:{display:"flex",justifyContent:"flex-end"}}),children:S.jsx(Ba,p(p({formComponentType:"ModalForm",layout:"vertical",formRef:M},h),{},{submitter:I,onFinish:function(){var _=xt(Ve().mark(function z(j){var V;return Ve().wrap(function(H){for(;;)switch(H.prev=H.next){case 0:return H.next=2,A(j);case 2:return V=H.sent,V===!0&&F(),H.abrupt("return",V);case 5:case"end":return H.stop()}},z)}));function K(z){return _.apply(this,arguments)}return K}(),contentRender:L,children:o}))})),N]})}var ZO=function(t,r,n,a){return t?S.jsxs(S.Fragment,{children:[n.getMessage("tableForm.collapsed","åą•åž€"),a&&"(".concat(a,")"),S.jsx(yo,{style:{marginLeft:"0.5em",transition:"0.3s all",transform:"rotate(".concat(t?0:.5,"turn)")}})]}):S.jsxs(S.Fragment,{children:[n.getMessage("tableForm.expand","æ”ķčĩ·"),S.jsx(yo,{style:{marginLeft:"0.5em",transition:"0.3s all",transform:"rotate(".concat(t?0:.5,"turn)")}})]})},QO=function(t){var r=t.setCollapsed,n=t.collapsed,a=n===void 0?!1:n,o=t.submitter,s=t.style,l=t.hiddenNum,u=i.useContext(yt.ConfigContext),c=u.getPrefixCls,d=Tt(),f=Fh(t.collapseRender)||ZO;return S.jsxs(Xt,{style:s,size:16,children:[o,t.collapseRender!==!1&&S.jsx("a",{className:c("pro-form-collapse-button"),onClick:function(){return r(!a)},children:f==null?void 0:f(a,t,d,l)})]})};const JO=QO;var eD=["collapsed","layout","defaultCollapsed","defaultColsNumber","span","searchGutter","searchText","resetText","optionRender","collapseRender","onReset","onCollapse","labelWidth","style","split","preserve","ignoreRules","showHiddenNum"],ns,rs,tD={xs:513,sm:513,md:785,lg:992,xl:1057,xxl:1/0},Of={vertical:[[513,1,"vertical"],[785,2,"vertical"],[1057,3,"vertical"],[1/0,4,"vertical"]],default:[[513,1,"vertical"],[701,2,"vertical"],[1062,3,"horizontal"],[1352,3,"horizontal"],[1/0,4,"horizontal"]]},nD=function(t,r,n){if(n&&typeof n=="number")return{span:n,layout:t};var a=n?["xs","sm","md","lg","xl","xxl"].map(function(s){return[tD[s],24/n[s],"horizontal"]}):Of[t||"default"],o=(a||Of.default).find(function(s){return rh-1)&&!!M&&C>=24;x+=1;var j=Q.isValidElement(k)&&(k.key||"".concat((L=k.props)===null||L===void 0?void 0:L.name))||M;return Q.isValidElement(k)&&z?t.preserve?{itemDom:Q.cloneElement(k,{hidden:!0,key:j||M}),hidden:!0,colSpan:_}:{itemDom:null,colSpan:0,hidden:!0}:{itemDom:k,colSpan:_,hidden:!1}}),$=T.map(function(k,M){var F,N,I=k.itemDom,L=k.colSpan,A=I==null||(F=I.props)===null||F===void 0?void 0:F.hidden;if(A)return I;var _=Q.isValidElement(I)&&(I.key||"".concat((N=I.props)===null||N===void 0?void 0:N.name))||M;24-w%2417&&k(L.width)},children:S.jsx(Ba,p(p({isKeyPressSubmit:!0,preserve:C},w),{},{className:ve($,w.className),onReset:f,style:g,layout:M.layout,fieldProps:{style:{width:"100%"}},formItemProps:N,groupProps:{titleStyle:{display:"inline-block",marginRight:16}},contentRender:function(L,A,_){return S.jsx(aD,{spanSize:M,collapsed:t,form:_,collapseRender:d,defaultCollapsed:a,onCollapse:v,optionRender:c,submitter:A,items:L,split:y,resetText:e.resetText,searchText:e.searchText,searchGutter:u,preserve:C,ignoreRules:x,showLength:F,showHiddenNum:P})}}))},"resize-observer")}var lD=["onFinish","step","formRef","title","stepProps"];function sD(e){var t=i.useRef(),r=i.useContext(Cp),n=e.onFinish,a=e.step,o=e.formRef;e.title,e.stepProps;var s=ze(e,lD);return tn(!s.submitter,"StepForm äļåŒ…åŦ提äšĪ按é’ŪčŊ·åœĻ StepsForm äļŠ"),i.useImperativeHandle(o,function(){return t.current}),i.useEffect(function(){if(e.name||e.step){var l=(e.name||e.step).toString();return r==null||r.regForm(l,e),function(){r==null||r.unRegForm(l)}}},[]),r&&(r!=null&&r.formArrayRef)&&(r.formArrayRef.current[a||0]=t),S.jsx(Ba,p({formRef:t,onFinish:function(){var l=xt(Ve().mark(function c(d){var f;return Ve().wrap(function(m){for(;;)switch(m.prev=m.next){case 0:if(s.name&&(r==null||r.onFormFinish(s.name,d)),!n){m.next=9;break}return r==null||r.setLoading(!0),m.next=5,n==null?void 0:n(d);case 5:return f=m.sent,f&&(r==null||r.next()),r==null||r.setLoading(!1),m.abrupt("return");case 9:r!=null&&r.lastStep||r==null||r.next();case 10:case"end":return m.stop()}},c)}));function u(c){return l.apply(this,arguments)}return u}(),layout:"vertical"},s))}var uD=["current","onCurrentChange","submitter","stepsFormRender","stepsRender","stepFormRender","stepsProps","onFinish","formProps","containerStyle","formRef","formMapRef"],Cp=Q.createContext(void 0),cD={horizontal:function(t){var r=t.stepsDom,n=t.formDom;return S.jsxs(S.Fragment,{children:[S.jsx(Un,{gutter:{xs:8,sm:16,md:24},children:S.jsx(Zt,{span:24,children:r})}),S.jsx(Un,{gutter:{xs:8,sm:16,md:24},children:S.jsx(Zt,{span:24,children:n})})]})},vertical:function(t){var r=t.stepsDom,n=t.formDom;return S.jsxs(Un,{align:"stretch",wrap:!0,gutter:{xs:8,sm:16,md:24},children:[S.jsx(Zt,{xxl:4,xl:6,lg:7,md:8,sm:10,xs:12,children:Q.cloneElement(r,{style:{height:"100%"}})}),S.jsx(Zt,{children:S.jsx("div",{style:{display:"flex",alignItems:"center",width:"100%",height:"100%"},children:n})})]})}};function dD(e){var t=i.useContext(yt.ConfigContext),r=t.getPrefixCls,n=r("pro-steps-form");e.current,e.onCurrentChange;var a=e.submitter,o=e.stepsFormRender,s=e.stepsRender,l=e.stepFormRender,u=e.stepsProps,c=e.onFinish,d=e.formProps,f=e.containerStyle,v=e.formRef,m=e.formMapRef,h=ze(e,uD),g=i.useRef(new Map),y=i.useRef(new Map),b=i.useRef([]),C=i.useState([]),x=Y(C,2),E=x[0],P=x[1],w=i.useState(!1),T=Y(w,2),$=T[0],R=T[1],D=Tt(),O=Rt(0,{value:e.current,onChange:e.onCurrentChange}),k=Y(O,2),M=k[0],F=k[1],N=i.useMemo(function(){return cD[(u==null?void 0:u.direction)||"horizontal"]},[u==null?void 0:u.direction]),I=i.useMemo(function(){return M===E.length-1},[E.length,M]),L=i.useCallback(function(G,te){y.current.has(G)||P(function(ee){return[].concat(Ke(ee),[G])}),y.current.set(G,te)},[]),A=i.useCallback(function(G){P(function(te){return te.filter(function(ee){return ee!==G})}),y.current.delete(G),g.current.delete(G)},[]);i.useImperativeHandle(m,function(){return b.current}),i.useImperativeHandle(v,function(){var G;return(G=b.current[M||0])===null||G===void 0?void 0:G.current},[M]);var _=i.useCallback(function(){var G=xt(Ve().mark(function te(ee,le){var re,ge;return Ve().wrap(function(me){for(;;)switch(me.prev=me.next){case 0:if(g.current.set(ee,le),!(!I||!c)){me.next=3;break}return me.abrupt("return");case 3:return R(!0),re=Rl.apply(void 0,[{}].concat(Ke(Array.from(g.current.values())))),me.prev=5,me.next=8,c(re);case 8:ge=me.sent,ge&&(F(0),b.current.forEach(function(ce){var fe;return(fe=ce.current)===null||fe===void 0?void 0:fe.resetFields()})),me.next=15;break;case 12:me.prev=12,me.t0=me.catch(5),console.log(me.t0);case 15:return me.prev=15,R(!1),me.finish(15);case 18:case"end":return me.stop()}},te,null,[[5,12,15,18]])}));return function(te,ee){return G.apply(this,arguments)}}(),[I,c,R,F]),K=i.useMemo(function(){return S.jsx("div",{className:"".concat(n,"-steps-container"),style:{maxWidth:Math.min(E.length*320,1160)},children:S.jsx(Fc,p(p({},u),{},{current:M,onChange:void 0,children:E.map(function(G){var te=y.current.get(G);return S.jsx(Fc.Step,p({title:te==null?void 0:te.title},te==null?void 0:te.stepProps),G)})}))})},[E,n,M,u]),z=Bt(function(){var G,te=b.current[M];(G=te.current)===null||G===void 0||G.submit()}),j=Bt(function(){M<1||F(M-1)}),V=i.useMemo(function(){return a!==!1&&S.jsx(An,p(p({type:"primary",loading:$},a==null?void 0:a.submitButtonProps),{},{onClick:function(){var te;a==null||(te=a.onSubmit)===null||te===void 0||te.call(a),z()},children:D.getMessage("stepsForm.next","äļ‹ä­Ĩ")}),"next")},[D,$,z,a]),X=i.useMemo(function(){return a!==!1&&S.jsx(An,p(p({},a==null?void 0:a.resetButtonProps),{},{onClick:function(){var te;j(),a==null||(te=a.onReset)===null||te===void 0||te.call(a)},children:D.getMessage("stepsForm.prev","äļŠä­Ĩ")}),"pre")},[D,j,a]),H=i.useMemo(function(){return a!==!1&&S.jsx(An,p(p({type:"primary",loading:$},a==null?void 0:a.submitButtonProps),{},{onClick:function(){var te;a==null||(te=a.onSubmit)===null||te===void 0||te.call(a),z()},children:D.getMessage("stepsForm.submit","提äšĪ")}),"submit")},[D,$,z,a]),Z=Bt(function(){M>E.length-2||F(M+1)}),U=i.useMemo(function(){var G=[],te=M||0;if(te<1?G.push(V):te+1===E.length?G.push(X,H):G.push(X,V),G=G.filter(Q.isValidElement),a&&a.render){var ee,le={form:(ee=b.current[M])===null||ee===void 0?void 0:ee.current,onSubmit:z,step:M,onPre:j};return a.render(le,G)}return a&&(a==null?void 0:a.render)===!1?null:G},[E.length,V,z,X,j,M,H,a]),ae=i.useMemo(function(){return Mn(e.children).map(function(G,te){var ee=G.props,le=ee.name||"".concat(te),re=M===te,ge=re?{contentRender:l,submitter:!1}:{};return S.jsx("div",{className:ve("".concat(n,"-step"),B({},"".concat(n,"-step-active"),re)),children:Q.cloneElement(G,p(p(p(p({},ge),d),ee),{},{name:le,step:te,key:le}))},le)})},[d,n,e.children,M,l]),q=i.useMemo(function(){return s?s(E.map(function(G){var te;return{key:G,title:(te=y.current.get(G))===null||te===void 0?void 0:te.title}}),K):K},[E,K,s]),ne=i.useMemo(function(){return S.jsxs("div",{className:"".concat(n,"-container"),style:f,children:[ae,o?null:S.jsx(Xt,{children:U})]})},[f,ae,n,o,U]),ue=i.useMemo(function(){var G={stepsDom:q,formDom:ne};return o?o(N(G),U):N(G)},[q,ne,N,o,U]);return S.jsx("div",{className:n,children:S.jsx(Ht.Provider,p(p({},h),{},{children:S.jsx(Cp.Provider,{value:{loading:$,setLoading:R,regForm:L,keyArray:E,next:Z,formArrayRef:b,formMapRef:y,lastStep:I,unRegForm:A,onFormFinish:_},children:ue})}))})}function Fl(e){return S.jsx(Lu,{children:S.jsx(dD,p({},e))})}Fl.StepForm=sD;Fl.useForm=Ht.useForm;var fD=function(t){var r=t.children;return S.jsx(S.Fragment,{children:r})};const vD=fD;var mD=["steps","columns","forceUpdate","grid"],hD=function(t){var r=t.steps,n=t.columns,a=t.forceUpdate,o=t.grid,s=ze(t,mD),l=ju(s),u=i.useCallback(function(d){var f,v;(f=(v=l.current).onCurrentChange)===null||f===void 0||f.call(v,d),a([])},[a,l]),c=i.useMemo(function(){return r==null?void 0:r.map(function(d,f){return i.createElement(xp,p(p({grid:o},d),{},{key:f,layoutType:"StepForm",columns:n[f]}))})},[n,o,r]);return S.jsx(Fl,p(p({},s),{},{onCurrentChange:u,children:c}))};const pD=hD;var gD=function(t,r){var n=r.genItems;if(t.valueType==="dependency"){var a,o,s,l=(a=t.getFieldProps)===null||a===void 0?void 0:a.call(t);return tn(Array.isArray((o=t.name)!==null&&o!==void 0?o:l==null?void 0:l.name),'SchemaForm: fieldProps.name should be NamePath[] when valueType is "dependency"'),tn(typeof t.columns=="function",'SchemaForm: columns should be a function when valueType is "dependency"'),Array.isArray((s=t.name)!==null&&s!==void 0?s:l==null?void 0:l.name)?i.createElement(Wu,p(p({name:t.name},l),{},{key:t.key}),function(u){return!t.columns||typeof t.columns!="function"?null:n(t.columns(u))}):null}return!0},yD=function(t){if(t.valueType==="divider"){var r;return i.createElement(hv,p(p({},(r=t.getFieldProps)===null||r===void 0?void 0:r.call(t)),{},{key:t.key}))}return!0},bD=function(t,r){var n=r.action,a=r.formRef,o=r.type,s=r.originItem,l=p(p({},nn(t,["dataIndex","width","render","renderFormItem","renderText","title"])),{},{name:t.dataIndex,width:t.width,render:t!=null&&t.render?function(f,v,m){var h,g,y;return t==null||(h=t.render)===null||h===void 0?void 0:h.call(t,f,v,m,n==null?void 0:n.current,p(p({type:o},t),{},{formItemProps:(g=t.getFormItemProps)===null||g===void 0?void 0:g.call(t),fieldProps:(y=t.getFieldProps)===null||y===void 0?void 0:y.call(t)}))}:void 0}),u=function(){return S.jsx(qi,p(p({},l),{},{ignoreFormItem:!0}))},c=t!=null&&t.renderFormItem?function(f,v){var m,h,g,y=Jt(p(p({},v),{},{onChange:void 0}));return t==null||(m=t.renderFormItem)===null||m===void 0?void 0:m.call(t,p(p({type:o},t),{},{formItemProps:(h=t.getFormItemProps)===null||h===void 0?void 0:h.call(t),fieldProps:(g=t.getFieldProps)===null||g===void 0?void 0:g.call(t),originProps:s}),p(p({},y),{},{defaultRender:u,type:o}),a.current)}:void 0;if(t!=null&&t.renderFormItem){var d=c==null?void 0:c(null,{});if(!d||t.ignoreFormItem)return d}return i.createElement(qi,p(p({},l),{},{key:"".concat(t.key,"-").concat(t.index),renderFormItem:c}))},CD=function(t,r){var n=r.genItems;if(t.valueType==="formList"&&t.dataIndex){var a,o,s,l,u,c,d,f,v,m,h;return!t.columns||!Array.isArray(t.columns)?null:S.jsx(PO,p(p({name:t.dataIndex,label:t.label,initialValue:t.initialValue,colProps:t.colProps,rowProps:t.rowProps},(a=t.getFieldProps)===null||a===void 0?void 0:a.call(t)),{},{isValidateList:(o=((u=t.getFormItemProps)===null||u===void 0?void 0:u.call(t))||((c=t.getFieldProps)===null||c===void 0?void 0:c.call(t)))===null||o===void 0||(s=o.rules)===null||s===void 0||(l=s[0])===null||l===void 0?void 0:l.required,emptyListMessage:(d=((m=t.getFormItemProps)===null||m===void 0?void 0:m.call(t))||((h=t.getFieldProps)===null||h===void 0?void 0:h.call(t)))===null||d===void 0||(f=d.rules)===null||f===void 0||(v=f[0])===null||v===void 0?void 0:v.message,children:n(t.columns)}),t.key)}return!0},xD=function(t,r){var n=r.genItems;if(t.valueType==="formSet"&&t.dataIndex){var a,o;return!t.columns||!Array.isArray(t.columns)?null:i.createElement(IO,p(p({},(a=t.getFormItemProps)===null||a===void 0?void 0:a.call(t)),{},{key:t.key,initialValue:t.initialValue,name:t.dataIndex,label:t.label,colProps:t.colProps,rowProps:t.rowProps},(o=t.getFieldProps)===null||o===void 0?void 0:o.call(t)),n(t.columns))}return!0},SD=function(t,r){var n=r.genItems;if(t.valueType==="group"){var a;return!t.columns||!Array.isArray(t.columns)?null:S.jsx(DD,p(p({label:t.label,colProps:t.colProps,rowProps:t.rowProps},(a=t.getFieldProps)===null||a===void 0?void 0:a.call(t)),{},{children:n(t.columns)}),t.key)}return!0},wD=function(t){return t.valueType&&typeof t.valueType=="string"&&["index","indexBorder","option"].includes(t==null?void 0:t.valueType)?null:!0},Df=[wD,SD,CD,xD,yD,gD],ED=function(t,r){for(var n=0;n0&&arguments[0]!==void 0?arguments[0]:[],z=If(K);if(!z)throw new Error("nameList is require");var j=(_=O())===null||_===void 0?void 0:_.getFieldValue(z),V=z?yn({},z,j):j;return pn(a(V,g,z),z)},getFieldFormatValueObject:function(_){var K,z=If(_),j=(K=O())===null||K===void 0?void 0:K.getFieldValue(z),V=z?yn({},z,j):j;return a(V,g,z)},validateFieldsReturnFormatValue:function(){var A=xt(Ve().mark(function K(z){var j,V,X;return Ve().wrap(function(Z){for(;;)switch(Z.prev=Z.next){case 0:if(!(!Array.isArray(z)&&z)){Z.next=2;break}throw new Error("nameList must be array");case 2:return Z.next=4,(j=O())===null||j===void 0?void 0:j.validateFields(z);case 4:return V=Z.sent,X=a(V,g),Z.abrupt("return",X||{});case 7:case"end":return Z.stop()}},K)}));function _(K){return A.apply(this,arguments)}return _}(),formRef:$}},[g,a]),M=i.useMemo(function(){return Q.Children.toArray(t).map(function(A,_){return _===0&&Q.isValidElement(A)&&b?Q.cloneElement(A,p(p({},A.props),{},{autoFocus:b})):A})},[b,t]),F=i.useMemo(function(){return typeof n=="boolean"||!n?{}:n},[n]);i.useImperativeHandle(o,function(){return p(p({},w),k)},[k,w]);var N=i.useMemo(function(){if(n!==!1)return S.jsx(ND,p(p({},F),{},{onReset:function(){var _,K,z=a((_=$.current)===null||_===void 0?void 0:_.getFieldsValue(),g);if(F==null||(K=F.onReset)===null||K===void 0||K.call(F,z),m==null||m(z),f){var j,V=Object.keys(a((j=$.current)===null||j===void 0?void 0:j.getFieldsValue(),!1)).reduce(function(X,H){return p(p({},X),{},B({},H,z[H]||void 0))},d);v(tu(f,V,"set"))}},submitButtonProps:p({loading:u},F.submitButtonProps)}),"submitter")},[n,F,u,a,g,m,f,d,v]),I=i.useMemo(function(){var A=C?S.jsx(D,{children:M}):M;return r?r(A,N,$.current):A},[C,D,M,r,N]),L=pa(e.initialValues);return i.useEffect(function(){if(!(f||!e.initialValues||!L||P.request)){var A=Gn(e.initialValues,L);tn(A,"initialValues 及åœĻ form 初始化æ—ķį”Ÿæ•ˆïžŒåĶ‚æžœä― éœ€čĶåž‚æ­ĨåŠ č――æŽĻ荐ä―ŋį”Ļ requestïžŒæˆ–č€… initialValues ?
: null "),tn(A,"The initialValues only take effect when the form is initialized, if you need to load asynchronously recommended request, or the initialValues ? : null ")}},[e.initialValues]),i.useEffect(function(){var A,_,K=a((A=$.current)===null||A===void 0||(_=A.getFieldsValue)===null||_===void 0?void 0:_.call(A,!0),g);s==null||s(K,$.current)},[]),S.jsx(Bo.Provider,{value:k,children:S.jsx(yt.SizeContext.Provider,{value:P.size||T,children:S.jsxs(mp.Provider,{value:{grid:C,colProps:E},children:[P.component!==!1&&S.jsx("input",{type:"text",style:{display:"none"}}),I]})})})}var _f=0;function Ba(e){var t=e.extraUrlParams,r=t===void 0?{}:t,n=e.syncToUrl,a=e.isKeyPressSubmit,o=e.syncToUrlAsImportant,s=o===void 0?!1:o,l=e.syncToInitialValues,u=l===void 0?!0:l;e.children,e.contentRender,e.submitter;var c=e.fieldProps,d=e.formItemProps,f=e.groupProps,v=e.dateFormatter,m=v===void 0?"string":v,h=e.formRef;e.onInit;var g=e.form,y=e.formComponentType;e.onReset,e.grid,e.rowProps,e.colProps;var b=e.omitNil,C=b===void 0?!0:b,x=e.request,E=e.params,P=e.initialValues,w=e.formKey,T=w===void 0?_f:w;e.readonly;var $=ze(e,TD),R=i.useRef({}),D=cn(!1),O=Y(D,2),k=O[0],M=O[1],F=lO({},{disabled:!n}),N=Y(F,2),I=N[0],L=N[1],A=i.useRef(Ku());i.useEffect(function(){_f+=0},[]);var _=NE({request:x,params:E,proFieldKey:T}),K=Y(_,1),z=K[0],j=i.useState(function(){return n?tu(n,I,"get"):{}}),V=Y(j,2),X=V[0],H=V[1],Z=i.useRef({}),U=i.useRef({}),ae=i.useCallback(function(ue,G,te){return BE(gE(ue,m,U.current,G,te),Z.current,G)},[m]);i.useEffect(function(){u||H({})},[u]),i.useEffect(function(){n&&L(p(p({},I),r))},[r,n]);var q=i.useMemo(function(){if(!(typeof window>"u")&&y&&["DrawerForm"].includes(y))return function(ue){return ue.parentNode||document.body}},[y]),ne=Bt(xt(Ve().mark(function ue(){var G,te,ee,le,re,ge;return Ve().wrap(function(me){for(;;)switch(me.prev=me.next){case 0:if($.onFinish){me.next=2;break}return me.abrupt("return");case 2:if(!k){me.next=4;break}return me.abrupt("return");case 4:return M(!0),me.prev=5,ee=R==null||(G=R.current)===null||G===void 0||(te=G.getFieldsFormatValue)===null||te===void 0?void 0:te.call(G),me.next=9,$.onFinish(ee);case 9:n&&(ge=Object.keys(R==null||(le=R.current)===null||le===void 0||(re=le.getFieldsFormatValue)===null||re===void 0?void 0:re.call(le,void 0,!1)).reduce(function(ce,fe){var ie;return p(p({},ce),{},B({},fe,(ie=ee[fe])!==null&&ie!==void 0?ie:void 0))},r),Object.keys(I).forEach(function(ce){ge[ce]!==!1&&ge[ce]!==0&&!ge[ce]&&(ge[ce]=void 0)}),L(tu(n,ge,"set"))),M(!1),me.next=16;break;case 13:me.prev=13,me.t0=me.catch(5),M(!1);case 16:case"end":return me.stop()}},ue,null,[[5,13]])})));return i.useImperativeHandle(h,function(){return R.current},[!z]),!z&&e.request?S.jsx("div",{style:{paddingTop:50,paddingBottom:50,textAlign:"center"},children:S.jsx(Nr,{})}):S.jsx(pp.Provider,{value:{mode:e.readonly?"read":"edit"},children:S.jsx(Lu,{children:S.jsx(Tl.Provider,{value:{formRef:R,fieldProps:c,formItemProps:d,groupProps:f,formComponentType:y,getPopupContainer:q,formKey:A.current,setFieldValueType:function(G,te){var ee=te.valueType,le=ee===void 0?"text":ee,re=te.dateFormat,ge=te.transform;Array.isArray(G)&&(Z.current=yn(Z.current,G,ge),U.current=yn(U.current,G,{valueType:le,dateFormat:re}))}},children:S.jsx(Ht,p(p({onKeyPress:function(G){if(a&&G.key==="Enter"){var te;(te=R.current)===null||te===void 0||te.submit()}},autoComplete:"off",form:g},nn($,["autoFocusFirstInput"])),{},{initialValues:s?p(p(p({},z),P),X):p(p(p({},X),z),P),onValuesChange:function(G,te){var ee;$==null||(ee=$.onValuesChange)===null||ee===void 0||ee.call($,ae(G,!!C),ae(te,!!C))},onFinish:ne,children:S.jsx(FD,p(p({transformKey:ae,autoComplete:"off",loading:k,onUrlSearchChange:L},e),{},{formRef:R,initialValues:p(p({},P),z)}))}))})})})}var $D=["label","size","disabled","onChange","className","style","children","valuePropName","placeholder","labelFormatter","bordered","footerRender","allowClear","otherFieldProps","valueType","placement"],OD=function(t){var r,n=t.label,a=t.size,o=t.disabled,s=t.onChange,l=t.className,u=t.style,c=t.children,d=t.valuePropName,f=t.placeholder,v=t.labelFormatter,m=t.bordered,h=t.footerRender,g=t.allowClear,y=t.otherFieldProps,b=t.valueType,C=t.placement,x=ze(t,$D),E=i.useContext(yt.ConfigContext),P=E.getPrefixCls,w=P("pro-field-light-wrapper"),T=i.useState(t[d]),$=Y(T,2),R=$[0],D=$[1],O=cn(!1),k=Y(O,2),M=k[0],F=k[1],N=function(){for(var _,K=arguments.length,z=new Array(K),j=0;j");return a}return{Provider:r,useContainer:n}}function QD(){var e,t,r,n,a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},o=i.useRef(),s=i.useRef(null),l=i.useRef(),u=i.useRef(),c=i.useState(""),d=Y(c,2),f=d[0],v=d[1],m=i.useRef([]),h=Rt(function(){return a.size||a.defaultSize||"middle"},{value:a.size,onChange:a.onSizeChange}),g=Y(h,2),y=g[0],b=g[1],C=i.useMemo(function(){var R,D={};return(R=a.columns)===null||R===void 0||R.forEach(function(O,k){var M=O.key,F=O.dataIndex,N=O.fixed,I=O.disable,L=Ha(M??F,k);L&&(D[L]={show:!0,fixed:N,disable:I})}),D},[a.columns]),x=Rt(function(){var R,D,O=a.columnsState||{},k=O.persistenceType,M=O.persistenceKey;if(M&&k&&typeof window<"u"){var F=window[k];try{var N=F==null?void 0:F.getItem(M);if(N)return JSON.parse(N)}catch(I){console.warn(I)}}return a.columnsStateMap||((R=a.columnsState)===null||R===void 0?void 0:R.value)||((D=a.columnsState)===null||D===void 0?void 0:D.defaultValue)||C},{value:((e=a.columnsState)===null||e===void 0?void 0:e.value)||a.columnsStateMap,onChange:((t=a.columnsState)===null||t===void 0?void 0:t.onChange)||a.onColumnsStateChange}),E=Y(x,2),P=E[0],w=E[1];i.useLayoutEffect(function(){var R=a.columnsState||{},D=R.persistenceType,O=R.persistenceKey;if(O&&D&&typeof window<"u"){var k=window[D];try{var M=k==null?void 0:k.getItem(O);w(M?JSON.parse(M):C)}catch(F){console.warn(F)}}},[a.columnsState,C,w]),tn(!a.columnsStateMap,"columnsStateMapå·ēįŧåšŸåžƒïžŒčŊ·ä―ŋį”Ļ columnsState.value æ›ŋæĒ"),tn(!a.columnsStateMap,"columnsStateMap has been discarded, please use columnSstate.value replacement");var T=i.useCallback(function(){var R=a.columnsState||{},D=R.persistenceType,O=R.persistenceKey;if(!(!O||!D||typeof window>"u")){var k=window[D];try{k==null||k.removeItem(O)}catch(M){console.error(M)}}},[a.columnsState]);i.useEffect(function(){var R,D;if(!(!(!((R=a.columnsState)===null||R===void 0)&&R.persistenceKey)||!(!((D=a.columnsState)===null||D===void 0)&&D.persistenceType))&&!(typeof window>"u")){var O=a.columnsState,k=O.persistenceType,M=O.persistenceKey,F=window[k];try{F==null||F.setItem(M,JSON.stringify(P))}catch(N){console.error(N)}}},[(r=a.columnsState)===null||r===void 0?void 0:r.persistenceKey,P,(n=a.columnsState)===null||n===void 0?void 0:n.persistenceType]);var $={action:o.current,setAction:function(D){o.current=D},sortKeyColumns:m.current,setSortKeyColumns:function(D){m.current=D},propsRef:u,columnsMap:P,keyWords:f,setKeyWords:function(D){return v(D)},setTableSize:b,tableSize:y,prefixName:l.current,setPrefixName:function(D){l.current=D},setColumnsMap:w,columns:a.columns,rootDomRef:s,clearPersistenceStorage:T};return Object.defineProperty($,"prefixName",{get:function(){return l.current}}),Object.defineProperty($,"sortKeyColumns",{get:function(){return m.current}}),Object.defineProperty($,"action",{get:function(){return o.current}}),$}var JD=ZD(QD);const Or=JD;var eI=["key","dataIndex","children"],as=function(t){var r=t.title,n=t.show,a=t.children,o=t.columnKey,s=t.fixed,l=Or.useContainer(),u=l.columnsMap,c=l.setColumnsMap;return n?S.jsx(on,{title:r,children:S.jsx("span",{onClick:function(f){f.stopPropagation(),f.preventDefault();var v=u[o]||{},m=typeof v.disable=="boolean"&&v.disable;if(!m){var h=p(p({},u),{},B({},o,p(p({},v),{},{fixed:s})));c(h)}},children:a})}):null},tI=function(t){var r=t.columnKey,n=t.isLeaf,a=t.title,o=t.className,s=t.fixed,l=Tt(),u=S.jsxs("span",{className:"".concat(o,"-list-item-option"),children:[S.jsx(as,{columnKey:r,fixed:"left",title:l.getMessage("tableToolBar.leftPin","囚åۚåœĻ列éĶ–"),show:s!=="left",children:S.jsx(J1,{})}),S.jsx(as,{columnKey:r,fixed:void 0,title:l.getMessage("tableToolBar.noPin","äļå›šåۚ"),show:!!s,children:S.jsx(G1,{})}),S.jsx(as,{columnKey:r,fixed:"right",title:l.getMessage("tableToolBar.rightPin","囚åۚåœĻ列å°ū"),show:s!=="right",children:S.jsx(B1,{})})]});return S.jsxs("span",{className:"".concat(o,"-list-item"),children:[S.jsx("div",{className:"".concat(o,"-list-item-title"),children:a}),n?null:u]},r)},os=function(t){var r,n,a=t.list,o=t.draggable,s=t.checkable,l=t.className,u=t.showTitle,c=u===void 0?!0:u,d=t.title,f=t.listHeight,v=f===void 0?280:f,m=Or.useContainer(),h=m.columnsMap,g=m.setColumnsMap,y=m.sortKeyColumns,b=m.setSortKeyColumns,C=a&&a.length>0,x=i.useMemo(function(){if(!C)return{};var T=[],$=function R(D,O){return D.map(function(k){var M,F=k.key;k.dataIndex;var N=k.children,I=ze(k,eI),L=Ha(F,I.index),A=h[L||"null"]||{show:!0};A.show!==!1&&(O==null?void 0:O.show)!==!1&&!N&&T.push(L);var _=p(p({key:L},nn(I,["className"])),{},{selectable:!1,disabled:A.disable===!0,disableCheckbox:typeof A.disable=="boolean"?A.disable:(M=A.disable)===null||M===void 0?void 0:M.checkbox,isLeaf:O?!0:void 0});return N&&(_.children=R(N,A)),_})};return{list:$(a),keys:T}},[h,a,C]),E=Bt(function(T,$,R){var D=p({},h),O=Ke(y),k=O.findIndex(function(I){return I===T}),M=O.findIndex(function(I){return I===$}),F=R>M;if(!(k<0)){var N=O[k];O.splice(k,1),R===0?O.unshift(N):O.splice(F?M:M+1,0,N),O.forEach(function(I,L){D[I]=p(p({},D[I]||{}),{},{order:L})}),g(D),b(O)}}),P=Bt(function(T){var $=T.node.key,R=p({},h[$]);R.show=T.checked,g(p(p({},h),{},B({},$,R)))});if(!C)return null;var w=S.jsx(Bm,{itemHeight:24,draggable:o&&!!(!((r=x.list)===null||r===void 0)&&r.length)&&((n=x.list)===null||n===void 0?void 0:n.length)>1,checkable:s,onDrop:function($){var R=$.node.key,D=$.dragNode.key,O=$.dropPosition,k=$.dropToGap,M=O===-1||!k?O+1:O;E(D,R,M)},blockNode:!0,onCheck:function($,R){return P(R)},checkedKeys:x.keys,showLine:!1,titleRender:function($){var R=p(p({},$),{},{children:void 0});return S.jsx(tI,p(p({className:l},R),{},{title:gn(R.title,R),columnKey:R.key}))},height:v,treeData:x.list});return S.jsxs(S.Fragment,{children:[c&&S.jsx("span",{className:"".concat(l,"-list-title"),children:d}),w]})},nI=function(t){var r=t.localColumns,n=t.className,a=t.draggable,o=t.checkable,s=t.listsHeight,l=[],u=[],c=[],d=Tt();r.forEach(function(m){if(!m.hideInSetting){var h=m.fixed;if(h==="left"){u.push(m);return}if(h==="right"){l.push(m);return}c.push(m)}});var f=l&&l.length>0,v=u&&u.length>0;return S.jsxs("div",{className:ve("".concat(n,"-list"),B({},"".concat(n,"-list-group"),f||v)),children:[S.jsx(os,{title:d.getMessage("tableToolBar.leftFixedTitle","囚åۚåœĻå·Ķäū§"),list:u,draggable:a,checkable:o,className:n,listHeight:s}),S.jsx(os,{list:c,draggable:a,checkable:o,title:d.getMessage("tableToolBar.noFixedTitle","äļå›šåۚ"),showTitle:v||f,className:n,listHeight:s}),S.jsx(os,{title:d.getMessage("tableToolBar.rightFixedTitle","囚åۚåœĻåģäū§"),list:l,draggable:a,checkable:o,className:n,listHeight:s})]})};function rI(e){var t,r,n=i.useRef({}),a=Or.useContainer(),o=e.columns,s=e.checkedReset,l=s===void 0?!0:s,u=a.columnsMap,c=a.setColumnsMap,d=a.clearPersistenceStorage;i.useEffect(function(){var E,P;if(!((E=a.propsRef.current)===null||E===void 0||(P=E.columnsState)===null||P===void 0)&&P.value){var w,T;n.current=JSON.parse(JSON.stringify(((w=a.propsRef.current)===null||w===void 0||(T=w.columnsState)===null||T===void 0?void 0:T.value)||{}))}},[]);var f=Bt(function(){var E=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,P={},w=function T($){$.forEach(function(R){var D=R.key,O=R.fixed,k=R.index,M=R.children,F=Ha(D,k);F&&(P[F]={show:E,fixed:O}),M&&T(M)})};w(o),c(P)}),v=Bt(function(E){E.target.checked?f():f(!1)}),m=Bt(function(){d==null||d(),c(n.current)}),h=Object.values(u).filter(function(E){return!E||E.show===!1}),g=h.length>0&&h.length!==o.length,y=Tt(),b=i.useContext(yt.ConfigContext),C=b.getPrefixCls,x=C("pro-table-column-setting");return S.jsx(ko,{arrowPointAtCenter:!0,title:S.jsxs("div",{className:"".concat(x,"-title"),children:[S.jsx(ya,{indeterminate:g,checked:h.length===0&&h.length!==o.length,onChange:function(P){return v(P)},children:y.getMessage("tableToolBar.columnDisplay","åˆ—åą•įĪš")}),l?S.jsx("a",{onClick:m,className:"".concat(x,"-action-rest-button"),children:y.getMessage("tableToolBar.reset","重į―Ū")}):null,e!=null&&e.extra?S.jsx(Xt,{size:12,align:"center",children:e.extra}):null]}),overlayClassName:"".concat(x,"-overlay"),trigger:"click",placement:"bottomRight",content:S.jsx(nI,{checkable:(t=e.checkable)!==null&&t!==void 0?t:!0,draggable:(r=e.draggable)!==null&&r!==void 0?r:!0,className:x,localColumns:o,listsHeight:e.listsHeight}),children:e.children||S.jsx(on,{title:y.getMessage("tableToolBar.columnSetting","列čŪūį―Ū"),children:S.jsx(pv,{})})})}function aI(e,t){return sI(e)||lI(e,t)||iI(e,t)||oI()}function oI(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function iI(e,t){if(e){if(typeof e=="string")return Lf(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Lf(e,t)}}function Lf(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r"u",r=i.useState(function(){return t?!1:window.matchMedia(e).matches}),n=aI(r,2),a=n[0],o=n[1];return i.useLayoutEffect(function(){if(!t){var s=window.matchMedia(e),l=function(c){return o(c.matches)};return s.addListener(l),function(){return s.removeListener(l)}}},[e]),a}function uI(e,t){return vI(e)||fI(e,t)||dI(e,t)||cI()}function cI(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function dI(e,t){if(e){if(typeof e=="string")return Af(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Af(e,t)}}function Af(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r"u")return t;var r=Object.keys(Sr).find(function(n){var a=Sr[n].matchMedia;return!!window.matchMedia(a).matches});return t=r,t},hI=function(){var t=fa(Sr.md.matchMedia),r=fa(Sr.lg.matchMedia),n=fa(Sr.xxl.matchMedia),a=fa(Sr.xl.matchMedia),o=fa(Sr.sm.matchMedia),s=fa(Sr.xs.matchMedia),l=i.useState(mI()),u=uI(l,2),c=u[0],d=u[1];return i.useEffect(function(){if(n){d("xxl");return}if(a){d("xl");return}if(r){d("lg");return}if(t){d("md");return}if(o){d("sm");return}if(s){d("xs");return}d("md")},[t,r,n,a,o,s]),c};var pI=["label","key"],gI=function(t){var r=t.items,n=r===void 0?[]:r,a=t.type,o=a===void 0?"inline":a,s=t.prefixCls,l=t.activeKey,u=Rt(l,{value:l,onChange:t.onChange}),c=Y(u,2),d=c[0],f=c[1];if(n.length<1)return null;var v=n.find(function(m){return m.key===d})||n[0];return o==="inline"?S.jsx("div",{className:ve("".concat(s,"-menu"),"".concat(s,"-inline-menu")),children:n.map(function(m,h){return S.jsx("div",{onClick:function(){f(m.key)},className:ve("".concat(s,"-inline-menu-item"),v.key===m.key?"".concat(s,"-inline-menu-item-active"):void 0),children:m.label},m.key||h)})}):o==="tab"?S.jsx(Xr,{activeKey:v.key,onTabClick:function(h){return f(h)},children:n.map(function(m,h){var g=m.label,y=m.key,b=ze(m,pI);return S.jsx(Xr.TabPane,p({tab:g},b),y||h)})}):S.jsx("div",{className:ve("".concat(s,"-menu"),"".concat(s,"-dropdownmenu")),children:S.jsx(Mo,{trigger:["click"],menu:{selectedKeys:[v.key],onClick:function(h){f(h.key)},items:n.map(function(m,h){return{key:m.key||h,disabled:m.disabled,label:m.label}})},children:S.jsxs(Xt,{className:"".concat(s,"-dropdownmenu-label"),children:[v.label,S.jsx(yo,{})]})})})};const yI=gI;function bI(e){if(Q.isValidElement(e))return e;if(e){var t=e,r=t.icon,n=t.tooltip,a=t.onClick,o=t.key;return r&&n?S.jsx(on,{title:n,children:S.jsx("span",{onClick:function(){a&&a(o)},children:r},o)}):r}return null}var CI=function(t){var r=t.prefixCls,n=t.tabs,a=n===void 0?{}:n,o=t.multipleLine,s=t.filtersNode;return o?S.jsx("div",{className:"".concat(r,"-extra-line"),children:a.items&&a.items.length?S.jsx(Xr,{activeKey:a.activeKey,onChange:a.onChange,tabBarExtraContent:s,children:a.items.map(function(l,u){return S.jsx(Xr.TabPane,p({},l),l.key||u)})}):s}):null},xI=function(t){var r=t.prefixCls,n=t.title,a=t.subTitle,o=t.tooltip,s=t.className,l=t.style,u=t.search,c=t.onSearch,d=t.multipleLine,f=d===void 0?!1:d,v=t.filter,m=t.actions,h=m===void 0?[]:m,g=t.settings,y=g===void 0?[]:g,b=t.tabs,C=b===void 0?{}:b,x=t.menu,E=Tt(),P=hI(),w=P==="sm"||P==="xs",T=E.getMessage("tableForm.inputPlaceholder","čŊ·čū“å…Ĩ"),$=i.useMemo(function(){return u?Q.isValidElement(u)?u:S.jsx(Nn.Search,p(p({style:{width:200},placeholder:T},u),{},{onSearch:function(){for(var z,j=arguments.length,V=new Array(j),X=0;Xae||U!==void 0&&y&&y.length<=ae&&H.run(!1)},[R==null?void 0:R.current]),i.useEffect(function(){A&&H.run(!1)},[R==null?void 0:R.pageSize]),ji(function(){return H.run(!1),l||(v.current=!1),function(){H.cancel()}},[].concat(Ke(j),[l])),{dataSource:y,setDataSource:b,loading:E,reload:function(){var Z=xt(Ve().mark(function ae(){return Ve().wrap(function(ne){for(;;)switch(ne.prev=ne.next){case 0:return ne.next=2,H.run(!1);case 2:case"end":return ne.stop()}},ae)}));function U(){return Z.apply(this,arguments)}return U}(),pageInfo:R,pollingLoading:F,reset:function(){var Z=xt(Ve().mark(function ae(){var q,ne,ue,G,te,ee,le,re;return Ve().wrap(function(Pe){for(;;)switch(Pe.prev=Pe.next){case 0:q=n||{},ne=q.pageInfo,ue=ne||{},G=ue.defaultCurrent,te=G===void 0?1:G,ee=ue.defaultPageSize,le=ee===void 0?20:ee,re={current:te,total:0,pageSize:le},O(re);case 4:case"end":return Pe.stop()}},ae)}));function U(){return Z.apply(this,arguments)}return U}(),setPageInfo:function(){var Z=xt(Ve().mark(function ae(q){return Ve().wrap(function(ue){for(;;)switch(ue.prev=ue.next){case 0:O(p(p({},R),q));case 1:case"end":return ue.stop()}},ae)}));function U(ae){return Z.apply(this,arguments)}return U}()}};const II=DI;var _I=function(t){return function(r,n){var a,o,s=r.fixed,l=r.index,u=n.fixed,c=n.index;if(s==="left"&&u!=="left"||u==="right"&&s!=="right")return-2;if(u==="left"&&s!=="left"||s==="right"&&u!=="right")return 2;var d=r.key||"".concat(l),f=n.key||"".concat(c);if(!((a=t[d])===null||a===void 0)&&a.order||!((o=t[f])===null||o===void 0)&&o.order){var v,m;return(((v=t[d])===null||v===void 0?void 0:v.order)||0)-(((m=t[f])===null||m===void 0?void 0:m.order)||0)}return(r.index||0)-(n.index||0)}},LI=["children"],AI=["",null,void 0],jf=function(){for(var t=arguments.length,r=new Array(t),n=0;nU.length?(U.push(V),U):(U.splice((s==null?void 0:s.current)*(s==null?void 0:s.pageSize)-1,0,V),U)}return[].concat(Ke(n.dataSource),[V])},k=function(){return p(p({},T),{},{size:u,rowSelection:l===!1?void 0:l,className:r,style:c,columns:R.map(function(K){return K.isExtraColumns?K.extraColumn:K}),loading:n.loading,dataSource:P.newLineRecord?O(n.dataSource):n.dataSource,pagination:s,onChange:function(z,j,V,X){var H;if((H=T.onChange)===null||H===void 0||H.call(T,z,j,V,X),D||y(Jt(j)),Array.isArray(V)){var Z=V.reduce(function(ne,ue){return p(p({},ne),{},B({},"".concat(ue.field),ue.order))},{});g(Jt(Z))}else{var U,ae=(U=V.column)===null||U===void 0?void 0:U.sorter,q=(ae==null?void 0:ae.toString())===ae;g(Jt(B({},"".concat(q?ae:V.field),V.order))||{})}}})},M=S.jsx(Sa,p(p({},k()),{},{rowKey:t})),F=e.tableViewRender?e.tableViewRender(p(p({},k()),{},{rowSelection:l!==!1?l:void 0}),M):M,N=i.useMemo(function(){if(e.editable&&!e.name){var _,K,z,j;return S.jsxs(S.Fragment,{children:[d,h,i.createElement(jn,p(p({},(_=e.editable)===null||_===void 0?void 0:_.formProps),{},{formRef:(K=e.editable)===null||K===void 0||(z=K.formProps)===null||z===void 0?void 0:z.formRef,component:!1,form:(j=e.editable)===null||j===void 0?void 0:j.form,onValuesChange:P.onValuesChange,key:"table",submitter:!1,omitNil:!1,dateFormatter:e.dateFormatter}),F)]})}return S.jsxs(S.Fragment,{children:[d,h,F]})},[h,e.loading,!!e.editable,F,d]),I=m===!1||e.name?N:S.jsx(oO,p(p({ghost:e.ghost,bordered:Sp("table",E),bodyStyle:d?{paddingTop:0}:{padding:0}},m),{},{children:N})),L=function(){return e.tableRender?e.tableRender(e,I,{toolbar:d||void 0,alert:h||void 0,table:F||void 0}):I},A=S.jsxs("div",{className:ve(x,B({},"".concat(x,"-polling"),n.pollingLoading)),style:v,ref:$.rootDomRef,children:[C?null:f,o!=="form"&&e.tableExtraRender&&S.jsx("div",{className:"".concat(x,"-extra"),children:e.tableExtraRender(e,n.dataSource||[])}),o!=="form"&&L()]});return!b||!(b!=null&&b.fullScreen)?A:S.jsx(yt,{getPopupContainer:function(){return $.rootDomRef.current||document.body},children:A})}var YI={},GI=function(t){var r;t.cardBordered;var n=t.request,a=t.className,o=t.params,s=o===void 0?YI:o,l=t.defaultData,u=t.headerTitle,c=t.postData,d=t.ghost,f=t.pagination,v=t.actionRef,m=t.columns,h=m===void 0?[]:m,g=t.toolBarRender,y=t.onLoad,b=t.onRequestError;t.style,t.cardProps,t.tableStyle,t.tableClassName,t.columnsStateMap,t.onColumnsStateChange;var C=t.options,x=t.search,E=t.name,P=t.onLoadingChange,w=t.rowSelection,T=w===void 0?!1:w,$=t.beforeSearchSubmit,R=t.tableAlertRender,D=t.defaultClassName,O=t.formRef,k=t.type,M=k===void 0?"table":k,F=t.columnEmptyText,N=F===void 0?"-":F,I=t.toolbar,L=t.rowKey,A=t.manualRequest,_=t.polling,K=t.tooltip,z=t.revalidateOnFocus,j=z===void 0?!1:z,V=ze(t,WI),X=ve(D,a),H=i.useRef(),Z=i.useRef(),U=O||Z;i.useImperativeHandle(v,function(){return H.current});var ae=cn(T?(T==null?void 0:T.defaultSelectedRowKeys)||[]:void 0,{value:T?T.selectedRowKeys:void 0}),q=Y(ae,2),ne=q[0],ue=q[1],G=i.useRef([]),te=i.useCallback(function(ye,de){ue(ye),(!T||!(T!=null&&T.selectedRowKeys))&&(G.current=de)},[ue]),ee=cn(function(){if(!(A||x!==!1))return{}}),le=Y(ee,2),re=le[0],ge=le[1],Pe=cn({}),me=Y(Pe,2),ce=me[0],fe=me[1],ie=cn({}),se=Y(ie,2),he=se[0],Ce=se[1];i.useEffect(function(){var ye=zD(h),de=ye.sort,be=ye.filter;fe(be),Ce(de)},[]);var ke=Tt(),Te=Ye(f)==="object"?f:{defaultCurrent:1,defaultPageSize:20,pageSize:20,current:1},Se=Or.useContainer(),Re=i.useMemo(function(){if(n)return function(){var ye=xt(Ve().mark(function de(be){var Ne,Ue;return Ve().wrap(function($e){for(;;)switch($e.prev=$e.next){case 0:return Ne=p(p(p({},be||{}),re),s),delete Ne._timestamp,$e.next=4,n(Ne,he,ce);case 4:return Ue=$e.sent,$e.abrupt("return",Ue);case 6:case"end":return $e.stop()}},de)}));return function(de){return ye.apply(this,arguments)}}()},[re,s,ce,he,n]),Ee=II(Re,l,{pageInfo:f===!1?!1:Te,loading:t.loading,dataSource:t.dataSource,onDataSourceChange:t.onDataSourceChange,onLoad:y,onLoadingChange:P,onRequestError:b,postData:c,revalidateOnFocus:j,manual:re===void 0,polling:_,effects:[ma(s),ma(re),ma(ce),ma(he)],debounceTime:t.debounceTime,onPageInfoChange:function(de){var be,Ne;M==="list"||!f||!Re||(f==null||(be=f.onChange)===null||be===void 0||be.call(f,de.current,de.pageSize),f==null||(Ne=f.onShowSizeChange)===null||Ne===void 0||Ne.call(f,de.current,de.pageSize))}});i.useEffect(function(){var ye;if(!(t.manualRequest||!t.request||!j||!((ye=t.form)===null||ye===void 0)&&ye.ignoreRules)){var de=function(){document.visibilityState==="visible"&&Ee.reload()};return document.addEventListener("visibilitychange",de),function(){return document.removeEventListener("visibilitychange",de)}}},[]);var Qe=Q.useRef(new Map),et=Q.useMemo(function(){return typeof L=="function"?L:function(ye,de){var be;return de===-1?ye==null?void 0:ye[L]:t.name?de==null?void 0:de.toString():(be=ye==null?void 0:ye[L])!==null&&be!==void 0?be:de==null?void 0:de.toString()}},[t.name,L]);i.useMemo(function(){var ye;if(!((ye=Ee.dataSource)===null||ye===void 0)&&ye.length){var de=new Map,be=Ee.dataSource.map(function(Ne){var Ue=et(Ne,-1);return de.set(Ue,Ne),Ue});return Qe.current=de,be}return[]},[Ee.dataSource,et]),i.useEffect(function(){G.current=ne==null?void 0:ne.map(function(ye){var de;return(de=Qe.current)===null||de===void 0?void 0:de.get(ye)})},[ne]);var vt=i.useMemo(function(){var ye=f===!1?!1:p({},f),de=p(p({},Ee.pageInfo),{},{setPageInfo:function(Ne){var Ue=Ne.pageSize,lt=Ne.current,$e=Ee.pageInfo;if(Ue===$e.pageSize||$e.current===1){Ee.setPageInfo({pageSize:Ue,current:lt});return}n&&Ee.setDataSource([]),Ee.setPageInfo({pageSize:Ue,current:M==="list"?lt:1})}});return n&&ye&&(delete ye.onChange,delete ye.onShowSizeChange),LD(ye,de,ke)},[f,Ee,ke]);ji(function(){var ye;t.request&&s&&Ee.dataSource&&(Ee==null||(ye=Ee.pageInfo)===null||ye===void 0?void 0:ye.current)!==1&&Ee.setPageInfo({current:1})},[s]),Se.setPrefixName(t.name);var ct=i.useCallback(function(){T&&T.onChange&&T.onChange([],[],{type:"none"}),te([],[])},[T,te]);Se.setAction(H.current),Se.propsRef.current=t;var ht=ZE(p(p({},t.editable),{},{tableName:t.name,getRowKey:et,childrenColumnName:((r=t.expandable)===null||r===void 0?void 0:r.childrenColumnName)||"children",dataSource:Ee.dataSource||[],setDataSource:function(de){var be,Ne;(be=t.editable)===null||be===void 0||(Ne=be.onValuesChange)===null||Ne===void 0||Ne.call(be,void 0,de),Ee.setDataSource(de)}}));AD(H,Ee,{fullScreen:function(){var de;if(!(!(!((de=Se.rootDomRef)===null||de===void 0)&&de.current)||!document.fullscreenEnabled))if(document.fullscreenElement)document.exitFullscreen();else{var be;(be=Se.rootDomRef)===null||be===void 0||be.current.requestFullscreen()}},onCleanSelected:function(){ct()},resetAll:function(){var de;ct(),fe({}),Ce({}),Se.setKeyWords(void 0),Ee.setPageInfo({current:1}),U==null||(de=U.current)===null||de===void 0||de.resetFields(),ge({})},editableUtils:ht}),v&&(v.current=H.current);var Ge=i.useMemo(function(){var ye;return Pp({columns:h,counter:Se,columnEmptyText:N,type:M,editableUtils:ht,rowKey:L,childrenColumnName:(ye=t.expandable)===null||ye===void 0?void 0:ye.childrenColumnName}).sort(_I(Se.columnsMap))},[h,Se==null?void 0:Se.sortKeyColumns,Se==null?void 0:Se.columnsMap,N,M,ht.editableKeys&&ht.editableKeys.join(",")]);Mh(function(){if(Ge&&Ge.length>0){var ye=Ge.map(function(de){return Ha(de.key,de.index)});Se.setSortKeyColumns(ye)}},[Ge],["render","renderFormItem"],100),ji(function(){var ye=Ee.pageInfo,de=f||{},be=de.current,Ne=be===void 0?ye==null?void 0:ye.current:be,Ue=de.pageSize,lt=Ue===void 0?ye==null?void 0:ye.pageSize:Ue;f&&(Ne||lt)&&(lt!==(ye==null?void 0:ye.pageSize)||Ne!==(ye==null?void 0:ye.current))&&Ee.setPageInfo({pageSize:lt||ye.pageSize,current:Ne||ye.current})},[f&&f.pageSize,f&&f.current]);var _e=p(p({selectedRowKeys:ne},T),{},{onChange:function(de,be,Ne){T&&T.onChange&&T.onChange(de,be,Ne),te(de,be)}}),mt=x!==!1&&(x==null?void 0:x.filterType)==="light",tt=function(de){if(C&&C.search){var be,Ne,Ue=C.search===!0?{}:C.search,lt=Ue.name,$e=lt===void 0?"keyword":lt,xe=(be=C.search)===null||be===void 0||(Ne=be.onSearch)===null||Ne===void 0?void 0:Ne.call(be,Se.keyWords);if(xe!==!1){ge(p(p({},de),{},B({},$e,Se.keyWords)));return}}ge(de)},we=i.useMemo(function(){if(Ye(Ee.loading)==="object"){var ye;return((ye=Ee.loading)===null||ye===void 0?void 0:ye.spinning)||!1}return Ee.loading},[Ee.loading]),He=x===!1&&M!=="form"?null:S.jsx(XD,{pagination:vt,beforeSearchSubmit:$,action:H,columns:h,onFormSearchSubmit:function(de){tt(de)},ghost:d,onReset:t.onReset,onSubmit:t.onSubmit,loading:!!we,manualRequest:A,search:x,form:t.form,formRef:U,type:t.type||"table",cardBordered:t.cardBordered,dateFormatter:t.dateFormatter}),Me=g===!1?null:S.jsx(FI,{headerTitle:u,hideToolbar:C===!1&&!u&&!g&&!I&&!mt,selectedRows:G.current,selectedRowKeys:ne,tableColumn:Ge,tooltip:K,toolbar:I,onFormSearchSubmit:function(de){ge(p(p({},re),de))},searchNode:mt?He:null,options:C,actionRef:H,toolBarRender:g}),Le=T!==!1?S.jsx(_D,{selectedRowKeys:ne,selectedRows:G.current,onCleanSelected:ct,alertOptionRender:V.tableAlertOptionRender,alertInfoRender:R,alwaysShowAlert:T==null?void 0:T.alwaysShowAlert}):null;return S.jsx(UI,p(p({},t),{},{name:E,size:Se.tableSize,onSizeChange:Se.setTableSize,pagination:vt,searchNode:He,rowSelection:T!==!1?_e:void 0,className:X,tableColumn:Ge,isLightFilter:mt,action:Ee,alertDom:Le,toolbarDom:Me,onSortChange:Ce,onFilterChange:fe,editableUtils:ht,getRowKey:et}))},Rp=function(t){var r=i.useContext(yt.ConfigContext),n=r.getPrefixCls,a=t.ErrorBoundary===!1?Q.Fragment:t.ErrorBoundary||aE;return S.jsx(Or.Provider,{initialState:t,children:S.jsx(Lu,{children:S.jsx(a,{children:S.jsx(GI,p({defaultClassName:n("pro-table")},t))})})})};Rp.Summary=Sa.Summary;const t_=Rp;export{bv as D,i2 as I,XO as M,t_ as P,J1 as V,hy as g,gy as s}; diff --git a/dist/assets/Tags-cff5042a.js b/dist/assets/Tags-cff5042a.js new file mode 100644 index 0000000000000000000000000000000000000000..22451ef65f0dd2509171ce21b8c3f8f6e995e2a5 --- /dev/null +++ b/dist/assets/Tags-cff5042a.js @@ -0,0 +1 @@ +import{A as L,g as E,V as b,a as J,W as G,X as H,o as X,c as q,f as K,r as T}from"./_setToString-b6377390.js";import{r as s,_ as U,j as l}from"./umi-5db3d28e.js";import{t as W,B as w}from"./button-4b0c0e6b.js";import{S as z,T as R,D as F,a as Q}from"./useDebounce-66fbf1ca.js";import{i as V,n as _,E as Y}from"./index-bd0091fe.js";var Z={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M696 480H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"plus-circle",theme:"outlined"};const ee=Z;var te=function(n,r){return s.createElement(L,E(E({},n),{},{ref:r,icon:ee}))},se=s.forwardRef(te);const xe=se;var ae={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M938 458.8l-29.6-312.6c-1.5-16.2-14.4-29-30.6-30.6L565.2 86h-.4c-3.2 0-5.7 1-7.6 2.9L88.9 557.2a9.96 9.96 0 000 14.1l363.8 363.8c1.9 1.9 4.4 2.9 7.1 2.9s5.2-1 7.1-2.9l468.3-468.3c2-2.1 3-5 2.8-8zM459.7 834.7L189.3 564.3 589 164.6 836 188l23.4 247-399.7 399.7zM680 256c-48.5 0-88 39.5-88 88s39.5 88 88 88 88-39.5 88-88-39.5-88-88-88zm0 120c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"}}]},name:"tag",theme:"outlined"};const re=ae;var ne=function(n,r){return s.createElement(L,E(E({},n),{},{ref:r,icon:re}))},ie=s.forwardRef(ne);const ce=ie;var N=z.Option;function I(a){return a&&a.type&&(a.type.isSelectOption||a.type.isSelectOptGroup)}var le=function(n,r){var C=n.prefixCls,g=n.className,x=n.popupClassName,p=n.dropdownClassName,o=n.children,O=n.dataSource,u=W(o),i;if(u.length===1&&b(u[0])&&!I(u[0])){var f=J(u,1);i=f[0]}var c=i?function(){return i}:void 0,v;return u.length&&I(u[0])?v=o:v=O?O.map(function(d){if(b(d))return d;switch(G(d)){case"string":return s.createElement(N,{key:d,value:d},d);case"object":{var S=d.value;return s.createElement(N,{key:S,value:S},d.text)}default:return}}):[],s.createElement(H,null,function(d){var S=d.getPrefixCls,y=S("select",C);return s.createElement(z,U({ref:r},X(n,["dataSource"]),{prefixCls:y,popupClassName:x||p,className:q("".concat(y,"-auto-complete"),g),mode:z.SECRET_COMBOBOX_MODE_DO_NOT_USE},{getInputElement:c}),v)})},$=s.forwardRef(le);$.Option=N;const oe=$;var ue=function(a,n,r){if(!V)return[n,_,_];if(!a)throw new Error("useLocalStorage key may not be falsy");var C=r?r.raw?function(i){return i}:r.deserializer:JSON.parse,g=s.useRef(function(i){try{var f=r?r.raw?String:r.serializer:JSON.stringify,c=localStorage.getItem(i);return c!==null?C(c):(n&&localStorage.setItem(i,f(n)),n)}catch{return n}}),x=s.useState(function(){return g.current(a)}),p=x[0],o=x[1];s.useLayoutEffect(function(){return o(g.current(a))},[a]);var O=s.useCallback(function(i){try{var f=typeof i=="function"?i(p):i;if(typeof f>"u")return;var c=void 0;r?r.raw?typeof f=="string"?c=f:c=JSON.stringify(f):r.serializer?c=r.serializer(f):c=JSON.stringify(f):c=JSON.stringify(f),localStorage.setItem(a,c),o(C(c))}catch{}},[a,o]),u=s.useCallback(function(){try{localStorage.removeItem(a),o(void 0)}catch{}},[a,o]);return[p,O,u]};const fe=ue,de=({id:a,tagList:n,onChange:r,preview:C})=>{const[g,x]=s.useState(""),p=s.useRef(null),[o,O]=fe("TAG_PRIORITIES",{}),[u,i]=s.useState(!1),[f,c]=s.useState(null),[v,d]=s.useState(!1),[S,y]=K(async()=>T.get("/api/tags"),[]);s.useLayoutEffect(()=>{var e;u&&((e=p.current)==null||e.focus())},[u]);const h=f||n,A=s.useMemo(()=>{var e;return((e=S.value)==null?void 0:e.filter(t=>!h.some(m=>m.id===t.id)).sort((t,m)=>(o[m.id]||0)-(o[t.id]||0)).filter(t=>t.name.indexOf(g)>-1).map(t=>({value:t.name})))??[]},[h,S.value,o,g]),P=async e=>{const t=await T.post("/api/tags",{data:{name:e}});return{name:e,id:t.id}},B=async(e,t)=>{O({...o,[t]:Date.now()});const m=await T.post(`/api/musicSets/${e}/tags/${t}`);return!!(m!=null&&m.success)},M=async(e,t)=>{const m=await T.delete(`/api/musicSets/${e}/tags/${t}`);return!!(m!=null&&m.success)},D=async()=>{if(!g){i(!1);return}const e=await P(g);if(a&&await B(a,e.id),g&&!h.some(t=>t.id===e.id)){const t=[...h,e];c(t),r&&r(t)}i(!1),x("")},k=async e=>{a&&await M(a,e.id);const t=h.filter(m=>m.id!==e.id);c(t),r&&r(t)},j=s.useCallback(async()=>{await y(),d(!v)},[]);return l.jsxs(l.Fragment,{children:[C?l.jsx("div",{onClick:j,children:h.length?h.map(e=>l.jsx(R,{style:{display:"inline-block",fontSize:"12px",marginRight:"5px",marginBottom:"5px"},children:e.name},e.id)):l.jsx(w,{type:"dashed",icon:l.jsx(Y,{}),size:"small"})}):l.jsx(w,{title:"标į­ū",icon:l.jsx(ce,{}),onClick:j}),l.jsx(F,{title:"标į­ūįŪĄį†",placement:"right",onClose:()=>d(!1),open:v,mask:!0,style:{marginTop:"64px",height:"calc(100vh - 64px)"},children:l.jsxs("div",{className:"score-tags",children:[l.jsx("div",{className:"list",children:h.map(e=>l.jsx(R,{closable:!0,onClose:()=>k(e),style:{display:"inline-block",marginRight:"5px",marginBottom:"5px"},children:e.name},e.id))}),u&&l.jsx(oe,{ref:p,size:"small",backfill:!0,options:A,style:{width:100},onChange:e=>{x(e)},placeholder:"čū“å…Ĩ",onBlur:()=>D(),onSelect:()=>{setTimeout(()=>{var e;(e=p.current)==null||e.blur()},0)},onKeyDown:e=>{e.key==="Enter"&&p.current.blur()}}),!u&&l.jsx(w,{className:"site-tag-plus",size:"small",onClick:()=>i(!0),children:l.jsx(Q,{})})]})})]})},Se=de;export{oe as A,xe as P,Se as S,ce as T,fe as u}; diff --git a/dist/assets/_setToString-b6377390.js b/dist/assets/_setToString-b6377390.js new file mode 100644 index 0000000000000000000000000000000000000000..8bac2c1a931c6f6d169091aae69f6c5acde20b61 --- /dev/null +++ b/dist/assets/_setToString-b6377390.js @@ -0,0 +1,94 @@ +import{r as w,D as fc,E as lc,g as St,c as he,R as xn,e as _n,_ as A,F as dc,i as pc}from"./umi-5db3d28e.js";function Mw(){const e=w.useContext(fc);return lc(e),e}var vc=w.createContext({});const sa=vc;function z(e){"@babel/helpers - typeof";return z=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},z(e)}function hc(e,t){if(z(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(z(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Ei(e){var t=hc(e,"string");return z(t)=="symbol"?t:t+""}function k(e,t,r){return(t=Ei(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Qa(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function E(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r1)&&(e=1),e}function Nt(e){return e<=1?"".concat(Number(e)*100,"%"):e}function ue(e){return e.length===1?"0"+e:String(e)}function Sc(e,t,r){return{r:W(e,255)*255,g:W(t,255)*255,b:W(r,255)*255}}function Za(e,t,r){e=W(e,255),t=W(t,255),r=W(r,255);var n=Math.max(e,t,r),a=Math.min(e,t,r),o=0,i=0,u=(n+a)/2;if(n===a)i=0,o=0;else{var c=n-a;switch(i=u>.5?c/(2-n-a):c/(n+a),n){case e:o=(t-r)/c+(t1&&(r-=1),r<1/6?e+(t-e)*(6*r):r<1/2?t:r<2/3?e+(t-e)*(2/3-r)*6:e}function Cc(e,t,r){var n,a,o;if(e=W(e,360),t=W(t,100),r=W(r,100),t===0)a=r,o=r,n=r;else{var i=r<.5?r*(1+t):r+t-r*t,u=2*r-i;n=zr(u,i,e+1/3),a=zr(u,i,e),o=zr(u,i,e-1/3)}return{r:n*255,g:a*255,b:o*255}}function On(e,t,r){e=W(e,255),t=W(t,255),r=W(r,255);var n=Math.max(e,t,r),a=Math.min(e,t,r),o=0,i=n,u=n-a,c=n===0?0:u/n;if(n===a)o=0;else{switch(n){case e:o=(t-r)/u+(t>16,g:(e&65280)>>8,b:e&255}}var $n={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function ke(e){var t={r:0,g:0,b:0},r=1,n=null,a=null,o=null,i=!1,u=!1;return typeof e=="string"&&(e=$c(e)),typeof e=="object"&&(we(e.r)&&we(e.g)&&we(e.b)?(t=Sc(e.r,e.g,e.b),i=!0,u=String(e.r).substr(-1)==="%"?"prgb":"rgb"):we(e.h)&&we(e.s)&&we(e.v)?(n=Nt(e.s),a=Nt(e.v),t=xc(e.h,n,a),i=!0,u="hsv"):we(e.h)&&we(e.s)&&we(e.l)&&(n=Nt(e.s),o=Nt(e.l),t=Cc(e.h,n,o),i=!0,u="hsl"),Object.prototype.hasOwnProperty.call(e,"a")&&(r=e.a)),r=Ai(r),{ok:i,format:e.format||u,r:Math.min(255,Math.max(t.r,0)),g:Math.min(255,Math.max(t.g,0)),b:Math.min(255,Math.max(t.b,0)),a:r}}var Oc="[-\\+]?\\d+%?",Pc="[-\\+]?\\d*\\.\\d+%?",_e="(?:".concat(Pc,")|(?:").concat(Oc,")"),Gr="[\\s|\\(]+(".concat(_e,")[,|\\s]+(").concat(_e,")[,|\\s]+(").concat(_e,")\\s*\\)?"),Wr="[\\s|\\(]+(".concat(_e,")[,|\\s]+(").concat(_e,")[,|\\s]+(").concat(_e,")[,|\\s]+(").concat(_e,")\\s*\\)?"),oe={CSS_UNIT:new RegExp(_e),rgb:new RegExp("rgb"+Gr),rgba:new RegExp("rgba"+Wr),hsl:new RegExp("hsl"+Gr),hsla:new RegExp("hsla"+Wr),hsv:new RegExp("hsv"+Gr),hsva:new RegExp("hsva"+Wr),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function $c(e){if(e=e.trim().toLowerCase(),e.length===0)return!1;var t=!1;if($n[e])e=$n[e],t=!0;else if(e==="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var r=oe.rgb.exec(e);return r?{r:r[1],g:r[2],b:r[3]}:(r=oe.rgba.exec(e),r?{r:r[1],g:r[2],b:r[3],a:r[4]}:(r=oe.hsl.exec(e),r?{h:r[1],s:r[2],l:r[3]}:(r=oe.hsla.exec(e),r?{h:r[1],s:r[2],l:r[3],a:r[4]}:(r=oe.hsv.exec(e),r?{h:r[1],s:r[2],v:r[3]}:(r=oe.hsva.exec(e),r?{h:r[1],s:r[2],v:r[3],a:r[4]}:(r=oe.hex8.exec(e),r?{r:re(r[1]),g:re(r[2]),b:re(r[3]),a:Xa(r[4]),format:t?"name":"hex8"}:(r=oe.hex6.exec(e),r?{r:re(r[1]),g:re(r[2]),b:re(r[3]),format:t?"name":"hex"}:(r=oe.hex4.exec(e),r?{r:re(r[1]+r[1]),g:re(r[2]+r[2]),b:re(r[3]+r[3]),a:Xa(r[4]+r[4]),format:t?"name":"hex8"}:(r=oe.hex3.exec(e),r?{r:re(r[1]+r[1]),g:re(r[2]+r[2]),b:re(r[3]+r[3]),format:t?"name":"hex"}:!1)))))))))}function we(e){return!!oe.CSS_UNIT.exec(String(e))}var Ht=function(){function e(t,r){t===void 0&&(t=""),r===void 0&&(r={});var n;if(t instanceof e)return t;typeof t=="number"&&(t=Ec(t)),this.originalInput=t;var a=ke(t);this.originalInput=t,this.r=a.r,this.g=a.g,this.b=a.b,this.a=a.a,this.roundA=Math.round(100*this.a)/100,this.format=(n=r.format)!==null&&n!==void 0?n:a.format,this.gradientType=r.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=a.ok}return e.prototype.isDark=function(){return this.getBrightness()<128},e.prototype.isLight=function(){return!this.isDark()},e.prototype.getBrightness=function(){var t=this.toRgb();return(t.r*299+t.g*587+t.b*114)/1e3},e.prototype.getLuminance=function(){var t=this.toRgb(),r,n,a,o=t.r/255,i=t.g/255,u=t.b/255;return o<=.03928?r=o/12.92:r=Math.pow((o+.055)/1.055,2.4),i<=.03928?n=i/12.92:n=Math.pow((i+.055)/1.055,2.4),u<=.03928?a=u/12.92:a=Math.pow((u+.055)/1.055,2.4),.2126*r+.7152*n+.0722*a},e.prototype.getAlpha=function(){return this.a},e.prototype.setAlpha=function(t){return this.a=Ai(t),this.roundA=Math.round(100*this.a)/100,this},e.prototype.isMonochrome=function(){var t=this.toHsl().s;return t===0},e.prototype.toHsv=function(){var t=On(this.r,this.g,this.b);return{h:t.h*360,s:t.s,v:t.v,a:this.a}},e.prototype.toHsvString=function(){var t=On(this.r,this.g,this.b),r=Math.round(t.h*360),n=Math.round(t.s*100),a=Math.round(t.v*100);return this.a===1?"hsv(".concat(r,", ").concat(n,"%, ").concat(a,"%)"):"hsva(".concat(r,", ").concat(n,"%, ").concat(a,"%, ").concat(this.roundA,")")},e.prototype.toHsl=function(){var t=Za(this.r,this.g,this.b);return{h:t.h*360,s:t.s,l:t.l,a:this.a}},e.prototype.toHslString=function(){var t=Za(this.r,this.g,this.b),r=Math.round(t.h*360),n=Math.round(t.s*100),a=Math.round(t.l*100);return this.a===1?"hsl(".concat(r,", ").concat(n,"%, ").concat(a,"%)"):"hsla(".concat(r,", ").concat(n,"%, ").concat(a,"%, ").concat(this.roundA,")")},e.prototype.toHex=function(t){return t===void 0&&(t=!1),Pn(this.r,this.g,this.b,t)},e.prototype.toHexString=function(t){return t===void 0&&(t=!1),"#"+this.toHex(t)},e.prototype.toHex8=function(t){return t===void 0&&(t=!1),_c(this.r,this.g,this.b,this.a,t)},e.prototype.toHex8String=function(t){return t===void 0&&(t=!1),"#"+this.toHex8(t)},e.prototype.toHexShortString=function(t){return t===void 0&&(t=!1),this.a===1?this.toHexString(t):this.toHex8String(t)},e.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},e.prototype.toRgbString=function(){var t=Math.round(this.r),r=Math.round(this.g),n=Math.round(this.b);return this.a===1?"rgb(".concat(t,", ").concat(r,", ").concat(n,")"):"rgba(".concat(t,", ").concat(r,", ").concat(n,", ").concat(this.roundA,")")},e.prototype.toPercentageRgb=function(){var t=function(r){return"".concat(Math.round(W(r,255)*100),"%")};return{r:t(this.r),g:t(this.g),b:t(this.b),a:this.a}},e.prototype.toPercentageRgbString=function(){var t=function(r){return Math.round(W(r,255)*100)};return this.a===1?"rgb(".concat(t(this.r),"%, ").concat(t(this.g),"%, ").concat(t(this.b),"%)"):"rgba(".concat(t(this.r),"%, ").concat(t(this.g),"%, ").concat(t(this.b),"%, ").concat(this.roundA,")")},e.prototype.toName=function(){if(this.a===0)return"transparent";if(this.a<1)return!1;for(var t="#"+Pn(this.r,this.g,this.b,!1),r=0,n=Object.entries($n);r=0,o=!r&&a&&(t.startsWith("hex")||t==="name");return o?t==="name"&&this.a===0?this.toName():this.toRgbString():(t==="rgb"&&(n=this.toRgbString()),t==="prgb"&&(n=this.toPercentageRgbString()),(t==="hex"||t==="hex6")&&(n=this.toHexString()),t==="hex3"&&(n=this.toHexString(!0)),t==="hex4"&&(n=this.toHex8String(!0)),t==="hex8"&&(n=this.toHex8String()),t==="name"&&(n=this.toName()),t==="hsl"&&(n=this.toHslString()),t==="hsv"&&(n=this.toHsvString()),n||this.toHexString())},e.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},e.prototype.clone=function(){return new e(this.toString())},e.prototype.lighten=function(t){t===void 0&&(t=10);var r=this.toHsl();return r.l+=t/100,r.l=It(r.l),new e(r)},e.prototype.brighten=function(t){t===void 0&&(t=10);var r=this.toRgb();return r.r=Math.max(0,Math.min(255,r.r-Math.round(255*-(t/100)))),r.g=Math.max(0,Math.min(255,r.g-Math.round(255*-(t/100)))),r.b=Math.max(0,Math.min(255,r.b-Math.round(255*-(t/100)))),new e(r)},e.prototype.darken=function(t){t===void 0&&(t=10);var r=this.toHsl();return r.l-=t/100,r.l=It(r.l),new e(r)},e.prototype.tint=function(t){return t===void 0&&(t=10),this.mix("white",t)},e.prototype.shade=function(t){return t===void 0&&(t=10),this.mix("black",t)},e.prototype.desaturate=function(t){t===void 0&&(t=10);var r=this.toHsl();return r.s-=t/100,r.s=It(r.s),new e(r)},e.prototype.saturate=function(t){t===void 0&&(t=10);var r=this.toHsl();return r.s+=t/100,r.s=It(r.s),new e(r)},e.prototype.greyscale=function(){return this.desaturate(100)},e.prototype.spin=function(t){var r=this.toHsl(),n=(r.h+t)%360;return r.h=n<0?360+n:n,new e(r)},e.prototype.mix=function(t,r){r===void 0&&(r=50);var n=this.toRgb(),a=new e(t).toRgb(),o=r/100,i={r:(a.r-n.r)*o+n.r,g:(a.g-n.g)*o+n.g,b:(a.b-n.b)*o+n.b,a:(a.a-n.a)*o+n.a};return new e(i)},e.prototype.analogous=function(t,r){t===void 0&&(t=6),r===void 0&&(r=30);var n=this.toHsl(),a=360/r,o=[this];for(n.h=(n.h-(a*t>>1)+720)%360;--t;)n.h=(n.h+a)%360,o.push(new e(n));return o},e.prototype.complement=function(){var t=this.toHsl();return t.h=(t.h+180)%360,new e(t)},e.prototype.monochromatic=function(t){t===void 0&&(t=6);for(var r=this.toHsv(),n=r.h,a=r.s,o=r.v,i=[],u=1/t;t--;)i.push(new e({h:n,s:a,v:o})),o=(o+u)%1;return i},e.prototype.splitcomplement=function(){var t=this.toHsl(),r=t.h;return[this,new e({h:(r+72)%360,s:t.s,l:t.l}),new e({h:(r+216)%360,s:t.s,l:t.l})]},e.prototype.onBackground=function(t){var r=this.toRgb(),n=new e(t).toRgb(),a=r.a+n.a*(1-r.a);return new e({r:(r.r*r.a+n.r*n.a*(1-r.a))/a,g:(r.g*r.a+n.g*n.a*(1-r.a))/a,b:(r.b*r.a+n.b*n.a*(1-r.a))/a,a})},e.prototype.triad=function(){return this.polyad(3)},e.prototype.tetrad=function(){return this.polyad(4)},e.prototype.polyad=function(t){for(var r=this.toHsl(),n=r.h,a=[this],o=360/t,i=1;i=60&&Math.round(e.h)<=240?n=r?Math.round(e.h)-Ft*t:Math.round(e.h)+Ft*t:n=r?Math.round(e.h)+Ft*t:Math.round(e.h)-Ft*t,n<0?n+=360:n>=360&&(n-=360),n}function no(e,t,r){if(e.h===0&&e.s===0)return e.s;var n;return r?n=e.s-eo*t:t===Mi?n=e.s+eo:n=e.s+Ac*t,n>1&&(n=1),r&&t===Ti&&n>.1&&(n=.1),n<.06&&(n=.06),Number(n.toFixed(2))}function ao(e,t,r){var n;return r?n=e.v+Rc*t:n=e.v-Tc*t,n>1&&(n=1),Number(n.toFixed(2))}function Ve(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=[],n=ke(e),a=Ti;a>0;a-=1){var o=to(n),i=jt(ke({h:ro(o,a,!0),s:no(o,a,!0),v:ao(o,a,!0)}));r.push(i)}r.push(jt(n));for(var u=1;u<=Mi;u+=1){var c=to(n),s=jt(ke({h:ro(c,u),s:no(c,u),v:ao(c,u)}));r.push(s)}return t.theme==="dark"?Mc.map(function(d){var y=d.index,v=d.opacity,b=jt(Ic(ke(t.backgroundColor||"#141414"),ke(r[y]),v*100));return b}):r}var zt={red:"#F5222D",volcano:"#FA541C",orange:"#FA8C16",gold:"#FAAD14",yellow:"#FADB14",lime:"#A0D911",green:"#52C41A",cyan:"#13C2C2",blue:"#1890FF",geekblue:"#2F54EB",purple:"#722ED1",magenta:"#EB2F96",grey:"#666666"},V={},Gt={};Object.keys(zt).forEach(function(e){V[e]=Ve(zt[e]),V[e].primary=V[e][5],Gt[e]=Ve(zt[e],{theme:"dark",backgroundColor:"#141414"}),Gt[e].primary=Gt[e][5]});var Nc=V.red,Fc=V.volcano,jc=V.gold,Lc=V.orange,Dc=V.yellow,kc=V.lime,Uc=V.green,Bc=V.cyan,qc=V.blue,Hc=V.geekblue,zc=V.purple,Gc=V.magenta,Wc=V.grey;const Fw=Object.freeze(Object.defineProperty({__proto__:null,blue:qc,cyan:Bc,geekblue:Hc,generate:Ve,gold:jc,green:Uc,grey:Wc,lime:kc,magenta:Gc,orange:Lc,presetDarkPalettes:Gt,presetPalettes:V,presetPrimaryColors:zt,purple:zc,red:Nc,volcano:Fc,yellow:Dc},Symbol.toStringTag,{value:"Module"}));var An={},Vc=function(t){};function Kc(e,t){}function Yc(e,t){}function Jc(){An={}}function Ii(e,t,r){!t&&!An[r]&&(e(!1,r),An[r]=!0)}function lr(e,t){Ii(Kc,e,t)}function Qc(e,t){Ii(Yc,e,t)}lr.preMessage=Vc;lr.resetWarned=Jc;lr.noteOnce=Qc;function Ct(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}function Zc(e,t){if(!e)return!1;if(e.contains)return e.contains(t);for(var r=t;r;){if(r===e)return!0;r=r.parentNode}return!1}var oo="data-rc-order",io="data-rc-priority",Xc="rc-util-key",Rn=new Map;function Ni(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=e.mark;return t?t.startsWith("data-")?t:"data-".concat(t):Xc}function dr(e){if(e.attachTo)return e.attachTo;var t=document.querySelector("head");return t||document.body}function ef(e){return e==="queue"?"prependQueue":e?"prepend":"append"}function fa(e){return Array.from((Rn.get(e)||e).children).filter(function(t){return t.tagName==="STYLE"})}function Fi(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!Ct())return null;var r=t.csp,n=t.prepend,a=t.priority,o=a===void 0?0:a,i=ef(n),u=i==="prependQueue",c=document.createElement("style");c.setAttribute(oo,i),u&&o&&c.setAttribute(io,"".concat(o)),r!=null&&r.nonce&&(c.nonce=r==null?void 0:r.nonce),c.innerHTML=e;var s=dr(t),d=s.firstChild;if(n){if(u){var y=(t.styles||fa(s)).filter(function(v){if(!["prepend","prependQueue"].includes(v.getAttribute(oo)))return!1;var b=Number(v.getAttribute(io)||0);return o>=b});if(y.length)return s.insertBefore(c,y[y.length-1].nextSibling),c}s.insertBefore(c,d)}else s.appendChild(c);return c}function ji(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=dr(t);return(t.styles||fa(r)).find(function(n){return n.getAttribute(Ni(t))===e})}function jw(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=ji(e,t);if(r){var n=dr(t);n.removeChild(r)}}function tf(e,t){var r=Rn.get(e);if(!r||!Zc(document,r)){var n=Fi("",t),a=n.parentNode;Rn.set(e,a),e.removeChild(n)}}function Li(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=dr(r),a=fa(n),o=E(E({},r),{},{styles:a});tf(n,o);var i=ji(t,o);if(i){var u,c;if((u=o.csp)!==null&&u!==void 0&&u.nonce&&i.nonce!==((c=o.csp)===null||c===void 0?void 0:c.nonce)){var s;i.nonce=(s=o.csp)===null||s===void 0?void 0:s.nonce}return i.innerHTML!==e&&(i.innerHTML=e),i}var d=Fi(e,o);return d.setAttribute(Ni(o),t),d}var rf=typeof he=="object"&&he&&he.Object===Object&&he,nf=rf,af=nf,of=typeof self=="object"&&self&&self.Object===Object&&self,uf=af||of||Function("return this")(),la=uf,sf=la,cf=sf.Symbol,da=cf;function ff(e,t){for(var r=-1,n=e==null?0:e.length,a=Array(n);++ra?0:a+t),r=r>a?a:r,r<0&&(r+=a),a=t>r?0:r-t>>>0,t>>>=0;for(var o=Array(a);++n=n?e:Uf(e,t,r)}var qf=Bf,Hf="\\ud800-\\udfff",zf="\\u0300-\\u036f",Gf="\\ufe20-\\ufe2f",Wf="\\u20d0-\\u20ff",Vf=zf+Gf+Wf,Kf="\\ufe0e\\ufe0f",Yf="\\u200d",Jf=RegExp("["+Yf+Hf+Vf+Kf+"]");function Qf(e){return Jf.test(e)}var Ui=Qf;function Zf(e){return e.split("")}var Xf=Zf,Bi="\\ud800-\\udfff",el="\\u0300-\\u036f",tl="\\ufe20-\\ufe2f",rl="\\u20d0-\\u20ff",nl=el+tl+rl,al="\\ufe0e\\ufe0f",ol="["+Bi+"]",Tn="["+nl+"]",Mn="\\ud83c[\\udffb-\\udfff]",il="(?:"+Tn+"|"+Mn+")",qi="[^"+Bi+"]",Hi="(?:\\ud83c[\\udde6-\\uddff]){2}",zi="[\\ud800-\\udbff][\\udc00-\\udfff]",ul="\\u200d",Gi=il+"?",Wi="["+al+"]?",sl="(?:"+ul+"(?:"+[qi,Hi,zi].join("|")+")"+Wi+Gi+")*",cl=Wi+Gi+sl,fl="(?:"+[qi+Tn+"?",Tn,Hi,zi,ol].join("|")+")",ll=RegExp(Mn+"(?="+Mn+")|"+fl+cl,"g");function dl(e){return e.match(ll)||[]}var pl=dl,vl=Xf,hl=Ui,yl=pl;function ml(e){return hl(e)?yl(e):vl(e)}var gl=ml,bl=qf,wl=Ui,Sl=gl,Cl=xt;function xl(e){return function(t){t=Cl(t);var r=wl(t)?Sl(t):void 0,n=r?r[0]:t.charAt(0),a=r?bl(r,1).join(""):t.slice(1);return n[e]()+a}}var _l=xl,El=_l,Ol=El("toUpperCase"),Pl=Ol,$l=xt,Al=Pl;function Rl(e){return Al($l(e).toLowerCase())}var Tl=Rl;function Ml(e,t,r,n){var a=-1,o=e==null?0:e.length;for(n&&o&&(r=e[++a]);++a0&&arguments[0]!==void 0?arguments[0]:{};return Object.keys(e).reduce(function(t,r){var n=e[r];switch(r){case"class":t.className=n,delete t.class;break;default:delete t[r],t[zd(r)]=n}return t},{})}function In(e,t,r){return r?xn.createElement(e.tag,E(E({key:t},bo(e.attrs)),r),(e.children||[]).map(function(n,a){return In(n,"".concat(t,"-").concat(e.tag,"-").concat(a))})):xn.createElement(e.tag,E({key:t},bo(e.attrs)),(e.children||[]).map(function(n,a){return In(n,"".concat(t,"-").concat(e.tag,"-").concat(a))}))}function iu(e){return Ve(e)[0]}function uu(e){return e?Array.isArray(e)?e:[e]:[]}var Wd=` +.anticon { + display: inline-flex; + alignItems: center; + color: inherit; + font-style: normal; + line-height: 0; + text-align: center; + text-transform: none; + vertical-align: -0.125em; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.anticon > * { + line-height: 1; +} + +.anticon svg { + display: inline-block; +} + +.anticon::before { + display: none; +} + +.anticon .anticon-icon { + display: block; +} + +.anticon[tabindex] { + cursor: pointer; +} + +.anticon-spin::before, +.anticon-spin { + display: inline-block; + -webkit-animation: loadingCircle 1s infinite linear; + animation: loadingCircle 1s infinite linear; +} + +@-webkit-keyframes loadingCircle { + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +@keyframes loadingCircle { + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} +`,Vd=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Wd,r=w.useContext(sa),n=r.csp;w.useEffect(function(){Li(t,"@ant-design-icons",{prepend:!0,csp:n})},[])},Kd=["icon","className","onClick","style","primaryColor","secondaryColor"],ft={primaryColor:"#333",secondaryColor:"#E6E6E6",calculated:!1};function Yd(e){var t=e.primaryColor,r=e.secondaryColor;ft.primaryColor=t,ft.secondaryColor=r||iu(t),ft.calculated=!!r}function Jd(){return E({},ft)}var vr=function(t){var r=t.icon,n=t.className,a=t.onClick,o=t.style,i=t.primaryColor,u=t.secondaryColor,c=We(t,Kd),s=ft;if(i&&(s={primaryColor:i,secondaryColor:u||iu(i)}),Vd(),Gd(go(r),"icon should be icon definiton, but got ".concat(r)),!go(r))return null;var d=r;return d&&typeof d.icon=="function"&&(d=E(E({},d),{},{icon:d.icon(s.primaryColor,s.secondaryColor)})),In(d.icon,"svg-".concat(d.name),E({className:n,onClick:a,style:o,"data-icon":d.name,width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true"},c))};vr.displayName="IconReact";vr.getTwoToneColors=Jd;vr.setTwoToneColors=Yd;const ya=vr;function su(e){var t=uu(e),r=Q(t,2),n=r[0],a=r[1];return ya.setTwoToneColors({primaryColor:n,secondaryColor:a})}function Qd(){var e=ya.getTwoToneColors();return e.calculated?[e.primaryColor,e.secondaryColor]:e.primaryColor}var Zd=["className","icon","spin","rotate","tabIndex","onClick","twoToneColor"];su("#1890ff");var hr=w.forwardRef(function(e,t){var r=e.className,n=e.icon,a=e.spin,o=e.rotate,i=e.tabIndex,u=e.onClick,c=e.twoToneColor,s=We(e,Zd),d=w.useContext(sa),y=d.prefixCls,v=y===void 0?"anticon":y,b=d.rootClassName,S=Ce(b,v,k(k({},"".concat(v,"-").concat(n.name),!!n.name),"".concat(v,"-spin"),!!a||n.name==="loading"),r),x=i;x===void 0&&u&&(x=-1);var C=o?{msTransform:"rotate(".concat(o,"deg)"),transform:"rotate(".concat(o,"deg)")}:void 0,g=uu(c),m=Q(g,2),f=m[0],l=m[1];return w.createElement("span",E(E({role:"img","aria-label":n.name},s),{},{ref:t,tabIndex:x,onClick:u,className:S}),w.createElement(ya,{icon:n,primaryColor:f,secondaryColor:l,style:C}))});hr.displayName="AntdIcon";hr.getTwoToneColor=Qd;hr.setTwoToneColor=su;const ge=hr;var Xd={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm193.5 301.7l-210.6 292a31.8 31.8 0 01-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z"}}]},name:"check-circle",theme:"filled"};const ep=Xd;var tp=function(t,r){return w.createElement(ge,E(E({},t),{},{ref:r,icon:ep}))},rp=w.forwardRef(tp);const np=rp;var ap={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M699 353h-46.9c-10.2 0-19.9 4.9-25.9 13.3L469 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H325c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8a31.8 31.8 0 0051.7 0l210.6-292c3.9-5.3.1-12.7-6.4-12.7z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"check-circle",theme:"outlined"};const op=ap;var ip=function(t,r){return w.createElement(ge,E(E({},t),{},{ref:r,icon:op}))},up=w.forwardRef(ip);const sp=up;var cp={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm127.98 274.82h-.04l-.08.06L512 466.75 384.14 338.88c-.04-.05-.06-.06-.08-.06a.12.12 0 00-.07 0c-.03 0-.05.01-.09.05l-45.02 45.02a.2.2 0 00-.05.09.12.12 0 000 .07v.02a.27.27 0 00.06.06L466.75 512 338.88 639.86c-.05.04-.06.06-.06.08a.12.12 0 000 .07c0 .03.01.05.05.09l45.02 45.02a.2.2 0 00.09.05.12.12 0 00.07 0c.02 0 .04-.01.08-.05L512 557.25l127.86 127.87c.04.04.06.05.08.05a.12.12 0 00.07 0c.03 0 .05-.01.09-.05l45.02-45.02a.2.2 0 00.05-.09.12.12 0 000-.07v-.02a.27.27 0 00-.05-.06L557.25 512l127.87-127.86c.04-.04.05-.06.05-.08a.12.12 0 000-.07c0-.03-.01-.05-.05-.09l-45.02-45.02a.2.2 0 00-.09-.05.12.12 0 00-.07 0z"}}]},name:"close-circle",theme:"filled"};const fp=cp;var lp=function(t,r){return w.createElement(ge,E(E({},t),{},{ref:r,icon:fp}))},dp=w.forwardRef(lp);const pp=dp;var vp={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm0 76c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm128.01 198.83c.03 0 .05.01.09.06l45.02 45.01a.2.2 0 01.05.09.12.12 0 010 .07c0 .02-.01.04-.05.08L557.25 512l127.87 127.86a.27.27 0 01.05.06v.02a.12.12 0 010 .07c0 .03-.01.05-.05.09l-45.02 45.02a.2.2 0 01-.09.05.12.12 0 01-.07 0c-.02 0-.04-.01-.08-.05L512 557.25 384.14 685.12c-.04.04-.06.05-.08.05a.12.12 0 01-.07 0c-.03 0-.05-.01-.09-.05l-45.02-45.02a.2.2 0 01-.05-.09.12.12 0 010-.07c0-.02.01-.04.06-.08L466.75 512 338.88 384.14a.27.27 0 01-.05-.06l-.01-.02a.12.12 0 010-.07c0-.03.01-.05.05-.09l45.02-45.02a.2.2 0 01.09-.05.12.12 0 01.07 0c.02 0 .04.01.08.06L512 466.75l127.86-127.86c.04-.05.06-.06.08-.06a.12.12 0 01.07 0z"}}]},name:"close-circle",theme:"outlined"};const hp=vp;var yp=function(t,r){return w.createElement(ge,E(E({},t),{},{ref:r,icon:hp}))},mp=w.forwardRef(yp);const gp=mp;var bp={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M799.86 166.31c.02 0 .04.02.08.06l57.69 57.7c.04.03.05.05.06.08a.12.12 0 010 .06c0 .03-.02.05-.06.09L569.93 512l287.7 287.7c.04.04.05.06.06.09a.12.12 0 010 .07c0 .02-.02.04-.06.08l-57.7 57.69c-.03.04-.05.05-.07.06a.12.12 0 01-.07 0c-.03 0-.05-.02-.09-.06L512 569.93l-287.7 287.7c-.04.04-.06.05-.09.06a.12.12 0 01-.07 0c-.02 0-.04-.02-.08-.06l-57.69-57.7c-.04-.03-.05-.05-.06-.07a.12.12 0 010-.07c0-.03.02-.05.06-.09L454.07 512l-287.7-287.7c-.04-.04-.05-.06-.06-.09a.12.12 0 010-.07c0-.02.02-.04.06-.08l57.7-57.69c.03-.04.05-.05.07-.06a.12.12 0 01.07 0c.03 0 .05.02.09.06L512 454.07l287.7-287.7c.04-.04.06-.05.09-.06a.12.12 0 01.07 0z"}}]},name:"close",theme:"outlined"};const wp=bp;var Sp=function(t,r){return w.createElement(ge,E(E({},t),{},{ref:r,icon:wp}))},Cp=w.forwardRef(Sp);const xp=Cp;var _p={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"}}]},name:"exclamation-circle",theme:"filled"};const Ep=_p;var Op=function(t,r){return w.createElement(ge,E(E({},t),{},{ref:r,icon:Ep}))},Pp=w.forwardRef(Op);const $p=Pp;var Ap={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M464 688a48 48 0 1096 0 48 48 0 10-96 0zm24-112h48c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8z"}}]},name:"exclamation-circle",theme:"outlined"};const Rp=Ap;var Tp=function(t,r){return w.createElement(ge,E(E({},t),{},{ref:r,icon:Rp}))},Mp=w.forwardRef(Tp);const Ip=Mp;var Np={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"}}]},name:"info-circle",theme:"filled"};const Fp=Np;var jp=function(t,r){return w.createElement(ge,E(E({},t),{},{ref:r,icon:Fp}))},Lp=w.forwardRef(jp);const Dp=Lp;var kp={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M464 336a48 48 0 1096 0 48 48 0 10-96 0zm72 112h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V456c0-4.4-3.6-8-8-8z"}}]},name:"info-circle",theme:"outlined"};const Up=kp;var Bp=function(t,r){return w.createElement(ge,E(E({},t),{},{ref:r,icon:Up}))},qp=w.forwardRef(Bp);const Hp=qp;var zp={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z"}}]},name:"loading",theme:"outlined"};const Gp=zp;var Wp=function(t,r){return w.createElement(ge,E(E({},t),{},{ref:r,icon:Gp}))},Vp=w.forwardRef(Wp);const Kp=Vp;function yr(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function wo(e,t){for(var r=0;r=19)return!0;var a=Vr.isMemo(t)?t.type.type:t.type;return!(typeof a=="function"&&!((r=a.prototype)!==null&&r!==void 0&&r.render)&&a.$$typeof!==Vr.ForwardRef||typeof t=="function"&&!((n=t.prototype)!==null&&n!==void 0&&n.render)&&t.$$typeof!==Vr.ForwardRef)};function vu(e){return w.isValidElement(e)&&!Xp(e)}var uv=function(t){if(t&&vu(t)){var r=t;return r.props.propertyIsEnumerable("ref")?r.props.ref:r.ref}return null};function Ar(e){var t=cu();return function(){var r,n=Xt(e);if(t){var a=Xt(this).constructor;r=Reflect.construct(n,arguments,a)}else r=n.apply(this,arguments);return Yp(this,r)}}function Dw(e,t){var r=Object.assign({},e);return Array.isArray(t)&&t.forEach(function(n){delete r[n]}),r}function sv(e){if(Array.isArray(e))return En(e)}function hu(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function cv(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function er(e){return sv(e)||hu(e)||ca(e)||cv()}function fv(e){return Oi(e)||hu(e)||ca(e)||Pi()}function jn(e,t){for(var r=e,n=0;n3&&arguments[3]!==void 0?arguments[3]:!1;return t.length&&n&&r===void 0&&!jn(e,t.slice(0,-1))?e:yu(e,t,r,n)}function lv(e){return z(e)==="object"&&e!==null&&Object.getPrototypeOf(e)===Object.prototype}function Co(e){return Array.isArray(e)?[]:{}}var dv=typeof Reflect>"u"?Object.keys:Reflect.ownKeys;function pv(){for(var e=arguments.length,t=new Array(e),r=0;r3?(L=be===M)&&(O=U[(_=U[4])?5:(_=3,3)],U[4]=U[5]=e):U[0]<=ne&&((L=j<2&&neM||M>be)&&(U[4]=j,U[5]=M,T.n=be,_=0))}if(L||j>1)return i;throw N=!0,M}return function(j,M,L){if(P>1)throw TypeError("Generator is already running");for(N&&M===1&&R(M,L),_=M,O=L;(t=_<2?e:O)||!N;){p||(_?_<3?(_>1&&(T.n=-1),R(_,O)):T.n=O:T.v=O);try{if(P=2,p){if(_||(j="next"),t=p[j]){if(!(t=t.call(p,O)))throw TypeError("iterator result is not an object");if(!t.done)return t;O=t.value,_<2&&(_=0)}else _===1&&(t=p.return)&&t.call(p),_<2&&(O=TypeError("The iterator does not provide a '"+j+"' method"),_=1);p=e}else if((t=(N=T.n<0)?O:f.call(l,T))!==i)break}catch(U){p=e,_=1,O=U}finally{P=1}}return{value:t,done:N}}}(b,x,C),!0),m}var i={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var d=[][n]?t(t([][n]())):(Y(t={},n,function(){return this}),t),y=s.prototype=u.prototype=Object.create(d);function v(b){return Object.setPrototypeOf?Object.setPrototypeOf(b,s):(b.__proto__=s,Y(b,a,"GeneratorFunction")),b.prototype=Object.create(y),b}return c.prototype=s,Y(y,"constructor",s),Y(s,"constructor",c),c.displayName="GeneratorFunction",Y(s,a,"GeneratorFunction"),Y(y),Y(y,a,"Generator"),Y(y,n,function(){return this}),Y(y,"toString",function(){return"[object Generator]"}),(wa=function(){return{w:o,m:v}})()}function tr(e,t){function r(a,o,i,u){try{var c=e[a](o),s=c.value;return s instanceof gu?t.resolve(s.v).then(function(d){r("next",d,i,u)},function(d){r("throw",d,i,u)}):t.resolve(s).then(function(d){c.value=d,i(c)},function(d){return r("throw",d,i,u)})}catch(d){u(d)}}var n;this.next||(Y(tr.prototype),Y(tr.prototype,typeof Symbol=="function"&&Symbol.asyncIterator||"@asyncIterator",function(){return this})),Y(this,"_invoke",function(a,o,i){function u(){return new t(function(c,s){r(a,i,c,s)})}return n=n?n.then(u,u):u()},!0)}function bu(e,t,r,n,a){return new tr(wa().w(e,t,r,n),a||Promise)}function Ov(e,t,r,n,a){var o=bu(e,t,r,n,a);return o.next().then(function(i){return i.done?i.value:o.next()})}function Pv(e){var t=Object(e),r=[];for(var n in t)r.unshift(n);return function a(){for(;r.length;)if((n=r.pop())in t)return a.value=n,a.done=!1,a;return a.done=!0,a}}function Eo(e){if(e!=null){var t=e[typeof Symbol=="function"&&Symbol.iterator||"@@iterator"],r=0;if(t)return t.call(e);if(typeof e.next=="function")return e;if(!isNaN(e.length))return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}}}throw new TypeError(z(e)+" is not iterable")}function Ye(){var e=wa(),t=e.m(Ye),r=(Object.getPrototypeOf?Object.getPrototypeOf(t):t.__proto__).constructor;function n(i){var u=typeof i=="function"&&i.constructor;return!!u&&(u===r||(u.displayName||u.name)==="GeneratorFunction")}var a={throw:1,return:2,break:3,continue:3};function o(i){var u,c;return function(s){u||(u={stop:function(){return c(s.a,2)},catch:function(){return s.v},abrupt:function(y,v){return c(s.a,a[y],v)},delegateYield:function(y,v,b){return u.resultName=v,c(s.d,Eo(y),b)},finish:function(y){return c(s.f,y)}},c=function(y,v,b){s.p=u.prev,s.n=u.next;try{return y(v,b)}finally{u.next=s.n}}),u.resultName&&(u[u.resultName]=s.v,u.resultName=void 0),u.sent=s.v,u.next=s.n;try{return i.call(this,u)}finally{s.p=u.prev,s.n=u.next}}}return(Ye=function(){return{wrap:function(c,s,d,y){return e.w(o(c),s,d,y&&y.reverse())},isGeneratorFunction:n,mark:e.m,awrap:function(c,s){return new gu(c,s)},AsyncIterator:tr,async:function(c,s,d,y,v){return(n(s)?bu:Ov)(o(c),s,d,y,v)},keys:Pv,values:Eo}})()}function Oo(e,t,r,n,a,o,i){try{var u=e[o](i),c=u.value}catch(s){return void r(s)}u.done?t(c):Promise.resolve(c).then(n,a)}function wu(e){return function(){var t=this,r=arguments;return new Promise(function(n,a){var o=e.apply(t,r);function i(c){Oo(o,n,a,i,u,"next",c)}function u(c){Oo(o,n,a,i,u,"throw",c)}i(void 0)})}}var _t=E({},dc),$v=_t.version,Yr=_t.render,Av=_t.unmountComponentAtNode,Rr;try{var Rv=Number(($v||"").split(".")[0]);Rv>=18&&(Rr=_t.createRoot)}catch{}function Po(e){var t=_t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;t&&z(t)==="object"&&(t.usingClientEntryPoint=e)}var rr="__rc_react_root__";function Tv(e,t){Po(!0);var r=t[rr]||Rr(t);Po(!1),r.render(e),t[rr]=r}function Mv(e,t){Yr==null||Yr(e,t)}function Iv(e,t){if(Rr){Tv(e,t);return}Mv(e,t)}function Nv(e){return Ln.apply(this,arguments)}function Ln(){return Ln=wu(Ye().mark(function e(t){return Ye().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",Promise.resolve().then(function(){var a;(a=t[rr])===null||a===void 0||a.unmount(),delete t[rr]}));case 1:case"end":return n.stop()}},e)})),Ln.apply(this,arguments)}function Fv(e){Av(e)}function jv(e){return Dn.apply(this,arguments)}function Dn(){return Dn=wu(Ye().mark(function e(t){return Ye().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(Rr===void 0){n.next=2;break}return n.abrupt("return",Nv(t));case 2:Fv(t);case 3:case"end":return n.stop()}},e)})),Dn.apply(this,arguments)}var Lv=["children"],Su=w.createContext({});function Bw(e){var t=e.children,r=We(e,Lv);return w.createElement(Su.Provider,{value:r},t)}var Dv=function(e){gr(r,e);var t=Ar(r);function r(){return yr(this,r),t.apply(this,arguments)}return mr(r,[{key:"render",value:function(){return this.props.children}}]),r}(w.Component);function kn(e){var t=w.useRef();t.current=e;var r=w.useCallback(function(){for(var n,a=arguments.length,o=new Array(a),i=0;i1&&arguments[1]!==void 0?arguments[1]:1;Io+=1;var n=Io;function a(o){if(o===0)Tu(n),t();else{var i=Au(function(){a(o-1)});Ca.set(n,i)}}return a(r),n};Bn.cancel=function(e){var t=Ca.get(e);return Tu(e),Ru(t)};const zv=function(){var e=w.useRef(null);function t(){Bn.cancel(e.current)}function r(n){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2;t();var o=Bn(function(){a<=1?n({isCanceled:function(){return o!==e.current}}):r(n,a-1)});e.current=o}return w.useEffect(function(){return function(){t()}},[]),[r,t]};var Gv=[ie,qe,He,Sa],Wv=[ie,Cu],Mu=!1,Vv=!0;function Iu(e){return e===He||e===Sa}const Kv=function(e,t,r){var n=Un($o),a=Q(n,2),o=a[0],i=a[1],u=zv(),c=Q(u,2),s=c[0],d=c[1];function y(){i(ie,!0)}var v=t?Wv:Gv;return $u(function(){if(o!==$o&&o!==Sa){var b=v.indexOf(o),S=v[b+1],x=r(o);x===Mu?i(S,!0):S&&s(function(C){function g(){C.isCanceled()||i(S,!0)}x===!0?g():Promise.resolve(x).then(g)})}},[e,o]),w.useEffect(function(){return function(){d()}},[]),[y,o]};function Yv(e,t,r,n){var a=n.motionEnter,o=a===void 0?!0:a,i=n.motionAppear,u=i===void 0?!0:i,c=n.motionLeave,s=c===void 0?!0:c,d=n.motionDeadline,y=n.motionLeaveImmediately,v=n.onAppearPrepare,b=n.onEnterPrepare,S=n.onLeavePrepare,x=n.onAppearStart,C=n.onEnterStart,g=n.onLeaveStart,m=n.onAppearActive,f=n.onEnterActive,l=n.onLeaveActive,h=n.onAppearEnd,p=n.onEnterEnd,_=n.onLeaveEnd,O=n.onVisibleChanged,P=Un(),I=Q(P,2),N=I[0],T=I[1],R=kv(xe),j=Q(R,2),M=j[0],L=j[1],U=Un(null),ne=Q(U,2),be=ne[0],je=ne[1],ce=M(),At=w.useRef(!1),Br=w.useRef(null);function Rt(){return r()}var Ga=w.useRef(!1);function Wa(){L(xe),je(null,!0)}var Va=kn(function(X){var K=M();if(K!==xe){var fe=Rt();if(!(X&&!X.deadline&&X.target!==fe)){var Tt=Ga.current,Mt;K===Lt&&Tt?Mt=h==null?void 0:h(fe,X):K===Dt&&Tt?Mt=p==null?void 0:p(fe,X):K===kt&&Tt&&(Mt=_==null?void 0:_(fe,X)),Tt&&Mt!==!1&&Wa()}}}),ac=Hv(Va),oc=Q(ac,1),ic=oc[0],Ka=function(K){switch(K){case Lt:return k(k(k({},ie,v),qe,x),He,m);case Dt:return k(k(k({},ie,b),qe,C),He,f);case kt:return k(k(k({},ie,S),qe,g),He,l);default:return{}}},ot=w.useMemo(function(){return Ka(ce)},[ce]),uc=Kv(ce,!e,function(X){if(X===ie){var K=ot[ie];return K?K(Rt()):Mu}if($e in ot){var fe;je(((fe=ot[$e])===null||fe===void 0?void 0:fe.call(ot,Rt(),null))||null)}return $e===He&&ce!==xe&&(ic(Rt()),d>0&&(clearTimeout(Br.current),Br.current=setTimeout(function(){Va({deadline:!0})},d))),$e===Cu&&Wa(),Vv}),Ya=Q(uc,2),sc=Ya[0],$e=Ya[1],cc=Iu($e);Ga.current=cc;var Ja=w.useRef(null);$u(function(){if(!(At.current&&Ja.current===t)){T(t);var X=At.current;At.current=!0;var K;!X&&t&&u&&(K=Lt),X&&t&&o&&(K=Dt),(X&&!t&&s||!X&&y&&!t&&s)&&(K=kt);var fe=Ka(K);K&&(e||fe[ie])?(L(K),sc()):L(xe),Ja.current=t}},[t]),w.useEffect(function(){(ce===Lt&&!u||ce===Dt&&!o||ce===kt&&!s)&&L(xe)},[u,o,s]),w.useEffect(function(){return function(){At.current=!1,clearTimeout(Br.current)}},[]);var qr=w.useRef(!1);w.useEffect(function(){N&&(qr.current=!0),N!==void 0&&ce===xe&&((qr.current||N)&&(O==null||O(N)),qr.current=!0)},[N,ce]);var Hr=be;return ot[ie]&&$e===qe&&(Hr=E({transition:"none"},Hr)),[ce,$e,Hr,N??t]}function Jv(e){var t=e;z(e)==="object"&&(t=e.transitionSupport);function r(a,o){return!!(a.motionName&&t&&o!==!1)}var n=w.forwardRef(function(a,o){var i=a.visible,u=i===void 0?!0:i,c=a.removeOnLeave,s=c===void 0?!0:c,d=a.forceRender,y=a.children,v=a.motionName,b=a.leavedClassName,S=a.eventProps,x=w.useContext(Su),C=x.motion,g=r(a,C),m=w.useRef(),f=w.useRef();function l(){try{return m.current instanceof HTMLElement?m.current:tv(f.current)}catch{return null}}var h=Yv(g,u,l,a),p=Q(h,4),_=p[0],O=p[1],P=p[2],I=p[3],N=w.useRef(I);I&&(N.current=!0);var T=w.useCallback(function(ne){m.current=ne,pu(o,ne)},[o]),R,j=E(E({},S),{},{visible:u});if(!y)R=null;else if(_===xe)I?R=y(E({},j),T):!s&&N.current&&b?R=y(E(E({},j),{},{className:b}),T):d||!s&&!b?R=y(E(E({},j),{},{style:{display:"none"}}),T):R=null;else{var M;O===ie?M="prepare":Iu(O)?M="active":O===qe&&(M="start");var L=Mo(v,"".concat(_,"-").concat(M));R=y(E(E({},j),{},{className:Ce(Mo(v,_),k(k({},L,L&&M),v,typeof v=="string")),style:P}),T)}if(w.isValidElement(R)&&iv(R)){var U=uv(R);U||(R=w.cloneElement(R,{ref:T}))}return w.createElement(Dv,{ref:f},R)});return n.displayName="CSSMotion",n}const Qv=Jv(Pu);var qn="add",Hn="keep",zn="remove",Jr="removed";function Zv(e){var t;return e&&z(e)==="object"&&"key"in e?t=e:t={key:e},E(E({},t),{},{key:String(t.key)})}function Gn(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return e.map(Zv)}function Xv(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],r=[],n=0,a=t.length,o=Gn(e),i=Gn(t);o.forEach(function(s){for(var d=!1,y=n;y1});return c.forEach(function(s){r=r.filter(function(d){var y=d.key,v=d.status;return y!==s||v!==zn}),r.forEach(function(d){d.key===s&&(d.status=Hn)})}),r}var eh=["component","children","onVisibleChanged","onAllRemoved"],th=["status"],rh=["eventProps","visible","children","motionName","motionAppear","motionEnter","motionLeave","motionLeaveImmediately","motionDeadline","removeOnLeave","leavedClassName","onAppearPrepare","onAppearStart","onAppearActive","onAppearEnd","onEnterStart","onEnterActive","onEnterEnd","onLeaveStart","onLeaveActive","onLeaveEnd"];function nh(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Qv,r=function(n){gr(o,n);var a=Ar(o);function o(){var i;yr(this,o);for(var u=arguments.length,c=new Array(u),s=0;s=v&&(y.key=C[0].notice.key,y.updateMark=Fo(),y.userPassKey=d,C.shift()),C.push({notice:y,holderCallback:c})),{notices:C}})},n.remove=function(u){n.setState(function(c){var s=c.notices;return{notices:s.filter(function(d){var y=d.notice,v=y.key,b=y.userPassKey,S=b??v;return S!==u})}})},n.noticePropsMap={},n}return mr(r,[{key:"getTransitionName",value:function(){var a=this.props,o=a.prefixCls,i=a.animation,u=this.props.transitionName;return!u&&i&&(u="".concat(o,"-").concat(i)),u}},{key:"render",value:function(){var a=this,o=this.state.notices,i=this.props,u=i.prefixCls,c=i.className,s=i.closeIcon,d=i.style,y=[];return o.forEach(function(v,b){var S=v.notice,x=v.holderCallback,C=b===o.length-1?S.updateMark:void 0,g=S.key,m=S.userPassKey,f=E(E(E({prefixCls:u,closeIcon:s},S),S.props),{},{key:g,noticeKey:m||g,updateMark:C,onClose:function(h){var p;a.remove(h),(p=S.onClose)===null||p===void 0||p.call(S)},onClick:S.onClick,children:S.content});y.push(g),a.noticePropsMap[g]={props:f,holderCallback:x}}),w.createElement("div",{className:Ce(u,c),style:d},w.createElement(ah,{keys:y,motionName:this.getTransitionName(),onVisibleChanged:function(b,S){var x=S.key;b||delete a.noticePropsMap[x]}},function(v){var b=v.key,S=v.className,x=v.style,C=v.visible,g=a.noticePropsMap[b],m=g.props,f=g.holderCallback;return f?w.createElement("div",{key:b,className:Ce(S,"".concat(u,"-hook-holder")),style:E({},x),ref:function(h){typeof b>"u"||(h?(a.hookRefs.set(b,h),f(h,m)):a.hookRefs.delete(b))}}):w.createElement(xa,A({},m,{className:Ce(S,m==null?void 0:m.className),style:E(E({},x),m==null?void 0:m.style),visible:C}))}))}}]),r}(w.Component);Je.newInstance=void 0;Je.defaultProps={prefixCls:"rc-notification",animation:"fade",style:{top:65,left:"50%"}};Je.newInstance=function(t,r){var n=t||{},a=n.getContainer,o=We(n,oh),i=document.createElement("div");if(a){var u=a();u.appendChild(i)}else document.body.appendChild(i);var c=!1;function s(d){c||(c=!0,r({notice:function(v){d.add(v)},removeNotice:function(v){d.remove(v)},component:d,destroy:function(){jv(i),i.parentNode&&i.parentNode.removeChild(i)},useNotification:function(){return _a(d)}}))}Iv(w.createElement(Je,A({},o,{ref:s})),i)};function uh(e,t){var r=function(){var a,o,i=null,u={add:function(x,C){i==null||i.component.add(x,C)}},c=_a(u),s=Q(c,2),d=s[0],y=s[1];function v(S){var x=S.prefixCls,C=a("message",x),g=a(),m=S.key||Bu(),f=new Promise(function(h){var p=function(){return typeof S.onClose=="function"&&S.onClose(),h(!0)};e(A(A({},S),{prefixCls:C,rootPrefixCls:g,getPopupContainer:o}),function(_){var O=_.prefixCls,P=_.instance;i=P,d(t(A(A({},S),{key:m,onClose:p}),O))})}),l=function(){i&&i.removeNotice(m)};return l.then=function(h,p){return f.then(h,p)},l.promise=f,l}var b=w.useRef({});return b.current.open=v,zu.forEach(function(S){return Wu(b.current,S)}),[b.current,w.createElement(Oa,{key:"holder"},function(S){return a=S.getPrefixCls,o=S.getPopupContainer,y})]};return r}var Z,Nu=3,Fu,sh=1,ju="",Wn="move-up",Lu=!1,Du,ku,Uu=!1;function Bu(){return sh++}function ch(e){e.top!==void 0&&(Fu=e.top,Z=null),e.duration!==void 0&&(Nu=e.duration),e.prefixCls!==void 0&&(ju=e.prefixCls),e.getContainer!==void 0&&(Du=e.getContainer,Z=null),e.transitionName!==void 0&&(Wn=e.transitionName,Z=null,Lu=!0),e.maxCount!==void 0&&(ku=e.maxCount,Z=null),e.rtl!==void 0&&(Uu=e.rtl)}function qu(e,t){var r=e.prefixCls,n=e.getPopupContainer,a=as(),o=a.getPrefixCls,i=a.getRootPrefixCls,u=a.getIconPrefixCls,c=o("message",r||ju),s=i(e.rootPrefixCls,c),d=u();if(Z){t({prefixCls:c,rootPrefixCls:s,iconPrefixCls:d,instance:Z});return}var y={prefixCls:c,transitionName:Lu?Wn:"".concat(s,"-").concat(Wn),style:{top:Fu},getContainer:Du||n,maxCount:ku};Je.newInstance(y,function(v){if(Z){t({prefixCls:c,rootPrefixCls:s,iconPrefixCls:d,instance:Z});return}Z=v,t({prefixCls:c,rootPrefixCls:s,iconPrefixCls:d,instance:v})})}var Hu={info:Dp,success:np,error:pp,warning:$p,loading:Kp},zu=Object.keys(Hu);function Gu(e,t,r){var n=e.duration!==void 0?e.duration:Nu,a=Hu[e.type],o=Ce("".concat(t,"-custom-content"),k(k({},"".concat(t,"-").concat(e.type),e.type),"".concat(t,"-rtl"),Uu===!0));return{key:e.key,duration:n,style:e.style||{},className:e.className,content:w.createElement(os,{iconPrefixCls:r},w.createElement("div",{className:o},e.icon||a&&w.createElement(a,null),w.createElement("span",null,e.content))),onClose:e.onClose,onClick:e.onClick}}function fh(e){var t=e.key||Bu(),r=new Promise(function(a){var o=function(){return typeof e.onClose=="function"&&e.onClose(),a(!0)};qu(e,function(i){var u=i.prefixCls,c=i.iconPrefixCls,s=i.instance;s.notice(Gu(A(A({},e),{key:t,onClose:o}),u,c))})}),n=function(){var o;Z&&(Z.removeNotice(t),(o=e.onClose)===null||o===void 0||o.call(e))};return n.then=function(a,o){return r.then(a,o)},n.promise=r,n}function lh(e){return Object.prototype.toString.call(e)==="[object Object]"&&!!e.content}var mt={open:fh,config:ch,destroy:function(t){if(Z)if(t){var r=Z,n=r.removeNotice;n(t)}else{var a=Z,o=a.destroy;o(),Z=null}}};function Wu(e,t){e[t]=function(r,n,a){return lh(r)?e.open(A(A({},r),{type:t})):(typeof n=="function"&&(a=n,n=void 0),e.open({content:r,duration:n,type:t,onClose:a}))}}zu.forEach(function(e){return Wu(mt,e)});mt.warn=mt.warning;mt.useMessage=uh(qu,Gu);const dh=mt;function ph(e,t){var r=function(){var a,o=null,i={add:function(S,x){o==null||o.component.add(S,x)}},u=_a(i),c=Q(u,2),s=c[0],d=c[1];function y(b){var S=b.prefixCls,x=a("notification",S);e(A(A({},b),{prefixCls:x}),function(C){var g=C.prefixCls,m=C.instance;o=m,s(t(b,g))})}var v=w.useRef({});return v.current.open=y,["success","info","warning","error"].forEach(function(b){v.current[b]=function(S){return v.current.open(A(A({},S),{type:b}))}}),[v.current,w.createElement(Oa,{key:"holder"},function(b){return a=b.getPrefixCls,d})]};return r}globalThis&&globalThis.__awaiter;var Ae={},Vu=4.5,Ku=24,Yu=24,Ju="",Vn="topRight",Qu,Zu,Xu=!1,es;function vh(e){var t=e.duration,r=e.placement,n=e.bottom,a=e.top,o=e.getContainer,i=e.closeIcon,u=e.prefixCls;u!==void 0&&(Ju=u),t!==void 0&&(Vu=t),r!==void 0?Vn=r:e.rtl&&(Vn="topLeft"),n!==void 0&&(Yu=n),a!==void 0&&(Ku=a),o!==void 0&&(Qu=o),i!==void 0&&(Zu=i),e.rtl!==void 0&&(Xu=e.rtl),e.maxCount!==void 0&&(es=e.maxCount)}function hh(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Ku,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Yu,n;switch(e){case"top":n={left:"50%",transform:"translateX(-50%)",right:"auto",top:t,bottom:"auto"};break;case"topLeft":n={left:0,top:t,bottom:"auto"};break;case"topRight":n={right:0,top:t,bottom:"auto"};break;case"bottom":n={left:"50%",transform:"translateX(-50%)",right:"auto",top:"auto",bottom:r};break;case"bottomLeft":n={left:0,top:"auto",bottom:r};break;default:n={right:0,top:"auto",bottom:r};break}return n}function ts(e,t){var r=e.placement,n=r===void 0?Vn:r,a=e.top,o=e.bottom,i=e.getContainer,u=i===void 0?Qu:i,c=e.prefixCls,s=as(),d=s.getPrefixCls,y=s.getIconPrefixCls,v=d("notification",c||Ju),b=y(),S="".concat(v,"-").concat(n),x=Ae[S];if(x){Promise.resolve(x).then(function(g){t({prefixCls:"".concat(v,"-notice"),iconPrefixCls:b,instance:g})});return}var C=Ce("".concat(v,"-").concat(n),k({},"".concat(v,"-rtl"),Xu===!0));Ae[S]=new Promise(function(g){Je.newInstance({prefixCls:v,className:C,style:hh(n,a,o),getContainer:u,maxCount:es},function(m){g(m),t({prefixCls:"".concat(v,"-notice"),iconPrefixCls:b,instance:m})})})}var yh={success:sp,info:Hp,error:gp,warning:Ip};function rs(e,t,r){var n=e.duration,a=e.icon,o=e.type,i=e.description,u=e.message,c=e.btn,s=e.onClose,d=e.onClick,y=e.key,v=e.style,b=e.className,S=e.closeIcon,x=S===void 0?Zu:S,C=e.props,g=n===void 0?Vu:n,m=null;a?m=w.createElement("span",{className:"".concat(t,"-icon")},e.icon):o&&(m=w.createElement(yh[o]||null,{className:"".concat(t,"-icon ").concat(t,"-icon-").concat(o)}));var f=typeof x>"u"?w.createElement("span",{className:"".concat(t,"-close-x")},w.createElement(xp,{className:"".concat(t,"-close-icon")})):x,l=!i&&m?w.createElement("span",{className:"".concat(t,"-message-single-line-auto-margin")}):null;return{content:w.createElement(os,{iconPrefixCls:r},w.createElement("div",{className:m?"".concat(t,"-with-icon"):"",role:"alert"},m,w.createElement("div",{className:"".concat(t,"-message")},l,u),w.createElement("div",{className:"".concat(t,"-description")},i),c?w.createElement("span",{className:"".concat(t,"-btn")},c):null)),duration:g,closable:!0,closeIcon:f,onClose:s,onClick:d,key:y,style:v||{},className:Ce(b,k({},"".concat(t,"-").concat(o),!!o)),props:C}}function mh(e){ts(e,function(t){var r=t.prefixCls,n=t.iconPrefixCls,a=t.instance;a.notice(rs(e,r,n))})}var Qe={open:mh,close:function(t){Object.keys(Ae).forEach(function(r){return Promise.resolve(Ae[r]).then(function(n){n.removeNotice(t)})})},config:vh,destroy:function(){Object.keys(Ae).forEach(function(t){Promise.resolve(Ae[t]).then(function(r){r.destroy()}),delete Ae[t]})}};["success","info","warning","error"].forEach(function(e){Qe[e]=function(t){return Qe.open(A(A({},t),{type:e}))}});Qe.warn=Qe.warning;Qe.useNotification=ph(ts,rs);const gh=Qe;var bh=function(t,r){return r||(t?"ant-".concat(t):"ant")},Ea=w.createContext({getPrefixCls:bh}),Oa=Ea.Consumer,wh="-ant-".concat(Date.now(),"-").concat(Math.random());function Sh(e,t){var r={},n=function(d,y){var v=d.clone();return v=(y==null?void 0:y(v))||v,v.toRgbString()},a=function(d,y){var v=new Ht(d),b=Ve(v.toRgbString());r["".concat(y,"-color")]=n(v),r["".concat(y,"-color-disabled")]=b[1],r["".concat(y,"-color-hover")]=b[4],r["".concat(y,"-color-active")]=b[6],r["".concat(y,"-color-outline")]=v.clone().setAlpha(.2).toRgbString(),r["".concat(y,"-color-deprecated-bg")]=b[0],r["".concat(y,"-color-deprecated-border")]=b[2]};if(t.primaryColor){a(t.primaryColor,"primary");var o=new Ht(t.primaryColor),i=Ve(o.toRgbString());i.forEach(function(s,d){r["primary-".concat(d+1)]=s}),r["primary-color-deprecated-l-35"]=n(o,function(s){return s.lighten(35)}),r["primary-color-deprecated-l-20"]=n(o,function(s){return s.lighten(20)}),r["primary-color-deprecated-t-20"]=n(o,function(s){return s.tint(20)}),r["primary-color-deprecated-t-50"]=n(o,function(s){return s.tint(50)}),r["primary-color-deprecated-f-12"]=n(o,function(s){return s.setAlpha(s.getAlpha()*.12)});var u=new Ht(i[0]);r["primary-color-active-deprecated-f-30"]=n(u,function(s){return s.setAlpha(s.getAlpha()*.3)}),r["primary-color-active-deprecated-d-02"]=n(u,function(s){return s.darken(2)})}t.successColor&&a(t.successColor,"success"),t.warningColor&&a(t.warningColor,"warning"),t.errorColor&&a(t.errorColor,"error"),t.infoColor&&a(t.infoColor,"info");var c=Object.keys(r).map(function(s){return"--".concat(e,"-").concat(s,": ").concat(r[s],";")});return` + :root { + `.concat(c.join(` +`),` + } + `).trim()}function Ch(e,t){var r=Sh(e,t);Ct()&&Li(r,"".concat(wh,"-dynamic-theme"))}var Kn=w.createContext(!1),xh=function(t){var r=t.children,n=t.disabled,a=w.useContext(Kn);return w.createElement(Kn.Provider,{value:n??a},r)};const qw=Kn;var Yn=w.createContext(void 0),_h=function(t){var r=t.children,n=t.size;return w.createElement(Yn.Consumer,null,function(a){return w.createElement(Yn.Provider,{value:n||a},r)})};const Eh=Yn;var Oh=["getTargetContainer","getPopupContainer","renderEmpty","pageHeader","input","pagination","form"],Ph="ant",$h="anticon",nr,ns;function Vt(){return nr||Ph}function Ah(){return ns||$h}var Rh=function(t){var r=t.prefixCls,n=t.iconPrefixCls,a=t.theme;r!==void 0&&(nr=r),n!==void 0&&(ns=n),a&&Ch(Vt(),a)},as=function(){return{getPrefixCls:function(r,n){return n||(r?"".concat(Vt(),"-").concat(r):Vt())},getIconPrefixCls:Ah,getRootPrefixCls:function(r,n){return r||nr||(n&&n.includes("-")?n.replace(/^(.*)-[^-]*$/,"$1"):Vt())}}},Th=function(t){var r=t.children,n=t.csp,a=t.autoInsertSpaceInButton,o=t.form,i=t.locale,u=t.componentSize,c=t.direction,s=t.space,d=t.virtual,y=t.dropdownMatchSelectWidth,v=t.legacyLocale,b=t.parentContext,S=t.iconPrefixCls,x=t.componentDisabled,C=w.useCallback(function(p,_){var O=t.prefixCls;if(_)return _;var P=O||b.getPrefixCls("");return p?"".concat(P,"-").concat(p):P},[b.getPrefixCls,t.prefixCls]),g=A(A({},b),{csp:n,autoInsertSpaceInButton:a,locale:i||v,direction:c,space:s,virtual:d,dropdownMatchSelectWidth:y,getPrefixCls:C});Oh.forEach(function(p){var _=t[p];_&&(g[p]=_)});var m=du(function(){return g},g,function(p,_){var O=Object.keys(p),P=Object.keys(_);return O.length!==P.length||O.some(function(I){return p[I]!==_[I]})}),f=w.useMemo(function(){return{prefixCls:S,csp:n}},[S,n]),l=r,h=w.useMemo(function(){var p,_,O,P;return pv(((p=Ke.Form)===null||p===void 0?void 0:p.defaultValidateMessages)||{},((O=(_=m.locale)===null||_===void 0?void 0:_.Form)===null||O===void 0?void 0:O.defaultValidateMessages)||{},((P=m.form)===null||P===void 0?void 0:P.validateMessages)||{},(o==null?void 0:o.validateMessages)||{})},[m,o==null?void 0:o.validateMessages]);return Object.keys(h).length>0&&(l=w.createElement(vv.Provider,{value:h},r)),i&&(l=w.createElement(xv,{locale:i,_ANT_MARK__:Sv},l)),(S||n)&&(l=w.createElement(sa.Provider,{value:f},l)),u&&(l=w.createElement(_h,{size:u},l)),x!==void 0&&(l=w.createElement(xh,{disabled:x},l)),w.createElement(Ea.Provider,{value:m},l)},Tr=function(t){return w.useEffect(function(){t.direction&&(dh.config({rtl:t.direction==="rtl"}),gh.config({rtl:t.direction==="rtl"}))},[t.direction]),w.createElement(Ev,null,function(r,n,a){return w.createElement(Oa,null,function(o){return w.createElement(Th,A({parentContext:o,legacyLocale:a},t))})})};Tr.ConfigContext=Ea;Tr.SizeContext=Eh;Tr.config=Rh;const os=Tr;var is=w.isValidElement;function Hw(e){return e&&is(e)&&e.type===w.Fragment}function Mh(e,t,r){return is(e)?w.cloneElement(e,typeof r=="function"?r(e.props||{}):r):t}function zw(e,t){return Mh(e,e,t)}var Gw=function(){for(var t=arguments.length,r=new Array(t),n=0;n-1}var Yh=Kh,Jh=Mr;function Qh(e,t){var r=this.__data__,n=Jh(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}var Zh=Qh,Xh=Fh,e0=Hh,t0=Wh,r0=Yh,n0=Zh;function et(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t-1&&e%1==0&&e-1&&e%1==0&&e<=am}var im=om;/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */var Jn=function(e,t){return Jn=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(r[a]=n[a])},Jn(e,t)};function Kw(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");Jn(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}var ar=function(){return ar=Object.assign||function(t){for(var r,n=1,a=arguments.length;n=0;u--)(i=e[u])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}function Qw(){for(var e=0,t=0,r=arguments.length;t-1e3&&e<1e3||fs.call(/e/,t))return t;var r=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof e=="number"){var n=e<0?-Go(-e):Go(e);if(n!==e){var a=String(n),o=Ra.call(t,a.length+1);return Ee.call(a,r,"$&_")+"."+Ee.call(Ee.call(o,/([0-9]{3})/g,"$&_"),/_$/,"")}}return Ee.call(t,r,"$&_")}var Xn=fm,Ko=Xn.custom,Yo=vs(Ko)?Ko:null,ds={__proto__:null,double:'"',single:"'"},wm={__proto__:null,double:/(["\\])/g,single:/(['\\])/g},Fr=function e(t,r,n,a){var o=r||{};if(Se(o,"quoteStyle")&&!Se(ds,o.quoteStyle))throw new TypeError('option "quoteStyle" must be "single" or "double"');if(Se(o,"maxStringLength")&&(typeof o.maxStringLength=="number"?o.maxStringLength<0&&o.maxStringLength!==1/0:o.maxStringLength!==null))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var i=Se(o,"customInspect")?o.customInspect:!0;if(typeof i!="boolean"&&i!=="symbol")throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(Se(o,"indent")&&o.indent!==null&&o.indent!==" "&&!(parseInt(o.indent,10)===o.indent&&o.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(Se(o,"numericSeparator")&&typeof o.numericSeparator!="boolean")throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var u=o.numericSeparator;if(typeof t>"u")return"undefined";if(t===null)return"null";if(typeof t=="boolean")return t?"true":"false";if(typeof t=="string")return ys(t,o);if(typeof t=="number"){if(t===0)return 1/0/t>0?"0":"-0";var c=String(t);return u?Vo(t,c):c}if(typeof t=="bigint"){var s=String(t)+"n";return u?Vo(t,s):s}var d=typeof o.depth>"u"?5:o.depth;if(typeof n>"u"&&(n=0),n>=d&&d>0&&typeof t=="object")return ea(t)?"[Array]":"[Object]";var y=Dm(o,n);if(typeof a>"u")a=[];else if(hs(a,t)>=0)return"[Circular]";function v(R,j,M){if(j&&(a=bm.call(a),a.push(j)),M){var L={depth:o.depth};return Se(o,"quoteStyle")&&(L.quoteStyle=o.quoteStyle),e(R,L,n+1,a)}return e(R,o,n+1,a)}if(typeof t=="function"&&!Jo(t)){var b=Am(t),S=Bt(t,v);return"[Function"+(b?": "+b:" (anonymous)")+"]"+(S.length>0?" { "+pe.call(S,", ")+" }":"")}if(vs(t)){var x=Ze?Ee.call(String(t),/^(Symbol\(.*\))_[^)]*$/,"$1"):Zn.call(t);return typeof t=="object"&&!Ze?ut(x):x}if(Fm(t)){for(var C="<"+Ho.call(String(t.nodeName)),g=t.attributes||[],m=0;m",C}if(ea(t)){if(t.length===0)return"[]";var f=Bt(t,v);return y&&!Lm(f)?"["+ta(f,y)+"]":"[ "+pe.call(f,", ")+" ]"}if(xm(t)){var l=Bt(t,v);return!("cause"in Error.prototype)&&"cause"in t&&!ls.call(t,"cause")?"{ ["+String(t)+"] "+pe.call(zo.call("[cause]: "+v(t.cause),l),", ")+" }":l.length===0?"["+String(t)+"]":"{ ["+String(t)+"] "+pe.call(l,", ")+" }"}if(typeof t=="object"&&i){if(Yo&&typeof t[Yo]=="function"&&Xn)return Xn(t,{depth:d-n});if(i!=="symbol"&&typeof t.inspect=="function")return t.inspect()}if(Rm(t)){var h=[];return Uo&&Uo.call(t,function(R,j){h.push(v(j,t,!0)+" => "+v(R,t))}),Qo("Map",or.call(t),h,y)}if(Im(t)){var p=[];return Bo&&Bo.call(t,function(R){p.push(v(R,t))}),Qo("Set",ir.call(t),p,y)}if(Tm(t))return tn("WeakMap");if(Nm(t))return tn("WeakSet");if(Mm(t))return tn("WeakRef");if(Em(t))return ut(v(Number(t)));if(Pm(t))return ut(v(Qn.call(t)));if(Om(t))return ut(vm.call(t));if(_m(t))return ut(v(String(t)));if(typeof window<"u"&&t===window)return"{ [object Window] }";if(typeof globalThis<"u"&&t===globalThis||typeof he<"u"&&t===he)return"{ [object globalThis] }";if(!Cm(t)&&!Jo(t)){var _=Bt(t,v),O=Wo?Wo(t)===Object.prototype:t instanceof Object||t.constructor===Object,P=t instanceof Object?"":"null prototype",I=!O&&pt&&Object(t)===t&&pt in t?Ra.call(Pe(t),8,-1):P?"Object":"",N=O||typeof t.constructor!="function"?"":t.constructor.name?t.constructor.name+" ":"",T=N+(I||P?"["+pe.call(zo.call([],I||[],P||[]),": ")+"] ":"");return _.length===0?T+"{}":y?T+"{"+ta(_,y)+"}":T+"{ "+pe.call(_,", ")+" }"}return String(t)};function ps(e,t,r){var n=r.quoteStyle||t,a=ds[n];return a+e+a}function Sm(e){return Ee.call(String(e),/"/g,""")}function Fe(e){return!pt||!(typeof e=="object"&&(pt in e||typeof e[pt]<"u"))}function ea(e){return Pe(e)==="[object Array]"&&Fe(e)}function Cm(e){return Pe(e)==="[object Date]"&&Fe(e)}function Jo(e){return Pe(e)==="[object RegExp]"&&Fe(e)}function xm(e){return Pe(e)==="[object Error]"&&Fe(e)}function _m(e){return Pe(e)==="[object String]"&&Fe(e)}function Em(e){return Pe(e)==="[object Number]"&&Fe(e)}function Om(e){return Pe(e)==="[object Boolean]"&&Fe(e)}function vs(e){if(Ze)return e&&typeof e=="object"&&e instanceof Symbol;if(typeof e=="symbol")return!0;if(!e||typeof e!="object"||!Zn)return!1;try{return Zn.call(e),!0}catch{}return!1}function Pm(e){if(!e||typeof e!="object"||!Qn)return!1;try{return Qn.call(e),!0}catch{}return!1}var $m=Object.prototype.hasOwnProperty||function(e){return e in this};function Se(e,t){return $m.call(e,t)}function Pe(e){return hm.call(e)}function Am(e){if(e.name)return e.name;var t=mm.call(ym.call(e),/^function\s*([\w$]+)/);return t?t[1]:null}function hs(e,t){if(e.indexOf)return e.indexOf(t);for(var r=0,n=e.length;rt.maxStringLength){var r=e.length-t.maxStringLength,n="... "+r+" more character"+(r>1?"s":"");return ys(Ra.call(e,0,t.maxStringLength),t)+n}var a=wm[t.quoteStyle||"single"];a.lastIndex=0;var o=Ee.call(Ee.call(e,a,"\\$1"),/[\x00-\x1f]/g,jm);return ps(o,"single",t)}function jm(e){var t=e.charCodeAt(0),r={8:"b",9:"t",10:"n",12:"f",13:"r"}[t];return r?"\\"+r:"\\x"+(t<16?"0":"")+gm.call(t.toString(16))}function ut(e){return"Object("+e+")"}function tn(e){return e+" { ? }"}function Qo(e,t,r,n){var a=n?ta(r,n):pe.call(r,", ");return e+" ("+t+") {"+a+"}"}function Lm(e){for(var t=0;t=0)return!1;return!0}function Dm(e,t){var r;if(e.indent===" ")r=" ";else if(typeof e.indent=="number"&&e.indent>0)r=pe.call(Array(e.indent+1)," ");else return null;return{base:r,prev:pe.call(Array(t+1),r)}}function ta(e,t){if(e.length===0)return"";var r=` +`+t.prev+t.base;return r+pe.call(e,","+r)+` +`+t.prev}function Bt(e,t){var r=ea(e),n=[];if(r){n.length=e.length;for(var a=0;a"u"||!H?$:H(Uint8Array),Ie={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?$:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?$:ArrayBuffer,"%ArrayIteratorPrototype%":Le&&H?H([][Symbol.iterator]()):$,"%AsyncFromSyncIteratorPrototype%":$,"%AsyncFunction%":Be,"%AsyncGenerator%":Be,"%AsyncGeneratorFunction%":Be,"%AsyncIteratorPrototype%":Be,"%Atomics%":typeof Atomics>"u"?$:Atomics,"%BigInt%":typeof BigInt>"u"?$:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?$:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?$:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?$:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Og,"%eval%":eval,"%EvalError%":Pg,"%Float16Array%":typeof Float16Array>"u"?$:Float16Array,"%Float32Array%":typeof Float32Array>"u"?$:Float32Array,"%Float64Array%":typeof Float64Array>"u"?$:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?$:FinalizationRegistry,"%Function%":xs,"%GeneratorFunction%":Be,"%Int8Array%":typeof Int8Array>"u"?$:Int8Array,"%Int16Array%":typeof Int16Array>"u"?$:Int16Array,"%Int32Array%":typeof Int32Array>"u"?$:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":Le&&H?H(H([][Symbol.iterator]())):$,"%JSON%":typeof JSON=="object"?JSON:$,"%Map%":typeof Map>"u"?$:Map,"%MapIteratorPrototype%":typeof Map>"u"||!Le||!H?$:H(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Eg,"%Object.getOwnPropertyDescriptor%":gt,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?$:Promise,"%Proxy%":typeof Proxy>"u"?$:Proxy,"%RangeError%":$g,"%ReferenceError%":Ag,"%Reflect%":typeof Reflect>"u"?$:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?$:Set,"%SetIteratorPrototype%":typeof Set>"u"||!Le||!H?$:H(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?$:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":Le&&H?H(""[Symbol.iterator]()):$,"%Symbol%":Le?Symbol:$,"%SyntaxError%":Xe,"%ThrowTypeError%":kg,"%TypedArray%":qg,"%TypeError%":Ge,"%Uint8Array%":typeof Uint8Array>"u"?$:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?$:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?$:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?$:Uint32Array,"%URIError%":Rg,"%WeakMap%":typeof WeakMap>"u"?$:WeakMap,"%WeakRef%":typeof WeakRef>"u"?$:WeakRef,"%WeakSet%":typeof WeakSet>"u"?$:WeakSet,"%Function.prototype.call%":Et,"%Function.prototype.apply%":_s,"%Object.defineProperty%":Dg,"%Object.getPrototypeOf%":Ug,"%Math.abs%":Tg,"%Math.floor%":Mg,"%Math.max%":Ig,"%Math.min%":Ng,"%Math.pow%":Fg,"%Math.round%":jg,"%Math.sign%":Lg,"%Reflect.getPrototypeOf%":Bg};if(H)try{null.error}catch(e){var Hg=H(H(e));Ie["%Error.prototype%"]=Hg}var zg=function e(t){var r;if(t==="%AsyncFunction%")r=vn("async function () {}");else if(t==="%GeneratorFunction%")r=vn("function* () {}");else if(t==="%AsyncGeneratorFunction%")r=vn("async function* () {}");else if(t==="%AsyncGenerator%"){var n=e("%AsyncGeneratorFunction%");n&&(r=n.prototype)}else if(t==="%AsyncIteratorPrototype%"){var a=e("%AsyncGenerator%");a&&H&&(r=H(a.prototype))}return Ie[t]=r,r},ci={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},Ot=Lr(),ur=_g(),Gg=Ot.call(Et,Array.prototype.concat),Wg=Ot.call(_s,Array.prototype.splice),fi=Ot.call(Et,String.prototype.replace),sr=Ot.call(Et,String.prototype.slice),Vg=Ot.call(Et,RegExp.prototype.exec),Kg=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,Yg=/\\(\\)?/g,Jg=function(t){var r=sr(t,0,1),n=sr(t,-1);if(r==="%"&&n!=="%")throw new Xe("invalid intrinsic syntax, expected closing `%`");if(n==="%"&&r!=="%")throw new Xe("invalid intrinsic syntax, expected opening `%`");var a=[];return fi(t,Kg,function(o,i,u,c){a[a.length]=u?fi(c,Yg,"$1"):i||o}),a},Qg=function(t,r){var n=t,a;if(ur(ci,n)&&(a=ci[n],n="%"+a[0]+"%"),ur(Ie,n)){var o=Ie[n];if(o===Be&&(o=zg(n)),typeof o>"u"&&!r)throw new Ge("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:a,name:n,value:o}}throw new Xe("intrinsic "+t+" does not exist!")},Ma=function(t,r){if(typeof t!="string"||t.length===0)throw new Ge("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof r!="boolean")throw new Ge('"allowMissing" argument must be a boolean');if(Vg(/^%?[^%]*%?$/,t)===null)throw new Xe("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=Jg(t),a=n.length>0?n[0]:"",o=Qg("%"+a+"%",r),i=o.name,u=o.value,c=!1,s=o.alias;s&&(a=s[0],Wg(n,Gg([0,1],s)));for(var d=1,y=!0;d=n.length){var x=gt(u,v);y=!!x,y&&"get"in x&&!("originalValue"in x.get)?u=x.get:u=u[v]}else y=ur(u,v),u=u[v];y&&!c&&(Ie[i]=u)}}return u},Es=Ma,Os=Cs,Zg=Os([Es("%String.prototype.indexOf%")]),Ps=function(t,r){var n=Es(t,!!r);return typeof n=="function"&&Zg(t,".prototype.")>-1?Os([n]):n},Xg=Ma,Pt=Ps,e1=Fr,t1=nt,li=Xg("%Map%",!0),r1=Pt("Map.prototype.get",!0),n1=Pt("Map.prototype.set",!0),a1=Pt("Map.prototype.has",!0),o1=Pt("Map.prototype.delete",!0),i1=Pt("Map.prototype.size",!0),$s=!!li&&function(){var t,r={assert:function(n){if(!r.has(n))throw new t1("Side channel does not contain "+e1(n))},delete:function(n){if(t){var a=o1(t,n);return i1(t)===0&&(t=void 0),a}return!1},get:function(n){if(t)return r1(t,n)},has:function(n){return t?a1(t,n):!1},set:function(n,a){t||(t=new li),n1(t,n,a)}};return r},u1=Ma,Dr=Ps,s1=Fr,qt=$s,c1=nt,De=u1("%WeakMap%",!0),f1=Dr("WeakMap.prototype.get",!0),l1=Dr("WeakMap.prototype.set",!0),d1=Dr("WeakMap.prototype.has",!0),p1=Dr("WeakMap.prototype.delete",!0),v1=De?function(){var t,r,n={assert:function(a){if(!n.has(a))throw new c1("Side channel does not contain "+s1(a))},delete:function(a){if(De&&a&&(typeof a=="object"||typeof a=="function")){if(t)return p1(t,a)}else if(qt&&r)return r.delete(a);return!1},get:function(a){return De&&a&&(typeof a=="object"||typeof a=="function")&&t?f1(t,a):r&&r.get(a)},has:function(a){return De&&a&&(typeof a=="object"||typeof a=="function")&&t?d1(t,a):!!r&&r.has(a)},set:function(a,o){De&&a&&(typeof a=="object"||typeof a=="function")?(t||(t=new De),l1(t,a,o)):qt&&(r||(r=qt()),r.set(a,o))}};return n}:qt,h1=nt,y1=Fr,m1=Gm,g1=$s,b1=v1,w1=b1||g1||m1,As=function(){var t,r={assert:function(n){if(!r.has(n))throw new h1("Side channel does not contain "+y1(n))},delete:function(n){return!!t&&t.delete(n)},get:function(n){return t&&t.get(n)},has:function(n){return!!t&&t.has(n)},set:function(n,a){t||(t=w1()),t.set(n,a)}};return r},S1=String.prototype.replace,C1=/%20/g,yn={RFC1738:"RFC1738",RFC3986:"RFC3986"},Ia={default:yn.RFC3986,formatters:{RFC1738:function(e){return S1.call(e,C1,"+")},RFC3986:function(e){return String(e)}},RFC1738:yn.RFC1738,RFC3986:yn.RFC3986},x1=Ia,_1=As,mn=Object.prototype.hasOwnProperty,Re=Array.isArray,kr=_1(),ze=function(t,r){return kr.set(t,r),t},Te=function(t){return kr.has(t)},st=function(t){return kr.get(t)},ra=function(t,r){kr.set(t,r)},le=function(){for(var e=[],t=0;t<256;++t)e[e.length]="%"+((t<16?"0":"")+t.toString(16)).toUpperCase();return e}(),E1=function(t){for(;t.length>1;){var r=t.pop(),n=r.obj[r.prop];if(Re(n)){for(var a=[],o=0;on.arrayLimit)return ze(vt(t.concat(r),n),a);t[a]=r}else if(t&&typeof t=="object")if(Te(t)){var o=st(t)+1;t[o]=r,ra(t,o)}else(n&&(n.plainObjects||n.allowPrototypes)||!mn.call(Object.prototype,r))&&(t[r]=!0);else return[t,r];return t}if(!t||typeof t!="object"){if(Te(r)){for(var i=Object.keys(r),u=n&&n.plainObjects?{__proto__:null,0:t}:{0:t},c=0;cn.arrayLimit?ze(vt(d,n),d.length-1):d}var y=t;return Re(t)&&!Re(r)&&(y=vt(t,n)),Re(t)&&Re(r)?(r.forEach(function(v,b){if(mn.call(t,b)){var S=t[b];S&&typeof S=="object"&&v&&typeof v=="object"?t[b]=e(S,v,n):t[t.length]=v}else t[b]=v}),t):Object.keys(r).reduce(function(v,b){var S=r[b];if(mn.call(v,b)?v[b]=e(v[b],S,n):v[b]=S,Te(r)&&!Te(v)&&ze(v,st(r)),Te(v)){var x=parseInt(b,10);String(x)===b&&x>=0&&x>st(v)&&ra(v,x)}return v},y)},P1=function(t,r){return Object.keys(r).reduce(function(n,a){return n[a]=r[a],n},t)},$1=function(e,t,r){var n=e.replace(/\+/g," ");if(r==="iso-8859-1")return n.replace(/%[0-9a-f]{2}/gi,unescape);try{return decodeURIComponent(n)}catch{return n}},gn=1024,A1=function(t,r,n,a,o){if(t.length===0)return t;var i=t;if(typeof t=="symbol"?i=Symbol.prototype.toString.call(t):typeof t!="string"&&(i=String(t)),n==="iso-8859-1")return escape(i).replace(/%u[0-9a-f]{4}/gi,function(b){return"%26%23"+parseInt(b.slice(2),16)+"%3B"});for(var u="",c=0;c=gn?i.slice(c,c+gn):i,d=[],y=0;y=48&&v<=57||v>=65&&v<=90||v>=97&&v<=122||o===x1.RFC1738&&(v===40||v===41)){d[d.length]=s.charAt(y);continue}if(v<128){d[d.length]=le[v];continue}if(v<2048){d[d.length]=le[192|v>>6]+le[128|v&63];continue}if(v<55296||v>=57344){d[d.length]=le[224|v>>12]+le[128|v>>6&63]+le[128|v&63];continue}y+=1,v=65536+((v&1023)<<10|s.charCodeAt(y)&1023),d[d.length]=le[240|v>>18]+le[128|v>>12&63]+le[128|v>>6&63]+le[128|v&63]}u+=d.join("")}return u},R1=function(t){for(var r=[{obj:{o:t},prop:"o"}],n=[],a=0;an?ze(vt(i,{plainObjects:a}),i.length-1):i},N1=function(t,r){if(Re(t)){for(var n=[],a=0;a"u"&&(h=0)}if(typeof d=="function"?f=d(r,f):f instanceof Date?f=b(f):n==="comma"&&de(f)&&(f=Jt.maybeMap(f,function(je){return je instanceof Date?b(je):je})),f===null){if(i)return s&&!C?s(r,B.encoder,g,"key",S):r;f=""}if(D1(f)||Jt.isBuffer(f)){if(s){var O=C?r:s(r,B.encoder,g,"key",S);return[x(O)+"="+x(s(f,B.encoder,g,"value",S))]}return[x(r)+"="+x(String(f))]}var P=[];if(typeof f>"u")return P;var I;if(n==="comma"&&de(f))C&&s&&(f=Jt.maybeMap(f,s)),I=[{value:f.length>0?f.join(",")||null:void 0}];else if(de(d))I=d;else{var N=Object.keys(f);I=y?N.sort(y):N}var T=c?String(r).replace(/\./g,"%2E"):String(r),R=a&&de(f)&&f.length===1?T+"[]":T;if(o&&de(f)&&f.length===0)return R+"[]";for(var j=0;j"u"?t.encodeDotInKeys===!0?!0:B.allowDots:!!t.allowDots;return{addQueryPrefix:typeof t.addQueryPrefix=="boolean"?t.addQueryPrefix:B.addQueryPrefix,allowDots:u,allowEmptyArrays:typeof t.allowEmptyArrays=="boolean"?!!t.allowEmptyArrays:B.allowEmptyArrays,arrayFormat:i,charset:r,charsetSentinel:typeof t.charsetSentinel=="boolean"?t.charsetSentinel:B.charsetSentinel,commaRoundTrip:!!t.commaRoundTrip,delimiter:typeof t.delimiter>"u"?B.delimiter:t.delimiter,encode:typeof t.encode=="boolean"?t.encode:B.encode,encodeDotInKeys:typeof t.encodeDotInKeys=="boolean"?t.encodeDotInKeys:B.encodeDotInKeys,encoder:typeof t.encoder=="function"?t.encoder:B.encoder,encodeValuesOnly:typeof t.encodeValuesOnly=="boolean"?t.encodeValuesOnly:B.encodeValuesOnly,filter:o,format:n,formatter:a,serializeDate:typeof t.serializeDate=="function"?t.serializeDate:B.serializeDate,skipNulls:typeof t.skipNulls=="boolean"?t.skipNulls:B.skipNulls,sort:typeof t.sort=="function"?t.sort:null,strictNullHandling:typeof t.strictNullHandling=="boolean"?t.strictNullHandling:B.strictNullHandling}},B1=function(e,t){var r=e,n=U1(t),a,o;typeof n.filter=="function"?(o=n.filter,r=o("",r)):de(n.filter)&&(o=n.filter,a=o);var i=[];if(typeof r!="object"||r===null)return"";var u=Ms[n.arrayFormat],c=u==="comma"&&n.commaRoundTrip;a||(a=Object.keys(r)),n.sort&&a.sort(n.sort);for(var s=Ts(),d=0;d0?S+b:""},ye=Rs,Qt=Object.prototype.hasOwnProperty,wn=Array.isArray,D={allowDots:!1,allowEmptyArrays:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decodeDotInKeys:!1,decoder:ye.decode,delimiter:"&",depth:5,duplicates:"combine",ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictDepth:!1,strictNullHandling:!1,throwOnLimitExceeded:!1},q1=function(e){return e.replace(/&#(\d+);/g,function(t,r){return String.fromCharCode(parseInt(r,10))})},Ns=function(e,t,r){if(e&&typeof e=="string"&&t.comma&&e.indexOf(",")>-1)return e.split(",");if(t.throwOnLimitExceeded&&r>=t.arrayLimit)throw new RangeError("Array limit exceeded. Only "+t.arrayLimit+" element"+(t.arrayLimit===1?"":"s")+" allowed in an array.");return e},H1="utf8=%26%2310003%3B",z1="utf8=%E2%9C%93",G1=function(t,r){var n={__proto__:null},a=r.ignoreQueryPrefix?t.replace(/^\?/,""):t;a=a.replace(/%5B/gi,"[").replace(/%5D/gi,"]");var o=r.parameterLimit===1/0?void 0:r.parameterLimit,i=a.split(r.delimiter,r.throwOnLimitExceeded?o+1:o);if(r.throwOnLimitExceeded&&i.length>o)throw new RangeError("Parameter limit exceeded. Only "+o+" parameter"+(o===1?"":"s")+" allowed.");var u=-1,c,s=r.charset;if(r.charsetSentinel)for(c=0;c-1&&(S=wn(S)?[S]:S),r.comma&&wn(S)&&S.length>r.arrayLimit){if(r.throwOnLimitExceeded)throw new RangeError("Array limit exceeded. Only "+r.arrayLimit+" element"+(r.arrayLimit===1?"":"s")+" allowed in an array.");S=ye.combine([],S,r.arrayLimit,r.plainObjects)}if(b!==null){var x=Qt.call(n,b);x&&r.duplicates==="combine"?n[b]=ye.combine(n[b],S,r.arrayLimit,r.plainObjects):(!x||r.duplicates==="last")&&(n[b]=S)}}return n},W1=function(e,t,r,n){var a=0;if(e.length>0&&e[e.length-1]==="[]"){var o=e.slice(0,-1).join("");a=Array.isArray(t)&&t[o]?t[o].length:0}for(var i=n?t:Ns(t,r,a),u=e.length-1;u>=0;--u){var c,s=e[u];if(s==="[]"&&r.parseArrays)ye.isOverflow(i)?c=i:c=r.allowEmptyArrays&&(i===""||r.strictNullHandling&&i===null)?[]:ye.combine([],i,r.arrayLimit,r.plainObjects);else{c=r.plainObjects?{__proto__:null}:{};var d=s.charAt(0)==="["&&s.charAt(s.length-1)==="]"?s.slice(1,-1):s,y=r.decodeDotInKeys?d.replace(/%2E/g,"."):d,v=parseInt(y,10),b=!isNaN(v)&&s!==y&&String(v)===y&&v>=0&&r.parseArrays;if(!r.parseArrays&&y==="")c={0:i};else if(b&&v"u"?D.charset:t.charset,n=typeof t.duplicates>"u"?D.duplicates:t.duplicates;if(n!=="combine"&&n!=="first"&&n!=="last")throw new TypeError("The duplicates option must be either combine, first, or last");var a=typeof t.allowDots>"u"?t.decodeDotInKeys===!0?!0:D.allowDots:!!t.allowDots;return{allowDots:a,allowEmptyArrays:typeof t.allowEmptyArrays=="boolean"?!!t.allowEmptyArrays:D.allowEmptyArrays,allowPrototypes:typeof t.allowPrototypes=="boolean"?t.allowPrototypes:D.allowPrototypes,allowSparse:typeof t.allowSparse=="boolean"?t.allowSparse:D.allowSparse,arrayLimit:typeof t.arrayLimit=="number"?t.arrayLimit:D.arrayLimit,charset:r,charsetSentinel:typeof t.charsetSentinel=="boolean"?t.charsetSentinel:D.charsetSentinel,comma:typeof t.comma=="boolean"?t.comma:D.comma,decodeDotInKeys:typeof t.decodeDotInKeys=="boolean"?t.decodeDotInKeys:D.decodeDotInKeys,decoder:typeof t.decoder=="function"?t.decoder:D.decoder,delimiter:typeof t.delimiter=="string"||ye.isRegExp(t.delimiter)?t.delimiter:D.delimiter,depth:typeof t.depth=="number"||t.depth===!1?+t.depth:D.depth,duplicates:n,ignoreQueryPrefix:t.ignoreQueryPrefix===!0,interpretNumericEntities:typeof t.interpretNumericEntities=="boolean"?t.interpretNumericEntities:D.interpretNumericEntities,parameterLimit:typeof t.parameterLimit=="number"?t.parameterLimit:D.parameterLimit,parseArrays:t.parseArrays!==!1,plainObjects:typeof t.plainObjects=="boolean"?t.plainObjects:D.plainObjects,strictDepth:typeof t.strictDepth=="boolean"?!!t.strictDepth:D.strictDepth,strictNullHandling:typeof t.strictNullHandling=="boolean"?t.strictNullHandling:D.strictNullHandling,throwOnLimitExceeded:typeof t.throwOnLimitExceeded=="boolean"?t.throwOnLimitExceeded:!1}},J1=function(e,t){var r=Y1(t);if(e===""||e===null||typeof e>"u")return r.plainObjects?{__proto__:null}:{};for(var n=typeof e=="string"?G1(e,r):e,a=r.plainObjects?{__proto__:null}:{},o=Object.keys(n),i=0;i-1};function at(e){if(typeof e!="string"&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(e)||e==="")throw new TypeError('Invalid character in header field name: "'+e+'"');return e.toLowerCase()}function Fa(e){return typeof e!="string"&&(e=String(e)),e}function ja(e){var t={next:function(){var r=e.shift();return{done:r===void 0,value:r}}};return J.iterable&&(t[Symbol.iterator]=function(){return t}),t}function q(e){this.map={},e instanceof q?e.forEach(function(t,r){this.append(r,t)},this):Array.isArray(e)?e.forEach(function(t){if(t.length!=2)throw new TypeError("Headers constructor: expected name/value pair to be length 2, found"+t.length);this.append(t[0],t[1])},this):e&&Object.getOwnPropertyNames(e).forEach(function(t){this.append(t,e[t])},this)}q.prototype.append=function(e,t){e=at(e),t=Fa(t);var r=this.map[e];this.map[e]=r?r+", "+t:t};q.prototype.delete=function(e){delete this.map[at(e)]};q.prototype.get=function(e){return e=at(e),this.has(e)?this.map[e]:null};q.prototype.has=function(e){return this.map.hasOwnProperty(at(e))};q.prototype.set=function(e,t){this.map[at(e)]=Fa(t)};q.prototype.forEach=function(e,t){for(var r in this.map)this.map.hasOwnProperty(r)&&e.call(t,this.map[r],r,this)};q.prototype.keys=function(){var e=[];return this.forEach(function(t,r){e.push(r)}),ja(e)};q.prototype.values=function(){var e=[];return this.forEach(function(t){e.push(t)}),ja(e)};q.prototype.entries=function(){var e=[];return this.forEach(function(t,r){e.push([r,t])}),ja(e)};J.iterable&&(q.prototype[Symbol.iterator]=q.prototype.entries);function Sn(e){if(!e._noBody){if(e.bodyUsed)return Promise.reject(new TypeError("Already read"));e.bodyUsed=!0}}function Fs(e){return new Promise(function(t,r){e.onload=function(){t(e.result)},e.onerror=function(){r(e.error)}})}function ab(e){var t=new FileReader,r=Fs(t);return t.readAsArrayBuffer(e),r}function ob(e){var t=new FileReader,r=Fs(t),n=/charset=([A-Za-z0-9_-]+)/.exec(e.type),a=n?n[1]:"utf-8";return t.readAsText(e,a),r}function ib(e){for(var t=new Uint8Array(e),r=new Array(t.length),n=0;n-1?t:e}function Ne(e,t){if(!(this instanceof Ne))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');t=t||{};var r=t.body;if(e instanceof Ne){if(e.bodyUsed)throw new TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new q(e.headers)),this.method=e.method,this.mode=e.mode,this.signal=e.signal,!r&&e._bodyInit!=null&&(r=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||"same-origin",(t.headers||!this.headers)&&(this.headers=new q(t.headers)),this.method=sb(t.method||this.method||"GET"),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal||function(){if("AbortController"in G){var o=new AbortController;return o.signal}}(),this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&r)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(r),(this.method==="GET"||this.method==="HEAD")&&(t.cache==="no-store"||t.cache==="no-cache")){var n=/([?&])_=[^&]*/;if(n.test(this.url))this.url=this.url.replace(n,"$1_="+new Date().getTime());else{var a=/\?/;this.url+=(a.test(this.url)?"&":"?")+"_="+new Date().getTime()}}}Ne.prototype.clone=function(){return new Ne(this,{body:this._bodyInit})};function cb(e){var t=new FormData;return e.trim().split("&").forEach(function(r){if(r){var n=r.split("="),a=n.shift().replace(/\+/g," "),o=n.join("=").replace(/\+/g," ");t.append(decodeURIComponent(a),decodeURIComponent(o))}}),t}function fb(e){var t=new q,r=e.replace(/\r?\n[\t ]+/g," ");return r.split("\r").map(function(n){return n.indexOf(` +`)===0?n.substr(1,n.length):n}).forEach(function(n){var a=n.split(":"),o=a.shift().trim();if(o){var i=a.join(":").trim();try{t.append(o,i)}catch(u){console.warn("Response "+u.message)}}}),t}js.call(Ne.prototype);function me(e,t){if(!(this instanceof me))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');if(t||(t={}),this.type="default",this.status=t.status===void 0?200:t.status,this.status<200||this.status>599)throw new RangeError("Failed to construct 'Response': The status provided (0) is outside the range [200, 599].");this.ok=this.status>=200&&this.status<300,this.statusText=t.statusText===void 0?"":""+t.statusText,this.headers=new q(t.headers),this.url=t.url||"",this._initBody(e)}js.call(me.prototype);me.prototype.clone=function(){return new me(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new q(this.headers),url:this.url})};me.error=function(){var e=new me(null,{status:200,statusText:""});return e.ok=!1,e.status=0,e.type="error",e};var lb=[301,302,303,307,308];me.redirect=function(e,t){if(lb.indexOf(t)===-1)throw new RangeError("Invalid status code");return new me(null,{status:t,headers:{location:e}})};var Me=G.DOMException;try{new Me}catch{Me=function(t,r){this.message=t,this.name=r;var n=Error(t);this.stack=n.stack},Me.prototype=Object.create(Error.prototype),Me.prototype.constructor=Me}function Ls(e,t){return new Promise(function(r,n){var a=new Ne(e,t);if(a.signal&&a.signal.aborted)return n(new Me("Aborted","AbortError"));var o=new XMLHttpRequest;function i(){o.abort()}o.onload=function(){var s={statusText:o.statusText,headers:fb(o.getAllResponseHeaders()||"")};a.url.indexOf("file://")===0&&(o.status<200||o.status>599)?s.status=200:s.status=o.status,s.url="responseURL"in o?o.responseURL:s.headers.get("X-Request-URL");var d="response"in o?o.response:o.responseText;setTimeout(function(){r(new me(d,s))},0)},o.onerror=function(){setTimeout(function(){n(new TypeError("Network request failed"))},0)},o.ontimeout=function(){setTimeout(function(){n(new TypeError("Network request timed out"))},0)},o.onabort=function(){setTimeout(function(){n(new Me("Aborted","AbortError"))},0)};function u(s){try{return s===""&&G.location.href?G.location.href:s}catch{return s}}if(o.open(a.method,u(a.url),!0),a.credentials==="include"?o.withCredentials=!0:a.credentials==="omit"&&(o.withCredentials=!1),"responseType"in o&&(J.blob?o.responseType="blob":J.arrayBuffer&&(o.responseType="arraybuffer")),t&&typeof t.headers=="object"&&!(t.headers instanceof q||G.Headers&&t.headers instanceof G.Headers)){var c=[];Object.getOwnPropertyNames(t.headers).forEach(function(s){c.push(at(s)),o.setRequestHeader(s,Fa(t.headers[s]))}),a.headers.forEach(function(s,d){c.indexOf(d)===-1&&o.setRequestHeader(d,s)})}else a.headers.forEach(function(s,d){o.setRequestHeader(d,s)});a.signal&&(a.signal.addEventListener("abort",i),o.onreadystatechange=function(){o.readyState===4&&a.signal.removeEventListener("abort",i)}),o.send(typeof a._bodyInit>"u"?null:a._bodyInit)})}Ls.polyfill=!0;G.fetch||(G.fetch=Ls,G.Headers=q,G.Request=Ne,G.Response=me);self.fetch.bind(self);function vi(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function ee(e){for(var t=1;t"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Zt(e,t,r){return ks()?Zt=Reflect.construct:Zt=function(a,o,i){var u=[null];u.push.apply(u,o);var c=Function.bind.apply(a,u),s=new c;return i&&wt(s,i.prototype),s},Zt.apply(null,arguments)}function pb(e){return Function.toString.call(e).indexOf("[native code]")!==-1}function cr(e){var t=typeof Map=="function"?new Map:void 0;return cr=function(n){if(n===null||!pb(n))return n;if(typeof n!="function")throw new TypeError("Super expression must either be null or a function");if(typeof t<"u"){if(t.has(n))return t.get(n);t.set(n,a)}function a(){return Zt(n,arguments,bt(this).constructor)}return a.prototype=Object.create(n.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),wt(a,n)},cr(e)}function vb(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function hb(e,t){if(t&&(typeof t=="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return vb(e)}function Us(e){var t=ks();return function(){var n=bt(e),a;if(t){var o=bt(this).constructor;a=Reflect.construct(n,arguments,o)}else a=n.apply(this,arguments);return hb(this,a)}}function ve(e){return yb(e)||mb(e)||gb(e)||bb()}function yb(e){if(Array.isArray(e))return na(e)}function mb(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function gb(e,t){if(e){if(typeof e=="string")return na(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return na(e,t)}}function na(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r1&&arguments[1]!==void 0?arguments[1]:{global:!1,core:!1,defaultInstance:!1},a=!1,o=!1,i=!1;if(typeof n=="number"?(process&&process.env,a=!0,o=!1):Oe(n)==="object"&&n&&(o=n.global||!1,a=n.core||!1,i=n.defaultInstance||!1),o){e.globalMiddlewares.splice(e.globalMiddlewares.length-e.defaultGlobalMiddlewaresLength,0,r);return}if(a){e.coreMiddlewares.splice(e.coreMiddlewares.length-e.defaultCoreMiddlewaresLength,0,r);return}if(i){this.defaultMiddlewares.push(r);return}this.middlewares.push(r)}},{key:"execute",value:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,n=wb([].concat(ve(this.middlewares),ve(this.defaultMiddlewares),ve(e.globalMiddlewares),ve(e.coreMiddlewares)));return n(r)}}]),e}();se.globalMiddlewares=[];se.defaultGlobalMiddlewaresLength=0;se.coreMiddlewares=[];se.defaultCoreMiddlewaresLength=0;var Sb=function(){function e(t){$t(this,e),this.cache=new Map,this.timer={},this.extendOptions(t)}return La(e,[{key:"extendOptions",value:function(r){this.maxCache=r.maxCache||0}},{key:"get",value:function(r){return this.cache.get(JSON.stringify(r))}},{key:"set",value:function(r,n){var a=this,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:6e4;if(this.maxCache>0&&this.cache.size>=this.maxCache){var i=ve(this.cache.keys())[0];this.cache.delete(i),this.timer[i]&&clearTimeout(this.timer[i])}var u=JSON.stringify(r);this.cache.set(u,n),o>0&&(this.timer[u]=setTimeout(function(){a.cache.delete(u),delete a.timer[u]},o))}},{key:"delete",value:function(r){var n=JSON.stringify(r);return delete this.timer[n],this.cache.delete(n)}},{key:"clear",value:function(){return this.timer={},this.cache.clear()}}]),e}(),Bs=function(e){Ds(r,e);var t=Us(r);function r(n,a){var o,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"RequestError";return $t(this,r),o=t.call(this,n),o.name="RequestError",o.request=a,o.type=i,o}return r}(cr(Error)),ct=function(e){Ds(r,e);var t=Us(r);function r(n,a,o,i){var u,c=arguments.length>4&&arguments[4]!==void 0?arguments[4]:"ResponseError";return $t(this,r),u=t.call(this,a||n.statusText),u.name="ResponseError",u.data=o,u.response=n,u.request=i,u.type=c,u}return r}(cr(Error));function Cb(e){return new Promise(function(t,r){var n=new FileReader;n.onload=function(){t(n.result)},n.onerror=r,n.readAsText(e,"GBK")})}function yi(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;try{return JSON.parse(e)}catch{if(t)throw new ct(r,"JSON.parse fail",e,n,"ParseError")}return e}function xb(e,t,r){return new Promise(function(n,a){setTimeout(function(){a(new Bs(t||"timeout of ".concat(e,"ms exceeded"),r,"Timeout"))},e)})}function mi(e){return new Promise(function(t,r){e.cancelToken&&e.cancelToken.promise.then(function(n){r(n)})})}var _b=Object.prototype.toString;function qs(){var e;return typeof process<"u"&&_b.call(process)==="[object process]"&&(e="NODE"),typeof XMLHttpRequest<"u"&&(e="BROWSER"),e}function aa(e){return Oe(e)==="object"&&Object.prototype.toString.call(e)==="[object Array]"}function Hs(e){return typeof URLSearchParams<"u"&&e instanceof URLSearchParams}function Eb(e){return Oe(e)==="object"&&Object.prototype.toString.call(e)==="[object Date]"}function gi(e){return e!==null&&Oe(e)==="object"}function bi(e,t){if(e)if(Oe(e)!=="object"&&(e=[e]),aa(e))for(var r=0;r1&&arguments[1]!==void 0?arguments[1]:{},n=r.prefix,a=r.suffix;return n&&(t="".concat(n).concat(t)),a&&(t="".concat(t).concat(a)),{url:t,options:r}};function Pb(e,t){var r=t.method,n=r===void 0?"get":r;return n.toLowerCase()==="get"}function $b(e,t){if(!e)return t();var r=e.req;r=r===void 0?{}:r;var n=r.options,a=n===void 0?{}:n,o=r.url,i=o===void 0?"":o,u=e.cache,c=e.responseInterceptors,s=a.timeout,d=s===void 0?0:s,y=a.timeoutMessage,v=a.__umiRequestCoreType__,b=v===void 0?"normal":v,S=a.useCache,x=S===void 0?!1:S,C=a.method,g=C===void 0?"get":C,m=a.params,f=a.ttl,l=a.validateCache,h=l===void 0?Pb:l;if(b!=="normal")return process&&process.env,t();var p=fetch;if(!p)throw new Error("Global fetch not exist!");var _=qs()==="BROWSER",O=h(i,a)&&x&&_;if(O){var P=u.get({url:i,params:m,method:g});if(P)return P=P.clone(),P.useCache=!0,e.res=P,t()}var I;return d>0?I=Promise.race([mi(a),p(i,a),xb(d,y,e.req)]):I=Promise.race([mi(a),p(i,a)]),c.forEach(function(N){I=I.then(function(T){var R=typeof T.clone=="function"?T.clone():T;return N(R,a)})}),I.then(function(N){if(O&&N.status===200){var T=N.clone();T.useCache=!0,u.set({url:i,params:m,method:g},T,f)}return e.res=N,t()})}function Ab(e,t){var r;return t().then(function(){if(e){var n=e.res,a=n===void 0?{}:n,o=e.req,i=o===void 0?{}:o,u=i||{},c=u.options;c=c===void 0?{}:c;var s=c.responseType,d=s===void 0?"json":s,y=c.charset,v=y===void 0?"utf8":y;c.getResponse;var b=c.throwErrIfParseFail,S=b===void 0?!1:b,x=c.parseResponse,C=x===void 0?!0:x;if(C&&!(!a||!a.clone)){if(r=qs()==="BROWSER"?a.clone():a,r.useCache=a.useCache||!1,v==="gbk")try{return a.blob().then(Cb).then(function(g){return yi(g,!1,r,i)})}catch(g){throw new ct(r,g.message,null,i,"ParseError")}else if(d==="json")return a.text().then(function(g){return yi(g,S,r,i)});try{return a[d]()}catch{throw new ct(r,"responseType not support",null,i,"ParseError")}}}}).then(function(n){if(e){e.res;var a=e.req,o=a===void 0?{}:a,i=o||{},u=i.options;u=u===void 0?{}:u;var c=u.getResponse,s=c===void 0?!1:c;if(r){if(r.status>=200&&r.status<300){if(s){e.res={data:n,response:r};return}e.res=n;return}throw new ct(r,"http error",n,o,"HttpError")}}}).catch(function(n){if(n instanceof Bs||n instanceof ct)throw n;var a=e.req,o=e.res;throw n.request=n.request||a,n.response=n.response||o,n.type=n.type||n.name,n.data=n.data||void 0,n})}function Rb(e,t){if(!e)return t();var r=e.req;r=r===void 0?{}:r;var n=r.options,a=n===void 0?{}:n,o=a.method,i=o===void 0?"get":o;if(["post","put","patch","delete"].indexOf(i.toLowerCase())===-1)return t();var u=a.requestType,c=u===void 0?"json":u,s=a.data;if(s){var d=Object.prototype.toString.call(s);d==="[object Object]"||d==="[object Array]"?c==="json"?(a.headers=ee({Accept:"application/json","Content-Type":"application/json;charset=UTF-8"},a.headers),a.body=JSON.stringify(s)):c==="form"&&(a.headers=ee({Accept:"application/json","Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"},a.headers),a.body=oa(s)):(a.headers=ee({Accept:"application/json"},a.headers),a.body=s)}return e.req.options=a,t()}function Tb(e,t){var r,n;if(e)if(t)r=t(e);else if(Hs(e))r=e.toString();else if(aa(e))n=[],bi(e,function(o){o===null||typeof o>"u"?n.push(o):n.push(gi(o)?JSON.stringify(o):o)}),r=oa(n);else{n={},bi(e,function(o,i){var u=o;o===null||typeof o>"u"?n[i]=o:Eb(o)?u=o.toISOString():aa(o)?u=o:gi(o)&&(u=JSON.stringify(o)),n[i]=u});var a=oa(n);r=a}return r}function Mb(e,t){if(!e)return t();var r=e.req;r=r===void 0?{}:r;var n=r.options,a=n===void 0?{}:n,o=a.paramsSerializer,i=a.params,u=e.req;u=u===void 0?{}:u;var c=u.url,s=c===void 0?"":c;a.method=a.method?a.method.toUpperCase():"GET",a.credentials=a.credentials||"same-origin";var d=Tb(i,o);if(e.req.originUrl=s,d){var y=s.indexOf("?")!==-1?"&":"?";e.req.url="".concat(s).concat(y).concat(d)}return e.req.options=a,t()}var Gs=[Rb,Mb,Ab],Ws=[$b];se.globalMiddlewares=Gs;se.defaultGlobalMiddlewaresLength=Gs.length;se.coreMiddlewares=Ws;se.defaultCoreMiddlewaresLength=Ws.length;var yt=function(){function e(t){$t(this,e),this.onion=new se([]),this.fetchIndex=0,this.mapCache=new Sb(t),this.initOptions=t,this.instanceRequestInterceptors=[],this.instanceResponseInterceptors=[]}return La(e,[{key:"use",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{global:!1,core:!1};return this.onion.use(r,n),this}},{key:"extendOptions",value:function(r){this.initOptions=zs(this.initOptions,r),this.mapCache.extendOptions(r)}},{key:"dealRequestInterceptors",value:function(r){var n=function(i,u){return i.then(function(){var c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return r.req.url=c.url||r.req.url,r.req.options=c.options||r.req.options,u(r.req.url,r.req.options)})},a=[].concat(ve(e.requestInterceptors),ve(this.instanceRequestInterceptors));return a.reduce(n,Promise.resolve()).then(function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return r.req.url=o.url||r.req.url,r.req.options=o.options||r.req.options,Promise.resolve()})}},{key:"request",value:function(r,n){var a=this,o=this.onion,i={req:{url:r,options:ee(ee({},n),{},{url:r})},res:null,cache:this.mapCache,responseInterceptors:[].concat(ve(e.responseInterceptors),ve(this.instanceResponseInterceptors))};if(typeof r!="string")throw new Error("url MUST be a string");return new Promise(function(u,c){a.dealRequestInterceptors(i).then(function(){return o.execute(i)}).then(function(){u(i.res)}).catch(function(s){var d=i.req.options.errorHandler;if(d)try{var y=d(s);u(y)}catch(v){c(v)}else c(s)})})}}],[{key:"requestUse",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{global:!0};if(typeof r!="function")throw new TypeError("Interceptor must be function!");n.global?e.requestInterceptors.push(r):this.instanceRequestInterceptors.push(r)}},{key:"responseUse",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{global:!0};if(typeof r!="function")throw new TypeError("Interceptor must be function!");n.global?e.responseInterceptors.push(r):this.instanceResponseInterceptors.push(r)}}]),e}();yt.requestInterceptors=[Ob];yt.responseInterceptors=[];function Ur(e){this.message=e}Ur.prototype.toString=function(){return this.message?"Cancel: ".concat(this.message):"Cancel"};Ur.prototype.__CANCEL__=!0;function fr(e){if(typeof e!="function")throw new TypeError("executor must be a function.");var t;this.promise=new Promise(function(a){t=a});var r=this;e(function(a){r.reason||(r.reason=new Ur(a),t(r.reason))})}fr.prototype.throwIfRequested=function(){if(this.reason)throw this.reason};fr.source=function(){var t,r=new fr(function(a){t=a});return{token:r,cancel:t}};function Ib(e){return!!(e&&e.__CANCEL__)}var Da=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=new yt(t),n=function(i){var u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},c=zs(r.initOptions,u);return r.request(i,c)};n.use=r.use.bind(r),n.fetchIndex=r.fetchIndex,n.interceptors={request:{use:yt.requestUse.bind(r)},response:{use:yt.responseUse.bind(r)}};var a=["get","post","delete","put","patch","head","options","rpc"];return a.forEach(function(o){n[o]=function(i,u){return n(i,ee(ee({},u),{},{method:o}))}}),n.Cancel=Ur,n.CancelToken=fr,n.isCancel=Ib,n.extendOptions=r.extendOptions.bind(r),n.middlewares={instance:r.onion.middlewares,defaultInstance:r.onion.defaultMiddlewares,global:se.globalMiddlewares,core:se.coreMiddlewares},n},Nb=function(t){return Da(t)};Da({parseResponse:!1});Da({});var Vs={exports:{}};(function(e,t){(function(r){e.exports=r()})(function(r){var n=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];function a(g,m){var f=g[0],l=g[1],h=g[2],p=g[3];f+=(l&h|~l&p)+m[0]-680876936|0,f=(f<<7|f>>>25)+l|0,p+=(f&l|~f&h)+m[1]-389564586|0,p=(p<<12|p>>>20)+f|0,h+=(p&f|~p&l)+m[2]+606105819|0,h=(h<<17|h>>>15)+p|0,l+=(h&p|~h&f)+m[3]-1044525330|0,l=(l<<22|l>>>10)+h|0,f+=(l&h|~l&p)+m[4]-176418897|0,f=(f<<7|f>>>25)+l|0,p+=(f&l|~f&h)+m[5]+1200080426|0,p=(p<<12|p>>>20)+f|0,h+=(p&f|~p&l)+m[6]-1473231341|0,h=(h<<17|h>>>15)+p|0,l+=(h&p|~h&f)+m[7]-45705983|0,l=(l<<22|l>>>10)+h|0,f+=(l&h|~l&p)+m[8]+1770035416|0,f=(f<<7|f>>>25)+l|0,p+=(f&l|~f&h)+m[9]-1958414417|0,p=(p<<12|p>>>20)+f|0,h+=(p&f|~p&l)+m[10]-42063|0,h=(h<<17|h>>>15)+p|0,l+=(h&p|~h&f)+m[11]-1990404162|0,l=(l<<22|l>>>10)+h|0,f+=(l&h|~l&p)+m[12]+1804603682|0,f=(f<<7|f>>>25)+l|0,p+=(f&l|~f&h)+m[13]-40341101|0,p=(p<<12|p>>>20)+f|0,h+=(p&f|~p&l)+m[14]-1502002290|0,h=(h<<17|h>>>15)+p|0,l+=(h&p|~h&f)+m[15]+1236535329|0,l=(l<<22|l>>>10)+h|0,f+=(l&p|h&~p)+m[1]-165796510|0,f=(f<<5|f>>>27)+l|0,p+=(f&h|l&~h)+m[6]-1069501632|0,p=(p<<9|p>>>23)+f|0,h+=(p&l|f&~l)+m[11]+643717713|0,h=(h<<14|h>>>18)+p|0,l+=(h&f|p&~f)+m[0]-373897302|0,l=(l<<20|l>>>12)+h|0,f+=(l&p|h&~p)+m[5]-701558691|0,f=(f<<5|f>>>27)+l|0,p+=(f&h|l&~h)+m[10]+38016083|0,p=(p<<9|p>>>23)+f|0,h+=(p&l|f&~l)+m[15]-660478335|0,h=(h<<14|h>>>18)+p|0,l+=(h&f|p&~f)+m[4]-405537848|0,l=(l<<20|l>>>12)+h|0,f+=(l&p|h&~p)+m[9]+568446438|0,f=(f<<5|f>>>27)+l|0,p+=(f&h|l&~h)+m[14]-1019803690|0,p=(p<<9|p>>>23)+f|0,h+=(p&l|f&~l)+m[3]-187363961|0,h=(h<<14|h>>>18)+p|0,l+=(h&f|p&~f)+m[8]+1163531501|0,l=(l<<20|l>>>12)+h|0,f+=(l&p|h&~p)+m[13]-1444681467|0,f=(f<<5|f>>>27)+l|0,p+=(f&h|l&~h)+m[2]-51403784|0,p=(p<<9|p>>>23)+f|0,h+=(p&l|f&~l)+m[7]+1735328473|0,h=(h<<14|h>>>18)+p|0,l+=(h&f|p&~f)+m[12]-1926607734|0,l=(l<<20|l>>>12)+h|0,f+=(l^h^p)+m[5]-378558|0,f=(f<<4|f>>>28)+l|0,p+=(f^l^h)+m[8]-2022574463|0,p=(p<<11|p>>>21)+f|0,h+=(p^f^l)+m[11]+1839030562|0,h=(h<<16|h>>>16)+p|0,l+=(h^p^f)+m[14]-35309556|0,l=(l<<23|l>>>9)+h|0,f+=(l^h^p)+m[1]-1530992060|0,f=(f<<4|f>>>28)+l|0,p+=(f^l^h)+m[4]+1272893353|0,p=(p<<11|p>>>21)+f|0,h+=(p^f^l)+m[7]-155497632|0,h=(h<<16|h>>>16)+p|0,l+=(h^p^f)+m[10]-1094730640|0,l=(l<<23|l>>>9)+h|0,f+=(l^h^p)+m[13]+681279174|0,f=(f<<4|f>>>28)+l|0,p+=(f^l^h)+m[0]-358537222|0,p=(p<<11|p>>>21)+f|0,h+=(p^f^l)+m[3]-722521979|0,h=(h<<16|h>>>16)+p|0,l+=(h^p^f)+m[6]+76029189|0,l=(l<<23|l>>>9)+h|0,f+=(l^h^p)+m[9]-640364487|0,f=(f<<4|f>>>28)+l|0,p+=(f^l^h)+m[12]-421815835|0,p=(p<<11|p>>>21)+f|0,h+=(p^f^l)+m[15]+530742520|0,h=(h<<16|h>>>16)+p|0,l+=(h^p^f)+m[2]-995338651|0,l=(l<<23|l>>>9)+h|0,f+=(h^(l|~p))+m[0]-198630844|0,f=(f<<6|f>>>26)+l|0,p+=(l^(f|~h))+m[7]+1126891415|0,p=(p<<10|p>>>22)+f|0,h+=(f^(p|~l))+m[14]-1416354905|0,h=(h<<15|h>>>17)+p|0,l+=(p^(h|~f))+m[5]-57434055|0,l=(l<<21|l>>>11)+h|0,f+=(h^(l|~p))+m[12]+1700485571|0,f=(f<<6|f>>>26)+l|0,p+=(l^(f|~h))+m[3]-1894986606|0,p=(p<<10|p>>>22)+f|0,h+=(f^(p|~l))+m[10]-1051523|0,h=(h<<15|h>>>17)+p|0,l+=(p^(h|~f))+m[1]-2054922799|0,l=(l<<21|l>>>11)+h|0,f+=(h^(l|~p))+m[8]+1873313359|0,f=(f<<6|f>>>26)+l|0,p+=(l^(f|~h))+m[15]-30611744|0,p=(p<<10|p>>>22)+f|0,h+=(f^(p|~l))+m[6]-1560198380|0,h=(h<<15|h>>>17)+p|0,l+=(p^(h|~f))+m[13]+1309151649|0,l=(l<<21|l>>>11)+h|0,f+=(h^(l|~p))+m[4]-145523070|0,f=(f<<6|f>>>26)+l|0,p+=(l^(f|~h))+m[11]-1120210379|0,p=(p<<10|p>>>22)+f|0,h+=(f^(p|~l))+m[2]+718787259|0,h=(h<<15|h>>>17)+p|0,l+=(p^(h|~f))+m[9]-343485551|0,l=(l<<21|l>>>11)+h|0,g[0]=f+g[0]|0,g[1]=l+g[1]|0,g[2]=h+g[2]|0,g[3]=p+g[3]|0}function o(g){var m=[],f;for(f=0;f<64;f+=4)m[f>>2]=g.charCodeAt(f)+(g.charCodeAt(f+1)<<8)+(g.charCodeAt(f+2)<<16)+(g.charCodeAt(f+3)<<24);return m}function i(g){var m=[],f;for(f=0;f<64;f+=4)m[f>>2]=g[f]+(g[f+1]<<8)+(g[f+2]<<16)+(g[f+3]<<24);return m}function u(g){var m=g.length,f=[1732584193,-271733879,-1732584194,271733878],l,h,p,_,O,P;for(l=64;l<=m;l+=64)a(f,o(g.substring(l-64,l)));for(g=g.substring(l-64),h=g.length,p=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],l=0;l>2]|=g.charCodeAt(l)<<(l%4<<3);if(p[l>>2]|=128<<(l%4<<3),l>55)for(a(f,p),l=0;l<16;l+=1)p[l]=0;return _=m*8,_=_.toString(16).match(/(.*?)(.{0,8})$/),O=parseInt(_[2],16),P=parseInt(_[1],16)||0,p[14]=O,p[15]=P,a(f,p),f}function c(g){var m=g.length,f=[1732584193,-271733879,-1732584194,271733878],l,h,p,_,O,P;for(l=64;l<=m;l+=64)a(f,i(g.subarray(l-64,l)));for(g=l-64>2]|=g[l]<<(l%4<<3);if(p[l>>2]|=128<<(l%4<<3),l>55)for(a(f,p),l=0;l<16;l+=1)p[l]=0;return _=m*8,_=_.toString(16).match(/(.*?)(.{0,8})$/),O=parseInt(_[2],16),P=parseInt(_[1],16)||0,p[14]=O,p[15]=P,a(f,p),f}function s(g){var m="",f;for(f=0;f<4;f+=1)m+=n[g>>f*8+4&15]+n[g>>f*8&15];return m}function d(g){var m;for(m=0;mp?new ArrayBuffer(0):(_=p-h,O=new ArrayBuffer(_),P=new Uint8Array(O),I=new Uint8Array(this,h,_),P.set(I),O)}}();function y(g){return/[\u0080-\uFFFF]/.test(g)&&(g=unescape(encodeURIComponent(g))),g}function v(g,m){var f=g.length,l=new ArrayBuffer(f),h=new Uint8Array(l),p;for(p=0;p>2]|=m.charCodeAt(l)<<(l%4<<3);return this._finish(h,f),p=d(this._hash),g&&(p=x(p)),this.reset(),p},C.prototype.reset=function(){return this._buff="",this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},C.prototype.getState=function(){return{buff:this._buff,length:this._length,hash:this._hash.slice()}},C.prototype.setState=function(g){return this._buff=g.buff,this._length=g.length,this._hash=g.hash,this},C.prototype.destroy=function(){delete this._hash,delete this._buff,delete this._length},C.prototype._finish=function(g,m){var f=m,l,h,p;if(g[f>>2]|=128<<(f%4<<3),f>55)for(a(this._hash,g),f=0;f<16;f+=1)g[f]=0;l=this._length*8,l=l.toString(16).match(/(.*?)(.{0,8})$/),h=parseInt(l[2],16),p=parseInt(l[1],16)||0,g[14]=h,g[15]=p,a(this._hash,g)},C.hash=function(g,m){return C.hashBinary(y(g),m)},C.hashBinary=function(g,m){var f=u(g),l=d(f);return m?x(l):l},C.ArrayBuffer=function(){this.reset()},C.ArrayBuffer.prototype.append=function(g){var m=S(this._buff.buffer,g,!0),f=m.length,l;for(this._length+=g.byteLength,l=64;l<=f;l+=64)a(this._hash,i(m.subarray(l-64,l)));return this._buff=l-64>2]|=m[h]<<(h%4<<3);return this._finish(l,f),p=d(this._hash),g&&(p=x(p)),this.reset(),p},C.ArrayBuffer.prototype.reset=function(){return this._buff=new Uint8Array(0),this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},C.ArrayBuffer.prototype.getState=function(){var g=C.prototype.getState.call(this);return g.buff=b(g.buff),g},C.ArrayBuffer.prototype.setState=function(g){return g.buff=v(g.buff,!0),C.prototype.setState.call(this,g)},C.ArrayBuffer.prototype.destroy=C.prototype.destroy,C.ArrayBuffer.prototype._finish=C.prototype._finish,C.ArrayBuffer.hash=function(g,m){var f=c(new Uint8Array(g)),l=d(f);return m?x(l):l},C})})(Vs);var Fb=Vs.exports;const Ks=St(Fb),jb="8d5f0981493d3112328fdd21346f23a3",Lb=({method:e,data:t,requestHeader:r})=>{(e==="GET"||!t)&&(t={});let n={};n.body=JSON.stringify(t),["stmp","type","sess","orn","lang","size","ver","code","seq"].sort().map(i=>n[i]=r[i]);const o=eb.stringify(n)+jb;return Ks.hash(decodeURIComponent(o))},Db="1.0.0",kb="torchTrain",{userAgent:Si,platform:Ub}=navigator,Bb=()=>"654a591de5d3a4b0",qb=()=>({size:0,dst:"",type:1,ver:512,lang:"zh_CN",seq:0,code:0,stmp:new Date().getTime(),sign:"",ext:"CN",desc:"",sess:Bb(),orn:`${Si.split(" ")[1]}$${Ub}$${Si.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)?"ios":"android"}$${Db}$${kb}`}),Hb=(e,t)=>{const r=qb();return r.sign=Lb({method:e,data:t,requestHeader:r}),r},Ys={development:"",test:"",production:""},ka=Nb({prefix:Ys.production,timeout:6e4});ka.interceptors.request.use((e,t)=>(t.headers=Object.assign(t.headers,Hb(t.method,t.data||{})),{url:e,options:t}));ka.interceptors.response.use(async e=>{const{status:t}=e;if(t!==200)return e;const r=await e.clone().json();if((r==null?void 0:r.code)===0)return r.data;throw new Error(r==null?void 0:r.message)});const Xw=Ys.production==null,Js=ka;var Ua={exports:{}};const zb=(e,t,r,n)=>{if(r==="length"||r==="prototype"||r==="arguments"||r==="caller")return;const a=Object.getOwnPropertyDescriptor(e,r),o=Object.getOwnPropertyDescriptor(t,r);!Gb(a,o)&&n||Object.defineProperty(e,r,o)},Gb=function(e,t){return e===void 0||e.configurable||e.writable===t.writable&&e.enumerable===t.enumerable&&e.configurable===t.configurable&&(e.writable||e.value===t.value)},Wb=(e,t)=>{const r=Object.getPrototypeOf(t);r!==Object.getPrototypeOf(e)&&Object.setPrototypeOf(e,r)},Vb=(e,t)=>`/* Wrapped ${e}*/ +${t}`,Kb=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),Yb=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name"),Jb=(e,t,r)=>{const n=r===""?"":`with ${r.trim()}() `,a=Vb.bind(null,n,t.toString());Object.defineProperty(a,"name",Yb),Object.defineProperty(e,"toString",{...Kb,value:a})},Qb=(e,t,{ignoreNonConfigurable:r=!1}={})=>{const{name:n}=e;for(const a of Reflect.ownKeys(t))zb(e,t,a,r);return Wb(e,t),Jb(e,t,n),e};var Zb=Qb,ia={exports:{}},Xb=()=>{const e={};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e};(function(e,t){var r=he&&he.__awaiter||function(i,u,c,s){return new(c||(c=Promise))(function(d,y){function v(x){try{S(s.next(x))}catch(C){y(C)}}function b(x){try{S(s.throw(x))}catch(C){y(C)}}function S(x){x.done?d(x.value):new c(function(C){C(x.value)}).then(v,b)}S((s=s.apply(i,u||[])).next())})},n=he&&he.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(t,"__esModule",{value:!0});const a=n(Xb);function o(i,u="maxAge"){let c,s,d;const y=()=>r(this,void 0,void 0,function*(){if(c!==void 0)return;const S=x=>r(this,void 0,void 0,function*(){d=a.default();const C=x[1][u]-Date.now();if(C<=0){i.delete(x[0]),d.resolve();return}return c=x[0],s=setTimeout(()=>{i.delete(x[0]),d&&d.resolve()},C),typeof s.unref=="function"&&s.unref(),d.promise});try{for(const x of i)yield S(x)}catch{}c=void 0}),v=()=>{c=void 0,s!==void 0&&(clearTimeout(s),s=void 0),d!==void 0&&(d.reject(void 0),d=void 0)},b=i.set.bind(i);return i.set=(S,x)=>{i.has(S)&&i.delete(S);const C=b(S,x);return c&&c===S&&v(),y(),C},y(),i}t.default=o,e.exports=o,e.exports.default=o})(ia,ia.exports);var e2=ia.exports,Ba={exports:{}};const Qs=async e=>{try{return{isFulfilled:!0,isRejected:!1,value:await e}}catch(t){return{isFulfilled:!1,isRejected:!0,reason:t}}};Ba.exports=Qs;Ba.exports.default=Qs;var t2=Ba.exports,qa={exports:{}},Ha={exports:{}};const Zs=(e,...t)=>new Promise(r=>{r(e(...t))});Ha.exports=Zs;Ha.exports.default=Zs;var r2=Ha.exports;const n2=r2,Xs=e=>{if(!((Number.isInteger(e)||e===1/0)&&e>0))return Promise.reject(new TypeError("Expected `concurrency` to be a number from 1 and up"));const t=[];let r=0;const n=()=>{r--,t.length>0&&t.shift()()},a=(u,c,...s)=>{r++;const d=n2(u,...s);c(d),d.then(n,n)},o=(u,c,...s)=>{rnew Promise(s=>o(u,s,...c));return Object.defineProperties(i,{activeCount:{get:()=>r},pendingCount:{get:()=>t.length},clearQueue:{value:()=>{t.length=0}}}),i};qa.exports=Xs;qa.exports.default=Xs;var a2=qa.exports;const Cn=t2,o2=a2;var i2=async(e,t={})=>{const{concurrency:r=1/0}=t,n=o2(r);return Promise.all(e.map(a=>a&&typeof a.then=="function"?Cn(a):Cn(typeof a=="function"?n(()=>a()):Promise.resolve(a))))};const u2=Zb,s2=e2,c2=i2,ua=new WeakMap,f2=(e,{cachePromiseRejection:t=!1,...r}={})=>{const{maxAge:n,cacheKey:a}=r,o=r.cache||new Map;if(Number.isSafeInteger(n))s2(o);else if(typeof n<"u")throw new TypeError("maxAge is not a safe integer.");const i=async function(...u){const c=a?a(u):u[0],s=o.get(c);if(s)return s.data;const d=e.apply(this,u);o.set(c,{data:d,maxAge:2**31-1});const[{reason:y}]=await c2([d]);return!t&&y?o.delete(c):n&&o.set(c,{data:d,maxAge:Date.now()+n}),d};return u2(i,e),ua.set(i,o),i};Ua.exports=f2;Ua.exports.clear=e=>{if(!ua.has(e))throw new Error("Can't clear a function that was not memoized!");const t=ua.get(e);if(typeof t.clear!="function")throw new TypeError("The cache Map can't be cleared!");t.clear()};var l2=Ua.exports;const d2=St(l2);async function p2(e){return Ks.ArrayBuffer.hash(await e.arrayBuffer())}async function v2(e){if(!e)return null;const t=await p2(e),r={"image/jpeg":"jpg","image/gif":"gif","image/png":"png","image/x-ms-bmp":"bmp","image/tiff":"tif","application/json":"json"}[e.type];return`${t}.${r}`}async function eS(e){const t=await Js.get("/api/file/token",{params:{filename:await v2(e)}});console.log("[getUploadParams] response:",t);const r=n=>(n==null?void 0:n.replace(/^https?:\/\/[^/]+/,""))||n;return{key:t.key,token:t.token,url:r(t.url),uploadUrl:r(t.uploadUrl)}}async function tS(e,t){console.log("[uploadFile] file:",e==null?void 0:e.name,e==null?void 0:e.size,e==null?void 0:e.type),console.log("[uploadFile] params:",t);const r=new FormData;r.append("file",e);const a=`${t.uploadUrl.replace(/^https?:\/\/[^/]+/,"")}?key=${encodeURIComponent(t.key)}`;console.log("[uploadFile] making fetch to:",a);const o=await fetch(a,{method:"POST",body:r});if(console.log("[uploadFile] response status:",o.status,o.statusText),!o.ok)throw new Error(`Upload failed: ${o.statusText}`);const i=await o.json();return i.data||i}function rS(e,t=""){return e.lastModifiedDate=new Date,e.name=t,e}function nS(e,t=""){const r=e.split(","),n=r[0].match(/:(.*?);/);if(!n)return null;const a=n[1],o=atob(r[1]);let i=o.length;const u=new Uint8Array(i);for(;i--;)u[i]=o.charCodeAt(i);return new File([u],t,{type:a})}const aS=d2(()=>Js.get("/api/file/config")),oS=e=>{if(!e)return e;try{const t=new URL(e,window.location.origin);if(t.pathname.startsWith("/uploads/"))return t.pathname}catch{}return e},iS=(e,{width:t,height:r})=>{const n=new URL(e);if(n.host==="r.findpiano.cn"&&t||r){const a={[`imageMogr2/format/webp/thumbnail/${t?t*window.devicePixelRatio:""}x${r?r*window.devicePixelRatio:""}`]:"",...Object.fromEntries(n.search.replace("?","").split("&").filter(o=>!o.startsWith("imageMogr2")).map(o=>o.split("=")))};return n.origin+n.pathname+`?${Object.entries(a).map(o=>o.filter(Boolean).join("=")).join("&")}`}return e};function h2(e){return e}var y2=h2,m2=pr,g2=ha,b2=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,w2=/^\w*$/;function S2(e,t){if(m2(e))return!1;var r=typeof e;return r=="number"||r=="symbol"||r=="boolean"||e==null||g2(e)?!0:w2.test(e)||!b2.test(e)||t!=null&&e in Object(t)}var C2=S2,ec=qy,x2="Expected a function";function za(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError(x2);var r=function(){var n=arguments,a=t?t.apply(this,n):n[0],o=r.cache;if(o.has(a))return o.get(a);var i=e.apply(this,n);return r.cache=o.set(a,i)||o,i};return r.cache=new(za.Cache||ec),r}za.Cache=ec;var _2=za,E2=_2,O2=500;function P2(e){var t=E2(e,function(n){return r.size===O2&&r.clear(),n}),r=t.cache;return t}var $2=P2,A2=$2,R2=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,T2=/\\(\\)?/g,M2=A2(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(R2,function(r,n,a,o){t.push(a?o.replace(T2,"$1"):n||r)}),t}),I2=M2,N2=pr,F2=C2,j2=I2,L2=xt;function D2(e,t){return N2(e)?e:F2(e,t)?[e]:j2(L2(e))}var tc=D2,k2=ha,U2=1/0;function B2(e){if(typeof e=="string"||k2(e))return e;var t=e+"";return t=="0"&&1/e==-U2?"-0":t}var rc=B2,q2=tc,H2=rc;function z2(e,t){t=q2(t,e);for(var r=0,n=t.length;e!=null&&r0){if(++t>=xw)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var Pw=Ow,$w=Cw,Aw=Pw,Rw=Aw($w),lS=Rw;export{Ks as $,ge as A,gs as B,Ea as C,Ma as D,Lr as E,Ss as F,mg as G,Cs as H,_g as I,xg as J,Wm as K,Jw as L,Yw as M,gh as N,Xw as O,aS as P,Kp as Q,xp as R,eS as S,tS as T,rS as U,is as V,z as W,Oa as X,nS as Y,fm as Z,er as _,Q as a,lS as a$,ov as a0,Ct as a1,Qc as a2,du as a3,lr as a4,gr as a5,Ar as a6,yr as a7,mr as a8,We as a9,va as aA,nf as aB,Xy as aC,nm as aD,d0 as aE,Pa as aF,S0 as aG,fv as aH,Uw as aI,Ww as aJ,ca as aK,os as aL,Hp as aM,jn as aN,wu as aO,Ye as aP,Kr as aQ,y2 as aR,us as aS,uS as aT,sS as aU,C2 as aV,rc as aW,lf as aX,cS as aY,uw as aZ,fS as a_,kn as aa,Lw as ab,Eh as ac,qw as ad,Ev as ae,xo as af,pp as ag,Gw as ah,Ke as ai,hv as aj,tv as ak,np as al,$p as am,Nn as an,iv as ao,pu as ap,a0 as aq,H0 as ar,qy as as,la as at,da as au,ss as av,Vw as aw,pr as ax,pa as ay,im as az,k as b,Ht as b0,Iw as b1,Nt as b2,Nw as b3,Ri as b4,Xa as b5,Cc as b6,xc as b7,ke as b8,we as b9,xh as bA,_h as bB,Un as bC,zt as bD,uv as bE,Zc as bF,pv as bG,Hw as bH,Li as bI,jw as bJ,kw as bK,jv as bL,Iv as bM,as as bN,ha as bO,Xp as bP,tc as bQ,$n as ba,Ec as bb,re as bc,Pn as bd,Za as be,On as bf,Sc as bg,_c as bh,$c as bi,ah as bj,Bw as bk,Je as bl,Fw as bm,Hd as bn,gc as bo,Vr as bp,Xt as bq,Yp as br,cu as bs,Mh as bt,Dp as bu,sp as bv,gp as bw,Ip as bx,Kc as by,vv as bz,Ce as c,Qv as d,zw as e,Zw as f,E as g,um as h,ar as i,Qw as j,Fn as k,mc as l,dh as m,oS as n,Dw as o,d2 as p,Kw as q,Js as r,cg as s,iS as t,Mw as u,Ps as v,Bn as w,sg as x,Jm as y,nt as z}; diff --git a/dist/assets/button-4b0c0e6b.js b/dist/assets/button-4b0c0e6b.js new file mode 100644 index 0000000000000000000000000000000000000000..7bba075b11dad47872d8346cbc9d090d4ccd7b80 --- /dev/null +++ b/dist/assets/button-4b0c0e6b.js @@ -0,0 +1,4 @@ +import{R as S,r as i,_ as O}from"./umi-5db3d28e.js";import{bP as Le,C as w,c as R,b as u,w as V,a5 as Ae,a7 as We,an as De,bI as je,ao as Be,a0 as Fe,e as be,a8 as Me,X as Ge,bq as ve,br as Ue,bs as Ve,Q as pe,d as He,ah as Q,ac as qe,ad as Qe,a as ge,o as Xe,W as Je,bH as Ke}from"./_setToString-b6377390.js";function H(a){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=[];return S.Children.forEach(a,function(e){e==null&&!t.keepEmpty||(Array.isArray(e)?n=n.concat(H(e)):Le(e)&&e.props?n=n.concat(H(e.props.children,t)):n.push(e))}),n}var ye=globalThis&&globalThis.__rest||function(a,t){var n={};for(var e in a)Object.prototype.hasOwnProperty.call(a,e)&&t.indexOf(e)<0&&(n[e]=a[e]);if(a!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,e=Object.getOwnPropertySymbols(a);r1&&arguments[1]!==void 0?arguments[1]:1,n=tt++,e=t;function r(){e-=1,e<=0?(a(),delete k[n]):k[n]=V(r)}return k[n]=V(r),n}z.cancel=function(t){t!==void 0&&(V.cancel(k[t]),delete k[t])};z.ids=k;function nt(a,t,n){return t=ve(t),Ue(a,Ve()?Reflect.construct(t,n||[],ve(a).constructor):t.apply(a,n))}var F;function Ce(a){return!a||a.offsetParent===null||a.hidden}function at(a){return a instanceof Document?a.body:Array.from(a.childNodes).find(function(t){return(t==null?void 0:t.nodeType)===Node.ELEMENT_NODE})}function rt(a){var t=(a||"").match(/rgba?\((\d*), (\d*), (\d*)(, [\d.]*)?\)/);return t&&t[1]&&t[2]&&t[3]?!(t[1]===t[2]&&t[2]===t[3]):!0}var xe=function(a){Ae(t,a);function t(){var n;return We(this,t),n=nt(this,t,arguments),n.containerRef=i.createRef(),n.animationStart=!1,n.destroyed=!1,n.onClick=function(e,r){var o,c,s=n.props,l=s.insertExtraNode,v=s.disabled;if(!(v||!e||Ce(e)||e.className.includes("-leave"))){n.extraNode=document.createElement("div");var p=De(n),g=p.extraNode,b=n.context.getPrefixCls;g.className="".concat(b(""),"-click-animating-node");var C=n.getAttributeName();if(e.setAttribute(C,"true"),r&&r!=="#fff"&&r!=="#ffffff"&&r!=="rgb(255, 255, 255)"&&r!=="rgba(255, 255, 255, 1)"&&rt(r)&&!/rgba\((?:\d*, ){3}0\)/.test(r)&&r!=="transparent"){g.style.borderColor=r;var x=((o=e.getRootNode)===null||o===void 0?void 0:o.call(e))||e.ownerDocument,f=(c=at(x))!==null&&c!==void 0?c:x;F=je(` + [`.concat(b(""),"-click-animating-without-extra-node='true']::after, .").concat(b(""),`-click-animating-node { + --antd-wave-shadow-color: `).concat(r,`; + }`),"antd-wave",{csp:n.csp,attachTo:f})}l&&e.appendChild(g),["transition","animation"].forEach(function(m){e.addEventListener("".concat(m,"start"),n.onTransitionStart),e.addEventListener("".concat(m,"end"),n.onTransitionEnd)})}},n.onTransitionStart=function(e){if(!n.destroyed){var r=n.containerRef.current;!e||e.target!==r||n.animationStart||n.resetEffect(r)}},n.onTransitionEnd=function(e){!e||e.animationName!=="fadeEffect"||n.resetEffect(e.target)},n.bindAnimationEvent=function(e){if(!(!e||!e.getAttribute||e.getAttribute("disabled")||e.className.includes("disabled"))){var r=function(c){if(!(c.target.tagName==="INPUT"||Ce(c.target))){n.resetEffect(e);var s=getComputedStyle(e).getPropertyValue("border-top-color")||getComputedStyle(e).getPropertyValue("border-color")||getComputedStyle(e).getPropertyValue("background-color");n.clickWaveTimeoutId=window.setTimeout(function(){return n.onClick(e,s)},0),z.cancel(n.animationStartId),n.animationStart=!0,n.animationStartId=z(function(){n.animationStart=!1},10)}};return e.addEventListener("click",r,!0),{cancel:function(){e.removeEventListener("click",r,!0)}}}},n.renderWave=function(e){var r=e.csp,o=n.props.children;if(n.csp=r,!i.isValidElement(o))return o;var c=n.containerRef;return Be(o)&&(c=Fe(o.ref,n.containerRef)),be(o,{ref:c})},n}return Me(t,[{key:"componentDidMount",value:function(){this.destroyed=!1;var e=this.containerRef.current;!e||e.nodeType!==1||(this.instance=this.bindAnimationEvent(e))}},{key:"componentWillUnmount",value:function(){this.instance&&this.instance.cancel(),this.clickWaveTimeoutId&&clearTimeout(this.clickWaveTimeoutId),this.destroyed=!0}},{key:"getAttributeName",value:function(){var e=this.context.getPrefixCls,r=this.props.insertExtraNode;return r?"".concat(e(""),"-click-animating"):"".concat(e(""),"-click-animating-without-extra-node")}},{key:"resetEffect",value:function(e){var r=this;if(!(!e||e===this.extraNode||!(e instanceof Element))){var o=this.props.insertExtraNode,c=this.getAttributeName();e.setAttribute(c,"false"),F&&(F.innerHTML=""),o&&this.extraNode&&e.contains(this.extraNode)&&e.removeChild(this.extraNode),["transition","animation"].forEach(function(s){e.removeEventListener("".concat(s,"start"),r.onTransitionStart),e.removeEventListener("".concat(s,"end"),r.onTransitionEnd)})}}},{key:"render",value:function(){return i.createElement(Ge,null,this.renderWave)}}]),t}(i.Component);xe.contextType=w;const it=xe;var ot=globalThis&&globalThis.__rest||function(a,t){var n={};for(var e in a)Object.prototype.hasOwnProperty.call(a,e)&&t.indexOf(e)<0&&(n[e]=a[e]);if(a!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,e=Object.getOwnPropertySymbols(a);r=4.5;case"AAlarge":return u>=3;case"AAAsmall":return u>=7;default:return!1}}function mostReadable(e,i,o){o===void 0&&(o={includeFallbackColors:!1,level:"AA",size:"small"});for(var a=null,s=0,u=o.includeFallbackColors,c=o.level,d=o.size,_=0,b=i;_s&&(s=_e,a=new TinyColor(j))}return isReadable(e,a,{level:c,size:d})||!u?a:(o.includeFallbackColors=!1,mostReadable(e,["#fff","#000"],o))}function toMsFilter(e,i){var o=new TinyColor(e),a="#"+rgbaToArgbHex(o.r,o.g,o.b,o.a),s=a,u=o.gradientType?"GradientType = 1, ":"";if(i){var c=new TinyColor(i);s="#"+rgbaToArgbHex(c.r,c.g,c.b,c.a)}return"progid:DXImageTransform.Microsoft.gradient(".concat(u,"startColorstr=").concat(a,",endColorstr=").concat(s,")")}function fromRatio(e,i){var o={r:convertToPercentage(e.r),g:convertToPercentage(e.g),b:convertToPercentage(e.b)};return e.a!==void 0&&(o.a=Number(e.a)),new TinyColor(o,i)}function legacyRandom(){return new TinyColor({r:Math.random(),g:Math.random(),b:Math.random()})}function random(e){if(e===void 0&&(e={}),e.count!==void 0&&e.count!==null){var i=e.count,o=[];for(e.count=void 0;i>o.length;)e.count=null,e.seed&&(e.seed+=1),o.push(random(e));return e.count=i,o}var a=pickHue(e.hue,e.seed),s=pickSaturation(a,e),u=pickBrightness(a,s,e),c={h:a,s,v:u};return e.alpha!==void 0&&(c.a=e.alpha),new TinyColor(c)}function pickHue(e,i){var o=getHueRange(e),a=randomWithin(o,i);return a<0&&(a=360+a),a}function pickSaturation(e,i){if(i.hue==="monochrome")return 0;if(i.luminosity==="random")return randomWithin([0,100],i.seed);var o=getColorInfo(e).saturationRange,a=o[0],s=o[1];switch(i.luminosity){case"bright":a=55;break;case"dark":a=s-10;break;case"light":s=55;break}return randomWithin([a,s],i.seed)}function pickBrightness(e,i,o){var a=getMinimumBrightness(e,i),s=100;switch(o.luminosity){case"dark":s=a+20;break;case"light":a=(s+a)/2;break;case"random":a=0,s=100;break}return randomWithin([a,s],o.seed)}function getMinimumBrightness(e,i){for(var o=getColorInfo(e).lowerBounds,a=0;a=s&&i<=c){var _=(d-u)/(c-s),b=u-_*s;return _*i+b}}return 0}function getHueRange(e){var i=parseInt(e,10);if(!Number.isNaN(i)&&i<360&&i>0)return[i,i];if(typeof e=="string"){var o=bounds.find(function(c){return c.name===e});if(o){var a=defineColor(o);if(a.hueRange)return a.hueRange}var s=new TinyColor(e);if(s.isValid){var u=s.toHsv().h;return[u,u]}}return[0,360]}function getColorInfo(e){e>=334&&e<=360&&(e-=360);for(var i=0,o=bounds;i=s.hueRange[0]&&e<=s.hueRange[1])return s}throw Error("Color not found")}function randomWithin(e,i){if(i===void 0)return Math.floor(e[0]+Math.random()*(e[1]+1-e[0]));var o=e[1]||1,a=e[0]||0;i=(i*9301+49297)%233280;var s=i/233280;return Math.floor(a+s*(o-a))}function defineColor(e){var i=e.lowerBounds[0][0],o=e.lowerBounds[e.lowerBounds.length-1][0],a=e.lowerBounds[e.lowerBounds.length-1][1],s=e.lowerBounds[0][1];return{name:e.name,hueRange:e.hueRange,lowerBounds:e.lowerBounds,saturationRange:[i,o],brightnessRange:[a,s]}}var bounds=[{name:"monochrome",hueRange:null,lowerBounds:[[0,0],[100,0]]},{name:"red",hueRange:[-26,18],lowerBounds:[[20,100],[30,92],[40,89],[50,85],[60,78],[70,70],[80,60],[90,55],[100,50]]},{name:"orange",hueRange:[19,46],lowerBounds:[[20,100],[30,93],[40,88],[50,86],[60,85],[70,70],[100,70]]},{name:"yellow",hueRange:[47,62],lowerBounds:[[25,100],[40,94],[50,89],[60,86],[70,84],[80,82],[90,80],[100,75]]},{name:"green",hueRange:[63,178],lowerBounds:[[30,100],[40,90],[50,85],[60,81],[70,74],[80,64],[90,50],[100,40]]},{name:"blue",hueRange:[179,257],lowerBounds:[[20,100],[30,86],[40,80],[50,74],[60,60],[70,52],[80,44],[90,39],[100,35]]},{name:"purple",hueRange:[258,282],lowerBounds:[[20,100],[30,87],[40,79],[50,70],[60,65],[70,59],[80,52],[90,45],[100,42]]},{name:"pink",hueRange:[283,334],lowerBounds:[[20,100],[30,90],[40,86],[60,84],[80,80],[90,75],[100,73]]}];const public_api=Object.freeze(Object.defineProperty({__proto__:null,TinyColor,bounds,convertDecimalToHex,convertHexToDecimal,default:tinycolor,fromRatio,hslToRgb,hsvToRgb,inputToRGB,isReadable,isValidCSSUnit,legacyRandom,mostReadable,names,numberInputToObject,parseIntFromHex,random,readability,rgbToHex,rgbToHsl,rgbToHsv,rgbToRgb,rgbaToArgbHex,rgbaToHex,stringInputToObject,tinycolor,toMsFilter},Symbol.toStringTag,{value:"Module"}));var DownloadOutlined$2={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M505.7 661a8 8 0 0012.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9h-74.1V168c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v338.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.8zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z"}}]},name:"download",theme:"outlined"};const DownloadOutlinedSvg=DownloadOutlined$2;var DownloadOutlined=function(i,o){return reactExports.createElement(AntdIcon$1,_objectSpread2$d(_objectSpread2$d({},i),{},{ref:o,icon:DownloadOutlinedSvg}))},RefIcon$a=reactExports.forwardRef(DownloadOutlined);const DownloadOutlined$1=RefIcon$a,es$2=Object.freeze(Object.defineProperty({__proto__:null,CSSMotionList,Provider:MotionProvider,default:CSSMotion},Symbol.toStringTag,{value:"Module"})),es$1=Object.freeze(Object.defineProperty({__proto__:null,default:Notification},Symbol.toStringTag,{value:"Module"})),es=Object.freeze(Object.defineProperty({__proto__:null,Panel,default:DialogWrap},Symbol.toStringTag,{value:"Module"}));function convertPitch(e){return{alter:e.alter,step:"CDEFGAB"[(e.note+98)%7],octave:Math.floor(e.note/7)+4}}function getNoteType(e){return{10:"1024th",9:"512th",8:"256th",7:"128th",6:"64th",5:"32nd",4:"16th",3:"eighth",2:"quarter",1:"half",0:"whole"}[e]}const DIVISIONS=WHOLE_DURATION/4,TENTHS=40;var reactTestRenderer={exports:{}},reactTestRenderer_production_min={},unstable_mock={exports:{}},schedulerUnstable_mock_production_min={};/** + * @license React + * scheduler-unstable_mock.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */function f(e,i){var o=e.length;e.push(i);e:for(;0>>1,s=e[a];if(0>>1;ag(d,o))_g(b,d)?(e[a]=b,e[_]=o,a=_):(e[a]=d,e[c]=o,a=c);else if(_g(b,o))e[a]=b,e[_]=o,a=_;else break e}}return i}function g(e,i){var o=e.sortIndex-i.sortIndex;return o!==0?o:e.id-i.id}var l=[],m=[],n=1,p=null,q$1=3,r=!1,t=!1,w=!1,x$1=0,y$1=null,A=null,B=-1,C$1=null,F$1=-1,G=!1,H$1=!1,I$1=!1,J$1=!1,K$1=!1;function L$1(e){for(var i=h(m);i!==null;){if(i.callback===null)k(m);else if(i.startTime<=e)k(m),i.sortIndex=i.expirationTime,f(l,i);else break;i=h(m)}}function M$1(e){if(w=!1,L$1(e),!t)if(h(l)!==null)t=!0,y$1=N$1;else{var i=h(m);i!==null&&(e=i.startTime-e,A=M$1,B=x$1+e)}}function N$1(e,i){t=!1,w&&(w=!1,A=null,B=-1),r=!0;var o=q$1;try{for(L$1(i),p=h(l);p!==null&&(!(p.expirationTime>i)||e&&!O$1());){var a=p.callback;if(typeof a=="function"){p.callback=null,q$1=p.priorityLevel;var s=a(p.expirationTime<=i);i=x$1,typeof s=="function"?p.callback=s:p===h(l)&&k(l),L$1(i)}else k(l);p=h(l)}if(p!==null)var u=!0;else{var c=h(m);if(c!==null){var d=c.startTime-i;A=M$1,B=x$1+d}u=!1}return u}finally{p=null,q$1=o,r=!1}}function O$1(){return F$1===0&&C$1===null||F$1!==-1&&C$1!==null&&C$1.length>=F$1||J$1&&I$1?G=!0:!1}function P$1(){if(H$1)throw Error("Already flushing work.");if(y$1!==null){var e=y$1;H$1=!0;try{var i=!0;do i=e(!0,x$1);while(i);return i||(y$1=null),!0}finally{H$1=!1}}else return!1}schedulerUnstable_mock_production_min.reset=function(){if(H$1)throw Error("Cannot reset while already flushing work.");x$1=0,A=y$1=null,B=-1,C$1=null,F$1=-1,I$1=H$1=G=!1};schedulerUnstable_mock_production_min.unstable_IdlePriority=5;schedulerUnstable_mock_production_min.unstable_ImmediatePriority=1;schedulerUnstable_mock_production_min.unstable_LowPriority=4;schedulerUnstable_mock_production_min.unstable_NormalPriority=3;schedulerUnstable_mock_production_min.unstable_Profiling=null;schedulerUnstable_mock_production_min.unstable_UserBlockingPriority=2;schedulerUnstable_mock_production_min.unstable_advanceTime=function(e){console.log.name==="disabledLog"||K$1||(x$1+=e,A!==null&&B<=x$1&&(A(x$1),B=-1,A=null))};schedulerUnstable_mock_production_min.unstable_cancelCallback=function(e){e.callback=null};schedulerUnstable_mock_production_min.unstable_clearYields=function(){if(C$1===null)return[];var e=C$1;return C$1=null,e};schedulerUnstable_mock_production_min.unstable_continueExecution=function(){t||r||(t=!0,y$1=N$1)};schedulerUnstable_mock_production_min.unstable_flushAll=function(){if(C$1!==null)throw Error("Log is not empty. Assert on the log of yielded values before flushing additional work.");if(P$1(),C$1!==null)throw Error("While flushing work, something yielded a value. Use an assertion helper to assert on the log of yielded values, e.g. expect(Scheduler).toFlushAndYield([...])")};schedulerUnstable_mock_production_min.unstable_flushAllWithoutAsserting=P$1;schedulerUnstable_mock_production_min.unstable_flushExpired=function(){if(H$1)throw Error("Already flushing work.");if(y$1!==null){H$1=!0;try{y$1(!1,x$1)||(y$1=null)}finally{H$1=!1}}};schedulerUnstable_mock_production_min.unstable_flushNumberOfYields=function(e){if(H$1)throw Error("Already flushing work.");if(y$1!==null){var i=y$1;F$1=e,H$1=!0;try{e=!0;do e=i(!0,x$1);while(e&&!G);e||(y$1=null)}finally{F$1=-1,H$1=G=!1}}};schedulerUnstable_mock_production_min.unstable_flushUntilNextPaint=function(){if(H$1)throw Error("Already flushing work.");if(y$1!==null){var e=y$1;J$1=!0,I$1=!1,H$1=!0;try{var i=!0;do i=e(!0,x$1);while(i&&!G);i||(y$1=null)}finally{H$1=G=J$1=!1}}};schedulerUnstable_mock_production_min.unstable_forceFrameRate=function(){};schedulerUnstable_mock_production_min.unstable_getCurrentPriorityLevel=function(){return q$1};schedulerUnstable_mock_production_min.unstable_getFirstCallbackNode=function(){return h(l)};schedulerUnstable_mock_production_min.unstable_next=function(e){switch(q$1){case 1:case 2:case 3:var i=3;break;default:i=q$1}var o=q$1;q$1=i;try{return e()}finally{q$1=o}};schedulerUnstable_mock_production_min.unstable_now=function(){return x$1};schedulerUnstable_mock_production_min.unstable_pauseExecution=function(){};schedulerUnstable_mock_production_min.unstable_requestPaint=function(){I$1=!0};schedulerUnstable_mock_production_min.unstable_runWithPriority=function(e,i){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var o=q$1;q$1=e;try{return i()}finally{q$1=o}};schedulerUnstable_mock_production_min.unstable_scheduleCallback=function(e,i,o){var a=x$1;switch(typeof o=="object"&&o!==null?(o=o.delay,o=typeof o=="number"&&0a?(e.sortIndex=o,f(m,e),h(l)===null&&e===h(m)&&(w?(A=null,B=-1):w=!0,A=M$1,B=x$1+(o-a))):(e.sortIndex=s,f(l,e),t||r||(t=!0,y$1=N$1)),e};schedulerUnstable_mock_production_min.unstable_setDisableYieldValue=function(e){K$1=e};schedulerUnstable_mock_production_min.unstable_shouldYield=O$1;schedulerUnstable_mock_production_min.unstable_wrapCallback=function(e){var i=q$1;return function(){var o=q$1;q$1=i;try{return e.apply(this,arguments)}finally{q$1=o}}};schedulerUnstable_mock_production_min.unstable_yieldValue=function(e){console.log.name==="disabledLog"||K$1||(C$1===null?C$1=[e]:C$1.push(e))};unstable_mock.exports=schedulerUnstable_mock_production_min;var unstable_mockExports=unstable_mock.exports;/** + * @license React + * react-test-renderer.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var aa=reactExports,ba=unstable_mockExports,ca=schedulerExports;function da(e,i){for(var o=0;o>>=0,e===0?32:31-(Sa(e)/Ta|0)|0}var Va=64,Wa=4194304;function Xa(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Ya(e,i){var o=e.pendingLanes;if(o===0)return 0;var a=0,s=e.suspendedLanes,u=e.pingedLanes,c=o&268435455;if(c!==0){var d=c&~s;d!==0?a=Xa(d):(u&=c,u!==0&&(a=Xa(u)))}else c=o&~s,c!==0?a=Xa(c):u!==0&&(a=Xa(u));if(a===0)return 0;if(i!==0&&i!==a&&!(i&s)&&(s=a&-a,u=i&-i,s>=u||s===16&&(u&4194240)!==0))return i;if(a&4&&(a|=o&16),i=e.entangledLanes,i!==0)for(e=e.entanglements,i&=a;0o;o++)i.push(e);return i}function cb(e,i,o){e.pendingLanes|=i,i!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,i=31-Ra(i),e[i]=o}function db(e,i){var o=e.pendingLanes&~i;e.pendingLanes=i,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=i,e.mutableReadLanes&=i,e.entangledLanes&=i,i=e.entanglements;var a=e.eventTimes;for(e=e.expirationTimes;0d||s[c]!==u[d]){var _=` +`+s[c].replace(" at new "," at ");return e.displayName&&_.includes("")&&(_=_.replace("",e.displayName)),_}while(1<=c&&0<=d);break}}}finally{sb=!1,Error.prepareStackTrace=o}return(e=e?e.displayName||e.name:"")?rb(e):""}var ub=Object.prototype.hasOwnProperty,vb=[],wb=-1;function xb(e){return{current:e}}function x(e){0>wb||(e.current=vb[wb],vb[wb]=null,wb--)}function y(e,i){wb++,vb[wb]=e.current,e.current=i}var yb={},z=xb(yb),C=xb(!1),zb=yb;function Ab(e,i){var o=e.type.contextTypes;if(!o)return yb;var a=e.stateNode;if(a&&a.__reactInternalMemoizedUnmaskedChildContext===i)return a.__reactInternalMemoizedMaskedChildContext;var s={},u;for(u in o)s[u]=i[u];return a&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=i,e.__reactInternalMemoizedMaskedChildContext=s),s}function D(e){return e=e.childContextTypes,e!=null}function Bb(){x(C),x(z)}function Cb(e,i,o){if(z.current!==yb)throw Error("Unexpected context found on stack. This error is likely caused by a bug in React. Please file an issue.");y(z,i),y(C,o)}function Db(e,i,o){var a=e.stateNode;if(i=i.childContextTypes,typeof a.getChildContext!="function")return o;a=a.getChildContext();for(var s in a)if(!(s in i))throw Error((ya(e)||"Unknown")+'.getChildContext(): key "'+s+'" is not defined in childContextTypes.');return fa({},o,a)}function Eb(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||yb,zb=z.current,y(z,e),y(C,C.current),!0}function Fb(e,i,o){var a=e.stateNode;if(!a)throw Error("Expected to have an instance by this point. This error is likely caused by a bug in React. Please file an issue.");o?(e=Db(e,i,zb),a.__reactInternalMemoizedMergedChildContext=e,x(C),x(z),y(z,e)):x(C),y(C,o)}function Gb(e,i){return e===i&&(e!==0||1/e===1/i)||e!==e&&i!==i}var Hb=typeof Object.is=="function"?Object.is:Gb,E=null,Ib=!1,Jb=!1;function Kb(){if(!Jb&&E!==null){Jb=!0;var e=0,i=v;try{var o=E;for(v=1;ert?(lt=dt,dt=null):lt=dt.sibling;var mt=et(ft,dt,ut[rt],$);if(mt===null){dt===null&&(dt=lt);break}e&&dt&&mt.alternate===null&&i(ft,dt),nt=u(mt,nt,rt),ct===null?tt=mt:ct.sibling=mt,ct=mt,dt=lt}if(rt===ut.length)return o(ft,dt),tt;if(dt===null){for(;rtrt?(lt=dt,dt=null):lt=dt.sibling;var ht=et(ft,dt,mt.value,$);if(ht===null){dt===null&&(dt=lt);break}e&&dt&&ht.alternate===null&&i(ft,dt),nt=u(ht,nt,rt),ct===null?tt=ht:ct.sibling=ht,ct=ht,dt=lt}if(mt.done)return o(ft,dt),tt;if(dt===null){for(;!mt.done;rt++,mt=ut.next())mt=_e(ft,mt.value,$),mt!==null&&(nt=u(mt,nt,rt),ct===null?tt=mt:ct.sibling=mt,ct=mt);return tt}for(dt=a(ft,dt);!mt.done;rt++,mt=ut.next())mt=at(dt,ft,rt,mt.value,$),mt!==null&&(e&&mt.alternate!==null&&dt.delete(mt.key===null?rt:mt.key),nt=u(mt,nt,rt),ct===null?tt=mt:ct.sibling=mt,ct=mt);return e&&dt.forEach(function(yt){return i(ft,yt)}),tt}function vt(ft,nt,ut,$){if(typeof ut=="object"&&ut!==null&&ut.type===ka&&ut.key===null&&(ut=ut.props.children),typeof ut=="object"&&ut!==null){switch(ut.$$typeof){case ia:e:{for(var tt=ut.key,ct=nt;ct!==null;){if(ct.key===tt){if(tt=ut.type,tt===ka){if(ct.tag===7){o(ft,ct.sibling),nt=s(ct,ut.props.children),nt.return=ft,ft=nt;break e}}else if(ct.elementType===tt||typeof tt=="object"&&tt!==null&&tt.$$typeof===ta&&Yb(tt)===ct.type){o(ft,ct.sibling),nt=s(ct,ut.props),nt.ref=Wb(ft,ct,ut),nt.return=ft,ft=nt;break e}o(ft,ct);break}else i(ft,ct);ct=ct.sibling}ut.type===ka?(nt=dc(ut.props.children,ft.mode,$,ut.key),nt.return=ft,ft=nt):($=bc(ut.type,ut.key,ut.props,null,ft.mode,$),$.ref=Wb(ft,nt,ut),$.return=ft,ft=$)}return c(ft);case ja:e:{for(ct=ut.key;nt!==null;){if(nt.key===ct)if(nt.tag===4&&nt.stateNode.containerInfo===ut.containerInfo&&nt.stateNode.implementation===ut.implementation){o(ft,nt.sibling),nt=s(nt,ut.children||[]),nt.return=ft,ft=nt;break e}else{o(ft,nt);break}else i(ft,nt);nt=nt.sibling}nt=cc(ut,ft.mode,$),nt.return=ft,ft=nt}return c(ft);case ta:return ct=ut._init,vt(ft,nt,ct(ut._payload),$)}if(Da(ut))return ot(ft,nt,ut,$);if(wa(ut))return gt(ft,nt,ut,$);Xb(ft,ut)}return typeof ut=="string"&&ut!==""||typeof ut=="number"?(ut=""+ut,nt!==null&&nt.tag===6?(o(ft,nt.sibling),nt=s(nt,ut),nt.return=ft,ft=nt):(o(ft,nt),nt=ac(ut,ft.mode,$),nt.return=ft,ft=nt),c(ft)):o(ft,nt)}return vt}var ec=Zb(!0),fc=Zb(!1),gc=xb(null),hc=null,ic=null,jc=null;function kc(){jc=ic=hc=null}function lc(e){var i=gc.current;x(gc),e._currentValue2=i}function mc(e,i,o){for(;e!==null;){var a=e.alternate;if((e.childLanes&i)!==i?(e.childLanes|=i,a!==null&&(a.childLanes|=i)):a!==null&&(a.childLanes&i)!==i&&(a.childLanes|=i),e===o)break;e=e.return}}function nc(e,i){hc=e,jc=ic=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&i&&(F=!0),e.firstContext=null)}function H(e){var i=e._currentValue2;if(jc!==e)if(e={context:e,memoizedValue:i,next:null},ic===null){if(hc===null)throw Error("Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo().");ic=e,hc.dependencies={lanes:0,firstContext:e}}else ic=ic.next=e;return i}var oc=null;function pc(e){oc===null?oc=[e]:oc.push(e)}function qc(e,i,o,a){var s=i.interleaved;return s===null?(o.next=o,pc(i)):(o.next=s.next,s.next=o),i.interleaved=o,rc(e,a)}function rc(e,i){e.lanes|=i;var o=e.alternate;for(o!==null&&(o.lanes|=i),o=e,e=e.return;e!==null;)e.childLanes|=i,o=e.alternate,o!==null&&(o.childLanes|=i),o=e,e=e.return;return o.tag===3?o.stateNode:null}var sc=!1;function tc(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function uc(e,i){e=e.updateQueue,i.updateQueue===e&&(i.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function vc(e,i){return{eventTime:e,lane:i,tag:0,payload:null,callback:null,next:null}}function wc(e,i,o){var a=e.updateQueue;if(a===null)return null;if(a=a.shared,I&2){var s=a.pending;return s===null?i.next=i:(i.next=s.next,s.next=i),a.pending=i,rc(e,o)}return s=a.interleaved,s===null?(i.next=i,pc(a)):(i.next=s.next,s.next=i),a.interleaved=i,rc(e,o)}function xc(e,i,o){if(i=i.updateQueue,i!==null&&(i=i.shared,(o&4194240)!==0)){var a=i.lanes;a&=e.pendingLanes,o|=a,i.lanes=o,eb(e,o)}}function yc(e,i){var o=e.updateQueue,a=e.alternate;if(a!==null&&(a=a.updateQueue,o===a)){var s=null,u=null;if(o=o.firstBaseUpdate,o!==null){do{var c={eventTime:o.eventTime,lane:o.lane,tag:o.tag,payload:o.payload,callback:o.callback,next:null};u===null?s=u=c:u=u.next=c,o=o.next}while(o!==null);u===null?s=u=i:u=u.next=i}else s=u=i;o={baseState:a.baseState,firstBaseUpdate:s,lastBaseUpdate:u,shared:a.shared,effects:a.effects},e.updateQueue=o;return}e=o.lastBaseUpdate,e===null?o.firstBaseUpdate=i:e.next=i,o.lastBaseUpdate=i}function zc(e,i,o,a){var s=e.updateQueue;sc=!1;var u=s.firstBaseUpdate,c=s.lastBaseUpdate,d=s.shared.pending;if(d!==null){s.shared.pending=null;var _=d,b=_.next;_.next=null,c===null?u=b:c.next=b,c=_;var j=e.alternate;j!==null&&(j=j.updateQueue,d=j.lastBaseUpdate,d!==c&&(d===null?j.firstBaseUpdate=b:d.next=b,j.lastBaseUpdate=_))}if(u!==null){var _e=s.baseState;c=0,j=b=_=null,d=u;do{var et=d.lane,at=d.eventTime;if((a&et)===et){j!==null&&(j=j.next={eventTime:at,lane:0,tag:d.tag,payload:d.payload,callback:d.callback,next:null});e:{var ot=e,gt=d;switch(et=i,at=o,gt.tag){case 1:if(ot=gt.payload,typeof ot=="function"){_e=ot.call(at,_e,et);break e}_e=ot;break e;case 3:ot.flags=ot.flags&-65537|128;case 0:if(ot=gt.payload,et=typeof ot=="function"?ot.call(at,_e,et):ot,et==null)break e;_e=fa({},_e,et);break e;case 2:sc=!0}}d.callback!==null&&d.lane!==0&&(e.flags|=64,et=s.effects,et===null?s.effects=[d]:et.push(d))}else at={eventTime:at,lane:et,tag:d.tag,payload:d.payload,callback:d.callback,next:null},j===null?(b=j=at,_=_e):j=j.next=at,c|=et;if(d=d.next,d===null){if(d=s.shared.pending,d===null)break;et=d,d=et.next,et.next=null,s.lastBaseUpdate=et,s.shared.pending=null}}while(1);if(j===null&&(_=_e),s.baseState=_,s.firstBaseUpdate=b,s.lastBaseUpdate=j,i=s.shared.interleaved,i!==null){s=i;do c|=s.lane,s=s.next;while(s!==i)}else u===null&&(s.shared.lanes=0);J|=c,e.lanes=c,e.memoizedState=_e}}function Ac(e,i,o){if(e=i.effects,i.effects=null,e!==null)for(i=0;io?o:4,e(!0);var a=Oc.transition;Oc.transition={};try{e(!1),i()}finally{v=o,Oc.transition=a}}function Cd(){return $c().memoizedState}function Dd(e,i,o){var a=Ed(e);if(o={lane:a,action:o,hasEagerState:!1,eagerState:null,next:null},Fd(e))Gd(i,o);else if(o=qc(e,i,o,a),o!==null){var s=Hd();md(o,e,a,s),Id(o,i,a)}}function od(e,i,o){var a=Ed(e),s={lane:a,action:o,hasEagerState:!1,eagerState:null,next:null};if(Fd(e))Gd(i,s);else{var u=e.alternate;if(e.lanes===0&&(u===null||u.lanes===0)&&(u=i.lastRenderedReducer,u!==null))try{var c=i.lastRenderedState,d=u(c,o);if(s.hasEagerState=!0,s.eagerState=d,Hb(d,c)){var _=i.interleaved;_===null?(s.next=s,pc(i)):(s.next=_.next,_.next=s),i.interleaved=s;return}}catch{}finally{}o=qc(e,i,s,a),o!==null&&(s=Hd(),md(o,e,a,s),Id(o,i,a))}}function Fd(e){var i=e.alternate;return e===L||i!==null&&i===L}function Gd(e,i){Rc=Qc=!0;var o=e.pending;o===null?i.next=i:(i.next=o.next,o.next=i),e.pending=i}function Id(e,i,o){if(o&4194240){var a=i.lanes;a&=e.pendingLanes,o|=a,i.lanes=o,eb(e,o)}}var Yc={readContext:H,useCallback:O,useContext:O,useEffect:O,useImperativeHandle:O,useInsertionEffect:O,useLayoutEffect:O,useMemo:O,useReducer:O,useRef:O,useState:O,useDebugValue:O,useDeferredValue:O,useTransition:O,useMutableSource:O,useSyncExternalStore:O,useId:O,unstable_isNewReconciler:!1},Vc={readContext:H,useCallback:function(e,i){return Zc().memoizedState=[e,i===void 0?null:i],e},useContext:H,useEffect:sd,useImperativeHandle:function(e,i,o){return o=o!=null?o.concat([e]):null,qd(4,4,vd.bind(null,i,e),o)},useLayoutEffect:function(e,i){return qd(4,4,e,i)},useInsertionEffect:function(e,i){return qd(4,2,e,i)},useMemo:function(e,i){var o=Zc();return i=i===void 0?null:i,e=e(),o.memoizedState=[e,i],e},useReducer:function(e,i,o){var a=Zc();return i=o!==void 0?o(i):i,a.memoizedState=a.baseState=i,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},a.queue=e,e=e.dispatch=Dd.bind(null,L,e),[a.memoizedState,e]},useRef:function(e){var i=Zc();return e={current:e},i.memoizedState=e},useState:nd,useDebugValue:xd,useDeferredValue:function(e){return Zc().memoizedState=e},useTransition:function(){var e=nd(!1),i=e[0];return e=Bd.bind(null,e[1]),Zc().memoizedState=e,[i,e]},useMutableSource:function(){},useSyncExternalStore:function(e,i){var o=L,a=Zc(),s=i();if(P===null)throw Error("Expected a work-in-progress root. This is a bug in React. Please file an issue.");Pc&30||jd(o,i,s),a.memoizedState=s;var u={value:s,getSnapshot:i};return a.queue=u,sd(gd.bind(null,o,u,e),[e]),o.flags|=2048,hd(9,id.bind(null,o,u,s,i),void 0,null),s},useId:function(){var e=Zc(),i=P.identifierPrefix,o=Sc++;return i=":"+i+"r"+o.toString(32)+":",e.memoizedState=i},unstable_isNewReconciler:!1},Wc={readContext:H,useCallback:yd,useContext:H,useEffect:fd,useImperativeHandle:wd,useInsertionEffect:td,useLayoutEffect:ud,useMemo:zd,useReducer:bd,useRef:pd,useState:function(){return bd(ad)},useDebugValue:xd,useDeferredValue:function(e){var i=$c();return Ad(i,M.memoizedState,e)},useTransition:function(){var e=bd(ad)[0],i=$c().memoizedState;return[e,i]},useMutableSource:dd,useSyncExternalStore:ed,useId:Cd,unstable_isNewReconciler:!1},Xc={readContext:H,useCallback:yd,useContext:H,useEffect:fd,useImperativeHandle:wd,useInsertionEffect:td,useLayoutEffect:ud,useMemo:zd,useReducer:cd,useRef:pd,useState:function(){return cd(ad)},useDebugValue:xd,useDeferredValue:function(e){var i=$c();return M===null?i.memoizedState=e:Ad(i,M.memoizedState,e)},useTransition:function(){var e=cd(ad)[0],i=$c().memoizedState;return[e,i]},useMutableSource:dd,useSyncExternalStore:ed,useId:Cd,unstable_isNewReconciler:!1};function Jd(e,i){if(e&&e.defaultProps){i=fa({},i),e=e.defaultProps;for(var o in e)i[o]===void 0&&(i[o]=e[o]);return i}return i}function Kd(e,i,o,a){i=e.memoizedState,o=o(a,i),o=o==null?i:fa({},i,o),e.memoizedState=o,e.lanes===0&&(e.updateQueue.baseState=o)}var Ld={isMounted:function(e){return(e=e._reactInternals)?za(e)===e:!1},enqueueSetState:function(e,i,o){e=e._reactInternals;var a=Hd(),s=Ed(e),u=vc(a,s);u.payload=i,o!=null&&(u.callback=o),i=wc(e,u,s),i!==null&&(md(i,e,s,a),xc(i,e,s))},enqueueReplaceState:function(e,i,o){e=e._reactInternals;var a=Hd(),s=Ed(e),u=vc(a,s);u.tag=1,u.payload=i,o!=null&&(u.callback=o),i=wc(e,u,s),i!==null&&(md(i,e,s,a),xc(i,e,s))},enqueueForceUpdate:function(e,i){e=e._reactInternals;var o=Hd(),a=Ed(e),s=vc(o,a);s.tag=2,i!=null&&(s.callback=i),i=wc(e,s,a),i!==null&&(md(i,e,a,o),xc(i,e,a))}};function Md(e,i,o,a,s,u,c){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(a,u,c):i.prototype&&i.prototype.isPureReactComponent?!Ub(o,a)||!Ub(s,u):!0}function Nd(e,i,o){var a=!1,s=yb,u=i.contextType;return typeof u=="object"&&u!==null?u=H(u):(s=D(i)?zb:z.current,a=i.contextTypes,u=(a=a!=null)?Ab(e,s):yb),i=new i(o,u),e.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,i.updater=Ld,e.stateNode=i,i._reactInternals=e,a&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=s,e.__reactInternalMemoizedMaskedChildContext=u),i}function Od(e,i,o,a){e=i.state,typeof i.componentWillReceiveProps=="function"&&i.componentWillReceiveProps(o,a),typeof i.UNSAFE_componentWillReceiveProps=="function"&&i.UNSAFE_componentWillReceiveProps(o,a),i.state!==e&&Ld.enqueueReplaceState(i,i.state,null)}function Pd(e,i,o,a){var s=e.stateNode;s.props=o,s.state=e.memoizedState,s.refs={},tc(e);var u=i.contextType;typeof u=="object"&&u!==null?s.context=H(u):(u=D(i)?zb:z.current,s.context=Ab(e,u)),s.state=e.memoizedState,u=i.getDerivedStateFromProps,typeof u=="function"&&(Kd(e,i,u,o),s.state=e.memoizedState),typeof i.getDerivedStateFromProps=="function"||typeof s.getSnapshotBeforeUpdate=="function"||typeof s.UNSAFE_componentWillMount!="function"&&typeof s.componentWillMount!="function"||(i=s.state,typeof s.componentWillMount=="function"&&s.componentWillMount(),typeof s.UNSAFE_componentWillMount=="function"&&s.UNSAFE_componentWillMount(),i!==s.state&&Ld.enqueueReplaceState(s,s.state,null),zc(e,o,s,a),s.state=e.memoizedState),typeof s.componentDidMount=="function"&&(e.flags|=4)}function Qd(e,i){try{var o="",a=i;do o+=Vb(a),a=a.return;while(a);var s=o}catch(u){s=` +Error generating stack: `+u.message+` +`+u.stack}return{value:e,source:i,stack:s,digest:null}}function Rd(e,i,o){return{value:e,source:null,stack:o??null,digest:i??null}}function Sd(e,i){try{console.error(i.value)}catch(o){setTimeout(function(){throw o})}}var Td=typeof WeakMap=="function"?WeakMap:Map;function Ud(e,i,o){o=vc(-1,o),o.tag=3,o.payload={element:null};var a=i.value;return o.callback=function(){Vd||(Vd=!0,Wd=a),Sd(e,i)},o}function Xd(e,i,o){o=vc(-1,o),o.tag=3;var a=e.type.getDerivedStateFromError;if(typeof a=="function"){var s=i.value;o.payload=function(){return a(s)},o.callback=function(){Sd(e,i)}}var u=e.stateNode;return u!==null&&typeof u.componentDidCatch=="function"&&(o.callback=function(){Sd(e,i),typeof a!="function"&&(Yd===null?Yd=new Set([this]):Yd.add(this));var c=i.stack;this.componentDidCatch(i.value,{componentStack:c!==null?c:""})}),o}function Zd(e,i,o){var a=e.pingCache;if(a===null){a=e.pingCache=new Td;var s=new Set;a.set(i,s)}else s=a.get(i),s===void 0&&(s=new Set,a.set(i,s));s.has(o)||(s.add(o),e=$d.bind(null,e,i,o),i.then(e,e))}var ae=ha.ReactCurrentOwner,F=!1;function Q(e,i,o,a){i.child=e===null?fc(i,null,o,a):ec(i,e.child,o,a)}function be(e,i,o,a,s){o=o.render;var u=i.ref;return nc(i,s),a=Uc(e,i,o,a,u,s),e!==null&&!F?(i.updateQueue=e.updateQueue,i.flags&=-2053,e.lanes&=~s,ce(e,i,s)):(i.flags|=1,Q(e,i,a,s),i.child)}function de(e,i,o,a,s){if(e===null){var u=o.type;return typeof u=="function"&&!ee(u)&&u.defaultProps===void 0&&o.compare===null&&o.defaultProps===void 0?(i.tag=15,i.type=u,fe(e,i,u,a,s)):(e=bc(o.type,null,a,i,i.mode,s),e.ref=i.ref,e.return=i,i.child=e)}if(u=e.child,!(e.lanes&s)){var c=u.memoizedProps;if(o=o.compare,o=o!==null?o:Ub,o(c,a)&&e.ref===i.ref)return ce(e,i,s)}return i.flags|=1,e=$b(u,a),e.ref=i.ref,e.return=i,i.child=e}function fe(e,i,o,a,s){if(e!==null){var u=e.memoizedProps;if(Ub(u,a)&&e.ref===i.ref)if(F=!1,i.pendingProps=a=u,(e.lanes&s)!==0)e.flags&131072&&(F=!0);else return i.lanes=e.lanes,ce(e,i,s)}return ge(e,i,o,a,s)}function he(e,i,o){var a=i.pendingProps,s=a.children,u=e!==null?e.memoizedState:null;if(a.mode==="hidden")if(!(i.mode&1))i.memoizedState={baseLanes:0,cachePool:null,transitions:null},y(ie,R),R|=o;else{if(!(o&1073741824))return e=u!==null?u.baseLanes|o:o,i.lanes=i.childLanes=1073741824,i.memoizedState={baseLanes:e,cachePool:null,transitions:null},i.updateQueue=null,y(ie,R),R|=e,null;i.memoizedState={baseLanes:0,cachePool:null,transitions:null},a=u!==null?u.baseLanes:o,y(ie,R),R|=a}else u!==null?(a=u.baseLanes|o,i.memoizedState=null):a=o,y(ie,R),R|=a;return Q(e,i,s,o),i.child}function je(e,i){var o=i.ref;(e===null&&o!==null||e!==null&&e.ref!==o)&&(i.flags|=512)}function ge(e,i,o,a,s){var u=D(o)?zb:z.current;return u=Ab(i,u),nc(i,s),o=Uc(e,i,o,a,u,s),e!==null&&!F?(i.updateQueue=e.updateQueue,i.flags&=-2053,e.lanes&=~s,ce(e,i,s)):(i.flags|=1,Q(e,i,o,s),i.child)}function ke(e,i,o,a,s){if(D(o)){var u=!0;Eb(i)}else u=!1;if(nc(i,s),i.stateNode===null)le(e,i),Nd(i,o,a),Pd(i,o,a,s),a=!0;else if(e===null){var c=i.stateNode,d=i.memoizedProps;c.props=d;var _=c.context,b=o.contextType;typeof b=="object"&&b!==null?b=H(b):(b=D(o)?zb:z.current,b=Ab(i,b));var j=o.getDerivedStateFromProps,_e=typeof j=="function"||typeof c.getSnapshotBeforeUpdate=="function";_e||typeof c.UNSAFE_componentWillReceiveProps!="function"&&typeof c.componentWillReceiveProps!="function"||(d!==a||_!==b)&&Od(i,c,a,b),sc=!1;var et=i.memoizedState;c.state=et,zc(i,a,c,s),_=i.memoizedState,d!==a||et!==_||C.current||sc?(typeof j=="function"&&(Kd(i,o,j,a),_=i.memoizedState),(d=sc||Md(i,o,d,a,et,_,b))?(_e||typeof c.UNSAFE_componentWillMount!="function"&&typeof c.componentWillMount!="function"||(typeof c.componentWillMount=="function"&&c.componentWillMount(),typeof c.UNSAFE_componentWillMount=="function"&&c.UNSAFE_componentWillMount()),typeof c.componentDidMount=="function"&&(i.flags|=4)):(typeof c.componentDidMount=="function"&&(i.flags|=4),i.memoizedProps=a,i.memoizedState=_),c.props=a,c.state=_,c.context=b,a=d):(typeof c.componentDidMount=="function"&&(i.flags|=4),a=!1)}else{c=i.stateNode,uc(e,i),d=i.memoizedProps,b=i.type===i.elementType?d:Jd(i.type,d),c.props=b,_e=i.pendingProps,et=c.context,_=o.contextType,typeof _=="object"&&_!==null?_=H(_):(_=D(o)?zb:z.current,_=Ab(i,_));var at=o.getDerivedStateFromProps;(j=typeof at=="function"||typeof c.getSnapshotBeforeUpdate=="function")||typeof c.UNSAFE_componentWillReceiveProps!="function"&&typeof c.componentWillReceiveProps!="function"||(d!==_e||et!==_)&&Od(i,c,a,_),sc=!1,et=i.memoizedState,c.state=et,zc(i,a,c,s);var ot=i.memoizedState;d!==_e||et!==ot||C.current||sc?(typeof at=="function"&&(Kd(i,o,at,a),ot=i.memoizedState),(b=sc||Md(i,o,b,a,et,ot,_)||!1)?(j||typeof c.UNSAFE_componentWillUpdate!="function"&&typeof c.componentWillUpdate!="function"||(typeof c.componentWillUpdate=="function"&&c.componentWillUpdate(a,ot,_),typeof c.UNSAFE_componentWillUpdate=="function"&&c.UNSAFE_componentWillUpdate(a,ot,_)),typeof c.componentDidUpdate=="function"&&(i.flags|=4),typeof c.getSnapshotBeforeUpdate=="function"&&(i.flags|=1024)):(typeof c.componentDidUpdate!="function"||d===e.memoizedProps&&et===e.memoizedState||(i.flags|=4),typeof c.getSnapshotBeforeUpdate!="function"||d===e.memoizedProps&&et===e.memoizedState||(i.flags|=1024),i.memoizedProps=a,i.memoizedState=ot),c.props=a,c.state=ot,c.context=_,a=b):(typeof c.componentDidUpdate!="function"||d===e.memoizedProps&&et===e.memoizedState||(i.flags|=4),typeof c.getSnapshotBeforeUpdate!="function"||d===e.memoizedProps&&et===e.memoizedState||(i.flags|=1024),a=!1)}return me(e,i,o,a,u,s)}function me(e,i,o,a,s,u){je(e,i);var c=(i.flags&128)!==0;if(!a&&!c)return s&&Fb(i,o,!1),ce(e,i,u);a=i.stateNode,ae.current=i;var d=c&&typeof o.getDerivedStateFromError!="function"?null:a.render();return i.flags|=1,e!==null&&c?(i.child=ec(i,e.child,null,u),i.child=ec(i,null,d,u)):Q(e,i,d,u),i.memoizedState=a.state,s&&Fb(i,o,!0),i.child}function ne(e){var i=e.stateNode;i.pendingContext?Cb(e,i.pendingContext,i.pendingContext!==i.context):i.context&&Cb(e,i.context,!1),Gc(e,i.containerInfo)}var oe={dehydrated:null,treeContext:null,retryLane:0};function pe(e){return{baseLanes:e,cachePool:null,transitions:null}}function qe(e,i,o){var a=i.pendingProps,s=K.current,u=!1,c=(i.flags&128)!==0,d;if((d=c)||(d=e!==null&&e.memoizedState===null?!1:(s&2)!==0),d?(u=!0,i.flags&=-129):(e===null||e.memoizedState!==null)&&(s|=1),y(K,s&1),e===null)return e=i.memoizedState,e!==null&&e.dehydrated!==null?(i.mode&1?gb()?i.lanes=8:i.lanes=1073741824:i.lanes=1,null):(c=a.children,e=a.fallback,u?(a=i.mode,u=i.child,c={mode:"hidden",children:c},!(a&1)&&u!==null?(u.childLanes=0,u.pendingProps=c):u=re(c,a,0,null),e=dc(e,a,o,null),u.return=i,e.return=i,u.sibling=e,i.child=u,i.child.memoizedState=pe(o),i.memoizedState=oe,e):se(i,c));if(s=e.memoizedState,s!==null&&(d=s.dehydrated,d!==null))return te(e,i,c,a,d,s,o);if(u){u=a.fallback,c=i.mode,s=e.child,d=s.sibling;var _={mode:"hidden",children:a.children};return!(c&1)&&i.child!==s?(a=i.child,a.childLanes=0,a.pendingProps=_,i.deletions=null):(a=$b(s,_),a.subtreeFlags=s.subtreeFlags&14680064),d!==null?u=$b(d,u):(u=dc(u,c,o,null),u.flags|=2),u.return=i,a.return=i,a.sibling=u,i.child=a,a=u,u=i.child,c=e.child.memoizedState,c=c===null?pe(o):{baseLanes:c.baseLanes|o,cachePool:null,transitions:c.transitions},u.memoizedState=c,u.childLanes=e.childLanes&~o,i.memoizedState=oe,a}return u=e.child,e=u.sibling,a=$b(u,{mode:"visible",children:a.children}),!(i.mode&1)&&(a.lanes=o),a.return=i,a.sibling=null,e!==null&&(o=i.deletions,o===null?(i.deletions=[e],i.flags|=16):o.push(e)),i.child=a,i.memoizedState=null,a}function se(e,i){return i=re({mode:"visible",children:i},e.mode,0,null),i.return=e,e.child=i}function ue(e,i,o,a){return a!==null&&(Sb===null?Sb=[a]:Sb.push(a)),ec(i,e.child,null,o),e=se(i,i.pendingProps.children),e.flags|=2,i.memoizedState=null,e}function te(e,i,o,a,s,u,c){if(o)return i.flags&256?(i.flags&=-257,u=Rd(Error("There was an error while hydrating this Suspense boundary. Switched to client rendering.")),ue(e,i,c,u)):i.memoizedState!==null?(i.child=e.child,i.flags|=128,null):(u=a.fallback,o=i.mode,a=re({mode:"visible",children:a.children},o,0,null),u=dc(u,o,c,null),u.flags|=2,a.return=i,u.return=i,a.sibling=u,i.child=a,i.mode&1&&ec(i,e.child,null,c),i.child.memoizedState=pe(c),i.memoizedState=oe,u);if(!(i.mode&1))return ue(e,i,c,null);if(gb())return u=gb().digest,u=Rd(Error("The server could not finish this Suspense boundary, likely due to an error during server rendering. Switched to client rendering."),u,void 0),ue(e,i,c,u);if(o=(c&e.childLanes)!==0,F||o){if(a=P,a!==null){switch(c&-c){case 4:o=2;break;case 16:o=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:o=32;break;case 536870912:o=268435456;break;default:o=0}o=o&(a.suspendedLanes|c)?0:o,o!==0&&o!==u.retryLane&&(u.retryLane=o,rc(e,o),md(a,e,o,-1))}return ve(),u=Rd(Error("This Suspense boundary received an update before it finished hydrating. This caused the boundary to switch to client rendering. The usual way to fix this is to wrap the original update in startTransition.")),ue(e,i,c,u)}return gb()?(i.flags|=128,i.child=e.child,we.bind(null,e),gb(),null):(e=se(i,a.children),e.flags|=4096,e)}function xe(e,i,o){e.lanes|=i;var a=e.alternate;a!==null&&(a.lanes|=i),mc(e.return,i,o)}function ye(e,i,o,a,s){var u=e.memoizedState;u===null?e.memoizedState={isBackwards:i,rendering:null,renderingStartTime:0,last:a,tail:o,tailMode:s}:(u.isBackwards=i,u.rendering=null,u.renderingStartTime=0,u.last=a,u.tail=o,u.tailMode=s)}function ze(e,i,o){var a=i.pendingProps,s=a.revealOrder,u=a.tail;if(Q(e,i,a.children,o),a=K.current,a&2)a=a&1|2,i.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=i.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&xe(e,o,i);else if(e.tag===19)xe(e,o,i);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===i)break e;for(;e.sibling===null;){if(e.return===null||e.return===i)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}a&=1}if(y(K,a),!(i.mode&1))i.memoizedState=null;else switch(s){case"forwards":for(o=i.child,s=null;o!==null;)e=o.alternate,e!==null&&Kc(e)===null&&(s=o),o=o.sibling;o=s,o===null?(s=i.child,i.child=null):(s=o.sibling,o.sibling=null),ye(i,!1,s,o,u);break;case"backwards":for(o=null,s=i.child,i.child=null;s!==null;){if(e=s.alternate,e!==null&&Kc(e)===null){i.child=s;break}e=s.sibling,s.sibling=o,o=s,s=e}ye(i,!0,o,null,u);break;case"together":ye(i,!1,null,null,void 0);break;default:i.memoizedState=null}return i.child}function le(e,i){!(i.mode&1)&&e!==null&&(e.alternate=null,i.alternate=null,i.flags|=2)}function ce(e,i,o){if(e!==null&&(i.dependencies=e.dependencies),J|=i.lanes,!(o&i.childLanes))return null;if(e!==null&&i.child!==e.child)throw Error("Resuming work not yet implemented.");if(i.child!==null){for(e=i.child,o=$b(e,e.pendingProps),i.child=o,o.return=i;e.sibling!==null;)e=e.sibling,o=o.sibling=$b(e,e.pendingProps),o.return=i;o.sibling=null}return i.child}function Ae(e,i,o){switch(i.tag){case 3:ne(i);break;case 5:Ic(i);break;case 1:D(i.type)&&Eb(i);break;case 4:Gc(i,i.stateNode.containerInfo);break;case 10:var a=i.type._context,s=i.memoizedProps.value;y(gc,a._currentValue2),a._currentValue2=s;break;case 13:if(a=i.memoizedState,a!==null)return a.dehydrated!==null?(y(K,K.current&1),i.flags|=128,null):o&i.child.childLanes?qe(e,i,o):(y(K,K.current&1),e=ce(e,i,o),e!==null?e.sibling:null);y(K,K.current&1);break;case 19:if(a=(o&i.childLanes)!==0,e.flags&128){if(a)return ze(e,i,o);i.flags|=128}if(s=i.memoizedState,s!==null&&(s.rendering=null,s.tail=null,s.lastEffect=null),y(K,K.current),a)break;return null;case 22:case 23:return i.lanes=0,he(e,i,o)}return ce(e,i,o)}var Be,Ce,De,Ee;Be=function(e,i){for(var o=i.child;o!==null;){if(o.tag===5||o.tag===6){var a=e,s=o.stateNode,u=a.children.indexOf(s);u!==-1&&a.children.splice(u,1),a.children.push(s)}else if(o.tag!==4&&o.child!==null){o.child.return=o,o=o.child;continue}if(o===i)break;for(;o.sibling===null;){if(o.return===null||o.return===i)return;o=o.return}o.sibling.return=o.return,o=o.sibling}};Ce=function(){};De=function(e,i,o,a){e.memoizedProps!==a&&(Fc(Cc.current),i.updateQueue=jb)&&(i.flags|=4)};Ee=function(e,i,o,a){o!==a&&(i.flags|=4)};function Fe(e,i){switch(e.tailMode){case"hidden":i=e.tail;for(var o=null;i!==null;)i.alternate!==null&&(o=i),i=i.sibling;o===null?e.tail=null:o.sibling=null;break;case"collapsed":o=e.tail;for(var a=null;o!==null;)o.alternate!==null&&(a=o),o=o.sibling;a===null?i||e.tail===null?e.tail=null:e.tail.sibling=null:a.sibling=null}}function S(e){var i=e.alternate!==null&&e.alternate.child===e.child,o=0,a=0;if(i)for(var s=e.child;s!==null;)o|=s.lanes|s.childLanes,a|=s.subtreeFlags&14680064,a|=s.flags&14680064,s.return=e,s=s.sibling;else for(s=e.child;s!==null;)o|=s.lanes|s.childLanes,a|=s.subtreeFlags,a|=s.flags,s.return=e,s=s.sibling;return e.subtreeFlags|=a,e.childLanes=o,i}function Ge(e,i,o){var a=i.pendingProps;switch(Rb(i),i.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S(i),null;case 1:return D(i.type)&&Bb(),S(i),null;case 3:return o=i.stateNode,Hc(),x(C),x(z),Mc(),o.pendingContext&&(o.context=o.pendingContext,o.pendingContext=null),e!==null&&e.child!==null||e===null||e.memoizedState.isDehydrated&&!(i.flags&256)||(i.flags|=1024,Sb!==null&&(He(Sb),Sb=null)),Ce(e,i),S(i),null;case 5:Jc(i),o=Fc(Ec.current);var s=i.type;if(e!==null&&i.stateNode!=null)De(e,i,s,a,o),e.ref!==i.ref&&(i.flags|=512);else{if(!a){if(i.stateNode===null)throw Error("We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.");return S(i),null}Fc(Cc.current),e={type:s,props:a,isHidden:!1,children:[],internalInstanceHandle:i,rootContainerInstance:o,tag:"INSTANCE"},Be(e,i,!1,!1),i.stateNode=e,i.ref!==null&&(i.flags|=512)}return S(i),null;case 6:if(e&&i.stateNode!=null)Ee(e,i,e.memoizedProps,a);else{if(typeof a!="string"&&i.stateNode===null)throw Error("We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.");Fc(Ec.current),Fc(Cc.current),i.stateNode={text:a,isHidden:!1,tag:"TEXT"}}return S(i),null;case 13:if(x(K),a=i.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(a!==null&&a.dehydrated!==null){if(e===null)throw Error("A dehydrated suspense component was completed without a hydrated node. This is probably a bug in React.");!(i.flags&128)&&(i.memoizedState=null),i.flags|=4,S(i),s=!1}else Sb!==null&&(He(Sb),Sb=null),s=!0;if(!s)return i.flags&65536?i:null}return i.flags&128?(i.lanes=o,i):(o=a!==null,o!==(e!==null&&e.memoizedState!==null)&&o&&(i.child.flags|=8192,i.mode&1&&(e===null||K.current&1?T===0&&(T=3):ve())),i.updateQueue!==null&&(i.flags|=4),S(i),null);case 4:return Hc(),Ce(e,i),S(i),null;case 10:return lc(i.type._context),S(i),null;case 17:return D(i.type)&&Bb(),S(i),null;case 19:if(x(K),s=i.memoizedState,s===null)return S(i),null;a=(i.flags&128)!==0;var u=s.rendering;if(u===null)if(a)Fe(s,!1);else{if(T!==0||e!==null&&e.flags&128)for(e=i.child;e!==null;){if(u=Kc(e),u!==null){for(i.flags|=128,Fe(s,!1),e=u.updateQueue,e!==null&&(i.updateQueue=e,i.flags|=4),i.subtreeFlags=0,e=o,o=i.child;o!==null;)a=o,s=e,a.flags&=14680066,u=a.alternate,u===null?(a.childLanes=0,a.lanes=s,a.child=null,a.subtreeFlags=0,a.memoizedProps=null,a.memoizedState=null,a.updateQueue=null,a.dependencies=null,a.stateNode=null):(a.childLanes=u.childLanes,a.lanes=u.lanes,a.child=u.child,a.subtreeFlags=0,a.deletions=null,a.memoizedProps=u.memoizedProps,a.memoizedState=u.memoizedState,a.updateQueue=u.updateQueue,a.type=u.type,s=u.dependencies,a.dependencies=s===null?null:{lanes:s.lanes,firstContext:s.firstContext}),o=o.sibling;return y(K,K.current&1|2),i.child}e=e.sibling}s.tail!==null&&q()>Ie&&(i.flags|=128,a=!0,Fe(s,!1),i.lanes=4194304)}else{if(!a)if(e=Kc(u),e!==null){if(i.flags|=128,a=!0,e=e.updateQueue,e!==null&&(i.updateQueue=e,i.flags|=4),Fe(s,!0),s.tail===null&&s.tailMode==="hidden"&&!u.alternate)return S(i),null}else 2*q()-s.renderingStartTime>Ie&&o!==1073741824&&(i.flags|=128,a=!0,Fe(s,!1),i.lanes=4194304);s.isBackwards?(u.sibling=i.child,i.child=u):(e=s.last,e!==null?e.sibling=u:i.child=u,s.last=u)}return s.tail!==null?(i=s.tail,s.rendering=i,s.tail=i.sibling,s.renderingStartTime=q(),i.sibling=null,e=K.current,y(K,a?e&1|2:e&1),i):(S(i),null);case 22:case 23:return Je(),o=i.memoizedState!==null,e!==null&&e.memoizedState!==null!==o&&(i.flags|=8192),o&&i.mode&1?R&1073741824&&(S(i),i.subtreeFlags&6&&(i.flags|=8192)):S(i),null;case 24:return null;case 25:return null}throw Error("Unknown unit of work tag ("+i.tag+"). This error is likely caused by a bug in React. Please file an issue.")}function Ke(e,i){switch(Rb(i),i.tag){case 1:return D(i.type)&&Bb(),e=i.flags,e&65536?(i.flags=e&-65537|128,i):null;case 3:return Hc(),x(C),x(z),Mc(),e=i.flags,e&65536&&!(e&128)?(i.flags=e&-65537|128,i):null;case 5:return Jc(i),null;case 13:if(x(K),e=i.memoizedState,e!==null&&e.dehydrated!==null&&i.alternate===null)throw Error("Threw in newly mounted dehydrated component. This is likely a bug in React. Please file an issue.");return e=i.flags,e&65536?(i.flags=e&-65537|128,i):null;case 19:return x(K),null;case 4:return Hc(),null;case 10:return lc(i.type._context),null;case 22:case 23:return Je(),null;case 24:return null;default:return null}}var Le=typeof WeakSet=="function"?WeakSet:Set,U=null;function Me(e,i){var o=e.ref;if(o!==null)if(typeof o=="function")try{o(null)}catch(a){V(e,i,a)}else o.current=null}function Ne(e,i,o){try{o()}catch(a){V(e,i,a)}}var Oe=!1;function Pe(e,i){for(U=i;U!==null;)if(e=U,i=e.child,(e.subtreeFlags&1028)!==0&&i!==null)i.return=e,U=i;else for(;U!==null;){e=U;try{var o=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(o!==null){var a=o.memoizedProps,s=o.memoizedState,u=e.stateNode,c=u.getSnapshotBeforeUpdate(e.elementType===e.type?a:Jd(e.type,a),s);u.__reactInternalSnapshotBeforeUpdate=c}break;case 3:e.stateNode.containerInfo.children.splice(0);break;case 5:case 6:case 4:case 17:break;default:throw Error("This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.")}}catch(d){V(e,e.return,d)}if(i=e.sibling,i!==null){i.return=e.return,U=i;break}U=e.return}return o=Oe,Oe=!1,o}function Qe(e,i,o){var a=i.updateQueue;if(a=a!==null?a.lastEffect:null,a!==null){var s=a=a.next;do{if((s.tag&e)===e){var u=s.destroy;s.destroy=void 0,u!==void 0&&Ne(i,o,u)}s=s.next}while(s!==a)}}function Re(e,i){if(i=i.updateQueue,i=i!==null?i.lastEffect:null,i!==null){var o=i=i.next;do{if((o.tag&e)===e){var a=o.create;o.destroy=a()}o=o.next}while(o!==i)}}function Se(e){var i=e.alternate;i!==null&&(e.alternate=null,Se(i)),e.child=null,e.deletions=null,e.sibling=null,e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Te(e){return e.tag===5||e.tag===3||e.tag===4}function Ue(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Te(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ve(e,i,o){var a=e.tag;if(a===5||a===6)e=e.stateNode,i?nb(o,e,i):mb(o,e);else if(a!==4&&(e=e.child,e!==null))for(Ve(e,i,o),e=e.sibling;e!==null;)Ve(e,i,o),e=e.sibling}function We(e,i,o){var a=e.tag;if(a===5||a===6)e=e.stateNode,i?nb(o,e,i):mb(o,e);else if(a!==4&&(e=e.child,e!==null))for(We(e,i,o),e=e.sibling;e!==null;)We(e,i,o),e=e.sibling}var W=null;function Xe(e,i,o){for(o=o.child;o!==null;)Ye(e,i,o),o=o.sibling}function Ye(e,i,o){if(Oa&&typeof Oa.onCommitFiberUnmount=="function")try{Oa.onCommitFiberUnmount(Na,o)}catch{}switch(o.tag){case 5:Me(o,i);case 6:var a=W;W=null,Xe(e,i,o),W=a,W!==null&&(e=W,o=e.children.indexOf(o.stateNode),e.children.splice(o,1));break;case 18:W!==null&&gb(W,o.stateNode);break;case 4:a=W,W=o.stateNode.containerInfo,Xe(e,i,o),W=a;break;case 0:case 11:case 14:case 15:if(a=o.updateQueue,a!==null&&(a=a.lastEffect,a!==null)){var s=a=a.next;do{var u=s,c=u.destroy;u=u.tag,c!==void 0&&(u&2||u&4)&&Ne(o,i,c),s=s.next}while(s!==a)}Xe(e,i,o);break;case 1:if(Me(o,i),a=o.stateNode,typeof a.componentWillUnmount=="function")try{a.props=o.memoizedProps,a.state=o.memoizedState,a.componentWillUnmount()}catch(d){V(o,i,d)}Xe(e,i,o);break;case 21:Xe(e,i,o);break;case 22:Xe(e,i,o);break;default:Xe(e,i,o)}}function Ze(e){var i=e.updateQueue;if(i!==null){e.updateQueue=null;var o=e.stateNode;o===null&&(o=e.stateNode=new Le),i.forEach(function(a){var s=$e.bind(null,e,a);o.has(a)||(o.add(a),a.then(s,s))})}}function af(e,i){var o=i.deletions;if(o!==null)for(var a=0;as&&(s=c),a&=~u}if(a=s,a=q()-a,a=(120>a?120:480>a?480:1080>a?1080:1920>a?1920:3e3>a?3e3:4320>a?4320:1960*ff(a/1960))-a,10e?16:e,qf===null)var a=!1;else{if(e=qf,qf=null,rf=0,I&6)throw Error("Cannot flush passive effects while already rendering.");var s=I;for(I|=4,U=e.current;U!==null;){var u=U,c=u.child;if(U.flags&16){var d=u.deletions;if(d!==null){for(var _=0;_q()-df?Ef(e,0):mf|=o),xf(e,i)}function Tf(e,i){i===0&&(e.mode&1?(i=Wa,Wa<<=1,!(Wa&130023424)&&(Wa=4194304)):i=1);var o=Hd();e=rc(e,i),e!==null&&(cb(e,i,o),xf(e,o))}function we(e){var i=e.memoizedState,o=0;i!==null&&(o=i.retryLane),Tf(e,o)}function $e(e,i){var o=0;switch(e.tag){case 13:var a=e.stateNode,s=e.memoizedState;s!==null&&(o=s.retryLane);break;case 19:a=e.stateNode;break;default:throw Error("Pinged unknown suspense boundary type. This is probably a bug in React.")}a!==null&&a.delete(i),Tf(e,o)}var Qf;Qf=function(e,i,o){if(e!==null)if(e.memoizedProps!==i.pendingProps||C.current)F=!0;else{if(!(e.lanes&o)&&!(i.flags&128))return F=!1,Ae(e,i,o);F=!!(e.flags&131072)}else F=!1;switch(i.lanes=0,i.tag){case 2:var a=i.type;le(e,i),e=i.pendingProps;var s=Ab(i,z.current);if(nc(i,o),s=Uc(null,i,a,e,s,o),i.flags|=1,typeof s=="object"&&s!==null&&typeof s.render=="function"&&s.$$typeof===void 0){if(i.tag=1,i.memoizedState=null,i.updateQueue=null,D(a)){var u=!0;Eb(i)}else u=!1;i.memoizedState=s.state!==null&&s.state!==void 0?s.state:null,tc(i),s.updater=Ld,i.stateNode=s,s._reactInternals=i,Pd(i,a,e,o),i=me(null,i,a,!0,u,o)}else i.tag=0,Q(null,i,s,o),i=i.child;return i;case 16:a=i.elementType;e:{switch(le(e,i),e=i.pendingProps,s=a._init,a=s(a._payload),i.type=a,s=i.tag=Uf(a),e=Jd(a,e),s){case 0:i=ge(null,i,a,e,o);break e;case 1:i=ke(null,i,a,e,o);break e;case 11:i=be(null,i,a,e,o);break e;case 14:i=de(null,i,a,Jd(a.type,e),o);break e}throw Error("Element type is invalid. Received a promise that resolves to: "+a+". Lazy element type must resolve to a class or function.")}return i;case 0:return a=i.type,s=i.pendingProps,s=i.elementType===a?s:Jd(a,s),ge(e,i,a,s,o);case 1:return a=i.type,s=i.pendingProps,s=i.elementType===a?s:Jd(a,s),ke(e,i,a,s,o);case 3:if(ne(i),e===null)throw Error("Should have a current fiber. This is a bug in React.");return s=i.pendingProps,a=i.memoizedState.element,uc(e,i),zc(i,s,null,o),s=i.memoizedState.element,s===a?i=ce(e,i,o):(Q(e,i,s,o),i=i.child),i;case 5:return Ic(i),a=i.pendingProps.children,je(e,i),Q(e,i,a,o),i.child;case 6:return null;case 13:return qe(e,i,o);case 4:return Gc(i,i.stateNode.containerInfo),a=i.pendingProps,e===null?i.child=ec(i,null,a,o):Q(e,i,a,o),i.child;case 11:return a=i.type,s=i.pendingProps,s=i.elementType===a?s:Jd(a,s),be(e,i,a,s,o);case 7:return Q(e,i,i.pendingProps,o),i.child;case 8:return Q(e,i,i.pendingProps.children,o),i.child;case 12:return Q(e,i,i.pendingProps.children,o),i.child;case 10:e:{a=i.type._context,s=i.pendingProps,u=i.memoizedProps;var c=s.value;if(y(gc,a._currentValue2),a._currentValue2=c,u!==null)if(Hb(u.value,c)){if(u.children===s.children&&!C.current){i=ce(e,i,o);break e}}else for(u=i.child,u!==null&&(u.return=i);u!==null;){var d=u.dependencies;if(d!==null){c=u.child;for(var _=d.firstContext;_!==null;){if(_.context===a){if(u.tag===1){_=vc(-1,o&-o),_.tag=2;var b=u.updateQueue;if(b!==null){b=b.shared;var j=b.pending;j===null?_.next=_:(_.next=j.next,j.next=_),b.pending=_}}u.lanes|=o,_=u.alternate,_!==null&&(_.lanes|=o),mc(u.return,o,i),d.lanes|=o;break}_=_.next}}else if(u.tag===10)c=u.type===i.type?null:u.child;else if(u.tag===18){if(c=u.return,c===null)throw Error("We just came from a parent so we must have had a parent. This is a bug in React.");c.lanes|=o,d=c.alternate,d!==null&&(d.lanes|=o),mc(c,o,i),c=u.sibling}else c=u.child;if(c!==null)c.return=u;else for(c=u;c!==null;){if(c===i){c=null;break}if(u=c.sibling,u!==null){u.return=c.return,c=u;break}c=c.return}u=c}Q(e,i,s.children,o),i=i.child}return i;case 9:return s=i.type,a=i.pendingProps.children,nc(i,o),s=H(s),a=a(s),i.flags|=1,Q(e,i,a,o),i.child;case 14:return a=i.type,s=Jd(a,i.pendingProps),s=Jd(a.type,s),de(e,i,a,s,o);case 15:return fe(e,i,i.type,i.pendingProps,o);case 17:return a=i.type,s=i.pendingProps,s=i.elementType===a?s:Jd(a,s),le(e,i),i.tag=1,D(a)?(e=!0,Eb(i)):e=!1,nc(i,o),Nd(i,a,s),Pd(i,a,s,o),me(null,i,a,!0,e,o);case 19:return ze(e,i,o);case 22:return he(e,i,o)}throw Error("Unknown unit of work tag ("+i.tag+"). This error is likely caused by a bug in React. Please file an issue.")};function zf(e,i){return Ea(e,i)}function Vf(e,i,o,a){this.tag=e,this.key=o,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=i,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=a,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Wf(e,i,o,a){return new Vf(e,i,o,a)}function ee(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Uf(e){if(typeof e=="function")return ee(e)?1:0;if(e!=null){if(e=e.$$typeof,e===pa)return 11;if(e===sa)return 14}return 2}function $b(e,i){var o=e.alternate;return o===null?(o=Wf(e.tag,i,e.key,e.mode),o.elementType=e.elementType,o.type=e.type,o.stateNode=e.stateNode,o.alternate=e,e.alternate=o):(o.pendingProps=i,o.type=e.type,o.flags=0,o.subtreeFlags=0,o.deletions=null),o.flags=e.flags&14680064,o.childLanes=e.childLanes,o.lanes=e.lanes,o.child=e.child,o.memoizedProps=e.memoizedProps,o.memoizedState=e.memoizedState,o.updateQueue=e.updateQueue,i=e.dependencies,o.dependencies=i===null?null:{lanes:i.lanes,firstContext:i.firstContext},o.sibling=e.sibling,o.index=e.index,o.ref=e.ref,o}function bc(e,i,o,a,s,u){var c=2;if(a=e,typeof e=="function")ee(e)&&(c=1);else if(typeof e=="string")c=5;else e:switch(e){case ka:return dc(o.children,s,u,i);case la:c=8,s|=8;break;case ma:return e=Wf(12,o,i,s|2),e.elementType=ma,e.lanes=u,e;case qa:return e=Wf(13,o,i,s),e.elementType=qa,e.lanes=u,e;case ra:return e=Wf(19,o,i,s),e.elementType=ra,e.lanes=u,e;case ua:return re(o,s,u,i);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case na:c=10;break e;case oa:c=9;break e;case pa:c=11;break e;case sa:c=14;break e;case ta:c=16,a=null;break e}throw Error("Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: "+((e==null?e:typeof e)+"."))}return i=Wf(c,o,i,s),i.elementType=e,i.type=a,i.lanes=u,i}function dc(e,i,o,a){return e=Wf(7,e,a,i),e.lanes=o,e}function re(e,i,o,a){return e=Wf(22,e,a,i),e.elementType=ua,e.lanes=o,e.stateNode={isHidden:!1},e}function ac(e,i,o){return e=Wf(6,e,null,i),e.lanes=o,e}function cc(e,i,o){return i=Wf(4,e.children!==null?e.children:[],e.key,i),i.lanes=o,i.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},i}function Xf(e,i,o,a,s){this.tag=i,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=bb(0),this.expirationTimes=bb(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=bb(0),this.identifierPrefix=a,this.onRecoverableError=s}function Yf(e,i,o,a,s,u,c){return e=new Xf(e,i,!1,u,c),i===1?(i=1,a===!0&&(i|=8)):i=0,a=Wf(3,null,null,i),e.current=a,a.stateNode=e,a.memoizedState={element:null,isDehydrated:!1,cache:null,transitions:null,pendingSuspenseBoundaries:null},tc(a),e}function Zf(e,i,o,a){var s=i.current,u=Hd(),c=Ed(s);e:if(o){o=o._reactInternals;t:{if(za(o)!==o||o.tag!==1)throw Error("Expected subtree parent to be a mounted class component. This error is likely caused by a bug in React. Please file an issue.");var d=o;do{switch(d.tag){case 3:d=d.stateNode.context;break t;case 1:if(D(d.type)){d=d.stateNode.__reactInternalMemoizedMergedChildContext;break t}}d=d.return}while(d!==null);throw Error("Found unexpected detached subtree parent. This error is likely caused by a bug in React. Please file an issue.")}if(o.tag===1){var _=o.type;if(D(_)){o=Db(o,_,d);break e}}o=d}else o=yb;return i.context===null?i.context=o:i.pendingContext=o,i=vc(u,c),i.payload={element:e},a=a===void 0?null:a,a!==null&&(i.callback=a),e=wc(s,i,c),e!==null&&(md(e,s,c,u),xc(e,s,c)),c}function $f(){return null}var ag=aa.unstable_act,bg={createNodeMock:function(){return null}};function cg(e){if(e.isHidden)return null;switch(e.tag){case"TEXT":return e.text;case"INSTANCE":var i=e.props,o=["children"];if(i==null)i={};else{var a={},s=Object.keys(i),u;for(u=0;uig(o).length)break;return jg(o)}o=o.return}return null}},{key:"children",get:function(){return ig(this._currentFiber())}}]),e}();function lg(e,i,o){var a=o?o.deep:!0,s=[];return i(e)&&(s.push(e),!a)||e.children.forEach(function(u){typeof u!="string"&&s.push.apply(s,lg(u,i,o))}),s}function kg(e,i){if(e.length===1)return e[0];throw Error((e.length===0?"No instances found ":"Expected 1 but found "+e.length+" instances ")+i)}function ng(e){console.error(e)}var og=new WeakMap;function jg(e){var i=og.get(e);return i===void 0&&e.alternate!==null&&(i=og.get(e.alternate)),i===void 0&&(i=new mg(e),og.set(e,i)),i}var pg={findFiberByHostInstance:function(){throw Error("TestRenderer does not support findFiberByHostInstance()")},bundleType:0,version:"18.3.1",rendererPackageName:"react-test-renderer"},qg={bundleType:pg.bundleType,version:pg.version,rendererPackageName:pg.rendererPackageName,rendererConfig:pg.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ha.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=Ba(e),e=e!==null?Ca(e):null,e===null?null:e.stateNode},findFiberByHostInstance:pg.findFiberByHostInstance||$f,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var rg=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!rg.isDisabled&&rg.supportsFiber)try{Na=rg.inject(qg),Oa=rg}catch{}}reactTestRenderer_production_min._Scheduler=ba;reactTestRenderer_production_min.act=ag;reactTestRenderer_production_min.create=function(e,i){var o=bg.createNodeMock,a=!1,s=!1;typeof i=="object"&&i!==null&&(typeof i.createNodeMock=="function"&&(o=i.createNodeMock),i.unstable_isConcurrent===!0&&(a=!0),i.unstable_strictMode===!0&&(s=!0));var u={children:[],createNodeMock:o,tag:"CONTAINER"},c=Yf(u,a?1:0,null,s,null,"",ng);if(c==null)throw Error("something went wrong");return Zf(e,c,null,null),e={_Scheduler:ba,root:void 0,toJSON:function(){if(c==null||c.current==null||u==null||u.children.length===0)return null;if(u.children.length===1)return cg(u.children[0]);if(u.children.length===2&&u.children[0].isHidden===!0&&u.children[1].isHidden===!1)return cg(u.children[1]);var d=null;if(u.children&&u.children.length)for(var _=0;_":"attribute: {"+a+"}, parent: <"+this.parent.name+">"}isEqualNode(a){return!(a.namespaceURI!==this.namespaceURI||a.prefix!==this.prefix||a.localName!==this.localName||a.value!==this.value)}}return Object.defineProperty(i.prototype,"nodeType",{get:function(){return this.type}}),Object.defineProperty(i.prototype,"ownerElement",{get:function(){return this.parent}}),Object.defineProperty(i.prototype,"textContent",{get:function(){return this.value},set:function(o){return this.value=o||""}}),Object.defineProperty(i.prototype,"namespaceURI",{get:function(){return""}}),Object.defineProperty(i.prototype,"prefix",{get:function(){return""}}),Object.defineProperty(i.prototype,"localName",{get:function(){return this.name}}),Object.defineProperty(i.prototype,"specified",{get:function(){return!0}}),i}.call(this)}.call(commonjsGlobal)),XMLAttribute.exports}var XMLNamedNodeMap={exports:{}},hasRequiredXMLNamedNodeMap;function requireXMLNamedNodeMap(){return hasRequiredXMLNamedNodeMap||(hasRequiredXMLNamedNodeMap=1,function(){XMLNamedNodeMap.exports=function(){class e{constructor(o){this.nodes=o}clone(){return this.nodes=null}getNamedItem(o){return this.nodes[o]}setNamedItem(o){var a;return a=this.nodes[o.nodeName],this.nodes[o.nodeName]=o,a||null}removeNamedItem(o){var a;return a=this.nodes[o],delete this.nodes[o],a||null}item(o){return this.nodes[Object.keys(this.nodes)[o]]||null}getNamedItemNS(o,a){throw new Error("This DOM method is not implemented.")}setNamedItemNS(o){throw new Error("This DOM method is not implemented.")}removeNamedItemNS(o,a){throw new Error("This DOM method is not implemented.")}}return Object.defineProperty(e.prototype,"length",{get:function(){return Object.keys(this.nodes).length||0}}),e}.call(this)}.call(commonjsGlobal)),XMLNamedNodeMap.exports}var hasRequiredXMLElement;function requireXMLElement(){return hasRequiredXMLElement||(hasRequiredXMLElement=1,function(){var e,i,o,a,s,u,c,d={}.hasOwnProperty;({isObject:c,isFunction:u,getValue:s}=requireUtility()),a=requireXMLNode(),e=requireNodeType(),i=requireXMLAttribute(),o=requireXMLNamedNodeMap(),XMLElement.exports=function(){class _ extends a{constructor(j,_e,et){var at,ot,gt,vt;if(super(j),_e==null)throw new Error("Missing element name. "+this.debugInfo());if(this.name=this.stringify.name(_e),this.type=e.Element,this.attribs={},this.schemaTypeInfo=null,et!=null&&this.attribute(et),j.type===e.Document&&(this.isRoot=!0,this.documentObject=j,j.rootObject=this,j.children)){for(vt=j.children,ot=0,gt=vt.length;ot=at;_e=0<=at?++et:--et)if(!this.attribs[_e].isEqualNode(j.attribs[_e]))return!1;return!0}}return Object.defineProperty(_.prototype,"tagName",{get:function(){return this.name}}),Object.defineProperty(_.prototype,"namespaceURI",{get:function(){return""}}),Object.defineProperty(_.prototype,"prefix",{get:function(){return""}}),Object.defineProperty(_.prototype,"localName",{get:function(){return this.name}}),Object.defineProperty(_.prototype,"id",{get:function(){throw new Error("This DOM method is not implemented."+this.debugInfo())}}),Object.defineProperty(_.prototype,"className",{get:function(){throw new Error("This DOM method is not implemented."+this.debugInfo())}}),Object.defineProperty(_.prototype,"classList",{get:function(){throw new Error("This DOM method is not implemented."+this.debugInfo())}}),Object.defineProperty(_.prototype,"attributes",{get:function(){return(!this.attributeMap||!this.attributeMap.nodes)&&(this.attributeMap=new o(this.attribs)),this.attributeMap}}),_}.call(this)}.call(commonjsGlobal)),XMLElement.exports}var XMLCData={exports:{}},XMLCharacterData={exports:{}},hasRequiredXMLCharacterData;function requireXMLCharacterData(){return hasRequiredXMLCharacterData||(hasRequiredXMLCharacterData=1,function(){var e;e=requireXMLNode(),XMLCharacterData.exports=function(){class i extends e{constructor(a){super(a),this.value=""}clone(){return Object.create(this)}substringData(a,s){throw new Error("This DOM method is not implemented."+this.debugInfo())}appendData(a){throw new Error("This DOM method is not implemented."+this.debugInfo())}insertData(a,s){throw new Error("This DOM method is not implemented."+this.debugInfo())}deleteData(a,s){throw new Error("This DOM method is not implemented."+this.debugInfo())}replaceData(a,s,u){throw new Error("This DOM method is not implemented."+this.debugInfo())}isEqualNode(a){return!(!super.isEqualNode(a)||a.data!==this.data)}}return Object.defineProperty(i.prototype,"data",{get:function(){return this.value},set:function(o){return this.value=o||""}}),Object.defineProperty(i.prototype,"length",{get:function(){return this.value.length}}),Object.defineProperty(i.prototype,"textContent",{get:function(){return this.value},set:function(o){return this.value=o||""}}),i}.call(this)}.call(commonjsGlobal)),XMLCharacterData.exports}var hasRequiredXMLCData;function requireXMLCData(){return hasRequiredXMLCData||(hasRequiredXMLCData=1,function(){var e,i;e=requireNodeType(),i=requireXMLCharacterData(),XMLCData.exports=class extends i{constructor(a,s){if(super(a),s==null)throw new Error("Missing CDATA text. "+this.debugInfo());this.name="#cdata-section",this.type=e.CData,this.value=this.stringify.cdata(s)}clone(){return Object.create(this)}toString(a){return this.options.writer.cdata(this,this.options.writer.filterOptions(a))}}}.call(commonjsGlobal)),XMLCData.exports}var XMLComment={exports:{}},hasRequiredXMLComment;function requireXMLComment(){return hasRequiredXMLComment||(hasRequiredXMLComment=1,function(){var e,i;e=requireNodeType(),i=requireXMLCharacterData(),XMLComment.exports=class extends i{constructor(a,s){if(super(a),s==null)throw new Error("Missing comment text. "+this.debugInfo());this.name="#comment",this.type=e.Comment,this.value=this.stringify.comment(s)}clone(){return Object.create(this)}toString(a){return this.options.writer.comment(this,this.options.writer.filterOptions(a))}}}.call(commonjsGlobal)),XMLComment.exports}var XMLDeclaration={exports:{}},hasRequiredXMLDeclaration;function requireXMLDeclaration(){return hasRequiredXMLDeclaration||(hasRequiredXMLDeclaration=1,function(){var e,i,o;({isObject:o}=requireUtility()),i=requireXMLNode(),e=requireNodeType(),XMLDeclaration.exports=class extends i{constructor(s,u,c,d){super(s),o(u)&&({version:u,encoding:c,standalone:d}=u),u||(u="1.0"),this.type=e.Declaration,this.version=this.stringify.xmlVersion(u),c!=null&&(this.encoding=this.stringify.xmlEncoding(c)),d!=null&&(this.standalone=this.stringify.xmlStandalone(d))}toString(s){return this.options.writer.declaration(this,this.options.writer.filterOptions(s))}}}.call(commonjsGlobal)),XMLDeclaration.exports}var XMLDocType={exports:{}},XMLDTDAttList={exports:{}},hasRequiredXMLDTDAttList;function requireXMLDTDAttList(){return hasRequiredXMLDTDAttList||(hasRequiredXMLDTDAttList=1,function(){var e,i;i=requireXMLNode(),e=requireNodeType(),XMLDTDAttList.exports=class extends i{constructor(a,s,u,c,d,_){if(super(a),s==null)throw new Error("Missing DTD element name. "+this.debugInfo());if(u==null)throw new Error("Missing DTD attribute name. "+this.debugInfo(s));if(!c)throw new Error("Missing DTD attribute type. "+this.debugInfo(s));if(!d)throw new Error("Missing DTD attribute default. "+this.debugInfo(s));if(d.indexOf("#")!==0&&(d="#"+d),!d.match(/^(#REQUIRED|#IMPLIED|#FIXED|#DEFAULT)$/))throw new Error("Invalid default value type; expected: #REQUIRED, #IMPLIED, #FIXED or #DEFAULT. "+this.debugInfo(s));if(_&&!d.match(/^(#FIXED|#DEFAULT)$/))throw new Error("Default value only applies to #FIXED or #DEFAULT. "+this.debugInfo(s));this.elementName=this.stringify.name(s),this.type=e.AttributeDeclaration,this.attributeName=this.stringify.name(u),this.attributeType=this.stringify.dtdAttType(c),_&&(this.defaultValue=this.stringify.dtdAttDefault(_)),this.defaultValueType=d}toString(a){return this.options.writer.dtdAttList(this,this.options.writer.filterOptions(a))}}}.call(commonjsGlobal)),XMLDTDAttList.exports}var XMLDTDEntity={exports:{}},hasRequiredXMLDTDEntity;function requireXMLDTDEntity(){return hasRequiredXMLDTDEntity||(hasRequiredXMLDTDEntity=1,function(){var e,i,o;({isObject:o}=requireUtility()),i=requireXMLNode(),e=requireNodeType(),XMLDTDEntity.exports=function(){class a extends i{constructor(u,c,d,_){if(super(u),d==null)throw new Error("Missing DTD entity name. "+this.debugInfo(d));if(_==null)throw new Error("Missing DTD entity value. "+this.debugInfo(d));if(this.pe=!!c,this.name=this.stringify.name(d),this.type=e.EntityDeclaration,!o(_))this.value=this.stringify.dtdEntityValue(_),this.internal=!0;else{if(!_.pubID&&!_.sysID)throw new Error("Public and/or system identifiers are required for an external entity. "+this.debugInfo(d));if(_.pubID&&!_.sysID)throw new Error("System identifier is required for a public external entity. "+this.debugInfo(d));if(this.internal=!1,_.pubID!=null&&(this.pubID=this.stringify.dtdPubID(_.pubID)),_.sysID!=null&&(this.sysID=this.stringify.dtdSysID(_.sysID)),_.nData!=null&&(this.nData=this.stringify.dtdNData(_.nData)),this.pe&&this.nData)throw new Error("Notation declaration is not allowed in a parameter entity. "+this.debugInfo(d))}}toString(u){return this.options.writer.dtdEntity(this,this.options.writer.filterOptions(u))}}return Object.defineProperty(a.prototype,"publicId",{get:function(){return this.pubID}}),Object.defineProperty(a.prototype,"systemId",{get:function(){return this.sysID}}),Object.defineProperty(a.prototype,"notationName",{get:function(){return this.nData||null}}),Object.defineProperty(a.prototype,"inputEncoding",{get:function(){return null}}),Object.defineProperty(a.prototype,"xmlEncoding",{get:function(){return null}}),Object.defineProperty(a.prototype,"xmlVersion",{get:function(){return null}}),a}.call(this)}.call(commonjsGlobal)),XMLDTDEntity.exports}var XMLDTDElement={exports:{}},hasRequiredXMLDTDElement;function requireXMLDTDElement(){return hasRequiredXMLDTDElement||(hasRequiredXMLDTDElement=1,function(){var e,i;i=requireXMLNode(),e=requireNodeType(),XMLDTDElement.exports=class extends i{constructor(a,s,u){if(super(a),s==null)throw new Error("Missing DTD element name. "+this.debugInfo());u||(u="(#PCDATA)"),Array.isArray(u)&&(u="("+u.join(",")+")"),this.name=this.stringify.name(s),this.type=e.ElementDeclaration,this.value=this.stringify.dtdElementValue(u)}toString(a){return this.options.writer.dtdElement(this,this.options.writer.filterOptions(a))}}}.call(commonjsGlobal)),XMLDTDElement.exports}var XMLDTDNotation={exports:{}},hasRequiredXMLDTDNotation;function requireXMLDTDNotation(){return hasRequiredXMLDTDNotation||(hasRequiredXMLDTDNotation=1,function(){var e,i;i=requireXMLNode(),e=requireNodeType(),XMLDTDNotation.exports=function(){class o extends i{constructor(s,u,c){if(super(s),u==null)throw new Error("Missing DTD notation name. "+this.debugInfo(u));if(!c.pubID&&!c.sysID)throw new Error("Public or system identifiers are required for an external entity. "+this.debugInfo(u));this.name=this.stringify.name(u),this.type=e.NotationDeclaration,c.pubID!=null&&(this.pubID=this.stringify.dtdPubID(c.pubID)),c.sysID!=null&&(this.sysID=this.stringify.dtdSysID(c.sysID))}toString(s){return this.options.writer.dtdNotation(this,this.options.writer.filterOptions(s))}}return Object.defineProperty(o.prototype,"publicId",{get:function(){return this.pubID}}),Object.defineProperty(o.prototype,"systemId",{get:function(){return this.sysID}}),o}.call(this)}.call(commonjsGlobal)),XMLDTDNotation.exports}var hasRequiredXMLDocType;function requireXMLDocType(){return hasRequiredXMLDocType||(hasRequiredXMLDocType=1,function(){var e,i,o,a,s,u,c,d;({isObject:d}=requireUtility()),c=requireXMLNode(),e=requireNodeType(),i=requireXMLDTDAttList(),a=requireXMLDTDEntity(),o=requireXMLDTDElement(),s=requireXMLDTDNotation(),u=requireXMLNamedNodeMap(),XMLDocType.exports=function(){class _ extends c{constructor(j,_e,et){var at,ot,gt,vt;if(super(j),this.type=e.DocType,j.children){for(vt=j.children,ot=0,gt=vt.length;ot":(ct=this.parent)!=null&&ct.name?"node: <"+$+">, parent: <"+this.parent.name+">":"node: <"+$+">"}ele($,tt,ct){return this.element($,tt,ct)}nod($,tt,ct){return this.node($,tt,ct)}txt($){return this.text($)}dat($){return this.cdata($)}com($){return this.comment($)}ins($,tt){return this.instruction($,tt)}doc(){return this.document()}dec($,tt,ct){return this.declaration($,tt,ct)}e($,tt,ct){return this.element($,tt,ct)}n($,tt,ct){return this.node($,tt,ct)}t($){return this.text($)}d($){return this.cdata($)}c($){return this.comment($)}r($){return this.raw($)}i($,tt){return this.instruction($,tt)}u(){return this.up()}importXMLBuilder($){return this.importDocument($)}attribute($,tt){throw new Error("attribute() applies to element nodes only.")}att($,tt){return this.attribute($,tt)}a($,tt){return this.attribute($,tt)}removeAttribute($){throw new Error("attribute() applies to element nodes only.")}replaceChild($,tt){throw new Error("This DOM method is not implemented."+this.debugInfo())}removeChild($){throw new Error("This DOM method is not implemented."+this.debugInfo())}appendChild($){throw new Error("This DOM method is not implemented."+this.debugInfo())}hasChildNodes(){return this.children.length!==0}cloneNode($){throw new Error("This DOM method is not implemented."+this.debugInfo())}normalize(){throw new Error("This DOM method is not implemented."+this.debugInfo())}isSupported($,tt){return!0}hasAttributes(){return this.attribs.length!==0}compareDocumentPosition($){var tt,ct;return tt=this,tt===$?0:this.document()!==$.document()?(ct=e.Disconnected|e.ImplementationSpecific,Math.random()<.5?ct|=e.Preceding:ct|=e.Following,ct):tt.isAncestor($)?e.Contains|e.Preceding:tt.isDescendant($)?e.Contains|e.Following:tt.isPreceding($)?e.Preceding:e.Following}isSameNode($){throw new Error("This DOM method is not implemented."+this.debugInfo())}lookupPrefix($){throw new Error("This DOM method is not implemented."+this.debugInfo())}isDefaultNamespace($){throw new Error("This DOM method is not implemented."+this.debugInfo())}lookupNamespaceURI($){throw new Error("This DOM method is not implemented."+this.debugInfo())}isEqualNode($){var tt,ct,dt;if($.nodeType!==this.nodeType||$.children.length!==this.children.length)return!1;for(tt=ct=0,dt=this.children.length-1;0<=dt?ct<=dt:ct>=dt;tt=0<=dt?++ct:--ct)if(!this.children[tt].isEqualNode($.children[tt]))return!1;return!0}getFeature($,tt){throw new Error("This DOM method is not implemented."+this.debugInfo())}setUserData($,tt,ct){throw new Error("This DOM method is not implemented."+this.debugInfo())}getUserData($){throw new Error("This DOM method is not implemented."+this.debugInfo())}contains($){return $?$===this||this.isDescendant($):!1}isDescendant($){var tt,ct,dt,rt,lt;for(lt=this.children,dt=0,rt=lt.length;dtct}treePosition($){var tt,ct;return ct=0,tt=!1,this.foreachTreeNode(this.document(),function(dt){if(ct++,!tt&&dt===$)return tt=!0}),tt?ct:-1}foreachTreeNode($,tt){var ct,dt,rt,lt,mt;for($||($=this.document()),lt=$.children,dt=0,rt=lt.length;dt","]]]]>"),this.assertLegalChar(a))}comment(a){if(this.options.noValidation)return a;if(a=""+a||"",a.match(/--/))throw new Error("Comment text cannot contain double-hypen: "+a);return this.assertLegalChar(a)}raw(a){return this.options.noValidation?a:""+a||""}attValue(a){return this.options.noValidation?a:this.assertLegalChar(this.attEscape(a=""+a||""))}insTarget(a){return this.options.noValidation?a:this.assertLegalChar(""+a||"")}insValue(a){if(this.options.noValidation)return a;if(a=""+a||"",a.match(/\?>/))throw new Error("Invalid processing instruction value: "+a);return this.assertLegalChar(a)}xmlVersion(a){if(this.options.noValidation)return a;if(a=""+a||"",!a.match(/1\.[0-9]+/))throw new Error("Invalid version number: "+a);return a}xmlEncoding(a){if(this.options.noValidation)return a;if(a=""+a||"",!a.match(/^[A-Za-z](?:[A-Za-z0-9._-])*$/))throw new Error("Invalid encoding: "+a);return this.assertLegalChar(a)}xmlStandalone(a){return this.options.noValidation?a:a?"yes":"no"}dtdPubID(a){return this.options.noValidation?a:this.assertLegalChar(""+a||"")}dtdSysID(a){return this.options.noValidation?a:this.assertLegalChar(""+a||"")}dtdElementValue(a){return this.options.noValidation?a:this.assertLegalChar(""+a||"")}dtdAttType(a){return this.options.noValidation?a:this.assertLegalChar(""+a||"")}dtdAttDefault(a){return this.options.noValidation?a:this.assertLegalChar(""+a||"")}dtdEntityValue(a){return this.options.noValidation?a:this.assertLegalChar(""+a||"")}dtdNData(a){return this.options.noValidation?a:this.assertLegalChar(""+a||"")}assertLegalChar(a){var s,u;if(this.options.noValidation)return a;if(this.options.version==="1.0"){if(s=/[\0-\x08\x0B\f\x0E-\x1F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/g,this.options.invalidCharReplacement!==void 0)a=a.replace(s,this.options.invalidCharReplacement);else if(u=a.match(s))throw new Error(`Invalid character in string: ${a} at index ${u.index}`)}else if(this.options.version==="1.1"){if(s=/[\0\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/g,this.options.invalidCharReplacement!==void 0)a=a.replace(s,this.options.invalidCharReplacement);else if(u=a.match(s))throw new Error(`Invalid character in string: ${a} at index ${u.index}`)}return a}assertLegalName(a){var s;if(this.options.noValidation)return a;if(a=this.assertLegalChar(a),s=/^([:A-Z_a-z\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])([\x2D\.0-:A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])*$/,!a.match(s))throw new Error(`Invalid character in name: ${a}`);return a}textEscape(a){var s;return this.options.noValidation?a:(s=this.options.noDoubleEncoding?/(?!&(lt|gt|amp|apos|quot);)&/g:/&/g,a.replace(s,"&").replace(//g,">").replace(/\r/g," "))}attEscape(a){var s;return this.options.noValidation?a:(s=this.options.noDoubleEncoding?/(?!&(lt|gt|amp|apos|quot);)&/g:/&/g,a.replace(s,"&").replace(/0)?new Array(_).join(c.indent):""}endline(u,c,d){return!c.pretty||c.suppressPrettyCount?"":c.newline}attribute(u,c,d){var _;return this.openAttribute(u,c,d),c.pretty&&c.width>0?_=u.name+'="'+u.value+'"':_=" "+u.name+'="'+u.value+'"',this.closeAttribute(u,c,d),_}cdata(u,c,d){var _;return this.openNode(u,c,d),c.state=i.OpenTag,_=this.indent(u,c,d)+""+this.endline(u,c,d),c.state=i.None,this.closeNode(u,c,d),_}comment(u,c,d){var _;return this.openNode(u,c,d),c.state=i.OpenTag,_=this.indent(u,c,d)+""+this.endline(u,c,d),c.state=i.None,this.closeNode(u,c,d),_}declaration(u,c,d){var _;return this.openNode(u,c,d),c.state=i.OpenTag,_=this.indent(u,c,d)+"",_+=this.endline(u,c,d),c.state=i.None,this.closeNode(u,c,d),_}docType(u,c,d){var _,b,j,_e,et;if(d||(d=0),this.openNode(u,c,d),c.state=i.OpenTag,_e=this.indent(u,c,d),_e+="0){for(_e+=" [",_e+=this.endline(u,c,d),c.state=i.InsideTag,et=u.children,b=0,j=et.length;b",_e+=this.endline(u,c,d),c.state=i.None,this.closeNode(u,c,d),_e}element(u,c,d){var _,b,j,_e,et,at,ot,gt,vt,ft,nt,ut,$,tt,ct,dt,rt,lt,mt;if(d||(d=0),ut=!1,this.openNode(u,c,d),c.state=i.OpenTag,$=this.indent(u,c,d)+"<"+u.name,c.pretty&&c.width>0){gt=$.length,ct=u.attribs;for(nt in ct)a.call(ct,nt)&&(_=ct[nt],tt=this.attribute(_,c,d),b=tt.length,gt+b>c.width?(mt=this.indent(u,c,d+1)+tt,$+=this.endline(u,c,d)+mt,gt=mt.length):(mt=" "+tt,$+=mt,gt+=mt.length))}else{dt=u.attribs;for(nt in dt)a.call(dt,nt)&&(_=dt[nt],$+=this.attribute(_,c,d))}if(_e=u.children.length,et=_e===0?null:u.children[0],_e===0||u.children.every(function(ht){return(ht.type===e.Text||ht.type===e.Raw||ht.type===e.CData)&&ht.value===""}))c.allowEmpty?($+=">",c.state=i.CloseTag,$+=""+this.endline(u,c,d)):(c.state=i.CloseTag,$+=c.spaceBeforeSlash+"/>"+this.endline(u,c,d));else if(c.pretty&&_e===1&&(et.type===e.Text||et.type===e.Raw||et.type===e.CData)&&et.value!=null)$+=">",c.state=i.InsideTag,c.suppressPrettyCount++,ut=!0,$+=this.writeChildNode(et,c,d+1),c.suppressPrettyCount--,ut=!1,c.state=i.CloseTag,$+=""+this.endline(u,c,d);else{if(c.dontPrettyTextNodes){for(rt=u.children,at=0,vt=rt.length;at"+this.endline(u,c,d),c.state=i.InsideTag,lt=u.children,ot=0,ft=lt.length;ot",ut&&c.suppressPrettyCount--,$+=this.endline(u,c,d),c.state=i.None}return this.closeNode(u,c,d),$}writeChildNode(u,c,d){switch(u.type){case e.CData:return this.cdata(u,c,d);case e.Comment:return this.comment(u,c,d);case e.Element:return this.element(u,c,d);case e.Raw:return this.raw(u,c,d);case e.Text:return this.text(u,c,d);case e.ProcessingInstruction:return this.processingInstruction(u,c,d);case e.Dummy:return"";case e.Declaration:return this.declaration(u,c,d);case e.DocType:return this.docType(u,c,d);case e.AttributeDeclaration:return this.dtdAttList(u,c,d);case e.ElementDeclaration:return this.dtdElement(u,c,d);case e.EntityDeclaration:return this.dtdEntity(u,c,d);case e.NotationDeclaration:return this.dtdNotation(u,c,d);default:throw new Error("Unknown XML node type: "+u.constructor.name)}}processingInstruction(u,c,d){var _;return this.openNode(u,c,d),c.state=i.OpenTag,_=this.indent(u,c,d)+"",_+=this.endline(u,c,d),c.state=i.None,this.closeNode(u,c,d),_}raw(u,c,d){var _;return this.openNode(u,c,d),c.state=i.OpenTag,_=this.indent(u,c,d),c.state=i.InsideTag,_+=u.value,c.state=i.CloseTag,_+=this.endline(u,c,d),c.state=i.None,this.closeNode(u,c,d),_}text(u,c,d){var _;return this.openNode(u,c,d),c.state=i.OpenTag,_=this.indent(u,c,d),c.state=i.InsideTag,_+=u.value,c.state=i.CloseTag,_+=this.endline(u,c,d),c.state=i.None,this.closeNode(u,c,d),_}dtdAttList(u,c,d){var _;return this.openNode(u,c,d),c.state=i.OpenTag,_=this.indent(u,c,d)+""+this.endline(u,c,d),c.state=i.None,this.closeNode(u,c,d),_}dtdElement(u,c,d){var _;return this.openNode(u,c,d),c.state=i.OpenTag,_=this.indent(u,c,d)+""+this.endline(u,c,d),c.state=i.None,this.closeNode(u,c,d),_}dtdEntity(u,c,d){var _;return this.openNode(u,c,d),c.state=i.OpenTag,_=this.indent(u,c,d)+""+this.endline(u,c,d),c.state=i.None,this.closeNode(u,c,d),_}dtdNotation(u,c,d){var _;return this.openNode(u,c,d),c.state=i.OpenTag,_=this.indent(u,c,d)+""+this.endline(u,c,d),c.state=i.None,this.closeNode(u,c,d),_}openNode(u,c,d){}closeNode(u,c,d){}openAttribute(u,c,d){}closeAttribute(u,c,d){}}}.call(commonjsGlobal)),XMLWriterBase.exports}var hasRequiredXMLStringWriter;function requireXMLStringWriter(){return hasRequiredXMLStringWriter||(hasRequiredXMLStringWriter=1,function(){var e;e=requireXMLWriterBase(),XMLStringWriter.exports=class extends e{constructor(o){super(o)}document(o,a){var s,u,c,d,_;for(a=this.filterOptions(a),d="",_=o.children,u=0,c=_.length;u=0;)this.up();return this.onEnd()}openCurrent(){if(this.currentNode)return this.currentNode.children=!0,this.openNode(this.currentNode)}openNode(rt){var lt,mt,ht,yt;if(!rt.isOpen){if(!this.root&&this.currentLevel===0&&rt.type===e.Element&&(this.root=rt),mt="",rt.type===e.Element){this.writerOptions.state=i.OpenTag,mt=this.writer.indent(rt,this.writerOptions,this.currentLevel)+"<"+rt.name,yt=rt.attribs;for(ht in yt)ct.call(yt,ht)&&(lt=yt[ht],mt+=this.writer.attribute(lt,this.writerOptions,this.currentLevel));mt+=(rt.children?">":"/>")+this.writer.endline(rt,this.writerOptions,this.currentLevel),this.writerOptions.state=i.InsideTag}else this.writerOptions.state=i.OpenTag,mt=this.writer.indent(rt,this.writerOptions,this.currentLevel)+""),mt+=this.writer.endline(rt,this.writerOptions,this.currentLevel);return this.onData(mt,this.currentLevel),rt.isOpen=!0}}closeNode(rt){var lt;if(!rt.isClosed)return lt="",this.writerOptions.state=i.CloseTag,rt.type===e.Element?lt=this.writer.indent(rt,this.writerOptions,this.currentLevel)+""+this.writer.endline(rt,this.writerOptions,this.currentLevel):lt=this.writer.indent(rt,this.writerOptions,this.currentLevel)+"]>"+this.writer.endline(rt,this.writerOptions,this.currentLevel),this.writerOptions.state=i.None,this.onData(lt,this.currentLevel),rt.isClosed=!0}onData(rt,lt){return this.documentStarted=!0,this.onDataCallback(rt,lt+1)}onEnd(){return this.documentCompleted=!0,this.onEndCallback()}debugInfo(rt){return rt==null?"":"node: <"+rt+">"}ele(){return this.element(...arguments)}nod(rt,lt,mt){return this.node(rt,lt,mt)}txt(rt){return this.text(rt)}dat(rt){return this.cdata(rt)}com(rt){return this.comment(rt)}ins(rt,lt){return this.instruction(rt,lt)}dec(rt,lt,mt){return this.declaration(rt,lt,mt)}dtd(rt,lt,mt){return this.doctype(rt,lt,mt)}e(rt,lt,mt){return this.element(rt,lt,mt)}n(rt,lt,mt){return this.node(rt,lt,mt)}t(rt){return this.text(rt)}d(rt){return this.cdata(rt)}c(rt){return this.comment(rt)}r(rt){return this.raw(rt)}i(rt,lt){return this.instruction(rt,lt)}att(){return this.currentNode&&this.currentNode.type===e.DocType?this.attList(...arguments):this.attribute(...arguments)}a(){return this.currentNode&&this.currentNode.type===e.DocType?this.attList(...arguments):this.attribute(...arguments)}ent(rt,lt){return this.entity(rt,lt)}pent(rt,lt){return this.pEntity(rt,lt)}not(rt,lt){return this.notation(rt,lt)}}}.call(commonjsGlobal)),XMLDocumentCB.exports}var XMLStreamWriter={exports:{}},hasRequiredXMLStreamWriter;function requireXMLStreamWriter(){return hasRequiredXMLStreamWriter||(hasRequiredXMLStreamWriter=1,function(){var e,i,o,a={}.hasOwnProperty;e=requireNodeType(),o=requireXMLWriterBase(),i=requireWriterState(),XMLStreamWriter.exports=class extends o{constructor(u,c){super(c),this.stream=u}endline(u,c,d){return u.isLastRootNode&&c.state===i.CloseTag?"":super.endline(u,c,d)}document(u,c){var d,_,b,j,_e,et,at,ot,gt;for(at=u.children,_=b=0,_e=at.length;b<_e;_=++b)d=at[_],d.isLastRootNode=_===u.children.length-1;for(c=this.filterOptions(c),ot=u.children,gt=[],j=0,et=ot.length;j0){for(this.stream.write(" ["),this.stream.write(this.endline(u,c,d)),c.state=i.InsideTag,_e=u.children,b=0,j=_e.length;b"),this.stream.write(this.endline(u,c,d)),c.state=i.None,this.closeNode(u,c,d)}element(u,c,d){var _,b,j,_e,et,at,ot,gt,vt,ft,nt,ut,$,tt,ct;if(d||(d=0),this.openNode(u,c,d),c.state=i.OpenTag,ft=this.indent(u,c,d)+"<"+u.name,c.pretty&&c.width>0){ot=ft.length,ut=u.attribs;for(vt in ut)a.call(ut,vt)&&(_=ut[vt],nt=this.attribute(_,c,d),b=nt.length,ot+b>c.width?(ct=this.indent(u,c,d+1)+nt,ft+=this.endline(u,c,d)+ct,ot=ct.length):(ct=" "+nt,ft+=ct,ot+=ct.length))}else{$=u.attribs;for(vt in $)a.call($,vt)&&(_=$[vt],ft+=this.attribute(_,c,d))}if(this.stream.write(ft),_e=u.children.length,et=_e===0?null:u.children[0],_e===0||u.children.every(function(dt){return(dt.type===e.Text||dt.type===e.Raw||dt.type===e.CData)&&dt.value===""}))c.allowEmpty?(this.stream.write(">"),c.state=i.CloseTag,this.stream.write("")):(c.state=i.CloseTag,this.stream.write(c.spaceBeforeSlash+"/>"));else if(c.pretty&&_e===1&&(et.type===e.Text||et.type===e.Raw||et.type===e.CData)&&et.value!=null)this.stream.write(">"),c.state=i.InsideTag,c.suppressPrettyCount++,this.writeChildNode(et,c,d+1),c.suppressPrettyCount--,c.state=i.CloseTag,this.stream.write("");else{for(this.stream.write(">"+this.endline(u,c,d)),c.state=i.InsideTag,tt=u.children,at=0,gt=tt.length;at")}return this.stream.write(this.endline(u,c,d)),c.state=i.None,this.closeNode(u,c,d)}processingInstruction(u,c,d){return this.stream.write(super.processingInstruction(u,c,d))}raw(u,c,d){return this.stream.write(super.raw(u,c,d))}text(u,c,d){return this.stream.write(super.text(u,c,d))}dtdAttList(u,c,d){return this.stream.write(super.dtdAttList(u,c,d))}dtdElement(u,c,d){return this.stream.write(super.dtdElement(u,c,d))}dtdEntity(u,c,d){return this.stream.write(super.dtdEntity(u,c,d))}dtdNotation(u,c,d){return this.stream.write(super.dtdNotation(u,c,d))}}}.call(commonjsGlobal)),XMLStreamWriter.exports}(function(){var e,i,o,a,s,u,c,d,_;({assign:d,isFunction:_}=requireUtility()),o=requireXMLDOMImplementation(),a=requireXMLDocument(),s=requireXMLDocumentCB(),c=requireXMLStringWriter(),u=requireXMLStreamWriter(),e=requireNodeType(),i=requireWriterState(),lib.create=function(b,j,_e,et){var at,ot;if(b==null)throw new Error("Root element needs a name.");return et=d({},j,_e,et),at=new a(et),ot=at.element(b),et.headless||(at.declaration(et),(et.pubID!=null||et.sysID!=null)&&at.dtd(et)),ot},lib.begin=function(b,j,_e){return _(b)&&([j,_e]=[b,j],b={}),j?new s(b,j,_e):new a(b)},lib.stringWriter=function(b){return new c(b)},lib.streamWriter=function(b,j){return new u(b,j)},lib.implementation=new o,lib.nodeType=e,lib.writerState=i}).call(commonjsGlobal);const buildXML=(e,i,o=!1)=>{const{type:a,props:s,children:u}=i,c=u||[],d=c[0];if(c.length===1&&typeof d=="string"){e.ele(a,s,d);return}let _=null;o?Object.keys(s).map(b=>{e.att(b,s[b])}):_=e.ele(a,s),c.forEach(b=>{if(typeof b=="string")throw new Error("Invaild XML");buildXML(_||e,b)})},renderToXML=e=>{const i=testRenderer.create(e).toJSON();if(!i)throw new Error("Element is invalid");const o=lib.create(i.type);return buildXML(o,i,!0),o.end({pretty:!0}),o.toString({pretty:!0})};class ScoreBuilder{title;pageSize;unitSize;staffLayout;paperOptions;headers;voiceStaves;score;workTitle="";partBuilders=[];constructor(i){Object.assign(this,i);const o=this.voiceStaves;for(const[a,s]of this.partTemplate.entries()){const u=this.ensurePartBuilder(a,s);for(const c of s.map(d=>o[d]))for(const[d,_]of c.voices.entries())for(const[b,j]of _.measures.entries())u.ensureMeasureBuilder(b).addVoice({...j,voiceIndexOfStaff:d})}}get partTemplate(){return this.staffLayout.partGroups.map(i=>i.range[0]===i.range[1]?[i.range[0]]:i.range)}ensurePartBuilder(i,o){for(;this.partBuilders.length<=i;){const a=new PartBuilder({parent:this,template:o});this.partBuilders.push(a)}return this.partBuilders[i]}createPartListElement(){return jsxRuntimeExports.jsx("part-list",{children:this.partBuilders.map(i=>jsxRuntimeExports.jsx("score-part",{id:i.id,children:jsxRuntimeExports.jsx("part-name",{"print-object":"no",children:i.name})}))})}toJSX(){const i=new Date;return`${i.getFullYear()}${String(i.getMonth()+1).padStart(2,"0")}${String(i.getDate()).padStart(2,"0")}`,jsxRuntimeExports.jsxs("score-partwise",{version:"4.0",children:[jsxRuntimeExports.jsx("work",{children:jsxRuntimeExports.jsx("work-title",{children:this.workTitle})}),jsxRuntimeExports.jsx("movement-title",{children:this.workTitle}),jsxRuntimeExports.jsx("defaults",{children:jsxRuntimeExports.jsxs("scaling",{children:[jsxRuntimeExports.jsx("millimeters",{children:"8"}),jsxRuntimeExports.jsx("tenths",{children:TENTHS})]})}),jsxRuntimeExports.jsx("part-list",{children:this.partBuilders.map(o=>jsxRuntimeExports.jsx("score-part",{id:o.id,children:jsxRuntimeExports.jsx("part-name",{"print-object":"no",children:"MusicXML Part"})}))}),this.partBuilders.map(o=>o.toJSX())]})}toString(){return` + +${renderToXML(this.toJSX())} +`}}class PartBuilder{parent;name;measureBuilders=[];staffContexts=[];template;get id(){return`P${this.parent.partBuilders.indexOf(this)+1}`}get stavesCount(){return this.template.length}constructor(i){Object.assign(this,i)}ensureStaffContext(i){for(;this.staffContexts.length<=i;){const o=new StaffContext({parent:this,index:i});this.staffContexts.push(o)}return this.staffContexts[i]}ensureMeasureBuilder(i){for(;this.measureBuilders.length<=i;){const o=new MeasureBuilder({parent:this});this.measureBuilders.push(o)}return this.measureBuilders[i]}toJSX(){return jsxRuntimeExports.jsx("part",{id:this.id,children:this.measureBuilders.map((i,o)=>i.toJSX())})}}class MeasureBuilder{parent;voiceBuilders=[];beamCount=0;beamState;get index(){return this.parent.measureBuilders.indexOf(this)}get score(){return this.parent.parent.score}constructor(i){Object.assign(this,i)}addVoice(i){const o=new VoiceBuilder({parent:this,voice:i});this.voiceBuilders.push(o),i.contextedTerms.filter(u=>u.type===ContextType.Clef).forEach(u=>{const c={[TokenType.ClefC]:"C",[TokenType.ClefF]:"F",[TokenType.ClefG]:"G"}[u.tokenType];c||console.error("unknown Clef",u.tokenType);const d=this.parent.ensureStaffContext(u.staff);d.addClef(new ClefBuilder({parent:d,measureIndex:this.index,tick:u.tick,number:u.staff-this.parent.template[0],sign:c,line:3-u.y})),d.addKey(new KeyBuilder({parent:d,measureIndex:this.index,fifths:i.keySignature})),d.addTime(new TimeBuilder({parent:d,measureIndex:this.index,beats:i.timeSignature.numerator,beatType:i.timeSignature.denominator,timeSigNumeric:i.timeSigNumeric}))});const a={[TokenType.OctaveShift8va]:8,[TokenType.OctaveShift8vb]:-8,[TokenType.OctaveShift0]:0},s=Object.keys(a);i.contextedTerms.forEach(u=>{s.includes(u.tokenType)&&this.parent.ensureStaffContext(u.staff).addOctaveShiftTerm(u,this.index)})}toJSX(){const i=this.score.pages.reduce((o,a)=>[...o,...a.systems.reduce((s,u)=>[...s,...u.measureBars],[])],[]);return this.beamCount=0,jsxRuntimeExports.jsxs("measure",{number:this.index+1,width:Math.round(i[this.index]*10),children:[this.index===0&&jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:this.parent.staffContexts.map(o=>{var a;return o.clefBuilders.length>0?jsxRuntimeExports.jsx("attributes",{children:(a=o.clefBuilders)==null?void 0:a[0].toJSX()}):null})}),this.voiceBuilders.reduce((o,a,s)=>{var u,c;return o.push(...a.toJSX()),(c=(u=this.voiceBuilders[s+1])==null?void 0:u.toJSX)!=null&&c.call(u)&&o.push(jsxRuntimeExports.jsx("backup",{children:jsxRuntimeExports.jsx("duration",{children:a.voice.duration})})),o},[])]})}}class VoiceBuilder{parent;voice;get index(){return this.parent.voiceBuilders.indexOf(this)}constructor(i){Object.assign(this,i)}toJSX(){const i=[],o={[TokenType.AccNatural]:0,[TokenType.AccSharp]:1,[TokenType.AccDoublesharp]:2,[TokenType.AccFlat]:-1,[TokenType.AccFlatflat]:-1,[TokenType.KeyNatural]:0,[TokenType.KeySharp]:1,[TokenType.KeyFlat]:-1},a=Object.keys(o),s=this.voice.contextedTerms.reduce((c,d)=>{if(a.includes(d.tokenType)){const _=c.findIndex(b=>b.x===d.x&&b.y===d.y);_>-1?c.splice(_,1):c.push(d)}return c},[]),u=Object.entries(this.voice.tickMap).map(([c,d])=>[Number(c),d]).sort(([c],[d])=>c-d);return u.forEach(([c,d])=>{const _=s.filter(b=>b.tick===c);_.length>0&&_.forEach(b=>{var _e;const j=(_e=d.ys)==null?void 0:_e.findIndex(et=>et===b.y);j>-1&&(d.pitches[j].accidental=o[b.tokenType])})}),u.forEach(([c,d],_)=>{var j,_e,et,at,ot;const b=this.parent.parent.ensureStaffContext(d.staff||0);if(d instanceof EventTerm){const gt=b.lookupDivisions(this.parent.index),vt=b.lookupStaves(this.parent.index),ft=b.lookupClef(this.parent.index,+c),nt=b.lookupKey(this.parent.index),ut=b.lookupTime(this.parent.index),$=[gt,nt,ut,vt,ft].filter(Boolean).map(st=>st.toJSX());_===0&&$.length>0&&i.push(jsxRuntimeExports.jsx("attributes",{children:$}));const tt=[],ct=[];ct.push(...new Fingerings(d.accessories).toJSX()||[]),ct.length>0&&tt.push(jsxRuntimeExports.jsx("technical",{children:ct}));const dt=[];d.accessories.some(st=>st.type===TokenType.ScriptStaccato)&&dt.push(jsxRuntimeExports.jsx("staccato",{})),d.accessories.some(st=>st.type===TokenType.ScriptSforzato)&&dt.push(jsxRuntimeExports.jsx("accent",{})),d.accessories.some(st=>st.type===TokenType.ScriptStaccatissimo)&&dt.push(jsxRuntimeExports.jsx("spiccato",{})),d.accessories.some(st=>st.type===TokenType.ScriptMarcato)&&dt.push(jsxRuntimeExports.jsx("strong-accent",{})),d.accessories.some(st=>st.type===TokenType.ScriptTenuto)&&dt.push(jsxRuntimeExports.jsx("tenuto",{})),dt.length>0&&tt.push(jsxRuntimeExports.jsx("articulations",{children:dt}));const rt=d.accessories.find(st=>st.type===TokenType.ScriptFermata);rt&&tt.push(jsxRuntimeExports.jsx("fermata",{type:{[AccessoryDirection.Up]:"upright",[AccessoryDirection.Down]:"inverted"}[rt.direction]})),d.accessories.some(st=>st.type===TokenType.SlurBegin)&&d.accessories.filter(st=>st.type===TokenType.SlurBegin).forEach(st=>{tt.push(jsxRuntimeExports.jsx("slur",{"default-x":(d.x+st.x).toFixed(2),placement:{[AccessoryDirection.Up]:"above",[AccessoryDirection.Down]:"below"}[st.direction],type:"start"}))}),d.accessories.some(st=>st.type===TokenType.SlurEnd)&&d.accessories.filter(st=>st.type===TokenType.SlurEnd).forEach(st=>{tt.push(jsxRuntimeExports.jsx("slur",{"default-x":(d.x+st.x).toFixed(2),number:"1",placement:{[AccessoryDirection.Up]:"above",[AccessoryDirection.Down]:"below"}[st.direction],type:"stop"}))}),d.accessories.some(st=>st.type===TokenType.TieBegin)&&d.accessories.filter(st=>st.type===TokenType.TieBegin).forEach(st=>{tt.push(jsxRuntimeExports.jsx("tied",{type:"start"}))}),d.accessories.some(st=>st.type===TokenType.TieEnd)&&d.accessories.filter(st=>st.type===TokenType.TieEnd).forEach(st=>{tt.push(jsxRuntimeExports.jsx("tied",{type:"stop"}))});const lt=[];d.accessories.some(st=>st.type===TokenType.ScriptTurn)&<.push(jsxRuntimeExports.jsx("turn",{})),d.accessories.some(st=>st.type===TokenType.ScriptTrill)&<.push(jsxRuntimeExports.jsx("trill-mark",{})),d.accessories.some(st=>st.type===TokenType.ScriptMordent)&<.push(jsxRuntimeExports.jsx("mordent",{})),d.accessories.some(st=>st.type===TokenType.ScriptPortato)&<.push(jsxRuntimeExports.jsx("inverted-mordent",{})),lt.length>0&&tt.push(jsxRuntimeExports.jsx("ornaments",{children:lt}));const mt=getNoteType(d.division);if(this.index===0){const st=(_e=(j=b.lookupOctaveShift(this.parent.index))==null?void 0:j.getJSX)==null?void 0:_e.call(j,d.tick);st&&i.push(st)}if(d.pitches){const st=d.pitches.length>1;(et=d.pitches)==null||et.forEach((bt,Rt)=>{const{alter:Mt,step:Dt,octave:Tt}=convertPitch(bt),Et={u:"up",d:"down"}[d.stemDirection];if(!this.voice.empty){let Ot=null;switch(d.beam){case"Open":Ot=jsxRuntimeExports.jsx("beam",{number:"1",children:"begin"}),this.parent.beamState=d.beam;break;case"Close":Ot=jsxRuntimeExports.jsx("beam",{number:"1",children:"end"}),this.parent.beamCount+=1,this.parent.beamState=d.beam;break;default:this.parent.beamState==="Open"&&(Ot=jsxRuntimeExports.jsx("beam",{number:"1",children:"continue"}));break}const It=d.staff-this.parent.parent.template[0]+1;i.push(jsxRuntimeExports.jsxs("note",{children:[d.grace&&jsxRuntimeExports.jsx("grace",{"steal-time-following":d.duration}),st&&Rt!==0&&jsxRuntimeExports.jsx("chord",{}),!d.rest&&jsxRuntimeExports.jsxs("pitch",{children:[jsxRuntimeExports.jsx("step",{children:Dt}),Mt!==0&&jsxRuntimeExports.jsx("alter",{children:Mt}),jsxRuntimeExports.jsx("octave",{children:Tt})]}),d.rest==="r"&&jsxRuntimeExports.jsxs("rest",{children:[jsxRuntimeExports.jsx("display-step",{children:Dt}),jsxRuntimeExports.jsx("display-octave",{children:Tt})]}),d.rest==="R"&&jsxRuntimeExports.jsxs("rest",{measure:"yes",children:[jsxRuntimeExports.jsx("display-step",{children:Dt}),jsxRuntimeExports.jsx("display-octave",{children:Tt})]}),d.grace?null:jsxRuntimeExports.jsx("duration",{children:d.duration}),jsxRuntimeExports.jsx("voice",{children:this.index+1}),jsxRuntimeExports.jsx("type",{children:mt}),Array(d.dots).fill(null).map(()=>jsxRuntimeExports.jsx("dot",{})),new Accidental(bt.accidental).toJSX(),d.timeWarp&&new TimeModification(d.timeWarp).toJSX(),Et?jsxRuntimeExports.jsx("stem",{children:Et}):null,jsxRuntimeExports.jsx("staff",{children:It}),Ot,Rt===0?tt.length>0&&jsxRuntimeExports.jsx("notations",{children:tt}):null]}))}})}if(this.index===0&&_===u.length-1){const st=b.getCurrentTime(this.parent.index);if(st){const bt=(ot=(at=b.lookupOctaveShift(this.parent.index))==null?void 0:at.getJSX)==null?void 0:ot.call(at,DIVISIONS*st.beatType/4*st.beats);bt&&i.push(bt)}}const ht=Math.max(...b.clefBuilders.map(st=>st.tick)),yt=Math.max(...Object.keys(this.voice.tickMap).map(st=>+st));if(ht>=yt){const st=b.lookupClef(this.parent.index,ht);st&&i.push(jsxRuntimeExports.jsx("attributes",{children:st.toJSX()}))}}}),i}}class StaffContext{parent;index;divisionsBuilder=new DivisionsBuilder({value:DIVISIONS});clefBuilders=[];keyBuilders=[];timeBuilders=[];octave;tied;beamCount=0;octaveShiftBuilders=[];constructor(i){Object.assign(this,i)}lookupDivisions(i){return i===0?this.divisionsBuilder:null}lookupStaves(i){return i===0?new StavesBuilder({value:this.parent.stavesCount}):null}addClef(i){this.lookupClef(i.measureIndex,i.tick)||this.clefBuilders.length>0&&ClefBuilder.equals(this.clefBuilders[this.clefBuilders.length-1],i)||this.clefBuilders.push(i)}lookupClef(i,o){const a=this.clefBuilders.filter(s=>s.measureIndex===i&&s.tick===o);return a.length>0?a[0]:null}addKey(i){this.lookupKey(i.measureIndex)||this.keyBuilders.length>0&&KeyBuilder.equals(this.keyBuilders[this.keyBuilders.length-1],i)||this.keyBuilders.push(i)}lookupKey(i){const o=this.keyBuilders.filter(a=>a.measureIndex===i);return o.length>0?o[0]:null}addTime(i){this.lookupTime(i.measureIndex)||this.timeBuilders.length>0&&TimeBuilder.equals(this.timeBuilders[this.timeBuilders.length-1],i)||this.timeBuilders.push(i)}lookupTime(i){const o=this.timeBuilders.filter(a=>a.measureIndex===i);return o.length>0?o[0]:null}getCurrentTime(i){const o=this.timeBuilders.filter(a=>a.measureIndex<=i);return o.sort((a,s)=>a.measureIndex-s.measureIndex),o[o.length-1]}addOctaveShiftTerm(i,o){let a=this.octaveShiftBuilders.find(s=>s.measureIndex===o);a||(a=new OctaveShiftBuilder({parent:this,measureIndex:o}),this.octaveShiftBuilders.push(a)),a.addTerm(i)}lookupOctaveShift(i){const o=this.octaveShiftBuilders.filter(a=>a.measureIndex===i);return o.length>0?o[0]:null}}class ClefBuilder{parent;measureIndex;tick;number;sign;line;size="full";afterBarline=!0;additional=!1;constructor(i){Object.assign(this,i)}static equals(i,o){return i&&o&&i.number===o.number&&i.sign===o.sign&&i.line===o.line&&i.size===o.size}toJSX(){return jsxRuntimeExports.jsxs("clef",{number:this.number+1,size:this.size,additional:this.additional?"yes":"no","after-barline":this.afterBarline?"yes":"no",children:[jsxRuntimeExports.jsx("sign",{children:this.sign}),jsxRuntimeExports.jsx("line",{children:this.line})]})}}class KeyBuilder{parent;measureIndex;fifths;mode;constructor(i){Object.assign(this,i)}static equals(i,o){return i&&o&&i.fifths===o.fifths&&i.mode===o.mode}toJSX(){return jsxRuntimeExports.jsxs("key",{children:[jsxRuntimeExports.jsx("fifths",{children:this.fifths}),this.mode?jsxRuntimeExports.jsx("mode",{children:this.mode}):null]})}}class TimeBuilder{parent;measureIndex;beats;beatType;timeSigNumeric;constructor(i){Object.assign(this,i)}static equals(i,o){return i&&o&&i.beats===o.beats&&i.beatType===o.beatType}toJSX(){const i={};return this.beats===2&&this.beatType===2&&(i.symbol="cut"),this.beats===4&&this.beatType===4&&(i.symbol="common"),jsxRuntimeExports.jsxs("time",{...i,children:[jsxRuntimeExports.jsx("beats",{children:this.beats}),jsxRuntimeExports.jsx("beat-type",{children:this.beatType})]})}}class DivisionsBuilder{value;constructor(i){Object.assign(this,i)}toJSX(){return jsxRuntimeExports.jsx("divisions",{children:this.value})}}class StavesBuilder{value;constructor(i){Object.assign(this,i)}toJSX(){return jsxRuntimeExports.jsx("staves",{children:this.value})}}const NUMBER_DICT={[TokenType.Zero]:0,[TokenType.One]:1,[TokenType.Two]:2,[TokenType.Three]:3,[TokenType.Four]:4,[TokenType.Five]:5,[TokenType.Six]:6,[TokenType.Seven]:7,[TokenType.Eight]:8,[TokenType.Nine]:9};class Fingerings{value;placement;data;constructor(i){this.data=i}toJSX(){const i=Object.keys(NUMBER_DICT),o=this.data.filter(a=>i.includes(a.type));return o.length>0?o.map(a=>jsxRuntimeExports.jsx("fingering",{placement:{[AccessoryDirection.Up]:"above",[AccessoryDirection.Down]:"below"}[a.direction],children:NUMBER_DICT[a.type]})):null}}class TimeModification{timeWarp;constructor(i){this.timeWarp=i}toJSX(){return jsxRuntimeExports.jsxs("time-modification",{children:[jsxRuntimeExports.jsx("actual-notes",{children:this.timeWarp.denominator}),jsxRuntimeExports.jsx("normal-notes",{children:this.timeWarp.numerator})]})}}const AccidentalValues={"-2":"flat-flat","-1":"flat",0:"natural",1:"sharp",2:"double-sharp"};class Accidental{alter;constructor(i){this.alter=i}toJSX(){return typeof this.alter=="number"?jsxRuntimeExports.jsx("accidental",{children:AccidentalValues[this.alter]}):null}}class OctaveShiftBuilder{parent;measureIndex;number;terms=[];constructor(i){Object.assign(this,i)}addTerm(i){this.terms.find(o=>o.tick===i.tick)||this.terms.push(i)}getJSX(i){const o=this.terms.find(s=>s.tick===i);if(!o)return null;let a="up";switch(o.tokenType){case TokenType.OctaveShift8vb:a="up";break;case TokenType.OctaveShift8va:a="down";break;case TokenType.OctaveShift0:a="stop";break}return jsxRuntimeExports.jsxs("direction",{children:[jsxRuntimeExports.jsx("direction-type",{children:jsxRuntimeExports.jsx("octave-shift",{size:"8",type:a,number:"1"})}),jsxRuntimeExports.jsx("staff",{children:this.parent.parent.template.indexOf(this.parent.index)+1})]})}validate(){if(this.terms.length===0)return!0;this.terms.sort((a,s)=>a.tick-s.tick);const i=[],o=[];for(let a of this.terms)[TokenType.OctaveShift8va,TokenType.OctaveShift8vb].includes(a.tokenType)&&o.push(a),TokenType.OctaveShift0===a.tokenType&&(o.push(a),i.push([...o]),o.length=0);return i.some(a=>a.length!==2)||o.length===1?(console.error("å…ŦåšĶčŪ°å·é…åŊđ错čŊŊ"),!1):!0}toJSX(){}}var localforage={exports:{}};/*! + localForage -- Offline Storage, Improved + Version 1.10.0 + https://localforage.github.io/localForage + (c) 2013-2017 Mozilla, Apache License 2.0 +*/(function(e,i){(function(o){e.exports=o()})(function(){return function o(a,s,u){function c(b,j){if(!s[b]){if(!a[b]){var _e=typeof commonjsRequire=="function"&&commonjsRequire;if(!j&&_e)return _e(b,!0);if(d)return d(b,!0);var et=new Error("Cannot find module '"+b+"'");throw et.code="MODULE_NOT_FOUND",et}var at=s[b]={exports:{}};a[b][0].call(at.exports,function(ot){var gt=a[b][1][ot];return c(gt||ot)},at,at.exports,o,a,s,u)}return s[b].exports}for(var d=typeof commonjsRequire=="function"&&commonjsRequire,_=0;_"u"&&o(3);var _e=Promise;function et(it,xt){xt&&it.then(function(pt){xt(null,pt)},function(pt){xt(pt)})}function at(it,xt,pt){typeof xt=="function"&&it.then(xt),typeof pt=="function"&&it.catch(pt)}function ot(it){return typeof it!="string"&&(console.warn(it+" used as a key, but it is not a string."),it=String(it)),it}function gt(){if(arguments.length&&typeof arguments[arguments.length-1]=="function")return arguments[arguments.length-1]}var vt="local-forage-detect-blob-support",ft=void 0,nt={},ut=Object.prototype.toString,$="readonly",tt="readwrite";function ct(it){for(var xt=it.length,pt=new ArrayBuffer(xt),Ct=new Uint8Array(pt),wt=0;wt=43)}}).catch(function(){return!1})}function rt(it){return typeof ft=="boolean"?_e.resolve(ft):dt(it).then(function(xt){return ft=xt,ft})}function lt(it){var xt=nt[it.name],pt={};pt.promise=new _e(function(Ct,wt){pt.resolve=Ct,pt.reject=wt}),xt.deferredOperations.push(pt),xt.dbReady?xt.dbReady=xt.dbReady.then(function(){return pt.promise}):xt.dbReady=pt.promise}function mt(it){var xt=nt[it.name],pt=xt.deferredOperations.pop();if(pt)return pt.resolve(),pt.promise}function ht(it,xt){var pt=nt[it.name],Ct=pt.deferredOperations.pop();if(Ct)return Ct.reject(xt),Ct.promise}function yt(it,xt){return new _e(function(pt,Ct){if(nt[it.name]=nt[it.name]||qt(),it.db)if(xt)lt(it),it.db.close();else return pt(it.db);var wt=[it.name];xt&&wt.push(it.version);var _t=_.open.apply(_,wt);xt&&(_t.onupgradeneeded=function(St){var kt=_t.result;try{kt.createObjectStore(it.storeName),St.oldVersion<=1&&kt.createObjectStore(vt)}catch(Pt){if(Pt.name==="ConstraintError")console.warn('The database "'+it.name+'" has been upgraded from version '+St.oldVersion+" to version "+St.newVersion+', but the storage "'+it.storeName+'" already exists.');else throw Pt}}),_t.onerror=function(St){St.preventDefault(),Ct(_t.error)},_t.onsuccess=function(){var St=_t.result;St.onversionchange=function(kt){kt.target.close()},pt(St),mt(it)}})}function st(it){return yt(it,!1)}function bt(it){return yt(it,!0)}function Rt(it,xt){if(!it.db)return!0;var pt=!it.db.objectStoreNames.contains(it.storeName),Ct=it.versionit.db.version;if(Ct&&(it.version!==xt&&console.warn('The database "'+it.name+`" can't be downgraded from version `+it.db.version+" to version "+it.version+"."),it.version=it.db.version),wt||pt){if(pt){var _t=it.db.version+1;_t>it.version&&(it.version=_t)}return!0}return!1}function Mt(it){return new _e(function(xt,pt){var Ct=new FileReader;Ct.onerror=pt,Ct.onloadend=function(wt){var _t=btoa(wt.target.result||"");xt({__local_forage_encoded_blob:!0,data:_t,type:it.type})},Ct.readAsBinaryString(it)})}function Dt(it){var xt=ct(atob(it.data));return j([xt],{type:it.type})}function Tt(it){return it&&it.__local_forage_encoded_blob}function Et(it){var xt=this,pt=xt._initReady().then(function(){var Ct=nt[xt._dbInfo.name];if(Ct&&Ct.dbReady)return Ct.dbReady});return at(pt,it,it),pt}function Ot(it){lt(it);for(var xt=nt[it.name],pt=xt.forages,Ct=0;Ct0&&(!it.db||_t.name==="InvalidStateError"||_t.name==="NotFoundError"))return _e.resolve().then(function(){if(!it.db||_t.name==="NotFoundError"&&!it.db.objectStoreNames.contains(it.storeName)&&it.version<=it.db.version)return it.db&&(it.version=it.db.version+1),bt(it)}).then(function(){return Ot(it).then(function(){It(it,xt,pt,Ct-1)})}).catch(pt);pt(_t)}}function qt(){return{forages:[],db:null,dbReady:null,deferredOperations:[]}}function jt(it){var xt=this,pt={db:null};if(it)for(var Ct in it)pt[Ct]=it[Ct];var wt=nt[pt.name];wt||(wt=qt(),nt[pt.name]=wt),wt.forages.push(xt),xt._initReady||(xt._initReady=xt.ready,xt.ready=Et);var _t=[];function St(){return _e.resolve()}for(var kt=0;kt>4,Lt[wt++]=(St&15)<<4|kt>>2,Lt[wt++]=(kt&3)<<6|Pt&63;return Nt}function vr(it){var xt=new Uint8Array(it),pt="",Ct;for(Ct=0;Ct>2],pt+=Xt[(xt[Ct]&3)<<4|xt[Ct+1]>>4],pt+=Xt[(xt[Ct+1]&15)<<2|xt[Ct+2]>>6],pt+=Xt[xt[Ct+2]&63];return xt.length%3===2?pt=pt.substring(0,pt.length-1)+"=":xt.length%3===1&&(pt=pt.substring(0,pt.length-2)+"=="),pt}function Br(it,xt){var pt="";if(it&&(pt=Or.call(it)),it&&(pt==="[object ArrayBuffer]"||it.buffer&&Or.call(it.buffer)==="[object ArrayBuffer]")){var Ct,wt=or;it instanceof ArrayBuffer?(Ct=it,wt+=dr):(Ct=it.buffer,pt==="[object Int8Array]"?wt+=br:pt==="[object Uint8Array]"?wt+=sr:pt==="[object Uint8ClampedArray]"?wt+=Er:pt==="[object Int16Array]"?wt+=Pr:pt==="[object Uint16Array]"?wt+=hr:pt==="[object Int32Array]"?wt+=Rr:pt==="[object Uint32Array]"?wt+=Tr:pt==="[object Float32Array]"?wt+=mr:pt==="[object Float64Array]"?wt+=Nr:xt(new Error("Failed to get type for BinaryArray"))),xt(wt+vr(Ct))}else if(pt==="[object Blob]"){var _t=new FileReader;_t.onload=function(){var St=Ut+it.type+"~"+vr(this.result);xt(or+wr+St)},_t.readAsArrayBuffer(it)}else try{xt(JSON.stringify(it))}catch(St){console.error("Couldn't convert value into a JSON string: ",it),xt(null,St)}}function pr(it){if(it.substring(0,ur)!==or)return JSON.parse(it);var xt=it.substring(Sr),pt=it.substring(ur,Sr),Ct;if(pt===wr&&rr.test(xt)){var wt=xt.match(rr);Ct=wt[1],xt=xt.substring(wt[0].length)}var _t=fr(xt);switch(pt){case dr:return _t;case wr:return j([_t],{type:Ct});case br:return new Int8Array(_t);case sr:return new Uint8Array(_t);case Er:return new Uint8ClampedArray(_t);case Pr:return new Int16Array(_t);case hr:return new Uint16Array(_t);case Rr:return new Int32Array(_t);case Tr:return new Uint32Array(_t);case mr:return new Float32Array(_t);case Nr:return new Float64Array(_t);default:throw new Error("Unkown type: "+pt)}}var gr={serialize:Br,deserialize:pr,stringToBuffer:fr,bufferToString:vr};function nr(it,xt,pt,Ct){it.executeSql("CREATE TABLE IF NOT EXISTS "+xt.storeName+" (id INTEGER PRIMARY KEY, key unique, value)",[],pt,Ct)}function Ir(it){var xt=this,pt={db:null};if(it)for(var Ct in it)pt[Ct]=typeof it[Ct]!="string"?it[Ct].toString():it[Ct];var wt=new _e(function(_t,St){try{pt.db=openDatabase(pt.name,String(pt.version),pt.description,pt.size)}catch(kt){return St(kt)}pt.db.transaction(function(kt){nr(kt,pt,function(){xt._dbInfo=pt,_t()},function(Pt,Nt){St(Nt)})},St)});return pt.serializer=gr,wt}function lr(it,xt,pt,Ct,wt,_t){it.executeSql(pt,Ct,wt,function(St,kt){kt.code===kt.SYNTAX_ERR?St.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name = ?",[xt.storeName],function(Pt,Nt){Nt.rows.length?_t(Pt,kt):nr(Pt,xt,function(){Pt.executeSql(pt,Ct,wt,_t)},_t)},_t):_t(St,kt)},_t)}function Ur(it,xt){var pt=this;it=ot(it);var Ct=new _e(function(wt,_t){pt.ready().then(function(){var St=pt._dbInfo;St.db.transaction(function(kt){lr(kt,St,"SELECT * FROM "+St.storeName+" WHERE key = ? LIMIT 1",[it],function(Pt,Nt){var Lt=Nt.rows.length?Nt.rows.item(0).value:null;Lt&&(Lt=St.serializer.deserialize(Lt)),wt(Lt)},function(Pt,Nt){_t(Nt)})})}).catch(_t)});return et(Ct,xt),Ct}function zr(it,xt){var pt=this,Ct=new _e(function(wt,_t){pt.ready().then(function(){var St=pt._dbInfo;St.db.transaction(function(kt){lr(kt,St,"SELECT * FROM "+St.storeName,[],function(Pt,Nt){for(var Lt=Nt.rows,$t=Lt.length,Ft=0;Ft<$t;Ft++){var Ht=Lt.item(Ft),Gt=Ht.value;if(Gt&&(Gt=St.serializer.deserialize(Gt)),Gt=it(Gt,Ht.key,Ft+1),Gt!==void 0){wt(Gt);return}}wt()},function(Pt,Nt){_t(Nt)})})}).catch(_t)});return et(Ct,xt),Ct}function Lr(it,xt,pt,Ct){var wt=this;it=ot(it);var _t=new _e(function(St,kt){wt.ready().then(function(){xt===void 0&&(xt=null);var Pt=xt,Nt=wt._dbInfo;Nt.serializer.serialize(xt,function(Lt,$t){$t?kt($t):Nt.db.transaction(function(Ft){lr(Ft,Nt,"INSERT OR REPLACE INTO "+Nt.storeName+" (key, value) VALUES (?, ?)",[it,Lt],function(){St(Pt)},function(Ht,Gt){kt(Gt)})},function(Ft){if(Ft.code===Ft.QUOTA_ERR){if(Ct>0){St(Lr.apply(wt,[it,Pt,pt,Ct-1]));return}kt(Ft)}})})}).catch(kt)});return et(_t,pt),_t}function $r(it,xt,pt){return Lr.apply(this,[it,xt,pt,1])}function qr(it,xt){var pt=this;it=ot(it);var Ct=new _e(function(wt,_t){pt.ready().then(function(){var St=pt._dbInfo;St.db.transaction(function(kt){lr(kt,St,"DELETE FROM "+St.storeName+" WHERE key = ?",[it],function(){wt()},function(Pt,Nt){_t(Nt)})})}).catch(_t)});return et(Ct,xt),Ct}function Hr(it){var xt=this,pt=new _e(function(Ct,wt){xt.ready().then(function(){var _t=xt._dbInfo;_t.db.transaction(function(St){lr(St,_t,"DELETE FROM "+_t.storeName,[],function(){Ct()},function(kt,Pt){wt(Pt)})})}).catch(wt)});return et(pt,it),pt}function Dr(it){var xt=this,pt=new _e(function(Ct,wt){xt.ready().then(function(){var _t=xt._dbInfo;_t.db.transaction(function(St){lr(St,_t,"SELECT COUNT(key) as c FROM "+_t.storeName,[],function(kt,Pt){var Nt=Pt.rows.item(0).c;Ct(Nt)},function(kt,Pt){wt(Pt)})})}).catch(wt)});return et(pt,it),pt}function jr(it,xt){var pt=this,Ct=new _e(function(wt,_t){pt.ready().then(function(){var St=pt._dbInfo;St.db.transaction(function(kt){lr(kt,St,"SELECT key FROM "+St.storeName+" WHERE id = ? LIMIT 1",[it+1],function(Pt,Nt){var Lt=Nt.rows.length?Nt.rows.item(0).key:null;wt(Lt)},function(Pt,Nt){_t(Nt)})})}).catch(_t)});return et(Ct,xt),Ct}function Ar(it){var xt=this,pt=new _e(function(Ct,wt){xt.ready().then(function(){var _t=xt._dbInfo;_t.db.transaction(function(St){lr(St,_t,"SELECT key FROM "+_t.storeName,[],function(kt,Pt){for(var Nt=[],Lt=0;Lt '__WebKitDatabaseInfoTable__'",[],function(wt,_t){for(var St=[],kt=0;kt<_t.rows.length;kt++)St.push(_t.rows.item(kt).name);xt({db:it,storeNames:St})},function(wt,_t){pt(_t)})},function(Ct){pt(Ct)})})}function Wr(it,xt){xt=gt.apply(this,arguments);var pt=this.config();it=typeof it!="function"&&it||{},it.name||(it.name=it.name||pt.name,it.storeName=it.storeName||pt.storeName);var Ct=this,wt;return it.name?wt=new _e(function(_t){var St;it.name===pt.name?St=Ct._dbInfo.db:St=openDatabase(it.name,"","",0),it.storeName?_t({db:St,storeNames:[it.storeName]}):_t(Fr(St))}).then(function(_t){return new _e(function(St,kt){_t.db.transaction(function(Pt){function Nt(Ht){return new _e(function(Gt,er){Pt.executeSql("DROP TABLE IF EXISTS "+Ht,[],function(){Gt()},function(Zt,ar){er(ar)})})}for(var Lt=[],$t=0,Ft=_t.storeNames.length;$t0}function rn(it){var xt=this,pt={};if(it)for(var Ct in it)pt[Ct]=it[Ct];return pt.keyPrefix=xr(it,xt._defaultConfig),tn()?(xt._dbInfo=pt,pt.serializer=gr,_e.resolve()):_e.reject()}function nn(it){var xt=this,pt=xt.ready().then(function(){for(var Ct=xt._dbInfo.keyPrefix,wt=localStorage.length-1;wt>=0;wt--){var _t=localStorage.key(wt);_t.indexOf(Ct)===0&&localStorage.removeItem(_t)}});return et(pt,it),pt}function on(it,xt){var pt=this;it=ot(it);var Ct=pt.ready().then(function(){var wt=pt._dbInfo,_t=localStorage.getItem(wt.keyPrefix+it);return _t&&(_t=wt.serializer.deserialize(_t)),_t});return et(Ct,xt),Ct}function an(it,xt){var pt=this,Ct=pt.ready().then(function(){for(var wt=pt._dbInfo,_t=wt.keyPrefix,St=_t.length,kt=localStorage.length,Pt=1,Nt=0;Nt=0;St--){var kt=localStorage.key(St);kt.indexOf(_t)===0&&localStorage.removeItem(kt)}}):wt=_e.reject("Invalid arguments"),et(wt,xt),wt}var pn={_driver:"localStorageWrapper",_initStorage:rn,_support:yr(),iterate:an,getItem:on,setItem:fn,removeItem:cn,clear:nn,length:sn,key:ln,keys:un,dropInstance:dn},hn=function(xt,pt){return xt===pt||typeof xt=="number"&&typeof pt=="number"&&isNaN(xt)&&isNaN(pt)},mn=function(xt,pt){for(var Ct=xt.length,wt=0;wt"u"?"undefined":u(pt))==="object"){if(this._ready)return new Error("Can't call config() after localforage has been used.");for(var Ct in pt){if(Ct==="storeName"&&(pt[Ct]=pt[Ct].replace(/\W/g,"_")),Ct==="version"&&typeof pt[Ct]!="number")return new Error("Database version must be a number.");this._config[Ct]=pt[Ct]}return"driver"in pt&&pt.driver?this.setDriver(this._config.driver):!0}else return typeof pt=="string"?this._config[pt]:this._config},it.prototype.defineDriver=function(pt,Ct,wt){var _t=new _e(function(St,kt){try{var Pt=pt._driver,Nt=new Error("Custom driver not compliant; see https://mozilla.github.io/localForage/#definedriver");if(!pt._driver){kt(Nt);return}for(var Lt=Vr.concat("_initStorage"),$t=0,Ft=Lt.length;$t + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy + * of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */(function(module,exports){(function(i,o){module.exports=o()})(typeof self<"u"?self:commonjsGlobal,function(){return function(){var __webpack_modules__={345:function(e,i,o){var a=o(219),s=o(751),u=o(828),c=o(833),d=new c;function _(at,ot){typeof at=="string"?this.script=at||null:(this.script=null,ot=at),this.workers=[],this.tasks=[],ot=ot||{},this.forkArgs=Object.freeze(ot.forkArgs||[]),this.forkOpts=Object.freeze(ot.forkOpts||{}),this.workerOpts=Object.freeze(ot.workerOpts||{}),this.workerThreadOpts=Object.freeze(ot.workerThreadOpts||{}),this.debugPortStart=ot.debugPortStart||43210,this.nodeWorker=ot.nodeWorker,this.workerType=ot.workerType||ot.nodeWorker||"auto",this.maxQueueSize=ot.maxQueueSize||1/0,this.workerTerminateTimeout=ot.workerTerminateTimeout||1e3,this.onCreateWorker=ot.onCreateWorker||function(){return null},this.onTerminateWorker=ot.onTerminateWorker||function(){return null},ot&&"maxWorkers"in ot?(b(ot.maxWorkers),this.maxWorkers=ot.maxWorkers):this.maxWorkers=Math.max((u.cpus||4)-1,1),ot&&"minWorkers"in ot&&(ot.minWorkers==="max"?this.minWorkers=this.maxWorkers:(j(ot.minWorkers),this.minWorkers=ot.minWorkers,this.maxWorkers=Math.max(this.minWorkers,this.maxWorkers)),this._ensureMinWorkers()),this._boundNext=this._next.bind(this),this.workerType==="thread"&&s.ensureWorkerThreads()}_.prototype.exec=function(at,ot,gt){if(ot&&!Array.isArray(ot))throw new TypeError('Array expected as argument "params"');if(typeof at=="string"){var vt=a.defer();if(this.tasks.length>=this.maxQueueSize)throw new Error("Max queue size of "+this.maxQueueSize+" reached");var ft=this.tasks,nt={method:at,params:ot,resolver:vt,timeout:null,options:gt};ft.push(nt);var ut=vt.promise.timeout;return vt.promise.timeout=function(tt){return ft.indexOf(nt)!==-1?(nt.timeout=tt,vt.promise):ut.call(vt.promise,tt)},this._next(),vt.promise}else{if(typeof at=="function")return this.exec("run",[String(at),ot]);throw new TypeError('Function or string expected as argument "method"')}},_.prototype.proxy=function(){if(arguments.length>0)throw new Error("No arguments expected");var at=this;return this.exec("methods").then(function(ot){var gt={};return ot.forEach(function(vt){gt[vt]=function(){return at.exec(vt,Array.prototype.slice.call(arguments))}}),gt})},_.prototype._next=function(){if(this.tasks.length>0){var at=this._getWorker();if(at){var ot=this,gt=this.tasks.shift();if(gt.resolver.promise.pending){var vt=at.exec(gt.method,gt.params,gt.resolver,gt.options).then(ot._boundNext).catch(function(){if(at.terminated)return ot._removeWorker(at)}).then(function(){ot._next()});typeof gt.timeout=="number"&&vt.timeout(gt.timeout)}else ot._next()}}},_.prototype._getWorker=function(){for(var at=this.workers,ot=0;ot= 1")}function j(at){if(!_e(at)||!et(at)||at<0)throw new TypeError("Option minWorkers must be an integer number >= 0")}function _e(at){return typeof at=="number"}function et(at){return Math.round(at)==at}e.exports=_},219:function(e){function i(u,c){var d=this;if(!(this instanceof i))throw new SyntaxError("Constructor must be called with the new operator");if(typeof u!="function")throw new SyntaxError("Function parameter handler(resolve, reject) missing");var _=[],b=[];this.resolved=!1,this.rejected=!1,this.pending=!0;var j=function(ot,gt){_.push(ot),b.push(gt)};this.then=function(at,ot){return new i(function(gt,vt){var ft=at?o(at,gt,vt):gt,nt=ot?o(ot,gt,vt):vt;j(ft,nt)},d)};var _e=function(ot){return d.resolved=!0,d.rejected=!1,d.pending=!1,_.forEach(function(gt){gt(ot)}),j=function(vt,ft){vt(ot)},_e=et=function(){},d},et=function(ot){return d.resolved=!1,d.rejected=!0,d.pending=!1,b.forEach(function(gt){gt(ot)}),j=function(vt,ft){ft(ot)},_e=et=function(){},d};this.cancel=function(){return c?c.cancel():et(new a),d},this.timeout=function(at){if(c)c.timeout(at);else{var ot=setTimeout(function(){et(new s("Promise timed out after "+at+" ms"))},at);d.always(function(){clearTimeout(ot)})}return d},u(function(at){_e(at)},function(at){et(at)})}function o(u,c,d){return function(_){try{var b=u(_);b&&typeof b.then=="function"&&typeof b.catch=="function"?b.then(c,d):c(b)}catch(j){d(j)}}}i.prototype.catch=function(u){return this.then(null,u)},i.prototype.always=function(u){return this.then(u,u)},i.all=function(u){return new i(function(c,d){var _=u.length,b=[];_?u.forEach(function(j,_e){j.then(function(et){b[_e]=et,_--,_==0&&c(b)},function(et){_=0,d(et)})}):c(b)})},i.defer=function(){var u={};return u.promise=new i(function(c,d){u.resolve=c,u.reject=d}),u};function a(u){this.message=u||"promise cancelled",this.stack=new Error().stack}a.prototype=new Error,a.prototype.constructor=Error,a.prototype.name="CancellationError",i.CancellationError=a;function s(u){this.message=u||"timeout exceeded",this.stack=new Error().stack}s.prototype=new Error,s.prototype.constructor=Error,s.prototype.name="TimeoutError",i.TimeoutError=s,e.exports=i},751:function(e,i,o){function a(ht,yt){var st=typeof Symbol<"u"&&ht[Symbol.iterator]||ht["@@iterator"];if(!st){if(Array.isArray(ht)||(st=s(ht))||yt&&ht&&typeof ht.length=="number"){st&&(ht=st);var bt=0,Rt=function(){};return{s:Rt,n:function(){return bt>=ht.length?{done:!0}:{done:!1,value:ht[bt++]}},e:function(Ot){throw Ot},f:Rt}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var Mt=!0,Dt=!1,Tt;return{s:function(){st=st.call(ht)},n:function(){var Ot=st.next();return Mt=Ot.done,Ot},e:function(Ot){Dt=!0,Tt=Ot},f:function(){try{!Mt&&st.return!=null&&st.return()}finally{if(Dt)throw Tt}}}}function s(ht,yt){if(ht){if(typeof ht=="string")return u(ht,yt);var st=Object.prototype.toString.call(ht).slice(8,-1);if(st==="Object"&&ht.constructor&&(st=ht.constructor.name),st==="Map"||st==="Set")return Array.from(ht);if(st==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(st))return u(ht,yt)}}function u(ht,yt){(yt==null||yt>ht.length)&&(yt=ht.length);for(var st=0,bt=new Array(yt);st= 11.7.0 required");return ht}function ft(){if(typeof Worker!="function"&&((typeof Worker>"u"?"undefined":_e(Worker))!=="object"||typeof Worker.prototype.constructor!="function"))throw new Error("WorkerPool: Web Workers not supported")}function nt(){try{return ot("worker_threads")}catch(ht){if(_e(ht)==="object"&&ht!==null&&ht.code==="MODULE_NOT_FOUND")return null;throw ht}}function ut(){if(at.platform==="browser"){if(typeof Blob>"u")throw new Error("Blob not supported by the browser");if(!window.URL||typeof window.URL.createObjectURL!="function")throw new Error("URL.createObjectURL not supported by the browser");var ht=new Blob([o(670)],{type:"text/javascript"});return window.URL.createObjectURL(ht)}else return __dirname+"/worker.js"}function $(ht,yt){if(yt.workerType==="web")return ft(),tt(ht,yt.workerOpts,Worker);if(yt.workerType==="thread")return st=vt(),ct(ht,st,yt.workerThreadOpts);if(yt.workerType==="process"||!yt.workerType)return dt(ht,rt(yt),ot("child_process"));if(at.platform==="browser")return ft(),tt(ht,yt.workerOpts,Worker);var st=nt();return st?ct(ht,st,yt.workerThreadOpts):dt(ht,rt(yt),ot("child_process"))}function tt(ht,yt,st){var bt=new st(ht,yt);return bt.isBrowserWorker=!0,bt.on=function(Rt,Mt){this.addEventListener(Rt,function(Dt){Mt(Dt.data)})},bt.send=function(Rt,Mt){this.postMessage(Rt,Mt)},bt}function ct(ht,yt,st){var bt=new yt.Worker(ht,d({stdout:!1,stderr:!1},st));return bt.isWorkerThread=!0,bt.send=function(Rt,Mt){this.postMessage(Rt,Mt)},bt.kill=function(){return this.terminate(),!0},bt.disconnect=function(){this.terminate()},bt}function dt(ht,yt,st){var bt=st.fork(ht,yt.forkArgs,yt.forkOpts),Rt=bt.send;return bt.send=function(Mt){return Rt.call(bt,Mt)},bt.isChildProcess=!0,bt}function rt(ht){ht=ht||{};var yt=process.execArgv.join(" "),st=yt.indexOf("--inspect")!==-1,bt=yt.indexOf("--debug-brk")!==-1,Rt=[];return st&&(Rt.push("--inspect="+ht.debugPort),bt&&Rt.push("--debug-brk")),process.execArgv.forEach(function(Mt){Mt.indexOf("--max-old-space-size")>-1&&Rt.push(Mt)}),Object.assign({},ht,{forkArgs:ht.forkArgs,forkOpts:Object.assign({},ht.forkOpts,{execArgv:(ht.forkOpts&&ht.forkOpts.execArgv||[]).concat(Rt)})})}function lt(ht){for(var yt=new Error(""),st=Object.keys(ht),bt=0;bt0},mt.prototype.terminate=function(ht,yt){var st=this;if(ht){for(var bt in this.processing)this.processing[bt]!==void 0&&this.processing[bt].resolver.reject(new Error("Worker terminated"));this.processing=Object.create(null)}if(typeof yt=="function"&&(this.terminationHandler=yt),this.busy())this.terminating=!0;else{var Rt=function(Tt){if(st.terminated=!0,st.cleaning=!1,st.worker!=null&&st.worker.removeAllListeners&&st.worker.removeAllListeners("message"),st.worker=null,st.terminating=!1,st.terminationHandler)st.terminationHandler(Tt,st);else if(Tt)throw Tt};if(this.worker)if(typeof this.worker.kill=="function"){if(this.worker.killed){Rt(new Error("worker already killed!"));return}var Mt=setTimeout(function(){st.worker&&st.worker.kill()},this.workerTerminateTimeout);this.worker.once("exit",function(){clearTimeout(Mt),st.worker&&(st.worker.killed=!0),Rt()}),this.worker.ready?this.worker.send(gt):this.requestQueue.push({message:gt}),this.cleaning=!0;return}else if(typeof this.worker.terminate=="function")this.worker.terminate(),this.worker.killed=!0;else throw new Error("Failed to terminate worker");Rt()}},mt.prototype.terminateAndNotify=function(ht,yt){var st=et.defer();return yt&&st.promise.timeout(yt),this.terminate(ht,function(bt,Rt){bt?st.reject(bt):st.resolve(Rt)}),st.promise},e.exports=mt,e.exports._tryRequireWorkerThreads=nt,e.exports._setupProcessWorker=dt,e.exports._setupBrowserWorker=tt,e.exports._setupWorkerThreadWorker=ct,e.exports.ensureWorkerThreads=vt},833:function(e){var i=65535;e.exports=o;function o(){this.ports=Object.create(null),this.length=0}o.prototype.nextAvailableStartingAt=function(a){for(;this.ports[a]===!0;)a++;if(a>=i)throw new Error("WorkerPool debug port limit reached: "+a+">= "+i);return this.ports[a]=!0,this.length++,a},o.prototype.releasePort=function(a){delete this.ports[a],this.length--}},828:function(e,i,o){var a=o(397),s=function(_){return typeof _<"u"&&_.versions!=null&&_.versions.node!=null};e.exports.isNode=s,e.exports.platform=typeof process<"u"&&s(process)?"node":"browser";var u=c("worker_threads");e.exports.isMainThread=e.exports.platform==="node"?(!u||u.isMainThread)&&!process.connected:typeof Window<"u",e.exports.cpus=e.exports.platform==="browser"?self.navigator.hardwareConcurrency:a("os").cpus().length;function c(d){try{return a(d)}catch{return null}}},670:function(e){e.exports=`!function(){var __webpack_modules__={577:function(e){e.exports=function(e,r){this.message=e,this.transfer=r}}},__webpack_module_cache__={};function __webpack_require__(e){var r=__webpack_module_cache__[e];return void 0!==r||(r=__webpack_module_cache__[e]={exports:{}},__webpack_modules__[e](r,r.exports,__webpack_require__)),r.exports}var __webpack_exports__={};!function(){var exports=__webpack_exports__,__webpack_unused_export__;function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var Transfer=__webpack_require__(577),requireFoolWebpack=eval("typeof require !== 'undefined' ? require : function (module) { throw new Error('Module \\" + module + \\" not found.') }"),TERMINATE_METHOD_ID="__workerpool-terminate__",worker={exit:function(){}},WorkerThreads,parentPort;if("undefined"!=typeof self&&"function"==typeof postMessage&&"function"==typeof addEventListener)worker.on=function(e,r){addEventListener(e,function(e){r(e.data)})},worker.send=function(e){postMessage(e)};else{if("undefined"==typeof process)throw new Error("Script must be executed as a worker");try{WorkerThreads=requireFoolWebpack("worker_threads")}catch(error){if("object"!==_typeof(error)||null===error||"MODULE_NOT_FOUND"!==error.code)throw error}WorkerThreads&&null!==WorkerThreads.parentPort?(parentPort=WorkerThreads.parentPort,worker.send=parentPort.postMessage.bind(parentPort),worker.on=parentPort.on.bind(parentPort)):(worker.on=process.on.bind(process),worker.send=function(e){process.send(e)},worker.on("disconnect",function(){process.exit(1)})),worker.exit=process.exit.bind(process)}function convertError(o){return Object.getOwnPropertyNames(o).reduce(function(e,r){return Object.defineProperty(e,r,{value:o[r],enumerable:!0})},{})}function isPromise(e){return e&&"function"==typeof e.then&&"function"==typeof e.catch}worker.methods={},worker.methods.run=function(e,r){e=new Function("return ("+e+").apply(null, arguments);");return e.apply(e,r)},worker.methods.methods=function(){return Object.keys(worker.methods)},worker.terminationHandler=void 0,worker.cleanupAndExit=function(e){function r(){worker.exit(e)}if(!worker.terminationHandler)return r();var o=worker.terminationHandler(e);isPromise(o)?o.then(r,r):r()};var currentRequestId=null;worker.on("message",function(r){if(r===TERMINATE_METHOD_ID)return worker.cleanupAndExit(0);try{var e=worker.methods[r.method];if(!e)throw new Error('Unknown method "'+r.method+'"');currentRequestId=r.id;var o=e.apply(e,r.params);isPromise(o)?o.then(function(e){e instanceof Transfer?worker.send({id:r.id,result:e.message,error:null},e.transfer):worker.send({id:r.id,result:e,error:null}),currentRequestId=null}).catch(function(e){worker.send({id:r.id,result:null,error:convertError(e)}),currentRequestId=null}):(o instanceof Transfer?worker.send({id:r.id,result:o.message,error:null},o.transfer):worker.send({id:r.id,result:o,error:null}),currentRequestId=null)}catch(e){worker.send({id:r.id,result:null,error:convertError(e)})}}),worker.register=function(e,r){if(e)for(var o in e)e.hasOwnProperty(o)&&(worker.methods[o]=e[o]);r&&(worker.terminationHandler=r.onTerminate),worker.send("ready")},worker.emit=function(e){currentRequestId&&(e instanceof Transfer?worker.send({id:currentRequestId,isEvent:!0,payload:e.message},e.transfer):worker.send({id:currentRequestId,isEvent:!0,payload:e}))},__webpack_unused_export__=worker.register,worker.emit}()}();`},397:function(module){var requireFoolWebpack=eval(`typeof require !== 'undefined' ? require : function (module) { throw new Error('Module " + module + " not found.') }`);module.exports=requireFoolWebpack},577:function(e){function i(o,a){this.message=o,this.transfer=a}e.exports=i},744:function(__unused_webpack_module,exports,__webpack_require__){function _typeof(e){"@babel/helpers - typeof";return _typeof=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(i){return typeof i}:function(i){return i&&typeof Symbol=="function"&&i.constructor===Symbol&&i!==Symbol.prototype?"symbol":typeof i},_typeof(e)}var Transfer=__webpack_require__(577),requireFoolWebpack=eval(`typeof require !== 'undefined' ? require : function (module) { throw new Error('Module " + module + " not found.') }`),TERMINATE_METHOD_ID="__workerpool-terminate__",worker={exit:function e(){}};if(typeof self<"u"&&typeof postMessage=="function"&&typeof addEventListener=="function")worker.on=function(e,i){addEventListener(e,function(o){i(o.data)})},worker.send=function(e){postMessage(e)};else if(typeof process<"u"){var WorkerThreads;try{WorkerThreads=requireFoolWebpack("worker_threads")}catch(e){if(!(_typeof(e)==="object"&&e!==null&&e.code==="MODULE_NOT_FOUND"))throw e}if(WorkerThreads&&WorkerThreads.parentPort!==null){var parentPort=WorkerThreads.parentPort;worker.send=parentPort.postMessage.bind(parentPort),worker.on=parentPort.on.bind(parentPort),worker.exit=process.exit.bind(process)}else worker.on=process.on.bind(process),worker.send=function(e){process.send(e)},worker.on("disconnect",function(){process.exit(1)}),worker.exit=process.exit.bind(process)}else throw new Error("Script must be executed as a worker");function convertError(e){return Object.getOwnPropertyNames(e).reduce(function(i,o){return Object.defineProperty(i,o,{value:e[o],enumerable:!0})},{})}function isPromise(e){return e&&typeof e.then=="function"&&typeof e.catch=="function"}worker.methods={},worker.methods.run=function e(i,o){var a=new Function("return ("+i+").apply(null, arguments);");return a.apply(a,o)},worker.methods.methods=function e(){return Object.keys(worker.methods)},worker.terminationHandler=void 0,worker.cleanupAndExit=function(e){var i=function(){worker.exit(e)};if(!worker.terminationHandler)return i();var o=worker.terminationHandler(e);isPromise(o)?o.then(i,i):i()};var currentRequestId=null;worker.on("message",function(e){if(e===TERMINATE_METHOD_ID)return worker.cleanupAndExit(0);try{var i=worker.methods[e.method];if(i){currentRequestId=e.id;var o=i.apply(i,e.params);isPromise(o)?o.then(function(a){a instanceof Transfer?worker.send({id:e.id,result:a.message,error:null},a.transfer):worker.send({id:e.id,result:a,error:null}),currentRequestId=null}).catch(function(a){worker.send({id:e.id,result:null,error:convertError(a)}),currentRequestId=null}):(o instanceof Transfer?worker.send({id:e.id,result:o.message,error:null},o.transfer):worker.send({id:e.id,result:o,error:null}),currentRequestId=null)}else throw new Error('Unknown method "'+e.method+'"')}catch(a){worker.send({id:e.id,result:null,error:convertError(a)})}}),worker.register=function(e,i){if(e)for(var o in e)e.hasOwnProperty(o)&&(worker.methods[o]=e[o]);i&&(worker.terminationHandler=i.onTerminate),worker.send("ready")},worker.emit=function(e){if(currentRequestId){if(e instanceof Transfer){worker.send({id:currentRequestId,isEvent:!0,payload:e.message},e.transfer);return}worker.send({id:currentRequestId,isEvent:!0,payload:e})}},exports.add=worker.register,exports.emit=worker.emit}},__webpack_module_cache__={};function __webpack_require__(e){var i=__webpack_module_cache__[e];if(i!==void 0)return i.exports;var o=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](o,o.exports,__webpack_require__),o.exports}var __webpack_exports__={};return function(){var e=__webpack_exports__,i=__webpack_require__(828);e.pool=function(a,s){var u=__webpack_require__(345);return new u(a,s)},e.worker=function(a,s){var u=__webpack_require__(744);u.add(a,s)},e.workerEmit=function(a){var s=__webpack_require__(744);s.emit(a)},e.Promise=__webpack_require__(219),e.Transfer=__webpack_require__(577),e.platform=i.platform,e.isMainThread=i.isMainThread,e.cpus=i.cpus}(),__webpack_exports__}()})})(workerpool$1);var workerpoolExports=workerpool$1.exports;const workerpool=getDefaultExportFromCjs(workerpoolExports);function getPool(){let e;function i(...o){return e||(e=workerpool.pool(new URL("data:video/mp2t;base64,aW1wb3J0ICogYXMgd29ya2VycG9vbCBmcm9tICd3b3JrZXJwb29sJzsKaW1wb3J0ICogYXMgRXF1YXRpb25Tb2x2ZXIgZnJvbSAnLi9lcXVhdGlvblNvbHZlcic7CmltcG9ydCB7IEVxdWF0aW9uUG9saWN5IH0gZnJvbSAnLi9zcGFydGl0b01lYXN1cmUnOwoKY29uc3Qgc29sdmVTdGFmZkdyb3VwID0gKHN0YWZmR3JvdXA6IEVxdWF0aW9uUG9saWN5LlN0YWZmR3JvdXAsIG9wdGlvbnM6IEVxdWF0aW9uUG9saWN5LlJlZ3VsYXRvck9wdGlvbnMpOiBFcXVhdGlvblBvbGljeS5TdGFmZkdyb3VwU29sdXRpb24gPT4gewoJaWYgKCFzdGFmZkdyb3VwLmV2ZW50cy5sZW5ndGgpIHsKCQlyZXR1cm4gewoJCQlldmVudHM6IFtdLAoJCQl2b2ljZXM6IFtdLAoJCQlkdXJhdGlvbjogMCwKCQl9OwoJfQoKCWNvbnN0IHNvbHZlciA9IG5ldyBFcXVhdGlvblNvbHZlci5Tb2x2ZXIoc3RhZmZHcm91cCwgb3B0aW9ucyk7CgoJcmV0dXJuIHNvbHZlci5zb2x2ZSgpOwp9OwoKLy8gY3JlYXRlIGEgd29ya2VyIGFuZCByZWdpc3RlciBwdWJsaWMgZnVuY3Rpb25zCndvcmtlcnBvb2wud29ya2VyKHsKCXNvbHZlU3RhZmZHcm91cCwKfSk7Cg==",self.location).href,{workerOpts:{type:"module"}})),e.exec("solveStaffGroup",o)}return{solveStaffGroup:i,terminate(){e==null||e.terminate(),e=null}}}class LocalSolutionStore{store;constructor(){this.store=localForage.createInstance({name:"solution-store"})}getBatch(i){return Promise.all(i.map(o=>this.store.getItem(o)))}get(i){return this.store.getItem(i)}set(i,o){return this.store.setItem(i,o)}remove(i){return this.store.removeItem(i)}}class AdminSolutionStore{localStore=new LocalSolutionStore;async getBatch(i){const o=await request.post("/api/solutions/batchGet",{data:{nameList:i}});return Promise.all(o.map((a,s)=>a||this.localStore.get(i[s])))}async get(i){return await request.post("/api/solutions/batchGet",{data:{nameList:[i]}}).then(a=>a[0])||this.localStore.get(i)}set(i,o){return request.post("/api/solutions/set",{data:{name:i,value:o}})}remove(i){return request.post("/api/solutions/delete",{data:{name:i}})}}const regulate=async(e,{forceUpdate:i=!1,readonly:o=!1,onlyFetchCache:a=!1,solutionStore:s=null,onProgress:u,policy:c="equations",quota:d})=>{var at;if(e.assemble(),(at=e.spartito)!=null&&at.regulated)return;const _=e.spartito||e.makeSpartito(),b=_.measures.filter(ot=>!ot.regulated),j=b.length;let _e=0;if(u==null||u(0),!i){const ot=await(s==null?void 0:s.getBatch(b.map(gt=>gt.regulationHash)))??[];b.forEach((gt,vt)=>{const ft=ot[vt];ft&>.applySolution(ft),u==null||u(Math.ceil(_e++/j*100))})}if(a)return;const et=_.measures.filter(ot=>!ot.regulated);if(et.length>0){const{solveStaffGroup:ot,terminate:gt}=getPool();await Promise.all(et.map(async vt=>{var nt;const ft=vt.regulationHash;await vt.regulate({policy:c,quota:d||Math.min((vt.events.length+1)*16,200),solver:ot}),o||s==null||s.set(ft,{...vt.asSolution(),priority:-((nt=vt.solutionStat)==null?void 0:nt.loss)}),u==null||u(Math.ceil(_e++/j*100))})),gt()}u==null||u(100)};var confirm$1={},interopRequireWildcard={exports:{}};(function(e){var i=_typeofExports.default;function o(a,s){if(typeof WeakMap=="function")var u=new WeakMap,c=new WeakMap;return(e.exports=o=function(_,b){if(!b&&_&&_.__esModule)return _;var j,_e,et={__proto__:null,default:_};if(_===null||i(_)!="object"&&typeof _!="function")return et;if(j=b?c:u){if(j.has(_))return j.get(_);j.set(_,et)}for(var at in _)at!=="default"&&{}.hasOwnProperty.call(_,at)&&((_e=(j=Object.defineProperty)&&Object.getOwnPropertyDescriptor(_,at))&&(_e.get||_e.set)?j(et,at,_e):et[at]=_[at]);return et},e.exports.__esModule=!0,e.exports.default=e.exports)(a,s)}e.exports=o,e.exports.__esModule=!0,e.exports.default=e.exports})(interopRequireWildcard);var interopRequireWildcardExports=interopRequireWildcard.exports,CheckCircleOutlined$3={exports:{}},CheckCircleOutlined$2={},objectSpread2={exports:{}};(function(e){var i=definePropertyExports;function o(s,u){var c=Object.keys(s);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(s);u&&(d=d.filter(function(_){return Object.getOwnPropertyDescriptor(s,_).enumerable})),c.push.apply(c,d)}return c}function a(s){for(var u=1;u0&&arguments[0]!==void 0?arguments[0]:{},i=e.mark;return i?i.startsWith("data-")?i:"data-".concat(i):MARK_KEY}function getContainer(e){if(e.attachTo)return e.attachTo;var i=document.querySelector("head");return i||document.body}function getOrder(e){return e==="queue"?"prependQueue":e?"prepend":"append"}function findStyles(e){return Array.from((containerCache.get(e)||e).children).filter(function(i){return i.tagName==="STYLE"})}function injectCSS(e){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!(0,_canUseDom$2.default)())return null;var o=i.csp,a=i.prepend,s=i.priority,u=s===void 0?0:s,c=getOrder(a),d=c==="prependQueue",_=document.createElement("style");_.setAttribute(APPEND_ORDER,c),d&&u&&_.setAttribute(APPEND_PRIORITY,"".concat(u)),o!=null&&o.nonce&&(_.nonce=o==null?void 0:o.nonce),_.innerHTML=e;var b=getContainer(i),j=b.firstChild;if(a){if(d){var _e=(i.styles||findStyles(b)).filter(function(et){if(!["prepend","prependQueue"].includes(et.getAttribute(APPEND_ORDER)))return!1;var at=Number(et.getAttribute(APPEND_PRIORITY)||0);return u>=at});if(_e.length)return b.insertBefore(_,_e[_e.length-1].nextSibling),_}b.insertBefore(_,j)}else b.appendChild(_);return _}function findExistNode(e){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=getContainer(i);return(i.styles||findStyles(o)).find(function(a){return a.getAttribute(getMark(i))===e})}function removeCSS(e){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=findExistNode(e,i);if(o){var a=getContainer(i);a.removeChild(o)}}function syncRealContainer(e,i){var o=containerCache.get(e);if(!o||!(0,_contains.default)(document,o)){var a=injectCSS("",i),s=a.parentNode;containerCache.set(e,s),e.removeChild(a)}}function clearContainerCache(){containerCache.clear()}function updateCSS(e,i){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=getContainer(o),s=findStyles(a),u=(0,_objectSpread2$c.default)((0,_objectSpread2$c.default)({},o),{},{styles:s});syncRealContainer(a,u);var c=findExistNode(i,u);if(c){var d,_;if((d=u.csp)!==null&&d!==void 0&&d.nonce&&c.nonce!==((_=u.csp)===null||_===void 0?void 0:_.nonce)){var b;c.nonce=(b=u.csp)===null||b===void 0?void 0:b.nonce}return c.innerHTML!==e&&(c.innerHTML=e),c}var j=injectCSS(e,u);return j.setAttribute(getMark(u),i),j}var hasRequiredUtils;function requireUtils(){if(hasRequiredUtils)return utils;hasRequiredUtils=1;var e=interopRequireDefaultExports,i=_typeofExports;Object.defineProperty(utils,"__esModule",{value:!0}),utils.generate=gt,utils.getSecondaryColor=vt,utils.iconStyles=void 0,utils.isIconDefinition=at,utils.normalizeAttrs=ot,utils.normalizeTwoToneColors=ft,utils.useInsertStyles=utils.svgBaseProps=void 0,utils.warning=et;var o=e(objectSpread2Exports),a=e(_typeofExports),s=require$$1,u=_e(reactExports),c=e(warning$2),d=dynamicCSS,_=e(Context),b=e(camelCase_1);function j(ut){if(typeof WeakMap!="function")return null;var $=new WeakMap,tt=new WeakMap;return(j=function(dt){return dt?tt:$})(ut)}function _e(ut,$){if(!$&&ut&&ut.__esModule)return ut;if(ut===null||i(ut)!="object"&&typeof ut!="function")return{default:ut};var tt=j($);if(tt&&tt.has(ut))return tt.get(ut);var ct={__proto__:null},dt=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var rt in ut)if(rt!=="default"&&{}.hasOwnProperty.call(ut,rt)){var lt=dt?Object.getOwnPropertyDescriptor(ut,rt):null;lt&&(lt.get||lt.set)?Object.defineProperty(ct,rt,lt):ct[rt]=ut[rt]}return ct.default=ut,tt&&tt.set(ut,ct),ct}function et(ut,$){(0,c.default)(ut,"[@ant-design/icons] ".concat($))}function at(ut){return(0,a.default)(ut)==="object"&&typeof ut.name=="string"&&typeof ut.theme=="string"&&((0,a.default)(ut.icon)==="object"||typeof ut.icon=="function")}function ot(){var ut=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return Object.keys(ut).reduce(function($,tt){var ct=ut[tt];switch(tt){case"class":$.className=ct,delete $.class;break;default:delete $[tt],$[(0,b.default)(tt)]=ct}return $},{})}function gt(ut,$,tt){return tt?u.default.createElement(ut.tag,(0,o.default)((0,o.default)({key:$},ot(ut.attrs)),tt),(ut.children||[]).map(function(ct,dt){return gt(ct,"".concat($,"-").concat(ut.tag,"-").concat(dt))})):u.default.createElement(ut.tag,(0,o.default)({key:$},ot(ut.attrs)),(ut.children||[]).map(function(ct,dt){return gt(ct,"".concat($,"-").concat(ut.tag,"-").concat(dt))}))}function vt(ut){return(0,s.generate)(ut)[0]}function ft(ut){return ut?Array.isArray(ut)?ut:[ut]:[]}utils.svgBaseProps={width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true",focusable:"false"};var nt=utils.iconStyles=` +.anticon { + display: inline-flex; + alignItems: center; + color: inherit; + font-style: normal; + line-height: 0; + text-align: center; + text-transform: none; + vertical-align: -0.125em; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.anticon > * { + line-height: 1; +} + +.anticon svg { + display: inline-block; +} + +.anticon::before { + display: none; +} + +.anticon .anticon-icon { + display: block; +} + +.anticon[tabindex] { + cursor: pointer; +} + +.anticon-spin::before, +.anticon-spin { + display: inline-block; + -webkit-animation: loadingCircle 1s infinite linear; + animation: loadingCircle 1s infinite linear; +} + +@-webkit-keyframes loadingCircle { + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +@keyframes loadingCircle { + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} +`;return utils.useInsertStyles=function(){var $=arguments.length>0&&arguments[0]!==void 0?arguments[0]:nt,tt=(0,u.useContext)(_.default),ct=tt.csp;(0,u.useEffect)(function(){(0,d.updateCSS)($,"@ant-design-icons",{prepend:!0,csp:ct})},[])},utils}var hasRequiredIconBase;function requireIconBase(){if(hasRequiredIconBase)return IconBase;hasRequiredIconBase=1;var e=interopRequireDefaultExports;Object.defineProperty(IconBase,"__esModule",{value:!0}),IconBase.default=void 0;var i=e(requireObjectWithoutProperties()),o=e(objectSpread2Exports),a=requireUtils(),s=["icon","className","onClick","style","primaryColor","secondaryColor"],u={primaryColor:"#333",secondaryColor:"#E6E6E6",calculated:!1};function c(b){var j=b.primaryColor,_e=b.secondaryColor;u.primaryColor=j,u.secondaryColor=_e||(0,a.getSecondaryColor)(j),u.calculated=!!_e}function d(){return(0,o.default)({},u)}var _=function(j){var _e=j.icon,et=j.className,at=j.onClick,ot=j.style,gt=j.primaryColor,vt=j.secondaryColor,ft=(0,i.default)(j,s),nt=u;if(gt&&(nt={primaryColor:gt,secondaryColor:vt||(0,a.getSecondaryColor)(gt)}),(0,a.useInsertStyles)(),(0,a.warning)((0,a.isIconDefinition)(_e),"icon should be icon definiton, but got ".concat(_e)),!(0,a.isIconDefinition)(_e))return null;var ut=_e;return ut&&typeof ut.icon=="function"&&(ut=(0,o.default)((0,o.default)({},ut),{},{icon:ut.icon(nt.primaryColor,nt.secondaryColor)})),(0,a.generate)(ut.icon,"svg-".concat(ut.name),(0,o.default)({className:et,onClick:at,style:ot,"data-icon":ut.name,width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true"},ft))};return _.displayName="IconReact",_.getTwoToneColors=d,_.setTwoToneColors=c,IconBase.default=_,IconBase}var twoTonePrimaryColor={},hasRequiredTwoTonePrimaryColor;function requireTwoTonePrimaryColor(){if(hasRequiredTwoTonePrimaryColor)return twoTonePrimaryColor;hasRequiredTwoTonePrimaryColor=1;var e=interopRequireDefaultExports;Object.defineProperty(twoTonePrimaryColor,"__esModule",{value:!0}),twoTonePrimaryColor.getTwoToneColor=u,twoTonePrimaryColor.setTwoToneColor=s;var i=e(slicedToArrayExports),o=e(requireIconBase()),a=requireUtils();function s(c){var d=(0,a.normalizeTwoToneColors)(c),_=(0,i.default)(d,2),b=_[0],j=_[1];return o.default.setTwoToneColors({primaryColor:b,secondaryColor:j})}function u(){var c=o.default.getTwoToneColors();return c.calculated?[c.primaryColor,c.secondaryColor]:c.primaryColor}return twoTonePrimaryColor}var hasRequiredAntdIcon;function requireAntdIcon(){if(hasRequiredAntdIcon)return AntdIcon;hasRequiredAntdIcon=1;var e=interopRequireDefaultExports,i=_typeofExports;Object.defineProperty(AntdIcon,"__esModule",{value:!0}),AntdIcon.default=void 0;var o=e(objectSpread2Exports),a=e(slicedToArrayExports),s=e(definePropertyExports),u=e(requireObjectWithoutProperties()),c=ot(reactExports),d=e(classnamesExports),_=e(Context),b=e(requireIconBase()),j=requireTwoTonePrimaryColor(),_e=requireUtils(),et=["className","icon","spin","rotate","tabIndex","onClick","twoToneColor"];function at(vt){if(typeof WeakMap!="function")return null;var ft=new WeakMap,nt=new WeakMap;return(at=function($){return $?nt:ft})(vt)}function ot(vt,ft){if(!ft&&vt&&vt.__esModule)return vt;if(vt===null||i(vt)!="object"&&typeof vt!="function")return{default:vt};var nt=at(ft);if(nt&&nt.has(vt))return nt.get(vt);var ut={__proto__:null},$=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var tt in vt)if(tt!=="default"&&{}.hasOwnProperty.call(vt,tt)){var ct=$?Object.getOwnPropertyDescriptor(vt,tt):null;ct&&(ct.get||ct.set)?Object.defineProperty(ut,tt,ct):ut[tt]=vt[tt]}return ut.default=vt,nt&&nt.set(vt,ut),ut}(0,j.setTwoToneColor)("#1890ff");var gt=c.forwardRef(function(vt,ft){var nt=vt.className,ut=vt.icon,$=vt.spin,tt=vt.rotate,ct=vt.tabIndex,dt=vt.onClick,rt=vt.twoToneColor,lt=(0,u.default)(vt,et),mt=c.useContext(_.default),ht=mt.prefixCls,yt=ht===void 0?"anticon":ht,st=mt.rootClassName,bt=(0,d.default)(st,yt,(0,s.default)((0,s.default)({},"".concat(yt,"-").concat(ut.name),!!ut.name),"".concat(yt,"-spin"),!!$||ut.name==="loading"),nt),Rt=ct;Rt===void 0&&dt&&(Rt=-1);var Mt=tt?{msTransform:"rotate(".concat(tt,"deg)"),transform:"rotate(".concat(tt,"deg)")}:void 0,Dt=(0,_e.normalizeTwoToneColors)(rt),Tt=(0,a.default)(Dt,2),Et=Tt[0],Ot=Tt[1];return c.createElement("span",(0,o.default)((0,o.default)({role:"img","aria-label":ut.name},lt),{},{ref:ft,tabIndex:Rt,onClick:dt,className:bt}),c.createElement(b.default,{icon:ut,primaryColor:Et,secondaryColor:Ot,style:Mt}))});return gt.displayName="AntdIcon",gt.getTwoToneColor=j.getTwoToneColor,gt.setTwoToneColor=j.setTwoToneColor,AntdIcon.default=gt,AntdIcon}var _interopRequireDefault$l=interopRequireDefaultExports,_typeof$a=_typeofExports;Object.defineProperty(CheckCircleOutlined$2,"__esModule",{value:!0});CheckCircleOutlined$2.default=void 0;var _objectSpread2$b=_interopRequireDefault$l(objectSpread2Exports),React$f=_interopRequireWildcard$g(reactExports),_CheckCircleOutlined=_interopRequireDefault$l(requireCheckCircleOutlined()),_AntdIcon$9=_interopRequireDefault$l(requireAntdIcon());function _getRequireWildcardCache$a(e){if(typeof WeakMap!="function")return null;var i=new WeakMap,o=new WeakMap;return(_getRequireWildcardCache$a=function(s){return s?o:i})(e)}function _interopRequireWildcard$g(e,i){if(!i&&e&&e.__esModule)return e;if(e===null||_typeof$a(e)!="object"&&typeof e!="function")return{default:e};var o=_getRequireWildcardCache$a(i);if(o&&o.has(e))return o.get(e);var a={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if(u!=="default"&&{}.hasOwnProperty.call(e,u)){var c=s?Object.getOwnPropertyDescriptor(e,u):null;c&&(c.get||c.set)?Object.defineProperty(a,u,c):a[u]=e[u]}return a.default=e,o&&o.set(e,a),a}var CheckCircleOutlined=function e(i,o){return React$f.createElement(_AntdIcon$9.default,(0,_objectSpread2$b.default)((0,_objectSpread2$b.default)({},i),{},{ref:o,icon:_CheckCircleOutlined.default}))},RefIcon$9=React$f.forwardRef(CheckCircleOutlined);CheckCircleOutlined$2.default=RefIcon$9;(function(e,i){Object.defineProperty(i,"__esModule",{value:!0}),i.default=void 0;var o=a(CheckCircleOutlined$2);function a(u){return u&&u.__esModule?u:{default:u}}var s=o;i.default=s,e.exports=s})(CheckCircleOutlined$3,CheckCircleOutlined$3.exports);var CheckCircleOutlinedExports=CheckCircleOutlined$3.exports,CloseCircleOutlined$3={exports:{}},CloseCircleOutlined$2={},CloseCircleOutlined$1={},hasRequiredCloseCircleOutlined;function requireCloseCircleOutlined(){if(hasRequiredCloseCircleOutlined)return CloseCircleOutlined$1;hasRequiredCloseCircleOutlined=1,Object.defineProperty(CloseCircleOutlined$1,"__esModule",{value:!0});var e={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm0 76c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm128.01 198.83c.03 0 .05.01.09.06l45.02 45.01a.2.2 0 01.05.09.12.12 0 010 .07c0 .02-.01.04-.05.08L557.25 512l127.87 127.86a.27.27 0 01.05.06v.02a.12.12 0 010 .07c0 .03-.01.05-.05.09l-45.02 45.02a.2.2 0 01-.09.05.12.12 0 01-.07 0c-.02 0-.04-.01-.08-.05L512 557.25 384.14 685.12c-.04.04-.06.05-.08.05a.12.12 0 01-.07 0c-.03 0-.05-.01-.09-.05l-45.02-45.02a.2.2 0 01-.05-.09.12.12 0 010-.07c0-.02.01-.04.06-.08L466.75 512 338.88 384.14a.27.27 0 01-.05-.06l-.01-.02a.12.12 0 010-.07c0-.03.01-.05.05-.09l45.02-45.02a.2.2 0 01.09-.05.12.12 0 01.07 0c.02 0 .04.01.08.06L512 466.75l127.86-127.86c.04-.05.06-.06.08-.06a.12.12 0 01.07 0z"}}]},name:"close-circle",theme:"outlined"};return CloseCircleOutlined$1.default=e,CloseCircleOutlined$1}var _interopRequireDefault$k=interopRequireDefaultExports,_typeof$9=_typeofExports;Object.defineProperty(CloseCircleOutlined$2,"__esModule",{value:!0});CloseCircleOutlined$2.default=void 0;var _objectSpread2$a=_interopRequireDefault$k(objectSpread2Exports),React$e=_interopRequireWildcard$f(reactExports),_CloseCircleOutlined=_interopRequireDefault$k(requireCloseCircleOutlined()),_AntdIcon$8=_interopRequireDefault$k(requireAntdIcon());function _getRequireWildcardCache$9(e){if(typeof WeakMap!="function")return null;var i=new WeakMap,o=new WeakMap;return(_getRequireWildcardCache$9=function(s){return s?o:i})(e)}function _interopRequireWildcard$f(e,i){if(!i&&e&&e.__esModule)return e;if(e===null||_typeof$9(e)!="object"&&typeof e!="function")return{default:e};var o=_getRequireWildcardCache$9(i);if(o&&o.has(e))return o.get(e);var a={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if(u!=="default"&&{}.hasOwnProperty.call(e,u)){var c=s?Object.getOwnPropertyDescriptor(e,u):null;c&&(c.get||c.set)?Object.defineProperty(a,u,c):a[u]=e[u]}return a.default=e,o&&o.set(e,a),a}var CloseCircleOutlined=function e(i,o){return React$e.createElement(_AntdIcon$8.default,(0,_objectSpread2$a.default)((0,_objectSpread2$a.default)({},i),{},{ref:o,icon:_CloseCircleOutlined.default}))},RefIcon$8=React$e.forwardRef(CloseCircleOutlined);CloseCircleOutlined$2.default=RefIcon$8;(function(e,i){Object.defineProperty(i,"__esModule",{value:!0}),i.default=void 0;var o=a(CloseCircleOutlined$2);function a(u){return u&&u.__esModule?u:{default:u}}var s=o;i.default=s,e.exports=s})(CloseCircleOutlined$3,CloseCircleOutlined$3.exports);var CloseCircleOutlinedExports=CloseCircleOutlined$3.exports,ExclamationCircleOutlined$3={exports:{}},ExclamationCircleOutlined$2={},ExclamationCircleOutlined$1={},hasRequiredExclamationCircleOutlined;function requireExclamationCircleOutlined(){if(hasRequiredExclamationCircleOutlined)return ExclamationCircleOutlined$1;hasRequiredExclamationCircleOutlined=1,Object.defineProperty(ExclamationCircleOutlined$1,"__esModule",{value:!0});var e={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M464 688a48 48 0 1096 0 48 48 0 10-96 0zm24-112h48c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8z"}}]},name:"exclamation-circle",theme:"outlined"};return ExclamationCircleOutlined$1.default=e,ExclamationCircleOutlined$1}var _interopRequireDefault$j=interopRequireDefaultExports,_typeof$8=_typeofExports;Object.defineProperty(ExclamationCircleOutlined$2,"__esModule",{value:!0});ExclamationCircleOutlined$2.default=void 0;var _objectSpread2$9=_interopRequireDefault$j(objectSpread2Exports),React$d=_interopRequireWildcard$e(reactExports),_ExclamationCircleOutlined=_interopRequireDefault$j(requireExclamationCircleOutlined()),_AntdIcon$7=_interopRequireDefault$j(requireAntdIcon());function _getRequireWildcardCache$8(e){if(typeof WeakMap!="function")return null;var i=new WeakMap,o=new WeakMap;return(_getRequireWildcardCache$8=function(s){return s?o:i})(e)}function _interopRequireWildcard$e(e,i){if(!i&&e&&e.__esModule)return e;if(e===null||_typeof$8(e)!="object"&&typeof e!="function")return{default:e};var o=_getRequireWildcardCache$8(i);if(o&&o.has(e))return o.get(e);var a={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if(u!=="default"&&{}.hasOwnProperty.call(e,u)){var c=s?Object.getOwnPropertyDescriptor(e,u):null;c&&(c.get||c.set)?Object.defineProperty(a,u,c):a[u]=e[u]}return a.default=e,o&&o.set(e,a),a}var ExclamationCircleOutlined=function e(i,o){return React$d.createElement(_AntdIcon$7.default,(0,_objectSpread2$9.default)((0,_objectSpread2$9.default)({},i),{},{ref:o,icon:_ExclamationCircleOutlined.default}))},RefIcon$7=React$d.forwardRef(ExclamationCircleOutlined);ExclamationCircleOutlined$2.default=RefIcon$7;(function(e,i){Object.defineProperty(i,"__esModule",{value:!0}),i.default=void 0;var o=a(ExclamationCircleOutlined$2);function a(u){return u&&u.__esModule?u:{default:u}}var s=o;i.default=s,e.exports=s})(ExclamationCircleOutlined$3,ExclamationCircleOutlined$3.exports);var ExclamationCircleOutlinedExports=ExclamationCircleOutlined$3.exports,InfoCircleOutlined$3={exports:{}},InfoCircleOutlined$2={},InfoCircleOutlined$1={},hasRequiredInfoCircleOutlined;function requireInfoCircleOutlined(){if(hasRequiredInfoCircleOutlined)return InfoCircleOutlined$1;hasRequiredInfoCircleOutlined=1,Object.defineProperty(InfoCircleOutlined$1,"__esModule",{value:!0});var e={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M464 336a48 48 0 1096 0 48 48 0 10-96 0zm72 112h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V456c0-4.4-3.6-8-8-8z"}}]},name:"info-circle",theme:"outlined"};return InfoCircleOutlined$1.default=e,InfoCircleOutlined$1}var _interopRequireDefault$i=interopRequireDefaultExports,_typeof$7=_typeofExports;Object.defineProperty(InfoCircleOutlined$2,"__esModule",{value:!0});InfoCircleOutlined$2.default=void 0;var _objectSpread2$8=_interopRequireDefault$i(objectSpread2Exports),React$c=_interopRequireWildcard$d(reactExports),_InfoCircleOutlined=_interopRequireDefault$i(requireInfoCircleOutlined()),_AntdIcon$6=_interopRequireDefault$i(requireAntdIcon());function _getRequireWildcardCache$7(e){if(typeof WeakMap!="function")return null;var i=new WeakMap,o=new WeakMap;return(_getRequireWildcardCache$7=function(s){return s?o:i})(e)}function _interopRequireWildcard$d(e,i){if(!i&&e&&e.__esModule)return e;if(e===null||_typeof$7(e)!="object"&&typeof e!="function")return{default:e};var o=_getRequireWildcardCache$7(i);if(o&&o.has(e))return o.get(e);var a={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if(u!=="default"&&{}.hasOwnProperty.call(e,u)){var c=s?Object.getOwnPropertyDescriptor(e,u):null;c&&(c.get||c.set)?Object.defineProperty(a,u,c):a[u]=e[u]}return a.default=e,o&&o.set(e,a),a}var InfoCircleOutlined=function e(i,o){return React$c.createElement(_AntdIcon$6.default,(0,_objectSpread2$8.default)((0,_objectSpread2$8.default)({},i),{},{ref:o,icon:_InfoCircleOutlined.default}))},RefIcon$6=React$c.forwardRef(InfoCircleOutlined);InfoCircleOutlined$2.default=RefIcon$6;(function(e,i){Object.defineProperty(i,"__esModule",{value:!0}),i.default=void 0;var o=a(InfoCircleOutlined$2);function a(u){return u&&u.__esModule?u:{default:u}}var s=o;i.default=s,e.exports=s})(InfoCircleOutlined$3,InfoCircleOutlined$3.exports);var InfoCircleOutlinedExports=InfoCircleOutlined$3.exports,render$1={},regeneratorRuntime={exports:{}},OverloadYield={exports:{}};(function(e){function i(o,a){this.v=o,this.k=a}e.exports=i,e.exports.__esModule=!0,e.exports.default=e.exports})(OverloadYield);var OverloadYieldExports=OverloadYield.exports,regenerator={exports:{}},regeneratorDefine={exports:{}};(function(e){function i(o,a,s,u){var c=Object.defineProperty;try{c({},"",{})}catch{c=0}e.exports=i=function(_,b,j,_e){function et(at,ot){i(_,at,function(gt){return this._invoke(at,ot,gt)})}b?c?c(_,b,{value:j,enumerable:!_e,configurable:!_e,writable:!_e}):_[b]=j:(et("next",0),et("throw",1),et("return",2))},e.exports.__esModule=!0,e.exports.default=e.exports,i(o,a,s,u)}e.exports=i,e.exports.__esModule=!0,e.exports.default=e.exports})(regeneratorDefine);var regeneratorDefineExports=regeneratorDefine.exports;(function(e){var i=regeneratorDefineExports;function o(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var a,s,u=typeof Symbol=="function"?Symbol:{},c=u.iterator||"@@iterator",d=u.toStringTag||"@@toStringTag";function _(vt,ft,nt,ut){var $=ft&&ft.prototype instanceof j?ft:j,tt=Object.create($.prototype);return i(tt,"_invoke",function(ct,dt,rt){var lt,mt,ht,yt=0,st=rt||[],bt=!1,Rt={p:0,n:0,v:a,a:Mt,f:Mt.bind(a,4),d:function(Tt,Et){return lt=Tt,mt=0,ht=a,Rt.n=Et,b}};function Mt(Dt,Tt){for(mt=Dt,ht=Tt,s=0;!bt&&yt&&!Et&&s3?(Et=qt===Tt)&&(ht=Ot[(mt=Ot[4])?5:(mt=3,3)],Ot[4]=Ot[5]=a):Ot[0]<=It&&((Et=Dt<2&&ItTt||Tt>qt)&&(Ot[4]=Dt,Ot[5]=Tt,Rt.n=qt,mt=0))}if(Et||Dt>1)return b;throw bt=!0,Tt}return function(Dt,Tt,Et){if(yt>1)throw TypeError("Generator is already running");for(bt&&Tt===1&&Mt(Tt,Et),mt=Tt,ht=Et;(s=mt<2?a:ht)||!bt;){lt||(mt?mt<3?(mt>1&&(Rt.n=-1),Mt(mt,ht)):Rt.n=ht:Rt.v=ht);try{if(yt=2,lt){if(mt||(Dt="next"),s=lt[Dt]){if(!(s=s.call(lt,ht)))throw TypeError("iterator result is not an object");if(!s.done)return s;ht=s.value,mt<2&&(mt=0)}else mt===1&&(s=lt.return)&&s.call(lt),mt<2&&(ht=TypeError("The iterator does not provide a '"+Dt+"' method"),mt=1);lt=a}else if((s=(bt=Rt.n<0)?ht:ct.call(dt,Rt))!==b)break}catch(Ot){lt=a,mt=1,ht=Ot}finally{yt=1}}return{value:s,done:bt}}}(vt,nt,ut),!0),tt}var b={};function j(){}function _e(){}function et(){}s=Object.getPrototypeOf;var at=[][c]?s(s([][c]())):(i(s={},c,function(){return this}),s),ot=et.prototype=j.prototype=Object.create(at);function gt(vt){return Object.setPrototypeOf?Object.setPrototypeOf(vt,et):(vt.__proto__=et,i(vt,d,"GeneratorFunction")),vt.prototype=Object.create(ot),vt}return _e.prototype=et,i(ot,"constructor",et),i(et,"constructor",_e),_e.displayName="GeneratorFunction",i(et,d,"GeneratorFunction"),i(ot),i(ot,d,"Generator"),i(ot,c,function(){return this}),i(ot,"toString",function(){return"[object Generator]"}),(e.exports=o=function(){return{w:_,m:gt}},e.exports.__esModule=!0,e.exports.default=e.exports)()}e.exports=o,e.exports.__esModule=!0,e.exports.default=e.exports})(regenerator);var regeneratorExports=regenerator.exports,regeneratorAsync={exports:{}},regeneratorAsyncGen={exports:{}},regeneratorAsyncIterator={exports:{}};(function(e){var i=OverloadYieldExports,o=regeneratorDefineExports;function a(s,u){function c(_,b,j,_e){try{var et=s[_](b),at=et.value;return at instanceof i?u.resolve(at.v).then(function(ot){c("next",ot,j,_e)},function(ot){c("throw",ot,j,_e)}):u.resolve(at).then(function(ot){et.value=ot,j(et)},function(ot){return c("throw",ot,j,_e)})}catch(ot){_e(ot)}}var d;this.next||(o(a.prototype),o(a.prototype,typeof Symbol=="function"&&Symbol.asyncIterator||"@asyncIterator",function(){return this})),o(this,"_invoke",function(_,b,j){function _e(){return new u(function(et,at){c(_,j,et,at)})}return d=d?d.then(_e,_e):_e()},!0)}e.exports=a,e.exports.__esModule=!0,e.exports.default=e.exports})(regeneratorAsyncIterator);var regeneratorAsyncIteratorExports=regeneratorAsyncIterator.exports;(function(e){var i=regeneratorExports,o=regeneratorAsyncIteratorExports;function a(s,u,c,d,_){return new o(i().w(s,u,c,d),_||Promise)}e.exports=a,e.exports.__esModule=!0,e.exports.default=e.exports})(regeneratorAsyncGen);var regeneratorAsyncGenExports=regeneratorAsyncGen.exports;(function(e){var i=regeneratorAsyncGenExports;function o(a,s,u,c,d){var _=i(a,s,u,c,d);return _.next().then(function(b){return b.done?b.value:_.next()})}e.exports=o,e.exports.__esModule=!0,e.exports.default=e.exports})(regeneratorAsync);var regeneratorAsyncExports=regeneratorAsync.exports,regeneratorKeys={exports:{}};(function(e){function i(o){var a=Object(o),s=[];for(var u in a)s.unshift(u);return function c(){for(;s.length;)if((u=s.pop())in a)return c.value=u,c.done=!1,c;return c.done=!0,c}}e.exports=i,e.exports.__esModule=!0,e.exports.default=e.exports})(regeneratorKeys);var regeneratorKeysExports=regeneratorKeys.exports,regeneratorValues={exports:{}};(function(e){var i=_typeofExports.default;function o(a){if(a!=null){var s=a[typeof Symbol=="function"&&Symbol.iterator||"@@iterator"],u=0;if(s)return s.call(a);if(typeof a.next=="function")return a;if(!isNaN(a.length))return{next:function(){return a&&u>=a.length&&(a=void 0),{value:a&&a[u++],done:!a}}}}throw new TypeError(i(a)+" is not iterable")}e.exports=o,e.exports.__esModule=!0,e.exports.default=e.exports})(regeneratorValues);var regeneratorValuesExports=regeneratorValues.exports;(function(e){var i=OverloadYieldExports,o=regeneratorExports,a=regeneratorAsyncExports,s=regeneratorAsyncGenExports,u=regeneratorAsyncIteratorExports,c=regeneratorKeysExports,d=regeneratorValuesExports;function _(){var b=o(),j=b.m(_),_e=(Object.getPrototypeOf?Object.getPrototypeOf(j):j.__proto__).constructor;function et(gt){var vt=typeof gt=="function"&>.constructor;return!!vt&&(vt===_e||(vt.displayName||vt.name)==="GeneratorFunction")}var at={throw:1,return:2,break:3,continue:3};function ot(gt){var vt,ft;return function(nt){vt||(vt={stop:function(){return ft(nt.a,2)},catch:function(){return nt.v},abrupt:function($,tt){return ft(nt.a,at[$],tt)},delegateYield:function($,tt,ct){return vt.resultName=tt,ft(nt.d,d($),ct)},finish:function($){return ft(nt.f,$)}},ft=function($,tt,ct){nt.p=vt.prev,nt.n=vt.next;try{return $(tt,ct)}finally{vt.next=nt.n}}),vt.resultName&&(vt[vt.resultName]=nt.v,vt.resultName=void 0),vt.sent=nt.v,vt.next=nt.n;try{return gt.call(this,vt)}finally{nt.p=vt.prev,nt.n=vt.next}}}return(e.exports=_=function(){return{wrap:function(ft,nt,ut,$){return b.w(ot(ft),nt,ut,$&&$.reverse())},isGeneratorFunction:et,mark:b.m,awrap:function(ft,nt){return new i(ft,nt)},AsyncIterator:u,async:function(ft,nt,ut,$,tt){return(et(nt)?s:a)(ot(ft),nt,ut,$,tt)},keys:c,values:d}},e.exports.__esModule=!0,e.exports.default=e.exports)()}e.exports=_,e.exports.__esModule=!0,e.exports.default=e.exports})(regeneratorRuntime);var regeneratorRuntimeExports=regeneratorRuntime.exports,asyncToGenerator={exports:{}};(function(e){function i(a,s,u,c,d,_,b){try{var j=a[_](b),_e=j.value}catch(et){return void u(et)}j.done?s(_e):Promise.resolve(_e).then(c,d)}function o(a){return function(){var s=this,u=arguments;return new Promise(function(c,d){var _=a.apply(s,u);function b(_e){i(_,c,d,b,j,"next",_e)}function j(_e){i(_,c,d,b,j,"throw",_e)}b(void 0)})}}e.exports=o,e.exports.__esModule=!0,e.exports.default=e.exports})(asyncToGenerator);var asyncToGeneratorExports=asyncToGenerator.exports,_interopRequireWildcard$c=interopRequireWildcardExports.default,_interopRequireDefault$h=interopRequireDefaultExports.default;Object.defineProperty(render$1,"__esModule",{value:!0});render$1._r=_r;render$1._u=_u;render$1.render=render;render$1.unmount=unmount;var _regeneratorRuntime2=_interopRequireDefault$h(regeneratorRuntimeExports),_asyncToGenerator2=_interopRequireDefault$h(asyncToGeneratorExports),_typeof2$3=_interopRequireDefault$h(_typeofExports),_objectSpread2$7=_interopRequireDefault$h(objectSpread2Exports),ReactDOM=_interopRequireWildcard$c(reactDomExports),fullClone=(0,_objectSpread2$7.default)({},ReactDOM),version=fullClone.version,reactRender=fullClone.render,unmountComponentAtNode=fullClone.unmountComponentAtNode,createRoot;try{var mainVersion=Number((version||"").split(".")[0]);mainVersion>=18&&(createRoot=fullClone.createRoot)}catch(e){}function toggleWarning(e){var i=fullClone.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;i&&(0,_typeof2$3.default)(i)==="object"&&(i.usingClientEntryPoint=e)}var MARK="__rc_react_root__";function modernRender(e,i){toggleWarning(!0);var o=i[MARK]||createRoot(i);toggleWarning(!1),o.render(e),i[MARK]=o}function legacyRender(e,i){reactRender==null||reactRender(e,i)}function _r(e,i){}function render(e,i){if(createRoot){modernRender(e,i);return}legacyRender(e,i)}function modernUnmount(e){return _modernUnmount.apply(this,arguments)}function _modernUnmount(){return _modernUnmount=(0,_asyncToGenerator2.default)((0,_regeneratorRuntime2.default)().mark(function e(i){return(0,_regeneratorRuntime2.default)().wrap(function(a){for(;;)switch(a.prev=a.next){case 0:return a.abrupt("return",Promise.resolve().then(function(){var s;(s=i[MARK])===null||s===void 0||s.unmount(),delete i[MARK]}));case 1:case"end":return a.stop()}},e)})),_modernUnmount.apply(this,arguments)}function legacyUnmount(e){unmountComponentAtNode(e)}function _u(e){}function unmount(e){return _unmount.apply(this,arguments)}function _unmount(){return _unmount=(0,_asyncToGenerator2.default)((0,_regeneratorRuntime2.default)().mark(function e(i){return(0,_regeneratorRuntime2.default)().wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if(createRoot===void 0){a.next=2;break}return a.abrupt("return",modernUnmount(i));case 2:legacyUnmount(i);case 3:case"end":return a.stop()}},e)})),_unmount.apply(this,arguments)}var configProvider={},useMemo$1={},_interopRequireWildcard$b=interopRequireWildcardExports.default;Object.defineProperty(useMemo$1,"__esModule",{value:!0});useMemo$1.default=useMemo;var React$b=_interopRequireWildcard$b(reactExports);function useMemo(e,i,o){var a=React$b.useRef({});return(!("value"in a.current)||o(a.current.condition,i))&&(a.current.value=e(),a.current.condition=i),a.current.value}var set$1={},toArray$2={exports:{}};(function(e){var i=arrayWithHolesExports,o=iterableToArrayExports,a=unsupportedIterableToArrayExports,s=nonIterableRestExports;function u(c){return i(c)||o(c)||a(c)||s()}e.exports=u,e.exports.__esModule=!0,e.exports.default=e.exports})(toArray$2);var toArrayExports=toArray$2.exports,get$1={};Object.defineProperty(get$1,"__esModule",{value:!0});get$1.default=get;function get(e,i){for(var o=e,a=0;a3&&arguments[3]!==void 0?arguments[3]:!1;return i.length&&a&&o===void 0&&!(0,_get.default)(e,i.slice(0,-1))?e:internalSet(e,i,o,a)}function isObject(e){return(0,_typeof2$2.default)(e)==="object"&&e!==null&&Object.getPrototypeOf(e)===Object.prototype}function createEmpty(e){return Array.isArray(e)?[]:{}}var keys=typeof Reflect>"u"?Object.keys:Reflect.ownKeys;function merge(){for(var e=arguments.length,i=new Array(e),o=0;o1&&arguments[1]!==void 0?arguments[1]:ut,Ot=arguments.length>2&&arguments[2]!==void 0?arguments[2]:$,It;switch(Tt){case"top":It={left:"50%",transform:"translateX(-50%)",right:"auto",top:Et,bottom:"auto"};break;case"topLeft":It={left:0,top:Et,bottom:"auto"};break;case"topRight":It={right:0,top:Et,bottom:"auto"};break;case"bottom":It={left:"50%",transform:"translateX(-50%)",right:"auto",top:"auto",bottom:Ot};break;case"bottomLeft":It={left:0,top:"auto",bottom:Ot};break;default:It={right:0,top:"auto",bottom:Ot};break}return It}function st(Tt,Et){var Ot=Tt.placement,It=Ot===void 0?ct:Ot,qt=Tt.top,jt=Tt.bottom,At=Tt.getContainer,Wt=At===void 0?dt:At,Yt=Tt.prefixCls,Vt=(0,ot.globalConfig)(),Bt=Vt.getPrefixCls,zt=Vt.getIconPrefixCls,Qt=Bt("notification",Yt||tt),tr=zt(),Jt="".concat(Qt,"-").concat(It),ir=ft[Jt];if(ir){Promise.resolve(ir).then(function(Xt){Et({prefixCls:"".concat(Qt,"-notice"),iconPrefixCls:tr,instance:Xt})});return}var Kt=(0,_e.default)("".concat(Qt,"-").concat(It),(0,u.default)({},"".concat(Qt,"-rtl"),lt===!0));ft[Jt]=new Promise(function(Xt){et.default.newInstance({prefixCls:Qt,className:Kt,style:yt(It,qt,jt),getContainer:Wt,maxCount:mt},function(Ut){Xt(Ut),Et({prefixCls:"".concat(Qt,"-notice"),iconPrefixCls:tr,instance:Ut})})})}var bt={success:c.default,info:j.default,error:d.default,warning:b.default};function Rt(Tt,Et,Ot){var It=Tt.duration,qt=Tt.icon,jt=Tt.type,At=Tt.description,Wt=Tt.message,Yt=Tt.btn,Vt=Tt.onClose,Bt=Tt.onClick,zt=Tt.key,Qt=Tt.style,tr=Tt.className,Jt=Tt.closeIcon,ir=Jt===void 0?rt:Jt,Kt=Tt.props,Xt=It===void 0?nt:It,Ut=null;qt?Ut=at.createElement("span",{className:"".concat(Et,"-icon")},Tt.icon):jt&&(Ut=at.createElement(bt[jt]||null,{className:"".concat(Et,"-icon ").concat(Et,"-icon-").concat(jt)}));var rr=typeof ir>"u"?at.createElement("span",{className:"".concat(Et,"-close-x")},at.createElement(_.default,{className:"".concat(Et,"-close-icon")})):ir,or=!At&&Ut?at.createElement("span",{className:"".concat(Et,"-message-single-line-auto-margin")}):null;return{content:at.createElement(ot.default,{iconPrefixCls:Ot},at.createElement("div",{className:Ut?"".concat(Et,"-with-icon"):"",role:"alert"},Ut,at.createElement("div",{className:"".concat(Et,"-message")},or,Wt),at.createElement("div",{className:"".concat(Et,"-description")},At),Yt?at.createElement("span",{className:"".concat(Et,"-btn")},Yt):null)),duration:Xt,closable:!0,closeIcon:rr,onClose:Vt,onClick:Bt,key:zt,style:Qt||{},className:(0,_e.default)(tr,(0,u.default)({},"".concat(Et,"-").concat(jt),!!jt)),props:Kt}}function Mt(Tt){st(Tt,function(Et){var Ot=Et.prefixCls,It=Et.iconPrefixCls,qt=Et.instance;qt.notice(Rt(Tt,Ot,It))})}var Dt={open:Mt,close:function(Et){Object.keys(ft).forEach(function(Ot){return Promise.resolve(ft[Ot]).then(function(It){It.removeNotice(Et)})})},config:ht,destroy:function(){Object.keys(ft).forEach(function(Et){Promise.resolve(ft[Et]).then(function(Ot){Ot.destroy()}),delete ft[Et]})}};["success","info","warning","error"].forEach(function(Tt){Dt[Tt]=function(Et){return Dt.open((0,s.default)((0,s.default)({},Et),{type:Tt}))}}),Dt.warn=Dt.warning,Dt.useNotification=(0,gt.default)(st,Rt),e.getInstance=function(Et){return vt(void 0,void 0,void 0,(0,a.default)().mark(function Ot(){return(0,a.default)().wrap(function(qt){for(;;)switch(qt.prev=qt.next){case 0:return qt.abrupt("return",null);case 1:case"end":return qt.stop()}},Ot)}))},e.default=Dt}(notification)),notification}var context$1={},_interopRequireWildcard$3=interopRequireWildcardExports.default,_interopRequireDefault$7=interopRequireDefaultExports.default;Object.defineProperty(context$1,"__esModule",{value:!0});context$1.ConfigContext=context$1.ConfigConsumer=void 0;context$1.withConfigConsumer=withConfigConsumer;var _extends2$1=_interopRequireDefault$7(_extendsExports),React$3=_interopRequireWildcard$3(reactExports),defaultGetPrefixCls=function e(i,o){return o||(i?"ant-".concat(i):"ant")},ConfigContext=context$1.ConfigContext=React$3.createContext({getPrefixCls:defaultGetPrefixCls}),ConfigConsumer=context$1.ConfigConsumer=ConfigContext.Consumer;function withConfigConsumer(e){return function(o){var a=function(c){return React$3.createElement(ConfigConsumer,null,function(d){var _=e.prefixCls,b=d.getPrefixCls,j=c.prefixCls,_e=b(_,j);return React$3.createElement(o,(0,_extends2$1.default)({},d,c,{prefixCls:_e}))})},s=o.constructor;return s&&s.displayName||o.name,a}}var cssVariables={};const require$$2$1=getAugmentedNamespace(public_api);var _interopRequireDefault$6=interopRequireDefaultExports.default;Object.defineProperty(cssVariables,"__esModule",{value:!0});cssVariables.getStyle=getStyle;cssVariables.registerTheme=registerTheme;var _colors=require$$1,_tinycolor=require$$2$1,_canUseDom$1=_interopRequireDefault$6(canUseDom$1),_dynamicCSS=dynamicCSS;_interopRequireDefault$6(warning);var dynamicStyleMark="-ant-".concat(Date.now(),"-").concat(Math.random());function getStyle(e,i){var o={},a=function(j,_e){var et=j.clone();return et=(_e==null?void 0:_e(et))||et,et.toRgbString()},s=function(j,_e){var et=new _tinycolor.TinyColor(j),at=(0,_colors.generate)(et.toRgbString());o["".concat(_e,"-color")]=a(et),o["".concat(_e,"-color-disabled")]=at[1],o["".concat(_e,"-color-hover")]=at[4],o["".concat(_e,"-color-active")]=at[6],o["".concat(_e,"-color-outline")]=et.clone().setAlpha(.2).toRgbString(),o["".concat(_e,"-color-deprecated-bg")]=at[0],o["".concat(_e,"-color-deprecated-border")]=at[2]};if(i.primaryColor){s(i.primaryColor,"primary");var u=new _tinycolor.TinyColor(i.primaryColor),c=(0,_colors.generate)(u.toRgbString());c.forEach(function(b,j){o["primary-".concat(j+1)]=b}),o["primary-color-deprecated-l-35"]=a(u,function(b){return b.lighten(35)}),o["primary-color-deprecated-l-20"]=a(u,function(b){return b.lighten(20)}),o["primary-color-deprecated-t-20"]=a(u,function(b){return b.tint(20)}),o["primary-color-deprecated-t-50"]=a(u,function(b){return b.tint(50)}),o["primary-color-deprecated-f-12"]=a(u,function(b){return b.setAlpha(b.getAlpha()*.12)});var d=new _tinycolor.TinyColor(c[0]);o["primary-color-active-deprecated-f-30"]=a(d,function(b){return b.setAlpha(b.getAlpha()*.3)}),o["primary-color-active-deprecated-d-02"]=a(d,function(b){return b.darken(2)})}i.successColor&&s(i.successColor,"success"),i.warningColor&&s(i.warningColor,"warning"),i.errorColor&&s(i.errorColor,"error"),i.infoColor&&s(i.infoColor,"info");var _=Object.keys(o).map(function(b){return"--".concat(e,"-").concat(b,": ").concat(o[b],";")});return` + :root { + `.concat(_.join(` +`),` + } + `).trim()}function registerTheme(e,i){var o=getStyle(e,i);(0,_canUseDom$1.default)()&&(0,_dynamicCSS.updateCSS)(o,"".concat(dynamicStyleMark,"-dynamic-theme"))}var DisabledContext={};(function(e){var i=interopRequireWildcardExports.default;Object.defineProperty(e,"__esModule",{value:!0}),e.default=e.DisabledContextProvider=void 0;var o=i(reactExports),a=o.createContext(!1);e.DisabledContextProvider=function(u){var c=u.children,d=u.disabled,_=o.useContext(a);return o.createElement(a.Provider,{value:d??_},c)},e.default=a})(DisabledContext);var SizeContext={};(function(e){var i=interopRequireWildcardExports.default;Object.defineProperty(e,"__esModule",{value:!0}),e.default=e.SizeContextProvider=void 0;var o=i(reactExports),a=o.createContext(void 0);e.SizeContextProvider=function(u){var c=u.children,d=u.size;return o.createElement(a.Consumer,null,function(_){return o.createElement(a.Provider,{value:d||_},c)})},e.default=a})(SizeContext);var hasRequiredConfigProvider;function requireConfigProvider(){return hasRequiredConfigProvider||(hasRequiredConfigProvider=1,function(e){var i=interopRequireWildcardExports.default,o=interopRequireDefaultExports.default;Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"ConfigConsumer",{enumerable:!0,get:function(){return ot.ConfigConsumer}}),Object.defineProperty(e,"ConfigContext",{enumerable:!0,get:function(){return ot.ConfigContext}}),e.globalConfig=e.defaultPrefixCls=e.defaultIconPrefixCls=e.default=e.configConsumerProps=void 0;var a=o(_extendsExports),s=o(Context),u=o(useMemo$1),c=i(reactExports),d=set$1,_=o(validateMessagesContext),b=i(localeProvider),j=o(LocaleReceiver),_e=o(_default$4),et=o(requireMessage()),at=o(requireNotification()),ot=context$1,gt=cssVariables,vt=DisabledContext,ft=i(SizeContext);e.configConsumerProps=["getTargetContainer","getPopupContainer","rootPrefixCls","getPrefixCls","renderEmpty","csp","autoInsertSpaceInButton","locale","pageHeader"];var nt=["getTargetContainer","getPopupContainer","renderEmpty","pageHeader","input","pagination","form"],ut=e.defaultPrefixCls="ant",$=e.defaultIconPrefixCls="anticon",tt,ct;function dt(){return tt||ut}function rt(){return ct||$}var lt=function(st){var bt=st.prefixCls,Rt=st.iconPrefixCls,Mt=st.theme;bt!==void 0&&(tt=bt),Rt!==void 0&&(ct=Rt),Mt&&(0,gt.registerTheme)(dt(),Mt)};e.globalConfig=function(){return{getPrefixCls:function(bt,Rt){return Rt||(bt?"".concat(dt(),"-").concat(bt):dt())},getIconPrefixCls:rt,getRootPrefixCls:function(bt,Rt){return bt||tt||(Rt&&Rt.includes("-")?Rt.replace(/^(.*)-[^-]*$/,"$1"):dt())}}};var mt=function(st){var bt=st.children,Rt=st.csp,Mt=st.autoInsertSpaceInButton,Dt=st.form,Tt=st.locale,Et=st.componentSize,Ot=st.direction,It=st.space,qt=st.virtual,jt=st.dropdownMatchSelectWidth,At=st.legacyLocale,Wt=st.parentContext,Yt=st.iconPrefixCls,Vt=st.componentDisabled,Bt=c.useCallback(function(Kt,Xt){var Ut=st.prefixCls;if(Xt)return Xt;var rr=Ut||Wt.getPrefixCls("");return Kt?"".concat(rr,"-").concat(Kt):rr},[Wt.getPrefixCls,st.prefixCls]),zt=(0,a.default)((0,a.default)({},Wt),{csp:Rt,autoInsertSpaceInButton:Mt,locale:Tt||At,direction:Ot,space:It,virtual:qt,dropdownMatchSelectWidth:jt,getPrefixCls:Bt});nt.forEach(function(Kt){var Xt=st[Kt];Xt&&(zt[Kt]=Xt)});var Qt=(0,u.default)(function(){return zt},zt,function(Kt,Xt){var Ut=Object.keys(Kt),rr=Object.keys(Xt);return Ut.length!==rr.length||Ut.some(function(or){return Kt[or]!==Xt[or]})}),tr=c.useMemo(function(){return{prefixCls:Yt,csp:Rt}},[Yt,Rt]),Jt=bt,ir=c.useMemo(function(){var Kt,Xt,Ut,rr;return(0,d.merge)(((Kt=_e.default.Form)===null||Kt===void 0?void 0:Kt.defaultValidateMessages)||{},((Ut=(Xt=Qt.locale)===null||Xt===void 0?void 0:Xt.Form)===null||Ut===void 0?void 0:Ut.defaultValidateMessages)||{},((rr=Qt.form)===null||rr===void 0?void 0:rr.validateMessages)||{},(Dt==null?void 0:Dt.validateMessages)||{})},[Qt,Dt==null?void 0:Dt.validateMessages]);return Object.keys(ir).length>0&&(Jt=c.createElement(_.default.Provider,{value:ir},bt)),Tt&&(Jt=c.createElement(b.default,{locale:Tt,_ANT_MARK__:b.ANT_MARK},Jt)),(Yt||Rt)&&(Jt=c.createElement(s.default.Provider,{value:tr},Jt)),Et&&(Jt=c.createElement(ft.SizeContextProvider,{size:Et},Jt)),Vt!==void 0&&(Jt=c.createElement(vt.DisabledContextProvider,{disabled:Vt},Jt)),c.createElement(ot.ConfigContext.Provider,{value:Qt},Jt)},ht=function(st){return c.useEffect(function(){st.direction&&(et.default.config({rtl:st.direction==="rtl"}),at.default.config({rtl:st.direction==="rtl"}))},[st.direction]),c.createElement(j.default,null,function(bt,Rt,Mt){return c.createElement(ot.ConfigConsumer,null,function(Dt){return c.createElement(mt,(0,a.default)({parentContext:Dt,legacyLocale:Mt},st))})})};ht.ConfigContext=ot.ConfigContext,ht.SizeContext=ft.default,ht.config=lt,e.default=ht}(configProvider)),configProvider}var ConfirmDialog={},ActionButton={},useState={},_interopRequireWildcard$2=interopRequireWildcardExports.default,_interopRequireDefault$5=interopRequireDefaultExports.default;Object.defineProperty(useState,"__esModule",{value:!0});useState.default=useSafeState;var _slicedToArray2=_interopRequireDefault$5(slicedToArrayExports),React$2=_interopRequireWildcard$2(reactExports);function useSafeState(e){var i=React$2.useRef(!1),o=React$2.useState(e),a=(0,_slicedToArray2.default)(o,2),s=a[0],u=a[1];React$2.useEffect(function(){return i.current=!1,function(){i.current=!0}},[]);function c(d,_){_&&i.current||u(d)}return[s,c]}var button$1={},button={},omit$1={};Object.defineProperty(omit$1,"__esModule",{value:!0});omit$1.default=omit;function omit(e,i){var o=Object.assign({},e);return Array.isArray(i)&&i.forEach(function(a){delete o[a]}),o}var Compact={},toArray$1={},isFragment$2={},_interopRequireDefault$4=interopRequireDefaultExports.default;Object.defineProperty(isFragment$2,"__esModule",{value:!0});isFragment$2.default=isFragment$1;var _typeof2$1=_interopRequireDefault$4(_typeofExports),REACT_ELEMENT_TYPE_18=Symbol.for("react.element"),REACT_ELEMENT_TYPE_19=Symbol.for("react.transitional.element"),REACT_FRAGMENT_TYPE=Symbol.for("react.fragment");function isFragment$1(e){return e&&(0,_typeof2$1.default)(e)==="object"&&(e.$$typeof===REACT_ELEMENT_TYPE_18||e.$$typeof===REACT_ELEMENT_TYPE_19)&&e.type===REACT_FRAGMENT_TYPE}var _interopRequireDefault$3=interopRequireDefaultExports.default;Object.defineProperty(toArray$1,"__esModule",{value:!0});toArray$1.default=toArray;var _isFragment$1=_interopRequireDefault$3(isFragment$2),_react$2=_interopRequireDefault$3(reactExports);function toArray(e){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=[];return _react$2.default.Children.forEach(e,function(a){a==null&&!i.keepEmpty||(Array.isArray(a)?o=o.concat(toArray(a)):(0,_isFragment$1.default)(a)&&a.props?o=o.concat(toArray(a.props.children,i)):o.push(a))}),o}(function(e){var i=interopRequireWildcardExports.default,o=interopRequireDefaultExports.default;Object.defineProperty(e,"__esModule",{value:!0}),e.useCompactItemContext=e.default=e.SpaceCompactItemContext=e.NoCompactStyle=void 0;var a=o(_extendsExports),s=o(definePropertyExports),u=o(classnamesExports),c=o(toArray$1),d=i(reactExports),_=requireConfigProvider(),b=function(at,ot){var gt={};for(var vt in at)Object.prototype.hasOwnProperty.call(at,vt)&&ot.indexOf(vt)<0&&(gt[vt]=at[vt]);if(at!=null&&typeof Object.getOwnPropertySymbols=="function")for(var ft=0,vt=Object.getOwnPropertySymbols(at);ft=19)return!0;var s=(0,_reactIs.isMemo)(i)?i.type.type:i.type;return!(typeof s=="function"&&!((o=s.prototype)!==null&&o!==void 0&&o.render)&&s.$$typeof!==_reactIs.ForwardRef||typeof i=="function"&&!((a=i.prototype)!==null&&a!==void 0&&a.render)&&i.$$typeof!==_reactIs.ForwardRef)};function isReactElement(e){return(0,_react$1.isValidElement)(e)&&!(0,_isFragment.default)(e)}ref.supportNodeRef=function e(i){return isReactElement(i)&&supportRef(i)};ref.getNodeRef=function e(i){if(i&&isReactElement(i)){var o=i;return o.props.propertyIsEnumerable("ref")?o.props.ref:o.ref}return null};var raf$2={},raf$1={};Object.defineProperty(raf$1,"__esModule",{value:!0});raf$1.default=void 0;var raf=function e(i){return+setTimeout(i,16)},caf=function e(i){return clearTimeout(i)};typeof window<"u"&&"requestAnimationFrame"in window&&(raf=function(i){return window.requestAnimationFrame(i)},caf=function(i){return window.cancelAnimationFrame(i)});var rafUUID=0,rafIds=new Map;function cleanup(e){rafIds.delete(e)}var wrapperRaf=function e(i){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;rafUUID+=1;var a=rafUUID;function s(u){if(u===0)cleanup(a),i();else{var c=raf(function(){s(u-1)});rafIds.set(a,c)}}return s(o),a};wrapperRaf.cancel=function(e){var i=rafIds.get(e);return cleanup(e),caf(i)};raf$1.default=wrapperRaf;(function(e){var i=interopRequireDefaultExports.default;Object.defineProperty(e,"__esModule",{value:!0}),e.default=u;var o=i(raf$1),a=0,s={};function u(c){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,_=a++,b=d;function j(){b-=1,b<=0?(c(),delete s[_]):s[_]=(0,o.default)(j)}return s[_]=(0,o.default)(j),_}u.cancel=function(d){d!==void 0&&(o.default.cancel(s[d]),delete s[d])},u.ids=s})(raf$2);(function(e){var i=interopRequireWildcardExports.default,o=interopRequireDefaultExports.default;Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var a=o(requireClassCallCheck()),s=o(requireCreateClass()),u=o(requirePossibleConstructorReturn()),c=o(isNativeReflectConstructExports),d=o(requireGetPrototypeOf()),_=o(requireAssertThisInitialized()),b=o(requireInherits()),j=dynamicCSS,_e=ref,et=i(reactExports),at=requireConfigProvider(),ot=o(raf$2),gt=reactNode;function vt(ct,dt,rt){return dt=(0,d.default)(dt),(0,u.default)(ct,(0,c.default)()?Reflect.construct(dt,rt||[],(0,d.default)(ct).constructor):dt.apply(ct,rt))}var ft;function nt(ct){return!ct||ct.offsetParent===null||ct.hidden}function ut(ct){return ct instanceof Document?ct.body:Array.from(ct.childNodes).find(function(dt){return(dt==null?void 0:dt.nodeType)===Node.ELEMENT_NODE})}function $(ct){var dt=(ct||"").match(/rgba?\((\d*), (\d*), (\d*)(, [\d.]*)?\)/);return dt&&dt[1]&&dt[2]&&dt[3]?!(dt[1]===dt[2]&&dt[2]===dt[3]):!0}var tt=function(ct){(0,b.default)(dt,ct);function dt(){var rt;return(0,a.default)(this,dt),rt=vt(this,dt,arguments),rt.containerRef=et.createRef(),rt.animationStart=!1,rt.destroyed=!1,rt.onClick=function(lt,mt){var ht,yt,st=rt.props,bt=st.insertExtraNode,Rt=st.disabled;if(!(Rt||!lt||nt(lt)||lt.className.includes("-leave"))){rt.extraNode=document.createElement("div");var Mt=(0,_.default)(rt),Dt=Mt.extraNode,Tt=rt.context.getPrefixCls;Dt.className="".concat(Tt(""),"-click-animating-node");var Et=rt.getAttributeName();if(lt.setAttribute(Et,"true"),mt&&mt!=="#fff"&&mt!=="#ffffff"&&mt!=="rgb(255, 255, 255)"&&mt!=="rgba(255, 255, 255, 1)"&&$(mt)&&!/rgba\((?:\d*, ){3}0\)/.test(mt)&&mt!=="transparent"){Dt.style.borderColor=mt;var Ot=((ht=lt.getRootNode)===null||ht===void 0?void 0:ht.call(lt))||lt.ownerDocument,It=(yt=ut(Ot))!==null&&yt!==void 0?yt:Ot;ft=(0,j.updateCSS)(` + [`.concat(Tt(""),"-click-animating-without-extra-node='true']::after, .").concat(Tt(""),`-click-animating-node { + --antd-wave-shadow-color: `).concat(mt,`; + }`),"antd-wave",{csp:rt.csp,attachTo:It})}bt&<.appendChild(Dt),["transition","animation"].forEach(function(qt){lt.addEventListener("".concat(qt,"start"),rt.onTransitionStart),lt.addEventListener("".concat(qt,"end"),rt.onTransitionEnd)})}},rt.onTransitionStart=function(lt){if(!rt.destroyed){var mt=rt.containerRef.current;!lt||lt.target!==mt||rt.animationStart||rt.resetEffect(mt)}},rt.onTransitionEnd=function(lt){!lt||lt.animationName!=="fadeEffect"||rt.resetEffect(lt.target)},rt.bindAnimationEvent=function(lt){if(!(!lt||!lt.getAttribute||lt.getAttribute("disabled")||lt.className.includes("disabled"))){var mt=function(yt){if(!(yt.target.tagName==="INPUT"||nt(yt.target))){rt.resetEffect(lt);var st=getComputedStyle(lt).getPropertyValue("border-top-color")||getComputedStyle(lt).getPropertyValue("border-color")||getComputedStyle(lt).getPropertyValue("background-color");rt.clickWaveTimeoutId=window.setTimeout(function(){return rt.onClick(lt,st)},0),ot.default.cancel(rt.animationStartId),rt.animationStart=!0,rt.animationStartId=(0,ot.default)(function(){rt.animationStart=!1},10)}};return lt.addEventListener("click",mt,!0),{cancel:function(){lt.removeEventListener("click",mt,!0)}}}},rt.renderWave=function(lt){var mt=lt.csp,ht=rt.props.children;if(rt.csp=mt,!et.isValidElement(ht))return ht;var yt=rt.containerRef;return(0,_e.supportRef)(ht)&&(yt=(0,_e.composeRef)(ht.ref,rt.containerRef)),(0,gt.cloneElement)(ht,{ref:yt})},rt}return(0,s.default)(dt,[{key:"componentDidMount",value:function(){this.destroyed=!1;var lt=this.containerRef.current;!lt||lt.nodeType!==1||(this.instance=this.bindAnimationEvent(lt))}},{key:"componentWillUnmount",value:function(){this.instance&&this.instance.cancel(),this.clickWaveTimeoutId&&clearTimeout(this.clickWaveTimeoutId),this.destroyed=!0}},{key:"getAttributeName",value:function(){var lt=this.context.getPrefixCls,mt=this.props.insertExtraNode;return mt?"".concat(lt(""),"-click-animating"):"".concat(lt(""),"-click-animating-without-extra-node")}},{key:"resetEffect",value:function(lt){var mt=this;if(!(!lt||lt===this.extraNode||!(lt instanceof Element))){var ht=this.props.insertExtraNode,yt=this.getAttributeName();lt.setAttribute(yt,"false"),ft&&(ft.innerHTML=""),ht&&this.extraNode&<.contains(this.extraNode)&<.removeChild(this.extraNode),["transition","animation"].forEach(function(st){lt.removeEventListener("".concat(st,"start"),mt.onTransitionStart),lt.removeEventListener("".concat(st,"end"),mt.onTransitionEnd)})}}},{key:"render",value:function(){return et.createElement(at.ConfigConsumer,null,this.renderWave)}}]),dt}(et.Component);tt.contextType=at.ConfigContext,e.default=tt})(wave);var buttonGroup={};(function(e){var i=interopRequireWildcardExports.default,o=interopRequireDefaultExports.default;Object.defineProperty(e,"__esModule",{value:!0}),e.default=e.GroupSizeContext=void 0;var a=o(_extendsExports),s=o(definePropertyExports),u=o(classnamesExports),c=i(reactExports),d=requireConfigProvider();o(warning);var _=function(_e,et){var at={};for(var ot in _e)Object.prototype.hasOwnProperty.call(_e,ot)&&et.indexOf(ot)<0&&(at[ot]=_e[ot]);if(_e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var gt=0,ot=Object.getOwnPropertySymbols(_e);gt{document.fonts.ready.then(()=>{u(document.fonts.check("40px Emmentaler-26"))})},[]);const c=Object.keys(l);return e.jsxs("div",{className:"font-test-page",children:[e.jsxs("div",{className:"font-test-header",children:[e.jsx("h1",{children:"Emmentaler-26 Font Glyphs"}),e.jsxs("div",{className:"font-test-status",children:["Font status: ",e.jsx("span",{className:o?"loaded":"not-loaded",children:o?"Loaded":"Not loaded"}),e.jsxs("span",{className:"glyph-count",children:[Object.values(l).reduce((s,n)=>s+n.length,0)," glyphs"]})]}),e.jsxs("div",{className:"font-test-controls",children:[e.jsx("input",{type:"text",placeholder:"Filter glyphs...",value:E,onChange:s=>h(s.target.value)}),e.jsxs("label",{children:["Size:",e.jsx("input",{type:"range",min:20,max:80,value:r,onChange:s=>m(Number(s.target.value))}),r,"px"]})]}),e.jsx("div",{className:"font-test-toc",children:c.map(s=>e.jsxs("a",{href:`#cat-${s}`,children:[i[s]||s," (",l[s].length,")"]},s))})]}),c.map(s=>{const n=l[s].filter(([a,t])=>!E||a.toLowerCase().includes(E.toLowerCase())||t.toLowerCase().includes(E.toLowerCase()));return n.length===0?null:e.jsxs("div",{id:`cat-${s}`,className:"font-test-category",children:[e.jsxs("h2",{children:[i[s]||s," ",e.jsxs("span",{children:["(",n.length,")"]})]}),e.jsx("div",{className:"glyph-grid",children:n.map(([a,t])=>e.jsxs("div",{className:"glyph-cell",title:a,children:[e.jsx("div",{className:"glyph-render",style:{fontSize:r},children:e.jsx("i",{className:`emmentaler glyph-${a}`})}),e.jsx("div",{className:"glyph-unicode",style:{fontSize:r},children:String.fromCodePoint(parseInt(t,16))}),e.jsx("div",{className:"glyph-name",children:a}),e.jsxs("div",{className:"glyph-code",children:["U+",t]})]},`${a}-${t}`))})]},s)})]})}export{f as default}; diff --git a/dist/assets/font-f4923eb1.css b/dist/assets/font-f4923eb1.css new file mode 100644 index 0000000000000000000000000000000000000000..8ecce58e78dd997b129d8c401850088f143d70a9 --- /dev/null +++ b/dist/assets/font-f4923eb1.css @@ -0,0 +1 @@ +@font-face{font-family:Emmentaler-26;font-weight:400;font-style:normal;src:url(/fonts/emmentaler-26.woff2) format("woff2"),url(/fonts/emmentaler-26.woff) format("woff"),url(/fonts/emmentaler-26.otf) format("opentype")}@font-face{font-family:Emmentaler-26;font-weight:400;font-style:normal;src:url(/fonts/emmentaler-26.woff2) format("woff2"),url(/fonts/emmentaler-26.woff) format("woff"),url(/fonts/emmentaler-26.otf) format("opentype")}i.emmentaler{font-family:Emmentaler-26;font-style:normal;line-height:100%}i.emmentaler.normalized{display:inline-block;transform:translateY(-30%)}i.emmentaler.normalized.glyph-clefs-C,i.emmentaler.normalized.glyph-clefs-F,i.emmentaler.normalized.glyph-clefs-G{font-size:60%}i.emmentaler.normalized.glyph-clefs-F{transform:translateY(-60%)}i.emmentaler.normalized.glyph-pedal-Ped,i.emmentaler.normalized.glyph-pedal-star,i.emmentaler.normalized.glyph-f,i.emmentaler.normalized.glyph-m,i.emmentaler.normalized.glyph-p,i.emmentaler.normalized.glyph-r,i.emmentaler.normalized.glyph-s,i.emmentaler.normalized.glyph-z,i.emmentaler.normalized.glyph-scripts-trill,i.emmentaler.normalized.glyph-zero,i.emmentaler.normalized.glyph-one,i.emmentaler.normalized.glyph-two,i.emmentaler.normalized.glyph-three,i.emmentaler.normalized.glyph-four,i.emmentaler.normalized.glyph-five,i.emmentaler.normalized.glyph-six,i.emmentaler.normalized.glyph-seven,i.emmentaler.normalized.glyph-eight,i.emmentaler.normalized.glyph-nine{transform:translateY(-10%)}i.emmentaler.normalized.glyph-flags-u3,i.emmentaler.normalized.glyph-flags-u4,i.emmentaler.normalized.glyph-flags-u5,i.emmentaler.normalized.glyph-flags-u6,i.emmentaler.normalized.glyph-flags-u7{transform:translateY(-70%)}i.emmentaler.normalized.glyph-scripts-segno,i.emmentaler.normalized.glyph-scripts-coda,i.emmentaler.normalized.glyph-scripts-sforzato,i.emmentaler.normalized.glyph-scripts-turn,i.emmentaler.normalized.glyph-scripts-prall,i.emmentaler.normalized.glyph-scripts-mordent,i.emmentaler.normalized.glyph-scripts-ufermata,i.emmentaler.normalized.glyph-scripts-ushortfermata{transform:translate(50%,-30%)}i.emmentaler.normalized.glyph-scripts-trill{transform:translate(0)}i.emmentaler.normalized.glyph-accidentals-flat,i.emmentaler.normalized.glyph-accidentals-flatflat{transform:translateY(-10%)}i.emmentaler.glyph-rests-0:before{content:""}i.emmentaler.glyph-rests-1:before{content:""}i.emmentaler.glyph-rests-0o:before{content:""}i.emmentaler.glyph-rests-1o:before{content:""}i.emmentaler.glyph-rests-M3:before{content:""}i.emmentaler.glyph-rests-M2:before{content:""}i.emmentaler.glyph-rests-M1:before{content:""}i.emmentaler.glyph-rests-M1o:before{content:""}i.emmentaler.glyph-rests-2:before{content:""}i.emmentaler.glyph-rests-2classical:before{content:""}i.emmentaler.glyph-rests-2z:before{content:""}i.emmentaler.glyph-rests-3:before{content:""}i.emmentaler.glyph-rests-4:before{content:""}i.emmentaler.glyph-rests-5:before{content:""}i.emmentaler.glyph-rests-6:before{content:""}i.emmentaler.glyph-rests-7:before{content:""}i.emmentaler.glyph-rests-8:before{content:""}i.emmentaler.glyph-rests-9:before{content:""}i.emmentaler.glyph-rests-10:before{content:""}i.emmentaler.glyph-accidentals-sharp:before{content:""}i.emmentaler.glyph-accidentals-sharp-arrowup:before{content:""}i.emmentaler.glyph-accidentals-sharp-arrowdown:before{content:""}i.emmentaler.glyph-accidentals-sharp-arrowboth:before{content:""}i.emmentaler.glyph-accidentals-sharp-slashslash-stem:before{content:""}i.emmentaler.glyph-accidentals-sharp-slashslashslash-stemstem:before{content:""}i.emmentaler.glyph-accidentals-sharp-slashslashslash-stem:before{content:""}i.emmentaler.glyph-accidentals-sharp-slash-stem:before{content:""}i.emmentaler.glyph-accidentals-sharp-slashslash-stemstemstem:before{content:""}i.emmentaler.glyph-accidentals-doublesharp:before{content:""}i.emmentaler.glyph-accidentals-natural:before{content:""}i.emmentaler.glyph-accidentals-natural-arrowup:before{content:""}i.emmentaler.glyph-accidentals-natural-arrowdown:before{content:""}i.emmentaler.glyph-accidentals-natural-arrowboth:before{content:""}i.emmentaler.glyph-accidentals-flat:before{content:""}i.emmentaler.glyph-accidentals-flat-arrowup:before{content:"î€Ē"}i.emmentaler.glyph-accidentals-flat-arrowdown:before{content:"î€Ģ"}i.emmentaler.glyph-accidentals-flat-arrowboth:before{content:"î€Ī"}i.emmentaler.glyph-accidentals-flat-slash:before{content:"î€Ĩ"}i.emmentaler.glyph-accidentals-flat-slashslash:before{content:"î€Ķ"}i.emmentaler.glyph-accidentals-mirroredflat-flat:before{content:""}i.emmentaler.glyph-accidentals-mirroredflat:before{content:"î€Ļ"}i.emmentaler.glyph-accidentals-mirroredflat-backslash:before{content:"î€Đ"}i.emmentaler.glyph-accidentals-flatflat:before{content:""}i.emmentaler.glyph-accidentals-flatflat-slash:before{content:"î€Ŧ"}i.emmentaler.glyph-accidentals-rightparen:before{content:""}i.emmentaler.glyph-accidentals-leftparen:before{content:""}i.emmentaler.glyph-arrowheads-open-01:before{content:"î€Ū"}i.emmentaler.glyph-arrowheads-open-0M1:before{content:"î€Ŋ"}i.emmentaler.glyph-arrowheads-open-11:before{content:""}i.emmentaler.glyph-arrowheads-open-1M1:before{content:""}i.emmentaler.glyph-arrowheads-close-01:before{content:"î€ē"}i.emmentaler.glyph-arrowheads-close-0M1:before{content:"î€ģ"}i.emmentaler.glyph-arrowheads-close-11:before{content:"î€ī"}i.emmentaler.glyph-arrowheads-close-1M1:before{content:"î€ĩ"}i.emmentaler.glyph-dot:before{content:"î€ķ"}i.emmentaler.glyph-scripts-ufermata:before{content:""}i.emmentaler.glyph-scripts-dfermata:before{content:"î€ļ"}i.emmentaler.glyph-scripts-uhenzeshortfermata:before{content:"î€đ"}i.emmentaler.glyph-scripts-dhenzeshortfermata:before{content:""}i.emmentaler.glyph-scripts-uhenzelongfermata:before{content:"î€ŧ"}i.emmentaler.glyph-scripts-dhenzelongfermata:before{content:""}i.emmentaler.glyph-scripts-ushortfermata:before{content:"î€―"}i.emmentaler.glyph-scripts-dshortfermata:before{content:"î€ū"}i.emmentaler.glyph-scripts-uveryshortfermata:before{content:"î€ŋ"}i.emmentaler.glyph-scripts-dveryshortfermata:before{content:""}i.emmentaler.glyph-scripts-ulongfermata:before{content:""}i.emmentaler.glyph-scripts-dlongfermata:before{content:""}i.emmentaler.glyph-scripts-uverylongfermata:before{content:""}i.emmentaler.glyph-scripts-dverylongfermata:before{content:""}i.emmentaler.glyph-scripts-thumb:before{content:""}i.emmentaler.glyph-scripts-sforzato:before{content:""}i.emmentaler.glyph-scripts-espr:before{content:""}i.emmentaler.glyph-scripts-staccato:before{content:""}i.emmentaler.glyph-scripts-ustaccatissimo:before{content:""}i.emmentaler.glyph-scripts-dstaccatissimo:before{content:""}i.emmentaler.glyph-scripts-tenuto:before{content:""}i.emmentaler.glyph-scripts-uportato:before{content:""}i.emmentaler.glyph-scripts-dportato:before{content:""}i.emmentaler.glyph-scripts-umarcato:before{content:""}i.emmentaler.glyph-scripts-dmarcato:before{content:""}i.emmentaler.glyph-scripts-open:before{content:""}i.emmentaler.glyph-scripts-halfopen:before{content:""}i.emmentaler.glyph-scripts-halfopenvertical:before{content:""}i.emmentaler.glyph-scripts-stopped:before{content:""}i.emmentaler.glyph-scripts-upbow:before{content:""}i.emmentaler.glyph-scripts-downbow:before{content:""}i.emmentaler.glyph-scripts-reverseturn:before{content:""}i.emmentaler.glyph-scripts-turn:before{content:""}i.emmentaler.glyph-scripts-slashturn:before{content:""}i.emmentaler.glyph-scripts-haydnturn:before{content:""}i.emmentaler.glyph-scripts-trill:before{content:""}i.emmentaler.glyph-scripts-upedalheel:before{content:""}i.emmentaler.glyph-scripts-dpedalheel:before{content:""}i.emmentaler.glyph-scripts-upedaltoe:before{content:""}i.emmentaler.glyph-scripts-dpedaltoe:before{content:""}i.emmentaler.glyph-scripts-flageolet:before{content:""}i.emmentaler.glyph-scripts-segno:before{content:""}i.emmentaler.glyph-scripts-varsegno:before{content:""}i.emmentaler.glyph-scripts-coda:before{content:"îĒ"}i.emmentaler.glyph-scripts-varcoda:before{content:"îĢ"}i.emmentaler.glyph-scripts-rcomma:before{content:"îĪ"}i.emmentaler.glyph-scripts-lcomma:before{content:"îĨ"}i.emmentaler.glyph-scripts-rvarcomma:before{content:"îĶ"}i.emmentaler.glyph-scripts-lvarcomma:before{content:""}i.emmentaler.glyph-scripts-arpeggio:before{content:"îĻ"}i.emmentaler.glyph-scripts-trill_element:before{content:"îĐ"}i.emmentaler.glyph-scripts-arpeggio-arrow-M1:before{content:""}i.emmentaler.glyph-scripts-arpeggio-arrow-1:before{content:"îŦ"}i.emmentaler.glyph-scripts-trillelement:before{content:""}i.emmentaler.glyph-scripts-prall:before{content:""}i.emmentaler.glyph-scripts-mordent:before{content:"îŪ"}i.emmentaler.glyph-scripts-prallprall:before{content:"îŊ"}i.emmentaler.glyph-scripts-prallmordent:before{content:""}i.emmentaler.glyph-scripts-upprall:before{content:""}i.emmentaler.glyph-scripts-upmordent:before{content:"îē"}i.emmentaler.glyph-scripts-prallup:before{content:"îģ"}i.emmentaler.glyph-scripts-downprall:before{content:"îī"}i.emmentaler.glyph-scripts-downmordent:before{content:"îĩ"}i.emmentaler.glyph-scripts-pralldown:before{content:"îķ"}i.emmentaler.glyph-scripts-lineprall:before{content:""}i.emmentaler.glyph-scripts-caesura-curved:before{content:"îļ"}i.emmentaler.glyph-scripts-caesura-straight:before{content:"îđ"}i.emmentaler.glyph-scripts-tickmark:before{content:""}i.emmentaler.glyph-scripts-snappizzicato:before{content:"îŧ"}i.emmentaler.glyph-clefs-C:before{content:""}i.emmentaler.glyph-clefs-C_change:before{content:"î―"}i.emmentaler.glyph-clefs-varC:before{content:"îū"}i.emmentaler.glyph-clefs-varC_change:before{content:"îŋ"}i.emmentaler.glyph-clefs-F:before{content:""}i.emmentaler.glyph-clefs-F_change:before{content:""}i.emmentaler.glyph-clefs-G:before{content:""}i.emmentaler.glyph-clefs-G_change:before{content:""}i.emmentaler.glyph-clefs-GG:before{content:""}i.emmentaler.glyph-clefs-GG_change:before{content:""}i.emmentaler.glyph-clefs-tenorG:before{content:""}i.emmentaler.glyph-clefs-tenorG_change:before{content:""}i.emmentaler.glyph-clefs-percussion:before{content:""}i.emmentaler.glyph-clefs-percussion_change:before{content:""}i.emmentaler.glyph-clefs-varpercussion:before{content:""}i.emmentaler.glyph-clefs-varpercussion_change:before{content:""}i.emmentaler.glyph-clefs-tab:before{content:""}i.emmentaler.glyph-clefs-tab_change:before{content:""}i.emmentaler.glyph-timesig-C44:before{content:""}i.emmentaler.glyph-timesig-C22:before{content:""}i.emmentaler.glyph-pedal-star:before{content:""}i.emmentaler.glyph-pedal-M:before{content:""}i.emmentaler.glyph-pedal--:before{content:""}i.emmentaler.glyph-pedal-P:before{content:""}i.emmentaler.glyph-pedal-d:before{content:""}i.emmentaler.glyph-pedal-e:before{content:""}i.emmentaler.glyph-pedal-Ped:before{content:""}i.emmentaler.glyph-brackettips-up:before{content:""}i.emmentaler.glyph-brackettips-down:before{content:""}i.emmentaler.glyph-accordion-discant:before{content:""}i.emmentaler.glyph-accordion-dot:before{content:""}i.emmentaler.glyph-accordion-freebass:before{content:""}i.emmentaler.glyph-accordion-stdbass:before{content:""}i.emmentaler.glyph-accordion-bayanbass:before{content:""}i.emmentaler.glyph-accordion-oldEE:before{content:""}i.emmentaler.glyph-accordion-push:before{content:""}i.emmentaler.glyph-accordion-pull:before{content:""}i.emmentaler.glyph-ties-lyric-short:before{content:""}i.emmentaler.glyph-ties-lyric-default:before{content:"î‚Ē"}i.emmentaler.glyph-noteheads-uM2:before{content:"î‚Ģ"}i.emmentaler.glyph-noteheads-dM2:before{content:"î‚Ī"}i.emmentaler.glyph-noteheads-sM1:before{content:"î‚Ĩ"}i.emmentaler.glyph-noteheads-sM1double:before{content:"î‚Ķ"}i.emmentaler.glyph-noteheads-s0:before{content:""}i.emmentaler.glyph-noteheads-s1:before{content:"î‚Ļ"}i.emmentaler.glyph-noteheads-s2:before{content:"î‚Đ"}i.emmentaler.glyph-noteheads-s0diamond:before{content:""}i.emmentaler.glyph-noteheads-s1diamond:before{content:"î‚Ŧ"}i.emmentaler.glyph-noteheads-s2diamond:before{content:""}i.emmentaler.glyph-noteheads-s0triangle:before{content:""}i.emmentaler.glyph-noteheads-d1triangle:before{content:"î‚Ū"}i.emmentaler.glyph-noteheads-u1triangle:before{content:"î‚Ŋ"}i.emmentaler.glyph-noteheads-u2triangle:before{content:""}i.emmentaler.glyph-noteheads-d2triangle:before{content:""}i.emmentaler.glyph-noteheads-s0slash:before{content:"î‚ē"}i.emmentaler.glyph-noteheads-s1slash:before{content:"î‚ģ"}i.emmentaler.glyph-noteheads-s2slash:before{content:"î‚ī"}i.emmentaler.glyph-noteheads-s0cross:before{content:"î‚ĩ"}i.emmentaler.glyph-noteheads-s1cross:before{content:"î‚ķ"}i.emmentaler.glyph-noteheads-s2cross:before{content:""}i.emmentaler.glyph-noteheads-s2xcircle:before{content:"î‚ļ"}i.emmentaler.glyph-noteheads-s0do:before{content:"î‚đ"}i.emmentaler.glyph-noteheads-d1do:before{content:""}i.emmentaler.glyph-noteheads-u1do:before{content:"î‚ŧ"}i.emmentaler.glyph-noteheads-d2do:before{content:""}i.emmentaler.glyph-noteheads-u2do:before{content:"î‚―"}i.emmentaler.glyph-noteheads-s0doThin:before{content:"î‚ū"}i.emmentaler.glyph-noteheads-d1doThin:before{content:"î‚ŋ"}i.emmentaler.glyph-noteheads-u1doThin:before{content:""}i.emmentaler.glyph-noteheads-d2doThin:before{content:""}i.emmentaler.glyph-noteheads-u2doThin:before{content:""}i.emmentaler.glyph-noteheads-s0re:before{content:""}i.emmentaler.glyph-noteheads-u1re:before{content:""}i.emmentaler.glyph-noteheads-d1re:before{content:""}i.emmentaler.glyph-noteheads-u2re:before{content:""}i.emmentaler.glyph-noteheads-d2re:before{content:""}i.emmentaler.glyph-noteheads-s0reThin:before{content:""}i.emmentaler.glyph-noteheads-u1reThin:before{content:""}i.emmentaler.glyph-noteheads-d1reThin:before{content:""}i.emmentaler.glyph-noteheads-u2reThin:before{content:""}i.emmentaler.glyph-noteheads-d2reThin:before{content:""}i.emmentaler.glyph-noteheads-s0mi:before{content:""}i.emmentaler.glyph-noteheads-s1mi:before{content:""}i.emmentaler.glyph-noteheads-s2mi:before{content:""}i.emmentaler.glyph-noteheads-s0miMirror:before{content:""}i.emmentaler.glyph-noteheads-s1miMirror:before{content:""}i.emmentaler.glyph-noteheads-s2miMirror:before{content:""}i.emmentaler.glyph-noteheads-s0miThin:before{content:""}i.emmentaler.glyph-noteheads-s1miThin:before{content:""}i.emmentaler.glyph-noteheads-s2miThin:before{content:""}i.emmentaler.glyph-noteheads-u0fa:before{content:""}i.emmentaler.glyph-noteheads-d0fa:before{content:""}i.emmentaler.glyph-noteheads-u1fa:before{content:""}i.emmentaler.glyph-noteheads-d1fa:before{content:""}i.emmentaler.glyph-noteheads-u2fa:before{content:""}i.emmentaler.glyph-noteheads-d2fa:before{content:""}i.emmentaler.glyph-noteheads-u0faThin:before{content:""}i.emmentaler.glyph-noteheads-d0faThin:before{content:""}i.emmentaler.glyph-noteheads-u1faThin:before{content:""}i.emmentaler.glyph-noteheads-d1faThin:before{content:""}i.emmentaler.glyph-noteheads-u2faThin:before{content:""}i.emmentaler.glyph-noteheads-d2faThin:before{content:""}i.emmentaler.glyph-noteheads-s0sol:before{content:"îƒĒ"}i.emmentaler.glyph-noteheads-s1sol:before{content:"îƒĢ"}i.emmentaler.glyph-noteheads-s2sol:before{content:"îƒĪ"}i.emmentaler.glyph-noteheads-s0la:before{content:"îƒĨ"}i.emmentaler.glyph-noteheads-s1la:before{content:"îƒĶ"}i.emmentaler.glyph-noteheads-s2la:before{content:""}i.emmentaler.glyph-noteheads-s0laThin:before{content:"îƒĻ"}i.emmentaler.glyph-noteheads-s1laThin:before{content:"îƒĐ"}i.emmentaler.glyph-noteheads-s2laThin:before{content:""}i.emmentaler.glyph-noteheads-s0ti:before{content:"îƒŦ"}i.emmentaler.glyph-noteheads-u1ti:before{content:""}i.emmentaler.glyph-noteheads-d1ti:before{content:""}i.emmentaler.glyph-noteheads-u2ti:before{content:"îƒŪ"}i.emmentaler.glyph-noteheads-d2ti:before{content:"îƒŊ"}i.emmentaler.glyph-noteheads-s0tiThin:before{content:""}i.emmentaler.glyph-noteheads-u1tiThin:before{content:""}i.emmentaler.glyph-noteheads-d1tiThin:before{content:"îƒē"}i.emmentaler.glyph-noteheads-u2tiThin:before{content:"îƒģ"}i.emmentaler.glyph-noteheads-d2tiThin:before{content:"îƒī"}i.emmentaler.glyph-noteheads-u0doFunk:before{content:"îƒĩ"}i.emmentaler.glyph-noteheads-d0doFunk:before{content:"îƒķ"}i.emmentaler.glyph-noteheads-u1doFunk:before{content:""}i.emmentaler.glyph-noteheads-d1doFunk:before{content:"îƒļ"}i.emmentaler.glyph-noteheads-u2doFunk:before{content:"îƒđ"}i.emmentaler.glyph-noteheads-d2doFunk:before{content:""}i.emmentaler.glyph-noteheads-u0reFunk:before{content:"îƒŧ"}i.emmentaler.glyph-noteheads-d0reFunk:before{content:""}i.emmentaler.glyph-noteheads-u1reFunk:before{content:"îƒ―"}i.emmentaler.glyph-noteheads-d1reFunk:before{content:"îƒū"}i.emmentaler.glyph-noteheads-u2reFunk:before{content:"îƒŋ"}i.emmentaler.glyph-noteheads-d2reFunk:before{content:""}i.emmentaler.glyph-noteheads-u0miFunk:before{content:""}i.emmentaler.glyph-noteheads-d0miFunk:before{content:""}i.emmentaler.glyph-noteheads-u1miFunk:before{content:""}i.emmentaler.glyph-noteheads-d1miFunk:before{content:""}i.emmentaler.glyph-noteheads-s2miFunk:before{content:""}i.emmentaler.glyph-noteheads-u0faFunk:before{content:""}i.emmentaler.glyph-noteheads-d0faFunk:before{content:""}i.emmentaler.glyph-noteheads-u1faFunk:before{content:""}i.emmentaler.glyph-noteheads-d1faFunk:before{content:""}i.emmentaler.glyph-noteheads-u2faFunk:before{content:""}i.emmentaler.glyph-noteheads-d2faFunk:before{content:""}i.emmentaler.glyph-noteheads-s0solFunk:before{content:""}i.emmentaler.glyph-noteheads-s1solFunk:before{content:""}i.emmentaler.glyph-noteheads-s2solFunk:before{content:""}i.emmentaler.glyph-noteheads-s0laFunk:before{content:""}i.emmentaler.glyph-noteheads-s1laFunk:before{content:""}i.emmentaler.glyph-noteheads-s2laFunk:before{content:""}i.emmentaler.glyph-noteheads-u0tiFunk:before{content:""}i.emmentaler.glyph-noteheads-d0tiFunk:before{content:""}i.emmentaler.glyph-noteheads-u1tiFunk:before{content:""}i.emmentaler.glyph-noteheads-d1tiFunk:before{content:""}i.emmentaler.glyph-noteheads-u2tiFunk:before{content:""}i.emmentaler.glyph-noteheads-d2tiFunk:before{content:""}i.emmentaler.glyph-noteheads-s0doWalker:before{content:""}i.emmentaler.glyph-noteheads-u1doWalker:before{content:""}i.emmentaler.glyph-noteheads-d1doWalker:before{content:""}i.emmentaler.glyph-noteheads-u2doWalker:before{content:""}i.emmentaler.glyph-noteheads-d2doWalker:before{content:""}i.emmentaler.glyph-noteheads-s0reWalker:before{content:""}i.emmentaler.glyph-noteheads-u1reWalker:before{content:""}i.emmentaler.glyph-noteheads-d1reWalker:before{content:""}i.emmentaler.glyph-noteheads-u2reWalker:before{content:""}i.emmentaler.glyph-noteheads-d2reWalker:before{content:""}i.emmentaler.glyph-noteheads-s0miWalker:before{content:"î„Ē"}i.emmentaler.glyph-noteheads-s1miWalker:before{content:"î„Ģ"}i.emmentaler.glyph-noteheads-s2miWalker:before{content:"î„Ī"}i.emmentaler.glyph-noteheads-s0faWalker:before{content:"î„Ĩ"}i.emmentaler.glyph-noteheads-u1faWalker:before{content:"î„Ķ"}i.emmentaler.glyph-noteheads-d1faWalker:before{content:""}i.emmentaler.glyph-noteheads-u2faWalker:before{content:"î„Ļ"}i.emmentaler.glyph-noteheads-d2faWalker:before{content:"î„Đ"}i.emmentaler.glyph-noteheads-s0laWalker:before{content:""}i.emmentaler.glyph-noteheads-s1laWalker:before{content:"î„Ŧ"}i.emmentaler.glyph-noteheads-s2laWalker:before{content:""}i.emmentaler.glyph-noteheads-s0tiWalker:before{content:""}i.emmentaler.glyph-noteheads-u1tiWalker:before{content:"î„Ū"}i.emmentaler.glyph-noteheads-d1tiWalker:before{content:"î„Ŋ"}i.emmentaler.glyph-noteheads-u2tiWalker:before{content:""}i.emmentaler.glyph-noteheads-d2tiWalker:before{content:""}i.emmentaler.glyph-flags-u3:before{content:"î„ē"}i.emmentaler.glyph-flags-u4:before{content:"î„ģ"}i.emmentaler.glyph-flags-u5:before{content:"î„ī"}i.emmentaler.glyph-flags-u6:before{content:"î„ĩ"}i.emmentaler.glyph-flags-u7:before{content:"î„ķ"}i.emmentaler.glyph-flags-u8:before{content:""}i.emmentaler.glyph-flags-u9:before{content:"î„ļ"}i.emmentaler.glyph-flags-u10:before{content:"î„đ"}i.emmentaler.glyph-flags-d3:before{content:""}i.emmentaler.glyph-flags-d4:before{content:"î„ŧ"}i.emmentaler.glyph-flags-d5:before{content:""}i.emmentaler.glyph-flags-d6:before{content:"î„―"}i.emmentaler.glyph-flags-d7:before{content:"î„ū"}i.emmentaler.glyph-flags-d8:before{content:"î„ŋ"}i.emmentaler.glyph-flags-d9:before{content:""}i.emmentaler.glyph-flags-d10:before{content:""}i.emmentaler.glyph-flags-ugrace:before{content:""}i.emmentaler.glyph-flags-dgrace:before{content:""}i.emmentaler.glyph-rests-M3neomensural:before{content:""}i.emmentaler.glyph-rests-M2neomensural:before{content:""}i.emmentaler.glyph-rests-M1neomensural:before{content:""}i.emmentaler.glyph-rests-0neomensural:before{content:""}i.emmentaler.glyph-rests-1neomensural:before{content:""}i.emmentaler.glyph-rests-2neomensural:before{content:""}i.emmentaler.glyph-rests-3neomensural:before{content:""}i.emmentaler.glyph-rests-4neomensural:before{content:""}i.emmentaler.glyph-rests-M3mensural:before{content:""}i.emmentaler.glyph-rests-M2mensural:before{content:""}i.emmentaler.glyph-rests-M1mensural:before{content:""}i.emmentaler.glyph-rests-0mensural:before{content:""}i.emmentaler.glyph-rests-1mensural:before{content:""}i.emmentaler.glyph-rests-2mensural:before{content:""}i.emmentaler.glyph-rests-3mensural:before{content:""}i.emmentaler.glyph-rests-4mensural:before{content:""}i.emmentaler.glyph-clefs-vaticana-do:before{content:""}i.emmentaler.glyph-clefs-vaticana-do_change:before{content:""}i.emmentaler.glyph-clefs-vaticana-fa:before{content:""}i.emmentaler.glyph-clefs-vaticana-fa_change:before{content:""}i.emmentaler.glyph-clefs-medicaea-do:before{content:""}i.emmentaler.glyph-clefs-medicaea-do_change:before{content:""}i.emmentaler.glyph-clefs-medicaea-fa:before{content:""}i.emmentaler.glyph-clefs-medicaea-fa_change:before{content:""}i.emmentaler.glyph-clefs-neomensural-c:before{content:""}i.emmentaler.glyph-clefs-neomensural-c_change:before{content:""}i.emmentaler.glyph-clefs-petrucci-c1:before{content:""}i.emmentaler.glyph-clefs-petrucci-c1_change:before{content:""}i.emmentaler.glyph-clefs-petrucci-c2:before{content:""}i.emmentaler.glyph-clefs-petrucci-c2_change:before{content:""}i.emmentaler.glyph-clefs-petrucci-c3:before{content:"î…Ē"}i.emmentaler.glyph-clefs-petrucci-c3_change:before{content:"î…Ģ"}i.emmentaler.glyph-clefs-petrucci-c4:before{content:"î…Ī"}i.emmentaler.glyph-clefs-petrucci-c4_change:before{content:"î…Ĩ"}i.emmentaler.glyph-clefs-petrucci-c5:before{content:"î…Ķ"}i.emmentaler.glyph-clefs-petrucci-c5_change:before{content:""}i.emmentaler.glyph-clefs-mensural-c:before{content:"î…Ļ"}i.emmentaler.glyph-clefs-mensural-c_change:before{content:"î…Đ"}i.emmentaler.glyph-clefs-blackmensural-c:before{content:""}i.emmentaler.glyph-clefs-blackmensural-c_change:before{content:"î…Ŧ"}i.emmentaler.glyph-clefs-petrucci-f:before{content:""}i.emmentaler.glyph-clefs-petrucci-f_change:before{content:""}i.emmentaler.glyph-clefs-mensural-f:before{content:"î…Ū"}i.emmentaler.glyph-clefs-mensural-f_change:before{content:"î…Ŋ"}i.emmentaler.glyph-clefs-petrucci-g:before{content:""}i.emmentaler.glyph-clefs-petrucci-g_change:before{content:""}i.emmentaler.glyph-clefs-mensural-g:before{content:"î…ē"}i.emmentaler.glyph-clefs-mensural-g_change:before{content:"î…ģ"}i.emmentaler.glyph-clefs-hufnagel-do:before{content:"î…ī"}i.emmentaler.glyph-clefs-hufnagel-do_change:before{content:"î…ĩ"}i.emmentaler.glyph-clefs-hufnagel-fa:before{content:"î…ķ"}i.emmentaler.glyph-clefs-hufnagel-fa_change:before{content:""}i.emmentaler.glyph-clefs-hufnagel-do-fa:before{content:"î…ļ"}i.emmentaler.glyph-clefs-hufnagel-do-fa_change:before{content:"î…đ"}i.emmentaler.glyph-clefs-kievan-do:before{content:""}i.emmentaler.glyph-clefs-kievan-do_change:before{content:"î…ŧ"}i.emmentaler.glyph-custodes-hufnagel-u0:before{content:""}i.emmentaler.glyph-custodes-hufnagel-u1:before{content:"î…―"}i.emmentaler.glyph-custodes-hufnagel-u2:before{content:"î…ū"}i.emmentaler.glyph-custodes-hufnagel-d0:before{content:"î…ŋ"}i.emmentaler.glyph-custodes-hufnagel-d1:before{content:""}i.emmentaler.glyph-custodes-hufnagel-d2:before{content:""}i.emmentaler.glyph-custodes-medicaea-u0:before{content:""}i.emmentaler.glyph-custodes-medicaea-u1:before{content:""}i.emmentaler.glyph-custodes-medicaea-u2:before{content:""}i.emmentaler.glyph-custodes-medicaea-d0:before{content:""}i.emmentaler.glyph-custodes-medicaea-d1:before{content:""}i.emmentaler.glyph-custodes-medicaea-d2:before{content:""}i.emmentaler.glyph-custodes-vaticana-u0:before{content:""}i.emmentaler.glyph-custodes-vaticana-u1:before{content:""}i.emmentaler.glyph-custodes-vaticana-u2:before{content:""}i.emmentaler.glyph-custodes-vaticana-d0:before{content:""}i.emmentaler.glyph-custodes-vaticana-d1:before{content:""}i.emmentaler.glyph-custodes-vaticana-d2:before{content:""}i.emmentaler.glyph-custodes-mensural-u0:before{content:""}i.emmentaler.glyph-custodes-mensural-u1:before{content:""}i.emmentaler.glyph-custodes-mensural-u2:before{content:""}i.emmentaler.glyph-custodes-mensural-d0:before{content:""}i.emmentaler.glyph-custodes-mensural-d1:before{content:""}i.emmentaler.glyph-custodes-mensural-d2:before{content:""}i.emmentaler.glyph-accidentals-medicaeaM1:before{content:""}i.emmentaler.glyph-accidentals-vaticanaM1:before{content:""}i.emmentaler.glyph-accidentals-vaticana0:before{content:""}i.emmentaler.glyph-accidentals-mensural1:before{content:""}i.emmentaler.glyph-accidentals-mensuralM1:before{content:""}i.emmentaler.glyph-accidentals-hufnagelM1:before{content:""}i.emmentaler.glyph-accidentals-kievan1:before{content:""}i.emmentaler.glyph-accidentals-kievanM1:before{content:""}i.emmentaler.glyph-flags-mensuralu03:before{content:""}i.emmentaler.glyph-flags-mensuralu13:before{content:""}i.emmentaler.glyph-flags-mensuralu23:before{content:""}i.emmentaler.glyph-flags-mensurald03:before{content:""}i.emmentaler.glyph-flags-mensurald13:before{content:""}i.emmentaler.glyph-flags-mensurald23:before{content:""}i.emmentaler.glyph-flags-mensuralu04:before{content:"î†Ē"}i.emmentaler.glyph-flags-mensuralu14:before{content:"î†Ģ"}i.emmentaler.glyph-flags-mensuralu24:before{content:"î†Ī"}i.emmentaler.glyph-flags-mensurald04:before{content:"î†Ĩ"}i.emmentaler.glyph-flags-mensurald14:before{content:"î†Ķ"}i.emmentaler.glyph-flags-mensurald24:before{content:""}i.emmentaler.glyph-flags-mensuralu05:before{content:"î†Ļ"}i.emmentaler.glyph-flags-mensuralu15:before{content:"î†Đ"}i.emmentaler.glyph-flags-mensuralu25:before{content:""}i.emmentaler.glyph-flags-mensurald05:before{content:"î†Ŧ"}i.emmentaler.glyph-flags-mensurald15:before{content:""}i.emmentaler.glyph-flags-mensurald25:before{content:""}i.emmentaler.glyph-flags-mensuralu06:before{content:"î†Ū"}i.emmentaler.glyph-flags-mensuralu16:before{content:"î†Ŋ"}i.emmentaler.glyph-flags-mensuralu26:before{content:""}i.emmentaler.glyph-flags-mensurald06:before{content:""}i.emmentaler.glyph-flags-mensurald16:before{content:"î†ē"}i.emmentaler.glyph-flags-mensurald26:before{content:"î†ģ"}i.emmentaler.glyph-timesig-mensural44:before{content:"î†ī"}i.emmentaler.glyph-timesig-mensural22:before{content:"î†ĩ"}i.emmentaler.glyph-timesig-mensural32:before{content:"î†ķ"}i.emmentaler.glyph-timesig-mensural64:before{content:""}i.emmentaler.glyph-timesig-mensural94:before{content:"î†ļ"}i.emmentaler.glyph-timesig-mensural34:before{content:"î†đ"}i.emmentaler.glyph-timesig-mensural68:before{content:""}i.emmentaler.glyph-timesig-mensural98:before{content:"î†ŧ"}i.emmentaler.glyph-timesig-mensural48:before{content:""}i.emmentaler.glyph-timesig-mensural68alt:before{content:"î†―"}i.emmentaler.glyph-timesig-mensural24:before{content:"î†ū"}i.emmentaler.glyph-timesig-neomensural44:before{content:"î†ŋ"}i.emmentaler.glyph-timesig-neomensural22:before{content:""}i.emmentaler.glyph-timesig-neomensural32:before{content:""}i.emmentaler.glyph-timesig-neomensural64:before{content:""}i.emmentaler.glyph-timesig-neomensural94:before{content:""}i.emmentaler.glyph-timesig-neomensural34:before{content:""}i.emmentaler.glyph-timesig-neomensural68:before{content:""}i.emmentaler.glyph-timesig-neomensural98:before{content:""}i.emmentaler.glyph-timesig-neomensural48:before{content:""}i.emmentaler.glyph-timesig-neomensural68alt:before{content:""}i.emmentaler.glyph-timesig-neomensural24:before{content:""}i.emmentaler.glyph-scripts-ictus:before{content:""}i.emmentaler.glyph-scripts-uaccentus:before{content:""}i.emmentaler.glyph-scripts-daccentus:before{content:""}i.emmentaler.glyph-scripts-usemicirculus:before{content:""}i.emmentaler.glyph-scripts-dsemicirculus:before{content:""}i.emmentaler.glyph-scripts-circulus:before{content:""}i.emmentaler.glyph-scripts-augmentum:before{content:""}i.emmentaler.glyph-scripts-usignumcongruentiae:before{content:""}i.emmentaler.glyph-scripts-dsignumcongruentiae:before{content:""}i.emmentaler.glyph-scripts-barline-kievan:before{content:""}i.emmentaler.glyph-dots-dotvaticana:before{content:""}i.emmentaler.glyph-dots-dotkievan:before{content:""}i.emmentaler.glyph-noteheads-uM3neomensural:before{content:""}i.emmentaler.glyph-noteheads-dM3neomensural:before{content:""}i.emmentaler.glyph-noteheads-uM2neomensural:before{content:""}i.emmentaler.glyph-noteheads-dM2neomensural:before{content:""}i.emmentaler.glyph-noteheads-sM1neomensural:before{content:""}i.emmentaler.glyph-noteheads-urM3neomensural:before{content:""}i.emmentaler.glyph-noteheads-drM3neomensural:before{content:""}i.emmentaler.glyph-noteheads-urM2neomensural:before{content:""}i.emmentaler.glyph-noteheads-drM2neomensural:before{content:""}i.emmentaler.glyph-noteheads-srM1neomensural:before{content:""}i.emmentaler.glyph-noteheads-s0neomensural:before{content:""}i.emmentaler.glyph-noteheads-s1neomensural:before{content:""}i.emmentaler.glyph-noteheads-s2neomensural:before{content:"î‡Ē"}i.emmentaler.glyph-noteheads-s0harmonic:before{content:"î‡Ģ"}i.emmentaler.glyph-noteheads-s2harmonic:before{content:"î‡Ī"}i.emmentaler.glyph-noteheads-uM3mensural:before{content:"î‡Ĩ"}i.emmentaler.glyph-noteheads-dM3mensural:before{content:"î‡Ķ"}i.emmentaler.glyph-noteheads-sM3ligmensural:before{content:""}i.emmentaler.glyph-noteheads-uM2mensural:before{content:"î‡Ļ"}i.emmentaler.glyph-noteheads-dM2mensural:before{content:"î‡Đ"}i.emmentaler.glyph-noteheads-sM2ligmensural:before{content:""}i.emmentaler.glyph-noteheads-sM1mensural:before{content:"î‡Ŧ"}i.emmentaler.glyph-noteheads-urM3mensural:before{content:""}i.emmentaler.glyph-noteheads-drM3mensural:before{content:""}i.emmentaler.glyph-noteheads-srM3ligmensural:before{content:"î‡Ū"}i.emmentaler.glyph-noteheads-urM2mensural:before{content:"î‡Ŋ"}i.emmentaler.glyph-noteheads-drM2mensural:before{content:""}i.emmentaler.glyph-noteheads-srM2ligmensural:before{content:""}i.emmentaler.glyph-noteheads-srM1mensural:before{content:"î‡ē"}i.emmentaler.glyph-noteheads-uM3semimensural:before{content:"î‡ģ"}i.emmentaler.glyph-noteheads-dM3semimensural:before{content:"î‡ī"}i.emmentaler.glyph-noteheads-sM3semiligmensural:before{content:"î‡ĩ"}i.emmentaler.glyph-noteheads-uM2semimensural:before{content:"î‡ķ"}i.emmentaler.glyph-noteheads-dM2semimensural:before{content:""}i.emmentaler.glyph-noteheads-sM2semiligmensural:before{content:"î‡ļ"}i.emmentaler.glyph-noteheads-sM1semimensural:before{content:"î‡đ"}i.emmentaler.glyph-noteheads-urM3semimensural:before{content:""}i.emmentaler.glyph-noteheads-drM3semimensural:before{content:"î‡ŧ"}i.emmentaler.glyph-noteheads-srM3semiligmensural:before{content:""}i.emmentaler.glyph-noteheads-urM2semimensural:before{content:"î‡―"}i.emmentaler.glyph-noteheads-drM2semimensural:before{content:"î‡ū"}i.emmentaler.glyph-noteheads-srM2semiligmensural:before{content:"î‡ŋ"}i.emmentaler.glyph-noteheads-srM1semimensural:before{content:""}i.emmentaler.glyph-noteheads-uM3blackmensural:before{content:""}i.emmentaler.glyph-noteheads-dM3blackmensural:before{content:""}i.emmentaler.glyph-noteheads-sM3blackligmensural:before{content:""}i.emmentaler.glyph-noteheads-uM2blackmensural:before{content:""}i.emmentaler.glyph-noteheads-dM2blackmensural:before{content:""}i.emmentaler.glyph-noteheads-sM2blackligmensural:before{content:""}i.emmentaler.glyph-noteheads-sM1blackmensural:before{content:""}i.emmentaler.glyph-noteheads-s0mensural:before{content:""}i.emmentaler.glyph-noteheads-s1mensural:before{content:""}i.emmentaler.glyph-noteheads-s2mensural:before{content:""}i.emmentaler.glyph-noteheads-s0blackmensural:before{content:""}i.emmentaler.glyph-noteheads-s0petrucci:before{content:""}i.emmentaler.glyph-noteheads-s1petrucci:before{content:""}i.emmentaler.glyph-noteheads-s2petrucci:before{content:""}i.emmentaler.glyph-noteheads-s0blackpetrucci:before{content:""}i.emmentaler.glyph-noteheads-s1blackpetrucci:before{content:""}i.emmentaler.glyph-noteheads-s2blackpetrucci:before{content:""}i.emmentaler.glyph-noteheads-svaticana-punctum:before{content:""}i.emmentaler.glyph-noteheads-svaticana-punctum-cavum:before{content:""}i.emmentaler.glyph-noteheads-svaticana-linea-punctum:before{content:""}i.emmentaler.glyph-noteheads-svaticana-linea-punctum-cavum:before{content:""}i.emmentaler.glyph-noteheads-svaticana-inclinatum:before{content:""}i.emmentaler.glyph-noteheads-svaticana-lpes:before{content:""}i.emmentaler.glyph-noteheads-svaticana-vlpes:before{content:""}i.emmentaler.glyph-noteheads-svaticana-upes:before{content:""}i.emmentaler.glyph-noteheads-svaticana-vupes:before{content:""}i.emmentaler.glyph-noteheads-svaticana-plica:before{content:""}i.emmentaler.glyph-noteheads-svaticana-vplica:before{content:""}i.emmentaler.glyph-noteheads-svaticana-epiphonus:before{content:""}i.emmentaler.glyph-noteheads-svaticana-vepiphonus:before{content:""}i.emmentaler.glyph-noteheads-svaticana-reverse-plica:before{content:""}i.emmentaler.glyph-noteheads-svaticana-reverse-vplica:before{content:""}i.emmentaler.glyph-noteheads-svaticana-inner-cephalicus:before{content:""}i.emmentaler.glyph-noteheads-svaticana-cephalicus:before{content:"îˆĒ"}i.emmentaler.glyph-noteheads-svaticana-quilisma:before{content:"îˆĢ"}i.emmentaler.glyph-noteheads-ssolesmes-incl-parvum:before{content:"îˆĪ"}i.emmentaler.glyph-noteheads-ssolesmes-auct-asc:before{content:"îˆĨ"}i.emmentaler.glyph-noteheads-ssolesmes-auct-desc:before{content:"îˆĶ"}i.emmentaler.glyph-noteheads-ssolesmes-incl-auctum:before{content:""}i.emmentaler.glyph-noteheads-ssolesmes-stropha:before{content:"îˆĻ"}i.emmentaler.glyph-noteheads-ssolesmes-stropha-aucta:before{content:"îˆĐ"}i.emmentaler.glyph-noteheads-ssolesmes-oriscus:before{content:""}i.emmentaler.glyph-noteheads-smedicaea-inclinatum:before{content:"îˆŦ"}i.emmentaler.glyph-noteheads-smedicaea-punctum:before{content:""}i.emmentaler.glyph-noteheads-smedicaea-rvirga:before{content:""}i.emmentaler.glyph-noteheads-smedicaea-virga:before{content:"îˆŪ"}i.emmentaler.glyph-noteheads-shufnagel-punctum:before{content:"îˆŊ"}i.emmentaler.glyph-noteheads-shufnagel-virga:before{content:""}i.emmentaler.glyph-noteheads-shufnagel-lpes:before{content:""}i.emmentaler.glyph-noteheads-sM2kievan:before{content:"îˆē"}i.emmentaler.glyph-noteheads-sM1kievan:before{content:"îˆģ"}i.emmentaler.glyph-noteheads-s0kievan:before{content:"îˆī"}i.emmentaler.glyph-noteheads-d2kievan:before{content:"îˆĩ"}i.emmentaler.glyph-noteheads-u2kievan:before{content:"îˆķ"}i.emmentaler.glyph-noteheads-s1kievan:before{content:""}i.emmentaler.glyph-noteheads-sr1kievan:before{content:"îˆļ"}i.emmentaler.glyph-noteheads-d3kievan:before{content:"îˆđ"}i.emmentaler.glyph-noteheads-u3kievan:before{content:""}i.emmentaler.glyph-space:before{content:" "}i.emmentaler.glyph-plus:before{content:"+"}i.emmentaler.glyph-comma:before{content:","}i.emmentaler.glyph-hyphen:before{content:"-"}i.emmentaler.glyph-period:before{content:"."}i.emmentaler.glyph-zero:before{content:"0"}i.emmentaler.glyph-one:before{content:"1"}i.emmentaler.glyph-two:before{content:"2"}i.emmentaler.glyph-three:before{content:"3"}i.emmentaler.glyph-four:before{content:"4"}i.emmentaler.glyph-five:before{content:"5"}i.emmentaler.glyph-six:before{content:"6"}i.emmentaler.glyph-seven:before{content:"7"}i.emmentaler.glyph-eight:before{content:"8"}i.emmentaler.glyph-nine:before{content:"9"}i.emmentaler.glyph-f:before{content:"f"}i.emmentaler.glyph-m:before{content:"m"}i.emmentaler.glyph-n:before{content:"n"}i.emmentaler.glyph-p:before{content:"p"}i.emmentaler.glyph-r:before{content:"r"}i.emmentaler.glyph-s:before{content:"s"}i.emmentaler.glyph-z:before{content:"z"}.font-test-page{padding:20px;max-width:1400px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.font-test-header{position:sticky;top:0;background:#fff;z-index:10;padding:10px 0 16px;border-bottom:1px solid #e8e8e8;margin-bottom:20px}.font-test-header h1{margin:0 0 8px;font-size:24px}.font-test-status{margin-bottom:8px;font-size:14px;color:#666}.font-test-status .loaded{color:#52c41a;font-weight:700}.font-test-status .not-loaded{color:#f5222d;font-weight:700}.font-test-status .glyph-count{margin-left:16px;color:#999}.font-test-controls{display:flex;gap:16px;align-items:center;margin-bottom:8px}.font-test-controls input[type=text]{padding:4px 8px;border:1px solid #d9d9d9;border-radius:4px;width:200px;font-size:14px}.font-test-controls label{display:flex;align-items:center;gap:8px;font-size:14px;color:#666}.font-test-toc{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:13px}.font-test-toc a{color:#1890ff;text-decoration:none}.font-test-toc a:hover{text-decoration:underline}.font-test-category{margin-bottom:32px}.font-test-category h2{font-size:18px;margin:0 0 12px;padding-bottom:4px;border-bottom:2px solid #1890ff}.font-test-category h2 span{font-size:14px;color:#999;font-weight:400}.glyph-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.glyph-cell{border:1px solid #e8e8e8;border-radius:4px;padding:8px;text-align:center;transition:box-shadow .2s}.glyph-cell:hover{box-shadow:0 2px 8px #00000026}.glyph-render{height:60px;display:flex;align-items:center;justify-content:center;color:#333;border-bottom:1px dashed #f0f0f0;margin-bottom:4px}.glyph-unicode{height:60px;display:flex;align-items:center;justify-content:center;font-family:Emmentaler-26;color:#1890ff;border-bottom:1px dashed #f0f0f0;margin-bottom:4px}.glyph-name{font-size:11px;color:#333;word-break:break-all;line-height:1.3}.glyph-code{font-size:11px;color:#999;font-family:monospace} diff --git a/dist/assets/gauge-bea87547.js b/dist/assets/gauge-bea87547.js new file mode 100644 index 0000000000000000000000000000000000000000..ed2fda4d843a7bca7ea49d9195ad3c957dbc59ec --- /dev/null +++ b/dist/assets/gauge-bea87547.js @@ -0,0 +1 @@ +import{r as e,j as r}from"./umi-5db3d28e.js";import{G as d}from"./gaugeRendererGL-9dc55e03.js";const a=[["source1.png","gauge1.png"],["source2.png","gauge2.png"]];function l(){const n=e.useRef(),t=e.useRef(),s=e.useRef(),[c,o]=e.useState(),[u,g]=e.useState(0);return e.useEffect(()=>{o(new d({source:n.current,gauge:t.current,canvas:s.current}))},[n.current,t.current,s.current]),r.jsxs("div",{children:[r.jsx("img",{ref:n,src:`/test.local/${a[u][0]}`}),r.jsx("img",{ref:t,src:`/test.local/${a[u][1]}`}),r.jsx("canvas",{ref:s}),r.jsx("button",{onClick:()=>g((u+1)%a.length),children:"change"}),r.jsx("button",{onClick:()=>{c.updateMaterial({width:t.current.width}),c.updateGeometry(),c.render()},children:"render"})]})}export{l as default}; diff --git a/dist/assets/gaugeRendererGL-9dc55e03.js b/dist/assets/gaugeRendererGL-9dc55e03.js new file mode 100644 index 0000000000000000000000000000000000000000..4e794a9cc805379dc2682757b20d7645ae9ffa14 --- /dev/null +++ b/dist/assets/gaugeRendererGL-9dc55e03.js @@ -0,0 +1,82 @@ +const U=`//#version 300 es +//#define attribute in +//#define varying out +//#define texture2D texture + +precision highp float; +precision highp int; + +#define HIGH_PRECISION +#define SHADER_NAME MeshBasicMaterial +#define VERTEX_TEXTURES +#define USE_MAP +#define USE_UV +#define BONE_TEXTURE +#define DOUBLE_SIDED +uniform mat4 modelViewMatrix; +uniform mat4 projectionMatrix; +uniform vec3 cameraPosition; + +attribute vec3 position; +attribute vec3 normal; +attribute vec2 uv; + +#ifdef USE_UV + varying vec2 vUv; + uniform mat3 uvTransform; +#endif + +void main() { +#ifdef USE_UV + vUv = ( uvTransform * vec3( uv, 1 ) ).xy; +#endif + + vec3 transformed = vec3( position ); + + vec4 mvPosition = vec4( transformed, 1.0 ); + mvPosition = modelViewMatrix * mvPosition; + gl_Position = projectionMatrix * mvPosition; +} +`,S=`//#version 300 es +//#define varying in +//out highp vec4 pc_fragColor; +//#define gl_FragColor pc_fragColor +//#define texture2D texture + +precision highp float; +precision highp int; + +#define HIGH_PRECISION +#define SHADER_NAME MeshBasicMaterial +#define USE_MAP +#define USE_UV +#define DOUBLE_SIDED +uniform vec3 cameraPosition; + +vec4 LinearToLinear( in vec4 value ) { + return value; +} +vec4 mapTexelToLinear( vec4 value ) { return LinearToLinear( value ); } + +uniform vec3 diffuse; +uniform float opacity; + +#if defined( USE_UV ) + varying vec2 vUv; +#endif +#ifdef USE_MAP + uniform sampler2D map; +#endif + + +void main() { + vec4 diffuseColor = vec4( diffuse, opacity ); +#ifdef USE_MAP + vec4 texelColor = texture2D( map, vUv ); + texelColor = mapTexelToLinear( texelColor ); + diffuseColor *= texelColor; +#endif + + gl_FragColor = diffuseColor; +} +`,m=p=>p.flat(1);class x{sourceElem;gaugeElem;canvas;context;program;texture;pos;uv;ib;primitiveCount;width=256;height=192;constructor(t){this.sourceElem=t.source,this.gaugeElem=t.gauge,this.canvas=t.canvas,Number.isFinite(t.height)&&(this.height=t.height),this.context=this.canvas.getContext("webgl2",{antialias:!0,depth:!1});const e=this.context;window.gl=e,e.getShaderPrecisionFormat(e.VERTEX_SHADER,e.HIGH_FLOAT),e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.HIGH_FLOAT),this.program=e.createProgram();const a=e.createShader(e.VERTEX_SHADER);e.shaderSource(a,U),e.compileShader(a);const h=e.createShader(e.FRAGMENT_SHADER);e.shaderSource(h,S),e.compileShader(h),e.attachShader(this.program,a),e.attachShader(this.program,h),e.linkProgram(this.program);const l=e.getProgramInfoLog(this.program);l&&console.warn("program log:",l);const c=e.getShaderInfoLog(a);c&&console.warn("vs log:",c);const f=e.getShaderInfoLog(h);f&&console.warn("fs log:",f),e.deleteShader(a),e.deleteShader(h);const{name:s}=e.getActiveUniform(this.program,0),g=e.getUniformLocation(this.program,s),{name:E}=e.getActiveUniform(this.program,1),d=e.getUniformLocation(this.program,E),{name:u}=e.getActiveUniform(this.program,2),o=e.getUniformLocation(this.program,u),{name:r}=e.getActiveUniform(this.program,3),i=e.getUniformLocation(this.program,r),{name:v}=e.getActiveUniform(this.program,4),n=e.getUniformLocation(this.program,v),{name:T}=e.getActiveUniform(this.program,5),R=e.getUniformLocation(this.program,T);e.useProgram(this.program),e.uniformMatrix4fv(d,!1,new Float32Array([.0026385225355625153,0,0,0,0,-.010416666977107525,0,0,0,0,-.20202019810676575,0,0,0,-1.0202020406723022,1])),e.uniformMatrix4fv(g,!1,new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,-1,1])),e.uniformMatrix3fv(o,!1,new Float32Array([1,0,0,0,1,0,0,0,1])),e.uniform3f(i,1,1,1),e.uniform1f(n,1),e.uniform1i(R,0),this.texture=e.createTexture(),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,this.texture),e.pixelStorei(37440,!0),e.pixelStorei(37441,!1),e.pixelStorei(e.UNPACK_ALIGNMENT,4),e.pixelStorei(37443,0),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR_MIPMAP_LINEAR),e.disable(e.CULL_FACE),e.depthMask(!0),e.colorMask(!0,!0,!0,!0),e.disable(e.STENCIL_TEST),e.disable(e.POLYGON_OFFSET_FILL),e.disable(e.SAMPLE_ALPHA_TO_COVERAGE),this.pos=e.createBuffer(),this.uv=e.createBuffer(),this.ib=e.createBuffer();const A=e.getAttribLocation(this.program,"position"),_=e.getAttribLocation(this.program,"uv");e.enableVertexAttribArray(A),e.bindBuffer(e.ARRAY_BUFFER,this.pos),e.vertexAttribPointer(A,3,e.FLOAT,!1,0,0),e.enableVertexAttribArray(_),e.bindBuffer(e.ARRAY_BUFFER,this.uv),e.vertexAttribPointer(_,2,e.FLOAT,!1,0,0)}updateMaterial({width:t=null}={}){const e=this.context;if(this.sourceElem.naturalWidth!==this.width||this.sourceElem.naturalHeight!==this.height){Number.isFinite(t)?this.width=t:this.width=Math.round(this.height*this.sourceElem.naturalWidth/this.sourceElem.naturalHeight),this.canvas.width=this.width,this.canvas.height=this.height,e.viewport(0,0,this.width,this.height);const a=e.getUniformLocation(this.program,"projectionMatrix");e.uniformMatrix4fv(a,!1,new Float32Array([2/this.width,0,0,0,0,-2/this.height,0,0,0,0,-.20202019810676575,0,0,0,-1.0202020406723022,1]))}e.bindTexture(e.TEXTURE_2D,this.texture),e.texImage2D(e.TEXTURE_2D,0,e.RGBA8,e.RGBA,e.UNSIGNED_BYTE,this.sourceElem),e.generateMipmap(e.TEXTURE_2D)}updateGeometry(t=null){const{naturalWidth:e,naturalHeight:a}=this.gaugeElem,l=new OffscreenCanvas(e,a).getContext("2d");l.drawImage(this.gaugeElem,0,0);const{data:c}=l.getImageData(0,0,e,a),f=this.width/e;t=Math.round(Number.isFinite(t)?t:a/2),t=Math.max(0,Math.min(a-1,t));const s=Array(a).fill(null).map((r,i)=>Array(e).fill(null).map((v,n)=>({uv:[(n+.5)/e,1-(i+.5)/a],position:[(n-e/2)*f,(c[(i*e+n)*4]+c[(i*e+n)*4+2]/256-128)/f,0]})));for(let r=t;r>0;--r)for(let i=0;ir.uv)),E=m(m(s).map(r=>r.position)),d=Array(a-1).fill(null).map((r,i)=>Array(e-1).fill(null).map((v,n)=>[i*e+n,i*e+n+1,(i+1)*e+n,(i+1)*e+n,(i+1)*e+n+1,i*e+n+1])),u=m(m(d)),o=this.context;o.bindBuffer(o.ARRAY_BUFFER,this.pos),o.bufferData(o.ARRAY_BUFFER,new Float32Array(E),o.STATIC_DRAW),o.bindBuffer(o.ARRAY_BUFFER,this.uv),o.bufferData(o.ARRAY_BUFFER,new Float32Array(g),o.STATIC_DRAW),o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,this.ib),o.bufferData(o.ELEMENT_ARRAY_BUFFER,new Uint32Array(u),o.STATIC_DRAW),this.primitiveCount=u.length}render(){const t=this.context;return t.clearColor(1,1,1,0),t.clear(t.COLOR_BUFFER_BIT),t.drawElements(t.TRIANGLES,this.primitiveCount,t.UNSIGNED_INT,0),this.canvas.toDataURL()}getBlob(){return new Promise(t=>this.canvas.toBlob(t,"image/png"))}}export{x as G}; diff --git a/dist/assets/icons-16-3159a9b5.ttf b/dist/assets/icons-16-3159a9b5.ttf new file mode 100644 index 0000000000000000000000000000000000000000..5d3742125a19c6cbbf314675e58a22020658a681 --- /dev/null +++ b/dist/assets/icons-16-3159a9b5.ttf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3159a9b5dbf9c28ea27e925b24a468fc51298a49e16be06341fdf672efa19605 +size 98828 diff --git a/dist/assets/icons-16-9700ae98.woff b/dist/assets/icons-16-9700ae98.woff new file mode 100644 index 0000000000000000000000000000000000000000..bb367f7f8e8ea3fbc791cc52245b74bd1708b1a9 --- /dev/null +++ b/dist/assets/icons-16-9700ae98.woff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9700ae986c3357a771c7276c8eb30d1adc0c7b270bfd0bd56f6ea2df568cb88b +size 98904 diff --git a/dist/assets/icons-16-a8ef9e58.eot b/dist/assets/icons-16-a8ef9e58.eot new file mode 100644 index 0000000000000000000000000000000000000000..a791ceeec6a270dd91eb4e59dad6185586f55d72 --- /dev/null +++ b/dist/assets/icons-16-a8ef9e58.eot @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8ef9e585479427f5f7fa35e4201caf851a748c5cdf7d89ecf5ba3bd84179eda +size 99032 diff --git a/dist/assets/icons-20-810b1bdb.woff b/dist/assets/icons-20-810b1bdb.woff new file mode 100644 index 0000000000000000000000000000000000000000..3b46d90d5044a5ab0f08bd4a4f3cfbac70ac14a5 --- /dev/null +++ b/dist/assets/icons-20-810b1bdb.woff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:810b1bdbcfda9a85d96219d4607e2f3a446c0bb8ee7ba2bdf45e34081e09a3dd +size 101580 diff --git a/dist/assets/icons-20-a7029737.ttf b/dist/assets/icons-20-a7029737.ttf new file mode 100644 index 0000000000000000000000000000000000000000..80724085d30f191fe1466932a9baa26c87258488 --- /dev/null +++ b/dist/assets/icons-20-a7029737.ttf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a70297376b56c83baaafc005a998a9afc3b7a92c0d64342891855fe5c9b901bb +size 101504 diff --git a/dist/assets/icons-20-c59f99ca.eot b/dist/assets/icons-20-c59f99ca.eot new file mode 100644 index 0000000000000000000000000000000000000000..edc996c34df821b6b4b7ce3530a3bc368e9d6ba5 --- /dev/null +++ b/dist/assets/icons-20-c59f99ca.eot @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c59f99ca5a02d249b3ebe717a57c34303bcaccc1593d0fb8b48b83917cd14fc4 +size 101708 diff --git a/dist/assets/index-0d11b9f1.css b/dist/assets/index-0d11b9f1.css new file mode 100644 index 0000000000000000000000000000000000000000..acc64abef7ea2024e27ce233ae658823533f7da5 --- /dev/null +++ b/dist/assets/index-0d11b9f1.css @@ -0,0 +1 @@ +@font-face{font-family:jpfont-nds;font-weight:400;font-style:normal;src:url(/jpfont-nds.otf) format("woff")}.numbered-header{flex:0 0 4em;box-shadow:0 0 4px #0004;background-color:#fff;position:sticky;z-index:100;width:100%;height:auto!important;display:flex}.numbered-header.admin{background-color:#fafad2}.numbered-header.admin .logo:after{content:"#";position:relative;top:-.5em;font-size:70%}.numbered-header.edit{background-color:gold}.numbered-header .logo{font-size:26px;font-weight:700;margin-right:20px;color:#000}.numbered-header .logo:hover{text-decoration:none}.numbered-score .measure-number{fill:#e65019}.numbered-score .numbered-page{position:relative}.numbered-score .numbered-page-toolbar{position:absolute;top:0;right:0;visibility:hidden}.numbered-score .numbered-page:hover .numbered-page-toolbar{visibility:visible!important}.numbered-score .measure-note{line-height:1}.numbered-score .notePlayOn .measure-note{fill:red} diff --git a/dist/assets/index-1a38de8e.js b/dist/assets/index-1a38de8e.js new file mode 100644 index 0000000000000000000000000000000000000000..83ae1676c216b8a1511e4916715c438e3c0708bd --- /dev/null +++ b/dist/assets/index-1a38de8e.js @@ -0,0 +1 @@ +import{r as A,_ as H,g as Z,u as _,j as i,h as w}from"./umi-5db3d28e.js";import{u as G,a as O,q,L as k,P as V,Q as X,b as S,S as W,c as $}from"./index-bd0091fe.js";import{T as ee,S as te,P as R}from"./Tags-cff5042a.js";import{w as L,_ as ae,a as ie,C as se,c as Y,b as ne,o as re,d as oe,e as le,u as ce,f as z,r as T,n as U,m as de}from"./_setToString-b6377390.js";import{s as ge,V as Ae,g as ue,I as M,D as me,P as he}from"./Table-b0ff5a39.js";import{B as J}from"./button-4b0c0e6b.js";import{u as Ee}from"./useDebounce-66fbf1ca.js";import"./index-bf5201f2.js";function fe(a){var e,o=function(l){return function(){e=null,a.apply(void 0,ae(l))}},n=function(){if(e==null){for(var l=arguments.length,d=new Array(l),u=0;uC)}),r=function(){var x=e.target,C=x||v,I=C();u.current=O(I,"scroll",function(b){f(b)}),f({target:I})};A.useEffect(function(){return r(),function(){u.current&&u.current.remove(),f.cancel()}},[e.target]);var B=function(x){var C=e.onClick,I=e.target,b=e.duration,D=b===void 0?450:b;ge(0,{getContainer:I||v,duration:D}),typeof C=="function"&&C(x)},y=A.useContext(se),p=y.getPrefixCls,N=y.direction,j=e.prefixCls,s=e.className,t=s===void 0?"":s,c=p("back-top",j),g=p(),Q=Y(c,ne({},"".concat(c,"-rtl"),N==="rtl"),t),m=re(e,["prefixCls","className","children","visibilityHeight","target","visible"]);return A.createElement("div",H({},m,{className:Q,onClick:B,ref:d}),A.createElement(Qe,{prefixCls:c,rootPrefixCls:g,visible:h},e.children))};const Be=A.memo(ve),ye=["B","kB","MB","GB","TB","PB","EB","ZB","YB"],xe=["B","kiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"],Ce=["b","kbit","Mbit","Gbit","Tbit","Pbit","Ebit","Zbit","Ybit"],Ie=["b","kibit","Mibit","Gibit","Tibit","Pibit","Eibit","Zibit","Yibit"],K=(a,e,o)=>{let n=a;return typeof e=="string"||Array.isArray(e)?n=a.toLocaleString(e,o):(e===!0||o!==void 0)&&(n=a.toLocaleString(void 0,o)),n};var Se=(a,e)=>{if(!Number.isFinite(a))throw new TypeError(`Expected a finite number, got ${typeof a}: ${a}`);e=Object.assign({bits:!1,binary:!1},e);const o=e.bits?e.binary?Ie:Ce:e.binary?xe:ye;if(e.signed&&a===0)return` 0 ${o[0]}`;const n=a<0,h=n?"-":e.signed?"+":"";n&&(a=-a);let l;if(e.minimumFractionDigits!==void 0&&(l={minimumFractionDigits:e.minimumFractionDigits}),e.maximumFractionDigits!==void 0&&(l=Object.assign({maximumFractionDigits:e.maximumFractionDigits},l)),a<1){const f=K(a,e.locale,l);return h+f+" "+o[0]}const d=Math.min(Math.floor(e.binary?Math.log(a)/Math.log(1024):Math.log10(a)/3),o.length-1);a/=Math.pow(e.binary?1024:1e3,d),l||(a=a.toPrecision(3));const u=K(Number(a),e.locale,l),v=o[d];return h+u+" "+v};const pe=Z(Se);const Ne="_title_jd9ry_1",je="_header_jd9ry_4",be="_logo_jd9ry_14",we="_imageFastPreview_jd9ry_18",Te="_list_jd9ry_53",P={title:Ne,header:je,logo:be,imageFastPreview:we,"site-tag-plus":"_site-tag-plus_jd9ry_34","ant-table-row":"_ant-table-row_jd9ry_38","ant-tag":"_ant-tag_jd9ry_44",delete:"_delete_jd9ry_47","score-tags":"_score-tags_jd9ry_50",list:Te},Me=i.jsx("svg",{style:{width:"1.4em",height:"1.4em",margin:"0 10px"},viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"200",height:"200",children:i.jsx("path",{d:"M960 1024H64a64 64 0 0 1-64-64V64a64 64 0 0 1 64-64h896a64 64 0 0 1 64 64v896a64 64 0 0 1-64 64z m0-896a64 64 0 0 0-64-64H128a64 64 0 0 0-64 64v768a64 64 0 0 0 64 64h768a64 64 0 0 0 64-64V128z m-128 640h-128a64 64 0 0 1 0-128h64V576h-64a64 64 0 0 1 0-128h64V384h-64a64 64 0 0 1 0-128h128a64 64 0 0 1 64 64v384a64 64 0 0 1-64 64z m-320-128a64 64 0 0 1 0 128H384a64 64 0 0 1-64-64V512a64 64 0 0 1 64-64h64V384H384a64 64 0 0 1 0-128h128a64 64 0 0 1 64 64v192a64 64 0 0 1-64 64H448v64h64z m-320 128a64 64 0 0 1-64-64V320a64 64 0 0 1 128 0v384a64 64 0 0 1-64 64z"})}),Je=i.jsxs("svg",{style:{width:"1.5em",height:"1.5em",margin:"0 10px"},viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"200",height:"200",children:[i.jsx("path",{d:"M428.62 383.7l193.23-45.33v-31.94l-193.23 45.48zM374.7 656c-10.23-8.15-25.15-13.26-41.74-13.26-16.59 0-31.52 5.11-42.02 13.26-8.85 7.19-14.65 16.59-14.65 26.54 0 10.23 5.8 19.63 14.65 26.82 10.5 8.15 25.44 12.99 42.02 12.99 16.59 0 31.51-4.84 41.74-12.99 9.26-7.19 14.93-16.59 14.93-26.82 0.01-9.95-5.67-19.35-14.93-26.54zM607.2 602.65v-0.14c-10.5-8.15-25.44-13.14-42.02-13.14-16.59 0-31.51 4.98-42.02 13.14-8.85 7.05-14.65 16.59-14.65 26.68 0 9.95 5.8 19.49 14.65 26.54 10.52 8.29 25.44 13.26 42.02 13.26 16.59 0 31.52-4.97 42.02-13.26 8.85-6.78 14.38-16.32 14.65-25.99v-0.96c-0.14-9.97-5.8-19.22-14.65-26.13z",fill:"#000000"}),i.jsx("path",{d:"M512 64C264.58 64 64 264.58 64 512s200.58 448 448 448 448-200.58 448-448S759.42 64 512 64z m148.83 565.19v0.82c-0.28 22.26-11.61 42.3-29.85 56.4-17.14 13.55-40.37 21.56-65.8 21.56s-48.79-8.01-65.93-21.29c-18.39-14.51-29.72-34.69-29.72-57.49 0-22.67 11.34-42.86 29.72-57.23 17.14-13.4 40.35-21.57 65.93-21.57 21.02 0 40.64 5.68 56.67 15.34V362.27l-193.23 45.48V683.64c-0.28 22.13-11.75 42.03-29.87 56.41-17.14 13.26-40.35 21.43-65.79 21.43-25.43 0-48.79-8.17-65.8-21.43-18.51-14.65-29.99-34.69-29.99-57.51 0-22.39 11.48-42.84 29.99-57.23 17.01-13.26 40.37-21.29 65.8-21.29 21 0 40.78 5.53 56.67 15.07V333.94l0.27-0.68v-0.28l0.14-0.27V332.02l0.14-0.28 0.14-0.27v-0.55h0.13l0.14-0.7v-0.28c0.41-0.96 0.98-2.06 1.53-2.9v-0.27l0.27-0.14v-0.28l0.28-0.13 0.13-0.57 0.28-0.27 0.55-0.55v-0.55h0.28l0.13-0.28 0.28-0.27 0.27-0.14v-0.14l0.28-0.27 1.1-0.84v-0.27h0.14l0.41-0.28 0.14-0.27h0.14l0.82-0.84 0.28-0.14 0.27-0.14v-0.13l0.28-0.14 0.82-0.41v-0.14l0.69-0.41h0.14c0.84-0.42 1.66-0.7 2.63-0.98 0.82-0.55 1.78-0.82 2.9-0.82l230.83-54.32c10.23-2.35 20.18 3.6 23.23 13.26v0.28c0.82 2.07 1.1 4.15 1.1 6.49v346.11z",fill:"#000000"})]});function Ye(){var N,j;const a=ce(),e=A.useRef(),[o,n]=A.useState(null),h=A.useRef(null),[l,d]=A.useState([]),[u,v]=z(async()=>await T.get("/api/tags"),[]),f=_(),r=A.useMemo(()=>{try{const s=q.parse(f.search),t=JSON.parse(decodeURIComponent(s.search))||{};return F(t)}catch{return{}}},[f.search]);A.useEffect(()=>{v()},[]);const[B,y]=z(async()=>{var s;try{const t=await T("/api/musicSets",{params:{total:(s=B.value)==null?void 0:s.total,limit:50,offset:0,...r}});return{data:t.rows,success:!0,total:t.count}}catch(t){console.error(t)}return{data:void 0,success:!1}},[r]);Ee(()=>{y()},1e3,[r]);const p=[{title:a.formatMessage({id:"home.column.preview"}),dataIndex:"content",width:54,hideInSearch:!0,render:(s,t,c)=>i.jsx(M,{width:40,height:40,preview:!1,onMouseEnter:()=>{var Q,m;const g=(m=(Q=t.content)==null?void 0:Q.images)==null?void 0:m[0];n(g?{...g,url:U(g.url)}:null)},onMouseLeave:()=>n(null),onClick:()=>{n(null),d(t.content.images.map(g=>U(g.url)))},style:{cursor:"pointer"},src:"data:image/png;base64,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"})},{title:a.formatMessage({id:"home.column.name"}),dataIndex:"name",sorter:!0,initialValue:r.search,sortOrder:r.sortedBy==="name"&&r.sortedType?{asc:"ascend",desc:"descend"}[r.sortedType]:null,render:(s,t,c)=>i.jsx(k,{style:{display:"flex"},to:`/${{stave:"playground",simple:"numbered"}[t.type]}/${t.id}`,children:`${t.name||a.formatMessage({id:"common.untitled"})}`})},{title:a.formatMessage({id:"home.column.type"}),dataIndex:"type",width:"6em",sorter:!0,initialValue:r.search,sortOrder:r.sortedBy==="type"&&r.sortedType?{asc:"ascend",desc:"descend"}[r.sortedType]:null,render:(s,t,c)=>({stave:Je,simple:Me})[t.type]},{title:i.jsx(ee,{}),dataIndex:"tagIdList",width:"2em",valueType:"select",filters:!0,hideInSearch:!0,filteredValue:(r==null?void 0:r.tagIdList)||[],valueEnum:()=>{var s;return((s=u.value)==null?void 0:s.reduce((t,c)=>({...t,[c.id]:{text:c.name||" "}}),{}))||{}},render:(s,t,c)=>i.jsx(te,{preview:!0,id:t.id,tagList:t.tagList,onChange:g=>{console.log("tags",g),t.tagList=g}},t.id)},{title:a.formatMessage({id:"home.column.pages"}),render:(s,t)=>{var c,g;return(g=(c=t.content)==null?void 0:c.images)==null?void 0:g.length},width:"4em",align:"center",hideInSearch:!0},{title:a.formatMessage({id:"home.column.size"}),width:"6em",render:(s,t)=>{var c,g,Q;return((c=t.content)==null?void 0:c.images)&&pe((Q=(g=t.content)==null?void 0:g.images)==null?void 0:Q.reduce((m,E)=>m+((E==null?void 0:E.size)??0),0))},align:"center",hideInSearch:!0},{title:a.formatMessage({id:"home.column.lastUpdate"}),width:"12em",dataIndex:"lastUpdateAt",sorter:!0,sortOrder:r.sortedBy==="lastUpdateAt"&&r.sortedType?{asc:"ascend",desc:"descend"}[r.sortedType]:null,hideInSearch:!0},{title:a.formatMessage({id:"home.column.actions"}),width:"4em",hideInSearch:!0,render:(s,t,c)=>[(!t.tagList||!t.tagList.length)&&i.jsx(V,{title:a.formatMessage({id:"home.confirmDelete"}),okText:a.formatMessage({id:"common.confirm"}),cancelText:a.formatMessage({id:"common.cancel"}),icon:i.jsx(X,{}),onConfirm:async()=>{await T.delete(`/api/musicSets/${t.id}`)&&(de.success(a.formatMessage({id:"home.deleteSuccess"})),await y())},children:i.jsx(J,{className:"delete",type:"link",children:i.jsx(me,{})})},"delete")]}];return i.jsxs(S,{children:[i.jsx(S.Header,{className:P.header,children:i.jsxs(W,{children:[i.jsx(k,{className:P.logo,to:"/",children:"STARRYâœĻ"}),i.jsxs(J,{onClick:()=>{w.push("/playground")},children:[i.jsx(R,{}),a.formatMessage({id:"home.createStave"})]}),i.jsxs(J,{onClick:()=>{w.push("/numbered")},children:[i.jsx(R,{}),a.formatMessage({id:"home.createNumbered"})]}),i.jsx($,{})]})}),i.jsx(S,{style:{minHeight:"100vh"},children:i.jsx(S.Content,{style:{padding:"0 50px 50px",marginTop:"104px",width:"unset"},children:i.jsx(he,{loading:B.loading,dataSource:(N=B.value)==null?void 0:N.data,style:{maxWidth:"100em",margin:"0 auto"},actionRef:e,formRef:h,columns:p,search:{filterType:"light"},size:"small",options:{density:!1,reload:y},pagination:{total:(j=B.value)==null?void 0:j.total,pageSize:50,current:+r.offset/+r.limit+1||1},onChange:(s,t,c,g)=>{var E;const Q={ascend:"asc",descend:"desc"}[c.order],m={...r,offset:(s.current-1)*s.pageSize,limit:s.pageSize,tagIdList:t.tagIdList,search:r.search};c.order?(m.sortedBy=c.field,m.sortedType=Q):(m.sortedBy=null,m.sortedType=null),((E=t.tagIdList)==null?void 0:E.length)>0?m.tagIdList=t.tagIdList:m.tagIdList=null,console.log("onChange"),w.push({search:`search=${encodeURIComponent(JSON.stringify(F(m)))}`})},beforeSearchSubmit:s=>{const t={...r,search:s.name};console.log("beforeSearchSubmit",t),w.push({search:Object.values(t).filter(Boolean).length>0?`search=${encodeURIComponent(JSON.stringify(t))}`:""})},rowKey:"id"})})}),i.jsx(S.Footer,{style:{textAlign:"center"},children:a.formatMessage({id:"common.footer"})}),o&&i.jsx("div",{className:P.imageFastPreview,children:i.jsx("img",{src:o.url,style:{objectFit:"contain",objectPosition:"center",maxHeight:"100%",maxWidth:"100%",backgroundColor:"#ffffff",boxShadow:"0 0 10px 0px rgba(0,0,0,0.5)"},alt:""})}),i.jsx(Be,{}),i.jsx(M.PreviewGroup,{preview:{open:l.length>0,destroyOnClose:!0,onOpenChange:s=>{s||d([])}},children:l.map((s,t)=>i.jsx(M,{wrapperStyle:{fontSize:"12px"},height:40,src:s},t))})]})}function F(a){return Object.entries(a).reduce((e,[o,n])=>{var l,d;return(o==="tagIdList"&&((d=(l=n==null?void 0:n.filter)==null?void 0:l.call(n,u=>/^\d+$/.test(String(n))))==null?void 0:d.length)>0||n)&&(e[o]=n),e},{})}export{Ye as default}; diff --git a/dist/assets/index-27f1d186.js b/dist/assets/index-27f1d186.js new file mode 100644 index 0000000000000000000000000000000000000000..153ba2ecca646bbc9ed0ecbfc65126fb6a17eb64 --- /dev/null +++ b/dist/assets/index-27f1d186.js @@ -0,0 +1 @@ +import{r as x,j as e,a as O}from"./umi-5db3d28e.js";import{T as E,S as F,a as V,r as Y,s as z,m as I,L as U}from"./index-92707990.js";import{S as _}from"./scheduler-a7fa9c3c.js";import{c as S,u as q,r as D,n as W}from"./_setToString-b6377390.js";import{p as G,S as H,a as J,P as X}from"./index-b31ea91f.js";import{B as K}from"./button-4b0c0e6b.js";import{S as Q,a as Z}from"./index-ab635559.js";import{u as ee}from"./useAsync-2abea265.js";import"./jszip.min-e4fdfe8f.js";const te=({translateX:h=0,translateY:y,width:m,additionalLines:s,...o})=>e.jsxs("g",{...o,className:"staff-lines",transform:`translate(${h}, ${y})`,children:[new Array(5).fill(null).map((i,n)=>e.jsx("line",{x1:0,x2:m,y1:n-2,y2:n-2},n)),s&&s.map((i,n)=>e.jsx("g",{children:Array(Math.abs(i.n)).fill(null).map((d,r)=>e.jsx("line",{x1:i.left,x2:i.right,y1:i.n>0?3+r:-3-r,y2:i.n>0?3+r:-3-r},r))},n))]}),se=x.memo(te),C=({score:h,page:y,pageIndex:m,system:s,systemIndex:o,staff:i,staffIndex:n})=>{var d;return e.jsx(e.Fragment,{children:e.jsxs("g",{className:S("staff",{moving:!1}),transform:`translate(0, ${i.top})`,children:[e.jsxs("g",{children:[e.jsx(se,{translateY:i.staffY,width:s.width,additionalLines:i.additionalLines}),(d=i==null?void 0:i.measures)==null?void 0:d.map((r,c)=>{var t;return e.jsxs("g",{children:[n===0&&e.jsx("text",{x:r.left,y:Math.min(5,i.staffY-3),fontSize:c===0?1.4:.9,fill:"#e65019",children:s.headMeasureIndex+c+1}),e.jsx("g",{transform:`translate(0, ${i.staffY})`,children:e.jsx("g",{className:"tokens",children:(t=r==null?void 0:r.tokens)==null?void 0:t.filter(a=>E.includes(a.type)).map((a,l)=>e.jsxs("g",{className:S("token",{}),transform:`translate(${a.x}, ${a.y})`,id:a.id,onClick:()=>console.log(a),children:[a.voice?e.jsxs("title",{children:["voice-",a.voiceIndices.join(",")]}):null,e.jsx("use",{xlinkHref:`#score-token-def-${a.typeId}`})]},l))})})]},c)})]}),e.jsx("g",{className:"measure-bars",children:s.measureBars.map((r,c)=>e.jsx("g",{className:S("measure-bar"),transform:`translate(${r}, ${i.staffY-2})`,children:e.jsx("line",{x1:0,x2:0,y1:0,y2:4})},c))})]})})};x.memo(C);const ne=h=>{var n,d;const{score:y,pageIndex:m,system:s,systemIndex:o}=h;if(s.staves.length===0)return e.jsx("g",{},o);const i=G(y.staffLayoutCode);return e.jsxs("g",{className:S("system",{}),transform:`translate(${s.left}, ${s.top})`,children:[s.backgroundImage&&!((n=s.staves[0])!=null&&n.backgroundImage)&&!((d=s.staves[0])!=null&&d.maskImage)&&e.jsx("image",{className:"background",href:s.backgroundImage,...s.imagePosition||{}}),s.staves.length>=2&&e.jsx("line",{className:"connection",x1:0,x2:0,y1:s.connectionLine.top,y2:s.connectionLine.bottom}),s.staves.map((r,c)=>e.jsxs("g",{className:S("staff"),transform:`translate(0, ${r.top})`,children:[!r.maskImage&&r.backgroundImage&&e.jsx("image",{className:"background",href:r.backgroundImage,...r.imagePosition||{}}),r.maskImage&&e.jsx("image",{className:"background",href:r.maskImage,...r.imagePosition||{}})]},"staff-"+c)),s.staves.map((r,c)=>e.jsx(C,{...h,staff:r,staffIndex:c},c)),e.jsx("g",{className:"measure-bars",children:s.measureBars.map((r,c)=>e.jsx("g",{transform:`translate(${r}, 0)`,children:i.mask(s.staffMask).conjunctions.map((t,a)=>{const l=s.staves[a],f=s.staves[a+1];if(l&&f)return e.jsx("g",{transform:`translate(0, ${l.top+l.staffY+2})`,children:e.jsx("line",{className:S("staff-layout-measure-bar",{dashed:t===1,blank:t===0}),x1:"0",x2:"0",y1:0,y2:f.top+f.staffY-(l.top+l.staffY)-4})},a)})},c))}),e.jsx(Q,{layout:i.mask(s.staffMask),positions:s.staffPositions,nameDict:(!s.prev||s.staffMask!==s.prev.staffMask)&&y.instrumentDict})]},o)},re=x.memo(ne),ae=({score:h,pageIndex:y,cursorPosition:m,onSeekPosition:s})=>{var d,r,c;const o=h.pages[y],i=x.useRef(null);if(!o)return null;const n=x.useMemo(()=>{let t=0;if(m){let a=0;for(const[l,f]of h.pages.entries()){if(m.system>=a-1&&m.system{i.current&&i.current.scrollIntoView({block:"center",behavior:"smooth"})},[i.current,n]),e.jsx("div",{children:e.jsxs("svg",{className:S("graph",{}),style:{objectFit:"contain"},viewBox:`0 0 ${o.width} ${o.height}`,children:[e.jsx(Z,{}),(d=o==null?void 0:o.systems)==null?void 0:d.map((t,a)=>e.jsx(re,{score:h,page:o,pageIndex:y,system:t,systemIndex:a},a)),(o==null?void 0:o.semantics)&&e.jsx("g",{children:(r=o==null?void 0:o.semantics)==null?void 0:r.map((t,a)=>{var l,f,j,k,v,g;if(t.semantic===F.rect_Text)return e.jsx("g",{transform:`translate(${t.x}, ${t.y}) ${(l=t.extension)!=null&&l.theta?`rotate(${((f=t.extension)==null?void 0:f.theta)*180/Math.PI})`:""}`,color:"rgba(25, 175, 230, 0.6)",children:e.jsxs("text",{dominantBaseline:"hanging",x:0,y:-((j=t.extension)==null?void 0:j.height)/2,textAnchor:"middle",style:{fontSize:(k=t.extension)==null?void 0:k.height},children:[(v=t.extension)==null?void 0:v.text,e.jsx("title",{children:((g=t.extension)==null?void 0:g.type)||t.semantic})]})},a)})}),(o==null?void 0:o.tokens)&&e.jsx("g",{children:(c=o==null?void 0:o.tokens)==null?void 0:c.map((t,a)=>{if(t.type===V.Text)return e.jsx("g",{transform:`translate(${t.x}, ${t.y})`,color:"rgba(25, 175, 230, 0.6)",className:"token",children:e.jsxs("text",{dominantBaseline:"hanging",x:0,y:-t.fontSize/2,textAnchor:"middle",style:{fontSize:t.fontSize},className:S(t.textType),children:[t.text,e.jsx("title",{children:t.textType})]})},a)})}),o.systems.map((t,a)=>{const l=h.pages.slice(0,y).reduce((f,j)=>f+j.systems.length,0)+a;return e.jsxs("g",{className:S("system"),transform:`translate(${t.left}, ${t.top})`,children:[e.jsx("rect",{style:{opacity:0},x:0,y:t.noteRange.top,width:t.width,height:t.noteRange.bottom-t.noteRange.top,onClick:f=>{const j=f.target,k=j.getBoundingClientRect(),v=f.clientX-k.left,g=j.getBBox(),u=v/k.width*g.width;s({system:l,x:u})}}),(m==null?void 0:m.system)===l?e.jsx("line",{ref:i,transform:`translate(${m.x}, 0)`,x1:0,x2:0,y1:t.noteRange.top,y2:t.noteRange.bottom,style:{stroke:"lightblue",strokeWidth:1}}):null]},a)})]})})},oe=x.memo(ae),ie=h=>{var v;const y=q(),m=O(),s=x.useRef(new H(performance)),[o,i]=x.useState(),n=x.useRef(null),d=x.useRef(null),[r,c]=x.useState(!1),[t,a]=x.useState(!1),l=ee(async()=>{var b,L,w,P;const g=(m==null?void 0:m.id)||((L=(b=h==null?void 0:h.match)==null?void 0:b.params)==null?void 0:L.id),u=await D.get(`/api/musicSets/${g}`);if((w=u==null?void 0:u.content)!=null&&w.scoreURL){const R=await(await fetch(W(u.content.scoreURL))).json(),$=Y(R,z);return $.assemble(((P=$.settings)==null?void 0:P.semanticConfidenceThreshold)??1),$}return u},[]);x.useEffect(()=>{I.MidiAudio.WebAudio.empty()&&I.MidiAudio.loadPlugin({soundfontUrl:"/soundfont/",api:"webaudio"}).then(()=>{a(!0),console.debug("Soundfont loaded.")}),k()},[]);const f=x.useCallback(async g=>{if(!n.current){console.log("please create midi player first");return}const u=n.current.isPlaying;u&&(n.current.pause(),await new Promise(b=>setTimeout(b,0)),document.querySelectorAll(".notePlayOn").forEach(b=>b.classList.remove("notePlayOn"))),n.current.progressTicks=d.current.lookupTick(g),u&&j()},[]),j=()=>{var g;(g=n.current)!=null&&g.isPlaying?(n.current.pause(),c(!1)):(k(),n.current.play({nextFrame:()=>(d.current&&i(d.current.lookupPosition(n.current.progressTicks)),new Promise(u=>requestAnimationFrame(()=>u())))}),c(!0))},k=()=>{var R,$;if(!(($=(R=l.value)==null?void 0:R.systems)!=null&&$.length))return;const{notation:g,tokenMap:u}=l.value.spartito.perform(),b=l.value.getMeasureLayout(),L=b?b.serialize(U.Full):Array(g.measures.length).fill(null).map((p,N)=>N+1),w=g.toPerformingNotationWithEvents(L);Math.round(6e7/w.tempos[0].tempo),d.current=_.createFromNotation(w,u);const P=n.current?n.current.progressTicks:0;n.current&&n.current.dispose(),n.current=new I.MidiPlayer(w,{cacheSpan:200,onMidi:(p,N)=>{let B=null;switch(p.subtype){case"noteOn":I.MidiAudio.noteOn(p.channel,p.noteNumber,p.velocity,N),B=()=>{var M;return(M=p==null?void 0:p.ids)==null?void 0:M.map(A=>{const T=document.getElementById(A);T&&T.classList.add("notePlayOn")})};break;case"noteOff":I.MidiAudio.noteOff(p.channel,p.noteNumber,N),B=()=>{var M;return(M=p==null?void 0:p.ids)==null?void 0:M.map(A=>{const T=document.getElementById(A);T&&T.classList.remove("notePlayOn")})};break}B&&s.current.appendTask(N,B)},onPlayFinish(){n.current&&(n.current.progressTicks=0),c(!1)},onTurnCursor(){n.current&&d.current&&i(d.current.lookupPosition(n.current.progressTicks))}}),n.current.progressTicks=P};return e.jsxs("div",{className:"viewer",children:[e.jsx(K,{style:{position:"fixed",top:"10px",left:"10px"},icon:r?e.jsx(J,{}):e.jsx(X,{}),onClick:j,disabled:!((v=l.value)!=null&&v.spartito)||!t,children:r?y.formatMessage({id:"common.pause"}):y.formatMessage({id:"common.play"})}),!l.loading&&l.value.pages.map((g,u)=>e.jsx(oe,{score:l.value,pageIndex:u,cursorPosition:o,onSeekPosition:f},u))]})},pe=x.memo(ie);export{pe as default}; diff --git a/dist/assets/index-31c782a8.css b/dist/assets/index-31c782a8.css new file mode 100644 index 0000000000000000000000000000000000000000..da35d26fb984746647c6de775a5d6170cf0b672f --- /dev/null +++ b/dist/assets/index-31c782a8.css @@ -0,0 +1 @@ +.viewer{width:100%;height:100%;display:inline-block;position:absolute;top:0;left:0;background-repeat:no-repeat;background-size:contain;pointer-events:auto;overflow:scroll}.viewer .graph{width:100%}.viewer .graph .staff-lines line,.viewer .graph .measure-bars line{stroke:#000;stroke-width:.1}.viewer .graph .staff-lines{pointer-events:none}.viewer .graph image.background{pointer-events:none;opacity:1}.viewer .graph.original image.background{opacity:1}.viewer .graph .connection{stroke:#000;stroke-width:.1}.viewer .graph .measure .pad{fill:transparent}.viewer .graph .measure .pad.highlight{fill:#00ff0021}.viewer .graph .measure .pad.issue{fill:#d8f43615}.viewer .graph .measure .pad.ill{fill:#f4b8362a}.viewer .graph .measure .pad.error{fill:#f443362a}.viewer .graph .measure:hover .pad,.viewer .graph .measure.focus .pad{fill:#00ff0021}.viewer .graph .measure:hover .pad.error,.viewer .graph .measure.focus .pad.error{fill:#f4433659}.viewer .graph .measure .chord-rect{fill:#cfca;stroke:#cfc;stroke-width:.1}.viewer .graph .pan-handle{cursor:move}.viewer .graph .pan-handle use{fill:#fff;stroke:#0006}.viewer .graph .pan-handle.holding use{fill:#fdd;stroke:transparent}.viewer .graph .measure-bar .pan-handle{cursor:col-resize}.viewer .graph .locator use{stroke:transparent}.viewer .graph .cursor-token{pointer-events:none}.viewer .graph .cursor-token use{fill:#0004}.viewer .graph .cursor-token.active use{fill:#04c}.viewer .graph .token text.Title{font-weight:700;fill:#333}.viewer .graph .token text.Author{fill:#355}.viewer .graph .semantic circle{r:.2}.viewer .graph .semantic circle:hover{r:.5}.viewer .graph .semantic circle,.viewer .graph .semantic rect{fill:inherit}.viewer .graph .semantic.highlight circle,.viewer .graph .semantic.highlight rect{r:.3}.viewer .graph .semantic.strong circle,.viewer .graph .semantic.strong rect{r:.4!important;stroke:orange;stroke-width:.2}.viewer .graph .semantic.strong g polygon{transform:scale(1.5)}.viewer .graph .semantic.strong g rect{stroke-width:.8;stroke:orange}.viewer .graph .semantic.vline circle{display:none}.viewer .graph .system .staves{pointer-events:none}.viewer .graph .system .controls text{font-size:2px;cursor:pointer}.viewer .graph .system .controls text.active{stroke:green;stroke-width:.16}.viewer .graph .system .staff.focus .semantic circle{r:.36}.viewer .graph .system .staff.focus .semantic:hover circle{r:.5}.viewer .graph .system .staff.moving{cursor:crosshair;-webkit-user-select:none;-moz-user-select:none;user-select:none}.viewer>.remove{position:absolute;right:0;top:0;transform:translate(100%,-80%);background:white;border-radius:.5em;width:1em;height:1em;text-align:center}.viewer>.remove:hover{color:red;font-weight:700}.viewer .notePlayOn{color:#97ff1e!important}.ant-dropdown-menu{transform:translate(25px)}.staff-layout line{stroke:#000;stroke-width:.1}.staff-rect rect{fill:#f003}.staff-rect line{stroke:#0003}.staff-rect.active rect{fill:transparent}.staff-rect.active line{stroke:#000}.staff-layout-measure-bar{stroke-width:.1}.staff-layout-measure-bar.dashed{stroke-dasharray:.3 .3}.staff-layout-measure-bar.blank{stroke-width:0!important}.brackets-area{fill:transparent;cursor:pointer}.brackets-area:hover{fill:#0002}.tick-line{pointer-events:none}.tick-line rect,.tick-line path{fill:#0d46639c!important}.tick-line .fraction text{font-size:1.2px;font-weight:700}.tick-line .integer{font-size:1px} diff --git a/dist/assets/index-5ecf8580.css b/dist/assets/index-5ecf8580.css new file mode 100644 index 0000000000000000000000000000000000000000..52a1beff41188c48c6c31e6c74ed60826b40714a --- /dev/null +++ b/dist/assets/index-5ecf8580.css @@ -0,0 +1 @@ +.title{background:#79f29d}.header{box-shadow:0 0 4px #0004;background-color:#fff;position:fixed;z-index:100;width:100%;display:flex;align-items:center;justify-content:space-between}.header .logo{font-size:26px;font-weight:700}.imageFastPreview{pointer-events:none;position:fixed;top:0;left:0;width:100%;height:100vh;z-index:999999;background-repeat:no-repeat;background-position:center center;background-size:contain;transform:scale(.9);display:flex;justify-content:center;align-items:center}.site-tag-plus{background:#fff;border-style:dashed}.ant-table-row .site-tag-plus{visibility:hidden}.ant-table-row:hover .site-tag-plus{visibility:visible}.ant-table-row .ant-tag{font-size:120%}.ant-table-row .delete:hover{color:red}.ant-table-row .score-tags{display:flex}.ant-table-row .score-tags .list{flex:0 0;max-width:0;white-space:nowrap;overflow-x:visible;direction:rtl}.ant-table-row .score-tags .list span{direction:ltr}._title_jd9ry_1{background:#79f29d}._header_jd9ry_4{box-shadow:0 0 4px #0004;background-color:#fff;position:fixed;z-index:100;width:100%;display:flex;align-items:center;justify-content:space-between}._header_jd9ry_4 ._logo_jd9ry_14{font-size:26px;font-weight:700}._imageFastPreview_jd9ry_18{pointer-events:none;position:fixed;top:0;left:0;width:100%;height:100vh;z-index:999999;background-repeat:no-repeat;background-position:center center;background-size:contain;transform:scale(.9);display:flex;justify-content:center;align-items:center}._site-tag-plus_jd9ry_34{background:#fff;border-style:dashed}._ant-table-row_jd9ry_38 ._site-tag-plus_jd9ry_34{visibility:hidden}._ant-table-row_jd9ry_38:hover ._site-tag-plus_jd9ry_34{visibility:visible}._ant-table-row_jd9ry_38 ._ant-tag_jd9ry_44{font-size:120%}._ant-table-row_jd9ry_38 ._delete_jd9ry_47:hover{color:red}._ant-table-row_jd9ry_38 ._score-tags_jd9ry_50{display:flex}._ant-table-row_jd9ry_38 ._score-tags_jd9ry_50 ._list_jd9ry_53{flex:0 0;max-width:0;white-space:nowrap;overflow-x:visible;direction:rtl}._ant-table-row_jd9ry_38 ._score-tags_jd9ry_50 ._list_jd9ry_53 span{direction:ltr} diff --git a/dist/assets/index-76aea0c0.js b/dist/assets/index-76aea0c0.js new file mode 100644 index 0000000000000000000000000000000000000000..9e5eb21fa249fe5d79f381470c507ddb22df7ffd --- /dev/null +++ b/dist/assets/index-76aea0c0.js @@ -0,0 +1,1573 @@ +import{r as de,c as po,g as di,j as se,R as Qt,_ as Et,b as Cc,d as Mr,e as ap,p as Mo,w as lp,f as cp,i as up,k as hp,a as dp}from"./umi-5db3d28e.js";import{W as K1,C as ol,b as Rr,c as dh,E as ai,d as ni,e as ph,a as mt,f as fh,g as pp,h as Zi,i as A1,j as fp,G as gp,k as mp,l as vp,n as yp,r as Ur,s as Xr,o as Cp,q as bp,t as ln,u as bc,m as er,v as Is,w as Ip,x as wp,y as Ap,z as Sp,S as sl,A as Ic,T as xp,P as Mp,B as wc,L as Ep,D as zp}from"./index-92707990.js";import{A as Mn,g as Ft,h as kp,i as Nt,j as Ac,p as Lp,r as Hn,m as Un,u as zr,c as vt,k as Tp,l as fo,q as wn,s as Rp,v as al,x as ll,y as Hp,z as U1,B as X1,D as Vp,E as _p,F as Np,G as Op,H as Pp,I as Dp,J as $p,K as Bp,L as mr,M as kr,f as gh,N as oo,O as Sc,n as ws,P as Fp,Q as xc,R as Wp,S as Gp,T as jp,U as Zp}from"./_setToString-b6377390.js";import{r as Kp,u as pi,a as mh,b as cl,c as Up,P as ul,d as Xp,I as Mc,e as hl,f as vh,g as Y1,h as dl,i as pl,j as yh,k as fl,l as gl,m as ml,n as Ch,o as bh,p as Ih,q as wh,A as Yp,s as Jp,t as Qp,v as qp,w as ef,x as tf,y as nf,z as As,B as rf,C as of,D as Nn,E as sf,S as af,F as lf,G as cf,H as uf,J as hf}from"./index.less_used_.module-901cad17.js";import{S as df}from"./scheduler-a7fa9c3c.js";import{t as Ah,c as Pt,S as Sh,d as pf,p as vl,m as so,i as Ec,n as Ss,P as ff,a as gf,b as mf,e as vf,u as yf,s as Cf,f as bf}from"./index-b31ea91f.js";import{o as J1,d as Q1,i as xh,n as If,S as Jt,T as ha,C as yl,I as Hr,R as q1,e as Sr,M as g1,Q as Mh,f as wf,D as da,P as Af,q as Sf,b as Eh,L as zc,E as xf,c as Mf,g as Ef}from"./index-bd0091fe.js";import{c as zf,a as kc,g as kf,r as jo,A as Lf,L as Tf,D as Rf,S as Hf}from"./confirm-0e4a5117.js";import{u as Lc,S as Vf,P as _f,A as Tc}from"./Tags-cff5042a.js";import{G as Nf}from"./gaugeRendererGL-9dc55e03.js";import{_ as Ei,r as Of,a as cn,i as Pf}from"./possibleConstructorReturn-4d6ee6c8.js";import{B as kt}from"./button-4b0c0e6b.js";import{w as Df,D as pa,P as fa,I as Rc,R as $f,a as zh,S as Zo,u as kh,A as Lh,b as Ki,c as ga,d as Bf,F as Ln,e as qn,f as Ff}from"./useDebounce-66fbf1ca.js";import{S as S1,d as Wf}from"./index-bf5201f2.js";import{S as Th,a as Gf}from"./index-ab635559.js";import{p as jf}from"./processCompressedAESFile-0502fd8e.js";import{d as to}from"./jszip.min-e4fdfe8f.js";import{u as Zf}from"./useIntersection-0f140edb.js";var Kf={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"defs",attrs:{},children:[{tag:"style",attrs:{}}]},{tag:"path",attrs:{d:"M899.1 869.6l-53-305.6H864c14.4 0 26-11.6 26-26V346c0-14.4-11.6-26-26-26H618V138c0-14.4-11.6-26-26-26H432c-14.4 0-26 11.6-26 26v182H160c-14.4 0-26 11.6-26 26v192c0 14.4 11.6 26 26 26h17.9l-53 305.6a25.95 25.95 0 0025.6 30.4h723c1.5 0 3-.1 4.4-.4a25.88 25.88 0 0021.2-30zM204 390h272V182h72v208h272v104H204V390zm468 440V674c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v156H416V674c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v156H202.8l45.1-260H776l45.1 260H672z"}}]},name:"clear",theme:"outlined"};const Uf=Kf;var Xf=function(t,n){return de.createElement(Mn,Ft(Ft({},t),{},{ref:n,icon:Uf}))},Yf=de.forwardRef(Xf);const ma=Yf;var Jf={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 112c17.7 0 32 14.3 32 32v736c0 17.7-14.3 32-32 32H144c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32zm-40 72H184v656h656V184zM640.01 338.83c.03 0 .05.01.09.06l45.02 45.01a.2.2 0 01.05.09.12.12 0 010 .07c0 .02-.01.04-.05.08L557.25 512l127.87 127.86a.27.27 0 01.05.06v.02a.12.12 0 010 .07c0 .03-.01.05-.05.09l-45.02 45.02a.2.2 0 01-.09.05.12.12 0 01-.07 0c-.02 0-.04-.01-.08-.05L512 557.25 384.14 685.12c-.04.04-.06.05-.08.05a.12.12 0 01-.07 0c-.03 0-.05-.01-.09-.05l-45.02-45.02a.2.2 0 01-.05-.09.12.12 0 010-.07c0-.02.01-.04.06-.08L466.75 512 338.88 384.14a.27.27 0 01-.05-.06l-.01-.02a.12.12 0 010-.07c0-.03.01-.05.05-.09l45.02-45.02a.2.2 0 01.09-.05.12.12 0 01.07 0c.02 0 .04.01.08.06L512 466.75l127.86-127.86c.04-.05.06-.06.08-.06a.12.12 0 01.07 0z"}}]},name:"close-square",theme:"outlined"};const Qf=Jf;var qf=function(t,n){return de.createElement(Mn,Ft(Ft({},t),{},{ref:n,icon:Qf}))},e4=de.forwardRef(qf);const t4=e4;var n4={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M180 176h-60c-4.4 0-8 3.6-8 8v656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V184c0-4.4-3.6-8-8-8zm724 0h-60c-4.4 0-8 3.6-8 8v656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V184c0-4.4-3.6-8-8-8zM785.3 504.3L657.7 403.6a7.23 7.23 0 00-11.7 5.7V476H378v-62.8c0-6-7-9.4-11.7-5.7L238.7 508.3a7.14 7.14 0 000 11.3l127.5 100.8c4.7 3.7 11.7.4 11.7-5.7V548h268v62.8c0 6 7 9.4 11.7 5.7l127.5-100.8c3.8-2.9 3.8-8.5.2-11.4z"}}]},name:"column-width",theme:"outlined"};const r4=n4;var i4=function(t,n){return de.createElement(Mn,Ft(Ft({},t),{},{ref:n,icon:r4}))},o4=de.forwardRef(i4);const s4=o4;var a4={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 912H144c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32h360c4.4 0 8 3.6 8 8v56c0 4.4-3.6 8-8 8H184v656h656V520c0-4.4 3.6-8 8-8h56c4.4 0 8 3.6 8 8v360c0 17.7-14.3 32-32 32zM770.87 199.13l-52.2-52.2a8.01 8.01 0 014.7-13.6l179.4-21c5.1-.6 9.5 3.7 8.9 8.9l-21 179.4c-.8 6.6-8.9 9.4-13.6 4.7l-52.4-52.4-256.2 256.2a8.03 8.03 0 01-11.3 0l-42.4-42.4a8.03 8.03 0 010-11.3l256.1-256.3z"}}]},name:"export",theme:"outlined"};const l4=a4;var c4=function(t,n){return de.createElement(Mn,Ft(Ft({},t),{},{ref:n,icon:l4}))},u4=de.forwardRef(c4);const h4=u4;var d4={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880.1 154H143.9c-24.5 0-39.8 26.7-27.5 48L349 607.4V838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V607.4L907.7 202c12.2-21.3-3.1-48-27.6-48zM603.4 798H420.6V650h182.9v148zm9.6-226.6l-8.4 14.6H419.3l-8.4-14.6L334.4 438h355.2L613 571.4zM726.3 374H297.7l-85-148h598.6l-85 148z"}}]},name:"funnel-plot",theme:"outlined"};const p4=d4;var f4=function(t,n){return de.createElement(Mn,Ft(Ft({},t),{},{ref:n,icon:p4}))},g4=de.forwardRef(f4);const m4=g4;var v4={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M928 392c8.8 0 16-7.2 16-16V192c0-8.8-7.2-16-16-16H744c-8.8 0-16 7.2-16 16v56H296v-56c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16v184c0 8.8 7.2 16 16 16h56v240H96c-8.8 0-16 7.2-16 16v184c0 8.8 7.2 16 16 16h184c8.8 0 16-7.2 16-16v-56h432v56c0 8.8 7.2 16 16 16h184c8.8 0 16-7.2 16-16V648c0-8.8-7.2-16-16-16h-56V392h56zM792 240h88v88h-88v-88zm-648 88v-88h88v88h-88zm88 456h-88v-88h88v88zm648-88v88h-88v-88h88zm-80-64h-56c-8.8 0-16 7.2-16 16v56H296v-56c0-8.8-7.2-16-16-16h-56V392h56c8.8 0 16-7.2 16-16v-56h432v56c0 8.8 7.2 16 16 16h56v240z"}}]},name:"gateway",theme:"outlined"};const y4=v4;var C4=function(t,n){return de.createElement(Mn,Ft(Ft({},t),{},{ref:n,icon:y4}))},b4=de.forwardRef(C4);const Rh=b4;var I4={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M696 480H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"minus-circle",theme:"outlined"};const w4=I4;var A4=function(t,n){return de.createElement(Mn,Ft(Ft({},t),{},{ref:n,icon:w4}))},S4=de.forwardRef(A4);const Hc=S4;var x4={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"defs",attrs:{},children:[{tag:"style",attrs:{}}]},{tag:"path",attrs:{d:"M843.5 737.4c-12.4-75.2-79.2-129.1-155.3-125.4S550.9 676 546 752c-153.5-4.8-208-40.7-199.1-113.7 3.3-27.3 19.8-41.9 50.1-49 18.4-4.3 38.8-4.9 57.3-3.2 1.7.2 3.5.3 5.2.5 11.3 2.7 22.8 5 34.3 6.8 34.1 5.6 68.8 8.4 101.8 6.6 92.8-5 156-45.9 159.2-132.7 3.1-84.1-54.7-143.7-147.9-183.6-29.9-12.8-61.6-22.7-93.3-30.2-14.3-3.4-26.3-5.7-35.2-7.2-7.9-75.9-71.5-133.8-147.8-134.4-76.3-.6-140.9 56.1-150.1 131.9s40 146.3 114.2 163.9c74.2 17.6 149.9-23.3 175.7-95.1 9.4 1.7 18.7 3.6 28 5.8 28.2 6.6 56.4 15.4 82.4 26.6 70.7 30.2 109.3 70.1 107.5 119.9-1.6 44.6-33.6 65.2-96.2 68.6-27.5 1.5-57.6-.9-87.3-5.8-8.3-1.4-15.9-2.8-22.6-4.3-3.9-.8-6.6-1.5-7.8-1.8l-3.1-.6c-2.2-.3-5.9-.8-10.7-1.3-25-2.3-52.1-1.5-78.5 4.6-55.2 12.9-93.9 47.2-101.1 105.8-15.7 126.2 78.6 184.7 276 188.9 29.1 70.4 106.4 107.9 179.6 87 73.3-20.9 119.3-93.4 106.9-168.6zM329.1 345.2a83.3 83.3 0 11.01-166.61 83.3 83.3 0 01-.01 166.61zM695.6 845a83.3 83.3 0 11.01-166.61A83.3 83.3 0 01695.6 845z"}}]},name:"node-index",theme:"outlined"};const M4=x4;var E4=function(t,n){return de.createElement(Mn,Ft(Ft({},t),{},{ref:n,icon:M4}))},z4=de.forwardRef(E4);const Vc=z4;var k4={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-80 600c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V360c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v304zm224 0c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V360c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v304z"}}]},name:"pause-circle",theme:"filled"};const L4=k4;var T4=function(t,n){return de.createElement(Mn,Ft(Ft({},t),{},{ref:n,icon:L4}))},R4=de.forwardRef(T4);const H4=R4;var V4={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm144.1 454.9L437.7 677.8a8.02 8.02 0 01-12.7-6.5V353.7a8 8 0 0112.7-6.5L656.1 506a7.9 7.9 0 010 12.9z"}}]},name:"play-circle",theme:"filled"};const _4=V4;var N4=function(t,n){return de.createElement(Mn,Ft(Ft({},t),{},{ref:n,icon:_4}))},O4=de.forwardRef(N4);const P4=O4;var D4={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M926.8 397.1l-396-288a31.81 31.81 0 00-37.6 0l-396 288a31.99 31.99 0 00-11.6 35.8l151.3 466a32 32 0 0030.4 22.1h489.5c13.9 0 26.1-8.9 30.4-22.1l151.3-466c4.2-13.2-.5-27.6-11.7-35.8zM838.6 417l-98.5 32-200-144.7V199.9L838.6 417zM466 567.2l-89.1 122.3-55.2-169.2L466 567.2zm-116.3-96.8L484 373.3v140.8l-134.3-43.7zM512 599.2l93.9 128.9H418.1L512 599.2zm28.1-225.9l134.2 97.1L540.1 514V373.3zM558 567.2l144.3-46.9-55.2 169.2L558 567.2zm-74-367.3v104.4L283.9 449l-98.5-32L484 199.9zM169.3 470.8l86.5 28.1 80.4 246.4-53.8 73.9-113.1-348.4zM327.1 853l50.3-69h269.3l50.3 69H327.1zm414.5-33.8l-53.8-73.9 80.4-246.4 86.5-28.1-113.1 348.4z"}}]},name:"radar-chart",theme:"outlined"};const $4=D4;var B4=function(t,n){return de.createElement(Mn,Ft(Ft({},t),{},{ref:n,icon:$4}))},F4=de.forwardRef(B4);const Hh=F4;var W4={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M864 736c0-111.6-65.4-208-160-252.9V317.3c0-15.1-5.3-29.7-15.1-41.2L536.5 95.4C530.1 87.8 521 84 512 84s-18.1 3.8-24.5 11.4L335.1 276.1a63.97 63.97 0 00-15.1 41.2v165.8C225.4 528 160 624.4 160 736h156.5c-2.3 7.2-3.5 15-3.5 23.8 0 22.1 7.6 43.7 21.4 60.8a97.2 97.2 0 0043.1 30.6c23.1 54 75.6 88.8 134.5 88.8 29.1 0 57.3-8.6 81.4-24.8 23.6-15.8 41.9-37.9 53-64a97 97 0 0043.1-30.5 97.52 97.52 0 0021.4-60.8c0-8.4-1.1-16.4-3.1-23.8H864zM762.3 621.4c9.4 14.6 17 30.3 22.5 46.6H700V558.7a211.6 211.6 0 0162.3 62.7zM388 483.1V318.8l124-147 124 147V668H388V483.1zM239.2 668c5.5-16.3 13.1-32 22.5-46.6 16.3-25.2 37.5-46.5 62.3-62.7V668h-84.8zm388.9 116.2c-5.2 3-11.2 4.2-17.1 3.4l-19.5-2.4-2.8 19.4c-5.4 37.9-38.4 66.5-76.7 66.5-38.3 0-71.3-28.6-76.7-66.5l-2.8-19.5-19.5 2.5a27.7 27.7 0 01-17.1-3.5c-8.7-5-14.1-14.3-14.1-24.4 0-10.6 5.9-19.4 14.6-23.8h231.3c8.8 4.5 14.6 13.3 14.6 23.8-.1 10.2-5.5 19.6-14.2 24.5zM464 400a48 48 0 1096 0 48 48 0 10-96 0z"}}]},name:"rocket",theme:"outlined"};const G4=W4;var j4=function(t,n){return de.createElement(Mn,Ft(Ft({},t),{},{ref:n,icon:G4}))},Z4=de.forwardRef(j4);const Vh=Z4;var K4={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M567.1 512l318.5-319.3c5-5 1.5-13.7-5.6-13.7h-90.5c-2.1 0-4.2.8-5.6 2.3l-273.3 274-90.2-90.5c12.5-22.1 19.7-47.6 19.7-74.8 0-83.9-68.1-152-152-152s-152 68.1-152 152 68.1 152 152 152c27.7 0 53.6-7.4 75.9-20.3l90 90.3-90.1 90.3A151.04 151.04 0 00288 582c-83.9 0-152 68.1-152 152s68.1 152 152 152 152-68.1 152-152c0-27.2-7.2-52.7-19.7-74.8l90.2-90.5 273.3 274c1.5 1.5 3.5 2.3 5.6 2.3H880c7.1 0 10.7-8.6 5.6-13.7L567.1 512zM288 370c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80zm0 444c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"}}]},name:"scissor",theme:"outlined"};const U4=K4;var X4=function(t,n){return de.createElement(Mn,Ft(Ft({},t),{},{ref:n,icon:U4}))},Y4=de.forwardRef(X4);const J4=Y4;var Q4={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M839.6 433.8L749 150.5a9.24 9.24 0 00-8.9-6.5h-77.4c-4.1 0-7.6 2.6-8.9 6.5l-91.3 283.3c-.3.9-.5 1.9-.5 2.9 0 5.1 4.2 9.3 9.3 9.3h56.4c4.2 0 7.8-2.8 9-6.8l17.5-61.6h89l17.3 61.5c1.1 4 4.8 6.8 9 6.8h61.2c1 0 1.9-.1 2.8-.4 2.4-.8 4.3-2.4 5.5-4.6 1.1-2.2 1.3-4.7.6-7.1zM663.3 325.5l32.8-116.9h6.3l32.1 116.9h-71.2zm143.5 492.9H677.2v-.4l132.6-188.9c1.1-1.6 1.7-3.4 1.7-5.4v-36.4c0-5.1-4.2-9.3-9.3-9.3h-204c-5.1 0-9.3 4.2-9.3 9.3v43c0 5.1 4.2 9.3 9.3 9.3h122.6v.4L587.7 828.9a9.35 9.35 0 00-1.7 5.4v36.4c0 5.1 4.2 9.3 9.3 9.3h211.4c5.1 0 9.3-4.2 9.3-9.3v-43a9.2 9.2 0 00-9.2-9.3zM416 702h-76V172c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v530h-76c-6.7 0-10.5 7.8-6.3 13l112 141.9a8 8 0 0012.6 0l112-141.9c4.1-5.2.4-13-6.3-13z"}}]},name:"sort-ascending",theme:"outlined"};const q4=Q4;var eg=function(t,n){return de.createElement(Mn,Ft(Ft({},t),{},{ref:n,icon:q4}))},tg=de.forwardRef(eg);const ng=tg;var rg={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M168 504.2c1-43.7 10-86.1 26.9-126 17.3-41 42.1-77.7 73.7-109.4S337 212.3 378 195c42.4-17.9 87.4-27 133.9-27s91.5 9.1 133.8 27A341.5 341.5 0 01755 268.8c9.9 9.9 19.2 20.4 27.8 31.4l-60.2 47a8 8 0 003 14.1l175.7 43c5 1.2 9.9-2.6 9.9-7.7l.8-180.9c0-6.7-7.7-10.5-12.9-6.3l-56.4 44.1C765.8 155.1 646.2 92 511.8 92 282.7 92 96.3 275.6 92 503.8a8 8 0 008 8.2h60c4.4 0 7.9-3.5 8-7.8zm756 7.8h-60c-4.4 0-7.9 3.5-8 7.8-1 43.7-10 86.1-26.9 126-17.3 41-42.1 77.8-73.7 109.4A342.45 342.45 0 01512.1 856a342.24 342.24 0 01-243.2-100.8c-9.9-9.9-19.2-20.4-27.8-31.4l60.2-47a8 8 0 00-3-14.1l-175.7-43c-5-1.2-9.9 2.6-9.9 7.7l-.7 181c0 6.7 7.7 10.5 12.9 6.3l56.4-44.1C258.2 868.9 377.8 932 512.2 932c229.2 0 415.5-183.7 419.8-411.8a8 8 0 00-8-8.2z"}}]},name:"sync",theme:"outlined"};const ig=rg;var og=function(t,n){return de.createElement(Mn,Ft(Ft({},t),{},{ref:n,icon:ig}))},sg=de.forwardRef(og);const _c=sg;function _h(){var e=de.useRef(!0);return e.current?(e.current=!1,!0):e.current}var ag=function(e,t){var n=_h();de.useEffect(function(){if(!n)return e()},t)};const lg=ag;var cg=function(e){e===void 0&&(e={});var t=de.useState(e),n=t[0],r=t[1],o=de.useCallback(function(s){r(function(i){return Object.assign({},i,s instanceof Function?s(i):s)})},[]);return[n,o]};const ug=cg;var hg=function(e,t){e===void 0&&(e=!0);var n=de.useCallback(function(r){var o=typeof e=="function"?e():!0;if(o)return r.preventDefault(),t&&(r.returnValue=t),t},[e,t]);de.useEffect(function(){if(e)return J1(window,"beforeunload",n),function(){return Q1(window,"beforeunload",n)}},[e,n])};const dg=hg;var pg=function(){var e=kp(),t=ug({value:void 0,error:void 0,noUserInteraction:!0}),n=t[0],r=t[1],o=de.useCallback(function(s){if(e()){var i,d;try{if(typeof s!="string"&&typeof s!="number"){var S=new Error("Cannot copy typeof "+typeof s+" to clipboard, must be a string");r({value:s,error:S,noUserInteraction:!0});return}else if(s===""){var S=new Error("Cannot copy empty string to clipboard.");r({value:s,error:S,noUserInteraction:!0});return}d=s.toString(),i=Df(d),r({value:d,error:void 0,noUserInteraction:i})}catch(g){r({value:d,error:g,noUserInteraction:i})}}},[]);return[n,o]};const fg=pg;var gg=function(e,t){var n=de.useState(t),r=n[0],o=n[1];return r==null?[e,o]:[r,o]};const mg=gg;var vg=xh?window:null,Nc=function(e){return!!e.addEventListener},Oc=function(e){return!!e.on},yg=function(e,t,n,r){n===void 0&&(n=vg),de.useEffect(function(){if(t&&n)return Nc(n)?J1(n,e,t,r):Oc(n)&&n.on(e,t,r),function(){Nc(n)?Q1(n,e,t,r):Oc(n)&&n.off(e,t,r)}},[e,t,n,JSON.stringify(r)])};const Nh=yg;var Cg=function(e){return typeof e=="function"?e:typeof e=="string"?function(t){return t.key===e}:e?function(){return!0}:function(){return!1}},bg=function(e,t,n,r){t===void 0&&(t=If),n===void 0&&(n={}),r===void 0&&(r=[e]);var o=n.event,s=o===void 0?"keydown":o,i=n.target,d=n.options,S=de.useMemo(function(){var g=Cg(e),w=function(M){if(g(M))return t(M)};return w},r);Nh(s,S,i,d)};const Si=bg;var Ig=function(e){var t=de.useState([!1,null]),n=t[0],r=t[1];return Si(e,function(o){return r([!0,o])},{event:"keydown"},[n]),Si(e,function(o){return r([!1,o])},{event:"keyup"},[n]),n};const li=Ig;var wg=function(e,t,n,r){r===void 0&&(r=li);var o=r(e),s=o[0],i=o[1];lg(function(){!s&&n?n(i):s&&t&&t(i)},[s])};const Pc=wg;var Ag=function(e,t){de.useEffect(function(){return e&&e(),function(){t&&t()}},[])};const Sg=Ag;function va(e){if(e){if(e.tagName==="BODY")return e;if(e.tagName==="IFRAME"){var t=e.contentDocument;return t?t.body:null}else if(!e.offsetParent)return null}else return null;return va(e.offsetParent)}function Dc(e){var t=e||window.event;return t.touches.length>1?!0:(t.preventDefault&&t.preventDefault(),!1)}var $c=xh&&window.navigator&&window.navigator.platform&&/iP(ad|hone|od)/.test(window.navigator.platform),gi=new Map,Bc=typeof document=="object"?document:void 0,Ko=!1;const xg=Bc?function(t,n){t===void 0&&(t=!0);var r=de.useRef(Bc.body);n=n||r;var o=function(i){var d=gi.get(i);d?gi.set(i,{counter:d.counter+1,initialOverflow:d.initialOverflow}):(gi.set(i,{counter:1,initialOverflow:i.style.overflow}),$c?Ko||(J1(document,"touchmove",Dc,{passive:!1}),Ko=!0):i.style.overflow="hidden")},s=function(i){var d=gi.get(i);d&&(d.counter===1?(gi.delete(i),$c?(i.ontouchmove=null,Ko&&(Q1(document,"touchmove",Dc),Ko=!1)):i.style.overflow=d.initialOverflow):gi.set(i,{counter:d.counter-1,initialOverflow:d.initialOverflow}))};de.useEffect(function(){var i=va(n.current);i&&(t?o(i):s(i))},[t,n.current]),de.useEffect(function(){var i=va(n.current);if(i)return function(){s(i)}},[])}:function(t,n){};function Mg(e,t,n){if(t===void 0&&(t=10),t<1)throw new Error("Capacity has to be greater than 1, got '"+t+"'");var r=_h(),o=de.useState(e),s=o[0],i=o[1],d=de.useRef(n??[]),S=de.useRef(0);r&&(d.current.length?(d.current[d.current.length-1]!==e&&d.current.push(e),d.current.length>t&&(d.current=d.current.slice(d.current.length-t))):d.current.push(e),S.current=d.current.length&&d.current.length-1);var g=de.useCallback(function(M){i(function(R){return M=Kp(M,R),M!==R&&(S.currentt&&(d.current=d.current.slice(d.current.length-t))),M})},[s,t]),w=de.useMemo(function(){return{history:d.current,position:S.current,capacity:t,back:function(M){M===void 0&&(M=1),S.current&&i(function(){return S.current-=Math.min(M,S.current),d.current[S.current]})},forward:function(M){M===void 0&&(M=1),S.current!==d.current.length-1&&i(function(){return S.current=Math.min(S.current+M,d.current.length-1),d.current[S.current]})},go:function(M){M!==S.current&&i(function(){return S.current=M<0?Math.max(d.current.length+M,0):Math.min(d.current.length-1,M),d.current[S.current]})}}},[s]);return[s,g,w]}var Eg=function(e){e===void 0&&(e=new Set);var t=de.useState(e),n=t[0],r=t[1],o=de.useMemo(function(){var i=function(g){return r(function(w){return new Set(Ac(Array.from(w),[g]))})},d=function(g){return r(function(w){return new Set(Array.from(w).filter(function(M){return M!==g}))})},S=function(g){return r(function(w){return w.has(g)?new Set(Array.from(w).filter(function(M){return M!==g})):new Set(Ac(Array.from(w),[g]))})};return{add:i,remove:d,toggle:S,reset:function(){return r(e)},clear:function(){return r(new Set)}}},[r]),s=Nt({has:de.useCallback(function(i){return n.has(i)},[n])},o);return[n,s]};const zg=Eg;var kg=function(){var e=de.useState(function(){return window.location.hash}),t=e[0],n=e[1],r=de.useCallback(function(){n(window.location.hash)},[]);Sg(function(){J1(window,"hashchange",r)},function(){Q1(window,"hashchange",r)});var o=de.useCallback(function(s){s!==t&&(window.location.hash=s)},[t]);return[t,o]},ya={exports:{}},Fc={},Wc;function Lg(){return Wc||(Wc=1),Fc}(function(e,t){(function(n,r){r(t,Lg())})(po,function(n,r){r=r&&r.hasOwnProperty("default")?r.default:r;var o=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(ze){return typeof ze}:function(ze){return ze&&typeof Symbol=="function"&&ze.constructor===Symbol&&ze!==Symbol.prototype?"symbol":typeof ze},s=function(ze,te){if(!(ze instanceof te))throw new TypeError("Cannot call a class as a function")},i=function(){function ze(te,le){for(var ae=0;ae"u")return this.pipes[le];this.pipes[le]=he}if(le&&le.name){if(he=le,he.processor===this)return he;this.pipes[he.name]=he}return he.processor=this,he}},{key:"process",value:function(le,ae){var he=le;he.options=this.options();for(var ie=ae||le.pipe||"default",ue=void 0,pe=void 0;ie;)typeof he.nextAfterChildren<"u"&&(he.next=he.nextAfterChildren,he.nextAfterChildren=null),typeof ie=="string"&&(ie=this.pipe(ie)),ie.process(he),pe=he,ue=ie,ie=null,he&&he.next&&(he=he.next,ie=pe.nextPipe||he.pipe||ue);return he.hasResult?he.result:void 0}}]),ze}(),V=function(){function ze(te){s(this,ze),this.name=te,this.filters=[]}return i(ze,[{key:"process",value:function(le){if(!this.processor)throw new Error("add this pipe to a processor before using it");for(var ae=this.debug,he=this.filters.length,ie=le,ue=0;ue"u"?"undefined":o(ie))==="object"&&ie.exiting){ie.exiting=!1;break}}!ie.next&&this.resultCheck&&this.resultCheck(ie)}},{key:"log",value:function(le){console.log("[jsondiffpatch] "+this.name+" pipe, "+le)}},{key:"append",value:function(){var le;return(le=this.filters).push.apply(le,arguments),this}},{key:"prepend",value:function(){var le;return(le=this.filters).unshift.apply(le,arguments),this}},{key:"indexOf",value:function(le){if(!le)throw new Error("a filter name is required");for(var ae=0;ae"u"?"undefined":o(ze))!=="object")return ze;if(ze===null)return null;if(k(ze))return ze.map(I);if(ze instanceof Date)return new Date(ze.getTime());if(ze instanceof RegExp)return z(ze);var te={};for(var le in ze)Object.prototype.hasOwnProperty.call(ze,le)&&(te[le]=I(ze[le]));return te}var H=function(ze){S(te,ze);function te(le,ae){s(this,te);var he=g(this,(te.__proto__||Object.getPrototypeOf(te)).call(this));return he.left=le,he.right=ae,he.pipe="diff",he}return i(te,[{key:"setResult",value:function(ae){if(this.options.cloneDiffValues&&(typeof ae>"u"?"undefined":o(ae))==="object"){var he=typeof this.options.cloneDiffValues=="function"?this.options.cloneDiffValues:I;o(ae[0])==="object"&&(ae[0]=he(ae[0])),o(ae[1])==="object"&&(ae[1]=he(ae[1]))}return _.prototype.setResult.apply(this,arguments)}}]),te}(_),A=function(ze){S(te,ze);function te(le,ae){s(this,te);var he=g(this,(te.__proto__||Object.getPrototypeOf(te)).call(this));return he.left=le,he.delta=ae,he.pipe="patch",he}return te}(_),x=function(ze){S(te,ze);function te(le){s(this,te);var ae=g(this,(te.__proto__||Object.getPrototypeOf(te)).call(this));return ae.delta=le,ae.pipe="reverse",ae}return te}(_),p=typeof Array.isArray=="function"?Array.isArray:function(ze){return ze instanceof Array},v=function(te){if(te.left===te.right){te.setResult(void 0).exit();return}if(typeof te.left>"u"){if(typeof te.right=="function")throw new Error("functions are not supported");te.setResult([te.right]).exit();return}if(typeof te.right>"u"){te.setResult([te.left,0,0]).exit();return}if(typeof te.left=="function"||typeof te.right=="function")throw new Error("functions are not supported");if(te.leftType=te.left===null?"null":o(te.left),te.rightType=te.right===null?"null":o(te.right),te.leftType!==te.rightType){te.setResult([te.left,te.right]).exit();return}if(te.leftType==="boolean"||te.leftType==="number"){te.setResult([te.left,te.right]).exit();return}if(te.leftType==="object"&&(te.leftIsArray=p(te.left)),te.rightType==="object"&&(te.rightIsArray=p(te.right)),te.leftIsArray!==te.rightIsArray){te.setResult([te.left,te.right]).exit();return}te.left instanceof RegExp&&(te.right instanceof RegExp?te.setResult([te.left.toString(),te.right.toString()]).exit():te.setResult([te.left,te.right]).exit())};v.filterName="trivial";var y=function(te){if(typeof te.delta>"u"){te.setResult(te.left).exit();return}if(te.nested=!p(te.delta),!te.nested){if(te.delta.length===1){te.setResult(te.delta[0]).exit();return}if(te.delta.length===2){if(te.left instanceof RegExp){var le=/^\/(.*)\/([gimyu]+)$/.exec(te.delta[1]);if(le){te.setResult(new RegExp(le[1],le[2])).exit();return}}te.setResult(te.delta[1]).exit();return}te.delta.length===3&&te.delta[2]===0&&te.setResult(void 0).exit()}};y.filterName="trivial";var a=function(te){if(typeof te.delta>"u"){te.setResult(te.delta).exit();return}if(te.nested=!p(te.delta),!te.nested){if(te.delta.length===1){te.setResult([te.delta[0],0,0]).exit();return}if(te.delta.length===2){te.setResult([te.delta[1],te.delta[0]]).exit();return}te.delta.length===3&&te.delta[2]===0&&te.setResult([te.delta[0]]).exit()}};a.filterName="trivial";function h(ze){if(!(!ze||!ze.children)){for(var te=ze.children.length,le=void 0,ae=ze.result,he=0;he"u")&&(ae=ae||{},ae[le.childName]=le.result);ae&&ze.leftIsArray&&(ae._t="a"),ze.setResult(ae).exit()}}h.filterName="collectChildren";function u(ze){if(!(ze.leftIsArray||ze.leftType!=="object")){var te=void 0,le=void 0,ae=ze.options.propertyFilter;for(te in ze.left)Object.prototype.hasOwnProperty.call(ze.left,te)&&(ae&&!ae(te,ze)||(le=new H(ze.left[te],ze.right[te]),ze.push(le,te)));for(te in ze.right)Object.prototype.hasOwnProperty.call(ze.right,te)&&(ae&&!ae(te,ze)||typeof ze.left[te]>"u"&&(le=new H(void 0,ze.right[te]),ze.push(le,te)));if(!ze.children||ze.children.length===0){ze.setResult(void 0).exit();return}ze.exit()}}u.filterName="objects";var b=function(te){if(te.nested&&!te.delta._t){var le=void 0,ae=void 0;for(le in te.delta)ae=new A(te.left[le],te.delta[le]),te.push(ae,le);te.exit()}};b.filterName="objects";var m=function(te){if(!(!te||!te.children)&&!te.delta._t){for(var le=te.children.length,ae=void 0,he=0;heAe?--ue:--ie}}return pe},L=function(te,le,ae,he){var ie=he||{},ue=C(te,le,ae||f,ie),pe=T(ue,te,le,ie);return typeof te=="string"&&typeof le=="string"&&(pe.sequence=pe.sequence.join("")),pe},O={get:L},P=3,F=typeof Array.isArray=="function"?Array.isArray:function(ze){return ze instanceof Array},B=typeof Array.prototype.indexOf=="function"?function(ze,te){return ze.indexOf(te)}:function(ze,te){for(var le=ze.length,ae=0;ae"u"?"undefined":o(ie))!=="object"||(typeof ue>"u"?"undefined":o(ue))!=="object")return!1;var pe=he.objectHash;if(!pe)return he.matchByPosition&&le===ae;var we=void 0,Se=void 0;return typeof le=="number"?(he.hashCache1=he.hashCache1||[],we=he.hashCache1[le],typeof we>"u"&&(he.hashCache1[le]=we=pe(ie,le))):we=pe(ie),typeof we>"u"||(typeof ae=="number"?(he.hashCache2=he.hashCache2||[],Se=he.hashCache2[ae],typeof Se>"u"&&(he.hashCache2[ae]=Se=pe(ue,ae))):Se=pe(ue),typeof Se>"u")?!1:we===Se}var j=function(te){if(te.leftIsArray){var le={objectHash:te.options&&te.options.objectHash,matchByPosition:te.options&&te.options.matchByPosition},ae=0,he=0,ie=void 0,ue=void 0,pe=void 0,we=te.left,Se=te.right,Ae=we.length,ke=Se.length,Pe=void 0;for(Ae>0&&ke>0&&!le.objectHash&&typeof le.matchByPosition!="boolean"&&(le.matchByPosition=!W(we,Se,Ae,ke));ae0){for(var dt=0;dt=0;le--){ae=ue[le];var Se=he["_"+ae],Ae=ie.splice(ae,1)[0];Se[2]===P&&pe.push({index:Se[1],value:Ae})}pe=pe.sort(E.numericallyBy("index"));var ke=pe.length;for(le=0;le0)for(le=0;lehe?he++:pe>=he&&we"u"&&(ie=X(ze.delta,le.childName,le.result)),ae[ie]!==le.result&&(ae[ie]=le.result)}ze.setResult(ae).exit()}}Y.filterName="arraysCollectChildren";var oe=function(te){te.left instanceof Date?(te.right instanceof Date?te.left.getTime()!==te.right.getTime()?te.setResult([te.left,te.right]):te.setResult(void 0):te.setResult([te.left,te.right]),te.exit()):te.right instanceof Date&&te.setResult([te.left,te.right]).exit()};oe.filterName="dates";function ce(ze,te){return te={exports:{}},ze(te,te.exports),te.exports}var re=ce(function(ze){function te(){this.Diff_Timeout=1,this.Diff_EditCost=4,this.Match_Threshold=.5,this.Match_Distance=1e3,this.Patch_DeleteThreshold=.5,this.Patch_Margin=4,this.Match_MaxBits=32}var le=-1,ae=1,he=0;te.prototype.diff_main=function(ie,ue,pe,we){typeof we>"u"&&(this.Diff_Timeout<=0?we=Number.MAX_VALUE:we=new Date().getTime()+this.Diff_Timeout*1e3);var Se=we;if(ie==null||ue==null)throw new Error("Null input. (diff_main)");if(ie==ue)return ie?[[he,ie]]:[];typeof pe>"u"&&(pe=!0);var Ae=pe,ke=this.diff_commonPrefix(ie,ue),Pe=ie.substring(0,ke);ie=ie.substring(ke),ue=ue.substring(ke),ke=this.diff_commonSuffix(ie,ue);var je=ie.substring(ie.length-ke);ie=ie.substring(0,ie.length-ke),ue=ue.substring(0,ue.length-ke);var nt=this.diff_compute_(ie,ue,Ae,Se);return Pe&&nt.unshift([he,Pe]),je&&nt.push([he,je]),this.diff_cleanupMerge(nt),nt},te.prototype.diff_compute_=function(ie,ue,pe,we){var Se;if(!ie)return[[ae,ue]];if(!ue)return[[le,ie]];var Ae=ie.length>ue.length?ie:ue,ke=ie.length>ue.length?ue:ie,Pe=Ae.indexOf(ke);if(Pe!=-1)return Se=[[ae,Ae.substring(0,Pe)],[he,ke],[ae,Ae.substring(Pe+ke.length)]],ie.length>ue.length&&(Se[0][0]=Se[2][0]=le),Se;if(ke.length==1)return[[le,ie],[ae,ue]];var je=this.diff_halfMatch_(ie,ue);if(je){var nt=je[0],ot=je[1],Ee=je[2],Ge=je[3],qe=je[4],Je=this.diff_main(nt,Ee,pe,we),at=this.diff_main(ot,Ge,pe,we);return Je.concat([[he,qe]],at)}return pe&&ie.length>100&&ue.length>100?this.diff_lineMode_(ie,ue,we):this.diff_bisect_(ie,ue,we)},te.prototype.diff_lineMode_=function(ie,ue,pe){var we=this.diff_linesToChars_(ie,ue);ie=we.chars1,ue=we.chars2;var Se=we.lineArray,Ae=this.diff_main(ie,ue,!1,pe);this.diff_charsToLines_(Ae,Se),this.diff_cleanupSemantic(Ae),Ae.push([he,""]);for(var ke=0,Pe=0,je=0,nt="",ot="";ke=1&&je>=1){Ae.splice(ke-Pe-je,Pe+je),ke=ke-Pe-je;for(var we=this.diff_main(nt,ot,!1,pe),Ee=we.length-1;Ee>=0;Ee--)Ae.splice(ke,0,we[Ee]);ke=ke+we.length}je=0,Pe=0,nt="",ot="";break}ke++}return Ae.pop(),Ae},te.prototype.diff_bisect_=function(ie,ue,pe){for(var we=ie.length,Se=ue.length,Ae=Math.ceil((we+Se)/2),ke=Ae,Pe=2*Ae,je=new Array(Pe),nt=new Array(Pe),ot=0;otpe);Ct++){for(var dt=-Ct+qe;dt<=Ct-Je;dt+=2){var bt=ke+dt,pt;dt==-Ct||dt!=Ct&&je[bt-1]we)Je+=2;else if(Vt>Se)qe+=2;else if(Ge){var St=ke+Ee-dt;if(St>=0&&St=Bt)return this.diff_bisectSplit_(ie,ue,pt,Vt,pe)}}}for(var hn=-Ct+at;hn<=Ct-At;hn+=2){var St=ke+hn,Bt;hn==-Ct||hn!=Ct&&nt[St-1]we)At+=2;else if(sn>Se)at+=2;else if(!Ge){var bt=ke+Ee-hn;if(bt>=0&&bt=Bt)return this.diff_bisectSplit_(ie,ue,pt,Vt,pe)}}}}return[[le,ie],[ae,ue]]},te.prototype.diff_bisectSplit_=function(ie,ue,pe,we,Se){var Ae=ie.substring(0,pe),ke=ue.substring(0,we),Pe=ie.substring(pe),je=ue.substring(we),nt=this.diff_main(Ae,ke,!1,Se),ot=this.diff_main(Pe,je,!1,Se);return nt.concat(ot)},te.prototype.diff_linesToChars_=function(ie,ue){var pe=[],we={};pe[0]="";function Se(Pe){for(var je="",nt=0,ot=-1,Ee=pe.length;otwe?ie=ie.substring(pe-we):peue.length?ie:ue,we=ie.length>ue.length?ue:ie;if(pe.length<4||we.length*2=Je.length?[pt,Vt,St,Bt,bt]:null}var ke=Ae(pe,we,Math.ceil(pe.length/4)),Pe=Ae(pe,we,Math.ceil(pe.length/2)),je;if(!ke&&!Pe)return null;Pe?ke?je=ke[4].length>Pe[4].length?ke:Pe:je=Pe:je=ke;var nt,ot,Ee,Ge;ie.length>ue.length?(nt=je[0],ot=je[1],Ee=je[2],Ge=je[3]):(Ee=je[0],Ge=je[1],nt=je[2],ot=je[3]);var qe=je[4];return[nt,ot,Ee,Ge,qe]},te.prototype.diff_cleanupSemantic=function(ie){for(var ue=!1,pe=[],we=0,Se=null,Ae=0,ke=0,Pe=0,je=0,nt=0;Ae0?pe[we-1]:-1,ke=0,Pe=0,je=0,nt=0,Se=null,ue=!0)),Ae++;for(ue&&this.diff_cleanupMerge(ie),this.diff_cleanupSemanticLossless(ie),Ae=1;Ae=qe?(Ge>=ot.length/2||Ge>=Ee.length/2)&&(ie.splice(Ae,0,[he,Ee.substring(0,Ge)]),ie[Ae-1][1]=ot.substring(0,ot.length-Ge),ie[Ae+1][1]=Ee.substring(Ge),Ae++):(qe>=ot.length/2||qe>=Ee.length/2)&&(ie.splice(Ae,0,[he,ot.substring(0,qe)]),ie[Ae-1][0]=ae,ie[Ae-1][1]=Ee.substring(0,Ee.length-qe),ie[Ae+1][0]=le,ie[Ae+1][1]=ot.substring(qe),Ae++),Ae++}Ae++}},te.prototype.diff_cleanupSemanticLossless=function(ie){function ue(qe,Je){if(!qe||!Je)return 6;var at=qe.charAt(qe.length-1),At=Je.charAt(0),Ct=at.match(te.nonAlphaNumericRegex_),dt=At.match(te.nonAlphaNumericRegex_),bt=Ct&&at.match(te.whitespaceRegex_),pt=dt&&At.match(te.whitespaceRegex_),Vt=bt&&at.match(te.linebreakRegex_),St=pt&&At.match(te.linebreakRegex_),Bt=Vt&&qe.match(te.blanklineEndRegex_),hn=St&&Je.match(te.blanklineStartRegex_);return Bt||hn?5:Vt||St?4:Ct&&!bt&&pt?3:bt||pt?2:Ct||dt?1:0}for(var pe=1;pe=Ee&&(Ee=Ge,je=we,nt=Se,ot=Ae)}ie[pe-1][1]!=je&&(je?ie[pe-1][1]=je:(ie.splice(pe-1,1),pe--),ie[pe][1]=nt,ot?ie[pe+1][1]=ot:(ie.splice(pe+1,1),pe--))}pe++}},te.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/,te.whitespaceRegex_=/\s/,te.linebreakRegex_=/[\r\n]/,te.blanklineEndRegex_=/\n\r?\n$/,te.blanklineStartRegex_=/^\r?\n\r?\n/,te.prototype.diff_cleanupEfficiency=function(ie){for(var ue=!1,pe=[],we=0,Se=null,Ae=0,ke=!1,Pe=!1,je=!1,nt=!1;Ae0?pe[we-1]:-1,je=nt=!1),ue=!0)),Ae++;ue&&this.diff_cleanupMerge(ie)},te.prototype.diff_cleanupMerge=function(ie){ie.push([he,""]);for(var ue=0,pe=0,we=0,Se="",Ae="",ke;ue1?(pe!==0&&we!==0&&(ke=this.diff_commonPrefix(Ae,Se),ke!==0&&(ue-pe-we>0&&ie[ue-pe-we-1][0]==he?ie[ue-pe-we-1][1]+=Ae.substring(0,ke):(ie.splice(0,0,[he,Ae.substring(0,ke)]),ue++),Ae=Ae.substring(ke),Se=Se.substring(ke)),ke=this.diff_commonSuffix(Ae,Se),ke!==0&&(ie[ue][1]=Ae.substring(Ae.length-ke)+ie[ue][1],Ae=Ae.substring(0,Ae.length-ke),Se=Se.substring(0,Se.length-ke))),pe===0?ie.splice(ue-we,pe+we,[ae,Ae]):we===0?ie.splice(ue-pe,pe+we,[le,Se]):ie.splice(ue-pe-we,pe+we,[le,Se],[ae,Ae]),ue=ue-pe-we+(pe?1:0)+(we?1:0)+1):ue!==0&&ie[ue-1][0]==he?(ie[ue-1][1]+=ie[ue][1],ie.splice(ue,1)):ue++,we=0,pe=0,Se="",Ae="";break}ie[ie.length-1][1]===""&&ie.pop();var Pe=!1;for(ue=1;ueue));ke++)Se=pe,Ae=we;return ie.length!=ke&&ie[ke][0]===le?Ae:Ae+(ue-Se)},te.prototype.diff_prettyHtml=function(ie){for(var ue=[],pe=/&/g,we=//g,Ae=/\n/g,ke=0;ke");switch(Pe){case ae:ue[ke]=''+nt+"";break;case le:ue[ke]=''+nt+"";break;case he:ue[ke]=""+nt+"";break}}return ue.join("")},te.prototype.diff_text1=function(ie){for(var ue=[],pe=0;pethis.Match_MaxBits)throw new Error("Pattern too long for this browser.");var we=this.match_alphabet_(ue),Se=this;function Ae(pt,Vt){var St=pt/ue.length,Bt=Math.abs(pe-Vt);return Se.Match_Distance?St+Bt/Se.Match_Distance:Bt?1:St}var ke=this.Match_Threshold,Pe=ie.indexOf(ue,pe);Pe!=-1&&(ke=Math.min(Ae(0,Pe),ke),Pe=ie.lastIndexOf(ue,pe+ue.length),Pe!=-1&&(ke=Math.min(Ae(0,Pe),ke)));var je=1<=Je;Ct--){var dt=we[ie.charAt(Ct-1)];if(qe===0?At[Ct]=(At[Ct+1]<<1|1)&dt:At[Ct]=(At[Ct+1]<<1|1)&dt|((Ge[Ct+1]|Ge[Ct])<<1|1)|Ge[Ct+1],At[Ct]&je){var bt=Ae(qe,Ct-1);if(bt<=ke)if(ke=bt,Pe=Ct-1,Pe>pe)Je=Math.max(1,2*pe-Pe);else break}}if(Ae(qe+1,pe)>ke)break;Ge=At}return Pe},te.prototype.match_alphabet_=function(ie){for(var ue={},pe=0;pe"u")we=ie,Se=this.diff_main(we,ue,!0),Se.length>2&&(this.diff_cleanupSemantic(Se),this.diff_cleanupEfficiency(Se));else if(ie&&typeof ie=="object"&&typeof ue>"u"&&typeof pe>"u")Se=ie,we=this.diff_text1(Se);else if(typeof ie=="string"&&ue&&typeof ue=="object"&&typeof pe>"u")we=ie,Se=ue;else if(typeof ie=="string"&&typeof ue=="string"&&pe&&typeof pe=="object")we=ie,Se=pe;else throw new Error("Unknown call format to patch_make.");if(Se.length===0)return[];for(var Ae=[],ke=new te.patch_obj,Pe=0,je=0,nt=0,ot=we,Ee=we,Ge=0;Ge=2*this.Patch_Margin&&Pe&&(this.patch_addContext_(ke,ot),Ae.push(ke),ke=new te.patch_obj,Pe=0,ot=Ee,je=nt);break}qe!==ae&&(je+=Je.length),qe!==le&&(nt+=Je.length)}return Pe&&(this.patch_addContext_(ke,ot),Ae.push(ke)),Ae},te.prototype.patch_deepCopy=function(ie){for(var ue=[],pe=0;pethis.Match_MaxBits?(je=this.match_main(ue,Pe.substring(0,this.Match_MaxBits),ke),je!=-1&&(nt=this.match_main(ue,Pe.substring(Pe.length-this.Match_MaxBits),ke+Pe.length-this.Match_MaxBits),(nt==-1||je>=nt)&&(je=-1))):je=this.match_main(ue,Pe,ke),je==-1)Se[Ae]=!1,we-=ie[Ae].length2-ie[Ae].length1;else{Se[Ae]=!0,we=je-ke;var ot;if(nt==-1?ot=ue.substring(je,je+Pe.length):ot=ue.substring(je,nt+this.Match_MaxBits),Pe==ot)ue=ue.substring(0,je)+this.diff_text2(ie[Ae].diffs)+ue.substring(je+Pe.length);else{var Ee=this.diff_main(Pe,ot,!1);if(Pe.length>this.Match_MaxBits&&this.diff_levenshtein(Ee)/Pe.length>this.Patch_DeleteThreshold)Se[Ae]=!1;else{this.diff_cleanupSemanticLossless(Ee);for(var Ge=0,qe,Je=0;JeAe[0][1].length){var ke=ue-Ae[0][1].length;Ae[0][1]=pe.substring(Ae[0][1].length)+Ae[0][1],Se.start1-=ke,Se.start2-=ke,Se.length1+=ke,Se.length2+=ke}if(Se=ie[ie.length-1],Ae=Se.diffs,Ae.length==0||Ae[Ae.length-1][0]!=he)Ae.push([he,pe]),Se.length1+=ue,Se.length2+=ue;else if(ue>Ae[Ae.length-1][1].length){var ke=ue-Ae[Ae.length-1][1].length;Ae[Ae.length-1][1]+=pe.substring(0,ke),Se.length1+=ke,Se.length2+=ke}return pe},te.prototype.patch_splitMax=function(ie){for(var ue=this.Match_MaxBits,pe=0;pe2*ue?(Pe.length1+=ot.length,Se+=ot.length,je=!1,Pe.diffs.push([nt,ot]),we.diffs.shift()):(ot=ot.substring(0,ue-Pe.length1-this.Patch_Margin),Pe.length1+=ot.length,Se+=ot.length,nt===he?(Pe.length2+=ot.length,Ae+=ot.length):je=!1,Pe.diffs.push([nt,ot]),ot==we.diffs[0][1]?we.diffs.shift():we.diffs[0][1]=we.diffs[0][1].substring(ot.length))}ke=this.diff_text2(Pe.diffs),ke=ke.substring(ke.length-this.Patch_Margin);var Ee=this.diff_text1(we.diffs).substring(0,this.Patch_Margin);Ee!==""&&(Pe.length1+=Ee.length,Pe.length2+=Ee.length,Pe.diffs.length!==0&&Pe.diffs[Pe.diffs.length-1][0]===he?Pe.diffs[Pe.diffs.length-1][1]+=Ee:Pe.diffs.push([he,Ee])),je||ie.splice(++pe,0,Pe)}}},te.prototype.patch_toText=function(ie){for(var ue=[],pe=0;pe"u"&&typeof ie>"u")){var ke=this.getDeltaType(ae,pe),Pe=ke==="node"?ae._t==="a"?"array":"object":"";typeof ie<"u"?this.nodeBegin(le,ie,ue,ke,Pe,we):this.rootBegin(le,ke,Pe);var je=void 0;try{je=this["format_"+ke]||this.typeFormattterNotFound(le,ke),je.call(this,le,ae,Ae,ie,ue,pe)}catch(nt){this.typeFormattterErrorFormatter(le,nt,ae,Ae,ie,ue,pe),typeof console<"u"&&console.error&&console.error(nt.stack)}typeof ie<"u"?this.nodeEnd(le,ie,ue,ke,Pe,we):this.rootEnd(le,ke,Pe)}}},{key:"formatDeltaChildren",value:function(le,ae,he){var ie=this;this.forEachDeltaKey(ae,he,function(ue,pe,we,Se){ie.recurse(le,ae[ue],he?he[pe]:void 0,ue,pe,we,Se)})}},{key:"forEachDeltaKey",value:function(le,ae,he){var ie=Le(le),ue=le._t==="a",pe={},we=void 0;if(typeof ae<"u")for(we in ae)Object.prototype.hasOwnProperty.call(ae,we)&&typeof le[we]>"u"&&(!ue||typeof le["_"+we]>"u")&&ie.push(we);for(we in le)if(Object.prototype.hasOwnProperty.call(le,we)){var Se=le[we];me(Se)&&Se[2]===3&&(pe[Se[1].toString()]={key:we,value:ae&&ae[parseInt(we.substr(1))]},this.includeMoveDestinations!==!1&&typeof ae>"u"&&typeof le[Se[1]]>"u"&&ie.push(Se[1].toString()))}ue?ie.sort(Fe):ie.sort();for(var Ae=0,ke=ie.length;Ae"u")return typeof ae<"u"?"movedestination":"unchanged";if(me(le)){if(le.length===1)return"added";if(le.length===2)return"modified";if(le.length===3&&le[2]===0)return"deleted";if(le.length===3&&le[2]===2)return"textdiff";if(le.length===3&&le[2]===3)return"moved"}else if((typeof le>"u"?"undefined":o(le))==="object")return"node";return"unknown"}},{key:"parseTextDiff",value:function(le){for(var ae=[],he=le.split(` +@@ `),ie=0,ue=he.length;ie'+he+"")}},{key:"formatValue",value:function(ae,he){ae.out("
"+be(JSON.stringify(he,null,2))+"
")}},{key:"formatTextDiffString",value:function(ae,he){var ie=this.parseTextDiff(he);ae.out('
    ');for(var ue=0,pe=ie.length;ue
    '+(''+we.location.line+''+we.location.chr+'
    '));for(var Se=we.pieces,Ae=0,ke=Se.length;Ae'+be(decodeURI(Pe.text))+"")}ae.out("
    ")}ae.out("
")}},{key:"rootBegin",value:function(ae,he,ie){var ue="jsondiffpatch-"+he+(ie?" jsondiffpatch-child-node-type-"+ie:"");ae.out('
')}},{key:"rootEnd",value:function(ae){ae.out("
"+(ae.hasArrows?' + + + +
+ + \ No newline at end of file diff --git a/dist/opencv.js b/dist/opencv.js new file mode 100644 index 0000000000000000000000000000000000000000..14af2f20f2cd4fa0106a03512fef01903db97bf0 --- /dev/null +++ b/dist/opencv.js @@ -0,0 +1,75 @@ +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(function () { + return (root.cv = factory()); + }); + } else if (typeof module === 'object' && module.exports) { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(); + } else { + // Browser globals + root.cv = factory(); + } +}(this, function () { + var cv = function(cv) { + cv = cv || {}; + +var Module=typeof cv!=="undefined"?cv:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=(function(status,toThrow){throw toThrow});Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("Module['ENVIRONMENT'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));process["on"]("unhandledRejection",(function(reason,p){process["exit"](1)}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}Module["setWindowTitle"]=(function(title){document.title=title})}Module["print"]=typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null;Module["printErr"]=typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||Module["print"];Module.print=Module["print"];Module.printErr=Module["printErr"];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){assert(!staticSealed);var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function dynamicAlloc(size){assert(DYNAMICTOP_PTR);var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;var ret=size=Math.ceil(size/factor)*factor;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;Module.printErr(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var GLOBAL_BASE=8;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}var JSfuncs={"stackSave":(function(){stackSave()}),"stackRestore":(function(){stackRestore()}),"arrayToC":(function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};function ccall(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_STATIC=2;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:staticAlloc,stackAlloc,staticAlloc,dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return UTF8ToString(ptr)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function demangle(func){var __cxa_demangle_func=Module["___cxa_demangle"]||Module["__cxa_demangle"];assert(__cxa_demangle_func);try{var s=func.substr(1);var len=lengthBytesUTF8(s)+1;var buf=_malloc(len);stringToUTF8(s,buf,len);var status=_malloc(4);var ret=__cxa_demangle_func(buf,0,0,status);if(HEAP32[status>>2]===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||134217728;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_max=Math.max;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}STATIC_BASE=GLOBAL_BASE;STATICTOP=STATIC_BASE+1079440;__ATINIT__.push({func:(function(){__GLOBAL__I_000101()})},{func:(function(){__GLOBAL__sub_I_bindings_cpp()})},{func:(function(){__GLOBAL__sub_I_umatrix_cpp()})},{func:(function(){__GLOBAL__sub_I_system_cpp()})},{func:(function(){__GLOBAL__sub_I_kmeans_cpp()})},{func:(function(){__GLOBAL__sub_I_persistence_types_cpp()})},{func:(function(){__GLOBAL__sub_I_histogram_cpp()})},{func:(function(){__GLOBAL__sub_I_imgwarp_cpp()})},{func:(function(){__GLOBAL__sub_I_color_lab_cpp()})},{func:(function(){__GLOBAL__sub_I_haar_cpp()})},{func:(function(){__GLOBAL__sub_I_hog_cpp()})},{func:(function(){__GLOBAL__sub_I_dictionary_cpp()})},{func:(function(){__GLOBAL__sub_I_bind_cpp()})},{func:(function(){__GLOBAL__sub_I_iostream_cpp()})});memoryInitializer="data:application/octet-stream;base64,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ACIAABBRAAAAIgAAACIAAAAiAAAgUQAAaCIAAFhRAABoIgAAUFEAAAAiAABoIgAAeFEAAAAiAAAAIgAAACIAAAAiAAAAIgAAeFEAAAAiAAAAIgAAUFEAAAAiAAAAIgAAACIAAGgiAABQIAAAEFEAAAAiAACYIgAAEFEAAAAiAACYIgAAACIAAHgiAAAAIgAAsCAAAAAiAABQUQAAsCAAAAAiAABQUQAAUFEAAChRAABYIgAAUFEAAChRAABYIgAAUFEAAFBRAAAoUQAAWCIAAFBRAABQUQAAUFEAADBRAABYIgAAUFEAADBRAABYIgAAUFEAAFBRAAAwUQAAWCIAAFBRAABQUQAAUFEAAEBRAABYIgAAUFEAAEBRAABYIgAAUFEAAFBRAABAUQAAWCIAAFBRAABQUQAAUFEAAEhRAABYIgAAUFEAAEhRAABYIgAAUFEAAFBRAABIUQAAWCIAAFBRAABQUQAAUFEAAFBRAABYIgAAUFEAAFBRAABYIgAAUFEAAFBRAABQUQAAWCIAAFBRAABQUQAAUFEAAHBRAABYIgAAUFEAAHBRAABYIgAAUFEAAFBRAABwUQAAWCIAAFBRAABQUQAAUFEAAHhRAABYIgAAUFEAAFBRAABQUQAAeFEAAFgiAABQUQAAeFEAAFgiAABQUQAAUFEAALAgAABIIAAAUCAAAEggAAD4IgAASCAAAAgmAABQUQAACCMAAAAiAAAAIwAAACIAAAAiAAAAIwAAACIAAJgiAABQUQAAUFEAALAgAAAAIgAAUCAAAOgiAAAgIwAAEFEAAAAiAAAAIgAAeFEAAHhRAABQUQAAIFEAABBRAAAAIgAAACIAAHhRAAB4UQAAUFEAABBRAAAAIgAAACIAAHhRAAB4UQAAEFEAAAAiAAAAIgAAACIAAHhRAAB4UQAAIFEAABBRAAAAIgAAACIAAAAiAAB4UQAAeFEAABBRAAAAIgAAACIAAHgiAAB4UQAAeFEAAFBRAAAQUQAAACIAAAAiAAB4IgAAeFEAAHhRAAAQUQAAACIAAAAiAAB4IgAAeFEAABBRAAAAIgAAACIAAFBRAAB4UQAAeFEAAHhRAAB4UQAAUFEAAFBRAAAQUQAAACIAAAAiAABQUQAAeFEAAHhRAAB4UQAAeFEAAFBRAAAQUQAAACIAAAAiAABQUQAAeFEAAHhRAAB4UQAAeFEAABBRAAAAIgAAACIAAFBRAAB4UQAAeFEAAHhRAAAQUQAAACIAAAAiAAB4UQAAeFEAAFBRAAB4UQAAeFEAAHhRAAB4UQAAEFEAAAAiAAAAIgAAeFEAAHhRAABQUQAAeFEAAHhRAAB4UQAAEFEAAAAiAAAAIgAAeFEAAHhRAABQUQAAeFEAAHhRAAAQUQAAACIAAAAiAAB4UQAAeFEAAFBRAAB4UQAAEFEAAAAiAAAAIgAAUFEAAFBRAAB4UQAAeFEAAFBRAAAQUQAAACIAAAAiAABQUQAAUFEAAHhRAAB4UQAAEFEAAAAiAAAAIgAAUFEAAFBRAAB4UQAAEFEAAAAiAAAAIgAAUFEAAFBRAAAQUQAAACIAAAAiAABQUQAAUFEAAFBRAAB4UQAAeFEAAFBRAAAQUQAAACIAAAAiAABQUQAAUFEAAFBRAAB4UQAAeFEAABBRAAAAIgAAACIAAFBRAABQUQAAUFEAAHhRAAAQUQAAACIAAAAiAABQUQAAUFEAAFBRAAAQUQAAACIAAAAiAABQUQAAUFEAAFBRAABQUQAAeFEAAHhRAABQUQAAEFEAAAAiAAAAIgAAUFEAAFBRAABQUQAAUFEAAHhRAAB4UQAAEFEAAAAiAAAAIgAAUFEAAFBRAABQUQAAUFEAAHhRAAAQUQAAACIAAAAiAABQUQAAUFEAAFBRAABQUQAAEFEAAAAiAAAAIgAAACIAABBRAAAAIgAAACIAAHhRAABQUQAAUFEAAFBRAAB4UQAAEFEAAAAiAAAAIgAAACIAAAAiAABQUQAAEFEAAAAiAAAAIgAAACIAAAAiAAAQUQAAACIAAHhRAAAAIgAAeFEAAHhRAAAAIgAAUFEAABBRAAAAIgAAeFEAAAAiAAB4UQAAeFEAAAAiAAAQUQAAACIAAAAiAAB4UQAAIFEAAHhRAAAAIgAAIFEAABBRAAAAIgAAACIAAFBRAAB4UQAAeFEAAFBRAAAQUQAAACIAAAAiAAB4IgAAqCEAAFBRAAAQUQAAACIAAAAiAAB4IgAAqCEAABBRAAAAIgAAACIAAHgiAABQIAAAACIAABBRAAAAIgAAACIAAFBRAAB4IgAAqCEAACBRAABQUQAAEFEAAAAiAAAAIgAAUFEAAHgiAACoIQAAIFEAABBRAAAAIgAAACIAAFBRAAB4IgAAqCEAABBRAAAAIgAAACIAAFBRAAB4IgAAEFEAAMghAACwIAAAACIAAAAiAACwIAAAeFEAABBRAADIIQAAsCAAAAAiAAAAIgAAsCAAALAgAAAgUQAAEFEAAMghAACwIAAAACIAAAAiAACwIAAAsCAAABBRAAAAIgAAACIAAAAiAAB4UQAAUFEAAFBRAABQUQAAUFEAAHhRAABQUQAAEFEAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAHgiAABQUQAA6CIAAFBRAAB4UQAAEFEAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAHgiAABQUQAA6CIAAFBRAAAQUQAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAeCIAAFBRAADoIgAAEFEAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAHgiAABQUQAAEFEAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAHgiAAAQUQAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAEFEAAAAiAAAAIgAAACIAAAAiAAAgUQAAEFEAAAAiAAAAIgAAACIAAAAiAAAQUQAAACIAAKghAABQUQAAmCIAAFBRAABQUQAAUFEAABBRAAAAIgAAqCEAAFBRAACYIgAAUFEAAFBRAAAQUQAAACIAAKghAABQUQAAmCIAAFBRAAAQUQAAACIAAKghAABQUQAAmCIAABBRAAAAIgAAACIAAAAiAABQUQAAeFEAAAAiAAAAIgAAUFEAAFBRAAAAIgAAACIAAFBRAABQUQAAUFEAAAAiAAAAIgAAUFEAAFBRAAAAIgAAACIAAFBRAAAAIgAAACIAAAAiAAAAIgAAUFEAAFBRAABQUQAAACIAAAAiAAAAIgAAACIAAFBRAABQUQAAACIAAAAiAAAAIgAAACIAAHhRAAAAIgAAEFEAAAAiAAAAIgAAeFEAABBRAAAAIgAAACIAACBRAAAgUQAAEFEAAAAiAAAAIgAAIFEAABBRAAAAIgAAACIAAFBRAABQUQAAUFEAAFBRAABQUQAAmCIAABBRAAAAIgAAACIAAFBRAABQUQAAUFEAAFBRAABQUQAAEFEAAAAiAAAAIgAAUFEAAFBRAAB4UQAAUFEAAFBRAAAAIgAAEFEAAAAiAAAAIgAAACIAAKghAABQUQAAUFEAAJgiAAAQUQAAACIAAAAiAAAAIgAAqCEAAFBRAABQUQAAEFEAAAAiAAAAIgAAACIAAKghAABQUQAAEFEAAAAiAAAAIgAAACIAAKghAAAQUQAAACIAAAAiAAAAIgAAUFEAAFBRAABQUQAAEFEAAAAiAAAAIgAAACIAAFBRAABQUQAAEFEAAAAiAAAAIgAAACIAAHhRAABQUQAAEFEAAAAiAAAAIgAAACIAAHhRAAAQUQAAeFEAAAAiAAAAIgAAUFEAABBRAAB4UQAAACIAAAAiAAAQUQAAACIAAMghAABQUQAAmCIAAFBRAABQUQAAACIAAFBRAACoIQAAEFEAAAAiAADIIQAAUFEAAJgiAABQUQAAUFEAAAAiAABQUQAAEFEAAAAiAADIIQAAUFEAAJgiAABQUQAAUFEAAAAiAAAQUQAAACIAAMghAABQUQAAmCIAAFBRAABQUQAAEFEAAAAiAADIIQAAUFEAAJgiAABQUQAAEFEAAAAiAADIIQAAUFEAAJgiAAAgUQAAACIAAAAiAAAAIgAAIFEAAAAiAAAAIgAAEFEAAAAiAACoIQAAeCIAAHhRAAB4UQAAeFEAAJgiAABQUQAAUFEAAFBRAAAQUQAAACIAAKghAAB4IgAAeFEAAHhRAAB4UQAAmCIAAFBRAABQUQAAEFEAAAAiAACoIQAAeCIAAHhRAAB4UQAAeFEAAJgiAABQUQAAEFEAAAAiAACoIQAAeCIAAHhRAAB4UQAAeFEAAJgiAAAQUQAAACIAAEggAACYIgAAUFEAAFBRAAAQUQAAACIAAEggAACYIgAAUFEAABBRAAAAIgAASCAAAJgiAAAQUQAAqCEAAHgiAABQUQAAUFEAAFBRAABQUQAAcCEAAAAiAAAAIgAAACIAACBRAAAQUQAAACIAAAAiAABQUQAAACIAAKghAAB4UQAAUFEAABBRAAAAIgAAACIAAFBRAAAAIgAAqCEAAHhRAAAQUQAAACIAAAAiAABQUQAAACIAAKghAAAQUQAAACIAAAAiAABQUQAAACIAABBRAAAAIgAAyCEAAAAiAABQUQAAUFEAAKghAAAQUQAAACIAAMghAAAAIgAAUFEAAFBRAAB4UQAAACIAAAAiAAAAIgAAUFEAAOgiAAAAIgAAeFEAAAAiAAAAIgAAACIAAFBRAADoIgAAeFEAAAAiAAAAIgAAACIAAFBRAAB4UQAAACIAAAAiAAAAIgAASCAAAAAiAAAQUQAAACIAAAAiAAB4UQAAACIAAHhRAAAAIgAAUFEAABBRAAAAIgAAACIAAHhRAAAAIgAAeFEAAAAiAAAAIgAAACIAAAAiAAAAIgAAQCAAAHhRAAB4UQAAACIAAFBRAAB4IgAAqCEAAAAiAABQUQAAeCIAABBRAAAAIgAAACIAAFBRAAB4UQAAeFEAAAAiAABQUQAAIFEAAHhRAAAQUQAAACIAAAAiAABQUQAAeFEAAHhRAAAAIgAAUFEAACBRAAAQUQAAACIAAAAiAABQUQAAeFEAAHhRAAAAIgAAUFEAABBRAAAAIgAAACIAAFBRAAB4UQAAeFEAAAAiAAAQUQAAACIAAAAiAABQUQAAeFEAAHhRAAAAIgAAUFEAAFBRAAAgUQAAeFEAABBRAAAAIgAAACIAAFBRAAB4UQAAeFEAAAAiAABQUQAAUFEAACBRAAAQUQAAACIAAAAiAABQUQAAeFEAAHhRAAAAIgAAUFEAAFBRAAAQUQAAACIAAAAiAABQIAAAACIAAAAiAABQUQAAUFEAABBRAAAAIgAAACIAAFAgAAAAIgAAACIAAFBRAAAQUQAAICIAAHggAABQUQAAeFEAABBRAAAgIgAAeCAAAFBRAAAQUQAAyCEAAAAiAAAQUQAAACIAAAAiAAAAIgAAACIAABBRAAAAIgAAACIAAAAiAAAAIgAAeCIAAFBRAAAAIgAAACIAABBRAAAAIgAAACIAAAAiAABQUQAAEFEAAAAiAAAAIgAAACIAAHhRAAAAIgAAACIAAFBRAAB4UQAAACIAAAAiAAAgUQAAACIAAHhRAAAAIgAAUFEAAAAiAADoIgAAUFEAAFBRAAAAIgAAeFEAAAAiAABQUQAAACIAAOgiAABQUQAAUFEAABBRAAAAIgAAqCEAAKghAACYIgAAUFEAAFBRAABQUQAAEFEAAAAiAACoIQAAqCEAAJgiAABQUQAAUFEAABBRAAAAIgAAqCEAAKghAACYIgAAUFEAABBRAAAAIgAAqCEAAKghAACYIgAAeFEAAAAiAAAAIgAAUFEAAHhRAAAQUQAAACIAAAAiAAAAIgAAUFEAAAAiAACYIgAAACIAAAAiAACYIgAAACIAABBRAAAAIgAAACIAAAAiAAAAIgAAEFEAAMghAADIIQAAsCAAABAjAAAAIgAAIFEAABAjAAAAIgAAEFEAAAAiAAAAIgAAUFEAAAAiAACoIQAAUFEAAFBRAACYIgAAEFEAAAAiAAAAIgAAUFEAAAAiAACoIQAAUFEAAFBRAAAQUQAAACIAAAAiAABQUQAAACIAAKghAABQUQAAeFEAAAAiAABQUQAAACIAAHhRAAAAIgAAUFEAAHhRAAAAIgAAACIAAFBRAAAAIgAAEFEAAAAiAAAAIgAAeFEAAHhRAABQUQAAUFEAAAAiAAAQUQAAACIAAAAiAAB4UQAAeFEAAFBRAABQUQAAeFEAAAAiAABAIAAAIFEAABBRAAAAIgAAeFEAAAAiAAAQUQAAACIAACAjAACoIQAAUFEAAHhRAACYIgAAUFEAAFBRAAAgUQAAEFEAAAAiAAAgIwAAqCEAAFBRAAB4UQAAmCIAAFBRAABQUQAAEFEAAAAiAAAgIwAAqCEAAFBRAAB4UQAAmCIAAFBRAAAQUQAAACIAACAjAACoIQAAUFEAAHhRAACYIgAAEFEAAAAiAAAAIgAAeCIAAFBRAAAQUQAAACIAAAAiAAB4IgAAEFEAAAAiAAAAIgAAACIAABBRAAAAIgAAACIAAAAiAAAAIgAAUFEAAFBRAACYIgAAEFEAAAAiAAAAIgAAACIAAAAiAABQUQAAUFEAABBRAAAAIgAAACIAAAAiAAAAIgAAUFEAABBRAAAAIgAAUFEAAFBRAAAAIgAAEFEAAAAiAAAAIgAAUFEAAAAiAAAAIgAAqCEAAHhRAABQUQAAEFEAAAAiAAAAIgAAUFEAAAAiAAAAIgAAqCEAAHhRAAAQUQAAACIAAAAiAABQUQAAACIAAAAiAACoIQAAEFEAAAAiAAAAIgAAUFEAAAAiAAAAIgAAEFEAAAAiAAAQUQAAUFEAACBRAAAAIgAAACIAAAAiAABQUQAAIFEAAAAiAAAAIgAAACIAABBRAAAAIgAAyCEAAHhRAAAAIgAAACIAAHhRAAB4UQAAUFEAABBRAAAAIgAAACIAAAAiAAAAIgAAACIAABBRAAAAIgAAACIAAAAiAAAAIgAAEFEAAAAiAAAAIgAAACIAAHgiAABQUQAAUFEAAJgiAAAQUQAAACIAAAAiAAAAIgAAeCIAAFBRAABQUQAAEFEAAAAiAAAAIgAAACIAAHgiAABQUQAAEFEAAAAiAAAAIgAAACIAAHgiAAAQUQAAACIAADgjAADIIQAAACIAAEAjAADIIQAAACIAAAAiAAAQUQAAACIAADgjAADIIQAAACIAAEAjAADIIQAAACIAABBRAAAAIgAAOCMAAMghAAAAIgAAQCMAAMghAAAQUQAAACIAADgjAADIIQAAACIAAEAjAAAQUQAAACIAADgjAADIIQAAACIAABBRAAAAIgAAACIAAAAiAAAAIgAAACIAAHBRAAAQUQAAACIAAMghAAAAIgAAmCIAABBRAAAAIgAAyCEAAAAiAAAQUQAAACIAAMghAAAQUQAAOCMAAFBRAABQUQAAACIAAFBRAAAQUQAAOCMAAFBRAABQUQAAACIAABBRAADIIQAAcFEAAAAiAAAAIgAAACIAAAAiAAAAIgAAEFEAAMghAABwUQAAACIAAAAiAAAAIgAAACIAABBRAAAAIgAAACIAAAAiAAAAIgAAeCIAAFBRAAAAIgAAACIAACBRAACQRQAAICMAACAjAAAgUQAAkEUAACAjAABIIwAASCMAAHgiAAB4IgAAeCIAAHgiAABQUQAAUFEAAHhRAABQUQAAeFEAACBRAABQUQAAIFEAAEgjAABoIwAA0CAAABBRAACQRQAAACIAABBRAACQRQAAACIAACAiAAAgIQAAeFEAAHgiAAB4IgAAeFEAAHhRAAAgUQAAEFEAAJBFAAAAIgAAICIAACAhAAB4UQAAeCIAAHgiAAB4UQAAeFEAABBRAACQRQAAACIAACAiAAAgIQAAeFEAAHgiAAB4IgAAeFEAABBRAACQRQAAACIAACAiAAAgIQAAeFEAAHgiAAB4IgAAEFEAAJBFAAAAIgAAICIAACAhAAB4UQAAeCIAABBRAACQRQAAACIAACAiAAAgIQAAeFEAABBRAACQRQAAACIAACAiAAAgIQAAOCMAAFBRAAA4IwAAUFEAAFBRAABQUQAAOCMAAFBRAABQUQAAEFEAAJgjAAAAIgAAACIAAHhRAAAQUQAAmCMAAAAiAAAAIgAAEFEAAJgjAAAAIgAA+CMAAFBRAAB4UQAAIFEAAPgjAABQUQAAeFEAAPgjAABQUQAA+CMAABBRAADIIwAAACIAAAAiAAB4UQAAEFEAAMgjAAAAIgAAACIAABBRAAAAJAAAeCIAADAkAAB4UQAAeCIAADAkAAB4UQAAMCQAABBRAAAQJAAAEFEAAAAkAAB4UQAAeCIAACAkAAB4UQAAICQAABBRAAAAJAAA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AABoQgAAbEIAAHBCAAB0QgAAeEIAAHxCAACAQgAAgkIAAIRCAACGQgAAiEIAAIpCAACMQgAAjkIAAJBCAACSQgAAlEIAAJZCAACYQgAAmkIAAJxCAACeQgAAoEIAAKJCAACkQgAApkIAAKhCAACqQgAArEIAAK5CAACwQgAAskIAALRCAAC2QgAAuEIAALpCAAC8QgAAvkIAAMBCAADCQgAAxEIAAMZCAADIQgAAykIAAMxCAADOQgAA0EIAANJCAADUQgAA1kIAANhCAADaQgAA3EIAAN5CAADgQgAA4kIAAORCAADmQgAA6EIAAOpCAADsQgAA7kIAAPBCAADyQgAA9EIAAPZCAAD4QgAA+kIAAPxCAAD+QgAAAEMAAAFDAAACQwAAA0MAAARDAAAFQwAABkMAAAdDAAAIQwAACUMAAApDAAALQwAADEMAAA1DAAAOQwAAD0MAABBDAAARQwAAEkMAABNDAAAUQwAAFUMAABZDAAAXQwAAGEMAABlDAAAaQwAAG0MAABxDAAAdQwAAHkMAAB9DAAAgQwAAIUMAACJDAAAjQwAAJEMAACVDAAAmQwAAJ0MAAChDAAApQwAAKkMAACtDAAAsQwAALUMAAC5DAAAvQwAAMEMAADFDAAAyQwAAM0MAADRDAAA1QwAANkMAADdDAAA4QwAAOUMAADpDAAA7QwAAPEMAAD1DAAA+QwAAP0MAAEBDAABBQwAAQkMAAENDAABEQwAARUMAAEZDAABHQwAASEMAAElDAABKQwAAS0MAAExDAABNQwAATkMAAE9DAABQQwAAUUMAAFJDAABTQwAAVEMAAFVDAABWQwAAV0MAAFhDAABZQwAAWkMAAFtDAABcQwAAXUMAAF5DAABfQwAAYEMAAGFDAABiQwAAY0MAAGRDAABlQwAAZkMAAGdDAABoQwAAaUMAAGpDAABrQwAAbEMAAG1DAABuQwAAb0MAAHBDAABxQwAAckMAAHNDAAB0QwAAdUMAAHZDAAB3QwAAeEMAAHlDAAB6QwAAe0MAAHxDAAB9QwAAfkMAAH9DfAIHAITSAgCx0gIADgAAAAEAAACAAgcA79ICALHSAgAWAAAAAQAAAKgCBwAj8AIAxO8CAHIFAAABAAAAAAAAAHAuAABXAAAAWAAAABIAAACsAgcA9fACAMTvAgDxBQAAAQAAAAAAAACwLwAA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6QcAAOoHAACvCAAAJAgAALAIAADHCAAASwIAAMkIAAA1CAAANggAADcIAAA4CAAAOQgAADoIAAA7CAAAPAgAAD0IAAA+CAAAPwgAAEAIAABBCAAAQggAAEMIAABECAAARQgAAEYIAABHCAAASAgAAEkIAABKCAAASwgAAEwIAABNCAAATggAALEIAAC1CAAAsggAAMYIAADxCgAA8goAAPMKAAD0CgAA9QoAAPYKAAD3CgAA+AoAAPkKAAD6CgAA+woAAPwKAAD9CgAA/goAAP8KAAAACwAAAQsAAAILAAADCwAABAsAAAULAAAGCwAABwsAAAgLAAAJCwAACgsAAAsLAAAMCwAADQsAAA4LAAAPCwAAEAsAAFULAABWCwAAVwsAAFgLAABZCwAAWgsAAFsLAABcCwAAXQsAAF4LAABfCwAAYAsAAGELAABiCwAAYwsAAGQLAABlCwAAZgsAAGcLAABoCwAAaQsAAGoLAABrCwAAbAsAAG0LAABuCwAAbwsAAHALAABxCwAAcgsAAHMLAAB0CwAAyRcAAJcIAADADAAAzgwAANIMAADFDAAAoQwAAMQMAADNDAAAxwwAAMgMAACXDAAAmQwAAL0MAACYDAAAvAwAAMYMAACyDAAAswwAALQMAAC1DAAAtgwAALcMAAC4DAAAuQwAALoMAAC7DAAAvgwAAL8MAACeDAAAmgwAAJ8MAADBDAAAogwAAOsLAADsCwAA7QsAAO4LAADvCwAA8AsAAPELAADyCwAA8wsAAPQLAAD1CwAA9gsAAPcLAAAQCAAA+QsAAPoLAAD7CwAA/AsAAP0LAAD+CwAA/wsAAAAMAAABDAAAAgwAAAMMAAAEDAAArwgAACQIAACwCAAAxwgAAEsCAADJCAAATwwAAFAMAABRDAAAUgwAAFMMAABUDAAAVQwAAFYMAABXDAAAWAwAAFkMAABaDAAAWwwAAFwMAABdDAAAXgwAAF8MAABgDAAAYQwAAGIMAABjDAAAZAwAAGUMAABmDAAAZwwAAGgMAACxCAAAtQgAALIIAADGCAAAyRAAAJcIAACODAAAnAwAAKAMAACTDAAAoQwAAJIMAACbDAAAlQwAAJYMAACXDAAAmQwAAIsMAACYDAAAigwAAJQMAACADAAAgQwAAIIMAACDDAAAhAwAAIUMAACGDAAAhwwAAIgMAACJDAAA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jXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAz+4DAODuAwAP7wMANu8DAFbvAwBs7wMAfe8DAKvvAwC87wMAw+8DANrvAwDr7wMA9+8DAA3wAwAe8AMAS/ADAGfwAwCZ8AMAuvADAOXwAwDx8AMACPEDABTxAwAq8QMANvEDAETxAwDP7gMA4O4DAFXxAwBh8QMAVu8DAETxAwCr7wMAcvEDALzvAwDa7wMApPEDAPfvAwAN8AMAsPEDAB7wAwDB8QMAS/ADANLxAwDl8AMA5fEDAAvyAwA18gMAQfIDAGXyAwCI8gMAsfIDAAPzAwA08wMAe/MDALTzAwDr8wMAJvQDAHL0AwCl9AMA2PQDACX1AwBg9QMAufUDAPn1AwA09gMAc/YDALT2AwAB9wMAOvcDAGz3AwCu9wMA7/cDAB/4AwBn+AMAs/gDAI14EACNeBAAjXgQAI14EACNeBAAjXgQAAT5AwAV+QMAHPkDACj5AwAv+QMAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQADz5AwBg+QMAhPkDAKP5AwDH+QMA7PkDAP75AwAs+gMAQvoDAFT6AwBs+gMAvO8DAH36AwCi+gMAuPoDAN36AwAB+wMAJfsDADf7AwBc+wMAbvsDAIT7AwCQ+wMApvsDALL7AwDG+wMA1/sDAAf8AwBE/AMAZvwDAJf8AwC9/AMA6/wDABH9AwBI/QMAW/0DAID9AwCS/QMAu/0DANf9AwAQ/gMANf4DAE7+AwB1/gMAmv4DAKr+AwDL/gMA9v4DABL/AwA6/wMAaP8DAJX/AwDE/wMA4f8DABEABAA0AAQAZQAEAJ0ABADXAAQA9wAEAB8BBABgAQQAhQEEAMYBBAD0AQQAIwIEAFICBACIAgQApwIEAMcCBADmAgQADAMEAC4DBABfAwQAhwMEALUDBADkAwQAjXgQAI14EACNeBAAjXgQAI14EAARBAQARgQEAGYEBACUBAQAvgQEAI14EACNeBAA3wQEADcFBABABQQASQUEAFoFBABrBQQAjAUEAK0FBABN4wMA7AUEAO8FBAAUBgQAHwYEAD4GBABfBgQAbQYEAJIGBADDBgQAzwYEAAwHBAA9BwQASgcEAF0HBAB1BwQAkwcEAKUHBADPBwQA1gcEAOIHBAD/BwQANAgEADsIBABSCAQAaQgEAHAIBAB3CAQAgwgEAI8IBACbCAQArAgEALkIBADKCAQA2wgEAO0IBAADCQQASgkEAIAJBAC1CQQAwQkEAM0JBADWCQQA+QkEADgKBABsCgQAkgoEAO4KBABWCwQAjXgQAI14EACNeBAAvwsEAOMLBAADDAQAFAwEAEYMBAB2DAQAkAwEAKQMBAC7DAQA1gwEAO0MBAD8DAQACQ0EABgNBAAnDQQAUg0EAH0NBAC8DQQA5A0EAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQACAOBAAnDgQALg4EADUOBAA8DgQAQw4EAEoOBACNeBAAUQ4EAFgOBABfDgQAZg4EAI14EABtDgQAjXgQAI14EACNeBAAjXgQAHQOBACHDgQAmg4EAK0OBADADgQAyw4EANYOBADhDgQA7A4EABsPBABKDwQAeQ8EAKgPBADTDwQA+g8EAI14EAAtEAQAPhAEAEkQBABVEAQAZhAEAI14EACNeBAAjXgQAI14EACNeBAAdxAEAJwQBACpEAQAtBAEAMEQBADaEAQA5hAEAPIQBACNeBAAjXgQAAMRBABDEQQAcxEEAJIRBACxEQQA0BEEAO8RBACNeBAAjXgQAI14EAAXEgQAMBIEAEUSBABfEgQAfxIEAKQSBAC5EgQA1hIEABYTBAAqEwQAbBMEAN4TBACKFAQA2BQEABYVBACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EAAxFQQAPhUEAFMVBABwFQQAdxAEAJUVBADCFQQABxYEAEwWBACxFgQA9RYEADYXBACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EABzFwQAkxcEANUXBAAFGAQANxgEAF8YBACDGAQAxxgEAPYYBAAMGQQAMRkEAGAZBAB6GQQArhkEANMZBAASGgQAQRoEAJwaBADhGgQAIRsEAD8bBABlGwQAgBsEAKobBADPGwQA8xsEAHMXBACTFwQAERwEACscBAA3GAQA8xsEAMcYBABGHAQA9hgEADEZBACZHAQAehkEAK4ZBAC0HAQA0xkEAPIcBAASGgQAFx0EACEbBAA8HQQAex0EAKobBADGHQQAAx4EAEYeBABmHgQAph4EANgeBAAKHwQAMh8EAFYfBACWHwQAxR8EANsfBAAAIAQALyAEAEkgBAB9IAQAoiAEAOEgBAAOIQQAZyEEAKghBADgIQQA/iEEACQiBAA/IgQAaSIEAI4iBACyIgQAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQANAiBADXIgQAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAA4yIEACEjBABYIwQAiCMEAMQjBAD3IwQAHSQEAG0kBACgJAQAwSQEAO0kBAAcJQQAMiUEAIIlBAC1JQQA7CUEACgmBABfJgQAiCYEALwmBADXJgQACicEACUnBABPJwQAdCcEAJ8nBAC9JwQA+ycEAEcoBABsKAQAuCgEAOwoBAAkKQQAVikEAJspBAC1KQQA5ikEAAIqBAAzKgQAVyoEAJwqBADTKgQA9yoEAC8rBABmKwQAgCsEALArBAD0KwQAFSwEAEssBACRLAQAzywEAAwtBAA4LQQAey0EAKktBADWLQQAGC4EAE8uBACCLgQAtS4EAPEuBAAQLwQAaC8EAJwqBACoLwQA6y8EACAwBABLMAQAezAEAJowBACAKwQA2jAEACIxBABsMQQAsDEEAOMxBAAsMgQAYTIEAJIyBADqMgQAPjMEAI14EABUMwQAfTMEAMEzBAACNAQAjXgQAI14EACNeBAALjQEAIU0BADONAQAFjUEAI01BAADNgQAjXgQACs2BAAuNgQAMTYEAGg2BAB7NgQAvzYEAAs3BAAjNwQAYjcEAKk3BADSNwQANDgEAHs4BACIOAQAmTgEALE4BADNOAQA6jgEACM5BAAvOQQARTkEAFo5BABrOQQAcjkEAJI5BACyOQQAyDkEAN45BAAPOgQAQDoEAEk6BABSOgQAWToEAGU6BABsOgQAeDoEAIk6BACaOgQApjoEALM6BADQOgQA3DoEAO06BAD+OgQABzsEABA7BAAjOwQANjsEAGE7BACBOwQAkTsEAJ87BACtOwQAyTsEANo7BADrOwQA/DsEAI14EAANPAQAJDwEADs8BABSPAQAaTwEAIU8BACePAQAtzwEANA8BADpPAQAMj0EAE09BABgPQQAlD0EAOM9BAAYPgQASz4EAJw+BADWPgQAGD8EAC4/BAB8PwQAsz8EAAVABACNeBAAG0AEAEtABACJQAQAtUAEAORABAAUQQQAQ0EEAHZBBACqQQQA3EEEAA9CBAA3QgQAY0IEAHlCBAC9QgQAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAAUMEACZDBABLQwQAc0MEAJtDBACxQwQAx0MEAPpDBAAtRAQAXUQEAI1EBAClRAQAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAA5UQEAAVFBABbRQQAm0UEANVFBAD9RQQAIUYEAG5GBACdRgQAs0YEANpGBAAJRwQAI0cEAFdHBAB8RwQA00cEAApIBACHSAQA3EgEACBJBAA+SQQAakkEAIVJBACvSQQA1EkEAPhJBADlRAQABUUEABZKBAAwSgQA1UUEAPhJBABuRgQAS0oEAJ1GBADaRgQAtkoEACNHBABXRwQA0UoEAHxHBAAPSwQA00cEADRLBAAgSQQAWUsEAJhLBACvSQQA80sEAEBMBACTTAQAs0wEAAFNBABFTQQAf00EAKdNBADLTQQAHU4EAExOBABiTgQAi04EALpOBADUTgQACE8EAC1PBACATwQAs08EACpQBAB5UAQAv1AEAN1QBAANUQQAKFEEAFJRBAB3UQQAm1EEALlRBAAOUgQAjXgQAI14EACNeBAAjXgQAI14EABJUgQAUFIEAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAFxSBACoUgQA51IEAB9TBABjUwQAoFMEAMpTBAA+VAQAcVQEAJJUBADCVAQA8VQEAAdVBABXVQQAilUEANFVBAAVVgQAVFYEAH9WBAC/VgQA3lYEABFXBAAsVwQAVlcEAHtXBACkVwQAwlcEABBYBAB+WAQAtFgEAAtZBABJWQQAh1kEAMVZBAAcWgQAOloEAHFaBACdWgQA0loEAP9aBABWWwQAlVsEAL1bBAD6WwQAPlwEAFxcBACZXAQA4lwEAA9dBABRXQQAp10EAPNdBAA4XgQAal4EALteBADvXgQANF8EAIhfBADDXwQA9l8EADVgBAB1YAQAmGAEAPxgBABWWwQARGEEAJVhBADUYQQAB2IEAD9iBABiYgQAqmIEAN5iBAAuYwQAgGMEANBjBAALZAQAXGQEAJlkBADZZAQAPWUEAKRlBACNeBAAumUEAOtlBAA/ZgQAkGYEAI14EACNeBAAxmYEAB9nBACmZwQAC2gEAHNoBAAaaQQAxGkEAI14EABN4wMA7AUEAOxpBAA7agQAUGoEAKhqBAAEawQAHGsEAGdrBADGawQAAWwEAHtsBAA9BwQA2mwEAF0HBADrbAQAB20EACRtBABjbQQAb20EAOIHBACFbQQANAgEAEtDBABzQwQAm0MEALFDBADHQwQA+kMEAJZtBACfbQQAaQgEAKhtBABwCAQAdwgEALRtBADFbQQAjwgEANZtBADtbQQAgwgEAApuBAAbbgQANwUEAEAFBAAsbgQAP24EAFJuBAB9bgQArW4EAL1uBADLbgQA2W4EAMoIBAC5CAQA/W4EAA5vBAAfbwQAMm8EAE1vBABobwQAg28EAJ5vBAC+bwQA028EAOhvBAD9bwQAEnAEAGlwBACEcAQApUQEAJdwBAD6cAQAL3EEAG5xBADPcQQAPXIEAO0IBACPcgQA6XIEACFzBACIcwQAjXgQAJ5zBADpcwQAPXQEAHF0BACodAQA5HQEABl1BABSdQQAp3UEAOx1BAAndgQAV3YEAIt2BAChdgQAAXcEAGF3BAB6dwQAk3cEAKx3BACNeBAAxXcEABN4BAB2eAQArngEAAp5BABpeQQAw3kEABJ6BABKegQAhXoEAMZ6BAAIewQAjXgQAI14EACNeBAAjXgQAGJ7BAB5ewQAnHsEAL97BAC/ewQAAnwEAEF8BABhfAQAgXwEALF8BADRfAQA8XwEAEp9BAB6fQQAJH4EAOV+BACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAYnsEAHl7BACcewQAGX8EAL97BAACfAQAQXwEAGF8BACBfAQAsXwEANF8BABYfwQAnH8EAHp9BADMfwQAcYAEAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQABKBBAA3gQQAYYEEAJmBBADRgQQA64EEAAWCBABQggQAm4IEANuCBAAbgwQANYMEAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACkgwQAyIMEAByEBABohAQApoQEANaEBAD8hAQAVIUEAHyFBACMhQQAtIUEANyFBAD2hQQAJIYEAEiGBACYhgQAzIYEACqHBABqhwQAwIcEANyHBAAMiAQAJogEAFSIBAByiAQAkogEAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQALaIBAAAiQQAiIkEANqJBAAwigQAkIoEAOqKBABSiwQAvosEAACMBABEjAQAtowEAAaNBABkjQQAro0EAPKNBABajgQAsI4EAC6PBAB2jwQAwY8EAA2QBABVkAQAo5AEAAqRBABckQQAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAs5EEAPmRBAA/kgQAf5IEAMWSBAANkwQAOpMEAJiTBADIkwQA9pMEACSUBAB8hQQATJQEAJyUBADMlAQAFJUEAFqVBACglQQAyJUEACaWBABElgQAdJYEAI6WBAC8lgQA2pYEAPqWBACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EAAelwQAXpcEAIuXBAC3lwQA95cEACWYBABbmAQApZgEAN6YBAADmQQAMpkEAGyZBACNmQQA45kEACGaBABbmgQAlJoEANiaBAAGmwQAMZsEAFebBACLmwQAuJsEAP2bBABNnAQAi5wEAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAE3jAwDsBQQA1ZwEACadBAA+nQQAgJ0EANqdBAD7nQQAXp4EANWeBADsngQAcZ8EAOifBAAIoAQANqAEAHSgBADAoAQA7qAEAFyhBACKoQQAuKEEAEOiBACmogQAtqIEAOaiBAAWowQAXaMEAG2jBACLowQAqaMEAL6jBADmowQAIaQEADWkBABJpAQAg6QEAP+kBACipQQAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAATeMDAOwFBAAIpgQAW6YEAHemBADJpgQAK6cEAD6nBACJpwQA5KcEAB2oBACXqAQA8qgEAP+oBAAQqQQAJqkEAEKpBABiqQQApakEALapBADHqQQANKoEAISqBACLqgQAs6oEANuqBABwCAQAdwgEAIMIBADsqgQA+KoEAA6rBAA3BQQAQAUEACurBABBqwQAz3EEAPpwBACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EADlRAQAgKsEAAVFBAAWSgQAu6sEANVFBADyqwQAeawEANGsBAAArQQAQq0EAJOtBAAjRwQAbkYEAHxHBAAPSwQA00cEAFtFBAAgSQQAwq0EAO+tBACvSQQASq4EAHmuBACsrgQA4K4EAB6vBABZrwQApK8EANuvBAAosAQAmLAEAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAXFIEAO2wBABLsQQAkbEEAKuxBABjUwQA1LEEAEOyBACVsgQAxLIEAAazBABNswQAdrMEAKqzBACKVQQA2bMEANFVBADnUgQA/rMEABy0BABFtAQAVlcEAKe0BADQtAQAA7UEADe1BABvtQQAorUEAOW1BAAUtgQAV7YEALe2BACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAAK3BABAtwQAzbcEABa4BACGuAQAFLkEAIy5BAD8uQQAhboEAMi6BAAbuwQAkLsEAOm7BABUvAQAl7wEAAC9BABpvQQA/b0EAI2+BADkvgQARb8EAJa/BADRvwQAMMAEAIzABADfwAQAArcEAEC3BAAmwQQAf8EEAIa4BADfwAQA/LkEAKTBBACFugQAG7sEAEnCBADpuwQAVLwEAILCBACXvAQALsMEAAC9BACtwwQA5L4EAOzDBABexAQAMMAEAPDEBACIxQQA9cUEADfGBADExgQAFccEAIfHBAAQyAQAiMgEAALJBACLyQQAzskEACXKBACfygQA88oEAGfLBACxywQAHswEAInMBAAfzQQAq80EAALOBABezgQAtc4EAPLOBABVzwQAsc8EAAnQBACNeBAAjXgQAI14EACNeBAAjXgQAI14EABG0AQAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EABo0AQA0NAEACjRBABr0QQAy9EEABrSBABj0gQADdMEAH/TBADK0wQAFtQEAH7UBAC01AQAYtUEANTVBAAt1gQAmtYEAP/WBABM1wQAn9cEAMnXBAAX2AQATdgEAJvYBADt2AQANdkEAHzZBADj2QQAZdoEAMPaBAA42wQAmNsEAP3bBABN3AQAyNwEAPvcBABk3QQAmt0EAOrdBAAz3gQA1NUEALbeBAD83gQAVd8EALzfBADu3wQAPOAEAK/gBAD14AQAXOEEAMbhBAAm4gQAieIEAMziBAA64wQAe+MEANPjBABB5AQAjeQEAM/kBAAl5QQAgOUEALHlBAAk5gQAdOYEAM3mBABI5wQAsecEAOvnBABG6AQAcugEAMLoBAD76AQAV+kEALrpBAAY6gQAjXgQAI14EACNeBAAjXgQAI14EACNeBAAYeoEANTqBAAp6wQAlOsEAAXsBACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAATeMDAOwFBABV7AQAtuwEAOfsBABe7QQA8O0EACHuBACK7gQAEO8EAGHvBAD37wQA6J8EAAigBAA2oAQAdKAEAH3wBAC98AQAXKEEAIqhBAAh8QQAr/EEAKaiBAAc8gQAUfIEABajBABdowQAbaMEAIujBACpowQAvqMEAOajBAAhpAQANaQEAEmkBACG8gQADvMEAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EABN4wMA7AUEAJLzBAAD9AQAKPQEAIz0BAAI9QQAJPUEAIH1BAD49QQAQfYEAAL3BAB59wQAmfcEAMT3BAAC+AQAS/gEAIv4BAD9+AQAKPkEAFP5BADf+QQARPoEAFT6BACS+gQA0PoEAF2jBABtowQAi6MEABf7BAAs+wQAVPsEACGkBAA1pAQAj/sEAMn7BABR/AQAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAjXgQAI14EACNeBAAAAAAAAAAAACARAAAmQIAAJoCAAAEAAAAnQAAAA0AAAAFAAAABgAAAJ4AAACbAgAAAQAAABMAAAApAAAAnAIAAMxRDABc/QQAtP0EAOYBAAABAAAAAAAAAIhEAAAcAAAAnQIAAJ4CAAAAAAAAmEQAAJ8CAACgAgAABwAAAJ8AAAAOAAAABQAAAAgAAACeAAAAmwIAAAIAAAATAAAAKgAAAKECAADQUQwAD/4EALT9BACnAgAAAQAAANRRDACN/gQAtP0EAHsCAAABAAAAAAAAAKhEAAAcAAAAogIAAKMCAAAAAAAAyEQAABwAAACkAgAApQIAAAAAAAC4RAAAHAAAAKYCAACnAgAAAAAAANhEAACoAgAAqQIAAAkAAACgAAAADwAAAAUAAAAKAAAAngAAAJsCAAABAAAAFAAAACsAAACqAgAAAAAAAOhEAAAcAAAAqwIAAKwCAAAAAAAACEUAABwAAACtAgAArgIAAAAAAAD4RAAAHAAAAK8CAACwAgAAAAAAABhFAACxAgAAsgIAAFYAAAAOAAAAoQAAABAAAAAQAAAAEQAAABUAAAABAAAAAQAAAAEAAAARAAAAogAAABIAAAATAAAAowAAAKQAAAAAUgwAggcFALT9BABeBQAAAQAAAOBRDAD9AgUAtP0EAHsBAAABAAAA2FEMADoCBQC0/QQAbAEAAAEAAADcUQwAlwIFALT9BAA/AAAAAQAAAPxRDABjBgUAtP0EAN8EAAABAAAAAAAAAChFAACzAgAAtAIAAKUAAAD4UQwA9AUFALT9BADqAwAAAQAAAPRRDACYBQUAtP0EAKQDAAABAAAA5FEMAGMDBQAS/wQAEQIAAAEAAADoUQwA3QMFABL/BADnAQAAAQAAAOxRDACJBAUAEv8EAGQCAAABAAAA8FEMABwFBQAS/wQAPQIAAAEAAAAIUgwArAgFALT9BACNBQAAAQAAAARSDABdCAUAtP0EAHMBAAABAAAADFIMAEQJBQC0/QQAgAUAAAEAAAAAAAAAOEUAABwAAAC1AgAAtgIAABBSDAA2CwUAtP0EAIMBAAABAAAAAAAAAFhFAAAcAAAAtwIAALgCAAAUUgwAKQwFALT9BACgBgAAAQAAABhSDAChDAUAtP0EAK4GAAABAAAAHFIMAC0NBQC0/QQAvwYAAAEAAAAkUgwA0hgFADAOBQCdAwAAAQAAADBSDAC1GgUAMA4FAMMEAAABAAAAAAAAAGhFAABCAAAAuQIAAKYAAAAoUgwAoxkFADAOBQB2BAAAAQAAAAAAAAB4RQAAugIAALsCAACnAAAALFIMAC4aBQAwDgUAwgMAAAEAAAAAAAAAiEUAALwCAAC9AgAAMwAAAKgAAAAAAAAAkEUAAL4CAAC/AgAAqQAAABYAAAAsAAAACwAAAC0AAACqAAAASgAAAAEAAAABAAAAAQAAAAEAAABLAAAAAQAAAAEAAAA8UgwABhwFALcbBQBODgAAAQAAAAAAAACYRQAAwAIAAMECAACrAAAAOFIMAHIbBQC3GwUAsg0AAAEAAABAUgwAvB0FALcbBQDeDQAAAQAAAERSDADmHgUAtxsFAO8AAAABAAAASFIMAFcfBQC3GwUAPAgAAAEAAABQUgwAlCAFALcbBQAFCAAAAQAAAAAAAACoRQAAwgIAAMMCAACsAAAATFIMABcgBQC3GwUAxg4AAAEAAABUUgwAOSEFALcbBQDpBgAAAQAAAFhSDAAOIgUAtxsFAHgGAAABAAAAXFIMALEiBQC3GwUANQYAAAEAAADY7AYAPIVbPWm/Fr4CmWK9bPdPPfZ77D2n2S69PuI9PTn6X73Ul6g9I3zVPYj3u7yonjU8k+JhPDs+5T1P0U88GKmuPZU2gb3wrQU+JuelPRNkVb2awzC9wU+/PVH/4T0Pkpu9TP9hvQbmNr0TcvE8Qpg6PUFHabvZIaA9qFSePRKaoT3D4349KFm4PRpoEr3Q2Qs9XYpoPaCGQ71Wdhk9MjoQvYpyjj0XqB29XmgsPOg4jjwZkt49MC2zPSEZWDs9YN894hKiPZ7Z1D2hXas8EXLtPez8Bj5EVMo9F6hbPUclir0EyuW7Ne+rO5iOBD1HrGY8wuC0PIDbzzyxSDo9s3iTPVEzAD1IgIC9SZusPL4zdz3A3rA9KX6UOyiuszwKOL08dBJkPZ+v2LzzNzY9FnPoPH3Stz1jvjY9ttC3PQ3lmT3r/Lw80jLVPa5sgj29cXM9GzeWOzPTVT2wuIg9+S6rPb12iT0SVIY9F/4gvSsRFrwflHG9TbnmPP4fTj0/3oo9OlkKPUnBH7rxDpO8ip38vMNlVbzsffO8wjgBPGFsEL3FGSS7sdZWPVZ88T26j7G8hg9ZPXj/hz3gl1Q9LIwHvEl5+DygS289imqDu7DVzLuSJXA9d/jJvDcyYz1wg6i9JCeUvZcTPj0mWFa8ok7NvFsD/jzmGj+9OBE8vXSo8TxoNnc9o+G3PAsni7x7Zio8tVQ5PGj8XT0mg668igQxvWMgFr1qkDg8BIbVvG2LtrwKybi8LWEMvZIB/ruvwX29Ap4GPPlLwz3z9Re9sy6OvRhLFT5vKF+9b2uovGhpaz1T4uM84/KQvY8aVL0OltW9aBrmvdkxmj2D0Jq90fOzvblv9DxQh9o8oXViPDlAk7zcqQC9XuCrvAjruD0h9Uo92noMProP6T1l9Os6uH87vdKhkbri9MG923ztvSriNz2eKZI8ABlJOwjQ3D0Rh1w7WQ7evXROmL0cwte9ve2YvMxuJD7IPKa7PfMvvcp9wbvpgRA8HI50vND/Tb1Z2QO+amFmOteHVLwBgJu9caHavEnfNboeKMU8wUSRvGvuHb3KwXC9YYQFPR9YAz5L34A93JaGu3414T2yZVo88xurPExgJT3HblW9/eyePQIPgz1cmWu9+eLNve+zmT17Sq+8iiSTPPGdGTtsXyy9rKGWPaWfUD0If/W8UMm1vC9vCT3e/TQ975VkvchWTr0dSzq9AwViPNcusDzxv7O8YhwMvmPYXz3su4M8HnZZPcqNQD0OO686TCabPVMgxT1bQBI8S/HmvHyN3j3w3wy9c0CRva/0db0DMd68qtLnu8wahrwJBVs8ADnTvT75SD0LzWq94brfvIHCKjwf0aq9xP8WPZYyej0TuFg8bPCfvdqcGj2Azgu9s7Z5vVKHLL2XeaO9mh2lusl8+bxGlkq8IUeBvUguRD0pgDy97aWvPeGGzjz1yPQ8Hz7TPeuWkD1XKTk91VA1vdeeBj5cwas9vlKxPLceC7s2/ha9u/qpvAjgHL3ZxXq8RFfcPFwL8z1gine9KibkvEiWQ71Z1Uc9TRGCPYIlDz04a3A8YoWaOpVjMz0lfAU7BiUivcy/L7zz7dI7KXn1PKUFDL2elqC8Br9HvEEyj7vo2dC8UMnYPEe8hbzG2dM7dRWevETdnDs7Qks9bAUcPVLNlD1R2ms9CkEZvdENhzzZfQq8wrUjPXmjp704Ldg8Hu4kvfzX4LzzxCa9esCJOmwzQr025Ym9sJwOPPacs7wsaLE6ZG36vDPB87wjkey8/FxGvMTGRb1Erbm9ki3MvQggFr0v0Gi6aM+LvQHgmLyQlhS94btmvKSJmTxqDaq8Dku7PQtMEb1XDV09gv0rPbFOVTyGnwq9f+X5vbLliz11MRi9LpscPPuzpTsAzmc9swuAO04S5jxxBWK9KwcYvRxK6LztDzW9/xIpvCVLmjyuLwu8/+fAvfP5T7wIxK68OLXQvWinoL28rB87lziGu6UGRTyWJIS9HvbYvXjpybwIM7S8bpeXvQc3lT0LqGg6+3QjPIS8Cjxgyxg96PztvCddEj0r9zO9bw72vZUcAj3F4zS756/dPTKEUD3kYli7K99RvWtopTulAGi9p2rEu+TNWr3vHEi8zZFTPHV9Ijy4DPi7nat9vRgpE7sy0qI8JWKlvOvbjr3+Moe9/C0Jva56tr0PGAq9c7GXvfYouLzFT3y9+gY2O4ptar2rTES92PqZPby3NTtfhSw9Pf79PIo0WD3R+yE9IlL2vG/EHb3vwOS8G4zrvIriejy7J7M8vQGjvAlJJDtIGdK9JwZEvU+F7LzuWnw7jzo2PPbbBzyfjEW9o3c4va0WGL1KHY+9tlPhvdBtMLtw/PI6s4ZyvR8Qer2LOK29WXM5vf1kaToVpHC9Fggwu8dZgrzNwhQ9BQBhPcGClT32ULU7kRSDPetdlzzp1by7fIQDvQ5RiztlHz88XeC9unCguDxl6gm9DgSPPRFjirsvuBG8Qq6ivRr7VD0+bng9zk4pPWfJvDo9TsS9OGUive9YLT3pZY88ENM3vRPz+LtQwaQ8e24/PYCMuD01KaG9Yss/vR4VUL283oK7WPxavYbiMTy+bRO9e12RvbF4ET3Kk9s8nzEOPUOrkjx1GmA9O58dPPlCAr0ENXA9hey+PIPJhTwrD2a9jtPRvWEHqr2HU5U9NpihvLCZ1rwWmcu80os9veoawzps3GE9uzdQvGWnn7zyh4I91eRMPQqQ9rwtjw88iLDKvPd6Yb1MHOQ6CIwIvZfaeTy03+49nHetulNXh71C8mg9QsE0ugJSNL1RisE9DfYsvfuVW714x5E8M9TRPAzT4r050Q+8iiQ0vH2W1L02PP48l4CsvAf5lr0qz1I9LrXYPfl+sL3h6+y8JfIyPP8BFT7NAhO7f05uvcZcl70Ohmk9n3kEPtNATL0uidA9OPlNPfYoAD6k57s9jyyDPceXeTyXwME9qyB6PRQYEr5pwe+87UbiPIlJsTwPQ3u6DFEtvewQyr0DCjE9vYRwPf0yRr0Wa4E9KTLIPNa8E71+zRk80bcvPb5UKLySDac9XDmzPVgUB77RswU8DOxtvCDi8TzuGxQ9Ag4Ju5EMuDy9FcU9osLAPZ+Y77wVDqC96nm0vBrBBLtuXDM8yk9svPCI6DzYWfM9CdDuO6fi072O2po9guinvE6MkTt01oM8e2xIvWtes73qd/u7YoC1PW/HeT0oeIY9+i7wO5rAET2GsR69PfzLvO+rir0njss9g6ouvASXYjzGR5W9Xdb0O+OG2T3b0eu8JELDPCchBr1OEK885ywdPQfJyDxn/y+9jSvtvIY1Wj11mXU8gb9MPep9BD5zWMA9+dAvPbSXCb1ZdYu9T3M4POQNMT7YhQy9cBuAvcKHlLyBKvA9iPx6vTy5sb3RfAy9I+U/PVglpz288hA9VjuWPCHf5z3smgU9aq9FvaOOjzyIKZO8YFDWvddLWLsNfHA5QsNuPOC7rrxAO9W8hMQhvMwOLz28Tay87LejvaU31jzZ/Ky8NKSOvYTDCb4BiIy9QKvHu1f9qD073x8+G5EhOzuPETxaGyq9ZFWoPFkvWD2c8/y86tDmPHS8Dj4WfZw9bZYUvTD/9ryeiiW9eu9evPoQf72zUOC85AgLPqYDHD7j5Fy9MOLkvUa2sDzm1js83qZXvbURh71hNuG8O+rxPe83Mj56X3u96lnhvRhzXbyDBo+8fqqvvWUWN71CG3q9i0PYPdAPVT4n57u97AU6OnWcEj37w5M9TwG2PIe6lTzujwG8bAx0PDSvFD7cmYO9Nvn0PNIq7LpYoGW8g9kqvaPUcrtNLLq99fvCPfsntT1LO9m8aiH3vG7q0TxS+RE9YmEcvYbYajxd5Lg8uUjrPCgoJDxIr4G9fLMxPaJljz0Sv0C9J+SVva581zyNef48diiIPX6A3z2rmIW8lWnuPNYq7TwWqqQ9QruOPbQ3iz1scMc7AYKIO8HRtj2m4/+8KjLdPEJ8PzwCqYW8zxCXO5t8CzziKxG9Ek8SPWTTjDuCY6G8NCUQvIfFxD1dAX08DbcgvQqulT3wRHg9ahQKOdzHArwmjMQ8cTd5veC94LwFR2C98Dcpvb/OET0qS/o8Lz30PPMrGD41vJA8hEbxPMChSD07QCg8vlTmPF5PqT1s0d88m8hKvBbZ8D2Fuxs9SZEHvaMErDuikMm80nvcPPouXT3CiM+9FMaCPVTulLw2Gbk8CVsSPTfcKjyUHyq9O5olvUSkhjzFh6o9yOXxOWlrWb1l0q69iwrTun9AsbyaF5K8OhcePaIOrj1nVI28h6SwPewt4T1J9bs90AuuPaGZnD3Ok2Q9IKfcPJ28zD2jwrk9VIuIPfSOcD2qJLi8WS2fPfEf/j3UUgE+hrlcurYecjwwuLs9gI9Du85uhL2WiJC9x7FbOXEPtTyC2bC86C2wvXwsu7zVr4M7Pr0cPHnmqbzy2j29C9n4uw2sYbxYwDq9JgkIviSXsb0crxW9Zj87PAmsBj3E7zO9mJ17PQlcNT6osNQ9DMRZPGQvzj00/v49sl03vZNTuT1t+js9/7fkPW7frz27R0M9CCPbOqNQwTy1Ahy9Vg0APfQ0nbx9bWm9/r/BvIGChb2GWWW9VlqRvQI+B71fS0G9JjvSvLDvWDxOC7292wZivfYJQb1Wewq9bJ2JvbP4QTz4Ar+9YJWGPKM7Gz1VyNi7hKufPetolD2gxUA9T7jOvBsBi7wZQKW9cgZ3PR2Y1z2laIe9eefzPMPH1jxzyJw8TKitva57gb2O9gq+JY+cvbuuGDzlyaW9YtrQvSgoVb3Zh2c8nsCfveBtmrzJypm9ipfPvYF/Vb2Kp8u98B6vupTlgb1GJyu98mn9vcgO6LyAHXi9t8xuPVe8mz2RWoS9FnkDPDUp7T1PkPw9WxOiPHmBMruVpW89fHc/vVjdUj1hDyy7/XfmPZGfyj0SZsg92tc+vTmfNLxDaI+9Mwv9PHYr0rx9HJ29PgpQO6vY3L3Clb28NR3jvePlJ7yyQ/8891tLvVftujzSObQ7PZqsvSVhFr7AGZ69AaEIvmxdOb0DC8u9TxTUPAcaDj3LCT89x1/vPYGTxT05Xt49+VttvDseMD1kgoq91KmuOl7BEj5bH5s9ULm7PelxaD2E8uc9uUk1vKfuqDyjNeu9YHCZvZSk6rwjAFG8NkGOvcDhzr0nfSi9Xm+1vAC5ULzOMpm9DjDYvdIZnL3yj8y9vpPqvQZG970oxsC9tFySvecSJr0f93q9rOUsPdtznT3R5yc9OK0BPrVcFj4v114+ZUIAPta9PD5fG9q6Z9QbO57TbDzlvg89CHnZPKCijDyXHlw9zi/xPP7p5z2KYHO8CgCEvKY187rf9ou8AKZevY8sWb0Qd1c958ESvfPCs7nCW7I6mbM1vVMyLb3UZgY9u35gvbLZ0L2olZO9FfrbvXXmwbzQgNI9AhU0u9bPBL1MJr08fFDoPIPx0z28gEg+JvbRPWKopD2iU2I9WbAHvo1oE74mg007A7wKvSiVEjyqb109m/aiuw7TQrzNVJQ5ys4fvaWmSL1GUbE8SJNivAmWl7wMI5k8e7XIvPm7uzwS3ac9/IoHPa6z2b3yqco8COhaPcsAxbwQ3AS9S/G1u3MLpL0/UuY8+X4tPSRKmDx8ykg9qaRrvNsoerzgdac8mydNvcDWLT3W45s9ccVKPQiadr2nmYu7t3wGPgy5a7wpd6C8AqYlvQV3/r2SWjo7V41OvdnOur1jofA7mUjAPaGr8T38wpo7J52RO/aHo73HBBS9qPI3PSoIuLyWvD89hKpWPeS3sDx5jjy9yUREvBMu4bzDegs+Enm0PTTJn70aZ587BfqCvIzYJzyc3Q29ZcO8vJkGsr0KTIg9i/xsPf5wAb4yB708HkWWPfMemj0df0o95JW3vLRazL1oWxQ+dJCGvVnhoL0P2uc8F9UKumZHP71wIfK9rs76vShYHb4bO/O8CnGlPXdeCj7tous9jy1CPYxyYTzsvG+9YvR7vNj2Yr1rEcw8vyzrvOgt4jwbFXQ+ctZkPpET0z3bs429EYHPvb7UTr4adk69MBOLPpxfvT7h2LA+bPiUPnZpZz19/Sg9criZPZVI4LwTMAq8kOaWPUt8hzyRksC9NxXEvS2OcTwx/pG9dcANvf9E6j2e0ww+KcaCvVg8gb1ZRgY8NwfuPaOFpTtUtJu9iyCJPd60gz6gGLk9KpeTPkHQBj7Mmlm9ShSvvGv+DL3GHYC9+bofPfpSPD6LNIU+zDcKPcdomDy/WkM+xvY5Pkk0YTvvxfi8541JPucitT5hrX8+7f8Dva5WlD4Rodw+z5WdPhROvzwFSsq9iYrgu9Iytz0S7aa908LkPKYFfj7NizE+K0F/Pbun1b2vhyq+gCUHvge6rr0nV0W+xZwKvlm9Yz7mzcg+KS6IPhrLSbyjfSY8igIJPq8i9j3nxka90BqivfcYkD0lGX47NfR6vV7BGb79mum93jyvvRonmL3LBSW+308HPjGKgz49YWk9LoiMPTuPxbteLgK8JpdEPfIdiT3O2J282zV+PfK8CT5qsYK9NYpDu5mpDr1oEfc7cZAfPb/J6j3VzYg8O6EHPB189buP3++97h/avSYM1L3/jky9z7NIuv209zyQ8EK9G4+Vva6Xbr2UuAa+6+bZvWGXRr7TQsy94i2ivabW8jmZYC2691ciPldVrz3z4Jy9Eyekvf16fL2AOJo8U1c/uvoZjD3JcB09gZ1PPjeTYT6SZKy7ivdtPPGrgb2/tOo8emVoPQ1G+T3rKx09xqERPVsl2rx0idK9h6iFvY2j4r06Fbi9X+zOvfPLBDw+DMM7l3HWPAG8i7ytMN+9NfGjvbXZ5r02XX29DwJ6vWHUgjyDoXK9T7vAPV0Saj4FqwU9+bWKPVtkuL2QxCY8bz6ePHG1sD3tSmq8dlvgPYwcKj4XcMe8lJQHvUGILb1oo0Y81YnJuwFsjj0RA/c8LXiSPMnf4zzqyGO9NdcSvNehS72Fz5k9XW6RPAxAcT2qdaO9T2gVPdP+dLswKba9wqyDvQE9pb0XIhI94g+SvTSO7Lvk7MO9UCc3PjGyGD64k6k8UYBNvXB/TL1JoIA8tOTKvQw5hD1i+Rw+g7lAPopo7z1rFkG8DUm2vGoVnLzLWtI9njvuuy3i7j0xhRc+GiufPeybxDyEnlu9dp6hvAx5YTw5CYo93aOFvVSLaj0bBMW81YwPvqL7qbzeUD290QtAvcfmlrxVKZ49K8ZGvRODejzCG0m+nojdPXp6Gz2nO8G9I4WjvfGVCr0Z8uI990i3PNMUAj6GU10+dhvvPIjamDu+atK9QdNGvXX0YrvOMrE9WHK4PKpYxT1R7i8+Bea9vVW98DmJFvC9JhD6vfA0H74V1JM98f9YvYvTGj3X+lI9HL4bvaiKHj3LKhy+sxqyvTCbpbwStig9Jmwbvqg9gTzb59E9E8b1O+QMjTyK24u9PGnEvKUlh70+2TC9uSulvTFx2jsdigg9AEeRPXuSqD0ot4a9PDGJvWAIj73JSIW9gdgQvtwNxLyq0YQ9wbYQPE12vT17x5q9rZJPvamtyL1hSIm9u+8Pvrf0BD3vjQA+30+QPCbrBD5ZMie9f9rzvW6vF77jjqu9td75vWhQTD1aLV49fBuAu9ZaBT0MOwK+ts+YvWaiab2GOo68oGGkvYKSXr2S2Yy8k3HsPDo3kTw6q7u9IntqO1Z2z713Zdm8CIimvQ+dHb2Hy0e6uNiEPZZ6ST4XfUm9K5KQvZH5Rr22yCq8IZKqvQztFT09bBe9dYpLPWzHqD3zJgC+6ch6vbibGb29+NU76NzRvR9m0jwsCpQ7O/QYvadYOby2rV299yJpOuu5/b0hF3S9RlX+vaf4e73RtpW9igPIPITXjz3Glpq9V3tGuo+Tub1cJ6a9VbqNvTJeHDxm3ke8ivSeOu6mEbyrLKq9HHo6verz273RGmm9f58OvmjjuD1L3Bo+hhYCPSfmNT41+Kw5dgVTPUybyb3LDcK9BYqvvVJQJj42AEY+QHwMPKUA6z0ixHS8PlAJPeygt71fPr68EjPaPEkuXz3o3hC9mKuTvb1pi70juf+8zv1yvfv5ML5siyK+ZANLvUFZgzwHqv294h0OPkHVWz7aVwo+avZWPuAptT1e+KU9Y8UZPS1O+T1LZOM9nfjZPb/CDj4jZe491WoXPpuYRzyCLT482VIRPYQbtD3I4oq8momdvTCtqL3ujt47c2TJvLxaBT4/UuA9H+PJPdP7QT28UTK9HmAbvmxXN74BBta962YJvonYh73b2wG9DhCMvVlz6L3RB4+9XWpDPipEND7HUp49jkPNPQ2Duj7K2pA+eO4BPhc/Iz6qBRA++WnlvS4LD76yH7q9x3QQvo6bUT16liy72BLdvff4xr0AeVi9cEKAPPUTTj3ayo89M7vyvNa/kDxMrKo9yIkDvUyYoDs4clQ9Y6xOvYAdxb3/7c68RKeNPVTjRjz8eVo9aAkNvezvzb2Q14C9tOGxO3OOzru9+rk8OvuQvBsXBj3Co5490aP+O1h+Tj06A4c8GS6+vMZey72W6bu81bSmPM16qr0/Sa49n+UYvVhphL1BUnm9nxYMPqDk6r3HmB+95UiSva9cLztPFBW9cbXJvdWS4b3AFjM+8VU0PhTHJL4VdZS9VGGAPNcgcz6Jq5o9sGqAvb2Slb2VQ4I+gRYtPrtLp72yO3K9tPUhvZdn3zvjAGa98pCVvU9f+b2jpf09GSViProMY71jmAe9HMRqPZt+Rz5SgyQ91rmEvbX//L2Y1D8+TT/FvbY25b3DC/49jHogPskuRT5qJN89N+oKPZ5yBb5lema9Ldi4vQl9cD4uZo4+o9WIPjyalD2DoCk+CEJlPp5kmD10Ele+CWKlvVHtGb4e2Y89zqjePTnsOT51Lk0+GfoKPn4I9L2n++O9k09BvgLReD1TulI+cTj+PTX7ID2WYZU+1A2XPrefjj5BwJO8gHUqPr5ORT4xtJs8M9Z2PSiUGjuaS388usbdPMcf6T3H4/c9iQsgPSzyPT3/v7g9sR30PYHmbbsG4LU8xLLTPeuuMT5MFPs9uWNCPj8lIT5WLD48CIGKvJMrfroovZM9lVE+PKjvNj73vHo+x3U6PhieTj5/onQ9VnYSvBHOvby11BM+T4gQPlsjYj0cH4I91dZDvs1g0D25mpY+F2qHPoFivz0vghw++rlKPnXa6D3vRwK+Sxlbvr6DpLxlfIa90CmIvHhCIb2PuEM97oFNPdNWvLxc706+7fyCvdCCDD4022Y+73QYPpfpsT3osIo+2uWkPudWyD2SrT2+IXUwvvqkKrzJMSQ9EQUsPUiBpb1x0hm9ywBFvX3lVb1eTV6+SKOHvQVH8TwPbzy99klXvee0rL38UOk8N/kOPenCBzxbVOK90ZflvSizo7xL7lu9pKS1vceBQL7drl69y0ZNvdf9Xb3l+nu94sDdvdIKMj2vfyQ90Ct5PDxP+b1/5Ue9UXQ0vJonBT22Jna9xY38vHMEvLyPbYy9lLezvfGkc74E5bu9hNlivUv9ML3wMfO9Pu0svXileL2AtEM8k7HVPAxsH71gm4a8nCjVvHfjVbw6kSA9fWmFvV6iODwysM27hdPevE8E5L14Lgc9m3vEPGMaJz0iXNi9tl90PTTTQzzbOgK9L6iKvFwLfb2m3JY8ypO0u7K1i71fvQK9yX3DvT1D+Dzgi0i9GMTuvH0FCL7J7UO9Di3HOwh+bbzAyQi+1mfGvYSB5rzM0UY8NjGIPVYKp7x5xAg+HDR1PfWLFbwQT0C+55z1vZbjgb1lckk8GkuSPQVn2z1WCeM9eomGPS4w8rzeyia+QEsPvgLEU7wOAB09gv26PUVVUL33FWY9hJsfvWepgL2+UOu9ghASvrqROb107II8qcG7PZxssT3YGUg9CylrvWvymr02ei++Q5XWvJn2yrwDg9s8gATuPXv8sz1t7h4+M+dAPe2AOD0qL9G9rcT7vRdzRb2nqGC9eTRgPYh0lj39cWQ93COove3XDT09p1a+wPe+vXayeDuiLRQ9OHErPs+MkD1h/9A9LyuLvRSOUzse6gC+OyszvmdBqjxrlJ29m4r5PQ1DuD12V0Q9sSHpvRjKpL2Sq4O+hH+lvTkO3zttDPC8KNhHu+10470dmT29+C+gvfpa/Dt+39G9MqeeOiOtUj5nwAS90hwKPE90nzyhRkS8iEwVvqloLT3zsIe75p+Mvdg3x7zTiQq+OgKlOnz86b0NRzC92daKvMBMaj1xQCS+2CfjPFM2YT1NtRm+u7VtPG2JwDxMKzC9aNNKvRo7Xj4kZgG9c9WgvMqzOj42sAW9ZA49u5cNgjySrf66YoefvRR0Pz0m/cy7v822PZGpWj74kE08CVyPvXvycr00XZq8iWIwvT2L8T3sZR09LgggvfDaZj0DAsi9FFysvCv8Djx5NOC8FGZRvSEMLj5OI/I8qIqrPDBTrD0Aogi9ySsUveXnbb1cs7W9bdbvPHejij4g1ng9oCeZPQZ/HD4cFyC9EPhQvbH5G7zFCQa91eeyvTZVnD27J5O9GrwNPsQAoD1hHAS+B9BgvbEzZ72GyQa9VxDlvRCqGT163XS9A4C7vT+5Zz1SSDG9yq/5vC6HZ7z5gdC9tsFivDsoTj4gzXu8u32cvQ7xcT09bKC92ah5vEenmb2Hx8G9SrwZvttbJD4Fwrg9KYitPZWzCj1nVru9c9C7vZsMrr2RrlG9saDVvaCoKjziE/u8nEm/PdQQhD3N9x69FjRMvaF9F74g/1S9Uq2vvKbfIz3JYP498K+XvBCfKL1YxfS9XthHvRmjsr0nJ629AgzYvcNw5j2oftw92aBEPlAKez0IBeC8cfC0vQYULr4gVxG9r6qvuy3xqT0I/5M9084rPZY6Pz0fLg88CPSOPYyGZz1z0nA9DezKPBHSyDxBpP49o2JlPWkIjT1KOx4978KYPXB6uTyEBHU8/O2BPeQ8jj1hLvA8QQPwPYNxOT3DCwU9KH4IO+p+pzzqiuk9lEkwPZb8gz0jH0s9y2enPYI9vT0DfEg9g4+4PBFgh7zMYZs9QmR4PZzkDj6AJuM89EORPfgarj3eXos8EHa5PSUeqz4lek4+eyLJPRPYoj15E7I9oKMCvtT8Db7LX4e9sfvgvQ6LCz2H5ja8cCGVvdqACr6ohwO+i2y3PafVuz3PsM49WHdvPhmWsD6tyco9UhSkPB6k/D1Xxps9s5EYvjkZIL6BAoW9WTmQvG5wCz0yQge++tT3vSFWO77olCm+bueyPHt+4by/kpQ86uajPKBBWDyYdaQ98/hHPEJzQzt9Jla8Got0PV3xWr2nhgq9lswhvF+vjL1SESI9LZ/+vNzQar099rE8TGIqPdQ3LDtdJkU9Bqy/PbkVBrzwRo08Z7DQvMp1S73R0cO8Xv+HPZIogb33Xjo84PBkPbu1qL0aHck8u6D6vKJgt72UUYw9tkGTPYLem70n+wA8IsAAvHULdj1mmji8u0M7u25/Q70kapo89KgZPq1igL3d8aK86oM6PP5psz1W4h492msevP4apL2+XoM9RE5fvHMYu71ayI88+ag2PZqmxT0fz1U9ENAPuxIjkL2Y/oK8jy0GPqwxzLzeKym8w9btvEHgNz2Y3VI9tjiYPKYk77w3+Kk9ZwU8vTs8Ib55t7m93IDzvHL3BD7Qj2Q+J3F4PvQzFT0Fi2G9d0AvO70KHb2OFYQ9fBMdPQ1YHD15M4A+YCqvPr0Ppj59w0A+7R+wvcs3NL6j2By+ewXLvSz46bzNR1m9nYKLujsGiL1Zypm9z8FvPM2pmr2wvji972EKvDktkTyJoiY97tJPPpb3ID6+92k9AKSGPmwYFj4ug308MvZOvdL6Hr0vlWu8p/BJvUoE8D2OxHY+7ISHPvZLoj4B7M49TaEzvK74X7y4JS8+BHhNPppjLzul+UK8kWg7PnC8wT08NIK9XZWEvZHBYTyjeM29ZteCvV1LeTtyM349MvPTPfs8iT7/AQY8dZe9vIIYGTwCYrw9gMkWPUu+D7zm4sW9hnjevKlGCj6Cjrc9J0/XuwEfA721+ZE+f1SkPuuRPT5XuRG+b9sPvrASk73Wn6+9JmSxvTVXMr4BvkU613FlPUodCz70LUu9Ld6dvbym2j14iDS9VaSTvUoQFj1zOJQ+JJLSPpVyjD6XUY29TeVbvnOGH76HP0i+HL8bvvTK5r034Zc9onhCPouDiT7X7Z88vsYmPDHvsDx8QaK7kOsyvRlFAr7Broi9yOrmvfPFND3XfGQ9m5wfPZgUEj10gnC9306XvaX3N77jhK+93GUcvpWsdr1cW4+9QFHfuw/ogD2xrSu6Lus4vJaRu7x+oEY9epspPciAcj7E8hQ+lwSjPM5t9j2F7X07jnXFu1d5cr1ZRPu8YX6fvSzl3T3+brA83Y/iPJfWIj2Egfm9abVIvcCSy72CK4S9t98MvoVtGL1fnuc8JzoyvXw5nDxontK9bEpovchg3L2GGcW9RufDvTaXVbyWW/w8xxRoPD51bz3B67G759R+PSIACL2UGIu9nzZtvRiZAz5LgBk+LN0UPUwNEj5xXzE9UCJOPeauZr0ik4M8XrMzPRDQZD7y/yA+QkBAvYhM9jyruiW7mjFqPXA1mr04W+m8EqyMvc0FlLuvbIQ98xxzvQC2QL1a0Ja9I2FGPVRvCb5WfMi9JgfSvXfDDz2Kn0I99o8cvRp8xz3LFkM9bWMhPSKkqb0NpcM9AmNOPTSwWT4FksU9X8IEPUarUz1GAz09SVwxPYzg2rz0M4C9TZK8vIrPQD60gdc9E6swPVLiiDwke6y9syFyPVC72L1x4Ua9WH+rvTBAnz0ThBg9x7r2vZ9dnzvUd9e9EJeGPR4tmr0e8QS9VB7Kve3/7ry2Uju+AaoXPslkFzyVYDK9BrS5PEsn8739hCS9NNrnPMPMZj6al1I+wgYrPmG6uD1NGVU8qOXHPeKPFr1JjZ68yzSNvTJspT36C0M+paznPfsuKD0OHeW9DKcwPf3vPb5MKee9xxy0vbZAqjwzoBy+d8vxPVHANLxTiyO+92qwPApPVr1E6N29MXEOvpaDcj2WT8+9lpVOPpl8uj26Hpq8vsTDPUWbGL0nZMG9JvPHvWbMbz2zuKk9nEwEPigDsD2XtiO773rEPBwbujv08oC9FA0FvorvHT0GcVQ9VgDePbl2Cr3ilQG+LChdvRy3mL3+/kG92CnQvVuFmT2GZ6Y9a8ycPaPITL3tTgO+ToqdvWzI570EwLq9a0tpvcCS1j3g9Jg9loiFPMQ6A7xPzYa9RJ8kvdfPP71ZSpy8ujvhvdMrST0nHPA8cfArPZKAbL0DDsa9yz8TvdNZC73rapK9UmXYvUUd2T1524E9C9B4vNptw7vAOJy9hTJnu3/c27zBPNK9xJzbvBZOJz5tPf48FCu8PAwRhTzi1N29/JS9vHcyRL2YiWK95VOEvXDt1j3gKz499ICbvb/dfb3uLrm9jNVsvOMJML1lpea9zhjqvXoHAj0/oRa9gM/yvFNgh71PHAi+15GQvXbvrL0OUNi8gSaSvbjGOj0ANG88vjU4PsmrNT0VR/+9pTPrvIs03L33AQu9y0sbvbLA0DxXPaA8UhNFPtX7Dj4623G9bA6YvUI81b3tFMo60T6TPHhiBT58RTo9WeVpve4T273AIQq+UnGFvYk2g72V4YW7KfhavIfxMj1cmea9+olpvUiBhL088Kq9wKsqvaxibb226Ki90jdrvScarT2lOQm9/CkPPgu0Bz50b5s9QWuaPWPz+D0vdEM+pB4aPj6aWT5GehE+k75UPL6UmD2PVIY9RE+LPO7ZOD0+ky0+OCjSPVvVJz66fGE9I3ANvYmWsD1Bh6I9HN4iPezLpjx9rYE7qdEFPQwEHD7YlFQ8iBOmvUOdZjwLaJA7QzYbvulG6b2TWJm9CgMAvCM+4bzmg9C9ydsMPhBvDz66Dwo+ZOOMPp1drz7OdZw9b9yUPR7/Sj4COyU+P3orvcXoAr7npsm9zs0BPcy/4D22IRq+U522vbMzkr0FHyq95+/MO1KHTzyPuNc9Ho0CPrYdGz4xhHU8VSWBPSFUTLwayLO9eySvvWXX9L3H8q29YrPtvNUvxLzlfgm+ml7ivX+XE76Arhu+aLkiPRUaw7nUESy9qBB6PTkOnDwDPTW8k17uu7kXebyNepA6/bdKvbcbpL3MdLs7N1msPRqYhb2tFBY9wfnavGYd970Poxe9jgd2PfBrhTyGbsq7c8enPfnjX7sAJ+s8SdxtPTkpSz3fKT09TsVIvXCr2L2CUro8mjb3PW+JEjvEWsk9zWL3vLoB5b2kNEu9UrbMPIEqGL2WroS8643YPBYC+rsBHuy8WLJ/vS7ZrL1H4pM9B8SUPSnZfzxFS/08SvqLPASIG72wxVC7MAqFPHq357z8Guc9C2KtuhZvn71ypJO9hSAKPb3s+D1On7o8oBVYvYcpnbynAgU++C5ePVwgvzxcByU9lc79PbZ3wj3aN7w96oaiPV2oDzyfmS8+OXoLvAQSpL0ZMIu9UBVIPRI8NjySd6C9VHyWuvzuDL0SFek8zpqdPbfIkL1TtTy8geYLvCY3iLxHjSq9ZjRdPf446jytW+88rO1MPTOy4LtWvoW8vlafPe+XJT0xTUe8bIdsO8V7gb0N58I9XdwDPp/JHrzI8ig8nzVUPXMiGbxbuIa8F6FGvSHmMb2/V9c9i8ukPe8JPb3+1SK9b2NzvI4cBj5ws3i8rJeGvbaCJL3TiJc8l9vHPKo3pT1xJeU683WQPa2ftD20k6a7YymGvYpKqb3HWJ+9HSJuPFNXs72WpjM8xsEOvPMPzz01T8Y8P2OJvdl6pDybW8I70CNdPY5hmj1o36c8gLa3PB5LJD1C5L267lWJu9logj03Xs087G/HPAjScD0l1Qa8wY9LvI8NLT1nw4+82Qt0PexrHD1/8ZW8RX4wvRkiNb3bSce8r4m5PNGHBTseH0Q8a9Q1Pec5+T0vkRM9P+7UvOPoAbvHoqc8DzHYvFqq+rqNLL+96UETvUTnIbyTQYy9vCE/vbvky72eSyy9RbzVPHLuFDyRMpK97GnduTu5kDz7zeE8E1lWPKQBJj3SlcM8oJ1aPQjazDwsm0u9UVX/veNEND7kAvs92dmZvV2dDjwfX2m9VooUvT+gD7y0ZEa8MpHBvQJpmT3VfqS8eqbbvNtehL3boHi8EHDwO0Lzxju5z769y2c7vXvMBz5f8x0+HqeHvDsd47yYx1a9dwrBvNanwLxGItG95NEDvmX9FD4NNAA+FcaPOzQM5TzBxlM9Nea8PUlBcT0Is8I8K4XjvJSzwj1Uyb48awy+vHnWA71MUnq8PZMmvOwc27w6a1I9lEGiPMAHhj3cC4+8fykoPOTifzwS7lA6Ya+bPe49nDzuj/y8Wz51vc1KvT0gCxU+vLUpPFlU/Twj2MO9kr4bvfBZzzy6RPw8MmyRvSRtCD1RXjC7ir0BPa5Qaz16hgU9ibL6OpTZAj21V5c9qRC0PI1UnD214gY9VnG6vU5BQT0n93k9g1ckvL3ZvztidXm831e+PHPE2D041I47sS16PcNgcD1sOf+8VANHPAd0rz32FIE7cI/OvAD59roS9aY8hFMkulyZSD0wVS+9GmpFvZEiRb0nw228yPRQPfGjE7wMjgi9vHogPfLiKz1Mzi89GCjmPJW89TwJLCc9zhkVPOK4xj29k9Q9VWjAPLPpmrsiUSg84wvVPR879z3sDsk9TfrVvIkHFT1KhHE9fEVHPcpbRD0WBR+9GajyvKNBSLzKxSY9joOdPAdsu7ybVAg9/EuYPPbUuD2a1Bs9SGRpvOAMoDx8ls08T+QKvbr+Z73Mgoa87I5vPXcKPj3aYqs8fDcEPjX2Sz4ig549BtXtu8bnJj2WagI9/YS2OuAQarzz0Zg8XK+uPfy5Cj4NKuU9hMsjPX4dxD01ite8aaYNvTSPQr0SqHi9gKCaO4AChD0Ftci8j51gvavCPr05W6a8epIOvS13wL30EIO95NSTvDJFuDtu2Nm7aHyFvVki5DsiYpi8wegtvYuhb70pnFS71rWdPVA95z1BOcs9+lnzvK4QZT06LkU96+7Ivdqmv72MMAa9Pb5VPXehKT1exYA7qr5OvWduIz638Dw9Xhv/vD93Pr2SHAW9YbXGvNWXML0UcTA98ozAvbVDQr2AiU28aCSHvU+4XzujNma9xZfuu2Cxdb0ZHwa9CRSXveYRUTuOX569wTduPR1uyryluB09i7UNPtCxHT5v1I08cxZyvArb1D3FWFM9P2GfvPljDL3FXUe9AC+9PVzO2z3Er3g9zANevPMWlzzdkg69+4IbvV4aYjl81F69ItGaPCF9bLyro9W8Wa7wvPzg3jx6HX+9C2HzvGpWDL1mjdK9XQWKvfshVr03owk9g/vmvdmqjr0luA6+RT8VPKchhDnOe4W7NB/8PYtYvz0wjpU9GPoDPftFmj0PVhs9ZzFMvT/Vkzxdtdw88AwKPld3PD3UOCg9c06uPUo0/D2gZ1g8cZtOPUwwtbtAK7i9Q0O4vBOQp73yhnw99WMFvcEhL7x71li8fSb1vegVPb2Bk/e9iH+KvZmzsb20x4O9oTSRPI0dDj3yxt+9f+X2PNirDz4cLCU+JCw4PssN5z3gqtc90WS2PTJjnj1UHok913qvPELegz0kl8g9clFrPUdw5Dxyrtc8oYyjPXI7izsZ6wo8eoDbvAZIrbuXKLG862iZvcX8qL2Geai8siEovAJhl7r66xa6Q6yTvQbvlb09BUi9dCzfvV4imb1SmbW9IeC8vba8372vnNW9PuOiPU/A4jwEVuk9ck1APr23Bz2mnK881rJvPQr7CrtsD3e7gELjPNL3/7x4DHA8D2KEPBANZLxbZDS93P5evSRfFr4VxRm+M7U4PSHSqToNG2U8Ws1lPSJtR71/p0O9K9YFvM3QFrt1S7u8hWv1PUSlQL0OhbS9jVibvQst3b3jYgS9BF13PGdjRr3ihSK9KGTEPXqaXTzy5W689iosPFHz+LxXwoM8w8SSOlHoTLxPkjs7C4IxPTGKFb73dZ+8vau+vJu0obyJs6I9Ejy2vMZAib0VZg49c6LrPY873rzzZ4i8i1iBPVcOqL0UNZg9q1lJPUMKN73+L3S8z4+XPUec7r3b/lA90b06PSpScr0LD7U9uBSCvMB5GL5r7aA9mO5APS9yXL2CKJa9bKUTvdjdHz68q5w9Sxh0vat147wXTeM9qfYZPd0kNr03EEo91HNcPIO+jT2v1JY9cw5iPbSI7TxnBMA942rXPZYNNb1g5pw8yY9pu6BeFT7LqNI9epwyvTRJAr5n4rk9/7vjPbMxd73oI8Y9Iw63Pcu1kD2kQNU846G/O1qRcr2eI/09+LprO3qBRDurdxc9U16nPEDAKj2DGCg8stFevLolg7yrcNM86s++PP9cQzuWgoU8PjyIPbPYbz32vko8yYVUvChPkDyXhVA9aiGGPWZJNb24Yh87DGlJO0HHiD3+SDC92lYxPB+hhL2vBic9zs/+Pa61qD0CDJg98okmPe9sjT3ItsM9f00CPgCprrywXq49fQUrvRR62ryBeJs8ReEHPbXnGjxW/kq81sUtvUSRaLxBNhG91/THvMvZsT3+jyw94MHJPLgDNbw5ZqS7ETjzPAXJ1DwJh4C8E+44PbnWjj06kbE989aLPS2x0T2RbV092ByGPfMrGr340V88E8mQPfmyWz3vh0Q9Xr/vPfLnXz00IZm81e6BPe58/jyesqw9UdiovAODHD0u0eK7Rd7RO0deULwyf5A4MAQ6PTicm7wFoU29f9X1PJ2nMjx9QpQ7+tTSPIOpw7z8DCy9qHjiOsHfdL1S3t68M6GGPZAfPTy+W088dA+XPWa0FrxISEm98BCuPHs0hD1JHTM9UZQHvW2xEz1yL967LGMZPL8pjzyJM4O9Z4eLvcB+pT26lOO8jxLgPFHwgj3XPIg9lodoPZTysD1Qxfi7duSkvKgyQr1Bv4e8HhKFvKs8Yz3i5hi7l4E3PLCKez2Gt4C9ntayvQe9vr12zy69yqm2Ow8DRT3zS5E8HBWwO4T8Fz65+4C9fnLwvMhc6j1/M069GU25O+gbqjykgzu92PlBvSmS8jwmnL69QvU0vTpkTL0wYiG9SPpVPNldgD039Rk9YUOtPfzpDT7VKUc9AG6BvWKmZ71ufJo8FpQGvXEZCj2+MpC9POU4va0XZDzxnac9rhOUvVCIwzwy9rI81XbVPC1nKbzsWRg8FXL7O7CJGz6Qf6k8uHDHvbomtr2dGp+9NA+/PDu8kbzrewW9EYunvbbvrb0NnLs889HovUSXEb3NtDm9r2vqvG/nij3DXzY8pQDJPNFFAj62k6U9ecYTvfO3NTzawEQ9j/IOvbg+Cz08vGi9d9MMPD03jLtOVgQ9QgZVvJ8WKryhaKK9pH4IPHUrvDyVDla8jySavIfFND0msmo9vhIavYcdnzy8qtc6lBwcvSamKz0uYBm+1Ok4vf8rRjxxELO7L/CGvHUK+js4fZm9WFisPWY2zT2VSUm87DiGPTSIOj2CmKE9SSH5PECGjzzIlbw9tU3EuecN2D3Y+T89hzmbPCQ02bzNb467HpGyOw2qbDzg7nA9M6oIvUyTPD2WqNW9spudPEP3ljzEQoy8yBa2vBI9QD21En69rAFpvPvVsj0y0p29Pv7ZPEMjML3KVP28WX8RvSKCmrxl+ku9lQEgPSPFPD1zaUs9fR8vPcNOPb3jWdm8qGkMPAFGHT0qVm49GPUePZvBkLkdB/w8PNAFvVEkXL2GP0w9LOYavDq9Ej2WYi27GtqMujWs8jzBCHO8E7/6PCORyDzmMZc8ZXgGPUXFEL27nDG891s3vJL08rp64hu6r1g2vReDQzvidYA9TkywvHmFSLt8s0+9wfZ6PCktUjx/pVM9UAkbPJNBW7uLVuo9uwQgvbgxL7t0bfs8VNI5vLSe8TyW6+s8iuwdPRBYDb37Prs9UKywvKTVeD38zX695U6fPCMD2zvIVIi9VKsOPOyODT1ka8c8UYoHvmMXK705i6m83f8uPGWmdjzH9Jm9pGB7u1L+gL1nCOy8mycGvsjlk71WCb67xnUMvBDuGj3HRuI8aHFKPbCM8LwHjcQ96WadPKDneT2mGES9sgdivIeO8rug37W87D5XvEzK/juH1/s9OtjwPHk2Ez3Sgp+9gac5vGFb0TnrdXm93NY3vPGTmbttU5w9yjeKvdAGZ72rrle9PaI6vAcRhbzYJ0G9QhM0vNbLKzwnSVc7BPxtvbaxnb2+bAi9bWwrPRh7Dj2rYbo8cs68PI4/2juvoOA9mlHCu1j/Rr3iKSy9ys6+vXPkyLundNC8oNZfPAZ/FjyMRZe8JktmvaZnI71y9J+9aYTiO+8FdD10zB+9RceAPOybQ7wj5+G7YWj9vCJqKb29B4C8hZo8vVC46jwOvLG9DWcEvda7W71dwGy8ZnCPvXCOsb3DKzm9axEvPQdj/zw7cKc9/yAxPDeogj1j6309IMjqPAtcwTyFvIk97REFvRyiGbwcSak9qPq3vIXzUT1BkZi8T6qhPJJjo7xelty9pkQCPU1LVDuseq+8Y1UuvagBQz0TbS89QNlmPYxCmbyi8WI9VUH5vL5ubjw8yYe9wlxvvWYtGb05dce9l+YDveEzZr1xnNS9a46XPfDYiTs3eAU9FHMMO7XLUT2RyVC8EFzDPK3AgT0R6KG9ZoirPQDFob1uS4W9K6zMvHjahT0UoiI9tIRIPSefP7ygCyO9Kb9oPfy0cj2IAT+8KYuivRVmLL14j1o8Vl65PR/Szj0YySK90vVKPLqimb0RuhW9yjAwveTCvD2IDPM5N5DpPGmIrzxBeQY5aufrPEI0r70lM0a9w5ymPaDJa71Ep2c8lmMNPS6Rh73HHPq82Z7yPME8l71gEjo80G1YPU1Ln70apay8iMJhvaL4Cb4AO/g8v6qJPQa5fr22qm69ZhiAPb447TycUIi8Y0kUvewThLwlfr+6UX8PPpfUErxNIQW9uOxdO6CGLTtYnQk9HpfFvOw/Lb14cdo9Kk7VwAu1lj6PVcq9aqEEvkFJoT3wacY+IeeFPglxFT5l/Hs9PEuoPnyZaD7aH4i91JuxvTrNQj3fjNo94jkbPapF5D0X78e8rwqcPuVkgj4Uy429XRipPVPLFj57aKc+GXYYPsxiYj17MbS9KgCGPnbiEj7XpNs82e1zPi6tRj7SxWY9xcvTvCcVDb3gYyC+IhlSPtRJtj2dKg++3xnNvaHzGr3Bc++80edjvQ4vCD0sRIe8SPgePiVAfT6RX/+9wk1GvVrZfr3WVEY+fuGVOwGlYT0Cn789srwrPluaKz6wyZo8mGxcPm0a+z2NYrk9HaqJvaLSSL3zAsy9eJt3PkNXwr1bejS+gVziOkqzCb6w5dU9j6hQPdY5pj2GxpM9iiH5PUkQLjsMkJi+CMsIvnBBdr2BeL299phIvYGTrb0Fbzi+jBAevSS1sD0F3gm+XaXbvVEUCD4O9BA+RGl/PklmBT6SA/a8LPCVPY2cBbxWRqM8KNGSPVJJnTnl8p+8ofixvEfoJ72y2bG9LJ2PPTbLdT7124c+3/owPZDBKj62S7s9DoN5PfRvF73BdLq9dZSjPUUOYT5+5SE+Kv4PvowxML0xmP89AtW/Pbde0z1ATMI9rvKkPR0EDT5qayQ+5EotvvQYZTzVd54+wy6Ku4xKar3PEoS9FHVmPCzWuD4QroA+atqlvTz5NL1RpHs90hwZvY5aob0I5f08os+HPX1ZGj0W+xs+TMS7vZfGjz2lFV8+3jwVPRyYnL1b7sw7CmXBvX6LHj4wury8JbBJvlt5ybyHvzY+jV5NvTEjPL0O+Hy6HXbfPYMXPT2tMiO++cAOvIcxKT2S68Y9FVZqvXtMhL2vCJ49H2U0PkikDT6CqYY9B/DWvTrokjxuhgs+igU+vGmKQD1m96Q9HoiMPb9irT0cYRG91gK7vZWeKb26vHk9PbfQveKSo722FLC9/te5vORnoz3H1ci9ZadfvaVoJT2sAZo+gbADPpI9wj3YLUI9oInQPY1DfT1FDSa+V3ZRvi0JEL0Fxc89tVKIvLVU3rwOngm+zT4PvOqS0T0NOOs93gEePFipgD3/CHM+Cd8rPrxbWT2tTk68ccYwPXwPFzs/H4U9BHQfvaDBprzO/xs+jQwyPVt99bw+6i+9zAoFPXBDjD0VAOO9fH/jvcVV5T1kyge7cEG2uxvVqT1qatk7Un/dvSmXxjwKFLG99HBCvmJLj7wLDUQ+rcH7uwXcA763txu9n44HvrNDvD2oN6M9NpTavS/f+rvO4zA+Q6k9PE7sITwsg6o9FTjZvN0GFT5Bnh0+vmoFvo4e372d9P49NsxQuxTLzb05J3Y8btt3ve9Z1zyWlrG9exEtvvK0nD3o9Fw+0v8yPSnNBr5RMU68tg85ve4J8r1PV3e+204rvm+3pLz6KKO8rYrQvSZV273GFCy86RA4PXk7Qj5xVF4+rMQ8vQVONj1agkw+7ngTvVKAGL7uzlo8vlCgvWB0+Tzhm2Y90JjJvFhxqj3118s9c4MhvY82Dr5ZorM7TpfFvNjWD77D8oe9H7uLvEG3FzyalW29eVvpvMRafL30M/U7wRsivrFNGr4/qTa9rknXvfxxO73P29i7WwrIvIMT8b0pdvS94Sk0vp2Ekr1uxPM9wxHkPad0MD3F5w49W3i+Pbt7ADy1+mo9XOTevUPGo72EgGw+9YSlPKvsOzwGgMo9nnvPPXOF97x8mpO8zOxzvddo2b1TILM8nmIVvcfxoz2inCg9kiSovVQa8T3sof08K09gvas9rL2XPD6+9Bp7vTYDHL1dxeK9UiyHvsgHnT1f7J29jPIMvgFoFD1cVY4+KJmcPL6l3D2GdRM+bHakPWYyXD76Y2o+juqUPXNHnz2kGvY9eEOaPZZ4gD2/1fo9nbxIvbHeKD5LWSY+kfEoPdwNIjyGWci95IMevR6jvLwMzfW9pz5QPvhvfj7LZxk+JZYUvWOaqb3ABbm9/1revNYCm72s/6O+bxIDuibGEr4XR4W9J2w/vhh6BD5gc+49TQ86PsaGLj4IdNY+BYvrPjfdqj4gDGw+AOFDPa8hOL2scIu9FYsPPjqWN73XNK89ume9PQG+271bzgW+jZZTvu6z6j26v6K+fgGdvetuHj3s21k+Ko6DvAiQAb5Ihye+nDJXPo6RzD0XZgG+fZfyPegtnjyNCbG8RaHFvR785L39TE2+UkgSPghVaj7E6bS+XHM3vqpG7z0iOYE+OPUBvXamQL5f0CK+WObFPkmA+j2P+1Y+Yr3JPsjStz6zfIU+TGwuPqkuYDywBBK+XB/WvPGbQrynIRq+zClBPVJD270i4ha+jDFAvt19Pr6JClW+JHxvPaiOlb28O3K+5Gejvaa5Fb7C32+9W5bPvZcCkr01mZG9O3PvPWPtbz5mEp0+n8ukPo/CdT7dCZY9Q3FHvH3q2Dw0gk09Mh0qPi5zaj4ZkH09DTcgPgvvUj7iIvc9UPwYPcnpKz7bh5Q+NIDXPm10TrwoZUI+lN2cPsly8j3iyMO9ezGUvQitB74npGW+pgsBvrYSujyPbZE+TWhSPesBc7odlHC9gLWqveOkEL5yFEC+dohPvndNSD3tg3w+3jviPqZerz5JLIk973NcPiS1QD6R8pO9LSNVvppd97yYajY+zEUMPu+oMb3BcTm+gQm8PTXu7T0GuwG+tvPFvh+AvD7mzYk+XU+0vTYe7LxWYr49RGvFPPDfPD2G/zQ+ABwLPmjo/z2AKEg+53EYve86Kz73eEE+LUBbPSJRiL0o7gg+YoSQve5b7T3sFxw+B5rvvQ9+4r0WTTe+2XbaPOrspD2kxZk9Zi6QvTjATDyt/LI8Sx4PvkljtLx1OcW9mgaFvTSBAr6QMmK8QdTdvS0JID68dhk+kXs6vFophD278e48SWfgPEPHjj21bB0+L4cdPUpAbD5R94E+V81zPX+JOL1ivGY8c56RPTrLjD1nYMQ9XRq/O0JdFD6j6tc8hPOJva7XNL3Me/y9ZRyjvJ5CrjtyqN893sdRu4ALsrwAbxE+igaJvUPn9b2VKkG+XFdMPNh9R73Dmkq8jUM9vh6jLD77yYg+g2tuPUCjNL1MNwk96dc2Pk8e1j1Ktvo91zOkPWZnMT7X2Zg+Im2DPdC2Wj1yhjI+EodsPs6q7z1YOyo+bD9pPjEJ9z3oMjU+tak6vAAesb3lfge8YcNTPcMMHb4R/3C93xZsvSU7dr3c2dc8Vpokvr02G72U9ka9JCYoPToktbxKQXc9Y5tUPY6PJj7t1w0+yY5NvY6TwrtCBpI9HsACPlNafz2Y3RM+T6+UPc8ySz7VIHw+dR+gvfIlFL1Jg5s9AdtBPbvWXryJmLI9UwWjPDgwuTx7vXu8yXO9vccpmj0EVu69F9lOPafNOD2KkCo+ApuTPZVHdz2w6AY+kfAtvpAvIb2ugEK9LgIjvSo3Ub4r2bE8tYwEPgBzrbz3kzE+cvyQvRgLg70buY49VkaDvc5Q/L25T468u9VTvi7jhj0I4+c9VmbKPDsbkr1sJIm9+kXJvd/fgL0AUps9YRtxPJ2+njw/4gc+c/GXvalpt71MqKC9SzpKvj3VMb5GYVc94bM1PWGM6D0stsk94niePbadNrwZN0W+pmEovoOlOj3ColI+T3hJPfGCqL1pHAo+c/M9Pps6Dz1m3PS9SyPmvdW0670lW129Qzo8vuXyn72NRUM+sqG7PU5+izssfSi9JLZ7vX79EL4DfEe+DhH3vV03pTy3m+A99geKPc6oebxt4nS+9YKHvseePb66u049FVaqPBgjEj3bGLs8oDdVvQsKA748hue94uVpvmg9hL7B4Fq9MIScPf+yez1vLXM++BttO7PSZL24XN29Sg3tvFa3Oj05Y1g9ks7Aupf9ujxu+nM9Zd/VvaM9nr2Y91i++ipZvnL75TwmVZs9LT6FPJzDJT5XtAk+G2QSPKTGRL0f+Jg9D3uhO/UTzrzDgEU+RWSYPR8Snj6n6Ig+IPDAPZUQrLsvMyw9n60DvdBkfzwMeIE+XoIzPgGIuzwsRKc9MnOBPW6HJj6cF0c+3IBvPiNLhj6Uaj8+nDGsPXOhkr6WJVq+wyhIvS+nVL6WIS6+HEA/PMRgvr2xaUW+6QyMvhlybD4ZkYg+ERukPrMkmD7OVAw/vR6cPhrfBz7dRH0+dJZZPmH+ir75gxG+vyksu/4m9L3VdgM+OPbMPaJ6a73Bp/m9qmJqvqIlTz7uscy+cR6+vqpFxL1ZToK9fT8lvvxSn76i75a+1O53PnUiQTzHu8M9vCGlPvIHAz+HUKU+fGOgPq99MT6vlyY7UyP0vLtHpj7B/6a+LVyuvl+bDb7kLkK7SpjpvQovwb6JmOK+cotZPjY//rtDqT28uMgtPnwMnj5we6I+dxUKP6lqqj7p02o99aGLvTvi0D2Ss4g+hZlWPj4itj4iq7s931IuPlw4AD7qXYw+FNGPPdUE0TwtlEw94C0QuoAOMz1LPxG+CcGqPOf8BD6BX4M+GxLXPS7mFz5Dxy4+M93rPLaglz0N4iM+Hm7PPnIYfD5RTrQ+fgEtPumYYz6MZIc+LA6HPcDrszykxZm91q2+PQDK3zw1eco9U8prPeRqpL0HeT0+h/ugPkTeqj4x0QA+oP+WPg6ixT6E114+4es7vounjr49fBm73ujjvAd9Cb5T56m+8usHvGkb/z0dAVw9qu+8vjyiwr35Z1Y+EvfYPlRXvj6s5tk9DCO9Pp2h+D70v2w+cQMOvmTLsr6th4+9iX7tPKEtp713v8q+YVAWvn8V4LzD1YE9BoOLvu/Kbj14Ka0+z9niPSOfV73adW++odrgvG1y+DxETh8+2SfAvQxcnjwOEfc9Hy3OOwtC2b0B9nG+vlAQvnlctL017s28gGVVvpLp0LwRpxM+zA1GvQdi2b3SOJy+58Xpvc9Kuj3Vy6c+mdcRPTQPwL1mvC073C8vvmqlQL7KxF2+kx5WvqLUXr0l6yA+AP5pvTFdiD1oQhM85bcoPbwhDT0oRKC9w2VVPZAutrxWLYk9U67wvbXClL1LBoA9AOMZPUKza72F7Z++7bkMPYY5Ab1WKig7HVpUvguzkL0Z5Zm87483vdDxUbypTZy9aR6gPbOZwzyXxu89tp22PKtaUr5zhXe9V7CNvNArnrvVXqS+w7u8vYwTHz2k5JU9QUSKvZFC2TxaEjA+yNOyPaFKDT3ooAu9qB0ePhKfe71NofM7QIXjvRGPxL08hHE88X8HvqPN8byXxUS+7RHKPRIVqjyYTDU+0h2EvVX5Xr1YWHC9IojzutyfKz6w5oA8hpFePcb6hjyp2j4+pMQuvLgEYD2oyAE+KElXPP4KuT2J0Ai+Y5iTvChIHL5lGeI8XwcOvhzsTb3F5Tg9PSnzve4kwj2loCu+opnHPTGaFbzUt0w+Xf1YvZz9IT6I2jY+ZF3cvR1zHjzxLay9k+UkvfGbUr6EuNI9EeBkPiblLj1LyfI90EauvGVS4z0K2B6+ueLiPDaRGb4xKFM9/FEEvkewMT6ifpc9A5VBvv1nDb3wbdq9JAlCvD8eSr7NrWA+/5c7PsvzYL0VbxQ+2pIVPX3srr1TkWq+tygTvtWxSr2qZCA+MxkOvFSqhL35o6g9TisVPkHXPjv2KVe+G7nuvUmdoD21NWI+uW6KvUgbRz1Y5q096pSHvURu5r1Q/l6+KT+pvc6njryXyms+g92QvUhRhz0SbFw+w7qRPWagsr2xFk++t0NDvCnnyz3A6DI+K8GCva/r972RY2s83uQHPlvOpbv/eXq+cQE4vi3sCb63X748M8BFvhKlnb0gYK28fQT+uu26J74VOeS9I2lXvnheKr42Wg49CW4kPEiLs7ztSos99fSxvdrkgL6jyoi+6x4ZPTj1gTu/gQk9ZCQbvkFh0Dzb96i8r+2dvnCwr75i9Ly9TyHXvMYz6Lx8mhM9Xw0QPcmTBD6dRvo9f0uAPAadkL2pMcG92EeHvaZGKL0r9yI+fuGVPcBe4T2HqDI+pOKfPXDPc7z5+AQ8kGpYPOpamz2tTEg+M3CAPf4riz2ummc9D5odvqYmEb4YlZS9ak8JPUEOyrz2tgk+mfKhPXrECD7ElGg+++WTPA97oTvOOC0+aW6FPZ/Ikz1HygY+gjrFPRhdXj2/nNk9L8TqPTLK8z0m5AM/B159PsnpSz5BC1k+kJ4CPtLglr4/kUe+OMBMvcHh5b0jEgW8C2DKuwOyFz2UFeO9Hv1/vqkXHD59QHA+KQUdPjnVsj5N3C4/OfIgPjau/z3RB8s90eeDPZJcfr7+DB++VRLZvDcawLy06Ug94NrpvQnE6zudETW+cvzAvjF5uz6rQTi+exIYvlwExjsQIS4++G3IPVw+0r0VV4W+Qdd+PjyhFz0u5PG9vRqgPcPURj5eZlg+trq8PunwuD4hIgU+3NfBPX/aaD7WVDa+0xLrvYGYBLw8oGw+JAlCvLWIyL2vzaa+u0gRPjI59T0O9Wu+X3nwvQzJ6b0tQBs9NlruPQgGYD6PqNC9n5JzPfc79D3dKDI8q9AAvU1mPD1invU9RSqMPiSXnz7dCYY+A3xHPhH+rT4eMnU+1VuDPS3rnj1qvso9lPoSPk8IPT7xoBk95udmPhnmxD0p6Ba+LdJUvpHvMr7E7bC9poEfvSdoIz5LO7W9VaGButh/3T1EF9S8juqUvan31Dyz6967nu2xvbH5OLyV1Im+mN3TvdDQ/72qQ+69odoQPqvPVT42IS09ibKHPqQ3BD8t0F4+o1yavIdsoL5aZyy+VwpBPZRNuT0W+uC9q7CZvJ25Vz5+ApA+eowyvbrdC72BenO+SRQKvutwlL1ZpdS9IhodPU8Dnj5Xkxc+Cd87vX/Z/b2v61e+kBCFvbO3FL0BaT+99gi1vDUmxD3kn9E+aFx4PXuFhb2ZSVQ9aTjlPBFvHbxA/Ay+IZXCvUMEnLxdiDU+NuQfPOOovL2B64q8mRIJvraG8r1UOwO9z57Lu9Ujrb06A4M9ntGWvfimKT7xL+I9tcI0PRa+Pj22SFo9UTBjvQsmfjzWb74+JqxtPhqiirzx8tQ9nuu7vYKPwTtPHlY+HjYhPuIA+jz5L4A+WkV/PbZnFj1+5cE9UMWNPMY2KbwL0aG9T3iJPFJE5r3BHH09kkEuPZnXAb4vbiO8LH1ovRgnPj2VYke+nb4OvtKLGr3exyE+yjWFvE6c/D21GGw+MZmqPYRIhryH/HM91VuDvJCkhL39gm0+WmMgPtS6DT2CHxU+6zkpPZJ0DT3VkaM8M6i2vVQZRrxvn50+jXpYPqSLzbyWzhe+PX0Eviofgj27f4y9pySLvTbJD71Y5Fc+0a6CPWmKgD25F7i9Ykz6vPNVcjwdklq9DOcavf9bSb7SbQk8gEapvUZ9Ej5NhoM9rvCOPf2fQz48UMc9OfDqvOI5mz25VaA+mZ6wPV6gVD4u5JE8sqH7Pd/5ZT6xays+YajDvCdKQj2yLLA+OkBAPvxxCz7EIxE+DamCPT1GOT18ZZ69sANnu4IAKb6l2NG8ngeXvbJiKD40gDc8w2UVvsn/5LwV5n2961IjvZwzEr7Bqho+c58cvem1WT3nAKE9wECwPbQDzj1+HgM+mGuRvfa17r2bclU+jj9RPd1fnT0N+708qaGtvdgqQby4Whc+j+BGvS5V6b2VD5E+NIRDPikIvj3iPQc9pdgRvkfmEb6SzMq9lgQovRwlL72RLFA+mghbvcrELT3oL2Q+HQSdvEpfCL4vbI2+VhADvb018D1IGDY+QKZ1vYGYhL2rsu+9rDYfvunWy71WDyg+NpTavHUfwL2VunQ+STDVu2ZJADwdzIY9yodQvsSxzr0zwlu9kugFvt1C1zyI9QY+ehwGPQw9Aj5E/e49Kv0kvmg+j76lSYG+TOIsu6NbLz1/MsY9Onr8vUXUhD1zSyu8xAhhvjATdb5FvNW9eqhtveV6W70pztE8LBGoO/Snzb2CPDu9gxVHvhdmAb4NGvq8iZVRPVskXT4mijA+Gw1gvXl1Pr40hY6+dVdGvg0bJb3nxnQ7fJv+u+4K/T1JvkI+VFeevfxw8D14DVo+vTpHPGr67DhD5d882qokPT5eCD1btGA+HJg8PmTJhD5lVp8+Zw6pPZMYRL0YmaC9/g8wPK00qT1stZ8+Z36dPmMqfTuKWa88pivYvHVVoLyVm6g8IhxzvSJuzjyby4U+ccawPYwPEz7Du9w9JJd/OyXrQL489B29Hy7ZvV8oAL7xLSy8IEVdPe3wdz4D7Y4+F7hcPlSpsT7ht+E+niZzPhHGbz5YcZo+ufssPs1bVb5x5AG+jxkoPEnY9z0J+YC9JXdYvV0yTj0kR3q9VHCIvlWE2z0Ylg8+rmSPPjBmkz7PE78++zsbPi21XjwVyOw98ndvPEs8kL6hTHO+mz3wvTmbDrhPBQy+UPxIvlMFw71EUQC+X0OAvr98cj6ADpO9w0YZvdKMRT07qKQ+flGCPXDtxDxUqO68z4ZsPn5yJD49Dx6+qmZWvNGxo73h7cE9ij0kPpOQOD4BwVw9vFrOPXHHkz4rbhw9eA06PsIxaz5wXeE+YtiBPb2NzTsU7ao8bmmtPmoygz7M7DO9m8jsPbQBWDviIzI+FqOuPIKsJ72fkvO908E6PomVcT7ZClq93KB2vPn2zr0kQsM9xVlRPQe3JT5ClgU961IjPlg5lD1yh808KovCPBTO7jyiJyU+nBXxvQQ9FL3UEDW+5+QlvqD6Zz70aqC9m3MwPXMQ9L3usl89dJjPvRIuhL2BJOy9AWoKPsAFmT6u08g9Bya3PWWp9butFOI9TyDsvCmuqjzLvxa9vmsAPiy3RD7fa0i9fT5KO1z/LrxE+5g9/DmFvK68xD2I2nY953Puu3R6Dj72I6W9PgcWPS0/sD2BJQc+J4evPQtEzzwvhWc+525HPpHSLD1ioiG+WRaMvUXYEL7Duea9zEWcvXB8jb3lJuq9/+fQvZpdBz5RTYm9pWfaPTi9Sz4bvC8+LUArPngoCr1NLdu8fUGrPcgLGT5tbze7PbmmuaiPQDzQ8IY9PQq3vdszS70K+GU+wr5dPrH7Dr1DPJK814S0vTi+9jvRCHY+lQ6WPQ5NWTzfhzM+lfNFPGd/wD1bYXo8+8nYPdwp3T2PVJ89rvLEvf8Io71yFjY+Nc8RPmGMCD3l8p+9Sianvbt7QL1Xzg4+dxGmPNY7/L23eTM+A3zXPcTQaj2es6U9kKJOvGfSxr0TD6g9ChPGvQPpgr2uuk4+8z0DPqORD711AAS9doyLvdhk7b1OucI9cCSwvfxTir3zHfw8Bf0FPZoktj1tj149chchvV6E6b3Jyi8+jQjmvZjeXr49gIU9ZKx2PUPJRD7bp2M96kAGvlfNE763XWg97SgOvUomp72Piwq+2PQguiWQsj2Pb288BKuKPQ2M3D3fMmc+dsWsPSL8C7znjVM9kx5GvTaUGr0Nq3i9u+4tO0W7ijynO689pcCCvKLRnbwb8eQ9+n1/PRLeTj61bkM93xktPUPHjj0vvng+PnWsPHUelb1+qR++T5DYvFPnET0KaKK9t9LrvKH0Rb2hgK09ARN4vR+Fq71HAyi+FeEmvZaTsL03M3o8UYaquyBig7yPqTs91ZJOvQMIn73Y1u89dXcdPHsxFLyfdQ28zc5ivf4PsL11sek82zJgvYYfLL4kDzQ+7dORPRRbwbxfRBs9cXSVu/Bqubwbm/0993jBPRVXlb1z2Qi+eeZlvBsuEr4CLd283zFMvgdiWTzOb2g+OUVHPXoXL76mYE29HhsBPOJ1fT13SZw82H4yvaQ3HL2uDAo+0ZRdPZpCp70FFTU+w0dEPXBeHL2Gdk49toHbvUqZFL3vrN08wRqnPcDPOLu8W7k9bY0IvbkAdL1znFs8ZoPMvYlDlj0jhK8+IlTJPSeIGr7mkqq85E5pvTl9PT3U0TG9oP0Yvho0BL64kTK8wCBpvI1EOL6dg+e99Z5Kva4rhr303rg96UdDvJvosz2xMMQ9UaIVPiMT0D0R4Z89pb6svdnNzL0P8KS8An5NvaNzfj2c3G88yNGcPB2uFT0kRDk+mPtkvKm9iL1V3o661jeQvXmQnrveIcW6DD4NPa8hOL0fLU6914e1vQ36Mr5mvO29bXBSvp5gfzzydy+9f2jGvSqOE77S5U295IRJvmmK4D1i9oo+zeYxPs5T3T0FMSA+aHn+PdAmxz3wa3Q+QumrPXFy3z2HUGU+3syIPoJW4DxegtM8WhIAPrX5vz0wSSU9OEoePX2RULxAhRM+Lc5YPY23Fbxhbaw9WB4kPmVvKb0hzkM8rrj4vViM2r2R1EK934pEPbisgr614pu9XBvKPR13Gr4boS++IVkgvn3sbj0q/j8+GHfTPlDkDT+Blr4+VKdzPhUf/z1R+uI9mx0pPBmqMr4GgIq9HLIBu8lXEj4KSSY9ARSjPFuw1DwvhjK9V0L3vcWrzD0kfbo9DD59Pp8gUT7FHS+9rHOMvVK3870Z6No8BcIOPe6Veb0MPs28aoS+vTviEL1Xzm6+cENMvc1cIL1zgra88+WFvUMFEcFgUgwArCQFAE4kBQAuAAAAAQAAAGRSDADsJAUATiQFAHEAAAABAAAAAAAAALhFAABCAAAAxAIAAK0AAABoUgwAfyUFAEQlBQC3AAAAAQAAAGxSDABbJgUARCUFAL8CAAABAAAAAAAAANhFAABUAAAAxQIAAFYAAAAOAAAADwAAAAwAAAAQAAAAEQAAADQAAACuAAAArwAAABQAAACwAAAAsQAAALIAAAAVAAAAswAAAAIAAAACAAAAAAAAAMhFAAAcAAAAxgIAAMcCAABwUgwAEyoFAEQlBQDLBAAAAQAAAHRSDADcKwUARCUFANQFAAABAAAAAAAAAAhGAADIAgAAyQIAAFYAAAC0AAAAtQAAAAwAAAAQAAAAEQAAAAEAAAC2AAAAFgAAALcAAAAXAAAAuAAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAABwAAAAcAAAAIAAAACAAAAAkAAAAJAAAAGAAAALkAAAAZAAAAugAAAAoAAAAKAAAAeFIMAF0tBQAdLQUAdwMAAAEAAAB8UgwAyS0FAB0tBQB3AwAAAQAAAIBSDAA1LgUAHS0FAHcDAAABAAAAhFIMAKkuBQAdLQUAdwMAAAEAAACIUgwAdS8FAB0tBQBPAwAAAQAAAAAAAAAYRgAAQgAAAMoCAAC7AAAAAAAAAChGAAAcAAAAywIAAMwCAACQUgwAjToFACo5BQClBAAAAQAAAAAAAABIRgAAVAAAAM0CAABWAAAADgAAAA8AAAAMAAAAEAAAABEAAAAmAAAAzgIAABoAAAC8AAAACwAAAAsAAAAbAAAAvQAAABwAAAC+AAAAHQAAAL8AAAAeAAAAwAAAAAwAAAAMAAAAHwAAAMEAAAAAAAAAOEYAABwAAADPAgAA0AIAAIxSDACuOQUAKjkFAEsEAAABAAAAKVwPPilcDz5m9+Q+ZvfkPmb35D6UUgwAZj0FAA47BQCrAQAAAQAAAJhSDAA+SQUACT4FAI8MAAABAAAAoFIMAO5MBQD6SQUAYgEAAAEAAAAAAAAAsEYAANECAADSAgAACgAAAEQAAAALAAAAAAAAAKBGAAAcAAAA0wIAANQCAAAAAAAAeEYAABwAAADVAgAA1gIAAAAAAACIRgAA1wIAANgCAAAMAAAAnFIMAKdMBQD6SQUAkgMAAAEAAACkUgwAe00FAPpJBQD3AwAAAQAAAAAAAADIRgAA2QIAANoCAAAgAAAA2wIAAAEAAAANAAAALgAAAAEAAAAAAAAA4EYAABwAAADcAgAA3QIAAAAAAAAARwAA3gIAAN8CAABWAAAADgAAAA8AAAAMAAAAEAAAABEAAADCAAAAHQAAAAAAAADwRgAAHAAAAOACAADhAgAAAAAAADBHAADeAgAA4gIAAFYAAAAOAAAADwAAAAwAAAAQAAAAEQAAAMIAAAAeAAAAAAAAACBHAAAcAAAA4wIAAOQCAAAAAAAAUEcAAOUCAADmAgAAVgAAAA4AAAAPAAAADAAAABAAAAARAAAAwwAAABcAAAAAAAAAQEcAABwAAADnAgAA6AIAAAAAAABwRwAAHAAAAOkCAADqAgAAAAAAALBHAABCAAAA6wIAAMQAAAAAAAAAoEcAAEIAAADsAgAAxQAAAAAAAACQRwAAQgAAAO0CAADGAAAAAAAAAIBHAABCAAAA7gIAAMcAAAAAAAAAwEcAAO8CAADwAgAAyAAAAAAAAADQRwAAHAAAAPECAADyAgAAQAAAAAAAAABwSAAA8wIAAPQCAAA4AAAA+P///3BIAAD1AgAA9gIAAMD////A////cEgAAPcCAAD4AgAAFIwBABRIAADsRwAAAEgAAFRIAABoSAAAPEgAAChIAAA8jAEAKIwBAOhWDAAyuwYA8bkGADwAAAABAAAA7FYMALG7BgD5uwYAJAAAAAEAAADwVgwAMLwGAH28BgAsAQAAAQAAAPRWDAB9vQYAzbwGAC8AAAABAAAA+FYMAHC+BgAAvgYAcAEAAAEAAAABwwYAEcMGAI14EAAcwwYAJ8MGADTDBgA/wwYAU8MGAGDDBgCNeBAAAAAAAJYwB3csYQ7uulEJmRnEbQeP9GpwNaVj6aOVZJ4yiNsOpLjceR7p1eCI2dKXK0y2Cb18sX4HLbjnkR2/kGQQtx3yILBqSHG5895BvoR91Noa6+TdbVG11PTHhdODVphsE8Coa2R6+WL97Mllik9cARTZbAZjYz0P+vUNCI3IIG47XhBpTORBYNVycWei0eQDPEfUBEv9hQ3Sa7UKpfqotTVsmLJC1sm720D5vKzjbNgydVzfRc8N1txZPdGrrDDZJjoA3lGAUdfIFmHQv7X0tCEjxLNWmZW6zw+lvbieuAIoCIgFX7LZDMYk6Quxh3xvLxFMaFirHWHBPS1mtpBB3HYGcdsBvCDSmCoQ1e+JhbFxH7W2BqXkv58z1LjooskHeDT5AA+OqAmWGJgO4bsNan8tPW0Il2xkkQFcY+b0UWtrYmFsHNgwZYVOAGLy7ZUGbHulARvB9AiCV8QP9cbZsGVQ6bcS6ri+i3yIufzfHd1iSS3aFfN804xlTNT7WGGyTc5RtTp0ALyj4jC71EGl30rXldg9bcTRpPv01tNq6WlD/NluNEaIZ63QuGDacy0EROUdAzNfTAqqyXwN3TxxBVCqQQInEBALvoYgDMkltWhXs4VvIAnUZrmf5GHODvneXpjJ2SkimNCwtKjXxxc9s1mBDbQuO1y9t61susAgg7jttrO/mgzitgOa0rF0OUfV6q930p0VJtsEgxbccxILY+OEO2SUPmptDahaanoLzw7knf8JkyeuAAqxngd9RJMP8NKjCIdo8gEe/sIGaV1XYvfLZ2WAcTZsGecGa252G9T+4CvTiVp62hDMSt1nb9+5+fnvvo5DvrcX1Y6wYOij1tZ+k9GhxMLYOFLy30/xZ7vRZ1e8pt0GtT9LNrJI2isN2EwbCq/2SgM2YHoEQcPvYN9V32eo745uMXm+aUaMs2HLGoNmvKDSbyU24mhSlXcMzANHC7u5FgIiLyYFVb47usUoC72yklq0KwRqs1yn/9fCMc/QtYue2Swdrt5bsMJkmybyY+yco2p1CpNtAqkGCZw/Ng7rhWcHchNXAAWCSr+VFHq44q4rsXs4G7YMm47Skg2+1eW379x8Id/bC9TS04ZC4tTx+LPdaG6D2h/NFr6BWya59uF3sG93R7cY5loIiHBqD//KOwZmXAsBEf+eZY9prmL40/9rYUXPbBZ44gqg7tIN11SDBE7CswM5YSZnp/cWYNBNR2lJ23duPkpq0a7cWtbZZgvfQPA72DdTrrypxZ673n/Pskfp/7UwHPK9vYrCusowk7NTpqO0JAU20LqTBtfNKVfeVL9n2SMuemazuEphxAIbaF2UK28qN74LtKGODMMb3wVaje8CLQAAAABBMRsZgmI2MsNTLSsExWxkRfR3fYanWlbHlkFPCIrZyEm7wtGK6O/6y9n04wxPtaxNfq61ji2Dns8cmIdREsJKECPZU9Nw9HiSQe9hVdeuLhTmtTfXtZgcloSDBVmYG4IYqQCb2/otsJrLNqldXXfmHGxs/98/QdSeDlrNoiSEleMVn4wgRrKnYXepvqbh6PHn0PPoJIPew2Wyxdqqrl1d659GRCjMa29p/XB2rmsxOe9aKiAsCQcLbTgcEvM2Rt+yB13GcVRw7TBla/T38yq7tsIxonWRHIk0oAeQ+7yfF7qNhA553qklOO+yPP9583O+SOhqfRvFQTwq3lgFT3nwRH5i6YctT8LGHFTbAYoVlEC7Do2D6COmwtk4vw3FoDhM9Lshj6eWCs6WjRMJAMxcSDHXRYti+m7KU+F3VF27uhVsoKPWP42Ilw6WkVCY194RqczH0vrh7JPL+vVc12JyHeZ5a961VECfhE9ZWBIOFhkjFQ/acDgkm0EjPadr/WXmWuZ8JQnLV2Q40E6jrpEB4p+KGCHMpzNg/bwqr+Ekre7QP7QtgxKfbLIJhqskSMnqFVPQKUZ++2h3ZeL2eT8vt0gkNnQbCR01KhIE8rxTS7ONSFJw3mV5Me9+YP7z5ue/wv3+fJHQ1T2gy8z6NoqDuweRmnhUvLE5ZaeoS5iDOwqpmCLJ+rUJiMuuEE9d718ObPRGzT/ZbYwOwnRDElrzAiNB6sFwbMGAQXfYR9c2lwbmLY7FtQClhIQbvBqKQXFbu1pomOh3Q9nZbFoeTy0VX342DJwtGyfdHAA+EgCYuVMxg6CQYq6L0VO1khbF9N1X9O/ElKfC79WW2fbpvAeuqI0ct2veMZwq7yqF7XlryqxIcNNvG134LipG4eE23magB8V/Y1ToVCJl803l87ICpMKpG2eRhDAmoJ8puK7F5Pmf3v06zPPWe/3oz7xrqYD9WrKZPgmfsn84hKuwJBws8RUHNTJGKh5zdzEHtOFwSPXQa1E2g0Z6d7JdY07X+ssP5uHSzLXM+Y2E1+BKEpavCyONtshwoJ2JQbuERl0jAwdsOBrEPxUxhQ4OKEKYT2cDqVR+wPp5VYHLYkwfxTiBXvQjmJ2nDrPclhWqGwBU5VoxT/yZYmLX2FN5zhdP4UlWfvpQlS3Xe9QczGITio0tUruWNJHoux/Q2aAG7PN+Xq3CZUdukUhsL6BTdeg2EjqpBwkjalQkCCtlPxHkeaeWpUi8j2YbkaQnKoq94LzL8qGN0Oti3v3AI+/m2b3hvBT80KcNP4OKJn6ykT+5JNBw+BXLaTtG5kJ6d/1btWtl3PRafsU3CVPudjhI97GuCbjwnxKhM8w/inL9JJMAAAAAN2rCAW7UhANZvkYC3KgJB+vCywayfI0EhRZPBbhREw6PO9EP1oWXDeHvVQxk+RoJU5PYCAotngo9R1wLcKMmHEfJ5B0ed6IfKR1gHqwLLxubYe0awt+rGPW1aRnI8jUS/5j3E6YmsRGRTHMQFFo8FSMw/hR6jrgWTeR6F+BGTTjXLI85jpLJO7n4Czo87kQ/C4SGPlI6wDxlUAI9WBdeNm99nDc2w9o1AakYNIS/VzGz1ZUw6mvTMt0BETOQ5Wskp4+pJf4x7yfJWy0mTE1iI3snoCIimeYgFfMkISi0eCof3rorRmD8KXEKPij0HHEtw3azLJrI9S6tojcvwI2acPfnWHGuWR5zmTPcchwlk3crT1F2cvEXdEWb1XV43Il+T7ZLfxYIDX0hYs98pHSAeZMeQnjKoAR6/crGe7AuvGyHRH5t3vo4b+mQ+m5shrVrW+x3agJSMWg1OPNpCH+vYj8VbWNmqythUcHpYNTXpmXjvWRkugMiZo1p4Gcgy9dIF6EVSU4fU0t5dZFK/GPeT8sJHE6St1pMpd2YTZiaxEav8AZH9k5ARcEkgkREMs1Bc1gPQCrmSUIdjItDUGjxVGcCM1U+vHVXCda3VozA+FO7qjpS4hR8UNV+vlHoOeJa31MgW4btZlmxh6RYNJHrXQP7KVxaRW9ebS+tX4AbNeG3cffg7s+x4tmlc+Ncszzma9n+5zJnuOUFDXrkOEom7w8g5O5WnqLsYfRg7eTiL+jTiO3pijar671caerwuBP9x9LR/J5sl/6pBlX/LBAa+ht62PtCxJ75da5c+EjpAPN/g8LyJj2E8BFXRvGUQQn0oyvL9fqVjffN/0/2YF142Vc3utgOifzaOeM+27z1cd6Ln7Pf0iH13eVLN9zYDGvX72ap1rbY79SBsi3VBKRi0DPOoNFqcObTXRok0hD+XsUnlJzEfiraxklAGMfMVlfC+zyVw6KC08GV6BHAqK9Ny5/Fj8rGe8nI8RELyXQHRMxDbYbNGtPAzy25As5Alq+Rd/xtkC5CK5IZKOmTnD6mlqtUZJfy6iKVxYDglPjHvJ/PrX6elhM4nKF5+p0kb7WYEwV3mUq7MZt90fOaMDWJjQdfS4xe4Q2OaYvPj+ydgIrb90KLgkkEibUjxoiIZJqDvw5YguawHoDR2tyBVMyThGOmUYU6GBeHDXLVhqDQ4qmXuiCozgRmqvlupKt8eOuuSxIprxKsb60lxq2sGIHxpy/rM6Z2VXWkQT+3pcQp+KDzQzqhqv18o52XvqLQc8S15xkGtL6nQLaJzYK3DNvNsjuxD7NiD0mxVWWLsGgi17tfSBW6BvZTuDGckbm0it68g+AcvdpeWr/tNJi+AAAAAGVnvLiLyAmq7q+1EleXYo8y8N433F9rJbk4153vKLTFik8IfWTgvW8BhwHXuL/WSt3YavIzd9/gVhBjWJ9XGVD6MKXoFJ8Q+nH4rELIwHvfrafHZ0MIcnUmb87NcH+tlRUYES37t6Q/ntAYhyfozxpCj3OirCDGsMlHegg+rzKgW8iOGLVnOwrQAIeyaThQLwxf7Jfi8FmFh5flPdGHhmW04DrdWk+Pzz8oM3eGEOTq43dYUg3Y7UBov1H4ofgr8MSfl0gqMCJaT1ee4vZvSX+TCPXHfadA1RjA/G1O0J81K7cjjcUYlp+gfyonGUf9unwgQQKSj/QQ9+hIqD1YFJtYP6gjtpAdMdP3oYlqz3YUD6jKrOEHf76EYMMG0nCgXrcXHOZZuKn0PN8VTIXnwtHggH5pDi/Le2tId8OiDw3Lx2ixcynHBGFMoLjZ9ZhvRJD/0/x+UGbuGzfaVk0nuQ4oQAW2xu+wpKOIDBwasNuBf9dnOZF40iv0H26TA/cmO2aQmoOIPy+R7ViTKVRgRLQxB/gM36hNHrrP8abs35L+ibguRmcXm1QCcCfsu0jwcd4vTMkwgPnbVedFY5ygP2v5x4PTF2g2wXIPinnLN13krlDhXED/VE4lmOj2c4iLrhbvNxb4QIIEnSc+vCQf6SFBeFWZr9fgi8qwXDM7tlntXtHlVbB+UEfVGez/bCE7YglGh9rn6TLIgo6OcNSe7Six+VGQX1bkgjoxWDqDCY+n5m4zHwjBhg1tpjq1pOFAvcGG/AUvKUkXSk71r/N2IjKWEZ6KeL4rmB3ZlyBLyfR4Lq5IwMAB/dKlZkFqHF6W93k5Kk+Xlp9d8vEj5QUZa01gftf1jtFi5+u23l9SjgnCN+m1etlGAGi8IbzQ6jHfiI9WYzBh+dYiBJ5qmr2mvQfYwQG/Nm60rVMJCBWaTnId/ynOpRGGe7d04ccPzdkQkqi+rCpGERk4I3algHVmxtgQAXpg/q7PcpvJc8oi8aRXR5YY76k5rf3MXhFFBu5NdmOJ8c6NJkTc6EH4ZFF5L/k0HpNB2rEmU7/WmuvpxvmzjKFFC2IO8BkHaUyhvlGbPNs2J4Q1mZKWUP4uLpm5VCb83uieEnFdjHcW4TTOLjapq0mKEUXmPwMggYO7dpHg4xP2XFv9WelJmD5V8SEGgmxEYT7Uqs6Lxs+pN344QX/WXSbDbrOJdnzW7srEb9YdWQqxoeHkHhTzgXmoS9dpyxOyDnerXKHCuTnGfgGA/qmc5ZkVJAs2oDZuURyOpxZmhsJx2j4s3m8sSbnTlPCBBAmV5rixe0kNox4usRtIPtJDLVlu+8P22+mmkWdRH6mwzHrODHSUYblm8QYF3gAAAAB3BzCW7g5hLJkJUboHbcQZcGr0j+ljpTWeZJWjDtuIMnncuKTg1ekel9LZiAm2TCt+sXy957gtB5C/HZEdtxBkarAg8vO5cUiEvkHeGtrUfW3d5Ov01LVRg9OFxxNsmFZka6jA/WL5eoplyewUAVxPYwZs2foPPWONCA31O24gyExpEF7VYEHkomdxcjwD5NFLBNRH0g2F/aUKtWs1taj6QrKYbNu7ydasvPlAMths40XfXHXc1g3Pq9E9WSbZMKxR3gA6yNdRgL/QYRYhtPS1VrPEI8+6lZm4vaUPKAK4nl8FiAjGDNmysQvpJC9vfIdYaEwRwWEdq7ZmLT123EGQAdtxBpjSILzv1RAqcbGFiQa2tR+fv+Sl6LjUM3gHyaIPAPk0lgmojuEOmBh/ag27CG09LZFkbJfmY1wBa2tR9BxsYWKFZTDY8mIATmwGle0bAaV7ggj0wfUPxFdlsNnGErfpUIu+uOr8uYh8Yt0d3xXaLUmM03zz+9RMZU2yYVg6tVHOo7wAdNS7MOJK36VBPdiV16TRxG3T1vT7Q2npajRu2fytZ4hG2mC40EQELXMzAx3lqgpMX90NfMlQBXE8JwJBqr4LEBDJDCCGV2i1JSBvhbO5ZtQJzmHkn17e+Q4p2cmYsNCYIsfXqLRZsz0XLrQNgbe9XDvAumyt7biDIJq/s7YDtuIMdLHSmurVRzmd0nevBNsmFXPcFoPjYwsSlGQ7hA1taj56alqo5A7PC5MJ/50KAK4nfQeesfAPk0SHCKPSHgHyaGkGwv73YlddgGVnyxlsNnFuawbn/tQbdonTK+AQ2npaZ91KzPm532+Ovu/5F7e+Q2CwjtXW1qPoodGTfjjYwsRP3/JS0btn8aa8V2c/tQbdSLI2S9gNK9qvChtMNgNK9kEEemDfYO/DqGffVTFuju9Gab55y2GzjLxmgxolb9KgUmjiNswMd5W7C0cDIgIWuVUFJi/Fuju+sr0LKCu0WpJcs2oEwtf/p7XQzzEs2Z6LW96uHZtkwrDsY/ImdWqjnAJtkwqcCQap6w42P3IHZ4UFAFcTlb9KguK4ehR7sSuuDLYbOJLSjpvl1b4NfNzvtwvb3yGG09LU8dTiQmjds/gf2oNugb4Wzfa5JltvsHfhGLdHd4gIWub/D2pwZgY7yhEBC1yPZZ7/+GKuaWFr/9MWbM9FoArieNcN0u5OBINUOQOzwqdnJmHQYBb3SWlHTT5ud9uu0WpK2dZa3EDfC2Y32DvwqbyuU967nsVHss9/MLX/6b298hzKusKKU7OTMCS0o6a60DYFzdcGk1TeVykj2We/s2Z6LsRhSrhdaBsCKm8rlLQLvjfDDI6hWgXfGy0C740AAAAAGRsxQTI2YoIrLVPDZGzFBH139EVWWqeGT0GWx8jZigjRwrtJ+u/oiuP02custU8Mta5+TZ6DLY6HmBzPSsISUVPZIxB49HDTYe9Bki6u11U3teYUHJi11wWDhJaCG5hZmwCpGLAt+tupNsua5nddXf9sbBzUQT/fzVoOnpWEJKKMnxXjp7JGIL6pd2Hx6OGm6PPQ58PegyTaxbJlXV2uqkRGn+tva8wodnD9aTkxa64gKlrvCwcJLBIcOG3fRjbzxl0Hsu1wVHH0a2Uwuyrz96IxwraJHJF1kAegNBefvPsOhI26JaneeTyy7zhz83n/auhIvkHFG31Y3io88HlPBelifkTCTy2H21QcxpQVigGNDrtApiPog7842cI4oMUNIbv0TAqWp48TjZbOXMwACUXXMUhu+mKLd+FTyrq7XVSjoGwViI0/1pGWDpfe15hQx8ypEezh+tL1+suTcmLXXGt55h1AVLXeWU+EnxYOElgPFSMZJDhw2j0jQZtl/WunfOZa5lfLCSVO0DhkAZGuoxiKn+Izp8whKrz9YK0k4a+0P9DunxKDLYYJsmzJSCSr0FMV6vt+RiniZXdoLz959jYkSLcdCRt0BBIqNUtTvPJSSI2zeWXecGB+7zHn5vP+/v3Cv9XQkXzMy6A9g4o2+pqRB7uxvFR4qKdlOTuDmEsimKkKCbX6yRCuy4hf711PRvRsDm3ZP810wg6M81oSQ+pBIwLBbHDB2HdBgJc210eOLeYGpQC1xbwbhIRxQYoaaFq7W0N36JhabNnZFS1PHgw2fl8nGy2cPgAc3bmYABKggzFTi65ikJK1U9Hd9MUWxO/0V+/Cp5T22ZbVrge86bccjaicMd5rhSrvKspree3TcEis+F0bb+FGKi5m3jbhf8UHoFToVGNN82UiArLz5RupwqQwhJFnKZ+gJuTFrrj93p/51vPMOs/o/XuAqWu8mbJa/bKfCT6rhDh/LBwksDUHFfEeKkYyBzF3c0hw4bRRa9D1ekaDNmNdsnfL+tdO0uHmD/nMtczg14SNr5YSSraNIwudoHDIhLtBiQMjXUYaOGwHMRU/xCgODoVnT5hCflSpA1V5+sBMYsuBgTjFH5gj9F6zDqedqhWW3OVUABv8TzFa12Jimc55U9hJ4U8XUPp+VnvXLZVizBzULY2KEzSWu1Ifu+iRBqDZ0F5+8+xHZcKtbEiRbnVToC86EjboIwkHqQgkVGoRP2Urlqd55I+8SKWkkRtmvYoqJ/LLvODr0I2hwP3eYtnm7yMUvOG9DafQ/CaKgz8/kbJ+cNAkuWnLFfhC5kY7W/13etxla7XFflr07lMJN/dIOHa4Ca6xoRKf8Io/zDOTJP1yAAAAAAHCajcDhNRuAka+WQcJqNwGy8LrBI18sgVPFoUOE1G4D9E7jw2XhdYMVe/hCRr5ZAjYk1MKni0KC1xHPRwmo3Ad5MlHH6J3Hh5gHSkbLwusGu1hmxir38IZabX1EjXyyBP3mP8RsSamEHNMkRU8WhQU/jAjFriOehd65E04TUbgOY8s1zvJko46C/i5P0TuPD6GhAs8wDpSPQJQZTZeF1g3nH1vNdrDNjQYqQExV7+EMJXVszLTa+ozEQHdJGvlkCWpj6cn7zH+Ji1bySNiTUwioCd7IOaZIiEk8xUqeLQoK7reHyn8YEYoPgpxLXEc9CyzdsMu9ciaLzeirXCajcBxWOf3cx5ZrnLcM5l3kyUcdlFPK3QX8XJ11ZtFfonceH9Ltk99DQgWfM9iIXmAdKR4Qh6TegSgynvGyv1svC6wbX5Eh284+t5u+pDpa7WGbGp37FtoMVICafM4NWKvfwhjbRU/YSurZmDpwVFlptfUZGS942YiA7pn4GmNSNfLIEkVoRdLUx9OSpF1eU/eY/xOHAnLTFq3kk2Y3aVGxJqYRwbwr0VATvZEgiTBQc0yREAPWHNCSeYqQ4uMHVTxaFBVMwJnV3W8Pla31glT+MCMUjqqu1B8FOJRvn7VWuI56FsgU99ZZu2GWKSHsV3rkTRcKfsDXm9FWl+tL23hNRuA4Pdxt+Kxz+7jc6XZ5jyzXOf+2WvluGcy5HoNBe8mSjju5CAP7KKeVu1g9GHoL+Lk6e2I0+urNorqaVy9/RO48PzR0sf+l2ye/1UGqfoaECz72Hob+Z7EQvhcrnXzAOlI8sKDf/CEPSbxRlcR9AlBlPXLK6P3jZX69k//zdl4XWDYujdX2vyJDts+4znecfW837Ofi931IdLcN0vl12sM2NapZu/U79i21S2ygdBipATRoM4z0+ZwatIkGl3FXv4QxJyUJ8baKn7HGEBJwldWzMOVPPvB04KiwBHolctNr6jKj8WfyMl7xskLEfHMRAd0zYZtQ8/A0xrOArktka+WQJBt/HeSK0Iuk+koGZamPpyXZFSrlSLq8pTggMWfvMf4nn6tz5w4E5ad+nmhmLVvJJl3BRObMbtKmvPRfY2JNTCMS18Hjg3hXo/Pi2mKgJ3si0L324kESYKIxiO1g5pkiIJYDr+AHrDmgdza0YSTzFSFUaZjhxcYOobVcg2p4tCgqCC6l6pmBM6rpG75rut4fK8pEkutb6wSrK3GJafxgRimM+svpHVVdqW3P0Gg+CnEoTpD86N8/aqivpedtcRz0LQGGee2QKe+t4LNibLN2wyzD7E7sUkPYrCLZVW71yJouhVIX7hT9ga5kZwxvN6KtL0c4IO/Wl7avpg07QAAAAC4vGdlqgnIixK1r+6PYpdXN97wMiVrX9yd1zi5xbQo730IT4pvveBk1wGHAUrWv7jyatjd4N93M1hjEFZQGVef6KUw+voQnxRCrPhx33vAyGfHp611cghDzc5vJpWtf3AtERgVP6S3+4cY0J4az+gnonOPQrDGIKwIekfJoDKvPhiOyFsKO2e1socA0C9QOGmX7F8MhVnw4j3ll4dlhofR3TrgtM+PT1p3Myg/6uQQhlJYd+NA7dgN+FG/aPAr+KFIl5/EWiIwKuKeV09/SW/2x/UIk9VAp31t/MAYNZ/QTo0jtyuflhjFJyp/oLr9RxkCQSB8EPSPkqhI6PebFFg9I6g/WDEdkLaJoffTFHbPaqzKqA++fwfhBsNghF6gcNLmHBe39Km4WUwV3zzRwueFaX6A4HvLLw7Dd0hryw0PonOxaMdhBMcp2bigTERvmPX80/+Q7mZQflbaNxsOuSdNtgVAKKSw78YcDIijgduwGjln138r0niRk24f9Dsm9wODmpBmkS8/iCmTWO20RGBUDPgHMR5NqN+m8c+6/pLf7EYuuIlUmxdn7CdwAnHwSLvJTC/e2/mAMGNF51VrP6Cc04PH+cE2aBd5ig9y5F03y1zhUK5OVP9A9uiYJa6LiHMWN+8WBIJA+Lw+J50h6R8kmVV4QYvg168zXLDK7Vm2O1Xl0V5HUH6w/+wZ1WI7IWzah0YJyDLp53COjoIo7Z7UkFH5sYLkVl86WDE6p48Jgx8zbuYNhsEItTqmbb1A4aQF/IbBF0kpL6/1TkoyInbzip4Rlpgrvnggl9kdePTJS8BIri7S/QHAakFmpfeWXhxPKjl5XZ+Wl+Uj8fJNaxkF9dd+YOdi0Y5f3rbrwgmOUnq16TdoAEbZ0LwhvIjfMeowY1aPItb5YZpqngQHvaa9vwHB2K20bjYVCAlTHXJOmqXOKf+3e4YRD8fhdJIQ2c0qrL6oOBkRRoCldiPYxmZ1YHoBEHLPrv7Kc8mbV6TxIu8Ylkf9rTmpRRFezHZN7gbO8Ylj3EQmjWT4Qej5L3lRQZMeNFMmsdrrmta/s/nG6QtFoYwZ8A5ioUxpBzybUb6EJzbblpKZNS4u/lAmVLmZnuje/IxdcRI04RZ3qTYuzhGKSasDP+ZFu4OBIOPgkXZbXPYTSelZ/fFVPphsggYh1D5hRMaLzqp+N6nP1n9BOG7DJl18domzxMru1lkd1m/hobEK8xQe5EuoeYETy2nXq3cOsrnCoVwBfsY5nKn+gCQVmeU2oDYLjhxRboZmFqc+2nHCLG/eLJTTuUkJBIHwsbjmlaMNSXsbsS4eQ9I+SPtuWS3p2/bDUWeRpsywqR90DM56ZrlhlN4FBvEAAAAAAAAAABgAAAAEAAQACAAEABkAAAAEAAUAEAAIABkAAAAEAAYAIAAgABkAAAAEAAQAEAAQABoAAAAIABAAIAAgABoAAAAIABAAgACAABoAAAAIACAAgAAAARoAAAAgAIAAAgEABBoAAAAgAAIBAgEAEBoAAACW2AEAcK4BAAEBAAAeAQAADwAAAB7YAQD4rQEAAAAAAB4AAAAPAAAAAAAAAKytAQAAAAAAEwAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAMAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAgAAAAIAAAADAAAAAwAAAAQAAAAEAAAABQAAAAUAAAAGAAAABgAAAAcAAAAHAAAACAAAAAgAAAAJAAAACQAAAAoAAAAKAAAACwAAAAsAAAAMAAAADAAAAA0AAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAABAAAAAgAAAAIAAAACAAAAAgAAAAMAAAADAAAAAwAAAAMAAAAEAAAABAAAAAQAAAAEAAAABQAAAAUAAAAFAAAABQAAAAAAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAAIAAAACgAAAAwAAAAOAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABgAAAAgAAAAMAAAAEAAAABgAAAAgAAAAMAAAAEAAAABgAAAAgAAAAMAAAAAAAQAAgAEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAOyvAQAUAAAAQy5VVEYtOAAAAAAAAAAAAAAAAADeEgSVAAAAAP///////////////9CvAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAMADAADABAAAwAUAAMAGAADABwAAwAgAAMAJAADACgAAwAsAAMAMAADADQAAwA4AAMAPAADAEAAAwBEAAMASAADAEwAAwBQAAMAVAADAFgAAwBcAAMAYAADAGQAAwBoAAMAbAADAHAAAwB0AAMAeAADAHwAAwAAAALMBAADDAgAAwwMAAMMEAADDBQAAwwYAAMMHAADDCAAAwwkAAMMKAADDCwAAwwwAAMMNAADTDgAAww8AAMMAAAy7AQAMwwIADMMDAAzDBAAM0+iwAQAFAAAAAAAAAAAAAAAhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAADQAAAH1wEAAABAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAK/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6LABAGyxAQAJAAAAAAAAAAAAAAAhAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAADQAAAIV0EAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7LEBAAUAAAAAAAAAAAAAACEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAANAAAAjXgQAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxZDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABbeAQDgtQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACAAAAAhAAAAIgAAACMAAAAkAAAAJQAAACYAAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAAAA5AAAAOgAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAEEAAABCAAAAQwAAAEQAAABFAAAARgAAAEcAAABIAAAASQAAAEoAAABLAAAATAAAAE0AAABOAAAATwAAAFAAAABRAAAAUgAAAFMAAABUAAAAVQAAAFYAAABXAAAAWAAAAFkAAABaAAAAWwAAAFwAAABdAAAAXgAAAF8AAABgAAAAQQAAAEIAAABDAAAARAAAAEUAAABGAAAARwAAAEgAAABJAAAASgAAAEsAAABMAAAATQAAAE4AAABPAAAAUAAAAFEAAABSAAAAUwAAAFQAAABVAAAAVgAAAFcAAABYAAAAWQAAAFoAAAB7AAAAfAAAAH0AAAB+AAAAfwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5LsBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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DwABAAIAAwAEAAUABwAJAA0AEQAZACEAMQBBAGEAgQDBAAEBgQEBAgEDAQQBBgEIAQwBEAEYASABMAFAAWAAAAAAAwAEAAUABgAHAAgACQAKAAsADQAPABEAEwAXABsAHwAjACsAMwA7AEMAUwBjAHMAgwCjAMMA4wACAQAAAAAQABAAEAAQABEAEQASABIAEwATABQAFAAVABUAFgAWABcAFwAYABgAGQAZABoAGgAbABsAHAAcAB0AHQBAAEAAEAAQABAAEAAQABAAEAAQABEAEQARABEAEgASABIAEgATABMAEwATABQAFAAUABQAFQAVABUAFQAQAE0AygAAAAUAEAAFAAgABQAYAAUABAAFABQABQAMAAUAHAAFAAIABQASAAUACgAFABoABQAGAAUAFgAFAA4ABQAeAAUAAQAFABEABQAJAAUAGQAFAAUABQAVAAUADQAFAB0ABQADAAUAEwAFAAsABQAbAAUABwAFABcABQAMAAgAjAAIAEwACADMAAgALAAIAKwACABsAAgA7AAIABwACACcAAgAXAAIANwACAA8AAgAvAAIAHwACAD8AAgAAgAIAIIACABCAAgAwgAIACIACACiAAgAYgAIAOIACAASAAgAkgAIAFIACADSAAgAMgAIALIACAByAAgA8gAIAAoACACKAAgASgAIAMoACAAqAAgAqgAIAGoACADqAAgAGgAIAJoACABaAAgA2gAIADoACAC6AAgAegAIAPoACAAGAAgAhgAIAEYACADGAAgAJgAIAKYACABmAAgA5gAIABYACACWAAgAVgAIANYACAA2AAgAtgAIAHYACAD2AAgADgAIAI4ACABOAAgAzgAIAC4ACACuAAgAbgAIAO4ACAAeAAgAngAIAF4ACADeAAgAPgAIAL4ACAB+AAgA/gAIAAEACACBAAgAQQAIAMEACAAhAAgAoQAIAGEACADhAAgAEQAIAJEACABRAAgA0QAIADEACACxAAgAcQAIAPEACAAJAAgAiQAIAEkACADJAAgAKQAIAKkACABpAAgA6QAIABkACACZAAgAWQAIANkACAA5AAgAuQAIAHkACAD5AAgABQAIAIUACABFAAgAxQAIACUACAClAAgAZQAIAOUACAAVAAgAlQAIAFUACADVAAgANQAIALUACAB1AAgA9QAIAA0ACACNAAgATQAIAM0A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b3RhdGVkUmVjdABjZW50ZXIAYW5nbGUAcm90YXRlZFJlY3RQb2ludHMAcm90YXRlZFJlY3RCb3VuZGluZ1JlY3QAcm90YXRlZFJlY3RCb3VuZGluZ1JlY3QyZgBTY2FsYXIATWluTWF4TG9jAG1pblZhbABtYXhWYWwAbWluTG9jAG1heExvYwBDaXJjbGUAcmFkaXVzAE1vbWVudHMAbTAwAG0xMABtMDEAbTIwAG0xMQBtMDIAbTMwAG0yMQBtMTIAbTAzAG11MjAAbXUxMQBtdTAyAG11MzAAbXUyMQBtdTEyAG11MDMAbnUyMABudTExAG51MDIAbnUzMABudTIxAG51MTIAbnUwMwBFeGNlcHRpb24AY29kZQBtc2cAZXhjZXB0aW9uRnJvbVB0cgBtb3JwaG9sb2d5RGVmYXVsdEJvcmRlclZhbHVlAENWX01BVF9ERVBUSABDYW1TaGlmdABnZXRCdWlsZEluZm9ybWF0aW9uAENWXzhVQzEAQ1ZfOFVDMgBDVl84VUMzAENWXzhVQzQAQ1ZfOFNDMQBDVl84U0MyAENWXzhTQzMAQ1ZfOFNDNABDVl8xNlVDMQBDVl8xNlVDMgBDVl8xNlVDMwBDVl8xNlVDNABDVl8xNlNDMQBDVl8xNlNDMgBDVl8xNlNDMwBDVl8xNlNDNABDVl8zMlNDMQBDVl8zMlNDMgBDVl8zMlNDMwBDVl8zMlNDNABDVl8zMkZDMQBDVl8zMkZDMgBDVl8zMkZDMwBDVl8zMkZDNABDVl82NEZDMQBDVl82NEZDMgBDVl82NEZDMwBDVl82NEZDNABDVl84VQBDVl84UwBDVl8xNlUAQ1ZfMTZTAENWXzMyUwBDVl8zMkYAQ1ZfNjRGAElOVF9NSU4ASU5UX01BWABDYW5ueTEAR2F1c3NpYW5CbHVyAEhvdWdoTGluZXMASG91Z2hMaW5lc1AATGFwbGFjaWFuAFNjaGFycgBTb2JlbABhYnNkaWZmAGFkZABhZGRXZWlnaHRlZABiaXR3aXNlX2FuZABiaXR3aXNlX25vdABiaXR3aXNlX29yAGJpdHdpc2VfeG9yAGJsdXIAYm91bmRpbmdSZWN0AGJveEZpbHRlcgBjYWxjT3B0aWNhbEZsb3dGYXJuZWJhY2sAY2FsY09wdGljYWxGbG93UHlyTEsAY29ybmVySGFycmlzAGNvcm5lck1pbkVpZ2VuVmFsAGRpbGF0ZQBkaXN0YW5jZVRyYW5zZm9ybVdpdGhMYWJlbHMAZGl2aWRlAGRpdmlkZTEAZWxsaXBzZTEAZWxsaXBzZTJQb2x5AGVyb2RlAGZpbHRlcjJEAGdldE9wdGltYWxERlRTaXplAGdldFJvdGF0aW9uTWF0cml4MkQAZ29vZEZlYXR1cmVzVG9UcmFjazEAaW50ZWdyYWwyAG1heABtaW4AbWluQXJlYVJlY3QAbXVsdGlwbHkAbm9ybTEAcHV0VGV4dAByYW5kbgByYW5kdQBzZXRSTkdTZWVkAHNxcnQAc3VidHJhY3QASE9HRGVzY3JpcHRvcgBsb2FkAGdldERlZmF1bHRQZW9wbGVEZXRlY3RvcgBnZXREYWltbGVyUGVvcGxlRGV0ZWN0b3IAc3ZtRGV0ZWN0b3IARGljdGlvbmFyeQBQdHI8RGljdGlvbmFyeT4AYnl0ZXNMaXN0AG1hcmtlclNpemUAbWF4Q29ycmVjdGlvbkJpdHMAQmFja2dyb3VuZFN1YnRyYWN0b3IAQmFja2dyb3VuZFN1YnRyYWN0b3JNT0cyAFB0cjxCYWNrZ3JvdW5kU3VidHJhY3Rvck1PRzI+AENMQUhFAHNldFRpbGVzR3JpZFNpemUAY29sbGVjdEdhcmJhZ2UAc2V0Q2xpcExpbWl0AGdldFRpbGVzR3JpZFNpemUAZ2V0Q2xpcExpbWl0AFB0cjxDTEFIRT4ARGV0ZWN0b3JQYXJhbWV0ZXJzAFB0cjxEZXRlY3RvclBhcmFtZXRlcnM+AGFkYXB0aXZlVGhyZXNoV2luU2l6ZU1pbgBhZGFwdGl2ZVRocmVzaFdpblNpemVNYXgAYWRhcHRpdmVUaHJlc2hXaW5TaXplU3RlcABhZGFwdGl2ZVRocmVzaENvbnN0YW50AG1pbk1hcmtlclBlcmltZXRlclJhdGUAbWF4TWFya2VyUGVyaW1ldGVyUmF0ZQBwb2x5Z29uYWxBcHByb3hBY2N1cmFjeVJhdGUAbWluQ29ybmVyRGlzdGFuY2VSYXRlAG1pbkRpc3RhbmNlVG9Cb3JkZXIAbWluTWFya2VyRGlzdGFuY2VSYXRlAGNvcm5lclJlZmluZW1lbnRNZXRob2QAY29ybmVyUmVmaW5lbWVudFdpblNpemUAY29ybmVyUmVmaW5lbWVudE1heEl0ZXJhdGlvbnMAY29ybmVyUmVmaW5lbWVudE1pbkFjY3VyYWN5AG1hcmtlckJvcmRlckJpdHMAcGVyc3BlY3RpdmVSZW1vdmVQaXhlbFBlckNlbGwAcGVyc3BlY3RpdmVSZW1vdmVJZ25vcmVkTWFyZ2luUGVyQ2VsbABtYXhFcnJvbmVvdXNCaXRzSW5Cb3JkZXJSYXRlAG1pbk90c3VTdGREZXYAZXJyb3JDb3JyZWN0aW9uUmF0ZQBhcHJpbFRhZ1F1YWREZWNpbWF0ZQBhcHJpbFRhZ1F1YWRTaWdtYQBhcHJpbFRhZ01pbkNsdXN0ZXJQaXhlbHMAYXByaWxUYWdNYXhObWF4aW1hAGFwcmlsVGFnQ3JpdGljYWxSYWQAYXByaWxUYWdNYXhMaW5lRml0TXNlAGFwcmlsVGFnTWluV2hpdGVCbGFja0RpZmYAYXByaWxUYWdEZWdsaXRjaABBbGdvcml0aG0AQ2FzY2FkZUNsYXNzaWZpZXIAZGV0ZWN0TXVsdGlTY2FsZTIAZGV0ZWN0TXVsdGlTY2FsZTMAQUNDRVNTX0ZBU1QAQUNDRVNTX01BU0sAQUNDRVNTX1JFQUQAQUNDRVNTX1JXAEFDQ0VTU19XUklURQBBREFQVElWRV9USFJFU0hfR0FVU1NJQU5fQwBBREFQVElWRV9USFJFU0hfTUVBTl9DAEFLQVpFX0RFU0NSSVBUT1JfS0FaRQBBS0FaRV9ERVNDUklQVE9SX0tBWkVfVVBSSUdIVABBS0FaRV9ERVNDUklQVE9SX01MREIAQUtBWkVfREVTQ1JJUFRPUl9NTERCX1VQUklHSFQAQWdhc3RGZWF0dXJlRGV0ZWN0b3JfQUdBU1RfNV84AEFnYXN0RmVhdHVyZURldGVjdG9yX0FHQVNUXzdfMTJkAEFnYXN0RmVhdHVyZURldGVjdG9yX0FHQVNUXzdfMTJzAEFnYXN0RmVhdHVyZURldGVjdG9yX05PTk1BWF9TVVBQUkVTU0lPTgBBZ2FzdEZlYXR1cmVEZXRlY3Rvcl9PQVNUXzlfMTYAQWdhc3RGZWF0dXJlRGV0ZWN0b3JfVEhSRVNIT0xEAEJPUkRFUl9DT05TVEFOVABCT1JERVJfREVGQVVMVABCT1JERVJfSVNPTEFURUQAQk9SREVSX1JFRkxFQ1QAQk9SREVSX1JFRkxFQ1QxMDEAQk9SREVSX1JFRkxFQ1RfMTAxAEJPUkRFUl9SRVBMSUNBVEUAQk9SREVSX1RSQU5TUEFSRU5UAEJPUkRFUl9XUkFQAENBTElCX0NCX0FEQVBUSVZFX1RIUkVTSABDQUxJQl9DQl9BU1lNTUVUUklDX0dSSUQAQ0FMSUJfQ0JfQ0xVU1RFUklORwBDQUxJQl9DQl9GQVNUX0NIRUNLAENBTElCX0NCX0ZJTFRFUl9RVUFEUwBDQUxJQl9DQl9OT1JNQUxJWkVfSU1BR0UAQ0FMSUJfQ0JfU1lNTUVUUklDX0dSSUQAQ0FMSUJfRklYX0FTUEVDVF9SQVRJTwBDQUxJQl9GSVhfRk9DQUxfTEVOR1RIAENBTElCX0ZJWF9JTlRSSU5TSUMAQ0FMSUJfRklYX0sxAENBTElCX0ZJWF9LMgBDQUxJQl9GSVhfSzMAQ0FMSUJfRklYX0s0AENBTElCX0ZJWF9LNQBDQUxJQl9GSVhfSzYAQ0FMSUJfRklYX1BSSU5DSVBBTF9QT0lOVABDQUxJQl9GSVhfUzFfUzJfUzNfUzQAQ0FMSUJfRklYX1RBTkdFTlRfRElTVABDQUxJQl9GSVhfVEFVWF9UQVVZAENBTElCX1JBVElPTkFMX01PREVMAENBTElCX1NBTUVfRk9DQUxfTEVOR1RIAENBTElCX1RISU5fUFJJU01fTU9ERUwAQ0FMSUJfVElMVEVEX01PREVMAENBTElCX1VTRV9FWFRSSU5TSUNfR1VFU1MAQ0FMSUJfVVNFX0lOVFJJTlNJQ19HVUVTUwBDQUxJQl9VU0VfTFUAQ0FMSUJfVVNFX1FSAENBTElCX1pFUk9fRElTUEFSSVRZAENBTElCX1pFUk9fVEFOR0VOVF9ESVNUAENBU0NBREVfRE9fQ0FOTllfUFJVTklORwBDQVNDQURFX0RPX1JPVUdIX1NFQVJDSABDQVNDQURFX0ZJTkRfQklHR0VTVF9PQkpFQ1QAQ0FTQ0FERV9TQ0FMRV9JTUFHRQBDQ0xfREVGQVVMVABDQ0xfR1JBTkEAQ0NMX1dVAENDX1NUQVRfQVJFQQBDQ19TVEFUX0hFSUdIVABDQ19TVEFUX0xFRlQAQ0NfU1RBVF9NQVgAQ0NfU1RBVF9UT1AAQ0NfU1RBVF9XSURUSABDSEFJTl9BUFBST1hfTk9ORQBDSEFJTl9BUFBST1hfU0lNUExFAENIQUlOX0FQUFJPWF9UQzg5X0tDT1MAQ0hBSU5fQVBQUk9YX1RDODlfTDEAQ01QX0VRAENNUF9HRQBDTVBfR1QAQ01QX0xFAENNUF9MVABDTVBfTkUAQ09MT1JNQVBfQVVUVU1OAENPTE9STUFQX0JPTkUAQ09MT1JNQVBfQ09PTABDT0xPUk1BUF9IT1QAQ09MT1JNQVBfSFNWAENPTE9STUFQX0pFVABDT0xPUk1BUF9PQ0VBTgBDT0xPUk1BUF9QQVJVTEEAQ09MT1JNQVBfUElOSwBDT0xPUk1BUF9SQUlOQk9XAENPTE9STUFQX1NQUklORwBDT0xPUk1BUF9TVU1NRVIAQ09MT1JNQVBfV0lOVEVSAENPTE9SX0JHUjJCR1I1NTUAQ09MT1JfQkdSMkJHUjU2NQBDT0xPUl9CR1IyQkdSQQBDT0xPUl9CR1IyR1JBWQBDT0xPUl9CR1IySExTAENPTE9SX0JHUjJITFNfRlVMTABDT0xPUl9CR1IySFNWAENPTE9SX0JHUjJIU1ZfRlVMTABDT0xPUl9CR1IyTGFiAENPTE9SX0JHUjJMdXYAQ09MT1JfQkdSMlJHQgBDT0xPUl9CR1IyUkdCQQBDT0xPUl9CR1IyWFlaAENPTE9SX0JHUjJZQ3JDYgBDT0xPUl9CR1IyWVVWAENPTE9SX0JHUjJZVVZfSTQyMABDT0xPUl9CR1IyWVVWX0lZVVYAQ09MT1JfQkdSMllVVl9ZVjEyAENPTE9SX0JHUjU1NTJCR1IAQ09MT1JfQkdSNTU1MkJHUkEAQ09MT1JfQkdSNTU1MkdSQVkAQ09MT1JfQkdSNTU1MlJHQgBDT0xPUl9CR1I1NTUyUkdCQQBDT0xPUl9CR1I1NjUyQkdSAENPTE9SX0JHUjU2NTJCR1JBAENPTE9SX0JHUjU2NTJHUkFZAENPTE9SX0JHUjU2NTJSR0IAQ09MT1JfQkdSNTY1MlJHQkEAQ09MT1JfQkdSQTJCR1IAQ09MT1JfQkdSQTJCR1I1NTUAQ09MT1JfQkdSQTJCR1I1NjUAQ09MT1JfQkdSQTJHUkFZAENPTE9SX0JHUkEyUkdCAENPTE9SX0JHUkEyUkdCQQBDT0xPUl9CR1JBMllVVl9JNDIwAENPTE9SX0JHUkEyWVVWX0lZVVYAQ09MT1JfQkdSQTJZVVZfWVYxMgBDT0xPUl9CYXllckJHMkJHUgBDT0xPUl9CYXllckJHMkJHUkEAQ09MT1JfQmF5ZXJCRzJCR1JfRUEAQ09MT1JfQmF5ZXJCRzJCR1JfVk5HAENPTE9SX0JheWVyQkcyR1JBWQBDT0xPUl9CYXllckJHMlJHQgBDT0xPUl9CYXllckJHMlJHQkEAQ09MT1JfQmF5ZXJCRzJSR0JfRUEAQ09MT1JfQmF5ZXJCRzJSR0JfVk5HAENPTE9SX0JheWVyR0IyQkdSAENPTE9SX0JheWVyR0IyQkdSQQBDT0xPUl9CYXllckdCMkJHUl9FQQBDT0xPUl9CYXllckdCMkJHUl9WTkcAQ09MT1JfQmF5ZXJHQjJHUkFZAENPTE9SX0JheWVyR0IyUkdCAENPTE9SX0JheWVyR0IyUkdCQQBDT0xPUl9CYXllckdCMlJHQl9FQQBDT0xPUl9CYXllckdCMlJHQl9WTkcAQ09MT1JfQmF5ZXJHUjJCR1IAQ09MT1JfQmF5ZXJHUjJCR1JBAENPTE9SX0JheWVyR1IyQkdSX0VBAENPTE9SX0JheWVyR1IyQkdSX1ZORwBDT0xPUl9CYXllckdSMkdSQVkAQ09MT1JfQmF5ZXJHUjJSR0IAQ09MT1JfQmF5ZXJHUjJSR0JBAENPTE9SX0JheWVyR1IyUkdCX0VBAENPTE9SX0JheWVyR1IyUkdCX1ZORwBDT0xPUl9CYXllclJHMkJHUgBDT0xPUl9CYXllclJHMkJHUkEAQ09MT1JfQmF5ZXJSRzJCR1JfRUEAQ09MT1JfQmF5ZXJSRzJCR1JfVk5HAENPTE9SX0JheWVyUkcyR1JBWQBDT0xPUl9CYXllclJHMlJHQgBDT0xPUl9CYXllclJHMlJHQkEAQ09MT1JfQmF5ZXJSRzJSR0JfRUEAQ09MT1JfQmF5ZXJSRzJSR0JfVk5HAENPTE9SX0NPTE9SQ1ZUX01BWABDT0xPUl9HUkFZMkJHUgBDT0xPUl9HUkFZMkJHUjU1NQBDT0xPUl9HUkFZMkJHUjU2NQBDT0xPUl9HUkFZMkJHUkEAQ09MT1JfR1JBWTJSR0IAQ09MT1JfR1JBWTJSR0JBAENPTE9SX0hMUzJCR1IAQ09MT1JfSExTMkJHUl9GVUxMAENPTE9SX0hMUzJSR0IAQ09MT1JfSExTMlJHQl9GVUxMAENPTE9SX0hTVjJCR1IAQ09MT1JfSFNWMkJHUl9GVUxMAENPTE9SX0hTVjJSR0IAQ09MT1JfSFNWMlJHQl9GVUxMAENPTE9SX0xCR1IyTGFiAENPTE9SX0xCR1IyTHV2AENPTE9SX0xSR0IyTGFiAENPTE9SX0xSR0IyTHV2AENPTE9SX0xhYjJCR1IAQ09MT1JfTGFiMkxCR1IAQ09MT1JfTGFiMkxSR0IAQ09MT1JfTGFiMlJHQgBDT0xPUl9MdXYyQkdSAENPTE9SX0x1djJMQkdSAENPTE9SX0x1djJMUkdCAENPTE9SX0x1djJSR0IAQ09MT1JfUkdCMkJHUgBDT0xPUl9SR0IyQkdSNTU1AENPTE9SX1JHQjJCR1I1NjUAQ09MT1JfUkdCMkJHUkEAQ09MT1JfUkdCMkdSQVkAQ09MT1JfUkdCMkhMUwBDT0xPUl9SR0IySExTX0ZVTEwAQ09MT1JfUkdCMkhTVgBDT0xPUl9SR0IySFNWX0ZVTEwAQ09MT1JfUkdCMkxhYgBDT0xPUl9SR0IyTHV2AENPTE9SX1JHQjJSR0JBAENPTE9SX1JHQjJYWVoAQ09MT1JfUkdCMllDckNiAENPTE9SX1JHQjJZVVYAQ09MT1JfUkdCMllVVl9JNDIwAENPTE9SX1JHQjJZVVZfSVlVVgBDT0xPUl9SR0IyWVVWX1lWMTIAQ09MT1JfUkdCQTJCR1IAQ09MT1JfUkdCQTJCR1I1NTUAQ09MT1JfUkdCQTJCR1I1NjUAQ09MT1JfUkdCQTJCR1JBAENPTE9SX1JHQkEyR1JBWQBDT0xPUl9SR0JBMlJHQgBDT0xPUl9SR0JBMllVVl9JNDIwAENPTE9SX1JHQkEyWVVWX0lZVVYAQ09MT1JfUkdCQTJZVVZfWVYxMgBDT0xPUl9SR0JBMm1SR0JBAENPTE9SX1hZWjJCR1IAQ09MT1JfWFlaMlJHQgBDT0xPUl9ZQ3JDYjJCR1IAQ09MT1JfWUNyQ2IyUkdCAENPTE9SX1lVVjJCR1IAQ09MT1JfWVVWMkJHUkFfSTQyMABDT0xPUl9ZVVYyQkdSQV9JWVVWAENPTE9SX1lVVjJCR1JBX05WMTIAQ09MT1JfWVVWMkJHUkFfTlYyMQBDT0xPUl9ZVVYyQkdSQV9VWU5WAENPTE9SX1lVVjJCR1JBX1VZVlkAQ09MT1JfWVVWMkJHUkFfWTQyMgBDT0xPUl9ZVVYyQkdSQV9ZVU5WAENPTE9SX1lVVjJCR1JBX1lVWTIAQ09MT1JfWVVWMkJHUkFfWVVZVgBDT0xPUl9ZVVYyQkdSQV9ZVjEyAENPTE9SX1lVVjJCR1JBX1lWWVUAQ09MT1JfWVVWMkJHUl9JNDIwAENPTE9SX1lVVjJCR1JfSVlVVgBDT0xPUl9ZVVYyQkdSX05WMTIAQ09MT1JfWVVWMkJHUl9OVjIxAENPTE9SX1lVVjJCR1JfVVlOVgBDT0xPUl9ZVVYyQkdSX1VZVlkAQ09MT1JfWVVWMkJHUl9ZNDIyAENPTE9SX1lVVjJCR1JfWVVOVgBDT0xPUl9ZVVYyQkdSX1lVWTIAQ09MT1JfWVVWMkJHUl9ZVVlWAENPTE9SX1lVVjJCR1JfWVYxMgBDT0xPUl9ZVVYyQkdSX1lWWVUAQ09MT1JfWVVWMkdSQVlfNDIwAENPTE9SX1lVVjJHUkFZX0k0MjAAQ09MT1JfWVVWMkdSQVlfSVlVVgBDT0xPUl9ZVVYyR1JBWV9OVjEyAENPTE9SX1lVVjJHUkFZX05WMjEAQ09MT1JfWVVWMkdSQVlfVVlOVgBDT0xPUl9ZVVYyR1JBWV9VWVZZAENPTE9SX1lVVjJHUkFZX1k0MjIAQ09MT1JfWVVWMkdSQVlfWVVOVgBDT0xPUl9ZVVYyR1JBWV9ZVVkyAENPTE9SX1lVVjJHUkFZX1lVWVYAQ09MT1JfWVVWMkdSQVlfWVYxMgBDT0xPUl9ZVVYyR1JBWV9ZVllVAENPTE9SX1lVVjJSR0IAQ09MT1JfWVVWMlJHQkFfSTQyMABDT0xPUl9ZVVYyUkdCQV9JWVVWAENPTE9SX1lVVjJSR0JBX05WMTIAQ09MT1JfWVVWMlJHQkFfTlYyMQBDT0xPUl9ZVVYyUkdCQV9VWU5WAENPTE9SX1lVVjJSR0JBX1VZVlkAQ09MT1JfWVVWMlJHQkFfWTQyMgBDT0xPUl9ZVVYyUkdCQV9ZVU5WAENPTE9SX1lVVjJSR0JBX1lVWTIAQ09MT1JfWVVWMlJHQkFfWVVZVgBDT0xPUl9ZVVYyUkdCQV9ZVjEyAENPTE9SX1lVVjJSR0JBX1lWWVUAQ09MT1JfWVVWMlJHQl9JNDIwAENPTE9SX1lVVjJSR0JfSVlVVgBDT0xPUl9ZVVYyUkdCX05WMTIAQ09MT1JfWVVWMlJHQl9OVjIxAENPTE9SX1lVVjJSR0JfVVlOVgBDT0xPUl9ZVVYyUkdCX1VZVlkAQ09MT1JfWVVWMlJHQl9ZNDIyAENPTE9SX1lVVjJSR0JfWVVOVgBDT0xPUl9ZVVYyUkdCX1lVWTIAQ09MT1JfWVVWMlJHQl9ZVVlWAENPTE9SX1lVVjJSR0JfWVYxMgBDT0xPUl9ZVVYyUkdCX1lWWVUAQ09MT1JfWVVWNDIwcDJCR1IAQ09MT1JfWVVWNDIwcDJCR1JBAENPTE9SX1lVVjQyMHAyR1JBWQBDT0xPUl9ZVVY0MjBwMlJHQgBDT0xPUl9ZVVY0MjBwMlJHQkEAQ09MT1JfWVVWNDIwc3AyQkdSAENPTE9SX1lVVjQyMHNwMkJHUkEAQ09MT1JfWVVWNDIwc3AyR1JBWQBDT0xPUl9ZVVY0MjBzcDJSR0IAQ09MT1JfWVVWNDIwc3AyUkdCQQBDT0xPUl9tUkdCQTJSR0JBAENPTlRPVVJTX01BVENIX0kxAENPTlRPVVJTX01BVENIX0kyAENPTlRPVVJTX01BVENIX0kzAENPVkFSX0NPTFMAQ09WQVJfTk9STUFMAENPVkFSX1JPV1MAQ09WQVJfU0NBTEUAQ09WQVJfU0NSQU1CTEVEAENPVkFSX1VTRV9BVkcAQ2lyY2xlc0dyaWRGaW5kZXJQYXJhbWV0ZXJzX0FTWU1NRVRSSUNfR1JJRABDaXJjbGVzR3JpZEZpbmRlclBhcmFtZXRlcnNfU1lNTUVUUklDX0dSSUQARENUX0lOVkVSU0UARENUX1JPV1MAREVDT01QX0NIT0xFU0tZAERFQ09NUF9FSUcAREVDT01QX0xVAERFQ09NUF9OT1JNQUwAREVDT01QX1FSAERFQ09NUF9TVkQAREZUX0NPTVBMRVhfSU5QVVQAREZUX0NPTVBMRVhfT1VUUFVUAERGVF9JTlZFUlNFAERGVF9SRUFMX09VVFBVVABERlRfUk9XUwBERlRfU0NBTEUARElTVF9DAERJU1RfRkFJUgBESVNUX0hVQkVSAERJU1RfTDEARElTVF9MMTIARElTVF9MMgBESVNUX0xBQkVMX0NDT01QAERJU1RfTEFCRUxfUElYRUwARElTVF9NQVNLXzMARElTVF9NQVNLXzUARElTVF9NQVNLX1BSRUNJU0UARElTVF9VU0VSAERJU1RfV0VMU0NIAERlc2NyaXB0b3JNYXRjaGVyX0JSVVRFRk9SQ0UARGVzY3JpcHRvck1hdGNoZXJfQlJVVEVGT1JDRV9IQU1NSU5HAERlc2NyaXB0b3JNYXRjaGVyX0JSVVRFRk9SQ0VfSEFNTUlOR0xVVABEZXNjcmlwdG9yTWF0Y2hlcl9CUlVURUZPUkNFX0wxAERlc2NyaXB0b3JNYXRjaGVyX0JSVVRFRk9SQ0VfU0wyAERlc2NyaXB0b3JNYXRjaGVyX0ZMQU5OQkFTRUQARHJhd01hdGNoZXNGbGFnc19ERUZBVUxUAERyYXdNYXRjaGVzRmxhZ3NfRFJBV19PVkVSX09VVElNRwBEcmF3TWF0Y2hlc0ZsYWdzX0RSQVdfUklDSF9LRVlQT0lOVFMARHJhd01hdGNoZXNGbGFnc19OT1RfRFJBV19TSU5HTEVfUE9JTlRTAEZJTExFRABGTE9PREZJTExfRklYRURfUkFOR0UARkxPT0RGSUxMX01BU0tfT05MWQBGTV83UE9JTlQARk1fOFBPSU5UAEZNX0xNRURTAEZNX1JBTlNBQwBGT05UX0hFUlNIRVlfQ09NUExFWABGT05UX0hFUlNIRVlfQ09NUExFWF9TTUFMTABGT05UX0hFUlNIRVlfRFVQTEVYAEZPTlRfSEVSU0hFWV9QTEFJTgBGT05UX0hFUlNIRVlfU0NSSVBUX0NPTVBMRVgARk9OVF9IRVJTSEVZX1NDUklQVF9TSU1QTEVYAEZPTlRfSEVSU0hFWV9TSU1QTEVYAEZPTlRfSEVSU0hFWV9UUklQTEVYAEZPTlRfSVRBTElDAEZhc3RGZWF0dXJlRGV0ZWN0b3JfRkFTVF9OAEZhc3RGZWF0dXJlRGV0ZWN0b3JfTk9OTUFYX1NVUFBSRVNTSU9OAEZhc3RGZWF0dXJlRGV0ZWN0b3JfVEhSRVNIT0xEAEZhc3RGZWF0dXJlRGV0ZWN0b3JfVFlQRV81XzgARmFzdEZlYXR1cmVEZXRlY3Rvcl9UWVBFXzdfMTIARmFzdEZlYXR1cmVEZXRlY3Rvcl9UWVBFXzlfMTYARmlsZU5vZGVfRU1QVFkARmlsZU5vZGVfRkxPQVQARmlsZU5vZGVfRkxPVwBGaWxlTm9kZV9JTlQARmlsZU5vZGVfTUFQAEZpbGVOb2RlX05BTUVEAEZpbGVOb2RlX05PTkUARmlsZU5vZGVfUkVBTABGaWxlTm9kZV9SRUYARmlsZU5vZGVfU0VRAEZpbGVOb2RlX1NUUgBGaWxlTm9kZV9TVFJJTkcARmlsZU5vZGVfVFlQRV9NQVNLAEZpbGVOb2RlX1VTRVIARmlsZVN0b3JhZ2VfQVBQRU5EAEZpbGVTdG9yYWdlX0JBU0U2NABGaWxlU3RvcmFnZV9GT1JNQVRfQVVUTwBGaWxlU3RvcmFnZV9GT1JNQVRfSlNPTgBGaWxlU3RvcmFnZV9GT1JNQVRfTUFTSwBGaWxlU3RvcmFnZV9GT1JNQVRfWE1MAEZpbGVTdG9yYWdlX0ZPUk1BVF9ZQU1MAEZpbGVTdG9yYWdlX0lOU0lERV9NQVAARmlsZVN0b3JhZ2VfTUVNT1JZAEZpbGVTdG9yYWdlX05BTUVfRVhQRUNURUQARmlsZVN0b3JhZ2VfUkVBRABGaWxlU3RvcmFnZV9VTkRFRklORUQARmlsZVN0b3JhZ2VfVkFMVUVfRVhQRUNURUQARmlsZVN0b3JhZ2VfV1JJVEUARmlsZVN0b3JhZ2VfV1JJVEVfQkFTRTY0AEZvcm1hdHRlcl9GTVRfQwBGb3JtYXR0ZXJfRk1UX0NTVgBGb3JtYXR0ZXJfRk1UX0RFRkFVTFQARm9ybWF0dGVyX0ZNVF9NQVRMQUIARm9ybWF0dGVyX0ZNVF9OVU1QWQBGb3JtYXR0ZXJfRk1UX1BZVEhPTgBHQ19CR0QAR0NfRVZBTABHQ19GR0QAR0NfSU5JVF9XSVRIX01BU0sAR0NfSU5JVF9XSVRIX1JFQ1QAR0NfUFJfQkdEAEdDX1BSX0ZHRABHRU1NXzFfVABHRU1NXzJfVABHRU1NXzNfVABISVNUQ01QX0JIQVRUQUNIQVJZWUEASElTVENNUF9DSElTUVIASElTVENNUF9DSElTUVJfQUxUAEhJU1RDTVBfQ09SUkVMAEhJU1RDTVBfSEVMTElOR0VSAEhJU1RDTVBfSU5URVJTRUNUAEhJU1RDTVBfS0xfRElWAEhPR0Rlc2NyaXB0b3JfREVGQVVMVF9OTEVWRUxTAEhPR0Rlc2NyaXB0b3JfTDJIeXMASE9VR0hfR1JBRElFTlQASE9VR0hfTVVMVElfU0NBTEUASE9VR0hfUFJPQkFCSUxJU1RJQwBIT1VHSF9TVEFOREFSRABIYW1taW5nX25vcm1UeXBlAElOVEVSU0VDVF9GVUxMAElOVEVSU0VDVF9OT05FAElOVEVSU0VDVF9QQVJUSUFMAElOVEVSX0FSRUEASU5URVJfQklUUwBJTlRFUl9CSVRTMgBJTlRFUl9DVUJJQwBJTlRFUl9MQU5DWk9TNABJTlRFUl9MSU5FQVIASU5URVJfTElORUFSX0VYQUNUAElOVEVSX01BWABJTlRFUl9ORUFSRVNUAElOVEVSX1RBQl9TSVpFAElOVEVSX1RBQl9TSVpFMgBLQVpFX0RJRkZfQ0hBUkJPTk5JRVIAS0FaRV9ESUZGX1BNX0cxAEtBWkVfRElGRl9QTV9HMgBLQVpFX0RJRkZfV0VJQ0tFUlQAS01FQU5TX1BQX0NFTlRFUlMAS01FQU5TX1JBTkRPTV9DRU5URVJTAEtNRUFOU19VU0VfSU5JVElBTF9MQUJFTFMATElORV80AExJTkVfOABMSU5FX0FBAExNRURTAExTRF9SRUZJTkVfQURWAExTRF9SRUZJTkVfTk9ORQBMU0RfUkVGSU5FX1NURABNQVJLRVJfQ1JPU1MATUFSS0VSX0RJQU1PTkQATUFSS0VSX1NRVUFSRQBNQVJLRVJfU1RBUgBNQVJLRVJfVElMVEVEX0NST1NTAE1BUktFUl9UUklBTkdMRV9ET1dOAE1BUktFUl9UUklBTkdMRV9VUABNT1JQSF9CTEFDS0hBVABNT1JQSF9DTE9TRQBNT1JQSF9DUk9TUwBNT1JQSF9ESUxBVEUATU9SUEhfRUxMSVBTRQBNT1JQSF9FUk9ERQBNT1JQSF9HUkFESUVOVABNT1JQSF9ISVRNSVNTAE1PUlBIX09QRU4ATU9SUEhfUkVDVABNT1JQSF9UT1BIQVQATU9USU9OX0FGRklORQBNT1RJT05fRVVDTElERUFOAE1PVElPTl9IT01PR1JBUEhZAE1PVElPTl9UUkFOU0xBVElPTgBNYXRfQVVUT19TVEVQAE1hdF9DT05USU5VT1VTX0ZMQUcATWF0X0RFUFRIX01BU0sATWF0X01BR0lDX01BU0sATWF0X01BR0lDX1ZBTABNYXRfU1VCTUFUUklYX0ZMQUcATWF0X1RZUEVfTUFTSwBOT1JNX0hBTU1JTkcATk9STV9IQU1NSU5HMgBOT1JNX0lORgBOT1JNX0wxAE5PUk1fTDIATk9STV9MMlNRUgBOT1JNX01JTk1BWABOT1JNX1JFTEFUSVZFAE5PUk1fVFlQRV9NQVNLAE9QVEZMT1dfRkFSTkVCQUNLX0dBVVNTSUFOAE9QVEZMT1dfTEtfR0VUX01JTl9FSUdFTlZBTFMAT1BURkxPV19VU0VfSU5JVElBTF9GTE9XAE9SQl9GQVNUX1NDT1JFAE9SQl9IQVJSSVNfU0NPUkUAT1JCX2tCeXRlcwBQQ0FfREFUQV9BU19DT0wAUENBX0RBVEFfQVNfUk9XAFBDQV9VU0VfQVZHAFBST0pfU1BIRVJJQ0FMX0VRUkVDVABQUk9KX1NQSEVSSUNBTF9PUlRITwBQYXJhbV9BTEdPUklUSE0AUGFyYW1fQk9PTEVBTgBQYXJhbV9GTE9BVABQYXJhbV9JTlQAUGFyYW1fTUFUAFBhcmFtX01BVF9WRUNUT1IAUGFyYW1fUkVBTABQYXJhbV9TQ0FMQVIAUGFyYW1fU1RSSU5HAFBhcmFtX1VDSEFSAFBhcmFtX1VJTlQ2NABQYXJhbV9VTlNJR05FRF9JTlQAUkFOU0FDAFJFRFVDRV9BVkcAUkVEVUNFX01BWABSRURVQ0VfTUlOAFJFRFVDRV9TVU0AUkVUUl9DQ09NUABSRVRSX0VYVEVSTkFMAFJFVFJfRkxPT0RGSUxMAFJFVFJfTElTVABSRVRSX1RSRUUAUkhPAFJOR19OT1JNQUwAUk5HX1VOSUZPUk0AUk9UQVRFXzE4MABST1RBVEVfOTBfQ0xPQ0tXSVNFAFJPVEFURV85MF9DT1VOVEVSQ0xPQ0tXSVNFAFNPTFZFTFBfTVVMVEkAU09MVkVMUF9TSU5HTEUAU09MVkVMUF9VTkJPVU5ERUQAU09MVkVMUF9VTkZFQVNJQkxFAFNPTFZFUE5QX0FQM1AAU09MVkVQTlBfRExTAFNPTFZFUE5QX0VQTlAAU09MVkVQTlBfSVRFUkFUSVZFAFNPTFZFUE5QX01BWF9DT1VOVABTT0xWRVBOUF9QM1AAU09MVkVQTlBfVVBOUABTT1JUX0FTQ0VORElORwBTT1JUX0RFU0NFTkRJTkcAU09SVF9FVkVSWV9DT0xVTU4AU09SVF9FVkVSWV9ST1cAU1ZEX0ZVTExfVVYAU1ZEX01PRElGWV9BAFNWRF9OT19VVgBTcGFyc2VNYXRfSEFTSF9CSVQAU3BhcnNlTWF0X0hBU0hfU0NBTEUAU3BhcnNlTWF0X01BR0lDX1ZBTABTcGFyc2VNYXRfTUFYX0RJTQBTdGVyZW9CTV9QUkVGSUxURVJfTk9STUFMSVpFRF9SRVNQT05TRQBTdGVyZW9CTV9QUkVGSUxURVJfWFNPQkVMAFN0ZXJlb01hdGNoZXJfRElTUF9TQ0FMRQBTdGVyZW9NYXRjaGVyX0RJU1BfU0hJRlQAU3RlcmVvU0dCTV9NT0RFX0hIAFN0ZXJlb1NHQk1fTU9ERV9ISDQAU3RlcmVvU0dCTV9NT0RFX1NHQk0AU3RlcmVvU0dCTV9NT0RFX1NHQk1fM1dBWQBTdWJkaXYyRF9ORVhUX0FST1VORF9EU1QAU3ViZGl2MkRfTkVYVF9BUk9VTkRfTEVGVABTdWJkaXYyRF9ORVhUX0FST1VORF9PUkcAU3ViZGl2MkRfTkVYVF9BUk9VTkRfUklHSFQAU3ViZGl2MkRfUFJFVl9BUk9VTkRfRFNUAFN1YmRpdjJEX1BSRVZfQVJPVU5EX0xFRlQAU3ViZGl2MkRfUFJFVl9BUk9VTkRfT1JHAFN1YmRpdjJEX1BSRVZfQVJPVU5EX1JJR0hUAFN1YmRpdjJEX1BUTE9DX0VSUk9SAFN1YmRpdjJEX1BUTE9DX0lOU0lERQBTdWJkaXYyRF9QVExPQ19PTl9FREdFAFN1YmRpdjJEX1BUTE9DX09VVFNJREVfUkVDVABTdWJkaXYyRF9QVExPQ19WRVJURVgAVEhSRVNIX0JJTkFSWQBUSFJFU0hfQklOQVJZX0lOVgBUSFJFU0hfTUFTSwBUSFJFU0hfT1RTVQBUSFJFU0hfVE9aRVJPAFRIUkVTSF9UT1pFUk9fSU5WAFRIUkVTSF9UUklBTkdMRQBUSFJFU0hfVFJVTkMAVE1fQ0NPRUZGAFRNX0NDT0VGRl9OT1JNRUQAVE1fQ0NPUlIAVE1fQ0NPUlJfTk9STUVEAFRNX1NRRElGRgBUTV9TUURJRkZfTk9STUVEAFRlcm1Dcml0ZXJpYV9DT1VOVABUZXJtQ3JpdGVyaWFfRVBTAFRlcm1Dcml0ZXJpYV9NQVhfSVRFUgBVTWF0RGF0YV9BU1lOQ19DTEVBTlVQAFVNYXREYXRhX0NPUFlfT05fTUFQAFVNYXREYXRhX0RFVklDRV9DT1BZX09CU09MRVRFAFVNYXREYXRhX0RFVklDRV9NRU1fTUFQUEVEAFVNYXREYXRhX0hPU1RfQ09QWV9PQlNPTEVURQBVTWF0RGF0YV9URU1QX0NPUElFRF9VTUFUAFVNYXREYXRhX1RFTVBfVU1BVABVTWF0RGF0YV9VU0VSX0FMTE9DQVRFRABVTWF0X0FVVE9fU1RFUABVTWF0X0NPTlRJTlVPVVNfRkxBRwBVTWF0X0RFUFRIX01BU0sAVU1hdF9NQUdJQ19NQVNLAFVNYXRfTUFHSUNfVkFMAFVNYXRfU1VCTUFUUklYX0ZMQUcAVU1hdF9UWVBFX01BU0sAVVNBR0VfQUxMT0NBVEVfREVWSUNFX01FTU9SWQBVU0FHRV9BTExPQ0FURV9IT1NUX01FTU9SWQBVU0FHRV9BTExPQ0FURV9TSEFSRURfTUVNT1JZAFVTQUdFX0RFRkFVTFQAV0FSUF9GSUxMX09VVExJRVJTAFdBUlBfSU5WRVJTRV9NQVAAX0lucHV0QXJyYXlfQ1VEQV9HUFVfTUFUAF9JbnB1dEFycmF5X0NVREFfSE9TVF9NRU0AX0lucHV0QXJyYXlfRVhQUgBfSW5wdXRBcnJheV9GSVhFRF9TSVpFAF9JbnB1dEFycmF5X0ZJWEVEX1RZUEUAX0lucHV0QXJyYXlfS0lORF9NQVNLAF9JbnB1dEFycmF5X0tJTkRfU0hJRlQAX0lucHV0QXJyYXlfTUFUAF9JbnB1dEFycmF5X01BVFgAX0lucHV0QXJyYXlfTk9ORQBfSW5wdXRBcnJheV9PUEVOR0xfQlVGRkVSAF9JbnB1dEFycmF5X1NURF9BUlJBWQBfSW5wdXRBcnJheV9TVERfQVJSQVlfTUFUAF9JbnB1dEFycmF5X1NURF9CT09MX1ZFQ1RPUgBfSW5wdXRBcnJheV9TVERfVkVDVE9SAF9JbnB1dEFycmF5X1NURF9WRUNUT1JfQ1VEQV9HUFVfTUFUAF9JbnB1dEFycmF5X1NURF9WRUNUT1JfTUFUAF9JbnB1dEFycmF5X1NURF9WRUNUT1JfVU1BVABfSW5wdXRBcnJheV9TVERfVkVDVE9SX1ZFQ1RPUgBfSW5wdXRBcnJheV9VTUFUAF9PdXRwdXRBcnJheV9ERVBUSF9NQVNLXzE2UwBfT3V0cHV0QXJyYXlfREVQVEhfTUFTS18xNlUAX091dHB1dEFycmF5X0RFUFRIX01BU0tfMzJGAF9PdXRwdXRBcnJheV9ERVBUSF9NQVNLXzMyUwBfT3V0cHV0QXJyYXlfREVQVEhfTUFTS182NEYAX091dHB1dEFycmF5X0RFUFRIX01BU0tfOFMAX091dHB1dEFycmF5X0RFUFRIX01BU0tfOFUAX091dHB1dEFycmF5X0RFUFRIX01BU0tfQUxMAF9PdXRwdXRBcnJheV9ERVBUSF9NQVNLX0FMTF9CVVRfOFMAX091dHB1dEFycmF5X0RFUFRIX01BU0tfRkxUAF9fVU1BVF9VU0FHRV9GTEFHU18zMkJJVABCYWRBbGlnbgBCYWRBbHBoYUNoYW5uZWwAQmFkQ09JAEJhZENhbGxCYWNrAEJhZERhdGFQdHIAQmFkRGVwdGgAQmFkSW1hZ2VTaXplAEJhZE1vZGVsT3JDaFNlcQBCYWROdW1DaGFubmVsMVUAQmFkTnVtQ2hhbm5lbHMAQmFkT2Zmc2V0AEJhZE9yZGVyAEJhZE9yaWdpbgBCYWRST0lTaXplAEJhZFN0ZXAAQmFkVGlsZVNpemUAR3B1QXBpQ2FsbEVycm9yAEdwdU5vdFN1cHBvcnRlZABIZWFkZXJJc051bGwATWFza0lzVGlsZWQAT3BlbkNMQXBpQ2FsbEVycm9yAE9wZW5DTERvdWJsZU5vdFN1cHBvcnRlZABPcGVuQ0xJbml0RXJyb3IAT3BlbkNMTm9BTURCbGFzRmZ0AE9wZW5HbEFwaUNhbGxFcnJvcgBPcGVuR2xOb3RTdXBwb3J0ZWQAU3RzQXNzZXJ0AFN0c0F1dG9UcmFjZQBTdHNCYWNrVHJhY2UAU3RzQmFkQXJnAFN0c0JhZEZsYWcAU3RzQmFkRnVuYwBTdHNCYWRNYXNrAFN0c0JhZE1lbUJsb2NrAFN0c0JhZFBvaW50AFN0c0JhZFNpemUAU3RzRGl2QnlaZXJvAFN0c0Vycm9yAFN0c0ZpbHRlck9mZnNldEVycgBTdHNGaWx0ZXJTdHJ1Y3RDb250ZW50RXJyAFN0c0lucGxhY2VOb3RTdXBwb3J0ZWQAU3RzSW50ZXJuYWwAU3RzS2VybmVsU3RydWN0Q29udGVudEVycgBTdHNOb0NvbnYAU3RzTm9NZW0AU3RzTm90SW1wbGVtZW50ZWQAU3RzTnVsbFB0cgBTdHNPYmplY3ROb3RGb3VuZABTdHNPawBTdHNPdXRPZlJhbmdlAFN0c1BhcnNlRXJyb3IAU3RzVW5tYXRjaGVkRm9ybWF0cwBTdHNVbm1hdGNoZWRTaXplcwBTdHNVbnN1cHBvcnRlZEZvcm1hdABTdHNWZWNMZW5ndGhFcnIAQ09STkVSX1JFRklORV9BUFJJTFRBRwBDT1JORVJfUkVGSU5FX0NPTlRPVVIAQ09STkVSX1JFRklORV9OT05FAENPUk5FUl9SRUZJTkVfU1VCUElYAERJQ1RfNFg0XzEwMABESUNUXzRYNF8xMDAwAERJQ1RfNFg0XzI1MABESUNUXzRYNF81MABESUNUXzVYNV8xMDAARElDVF81WDVfMTAwMABESUNUXzVYNV8yNTAARElDVF81WDVfNTAARElDVF82WDZfMTAwAERJQ1RfNlg2XzEwMDAARElDVF82WDZfMjUwAERJQ1RfNlg2XzUwAERJQ1RfN1g3XzEwMABESUNUXzdYN18xMDAwAERJQ1RfN1g3XzI1MABESUNUXzdYN181MABESUNUX0FSVUNPX09SSUdJTkFMAEROTl9CQUNLRU5EX0RFRkFVTFQARE5OX0JBQ0tFTkRfSEFMSURFAEROTl9CQUNLRU5EX0lORkVSRU5DRV9FTkdJTkUARE5OX1RBUkdFVF9DUFUARE5OX1RBUkdFVF9PUEVOQ0wAQ0FMSUJfQ0hFQ0tfQ09ORABDQUxJQl9GSVhfU0tFVwBDQUxJQl9SRUNPTVBVVEVfRVhUUklOU0lDAEZMQUdTX0VYUEFORF9TQU1FX05BTUVTAEZMQUdTX01BUFBJTkcARkxBR1NfTk9ORQBJTVBMX0lQUABJTVBMX09QRU5DTABJTVBMX1BMQUlOAFRZUEVfRlVOAFRZUEVfR0VORVJBTABUWVBFX01BUktFUgBUWVBFX1dSQVBQRVIATjJjdjZQb2ludF9JZkVFAE4yY3YxMVJvdGF0ZWRSZWN0RQBOMmN2NVJlY3RfSWlFRQBnZXQAc2V0AE5TdDNfXzI2dmVjdG9ySWlOU185YWxsb2NhdG9ySWlFRUVFAE5TdDNfXzIxM19fdmVjdG9yX2Jhc2VJaU5TXzlhbGxvY2F0b3JJaUVFRUUATlN0M19fMjIwX192ZWN0b3JfYmFzZV9jb21tb25JTGIxRUVFAFBOU3QzX18yNnZlY3RvcklpTlNfOWFsbG9jYXRvcklpRUVFRQBQS05TdDNfXzI2dmVjdG9ySWlOU185YWxsb2NhdG9ySWlFRUVFAGlpAHYAdmkAdmlpaQB2aWlpaQBpaWkATjEwZW1zY3JpcHRlbjN2YWxFAGlpaWkAaWlpaWkATlN0M19fMjZ2ZWN0b3JJZk5TXzlhbGxvY2F0b3JJZkVFRUUATlN0M19fMjEzX192ZWN0b3JfYmFzZUlmTlNfOWFsbG9jYXRvcklmRUVFRQBQTlN0M19fMjZ2ZWN0b3JJZk5TXzlhbGxvY2F0b3JJZkVFRUUAUEtOU3QzX18yNnZlY3RvcklmTlNfOWFsbG9jYXRvcklmRUVFRQB2aWlmAHZpaWlmAGlpaWlmAE5TdDNfXzI2dmVjdG9ySWROU185YWxsb2NhdG9ySWRFRUVFAE5TdDNfXzIxM19fdmVjdG9yX2Jhc2VJZE5TXzlhbGxvY2F0b3JJZEVFRUUAUE5TdDNfXzI2dmVjdG9ySWROU185YWxsb2NhdG9ySWRFRUVFAFBLTlN0M19fMjZ2ZWN0b3JJZE5TXzlhbGxvY2F0b3JJZEVFRUUAdmlpZAB2aWlpZABpaWlpZABOU3QzX18yNnZlY3RvcklOMmN2NlBvaW50X0lpRUVOU185YWxsb2NhdG9ySVMzX0VFRUUATlN0M19fMjEzX192ZWN0b3JfYmFzZUlOMmN2NlBvaW50X0lpRUVOU185YWxsb2NhdG9ySVMzX0VFRUUAUE5TdDNfXzI2dmVjdG9ySU4yY3Y2UG9pbnRfSWlFRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQBQS05TdDNfXzI2dmVjdG9ySU4yY3Y2UG9pbnRfSWlFRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQBOMmN2NlBvaW50X0lpRUUATlN0M19fMjZ2ZWN0b3JJTjJjdjNNYXRFTlNfOWFsbG9jYXRvcklTMl9FRUVFAE5TdDNfXzIxM19fdmVjdG9yX2Jhc2VJTjJjdjNNYXRFTlNfOWFsbG9jYXRvcklTMl9FRUVFAFBOU3QzX18yNnZlY3RvcklOMmN2M01hdEVOU185YWxsb2NhdG9ySVMyX0VFRUUAUEtOU3QzX18yNnZlY3RvcklOMmN2M01hdEVOU185YWxsb2NhdG9ySVMyX0VFRUUATjJjdjNNYXRFAE5TdDNfXzI2dmVjdG9ySU4yY3Y1UmVjdF9JaUVFTlNfOWFsbG9jYXRvcklTM19FRUVFAE5TdDNfXzIxM19fdmVjdG9yX2Jhc2VJTjJjdjVSZWN0X0lpRUVOU185YWxsb2NhdG9ySVMzX0VFRUUAUE5TdDNfXzI2dmVjdG9ySU4yY3Y1UmVjdF9JaUVFTlNfOWFsbG9jYXRvcklTM19FRUVFAFBLTlN0M19fMjZ2ZWN0b3JJTjJjdjVSZWN0X0lpRUVOU185YWxsb2NhdG9ySVMzX0VFRUUAUE4yY3YzTWF0RQBQS04yY3YzTWF0RQBOMmN2NVNpemVfSWlFRQBOMmN2N1NjYWxhcl9JZEVFAE4yY3YzVmVjSWRMaTRFRUUATjJjdjRNYXR4SWRMaTRFTGkxRUVFAGlpaWlpaQBpaWlpaWlpAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWhFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ljRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZkVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWRFRQB2aWlpaWRkAHZpaWlpZAB2aWlpaWkATjJjdjVSYW5nZUUAZGlpaQBmaWlpAGZpaWlpAGZpaWlpaQBkaWlpaWkAZGlpaWkATjJjdjEyVGVybUNyaXRlcmlhRQBkaWkATjJjdjVTaXplX0lmRUUAZmlpAE4yY3Y1UmVjdF9JZkVFAE4xM2JpbmRpbmdfdXRpbHM5TWluTWF4TG9jRQBOMTNiaW5kaW5nX3V0aWxzNkNpcmNsZUUATjJjdjdNb21lbnRzRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQBOU3QzX18yMjFfX2Jhc2ljX3N0cmluZ19jb21tb25JTGIxRUVFAGxlbmd0aAB2aWlpZGRpaQB2aWlpZGRpAHZpaWlkZAB2aWlpaWRkaQB2aWlpaWRkZGRpaQB2aWlpaWRkZGRpAHZpaWlpZGRkZAB2aWlpaWRkZAB2aWlpZGRpZGRkZAB2aWlpZGRpZGRkAHZpaWlkZGlkZAB2aWlpZGRpZAB2aWlpaWlkZGkAdmlpaWlpZGQAdmlpaWlpZAB2aWlpaWlpZGRpAHZpaWlpaWlkZAB2aWlpaWlpZAB2aWlpaWlpAHZpaWlpaWlpZGRpAHZpaWlpaWlpZGQAdmlpaWlpaWlkAHZpaWlpaWlpAHZpaWlkaWlpZAB2aWlkaWRkaWkAdmlpZGlkZGkAdmlpaWRpAHZpaWlpaWlpaQB2aWlpaWRpaWlpZGkAdmlpaWlpaWlpaWlpZAB2aWlpaWlpaWlpaWkAdmlpaWlpaWlpaWkAdmlpaWlpaWlpaQBpaWlpaWlpaQB2aWlpaWlkaQB2aWlpaWRpAHZpZGlpaQB2aWRpaQB2aWlpaWRkZGlpaWkAdmlpaWlkZGRpaWkAdmlpaWlkZGRpaQB2aWlpaWRkZGkAdmlpaWlpaWRpAGRpaWlpaWlpAGRpaWlpaWkAdmlpaWRpZGlpAHZpaWlkaWRpAGlpaWRkAHZpaWlpZGRpaWlkAHZpaWlpZGRpaWkAdmlpaWlkZGlpAHZpaWlpZGRpaWlpZAB2aWlpaWRkaWlpaQBkaWlpaWlpaWkAZGlpaWlkAHZpaWlkZGlpaQB2aWlkaQB2aWlpaWlkaWlpaQB2aWlpaWlkaWlpAHZpaWlpaWRpaQB2aWlpaWlpaWRpAHZpaQBkaWlpZGRpAE4yY3YzUHRySU5TXzVhcnVjbzEwRGljdGlvbmFyeUVFRQBOMmN2M1B0cklOU181YXJ1Y28xOERldGVjdG9yUGFyYW1ldGVyc0VFRQB2aWlpaWlpZgB2aWlmaWlpaWkAdmlpZmlpaWkAUE4yY3YxM0hPR0Rlc2NyaXB0b3JFAFBLTjJjdjEzSE9HRGVzY3JpcHRvckUAaWlpaWlpaWlkaWRpaWkATjJjdjZTdHJpbmdFAHZpaWlpaWRpaWRkaQB2aWlpaWlkaWlkZAB2aWlpaWlkaWlkAE4yY3Y1YXJ1Y28xMERpY3Rpb25hcnlFAFBOMmN2NWFydWNvMTBEaWN0aW9uYXJ5RQBQS04yY3Y1YXJ1Y28xMERpY3Rpb25hcnlFAE4yY3YyMEJhY2tncm91bmRTdWJ0cmFjdG9yRQBQTjJjdjIwQmFja2dyb3VuZFN1YnRyYWN0b3JFAFBLTjJjdjIwQmFja2dyb3VuZFN1YnRyYWN0b3JFAE4yY3YyNEJhY2tncm91bmRTdWJ0cmFjdG9yTU9HMkUAUE4yY3YyNEJhY2tncm91bmRTdWJ0cmFjdG9yTU9HMkUAUEtOMmN2MjRCYWNrZ3JvdW5kU3VidHJhY3Rvck1PRzJFAE4yY3YzUHRySU5TXzI0QmFja2dyb3VuZFN1YnRyYWN0b3JNT0cyRUVFAGlpaWRpAGlpaWQATjJjdjVDTEFIRUUAUE4yY3Y1Q0xBSEVFAFBLTjJjdjVDTEFIRUUATjJjdjNQdHJJTlNfNUNMQUhFRUVFAGlpZGkAaWlkAE4yY3Y1YXJ1Y28xOERldGVjdG9yUGFyYW1ldGVyc0UAUE4yY3Y1YXJ1Y28xOERldGVjdG9yUGFyYW1ldGVyc0UAUEtOMmN2NWFydWNvMThEZXRlY3RvclBhcmFtZXRlcnNFAFBOMmN2OUFsZ29yaXRobUUAUEtOMmN2OUFsZ29yaXRobUUATjJjdjE3Q2FzY2FkZUNsYXNzaWZpZXJFAFBOMmN2MTdDYXNjYWRlQ2xhc3NpZmllckUAUEtOMmN2MTdDYXNjYWRlQ2xhc3NpZmllckUAdmlpaWlpaWRpaWlpaQB2aWlpaWlpZGlpaWkAdmlpaWlpaWRpaWkAdmlpaWlpaWRpaQB2aWlpaWRpaWlpAHZpaWlpZGlpaQB2aWlpaWRpaQB0eXBlID09ICgoKDYpICYgKCgxIDw8IDMpIC0gMSkpICsgKCgoMiktMSkgPDwgMykpAGdlbW1JbXBsAC9ob21lL2d3eS9vcGVuY3ZfanMvb3BlbmN2L21vZHVsZXMvY29yZS9zcmMvbWF0bXVsLmNwcAB2b2lkIGN2OjpnZW1tSW1wbChjdjo6TWF0LCBjdjo6TWF0LCBkb3VibGUsIGN2OjpNYXQsIGRvdWJsZSwgY3Y6Ok1hdCwgaW50KQB0eXBlID09IEIudHlwZSgpAGdlbW0AKHR5cGUgPT0gKCgoNSkgJiAoKDEgPDwgMykgLSAxKSkgKyAoKCgxKS0xKSA8PCAzKSkgfHwgdHlwZSA9PSAoKCg2KSAmICgoMSA8PCAzKSAtIDEpKSArICgoKDEpLTEpIDw8IDMpKSB8fCB0eXBlID09ICgoKDUpICYgKCgxIDw8IDMpIC0gMSkpICsgKCgoMiktMSkgPDwgMykpIHx8IHR5cGUgPT0gKCgoNikgJiAoKDEgPDwgMykgLSAxKSkgKyAoKCgyKS0xKSA8PCAzKSkpAGFfc2l6ZS53aWR0aCA9PSBsZW4AYV9zaXplLmhlaWdodCA9PSBsZW4AQy50eXBlKCkgPT0gdHlwZQAoKChmbGFncyZHRU1NXzNfVCkgPT0gMCAmJiBDLnJvd3MgPT0gZF9zaXplLmhlaWdodCAmJiBDLmNvbHMgPT0gZF9zaXplLndpZHRoKSB8fCAoKGZsYWdzJkdFTU1fM19UKSAhPSAwICYmIEMucm93cyA9PSBkX3NpemUud2lkdGggJiYgQy5jb2xzID09IGRfc2l6ZS5oZWlnaHQpKQBzY24gPT0gbS5jb2xzIHx8IHNjbiArIDEgPT0gbS5jb2xzAHRyYW5zZm9ybQB2b2lkIGN2Ojp0cmFuc2Zvcm0oY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSwgY3Y6OklucHV0QXJyYXkpAHNjbiArIDEgPT0gbS5jb2xzAHBlcnNwZWN0aXZlVHJhbnNmb3JtAHZvaWQgY3Y6OnBlcnNwZWN0aXZlVHJhbnNmb3JtKGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGN2OjpJbnB1dEFycmF5KQB0eXBlID09IF9zcmMyLnR5cGUoKQBzY2FsZUFkZABzcmMxLnNpemUgPT0gc3JjMi5zaXplAHZvaWQgY3Y6OnNjYWxlQWRkKGN2OjpJbnB1dEFycmF5LCBkb3VibGUsIGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXkpAG11bFRyYW5zcG9zZWQAZGVsdGEuY2hhbm5lbHMoKSA9PSAxAChkZWx0YS5yb3dzID09IHNyYy5yb3dzIHx8IGRlbHRhLnJvd3MgPT0gMSkAKGRlbHRhLmNvbHMgPT0gc3JjLmNvbHMgfHwgZGVsdGEuY29scyA9PSAxKQB2b2lkIGN2OjptdWxUcmFuc3Bvc2VkKGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGJvb2wsIGN2OjpJbnB1dEFycmF5LCBkb3VibGUsIGludCkAbWF0LnR5cGUoKSA9PSB0eXBlKCkAZG90AG1hdC5zaXplID09IHNpemUAZG91YmxlIGN2OjpNYXQ6OmRvdChjdjo6SW5wdXRBcnJheSkgY29uc3QAKEQucm93cyA9PSAoKGZsYWdzICYgMSkgPT0gMCA/IEEucm93cyA6IEEuY29scykpAGN2R0VNTQAoRC5jb2xzID09ICgoZmxhZ3MgJiAyKSA9PSAwID8gQi5jb2xzIDogQi5yb3dzKSkARC50eXBlKCkgPT0gQS50eXBlKCkAc3JjW2ldLmRpbXMgPD0gMiAmJiBzcmNbaV0ucm93cyA9PSBzcmNbMF0ucm93cyAmJiBzcmNbaV0udHlwZSgpID09IHNyY1swXS50eXBlKCkAaGNvbmNhdAAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL2NvcmUvc3JjL21hdHJpeF9vcGVyYXRpb25zLmNwcAB2b2lkIGN2OjpoY29uY2F0KGNvbnN0IGN2OjpNYXQgKiwgc2l6ZV90LCBjdjo6T3V0cHV0QXJyYXkpAHZvaWQgY3Y6Omhjb25jYXQoY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSkAc3JjW2ldLmRpbXMgPD0gMiAmJiBzcmNbaV0uY29scyA9PSBzcmNbMF0uY29scyAmJiBzcmNbaV0udHlwZSgpID09IHNyY1swXS50eXBlKCkAdmNvbmNhdAB2b2lkIGN2Ojp2Y29uY2F0KGNvbnN0IGN2OjpNYXQgKiwgc2l6ZV90LCBjdjo6T3V0cHV0QXJyYXkpAHZvaWQgY3Y6OnZjb25jYXQoY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSkAX20uZGltcygpIDw9IDIAc2V0SWRlbnRpdHkAdm9pZCBjdjo6c2V0SWRlbnRpdHkoY3Y6OklucHV0T3V0cHV0QXJyYXksIGNvbnN0IGN2OjpTY2FsYXIgJikAdHJhY2UAY3Y6OlNjYWxhciBjdjo6dHJhY2UoY3Y6OklucHV0QXJyYXkpAF9zcmMuZGltcygpIDw9IDIgJiYgZXN6IDw9IDMyAHRyYW5zcG9zZQBzcmMuc2l6ZSgpID09IGRzdC5zaXplKCkgJiYgKHNyYy5jb2xzID09IDEgfHwgc3JjLnJvd3MgPT0gMSkAdm9pZCBjdjo6dHJhbnNwb3NlKGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXkpAG0uZGltcyA8PSAyICYmIG0ucm93cyA9PSBtLmNvbHMAY29tcGxldGVTeW1tAHZvaWQgY3Y6OmNvbXBsZXRlU3ltbShjdjo6SW5wdXRPdXRwdXRBcnJheSwgYm9vbCkAZGltcyA8PSAyICYmIG0uZGltcyA8PSAyICYmIHNpemUoKSA9PSBtLnNpemUoKSAmJiB0cCA9PSBtLnR5cGUoKSAmJiAoKHJvd3MgPT0gMyAmJiBjb2xzID09IDEpIHx8IChjb2xzKmNoYW5uZWxzKCkgPT0gMyAmJiByb3dzID09IDEpKQBjcm9zcwByZWR1Y2UAb3AgPT0gMCB8fCBvcCA9PSAyIHx8IG9wID09IDMgfHwgb3AgPT0gMQBVbnN1cHBvcnRlZCBjb21iaW5hdGlvbiBvZiBpbnB1dCBhbmQgb3V0cHV0IGFycmF5IGZvcm1hdHMAdm9pZCBjdjo6cmVkdWNlKGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGludCwgaW50LCBpbnQpAG1lYW4AL2hvbWUvZ3d5L29wZW5jdl9qcy9vcGVuY3YvbW9kdWxlcy9jb3JlL3NyYy9tZWFuLmNwcABjdjo6U2NhbGFyIGN2OjptZWFuKGN2OjpJbnB1dEFycmF5LCBjdjo6SW5wdXRBcnJheSkAbWVhblN0ZERldgBkc3QudHlwZSgpID09IDYgJiYgZHN0LmlzQ29udGludW91cygpICYmIChkc3QuY29scyA9PSAxIHx8IGRzdC5yb3dzID09IDEpICYmIGRjbiA+PSBjbgB2b2lkIGN2OjptZWFuU3RkRGV2KGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSwgY3Y6OklucHV0QXJyYXkpAGNvdW50Tm9uWmVybwAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL2NvcmUvc3JjL2NvdW50X25vbl96ZXJvLmNwcABpbnQgY3Y6OmNvdW50Tm9uWmVybyhjdjo6SW5wdXRBcnJheSkAdmlydHVhbCBpbnQgY3Y6Ok1hdE9wOjp0eXBlKGNvbnN0IGN2OjpNYXRFeHByICYpIGNvbnN0AC9ob21lL2d3eS9vcGVuY3ZfanMvb3BlbmN2L21vZHVsZXMvY29yZS9zcmMvbWF0cml4X2V4cHJlc3Npb25zLmNwcABOMmN2MTFNYXRPcF9Tb2x2ZUUAKCgoKF90eXBlKSAmICgoNTEyIC0gMSkgPDwgMykpID4+IDMpICsgMSkgPT0gZS5hLmNoYW5uZWxzKCkAYXNzaWduAE4yY3YxNE1hdE9wX0lkZW50aXR5RQBOMmN2MTJNYXRPcF9JbnZlcnRFAHZpcnR1YWwgdm9pZCBjdjo6TWF0T3BfR0VNTTo6dHJhbnNwb3NlKGNvbnN0IGN2OjpNYXRFeHByICYsIGN2OjpNYXRFeHByICYpIGNvbnN0AHZpcnR1YWwgdm9pZCBjdjo6TWF0T3BfR0VNTTo6bXVsdGlwbHkoY29uc3QgY3Y6Ok1hdEV4cHIgJiwgZG91YmxlLCBjdjo6TWF0RXhwciAmKSBjb25zdAB2aXJ0dWFsIHZvaWQgY3Y6Ok1hdE9wX0dFTU06OnN1YnRyYWN0KGNvbnN0IGN2OjpNYXRFeHByICYsIGNvbnN0IGN2OjpNYXRFeHByICYsIGN2OjpNYXRFeHByICYpIGNvbnN0AHZpcnR1YWwgdm9pZCBjdjo6TWF0T3BfR0VNTTo6YWRkKGNvbnN0IGN2OjpNYXRFeHByICYsIGNvbnN0IGN2OjpNYXRFeHByICYsIGN2OjpNYXRFeHByICYpIGNvbnN0AE4yY3YxME1hdE9wX0dFTU1FAHZpcnR1YWwgdm9pZCBjdjo6TWF0T3BfQWRkRXg6OnRyYW5zcG9zZShjb25zdCBjdjo6TWF0RXhwciAmLCBjdjo6TWF0RXhwciAmKSBjb25zdAB2aXJ0dWFsIHZvaWQgY3Y6Ok1hdE9wX0Jpbjo6ZGl2aWRlKGRvdWJsZSwgY29uc3QgY3Y6Ok1hdEV4cHIgJiwgY3Y6Ok1hdEV4cHIgJikgY29uc3QAdmlydHVhbCB2b2lkIGN2OjpNYXRPcF9CaW46Om11bHRpcGx5KGNvbnN0IGN2OjpNYXRFeHByICYsIGRvdWJsZSwgY3Y6Ok1hdEV4cHIgJikgY29uc3QAVW5rbm93biBvcGVyYXRpb24ATjJjdjlNYXRPcF9CaW5FAHZpcnR1YWwgdm9pZCBjdjo6TWF0T3BfQWRkRXg6OmFicyhjb25zdCBjdjo6TWF0RXhwciAmLCBjdjo6TWF0RXhwciAmKSBjb25zdAB2aXJ0dWFsIHZvaWQgY3Y6Ok1hdE9wX0FkZEV4OjpkaXZpZGUoZG91YmxlLCBjb25zdCBjdjo6TWF0RXhwciAmLCBjdjo6TWF0RXhwciAmKSBjb25zdAB2aXJ0dWFsIHZvaWQgY3Y6Ok1hdE9wX0FkZEV4OjptdWx0aXBseShjb25zdCBjdjo6TWF0RXhwciAmLCBkb3VibGUsIGN2OjpNYXRFeHByICYpIGNvbnN0AHZpcnR1YWwgdm9pZCBjdjo6TWF0T3BfQWRkRXg6OnN1YnRyYWN0KGNvbnN0IGN2OjpTY2FsYXIgJiwgY29uc3QgY3Y6Ok1hdEV4cHIgJiwgY3Y6Ok1hdEV4cHIgJikgY29uc3QAdmlydHVhbCB2b2lkIGN2OjpNYXRPcF9BZGRFeDo6YWRkKGNvbnN0IGN2OjpNYXRFeHByICYsIGNvbnN0IGN2OjpTY2FsYXIgJiwgY3Y6Ok1hdEV4cHIgJikgY29uc3QATjJjdjExTWF0T3BfQWRkRXhFAHZpcnR1YWwgdm9pZCBjdjo6TWF0T3BfVDo6dHJhbnNwb3NlKGNvbnN0IGN2OjpNYXRFeHByICYsIGN2OjpNYXRFeHByICYpIGNvbnN0AHZpcnR1YWwgdm9pZCBjdjo6TWF0T3BfVDo6bXVsdGlwbHkoY29uc3QgY3Y6Ok1hdEV4cHIgJiwgZG91YmxlLCBjdjo6TWF0RXhwciAmKSBjb25zdABOMmN2N01hdE9wX1RFAHZpcnR1YWwgdm9pZCBjdjo6TWF0T3A6OnRyYW5zcG9zZShjb25zdCBjdjo6TWF0RXhwciAmLCBjdjo6TWF0RXhwciAmKSBjb25zdAB2aXJ0dWFsIHZvaWQgY3Y6Ok1hdE9wOjphYnMoY29uc3QgY3Y6Ok1hdEV4cHIgJiwgY3Y6Ok1hdEV4cHIgJikgY29uc3QAdmlydHVhbCB2b2lkIGN2OjpNYXRPcDo6ZGl2aWRlKGRvdWJsZSwgY29uc3QgY3Y6Ok1hdEV4cHIgJiwgY3Y6Ok1hdEV4cHIgJikgY29uc3QAdmlydHVhbCB2b2lkIGN2OjpNYXRPcDo6ZGl2aWRlKGNvbnN0IGN2OjpNYXRFeHByICYsIGNvbnN0IGN2OjpNYXRFeHByICYsIGN2OjpNYXRFeHByICYsIGRvdWJsZSkgY29uc3QAdmlydHVhbCB2b2lkIGN2OjpNYXRPcDo6bXVsdGlwbHkoY29uc3QgY3Y6Ok1hdEV4cHIgJiwgZG91YmxlLCBjdjo6TWF0RXhwciAmKSBjb25zdAB2aXJ0dWFsIHZvaWQgY3Y6Ok1hdE9wOjptdWx0aXBseShjb25zdCBjdjo6TWF0RXhwciAmLCBjb25zdCBjdjo6TWF0RXhwciAmLCBjdjo6TWF0RXhwciAmLCBkb3VibGUpIGNvbnN0AHZpcnR1YWwgdm9pZCBjdjo6TWF0T3A6OnN1YnRyYWN0KGNvbnN0IGN2OjpTY2FsYXIgJiwgY29uc3QgY3Y6Ok1hdEV4cHIgJiwgY3Y6Ok1hdEV4cHIgJikgY29uc3QAdmlydHVhbCB2b2lkIGN2OjpNYXRPcDo6c3VidHJhY3QoY29uc3QgY3Y6Ok1hdEV4cHIgJiwgY29uc3QgY3Y6Ok1hdEV4cHIgJiwgY3Y6Ok1hdEV4cHIgJikgY29uc3QAdmlydHVhbCB2b2lkIGN2OjpNYXRPcDo6YWRkKGNvbnN0IGN2OjpNYXRFeHByICYsIGNvbnN0IGN2OjpTY2FsYXIgJiwgY3Y6Ok1hdEV4cHIgJikgY29uc3QAdmlydHVhbCB2b2lkIGN2OjpNYXRPcDo6YWRkKGNvbnN0IGN2OjpNYXRFeHByICYsIGNvbnN0IGN2OjpNYXRFeHByICYsIGN2OjpNYXRFeHByICYpIGNvbnN0AE4yY3Y1TWF0T3BFAE4yY3Y5TWF0T3BfQ21wRQB2aXJ0dWFsIHZvaWQgY3Y6Ok1hdE9wX0luaXRpYWxpemVyOjptdWx0aXBseShjb25zdCBjdjo6TWF0RXhwciAmLCBkb3VibGUsIGN2OjpNYXRFeHByICYpIGNvbnN0AEludmFsaWQgbWF0cml4IGluaXRpYWxpemVyIHR5cGUATjJjdjE3TWF0T3BfSW5pdGlhbGl6ZXJFAGludCBjdjo6TWF0RXhwcjo6dHlwZSgpIGNvbnN0AGN2OjpNYXRFeHByIGN2OjpNYXQ6OnQoKSBjb25zdABjdjo6TWF0RXhwciBjdjo6TWF0OjppbnYoaW50KSBjb25zdABjdjo6TWF0RXhwciBjdjo6TWF0OjptdWwoY3Y6OklucHV0QXJyYXksIGRvdWJsZSkgY29uc3QAc3RhdGljIGN2OjpNYXRFeHByIGN2OjpNYXQ6Onplcm9zKGludCwgaW50LCBpbnQpAHN0YXRpYyBjdjo6TWF0RXhwciBjdjo6TWF0Ojp6ZXJvcyhjdjo6U2l6ZSwgaW50KQBzdGF0aWMgY3Y6Ok1hdEV4cHIgY3Y6Ok1hdDo6b25lcyhpbnQsIGludCwgaW50KQBzdGF0aWMgY3Y6Ok1hdEV4cHIgY3Y6Ok1hdDo6b25lcyhjdjo6U2l6ZSwgaW50KQBzdGF0aWMgY3Y6Ok1hdEV4cHIgY3Y6Ok1hdDo6ZXllKGludCwgaW50LCBpbnQpAHN0YXRpYyBjdjo6TWF0RXhwciBjdjo6TWF0OjpleWUoY3Y6OlNpemUsIGludCkAY29udmVydEFuZFVucm9sbFNjYWxhcgAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL2NvcmUvc3JjL2FyaXRobS5jcHAAVGhlIG9wZXJhdGlvbiBpcyBuZWl0aGVyICdhcnJheSBvcCBhcnJheScgKHdoZXJlIGFycmF5cyBoYXZlIHRoZSBzYW1lIHNpemUgYW5kIHR5cGUpLCBub3IgJ2FycmF5IG9wIHNjYWxhcicsIG5vciAnc2NhbGFyIG9wIGFycmF5JwBiaW5hcnlfb3AAcHNyYzEtPnNhbWVTaXplKCpwc3JjMikgJiYgdHlwZTEgPT0gdHlwZTIAKG10eXBlID09IDAgfHwgbXR5cGUgPT0gMSkgJiYgX21hc2suc2FtZVNpemUoKnBzcmMxKQB2b2lkIGN2OjpiaXR3aXNlX2FuZChjdjo6SW5wdXRBcnJheSwgY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSwgY3Y6OklucHV0QXJyYXkpAHZvaWQgY3Y6OmJpdHdpc2Vfb3IoY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGN2OjpJbnB1dEFycmF5KQB2b2lkIGN2OjpiaXR3aXNlX3hvcihjdjo6SW5wdXRBcnJheSwgY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSwgY3Y6OklucHV0QXJyYXkpAHZvaWQgY3Y6OmJpdHdpc2Vfbm90KGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGN2OjpJbnB1dEFycmF5KQB2b2lkIGN2OjptYXgoY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXkpAHZvaWQgY3Y6Om1pbihjdjo6SW5wdXRBcnJheSwgY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSkAdm9pZCBjdjo6bWF4KGNvbnN0IGN2OjpNYXQgJiwgY29uc3QgY3Y6Ok1hdCAmLCBjdjo6TWF0ICYpAHZvaWQgY3Y6Om1pbihjb25zdCBjdjo6TWF0ICYsIGNvbnN0IGN2OjpNYXQgJiwgY3Y6Ok1hdCAmKQBUaGUgb3BlcmF0aW9uIGlzIG5laXRoZXIgJ2FycmF5IG9wIGFycmF5JyAod2hlcmUgYXJyYXlzIGhhdmUgdGhlIHNhbWUgc2l6ZSBhbmQgdGhlIHNhbWUgbnVtYmVyIG9mIGNoYW5uZWxzKSwgbm9yICdhcnJheSBvcCBzY2FsYXInLCBub3IgJ3NjYWxhciBvcCBhcnJheScAYXJpdGhtX29wAHR5cGUyID09IDYgJiYgKHN6Mi5oZWlnaHQgPT0gMSB8fCBzejIuaGVpZ2h0ID09IDQpAFdoZW4gdGhlIGlucHV0IGFycmF5cyBpbiBhZGQvc3VidHJhY3QvbXVsdGlwbHkvZGl2aWRlIGZ1bmN0aW9ucyBoYXZlIGRpZmZlcmVudCB0eXBlcywgdGhlIG91dHB1dCBhcnJheSB0eXBlIG11c3QgYmUgZXhwbGljaXRseSBzcGVjaWZpZWQAKG10eXBlID09ICgoKDApICYgKCgxIDw8IDMpIC0gMSkpICsgKCgoMSktMSkgPDwgMykpIHx8IG10eXBlID09ICgoKDEpICYgKCgxIDw8IDMpIC0gMSkpICsgKCgoMSktMSkgPDwgMykpKSAmJiBfbWFzay5zYW1lU2l6ZSgqcHNyYzEpAHZvaWQgY3Y6OmFkZChjdjo6SW5wdXRBcnJheSwgY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSwgY3Y6OklucHV0QXJyYXksIGludCkAdm9pZCBjdjo6c3VidHJhY3QoY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBpbnQpAHZvaWQgY3Y6OmFic2RpZmYoY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXkpAHZvaWQgY3Y6Om11bHRpcGx5KGN2OjpJbnB1dEFycmF5LCBjdjo6SW5wdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5LCBkb3VibGUsIGludCkAdm9pZCBjdjo6ZGl2aWRlKGN2OjpJbnB1dEFycmF5LCBjdjo6SW5wdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5LCBkb3VibGUsIGludCkAdm9pZCBjdjo6ZGl2aWRlKGRvdWJsZSwgY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSwgaW50KQB2b2lkIGN2OjphZGRXZWlnaHRlZChjdjo6SW5wdXRBcnJheSwgZG91YmxlLCBjdjo6SW5wdXRBcnJheSwgZG91YmxlLCBkb3VibGUsIGN2OjpPdXRwdXRBcnJheSwgaW50KQBvcCA9PSBDTVBfTFQgfHwgb3AgPT0gQ01QX0xFIHx8IG9wID09IENNUF9FUSB8fCBvcCA9PSBDTVBfTkUgfHwgb3AgPT0gQ01QX0dFIHx8IG9wID09IENNUF9HVABjb21wYXJlAFRoZSBvcGVyYXRpb24gaXMgbmVpdGhlciAnYXJyYXkgb3AgYXJyYXknICh3aGVyZSBhcnJheXMgaGF2ZSB0aGUgc2FtZSBzaXplIGFuZCB0aGUgc2FtZSB0eXBlKSwgbm9yICdhcnJheSBvcCBzY2FsYXInLCBub3IgJ3NjYWxhciBvcCBhcnJheScAdm9pZCBjdjo6Y29tcGFyZShjdjo6SW5wdXRBcnJheSwgY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSwgaW50KQBUaGUgbG93ZXIgYm91bmRhcnkgaXMgbmVpdGhlciBhbiBhcnJheSBvZiB0aGUgc2FtZSBzaXplIGFuZCBzYW1lIHR5cGUgYXMgc3JjLCBub3IgYSBzY2FsYXIAaW5SYW5nZQBUaGUgdXBwZXIgYm91bmRhcnkgaXMgbmVpdGhlciBhbiBhcnJheSBvZiB0aGUgc2FtZSBzaXplIGFuZCBzYW1lIHR5cGUgYXMgc3JjLCBub3IgYSBzY2FsYXIAbGJTY2FsYXIgPT0gdWJTY2FsYXIAbGIudHlwZSgpID09IHViLnR5cGUoKQB2b2lkIGN2OjppblJhbmdlKGN2OjpJbnB1dEFycmF5LCBjdjo6SW5wdXRBcnJheSwgY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSkAc3JjMS5zaXplID09IGRzdC5zaXplICYmIHNyYzEuY2hhbm5lbHMoKSA9PSBkc3QuY2hhbm5lbHMoKQBjdlN1YgBpIDwgMABnZXRNYXRfAC9ob21lL2d3eS9vcGVuY3ZfanMvb3BlbmN2L21vZHVsZXMvY29yZS9zcmMvbWF0cml4X3dyYXAuY3BwADAgPD0gaSAmJiBpIDwgKGludCl2di5zaXplKCkAMCA8PSBpICYmIGkgPCAoaW50KXYuc2l6ZSgpADAgPD0gaSAmJiBpIDwgc3ouaGVpZ2h0AFlvdSBzaG91bGQgZXhwbGljaXRseSBjYWxsIG1hcEhvc3QvdW5tYXBIb3N0IG1ldGhvZHMgZm9yIG9nbDo6QnVmZmVyIG9iamVjdABZb3Ugc2hvdWxkIGV4cGxpY2l0bHkgY2FsbCBkb3dubG9hZCBtZXRob2QgZm9yIGN1ZGE6OkdwdU1hdCBvYmplY3QAVW5rbm93bi91bnN1cHBvcnRlZCBhcnJheSB0eXBlAChmbGFncyAmIEZJWEVEX1RZUEUpICE9IDAAaSA8IChpbnQpdnYuc2l6ZSgpAGkgPCBzei5oZWlnaHQAZ2V0TWF0VmVjdG9yAHNpemVuZABkaW1zAHRvdGFsAGVtcHR5AChzaXplX3QpaSA8IHZ2LnNpemUoKQBpc0NvbnRpbnVvdXMAaSA+IDAgJiYgaSA8IHN6LmhlaWdodABnZXRNYXRSZWYAayA9PSBTVERfVkVDVE9SX01BVCB8fCBrID09IFNURF9B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UmVmAGsgPT0gU1REX1ZFQ1RPUl9VTUFUAGNoZWNrU2NhbGFyKHZhbHVlLCB0eXBlKCksIGFyci5raW5kKCksIF9JbnB1dEFycmF5OjpDVURBX0dQVV9NQVQpAFRoZSBsaWJyYXJ5IGlzIGNvbXBpbGVkIHdpdGhvdXQgT3BlbkdMIHN1cHBvcnQAdGhyb3dfbm9fb2dsAC9ob21lL2d3eS9vcGVuY3ZfanMvb3BlbmN2L21vZHVsZXMvY29yZS9zcmMvb3BlbmdsLmNwcAAAAQECAQICAwECAgMCAwMEAQICAwIDAwQCAwMEAwQEBQECAgMCAwMEAgMDBAMEBAUCAwMEAwQEBQMEBAUEBQUGAQICAwIDAwQCAwMEAwQEBQIDAwQDBAQFAwQEBQQFBQYCAwMEAwQEBQMEBAUEBQUGAwQEBQQFBQYEBQUGBQYGBwECAgMCAwMEAgMDBAMEBAUCAwMEAwQEBQMEBAUEBQUGAgMDBAMEBAUDBAQFBAUFBgMEBAUEBQUGBAUFBgUGBgcCAwMEAwQEBQMEBAUEBQUGAwQEBQQFBQYEBQUGBQYGBwMEBAUEBQUGBAUFBgUGBgcEBQUGBQYGBwUGBgcGBwcIAAEBAQEBAQEBAQEBAQEBAQECAgICAgICAgICAgICAgIBAgICAgICAgICAgICAgICAQICAgICAgICAgICAgICAgECAgICAgICAgICAgICAgIBAgICAgICAgICAgICAgICAQICAgICAgICAgICAgICAgECAgICAgICAgICAgICAgIBAgICAgICAgICAgICAgICAQICAgICAgICAgICAgICAgECAgICAgICAgICAgICAgIBAgICAgICAgICAgICAgICAQICAgICAgICAgICAgICAgECAgICAgICAgICAgICAgIBAgICAgICAgICAgICAgICAQICAgICAgICAgICAgICAgABAQEBAgICAQICAgECAgIBAgICAgMDAwIDAwMCAwMDAQICAgIDAwMCAwMDAgMDAwECAgICAwMDAgMDAwIDAwMBAgICAgMDAwIDAwMCAwMDAgMDAwMEBAQDBAQEAwQEBAIDAwMDBAQEAwQEBAMEBAQCAwMDAwQEBAMEBAQDBAQEAQICAgIDAwMCAwMDAgMDAwIDAwMDBAQEAwQEBAMEBAQCAwMDAwQEBAMEBAQDBAQEAgMDAwMEBAQDBAQEAwQEBAECAgICAwMDAgMDAwIDAwMCAwMDAwQEBAMEBAQDBAQEAgMDAwMEBAQDBAQEAwQEBAIDAwMDBAQEAwQEBAMEBARub3JtVHlwZSA9PSBOT1JNX0lORiB8fCBub3JtVHlwZSA9PSBOT1JNX0wxIHx8IG5vcm1UeXBlID09IE5PUk1fTDIgfHwgbm9ybVR5cGUgPT0gTk9STV9MMlNRUiB8fCAoKG5vcm1UeXBlID09IE5PUk1fSEFNTUlORyB8fCBub3JtVHlwZSA9PSBOT1JNX0hBTU1JTkcyKSAmJiBfc3JjLnR5cGUoKSA9PSAwKQBub3JtAC9ob21lL2d3eS9vcGVuY3ZfanMvb3BlbmN2L21vZHVsZXMvY29yZS9zcmMvbm9ybS5jcHAAbWFzay5lbXB0eSgpIHx8IG1hc2sudHlwZSgpID09IDAAZG91YmxlIGN2Ojpub3JtKGN2OjpJbnB1dEFycmF5LCBpbnQsIGN2OjpJbnB1dEFycmF5KQBfc3JjMS5zYW1lU2l6ZShfc3JjMikgJiYgX3NyYzEudHlwZSgpID09IF9zcmMyLnR5cGUoKQBub3JtVHlwZSA9PSBOT1JNX0lORiB8fCBub3JtVHlwZSA9PSBOT1JNX0wxIHx8IG5vcm1UeXBlID09IE5PUk1fTDIgfHwgbm9ybVR5cGUgPT0gTk9STV9MMlNRUiB8fCAoKG5vcm1UeXBlID09IE5PUk1fSEFNTUlORyB8fCBub3JtVHlwZSA9PSBOT1JNX0hBTU1JTkcyKSAmJiBzcmMxLnR5cGUoKSA9PSAwKQBkb3VibGUgY3Y6Om5vcm0oY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBpbnQsIGN2OjpJbnB1dEFycmF5KQAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL2NvcmUvc3JjL2NvcHkuY3BwAGRzdC51ICE9IDBMAGRpbXMgPj0gMCAmJiBkaW1zIDwgMzIAdm9pZCBjdjo6TWF0Ojpjb3B5VG8oY3Y6Ok91dHB1dEFycmF5KSBjb25zdABtYXNrLmRlcHRoKCkgPT0gMCAmJiAobWNuID09IDEgfHwgbWNuID09IGNuKQBzaXplKCkgPT0gbWFzay5zaXplKCkAc3ogPD0gc2l6ZW9mKHNjYWxhcikAY3Y6Ok1hdCAmY3Y6Ok1hdDo6b3BlcmF0b3I9KGNvbnN0IGN2OjpTY2FsYXIgJikAdm9pZCBjdjo6TWF0Ojpjb3B5VG8oY3Y6Ok91dHB1dEFycmF5LCBjdjo6SW5wdXRBcnJheSkgY29uc3QAY2hlY2tTY2FsYXIodmFsdWUsIHR5cGUoKSwgX3ZhbHVlLmtpbmQoKSwgX0lucHV0QXJyYXk6Ok1BVCApAHNldFRvAG1hc2suZW1wdHkoKSB8fCAobWFzay5kZXB0aCgpID09IDAgJiYgKG1jbiA9PSAxIHx8IG1jbiA9PSBjbikgJiYgc2l6ZSA9PSBtYXNrLnNpemUpAGN2OjpNYXQgJmN2OjpNYXQ6OnNldFRvKGN2OjpJbnB1dEFycmF5LCBjdjo6SW5wdXRBcnJheSkAX3NyYy5kaW1zKCkgPD0gMgBmbGlwAHZvaWQgY3Y6OmZsaXAoY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSwgaW50KQBfc3JjLmdldE9iaigpICE9IF9kc3QuZ2V0T2JqKCkAcmVwZWF0AG55ID4gMCAmJiBueCA+IDAAdm9pZCBjdjo6cmVwZWF0KGN2OjpJbnB1dEFycmF5LCBpbnQsIGludCwgY3Y6Ok91dHB1dEFycmF5KQBib3JkZXJJbnRlcnBvbGF0ZQBVbmtub3duL3Vuc3VwcG9ydGVkIGJvcmRlciB0eXBlAHRvcCA+PSAwICYmIGJvdHRvbSA+PSAwICYmIGxlZnQgPj0gMCAmJiByaWdodCA+PSAwAGNvcHlNYWtlQm9yZGVyAHZhbHVlWzBdID09IHZhbHVlWzFdICYmIHZhbHVlWzBdID09IHZhbHVlWzJdICYmIHZhbHVlWzBdID09IHZhbHVlWzNdAHZvaWQgY3Y6OmNvcHlNYWtlQm9yZGVyKGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGludCwgaW50LCBpbnQsIGludCwgaW50LCBjb25zdCBjdjo6U2NhbGFyICYpAG1hc2thcnIgPT0gMABjdkNvcHkAc3JjLmRlcHRoKCkgPT0gZHN0LmRlcHRoKCkgJiYgc3JjLnNpemUgPT0gZHN0LnNpemUAKGNvaTEgIT0gMCB8fCBzcmMuY2hhbm5lbHMoKSA9PSAxKSAmJiAoY29pMiAhPSAwIHx8IGRzdC5jaGFubmVscygpID09IDEpAHNyYy5jaGFubmVscygpID09IGRzdC5jaGFubmVscygpAGljdkluaXRNZW1TdG9yYWdlAC9ob21lL2d3eS9vcGVuY3ZfanMvb3BlbmN2L21vZHVsZXMvY29yZS9zcmMvZGF0YXN0cnVjdHMuY3BwAGN2Q3JlYXRlQ2hpbGRNZW1TdG9yYWdlAGN2UmVsZWFzZU1lbVN0b3JhZ2UAY3ZDbGVhck1lbVN0b3JhZ2UAY3ZTYXZlTWVtU3RvcmFnZVBvcwBjdlJlc3RvcmVNZW1TdG9yYWdlUG9zAGN2TWVtU3RvcmFnZUFsbG9jAFRvbyBsYXJnZSBtZW1vcnkgYmxvY2sgaXMgcmVxdWVzdGVkAHJlcXVlc3RlZCBzaXplIGlzIG5lZ2F0aXZlIG9yIHRvbyBiaWcAaWN2R29OZXh0TWVtQmxvY2sAY3ZDcmVhdGVTZXEAU3BlY2lmaWVkIGVsZW1lbnQgc2l6ZSBkb2Vzbid0IG1hdGNoIHRvIHRoZSBzaXplIG9mIHRoZSBzcGVjaWZpZWQgZWxlbWVudCB0eXBlICh0cnkgdG8gdXNlIDAgZm9yIGVsZW1lbnQgdHlwZSkAY3ZTZXRTZXFCbG9ja1NpemUAU3RvcmFnZSBibG9jayBzaXplIGlzIHRvbyBzbWFsbCB0byBmaXQgdGhlIHNlcXVlbmNlIGVsZW1lbnRzAAAB/wL///8D/////////wT///////////////////8FY3ZDdnRTZXFUb0FycmF5AGN2U3RhcnRSZWFkU2VxAGN2U2V0U2VxUmVhZGVyUG9zAGN2TWFrZVNlcUhlYWRlckZvckFycmF5AEVsZW1lbnQgc2l6ZSBkb2Vzbid0IG1hdGNoIHRvIHRoZSBzaXplIG9mIHByZWRlZmluZWQgZWxlbWVudCB0eXBlICh0cnkgdG8gdXNlIDAgZm9yIHNlcXVlbmNlIGVsZW1lbnQgdHlwZSkAY3ZTdGFydEFwcGVuZFRvU2VxAGN2U3RhcnRXcml0ZVNlcQBjdkZsdXNoU2VxV3JpdGVyAGN2RW5kV3JpdGVTZXEAY3ZDcmVhdGVTZXFCbG9jawBpY3ZHcm93U2VxAFRoZSBzZXF1ZW5jZSBoYXMgTlVMTCBzdG9yYWdlIHBvaW50ZXIAY3ZDaGFuZ2VTZXFCbG9jawBjdkdldFNlcVJlYWRlclBvcwBjdlNlcVB1c2gAY3ZTZXFQb3AATlVMTCBzZXF1ZW5jZSBwb2ludGVyAGN2U2VxUHVzaE11bHRpAG51bWJlciBvZiByZW1vdmVkIGVsZW1lbnRzIGlzIG5lZ2F0aXZlAGN2U2VxUG9wTXVsdGkAY3ZDbGVhclNlcQBJbnZhbGlkIHNlcXVlbmNlIGhlYWRlcgBjdlNlcVNsaWNlAEJhZCBzZXF1ZW5jZSBzbGljZQBCYWQgaW5wdXQgc2VxdWVuY2UAY3ZTZXFTb3J0AE51bGwgY29tcGFyZSBmdW5jdGlvbgBjdkNyZWF0ZVNldABjdlNldEFkZABjdkNyZWF0ZUdyYXBoAGN2R3JhcGhBZGRWdHgAY3ZGaW5kR3JhcGhFZGdlQnlQdHIAZ3JhcGggcG9pbnRlciBpcyBOVUxMAGN2R3JhcGhBZGRFZGdlQnlQdHIAdmVydGV4IHBvaW50ZXJzIGNvaW5zaWRlIChvciBzZXQgdG8gTlVMTCkASW52YWxpZCBncmFwaCBwb2ludGVyAGN2Q2xvbmVHcmFwaABjdlRyZWVUb05vZGVTZXEAY3ZJbml0VHJlZU5vZGVJdGVyYXRvcgBjdk5leHRUcmVlTm9kZQBjdkluc2VydE5vZGVJbnRvVHJlZQBtYXBjb3VudCA9PSAwAH5VTWF0RGF0YQAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL2NvcmUvc3JjL3VtYXRyaXguY3BwAHVzYWdlX2NvdW50ID09IDAAbG9jawBwdHIAZ2V0UmVmAC9ob21lL2d3eS9vcGVuY3ZfanMvb3BlbmN2L21vZHVsZXMvY29yZS9pbmNsdWRlL29wZW5jdjIvY29yZS91dGlsaXR5LmhwcABOMmN2N1RMU0RhdGFJTlNfMThVTWF0RGF0YUF1dG9Mb2NrZXJFRUUAdXNhZ2VfY291bnQgPT0gMQByZWxlYXNlAGRhdGEgPT0gZGF0YXN0YXJ0AGdldFVNYXQAYWxsb2NhdGVkAFVNYXQAY2hhbm5lbHMoKSA9PSAoKCgoZHR5cGUpICYgKCg1MTIgLSAxKSA8PCAzKSkgPj4gMykgKyAxKQBjb3B5VG8AZHN0LnUAdS0+ZGF0YSAhPSAwICYmICJFcnJvciBtYXBwaW5nIG9mIFVNYXQgdG8gaG9zdCBtZW1vcnkuIgBnZXRNYXQAdm9pZCBjdjo6VU1hdDo6Y29udmVydFRvKGN2OjpPdXRwdXRBcnJheSwgaW50LCBkb3VibGUsIGRvdWJsZSkgY29uc3QAdm9pZCBjdjo6VU1hdDo6Y29weVRvKGN2OjpPdXRwdXRBcnJheSkgY29uc3QAY3Y6OlVNYXQgJmN2OjpVTWF0OjpzZXRUbyhjdjo6SW5wdXRBcnJheSwgY3Y6OklucHV0QXJyYXkpAF9hcnJheXMgJiYgKF9wdHJzIHx8IF9wbGFuZXMpAC9ob21lL2d3eS9vcGVuY3ZfanMvb3BlbmN2L21vZHVsZXMvY29yZS9zcmMvbWF0cml4X2l0ZXJhdG9yLmNwcABuYXJyYXlzIDw9IDEwMDAAYXJyYXlzW2ldICE9IDAAQS5zaXplID09IGFycmF5c1tpMF0tPnNpemUAQS5zdGVwW2QtMV0gPT0gQS5lbGVtU2l6ZSgpAGNvbnZlcnRUbwAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL2NvcmUvc3JjL2NvbnZlcnQuY3BwAHZvaWQgY3Y6Ok1hdDo6Y29udmVydFRvKGN2OjpPdXRwdXRBcnJheSwgaW50LCBkb3VibGUsIGRvdWJsZSkgY29uc3QATjJjdjI1RHVtbXlCdWZmZXJQb29sQ29udHJvbGxlckUATjJjdjIwQnVmZmVyUG9vbENvbnRyb2xsZXJFAHN6W2ldIDw9IChzaXplX3QpMHg3ZmZmZmZmZgBjb3B5AC9ob21lL2d3eS9vcGVuY3ZfanMvb3BlbmN2L21vZHVsZXMvY29yZS9zcmMvbWF0cml4LmNwcAB1LT51cmVmY291bnQgPT0gMABkZWFsbG9jYXRlAHUtPnJlZmNvdW50ID09IDAAdG90YWwgPD0gc3RlcFtpXQBhbGxvY2F0ZQBOMmN2MTVTdGRNYXRBbGxvY2F0b3JFADAgPD0gX2RpbXMgJiYgX2RpbXMgPD0gMzIAc2V0U2l6ZQBzID49IDAAVGhlIHRvdGFsIG1hdHJpeCBzaXplIGRvZXMgbm90IGZpdCB0byAic2l6ZV90IiB0eXBlAFN0ZXAgbXVzdCBiZSBhIG11bHRpcGxlIG9mIGVzejEAdmlydHVhbCB2b2lkIGN2OjpNYXRBbGxvY2F0b3I6OmNvcHkoY3Y6OlVNYXREYXRhICosIGN2OjpVTWF0RGF0YSAqLCBpbnQsIGNvbnN0IHNpemVfdCAqLCBjb25zdCBzaXplX3QgKiwgY29uc3Qgc2l6ZV90ICosIGNvbnN0IHNpemVfdCAqLCBjb25zdCBzaXplX3QgKiwgYm9vbCkgY29uc3QAdXBsb2FkAGRvd25sb2FkAE4yY3YxMk1hdEFsbG9jYXRvckUAMCA8PSBkICYmIGQgPD0gMzIgJiYgX3NpemVzAHUgIT0gMABzdGVwW2RpbXMtMV0gPT0gKHNpemVfdCkoKCgoKGZsYWdzKSAmICgoNTEyIC0gMSkgPDwgMykpID4+IDMpICsgMSkgPDwgKCgoKHNpemVvZihzaXplX3QpLzQrMSkqMTYzODR8MHgzYTUwKSA+PiAoKGZsYWdzKSAmICgoMSA8PCAzKSAtIDEpKSoyKSAmIDMpKQBtLmRpbXMgPj0gMgAwIDw9IF9yb3dSYW5nZS5zdGFydCAmJiBfcm93UmFuZ2Uuc3RhcnQgPD0gX3Jvd1JhbmdlLmVuZCAmJiBfcm93UmFuZ2UuZW5kIDw9IG0ucm93cwAwIDw9IF9jb2xSYW5nZS5zdGFydCAmJiBfY29sUmFuZ2Uuc3RhcnQgPD0gX2NvbFJhbmdlLmVuZCAmJiBfY29sUmFuZ2UuZW5kIDw9IG0uY29scwByYW5nZXMAciA9PSBSYW5nZTo6YWxsKCkgfHwgKDAgPD0gci5zdGFydCAmJiByLnN0YXJ0IDwgci5lbmQgJiYgci5lbmQgPD0gbS5zaXplW2ldKQAwIDw9IHJvaS54ICYmIDAgPD0gcm9pLndpZHRoICYmIHJvaS54ICsgcm9pLndpZHRoIDw9IG0uY29scyAmJiAwIDw9IHJvaS55ICYmIDAgPD0gcm9pLmhlaWdodCAmJiByb2kueSArIHJvaS5oZWlnaHQgPD0gbS5yb3dzAGRpbXMgPD0gMgBkaWFnAChpbnQpbmVsZW1zID49IDAAcmVzZXJ2ZQBQdXNoZWQgdmVjdG9yIGxlbmd0aCBpcyBub3QgZXF1YWwgdG8gbWF0cml4IHJvdyBsZW5ndGgAcHVzaF9iYWNrAFB1c2hlZCB2ZWN0b3IgdHlwZSBpcyBub3QgdGhlIHNhbWUgYXMgbWF0cml4IHR5cGUAZGltcyA8PSAyICYmIHN0ZXBbMF0gPiAwAGxvY2F0ZVJPSQBhZGp1c3RST0kAcmVzaGFwZQBfY24gPj0gMCAmJiBfbmV3bmRpbXMgPiAwICYmIF9uZXduZGltcyA8PSAzMiAmJiBfbmV3c3oAX2NuIDw9IDUxMgBfbmV3c3pbaV0gPj0gMABDb3B5IGRpbWVuc2lvbiAod2hpY2ggaGFzIHplcm8gc2l6ZSkgaXMgbm90IHByZXNlbnQgaW4gc291cmNlIG1hdHJpeABSZXF1ZXN0ZWQgYW5kIHNvdXJjZSBtYXRyaWNlcyBoYXZlIGRpZmZlcmVudCBjb3VudCBvZiBlbGVtZW50cwBSZXNoYXBpbmcgb2Ygbi1kaW1lbnNpb25hbCBub24tY29udGludW91cyBtYXRyaWNlcyBpcyBub3Qgc3VwcG9ydGVkIHlldABtdiAmJiBuID4gMABtZXJnZQAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL2NvcmUvc3JjL21lcmdlLmNwcABtdltpXS5zaXplID09IG12WzBdLnNpemUgJiYgbXZbaV0uZGVwdGgoKSA9PSBkZXB0aAAwIDwgY24gJiYgY24gPD0gNTEyAHZvaWQgY3Y6Om1lcmdlKGNvbnN0IGN2OjpNYXQgKiwgc2l6ZV90LCBjdjo6T3V0cHV0QXJyYXkpAHZvaWQgY3Y6Om1lcmdlKGN2OjpJbnB1dEFycmF5T2ZBcnJheXMsIGN2OjpPdXRwdXRBcnJheSkAKGNuID09IDEgJiYgKF9tYXNrLmVtcHR5KCkgfHwgX21hc2sudHlwZSgpID09IDApKSB8fCAoY24gPiAxICYmIF9tYXNrLmVtcHR5KCkgJiYgIW1pbklkeCAmJiAhbWF4SWR4KQBtaW5NYXhJZHgAL2hvbWUvZ3d5L29wZW5jdl9qcy9vcGVuY3YvbW9kdWxlcy9jb3JlL3NyYy9taW5tYXguY3BwAHZvaWQgY3Y6Om1pbk1heElkeChjdjo6SW5wdXRBcnJheSwgZG91YmxlICosIGRvdWJsZSAqLCBpbnQgKiwgaW50ICosIGN2OjpJbnB1dEFycmF5KQBfaW1nLmRpbXMoKSA8PSAyAG1pbk1heExvYwB2b2lkIGN2OjptaW5NYXhMb2MoY3Y6OklucHV0QXJyYXksIGRvdWJsZSAqLCBkb3VibGUgKiwgY3Y6OlBvaW50ICosIGN2OjpQb2ludCAqLCBjdjo6SW5wdXRBcnJheSkATjJjdjlFeGNlcHRpb25FAGtleV8gPT0gLTEAflRMU0RhdGFDb250YWluZXIAL2hvbWUvZ3d5L29wZW5jdl9qcy9vcGVuY3YvbW9kdWxlcy9jb3JlL3NyYy9zeXN0ZW0uY3BwAHVua25vd24gZnVuY3Rpb24AT3BlbkNWKCVzKSBFcnJvcjogJXMgKCVzKSBpbiAlcywgZmlsZSAlcywgbGluZSAlZAAzLjQuMS1kZXYAJXMKAHN0YXR1cwBlcnJvcgBVbmtub3duICVzIGNvZGUgJWQAT3BlbkdMIEFQSSBjYWxsAE5vIE9wZW5HTCBzdXBwb3J0AEdwdSBBUEkgY2FsbABObyBDVURBIHN1cHBvcnQAQXNzZXJ0aW9uIGZhaWxlZABNZW1vcnkgYmxvY2sgaGFzIGJlZW4gY29ycnVwdGVkAFRoZSBmdW5jdGlvbi9mZWF0dXJlIGlzIG5vdCBpbXBsZW1lbnRlZABQYXJzaW5nIGVycm9yAEJhZCB0eXBlIG9mIG1hc2sgYXJndW1lbnQAQmFkIHBhcmFtZXRlciBvZiB0eXBlIEN2UG9pbnQAQmFkIGZsYWcgKHBhcmFtZXRlciBvciBzdHJ1Y3R1cmUgZmllbGQpAEJhZCBudW1iZXIgb2YgY2hhbm5lbHMASW5wdXQgQ09JIGlzIG5vdCBzdXBwb3J0ZWQAVW5zdXBwb3J0ZWQgZm9ybWF0IG9yIGNvbWJpbmF0aW9uIG9mIGZvcm1hdHMAT25lIG9mIGFyZ3VtZW50cycgdmFsdWVzIGlzIG91dCBvZiByYW5nZQBTaXplcyBvZiBpbnB1dCBhcmd1bWVudHMgZG8gbm90IG1hdGNoAEZvcm1hdHMgb2YgaW5wdXQgYXJndW1lbnRzIGRvIG5vdCBtYXRjaABJbnB1dCBpbWFnZSBkZXB0aCBpcyBub3Qgc3VwcG9ydGVkIGJ5IGZ1bmN0aW9uAFJlcXVlc3RlZCBvYmplY3Qgd2FzIG5vdCBmb3VuZABJbnBsYWNlIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkAEltYWdlIHN0ZXAgaXMgd3JvbmcARGl2aXNpb24gYnkgemVybyBvY2N1cnJlZABOdWxsIHBvaW50ZXIASW5jb3JyZWN0IHNpemUgb2YgaW5wdXQgYXJyYXkAQXV0b3RyYWNlIGNhbGwASXRlcmF0aW9ucyBkbyBub3QgY29udmVyZ2UAQmFkIGFyZ3VtZW50AEluc3VmZmljaWVudCBtZW1vcnkASW50ZXJuYWwgZXJyb3IAVW5zcGVjaWZpZWQgZXJyb3IAQmFja3RyYWNlAE5vIEVycm9yAE9wZW5DViglcykgJXM6JWQ6IGVycm9yOiAoJWQpICVzOiAlcyBpbiBmdW5jdGlvbiAlcwoAT3BlbkNWKCVzKSAlczolZDogZXJyb3I6ICglZCkgJXM6ICVzCgBsZW4gPj0gMCAmJiAiQ2hlY2sgZm9ybWF0IHN0cmluZyBmb3IgZXJyb3JzIgBOMmN2MTZUTFNEYXRhQ29udGFpbmVyRQBPUEVOQ1ZfRFVNUF9DT05GSUcACkdlbmVyYWwgY29uZmlndXJhdGlvbiBmb3IgT3BlbkNWIDMuNC4xLWRldiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgVmVyc2lvbiBjb250cm9sOiAgICAgICAgICAgICAgIDEzODk3ZDUKCiAgRXh0cmEgbW9kdWxlczoKICAgIExvY2F0aW9uIChleHRyYSk6ICAgICAgICAgICAgL2hvbWUvZ3d5L29wZW5jdl9qcy9vcGVuY3ZfY29udHJpYi9tb2R1bGVzCiAgICBWZXJzaW9uIGNvbnRyb2wgKGV4dHJhKTogICAgIDEzODk3ZDUKCiAgUGxhdGZvcm06CiAgICBUaW1lc3RhbXA6ICAgICAgICAgICAgICAgICAgIDIwMTgtMDQtMDhUMDY6NTY6MTRaCiAgICBIb3N0OiAgICAgICAgICAgICAgICAgICAgICAgIExpbnV4IDQuMTMuMC0zOC1nZW5lcmljIHg4Nl82NAogICAgVGFyZ2V0OiAgICAgICAgICAgICAgICAgICAgICBFbXNjcmlwdGVuIDEgeDg2CiAgICBDTWFrZTogICAgICAgICAgICAgICAgICAgICAgIDMuNS4xCiAgICBDTWFrZSBnZW5lcmF0b3I6ICAgICAgICAgICAgIFVuaXggTWFrZWZpbGVzCiAgICBDTWFrZSBidWlsZCB0b29sOiAgICAgICAgICAgIC91c3IvYmluL21ha2UKICAgIENvbmZpZ3VyYXRpb246ICAgICAgICAgICAgICAgUmVsZWFzZQoKICBDUFUvSFcgZmVhdHVyZXM6CiAgICBCYXNlbGluZToKCiAgQy9DKys6CiAgICBCdWlsdCBhcyBkeW5hbWljIGxpYnM/OiAgICAgIE5PCiAgICBDKysgQ29tcGlsZXI6ICAgICAgICAgICAgICAgIC9ob21lL2d3eS9lbXNkay9lbXNjcmlwdGVuLzEuMzcuMzYvZW0rKyAgKHZlciA1LjAuMCkKICAgIEMrKyBmbGFncyAoUmVsZWFzZSk6ICAgICAgICAgLWZzaWduZWQtY2hhciAtVyAtV2FsbCAtV2Vycm9yPXJldHVybi10eXBlIC1XZXJyb3I9bm9uLXZpcnR1YWwtZHRvciAtV2Vycm9yPWFkZHJlc3MgLVdlcnJvcj1zZXF1ZW5jZS1wb2ludCAtV2Zvcm1hdCAtV2Vycm9yPWZvcm1hdC1zZWN1cml0eSAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVd1bmRlZiAtV2luaXQtc2VsZiAtV3BvaW50ZXItYXJpdGggLVdzaGFkb3cgLVdzaWduLXByb21vIC1XdW5pbml0aWFsaXplZCAtV2luaXQtc2VsZiAtV25vLW5hcnJvd2luZyAtV25vLWRlbGV0ZS1ub24tdmlydHVhbC1kdG9yIC1Xbm8tdW5uYW1lZC10eXBlLXRlbXBsYXRlLWFyZ3MgLVduby1jb21tZW50IC1Xbm8taW1wbGljaXQtZmFsbHRocm91Z2ggLWZkaWFnbm9zdGljcy1zaG93LW9wdGlvbiAtcHRocmVhZCAtUXVudXNlZC1hcmd1bWVudHMgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgIC1mdmlzaWJpbGl0eT1oaWRkZW4gLWZ2aXNpYmlsaXR5LWlubGluZXMtaGlkZGVuIC1ETkRFQlVHIC1PMiAgLUROREVCVUcKICAgIEMrKyBmbGFncyAoRGVidWcpOiAgICAgICAgICAgLWZzaWduZWQtY2hhciAtVyAtV2FsbCAtV2Vycm9yPXJldHVybi10eXBlIC1XZXJyb3I9bm9uLXZpcnR1YWwtZHRvciAtV2Vycm9yPWFkZHJlc3MgLVdlcnJvcj1zZXF1ZW5jZS1wb2ludCAtV2Zvcm1hdCAtV2Vycm9yPWZvcm1hdC1zZWN1cml0eSAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVd1bmRlZiAtV2luaXQtc2VsZiAtV3BvaW50ZXItYXJpdGggLVdzaGFkb3cgLVdzaWduLXByb21vIC1XdW5pbml0aWFsaXplZCAtV2luaXQtc2VsZiAtV25vLW5hcnJvd2luZyAtV25vLWRlbGV0ZS1ub24tdmlydHVhbC1kdG9yIC1Xbm8tdW5uYW1lZC10eXBlLXRlbXBsYXRlLWFyZ3MgLVduby1jb21tZW50IC1Xbm8taW1wbGljaXQtZmFsbHRocm91Z2ggLWZkaWFnbm9zdGljcy1zaG93LW9wdGlvbiAtcHRocmVhZCAtUXVudXNlZC1hcmd1bWVudHMgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgIC1mdmlzaWJpbGl0eT1oaWRkZW4gLWZ2aXNpYmlsaXR5LWlubGluZXMtaGlkZGVuIC1nICAtTzAgLURERUJVRyAtRF9ERUJVRwogICAgQyBDb21waWxlcjogICAgICAgICAgICAgICAgICAvaG9tZS9nd3kvZW1zZGsvZW1zY3JpcHRlbi8xLjM3LjM2L2VtY2MKICAgIEMgZmxhZ3MgKFJlbGVhc2UpOiAgICAgICAgICAgLWZzaWduZWQtY2hhciAtVyAtV2FsbCAtV2Vycm9yPXJldHVybi10eXBlIC1XZXJyb3I9bm9uLXZpcnR1YWwtZHRvciAtV2Vycm9yPWFkZHJlc3MgLVdlcnJvcj1zZXF1ZW5jZS1wb2ludCAtV2Zvcm1hdCAtV2Vycm9yPWZvcm1hdC1zZWN1cml0eSAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVd1bmRlZiAtV2luaXQtc2VsZiAtV3BvaW50ZXItYXJpdGggLVdzaGFkb3cgLVdzaWduLXByb21vIC1XdW5pbml0aWFsaXplZCAtV2luaXQtc2VsZiAtV25vLW5hcnJvd2luZyAtV25vLWRlbGV0ZS1ub24tdmlydHVhbC1kdG9yIC1Xbm8tdW5uYW1lZC10eXBlLXRlbXBsYXRlLWFyZ3MgLVduby1jb21tZW50IC1Xbm8taW1wbGljaXQtZmFsbHRocm91Z2ggLWZkaWFnbm9zdGljcy1zaG93LW9wdGlvbiAtcHRocmVhZCAtUXVudXNlZC1hcmd1bWVudHMgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgIC1mdmlzaWJpbGl0eT1oaWRkZW4gLWZ2aXNpYmlsaXR5LWlubGluZXMtaGlkZGVuIC1ETkRFQlVHIC1PMiAgLUROREVCVUcKICAgIEMgZmxhZ3MgKERlYnVnKTogICAgICAgICAgICAgLWZzaWduZWQtY2hhciAtVyAtV2FsbCAtV2Vycm9yPXJldHVybi10eXBlIC1XZXJyb3I9bm9uLXZpcnR1YWwtZHRvciAtV2Vycm9yPWFkZHJlc3MgLVdlcnJvcj1zZXF1ZW5jZS1wb2ludCAtV2Zvcm1hdCAtV2Vycm9yPWZvcm1hdC1zZWN1cml0eSAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVd1bmRlZiAtV2luaXQtc2VsZiAtV3BvaW50ZXItYXJpdGggLVdzaGFkb3cgLVdzaWduLXByb21vIC1XdW5pbml0aWFsaXplZCAtV2luaXQtc2VsZiAtV25vLW5hcnJvd2luZyAtV25vLWRlbGV0ZS1ub24tdmlydHVhbC1kdG9yIC1Xbm8tdW5uYW1lZC10eXBlLXRlbXBsYXRlLWFyZ3MgLVduby1jb21tZW50IC1Xbm8taW1wbGljaXQtZmFsbHRocm91Z2ggLWZkaWFnbm9zdGljcy1zaG93LW9wdGlvbiAtcHRocmVhZCAtUXVudXNlZC1hcmd1bWVudHMgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgIC1mdmlzaWJpbGl0eT1oaWRkZW4gLWZ2aXNpYmlsaXR5LWlubGluZXMtaGlkZGVuIC1nICAtTzAgLURERUJVRyAtRF9ERUJVRwogICAgTGlua2VyIGZsYWdzIChSZWxlYXNlKTogICAgICAtTzIgCiAgICBMaW5rZXIgZmxhZ3MgKERlYnVnKTogICAgICAgIAogICAgY2NhY2hlOiAgICAgICAgICAgICAgICAgICAgICBOTwogICAgUHJlY29tcGlsZWQgaGVhZGVyczogICAgICAgICBOTwogICAgRXh0cmEgZGVwZW5kZW5jaWVzOgogICAgM3JkcGFydHkgZGVwZW5kZW5jaWVzOiAgICAgICBsaWJwcm90b2J1ZiB6bGliCgogIE9wZW5DViBtb2R1bGVzOgogICAgVG8gYmUgYnVpbHQ6ICAgICAgICAgICAgICAgICBhcnVjbyBiZ3NlZ20gYmlvaW5zcGlyZWQgY2FsaWIzZCBjb3JlIGRubiBkbm5fb2JqZGV0ZWN0IGRwbSBmZWF0dXJlczJkIGZ1enp5IGhmcyBpbWdfaGFzaCBpbWdwcm9jIGphdmFfYmluZGluZ3NfZ2VuZXJhdG9yIGpzIGxpbmVfZGVzY3JpcHRvciBvYmpkZXRlY3QgcGhhc2VfdW53cmFwcGluZyBwbG90IHB5dGhvbl9iaW5kaW5nc19nZW5lcmF0b3IgcmVnIHJnYmQgc2FsaWVuY3kgc3RlcmVvIHN0cnVjdHVyZWRfbGlnaHQgdHJhY2tpbmcgdmlkZW8geGZlYXR1cmVzMmQgeHBob3RvCiAgICBEaXNhYmxlZDogICAgICAgICAgICAgICAgICAgIGZsYW5uIGhpZ2hndWkgaW1nY29kZWNzIG1sIHBob3RvIHNoYXBlIHN0aXRjaGluZyBzdXBlcnJlcyB2aWRlb2lvIHZpZGVvc3RhYiB3b3JsZAogICAgRGlzYWJsZWQgYnkgZGVwZW5kZW5jeTogICAgICBjY2FsaWIgZGF0YXNldHMgZmFjZSBvcHRmbG93IHN1cmZhY2VfbWF0Y2hpbmcgdGV4dCB4aW1ncHJvYyB4b2JqZGV0ZWN0CiAgICBVbmF2YWlsYWJsZTogICAgICAgICAgICAgICAgIGNubl8zZG9iaiBjdWRhYXJpdGhtIGN1ZGFiZ3NlZ20gY3VkYWNvZGVjIGN1ZGFmZWF0dXJlczJkIGN1ZGFmaWx0ZXJzIGN1ZGFpbWdwcm9jIGN1ZGFsZWdhY3kgY3VkYW9iamRldGVjdCBjdWRhb3B0ZmxvdyBjdWRhc3RlcmVvIGN1ZGF3YXJwaW5nIGN1ZGV2IGN2diBkbm5fbW9kZXJuIGZyZWV0eXBlIGhkZiBqYXZhIG1hdGxhYiBvdmlzIHB5dGhvbjIgcHl0aG9uMyBzZm0gdHMgdml6CiAgICBBcHBsaWNhdGlvbnM6ICAgICAgICAgICAgICAgIC0KICAgIERvY3VtZW50YXRpb246ICAgICAgICAgICAgICAganMKICAgIE5vbi1mcmVlIGFsZ29yaXRobXM6ICAgICAgICAgTk8KCiAgR1VJOiAKCiAgTWVkaWEgSS9POiAKICAgIFpMaWI6ICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGQgKHZlciAxLjIuMTEpCgogIFZpZGVvIEkvTzoKCiAgUGFyYWxsZWwgZnJhbWV3b3JrOiAgICAgICAgICAgIG5vbmUKCiAgT3RoZXIgdGhpcmQtcGFydHkgbGlicmFyaWVzOgogICAgQ3VzdG9tIEhBTDogICAgICAgICAgICAgICAgICBOTwogICAgUHJvdG9idWY6ICAgICAgICAgICAgICAgICAgICBidWlsZCAoMy41LjEpCgogIFB5dGhvbiAoZm9yIGJ1aWxkKTogICAgICAgICAgICAvdXNyL2Jpbi9weXRob24yLjcKCiAgSW5zdGFsbCB0bzogICAgICAgICAgICAgICAgICAgIC9ob21lL2d3eS9vcGVuY3ZfanMvYnVpbGRfanMvaW5zdGFsbAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKAApPcGVuQ1YgYnVpbGQgY29uZmlndXJhdGlvbiBpczoKJXMKAE1NWABTU0UAU1NFMgBTU0UzAFNTU0UzAFNTRTQuMQBTU0U0LjIAUE9QQ05UAEZQMTYAQVZYAEFWWDIARk1BMwBBVlg1MTJGAEFWWDUxMkJXAEFWWDUxMkNEAEFWWDUxMkRRAEFWWDUxMkVSAEFWWDUxMklGTUEAQVZYNTEyUEYAQVZYNTEyVkJNSQBBVlg1MTJWTABORU9OAFZTWABBVlg1MTItU0tYAE9QRU5DVl9DUFVfRElTQUJMRQBmZWF0dXJlLnNpemUoKSA+IDAAcmVhZFNldHRpbmdzAE9QRU5DVjogVHJ5aW5nIHRvIGRpc2FibGUgYmFzZWxpbmUgQ1BVIGZlYXR1cmU6ICclcycuIFRoaXMgaGFzIHZlcnkgbGltaXRlZCBlZmZlY3QsIGJlY2F1c2UgY29kZSBvcHRpbWl6YXRpb25zIGZvciB0aGlzIGZlYXR1cmUgYXJlIGV4ZWN1dGVkIHVuY29uZGl0aW9uYWxseSBpbiB0aGUgbW9zdCBjYXNlcy4KAFVua25vd24gZmVhdHVyZQBPUEVOQ1Y6IFRyeWluZyB0byBkaXNhYmxlIHVuYXZhaWxhYmxlIENQVSBmZWF0dXJlIG9uIHRoZSBjdXJyZW50IHBsYXRmb3JtOiAnJXMnLgoAT1BFTkNWOiBUcnlpbmcgdG8gZGlzYWJsZSB1bmtub3duIENQVSBmZWF0dXJlOiAnJXMnLgoAa2V5XyAhPSAtMSAmJiAiQ2FuJ3QgZmV0Y2ggZGF0YSBmcm9tIHRlcm1pbmF0ZWQgVExTIGNvbnRhaW5lci4iAGdldERhdGEAdGxzU2xvdHNTaXplID4gc2xvdElkeABzZXREYXRhAHB0aHJlYWRfc2V0c3BlY2lmaWModGxzS2V5LCBwRGF0YSkgPT0gMABTZXREYXRhAHB0aHJlYWRfa2V5X2RlbGV0ZSh0bHNLZXkpID09IDAAflRsc0Fic3RyYWN0aW9uAHB0aHJlYWRfa2V5X2NyZWF0ZSgmdGxzS2V5LCAwTCkgPT0gMABUbHNBYnN0cmFjdGlvbgB0bHNTbG90c1NpemUgPT0gdGxzU2xvdHMuc2l6ZSgpAHJlbGVhc2VTbG90AE4yY3Y3VExTRGF0YUlOU18xMUNvcmVUTFNEYXRhRUVFAHJlc2VydmVTbG90AEludmFsaWQgdmFsdWUgZm9yICVzIHBhcmFtZXRlcjogJXMATUIATWIAbWIAS0IAS2IAa2IAZ2V0Q29uZmlndXJhdGlvblBhcmFtZXRlclNpemVUAGZsb2F0IGN2OjpjdWJlUm9vdChmbG9hdCkAL2hvbWUvZ3d5L29wZW5jdl9qcy9vcGVuY3YvbW9kdWxlcy9jb3JlL3NyYy9tYXRoZnVuY3MuY3BwAHNyYzEuc2l6ZSgpID09IHNyYzIuc2l6ZSgpICYmIHR5cGUgPT0gc3JjMi50eXBlKCkgJiYgKGRlcHRoID09IDUgfHwgZGVwdGggPT0gNikAdm9pZCBjdjo6bWFnbml0dWRlKGN2OjpJbnB1dEFycmF5LCBjdjo6SW5wdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5KQBYLnNpemUgPT0gWS5zaXplICYmIHR5cGUgPT0gWS50eXBlKCkgJiYgKGRlcHRoID09IDUgfHwgZGVwdGggPT0gNikAY2FydFRvUG9sYXIAdm9pZCBjdjo6Y2FydFRvUG9sYXIoY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSwgYm9vbCkAKGRlcHRoID09IDUgfHwgZGVwdGggPT0gNikgJiYgKHNyYzEuZW1wdHkoKSB8fCBzcmMxLnR5cGUoKSA9PSB0eXBlKQBwb2xhclRvQ2FydABNYWcuZW1wdHkoKSB8fCBBbmdsZS5zaXplID09IE1hZy5zaXplAHZvaWQgY3Y6OnBvbGFyVG9DYXJ0KGN2OjpJbnB1dEFycmF5LCBjdjo6SW5wdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGJvb2wpAGRlcHRoID09IDUgfHwgZGVwdGggPT0gNgBleHAAdm9pZCBjdjo6ZXhwKGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXkpAGxvZwB2b2lkIGN2Ojpsb2coY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSkAcG93AHZvaWQgY3Y6OnBvdyhjdjo6SW5wdXRBcnJheSwgZG91YmxlLCBjdjo6T3V0cHV0QXJyYXkpAHZvaWQgY3Y6OnNxcnQoY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSkAY2hlY2tSYW5nZQB0aGUgdmFsdWUgYXQgKCVkLCAlZCk9JXMgaXMgb3V0IG9mIHJhbmdlIFslZiwgJWYpAGJvb2wgY3Y6OmNoZWNrUmFuZ2UoY3Y6OklucHV0QXJyYXksIGJvb2wsIGN2OjpQb2ludCAqLCBkb3VibGUsIGRvdWJsZSkAX2EuZGVwdGgoKSA9PSA1AHBhdGNoTmFOcwB2b2lkIGN2OjpwYXRjaE5hTnMoY3Y6OklucHV0T3V0cHV0QXJyYXksIGRvdWJsZSkAY3R5cGUgPT0gNSB8fCBjdHlwZSA9PSA2AHNvbHZlQ3ViaWMAKGNvZWZmcy5zaXplKCkgPT0gU2l6ZShuMCwgMSkgfHwgY29lZmZzLnNpemUoKSA9PSBTaXplKG4wKzEsIDEpIHx8IGNvZWZmcy5zaXplKCkgPT0gU2l6ZSgxLCBuMCkgfHwgY29lZmZzLnNpemUoKSA9PSBTaXplKDEsIG4wKzEpKQBpbnQgY3Y6OnNvbHZlQ3ViaWMoY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSkAKChjdHlwZSkgJiAoKDEgPDwgMykgLSAxKSkgPj0gNSAmJiAoKCgoY3R5cGUpICYgKCg1MTIgLSAxKSA8PCAzKSkgPj4gMykgKyAxKSA8PSAyAHNvbHZlUG9seQBjb2VmZnMwLnJvd3MgPT0gMSB8fCBjb2VmZnMwLmNvbHMgPT0gMQBkb3VibGUgY3Y6OnNvbHZlUG9seShjdjo6SW5wdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5LCBpbnQpAE4yY3Y2ZGV0YWlsMTJQdHJPd25lckltcGxJTlNfMTVPY3ZEZnRCYXNpY0ltcGxFTlNfMTREZWZhdWx0RGVsZXRlcklTMl9FRUVFAE4yY3Y2ZGV0YWlsOFB0ck93bmVyRQBjLmZhY3RvcnNbMF0gPT0gYy5mYWN0b3JzW2MubmYtMV0AREZUAC9ob21lL2d3eS9vcGVuY3ZfanMvb3BlbmN2L21vZHVsZXMvY29yZS9zcmMvZHh0LmNwcAAAgEDAIKBg4BCQUNAwsHDwCIhIyCioaOgYmFjYOLh4+ASERMQkpGTkFJRU1DS0dPQMjEzMLKxs7BycXNw8vHz8AoJCwiKiYuISklLSMrJy8gqKSsoqqmrqGppa2jq6evoGhkbGJqZm5haWVtY2tnb2Do5Ozi6ubu4enl7ePr5+/gGBQcEhoWHhEZFR0TGxcfEJiUnJKalp6RmZWdk5uXn5BYVFxSWlZeUVlVXVNbV19Q2NTc0trW3tHZ1d3T29ff0Dg0PDI6Nj4xOTU9Mzs3PzC4tLyyura+sbm1vbO7t7+weHR8cnp2fnF5dX1ze3d/cPj0/PL69v7x+fX98/v3//TjJjdjE1T2N2RGZ0QmFzaWNJbXBsRQBOMmN2M2hhbDVERlQxREUATjJjdjE2UmVwbGFjZW1lbnRERlQxREUAVGhpcyBtb2RlICh1c2luZyBub256ZXJvX3Jvd3Mgd2l0aCBhIHNpbmdsZS1jb2x1bW4gbWF0cml4KSBicmVha3MgdGhlIGZ1bmN0aW9uJ3MgbG9naWMsIHNvIGl0IGlzIHByb2hpYml0ZWQuCkZvciBmYXN0IGNvbnZvbHV0aW9uL2NvcnJlbGF0aW9uIHVzZSAyLWNvbHVtbiBtYXRyaXggb3Igc2luZ2xlLXJvdyBtYXRyaXggaW5zdGVhZABjcmVhdGUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU18xME9jdkRmdEltcGxFTlNfMTREZWZhdWx0RGVsZXRlcklTMl9FRUVFAE4yY3YxME9jdkRmdEltcGxFAE4yY3YzaGFsNURGVDJERQBOMmN2MTZSZXBsYWNlbWVudERGVDJERQB0eXBlID09ICgoKDUpICYgKCgxIDw8IDMpIC0gMSkpICsgKCgoMSktMSkgPDwgMykpIHx8IHR5cGUgPT0gKCgoNSkgJiAoKDEgPDwgMykgLSAxKSkgKyAoKCgyKS0xKSA8PCAzKSkgfHwgdHlwZSA9PSAoKCg2KSAmICgoMSA8PCAzKSAtIDEpKSArICgoKDEpLTEpIDw8IDMpKSB8fCB0eXBlID09ICgoKDYpICYgKCgxIDw8IDMpIC0gMSkpICsgKCgoMiktMSkgPDwgMykpAGRmdAAhKChmbGFncyAmIERGVF9DT01QTEVYX0lOUFVUKSAmJiBzcmMuY2hhbm5lbHMoKSAhPSAyKQB2b2lkIGN2OjpkZnQoY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSwgaW50LCBpbnQpAHR5cGUgPT0gc3JjQi50eXBlKCkgJiYgc3JjQS5zaXplKCkgPT0gc3JjQi5zaXplKCkAbXVsU3BlY3RydW1zAHZvaWQgY3Y6Om11bFNwZWN0cnVtcyhjdjo6SW5wdXRBcnJheSwgY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSwgaW50LCBib29sKQAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL2NvcmUvc3JjL2xhcGFjay5jcHAAIW1hdC5lbXB0eSgpAGRldGVybWluYW50AG1hdC5yb3dzID09IG1hdC5jb2xzICYmICh0eXBlID09IDUgfHwgdHlwZSA9PSA2KQBkb3VibGUgY3Y6OmRldGVybWluYW50KGN2OjpJbnB1dEFycmF5KQB0eXBlID09IDUgfHwgdHlwZSA9PSA2AGludmVydABtID09IG4AbWV0aG9kID09IERFQ09NUF9MVSB8fCBtZXRob2QgPT0gREVDT01QX0NIT0xFU0tZAHNyYy5yb3dzID09IHNyYy5jb2xzAGVpZ2VuAGJvb2wgY3Y6OmVpZ2VuKGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSkAdy50eXBlKCkgPT0gdS50eXBlKCkgJiYgdS50eXBlKCkgPT0gdnQudHlwZSgpICYmIHUuZGF0YSAmJiB2dC5kYXRhICYmIHcuZGF0YQBiYWNrU3Vic3QAdS5jb2xzID49IG5tICYmIHZ0LnJvd3MgPj0gbm0gJiYgKHcuc2l6ZSgpID09IFNpemUobm0sIDEpIHx8IHcuc2l6ZSgpID09IFNpemUoMSwgbm0pIHx8IHcuc2l6ZSgpID09IFNpemUodnQucm93cywgdS5jb2xzKSkAcmhzLmRhdGEgPT0gMCB8fCAocmhzLnR5cGUoKSA9PSB0eXBlICYmIHJocy5yb3dzID09IG0pAF9TVkRjb21wdXRlAHN0YXRpYyB2b2lkIGN2OjpTVkQ6OmNvbXB1dGUoY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGludCkAZG91YmxlIGN2OjppbnZlcnQoY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSwgaW50KQB0eXBlID09IF9zcmMyLnR5cGUoKSAmJiAodHlwZSA9PSA1IHx8IHR5cGUgPT0gNikAc29sdmUAKG1ldGhvZCAhPSBERUNPTVBfTFUgJiYgbWV0aG9kICE9IERFQ09NUF9DSE9MRVNLWSkgfHwgaXNfbm9ybWFsIHx8IHNyYy5yb3dzID09IHNyYy5jb2xzAFRoZSBmdW5jdGlvbiBjYW4gbm90IHNvbHZlIHVuZGVyLWRldGVybWluZWQgbGluZWFyIHN5c3RlbXMAYm9vbCBjdjo6c29sdmUoY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGludCkAcm93cyA9PSBtYXQtPmNvbHMAY3ZEZXQAc3JjLnR5cGUoKSA9PSBkc3QudHlwZSgpICYmIHNyYy5yb3dzID09IGRzdC5jb2xzICYmIHNyYy5jb2xzID09IGRzdC5yb3dzAGN2SW52ZXJ0AEEudHlwZSgpID09IHgudHlwZSgpICYmIEEuY29scyA9PSB4LnJvd3MgJiYgeC5jb2xzID09IGIuY29scwBjdlNvbHZlAHcudHlwZSgpID09IHR5cGUgJiYgKHcuc2l6ZSgpID09IGN2OjpTaXplKG5tLDEpIHx8IHcuc2l6ZSgpID09IGN2OjpTaXplKDEsIG5tKSB8fCB3LnNpemUoKSA9PSBjdjo6U2l6ZShubSwgbm0pIHx8IHcuc2l6ZSgpID09IGN2OjpTaXplKG4sIG0pKQBjdlNWRAB1LnR5cGUoKSA9PSB0eXBlAHYudHlwZSgpID09IHR5cGUAdS5zaXplKCkgPT0gc3ZkLnUuc2l6ZSgpAHYuc2l6ZSgpID09IHN2ZC52dC5zaXplKCkAc3BsaXQAL2hvbWUvZ3d5L29wZW5jdl9qcy9vcGVuY3YvbW9kdWxlcy9jb3JlL3NyYy9zcGxpdC5jcHAAdm9pZCBjdjo6c3BsaXQoY29uc3QgY3Y6Ok1hdCAmLCBjdjo6TWF0ICopACFfbXYuZml4ZWRUeXBlKCkgfHwgX212LmVtcHR5KCkgfHwgX212LnR5cGUoKSA9PSBtLmRlcHRoKCkAdm9pZCBjdjo6c3BsaXQoY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheU9mQXJyYXlzKQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSTEzQ3ZGaWxlU3RvcmFnZU5TXzE0RGVmYXVsdERlbGV0ZXJJUzJfRUVFRQB2aXJ0dWFsIGJvb2wgY3Y6OkZpbGVTdG9yYWdlOjpvcGVuKGNvbnN0IGN2OjpTdHJpbmcgJiwgaW50LCBjb25zdCBjdjo6U3RyaW5nICYpAC9ob21lL2d3eS9vcGVuY3ZfanMvb3BlbmN2L21vZHVsZXMvY29yZS9zcmMvcGVyc2lzdGVuY2VfY3BwLmNwcABOMmN2MTFGaWxlU3RvcmFnZUUARXh0cmEgY2xvc2luZyAnJWMnAFRoZSBjbG9zaW5nICclYycgZG9lcyBub3QgbWF0Y2ggdGhlIG9wZW5pbmcgJyVjJwBJbmNvcnJlY3QgZWxlbWVudCBuYW1lICVzAEludmFsaWQgZnMuc3RhdGUAbGVuICUgZWxlbVNpemUgPT0gMAB3cml0ZVJhdwAuZ3oASW52YWxpZCBmaWxlbmFtZQBnZXREZWZhdWx0T2JqZWN0TmFtZQBlbGVtX3NpemUgPiAwAHJlYWRSYXcAY29udmVydFNjYWxlQWJzAC9ob21lL2d3eS9vcGVuY3ZfanMvb3BlbmN2L21vZHVsZXMvY29yZS9zcmMvY29udmVydF9zY2FsZS5jcHAAdm9pZCBjdjo6Y29udmVydFNjYWxlQWJzKGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGRvdWJsZSwgZG91YmxlKQBVbmtub3duL3Vuc3VwcG9ydGVkIG5vcm0gdHlwZQBub3JtYWxpemUAdm9pZCBjdjo6bm9ybWFsaXplKGN2OjpJbnB1dEFycmF5LCBjdjo6SW5wdXRPdXRwdXRBcnJheSwgZG91YmxlLCBkb3VibGUsIGludCwgaW50LCBjdjo6SW5wdXRBcnJheSkAdm9pZCBjdjo6aGFsOjpjcHVfYmFzZWxpbmU6OmZhc3RBdGFuMzJmKGNvbnN0IGZsb2F0ICosIGNvbnN0IGZsb2F0ICosIGZsb2F0ICosIGludCwgYm9vbCkAL2hvbWUvZ3d5L29wZW5jdl9qcy9vcGVuY3YvbW9kdWxlcy9jb3JlL3NyYy9tYXRoZnVuY3NfY29yZS5zaW1kLmhwcAB2b2lkIGN2OjpoYWw6OmNwdV9iYXNlbGluZTo6ZmFzdEF0YW42NGYoY29uc3QgZG91YmxlICosIGNvbnN0IGRvdWJsZSAqLCBkb3VibGUgKiwgaW50LCBib29sKQB2b2lkIGN2OjpoYWw6OmNwdV9iYXNlbGluZTo6bWFnbml0dWRlMzJmKGNvbnN0IGZsb2F0ICosIGNvbnN0IGZsb2F0ICosIGZsb2F0ICosIGludCkAdm9pZCBjdjo6aGFsOjpjcHVfYmFzZWxpbmU6Om1hZ25pdHVkZTY0Zihjb25zdCBkb3VibGUgKiwgY29uc3QgZG91YmxlICosIGRvdWJsZSAqLCBpbnQpAHZvaWQgY3Y6OmhhbDo6Y3B1X2Jhc2VsaW5lOjppbnZTcXJ0MzJmKGNvbnN0IGZsb2F0ICosIGZsb2F0ICosIGludCkAdm9pZCBjdjo6aGFsOjpjcHVfYmFzZWxpbmU6OmludlNxcnQ2NGYoY29uc3QgZG91YmxlICosIGRvdWJsZSAqLCBpbnQpAHZvaWQgY3Y6OmhhbDo6Y3B1X2Jhc2VsaW5lOjpzcXJ0MzJmKGNvbnN0IGZsb2F0ICosIGZsb2F0ICosIGludCkAdm9pZCBjdjo6aGFsOjpjcHVfYmFzZWxpbmU6OnNxcnQ2NGYoY29uc3QgZG91YmxlICosIGRvdWJsZSAqLCBpbnQpAHZvaWQgY3Y6OmhhbDo6Y3B1X2Jhc2VsaW5lOjpleHAzMmYoY29uc3QgZmxvYXQgKiwgZmxvYXQgKiwgaW50KQB2b2lkIGN2OjpoYWw6OmNwdV9iYXNlbGluZTo6ZXhwNjRmKGNvbnN0IGRvdWJsZSAqLCBkb3VibGUgKiwgaW50KQB2b2lkIGN2OjpoYWw6OmNwdV9iYXNlbGluZTo6bG9nMzJmKGNvbnN0IGZsb2F0ICosIGZsb2F0ICosIGludCkAdm9pZCBjdjo6aGFsOjpjcHVfYmFzZWxpbmU6OmxvZzY0Zihjb25zdCBkb3VibGUgKiwgZG91YmxlICosIGludCkAdm9pZCBjdjo6aGFsOjpmYXN0QXRhbjMyZihjb25zdCBmbG9hdCAqLCBjb25zdCBmbG9hdCAqLCBmbG9hdCAqLCBpbnQsIGJvb2wpAC9ob21lL2d3eS9vcGVuY3ZfanMvb3BlbmN2L21vZHVsZXMvY29yZS9zcmMvbWF0aGZ1bmNzX2NvcmUuZGlzcGF0Y2guY3BwAHZvaWQgY3Y6OmhhbDo6ZmFzdEF0YW42NGYoY29uc3QgZG91YmxlICosIGNvbnN0IGRvdWJsZSAqLCBkb3VibGUgKiwgaW50LCBib29sKQB2b2lkIGN2OjpoYWw6Om1hZ25pdHVkZTMyZihjb25zdCBmbG9hdCAqLCBjb25zdCBmbG9hdCAqLCBmbG9hdCAqLCBpbnQpAHZvaWQgY3Y6OmhhbDo6bWFnbml0dWRlNjRmKGNvbnN0IGRvdWJsZSAqLCBjb25zdCBkb3VibGUgKiwgZG91YmxlICosIGludCkAdm9pZCBjdjo6aGFsOjppbnZTcXJ0MzJmKGNvbnN0IGZsb2F0ICosIGZsb2F0ICosIGludCkAdm9pZCBjdjo6aGFsOjppbnZTcXJ0NjRmKGNvbnN0IGRvdWJsZSAqLCBkb3VibGUgKiwgaW50KQB2b2lkIGN2OjpoYWw6OnNxcnQzMmYoY29uc3QgZmxvYXQgKiwgZmxvYXQgKiwgaW50KQB2b2lkIGN2OjpoYWw6OnNxcnQ2NGYoY29uc3QgZG91YmxlICosIGRvdWJsZSAqLCBpbnQpAHZvaWQgY3Y6OmhhbDo6ZXhwMzJmKGNvbnN0IGZsb2F0ICosIGZsb2F0ICosIGludCkAdm9pZCBjdjo6aGFsOjpleHA2NGYoY29uc3QgZG91YmxlICosIGRvdWJsZSAqLCBpbnQpAHZvaWQgY3Y6OmhhbDo6bG9nMzJmKGNvbnN0IGZsb2F0ICosIGZsb2F0ICosIGludCkAdm9pZCBjdjo6aGFsOjpsb2c2NGYoY29uc3QgZG91YmxlICosIGRvdWJsZSAqLCBpbnQpAE4yY3Y5Rm9ybWF0dGVkRQBOMmN2OUZvcm1hdHRlckUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU18xMENGb3JtYXR0ZXJFTlNfMTREZWZhdWx0RGVsZXRlcklTMl9FRUVFAAAALAAAewB9AE4yY3Y2ZGV0YWlsMTJQdHJPd25lckltcGxJTlNfMTNGb3JtYXR0ZWRJbXBsRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzJfRUVFRQBtLmRpbXMgPD0gMgBGb3JtYXR0ZWRJbXBsAC9ob21lL2d3eS9vcGVuY3ZfanMvb3BlbmN2L21vZHVsZXMvY29yZS9zcmMvb3V0LmNwcAAlJS4lZGcAJTNkACVkAAooOiwgOiwgJWQpID0gCgAoOiwgOiwgJWQpID0gCgBOMmN2MTNGb3JtYXR0ZWRJbXBsRQBOMmN2MTBDRm9ybWF0dGVyRQBOMmN2MTNGb3JtYXR0ZXJCYXNlRQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TXzE0TnVtcHlGb3JtYXR0ZXJFTlNfMTREZWZhdWx0RGVsZXRlcklTMl9FRUVFAFtdLFtdXSwgZHR5cGU9JyVzJykAYXJyYXkoWwB1aW50OABpbnQ4AHVpbnQxNgBpbnQxNgBpbnQzMgBmbG9hdDMyAGZsb2F0NjQAdWludDY0AE4yY3YxNE51bXB5Rm9ybWF0dGVyRQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TXzE1UHl0aG9uRm9ybWF0dGVyRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzJfRUVFRQBbAE4yY3YxNVB5dGhvbkZvcm1hdHRlckUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU18xMkNTVkZvcm1hdHRlckVOU18xNERlZmF1bHREZWxldGVySVMyX0VFRUUATjJjdjEyQ1NWRm9ybWF0dGVyRQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TXzE1TWF0bGFiRm9ybWF0dGVyRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzJfRUVFRQAAADsAAE4yY3YxNU1hdGxhYkZvcm1hdHRlckUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU18xNkRlZmF1bHRGb3JtYXR0ZXJFTlNfMTREZWZhdWx0RGVsZXRlcklTMl9FRUVFAE4yY3YxNkRlZmF1bHRGb3JtYXR0ZXJFAF9wYXJhbTEuY2hhbm5lbHMoKSA9PSAxICYmIChfcGFyYW0xLnJvd3MgPT0gMSB8fCBfcGFyYW0xLmNvbHMgPT0gMSkgJiYgKF9wYXJhbTEucm93cyArIF9wYXJhbTEuY29scyAtIDEgPT0gY24gfHwgX3BhcmFtMS5yb3dzICsgX3BhcmFtMS5jb2xzIC0gMSA9PSAxIHx8IChfcGFyYW0xLnNpemUoKSA9PSBTaXplKDEsIDQpICYmIF9wYXJhbTEudHlwZSgpID09IDYgJiYgY24gPD0gNCkpAGZpbGwAL2hvbWUvZ3d5L29wZW5jdl9qcy9vcGVuY3YvbW9kdWxlcy9jb3JlL3NyYy9yYW5kLmNwcABfcGFyYW0yLmNoYW5uZWxzKCkgPT0gMSAmJiAoKChfcGFyYW0yLnJvd3MgPT0gMSB8fCBfcGFyYW0yLmNvbHMgPT0gMSkgJiYgKF9wYXJhbTIucm93cyArIF9wYXJhbTIuY29scyAtIDEgPT0gY24gfHwgX3BhcmFtMi5yb3dzICsgX3BhcmFtMi5jb2xzIC0gMSA9PSAxIHx8IChfcGFyYW0xLnNpemUoKSA9PSBTaXplKDEsIDQpICYmIF9wYXJhbTEudHlwZSgpID09IDYgJiYgY24gPD0gNCkpKSB8fCAoX3BhcmFtMi5yb3dzID09IGNuICYmIF9wYXJhbTIuY29scyA9PSBjbiAmJiBkaXN0dHlwZSA9PSBOT1JNQUwpKQBzY2FsZUZ1bmMgIT0gMABVbmtub3duIGRpc3RyaWJ1dGlvbiB0eXBlAHZvaWQgY3Y6OnJhbmR1KGN2OjpJbnB1dE91dHB1dEFycmF5LCBjdjo6SW5wdXRBcnJheSwgY3Y6OklucHV0QXJyYXkpAHZvaWQgY3Y6OnJhbmRuKGN2OjpJbnB1dE91dHB1dEFycmF5LCBjdjo6SW5wdXRBcnJheSwgY3Y6OklucHV0QXJyYXkpAGNuIDw9IDQgJiYgZnVuYyAhPSAwAHN1bQAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL2NvcmUvc3JjL3N1bS5jcHAAY3Y6OlNjYWxhciBjdjo6c3VtKGN2OjpJbnB1dEFycmF5KQAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL2NvcmUvc3JjL2FycmF5LmNwcABEYXRhIGlzIGFscmVhZHkgYWxsb2NhdGVkAGN2Q3JlYXRlRGF0YQBUb28gYmlnIGJ1ZmZlciBpcyBhbGxvY2F0ZWQAT3ZlcmZsb3cgZm9yIGltYWdlU2l6ZQB1bnJlY29nbml6ZWQgb3IgdW5zdXBwb3J0ZWQgYXJyYXkgdHlwZQBOb24tcG9zaXRpdmUgd2lkdGggb3IgaGVpZ2h0AGN2Q3JlYXRlTWF0SGVhZGVyAEludmFsaWQgbWF0cml4IHR5cGUAY3ZJbml0TWF0SGVhZGVyAE5vbi1wb3NpdGl2ZSBjb2xzIG9yIHJvd3MAY3ZSZWxlYXNlTWF0AEJhZCBDdk1hdCBoZWFkZXIAY3ZDbG9uZU1hdABOVUxMIG1hdHJpeCBoZWFkZXIgcG9pbnRlcgBjdkluaXRNYXROREhlYWRlcgBpbnZhbGlkIGFycmF5IGRhdGEgdHlwZQBOVUxMIDxzaXplcz4gcG9pbnRlcgBub24tcG9zaXRpdmUgb3IgdG9vIGxhcmdlIG51bWJlciBvZiBkaW1lbnNpb25zAG9uZSBvZiBkaW1lc2lvbiBzaXplcyBpcyBub24tcG9zaXRpdmUAVGhlIGFycmF5IGlzIHRvbyBiaWcAY3ZDcmVhdGVNYXROREhlYWRlcgBCYWQgQ3ZNYXRORCBoZWFkZXIAY3ZDbG9uZU1hdE5EAHNyYy0+ZGltcyA8PSAzMgBfZHN0LmRhdGEgPT0gZGF0YTAASW5jb3JyZWN0IG51bWJlciBvZiBhcnJheXMAY3ZJbml0TkFycmF5SXRlcmF0b3IAU29tZSBvZiByZXF1aXJlZCBhcnJheSBwb2ludGVycyBpcyBOVUxMAEl0ZXJhdG9yIHBvaW50ZXIgaXMgTlVMTABJdGVyYXRvciB3aXRoIG1hc2sgaXMgbm90IHN1cHBvcnRlZABDT0kgc2V0IGlzIG5vdCBhbGxvd2VkIGhlcmUATnVtYmVyIG9mIGRpbWVuc2lvbnMgaXMgdGhlIHNhbWUgZm9yIGFsbCBhcnJheXMARGF0YSB0eXBlIGlzIG5vdCB0aGUgc2FtZSBmb3IgYWxsIGFycmF5cwBOdW1iZXIgb2YgY2hhbm5lbHMgaXMgbm90IHRoZSBzYW1lIGZvciBhbGwgYXJyYXlzAERlcHRoIGlzIG5vdCB0aGUgc2FtZSBmb3IgYWxsIGFycmF5cwBEaW1lbnNpb24gc2l6ZXMgYXJlIHRoZSBzYW1lIGZvciBhbGwgYXJyYXlzAE5VTEwgYXJyYXkgcG9pbnRlciBpcyBwYXNzZWQAY3ZHZXRNYXRORABUaGUgbWF0cml4IGhhcyBOVUxMIGRhdGEgcG9pbnRlcgBVbnJlY29nbml6ZWQgb3IgdW5zdXBwb3J0ZWQgYXJyYXkgdHlwZQBJbnB1dCBhcnJheSBoYXMgTlVMTCBkYXRhIHBvaW50ZXIAY3ZHZXRNYXQAVGhlIGltYWdlIGhhcyBOVUxMIGRhdGEgcG9pbnRlcgBJbWFnZXMgd2l0aCBwbGFuYXIgZGF0YSBsYXlvdXQgc2hvdWxkIGJlIHVzZWQgd2l0aCBDT0kgc2VsZWN0ZWQAVGhlIGltYWdlIGlzIGludGVybGVhdmVkIGFuZCBoYXMgb3ZlciBDVl9DTl9NQVggY2hhbm5lbHMAUGl4ZWwgb3JkZXIgc2hvdWxkIGJlIHVzZWQgd2l0aCBjb2kgPT0gMABPbmx5IGNvbnRpbnVvdXMgbkQgYXJyYXlzIGFyZSBzdXBwb3J0ZWQgaGVyZQBjdkNyZWF0ZVNwYXJzZU1hdABiYWQgbnVtYmVyIG9mIGRpbWVuc2lvbnMAY3ZSZWxlYXNlU3BhcnNlTWF0AEludmFsaWQgc3BhcnNlIGFycmF5IGhlYWRlcgBjdkNsb25lU3BhcnNlTWF0AEludmFsaWQgc3BhcnNlIG1hdHJpeCBoZWFkZXIAY3ZJbml0U3BhcnNlTWF0SXRlcmF0b3IATlVMTCBpdGVyYXRvciBwb2ludGVyAGN2UmVsZWFzZURhdGEAaW5kZXggaXMgb3V0IG9mIHJhbmdlAGN2UHRyMkQAQ09JIG11c3QgYmUgbm9uLW51bGwgaW4gY2FzZSBvZiBwbGFuYXIgaW1hZ2VzACgoQ3ZTcGFyc2VNYXQqKWFyciktPmRpbXMgPT0gMgBPbmUgb2YgaW5kaWNlcyBpcyBvdXQgb2YgcmFuZ2UAaWN2R2V0Tm9kZVB0cgBjdkdldEVsZW1UeXBlAGN2R2V0RGltcwBBcnJheSBzaG91bGQgYmUgQ3ZNYXQgb3IgSXBsSW1hZ2UAY3ZHZXRTaXplAGN2R2V0Q29scwBOVUxMIHBvaW50ZXIgdG8gaW5kaWNlcwBjdlB0ck5EAFRoZSB0b3RhbCBudW1iZXIgb2YgbWF0cml4IGVsZW1lbnRzIGlzIG5vdCBkaXZpc2libGUgYnkgdGhlIG5ldyBudW1iZXIgb2Ygcm93cwBjdlJlc2hhcGUAVGhlIG1hdHJpeCBpcyBub3QgY29udGludW91cywgdGh1cyBpdHMgbnVtYmVyIG9mIHJvd3MgY2FuIG5vdCBiZSBjaGFuZ2VkAEJhZCBuZXcgbnVtYmVyIG9mIHJvd3MAVGhlIHRvdGFsIHdpZHRoIGlzIG5vdCBkaXZpc2libGUgYnkgdGhlIG5ldyBudW1iZXIgb2YgY2hhbm5lbHMAbnVsbCBwb2ludGVyIHRvIGhlYWRlcgBjdkluaXRJbWFnZUhlYWRlcgBCYWQgaW5wdXQgcm9pAFVuc3VwcG9ydGVkIGZvcm1hdABCYWQgaW5wdXQgb3JpZ2luAEJhZCBpbnB1dCBhbGlnbgBHUkFZAFJHQgBCR1IAQkdSQQBjdlJlbGVhc2VJbWFnZQBjdlNldEltYWdlUk9JAHJlY3Qud2lkdGggPj0gMCAmJiByZWN0LmhlaWdodCA+PSAwICYmIHJlY3QueCA8IGltYWdlLT53aWR0aCAmJiByZWN0LnkgPCBpbWFnZS0+aGVpZ2h0ICYmIHJlY3QueCArIHJlY3Qud2lkdGggPj0gKGludCkocmVjdC53aWR0aCA+IDApICYmIHJlY3QueSArIHJlY3QuaGVpZ2h0ID49IChpbnQpKHJlY3QuaGVpZ2h0ID4gMCkAY3ZTZXRJbWFnZUNPSQBjdkdldEltYWdlQ09JAEJhZCBpbWFnZSBoZWFkZXIAY3ZDbG9uZUltYWdlAGNuIDw9IDQAc2NhbGFyVG9SYXdEYXRhAHZvaWQgY3Y6OnNjYWxhclRvUmF3RGF0YShjb25zdCBjdjo6U2NhbGFyICYsIHZvaWQgKiwgaW50LCBpbnQpAE9QRU5DVl9LTUVBTlNfUEFSQUxMRUxfR1JBTlVMQVJJVFkAZGF0YTAuZGltcyA8PSAyICYmIHR5cGUgPT0gNSAmJiBLID4gMABrbWVhbnMAL2hvbWUvZ3d5L29wZW5jdl9qcy9vcGVuY3YvbW9kdWxlcy9jb3JlL3NyYy9rbWVhbnMuY3BwAE4gPj0gSwAoYmVzdF9sYWJlbHMuY29scyA9PSAxIHx8IGJlc3RfbGFiZWxzLnJvd3MgPT0gMSkgJiYgYmVzdF9sYWJlbHMuY29scypiZXN0X2xhYmVscy5yb3dzID09IE4gJiYgYmVzdF9sYWJlbHMudHlwZSgpID09IDQgJiYgYmVzdF9sYWJlbHMuaXNDb250aW51b3VzKCkAKHVuc2lnbmVkKV9sYWJlbHMuYXQ8aW50PihpKSA8ICh1bnNpZ25lZClLAGNvdW50ZXJzW2tdICE9IDAAdmlydHVhbCB2b2lkIGN2OjpLTWVhbnNEaXN0YW5jZUNvbXB1dGVyPGZhbHNlPjo6b3BlcmF0b3IoKShjb25zdCBjdjo6UmFuZ2UgJikgY29uc3QgW29ubHlEaXN0YW5jZSA9IGZhbHNlXQBOMmN2MjJLTWVhbnNEaXN0YW5jZUNvbXB1dGVySUxiMEVFRQB2aXJ0dWFsIHZvaWQgY3Y6OktNZWFuc0Rpc3RhbmNlQ29tcHV0ZXI8dHJ1ZT46Om9wZXJhdG9yKCkoY29uc3QgY3Y6OlJhbmdlICYpIGNvbnN0IFtvbmx5RGlzdGFuY2UgPSB0cnVlXQBOMmN2MjJLTWVhbnNEaXN0YW5jZUNvbXB1dGVySUxiMUVFRQB2aXJ0dWFsIHZvaWQgY3Y6OktNZWFuc1BQRGlzdGFuY2VDb21wdXRlcjo6b3BlcmF0b3IoKShjb25zdCBjdjo6UmFuZ2UgJikgY29uc3QATjJjdjI0S01lYW5zUFBEaXN0YW5jZUNvbXB1dGVyRQB2b2lkIGN2OjpnZW5lcmF0ZUNlbnRlcnNQUChjb25zdCBjdjo6TWF0ICYsIGN2OjpNYXQgJiwgaW50LCBjdjo6Uk5HICYsIGludCkAZG91YmxlIGN2OjprbWVhbnMoY3Y6OklucHV0QXJyYXksIGludCwgY3Y6OklucHV0T3V0cHV0QXJyYXksIGN2OjpUZXJtQ3JpdGVyaWEsIGludCwgaW50LCBjdjo6T3V0cHV0QXJyYXkpAGJhc2U2NABOVUxMIG9yIGVtcHR5IGZpbGVuYW1lAE5VTEwgb3IgZW1wdHkgYnVmZmVyAGN2T3BlbkZpbGVTdG9yYWdlAC9ob21lL2d3eS9vcGVuY3ZfanMvb3BlbmN2L21vZHVsZXMvY29yZS9zcmMvcGVyc2lzdGVuY2VfYy5jcHAAQ1ZfU1RPUkFHRV9BUFBFTkQgYW5kIENWX1NUT1JBR0VfTUVNT1JZIGFyZSBub3QgY3VycmVudGx5IGNvbXBhdGlibGUAQXBwZW5kaW5nIGRhdGEgdG8gY29tcHJlc3NlZCBmaWxlIGlzIG5vdCBpbXBsZW1lbnRlZABhK3QAd3QAcnQAVVRGLTE2AHV0Zi0xNgBVdGYtMTYAVVRGLTE2IFhNTCBlbmNvZGluZyBpcyBub3Qgc3VwcG9ydGVkISBVc2UgOC1iaXQgZW5jb2RpbmcKAHN0cmxlbihlbmNvZGluZykgPCAxMDAwADw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IiVzIj8+CgA8P3htbCB2ZXJzaW9uPSIxLjAiPz4KADxvcGVuY3Zfc3RvcmFnZT4KADwvb3BlbmN2X3N0b3JhZ2U+AENvdWxkIG5vdCBmaW5kIDwvb3BlbmN2X3N0b3JhZ2U+IGluIHRoZSBlbmQgb2YgZmlsZS4KAHIrdAAgPCEtLSByZXN1bWVkIC0tPgAKACVZQU1MOjEuMAotLS0KAC4uLgotLS0KAHsKAENvdWxkIG5vdCBmaW5kICd9JyBpbiB0aGUgZW5kIG9mIGZpbGUuCgBJbnB1dCBmaWxlIGlzIGVtcHR5AFVuc3VwcG9ydGVkIGZpbGUgc3RvcmFnZSBmb3JtYXQAY3ZSZWxlYXNlRmlsZVN0b3JhZ2UAbm9kZSAhPSAwTABjdkxvYWQAQ291bGQgbm90IGZpbmQgdGhlL2FuIG9iamVjdCBpbiBmaWxlIHN0b3JhZ2UATlVMTCBtZW1vcnkgc3RvcmFnZSBpcyBwYXNzZWQgLSB0aGUgbG9hZGVkIGR5bmFtaWMgc3RydWN0dXJlIGNhbiBub3QgYmUgc3RvcmVkAGN2UmVsZWFzZQBVbmtub3duIG9iamVjdCB0eXBlAHJlbGVhc2UgZnVuY3Rpb24gcG9pbnRlciBpcyBOVUxMAGN2UmVhZABUaGUgbm9kZSBkb2VzIG5vdCByZXByZXNlbnQgYSB1c2VyIG9iamVjdCAodW5rbm93biB0eXBlPykAY3ZHZXRGaWxlTm9kZUJ5TmFtZQBOdWxsIGVsZW1lbnQgbmFtZQBUaGUgbm9kZSBpcyBuZWl0aGVyIGEgbWFwIG5vciBhbiBlbXB0eSBjb2xsZWN0aW9uAGN2R2V0RmlsZU5vZGUATnVsbCBrZXkgZWxlbWVudABtYXBfbm9kZSAhPSAwTABEdXBsaWNhdGVkIGtleQBjdkdldFJvb3RGaWxlTm9kZQBjdlN0YXJ0V3JpdGVTdHJ1Y3QAbXVzdCBzZXQgJ3N0cnVjdF9mbGFncyB8PSBDVl9OT0RFX1NFUScgaWYgdXNpbmcgQmFzZTY0LgBmdW5jdGlvbiAnY3ZTdGFydFdyaXRlU3RydWN0JyBjYWxscyBjYW5ub3QgYmUgbmVzdGVkIGlmIHVzaW5nIEJhc2U2NC4AQXQgdGhlIGVuZCBvZiB0aGUgb3V0cHV0IEJhc2U2NCwgYGN2RW5kV3JpdGVTdHJ1Y3RgIGlzIG5lZWRlZC4AY3ZFbmRXcml0ZVN0cnVjdABjdldyaXRlSW50AGN2V3JpdGVSZWFsAGN2V3JpdGVTdHJpbmcAY3ZXcml0ZUNvbW1lbnQAY3ZXcml0ZVJhd0RhdGEATmVnYXRpdmUgbnVtYmVyIG9mIGVsZW1lbnRzAE51bGwgZGF0YSBwb2ludGVyAGN2U3RhcnRSZWFkUmF3RGF0YQBOdWxsIHBvaW50ZXIgdG8gc291cmNlIGZpbGUgbm9kZSBvciByZWFkZXIAVGhlIGZpbGUgbm9kZSBzaG91bGQgYmUgYSBudW1lcmljYWwgc2NhbGFyIG9yIGEgc2VxdWVuY2UAY3ZSZWFkUmF3RGF0YVNsaWNlAE51bGwgcG9pbnRlciB0byByZWFkZXIgb3IgZGVzdGluYXRpb24gYXJyYXkAVGhlIHJlYWRlZCBzZXF1ZW5jZSBpcyBhIHNjYWxhciwgdGh1cyBsZW4gbXVzdCBiZSAxAFRoZSBzZXF1ZW5jZSBlbGVtZW50IGlzIG5vdCBhIG51bWVyaWNhbCBzY2FsYXIAVGhlIHNlcXVlbmNlIHNsaWNlIGRvZXMgbm90IGZpdCBhbiBpbnRlZ2VyIG51bWJlciBvZiByZWNvcmRzAE51bGwgcG9pbnRlcnMgdG8gc291cmNlIGZpbGUgbm9kZSBvciBkZXN0aW5hdGlvbiBhcnJheQBjdlJlYWRSYXdEYXRhAEludmFsaWQgdHlwZSBpbmZvAGN2UmVnaXN0ZXJUeXBlAFNvbWUgb2YgcmVxdWlyZWQgZnVuY3Rpb24gcG9pbnRlcnMgKGlzX2luc3RhbmNlLCByZWxlYXNlLCByZWFkIG9yIHdyaXRlKSBhcmUgTlVMTABUeXBlIG5hbWUgc2hvdWxkIHN0YXJ0IHdpdGggYSBsZXR0ZXIgb3IgXwBUeXBlIG5hbWUgc2hvdWxkIGNvbnRhaW4gb25seSBsZXR0ZXJzLCBkaWdpdHMsIC0gYW5kIF8AY3ZXcml0ZQBOdWxsIHBvaW50ZXIgdG8gdGhlIHdyaXR0ZW4gb2JqZWN0AFVua25vd24gb2JqZWN0AFRoZSBvYmplY3QgZG9lcyBub3QgaGF2ZSB3cml0ZSBmdW5jdGlvbgBGYWlsZWQgdG8gYWxsb2NhdGUgJWxsdSBieXRlcwBPdXRPZk1lbW9yeUVycm9yAC9ob21lL2d3eS9vcGVuY3ZfanMvb3BlbmN2L21vZHVsZXMvY29yZS9zcmMvYWxsb2MuY3BwAEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD4AAAA/NDU2Nzg5Ojs8PQAAAAAAAAAAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGQAAAAAAABobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzAAAAAGJ1ZmZlci5zaXplKCkgPCBIRUFERVJfU0laRQBtYWtlX2Jhc2U2NF9oZWFkZXIAL2hvbWUvZ3d5L29wZW5jdl9qcy9vcGVuY3YvbW9kdWxlcy9jb3JlL3NyYy9wZXJzaXN0ZW5jZV9iYXNlNjQuY3BwAE5TdDNfXzIxNWJhc2ljX3N0cmluZ2J1ZkljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFAE5TdDNfXzIxOWJhc2ljX29zdHJpbmdzdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQBOU3QzX18yMTliYXNpY19pc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUAZmx1c2gAZHN0X2N1ciArIGxlbiA8IGRzdF9lbmQAZmx1c2goKQBJbnZhbGlkIHBvaW50ZXIgdG8gZmlsZSBzdG9yYWdlAEJhc2U2NFdyaXRlcgBUaGUgZmlsZSBzdG9yYWdlIGlzIG9wZW5lZCBmb3IgcmVhZGluZwBCYXNlNjRDb250ZXh0RW1pdHRlcgAiJGJhc2U2NCQAc3JjAFJhd0RhdGFUb0JpbmFyeUNvbnZlcnRvcgAhZHQuZW1wdHkoKQBsZW4gPiAwAG1ha2VfdG9fYmluYXJ5X2Z1bmNzACEidHlwZSBub3Qgc3VwcG9ydCIAaXNzLmVvZigpAEludmFsaWQgJ2R0Jy4AY2hlY2tfZHQAJ2R0JyBkb2VzIG5vdCBtYXRjaC4AIgBCaW5hcnlUb0N2U2VxQ29udmVydG9yAG1ha2VfZnVuY3MAISJ0eXBlIGlzIG5vdCBzdXBwb3J0IgBiaW5hcnlfdG9fZnVuY3Muc2l6ZSgpAGN2V3JpdGVSYXdEYXRhQmFzZTY0AEJhc2U2NCBzaG91bGQgbm90IGJlIHVzZWQgYXQgcHJlc2VudC4Ac3JjICYmIG5zcmNzID4gMCAmJiBkc3QgJiYgbmRzdHMgPiAwICYmIGZyb21UbyAmJiBucGFpcnMgPiAwAG1peENoYW5uZWxzAC9ob21lL2d3eS9vcGVuY3ZfanMvb3BlbmN2L21vZHVsZXMvY29yZS9zcmMvY2hhbm5lbHMuY3BwAGogPCBuc3JjcyAmJiBzcmNbal0uZGVwdGgoKSA9PSBkZXB0aABpMSA+PSAwICYmIGogPCBuZHN0cyAmJiBkc3Rbal0uZGVwdGgoKSA9PSBkZXB0aAB2b2lkIGN2OjptaXhDaGFubmVscyhjb25zdCBjdjo6TWF0ICosIHNpemVfdCwgY3Y6Ok1hdCAqLCBzaXplX3QsIGNvbnN0IGludCAqLCBzaXplX3QpAGZyb21Uby5zaXplKCklMiA9PSAwICYmIG5zcmMgPiAwICYmIG5kc3QgPiAwAHZvaWQgY3Y6Om1peENoYW5uZWxzKGN2OjpJbnB1dEFycmF5T2ZBcnJheXMsIGN2OjpJbnB1dE91dHB1dEFycmF5T2ZBcnJheXMsIGNvbnN0IHN0ZDo6dmVjdG9yPGludD4gJikAMCA8PSBjb2kgJiYgY29pIDwgY24AZXh0cmFjdENoYW5uZWwAdm9pZCBjdjo6ZXh0cmFjdENoYW5uZWwoY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSwgaW50KQBpbnQgY3Y6OmhhbDo6TFUzMmYoZmxvYXQgKiwgc2l6ZV90LCBpbnQsIGZsb2F0ICosIHNpemVfdCwgaW50KQAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL2NvcmUvc3JjL21hdHJpeF9kZWNvbXAuY3BwAGludCBjdjo6aGFsOjpMVTY0Zihkb3VibGUgKiwgc2l6ZV90LCBpbnQsIGRvdWJsZSAqLCBzaXplX3QsIGludCkAYm9vbCBjdjo6aGFsOjpDaG9sZXNreTMyZihmbG9hdCAqLCBzaXplX3QsIGludCwgZmxvYXQgKiwgc2l6ZV90LCBpbnQpAGJvb2wgY3Y6OmhhbDo6Q2hvbGVza3k2NGYoZG91YmxlICosIHNpemVfdCwgaW50LCBkb3VibGUgKiwgc2l6ZV90LCBpbnQpAGludCBjdjo6aGFsOjpRUjMyZihmbG9hdCAqLCBzaXplX3QsIGludCwgaW50LCBpbnQsIGZsb2F0ICosIHNpemVfdCwgZmxvYXQgKikAaW50IGN2OjpoYWw6OlFSNjRmKGRvdWJsZSAqLCBzaXplX3QsIGludCwgaW50LCBpbnQsIGRvdWJsZSAqLCBzaXplX3QsIGRvdWJsZSAqKQBteV9vYmplY3QAdmlydHVhbCBjdjo6U3RyaW5nIGN2OjpBbGdvcml0aG06OmdldERlZmF1bHROYW1lKCkgY29uc3QAL2hvbWUvZ3d5L29wZW5jdl9qcy9vcGVuY3YvbW9kdWxlcy9jb3JlL3NyYy9hbGdvcml0aG0uY3BwAHZpcnR1YWwgdm9pZCBjdjo6QWxnb3JpdGhtOjpzYXZlKGNvbnN0IGN2OjpTdHJpbmcgJikgY29uc3QAdmlydHVhbCBjdjo6QWxnb3JpdGhtOjp+QWxnb3JpdGhtKCkATjJjdjlBbGdvcml0aG1FAGN2OjpBbGdvcml0aG06OkFsZ29yaXRobSgpAGZvcm1hdAB2b2lkIGN2OjpBbGdvcml0aG06OndyaXRlRm9ybWF0KGN2OjpGaWxlU3RvcmFnZSAmKSBjb25zdAAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL2NvcmUvc3JjL21hdHJpeF9jLmNwcABDT0kgaXMgbm90IHN1cHBvcnRlZCBieSB0aGUgZnVuY3Rpb24AY3ZhcnJUb01hdABpbWctPmRhdGFPcmRlciA9PSAwAGlwbEltYWdlVG9NYXQAaW1nLT5kYXRhT3JkZXIgPT0gMCB8fCBpbWctPnJvaS0+Y29pICE9IDAAdG90YWwgPiAwICYmICgoKCgoc2VxLT5mbGFncykgJiAoKDUxMiAtIDEpIDw8IDMpKSA+PiAzKSArIDEpIDw8ICgoKChzaXplb2Yoc2l6ZV90KS80KzEpKjE2Mzg0fDB4M2E1MCkgPj4gKChzZXEtPmZsYWdzKSAmICgoMSA8PCAzKSAtIDEpKSoyKSAmIDMpKSA9PSBlc3oAVW5rbm93biBhcnJheSB0eXBlACgoKGFycikgIT0gMEwgJiYgKChjb25zdCBJcGxJbWFnZSopKGFycikpLT5uU2l6ZSA9PSBzaXplb2YoSXBsSW1hZ2UpKSAmJiAoKElwbEltYWdlKilhcnIpLT5pbWFnZURhdGEgIT0gMEwpAGV4dHJhY3RJbWFnZUNPSQAwIDw9IGNvaSAmJiBjb2kgPCBtYXQuY2hhbm5lbHMoKQBzcmMucm93cyA9PSBkc3QuY29scyAmJiBzcmMuY29scyA9PSBkc3Qucm93cyAmJiBzcmMudHlwZSgpID09IGRzdC50eXBlKCkAY3ZUcmFuc3Bvc2UAc3JjQS5zaXplKCkgPT0gZHN0LnNpemUoKSAmJiBzcmNBLnR5cGUoKSA9PSBkc3QudHlwZSgpAGN2Q3Jvc3NQcm9kdWN0AFRoZSBsaWJyYXJ5IGlzIGNvbXBpbGVkIHdpdGhvdXQgQ1VEQSBzdXBwb3J0AHRocm93X25vX2N1ZGEAL2hvbWUvZ3d5L29wZW5jdl9qcy9vcGVuY3YvbW9kdWxlcy9jb3JlL2luY2x1ZGUvb3BlbmN2Mi9jb3JlL3ByaXZhdGUuY3VkYS5ocHAAaW50IGN2OjpoYWw6Om5vcm1IYW1taW5nKGNvbnN0IHVjaGFyICosIGludCkAL2hvbWUvZ3d5L29wZW5jdl9qcy9vcGVuY3YvbW9kdWxlcy9jb3JlL3NyYy9zdGF0LmRpc3BhdGNoLmNwcABpbnQgY3Y6OmhhbDo6bm9ybUhhbW1pbmcoY29uc3QgdWNoYXIgKiwgY29uc3QgdWNoYXIgKiwgaW50KQA8P3htbABpY3ZYTUxQYXJzZQBWYWxpZCBYTUwgc2hvdWxkIHN0YXJ0IHdpdGggJzw/eG1sIC4uLj8+JwAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL2NvcmUvc3JjL3BlcnNpc3RlbmNlX3htbC5jcHAAb3BlbmN2X3N0b3JhZ2UAPG9wZW5jdl9zdG9yYWdlPiB0YWcgaXMgbWlzc2luZwA8L29wZW5jdl9zdG9yYWdlPiB0YWcgaXMgbWlzc2luZwBmcy0+ZHVtbXlfZW9mICE9IDAAaWN2WE1MUGFyc2VWYWx1ZQBEaXJlY3RpdmUgdGFncyBhcmUgbm90IGFsbG93ZWQgaGVyZQBFbXB0eSB0YWdzIGFyZSBub3Qgc3VwcG9ydGVkAHRhZ190eXBlID09IDEATWFwIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBuYW1lAGljdlhNTEdldE11bHRpbGluZVN0cmluZ0NvbnRlbnQAaWN2WE1MUGFyc2VCYXNlNjQAZGF0YSBzaXplIG5vdCBtYXRjaGVzIGVsZW1lbXQgc2l6ZQBNaXNtYXRjaGVkIGNsb3NpbmcgdGFnAFRoZXJlIHNob3VsZCBiZSBzcGFjZSBiZXR3ZWVuIGxpdGVyYWxzAExpdGVyYWwgIiBpcyBub3QgYWxsb3dlZCB3aXRoaW4gYSBzdHJpbmcuIFVzZSAmcXVvdDsAQ2xvc2luZyAiIGlzIGV4cGVjdGVkAExpdGVyYWwgJyBvciA+IGFyZSBub3QgYWxsb3dlZC4gVXNlICZhcG9zOyBvciAmZ3Q7AEludmFsaWQgbnVtZXJpYyB2YWx1ZSBpbiB0aGUgc3RyaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIHRoZSBzeW1ib2wgZW50aXR5IG5hbWUAbHQAZ3QAYW1wAGFwb3MAcXVvdABUaGUgYWN0dWFsIHR5cGUgaXMgZGlmZmVyZW50IGZyb20gdGhlIHNwZWNpZmllZCB0eXBlAGljdlhNTFBhcnNlVGFnAFByZWxpbWluYXJ5IGVuZCBvZiB0aGUgc3RyZWFtAFRhZyBzaG91bGQgc3RhcnQgd2l0aCAnPCcAVW5rbm93biB0YWcgdHlwZQBOYW1lIHNob3VsZCBzdGFydCB3aXRoIGEgbGV0dGVyIG9yIHVuZGVyc2NvcmUAQ2xvc2luZyB0YWcgc2hvdWxkIG5vdCBjb250YWluIGFueSBhdHRyaWJ1dGVzAEF0dHJpYnV0ZSBuYW1lIHNob3VsZCBiZSBmb2xsb3dlZCBieSAnPScAQXR0cmlidXRlIHZhbHVlIHNob3VsZCBiZSBwdXQgaW50byBzaW5nbGUgb3IgZG91YmxlIHF1b3RlcwBJbnZhbGlkIGNsb3NpbmcgdGFnIGZvciA8P3htbCAuLi4AVGhlcmUgc2hvdWxkIGJlIHNwYWNlIGJldHdlZW4gYXR0cmlidXRlcwBpY3ZYTUxTa2lwU3BhY2VzAENvbW1lbnRzIGFyZSBub3QgYWxsb3dlZCBoZXJlAFNvbWUgY29sbGVjdGlvbiB0eXBlOiBDVl9OT0RFX1NFUSBvciBDVl9OT0RFX01BUCBtdXN0IGJlIHNwZWNpZmllZABpY3ZYTUxTdGFydFdyaXRlU3RydWN0AGljdlhNTFdyaXRlVGFnAEEgc2luZ2xlIF8gaXMgYSByZXNlcnZlZCB0YWcgbmFtZQBfAENsb3NpbmcgdGFnIHNob3VsZCBub3QgaW5jbHVkZSBhbnkgYXR0cmlidXRlcwBLZXkgc2hvdWxkIHN0YXJ0IHdpdGggYSBsZXR0ZXIgb3IgXwBLZXkgbmFtZSBtYXkgb25seSBjb250YWluIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIFthLXpBLVowLTldLCAnLScgYW5kICdfJwBBbiBleHRyYSBjbG9zaW5nIHRhZwBpY3ZYTUxFbmRXcml0ZVN0cnVjdAAKPCEtLSBuZXh0IHN0cmVhbSAtLT4KAEN1cnJlbnRseSBvbmx5IEJhc2U2NCBkYXRhIGlzIGFsbG93ZWQuAGljdlhNTFdyaXRlU2NhbGFyAGVsZW1lbnRzIHdpdGgga2V5cyBjYW4gbm90IGJlIHdyaXR0ZW4gdG8gc2VxdWVuY2UAaWN2WE1MV3JpdGVTdHJpbmcAI3glMDJ4AGljdlhNTFdyaXRlQ29tbWVudABEb3VibGUgaHlwaGVuICctLScgaXMgbm90IGFsbG93ZWQgaW4gdGhlIGNvbW1lbnRzADwhLS0APCEtLSAlcyAtLT4AaWN2SlNPTlBhcnNlAGxlZnQtYnJhY2Ugb2YgdG9wIGxldmVsIGlzIG1pc3NpbmcAL2hvbWUvZ3d5L29wZW5jdl9qcy9vcGVuY3YvbW9kdWxlcy9jb3JlL3NyYy9wZXJzaXN0ZW5jZV9qc29uLmNwcABVbmV4cGVjdGVkIEVuZC1PZi1GaWxlAGljdkpTT05QYXJzZVNlcQBwdHIgaXMgTlVMTAAnWycgLSBsZWZ0LWJyYWNlIG9mIHNlcSBpcyBtaXNzaW5nAFVuZXhwZWN0ZWQgY2hhcmFjdGVyACddJyAtIHJpZ2h0LWJyYWNlIG9mIHNlcSBpcyBtaXNzaW5nAGljdkpTT05QYXJzZVZhbHVlACRiYXNlNjQkACciJyAtIHJpZ2h0LXF1b3RlIG9mIHN0cmluZyBpcyBtaXNzaW5nACdcdVhYWFgnIGN1cnJlbnRseSBub3Qgc3VwcG9ydGVkAEludmFsaWQgZXNjYXBlIGNoYXJhY3RlcgBudWxsAFZhbHVlICdudWxsJyBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgcGFyc2VyAFVucmVjb2duaXplZCB2YWx1ZQBpY3ZKU09OUGFyc2VNYXAAJ3snIC0gbGVmdC1icmFjZSBvZiBtYXAgaXMgbWlzc2luZwBpY3ZKU09OUGFyc2VLZXkAS2V5IG11c3QgZW5kIHdpdGggJyInAE1pc3NpbmcgJzonIGJldHdlZW4ga2V5IGFuZCB2YWx1ZQBLZXkgaXMgZW1wdHkAdHlwZV9pZAAidHlwZV9pZCIgc2hvdWxkIGJlIG9mIHR5cGUgc3RyaW5nACd9JyAtIHJpZ2h0LWJyYWNlIG9mIG1hcCBpcyBtaXNzaW5nAGljdkpTT05Ta2lwU3BhY2VzAE5vdCBzdXBwb3J0ZWQgZXNjYXBlIGNoYXJhY3RlcgBJbnZhbGlkIGNoYXJhY3RlciBpbiB0aGUgc3RyZWFtAGljdkpTT05Xcml0ZQBpY3ZKU09OU3RhcnRXcml0ZVN0cnVjdABpY3ZKU09ORW5kV3JpdGVTdHJ1Y3QAaWN2SlNPTldyaXRlU3RyaW5nAGljdkpTT05Xcml0ZUNvbW1lbnQAVGhlIHN0b3JhZ2UgaXMgbm90IG9wZW5lZABpY3ZQdXRzAC9ob21lL2d3eS9vcGVuY3ZfanMvb3BlbmN2L21vZHVsZXMvY29yZS9zcmMvcGVyc2lzdGVuY2UuY3BwAGogPCBtYXhDb3VudCAtIDEgJiYgIk9wZW5DViBwZXJzaXN0ZW5jZSBkb2Vzbid0IHN1cHBvcnQgdmVyeSBsb25nIGxpbmVzIgBpY3ZHZXRzAHN6IDwgKHNpemVfdCkobWF4Q291bnQgLSAxKSAmJiAiT3BlbkNWIHBlcnNpc3RlbmNlIGRvZXNuJ3Qgc3VwcG9ydCB2ZXJ5IGxvbmcgbGluZXMiAFRvbyBzbWFsbCBtYXAgaGVhZGVyX3NpemUAY3ZDcmVhdGVNYXAAJXMoJWQpOiAlcwBTZXF1ZW5jZSBlbGVtZW50IHNob3VsZCBub3QgaGF2ZSBuYW1lICh1c2UgPF8+PC9fPikAaWN2RlNDcmVhdGVDb2xsZWN0aW9uAE5VTEwgZG91YmxlIHBvaW50ZXIgdG8gZmlsZSBzdG9yYWdlAGljdkNsb3NlADwvb3BlbmN2X3N0b3JhZ2U+CgB9CgAlZC4AJS4xNmUALk5hbgAtLkluZgAuSW5mACUuOGUAQmFkIGZvcm1hdCBvZiBmbG9hdGluZy1wb2ludCBjb25zdGFudABpY3ZQcm9jZXNzU3BlY2lhbERvdWJsZQBVbmV4cGVjdGVkIGVycm9yLCB1bmFibGUgdG8gZGV0ZXJtaW5lIHRoZSBCYXNlNjQgc3RhdGUuAHN3aXRjaF90b19CYXNlNjRfc3RhdGUAVW5leHBlY3RlZCBlcnJvciwgdW5hYmxlIHRvIHN3aXRjaCB0byB0aGlzIHN0YXRlLgBmcy0+aXNfd3JpdGVfc3RydWN0X2RlbGF5ZWQgPT0gZmFsc2UAbWFrZV93cml0ZV9zdHJ1Y3RfZGVsYXllZABkZXB0aCA+PTAgJiYgZGVwdGggPCA5AGljdlR5cGVTeW1ib2wAdWN3c2lmZHIASW52YWxpZCBkYXRhIHR5cGUgc3BlY2lmaWNhdGlvbgBpY3ZEZWNvZGVGb3JtYXQAaWN2U3ltYm9sVG9UeXBlAFRvbyBsb25nIGRhdGEgdHlwZSBzcGVjaWZpY2F0aW9uAFRvbyBjb21wbGV4IGZvcm1hdCBmb3IgdGhlIG1hdHJpeABpY3ZEZWNvZGVTaW1wbGVGb3JtYXQATjJjdjE2UGFyYWxsZWxMb29wQm9keUUAb3BlbmN2LXNlcXVlbmNlAG9wZW5jdi1zZXF1ZW5jZS10cmVlAG9wZW5jdi1ncmFwaABvcGVuY3Ytc3BhcnNlLW1hdHJpeABvcGVuY3YtaW1hZ2UAb3BlbmN2LW1hdHJpeABvcGVuY3YtbmQtbWF0cml4AHNpemVzAGkAZHQAZGF0YQBTb21lIG9mIGVzc2VudGlhbCBtYXRyaXggYXR0cmlidXRlcyBhcmUgYWJzZW50AGljdlJlYWRNYXRORAAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL2NvcmUvc3JjL3BlcnNpc3RlbmNlX3R5cGVzLmNwcABDb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBtYXRyaXggZGltZW5zaW9uYWxpdHkAVGhlIG1hdHJpeCBkYXRhIGlzIG5vdCBmb3VuZCBpbiBmaWxlIHN0b3JhZ2UAVGhlIG1hdHJpeCBzaXplIGRvZXMgbm90IG1hdGNoIHRvIHRoZSBudW1iZXIgb2Ygc3RvcmVkIGVsZW1lbnRzAHJvd3MAY29scwBpY3ZSZWFkTWF0AEltYWdlcyB3aXRoIHBsYW5hciBkYXRhIGxheW91dCBhcmUgbm90IHN1cHBvcnRlZABpY3ZXcml0ZUltYWdlAHRvcC1sZWZ0AGJvdHRvbS1sZWZ0AG9yaWdpbgBwbGFuYXIAaW50ZXJsZWF2ZWQAbGF5b3V0AHJvaQB4AHkAY29pACVkJWMAU29tZSBvZiBlc3NlbnRpYWwgaW1hZ2UgYXR0cmlidXRlcyBhcmUgYWJzZW50AGljdlJlYWRJbWFnZQBPbmx5IGludGVybGVhdmVkIGltYWdlcyBjYW4gYmUgcmVhZABUaGUgaW1hZ2UgZGF0YSBpcyBub3QgZm91bmQgaW4gZmlsZSBzdG9yYWdlAGljdlJlYWRTcGFyc2VNYXQAQ291bGQgbm90IGRldGVybWluZSBzcGFyc2UgbWF0cml4IGRpbWVuc2lvbmFsaXR5AFNwYXJzZSBtYXRyaXggZGF0YSBpcyBjb3JydXB0ZWQAb3JpZW50ZWQAZmxhZ3MAdmVydGV4X2NvdW50AHZlcnRleF9kdABlZGdlX2NvdW50AGVkZ2VfZHQAMmlmJXMAdmVydGljZXMAZWRnZXMAaGVhZGVyX2R0AFRoZSBzaXplIG9mIGhlYWRlciBjYWxjdWxhdGVkIGZyb20gImhlYWRlcl9kdCIgaXMgZ3JlYXRlciB0aGFuIGhlYWRlcl9zaXplAGljdldyaXRlSGVhZGVyRGF0YQBjb2xvcgAldWkAJXV1AGhlYWRlcl91c2VyX2RhdGEAVGhlIHNpemUgb2YgZWxlbWVudCBjYWxjdWxhdGVkIGZyb20gImR0IiBhbmQgdGhlIGVsZW1fc2l6ZSBkbyBub3QgbWF0Y2gAaWN2R2V0Rm9ybWF0AFNpemUgb2Ygc2VxdWVuY2UgZWxlbWVudCAoZWxlbV9zaXplKSBpcyBpbmNvbnNpc3RlbnQgd2l0aCBzZXEtPmZsYWdzAFNvbWUgb2YgZXNzZW50aWFsIGdyYXBoIGF0dHJpYnV0ZXMgYXJlIGFic2VudABpY3ZSZWFkR3JhcGgAVGhlIHNlcXVlbmNlIGZsYWdzIGFyZSBpbnZhbGlkAE9uZSBvZiAiaGVhZGVyX2R0IiBhbmQgImhlYWRlcl91c2VyX2RhdGEiIGlzIHRoZXJlLCB3aGlsZSB0aGUgb3RoZXIgaXMgbm90AEdyYXBoIGVkZ2VzIHNob3VsZCBzdGFydCB3aXRoIDIgaW50ZWdlcnMgYW5kIGEgZmxvYXQAJWRmJXMATm8gZWRnZXMgZGF0YQBObyB2ZXJ0aWNlcyBkYXRhAFNvbWUgb2Ygc3RvcmVkIHZlcnRleCBpbmRpY2VzIGFyZSBvdXQgb2YgcmFuZ2UARHVwbGljYXRlZCBlZGdlIGhhcyBvY2N1cnJlZABOVUxMIGRvdWJsZSBwb2ludGVyAGljdlJlbGVhc2VHcmFwaABzZXF1ZW5jZXMAb3BlbmN2LXNlcXVlbmNlLXRyZWUgaW5zdGFuY2Ugc2hvdWxkIGNvbnRhaW4gYSBmaWVsZCAic2VxdWVuY2VzIiB0aGF0IHNob3VsZCBiZSBhIHNlcXVlbmNlAGljdlJlYWRTZXFUcmVlAGxldmVsAEFsbCB0aGUgc2VxdWVuY2UgdHJlZSBub2RlcyBzaG91bGQgY29udGFpbiAibGV2ZWwiIGZpZWxkAHJlY3Vyc2l2ZQAwAEZhbHNlAEZBTFNFACBob2xlACBjdXJ2ZQAgdW50eXBlZABjb3VudABTb21lIG9mIGVzc2VudGlhbCBzZXF1ZW5jZSBhdHRyaWJ1dGVzIGFyZSBhYnNlbnQAaWN2UmVhZFNlcQBjdXJ2ZQBjbG9zZWQAaG9sZQB1bnR5cGVkAE9ubHkgb25lIG9mICJoZWFkZXJfdXNlcl9kYXRhIiwgInJlY3QiIGFuZCAib3JpZ2luIiB0YWdzIG1heSBvY2N1cgBUaGUgbnVtYmVyIG9mIHN0b3JlZCBlbGVtZW50cyBkb2VzIG5vdCBtYXRjaCB0byAiY291bnQiAGljdlJlbGVhc2VTZXEALS0tACVZQU1MACVZQU1MOjEuACVZQU1MIDEuAGljdllNTFBhcnNlAFVuc3VwcG9ydGVkIFlBTUwgdmVyc2lvbiAoaXQgbXVzdCBiZSAxLngpAC9ob21lL2d3eS9vcGVuY3ZfanMvb3BlbmN2L21vZHVsZXMvY29yZS9zcmMvcGVyc2lzdGVuY2VfeW1sLmNwcABJbnZhbGlkIG9yIHVuc3VwcG9ydGVkIHN5bnRheABUaGUgWUFNTCBzdHJlYW1zIG11c3Qgc3RhcnQgd2l0aCAnLS0tJywgZXhjZXB0IHRoZSBmaXJzdCBvbmUAT25seSBjb2xsZWN0aW9ucyBhcyBZQU1MIHN0cmVhbXMgYXJlIHN1cHBvcnRlZCBieSB0aGlzIHBhcnNlcgA8dGFnOnlhbWwub3JnLDIwMDI6AGljdllNTFBhcnNlVmFsdWUARW1wdHkgdHlwZSBuYW1lAHN0cgBzZXEAbWFwAGJpbmFyeQBpY3ZZTUxHZXRNdWx0aWxpbmVTdHJpbmdDb250ZW50AFVuZXhwZWN0ZWQgZW5kIG9mIGxpbmUAaWN2WU1MUGFyc2VCYXNlNjQAVW5yZWNvZ25pemVkIEJhc2U2NCBoZWFkZXIASW52YWxpZCBgZHRgIGluIEJhc2U2NCBoZWFkZXIASW52YWxpZCBCYXNlNjQgZGF0YS4AQnl0ZSBzaXplIG5vdCBtYXRjaCBlbGVtZW10IHNpemUASW52YWxpZCBudW1lcmljIHZhbHVlIChpbmNvbnNpc3RlbnQgZXhwbGljaXQgdHlwZSBzcGVjaWZpY2F0aW9uPykAKHB0clswXSAhPSAwIHx8IHB0ciAhPSBmcy0+YnVmZmVyX2VuZCAtIDEpICYmICJPcGVuQ1YgcGVyc2lzdGVuY2UgZG9lc24ndCBzdXBwb3J0IHZlcnkgbG9uZyBsaW5lcyIASW52YWxpZCBjaGFyYWN0ZXIAVG9vIGxvbmcgc3RyaW5nIGxpdGVyYWwAVGhlIHdyb25nIGNsb3NpbmcgYnJhY2tldABNaXNzaW5nICwgYmV0d2VlbiB0aGUgZWxlbWVudHMAQ29tcGxleCBrZXlzIGFyZSBub3Qgc3VwcG9ydGVkAE11bHRpLWxpbmUgdGV4dCBsaXRlcmFscyBhcmUgbm90IHN1cHBvcnRlZABJbmNvcnJlY3QgaW5kZW50YXRpb24AQmxvY2sgc2VxdWVuY2UgZWxlbWVudHMgbXVzdCBiZSBwcmVjZWRlZCB3aXRoICctJwBpY3ZZTUxQYXJzZUtleQBLZXkgbWF5IG5vdCBzdGFydCB3aXRoICctJwBNaXNzaW5nICc6JwBBbiBlbXB0eSBrZXkAaWN2WU1MU2tpcFNwYWNlcwBUb28gbG9uZyBzdHJpbmcgb3IgYSBsYXN0IHN0cmluZyB3L28gbmV3bGluZQBUYWJzIGFyZSBwcm9oaWJpdGVkIGluIFlBTUwhAEF0IHByZXNlbnQsIG91dHB1dCBCYXNlNjQgZGF0YSBvbmx5LgBpY3ZZTUxXcml0ZQBBbiBhdHRlbXB0IHRvIGFkZCBlbGVtZW50IHdpdGhvdXQgYSBrZXkgdG8gYSBtYXAsIG9yIGFkZCBlbGVtZW50IHdpdGgga2V5IHRvIHNlcXVlbmNlAFRoZSBrZXkgaXMgYW4gZW1wdHkAVGhlIGtleSBpcyB0b28gbG9uZwBLZXkgbXVzdCBzdGFydCB3aXRoIGEgbGV0dGVyIG9yIF8AS2V5IG5hbWVzIG1heSBvbmx5IGNvbnRhaW4gYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgW2EtekEtWjAtOV0sICctJywgJ18nIGFuZCAnICcAU29tZSBjb2xsZWN0aW9uIHR5cGUgLSBDVl9OT0RFX1NFUSBvciBDVl9OT0RFX01BUCwgbXVzdCBiZSBzcGVjaWZpZWQAaWN2WU1MU3RhcnRXcml0ZVN0cnVjdAAhIWJpbmFyeSB8ACEhJXMgJWMAISElcwBFbmRXcml0ZVN0cnVjdCB3L28gbWF0Y2hpbmcgU3RhcnRXcml0ZVN0cnVjdABpY3ZZTUxFbmRXcml0ZVN0cnVjdAAuLi4KAC0tLQoATnVsbCBzdHJpbmcgcG9pbnRlcgBpY3ZZTUxXcml0ZVN0cmluZwBUaGUgd3JpdHRlbiBzdHJpbmcgaXMgdG9vIGxvbmcAeCUwMngATnVsbCBjb21tZW50AGljdllNTFdyaXRlQ29tbWVudABhdXRvbWF0aWNfdGhyZXNoICE9IChDVl9USFJFU0hfT1RTVSB8IENWX1RIUkVTSF9UUklBTkdMRSkAL2hvbWUvZ3d5L29wZW5jdl9qcy9vcGVuY3YvbW9kdWxlcy9pbWdwcm9jL3NyYy90aHJlc2guY3BwAHRocmVzaEdlbmVyaWMATjJjdjE1VGhyZXNob2xkUnVubmVyRQBkb3VibGUgY3Y6OnRocmVzaG9sZChjdjo6SW5wdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5LCBkb3VibGUsIGRvdWJsZSwgaW50KQBhZGFwdGl2ZVRocmVzaG9sZABibG9ja1NpemUgJSAyID09IDEgJiYgYmxvY2tTaXplID4gMQBVbmtub3duL3Vuc3VwcG9ydGVkIGFkYXB0aXZlIHRocmVzaG9sZCBtZXRob2QAVW5rbm93bi91bnN1cHBvcnRlZCB0aHJlc2hvbGQgdHlwZQB2b2lkIGN2OjphZGFwdGl2ZVRocmVzaG9sZChjdjo6SW5wdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5LCBkb3VibGUsIGludCwgaW50LCBpbnQsIGRvdWJsZSkAc3JjLnNpemUgPT0gZHN0LnNpemUgJiYgc3JjLmNoYW5uZWxzKCkgPT0gZHN0LmNoYW5uZWxzKCkgJiYgKHNyYy5kZXB0aCgpID09IGRzdC5kZXB0aCgpIHx8IGRzdC5kZXB0aCgpID09IDApAGN2VGhyZXNob2xkACgoKChzdW1UeXBlKSAmICgoNTEyIC0gMSkgPDwgMykpID4+IDMpICsgMSkgPT0gKCgoKHNyY1R5cGUpICYgKCg1MTIgLSAxKSA8PCAzKSkgPj4gMykgKyAxKQBnZXRSb3dTdW1GaWx0ZXIAL2hvbWUvZ3d5L29wZW5jdl9qcy9vcGVuY3YvbW9kdWxlcy9pbWdwcm9jL3NyYy9zbW9vdGguY3BwAE4yY3Y2ZGV0YWlsMTJQdHJPd25lckltcGxJTlNfNlJvd1N1bUlkZEVFTlNfMTREZWZhdWx0RGVsZXRlcklTM19FRUVFAE4yY3Y2Um93U3VtSWRkRUUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU182Um93U3VtSWZkRUVOU18xNERlZmF1bHREZWxldGVySVMzX0VFRUUATjJjdjZSb3dTdW1JZmRFRQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TXzZSb3dTdW1Jc2RFRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzNfRUVFRQBOMmN2NlJvd1N1bUlzZEVFAE4yY3Y2ZGV0YWlsMTJQdHJPd25lckltcGxJTlNfNlJvd1N1bUlpaUVFTlNfMTREZWZhdWx0RGVsZXRlcklTM19FRUVFAE4yY3Y2Um93U3VtSWlpRUUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU182Um93U3VtSXNpRUVOU18xNERlZmF1bHREZWxldGVySVMzX0VFRUUATjJjdjZSb3dTdW1Jc2lFRQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TXzZSb3dTdW1JdGRFRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzNfRUVFRQBOMmN2NlJvd1N1bUl0ZEVFAE4yY3Y2ZGV0YWlsMTJQdHJPd25lckltcGxJTlNfNlJvd1N1bUl0aUVFTlNfMTREZWZhdWx0RGVsZXRlcklTM19FRUVFAE4yY3Y2Um93U3VtSXRpRUUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU182Um93U3VtSWhkRUVOU18xNERlZmF1bHREZWxldGVySVMzX0VFRUUATjJjdjZSb3dTdW1JaGRFRQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TXzZSb3dTdW1JaHRFRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzNfRUVFRQBOMmN2NlJvd1N1bUlodEVFAE4yY3Y2ZGV0YWlsMTJQdHJPd25lckltcGxJTlNfNlJvd1N1bUloaUVFTlNfMTREZWZhdWx0RGVsZXRlcklTM19FRUVFAE4yY3Y2Um93U3VtSWhpRUUAKCgoKHN1bVR5cGUpICYgKCg1MTIgLSAxKSA8PCAzKSkgPj4gMykgKyAxKSA9PSAoKCgoZHN0VHlwZSkgJiAoKDUxMiAtIDEpIDw8IDMpKSA+PiAzKSArIDEpAGdldENvbHVtblN1bUZpbHRlcgBVbnN1cHBvcnRlZCBjb21iaW5hdGlvbiBvZiBzdW0gZm9ybWF0ICg9JWQpLCBhbmQgZGVzdGluYXRpb24gZm9ybWF0ICg9JWQpAE4yY3Y2ZGV0YWlsMTJQdHJPd25lckltcGxJTlNfOUNvbHVtblN1bUlkZEVFTlNfMTREZWZhdWx0RGVsZXRlcklTM19FRUVFAHN1bUNvdW50ID09IGtzaXplLTEATjJjdjlDb2x1bW5TdW1JZGRFRQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TXzlDb2x1bW5TdW1JaWRFRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzNfRUVFRQBOMmN2OUNvbHVtblN1bUlpZEVFAE4yY3Y2ZGV0YWlsMTJQdHJPd25lckltcGxJTlNfOUNvbHVtblN1bUlkZkVFTlNfMTREZWZhdWx0RGVsZXRlcklTM19FRUVFAE4yY3Y5Q29sdW1uU3VtSWRmRUUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU185Q29sdW1uU3VtSWlmRUVOU18xNERlZmF1bHREZWxldGVySVMzX0VFRUUATjJjdjlDb2x1bW5TdW1JaWZFRQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TXzlDb2x1bW5TdW1JaWlFRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzNfRUVFRQBOMmN2OUNvbHVtblN1bUlpaUVFAE4yY3Y2ZGV0YWlsMTJQdHJPd25lckltcGxJTlNfOUNvbHVtblN1bUlkc0VFTlNfMTREZWZhdWx0RGVsZXRlcklTM19FRUVFAE4yY3Y5Q29sdW1uU3VtSWRzRUUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU185Q29sdW1uU3VtSWlzRUVOU18xNERlZmF1bHREZWxldGVySVMzX0VFRUUATjJjdjlDb2x1bW5TdW1JaXNFRQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TXzlDb2x1bW5TdW1JZHRFRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzNfRUVFRQBOMmN2OUNvbHVtblN1bUlkdEVFAE4yY3Y2ZGV0YWlsMTJQdHJPd25lckltcGxJTlNfOUNvbHVtblN1bUlpdEVFTlNfMTREZWZhdWx0RGVsZXRlcklTM19FRUVFAE4yY3Y5Q29sdW1uU3VtSWl0RUUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU185Q29sdW1uU3VtSWRoRUVOU18xNERlZmF1bHREZWxldGVySVMzX0VFRUUATjJjdjlDb2x1bW5TdW1JZGhFRQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TXzlDb2x1bW5TdW1JdGhFRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzNfRUVFRQBOMmN2OUNvbHVtblN1bUl0aEVFAE4yY3Y2ZGV0YWlsMTJQdHJPd25lckltcGxJTlNfOUNvbHVtblN1bUlpaEVFTlNfMTREZWZhdWx0RGVsZXRlcklTM19FRUVFAE4yY3Y5Q29sdW1uU3VtSWloRUUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU18xMkZpbHRlckVuZ2luZUVOU18xNERlZmF1bHREZWxldGVySVMyX0VFRUUAdm9pZCBjdjo6Ym94RmlsdGVyKGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGludCwgY3Y6OlNpemUsIGN2OjpQb2ludCwgYm9vbCwgaW50KQB2b2lkIGN2OjpibHVyKGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGN2OjpTaXplLCBjdjo6UG9pbnQsIGludCkAZ2V0R2F1c3NpYW5LZXJuZWwAa3NpemUud2lkdGggPiAwICYmIGtzaXplLndpZHRoICUgMiA9PSAxICYmIGtzaXplLmhlaWdodCA+IDAgJiYga3NpemUuaGVpZ2h0ICUgMiA9PSAxAGNyZWF0ZUdhdXNzaWFuS2VybmVscwBOMmN2MThmaXhlZFNtb290aEludm9rZXJJaE4xMl9HTE9CQUxfX05fMTEzdWZpeGVkcG9pbnQxNkVFRQB2b2lkIGN2OjpHYXVzc2lhbkJsdXIoY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSwgY3Y6OlNpemUsIGRvdWJsZSwgZG91YmxlLCBpbnQpAChrc2l6ZSAlIDIgPT0gMSkgJiYgKF9zcmMwLmRpbXMoKSA8PSAyICkAbWVkaWFuQmx1cgBzcmMuZGVwdGgoKSA9PSAwICYmIChjbiA9PSAxIHx8IGNuID09IDMgfHwgY24gPT0gNCkAY24gPiAwICYmIGNuIDw9IDQAbWVkaWFuQmx1cl84dV9PbQBtZWRpYW5CbHVyXzh1X08xAGsgPCAxNgBiIDwgMTYAdm9pZCBjdjo6bWVkaWFuQmx1cihjdjo6SW5wdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5LCBpbnQpAChzcmMudHlwZSgpID09ICgoKDApICYgKCgxIDw8IDMpIC0gMSkpICsgKCgoMSktMSkgPDwgMykpIHx8IHNyYy50eXBlKCkgPT0gKCgoMCkgJiAoKDEgPDwgMykgLSAxKSkgKyAoKCgzKS0xKSA8PCAzKSkpICYmIHNyYy5kYXRhICE9IGRzdC5kYXRhAGJpbGF0ZXJhbEZpbHRlcl84dQAoc3JjLnR5cGUoKSA9PSAoKCg1KSAmICgoMSA8PCAzKSAtIDEpKSArICgoKDEpLTEpIDw8IDMpKSB8fCBzcmMudHlwZSgpID09ICgoKDUpICYgKCgxIDw8IDMpIC0gMSkpICsgKCgoMyktMSkgPDwgMykpKSAmJiBzcmMuZGF0YSAhPSBkc3QuZGF0YQBiaWxhdGVyYWxGaWx0ZXJfMzJmAEJpbGF0ZXJhbCBmaWx0ZXJpbmcgaXMgb25seSBpbXBsZW1lbnRlZCBmb3IgOHUgYW5kIDMyZiBpbWFnZXMAYmlsYXRlcmFsRmlsdGVyAGNuID09IDMATjJjdjI3QmlsYXRlcmFsRmlsdGVyXzMyZl9JbnZva2VyRQBOMmN2MjZCaWxhdGVyYWxGaWx0ZXJfOHVfSW52b2tlckUAdm9pZCBjdjo6YmlsYXRlcmFsRmlsdGVyKGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGludCwgZG91YmxlLCBkb3VibGUsIGludCkAKGRzdF93aWR0aCAqIGRzdF9oZWlnaHQgPiAwKSB8fCAoaW52X3NjYWxlX3ggPiAwICYmIGludl9zY2FsZV95ID4gMCkAcmVzaXplAC9ob21lL2d3eS9vcGVuY3ZfanMvb3BlbmN2L21vZHVsZXMvaW1ncHJvYy9zcmMvcmVzaXplLmNwcABkc2l6ZS5hcmVhKCkgPiAwAGZ1bmMgIT0gMABmdW5jICE9IDAgJiYgY24gPD0gNABOMmN2MjFyZXNpemVHZW5lcmljX0ludm9rZXJJTlNfMTJIUmVzaXplQ3ViaWNJZGRmRUVOU18xMlZSZXNpemVDdWJpY0lkZGZOU180Q2FzdElkZEVFTlNfMTJWUmVzaXplTm9WZWNFRUVFRQBrc2l6ZSA8PSBNQVhfRVNJWkUAcmVzaXplR2VuZXJpY19JbnZva2VyAE4yY3YyMXJlc2l6ZUdlbmVyaWNfSW52b2tlcklOU18xMkhSZXNpemVDdWJpY0lmZmZFRU5TXzEyVlJlc2l6ZUN1YmljSWZmZk5TXzRDYXN0SWZmRUVOU18xMlZSZXNpemVOb1ZlY0VFRUVFAE4yY3YyMXJlc2l6ZUdlbmVyaWNfSW52b2tlcklOU18xMkhSZXNpemVDdWJpY0lzZmZFRU5TXzEyVlJlc2l6ZUN1YmljSXNmZk5TXzRDYXN0SWZzRUVOU18xMlZSZXNpemVOb1ZlY0VFRUVFAE4yY3YyMXJlc2l6ZUdlbmVyaWNfSW52b2tlcklOU18xMkhSZXNpemVDdWJpY0l0ZmZFRU5TXzEyVlJlc2l6ZUN1YmljSXRmZk5TXzRDYXN0SWZ0RUVOU18xMlZSZXNpemVOb1ZlY0VFRUVFAE4yY3YyMXJlc2l6ZUdlbmVyaWNfSW52b2tlcklOU18xMkhSZXNpemVDdWJpY0loaXNFRU5TXzEyVlJlc2l6ZUN1YmljSWhpc05TXzExRml4ZWRQdENhc3RJaWhMaTIyRUVFTlNfMTJWUmVzaXplTm9WZWNFRUVFRQBOMmN2MjFyZXNpemVHZW5lcmljX0ludm9rZXJJTlNfMTNIUmVzaXplTGluZWFySWRkZkxpMUVOU18xMkhSZXNpemVOb1ZlY0VFRU5TXzEzVlJlc2l6ZUxpbmVhcklkZGZOU180Q2FzdElkZEVFTlNfMTJWUmVzaXplTm9WZWNFRUVFRQBOMmN2MjFyZXNpemVHZW5lcmljX0ludm9rZXJJTlNfMTNIUmVzaXplTGluZWFySWZmZkxpMUVOU18xMkhSZXNpemVOb1ZlY0VFRU5TXzEzVlJlc2l6ZUxpbmVhcklmZmZOU180Q2FzdElmZkVFTlNfMTJWUmVzaXplTm9WZWNFRUVFRQBOMmN2MjFyZXNpemVHZW5lcmljX0ludm9rZXJJTlNfMTNIUmVzaXplTGluZWFySXNmZkxpMUVOU18xMkhSZXNpemVOb1ZlY0VFRU5TXzEzVlJlc2l6ZUxpbmVhcklzZmZOU180Q2FzdElmc0VFTlNfMTJWUmVzaXplTm9WZWNFRUVFRQBOMmN2MjFyZXNpemVHZW5lcmljX0ludm9rZXJJTlNfMTNIUmVzaXplTGluZWFySXRmZkxpMUVOU18xMkhSZXNpemVOb1ZlY0VFRU5TXzEzVlJlc2l6ZUxpbmVhckl0ZmZOU180Q2FzdElmdEVFTlNfMTJWUmVzaXplTm9WZWNFRUVFRQBOMmN2MjFyZXNpemVHZW5lcmljX0ludm9rZXJJTlNfMTNIUmVzaXplTGluZWFySWhpc0xpMjA0OEVOU18xMkhSZXNpemVOb1ZlY0VFRU5TXzEzVlJlc2l6ZUxpbmVhckloaXNOU18xMUZpeGVkUHRDYXN0SWloTGkyMkVFRU5TXzEyVlJlc2l6ZU5vVmVjRUVFRUUATjJjdjIxcmVzaXplR2VuZXJpY19JbnZva2VySU5TXzE1SFJlc2l6ZUxhbmN6b3M0SWRkZkVFTlNfMTVWUmVzaXplTGFuY3pvczRJZGRmTlNfNENhc3RJZGRFRU5TXzEyVlJlc2l6ZU5vVmVjRUVFRUUATjJjdjIxcmVzaXplR2VuZXJpY19JbnZva2VySU5TXzE1SFJlc2l6ZUxhbmN6b3M0SWZmZkVFTlNfMTVWUmVzaXplTGFuY3pvczRJZmZmTlNfNENhc3RJZmZFRU5TXzEyVlJlc2l6ZU5vVmVjRUVFRUUATjJjdjIxcmVzaXplR2VuZXJpY19JbnZva2VySU5TXzE1SFJlc2l6ZUxhbmN6b3M0SXNmZkVFTlNfMTVWUmVzaXplTGFuY3pvczRJc2ZmTlNfNENhc3RJZnNFRU5TXzEyVlJlc2l6ZU5vVmVjRUVFRUUATjJjdjIxcmVzaXplR2VuZXJpY19JbnZva2VySU5TXzE1SFJlc2l6ZUxhbmN6b3M0SXRmZkVFTlNfMTVWUmVzaXplTGFuY3pvczRJdGZmTlNfNENhc3RJZnRFRU5TXzEyVlJlc2l6ZU5vVmVjRUVFRUUATjJjdjIxcmVzaXplR2VuZXJpY19JbnZva2VySU5TXzE1SFJlc2l6ZUxhbmN6b3M0SWhpc0VFTlNfMTVWUmVzaXplTGFuY3pvczRJaGlzTlNfMTFGaXhlZFB0Q2FzdElpaExpMjJFRUVOU18xMlZSZXNpemVOb1ZlY0VFRUVFAE4yY3YxOFJlc2l6ZUFyZWFfSW52b2tlcklkZEVFAE4yY3YxOFJlc2l6ZUFyZWFfSW52b2tlcklmZkVFAE4yY3YxOFJlc2l6ZUFyZWFfSW52b2tlcklzZkVFAE4yY3YxOFJlc2l6ZUFyZWFfSW52b2tlckl0ZkVFAE4yY3YxOFJlc2l6ZUFyZWFfSW52b2tlckloZkVFAE4yY3YyMnJlc2l6ZUFyZWFGYXN0X0ludm9rZXJJZGROU18xOVJlc2l6ZUFyZWFGYXN0Tm9WZWNJZGRFRUVFAE4yY3YyMnJlc2l6ZUFyZWFGYXN0X0ludm9rZXJJZmZOU18xOVJlc2l6ZUFyZWFGYXN0Tm9WZWNJZmZFRUVFAGNuID09IDQATjJjdjIycmVzaXplQXJlYUZhc3RfSW52b2tlcklzZk5TXzE3UmVzaXplQXJlYUZhc3RWZWNJc05TXzE5UmVzaXplQXJlYUZhc3ROb1ZlY0lzc0VFRUVFRQBOMmN2MjJyZXNpemVBcmVhRmFzdF9JbnZva2VySXRmTlNfMTdSZXNpemVBcmVhRmFzdFZlY0l0TlNfMTlSZXNpemVBcmVhRmFzdE5vVmVjSXR0RUVFRUVFAE4yY3YyMnJlc2l6ZUFyZWFGYXN0X0ludm9rZXJJaGlOU18xN1Jlc2l6ZUFyZWFGYXN0VmVjSWhOU18xOVJlc2l6ZUFyZWFGYXN0Tm9WZWNJaGhFRUVFRUUATjJjdjE1cmVzaXplTk5JbnZva2VyRQBOMTJfR0xPQkFMX19OXzEyMnJlc2l6ZV9iaXRFeGFjdEludm9rZXJJaU5TXzEyZml4ZWRwb2ludDY0RUxpMkVFRQBOMTJfR0xPQkFMX19OXzEyMnJlc2l6ZV9iaXRFeGFjdEludm9rZXJJc05TXzEyZml4ZWRwb2ludDMyRUxpMkVFRQBOMTJfR0xPQkFMX19OXzEyMnJlc2l6ZV9iaXRFeGFjdEludm9rZXJJdE5TXzEzdWZpeGVkcG9pbnQzMkVMaTJFRUUATjEyX0dMT0JBTF9fTl8xMjJyZXNpemVfYml0RXhhY3RJbnZva2VySWFOU18xMmZpeGVkcG9pbnQzMkVMaTJFRUUATjEyX0dMT0JBTF9fTl8xMjJyZXNpemVfYml0RXhhY3RJbnZva2VySWhOU18xM3VmaXhlZHBvaW50MTZFTGkyRUVFAHZvaWQgY3Y6OmhhbDo6cmVzaXplKGludCwgY29uc3QgdWNoYXIgKiwgc2l6ZV90LCBpbnQsIGludCwgdWNoYXIgKiwgc2l6ZV90LCBpbnQsIGludCwgZG91YmxlLCBkb3VibGUsIGludCkAc3NpemUud2lkdGggPiAwICYmIHNzaXplLmhlaWdodCA+IDAAZHNpemUuYXJlYSgpID4gMCB8fCAoaW52X3NjYWxlX3ggPiAwICYmIGludl9zY2FsZV95ID4gMCkAdm9pZCBjdjo6cmVzaXplKGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGN2OjpTaXplLCBkb3VibGUsIGRvdWJsZSwgaW50KQBzcmMudHlwZSgpID09IGRzdC50eXBlKCkAY3ZSZXNpemUAa3R5cGUgPT0gNSB8fCBrdHlwZSA9PSA2AGdldFNvYmVsS2VybmVscwAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL2ltZ3Byb2Mvc3JjL2Rlcml2LmNwcABUaGUga2VybmVsIHNpemUgbXVzdCBiZSBvZGQgYW5kIG5vdCBsYXJnZXIgdGhhbiAzMQBkeCA+PSAwICYmIGR5ID49IDAgJiYgZHgrZHkgPiAwAGtzaXplID4gb3JkZXIAZ2V0U2NoYXJyS2VybmVscwBkeCA+PSAwICYmIGR5ID49IDAgJiYgZHgrZHkgPT0gMQB2b2lkIGN2OjpTb2JlbChjdjo6SW5wdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5LCBpbnQsIGludCwgaW50LCBpbnQsIGRvdWJsZSwgZG91YmxlLCBpbnQpAHZvaWQgY3Y6OlNjaGFycihjdjo6SW5wdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5LCBpbnQsIGludCwgaW50LCBkb3VibGUsIGRvdWJsZSwgaW50KQB2b2lkIGN2OjpMYXBsYWNpYW4oY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSwgaW50LCBpbnQsIGRvdWJsZSwgZG91YmxlLCBpbnQpAG9wID09IE1PUlBIX0VST0RFIHx8IG9wID09IE1PUlBIX0RJTEFURQBnZXRNb3JwaG9sb2d5Um93RmlsdGVyAC9ob21lL2d3eS9vcGVuY3ZfanMvb3BlbmN2L21vZHVsZXMvaW1ncHJvYy9zcmMvbW9ycGguY3BwAFVuc3VwcG9ydGVkIGRhdGEgdHlwZSAoPSVkKQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TXzE0TW9ycGhSb3dGaWx0ZXJJTlNfNU1heE9wSWRFRU5TXzEzTW9ycGhSb3dOb1ZlY0VFRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzZfRUVFRQBOMmN2MTRNb3JwaFJvd0ZpbHRlcklOU181TWF4T3BJZEVFTlNfMTNNb3JwaFJvd05vVmVjRUVFAE4yY3Y2ZGV0YWlsMTJQdHJPd25lckltcGxJTlNfMTRNb3JwaFJvd0ZpbHRlcklOU181TWF4T3BJZkVFTlNfMTNNb3JwaFJvd05vVmVjRUVFTlNfMTREZWZhdWx0RGVsZXRlcklTNl9FRUVFAE4yY3YxNE1vcnBoUm93RmlsdGVySU5TXzVNYXhPcElmRUVOU18xM01vcnBoUm93Tm9WZWNFRUUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU18xNE1vcnBoUm93RmlsdGVySU5TXzVNYXhPcElzRUVOU18xM01vcnBoUm93Tm9WZWNFRUVOU18xNERlZmF1bHREZWxldGVySVM2X0VFRUUATjJjdjE0TW9ycGhSb3dGaWx0ZXJJTlNfNU1heE9wSXNFRU5TXzEzTW9ycGhSb3dOb1ZlY0VFRQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TXzE0TW9ycGhSb3dGaWx0ZXJJTlNfNU1heE9wSXRFRU5TXzEzTW9ycGhSb3dOb1ZlY0VFRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzZfRUVFRQBOMmN2MTRNb3JwaFJvd0ZpbHRlcklOU181TWF4T3BJdEVFTlNfMTNNb3JwaFJvd05vVmVjRUVFAE4yY3Y2ZGV0YWlsMTJQdHJPd25lckltcGxJTlNfMTRNb3JwaFJvd0ZpbHRlcklOU181TWF4T3BJaEVFTlNfMTNNb3JwaFJvd05vVmVjRUVFTlNfMTREZWZhdWx0RGVsZXRlcklTNl9FRUVFAE4yY3YxNE1vcnBoUm93RmlsdGVySU5TXzVNYXhPcEloRUVOU18xM01vcnBoUm93Tm9WZWNFRUUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU18xNE1vcnBoUm93RmlsdGVySU5TXzVNaW5PcElkRUVOU18xM01vcnBoUm93Tm9WZWNFRUVOU18xNERlZmF1bHREZWxldGVySVM2X0VFRUUATjJjdjE0TW9ycGhSb3dGaWx0ZXJJTlNfNU1pbk9wSWRFRU5TXzEzTW9ycGhSb3dOb1ZlY0VFRQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TXzE0TW9ycGhSb3dGaWx0ZXJJTlNfNU1pbk9wSWZFRU5TXzEzTW9ycGhSb3dOb1ZlY0VFRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzZfRUVFRQBOMmN2MTRNb3JwaFJvd0ZpbHRlcklOU181TWluT3BJZkVFTlNfMTNNb3JwaFJvd05vVmVjRUVFAE4yY3Y2ZGV0YWlsMTJQdHJPd25lckltcGxJTlNfMTRNb3JwaFJvd0ZpbHRlcklOU181TWluT3BJc0VFTlNfMTNNb3JwaFJvd05vVmVjRUVFTlNfMTREZWZhdWx0RGVsZXRlcklTNl9FRUVFAE4yY3YxNE1vcnBoUm93RmlsdGVySU5TXzVNaW5PcElzRUVOU18xM01vcnBoUm93Tm9WZWNFRUUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU18xNE1vcnBoUm93RmlsdGVySU5TXzVNaW5PcEl0RUVOU18xM01vcnBoUm93Tm9WZWNFRUVOU18xNERlZmF1bHREZWxldGVySVM2X0VFRUUATjJjdjE0TW9ycGhSb3dGaWx0ZXJJTlNfNU1pbk9wSXRFRU5TXzEzTW9ycGhSb3dOb1ZlY0VFRQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TXzE0TW9ycGhSb3dGaWx0ZXJJTlNfNU1pbk9wSWhFRU5TXzEzTW9ycGhSb3dOb1ZlY0VFRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzZfRUVFRQBOMmN2MTRNb3JwaFJvd0ZpbHRlcklOU181TWluT3BJaEVFTlNfMTNNb3JwaFJvd05vVmVjRUVFAGdldE1vcnBob2xvZ3lDb2x1bW5GaWx0ZXIATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU18xN01vcnBoQ29sdW1uRmlsdGVySU5TXzVNYXhPcElkRUVOU18xNk1vcnBoQ29sdW1uTm9WZWNFRUVOU18xNERlZmF1bHREZWxldGVySVM2X0VFRUUATjJjdjE3TW9ycGhDb2x1bW5GaWx0ZXJJTlNfNU1heE9wSWRFRU5TXzE2TW9ycGhDb2x1bW5Ob1ZlY0VFRQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TXzE3TW9ycGhDb2x1bW5GaWx0ZXJJTlNfNU1heE9wSWZFRU5TXzE2TW9ycGhDb2x1bW5Ob1ZlY0VFRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzZfRUVFRQBOMmN2MTdNb3JwaENvbHVtbkZpbHRlcklOU181TWF4T3BJZkVFTlNfMTZNb3JwaENvbHVtbk5vVmVjRUVFAE4yY3Y2ZGV0YWlsMTJQdHJPd25lckltcGxJTlNfMTdNb3JwaENvbHVtbkZpbHRlcklOU181TWF4T3BJc0VFTlNfMTZNb3JwaENvbHVtbk5vVmVjRUVFTlNfMTREZWZhdWx0RGVsZXRlcklTNl9FRUVFAE4yY3YxN01vcnBoQ29sdW1uRmlsdGVySU5TXzVNYXhPcElzRUVOU18xNk1vcnBoQ29sdW1uTm9WZWNFRUUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU18xN01vcnBoQ29sdW1uRmlsdGVySU5TXzVNYXhPcEl0RUVOU18xNk1vcnBoQ29sdW1uTm9WZWNFRUVOU18xNERlZmF1bHREZWxldGVySVM2X0VFRUUATjJjdjE3TW9ycGhDb2x1bW5GaWx0ZXJJTlNfNU1heE9wSXRFRU5TXzE2TW9ycGhDb2x1bW5Ob1ZlY0VFRQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TXzE3TW9ycGhDb2x1bW5GaWx0ZXJJTlNfNU1heE9wSWhFRU5TXzE2TW9ycGhDb2x1bW5Ob1ZlY0VFRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzZfRUVFRQBOMmN2MTdNb3JwaENvbHVtbkZpbHRlcklOU181TWF4T3BJaEVFTlNfMTZNb3JwaENvbHVtbk5vVmVjRUVFAE4yY3Y2ZGV0YWlsMTJQdHJPd25lckltcGxJTlNfMTdNb3JwaENvbHVtbkZpbHRlcklOU181TWluT3BJZEVFTlNfMTZNb3JwaENvbHVtbk5vVmVjRUVFTlNfMTREZWZhdWx0RGVsZXRlcklTNl9FRUVFAE4yY3YxN01vcnBoQ29sdW1uRmlsdGVySU5TXzVNaW5PcElkRUVOU18xNk1vcnBoQ29sdW1uTm9WZWNFRUUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU18xN01vcnBoQ29sdW1uRmlsdGVySU5TXzVNaW5PcElmRUVOU18xNk1vcnBoQ29sdW1uTm9WZWNFRUVOU18xNERlZmF1bHREZWxldGVySVM2X0VFRUUATjJjdjE3TW9ycGhDb2x1bW5GaWx0ZXJJTlNfNU1pbk9wSWZFRU5TXzE2TW9ycGhDb2x1bW5Ob1ZlY0VFRQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TXzE3TW9ycGhDb2x1bW5GaWx0ZXJJTlNfNU1pbk9wSXNFRU5TXzE2TW9ycGhDb2x1bW5Ob1ZlY0VFRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzZfRUVFRQBOMmN2MTdNb3JwaENvbHVtbkZpbHRlcklOU181TWluT3BJc0VFTlNfMTZNb3JwaENvbHVtbk5vVmVjRUVFAE4yY3Y2ZGV0YWlsMTJQdHJPd25lckltcGxJTlNfMTdNb3JwaENvbHVtbkZpbHRlcklOU181TWluT3BJdEVFTlNfMTZNb3JwaENvbHVtbk5vVmVjRUVFTlNfMTREZWZhdWx0RGVsZXRlcklTNl9FRUVFAE4yY3YxN01vcnBoQ29sdW1uRmlsdGVySU5TXzVNaW5PcEl0RUVOU18xNk1vcnBoQ29sdW1uTm9WZWNFRUUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU18xN01vcnBoQ29sdW1uRmlsdGVySU5TXzVNaW5PcEloRUVOU18xNk1vcnBoQ29sdW1uTm9WZWNFRUVOU18xNERlZmF1bHREZWxldGVySVM2X0VFRUUATjJjdjE3TW9ycGhDb2x1bW5GaWx0ZXJJTlNfNU1pbk9wSWhFRU5TXzE2TW9ycGhDb2x1bW5Ob1ZlY0VFRQBnZXRNb3JwaG9sb2d5RmlsdGVyAE4yY3Y2ZGV0YWlsMTJQdHJPd25lckltcGxJTlNfMTFNb3JwaEZpbHRlcklOU181TWF4T3BJZEVFTlNfMTBNb3JwaE5vVmVjRUVFTlNfMTREZWZhdWx0RGVsZXRlcklTNl9FRUVFAF9rZXJuZWwudHlwZSgpID09IDAATW9ycGhGaWx0ZXIATjJjdjExTW9ycGhGaWx0ZXJJTlNfNU1heE9wSWRFRU5TXzEwTW9ycGhOb1ZlY0VFRQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TXzExTW9ycGhGaWx0ZXJJTlNfNU1heE9wSWZFRU5TXzEwTW9ycGhOb1ZlY0VFRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzZfRUVFRQBOMmN2MTFNb3JwaEZpbHRlcklOU181TWF4T3BJZkVFTlNfMTBNb3JwaE5vVmVjRUVFAE4yY3Y2ZGV0YWlsMTJQdHJPd25lckltcGxJTlNfMTFNb3JwaEZpbHRlcklOU181TWF4T3BJc0VFTlNfMTBNb3JwaE5vVmVjRUVFTlNfMTREZWZhdWx0RGVsZXRlcklTNl9FRUVFAE4yY3YxMU1vcnBoRmlsdGVySU5TXzVNYXhPcElzRUVOU18xME1vcnBoTm9WZWNFRUUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU18xMU1vcnBoRmlsdGVySU5TXzVNYXhPcEl0RUVOU18xME1vcnBoTm9WZWNFRUVOU18xNERlZmF1bHREZWxldGVySVM2X0VFRUUATjJjdjExTW9ycGhGaWx0ZXJJTlNfNU1heE9wSXRFRU5TXzEwTW9ycGhOb1ZlY0VFRQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TXzExTW9ycGhGaWx0ZXJJTlNfNU1heE9wSWhFRU5TXzEwTW9ycGhOb1ZlY0VFRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzZfRUVFRQBOMmN2MTFNb3JwaEZpbHRlcklOU181TWF4T3BJaEVFTlNfMTBNb3JwaE5vVmVjRUVFAE4yY3Y2ZGV0YWlsMTJQdHJPd25lckltcGxJTlNfMTFNb3JwaEZpbHRlcklOU181TWluT3BJZEVFTlNfMTBNb3JwaE5vVmVjRUVFTlNfMTREZWZhdWx0RGVsZXRlcklTNl9FRUVFAE4yY3YxMU1vcnBoRmlsdGVySU5TXzVNaW5PcElkRUVOU18xME1vcnBoTm9WZWNFRUUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU18xMU1vcnBoRmlsdGVySU5TXzVNaW5PcElmRUVOU18xME1vcnBoTm9WZWNFRUVOU18xNERlZmF1bHREZWxldGVySVM2X0VFRUUATjJjdjExTW9ycGhGaWx0ZXJJTlNfNU1pbk9wSWZFRU5TXzEwTW9ycGhOb1ZlY0VFRQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TXzExTW9ycGhGaWx0ZXJJTlNfNU1pbk9wSXNFRU5TXzEwTW9ycGhOb1ZlY0VFRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzZfRUVFRQBOMmN2MTFNb3JwaEZpbHRlcklOU181TWluT3BJc0VFTlNfMTBNb3JwaE5vVmVjRUVFAE4yY3Y2ZGV0YWlsMTJQdHJPd25lckltcGxJTlNfMTFNb3JwaEZpbHRlcklOU181TWluT3BJdEVFTlNfMTBNb3JwaE5vVmVjRUVFTlNfMTREZWZhdWx0RGVsZXRlcklTNl9FRUVFAE4yY3YxMU1vcnBoRmlsdGVySU5TXzVNaW5PcEl0RUVOU18xME1vcnBoTm9WZWNFRUUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU18xMU1vcnBoRmlsdGVySU5TXzVNaW5PcEloRUVOU18xME1vcnBoTm9WZWNFRUVOU18xNERlZmF1bHREZWxldGVySVM2X0VFRUUATjJjdjExTW9ycGhGaWx0ZXJJTlNfNU1pbk9wSWhFRU5TXzEwTW9ycGhOb1ZlY0VFRQBkZXB0aCA9PSAwIHx8IGRlcHRoID09IDIgfHwgZGVwdGggPT0gMyB8fCBkZXB0aCA9PSA1IHx8IGRlcHRoID09IDYAY3JlYXRlTW9ycGhvbG9neUZpbHRlcgBzaGFwZSA9PSBNT1JQSF9SRUNUIHx8IHNoYXBlID09IE1PUlBIX0NST1NTIHx8IHNoYXBlID09IE1PUlBIX0VMTElQU0UAZ2V0U3RydWN0dXJpbmdFbGVtZW50AHZvaWQgY3Y6Om1vcnBoT3AoaW50LCBjdjo6SW5wdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5LCBjdjo6SW5wdXRBcnJheSwgY3Y6OlBvaW50LCBpbnQsIGludCwgY29uc3QgY3Y6OlNjYWxhciAmKQB2b2lkIGN2Ojplcm9kZShjdjo6SW5wdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5LCBjdjo6SW5wdXRBcnJheSwgY3Y6OlBvaW50LCBpbnQsIGludCwgY29uc3QgY3Y6OlNjYWxhciAmKQB2b2lkIGN2OjpkaWxhdGUoY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSwgY3Y6OklucHV0QXJyYXksIGN2OjpQb2ludCwgaW50LCBpbnQsIGNvbnN0IGN2OjpTY2FsYXIgJikAbW9ycGhvbG9neUV4AHVua25vd24gbW9ycGhvbG9naWNhbCBvcGVyYXRpb24Adm9pZCBjdjo6bW9ycGhvbG9neUV4KGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGludCwgY3Y6OklucHV0QXJyYXksIGN2OjpQb2ludCwgaW50LCBpbnQsIGNvbnN0IGN2OjpTY2FsYXIgJikAc3JjLnR5cGUoKSA9PSAoKCgwKSAmICgoMSA8PCAzKSAtIDEpKSArICgoKDEpLTEpIDw8IDMpKQBkaXN0YW5jZVRyYW5zZm9ybQAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL2ltZ3Byb2Mvc3JjL2Rpc3RyYW5zZm9ybS5jcHAAbGFiZWxUeXBlID09IERJU1RfTEFCRUxfUElYRUwgfHwgbGFiZWxUeXBlID09IERJU1RfTEFCRUxfQ0NPTVAATWFzayBzaXplIHNob3VsZCBiZSAzIG9yIDUgb3IgMCAocHJlY2lzZSkAdHJ1ZURpc3RUcmFucwBzcmMudHlwZSgpID09ICgoKDApICYgKCgxIDw8IDMpIC0gMSkpICsgKCgoMSktMSkgPDwgMykpICYmIGRzdC50eXBlKCkgPT0gKCgoNSkgJiAoKDEgPDwgMykgLSAxKSkgKyAoKCgxKS0xKSA8PCAzKSkAZGlzdFR5cGUgPT0gQ1ZfRElTVF9DIHx8IGRpc3RUeXBlID09IENWX0RJU1RfTDEgfHwgZGlzdFR5cGUgPT0gQ1ZfRElTVF9MMgBVbmtub3duIG1ldHJpYyB0eXBlAGdldERpc3RhbmNlVHJhbnNmb3JtTWFzawBOMmN2MTJEVFJvd0ludm9rZXJFAE4yY3YxNURUQ29sdW1uSW52b2tlckUAdm9pZCBjdjo6ZGlzdGFuY2VUcmFuc2Zvcm0oY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5LCBpbnQsIGludCwgaW50KQBkaXN0YW5jZVRyYW5zZm9ybV9MMV84VQBzcmMudHlwZSgpID09ICgoKDApICYgKCgxIDw8IDMpIC0gMSkpICsgKCgoMSktMSkgPDwgMykpICYmIGRzdC50eXBlKCkgPT0gKCgoMCkgJiAoKDEgPDwgMykgLSAxKSkgKyAoKCgxKS0xKSA8PCAzKSkAZGlzdGFuY2VBVFNfTDFfOHUAdm9pZCBjdjo6ZGlzdGFuY2VUcmFuc2Zvcm1fTDFfOFUoY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSkAdm9pZCBjdjo6ZGlzdGFuY2VUcmFuc2Zvcm0oY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSwgaW50LCBpbnQsIGludCkATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOMTJfR0xPQkFMX19OXzExMENMQUhFX0ltcGxFTlNfMTREZWZhdWx0RGVsZXRlcklTM19FRUVFAF9zcmMudHlwZSgpID09ICgoKDApICYgKCgxIDw8IDMpIC0gMSkpICsgKCgoMSktMSkgPDwgMykpIHx8IF9zcmMudHlwZSgpID09ICgoKDIpICYgKCgxIDw8IDMpIC0gMSkpICsgKCgoMSktMSkgPDwgMykpAC9ob21lL2d3eS9vcGVuY3ZfanMvb3BlbmN2L21vZHVsZXMvaW1ncHJvYy9zcmMvY2xhaGUuY3BwAFVuc3VwcG9ydGVkIHR5cGUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOMTJfR0xPQkFMX19OXzEyNENMQUhFX0ludGVycG9sYXRpb25fQm9keUl0TGkwRUVFTlNfMTREZWZhdWx0RGVsZXRlcklTNF9FRUVFAE4xMl9HTE9CQUxfX05fMTI0Q0xBSEVfSW50ZXJwb2xhdGlvbl9Cb2R5SXRMaTBFRUUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOMTJfR0xPQkFMX19OXzEyNENMQUhFX0ludGVycG9sYXRpb25fQm9keUloTGkwRUVFTlNfMTREZWZhdWx0RGVsZXRlcklTNF9FRUVFAE4xMl9HTE9CQUxfX05fMTI0Q0xBSEVfSW50ZXJwb2xhdGlvbl9Cb2R5SWhMaTBFRUUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOMTJfR0xPQkFMX19OXzExOENMQUhFX0NhbGNMdXRfQm9keUl0TGk2NTUzNkVMaTBFRUVOU18xNERlZmF1bHREZWxldGVySVM0X0VFRUUATjEyX0dMT0JBTF9fTl8xMThDTEFIRV9DYWxjTHV0X0JvZHlJdExpNjU1MzZFTGkwRUVFAE4yY3Y2ZGV0YWlsMTJQdHJPd25lckltcGxJTjEyX0dMT0JBTF9fTl8xMThDTEFIRV9DYWxjTHV0X0JvZHlJaExpMjU2RUxpMEVFRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzRfRUVFRQBOMTJfR0xPQkFMX19OXzExOENMQUhFX0NhbGNMdXRfQm9keUloTGkyNTZFTGkwRUVFAHZpcnR1YWwgdm9pZCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkNMQUhFX0ltcGw6OmFwcGx5KGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXkpAE4xMl9HTE9CQUxfX05fMTEwQ0xBSEVfSW1wbEUAY291bnQgPj0gMCAmJiAoZGVwdGggPT0gNSB8fCBkZXB0aCA9PSA0KQBtaW5FbmNsb3NpbmdDaXJjbGUAL2hvbWUvZ3d5L29wZW5jdl9qcy9vcGVuY3YvbW9kdWxlcy9pbWdwcm9jL3NyYy9zaGFwZWRlc2NyLmNwcAB2b2lkIGN2OjptaW5FbmNsb3NpbmdDaXJjbGUoY3Y6OklucHV0QXJyYXksIGN2OjpQb2ludDJmICYsIGZsb2F0ICYpAGFyY0xlbmd0aABkb3VibGUgY3Y6OmFyY0xlbmd0aChjdjo6SW5wdXRBcnJheSwgYm9vbCkAbnBvaW50cyA+PSAwICYmIChkZXB0aCA9PSA1IHx8IGRlcHRoID09IDQpAGNvbnRvdXJBcmVhAGRvdWJsZSBjdjo6Y29udG91ckFyZWEoY3Y6OklucHV0QXJyYXksIGJvb2wpAG4gPj0gMCAmJiAoZGVwdGggPT0gNSB8fCBkZXB0aCA9PSA0KQBmaXRFbGxpcHNlAFRoZXJlIHNob3VsZCBiZSBhdCBsZWFzdCA1IHBvaW50cyB0byBmaXQgdGhlIGVsbGlwc2UAY3Y6OlJvdGF0ZWRSZWN0IGN2OjpmaXRFbGxpcHNlKGN2OjpJbnB1dEFycmF5KQBwb2ludFNldEJvdW5kaW5nUmVjdABpbWcuZGVwdGgoKSA8PSAxICYmIGltZy5jaGFubmVscygpID09IDEAbWFza0JvdW5kaW5nUmVjdABjdjo6UmVjdCBjdjo6Ym91bmRpbmdSZWN0KGN2OjpJbnB1dEFycmF5KQBVbnN1cHBvcnRlZCBzZXF1ZW5jZSB0eXBlAGN2Qm91bmRpbmdSZWN0AFRoZSBpbWFnZS9tYXRyaXggZm9ybWF0IGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIGZ1bmN0aW9uAG9yaWVudGF0aW9uICE9IDAAcm90YXRpbmdDYWxpcGVycwAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL2ltZ3Byb2Mvc3JjL3JvdGNhbGlwZXJzLmNwcABjdjo6Um90YXRlZFJlY3QgY3Y6Om1pbkFyZWFSZWN0KGN2OjpJbnB1dEFycmF5KQBib3JkZXJUeXBlICE9IEJPUkRFUl9DT05TVEFOVABweXJEb3duAC9ob21lL2d3eS9vcGVuY3ZfanMvb3BlbmN2L21vZHVsZXMvaW1ncHJvYy9zcmMvcHlyYW1pZHMuY3BwACFfc3JjLmVtcHR5KCkAcHlyRG93bl8Ac3NpemUud2lkdGggPiAwICYmIHNzaXplLmhlaWdodCA+IDAgJiYgc3RkOjphYnMoZHNpemUud2lkdGgqMiAtIHNzaXplLndpZHRoKSA8PSAyICYmIHN0ZDo6YWJzKGRzaXplLmhlaWdodCoyIC0gc3NpemUuaGVpZ2h0KSA8PSAyAHZvaWQgY3Y6OnB5ckRvd24oY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSwgY29uc3QgY3Y6OlNpemUgJiwgaW50KQBib3JkZXJUeXBlID09IEJPUkRFUl9ERUZBVUxUAHB5clVwAHN0ZDo6YWJzKGRzaXplLndpZHRoIC0gc3NpemUud2lkdGgqMikgPT0gZHNpemUud2lkdGggJSAyICYmIHN0ZDo6YWJzKGRzaXplLmhlaWdodCAtIHNzaXplLmhlaWdodCoyKSA9PSBkc2l6ZS5oZWlnaHQgJSAyAHB5clVwXwB2b2lkIGN2OjpweXJVcChjdjo6SW5wdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5LCBjb25zdCBjdjo6U2l6ZSAmLCBpbnQpAG0xdHlwZSA9PSAoKCgzKSAmICgoMSA8PCAzKSAtIDEpKSArICgoKDIpLTEpIDw8IDMpKSB8fCBtMXR5cGUgPT0gKCgoNSkgJiAoKDEgPDwgMykgLSAxKSkgKyAoKCgxKS0xKSA8PCAzKSkgfHwgbTF0eXBlID09ICgoKDUpICYgKCgxIDw8IDMpIC0gMSkpICsgKCgoMiktMSkgPDwgMykpAC9ob21lL2d3eS9vcGVuY3ZfanMvb3BlbmN2L21vZHVsZXMvaW1ncHJvYy9zcmMvdW5kaXN0b3J0LmNwcABBLnNpemUoKSA9PSBTaXplKDMsMykgJiYgQS5zaXplKCkgPT0gUi5zaXplKCkAQXIuc2l6ZSgpID09IFNpemUoMywzKSB8fCBBci5zaXplKCkgPT0gU2l6ZSg0LCAzKQBkaXN0Q29lZmZzLnNpemUoKSA9PSBTaXplKDEsIDQpIHx8IGRpc3RDb2VmZnMuc2l6ZSgpID09IFNpemUoNCwgMSkgfHwgZGlzdENvZWZmcy5zaXplKCkgPT0gU2l6ZSgxLCA1KSB8fCBkaXN0Q29lZmZzLnNpemUoKSA9PSBTaXplKDUsIDEpIHx8IGRpc3RDb2VmZnMuc2l6ZSgpID09IFNpemUoMSwgOCkgfHwgZGlzdENvZWZmcy5zaXplKCkgPT0gU2l6ZSg4LCAxKSB8fCBkaXN0Q29lZmZzLnNpemUoKSA9PSBTaXplKDEsIDEyKSB8fCBkaXN0Q29lZmZzLnNpemUoKSA9PSBTaXplKDEyLCAxKSB8fCBkaXN0Q29lZmZzLnNpemUoKSA9PSBTaXplKDEsIDE0KSB8fCBkaXN0Q29lZmZzLnNpemUoKSA9PSBTaXplKDE0LCAxKQBtMSAhPSAwTCAmJiBtMiAhPSAwTABtMWYgIT0gMEwgJiYgbTJmICE9IDBMADMxaW5pdFVuZGlzdG9ydFJlY3RpZnlNYXBDb21wdXRlcgBkc3QuZGF0YSAhPSBzcmMuZGF0YQB1bmRpc3RvcnQAdm9pZCBjdjo6dW5kaXN0b3J0KGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBjdjo6SW5wdXRBcnJheSwgY3Y6OklucHV0QXJyYXkpACgoKF9zcmMpICE9IDBMICYmICgoKGNvbnN0IEN2TWF0KikoX3NyYykpLT50eXBlICYgMHhGRkZGMDAwMCkgPT0gMHg0MjQyMDAwMCAmJiAoKGNvbnN0IEN2TWF0KikoX3NyYykpLT5jb2xzID4gMCAmJiAoKGNvbnN0IEN2TWF0KikoX3NyYykpLT5yb3dzID4gMCkgJiYgKChjb25zdCBDdk1hdCopKF9zcmMpKS0+ZGF0YS5wdHIgIT0gMEwpICYmICgoKF9kc3QpICE9IDBMICYmICgoKGNvbnN0IEN2TWF0KikoX2RzdCkpLT50eXBlICYgMHhGRkZGMDAwMCkgPT0gMHg0MjQyMDAwMCAmJiAoKGNvbnN0IEN2TWF0KikoX2RzdCkpLT5jb2xzID4gMCAmJiAoKGNvbnN0IEN2TWF0KikoX2RzdCkpLT5yb3dzID4gMCkgJiYgKChjb25zdCBDdk1hdCopKF9kc3QpKS0+ZGF0YS5wdHIgIT0gMEwpICYmIChfc3JjLT5yb3dzID09IDEgfHwgX3NyYy0+Y29scyA9PSAxKSAmJiAoX2RzdC0+cm93cyA9PSAxIHx8IF9kc3QtPmNvbHMgPT0gMSkgJiYgX3NyYy0+Y29scyArIF9zcmMtPnJvd3MgLSAxID09IF9kc3QtPnJvd3MgKyBfZHN0LT5jb2xzIC0gMSAmJiAoKChfc3JjLT50eXBlKSAmICgoMSA8PCAzKSo1MTIgLSAxKSkgPT0gKCgoNSkgJiAoKDEgPDwgMykgLSAxKSkgKyAoKCgyKS0xKSA8PCAzKSkgfHwgKChfc3JjLT50eXBlKSAmICgoMSA8PCAzKSo1MTIgLSAxKSkgPT0gKCgoNikgJiAoKDEgPDwgMykgLSAxKSkgKyAoKCgyKS0xKSA8PCAzKSkpICYmICgoKF9kc3QtPnR5cGUpICYgKCgxIDw8IDMpKjUxMiAtIDEpKSA9PSAoKCg1KSAmICgoMSA8PCAzKSAtIDEpKSArICgoKDIpLTEpIDw8IDMpKSB8fCAoKF9kc3QtPnR5cGUpICYgKCgxIDw8IDMpKjUxMiAtIDEpKSA9PSAoKCg2KSAmICgoMSA8PCAzKSAtIDEpKSArICgoKDIpLTEpIDw8IDMpKSkAY3ZVbmRpc3RvcnRQb2ludHNJbnRlcm5hbAAoKChfY2FtZXJhTWF0cml4KSAhPSAwTCAmJiAoKChjb25zdCBDdk1hdCopKF9jYW1lcmFNYXRyaXgpKS0+dHlwZSAmIDB4RkZGRjAwMDApID09IDB4NDI0MjAwMDAgJiYgKChjb25zdCBDdk1hdCopKF9jYW1lcmFNYXRyaXgpKS0+Y29scyA+IDAgJiYgKChjb25zdCBDdk1hdCopKF9jYW1lcmFNYXRyaXgpKS0+cm93cyA+IDApICYmICgoY29uc3QgQ3ZNYXQqKShfY2FtZXJhTWF0cml4KSktPmRhdGEucHRyICE9IDBMKSAmJiBfY2FtZXJhTWF0cml4LT5yb3dzID09IDMgJiYgX2NhbWVyYU1hdHJpeC0+Y29scyA9PSAzACgoKF9kaXN0Q29lZmZzKSAhPSAwTCAmJiAoKChjb25zdCBDdk1hdCopKF9kaXN0Q29lZmZzKSktPnR5cGUgJiAweEZGRkYwMDAwKSA9PSAweDQyNDIwMDAwICYmICgoY29uc3QgQ3ZNYXQqKShfZGlzdENvZWZmcykpLT5jb2xzID4gMCAmJiAoKGNvbnN0IEN2TWF0KikoX2Rpc3RDb2VmZnMpKS0+cm93cyA+IDApICYmICgoY29uc3QgQ3ZNYXQqKShfZGlzdENvZWZmcykpLT5kYXRhLnB0ciAhPSAwTCkgJiYgKF9kaXN0Q29lZmZzLT5yb3dzID09IDEgfHwgX2Rpc3RDb2VmZnMtPmNvbHMgPT0gMSkgJiYgKF9kaXN0Q29lZmZzLT5yb3dzKl9kaXN0Q29lZmZzLT5jb2xzID09IDQgfHwgX2Rpc3RDb2VmZnMtPnJvd3MqX2Rpc3RDb2VmZnMtPmNvbHMgPT0gNSB8fCBfZGlzdENvZWZmcy0+cm93cypfZGlzdENvZWZmcy0+Y29scyA9PSA4IHx8IF9kaXN0Q29lZmZzLT5yb3dzKl9kaXN0Q29lZmZzLT5jb2xzID09IDEyIHx8IF9kaXN0Q29lZmZzLT5yb3dzKl9kaXN0Q29lZmZzLT5jb2xzID09IDE0KQAoKChtYXRSKSAhPSAwTCAmJiAoKChjb25zdCBDdk1hdCopKG1hdFIpKS0+dHlwZSAmIDB4RkZGRjAwMDApID09IDB4NDI0MjAwMDAgJiYgKChjb25zdCBDdk1hdCopKG1hdFIpKS0+Y29scyA+IDAgJiYgKChjb25zdCBDdk1hdCopKG1hdFIpKS0+cm93cyA+IDApICYmICgoY29uc3QgQ3ZNYXQqKShtYXRSKSktPmRhdGEucHRyICE9IDBMKSAmJiBtYXRSLT5yb3dzID09IDMgJiYgbWF0Ui0+Y29scyA9PSAzACgoKG1hdFApICE9IDBMICYmICgoKGNvbnN0IEN2TWF0KikobWF0UCkpLT50eXBlICYgMHhGRkZGMDAwMCkgPT0gMHg0MjQyMDAwMCAmJiAoKGNvbnN0IEN2TWF0KikobWF0UCkpLT5jb2xzID4gMCAmJiAoKGNvbnN0IEN2TWF0KikobWF0UCkpLT5yb3dzID4gMCkgJiYgKChjb25zdCBDdk1hdCopKG1hdFApKS0+ZGF0YS5wdHIgIT0gMEwpICYmIG1hdFAtPnJvd3MgPT0gMyAmJiAobWF0UC0+Y29scyA9PSAzIHx8IG1hdFAtPmNvbHMgPT0gNCkAc3JjLmlzQ29udGludW91cygpICYmIChzcmMuZGVwdGgoKSA9PSA1IHx8IHNyYy5kZXB0aCgpID09IDYpICYmICgoc3JjLnJvd3MgPT0gMSAmJiBzcmMuY2hhbm5lbHMoKSA9PSAyKSB8fCBzcmMuY29scypzcmMuY2hhbm5lbHMoKSA9PSAyKQB1bmRpc3RvcnRQb2ludHMAc3JjLnR5cGUoKSA9PSAoKCgwKSAmICgoMSA8PCAzKSAtIDEpKSArICgoKDMpLTEpIDw8IDMpKSAmJiBkc3QudHlwZSgpID09ICgoKDQpICYgKCgxIDw8IDMpIC0gMSkpICsgKCgoMSktMSkgPDwgMykpAHdhdGVyc2hlZAAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL2ltZ3Byb2Mvc3JjL3NlZ21lbnRhdGlvbi5jcHAAc3JjLnNpemUoKSA9PSBkc3Quc2l6ZSgpAHZvaWQgY3Y6OndhdGVyc2hlZChjdjo6SW5wdXRBcnJheSwgY3Y6OklucHV0T3V0cHV0QXJyYXkpAGRlcHRoID09IDAgfHwgZGVwdGggPT0gMgBkZW1vc2FpY2luZwAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL2ltZ3Byb2Mvc3JjL2RlbW9zYWljaW5nLmNwcABzY24gPT0gMSAmJiBkY24gPT0gMQBCYXllci0+R3JheSBkZW1vc2FpY2luZyBvbmx5IHN1cHBvcnRzIDh1IGFuZCAxNnUgdHlwZXMAc2NuID09IDEgJiYgKGRjbiA9PSAzIHx8IGRjbiA9PSA0KQBCYXllci0+UkdCIGRlbW9zYWljaW5nIG9ubHkgc3VwcG9ydHMgOHUgYW5kIDE2dSB0eXBlcwBzY24gPT0gMSAmJiBkY24gPT0gMwBCYXllci0+UkdCIEVkZ2UtQXdhcmUgZGVtb3NhaWNpbmcgb25seSBjdXJyZW50bHkgc3VwcG9ydHMgOHUgYW5kIDE2dSB0eXBlcwBVbmtub3duIC8gdW5zdXBwb3J0ZWQgY29sb3IgY29udmVyc2lvbiBjb2RlAE4yY3YyOUJheWVyMlJHQl9FZGdlQXdhcmVfVF9JbnZva2VySXROU18yNlNJTURCYXllclN0dWJJbnRlcnBvbGF0b3JfSXRFRUVFAE4yY3YyOUJheWVyMlJHQl9FZGdlQXdhcmVfVF9JbnZva2VySWhOU18yNlNJTURCYXllclN0dWJJbnRlcnBvbGF0b3JfSWhFRUVFAE4yY3YxN0JheWVyMlJHQl9JbnZva2VySXROU18yNlNJTURCYXllclN0dWJJbnRlcnBvbGF0b3JfSXRFRUVFAE4yY3YxN0JheWVyMlJHQl9JbnZva2VySWhOU18yNlNJTURCYXllclN0dWJJbnRlcnBvbGF0b3JfSWhFRUVFAE4yY3YxOEJheWVyMkdyYXlfSW52b2tlckl0TlNfMjZTSU1EQmF5ZXJTdHViSW50ZXJwb2xhdG9yX0l0RUVFRQBOMmN2MThCYXllcjJHcmF5X0ludm9rZXJJaE5TXzI2U0lNREJheWVyU3R1YkludGVycG9sYXRvcl9JaEVFRUUAdm9pZCBjdjo6ZGVtb3NhaWNpbmcoY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSwgaW50LCBpbnQpAHNyYy50eXBlKCkgPT0gKCgoMCkgJiAoKDEgPDwgMykgLSAxKSkgKyAoKCgxKS0xKSA8PCAzKSkgfHwgc3JjLnR5cGUoKSA9PSAoKCg1KSAmICgoMSA8PCAzKSAtIDEpKSArICgoKDEpLTEpIDw8IDMpKQBjb3JuZXJFaWdlblZhbHNWZWNzAC9ob21lL2d3eS9vcGVuY3ZfanMvb3BlbmN2L21vZHVsZXMvaW1ncHJvYy9zcmMvY29ybmVyLmNwcAB2b2lkIGN2Ojpjb3JuZXJNaW5FaWdlblZhbChjdjo6SW5wdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5LCBpbnQsIGludCwgaW50KQB2b2lkIGN2Ojpjb3JuZXJIYXJyaXMoY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSwgaW50LCBpbnQsIGRvdWJsZSwgaW50KQBxdWFsaXR5TGV2ZWwgPiAwICYmIG1pbkRpc3RhbmNlID49IDAgJiYgbWF4Q29ybmVycyA+PSAwAGdvb2RGZWF0dXJlc1RvVHJhY2sAL2hvbWUvZ3d5L29wZW5jdl9qcy9vcGVuY3YvbW9kdWxlcy9pbWdwcm9jL3NyYy9mZWF0dXJlc2VsZWN0LmNwcABfbWFzay5lbXB0eSgpIHx8IChfbWFzay50eXBlKCkgPT0gKCgoMCkgJiAoKDEgPDwgMykgLSAxKSkgKyAoKCgxKS0xKSA8PCAzKSkgJiYgX21hc2suc2FtZVNpemUoX2ltYWdlKSkAdm9pZCBjdjo6Z29vZEZlYXR1cmVzVG9UcmFjayhjdjo6SW5wdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5LCBpbnQsIGRvdWJsZSwgZG91YmxlLCBjdjo6SW5wdXRBcnJheSwgaW50LCBpbnQsIGJvb2wsIGRvdWJsZSkAX21vZGVsIG11c3QgaGF2ZSBDVl82NEZDMSB0eXBlLCByb3dzID09IDEgYW5kIGNvbHMgPT0gMTMqY29tcG9uZW50c0NvdW50AEdNTQAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL2ltZ3Byb2Mvc3JjL2dyYWJjdXQuY3BwAGR0cm0gPiBzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OmVwc2lsb24oKQBjYWxjSW52ZXJzZUNvdkFuZERldGVybQBjb3ZEZXRlcm1zW2NpXSA+IHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6ZXBzaWxvbigpAGltYWdlIGlzIGVtcHR5AGdyYWJDdXQAaW1hZ2UgbXVzdCBoYXZlIENWXzhVQzMgdHlwZQAhYmdkU2FtcGxlcy5lbXB0eSgpICYmICFmZ2RTYW1wbGVzLmVtcHR5KCkAaW5pdEdNTXMAaT49MCAmJiBpPChpbnQpdnRjcy5zaXplKCkAaW5Tb3VyY2VTZWdtZW50AC9ob21lL2d3eS9vcGVuY3ZfanMvb3BlbmN2L21vZHVsZXMvaW1ncHJvYy9zcmMvZ2NncmFwaC5ocHAAbWluV2VpZ2h0ID4gMABtYXhGbG93AGFkZEVkZ2VzAGo+PTAgJiYgajwoaW50KXZ0Y3Muc2l6ZSgpAHc+PTAgJiYgcmV2dz49MABpICE9IGoAYWRkVGVybVdlaWdodHMAbWFzayBpcyBlbXB0eQBjaGVja01hc2sAbWFzayBtdXN0IGhhdmUgQ1ZfOFVDMSB0eXBlAG1hc2sgbXVzdCBoYXZlIGFzIG1hbnkgcm93cyBhbmQgY29scyBhcyBpbWcAbWFzayBlbGVtZW50IHZhbHVlIG11c3QgYmUgZXF1YWwgR0NfQkdEIG9yIEdDX0ZHRCBvciBHQ19QUl9CR0Qgb3IgR0NfUFJfRkdEAHZvaWQgY3Y6OmdyYWJDdXQoY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dE91dHB1dEFycmF5LCBjdjo6UmVjdCwgY3Y6OklucHV0T3V0cHV0QXJyYXksIGN2OjpJbnB1dE91dHB1dEFycmF5LCBpbnQsIGludCkAL2hvbWUvZ3d5L29wZW5jdl9qcy9vcGVuY3YvbW9kdWxlcy9pbWdwcm9jL3NyYy9jb2xvci5jcHAAY3Z0Q29sb3IAdm9pZCBjdjo6Y3Z0Q29sb3IoY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSwgaW50LCBpbnQpAHNyYy5kZXB0aCgpID09IGRzdC5kZXB0aCgpAGN2Q3Z0Q29sb3IAZHN0LmRhdGEgPT0gZHN0MC5kYXRhACgoKChjaGFpbiktPmZsYWdzICYgKCgoMSA8PCAyKSAtIDEpPDwxMikgKSA9PSAoMSA8PCAxMikgJiYgKGNoYWluKS0+ZWxlbV9zaXplID09IDEpICYmICgoKGNoYWluKS0+ZmxhZ3MgJiAoMSA8PCAoMiArIDEyKSkpICE9IDApKQBpY3ZBcHByb3hpbWF0ZUNoYWluVEM4OQAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL2ltZ3Byb2Mvc3JjL2FwcHJveC5jcHAAaGVhZGVyX3NpemUgPj0gKGludClzaXplb2YoQ3ZDb250b3VyKQBucG9pbnRzID49IDAgJiYgKGRlcHRoID09IDQgfHwgZGVwdGggPT0gNSkAYXBwcm94UG9seURQAHZvaWQgY3Y6OmFwcHJveFBvbHlEUChjdjo6SW5wdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5LCBkb3VibGUsIGJvb2wpAGJvb2wgY3Y6OmNsaXBMaW5lKGN2OjpTaXplMmwsIGN2OjpQb2ludDJsICYsIGN2OjpQb2ludDJsICYpAC9ob21lL2d3eS9vcGVuY3ZfanMvb3BlbmN2L21vZHVsZXMvaW1ncHJvYy9zcmMvZHJhd2luZy5jcHAATGluZUl0ZXJhdG9yAHZvaWQgY3Y6OmVsbGlwc2UyUG9seShjdjo6UG9pbnQyZCwgY3Y6OlNpemUyZCwgaW50LCBpbnQsIGludCwgaW50LCBzdGQ6OnZlY3RvcjxQb2ludDJkPiAmKQAwIDwgdGhpY2tuZXNzICYmIHRoaWNrbmVzcyA8PSBNQVhfVEhJQ0tORVNTAGxpbmUAMCA8PSBzaGlmdCAmJiBzaGlmdCA8PSBYWV9TSElGVAAwIDw9IHNoaWZ0ICYmIHNoaWZ0IDw9IFhZX1NISUZUICYmIHRoaWNrbmVzcyA+PSAwAFBvbHlMaW5lALW1tba2t7i5u7y+wMLExsnLztHT1trd4OPn6+7y9vr+dm9pZCBjdjo6bGluZShjdjo6SW5wdXRPdXRwdXRBcnJheSwgY3Y6OlBvaW50LCBjdjo6UG9pbnQsIGNvbnN0IGN2OjpTY2FsYXIgJiwgaW50LCBpbnQsIGludCkAdGhpY2tuZXNzIDw9IE1BWF9USElDS05FU1MAcmVjdGFuZ2xlAHZvaWQgY3Y6OnJlY3RhbmdsZShjdjo6SW5wdXRPdXRwdXRBcnJheSwgY3Y6OlBvaW50LCBjdjo6UG9pbnQsIGNvbnN0IGN2OjpTY2FsYXIgJiwgaW50LCBpbnQsIGludCkAcmFkaXVzID49IDAgJiYgdGhpY2tuZXNzIDw9IE1BWF9USElDS05FU1MgJiYgMCA8PSBzaGlmdCAmJiBzaGlmdCA8PSBYWV9TSElGVABjaXJjbGUAdm9pZCBjdjo6Y2lyY2xlKGN2OjpJbnB1dE91dHB1dEFycmF5LCBjdjo6UG9pbnQsIGludCwgY29uc3QgY3Y6OlNjYWxhciAmLCBpbnQsIGludCwgaW50KQBheGVzLndpZHRoID49IDAgJiYgYXhlcy5oZWlnaHQgPj0gMCAmJiB0aGlja25lc3MgPD0gTUFYX1RISUNLTkVTUyAmJiAwIDw9IHNoaWZ0ICYmIHNoaWZ0IDw9IFhZX1NISUZUAGVsbGlwc2UAdm9pZCBjdjo6ZWxsaXBzZShjdjo6SW5wdXRPdXRwdXRBcnJheSwgY3Y6OlBvaW50LCBjdjo6U2l6ZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgY29uc3QgY3Y6OlNjYWxhciAmLCBpbnQsIGludCwgaW50KQBib3guc2l6ZS53aWR0aCA+PSAwICYmIGJveC5zaXplLmhlaWdodCA+PSAwICYmIHRoaWNrbmVzcyA8PSBNQVhfVEhJQ0tORVNTAHZvaWQgY3Y6OmVsbGlwc2UoY3Y6OklucHV0T3V0cHV0QXJyYXksIGNvbnN0IGN2OjpSb3RhdGVkUmVjdCAmLCBjb25zdCBjdjo6U2NhbGFyICYsIGludCwgaW50KQBVbmtub3duIGZvbnQgdHlwZQBnZXRGb250RGF0YQB2b2lkIGN2OjpwdXRUZXh0KGN2OjpJbnB1dE91dHB1dEFycmF5LCBjb25zdCBjdjo6U3RyaW5nICYsIGN2OjpQb2ludCwgaW50LCBkb3VibGUsIGN2OjpTY2FsYXIsIGludCwgaW50LCBib29sKQAwIDw9IGNvbnRvdXJJZHggJiYgY29udG91cklkeCA8IChpbnQpbGFzdABkcmF3Q29udG91cnMAbnBvaW50cyA+IDAAaGllcmFyY2h5LnRvdGFsKCkgPT0gbmNvbnRvdXJzICYmIGhpZXJhcmNoeS50eXBlKCkgPT0gKCgoNCkgJiAoKDEgPDwgMykgLSAxKSkgKyAoKCg0KS0xKSA8PCAzKSkAY3ZEcmF3Q29udG91cnMAcmVhZGVyLnB0ciAhPSAwTABlbGVtX3R5cGUgPT0gKCgoNCkgJiAoKDEgPDwgMykgLSAxKSkgKyAoKCgyKS0xKSA8PCAzKSkAdm9pZCBjdjo6ZHJhd0NvbnRvdXJzKGN2OjpJbnB1dE91dHB1dEFycmF5LCBjdjo6SW5wdXRBcnJheU9mQXJyYXlzLCBpbnQsIGNvbnN0IGN2OjpTY2FsYXIgJiwgaW50LCBpbnQsIGN2OjpJbnB1dEFycmF5LCBpbnQsIGN2OjpQb2ludCkAX3BvaW50cy5nZXRPYmooKSAhPSBfaHVsbC5nZXRPYmooKQBjb252ZXhIdWxsAC9ob21lL2d3eS9vcGVuY3ZfanMvb3BlbmN2L21vZHVsZXMvaW1ncHJvYy9zcmMvY29udmh1bGwuY3BwAHRvdGFsID49IDAgJiYgKGRlcHRoID09IDUgfHwgZGVwdGggPT0gNCkAcG9pbnRzLmlzQ29udGludW91cygpAHZvaWQgY3Y6OmNvbnZleEh1bGwoY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSwgYm9vbCwgYm9vbCkAY29udmV4aXR5RGVmZWN0cwBocG9pbnRzID4gMAAwIDw9IGhjdXJyICYmIGhjdXJyIDwgbnBvaW50cwAwIDw9IGhuZXh0ICYmIGhuZXh0IDwgbnBvaW50cwB2b2lkIGN2Ojpjb252ZXhpdHlEZWZlY3RzKGN2OjpJbnB1dEFycmF5LCBjdjo6SW5wdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5KQBpc0NvbnRvdXJDb252ZXgAL2hvbWUvZ3d5L29wZW5jdl9qcy9vcGVuY3YvbW9kdWxlcy9pbWdwcm9jL3NyYy9nZW9tZXRyeS5jcHAAdG90YWwgPj0gMCAmJiAoZGVwdGggPT0gNCB8fCBkZXB0aCA9PSA1KQBwb2ludFBvbHlnb25UZXN0AGRvdWJsZSBjdjo6cG9pbnRQb2x5Z29uVGVzdChjdjo6SW5wdXRBcnJheSwgY3Y6OlBvaW50MmYsIGJvb2wpAHZpcnR1YWwgdm9pZCBjdjo6Q3Z0Q29sb3JMb29wX0ludm9rZXI8Y3Y6OlJHQjJSR0I8ZmxvYXQ+ID46Om9wZXJhdG9yKCkoY29uc3QgY3Y6OlJhbmdlICYpIGNvbnN0IFtDdnQgPSBjdjo6UkdCMlJHQjxmbG9hdD5dAE4yY3YyMEN2dENvbG9yTG9vcF9JbnZva2VySU5TXzdSR0IyUkdCSWZFRUVFAHZpcnR1YWwgdm9pZCBjdjo6Q3Z0Q29sb3JMb29wX0ludm9rZXI8Y3Y6OlJHQjJSR0I8dW5zaWduZWQgc2hvcnQ+ID46Om9wZXJhdG9yKCkoY29uc3QgY3Y6OlJhbmdlICYpIGNvbnN0IFtDdnQgPSBjdjo6UkdCMlJHQjx1bnNpZ25lZCBzaG9ydD5dAE4yY3YyMEN2dENvbG9yTG9vcF9JbnZva2VySU5TXzdSR0IyUkdCSXRFRUVFAHZpcnR1YWwgdm9pZCBjdjo6Q3Z0Q29sb3JMb29wX0ludm9rZXI8Y3Y6OlJHQjJSR0I8dW5zaWduZWQgY2hhcj4gPjo6b3BlcmF0b3IoKShjb25zdCBjdjo6UmFuZ2UgJikgY29uc3QgW0N2dCA9IGN2OjpSR0IyUkdCPHVuc2lnbmVkIGNoYXI+XQBOMmN2MjBDdnRDb2xvckxvb3BfSW52b2tlcklOU183UkdCMlJHQkloRUVFRQB2b2lkIGN2OjpoYWw6OmN2dEJHUnRvQkdSKGNvbnN0IHVjaGFyICosIHNpemVfdCwgdWNoYXIgKiwgc2l6ZV90LCBpbnQsIGludCwgaW50LCBpbnQsIGludCwgYm9vbCkAL2hvbWUvZ3d5L29wZW5jdl9qcy9vcGVuY3YvbW9kdWxlcy9pbWdwcm9jL3NyYy9jb2xvcl9yZ2IuY3BwAHZpcnR1YWwgdm9pZCBjdjo6Q3Z0Q29sb3JMb29wX0ludm9rZXI8Y3Y6OlJHQjJSR0I1eDU+OjpvcGVyYXRvcigpKGNvbnN0IGN2OjpSYW5nZSAmKSBjb25zdCBbQ3Z0ID0gY3Y6OlJHQjJSR0I1eDVdAE4yY3YyMEN2dENvbG9yTG9vcF9JbnZva2VySU5TXzEwUkdCMlJHQjV4NUVFRQB2b2lkIGN2OjpoYWw6OmN2dEJHUnRvQkdSNXg1KGNvbnN0IHVjaGFyICosIHNpemVfdCwgdWNoYXIgKiwgc2l6ZV90LCBpbnQsIGludCwgaW50LCBib29sLCBpbnQpAHZpcnR1YWwgdm9pZCBjdjo6Q3Z0Q29sb3JMb29wX0ludm9rZXI8Y3Y6OlJHQjV4NTJSR0I+OjpvcGVyYXRvcigpKGNvbnN0IGN2OjpSYW5nZSAmKSBjb25zdCBbQ3Z0ID0gY3Y6OlJHQjV4NTJSR0JdAE4yY3YyMEN2dENvbG9yTG9vcF9JbnZva2VySU5TXzEwUkdCNXg1MlJHQkVFRQB2b2lkIGN2OjpoYWw6OmN2dEJHUjV4NXRvQkdSKGNvbnN0IHVjaGFyICosIHNpemVfdCwgdWNoYXIgKiwgc2l6ZV90LCBpbnQsIGludCwgaW50LCBib29sLCBpbnQpAHZpcnR1YWwgdm9pZCBjdjo6Q3Z0Q29sb3JMb29wX0ludm9rZXI8Y3Y6OlJHQjJHcmF5PGZsb2F0PiA+OjpvcGVyYXRvcigpKGNvbnN0IGN2OjpSYW5nZSAmKSBjb25zdCBbQ3Z0ID0gY3Y6OlJHQjJHcmF5PGZsb2F0Pl0ATjJjdjIwQ3Z0Q29sb3JMb29wX0ludm9rZXJJTlNfOFJHQjJHcmF5SWZFRUVFAHZpcnR1YWwgdm9pZCBjdjo6Q3Z0Q29sb3JMb29wX0ludm9rZXI8Y3Y6OlJHQjJHcmF5PHVzaG9ydD4gPjo6b3BlcmF0b3IoKShjb25zdCBjdjo6UmFuZ2UgJikgY29uc3QgW0N2dCA9IGN2OjpSR0IyR3JheTx1c2hvcnQ+XQBOMmN2MjBDdnRDb2xvckxvb3BfSW52b2tlcklOU184UkdCMkdyYXlJdEVFRUUAdmlydHVhbCB2b2lkIGN2OjpDdnRDb2xvckxvb3BfSW52b2tlcjxjdjo6UkdCMkdyYXk8dWNoYXI+ID46Om9wZXJhdG9yKCkoY29uc3QgY3Y6OlJhbmdlICYpIGNvbnN0IFtDdnQgPSBjdjo6UkdCMkdyYXk8dWNoYXI+XQBOMmN2MjBDdnRDb2xvckxvb3BfSW52b2tlcklOU184UkdCMkdyYXlJaEVFRUUAdm9pZCBjdjo6aGFsOjpjdnRCR1J0b0dyYXkoY29uc3QgdWNoYXIgKiwgc2l6ZV90LCB1Y2hhciAqLCBzaXplX3QsIGludCwgaW50LCBpbnQsIGludCwgYm9vbCkAdmlydHVhbCB2b2lkIGN2OjpDdnRDb2xvckxvb3BfSW52b2tlcjxjdjo6R3JheTJSR0I8ZmxvYXQ+ID46Om9wZXJhdG9yKCkoY29uc3QgY3Y6OlJhbmdlICYpIGNvbnN0IFtDdnQgPSBjdjo6R3JheTJSR0I8ZmxvYXQ+XQBOMmN2MjBDdnRDb2xvckxvb3BfSW52b2tlcklOU184R3JheTJSR0JJZkVFRUUAdmlydHVhbCB2b2lkIGN2OjpDdnRDb2xvckxvb3BfSW52b2tlcjxjdjo6R3JheTJSR0I8dW5zaWduZWQgc2hvcnQ+ID46Om9wZXJhdG9yKCkoY29uc3QgY3Y6OlJhbmdlICYpIGNvbnN0IFtDdnQgPSBjdjo6R3JheTJSR0I8dW5zaWduZWQgc2hvcnQ+XQBOMmN2MjBDdnRDb2xvckxvb3BfSW52b2tlcklOU184R3JheTJSR0JJdEVFRUUAdmlydHVhbCB2b2lkIGN2OjpDdnRDb2xvckxvb3BfSW52b2tlcjxjdjo6R3JheTJSR0I8dW5zaWduZWQgY2hhcj4gPjo6b3BlcmF0b3IoKShjb25zdCBjdjo6UmFuZ2UgJikgY29uc3QgW0N2dCA9IGN2OjpHcmF5MlJHQjx1bnNpZ25lZCBjaGFyPl0ATjJjdjIwQ3Z0Q29sb3JMb29wX0ludm9rZXJJTlNfOEdyYXkyUkdCSWhFRUVFAHZvaWQgY3Y6OmhhbDo6Y3Z0R3JheXRvQkdSKGNvbnN0IHVjaGFyICosIHNpemVfdCwgdWNoYXIgKiwgc2l6ZV90LCBpbnQsIGludCwgaW50LCBpbnQpAHZpcnR1YWwgdm9pZCBjdjo6Q3Z0Q29sb3JMb29wX0ludm9rZXI8Y3Y6OlJHQjV4NTJHcmF5Pjo6b3BlcmF0b3IoKShjb25zdCBjdjo6UmFuZ2UgJikgY29uc3QgW0N2dCA9IGN2OjpSR0I1eDUyR3JheV0ATjJjdjIwQ3Z0Q29sb3JMb29wX0ludm9rZXJJTlNfMTFSR0I1eDUyR3JheUVFRQB2b2lkIGN2OjpoYWw6OmN2dEJHUjV4NXRvR3JheShjb25zdCB1Y2hhciAqLCBzaXplX3QsIHVjaGFyICosIHNpemVfdCwgaW50LCBpbnQsIGludCkAdmlydHVhbCB2b2lkIGN2OjpDdnRDb2xvckxvb3BfSW52b2tlcjxjdjo6R3JheTJSR0I1eDU+OjpvcGVyYXRvcigpKGNvbnN0IGN2OjpSYW5nZSAmKSBjb25zdCBbQ3Z0ID0gY3Y6OkdyYXkyUkdCNXg1XQBOMmN2MjBDdnRDb2xvckxvb3BfSW52b2tlcklOU18xMUdyYXkyUkdCNXg1RUVFAHZvaWQgY3Y6OmhhbDo6Y3Z0R3JheXRvQkdSNXg1KGNvbnN0IHVjaGFyICosIHNpemVfdCwgdWNoYXIgKiwgc2l6ZV90LCBpbnQsIGludCwgaW50KQB2aXJ0dWFsIHZvaWQgY3Y6OkN2dENvbG9yTG9vcF9JbnZva2VyPGN2OjpSR0JBMm1SR0JBPHVuc2lnbmVkIGNoYXI+ID46Om9wZXJhdG9yKCkoY29uc3QgY3Y6OlJhbmdlICYpIGNvbnN0IFtDdnQgPSBjdjo6UkdCQTJtUkdCQTx1bnNpZ25lZCBjaGFyPl0ATjJjdjIwQ3Z0Q29sb3JMb29wX0ludm9rZXJJTlNfMTBSR0JBMm1SR0JBSWhFRUVFAHZvaWQgY3Y6OmhhbDo6Y3Z0UkdCQXRvTXVsdGlwbGllZFJHQkEoY29uc3QgdWNoYXIgKiwgc2l6ZV90LCB1Y2hhciAqLCBzaXplX3QsIGludCwgaW50KQB2aXJ0dWFsIHZvaWQgY3Y6OkN2dENvbG9yTG9vcF9JbnZva2VyPGN2OjptUkdCQTJSR0JBPHVuc2lnbmVkIGNoYXI+ID46Om9wZXJhdG9yKCkoY29uc3QgY3Y6OlJhbmdlICYpIGNvbnN0IFtDdnQgPSBjdjo6bVJHQkEyUkdCQTx1bnNpZ25lZCBjaGFyPl0ATjJjdjIwQ3Z0Q29sb3JMb29wX0ludm9rZXJJTlNfMTBtUkdCQTJSR0JBSWhFRUVFAHZvaWQgY3Y6OmhhbDo6Y3Z0TXVsdGlwbGllZFJHQkF0b1JHQkEoY29uc3QgdWNoYXIgKiwgc2l6ZV90LCB1Y2hhciAqLCBzaXplX3QsIGludCwgaW50KQBucG9pbnRzMiA+PSAwIHx8IG5wb2ludHMzID49IDAAZml0TGluZQAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL2ltZ3Byb2Mvc3JjL2xpbmVmaXQuY3BwAFVua25vd24gZGlzdGFuY2UgdHlwZQBmaXRMaW5lMkQAVW5rbm93biBkaXN0YW5jZQBmaXRMaW5lM0QAdm9pZCBjdjo6Zml0TGluZShjdjo6SW5wdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5LCBpbnQsIGRvdWJsZSwgZG91YmxlLCBkb3VibGUpAG9wZW5jdi1oaXN0AERlc3RpbmF0aW9uIGRvdWJsZSBwb2ludGVyIGlzIE5VTEwAY3ZDb3B5SGlzdAAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL2ltZ3Byb2Mvc3JjL2hpc3RvZ3JhbS5jcHAASW52YWxpZCBoaXN0b2dyYW0gaGVhZGVyW3NdAE5VTEwgcmFuZ2VzIHBvaW50ZXIAY3ZTZXRIaXN0QmluUmFuZ2VzAEludmFsaWQgaGlzdG9ncmFtIGhlYWRlcgBPbmUgb2YgPHJhbmdlcz4gZWxlbWVudHMgaXMgTlVMTABCaW4gcmFuZ2VzIHNob3VsZCBnbyBpbiBhc2NlbnRpbmcgb3JkZXIATnVtYmVyIG9mIGRpbWVuc2lvbnMgaXMgb3V0IG9mIHJhbmdlAGN2Q3JlYXRlSGlzdABOdWxsIDxzaXplcz4gcG9pbnRlcgBJbnZhbGlkIGhpc3RvZ3JhbSB0eXBlAHR5cGUAaXNfdW5pZm9ybQBoYXZlX3JhbmdlcwBtYXQAYmlucwB0aHJlc2gAZgBFeHBlY3RlZCBDdk1hdE5EAGljdlJlYWRIaXN0AFVua25vd24gSGlzdG9ncmFtIHR5cGUAJ3RocmVzaCcgbm9kZSBpcyBtaXNzaW5nAGN2UmVsZWFzZUhpc3QAZGltcyA+IDAgJiYgaGlzdFNpemUAY2FsY0hpc3QAbWFzay5lbXB0eSgpIHx8IG1hc2sudHlwZSgpID09ICgoKDApICYgKCgxIDw8IDMpIC0gMSkpICsgKCgoMSktMSkgPDwgMykpAEVpdGhlciByYW5nZXMsIGVpdGhlciB1bmlmb3JtIHJhbmdlcyBzaG91bGQgYmUgcHJvdmlkZWQAY2FsY0hpc3RfAGNhbGNIaXN0TG9va3VwVGFibGVzXzh1AGNoYW5uZWxzICE9IDAgfHwgbmltYWdlcyA9PSBkaW1zAGhpc3RQcmVwYXJlSW1hZ2VzAGltYWdlc1tqXS5jaGFubmVscygpID09IDEAYyA+PSAwAGogPCBuaW1hZ2VzAGltYWdlc1tqXS5zaXplKCkgPT0gaW1zaXplICYmIGltYWdlc1tqXS5kZXB0aCgpID09IGRlcHRoAG1hc2suc2l6ZSgpID09IGltc2l6ZSAmJiBtYXNrLmNoYW5uZWxzKCkgPT0gMQByYW5nZXNbaV0gJiYgcmFuZ2VzW2ldWzBdIDwgcmFuZ2VzW2ldWzFdAHJhbmdlc1tpXVtrXSA8IHJhbmdlc1tpXVtrKzFdAHZvaWQgY3Y6OmNhbGNIaXN0KGNvbnN0IGN2OjpNYXQgKiwgaW50LCBjb25zdCBpbnQgKiwgY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSwgaW50LCBjb25zdCBpbnQgKiwgY29uc3QgZmxvYXQgKiosIGJvb2wsIGJvb2wpAG5pbWFnZXMgPiAwICYmIGRpbXMgPiAwAHJzeiA9PSBkaW1zKjIgfHwgKHJzeiA9PSAwICYmIGltYWdlcy5kZXB0aCgwKSA9PSAwKQBjc3ogPT0gMCB8fCBjc3ogPT0gZGltcwB2b2lkIGN2OjpjYWxjSGlzdChjdjo6SW5wdXRBcnJheU9mQXJyYXlzLCBjb25zdCBzdGQ6OnZlY3RvcjxpbnQ+ICYsIGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGNvbnN0IHN0ZDo6dmVjdG9yPGludD4gJiwgY29uc3Qgc3RkOjp2ZWN0b3I8ZmxvYXQ+ICYsIGJvb2wpAGRpbXMgPiAwICYmICFoaXN0LmVtcHR5KCkAY2FsY0JhY2tQcm9qZWN0AGNhbGNCYWNrUHJval8Adm9pZCBjdjo6Y2FsY0JhY2tQcm9qZWN0KGNvbnN0IGN2OjpNYXQgKiwgaW50LCBjb25zdCBpbnQgKiwgY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSwgY29uc3QgZmxvYXQgKiosIGRvdWJsZSwgYm9vbCkASDAuaXNDb250aW51b3VzKCkAbmltYWdlcyA+IDAAcnN6ID09IGRpbXMqMiB8fCAocnN6ID09IDIgJiYgXzFkKSB8fCAocnN6ID09IDAgJiYgaW1hZ2VzLmRlcHRoKDApID09IDApAGNzeiA9PSAwIHx8IGNzeiA9PSBkaW1zIHx8IChjc3ogPT0gMSAmJiBfMWQpAHZvaWQgY3Y6OmNhbGNCYWNrUHJvamVjdChjdjo6SW5wdXRBcnJheU9mQXJyYXlzLCBjb25zdCBzdGQ6OnZlY3RvcjxpbnQ+ICYsIGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGNvbnN0IHN0ZDo6dmVjdG9yPGZsb2F0PiAmLCBkb3VibGUpAEgxLnR5cGUoKSA9PSBIMi50eXBlKCkgJiYgSDEuZGVwdGgoKSA9PSA1AGNvbXBhcmVIaXN0AGl0LnBsYW5lc1swXS5pc0NvbnRpbnVvdXMoKSAmJiBpdC5wbGFuZXNbMV0uaXNDb250aW51b3VzKCkAZG91YmxlIGN2Ojpjb21wYXJlSGlzdChjdjo6SW5wdXRBcnJheSwgY3Y6OklucHV0QXJyYXksIGludCkAX3NyYy50eXBlKCkgPT0gKCgoMCkgJiAoKDEgPDwgMykgLSAxKSkgKyAoKCgxKS0xKSA8PCAzKSkAZXF1YWxpemVIaXN0ADIzRXF1YWxpemVIaXN0THV0X0ludm9rZXIAMjhFcXVhbGl6ZUhpc3RDYWxjSGlzdF9JbnZva2VyAHZvaWQgY3Y6OmVxdWFsaXplSGlzdChjdjo6SW5wdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5KQBpbWcuZGltcyA8PSAyICYmIHRlbXBsLmRpbXMgPD0gMiAmJiBjb3JyLmRpbXMgPD0gMgBjcm9zc0NvcnIAL2hvbWUvZ3d5L29wZW5jdl9qcy9vcGVuY3YvbW9kdWxlcy9pbWdwcm9jL3NyYy90ZW1wbG1hdGNoLmNwcABkZXB0aCA9PSB0ZGVwdGggfHwgdGRlcHRoID09IDUAY29ycnNpemUuaGVpZ2h0IDw9IGltZy5yb3dzICsgdGVtcGwucm93cyAtIDEgJiYgY29ycnNpemUud2lkdGggPD0gaW1nLmNvbHMgKyB0ZW1wbC5jb2xzIC0gMQBjY24gPT0gMSB8fCBkZWx0YSA9PSAwAHRoZSBpbnB1dCBhcnJheXMgYXJlIHRvbyBiaWcAQ1ZfVE1fU1FESUZGIDw9IG1ldGhvZCAmJiBtZXRob2QgPD0gQ1ZfVE1fQ0NPRUZGX05PUk1FRABtYXRjaFRlbXBsYXRlTWFzawAoZGVwdGggPT0gMCB8fCBkZXB0aCA9PSA1KSAmJiB0eXBlID09IF90ZW1wbC50eXBlKCkgJiYgX2ltZy5kaW1zKCkgPD0gMgBtYXRjaFRlbXBsYXRlAF9pbWcuc2l6ZSgpLmhlaWdodCA8PSBfdGVtcGwuc2l6ZSgpLmhlaWdodCAmJiBfaW1nLnNpemUoKS53aWR0aCA8PSBfdGVtcGwuc2l6ZSgpLndpZHRoAHNxc3VtLmRhdGEgIT0gMEwAY29tbW9uX21hdGNoVGVtcGxhdGUAc3VtLmRhdGEgIT0gMEwAdm9pZCBjdjo6bWF0Y2hUZW1wbGF0ZShjdjo6SW5wdXRBcnJheSwgY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSwgaW50LCBjdjo6SW5wdXRBcnJheSkAY3ZTdGFydFJlYWRDaGFpblBvaW50cwAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL2ltZ3Byb2Mvc3JjL2NvbnRvdXJzLmNwcABjdlN0YXJ0RmluZENvbnRvdXJzX0ltcGwAW1N0YXJ0XUZpbmRDb250b3VycyBzdXBwb3J0cyBvbmx5IENWXzhVQzEgaW1hZ2VzIHdoZW4gbW9kZSAhPSBDVl9SRVRSX0ZMT09ERklMTCBvdGhlcndpc2Ugc3VwcG9ydHMgQ1ZfMzJTQzEgaW1hZ2VzIG9ubHkAc3RlcCA+PSAwAHNpemUuaGVpZ2h0ID49IDEAY3ZGaW5kTmV4dENvbnRvdXIAc2Nhbm5lci0+aW1nX3N0ZXAgPj0gMABpY3ZUcmFjZUNvbnRvdXJfMzJzAGljdlRyYWNlQ29udG91cgBwYXJfaW5mbyAhPSAwAGljdkZldGNoQ29udG91cgBpY3ZGZXRjaENvbnRvdXJFeF8zMnMAaWN2RmV0Y2hDb250b3VyRXgAY3ZFbmRGaW5kQ29udG91cnMATlVMTCBkb3VibGUgQ3ZTZXEgcG9pbnRlcgBjdkZpbmRDb250b3Vyc19JbXBsAE5vbnplcm8gb2Zmc2V0IGlzIG5vdCBzdXBwb3J0ZWQgaW4gQ1ZfTElOS19SVU5TIHlldABOVUxMIHN0b3JhZ2UgcG9pbnRlcgBpY3ZGaW5kQ29udG91cnNJbkludGVydmFsAENvbnRvdXIgaGVhZGVyIHNpemUgbXVzdCBiZSA+PSBzaXplb2YoQ3ZDb250b3VyKQBJbnB1dCBhcnJheSBtdXN0IGJlIDh1QzEgb3IgOHNDMQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSTEyQ3ZNZW1TdG9yYWdlTlNfMTREZWZhdWx0RGVsZXRlcklTMl9FRUVFAChfY29udG91cnMua2luZCgpID09IF9JbnB1dEFycmF5OjpTVERfVkVDVE9SX1ZFQ1RPUiB8fCBfY29udG91cnMua2luZCgpID09IF9JbnB1dEFycmF5OjpTVERfVkVDVE9SX01BVCB8fCBfY29udG91cnMua2luZCgpID09IF9JbnB1dEFycmF5OjpTVERfVkVDVE9SX1VNQVQpAGZpbmRDb250b3VycwBfY29udG91cnMuZW1wdHkoKSB8fCAoX2NvbnRvdXJzLmNoYW5uZWxzKCkgPT0gMiAmJiBfY29udG91cnMuZGVwdGgoKSA9PSA0KQBjaS5pc0NvbnRpbnVvdXMoKQB2b2lkIGN2OjpmaW5kQ29udG91cnMoY3Y6OklucHV0T3V0cHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheU9mQXJyYXlzLCBjdjo6T3V0cHV0QXJyYXksIGludCwgaW50LCBjdjo6UG9pbnQpAHZvaWQgY3Y6OmZpbmRDb250b3Vycyhjdjo6SW5wdXRPdXRwdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5T2ZBcnJheXMsIGludCwgaW50LCBjdjo6UG9pbnQpAHZpcnR1YWwgdm9pZCBjdjo6Q3Z0Q29sb3JMb29wX0ludm9rZXI8Y3Y6OlJHQjJZQ3JDYl9mPGZsb2F0PiA+OjpvcGVyYXRvcigpKGNvbnN0IGN2OjpSYW5nZSAmKSBjb25zdCBbQ3Z0ID0gY3Y6OlJHQjJZQ3JDYl9mPGZsb2F0Pl0ATjJjdjIwQ3Z0Q29sb3JMb29wX0ludm9rZXJJTlNfMTFSR0IyWUNyQ2JfZklmRUVFRQB2aXJ0dWFsIHZvaWQgY3Y6OkN2dENvbG9yTG9vcF9JbnZva2VyPGN2OjpSR0IyWUNyQ2JfaTx1bnNpZ25lZCBzaG9ydD4gPjo6b3BlcmF0b3IoKShjb25zdCBjdjo6UmFuZ2UgJikgY29uc3QgW0N2dCA9IGN2OjpSR0IyWUNyQ2JfaTx1bnNpZ25lZCBzaG9ydD5dAE4yY3YyMEN2dENvbG9yTG9vcF9JbnZva2VySU5TXzExUkdCMllDckNiX2lJdEVFRUUAdmlydHVhbCB2b2lkIGN2OjpDdnRDb2xvckxvb3BfSW52b2tlcjxjdjo6UkdCMllDckNiX2k8dW5zaWduZWQgY2hhcj4gPjo6b3BlcmF0b3IoKShjb25zdCBjdjo6UmFuZ2UgJikgY29uc3QgW0N2dCA9IGN2OjpSR0IyWUNyQ2JfaTx1bnNpZ25lZCBjaGFyPl0ATjJjdjIwQ3Z0Q29sb3JMb29wX0ludm9rZXJJTlNfMTFSR0IyWUNyQ2JfaUloRUVFRQB2b2lkIGN2OjpoYWw6OmN2dEJHUnRvWVVWKGNvbnN0IHVjaGFyICosIHNpemVfdCwgdWNoYXIgKiwgc2l6ZV90LCBpbnQsIGludCwgaW50LCBpbnQsIGJvb2wsIGJvb2wpAC9ob21lL2d3eS9vcGVuY3ZfanMvb3BlbmN2L21vZHVsZXMvaW1ncHJvYy9zcmMvY29sb3JfeXV2LmNwcAB2aXJ0dWFsIHZvaWQgY3Y6OkN2dENvbG9yTG9vcF9JbnZva2VyPGN2OjpZQ3JDYjJSR0JfZjxmbG9hdD4gPjo6b3BlcmF0b3IoKShjb25zdCBjdjo6UmFuZ2UgJikgY29uc3QgW0N2dCA9IGN2OjpZQ3JDYjJSR0JfZjxmbG9hdD5dAE4yY3YyMEN2dENvbG9yTG9vcF9JbnZva2VySU5TXzExWUNyQ2IyUkdCX2ZJZkVFRUUAdmlydHVhbCB2b2lkIGN2OjpDdnRDb2xvckxvb3BfSW52b2tlcjxjdjo6WUNyQ2IyUkdCX2k8dW5zaWduZWQgc2hvcnQ+ID46Om9wZXJhdG9yKCkoY29uc3QgY3Y6OlJhbmdlICYpIGNvbnN0IFtDdnQgPSBjdjo6WUNyQ2IyUkdCX2k8dW5zaWduZWQgc2hvcnQ+XQBOMmN2MjBDdnRDb2xvckxvb3BfSW52b2tlcklOU18xMVlDckNiMlJHQl9pSXRFRUVFAHZpcnR1YWwgdm9pZCBjdjo6Q3Z0Q29sb3JMb29wX0ludm9rZXI8Y3Y6OllDckNiMlJHQl9pPHVuc2lnbmVkIGNoYXI+ID46Om9wZXJhdG9yKCkoY29uc3QgY3Y6OlJhbmdlICYpIGNvbnN0IFtDdnQgPSBjdjo6WUNyQ2IyUkdCX2k8dW5zaWduZWQgY2hhcj5dAE4yY3YyMEN2dENvbG9yTG9vcF9JbnZva2VySU5TXzExWUNyQ2IyUkdCX2lJaEVFRUUAdm9pZCBjdjo6aGFsOjpjdnRZVVZ0b0JHUihjb25zdCB1Y2hhciAqLCBzaXplX3QsIHVjaGFyICosIHNpemVfdCwgaW50LCBpbnQsIGludCwgaW50LCBib29sLCBib29sKQBVbmtub3duL3Vuc3VwcG9ydGVkIGNvbG9yIGNvbnZlcnNpb24gY29kZQBjdnRUd29QbGFuZVlVVnRvQkdSAE4yY3YyNFlVVjQyMHNwMlJHQkE4ODg4SW52b2tlcklMaTJFTGkxRUVFAE4yY3YyNFlVVjQyMHNwMlJHQkE4ODg4SW52b2tlcklMaTJFTGkwRUVFAE4yY3YyNFlVVjQyMHNwMlJHQkE4ODg4SW52b2tlcklMaTBFTGkxRUVFAE4yY3YyNFlVVjQyMHNwMlJHQkE4ODg4SW52b2tlcklMaTBFTGkwRUVFAE4yY3YyMllVVjQyMHNwMlJHQjg4OEludm9rZXJJTGkyRUxpMUVFRQBOMmN2MjJZVVY0MjBzcDJSR0I4ODhJbnZva2VySUxpMkVMaTBFRUUATjJjdjIyWVVWNDIwc3AyUkdCODg4SW52b2tlcklMaTBFTGkxRUVFAE4yY3YyMllVVjQyMHNwMlJHQjg4OEludm9rZXJJTGkwRUxpMEVFRQB2b2lkIGN2OjpoYWw6OmN2dFR3b1BsYW5lWVVWdG9CR1IoY29uc3QgdWNoYXIgKiwgY29uc3QgdWNoYXIgKiwgc2l6ZV90LCB1Y2hhciAqLCBzaXplX3QsIGludCwgaW50LCBpbnQsIGJvb2wsIGludCkAdm9pZCBjdjo6aGFsOjpjdnRUd29QbGFuZVlVVnRvQkdSKGNvbnN0IHVjaGFyICosIHNpemVfdCwgdWNoYXIgKiwgc2l6ZV90LCBpbnQsIGludCwgaW50LCBib29sLCBpbnQpAGN2dFRocmVlUGxhbmVZVVZ0b0JHUgBOMmN2MjNZVVY0MjBwMlJHQkE4ODg4SW52b2tlcklMaTJFRUUATjJjdjIzWVVWNDIwcDJSR0JBODg4OEludm9rZXJJTGkwRUVFAE4yY3YyMVlVVjQyMHAyUkdCODg4SW52b2tlcklMaTJFRUUATjJjdjIxWVVWNDIwcDJSR0I4ODhJbnZva2VySUxpMEVFRQB2b2lkIGN2OjpoYWw6OmN2dFRocmVlUGxhbmVZVVZ0b0JHUihjb25zdCB1Y2hhciAqLCBzaXplX3QsIHVjaGFyICosIHNpemVfdCwgaW50LCBpbnQsIGludCwgYm9vbCwgaW50KQBOMmN2MjJSR0I4ODh0b1lVVjQyMHBJbnZva2VyRQB2b2lkIGN2OjpoYWw6OmN2dEJHUnRvVGhyZWVQbGFuZVlVVihjb25zdCB1Y2hhciAqLCBzaXplX3QsIHVjaGFyICosIHNpemVfdCwgaW50LCBpbnQsIGludCwgYm9vbCwgaW50KQBjdnRPbmVQbGFuZVlVVnRvQkdSAE4yY3YyM1lVVjQyMnRvUkdCQTg4ODhJbnZva2VySUxpMkVMaTFFTGkwRUVFAE4yY3YyM1lVVjQyMnRvUkdCQTg4ODhJbnZva2VySUxpMkVMaTBFTGkxRUVFAE4yY3YyM1lVVjQyMnRvUkdCQTg4ODhJbnZva2VySUxpMkVMaTBFTGkwRUVFAE4yY3YyM1lVVjQyMnRvUkdCQTg4ODhJbnZva2VySUxpMEVMaTFFTGkwRUVFAE4yY3YyM1lVVjQyMnRvUkdCQTg4ODhJbnZva2VySUxpMEVMaTBFTGkxRUVFAE4yY3YyM1lVVjQyMnRvUkdCQTg4ODhJbnZva2VySUxpMEVMaTBFTGkwRUVFAE4yY3YyMVlVVjQyMnRvUkdCODg4SW52b2tlcklMaTJFTGkxRUxpMEVFRQBOMmN2MjFZVVY0MjJ0b1JHQjg4OEludm9rZXJJTGkyRUxpMEVMaTFFRUUATjJjdjIxWVVWNDIydG9SR0I4ODhJbnZva2VySUxpMkVMaTBFTGkwRUVFAE4yY3YyMVlVVjQyMnRvUkdCODg4SW52b2tlcklMaTBFTGkxRUxpMEVFRQBOMmN2MjFZVVY0MjJ0b1JHQjg4OEludm9rZXJJTGkwRUxpMEVMaTFFRUUATjJjdjIxWVVWNDIydG9SR0I4ODhJbnZva2VySUxpMEVMaTBFTGkwRUVFAHZvaWQgY3Y6OmhhbDo6Y3Z0T25lUGxhbmVZVVZ0b0JHUihjb25zdCB1Y2hhciAqLCBzaXplX3QsIHVjaGFyICosIHNpemVfdCwgaW50LCBpbnQsIGludCwgYm9vbCwgaW50LCBpbnQpAF9zcmMuY2hhbm5lbHMoKSA9PSAyICYmIF9zcmMuZGVwdGgoKSA9PSAwAGN2dENvbG9yWVVWMkdyYXlfY2gAc3oud2lkdGggJSAyID09IDAgJiYgc3ouaGVpZ2h0ICUgMiA9PSAwAHN6LndpZHRoICUgMiA9PSAwICYmIHN6LmhlaWdodCAlIDMgPT0gMABVbmtub3duL3Vuc3VwcG9ydGVkIGludGVycG9sYXRpb24gdHlwZQBpbml0SW50ZXJUYWIyRAAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL2ltZ3Byb2Mvc3JjL2ltZ3dhcnAuY3BwAFVua25vd24gaW50ZXJwb2xhdGlvbiBtZXRob2QAaW5pdEludGVyVGFiMUQAX21hcDEuc2l6ZSgpLmFyZWEoKSA+IDAAcmVtYXAAX21hcDIuZW1wdHkoKSB8fCAoX21hcDIuc2l6ZSgpID09IF9tYXAxLnNpemUoKSkAZHN0LmNvbHMgPCAweDdmZmYgJiYgZHN0LnJvd3MgPCAweDdmZmYgJiYgc3JjLmNvbHMgPCAweDdmZmYgJiYgc3JjLnJvd3MgPCAweDdmZmYAbm5mdW5jICE9IDAAX3NyYy5jaGFubmVscygpIDw9IDQAaWZ1bmMgIT0gMAAoKG1hcDEudHlwZSgpID09ICgoKDUpICYgKCgxIDw8IDMpIC0gMSkpICsgKCgoMiktMSkgPDwgMykpIHx8IG1hcDEudHlwZSgpID09ICgoKDMpICYgKCgxIDw8IDMpIC0gMSkpICsgKCgoMiktMSkgPDwgMykpKSAmJiBtYXAyLmVtcHR5KCkpIHx8IChtYXAxLnR5cGUoKSA9PSAoKCg1KSAmICgoMSA8PCAzKSAtIDEpKSArICgoKDEpLTEpIDw8IDMpKSAmJiBtYXAyLnR5cGUoKSA9PSAoKCg1KSAmICgoMSA8PCAzKSAtIDEpKSArICgoKDEpLTEpIDw8IDMpKSkATjJjdjEyUmVtYXBJbnZva2VyRQBzc2l6ZS5hcmVhKCkgPiAwAHJlbWFwQmlsaW5lYXIAdm9pZCBjdjo6cmVtYXAoY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSwgY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBpbnQsIGludCwgY29uc3QgY3Y6OlNjYWxhciAmKQBOMmN2MTdXYXJwQWZmaW5lSW52b2tlckUAX3NyYy5jaGFubmVscygpIDw9IDQgfHwgKGludGVycG9sYXRpb24gIT0gSU5URVJfTEFOQ1pPUzQgJiYgaW50ZXJwb2xhdGlvbiAhPSBJTlRFUl9DVUJJQykAd2FycEFmZmluZQBzcmMuY29scyA+IDAgJiYgc3JjLnJvd3MgPiAwAChNMC50eXBlKCkgPT0gNSB8fCBNMC50eXBlKCkgPT0gNikgJiYgTTAucm93cyA9PSAyICYmIE0wLmNvbHMgPT0gMwB2b2lkIGN2Ojp3YXJwQWZmaW5lKGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBjdjo6U2l6ZSwgaW50LCBpbnQsIGNvbnN0IGN2OjpTY2FsYXIgJikATjJjdjIyV2FycFBlcnNwZWN0aXZlSW52b2tlckUAX3NyYy50b3RhbCgpID4gMAB3YXJwUGVyc3BlY3RpdmUAKE0wLnR5cGUoKSA9PSA1IHx8IE0wLnR5cGUoKSA9PSA2KSAmJiBNMC5yb3dzID09IDMgJiYgTTAuY29scyA9PSAzAHZvaWQgY3Y6OndhcnBQZXJzcGVjdGl2ZShjdjo6SW5wdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5LCBjdjo6SW5wdXRBcnJheSwgY3Y6OlNpemUsIGludCwgaW50LCBjb25zdCBjdjo6U2NhbGFyICYpAGN2OjpNYXQgY3Y6OmdldFJvdGF0aW9uTWF0cml4MkQoY3Y6OlBvaW50MmYsIGRvdWJsZSwgZG91YmxlKQBjdjo6TWF0IGN2OjpnZXRQZXJzcGVjdGl2ZVRyYW5zZm9ybShjb25zdCBjdjo6UG9pbnQyZiAqLCBjb25zdCBjdjo6UG9pbnQyZiAqKQBzcmMuY2hlY2tWZWN0b3IoMiwgNSkgPT0gNCAmJiBkc3QuY2hlY2tWZWN0b3IoMiwgNSkgPT0gNABnZXRQZXJzcGVjdGl2ZVRyYW5zZm9ybQBzcmMuY2hlY2tWZWN0b3IoMiwgNSkgPT0gMyAmJiBkc3QuY2hlY2tWZWN0b3IoMiwgNSkgPT0gMwBnZXRBZmZpbmVUcmFuc2Zvcm0ATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbEk1Q3ZNYXROU18xNERlZmF1bHREZWxldGVySVMyX0VFRUUAdGhlIHR5cGUgb2YgbGFiZWxzIG11c3QgYmUgMTZ1IG9yIDMycwBjb25uZWN0ZWRDb21wb25lbnRzAC9ob21lL2d3eS9vcGVuY3ZfanMvb3BlbmN2L21vZHVsZXMvaW1ncHJvYy9zcmMvY29ubmVjdGVkY29tcG9uZW50cy5jcHAATC5jaGFubmVscygpID09IDEgJiYgSS5jaGFubmVscygpID09IDEAY29ubmVjdGVkQ29tcG9uZW50c19zdWIxAGNvbm5lY3Rpdml0eSA9PSA4IHx8IGNvbm5lY3Rpdml0eSA9PSA0AGNjbHR5cGUgPT0gQ0NMX0dSQU5BIHx8IGNjbHR5cGUgPT0gQ0NMX1dVIHx8IGNjbHR5cGUgPT0gQ0NMX0RFRkFVTFQAaURlcHRoID09IDAgfHwgaURlcHRoID09IDEAdW5zdXBwb3J0ZWQgbGFiZWwvaW1hZ2UgdHlwZQBpbWcucm93cyA9PSBpbWdMYWJlbHMucm93cwBpbWcuY29scyA9PSBpbWdMYWJlbHMuY29scwBjb25uZWN0aXZpdHkgPT0gOABOMmN2MTljb25uZWN0ZWRjb21wb25lbnRzMjFMYWJlbGluZ0dyYW5hUGFyYWxsZWxJaWhOUzBfNE5vT3BFRTEwU2Vjb25kU2NhbkUATjJjdjE5Y29ubmVjdGVkY29tcG9uZW50czIxTGFiZWxpbmdHcmFuYVBhcmFsbGVsSWloTlMwXzROb09wRUU5Rmlyc3RTY2FuRQBOMmN2MTljb25uZWN0ZWRjb21wb25lbnRzMThMYWJlbGluZ1d1UGFyYWxsZWxJaWhOUzBfNE5vT3BFRTEwU2Vjb25kU2NhbkUATjJjdjE5Y29ubmVjdGVkY29tcG9uZW50czE4TGFiZWxpbmdXdVBhcmFsbGVsSWloTlMwXzROb09wRUUyMkZpcnN0U2NhbjRDb25uZWN0aXZpdHlFAE4yY3YxOWNvbm5lY3RlZGNvbXBvbmVudHMxOExhYmVsaW5nV3VQYXJhbGxlbElpaE5TMF80Tm9PcEVFMjJGaXJzdFNjYW44Q29ubmVjdGl2aXR5RQBpbWdMYWJlbHMucm93cyA9PSBpbWcucm93cwBpbWdMYWJlbHMuY29scyA9PSBpbWcuY29scwBjb25uZWN0ZWRDb21wb25lbnRzV2l0aFN0YXRzAE4yY3YxOWNvbm5lY3RlZGNvbXBvbmVudHMyMUxhYmVsaW5nR3JhbmFQYXJhbGxlbElpaE5TMF85Q0NTdGF0c09wRUUxMFNlY29uZFNjYW5FAE4yY3YxOWNvbm5lY3RlZGNvbXBvbmVudHMyMUxhYmVsaW5nR3JhbmFQYXJhbGxlbElpaE5TMF85Q0NTdGF0c09wRUU5Rmlyc3RTY2FuRQBOMmN2MTljb25uZWN0ZWRjb21wb25lbnRzMThMYWJlbGluZ1d1UGFyYWxsZWxJaWhOUzBfOUNDU3RhdHNPcEVFMTBTZWNvbmRTY2FuRQBOMmN2MTljb25uZWN0ZWRjb21wb25lbnRzMThMYWJlbGluZ1d1UGFyYWxsZWxJaWhOUzBfOUNDU3RhdHNPcEVFMjJGaXJzdFNjYW40Q29ubmVjdGl2aXR5RQBOMmN2MTljb25uZWN0ZWRjb21wb25lbnRzMThMYWJlbGluZ1d1UGFyYWxsZWxJaWhOUzBfOUNDU3RhdHNPcEVFMjJGaXJzdFNjYW44Q29ubmVjdGl2aXR5RQBfc3JjLmRlcHRoKCkgPT0gMABDYW5ueQAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL2ltZ3Byb2Mvc3JjL2Nhbm55LmNwcAAoX2RzdC5nZXRPYmooKSAhPSBfc3JjLmdldE9iaigpIHx8IF9zcmMudHlwZSgpID09ICgoKDApICYgKCgxIDw8IDMpIC0gMSkpICsgKCgoMSktMSkgPDwgMykpKSAmJiAiSW5wbGFjZSBwYXJhbWV0ZXJzIGFyZSBub3Qgc3VwcG9ydGVkIgBBcGVydHVyZSBzaXplIHNob3VsZCBiZSBvZGQgYmV0d2VlbiAzIGFuZCA3AE4yY3Y5ZmluYWxQYXNzRQBmaW5hbFBhc3MAZ2xvYmFsX2h5c3RlcmVzaXMAaHlzdGVyZXNpcwBtYWduaXR1ZGUAZ3JhZGllbnQAdmlydHVhbCB2b2lkIGN2OjpwYXJhbGxlbENhbm55OjpvcGVyYXRvcigpKGNvbnN0IGN2OjpSYW5nZSAmKSBjb25zdABOMmN2MTNwYXJhbGxlbENhbm55RQB2b2lkIGN2OjpDYW5ueShjdjo6SW5wdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5LCBkb3VibGUsIGRvdWJsZSwgaW50LCBib29sKQBfZHguZGltcygpID09IDIAX2R4LnR5cGUoKSA9PSAoKCgzKSAmICgoMSA8PCAzKSAtIDEpKSArICgoKDEpLTEpIDw8IDMpKSB8fCBfZHgudHlwZSgpID09ICgoKDMpICYgKCgxIDw8IDMpIC0gMSkpICsgKCgoMyktMSkgPDwgMykpAF9keS50eXBlKCkgPT0gX2R4LnR5cGUoKQBfZHguc2FtZVNpemUoX2R5KQB2b2lkIGN2OjpDYW5ueShjdjo6SW5wdXRBcnJheSwgY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSwgZG91YmxlLCBkb3VibGUsIGJvb2wpAHNyYy5zaXplID09IGRzdC5zaXplICYmIHNyYy5kZXB0aCgpID09IDAgJiYgZHN0LnR5cGUoKSA9PSAwAGN2Q2FubnkATjJjdjEzQmFzZVJvd0ZpbHRlckUATjJjdjE2QmFzZUNvbHVtbkZpbHRlckUATjJjdjEwQmFzZUZpbHRlckUAc3JjLnR5cGUoKSA9PSBzcmNUeXBlICYmIGRzdC50eXBlKCkgPT0gZHN0VHlwZQAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL2ltZ3Byb2Mvc3JjL2ZpbHRlci5jcHAAdmlydHVhbCB2b2lkIGN2OjpGaWx0ZXJFbmdpbmU6OmFwcGx5KGNvbnN0IGN2OjpNYXQgJiwgY3Y6Ok1hdCAmLCBjb25zdCBjdjo6U2l6ZSAmLCBjb25zdCBjdjo6UG9pbnQgJikAd2hvbGVTaXplLndpZHRoID4gMCAmJiB3aG9sZVNpemUuaGVpZ2h0ID4gMABwcm9jZWVkAHNyYyAmJiBkc3QgJiYgY291bnQgPiAwAHNyY1kgPj0gc3RhcnRZAGRzdFkgPD0gcm9pLmhlaWdodAByb2kueCA+PSAwICYmIHJvaS55ID49IDAgJiYgcm9pLndpZHRoID49IDAgJiYgcm9pLmhlaWdodCA+PSAwICYmIHJvaS54ICsgcm9pLndpZHRoIDw9IHdob2xlU2l6ZS53aWR0aCAmJiByb2kueSArIHJvaS5oZWlnaHQgPD0gd2hvbGVTaXplLmhlaWdodABzdGFydABjb25zdFZhbCAhPSAwTABOMmN2MTJGaWx0ZXJFbmdpbmVFAGNvbHVtbkJvcmRlclR5cGUgIT0gQk9SREVSX1dSQVAAaW5pdAByb3dGaWx0ZXIgJiYgY29sdW1uRmlsdGVyAGJ1ZlR5cGUgPT0gc3JjVHlwZQAwIDw9IGFuY2hvci54ICYmIGFuY2hvci54IDwga3NpemUud2lkdGggJiYgMCA8PSBhbmNob3IueSAmJiBhbmNob3IueSA8IGtzaXplLmhlaWdodABfa2VybmVsLmNoYW5uZWxzKCkgPT0gMQBnZXRLZXJuZWxUeXBlAGNuID09ICgoKChidWZUeXBlKSAmICgoNTEyIC0gMSkgPDwgMykpID4+IDMpICsgMSkgJiYgZGRlcHRoID49IHN0ZDo6bWF4KHNkZXB0aCwgNCkgJiYga2VybmVsLnR5cGUoKSA9PSBkZGVwdGgAZ2V0TGluZWFyUm93RmlsdGVyAFVuc3VwcG9ydGVkIGNvbWJpbmF0aW9uIG9mIHNvdXJjZSBmb3JtYXQgKD0lZCksIGFuZCBidWZmZXIgZm9ybWF0ICg9JWQpAE4yY3Y2ZGV0YWlsMTJQdHJPd25lckltcGxJTlNfOVJvd0ZpbHRlcklkZE5TXzhSb3dOb1ZlY0VFRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzRfRUVFRQBrZXJuZWwudHlwZSgpID09IERhdGFUeXBlPERUPjo6dHlwZSAmJiAoa2VybmVsLnJvd3MgPT0gMSB8fCBrZXJuZWwuY29scyA9PSAxKQBSb3dGaWx0ZXIATjJjdjlSb3dGaWx0ZXJJZGROU184Um93Tm9WZWNFRUUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU185Um93RmlsdGVySWZkTlNfOFJvd05vVmVjRUVFTlNfMTREZWZhdWx0RGVsZXRlcklTNF9FRUVFAE4yY3Y5Um93RmlsdGVySWZkTlNfOFJvd05vVmVjRUVFAE4yY3Y2ZGV0YWlsMTJQdHJPd25lckltcGxJTlNfOVJvd0ZpbHRlcklmZk5TXzhSb3dOb1ZlY0VFRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzRfRUVFRQBOMmN2OVJvd0ZpbHRlcklmZk5TXzhSb3dOb1ZlY0VFRQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TXzlSb3dGaWx0ZXJJc2ROU184Um93Tm9WZWNFRUVOU18xNERlZmF1bHREZWxldGVySVM0X0VFRUUATjJjdjlSb3dGaWx0ZXJJc2ROU184Um93Tm9WZWNFRUUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU185Um93RmlsdGVySXNmTlNfOFJvd05vVmVjRUVFTlNfMTREZWZhdWx0RGVsZXRlcklTNF9FRUVFAE4yY3Y5Um93RmlsdGVySXNmTlNfOFJvd05vVmVjRUVFAE4yY3Y2ZGV0YWlsMTJQdHJPd25lckltcGxJTlNfOVJvd0ZpbHRlckl0ZE5TXzhSb3dOb1ZlY0VFRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzRfRUVFRQBOMmN2OVJvd0ZpbHRlckl0ZE5TXzhSb3dOb1ZlY0VFRQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TXzlSb3dGaWx0ZXJJdGZOU184Um93Tm9WZWNFRUVOU18xNERlZmF1bHREZWxldGVySVM0X0VFRUUATjJjdjlSb3dGaWx0ZXJJdGZOU184Um93Tm9WZWNFRUUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU185Um93RmlsdGVySWhkTlNfOFJvd05vVmVjRUVFTlNfMTREZWZhdWx0RGVsZXRlcklTNF9FRUVFAE4yY3Y5Um93RmlsdGVySWhkTlNfOFJvd05vVmVjRUVFAE4yY3Y2ZGV0YWlsMTJQdHJPd25lckltcGxJTlNfOVJvd0ZpbHRlckloZk5TXzhSb3dOb1ZlY0VFRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzRfRUVFRQBOMmN2OVJvd0ZpbHRlckloZk5TXzhSb3dOb1ZlY0VFRQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TXzlSb3dGaWx0ZXJJaGlOU184Um93Tm9WZWNFRUVOU18xNERlZmF1bHREZWxldGVySVM0X0VFRUUATjJjdjlSb3dGaWx0ZXJJaGlOU184Um93Tm9WZWNFRUUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU18xOFN5bW1Sb3dTbWFsbEZpbHRlcklmZk5TXzE3U3ltbVJvd1NtYWxsTm9WZWNFRUVOU18xNERlZmF1bHREZWxldGVySVM0X0VFRUUAKHN5bW1ldHJ5VHlwZSAmIChLRVJORUxfU1lNTUVUUklDQUwgfCBLRVJORUxfQVNZTU1FVFJJQ0FMKSkgIT0gMCAmJiB0aGlzLT5rc2l6ZSA8PSA1AFN5bW1Sb3dTbWFsbEZpbHRlcgBOMmN2OVJvd0ZpbHRlcklmZk5TXzE3U3ltbVJvd1NtYWxsTm9WZWNFRUUATjJjdjE4U3ltbVJvd1NtYWxsRmlsdGVySWZmTlNfMTdTeW1tUm93U21hbGxOb1ZlY0VFRQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TXzE4U3ltbVJvd1NtYWxsRmlsdGVySWhpTlNfMTdTeW1tUm93U21hbGxOb1ZlY0VFRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzRfRUVFRQBOMmN2OVJvd0ZpbHRlckloaU5TXzE3U3ltbVJvd1NtYWxsTm9WZWNFRUUATjJjdjE4U3ltbVJvd1NtYWxsRmlsdGVySWhpTlNfMTdTeW1tUm93U21hbGxOb1ZlY0VFRQBjbiA9PSAoKCgoYnVmVHlwZSkgJiAoKDUxMiAtIDEpIDw8IDMpKSA+PiAzKSArIDEpICYmIHNkZXB0aCA+PSBzdGQ6Om1heChkZGVwdGgsIDQpICYmIGtlcm5lbC50eXBlKCkgPT0gc2RlcHRoAGdldExpbmVhckNvbHVtbkZpbHRlcgBVbnN1cHBvcnRlZCBjb21iaW5hdGlvbiBvZiBidWZmZXIgZm9ybWF0ICg9JWQpLCBhbmQgZGVzdGluYXRpb24gZm9ybWF0ICg9JWQpAE4yY3Y2ZGV0YWlsMTJQdHJPd25lckltcGxJTlNfMTZTeW1tQ29sdW1uRmlsdGVySU5TXzRDYXN0SWRkRUVOU18xMUNvbHVtbk5vVmVjRUVFTlNfMTREZWZhdWx0RGVsZXRlcklTNl9FRUVFAChzeW1tZXRyeVR5cGUgJiAoS0VSTkVMX1NZTU1FVFJJQ0FMIHwgS0VSTkVMX0FTWU1NRVRSSUNBTCkpICE9IDAAU3ltbUNvbHVtbkZpbHRlcgBOMmN2MTJDb2x1bW5GaWx0ZXJJTlNfNENhc3RJZGRFRU5TXzExQ29sdW1uTm9WZWNFRUUATjJjdjE2U3ltbUNvbHVtbkZpbHRlcklOU180Q2FzdElkZEVFTlNfMTFDb2x1bW5Ob1ZlY0VFRQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TXzE2U3ltbUNvbHVtbkZpbHRlcklOU180Q2FzdElmZkVFTlNfMTFDb2x1bW5Ob1ZlY0VFRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzZfRUVFRQBOMmN2MTJDb2x1bW5GaWx0ZXJJTlNfNENhc3RJZmZFRU5TXzExQ29sdW1uTm9WZWNFRUUATjJjdjE2U3ltbUNvbHVtbkZpbHRlcklOU180Q2FzdElmZkVFTlNfMTFDb2x1bW5Ob1ZlY0VFRQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TXzE2U3ltbUNvbHVtbkZpbHRlcklOU180Q2FzdElkc0VFTlNfMTFDb2x1bW5Ob1ZlY0VFRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzZfRUVFRQBOMmN2MTJDb2x1bW5GaWx0ZXJJTlNfNENhc3RJZHNFRU5TXzExQ29sdW1uTm9WZWNFRUUATjJjdjE2U3ltbUNvbHVtbkZpbHRlcklOU180Q2FzdElkc0VFTlNfMTFDb2x1bW5Ob1ZlY0VFRQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TXzE2U3ltbUNvbHVtbkZpbHRlcklOU180Q2FzdElmc0VFTlNfMTFDb2x1bW5Ob1ZlY0VFRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzZfRUVFRQBOMmN2MTJDb2x1bW5GaWx0ZXJJTlNfNENhc3RJZnNFRU5TXzExQ29sdW1uTm9WZWNFRUUATjJjdjE2U3ltbUNvbHVtbkZpbHRlcklOU180Q2FzdElmc0VFTlNfMTFDb2x1bW5Ob1ZlY0VFRQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TXzE2U3ltbUNvbHVtbkZpbHRlcklOU180Q2FzdElpc0VFTlNfMTFDb2x1bW5Ob1ZlY0VFRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzZfRUVFRQBOMmN2MTJDb2x1bW5GaWx0ZXJJTlNfNENhc3RJaXNFRU5TXzExQ29sdW1uTm9WZWNFRUUATjJjdjE2U3ltbUNvbHVtbkZpbHRlcklOU180Q2FzdElpc0VFTlNfMTFDb2x1bW5Ob1ZlY0VFRQBrZXJuZWwudHlwZSgpID09IERhdGFUeXBlPFNUPjo6dHlwZSAmJiAoa2VybmVsLnJvd3MgPT0gMSB8fCBrZXJuZWwuY29scyA9PSAxKQBDb2x1bW5GaWx0ZXIATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU18xNlN5bW1Db2x1bW5GaWx0ZXJJTlNfNENhc3RJZHRFRU5TXzExQ29sdW1uTm9WZWNFRUVOU18xNERlZmF1bHREZWxldGVySVM2X0VFRUUATjJjdjEyQ29sdW1uRmlsdGVySU5TXzRDYXN0SWR0RUVOU18xMUNvbHVtbk5vVmVjRUVFAE4yY3YxNlN5bW1Db2x1bW5GaWx0ZXJJTlNfNENhc3RJZHRFRU5TXzExQ29sdW1uTm9WZWNFRUUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU18xNlN5bW1Db2x1bW5GaWx0ZXJJTlNfNENhc3RJZnRFRU5TXzExQ29sdW1uTm9WZWNFRUVOU18xNERlZmF1bHREZWxldGVySVM2X0VFRUUATjJjdjEyQ29sdW1uRmlsdGVySU5TXzRDYXN0SWZ0RUVOU18xMUNvbHVtbk5vVmVjRUVFAE4yY3YxNlN5bW1Db2x1bW5GaWx0ZXJJTlNfNENhc3RJZnRFRU5TXzExQ29sdW1uTm9WZWNFRUUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU18xNlN5bW1Db2x1bW5GaWx0ZXJJTlNfNENhc3RJZGhFRU5TXzExQ29sdW1uTm9WZWNFRUVOU18xNERlZmF1bHREZWxldGVySVM2X0VFRUUATjJjdjEyQ29sdW1uRmlsdGVySU5TXzRDYXN0SWRoRUVOU18xMUNvbHVtbk5vVmVjRUVFAE4yY3YxNlN5bW1Db2x1bW5GaWx0ZXJJTlNfNENhc3RJZGhFRU5TXzExQ29sdW1uTm9WZWNFRUUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU18xNlN5bW1Db2x1bW5GaWx0ZXJJTlNfNENhc3RJZmhFRU5TXzExQ29sdW1uTm9WZWNFRUVOU18xNERlZmF1bHREZWxldGVySVM2X0VFRUUATjJjdjEyQ29sdW1uRmlsdGVySU5TXzRDYXN0SWZoRUVOU18xMUNvbHVtbk5vVmVjRUVFAE4yY3YxNlN5bW1Db2x1bW5GaWx0ZXJJTlNfNENhc3RJZmhFRU5TXzExQ29sdW1uTm9WZWNFRUUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU18xNlN5bW1Db2x1bW5GaWx0ZXJJTlNfMTNGaXhlZFB0Q2FzdEV4SWloRUVOU18xMUNvbHVtbk5vVmVjRUVFTlNfMTREZWZhdWx0RGVsZXRlcklTNl9FRUVFAE4yY3YxMkNvbHVtbkZpbHRlcklOU18xM0ZpeGVkUHRDYXN0RXhJaWhFRU5TXzExQ29sdW1uTm9WZWNFRUUATjJjdjE2U3ltbUNvbHVtbkZpbHRlcklOU18xM0ZpeGVkUHRDYXN0RXhJaWhFRU5TXzExQ29sdW1uTm9WZWNFRUUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU18yMVN5bW1Db2x1bW5TbWFsbEZpbHRlcklOU180Q2FzdElmZkVFTlNfMjBTeW1tQ29sdW1uU21hbGxOb1ZlY0VFRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzZfRUVFRQB0aGlzLT5rc2l6ZSA9PSAzAFN5bW1Db2x1bW5TbWFsbEZpbHRlcgBOMmN2MTJDb2x1bW5GaWx0ZXJJTlNfNENhc3RJZmZFRU5TXzIwU3ltbUNvbHVtblNtYWxsTm9WZWNFRUUATjJjdjIxU3ltbUNvbHVtblNtYWxsRmlsdGVySU5TXzRDYXN0SWZmRUVOU18yMFN5bW1Db2x1bW5TbWFsbE5vVmVjRUVFAE4yY3YxNlN5bW1Db2x1bW5GaWx0ZXJJTlNfNENhc3RJZmZFRU5TXzIwU3ltbUNvbHVtblNtYWxsTm9WZWNFRUUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU18yMVN5bW1Db2x1bW5TbWFsbEZpbHRlcklOU180Q2FzdElpc0VFTlNfMjBTeW1tQ29sdW1uU21hbGxOb1ZlY0VFRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzZfRUVFRQBOMmN2MTJDb2x1bW5GaWx0ZXJJTlNfNENhc3RJaXNFRU5TXzIwU3ltbUNvbHVtblNtYWxsTm9WZWNFRUUATjJjdjIxU3ltbUNvbHVtblNtYWxsRmlsdGVySU5TXzRDYXN0SWlzRUVOU18yMFN5bW1Db2x1bW5TbWFsbE5vVmVjRUVFAE4yY3YxNlN5bW1Db2x1bW5GaWx0ZXJJTlNfNENhc3RJaXNFRU5TXzIwU3ltbUNvbHVtblNtYWxsTm9WZWNFRUUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU18yMVN5bW1Db2x1bW5TbWFsbEZpbHRlcklOU18xM0ZpeGVkUHRDYXN0RXhJaWhFRU5TXzExQ29sdW1uTm9WZWNFRUVOU18xNERlZmF1bHREZWxldGVySVM2X0VFRUUATjJjdjIxU3ltbUNvbHVtblNtYWxsRmlsdGVySU5TXzEzRml4ZWRQdENhc3RFeElpaEVFTlNfMTFDb2x1bW5Ob1ZlY0VFRQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TXzEyQ29sdW1uRmlsdGVySU5TXzRDYXN0SWRkRUVOU18xMUNvbHVtbk5vVmVjRUVFTlNfMTREZWZhdWx0RGVsZXRlcklTNl9FRUVFAE4yY3Y2ZGV0YWlsMTJQdHJPd25lckltcGxJTlNfMTJDb2x1bW5GaWx0ZXJJTlNfNENhc3RJZmZFRU5TXzExQ29sdW1uTm9WZWNFRUVOU18xNERlZmF1bHREZWxldGVySVM2X0VFRUUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU18xMkNvbHVtbkZpbHRlcklOU180Q2FzdElkc0VFTlNfMTFDb2x1bW5Ob1ZlY0VFRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzZfRUVFRQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TXzEyQ29sdW1uRmlsdGVySU5TXzRDYXN0SWZzRUVOU18xMUNvbHVtbk5vVmVjRUVFTlNfMTREZWZhdWx0RGVsZXRlcklTNl9FRUVFAE4yY3Y2ZGV0YWlsMTJQdHJPd25lckltcGxJTlNfMTJDb2x1bW5GaWx0ZXJJTlNfNENhc3RJZHRFRU5TXzExQ29sdW1uTm9WZWNFRUVOU18xNERlZmF1bHREZWxldGVySVM2X0VFRUUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU18xMkNvbHVtbkZpbHRlcklOU180Q2FzdElmdEVFTlNfMTFDb2x1bW5Ob1ZlY0VFRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzZfRUVFRQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TXzEyQ29sdW1uRmlsdGVySU5TXzRDYXN0SWRoRUVOU18xMUNvbHVtbk5vVmVjRUVFTlNfMTREZWZhdWx0RGVsZXRlcklTNl9FRUVFAE4yY3Y2ZGV0YWlsMTJQdHJPd25lckltcGxJTlNfMTJDb2x1bW5GaWx0ZXJJTlNfNENhc3RJZmhFRU5TXzExQ29sdW1uTm9WZWNFRUVOU18xNERlZmF1bHREZWxldGVySVM2X0VFRUUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU18xMkNvbHVtbkZpbHRlcklOU18xM0ZpeGVkUHRDYXN0RXhJaWhFRU5TXzExQ29sdW1uTm9WZWNFRUVOU18xNERlZmF1bHREZWxldGVySVM2X0VFRUUAY24gPT0gKCgoKF9kc3RUeXBlKSAmICgoNTEyIC0gMSkgPDwgMykpID4+IDMpICsgMSkAY3JlYXRlU2VwYXJhYmxlTGluZWFyRmlsdGVyAGt0eXBlID09IDAgfHwga3R5cGUgPT0gNCB8fCBrdHlwZSA9PSA1IHx8IGt0eXBlID09IDYAcHJlcHJvY2VzczJES2VybmVsAGNuID09ICgoKChkc3RUeXBlKSAmICgoNTEyIC0gMSkgPDwgMykpID4+IDMpICsgMSkgJiYgZGRlcHRoID49IHNkZXB0aABnZXRMaW5lYXJGaWx0ZXIAYW5jaG9yLmluc2lkZShSZWN0KDAsIDAsIGtzaXplLndpZHRoLCBrc2l6ZS5oZWlnaHQpKQBub3JtYWxpemVBbmNob3IAL2hvbWUvZ3d5L29wZW5jdl9qcy9vcGVuY3YvbW9kdWxlcy9pbWdwcm9jL3NyYy9maWx0ZXJlbmdpbmUuaHBwAFVuc3VwcG9ydGVkIGNvbWJpbmF0aW9uIG9mIHNvdXJjZSBmb3JtYXQgKD0lZCksIGFuZCBkZXN0aW5hdGlvbiBmb3JtYXQgKD0lZCkATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU184RmlsdGVyMkRJZE5TXzRDYXN0SWRkRUVOU18xMUZpbHRlck5vVmVjRUVFTlNfMTREZWZhdWx0RGVsZXRlcklTNl9FRUVFAF9rZXJuZWwudHlwZSgpID09IERhdGFUeXBlPEtUPjo6dHlwZQBGaWx0ZXIyRABOMmN2OEZpbHRlcjJESWROU180Q2FzdElkZEVFTlNfMTFGaWx0ZXJOb1ZlY0VFRQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TXzhGaWx0ZXIyRElmTlNfNENhc3RJZmZFRU5TXzExRmlsdGVyTm9WZWNFRUVOU18xNERlZmF1bHREZWxldGVySVM2X0VFRUUATjJjdjhGaWx0ZXIyRElmTlNfNENhc3RJZmZFRU5TXzExRmlsdGVyTm9WZWNFRUUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU184RmlsdGVyMkRJc05TXzRDYXN0SWRkRUVOU18xMUZpbHRlck5vVmVjRUVFTlNfMTREZWZhdWx0RGVsZXRlcklTNl9FRUVFAE4yY3Y4RmlsdGVyMkRJc05TXzRDYXN0SWRkRUVOU18xMUZpbHRlck5vVmVjRUVFAE4yY3Y2ZGV0YWlsMTJQdHJPd25lckltcGxJTlNfOEZpbHRlcjJESXNOU180Q2FzdElmZkVFTlNfMTFGaWx0ZXJOb1ZlY0VFRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzZfRUVFRQBOMmN2OEZpbHRlcjJESXNOU180Q2FzdElmZkVFTlNfMTFGaWx0ZXJOb1ZlY0VFRQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TXzhGaWx0ZXIyRElzTlNfNENhc3RJZnNFRU5TXzExRmlsdGVyTm9WZWNFRUVOU18xNERlZmF1bHREZWxldGVySVM2X0VFRUUATjJjdjhGaWx0ZXIyRElzTlNfNENhc3RJZnNFRU5TXzExRmlsdGVyTm9WZWNFRUUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU184RmlsdGVyMkRJdE5TXzRDYXN0SWRkRUVOU18xMUZpbHRlck5vVmVjRUVFTlNfMTREZWZhdWx0RGVsZXRlcklTNl9FRUVFAE4yY3Y4RmlsdGVyMkRJdE5TXzRDYXN0SWRkRUVOU18xMUZpbHRlck5vVmVjRUVFAE4yY3Y2ZGV0YWlsMTJQdHJPd25lckltcGxJTlNfOEZpbHRlcjJESXROU180Q2FzdElmZkVFTlNfMTFGaWx0ZXJOb1ZlY0VFRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzZfRUVFRQBOMmN2OEZpbHRlcjJESXROU180Q2FzdElmZkVFTlNfMTFGaWx0ZXJOb1ZlY0VFRQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TXzhGaWx0ZXIyREl0TlNfNENhc3RJZnRFRU5TXzExRmlsdGVyTm9WZWNFRUVOU18xNERlZmF1bHREZWxldGVySVM2X0VFRUUATjJjdjhGaWx0ZXIyREl0TlNfNENhc3RJZnRFRU5TXzExRmlsdGVyTm9WZWNFRUUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU184RmlsdGVyMkRJaE5TXzRDYXN0SWRkRUVOU18xMUZpbHRlck5vVmVjRUVFTlNfMTREZWZhdWx0RGVsZXRlcklTNl9FRUVFAE4yY3Y4RmlsdGVyMkRJaE5TXzRDYXN0SWRkRUVOU18xMUZpbHRlck5vVmVjRUVFAE4yY3Y2ZGV0YWlsMTJQdHJPd25lckltcGxJTlNfOEZpbHRlcjJESWhOU180Q2FzdElmZkVFTlNfMTFGaWx0ZXJOb1ZlY0VFRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzZfRUVFRQBOMmN2OEZpbHRlcjJESWhOU180Q2FzdElmZkVFTlNfMTFGaWx0ZXJOb1ZlY0VFRQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TXzhGaWx0ZXIyREloTlNfNENhc3RJZnNFRU5TXzExRmlsdGVyTm9WZWNFRUVOU18xNERlZmF1bHREZWxldGVySVM2X0VFRUUATjJjdjhGaWx0ZXIyREloTlNfNENhc3RJZnNFRU5TXzExRmlsdGVyTm9WZWNFRUUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU184RmlsdGVyMkRJaE5TXzRDYXN0SWZ0RUVOU18xMUZpbHRlck5vVmVjRUVFTlNfMTREZWZhdWx0RGVsZXRlcklTNl9FRUVFAE4yY3Y4RmlsdGVyMkRJaE5TXzRDYXN0SWZ0RUVOU18xMUZpbHRlck5vVmVjRUVFAE4yY3Y2ZGV0YWlsMTJQdHJPd25lckltcGxJTlNfOEZpbHRlcjJESWhOU180Q2FzdElmaEVFTlNfMTFGaWx0ZXJOb1ZlY0VFRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzZfRUVFRQBOMmN2OEZpbHRlcjJESWhOU180Q2FzdElmaEVFTlNfMTFGaWx0ZXJOb1ZlY0VFRQBjcmVhdGVMaW5lYXJGaWx0ZXIAdm9pZCBjdjo6ZmlsdGVyMkQoY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSwgaW50LCBjdjo6SW5wdXRBcnJheSwgY3Y6OlBvaW50LCBkb3VibGUsIGludCkAa2VybmVsWC50eXBlKCkgPT0ga2VybmVsWS50eXBlKCkgJiYgKGtlcm5lbFguY29scyA9PSAxIHx8IGtlcm5lbFgucm93cyA9PSAxKSAmJiAoa2VybmVsWS5jb2xzID09IDEgfHwga2VybmVsWS5yb3dzID09IDEpAHNlcEZpbHRlcjJEAHZvaWQgY3Y6OnNlcEZpbHRlcjJEKGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGludCwgY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBjdjo6UG9pbnQsIGRvdWJsZSwgaW50KQBjb250b3VyLmRlcHRoKCkgPT0gNCB8fCBjb250b3VyLmRlcHRoKCkgPT0gNQBjb250b3VyTW9tZW50cwAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL2ltZ3Byb2Mvc3JjL21vbWVudHMuY3BwAEludmFsaWQgaW1hZ2UgdHlwZSAobXVzdCBiZSBzaW5nbGUtY2hhbm5lbCkAbW9tZW50cwBjdjo6TW9tZW50cyBjdjo6bW9tZW50cyhjdjo6SW5wdXRBcnJheSwgYm9vbCkAdm9pZCBjdjo6SHVNb21lbnRzKGNvbnN0IGN2OjpNb21lbnRzICYsIGRvdWJsZSAqKQBpbnRlZ3JhbAAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL2ltZ3Byb2Mvc3JjL3N1bXBpeGVscy5jcHAAdm9pZCBjdjo6aW50ZWdyYWwoY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGludCwgaW50KQB2b2lkIGN2OjppbnRlZ3JhbChjdjo6SW5wdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5LCBpbnQpAHZvaWQgY3Y6OmludGVncmFsKGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSwgaW50LCBpbnQpAHN1bS5kYXRhID09IHN1bTAuZGF0YSAmJiBzcXN1bS5kYXRhID09IHNxc3VtMC5kYXRhICYmIHRpbHRlZC5kYXRhID09IHRpbHRlZDAuZGF0YQBjdkludGVncmFsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4CBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfY2drb3N3e3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9Vbmtub3duIGNvbXBhcmlzb24gbWV0aG9kAG1hdGNoU2hhcGVzAC9ob21lL2d3eS9vcGVuY3ZfanMvb3BlbmN2L21vZHVsZXMvaW1ncHJvYy9zcmMvbWF0Y2hjb250b3Vycy5jcHAAZG91YmxlIGN2OjptYXRjaFNoYXBlcyhjdjo6SW5wdXRBcnJheSwgY3Y6OklucHV0QXJyYXksIGludCwgZG91YmxlKQBpbWcudHlwZSgpID09ICgoKDApICYgKCgxIDw8IDMpIC0gMSkpICsgKCgoMSktMSkgPDwgMykpAEhvdWdoTGluZXNTRGl2AC9ob21lL2d3eS9vcGVuY3ZfanMvb3BlbmN2L21vZHVsZXMvaW1ncHJvYy9zcmMvaG91Z2guY3BwAGxpbmVzTWF4ID4gMABIb3VnaExpbmVzU3RhbmRhcmQAbWF4X3RoZXRhIG11c3QgYmUgZ3JlYXRlciB0aGFuIG1pbl90aGV0YQB2b2lkIGN2OjpIb3VnaExpbmVzKGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGRvdWJsZSwgZG91YmxlLCBpbnQsIGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSkAaW1hZ2UudHlwZSgpID09ICgoKDApICYgKCgxIDw8IDMpIC0gMSkpICsgKCgoMSktMSkgPDwgMykpAEhvdWdoTGluZXNQcm9iYWJpbGlzdGljAHZvaWQgY3Y6OkhvdWdoTGluZXNQKGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGRvdWJsZSwgZG91YmxlLCBpbnQsIGRvdWJsZSwgZG91YmxlKQAhX2ltYWdlLmVtcHR5KCkgJiYgX2ltYWdlLnR5cGUoKSA9PSAoKCgwKSAmICgoMSA8PCAzKSAtIDEpKSArICgoKDEpLTEpIDw8IDMpKSAmJiAoX2ltYWdlLmlzTWF0KCkgfHwgX2ltYWdlLmlzVU1hdCgpKQBIb3VnaENpcmNsZXMAX2NpcmNsZXMuaXNNYXQoKSB8fCBfY2lyY2xlcy5pc1ZlY3RvcigpAGRwLCBtaW5fZGlzdCwgY2FubnlfdGhyZXNob2xkIGFuZCBhY2NfdGhyZXNob2xkIG11c3QgYmUgYWxsIHBvc2l0aXZlIG51bWJlcnMAa2VybmVsU2l6ZSA9PSAtMSB8fCBrZXJuZWxTaXplID09IDMgfHwga2VybmVsU2l6ZSA9PSA1IHx8IGtlcm5lbFNpemUgPT0gNwBIb3VnaENpcmNsZXNHcmFkaWVudABVbnJlY29nbml6ZWQgbWV0aG9kIGlkLiBBY3R1YWxseSBvbmx5IENWX0hPVUdIX0dSQURJRU5UIGlzIHN1cHBvcnRlZC4ATjJjdjMySG91Z2hDaXJjbGVFc3RpbWF0ZVJhZGl1c0ludm9rZXJJTlNfMTBOWlBvaW50U2V0RUVFAEhvdWdoQ2lyY2xlRXN0aW1hdGVSYWRpdXNJbnZva2VyAE4yY3YzMkhvdWdoQ2lyY2xlRXN0aW1hdGVSYWRpdXNJbnZva2VySU5TXzExTlpQb2ludExpc3RFRUUATjJjdjMwSG91Z2hDaXJjbGVzRmluZENlbnRlcnNJbnZva2VyRQBOMmN2MjRIb3VnaENpcmNsZXNBY2N1bUludm9rZXJFAHZvaWQgY3Y6OkhvdWdoQ2lyY2xlcyhjdjo6SW5wdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5LCBpbnQsIGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgaW50LCBpbnQsIGludCwgZG91YmxlKQBhcnIgIT0gMCAmJiBjb250b3VyX2hlYWRlciAhPSAwICYmIGJsb2NrICE9IDAAY3ZQb2ludFNlcUZyb21NYXQAL2hvbWUvZ3d5L29wZW5jdl9qcy9vcGVuY3YvbW9kdWxlcy9pbWdwcm9jL3NyYy91dGlscy5jcHAASW5wdXQgYXJyYXkgaXMgbm90IGEgdmFsaWQgbWF0cml4AFRoZSBtYXRyaXggY2FuIG5vdCBiZSBjb252ZXJ0ZWQgdG8gcG9pbnQgc2VxdWVuY2UgYmVjYXVzZSBvZiBpbmFwcHJvcHJpYXRlIGVsZW1lbnQgdHlwZQBUaGUgbWF0cml4IGNvbnZlcnRlZCB0byBwb2ludCBzZXF1ZW5jZSBtdXN0IGJlIDEtZGltZW5zaW9uYWwgYW5kIGNvbnRpbnVvdXMAaHJhbmdlID09IDE4MCB8fCBocmFuZ2UgPT0gMjU2AFJHQjJIU1ZfYgAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL2ltZ3Byb2Mvc3JjL2NvbG9yX2hzdi5jcHAAdmlydHVhbCB2b2lkIGN2OjpDdnRDb2xvckxvb3BfSW52b2tlcjxjdjo6UkdCMkhMU19mPjo6b3BlcmF0b3IoKShjb25zdCBjdjo6UmFuZ2UgJikgY29uc3QgW0N2dCA9IGN2OjpSR0IySExTX2ZdAE4yY3YyMEN2dENvbG9yTG9vcF9JbnZva2VySU5TXzlSR0IySExTX2ZFRUUAdmlydHVhbCB2b2lkIGN2OjpDdnRDb2xvckxvb3BfSW52b2tlcjxjdjo6UkdCMkhMU19iPjo6b3BlcmF0b3IoKShjb25zdCBjdjo6UmFuZ2UgJikgY29uc3QgW0N2dCA9IGN2OjpSR0IySExTX2JdAE4yY3YyMEN2dENvbG9yTG9vcF9JbnZva2VySU5TXzlSR0IySExTX2JFRUUAdmlydHVhbCB2b2lkIGN2OjpDdnRDb2xvckxvb3BfSW52b2tlcjxjdjo6UkdCMkhTVl9mPjo6b3BlcmF0b3IoKShjb25zdCBjdjo6UmFuZ2UgJikgY29uc3QgW0N2dCA9IGN2OjpSR0IySFNWX2ZdAE4yY3YyMEN2dENvbG9yTG9vcF9JbnZva2VySU5TXzlSR0IySFNWX2ZFRUUAdmlydHVhbCB2b2lkIGN2OjpDdnRDb2xvckxvb3BfSW52b2tlcjxjdjo6UkdCMkhTVl9iPjo6b3BlcmF0b3IoKShjb25zdCBjdjo6UmFuZ2UgJikgY29uc3QgW0N2dCA9IGN2OjpSR0IySFNWX2JdAE4yY3YyMEN2dENvbG9yTG9vcF9JbnZva2VySU5TXzlSR0IySFNWX2JFRUUAdm9pZCBjdjo6aGFsOjpjdnRCR1J0b0hTVihjb25zdCB1Y2hhciAqLCBzaXplX3QsIHVjaGFyICosIHNpemVfdCwgaW50LCBpbnQsIGludCwgaW50LCBib29sLCBib29sLCBib29sKQB2aXJ0dWFsIHZvaWQgY3Y6OkN2dENvbG9yTG9vcF9JbnZva2VyPGN2OjpITFMyUkdCX2Y+OjpvcGVyYXRvcigpKGNvbnN0IGN2OjpSYW5nZSAmKSBjb25zdCBbQ3Z0ID0gY3Y6OkhMUzJSR0JfZl0ATjJjdjIwQ3Z0Q29sb3JMb29wX0ludm9rZXJJTlNfOUhMUzJSR0JfZkVFRQB2aXJ0dWFsIHZvaWQgY3Y6OkN2dENvbG9yTG9vcF9JbnZva2VyPGN2OjpITFMyUkdCX2I+OjpvcGVyYXRvcigpKGNvbnN0IGN2OjpSYW5nZSAmKSBjb25zdCBbQ3Z0ID0gY3Y6OkhMUzJSR0JfYl0ATjJjdjIwQ3Z0Q29sb3JMb29wX0ludm9rZXJJTlNfOUhMUzJSR0JfYkVFRQB2aXJ0dWFsIHZvaWQgY3Y6OkN2dENvbG9yTG9vcF9JbnZva2VyPGN2OjpIU1YyUkdCX2Y+OjpvcGVyYXRvcigpKGNvbnN0IGN2OjpSYW5nZSAmKSBjb25zdCBbQ3Z0ID0gY3Y6OkhTVjJSR0JfZl0ATjJjdjIwQ3Z0Q29sb3JMb29wX0ludm9rZXJJTlNfOUhTVjJSR0JfZkVFRQB2aXJ0dWFsIHZvaWQgY3Y6OkN2dENvbG9yTG9vcF9JbnZva2VyPGN2OjpIU1YyUkdCX2I+OjpvcGVyYXRvcigpKGNvbnN0IGN2OjpSYW5nZSAmKSBjb25zdCBbQ3Z0ID0gY3Y6OkhTVjJSR0JfYl0ATjJjdjIwQ3Z0Q29sb3JMb29wX0ludm9rZXJJTlNfOUhTVjJSR0JfYkVFRQB2b2lkIGN2OjpoYWw6OmN2dEhTVnRvQkdSKGNvbnN0IHVjaGFyICosIHNpemVfdCwgdWNoYXIgKiwgc2l6ZV90LCBpbnQsIGludCwgaW50LCBpbnQsIGJvb2wsIGJvb2wsIGJvb2wpAFZTY246OmNvbnRhaW5zKHNjbikgJiYgVkRjbjo6Y29udGFpbnMoZGNuKSAmJiBWRGVwdGg6OmNvbnRhaW5zKGRlcHRoKQBDdnRIZWxwZXIAdmlydHVhbCB2b2lkIGN2OjpDdnRDb2xvckxvb3BfSW52b2tlcjxjdjo6UkdCMlhZWl9mPGZsb2F0PiA+OjpvcGVyYXRvcigpKGNvbnN0IGN2OjpSYW5nZSAmKSBjb25zdCBbQ3Z0ID0gY3Y6OlJHQjJYWVpfZjxmbG9hdD5dAC9ob21lL2d3eS9vcGVuY3ZfanMvb3BlbmN2L21vZHVsZXMvaW1ncHJvYy9zcmMvY29sb3IuaHBwAE4yY3YyMEN2dENvbG9yTG9vcF9JbnZva2VySU5TXzlSR0IyWFlaX2ZJZkVFRUUAdmlydHVhbCB2b2lkIGN2OjpDdnRDb2xvckxvb3BfSW52b2tlcjxjdjo6UkdCMlhZWl9pPHVuc2lnbmVkIHNob3J0PiA+OjpvcGVyYXRvcigpKGNvbnN0IGN2OjpSYW5nZSAmKSBjb25zdCBbQ3Z0ID0gY3Y6OlJHQjJYWVpfaTx1bnNpZ25lZCBzaG9ydD5dAE4yY3YyMEN2dENvbG9yTG9vcF9JbnZva2VySU5TXzlSR0IyWFlaX2lJdEVFRUUAdmlydHVhbCB2b2lkIGN2OjpDdnRDb2xvckxvb3BfSW52b2tlcjxjdjo6UkdCMlhZWl9pPHVuc2lnbmVkIGNoYXI+ID46Om9wZXJhdG9yKCkoY29uc3QgY3Y6OlJhbmdlICYpIGNvbnN0IFtDdnQgPSBjdjo6UkdCMlhZWl9pPHVuc2lnbmVkIGNoYXI+XQBOMmN2MjBDdnRDb2xvckxvb3BfSW52b2tlcklOU185UkdCMlhZWl9pSWhFRUVFAHZvaWQgY3Y6OmhhbDo6Y3Z0QkdSdG9YWVooY29uc3QgdWNoYXIgKiwgc2l6ZV90LCB1Y2hhciAqLCBzaXplX3QsIGludCwgaW50LCBpbnQsIGludCwgYm9vbCkAL2hvbWUvZ3d5L29wZW5jdl9qcy9vcGVuY3YvbW9kdWxlcy9pbWdwcm9jL3NyYy9jb2xvcl9sYWIuY3BwAHZpcnR1YWwgdm9pZCBjdjo6Q3Z0Q29sb3JMb29wX0ludm9rZXI8Y3Y6OlhZWjJSR0JfZjxmbG9hdD4gPjo6b3BlcmF0b3IoKShjb25zdCBjdjo6UmFuZ2UgJikgY29uc3QgW0N2dCA9IGN2OjpYWVoyUkdCX2Y8ZmxvYXQ+XQBOMmN2MjBDdnRDb2xvckxvb3BfSW52b2tlcklOU185WFlaMlJHQl9mSWZFRUVFAHZpcnR1YWwgdm9pZCBjdjo6Q3Z0Q29sb3JMb29wX0ludm9rZXI8Y3Y6OlhZWjJSR0JfaTx1bnNpZ25lZCBzaG9ydD4gPjo6b3BlcmF0b3IoKShjb25zdCBjdjo6UmFuZ2UgJikgY29uc3QgW0N2dCA9IGN2OjpYWVoyUkdCX2k8dW5zaWduZWQgc2hvcnQ+XQBOMmN2MjBDdnRDb2xvckxvb3BfSW52b2tlcklOU185WFlaMlJHQl9pSXRFRUVFAHZpcnR1YWwgdm9pZCBjdjo6Q3Z0Q29sb3JMb29wX0ludm9rZXI8Y3Y6OlhZWjJSR0JfaTx1bnNpZ25lZCBjaGFyPiA+OjpvcGVyYXRvcigpKGNvbnN0IGN2OjpSYW5nZSAmKSBjb25zdCBbQ3Z0ID0gY3Y6OlhZWjJSR0JfaTx1bnNpZ25lZCBjaGFyPl0ATjJjdjIwQ3Z0Q29sb3JMb29wX0ludm9rZXJJTlNfOVhZWjJSR0JfaUloRUVFRQB2b2lkIGN2OjpoYWw6OmN2dFhZWnRvQkdSKGNvbnN0IHVjaGFyICosIHNpemVfdCwgdWNoYXIgKiwgc2l6ZV90LCBpbnQsIGludCwgaW50LCBpbnQsIGJvb2wpAHZpcnR1YWwgdm9pZCBjdjo6Q3Z0Q29sb3JMb29wX0ludm9rZXI8Y3Y6OlJHQjJMdXZfZj46Om9wZXJhdG9yKCkoY29uc3QgY3Y6OlJhbmdlICYpIGNvbnN0IFtDdnQgPSBjdjo6UkdCMkx1dl9mXQBOMmN2MjBDdnRDb2xvckxvb3BfSW52b2tlcklOU185UkdCMkx1dl9mRUVFAHZpcnR1YWwgdm9pZCBjdjo6Q3Z0Q29sb3JMb29wX0ludm9rZXI8Y3Y6OlJHQjJMdXZfYj46Om9wZXJhdG9yKCkoY29uc3QgY3Y6OlJhbmdlICYpIGNvbnN0IFtDdnQgPSBjdjo6UkdCMkx1dl9iXQBOMmN2MjBDdnRDb2xvckxvb3BfSW52b2tlcklOU185UkdCMkx1dl9iRUVFAGNvZWZmc1tpKjNdID49IDAgJiYgY29lZmZzW2kqMysxXSA+PSAwICYmIGNvZWZmc1tpKjMrMl0gPj0gMCAmJiBzb2Z0ZmxvYXQoY29lZmZzW2kqM10pICsgc29mdGZsb2F0KGNvZWZmc1tpKjMrMV0pICsgc29mdGZsb2F0KGNvZWZmc1tpKjMrMl0pIDwgc29mdGZsb2F0KDEuNWYpAFJHQjJMdXZmbG9hdAB3aGl0ZVB0WzFdID09IHNvZnRkb3VibGU6Om9uZSgpAHZpcnR1YWwgdm9pZCBjdjo6Q3Z0Q29sb3JMb29wX0ludm9rZXI8Y3Y6OlJHQjJMYWJfZj46Om9wZXJhdG9yKCkoY29uc3QgY3Y6OlJhbmdlICYpIGNvbnN0IFtDdnQgPSBjdjo6UkdCMkxhYl9mXQBOMmN2MjBDdnRDb2xvckxvb3BfSW52b2tlcklOU185UkdCMkxhYl9mRUVFAGNbMF0gPj0gMCAmJiBjWzFdID49IDAgJiYgY1syXSA+PSAwICYmIGNbMF0gKyBjWzFdICsgY1syXSA8IHNvZnRmbG9hdCgoaW50KUxBQl9DQlJUX1RBQl9TSVpFKQBSR0IyTGFiX2YAdmlydHVhbCB2b2lkIGN2OjpDdnRDb2xvckxvb3BfSW52b2tlcjxjdjo6UkdCMkxhYl9iPjo6b3BlcmF0b3IoKShjb25zdCBjdjo6UmFuZ2UgJikgY29uc3QgW0N2dCA9IGN2OjpSR0IyTGFiX2JdAE4yY3YyMEN2dENvbG9yTG9vcF9JbnZva2VySU5TXzlSR0IyTGFiX2JFRUUAY29lZmZzW2kqM10gPj0gMCAmJiBjb2VmZnNbaSozKzFdID49IDAgJiYgY29lZmZzW2kqMysyXSA+PSAwICYmIGNvZWZmc1tpKjNdICsgY29lZmZzW2kqMysxXSArIGNvZWZmc1tpKjMrMl0gPCAyKigxIDw8IHh5el9zaGlmdCkAUkdCMkxhYl9iAHZvaWQgY3Y6OmhhbDo6Y3Z0QkdSdG9MYWIoY29uc3QgdWNoYXIgKiwgc2l6ZV90LCB1Y2hhciAqLCBzaXplX3QsIGludCwgaW50LCBpbnQsIGludCwgYm9vbCwgYm9vbCwgYm9vbCkAdmlydHVhbCB2b2lkIGN2OjpDdnRDb2xvckxvb3BfSW52b2tlcjxjdjo6THV2MlJHQl9mPjo6b3BlcmF0b3IoKShjb25zdCBjdjo6UmFuZ2UgJikgY29uc3QgW0N2dCA9IGN2OjpMdXYyUkdCX2ZdAE4yY3YyMEN2dENvbG9yTG9vcF9JbnZva2VySU5TXzlMdXYyUkdCX2ZFRUUAdmlydHVhbCB2b2lkIGN2OjpDdnRDb2xvckxvb3BfSW52b2tlcjxjdjo6THV2MlJHQl9iPjo6b3BlcmF0b3IoKShjb25zdCBjdjo6UmFuZ2UgJikgY29uc3QgW0N2dCA9IGN2OjpMdXYyUkdCX2JdAE4yY3YyMEN2dENvbG9yTG9vcF9JbnZva2VySU5TXzlMdXYyUkdCX2JFRUUATHV2MlJHQmZsb2F0AHZpcnR1YWwgdm9pZCBjdjo6Q3Z0Q29sb3JMb29wX0ludm9rZXI8Y3Y6OkxhYjJSR0JfZj46Om9wZXJhdG9yKCkoY29uc3QgY3Y6OlJhbmdlICYpIGNvbnN0IFtDdnQgPSBjdjo6TGFiMlJHQl9mXQBOMmN2MjBDdnRDb2xvckxvb3BfSW52b2tlcklOU185TGFiMlJHQl9mRUVFAHZpcnR1YWwgdm9pZCBjdjo6Q3Z0Q29sb3JMb29wX0ludm9rZXI8Y3Y6OkxhYjJSR0JfYj46Om9wZXJhdG9yKCkoY29uc3QgY3Y6OlJhbmdlICYpIGNvbnN0IFtDdnQgPSBjdjo6TGFiMlJHQl9iXQBOMmN2MjBDdnRDb2xvckxvb3BfSW52b2tlcklOU185TGFiMlJHQl9iRUVFAHZvaWQgY3Y6OmhhbDo6Y3Z0TGFidG9CR1IoY29uc3QgdWNoYXIgKiwgc2l6ZV90LCB1Y2hhciAqLCBzaXplX3QsIGludCwgaW50LCBpbnQsIGludCwgYm9vbCwgYm9vbCwgYm9vbCkATVdSTU5WIFJNVlYgUFNUUwBNV09NT1YgT01TTVVOVVBTUSBPUVNRVVJVVVNWT1YATVhWTlRNUk1QTk9QT1NQVVJWVFZWVQBNV09NT1YgT01STVROVVBVU1RVUlZPVgBNV09NT1YgT01VTSBPUVNRIE9WVVYATVZPTU9WIE9NVU0gT1FTUQBNWFZOVE1STVBOT1BPU1BVUlZUVlZVVlIgU1JWUgBNV09NT1YgVU1VViBPUVVRAFBUUk1SVgBOVVNNU1RSVlBWT1RPUwBNV09NT1YgVU1PUyBRUVVWAE1WT01PViBPVlVWAExYTk1OViBOTVJWIFZNUlYgVk1WVgBNV09NT1YgT01VViBVTVVWAE1YUk1QTk9QT1NQVVJWU1ZVVVZTVlBVTlNNUk0ATVdPTU9WIE9NU01VTlVRU1JPUgBNWFJNUE5PUE9TUFVSVlNWVVVWU1ZQVU5TTVJNIFNUVlcATVdPTU9WIE9NU01VTlVRU1JPUiBSUlVWAE1XVU5TTVFNT05PT1BQVFJVU1VVU1ZRVk9VAE1XUk1SViBOTVZNAE1YT01PU1BVUlZTVlVVVlNWTQBNV05NUlYgVk1SVgBMWE5NUFYgUk1QViBSTVRWIFZNVFYATVdPTVVWIFVNT1YATVdOTVJRUlYgVk1SUQBNV1VNT1YgT01VTSBPVlVWAE1WT01PViBPTVVNAE1XUk1OViBSTVZWIE5WVlYATVhSTVBOT1BPU1BVUlZTVlVVVlNWUFVOU01STSBRUVRSIFRRUVIATVdSTU5WIFJNVlYATVdPTVVNIFBRVFIgVFFQUiBPVlVWAE1XT01PViBVTVVWIE9NVU0ATVdPTVJRT1YgT01VTSBPVlVWAE1XTk9OTk9NUE1RTlJQUlYgVk9WTlVNVE1TTlJQAExYUk1SViBQT05QTlNQVFRUVlNWUFRPUE8ATFhSTVJWIE5PT1BPU1FUU1RVU1VQVk8ATVhPVlFWT1JPUFBOUk1TTVVOVlBWUlRWVlYATVdTTU1WIFNNVVYgT1NUUwBNV1FNTlYgUU1UTVZOVlBTUVBRIFNRVVJVVFRVUlZOVgBMWFZQVU5UTVJNUE5PT05RTlNPVVBWUlZUVVVUAE1YUU1OViBRTVVNVk9WUVVUVFVSVk5WAE1WUU1OViBRTVZNIFBRU1EgTlZTVgBNVlFNTlYgUU1WTSBQUVNRAExYVlBVTlRNUk1QTk9PTlFOU09VUFZSVlRVVVNSUwBNWFFNTlYgV01UViBQUVVRAFBVVE1RVgBPVlVNU1NSVVFWUFZPVU9UAE1WUU1OViBWTU9TIFJRVFYATlZSTU9WIE9WVFYATFlQTU1WIFBNUVYgWE1RViBYTVVWAE1YUU1OViBRTVRWIFdNVFYATFhSTVBOT09OUU5TT1VQVlJWVFVVVFZSVlBVTlRNUk0ATVdRTU5WIFFNVU1WTlZQVVFTUlBSAExYUk1QTk9PTlFOU09VUFZSVlRVVVRWUlZQVU5UTVJNIFFWUFVQVFFTUlNTVFRWVVdWVwBNV1FNTlYgUU1VTVZOVlBVUVNSUFIgUVJSVVNWVFZVVQBNV1ZOVE1STVBOUFBRUVRSVVNVVVNWUFZOVQBNVlNNUFYgUE1WTQBMWFBNTlNOVU9WUlZUVVVTV00ATVdPTVFWIFdNUVYAS1hOTU5WIFNNTlYgU01TViBYTVNWAE5XUU1UViBXTU5WAE5XUU1TUVFWIFdNU1EATVdRTVdNTlZUVgBMWE5NUlYgVk1SViBOTVZNAE1XTkxWWABMWFJPTlUgUk9WVQBNV05WVlYAUFZSTVVRAE1XTU1PS1FLVE1WTVdLAE5XUVBUUFVRVVYgVVJRU1BUUFVRVlNWVVUATVdPTU9WIE9TUFVSVlRVVVNUUVJQUFFPUwBNV1VRU1BSUFBRT1NQVVJWU1ZVVQBNV1VNVVYgVVNUUVJQUFFPU1BVUlZUVVVTAE1XT1NVU1RRUlBQUU9TUFVSVlRWAE5WVU5UTVNNUk5SViBQUFRQAE1XVVBVVlRYUllQWSBVU1RRUlBQUU9TUFVSVlRVVVMATVdPTU9WIE9TUFFSUFRRVVNVVgBQVFJMUU1STlNNUkwgUlBSVgBQVVNMUk1TTlRNU0wgU1BTWFJZUVlQWABOV1BNUFYgVVBQVCBSU1VWAEtZTVBNViBNU05RT1BQUFFRUlNSViBSU1NRVFBVUFZRV1NXVgBNV09QT1YgT1NQUVJQVFFVU1VWAE1XUlBQUU9TUFVSVlRVVVNUUVJQAE1XT1BPWSBPU1BVUlZUVVVTVFFSUFBRT1MATVdVUFVZIFVTVFFSUFBRT1NQVVJWVFVVUwBOVlBQUFYgUFNRUVNQVFAATldVUVRQUVBQUVBSUVNUU1VUVVVUVlFWUFUATlZSTVJVU1ZUVlVVIFBQVFAATVdVUFVWIE9QT1NQVVJWVFVVUwBOVk9QUlYgVVBSVgBMWE5QUFYgUlBQViBSUFRWIFZQVFYATVdPUFVWIFVQT1YATVdPUFJWIFVQUlZRWFBZT1kATVdPUFVQT1ZVVgBNWFZQVVNUVVJWUFVPU1BRUlBUUVVVVlYATVdPVFFWU1ZUVVRTU1JQUVJRVFBVT1VOVE1STVFOUFBPVE5ZAE1YTlFPUFFQUlFSU1FXIFZQVVJTVFFXUFkATVdUTlNNUk1RTlFPUlBUUVVTVFVSVlBVT1NQUVJQAE5XVVFTUFFQUFFQUlFTIFNTUVNQVFBVUVZTVlVVAE5XVE1TTlNPVFAgVVBTUFFRUFNQVVFWU1dTWFJZUVkATFhOUU9QUFBRUVFTUFYgUVNSUVRQVVBWUVZTVVZUWQBMWE5RT1BQUFFRUVVSVlNWVFVVU1ZQVk5VTVRNU05TUFRSVVNXVABPVlJQUVNRVVJWU1ZUVQBNV1FQT1YgVVBUUFJRUFMgUFNRVVNWVFYATVdPTVBNUU5SUFVWIFJQT1YATFlQUE1ZIFVQVFNTVVFWUFZPVU9TIFRTVFVVVlZWV1UATVdOUE9QT1YgVVBUU1JVT1YATldUTVNOU09UUCBVUFNQUVFRUlJTVFMgU1NRVFBVUFZRV1NYU1lSWlFaAE1YT1FRUFZQIFFQUVJQViBUUFRSVVYATVdPU1BVUlZUVVVTVFFSUFBRT1NOWQBNWFZQUlBQUU9TUFVSVlRVVVNUUVJQAE1YT1FRUFZQIFNQUlYAS1hNUU5QT1BQUVBVUVZTVlRVVVNWUABNWFBQT1FPU1BVUlZTVlVVVlNWUVVQVFBTUVJTUVkATVdPUFBQUVFTWFRZVVkgVVBUUlBXT1kAS1lUTVJZIE1RTlBPUFBRUFVRVlRWVVVWU1dQAExYT1BOUk5UT1ZRVlJUUlIgVVBWUlZUVVZTVlJUAExXVFNTUVFQT1FOU09VUVZTVVRTIFVQVFNUVVVWVlYATVdRTU9TUFVSVlRVVVNUUVJQUFFPUwBNV1VRU1BSUFBRT1NQVVJWVFYATFdUU1NRUVBPUU5TT1VRVlNVVFMgVk1UU1RVVVZWVgBNV09TVFNVUlVRU1BSUFBRT1NQVVJWVFYAT1ZWTVVNVE5TUFFWUFhPWU5ZIFFQVVAATVhVU1RRUlBQUU9TUFVSVlRVVVMgVlBUVlNYUllQWU9YAE1WUU1OViBPU1BRUVBTUFRRVFJTVFNVVFZVVgBQVVNNU05UTlRNU00gUVBSUFNRU1JSVFJVU1ZUVgBPVVNNU05UTlRNU00gUVBSUFNRU1JSVlFYUFlPWU5YAE5WUk1PViBVUFRQUlFQUyBQU1FVU1ZUVgBPVFNNUVNRVVJWU1YASllLUExQTVFNU0xWIE1TTlFPUFFQUlFSU1FWIFJTU1FUUFZQV1FXUlZUVlVXVlhWAE1XTlBPUFBRUFNPViBQU1FRUlBUUFVRVVJUVFRVVVZWVgBNWE5QT1BQUVBTTlkgUFNRVVNWVVVWU1VRU1BRUVBTAE1YVVNUUVJQUFFPU1BVUlZUVVVTIFZQU1kATVZPUFBQUVFRU1BWIFVRVFBTUFJRUVMATlZUUVNQUVBQUVBSUVNSU1NUU1VSVlBWT1UATlVTTVFTUVVSVlNWIFBQVFAATVdOUE9QUFFQUk9UT1VQVlJWU1VUUyBVUFRTVFVVVlZWAE1XTlBPUFBRUFJPVE9VUFZSVlRVVVJVUABLWUxQTVBOUU5STVRNVU5WUFZRVVJTU1AgUlNSVVNWVVZWVVdSV1AATVdPUVBQUVBSUVJVU1ZUVlVVIFZRVVBUUFNRUVVQVk9WTlUATVdOUE9QUFFQUk9UT1VQVlJWU1VUUyBVUFNWUlhRWU9ZTlgATlZVUE9WIFBRUVBTUFRRIFBVUVZTVlRVAE1XVVNUUVJQUFFPU1BVUlZUVVVTVVBUTlJNUU0ATVdVUVNQUlBQUU9TUFVSVlNWVVUgT1NTUwBNV1JNUU5QUE9TT1ZQV1JXU1ZUVFVRVU5UTVJNIFBSVFIATVdUTVFZIFJQUFFPU1BVUlZTVlVVVlNVUVNQUlAATVdVUVNQUVBPUU9TUFRSVVNWU1dSWFFYAEtZVFBUU1VUVlRXU1dRVk9VTlNNUU1PTk5PTVFNU05VT1ZRV1NXVVYgVFFTUFFQUFFQU1FUU1RUUwBNV1VOT1JVVgBNV09OVVJPVgBPVVRLUUtRWVRZAE9VUEtTS1NZUFkAT1VUS1NMUk5ST1NRUVJTU1JVUlZTWFRZAE9VUEtRTFJOUk9RUVNSUVNSVVJWUVhQWQBMWVBNUU5RT1BQT1BOT05OT01QTVNOVU5XTU5WIFVTVFRUVVVWVlZXVVdUVlNVUwBQVABOVgBNV1JNUE5PUE9TUFVSVlRVVVNVUFROUk0ATVdQT1JNUlYATVdPTlFNU01VTlVQVFJPVlVWAE1XT05RTVNNVU5VUFNRIFJRU1FVUlVVU1ZRVk9VAE1XU01TViBTTU5TVlMATVdQTU9RUVBSUFRRVVNUVVJWUVZPVSBQTVRNAE1XVE1STVBOT1BPU1BVUlZUVVVTVFFSUFBRT1MATVdVTVFWIE9NVU0ATVdRTU9OT1BRUVNRVVBVTlNNUU0gUVFPUk9VUVZTVlVVVVJTUQBNV1VQVFJSU1BST1BQTlJNVE5VUFVTVFVSVlBWAFBVUlVSVlNWU1VSVQBQVVNWUlZSVVNVU1dSWQBQVVJQUlFTUVNQUlAgUlVSVlNWU1VSVQBQVVJQUlFTUVNQUlAgU1ZSVlJVU1VTV1JZAFBVUk1SUiBTTVNSIFJVUlZTVlNVUlUATldQTlJNU01VTlVQUlFSUlNSU1FVUCBSVVJWU1ZTVVJVAFBUUk1SUQBOVlBNUFEgVE1UUQBOVlFNUE5QUFFRU1FUUFROU01RTQBNV1JLUlggVU5TTVFNT05PUFFRVFJVU1VVU1ZRVk9VAE1XVkxOWABPVVRLUk5RUVFTUlZUWQBPVVBLUk5TUVNTUlZQWQBQVFJLUlkATFhOUlZSAExYUk5SViBOUlZSAExYTlBWUCBOVFZUAE1XT09VVSBVT09VAE1XUk9SVSBPUFVUIFVQT1QAUFVSUVJSU1JTUVJRAFBVU01ST1JRU1FTUFJQAFBVU05STlJNU01TT1JRAExYU09WUlNVIE5SVlIATVhRTFFZIFRMVFkgT1FWUSBPVFZUAExYVlJVUlRTU1VSVk9WTlVOU09SUlFTUFNOUk1QTU9OT1BRU1NVVVZWVgBMWE5OT1FPU05WIFZOVVFVU1ZWIE5OUU9TT1ZOIE5WUVVTVVZWAExZUlFRUE9QTlFOU09UUVRSU1NRVFBWUFdRV1NWVFRUU1NSUQBIXE5STVFMUk1TTlIgVlJXUVhSV1NWUgBIXE1QTFFMUk1TTlNPUk9RTlBNUCBNUU1STlJOUU1RIFdQVlFWUldTWFNZUllRWFBXUCBXUVdSWFJYUVdRAElbS1JZUgBIXFJVSlBSVFpQUlUARl5JU0pRTFBOUFBRVFRWVVhVWlRbUSBJU0pQTE9OT1BQVFNWVFhUWlNbUSBJWUpXTFZOVlBXVFpWW1hbWlpbVyBJWUpWTFVOVVBWVFlWWlhaWllbVwBGXklTSlFMUE5QUFFUVFZVWFVaVFtRIElTSlBMT05PUFBUU1ZUWFRaU1tRIElXW1cgSVtbWwBDYUdPXU9YSSBMW0dVXVUARGBGXl5eXkZGRkZeAEtZUVZPVU5TTlFPT1FOU05VT1ZRVlNVVVNWUVYgU1ZWUyBRVlZRIE9VVU8gTlNTTiBOUVFOAEhcSVJbUgBIXElSW1IgSVFbUQBMWVBGU0NTUCBSRFJQIE9QVlAgTVJYUiBPVk9XTldOVk9VUVRUVFZVV1dWWVRaUVtPXE5eTmEgVFRVVVZXVVlUWiBOYE9fUF9TYFZgV18gUF9TYVZhV19XXgBMWVBGU0NTUCBSRFJQIE9QVlAgTVJYUiBPVk9XTldOVk9VUVRUVFZVV1dWWVRaIFRUVVVWV1VZVFogUlpUWlZbV11XXlZgVGFRYU9gTl9OXk9eT18gVFpVW1ZdVl5VYFRhAExZUEZTQ1NQIFJEUlAgT1BWUCBNUlhSIFZWVldXV1dWVlVUVFJUUFVPVk5ZTl5PYFFhVGFWYFdeV1xWWlRZUVlOWyBSVFBWT1lPXlBgUWEgVGFVYFZeVlxVWlRZAExZUEZTQ1NQIFJEUlAgT1BWUCBNUlhSIFFUT1VOV09ZUVpUWlZZV1dWVVRUUVQgUVRQVU9XUFlRWiBUWlVZVldVVVRUIFFaT1tOXU5eT2BRYVRhVmBXXlddVltUWiBRWlBbT11PXlBgUWEgVGFVYFZeVl1VW1RaAExZT0VPRk5GTkVPRFFDVENWRFdGVkhUSVFKT0tOTU5QIFRDVURWRlVIVEkgTk9PTlBOU09WT1dOIFBOU1BWUFdOV00gTVJYUiBPVk9XTldOVk9VUVRUVFZVV1dWWVRaIFRUVVVWV1VZVFogUlpUWlZbV11XXlZgVGFRYU9gTl9OXk9eT18gVFpVW1ZdVl5VYFRhAExZT0VPRk5GTkVPRFFDVENWRFdGVkhUSSBUQ1VEVkZVSFRJIFJJVElWSldMV01WT1RQUVBPT05OTk1PTU9OIFRJVUpWTFZNVU9UUCBNUlhSIFFUT1VOV09ZUVpUWlZZV1dWVVRUUVQgUVRQVU9XUFlRWiBUWlVZVldVVVRUIFFaT1tOXU5eT2BRYVRhVmBXXlddVltUWiBRWlBbT11PXlBgUWEgVGFVYFZeVl1VW1RaAExZT0NOSSBPQ1ZDIE9EU0RWQyBOSU9IUUdUR1ZIV0pXTVZPVFBRUE9PTk5OTU9NT04gVEdVSFZKVk1VT1RQIE1SWFIgUVRPVU5XT1lRWlRaVllXV1ZVVFRRVCBRVFBVT1dQWVFaIFRaVVlWV1VVVFQgUVpPW05dTl5PYFFhVGFWYFdeV11WW1RaIFFaUFtPXU9eUGBRYSBUYVVgVl5WXVVbVFoATFlOQ05HIFZFUkxQUCBXQ1RJUVAgTkVQQ1JDVUUgTkVQRFJEVUVWRSBNUlhSIFFUT1VOV09ZUVpUWlZZV1dWVVRUUVQgUVRQVU9XUFlRWiBUWlVZVldVVVRUIFFaT1tOXU5eT2BRYVRhVmBXXlddVltUWiBRWlBbT11PXlBgUWEgVGFVYFZeVl1VW1RaAExZT0NOSSBPQ1ZDIE9EU0RWQyBOSU9IUUdUR1ZIV0pXTVZPVFBRUE9PTk5OTU9NT04gVEdVSFZKVk1VT1RQIE1SWFIgVlZWV1dXV1ZWVVRUUlRQVU9WTllOXk9gUWFUYVZgV15XXFZaVFlRWU5bIFJUUFZPWU9eUGBRYSBUYVVgVl5WXFVaVFkATFlQRlNDU1AgUkRSUCBPUFZQIE1SWFIgU1ZTYSBUVFRhIFRUTV1YXSBRYVZhAExZT0VPRk5GTkVPRFFDVENWRFdGVkhUSSBUQ1VEVkZVSFRJIFJJVElWSldMV01WT1RQUVBPT05OTk1PTU9OIFRJVUpWTFZNVU9UUCBNUlhSIFNWU2EgVFRUYSBUVE1dWF0gUWFWYQBGXllYV1pVW1JbUFpNWEtXSVdIWEhaSVtLW01aT1dQVVJRVEtXR1lGWkZbR1xIW0laSFtHW0ZaRllGV0dWSFRMUlBQVk5aTVogT1BVUABFXlBbTVpKWEhVR1JHT0hMSklNR1BGVEZXR1lJW0xcT1xSW1VZWFZaU1tQWyBOSk5XIE9KT1cgTEpTSlZLV01XTlZQU1FPUSBTSlVLVk1WTlVQU1EgTFdRVyBTUVRSVVZWV1dXWFYgU1FVUlZWV1cARV5QW01aSlhIVUdSR09ITEpJTUdQRlRGV0dZSVtMXE9cUltVWVhWWlNbUFsgVUtWSlZOVUtTSlBKTktNTExPTFJNVU5WUFdTV1VWVlQgUEpOTE1PTVJOVVBXAEVfSU1bTSBJUltSIElXW1cgS1tZSQBDYUhRR1JIU0lSSFEgUlFRUlJTU1JSUSBcUVtSXFNdUlxRAEVfTldMVElSTFBOTSBMUEpSTFQgSlJaUiBWV1hUW1JYUFZNIFhQWlJYVABKWldOVExSSVBMTU4gUExSSlRMIFJKUlogV1ZUWFJbUFhNViBQWFJaVFgARl5aSlNKT0tNTEtOSlFKU0tWTVhPWVNaWlogU0ZTXgBGXkpKUUpVS1dMWU5aUVpTWVZXWFVZUVpKWiBRRlFeAEZeSkpRSlVLV0xZTlpRWlNZVldYVVlRWkpaIE9SWlIASFxMQkxbIFJCUlsgWEJYWwBJW1JGSlsgUkZaWyBNVFdUAEdcS0ZLWyBLRlRGV0dYSFlKWUxYTldPVFAgS1BUUFdRWFJZVFlXWFlXWlRbS1sASF1aS1lJV0dVRlFGT0dNSUxLS05LU0xWTVhPWlFbVVtXWllYWlYAR1xLRktbIEtGUkZVR1dJWEtZTllTWFZXWFVaUltLWwBIW0xGTFsgTEZZRiBMUFRQIExbWVsASFpMRkxbIExGWUYgTFBUUABIXVpLWUlXR1VGUUZPR01JTEtLTktTTFZNWE9aUVtVW1daWVhaVlpTIFVTWlMAR11LRktbIFlGWVsgS1BZUABOVlJGUlsASlpWRlZWVVlUWlJbUFtOWk1ZTFZMVABHXEtGS1sgWUZLVCBQT1lbAEhZTEZMWyBMW1hbAEZeSkZKWyBKRlJbIFpGUlsgWkZaWwBHXUtGS1sgS0ZZWyBZRllbAEddUEZOR0xJS0tKTkpTS1ZMWE5aUFtUW1ZaWFhZVlpTWk5ZS1hJVkdURlBGAEdcS0ZLWyBLRlRGV0dYSFlKWU1YT1dQVFFLUQBHXVBGTkdMSUtLSk5KU0tWTFhOWlBbVFtWWlhYWVZaU1pOWUtYSVZHVEZQRiBTV1ldAEdcS0ZLWyBLRlRGV0dYSFlKWUxYTldPVFBLUCBSUFlbAEhcWUlXR1RGUEZNR0tJS0tMTU1OT09VUVdSWFNZVVlYV1pUW1BbTVpLWABKWlJGUlsgS0ZZRgBHXUtGS1VMWE5aUVtTW1ZaWFhZVVlGAElbSkZSWyBaRlJbAEZeSEZNWyBSRk1bIFJGV1sgXEZXWwBIXEtGWVsgWUZLWwBJW0pGUlBSWyBaRlJQAEhcWUZLWyBLRllGIEtbWVsASFlMRkxbIExGWEYASVtSRkpbIFJGWlsgSltaWwBHXVBGTkdMSUtLSk5KU0tWTFhOWlBbVFtWWlhYWVZaU1pOWUtYSVZHVEZQRiBPUFVQAElbUkZKWyBSRlpbAElbS0ZZRiBPUFVQIEtbWVsAR11LRktbIFlGWVsgS0ZZRgBJW0tGUlBLWyBLRllGIEtbWVsASVtLS0tJTEdNRk9GUEdRSVJNUlsgWUtZSVhHV0ZVRlRHU0lSTQBIXFJGUlsgUEtNTExNS09LUkxUTVVQVlRWV1VYVFlSWU9YTVdMVEtQSwBIXEtGWVsgS1tZRgBHXVJGUlsgSUxKTEtNTFFNU05UUVVTVVZUV1NYUVlNWkxbTABIXEtbT1tMVEtQS0xMSU5HUUZTRlZHWElZTFlQWFRVW1lbAEdbR1tJWkxXT1NTTFZGVltVWFNVUVNOUUxRS1JLVExWTlhRWlRbWVsARl1TSFRJVExTUFJTUVVPWE1aS1tKW0laSVdKUktPTE1OSlBIUkdVRlhGWkdbSVtLWk1ZTldPVFAgU1BUUFdRWFJZVFlXWFlXWlVbUltQWk9YAEhcVExUTVVOV05ZTVpLWklZR1dGVEZRR09JTUxMTktSS1ZMWU1aT1tRW1RaVlhXVgBHXlRGUkdRSVBNT1NOVk1YS1pJW0dbRlpGWEdXSVdLWE1aUFtTW1ZaWFhaVFtPW0taSFlHV0ZURlJIUkpTTVVQV1JaVFxVAEhcVkpWS1dMWUxaS1pJWUdWRlJGT0dOSU5MT05QT1NQUFBNUUxSS1RLV0xZTVpQW1NbVlpYWFlWAEhcUkxQTE5LTUlOR1FGVEZYR1tHXUYgWEdWTlRUUlhQWk5bTFtKWklYSVZKVUxVTlYgUVBaUABHXkdbSVpNVlBRUU5SSlJHUUZQRk9HTklOTE9OUU9VT1hOWU1aS1pRWVZYWFZaU1tPW0xaSlhJVklUAEZeTU1LTEpKSklLR01GTkZQR1FJUUtQT05VTFlKW0hbR1pHWCBNUlZPWE5bTF1KXkheR11GXEZaSFhMVlJVV1VaVltXW1laWllcVgBJWldWVVRTUVJPUUxRSVJHU0ZVRlZHV0lXTFZRVFZTWFFaT1tNW0taSlhKVktVTVVPVgBKWVReUltQVk9QT0pQR1JGVEZVR1ZKVk1VUlJbUGFPZE5mTGdLZktkTGFOXlBcU1pXWABGXk1NS0xKSkpJS0dNRk5GUEdRSVFLUE9OVUxZSltIW0daR1ggXkleR11GXEZaR1hJVkxUTlJPUE8gUk9TUVNYVFpVW1ZbWFpZWVtWAElcTVJPUlNRVk9YTVlLWUhYRlZGVUdUSVNOUlNRVlBYTlpMW0pbSVpJWEpXTFdOWFFaVFtWW1laW1gAQGFFTUNMQkpCSUNHRUZGRkhHSUlJS0hQR1RFWyBHVEpMTEhNR09GUEZSR1NJU0tSUFFUT1sgUVRUTFZIV0dZRlpGXEddSV1LXFBaV1paW1tcW15aX1lhVgBFXUpNSExHSkdJSEdKRktGTUdOSU5LTVBMVEpbIExUT0xRSFJHVEZWRlhHWUlZS1hQVldWWldbWFtaWltZXVYASF1URlFHT0lNTExOS1JLVkxZTVpPW1FbVFpWWFhVWVNaT1pLWUhYR1ZGVEZSSFJLU05VUVdTWlVcVgBGX1NIVElUTFNQUlNRVU9YTVpLW0pbSVpJV0pSS09MTU5KUEhSR1VGWkZcR11IXkpeTV1PXFBaUVdRVVBUTwBIXlVMVE5TT1FQT1BOTk5MT0lRR1RGV0ZZR1pJWk1ZUFdTU1dQWU5aS1tJW0haSFhJV0tXTVhQWlNbVltZWltYAEZfU0hUSVRMU1BSU1FVT1hNWktbSltJWklXSlJLT0xNTkpQSFJHVUZZRltHXEhdSl1NXE9bUFlRVlFTUFRRVVNVWFZaWFtaWltZXVYASFxIW0paTFhPVFFRU01USlRHU0ZSRlFHUElQS1FNU09WUVhTWVVZV1hZV1pUW1BbTVpLWEpWSlQASFtSTFBMTktNSU5HUUZURlhHW0ddRiBYR1ZOVFRSWFBaTltMW0paSVhJVkpVTFVOVgBFXUpNSExHSkdJSEdKRktGTUdOSU5LTU9MUktWS1hMWk5bUFtSWlNZVVVYTVpGIFhNV1FWV1ZaV1tYW1paW1ldVgBGXUtNSUxISkhJSUdLRkxGTkdPSU9LTk9NUkxWTFlNW09bUVpUV1ZUWFBZTVpJWkdZRlhGV0dWSVZLV05ZUFtRAENfSE1GTEVKRUlGR0hGSUZLR0xJTExLWyBVRktbIFVGU1sgYUZfR1xKWU5WVFNbAEZeTkxMTEtLS0lMR05GUEZSR1NJU0xRVVFYUlpUW1ZbWFpZWFlWWFVWVSBdSV1HXEZaRlhHVklUTFBVTlhMWkpbSFtHWkdYAEZdS01JTEhKSElJR0tGTEZOR09JT0tOT01STFZMWE1aTltQW1JaVFhWVVdTWU0gW0ZZTVZXVF1SYlBmTmdNZk1kTmFQXlNbVllbVgBIXVVMVE5TT1FQT1BOTk5MT0lRR1RGV0ZZR1pJWk1ZUFdUVFdQWk5bS1tKWkpYS1dOV1BYUVlSW1JeUWFQY05mTGdLZktkTGFOXlFbVFlaVgBJW0pGUlsgWkZSWyBKRlpGAEddSUxbYgBFX1JKSVogUkpbWgBJW0pbWlsASVtKW1pbWlpKWkpbAElcWE1YWyBYUFZOVE1RTU9OTVBMU0xVTVhPWlFbVFtWWlhYAEhbTEZMWyBMUE5OUE1TTVVOV1BYU1hVV1hVWlNbUFtOWkxYAElbWFBWTlRNUU1PTk1QTFNMVU1YT1pRW1RbVlpYWABJXFhGWFsgWFBWTlRNUU1PTk1QTFNMVU1YT1pRW1RbVlpYWABJW0xTWFNYUVdPVk5UTVFNT05NUExTTFVNWE9aUVtUW1ZaWFgATVlXRlVGU0dSSlJbIE9NVk0ASVxYTVhdV2BWYVRiUWJPYSBYUFZOVE1RTU9OTVBMU0xVTVhPWlFbVFtWWlhYAElcTUZNWyBNUVBOUk1VTVdOWFFYWwBOVlFGUkdTRlJFUUYgUk1SWwBNV1JGU0dURlNFUkYgU01TXlJhUGJOYgBJWk1GTVsgV01NVyBRU1hbAENhR01HWyBHUUpOTE1PTVFOUlFSWyBSUVVOV01aTVxOXVFdWwBJXE1NTVsgTVFQTlJNVU1XTlhRWFsASVxRTU9OTVBMU0xVTVhPWlFbVFtWWlhYWVVZU1hQVk5UTVFNAEhbTE1MYiBMUE5OUE1TTVVOV1BYU1hVV1hVWlNbUFtOWkxYAElcWE1YYiBYUFZOVE1RTU9OTVBMU0xVTVhPWlFbVFtWWlhYAEtYT01PWyBPU1BQUk5UTVdNAEpbWFBXTlRNUU1OTk1QTlJQU1VUV1VYV1hYV1pUW1FbTlpNWABNWVJGUldTWlVbV1sgT01WTQBJXE1NTVdOWlBbU1tVWlhXIFhNWFsASlpMTVJbIFhNUlsAR11KTU5bIFJNTlsgUk1WWyBaTVZbAEpbTU1YWyBYTU1bAEpaTE1SWyBYTVJbUF9OYUxiS2IASltYTU1bIE1NWE0gTVtYWwBIXVFNT05NUExSS1VLWExaTltQW1JaVVdXVFlQWk0gUU1TTVROVVBXWFhaWVtaWwBJXFVGU0dRSU9NTlBNVExaS2IgVUZXRllIWUtYTVdOVU9STyBST1RQVlJXVFdXVllVWlNbUVtPWk5ZTVYASVxKUExOTk1PTVFOUk9TUlNWUlsgWk1ZUFhSUltQX09iAElbVE1RTU9OTVBMU0xWTVlOWlBbUltUWlZYV1VXUlZPVE1SS1FJUUdSRlRGVkdYSQBKWldPVk5UTVFNT05PUFBSU1MgU1NPVE1WTVhOWlBbU1tVWldYAEpZVEZSR1FIUUlSSlVLWEsgWEtUTVFPTlJNVU1XTllQW1NdVF9UYVNiUWJQYABIXElRSk9MTU5NT05PUE5UTFsgTlRQUFJOVE1WTVhPWFJXV1RiAEdcSFFJT0tNTU1OTk5QTVVNWE5aT1tRW1NaVVdWVVdSWE1YSldHVUZTRlJIUkpTTVVQV1JaVABMV1JNUFRPWE9aUFtSW1RZVVcASVtPTUtbIFlOWE1XTVVOUVJPU05TIE5TUFRRVVNaVFtVW1ZaAEpaS0ZNRk9HUEhYWyBSTUxbAEhdT01JYiBOUU1WTVlPW1FbU1pVWFdUIFlNV1RWWFZaV1tZW1tZXFcASVtMTU9NTlNNWExbIFlNWFBXUlVVUlhPWkxbAEpaVEZSR1FIUUlSSlVLWEsgVUtSTFBNT09PUVFTVFRWVCBUVFBVTlZNWE1aT1xTXlRfVGFSYlBiAEpbUk1QTk5QTVNNVk5ZT1pRW1NbVVpXWFhVWFJXT1ZOVE1STQBHXVBNTFsgVU1WU1dYWFsgSVBLTk5NW00ASVtNU01WTllPWlFbU1tVWldYWFVYUldPVk5UTVJNUE5OUE1TSWIASV1bTVFNT05NUExTTFZNWU5aUFtSW1RaVlhXVVdSVk9VTlNNAEhcU01QWyBKUExOT01aTQBIXElRSk9MTU5NT05PUE1WTVlPW1FbVFpWWFhUWVBZTQBHXU9OTU9LUUpUSldLWUxaTltRW1RaV1hZVVpSWk9YTVZNVE9SU1BYTWIASVtLTU1NT09VYFdiWWIgWk1ZT1dSTV1LYEpiAEZdVkZOYiBHUUhPSk1MTU1OTVBMVUxYTVpPW1FbVFpWWFhVWlBbTQBGXU5NTE5KUUlUSVdKWktbTVtPWlFXIFJTUVdSWlNbVVtXWllXWlRaUVlOWE0ATFxVVVRTUlJQUk5TTVRMVkxYTVpPW1FbU1pUWFZSVVdVWlZbV1tZWlpZXFYATVtNVk9TUk5TTFRJVEdTRlFHUElPTU5UTlpPW1BbUlpUWFVVVVJWVldXWVdbVgBNWFRUVFNTUlFST1NOVE1WTVhOWlBbU1tWWVhWAExcVVVUU1JSUFJOU01UTFZMWE1aT1tRW1NaVFhaRiBWUlVXVVpWW1dbWVpaWVxWAE5YT1lRWFJXU1VTU1JSUVJPU05VTlhPWlFbU1tVWlZZWFYAT1dPVlNRVU5WTFdJV0dWRlRHU0lRUU5aS2FKZEpmS2dNZk5jT1pQW1JbVFpVWVdWAExbVVVUU1JSUFJOU01UTFZMWE1aT1tRW1NaVFkgVlJUWVBkT2ZNZ0xmTGRNYVBeU1xVW1hZW1YATVxNVk9TUk5TTFRJVEdTRlFHUElPTU5TTVsgTVtOWE9WUVNTUlVSVlNWVVVYVVpWW1dbWVpaWVxWAFBXU01TTlROVE1TTSBQVlJSUFhQWlFbUltUWlVZV1YAUFdTTVNOVE5UTVNNIFBWUlJMZEtmSWdIZkhkSWFMXk9cUVtUWVdWAE1bTVZPU1JOU0xUSVRHU0ZRR1BJT01OU01bIE1bTlhPVlFTU1JVUlZTVlVUVlFWIFFWU1dUWlVbVltYWllZW1YAT1dPVlFTVE5VTFZJVkdVRlNHUklRTVBUUFpRW1JbVFpVWVdWAEVeRVZHU0lSSlNKVElYSFsgSVhKVkxTTlJQUlFTUVRQWE9bIFBYUVZTU1VSV1JYU1hVV1hXWlhbWVtbWlxZXlYASlxKVkxTTlJPU09UTlhNWyBOWE9WUVNTUlVSVlNWVVVYVVpWW1dbWVpaWVxWAExaUlJQUk5TTVRMVkxYTVpPW1FbU1pUWVVXVVVUU1JSUVNRVVJXVFhXWFlXWlYAS1pLVk1TTlFNVUdnIE1VTlNQUlJSVFNVVVVXVFlTWlFbIE1aT1tSW1VaV1laVgBMW1VVVFNSUlBSTlNNVExWTFhNWk9bUVtTWiBWUlVVU1pQYU9kT2ZQZ1JmU2NTXFVbWFlbVgBNWk1WT1NQUVBTU1NUVFRWU1lTWlRbVVtXWlhZWlYATllOVlBTUVFRU1NWVFhUWlJbIE5aUFtUW1ZaV1lZVgBPWE9WUVNTTyBWRlBYUFpRW1NbVVpWWVhWIFBOV04ATFtMVk5STFhMWk1bT1tRWlNYVVUgVlJUWFRaVVtWW1haWVlbVgBMW0xWTlJNV01aTltPW1JaVFhVVVVSIFVSVlZXV1lXW1YASV5MUkpUSVdJWUpbTFtOWlBYIFJSUFhQWlFbU1tVWldYWFVYUiBYUllWWldcV15WAEpaSlZMU05SUFJRU1FaUltVW1hZWlYgV1NWUlRSU1NPWk5bTFtLWgBMW0xWTlJMWExaTVtPW1FaU1hVVSBWUlBkT2ZNZ0xmTGRNYVBeU1xVW1hZW1YATFpMVk5TUFJSUlRUVFZTWFFaTltQXFFeUWFQZE9mTWdMZkxkTWFQXlNcV1laVgBKXEtbTlpRWFNWVVNXT1hLWElXR1VGU0dSSFFKUE9QVFFYUlpUW1ZbWFpZWQBJW1dVV1JWT1VOU01RTU9OTVBMU0xWTVlOWlBbUltUWlZYV1VYUFhLV0hWR1RGUkZQR05JAEpaV05VTVJNUE5OUE1TTVZOWU9aUVtUW1ZaIE1UVVQASltURlJHUEpPTE5PTVRNWE5aT1tRW1NaVVdWVVdSWE1YSVdHVkZURiBOUFdQAEhcVkZOYiBRTU5OTFBLU0tWTFhOWlFbU1tWWlhYWVVZUlhQVk5TTVFNAElbWE9XTlRNUU1OTk1PTFFMU01VT1dTWlRcVF5TX1FfAERhV05WTFRLUUtPTE5NTU9NUk5UT1VRVlRWVlVXUyBXS1dTWFVZVltWXFVdU11PXExbSllIV0dURlFGTkdMSEpKSUxIT0hSSVVKV0xZTlpRW1RbV1pZWQBGXlpJSlJaWwBGXkpJWlJKWwBLWU9CT2IgT0JWQiBPYlZiAEtZVUJVYiBOQlVCIE5iVWIAS1lUQlFFUEhQSlFNU09TUE9SU1RTVVFXUFpQXFFfVGIAS1lQQlNFVEhUSlNNUU9RUFVSUVRRVVNXVFpUXFNfUGIARl5bRllHVkhTSFBHTkZMRkpHSUlJS0tNTU1PTFBKUEhORiBbRklbIFlUV1RVVVRXVFlWW1hbWlpbWFtWWVQASloASFxRRk5HTEpLT0tSTFdOWlFbU1tWWlhXWVJZT1hKVkdTRlFGAEhcTkpQSVNGU1sASFxMS0xKTUhOR1BGVEZWR1dIWEpYTFdOVVFLW1lbAEhcTUZYRlJOVU5XT1hQWVNZVVhYVlpTW1BbTVpMWUtXAEhcVUZLVFpUIFVGVVsASFxXRk1GTE9NTlBNU01WTlhQWVNZVVhYVlpTW1BbTVpMWUtXAEhcWElXR1RGUkZPR01KTE9MVE1YT1pSW1NbVlpYWFlVWVRYUVZPU05STk9PTVFMVABIXFlGT1sgS0ZZRgBIXFBGTUdMSUxLTU1PTlNPVlBYUllUWVdYWVdaVFtQW01aTFlLV0tUTFJOUFFPVU5XTVhLWElXR1RGUEYASFxYTVdQVVJSU1FTTlJMUEtNS0xMSU5HUUZSRlVHV0lYTVhSV1dVWlJbUFtNWkxYAE1XUllRWlJbU1pSWQBNV1NaUltRWlJZU1pTXFJeUV8ATVdSTVFOUk9TTlJNIFJZUVpSW1NaUlkATVdSTVFOUk9TTlJNIFNaUltRWlJZU1pTXFJeUV8ATVdSRlJUIFJZUVpSW1NaUlkASVtMS0xKTUhOR1BGVEZWR1dIWEpYTFdOVk9SUVJUIFJZUVpSW1NaUlkATlZSRlJNAEpaTkZOTSBWRlZNAEtZUUZPR05JTktPTVFOU05VTVZLVklVR1NGUUYASFxQQlBfIFRCVF8gWUlXR1RGUEZNR0tJS0tMTU1OT09VUVdSWFNZVVlYV1pUW1BbTVpLWABHXVtCSWIAS1lWQlREUkdQS09QT1RQWVJdVGBWYgBLWU5CUERSR1RLVVBVVFRZUl1QYE5iAE5WUkJSYgBFX0lSW1IARV9SSVJbIElSW1IARV9JT1tPIElVW1UAR11LS1lZIFlLS1kASlpSTFJYIE1PV1UgV09NVQBNV1JRUVJSU1NSUlEATVdTRlJHUUlRS1JMU0tSSgBNV1JIUUdSRlNHU0lSS1FMAEVfVU1YUFtSWFRVVyBJUltSAEddT0ZPYiBVRlViIEpRWlEgSldaVwBFX1xPXE5bTVpNWU5YUFZVVFhSWlBbTFtKWklZSFdIVUlTSlJRTlJNU0tTSVJHUEZOR01JTUtOTlBRVVhXWllbW1tcWlxZAEddSUlKS0tPS1VKWUlbIFtJWktZT1lVWllbWyBJSUtKT0tVS1lKW0kgSVtLWk9ZVVlZWltbAEZfXFFbT1lOV05VT1RQUVRQVU5WTFZKVUlTSVFKT0xOTk5QT1FQVFRVVVdWWVZbVVxTXFEAS1lPQk9bIFVCVVsARl5SQlJbIElbW1sARl5bQklbW1sARV9SSVFKUktTSlJJIElZSFpJW0paSVkgW1laWltbXFpbWQBGXlJITkxLUEpTSlVLV01YT1hRV1JVIFJIVkxZUFpTWlVZV1dYVVhTV1JVIFJVUVlQXCBSVVNZVFwgUFxUXABGXlJOUUtQSU5ITUhLSUpLSk9LUkxUTldSXCBSTlNLVElWSFdIWUlaS1pPWVJYVFZXUlwARl5SR1BKTE9JUiBSR1RKWE9bUiBJUkxVUFpSXSBbUlhVVFpSXQBGXlJUVFdWWFhYWldbVVtTWlFYUFZQU1EgU1FVT1ZNVktVSVNIUUhPSU5LTk1PT1FRIFFRTlBMUEpRSVNJVUpXTFhOWFBXUlQgUlRRWVBcIFJUU1lUXCBQXFRcAEZeUlJSW1FcIFJWUVwgUklRSE9ITklOS09OUlIgUklTSFVIVklWS1VOUlIgUlJOT0xOSk5JT0lRSlIgUlJWT1hOWk5bT1tRWlIgUlJOVUxWSlZJVUlTSlIgUlJWVVhWWlZbVVtTWlIARl5JU0pTTFRNVk1YTFogSVNJUkpRTFFNUk5UTldNWUxaIFJHUElPTE9PUVVRWFBaUlwgUkdUSVVMVU9TVVNYVFpSXCBbU1tSWlFYUVdSVlRWV1dZWFogW1NaU1hUV1ZXWFhaIEtWWVYAUFNTUlJTUVNQUlBRUVBSUFNRU1NSVVFWIFFRUVJSUlJRUVEAUFRRUFBRUFNRVFNUVFNUUVNQUVAgUlFRUlJTU1JSUQBOVlBPVFUgVE9QVSBOUlZSAE1XUktRTU9QTVIgUktTTVVQV1IgUk1PUSBSTVVRIFJPUFEgUk9UUSBRUVNRIE1SV1IATVdNUk1RTk9PTlFNU01VTlZPV1FXUiBQTlROIE9PVU8gTlBWUCBOUVZRIE1SV1IATFJMRkxSUlJMRiBMSVBRIExMT1IgTE9NUQBNV1JLUU1PUE1SIFJLU01VUFdSAE1XV1JXUVZPVU5TTVFNT05OT01RTVIAR11dUl1QXE1aSldIVEdQR01ISkpITUdQR1IATVdNUk1TTlVPVlFXU1dVVlZVV1NXUgBMWExQTlJRU1NTVlJYUABSVVJVVFRVUlRQUk8AUlZSUlVQVk5WTFVLVEsATlJSUk9QTk5OTE9LUEsATVdXSFZHVEZRRk9HTkhNSk1MTk5PT1VTVlRXVldYVlpVW1NcUFxOW01aAEddSVdIVkdUR1FIT0lOS01NTU9OUE9UVVVWV1dZV1tWXFVdU11QXE5bTQBHXVJSVFVVVldXWVdbVlxVXVNdUVxPW05ZTVdNVU5UT1BVT1ZNV0tXSVZIVUdTR1FIT0lOS01NTU9OUE9SUgBIXEtGS1sgSEZbRlFQW1ogWlZbWVxbIFpWWlkgV1laWSBXWVpaXFsAS1lVQVJCUENORUxIS0xLUkxVTldRWFNYVldYVVlSIEtQTE1OS1FKU0pWS1hNWVBZVlhaVl1UX1JgT2EAPmY+UmZSAERgRGBgRABSUlI+UmYARGBERGBgAERgRFJgUgBGXkZZXksAS1lLXllGAEtZS0ZZXgBGXkZLXlkAS1lLUllSAE1XTVdXTQBNV01NV1cARGBET0dRS1NQVFRUWVNdUWBPAFBVVURTR1FLUFBQVFFZU11VYABPVE9EUUdTS1RQVFRTWVFdT2AARGBEVUdTS1FQUFRQWVFdU2BVAEtZUkpZTktWUloASlpKUk5LVllaUgBLWUtWS05ZVllOAEpaTFhKUFpUWEwASlpKXUxdT1xRW1RYVVZWU1ZPVUxUSlNJUUlQSk9MTk9OU09WUFhTW1VcWF1aXQBJXV1aXVhcVVtTWFBWT1NOT05MT0pQSVFJU0pUTFVPVlNWVlVYVFtRXE9dTF1KAEpaWkdYR1VIU0lQTE9OTlFOVU9YUFpRW1NbVFpVWFZVVlFVTlRMUUlPSExHSkcAR1tHSkdMSE9JUUxUTlVRVlVWWFVaVFtTW1FaUFhPVU5RTk5PTFBJU0hVR1hHWgBFW0VQRlJIVEpVTVZRVlVVWFNaUFtOWkxXTFNNUU5OUExTS1ZLWUxcTV4ARVlFVEhWS1dQV1NWVlRYUVlOWUxYS1ZLU0xQTk5RTVRNWU5cUF8AT1VRT09RT1NRVVNVVVNVUVNPUU8gUVBQUVBTUVRTVFRTVFFTUFFQIFJRUVJSU1NSUlEARGBEUkpSIE9SVVIgWlJgUgBEYERVRE9gT2BVAEpaUkRKUiBSRFpSAERgRFJgUiBKWVpZIFBgVGAARGBEUmBSIERSUmIgYFJSYgBLWVFLTkxMTktRS1NMVk5YUVlTWVZYWFZZU1lRWE5WTFNLUUsATFhMTExYWFhYTExMAEtZUkpLVllWUkoATFhSSExSUlxYUlJIAEpaUklQT0pPT1NNWVJVV1lVU1pPVE9SSQBLWVJLUlkgS1JZUgBNV01NV1cgV01NVwBNV1JMUlggTU9XVSBXT01VAE5WUU5PT05RTlNPVVFWU1ZVVVZTVlFVT1NOUU4gT1FPUyBQUFBUIFFPUVUgUk9SVSBTT1NVIFRQVFQgVVFVUwBOVk5OTlZWVlZOTk4gT09PVSBQT1BVIFFPUVUgUk9SVSBTT1NVIFRPVFUgVU9VVQBNV1JMTVVXVVJMIFJPT1QgUk9VVCBSUlFUIFJSU1QATFVMUlVXVU1MUiBPUlRVIE9SVE8gUlJUUyBSUlRRAE1XUlhXT01PUlggUlVVUCBSVU9QIFJSU1AgUlJRUABPWFhST01PV1hSIFVSUE8gVVJQVSBSUlBRIFJSUFMATFhSTE5XWFBMUFZXUkwgUlJSTCBSUkxQIFJSTlcgUlJWVyBSUlhQAE1XUkxSWCBPT1VPIE1VT1dRWFNYVVdXVQBMWFJMUlggTFFNT1dPWFEgUFdUVwBLWU1OV1ggV05NWCBPTExPS1EgVUxYT1lRAElbTklJWyBWSVtbIE1NW1sgV01JWyBOSVZJIE1NV00ASVtSR1JWIE1KV1AgV0pNUCBJVkxcIFtWWFwgSVZbViBMXFhcAEdbTUpTViBLUFNMIEdcW1xbUkdcAExYUExQUExQTFRQVFBYVFhUVFhUWFBUUFRMUEwAS1lZUFhOVkxTS1FLTkxMTktRS1NMVk5YUVlTWVZYWFZZVCBZUFdOVU1TTVFOUE9PUU9TUFVRVlNXVVdXVllUAEtZUkpLVllWUkogUlpZTktOUloAR11QSVBHUUZTRlRHVEkgR1pIWEpWS1RMUExLTUpPSVVJV0pYS1hQWVRaVlxYXVogR1pdWiBRWlBbUVxTXFRbU1oASlpSTVJTIFJTUVwgUlNTXCBRXFNcIFJNUUpQSE5HIFFKTkcgUk1TSlRIVkcgU0pWRyBSTU5LTEtKTSBQTExMSk0gUk1WS1hLWk0gVExYTFpNIFJNUE5PT09SIFJNUE9PUiBSTVROVU9VUiBSTVRPVVIASlpSSVJLIFJOUlAgUlNSVSBSWVFcIFJZU1wgUVxTXCBSR1FJUEogUkdTSVRKIFBKUklUSiBSS1BOTk9NTiBSS1ROVk9XTiBOT1BPUk5UT1ZPIFJQUFNOVExUS1JLU0xUIFJQVFNWVFhUWVJZU1hUIE5UUFRSU1RUVlQgUlVQWE9ZTVpMWktZSldKWUxaIFJVVFhVWVdaWFpZWVpXWllYWiBNWk9aUllVWldaAEpaUllRXCBSWVNcIFFcU1wgUllVWlhaWlhaVVlUV1RZUlpPWU1XTFVNVkpVSFNHUUdPSE5KT01NTEtNSk9LUk1US1RKVUpYTFpPWlJZAEpaUllRXCBSWVNcIFFcU1wgUllWWFZWWFVYUlpRWkxZSVhIVkhUR1BHTkhMSEtJSkxKUUxSTFVOVk5YUlkASVtJUEtSIExLTlAgUkdSTyBYS1ZQIFtQWVIAUVNSUVFSUlNTUlJRAFBUUVBQUVBTUVRTVFRTVFFTUFFQAE5WUU5PT05RTlNPVVFWU1ZVVVZTVlFVT1NOUU4ATVdRTU9OTk9NUU1TTlVPVlFXU1dVVlZVV1NXUVZPVU5TTVFNAEddUEdNSEpKSE1HUEdUSFdKWk1cUF1UXVdcWlpcV11UXVBcTVpKV0hUR1BHAEFjUEFMQkpDR0VFR0NKQkxBUEFUQlhDWkVdR19KYUxiUGNUY1hiWmFdX19dYVpiWGNUY1BiTGFKX0ddRVpDWEJUQVBBADxoUDxLPUc/REFBRD9HPUs8UDxUPVk/XUFgRGNHZUtnUGhUaFlnXWVgY2NgZV1nWWhUaFBnS2VHY0RgQV0/WT1UPFA8ACl7TylJKkUrQC07MDczMzcwOy1AK0UqSSlPKVUqWytfLWQwaTNtN3E7dEB3RXlJek97VXtbel95ZHdpdG1xcW10aXdkeV96W3tVe096SXlFd0B0O3E3bTNpMGQtXytbKlUpTykAPmZSQVBDTURKREdDRUE+SEBKQU1BWkJdRF9HYE1gUGFSYyBSQVRDV0RaRF1DX0FmSGRKY01jWmJdYF9dYFdgVGFSYwBBY1JBUENNREpER0NFQUJHQUtBUEJURFhHXExgUmMgUkFUQ1dEWkRdQ19BYkdjS2NQYlRgWF1cWGBSYyBCSGJIAEhbV1BWUVdSWFFYUFZOVE1RTU5OTFBLU0tVTFhOWlFbU1tWWlhYIFFNT05NUExTTFVNWE9aUVsgTGJYRgBLWVJLTVggUk5WWCBSS1dYIE9UVFQgS1hQWCBUWFlYAEpaTktOWCBPS09YIExLU0tWTFdOVlBTUSBTS1VMVk5VUFNRIE9RU1FWUldUV1VWV1NYTFggU1FVUlZUVlVVV1NYAEtZVkxXS1dPVkxUS1FLT0xOTU1QTVNOVk9XUVhUWFZXV1UgUUtPTU5QTlNPVlFYAEpaTktOWCBPS09YIExLU0tWTFdNWFBYU1dWVldTWExYIFNLVUxWTVdQV1NWVlVXU1gASllOS05YIE9LT1ggU09TUyBMS1ZLVk9VSyBPUVNRIExYVlhWVFVYAEpYTktOWCBPS09YIFNPU1MgTEtWS1ZPVUsgT1FTUSBMWFFYAEtbVkxXS1dPVkxUS1FLT0xOTU1QTVNOVk9XUVhUWFZXIFFLT01OUE5TT1ZRWCBUWFVXVlUgVlNWWCBXU1dYIFRTWVMASltOS05YIE9LT1ggVktWWCBXS1dYIExLUUsgVEtZSyBPUVZRIExYUVggVFhZWABOV1JLUlggU0tTWCBQS1VLIFBYVVgATFhTS1NVUldRWCBUS1RVU1dRWFBYTldNVU5UT1VOViBRS1ZLAEpaTktOWCBPS09YIFdLT1MgUVFWWCBSUVdYIExLUUsgVEtZSyBMWFFYIFRYWVgAS1hPS09YIFBLUFggTUtSSyBNWFdYV1RWWABJXE1LTVggTk5SWCBOS1JVIFdLUlggV0tXWCBYS1hYIEtLTksgV0taSyBLWE9YIFVYWlgASlpOS05YIE9NVlggT0tWViBWS1ZYIExLT0sgVEtYSyBMWFBYAEtaUUtPTE5NTVBNU05WT1dRWFRYVldXVlhTWFBXTVZMVEtRSyBRS09NTlBOU09WUVggVFhWVldTV1BWTVRLAEpZTktOWCBPS09YIExLU0tWTFdOV09WUVNST1IgU0tVTFZOVk9VUVNSIExYUVgAS1pRS09MTk1NUE1TTlZPV1FYVFhWV1dWWFNYUFdNVkxUS1FLIFFLT01OUE5TT1ZRWCBUWFZWV1NXUFZNVEsgUFdQVVFUU1RUVVVaVltXW1haIFRVVVhWWldbAEpaTktOWCBPS09YIExLU0tWTFdOV09WUVNST1IgU0tVTFZOVk9VUVNSIExYUVggU1JUU1VXVlhXWFhXIFNSVVNWV1dYAEtaVk1XS1dPVk1VTFNLUUtPTE5NTk9PUFFRVFJWU1dUIE5OT09RUFRRVlJXU1dWVldUWFJYUFdPVk5UTlhPVgBLWlJLUlggU0tTWCBOS01PTUtYS1hPV0sgUFhVWABKW05LTlVPV1FYVFhWV1dVV0sgT0tPVVBXUVggTEtRSyBVS1lLAEtZTUtSWCBOS1JVIFdLUlggS0tQSyBUS1lLAElbTEtPWCBNS09UIFJLT1ggUktVWCBTS1VUIFhLVVggSktPSyBWS1pLAEtaTktWWCBPS1dYIFdLTlggTEtRSyBUS1lLIExYUVggVFhZWABMWU5LUlJSWCBPS1NSIFdLU1JTWCBMS1FLIFRLWUsgUFhVWABMWVZLTlggV0tPWCBPS05PTktXSyBOWFdYV1RWWABLWE9LT1ggUEtQWCBNS1dLV09WSyBNWFJYAEtZUktMWCBSTVdYIFJLWFggTVdWVyBMWFhYAEtaUUtPTE5NTVBNU05WT1dRWFRYVldXVlhTWFBXTVZMVEtRSyBRS09NTlBOU09WUVggVFhWVldTV1BWTVRLIFFPUVQgVE9UVCBRUVRRIFFSVFIAS1lSS01YIFJOVlggUktXWCBLWFBYIFRYWVgASlpNSkxNIFhKV00gUFBPUyBVUFRTIE1WTFkgWFZXWSBNS1dLIE1MV0wgUFFUUSBQUlRSIE1XV1cgTVhXWABKW05LTlggT0tPWCBWS1ZYIFdLV1ggTEtZSyBMWFFYIFRYWVgAS1tNS1JRIE5LU1FNWCBNS1dLWE9WSyBOV1dXIE1YV1hYVFZYAEtaTU9OTE9LUEtRTFJPUlggWE9XTFZLVUtUTFNPU1ggTU9OTU9MUExRTVJPIFhPV01WTFVMVE1TTyBQWFVYAEtaUktSWCBTS1NYIFFOTk9NUU1STlRRVVRVV1RYUlhRV09UTlFOIFFOT09OUU5ST1RRVSBUVVZUV1JXUVZPVE4gUEtVSyBQWFVYAEpbUktSWCBTS1NYIExQTU9OT09TUVUgVFVWU1dPWE9ZUCBNT05ST1RRVVRVVlRXUlhPIFBLVUsgUFhVWABLWk1WTlhRWE1STU9OTU9MUUtUS1ZMV01YT1hSVFhXWFhWIE9VTlJOT09NUUsgVEtWTVdPV1JWVSBOV1BXIFVXV1cAS1lUS0tYIFNNVFggVEtVWCBOVFRUIElYTlggUlhXWABKWVBLTFggUUtNWCBOS1VLV0xXTlZQU1EgVUtWTFZOVVBTUSBPUVJRVFJVU1VVVFdRWEpYIFJRVFNUVVNXUVgAS1hWTFdMWEtXTlZMVEtSS1BMT01OT01STVVOV1BYUlhUV1VVIFJLUE1PT05STlZQWABKWVBLTFggUUtNWCBOS1RLVkxXTldRVlRVVlRXUVhKWCBUS1VMVk5WUVVUVFZTV1FYAEpZUEtMWCBRS01YIFNPUlMgTktYS1dOV0sgT1FSUSBKWFRYVVVTWABKWFBLTFggUUtNWCBTT1JTIE5LWEtXTldLIE9RUlEgSlhPWABLWVZMV0xYS1dOVkxUS1JLUExPTU5PTVJNVU5XUFhSWFRXVVZWUyBSS1BNT09OUk5WUFggUlhUVlVTIFNTWFMASltQS0xYIFFLTVggWEtUWCBZS1VYIE5LU0sgVktbSyBPUVZRIEpYT1ggUlhXWABOV1RLUFggVUtRWCBSS1dLIE5YU1gATFhVS1JVUVdQWCBWS1NVUldQWE9YTVdMVU1UTlVNViBTS1hLAEpaUEtMWCBRS01YIFlLT1IgUlBUWCBTUFVYIE5LU0sgVktbSyBKWE9YIFJYV1gAS1hRS01YIFJLTlggT0tUSyBLWFVYVlVUWABJXE9LS1ggT01QWCBQS1FWIFlLUFggWUtVWCBaS1ZYIE1LUEsgWUtcSyBJWE1YIFNYWFgASlpQS0xYIFBLVFggUUtUVSBYS1RYIE5LUUsgVktaSyBKWE5YAEtZUktQTE9NTk9NUk1VTldQWFJYVFdVVlZUV1FXTlZMVEtSSyBSS1BNT09OUk5WUFggUlhUVlVUVlFWTVRLAEpZUEtMWCBRS01YIE5LVUtXTFhNWE9XUVRST1IgVUtXTVdPVlFUUiBKWE9YAEtZUktQTE9NTk9NUk1VTldQWFJYVFdVVlZUV1FXTlZMVEtSSyBSS1BNT09OUk5WUFggUlhUVlVUVlFWTVRLIE9XT1ZQVVFVUlZSWlNbVFtVWiBSVlNaVFsASlpQS0xYIFFLTVggTktVS1dMWE1YT1dRVFJPUiBVS1dNV09WUVRSIFNSVFdVWFZYV1cgU1JUU1VXVlggSlhPWABLWldMWExZS1hOV0xVS1JLUExPTU9PUFBVU1ZUIE9OUE9VUlZTVlZVV1NYUFhOV01VTFhNV05XAEtaVEtQWCBVS1FYIFBLTk5PS1pLWU5ZSyBOWFNYAEpbUEtNVU1XT1hTWFVXVlVZSyBRS05VTldPWCBOS1NLIFdLW0sAS1lPS1BYIFBLUVYgWUtQWCBNS1JLIFZLW0sASVtOS01YIE9LTlYgVEtNWCBUS1NYIFVLVFYgWktTWCBMS1FLIFhLXEsAS1pQS1RYIFFLVVggWUtMWCBOS1NLIFZLW0sgSlhPWCBSWFdYAExZUEtSUVBYIFFLU1EgWUtTUVFYIE5LU0sgVktbSyBOWFNYAExZWEtMWCBZS01YIFFLT05QS1lLIExYVVhWVVRYAEtaTUhYXABKWlJNTFcgUk1YVwBMWlFPUFBQUU9RT1BRT1RPVlFWV1dYWFggVE9VUVVXV1ggVVJSU1BUT1VPV1BYU1hUV1VVIFJTUFVQV1FYAEpZTktOWCBPS09YIE9SUFBST1RPVlBXUldVVldUWFJYUFdPVSBUT1VQVlJWVVVXVFggTEtPSwBMWFZRVVFVUlZSVlFVUFNPUU9PUE5STlVPV1FYU1hVV1ZWIFFPUFBPUk9VUFdRWABMW1ZLVlggV0tXWCBWUlVQU09RT09QTlJOVU9XUVhTWFVXVlUgUU9QUE9ST1VQV1FYIFRLV0sgVlhZWABMWE9TVlNWUlVQU09RT09QTlJOVU9XUVhTWFVXVlYgVVNVUVNPIFFPUFBPUk9VUFdRWABMV1RLVUxVTVZNVkxUS1JLUE1QWCBSS1FNUVggTk9TTyBOWFNYAExZUU9PUU9TUVVTVVVTVVFTT1FPIFFPUFFQU1FVIFNVVFNUUVNPIFRQVU9WTyBQVE9VT1hQWVRZVlogT1dQWFRYVllWW1RcUFxOW05ZUFgASltOS05YIE9LT1ggT1JQUFJPVE9WUFdSV1ggVE9VUFZSVlggTEtPSyBMWFFYIFRYWVgATldSS1JMU0xTS1JLIFJPUlggU09TWCBQT1NPIFBYVVgATldTS1NMVExUS1NLIFNPU1pSXCBUT1RaUlxQXE9bT1pQWlBbT1sgUU9UTwBKWk5LTlggT0tPWCBXT09VIFJTVlggU1NXWCBMS09LIFRPWU8gTFhRWCBUWFlYAE5XUktSWCBTS1NYIFBLU0sgUFhVWABGX0pPSlggS09LWCBLUkxQTk9QT1JQU1JTWCBQT1FQUlJSWCBTUlRQVk9YT1pQW1JbWCBYT1lQWlJaWCBIT0tPIEhYTVggUFhVWCBYWF1YAEpbTk9OWCBPT09YIE9SUFBST1RPVlBXUldYIFRPVVBWUlZYIExPT08gTFhRWCBUWFlYAExZUU9PUE5STlVPV1FYVFhWV1dVV1JWUFRPUU8gUU9QUE9ST1VQV1FYIFRYVVdWVVZSVVBUTwBKWU5PTlwgT09PXCBPUlBQUk9UT1ZQV1JXVVZXVFhSWFBXT1UgVE9VUFZSVlVVV1RYIExPT08gTFxRXABLWVVPVVwgVk9WXCBVUlRQUk9QT05QTVJNVU5XUFhSWFRXVVUgUE9PUE5STlVPV1BYIFNcWFwAS1hPT09YIFBPUFggUFJRUFNPVU9WUFZRVVFVUFZQIE1PUE8gTVhSWABMWVRPVVBVUVZRVlBUT1FPT1BPUlFTVFRWVSBPUVFSVFNWVFZXVFhRWE9XT1ZQVlBXUVgATFdQS1BWUlhUWFVXVVYgUUtRVlJYIE5PVE8ASltOT05VT1dRWFNYVVdWVSBPT09VUFdRWCBWT1ZYIFdPV1ggTE9PTyBUT1dPIFZYWVgAS1lOT1JYIE9PUlYgVk9SWCBMT1FPIFRPWE8ASVtMT09YIE1PT1UgUk9PWCBST1VYIFNPVVUgWE9VWCBKT09PIFZPWk8AS1lOT1VYIE9PVlggVk9OWCBMT1FPIFRPWE8gTFhQWCBTWFhYAEtZTk9SWCBPT1JWIFZPUlhQW05cTVxMW0xaTVpNW0xbIExPUU8gVE9YTwBMWFVPTlggVk9PWCBPT05RTk9WTyBOWFZYVlZVWABLW1FPT1BOUU1TTVVOV1BYUVhTV1VVV1JYTyBRT09RTlNOVU9XUFggUU9TT1VQV1dYWCBTT1RQVldYWFlYAEtYUktQTU9PTVVLXCBRTFBOTlRMXCBSS1RLVkxWTlVQUlEgVEtVTFVOVFBSUSBSUVRSVVRVVlRXUlhRWE9XTlQgUlFTUlRUVFZSWABLWUxRTk9QT1JQU1NTWFJcIExRTlBQUFJRU1MgV09WUlNYUVwAS1lTT1FPT1BOUU1TTVVOV1BYUlhUV1VWVlRWUlVQUk5RTFFLUkpUSlVLVk0gUU9PUU5TTlZQWCBSWFRWVVRVUVNPIFFMUktUS1ZNAExYVlBUT1FPT1BPUVBSUlMgUU9QUFBRUlMgUlNPVE5VTldQWFNYVVcgUlNQVE9VT1dQWABMV1JLUUxRTVNOVk5WTVNOUE9PUE5STlRPVlBXUlhTWVNbUlxQXE9bIFNOUU9QUE9ST1RQVlJYAElZSlJLUExPTk9PUE9RTVggTU9OUE5RTFggT1FQUFJPVE9WUFZSU1wgVE9VUFVSUlwASVlKU0tRTFBOUE9RT1ZQWCBNUE5RTlVPV1BYUVhTV1RWVVRWUVZOVUxUS1JLUUxRTlJQVVJXUyBRWFNWVFRVUVVOVEsATldST1BWUFdRWFNYVVdWVSBTT1FWUVdSWABLWU9PTFggUE9NWCBVT1ZQV1BWT1RPUlFPUiBPUlBTUldUWFZXV1UgT1JRU1NXVFgATFhMS05LUExXWCBOS09MVlggUlBNWCBSUE5YAEtaT09LXCBQT0xcIE5VTldPWFFYU1dUViBWT1RWVFdVWFdYWFdZVSBXT1VWVVdWWABKWU5PTVggT09OVU1YIFZSVk9XT1ZSVFVRV05YTVggTE9PTwBNWFJLUUxRTVNOVk4gVE5RT1BQUFJSU1VTIFROUk9RUFFSUlMgU1NQVE9VT1dRWFNZVFpUW1NcUVwgU1NRVFBVUFdRWABLWFFPT1BOUU1TTVVOV1BYUlhUV1VWVlRWUlVQU09RTyBRT09RTlNOVlBYIFJYVFZVVFVRU08ASVpQUE1YIFBQTlggVFBTWCBUUFRYIEtRTU9YTyBLUU1QWFAASlhTT1FPT1BOUU1TSlwgUU9PUU5TS1wgU09VUFZSVlRVVlRXUlhQWE5XTVUgU09VUVVUVFZSWABLW1lPUU9PUE5RTVNNVU5XUFhSWFRXVVZWVFZSVVBZUCBRT09RTlNOVlBYIFJYVFZVVFVRU08AS1pTUFFYIFNQUlggTVFPT1hPIE1RT1BYUABKWEtSTFBNT09PUFBQUk9VT1dQWCBOT09QT1JOVU5XUFhRWFNXVVVWUlZPVU9WUABLWk9QTlFNU01VTldQWFJYVVdXVVhSWFBXT1VPVFBTUlJVT1wgTVVOVlBXUldVVldUWFIgWFFXUFVQU1IgUlVRWFBcAEtYTU9OT1BQU1tUXCBOT09QUltUXFVcIFZPVFJOWUxcAElbVEtRXCBVS1BcIEpSS1BMT05PT1BPVlBXU1dVVldUIE1PTlBOVE9XUFhTWFVXV1RYUllPAEpaTlBQUFBPTlBNUUxTTFVNV05YUFhRV1JVU1IgTFVOV1BXUlUgUlJSV1NYVVhXVlhUWFJXUFZPVlBXUCBSVVNXVVdXVgBLWlZPVFZUV1VYV1hYV1lVIFdPVVZVV1ZYIFVTVVFTT1FPT1BOUU1TTVVOV1BYUlhUViBRT09RTlNOVlBYAEpYT0tNUiBQS05STlZQWCBOUk9QUU9TT1VQVlJWVFVWVFdSWFBYTldNVU1SIFNPVVFVVFRWUlggTUtQSwBLWFVQVVFWUVVQU09RT09QTlFNU01VTldQWFJYVFdVViBRT09RTlNOVlBYAEtaV0tUVlRXVVhXWFhXWVUgWEtVVlVXVlggVVNVUVNPUU9PUE5RTVNNVU5XUFhSWFRWIFFPT1FOU05WUFggVUtYSwBLV05VUlRUU1VSVVBTT1FPT1BOUU1TTVVOV1BYUlhUV1VWIFFPT1FOU05WUFgATVhXS1hMWEtWS1RMU05QWU9bTlwgVktVTFROUVlQW05cTFxMW01cIFBPVk8AS1lWT1RWU1lSWyBXT1VWVFlSW1BcTVxMW01bTlwgVVNVUVNPUU9PUE5RTVNNVU5XUFhSWFRWIFFPT1FOU05WUFgAS1pQS0xYIFFLTVggT1FQUFJPVE9WUFZSVVVVV1ZYIFRPVVBVUlRVVFdVWFdYWFdZVSBOS1FLAE1XU0tTTFRMVEtTSyBOUk9QUE9ST1NQU1JSVVJXU1ggUU9SUFJSUVVRV1JYVFhVV1ZVAE1XVEtUTFVMVUtUSyBPUlBQUU9TT1RQVFJSWVFbT1xNXE1bTlwgUk9TUFNSUVlQW09cAEtYUEtMWCBRS01YIFZQVVFWUVZQVU9UT1JRUFJPUiBPUlBTUVdSWFRYVVdWVSBPUlFTUldTWCBOS1FLAE5WU0tQVlBXUVhTWFRXVVUgVEtRVlFXUlggUUtUSwBGXkdSSFBJT0tPTFBMUUpYIEpPS1BLUUlYIExRTVBPT1FPU1BTUVFYIFFPUlBSUVBYIFNRVFBWT1hPWlBaUllVWVdaWCBYT1lQWVJYVVhXWVhbWFxXXVUASltLUkxQTU9PT1BQUFFOWCBOT09QT1FNWCBQUVFQU09VT1dQV1JWVVZXV1ggVU9WUFZSVVVVV1ZYWFhZV1pVAEpZS1JMUE1PT09QUFBRTVwgTk9PUE9RTFwgUFFST1RPVlBXUldUVlZVV1NYUVhPVk9UIFRPVlFWVFVWU1ggSlxPXABLWVZPUlwgV09TXCBVU1VRU09RT09QTlFNU01VTldQWFJYVFYgUU9PUU5TTlZQWCBQXFVcAExYTVJOUE9PUU9SUFJRUFggUE9RUFFRT1ggUlFTUFVPVk9XUFdRVlFXUABMWVZQVlFXUVZQVE9RT09QT1JRU1RUVlUgT1FRUlRTVlRWV1RYUVhPV05WT1ZPVwBOV1NLUFZQV1FYU1hUV1VVIFRLUVZRV1JYIFBPVU8ASVpKUktQTE9OT09QT1JOVU5XT1ggTU9OUE5STVVNV09YUVhTV1RWIFZPVFZUV1VYV1hYV1lVIFdPVVZVV1ZYAEhcSVJKUEtPTU9OUE5STVVNV05YIExPTVBNUkxVTFdOWE9YUVdSViBUT1JWUldUWCBVT1NWU1dUWFVYV1dZVVpSWk9ZT1pQAEpaTVJOUFBPUk9TUFNSIFFPUlBSUlFVUFdOWE1YTFdMVk1WTFcgWFBXUVhRWFBXT1ZPVFBTUlJVUldTWCBRVVFXUlhUWFZXV1UASVlKUktQTE9OT09QT1JOVU5XT1ggTU9OUE5STVVNV09YUVhTV1RWIFZPVFZTWVJbIFdPVVZUWVJbUFxNXExbTVtOXABLWVdPV1BWUU5WTVdNWCBOUU9PUk9VUSBPUFJQVVFWUSBOVk9WUldVVyBPVlJYVVhWVgBIW1JLU0xTTVRNVExSS09LTUxMTkxYIE9LTkxNTk1YIFhLWUxZTVpNWkxYS1ZLVE1UWCBWS1VNVVggSk9XTyBKWE9YIFJYV1gASltVS1ZMV0xXS1FLT0xOTk5YIFFLUExPTk9YIFZPVlggV09XWCBMT1dPIExYUVggVFhZWABKW1dLUUtPTE5OTlggUUtQTE9OT1ggVUtWTFZYIFdLV1ggTE9WTyBMWFFYIFRYWVgARl9QS1FMUU1STVJMUEtNS0tMSk5KWCBNS0xMS05LWCBZS1pMW0xbS1VLU0xSTlJYIFVLVExTTlNYIFpPWlggW09bWCBIT1tPIEhYTVggUFhVWCBYWF1YAEZfUEtRTFFNUk1STFBLTUtLTEpOSlggTUtMTEtOS1ggW0tVS1NMUk5SWCBVS1RMU05TWCBZS1pMWlggW0tbWCBIT1pPIEhYTVggUFhVWCBYWF1YAE5XUk9SWCBTT1NYIFBPU08gUFhVWABMWFZQVE9ST1BQT1FOU05VT1dRWFNYVVcgUk9QUU9TT1ZRWCBPU1NTAExZU0tRTFBNT09OUk5VT1dQWFJYVFdVVlZUV1FXTlZMVUtTSyBTS1FNUE9PU09WUFggUlhUVlVUVlBWTVVLIE9RVlEAS1pUS1FcIFVLUFwgUU9OUE1STVVOV1FYVFhXV1hVWFJXUFRPUU8gUU9PUE5STlVPV1FYIFRYVldXVVdSVlBUTwBMWFVQVlJWUVVQU09RT09QTlJOVE9WUlggUU9PUU9UUFZSWFNZU1tSXFBcAElbVktXTFhMVktTS1FMUE1PT0xZS1tKXCBTS1FNUE9NWUxbSlxIXEhbSVwgWktbTFtLWUtXTFZOU1lSW1FcIFlLWExXTlRZU1tRXE9cT1tQXCBMT1lPAElaVktXTFhMWEtTS1FMUE1PT0xZS1tKXCBTS1FNUE9NWUxbSlxIXEhbSVwgVk9UVlRXVVhXWFhXWVUgV09VVlVXVlggTE9XTwBJWlZLV0wgWEtTS1FMUE1PT0xZS1tKXCBTS1FNUE9NWUxbSlxIXEhbSVwgV0tUVlRXVVhXWFhXWVUgWEtVVlVXVlggTE9WTwBGXlNLVExUTSBVTFNLUEtOTE1NTE9JWUhbR1wgUEtOTU1PSllJW0dcRVxFW0ZcIFpLW0xcTFxLV0tVTCBUTVNPUFlPW05cIFdLVU1UT1FZUFtOXExcTFtNXCBaT1hWWFdZWFtYXFddVSBbT1lWWVdaWCBJT1tPAEZeU0tUTFRNIFVMU0tQS05MTU1MT0lZSFtHXCBQS05NTU9KWUlbR1xFXEVbRlwgWktbTCBcS1dLVUwgVE1TT1BZT1tOXCBXS1VNVE9RWVBbTlxMXExbTVwgW0tYVlhXWVhbWFxXXVUgXEtZVllXWlggSU9aTwBNV05ST1BQT1JPU1BTUlJVUldTWCBRT1JQUlJRVVFXUlhUWFVXVlUAT1UATFgATFlRS09MTk9OVE9XUVhUWFZXV1RXT1ZMVEtRSyBRS1BMT09PVFBXUVggVFhVV1ZUVk9VTFRLAExZUE5TS1NYIFJMUlggT1hWWABMWU9NT05OTk5NT0xRS1RLVkxXTlZQVFFRUk9TTlVOWCBUS1VMVk5VUFRRIE5XT1ZQVlNXVldXViBQVlNYVlhXVldVAExZT01PTk5OTk1PTFFLVEtWTFdOVlBUUSBUS1VMVk5VUFRRIFJRVFFWUldUV1VWV1RYUVhPV05WTlVPVU9WIFRRVVJWVFZVVVdUWABMWVNNU1ggVEtUWCBUS01UWFQgUVhWWABMWU9LTlEgT0tWSyBPTFNMVksgTlFPUFFPVE9WUFdSV1VWV1RYUVhPV05WTlVPVU9WIFRPVVBWUlZVVVdUWABMWVZNVk5XTldNVkxUS1JLUExPTU5QTlVPV1FYVFhWV1dVV1NWUVRQUVBOUiBSS1BNT1BPVVBXUVggVFhVV1ZVVlNVUVRQAExZTktOTyBWTVJUUFggV0tUUVFYIE5NUEtSS1VNIE5NUExSTFVNVk0ATFlRS09MTk5PUFFRVFFWUFdOVkxUS1FLIFFLUExPTlBQUVEgVFFVUFZOVUxUSyBRUU9STlROVU9XUVhUWFZXV1VXVFZSVFEgUVFQUk9UT1VQV1FYIFRYVVdWVVZUVVJUUQBMWU9WT1VOVU5WT1dRWFNYVVdWVldTV05WTFRLUUtPTE5OTlBPUlFTVFNXUSBTWFVWVlNWTlVMVEsgUUtQTE9OT1BQUlFTAE5WUlZRV1JYU1dSVgBOVlNXUlhRV1JWU1dTWVFbAE5WUk9RUFJRU1BSTyBSVlFXUlhTV1JWAE5WUk9RUFJRU1BSTyBTV1JYUVdSVlNXU1lRWwBOVlJLUUxSU1NMUksgUkxSTyBSVlFXUlhTV1JWAExZTk5PTk9PTk9OTk9MUUtUS1ZMV05XT1ZRU1JSU1JUU1QgVEtWTVZQVVFTUiBSV1JYU1hTV1JXAE9WUktSUCBTS1JQAExYT0tPUCBQS09QIFVLVVAgVktVUABNV1FLUExQTlFPU09UTlRMU0tRSwBNV1JKUlAgT0tVTyBVS09PAEtaWEhNXABNV1VIU0pRTVBQUFRRV1NaVVwgU0pSTFFQUVRSWFNaAE1XT0hRSlNNVFBUVFNXUVpPXCBRSlJMU1BTVFJYUVoATVdQSFBcIFFIUVwgUEhVSCBQXFVcAE1XU0hTXCBUSFRcIE9IVEggT1xUXABMV1NIUklRS1FNUk9SUFBSUlRSVVFXUVlSW1NcIFJJUU0gUUtSTyBSVVFZIFFXUlsATVhRSFJJU0tTTVJPUlBUUlJUUlVTV1NZUltRXCBSSVNNIFNLUk8gUlVTWSBTV1JbAE1XVEhQUlRcAE1XUEhUUlBcAE9VUkhSXABNV1BIUFwgVEhUXABJW0xSWFIASVtSTFJYIExSWFIASlpSTVJYIE1SV1IgTVhXWABKWlJNUlggTU1XTSBNUldSAEpaTU1XVyBXTU1XAE5WUlFRUlJTU1JSUQBJW1JMUU1STlNNUkwgTFJYUiBSVlFXUlhTV1JWAElbTFBYUCBMVFhUAElbV0xNWCBMUFhQIExUWFQASVtMTlhOIExSWFIgTFZYVgBKWldMTVJXWABKWk1MV1JNWABKWldLTU9XUyBNVFdUIE1YV1gASlpNS1dPTVMgTVRXVCBNWFdYAEhbWVVXVVVUVFNSUFFPT05OTkxPS1FLUkxUTlVPVVFUUlNUUFVPV05ZTgBKWkxUTFJNUE9QVVNXU1hSIExSTVFPUVVUV1RYUlhQAEpaTVNSUFdTIE1TUlFXUwBOVlNLUE8gU0tUTFBPAE5WUUtUTyBRS1BMVE8ATFhOS09NUU5TTlVNVksgTktPTlFPU09VTlZLAE5WU0xSTVFMUktTTFNOUVAATlZTS1FNUU9SUFNPUk5RTwBOVlFMUk1TTFJLUUxRTlNQAE5WUUtTTVNPUlBRT1JOU08ASlpXTVFNT05OT01RTVNOVU9WUVdXVwBKWk1NTVNOVU9WUVdTV1VWVlVXU1dNAEpaTU1TTVVOVk9XUVdTVlVVVlNXTVcASlpNV01RTk9PTlFNU01VTlZPV1FXVwBKWldNUU1PTk5PTVFNU05VT1ZRV1dXIE1SVVIASVtUT1VQWFJVVFRVIFVQV1JVVCBMUldSAE1XUk1SWCBPUFBPUkxUT1VQIFBPUk1UTwBJW1BPT1BMUk9UUFUgT1BNUk9UIE1SWFIATVdSTFJXIE9UUFVSWFRVVVQgUFVSV1RVAEtZVlNVUFNPUU9PUE5RTVNNVU5XUFhSWFRXVVZWVFdRV05WTFRLUUtQTFFMUksgUU9PUU5TTlZQWCBSWFRWVVRWUVZOVUxUSwBKWkxLUlggTUtSViBYS1JYIExLWEsgTkxXTABHW0lPTE9SVyBLT1JYIFtGUlgASVtYSVhKWUpZSVhIVkhUSlNMUk9RVVBZT1sgVUlUS1NPUlVRWFBaTlxMXEtbS1pMWkxbAElbWElYSllKWUlYSFZIVEpTTFJPUVVQWU9bIFVJVEtTT1JVUVhQWk5cTFxLW0taTFpMWyBRTk9PTlFOU09VUVZTVlVVVlNWUVVPU05RTgBIXFpSWVRXVVZVVFRTU1FQUE9OTk1OS09KUUpSS1RNVU5VUFRRU1NQVE9WTldOWU9aUVpSAEpaWEtMWCBPS1BMUE5PT01PTE5MTE1LT0tTTFZMWEsgVVRUVVRXVVhXWFhXWFVXVFVUAEpbWVBYUFhRWVFZUFhPV09WUFVUVFZTV1FYT1hNV0xWTFRNU09SUlBTTlNMUktQS09MT05QUVVXV1hYWFlXIE9YTVZNVE9SIE9OUFBWV1dYAEpbVVBTT1FPUFFQUlFUU1RVUyBVT1VTVlRYVFlSWVFYTlZMU0tSS09MTU5MUUxSTVVPV1JYU1hWVwBLWlFIUVwgVEhUXCBXTFZMVk1XTVdMVUtQS05MTk5PUFZTV1QgTk5PT1ZSV1RXVlZXVFhRWE9XTlZOVU9VT1ZOVgBLWVBLUFsgVEtUWyBNUVdRIE1VV1UATFhUTFNMU01UTVRMU0tRS1BMUE5RUFRSVVMgUE5RT1RRVVNVVVNXIFFQT1JPVFBWU1hUWSBPVFBVU1dUWVRbU1xRXFBbUFpRWlFbUFsATFhSS1FMUk1TTFJLIFJNUlEgUlFRU1JWU1NSUSBSVlJcIFBPT05OT09QUE9UT1VOVk9VUFRPAExYUk1TTFJLUUxSTVJRUVJTVVJWIFJRU1JRVVJWUlpRW1JcU1tSWiBQT09OTk9PUFBPVE9VTlZPVVBUTyBQWE9XTlhPWVBYVFhVV1ZYVVlUWABMWVZLVlggTktWSyBRUVZRIE5YVlgASFxRS05MTE5LUUtTTFZOWFFZU1lWWFhWWVNZUVhOVkxTS1FLIFJRUVJSU1NSUlEATFlRS1BMUE1RTiBUS1VMVU1UTiBSTlBPT1FPUlBUUlVTVVVUVlJWUVVPU05STiBSVVJZIFNVU1kgT1dWVwBMWVJLUExPTk9PUFFSUlNSVVFWT1ZOVUxTS1JLIFJSUlggU1JTWCBPVVZVAEhcUUtOTExOS1FLU0xWTlhRWVNZVlhYVllTWVFYTlZMU0tRSyBSS1JZIEtSWVIASllSUlBRT1FNUkxUTFVNV09YUFhSV1NVU1RSUiBXTVJSIFJNV01XUiBSTVZOV1IASlpMTE1LT0tRTFJOUlBRUlBTTlQgT0tQTFFOUVFQUyBWS1VYIFdLVFggTlRYVABKWU5LTlUgT0tOUiBOUk9QUU9TT1VQVlFWVFRWVFhVWVZZV1ggU09VUVVUVFYgTEtPSwBMWU9OUktSUSBWTlNLU1EgUlFQUk9UT1VQV1JYU1hVV1ZVVlRVUlNRIFJUUlVTVVNUUlQASlpSS1JZIE1LTVBOUlBTVFNWUldQV0sgTE1NS05NIFFNUktTTSBWTVdLWE0gT1ZVVgBKWU5LTlggT0tPWCBMS1NLVkxXTldPVlFTUk9SIFNLVUxWTlZPVVFTUiBMWFZYVlVVWABMWVdLVEtRTE9OTlFOU09WUVhUWVdZIFdLVExSTlFRUVNSVlRYV1kASlpSUlBRT1FNUkxUTFVNV09YUFhSV1NVU1RSUiBTTFFRIFdNUlIgWFFTUwBLWVBNVFcgVE1QVyBNUFdUIFdQTVQASltPVU1VTFZMWE1ZT1lQWFBWTlRNUk1PTk1PTFFLVEtWTFdNWE9YUldUVVZVWFZZWFlZWFlWWFVWVSBOTVBMVUxXTQBKW09PTU9MTkxMTUtPS1BMUE5OUE1STVVOV09YUVlUWVZYV1dYVVhSV1BVTlVMVktYS1lMWU5YT1ZPIE5XUFhVWFdXAEZeS0hLXCBMSExcIFhIWFwgWUhZXCBISFxIIEhcT1wgVVxcXABIXUtIUlFKXCBKSFFRIEpIWUhaTVhIIEtbWFsgSlxZXFpXWFwAS1lWQlREUkdQS09QT1RQWVJdVGBWYiBURFJIUUtQUFBUUVlSXFRgAEtZTkJQRFJHVEtVUFVUVFlSXVBgTmIgUERSSFNLVFBUVFNZUlxQYABLWU9CT2IgUEJQYiBPQlZCIE9iVmIAS1lUQlRiIFVCVWIgTkJVQiBOYlViAEpZVEJRRVBIUEpRTVNPU1BPUlNUU1VRV1BaUFxRX1RiIFJEUUdRS1JOIFJWUVlRXVJgAEtaUEJTRVRIVEpTTVFPUVBVUlFUUVVTV1RaVFxTX1BiIFJEU0dTS1JOIFJWU1lTXVJgAEtZVUBSQ1BGT0lPTFBPU1ZUWVRcU19SYSBSQ1FFUEhQS1FOVFVVWFVbVF5SYU9kAEtZT0BSQ1RGVUlVTFRPUVZQWVBcUV9SYSBSQ1NFVEhUS1NOUFVPWE9bUF5SYVVkAEFYQ1JHUlJgIEdTUmEgRlNSYiBYOlJiAEZeW0NaRFtFXERcQ1tCWUJXQ1VFVEdTSlJOUFpPXk5gIFZEVUZUSlJWUVpQXU9fTWFLYkliSGFIYElfSmBJYQBIXFJGS1sgUkZZWyBSSVhbIE1VVlUgSVtPWyBVW1tbAEddTEZMWyBNRk1bIElGVUZYR1lIWkpaTFlOWE9VUCBVRldHWEhZSllMWE5XT1VQIE1QVVBYUVlSWlRaV1lZWFpVW0lbIFVQV1FYUllUWVdYWVdaVVsAR1xYSVlMWUZYSVZHU0ZRRk5HTElLS0pOSlNLVkxYTlpRW1NbVlpYWFlWIFFGT0dNSUxLS05LU0xWTVhPWlFbAEddTEZMWyBNRk1bIElGU0ZWR1hJWUtaTlpTWVZYWFZaU1tJWyBTRlVHV0lYS1lOWVNYVldYVVpTWwBHXExGTFsgTUZNWyBTTFNUIElGWUZZTFhGIE1QU1AgSVtZW1lVWFsAR1tMRkxbIE1GTVsgU0xTVCBJRllGWUxYRiBNUFNQIElbUFsAR15YSVlMWUZYSVZHU0ZRRk5HTElLS0pOSlNLVkxYTlpRW1NbVlpYWCBRRk9HTUlMS0tOS1NMVk1YT1pRWyBYU1hbIFlTWVsgVVNcUwBGXktGS1sgTEZMWyBYRlhbIFlGWVsgSEZPRiBVRlxGIExQWFAgSFtPWyBVW1xbAE1YUkZSWyBTRlNbIE9GVkYgT1tWWwBLWlVGVVdUWlJbUFtOWk1YTVZOVU9WTlcgVEZUV1NaUlsgUUZYRgBGXEtGS1sgTEZMWyBZRkxTIFFPWVsgUE9YWyBIRk9GIFVGW0YgSFtPWyBVW1tbAElbTkZOWyBPRk9bIEtGUkYgS1taW1pVWVsARl9LRktbIExGUlggS0ZSWyBZRlJbIFlGWVsgWkZaWyBIRkxGIFlGXUYgSFtOWyBWW11bAEdeTEZMWyBNRllZIE1IWVsgWUZZWyBJRk1GIFZGXEYgSVtPWwBHXVFGTkdMSUtLSk9KUktWTFhOWlFbU1tWWlhYWVZaUlpPWUtYSVZHU0ZRRiBRRk9HTUlMS0tPS1JMVk1YT1pRWyBTW1VaV1hYVllSWU9YS1dJVUdTRgBHXUxGTFsgTUZNWyBJRlVGWEdZSFpKWk1ZT1hQVVFNUSBVRldHWEhZSllNWE9XUFVRIElbUFsAR11RRk5HTElLS0pPSlJLVkxYTlpRW1NbVlpYWFlWWlJaT1lLWElWR1NGUUYgUUZPR01JTEtLT0tSTFZNWE9aUVsgU1tVWldYWFZZUllPWEtXSVVHU0YgTllOWE9WUVVSVVRWVVhWX1dgWWBaXlpdIFVYVlxXXlhfWV9aXgBHXUxGTFsgTUZNWyBJRlVGWEdZSFpKWkxZTlhPVVBNUCBVRldHWEhZSllMWE5XT1VQIElbUFsgUlBUUVVSWFlZWlpaW1kgVFFVU1daWFtaW1tZW1gASFxYSVlGWUxYSVZHU0ZQRk1HS0lLS0xNTU5PT1VRV1JZVCBLS01NT05VUFdRWFJZVFlYV1pUW1FbTlpMWEtVS1tMWABJXFJGUlsgU0ZTWyBMRktMS0ZaRlpMWUYgT1tWWwBGXktGS1VMWE5aUVtTW1ZaWFhZVVlGIExGTFVNWE9aUVsgSEZPRiBWRlxGAEhcS0ZSWyBMRlJYIFlGUlsgSUZPRiBVRltGAEZeSkZOWyBLRk5WIFJGTlsgUkZWWyBTRlZWIFpGVlsgR0ZORiBXRl1GAEhcS0ZYWyBMRllbIFlGS1sgSUZPRiBVRltGIElbT1sgVVtbWwBIXUtGUlFSWyBMRlNRU1sgWkZTUSBJRk9GIFZGXEYgT1tWWwBIXFhGS1sgWUZMWyBMRktMS0ZZRiBLW1lbWVVYWwBJW05GTlsgT0ZPWyBLRlpGWkxZRiBLW1JbAEhcUkZKWyBSRlpbIFJJWVsgS1pZWiBKW1pbAEddUUZOR0xJS0tKT0pSS1ZMWE5aUVtTW1ZaWFhZVlpSWk9ZS1hJVkdTRlFGIFFGT0dNSUxLS09LUkxWTVhPWlFbIFNbVVpXWFhWWVJZT1hLV0lVR1NGIE9NT1QgVU1VVCBPUFVQIE9RVVEASFxSRktbIFJGWVsgUklYWyBJW09bIFVbW1sAR11LRUpKIFpFWUogT05OUyBWTlVTIEtXSlwgWldZXCBLR1lHIEtIWUggT1BVUCBPUVVRIEtZWVkgS1pZWgBGXktGS1sgTEZMWyBYRlhbIFlGWVsgSEZcRiBIW09bIFVbXFsASF1LRlJQSlsgSkZRUCBKRllGWkxYRiBLWlhaIEpbWVtaVVhbAElcS0tLSUxHTUZPRlBHUUlSTVJbIEtJTUdPR1FJIFpLWklZR1hGVkZVR1RJU01TWyBaSVhHVkdUSSBPW1ZbAEhdUkZSWyBTRlNbIFBLTUxMTUtPS1JMVE1VUFZVVlhVWVRaUlpPWU1YTFVLUEsgUEtOTE1NTE9MUk1UTlVQViBVVldVWFRZUllPWE1XTFVLIE9GVkYgT1tWWwBHXlJGUlsgU0ZTWyBJTUpMTE1NUU5TT1RRVSBKTEtNTFFNU05UUVVUVVdUWFNZUVpNW0wgVFVWVFdTWFFZTVtMXE0gT0ZWRiBPW1ZbAEddSlhLW09bTVdLU0pQSkxLSU1HUEZURldHWUlaTFpQWVNXV1VbWVtaWCBNV0xUS1BLTExJTkdQRiBURlZHWElZTFlQWFRXVyBLWk5aIFZaWVoASFxVRkhbIFVGVlsgVEhVWyBMVVVVIEZbTFsgUltYWwBGXk9GSVsgUEZKWyBMRldGWkdbSVtLWk5ZT1ZQIFdGWUdaSVpLWU5YT1ZQIE1QVlBYUVlTWVVYWFZaUltGWyBWUFdRWFNYVVdYVVpSWwBIXVpIW0hcRltMW0paSFlHV0ZURlFHT0lNTExPS1NLVkxZTVpQW1NbVVpXWFhWIFRGUkdQSU5MTU9MU0xWTVlOWlBbAEZdT0ZJWyBQRkpbIExGVUZYR1lIWktaT1lTV1dVWVNaT1tGWyBVRldHWEhZS1lPWFNWV1RZUlpPWwBGXU9GSVsgUEZKWyBUTFJUIExGW0ZaTFpGIE1QU1AgRltVW1dWVFsARlxPRklbIFBGSlsgVExSVCBMRltGWkxaRiBNUFNQIEZbTVsASF5aSFtIXEZbTFtKWkhZR1dGVEZRR09JTUxMT0tTS1ZMWU1aUFtSW1VaV1hZVCBURlJHUElOTE1PTFNMVk1ZTlpQWyBSW1RaVlhYVCBVVFxUAEVfTkZIWyBPRklbIFtGVVsgXEZWWyBLRlJGIFhGX0YgTFBYUCBFW0xbIFJbWVsATFlVRk9bIFZGUFsgUkZZRiBMW1NbAElbWEZTV1JZUVpPW01bS1pKWEpWS1VMVktXIFdGUldRWU9bIFRGW0YARl1PRklbIFBGSlsgXUZMUyBTT1dbIFJPVlsgTEZTRiBZRl9GIEZbTVsgU1tZWwBIXFFGS1sgUkZMWyBORlVGIEhbV1tZVVZbAEVgTkZIWyBORk9bIE9GUFkgXEZPWyBcRlZbIF1GV1sgS0ZPRiBcRmBGIEVbS1sgU1taWwBGX09GSVsgT0ZWWCBPSVZbIFxGVlsgTEZPRiBZRl9GIEZbTFsAR11TRlBHTklMTEtPSlNKVktZTFpOW1FbVFpWWFhVWVJaTlpLWUhYR1ZGU0YgU0ZRR09JTUxMT0tTS1ZMWU5bIFFbU1pVWFdVWFJZTllLWEhWRgBGXU9GSVsgUEZKWyBMRlhGW0dcSVxLW05ZUFVRTVEgWEZaR1tJW0taTlhQVVEgRltNWwBHXVNGUEdOSUxMS09KU0pWS1lMWk5bUVtUWlZYWFVZUlpOWktZSFhHVkZTRiBTRlFHT0lNTExPS1NLVkxZTlsgUVtTWlVYV1VYUllOWUtYSFZGIExZTFhNVk9VUFVSVlNYU19UYFZgV15XXSBTWFReVV9WX1deAEZeT0ZJWyBQRkpbIExGV0ZaR1tJW0taTllPVlBNUCBXRllHWklaS1lOWE9WUCBSUFRRVVJWWldbWVtaWVpYIFVSV1lYWllaWlkgRltNWwBHXlpIW0hcRltMW0paSFlHVkZSRk9HTUlNS05NT05WUlhUIE1LT01WUVdSWFRYV1dZVlpTW09bTFpLWUpXSlVJW0pZS1kASF1VRk9bIFZGUFsgT0ZMTE5GXUZcTFxGIExbU1sARl9ORktRSlVKWEtaTltSW1VaV1hYVVxGIE9GTFFLVUtYTFpOWyBLRlJGIFlGX0YASFxORk9bIE9GUFkgXEZPWyBMRlJGIFhGXkYARV9NRktbIE5GTFkgVUZLWyBVRlNbIFZGVFkgXUZTWyBKRlFGIFpGYEYAR11ORlVbIE9GVlsgXEZIWyBMRlJGIFhGXkYgRltMWyBSW1hbAEhdTkZSUE9bIE9GU1BQWyBdRlNQIExGUkYgWUZfRiBMW1NbAEddW0ZIWyBcRklbIE9GTExORlxGIEhbVltYVVVbAEhcS0lMS1hXWVlZWyBMTFhYIEtJS0tMTVhZWVsgUFBMVEtWS1hMWktbIEtWTVogTFRMVk1YTVpLWyBTU1hOIFZJVkxXTllOWUxXS1ZJIFZJV0xZTgBIXFFJS1sgU0lZWyBSSVhbIE1VVlUgSVtPWyBVW1tbIFFCT0NORU5HT0lRSlNKVUlWR1ZFVUNTQlFCAEddSUJbYgBGXlJKSVogUkpbWgBJXU5PTlBNUE1PTk5QTVRNVk5XT1hRWFhZWlpbIFdPV1hYWlpbW1sgV1FWUlBTTVRMVkxYTVpQW1NbVVpXWCBQU05UTVZNWE5aUFsAR1xMRkxbIE1GTVsgTVBPTlFNU01WTlhQWVNZVVhYVlpTW1FbT1pNWCBTTVVOV1BYU1hVV1hVWlNbIElGTUYASFtXUFZRV1JYUVhQVk5UTVFNTk5MUEtTS1VMWE5aUVtTW1ZaWFggUU1PTk1QTFNMVU1YT1pRWwBIXVdGV1sgWEZYWyBXUFVOU01RTU5OTFBLU0tVTFhOWlFbU1tVWldYIFFNT05NUExTTFVNWE9aUVsgVEZYRiBXW1tbAEhbTFNYU1hRV09WTlRNUU1OTkxQS1NLVUxYTlpRW1NbVlpYWCBXU1dQVk4gUU1PTk1QTFNMVU1YT1pRWwBLWFVHVEhVSVZIVkdVRlNGUUdQSVBbIFNGUkdRSVFbIE1NVU0gTVtUWwBJXFFNT05OT01RTVNOVU9WUVdTV1VWVlVXU1dRVk9VTlNNUU0gT05OUE5UT1YgVVZWVFZQVU4gVk9XTllNWU5XTiBOVU1WTFhMWU1bUFxVXFhdWV4gTFlNWlBbVVtYXFleWV9YYVViT2JMYUtfS15MXE9bAEddTEZMWyBNRk1bIE1QT05STVRNV05YUFhbIFRNVk5XUFdbIElGTUYgSVtQWyBUW1tbAE1YUkZRR1JIU0dSRiBSTVJbIFNNU1sgT01TTSBPW1ZbAE1YU0ZSR1NIVEdTRiBUTVRfU2FRYk9iTmFOYE9fUGBPYSBTTVNfUmFRYiBQTVRNAEdcTEZMWyBNRk1bIFdNTVcgUlNYWyBRU1dbIElGTUYgVE1aTSBJW1BbIFRbWlsATVhSRlJbIFNGU1sgT0ZTRiBPW1ZbAEJjR01HWyBITUhbIEhQSk5NTU9NUk5TUFNbIE9NUU5SUFJbIFNQVU5YTVpNXU5eUF5bIFpNXE5dUF1bIERNSE0gRFtLWyBPW1ZbIFpbYVsAR11MTUxbIE1NTVsgTVBPTlJNVE1XTlhQWFsgVE1WTldQV1sgSU1NTSBJW1BbIFRbW1sASFxRTU5OTFBLU0tVTFhOWlFbU1tWWlhYWVVZU1hQVk5TTVFNIFFNT05NUExTTFVNWE9aUVsgU1tVWldYWFVYU1dQVU5TTQBHXExNTGIgTU1NYiBNUE9OUU1TTVZOWFBZU1lVWFhWWlNbUVtPWk1YIFNNVU5XUFhTWFVXWFVaU1sgSU1NTSBJYlBiAEhcV01XYiBYTVhiIFdQVU5TTVFNTk5MUEtTS1VMWE5aUVtTW1VaV1ggUU1PTk1QTFNMVU1YT1pRWyBUYltiAElaTk1OWyBPTU9bIE9TUFBSTlRNV01YTlhPV1BWT1dOIEtNT00gS1tSWwBKW1dPWE1YUVdPVk5UTVBNTk5NT01RTlJQU1VVV1ZYVyBNUE5RUFJVVFdVWFZYWVdaVVtRW09aTllNV01bTlkAS1pQRlBXUVpTW1VbV1pYWCBRRlFXUlpTWyBNTVVNAEddTE1MWE1aUFtSW1VaV1ggTU1NWE5aUFsgV01XWyBYTVhbIElNTU0gVE1YTSBXW1tbAElbTE1SWyBNTVJZIFhNUlsgSk1QTSBUTVpNAEZeSk1OWyBLTU5YIFJNTlsgUk1WWyBTTVZYIFpNVlsgR01OTSBXTV1NAEhcTE1XWyBNTVhbIFhNTFsgSk1QTSBUTVpNIEpbUFsgVFtaWwBIW0xNUlsgTU1SWSBYTVJbUF9OYUxiS2JKYUtgTGEgSk1QTSBUTVpNAElbV01MWyBYTU1bIE1NTFFMTVhNIExbWFtYV1dbAEdeUU1OTkxQS1JKVUpYS1pOW1BbUlpVV1dUWVBaTSBRTU9OTVBMUktVS1hMWk5bIFFNU01VTlZQWFhZWlpbIFNNVE5VUFdYWFpaW1tbAEdcVEZRR09JTU1MUEtUSlpJYiBURlJHUElOTU1QTFRLWkpiIFRGVkZYR1lIWUtYTVdOVE9QTyBWRlhIWEtXTVZOVE8gUE9UUFZSV1RXV1ZZVVpSW1BbTlpNWUxWIFBPU1BVUlZUVldVWVRaUlsASFxJUEtOTU1PTVFOUk9TUlNWUlpPYiBKT0xOUE5STyBaTVlQWFJTWVBeTmIgWU1YUFdSU1kASVxWTlRNUk1PTk1RTFRMV01ZTlpQW1JbVVpXV1hUWFFXT1NKUkhSRlNFVUVXRllIIFJNUE5OUU1UTVhOWiBSW1RaVldXVFdQVk5US1NJU0dURlZGWUgASVtYUFZOVE1QTU5OTlBQUlNTIFBNT05PUFFSU1MgU1NOVExWTFhNWlBbU1tVWldYIFNTT1RNVk1YTlpQWwBJW1RGUkdRSFFJUkpVS1pLWkpXS1NNUE9NUkxVTFdNWVBbU11UX1RhU2JRYlBhIFVMUU9OUk1VTVdOWVBbAEddSFFJT0tNTk1PTk9QTlRMWyBNTU5OTlBNVEtbIE5UUFBSTlRNVk1YTllPWVJYV1ViIFZNWE9YUldXVGIARl1HUUhPSk1NTU5OTlBNVU1YTlpPWyBMTU1OTVBMVUxYTVpPW1FbU1pVWFdVWFJZTVlJWEdWRlRGUkhSSlNNVVBXUlpUIFNaVVdWVVdSWE1YSVdHVkYATFhSTVBUT1hPWlBbU1tVWVZXIFNNUVRQWFBaUVsASFxOTUpbIE9NS1sgWE1ZTlpOWU1XTVVOUVJPU01TIE9TUVRTWlRbIE9TUFRSWlNbVVtXWllXAEhcS0ZNRk9HUEhRSldYWFpZWyBNRk9IUEpWWFdaWVtaWyBSTUpbIFJNS1sARl1NTUdiIE5NSGIgTVBMVkxZTltQW1JaVFhWVSBYTVVYVVpWW1lbW1lcVyBZTVZYVlpXWwBIXE5NTFsgT01OU01YTFsgWU1YUVZVIFpNWVBYUlZVVFdRWU9aTFsgS01PTQBJWlRGUkdRSFFJUkpVS1hLIFVLUUxPTU5PTlFQU1NUVlQgVUtSTFBNT09PUVFTU1QgU1RPVU1WTFhMWk5cU15UX1RhUmJQYiBTVFBVTlZNWE1aT1xTXgBJW1JNT05NUUxUTFdNWU5aUFtSW1VaV1dYVFhRV09WTlRNUk0gUk1QTk5RTVRNWE5aIFJbVFpWV1dUV1BWTgBHXVBOTFsgUE5NWyBWTlZbIFZOV1sgSVBLTk5NW00gSVBLT05OW04ASFtMVk1ZTlpQW1JbVVpXV1hUWFFXT1ZOVE1STU9OTVFMVEhiIFJbVFpWV1dUV1BWTiBSTVBOTlFNVEliAEhdW01RTU5OTFFLVEtXTFlNWk9bUVtUWlZXV1RXUVZPVU5TTSBRTU9OTVFMVExYTVogUVtTWlVXVlRWUFVOIFVOW04ASFxTTlBbIFNOUVsgSlBMTk9NWk0gSlBMT09OWk4ASFxJUUpPTE1PTVBOUFBOVk5ZUFsgTk1PTk9QTVZNWU5aUFtRW1RaVlhYVVlSWU9YTVdOWE9ZUiBYVVlPAEddT05NT0tRSlRKV0tZTFpOW1FbVFpXWFlVWlJaT1hNVk1UT1JTUFhNYiBKV0xZTlpRWlRZV1dZVSBaT1hOVk5UUFJTUFlOYgBJW0tNTU1PTlBQVV9WYVdiIE1NTk5PUFRfVWFXYlliIFpNWU9XUk1dS2BKYgBGXVVGT2IgVkZOYiBHUUhPSk1NTU5OTlBNVU1YT1pSWlRZV1ZZUyBMTU1OTVBMVUxYTVpPW1JbVFpWWFhVWVNbTQBGXUpRTE9PTk5NTE5KUUlUSVdKWktbTVtPWlFXUlQgSVdKWUtaTVpPWVFXIFFUUVdSWlNbVVtXWllXWlRaUVlOWE1XTllPWlEgUVdSWVNaVVpXWVlXAEhdWE1WVFVYVVpWW1lbW1lcVyBZTVdUVlhWWldbIFZUVlFVTlNNUU1OTkxRS1RLV0xZTVpPW1FbU1pVV1ZUIFFNT05NUUxUTFhNWgBIW1BGTFNMVk1ZTlogUUZNUyBNU05QUE5STVRNVk5XT1hRWFRXV1VaUltQW05aTVdNUyBWTldQV1RWV1RaUlsgTUZRRgBJW1dQV1FYUVhQV05VTVJNT05NUUxUTFdNWU5aUFtSW1VaV1cgUk1QTk5RTVRNWE5aAEhdWkZWVFVYVVpWW1lbW1lcVyBbRldUVlhWWldbIFZUVlFVTlNNUU1OTkxRS1RLV0xZTVpPW1FbU1pVV1ZUIFFNT05NUUxUTFhNWiBXRltGAElbTVZRVVRUV1JYUFdOVU1STU9OTVFMVExXTVlOWlBbUltVWldYIFJNUE5OUU1UTVhOWgBLWlpHWUhaSVtIW0daRlhGVkdVSFRKU01QW09fTmEgWEZWSFVKVE5SV1FbUF5PYE5hTGJKYklhSWBKX0tgSmEgT01ZTQBIXFlNVVtUXlJhT2JMYkphSWBJX0peS19KYCBYTVRbU15RYU9iIFZUVlFVTlNNUU1OTkxRS1RLV0xZTVpPW1FbU1pVV1ZUIFFNT05NUUxUTFhNWgBIXVBGSlsgUUZLWyBNVE9QUU5TTVVNV05YT1hRVldWWldbIFVNV09XUVVXVVpWW1lbW1lcVyBNRlFGAExZVUZUR1VIVkdVRiBNUU5PUE1TTVROVFFSV1JaU1sgUk1TTlNRUVdRWlJbVVtXWVhXAExZVkZVR1ZIV0dWRiBOUU9PUU1UTVVOVVFSW1FeUGBPYU1iS2JKYUpgS19MYEthIFNNVE5UUVFbUF5PYE1iAEhcUEZKWyBRRktbIFhOV09YUFlPWU5YTVdNVU5RUk9TTVMgT1NRVFNaVFsgT1NQVFJaU1tVW1daWVcgTUZRRgBNWVVGUVRQWFBaUVtUW1ZZV1cgVkZSVFFYUVpSWyBSRlZGAEFiQlFDT0VNSE1JTklQSFRGWyBHTUhOSFBHVEVbIEhUSlBMTk5NUE1STlNPU1FQWyBQTVJPUlFPWyBSVFRQVk5YTVpNXE5dT11RW1dbWlxbIFpNXE9cUVpXWlpbW15bYFlhVwBGXUdRSE9KTU1NTk5OUE1US1sgTE1NTk1QTFRKWyBNVE9QUU5TTVVNV05YT1hRVldWWldbIFVNV09XUVVXVVpWW1lbW1lcVwBHXEhRSU9LTU5NT05PUE5USmIgTU1OTk5QTVRJYiBOVE9RUU5TTVVNV05YT1lRWVRYV1ZaU1tRW09aTldOVCBXTlhQWFRXV1VaU1sgRmJNYgBIXFhNUmIgWU1TYiBWVFZRVU5TTVFNTk5MUUtUS1dMWU1aT1tRW1NaVVdWVCBRTU9OTVFMVExYTVogT2JWYgBJWkpRS09NTVBNUU5RUFBUTlsgT01QTlBQT1RNWyBQVFJQVE5WTVhNWU5ZT1hQV09YTgBKW1hPWFBZUFlPWE5VTVJNT05OT05RT1JWVldXIE5QT1FWVVdWV1lWWlNbUFtNWkxZTFhNWE1ZAEtZVEZQVE9YT1pQW1NbVVlWVyBVRlFUUFhQWlFbIE5NV00ARl1HUUhPSk1NTU5OTlFMV0xZTlsgTE1NTk1RS1dLWUxaTltQW1JaVFhWVCBYTVZUVVhVWlZbWVtbWVxXIFlNV1RWWFZaV1sASFxJUUpPTE1PTVBOUFFOV05ZUFsgTk1PTk9RTVdNWU5aUFtRW1RaVlhYVVlRWU1YTVlPAENgRFFFT0dNSk1LTktRSVdJWUtbIElNSk5KUUhXSFlJWktbTVtPWlFYUlYgVE1SVlJZU1pVW1dbWVpbWFxWXVJdTVxNXU8gVU1TVlNZVVsASFxLUU1OT01STVNPU1IgUU1ST1JSUVZQWE5aTFtLW0paSllLWExZS1ogUVZRWVJbVVtXWllXIFlOWE9ZUFpPWk5ZTVhNVk5UUFNSUlZSWVNbAEdcSFFJT0tNTk1PTk9RTVdNWU9bIE1NTk5OUUxXTFlNWk9bUVtTWlVYV1QgWk1WW1VeU2FQYk1iS2FKYEpfS15MX0tgIFlNVVtUXlJhUGIASFxZTVhPVlFOV0xZS1sgTFFNT09NUk1WTyBNT09OUk5WT1hPIExZTllSWlVaV1kgTllSW1VbV1lYVwBHXlZHVUhWSVdIV0dVRlJGT0dNSUxMTFsgUkZQR05JTUxNWyBcR1tIXEldSF1HXEZaRlhHV0lXWyBaRllHWElYWyBJTVtNIElbUFsgVFtbWwBHXVdHVkhXSVhIV0dVRlJGT0dNSUxMTFsgUkZQR05JTUxNWyBXTVdbIFhNWFsgSU1YTSBJW1BbIFRbW1sAR11WR1VIVklXSFdHVUYgWEZSRk9HTUlMTExbIFJGUEdOSU1MTVsgV0hXWyBYRlhbIElNV00gSVtQWyBUW1tbAEJjUkdRSFJJU0hSR1BGTUZKR0hJR0xHWyBNRktHSUlITEhbIF1HXEhdSV5IXUdbRlhGVUdTSVJMUlsgWEZWR1RJU0xTWyBdTV1bIF5NXlsgRE1eTSBEW0tbIE9bVlsgWlthWwBCY1JHUUhSSVNIUkdQRk1GSkdISUdMR1sgTUZLR0lJSExIWyBcR1tIXEldSF1HW0YgXkZYRlVHU0lSTFJbIFhGVkdUSVNMU1sgXUhdWyBeRl5bIERNXU0gRFtLWyBPW1ZbIFpbYVsATVhSTVJbIFNNU1sgT01TTSBPW1ZbAElaV05VTVJNT05NUExTTFZNWU5aUVtUW1ZaIFJNUE5OUE1TTVZOWU9aUVsgTVRVVABJXFRGUUdPSk5MTU9MVExYTVpPW1FbVFpWV1dVWFJZTVlJWEdWRlRGIFRGUkdQSk9MTk9NVE1YTlpPWyBRW1NaVVdWVVdSWE1YSVdHVkYgTlBXUABHXVVGT2IgVkZOYiBRTU1OS1BKU0pWS1hNWlBbU1tXWllYWlVaUllQV05UTVFNIFFNTk5MUEtTS1ZMWE5aUFsgU1tWWlhYWVVZUlhQVk5UTQBJW1RNVk5YUFhPV05UTVFNTk5NT0xRTFNNVU9XU1ogUU1PTk5PTVFNU05VU1pUXFReU19RXwBHXUxNS05KUEpSS1VPWVBbIEpSS1RPWFBbUF1PYE1iTGJLYUpfSlxLWE1UT1FSTlRNVk1ZTlpQWlRZWFdaVVtUW1NaU1hUV1VYVFkgVk1YTllQWVRYWFdaAEVfWUdYSFlJWkhZR1dGVEZRR09JTktNTkxSSltJX0hhIFRGUkdQSU9LTk5MV0tbSl5JYEhhRmJEYkNhQ2BEX0VgRGEgX0deSF9JYEhgR19GXUZbR1pIWUpYTVVbVF9TYSBdRltIWkpZTldXVltVXlRgU2FRYk9iTmFOYE9fUGBPYSBJTV5NAEZeW0daSFtJXEhbR1hGVUZSR1BJT0tOTk1SS1tKX0lhIFVGU0dRSVBLT05NV0xbS15KYElhR2JFYkRhRGBFX0ZgRWEgWU1XVFZYVlpXW1pbXFldVyBaTVhUV1hXWlhbIEpNWk0ARl5ZR1hIWUlaSFpHWEYgXEZVRlJHUElPS05OTVJLW0pfSWEgVUZTR1FJUEtPTk1XTFtLXkpgSWFHYkViRGFEYEVfRmBFYSBbRldUVlhWWldbWltcWV1XIFxGWFRXWFdaWFsgSk1ZTQBAY1RHU0hUSVVIVEdSRk9GTEdKSUlLSE5HUkVbRF9DYSBPRk1HS0lKS0lOR1dGW0VeRGBDYUFiP2I+YT5gP19AYD9hIGBHX0hgSWFIYEddRlpGV0dVSVRLU05SUlBbT19OYSBaRlhHVklVS1ROUldRW1BeT2BOYUxiSmJJYUlgSl9LYEphIF5NXFRbWFtaXFtfW2FZYlcgX01dVFxYXFpdWyBETV9NAEBjVEdTSFRJVUhUR1JGT0ZMR0pJSUtITkdSRVtEX0NhIE9GTUdLSUpLSU5HV0ZbRV5EYENhQWI/Yj5hPmA/X0BgP2EgXkddSF5JX0hfR11GIGFGWkZXR1VJVEtTTlJSUFtPX05hIFpGWEdWSVVLVE5SV1FbUF5PYE5hTGJKYklhSWBKX0tgSmEgYEZcVFtYW1pcW19bYVliVyBhRl1UXFhcWl1bIERNXk0ATFlNUU5PUE1TTVROVFFSV1JaU1sgUk1TTlNRUVdRWlJbVVtXWVhXAEhcUUZOR0xKS09LUkxXTlpRW1NbVlpYV1lSWU9YSlZHU0ZRRiBRRk9HTkhNSkxPTFJNV05ZT1pRWyBTW1VaVllXV1hSWE9XSlZIVUdTRgBIXE5KUElTRlNbIFJHUlsgTltXWwBIXExKTUtMTEtLS0pMSE1HUEZURldHWEhZSllMWE5VUFBSTlNMVUtYS1sgVEZWR1dIWEpYTFdOVFBQUiBLWUxYTlhTWlZaWFlZWCBOWFNbV1tYWllYWVYASFxMSk1LTExLS0tKTEhNR1BGVEZXR1hJWExXTlRPUU8gVEZWR1dJV0xWTlRPIFRPVlBYUllUWVdYWVdaVFtQW01aTFlLV0tWTFVNVkxXIFdRWFRYV1dZVlpUWwBIXFRIVFsgVUZVWyBVRkpVWlUgUVtYWwBIXE1GS1AgS1BNTlBNU01WTlhQWVNZVVhYVlpTW1BbTVpMWUtXS1ZMVU1WTFcgU01VTldQWFNYVVdYVVpTWyBNRldGIE1HUkdXRgBIXFdJVkpXS1hKWElXR1VGUkZPR01JTEtLT0tVTFhOWlFbU1tWWlhYWVVZVFhRVk9TTlJOT09NUUxUIFJGUEdOSU1LTE9MVU1YT1pRWyBTW1VaV1hYVVhUV1FVT1NOAEhcS0ZLTCBLSkxITkZQRlVJV0lYSFlGIExITkdQR1VJIFlGWUlYTFRRU1NSVlJbIFhMU1FSU1FWUVsASFxQRk1HTElMTE1OUE9UT1dOWExYSVdHVEZQRiBQRk5HTUlNTE5OUE8gVE9WTldMV0lWR1RGIFBPTVBMUUtTS1dMWU1aUFtUW1daWFlZV1lTWFFXUFRPIFBPTlBNUUxTTFdNWU5aUFsgVFtWWldZWFdYU1dRVlBUTwBIXFhNV1BVUlJTUVNOUkxQS01LTExJTkdRRlNGVkdYSVlMWVJYVldYVVpSW09bTVpMWExXTVZOV01YIFFTT1JNUExNTExNSU9HUUYgU0ZVR1dJWExYUldWVlhUWlJbAE1XUltRWlJZU1pTXFJeUV8ATVdSTVFOUk9TTlJNIFJbUVpSWVNaU1xSXlFfAE1XUkZRSFJUU0hSRiBSSFJOIFJZUVpSW1NaUlkASVtNSk5LTUxMS0xKTUhOR1BGU0ZWR1dIWEpYTFdOVk9SUVJUIFNGVUdWSFdKV0xWTlRQIFJZUVpSW1NaUlkATlZSRlFNIFNGUU0ASlpORk1NIE9GTU0gVkZVTSBXRlVNAEpaUkZSUiBNSVdPIFdJTU8AS1lVQk5SVWIAS1lPQlZST2IAS1lPQk9iIFVCVWIARl5SSlJbIEpSWlIgSltaWwBGXlJKUlsgSkpaSiBKUlpSAE1XUVFRU1NTU1FRUSBSUVJTIFFSU1IARV9SSVFKUktTSlJJIElSW1IgUllRWlJbU1pSWQBFX1lJS1sgSU9bTyBJVVtVAEVfSU1bTSBJUltSIElXW1cARl5aRkpNWlQgSlZaViBKW1pbAEZeSkZaTUpUIEpWWlYgSltaWwBGX1tXWVdXVlVUUlBRT09OTU5LT0pRSlNLVU1WT1ZRVVJUVVBXTllNW00ARl5JVUlTSlBMT05PUFBUU1ZUWFRaU1tRIElTSlFMUE5QUFFUVFZVWFVaVFtRW08AR11KVFJPWlQgSlRSUFpUAExYVEZPTCBURlVHT0wATFhQRlVMIFBGT0dVTABIXEtGTEhOSlFLU0tWSlhIWUYgS0ZMSU5LUUxTTFZLWElZRgBNV1JIU0dSRlFHUUlSS1NMAE1XUUZSR1NJU0tSTFFLUkoARVtITUxNUlkgS01SWyBbQlJbAEZeWkpTSk9LTUxLTkpRSlNLVk1YT1lTWlpaAEZeSkpKUUtVTFdOWVFaU1pWWVhXWVVaUVpKAEZeSkpRSlVLV0xZTlpRWlNZVldYVVlRWkpaAEZeSlpKU0tPTE1OS1FKU0pWS1hNWU9aU1paAEZeWkpTSk9LTUxLTkpRSlNLVk1YT1lTWlpaIEpSVlIARV9YUFtSWFQgVU1aUlVXIElSWlIASlpQTFJJVEwgTU9SSldPIFJKUlsARV9MUElSTFQgT01KUk9XIEpSW1IASlpQWFJbVFggTVVSWldVIFJJUloASVxYUldPVk5UTVJNT05NUUxUTFdNWU5aUFtSW1VaV1hYVVlQWUtYSFdHVUZSRlBHT0hPSVBJUEggUk1QTk5RTVRNWE5aIFJbVFpWWFdVWFBYS1dIVUYASFxKRlJbIEtGUlkgWkZSWyBKRlpGIEtHWUcAQWJETUlNUlkgSE5SWyBiOlJbAEZeW0NaRFtFXERcQ1tCWUJXQ1VFVEdTSlJOUFpPXk5gIFZEVUZUSlJWUVpQXU9fTWFLYkliSGFIYElfSmBJYSBRS05MTE5LUUtTTFZOWFFZU1lWWFhWWVNZUVhOVkxTS1FLAEZfXFNbVVlWV1ZVVVRUUVBQT05OTE5KT0lRSVNKVUxWTlZQVVFUVFBVT1dOWU5bT1xRXFMARl5bRklbIE5GUEhQSk9MTU1LTUlLSUlKR0xGTkZQR1NIVkhZR1tGIFdUVVVUV1RZVltYW1paW1hbVllUV1QARl9bTlpPW1BcT1xOW01aTVlOWFBWVVRYUlpQW01bSlpJWElVSlNQT1JNU0tTSVJHUEZOR01JTUtOTlBRVVhXWlpbW1tcWlxZIE1bS1pKWEpVS1NNUSBNS05NVlhYWlpbAEVgV05WTFRLUUtPTE5NTVBNU05VUFZTVlVVVlMgUUtPTU5QTlNPVVBWIFdLVlNWVVhWWlZcVF1RXU9cTFtKWUhXR1RGUUZOR0xISkpJTEhPSFJJVUpXTFlOWlFbVFtXWllZWlggWEtXU1dVWFYASFxQQlBfIFRCVF8gWElXSlhLWUpZSVdHVEZQRk1HS0lLS0xNTU5PT1VRV1JZVCBLS01NT05VUFdRWFJZVFlYV1pUW1BbTVpLWEtXTFZNV0xYAEpaVUlUSlVLVkpWSVVHU0ZRRk9HTklOS09NUU9WUiBPTVRQVlJXVFdWVlhUWiBQTk5QTVJNVE5WUFhVWyBOVlNZVVtWXVZfVWFTYlFiT2FOX05eT11QXk9fAEpaUkZRSFJKU0hSRiBSRlJiIFJRUVRSYlNUUlEgTE1OTlBNTkxMTSBMTVhNIFRNVk5YTVZMVE0ASlpSRlFIUkpTSFJGIFJGUlQgUlBRUlNWUlhRVlNSUlAgUlRSYiBSXlFgUmJTYFJeIExNTk5QTU5MTE0gTE1YTSBUTVZOWE1WTFRNIExbTlxQW05aTFsgTFtYWyBUW1ZcWFtWWlRbAElcWEZYWyBLRlhGIFBQWFAgS1tYWwBFYFFGTkdLSUlMSE9IUklVS1hOWlFbVFtXWlpYXFVdUl1PXExaSVdHVEZRRiBST1FQUVFSUlNSVFFUUFNPUk8gUlBSUVNRU1BSUABKW1BGTkdPSVFKIFBGT0dPSSBVRldHVklUSiBVRlZHVkkgUUpPS05MTU5NUU5TT1RRVVRVVlRXU1hRWE5XTFZLVEpRSiBSVVJbIFNVU1sgTlhXWABJXFJGT0dNSUxMTE1NUE9SUlNTU1ZSWFBZTVlMWElWR1NGUkYgUlNSWyBTU1NbIE5XV1cARGBQRk1HSklITEdPR1NIVkpZTVtQXFRcV1taWVxWXVNdT1xMWklXR1RGUEYgUkZSXCBHUV1RAEdgUE1NTktQSlNKVEtXTVlQWlFaVFlWV1dUV1NWUFROUU1QTSBdR1dHW0hVTiBdR11NXElWTyBcSFZOAEZcSUlKR0xGT0ZRR1JJUkxRT1BRTlNLVSBPRlBHUUlRTVBQTlMgVkZUWyBXRlNbIEtVWVUASVxNRk1VIE5GTVEgTVFOT09OUU1UTVdOWFBYUldUVVYgVE1WTldQV1JUWFRaVVtXW1lZIEtGTkYASVxSTk9PTVFMVExVTVhPWlJbU1tWWlhYWVVZVFhRVk9TTlJOIFJITkpSRlJOIFNIV0pTRlNOIFJTUVRRVVJWU1ZUVVRUU1NSUyBSVFJVU1VTVFJUAEdeUUhSRlJbIFRIU0ZTWyBKSEtGS01MUE5SUVNSUyBNSExGTE5NUSBbSFpGWk1ZUFdSVFNTUyBYSFlGWU5YUSBOV1dXAEddTEZMWyBNRk1bIElGVUZYR1lIWkpaTVlPWFBVUU1RIFVGV0dYSFlKWU1YT1dQVVEgSVtZW1lWWFsASFtZR1VHUUhOSkxNS1BLU0xWTllRW1VcWVwgWUdWSFNKUU1QUFBTUVZTWVZbWVwARl9PUU1RS1JKU0lVSVdKWUtaTVtPW1FaUllTV1NVUlNRUk9RIFNIUFEgWkpSUiBcUVNUAEhcT0tVWSBVS09ZIEtPWVUgWU9LVQBGXk5WTFVLVUlWSFhIWUlbS1xMXE5bT1lPWE5WS1JKT0pNS0pNSFBHVEdXSFlKWk1aT1lSVlZVWFVZVltYXFlcW1tcWVxYW1ZZVVhVVlYgSk1LS01JUEhUSFdJWUtaTQBGXk5NTE5LTklNSEtISklIS0dMR05IT0pPS05NS1FKVEpWS1lNW1BcVFxXW1lZWlZaVFlRVk1VS1VKVkhYR1lHW0hcSlxLW01ZTlhOVk0gSlZLWE1aUFtUW1daWVhaVgBJW0tZWUsgUUxVTFlLWE9YUyBVTFhMWE8ASVtZS0tZIExRTFVLWU9YU1ggTFVMWE9YAElbWVlLSyBTTE9MS0tMT0xTIE9MTExMTwBJW0tLWVkgUVhVWFlZWFVYUSBVWFhYWFUARl9KTUlMSUpKSExHTkdQSFFJUktTUCBJSktITUhPSVBKUUxSUFJbIFtNXExcSltIWUdXR1VIVElTS1JQIFxKWkhYSFZJVUpUTFNQU1sARl5JR0pLS01NT1BQVFBXT1lNWktbRyBJR0pKS0xNTlBPVE9XTllMWkpbRyBQT05QTVFMU0xWTVhPWlFbU1tVWldYWFZYU1dRVlBUTyBQUE5RTVNNVk5ZIFZZV1ZXU1ZRVFAARl5NSk1WIE5LTlUgVktWVSBXSldWIElHS0lNSlBLVEtXSllJW0cgSVlLV01WUFVUVVdWWVdbWQBGXltJTElKSklMSU5KUExRTlFQUFFOUUxQSltKIElNSk9LUE1RIFFNUEtPSk1JIElYWFhaV1tVW1NaUVhQVlBUUVNTU1VUV0lXIFtUWlJZUVdQIFNUVFZVV1dYAEZdT1VNVExUSlVJV0lYSlpMW01bT1pQWFBXT1VKUElOSUtKSUxIT0dTR1dIWUpaTFpPWVJWVVVXVVlWW1hbWVpaWCBNU0tQSk5KS0tJTEggU0dWSFhKWUxZT1hSVlUAR19IS0tITUtNViBKSUxMTFYgTUtQSFJLUlUgT0lRTFFVIFJLVUhXS1dbIFRJVkxWWyBXS1pIW0pcTVxQW1NaVVhXVVlQWyBZSVpKW01bUFpTWVVXV1RZUFsARl5JU01TTFJLT0tNTEpOSFFHU0dWSFhKWU1ZT1hSV1NbUyBJVE9UTVJMT0xNTUpPSFFHIFNHVUhXSlhNWE9XUlVUW1QgS1hZWCBLWVlZAEZfR0xKSU1MTVggSUpMTUxYIE1MUElTTFNYIE9KUk1SWCBTTFZJWUxZV1tZIFVKWE1YWFpaXVcAR11aSUpZIFpJV0pRSiBYS1VLUUogWklZTFlSIFhLWE5ZUiBRUkpSIFBTTVNKUiBRUlFZIFBTUFZRWQBGXkhPSktPVSBKTU9XUlBXUFpPW01bS1pJWEhXSFVJVEtUTVVQVlJXVVdYVVogV0hWSVVLVU1XUVhUWFdXWVVaAEZeSU9MTFBOIEtNT09STFVOIFFNVE9XTFlOIFZNWE9bTCBJVUxSUFQgS1NPVVJSVVQgUVNUVVdSWVQgVlNYVVtSAEZeSkhOSlBMUU9RUlBVTldKWSBKSE1JT0pRTFJPIFJSUVVPV01YSlkgWkhXSVVKU0xSTyBSUlNVVVdXWFpZIFpIVkpUTFNPU1JUVVZXWlkgSVBbUCBJUVtRAE5WUVFRU1NTU1FRUSBRUVNTIFNRUVMASlpNUFFSVFRWVldZV1tWXVVeIE1RU1QgTVJQU1RVVldXWQBKWldLVk1UT1BRTVIgU1BNUyBVRlZHV0lXS1ZOVFBRUk1UAEhcU01PTkxQS1JLVExWTldRV1VWWFRZUllQWE5WTVNNIFhOU00gVk1RTkxQIE9OS1IgTFZRVyBOV1NWWFQgVVZZUgBKW1NNUE5OUE1STVROVlBXUldVVldUWFJYUFdOVU1TTSBPUFVNIE5SVk4gTVRXTyBOVVhQIE9WV1IgUFdWVABKWk9HT14gVUZVXSBNTldMIE1PV00gTVdXVSBNWFdWAEpaTkZOWCBWTFZeIE5OVkwgTk9WTSBOV1ZVIE5YVlYASlpOQk5XIE5OUUxUTFZNV09XUVZTU1VRVk5XIE5OUU1UTVZOIFVNVk9WUVVTU1UARV9ISUhMIFxJXEwgSElcSSBISlxKIEhLXEsgSExcTABKWk1OTVEgV05XUSBNTldOIE1PV08gTVBXUCBNUVdRAEpaTUxXWCBNTE9OUU9UT1ZOV01XS1VLVU1UTyBPTlRPIFFPV00gVktWTiBVTFdMIFdYVVZTVVBVTlZNV01ZT1lPV1BVIFVWUFUgU1VNVyBOVk5ZIE1YT1gASlpQT09NT0tNS01NTk5QT1NPVU5XTCBOS05OIE1MT0wgTU1TTyBQT1VOIFdMV1kAQV5HZkhmSWVJZEhjR2NGZEZmR2hJaUtpTmhQZlFkUmBSVVE7UTRSL1MtVSxWLFgtWS9ZM1g2VzhVO1A/SkNIRUZIRUpETkRSRVZHWUpbTlxSXFZbWFpaV1tUW1BaTVlLV0lUSFBITUlLS0pOSlJLVU1XIEdkR2VIZUhkR2QgVTtRP0xDSUZHSUZLRU5FUkZWR1hKWyBSXFVbV1pZV1pUWlBZTVhLVklUSABFZk5TT1VRVlNWVVVWU1ZRVU9TTlFOT09OUE1TTVZOWVBbU1xWXFlbW1lcV11UXVBcTVpKWElVSFJIT0lNSktMSU9IU0hYSV1LYU1jUGVUZllmXWVgY2JhIEtMSk5JUklYSlxMYE5iUWRVZVllXWRfY2JhIFBPVE8gT1BVUCBOUVZRIE5SVlIgTlNWUyBPVFVUIFBVVFUgYUxhTmNOY0xhTCBiTGJOIGFNY00gYVZhWGNYY1ZhViBiVmJYIGFXY1cARGBIQEhkIE1ATWQgV0BXZCBcQFxkIE1NV0sgTU5XTCBNT1dNIE1XV1UgTVhXViBNWVdXAEhcUE1NTkxPS1FLU0xVTVZQV1RXV1ZYVVlTWVFYT1dOVE1QTSBNTkxQTFNNVU5WUFcgV1ZYVFhRV09WTlRNAEpaUUNWTVJUUlUgVUxRUyBUSVRLUFJSVVVZIFdcVVlTWFFYT1lOW05dT19SYSBXXFVaU1lPWU9dUF9SYSBTWFBaTl0ASlpQT09NT0tNS01NTk5QT1NPVU5XTCBOS05OIE1MT0wgTU1TTyBQT1VOIFdMU1kASWpOUU9PUU5TTlVPVlFWU1VVU1ZRVk9VTlRNUU1OTktQSVNIV0hbSV5LYE5hUmFXYFtfXV1gWmNWZlFpTWsgV0haSV1LX05gUmBXX1teXVxgWWNUZ1FpIFBPVE8gT1BVUCBOUVZRIE5SVlIgTlNWUyBPVFVUIFBVVFUgZUxlTmdOZ0xlTCBmTGZOIGVNZ00gZVZlWGdYZ1ZlViBmVmZYIGVXZ1cARGBIPkhmIEk+SWYgTT5NZiBRQlNCU0RRRFFBUj9UPlc+WT9bQVxEXElbTFlOV09VT1NOUkxRTk9RTlJPU1FWUlhTVlVVV1VZVltYXFtcYFtjWWVXZlRmUmVRY1FgU2BTYlFiIFJCUkQgUUNTQyBZP1pBW0RbSVpMWU4gUkxSTlBRTlJQU1JWUlggWVZaWFtbW2BaY1llIFJgUmIgUWFTYQBBY0hCSGIgSUJJYiBbQltiIFxCXGIgREJgQiBEYk1iIFdiYGIAQmFHQlFQRmIgRkJQUCBFQlBRIEVCXEJeSVtCIEdhXGEgRmJcYl5bW2IASVtYK1UxUjhQPU9BTkZNTk1WTl5PY1BnUmxVc1h5IFUxUzZRPFBAT0ZOTk5WT15QZFFoU25VcwBJW0wrTzFSOFQ9VUFWRldOV1ZWXlVjVGdSbE9zTHkgTzFRNlM8VEBVRlZOVlZVXlRkU2hRbk9zAElbTStNUk15IE4rTlJOeSBNK1grIE15WHkASVtWK1ZSVnkgVytXUld5IEwrVysgTHlXeQBIW1YrUjFQNU86Tz5QQlRKVExTTlJPTVJSVVNWVFhUWlBiT2ZPalBvUnNWeSBULlIyUTVQOlA+UUNSRiBSXlFhUGZQalFvUnJUdgBJXE4rUjFUNVU6VT5UQlBKUExRTlJPV1JSVVFWUFhQWlRiVWZValRvUnNOeSBQLlIyUzVUOlQ+U0NSRiBSXlNhVGZUalNvUnJQdgBJW1YuUzFRNE84Tj1OQ09JUE1TWFRcVWJVZ1RsU29RcyBTMVE1UDhPPU9CUEhRTFRXVVtWYVZnVWxTcFFzTnYASVtOLlExUzRVOFY9VkNVSVRNUVhQXE9iT2dQbFFvU3MgUTFTNVQ4VT1VQlRIU0xQV09bTmFOZ09sUXBTc1Z2ADdaOlJBUlJvIEBSUW8gP1JSciBaIlZKUnIAQ2FdLlwuWy9bMFwxXTFeMF4uXSxbK1krVyxVLlQwUzNSOlFKUWpQc092IFwvXDBdMF0vXC8gUjpSaiBVLlQxUzpTWlJqUXFQdE92TXhLeUl5R3hGdkZ0R3NIc0l0SXVIdkd2IEd0R3VIdUh0R3QASFxSRkpbIFJJS1tKWyBSSVlbWlsgUkZaWyBNVVdVIExWWFYASFxMRkxbIE1HTVogTEZURldHWEhZSllNWE9XUFRRIE1HVEdXSFhKWE1XT1RQIE1QVFBXUVhSWVRZV1hZV1pUW0xbIE1RVFFXUlhUWFdXWVRaTVoASF1aS1lJV0dVRlFGT0dNSUxLS05LU0xWTVhPWlFbVVtXWllYWlYgWktZS1hJV0hVR1FHT0hNS0xOTFNNVk9ZUVpVWldZWFhZVlpWAEhdTEZMWyBNR01aIExGU0ZWR1hJWUtaTlpTWVZYWFZaU1tMWyBNR1NHVkhXSVhLWU5ZU1hWV1hWWVNaTVoASVxNRk1bIE5HTlogTUZZRiBOR1lHWUYgTlBUUFRRIE5RVFEgTlpZWllbIE1bWVsASVtNRk1bIE5HTltNWyBNRllGIE5HWUdZRiBOUFRQVFEgTlFUUQBIXVpLWUlXR1VGUUZPR01JTEtLTktTTFZNWE9aUVtVW1daWVhaVlpSVVIgWktZS1hJV0hVR1FHT0hOSU1LTE5MU01WTlhPWVFaVVpXWVhYWVZZU1VTVVIAR11LRktbIEtGTEZMW0tbIFlGWEZYW1lbIFlGWVsgTFBYUCBMUVhRAE5XUkZSW1NbIFJGU0ZTWwBKW1ZGVlZVWVNaUVpPWU5WTVYgVkZXRldWVllVWlNbUVtPWk5ZTVYASF1MRkxbTVsgTEZNRk1bIFpGWUZNUiBaRk1TIFBPWVtaWyBRT1pbAElaTUZNWyBNRk5GTlogTlpZWllbIE1bWVsARl5KRkpbIEtLS1tKWyBLS1JbIEpGUlggWkZSWCBZS1JbIFlLWVtaWyBaRlpbAEddS0ZLWyBMSUxbS1sgTElZWyBLRlhYIFhGWFggWEZZRllbAEddUEZOR0xJS0tKTkpTS1ZMWE5aUFtUW1ZaWFhZVlpTWk5ZS1hJVkdURlBGIFFHTkhMS0tOS1NMVk5ZUVpTWlZZWFZZU1lOWEtWSFNHUUcASFxMRkxbIE1HTVtMWyBMRlVGV0dYSFlKWU1YT1dQVVFNUSBNR1VHV0hYSlhNV09VUE1QAEddUEZOR0xJS0tKTkpTS1ZMWE5aUFtUW1ZaWFhZVlpTWk5ZS1hJVkdURlBGIFFHTkhMS0tOS1NMVk5ZUVpTWlZZWFZZU1lOWEtWSFNHUUcgU1hYXVldIFNYVFhZXQBIXExGTFsgTUdNW0xbIExGVEZXR1hIWUpZTVhPV1BUUU1RIE1HVEdXSFhKWE1XT1RQTVAgUlFYW1lbIFNRWVsASFxZSVdHVEZQRk1HS0lLS0xNTU5PT1RRVlJXU1hVWFhXWVRaUFpOWU1YS1ggWUlXSVZIVEdQR01ITElMS01NT05UUFZRWFNZVVlYV1pUW1BbTVpLWABKW1JHUlsgU0dTW1JbIExGWUZZRyBMRkxHWUcAR11LRktVTFhOWlFbU1tWWlhYWVVZRiBLRkxGTFVNWE5ZUVpTWlZZV1hYVVhGWUYASFxKRlJbIEpGS0ZSWCBaRllGUlggWkZSWwBFX0dGTVsgR0ZIRk1YIFJGTVggUklNWyBSSVdbIFJGV1ggXUZcRldYIF1GV1sASFxLRlhbWVsgS0ZMRllbIFlGWEZLWyBZRkxbS1sASVxLRlJQUltTWyBLRkxGU1AgWkZZRlJQIFpGU1BTWwBIXFhGS1sgWUZMWyBLRllGIEtGS0dYRyBMWllaWVsgS1tZWwBFXFhGVkhUS1FQT1NMV0laR1tFW0RaRFhFV0ZYRVkgWEZXSlVUVFsgWEZVWyBUW1RZU1ZSVFBSTlFMUUtSS1RMV09aUltWW1haAEZeVUdUSFNKUU9PVU5XTFpKWyBUSFNLUVNQVk9YTVpKW0hbR1pHWEhXSVhIWSBPTE5OTU9LT0pOSkxLSk1IT0dSRlhGWkdbSVtLWk1YTlRPUk8gWEZZR1pJWktZTVhOIFRPV1BYUVlTWVZYWVdaVVtTW1JaUlhTVSBUT1ZQV1FYU1hWV1lVWwBIXUtISkpKTEtOTk9RT1VOV01ZS1pJWkdZRldGVEdRSk9NTVFMVUxYTVpQW1JbVVpXWFhWWFRXUlVSU1NSVSBXRlVHUkpQTU5RTVVNWE5aUFsARl1VR1RIU0pRT09VTldMWkpbIFRIU0tRU1BWT1hNWkpbSFtHWkdYSFdKV0xYTlpQW1NbVVpXWFlUWk9aTFlJV0dVRlBGTUdLSUpLSk1LTk1OTk1PSwBJXFdJVkpWTFdNWU1aS1pJWUdXRlRGUkdRSFBKUExRTlNPIFRGUkhRSlFNU08gU09RT05QTFJLVEtXTFlNWk9bUltVWldYWFZYVFdSVVJTU1JVIFFPT1BNUkxUTFhNWgBHXFdIVkpUT1JVUVdPWk1bIFFMUE5OT0xPS01LS0xJTkdRRltGWEdXSFZLVFNTVlJYUFpNW0tbSVpIWUhYSVdKWElZIFNGV0dYRyBPU1BSUlFWUVhQWk1YVABHXUpJSUtJTUpPTFBPUFJPVE5XS1hIWEdXRlZGVEdSSVFLUE5QUVFTU1RVVFdTWVFaTyBXRlVHU0lSS1FOUVJTVCBaT1lTV1dVWVNaT1tMW0paSVhJV0pWS1dKWCBZU1dWVVhSWk9bAEZeTExLS0tJTEdPRlJGT1FNV0xZS1pJW0dbRlpGWEdXSFhHWSBSRk9PTlJMV0tZSVsgSlRLU01SVk9YTltMXUpeSF5HXUZcRlpHWEpXTFVSVFZUWVZbV1tZWltYIFxGWkhYTFZSVVZVWVZbAElZV0hVS1NQUVVQV05aTFsgWUxXTlRPUU9PTk5MTkpPSFFHVUZZRldIVkpUUFJWUVhPWkxbSltJWklYSldLWEpZAElaWUZXSFVLU1BQWU5dIFlNV09UUFFQT09OTU5LT0lRR1VGWUZXSVZLU1RRWFBaTl1NXktfSl5KXEtaTVhPV1JWVlUARl5MTEtLS0lNR1BGUkZPUU1XTFlLWklbR1tGWkZYR1dIWEdZIFJGT09OUkxXS1lJWyBaR1dLVU1TTlBPIF1HXEhdSV5IXkddRlxGWkdXTFZNVE5QTyBQT1NQVFJVWVZbIFBPUlBTUlRZVltXW1laW1gASVtNSUxLTE1NT09QUlBVT1dOWktbSFtHWkZZRldHVkhUS1BVT1dNWktbIFZIVExSU1FWUFhOWktbSVtIWkhYSVdLV01YUFpSW1VbV1pZWABEYFJGTk9LVUlYR1pFW0NbQlpCWENXRFhDWSBSRlBNT1FOVk5aUFsgUkZRSlBPT1ZPWlBbIFtGV09SWFBbIFtGWU1YUVdWV1pZW1pbXFpeWCBbRlpKWU9YVlhaWVsAR15SRlFKT1BNVUxXSlpIW0ZbRVpFWEZXR1hGWSBSRlJLU1ZUWyBSRlNLVFZUWyBgR19IYElhSGFHYEZeRlxHWkpZTFdRVVdUWwBIXVNGUUdPSU1MTE5LUktWTFlNWk9bUVtUWlZYWFVZU1pPWktZSFhHV0dVSFNKUU5QU1BWIFFHT0pNTkxSTFZNWU9bAEZdVUdUSFNKUU9PVU5XTFpKWyBUSFNLUVNQVk9YTVpKW0hbR1pHWEhXSVhIWSBPTE5OTU9LT0pOSkxLSk1IT0dSRlZGWUdaSFtKW01aT1lQVlFUUVJQIFZGWEdZSFpKWk1ZT1hQVlEASF1VSlVMVE5TT1FQT1BOTk5MT0lRR1RGV0ZZR1pJWk1ZUFdTU1dQWU5aS1tJW0haSFhJV0tXTVhQWlNbVltYWlpYIFdGWEdZSVlNWFBWU1NWT1lLWwBGXlVHVEhTSlFPT1VOV0xaSlsgVEhTS1FTUFZPWE1aSltIW0daR1hIV0lYSFkgT0xOTk1PS09KTkpMS0pNSE9HUkZXRlpHW0lbS1pNWU5WT1JPIFdGWUdaSVpLWU1YTlZPIFJPVVBWUldZWFsgUk9UUFVSVllYW1lbW1pdWABIXE5JTUtNTU5PUFBTUFZPWE5bS1xIXEdbRlpGWEdXSFZKVU1TVFJXUFpOWyBWSlVOVFVTWFFaTltLW0laSFhIV0lWSldJWABJW1lIWEpWT1RVU1dRWk9bIFNMUk5QT05PTU1NS05JUEdTRlxGWkdZSFhLVlNVVlRYUlpPW01bS1pKWUpYS1dMWEtZIFVGWUdaRwBHXUhKSkdMRk1GT0hPS05OS1ZLWUxbIE1GTkhOS0tTSlZKWUxbTltQWlNXVVRWUiBaRlZSVVZVWVdbWFtaWlxYIFtGV1JWVlZZV1sAR1xISkpHTEZNRk9IT0tOT0xWTFlNWyBNRk5ITktMUktWS1lNW05bUVpUV1ZUWFBZTVpJWkdZRlhGV0dWSVZMV05ZUFtRXVEARl1JTEhMR0tHSUhHSkZORk1ITExLVUpbIExMTFVLWyBWRlRIUkxPVU1ZS1sgVkZVSFRMU1VSWyBUTFRVU1sgYEZeR1xJWkxXVVVZU1sASFxQS09MTUxMS0xJTUdPRlFGU0dUSVRMU1BRVU9YTVpKW0hbR1pHWEhXSVhIWSBRRlJHU0lTTFJQUFVOWExaSlsgXUdcSF1JXkheR11GW0ZZR1dJVUxTUFJVUlhTWlRbVVtXWllYAEddSkpMR05GT0ZRR1FJT09PUlBUIE9GUEdQSU5PTlJQVFJUVVNXUVlOWkwgXEZaTFdUVVggXUZbTFlRV1VVWFNaUFtMW0paSVhJV0pWS1dKWABHXFpIWUpXT1ZSVVRTV1FZT1pMWyBTTFJOUE9OT01NTUtOSVBHU0ZdRltHWkhZS1hPVlVUWFFaTFtIW0daR1hIV0pXTFhPWlFbVFtXWllYIFZGWkdbRwBIXFdNV1tYWyBXTVhNWFsgV1BVTlNNUE1OTkxQS1NLVUxYTlpQW1NbVVpXWCBXUFNOUE5OT01QTFNMVU1YTllQWlNaV1gASFxMRkxbTVsgTEZNRk1bIE1QT05RTVRNVk5YUFlTWVVYWFZaVFtRW09aTVggTVBRTlROVk9XUFhTWFVXWFZZVFpRWk1YAElbWFBWTlRNUU1PTk1QTFNMVU1YT1pRW1RbVlpYWCBYUFdRVk9UTlFOT09OUE1TTVVOWE9ZUVpUWlZZV1dYWABIXFdGV1tYWyBXRlhGWFsgV1BVTlNNUE1OTkxQS1NLVUxYTlpQW1NbVVpXWCBXUFNOUE5OT01QTFNMVU1YTllQWlNaV1gASVtNVFhUWFFXT1ZOVE1RTU9OTVBMU0xVTVhPWlFbVFtWWlhYIE1TV1NXUVZPVE5RTk9PTlBNU01VTlhPWVFaVFpWWVdXWFgATFpXRlVGU0dSSlJbU1sgV0ZXR1VHU0ggVEdTSlNbIE9NVk1WTiBPTU9OVk4ASFxYTVdNV1xWX1VgU2FRYU9gTl9MXyBYTVhcV19VYVNiUGJOYUxfIFdQVU5TTVBNTk5MUEtTS1VMWE5aUFtTW1VaV1ggV1BTTlBOTk9NUExTTFVNWE5ZUFpTWldYAEhcTEZMW01bIExGTUZNWyBNUVBOUk1VTVdOWFFYWyBNUVBPUk5UTlZPV1FXW1hbAE5XUkZRR1FIUklTSVRIVEdTRlJGIFJHUkhTSFNHUkcgUk1SW1NbIFJNU01TWwBOV1JGUUdRSFJJU0lUSFRHU0ZSRiBSR1JIU0hTR1JHIFJNUmJTYiBSTVNNU2IASFtMRkxbTVsgTEZNRk1bIFhNV01NVyBYTU1YIFBUVltYWyBRU1hbAENiR01HW0hbIEdNSE1IWyBIUUtOTU1QTVJOU1FTWyBIUUtPTU5PTlFPUlFSW1NbIFNRVk5YTVtNXU5eUV5bIFNRVk9YTlpOXE9dUV1bXlsASFxMTUxbTVsgTE1NTU1bIE1RUE5STVVNV05YUVhbIE1RUE9STlROVk9XUVdbWFsASVxRTU9OTVBMU0xVTVhPWlFbVFtWWlhYWVVZU1hQVk5UTVFNIFFOT09OUE1TTVVOWE9ZUVpUWlZZV1hYVVhTV1BWT1ROUU4ASFxMTUxiTWIgTE1NTU1iIE1QT05RTVRNVk5YUFlTWVVYWFZaVFtRW09aTVggTVBRTlROVk9XUFhTWFVXWFZZVFpRWk1YAEhcV01XYlhiIFdNWE1YYiBXUFVOU01QTU5OTFBLU0tVTFhOWlBbU1tVWldYIFdQU05QTk5PTVBMU0xVTVhOWVBaU1pXWABLWU9NT1tQWyBPTVBNUFsgUFNRUFNOVU1YTSBQU1FRU09VTlhOWE0ASltYUFdOVE1RTU5OTVBOUlBTVVVXViBWVVdXV1hWWiBXWVRaUVpOWSBPWk5YTVggWFBXUFZOIFdPVE5RTk5PIE9OTlBPUiBOUVBSVVRXVVhXWFhXWlRbUVtOWk1YAE1YUkZSW1NbIFJGU0ZTWyBPTVZNVk4gT01PTlZOAEhcTE1MV01aT1tSW1RaV1cgTE1NTU1XTllQWlJaVFlXVyBXTVdbWFsgV01YTVhbAEpaTE1SWyBMTU1NUlkgWE1XTVJZIFhNUlsARl5JTU5bIElNSk1OWCBSTU5YIFJQTlsgUlBWWyBSTVZYIFtNWk1WWCBbTVZbAElbTE1XW1hbIExNTU1YWyBYTVdNTFsgWE1NW0xbAEpaTE1SWyBMTU1NUlkgWE1XTVJZTmIgWE1SW09iTmIASVtWTkxbIFhNTlogTE1YTSBMTUxOVk4gTlpYWlhbIExbWFsAS1tVVVRTUlJQUk5TTVRMVkxYTVpPW1FbU1pUWCBQUk5UTVZNWU9bIFZSVFhUWlZbWFpZWVtWIFdSVVhVWlZbAExaTFZOU1BPIFNGTVhNWk9bUFtSWlRYVVVVUlZWV1dYV1pWIFRGTlhOWk9bAExYVFNTVFRUVFNTUlFST1NOVE1WTVhOWlBbU1tWWVhWIFFST1ROVk5ZUFsAS1tVVVRTUlJQUk5TTVRMVkxYTVpPW1FbU1pUWCBQUk5UTVZNWU9bIFpGVFhUWlZbWFpZWVtWIFtGVVhVWlZbAExYT1lRWFJXU1VTU1JSUVJPU05UTVZNWE5aUFtTW1ZZWFYgUVJPVE5WTllQWwBPWFJSVU9XTFhJWEdXRlVHVElLZEtmTGdOZk9jUFpRW1NbVVpWWVhWIFRJU05SUk9bTWBLZABLW1VVVFNSUlBSTlNNVExWTFhNWk9bUVtTWlRYIFBSTlRNVk1ZT1sgVlJQZCBXUlRbUmBQZE9mTWdMZkxkTWFPX1JdVltZWVtWAExbTFZOU1BPIFNGTFsgVEZNWyBPVVFTU1JUUlZTVlVVWFVaVlsgVFJVU1VVVFhUWlZbWFpZWVtWAE5WU0xSTVNOVE1TTCBRUk9YT1pRW1NaVFlWViBSUlBYUFpRWwBOVlNMUk1TTlRNU0wgUVJLZCBSUk9bTWBLZEpmSGdHZkdkSGFKX01dUVtUWVZWAExaTFZOU1BPIFNGTFsgVEZNWyBVUlVTVlNVUlRSUlRPVSBPVVJWU1pUWyBPVVFWUlpUW1VbWFlaVgBOVk5WUFNSTyBVRk9YT1pRW1NaVFlWViBWRlBYUFpRWwBFXkVWR1NJUktTS1VJWyBJUkpTSlVIWyBLVU1TT1JQUlJTUlVQWyBQUlFTUVVPWyBSVVRTVlJXUllTWVVYWFhaWVsgV1JYU1hVV1hXWllbW1pcWV5WAElbSVZLU01ST1NPVU1bIE1STlNOVUxbIE9VUVNTUlRSVlNWVVVYVVpWWyBUUlVTVVVUWFRaVltYWllZW1YAS1lSUlBSTlNNVExWTFhNWk9bUVtTWlRZVVdVVVRTUlJRU1FVUldUWFZYWFdZViBQUk5UTVZNWU9bAExbTFZOU1BPIFFMSGcgUkxJZyBPVVFTU1JUUlZTVlVVWFVaVlsgVFJVU1VVVFhUWlZbWFpZWVtWAEtbVVVUU1JSUFJOU01UTFZMWE1aT1tRW1NaIFBSTlRNVk1ZT1sgVlJQZFBmUWdTZlRjVFtWW1lZW1YgV1JUW1JgUGQATFpMVk5TUFJSU1JVUFsgUFJRU1FVT1sgUlVUU1ZSV1JWVSBWUlZVV1dYV1pWAE5aTlZQU1FRUVNUVVVXVVlUWlJbIFFTU1VUV1RZUlsgTlpQW1VbWFlaVgBOVk5WUFNSTyBVRk9YT1pRW1NaVFlWViBWRlBYUFpRWyBQTlZOAEtbTlJMWExaTltPW1FaU1hVVSBPUk1YTVpOWyBWUlRYVFpWW1haWVlbViBXUlVYVVpWWwBLWk5STVRMV0xaTltPW1JaVFhVVVVSIE9STlRNV01aTlsgVVJWVldXWFdaVgBIXUxSSlRJV0laS1tMW05aUFggTVJLVEpXSlpLWyBSUlBYUFpSW1NbVVpXWFhVWFIgU1JRWFFaUlsgWFJZVlpXW1ddVgBKWkpWTFNOUlBSUVNRVVBYT1pNW0xbS1pLWUxZS1ogV1NWVFdUV1NWUlVSU1NSVVFYUVpSW1VbWFlaViBRU1JVIFNTUVUgUFhRWiBRWE9aAEtbTlJMWExaTltPW1FaU1hVVSBPUk1YTVpOWyBWUlBkIFdSVFtSYFBkT2ZNZ0xmTGRNYU9fUl1WW1lZW1YATFlMVk5TUFJSUlRTVFZTWFBaTlsgUlJTU1NWUlhQWiBOW1BcUV5RYVBkTmZMZ0tmS2RMYU9eUlxWWVlWIE5bT1xQXlBhT2ROZgBIXFFGTkdMSktPS1JMV05aUVtTW1ZaWFdZUllPWEpWR1NGUUYgT0dNSkxPTFJNV09aIE5ZUVpTWlZZIFVaV1dYUlhPV0pVRyBWSFNHUUdOSABIXE5KUElTRlNbIE5KTktQSlJIUltTWwBIXExLTEpNSE5HUEZURlZHV0hYSlhMV05VUUxbIExLTUtNSk5IUEdUR1ZIV0pXTFZOVFFLWyBMWllaWVsgS1tZWwBIXE1GWEZRTyBNRk1HV0cgV0ZQTyBRTlNOVk9YUVlUWVVYWFZaU1tQW01aTFlLV0xXIFBPU09WUFhTIFRPV1FYVFhVV1hUWiBYVlZZU1pQWk1ZTFcgT1pMWABIXFVJVVtWWyBWRlZbIFZGS1ZaViBVSUxWIExVWlVaVgBIXE1GTE8gTkdNTiBNRldGV0cgTkdXRyBNTlBNU01WTlhQWVNZVVhYVlpTW1BbTVpMWUtXTFcgTE9NT09OU05WT1hSIFROV1BYU1hVV1hUWiBYVlZZU1pQWk1ZTFcgT1pMWABIXFZHV0lYSVdHVEZSRk9HTUpMT0xUTVhPWlJbU1tWWlhYWVVZVFhRVk9TTlJOT09NUSBXSFRHUkdPSCBQR05KTU9NVE5YUVogTVZPWVJaU1pWWVhWIFRaV1hYVVhUV1FUTyBYU1ZQU09ST09QTVMgUU9OUU1UAEhcS0ZZRk9bIEtGS0dYRyBYRk5bT1sASFxQRk1HTElMS01NTk5QT1RQVlFXUlhUWFdXWVRaUFpNWUxXTFRNUk5RUFBUT1ZOV01YS1hJV0dURlBGIE5HTUlNS05NUE5UT1ZQWFJZVFlXWFlXWlRbUFtNWkxZS1dLVExSTlBQT1ROVk1XS1dJVkcgV0hUR1BHTUggTFhPWiBVWlhYAEhcV1BVUlJTUVNOUkxQS01LTExJTkdRRlJGVUdXSVhNWFJXV1VaUltQW01aTFhNWE5aIFdNVlBTUiBXTlVRUlJRUk5RTE4gUFJNUExNTExNSVBHIExLTkhRR1JHVUhXSyBTR1ZJV01XUlZXVFogVVlSWlBaTVkATVhSWFFZUVpSW1NbVFpUWVNYUlggUllSWlNaU1lSWQBNWFRaU1tSW1FaUVlSWFNYVFlUXFNeUV8gUllSWlNaU1lSWSBTW1RcIFRaU14ATVhSTVFOUU9SUFNQVE9UTlNNUk0gUk5ST1NPU05STiBSWFFZUVpSW1NbVFpUWVNYUlggUllSWlNaU1lSWQBNWFJNUU5RT1JQU1BUT1ROU01STSBSTlJPU09TTlJOIFRaU1tSW1FaUVlSWFNYVFlUXFNeUV8gUllSWlNaU1lSWSBTW1RcIFRaU14ATVhSRlJUU1QgUkZTRlNUIFJYUVlRWlJbU1tUWlRZU1hSWCBSWVJaU1pTWVJZAElcTEtMSk1ITkdRRlRGV0dYSFlKWUxYTldPVVBSUSBMS01LTUpOSFFHVEdXSFhKWExXTlVPUlAgTUlQRyBVR1hJIFhNVFAgUlBSVFNUU1AgUlhRWVFaUltTW1RaVFlTWFJYIFJZUlpTWlNZUlkATVhURlJHUUlRTFJNU01UTFRLU0pSSlFLIFJLUkxTTFNLUksgUkdRSyBRSVJKAE1YVEhTSVJJUUhRR1JGU0ZUR1RKU0xRTSBSR1JIU0hTR1JHIFNJVEogVEhTTABGX1xNWk1YTldQVVZUWFNZUVpNWktZSldKVUtTTFJRT1NNVEtUSVNHUUZQRk5HTUlNS05OUFFVV1haWltcWyBcTVxOWk5XUCBaTVhQVlZVWFNaUVtNW0taSllJV0lVSlNMUVFOUk1TS1NJUkcgU0hRR1BHTkggT0dOSU5LT05RUVZXWFlaWlxaXFsASVxSQlJfU18gUkJTQlNfIFdJWUlXR1RGUUZOR0xJTEtNTU5OVlJXU1hVWFdXWVRaUVpPWU5YIFdJVkhUR1FHTkhNSU1LTk1WUVhTWVVZV1hZV1pUW1FbTlpMWE5YIFhYVVoAR15bQkliSmIgW0JcQkpiAEtZVUJTRFFHT0tOUE5UT1lRXVNgVWJWYiBVQlZCVERSR1BLT1BPVFBZUl1UYFZiAEtZTkJQRFJHVEtVUFVUVFlSXVBgTmJPYiBOQk9CUURTR1VLVlBWVFVZU11RYE9iAEpaUkZRR1NRUlIgUkZSUiBSRlNHUVFSUiBNSU5JVk9XTyBNSVdPIE1JTUpXTldPIFdJVklOT01PIFdJTU8gV0lXSk1OTU8ARl9KUVtRW1IgSlFKUltSAEZfUklSWlNaIFJJU0lTWiBKUVtRW1IgSlFKUltSAEZfSk1bTVtOIEpNSk5bTiBKVVtVW1YgSlVKVltWAE5XU0ZSR1JNIFNHUk0gU0ZUR1JNAElbTkZNR01NIE5HTU0gTkZPR01NIFdGVkdWTSBXR1ZNIFdGWEdWTQBLWVFGT0dOSU5LT01RTlNOVU1WS1ZJVUdTRlFGIFFGTklPTVNOVktVR1FGIFNGT0dOS1FOVU1WSVNGAEZeWklKUlpbIFpJWkpMUlpaWlsARl5KSVpSSlsgSklKSlhSSlpKWwBHXk9GT2JQYiBPRlBGUGIgVUZVYlZiIFVGVkZWYiBKUFtQW1EgSlBKUVtRIEpXW1dbWCBKV0pYW1gARl5bRllHVkhTSFBHTkZMRkpHSUlJS0tNTU1PTFBKUEhORiBbRkhbSVsgW0ZcRklbIFlUV1RVVVRXVFlWW1hbWlpbWFtWWVQgTkZKR0lLTU1QSk5GIExGSUlLTU9MUEhMRiBZVFVVVFlYW1tYWVQgV1RUV1ZbWlpbVldUAEVgV01US1FLT0xOTU1PTVJOVE9VUVZUVldUIFdNVExRTE9NTk9OUk9UUVVUVVdUIFZLVlNXVVlWWlZcVV1TXU9cTFtKWUhXR1RGUUZOR0xISkpJTEhPSFJJVUpXTFlOWlFbVVtZWiBWS1dLV1NYVVpWIFlWW1VcU1xPW0xaSllJV0hUR1FHTkhMSUtKSkxJT0lSSlVLV0xYTllRWlVaWVlZWgBFX0pQTE9OT1BQU1RUVVZWWFZaVVtTW1FaT1hOVk5UT1NQUFROVUxVSlQgWlBYT1ZPVFBRVFBVTlZMVkpVSVNJUUpPTE5OTlBPUVBUVFZVWFVaVCBLT0pRSlNLVSBZVVpTWlFZTwBIXVRGUUdPSU1MTE9LU0tWTFlNWk9bUVtUWlZYWFVZUlpOWktZSFhHVkZURiBURlJHUElOTE1PTFNMVk1ZT1sgUVtTWlVYV1VYUllOWUtYSFZGAEhdVEpPWyBWRlBbIFZGU0lQS05MIFVJUUtOTABIXU9KUEtPTE5LTkpPSFBHU0ZWRllHWklaS1lNV09UUVBTTVVLV0lbIFZGWEdZSVlLWE1WT1BTIEpZS1hNWFJaVVpXWVhXIE1YUltVW1daWFcASF1PSlBLT0xOS05KT0hQR1NGVkZZR1pJWktZTVZPU1AgVkZYR1lJWUtYTVZPIFFQU1BWUVdSWFRYV1dZVlpTW09bTFpLWUpXSlZLVUxWS1cgU1BVUVZSV1RXV1ZZVVpTWwBIXVhHUlsgWUZTWyBZRkpVWlUASF1RRkxQIFFGW0YgUUdWR1tGIExQTU9QTlNOVk9XUFhSWFVXWFVaUltPW0xaS1lKV0pWS1VMVktXIFNOVU9WUFdSV1VWWFRaUlsASF1ZSVhKWUtaSlpJWUdXRlRGUUdPSU1MTE9LU0tXTFlNWk9bUltVWldYWFZYU1dRVlBUT1FPT1BNUkxUIFRGUkdQSU5MTU9MU0xYTVogUltUWlZYV1ZXUlZQAEhdTkZMTCBbRlpJWExTUlFVUFdPWyBYTFJSUFVPV05bIE1JUEZSRldJIE5IUEdSR1dJWUlaSFtGAEhdU0ZQR09ITkpOTU9PUVBUUFhPWU5aTFpJWUdWRlNGIFNGUUdQSE9KT01QT1FQIFRQV09YTllMWUlYR1ZGIFFQTVFLU0pVSlhLWk5bUltWWldZWFdYVFdSVlFUUCBRUE5RTFNLVUtYTFpOWyBSW1VaVllXV1dTVlEASF1ZTVhPVlFUUlFST1FOUE1OTUtOSVBHU0ZWRlhHWUhaSlpOWVJYVVZYVFpRW05bTFpLWEtXTFZNV0xYIE9RTk9OS09JUUdTRiBYR1lJWU5YUldVVVhTWlFbAE1YUFlPWlBbUVpQWQBNWFBbT1pQWVFaUVtQXU5fAE1YU01STlNPVE5TTSBQWU9aUFtRWgBNWFNNUk5TT1ROU00gUFtPWlBZUVpRW1BdTl8ATVhVRlRHUlMgVUdSUyBVRlZHUlMgUFlPWlBbUVpQWQBIXU9KUEtPTE5LTkpPSFBHU0ZXRlpHW0lbS1pNWU5TUFFRUVNSVFRUIFdGWUdaSVpLWU1YTlZPIFBZT1pQW1FaUFkATVhWRlRIU0pTS1RMVUtUSgBNWFVIVEdVRlZHVkhVSlNMAEVfXE5bT1xQXU9dTlxNW01ZTldQUlhQWk5bS1tIWkdYR1ZIVElTS1JQUFJPVE1VS1VJVEdSRlBHT0lPTFBSUVVTWFVaV1tZW1pZWlggS1tJWkhYSFZJVEpTUFAgT0xQUVFUU1dVWVdaWVpaWQBIXVRCTF8gWUJRXyBaSllLWkxbS1tKWkhZR1ZGUkZPR01JTUtOTU9OVlJYVCBNS09NVlFXUlhUWFdXWVZaU1tPW0xaS1lKV0pWS1VMVktXAEddX0JFYgBLWlpCVkVTSFFLT09OVE5YT11QYFFiIFZFU0lRTVBQT1VPWlBfUWIASllTQlREVUdWTFZQVVVTWVFcTl9KYiBTQlRFVUpVT1RUU1dRW05fAEpbVEZUUiBPSVlPIFlJT08ATldVRlNNIFZGU00ASVtQRk5NIFFGTk0gWUZXTSBaRldNAEtaU0ZRR1BJUEtRTVNOVU5XTVhLWElXR1VGU0YASF1TRkxiIFlGUmIgTFFaUSBLV1lXAEVfXkZcR1hIVUhRR09GTUZLR0pJSktMTU5NUExRSlFIT0YgXkZGWyBYVFZUVFVTV1NZVVtXW1laWlhaVlhUAEddTEZMWyBNRk1bIElGWUZZTFhGIE1QVVBYUVlSWlRaV1lZWFpVW0lbIFVQV1FYUllUWVdYWVdaVVsARl5ORk5MTVRMWEtaSlsgWEZYWyBZRllbIEtGXEYgR1tcWyBHW0diIEhbR2IgW1tcYiBcW1xiAENiUkZSWyBTRlNbIE9GVkYgR0dISEdJRkhGR0dGSEZJR0pJS01MT05QV1BZT1pNW0lcR11GXkZfR19IXkldSF5HIE5QTFFLU0pYSVpIWyBOUE1RTFNLWEpaSVtHW0ZaRVggV1BZUVpTW1hcWl1bIFdQWFFZU1pYW1pcW15bX1pgWCBPW1ZbAEhcTElLRktMTElOR1BGVEZXR1hJWExXTlRPUU8gVEZWR1dJV0xWTlRPIFRPVlBYUllUWVdYWVdaVFtPW01aTFlLV0tWTFVNVkxXIFdRWFRYV1dZVlpUWwBGXktGS1sgTEZMWyBYRlhbIFlGWVsgSEZPRiBVRlxGIFhITFkgSFtPWyBVW1xbAEZeS0ZLWyBMRkxbIFhGWFsgWUZZWyBIRk9GIFVGXEYgWEhMWSBIW09bIFVbXFsgTkBOP00/TUBOQlBDVENWQldAAEZeS0ZLWyBMRkxbIEhGT0YgTFBTUFVPVk1XSVhHWUZaRltHW0haSVlIWkcgU1BVUVZTV1hYWllbIFNQVFFVU1ZYV1pYW1pbW1pcWCBIW09bAEVeTUZNTExUS1hKWklbSFtHWkdZSFhJWUhaIFhGWFsgWUZZWyBKRlxGIFVbXFsASF1LRlJWIExGU1YgWkZTVlFZUFpOW01bTFpMWU1YTllNWiBJRk9GIFZGXEYARl9SRlJbIFNGU1sgT0ZWRiBQSUxKSkxJT0lSSlVMV1BYVVhZV1tVXFJcT1tMWUpVSVBJIFBJTUpLTEpPSlJLVU1XUFggVVhYV1pVW1JbT1pMWEpVSSBPW1ZbAEZeS0ZLWyBMRkxbIFhGWFsgWUZZWyBIRk9GIFVGXEYgSFtcWyBbW1xiIFxbXGIARl1LRktRTFNPVFJUVVNXUSBMRkxRTVNPVCBXRldbIFhGWFsgSEZPRiBURltGIFRbW1sAQmNHRkdbIEhGSFsgUkZSWyBTRlNbIF1GXVsgXkZeWyBERktGIE9GVkYgWkZhRiBEW2FbAEJjR0ZHWyBIRkhbIFJGUlsgU0ZTWyBdRl1bIF5GXlsgREZLRiBPRlZGIFpGYUYgRFthWyBgW2FiIGFbYWIARmBQRlBbIFFGUVsgSUZITEhGVEYgUVBYUFtRXFJdVF1XXFlbWlhbTVsgWFBaUVtSXFRcV1tZWlpYWwBDYUhGSFsgSUZJWyBFRkxGIElQUFBTUVRSVVRVV1RZU1pQW0VbIFBQUlFTUlRUVFdTWVJaUFsgW0ZbWyBcRlxbIFhGX0YgWFtfWwBIXU1GTVsgTkZOWyBKRlFGIE5QVVBYUVlSWlRaV1lZWFpVW0pbIFVQV1FYUllUWVdYWVdaVVsASF1MSUtGS0xMSU5HUUZTRlZHWElZS1pOWlNZVlhYVlpTW1BbTVpMWUtXS1ZMVU1WTFcgU0ZVR1dJWEtZTllTWFZXWFVaU1sgUFBZUABDYkhGSFsgSUZJWyBFRkxGIEVbTFsgVkZTR1FJUEtPT09SUFZRWFNaVltYW1taXVheVl9SX09eS11JW0dYRlZGIFZGVEdSSVFLUE9QUlFWUlhUWlZbIFhbWlpcWF1WXlJeT11LXElaR1hGIElQT1AAR11XRldbIFhGWFsgW0ZPRkxHS0hKSkpMS05MT09QV1AgT0ZNR0xIS0pLTExOTU9PUCBSUFBRT1JMWUtaSlpJWSBQUU9TTVpMW0pbSVlJWCBUW1tbAEhcWEZXR1FJTktMTktRS1VMWE5aUVtTW1ZaWFhZVVlTWFBWTlNNUU1OTkxQS1MgWEZXSFVJUUpOTExOIFFNT05NUExTTFVNWE9aUVsgU1tVWldYWFVYU1dQVU5TTQBIXE1NTVsgTk1OWyBKTVVNWE5ZUFlRWFNVVCBVTVdOWFBYUVdTVVQgTlRVVFhVWVdZWFhaVVtKWyBVVFdVWFdYWFdaVVsASFpNTU1bIE5NTlsgSk1YTVhSV00gSltRWwBGXU5NTlFNV0xaS1sgV01XWyBYTVhbIEtNW00gSVtIYEhbW1tbYFpbAEVgUk1SWyBTTVNbIE9NVk0gSk5JT0hOSU1KTUtOTVJOU1BUVVRXU1hSWk5bTVxNXU5cT1tOIFBUTlVNVktaSlsgUFROVkxaS1tJW0haR1ggVVRXVVhWWlpbWyBVVFdWWVpaW1xbXVpeWCBPW1ZbAElbTU9MTUxRTU9OTlBNVE1XTlhQWFFXU1RUIFRNVk5XUFdRVlNUVCBRVFRUV1VYV1hYV1pUW1BbTVpMWExXTVZOV01YIFRUVlVXV1dYVlpUWwBHXUxNTFsgTU1NWyBXTVdbIFhNWFsgSU1QTSBUTVtNIElbUFsgVFtbWyBXTk1aAEddTE1MWyBNTU1bIFdNV1sgWE1YWyBJTVBNIFRNW00gSVtQWyBUW1tbIFdOTVogT0dPRk5GTkdPSVFKU0pVSVZHAEhcTU1NWyBOTU5bIEpNUU0gTlRQVFNTVFJWTldNWE1ZTlhPV04gUFRTVVRWVlpXWyBQVFJVU1ZVWlZbWFtZWlpYIEpbUVsAR11OTU5RTVdMWktbSltJWkpZS1ogV01XWyBYTVhbIEtNW00gVFtbWwBHXkxNTFsgTE1SWyBNTVJZIFhNUlsgWE1YWyBZTVlbIElNTU0gWE1cTSBJW09bIFVbXFsAR11MTUxbIE1NTVsgV01XWyBYTVhbIElNUE0gVE1bTSBNVFdUIElbUFsgVFtbWwBHXUxNTFsgTU1NWyBXTVdbIFhNWFsgSU1bTSBJW1BbIFRbW1sASVxSTVJbIFNNU1sgTU1MUkxNWU1ZUlhNIE9bVlsASVtMTVJbIE1NUlkgWE1SW1BfTmFMYktiSmFLYExhIEpNUE0gVE1aTQBIXVJGUmIgU0ZTYiBPRlNGIFJQUU5QTU5NTE5LUUtXTFpOW1BbUVpSWCBOTU1OTFFMV01aTlsgV01YTllRWVdYWldbIFNQVE5VTVdNWU5aUVpXWVpXW1VbVFpTWCBPYlZiAEddTE1MWyBNTU1bIFdNV1sgWE1YWyBJTVBNIFRNW00gSVtbW1tgWlsAR11MTUxUTVZQV1JXVVZXVCBNTU1UTlZQVyBXTVdbIFhNWFsgSU1QTSBUTVtNIFRbW1sAQ2JITUhbIElNSVsgUk1SWyBTTVNbIFxNXFsgXU1dWyBFTUxNIE9NVk0gWU1gTSBFW2BbAENiSE1IWyBJTUlbIFJNUlsgU01TWyBcTVxbIF1NXVsgRU1MTSBPTVZNIFlNYE0gRVtgW2BgX1sASF1RTVFbIFJNUlsgTE1LUktNVU0gUlRWVFlVWldaWFlaVltOWyBWVFhVWVdZWFhaVlsARV9KTUpbIEtNS1sgR01OTSBLVE9UUlVTV1NYUlpPW0dbIE9UUVVSV1JYUVpPWyBZTVlbIFpNWlsgVk1dTSBWW11bAEpbT01PWyBQTVBbIExNU00gUFRUVFdVWFdYWFdaVFtMWyBUVFZVV1dXWFZaVFsASVxNT0xNTFFNT05OUE1TTVZOWFBZU1lVWFhWWlNbUFtOWkxYTFdNVk5XTVggU01VTldQWFNYVVdYVVpTWyBSVFhUAERhSU1JWyBKTUpbIEZNTU0gRltNWyBWTVNOUVBQU1BVUVhTWlZbWFtbWl1YXlVeU11QW05YTVZNIFZNVE5SUFFTUVVSWFRaVlsgWFtaWlxYXVVdU1xQWk5YTSBKVFBUAEdcVk1WWyBXTVdbIFpNT01MTktQS1FMU09UVlQgT01NTkxQTFFNU09UIFRUUVVQVk5aTVsgVFRSVVFWT1pOW0xbS1pKWCBTW1pbAEhcUkZLWiBRSVdbIFJJWFsgUkZZWyBNVVZVIElbT1sgVFtbWyBLWkpbIEtaTVsgV1pVWyBXWVZbIFhZWlsAR11MRkxbIE1HTVogTkZOWyBJRlVGWEdZSFpKWkxZTlhPVVAgWEhZSllMWE4gVUZXR1hJWE1XT1VQIE5QVVBYUVlSWlRaV1lZWFpVW0lbIFhSWVRZV1hZIFVQV1FYU1hYV1pVWyBKRkxHIEtGTEggT0ZOSCBQRk5HIExaSlsgTFlLWyBOWU9bIE5aUFsAR1xYSVlGWUxYSVZHVEZRRk5HTElLS0pOSlNLVkxYTlpRW1RbVlpYWFlWIE1JTEtLTktTTFZNWCBRRk9HTUpMTkxTTVdPWlFbAEddTEZMWyBNR01aIE5GTlsgSUZTRlZHWElZS1pOWlNZVlhYVlpTW0lbIFdJWEtZTllTWFZXWCBTRlVHV0pYTlhTV1dVWlNbIEpGTEcgS0ZMSCBPRk5IIFBGTkcgTFpKWyBMWUtbIE5ZT1sgTlpQWwBHXExGTFsgTUdNWiBORk5bIElGWUZZTCBOUFRQIFRMVFQgSVtZW1lVIEpGTEcgS0ZMSCBPRk5IIFBGTkcgVEZZRyBWRllIIFdGWUkgWEZZTCBUTFNQVFQgVE5SUFRSIFRPUFBUUSBMWkpbIExZS1sgTllPWyBOWlBbIFRbWVogVltZWSBXW1lYIFhbWVUAR1tMRkxbIE1HTVogTkZOWyBJRllGWUwgTlBUUCBUTFRUIElbUVsgSkZMRyBLRkxIIE9GTkggUEZORyBURllHIFZGWUggV0ZZSSBYRllMIFRMU1BUVCBUTlJQVFIgVE9QUFRRIExaSlsgTFlLWyBOWU9bIE5aUFsAR15YSVlGWUxYSVZHVEZRRk5HTElLS0pOSlNLVkxYTlpRW1RbVlpYWllbWVMgTUlMS0tOS1NMVk1YIFFGT0dNSkxOTFNNV09aUVsgWFRYWSBXU1dZVlogVFNcUyBVU1dUIFZTV1UgWlNZVSBbU1lUAEZeS0ZLWyBMR0xaIE1GTVsgV0ZXWyBYR1haIFlGWVsgSEZQRiBURlxGIE1QV1AgSFtQWyBUW1xbIElGS0cgSkZLSCBORk1IIE9GTUcgVUZXRyBWRldIIFpGWUggW0ZZRyBLWklbIEtZSlsgTVlOWyBNWk9bIFdaVVsgV1lWWyBZWVpbIFlaW1sATFhRRlFbIFJHUlogU0ZTWyBORlZGIE5bVlsgT0ZRRyBQRlFIIFRGU0ggVUZTRyBRWk9bIFFZUFsgU1lUWyBTWlVbAEpaU0ZTV1JaUVsgVEdUV1NaIFVGVVdUWlFbT1tNWkxYTFZNVU5VT1ZPV05YTVggTVZNV05XTlZNViBQRlhGIFFGU0cgUkZTSCBWRlVIIFdGVUcARlxLRktbIExHTFogTUZNWyBYR01SIFBQV1sgUVBYWyBRTllbIEhGUEYgVUZbRiBIW1BbIFRbW1sgSUZLRyBKRktIIE5GTUggT0ZNRyBXRlhHIFpGWEcgS1pJWyBLWUpbIE1ZTlsgTVpPWyBXWVVbIFdZWlsASVtORk5bIE9HT1ogUEZQWyBLRlNGIEtbWltaVSBMRk5HIE1GTkggUUZQSCBSRlBHIE5aTFsgTllNWyBQWVFbIFBaUlsgVVtaWiBXW1pZIFhbWlggWVtaVQBFX0pGSlogSkZRWyBLRlFYIExGUlggWEZRWyBYRlhbIFlHWVogWkZaWyBHRkxGIFhGXUYgR1tNWyBVW11bIEhGSkcgW0ZaSCBcRlpHIEpaSFsgSlpMWyBYWlZbIFhZV1sgWllbWyBaWlxbAEZeS0ZLWiBLRllbIExGWFggTUZZWCBZR1lbIEhGTUYgVkZcRiBIW05bIElGS0cgV0ZZRyBbRllHIEtaSVsgS1pNWwBHXVFGTkdMSUtLSk9KUktWTFhOWlFbU1tWWlhYWVZaUlpPWUtYSVZHU0ZRRiBNSUxLS05LU0xWTVggV1hYVllTWU5YS1dJIFFGT0dNSkxOTFNNV09aUVsgU1tVWldXWFNYTldKVUdTRgBHXUxGTFsgTUdNWiBORk5bIElGVUZYR1lIWkpaTVlPWFBVUU5RIFhIWUpZTVhPIFVGV0dYSVhOV1BVUSBJW1FbIEpGTEcgS0ZMSCBPRk5IIFBGTkcgTFpKWyBMWUtbIE5ZT1sgTlpQWwBHXVFGTkdMSUtLSk9KUktWTFhOWlFbU1tWWlhYWVZaUlpPWUtYSVZHU0ZRRiBNSUxLS05LU0xWTVggV1hYVllTWU5YS1dJIFFGT0dNSkxOTFNNV09aUVsgU1tVWldXWFNYTldKVUdTRiBOWE9WUVVSVVRWVVhWXldgWWBaXlpcIFZcV15YX1lfIFVYV11YXlleWl0AR11MRkxbIE1HTVogTkZOWyBJRlVGWEdZSFpKWkxZTlhPVVBOUCBYSFlKWUxYTiBVRldHWElYTVdPVVAgUlBUUVVTV1lYW1pbW1lbVyBXV1hZWVpaWiBUUVVSWFhZWVpZW1ggSVtRWyBKRkxHIEtGTEggT0ZOSCBQRk5HIExaSlsgTFlLWyBOWU9bIE5aUFsASFxYSVlGWUxYSVZHU0ZQRk1HS0lLTExOT1BVUldTWFVYWFdaIExMTU5PT1VRV1JYVCBNR0xJTEtNTU9OVVBYUllUWVdYWVdaVFtRW05aTFhLVUtbTFgASFxKRkpMIFFGUVsgUkdSWiBTRlNbIFpGWkwgSkZaRiBOW1ZbIEtGSkwgTEZKSSBNRkpIIE9GSkcgVUZaRyBXRlpIIFhGWkkgWUZaTCBRWk9bIFFZUFsgU1lUWyBTWlVbAEZeS0ZLVUxYTlpRW1NbVlpYWFlVWUcgTEdMVk1YIE1GTVZOWU9aUVsgSEZQRiBWRlxGIElGS0cgSkZLSCBORk1IIE9GTUcgV0ZZRyBbRllHAEhcS0ZSWyBMRlJYUlsgTUZTWCBZR1JbIElGUEYgVUZbRiBKRkxIIE5GTUggT0ZNRyBXRllHIFpGWUcARl5KRk5bIEtGTlZOWyBMRk9WIFJGT1ZOWyBSRlZbIFNGVlZWWyBURldWIFpHV1ZWWyBHRk9GIFJGVEYgV0ZdRiBIRktHIElGS0ggTUZMSCBORkxHIFhGWkcgXEZaRwBIXEtGV1sgTEZYWyBNRllbIFhHTFogSUZQRiBVRltGIElbT1sgVFtbWyBKRk1IIE5GTUggT0ZNRyBWRlhHIFpGWEcgTFpKWyBMWk5bIFdaVVsgV1lWWyBXWVpbAEddSkZRUVFbIEtGUlFSWiBMRlNRU1sgWUdTUSBIRk9GIFZGXEYgTltWWyBJRktHIE5GTEcgV0ZZRyBbRllHIFFaT1sgUVlQWyBTWVRbIFNaVVsASFxZRktGS0wgV0ZLWyBYRkxbIFlGTVsgS1tZW1lVIExGS0wgTUZLSSBORktIIFBGS0cgVFtZWiBWW1lZIFdbWVggWFtZVQBJW05GTlsgT0dPWiBQRlBbIEtGWkZaTCBLW1NbIExGTkcgTUZOSCBRRlBIIFJGUEcgVUZaRyBXRlpIIFhGWkkgWUZaTCBOWU1bIE5aTFsgUFlRWyBQWlJbAEhcUkZKWyBRSVhbIFJJWVsgUkZaWyBLWVhZIEtaWFogSltaWwBHXVFGTkdMSUtLSk9KUktWTFhOWlFbU1tWWlhYWVZaUlpPWUtYSVZHU0ZRRiBNSUxLS05LU0xWTVggV1hYVllTWU5YS1dJIFFGT0dNSkxOTFNNV09aUVsgU1tVWldXWFNYTldKVUdTRiBPTU9UIFVNVVQgT1BVUCBPUVVRIE9OUFAgT09RUCBVTlRQIFVPU1AgUFFPUyBRUU9SIFNRVVIgVFFVUwBIXFJGS1ogUUlXWyBSSVhbIFJGWVsgSVtPWyBUW1tbIEtaSlsgS1pNWyBXWlVbIFdZVlsgWFlaWwBHXUpFSkwgWkVaTCBPTU9UIFVNVVQgSlVKXCBaVVpcIEpHWkcgSkhaSCBKSVpJIE9QVVAgT1FVUSBKWFpYIEpZWlkgSlpaWiBKRk1IIFpGV0ggS0lKSyBMSUpKIFhJWkogWUlaSyBPTlBQIE9PUVAgVU5UUCBVT1NQIFBRT1MgUVFPUiBTUVVSIFRRVVMgSlZLWCBKV0xYIFpXWFggWlZZWCBNWUpbIFdZWlsARl5LRktbIExHTFogTUZNWyBXRldbIFhHWFogWUZZWyBIRlxGIEhbUFsgVFtcWyBJRktHIEpGS0ggTkZNSCBPRk1HIFVGV0cgVkZXSCBaRllIIFtGWUcgS1pJWyBLWUpbIE1ZTlsgTVpPWyBXWlVbIFdZVlsgWVlaWyBZWltbAEddSUZQUFFRIEpGUVAgS0ZSUElbIElGWUZaTFlJV0YgVkZZSCBURllHIEtZWVkgSlpZWiBJW1lbWlVZWFdZAEhcSk1LSUxHTUZPRlBHUUlSTSBMSE1HT0dQSCBKTUtKTUhPSFBJUU1RWyBSTVJbIFpNWUpXSFVIVElTTVNbIFhIV0dVR1RIIFpNWUlYR1dGVUZUR1NJUk0gTltWWyBRWVBbIFFaT1sgU1pVWyBTWVRbAEddUUZRWyBSR1JaIFNGU1sgTkZWRiBOW1ZbIE9GUUcgUEZRSCBURlNIIFVGU0cgUVpPWyBRWVBbIFNZVFsgU1pVWyBPS0xMS01KT0pSS1RMVU9WVVZYVVlUWlJaT1lNWExVS09LIExNS09LUkxUIFhUWVJZT1hNIE9LTUxMT0xSTVVPViBVVldVWFJYT1dMVUsARl5RRlFbIFJHUlogU0ZTWyBORlZGIE5bVlsgT0ZRRyBQRlFIIFRGU0ggVUZTRyBRWk9bIFFZUFsgU1lUWyBTWlVbIEhNSU1KTktRTFNNVFBVVFVXVFhTWVFaTltNXE0gTFJLTkpMSUxLTiBITUlLSktLTExQTVNOVFBVIFlOW0xaTFlOWFIgVFVWVFdTWFBZTFpLW0tcTQBHXU5ZS1lKV0tbT1tNVktSSk9KTEtJTUdQRlRGV0dZSVpMWk9ZUldWVVtZW1pXWVlWWSBMU0tPS0xMSSBYSVlMWU9YUyBPW01VTFBMS01ITkdQRiBURlZHV0hYS1hQV1VVWyBLWk5aIFZaWVoASFxVRklaIFNKVFsgVEhVWiBVRlVIVllWWyBMVVRVIEZbTFsgUVtYWyBJWkdbIElaS1sgVFpSWyBUWVNbIFZZV1sARl5PRklbIFBGSlsgUUZLWyBMRldGWkdbSVtLWk5ZT1ZQIFlHWklaS1lOWE8gV0ZYR1lJWUtYTlZQIE5QVlBYUVlTWVVYWFZaUltGWyBXUVhTWFVXWFVaIFZQV1JXVVZYVFpSWyBNRlBHIE5GT0ggUkZQSCBTRlBHIEpaR1sgSllIWyBLWUxbIEpaTVsASF1aSFtIXEZbTFtKWkhZR1dGVEZRR09JTUxMT0tTS1ZMWU1aUFtTW1VaV1hYViBRSE9KTkxNT0xTTFdNWSBURlJHUEpPTE5PTVNNWE5aUFsARl1PRklbIFBGSlsgUUZLWyBMRlVGWEdZSFpLWk9ZU1dXVVlTWk9bRlsgV0dYSFlLWU9YU1ZXVFkgVUZXSFhLWE9XU1VXUlpPWyBNRlBHIE5GT0ggUkZQSCBTRlBHIEpaR1sgSllIWyBLWUxbIEpaTVsARl1PRklbIFBGSlsgUUZLWyBVTFNUIExGW0ZaTCBOUFRQIEZbVVtXViBNRlBHIE5GT0ggUkZQSCBTRlBHIFdGWkcgWEZaSCBZRlpJIFpGWkwgVUxTUFNUIFROUlBTUiBUT1FQU1EgSlpHWyBKWUhbIEtZTFsgSlpNWyBQW1VaIFJbVVkgVVlXVgBGXE9GSVsgUEZKWyBRRktbIFVMU1QgTEZbRlpMIE5QVFAgRltOWyBNRlBHIE5GT0ggUkZQSCBTRlBHIFdGWkcgWEZaSCBZRlpJIFpGWkwgVUxTUFNUIFROUlBTUiBUT1FQU1EgSlpHWyBKWUhbIEtZTFsgSlpNWwBIXlpIW0hcRltMW0paSFlHV0ZURlFHT0lNTExPS1NLVkxZTVpQW1JbVVpXWFlUIFFIT0pOTE1PTFNMV01ZIFZYV1dYVCBURlJHUEpPTE5PTVNNWE5aUFsgUltUWlZXV1QgVFRcVCBVVFdVIFZUV1cgWlRYViBbVFhVAEVfTkZIWyBPRklbIFBGSlsgWkZUWyBbRlVbIFxGVlsgS0ZTRiBXRl9GIExQWFAgRVtNWyBRW1lbIExGT0cgTUZOSCBRRk9IIFJGT0cgWEZbRyBZRlpIIF1GW0ggXkZbRyBJWkZbIElZR1sgSllLWyBJWkxbIFVaUlsgVVlTWyBWWVdbIFVaWFsAS1lURk5bIFVGT1sgVkZQWyBRRllGIEtbU1sgUkZVRyBTRlRIIFdGVUggWEZVRyBPWkxbIE9ZTVsgUFlRWyBPWlJbAElcV0ZSV1FZT1sgWEZUU1NWUlggWUZVU1NYUVpPW01bS1pKWEpWS1VMVU1WTVdMWEtYIEtWS1dMV0xWS1YgVEZcRiBVRlhHIFZGV0ggWkZYSCBbRlhHAEZdT0ZJWyBQRkpbIFFGS1sgXEdNUiBRT1VbIFJPVlsgU05XWiBMRlRGIFlGX0YgRltOWyBSW1lbIE1GUEcgTkZPSCBSRlBIIFNGUEcgWkZcRyBeRlxHIEpaR1sgSllIWyBLWUxbIEpaTVsgVVpTWyBVWVRbIFZZWFsASFxRRktbIFJGTFsgU0ZNWyBORlZGIEhbV1tZVSBPRlJHIFBGUUggVEZSSCBVRlJHIExaSVsgTFlKWyBNWU5bIExaT1sgUltXWiBUW1hYIFZbWVUARGBNRkdaIE1HTllOWyBORk9ZIE9GUFggW0ZQWE5bIFtGVVsgXEZWWyBdRldbIEpGT0YgW0ZgRiBEW0pbIFJbWlsgS0ZNRyBMRk1IIF5GXEggX0ZcRyBHWkVbIEdaSVsgVlpTWyBWWVRbIFdZWFsgVlpZWwBGX09GSVogT0ZWWyBQRlZYIFFGV1ggXEdXWFZbIExGUUYgWUZfRiBGW0xbIE1GUEcgTkZQSCBaRlxHIF5GXEcgSVpHWyBJWktbAEddU0ZQR05JTExLT0pTSlZLWUxaTltRW1RaVlhYVVlSWk5aS1lIWEdWRlNGIE9JTUxMT0tTS1dMWSBVWFdVWFJZTllKWEggU0ZRR09KTkxNT0xTTFhNWk5bIFFbU1pVV1ZVV1JYTlhJV0dWRgBGXU9GSVsgUEZKWyBRRktbIExGWEZbR1xJXEtbTllQVVFNUSBaR1tJW0taTlhQIFhGWUdaSVpLWU5XUFVRIEZbTlsgTUZQRyBORk9IIFJGUEggU0ZQRyBKWkdbIEpZSFsgS1lMWyBKWk1bAEddU0ZQR05JTExLT0pTSlZLWUxaTltRW1RaVlhYVVlSWk5aS1lIWEdWRlNGIE9JTUxMT0tTS1dMWSBVWFdVWFJZTllKWEggU0ZRR09KTkxNT0xTTFhNWk5bIFFbU1pVV1ZVV1JYTlhJV0dWRiBMWE1WT1VQVVJWU1hUXVVeVl5XXSBUXlVfVl8gU1hTX1RgVmBXXVdcAEZeT0ZJWyBQRkpbIFFGS1sgTEZXRlpHW0lbS1pOWU9WUE5QIFlHWklaS1lOWE8gV0ZYR1lJWUtYTlZQIFJQVFFVUldYWFlZWVpYIFdZWFpZWiBVUlZaV1tZW1pYWlcgRltOWyBNRlBHIE5GT0ggUkZQSCBTRlBHIEpaR1sgSllIWyBLWUxbIEpaTVsAR15aSFtIXEZbTFtKWkhZR1ZGUkZPR01JTUxOTlBQVlNXVVdYVlogTkxPTlZSV1QgT0dOSU5LT01VUFdSWFRYV1dZVlpTW09bTFpLWUpXSlVJW0pZS1kAR11URk5bIFVGT1sgVkZQWyBNRktMIF1GXEwgTUZdRiBLW1NbIE5GS0wgUEZMSSBSRk1HIFlGXEcgWkZcSCBbRlxJIFxGXEwgT1pMWyBPWU1bIFBZUVsgT1pSWwBGX05GS1FKVUpYS1pOW1JbVVpXWFhVXEcgT0ZMUUtVS1lMWiBQRk1RTFVMWU5bIEtGU0YgWUZfRiBMRk9HIE1GTkggUUZPSCBSRk9HIFpGXEcgXkZcRwBIXE5GTkhPWU9bIE9HUFggUEZRVyBbR09bIExGU0YgWEZeRiBNRk5IIFFGUEggUkZPRyBZRltHIF1GW0cARV9NRk1IS1lLWyBOR0xYIE9GTVcgVUZNV0tbIFVGVUhTWVNbIFZHVFggV0ZVVyBdR1VXU1sgSkZSRiBVRldGIFpGYEYgS0ZORyBMRk1IIFBGTkkgUUZORyBbRl1HIF9GXUcAR11ORlRbIE9GVVsgUEZWWyBbR0laIExGU0YgWEZeRiBGW0xbIFFbWFsgTUZPSCBRRlBIIFJGUEcgWUZbRyBdRltHIElaR1sgSVpLWyBUWlJbIFRZU1sgVVlXWwBHXU1GUVBOWyBORlJQT1sgT0ZTUFBbIFxHU1AgS0ZSRiBZRl9GIEtbU1sgTEZORyBQRk9IIFFGTkcgWkZcRyBeRlxHIE9aTFsgT1lNWyBQWVFbIE9aUlsAR11aRkhbIFtGSVsgXEZKWyBcRk5GTEwgSFtWW1hVIE9GTEwgUEZNSSBSRk5HIFJbVlogVFtXWCBVW1hVAEhcSkZSWyBLRlJYIExGU1ggSkZaRlJbIExHWUcgTEhZSABJXU5QTk9PT09RTVFNT05OUE1UTVZOV09YUVhYWVpaWyBWT1dRV1hYWiBUTVVOVlBWWFdaWltbWyBWUlVTUFRNVUxXTFhNWlBbU1tVWlZYIE5VTVdNWE5aIFVTUVRPVU5XTlhPWlBbAEdcTEZMW01aT1ogTUdNWSBJRk5GTlogTlBPTlFNU01WTlhQWVNZVVhYVlpTW1FbT1pOWCBXUFhSWFZXWCBTTVVOVk9XUldWVllVWlNbIEpGTEcgS0ZMSABIW1dRV1BWUFZSWFJYUFZOVE1RTU5OTFBLU0tVTFhOWlFbU1tWWlhYIE1QTFJMVk1YIFFNT05OT01STVZOWU9aUVsASF1WRlZbW1sgV0dXWiBTRlhGWFsgVlBVTlNNUU1OTkxQS1NLVUxYTlpRW1NbVVpWWCBNUExSTFZNWCBRTU9OTk9NUk1WTllPWlFbIFRGVkcgVUZWSCBYWVlbIFhaWlsASFtNU1hTWFFXT1ZOU01RTU5OTFBLU0tVTFhOWlFbU1tWWlhYIFdSV1FWTyBNUExSTFZNWCBWU1ZQVU5TTSBRTU9OTk9NUk1WTllPWlFbAEtZV0hXR1ZHVklYSVhHV0ZURlJHUUhQS1BbIFJIUUtRWiBURlNHUklSWyBNTVZNIE1bVVsgUFpOWyBQWU9bIFJZU1sgUlpUWwBJXFhOWU9aTllNWE1WTlVPIFFNT05OT01RTVNOVU9WUVdTV1VWVlVXU1dRVk9VTlNNUU0gT09OUU5TT1UgVVVWU1ZRVU8gUU1QTk9QT1RQVlFXIFNXVFZVVFVQVE5TTSBOVU1WTFhMWU1bTlxRXVVdWF5ZXyBOW1FcVVxYXSBMWU1aUFtVW1hcWV5ZX1hhVWJPYkxhS19LXkxcT1sgT2JNYUxfTF5NXE9bAEdeTEZMWyBNR01aIElGTkZOWyBOUU9PUE5STVVNV05YT1lSWVsgV09YUlhaIFVNVk5XUVdbIElbUVsgVFtcWyBKRkxHIEtGTEggTFpKWyBMWUtbIE5ZT1sgTlpQWyBXWlVbIFdZVlsgWVlaWyBZWltbAExYUUZRSFNIU0ZRRiBSRlJIIFFHU0cgUU1RWyBSTlJaIE5NU01TWyBOW1ZbIE9NUU4gUE1RTyBRWk9bIFFZUFsgU1lUWyBTWlVbAEtYUkZSSFRIVEZSRiBTRlNIIFJHVEcgUk1SXlFhUGIgU05TXVJgIE9NVE1UXVNgUmFQYk1iTGFMX05fTmFNYU1gIFBNUk4gUU1STwBHXUxGTFsgTUdNWiBJRk5GTlsgV05OVyBSU1lbIFJUWFsgUVRXWyBUTVtNIElbUVsgVFtbWyBKRkxHIEtGTEggVU1XTiBaTVdOIExaSlsgTFlLWyBOWU9bIE5aUFsgV1lVWyBWWVpbAExYUUZRWyBSR1JaIE5GU0ZTWyBOW1ZbIE9GUUcgUEZRSCBRWk9bIFFZUFsgU1lUWyBTWlVbAEFjRk1GWyBHTkdaIENNSE1IWyBIUUlPSk5MTU9NUU5ST1NSU1sgUU9SUlJaIE9NUE5RUVFbIFNRVE9VTldNWk1cTl1PXlJeWyBcT11SXVogWk1bTlxRXFsgQ1tLWyBOW1ZbIFlbYVsgRE1GTiBFTUZPIEZaRFsgRllFWyBIWUlbIEhaSlsgUVpPWyBRWVBbIFNZVFsgU1pVWyBcWlpbIFxZW1sgXllfWyBeWmBbAEdeTE1MWyBNTk1aIElNTk1OWyBOUU9PUE5STVVNV05YT1lSWVsgV09YUlhaIFVNVk5XUVdbIElbUVsgVFtcWyBKTUxOIEtNTE8gTFpKWyBMWUtbIE5ZT1sgTlpQWyBXWlVbIFdZVlsgWVlaWyBZWltbAEhcUU1OTkxQS1NLVUxYTlpRW1NbVlpYWFlVWVNYUFZOU01RTSBNUExSTFZNWCBXWFhWWFJXUCBRTU9OTk9NUk1WTllPWlFbIFNbVVpWWVdWV1JWT1VOU00AR1xMTUxiIE1OTWEgSU1OTU5iIE5QT05RTVNNVk5YUFlTWVVYWFZaU1tRW09aTlggV1BYUlhWV1ggU01VTlZPV1JXVlZZVVpTWyBJYlFiIEpNTE4gS01MTyBMYUpiIExgS2IgTmBPYiBOYVBiAEhcVk5WYiBXT1dhIFVOV05YTVhiIFZQVU5TTVFNTk5MUEtTS1VMWE5aUVtTW1VaVlggTVBMUkxWTVggUU1PTk5PTVJNVk5ZT1pRWyBTYltiIFZhVGIgVmBVYiBYYFliIFhhWmIASVpOTU5bIE9OT1ogS01QTVBbIFdPV05WTlZQWFBYTldNVU1TTlFQUFMgS1tTWyBMTU5OIE1NTk8gTlpMWyBOWU1bIFBZUVsgUFpSWwBKW1dPWE1YUVdPVk5UTVBNTk5NT01RTlNQVFVVV1ZYWSBOTk1RIE5SUFNVVFdVIFhWV1ogTU9OUVBSVVNXVFhWWFlXWlVbUVtPWk5ZTVdNW05ZAEtaUEhQVlFZUlpUW1ZbWFpZWCBRSFFXUlkgUEhSRlJXU1pUWyBNTVZNAEdeTE1MVk1ZTlpQW1NbVVpWWVdXIE1OTVdOWSBJTU5NTldPWlBbIFdNV1tcWyBYTlhaIFRNWU1ZWyBKTUxOIEtNTE8gWVlaWyBZWltbAElbTE1SWyBNTVJZIE5NU1kgWE5TWVJbIEpNUU0gVE1aTSBLTU5PIFBNTk4gVk1YTiBZTVhOAEZeSk1OWyBLTU5YIExNT1ggUk1PWE5bIFJNVlsgU01WWCBSTVRNV1ggWk5XWFZbIEdNT00gV01dTSBITUtOIE5NTE4gWE1aTiBcTVpOAEhcTE1WWyBNTVdbIE5NWFsgV05NWiBKTVFNIFRNWk0gSltQWyBTW1pbIEtNTU4gUE1OTiBVTVdOIFlNV04gTVpLWyBNWk9bIFZaVFsgV1pZWwBIW0xNUlsgTU1SWSBOTVNZIFhOU1lQX05hTGJKYklhSV9LX0thSmFKYCBKTVFNIFRNWk0gS01OTyBQTU5OIFZNWE4gWU1YTgBJW1ZNTFsgV01NWyBYTU5bIFhNTE1MUSBMW1hbWFcgTU1MUSBOTUxQIE9NTE8gUU1MTiBTW1haIFVbWFkgVltYWCBXW1hXAEdeW01aUVlUV1hVWlJbUFtNWktYSlVKU0tQTU5QTVJNVU5WT1dRWVhaWltbXFsgWk1ZUVhUV1ZVWVRaUlsgTFhLVktSTFAgUFtOWk1ZTFZMUk1PTk5QTSBSTVROVU9WUVhYWVpbWwBHXFFGTkdNSExKS05LYiBOSE1KTE5MYSBRRk9HTklNTk1iIFFGU0ZWR1dIWEpYTFdOVk9TUCBQUFRQV1FYUllUWVdYWVdaVFtRW09aTllNVyBWSFdKV0xWTiBXUlhUWFdXWSBTRlVHVklWTVVPU1AgVFBWUVdTV1hWWlRbIEtiTWIARlxIUklOS01NTU9OUE9RUlJZU2IgSU9LTk1OT09QUCBIUklQS09NT09QUFFRVFJZUmEgWE1XUFZSVFVTV1JbUWIgWU1XUSBaTVlPV1JUVlNYUlsgWE1aTSBRYlNiAEhcU01RTU5OTFBLU0tVTFhOWlFbU1tWWlhYWVVZU1hQVk5TTVBMTktNSk1ITkdQRlNGV0ggTVBMU0xVTVggV1hYVVhTV1AgUU1PTk5PTVJNVk5ZT1pRWyBTW1VaVllXVldSVk9VTk9LTkpOSU9IUUdUR1dIAElbU01VTlZPV09WTlNNUU1NTkxPTFFNUlFTIFNTUVNNVEtWS1hNWlBbU1tWWlhYV1hWWiBOTk1PTVFOUiBNVUxWTFhNWSBRTU9OTk9OUU9SUVMgUVNOVE1WTVhOWlBbAElbUUhSR1JGUUZQR1BJUUpUS1hLWUtZSlhKVUtTTFBOTlBNUkxVTFdNWU5aUFtTXFVdVl9WYVViU2JSYVJgU2BTYSBQT09QTlJNVU1XTllPWiBVS1JNUU5PUU5UTldPWVFbU1wAR11KTUtOTFBMWyBLTUxOTVBNWiBIUElOSk1MTU1OTlBOWyBVTVZOV1FXYiBXT1hSWGEgTlFPT1BOUk1VTVdOWE9ZUlliIExbTlsgV2JZYgBGXUlNSk5LUEtUTFdNWU5aUVtTW1ZaV1lYV1lSWU9YSlZHVEZSRlBHT0lPS1BNU09WUFtRIEpNS05MUExUTVdOWSBWWVdXWFJYT1dKVkhURyBHUEhOSU1LTUxOTVBNVE5YT1pRWyBTW1VaVlhXU1dOVkpVSFNHUUdPSQBLWk5NT05QUFBYUVpTW1VbV1pYWCBPTVBOUVBRWFJaIExQTU5OTVBNUU5SUFJYU1pUWwBHXUpNS05MUExbIEtNTE5NUE1aIEhQSU5KTUxNTU5OUE5bIFNPVU5XTlhPWFBaUFpOWE1WTVROUVFPVE5XIFhOWU9ZUCBQU1FTV1lZWVpYIFRXV1pZWiBSVFVaVltYW1laWlggTFtOWwBIXEpHS0ZNRk9HUUlYWFlaWlsgT0hQSVdYWFkgTUZOR09JVlhYWlpbW1sgUk1KWkpbS1tSTQBHXUtNS2IgTE5MYSBNTU1iIFZNVlhXWlhbWltbWlxYIFdOV1hYWllbIFhNWFhZWlpbIE1YTlpQW1JbVFpVWVZXIEtNTU0gVk1YTSBLYk1iAEddSk1LTkxQTVROWyBLTUxOTVBOVE9aIEhQSU5KTUxNTU5OUE9UUFogVlZXVFhRWE1ZTVpOWVFYU1ZWVFhRWk5bIFhSWU9ZTQBKWlBHU0ZSRlBHT0hPSVBKU0tWTFdLVkpTS1BMTk1NT01RTlJQU1NUVlVXVFZTU1RPVU1WTFhMWk1bT1xTXVVeVl9WYVRiUmJPYVBhUmIgT01OT05RT1IgTlZNWE1aTlsgVktTS1FMUE1PT09RUVNTVCBWVFNUUFVPVk5YTlpQXFNdAEddSVFKT0tOTU1bTSBLT01OWk4gSVFKUExPW08gT09OWk1bTFpNV09PIFVPVlpXW1haV1dVTyBbTVtPIE9PTVogVU9XWgBHXFFNTk5MUEtUS2IgTVBMVExhIFFNT05OT01TTWIgTVdOWU9aUVtTW1ZaWFhZVVlTWFBWTlNNUU0gV1hYVlhSV1AgU1tVWlZZV1ZXUlZPVU5TTSBLYk1iAEddUE1NTktQSlNKVUtYTVpQW1JbVVpXWFhVWFNXUFVOUk0gTFBLUktWTFggVlhXVldSVlAgUE1OTk1PTFJMVk1ZTlpQWyBSW1RaVVlWVlZSVU9UTlJNIFJNWk9bTltNUE0gUk1aTgBIXEpRS09MTk5NWk0gTE9OTllOIEpRS1BNT1pPIFJPUVpSW1NaUk8gWk1aTyBST1JaAEdcSk1LTkxQTFVNWE9aUVtTW1VaV1hYVllSWU5YTVdNWFBYU1dXVVogS01MTk1QTVVOWCBXTVhOWE8gSFBJTkpNTE1NTk5QTlZPWVFbAEddUlFRTlBNTk1MTktPSlJKVUtYTVpQW1RbV1pZWFpVWlJZT1hOVk1UTVNOUlEgTE9LUktVTFggWFhZVVlSWE8gTk1NTkxRTFZNWU5aUFsgVFtWWldZWFZYUVdOVk0gUlFRYiBSUVJhIFJRU2IgUWJTYgBIXExNTU5OUFRfVmFYYlpiW2EgTk9PUFVfVmAgSU5KTUxNTk5QUFZfV2FYYiBWU1hQWU1aTVlPVlNOXEtgSmJLYkxfTlwARl1ITklOSlBKVUtYTVpQW1RbVlpYWFlWWlJaTllNWE1ZUFlTWFdWWiBKTktQS1VMWCBYTVlOWU8gR1BITklNSk1LTkxQTFZNWU5aUFsgUUZTYiBSR1JhIFNGUWIgUUZTRiBRYlNiAEZeTk1MTkpQSVNJV0pZS1pNW09bUVpSWVNXU1RSU1FUUVdSWVNaVVtXW1laWllbV1tTWlBYTlZNIEtQSlNKV0tZIFJUUlggWVlaV1pTWVAgTk1MT0tSS1dMWk1bIFdbWFpZV1lSWE9WTQBHXVdNVVRVWFZaV1tZW1tZXFcgWE1WVFZaIFdNWU1XVFZYIFVUVVFUTlJNUE1NTktRSlRKVktZTFpOW1BbUlpTWVRXVVQgTk5MUUtUS1dMWSBQTU5PTVFMVExXTVpOWwBJXFBGTk1NU01XTllPWlFbU1tWWlhXWVRZUlhPV05VTVNNUU5QT09RTlQgUUZPTU5RTldPWiBWWVdXWFRYUVdPIE1GUkZQTU5UIFNbVVlWV1dUV1FWTlVNIE5GUUcgT0ZQSABJW1dRV1BWUFZSWFJYUFdOVU1STU9OTVFMVExWTVlOWlBbUltVWldXIE9PTlFNVE1XTlkgUk1QT09RTlROV09aUFsAR11ZRlZRVVVVWFZaV1tZW1tZXFcgWkZXUVZVVlogVkZbRldUVlggVVRVUVROUk1QTU1OS1FKVEpWS1lMWk5bUFtSWlNZVFdVVCBNT0xRS1RLV0xZIFBNTk9NUUxUTFdNWk5bIFdGWkcgWEZZSABJW01WUVVUVFdSWFBXTlVNUk1PTk1RTFRMVk1ZTlpQW1JbVVpXWCBPT05RTVRNV05ZIFJNUE9PUU5UTldPWlBbAEpaWkhaR1lHWUlbSVtHWkZYRlZHVElTS1JOUVJPW05eTWBLYiBUSlNNUlJQW09eIFhGVkhVSlRNU1JRWlBdT19NYUtiSWJIYUhfSl9KYUlhSWAgTk1ZTQBIXVhNVFtTXlFhT2IgWU1VW1NfIFhNWk1WW1RfUmFPYkxiSmFJYEleS15LYEpgSl8gVlRWUVVOU01RTU5OTFFLVEtWTFlNWk9bUVtTWlRZVVdWVCBOT01RTFRMV01ZIFFNT09OUU1UTVdOWk9bAEddT0ZJW0tbIFBGSlsgTEZRRktbIE1UT1BRTlNNVU1XTlhQWFNWWCBXTldSVlZWWiBXUFVVVVhWWldbWVtbWVxXIE1GUEcgTkZPSABLWFRGVEhWSFZGVEYgVUZVSCBUR1ZHIExRTU9PTVFNUk5TUFNTUVggUk5SUlFWUVogUlBQVVBYUVpSW1RbVllXVwBLWFVGVUhXSFdGVUYgVkZWSCBVR1dHIE1RTk9QTVJNU05UUFRTUlpRXVBfTmFMYkpiSWFJX0tfS2FKYUpgIFNOU1NRWlBdT18gU1BSVFBbT15OYExiAEddT0ZJW0tbIFBGSlsgTEZRRktbIFlPWU5YTlhQWlBaTllNV01VTlFST1MgTVNPU1FUUlVUWVVaV1ogUVVTWVRaIE9TUFRSWlNbVVtXWllXIE1GUEcgTkZPSABMWFRGUVFQVVBYUVpSW1RbVllXVyBVRlJRUVVRWiBRRlZGUlRRWCBSRlVHIFNGVEgAQGNBUUJPRE1GTUdOSFBIU0ZbIEdOR1NFWyBHUEZURFtGWyBIU0pQTE5OTVBNUk5TUFNTUVsgUk5SU1BbIFJQUVRPW1FbIFNTVVBXTllNW01dTl5QXlNcWCBdTl1SXFZcWiBdUFtVW1hcWl1bX1thWWJXAEZeR1FIT0pNTE1NTk5QTlNMWyBNTk1TS1sgTVBMVEpbTFsgTlNQUFJOVE1WTVhOWVBZU1dYIFhOWFJXVldaIFhQVlVWWFdaWFtaW1xZXVcASFxRTU5OTFFLVEtWTFlNWlBbU1tWWlhXWVRZUlhPV05UTVFNIE5PTVFMVExXTVkgVllXV1hUWFFXTyBRTU9PTlFNVE1XTlpQWyBTW1VZVldXVFdRVk5UTQBHXUhRSU9LTU1NTk5PUE9TTldLYiBOTk5TTVdKYiBOUE1USWIgT1RQUVFPUk5UTVZNWE5ZT1pSWlRZV1daVFtSW1BaT1dPVCBYT1lRWVRYV1dZIFZNV05YUVhUV1dWWVRbIEZiTmIgSmFHYiBKYEhiIEtgTGIgSmFNYgBHXFdNUWIgWE1SYiBXTVlNU2IgVVRVUVROUk1QTU1OS1FKVEpWS1lMWk5bUFtSWlNZVFdVVCBNT0xRS1RLV0xZIFBNTk9NUUxUTFdNWk5bIE5iVmIgUmFPYiBSYFBiIFNgVGIgUmFVYgBJW0pRS09NTU9NUE5RUFFUT1sgUE5QVE5bIFBQT1RNW09bIFlPWU5YTlhQWlBaTllNV01VTlNQUVQASltYUFhPV09XUVlRWU9YTlVNUk1PTk5PTlFPU1FUVFVWVldYIE9OTlEgT1JRU1RUVlUgV1ZWWiBOT09RUVJUU1ZUV1ZXWFZaU1tQW01aTFlMV05XTllNWU1YAEtZVEZRUVBVUFhRWlJbVFtWWVdXIFVGUlFRVVFaIFRGVkZSVFFYIE5NWE0ARl5HUUhPSk1MTU1OTlBOU0xYIE1OTVJMVkxaIE1QS1VLWExaTltQW1JaVFhWVSBYTVZVVlhXWlhbWltcWV1XIFlNV1VXWiBYTVpNWFRXWABIXElRSk9MTU5NT05QUFBTTlggT05PUk5WTlogT1BNVU1YTlpQW1JbVFpWWFhVWVFZTVhNWE5ZUABDYURRRU9HTUlNSk5LUEtTSVggSk5KUklWSVogSlBIVUhYSVpLW01bT1pRWFJVIFRNUlVSWFNaVVtXW1laW1hdVV5RXk1dTV1OXlAgVU1TVVNaIFRNVk1UVFNYAEddSlFMTk5NUE1STlNQU1IgUE1RTlFSUFZPWE1aS1tJW0haSFhKWEpaSVpJWSBST1JSUVZRWSBaT1pOWU5ZUFtQW05aTVhNVk5UUFNSUlZSWlNbIFBWUFhRWlNbVVtXWllXAEddSFFJT0tNTU1OTk9QT1NNWCBOTk5STVZNWiBOUExVTFhNWk9bUVtTWlVYV1QgWU1VW1ReUmFQYiBaTVZbVF8gWU1bTVdbVV9TYVBiTWJLYUpgSl5MXkxgS2BLXwBIXFlNWE9WUU5XTFlLWyBYT09PTVBMUiBWT1JOT05OTyBWT1JNT01NT0xSIExZVVlXWFhWIE5ZUlpVWlZZIE5ZUltVW1dZWFYASFxXUVZPVU5TTVFNTk5MUEtTS1VMWE5aUVtTW1ZaV1lYV1lTWU5YSldIVkdTRlFGTkdNSE5IT0dRRiBNUExSTFZNWCBWWVdXWFNYTldKVkggUU1PTk5PTVJNVk5ZT1pRWyBTW1VaVlhXVFdNVklVR1NGAElbVU1XTlhPWU9YTlVNUk1PTk1QTFNMVU1YT1pSW1VbWFpZWVhZV1pVWyBOUE1TTVVOWCBSTVBOT09OUk5WT1lQWlJbIE5UVFVVVFRTTlQgTlRUVABIXFFGTkdMSktPS1JMV05aUVtTW1ZaWFdZUllPWEpWR1NGUUYgTkhNSkxOTFNNV05ZIFZZV1dYU1hOV0pWSCBRRk9HTklNTk1TTlhPWlFbIFNbVVpWWFdTV05WSVVHU0YgTFBYUSBMUVhQAEddUE1NTktQSlNKVUtYTVpQW1RbV1pZWFpVWlNZUFdOVE1QTSBMUEtTS1VMWCBYWFlVWVNYUCBQTU5OTU9MUkxWTVlOWlBbVFtWWldZWFZYUldPVk5UTSBRRlNiIFJHUmEgU0ZRYiBRRlNGIFFiU2IASFxUTVZOWFBZUFlPV05UTVBNTU5MT0tRS1NMVU5XUFhSWVNaVFxUXlNfUV9PXlBeUV8gTU9MUUxTTVVPVyBQTU5OTVBNU05VUlkgWVBYTwBIXFFGTkdMSktPS1JMV05aUVtTW1ZaWFdZUllPWEpWR1NGUUYgTkhNSkxOTFNNV05ZIFZZV1dYU1hOV0pWSCBRRk9HTklNTk1TTlhPWlFbIFNbVVpWWFdTV05WSVVHU0YASFxRSFFbIFJIUlogU0ZTWyBTRlBJTkogTVtXWyBRWk9bIFFZUFsgU1lUWyBTWlVbAEhcTEpMS01LTUpMSiBMSU1JTkpOS01MTExLS0tKTEhNR1BGVEZXR1hIWUpZTFhOVVBQUk5TTFVLWEtbIFdIWEpYTFdOIFRGVkdXSldMVk5UUFBSIEtZTFhOWFNZV1lZWCBOWFNaV1pYWSBOWFNbV1tYWllYWVYASFxMSkxLTUtNSkxKIExJTUlOSk5LTUxMTEtLS0pMSE1HUEZURldHWElYTFdOVE8gVkdXSVdMVk4gU0ZVR1ZJVkxVTlNPIFFPVE9WUFhSWVRZV1hZV1pUW1BbTVpMWUtXS1ZMVU1VTlZOV01YTFggV1JYVFhXV1kgU09VUFZRV1RXV1ZaVFsgTFZMV01XTVZMVgBIXFNJU1sgVEhUWiBVRlVbIFVGSlVaVSBQW1hbIFNaUVsgU1lSWyBVWVZbIFVaV1sASFxNRktQTU5QTVNNVk5YUFlTWVVYWFZaU1tQW01aTFlLV0tWTFVNVU5WTldNWExYIFdQWFJYVldYIFNNVU5WT1dSV1ZWWVVaU1sgTFZMV01XTVZMViBNRldGIE1HVUcgTUhRSFVHV0YASFxWSVZKV0pXSVZJIFdIVkhVSVVKVktXS1hKWElXR1VGUkZPR01JTEtLT0tVTFhOWlFbU1tWWlhYWVVZVFhRVk9TTlFOT09OUE1SIE5JTUtMT0xVTVhOWSBXWFhWWFNXUSBSRlBHT0hOSk1OTVVOWE9aUVsgU1tVWlZZV1ZXU1ZQVU9TTgBIXEtGS0wgWUZZSVhMVFFTU1JXUlsgU1JSVFFXUVsgWExTUVFUUFdQW1JbIEtKTEhORlBGVUlXSVhIWUYgTUhOR1BHUkggS0pMSU5IUEhVSQBIXFBGTUdMSUxMTU5QT1RPV05YTFhJV0dURlBGIE5HTUlNTE5OIFZOV0xXSVZHIFBGT0dOSU5MT05QTyBUT1VOVkxWSVVHVEYgUE9NUExRS1NLV0xZTVpQW1RbV1pYWVlXWVNYUVdQVE8gTVFMU0xXTVkgV1lYV1hTV1EgUE9OUE1TTVdOWlBbIFRbVlpXV1dTVlBUTwBIXE1XTVhOWE5XTVcgV09WUVVSU1NRU05STFBLTUtMTElOR1FGU0ZWR1hJWUxZUlhWV1hVWlJbT1tNWkxYTFdNVk5WT1dPWE5ZTVkgTVBMTkxLTUkgVkhXSVhMWFJXVlZYIFFTT1JOUU1OTUtOSE9HUUYgU0ZVR1ZJV0xXU1ZXVVlUWlJbAE1YUkZRR1FJUlEgUkZSVFNUIFJGU0ZTVCBTRlRHVElTUSBSWFFZUVpSW1NbVFpUWVNYUlggUllSWlNaU1lSWQBJXE1LTUpOSk5MTExMSk1ITkdQRlRGV0dYSFlKWUxYTldPU1EgV0hYSVhNV04gVEZWR1dJV01WT1VQIFJRUlRTVFNRUlEgUlhRWVFaUltTW1RaVFlTWFJYIFJZUlpTWlNZUlkARV9bT1tOWk5aUFxQXE5bTVpNWU5YUFZVVFhSWlBbTFtKWklYSVVKU1BPUk1TS1NJUkdQRk5HTUlNTE5PUFJUV1daWVtbW1xZXFggS1pKWEpVS1NMUiBSTVNJIFNLUkcgTkdNSyBOTlBRVFZXWVlaIE5bTFpLWEtVTFNQTyBNSU5NUVFVVlhZWlpbWlxZAEhcUEJQXyBUQlRfIFhLWEpXSldMWUxZSlhIV0dURlBGTUdLSUtMTE5PUFVSV1NYVVhYV1ogTExNTk9PVVFXUlhUIE1HTElMS01NT05VUFhSWVRZV1hZV1pUW1BbTVpMWUtXS1VNVU1XTFdMVgBLWVVCU0RRR09LTlBOVE9ZUV1TYFViIFFIUEtPT09VUFlRXCBTRFJGUUlQT1BVUVtSXlNgAEtZT0JRRFNHVUtWUFZUVVlTXVFgT2IgU0hUS1VPVVVUWVNcIFFEUkZTSVRPVFVTW1JeUWAARl5bRllHVkhTSFBHTkZMRkpHSUlJS0tNTU1PTFBKUEhORiBbRkhbIFtGSVsgW0ZKWyBZVFdUVVVUV1RZVltYW1paW1hbVllUIE9HTEZJSUpMTU1QSk9HIE5GSkdJSyBLTU9MUEggWlVXVFRXVVpYW1tYWlUgWVRVVVRZIFZbWlpbViBIW0pbAEVgVk5VTFNLUUtPTE5NTU9NUk5UT1VRVlNWVVVWUyBPTU5PTlJPVCBRS1BMT09PUlBVUVYgVktWU1dVWVZaVlxVXVJdT1xMW0pZSFdHVEZRRk5HTEhKSklMSE9IUklVSldMWU5aUVtUW1daWVlYWVdaIFdMV1NYVSBWS1hLWFNZVVpWAEhdVEZRR09JTUxMT0tTS1ZMWU1aT1tRW1RaVlhYVVlSWk5aS1lIWEdWRlRGIFFIT0pOTE1PTFNMV01ZIFRZVldXVVhSWU5ZSlhIIFRGUkdQSk9MTk9NU01YTlpPWyBRW1NaVVdWVVdSWE5YSVdHVkYASF1USk9bUVsgV0ZVSlBbIFdGUVsgV0ZUSVFLT0wgVEpSS09MAEhdT0tPSlBKUExOTE5KT0hQR1NGVkZZR1pJWktZTVdPTVVLV0lbIFhHWUlZS1hNVk9TUSBWRldHWElYS1dNVU9NVSBKWUtYTVhSWVdZWFggTVhSWldaIE1YUltVW1daWFhYVwBIXU9LT0pQSlBMTkxOSk9IUEdTRlZGWUdaSVpLWU1YTlZPU1AgWEdZSVlLWE1XTiBWRldHWElYS1dNVU9TUCBRUFNQVlFXUlhUWFdXWVVaUltPW0xaS1lKV0pVTFVMV0tXS1YgVlJXVFdXVlkgU1BVUVZTVldVWVRaUlsASF1XSlJbVFsgWkZYSlNbIFpGVFsgWkZKVVpVAEhdUUZMUCBRRltGIFFHWUcgUEhVSFlHW0YgTFBNT1BOU05WT1dQWFJYVVdYVVpRW05bTFpLWUpXSlVMVUxXS1dLViBWUFdSV1VWWFRaIFNOVU9WUVZVVVhTWlFbAEhdWUpZSVhJWEtaS1pJWUdXRlRGUUdPSU1MTE9LU0tWTFlNWk9bUltVWldYWFZYU1dRVlBUT1FPT1BOUU1TIFBJTkxNT0xTTFdNWSBWWFdWV1NWUSBURlJHUEpPTE5PTVNNWE5aT1sgUltUWlVZVlZWUlVQVE8ASF1ORkxMIFtGWklYTFRRUlRRV1BbIFJTUFdPWyBYTFJSUFVPV05bUFsgTUlQRlJGV0kgT0dSR1dJIE1JT0hSSFdJWUlaSFtGAEhdU0ZQR09ITkpOTU9PUVBUUFdPWU5aTFpJWUdXRlNGIFVGUEcgUEhPSk9OUE8gT09SUCBTUFdPIFhOWUxZSVhHIFlHVUYgU0ZRSFBKUE5RUCBUUFZPV05YTFhIV0YgUVBNUUtTSlVKWEtaTltSW1ZaV1lYV1hUV1JWUVRQIFJQTVEgTlFMU0tVS1hMWiBLWlBbVlogVllXV1dUVlIgVlFTUCBRUE9RTVNMVUxYTVpOWyBSW1RaVVlWV1ZTVVFUUABIXVhOV1BWUVRSUVJPUU5QTU5NS05JUEdTRlZGWEdZSFpLWk5ZUlhVVlhUWlFbTltMWktYS1ZNVk1YTFhMVyBPUE5OTktPSSBYSFlKWU5YUldVVVggUVJQUU9PT0tQSFFHU0YgVkZXR1hJWE5XUlZVVVdTWlFbAE1YUFhPWU9aUFtRW1JaUllRWFBYIFBZUFpRWlFZUFkATVhRW1BbT1pPWVBYUVhSWVJbUV1QXk5fIFBZUFpRWlFZUFkgUVtRXFBeAE1YU01STlJPU1BUUFVPVU5UTVNNIFNOU09UT1ROU04gUFhPWU9aUFtRW1JaUllRWFBYIFBZUFpRWlFZUFkATVhTTVJOUk9TUFRQVU9VTlRNU00gU05TT1RPVE5TTiBRW1BbT1pPWVBYUVhSWVJbUV1QXk5fIFBZUFpRWlFZUFkgUVtRXFBeAE1YVkZVRlRHUlQgVkdVR1JUIFZHVkhSVCBWRldHV0hSVCBQWE9ZT1pQW1FbUlpSWVFYUFggUFlQWlFaUVlQWQBIXU9LT0pQSlBMTkxOSk9IUEdTRldGWkdbSVtLWk1ZTldPU1BRUVFTU1RUVCBVRlpHIFlHWklaS1lNWE5WTyBXRlhHWUlZS1hNV05TUFJRUlNTVCBQWE9ZT1pQW1FbUlpSWVFYUFggUFlQWlFaUVlQWQBNWFdGVUdUSFNKU0xUTVVNVkxWS1VKVEogVUdUSVRKIFRLVExVTFVLVEsATVhWSVVJVEhUR1VGVkZXR1dJVktVTFNNIFVHVUhWSFZHVUcgVklWSlVMAEVfXE9cTltOW1BdUF1OXE1bTVlOV1BSWFBaTltLW0haR1hHVkhUSVNLUlBQUk9UTVVLVUlUR1JGUEdPSU9MUFJRVVJXVFpWW1hbWVlZWCBMW0haIElaSFhIVklUSlNMUiBQUFFTVFlWWiBLW0paSVhJVkpUS1NNUlJPIE9MUE9RUlNWVVlXWlhaWVkASF1UQkxfIFlCUV8gWktaSllKWUxbTFtKWkhZR1ZGUkZPR01JTUxOTlBQVlNXVVdYVlogTkxPTlZSV1QgT0dOSU5LT01VUFdSWFRYV1dZVlpTW09bTFpLWUpXSlVMVUxXS1dLVgBHXl9CRWJGYiBfQmBCRmIASlpaQlhDVUVSSFBLTk9NU01YTlxPX1FiIFNIUUtPT05UTlwgWkJXRFRHUkpRTFBPT1NOXCBOVE9dUGBRYgBKWlNCVUVWSFdMV1FWVVRZUlxPX0xhSmIgVkhWUFVVU1lRXCBTQlREVUdWUCBWSFVRVFVTWFJaUF1NYEpiAEpbVEZTR1VRVFIgVEZUUiBURlVHU1FUUiBPSVBJWE9ZTyBPSVlPIE9JT0pZTllPIFlJWElQT09PIFlJT08gWUlZSk9OT08ATVdVRlRHUk0gVUdSTSBVRlZHUk0ASFxQRk9HTU0gUEdNTSBQRlFHTU0gWkZZR1dNIFpHV00gWkZbR1dNAEtaU0ZRR1BJUEtRTVNOVU5XTVhLWElXR1VGU0YgU0ZQSVFNVU5YS1dHU0YgVUZRR1BLU05XTVhJVUYAR15TRktiTGIgU0ZURkxiIFlGUWJSYiBZRlpGUmIgS1BcUFxRIEtQS1FcUSBJV1pXWlggSVdJWFpYAEVeXkZcR1hIVUhRR09GTUZLR0pJSktMTU5NUExRSlFIT0YgXkZFWyBeRkZbIF5GR1sgWFRWVFRVU1dTWVVbV1tZWlpYWlZYVCBQR01GSklLTE5NUUpQRyBPRktHSksgTE1QTFFIIFlVVlRTV1RaV1taWFlVIFhUVFVTWSBVW1laWlYgRVtHWwBFYFVRVU5UTFJLUEtOTE1NTFBMU01VT1ZRVlNVVFRVUSBPTE5NTVBNU05VIFJLUExPTU5QTlNPVVBWIFZLVVFVU1ZVWFZaVlxVXVJdT1xMW0pZSFdHVEZRRk5HTEhKSklMSE9IUklVSldMWU5aUVtUW1daWVlYWVdaIFdLVlFWU1dVIFZLWEtXUVdTWFVaVgBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TdDNfXzI2dmVjdG9ySU5TXzE2RmVhdHVyZUV2YWx1YXRvcjlTY2FsZURhdGFFTlMyXzlhbGxvY2F0b3JJUzVfRUVFRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzhfRUVFRQB2aXJ0dWFsIGJvb2wgY3Y6OkZlYXR1cmVFdmFsdWF0b3I6OnNldEltYWdlKGN2OjpJbnB1dEFycmF5LCBjb25zdCBzdGQ6OnZlY3RvcjxmbG9hdD4gJikAL2hvbWUvZ3d5L29wZW5jdl9qcy9vcGVuY3YvbW9kdWxlcy9vYmpkZXRlY3Qvc3JjL2Nhc2NhZGVkZXRlY3QuY3BwAE4yY3YxNkZlYXR1cmVFdmFsdWF0b3JFAHZpcnR1YWwgdm9pZCBjdjo6SGFhckV2YWx1YXRvcjo6Y29tcHV0ZU9wdEZlYXR1cmVzKCkAc3FzdW0udSA9PSB1ICYmIHNxc3VtLnNpemUoKSA9PSBzLnN6aSAmJiBzcXN1bS50eXBlKCk9PTQAY29tcHV0ZUNoYW5uZWxzAHZpcnR1YWwgdm9pZCBjdjo6SGFhckV2YWx1YXRvcjo6Y29tcHV0ZUNoYW5uZWxzKGludCwgY3Y6OklucHV0QXJyYXkpADAgPD0gc2NhbGVJZHggJiYgc2NhbGVJZHggPCAoaW50KXNjYWxlRGF0YS0+c2l6ZSgpAGdldFNjYWxlRGF0YQAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL29iamRldGVjdC9zcmMvY2FzY2FkZWRldGVjdC5ocHAATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU18xM0hhYXJFdmFsdWF0b3JFTlNfMTREZWZhdWx0RGVsZXRlcklTMl9FRUVFAG4gPiAwAE4yY3Y2ZGV0YWlsMTJQdHJPd25lckltcGxJTlN0M19fMjZ2ZWN0b3JJTlNfMTNIYWFyRXZhbHVhdG9yMTBPcHRGZWF0dXJlRU5TMl85YWxsb2NhdG9ySVM1X0VFRUVOU18xNERlZmF1bHREZWxldGVySVM4X0VFRUUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU3QzX18yNnZlY3RvcklOU18xM0hhYXJFdmFsdWF0b3I3RmVhdHVyZUVOUzJfOWFsbG9jYXRvcklTNV9FRUVFTlNfMTREZWZhdWx0RGVsZXRlcklTOF9FRUVFAE4yY3YxM0hhYXJFdmFsdWF0b3JFAHNldFdpbmRvdwBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TXzEyTEJQRXZhbHVhdG9yRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzJfRUVFRQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TdDNfXzI2dmVjdG9ySU5TXzEyTEJQRXZhbHVhdG9yMTBPcHRGZWF0dXJlRU5TMl85YWxsb2NhdG9ySVM1X0VFRUVOU18xNERlZmF1bHREZWxldGVySVM4X0VFRUUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU3QzX18yNnZlY3RvcklOU18xMkxCUEV2YWx1YXRvcjdGZWF0dXJlRU5TMl85YWxsb2NhdG9ySVM1X0VFRUVOU18xNERlZmF1bHREZWxldGVySVM4X0VFRUUAcmVjdABOMmN2MTJMQlBFdmFsdWF0b3JFAHNjYWxlRmFjdG9yID4gMSAmJiBfaW1hZ2UuZGVwdGgoKSA9PSAwAGRldGVjdE11bHRpU2NhbGUAdm9pZCBjdjo6Z3JvdXBSZWN0YW5nbGVzKHN0ZDo6dmVjdG9yPFJlY3Q+ICYsIGludCwgZG91YmxlKQBub2Rlc1tyb290XVtQQVJFTlRdIDwgMABwYXJ0aXRpb24Adm9pZCBjdjo6Z3JvdXBSZWN0YW5nbGVzKHN0ZDo6dmVjdG9yPFJlY3Q+ICYsIGludCwgZG91YmxlLCBzdGQ6OnZlY3RvcjxpbnQ+ICosIHN0ZDo6dmVjdG9yPGRvdWJsZT4gKikAdm9pZCBjdjo6Z3JvdXBSZWN0YW5nbGVzKHN0ZDo6dmVjdG9yPFJlY3Q+ICYsIHN0ZDo6dmVjdG9yPGludD4gJiwgc3RkOjp2ZWN0b3I8ZG91YmxlPiAmLCBpbnQsIGRvdWJsZSkAaW50IGN2OjpwcmVkaWN0Q2F0ZWdvcmljYWwoY3Y6OkNhc2NhZGVDbGFzc2lmaWVySW1wbCAmLCBQdHI8Y3Y6OkZlYXR1cmVFdmFsdWF0b3I+ICYsIGRvdWJsZSAmKSBbRkV2YWwgPSBjdjo6TEJQRXZhbHVhdG9yXQBpbnQgY3Y6OnByZWRpY3RPcmRlcmVkKGN2OjpDYXNjYWRlQ2xhc3NpZmllckltcGwgJiwgUHRyPGN2OjpGZWF0dXJlRXZhbHVhdG9yPiAmLCBkb3VibGUgJikgW0ZFdmFsID0gY3Y6OkhhYXJFdmFsdWF0b3JdACFjYXNjYWRlLmRhdGEuc3R1bXBzLmVtcHR5KCkAcHJlZGljdENhdGVnb3JpY2FsU3R1bXAAaW50IGN2OjpwcmVkaWN0Q2F0ZWdvcmljYWxTdHVtcChjdjo6Q2FzY2FkZUNsYXNzaWZpZXJJbXBsICYsIFB0cjxjdjo6RmVhdHVyZUV2YWx1YXRvcj4gJiwgZG91YmxlICYpIFtGRXZhbCA9IGN2OjpMQlBFdmFsdWF0b3JdAHByZWRpY3RPcmRlcmVkU3R1bXAAaW50IGN2OjpwcmVkaWN0T3JkZXJlZFN0dW1wKGN2OjpDYXNjYWRlQ2xhc3NpZmllckltcGwgJiwgUHRyPGN2OjpGZWF0dXJlRXZhbHVhdG9yPiAmLCBkb3VibGUgJikgW0ZFdmFsID0gY3Y6OkhhYXJFdmFsdWF0b3JdAGludCBjdjo6Q2FzY2FkZUNsYXNzaWZpZXJJbXBsOjpydW5BdChQdHI8Y3Y6OkZlYXR1cmVFdmFsdWF0b3I+ICYsIGN2OjpQb2ludCwgaW50LCBkb3VibGUgJikAdmlydHVhbCB2b2lkIGN2OjpDYXNjYWRlQ2xhc3NpZmllckludm9rZXI6Om9wZXJhdG9yKCkoY29uc3QgY3Y6OlJhbmdlICYpIGNvbnN0AE4yY3YyNENhc2NhZGVDbGFzc2lmaWVySW52b2tlckUAdm9pZCBjdjo6Q2FzY2FkZUNsYXNzaWZpZXJJbXBsOjpkZXRlY3RNdWx0aVNjYWxlTm9Hcm91cGluZyhjdjo6SW5wdXRBcnJheSwgc3RkOjp2ZWN0b3I8UmVjdD4gJiwgc3RkOjp2ZWN0b3I8aW50PiAmLCBzdGQ6OnZlY3Rvcjxkb3VibGU+ICYsIGRvdWJsZSwgY3Y6OlNpemUsIGN2OjpTaXplLCBib29sKQAhX3NlcSB8fCBfc2VxLT5lbGVtX3NpemUgPT0gc2l6ZW9mKF9UcCkAU2VxAC9ob21lL2d3eS9vcGVuY3ZfanMvb3BlbmN2L21vZHVsZXMvY29yZS9pbmNsdWRlL29wZW5jdjIvY29yZS9jb3JlX2MuaAB2aXJ0dWFsIHZvaWQgY3Y6OkNhc2NhZGVDbGFzc2lmaWVySW1wbDo6ZGV0ZWN0TXVsdGlTY2FsZShjdjo6SW5wdXRBcnJheSwgc3RkOjp2ZWN0b3I8UmVjdD4gJiwgc3RkOjp2ZWN0b3I8aW50PiAmLCBzdGQ6OnZlY3Rvcjxkb3VibGU+ICYsIGRvdWJsZSwgaW50LCBpbnQsIGN2OjpTaXplLCBjdjo6U2l6ZSwgYm9vbCkAc2NhbGVGYWN0b3IgPiAxICYmIGltYWdlLmRlcHRoKCkgPT0gMAB2b2lkIGN2Ojpncm91cFJlY3RhbmdsZXMoc3RkOjp2ZWN0b3I8UmVjdD4gJiwgc3RkOjp2ZWN0b3I8aW50PiAmLCBpbnQsIGRvdWJsZSkAdmlydHVhbCB2b2lkIGN2OjpDYXNjYWRlQ2xhc3NpZmllckltcGw6OmRldGVjdE11bHRpU2NhbGUoY3Y6OklucHV0QXJyYXksIHN0ZDo6dmVjdG9yPFJlY3Q+ICYsIHN0ZDo6dmVjdG9yPGludD4gJiwgZG91YmxlLCBpbnQsIGludCwgY3Y6OlNpemUsIGN2OjpTaXplKQB2aXJ0dWFsIHZvaWQgY3Y6OkNhc2NhZGVDbGFzc2lmaWVySW1wbDo6ZGV0ZWN0TXVsdGlTY2FsZShjdjo6SW5wdXRBcnJheSwgc3RkOjp2ZWN0b3I8UmVjdD4gJiwgZG91YmxlLCBpbnQsIGludCwgY3Y6OlNpemUsIGN2OjpTaXplKQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSTIzQ3ZIYWFyQ2xhc3NpZmllckNhc2NhZGVOU18xNERlZmF1bHREZWxldGVySVMyX0VFRUUAZmVhdHVyZXMAc3RhZ2VUeXBlAEJPT1NUAGZlYXR1cmVUeXBlAEhBQVIATEJQAEhPRwBIT0cgY2FzY2FkZSBpcyBub3Qgc3VwcG9ydGVkIGluIDMuMAB3aWR0aABoZWlnaHQAb3JpZ1dpblNpemUuaGVpZ2h0ID4gMCAmJiBvcmlnV2luU2l6ZS53aWR0aCA+IDAAZmVhdHVyZVBhcmFtcwBtYXhDYXRDb3VudABzdGFnZVRocmVzaG9sZAB3ZWFrQ2xhc3NpZmllcnMAaW50ZXJuYWxOb2RlcwBsZWFmVmFsdWVzAE4yY3YyMUNhc2NhZGVDbGFzc2lmaWVySW1wbEUATjJjdjIxQmFzZUNhc2NhZGVDbGFzc2lmaWVyRQB2b2lkIGN2Ojpncm91cFJlY3RhbmdsZXNfbWVhbnNoaWZ0KHN0ZDo6dmVjdG9yPFJlY3Q+ICYsIHN0ZDo6dmVjdG9yPGRvdWJsZT4gJiwgc3RkOjp2ZWN0b3I8ZG91YmxlPiAmLCBkb3VibGUsIGN2OjpTaXplKQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TXzIxQ2FzY2FkZUNsYXNzaWZpZXJJbXBsRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzJfRUVFRQBhLT5zaXplKCkgPT0gbgBjbGlwT2JqZWN0cwBiLT5zaXplKCkgPT0gbgB2b2lkIGN2OjpDYXNjYWRlQ2xhc3NpZmllcjo6ZGV0ZWN0TXVsdGlTY2FsZShjdjo6SW5wdXRBcnJheSwgc3RkOjp2ZWN0b3I8UmVjdD4gJiwgZG91YmxlLCBpbnQsIGludCwgY3Y6OlNpemUsIGN2OjpTaXplKQB2b2lkIGN2OjpDYXNjYWRlQ2xhc3NpZmllcjo6ZGV0ZWN0TXVsdGlTY2FsZShjdjo6SW5wdXRBcnJheSwgc3RkOjp2ZWN0b3I8UmVjdD4gJiwgc3RkOjp2ZWN0b3I8aW50PiAmLCBkb3VibGUsIGludCwgaW50LCBjdjo6U2l6ZSwgY3Y6OlNpemUpAHZvaWQgY3Y6OkNhc2NhZGVDbGFzc2lmaWVyOjpkZXRlY3RNdWx0aVNjYWxlKGN2OjpJbnB1dEFycmF5LCBzdGQ6OnZlY3RvcjxSZWN0PiAmLCBzdGQ6OnZlY3RvcjxpbnQ+ICYsIHN0ZDo6dmVjdG9yPGRvdWJsZT4gJiwgZG91YmxlLCBpbnQsIGludCwgY3Y6OlNpemUsIGN2OjpTaXplLCBib29sKQBvcGVuY3YtaGFhci1jbGFzc2lmaWVyAE51bWJlciBvZiBzdGFnZXMgc2hvdWxkIGJlIHBvc2l0aXZlAGljdkNyZWF0ZUhhYXJDbGFzc2lmaWVyQ2FzY2FkZQAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL29iamRldGVjdC9zcmMvaGFhci5jcHAAc2l6ZQBzdGFnZXMAc3RhZ2UgJWQAdHJlZXMAdHJlZSAlZABub2RlICVkAHJvb3Qgbm9kZQBmZWF0dXJlAHJlY3RzAHRpbHRlZABsZWZ0X25vZGUAbGVmdF92YWwAcmlnaHRfbm9kZQByaWdodF92YWwAc3RhZ2VfdGhyZXNob2xkAHBhcmVudABuZXh0AEludmFsaWQgc3RhZ2VzIG5vZGUAaWN2UmVhZEhhYXJDbGFzc2lmaWVyAHNpemUgbm9kZSBpcyBub3QgYSB2YWxpZCBzZXF1ZW5jZS4ASW52YWxpZCBzaXplIG5vZGU6IHdpZHRoIG11c3QgYmUgcG9zaXRpdmUgaW50ZWdlcgBJbnZhbGlkIHNpemUgbm9kZTogaGVpZ2h0IG11c3QgYmUgcG9zaXRpdmUgaW50ZWdlcgBJbnZhbGlkIHN0YWdlICVkAFRyZWVzIG5vZGUgaXMgbm90IGEgdmFsaWQgc2VxdWVuY2UuIChzdGFnZSAlZCkAVHJlZSBub2RlIGlzIG5vdCBhIHZhbGlkIHNlcXVlbmNlLiAoc3RhZ2UgJWQsIHRyZWUgJWQpAFRyZWUgbm9kZSAlZCBpcyBub3QgYSB2YWxpZCBtYXAuIChzdGFnZSAlZCwgdHJlZSAlZCkARmVhdHVyZSBub2RlIGlzIG5vdCBhIHZhbGlkIG1hcC4gKHN0YWdlICVkLCB0cmVlICVkLCBub2RlICVkKQBSZWN0cyBub2RlIGlzIG5vdCBhIHZhbGlkIHNlcXVlbmNlLiAoc3RhZ2UgJWQsIHRyZWUgJWQsIG5vZGUgJWQpAFJlY3QgJWQgaXMgbm90IGEgdmFsaWQgc2VxdWVuY2UuIChzdGFnZSAlZCwgdHJlZSAlZCwgbm9kZSAlZCkAeCBjb29yZGluYXRlIG11c3QgYmUgbm9uLW5lZ2F0aXZlIGludGVnZXIuIChzdGFnZSAlZCwgdHJlZSAlZCwgbm9kZSAlZCwgcmVjdCAlZCkAeSBjb29yZGluYXRlIG11c3QgYmUgbm9uLW5lZ2F0aXZlIGludGVnZXIuIChzdGFnZSAlZCwgdHJlZSAlZCwgbm9kZSAlZCwgcmVjdCAlZCkAd2lkdGggbXVzdCBiZSBwb3NpdGl2ZSBpbnRlZ2VyIGFuZCAoeCArIHdpZHRoKSBtdXN0IG5vdCBleGNlZWQgd2luZG93IHdpZHRoLiAoc3RhZ2UgJWQsIHRyZWUgJWQsIG5vZGUgJWQsIHJlY3QgJWQpAGhlaWdodCBtdXN0IGJlIHBvc2l0aXZlIGludGVnZXIgYW5kICh5ICsgaGVpZ2h0KSBtdXN0IG5vdCBleGNlZWQgd2luZG93IGhlaWdodC4gKHN0YWdlICVkLCB0cmVlICVkLCBub2RlICVkLCByZWN0ICVkKQB3ZWlnaHQgbXVzdCBiZSByZWFsIG51bWJlci4gKHN0YWdlICVkLCB0cmVlICVkLCBub2RlICVkLCByZWN0ICVkKQB0aWx0ZWQgbXVzdCBiZSAwIG9yIDEuIChzdGFnZSAlZCwgdHJlZSAlZCwgbm9kZSAlZCkAdGhyZXNob2xkIG11c3QgYmUgcmVhbCBudW1iZXIuIChzdGFnZSAlZCwgdHJlZSAlZCwgbm9kZSAlZCkAbGVmdCBub2RlIG11c3QgYmUgdmFsaWQgbm9kZSBudW1iZXIuIChzdGFnZSAlZCwgdHJlZSAlZCwgbm9kZSAlZCkAbGVmdCBub2RlIG9yIGxlZnQgdmFsdWUgbXVzdCBiZSBzcGVjaWZpZWQuIChzdGFnZSAlZCwgdHJlZSAlZCwgbm9kZSAlZCkAbGVmdCB2YWx1ZSBtdXN0IGJlIHJlYWwgbnVtYmVyLiAoc3RhZ2UgJWQsIHRyZWUgJWQsIG5vZGUgJWQpAFRyZWUgc3RydWN0dXJlIGlzIGJyb2tlbjogdG9vIG1hbnkgdmFsdWVzLiAoc3RhZ2UgJWQsIHRyZWUgJWQsIG5vZGUgJWQpAHJpZ2h0IG5vZGUgbXVzdCBiZSB2YWxpZCBub2RlIG51bWJlci4gKHN0YWdlICVkLCB0cmVlICVkLCBub2RlICVkKQByaWdodCBub2RlIG9yIHJpZ2h0IHZhbHVlIG11c3QgYmUgc3BlY2lmaWVkLiAoc3RhZ2UgJWQsIHRyZWUgJWQsIG5vZGUgJWQpAHJpZ2h0IHZhbHVlIG11c3QgYmUgcmVhbCBudW1iZXIuIChzdGFnZSAlZCwgdHJlZSAlZCwgbm9kZSAlZCkAVHJlZSBzdHJ1Y3R1cmUgaXMgYnJva2VuOiB0b28gZmV3IHZhbHVlcy4gKHN0YWdlICVkLCB0cmVlICVkKQBzdGFnZSB0aHJlc2hvbGQgbXVzdCBiZSByZWFsIG51bWJlci4gKHN0YWdlICVkKQBwYXJlbnQgbXVzdCBiZSBpbnRlZ2VyIG51bWJlci4gKHN0YWdlICVkKQBuZXh0IG11c3QgYmUgaW50ZWdlciBudW1iZXIuIChzdGFnZSAlZCkASW52YWxpZCBjbGFzc2lmaWVyIHBvaW50ZXIAY3ZTZXRJbWFnZXNGb3JIYWFyQ2xhc3NpZmllckNhc2NhZGUAU2NhbGUgbXVzdCBiZSBwb3NpdGl2ZQBDT0kgaXMgbm90IHN1cHBvcnRlZABBbGwgaW50ZWdyYWwgaW1hZ2VzIG11c3QgaGF2ZSB0aGUgc2FtZSBzaXplAE9ubHkgKDMycywgNjRmLCAzMnMpIGNvbWJpbmF0aW9uIG9mIChzdW0sc3FzdW0sdGlsdGVkX3N1bSkgZm9ybWF0cyBpcyBhbGxvd2VkAFN1bSBhbmQgdGlsdGVkX3N1bSBtdXN0IGhhdmUgdGhlIHNhbWUgc3RyaWRlIChzdGVwLCB3aWR0aFN0ZXApAGljdkNyZWF0ZUhpZEhhYXJDbGFzc2lmaWVyQ2FzY2FkZQBoaWRfY2FzY2FkZSBoYXMgYmVlbiBhbHJlYWR5IGNyZWF0ZWQATmVnYXRpdmUgbnVtYmVyIG9mIGNhc2NhZGUgc3RhZ2VzAGhlYWRlciBvZiB0aGUgc3RhZ2UgY2xhc3NpZmllciAjJWQgaXMgaW52YWxpZCAoaGFzIG51bGwgcG9pbnRlcnMgb3Igbm9uLXBvc2l0aXZlIGNsYXNzZmllciBjb3VudCkAcmVjdGFuZ2xlICMlZCBvZiB0aGUgY2xhc3NpZmllciAjJWQgb2YgdGhlIHN0YWdlIGNsYXNzaWZpZXIgIyVkIGlzIG5vdCBpbnNpZGUgdGhlIHJlZmVyZW5jZSAob3JpZ2luYWwpIGNhc2NhZGUgd2luZG93AEludmFsaWQgY2FzY2FkZSBwb2ludGVyAGN2UnVuSGFhckNsYXNzaWZpZXJDYXNjYWRlU3VtAEhpZGRlbiBjYXNjYWRlIGhhcyBub3QgYmVlbiBjcmVhdGVkLgpVc2UgY3ZTZXRJbWFnZXNGb3JIYWFyQ2xhc3NpZmllckNhc2NhZGUAaW50IGN2UnVuSGFhckNsYXNzaWZpZXJDYXNjYWRlKGNvbnN0IEN2SGFhckNsYXNzaWZpZXJDYXNjYWRlICosIEN2UG9pbnQsIGludCkASW52YWxpZCBjbGFzc2lmaWVyIGNhc2NhZGUAY3ZIYWFyRGV0ZWN0T2JqZWN0c0ZvclJPQwBOdWxsIHN0b3JhZ2UgcG9pbnRlcgBPbmx5IDgtYml0IGltYWdlcyBhcmUgc3VwcG9ydGVkAHNjYWxlIGZhY3RvciBtdXN0IGJlID4gMQB2aXJ0dWFsIHZvaWQgY3Y6OkhhYXJEZXRlY3RPYmplY3RzX1NjYWxlQ2FzY2FkZV9JbnZva2VyOjpvcGVyYXRvcigpKGNvbnN0IGN2OjpSYW5nZSAmKSBjb25zdABOMmN2MzhIYWFyRGV0ZWN0T2JqZWN0c19TY2FsZUNhc2NhZGVfSW52b2tlckUAdmlydHVhbCB2b2lkIGN2OjpIYWFyRGV0ZWN0T2JqZWN0c19TY2FsZUltYWdlX0ludm9rZXI6Om9wZXJhdG9yKCkoY29uc3QgY3Y6OlJhbmdlICYpIGNvbnN0AE4yY3YzNkhhYXJEZXRlY3RPYmplY3RzX1NjYWxlSW1hZ2VfSW52b2tlckUAQ3ZTZXEgKmN2SGFhckRldGVjdE9iamVjdHNGb3JST0MoY29uc3QgQ3ZBcnIgKiwgQ3ZIYWFyQ2xhc3NpZmllckNhc2NhZGUgKiwgQ3ZNZW1TdG9yYWdlICosIHN0ZDo6dmVjdG9yPGludD4gJiwgc3RkOjp2ZWN0b3I8ZG91YmxlPiAmLCBkb3VibGUsIGludCwgaW50LCBDdlNpemUsIEN2U2l6ZSwgYm9vbCkATjJjdjhIT0dDYWNoZUUAdmlydHVhbCB2b2lkIGN2OjpIT0dDb25mSW52b2tlcjo6b3BlcmF0b3IoKShjb25zdCBjdjo6UmFuZ2UgJikgY29uc3QAL2hvbWUvZ3d5L29wZW5jdl9qcy9vcGVuY3YvbW9kdWxlcy9vYmpkZXRlY3Qvc3JjL2hvZy5jcHAATjJjdjE0SE9HQ29uZkludm9rZXJFAHZpcnR1YWwgdm9pZCBjdjo6SE9HRGVzY3JpcHRvcjo6ZGV0ZWN0TXVsdGlTY2FsZVJPSShjb25zdCBjdjo6TWF0ICYsIHN0ZDo6dmVjdG9yPGN2OjpSZWN0PiAmLCBzdGQ6OnZlY3RvcjxEZXRlY3Rpb25ST0k+ICYsIGRvdWJsZSwgaW50KSBjb25zdABwdC54ICUgY2FjaGVTdHJpZGUud2lkdGggPT0gMCAmJiBwdC55ICUgY2FjaGVTdHJpZGUuaGVpZ2h0ID09IDAAZ2V0QmxvY2sAYmxvY2tTaXplLndpZHRoICUgY2VsbFNpemUud2lkdGggPT0gMCAmJiBibG9ja1NpemUuaGVpZ2h0ICUgY2VsbFNpemUuaGVpZ2h0ID09IDAAZ2V0RGVzY3JpcHRvclNpemUAKHdpblNpemUud2lkdGggLSBibG9ja1NpemUud2lkdGgpICUgYmxvY2tTdHJpZGUud2lkdGggPT0gMCAmJiAod2luU2l6ZS5oZWlnaHQgLSBibG9ja1NpemUuaGVpZ2h0KSAlIGJsb2NrU3RyaWRlLmhlaWdodCA9PSAwAHZpcnR1YWwgdm9pZCBjdjo6SE9HRGVzY3JpcHRvcjo6ZGV0ZWN0Uk9JKGNvbnN0IGN2OjpNYXQgJiwgY29uc3Qgc3RkOjp2ZWN0b3I8Y3Y6OlBvaW50PiAmLCBzdGQ6OnZlY3Rvcjxjdjo6UG9pbnQ+ICYsIHN0ZDo6dmVjdG9yPGRvdWJsZT4gJiwgZG91YmxlLCBjdjo6U2l6ZSwgY3Y6OlNpemUpIGNvbnN0AGltZy50eXBlKCkgPT0gMCB8fCBpbWcudHlwZSgpID09ICgoKDApICYgKCgxIDw8IDMpIC0gMSkpICsgKCgoMyktMSkgPDwgMykpAGNvbXB1dGVHcmFkaWVudAAodW5zaWduZWQpaGlkeCA8ICh1bnNpZ25lZCluYmlucwB2aXJ0dWFsIHZvaWQgY3Y6OkhPR0Rlc2NyaXB0b3I6OmNvbXB1dGVHcmFkaWVudChjb25zdCBjdjo6TWF0ICYsIGN2OjpNYXQgJiwgY3Y6Ok1hdCAmLCBjdjo6U2l6ZSwgY3Y6OlNpemUpIGNvbnN0AHZpcnR1YWwgdm9pZCBjdjo6SE9HRGVzY3JpcHRvcjo6ZGV0ZWN0TXVsdGlTY2FsZShjdjo6SW5wdXRBcnJheSwgc3RkOjp2ZWN0b3I8UmVjdD4gJiwgZG91YmxlLCBjdjo6U2l6ZSwgY3Y6OlNpemUsIGRvdWJsZSwgZG91YmxlLCBib29sKSBjb25zdAByZWN0TGlzdC5zaXplKCkgPT0gd2VpZ2h0cy5zaXplKCkAZ3JvdXBSZWN0YW5nbGVzAHZvaWQgY3Y6OkhPR0Rlc2NyaXB0b3I6Omdyb3VwUmVjdGFuZ2xlcyhzdGQ6OnZlY3Rvcjxjdjo6UmVjdD4gJiwgc3RkOjp2ZWN0b3I8ZG91YmxlPiAmLCBpbnQsIGRvdWJsZSkgY29uc3QATjJjdjEwSE9HSW52b2tlckUAdmlydHVhbCB2b2lkIGN2OjpIT0dEZXNjcmlwdG9yOjpkZXRlY3RNdWx0aVNjYWxlKGN2OjpJbnB1dEFycmF5LCBzdGQ6OnZlY3RvcjxSZWN0PiAmLCBzdGQ6OnZlY3Rvcjxkb3VibGU+ICYsIGRvdWJsZSwgY3Y6OlNpemUsIGN2OjpTaXplLCBkb3VibGUsIGRvdWJsZSwgYm9vbCkgY29uc3QAdmlydHVhbCB2b2lkIGN2OjpIT0dEZXNjcmlwdG9yOjpkZXRlY3QoY29uc3QgY3Y6Ok1hdCAmLCBzdGQ6OnZlY3RvcjxQb2ludD4gJiwgZG91YmxlLCBjdjo6U2l6ZSwgY3Y6OlNpemUsIGNvbnN0IHN0ZDo6dmVjdG9yPFBvaW50PiAmKSBjb25zdABwdDAueCAlIGNhY2hlU3RyaWRlLndpZHRoID09IDAgJiYgcHQwLnkgJSBjYWNoZVN0cmlkZS5oZWlnaHQgPT0gMABkZXRlY3QAdmlydHVhbCB2b2lkIGN2OjpIT0dEZXNjcmlwdG9yOjpkZXRlY3QoY29uc3QgY3Y6Ok1hdCAmLCBzdGQ6OnZlY3RvcjxQb2ludD4gJiwgc3RkOjp2ZWN0b3I8ZG91YmxlPiAmLCBkb3VibGUsIGN2OjpTaXplLCBjdjo6U2l6ZSwgY29uc3Qgc3RkOjp2ZWN0b3I8UG9pbnQ+ICYpIGNvbnN0AHZpcnR1YWwgdm9pZCBjdjo6SE9HRGVzY3JpcHRvcjo6Y29tcHV0ZShjdjo6SW5wdXRBcnJheSwgc3RkOjp2ZWN0b3I8ZmxvYXQ+ICYsIGN2OjpTaXplLCBjdjo6U2l6ZSwgY29uc3Qgc3RkOjp2ZWN0b3I8UG9pbnQ+ICYpIGNvbnN0AHtvcGVuY3Ytb2JqZWN0LWRldGVjdG9yLWhvZwB3aW5TaXplAGJsb2NrU2l6ZQBibG9ja1N0cmlkZQBuYmlucwBkZXJpdkFwZXJ0dXJlAGhpc3RvZ3JhbU5vcm1UeXBlAEwySHlzVGhyZXNob2xkAGdhbW1hQ29ycmVjdGlvbgBubGV2ZWxzAHNpZ25lZEdyYWRpZW50AFNWTURldGVjdG9yAGNlbGxTaXplAHdpblNpZ21hAGNoZWNrRGV0ZWN0b3JTaXplKCkAc2V0U1ZNRGV0ZWN0b3IATjJjdjEzSE9HRGVzY3JpcHRvckUAb3BlbmN2LW9iamVjdC1kZXRlY3Rvci1ob2cAY24gPT0gMQBtZWFuU2hpZnQAL2hvbWUvZ3d5L29wZW5jdl9qcy9vcGVuY3YvbW9kdWxlcy92aWRlby9zcmMvY2Ftc2hpZnQuY3BwAElucHV0IHdpbmRvdyBoYXMgbm9uLXBvc2l0aXZlIHNpemVzAGludCBjdjo6bWVhblNoaWZ0KGN2OjpJbnB1dEFycmF5LCBjdjo6UmVjdCAmLCBjdjo6VGVybUNyaXRlcmlhKQBjdjo6Um90YXRlZFJlY3QgY3Y6OkNhbVNoaWZ0KGN2OjpJbnB1dEFycmF5LCBjdjo6UmVjdCAmLCBjdjo6VGVybUNyaXRlcmlhKQBzdGF0dXMgIT0gMEwAL2hvbWUvZ3d5L29wZW5jdl9qcy9vcGVuY3YvbW9kdWxlcy92aWRlby9zcmMvbGtweXJhbWlkLmNwcAB2aXJ0dWFsIHZvaWQgY3Y6OmRldGFpbDo6TEtUcmFja2VySW52b2tlcjo6b3BlcmF0b3IoKShjb25zdCBjdjo6UmFuZ2UgJikgY29uc3QATjJjdjZkZXRhaWwxNkxLVHJhY2tlckludm9rZXJFAGltZy5kZXB0aCgpID09IDAgJiYgd2luU2l6ZS53aWR0aCA+IDIgJiYgd2luU2l6ZS5oZWlnaHQgPiAyAGJ1aWxkT3B0aWNhbEZsb3dQeXJhbWlkAGRlcHRoID09IDAAY2FsY1NoYXJyRGVyaXYAaW50IGN2OjpidWlsZE9wdGljYWxGbG93UHlyYW1pZChjdjo6SW5wdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5T2ZBcnJheXMsIGN2OjpTaXplLCBpbnQsIGJvb2wsIGludCwgaW50LCBib29sKQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TXzEyX0dMT0JBTF9fTl8xMjZTcGFyc2VQeXJMS09wdGljYWxGbG93SW1wbEVOU18xNERlZmF1bHREZWxldGVySVMzX0VFRUUAbWF4TGV2ZWwgPj0gMCAmJiB3aW5TaXplLndpZHRoID4gMiAmJiB3aW5TaXplLmhlaWdodCA+IDIAKG5wb2ludHMgPSBwcmV2UHRzTWF0LmNoZWNrVmVjdG9yKDIsIDUsIHRydWUpKSA+PSAwAG5leHRQdHNNYXQuY2hlY2tWZWN0b3IoMiwgNSwgdHJ1ZSkgPT0gbnBvaW50cwBzdGF0dXNNYXQuaXNDb250aW51b3VzKCkAZXJyTWF0LmlzQ29udGludW91cygpAGxldmVsczEgPj0gMABvZnMueCA+PSB3aW5TaXplLndpZHRoICYmIG9mcy55ID49IHdpblNpemUuaGVpZ2h0ICYmIG9mcy54ICsgcHJldlB5cltsdmxTdGVwMV0uY29scyArIHdpblNpemUud2lkdGggPD0gZnVsbFNpemUud2lkdGggJiYgb2ZzLnkgKyBwcmV2UHlyW2x2bFN0ZXAxXS5yb3dzICsgd2luU2l6ZS5oZWlnaHQgPD0gZnVsbFNpemUuaGVpZ2h0AGxldmVsczIgPj0gMABvZnMueCA+PSB3aW5TaXplLndpZHRoICYmIG9mcy55ID49IHdpblNpemUuaGVpZ2h0ICYmIG9mcy54ICsgbmV4dFB5cltsdmxTdGVwMl0uY29scyArIHdpblNpemUud2lkdGggPD0gZnVsbFNpemUud2lkdGggJiYgb2ZzLnkgKyBuZXh0UHlyW2x2bFN0ZXAyXS5yb3dzICsgd2luU2l6ZS5oZWlnaHQgPD0gZnVsbFNpemUuaGVpZ2h0AHByZXZQeXJbbGV2ZWwgKiBsdmxTdGVwMV0uc2l6ZSgpID09IG5leHRQeXJbbGV2ZWwgKiBsdmxTdGVwMl0uc2l6ZSgpAHByZXZQeXJbbGV2ZWwgKiBsdmxTdGVwMV0udHlwZSgpID09IG5leHRQeXJbbGV2ZWwgKiBsdmxTdGVwMl0udHlwZSgpAHZpcnR1YWwgdm9pZCBjdjo6KGFub255bW91cyBuYW1lc3BhY2UpOjpTcGFyc2VQeXJMS09wdGljYWxGbG93SW1wbDo6Y2FsYyhjdjo6SW5wdXRBcnJheSwgY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBjdjo6SW5wdXRPdXRwdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXkpAE4yY3YxMl9HTE9CQUxfX05fMTI2U3BhcnNlUHlyTEtPcHRpY2FsRmxvd0ltcGxFAE4yY3YyMlNwYXJzZVB5ckxLT3B0aWNhbEZsb3dFAE4yY3YxN1NwYXJzZU9wdGljYWxGbG93RQBCb3RoIGlucHV0IGltYWdlcyBtdXN0IGhhdmUgdGhlIHNhbWUgc2l6ZQBlc3RpbWF0ZVJpZ2lkVHJhbnNmb3JtAGNuID09IDEgfHwgY24gPT0gMyB8fCBjbiA9PSA0AEJvdGggaW5wdXQgaW1hZ2VzIG11c3QgaGF2ZSBlaXRoZXIgOHVDMSBvciA4dUMzIHR5cGUATS5pc0NvbnRpbnVvdXMoKQBnZXRSVE1hdHJpeABjdjo6TWF0IGN2Ojplc3RpbWF0ZVJpZ2lkVHJhbnNmb3JtKGN2OjpJbnB1dEFycmF5LCBjdjo6SW5wdXRBcnJheSwgYm9vbCkAZnJhbWVUeXBlID09ICgoKDApICYgKCgxIDw8IDMpIC0gMSkpICsgKCgoMSktMSkgPDwgMykpIHx8IGZyYW1lVHlwZSA9PSAoKCgwKSAmICgoMSA8PCAzKSAtIDEpKSArICgoKDMpLTEpIDw8IDMpKSB8fCBmcmFtZVR5cGUgPT0gKCgoNSkgJiAoKDEgPDwgMykgLSAxKSkgKyAoKCgxKS0xKSA8PCAzKSkgfHwgZnJhbWVUeXBlID09ICgoKDUpICYgKCgxIDw8IDMpIC0gMSkpICsgKCgoMyktMSkgPDwgMykpAGdldEJhY2tncm91bmRJbWFnZQAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL3ZpZGVvL3NyYy9iZ2ZnX2dhdXNzbWl4Mi5jcHAAdm9pZCBjdjo6QmFja2dyb3VuZFN1YnRyYWN0b3JNT0cySW1wbDo6Z2V0QmFja2dyb3VuZEltYWdlX2ludGVybihjdjo6T3V0cHV0QXJyYXkpIGNvbnN0IFtUID0gZmxvYXQsIENOID0gM10Adm9pZCBjdjo6QmFja2dyb3VuZFN1YnRyYWN0b3JNT0cySW1wbDo6Z2V0QmFja2dyb3VuZEltYWdlX2ludGVybihjdjo6T3V0cHV0QXJyYXkpIGNvbnN0IFtUID0gZmxvYXQsIENOID0gMV0Adm9pZCBjdjo6QmFja2dyb3VuZFN1YnRyYWN0b3JNT0cySW1wbDo6Z2V0QmFja2dyb3VuZEltYWdlX2ludGVybihjdjo6T3V0cHV0QXJyYXkpIGNvbnN0IFtUID0gdW5zaWduZWQgY2hhciwgQ04gPSAzXQB2b2lkIGN2OjpCYWNrZ3JvdW5kU3VidHJhY3Rvck1PRzJJbXBsOjpnZXRCYWNrZ3JvdW5kSW1hZ2VfaW50ZXJuKGN2OjpPdXRwdXRBcnJheSkgY29uc3QgW1QgPSB1bnNpZ25lZCBjaGFyLCBDTiA9IDFdAGxlYXJuaW5nUmF0ZSA+PSAwAGFwcGx5AE4yY3YxMU1PRzJJbnZva2VyRQBuY2hhbm5lbHMgPD0gNTEyAGluaXRpYWxpemUAbm1peHR1cmVzIDw9IDI1NQB2aXJ0dWFsIHZvaWQgY3Y6OkJhY2tncm91bmRTdWJ0cmFjdG9yTU9HMkltcGw6OmFwcGx5KGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGRvdWJsZSkAbmFtZQAoU3RyaW5nKWZuWyJuYW1lIl0gPT0gbmFtZV8AcmVhZABoaXN0b3J5AG5taXh0dXJlcwBiYWNrZ3JvdW5kUmF0aW8AdmFyVGhyZXNob2xkAHZhclRocmVzaG9sZEdlbgB2YXJJbml0AHZhck1pbgB2YXJNYXgAY29tcGxleGl0eVJlZHVjdGlvblRocmVzaG9sZABkZXRlY3RTaGFkb3dzAHNoYWRvd1ZhbHVlAHNoYWRvd1RocmVzaG9sZABObyBlbGVtZW50IG5hbWUgaGFzIGJlZW4gZ2l2ZW4AL2hvbWUvZ3d5L29wZW5jdl9qcy9vcGVuY3YvbW9kdWxlcy9jb3JlL2luY2x1ZGUvb3BlbmN2Mi9jb3JlL3BlcnNpc3RlbmNlLmhwcABOMmN2MjhCYWNrZ3JvdW5kU3VidHJhY3Rvck1PRzJJbXBsRQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TXzI4QmFja2dyb3VuZFN1YnRyYWN0b3JNT0cySW1wbEVOU18xNERlZmF1bHREZWxldGVySVMyX0VFRUUAQmFja2dyb3VuZFN1YnRyYWN0b3IuTU9HMgAhc3JjLmVtcHR5KCkAZmluZFRyYW5zZm9ybUVDQwAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL3ZpZGVvL3NyYy9lY2MuY3BwACFkc3QuZW1wdHkoKQBCb3RoIGlucHV0IGltYWdlcyBtdXN0IGhhdmUgdGhlIHNhbWUgZGF0YSB0eXBlAEltYWdlcyBtdXN0IGhhdmUgOHVDMSBvciAzMmZDMSB0eXBlAHdhcnBNYXRyaXggbXVzdCBiZSBzaW5nbGUtY2hhbm5lbCBmbG9hdGluZy1wb2ludCBtYXRyaXgAbWFwLmNvbHMgPT0gMwBtYXAucm93cyA9PSAyIHx8IG1hcC5yb3dzID09MwBtb3Rpb25UeXBlID09IE1PVElPTl9BRkZJTkUgfHwgbW90aW9uVHlwZSA9PSBNT1RJT05fSE9NT0dSQVBIWSB8fCBtb3Rpb25UeXBlID09IE1PVElPTl9FVUNMSURFQU4gfHwgbW90aW9uVHlwZSA9PSBNT1RJT05fVFJBTlNMQVRJT04AbWFwLnJvd3MgPT0zAGNyaXRlcmlhLnR5cGUgJiBUZXJtQ3JpdGVyaWE6OkNPVU5UIHx8IGNyaXRlcmlhLnR5cGUgJiBUZXJtQ3JpdGVyaWE6OkVQUwBzcmMxLnNpemUoKSA9PSBzcmMyLnNpemUoKQBpbWFnZV9qYWNvYmlhbl9hZmZpbmVfRUNDAHNyYzEuc2l6ZSgpID09IHNyYzMuc2l6ZSgpAHNyYzEuc2l6ZSgpID09IHNyYzQuc2l6ZSgpAHNyYzEucm93cyA9PSBkc3Qucm93cwBkc3QuY29scyA9PSAoNipzcmMxLmNvbHMpAGRzdC50eXBlKCkgPT0gKCgoNSkgJiAoKDEgPDwgMykgLSAxKSkgKyAoKCgxKS0xKSA8PCAzKSkAaW1hZ2VfamFjb2JpYW5faG9tb19FQ0MAZHN0LmNvbHMgPT0gKHNyYzEuY29scyo4KQBzcmM1LmlzQ29udGludW91cygpAHNyYzEuc2l6ZSgpPT1zcmMyLnNpemUoKQBpbWFnZV9qYWNvYmlhbl90cmFuc2xhdGlvbl9FQ0MAZHN0LmNvbHMgPT0gKHNyYzEuY29scyoyKQBpbWFnZV9qYWNvYmlhbl9ldWNsaWRlYW5fRUNDAHNyYzEuc2l6ZSgpPT1zcmMzLnNpemUoKQBzcmMxLnNpemUoKT09c3JjNC5zaXplKCkAZHN0LmNvbHMgPT0gKHNyYzEuY29scyozKQBOYU4gZW5jb3VudGVyZWQuAFRoZSBhbGdvcml0aG0gc3RvcHBlZCBiZWZvcmUgaXRzIGNvbnZlcmdlbmNlLiBUaGUgY29ycmVsYXRpb24gaXMgZ29pbmcgdG8gYmUgbWluaW1pemVkLiBJbWFnZXMgbWF5IGJlIHVuY29ycmVsYXRlZCBvciBub24tb3ZlcmxhcHBlZABtYXBfbWF0cml4LnR5cGUoKSA9PSAoKCg1KSAmICgoMSA8PCAzKSAtIDEpKSArICgoKDEpLTEpIDw8IDMpKQB1cGRhdGVfd2FycGluZ19tYXRyaXhfRUNDAHVwZGF0ZS50eXBlKCkgPT0gKCgoNSkgJiAoKDEgPDwgMykgLSAxKSkgKyAoKCgxKS0xKSA8PCAzKSkAbW90aW9uVHlwZSA9PSBNT1RJT05fVFJBTlNMQVRJT04gfHwgbW90aW9uVHlwZSA9PSBNT1RJT05fRVVDTElERUFOIHx8IG1vdGlvblR5cGUgPT0gTU9USU9OX0FGRklORSB8fCBtb3Rpb25UeXBlID09IE1PVElPTl9IT01PR1JBUEhZAG1hcF9tYXRyaXgucm93cyA9PSAzICYmIHVwZGF0ZS5yb3dzID09IDgAbWFwX21hdHJpeC5yb3dzID09IDIgJiYgdXBkYXRlLnJvd3MgPT0gNgBtYXBfbWF0cml4LnJvd3MgPT0gMiAmJiB1cGRhdGUucm93cyA9PSAzAG1hcF9tYXRyaXgucm93cyA9PSAyICYmIHVwZGF0ZS5yb3dzID09IDIAdXBkYXRlLmNvbHMgPT0gMQBtYXBfbWF0cml4LmlzQ29udGludW91cygpAHVwZGF0ZS5pc0NvbnRpbnVvdXMoKQBzcmMxLnJvd3MgPT0gc3JjMi5yb3dzAHByb2plY3Rfb250b19qYWNvYmlhbl9FQ0MAKHNyYzEuY29scyAlIHNyYzIuY29scykgPT0gMABkc3QuY29scyA9PSBkc3Qucm93cwBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TXzEyX0dMT0JBTF9fTl8xMjRGYXJuZWJhY2tPcHRpY2FsRmxvd0ltcGxFTlNfMTREZWZhdWx0RGVsZXRlcklTM19FRUVFAHByZXYwLnNpemUoKSA9PSBuZXh0MC5zaXplKCkgJiYgcHJldjAuY2hhbm5lbHMoKSA9PSBuZXh0MC5jaGFubmVscygpICYmIHByZXYwLmNoYW5uZWxzKCkgPT0gMSAmJiBweXJTY2FsZV8gPCAxAGNhbGMAL2hvbWUvZ3d5L29wZW5jdl9qcy9vcGVuY3YvbW9kdWxlcy92aWRlby9zcmMvb3B0Zmxvd2dmLmNwcABzcmMudHlwZSgpID09ICgoKDUpICYgKCgxIDw8IDMpIC0gMSkpICsgKCgoMSktMSkgPDwgMykpAEZhcm5lYmFja1BvbHlFeHAAdmlydHVhbCB2b2lkIGN2OjooYW5vbnltb3VzIG5hbWVzcGFjZSk6OkZhcm5lYmFja09wdGljYWxGbG93SW1wbDo6Y2FsYyhjdjo6SW5wdXRBcnJheSwgY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dE91dHB1dEFycmF5KQBOMmN2MTJfR0xPQkFMX19OXzEyNEZhcm5lYmFja09wdGljYWxGbG93SW1wbEUATjJjdjIwRmFybmViYWNrT3B0aWNhbEZsb3dFAE4yY3YxNkRlbnNlT3B0aWNhbEZsb3dFAHZvaWQgY3Y6OmNhbGNPcHRpY2FsRmxvd0Zhcm5lYmFjayhjdjo6SW5wdXRBcnJheSwgY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dE91dHB1dEFycmF5LCBkb3VibGUsIGludCwgaW50LCBpbnQsIGludCwgZG91YmxlLCBpbnQpAC9ob21lL2d3eS9vcGVuY3ZfanMvb3BlbmN2L21vZHVsZXMvY2FsaWIzZC9zcmMvZmlzaGV5ZS5jcHAAZGF0YSAmJiBkaW1zIDw9IDIgJiYgcm93cyA9PSBtICYmIGNvbHMgPT0gbiAmJiBjaGFubmVscygpID09IDEAb3BlcmF0b3IgTWF0eABQLmVtcHR5KCkgfHwgUC5zaXplKCkgPT0gU2l6ZSgzLCAzKSB8fCBQLnNpemUoKSA9PSBTaXplKDQsIDMpAFIuZW1wdHkoKSB8fCBSLnNpemUoKSA9PSBTaXplKDMsIDMpIHx8IFIudG90YWwoKSAqIFIuY2hhbm5lbHMoKSA9PSAzAG0xdHlwZSA9PSAoKCgzKSAmICgoMSA8PCAzKSAtIDEpKSArICgoKDIpLTEpIDw8IDMpKSB8fCBtMXR5cGUgPT0gNSB8fCBtMXR5cGUgPD0wAGluaXRVbmRpc3RvcnRSZWN0aWZ5TWFwAChLLmRlcHRoKCkgPT0gNSB8fCBLLmRlcHRoKCkgPT0gNikgJiYgKEQuZGVwdGgoKSA9PSA1IHx8IEQuZGVwdGgoKSA9PSA2KQAoUC5lbXB0eSgpIHx8IFAuZGVwdGgoKSA9PSA1IHx8IFAuZGVwdGgoKSA9PSA2KSAmJiAoUi5lbXB0eSgpIHx8IFIuZGVwdGgoKSA9PSA1IHx8IFIuZGVwdGgoKSA9PSA2KQBLLnNpemUoKSA9PSBTaXplKDMsIDMpICYmIChELmVtcHR5KCkgfHwgRC50b3RhbCgpID09IDQpAHZvaWQgY3Y6OmZpc2hleWU6OmluaXRVbmRpc3RvcnRSZWN0aWZ5TWFwKGN2OjpJbnB1dEFycmF5LCBjdjo6SW5wdXRBcnJheSwgY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBjb25zdCBjdjo6U2l6ZSAmLCBpbnQsIGN2OjpPdXRwdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5KQAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL2NhbGliM2Qvc3JjL2NhbGlicmF0aW9uLmNwcABJbnB1dCBhcmd1bWVudCBpcyBub3QgYSB2YWxpZCBtYXRyaXgAY3ZSb2RyaWd1ZXMyAFRoZSBmaXJzdCBvdXRwdXQgYXJndW1lbnQgaXMgbm90IGEgdmFsaWQgbWF0cml4AFRoZSBtYXRyaWNlcyBtdXN0IGhhdmUgMzJmIG9yIDY0ZiBkYXRhIHR5cGUAQWxsIHRoZSBtYXRyaWNlcyBtdXN0IGhhdmUgdGhlIHNhbWUgZGF0YSB0eXBlAEphY29iaWFuIGlzIG5vdCBhIHZhbGlkIG1hdHJpeABKYWNvYmlhbiBtdXN0IGhhdmUgMzJmQzEgb3IgNjRmQzEgZGF0YXR5cGUASmFjb2JpYW4gbXVzdCBiZSAzeDkgb3IgOXgzAElucHV0IG1hdHJpeCBtdXN0IGJlIDF4MywgM3gxIG9yIDN4MwBPdXRwdXQgbWF0cml4IG11c3QgYmUgM3gzLCBzaW5nbGUtY2hhbm5lbCBmbG9hdGluZyBwb2ludCBtYXRyaXgAT3V0cHV0IG1hdHJpeCBtdXN0IGJlIDF4MyBvciAzeDEAX3cuZGF0YSA9PSAodWNoYXIqKSZ3LnZhbFswXSAmJiBfdS5kYXRhID09ICh1Y2hhciopJnUudmFsWzBdICYmIF92dC5kYXRhID09ICh1Y2hhciopJnZ0LnZhbFswXQAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL2NvcmUvaW5jbHVkZS9vcGVuY3YyL2NvcmUvb3BlcmF0aW9ucy5ocHAAT25lIG9mIHJlcXVpcmVkIGFyZ3VtZW50cyBpcyBub3QgYSB2YWxpZCBtYXRyaXgAY3ZQcm9qZWN0UG9pbnRzMgBIb21vZ2VuZW91cyBjb29yZGluYXRlcyBhcmUgbm90IHN1cHBvcnRlZABSb3RhdGlvbiBtdXN0IGJlIHJlcHJlc2VudGVkIGJ5IDF4MyBvciAzeDEgZmxvYXRpbmctcG9pbnQgcm90YXRpb24gdmVjdG9yLCBvciAzeDMgcm90YXRpb24gbWF0cml4AFRyYW5zbGF0aW9uIHZlY3RvciBtdXN0IGJlIDF4MyBvciAzeDEgZmxvYXRpbmctcG9pbnQgdmVjdG9yAEluc3RyaW5zaWMgcGFyYW1ldGVycyBtdXN0IGJlIDN4MyBmbG9hdGluZy1wb2ludCBtYXRyaXgARGlzdG9ydGlvbiBjb2VmZmljaWVudHMgbXVzdCBiZSAxeDQsIDR4MSwgMXg1LCA1eDEsIDF4OCwgOHgxLCAxeDEyLCAxMngxLCAxeDE0IG9yIDE0eDEgZmxvYXRpbmctcG9pbnQgdmVjdG9yAGRwL2Ryb3QgbXVzdCBiZSAyTngzIGZsb2F0aW5nLXBvaW50IG1hdHJpeABkcC9kVCBtdXN0IGJlIDJOeDMgZmxvYXRpbmctcG9pbnQgbWF0cml4AGRwL2RmIG11c3QgYmUgMk54MiBmbG9hdGluZy1wb2ludCBtYXRyaXgAZHAvZGMgbXVzdCBiZSAyTngyIGZsb2F0aW5nLXBvaW50IG1hdHJpeABkcC9kZiBtdXN0IGJlIDJOeDE0LCAyTngxMiwgMk54OCwgMk54NSwgMk54NCBvciAyTngyIGZsb2F0aW5nLXBvaW50IG1hdHJpeABkaXN0Q29lZmZzIGlzIE5VTEwgd2hpbGUgZHBkayBpcyBub3QAKCgob2JqZWN0UG9pbnRzKSAhPSAwTCAmJiAoKChjb25zdCBDdk1hdCopKG9iamVjdFBvaW50cykpLT50eXBlICYgMHhGRkZGMDAwMCkgPT0gMHg0MjQyMDAwMCAmJiAoKGNvbnN0IEN2TWF0Kikob2JqZWN0UG9pbnRzKSktPmNvbHMgPiAwICYmICgoY29uc3QgQ3ZNYXQqKShvYmplY3RQb2ludHMpKS0+cm93cyA+IDApICYmICgoY29uc3QgQ3ZNYXQqKShvYmplY3RQb2ludHMpKS0+ZGF0YS5wdHIgIT0gMEwpICYmICgoKGltYWdlUG9pbnRzKSAhPSAwTCAmJiAoKChjb25zdCBDdk1hdCopKGltYWdlUG9pbnRzKSktPnR5cGUgJiAweEZGRkYwMDAwKSA9PSAweDQyNDIwMDAwICYmICgoY29uc3QgQ3ZNYXQqKShpbWFnZVBvaW50cykpLT5jb2xzID4gMCAmJiAoKGNvbnN0IEN2TWF0KikoaW1hZ2VQb2ludHMpKS0+cm93cyA+IDApICYmICgoY29uc3QgQ3ZNYXQqKShpbWFnZVBvaW50cykpLT5kYXRhLnB0ciAhPSAwTCkgJiYgKCgoQSkgIT0gMEwgJiYgKCgoY29uc3QgQ3ZNYXQqKShBKSktPnR5cGUgJiAweEZGRkYwMDAwKSA9PSAweDQyNDIwMDAwICYmICgoY29uc3QgQ3ZNYXQqKShBKSktPmNvbHMgPiAwICYmICgoY29uc3QgQ3ZNYXQqKShBKSktPnJvd3MgPiAwKSAmJiAoKGNvbnN0IEN2TWF0KikoQSkpLT5kYXRhLnB0ciAhPSAwTCkgJiYgKCgocnZlYykgIT0gMEwgJiYgKCgoY29uc3QgQ3ZNYXQqKShydmVjKSktPnR5cGUgJiAweEZGRkYwMDAwKSA9PSAweDQyNDIwMDAwICYmICgoY29uc3QgQ3ZNYXQqKShydmVjKSktPmNvbHMgPiAwICYmICgoY29uc3QgQ3ZNYXQqKShydmVjKSktPnJvd3MgPiAwKSAmJiAoKGNvbnN0IEN2TWF0KikocnZlYykpLT5kYXRhLnB0ciAhPSAwTCkgJiYgKCgodHZlYykgIT0gMEwgJiYgKCgoY29uc3QgQ3ZNYXQqKSh0dmVjKSktPnR5cGUgJiAweEZGRkYwMDAwKSA9PSAweDQyNDIwMDAwICYmICgoY29uc3QgQ3ZNYXQqKSh0dmVjKSktPmNvbHMgPiAwICYmICgoY29uc3QgQ3ZNYXQqKSh0dmVjKSktPnJvd3MgPiAwKSAmJiAoKGNvbnN0IEN2TWF0KikodHZlYykpLT5kYXRhLnB0ciAhPSAwTCkAY3ZGaW5kRXh0cmluc2ljQ2FtZXJhUGFyYW1zMgAoKChydmVjLT50eXBlKSAmICgoMSA8PCAzKSAtIDEpKSA9PSA2IHx8ICgocnZlYy0+dHlwZSkgJiAoKDEgPDwgMykgLSAxKSkgPT0gNSkgJiYgKHJ2ZWMtPnJvd3MgPT0gMSB8fCBydmVjLT5jb2xzID09IDEpICYmIHJ2ZWMtPnJvd3MqcnZlYy0+Y29scyooKCgocnZlYy0+dHlwZSkgJiAoKDUxMiAtIDEpIDw8IDMpKSA+PiAzKSArIDEpID09IDMAKCgodHZlYy0+dHlwZSkgJiAoKDEgPDwgMykgLSAxKSkgPT0gNiB8fCAoKHR2ZWMtPnR5cGUpICYgKCgxIDw8IDMpIC0gMSkpID09IDUpICYmICh0dmVjLT5yb3dzID09IDEgfHwgdHZlYy0+Y29scyA9PSAxKSAmJiB0dmVjLT5yb3dzKnR2ZWMtPmNvbHMqKCgoKHR2ZWMtPnR5cGUpICYgKCg1MTIgLSAxKSA8PCAzKSkgPj4gMykgKyAxKSA9PSAzAChjb3VudCA+PSA0KSB8fCAoY291bnQgPT0gMyAmJiB1c2VFeHRyaW5zaWNHdWVzcykAdm9pZCBjdjo6Um9kcmlndWVzKGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSkAbnBvaW50cyA+PSAwICYmIChkZXB0aCA9PSA1IHx8IGRlcHRoID09IDYpAHByb2plY3RQb2ludHMAVGhlIGlucHV0IGFycmF5cyBzaG91bGQgYmUgMkQgb3IgM0QgcG9pbnQgc2V0cwBmaW5kSG9tb2dyYXBoeQAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL2NhbGliM2Qvc3JjL2Z1bmRhbS5jcHAAc3JjLmNoZWNrVmVjdG9yKDIpID09IGRzdC5jaGVja1ZlY3RvcigyKQBVbmtub3duIGVzdGltYXRpb24gbWV0aG9kAHRvdGFsKCkgPT0gMCB8fCBkYXRhICE9IDBMAE1hdAAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL2NvcmUvaW5jbHVkZS9vcGVuY3YyL2NvcmUvbWF0LmlubC5ocHAATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU18yNEhvbW9ncmFwaHlSZWZpbmVDYWxsYmFja0VOU18xNERlZmF1bHREZWxldGVySVMyX0VFRUUASi5pc0NvbnRpbnVvdXMoKSAmJiBKLmNvbHMgPT0gOABjb21wdXRlAE4yY3YyNEhvbW9ncmFwaHlSZWZpbmVDYWxsYmFja0UATjJjdjhMTVNvbHZlcjhDYWxsYmFja0UATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU18yN0hvbW9ncmFwaHlFc3RpbWF0b3JDYWxsYmFja0VOU18xNERlZmF1bHREZWxldGVySVMyX0VFRUUATjJjdjI3SG9tb2dyYXBoeUVzdGltYXRvckNhbGxiYWNrRQBOMmN2MTlQb2ludFNldFJlZ2lzdHJhdG9yOENhbGxiYWNrRQBucG9pbnRzID49IDAAY29udmVydFBvaW50c0Zyb21Ib21vZ2VuZW91cwBucG9pbnRzID49IDAgJiYgKGRlcHRoID09IDQgfHwgZGVwdGggPT0gNSB8fCBkZXB0aCA9PSA2KQBkc3QuaXNDb250aW51b3VzKCkAdm9pZCBjdjo6Y29udmVydFBvaW50c0Zyb21Ib21vZ2VuZW91cyhjdjo6SW5wdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5KQBjdjo6TWF0IGN2OjpmaW5kSG9tb2dyYXBoeShjdjo6SW5wdXRBcnJheSwgY3Y6OklucHV0QXJyYXksIGludCwgZG91YmxlLCBjdjo6T3V0cHV0QXJyYXksIGNvbnN0IGludCwgY29uc3QgZG91YmxlKQBjb252ZXJ0UG9pbnRzVG9Ib21vZ2VuZW91cwB2b2lkIGN2Ojpjb252ZXJ0UG9pbnRzVG9Ib21vZ2VuZW91cyhjdjo6SW5wdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5KQAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL2NhbGliM2Qvc3JjL2NvbXBhdF9wdHNldHJlZy5jcHAAZHN0LnJvd3MgPT0gZHN0MC5jb2xzICYmIGRzdC5jb2xzID09IGRzdDAucm93cwBjdkNvbnZlcnRQb2ludHNIb21vZ2VuZW91cwBkc3Quc2l6ZSgpID09IGRzdDAuc2l6ZSgpAE4yY3YxM1JIT19IRVNUX1JFRkNFAE4yY3Y4UkhPX0hFU1RFAE4yY3Y2ZGV0YWlsMTJQdHJPd25lckltcGxJTlNfMTNSSE9fSEVTVF9SRUZDRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzJfRUVFRQB0aGUgbnVtYmVyIG9mIG1vZGVsIHBvaW50cyBzaG91bGQgYmUgcG9zaXRpdmUAUkFOU0FDVXBkYXRlTnVtSXRlcnMAL2hvbWUvZ3d5L29wZW5jdl9qcy9vcGVuY3YvbW9kdWxlcy9jYWxpYjNkL3NyYy9wdHNldHJlZy5jcHAATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU18yNVJBTlNBQ1BvaW50U2V0UmVnaXN0cmF0b3JFTlNfMTREZWZhdWx0RGVsZXRlcklTMl9FRUVFAGNvbmZpZGVuY2UgPiAwICYmIGNvbmZpZGVuY2UgPCAxAGNvdW50ID49IDAgJiYgY291bnQyID09IGNvdW50AChiZXN0TWFzay5jb2xzID09IDEgfHwgYmVzdE1hc2sucm93cyA9PSAxKSAmJiAoaW50KWJlc3RNYXNrLnRvdGFsKCkgPT0gY291bnQAbW9kZWwucm93cyAlIG5tb2RlbHMgPT0gMABlcnIuaXNDb250aW51b3VzKCkgJiYgZXJyLnR5cGUoKSA9PSA1ICYmIG1hc2suaXNDb250aW51b3VzKCkgJiYgbWFzay50eXBlKCkgPT0gMABmaW5kSW5saWVycwBjb3VudCA+PSBtb2RlbFBvaW50cyAmJiBjb3VudCA9PSBjb3VudDIAZ2V0U3Vic2V0AChlc3oxICUgc2l6ZW9mKGludCkpID09IDAgJiYgKGVzejIgJSBzaXplb2YoaW50KSkgPT0gMABOMmN2MjVSQU5TQUNQb2ludFNldFJlZ2lzdHJhdG9yRQBOMmN2MTlQb2ludFNldFJlZ2lzdHJhdG9yRQBOMmN2NmRldGFpbDEyUHRyT3duZXJJbXBsSU5TXzI0TE1lRFNQb2ludFNldFJlZ2lzdHJhdG9yRU5TXzE0RGVmYXVsdERlbGV0ZXJJUzJfRUVFRQAobWFzay5jb2xzID09IDEgfHwgbWFzay5yb3dzID09IDEpICYmIChpbnQpbWFzay50b3RhbCgpID09IGNvdW50AGVycmYuaXNDb250aW51b3VzKCkgJiYgZXJyZi50eXBlKCkgPT0gNSAmJiAoaW50KWVycmYudG90YWwoKSA9PSBjb3VudABOMmN2MjRMTWVEU1BvaW50U2V0UmVnaXN0cmF0b3JFAE4yY3Y2ZGV0YWlsMTJQdHJPd25lckltcGxJTlNfMTJMTVNvbHZlckltcGxFTlNfMTREZWZhdWx0RGVsZXRlcklTMl9FRUVFAChwYXJhbTAuY29scyA9PSAxIHx8IHBhcmFtMC5yb3dzID09IDEpICYmIChwdHlwZSA9PSA1IHx8IHB0eXBlID09IDYpAHJ1bgAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL2NhbGliM2Qvc3JjL2xldm1hcnEuY3BwACoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgAJaXRyCW5mSgkJU1VNKHJeMikJCXgJCWR4CQlsCQlsYwBBLnR5cGUoKSA9PSA2ICYmIEEucm93cyA9PSBseAAlYyUxMGQgJTEwZCAlMTUuNGUgJTE2LjRlICUxNy40ZSAlMTYuNGUgJTE3LjRlCgBOMmN2MTJMTVNvbHZlckltcGxFAE4yY3Y4TE1Tb2x2ZXJFAE4yY3Y2ZGV0YWlsMTJQdHJPd25lckltcGxJTlNfNWFydWNvMThEZXRlY3RvclBhcmFtZXRlcnNFTlNfMTREZWZhdWx0RGVsZXRlcklTM19FRUVFACFfaW1hZ2UuZW1wdHkoKQBkZXRlY3RNYXJrZXJzAC9ob21lL2d3eS9vcGVuY3ZfanMvb3BlbmN2X2NvbnRyaWIvbW9kdWxlcy9hcnVjby9zcmMvYXJ1Y28uY3BwAHF1YWRzICE9IDBMAF9hcHJpbHRhZwBpbWFnZS50b3RhbCgpICE9IDAAX2RldGVjdENhbmRpZGF0ZXMAcGFyYW1zLT5hZGFwdGl2ZVRocmVzaFdpblNpemVNaW4gPj0gMyAmJiBwYXJhbXMtPmFkYXB0aXZlVGhyZXNoV2luU2l6ZU1heCA+PSAzAF9kZXRlY3RJbml0aWFsQ2FuZGlkYXRlcwBwYXJhbXMtPmFkYXB0aXZlVGhyZXNoV2luU2l6ZU1heCA+PSBwYXJhbXMtPmFkYXB0aXZlVGhyZXNoV2luU2l6ZU1pbgBwYXJhbXMtPmFkYXB0aXZlVGhyZXNoV2luU2l6ZVN0ZXAgPiAwAG1pbk1hcmtlckRpc3RhbmNlUmF0ZSA+PSAwAF9maWx0ZXJUb29DbG9zZUNhbmRpZGF0ZXMAX2ltYWdlLmdldE1hdCgpLnRvdGFsKCkgIT0gMABfaWRlbnRpZnlDYW5kaWRhdGVzAF9jb3JuZXJzLnNpemUoKSA9PSBfaWRzLnNpemUoKQBfZmlsdGVyRGV0ZWN0ZWRNYXJrZXJzAF9wYXJhbXMtPmNvcm5lclJlZmluZW1lbnRXaW5TaXplID4gMCAmJiBfcGFyYW1zLT5jb3JuZXJSZWZpbmVtZW50TWF4SXRlcmF0aW9ucyA+IDAgJiYgX3BhcmFtcy0+Y29ybmVyUmVmaW5lbWVudE1pbkFjY3VyYWN5ID4gMABhbGxvY2F0b3I8VD46OmFsbG9jYXRlKHNpemVfdCBuKSAnbicgZXhjZWVkcyBtYXhpbXVtIHN1cHBvcnRlZCBzaXplAE4yY3Y1YXJ1Y28yMU1hcmtlckNvbnRvdXJQYXJhbGxlbEUATjJjdjVhcnVjbzIyTWFya2VyU3VicGl4ZWxQYXJhbGxlbEUAT25seSBNYXQgdmVjdG9yLCBVTWF0IHZlY3RvciwgYW5kIHZlY3Rvcjx2ZWN0b3I+IE91dHB1dEFycmF5cyBhcmUgY3VycmVudGx5IHN1cHBvcnRlZC4AX2NvcHlWZWN0b3IyT3V0cHV0AF9jb3JuZXJzLnNpemUoKSA9PSA0AF9pZGVudGlmeU9uZUNhbmRpZGF0ZQBwYXJhbXMtPm1hcmtlckJvcmRlckJpdHMgPiAwAG1hcmtlclNpemUgPiAwICYmIGJpdHMuY29scyA9PSBzaXplV2l0aEJvcmRlcnMgJiYgYml0cy5yb3dzID09IHNpemVXaXRoQm9yZGVycwBfZ2V0Qm9yZGVyRXJyb3JzAF9pbWFnZS5nZXRNYXQoKS5jaGFubmVscygpID09IDEAX2V4dHJhY3RCaXRzAF9jb3JuZXJzLnRvdGFsKCkgPT0gNABtYXJrZXJCb3JkZXJCaXRzID4gMCAmJiBjZWxsU2l6ZSA+IDAgJiYgY2VsbE1hcmdpblJhdGUgPj0gMCAmJiBjZWxsTWFyZ2luUmF0ZSA8PSAxAG1pblN0ZERldk90c3UgPj0gMABOMmN2NWFydWNvMjZJZGVudGlmeUNhbmRpZGF0ZXNQYXJhbGxlbEUAd2luU2l6ZSA+PSAzAF90aHJlc2hvbGQAbWluUGVyaW1ldGVyUmF0ZSA+IDAgJiYgbWF4UGVyaW1ldGVyUmF0ZSA+IDAgJiYgYWNjdXJhY3lSYXRlID4gMCAmJiBtaW5Db3JuZXJEaXN0YW5jZVJhdGUgPj0gMCAmJiBtaW5EaXN0YW5jZVRvQm9yZGVyID49IDAAX2ZpbmRNYXJrZXJDb250b3VycwBOMmN2NWFydWNvMzFEZXRlY3RJbml0aWFsQ2FuZGlkYXRlc1BhcmFsbGVsRQBfaW4uZ2V0TWF0KCkuY2hhbm5lbHMoKSA9PSAxIHx8IF9pbi5nZXRNYXQoKS5jaGFubmVscygpID09IDMAX2NvbnZlcnRUb0dyZXkAbWFya2VyTGVuZ3RoID4gMABlc3RpbWF0ZVBvc2VTaW5nbGVNYXJrZXJzAF9nZXRTaW5nbGVNYXJrZXJPYmplY3RQb2ludHMATjJjdjVhcnVjbzI4U2luZ2xlUG9zZUVzdGltYXRpb25QYXJhbGxlbEUATjJjdjZkZXRhaWwxMlB0ck93bmVySW1wbElOU181YXJ1Y28xMERpY3Rpb25hcnlFTlNfMTREZWZhdWx0RGVsZXRlcklTM19F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mwEec6IB7ILnAKLnPABzoJQBHjGyAJSC5wAmxjwAc6CXABZzsgB0gucAJuc0AHOg6AAGtaIBC4LnAKLWsABzoOsBDveiAeuC5wCi97gAc6DkAQ61sgCTgucAJta4AHOg5wAG97IAc4LnACb3sABzrwgAJzmDAQh65wDgznIAc68LAS97gwHoeucA4O96AHOvBAEvOZMAkHrnAGTOegBzrwcAJ3uTAHB65wBk73IAc694ADe9gwEPeucA4N72AHOvewE//4MB73rnAOD//gBzr3QBP72TAJd65wBk3v4Ac693ADf/kwB3eucAZP/2AHOumAA3OaIBDLrnAKLOdgBzrpsBP3uiAey65wCi734Ac66UAT85sgCUuucAJs5+AHOulwA3e7IAdLrnACbvdgBzrugAJ72iAQu65wCi3vIAc67rAS//ogHruucAov/6AHOu5AEvvbIAk7rnACbe+gBzrucAJ/+yAHO65wAm//IAc5MIACYxwQEIZOcAwcYyAHOTCwEuc8EB6GTnAMHnOgBzkwQBLjHRAJBk5wBFxjoAc5MHACZz0QBwZOcARecyAHOTeAA2tcEBD2TnAMHWtgBzk3sBPvfBAe9k5wDB974Ac5N0AT610QCXZOcARda+AHOTdwA299EAd2TnAEX3tgBzkpgANjHgAQyk5wCDxjYAc5KbAT5z4AHspOcAg+c+AHOSlAE+MfAAlKTnAAfGPgBzkpcANnPwAHSk5wAH5zYAc5LoACa14AELpOcAg9ayAHOS6wEu9+AB66TnAIP3ugBzkuQBLrXwAJOk5wAH1roAc5LnACb38ABzpOcAB/eyAHOdCAAHOcEBCFznAMHOcABznQsBD3vBAehc5wDB73gAc50EAQ850QCQXOcARc54AHOdBwAHe9EAcFznAEXvcABznXgAF73BAQ9c5wDB3vQAc517AR//wQHvXOcAwf/8AHOddAEfvdEAl1znAEXe/ABznXcAF//RAHdc5wBF//QAc5yYABc54AEMnOcAg850AHOcmwEfe+AB7JznAIPvfABznJQBHznwAJSc5wAHznwAc5yXABd78AB0nOcAB+90AHOc6AAHveABC5znAIPe8ABznOsBD//gAeuc5wCD//gAc5zkAQ+98ACTnOcAB974AHOc5wAH//AAc5znAAf/8AC1MutITK0S1w+aZUdZ8OKmMy3eEbTMiHuZRsE8Ypk8g1SeodN5KsuFec3Yt7Oe7RueLodddHm64cTyI+pPI1fE/tqt71t/97XPVmX8avM/pvmR+I6Jn3EfEafTEuWISMsOtzdW7XBq7CoPHRXwVKi4JLE6Qo0kQlwmPi9RfGSK9EZlFvCmYg9oZgAMwABmAzBsXin1ejavlHavn9P1bsv5hosVS9Fh0qiwK5sJ1A2Q2czVMP6rM38M3YLBzkG7c4P+R5384n8/uZRxsmiOKRZNrOQKfic1flClVGh4KqUeFiEjWwDEhADaNG+bcfYsjtlEFTDQqCILDFey58JN6kPnns+Vf/N5/qnwy5mr0w/VmQiuAxd1EOjACSlSBZSQoEoYdbI0rhgsTQT/M3P/IM7MDfZjdm+wbsYcWqFlWjimhRcY5EEY6IInKigOBRRUoHAyjIwTMUzIMTiyqwZNHGDVJOgKYxckxlAu6x9n13Tm+C0/e1X8tKreS2RGtCbSLWJQLoORdAqJwVATsYDICgGNUZTgkimKSQdVaMLhFqqHQ11B0OSCuicLX5f11un6a69oARiEgBYhGGhnG7TmFi3YYSRKkCSGCVJh6Vqjl4bFWmsSbYRI1iG2b+Ve9qf2b3pn333z++bPvn4bvcXYfqO9gKACCgUBUECDREQ4IsEcIouiRw5F0XDik3rnKV7JlOeEbAJ5NiGeQIUqQ0lUoZLChZxgWzmh2gaciZBPkTnyCZ+h1k6F+XJru3zuPT7dvHe8BIhcID06EbZbvWnabZa9v8jMbxP99jO3q99L1e3S+8ofNZ34U7msyWJDrEaTNcLZWOCtGpu1B9PV9Lqry10vzJggzxkz8wTHoEbKBeNTYsU3c9jsoxvO6V14vbqXvR75JdqcpJ85W/u7/4/d3/H/7ioPzVR3s/D3Tdz5su+fOzV1+nCurA5fiq0WH7VR+Gh2F73Q6G4LvQrPFTfzUOyoBksVYdJghqgtwVhmg7RmGknYYKcbkuUGQ/Rmsi/CTWZPNmfUbPIr5k/TdebL8meuaeRKtieWbVJwx5my4w5NmXpuj7V2Xq3xtOqLa1ct1tHtT1n98re/mvznm/7nP3/Z/qaP3mV/e/EAJRIQpAAISABDESDCAASICogEBxFQ4CAKhgUWYVBooAJvFzH2QIzoABwgETgAiAQAlzES6QBIjAg3MxTsECjMCjE2BIxQIGwJxkE2Y5BsggsBVASA0CAqCftzJ9+Q5M4LWGQlGtCkJhCCgQJBCECBGC2SFbQYqEkQeKIhHgiERRBzsyDOCATNEnSmMC5IDGUSsbYCjUhAbRr5tiefWORtEwbFEGDICKMMDgFVcDCqgAzxMmaPMGZMBDMzQMwgAswMnzFX+TDqjA7yJ2ZPcGbkDv02d79w7mwHTERxMuCOIg+kRlYl8GpiBy9XUfTgiuoFtXJSraBKTg+RdEaJ8GIuB9t1Y9vgxq4e5IZ2J3huYRQ5skGcKIJNHYDARgG4YgMVyMBjE6jGAx+L1UfR+OKrFbrjQ12owscdsfJGjbhiTyCACAIBBEAQKOkaJ5cU5Fgiog8CRURA8ChTOSTKFCScKvAuJg9UZHQi9z8y70RM/ClASCQClCQSIUZJMGKEDJIpuXoHnZTgXiucbBc51Og2K7JvBk3UYPY4yoknUxzkkTguixV0HKjRMAeZEOAMCJk455s25xxs2TpJnCWSXKQ5OmWeNKZcLHkyXbwxukyMPTuIzAcR3OAzOR34FbicqB870/0my9xkvyZHHXDiZA64J4BMQgHkQjIvqk9HVfTi8i0UaFQotCoWJd5pc3ukzpYlU3lgyqQGni93f3Tu9C7+NEiIYRIshhE8qIpHFTziUTxBmGSCPCYZNA2YUbAsihk0+7tj3yzG3TaarUNZbMK1PeDKZge8ZlM1asthVqyG0z0J2EWQvKIbPe3ad7e87ls/xMx2I/xuMz9sznU2/K5zN87Nc3PszrM9XOh1OryuFz1263RuvC7XN7DuQg3sQnc/F/1U6Pwqvz///3f//O7/SOUStqcSbUhCaAahFkKFYEotFpW0UqloQWBCoAaCBUJJUXCkipIlDkHdcLO7gs0OS991t/vS7a5YT5G18hqtiVpIhKUSWqUhWBahlGgaKYVQXbCxugqNDVr6p6dfWuXlWrW2lq1aaW1RI9OAxIoBy1uKxYdR2uGjWRnwhZiaoQ9RNfKQrIoJT0xpEuWWMqdIRsEU4oNiRyhOCxXF0HKjqERfMfH6Io+MTlk05ZpypyxNg1HGwbJjik19cvW+sq9OR9hk4xvixyZHc3fgzuIH7lyFkNahOmsJXkSE9CJ6LyFWK5fB1GqD6Vy7s8fdOuPNVcPR4sOqR4tfbsf1dvqv41/r1+fX+ufrXRLhxEi6I4dVXuHxeqqPh2JwLqAORgV0YhU8kKhGCTxhwkmiQ4ZFkmsgToQE1iFyY0VcsKLGDTprXGy1OtatNmtbfaXa1qW+eAyIlTAeqRF6z523817tuXh/u7X+Hq3deYDIhgGeYRNx5dqyp45NW3F06rAujg1Xebbrlm2eaddx0/miy45Fn3sz/4TM3iH/ZGoL4VYmh9BmqA7DFWbDcG6nH9bldmv4bpE8xol2YzxlIkvARKYD0m3LWefTtueaZ41c07HmyzptMXrEjLYjXn6AjMYBfmMxfuKP5kd+Z/F+jZzXsX7rOXTSqeJLLkeVfDKrxEw+I9V+Nb7UrH4rfXWr28PVrsPbdwXc0KDuCzt/K9/F1P6j+33a6edbvueXf5Ltxkn+Y7eAdTI4rgEcTIDzMyrPAVTMgaZDGmWBWMKJ7VI/t5H8SoH8Yjs/gdxGmKaDHmUZeMGaIIYMBFkwYZFD0SjCiRSLmfnyL5+Z9E+Rk/EKyYlQj5vU5D4r2XwnhAkQSZAhkgiEaxNp1iGWyIbEBHojYV4gjmQGfCZxPmCGGiVJWGGSpIVOQXlyoZ6CjctRb9Ox9oqFZ1N45qEeyoWvU1v1odrKhddxeuuhXo6Hs3dKzeFS7pzhkm6HOXZJnPKjbk85dsWUF7FY6CkajZUAwEgAqRIDlaLDSkWpUsOdI9NMxLkyy59ix2xG+TbjnVLhbEq5NoeV2uFrW6nWh6DFGDqjBVwYqs0cP7NV/Dii2CwrG0XUNKJXPTjqRRy8qT16HbyVuF6pV3k86pU8nqtSbSxK1TS2ozZvGGzFGPajWXwpmsWUPrD0qjovDVxVuBKpDEgdMJWwv7sb/Q3Y3bKdvBu5Tdg9u+3eP7fd/Hu5cussTp0017mW6R5pnXiXpMMZasMlVpis0iluSzV2lK6xPk6NdXJ8pYJJSkGlUpKvZV58pvU+eqV7e2nepZber/pvb1/19va0ZIp4Ji0eUbxii2xGPTbRtIGYSoEtUhm2oI5KBW1Scb7uj393ff7xvg2cXbB9ujm82bhvmz32Hb74rm8fffZ1tSjKSRStklO3CdxJkO2SO7fS7WpL7Va3wOoDq1cD1cDAGTCJmAORDMD9Mru/A91MyNMxrssTdYzKWiWtWlO1pMFNULmyg50KybRini2TeUbBV3G46oMdjsOYZIsZw9Emwx10mbjDmS7YgICOARtxAdjvk7/3G/3J2iuXjdRbsenQHqGZeAuZhdEF0JigixkL063Wm7XL2Wvbp9ee5dt568TJEOuTI9cIzHgi7R4zt0TNRVD8orM/CsULUcnQo5OKz89V//Pz/6rcrILfNTv7QdQCgchAKxOB3GOT7MY7N8nUJ5PY5CsbydT1svqvK19N1nim6R5rl2XeuKbPHXvzZd3mw/5nu3/D1V3w+bqrnw/dvfLfvbv7T98d9N24+7sv4soNq1NH1bDqax+t1le1+OC0KpotB1lU4jguiRxHkXTi1Cy6K0ddNOMiT4hExxHy4dhoqxuH1RbwA5mIwA8RmfLMjLszT90x+Parvm8ffdXxSdipko+VG/Pqz6tXz9Xz8ZzomzmP2Rf59fq+r599X/E7+4ncj5Hf7I0Y37E3+xjuyRzvk3f3OOYPHdnwZ5u45Pc7+u8nX9znYE7oBucXcu/oTu8X9/dy7bJrzk23c9blFXjYqKcbHu/RfO6L93c+9IaJ2mEvW5H8AZjMgD8zGfbDnerDb1e59Hyq+T4vn1X8k7nOyT9znfVCyehCrxeT/Zjozxm/8xf1PfrZvK+bXwK9NhO9QMhsAOESIocAREgC4gciR0BE4AKuBxN1QMjgCHgiJR4QpEQAdCIwLgAMRAieIRd5EOiECNEwJosQZAwIfTI1vhCsTAoyJwRMUCDkCt4lN3tQ7KQCUTQgikAELAGiQwJFgEDCA4BEAgHAQCILg1UGwdBgqgtLVSXS0KSqCydXFOTQKOoL71c399Ds6gm2YxZtkGjGCVlwJZqQpA4Jk3EGyZBgjgv4Zicf0ORmA9l0I5vAxC4D8XYij8BEbhDEgDIjCEwBGKuTB9UY4MkaoIYGBVhgYRoEhBQgWCghGmyGNTZYrGEarocXdVjo4RKJlAORSMApEBexEOgICI0a87cmz1hk7RlAwCQCmCQDEQLBAECIAIMRK9MB1IiAyxHP0TPziMyLGyLHBETYIOMTLscRdMiI4xEV8BCoiAgPE7v3A93IwO8MIAJEBDAiQAzJEGeTMOYIDNwgdzsw7gQMNiNUbDAqxAYUJFAoYAokBnInYE5gBuQNYVJkhrAmSgUNUFGwoIoKDY9RV/Gw6ooP4EZmB/BmYg9JVGWS8KYqB4VUUqHgSioFkGBCCaBCBg0zc0TMsCLOD5ZlVmnwaqYPdmd0bvAu5hRggmAGKAZBHI2QV7E46gkU2qFjWyjGhRxzs2TOOCbNHpSkVil4aiUeuqdHXXji5RbZtGObaMYtHj22Vbx4qm0W+7dj32jG7R3p0meXuOZLHf7jd3+47scfn/VX+fjqryiLGQfRFOCYIK8bE/UEyNgiDg0RcESIsCKpHgOVRMB4Ko0cF7FU6Dgqox8GxVRg+CrvHzf3VOz4KJAoBgkUYBQoOzsF3BSg3CpYLCUaVKQ0IjM/AMxEAPwhoEoCBYRAUiECSQBAhACSIaVaEqWESFohx1ky44RMmisDXQTA1CC6I2dfMObEDPopMGoEDJQgVinSaSZLlGSWKxl8BZjUoD4rm30H2dTgviuXfRbp1Gi+OCiKBRQcoFE4pZoWpRxoWTqGjRZhXGixMgGcAIBMADk4n7kX+RzonTLSrSJLTES1Opm8B5lc4D061bw2q1xsPTnoyicXnORTO8HcJoPcZDszQ90gwswEuzvn3zbn3Gz7MZrpA1mMwJczkOwCCcxANzue7Rd53Oi3JMQIciMkThAsSgllUjSmkCytGle1NOpYLM8Zd/M07pgsZxt05jQu2CbqD2NXZMbwLuUedqd0bngscCpkDjQmVC4SLURIdCK0LtE8Zot0ZjwuOT5FnHSifCVkSnAmpA5SJedbcuekTtovzEx3M/TuMi28alc9tOpWLXF6ZI60Jl4l1Xhyq6ROHiWbeUPZpMKeJxBsQAjkAjYvfG51PvSudifyb2JP5Eb2JzpvQVzkgvYvtm9WbfRq9ifTfWLL5Ea+L7N/Rs30Yv4nH31R+OSKvjxLmWXSPKaZNsCMYgNsRjE27o9zd2zO8T7pnmeXfOZ5NLiqQx0swlU8FKhUKDwqFTxSqWRKPCaVNHKrYE4sBtU0fqtxfiyO1TS/u1P9LMrdPnG+ZI58Jn0+U71kynwmvT2MyFcxvOoTNaLLQkWsQtM1LstRdKyK0zUt2lG0rIpbN6zOUzXsynM1cOpgDqwGVzf672Nf7Mb3P/H+Zo/8Zn8/2/1n2/zmv0jEALYjEm0ASOkSp5cS5UhKwgWmQ1JloEpBFKSCUiUoQusXo9dCxehIEzGEyBIhjErYJKcbUuUkQv02s79CzWxKFzWU6FIprEljU6TGkiXKQ25HsXbCjeJBOmOBXIKBxkmxcoaNkmFOQT1ykbyCiU5LkmWGSdJhpkubdYfZ0uGuQz93kfzCie5YIoOERBohwVCqg4NVCsHBWCeTlOQaKclSyISjE0rFIVKEhJIhSkkhUgqFgVBKgaFaD5WV8FqpqViYoIcZGuEFWFygtToarQVQ27Gj2wrFjVD3s7LvCk3NWvSmti9abWVR7MKzN4rNQ1FCwaBCigWDUQ3QkbCKiQtbA9WEwNohq1Pr16PXysXrUXbjsG6KDcdZcfKkjpolT1GT8YLJikGPU/n2o5/KxW9bs/eGzdph71OX9ZLpykmvTEwA9TIyrwBESxHh0iKHiEwjE8TEMiPIRowE0zFiyyBOJxfU5HIr6EaQJMIJYkMkTtQk9itybyRFzkHzc6LPgkXlUvKnok9KRSdT0OSiC8pPwVTmg/JnKkcFVNCg4gsqRTRi0CyiC0ZFcmPgTqIHxlzIgOcTOucBXA6B1XA6q4FU65Pj1yrHyVaJlMORasMpVkOV4MJqB6le55f253pv6VxwouQOOidFVLKjwk0qQ8VeebblnnqnbVbzt+LPakftXaPTxsW6Y8td8uPmT7pnx1Ud8NG4qosPXZ3w17m66w9X/ObzP+rPZ1fS5eJL6kenX3P35M76J+9oLRqVtBapWGjDGabDFmWYaIcZluEWaZhqSg2lUlalsGJpHqGWRoV4YLk6g50GwVxo/zu3/xbt3GrcLLc7Vu00atotp1tW5bRqPi+VfFap9GpRPKSKViU8ajE+hIxWIXxi1z2y60ZNvGHMSLMzhs0Sa4JNhkHWYbJr41+mx9Zl+mk6a4VclqHWYZ5pk3mGyZZhlXiSqYZJHmF1erCuhg1eaV95tfqWrZ5pN3uU7JYp3mPabaNbxsW2cAKJgEAOAZF4Y5ukxh4l2XBPmbHyDo2ZcsqNo1NOxbF6rZ6XtV7peXB7u6HeDoXdehSslCheKTV6+b6nn17lfXrTvabLXmW9eru/h91e4f154sumR55l03Ep2oGUjoFbe2fftObeLftx0OiiC45FF3k5+oWcnqFfczDugAzOAXdzuf6Dnc7Bf3NT/aDKzgW/c///s//Ozf9siAjHETbjEGQJGMGQJoMYbEMZ5MI2J5hmBg3QYGYLsGaDHcLBZkO4ZLAqwg0mQ1Rk2injWybHlG6fPdf5duu8Z8hM4xPmxzJv7k/3d/bv8m07e8XctqPeb9Jt5kv2Z7Z0gIjCAS5DEXyrm8fVPuPZfmiO5RZ+p3F+Ao3EQH4jsXycqNc5PusVdDar0GwuC9V8EbjEiD4jHX7erfd7fu+1frav1m1+a/V2273j227HvX3EyPYjvm8TfYrJx1G+45N1bdrxtq6PW3eIzMMR7sMzdyDOwATuA3N3Qdzggu4HO3U46sEcroNXdb7r032uy9d9m/nH2b7jn3dX/fDq7g+/iCgCDRQRsECArAIbNQHYQIgNEB2wEbgIiGcTPOYRPMiCTgU5ckGcoIqhFg6FUXBogisXCdRBkOiAGCAJGAGQBIj5Mi+fEfRMgJ0wG7kB2AyKnCQfOVH4JIIxNgiMQRBsinU2PK5RPGyClzUa6UFYrIEJUAmQgZAKgetTK9eB1MqBB1EY4IEYiosoRg0U0bBii6xGHzXR+GKDLkcZdMGY4oPlVjqnwVxqgVBgKAqBFAaJMmMMTJEwxot6Zy1e0bTmi5ZlHmnReKaDfXY5vsGcbpCHkRrhCViJmvymPz9Z/GWS9bY6r0lcbZGqwwtVidDDk0HUKILJFCuTJdYYpMkYa5vr1y/X2fTrmTTiHCyZOEeR9/M674lcz5va5S9b2fSnk1blOGrJHKeEQgFoQiEWgIyBEE6BMXIIjE8RffIxvoiGSARpEmGWIIamB1plYVrgjgMVTMBxMqiG4xdqx2FW6IZvF3n2YZ7ojq8XX/Vx+uiEXiF5eiGehIR3M3juIR7Mhvona19h1uSOHiVdeHG6pI43N1zscTrshwpFSVDhkqKPikVPUfHyoo8mR1xk8TrihyFWSIThEmqHDVRZsOGaKoVyY2hOoRbGhz5nWXzhmuacQ5Fswjk2iZ5hlmyGeTZplFigaRoplgWU+KJrHynWRZwyo0xMOTLFlHajeG4pHsWUsbJKjSlSTZTdsHu7Kd4NlJuxS9kp0o2c27Fv2zn2jZ6cpF85efolntKlbkt5dqWWGbRJmGmSLZ6xtk6NeXJtlWnSaZaplkufbdZ9tvm+a5cr10nU6ZLrlbbjWm2pWseVufJLnanST5098l28ubpPnVfxfOq5Po+o7Ao/NxX8UKglGhykFThYoqwOGzVF2HCiAg0IQEUQsKpmDzxmVTzwqo8dH/FV+Liq5x8+51V8+KgwKgwMFTBUqHorLV4VtNSo9is+bxV81KiTOQ7JFXCcohQsGChFGDSqNC4cLFU4dKJyLyhORRT0qvIvLk9VdPSi8T4qj0VUfKFASCgChRQSqQpJDVCVsJKhJksYZIUY0qnFWD6jlXwaqc9ZP/OV/JqhNGoYLIUYVqkSaQxIlTCWofprK1+F1NarmGwPGdXwNqP3fzrvxVz+sAaJGGANGJGwRZg4og0cGbiNmB+xHfgZsoSMGiFNWDG48KouDx10VbhVuDyqHTwdsnavOG5NHPW6kbwOiV1wPbJxviiOTRR9ucDILgOddBO5QsksQp00k7kqyw1UnbDTs4zMGzHN2DOzys0rU83Us7tmzzxm3Tzzsw/dGfDNmLux2ukrW43Ul7sU7Bwo3Tg3u/bvPm/dfPezE/0IyM0Qv6RoCmkWJZZQrCwKXTQ1ulCsoRpOhTVyWKzrG2/XNfbYrMcZfuM1fpikZxt45iUe2KbADGoDZVYwruAObgd1dnCmIx9IxGUS+K3oSm8XtfZSpcxIezOl3hKn7E57N+Xecq18an0+tb5WpRppSVilkpalkXhKiaVSHq0ZeE2YtbIepZd5WumlWp60bZp5ti2eWb7LnW/Tffa5vDqrTVw9stW89bp+rz1+Xb69vl+9ffp9vvO/bs99dv21JdpYpK0aW7WP2Vvxrdqbt2jOaRbtlnO/5M5+J/1+c73+639/vf7XvZ34X7m9+h+19fp6r61eX7Xz+2rPrVbfv7DuTg39cne3Wu1pWu2Wt78+7118/br3tzn+SZztkn+/1fx+q/1+P7cd/Fm47Zo/vzX+XKz9On+3f/95/u2e/8gBEIyAEzEIwKUSmqUDWUjCggWKQUNRoMi9Mp+9E/lMwvwmuz9D3WTKkTSOiVNxLMJbNanaQ5WsyURAvCKTPQLBKkOJVIORwsPARKoDw1UiyXpjrV6TtcbBuXKLnYPRTsl1cryukz1Owfdzuu+DXc7LsXaOjdNxbtBsgrk2C51B2IeRnuEbeYnQr5Ob9QvZydrEhL4jW30h0gyEmTBLmSHaCZSNkFuxKdAwoogMCxFF2JSgnikbeQXQOqOJXAuRxdC2o5ptC1nF0HWyuK4LHU3Sdqe4bksd5dpdtL26W70t2jW2nKxbOW3SF7WY6EsZrdkCwYxAmzGD0+jGqxfL1WPT5da6p8tda9Ga4YtZi9GH0fbjum+LXcfRUfCoiosVD9sU5Jwo2zkn0z7nmXzLmefT0/Wqy8tVr8RgAugGIxdAzKcT3uUze8jGQgXoQmMXoMZHFfjiYx+ozucX/udzf+jEXCD5OiOfBMwdMN24M7sMzDUy3KwzO0zGvCbbPWPbZM2oQs8Vs/NCxQxA2TCjmwLF5EL6J6NfQsXCQepDo1eCzS1S3bSzu0rNWXDtmrO3Ds2VcN6ps3sOxZNxysmjU47HX3X5+uOfrtTFkPqjK18J3oiEzxF78yHWJIbYJGsbYd7shv83e/9h1uKH6kdrV+HexoX+Y3t/od4jl8zEezPp3Nyg/zs7/wXcGqHNWDuzhdQRsMiIKxMN3lSk/Cp7PyXWlKTaKWtbJd6dtN+5e/st3YHQzoG7cwvVpdLapatbS9esxts169tj12bH+GbrH+PfqdbPlfvza9Xc4Ps7q98H3R/x3fi7u4/f8ObuD/t3Z+JIDKkSR5Uw4ugOqxdH1XDiBx2Y4EcZuOBdOLm6B50c6vU+vq9XfXzrJk+cZNc58uvtXr+31/164VJpqEqHFZbhfmu5foed1unbea/bl/We+AaJnGAfOZHw7ou7dw/d0fihmo6FH3FZ+gCMjABfMTH6wo2uQ191sfCbuYvZD9Gd+vSuvi9ffXX6PK6dPF+5dfL8rrs/T9118r2+m71P2X3yk72KyU9RvfFgyqgGjxVT+ezKvzef/VPxRsm4Yo8dk/nh2q6Hn3Vb80jMqRLPlTPzrs+bdc/Z8/PB3KqDz1U784vdi9HP0bvzp9+a5c9Z+/Fz+6jOjxXf8Zf5mumPWZ/z9O66L89dd/sy74xM3zH35AcZ2OAnG5jmTRz5smefOOxVOPyqNz8c7cBI7gO3dxLthVjeobd7Gu+iT85F93Py505N+XLnn7Ll1Xj6q6dfHu9QbOwK9zc29CKLyEQvE9H0iZjLkS/TGfQpmsmUL5NZ9mqP6VZvl/H+C53N0H+zuf5vn/32f7/59JW42qkvWx30NbrYrC8bXfQfudn4L5ud9rCuyg1vU3X16MrrF6/XU/XF2Pqjr18b/SPbzMS/M9v/wMzuA/93M/fMzPsz798z9+ne65fv13v1vOrbPa/bV/326/5vv3/X9dn465uv1x/9l/ne6b97n/0/+938v7vf/5zs3zn/+zf/Wu3tWv+3t/f+7/t/79/3/xH8zIj/Mz/3v//b/e/b/6LZXgBSLtkBPU2iAc26JQAOA3MAsMaFAGdgOABQsYYB14duAS+XnQG7cPUB3PT6AIHK+wF63igB76nAAYo9rwDXWpIAdBvsACStdQEb7BcA6gQWAZkjmAC0ECsBDOJMAWnr9gDyvzMAN+vLAGZ+pwFxCjUBPPkQANYoRwAET54AhrCZABJA7gFMhrABu4EkAJif0gG/DmkApfyMAUs4fgGedwEB7UDPAMB3PAF5gVsB0W1gAEWdCwADW0UBaFzRAPMViAENMekBiNRnAcvGWAAvOLMAkPrmAGaOegAzr4QB/n5UAPUt3gAVPz8BPdpXASjxvwHa4nMB/seKAOcjrQFL06wA4pHxARrl6QDHxKMBX1E3AdzT1QD2RX0AVeWdAXsm4gClt6IAI7JvACL20gGDDvQAMZy4ABe4YAEOnMYAlu06AV+KjwGuW7QB+Kj9AKhyIADgoEoAAicKASkCgwG1hlABPzQMAIUw1gEYFn4AXQlvAITfFQF7SF0A1H2QAc5oEQHYSY4AxAs5ATjJDQHSzLkAV8moAU6ZpQGKyfUA4edFAWt1GwDRc8MBbFdrABEhIwAE0gMAYkJEAGAlkAAdyzkA9tgFAU5p3ADQDbcBEhEdARxA0QHcRCQAxYEcABObtwA22vEAduzkAEettgAbRDkB3dCAAc4RbACAhd0BIGhnAEDuEgBzCwIAJDuBACVVZABBtFUAE1VSAFUWwQAjId0AEHSzAV3CYgDmlwQAPTf1ALX0dwBX9l4AdxfWAUzFVgDTBxUANVGZAFRwZQFBaIABSBkiAICLQQAiTAkATVaOAekTdAG4tVkAl2RLAUMeOQAx2cABTjxhAIHNxgBWlBIBHwPEAKQUtQAR4HwAUpfPACdH8QF59KUAx/FyAGwk+wGZ5yYB75IbALJzzAFhhOwBC7UwAZuQwwCGVugAbT8YAbk5RwGMflsA8U5OAXSxPQAW4VcBXkaXAPVDtAB03MsBT29kAemdlwCTe3kAfKQDAIdjBgBgEp8AMGNwAXrIkgHeK6AApImvAALqPQF7W+sB7P/hAevtbwDD/5sBjaxyAJOeDgAnGtgBODzkAY1pPAHYmB8BnktYAfwMjQGPHAUBiVjcANAceAEdjUgBi0oiAeiaiACiKWgBCKyLAZf9pQBH2P8AUt/0AX+N8QCsZcYBySY/ALHTGgF+MkkBrMP4APKkLQEP4ZoB2hKnAaEX7wEp9nkB+/RCAc83ygCnCRMBGHqNAORIcgFYrwwAq2+RAPF4qwBE+2oBao9HAbnt+AHfvCsBj9vOAeoe/QGyZJ4AVSK6ATyTJgGuolUAvl3DAMVu7QBh3T4BW7tRAcQFQwEJRw0A4VARAVhxSADIo+4Bqoc7AbviiQHucKoBwnXFAEFF+wBR1yEBb9FBAMbC1gF6B7wAtaGxAR7wLwDZZtQB/RU6AJWzTQEuVF8B3V65Af3ZbAHOvV0Bm03fAfTqGQB2aQ4BTCuXAbhLNwDzspQANjH6ABSm5wEvxjYAeroFAKZp0gBQLq8AJcsyAdiNKQGPyQkByliNAchJ+AEMZzIB+YIHAKZzGABwIM8BFVkMAUwYVQGYTVQA1QwZAEx0wAHJBWYAgZcZADNQSQFUAw4AJAMVAThgFQDUYBIAoNCsAEKgeAEahYIBjwKhAMKYpgACi/gAMoyhAQ/ooADLaJYA0Bu6ADSLaQEu7AUB/WnRANR9LwBFy18Bel8VAQSRWgEaBkUBrUSQANEwLAAM3nAA84xEAAc9mAARGOcBBao+ADKaFgE+KtAAtCymAAFjtwF40jMA9uNAAGYljwAJkUQBihRRAJFEyABFFCgBCWlTAdheAwDlS0gAYD0NAQYloQEJwKcAwtIwAHKByAADPeIBCZ7jAKPeYABjvMgAB9UGAUsS1QCwVfAAVaRpAA+PqgCjmqUBKvj4ANKs4gEcdDwB3YBWAZ4XHAC1AN0BGR2RAZ1YYQDE3EwAQw1cARYbIwEsysUA4mw0AFGpmgAW0o0BbkD0AdiltACXgTsAF07GAW0etACxuXQAFrxbABPisQB20KIARqPkACKFtwAffvoB/Z7mAa+/fACzvN8BKQ9wALG8AQAHeEoAQB7GASJHfgF5ppEBv3EiAMSyzwAqF8ABqSThAIH0KgBDkkoBKvtkAeqs0wCTb6oAZZqrASPwBABCMNIAEAfiACWGIQAnzfwAU7y1AR/Z8gDWnuUAI2qsAGC4sgEaq2IApo6DAC97LwDg+tcBem96APWvgwE0kMQABiR0ABGElgAXEjAAMAnWARwuMQC1yAYARjocADReEAF9KEQAhD0WABEKXwA5UugA5LRgAQulTgCDFpMBMgBxABTkgABHACYAAJOUADbnHQB3YJcBXHO2APSDdwBEigQBKgkUAJAokQAUSCoAROz+AVuPNgG/m5EAtnjtAEUfcgE5n0UAp3xRAFF8zgBFSpUAcFk0AFSpUQAWTQcARhO+ATiD9QG+5DEA1+COAE6DCQCiQYUBSGC5ANDBIgFHcpkBeFHmAcyncQCzxQ8AT4J9AbrVlAHfIPkAlNWuAVw3jQGtQXcB2PYdAPdBWgFY/XcA189TAHdfjQBlefUBUbf4ADeVYwEP9sUA41T2AFk6+wC032IBb65NAKN9lgFamZkAlknhAUzMrQDDyTQBUwHwARyVoQCHwGUAQtScAFPMZwFP35AA8xnlAAT9+QBTbgEAZVmCAEA7ZQAgzVMAWyWvAY3TswH60m0A5uXYAV/VzAHPFfUBmdX9ANfUeQFlZkIBaTcGAKEzUwAwdksAZcevAGPzNQF68dMA1mfjAGY3UQAxZccARXYzAHHTRgBnDMUBCX20ANGYcwAW30gAcJZdAT9lUAHdNIcAhVN+AHxjgAHsIScAgOMfAHJCGwF5q6kApvkjAUrqzwDiT7IBcj1GAAUv0wAxXicAZfpQAHPlsgFfs6MAptPnAGLm/QCEJowAIQA+ARiyEAG+AEIAifEBAMJQSwBAR8gBaQUhAYau6QErzK4By7qwAbqZ6gCKI/kBuMSrAc/iKAHqkY4BlDVxAR3ETwDHVhQBeRHcAJxFGwDVQg0BbFEcAdghVQGVH6QBLZh9AJL8VAFfDNoAlo2QABcIrQAE2LQBWoh0AJcmtwA10r4AdrJ0AT6l1gCbN2cApdbbAHN2bAFttdIBm8bgAe+UqACDsewBCpT7AaCabgEqrlgBuyyCAY06qgCkUoYBaCJ8ALClEgEfIgsAqLCFAYpgegDQhooBLwMoAa2bQgCiPk0AIWzaAVk+IgGv8FgB2jTOAY0H+gG5li0BsC5jAS3uCgDjOgYBKDvaALAPGAA1KAkBDHgGAcgKVgC86rIB/qouAKarngE6Kr8BvsRMAc8knAGZEb4BnJJ5AbOC+gA2tqgBL6DmAYq2tgCzWDwBXLjYAZ4NZgGNjp0Av0XuAMW2vQE70X4B3rbRAb9WMwH98swA5jV+ARmn3wHEOvAAMI1uAAeuEQE7WIYAzOmDAMJLLwBgy5kBemkhAcUzAAEoEU8AgGZRAXlECgDNImMBqNcOAOMiWQE4dYoBxgiKAQgLrAGoiDEBmugIAMaUPwATw9wBfhSxAZ3h5ADK7oQB6wm6AJC7qQEuyGsBz6cSAbsTjwCkcvkBeORuActh4gHIl6sAo8NpAWr0iQHQAukAJMUoAUugBQGKUZIA3LdGAKcHXwAxdp0BfXByAdmLhAGuGTkAkOjNAU5MOgHZzrIA95soACa5zQEKbPcB0plAAQ4NyQCBTKUBSdg4ANLRFwBWQ9kAdEWlAU3hNQDeWm4B7I/cAbstPQGd+JsB2kdCAe0HiQChcS0BSPBbAds8EACVGcoABB5tASnMVAHbj8kAp12pAUn47QHK3XIB6BjjAYjvaADjjAsBC3uIAeUcbwAB/1wBexxTAZ1/wADhrjgBO7kKAY46wwGoTu4A7bl7AZr/TwHvTtsB+X+sAengMgDSswoAJgPLAShmpQHrXQwAwTnZARhdawHNzkEB7/mdANJ5/wFcz/sB/88lAfgRAQCEYUkAQEQPAUlDEAH4B9MAtWcpAGXwDwFKc1YB9gIgASyhjACCIDcBGMKaAPYbXwE8b90B/Ww3Ad37HgD+te0Ah+X/AVvWvwH/0/AB+jM4AbyhywGOZi8B6cKeAfpKwQHsbagAwakvAQrbGwH3L3ABPb2PAId6dwF43t4A9+r8AX69vgGfq/cBvt6/AP8YlAGcOfwAlIx/AR/OHAH7o14AtjebAT1i7wHs9jYBaLgvAILrUgF6DosApWugAZkPCwGtWgkB6HhMAcgtWgGZ2CYBzppYALINzAENLLkB5F8OAWkrXQG4fRMB3WpLAB0QbgGMllQBuwRcAJU0mAEqwTAB2qCBAIZBqgBAgq0BNEFjAUzmBQDjQRYAUDOZADfAdAFetJQAlwH2ABSWvQA/NcsBjXbnAenWfgDzt1gBVqBMAAYFlgEZArUAtNAwAFc4OQEc2cYBzg51ALHNnABmmLgAEqnkAQ6MswCTyqQAc6UXABdzkwB0UucAZOd0AH8s/QGd/bYB35p/ALbf3AGLR+kA4dSpAUvxaAHKlcMBpcOXAHJyPQB04dIBXicnAKmp6wCC/isBa8rKAeo/oAG1GbcAFPp9AHbMVgFfL5QAstqZAX5o6AHMraYBi4s/AMTB9ABShT0AF8GRAV5QpQDKuR4AkgvbATxOqQHt6CQB2G+jAe3LKwDi+w0BamnbAd+NjgCHG70BONj9Ad7scAHlZo8BaXM+AfizUwG+Z0sA7UcaAfkzDQGscVsB2GZPAfBnhgFtIzsAsPMHAW5iWwAEKe4BCI43AbvKEAD2OIgAACNHAShGEwDxYgAAZDEKAACi+wAyxiIBb6KAAKIxpgAEyM4AQg40ATmJkACWOCEAANLhAWrEYADDpYAAAxGrAAwKDwCgShQBeCgYAJQpAgEIi8YAog4xADHoiABGOCIBDIZbALNGBAFtMJgAkDFmAQWB/QAS1DUBX8DQANYVpAABcR4AUBJTATxHQADlJAUAAcIVAXpQEADUIcAABAUvAAHncQBz1AMAR3PAAGAV5wAJKb8AkNozAX7KSADmLYQBDRAbAZhSRAHsBFgAkSUMAQ0FGACREAUBDFBYANAERAEN7S8By9oXAfpb2AD0LekBDWbeAPEWNgE9s1gAtjRHAQnydgDyllIANyfIACU0pwEC0IIBSgLgAKCFoAADoCkAAmLJAGBEogFJoyAAopEDAAbzqQBiwOcBSuewAPOBowAG7yMAY8qHAGJ7sABwqeMADj4SALEKxgAkPjgAMahGAQqa3QG6TPAB3ayoAIeZLgEKYW0ByMSTAdtDKADkkYkBCv9RAPNMwwBFf6gAYZlnAQfmcgF7loYApzPwADC07wALmgEAoljAAEAs6AABjSIBD9COAMIS9AE4hfgAl6QhAQ9JkwDQWqUAZMl4AFKtBQEP93sA89bHAW93+ADxtecBEJ5gAS+MQACDPIQAARj6ABBR7QBExHEBW8UEAMcRkQAUet4BfA52Ab2vFAC3OB8AHIU+AZ+CFQG+UJwA1CD8ARwjaACkhAcBC2IcAPAQkgEYxzQA94ARABZxjABEAPcBFfuCAW4aZwCg79QAcyw7ABFOkwF9WiAA5LlEAAItXwAZoOoBjpYiAauCzACiNLgBEhhMAAQM0AEZDCQAhZgQABKjrgAmgrMBOuKkAOagsgAerDwAl4iWAR4avAC0iPQBHslsAMaMlQEbSbwA1JixAR7powHOyqcA4su8AHKpuQEadtgA9QTiAQ23LACjkFcBE7YHAS9S0gDwNuQAJaV6ABdGvAB1kLQBHrF0AJaE1wAfFXkAldTFAU9UfADRldQBGyN9ALTUkwFfYmwA5JWWARu/kgC3GuMAJP7sAGOsdgEflpoBvxLkAay0/ACTpH4BG0jrAMTeoAFriWwAgr2RASAM/QAR7DABX5gCAIYbxAAgF1YAMSZRADV0AgBFMkYAKAGZAZhgIQHMwAoAwgMMASwyNwG44lYA9iYaADUjjgEljOYAA740ADOY0gAWPuAAIR6MACE4cAEYvEIAhw5CAC19aQDB/EcBS19aAPEfwQEpwEkAwnQAAUkBygCAFyEBJrEgAAKgxwACRrIAcYKgACaAHAEaIJQBnACyAJSCLAAitBoAEyLCASwWogChomQAJipEASgslgCRKjIANJoKACarWQAybIcBTWqyAPCbJgAmyYQAQii1ABDJsgBWiiEAKjBiAYimwgCjBioAIbKIAS4yrQCg4PYBWqY6ALeDggEjPwEBKXjDAMB+YgBhj0oAI4NQADI0gQAFYOIAQJYmACdkLgFJspYBuhNyALSmyQAn1LABW7DkAIaV8gAThu0AL7osAaq41gGaLvoAtY6qASsmugG5sqIBrrJqAKKmzgEwC40AJGgxAVjoBgDGCxIANCaSAT0iJgCkshYAMiJeADCCGQA2YAABTCCGAIADNgAweywBbKhTAZpvBgDlCpsAPLg7AZ7qRgHuDp4AsSu8ATwmDwGtYhYB+DIeALQjWgE46dwA1iwzAR3LjgDmGjUBPMD3ANbmNAB3gZ4AFjO1ATj3VAH/JFMAlXeOAGUSfwExBbQBHbAxAJbQRgBGBtwANbj+AR6+dgG/jtYAtz68ADWy0wE+dmYA5abWADM3PgA5m84Brj5xAbnszgDHPjoBOW0uAMW6EwE6W04A5C7RAT3ggwHOciYA4IPeADInOQE59NAA1zRiAAWXzgAjFnUBOf8gAOe4QwACf84AYQ7zATnHiAHvMCEBiPHOAMIGewE2DyQAJaiVABJ4NgBUitIAMh7VADVs8ABVvCYAB5tWADa/0QE/bOcAxf62AHObfgA2RusAZeakAWuxNgCSs9MAOi2oAIWoowEK2i4A4orQATqTuwC24uEBbuSuAMOjtgE3la0AB/D1AVrU9gDXh/AANwSTABVypABkkHYAEqdUADOg2AEeNKIBjYLmAKKWPAA3Q6cAZPK1AHLhdgBWp5MAM/pcAHY80gEdL+YApZ43AD+DbgCmtpUBO2D+ANS2sgE/a2AA5LyHAANrfgBwnpMBQOHNAEJFMwFZw4EA5lEhAEyQ6gCCh2QBK4SZAJNwoAFImmkBqs1AAcssiQCBWaoBTL73ALPPdgB3vpkAN3nmAUjrigHqCyMBqOuJAOJoKwFI0wcB6kNRAPBliQBFYSsBTFqYAfgJZAGMrRkAk0gPAUEkEwEZUwIA5BJBACBlTABNC/gAsJ0lAQ/oWQDSXIYBSVu9AfjZcQHe7UkAx02PAUaNZQADzZUAU1ixAFTZ4ABCtWsBC8fDAetWoQDh8egARlyDAEFL5ABgnTEAE+lBAEb0ZwBDx9YAcxexADXx4QBGebsAUMvnAW7PMQDz6YUASqOdAbpBswHc4qkA5sEuAU5BTgHIB5UBuUE5ANTwCQFOS8IA4A+lACHpOQBS+AMBQ4nTARpfoQDlyOEAQv0sAEeqyAEqHaYBiarxALLcKgBDOxMAMFvDAGRuYQBh7QYAR0ppAWjdhAHLKXEAkN2LAE8W6wGp1+QB67R5AJP1ygFPRaAAwZGlAALReQBSxMEBUJFsAQ6FUQGbRIUAxVC4AFQQuwAUw2QBboQVAJNhlABQWk0BbE1QAdktBQCFWRsAUHLUAHQFcgAVpwUAJ1AXAFTq8QF+zSYAx6uVADJZvwBYCcMBjE8hAOHIDQBCeRgBXFl5ANTNRQFPTR0A0VmVAVhrGwD0SwMBbGsNAOBpFwFRNPYBHZdyALeWRQAndNwAVal2AR6fFwC3StUAdHy8AFWXtwE/03UA9vTVAFdl/gBVSEMBTF8EAOEJVQAQfRkAUcscAHYZEQEcacUAxEw3AFlnaQHt1QMBy3NNAOBV2wFZV5sA9VNhAWz1TQDDZVcBVqCrAQ7DpgHqgrUAsuG4AFJMWABVDYABDRklAIDYVQBWV0QBbQXVAJF1NQBV0FsAXgE4AJSBhQEOQD0A0MCUAVoB/wCUx7EBf8AtAMbxlAFaNRMBnUPDAORWLQBh4VwBXh3XAZ1P9QD13D0AV/lcAV6SRgGuB9QAsSS9ABXwOgFabKIAxYuiACKbLQAi6NEBVzkFAARZ1wBQTnUAdc0QAFe57gAGn/cBO871APf8sABTGywBLJnRAZpsZQDFzJoAV4YIACcRhAEIMPUAkMRyAFezHwE+U9cB/Gb1APXlPgBXr30AN92XAV969QD03fYAU/DrAEbX4gFrh+UAo/WxAFse7AClnfABG7xtAIfc0gFfBqYBrZO0ALKwfQAW5NoBXy5XAb1flgD1On0ANP1eAVtZwADEHeEAAc1tAEPcEQFb3X0B393RAd9d7QDF3f0BW04vAOXbkAF6OW0AhO3TAV9viQHtWacByPt9APLNWwFbY9oA9BejAS3jbQDi9BcBYCAkAQihEgCSAgMAJEKIAGSnHgE7IxcBvHKTAPRibgBgVFQBWSVQAJUVAwAFUk0AaKZnAKPnEgBzMosAJHPiAWzrvAH6qTcBnuubAPZKrwFpRs0B6XUwAdmxSwCGV0sBbfOpAerxZwHK59sA80erAW1eHwDxe1QBfD1bAJVvRwFmIGMAAOeGAGMCMwAw84AAZttTAXpvxQDlbbMAUfsvAGLXEAF7IcEAhHWjAEHCbwBqpVQBmyWTAJVSqwBk0mwBbi4pAanphgHKOjsAsMvKAWc2kgAxM+YAJLZzADPmRgBnxMoAQzekASmR8wCS9mEAY1MiAWizwQCiZWMAQeaLAGs7xAGoPfMAke5rAGfeCgFvFlABuTXEAIU0ewAR1k4Ba1glAcj50ADSDWsABc+JAW9j1QH4dbcA1eN7AHbXDwFwwPgBXqUgAY+BhwCCUr0AdNfQAHclZQAF9ZcAU1J3AHErbgEsvxMBu2pHAOR+mgBxeRsBXHtDAexPRwDhbx0AcULSAHQ3IAAloUcAAnYXAHFj/QB09TMBX+NHAOZXlwB1/noBf79GAa8/1wCxfv8AfZiMAIY5dAEYjN8Al04wAX259wCW/3cAd87fAHd/tAF9E5MBvHNlAOTkXwBTZx4BeUdnAOX3EQBzcU8ARHfTAX3fwwDnf2UAYf3fAFN/cwF571IB/z8DAKV7zwBgfn8BcgC2ABSjsAA2gCcABuKUAHZEmAFdIaQBjJE3AJLCXQB2ekIAZC/GACEvNwAx+hMAfgu1AbzptQDW6D8AVsueAXM64QEs/eIAw65nACPfmgB3izsBPvuFAe5o9wDQ774Ad13qAEW/5QEr3XcA0/7RAH9MAAHNOYQAgBl/ABDOWQF7deABzbXjAIPXbwBj1tkBf+K6APazpgEuo/8Asua3AYCwQwEKRkoA4QaAASkxKACAvD0AE8haAV4egAGtCeQAgDJYADAESgENJgABqRAGAIBcGgFZCkgBrB0AAYkoTQCE+yQAYohfABJvkAF9CKMAgH/1AXnMewDX/wABbxnPAIgtxQGJTDsA0doIAW4ZSAGImeABioxpAIPMiAFLGKgBiBmVAJBIeQBUzAgBTwkEAYUdxwEJXn0A8dxQAV89SACBu4cAIlp7AHDuwAFvLSIAgeFgAUqUCwCDQ8ABaBSpAIV+IQFp2E4Awj9QATkNywCB8pIAchJqACSnwAErJCcAiT1sAYmcWwGbXkgB7RzIAYlksgHZkioAppNIASokzQGN1B4B2xJcAbwV2AGdJG0BiV7RAflcaADFvUgBCx1PAYoErACBgLgBGpAoAY6AwAGOyBYA0gqcADQJuAEcqCUBjvL8AfqE/gGfp7gBv5CvAYMLiQAgWKkBSOhgAcqNAgCHK20AINyfAVtqcAH8nYIAh0UxAFHQjQBGUXABWIXFAINseAFZnIoBjxtgAaiczQCH7g0AY1ieAVg78AG8jWMAi7ErAYrSywHqRugB6aWoAYuR2ACSFOkBDcToAcuUJAGLWWYAwJ7ZADNNaAFNvIEBj+VVANNUnwBVU/gBfJVlAY/zZQHq1N8A02f4AX2VqwGUGhUANEhcAFQsFAEdCRYAkOGnAEbCOwByw4QBbiGxAJBH/wB1xjkBf/EEAc4x1wCcvNUAl0x+AFWenAE/GXQBmJL0ALaEeAAXpIwBDxC2AZxTqAHsgG0BiuUcAdsAmwGYw2sA5sYJAWthjAHIMbMBmHI/AfzCWgH+JwwBrSGfAZET1QA0VHkAVeREAU8VFgCVv/sAN95vAW/+1AH7PfYAlUUWAV0SHQC0UVQBXCRdAJXu2AB3HC4BDbvUAbocdwCd1gQA5xBcABA13AEdBHMBnWJwAPSUDgAHI1wBOBSXAZavzgAnDr8BOfq0Af64cgCWuhgBPgjOAYwutAG5iD4Altk9AV7I3QHeTbQB3Ym9AJ4hLgCEgp8BOkI8AfygkAGauYQAhgj7ABDOrAFviDABmoFPAY5GmQH5QKwBzLE4AZo7NgG8itsAtm4sAW2ongGewyUA5sCdAFJhvAFcgbMBk5UoAAeQyQEKVOQByYTwAJcyLgEskt4BuiZ0Ab2kmgCX05gAdhDtAQzl9AHbhDcAm52jAY/a6QDi3OwBS634AZ8c8ACVnOwAB5x8ARuc1AGfM1IBvBbPAKVmfAF5tB4Bm/rKAOYe6gEpr+wBq7wzAZ/6lAD2GP4AFK/8AT+MNwGgPMsBCW5qAemeAgGrO0gApKhpAALsDgFLCpIBuBugAKCz9QAy5HsAV+aCAW8TpgCkar8AcOo+AX6rEgG+K4cAoFt4AXisSQGPbQIByRqPAKhomAHYKCoBjIsKAaoKDQGszTYB26odALZZmgFcKu0BrNx5AdvsTAHPHZoBmRvtAaFJIwBA+gkAYklCAUgvgQChQ9kAcHQpAU3hQgHKFwcArbDRAJJ0bgBFhtoBOxckAambHAG6OFkBnGzKAc0OLgGpitcBun44APWoygEOPy4BrVRqAcm2TAGrFVoBmTbJAa3rUQH6fA8AxWvaAXgfLwGmHY4AASr9ATjcMgHfqkAAplxmAUmu3ACzHTIBHbrJAK68JACDqN4AEh66AT2K4AGqqzAAsqiLAAZqqgFoiqYBrszYANMsrAENmboBmpplAartuwDT6qsBbtuqAeqr5QGu480B6mS/AdnjugH+kysBpzYIASkwzgGINnIBuYZKAKPs5QBD/LoAU5viAS6f4QCjwZsBWnKpAezB4gHKpy0Ap/o6AHK6zgEuL/IBua6nAK+laQGL9I8By1L6AfiX6AGvyL0B2vi8Ad6J+gGej60Br++kAOO4vwAS+/oBfo7jAatn9gDxtrsAN/NqAW62xwG0HFIAFS5MACUcFgEZOlQAtD9EAS0sXwCRfhYBfRpaALTwygBGJm4BKYeWAbsyMQC4GC0AhOhYAVoMDgGNC5ABvL+IAa8obwGI/p4B+wp6AbiOBAGvKBgAkDiOAQwKegG8eCgBzKhOAYoPHgG5CpkBuMhDAc5uCADhCY4BCDs5AbzzPAH+oF8BnmeeAf0CvwG1EwwAJDBdARhkVgHdBhIAsT9qACW+SwErfkYB6T7SALFlewFd9gsB71NGAeg33QCxy+0AZvw5AVvpxgHOH7MAscJnAW72GADzIcYBDDe7ALFa8gF8vmgAp61GAQs+nwC17h8Bf3oeAfw71gG8L38AuZBwAZ60SACHBM4BCRa8AbmjQAGuNAsAgWLOAWgWOgG5eFoA1D5KAS0PTgGpPhUBuffLAOd2awFp984B6zdzAbYFAQENYI0AwFA2AViDWACy/8IAZy7rACH/pgFrunMAsnsVAHRo2wBUbyYBbYsXALJuWgF9LooBrTsmAai6XwC+tfMBn+bvAOfWvgF7s/wBuqehAKfgqwBC8q4BaoPyAbpyCgHsIsoBqCcuAamiGwGzMEAABDTKAAEGZgEplhAAt7U0AR+w3wCWVvYBfYb8ALdpTABEPJ8BGUt2AfyeEQC3xcEAR3StAEHR9gFal3EAs1feAHU2+QE99WYBz7ZXALtU+wDV9ugBb5VuAYu31QG7ymwB7ryYAZsp7gGMnrsBu/vhAe786wDD7+4Ba5+7Ab/2hgHvMv4AsLf+AT+mewHELXwAEY0fAR9aEQH8WMQAyBw0AJGJWAAWHAkBDUjEAcxD5QHoxT0A0+EZAV5RiwHFNa4BCZN/AbrWUQH/ZMgAwZLAACIVaAABpMEBC1QiAMUj9wAw1z8Ad+JRAX51hgDBn/4AM595AT/8wQHPfOYAwVRhAEHVSABDFUEBCVXBAMFXggBhE2kAIPVBAUtkQwDBxzcBe9MZAPZxwQFMZe8AyYzvAYvfOAH7mMkBjn3oAc3wbwDC114BewfZAb11oQHJX2cB6d9ZAPN9SQFNfcsByXfxAPHVawBH90kBa1XHAc3ilQH6UT4A1KPZAT5FLwHGvwcBK0vfAPB+sQF96WoAxr+4ADOJ7wEO/rEB+8jmAMbbyQFqTe0Bye2xAdvZKwDKMYgAgAHrAQjGKQHrwAABzt4tAevJ3AHaPbkBncnrAcd4LAFImd4Bmg9xAb3MiQDLq0sBql+LAelq6QHo/SoBz0O/APDTvQF+4XkB3uWHAdCuVgE/DxoAtTqFASx4fgDQczMAdMNLAGZnBQFpYZcA2BSYAJUBaAEMlA0Bi0BUAdxgnwHcQz4B/IMdAb5hHQHVdVgAVRVPAQ1XVQH5VFUA0eDXAFZXOgB1g8UBLnU1ANX7sQB22W8ARu/VAXtNtwDV2nQBfp1cAJct1QEdXL8A3Tx0AZ2dXgCXHl0BPVzcAd2XbQCn1V0BW3TdAd1V8gHZGzEAtNlJAEZsTQFJTZYB2WKmAOSTOgAyo00BLmSTAdKrfAE+jZsBn2qlAezYvgDSxewAR4W5ARvRpQHO0PEA0spqAGaPiAErKaUBiPizANJr1gB0D7sANeslAW74FwDemzQAtondABZsvQFdyLYB3pKeALYD/AE8pL0Bn+A2Adpg2AHcBaoBjYMtAarQHQHXObIBHJvvAKbOdQF77JwA118mAGWb3QAyfXUBXezTAN8BQQGMVY0AwUB9AVjVGAHfeQ8BzFvfAfhPfQH97RkB2/d0APeV2wAXd+0BbdT3AeBDTwFoZxkB+WEDAcxzCwDgxuMAY+coAGOxgwEKc+MA7Di9AZjpfgHejhsBv0uMAexR/QDQ5X0BX8UbAd9ThQHljSQAA7kdABJY0wFcTuAA5QV5ARn1DQHPUFMB2FfMAOFO+ABxvSgBD7lDAYpexwDlV9wBeTV9AZ31UwHfVk8A4ffyAXu3awCn98MBa3bvAOKFTQADZZkBWVCjAczTYADiGBoAECvIASwMIwGJ6gQA4ivLACBvqwFp6iMB6vsCAObsAgBDK44AIBuzATjqYQDmYoEAYGGuAECjMwE6wwMA6iZAAKEligABMisBKNJCAergxADCJboAEYOrAS7SIQHqcpQB+CH6AJSnKwEvwg8B4xE/ARjz2QH+RGMBzeeMAOcL5gEov70As+hzAV7+igDjZPEBWfWqAMeTYwEq180A5/riAWq/7gCjr/MBO/6rAOPb8wBy/+kAZ+3jAUv/pwDvh2IAo7eNACNw+wFY9uIB711wANG9zQAHXXsBWd7FAetmDgDhM5oBODNrAazmQwHvSjwA8LmcAR4pewGczocB8LIhAS7hSgDCJocBKUO6APCvTwAnbxsBeXqHAex7cgD0nzwBP6ldAZ58lwHdSv4A8PUEAEchWwAQV4cBbUJxAPDyeAB2pUoBDyeHAalStwD4NGMAhedKAGMWDwEpc9AB/NuPAOZrfQF47Z8B32szAfz+TQHvbV4B2T+fAb1bewH9sEUBjnVeANEG3wE9VzgB/TPrAKT3bwFr5l8B+3eSAfnE2QHfdSgBzZHPAYpXfQHyI5EBPGGrAMTiJwFqwx4A9tL7AX7n7AHvpbcBm/O/AP7v0wH/b68A5fu/AXr7fwHzsDoBHrPKAa4G5wGp5rwA94pNAS59nAHZKPcBnN86APOPnQE/ebkB3PjnAc7PfgD38icAZvPeAHIn9wE957MA/72FAY95/wDQ3v8Bf894Af8mxQGtdb4A0bJ/AT7XWgH74GEAxvWKAEMD7wEo17EB/9waANc7zAEsHf8Bme51ARn4YwHO3kIA4w/MACE9uQGpXR8B2XpZAfxdSgHNL00BALhIAQoMQgGJDoAAoRgoAADs4QBDzCIAQ5uAACIZ4QAIYWYAwIYTADNDCABkMIEBCPSDAMNCYgBgl4gAIyFhAQz4nQDSSHYBXI+YALcJJQEIwD4B2oIQAb4BiACEIK0BATnAAAAcYwABzkAAYxwAAAEoCgAAGgIBKApAAKAsAAABvrMBO9piAOa+wAAjLe4ADYBVAJJUFABVANgAFBUkAQ2vYwGr3gcA43rYAHA96gEGtewAA4T3ARvWsAD3kOAAApk2ARqK0QC2TKAARaisAAa2jwAjQvYBeLawALehYgAGfUABSQzHAIFfMABxmEkAAnJoAWiEwgGLJyAAoZCLAAbL7QFqzLUB2+mwANaZqwAODz0AsciVAV54OADUicYBDtXLAMNG5QFp1bgA07FhAQN9JwFJ2tMA8l9gAGWtyQAD6Y8AQlqzAXjL4ADmrSEAB/qfAXpa9gH8r/AAt60vAAtMEADRGIAABBloAACMRQEQuVcBHk5TAPVOhABlOTwAEBYpACXAQAFKNAQAgQHSABBiiwFsQiIB6KMEAKIhGwAYnbYAl4pxADbcjABHKPQBGG0AAc0IAwCAWwwAYAhZARx2KgDlgkYBKjccALEg0wEYX+QB7YxxAJP9DABHGNsBHEIWAPQCFAA0IRwAFCAXARE8qQAF2GIBSp5EAKMN0AARmDkBHthAAc4MxACBDbwAFTpjACTeRgBjLlQAMT2SABUSdQE81FQA1yRUABUVngAV3qIAZ5pkACK91AATLPMAFWoYAXwYBgGMK1QAsAwfAB3RKADGkEUBCkXcANEEsQEdcZQB3BB3AJTHXAB3BB0BEjmLAQxK4wHoziQA46kYABIFmAAVAKEBDNAkAMKAVAAWApgBPACkAYygNACSgB4AGjR/AZ3G0gH/FiwApbHcAR7c7wHPzvQB+528AJe5+QEecHMA1MbGAGcHPAAxsZUBGkOVAPRAsQBU4SwARoEXARp+GwH9SsIB7D8sAKGpXwEXrcIABx6nACHa9AByvHAAExneARwe8QG9zGQAx7wcABuokwGeWqIA5IrsACKtPAEbk0kBrlTBAclk7ADBlToBG9AbANZSwAFsBewAgaU1AR9C2wH8VqQB7aF8AJK1HwEguaoAAqpjASrOggDjKqAAJMS6AFOiJAEukZIAkiLlACitBQCDaBMAUFqKAGQLYAEsI2QBqKQXAJNiGgB0EooBLA6aAbkqJAGsuBoAkipOASxRAwHIYkUA4EUaAFEjCQElxc8BS3Y1AfnR0gDWN2kAJcjTAVp+JADlidIAEj8tACF36AFptGMBi/dCAOMWywAijdoBGy6hAa3YogDCumwAIgruACCusAE7qCIAhrqCAC6GLACjoJQBGjC6AJSC4gEqti8Bq+LSAfo2qgClo+oBJzwtAAH41gFaHnIAtY/AACedSgADPsUBKVzyANG+YAAnmwcBKnrVAPBs8gBVryoAI1eEAGEw8QAQ9WIAR4ZDACNOQwFpfoAA4TliAAC/SwAvq7kBuvinAc7q+gDyj64BMLAuAQ6iUgG6BoYApSK4ADAoegAUrgIBLwoGAKA6lAA0/aABT6hnAILflgBzCvkAPNaJAOdgZAFItZ4AkwNzATh+tgD1qnIANr8OACcq1wExAG0ABPQQAVsARgCEF5AAMRfbAT12YQHt9EYAwzdeADGndwE/9hMA93LGAGQ3/gA9gAoBjjIEAagA3gCQJjgBPeKdAPZwNgFco94Atgc3ATZqdwF87pYA9ys2ADS7nwA2x74Bf6K1Ab7xtgDWov8APrspAKboxwFKbr4A8YuyAT5omgDUKqYBLIs+ALKqFQE+XwIB7SrFAKB9PgBRqlsBOlbOAe0m8AG5tS4Ah7JbAT5f/AD1rPUBH/0+ANea1wEzuawABrjzARrO5gDnjrAAM1SuAEWy8AE6lWYAh6bRAD8ZoACEuOUAAsx+AFOOkAE7rWEBj/yDAMNa7gBgn/gBO3AvAczy0gH6B24ApaeZATvrOgH+uoMBrmvuAOCuvwFAU1oAcAdBAS1lAQDBcAcAQZgWABIbUAA0DMEABWwkAEGPsQAz2SEARvjBAEJN5gBF2SEBStlFAMJN0QBRTakAResBAGJZBwBAa9EAcE0jAEmdUgCTH0EAJVzJAEF8ZAFCOE8BCE/SAfkOIQCl+QgASqajAavDogDisqkAIuHqAUrFKgHLg4EBqlGpAMDg6QFKyHMA0s+AAGcJqQAA+aUBR7TGAQsX9gCxlvEAN/RoAEOTXQAyVdEBXWThAMXVJgBDeHUAUN3SAFcPYQAl3YUATzqvAajb9gH6rnkAt+2KAU+HRAGrFZUAkXD5AFTUagFPh98As1e1AX3w+QDW9WYBT8TeAdsXtAG9kfkAlvRtAVQfRwAlT1UAcXwVAFV5UgBQH5QANQlxABT8BQBHSFYAXJFDAIZHRQBhRJ0AUXEwAVi97wGPz3MB+96NAOd5+AFc3QcBz0tVAPBdnQBVaXkBXGZYAf0FBgGNMx0AsFBfAVzbMgH+i0UApm2dAFFovwFVRdQAVRU1ABXRVQBWVFUAUUQ+AFWTEAE+EUUAhGTVAFHn5gBnlzMAM/PFAGZ08wBZC6cApNsxAHLoTQBGbZIBXbo4Ab6ZRgGOLt0AsUy+AV2mNwG/0xYA9jLdADRl/gFZ+ZUA1llzAFTPzQBnTTUBXf/sAOeddwEb/90A91zzAVKdOgAXi8EBLlylAMHo9ABWOpcANEv2AHSuNQA36RYAUmMiAGSDgwAiYyUAYOCTAFLLMQF+yYEAxmmlAEDJvwBai8wBrg2xAZnorQDG2DoBUyFqAASXgwErQmUA4PSQAFf1EQBXUccARFf1AHHFdQBf3CEAx9nEAEId/QARzfEBYIwcABMpEAEcGIMAhEpkAGCi1QE6ZTIA1aKDACZTLgBg3gUBa2lQANA9gwAFS2sAbExuAMGvFAE7GRsAlHrBAWhSDADgIVABGCULAIVCAwFlO6cAIPt3AHLuUwB3b4IAYarqACK/IgErqsMAon6iAGVxbgFIt1cBu0dTAPV2iQBlfFkBWX1GAc0fUwCxX00AaYMuAaqzEQG6YMsAxGaqAW3EDADDMRQBGBHbAJRGYQFt0hQB+jFUAJQl2wAVRi8BYpalASvh8ADStKMAB8PqAGJ1JgFJo9MAslcjAGXiyQBiZNYBWSeyALWTIwAm8k0AYlvcAXgt8QGd7SMAx9oPAG4zAgGoI8cAoGY7AHHiCgFuWokA4GnkAUitOwCTywMBY9HUAFI18QAVxeMAR9YlAGNLgQFoeaEAwOljAELPCwBrOJEBmHniAMSOawAjzwwBa3oqAOC7wgEqL2sAoe6DAXQ4MwAU60YAZg4XADFrlABwBiwAJaEQARowBwCEQtIAdKqNAS5pNgHYqpcAtks6AHRMjwBFazQBeJkXAJZrUQB8t6cAp+N3AHL2nwB3Y/IBeAMWAbwjEQC0YA8ARGIeAXzHxgHvJzUAsfGfAFZyewF1tgQBLzFWAJA21wA1RnoAcf5lAGf9UgBTP8cAJV/zAHFPmgF9OyEBrPlHAMJuXwB5IHcAlPcSAHcCTwAkd5QBfXnNAMR9dwFZz18A918RAX1DXAD0NRUBHWFfANRWFwF9fzsA9ftHAW5/XwDxb9cBdlUIAEUhxQEIVTcA0cJRAHqYxwCGb/AAcYyvAAf7MAF+E8AApCXlAAHkPwBT0hIBfl5ZAf1txAHNPT8AkdtfAXMkhAAFMbIAEJJnACbGUABzLicBLfuSAPI6ZwAk79oAc4tUAT49kQCVaOcARN4+AIQEIgABggwAIhAQARggwACA6C4AQooaAToLgAGsKKEAgO0wAFOICwAGW4ABaAjlAIw1YACBhE8AA1YYAXkQwAGMePAB2IxuAIePGAE7GI0BiMKAAeoAKACAoYgBCgArAYEaZAEonFgAkyxAAQ0cigCBJqMAIdIqAGKyQAEqJcIAhZqMASoYfAGYrNABnwwqAIkTFwG4UlkA9GRIAU0lDgGCCSUAAMiZAFJIIAFMiYAAgrfJAStE6wHJ9qAB65FqAI65vwGayv8B/s64Af+prAGKn+wAo4z5ARv8qAHPmOIBjuTiAMOGrgAjk7gBOrDhAYcg6AAAlK4BC4JwAbqUgACHzWABS5yNAINZ8AFYnOkAh0esAWmQvQGa8XAB3oTLAIsKWwCwXogBbShoAYi9BgGLXL4B2Zr4Ab6daAGPrM0Bj9W0ANOQ/QAW1fgBX4TlAYt2KQDh0MoBSjdoAamFwwGUM68AJMJ/AXrmFAH/IZIAkFVIAU0ESQGJVQQByRBZAJw+JwClyl4Acj4cAT0p0gGYl58At0J5AXz0jAHPIXYBmFiQAdwIaACEjQwBCwgdAZW2HwA3Ul4BfDbUAb0ldgCRQDcAVNIYAHYBRAEMJZUAnbOAAKYQbwAA5twBewQyAZlBiQHMUCkByMFMAcoFGQGSrSYAB4qbADJapAFsqPAAkmXkAU2EuwCT0yQBbpDZAJJvjQFtSLsB2PskAe6JWwCWXpkAdUjsAUy9NAGbiVcAmgtNAKRMmQFZaCwBzJkSAZrdEQDXSMkARF2sAUmJdQGT9pwBfxD6AZy35AGvhH8AnzS9AZ3Q/gHelnwBv4XcAZ9QCQDEUMwBSAV8AZmFEQGgmRsBGmpJAexMggHJKywApA/qACGuLQEr+BIB2jrCAKAPUwE5bgkA5XgCAUg7TgCoAmkBqOQIAcsgCgGIE4oBrBvNAahsfQHZ7BoB3xsKAayHTQCjZB0BWXCaAdwTYgGsdsgA4SRuAQm3GgG7EkMBpUSnAEHyPABykVIBHifBAKH0XABTNFoBHRfCAa0WZQCpnakAg/hpAUrcygHLD+ABqYf/ALP2OQF/8MoBzjfmAalHYgHptgkAo3FKAUg2ywGmgXIBGqaNAKdAsgFYsqwApvmsAUqo/wGaz7IB/4qpAKLEJgBDopgAMhGiAQyi4QCqNWUBieTbANNWKgFtk8gBqqhmAIKumgAzCqoBLLqgAarIjwDCargBeImqAY6rIQGnbpQBeTi+AJS7cgE+jk8ArwQkAYmwnACSEHoBHIbIAbBBLABEoBkBGkEGAcwCkQCw0OMARuZoAGOFhgELM7EAsO2BAU9oKwDA24YBagt5ALTn7ABnpD8BG/OWAf4S8wC4oOwBjqQ6AZuCjgGuErgBuLw8AZ+oWgGeHo4BrQr8AbFm4AFttCoAg7NGASoW2wC9MQoBjDJPAahGXgH5JhgBvT+6Ab26bwGu/l4B+y7eAbm+3AC3PHoBHb7OAa8edgGyOvABPKzqAIeuJgErmp4Ats+pAGforQFK+bYB2ovzALoj4gGspqsAo+IuAWqymgG3JKsBDfKuAeqSdgG6p9gAtyn7ABT+rwFvynYB+r+UALOuCAAnOIoBCDrmAaiOcgC3VsoBbTbsAam1dgGbtlsAv6j0AJa8vgAXiv4BPp60Ab+UEgGfMswApBT+ARmmfAG/ekAB7DzOAIEvfgE5nhsBxIXIAAMFLQEJ0JEB2lBgAMAOCQEpSQgByDgBAYhJSgDAcP4AUId6AT+HAQGvcIUAzHQRANFBTgBEFxkBOUFFAcEIWgEYHwgBrQhBAYh8DADBL4IBKRsrAKD6QQFqbEoAwSN4ADCVCwEPYkEB6FSGAMY02wEZR+4B7ZYxAbvxTADGpPQBG4W+AJeSsQE+0OwAwuQZAFNBigFME6EBqMFlAMMdIwAB28kAYlxhAUntwADD8sQBahX6AJGn4QEv1CsAx1/fAHFf/QF9/XEB3/1HAMtlvQDR0bsBXtNpAe7FxQHLxw8B61OZAfhx6QHM5WsBz/a5APPR7gFOt/kBu8XnAdRU7wBFx3wBe5UVAZ9x0QDU+9wAdg1/AR3vlQH/WDcA3OhUANYNHgAVC50BPFg1AdWxlgAWE38ANMbVAX9kNADRnwcBL1tZAPB8xQFNbXoA0V1+AV2fWQG/XUUBzXzdANmkhgGPEzoAsJLNAS5keAHdCTABnJkNAIZIXQFYTJwB2bQ5AZ/RSgHOFs0BqUX8Ad2raQGu3Q8By2rdAfhdugHZy0IA5h8JACFpzQFIfDMB0iENAARBmwFYQiUB7MEQANZJBABECZ0AEEk1AVzIEQDS2NsAVk/oAW2NpQGL+TUA2j9FAa1N2wDRfi0BbdlaAdp92gDVD+sBLd8tAev4VQHa0+YA5of5ADPlrQFP8LMB0zO9ADTR+wFe5mUB78WWANfh7QFO1b8B28P1Af7VuQDbxXoA15eJAS9R7QHI9PUB4IA7ARrjCAHuAIMBiGOsAODPaQFr7QkBy3mDAchb6wDkRzABeaENAIZxEwFYQs8A6B1WAZkvWQC1XAsBTXpMAejzSAHqJUsBiWeLAelSKwHo/q8A4+t6AXq/iwGva+MB7OefAPNjPwF885sB/mNnAeE81AEZPXoAlZ5DAS9eTADlzGoBS78MAasZ0wGYfukA6a+aALM7KwEs+ssB6m5mAeMA7QAA9bgBW4BjAY7XgADnsQ4AAjPfAThG8wH95iAA48B+AFK3mAE/AeMBjPalAOuMowCD+6gAYpjrAQrv4AHrn20Bq/3ZAdt86wHN3+oB70ELAMBzjQFoQXsB2OcBAe/CwwDid6wAYaH7ARr3IwHwqCAABqkKAAIKhwEoSrAA9BnTABRvbQBlzBcBW3sUAPSFvwEf4z0B/tCXAd5j/ADwaswAZC06ARmrBwGuWhMA8HtrAWzvSwHrbwcB6XubAPT7qgBmq28BKu+XAftqswD8xi8A5+McAXoxnwGcY/MB+G8QAPUpCwAEew8BaEpXAfx/eAH9rU8Bj38fAfla3wHxq9kANn0rAU3qxwHqXzYA9VGPAUxzfQH4xVcB32cZAPH4pgFOu3oAso/HAS9uuQDxVhgAdTFIAQw1RwGJRlcA/YTEAIc1PAARkN8BHlZwAfmNcgGfvwkAp1jPAUh+/AH9D1UBvX0dANV4XwFcX14B8pxvAQ/v2AH7HKcBjfv4APaIGAEeKYwBjAi3AZjKPAD2B8UAJWW9AFHwNwFe01IA8kHXAFRnuQB1wScBTvMVAPbxGwBWY88BbEe3AfnjNQDy5ssBb2eqAemzpwGq83sA+tUgAc+hyQCCVa8BScL5Af5D6QDk5a0BS+E/AdrTkwHz+44AZjv7ATjv5wHv7jMA/7vaALY/7wEt7v8B+/42AfvJDgHOO5kBuEnvAczuOQEePdgqBuO6RjEJZUG7xwiYxiXcBw77o4kB1+YYBQ6JHF33AHoBhn4LFZB+rA3saVdQBrNX4JoIYK6pYwfJGzBpDkIyS94MeWDNiQM3vSTEAtYH1uEFpMtKvwKodr4GC0/VLTIF2Ojg5ggrjBOKDxZwcXEL9RyDHQRCaLQfBQ2lwJUNr4LRZAK6kDpbAIilDykKE3MXJgBZTwpRAQZOjOwIMH1STw1tbmE8Cb8kq+AMk8hnawY8LzSzDIML6zQPPNLPQwzyzX0MAUXfx04D/PcY6AnHLj+6ApFxjvMPSNhbJQd+VFaUCOpNobECEpaipw5xBVj8Big65vgCY/GqCA5B9nXBBIbc+tAH5NTUOw7gtfO2AX3CsrIHjXKpPwbbtM5GBW/JVOsBpicy3QuiuJ3NDlmxdR8KezuR1AVfiujZCgn9HpwES2fUcAojl4v5AFDivm0CFU29GA+Uv8VwDPGL2yoIMOo/0gkwCjEOAhg4KBANRwjFAAywgUHBCEgH768NPuNPpAe/X34BAuJfLHcMVt8R2wbQPti9C224j7YK29G3wAtmiDJ0DIhA85kMMuTBFgY5nPAhAXboy3gBtey2iQiB7TF2DhkW03oNmlPZzwN+vgwfA885vKUJz4MH1w6py4QCBAKHeEIJJAIdOQWUIe4UAMZ1SUkA8SYErwAJKSrmAw9SBkgPwdKIlAFMhJzCAoKRFLgDRDOSEwLnSAhSC4QUpcsJ1KEBLgedOlKCAeovyoQIK8ItowoSFT9FB1xbRD0E6WO3ewEX56reBY3u3GkHp7Vefgj6NmUqD3c5a6MF9UpmxQ+sXWnODgZb/3sN9OfPHQ297/2mALuPPnIPBUHXLQa490JUAGtOuCoAAqQu8Q0M9yRqAsM3GigFRWJO8wChRY7MAxM4o54LXfiBQQ/XnFHMCPgoEfsKFaiT5wSZyFJcCy58kVoI06ShOQk6QX7pDiJ/Zx0GeXfoJQxrjm/kBE8R4mwA6uICyQQDZHiPAik0BHUHUw220gAAy4D5DwS22wwK+fAdMABYm/rjBGLKXpwPLHX9kQrzl6U0BmQJ6KALpJIngA7QUXkCBnAeRJIFYFN6iQFkZiyUBokV7KAGYpNGYgZhWQabCkB3ocQLXZYJqAbSOF7gAmv/eNcLbxa9/Q/ese/9Bvv71o8GcK2WpA8N23OwCvJWm1AOUNztuwB1hG9xCrBZt+wEWO9iGg4jftmgDXqVGS8MWip3tQE/SYqVDore5UUKhgl2CgqgcwETDVUG6QYBvIgM4AWKLUTDDycTQS8L/DIrRQHfSCyOBJPreLEEIQ7eVw4o0e18CX6ntwgEmI2oTQQKqlQuDCshWxEJN0KlVQCe3is8CNpsnyMME81Htwk8T5NlC6Up4HsIoaKjTg0d4HlKBbcsVFgFtZO4VQ/Mmv1eBPqh3JoNJ6v1kwO3+OQmD+2dc0MN9kJx/g28LOubB7wgUiUOq1hjFgB6RKBDDQaMYa0FwESHdgUcxcKqAabuEiADhVQ6MwjEwyQlCYwHG4YEmkJMMgMmHY4DAcWpG9gNlWLV2gqxvYlaA1W6tGoJznPmsgzjx8uDBzTWfOcD7B0+PAfNDKYnAorRAuYNTkZTCwO2dAi1AclDXUQNPgdN2gCyK6wpAwW7LgcMz76A8wTDgNrvCyzwF98D33WwHAPlfRWHB90XYPYL7hqL6gfW8G6LC+/GhY4JnqU54wOXGhY/B8x5ylcJ937zdwL53Kr/DU7s9+4Pv/VTuQ8s5D8lBJtFdjQEKk/CcwQixuotCSvc/0sDdvU0fQ3NL/O9BLviyvYON8fdvQq4v791Alvbvj4MSu/f0Q2holTgDyURe1oC8HKkWAVFreiKBKmCwbsFNqD6RgOt2DQZBcYl8FYM2BtJsAhyCo+CChDZLYELVB8VBA4DWCn4BlA0xkkOYflBrAB5JjLACgfECV8MmCTVbQE/qQI+AItqskEJD+JmFwuvVZlFBd6GZH8AqimarwUUSDZEAYxNABgMgibBIggxgAsjARCtX/sHNXvWPAvt/6tQCNPGveoMEoKVUw8UmdkdAfyqlBQIi4m5kggW4TGEDJkOUREGMhjIdghoiKcJCRh6SWsAcywODAkNaSXhCJMHA0wOGuiGEQID3ZAFCEiGEXUIGgCbvAAZE64KAUbrDEAFhQdciQigIw12AhtntaEHF59KdQboWt5tCGrlL54IJdyV8AvUlbN4CtD6k7oEUezakgsoiWH3BjoS8gwPbvhpEQTzBPSFDDNUFGoKQD0jeQFVYoKsDInsS8ACMcFsHwcsP/REBe+DaDgMoiL/wwQzyxjGBggefFkLZjGNPAzZo+eBAD7P5JAPpp/5IQ7wkn83DHhJ/5YFRkUYow+EFke1A/xRiiYCyt4mggFEunC2B+0Q2pAP5tDl0gLwlbCLB0GcYj4IaGCT4A0XxGOYArB8kGEGSNGRSgFWphCYAYUomLECgZCGVgpU9Jn2Dd2M17gDtvmS8grB3rMbC1danIEDxJ0M1QrIE5WuClqzC5IDVYNVsgywC9vQAzTarBoKwL29AA1Xt3YQD+Vb2fEE8Ibu3goo+b2qB1w0Nv4Ey2nCuAcn9sLDCuHUOW0DXEj8dw6qncecDX7j8SMKs547lQVebu9AArPdDKkMQC93Zwo5Uwu8DV8jO28Pn3pP3QX/bcxPCqu/Je8JW3QqYwJDXAbtBUxlQu0Kq3YDrAJlD6M6DpDy6+ANdcxfCgawfXTwCWXTF1wM2Gf52AAzroy6BgG5/mELapwkWg5CMfGpDXWiQ5UGuVj4xAJpxfMEAjrWMPAEQgz6OQYg8Ma1DGnSSE4KajQ9yAFXISS5BoE7wsUGdHni3gbp/uCID2e0eeIO8RB3+QdyzyPqCxR+O6kP1XxPNA75XcfiCHex3EEE4Yt03QAoI7jeDguy7RgHfgwHIQeWWWKlCOhOAwcOGlRppgl6aXBkBy8eYpkM4mDpZQ45lGePBHiy2HAHZ5j+mADg4bTRDgGX8Z4GecWFeQQSr/LsACnqGjkOA3T/VAiGb1n8Brk2zjsKY/mvZgFdxzbJDYL2cn8FbWTaPwWv5Ob0Aa/FsmsGhU4vQQSQRUxuDCgvRyoBN2MqIAmaEYWTBFKLwAcDLJoYhQnOAD0UCpxxYMkH5z5ADgbpMGjjCWcAJ84HndGU/QjKr5NeAhvymLsJR6yfVQOiHhLjCEBAKz8LHHSHhAXfzUAgAq5wHIIMwwVlEwM0E4DnBcyKagwDrQEhnAGeIqBCBoOYSAsFZCBURwmwNR+eDll75TIDd5+KwA3Eyn3pCrZK2A0EqKxsFwgrAbUmDR6DY1EFtTcxSwTRKmh+BS0ozsoNp+FlSAu+qsfjC7fZOw8L3H41Vw3fDcm+DbtoPbwPHz3nUw7z28FtDXyue88IxnL3LAH95QqTBINO9OYDLJUKew/B5026CzU3n+ID1dsueAPEf57KDMtV7lkNZufF7wS5p3qtAy96PnYGy6BTcgQzQNLbASTsoF0DjbSwLAzQCQ/PARxrBI4Ljz8JAAvXEg1jCNBsOtUECUzEvg4qtcNgC3fSMykA0/EgVwRJDtDPBS6gSPwLrzC3CQLm4zsaB5V2/JMF5Y3Mdgesk/bqCeNTPqQKSFcv0wZSV8ysB2y/TqEC6AaOsQQCwe6mAijXFgEHRld4NADsB8BZB6ay6K4A6aA+AwcHUXTWBerzgD0KS7a7hwBbwBz1Bw4d1t0C9jsn2AjRa6mLDhG+TcYPfRldaAvzB5g3CQyKr/cBnsGeDA+O/1UTAP5LupsJhu6tlw+dld0nD/6bV3YBq6V9hgs/EzVzB9Yb6l0F7OrMjwzA0WJaC2R2kYoF1aRosAOlGJbiBhPOe64HPHxecQ/nXec8CPjno+MMToH9YQe2k1adBOhr+BcCK5aslg1W4HYyAKFNkpEFBMbgdgqolJsoBWpwilQAS8SkiQACpRDlBgkSUj0CcqiYoQgBiDeVChhRkVQOWp7BGACBXUL4AGBmgmoKAfQrqAFVZBZgBs9Mw9UPvtTB7wr6vDMvA194MrcN1rtlhgT5C1iDDyYabdYL/BGtCQ/s0xOjAdZGOpYDjFyMswfGlcYmC/Uh9SAHtZti0gTgSvhKDyS0bZoN+R+l3wdeu+juD++6X4kP93F91woAJPR6ByWxwjgF5eLyQAChxDjaBAAITYgCMDEEAApBGyEAAFACCMAMBDzC8gnlwIMoC5T0M8IA0UwQOgcEe1AhAeUGChQIiECt4gAShQYKBwZ65MEN5YVJDQ64MnXmAHsJKhoHAKqWigMF8RgQC8UWlVAA0IGI+gAE0TjpBMAmVhwGKXHIsgBjhqZAAwUQqA0KyLAFRARbAVCKACIqANEDAUCwAAcElEBQBOAA0CgAIKAikgABnZzuAUyjFngLh3ObmADR5oxTAggQV+MLdlEDHAPcfqCBAMOMCKYOCGuXtgYb18oQC2benWEA0IU+vQgO6LhgCoOUFxkMUGHRdwA5joKcAQtsdrkLJ3WDdQ7Z1uNtAHrsGu4ED9y5jAvetBVxDtMZ078AeOqC1wsPys86ALLlnkEJBc81PwCYJ5p0DRQkn9kIkemFPAIZv5JCCEPKGXgJFAcgHw2MKskkBb+ATgIIokk1QwEVCRDVB4wawFwK6rCJCghToDWDARNc1zAHdN3CcQjgzrOsCBjkO7IOEUeauwYA/s50A23VnigIwuc38AAcuakjCNOKFwQNHElZ0wiyDoUcCxzdB3YG2l/SKAlm7guzCJFEv6ULHy58JAuvGQ9xDNJD508IOO8JjwUZZkJHBy9cSGwB7iQmaQiDYSOvBBlX1MgEYq9IeAIhMr6pCEHhL1QGH6j08ASjidJZDiDy8V8IeaS5HAUbgkbtCCppG00CG3YkHQhLLYllBBuu4Q8OO7hZZQ1/CHddCLppod0MIqS2PAoJ8bMxBFPG0lQEKMzY+QAiv5ASD0WS+TEJ9ICf1ASYyfSaAiMsFbQAGQGicQoC2oNMBFjkWAkIJVqpZgzYhG9IDTZpVaoEsS9iEQsnpa+pB5XzdmUG6V9aXgRqZuz6CSX0DkIFxUV0aAGkJwL6BIFi6ioDKGZVzQ47NWk8Ans6pmEEQ8lqzQwsQn4OAKplLBAFBwfkIwSgg0plBSq5fL0AayO2FQ4L0+nVBHqG3E0GKUbh0gM2lKhoB8S4dikE4WFSlgwtpihBAIMAPGwECCFGWwQjY8AMASv7IJoGQzb4QQ9lkE39BPgh9swCNozWawyg6XM9CT1msxYMm8zpcAU0h3d8B7x7+jgE4+7uEgwhxf3jDTTd64QA+M40IA4CHXuyDHBCxzEPN5H3bwH86zJdBY9u+J4Mq6TNcw86Io4XBQ/J7AUBrocURQyKA3k/AD4TvUAI0ostGQQQK9yHDCmLTRQLPJhDygLyeDAIC0U8IZMM0QDB5A85WJ0XCV6NpVQJnouRqQySqlsXCjl02u4Lb/wneAPXdbLpDMHuQ/8GP228cwGHj6Z9DYzj228Mu+ZfHgE9a8BQDKOO6UgIMKA9awwRKXccBTmrJ0kHF3t4TAzpLk1ZDDMh7e4IRgJOJQ6oUU+FAHpHJAYCCh8ooQVGgroLDIDgXZUFPQXUFgKqm6BwAULpzVoOMbfViQl1qzl0ApkavtgMRMm3sw+U19OUD/ze2TIC8py+sglAx9QeCSynmbABl4K+MAKA2Z5TBEbStMwOyLVZmQZzMtS2AmmZqtEDQxlTVgt8UoHZCdasqYwCmbgUow5BIubdCS3hicwGm7Z0SAJjORh7BEdTpZoL1LeJwQfVmlyuAug5HtILTh7x4AjygAu5DhB494cCed0AFA9OSsCWAKqEiIELBpA1JwLYERIVBU5fqgYPztZNoQ32BV+nArhbJrcDSo0ylAMOUpCxDsKUyxUCeNCUpwBJFZSzCUaDg/QDnNKaiQLC/BwWAk1N22IBtsYG+AmEbbsrApH2BjYNS6dh6AE3IhrpBoF4bl0CaXWETgxJ1IPYDlL00egCcbwSuQJBeLL0ClYpDvYMiUvHiQs29wlGCtkePSkBU37V/wx5rcv9Cz/6t+wK2/07WQ5V9aevCtn/E+QHX15a+grifI/5C1XV6mQP7N5X6ATyZXq6CiF+p7MHWBurHQpa+o2EDFuNXYEKMhsV9QpevpJtDc/oW70Iu2SX1wob3aF/A18Q+ZsF9qjE1QetmfCPCuqyMVYPXR7fpQz6yU/0Cjpft4sKUv8pNQ9fcY3wAtOfhskCQPsY7wpJNh+cC13hHkYIi08V2AEWJ4h7CoG6jy0BYDO7JAdd0m6QBOJN3MAGIJdkuwpkWBr+AcxkppgLh/WBogbRllJjA2PI3acGOJV21QtuW7E8Btq26pEMYdo9jw1cJX3UD78bxbgG8rvqQwpuOiKvCstwK4UPX1RFxwb6HUDtA25hBbcBnweihQOO2ghnBsoUXg8Jaomp6AwSoneJDjF5WRUGeR7kVAhqlyJPBU5ieK0FryROlQarUeRnAmsSw4ABdsAowQKAHDSNBkgxQDYOa2hLIgozVCfBCVRNIW0GmD5CrAxvlMFXCf6Ase0BnqgynwaLeNAXD22m/qANp8F/8AawV/ZbBmD/6D4Fb+rKRQev1HzNCOolNX8GGzPivwVwPTimAEkKJrAPBlHLwA7w1kUJAnZsNecImQ0jvQ8eesNmDvvcSwkJcEoN/wYYPe6MC2/7BSAO0xd7wQh1eKnIANGsJMgOATlR6g5xMkNYC3FKcBMIIAyp1A0cgOUoDrK5UwAEdX+MuwnFr6/kC53TH+oO0n9fWgN8I2gzAacKroQFjMFsQw6iF1UOBXy1p9MB18uwrAeMvlrTDuNQ3T4LfPgs7Q7LPXeMDntzQfMOcx7rzQN/JOI0D6/Y4+EE8sRyTw4ofHG/BX9HKY0Imi4t5QYbGU4vDmp7R0UJhtgD0QnURJEPCpi8AbYBXwiSIguDixuhAxRSHlcKyF2NHAFep4SiCIeiecUJvQAdXwaaOeReAW+rgAsNikNkjA4qN0kDBnMSbCUBbAkuxQSIkztMCFpiHRoEEy3MkQEli4RlCo8h304Dv/MEWwHHL7hPAY2iDP8NjYQ1cgmWAZN6BZTqwhsBpeyYBgmNiNcfDb7h0VYJv46xGwGWqLh3DYmfePwNbiLfeg6z8e+ZAXXvtEcGkmsWeQwBb8sfCDnmjWQJH40/aACUjiLxAoBYmi4OSPRHEgl3RZGgAZDl5jEHJd/SJgToxnpwCSZEv7oEltiFKgHUrRIDCYVKEbYJnASLUguVOTukBtlaRlIOYl3Jygl0piWpC5U8+00N/ehFfgy7LfPKCTfqIXsPkT6qEgZB2MxiDWSFV8gJtGMxuAKXb1qvCa1uD3cLn1Wvbgne7wdrBZGyKf0KWTifTgZb+UTYCWcvkckKkdP6dgFszp5aBYbl/LgJpaeXMwaacIbICEPtAQsCETYQ5QlNCAt8ApiOzQMBNokcJgmMCzcRCZZDiRYMmMcQlwoKHpk2A16QjjEJxsmXhQCdy+tGBrreXEoNZi19Owm1I6e1DaQo9bYOuZHjEg922vFCBfSMeJkNozfxeQN1sqp/BMno/swFL+VU2g6jRED1CigUo28CWvAiLAVPbFKBBKF/rYUIWYctZg4aG1/oBXZrThkKp9KWIw3ExXtXAbxGlL4Fjq3qMgOoRXArCyY2IzYF3UDqIQWmzEbGBK5If6AJtkUnEw6QX+EnBXyOSiYNrE+21giKx6k6Dxa23yMF9cleNQGoqNOFAz/QMBYKyhyxUQVWgMC/DKmLCssIAmI9TgsdNQ0ZBdcrxGQArf6M3gLLtbxqC0ezF/sF1WPa3QO07y4uDol/fyINd0dPcg20T+/pAbeZiccA2Io0TwsOORmeDd8ixRELvgyiDgyK6GEjDTcEUwcNvEhhdQG8cCJ6CcdsowoFleRA4w2lDFNuA768L5EK01m1Jw5Yn0PXDX5K2awLuOkKmAMHfrQCCsGVCXENVALX7gC9CjDsCIooK1oOE3DFCw11rUFFAcIC4PMBJICKjweM8HQEA+8VEBIEwmsy4wcFVkqfD+x0zWQD/5UmqgDGykJqCKBkG4sJFWQlNgOdHYJgBcce7mgO4PFP6wxxZ3eOAz1/KPAHx30ukQPFV4TnDsiXS+4DfnIeqgPOPCB0AssQgqsMQuBDxwM9VBCNA8xKucUHnpRMng7qOdUjA3eTIpcJzvdj3A3/ZtmrBrO8bvcDbVm2bw/NQyLKAoJ2CMoHRTRMKwPlMQbkAc+3zB0A66Oc5wALgz7fAw5znF0Hyc7INQoqlJ/mCFrBNzkDFn+SlQTP80txA/dWns8AyO0s/wMPN5auD9Yue3ANtUjPuwyw7edGCz3fMSoN1BdLOwTwas6mAS3NLoILhlc1YA/XjfqXDqja1fcPfpX7Hgv++rWxBdHY9VUBfI2Q3gyKqvG4CzewmxMO1c/h0wm0jpnuD5y4fzoL93mXEg3aFqjMCU6oDasGkzFWhQttWwFXAthMRIUJLg0BpgqaEiMhC1ZYCwcE3Nlyjg3ublGSD7cU6bML9JinZwffZxF+CJsui/sBF+iObwuN/RdNCduZfeYHfhtW2w/me+mdC/22rYcO3auOMQ6D29/GCHjHHVsLFj+9vAHgGQhMDUwiZYoIsyEJgAcVGmRDAuY22lIB5cCsuwGEpbbGB43TUDoH4qzHmwAx4bCnCw2eM1QH3lDYeAzkjSFiAJACMqoNBGhLEge1VMQACeL+0MUBbYQ4vwqKMLf0B1/RwhsG4Tp9AgpxES3SDVQL5cgHtLtIiA7n0FuOBfxkdNMDpx2gvgfMsuJjD+wwnGsFx6FmngGtY5DDB4eWaF4D7KpJ0gCzALyKCwS5JVMH1RPQDA3us3rEButSfJsGYjXs1wdtk+StB+jgZy4CO3UyggVHTmBxB6QUyu0M6uXVJAw7h3OzADJKunUHDNzuHQztaxwsAos3LtIIQ0ONawcUt07NAevIrx0GGvX0xwxrj1E9Bz4y+vUI8gVi1AUsSuCrBqK0agQPbVB1IwT2Gbz7AsC7pp8PTfPZhg//ll3QA/ajXG0LrTs/nwDbY6xWDw+fzcsF9PG9DwDZrzSWBQ8L2PIPppLPWQvxaptDBRXMbN4JrC2VaA+Xs2M6CPGykSkOUbh71gB5SJTYDwa94dgK+lRb8wV2TOa/A6z9oqUPz9ZzJg7+boZ8Bov96qsIY+YXZw8dVXv9AfkNuUMCEpok/g1MKdsJD7fyRZQI+WlmKw0nb2PGDb1GaWkPtjxvbgT7QctIBDLuZMsAIS04LQ8NMmd0DP1Xv5gF1u/s8gahn96rD2Tzf3YL+5iQfgZKuPLbCWfgkZ0PnbTx1QL/6iHGA58cOMsPxjhFfw/9McOPCaOlb0UAOUM0bwQKL2pcBS9izCkMoZhoMAJgELZCDEDBYZgFNCbQgAYPN4MrANPiCmUBDUwezwCKZQR8CybsSCcCqRQ2JQlOQSN2BJpGwokFQZi4qA9EsFfQDvFR0ZgCcL6g0gJOtUOKBPNiUKEDJRwq1wLIUKRsD2PF43sKMPaz7QVd7Ho8Bqt81vAMblnd5gz6h2eZCzZ7uacG2Z5uFQ+A1FnwCHAElzoCEPmisAFFzpIADpgIiJ8NDqjFBgu/kREBCdYKMVcAowZnpg88UWtjB/ZeZgwF7G1oowwCGaYUB0zTwAEM4oZZhAA4ADyzAgIVyk4CaPIEKQFHJTqEAIlCBPEGAGjMOQklpYcECJnDMWAAEg4aWgQAoRP+CBlikxgDF/yIUADBjJRpCAK5VnUFbUPSHQiq5qnUABuEvCsGAsa7UwIQ1Jw9BUyt1jQAq8OSsAgC8x8dCV1nnRUAm4+M9AAKi55rCgcqwX4DvbCKSQnH6DVOAJklENsNBzeNlwLZk4xlA06bHs4AymMcmQsBbx/nBR1HTnwLrn+PaADT5y4rCAF3MBUFTQbIdASqgM7oACLhNgsCB5VyQQrgUhF9BFgk6p4AK+iEoAcHyKOGDpjUUUEPdhxRPgD4KKKxCQX++/cJ/cSffA+e/ff6APPvkjsPDBXzEAH2woAwBICM+oMAIMAUNg8KRGLiDiJUQykHdHRiJQDpTCKkBAheN+4JXmULOA+XfsehAPHNCmcKCFLeEg1mxc0QAbSHtKEAgIs6NgYMZogDCYeEDSQBnAEWYwCCSwIeAQiMukcPDtBVPA3+JdMRALPKoLcADKwnHgWfYdAgDaeOQ1MAsEC4bwkIszgLD0cyXRQF/QHM0QCii6TOAgyipdkEk6HYDAYpulRTAGMBuFwJCONSwAEnRhgYAoA0rHEAQYGGLgQO/0T1DusX2y0KevIv9wBbTb6NBw7/XeoL9zcfOQvVe6/3ANnPjs4PCzRtyQ5zMUVtBnk7Ys0Aa2oozA4NCf67A6bzhlQPzdf5CwDyphz2BQ8QqpIGwtDEQQdklVCPAOgiMLQDDR9lpw76E0tkD35ab4sA8m0shQ8PsV+gAPNDFlECAF+o3wBIpowsDw2iBSMDlxEaRAHMSgRbAIIliI4JDa8j2wuXcplsD928T1sA82mU7gkL8KXuBFulUkkHJ3pQ/QDpJKpdCg3ImfsOkrTXXAt9+ZE7ANOustQJD/0wJwfPFlJ1De5Ay/8AuuSmjwMLx11WAjoXnHkBRquuPQCJ456FDBIvowENFcpJJQy4DF9ECDpJJToIEnVIcgVlDsYpAaThKuQIiUY3CgYQT65iBwTfTigN5GdfIAixRy+yABCMiugLBPgXKArRdRMQCFFOgfIAEPP0Lg5pv1sQBXdC/PAIoI2v2QYTN+5wAmHbjmkEQOd+zAgpZx24BhcLI+sAkGoKTQ8NfE0OCPslBWAJFQJvGwu0eY1EBd2PZAoIoisZ4g0RoavLAhH6FEwHTT1YWAjjIoX4CBOmSsgNJWhdaQKxNSZcCElroWoEF441zQOcORh9Dss6xx4Ie+GJwwkVi+WdDLir2UQOO5p9GghyKb1RDRem+X0EuajefQQr6fZeCCvnsVkNFdyktATIjdJgDiLSU7oIcGS7EQMR3wVDDFAPWWwJPCoPuAiTaa8AChXSAZMF1AzYRAOsmAS6CMIhswILGB+t+gpSu48oD1X7X4EI8U8d1AocQA6rDYZtRwQDvVcAIwjCDitmAR5MXT0Cuj2GNQhLy6MnCBrGG8UNGG/2fwkv74s8DZ/m/2EIs80ffwQYVzS4D0Y/yzAG8dLOoQhgzT/GAh5WieME0oxOLQMseRanCMtHIxQLGpXRhAV+ilAxAqIYupUISMClFw4Yp/8CCjPbHTAFVA/+UQigy428DBiesckOUrhZPA55ONeRCHPJodQKHLIKYArDWB8IAFBlBNMIAQ+BrAMckjWIAdYpGBAGgRrEkwhggYlGCxyTt9YN3svZGAe2vtyTCOGJvTcLGsq8WAEGrZwZDIGj1TUIOYObVgAc4qy1CIuNnwQGGtNUcwhiD5sdARt57QYEe49EQQ0mC3ntCLgiLx0OH2o5EwKTHIxVDUyJxW8IuqMTjAkdmDh1AMoIllwMCuHBmwgzppEFAyANwQMPNJJhJAn8CDsABJJIZJIMJjXU6ADhoyI5AgFyusYEScRMWAcmdSwvCMknJyUFH0NK5gSqTk5JAyBThY8GWLdoBANvGhygBMIBbtEKIogfegMUcbYZCcXvgRQEmYbY4ggnLPrlBa3AZn0OqnXzTgR75mA7BSFrTEMLJRctTAncIy1oBJMrTooEJbxnCwrxcTFkDV0OY9oEsmjI6A8ho+mwDjGS/0AGcNl8WARgL/SYDCGW8pEPZND5dAb4lPaYBGLp8LIGJ6IrjAqZcD1BBlMdRF4EaCvA6Qknn0gyCOACv2EJFMEvngSYb9QAByPivMkHBbV8XQbpM9R8BGuj6toAIcJX9AE8RbpYAoL+pDgEQaXaIwwnz7r4C4T2v3kO0fXfPgR579byASovveQLH5MvOQ7Se99FBHnPTJ8IKlQ6jAxKZGUxBjMVwqUEaMpiZQIq0buXD17W9RUH/p3YtQTqiva3Cij/OmMBR0Y+PA2MZc/xBLPHxi4CK1TFuQhypaNlAhnaMq0ESmxaVA4tYa8aCpP3pUAFVY9YawSgKl78CSu82z4Ge/D2cQlnzbPdBJjm8P0OLZ+aDQLK8jx0CEsFn5sEEuPE9QMvu3JqA+dyOlkNxWTt3wS5pcTuByvZzP8Hbrf2TQvv8zm9BNsm/tcGKcbfjgw65X1wAzcftjkEwOvqdQw0DD/DBZRJZDwPrD/DAgzzwmkiCTADGygOEHpvEABxTYwADACPZeAIMHEd7ANdPyYYAsN7iOAMQYZPywo0TN6iCqDdJzALVFezIgzQzkuwBTJ6iosMQextBQs9FRXkDNoLY3gCNldj1wL4XqgtB068bqYM60FXoQ80jTKqBoB6cjAPZVTLEgzwxOXgATaB+rEBpMq2FQaI1fgWDGqG1TIFNplvFQ38S/UFDLqPaZYMOgr9Iw8yzGwxDiAd9yUMeMNjNAw6TvuABDbgB00EmW1wDQArLgB2DAsA62kJM0CNnAUcreRBAqObECwMSCJ7Uwgzfa62Cknfp2EPVtdb7Az4bl+5AjFe/z0BfO2udAyLz/eoDDLnW3MONaT5KAu1uDdwBNFJ8loMIO7B2g0zhqHGBBiIeGkHJjhWHAzpYeERCDXoGp4MiWz1UAs3lYF6DNCq82kBN9hYugPkPLZRC8XRob4M2KbTwgc4FTNZDFJq4TwEOazKgQwjyHVkCjgbYmoMYmprCA01ZG2BDLENZWQGOjZQ2wpjOKk9A12wpsUMy8lRzAY4iNHyCTaIsxgLlPixEQzRjNEWDDrMjcgCEr00KQpBOxM1DFlCy9QIPPz5Bwv/nDU0Dd4J8/MMssrDnw889ok5DNOs/yQAOckW8wwCT/NcCzsPrscJDsstbQ+eN18NDPtrTTcAPQtf9Qa6W+5cCmr/rQsMU6d9pQ05SYOqBhL+YkALZVwZKQzQJGf0CD1cr+UG2t1mbA5qf1OrDHNma7ULO2/R/gI7vqp5C0f4v20M2eVX3Qw9cuXOB/+9aEgH5zp06wzhIWvfDzulGDAEAwr2cQAgwYpdDAjm9QwAO9fXdA563/t5AHLuvr0MCe3/tQ5CFQeGAVxDAKEDhh4KhALIUAwjCkQqM8wFnWBImA6jPMVCAnGRIGsJQGk+IAwBR0eQDDBHyWACMJ4uKABETFTxDKAFw7wKOPKjIgJT3DoABUBOzwUFPMVMpAiqDzcgAhJTKjMMQN9KxAZoVlyoCmI1L7ACUVOmoQZG2mcaDvB12YENdY5ltgK4GbrgD0Mg77INNcHHwQe033BMAug+ODoMQWN58gc1Fs7YB+T57GgC4bc2igxHf6ksCtm2D+EMU0lf7gI4fwbZC0OoJHMKARGTzQ1c4kFcArs8mIgARa4CpgGNQBrgC4ZUB1oC0HWAKwFIHX1rBnIzRrwNbWvrgQKz1izEDkhEKQ4EGiREoAUnCUIhAqBSIkUITF2w8gbClsK4D2Tw26MC8dQ2lANIT6ZMAArnCKgMAyZfIQIxUQ51AEiB8i0LLvITlATbRPgRAiKchPcESIxpmgs2MJWgD9WZYxEC8FqQxgxM5ifFAptVGKwGSj5GcwJjUYqtCU89o80H3/JA7Q7rPFvPAntwJP8LSUn9uAgyp4fQDhHb+SkCcL4eVAxNWW8ZB/Z3xMQM6Y9pqwIyMj7mD09P1ScLvpcL9QneSr8vApr9DpcNS5Rk5AtuERPpBtJyYp0CaXyIhwZNoGqpDqNwV8QGeVVgWwJiPqDsBUuS0fsCcrCa3QNN+LSdAsu1kNQOT+2AvguPtpPhC9fQG38C2HyW3wFJ+m6vA291HsQPz1dl+QLyN4rvBlQgrKcHjZlGhAfuU1BCCuIWKZsBVBmkjgjIqwGADxcSWYIK8BgNUQNWdNofCOnshbUBH4Wy5gqK2hN5B1JGRdQLPB2JqQLSuiYkCklZG4MMUJlwwANkGhCYDsAw6ZAKcZCFggZSosRqBSWpWokBpWI0VAqJFalaBFDoqkIEAcxUiA0kJVFwCrESozgAUvKtWQhRrZ2NBBmrVPQKKxubWApS2uv2Cnjcn4kPVv11tAr5H5OxDlUu+OICoZgO+A9EcfdKCvH3AZgFUUFgtgIoHoLAB0bQaCgK4DQXgQRVaAYVCIlNgcQIGoYBagoSOBspAVNKfksNJG1N3Q29J+UsCru7K2IEU2vT4As13gvZCtB8vWwKWb0HugxXcoLSB8XcyMkD5LQU7grJMTO6A1eB1VgCsLuQ2QBBqrgeCgmwndANV6TDSgix6BHpARUsMl4KiXiBeA1Rl6+UCFjLneAGEp9emApge50xClePF3MLlFub/Qnc7o8eCpv9naIJVcLgzwCorBjMBw8wdDoK4zGDUQVX9qTlAc2NGu0GinJW/gprdYsbA1wFXgIFpktEsAGkB6oDCoDSLSYFXjjMTQDrqQSNCAsjMccKGxIJXQdeZWYfBa9vwKUFr4ZqZwqqUD9vBVql63sFN+rWrQWt7XpVCqtWtX4MXq1R4A23ClO5CrB4q1cKWdylDg1Ys4X8AV+rmogCg/oc0QpBFZ1fClrF+G4AKq4WuQUHYfo1CqnWh1UEWPFrYABzThaIBABtaPEKIRaHLA5bMLEgCFOIA9EEEEjQzQoovAEcCl807+cL/9kH7Qfef3LPCut+Cb8PWUBzZgk+TAPYBZZs4CkKobwDJwxdaROtAZ9uAtQKi1yJawpStAdvCVlSueMLVpwP3AfcedSpCuO/A5YKXUb0rAKqvQrwBkNS9isKYPUL1QVfgJ0uCJqpF9EBF0uQHwqIvolVCV/g+1AOs9zV2QRwrfB/Cim6s7wNX+vT1wC7zpjdCw68vX8K27GXPQ1kaYZzBYXH4owJrOYZYgaTFH46AWC86M0IaaA1rA4bMXPQBnNawFkGZJ7jBQb40HikDGoMd5IGMlHgsQ9i1KUlDVyFc6UEukpStAYqXOoTCmL2j44DXfU8oQPHHxb0BshTyvsKZWBIJAetFGbAAOJBIGoGADZiiwVjtAyRCEEBteUCGJMC3AZKetgIAmOf6ZkNdKL95Q65mX+cBnp79FIOZe3lnAe9t/DgDuOae3oGcHD+2w1n6+dwBLHH+skMIO59fgY5Nf44DWoByJ0EKqLkhQIrkTgFBkoSdFUEaD3yCwBj4iC0DQ0E+8EGstBEfAZoGGZ9DW5h44wMu+ZhgQYzHHhnBmxUYVAP9hThqATwqGKjBiFYcoYPaEsY9Q0OBu+cCrrxjSEGU592BwBoTxWBABIHKLQKCBqPIQZS0U4ECG5u9FkAo6WovQwJovdnBjvRWlwFbpiAJgXOgHKBCaZAEZcGmBTgFwNukGMzA/ZQsoUFzMxglwaqFNCmD27x5AoH57dwgQXlAnj3BqgQ7t4HbMMk/ACKJ7qIBgPyTDMGYRXeRQFpAFFbDzYw4dwB/aigCQaDuHDGDGtADvoMAmXnyQM19wAtBsk+emQAa3y1RAdflWD5DOIq0+0GOfBqnwpprPXKAjOxMPgPRTrzWQbx8MjcDGmnZvcMK0P77Ac+9m5ZBuN9/C0EbesyjAuPdjnQDtMUzXsGcLnG7wF0F/xuDOirb7gFN2P+gg6h321RB3BhqrkEAe7mhAYp1VhgDmIWd3gAdEMRUgGUDqiYAYSojCIOgZFXAglwubuKCVXqNZAPlR3Z0A7wmsV6CnaUPuUEyEl2vQYqd8KWDmvW6SEDdrxgEgnlCLGhDZSAY9YOuFjRCgdwmwelBFhLeoQKKl4NkA5SFe0hCnSLvwEDlNs8lAzID90SDjKTzbIJcvhdTwt9PTWdCd8rofQOm5rLyw5209qnD+zef5UD/lW8tg7Kn+ezB3Uk0PkJpaij/AKZ8LJKDkP8UVoFdTy8MAbBmebwDGDD08oOMPZ5mAN3A8nVD7ya7c0C+rk8Dg5LO3WTDXFFOyoFFG5m8AWlTcooDqD2Z2IIc2wZ3wEdLKT9C4+5g2wO2/JTSwhxSO4sCij9J8AMU0dxKA4wPkvxBHNvInwACW6q6QwD5E9sDjl1V2kAc5Fjrg54enPBB3dcaJwO6Dzl4Q51g56OCYzrPdADlxecGg7Au81zAXe/ZHsG4Tv67Q1t4m/eDrt1/cgHc+W9EgoRn7XxBVSL2nwOqPrfmAhzz2iAAyQePOEOwBFvPA54c8eCBHH3SgoAYW484AEFBS74DoBzx2gGeC3PJwY722akCW5PO0EOklZtvQx8AjqdB4547JQG65XEAw5ik3HnAXpczjoEYu3moQklxzOlDphWe3QGenIQBwdPHGiVAe4AhOUOipFjjwJ+siTQC8cZuYkG0LJE1w5pGdmOA3j9xdUCe5+wrApKujvxDlNQ350Ofuh1ngm/LbGRD5ea4XcO+JjbTw17HCtEDlpYZekMci1DjQ45emGlCn8EoPoCgrii6QdF8FIPDul0UdQBeydO6wMney7tA813Lk0Oy3dN7gR9Jn96AbdprvgFhe/mSw6h91luDX8yqV4K27ityQVXqVTPDqk7Ud0LebSqqgdH+HbgB+VVUtkO4Hbh/gJ9sNclA//ZMtQAyk6w2w4CtMm/D3+TTwwC+ns8wQBDDyyfDggzzeUPffwQQgLDHDD4CUQgg/sOkfDDjAN91djTD+ae9fwD/LG6uw7D+veWB4A4IGcLTRADDg3eYEHAAbcMAIsChBG51gPckoQaB8a52IIB5YIUkwuAA/xkCiiTDxoEUmP8AAEljwyRBII7D7sKUXOPBwtd3w3EAd4PHOgKhiqndQqZ0YsPDFruVUYBPw0YuQmEG1lLB/QyTB4J7SmtggGXgyTCD4JEMcgKEDQBOwZROMIkAW3IAsAIglnYdQNsloYfCMrhuaQBH4YWkwaESB/cDph1xRoKc7+BIgFVijrhCYK15WsEcaNSLwUtanrUAa9ErFgOgLcKtwBJQp4mAw7VDtABxkeUKQKGslAZCuEwmRcAWYCk1gEOiZDIB4DML3sIEGWXLg0d70MwAbdOmmAIhv22ZAjJxxM7DBJm2/YBPcyOOQOBeTw+CU0nh1INl8PJ6AG0rh5LAoVghIULjZUBRgLaEhBqAUYoCpsBg2IWkgUFRchTA6SWhGwBzKE6KgCDgOXdDzyx0U8G+7pwHAFvKLjTDIegTMsCoTEUTwNNMyBeAc8iiMgFh7iKtA3NwNdDCrLVEd4BXC6wOwOOAgY4BIJhygMAIcYEBwEMBThkAYw2fawH/zFOMgbjW+bDAWTHKM8PjEHpLAK6tgYCBENJeCMBJAYG1Q2MmDuvDNpgVxYPP13BkwH2jqBlC4j0a08Lf3QVLgXfLWLxAadKgu8OjyzFzAS7oUBrCiM6M08BXWAoXQ2NN35zA+dTjn4FzOfuywGn5xyuB4tFTz8HPnfGZwHvzyotAY5mPucMjVYllgDaBYhiBwaaRqsB5GEaBQuLvxg5AkMynncIScGP3QEe55TMAo2mQwkEs2BYZgApDCZbAQZhoGwNjdDKpgjqxBdCAxZVMLsBxC6CNQeL9phPBEukXH8BLyGW/QGP46JdApASmaUEWIhOFgIqWZSACUaHIREKli4EhwWNCUgnC64SB0YJ3kEpCwGSXKPUAFjMgCsOArxTpAl9QBMxCpKFj3cKGNuXLwFe7xoUCY9OnbEIlKk9RQqZGxUeDForyVIJN4qNiQmRIPMzAjHYglYFTMzwSAmmpBG4DJEnbU8DPTsMbgXPK25ICadjDcsMlzP96Qrxuw9fBll7/M4Jb68N2A+XSPOBA7TcAFcOyBzxLgl+oAOyDZefoAYJzIoZYw2WAF+eCbxphRMDk9A/1wxYTdVfBz6/wLwJ76q7IQqV/NBuAOmsEnoJB2Cz+gmV5INZB5PDsgsBBO4YVwWNBNw8Ca6hh3IAkcNCAQ4gXllGAHgELDgJBimnoASeCtTQCaaJiRsKkLK1BwldiRkWBZ4+GEYIywgNOwkWIYfHCZ3LAQ0DmmF63AkvboUbBpO16GUJbYoXbwSYyIdlDR7NUw4Ium4RMQkXDKs3CJjB3zAJNs+XEgCQz7gxCQSOnzYMnvko+gzDLtcLDzXxSfcJ/Q63TAOe8KsWAd/MlAMFho1Q9wmsApM/C5j7dQkNdy9ZFgy5Cu3xCTaJr04OnyABNQSbCMJHACrIAE8JDiQxDQmZEngHDGoITVYFPgHkiQmmqyEFBpuD9X4LPrubWwXX6vwdCa2tndcMmfnIrQVvrlZGCqtROfkJVianXwad5C7sAot9FmoGQ3dCewllZovtAZvbkNIDRp6YWwvEsJ29Cd2hl5YCn/6EmQ/HvdlnCvmSF/8JXmm73gOiQozXCQyFrQ8DnrMUJAXPC1oTAKTNGTUHnBb2NgjqyYsyBRbG9oMJptWiGQDA5rAnBAmEWrYFLkDWcAOg38CwBmCW+iIKYNA/sAVURfaQBqMxtJAEQYPgUwYgktjMBWygfBgCpyCGOg+F8eNDAfXGEE4FjCx4+gGnOC0oDdUhZ0MMsUtBzgU8LmhKC6M/zNwOabPtawpzsz/MBV1rfNkGpT6zhAvd0ClyDtIc18oFdOlAuwuhcBq9B0105lYC69WA6AVGpnLrAqdnZTcJvQerZwWeym5uBa5tXgsNpXtmrgTpZ2pCDydWbeoF9CVuaQeh1R2TAlAXtHYDTJuKuAXG4t6ACqP46ZsOcbT1Rw99mXH8Bf4q8tgOpdOD2gPU9rhKA8W8HLoFxSHW8gul1uu8Bvj0/mIGY912ugVkZ/LxD6om45cJP8CpJweenHZFBe5JUD8Mrh7JPwz6oO8nCT/JN4cFnk9wVQ+sd7jtAsu2Lj4GS3He4wVnx0bdA6qp7k0PL/N1Dwz7J3lVBT8K7P8EqoB5qgYyMHYTB2VZ4BUF7IbgxAyuwmDKAaYkOAsHhTBkNwXtAcJGBak6mGILR5AvWgnUYZXJBZWvQJ4CqxJRyAxyIGlbAjE4pI0FTalgRA6tZtvYDbfk7XoCsb22awVF63J+Da1S3UoB9qUsWgGFK7SrBYWjSlYPqbZxEAhzALlyBBCI5tkFJOnQDA6tuuI1AOvAukYMCsR12wU2JdA9B62XQd8M+iL5bgM/uC6bBcdp9EUPq/O2LAdP93pTBONG3P0FLKXu/wK2ImxxDKEJ7w8EOONkRg0vD3kIBbQeJXoH1DnqKg3l6keCDbVFecILtjfDigP1+igjA8UcPsYNzEFF+g+wTNQ3ACiNojYJDsKzIA2WxFsRBLJ/iwUDXd4sJwjKDR/kDR5DR7sKsK3YIgUlinYyCaRBu1ANlMblGgS0m4IrC8T6OwYJ3UQdkg2WDcXyA7DTTsIDZF88CgPENyywDcUDz6IGsT1+ww5hW2V+D3w368gN9+ptqAaxBqRjDgCZa24FfGJWCA2nbWmQALMrdD8OKTvrVw1/wu1MDb6tfckEtx/WRg/s22l7CfYmv44NneltswexbvH0BT2M6noOovj3aA115XMbDLF+U4oOcXxpcgt1HKfoDdTpY+gOt2LfNwe93e5XAe7PtG4Njqd7uw2xqfiUCS2KtVIOkpH5WA10qtUbBLO32dIEcYr8ewMkub7cDc3j9RgOs+67TAYZ/Hx7DGMt13wNPePj+Qi4LKVSBBOJ4CoNJKpTQQ21QHkcCLgUDesPVjlnLgP9ewKBDcdOacYKvBncxwfum2QeC+4zuYMN14Jtlwe8VCa5BsJ94iYGadZCow1mRHvkA75nN8QFn09oOwaiPs5nDW3Bby8JuPro0wVnjPwOD6yxdfEN9wPzHga+who3CIpMvxcBHsWENw2Oj9MlAbsYz6QLftknQwrSXzGNDVwuSbcOvQF+9g2uS+daB7b36AsN5a59JwW9Ii/SB5dZ7EoH5L9ESw3lI3muCb0CVYUFvgloVgKqGqQLDUahaQcNuXJOYAVnTW5KAKBnJOkNBSdrLga9d1wWD+8f7XIB9oOu6w2E63+PB7mIrC4BDqk2Qg2HQ1EZDbQmyVcAv6AmZwWPSXJPBa5mQF8NryTpLwG5gpaoBgL5elICYVaUGQ1Epen0AL2HFxgKknu5cgBRjo4bDQTp3eQJv77vLQf/+X5nDOtPd98NPmfp/w+9+p8AB9fdfFII4A+V+w0Uo+u+C8JwNbsIUSWDlwcd2sDkA+6cGkgKxGwFrA2dJUOiCrNaA2IDVFwqSwnEeVTcA+03gJoKw7Kp4gNVkB7LB8JqUQ0IOSQJlwgbCKVkAx6ZAkkMxqSfaASR4Va7ACFvklYDDdaoeAnAnizrBEAhXq4PLXNHkAP3V6hAAsaSIUkN1CBZjwS5KESWAy8ZoEILxLqDzwjZ4BmOCx88FdID1xmAeQvG54VDC5WXGa8B3CoedgOPWY6aCcbXr0YE2MdcqwUmL162A61TrjELxTZVTQv9MQn+ANsqpsoDB/kIyw/Dk/8NB3zzXNcE6w/8nAMus6zzDsH1cKUKaRYT9gZaUOr4A2b8hokGzDlxxQD7AgCeDgo46cMDd5AEDQ/IAolJAhKwDI4ASSkUAQMHEwDUCMh8ZEoFZyVAqg2lImPhA7VQKk4GymfhDQc/tkinBOsIfmUDLlEm3wzImedCAnLTEIoNRC55kQO1EIy0DsiqshAFB8DYkgyghNVRAzSRsD4AzKbVnwO/sZi2A8+atlMDxtGY3w3K5Yb7DgP3068DffYadQPPXL78AMrZfDEPZhfXlwz4w+m1Az6evoYGzuTKDgar9FSjAWcFMncDjFKi/QXLLaQyDAODw+MNNMJbTQO8fDwcAMtX1oICYtcI8wNEFr6tA8zxDrQGyZAhsQBSAJLGBgjYQJkDZjSQBArJgl+wCjJRn9ICUN+kGQNEv5ikDMue1CQHbpFa8wjiQredAxz1qJcGzYarnQ2e4N3mBrudVhsDZnuwdwnJybB3BQ6G0t4NruDZOQO3tLYXAMn6H2MCU1Ue3glMb4X5A5e3iqwKy/dABglvBhnjAZYALv0DjHmGDwbN2g0cD9413cII84sFuwMUO7rHC9ALglMPBNrJjgn8pB0AC5cZNbIA1DvP1g/9282KC/a/PcIL1Rs9uw/WYqvRC5XcjY8G2L1UZgtvGxO6CdRmyDoPpbzPogH1wTZiC4RfM9oF0SAceAoBOYfaAFHjgEgLBb4ZyADTOUHDCXUKAc8LnDgpzAvfOAUKDtEHoP0ECKrK7gYr8F4IC2d1NVEA0ZU6DgJIehTyBUcFypgLpPKF4QLXvUIdDe1q0ecIu4Qr3gseeLVrB9fAplANhM3RywSwplA+Cy04uzIB1+WN9QyZj9fvAjr7Gn4LT36/GQnXxVP2B7xe0vsD5vyqPgvN9LejDdX+cLgI4Syb8g4R0Of6C3T9k0gH2Ay5vgYauMayD2fZ0wEL9NYx1QjeNLolBsvYRrcEakXSxwsu1iG9A9wOxosOovlJpgt9FjcDC9ZZKfQF3gP3pAu+2wuTBtJe/AcLbJ0Ntw3aXQuKAlJ+BKMLRR0LpQvcUgfkCthx+X8Pf77HngX/6fjhC6eeN98O3L2C5wLL2hKuC050G9ML11SFvQPcsFrlBe9IVp4CqnWg0wtHlqEvB9qT3lAAYsucmwAAp7yVCw2TnTQG2rfxvwh7qpu3Bx/Y/tUL7t2VXQ7enwIyDsJa26MJdMQPlwucXbWkA9rEDVUAGg2UrwAKqwI1Cw9SmwUI3MWrgA6S3lWiBnAdWjMLZFqntAnawrI6CgL8m5MFVcTUNQusnZP0ANraWP0AaiyenwoL8aW1C1+Xk0UG2SWOqAEH6wbiAoFXGkkLRHYNfgDdBXY7DqJ7w/YFfcbqCwum/D3kBd0umQgMk6hN8ggxCZdLCxT7IVwJ2VVoxwVuDkTuB64xaqkL53InBwbbUG1MA349BMsEwytgrQstMgvHDt9oqjgIg+yHwwwRxVFvCzw+E3wB20KHpwUezUrHA65eFC0LzjUrNwjbgSizDQYK18cHvNFIHQvuPrUGANmjwvoNJ+rbygO19DxZC8U9tX4E3bM40wjDCp3eBxyxzNsL57uVDAPZynubATZsnNYPjZ3lOQv2s5NmDNv2nrAHR93e8wLg15b9C0z3u74C4ghsrwgoISeHDx9TYQQH/h5IQQTgG6uWBFjC7IIPJp1dgAf0E3QxCuBIc/MAMESing8M/OEgB/eUUiAM5HWpWw7RtuWuBX2pWuIHp1p22AvmgOx0CayBt4sEkuNwFgctHtgTBeKvdkgHJXN4uwzhJu9UBz3R7OoE4KLIEQ0lgP2GALiBNFAHBhvwGgTiy3FQDDAG+ZsMMKjtNAc9mfYADODSScUPfBR9jgL6OSSwB0cb4oMO4QzCggkkwCHiC5QUMwgH1HhAMgThf0Q0A20XquIIwsIv6AcUdV6LBuetRbEOsRPz5wp42iteB158/IgN4bZanwltYL32A5+VptgHxvvQawbn/CBBDMEEce8MOCBD/gc/eOIIA+4zQTgB9yKqgwCByCzHBwwVVE4P7nw2MwTDReK3DSzGw+cHvtR6LAPscHv4CvN0p5oGUf3g4wdlnlLsD+h7O+YOW1Zvmg92fc3hB/WfZq0K6JXoOQFmoramBInBepEHJlbUVgburAl9BZ8g9q8Iq+kDVwcfVvBPCeyhyTcEu4L2hgEuyThTB4YW9B0N6Je9xQVeg3y+Bqo73pEHZ9PsFwrozBIdAApksLYIC4SDMQcW0NJlAO7BHWkIkic3nwAZa4g3Bw+ezkQJ7Qf/2wqy863+B12//gsH5/tc9A3tafM2C7/Wo9IN1sz5awe0vFa/De12FLUMywXr9gI60obrB0b9eg0D74Qh0QeWEPDvBui4Qh8Hb3Dwhgnr9dp4AmP2tvsAQeW6/QcN9tb8Bun55dYNf4fxyg+2unn5B/U4/h8O69MPkQlWR73HApifDL0HTjveJgrp2/EgCXaGO9IMkEj9uQc0vcYWDvQpi20ImeonjggbbRlCDxceRXkJ9go0IgWECWqTDaRCxQYPvJVpAgH0WFWbAfQtoJYLjZqhog/WkFtCD/J2N2EDVV0qvwTIbsbkDy/VS6oK9EsK4AaAXm6KCmB1DSIPVRdnoAH2boFLDJGsaa8JPSgXZg+fWWNYCfZDHUwGmD9smwBjK4wmDw2Tb8EJ9Fci7gHMbiqqB4d0TqIP5VVHYwP0mVPlC/xaM54K2nypkg9XnMWjD/D8LxsFVW30pg2tj0PwD7ZS+2oK9wkeCQyAa2XXCDkHiQ4PHrptYAH3JlfCALFJKPsDBD6mTg/N8UkoDfGFG8YNHEp1+gO2PYoYD8X65SMI84hi6AEkaDLLDoF0YRwPfTTBYgT3qbfqBpH7ctsPZX7ZXg/9tO34CfeKilwCiPi8ywhDpRUeDx0z0fEB8+3CFQIp3rDnCEqEO3wPHnDXuQT19ZTyBMGP8voDJPKa+g/F9P8YA/gPPg8ECmtstg0vB88BD7bTbWUA/L5jfQ77ePuuDHvsZ9MPN13x7Q/47SFJCxc+Ma4M2ShLcQ83WMfOCPrYwoAOYtxxgwpwFDG1D1wY47QG/uUFnAabP/CjAmOaCncPTFD/zQn+xP0bCLKttbcFHYvyNw+u2ttUDfrS4R8Eeqz4hwUviHS1D64R81UO/MPmcwKi37qOBUzmfDMPpxXftAX5P6JuC0/6K+oN12RfyQ+1fUX/AvtWwl4Dbvyo6wHHpDatD41xU/cG/06Mog+GnW/jC/RTFy8P3H9rlgH/T3DiBKIOavsPJHDvLw/99WcEBfmxKjQJT0q3wgSSxUjZDyQ+1S8C/4eSeAGG6rr7AIHknh8PDfXVdgH5w7wJCgK/PdYEWQPcOQ8mu8/UAP/KGdEMkgz93wo4uYU/D1+78wQJ/+8XpQqbXzv3Clpej38PXv3PrQn9/tqMAe/sPPIKgxW3+w9U88N/BwZC6QkHtLRMBQTpCXQmACoDItINAyQkRg0NAUFpBbYiQkwAqWgoCwAHXlyHDOgFTXULPhOnrgDa6yoBBweIQvoGoHDSSQtl9CEeANkksOAFCgeyGwsG8ok1Bd2E3gUAqskU9gAQlNzxDmCZ1zwCePOykAhDzrmQBhaiWrAPpVjfEQLw1aRWCEiPsaoFEP3LbQ55/lcsCHttO/AIE06n+Q4RNKyiDEGJR2AHNFNSyAjgbikYAhGmPhABBUmccASAh8ZYCCDjmSoAHlgs4gLCHQYJD0RzQacI+QYLhAMYYzqLAANuDBQHDRXMYQjigwdsABpjAS8NHy5LBQG/SAxlCIoNJ08IGvFHzg9/f1EJA/c+KPUIyQiv7w4ZbLGLAResAHQPjRjTaQjy4ANeCB2Vz1wM+uvVaAAzrzqbCAFqvXUPGZ44kgJCGJxwD0SRx5kI8OORhAIf/FYjCuNdE3UJXEaj/wia7IusByQbKbMD1BKuBA/M2U2CBPIHVIILJueIhQCJhjwlAgoRHnYESkPGGQEhBza8AQxjqnAGg9bOCARg5VxjAChNRlYKKlehKAlWpishBJFIXqUELuzjRQi7xDEtDBosc3cEO0jCPQ0tT+FNBLqmaGwMKyh/KwQzYWZVDS2KKDwHjjD+QAzjwUUbBDAn8McBNPg+NwHNTbYUDY7HwfIMsobbKwM4Y119CDsvrxwAG+usYQwDj19NDD+iHMQMiwl9WQIyM4RfDEmr6Q0BQt2Xrg5Y91OxC3dem7QC2Nyu8QpE3xLWC8xWmbgL1rSPsgLR2ZajA0E6zewIeaEPyAoTezXIAlE/CFkOQcDbSQQw5FTcACktsDgCA7KicAxMtADIDccgUagCsTAC0wJBWKBOA0kjSJUCKxKMxAJKkSxJAkIzFI0EUje5XAZZusy5BGOp3sQKKdM12QpSUTjdCkg+hZ0GW7HIpAprmhfBAl5xkkEDx94AnQDIJJjnCguQB74DXLJx6w33KFucB7145NMK452hTg9b7jc2Bhtd2vENZs7HfQq49butCGAFhBUCCJOgpABKghoABgJQXJEAZAiAMwiAgKOECRzAEQIGkhxQEAFuKIeMA5/xIIEKwx4RRwZYEEj/CWxVVLUH7hfitALq0qqjBkLUfocHaLr+RgFvwTyYDYYn9dEGsZPIPwZos1XKB3czeJgD5Tqs0QbBkezODnWcm2YJ3Mg3+AmWbZOaDpH+wTMLfAvICgCiqiyACQUBPQMOkBNFVAV+WWjECe4OJYkOkjFppw55GkcHB3hvPTQFHw/usAyiy89hDjDXfw8IeMG//woa/7ecB1//2DEO457f9Qh62rlFClqcPZ0MWinVtQ47m8OVCoA8e5wAeWCEMg4DnePAAXTCEGkOhxRY+QfkMMZ/Aunxoo4BT+YwwgeDGwWlDVwDS0cKuloNjAFeLSwDCog7tGcES4NKHg0uYt3BAbeFLB0CjKmInACLopQCCgORGVMBVAKUXQGOsQMaC9dykQMB1YwI1wGMCJTuC48nvzYEm8POcwUmz95PAaznPD0JjxazygDS4Ah7BwU81o8B7eEAdAuUGN5KAODpBBoJBSexggmVgglwB5NFJMUACA8AbwYKMkosCW9gDwEAnP2c2AXHr9Q6CqGzm/MJVcK/XgObIjd4DRdpy1sEse7ETQktrTluCJn6o9EGU9zYTg5ovFX5CXchs7wKop8cVANME7w7CMKjj5QFHcPcgwKsT1saC7Z2rTIJ1Y2vIwWUy1bmDay/bTYG+xP+Ig1my2/TBbRH/I0PqblMQAhjAzVKCBAjKdkFFSrMDAa2KOkCDLGIZQMNNAlxRg28CmEYDbRt2t4Aqe6kOgsHtbtiDdXCV3kFsm72CgEl7SgzDYUG92QNvMFLegSzJZlpDhG6Z38AeWmaTA0P7mXYCLNQKBEFRAzkRwSogUCsDS4icwICvhwbOwbSeOY3CW3Ng4cNnsZx5Au8f1VjDvMfaz4JfGqv4w2XzW+MD7yv5o0Fr+t4Jg6rFn9TDXZB7X8FvSWSjASL6mByAiMUmksNROBlfQHEG9a3AezDipYLjta9ggPWlRwzB8ZjvvwOiffPmwZz99xmA22fPvkBxlaCEw3ExMmnAbyEFqYDjlkyMgPGi0kkCrgSH4MIUkktFgMcH4SBDcE9zr4CafOG4gtH1zvIA9R2HPkGxRltbQH8IwbODItraYoDNzYMQw/HTT3vC5w3B/8P33vLLgP//g7DCcFaK9wJXGSNyg6TvUWoA3U7EmMKyiNyIQwjQkuXBDhE7EUDLp0kLATPx/TVCa6Hmf8GmrL+PwNv+Z4XBdAxJ+IGUVtCigdkfkjAC+UULagK1HdUDgDpLwiyAQcCruILhNEPSQfRhjFaAhA4mPoFRajGGAul8ZHACNtMZHoLJj2D6w3V4mMtC718G8YE24SHkAgSyZHjAhCeEh0LTHiZNAjf3gZwAMJNmusIAOYHvwsddZskA+IpumAAAcImmwwAZdlEBz2WRDgA4UDgjQYotGDGBmsQcCgHZjBi0QThmpClAkiQOtYKSlCVmAdWtcCRAufywPoJ5aS7ywOV8DT+B8090loH7q2+gwiDwzW3DxwX21cH/trMPAHwHPJ8AWzooroMg+TzgA811FFzBvdlqCYEiY5m4wUmQVpuD6x2ZxkB9+zDpA29zHPjCrJcM34PXHzjOw34LVRxBCML4r4IKOKrQQ8X1H0MBP6Fj80Lnvs1rwLbPxoXD09azfcJ+ONbCwYzfnyWAW0NrHEPhpPn7Az+1j4fD859/bcF/4fGtw+u2/vnA91cbKXKCgFjs63kMbQAqCnSmx1dARbGE9rm4wDkG/E+QKsAEf2JC7UqAWqBPkfsEwGqVuhI38QAnqorrF0nAaO2npFLqwHyXRrqKrwB6ulEvLbiAaZnBbfpTADdMDLdpawAGUv20HMyARrS3aYGXQHGvHsTMlYA/cGLcZphADUmZG8esQFDLMdowd8BWIAUI1nuAAR6HFC4hQE7zWIUAI0A0I6FHC8QANNrvm9USACk8MZG9z8ACRV7PutlAX53sTGHkgE8oW2Ii9sAJQ6/qSzGAG3oiNtCngAxmkr+uFIAiQcfVpaeAHBKaDHnfQA8tLV8cEgBX3PGCykHALtlsY1uPwDIVo7/ZfIBfjtYxtNuAafTf7i1CQH1ANGC9JABC1gli9BxAISXoMWAVwFHBejSDWgAAiZwuFQaANBwi4BgSwAsFQ6HMiAAaQMA6IcFAVTza5dI8AE3GYfFn8gBh4l062eVAIn80fDMdgCeJIhGI5kB6w5WIqFgAMziMQiSPAEDQqI1OGsBvf8ya8nLAUf//kyuugDpyesmf94BLrqZP//xAM4RBbBalwGTPwixFOUA9K0G0EQ5AVOURoh+ZAHT8GFyH4sAkC3fJfixAGj8J0MH5QFGj9J92gQBAeGezsjtASZcYpavlgHbibm8w8AAtPq0ox0yACbLzCpweAGvsAEOrE8BjwcqGemyAPkauEAG+gE4fU12QRMAcLdfDYVEAGRBN1lfDgARUNh9docAOpBK6eHpAa4/dcgqAgHLw8upBK4AoCoJ1346AUbUhHs83QDdLUBW+McAXZ5vEJWxAHGPtQFaXQFIkqfenisBEgfoo/uPAeo8vfKkiQD47+KL8CQAXnbD5JioAMErZ4cziQEKjJPhtz0AyOZw82pBAXSi3voviAE7aFeq+o4AiPovvaKXADivqvULbgCUXeIoE1kARaWVJiZjAE1kCiPdFAFjMjJU0tEAmxKVZO2jAYp/fANBvAHi25NUpGwBnsFgH38oAaHUlC2C+ABEaSBuKXYBD6DaFJXCAbdKOwJLEQC7eOYxbNABnruHTkL0AIWbRjOPbgEXoTlw7rwBy7Xdy9sYAOBTc+O89wAMbend1ukBd57j52UDAdPl7reDMwDwJL/mn3QBZmD2u9PlAZd8s/6SBwHylCM/0ZwB0jm0WbtjAJzF/mIUpwFjbs0WziUB/dbRnzvmAV9LHf+ZuwGz7nzFtd8B7sz/3Gl9ADpGJO6E7gHGKuyc4Q4Bu5C7kjEuALhDnJuqMQFiGH4kOw8AqOWZODOFAHhuEj8MIwBQ5g5M04oBCs1Db53DAMSueUXPgwBh3PthWagAYPnRTzqRAQ5A1MOOAgCBQmnmwIQAIDjhlYE4ABCBs8shQAEUn9mgYiQAafEFswwIARIjAs38lACIGGbQR8sAGaLhGmXtABwelxPoGgFb0yxDoswArAvkdLwcACtQgn4bNACQI1A+g9MBFmw/IIVqAOXgvgViBAEpaTiSn6MAMM66rMSRAWL8pI5LSgDEkZquuYYALPdU2/RWAV9Ta9zMTwC1F+2Vd5oAeRmd62V9ADXpP542fAA9wIa971cBHzY8/kvWAPV73rCB3gA/dKvYPfMB/w/ej0LTAefeDeqXfgDloXi9+H8BRNAp9P9AAD0x8KVZgQABf5fKBZEAQM1Sh8ZeAEhA5IQq9QAMDoG2EcQBV6oQk4EJAJHENsC4GABfGRNoNAIAieNMAVYTACAWC2RMfQBkNUAZY8gBXrJyQD1dAY9H1xB6yQDdXgEnJr0ASa8EdfF4AW+bJB8VwgCVi5hI3R8AIdR8Emz7AHxdiQzo1AFyqvkgqOMBruyvCxiIAeOKgk+qpwCIjGh6m7oBeYh1O4Y2ARLirXnYVgG2MO5XCM8AtQ3PWqOkAHvnE655UQHOdhaNn9sAxU865HPvAG382LQ3OQGFakbJWeAABZhTxAK/AQPNSbErUAH+oBHlDNAAjj/u8tlRAfe384KG7QDFTae7/jgBW7Cg5/b3Aa04zSFzZwEvtxt7ADUB82dCWY5aAdYAb2x2+gCxNyUwuT8BWiW+GST9Af5OhlJ2RgHfkkw+0i0AusOA0lHbAJQeXI6saQBtxSWA4a4BSxq4nTwUAcF1bV0YpgFyCctVFbcBsoxdW1dBAfbUVWnIJwDOYdN+5REAmXZzB9diAERTv2XDOQEjdfBnN0wB0lyYNt1bAfb1PAbx4QDtXbYMnSUBQ8ewHle3AdBqkenvzgEO+H73cKoAufvLxKsFASqHd78PuABJ5OONqVoBTgK7xzvSAK1K2OOTyQAl7nHuoDkAUtGfKB+zAKBtHCdexwFm/Ap8xaUA8b1yHFsCAQIYrxhzoAG6mZAjAgcBgucMeowgAPAgYgTMrgEFwEs4UXcANTQZFQpTAXdFDmkB0ADlKFRMFlYAD1ipIYmfAKGvuFcg0AB8yMJKjXgABYJ1DvrCAQ/OpUREGgDBksgHaVwALBERUrn4AB1LcAmkwQEV7tNzFNgBV+hHR+pZAI2UZ2W71ABNK/FxC/UAFvHi/EWeAZM535ZvQgC80R+jx7QAIXs0/c5kAR5eTEE7cwDth11kAM0BZ25BGT08ANmAE11w2wEfwlJmyHYBh3JtFIvYAbcJsyUh/ACN6JRbJ3ABJyEW9jGfAZtsWpinVQD8xje0QnIAVXKMrRtsASebeokb3AClyZH4LtsAHexIr2zyAG26D8TJ0gEuDDBLamwAzdLAeKCCARsraQYYOgCggo8BpdkBL6nieeYrAJm262puEgFqM88jyvoApDsra7bMASzP0wKTEwFDxjkvjkkA5GSgZfmaAEk4+k4x4QAxUwMCEuYBBgkMPYYZAbOkIGBlRgDMMN4YSDAAMHhzWv0pARrV9w3igwHKX61nDwYA4KPYd9WsADfiQyynoAGLKDctSxoBgvKaYSP2AKxpWnYKaAFMC0+K/1QALZIxsdbPABV/qPloGQB5tcbGJNoATtq4ykkhAaPX0IaYigHCSSmOrbkAqIywhfXiAUza3RWYbgA1wylXOY0BOwzUXa2ZANjOdUph1gBWe1W7JWABn+EXxdQOAYNSbtVvNQC4FdH0Q/wBVJd18SnLAF1t3cE8jABpykfXdJUAGJ5B3dtdAFSYjM0EogAhiUzCWQYBIpBZmIyVALBNIZlIwgBebqSod6kAyb6WpnAPAUr3CpK7PQD4BzK0vskBYwRRd2OyANh4WWmRUAEm43dFEGMAhUTLTQ8NAWniOnh05AE+esIcWhsBk5cPLiPLAOwtHCGvPgBtF+JKUBwBQxPBGrZbAJwFKSP0WwBtNqxB5GEAcD6A4suxAEC9dqqQyAFG6aOAvgcAiYSqt16BAHdQWosUKwGjRQ3M8hMB6hRorQV3AOQnmdhRYgGCZOErJJcByiyLV8BiAPSSakOTIAEjAfVomikBg/2n0fHFANyd8tcONQBRx8Xy3+ABVjh1p9ydAZO9a01gfQHulcdRL3IB3wNZa17kAad6RXHUuwGU2KXCeu0BD53Et6ilAduvIdKNlAHSivaR3PgAlPe9Gg9PAXdFnjfsrgD5eCxe95QBOpv2PNF3AJjxqj6U+AA0K6YG72MBD5S+KseMAeN7sDLqFgCpit+MVygAINIRq2s/AQp1GP2oygH+a2rEJYIAsQ4230E/AFDU3NijfgF+QX22OEYBv2KNnZWFALnqHGTiawAs9m4sKTwBayOTHCvOAZ5KGjs3mgC8Jkrw8rcBez5vuAJpAfanh6kyHgHLIA77Pm8AvT+S2n6qAFnbTqrmuwEqvy2k/l4B7rOquW3NAMA1LkrKVwBkFeowluYAdSmpOlYBATO0hivUEwDCNtwkFoAB4mkDIlEtAIC0Eh22IQFaRSJgSyMB00/1rIh2AcbgrZcV/gG3CJrX+WUBv9R02oOxAdcG0vAflgDRaF2yUvkANPwHpbB1AU+lJt0LRQHYMvXJVgUAAFfH81AvAFA1SdemDQF6BWfx9QAA2NlBBIOqAACLPSU9IAEq4JBBTY0Bgl5SXmiAAODTZGxN0QEGPdEMXe4AxdkbE2WDATvdGEXeMADh6CU8mM0AFKyiHTm3AFmMnlILwwF2zlwimpQA5XZPi+idAWsdI92y/gDci+j5N1MBP6bd4lxrAOhQ+p/6SgA8U6nus6MAKS/8r4ULAWLmu8rlHgDrgOrwglwBtiLhujpwAJ0gh6uA6wEHLi7DojYB72xxrkXIAcf6k43xMgCJ0TrHG3sBJkfY5K/xAffZQO2xDACJoXXcPTMAGEbbgU33AWZeHddCyAH+1ijxXDwB8zPE3HjpAZ4dR4o1vwHLjx2R5mcBFMfh3HwDAVsUzYdNiwDgHx3D8ZQAaNlw2ZRtACLsT6D/4QDsvDOtSoUBQ/+C+RuiANCpWuYemwGkhkgi5+oAbTg5KOgoASvzogkwkgGKC4pODlsAs6ycgIYMAeLAJrpoNACYMICcmuYBFgsusgGjAevF92oMRADEYsEf3rYAERgrd9HrATa9/EGjEQEAJBzRx/QAdFhy8EBEARfxxZwSAACRAQenDRcAAEFVPOTsABx4IRVlBgEbk55VQQAAsFNUQg8cAAJ3hYdbMAHCERLnhc0Bhm1w0PcgANnQ86REIQEB2uibAuMANI2J5ogaAWOgbIutwACsCLPI2JYABCgFGm+fABmcGjHgxgB8+yxQChAAMYPGLBzMAAeRAEtTqwCBHVhgrBMBauVpAETwAOQagw1cQAEKWZnS49cBvt94t4RAAPXjpczNKAABEPaPfb4BCbLz+fixARp/48MK2wHGj8/npsgA7ahh4/8sAA0xzX9c2gE3O0tD5dcArZ1/WcZYAHXT4WludgAObp9PdCUB69ZCV8MPAdIXeXy7OAD4YfUhNesBF3KA8vVuAJ0xfpbgGQE7V6eAp3QAzAO0v0ZcARb/YT+67gDdqa91rYsBO67+Q3+0AOja13rK3QEZMt1Tk60BMk93c6AdAdrk5V2mTADcAud3eSYAHjdaoYocAeNjJ/AmyACcKMKtdjwACbIH8mNjAR7zm0MuKACpQ0Zn7ogBCjphbOe8AIi78zFhSgEjmNpCZk0ArNVBOuoQAFkzIS2M4gAEK65BVZoBI7diJ0mmAcI5m1iPmAGyyXIjduIAjPiNbM4hASfoWfceBwCx5Ev9yZEAcDx3zQvyAETJ3+kTxgEpzyTpOPUATK7A3AzfAVeOS5J5ygD9mB2BupkAK8rh6PFHAY62+Z8IGwDxR4vDqeoAbAh8z7a4AS40pzyIkQDRL6ILA8YARIiecpY6ADHgaCL6RQEsgjaCFPEBB06AiMpNAceUILYgmgDZKYiAuXAANHcnInyAAEk5hg3GjQAAnyJydxYAWLHYMM5JAD5qTu/PJAChsnf8w44BEnn7uSs+ALjhn/cmwgE9vQC6h+wAVas2uOwSARvwroBe3gCkG462atUAQVlGEfiaABiZKUQ21QAsj8QxTUEAVbYRSkyMAEKgwFD7EwGaFHsiGMEA5G+FAYKhAEGMIm8ULAFC1ztQEdoB9knYBT5JAK3EBW51oQBJPlANyTcBRxWf7ChZAe9lQIM31gDNChv81HEANfZggVN7AUhISpx5jQE6nhGUM4MA2M8cqQkJAGDmFMQ8rgBLje84eBMA+LaJAx7XAGQPDnvY6QB1vGBIto8BSMVPdyr/AX4uSXW/xAH/qnd5UYkAkf7XSTo/AEnNld76JgBY0mi3nZcBMi+91NnJAPTc9osljQBK+BOaKPoAnMsKhbrCAS+KLOQPqQChrtCoaZwBTCctL0GlAGE+klGVDgFSwXpachkAuFTFJL5DAEw/yqM8agFvowvC9okBqx5iqf4ZAMi3oehi+wBMaZbp8FsADfZqxjZHAG0Hy7TLGQBxNjGrN9gAUztk0saiAJCZ76DUHAEisaWTbmUAnBWC+8yEAVFGTWi0NQFqJGUVUF8B1haLWTFFAP0FVFMSKwBRVlZicckBTn1VBLIdAMnHIzU1RQBcJpBVXzkAUHM1jHHfAQ5dnpU1TwD9xxjWZwUAeVZUvN04AFRK5y4CngEDqI03s04AvKA6c6kVADlm9liK4ABU2xbuXkcABfVMtN+PAHE9O7RtlQB4/ZaZV9AAVvDwHoxkAZdBpxbZggGTGLwHh7UAoM20csF0AVtqA8QXewGGhl6lc1kB73QR4CttAM1nUr0wsAFb+e9SGWwBtoPXF76VAZtMJXvP7QDUvvR14LYBXHT5Avu+AGlbvzewwQE+76BPlx0AwYb2fu1LAF6dCy9PegHnsxxh/8IBr3l6aFy9AKH/wxxm8wFjQ9W5yYIAkHg5zxSeACDJztXhYwA8lHnODwQBYF2k9RabAVKtyO51RQDstFeS3QMAUVc7idqlAGSIL4dILwAhlIjZu4QBeglw+giTAJDuzYiUwgBoapGUZkAAHNICr1EIAAEzFMSrCwAIRXqgJZwAbDfR7sxlAUd3Y5vVigHTGbvF9hsAqNXs43dxAG1Z9YcrKgAJw5nvtZQBKmpw181bAJTW+8zhyABzHweeKAwA2IEEmbeeABgKPPB8ZwA89syQQI0BciYWksjHAdZcLpiSjADxiaS0MicAGKSMuh01AXOD78/HXQGmFPX7/14A3XH5++DnAD1/79eUMgFx9vS1qg0AWGWn/jmcAFgq1pe3xwAczj/y0w0AdhAC8ao7AJklbOgywAFuKsegBDcAgaYLm1JMAXZU/1QmIQD5RcUvUwQBQjIVf5U3AJBlelHRTwF648geJjYAuAIPPt1KATYyPAnjrwCpXb54IA4BfiBbG21mAL1SH1nSggEzW2xtAj8AoKXNfCVeAXxxZn+zSwEfJ/9stwcA6Wb/M0cfAHB2m3/yfAB+iPmBRxoAodKd63hAACxxQM+IvwABD2vcpcIBf72285hGANXj7tqelQAxDOe23v8AVLytu+PVAYO6P0KcZwCkxeoRyr0Bcxyhfi7gAd6pxCvRkgGDs6O8n1UBliWys0/7ANV8nuLm4AFv+Wam0jQBhrg47sNbAaf1+qCpYgDtYbuODrABI0qCr9fyAYr7dC4XKwCA55sk7S8BanQ6F2+oAfpbkmzzgAGOBYb8gyoA0SJ4oicmASpgn7DQOAGyciKPIkUBj0g8HiDnAL3OiBSBNgFzgjweCXgBtkCUCLneAY5Ttfwc4ACVa8CHRa8BA5wf1uU4AfrRcIHrVAGNnSOCSWAARZOQgY6wAQNJIOJc2AGGuMCE5NEAjbmQdZKcARPrYnItcQCcpNcEztgBR1onI2vkAJAT5uGisAAIKeXiBmwBBqLDs+QEAZswI9PKCACTmzd7GpABkunEYY7/AISsb3Zs5AF/uMMRy6QBlw4x7fKoAcv45OEhOwGKp9vGOHQB7kJDk4/pAZc0XjuZqgDxaT9AorcBKszuPRZ0AfaigX5LRwGVev0sfVUALfWXF0H/AFVfGl+vVAF/wXR019oAl90OBhRQAeeBBATPdQCFFDA4XfQBV3mQEEDzAZqaBOO9RAGOo3TQyK0AkV7jkCysAVqJhZdiuAGbvq2tDfgB5quWw2n+AY/YWtq+7AG/y2G06rMBnWeQJhhdAEVmBhal+QBdDDIE81wBT9K0MDNRAJ+ByfavfwC9Jn2z7fABf3q3ycD8AYfb5t8yXgGf98RtlWEBxyd3Rk0/AcNU2xH3/AH+WTF3cnEBpwM+Jrp6AK1gqCin/QEvLrI+YHIB3/KKCoNaAaZPbZAebwD1hIm9ZK0BezwE23kyAdqTXsiQ1wGmVIibZwMA+RUY7sAiAGBzbIiVMgEiAbuMVE8BpPqrNBeKADGpmi9rKQAo9BZqr5IBSmt6LMrGAKkjpU/b/wEGHvp7pf8B/+35UuJKAf/S7y+8MACvFlk3dA4B+3MJWeE5ALgXdk00egFOQ81IZ28BrjwCYBHiAcerWggCIQGjxAMgHjoBwiAILWrxAa6mRh1GhgDRGgt4Sy4AMLFcMTK6ATppD2gsRQGuqbzO/kAArdLiqs2nAAE/uZ7KugFy2aqjpdoBsarpKdK+ACC4r3soewE+pcpLqsYB7wpveo6CALPsx/c9KADYoFfP67UBCl538ZvmAdbr+fUCjQGz8vnRBWABtkHXz0g4AYNQRc+n5gGOCXn1wTYBt1OyX4STAJFN7E7HegBkkP0m5XYBL3G5G9lEAbRjc1Rq3gAdWM89J+gAPasVZ2MWAQvyXnmNXAC2YVkhwIgAoXgnTSQgAAiBwk1DNgECEllyD0IBurjQX0S6AZLbT0rpYgGukX0Fjq4Bo0upeW2kAbrAKHwQAwGyJswMCSMA4AQfCgGuAWJIGBmyJgG8CRNNh2cABcZ8eUciAXNw2WRIHgGicU8fMdAAvjwPRPkMAOmTdhkjpQAYT5F4Hj4BUuJMN2TLAcEn+RisBAB4QKMTVLoAEBqMT/JBAS6VZGKBDwDCNmev+GMBzjWrwZOvAeMP+vM2IQH65MHq1jkBwsro5FoyAKCwyaYZ6QEmLROLqaEBy8wyyYaCAcYSFiDkHACJcSAQcmwAHBOCNCQxARsnBAJHSAHH5V3QQZYA8VhblRx0ADTBBd1T8QEXHFTtDUcBylnMZvjsAKy7YRa1pQEbj7MZzSkB0ta0Q26aAcj7DTp8dwE+twoV3O8B9x8uWG+JAfud1Ch2vgDMI78E9OYALVqqE1ctATOXkH7iGQHadWQqrVoAzLkd3hFNADXHUpG9JwBZRD3cTpkBcl7EpXHWANZHNcvdUQHHVPTF1O8AxV3p1nE1AXuV0ZeVcQHUUA1SjPMBNw1sBdDkAeeYpVgFFQGThdAbWHYA1n4yAYh1AMXFplQS6AFXCMAmPzUBi6QVMtHRAdbvZzDHRQHXtLc1XiwA0XGGc3u1ARo9VnaW9QHZCsH/CEgAFKJFw7G6AAkIf8GoTQEuxuHRIpQA2kSQtcCVANB+JNYRYABUgdaEkS0BA0Q1kj8FAdqO8IofTgHGwp2y+KsAuXwoh7itAWqPptyhsQHiukiaR/QBtpkTuNhqAZfxLIkuowGrDY7kTLYB4vuOxZgZAKCFYs4/7QBMDNG476MBW/45o1CCAeU+Br+DEAFToTLok34AhGD+sD5TAT9ki6ZC5QDmh7BptHAAzWDgSlxrAQcWywbwswHrHSkDg1kB5aEj3+fSAB0Y+unfcgAl8/3iQtMBJ33Lr4xcAOTnSjawAwB5JCsMnykAYAa2KXOTAUp8mGoSTwDrGUq12+MAtL856BexAWPt1qlMawHG9AvOfpYB62jW1oe8AJDKc77zdAEe8LW1i2sBl2e+5ymEAe9MnRlc8gD12ghPUPcBJ51MXJl7AfeFeQgt1wHwjEGyoU8BXqQ9mbggAPlCpsEYhwECDszeEr0A9SrjZpFbAAWk/wuzeQBtRLNjqlcBT2bof5LQAPd/z+5ZpwDhvV+fl78Bcs07+f93Af70/P1ewwH42i8Jf+sALJ+cbXqvAWv/SHotjwH6r1sc/JoA/BnsqwnkASerldqUpgGTyGqbzB8BspSt1OryAJNLYYgwFQCIhIWVBHsAVAYIw2lkAW8QVNCQiAHIrWYlgBUBQqajUB9kANQA0jNaiQETfAVisqEAHNoVb6CgAQvrZEWJDgGCgvtULZwAuEjRE2voACOT9JOlHgCYQbna7FwAPFLkl+TiAB0brc7BDAEvWJK95IwBm/sg3mMSAJiT3qSNegAkYz2Cb+wBQ6H3lmjfAJxci5O/1AB9izT3wuEAFf7k6J0cAUlQb7N0zgE+O4nV8hUAuZdm+wVJAFQn1cjuPgBSYF4OmH8ApEQvFLPHAX8MuD0DJQDx5pR6ERIBUpEY4/yhAKh9ZMDcgQFCn+OMRKUAwJ2Bk18KAWXfhVIqPwFbhUg/vNwB/iolUP3TAJ2e/glQ7QBxSAzXK6AAOIhU7JGUAQLqdZgJRwCUxJuVCI4AjgZgfaAlANkm4VABKgFSAt8DMDgBqkAFQ7JNAZaqIQNUcAGHkIZByGkBhxVgQiq0AcsJwTCE8AGhJa6JXWQBZhCS2ka3AZNdSLrSQgH2sS2khDMAvOpWCi7nAQ/ODzzKrgHzuig1K54BuqmeeDn4AMLSRqSLRACEITG0G6wAEWiSsSWhARrsFsZCEAHa4pWLRbAAgFoWx9huAQbRaNSjrQG7DfG0LQAB7D9j1R3YAFWL08l36QAN3FXjfhsBS/dJ5ejVAP9pLTxrDwC5tp49NbYAeGseWkt/ATbWXjy2zgEAHE+nRpIBYrkJ4cNEAKSxcvkcAAARYcPITqMAAhj0XcqWAJDZ6XIBxgA0qd0XjCAAMcAnS82EAQPRo0jrWACMEfAnLtIADWuJYsXgACW6cgfEGAEEG4P9KZoBG6lYwyfKAKzKX+DsEAAp8mGNSuwACY2Oi5TXAWaOKNLOVwD1lOi42MgAdTmlijizAAij3hpZiwAwXhsCro8AaM0sPeKIAHi6oGw9BgALvAwIIBgA6IMCAChWAAwCCBge6AA1CgAgYIsBCLR2LHzHAEx/ixBLhwBxnxo3FogAcOkEaP8ZAAj8tchVLwFC19qXaAcB+lUJ1p+IAPALdK31oQAOFjZU/iIA2VPoIEONASI/lTY0OADY4QIL5U0BEiyxnwciAdLAnuPBAgGicHzGmiQAoEHjvIGlARJFnKsW6ADkaATm5AcBC7RqnNEkAPATs5ALEwETk371rkMBvmXt4E+cAOE6179k5AAc+QPb0z4BFin0EjCMAJnIhxKkBQAYhiQXyjQAUBKkcInMARV8Z1h6QgBdkc8lApcAIS8Ncx9UAHSgUnnE3QAVzLFZg9YBV8j8dwhSALXgzUaZ1AAlCHcfifUAF+Mvod25AKE8tsVu3QFO3cL6Y/QA3btRtp5CARtGWo7vCgHqUj2k45oAqHu4rTFsACzjkt4lKwEbaU5Js7wBqop3dCZXAZ7myTlLbAD1Mhd3KKoBG8TL25CKAfIKbceqEwCohO3pkewAZCrx2ygnAR8sbY13EQHrlpfhQVcAxHdY2xp8AHVBQ/S06wEfVz8PCOoB50uMRaeeAauIeH51fAC88tEY6XMBHG1ksNh+AVeyr5QkxQG/DYaTWxwA0ZIU+qb1AB/WM+knTgHPY9z1ahoAuXJL5jX8ACwrV53jeQEf7V4AaasB694fBC6UAerLAD1b/ACUuhB8PesBIBmFK7+mAAipOHvEhwEy/upQzAIA8JHvDkqIACI9M3gHzwDU7do5ZgIAefAPZl4iACAzTi3blQEgYyEcazEAGBSSLQXKAUZrHEJjAgCp0FoklAwAIm5XSHbYAc7YQy1iTwCNtwl1OyIAeSNaYQ25ASB08bL4wgFeeauPgIEAoY+mx5cCAECA+OrPPQAhrD1d7W4AfND6WWmWATtb3V4awgC0y00vhZ8AIcMXHZA+ARJAKF0vXwG+BNx0YcIA/XpdCgEkACcv4sRDVADFkNO6B1gAFWERo/pyAA1wLuWE0QEnnzLg6IUAyf3gmA6YAFCLg6Z88gAMuAyD38kBJr4hcpoJAdOl4imoiQDILKdCPrIASIrKI9LlASoDOfeefQG2ZuD55ckB3zz3zmAqAMnTz4OzNgErGJPvSOsAhP9Iy6OSAWuJe+SMagCk4umJf5ABKRToZCoIAGgjwSohkAAIKhMLlEoABMIqQeILACloplR4uQAYnsIOI9UBTo8VMotKANXiOCG8jAAqwYEl+DcAiDYoXw3BAXYP0kDBqgDB2H0KNggBKNQgvmbdAV4/gLzpQgDdsz6CFYoAIUuegP49ACn7ByiTQAAEozItDh8AAWSKcG/KAHw4WiZikAAtTxvRRKsAcd5IzWYYAWqRRex5WgCMM1mJPccALE06XX3RAH3e0ExHwwBF310uWRoAYfEZBb3fAC7Jo3NQTgGXsshfrgEAuQVnYsm6AEA6/Qmm9AEv8p04picAuWcqP0geAXIyjlyn+gC8CX4qc04BMw7yHXZOANzQjXpjGwA5N1wnuGYAbGMvWIWdATMuoauZBADAoLbbgJsAEEzqwrpmAGyA7baCgQExKcjz4NwBPrhn2qRQAJ2D54nKRgAFEq3zDr4ANQD+9cQIADFw5cpjFAAIEde/gFYAFGMp04dGADckbj4kPwD5JI8Y41YBfhI+OxJ2ALVjjHiSTwE1UXnFklwBJ0Hl/SVRAJ0k0c9FVgBFUl/TwXIANri9W1E8ALHR1luoRwEeRW1ejrYA8QrtNcXGATbdvMosdwDtxcyezMYBdxopnt22ALGZvJnR2wE33fn6dIwA+fnFn+wTABiXL8/d9gBkG/zRz88BOQhAnkRhARaWBYjBEgHDETyBCE4ApEGI0DS0ADsBXQ6xyQGuTjUJpRcAyca4XUBuAHRSyFY5OgE6DtjhWAAB4vJFygCJAIANQ424LgBIgCnRJ6MBOG4oCvHzAW6evgyASwHnx6gKOw4A6QCYPry7ADlh86jHWAEGcrevZlIAjXGK58NOACUzevanMAA5rwXdiqsBUo5u6S2eAeqo3dB6zgC82ku7OKUAOaz9jCCmAWrKj5sJFgGyghjfms4AtEhs+KmrADjX4xm9zgFeC71fbosAud7MY/WOAGi7fV7oPQA+HbGum98Bx++8u6XDAP3susbcPgBh0u6e+/EBPzk2EIM6AZPDvigmVAGuYIQ2Tn4AlTIKPuHkAT1ErGdJeQFnNtROodQBz0lzGpFeAJXCuRW2cwA+2Hig1PcBp/+tnEhBAfeVgo8NvgDBCRza//IBQy1cbwqMAODoQ3C1lgAYqHsdWmEANNaHYQuDAUI0A5GcUgHWASrBUsEApRzE4BYhAEGlQapANQFAO2uCie8AJI27kbaIAXvIoOtuAQCItsTu2JIAQ22RSUZ0AMTQQndUUgEXMUlE22EApRV3IQWRAUOXhWvpLAHKMXBTvJ4BmkvrUPThALye5QdGKQFHHZ+x0QAB8/EwwxYVAIBFxvzccQBUNGGGR+cBRiv7pld5AKX0k6P3SQFPdTLv6jEAyXfi5JfSAUZcSfgAOgHzoUmFMEIBrgAPyR0xAKEGUMlC5wFFdvcgMCYBS2GLFxIdAbIGAne3UQDcJHRow2kARqgoRZr8AKWI4nA5wQEfrNEKCrEAwc4HI4jSAUSga14BCgAxANsBuwIAKEA9awKRACBuwG2ARgBFuU5xNSUAOaVTUF4VAVJWRzlO0QDUPQVlUs4AS3HXoP3FAY5/M5dWlQDR34L1x2kAVLV05n84AU88eVJs0QH/38MB0NAAxZslTx55AAWFwGH9/wFPslAhRmIAhXMLYFgYASMxQgUm+QCMDQNoZ1ABT++x92zuAd/6ytf9mAG7m3fG+/kAjN/1qa/9AVJLUvq9zACc6HWU9osAGd6vpWklAGi3lNcLnAFTyPTde8gBntjV5jmXAInvXZeJ5QB0zjPVjbwBVwVjjYYwAMEApeFXUgEGMNjjUHUApXVD0oBBAVVL4VXjAAAZkPVnFRgAAGPVQ+lVAAxUc1eEzABVii+vt2IALaC84dsfASN2+voo1QD8bcOegtoAVJkxH6BTAB3FrEGdQgBlAvxGTJUAIVzBGtHcAFgN/3pFsAFy+tUD1kYBhtEvf9gNALE14FWvpwBaEhHQ9zQBmlN0sVBJAZZ3hcQkLQDJBUaXZSwBXxEYFhikALFLBBCVkQESjDQMRH0AxNSEEGlGAV09V7PjLwBZ9z/xthQBemPm9V5dAJQ2x/53zQBdSpv0oqYAOepstxMYATKil+ypXQCMZHabK84AXolOsxBZALWmBcC+RQBNBGa5SL0AUT6B0DLWAV+2BHSOHgHTI24wedwAvDiXEDb9AB3PBjtiZQFf/KIHCi8Bw4eOdruQAfoocCKf/QCE7rc48OEBYhQ0o8YrAcJ1qOjwBAHqMeKWFCMAkAeLitchAWBF+Z9L1QB0XJH/lcIAVel8z9EDACHU/8SdFwBgXuvKF0sBZoXZr/ILAOl0Keu9AwBoJ/rN0LMAYW9lK/RPAEy0q130HwB5F+pTe0MAfBfdapaZAGBv5+2vNQBIpPP/V84BVnrb8/sDALn1f+eSiQBi4zYnp9UAjGyyfN9MAFXy8jZjowAZfZ8mmxgBZTINkvIGADkRKrmQHQAwJ6TYJlMAXATOqkROAGWudLJR9gBV+JuYmF0BN8UmlzrTAN0MjOyP1QBqJelJHwIB4gLba1SDAKB8SUvSKwBglWttoCMBaZoWi6tOAAzDOPi6ngA5aui0LMsAPK6PjmGYAGifuboaUAB044CrnMsABSwuzvyLAGmc6oDjlwBorBv44hsBevZqqTpCAOwjj+waiwAhLkqrN68Aa8zcG+BVAPzWIV6YVgBVA+wdmesANQy9QjWfAW5GRK4qGwHLJgmssc4A7Co6kTE7ADnGmsgyaQFuW92cVZEBs98Rj1VPAMTVHN3tOwB5VXjEfeYBbnJnDj5tAI0Hgz3zjwFbPjhzJzsA+OfeYPBYAW+GkyMtqwDJbhhL+pgBatpiZLD7AIyv6Qw7SQFsifRA2nIBB9LpKhzFAactgRfImwDRnCpLpfAAb5xSu7LTAd/vKeiaUwDlpu6lHPsAZSyLynv9AW+Uf1parwHzX8k5upcB+q0tfxT7APSuzkn9ZwFuqBY3vGwBn+IiWPuFAZse9jQKuwDQ740iI/wBbrGKbBdRAKUnUipfQwBFdBsoxrsAYX0qJXJSAW/Ijsj3ogCpmniuWhcBIveJuIn7APQtOo8sygFzUVC+I+8AnG0dvLUSAXviPoVFZwCkVp7cWxwBcItH8Bu9ABCsVbk+zQFe7AfxaIcA2b5O1RqEAHCVJfsabgFWIcz5vIcBuyxv0lSHAPCez5nCNQBynv9yY1oA/PHdK7pMAC1jJ3+8pwAZLupdx58BcKvjfJbQARao5ytfSwCFtJ9j6ocAaX1qc4q0AHL1l1KzjgDYSX4/vgUAOOaldNenAFA+/j9JDQF2BaTm4t0AzTzkurVEAF2js5LQNwARVq6TnlkBdBEGTGmlAAkdVBgXhgFSyxkwRBcAsPQMFVxIAHYkETz09gHfeC4ZUUMBt5eeRBI3AOFFTDoPfQF0ZcFYu2UBXwR3PxSDAdNujUHTFwDglH53EH0Ad31bOrzhAP3tJw3WkwFDnq5tX3cA5LXYclvfAXe2D7x7OwD5NR6pO98Bbm8e+Db3AP3uSrxWTwF2tIUAPagBywkWC3iFAYreAFCWtwDQj2g0SGkBde67Sw5iAWfAzm/amgGjOGluu9cArK37OYHzAHb60NiyuACZyWeuOEsBDqaNha+3AOkOOvNJzAF4S2GC2ggBApKlrbSJAIgtoMNpDwBIltrSpKAAerv7LzQfAarnj1v/SwD8Fnpv7q8AaX/tePOqAX8nBddUZADVEkbZ1R0BExV10HJ/ANxVzbEkVQF947Qf+JgAGVqmTr3fAAyP/Bbj3wB93rkyrUwAf+2Nh/vPAe+ePv+9lQD57/DY2/8AVN7/vjz7AX72UjcRxQDVbxdcmwkAUcR2JTe/AEhsnXR7VQGBH/DLuWgBTsHxwqS7AYtO6Yf8QAHukqHHwbkAgC7qBpU0AGCAsxLDaQEWVLArugABy2GkZoCDAIJJ/zuKywG27KlnpqYA6ajuf8kgATKy80qbtgGByNQx2yUAEPQxdgi1AVJtxhWJwAHWiDdGF4QAhCsPWKB6AD2AagEmbgEvAo14ahABuzJAKwDeAIUrf7PYDgAx8KvRpr0AOA3m/2pQAV6yxeqHxgCGIKfs68ABjzjyowOmAIHrm/KCMAEy4GKnjngBhlnDS153AYeVSXfG4wH3PWlhzTAB47H3SVTwAYdgBnVXCQCRNFJkYzUASHVXMANwAVZjEyUWRAGE25Qa98gAHdkwJuwvAAn3rBTtkAF6G7IGTdwAiha1Cjl9AMxHkBOg7wFfTihWtCgB+4LkBPEZAYo/ThG3CAD4gzNgZi0ACHbEOX4oAVozA2ZgjwGJRoaKYr4ASBoItqJ+AT6jKLCxSAG/IraILAkAi3qBo3/bAIy/Gufg+QBt/2LAr2gBT4PzrH6YAYmG3Emu1gBsSmlySP4ANbrJHbDIAT+JJ0spGwCJmTRGcLIBCtvIAI11AaaHMRZMyAHXWIAJ7agAi83K4FUJAeK2UYZuMQDIVQOp2egBRjswxTajAYve8XZSaAHW88EnqTkBiyU3R73oAc5K8kHntQGOEmIaxlEBlxehIMJqAMUxrCMkOAErIYJC9HQBjS6UtcyoAFH6IsJhvAEKmdaUulgBnsMhoi/FAIxLuQtSIgAh0ohnhCsBIiVoTukYAeoQ8wilwgCNmcnQ2KsBM59pgyyxAeqNhcnM2AHGmmDLfOYAkBGBSTy5AQoNRENk4wHOnklAxAQB45NhEVgoAJItqFReVAH2kMYyReEAlT0VCtokAUPRJjGEtwGQTnihOPoBbuiNxCDpAa+OQo85BAHLghHYi7sAkJdaEH/xAHxdFSBO6QFH/wQtdIQBy7kCVF0fAJCzPbtkKgA4cY7B7C4BKhNu3maEAbobwbjHDgCTwONPE/EAhAzVZ4tzAUfkeWOB5AHnaPNVmBABl0kiUQwmAJGAzFRGsAEyGEUiSXQBhrEVGYDEAZdKV6QGwwCF7A2lQzwAYbAS9Sl0AR5hUtgb0AGWc2gm9pYBqzmvNMVpALS3sgtnNAFLUZZ6zmoBlYrf2mADATvUTYOKPgDgAy39qNQBPijg2RXuAJavLiM6LQDppIZwrq0BWi5iOnq0Adq6hzCSywGbB0Tl3i8AwDZt8GW9AXo905FwbAHe0wfbNgEBmEtYlM60ADDaJbRF6AEWuZSNaQwBi9EW0i2GAJl6yjcLdwE2px92g/gB92h2Ka9MAY/gt3xytgCcAJDQhUEBF0Z0gkAgAMFQhYSAHAECASCXMXQAnXUERePyAU8bfmQFdAGn49EQV1wBl1ATP2x5AKBC9B8UiQESTIFO4S8AyJR8F6ECAXpDuUCZJACgmiApiWEABKWwSAiqAUNIygIsggGqiAkG0pAAoZdBtQYUAFAhAflNeAAUMFbBdMIBD1lPwEIFAKLHs+3a2wDEfOjvL+sAba3b5vGiAWv6e4ufEQGj7XMDq5wAyMizfa7wABzq4Gdb4gEHut9miYkBpA6Ze8UYAHHwcEvgagAMUe9MuBIBKwPpBwfHAKYu07Wq7wDd7Cv7I6gBe6rW5boyAYrib+ob3QGmSFNRYVsBn9RZTSJgAO1DRWUJMgEDIllNFfwBplgu8bd4Ab+h8OxiZQGPdse6DTIB0yMbh8L+Aad9PssDaQDlxdLspjYBS2Bpvl9yAbYym6XR0wGltygMZJ0AaR2CGG16AFyTGAp20gEvWwwg3EsApM9bTtT0AGXYYR3PawEXlblteZIB63ncQw3TAKsV080whQDIT0HbBzMAUIZZ5dRqAWZwbcF5CQGrL2ce0AgB0pKjCac/AIgFvHN6agF+cshipKUBqCuxZFARAQL2wgsFaQDEBRNG6goBS1BoIbegAKhDOnnH+gE2evhsZmoBr/HPLmEKAaszGw+vNgCoX5H1qVEAXOdwzwXoAEVK18T9CgEL0HmHc50AqH57hIBeAWbDq50jaAC9AJDvPwoBC2Jc6uGzAKiEecNgOAFqUsHJqGABjgNhzxCKAYMKycGlKwCro0TPgnAAhAJj6I1+AQcg+ZFi6gG/WIvjIBABq+Yx97N2ANxi+v2JeQE3ZvfGM+oBz0jfr6MdAawWEBZJlwBRXxgYgegAdMk0BDQaAQvAjAx9RQCuJ9gS6yQB+1IzOoSoAZJrpA3yOgGKkK5mJW8BrzvmArqfAYuPqzqm/QD8rqAz7noBX7KuavjoAa5GGuqJRwHnZnicgqoA8UirrDE6ASqgnI8zcwGtQnHad58BG17ZveB7APz3LcchWgFvA97NvWwArVgXzivBAQ/PUK2DtgDB6jn0DVoBNuDahXn4AKyX0tCzTQBdR3G6LikAWWaFpfSaAUo6LsdxXQCtvsVCC8oARYtbK6i8ACnoIVG+2gEeiuptaNEAr/pQVXhlAJ3XQ1wJuQFTD1UFL/oBzsgdYXXcAbAfzhoMkgFyiQ0Kxu4ApJgsOfwGATuxqFhIpwCxcIa+j4kAEC02ruO2AEj4vrCHRgE247q2WgQAt942PSkCANnhnEwLvgAgSl42PfYBPugZHMPNAbTlDupZfgBlMF6crucBP00ruFOWAfO6nL0GUwC6OyzrW4oAoLve6KSvACjta5puLgF6kou97oIBu3tS89EUAJDzd9yGeQAUReelb24BTzCd92eEAbp0tkdZVgHGU95eg+UAtU1xNpcuAVPgvT3lMQG6i0lhGW8BpqZdWSypAftMQ0lorgHKmk1dMrIBu5jpyBxZAKSHxYto8wBNHAnLjO4BZ4to0fCSAbwesVGcowFTz+xLQKkB4pzFRrweAcqBaRv55QC8KjQRG0QBF8KWeACtAJFsRBYqHgFagA80ofQAvVFlGx7VABUPhX3E9wBVvGxTRV4Bd5HfUPhUAL5wda0ztAGLa5f9AWcBluZa1wc+AfNAX/TraAG9/6ShRsYBR7uO/kw8ALGxQpL/3gEeGT+47vEAwQSXn5vAAFRIMOOTtwAB7Pz0kEEBduTjhgkVAMEeIST+JgFKsagxUbkBsj+SQjxBAc7FRgrGqQDA7UhAaqUAaJxDNBygAVKrAQlbgQGCnBZhHIsAwOq4pgTlACTsgpbZKAFTkDKOq4EBik20oJuSAMZX+ilNUgHncZlGVuoApVlKL/UxASu1MUzHcwHIbz/BzmgAZNLi5XasAQs5wf57CQGat1OjpZMAyGNWzAwEAQJCQ5RXrgCQGBm1YwkBOvUU4SEgAMnXFWGXqwFCb3hlfD0B6vTDVHXJAd4fUw97IQDL43YSGvIBlkqLJJ79AaesJDdj6QHfvJJoqTQBzBe8yjekAWtL0LLULwGS9ime9BkB+hWmhelrAMzfpieRvgBBq7hWv20BPsTyMv2ZAdt+tQ7qwQDM6+tDJF0ALYbDV/5oAF0SYWvrmQELP/VhsNoA0TWbUgV3AHRFXhPWcAF3UCVs1kUBhzXkPVEXANFb1HA8agAc4U0GdL0BKx4HFe1FAd6XMFlDnADXGnVCo08Bj8X9MbA8APlioVcsdQEeBsZf0fgB1+Z7P+rXAf98r3Wb+gD1q/5vM/UBL+zXep9/AdsCuu5RvQGiftSSs3sB3sU7rqBtAe9mpJW/IgHYft9GpbsBas9/B/NsAe7SsX2/DQGbZ/B/easA2IOFR4QmAQICbFPdLAGyEPFQ4I0Bml3lGyAgANq9FsDP5wDE336wXqQBc/mBtF6tAZK9Br99kQHb4k2A7HwBrhInlXj8AZ8bgNkj7QGfj1TyJDoB2fSa7SxFAGxnRtZbsgBRGlusl80BJu01sXMbAN4Yu7JOzgG3+4yz8qAAubkm7ow9AQKn5pjv9gHdGeIfsqIBG4utYpczAaKm/CPMXQHmdKNa6OwA3ixBtZUrANGmP8FxIQFqVNbBGj0BwkdB/jLFAdxLj5YNYQA1hhSH16wBQ1g0+OkdAZr18JQw1gDdlK2OEnMBZweMo5l3AeckONqU3QH3TOKY8HMA3dGYsmn4AT97FIa88AGPyyaMxd0Bh56wlG9+AOEQgdJ9xwAcHVib0LEAcd8lwIRDAUaF7I1cHADiHfQ85kUB3vWhOlUmANEznhfcIwEyVS5C170B4yqOGnURALiUEgrSfwBEVyw4qmMBfyWoJBSOAeZ/Ir3kPwHbtarcd2oB/hPeon8zAat3HarW7QHmyfQyL68Bm+yZPvykAfr6JhfJswGSn75Mm+wB6UFfBmBzACxWCQ2XdAFnAzB9QUsBl3TYSDUaAOii3VSTcQA0RnMrGW0BR2SVXaKLAdtMamcxFgDo2JLzuasBGu94zrqhAerO56SNiwHCrrmPe6wA6uDyDRkuAIBCm147owE6TFgng6sB4u49bKEAAe23h3jd9ABVO3IbXv8BF92PcPbbAf+9bCduVQDt8ykDyicBIxeqfZy4AfIp4Epn2wGOnN8q9GIA8gkXqrJRAIzkJKmWZwBFJqr0SCcBczTKkhOYAfJXvzFi5gH+eYx/FiwBs6NGfvUnAZo0fxjPPwHwoTty2MIANHjuCZ6hACGNp25ChwFCvMg7jxYA8swKkQP7APSMHOw6YAFv4ESoGacBgy4bnBiXAfDFUH+poAFaaHVMnaIBgsr/BVGHAaLcmVcLLQDxxZ9HXZkBYlxUT//1AMzdcXzRxwFX//kVHSMA8PRlk7awAVoJp+3YZQGGtuTTF4cB0w3b8sgtAPQAJRMlSAAdAJRJ8CQACVJkUgAXARIHyRSAXAD0b2y+39gBd7i3rPXvAI39vpt7FwF715r2jvcA92hy307hAJXcx+zTsgFDuX2nC3cBpuWb8Z3UAfuM0y7PFwDA9j072/IAdHm6ZZjvASft7l43gQH5kUnoL7AAKCtVqVzyAQb6C8lEzwGnnUrVagoA+8yQwhDkAMTKRJ6YMQEThCGEme8Bxgy8kSmRAfj8alyqcQF+h+csG+IBxyqdKx+PAaPsGnPwvwD+D6sWKL8B+46MG7foAf6KNGr4PwGL9uwYuO8B/EIOhtDcACUaJJyzbQAdhbC4IR8BW2ackixSAPx8cXgsHwBZ588dcOIAfBoPRx8fASOHXHnzzQD/n7eW44YB29u8u588ALDjtPb8/wEefO6e7e0BcH8AR29uAEyRXnz1iAE7e3EAfwcAiNefPUSZAIPuxEQ35ADMiFM2ST0BE/YREbvgAd5JNmUImQEBILQFtF8BDkSqUmFVAP0W0BaCQABVQyUqkTgAADt8FEWnADDdmxBFDAFy0RQfbgAAmFEEbN2GAANPur6jDAD44LC2pxoAGGK+rvlgACxytoaDjwEBViUBFY4AQAmYVWAdADjUQFI1QABcA1UMyAEAAY/mqCEqAEigmYIuHgEqQgqz+MAAvDogzIKJAACvZwHShgBAmKtxDg0AMKXAc3qAAFg4R2qMgQAA2RD3N/kAHO1Q5O1BAU/2d4RNgADBW5OFW5wAA/AJ/7o4ALghYuWp0wEOLv/IB+AA5crTo0IOAQVczWs5sQFrrVFHgNcBxs5rWZ1QAPWA8UVa6wAGbZIkgJ4Bw+gqFidAALyAkiTbMAABcjQqC+EBBKYm97lCAV8g+sCLjQChTveyMpAAWOiBr4J9AATEoLsFsABRKJDGyEIBBtBugpGQAKEJsYSKRQAJBPBmnaYAQGr5EsGRATLcsweQSADEwaRPqwEACD+iF/vMAV6bsnKniQCZ7/Qi/ggASPKnJuy9AAprpDs/RwGeppp2xI8A8X5uEusoAHiRtyyyvAEJk0Sg0PwABDshkCxdAR+FgpFkyADdGgTCbhAACNJeBHJiAS5TCSQLDQGjJxA9JYgA2GgSSGU6AA4nK4fJSwHnFrrBp4gA6Unw6nI4AAjywa60cwEPKv6W2uMAtd6rooOdAWOttL+qeADc4KLqvdYBDV5yOJgDAFHnqQQCmwBgDI4nPVgAbKAQSvPFAA5XcKdjYwHPd5nkhQgB42Nyh3U4AIhQk8z3eQENaqncGz8AMYbatyHbAX5sHcqrWADtwnatsMYADXaagHHQAW9bEoYCWQCFxwCst1gATSAwpG17AA58xSPizAHPuyN3oAQAmaPiUZ84ABAC92Ju+QEPi2oU9hUAuZahME9ZAFQ3lCto+ABNeQZCtM4BDauG184RAROWYuLP3ADEOfWw6tgAHfmjozTkAA/Lx2E8lgGLqklXTt0AtJ5Dcen4AF25dUkq6AEO7D8zrhEB++aiZcrEAMQ65n4buAARqdMis+8BEQ+YpUdSAGTwHOJFWAAlcVKM+EQADVEjnAeTABF30oPimQBIXSfmplgATKPgpfdEAA0ys/JdCQARl7W+UaEAUH2Ug40fAULFPtb0xAD8WOCU3wUAEpuYOmlvAb71HBKsigH7Sy4M7KQAqJqkHFe+ARPpQb312gCcuD/FbVMALdfewUvkAGVbUf4OnAEWDVPUqVcA3cR9kQfAAHVKleVYNAAB8ETfEd0BFj0Vb+dJAM31dmHlBgBJc/tUXjQAMFPDN1fZARSCZABflwEDHJ0wSM0A9P0AEyCUAFmJBlycYAAVgqGPKjgBCwCE46naAY4qeMKg1ACtyuOQgGgAFZkiNUr6ABW5jGAv0AEvqVYiTNQAhfoDGM7UABecWRnWLgDx0S1xaBMBOjXMTRz0AOQLR1pFxwEVpVevGfQBR2gX0Y/XAZfMevVS1AD1+MX0C3EAFrmBk5fzAJWNPuPMQQFn9OTAzrQAwRnjvljUARTUrh9TxgB1GZx2iwcAMeV8OpWUAHBotxzMVwAW3rymsS4B6+G8lqkNAbpGsp69tADYSrSew+sBFdfnMoh1AFUlpReO3AFXCKZz9dQAnbj0UtJVABsFibgOxwH2LgyzRJIA8bgOyNBsACSRZpg6NwEYTA0RENgBdooERSBFAI2ERFgZDABRAlEQKLcAG1ATA96TAYJfLGXC0QDkveBkBWwARaHTGn0gARp1Q3XmOgDYM29lZ0ABLjPXYVcsAIFzU3tmDQEZiyxtZc4ALLrcUG0eADnTWxpozAA8WwUdrpoAGJ3tmr8DAHiHvaPMhwBgfqzb3IwAcJni3vCPABqjvRUWSgG2Qo5jbQ0AqTRUXuKsAFhbYzihNgEYv93ZiFABdsNnwwzOAIUIzd3+jAA5mGHzYbcAGrvFgPimAYqbL5MMjQGyj4DR7qwA2Jhk+myoARjKyHOuDAE6omV26IgAmDrnCamMAAiLt1MirgAa+1Xgw5kBgv93pSxMAMzhg9VvrAAZGlL3f6ABGfys+nvrAHy/3qaolwFr7y+an8wA9Iqyvf6fAB8hTTMrgQC5LhdhhJQAQOpmWUJ8ABSQw3Q6TgEdaGFhUC0BA7bHVSARAdoFQ0MLXADEAlVxtuAAHXERaZ/NAQdvdnVkkwDZ/MtER1wAZJNXN3twABxzNF06PQEbR8Z0Jc8B3i5dFmccAPnSFzHxbAAepwcWPRYB2wIeEc/NALReNHByvABZ+cQ8IG0BIBbxRe8QAUpR8WtByACEe9FHtAIACcFrR8UpACElT5AxTQB8BBOZJhUAWUYE+VJCAFQyTOQQHwAjLXPr3D4BwvDr2ebTAb4d6+daYgDls83rh6EBI0g+K2S4Aar4gEziVgGOk2o+CWIAtSOZAI+qASNWOkn4XgHuUehcItsAvQ/JLjViAG2iHQvFOwEiirgRa8IAvNiYagiIACHrRA6oogAIiCsMjZ4BIKdIlkJSAXYQC6iNSAClITSJcoIACViK6AQ3ACKk+PXnJwH6dPv6SQAB8nPXj5KiAIBJL++XLwEh7+M13BsBUrSrT2/ZAOwd1mP7wgBN+3lqlqUAIf+qlPD+AHyZqp4vWQE/h5Sq/8IAzXo8qsyfACUwRLdJagAVMRvIoZQBK0l2kQZSAJTCiexGVAAmN47KOcgA7QlSiqaPAAnOKbj2MgB4sqilSFsBJ0NBG+KlAJkcIX2EGgFSo+xBYXIArBDfQhxMASd3tCUM5QDFbYJeRZwBU5hSFvdyAJzRPSDbUQEkjGEs0wUAQbSxOQkDAFBlmkMYkgBgSE5GlsEAJ7WGOvJuAd8xKjquFwG7J64w1vIA9DquKkZ9ASXAL6mq6QEvLKDtKpYBy6rK+gHSALSqW4KaegAlwfTzGKwBE2jB3qyVAZqMZ5fB0gDUmr3Bi2QAJt+0WajYAd/J4E4szgCNis0W/bIAOZo5A8n9ASTltf6GjABRaOK/7QYAGLC/1tOSADBb/qOLRQAk+pNqMVQBD+FSH4pLAJVGK2SvkgBpKPwlQ/gAKSF4QGLfAS5eyzgkUAD9owEPQkoABRIOab06ACov2jJGyQH2/gMq5ggAybEmLfoqAAgzqmA/twEoPj8qZwQAaPOSOcIOABBzKn4+CgA4Ic4k54sAK825dgG6APDq2A+tUAEuwDdO2eoAhVr4DauHASjq2s3efgEm0mv+a8sBvz3ZrauKAOnrP+slsgAsTYzy5zoBe7J4ruREAa5zp5jZGgCRE7qPJu8ALlgA5D7OAI2rSLxhgQA5vhOADToAQMMeiWrYAS2Bu3RP4wE3ftgrT5AB4/kXbsDaAIT5ag2/dgAskUOB7R0ACRcx2W7AAFxbwOFEmgABu03GdEgALbQI13SxAXsfQsjJUQHGl3WIFtoAxUmJoXxvACzgFz1ZAwETdhpNC4cA4E1edAOaAHDoWSw3ZAAwCRdW7NABHthkCcfEAIWbtXRIBgAR8cgTDbwAM0YND36WAOgYDH3B3wA0v3hYMWYAfcHfGAwLATJxPHSkWQC8ZeYMZUQATRKXHkcmABFTGDPTHgEwp++zNOcBfiyP284NAfOWZvvyhgDYOe34mj8AMLf0SV/KAERZ32psjwAp/UkX9oYAeJsrfc0RADPsEDiaUgDU4C4sCNMAJSyOBBvmAGWIGjoDlQE1aoWZQVsAFZQezyBeAG1BTNCrVgA9Anm8FNQANn3H+RCJAdOtR88mBwDIhE/x3zYAcDJ58VrlATWR7A80BQErBYVazRcA0BZ4G8TWAHRZrVDQagA6H3pHuY0A6M/1WKeJAFjO8S98LgBI8o1X+YsBOlZN0abLAf4Pbe1gDADpssXZNS4AGANb23g/ATlpY585sAEaipfNh9MBhs5840tOAOXw2fSorAA7YGcR4/MAnB6/bQJUAWfjxHMDbgCVIFt+vBwBOczWQdbNAUbeZX5qFQDZtcE1mc4AVCs/Uz2xADwzFfCA5wAVb26ZBAwBc4CH1GYeAJgQTLt7VAA8M8VLA3MBBwdfa4ROAedgaVHmHgC5EOt9cHAAPWK6S2PIAC1a1m6iGgAJ42kuo14ALCK7Na1aAD11CaJtXwFvNx6d5NAA/VsiyFdeAAWT3Lx2ewA/mLMMPjMBi8eMK0vTAeY+GGaM/gDl6WoY8egBPs2vvdQrAPG2rM9vBwFqFd762b4A8Ht5mrbHAT/VtFN35wHfX9x+zBUB8/dlFtX+ANQZvx39fQE86bUwabQAGfqWHwzEARbLBlbLngCRmHw0r8wAQANd/kIoATJwQaG1DgGKIT/dYAEAuFbCwQcmAENqqwjNbgGmkLoXcpoBu1mIaqthAKyndC6EsgFDceWpzh4BgjGr93TWALw5ytPHYQA1l3fqxiABQajpvzSRADisg8PZUwBEln7LisEAZU3h4JqOAEHKxabjEwAItDmnmVwAZGOy0anBAB1M8s4WiABC9zy9AjQA8GGC9B1OARYgXp53oQC5XBegwwcBRCcds7bbAX9sKuH0TQDttubcchEAWRfDqht/AERMG0AYYQFnxEAFEoEBwwwBbBkRAMCkUAER8wBGSpivydwApfgw1rHKAB3J+oypMQApxrWGD9IBRoMG+cfgAZc4cOBeDgGD8c+wYLEAuD0Dhw50AUSMyt1y+gF/mEniO0MBr6ddqZiRAOFuI8kM/wBGnjo7dEEB//WAQNoLAMEXbi48sQBoLYEA1/8BSR+Pxb7jAGyPaONXnQFjvtH4/EkA3PVji3ibAElLIsv9IwEKlvjE1psB4l/pomlJAOy1kY+0qABJWwhvE8oBJqtYZLUbAKnkewhtSQBsVpMNarIASrFERgohAYIHQyCdhAHCKDERRqkAkNyCYXAgAUvDGNUcyQC0TkDEfZkASZxVjGHpAEzfEYE5FgFMdPRNJxcBS0fbdlFGAPRyWReXGQAxRTdt8WkATp14AvqIAevboSC8gQCIr6APXLkAQJ6CQu3rAU+ogyRYSACFsgIDO5EACQ0SYIr5AETuYCAm0AFNzD5CLywAacLQNPqUARp6IT4Z2QCUr5YFocsATc22L2nAAU/6kEaflgCBy3o22dkANPyxBK/5AEz8UfYjAgBZ41ulmQAAIGI3xR+ZAABM0u1jzQBN+L21TrMAMf+K51nUAWa5Vt6P2QCVzXOo/8YATv7OxVECAeOTW8YbDQCgRVG5v7kAWGwx7WTjAVMt9JS+CwHaxK+idZUA6D6Ul9plAFTXIvqRrQFTNzCx7UwB3nG20HSYAJlbxoZ2ZQAMlwW2xz0BUYpzTE4aAADQzSF72gAsORlnKMUALe9CWYWAAFGtKVP6MwB4lO5hnNEBZi/lSlrFAMWcwzuUjwBQ9Iu1VxcBcjUe91tBAPR1VuiXhQBBbXe8VicAU/LYqX0/AKh1H9Z42wF+X0qNp+UA7Y81/FcKAVcuM1xB5QHX3NYRExoB08EdZjp1AKxkRDWd9QFVYYqZ8ysBOxQ+5jYTAepnzKjDVQDkNjO+FG4AVHKw3UKQARNZxuYRSgCEoV2GpxUAKUQzsc1kAFd4vKyy0gGv6a6mEVcApaaano91AHVEMrrL+gFVsm9V/+4BPxn/cXudAbv/1Xsm1QDc70d/zH4AV9fBgA8MAcMBFbd8mACYeADB9fUADJ921EBhAVXzJZ/3NQAZFbb13V8BVnf80mfVAP1d17bUTABaAKnt0p4AoDrs8zFDADyl28qALQBhRmebrgIBWSc9aFlOAWZy3hE0nwC5TQteck0AfJZEPaczAFlJs9MeTwAUxsz39pEAeTxl5slNAES395mxlABbXB4lufEB7u80RBPVAcfO0jwdbQDV5BEWe7sBWVGFkYv5ABQPNOc01AFP6MTQxU0AlZZzlngUAFucXHPK+AH2+2VguNQBj6nnHRztAJWOg1NvtwFalNHpIpgBymtF4zhCAIyiS8WUrQAhDmPRaykBWKqbaxs0ACDiVnOaywEWbGtsqo0A6aznNSOCAFrKoxb6VwGelqw3m8kA9S+0YqmtAEns9hq0vAFY2L4D8TkAKNe0RrpFAU5H4D6NjQDRLrEW9YoAWv0bYNj8AOT7ZhU+wQEfjYNsX60Awb5UM2+TAV0oDPRTqgEzul6gMRUBquUXmApdANRGAr0u5gBeNNcYkVsA1Uc/AzJHAG1EjHWWPQBxJmB+cVUBXozngTNnAM2GnfMaBQFzZkDzmL0A0Cxn3LDZAVzwNKogBQAJZ4aUmAYAUAIqlgedADAMlLDzSABjLwjGAeMA5IxaiJUYAWPAMYh6YwCMVIitGJMBYSLwg5reAARIq/qw2QA9rOCHokMATYav6okQAGFABhxCWwEWFAgsM1YA7SEcMAFDADVmGggUNABjaPz4HxAAsODTrlDXAAR8D5+LYwB1hTrlg4YBYqNQoAXOAYZoG5h8CAC50AKFYqMACB8M7AswAWDPCInPhgFimDj8XIoAsPnIiHmDACidH44MowBkH2aTJvoAXYmJ6PZMAS+yZLN8EwCZN4vIyN0AZ1QkQpvCAccJ+CyQlQCh7KESFXMAVISaD8hxAWdebfWhpwD5rfndERwBcsLX2z1zAJxEXc/azwFkcIA/cCEAGTUCTpEDAUIHfgCHEwDgRLkgVkwAZXGPPpG2ATMpOh+XVwG2xL54x1MA9XT8LkpmAGeZwOzC6AGHuWGqPRIBi6GbgczzAKReKsNO8AFmtb8BT9YA5Vmae17EADX5QH7WswARvW8szVMBZ9E5W4e4ALFJ8G38UgEO8O1ORfMApR/bB8lGAWXWuVN0EgB5UchP2FkAJBdlTrXTAE0N+QnFTwBrNUWuvrcAyC8rudXXAXa+utFWawD11c7qegkBalUfdJwPAfJnaB13hQD4HJd8VSsAUPdcC3MnAWnW8CMBNABAY5FemFgBFkBiB7XLAI0MvUTjAQBr1s6mVOgB5jsBjvsdAYuVMrm16wDcb7jAbjMBbFN+qEHrACV/mYw2DgFrwQq/ZRsAuDYYzP9SAG5jpBRAJAGTEoIeFQwBkgEUEuM7AJhUPCCkZAFseMwWhFgBN4MjDvFEAI0QtBmPGwARR7hiYPYAbM7iejMvAFmm2T66CwF6Zi8juZsA6C6+TbLNAG/iYghHmwCBHpsseloAbPEIIyP7AC0vGmy8QAFxAg/hxvMAJDxs6VJcAWexw/ggRwCdJUubHhIAcQFC39ssABAQdfi3kwEabf2hQEcA5PaP1wQEAHIKus6CYACkwOSqkwoBAyC5rqgnAKhkqpOBkgFyTP8N15kA4Ny1b3NHAEz12H+ZJwBxZ3tWnYMBcJTIp6/kAGwpNfrZgAET+vKJlIcAgM2v1kobAHPbXFgfJQGyxVU8XJ8B0nwNHW3nAPydHlVRpgFx3PDiP9UBTu3VvtjRANX+I4edxwBFjb7V27kAc/DZ3nEjAbpVX4+ZEwHiRz3Nh+cA5Ez4/VUuAXUQsmo8bQANZcQa8pMBWx4rJoRXAOSnrBHTWAB1feiSBj8AcYWPvvRQAX4wJIvfVwCFF7740McAdJ+ZhRH9AGXNFNs9SQFfxFDM/JcAyV5tlFnTAHoO2xia7QD0ziU7MosBW6yMbbgvAOimblI5lwF5Fo86SKUBcj8EG5KeAdKJLni0TwC8pOwQficAebyBBnA1AEiXBhuZUQFWBzBAns8AxUzsMHSJAH1NwqOPgQFDrjXu1pAAwPjiodlfAAS1u9Y64QB8hxpjtU4AbWJ8WP4JADlW4yxwnwBIP40fI1sAf6J71gKSAbNKz6mbWACkoDXvIv8ADWzK+almAX2r3zvdxQE3/jdb3p8A0d3uferfAHy97XY/9gB9u0GtVXwBB7MX2X1bAZ9VWsFu3wDtX030ZvAAgwRCiunHAMwcOZCCsgBxy6ihEGABJqCEzhwZAYMrKtjaawG2lOqgJrsB6y2NqmpgAe6yAquUtgGBKlKS5H8AHNQrkOJ4AX8TpKUqQAGPI4TqFZwAgTgWpJXyAATpOoBDdQEn1JK0DkAB12EArkuQAIFk3b+cbgF2YCvX4bcBuxz+3ZNAAfbD9eoDNwCBe138u/0BPu1ztSX/Ad/un91vQAH/0lbnW74AgrLhRFBOAIQRyxMpKQA5BRFDpqABSkpkacQQAYD3vGEZFQBgZdJWDO0AVExDHveAAVuYNSXTAwCHNGqlfcgA7TmTwGOxAAnfUqsWcAFG4wHkzlsBhIwX0pXvAVfMeJHqJQH71KX0GJAB0ivEjxn1AISWtrqqLABZYaCyqq4BGiqutrSQAbqqpoLDTQCHnLny27QA8fnws4jxARbtp86c8AHHiOaHz8cBhMR2T/AVAUtU4VSLZwDUB/k3EZABc2iVQ5VpAIfEjoHuEgHrECjmSvQApDvAuJHwARepM4oEawGF4fUtQFkBB3SDRy12AM0BWlfD0AE3WnFgl3AAiQ4jQtLBAUae4CGCOQDBpaFiOEgBTiDCA7yxAIo42sXthgGq23vSQ6AAsNvRrY4oAQLhJe9tqgGKlZiobhUA6HcAskziAFQ7CozUqAEjmSaAdwsBjR0vFC57AX+HiCFn9AHvOhR6XFgBl/NCCPD/AI1vYykOqgFDqotlZroBqrhKY3tYAa6zU2iq4QCOsoxTsHwBvwNiUqhtAZ8G5RimuAHbCqUjYH4Bjt7rK9seAeOzuXeq6wC8beprvbgBa6r3TubjAY31BvOe+gBVK2rk7vUBL7znsFfYAde7k6tqVQCQF5UvmI8AQG0sU6WvAHiM+lT0BAF60uUaWwEAkSMHG/7oABwYJmHmvwELv+xwYkQB/rPDMgwcAJAlVbHOAgFScC/hRKQAoDnG1VIEARKRQ/oHJQCQKLxCTegAJNjWAuCkAQvZIR6KBAGSg6A1jZIAkDnQiiA2AQrBD5KEYgG2AiiFzgQBoxCk+EGoAJNPldOCWgDUwGznpHwALSDl1PlkAR8S85sBlQGSpNLq4koAzHBvoqoiACkjq6WSpAEiKqL7BxkBkbRwCYpcAUZBp3Ao8gCdKMgHFsQBJ4oHcsExAJPeGdsp2wH+zVzFqPoA7cptzD3kAS+K0Z1ZvwGR5ZZXdlwAXFBGdu91AB03dTTTxAFXe7cxBR0AkuyQ2j+HANjMXrbIowBw/i2Em6QBYom2vRmNAZL8cKjJsADA+beECOIBBsmKhx+kAaOIEPbPgQGVGaqIap4BK5mMsibyALyrCKrMVAEnsiaYzOoAlFIpt0F/ADU1nNWhaAF/QXbKJRQBi0LVnNZWAJRXO1xEJgFzUcwVRyoBshEdbnUUAapxVBnFZwCXUgX5qBQAmSFk1QD+ABQKz9AldAE/gFWTQkwBlpz7PY+gAfPptWNLogGC+N5vnLQBouljVsvnAZejbxpFkAGzGJcBzn4AhNEse2L0AT85wHSMZgGXquXl7GIAjbDvw0m8ASMb09Oq9AGeyWH7htgBl+WqO3FYAf8wlkaucwCNR24q0/QBZzqxNIZ/AZogMYJpkgGKWp6BgOAApMsgxgIsAQOAwLytKAGZRThLPTUBakbUVMTzAdZeaQ5RTAHnkZUVsSsAmrHsj9BvAaYXr9KtJwH7BfibxqwB8lql+vQyAZrVl7I/bAHeYxS37qUBm34m9NWsAdK79pRjPQGZ+RNPeeYADNteVY+zATPPeWRPzAHm+NU9bZgAnhjoAL9qAa+DvSJgoQGrfoALjDwBwoMiXuD6AZ9IXaMdKAGj4hXF4LUBilxi3Ql8AdaD0dQj4gGfVBWOiYwAwUs0laG2ABjIuNQVfAE2wtSWaUEBnWqbUjlOAT/CXheiuQC5TiVsq1wBTqL0PSH+AJ5vnAqfdgDlwj42xO8BN3yoHPs8AfuRtj4h0wGgCWQFW1sABJSZaCXlAG1tUBNIAgFT0gtMlJAAojzb/DayAPjpS6tDYwEmth/tniIB42Fq6UuPAaNb93b3jwCY/fk/5z0AePe3d+1iAV5z/k/fjAGinXMShDsA0MWpCe5gAW4QpGdcogGDO8hK0YUBoM4KqXRXAGy0CNxKawB1F0qoOYIBaykdiBabAKDcrCYrswFqrZguieQB5uoyGp2CAZPIugzaqwCi9XZ0aisB2nXLLC+kAeorFzdXogGS+hpp1y0Bpi/W7p+OAcPoe7rnrwC4/Lu1+jIBevOu7wvhAaU4dPhgcwEf9cuIAHYB5wMPlw5SAbcACOnX/ACkXkeN50oATZE57WMuAClz2PE9EgE6Y1vORNkAp11XfDB0Ad/hQR0HdwGXBh91XXIB93BcQUP9AaZylSJFhgCBeRofwCwAMNEiVKcyARoB/CxPQAGlg2hSFFoANQDJCOx5AC0UJQtg0gFPG4hJgFYApJtUk8IDABHVKeiMLABgIeSVbJIBGhiLylXEAKa9KoPVDgDhkbrY7iEAOFXgql6yAUI7ja7EwwGpB1kF+30AbFYxeSX5AV9v0E1wSgHP0k9GNRsAqRXZmiXrAX5PGYvkMgHr0izN1EoBphPozHk/AKsiknAyAgCYYkoqAjkAICYHJKJqAU4gKikjDAGpN+SmIfUBTi+TmoV8AdfCMpP2SgGfUKzk+jkAqnK9UUp7ALRXym8g7AFvKUVepyoBm4J7KfUWAaiJx2vwCQAItmFLricASAfrcciKAXI66UM2iACq1atug9QB5ivwP49iAJXgu2rVqgEjeP4H6jMBqNPItb6vADgvKf5tqQF6vtaJ5YoByts/ynoOAK4UEzanpADZazA5wyABEvK2ZBQ6AYJhzgZrTQGtZIf5cNwBXzpC3yJ3AJ2HT/CTWgF3In2hLn0Ar3lM2erRAb+fY+wE9gDFq82ZT3oBN5Ab43z+Aa2anbgA/gE36wibKH4Bv4AO3KzaAb8KbIhr9gCvnIj11VIA9bN4yklxACVV14ic+gFHSSmPZtcBrc/uT2wjAGmWyU7PvgFiG3k7+doBvvm5SbTLAK33o+c6PQFLJ8L/r/kB3i5z4vfaAc/6/6HyaQCyQfzXH7sAsEzd7uXlAW78dZ/BJgHT07vdmQYBs0LYeNnxAbZ8dQ4A+wHHzY8NoWYB74A4Vx82AbJhUeKNYwCEZH+NxKABY1ijxUMmAYKR2P8TEAGzY63CPAoBqgDOj+S9AKgeIdrjZgFek/i5gCoBs3qPTm+9AaqdVj/j/gHe+zl4r2YBv+P+NVyqAbCxDdrLCQEyFXaprKYAyGmt2EaGATKayrdUJgCwu+uFT7cAIJ2f+0/oAXb5UOvuhgGL+W/83IIAscMusE8CADAwnKxOvAAgeQa6YcYBHrkanIYGALHKonrGzgAUuOw+6joAObGvIqnGAS4rvhuOlAC0dy9JK/UAbQ3WfQbuAVfqSXp3FgG7sF812FsAta5NJ1mDAWO8H0mJvQDgzXJZOtYBXsjJfB7jALfSzY7O2wClHS2v6f4Abbm42aX2AT/L+tpcUgG265xdaJcAudxOXg3uAHSLXRzrtgE72D05Hc4BtPRn805XAFU1z/3K5AB1OWfzF5YBE6nf+dZVALgP1N4xBwFaxl2ahS8A8EY9lfgOAXpQrN0xrQC4OX5BgAIAIMPvSAYkACAAwT9ODgESMAl74YIAuDiDtum+ABi7Ppuj4AE+y7bgjg4Bg+Lsvm6MALhsBqwo6ABMqgaMI6YBC4oasBsOAbLiGLAqmQC5iLeafsABHtqEq8q3AIG/LPaIzgF2qeqQrbwAuJyltzzOAFyrjNvppQA5nnbSnI4BUsvtmOqdALrPg6flHAHKsjTf72gAnFPy4PmuAQt7/ZYmqQG45xGTWKwBUloG3aypAZqNZMRzjgHKmt2wLSUAvXJ0ZA3OAQdr3xxhvAC52BMXJ14BHsMcfetwALx9hjlLugFTux5uJuYBrulOMN8eAbOyOzxu5QDDHkmvAakB4q0RwbE6AcrAesk8YQGuRsHEWqMBwC5b7ylfAGzkW9Gz6gB9SnvtOgEBK+bF7RObAMFO8g8ieQFOxIFms3oBzyJ4J7lBAa9ms0CRuQDBgUhsmkYBJiBpMB2zALEsmwlAwQFm3AZLAjIAwZmx7c2/AQL9+NN98gH+2dvGzMEBp99lj9+gAMGSsSYT3wEGbZgzuXkA/eQyRqTBAU9O5gzbMADDt9U40jMB0nUrIxx/AeYljlX24QH/HGJqVyUBwdcZvOuBAXp9MKUdugDA657MdcEBLtxShl8vAMH2Q0666AFOCWMlu7sBi665YTfBAe7u0mNIOQDEOJEHI2wBD8ESc7EgAZticESOEQGCRuckQfgAxk1K4823AOG8edTW4AF22eOpWTEBg7WVzx7DAcdTrPZfSwG3Ndim9b0A6X03muVxAV7Xso3WdgHFfkpxAksAdaVLZDI4AGkgRyk/UQEOJhNpUtcAxnTZgIrHAedNK7cQoADxqIDNlzEBAoR26llzAcWImC/mygEv+Chi+TIAqbP6DIjRASZPowoP+gDFricINV4BT4CaEXp/AL1WCHI60QF/L0QsgPkAx7xn+LshAdul86EatwHCbo/zHvEB9qxC59LtAcS+jKTzYwBttTqiGS0BY2eSmL6RAdpMIq5W2wDLDyRyUjUA0LbAMJR9AVYlJxJ4aQHfFIYBtoUByUhZb28nASr2WXXRsgHye3tNCUkBpsXXTTeqAMhVD0ChgQBoD3AFFiQAQMKBeFUJARI0UAd4CwDLWovfVqkAsJ9A5/M7AUq1feitaQHuZ/OBfIYByHMYr9YQACBzIuTVawAENfqMZwkBa1WTomcCAMmfnl84OAB4w0BCv/8BDg59PPzJAf/+oQFhjwDKvzMsMfAAzOuSAR9rAQfGGmZ+qQHrfEAk65kByem1B91UAATSslfd9QAVXfBWy8kBV931JqWQAMvwHjuSgQCwbyJkmjcAQKTuPAfpAXYskyJ7BgHMAkiB2QoAIRI5wDCpAChNwIkgGQFKhgHOJEIAzixOfC0DAfumWwBTpgDgWh85GjkBMuUAbTLvAc2Ds0GZzAEHSvBTPrkAmczBZuDZAU6+ZQepcADOgKud2xEBsxaw4xvjAMRt3OqAuQFj7GOGtGYBzLdG6ksOAUMzW7C+rgC4aSuxdpkBOr6G7WZhAM/kI3HAewHXNupFOnAB7wHHYhP5AYcuUSu2dQHN9juUvKsBe0+qhXu5AeqelO432QHO71Cq+W8A0xeVukXeAdZ5HJP0fgC90S7U9GUBPxfknE81AdA6ImlQswAAvc5AEmsBZoVLIi4FAeskATnegADTNpbbAiQB0kFG8pI+AZIgbbS2ZQG+JKexQSUB0lbg3ZEbANAF/cYxawBsRN2DtSUBa0Yx39AFAdK8quQDgQDgrdaiGyAAQOATqp6lAQJsIrXagwHTxO5Q+aYA+Bj9Fhq1ATLPhTuR5QHWrDRfjA8B0+QH/AXiAdYoXoVbNgGj0B/wE+UBtm1QvQo1AdP8HKe/AgDo4T7k2bUAIH7ynB/lAVbNk75DiwHXRKeorN8AzSysl3L2AH2aivKRdQE3p3SamlkB1p/0RFlTAMXV3QId7QBlTREX/LUBW9wgXdXRAdSvk+bBRABF8HaTnygAEUGz5PqVAQp85LcH0QDZEmaLD9IBBgud4NL+AKX4aLMkTQE/pYPc6DAA2FFYLeC+ASp7LVQ1YgG+g9oNRQ0Bo1YVWm8qANhjZnOB5QAULvdUliwBU8DnM2MNAZo0lXe6FADbbFhwhM4B9upvFHAwALmQhw0bbQEGBxR7K7cB2WObPP/TADx+PidX+wBl/55s400Bb/VyPj8eANiKYuVH9AAEutXwW2gBF/FToyiNAYttB9WukADZmdJj1X4BBvN9Uv5xAb9V4yXMzQHHP6VfZ7AA2aIokeDRADwepsAYeABFg8SKIs0BDwwBsrweANv0MppBzQDUX5aUujIAWcEsphftASYulLT9FQHcHWtgve0Aba/1EXahAVveg2tcHQHCt0RX+tsA3hrZZ8VtAKX3dVPxKAFbUfNNrD0BikflV3fSAd1yodbWzAEXG+a38TkAmbW1wqddAU5H9rPsdADddNVb7cgBX1t3R/C2AInb7VWXXQE2h/F3bX0A3YYaoQQTAWNmDMBaeADkEEKsMN0BDy0BmDNjAN+vGwW1vQHrzjZRf3kB3tbQbHr9Ac9/RTY56wHesO3WzBYBsxPvk9nkALQZtduGvQETzeT75GYB3+YKQl3xAOUeVgTa+QFH3SEoM/0Bz62QNTxTAd37WFHzjwA53390PDkAeOfFDW/dAU4eF399zgDjFkRFjKAAwAlhSFG8AQKY0RE0YwGexQlDSAEB4hqrY/gVAaq14FuS6QDUD+NqrCMBS6TtA9aqAeJaqJAQ3QG2jYCeMGkA3YQEiq0jAUsGPIDYtgHgfsbganYBTrFLvhLsAbcrA7G/AwGbpD7pRrkA4XXMa+aSAGg5a27UdgAks+sZ10MBNxW7a04LAODd5z65agBcobkPv6cBK06+c92DAfL++E7CnQDnGlk9K0QAveEReRG6ABFqXk0scwEuxE9EQ94B5j26TiEXAOnF2hqXYgB0Qjku3jMBI3SsLdHLAedQbmvxbwCtNflcsjcBe0frOwVzAfYmnU/WWgHlU9RIO7MACU1ZLhT/AWbuCRXlUwH/lDpNWUgA5HgJsQ+mATOpGv1QoAGy+EbIDxMBgoVfrErmAOV6obm6SgEfoarvMLsAqS7Owq9TAW6Ge6rC/ADnfLSSWK4B09mKnrC1AbqNJJafcwHWhryozeUB5qT18IRCAddg64tYJAChEIfXkrMBEg1o64N1AeXVKnaOGQFzJeAs//AAzDi3KlXTAQf/mgPSZwDn18rS5HsB/xVpjv54Ae8Tpan18wGPP7jLVH8B5O9Z0+89AXvUc/386AHee+XNe5MBi5/f5xXvAOsb5O+OzQCEr+H69b4AWbj7k+xrAT7Xr8P6kAHpMgkEVYEBIh8SCVE5AMDVEEgmSwFORUgkfCIA6zT+2aw6AfpD68py9gGuGs2/lmsBt6cp6+EvAepOE/VOHgDQ8kj9c+gAPDlX5DkrAQvnX4knhQHpsGcgBv4ABCuLOXp0AT+wAnMGywGXL05o6hAA6tWxUG2/ANhf2B984AF+2wVG1asBg598Df0NAe8KoYY2rgCJioi78TkBOrYwwqh7Ac5H7oioyAHtNu8PJ+4Bbwube/M+AbvyeHu2WwG+Z+9s6HsA7UqCHSHVAB2OEF4TegBVwlwgqVsBL2Q9BDjcAOxgvW2MBgAhYupfUaYAMBjbXoMbATLFfSujQgDvgspk/EcArTZpGlu5AHEfkymg+wFO7SxLNloB7qF/vZdcALVis/l/ZwAddN7/QrsBc39P5qNWAe7RmIlS5QGnXwD+HCMB06VIjMW7AeIcP4B9cgHxCVXpBIoBAuhNyXQ2AKiQS9VIRwE2F0nZC6AA8yqKsgxoAbagBoryuAGLGCaoqmcBjqeosAK2AfNHlIFkAQHKVATOVDwAwBNAlPFnAR4VOZAVKQHziE8lhCkBoqQlSXs0AcoQ0nkI5wGWb0lSEqIB8KIfBn5NAS5UBjn7rQDZPzB8IocBWu/OMBU6APOqC/+lzQC8rHbZ+zoAWdL/6CrnAS5vzbcangHwr3x5juQAdOjneFyuARO4zx96hwG6nQ9zi5cA8NkQ1MofARLVbLw94AD8KZWETYcBA94em1WkAPVLs7JV9QEX/JSf1nkB19Um5ulXAc81/JSf9AD2UWApGuoBhymNbDSjAausSgNFNwHilhtYynAB9nVSkdm5AdNdN8w24QHOzcSlVzcBw7YZ9l1lAfVyxq3AQQAFNSfOEz4AQQHasadXAT5kOfJWUAD3fNJV40YA3dF/fhMwADFj1SWfdwEGZD9/Rd0B9oROH6scAPkANXi75gAcavw5ELcBM+6PVgBPAfg9iDmlAQF6pzZKVCIAwFLOCN4PASIVKTZyrwD7NsPf3NcB1h9v29P7APWd/eG2bwFv5e37fDUB+EysA0wUAWKShF7Q5ACUGWAamQ8BE4W9EKSjAPug0LnTSwGWdj/qODMA6WXOhYLvAWYOK/43NAH6w4TMfTYBihJcnl3vAbZfGZDhrwH73TydJCgB+ec9PB5hAXZmhi1dvwHDPB5ec88B/t1aMLM3APj/WGUGdwFm5098XWgB9zBTDX+PAYtdH3lzswD9C9tVZDgBO9JFS3d4AY4TVW3oXwGPd2lRJe4A/Rau5OU+AWsz/JpzfAG+U5O6tF8Bn2csn+ZrAP5Jo3jCNACRsuQ/FmIBFiGPYsk/AaM0fhOmxAH9hOLGa6gBSxrVqruwAYrrMaOQ3wGG7qrVrGkA/JVPlObPAH0fLbl/JAB5s5T5VJ8BEn9O2nxfAP6lI1gwpAHbCsYZHiMBkoYNYlK/AeI8TDGobQH+qNn/sHYAveJv25ljATcG/82KvwHjTO37I94B/8OH/6L8AZ8qZP+/fgGfov/w4f8Bv37/kyp8AV9yfPER+AC1a9fEMF0BD8RHnyd9AN0GEfXrVgGHUT+kPb4Bq2mYlWf1Ab7eEv5FcAHX81SMy2oBxpNNNR+9ALEtEXF97QFe/FZZZLEB299HRFpGAefmluIGnwHDbEq++nwA/LAjtLPzAR8vvqkbYQFiYXNlRGljdGlvbmFyeS0+bWFya2VyU2l6ZSA9PSBtYXJrZXJTaXplAGdlbmVyYXRlQ3VzdG9tRGljdGlvbmFyeQAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdl9jb250cmliL21vZHVsZXMvYXJ1Y28vc3JjL2RpY3Rpb25hcnkuY3BwAGlkID49IDAgJiYgaWQgPCBieXRlc0xpc3Qucm93cwBnZXREaXN0YW5jZVRvSWQAYnl0ZUxpc3QudG90YWwoKSA+IDAgJiYgYnl0ZUxpc3QudG90YWwoKSA+PSAodW5zaWduZWQgaW50KW1hcmtlclNpemUgKiBtYXJrZXJTaXplIC8gOCAmJiBieXRlTGlzdC50b3RhbCgpIDw9ICh1bnNpZ25lZCBpbnQpbWFya2VyU2l6ZSAqIG1hcmtlclNpemUgLyA4ICsgMQBnZXRCaXRzRnJvbUJ5dGVMaXN0AIBAIBAIBAIBb25seUJpdHMucm93cyA9PSBtYXJrZXJTaXplICYmIG9ubHlCaXRzLmNvbHMgPT0gbWFya2VyU2l6ZQBpZGVudGlmeQBzaWRlUGl4ZWxzID49IChtYXJrZXJTaXplICsgMipib3JkZXJCaXRzKQBkcmF3TWFya2VyAGlkIDwgYnl0ZXNMaXN0LnJvd3MAYm9yZGVyQml0cyA+IDAAaW5uZXJSZWdpb24udG90YWwoKSA9PSBiaXRzLnRvdGFsKCkAKCAobnBvaW50cyA+PSA0KSB8fCAobnBvaW50cyA9PSAzICYmIGZsYWdzID09IFNPTFZFUE5QX0lURVJBVElWRSAmJiB1c2VFeHRyaW5zaWNHdWVzcykgKSAmJiBucG9pbnRzID09IHN0ZDo6bWF4KGlwb2ludHMuY2hlY2tWZWN0b3IoMiwgNSksIGlwb2ludHMuY2hlY2tWZWN0b3IoMiwgNikpAHNvbHZlUG5QAC9ob21lL2d3eS9vcGVuY3ZfanMvb3BlbmN2L21vZHVsZXMvY2FsaWIzZC9zcmMvc29sdmVwbnAuY3BwAChydHlwZSA9PSA1IHx8IHJ0eXBlID09IDYpICYmICh0dHlwZSA9PSA1IHx8IHR0eXBlID09IDYpAChyc2l6ZSA9PSBTaXplKDEsIDMpIHx8IHJzaXplID09IFNpemUoMywgMSkpICYmICh0c2l6ZSA9PSBTaXplKDEsIDMpIHx8IHRzaXplID09IFNpemUoMywgMSkpAG5wb2ludHMgPT0gNABUaGUgZmxhZ3MgYXJndW1lbnQgbXVzdCBiZSBvbmUgb2YgU09MVkVQTlBfSVRFUkFUSVZFLCBTT0xWRVBOUF9QM1AsIFNPTFZFUE5QX0VQTlAgb3IgU09MVkVQTlBfRExTAGJvb2wgY3Y6OnNvbHZlUG5QKGN2OjpJbnB1dEFycmF5LCBjdjo6SW5wdXRBcnJheSwgY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSwgYm9vbCwgaW50KQBib29sIHAzcDo6c29sdmUoY3Y6Ok1hdCAmLCBjdjo6TWF0ICYsIGNvbnN0IGN2OjpNYXQgJiwgY29uc3QgY3Y6Ok1hdCAmKQAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL2NhbGliM2Qvc3JjL3AzcC5jcHAAYm9vbCBjdjo6YXAzcDo6c29sdmUoY3Y6Ok1hdCAmLCBjdjo6TWF0ICYsIGNvbnN0IGN2OjpNYXQgJiwgY29uc3QgY3Y6Ok1hdCAmKQAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL2NhbGliM2Qvc3JjL2FwM3AuY3BwAGNvdW50ID49IDAAY29ybmVyU3ViUGl4AC9ob21lL2d3eS9vcGVuY3ZfanMvb3BlbmN2L21vZHVsZXMvaW1ncHJvYy9zcmMvY29ybmVyc3VicGl4LmNwcAB3aW4ud2lkdGggPiAwICYmIHdpbi5oZWlnaHQgPiAwAHNyYy5jb2xzID49IHdpbi53aWR0aCoyICsgNSAmJiBzcmMucm93cyA+PSB3aW4uaGVpZ2h0KjIgKyA1AHNyYy5jaGFubmVscygpID09IDEAdm9pZCBjdjo6Y29ybmVyU3ViUGl4KGN2OjpJbnB1dEFycmF5LCBjdjo6SW5wdXRPdXRwdXRBcnJheSwgY3Y6OlNpemUsIGN2OjpTaXplLCBjdjo6VGVybUNyaXRlcmlhKQBjbiA9PSAxIHx8IGNuID09IDMAZ2V0UmVjdFN1YlBpeAAvaG9tZS9nd3kvb3BlbmN2X2pzL29wZW5jdi9tb2R1bGVzL2ltZ3Byb2Mvc3JjL3NhbXBsZXJzLmNwcABVbnN1cHBvcnRlZCBjb21iaW5hdGlvbiBvZiBpbnB1dCBhbmQgb3V0cHV0IGZvcm1hdHMAdm9pZCBjdjo6Z2V0UmVjdFN1YlBpeChjdjo6SW5wdXRBcnJheSwgY3Y6OlNpemUsIGN2OjpQb2ludDJmLCBjdjo6T3V0cHV0QXJyYXksIGludCkAL2hvbWUvZ3d5L29wZW5jdl9qcy9vcGVuY3YvbW9kdWxlcy9jb3JlL3NyYy9jb252ZXJ0X2MuY3BwAHNyYy5zaXplID09IGRzdC5zaXplICYmIHNyYy5jaGFubmVscygpID09IGRzdC5jaGFubmVscygpAGN2Q29udmVydFNjYWxlAAgHBgYFBQUFBAQEBAQEBAQDAwMDAwMDAwMDAwMDAwMDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwIDwgY29pICYmIGNvaSA8PSA0AC9ob21lL2d3eS9vcGVuY3ZfanMvb3BlbmN2L21vZHVsZXMvY29yZS9zcmMvc3RhdF9jLmNwcABjdkF2ZwAlcwAlcyVzJXMAOiAAdW5leHBlY3RlZCBlbmQgb2YgZmlsZQBpbnRlcm5hbCBlcnJvcjogaW5mbGF0ZSBzdHJlYW0gY29ycnVwdABjb21wcmVzc2VkIGRhdGEgZXJyb3IAaW50ZXJuYWwgZXJyb3I6IGRlZmxhdGUgc3RyZWFtIGNvcnJ1cHQAb3V0IG9mIG1lbW9yeQAxLjIuMTEAaW5jb3JyZWN0IGhlYWRlciBjaGVjawB1bmtub3duIGNvbXByZXNzaW9uIG1ldGhvZABpbnZhbGlkIHdpbmRvdyBzaXplAHVua25vd24gaGVhZGVyIGZsYWdzIHNldABoZWFkZXIgY3JjIG1pc21hdGNoAGludmFsaWQgYmxvY2sgdHlwZQBpbnZhbGlkIHN0b3JlZCBibG9jayBsZW5ndGhzAHRvbyBtYW55IGxlbmd0aCBvciBkaXN0YW5jZSBzeW1ib2xzAGludmFsaWQgY29kZSBsZW5ndGhzIHNldABpbnZhbGlkIGJpdCBsZW5ndGggcmVwZWF0AGludmFsaWQgY29kZSAtLSBtaXNzaW5nIGVuZC1vZi1ibG9jawBpbnZhbGlkIGxpdGVyYWwvbGVuZ3RocyBzZXQAaW52YWxpZCBkaXN0YW5jZXMgc2V0AGluY29ycmVjdCBkYXRhIGNoZWNrAGluY29ycmVjdCBsZW5ndGggY2hlY2sAaW52YWxpZCBsaXRlcmFsL2xlbmd0aCBjb2RlAGludmFsaWQgZGlzdGFuY2UgY29kZQBpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjawBuZWVkIGRpY3Rpb25hcnkAc3RyZWFtIGVuZABmaWxlIGVycm9yAHN0cmVhbSBlcnJvcgBkYXRhIGVycm9yAGluc3VmZmljaWVudCBtZW1vcnkAYnVmZmVyIGVycm9yAGluY29tcGF0aWJsZSB2ZXJzaW9uAAABAgMEBAUFBgYGBgcHBwcICAgICAgICAkJCQkJCQkJCgoKCgoKCgoKCgoKCgoKCgsLCwsLCwsLCwsLCwsLCwsMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8AABAREhITExQUFBQVFRUVFhYWFhYWFhYXFxcXFxcXFxgYGBgYGBgYGBgYGBgYGBgZGRkZGRkZGRkZGRkZGRkZGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhobGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dAAECAwQFBgcICAkJCgoLCwwMDAwNDQ0NDg4ODg8PDw8QEBAQEBAQEBEREREREREREhISEhISEhITExMTExMTExQUFBQUFBQUFBQUFBQUFBQVFRUVFRUVFRUVFRUVFRUVFhYWFhYWFhYWFhYWFhYWFhcXFxcXFxcXFxcXFxcXFxcYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhobGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbHBAREgAIBwkGCgULBAwDDQIOAQ9zdGQ6OmJhc2ljX3N0cmluZzx1bnNpZ25lZCBjaGFyPgBzdGQ6OndzdHJpbmcAZW1zY3JpcHRlbjo6dmFsAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgc2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgaW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZmxvYXQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGRvdWJsZT4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZyBkb3VibGU+AE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWVFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lhRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSXdOU18xMWNoYXJfdHJhaXRzSXdFRU5TXzlhbGxvY2F0b3JJd0VFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSWhOU18xMWNoYXJfdHJhaXRzSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUA/////////////////////////////////////////////////////////////////wABAgMEBQYHCAn/////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP///////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAQIEBwMGBQARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA0AAAAEDQAAAAAJDgAAAAAADgAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAPAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABISEgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAoAAAAACgAAAAAJCwAAAAAACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAC0rICAgMFgweAAobnVsbCkALTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYATkFOADAxMjM0NTY3ODlBQkNERUZUISIZDQECAxFLHAwQBAsdEh4naG5vcHFiIAUGDxMUFRoIFgcoJBcYCQoOGx8lI4OCfSYqKzw9Pj9DR0pNWFlaW1xdXl9gYWNkZWZnaWprbHJzdHl6e3wASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AAExDX0FMTABMQ19DVFlQRQAAAABMQ19OVU1FUklDAABMQ19USU1FAAAAAABMQ19DT0xMQVRFAABMQ19NT05FVEFSWQBMQ19NRVNTQUdFUwBMQU5HAEMuVVRGLTgAUE9TSVgATVVTTF9MT0NQQVRIAGluZmluaXR5AG5hbgByd2EATlN0M19fMjhpb3NfYmFzZUUATlN0M19fMjliYXNpY19pb3NJY05TXzExY2hhcl90cmFpdHNJY0VFRUUATlN0M19fMjliYXNpY19pb3NJd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjE1YmFzaWNfc3RyZWFtYnVmSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxNWJhc2ljX3N0cmVhbWJ1Zkl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRQBOU3QzX18yMTNiYXNpY19pc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxM2Jhc2ljX2lzdHJlYW1Jd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjEzYmFzaWNfb3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQBOU3QzX18yMTNiYXNpY19vc3RyZWFtSXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFAE5TdDNfXzIxNGJhc2ljX2lvc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxMV9fc3Rkb3V0YnVmSXdFRQBOU3QzX18yMTFfX3N0ZG91dGJ1ZkljRUUAdW5zdXBwb3J0ZWQgbG9jYWxlIGZvciBzdGFuZGFyZCBpbnB1dABOU3QzX18yMTBfX3N0ZGluYnVmSXdFRQBOU3QzX18yMTBfX3N0ZGluYnVmSWNFRQBOU3QzX18yN2NvbGxhdGVJY0VFAE5TdDNfXzI2bG9jYWxlNWZhY2V0RQBOU3QzX18yN2NvbGxhdGVJd0VFADAxMjM0NTY3ODlhYmNkZWZBQkNERUZ4WCstcFBpSW5OACVwAEMATlN0M19fMjdudW1fZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yOV9fbnVtX2dldEljRUUATlN0M19fMjE0X19udW1fZ2V0X2Jhc2VFAE5TdDNfXzI3bnVtX2dldEl3TlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjlfX251bV9nZXRJd0VFACVwAAAAAEwAJQAAAAAATlN0M19fMjdudW1fcHV0SWNOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yOV9fbnVtX3B1dEljRUUATlN0M19fMjE0X19udW1fcHV0X2Jhc2VFAE5TdDNfXzI3bnVtX3B1dEl3TlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjlfX251bV9wdXRJd0VFACVIOiVNOiVTACVtLyVkLyV5ACVJOiVNOiVTICVwACVhICViICVkICVIOiVNOiVTICVZAEFNAFBNAEphbnVhcnkARmVicnVhcnkATWFyY2gAQXByaWwATWF5AEp1bmUASnVseQBBdWd1c3QAU2VwdGVtYmVyAE9jdG9iZXIATm92ZW1iZXIARGVjZW1iZXIASmFuAEZlYgBNYXIAQXByAEp1bgBKdWwAQXVnAFNlcABPY3QATm92AERlYwBTdW5kYXkATW9uZGF5AFR1ZXNkYXkAV2VkbmVzZGF5AFRodXJzZGF5AEZyaWRheQBTYXR1cmRheQBTdW4ATW9uAFR1ZQBXZWQAVGh1AEZyaQBTYXQAJW0vJWQvJXklWS0lbS0lZCVJOiVNOiVTICVwJUg6JU0lSDolTTolUyVIOiVNOiVTTlN0M19fMjh0aW1lX2dldEljTlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFRUUATlN0M19fMjIwX190aW1lX2dldF9jX3N0b3JhZ2VJY0VFAE5TdDNfXzI5dGltZV9iYXNlRQBOU3QzX18yOHRpbWVfZ2V0SXdOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMjBfX3RpbWVfZ2V0X2Nfc3RvcmFnZUl3RUUATlN0M19fMjh0aW1lX3B1dEljTlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFRUUATlN0M19fMjEwX190aW1lX3B1dEUATlN0M19fMjh0aW1lX3B1dEl3TlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjEwbW9uZXlwdW5jdEljTGIwRUVFAE5TdDNfXzIxMG1vbmV5X2Jhc2VFAE5TdDNfXzIxMG1vbmV5cHVuY3RJY0xiMUVFRQBOU3QzX18yMTBtb25leXB1bmN0SXdMYjBFRUUATlN0M19fMjEwbW9uZXlwdW5jdEl3TGIxRUVFADAxMjM0NTY3ODkAJUxmAE5TdDNfXzI5bW9uZXlfZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMTFfX21vbmV5X2dldEljRUUAMDEyMzQ1Njc4OQBOU3QzX18yOW1vbmV5X2dldEl3TlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjExX19tb25leV9nZXRJd0VFACUuMExmAE5TdDNfXzI5bW9uZXlfcHV0SWNOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMTFfX21vbmV5X3B1dEljRUUATlN0M19fMjltb25leV9wdXRJd05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfcHV0SXdFRQBOU3QzX18yOG1lc3NhZ2VzSWNFRQBOU3QzX18yMTNtZXNzYWdlc19iYXNlRQBOU3QzX18yMTdfX3dpZGVuX2Zyb21fdXRmOElMajMyRUVFAE5TdDNfXzI3Y29kZWN2dElEaWMxMV9fbWJzdGF0ZV90RUUATlN0M19fMjEyY29kZWN2dF9iYXNlRQBOU3QzX18yMTZfX25hcnJvd190b191dGY4SUxqMzJFRUUATlN0M19fMjhtZXNzYWdlc0l3RUUATlN0M19fMjdjb2RlY3Z0SWNjMTFfX21ic3RhdGVfdEVFAE5TdDNfXzI3Y29kZWN2dEl3YzExX19tYnN0YXRlX3RFRQBOU3QzX18yN2NvZGVjdnRJRHNjMTFfX21ic3RhdGVfdEVFAE5TdDNfXzI2bG9jYWxlNV9faW1wRQBOU3QzX18yNWN0eXBlSWNFRQBOU3QzX18yMTBjdHlwZV9iYXNlRQBOU3QzX18yNWN0eXBlSXdFRQBOU3QzX18yOG51bXB1bmN0SWNFRQBOU3QzX18yOG51bXB1bmN0SXdFRQBOU3QzX18yMTRfX3NoYXJlZF9jb3VudEUAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlczogJXMAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGZvcmVpZ24gZXhjZXB0aW9uAHRlcm1pbmF0aW5nAHVuY2F1Z2h0AFN0OWV4Y2VwdGlvbgBOMTBfX2N4eGFiaXYxMTZfX3NoaW1fdHlwZV9pbmZvRQBTdDl0eXBlX2luZm8ATjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQBwdGhyZWFkX29uY2UgZmFpbHVyZSBpbiBfX2N4YV9nZXRfZ2xvYmFsc19mYXN0KCkAY2Fubm90IGNyZWF0ZSBwdGhyZWFkIGtleSBmb3IgX19jeGFfZ2V0X2dsb2JhbHMoKQBjYW5ub3QgemVybyBvdXQgdGhyZWFkIHZhbHVlIGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABTdDExbG9naWNfZXJyb3IAU3QxMmxlbmd0aF9lcnJvcgBOMTBfX2N4eGFiaXYxMTlfX3BvaW50ZXJfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTIzX19mdW5kYW1lbnRhbF90eXBlX2luZm9FAHYARG4AYgBjAGgAYQBzAGkAagBtAGQATjEwX19jeHhhYml2MTIxX192bWlfY2xhc3NfdHlwZV9pbmZvRQAgY29uc3QAIHZvbGF0aWxlACByZXN0cmljdAAgY29tcGxleAAgaW1hZ2luYXJ5ACBbACAoACkAKAAmJgBvYmpjX29iamVjdDwAKgAmAG9iamNwcm90bwAgADwAPgAgdmVjdG9yWwBdAHBpeGVsIHZlY3RvclsAJj0APQAsAH4AOjoAZGVsZXRlW10gAGRlbGV0ZSAALwAvPQBeAF49AD09AD49AClbADw9ADw8ADw8PQAtAC09ACo9AC0tACktLQAhPQAhAHx8AHwAfD0ALT4qACsAKz0AKysAKSsrACkgPyAoACkgOiAoACUAJT0APj4APj49AHRocm93AHRocm93IAB0eXBlaWQoAHNpemVvZi4uLigALCAAc2l6ZW9mICgAc3RhdGljX2Nhc3Q8AD4oAHJlaW50ZXJwcmV0X2Nhc3Q8AC0+AG5vZXhjZXB0ICgAW10gACkgAC4ALioAc3RkOjoAb3BlcmF0b3ImJgBvcGVyYXRvciYAb3BlcmF0b3ImPQBvcGVyYXRvcj0Ab3BlcmF0b3IoKQBvcGVyYXRvciwAb3BlcmF0b3J+AG9wZXJhdG9yIABvcGVyYXRvciBkZWxldGVbXQBvcGVyYXRvcioAb3BlcmF0b3IvAG9wZXJhdG9yLz0Ab3BlcmF0b3JeAG9wZXJhdG9yXj0Ab3BlcmF0b3I9PQBvcGVyYXRvcj49AG9wZXJhdG9yPgBvcGVyYXRvcltdAG9wZXJhdG9yPD0Ab3BlcmF0b3IiIiAAb3BlcmF0b3I8PABvcGVyYXRvcjw8PQBvcGVyYXRvcjwAb3BlcmF0b3ItAG9wZXJhdG9yLT0Ab3BlcmF0b3IqPQBvcGVyYXRvci0tAG9wZXJhdG9yIG5ld1tdAG9wZXJhdG9yIT0Ab3BlcmF0b3IhAG9wZXJhdG9yIG5ldwBvcGVyYXRvcnx8AG9wZXJhdG9yfABvcGVyYXRvcnw9AG9wZXJhdG9yLT4qAG9wZXJhdG9yKwBvcGVyYXRvcis9AG9wZXJhdG9yKysAb3BlcmF0b3ItPgBvcGVyYXRvcj8Ab3BlcmF0b3IlAG9wZXJhdG9yJT0Ab3BlcmF0b3I+PgBvcGVyYXRvcj4+PQBvcGVyYXRvciBkZWxldGUAJ3VubmFtZWQAJ2xhbWJkYScoAHN0ZDo6c3RyaW5nAHN0ZDo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6YWxsb2NhdG9yPGNoYXI+ID4AYmFzaWNfc3RyaW5nAHN0ZDo6aXN0cmVhbQBzdGQ6OmJhc2ljX2lzdHJlYW08Y2hhciwgc3RkOjpjaGFyX3RyYWl0czxjaGFyPiA+AGJhc2ljX2lzdHJlYW0Ac3RkOjpvc3RyZWFtAHN0ZDo6YmFzaWNfb3N0cmVhbTxjaGFyLCBzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+ID4AYmFzaWNfb3N0cmVhbQBzdGQ6Omlvc3RyZWFtAHN0ZDo6YmFzaWNfaW9zdHJlYW08Y2hhciwgc3RkOjpjaGFyX3RyYWl0czxjaGFyPiA+AGJhc2ljX2lvc3RyZWFtAGR5bmFtaWNfY2FzdDwAKSgAY29uc3RfY2FzdDwAYWxpZ25vZiAoAGZwAHdjaGFyX3QAZmFsc2UAdHJ1ZQBjaGFyAHNpZ25lZCBjaGFyAHVuc2lnbmVkIGNoYXIAc2hvcnQAdW5zaWduZWQgc2hvcnQAdQBsAHVsAGxsAHVsbABfX2ludDEyOAB1bnNpZ25lZCBfX2ludDEyOAAlTGFMACVhACVhZgBkZWNsdHlwZSgAc3RkOjphbGxvY2F0b3IAc3RkOjpiYXNpY19zdHJpbmcAOjpzdHJpbmcgbGl0ZXJhbABzdGQAX0dMT0JBTF9fTgAoYW5vbnltb3VzIG5hbWVzcGFjZSkAID4AVF8AaWQAOjoqACAmACAmJgAgW10Adm9pZABib29sAGludAB1bnNpZ25lZCBpbnQAbG9uZwB1bnNpZ25lZCBsb25nAGxvbmcgbG9uZwBmbG9hdABsb25nIGRvdWJsZQBfX2Zsb2F0MTI4AC4uLgBkZWNpbWFsNjQAZGVjaW1hbDEyOABkZWNpbWFsMzIAZGVjaW1hbDE2AGNoYXIzMl90AGNoYXIxNl90AGF1dG8Ac3RkOjpudWxscHRyX3QAZG91YmxlAHVuc2lnbmVkIGxvbmcgbG9uZwBfYmxvY2tfaW52b2tlAGludm9jYXRpb24gZnVuY3Rpb24gZm9yIGJsb2NrIGluIAB2dGFibGUgZm9yIABWVFQgZm9yIAB0eXBlaW5mbyBmb3IgAHR5cGVpbmZvIG5hbWUgZm9yIABjb3ZhcmlhbnQgcmV0dXJuIHRodW5rIHRvIABjb25zdHJ1Y3Rpb24gdnRhYmxlIGZvciAALWluLQB2aXJ0dWFsIHRodW5rIHRvIABub24tdmlydHVhbCB0aHVuayB0byAAZ3VhcmQgdmFyaWFibGUgZm9yIAByZWZlcmVuY2UgdGVtcG9yYXJ5IGZvciA=";var tempDoublePtr=STATICTOP;STATICTOP+=16;function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";function Browser_setImmediate_messageHandler(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}}addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){Module["noExitRuntime"]=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var browserIterationFunc;if(typeof arg!=="undefined"){browserIterationFunc=(function(){Module["dynCall_vi"](func,arg)})}else{browserIterationFunc=(function(){Module["dynCall_v"](func)})}var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:(function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++}),resume:(function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()}),updateStatus:(function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout((function(){finish(audio)}),1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||(function(){});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(function(){});canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",(function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}}),false)}}}),createContext:(function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach((function(callback){callback()}));Browser.init()}return ctx}),destroyContext:(function(canvas,useWebGL,setInModule){}),fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:(function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||(function(){});canvas.exitFullscreen=canvas.exitFullscreen.bind(document);if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas)Browser.setFullscreenCanvasSize()}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas)Browser.setWindowedCanvasSize()}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen);Browser.updateCanvasDimensions(canvas)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?(function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}):null)||(canvasContainer["webkitRequestFullScreen"]?(function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}):null);if(vrDevice){canvasContainer.requestFullscreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullscreen()}}),requestFullScreen:(function(lockPointer,resizeCanvas,vrDevice){Module.printErr("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");Browser.requestFullScreen=(function(lockPointer,resizeCanvas,vrDevice){return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)});return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)}),nextRAF:0,fakeRequestAnimationFrame:(function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)}),requestAnimationFrame:function requestAnimationFrame(func){if(typeof window==="undefined"){Browser.fakeRequestAnimationFrame(func)}else{if(!window.requestAnimationFrame){window.requestAnimationFrame=window["requestAnimationFrame"]||window["mozRequestAnimationFrame"]||window["webkitRequestAnimationFrame"]||window["msRequestAnimationFrame"]||window["oRequestAnimationFrame"]||Browser.fakeRequestAnimationFrame}window.requestAnimationFrame(func)}},safeCallback:(function(func){return(function(){if(!ABORT)return func.apply(null,arguments)})}),allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=false}),resumeAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach((function(func){func()}))}}),safeRequestAnimationFrame:(function(func){return Browser.requestAnimationFrame((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}))}),safeSetTimeout:(function(func,timeout){Module["noExitRuntime"]=true;return setTimeout((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}),timeout)}),safeSetInterval:(function(func,timeout){Module["noExitRuntime"]=true;return setInterval((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}}),timeout)}),getMimetype:(function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]}),getUserMedia:(function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)}),getMovementX:(function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0}),getMovementY:(function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0}),getMouseWheelDelta:(function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail;break;case"mousewheel":delta=event.wheelDelta;break;case"wheel":delta=event["deltaY"];break;default:throw"unrecognized mouse wheel event: "+event.type}return delta}),mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:(function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}}),asyncLoad:(function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";Module["readAsync"](url,(function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)}),(function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}}));if(dep)addRunDependency(dep)}),resizeListeners:[],updateResizeListeners:(function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach((function(listener){listener(canvas.width,canvas.height)}))}),setCanvasSize:(function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()}),windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateResizeListeners()}),setWindowedCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateResizeListeners()}),updateCanvasDimensions:(function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["dynCall_vi"](info.destructor,ptr)}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(setTempRet0(0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i>2];info.adjusted=thrown;return(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);function ___gxx_personality_v0(){}function ___lock(){}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}function ___map_file(pathname,size){___setErrNo(ERRNO_CODES.EPERM);return-1}var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;inode.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.lengthnewSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={"1024":flags["O_APPEND"],"64":flags["O_CREAT"],"128":flags["O_EXCL"],"0":flags["O_RDONLY"],"2":flags["O_RDWR"],"4096":flags["O_SYNC"],"512":flags["O_TRUNC"],"1":flags["O_WRONLY"]}}),bufferFrom:(function(arrayBuffer){return Buffer.alloc?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsForNode:(function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),write:(function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdirTree:(function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};case 21523:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall91(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get();var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);SYSCALLS.doMsync(addr,stream,len,info.flags);FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}var tupleRegistrations={};function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return(new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n"))(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,(function(message){this.name=errorName;this.message=message;var stack=(new Error(message)).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}}));errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=(function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}});return errorClass}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach((function(type){typeDependencies[type]=dependentTypes}));function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i>shift])}),destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}});clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function runDestructor(handle){var $$=handle.$$;if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}this.$$.count.value-=1;var toDelete=0===this.$$.count.value;if(toDelete){runDestructor(this)}if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}var delayFunction=undefined;var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var registeredPointers={};function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=(function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)});proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,__emval_register((function(){clonedHandle["delete"]()})));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return Object.create(prototype,{$$:{value:record}})}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],(function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,(function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn);if(undefined===proto[methodName].overloadTable){proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}return[]}));return[]}))}function __embind_register_class_constructor(rawClassType,argCount,rawArgTypesAddr,invokerSignature,invoker,rawConstructor){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],(function(classType){classType=classType[0];var humanName="constructor "+classType.name;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError("Cannot register multiple constructors with identical number of parameters ("+(argCount-1)+") for class '"+classType.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!")}classType.registeredClass.constructor_body[argCount-1]=function unboundTypeHandler(){throwUnboundTypeError("Cannot construct "+classType.name+" due to unbound types",rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,(function(argTypes){classType.registeredClass.constructor_body[argCount-1]=function constructor_body(){if(arguments.length!==argCount-1){throwBindingError(humanName+" called with "+arguments.length+" arguments, expected "+(argCount-1))}var destructors=[];var args=new Array(argCount);args[0]=rawConstructor;for(var i=1;i4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i>2])});case 3:return(function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])});default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":(function(value){return value}),"toWireType":(function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value}),"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function __embind_register_function(name,argCount,rawArgTypesAddr,signature,rawInvoker,fn){var argTypes=heap32VectorToArray(argCount,rawArgTypesAddr);name=readLatin1String(name);rawInvoker=embind__requireFunction(signature,rawInvoker);exposePublicSymbol(name,(function(){throwUnboundTypeError("Cannot call "+name+" due to unbound types",argTypes)}),argCount-1);whenDependentTypesAreResolved([],argTypes,(function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));replacePublicSymbol(name,craftInvokerFunction(name,invokerArgsArray,null,rawInvoker,fn),argCount-1);return[]}))}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=(function(value){return value});if(minRange===0){var bitshift=32-8*size;fromWireType=(function(value){return value<>>bitshift})}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":(function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(valuemaxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0}),"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_smart_ptr(rawType,rawPointeeType,name,sharingPolicy,getPointeeSignature,rawGetPointee,constructorSignature,rawConstructor,shareSignature,rawShare,destructorSignature,rawDestructor){name=readLatin1String(name);rawGetPointee=embind__requireFunction(getPointeeSignature,rawGetPointee);rawConstructor=embind__requireFunction(constructorSignature,rawConstructor);rawShare=embind__requireFunction(shareSignature,rawShare);rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);whenDependentTypesAreResolved([rawType],[rawPointeeType],(function(pointeeType){pointeeType=pointeeType[0];var registeredPointer=new RegisteredPointer(name,pointeeType.registeredClass,false,false,true,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor);return[registeredPointer]}))}function __embind_register_std_string(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":(function(value){var length=HEAPU32[value>>2];var a=new Array(length);for(var i=0;i>2]=length;for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}if(destructors!==null){destructors.push(_free,ptr)}return ptr}),"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:(function(ptr){_free(ptr)})})}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var getHeap,shift;if(charSize===2){getHeap=(function(){return HEAPU16});shift=1}else if(charSize===4){getHeap=(function(){return HEAPU32});shift=2}registerType(rawType,{name:name,"fromWireType":(function(value){var HEAP=getHeap();var length=HEAPU32[value>>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i>2]=length;var start=ptr+4>>shift;for(var i=0;i>2]=rd;return returnType["toWireType"](destructors,handle)}function __emval_allocateDestructors(destructorsRef){var destructors=[];HEAP32[destructorsRef>>2]=__emval_register(destructors);return destructors}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_methodCallers=[];function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function __emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function __emval_lookupTypes(argCount,argTypes,argWireTypes){var a=new Array(argCount);for(var i=0;i>2)+i],"parameter "+i)}return a}function __emval_get_method_caller(argCount,argTypes){var types=__emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map((function(t){return t.name})).join("_")+"$";var params=["retType"];var args=[retType];var argsList="";for(var i=0;i4){emval_handle_array[handle].refcount+=1}}function __emval_new_array(){return __emval_register([])}function __emval_new_cstring(v){return __emval_register(getStringOrSymbol(v))}function __emval_run_destructors(handle){var destructors=emval_handle_array[handle].value;runDestructors(destructors);__emval_decref(handle)}function __emval_take_value(type,argv){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](argv);return __emval_register(v)}function _abort(){Module["abort"]()}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C.UTF-8";ENV["_"]=Module["thisProgram"];poolPtr=staticAlloc(TOTAL_ENV_SIZE);envPtr=staticAlloc(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocateUTF8(ENV[name]);return _getenv.ret}var _llvm_ceil_f64=Math_ceil;var _llvm_fabs_f32=Math_abs;var _llvm_fabs_f64=Math_abs;var _llvm_pow_f64=Math_pow;function _llvm_trap(){abort("trap!")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}function _pthread_cond_wait(){return 0}var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}var PTHREAD_SPECIFIC_NEXT_KEY=1;function _pthread_key_create(key,destructor){if(key==0){return ERRNO_CODES.EINVAL}HEAP32[key>>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_key_delete(key){if(key in PTHREAD_SPECIFIC){delete PTHREAD_SPECIFIC[key];return 0}return ERRNO_CODES.EINVAL}function _pthread_mutex_destroy(){}function _pthread_mutex_init(){}function _pthread_mutexattr_destroy(){}function _pthread_mutexattr_init(){}function _pthread_mutexattr_settype(){}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?Pointer_stringify(tm_zone):""};var pattern=Pointer_stringify(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":(function(date){return WEEKDAYS[date.tm_wday].substring(0,3)}),"%A":(function(date){return WEEKDAYS[date.tm_wday]}),"%b":(function(date){return MONTHS[date.tm_mon].substring(0,3)}),"%B":(function(date){return MONTHS[date.tm_mon]}),"%C":(function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)}),"%d":(function(date){return leadingNulls(date.tm_mday,2)}),"%e":(function(date){return leadingSomething(date.tm_mday,2," ")}),"%g":(function(date){return getWeekBasedYear(date).toString().substring(2)}),"%G":(function(date){return getWeekBasedYear(date)}),"%H":(function(date){return leadingNulls(date.tm_hour,2)}),"%I":(function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)}),"%j":(function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)}),"%m":(function(date){return leadingNulls(date.tm_mon+1,2)}),"%M":(function(date){return leadingNulls(date.tm_min,2)}),"%n":(function(){return"\n"}),"%p":(function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}}),"%S":(function(date){return leadingNulls(date.tm_sec,2)}),"%t":(function(){return"\t"}),"%u":(function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()||7}),"%U":(function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"}),"%V":(function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)}),"%Z":(function(date){return date.tm_zone}),"%%":(function(){return"%"})};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){Module.printErr("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");Module["requestFullScreen"]=Module["requestFullscreen"];Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof self==="object"&&self["performance"]&&typeof self["performance"]["now"]==="function"){_emscripten_get_now=(function(){return self["performance"]["now"]()})}else if(typeof performance==="object"&&typeof performance["now"]==="function"){_emscripten_get_now=(function(){return performance["now"]()})}else{_emscripten_get_now=Date.now}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}InternalError=Module["InternalError"]=extendError(Error,"InternalError");embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");init_ClassHandle();init_RegisteredPointer();init_embind();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");init_emval();___buildEnvironment(ENV);DYNAMICTOP_PTR=staticAlloc(4);STACK_BASE=STACKTOP=alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:(function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i2147483648)return false;b=new a(newBuffer);d=new c(newBuffer);f=new e(newBuffer);h=new g(newBuffer);j=new i(newBuffer);l=new k(newBuffer);n=new m(newBuffer);p=new o(newBuffer);buffer=newBuffer;return true} +// EMSCRIPTEN_START_FUNCS +function yi(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function zi(){return u|0}function Ai(a){a=a|0;u=a}function Bi(a,b){a=a|0;b=b|0;u=a;v=b}function Ci(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function Di(a){a=a|0;I=a}function Ei(){return I|0}function Fi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=EQa(56)|0;Gi(f,a,b,c,d,e);return f|0}function Gi(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;i=u;u=u+16|0;j=i;f[a>>2]=e&4095|1124007936;f[a+4>>2]=2;k=a+8|0;f[k>>2]=c;l=a+12|0;f[l>>2]=d;f[a+16>>2]=g;m=a+20|0;f[m>>2]=g;n=a+24|0;o=a+28|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;f[a+40>>2]=k;p=a+48|0;q=a+44|0;f[q>>2]=p;f[a+52>>2]=0;f[p>>2]=0;if((X(d,c)|0)!=0&(g|0)==0){f[j>>2]=0;f[j+4>>2]=0;r=JV(j,26)|0;s=346743;t=r+26|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));EP(-215,j,346770,346774,500);KV(j);v=f[l>>2]|0}else v=d;d=e&7;l=(e>>>3&511)+1<<(47696>>>(d<<1)&3);e=X(v,l)|0;if(h){if((h>>>0)%((1212424721>>>(d<<2)&15)>>>0)|0|0){f[j>>2]=0;f[j+4>>2]=0;r=JV(j,31)|0;s=158394;t=r+31|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));EP(-13,j,346770,346774,515);KV(j)}if((e|0)!=(h|0)?(f[k>>2]|0)!=1:0){w=h;x=f[q>>2]|0;f[x>>2]=w;y=x+4|0;f[y>>2]=l;z=f[m>>2]|0;A=f[k>>2]|0;B=X(A,w)|0;C=z+B|0;f[o>>2]=C;D=0-w|0;E=C+D|0;F=E+e|0;f[n>>2]=F;u=i;return}else G=h}else G=e;f[a>>2]=f[a>>2]|16384;w=G;x=f[q>>2]|0;f[x>>2]=w;y=x+4|0;f[y>>2]=l;z=f[m>>2]|0;A=f[k>>2]|0;B=X(A,w)|0;C=z+B|0;f[o>>2]=C;D=0-w|0;E=C+D|0;F=E+e|0;f[n>>2]=F;u=i;return}function Hi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;var g=0,h=0,i=0;g=u;u=u+16|0;h=g;i=h+8|0;f[i>>2]=0;f[i+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=b;AO(a,h,c,d,e);u=g;return}function Ii(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;e=d;g=e+8|0;f[g>>2]=0;f[g+4>>2]=0;f[e>>2]=33619968;f[e+4>>2]=b;AO(a,e,c,1.0,0.0);u=d;return}function Ji(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0,h=0;e=u;u=u+16|0;g=e;h=g+8|0;f[h>>2]=0;f[h+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=b;AO(a,g,c,d,0.0);u=e;return}function Ki(a,b){a=a|0;b=b|0;var c=0;c=f[b+40>>2]|0;b=f[c>>2]|0;f[a>>2]=f[c+4>>2];f[a+4>>2]=b;return}function Li(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+224|0;g=e;TG(g,b,c,d);f[a>>2]=1124007936;d=a+8|0;c=a+40|0;b=a+4|0;h=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(h|0));f[c>>2]=d;d=a+48|0;f[a+44>>2]=d;f[d>>2]=0;f[a+52>>2]=0;d=f[g>>2]|0;th[f[(f[d>>2]|0)+12>>2]&255](d,g,a,-1);Mi(g);u=e;return}function Mi(a){a=a|0;var b=0,c=0,d=0,e=0;b=a+120|0;c=a+156|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+136|0;b=a+124|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+160>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+164>>2]|0;if((b|0)!=(a+168|0))dX(b);b=a+64|0;d=a+100|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+80|0;b=a+68|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[a+104>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+108>>2]|0;if((b|0)!=(a+112|0))dX(b);b=a+8|0;c=a+44|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+24|0;b=a+12|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+48>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+52>>2]|0;if((b|0)==(a+56|0))return;dX(b);return}function Ni(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+240|0;e=d;g=d+224|0;f[g>>2]=f[b>>2];f[g+4>>2]=f[b+4>>2];VG(e,g,c);f[a>>2]=1124007936;c=a+8|0;g=a+40|0;b=a+4|0;h=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(h|0));f[g>>2]=c;c=a+48|0;f[a+44>>2]=c;f[c>>2]=0;f[a+52>>2]=0;c=f[e>>2]|0;th[f[(f[c>>2]|0)+12>>2]&255](c,e,a,-1);Mi(e);u=d;return}function Oi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+224|0;g=e;WG(g,b,c,d);f[a>>2]=1124007936;d=a+8|0;c=a+40|0;b=a+4|0;h=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(h|0));f[c>>2]=d;d=a+48|0;f[a+44>>2]=d;f[d>>2]=0;f[a+52>>2]=0;d=f[g>>2]|0;th[f[(f[d>>2]|0)+12>>2]&255](d,g,a,-1);Mi(g);u=e;return}function Pi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+240|0;e=d;g=d+224|0;f[g>>2]=f[b>>2];f[g+4>>2]=f[b+4>>2];XG(e,g,c);f[a>>2]=1124007936;c=a+8|0;g=a+40|0;b=a+4|0;h=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(h|0));f[g>>2]=c;c=a+48|0;f[a+44>>2]=c;f[c>>2]=0;f[a+52>>2]=0;c=f[e>>2]|0;th[f[(f[c>>2]|0)+12>>2]&255](c,e,a,-1);Mi(e);u=d;return}function Qi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0;c=u;u=u+16|0;d=c;f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=b;e=+mD(a,d);u=c;return +e}function Ri(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0,h=0,i=0;e=u;u=u+240|0;g=e;h=e+224|0;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=c;SG(g,b,h,d);f[a>>2]=1124007936;h=a+8|0;b=a+40|0;c=a+4|0;i=c+36|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(i|0));f[b>>2]=h;h=a+48|0;f[a+44>>2]=h;f[h>>2]=0;f[a+52>>2]=0;h=f[g>>2]|0;th[f[(f[h>>2]|0)+12>>2]&255](h,g,a,-1);Mi(g);u=e;return}function Si(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=u;u=u+224|0;d=c;QG(d,b);f[a>>2]=1124007936;b=a+8|0;e=a+40|0;g=a+4|0;h=g+36|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[e>>2]=b;b=a+48|0;f[a+44>>2]=b;f[b>>2]=0;f[a+52>>2]=0;b=f[d>>2]|0;th[f[(f[b>>2]|0)+12>>2]&255](b,d,a,-1);Mi(d);u=c;return}function Ti(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+224|0;e=d;RG(e,b,c);f[a>>2]=1124007936;c=a+8|0;b=a+40|0;g=a+4|0;h=g+36|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[b>>2]=c;c=a+48|0;f[a+44>>2]=c;f[c>>2]=0;f[a+52>>2]=0;c=f[e>>2]|0;th[f[(f[c>>2]|0)+12>>2]&255](c,e,a,-1);Mi(e);u=d;return}function Ui(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=d+8|0;f[e>>2]=0;f[e+4>>2]=0;f[d>>2]=33619968;f[d+4>>2]=b;eM(a,d);u=c;return}function Vi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+32|0;e=d+16|0;g=d;h=e+8|0;f[h>>2]=0;f[h+4>>2]=0;f[e>>2]=33619968;f[e+4>>2]=b;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=c;fM(a,e,g);u=d;return}function Wi(a,b,c){a=a|0;b=b|0;c=c|0;bP(a,b,c);return}function Xi(a,b){a=a|0;b=b|0;bP(a,b,0);return}function Yi(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d>>2]=-1056833530;f[d+4>>2]=b;f[d+8>>2]=1;f[d+12>>2]=4;hM(a,d,BK()|0)|0;u=c;return}function Zi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+32|0;e=d+16|0;g=d;f[e>>2]=-1056833530;f[e+4>>2]=b;f[e+8>>2]=1;f[e+12>>2]=4;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=c;hM(a,e,g)|0;u=d;return}function _i(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+32|0;d=c;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[d+24>>2]=0;f[d+28>>2]=0;AJ(b,d);b=he()|0;f[a>>2]=b;tr(b,122902,d);tr(b,122902,d+8|0);tr(b,122902,d+16|0);tr(b,122902,d+24|0);u=c;return}function $i(a,b){a=a|0;b=b|0;BJ(a,b);return}function aj(a,b){a=a|0;b=b|0;CJ(a,b);return}function bj(a){a=a|0;return a&7|0}function cj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+32|0;e=d+16|0;g=d;h=a+16|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=b;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=c;yP(e,a,a+8|0,a+16|0,a+24|0,g);u=d;return}function dj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=a+16|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=b;yP(d,a,a+8|0,a+16|0,a+24|0,BK()|0);u=c;return}function ej(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;n[a>>2]=0.0;n[a+4>>2]=0.0;f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=b;A9(d,a,a+8|0);u=c;return}function fj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=u;u=u+64|0;g=e;h=e+32|0;i=e+16|0;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=b;f[g>>2]=f[d>>2];f[g+4>>2]=f[d+4>>2];f[g+8>>2]=f[d+8>>2];f[g+12>>2]=f[d+12>>2];bva(h,i,c,g);g=he()|0;f[a>>2]=g;ur(g,122902,h);vr(g,122902,c);u=e;return}function gj(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=u;u=u+32|0;h=g;i=g+16|0;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=c;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];e=ava(i,d,h)|0;i=he()|0;f[a>>2]=i;if((b[453240]|0)==0?jVa(453240)|0:0){c=de(2,20920)|0;f[113741]=c}c=f[113741]|0;f[h>>2]=e;be(c|0,i|0,122902,h|0);vr(f[a>>2]|0,122902,d);u=g;return}function hj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=f[c+4>>2]|0;e=f[c+8>>2]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if(e>>>0>4294967279)NQa(a);if(e>>>0<11){b[a+11>>0]=e;if(!e){g=a;h=g+e|0;b[h>>0]=0;return}else i=a}else{c=e+16&-16;j=EQa(c)|0;f[a>>2]=j;f[a+8>>2]=c|-2147483648;f[a+4>>2]=e;i=j}DVa(i|0,d|0,e|0)|0;g=i;h=g+e|0;b[h>>0]=0;return}function ij(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=a+4|0;KV(d);a=c+11|0;e=b[a>>0]|0;g=e<<24>>24<0?f[c+4>>2]|0:e&255;if(!g)return;e=JV(d,g)|0;DVa(e|0,((b[a>>0]|0)<0?f[c>>2]|0:c)|0,g|0)|0;return}function jj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=b;f[a>>2]=32948;b=f[c+4>>2]|0;f[a+4>>2]=b;f[a+8>>2]=f[c+8>>2];if(b|0){d=b+-4|0;f[d>>2]=(f[d>>2]|0)+1}f[a+12>>2]=f[c+12>>2];d=f[c+16>>2]|0;f[a+16>>2]=d;f[a+20>>2]=f[c+20>>2];if(d|0){b=d+-4|0;f[b>>2]=(f[b>>2]|0)+1}b=f[c+24>>2]|0;f[a+24>>2]=b;f[a+28>>2]=f[c+28>>2];if(b|0){d=b+-4|0;f[d>>2]=(f[d>>2]|0)+1}d=f[c+32>>2]|0;f[a+32>>2]=d;f[a+36>>2]=f[c+36>>2];if(!d){e=a+40|0;g=c+40|0;h=f[g>>2]|0;f[e>>2]=h;return}b=d+-4|0;f[b>>2]=(f[b>>2]|0)+1;e=a+40|0;g=c+40|0;h=f[g>>2]|0;f[e>>2]=h;return}function kj(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=kQ()|0;d=f[c>>2]|0;e=f[c+4>>2]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if(e>>>0>4294967279)NQa(a);if(e>>>0<11){b[a+11>>0]=e;if(!e){g=a;h=g+e|0;b[h>>0]=0;return}else i=a}else{c=e+16&-16;j=EQa(c)|0;f[a>>2]=j;f[a+8>>2]=c|-2147483648;f[a+4>>2]=e;i=j}DVa(i|0,d|0,e|0)|0;g=i;h=g+e|0;b[h>>0]=0;return}function lj(a){a=a|0;var b=0;mj(122907);nj(122917);oj(122929);pj(122942);qj(122954);rj(122964);Hd(8704,8792,8808,0,138822,90,138825,0,138825,0,346770,138827,863);Jd(8704,1,21336,138822,91,1);Jd(8704,2,21340,138841,41,92);Jd(8704,3,21348,138864,36,42);Jd(8704,4,21360,138869,18,37);Jd(8704,5,21376,139968,51,19);Jd(8704,6,21396,139975,68,52);Id(8704,122975,3,21420,138864,38,47);Id(8704,122975,4,21432,138869,20,46);Id(8704,122979,3,21420,138864,38,48);Id(8704,122979,4,21432,138869,20,47);Id(8704,122984,3,21420,138864,38,49);Id(8704,122984,4,21432,138869,20,48);a=EQa(4)|0;f[a>>2]=8;b=EQa(4)|0;f[b>>2]=8;Ld(8704,189102,20816,138841,43,a|0,20816,138830,50,b|0);b=EQa(4)|0;f[b>>2]=12;a=EQa(4)|0;f[a>>2]=12;Ld(8704,189107,20816,138841,43,b|0,20816,138830,50,a|0);a=EQa(4)|0;f[a>>2]=238;Ld(8704,122990,8368,138841,44,a|0,0,0,0,0);a=EQa(4)|0;f[a>>2]=239;Ld(8704,122998,8368,138841,44,a|0,0,0,0,0);a=EQa(4)|0;f[a>>2]=240;Ld(8704,188816,8368,138841,44,a|0,0,0,0,0);a=EQa(4)|0;f[a>>2]=241;Ld(8704,123003,8368,138841,44,a|0,0,0,0,0);a=EQa(4)|0;f[a>>2]=242;Ld(8704,123010,8368,138841,44,a|0,0,0,0,0);a=EQa(4)|0;f[a>>2]=243;Ld(8704,123018,8368,138841,44,a|0,0,0,0,0);a=EQa(4)|0;f[a>>2]=244;Ld(8704,123026,8368,138841,44,a|0,0,0,0,0);a=EQa(4)|0;f[a>>2]=245;Ld(8704,123034,8368,138841,44,a|0,0,0,0,0);a=EQa(4)|0;f[a>>2]=246;Ld(8704,123042,8368,138841,44,a|0,0,0,0,0);a=EQa(8)|0;f[a>>2]=93;f[a+4>>2]=0;Kd(8704,123050,2,21448,138841,45,a|0,0);a=EQa(8)|0;f[a>>2]=94;f[a+4>>2]=0;Kd(8704,123059,2,21448,138841,45,a|0,0);a=EQa(8)|0;f[a>>2]=95;f[a+4>>2]=0;Kd(8704,123069,2,21456,138841,46,a|0,0);a=EQa(4)|0;f[a>>2]=1;Kd(8704,157923,6,21464,140200,1,a|0,0);a=EQa(4)|0;f[a>>2]=51;Kd(8704,157923,4,21488,138835,49,a|0,0);a=EQa(4)|0;f[a>>2]=2;Kd(8704,157923,5,21504,140208,3,a|0,0);a=EQa(8)|0;f[a>>2]=96;f[a+4>>2]=0;Kd(8704,151095,2,21448,138841,45,a|0,0);a=EQa(8)|0;f[a>>2]=52;f[a+4>>2]=0;Kd(8704,123078,3,21524,138864,39,a|0,0);a=EQa(8)|0;f[a>>2]=50;f[a+4>>2]=0;Kd(8704,169501,5,21536,140215,72,a|0,0);a=EQa(8)|0;f[a>>2]=53;f[a+4>>2]=0;Kd(8704,169501,4,21556,138835,51,a|0,0);a=EQa(8)|0;f[a>>2]=52;f[a+4>>2]=0;Kd(8704,123082,4,21572,138869,21,a|0,0);a=EQa(8)|0;f[a>>2]=54;f[a+4>>2]=0;Kd(8704,123082,3,21588,138864,40,a|0,0);a=EQa(4)|0;f[a>>2]=247;Kd(8704,157495,3,21600,138830,55,a|0,0);a=EQa(4)|0;f[a>>2]=56;Kd(8704,157495,4,21612,138835,53,a|0,0);a=EQa(8)|0;f[a>>2]=97;f[a+4>>2]=0;Kd(8704,222420,2,21456,138841,46,a|0,0);a=EQa(8)|0;f[a>>2]=98;f[a+4>>2]=0;Kd(8704,151101,2,21628,138841,47,a|0,0);a=EQa(8)|0;f[a>>2]=54;f[a+4>>2]=0;Kd(8704,123091,4,21572,138869,21,a|0,0);a=EQa(8)|0;f[a>>2]=57;f[a+4>>2]=0;Kd(8704,123091,3,21588,138864,40,a|0,0);a=EQa(8)|0;f[a>>2]=48;f[a+4>>2]=0;Kd(8704,123100,3,21636,138864,41,a|0,0);a=EQa(8)|0;f[a>>2]=248;f[a+4>>2]=0;Kd(8704,123106,2,21648,138841,49,a|0,0);a=EQa(8)|0;f[a>>2]=99;f[a+4>>2]=0;Kd(8704,123112,2,21456,138841,46,a|0,0);a=EQa(8)|0;f[a>>2]=58;f[a+4>>2]=0;Kd(8704,123118,3,21524,138864,39,a|0,0);a=EQa(4)|0;f[a>>2]=3;Kd(8704,143243,3,21656,140234,8,a|0,0);a=EQa(4)|0;f[a>>2]=3;Kd(8704,123122,4,21668,139213,1,a|0,0);a=EQa(4)|0;f[a>>2]=59;Kd(8704,123126,3,21684,138864,42,a|0,0);a=EQa(4)|0;f[a>>2]=249;Kd(8704,123130,2,21696,138841,50,a|0,0);a=EQa(8)|0;f[a>>2]=60;f[a+4>>2]=0;Kd(8704,189240,3,21704,138864,43,a|0,0);a=EQa(4)|0;f[a>>2]=61;Kd(8704,159208,3,21684,138864,42,a|0,0);a=EQa(4)|0;f[a>>2]=250;Kd(8704,159208,2,21696,138841,50,a|0,0);a=EQa(8)|0;f[a>>2]=100;f[a+4>>2]=0;Kd(8704,151129,2,21628,138841,47,a|0,0);a=EQa(4)|0;f[a>>2]=251;Kd(8704,154986,3,21716,138830,62,a|0,0);a=EQa(4)|0;f[a>>2]=63;Kd(8704,154986,4,21728,138835,55,a|0,0);a=EQa(4)|0;f[a>>2]=252;Kd(8704,331370,2,21744,138841,51,a|0,0);a=EQa(4)|0;f[a>>2]=64;Kd(8704,157249,3,21752,138864,44,a|0,0);a=EQa(4)|0;f[a>>2]=56;Kd(8704,157249,4,21764,138869,22,a|0,0);a=EQa(4)|0;f[a>>2]=64;Kd(8704,123132,3,21752,138864,44,a|0,0);a=EQa(4)|0;f[a>>2]=56;Kd(8704,123132,4,21764,138869,22,a|0,0);a=EQa(4)|0;f[a>>2]=65;Kd(8704,123141,3,21752,138864,44,a|0,0);a=EQa(4)|0;f[a>>2]=57;Kd(8704,123141,4,21764,138869,22,a|0,0);a=EQa(4)|0;f[a>>2]=66;Kd(8704,123149,3,21752,138864,44,a|0,0);a=EQa(4)|0;f[a>>2]=58;Kd(8704,123149,4,21764,138869,22,a|0,0);a=EQa(4)|0;f[a>>2]=67;Kd(8704,123158,3,21752,138864,44,a|0,0);a=EQa(4)|0;f[a>>2]=59;Kd(8704,123158,4,21764,138869,22,a|0,0);a=EQa(4)|0;f[a>>2]=68;Kd(8704,123168,3,21752,138864,44,a|0,0);a=EQa(4)|0;f[a>>2]=60;Kd(8704,123168,4,21764,138869,22,a|0,0);a=EQa(4)|0;f[a>>2]=69;Kd(8704,123175,3,21752,138864,44,a|0,0);a=EQa(4)|0;f[a>>2]=61;Kd(8704,123175,4,21764,138869,22,a|0,0);a=EQa(4)|0;f[a>>2]=70;Kd(8704,123184,3,21752,138864,44,a|0,0);a=EQa(4)|0;f[a>>2]=62;Kd(8704,123184,4,21764,138869,22,a|0,0);a=EQa(8)|0;f[a>>2]=52;f[a+4>>2]=0;Kd(8704,123194,3,21780,138864,45,a|0,0);a=EQa(8)|0;f[a>>2]=46;f[a+4>>2]=0;Kd(8704,123194,4,21792,138869,23,a|0,0);a=EQa(8)|0;f[a>>2]=24;f[a+4>>2]=0;Kd(8704,123194,5,21808,139968,53,a|0,0);a=EQa(8)|0;f[a>>2]=53;f[a+4>>2]=0;Kd(8704,123201,3,21828,138864,47,a|0,0);a=EQa(8)|0;f[a>>2]=48;f[a+4>>2]=0;Kd(8704,123201,4,21840,138869,25,a|0,0);a=EQa(8)|0;f[a>>2]=26;f[a+4>>2]=0;Kd(8704,123201,5,21856,139968,54,a|0,0);a=EQa(8)|0;f[a>>2]=54;f[a+4>>2]=0;Kd(8704,123209,3,21876,138864,49,a|0,0);a=EQa(8)|0;f[a>>2]=50;f[a+4>>2]=0;Kd(8704,123209,4,21888,138869,27,a|0,0);a=EQa(8)|0;f[a>>2]=28;f[a+4>>2]=0;Kd(8704,123209,5,21904,139968,55,a|0,0);a=EQa(8)|0;f[a>>2]=55;f[a+4>>2]=0;Kd(8704,123217,3,21924,138864,51,a|0,0);a=EQa(8)|0;f[a>>2]=52;f[a+4>>2]=0;Kd(8704,123217,4,21936,138869,29,a|0,0);a=EQa(8)|0;f[a>>2]=30;f[a+4>>2]=0;Kd(8704,123217,5,21952,139968,56,a|0,0);a=EQa(8)|0;f[a>>2]=56;f[a+4>>2]=0;Kd(8704,123226,3,21972,138864,53,a|0,0);a=EQa(8)|0;f[a>>2]=54;f[a+4>>2]=0;Kd(8704,123226,4,21984,138869,31,a|0,0);a=EQa(8)|0;f[a>>2]=32;f[a+4>>2]=0;Kd(8704,123226,5,22e3,139968,57,a|0,0);a=EQa(8)|0;f[a>>2]=57;f[a+4>>2]=0;Kd(8704,123232,3,22020,140239,9,a|0,0);a=EQa(8)|0;f[a>>2]=55;f[a+4>>2]=0;Kd(8704,123232,4,22032,140244,1,a|0,0);a=EQa(8)|0;f[a>>2]=33;f[a+4>>2]=0;Kd(8704,123232,5,22048,140250,1,a|0,0);a=EQa(8)|0;f[a>>2]=34;f[a+4>>2]=0;Kd(8704,123240,5,22068,140257,2,a|0,0);a=EQa(8)|0;f[a>>2]=58;f[a+4>>2]=0;Kd(8704,123240,3,22088,140234,10,a|0,0);a=EQa(8)|0;f[a>>2]=56;f[a+4>>2]=0;Kd(8704,123240,4,22100,140264,2,a|0,0);Xd(8928,123249,188811,2,138827,864);a=EQa(4)|0;f[a>>2]=0;b=EQa(4)|0;f[b>>2]=0;Yd(8928,233698,20816,138841,59,a|0,20816,138830,71,b|0);b=EQa(4)|0;f[b>>2]=4;a=EQa(4)|0;f[a>>2]=4;Yd(8928,123255,20816,138841,59,b|0,20816,138830,71,a|0);Fd(8928);Xd(8936,123259,188811,3,138827,865);a=EQa(4)|0;f[a>>2]=0;b=EQa(4)|0;f[b>>2]=0;Yd(8936,222420,20816,138841,60,a|0,20816,138830,72,b|0);b=EQa(4)|0;f[b>>2]=4;a=EQa(4)|0;f[a>>2]=4;Yd(8936,123272,20816,138841,60,b|0,20816,138830,72,a|0);a=EQa(4)|0;f[a>>2]=8;b=EQa(4)|0;f[b>>2]=8;Yd(8936,123281,20856,140290,4,a|0,20856,139202,1,b|0);Fd(8936);Xd(8824,123289,188811,4,138827,866);b=EQa(4)|0;f[b>>2]=0;a=EQa(4)|0;f[a>>2]=0;Yd(8824,330349,20816,138841,61,b|0,20816,138830,73,a|0);a=EQa(4)|0;f[a>>2]=4;b=EQa(4)|0;f[b>>2]=4;Yd(8824,330355,20816,138841,61,a|0,20816,138830,73,b|0);Fd(8824);Xd(8944,123289,188811,5,138827,867);b=EQa(4)|0;f[b>>2]=0;a=EQa(4)|0;f[a>>2]=0;Yd(8944,330349,20848,140309,5,b|0,20848,139030,2,a|0);a=EQa(4)|0;f[a>>2]=4;b=EQa(4)|0;f[b>>2]=4;Yd(8944,330355,20848,140309,5,a|0,20848,139030,2,b|0);Fd(8944);Xd(8616,123289,188811,6,138827,868);b=EQa(4)|0;f[b>>2]=0;a=EQa(4)|0;f[a>>2]=0;Yd(8616,189244,20816,138841,62,b|0,20816,138830,74,a|0);a=EQa(4)|0;f[a>>2]=4;b=EQa(4)|0;f[b>>2]=4;Yd(8616,189246,20816,138841,62,a|0,20816,138830,74,b|0);Fd(8616);Xd(8256,123289,188811,7,138827,869);b=EQa(4)|0;f[b>>2]=0;a=EQa(4)|0;f[a>>2]=0;Yd(8256,189244,20848,140309,6,b|0,20848,139030,3,a|0);a=EQa(4)|0;f[a>>2]=4;b=EQa(4)|0;f[b>>2]=4;Yd(8256,189246,20848,140309,6,a|0,20848,139030,3,b|0);Fd(8256);Xd(8272,123295,188811,8,138827,870);b=EQa(4)|0;f[b>>2]=0;a=EQa(4)|0;f[a>>2]=0;Yd(8272,189244,20816,138841,63,b|0,20816,138830,75,a|0);a=EQa(4)|0;f[a>>2]=4;b=EQa(4)|0;f[b>>2]=4;Yd(8272,189246,20816,138841,63,a|0,20816,138830,75,b|0);b=EQa(4)|0;f[b>>2]=8;a=EQa(4)|0;f[a>>2]=8;Yd(8272,330349,20816,138841,63,b|0,20816,138830,75,a|0);a=EQa(4)|0;f[a>>2]=12;b=EQa(4)|0;f[b>>2]=12;Yd(8272,330355,20816,138841,63,a|0,20816,138830,75,b|0);Fd(8272);Xd(8952,123300,188811,9,138827,871);b=EQa(4)|0;f[b>>2]=0;a=EQa(4)|0;f[a>>2]=0;Yd(8952,189244,20848,140309,7,b|0,20848,139030,4,a|0);a=EQa(4)|0;f[a>>2]=4;b=EQa(4)|0;f[b>>2]=4;Yd(8952,189246,20848,140309,7,a|0,20848,139030,4,b|0);b=EQa(4)|0;f[b>>2]=8;a=EQa(4)|0;f[a>>2]=8;Yd(8952,330349,20848,140309,7,b|0,20848,139030,4,a|0);a=EQa(4)|0;f[a>>2]=12;b=EQa(4)|0;f[b>>2]=12;Yd(8952,330355,20848,140309,7,a|0,20848,139030,4,b|0);Fd(8952);Xd(8264,123307,188811,10,138827,872);b=EQa(4)|0;f[b>>2]=0;a=EQa(4)|0;f[a>>2]=0;Yd(8264,123319,8256,138841,64,b|0,8256,138830,76,a|0);a=EQa(4)|0;f[a>>2]=8;b=EQa(4)|0;f[b>>2]=8;Yd(8264,331370,8944,138841,65,a|0,8944,138830,77,b|0);b=EQa(4)|0;f[b>>2]=16;a=EQa(4)|0;f[a>>2]=16;Yd(8264,123326,20848,140309,8,b|0,20848,139030,5,a|0);Fd(8264);Pd(123332,2,22116,138841,66,253);Pd(123350,2,22124,138841,67,254);Pd(123374,2,22132,138841,68,255);Vd(8856,123400,188811,11,138827,873);Wd(8856,20856,140290,9,0,20856,139202,6,0);Wd(8856,20856,140290,9,1,20856,139202,6,1);Wd(8856,20856,140290,9,2,20856,139202,6,2);Wd(8856,20856,140290,9,3,20856,139202,6,3);Ed(8856);Xd(8960,123407,188811,12,138827,874);a=EQa(4)|0;f[a>>2]=0;b=EQa(4)|0;f[b>>2]=0;Yd(8960,123417,20856,140290,10,a|0,20856,139202,7,b|0);b=EQa(4)|0;f[b>>2]=8;a=EQa(4)|0;f[a>>2]=8;Yd(8960,123424,20856,140290,10,b|0,20856,139202,7,a|0);a=EQa(4)|0;f[a>>2]=16;b=EQa(4)|0;f[b>>2]=16;Yd(8960,123431,8616,138841,69,a|0,8616,138830,78,b|0);b=EQa(4)|0;f[b>>2]=24;a=EQa(4)|0;f[a>>2]=24;Yd(8960,123438,8616,138841,69,b|0,8616,138830,78,a|0);Fd(8960);Xd(8968,123445,188811,13,138827,875);a=EQa(4)|0;f[a>>2]=0;b=EQa(4)|0;f[b>>2]=0;Yd(8968,123319,8256,138841,70,a|0,8256,138830,79,b|0);b=EQa(4)|0;f[b>>2]=8;a=EQa(4)|0;f[a>>2]=8;Yd(8968,123452,20848,140309,11,b|0,20848,139030,8,a|0);Fd(8968);Xd(8976,123459,188811,14,138827,876);a=EQa(4)|0;f[a>>2]=0;b=EQa(4)|0;f[b>>2]=0;Yd(8976,123467,20856,140290,12,a|0,20856,139202,9,b|0);b=EQa(4)|0;f[b>>2]=8;a=EQa(4)|0;f[a>>2]=8;Yd(8976,123471,20856,140290,12,b|0,20856,139202,9,a|0);a=EQa(4)|0;f[a>>2]=16;b=EQa(4)|0;f[b>>2]=16;Yd(8976,123475,20856,140290,12,a|0,20856,139202,9,b|0);b=EQa(4)|0;f[b>>2]=24;a=EQa(4)|0;f[a>>2]=24;Yd(8976,123479,20856,140290,12,b|0,20856,139202,9,a|0);a=EQa(4)|0;f[a>>2]=32;b=EQa(4)|0;f[b>>2]=32;Yd(8976,123483,20856,140290,12,a|0,20856,139202,9,b|0);b=EQa(4)|0;f[b>>2]=40;a=EQa(4)|0;f[a>>2]=40;Yd(8976,123487,20856,140290,12,b|0,20856,139202,9,a|0);a=EQa(4)|0;f[a>>2]=48;b=EQa(4)|0;f[b>>2]=48;Yd(8976,123491,20856,140290,12,a|0,20856,139202,9,b|0);b=EQa(4)|0;f[b>>2]=56;a=EQa(4)|0;f[a>>2]=56;Yd(8976,123495,20856,140290,12,b|0,20856,139202,9,a|0);a=EQa(4)|0;f[a>>2]=64;b=EQa(4)|0;f[b>>2]=64;Yd(8976,123499,20856,140290,12,a|0,20856,139202,9,b|0);b=EQa(4)|0;f[b>>2]=72;a=EQa(4)|0;f[a>>2]=72;Yd(8976,123503,20856,140290,12,b|0,20856,139202,9,a|0);a=EQa(4)|0;f[a>>2]=80;b=EQa(4)|0;f[b>>2]=80;Yd(8976,123507,20856,140290,12,a|0,20856,139202,9,b|0);b=EQa(4)|0;f[b>>2]=88;a=EQa(4)|0;f[a>>2]=88;Yd(8976,123512,20856,140290,12,b|0,20856,139202,9,a|0);a=EQa(4)|0;f[a>>2]=96;b=EQa(4)|0;f[b>>2]=96;Yd(8976,123517,20856,140290,12,a|0,20856,139202,9,b|0);b=EQa(4)|0;f[b>>2]=104;a=EQa(4)|0;f[a>>2]=104;Yd(8976,123522,20856,140290,12,b|0,20856,139202,9,a|0);a=EQa(4)|0;f[a>>2]=112;b=EQa(4)|0;f[b>>2]=112;Yd(8976,123527,20856,140290,12,a|0,20856,139202,9,b|0);b=EQa(4)|0;f[b>>2]=120;a=EQa(4)|0;f[a>>2]=120;Yd(8976,123532,20856,140290,12,b|0,20856,139202,9,a|0);a=EQa(4)|0;f[a>>2]=128;b=EQa(4)|0;f[b>>2]=128;Yd(8976,123537,20856,140290,12,a|0,20856,139202,9,b|0);b=EQa(4)|0;f[b>>2]=136;a=EQa(4)|0;f[a>>2]=136;Yd(8976,123542,20856,140290,12,b|0,20856,139202,9,a|0);a=EQa(4)|0;f[a>>2]=144;b=EQa(4)|0;f[b>>2]=144;Yd(8976,123547,20856,140290,12,a|0,20856,139202,9,b|0);b=EQa(4)|0;f[b>>2]=152;a=EQa(4)|0;f[a>>2]=152;Yd(8976,123552,20856,140290,12,b|0,20856,139202,9,a|0);a=EQa(4)|0;f[a>>2]=160;b=EQa(4)|0;f[b>>2]=160;Yd(8976,123557,20856,140290,12,a|0,20856,139202,9,b|0);b=EQa(4)|0;f[b>>2]=168;a=EQa(4)|0;f[a>>2]=168;Yd(8976,123562,20856,140290,12,b|0,20856,139202,9,a|0);a=EQa(4)|0;f[a>>2]=176;b=EQa(4)|0;f[b>>2]=176;Yd(8976,123567,20856,140290,12,a|0,20856,139202,9,b|0);b=EQa(4)|0;f[b>>2]=184;a=EQa(4)|0;f[a>>2]=184;Yd(8976,123572,20856,140290,12,b|0,20856,139202,9,a|0);Fd(8976);Xd(9736,123577,188811,15,138827,877);a=EQa(4)|0;f[a>>2]=12;b=EQa(4)|0;f[b>>2]=12;Yd(9736,123587,20816,138841,71,a|0,20816,138830,80,b|0);b=EQa(4)|0;f[b>>2]=256;a=EQa(4)|0;f[a>>2]=257;Yd(9736,123592,8992,138841,72,b|0,8992,138830,81,a|0);Fd(9736);Pd(123596,2,22140,138841,73,258);Pd(208135,2,22148,138841,74,259);Pd(160215,3,22156,138864,57,82);Pd(160215,2,22168,138841,75,260);Pd(123613,1,22176,138822,101,878);Pd(123642,2,22180,138841,76,102);Pd(123655,4,22188,138869,35,63);Pd(336964,4,22188,138869,35,64);Pd(123664,1,22204,138822,103,879);Md(123684,20816,0);Md(123692,20816,8);Md(123700,20816,16);Md(123708,20816,24);Md(123716,20816,1);Md(123724,20816,9);Md(123732,20816,17);Md(123740,20816,25);Md(123748,20816,2);Md(123757,20816,10);Md(123766,20816,18);Md(123775,20816,26);Md(123784,20816,3);Md(123793,20816,11);Md(123802,20816,19);Md(123811,20816,27);Md(123820,20816,4);Md(123829,20816,12);Md(123838,20816,20);Md(123847,20816,28);Md(123856,20816,5);Md(123865,20816,13);Md(123874,20816,21);Md(123883,20816,29);Md(123892,20816,6);Md(123901,20816,14);Md(123910,20816,22);Md(123919,20816,30);Md(123928,20816,0);Md(123934,20816,1);Md(123940,20816,2);Md(123947,20816,3);Md(123954,20816,4);Md(123961,20816,5);Md(123968,20816,6);Md(123975,20816,-2147483648);Md(123983,20816,2147483647);return}function mj(a){a=a|0;Hd(8312,8336,8352,0,138822,104,138825,0,138825,0,a|0,138827,880);Jd(8312,1,20928,138822,105,16);a=EQa(8)|0;f[a>>2]=261;f[a+4>>2]=0;Kd(8312,159293,3,20932,138830,83,a|0,0);a=EQa(8)|0;f[a>>2]=84;f[a+4>>2]=0;Kd(8312,196664,4,20944,138835,65,a|0,0);a=EQa(8)|0;f[a>>2]=106;f[a+4>>2]=0;Kd(8312,331370,2,20960,138841,77,a|0,0);a=EQa(4)|0;f[a>>2]=85;Kd(8312,138622,3,20968,138864,58,a|0,0);a=EQa(4)|0;f[a>>2]=59;Kd(8312,138626,4,20980,138869,36,a|0,0);return}function nj(a){a=a|0;Hd(8400,8424,8440,0,138822,107,138825,0,138825,0,a|0,138827,881);Jd(8400,1,20996,138822,108,17);a=EQa(8)|0;f[a>>2]=262;f[a+4>>2]=0;Kd(8400,159293,3,21e3,139030,10,a|0,0);a=EQa(8)|0;f[a>>2]=86;f[a+4>>2]=0;Kd(8400,196664,4,21012,139035,4,a|0,0);a=EQa(8)|0;f[a>>2]=109;f[a+4>>2]=0;Kd(8400,331370,2,21028,138841,78,a|0,0);a=EQa(4)|0;f[a>>2]=87;Kd(8400,138622,3,21036,138864,60,a|0,0);a=EQa(4)|0;f[a>>2]=61;Kd(8400,138626,4,21048,139041,2,a|0,0);return}function oj(a){a=a|0;Hd(8480,8504,8520,0,138822,110,138825,0,138825,0,a|0,138827,882);Jd(8480,1,21064,138822,111,18);a=EQa(8)|0;f[a>>2]=263;f[a+4>>2]=0;Kd(8480,159293,3,21068,139202,11,a|0,0);a=EQa(8)|0;f[a>>2]=88;f[a+4>>2]=0;Kd(8480,196664,4,21080,139207,5,a|0,0);a=EQa(8)|0;f[a>>2]=112;f[a+4>>2]=0;Kd(8480,331370,2,21096,138841,79,a|0,0);a=EQa(4)|0;f[a>>2]=89;Kd(8480,138622,3,21104,138864,62,a|0,0);a=EQa(4)|0;f[a>>2]=63;Kd(8480,138626,4,21116,139213,3,a|0,0);return}function pj(a){a=a|0;Hd(8560,8584,8600,0,138822,113,138825,0,138825,0,a|0,138827,883);Jd(8560,1,21132,138822,114,19);a=EQa(8)|0;f[a>>2]=264;f[a+4>>2]=0;Kd(8560,159293,3,21136,138830,90,a|0,0);a=EQa(8)|0;f[a>>2]=91;f[a+4>>2]=0;Kd(8560,196664,4,21148,138835,66,a|0,0);a=EQa(8)|0;f[a>>2]=115;f[a+4>>2]=0;Kd(8560,331370,2,21164,138841,80,a|0,0);a=EQa(4)|0;f[a>>2]=92;Kd(8560,138622,3,21172,138864,64,a|0,0);a=EQa(4)|0;f[a>>2]=65;Kd(8560,138626,4,21184,138869,37,a|0,0);return}function qj(a){a=a|0;Hd(8648,8672,8688,0,138822,116,138825,0,138825,0,a|0,138827,884);Jd(8648,1,21200,138822,117,20);a=EQa(8)|0;f[a>>2]=265;f[a+4>>2]=0;Kd(8648,159293,3,21204,138830,93,a|0,0);a=EQa(8)|0;f[a>>2]=94;f[a+4>>2]=0;Kd(8648,196664,4,21216,138835,67,a|0,0);a=EQa(8)|0;f[a>>2]=118;f[a+4>>2]=0;Kd(8648,331370,2,21232,138841,81,a|0,0);a=EQa(4)|0;f[a>>2]=95;Kd(8648,138622,3,21240,138864,66,a|0,0);a=EQa(4)|0;f[a>>2]=67;Kd(8648,138626,4,21252,138869,38,a|0,0);return}function rj(a){a=a|0;Hd(8736,8760,8776,0,138822,119,138825,0,138825,0,a|0,138827,885);Jd(8736,1,21268,138822,120,21);a=EQa(8)|0;f[a>>2]=266;f[a+4>>2]=0;Kd(8736,159293,3,21272,138830,96,a|0,0);a=EQa(8)|0;f[a>>2]=97;f[a+4>>2]=0;Kd(8736,196664,4,21284,138835,68,a|0,0);a=EQa(8)|0;f[a>>2]=121;f[a+4>>2]=0;Kd(8736,331370,2,21300,138841,82,a|0,0);a=EQa(4)|0;f[a>>2]=98;Kd(8736,138622,3,21308,138864,68,a|0,0);a=EQa(4)|0;f[a>>2]=69;Kd(8736,138626,4,21320,138869,39,a|0,0);return}function sj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+240|0;e=d;g=d+224|0;f[g>>2]=f[b>>2];f[g+4>>2]=f[b+4>>2];ZG(e,g,c);f[a>>2]=1124007936;c=a+8|0;g=a+40|0;b=a+4|0;h=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(h|0));f[g>>2]=c;c=a+48|0;f[a+44>>2]=c;f[c>>2]=0;f[a+52>>2]=0;c=f[e>>2]|0;th[f[(f[c>>2]|0)+12>>2]&255](c,e,a,-1);Mi(e);u=d;return}function tj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+224|0;g=e;YG(g,b,c,d);f[a>>2]=1124007936;d=a+8|0;c=a+40|0;b=a+4|0;h=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(h|0));f[c>>2]=d;d=a+48|0;f[a+44>>2]=d;f[d>>2]=0;f[a+52>>2]=0;d=f[g>>2]|0;th[f[(f[d>>2]|0)+12>>2]&255](d,g,a,-1);Mi(g);u=e;return}function uj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;g=he()|0;f[a>>2]=g;h=c+4|0;if((f[h>>2]|0)<=0){u=d;return}i=c+40|0;c=0;j=g;while(1){g=(f[i>>2]|0)+(c<<2)|0;if((b[453200]|0)==0?jVa(453200)|0:0){k=de(2,20880)|0;f[113736]=k}k=f[113736]|0;f[e>>2]=f[g>>2];be(k|0,j|0,122902,e|0);k=c+1|0;if((k|0)>=(f[h>>2]|0))break;c=k;j=f[a>>2]|0}u=d;return}function vj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;g=he()|0;f[a>>2]=g;h=c+4|0;if((f[h>>2]|0)<=0){u=d;return}i=c+44|0;c=0;j=g;while(1){g=(f[i>>2]|0)+(c<<2)|0;if((b[453208]|0)==0?jVa(453208)|0:0){k=de(2,20888)|0;f[113737]=k}k=f[113737]|0;f[e>>2]=f[g>>2];be(k|0,j|0,122902,e|0);k=c+1|0;if((k|0)>=(f[h>>2]|0))break;c=k;j=f[a>>2]|0}u=d;return}function wj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+16|0;d=c;e=f[b+4>>2]|0;if((e|0)<3)g=X(f[b+12>>2]|0,f[b+8>>2]|0)|0;else{h=f[b+40>>2]|0;i=0;j=1;while(1){k=X(f[h+(i<<2)>>2]|0,j)|0;i=i+1|0;if((i|0)==(e|0)){g=k;break}else j=k}}if((e|0)>0)l=f[(f[b+44>>2]|0)+(e+-1<<2)>>2]|0;else l=0;e=X(l,g)|0;g=f[b+16>>2]|0;f[d>>2]=e;f[d+4>>2]=g;g=le(8872,d|0)|0;f[a>>2]=g;u=c;return}function xj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+16|0;d=c;e=f[b+4>>2]|0;if((e|0)<3)g=X(f[b+12>>2]|0,f[b+8>>2]|0)|0;else{h=f[b+40>>2]|0;i=0;j=1;while(1){k=X(f[h+(i<<2)>>2]|0,j)|0;i=i+1|0;if((i|0)==(e|0)){g=k;break}else j=k}}if((e|0)>0)l=f[(f[b+44>>2]|0)+(e+-1<<2)>>2]|0;else l=0;e=X(l,g)|0;g=f[b+16>>2]|0;f[d>>2]=e;f[d+4>>2]=g;g=le(8880,d|0)|0;f[a>>2]=g;u=c;return}function yj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+16|0;d=c;e=f[b+4>>2]|0;if((e|0)<3)g=X(f[b+12>>2]|0,f[b+8>>2]|0)|0;else{h=f[b+40>>2]|0;i=0;j=1;while(1){k=X(f[h+(i<<2)>>2]|0,j)|0;i=i+1|0;if((i|0)==(e|0)){g=k;break}else j=k}}if((e|0)>0)l=f[(f[b+44>>2]|0)+(e+-1<<2)>>2]|0;else l=0;e=(X(l,g)|0)>>>1;g=f[b+16>>2]|0;f[d>>2]=e;f[d+4>>2]=g;g=le(8888,d|0)|0;f[a>>2]=g;u=c;return}function zj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+16|0;d=c;e=f[b+4>>2]|0;if((e|0)<3)g=X(f[b+12>>2]|0,f[b+8>>2]|0)|0;else{h=f[b+40>>2]|0;i=0;j=1;while(1){k=X(f[h+(i<<2)>>2]|0,j)|0;i=i+1|0;if((i|0)==(e|0)){g=k;break}else j=k}}if((e|0)>0)l=f[(f[b+44>>2]|0)+(e+-1<<2)>>2]|0;else l=0;e=(X(l,g)|0)>>>1;g=f[b+16>>2]|0;f[d>>2]=e;f[d+4>>2]=g;g=le(8896,d|0)|0;f[a>>2]=g;u=c;return}function Aj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+16|0;d=c;e=f[b+4>>2]|0;if((e|0)<3)g=X(f[b+12>>2]|0,f[b+8>>2]|0)|0;else{h=f[b+40>>2]|0;i=0;j=1;while(1){k=X(f[h+(i<<2)>>2]|0,j)|0;i=i+1|0;if((i|0)==(e|0)){g=k;break}else j=k}}if((e|0)>0)l=f[(f[b+44>>2]|0)+(e+-1<<2)>>2]|0;else l=0;e=(X(l,g)|0)>>>2;g=f[b+16>>2]|0;f[d>>2]=e;f[d+4>>2]=g;g=le(8904,d|0)|0;f[a>>2]=g;u=c;return}function Bj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+16|0;d=c;e=f[b+4>>2]|0;if((e|0)<3)g=X(f[b+12>>2]|0,f[b+8>>2]|0)|0;else{h=f[b+40>>2]|0;i=0;j=1;while(1){k=X(f[h+(i<<2)>>2]|0,j)|0;i=i+1|0;if((i|0)==(e|0)){g=k;break}else j=k}}if((e|0)>0)l=f[(f[b+44>>2]|0)+(e+-1<<2)>>2]|0;else l=0;e=(X(l,g)|0)>>>2;g=f[b+16>>2]|0;f[d>>2]=e;f[d+4>>2]=g;g=le(8912,d|0)|0;f[a>>2]=g;u=c;return}function Cj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+16|0;d=c;e=f[b+4>>2]|0;if((e|0)<3)g=X(f[b+12>>2]|0,f[b+8>>2]|0)|0;else{h=f[b+40>>2]|0;i=0;j=1;while(1){k=X(f[h+(i<<2)>>2]|0,j)|0;i=i+1|0;if((i|0)==(e|0)){g=k;break}else j=k}}if((e|0)>0)l=f[(f[b+44>>2]|0)+(e+-1<<2)>>2]|0;else l=0;e=(X(l,g)|0)>>>3;g=f[b+16>>2]|0;f[d>>2]=e;f[d+4>>2]=g;g=le(8920,d|0)|0;f[a>>2]=g;u=c;return}function Dj(a){a=a|0;var b=0,c=0;b=f[a+4>>2]|0;if((b|0)<=0){c=0;return c|0}c=f[(f[a+44>>2]|0)+(b+-1<<2)>>2]|0;return c|0}function Ej(a){a=a|0;return 1212424721>>>(f[a>>2]<<2&28)&15|0}function Fj(a){a=a|0;return ((f[a>>2]|0)>>>3&511)+1|0}function Gj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;b=f[a+4>>2]|0;if((b|0)<3){c=X(f[a+12>>2]|0,f[a+8>>2]|0)|0;return c|0}d=f[a+40>>2]|0;a=0;e=1;while(1){g=X(f[d+(a<<2)>>2]|0,e)|0;a=a+1|0;if((a|0)>=(b|0)){c=g;break}else e=g}return c|0}function Hj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;e=d+8|0;g=d;f[e>>2]=c;f[e+4>>2]=c+1;f[g>>2]=-2147483648;f[g+4>>2]=2147483647;YO(a,b,e,g);u=d;return}function Ij(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+16|0;g=e;h=d&4095;if(((((f[a+4>>2]|0)<3?(f[a+8>>2]|0)==(b|0):0)?(f[a+12>>2]|0)==(c|0):0)?(f[a>>2]&4095|0)==(h|0):0)?f[a+16>>2]|0:0){u=e;return}f[g>>2]=b;f[g+4>>2]=c;VO(a,2,g,h);u=e;return}function Jj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+16|0;e=d;g=f[b+4>>2]|0;h=f[b>>2]|0;b=c&4095;if(((((f[a+4>>2]|0)<3?(f[a+8>>2]|0)==(g|0):0)?(f[a+12>>2]|0)==(h|0):0)?(f[a>>2]&4095|0)==(b|0):0)?f[a+16>>2]|0:0){u=d;return}f[e>>2]=g;f[e+4>>2]=h;VO(a,2,e,b);u=d;return}function Kj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+16|0;g=e+8|0;h=e;f[g>>2]=c;f[g+4>>2]=d;f[h>>2]=-2147483648;f[h+4>>2]=2147483647;YO(a,b,g,h);u=e;return}function Lj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[e>>2]=-2147483648;f[e+4>>2]=2147483647;YO(a,b,c,e);u=d;return}function Mj(a){a=a|0;return f[a>>2]&4095|0}function Nj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;if(!(f[a+16>>2]|0))return 1;b=f[a+4>>2]|0;if((b|0)<3){c=X(f[a+12>>2]|0,f[a+8>>2]|0)|0;d=(c|0)==0;e=(b|0)==0;g=d|e;return g|0}h=f[a+40>>2]|0;a=0;i=1;while(1){j=X(f[h+(a<<2)>>2]|0,i)|0;a=a+1|0;if((a|0)==(b|0)){c=j;break}else i=j}d=(c|0)==0;e=(b|0)==0;g=d|e;return g|0}function Oj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+16|0;g=e+8|0;h=e;f[g>>2]=-2147483648;f[g+4>>2]=2147483647;f[h>>2]=c;f[h+4>>2]=d;YO(a,b,g,h);u=e;return}function Pj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[e>>2]=-2147483648;f[e+4>>2]=2147483647;YO(a,b,e,c);u=d;return}function Qj(a,b){a=a|0;b=b|0;return ((f[(f[a+44>>2]|0)+(b<<2)>>2]|0)>>>0)/((1212424721>>>(f[a>>2]<<2&28)&15)>>>0)|0|0}function Rj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=u;u=u+16|0;d=c;f[a>>2]=1124007936;e=a+8|0;g=a+40|0;h=a+4|0;i=h+36|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));f[g>>2]=e;e=a+48|0;f[a+44>>2]=e;f[e>>2]=0;f[a+52>>2]=0;e=d+8|0;f[e>>2]=0;f[e+4>>2]=0;f[d>>2]=33619968;f[d+4>>2]=a;eM(b,d);u=c;return}function Sj(a){a=a|0;return f[a>>2]&7|0}function Tj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;e=d+8|0;g=d;f[e>>2]=-2147483648;f[e+4>>2]=2147483647;f[g>>2]=c;f[g+4>>2]=c+1;YO(a,b,e,g);u=d;return}function Uj(a,b,c){a=a|0;b=b|0;c=c|0;$O(a,b,c);return}function Vj(a){a=a|0;return (f[a>>2]&16384|0)!=0|0}function Wj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+16|0;e=d;g=f[f[b+44>>2]>>2]|0;h=(f[b+16>>2]|0)+(X(g,c)|0)|0;f[e>>2]=(g>>>0)/((1212424721>>>(f[b>>2]<<2&28)&15)>>>0)|0;f[e+4>>2]=h;h=le(8872,e|0)|0;f[a>>2]=h;u=d;return}function Xj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+16|0;g=e;h=f[b+44>>2]|0;i=f[h+4>>2]|0;j=(f[b+16>>2]|0)+(X(f[h>>2]|0,c)|0)+(X(i,d)|0)|0;f[g>>2]=(i>>>0)/((1212424721>>>(f[b>>2]<<2&28)&15)>>>0)|0;f[g+4>>2]=j;j=le(8872,g|0)|0;f[a>>2]=j;u=e;return}function Yj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+16|0;e=d;g=f[f[b+44>>2]>>2]|0;h=(f[b+16>>2]|0)+(X(g,c)|0)|0;f[e>>2]=(g>>>0)/((1212424721>>>(f[b>>2]<<2&28)&15)>>>0)|0;f[e+4>>2]=h;h=le(8880,e|0)|0;f[a>>2]=h;u=d;return}function Zj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+16|0;g=e;h=f[b+44>>2]|0;i=f[h+4>>2]|0;j=(f[b+16>>2]|0)+(X(f[h>>2]|0,c)|0)+(X(i,d)|0)|0;f[g>>2]=(i>>>0)/((1212424721>>>(f[b>>2]<<2&28)&15)>>>0)|0;f[g+4>>2]=j;j=le(8880,g|0)|0;f[a>>2]=j;u=e;return}function _j(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+16|0;e=d;g=f[f[b+44>>2]>>2]|0;h=(f[b+16>>2]|0)+(X(g,c)|0)|0;f[e>>2]=(g>>>0)/((1212424721>>>(f[b>>2]<<2&28)&15)>>>0)|0;f[e+4>>2]=h;h=le(8896,e|0)|0;f[a>>2]=h;u=d;return}function $j(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+16|0;g=e;h=f[b+44>>2]|0;i=f[h+4>>2]|0;j=(f[b+16>>2]|0)+(X(f[h>>2]|0,c)|0)+(X(i,d)|0)|0;f[g>>2]=(i>>>0)/((1212424721>>>(f[b>>2]<<2&28)&15)>>>0)|0;f[g+4>>2]=j;j=le(8896,g|0)|0;f[a>>2]=j;u=e;return}function ak(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+16|0;e=d;g=f[f[b+44>>2]>>2]|0;h=(f[b+16>>2]|0)+(X(g,c)|0)|0;f[e>>2]=(g>>>0)/((1212424721>>>(f[b>>2]<<2&28)&15)>>>0)|0;f[e+4>>2]=h;h=le(8888,e|0)|0;f[a>>2]=h;u=d;return}function bk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+16|0;g=e;h=f[b+44>>2]|0;i=f[h+4>>2]|0;j=(f[b+16>>2]|0)+(X(f[h>>2]|0,c)|0)+(X(i,d)|0)|0;f[g>>2]=(i>>>0)/((1212424721>>>(f[b>>2]<<2&28)&15)>>>0)|0;f[g+4>>2]=j;j=le(8888,g|0)|0;f[a>>2]=j;u=e;return}function ck(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+16|0;e=d;g=f[f[b+44>>2]>>2]|0;h=(f[b+16>>2]|0)+(X(g,c)|0)|0;f[e>>2]=(g>>>0)/((1212424721>>>(f[b>>2]<<2&28)&15)>>>0)|0;f[e+4>>2]=h;h=le(8904,e|0)|0;f[a>>2]=h;u=d;return}function dk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+16|0;g=e;h=f[b+44>>2]|0;i=f[h+4>>2]|0;j=(f[b+16>>2]|0)+(X(f[h>>2]|0,c)|0)+(X(i,d)|0)|0;f[g>>2]=(i>>>0)/((1212424721>>>(f[b>>2]<<2&28)&15)>>>0)|0;f[g+4>>2]=j;j=le(8904,g|0)|0;f[a>>2]=j;u=e;return}function ek(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+16|0;e=d;g=f[f[b+44>>2]>>2]|0;h=(f[b+16>>2]|0)+(X(g,c)|0)|0;f[e>>2]=(g>>>0)/((1212424721>>>(f[b>>2]<<2&28)&15)>>>0)|0;f[e+4>>2]=h;h=le(8912,e|0)|0;f[a>>2]=h;u=d;return}function fk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+16|0;g=e;h=f[b+44>>2]|0;i=f[h+4>>2]|0;j=(f[b+16>>2]|0)+(X(f[h>>2]|0,c)|0)+(X(i,d)|0)|0;f[g>>2]=(i>>>0)/((1212424721>>>(f[b>>2]<<2&28)&15)>>>0)|0;f[g+4>>2]=j;j=le(8912,g|0)|0;f[a>>2]=j;u=e;return}function gk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+16|0;e=d;g=f[f[b+44>>2]>>2]|0;h=(f[b+16>>2]|0)+(X(g,c)|0)|0;f[e>>2]=(g>>>0)/((1212424721>>>(f[b>>2]<<2&28)&15)>>>0)|0;f[e+4>>2]=h;h=le(8920,e|0)|0;f[a>>2]=h;u=d;return}function hk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+16|0;g=e;h=f[b+44>>2]|0;i=f[h+4>>2]|0;j=(f[b+16>>2]|0)+(X(f[h>>2]|0,c)|0)+(X(i,d)|0)|0;f[g>>2]=(i>>>0)/((1212424721>>>(f[b>>2]<<2&28)&15)>>>0)|0;f[g+4>>2]=j;j=le(8920,g|0)|0;f[a>>2]=j;u=e;return}function ik(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;if((f[a>>2]&16384|0)==0?(c=f[a+40>>2]|0,(f[c>>2]|0)!=1):0)if((f[c+4>>2]|0)==1){d=(f[a+16>>2]|0)+(X(f[f[a+44>>2]>>2]|0,b)|0)|0;return d|0}else{c=f[a+12>>2]|0;e=(b|0)/(c|0)|0;g=b-(X(e,c)|0)|0;d=(f[a+16>>2]|0)+(X(f[f[a+44>>2]>>2]|0,e)|0)+g|0;return d|0}d=(f[a+16>>2]|0)+b|0;return d|0}function jk(a,b,c){a=a|0;b=b|0;c=c|0;return (f[a+16>>2]|0)+(X(f[f[a+44>>2]>>2]|0,b)|0)+c|0}function kk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=f[a+44>>2]|0;g=(f[a+16>>2]|0)+(X(f[e>>2]|0,b)|0)|0;b=g+(X(f[e+4>>2]|0,c)|0)|0;return b+(X(f[e+8>>2]|0,d)|0)|0}function lk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;if((f[a>>2]&16384|0)==0?(c=f[a+40>>2]|0,(f[c>>2]|0)!=1):0)if((f[c+4>>2]|0)==1){d=(f[a+16>>2]|0)+(X(f[f[a+44>>2]>>2]|0,b)|0)|0;return d|0}else{c=f[a+12>>2]|0;e=(b|0)/(c|0)|0;g=b-(X(e,c)|0)|0;d=(f[a+16>>2]|0)+(X(f[f[a+44>>2]>>2]|0,e)|0)+g|0;return d|0}d=(f[a+16>>2]|0)+b|0;return d|0}function mk(a,b,c){a=a|0;b=b|0;c=c|0;return (f[a+16>>2]|0)+(X(f[f[a+44>>2]>>2]|0,b)|0)+c|0}function nk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=f[a+44>>2]|0;g=(f[a+16>>2]|0)+(X(f[e>>2]|0,b)|0)|0;b=g+(X(f[e+4>>2]|0,c)|0)|0;return b+(X(f[e+8>>2]|0,d)|0)|0}function ok(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;if((f[a>>2]&16384|0)==0?(c=f[a+40>>2]|0,(f[c>>2]|0)!=1):0)if((f[c+4>>2]|0)==1){d=(f[a+16>>2]|0)+(X(f[f[a+44>>2]>>2]|0,b)|0)|0;return d|0}else{c=f[a+12>>2]|0;e=(b|0)/(c|0)|0;g=b-(X(e,c)|0)|0;d=(f[a+16>>2]|0)+(X(f[f[a+44>>2]>>2]|0,e)|0)+(g<<1)|0;return d|0}d=(f[a+16>>2]|0)+(b<<1)|0;return d|0}function pk(a,b,c){a=a|0;b=b|0;c=c|0;return (f[a+16>>2]|0)+(X(f[f[a+44>>2]>>2]|0,b)|0)+(c<<1)|0}function qk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=f[a+44>>2]|0;g=(f[a+16>>2]|0)+(X(f[e>>2]|0,b)|0)|0;b=g+(X(f[e+4>>2]|0,c)|0)|0;return b+(X(f[e+8>>2]|0,d)|0)|0}function rk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;if((f[a>>2]&16384|0)==0?(c=f[a+40>>2]|0,(f[c>>2]|0)!=1):0)if((f[c+4>>2]|0)==1){d=(f[a+16>>2]|0)+(X(f[f[a+44>>2]>>2]|0,b)|0)|0;return d|0}else{c=f[a+12>>2]|0;e=(b|0)/(c|0)|0;g=b-(X(e,c)|0)|0;d=(f[a+16>>2]|0)+(X(f[f[a+44>>2]>>2]|0,e)|0)+(g<<1)|0;return d|0}d=(f[a+16>>2]|0)+(b<<1)|0;return d|0}function sk(a,b,c){a=a|0;b=b|0;c=c|0;return (f[a+16>>2]|0)+(X(f[f[a+44>>2]>>2]|0,b)|0)+(c<<1)|0}function tk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=f[a+44>>2]|0;g=(f[a+16>>2]|0)+(X(f[e>>2]|0,b)|0)|0;b=g+(X(f[e+4>>2]|0,c)|0)|0;return b+(X(f[e+8>>2]|0,d)|0)|0}function uk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;if((f[a>>2]&16384|0)==0?(c=f[a+40>>2]|0,(f[c>>2]|0)!=1):0)if((f[c+4>>2]|0)==1){d=(f[a+16>>2]|0)+(X(f[f[a+44>>2]>>2]|0,b)|0)|0;return d|0}else{c=f[a+12>>2]|0;e=(b|0)/(c|0)|0;g=b-(X(e,c)|0)|0;d=(f[a+16>>2]|0)+(X(f[f[a+44>>2]>>2]|0,e)|0)+(g<<2)|0;return d|0}d=(f[a+16>>2]|0)+(b<<2)|0;return d|0}function vk(a,b,c){a=a|0;b=b|0;c=c|0;return (f[a+16>>2]|0)+(X(f[f[a+44>>2]>>2]|0,b)|0)+(c<<2)|0}function wk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=f[a+44>>2]|0;g=(f[a+16>>2]|0)+(X(f[e>>2]|0,b)|0)|0;b=g+(X(f[e+4>>2]|0,c)|0)|0;return b+(X(f[e+8>>2]|0,d)|0)|0}function xk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;if((f[a>>2]&16384|0)==0?(c=f[a+40>>2]|0,(f[c>>2]|0)!=1):0)if((f[c+4>>2]|0)==1){d=(f[a+16>>2]|0)+(X(f[f[a+44>>2]>>2]|0,b)|0)|0;return d|0}else{c=f[a+12>>2]|0;e=(b|0)/(c|0)|0;g=b-(X(e,c)|0)|0;d=(f[a+16>>2]|0)+(X(f[f[a+44>>2]>>2]|0,e)|0)+(g<<2)|0;return d|0}d=(f[a+16>>2]|0)+(b<<2)|0;return d|0}function yk(a,b,c){a=a|0;b=b|0;c=c|0;return (f[a+16>>2]|0)+(X(f[f[a+44>>2]>>2]|0,b)|0)+(c<<2)|0}function zk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=f[a+44>>2]|0;g=(f[a+16>>2]|0)+(X(f[e>>2]|0,b)|0)|0;b=g+(X(f[e+4>>2]|0,c)|0)|0;return b+(X(f[e+8>>2]|0,d)|0)|0}function Ak(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=f[a+44>>2]|0;g=(f[a+16>>2]|0)+(X(f[e>>2]|0,b)|0)|0;b=g+(X(f[e+4>>2]|0,c)|0)|0;return b+(X(f[e+8>>2]|0,d)|0)|0}function Bk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;if((f[a>>2]&16384|0)==0?(c=f[a+40>>2]|0,(f[c>>2]|0)!=1):0)if((f[c+4>>2]|0)==1){d=(f[a+16>>2]|0)+(X(f[f[a+44>>2]>>2]|0,b)|0)|0;return d|0}else{c=f[a+12>>2]|0;e=(b|0)/(c|0)|0;g=b-(X(e,c)|0)|0;d=(f[a+16>>2]|0)+(X(f[f[a+44>>2]>>2]|0,e)|0)+(g<<3)|0;return d|0}d=(f[a+16>>2]|0)+(b<<3)|0;return d|0}function Ck(a,b,c){a=a|0;b=b|0;c=c|0;return (f[a+16>>2]|0)+(X(f[f[a+44>>2]>>2]|0,b)|0)+(c<<3)|0}function Dk(a){a=a|0;p[a>>3]=1797693134862315708145274.0e284;p[a+8>>3]=1797693134862315708145274.0e284;p[a+16>>3]=1797693134862315708145274.0e284;p[a+24>>3]=1797693134862315708145274.0e284;return}function Ek(a,b,c,d,e,g){a=a|0;b=b|0;c=+c;d=+d;e=e|0;g=g|0;var h=0,i=0,j=0;h=u;u=u+32|0;i=h+16|0;j=h;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=a;a=j+8|0;f[a>>2]=0;f[a+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=b;Qha(i,j,c,d,e,g);u=h;return}function Fk(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=e|0;var g=0,h=0,i=0;g=u;u=u+32|0;h=g+16|0;i=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;a=i+8|0;f[a>>2]=0;f[a+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=b;Qha(h,i,c,d,e,0);u=g;return}function Gk(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;var e=0,g=0,h=0;e=u;u=u+32|0;g=e+16|0;h=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;a=h+8|0;f[a>>2]=0;f[a+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=b;Qha(g,h,c,d,3,0);u=e;return}function Hk(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=+d;e=+e;g=g|0;var h=0,i=0,j=0,k=0;h=u;u=u+48|0;i=h+32|0;j=h+16|0;k=h;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=a;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=b;b=k+8|0;f[b>>2]=0;f[b+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=c;gia(i,j,k,d,e,g);u=h;return}function Ik(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;var g=0,h=0,i=0,j=0;g=u;u=u+48|0;h=g+32|0;i=g+16|0;j=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=b;b=j+8|0;f[b>>2]=0;f[b+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=c;gia(h,i,j,d,e,0);u=g;return}function Jk(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=+d;e=+e;g=g|0;var h=0,i=0,j=0,k=0;h=u;u=u+48|0;i=h+24|0;j=h+8|0;k=h;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=a;a=j+8|0;f[a>>2]=0;f[a+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=b;f[k>>2]=f[c>>2];f[k+4>>2]=f[c+4>>2];n1(i,j,k,d,e,g);u=h;return}function Kk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;var g=0,h=0,i=0,j=0;g=u;u=u+48|0;h=g+24|0;i=g+8|0;j=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;a=i+8|0;f[a>>2]=0;f[a+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=b;f[j>>2]=f[c>>2];f[j+4>>2]=f[c+4>>2];n1(h,i,j,d,e,4);u=g;return}function Lk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0,h=0,i=0;e=u;u=u+48|0;g=e+24|0;h=e+8|0;i=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;a=h+8|0;f[a>>2]=0;f[a+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=b;f[i>>2]=f[c>>2];f[i+4>>2]=f[c+4>>2];n1(g,h,i,d,0.0,4);u=e;return}function Mk(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=+d;e=+e;g=+g;h=+h;i=i|0;j=j|0;var k=0,l=0,m=0;k=u;u=u+32|0;l=k+16|0;m=k;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=a;a=m+8|0;f[a>>2]=0;f[a+4>>2]=0;f[m>>2]=33619968;f[m+4>>2]=b;Voa(l,m,c,d,e,g,h,i,j);u=k;return}function Nk(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=+e;g=+g;h=+h;i=i|0;var j=0,k=0,l=0;j=u;u=u+32|0;k=j+16|0;l=j;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=a;a=l+8|0;f[a>>2]=0;f[a+4>>2]=0;f[l>>2]=33619968;f[l+4>>2]=b;Voa(k,l,c,d,e,g,h,i,0);u=j;return}function Ok(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=+d;e=+e;g=+g;h=+h;var i=0,j=0,k=0;i=u;u=u+32|0;j=i+16|0;k=i;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=a;a=k+8|0;f[a>>2]=0;f[a+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=b;Voa(j,k,c,d,e,g,h,0,0);u=i;return}function Pk(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=+d;e=+e;g=+g;var h=0,i=0,j=0;h=u;u=u+32|0;i=h+16|0;j=h;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=a;a=j+8|0;f[a>>2]=0;f[a+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=b;Voa(i,j,c,d,e,g,100.0,0,0);u=h;return}function Qk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;var g=0,h=0,i=0;g=u;u=u+32|0;h=g+16|0;i=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;a=i+8|0;f[a>>2]=0;f[a+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=b;Voa(h,i,c,d,e,100.0,100.0,0,0);u=g;return}function Rk(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=+c;d=+d;e=e|0;g=+g;h=+h;i=+i;j=+j;var k=0,l=0,m=0;k=u;u=u+32|0;l=k+16|0;m=k;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=a;a=m+8|0;f[a>>2]=0;f[a+4>>2]=0;f[m>>2]=33619968;f[m+4>>2]=b;Joa(l,m,c,d,e,g,h,i,j);u=k;return}function Sk(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=+c;d=+d;e=e|0;g=+g;h=+h;i=+i;var j=0,k=0,l=0;j=u;u=u+32|0;k=j+16|0;l=j;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=a;a=l+8|0;f[a>>2]=0;f[a+4>>2]=0;f[l>>2]=33619968;f[l+4>>2]=b;Joa(k,l,c,d,e,g,h,i,3.141592653589793);u=j;return}function Tk(a,b,c,d,e,g,h){a=a|0;b=b|0;c=+c;d=+d;e=e|0;g=+g;h=+h;var i=0,j=0,k=0;i=u;u=u+32|0;j=i+16|0;k=i;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=a;a=k+8|0;f[a>>2]=0;f[a+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=b;Joa(j,k,c,d,e,g,h,0.0,3.141592653589793);u=i;return}function Uk(a,b,c,d,e,g){a=a|0;b=b|0;c=+c;d=+d;e=e|0;g=+g;var h=0,i=0,j=0;h=u;u=u+32|0;i=h+16|0;j=h;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=a;a=j+8|0;f[a>>2]=0;f[a+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=b;Joa(i,j,c,d,e,g,0.0,0.0,3.141592653589793);u=h;return}function Vk(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=e|0;var g=0,h=0,i=0;g=u;u=u+32|0;h=g+16|0;i=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;a=i+8|0;f[a>>2]=0;f[a+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=b;Joa(h,i,c,d,e,0.0,0.0,0.0,3.141592653589793);u=g;return}function Wk(a,b,c,d,e,g,h){a=a|0;b=b|0;c=+c;d=+d;e=e|0;g=+g;h=+h;var i=0,j=0,k=0;i=u;u=u+32|0;j=i+16|0;k=i;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=a;a=k+8|0;f[a>>2]=0;f[a+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=b;Toa(j,k,c,d,e,g,h);u=i;return}function Xk(a,b,c,d,e,g){a=a|0;b=b|0;c=+c;d=+d;e=e|0;g=+g;var h=0,i=0,j=0;h=u;u=u+32|0;i=h+16|0;j=h;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=a;a=j+8|0;f[a>>2]=0;f[a+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=b;Toa(i,j,c,d,e,g,0.0);u=h;return}function Yk(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=e|0;var g=0,h=0,i=0;g=u;u=u+32|0;h=g+16|0;i=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;a=i+8|0;f[a>>2]=0;f[a+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=b;Toa(h,i,c,d,e,0.0,0.0);u=g;return}function Zk(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;g=+g;h=h|0;var i=0,j=0,k=0;i=u;u=u+32|0;j=i+16|0;k=i;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=a;a=k+8|0;f[a>>2]=0;f[a+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=b;$5(j,k,c,d,e,g,h);u=i;return}function _k(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;g=+g;var h=0,i=0,j=0;h=u;u=u+32|0;i=h+16|0;j=h;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=a;a=j+8|0;f[a>>2]=0;f[a+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=b;$5(i,j,c,d,e,g,4);u=h;return}function $k(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var g=0,h=0,i=0;g=u;u=u+32|0;h=g+16|0;i=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;a=i+8|0;f[a>>2]=0;f[a+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=b;$5(h,i,c,d,e,0.0,4);u=g;return}function al(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+32|0;g=e+16|0;h=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;a=h+8|0;f[a>>2]=0;f[a+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=b;$5(g,h,c,d,1.0,0.0,4);u=e;return}function bl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+32|0;e=d+16|0;g=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;a=g+8|0;f[a>>2]=0;f[a+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=b;$5(e,g,c,1,1.0,0.0,4);u=d;return}function cl(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=+g;h=+h;i=i|0;var j=0,k=0,l=0;j=u;u=u+32|0;k=j+16|0;l=j;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=a;a=l+8|0;f[a>>2]=0;f[a+4>>2]=0;f[l>>2]=33619968;f[l+4>>2]=b;_5(k,l,c,d,e,g,h,i);u=j;return}function dl(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=+g;h=+h;var i=0,j=0,k=0;i=u;u=u+32|0;j=i+16|0;k=i;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=a;a=k+8|0;f[a>>2]=0;f[a+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=b;_5(j,k,c,d,e,g,h,4);u=i;return}function el(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=+g;var h=0,i=0,j=0;h=u;u=u+32|0;i=h+16|0;j=h;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=a;a=j+8|0;f[a>>2]=0;f[a+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=b;_5(i,j,c,d,e,g,0.0,4);u=h;return}function fl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=u;u=u+32|0;h=g+16|0;i=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;a=i+8|0;f[a>>2]=0;f[a+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=b;_5(h,i,c,d,e,1.0,0.0,4);u=g;return}function gl(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=+h;i=+i;j=j|0;var k=0,l=0,m=0;k=u;u=u+32|0;l=k+16|0;m=k;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=a;a=m+8|0;f[a>>2]=0;f[a+4>>2]=0;f[m>>2]=33619968;f[m+4>>2]=b;Z5(l,m,c,d,e,g,h,i,j);u=k;return}function hl(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=+h;i=+i;var j=0,k=0,l=0;j=u;u=u+32|0;k=j+16|0;l=j;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=a;a=l+8|0;f[a>>2]=0;f[a+4>>2]=0;f[l>>2]=33619968;f[l+4>>2]=b;Z5(k,l,c,d,e,g,h,i,4);u=j;return}function il(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=+h;var i=0,j=0,k=0;i=u;u=u+32|0;j=i+16|0;k=i;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=a;a=k+8|0;f[a>>2]=0;f[a+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=b;Z5(j,k,c,d,e,g,h,0.0,4);u=i;return}function jl(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;h=u;u=u+32|0;i=h+16|0;j=h;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=a;a=j+8|0;f[a>>2]=0;f[a+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=b;Z5(i,j,c,d,e,g,1.0,0.0,4);u=h;return}function kl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=u;u=u+32|0;h=g+16|0;i=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;a=i+8|0;f[a>>2]=0;f[a+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=b;Z5(h,i,c,d,e,3,1.0,0.0,4);u=g;return}function ll(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+48|0;e=d+32|0;g=d+16|0;h=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=b;b=h+8|0;f[b>>2]=0;f[b+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=c;pI(e,g,h);u=d;return}function ml(a,b,c,d,e,g,h){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;g=g|0;h=+h;var i=0,j=0,k=0;i=u;u=u+32|0;j=i+16|0;k=i;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=a;a=k+8|0;f[a>>2]=0;f[a+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=b;Y_(j,k,c,d,e,g,h);u=i;return}function nl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=u;u=u+64|0;h=g+48|0;i=g+32|0;j=g+16|0;k=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=b;b=j+8|0;f[b>>2]=0;f[b+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=c;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=d;MH(h,i,j,k,e);u=g;return}function ol(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+64|0;g=e+48|0;h=e+32|0;i=e+16|0;j=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=b;b=i+8|0;f[b>>2]=0;f[b+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=c;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=d;MH(g,h,i,j,-1);u=e;return}function pl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+48|0;e=d+32|0;g=d+16|0;h=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=b;b=h+8|0;f[b>>2]=0;f[b+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=c;MH(e,g,h,BK()|0,-1);u=d;return}function ql(a,b,c,d,e,g,h){a=a|0;b=+b;c=c|0;d=+d;e=+e;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;i=u;u=u+48|0;j=i+32|0;k=i+16|0;l=i;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=a;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=c;c=l+8|0;f[c>>2]=0;f[c+4>>2]=0;f[l>>2]=33619968;f[l+4>>2]=g;aJ(j,b,k,d,e,l,h);u=i;return}function rl(a,b,c,d,e,g){a=a|0;b=+b;c=c|0;d=+d;e=+e;g=g|0;var h=0,i=0,j=0,k=0;h=u;u=u+48|0;i=h+32|0;j=h+16|0;k=h;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=a;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=c;c=k+8|0;f[c>>2]=0;f[c+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=g;aJ(i,b,j,d,e,k,-1);u=h;return}function sl(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0,g=0,h=0;e=u;u=u+32|0;g=e+16|0;h=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;a=h+8|0;f[a>>2]=0;f[a+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=b;qba(g,h,c,d);u=e;return}function tl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0;c=u;u=u+16|0;d=c;f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=a;e=+D9(d,b);u=c;return +e}function ul(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=+d;e=+e;g=g|0;var h=0,i=0,j=0;h=u;u=u+32|0;i=h+16|0;j=h;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=a;a=j+8|0;f[a>>2]=0;f[a+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=b;K1(i,j,c,d,e,g);u=h;return}function vl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;var g=0,h=0,i=0;g=u;u=u+32|0;h=g+16|0;i=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;a=i+8|0;f[a>>2]=0;f[a+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=b;K1(h,i,c,d,e,4);u=g;return}function wl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+64|0;g=e+48|0;h=e+32|0;i=e+16|0;j=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=b;b=i+8|0;f[b>>2]=0;f[b+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=c;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=d;$G(g,h,i,j);u=e;return}function xl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+48|0;e=d+32|0;g=d+16|0;h=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=b;b=h+8|0;f[b>>2]=0;f[b+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=c;$G(e,g,h,BK()|0);u=d;return}function yl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+48|0;e=d+32|0;g=d+16|0;h=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;a=g+8|0;f[a>>2]=0;f[a+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=b;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=c;gH(e,g,h);u=d;return}function zl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+32|0;d=c+16|0;e=c;f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=a;a=e+8|0;f[a>>2]=0;f[a+4>>2]=0;f[e>>2]=33619968;f[e+4>>2]=b;gH(d,e,BK()|0);u=c;return}function Al(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+64|0;g=e+48|0;h=e+32|0;i=e+16|0;j=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=b;b=i+8|0;f[b>>2]=0;f[b+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=c;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=d;cH(g,h,i,j);u=e;return}function Bl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+48|0;e=d+32|0;g=d+16|0;h=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=b;b=h+8|0;f[b>>2]=0;f[b+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=c;cH(e,g,h,BK()|0);u=d;return}function Cl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+64|0;g=e+48|0;h=e+32|0;i=e+16|0;j=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=b;b=i+8|0;f[b>>2]=0;f[b+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=c;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=d;eH(g,h,i,j);u=e;return}function Dl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+48|0;e=d+32|0;g=d+16|0;h=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=b;b=h+8|0;f[b>>2]=0;f[b+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=c;eH(e,g,h,BK()|0);u=d;return}function El(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=u;u=u+48|0;h=g+32|0;i=g+16|0;j=g+8|0;k=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;a=i+8|0;f[a>>2]=0;f[a+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=b;f[j>>2]=f[c>>2];f[j+4>>2]=f[c+4>>2];f[k>>2]=f[d>>2];f[k+4>>2]=f[d+4>>2];k1(h,i,j,k,e);u=g;return}function Fl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+48|0;g=e+32|0;h=e+16|0;i=e+8|0;j=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;a=h+8|0;f[a>>2]=0;f[a+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=b;f[i>>2]=f[c>>2];f[i+4>>2]=f[c+4>>2];f[j>>2]=f[d>>2];f[j+4>>2]=f[d+4>>2];k1(g,h,i,j,4);u=e;return}function Gl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+48|0;e=d+32|0;g=d+16|0;h=d+8|0;i=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;a=g+8|0;f[a>>2]=0;f[a+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=b;f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[i>>2]=-1;f[i+4>>2]=-1;k1(e,g,h,i,4);u=d;return}function Hl(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=b;G9(a,d);u=c;return}function Il(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=u;u=u+48|0;j=i+32|0;k=i+16|0;l=i+8|0;m=i;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=a;a=k+8|0;f[a>>2]=0;f[a+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=b;f[l>>2]=f[d>>2];f[l+4>>2]=f[d+4>>2];f[m>>2]=f[e>>2];f[m+4>>2]=f[e+4>>2];j1(j,k,c,l,m,g,h);u=i;return}function Jl(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=u;u=u+48|0;i=h+32|0;j=h+16|0;k=h+8|0;l=h;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=a;a=j+8|0;f[a>>2]=0;f[a+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=b;f[k>>2]=f[d>>2];f[k+4>>2]=f[d+4>>2];f[l>>2]=f[e>>2];f[l+4>>2]=f[e+4>>2];j1(i,j,c,k,l,g,4);u=h;return}function Kl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=u;u=u+48|0;h=g+32|0;i=g+16|0;j=g+8|0;k=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;a=i+8|0;f[a>>2]=0;f[a+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=b;f[j>>2]=f[d>>2];f[j+4>>2]=f[d+4>>2];f[k>>2]=f[e>>2];f[k+4>>2]=f[e+4>>2];j1(h,i,c,j,k,1,4);u=g;return}function Ll(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+48|0;g=e+32|0;h=e+16|0;i=e+8|0;j=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;a=h+8|0;f[a>>2]=0;f[a+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=b;f[i>>2]=f[d>>2];f[i+4>>2]=f[d+4>>2];f[j>>2]=-1;f[j+4>>2]=-1;j1(g,h,c,i,j,1,4);u=e;return}function Ml(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=+g;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=u;u=u+96|0;i=h+72|0;j=h+56|0;k=h+32|0;l=h+40|0;m=h+16|0;n=h+4|0;o=h;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=17104896;f[i+4>>2]=a;a=f[b>>2]|0;f[k>>2]=a;fe(a|0);Nl(j,k);f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=c;c=m+8|0;f[c>>2]=0;f[c+4>>2]=0;f[m>>2]=33619968;f[m+4>>2]=d;d=f[e>>2]|0;f[o>>2]=d;fe(d|0);Ol(n,o);dea(i,j,l,m,n,g);m=f[n>>2]|0;if(m|0){l=n+4|0;n=f[l>>2]|0;if((n|0)!=(m|0))f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2);GQa(m)}ce(f[o>>2]|0);o=f[j>>2]|0;if(!o){p=f[k>>2]|0;ce(p|0);u=h;return}m=j+4|0;j=f[m>>2]|0;if((j|0)!=(o|0))f[m>>2]=j+(~((j+-4-o|0)>>>2)<<2);GQa(o);p=f[k>>2]|0;ce(p|0);u=h;return}function Nl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0.0,k=0,l=0,m=0,n=0;c=u;u=u+16|0;d=c;e=c+8|0;g=f[b>>2]|0;h=ie(140496)|0;i=ee(g|0,h|0)|0;ce(h|0);j=+ae(i|0,20824,d|0);ke(f[d>>2]|0);h=~~j>>>0;ce(i|0);f[a>>2]=0;i=a+4|0;f[i>>2]=0;f[a+8>>2]=0;if(!h){u=c;return}g=a+8|0;k=0;do{l=f[b>>2]|0;f[d>>2]=k;m=le(20824,d|0)|0;n=ee(l|0,m|0)|0;ce(m|0);j=+ae(n|0,20816,d|0);ke(f[d>>2]|0);m=~~j;f[e>>2]=m;l=f[i>>2]|0;if(l>>>0<(f[g>>2]|0)>>>0){f[l>>2]=m;f[i>>2]=l+4}else Xv(a,e);ce(n|0);k=k+1|0}while(k>>>0>>0);u=c;return}function Ol(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0.0,k=0,l=0,m=0,o=0,p=0.0;c=u;u=u+16|0;d=c;e=c+8|0;g=f[b>>2]|0;h=ie(140496)|0;i=ee(g|0,h|0)|0;ce(h|0);j=+ae(i|0,20824,d|0);ke(f[d>>2]|0);h=~~j>>>0;ce(i|0);f[a>>2]=0;i=a+4|0;f[i>>2]=0;f[a+8>>2]=0;if(!h){u=c;return}g=a+8|0;k=0;do{l=f[b>>2]|0;f[d>>2]=k;m=le(20824,d|0)|0;o=ee(l|0,m|0)|0;ce(m|0);j=+ae(o|0,20848,d|0);ke(f[d>>2]|0);p=j;n[e>>2]=p;m=f[i>>2]|0;if(m>>>0<(f[g>>2]|0)>>>0){n[m>>2]=p;f[i>>2]=m+4}else Yv(a,e);ce(o|0);k=k+1|0}while(k>>>0>>0);u=c;return}function Pl(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;i=u;u=u+112|0;j=i+88|0;k=i+72|0;l=i+48|0;m=i+56|0;n=i+32|0;o=i+20|0;p=i+4|0;q=i+8|0;r=i;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=17104896;f[j+4>>2]=a;a=f[b>>2]|0;f[l>>2]=a;fe(a|0);Nl(k,l);f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=c;c=n+8|0;f[c>>2]=0;f[c+4>>2]=0;f[n>>2]=33619968;f[n+4>>2]=d;d=f[e>>2]|0;f[p>>2]=d;fe(d|0);Nl(o,p);d=f[g>>2]|0;f[r>>2]=d;fe(d|0);Ol(q,r);bea(j,k,m,n,o,q,h);h=f[q>>2]|0;if(h|0){n=q+4|0;q=f[n>>2]|0;if((q|0)!=(h|0))f[n>>2]=q+(~((q+-4-h|0)>>>2)<<2);GQa(h)}ce(f[r>>2]|0);r=f[o>>2]|0;if(r|0){h=o+4|0;o=f[h>>2]|0;if((o|0)!=(r|0))f[h>>2]=o+(~((o+-4-r|0)>>>2)<<2);GQa(r)}ce(f[p>>2]|0);p=f[k>>2]|0;if(!p){s=f[l>>2]|0;ce(s|0);u=i;return}r=k+4|0;k=f[r>>2]|0;if((k|0)!=(p|0))f[r>>2]=k+(~((k+-4-p|0)>>>2)<<2);GQa(p);s=f[l>>2]|0;ce(s|0);u=i;return}function Ql(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=u;u=u+112|0;i=h+88|0;j=h+72|0;k=h+48|0;l=h+56|0;m=h+32|0;n=h+20|0;o=h+4|0;p=h+8|0;q=h;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=17104896;f[i+4>>2]=a;a=f[b>>2]|0;f[k>>2]=a;fe(a|0);Nl(j,k);f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=c;c=m+8|0;f[c>>2]=0;f[c+4>>2]=0;f[m>>2]=33619968;f[m+4>>2]=d;d=f[e>>2]|0;f[o>>2]=d;fe(d|0);Nl(n,o);d=f[g>>2]|0;f[q>>2]=d;fe(d|0);Ol(p,q);bea(i,j,l,m,n,p,0);m=f[p>>2]|0;if(m|0){l=p+4|0;p=f[l>>2]|0;if((p|0)!=(m|0))f[l>>2]=p+(~((p+-4-m|0)>>>2)<<2);GQa(m)}ce(f[q>>2]|0);q=f[n>>2]|0;if(q|0){m=n+4|0;n=f[m>>2]|0;if((n|0)!=(q|0))f[m>>2]=n+(~((n+-4-q|0)>>>2)<<2);GQa(q)}ce(f[o>>2]|0);o=f[j>>2]|0;if(!o){r=f[k>>2]|0;ce(r|0);u=h;return}q=j+4|0;j=f[q>>2]|0;if((j|0)!=(o|0))f[q>>2]=j+(~((j+-4-o|0)>>>2)<<2);GQa(o);r=f[k>>2]|0;ce(r|0);u=h;return}function Rl(a,b,c,d,e,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;g=g|0;h=h|0;i=i|0;j=+j;k=k|0;var l=0,m=0,n=0,o=0;l=u;u=u+48|0;m=l+32|0;n=l+16|0;o=l;f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=a;f[n+8>>2]=0;f[n+12>>2]=0;f[n>>2]=16842752;f[n+4>>2]=b;b=o+8|0;f[b>>2]=0;f[b+4>>2]=0;f[o>>2]=50397184;f[o+4>>2]=c;mwa(m,n,o,d,e,g,h,i,j,k);u=l;return}function Sl(a,b,c,d,e,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=+l;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;m=u;u=u+128|0;n=m;o=m+104|0;p=m+88|0;q=m+72|0;r=m+56|0;s=m+40|0;t=m+24|0;v=m+16|0;f[o+8>>2]=0;f[o+12>>2]=0;f[o>>2]=16842752;f[o+4>>2]=a;f[p+8>>2]=0;f[p+12>>2]=0;f[p>>2]=16842752;f[p+4>>2]=b;f[q+8>>2]=0;f[q+12>>2]=0;f[q>>2]=16842752;f[q+4>>2]=c;c=r+8|0;f[c>>2]=0;f[c+4>>2]=0;f[r>>2]=50397184;f[r+4>>2]=d;d=s+8|0;f[d>>2]=0;f[d+4>>2]=0;f[s>>2]=33619968;f[s+4>>2]=e;e=t+8|0;f[e>>2]=0;f[e+4>>2]=0;f[t>>2]=33619968;f[t+4>>2]=g;f[v>>2]=f[h>>2];f[v+4>>2]=f[h+4>>2];f[n>>2]=f[j>>2];f[n+4>>2]=f[j+4>>2];f[n+8>>2]=f[j+8>>2];f[n+12>>2]=f[j+12>>2];uva(o,p,q,r,s,t,v,i,n,k,l);u=m;return}function Tl(a,b,c,d,e,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;l=u;u=u+128|0;m=l;n=l+104|0;o=l+88|0;p=l+72|0;q=l+56|0;r=l+40|0;s=l+24|0;t=l+16|0;f[n+8>>2]=0;f[n+12>>2]=0;f[n>>2]=16842752;f[n+4>>2]=a;f[o+8>>2]=0;f[o+12>>2]=0;f[o>>2]=16842752;f[o+4>>2]=b;f[p+8>>2]=0;f[p+12>>2]=0;f[p>>2]=16842752;f[p+4>>2]=c;c=q+8|0;f[c>>2]=0;f[c+4>>2]=0;f[q>>2]=50397184;f[q+4>>2]=d;d=r+8|0;f[d>>2]=0;f[d+4>>2]=0;f[r>>2]=33619968;f[r+4>>2]=e;e=s+8|0;f[e>>2]=0;f[e+4>>2]=0;f[s>>2]=33619968;f[s+4>>2]=g;f[t>>2]=f[h>>2];f[t+4>>2]=f[h+4>>2];f[m>>2]=f[j>>2];f[m+4>>2]=f[j+4>>2];f[m+8>>2]=f[j+8>>2];f[m+12>>2]=f[j+12>>2];uva(n,o,p,q,r,s,t,i,m,k,.0001);u=l;return}function Ul(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=u;u=u+128|0;l=k;m=k+104|0;n=k+88|0;o=k+72|0;p=k+56|0;q=k+40|0;r=k+24|0;s=k+16|0;f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=a;f[n+8>>2]=0;f[n+12>>2]=0;f[n>>2]=16842752;f[n+4>>2]=b;f[o+8>>2]=0;f[o+12>>2]=0;f[o>>2]=16842752;f[o+4>>2]=c;c=p+8|0;f[c>>2]=0;f[c+4>>2]=0;f[p>>2]=50397184;f[p+4>>2]=d;d=q+8|0;f[d>>2]=0;f[d+4>>2]=0;f[q>>2]=33619968;f[q+4>>2]=e;e=r+8|0;f[e>>2]=0;f[e+4>>2]=0;f[r>>2]=33619968;f[r+4>>2]=g;f[s>>2]=f[h>>2];f[s+4>>2]=f[h+4>>2];f[l>>2]=f[j>>2];f[l+4>>2]=f[j+4>>2];f[l+8>>2]=f[j+8>>2];f[l+12>>2]=f[j+12>>2];uva(m,n,o,p,q,r,s,i,l,0,.0001);u=k;return}function Vl(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0;j=u;u=u+144|0;k=j+16|0;l=j+120|0;m=j+104|0;n=j+88|0;o=j+72|0;q=j+56|0;r=j+40|0;s=j+32|0;t=j;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=a;f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=b;f[n+8>>2]=0;f[n+12>>2]=0;f[n>>2]=16842752;f[n+4>>2]=c;c=o+8|0;f[c>>2]=0;f[c+4>>2]=0;f[o>>2]=50397184;f[o+4>>2]=d;d=q+8|0;f[d>>2]=0;f[d+4>>2]=0;f[q>>2]=33619968;f[q+4>>2]=e;e=r+8|0;f[e>>2]=0;f[e+4>>2]=0;f[r>>2]=33619968;f[r+4>>2]=g;f[s>>2]=f[h>>2];f[s+4>>2]=f[h+4>>2];f[t>>2]=3;f[t+4>>2]=30;p[t+8>>3]=.01;f[k>>2]=f[t>>2];f[k+4>>2]=f[t+4>>2];f[k+8>>2]=f[t+8>>2];f[k+12>>2]=f[t+12>>2];uva(l,m,n,o,q,r,s,i,k,0,.0001);u=j;return}function Wl(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0;i=u;u=u+144|0;j=i+16|0;k=i+120|0;l=i+104|0;m=i+88|0;n=i+72|0;o=i+56|0;q=i+40|0;r=i+32|0;s=i;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=a;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=b;f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=c;c=n+8|0;f[c>>2]=0;f[c+4>>2]=0;f[n>>2]=50397184;f[n+4>>2]=d;d=o+8|0;f[d>>2]=0;f[d+4>>2]=0;f[o>>2]=33619968;f[o+4>>2]=e;e=q+8|0;f[e>>2]=0;f[e+4>>2]=0;f[q>>2]=33619968;f[q+4>>2]=g;f[r>>2]=f[h>>2];f[r+4>>2]=f[h+4>>2];f[s>>2]=3;f[s+4>>2]=30;p[s+8>>3]=.01;f[j>>2]=f[s>>2];f[j+4>>2]=f[s+4>>2];f[j+8>>2]=f[s+8>>2];f[j+12>>2]=f[s+12>>2];uva(k,l,m,n,o,q,r,3,j,0,.0001);u=i;return}function Xl(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0;h=u;u=u+144|0;i=h+16|0;j=h+120|0;k=h+104|0;l=h+88|0;m=h+72|0;n=h+56|0;o=h+40|0;q=h+32|0;r=h;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=a;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=b;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=c;c=m+8|0;f[c>>2]=0;f[c+4>>2]=0;f[m>>2]=50397184;f[m+4>>2]=d;d=n+8|0;f[d>>2]=0;f[d+4>>2]=0;f[n>>2]=33619968;f[n+4>>2]=e;e=o+8|0;f[e>>2]=0;f[e+4>>2]=0;f[o>>2]=33619968;f[o+4>>2]=g;f[q>>2]=21;f[q+4>>2]=21;f[r>>2]=3;f[r+4>>2]=30;p[r+8>>3]=.01;f[i>>2]=f[r>>2];f[i+4>>2]=f[r+4>>2];f[i+8>>2]=f[r+8>>2];f[i+12>>2]=f[r+12>>2];uva(j,k,l,m,n,o,q,3,i,0,.0001);u=h;return}function Yl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=u;u=u+64|0;h=g+48|0;i=g+32|0;j=g+16|0;k=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=b;b=j+8|0;f[b>>2]=0;f[b+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=c;c=k+8|0;f[c>>2]=0;f[c+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=d;BQ(h,i,j,k,e);u=g;return}function Zl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+64|0;g=e+48|0;h=e+32|0;i=e+16|0;j=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=b;b=i+8|0;f[b>>2]=0;f[b+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=c;c=j+8|0;f[c>>2]=0;f[c+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=d;BQ(g,h,i,j,0);u=e;return}function _l(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;i=u;u=u+32|0;j=i+8|0;k=i;l=j+8|0;f[l>>2]=0;f[l+4>>2]=0;f[j>>2]=50397184;f[j+4>>2]=a;f[k>>2]=f[b>>2];f[k+4>>2]=f[b+4>>2];Wba(j,k,c,d,e,g,h);u=i;return}function $l(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;h=u;u=u+32|0;i=h+8|0;j=h;k=i+8|0;f[k>>2]=0;f[k+4>>2]=0;f[i>>2]=50397184;f[i+4>>2]=a;f[j>>2]=f[b>>2];f[j+4>>2]=f[b+4>>2];Wba(i,j,c,d,e,g,0);u=h;return}function am(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0;g=u;u=u+32|0;h=g+8|0;i=g;j=h+8|0;f[j>>2]=0;f[j+4>>2]=0;f[h>>2]=50397184;f[h+4>>2]=a;f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];Wba(h,i,c,d,e,8,0);u=g;return}function bm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=u;u=u+32|0;g=e+8|0;h=e;i=g+8|0;f[i>>2]=0;f[i+4>>2]=0;f[g>>2]=50397184;f[g+4>>2]=a;f[h>>2]=f[b>>2];f[h+4>>2]=f[b+4>>2];Wba(g,h,c,d,1,8,0);u=e;return}function cm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=u;u=u+48|0;g=e+32|0;h=e+16|0;i=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=b;b=i+8|0;f[b>>2]=0;f[b+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=c;iJ(g,h,i,d);u=e;return}function dm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0.0;d=u;u=u+32|0;e=d+16|0;g=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=b;h=+eea(e,g,c);u=d;return +h}function em(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+32|0;g=e+16|0;h=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;a=h+8|0;f[a>>2]=0;f[a+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=b;b=Yga(g,h,c,d)|0;u=e;return b|0}function fm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+32|0;e=d+16|0;g=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;a=g+8|0;f[a>>2]=0;f[a+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=b;b=Yga(e,g,c,4)|0;u=d;return b|0}function gm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+32|0;d=c+16|0;e=c;f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=a;a=e+8|0;f[a>>2]=0;f[a+4>>2]=0;f[e>>2]=33619968;f[e+4>>2]=b;b=Yga(d,e,8,4)|0;u=c;return b|0}function hm(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=u;u=u+64|0;i=h+48|0;j=h+32|0;k=h+16|0;l=h;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=a;a=j+8|0;f[a>>2]=0;f[a+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=b;b=k+8|0;f[b>>2]=0;f[b+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=c;c=l+8|0;f[c>>2]=0;f[c+4>>2]=0;f[l>>2]=33619968;f[l+4>>2]=d;d=rha(i,j,k,l,e,g)|0;u=h;return d|0}function im(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=u;u=u+64|0;h=g+48|0;i=g+32|0;j=g+16|0;k=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;a=i+8|0;f[a>>2]=0;f[a+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=b;b=j+8|0;f[b>>2]=0;f[b+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=c;c=k+8|0;f[c>>2]=0;f[c+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=d;d=rha(h,i,j,k,e,4)|0;u=g;return d|0}function jm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+64|0;g=e+48|0;h=e+32|0;i=e+16|0;j=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;a=h+8|0;f[a>>2]=0;f[a+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=b;b=i+8|0;f[b>>2]=0;f[b+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=c;c=j+8|0;f[c>>2]=0;f[c+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=d;d=rha(g,h,i,j,8,4)|0;u=e;return d|0}function km(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0;c=u;u=u+16|0;d=c;f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=a;e=+E9(d,b);u=c;return +e}function lm(a){a=a|0;var b=0,c=0,d=0.0;b=u;u=u+16|0;c=b;f[c+8>>2]=0;f[c+12>>2]=0;f[c>>2]=16842752;f[c+4>>2]=a;d=+E9(c,0);u=b;return +d}function mm(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;var e=0,g=0,h=0;e=u;u=u+32|0;g=e+16|0;h=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;a=h+8|0;f[a>>2]=0;f[a+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=b;FT(g,h,c,d);u=e;return}function nm(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0,g=0;d=u;u=u+32|0;e=d+16|0;g=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;a=g+8|0;f[a>>2]=0;f[a+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=b;FT(e,g,c,0.0);u=d;return}function om(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+32|0;d=c+16|0;e=c;f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=a;a=e+8|0;f[a>>2]=0;f[a+4>>2]=0;f[e>>2]=33619968;f[e+4>>2]=b;FT(d,e,1.0,0.0);u=c;return}function pm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+32|0;g=e+16|0;h=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;a=h+8|0;f[a>>2]=0;f[a+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=b;eca(g,h,c,d);u=e;return}function qm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+32|0;e=d+16|0;g=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;a=g+8|0;f[a>>2]=0;f[a+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=b;eca(e,g,c,1);u=d;return}function rm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+32|0;d=c+16|0;e=c;f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=a;a=e+8|0;f[a>>2]=0;f[a+4>>2]=0;f[e>>2]=33619968;f[e+4>>2]=b;eca(d,e,0,1);u=c;return}function sm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+48|0;e=d+32|0;g=d+16|0;h=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=b;b=h+8|0;f[b>>2]=0;f[b+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=c;rca(e,g,h);u=d;return}function tm(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;j=u;u=u+32|0;k=j+16|0;l=j;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=a;a=l+8|0;f[a>>2]=0;f[a+4>>2]=0;f[l>>2]=33619968;f[l+4>>2]=b;mM(k,l,c,d,e,g,h,i);u=j;return}function um(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;i=u;u=u+64|0;j=i+48|0;k=i+32|0;l=i;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=a;a=k+8|0;f[a>>2]=0;f[a+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=b;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[l+24>>2]=0;f[l+28>>2]=0;mM(j,k,c,d,e,g,h,l);u=i;return}function vm(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;g=g|0;var h=0,i=0,j=0;h=u;u=u+32|0;i=h+16|0;j=h;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=a;a=j+8|0;f[a>>2]=0;f[a+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=b;Maa(i,j,c,d,e,g);u=h;return}function wm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var g=0,h=0,i=0;g=u;u=u+32|0;h=g+16|0;i=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;a=i+8|0;f[a>>2]=0;f[a+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=b;Maa(h,i,c,d,e,4);u=g;return}function xm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=u;u=u+32|0;h=g+16|0;i=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;a=i+8|0;f[a>>2]=0;f[a+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=b;Kaa(h,i,c,d,e);u=g;return}function ym(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+32|0;g=e+16|0;h=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;a=h+8|0;f[a>>2]=0;f[a+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=b;Kaa(g,h,c,d,4);u=e;return}function zm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+32|0;e=d+16|0;g=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;a=g+8|0;f[a>>2]=0;f[a+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=b;Kaa(e,g,c,3,4);u=d;return}function Am(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;f[c+8>>2]=0;f[c+12>>2]=0;f[c>>2]=16842752;f[c+4>>2]=a;a=WE(c)|0;u=b;return a|0}function Bm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+32|0;g=e+16|0;h=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;a=h+8|0;f[a>>2]=0;f[a+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=b;nba(g,h,c,d);u=e;return}function Cm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+32|0;e=d+16|0;g=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;a=g+8|0;f[a>>2]=0;f[a+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=b;nba(e,g,c,0);u=d;return}function Dm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+32|0;g=e+16|0;h=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;a=h+8|0;f[a>>2]=0;f[a+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=b;kaa(g,h,c,d);u=e;return}function Em(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+32|0;e=d+16|0;g=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;a=g+8|0;f[a>>2]=0;f[a+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=b;kaa(e,g,c,0);u=d;return}function Fm(a){a=a|0;var b=0,c=0,d=0.0;b=u;u=u+16|0;c=b;f[c+8>>2]=0;f[c+12>>2]=0;f[c>>2]=16842752;f[c+4>>2]=a;d=+JR(c);u=b;return +d}function Gm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+32|0;g=e+16|0;h=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;a=h+8|0;f[a>>2]=0;f[a+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=b;ER(g,h,c,d);u=e;return}function Hm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+32|0;e=d+16|0;g=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;a=g+8|0;f[a>>2]=0;f[a+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=b;ER(e,g,c,0);u=d;return}function Im(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+32|0;d=c+16|0;e=c;f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=a;a=e+8|0;f[a>>2]=0;f[a+4>>2]=0;f[e>>2]=33619968;f[e+4>>2]=b;ER(d,e,0,0);u=c;return}function Jm(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=u;u=u+64|0;j=i+40|0;k=i+24|0;l=i+8|0;m=i;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=a;a=k+8|0;f[a>>2]=0;f[a+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=b;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=c;f[m>>2]=f[d>>2];f[m+4>>2]=f[d+4>>2];P8(j,k,l,m,e,g,h);u=i;return}function Km(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;h=u;u=u+96|0;i=h+72|0;j=h+56|0;k=h+40|0;l=h+32|0;m=h;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=a;a=j+8|0;f[a>>2]=0;f[a+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=b;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=c;f[l>>2]=f[d>>2];f[l+4>>2]=f[d+4>>2];p[m>>3]=1797693134862315708145274.0e284;p[m+8>>3]=1797693134862315708145274.0e284;p[m+16>>3]=1797693134862315708145274.0e284;p[m+24>>3]=1797693134862315708145274.0e284;P8(i,j,k,l,e,g,m);u=h;return}function Lm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;g=u;u=u+96|0;h=g+72|0;i=g+56|0;j=g+40|0;k=g+32|0;l=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;a=i+8|0;f[a>>2]=0;f[a+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=b;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=c;f[k>>2]=f[d>>2];f[k+4>>2]=f[d+4>>2];p[l>>3]=1797693134862315708145274.0e284;p[l+8>>3]=1797693134862315708145274.0e284;p[l+16>>3]=1797693134862315708145274.0e284;p[l+24>>3]=1797693134862315708145274.0e284;P8(h,i,j,k,e,0,l);u=g;return}function Mm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+96|0;g=e+72|0;h=e+56|0;i=e+40|0;j=e+32|0;k=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;a=h+8|0;f[a>>2]=0;f[a+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=b;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=c;f[j>>2]=f[d>>2];f[j+4>>2]=f[d+4>>2];p[k>>3]=1797693134862315708145274.0e284;p[k+8>>3]=1797693134862315708145274.0e284;p[k+16>>3]=1797693134862315708145274.0e284;p[k+24>>3]=1797693134862315708145274.0e284;P8(g,h,i,j,1,0,k);u=e;return}function Nm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+96|0;e=d+72|0;g=d+56|0;h=d+40|0;i=d+32|0;j=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;a=g+8|0;f[a>>2]=0;f[a+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=b;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=c;f[i>>2]=-1;f[i+4>>2]=-1;p[j>>3]=1797693134862315708145274.0e284;p[j+8>>3]=1797693134862315708145274.0e284;p[j+16>>3]=1797693134862315708145274.0e284;p[j+24>>3]=1797693134862315708145274.0e284;P8(e,g,h,i,1,0,j);u=d;return}function Om(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=u;u=u+32|0;h=g+16|0;i=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;a=i+8|0;f[a>>2]=0;f[a+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=b;W8(h,i,c,d,e);u=g;return}function Pm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+32|0;g=e+16|0;h=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;a=h+8|0;f[a>>2]=0;f[a+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=b;W8(g,h,c,d,5);u=e;return}function Qm(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;h=u;u=u+48|0;i=h+32|0;j=h+16|0;k=h;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=a;a=j+8|0;f[a>>2]=0;f[a+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=b;b=k+8|0;f[b>>2]=0;f[b+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=c;R8(i,j,k,d,e,g);u=h;return}function Rm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0;g=u;u=u+48|0;h=g+32|0;i=g+16|0;j=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;a=i+8|0;f[a>>2]=0;f[a+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=b;b=j+8|0;f[b>>2]=0;f[b+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=c;R8(h,i,j,d,e,0);u=g;return}function Sm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var g=0,h=0,i=0,j=0;g=u;u=u+48|0;h=g+32|0;i=g+16|0;j=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=b;b=j+8|0;f[b>>2]=0;f[b+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=c;MI(h,i,j,d,e);u=g;return}function Tm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0,h=0,i=0;e=u;u=u+48|0;g=e+32|0;h=e+16|0;i=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=b;b=i+8|0;f[b>>2]=0;f[b+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=c;MI(g,h,i,d,-1);u=e;return}function Um(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+48|0;e=d+32|0;g=d+16|0;h=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=b;b=h+8|0;f[b>>2]=0;f[b+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=c;MI(e,g,h,1.0,-1);u=d;return}function Vm(a,b,c,d){a=+a;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+32|0;g=e+16|0;h=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=b;b=h+8|0;f[b>>2]=0;f[b+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=c;UI(a,g,h,d);u=e;return}function Wm(a,b,c){a=+a;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+32|0;e=d+16|0;g=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=b;b=g+8|0;f[b>>2]=0;f[b+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=c;UI(a,e,g,-1);u=d;return}function Xm(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;k=u;u=u+64|0;l=k+40|0;m=k+24|0;n=k+8|0;o=k;p=l+8|0;f[p>>2]=0;f[p+4>>2]=0;f[l>>2]=50397184;f[l+4>>2]=a;f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=17104896;f[m+4>>2]=b;f[n+8>>2]=0;f[n+12>>2]=0;f[n>>2]=16842752;f[n+4>>2]=h;f[o>>2]=f[j>>2];f[o+4>>2]=f[j+4>>2];$ba(l,m,c,d,e,g,n,i,o);u=k;return}function Ym(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;j=u;u=u+64|0;k=j+40|0;l=j+24|0;m=j+8|0;n=j;o=k+8|0;f[o>>2]=0;f[o+4>>2]=0;f[k>>2]=50397184;f[k+4>>2]=a;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=17104896;f[l+4>>2]=b;f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=h;f[n>>2]=0;f[n+4>>2]=0;$ba(k,l,c,d,e,g,m,i,n);u=j;return}function Zm(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;i=u;u=u+64|0;j=i+40|0;k=i+24|0;l=i+8|0;m=i;n=j+8|0;f[n>>2]=0;f[n+4>>2]=0;f[j>>2]=50397184;f[j+4>>2]=a;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=17104896;f[k+4>>2]=b;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=h;f[m>>2]=0;f[m+4>>2]=0;$ba(j,k,c,d,e,g,l,2147483647,m);u=i;return}function _m(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=u;u=u+48|0;i=h+24|0;j=h+8|0;k=h;l=i+8|0;f[l>>2]=0;f[l+4>>2]=0;f[i>>2]=50397184;f[i+4>>2]=a;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=17104896;f[j+4>>2]=b;b=BK()|0;f[k>>2]=0;f[k+4>>2]=0;$ba(i,j,c,d,e,g,b,2147483647,k);u=h;return}function $m(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=u;u=u+48|0;h=g+24|0;i=g+8|0;j=g;k=h+8|0;f[k>>2]=0;f[k+4>>2]=0;f[h>>2]=50397184;f[h+4>>2]=a;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=17104896;f[i+4>>2]=b;b=BK()|0;f[j>>2]=0;f[j+4>>2]=0;$ba(h,i,c,d,e,8,b,2147483647,j);u=g;return}function an(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+48|0;g=e+24|0;h=e+8|0;i=e;j=g+8|0;f[j>>2]=0;f[j+4>>2]=0;f[g>>2]=50397184;f[g+4>>2]=a;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=17104896;f[h+4>>2]=b;b=BK()|0;f[i>>2]=0;f[i+4>>2]=0;$ba(g,h,c,d,1,8,b,2147483647,i);u=e;return}function bn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+48|0;e=d+32|0;g=d+16|0;h=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;a=g+8|0;f[a>>2]=0;f[a+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=b;b=h+8|0;f[b>>2]=0;f[b+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=c;c=NR(e,g,h)|0;u=d;return c|0}function cn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+32|0;d=c+16|0;e=c;f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=a;a=e+8|0;f[a>>2]=0;f[a+4>>2]=0;f[e>>2]=33619968;f[e+4>>2]=b;b=NR(d,e,BK()|0)|0;u=c;return b|0}function dn(a,b,c,d,e,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=+d;e=+e;g=+g;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0;l=u;u=u+32|0;m=l+16|0;n=l+8|0;o=l;p=m+8|0;f[p>>2]=0;f[p+4>>2]=0;f[m>>2]=50397184;f[m+4>>2]=a;f[n>>2]=f[b>>2];f[n+4>>2]=f[b+4>>2];f[o>>2]=f[c>>2];f[o+4>>2]=f[c+4>>2];Xba(m,n,o,d,e,g,h,i,j,k);u=l;return}function en(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=+d;e=+e;g=+g;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;k=u;u=u+32|0;l=k+16|0;m=k+8|0;n=k;o=l+8|0;f[o>>2]=0;f[o+4>>2]=0;f[l>>2]=50397184;f[l+4>>2]=a;f[m>>2]=f[b>>2];f[m+4>>2]=f[b+4>>2];f[n>>2]=f[c>>2];f[n+4>>2]=f[c+4>>2];Xba(l,m,n,d,e,g,h,i,j,0);u=k;return}function fn(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=+e;g=+g;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0;j=u;u=u+32|0;k=j+16|0;l=j+8|0;m=j;n=k+8|0;f[n>>2]=0;f[n+4>>2]=0;f[k>>2]=50397184;f[k+4>>2]=a;f[l>>2]=f[b>>2];f[l+4>>2]=f[b+4>>2];f[m>>2]=f[c>>2];f[m+4>>2]=f[c+4>>2];Xba(k,l,m,d,e,g,h,i,8,0);u=j;return}function gn(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=+d;e=+e;g=+g;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=u;u=u+32|0;j=i+16|0;k=i+8|0;l=i;m=j+8|0;f[m>>2]=0;f[m+4>>2]=0;f[j>>2]=50397184;f[j+4>>2]=a;f[k>>2]=f[b>>2];f[k+4>>2]=f[b+4>>2];f[l>>2]=f[c>>2];f[l+4>>2]=f[c+4>>2];Xba(j,k,l,d,e,g,h,1,8,0);u=i;return}function hn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=u;u=u+16|0;h=g;i=h+8|0;f[i>>2]=0;f[i+4>>2]=0;f[h>>2]=50397184;f[h+4>>2]=a;Yba(h,b,c,d,e);u=g;return}function jn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+16|0;g=e;h=g+8|0;f[h>>2]=0;f[h+4>>2]=0;f[g>>2]=50397184;f[g+4>>2]=a;Yba(g,b,c,d,8);u=e;return}function kn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;e=d;g=e+8|0;f[g>>2]=0;f[g+4>>2]=0;f[e>>2]=50397184;f[e+4>>2]=a;Yba(e,b,c,1,8);u=d;return}function ln(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=u;u=u+16|0;j=i+8|0;k=i;f[j>>2]=f[a>>2];f[j+4>>2]=f[a+4>>2];f[k>>2]=f[b>>2];f[k+4>>2]=f[b+4>>2];vba(j,k,c,d,e,g,h);u=i;return}function mn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+32|0;d=c+16|0;e=c;f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=a;a=e+8|0;f[a>>2]=0;f[a+4>>2]=0;f[e>>2]=33619968;f[e+4>>2]=b;fea(d,e);u=c;return}function nn(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=u;u=u+64|0;j=i+40|0;k=i+24|0;l=i+8|0;m=i;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=a;a=k+8|0;f[a>>2]=0;f[a+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=b;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=c;f[m>>2]=f[d>>2];f[m+4>>2]=f[d+4>>2];N8(j,k,l,m,e,g,h);u=i;return}function on(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;h=u;u=u+96|0;i=h+72|0;j=h+56|0;k=h+40|0;l=h+32|0;m=h;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=a;a=j+8|0;f[a>>2]=0;f[a+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=b;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=c;f[l>>2]=f[d>>2];f[l+4>>2]=f[d+4>>2];p[m>>3]=1797693134862315708145274.0e284;p[m+8>>3]=1797693134862315708145274.0e284;p[m+16>>3]=1797693134862315708145274.0e284;p[m+24>>3]=1797693134862315708145274.0e284;N8(i,j,k,l,e,g,m);u=h;return}function pn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;g=u;u=u+96|0;h=g+72|0;i=g+56|0;j=g+40|0;k=g+32|0;l=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;a=i+8|0;f[a>>2]=0;f[a+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=b;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=c;f[k>>2]=f[d>>2];f[k+4>>2]=f[d+4>>2];p[l>>3]=1797693134862315708145274.0e284;p[l+8>>3]=1797693134862315708145274.0e284;p[l+16>>3]=1797693134862315708145274.0e284;p[l+24>>3]=1797693134862315708145274.0e284;N8(h,i,j,k,e,0,l);u=g;return}function qn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+96|0;g=e+72|0;h=e+56|0;i=e+40|0;j=e+32|0;k=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;a=h+8|0;f[a>>2]=0;f[a+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=b;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=c;f[j>>2]=f[d>>2];f[j+4>>2]=f[d+4>>2];p[k>>3]=1797693134862315708145274.0e284;p[k+8>>3]=1797693134862315708145274.0e284;p[k+16>>3]=1797693134862315708145274.0e284;p[k+24>>3]=1797693134862315708145274.0e284;N8(g,h,i,j,1,0,k);u=e;return}function rn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+96|0;e=d+72|0;g=d+56|0;h=d+40|0;i=d+32|0;j=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;a=g+8|0;f[a>>2]=0;f[a+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=b;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=c;f[i>>2]=-1;f[i+4>>2]=-1;p[j>>3]=1797693134862315708145274.0e284;p[j+8>>3]=1797693134862315708145274.0e284;p[j+16>>3]=1797693134862315708145274.0e284;p[j+24>>3]=1797693134862315708145274.0e284;N8(e,g,h,i,1,0,j);u=d;return}function sn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+32|0;g=e+16|0;h=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=b;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=c;vva(a,g,h,d);u=e;return}function tn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+32|0;d=c+16|0;e=c;f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=a;a=e+8|0;f[a>>2]=0;f[a+4>>2]=0;f[e>>2]=33619968;f[e+4>>2]=b;DQ(d,e);u=c;return}function un(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=+g;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=u;u=u+64|0;j=i+40|0;k=i+24|0;l=i+8|0;m=i;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=a;a=k+8|0;f[a>>2]=0;f[a+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=b;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=d;f[m>>2]=f[e>>2];f[m+4>>2]=f[e+4>>2];hoa(j,k,c,l,m,g,h);u=i;return}function vn(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=+g;var h=0,i=0,j=0,k=0,l=0;h=u;u=u+64|0;i=h+40|0;j=h+24|0;k=h+8|0;l=h;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=a;a=j+8|0;f[a>>2]=0;f[a+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=b;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=d;f[l>>2]=f[e>>2];f[l+4>>2]=f[e+4>>2];hoa(i,j,c,k,l,g,4);u=h;return}function wn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=u;u=u+64|0;h=g+40|0;i=g+24|0;j=g+8|0;k=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;a=i+8|0;f[a>>2]=0;f[a+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=b;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=d;f[k>>2]=f[e>>2];f[k+4>>2]=f[e+4>>2];hoa(h,i,c,j,k,0.0,4);u=g;return}function xn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+64|0;g=e+40|0;h=e+24|0;i=e+8|0;j=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;a=h+8|0;f[a>>2]=0;f[a+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=b;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=d;f[j>>2]=-1;f[j+4>>2]=-1;hoa(g,h,c,i,j,0.0,4);u=e;return}function yn(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;h=u;u=u+64|0;i=h+40|0;j=h+24|0;k=h+8|0;l=h;m=i+8|0;f[m>>2]=0;f[m+4>>2]=0;f[i>>2]=50397184;f[i+4>>2]=a;a=j+8|0;f[a>>2]=0;f[a+4>>2]=0;f[j>>2]=33882112;f[j+4>>2]=b;b=k+8|0;f[b>>2]=0;f[b+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=c;f[l>>2]=f[g>>2];f[l+4>>2]=f[g+4>>2];tea(i,j,k,d,e,l);u=h;return}function zn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;g=u;u=u+64|0;h=g+40|0;i=g+24|0;j=g+8|0;k=g;l=h+8|0;f[l>>2]=0;f[l+4>>2]=0;f[h>>2]=50397184;f[h+4>>2]=a;a=i+8|0;f[a>>2]=0;f[a+4>>2]=0;f[i>>2]=33882112;f[i+4>>2]=b;b=j+8|0;f[b>>2]=0;f[b+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=c;f[k>>2]=0;f[k+4>>2]=0;tea(h,i,j,d,e,k);u=g;return}function An(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0.0;h=u;u=u+80|0;i=h;j=h+64|0;k=h+48|0;l=h+32|0;m=h+16|0;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=a;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=b;b=l+8|0;f[b>>2]=0;f[b+4>>2]=0;f[l>>2]=50397184;f[l+4>>2]=c;f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=g;f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];f[i+8>>2]=f[e+8>>2];f[i+12>>2]=f[e+12>>2];n=+kwa(j,k,l,d,i,m);u=h;return +n}function Bn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0.0;g=u;u=u+80|0;h=g+16|0;i=g+64|0;j=g+48|0;k=g+32|0;l=g;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=a;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=b;b=k+8|0;f[b>>2]=0;f[b+4>>2]=0;f[k>>2]=50397184;f[k+4>>2]=c;f[l>>2]=f[e>>2];f[l+4>>2]=f[e+4>>2];f[l+8>>2]=f[e+8>>2];f[l+12>>2]=f[e+12>>2];e=BK()|0;f[h>>2]=f[l>>2];f[h+4>>2]=f[l+4>>2];f[h+8>>2]=f[l+8>>2];f[h+12>>2]=f[l+12>>2];m=+kwa(i,j,k,d,h,e);u=g;return +m}function Cn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0.0;e=u;u=u+80|0;g=e+16|0;h=e+64|0;i=e+48|0;j=e+32|0;k=e;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=b;b=j+8|0;f[b>>2]=0;f[b+4>>2]=0;f[j>>2]=50397184;f[j+4>>2]=c;f[k>>2]=3;f[k+4>>2]=50;p[k+8>>3]=.001;c=BK()|0;f[g>>2]=f[k>>2];f[g+4>>2]=f[k+4>>2];f[g+8>>2]=f[k+8>>2];f[g+12>>2]=f[k+12>>2];l=+kwa(h,i,j,d,g,c);u=e;return +l}function Dn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0.0;d=u;u=u+80|0;e=d+16|0;g=d+64|0;h=d+48|0;i=d+32|0;j=d;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=b;b=i+8|0;f[b>>2]=0;f[b+4>>2]=0;f[i>>2]=50397184;f[i+4>>2]=c;f[j>>2]=3;f[j+4>>2]=50;p[j+8>>3]=.001;c=BK()|0;f[e>>2]=f[j>>2];f[e+4>>2]=f[j+4>>2];f[e+8>>2]=f[j+8>>2];f[e+12>>2]=f[j+12>>2];k=+kwa(g,h,i,2,e,c);u=d;return +k}function En(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=b;F9(a,d);u=c;return}function Fn(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=+d;e=+e;g=+g;var h=0,i=0,j=0;h=u;u=u+32|0;i=h+16|0;j=h;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=a;a=j+8|0;f[a>>2]=0;f[a+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=b;Jda(i,j,c,d,e,g);u=h;return}function Gn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+32|0;e=d+16|0;g=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;a=g+8|0;f[a>>2]=0;f[a+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=b;iM(e,g,c);u=d;return}function Hn(a,b,c,d,e,g,h){a=a|0;b=b|0;c=+c;d=d|0;e=+e;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=u;u=u+64|0;j=i+48|0;k=i+32|0;l=i+16|0;m=i;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=a;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=b;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=d;d=m+8|0;f[d>>2]=0;f[d+4>>2]=0;f[m>>2]=33619968;f[m+4>>2]=g;zC(j,k,c,l,e,m,h);u=i;return}function In(a,b,c,d,e,g){a=a|0;b=b|0;c=+c;d=d|0;e=+e;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=u;u=u+64|0;i=h+48|0;j=h+32|0;k=h+16|0;l=h;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=a;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=b;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=d;d=l+8|0;f[d>>2]=0;f[d+4>>2]=0;f[l>>2]=33619968;f[l+4>>2]=g;zC(i,j,c,k,e,l,0);u=h;return}function Jn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+32|0;e=d+16|0;g=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=b;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=c;Vga(a,e,g);u=d;return}function Kn(a){a=a|0;return GR(a)|0}function Ln(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+32|0;e=d+16|0;g=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=b;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=c;Uga(a,e,g);u=d;return}function Mn(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=f[b>>2];f[g+4>>2]=f[b+4>>2];Rga(a,g,c,d);u=e;return}function Nn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+16|0;g=e+8|0;h=e;f[g>>2]=f[c>>2];f[g+4>>2]=f[c+4>>2];f[h>>2]=f[d>>2];f[h+4>>2]=f[d+4>>2];L8(a,b,g,h);u=e;return}function On(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;e=d+8|0;g=d;f[e>>2]=f[c>>2];f[e+4>>2]=f[c+4>>2];f[g>>2]=-1;f[g+4>>2]=-1;L8(a,b,e,g);u=d;return}function Pn(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=+d;e=+e;g=g|0;h=h|0;i=i|0;j=+j;var k=0,l=0,m=0,n=0;k=u;u=u+48|0;l=k+32|0;m=k+16|0;n=k;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=a;a=m+8|0;f[a>>2]=0;f[a+4>>2]=0;f[m>>2]=33619968;f[m+4>>2]=b;f[n+8>>2]=0;f[n+12>>2]=0;f[n>>2]=16842752;f[n+4>>2]=g;Waa(l,m,c,d,e,n,h,i,j);u=k;return}function Qn(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=+e;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;j=u;u=u+48|0;k=j+32|0;l=j+16|0;m=j;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=a;a=l+8|0;f[a>>2]=0;f[a+4>>2]=0;f[l>>2]=33619968;f[l+4>>2]=b;f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=g;Waa(k,l,c,d,e,m,h,i,.04);u=j;return}function Rn(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=+d;e=+e;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;i=u;u=u+48|0;j=i+32|0;k=i+16|0;l=i;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=a;a=k+8|0;f[a>>2]=0;f[a+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=b;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=g;Waa(j,k,c,d,e,l,h,0,.04);u=i;return}function Sn(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=+d;e=+e;g=g|0;var h=0,i=0,j=0,k=0;h=u;u=u+48|0;i=h+32|0;j=h+16|0;k=h;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=a;a=j+8|0;f[a>>2]=0;f[a+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=b;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=g;Waa(i,j,c,d,e,k,3,0,.04);u=h;return}function Tn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;var g=0,h=0,i=0;g=u;u=u+32|0;h=g+16|0;i=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;a=i+8|0;f[a>>2]=0;f[a+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=b;Waa(h,i,c,d,e,BK()|0,3,0,.04);u=g;return}function Un(a,b,c,d,e,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=+d;e=+e;g=g|0;h=h|0;i=i|0;j=j|0;k=+k;var l=0,m=0,n=0,o=0;l=u;u=u+48|0;m=l+32|0;n=l+16|0;o=l;f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=a;a=n+8|0;f[a>>2]=0;f[a+4>>2]=0;f[n>>2]=33619968;f[n+4>>2]=b;f[o+8>>2]=0;f[o+12>>2]=0;f[o>>2]=16842752;f[o+4>>2]=g;Naa(m,n,c,d,e,o,h,i,j,k);u=l;return}function Vn(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=+d;e=+e;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;k=u;u=u+48|0;l=k+32|0;m=k+16|0;n=k;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=a;a=m+8|0;f[a>>2]=0;f[a+4>>2]=0;f[m>>2]=33619968;f[m+4>>2]=b;f[n+8>>2]=0;f[n+12>>2]=0;f[n>>2]=16842752;f[n+4>>2]=g;Naa(l,m,c,d,e,n,h,i,j,.04);u=k;return}function Wn(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=+e;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;j=u;u=u+48|0;k=j+32|0;l=j+16|0;m=j;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=a;a=l+8|0;f[a>>2]=0;f[a+4>>2]=0;f[l>>2]=33619968;f[l+4>>2]=b;f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=g;Naa(k,l,c,d,e,m,h,i,0,.04);u=j;return}function Xn(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;i=u;u=u+80|0;j=i+64|0;k=i+48|0;l=i+16|0;m=i+32|0;n=i;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=a;a=k+8|0;f[a>>2]=0;f[a+4>>2]=0;f[k>>2]=50397184;f[k+4>>2]=b;f[l>>2]=f[c>>2];f[l+4>>2]=f[c+4>>2];f[l+8>>2]=f[c+8>>2];f[l+12>>2]=f[c+12>>2];c=m+8|0;f[c>>2]=0;f[c+4>>2]=0;f[m>>2]=50397184;f[m+4>>2]=d;d=n+8|0;f[d>>2]=0;f[d+4>>2]=0;f[n>>2]=50397184;f[n+4>>2]=e;$aa(j,k,l,m,n,g,h);u=i;return}function Yn(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;h=u;u=u+80|0;i=h+64|0;j=h+48|0;k=h+16|0;l=h+32|0;m=h;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=a;a=j+8|0;f[a>>2]=0;f[a+4>>2]=0;f[j>>2]=50397184;f[j+4>>2]=b;f[k>>2]=f[c>>2];f[k+4>>2]=f[c+4>>2];f[k+8>>2]=f[c+8>>2];f[k+12>>2]=f[c+12>>2];c=l+8|0;f[c>>2]=0;f[c+4>>2]=0;f[l>>2]=50397184;f[l+4>>2]=d;d=m+8|0;f[d>>2]=0;f[d+4>>2]=0;f[m>>2]=50397184;f[m+4>>2]=e;$aa(i,j,k,l,m,g,2);u=h;return}function Zn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;tta(a,b,c,d);return}function _n(a,b,c){a=a|0;b=b|0;c=c|0;tta(a,b,c,.2);return}function $n(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+32|0;d=c+16|0;e=c;f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=17104896;f[d+4>>2]=a;a=e+8|0;f[a>>2]=0;f[a+4>>2]=0;f[e>>2]=33619968;f[e+4>>2]=b;yD(d,e);u=c;return}function ao(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+64|0;g=e+48|0;h=e+32|0;i=e+16|0;j=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=b;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=c;c=j+8|0;f[c>>2]=0;f[c+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=d;qJ(g,h,i,j);u=e;return}function bo(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=u;u=u+112|0;k=j+88|0;l=j+72|0;m=j+56|0;n=j+40|0;o=j+16|0;p=j+24|0;q=j;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=a;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=b;f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=c;f[n+8>>2]=0;f[n+12>>2]=0;f[n>>2]=16842752;f[n+4>>2]=d;f[o>>2]=f[e>>2];f[o+4>>2]=f[e+4>>2];e=p+8|0;f[e>>2]=0;f[e+4>>2]=0;f[p>>2]=33619968;f[p+4>>2]=h;h=q+8|0;f[h>>2]=0;f[h+4>>2]=0;f[q>>2]=33619968;f[q+4>>2]=i;Y9(k,l,m,n,o,g,p,q);u=j;return}function co(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+32|0;e=d+16|0;g=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;a=g+8|0;f[a>>2]=0;f[a+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=b;Foa(e,g,c);u=d;return}function eo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+32|0;d=c+16|0;e=c;f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=a;a=e+8|0;f[a>>2]=0;f[a+4>>2]=0;f[e>>2]=33619968;f[e+4>>2]=b;Foa(d,e,-1);u=c;return}function fo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0;g=u;u=u+48|0;h=g+32|0;i=g+16|0;j=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;a=i+8|0;f[a>>2]=0;f[a+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=b;b=j+8|0;f[b>>2]=0;f[b+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=c;Goa(h,i,j,d,e);u=g;return}function go(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=u;u=u+48|0;g=e+32|0;h=e+16|0;i=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;a=h+8|0;f[a>>2]=0;f[a+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=b;b=i+8|0;f[b>>2]=0;f[b+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=c;Goa(g,h,i,d,-1);u=e;return}function ho(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+48|0;e=d+32|0;g=d+16|0;h=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;a=g+8|0;f[a>>2]=0;f[a+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=b;b=h+8|0;f[b>>2]=0;f[b+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=c;Goa(e,g,h,-1,-1);u=d;return}function io(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0.0;d=u;u=u+32|0;e=d+16|0;g=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;a=g+8|0;f[a>>2]=0;f[a+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=b;h=+KR(e,g,c);u=d;return +h}function jo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0.0;c=u;u=u+32|0;d=c+16|0;e=c;f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=a;a=e+8|0;f[a>>2]=0;f[a+4>>2]=0;f[e>>2]=33619968;f[e+4>>2]=b;g=+KR(d,e,0);u=c;return +g}function ko(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;f[c+8>>2]=0;f[c+12>>2]=0;f[c>>2]=16842752;f[c+4>>2]=a;a=tca(c)|0;u=b;return a|0}function lo(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0.0;i=u;u=u+64|0;j=i;k=i+48|0;l=i+32|0;m=i+16|0;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=a;a=l+8|0;f[a>>2]=0;f[a+4>>2]=0;f[l>>2]=50397184;f[l+4>>2]=c;c=m+8|0;f[c>>2]=0;f[c+4>>2]=0;f[m>>2]=33619968;f[m+4>>2]=h;f[j>>2]=f[d>>2];f[j+4>>2]=f[d+4>>2];f[j+8>>2]=f[d+8>>2];f[j+12>>2]=f[d+12>>2];n=+wW(k,b,l,j,e,g,m);u=i;return +n}function mo(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0.0;h=u;u=u+64|0;i=h+16|0;j=h+48|0;k=h+32|0;l=h;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=a;a=k+8|0;f[a>>2]=0;f[a+4>>2]=0;f[k>>2]=50397184;f[k+4>>2]=c;f[l>>2]=f[d>>2];f[l+4>>2]=f[d+4>>2];f[l+8>>2]=f[d+8>>2];f[l+12>>2]=f[d+12>>2];d=BK()|0;f[i>>2]=f[l>>2];f[i+4>>2]=f[l+4>>2];f[i+8>>2]=f[l+8>>2];f[i+12>>2]=f[l+12>>2];m=+wW(j,b,k,i,e,g,d);u=h;return +m}function no(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=u;u=u+32|0;j=i+16|0;k=i+8|0;l=i;m=j+8|0;f[m>>2]=0;f[m+4>>2]=0;f[j>>2]=50397184;f[j+4>>2]=a;f[k>>2]=f[b>>2];f[k+4>>2]=f[b+4>>2];f[l>>2]=f[c>>2];f[l+4>>2]=f[c+4>>2];Bba(j,k,l,d,e,g,h);u=i;return}function oo(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=u;u=u+32|0;i=h+16|0;j=h+8|0;k=h;l=i+8|0;f[l>>2]=0;f[l+4>>2]=0;f[i>>2]=50397184;f[i+4>>2]=a;f[j>>2]=f[b>>2];f[j+4>>2]=f[b+4>>2];f[k>>2]=f[c>>2];f[k+4>>2]=f[c+4>>2];Bba(i,j,k,d,e,g,0);u=h;return}function po(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=u;u=u+32|0;h=g+16|0;i=g+8|0;j=g;k=h+8|0;f[k>>2]=0;f[k+4>>2]=0;f[h>>2]=50397184;f[h+4>>2]=a;f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];f[j>>2]=f[c>>2];f[j+4>>2]=f[c+4>>2];Bba(h,i,j,d,e,8,0);u=g;return}function qo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+32|0;g=e+16|0;h=e+8|0;i=e;j=g+8|0;f[j>>2]=0;f[j+4>>2]=0;f[g>>2]=50397184;f[g+4>>2]=a;f[h>>2]=f[b>>2];f[h+4>>2]=f[b+4>>2];f[i>>2]=f[c>>2];f[i+4>>2]=f[c+4>>2];Bba(g,h,i,d,1,8,0);u=e;return}function ro(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+32|0;d=c+16|0;e=c;f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=a;a=e+8|0;f[a>>2]=0;f[a+4>>2]=0;f[e>>2]=33619968;f[e+4>>2]=b;EQ(d,e);u=c;return}function so(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+48|0;e=d+32|0;g=d+16|0;h=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=b;b=h+8|0;f[b>>2]=0;f[b+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=c;AQ(e,g,h);u=d;return}function to(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0,h=0,i=0.0;e=u;u=u+32|0;g=e+16|0;h=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=b;i=+Ioa(g,h,c,d);u=e;return +i}function uo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=u;u=u+64|0;h=g+48|0;i=g+32|0;j=g+16|0;k=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=b;b=j+8|0;f[b>>2]=0;f[b+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=c;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=e;lea(h,i,j,d,k);u=g;return}function vo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=u;u=u+48|0;g=e+32|0;h=e+16|0;i=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=b;b=i+8|0;f[b>>2]=0;f[b+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=c;lea(g,h,i,d,BK()|0);u=e;return}function wo(a,b,c){a=a|0;b=b|0;c=c|0;KH(a,b,c);return}function xo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+32|0;e=d+16|0;g=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=b;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=c;NE(a,e,g);u=d;return}function yo(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=b;NE(a,d,BK()|0);u=c;return}function zo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+64|0;g=e+48|0;h=e+32|0;i=e+16|0;j=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;a=h+8|0;f[a>>2]=0;f[a+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=b;b=i+8|0;f[b>>2]=0;f[b+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=c;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=d;OE(g,h,i,j);u=e;return}function Ao(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+48|0;e=d+32|0;g=d+16|0;h=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;a=g+8|0;f[a>>2]=0;f[a+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=b;b=h+8|0;f[b>>2]=0;f[b+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=c;OE(e,g,h,BK()|0);u=d;return}function Bo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+32|0;e=d+16|0;g=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;a=g+8|0;f[a>>2]=0;f[a+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=b;F1(e,g,c);u=d;return}function Co(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+32|0;d=c+16|0;e=c;f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=17104896;f[d+4>>2]=a;a=e+8|0;f[a>>2]=0;f[a+4>>2]=0;f[e>>2]=33619968;f[e+4>>2]=b;pP(d,e);u=c;return}function Do(a,b,c){a=a|0;b=b|0;c=c|0;LH(a,b,c);return}function Eo(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=b;K9(a,d);u=c;return}function Fo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+48|0;e=d+32|0;g=d+16|0;h=d+4|0;i=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=17104896;f[e+4>>2]=a;a=g+8|0;f[a>>2]=0;f[a+4>>2]=0;f[g>>2]=50659328;f[g+4>>2]=b;b=f[c>>2]|0;f[i>>2]=b;fe(b|0);Nl(h,i);rY(e,g,h);g=f[h>>2]|0;if(!g){j=f[i>>2]|0;ce(j|0);u=d;return}e=h+4|0;h=f[e>>2]|0;if((h|0)!=(g|0))f[e>>2]=h+(~((h+-4-g|0)>>>2)<<2);GQa(g);j=f[i>>2]|0;ce(j|0);u=d;return}function Go(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=b;koa(a,e,c);u=d;return}function Ho(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=b;koa(a,d,0);u=c;return}function Io(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0;j=u;u=u+64|0;k=j+40|0;l=j+24|0;m=j+8|0;n=j;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=a;a=l+8|0;f[a>>2]=0;f[a+4>>2]=0;f[l>>2]=33619968;f[l+4>>2]=b;f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=d;f[n>>2]=f[e>>2];f[n+4>>2]=f[e+4>>2];Q8(k,l,c,m,n,g,h,i);u=j;return}function Jo(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;i=u;u=u+96|0;j=i+72|0;k=i+56|0;l=i+40|0;m=i+32|0;n=i;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=a;a=k+8|0;f[a>>2]=0;f[a+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=b;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=d;f[m>>2]=f[e>>2];f[m+4>>2]=f[e+4>>2];p[n>>3]=1797693134862315708145274.0e284;p[n+8>>3]=1797693134862315708145274.0e284;p[n+16>>3]=1797693134862315708145274.0e284;p[n+24>>3]=1797693134862315708145274.0e284;Q8(j,k,c,l,m,g,h,n);u=i;return}function Ko(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;h=u;u=u+96|0;i=h+72|0;j=h+56|0;k=h+40|0;l=h+32|0;m=h;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=a;a=j+8|0;f[a>>2]=0;f[a+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=b;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=d;f[l>>2]=f[e>>2];f[l+4>>2]=f[e+4>>2];p[m>>3]=1797693134862315708145274.0e284;p[m+8>>3]=1797693134862315708145274.0e284;p[m+16>>3]=1797693134862315708145274.0e284;p[m+24>>3]=1797693134862315708145274.0e284;Q8(i,j,c,k,l,g,0,m);u=h;return}function Lo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;g=u;u=u+96|0;h=g+72|0;i=g+56|0;j=g+40|0;k=g+32|0;l=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;a=i+8|0;f[a>>2]=0;f[a+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=b;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=d;f[k>>2]=f[e>>2];f[k+4>>2]=f[e+4>>2];p[l>>3]=1797693134862315708145274.0e284;p[l+8>>3]=1797693134862315708145274.0e284;p[l+16>>3]=1797693134862315708145274.0e284;p[l+24>>3]=1797693134862315708145274.0e284;Q8(h,i,c,j,k,1,0,l);u=g;return}function Mo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+96|0;g=e+72|0;h=e+56|0;i=e+40|0;j=e+32|0;k=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;a=h+8|0;f[a>>2]=0;f[a+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=b;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=d;f[j>>2]=-1;f[j+4>>2]=-1;p[k>>3]=1797693134862315708145274.0e284;p[k+8>>3]=1797693134862315708145274.0e284;p[k+16>>3]=1797693134862315708145274.0e284;p[k+24>>3]=1797693134862315708145274.0e284;Q8(g,h,c,i,j,1,0,k);u=e;return}function No(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var g=0,h=0,i=0,j=0;g=u;u=u+48|0;h=g+32|0;i=g+16|0;j=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=b;b=j+8|0;f[b>>2]=0;f[b+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=c;EI(h,i,j,d,e);u=g;return}function Oo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0,h=0,i=0;e=u;u=u+48|0;g=e+32|0;h=e+16|0;i=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=b;b=i+8|0;f[b>>2]=0;f[b+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=c;EI(g,h,i,d,-1);u=e;return}function Po(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+48|0;e=d+32|0;g=d+16|0;h=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=b;b=h+8|0;f[b>>2]=0;f[b+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=c;EI(e,g,h,1.0,-1);u=d;return}function Qo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0.0;d=u;u=u+32|0;e=d+16|0;g=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=c;h=+IK(e,b,g);u=d;return +h}function Ro(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0;c=u;u=u+16|0;d=c;f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=a;e=+IK(d,b,BK()|0);u=c;return +e}function So(a){a=a|0;var b=0,c=0,d=0.0;b=u;u=u+16|0;c=b;f[c+8>>2]=0;f[c+12>>2]=0;f[c>>2]=16842752;f[c+4>>2]=a;d=+IK(c,4,BK()|0);u=b;return +d}function To(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0.0;e=u;u=u+48|0;g=e+32|0;h=e+16|0;i=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=b;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=d;j=+kL(g,h,c,i);u=e;return +j}function Uo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0.0;d=u;u=u+32|0;e=d+16|0;g=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=b;h=+kL(e,g,c,BK()|0);u=d;return +h}function Vo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0.0;c=u;u=u+32|0;d=c+16|0;e=c;f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=a;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=b;g=+kL(d,e,4,BK()|0);u=c;return +g}function Wo(a,b,c,d,e,g,h){a=a|0;b=b|0;c=+c;d=+d;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;i=u;u=u+48|0;j=i+32|0;k=i+16|0;l=i;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=a;a=k+8|0;f[a>>2]=0;f[a+4>>2]=0;f[k>>2]=50397184;f[k+4>>2]=b;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=h;NT(j,k,c,d,e,g,l);u=i;return}function Xo(a,b,c,d,e,g){a=a|0;b=b|0;c=+c;d=+d;e=e|0;g=g|0;var h=0,i=0,j=0;h=u;u=u+32|0;i=h+16|0;j=h;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=a;a=j+8|0;f[a>>2]=0;f[a+4>>2]=0;f[j>>2]=50397184;f[j+4>>2]=b;NT(i,j,c,d,e,g,BK()|0);u=h;return}function Yo(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=e|0;var g=0,h=0,i=0;g=u;u=u+32|0;h=g+16|0;i=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;a=i+8|0;f[a>>2]=0;f[a+4>>2]=0;f[i>>2]=50397184;f[i+4>>2]=b;NT(h,i,c,d,e,-1,BK()|0);u=g;return}function Zo(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;var e=0,g=0,h=0;e=u;u=u+32|0;g=e+16|0;h=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;a=h+8|0;f[a>>2]=0;f[a+4>>2]=0;f[h>>2]=50397184;f[h+4>>2]=b;NT(g,h,c,d,4,-1,BK()|0);u=e;return}function _o(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0,g=0;d=u;u=u+32|0;e=d+16|0;g=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;a=g+8|0;f[a>>2]=0;f[a+4>>2]=0;f[g>>2]=50397184;f[g+4>>2]=b;NT(e,g,c,0.0,4,-1,BK()|0);u=d;return}function $o(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+32|0;d=c+16|0;e=c;f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=a;a=e+8|0;f[a>>2]=0;f[a+4>>2]=0;f[e>>2]=50397184;f[e+4>>2]=b;NT(d,e,1.0,0.0,4,-1,BK()|0);u=c;return}function ap(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+48|0;e=d+32|0;g=d+16|0;h=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;a=g+8|0;f[a>>2]=0;f[a+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=b;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=c;PC(e,g,h);u=d;return}function bp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0.0;d=u;u=u+32|0;e=d+8|0;g=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;f[g>>2]=f[b>>2];f[g+4>>2]=f[b+4>>2];h=+uca(e,g,c);u=d;return +h}function cp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=u;u=u+64|0;h=g+48|0;i=g+32|0;j=g+16|0;k=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=b;b=j+8|0;f[b>>2]=0;f[b+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=c;c=k+8|0;f[c>>2]=0;f[c+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=d;CQ(h,i,j,k,e);u=g;return}function dp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+64|0;g=e+48|0;h=e+32|0;i=e+16|0;j=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=b;b=i+8|0;f[b>>2]=0;f[b+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=c;c=j+8|0;f[c>>2]=0;f[c+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=d;CQ(g,h,i,j,0);u=e;return}function ep(a,b,c){a=a|0;b=+b;c=c|0;var d=0,e=0,g=0;d=u;u=u+32|0;e=d+16|0;g=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;a=g+8|0;f[a>>2]=0;f[a+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=c;FQ(e,b,g);u=d;return}function fp(a,c,d,e,g,h,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;g=+g;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,q=0,r=0,s=0;l=u;u=u+64|0;m=l+48|0;n=l+40|0;o=l+32|0;q=l;r=m+8|0;f[r>>2]=0;f[r+4>>2]=0;f[m>>2]=50397184;f[m+4>>2]=a;f[n>>2]=0;f[n+4>>2]=0;a=c+11|0;r=b[a>>0]|0;s=r<<24>>24<0?f[c+4>>2]|0:r&255;if(s|0){r=JV(n,s)|0;DVa(r|0,((b[a>>0]|0)<0?f[c>>2]|0:c)|0,s|0)|0}f[o>>2]=f[d>>2];f[o+4>>2]=f[d+4>>2];p[q>>3]=+p[h>>3];p[q+8>>3]=+p[h+8>>3];p[q+16>>3]=+p[h+16>>3];p[q+24>>3]=+p[h+24>>3];Zba(m,n,o,e,g,q,i,j,k);KV(n);u=l;return}function gp(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=+g;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,q=0,r=0;k=u;u=u+64|0;l=k+48|0;m=k+40|0;n=k+32|0;o=k;q=l+8|0;f[q>>2]=0;f[q+4>>2]=0;f[l>>2]=50397184;f[l+4>>2]=a;f[m>>2]=0;f[m+4>>2]=0;a=c+11|0;q=b[a>>0]|0;r=q<<24>>24<0?f[c+4>>2]|0:q&255;if(r|0){q=JV(m,r)|0;DVa(q|0,((b[a>>0]|0)<0?f[c>>2]|0:c)|0,r|0)|0}f[n>>2]=f[d>>2];f[n+4>>2]=f[d+4>>2];p[o>>3]=+p[h>>3];p[o+8>>3]=+p[h+8>>3];p[o+16>>3]=+p[h+16>>3];p[o+24>>3]=+p[h+24>>3];Zba(l,m,n,e,g,o,i,j,0);KV(m);u=k;return}function hp(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=+g;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,q=0;j=u;u=u+64|0;k=j+48|0;l=j+40|0;m=j+32|0;n=j;o=k+8|0;f[o>>2]=0;f[o+4>>2]=0;f[k>>2]=50397184;f[k+4>>2]=a;f[l>>2]=0;f[l+4>>2]=0;a=c+11|0;o=b[a>>0]|0;q=o<<24>>24<0?f[c+4>>2]|0:o&255;if(q|0){o=JV(l,q)|0;DVa(o|0,((b[a>>0]|0)<0?f[c>>2]|0:c)|0,q|0)|0}f[m>>2]=f[d>>2];f[m+4>>2]=f[d+4>>2];p[n>>3]=+p[h>>3];p[n+8>>3]=+p[h+8>>3];p[n+16>>3]=+p[h+16>>3];p[n+24>>3]=+p[h+24>>3];Zba(k,l,m,e,g,n,i,8,0);KV(l);u=j;return}function ip(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=+g;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=u;u=u+64|0;j=i+48|0;k=i+40|0;l=i+32|0;m=i;n=j+8|0;f[n>>2]=0;f[n+4>>2]=0;f[j>>2]=50397184;f[j+4>>2]=a;f[k>>2]=0;f[k+4>>2]=0;a=c+11|0;n=b[a>>0]|0;o=n<<24>>24<0?f[c+4>>2]|0:n&255;if(o|0){n=JV(k,o)|0;DVa(n|0,((b[a>>0]|0)<0?f[c>>2]|0:c)|0,o|0)|0}f[l>>2]=f[d>>2];f[l+4>>2]=f[d+4>>2];p[m>>3]=+p[h>>3];p[m+8>>3]=+p[h+8>>3];p[m+16>>3]=+p[h+16>>3];p[m+24>>3]=+p[h+24>>3];Zba(j,k,l,e,g,m,1,8,0);KV(k);u=i;return}function jp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+32|0;g=e+16|0;h=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;a=h+8|0;f[a>>2]=0;f[a+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=b;L9(g,h,c,d);u=e;return}function kp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+32|0;e=d+16|0;g=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;a=g+8|0;f[a>>2]=0;f[a+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=b;L9(e,g,c,4);u=d;return}function lp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=u;u=u+48|0;d=c+24|0;e=c+8|0;g=c;f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=a;a=e+8|0;f[a>>2]=0;f[a+4>>2]=0;f[e>>2]=33619968;f[e+4>>2]=b;f[g>>2]=0;f[g+4>>2]=0;L9(d,e,g,4);u=c;return}function mp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+32|0;g=e+16|0;h=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;a=h+8|0;f[a>>2]=0;f[a+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=b;R9(g,h,c,d);u=e;return}function np(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+32|0;e=d+16|0;g=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;a=g+8|0;f[a>>2]=0;f[a+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=b;R9(e,g,c,4);u=d;return}function op(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=u;u=u+48|0;d=c+24|0;e=c+8|0;g=c;f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=a;a=e+8|0;f[a>>2]=0;f[a+4>>2]=0;f[e>>2]=33619968;f[e+4>>2]=b;f[g>>2]=0;f[g+4>>2]=0;R9(d,e,g,4);u=c;return}function pp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+48|0;e=d+32|0;g=d+16|0;h=d;i=e+8|0;f[i>>2]=0;f[i+4>>2]=0;f[e>>2]=50397184;f[e+4>>2]=a;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=b;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=c;xV(e,g,h);u=d;return}function qp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+48|0;e=d+32|0;g=d+16|0;h=d;i=e+8|0;f[i>>2]=0;f[i+4>>2]=0;f[e>>2]=50397184;f[e+4>>2]=a;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=b;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=c;wV(e,g,h);u=d;return}function rp(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=u;u=u+32|0;j=i+16|0;k=i+8|0;l=i;m=j+8|0;f[m>>2]=0;f[m+4>>2]=0;f[j>>2]=50397184;f[j+4>>2]=a;f[k>>2]=f[b>>2];f[k+4>>2]=f[b+4>>2];f[l>>2]=f[c>>2];f[l+4>>2]=f[c+4>>2];Vba(j,k,l,d,e,g,h);u=i;return}function sp(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=u;u=u+32|0;i=h+16|0;j=h+8|0;k=h;l=i+8|0;f[l>>2]=0;f[l+4>>2]=0;f[i>>2]=50397184;f[i+4>>2]=a;f[j>>2]=f[b>>2];f[j+4>>2]=f[b+4>>2];f[k>>2]=f[c>>2];f[k+4>>2]=f[c+4>>2];Vba(i,j,k,d,e,g,0);u=h;return}function tp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=u;u=u+32|0;h=g+16|0;i=g+8|0;j=g;k=h+8|0;f[k>>2]=0;f[k+4>>2]=0;f[h>>2]=50397184;f[h+4>>2]=a;f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];f[j>>2]=f[c>>2];f[j+4>>2]=f[c+4>>2];Vba(h,i,j,d,e,8,0);u=g;return}function up(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+32|0;g=e+16|0;h=e+8|0;i=e;j=g+8|0;f[j>>2]=0;f[j+4>>2]=0;f[g>>2]=50397184;f[g+4>>2]=a;f[h>>2]=f[b>>2];f[h+4>>2]=f[b+4>>2];f[i>>2]=f[c>>2];f[i+4>>2]=f[c+4>>2];Vba(g,h,i,d,1,8,0);u=e;return}function vp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=u;u=u+32|0;h=g+16|0;i=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;a=i+8|0;f[a>>2]=0;f[a+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=b;_D(h,i,c,d,e);u=g;return}function wp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+32|0;g=e+16|0;h=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;a=h+8|0;f[a>>2]=0;f[a+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=b;_D(g,h,c,d,-1);u=e;return}function xp(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=u;u=u+64|0;j=i+48|0;k=i+32|0;l=i+16|0;m=i;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=a;a=k+8|0;f[a>>2]=0;f[a+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=b;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=c;f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=d;gga(j,k,l,m,e,g,h);u=i;return}function yp(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;h=u;u=u+96|0;i=h+80|0;j=h+64|0;k=h+48|0;l=h+32|0;m=h;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=a;a=j+8|0;f[a>>2]=0;f[a+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=b;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=c;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=d;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;f[m+24>>2]=0;f[m+28>>2]=0;gga(i,j,k,l,e,g,m);u=h;return}function zp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;g=u;u=u+96|0;h=g+80|0;i=g+64|0;j=g+48|0;k=g+32|0;l=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;a=i+8|0;f[a>>2]=0;f[a+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=b;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=c;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=d;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[l+24>>2]=0;f[l+28>>2]=0;gga(h,i,j,k,e,0,l);u=g;return}function Ap(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+32|0;g=e+16|0;h=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;a=h+8|0;f[a>>2]=0;f[a+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=d;kM(g,b,c,h);u=e;return}function Bp(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=+d;e=+e;g=g|0;var h=0,i=0,j=0,k=0;h=u;u=u+48|0;i=h+24|0;j=h+8|0;k=h;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=a;a=j+8|0;f[a>>2]=0;f[a+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=b;f[k>>2]=f[c>>2];f[k+4>>2]=f[c+4>>2];V5(i,j,k,d,e,g);u=h;return}function Cp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;var g=0,h=0,i=0,j=0;g=u;u=u+48|0;h=g+24|0;i=g+8|0;j=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;a=i+8|0;f[a>>2]=0;f[a+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=b;f[j>>2]=f[c>>2];f[j+4>>2]=f[c+4>>2];V5(h,i,j,d,e,1);u=g;return}function Dp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0,h=0,i=0;e=u;u=u+48|0;g=e+24|0;h=e+8|0;i=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;a=h+8|0;f[a>>2]=0;f[a+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=b;f[i>>2]=f[c>>2];f[i+4>>2]=f[c+4>>2];V5(g,h,i,d,0.0,1);u=e;return}function Ep(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+48|0;e=d+24|0;g=d+8|0;h=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;a=g+8|0;f[a>>2]=0;f[a+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=b;f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];V5(e,g,h,0.0,0.0,1);u=d;return}function Fp(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=+h;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;j=u;u=u+80|0;k=j+56|0;l=j+40|0;m=j+24|0;n=j+8|0;o=j;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=a;a=l+8|0;f[a>>2]=0;f[a+4>>2]=0;f[l>>2]=33619968;f[l+4>>2]=b;f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=d;f[n+8>>2]=0;f[n+12>>2]=0;f[n>>2]=16842752;f[n+4>>2]=e;f[o>>2]=f[g>>2];f[o+4>>2]=f[g+4>>2];ioa(k,l,c,m,n,o,h,i);u=j;return}function Gp(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=+h;var i=0,j=0,k=0,l=0,m=0,n=0;i=u;u=u+80|0;j=i+56|0;k=i+40|0;l=i+24|0;m=i+8|0;n=i;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=a;a=k+8|0;f[a>>2]=0;f[a+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=b;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=d;f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=e;f[n>>2]=f[g>>2];f[n+4>>2]=f[g+4>>2];ioa(j,k,c,l,m,n,h,4);u=i;return}function Hp(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;h=u;u=u+80|0;i=h+56|0;j=h+40|0;k=h+24|0;l=h+8|0;m=h;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=a;a=j+8|0;f[a>>2]=0;f[a+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=b;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=d;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=e;f[m>>2]=f[g>>2];f[m+4>>2]=f[g+4>>2];ioa(i,j,c,k,l,m,0.0,4);u=h;return}function Ip(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;g=u;u=u+80|0;h=g+56|0;i=g+40|0;j=g+24|0;k=g+8|0;l=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;a=i+8|0;f[a>>2]=0;f[a+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=b;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=d;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=e;f[l>>2]=-1;f[l+4>>2]=-1;ioa(h,i,c,j,k,l,0.0,4);u=g;return}function Jp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=d+8|0;f[e>>2]=0;f[e+4>>2]=0;f[d>>2]=50397184;f[d+4>>2]=a;BD(d,b);u=c;return}function Kp(a){a=a|0;var b=0,c=0,d=0,e=0;b=u;u=u+48|0;c=b+32|0;d=b;e=c+8|0;f[e>>2]=0;f[e+4>>2]=0;f[c>>2]=50397184;f[c+4>>2]=a;p[d>>3]=1.0;a=d+8|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;BD(c,d);u=b;return}function Lp(a){a=a|0;vV(a);return}function Mp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=u;u=u+48|0;g=e+32|0;h=e+16|0;i=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=b;b=i+8|0;f[b>>2]=0;f[b+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=c;c=UR(g,h,i,d)|0;u=e;return c|0}function Np(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+48|0;e=d+32|0;g=d+16|0;h=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=b;b=h+8|0;f[b>>2]=0;f[b+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=c;c=UR(e,g,h,0)|0;u=d;return c|0}function Op(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0.0;d=u;u=u+32|0;e=d+16|0;g=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;a=g+8|0;f[a>>2]=0;f[a+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=b;h=+UQ(e,g,c);u=d;return +h}function Pp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0.0;c=u;u=u+32|0;d=c+16|0;e=c;f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=a;a=e+8|0;f[a>>2]=0;f[a+4>>2]=0;f[e>>2]=33619968;f[e+4>>2]=b;g=+UQ(d,e,300);u=c;return +g}function Qp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+32|0;d=c+16|0;e=c;f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=a;a=e+8|0;f[a>>2]=0;f[a+4>>2]=0;f[e>>2]=33882112;f[e+4>>2]=b;dS(d,e);u=c;return}function Rp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+32|0;d=c+16|0;e=c;f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=a;a=e+8|0;f[a>>2]=0;f[a+4>>2]=0;f[e>>2]=33619968;f[e+4>>2]=b;NQ(d,e);u=c;return}function Sp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=u;u=u+64|0;h=g+48|0;i=g+32|0;j=g+16|0;k=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=b;b=j+8|0;f[b>>2]=0;f[b+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=c;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=d;aI(h,i,j,k,e);u=g;return}function Tp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+64|0;g=e+48|0;h=e+32|0;i=e+16|0;j=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=b;b=i+8|0;f[b>>2]=0;f[b+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=c;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=d;aI(g,h,i,j,-1);u=e;return}function Up(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+48|0;e=d+32|0;g=d+16|0;h=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=b;b=h+8|0;f[b>>2]=0;f[b+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=c;aI(e,g,h,BK()|0,-1);u=d;return}function Vp(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=e|0;var g=0,h=0,i=0,j=0.0;g=u;u=u+32|0;h=g+16|0;i=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;a=i+8|0;f[a>>2]=0;f[a+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=b;j=+T_(h,i,c,d,e);u=g;return +j}function Wp(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=b;CD(a,d);u=c;return}function Xp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+48|0;e=d+32|0;g=d+16|0;h=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=a;a=g+8|0;f[a>>2]=0;f[a+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=b;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=c;AC(e,g,h);u=d;return}function Yp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+32|0;d=c+16|0;e=c;f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=a;a=e+8|0;f[a>>2]=0;f[a+4>>2]=0;f[e>>2]=33619968;f[e+4>>2]=b;DD(d,e);u=c;return}function Zp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;g=u;u=u+80|0;h=g+64|0;i=g+48|0;j=g+32|0;k=g+16|0;l=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;a=i+8|0;f[a>>2]=0;f[a+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=b;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=c;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=d;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=e;daa(h,i,j,k,l);u=g;return}function _p(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+64|0;g=e+48|0;h=e+32|0;i=e+16|0;j=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;a=h+8|0;f[a>>2]=0;f[a+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=b;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=c;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=d;daa(g,h,i,j,BK()|0);u=e;return}function $p(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+32|0;d=c+16|0;e=c;f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=17104896;f[d+4>>2]=a;a=e+8|0;f[a>>2]=0;f[a+4>>2]=0;f[e>>2]=33619968;f[e+4>>2]=b;AD(d,e);u=c;return}function aq(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=u;u=u+64|0;j=i+40|0;k=i+24|0;l=i+8|0;m=i;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=a;a=k+8|0;f[a>>2]=0;f[a+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=b;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=c;f[m>>2]=f[d>>2];f[m+4>>2]=f[d+4>>2];Kga(j,k,l,m,e,g,h);u=i;return}function bq(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;h=u;u=u+96|0;i=h+72|0;j=h+56|0;k=h+40|0;l=h+32|0;m=h;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=a;a=j+8|0;f[a>>2]=0;f[a+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=b;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=c;f[l>>2]=f[d>>2];f[l+4>>2]=f[d+4>>2];f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;f[m+24>>2]=0;f[m+28>>2]=0;Kga(i,j,k,l,e,g,m);u=h;return}function cq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;g=u;u=u+96|0;h=g+72|0;i=g+56|0;j=g+40|0;k=g+32|0;l=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;a=i+8|0;f[a>>2]=0;f[a+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=b;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=c;f[k>>2]=f[d>>2];f[k+4>>2]=f[d+4>>2];f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[l+24>>2]=0;f[l+28>>2]=0;Kga(h,i,j,k,e,0,l);u=g;return}function dq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+96|0;g=e+72|0;h=e+56|0;i=e+40|0;j=e+32|0;k=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;a=h+8|0;f[a>>2]=0;f[a+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=b;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=c;f[j>>2]=f[d>>2];f[j+4>>2]=f[d+4>>2];f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[k+24>>2]=0;f[k+28>>2]=0;Kga(g,h,i,j,1,0,k);u=e;return}function eq(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=u;u=u+64|0;j=i+40|0;k=i+24|0;l=i+8|0;m=i;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=a;a=k+8|0;f[a>>2]=0;f[a+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=b;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=c;f[m>>2]=f[d>>2];f[m+4>>2]=f[d+4>>2];Qga(j,k,l,m,e,g,h);u=i;return}function fq(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;h=u;u=u+96|0;i=h+72|0;j=h+56|0;k=h+40|0;l=h+32|0;m=h;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=a;a=j+8|0;f[a>>2]=0;f[a+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=b;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=c;f[l>>2]=f[d>>2];f[l+4>>2]=f[d+4>>2];f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;f[m+24>>2]=0;f[m+28>>2]=0;Qga(i,j,k,l,e,g,m);u=h;return}function gq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;g=u;u=u+96|0;h=g+72|0;i=g+56|0;j=g+40|0;k=g+32|0;l=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;a=i+8|0;f[a>>2]=0;f[a+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=b;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=c;f[k>>2]=f[d>>2];f[k+4>>2]=f[d+4>>2];f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[l+24>>2]=0;f[l+28>>2]=0;Qga(h,i,j,k,e,0,l);u=g;return}function hq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+96|0;g=e+72|0;h=e+56|0;i=e+40|0;j=e+32|0;k=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;a=h+8|0;f[a>>2]=0;f[a+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=b;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=c;f[j>>2]=f[d>>2];f[j+4>>2]=f[d+4>>2];f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[k+24>>2]=0;f[k+28>>2]=0;Qga(g,h,i,j,1,0,k);u=e;return}function iq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+32|0;d=c+16|0;e=c;f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=a;a=e+8|0;f[a>>2]=0;f[a+4>>2]=0;f[e>>2]=50397184;f[e+4>>2]=b;iaa(d,e);u=c;return}function jq(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=u;u=u+96|0;k=j+80|0;l=j+64|0;m=j+48|0;n=j+32|0;o=j+16|0;p=j;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=a;a=l+8|0;f[a>>2]=0;f[a+4>>2]=0;f[l>>2]=33882112;f[l+4>>2]=c;c=m+8|0;f[c>>2]=0;f[c+4>>2]=0;f[m>>2]=33619968;f[m+4>>2]=d;d=n+8|0;f[d>>2]=0;f[d+4>>2]=0;f[n>>2]=33882112;f[n+4>>2]=g;f[o+8>>2]=0;f[o+12>>2]=0;f[o>>2]=16842752;f[o+4>>2]=h;f[p+8>>2]=0;f[p+12>>2]=0;f[p>>2]=16842752;f[p+4>>2]=i;oya(k,b,l,m,e,n,o,p);u=j;return}function kq(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;i=u;u=u+80|0;j=i+64|0;k=i+48|0;l=i+32|0;m=i+16|0;n=i;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=a;a=k+8|0;f[a>>2]=0;f[a+4>>2]=0;f[k>>2]=33882112;f[k+4>>2]=c;c=l+8|0;f[c>>2]=0;f[c+4>>2]=0;f[l>>2]=33619968;f[l+4>>2]=d;d=m+8|0;f[d>>2]=0;f[d+4>>2]=0;f[m>>2]=33882112;f[m+4>>2]=g;f[n+8>>2]=0;f[n+12>>2]=0;f[n>>2]=16842752;f[n+4>>2]=h;oya(j,b,k,l,e,m,n,BK()|0);u=i;return}function lq(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=u;u=u+64|0;i=h+48|0;j=h+32|0;k=h+16|0;l=h;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=a;a=j+8|0;f[a>>2]=0;f[a+4>>2]=0;f[j>>2]=33882112;f[j+4>>2]=c;c=k+8|0;f[c>>2]=0;f[c+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=d;d=l+8|0;f[d>>2]=0;f[d+4>>2]=0;f[l>>2]=33882112;f[l+4>>2]=g;g=BK()|0;oya(i,b,j,k,e,l,g,BK()|0);u=h;return}function mq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0;g=u;u=u+48|0;h=g+32|0;i=g+16|0;j=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;a=i+8|0;f[a>>2]=0;f[a+4>>2]=0;f[i>>2]=33882112;f[i+4>>2]=c;c=j+8|0;f[c>>2]=0;f[c+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=d;d=BK()|0;c=BK()|0;oya(h,b,i,j,e,d,c,BK()|0);u=g;return}function nq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+64|0;g=e+40|0;h=e+24|0;i=e+8|0;j=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;a=h+8|0;f[a>>2]=0;f[a+4>>2]=0;f[h>>2]=33882112;f[h+4>>2]=c;c=i+8|0;f[c>>2]=0;f[c+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=d;lya(j);d=BK()|0;c=BK()|0;oya(g,b,h,i,j,d,c,BK()|0);c=f[j>>2]|0;if(!c){u=e;return}j=c+4|0;d=f[j>>2]|0;f[j>>2]=d+-1;if((d|0)!=1){u=e;return}qg[f[(f[c>>2]|0)+8>>2]&1023](c);u=e;return}function oq(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=+g;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=u;u=u+80|0;i=h+64|0;j=h+48|0;k=h+32|0;l=h+16|0;m=h;n=i+8|0;f[n>>2]=0;f[n+4>>2]=0;f[i>>2]=50397184;f[i+4>>2]=a;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=b;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=c;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=d;f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=e;_ya(i,j,k,l,m,g);u=h;return}function pq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+80|0;g=e+64|0;h=e+48|0;i=e+32|0;j=e;k=g+8|0;f[k>>2]=0;f[k+4>>2]=0;f[g>>2]=50397184;f[g+4>>2]=a;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=17104896;f[h+4>>2]=b;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=c;p[j>>3]=+p[d>>3];p[j+8>>3]=+p[d+8>>3];p[j+16>>3]=+p[d+16>>3];p[j+24>>3]=+p[d+24>>3];Tya(g,h,i,j);u=e;return}function qq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+80|0;e=d+64|0;g=d+48|0;h=d+32|0;i=d;j=e+8|0;f[j>>2]=0;f[j+4>>2]=0;f[e>>2]=50397184;f[e+4>>2]=a;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=17104896;f[g+4>>2]=b;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=c;p[i>>3]=0.0;p[i+8>>3]=255.0;c=i+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;Tya(e,g,h,i);u=d;return}function rq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=u;u=u+64|0;d=c+48|0;e=c+32|0;g=c;h=d+8|0;f[h>>2]=0;f[h+4>>2]=0;f[d>>2]=50397184;f[d+4>>2]=a;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=17104896;f[e+4>>2]=b;b=BK()|0;p[g>>3]=0.0;p[g+8>>3]=255.0;a=g+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;Tya(d,e,b,g);u=c;return}function sq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=u;u=u+16|0;h=g;i=h+8|0;f[i>>2]=0;f[i+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=d;$ya(a,b,c,h,e);u=g;return}function tq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+16|0;g=e;h=g+8|0;f[h>>2]=0;f[h+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=d;$ya(a,b,c,g,1);u=e;return}function uq(a,b,c,d,e,g,h){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=u;u=u+96|0;j=i+80|0;k=i+64|0;l=i+48|0;m=i+32|0;n=i+16|0;o=i;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=17104896;f[j+4>>2]=a;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=c;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=d;d=m+8|0;f[d>>2]=0;f[d+4>>2]=0;f[m>>2]=33619968;f[m+4>>2]=e;e=n+8|0;f[e>>2]=0;f[e+4>>2]=0;f[n>>2]=33619968;f[n+4>>2]=g;g=o+8|0;f[g>>2]=0;f[g+4>>2]=0;f[o>>2]=33619968;f[o+4>>2]=h;Nya(j,b,k,l,m,n,o);u=i;return}function vq(a,b,c,d,e,g){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;h=u;u=u+80|0;i=h+64|0;j=h+48|0;k=h+32|0;l=h+16|0;m=h;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=17104896;f[i+4>>2]=a;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=c;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=d;d=l+8|0;f[d>>2]=0;f[d+4>>2]=0;f[l>>2]=33619968;f[l+4>>2]=e;e=m+8|0;f[e>>2]=0;f[e+4>>2]=0;f[m>>2]=33619968;f[m+4>>2]=g;Nya(i,b,j,k,l,m,BK()|0);u=h;return}function wq(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=u;u=u+96|0;k=j+80|0;l=j+64|0;m=j+48|0;n=j+32|0;o=j+16|0;p=j;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=a;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=b;f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=c;f[n+8>>2]=0;f[n+12>>2]=0;f[n>>2]=16842752;f[n+4>>2]=d;d=o+8|0;f[d>>2]=0;f[d+4>>2]=0;f[o>>2]=33619968;f[o+4>>2]=h;h=p+8|0;f[h>>2]=0;f[h+4>>2]=0;f[p>>2]=33619968;f[p+4>>2]=i;Lwa(k,l,m,n,e,g,o,p);u=j;return}function xq(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e+8|0;h=e;i=f[(f[a>>2]|0)+20>>2]|0;f[g>>2]=0;f[g+4>>2]=0;j=c+11|0;k=b[j>>0]|0;l=k<<24>>24<0?f[c+4>>2]|0:k&255;if(l|0){k=JV(g,l)|0;DVa(k|0,((b[j>>0]|0)<0?f[c>>2]|0:c)|0,l|0)|0}f[h>>2]=0;f[h+4>>2]=0;l=d+11|0;c=b[l>>0]|0;j=c<<24>>24<0?f[d+4>>2]|0:c&255;if(!j){m=bg[i&127](a,g,h)|0;KV(h);KV(g);u=e;return m|0}c=JV(h,j)|0;DVa(c|0,((b[l>>0]|0)<0?f[d>>2]|0:d)|0,j|0)|0;m=bg[i&127](a,g,h)|0;KV(h);KV(g);u=e;return m|0}function yq(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d+8|0;g=d;h=f[(f[a>>2]|0)+20>>2]|0;f[e>>2]=0;f[e+4>>2]=0;i=c+11|0;j=b[i>>0]|0;k=j<<24>>24<0?f[c+4>>2]|0:j&255;if(k|0){j=JV(e,k)|0;DVa(j|0,((b[i>>0]|0)<0?f[c>>2]|0:c)|0,k|0)|0}f[g>>2]=0;f[g+4>>2]=0;k=bg[h&127](a,e,g)|0;KV(g);KV(e);u=d;return k|0}function zq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=f[(f[a>>2]|0)+8>>2]|0;f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=b;zg[e&511](a,d);u=c;return}function Aq(a,b,c,d,e,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;i=+i;j=+j;k=k|0;var l=0,m=0,n=0,o=0,p=0;l=u;u=u+32|0;m=l+16|0;n=l+8|0;o=l;p=f[(f[a>>2]|0)+44>>2]|0;f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=b;f[n>>2]=f[g>>2];f[n+4>>2]=f[g+4>>2];f[o>>2]=f[h>>2];f[o+4>>2]=f[h+4>>2];Oh[p&3](a,m,c,d,e,n,o,i,j,k);u=l;return}function Bq(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;i=+i;j=+j;var k=0,l=0,m=0,n=0,o=0;k=u;u=u+32|0;l=k+16|0;m=k+8|0;n=k;o=f[(f[a>>2]|0)+44>>2]|0;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=b;f[m>>2]=f[g>>2];f[m+4>>2]=f[g+4>>2];f[n>>2]=f[h>>2];f[n+4>>2]=f[h+4>>2];Oh[o&3](a,l,c,d,e,m,n,i,j,0);u=k;return}function Cq(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;i=+i;var j=0,k=0,l=0,m=0,n=0;j=u;u=u+32|0;k=j+16|0;l=j+8|0;m=j;n=f[(f[a>>2]|0)+44>>2]|0;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=b;f[l>>2]=f[g>>2];f[l+4>>2]=f[g+4>>2];f[m>>2]=f[h>>2];f[m+4>>2]=f[h+4>>2];Oh[n&3](a,k,c,d,e,l,m,i,2.0,0);u=j;return}function Dq(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=u;u=u+32|0;j=i+16|0;k=i+8|0;l=i;m=f[(f[a>>2]|0)+44>>2]|0;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=b;f[k>>2]=f[g>>2];f[k+4>>2]=f[g+4>>2];f[l>>2]=f[h>>2];f[l+4>>2]=f[h+4>>2];Oh[m&3](a,j,c,d,e,k,l,1.05,2.0,0);u=i;return}function Eq(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=u;u=u+32|0;i=h+16|0;j=h+8|0;k=h;l=f[(f[a>>2]|0)+44>>2]|0;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=b;f[j>>2]=f[g>>2];f[j+4>>2]=f[g+4>>2];f[k>>2]=0;f[k+4>>2]=0;Oh[l&3](a,i,c,d,e,j,k,1.05,2.0,0);u=h;return}function Fq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var g=0,h=0,i=0,j=0,k=0;g=u;u=u+32|0;h=g+16|0;i=g+8|0;j=g;k=f[(f[a>>2]|0)+44>>2]|0;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=b;f[i>>2]=0;f[i+4>>2]=0;f[j>>2]=0;f[j+4>>2]=0;Oh[k&3](a,h,c,d,e,i,j,1.05,2.0,0);u=g;return}function Gq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+32|0;g=e+16|0;h=e+8|0;i=e;j=f[(f[a>>2]|0)+44>>2]|0;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=b;f[h>>2]=0;f[h+4>>2]=0;f[i>>2]=0;f[i+4>>2]=0;Oh[j&3](a,g,c,d,0.0,h,i,1.05,2.0,0);u=e;return}function Hq(a,b){a=a|0;b=b|0;qza(a,b);return}function Iq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;jza(a,b,c,d);return}function Jq(a,b,c){a=a|0;b=b|0;c=c|0;jza(a,b,c,0);return}function Kq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0,h=0,i=0;e=u;u=u+32|0;g=e+16|0;h=e;i=f[(f[a>>2]|0)+32>>2]|0;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=b;b=h+8|0;f[b>>2]=0;f[b+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=c;Sg[i&63](a,g,h,d);u=e;return}function Lq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+32|0;e=d+16|0;g=d;h=f[(f[a>>2]|0)+32>>2]|0;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=b;b=g+8|0;f[b>>2]=0;f[b+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=c;Sg[h&63](a,e,g,-1.0);u=d;return}function Mq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=f[(f[a>>2]|0)+36>>2]|0;g=d+8|0;f[g>>2]=0;f[g+4>>2]=0;f[d>>2]=33619968;f[d+4>>2]=b;zg[e&511](a,d);u=c;return}function Nq(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;gwa(a,b,c,d);return}function Oq(a,b,c){a=a|0;b=b|0;c=+c;gwa(a,b,c,1);return}function Pq(a,b){a=a|0;b=b|0;gwa(a,b,16.0,1);return}function Qq(a){a=a|0;gwa(a,500,16.0,1);return}function Rq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0,h=0,i=0;e=u;u=u+32|0;g=e+16|0;h=e;i=f[(f[a>>2]|0)+32>>2]|0;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=b;b=h+8|0;f[b>>2]=0;f[b+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=c;Sg[i&63](a,g,h,d);u=e;return}function Sq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+32|0;e=d+16|0;g=d;h=f[(f[a>>2]|0)+32>>2]|0;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=b;b=g+8|0;f[b>>2]=0;f[b+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=c;Sg[h&63](a,e,g,-1.0);u=d;return}function Tq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=f[(f[a>>2]|0)+44>>2]|0;f[d>>2]=f[b>>2];f[d+4>>2]=f[b+4>>2];zg[e&511](a,d);u=c;return}function Uq(a,b,c){a=a|0;b=+b;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[e>>2]=f[c>>2];f[e+4>>2]=f[c+4>>2];X8(a,b,e);u=d;return}function Vq(a,b){a=a|0;b=+b;var c=0,d=0;c=u;u=u+16|0;d=c;f[d>>2]=8;f[d+4>>2]=8;X8(a,b,d);u=c;return}function Wq(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;f[c>>2]=8;f[c+4>>2]=8;X8(a,40.0,c);u=b;return}function Xq(a,b){a=a|0;b=+b;rg[f[(f[a>>2]|0)+36>>2]&15](a,b);return}function Yq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+32|0;e=d+16|0;g=d;h=f[(f[a>>2]|0)+32>>2]|0;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=b;b=g+8|0;f[b>>2]=0;f[b+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=c;Rg[h&255](a,e,g);u=d;return}function Zq(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+16|0;e=d;f[e>>2]=0;f[e+4>>2]=0;g=c+11|0;h=b[g>>0]|0;i=h<<24>>24<0?f[c+4>>2]|0:h&255;if(i|0){h=JV(e,i)|0;DVa(h|0,((b[g>>0]|0)<0?f[c>>2]|0:c)|0,i|0)|0}i=Hta(a,e)|0;KV(e);u=d;return i|0}function _q(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;k=u;u=u+32|0;l=k+16|0;m=k+8|0;n=k;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=b;f[m>>2]=f[i>>2];f[m+4>>2]=f[i+4>>2];f[n>>2]=f[j>>2];f[n+4>>2]=f[j+4>>2];Ota(a,l,c,d,e,g,h,m,n);u=k;return}function $q(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;j=u;u=u+32|0;k=j+16|0;l=j+8|0;m=j;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=b;f[l>>2]=f[i>>2];f[l+4>>2]=f[i+4>>2];f[m>>2]=0;f[m+4>>2]=0;Ota(a,k,c,d,e,g,h,l,m);u=j;return}function ar(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;i=u;u=u+32|0;j=i+16|0;k=i+8|0;l=i;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=b;f[k>>2]=0;f[k+4>>2]=0;f[l>>2]=0;f[l+4>>2]=0;Ota(a,j,c,d,e,g,h,k,l);u=i;return}function br(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;g=g|0;var h=0,i=0,j=0,k=0;h=u;u=u+32|0;i=h+16|0;j=h+8|0;k=h;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=b;f[j>>2]=0;f[j+4>>2]=0;f[k>>2]=0;f[k+4>>2]=0;Ota(a,i,c,d,e,g,0,j,k);u=h;return}function cr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var g=0,h=0,i=0,j=0;g=u;u=u+32|0;h=g+16|0;i=g+8|0;j=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=b;f[i>>2]=0;f[i+4>>2]=0;f[j>>2]=0;f[j+4>>2]=0;Ota(a,h,c,d,e,3,0,i,j);u=g;return}function dr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=u;u=u+32|0;g=e+16|0;h=e+8|0;i=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=b;f[h>>2]=0;f[h+4>>2]=0;f[i>>2]=0;f[i+4>>2]=0;Ota(a,g,c,d,1.1,3,0,h,i);u=e;return}function er(a,b,c,d,e,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=+g;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;m=u;u=u+32|0;n=m+16|0;o=m+8|0;p=m;f[n+8>>2]=0;f[n+12>>2]=0;f[n>>2]=16842752;f[n+4>>2]=b;f[o>>2]=f[j>>2];f[o+4>>2]=f[j+4>>2];f[p>>2]=f[k>>2];f[p+4>>2]=f[k+4>>2];Pta(a,n,c,d,e,g,h,i,o,p,l);u=m;return}function fr(a,b,c,d,e,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=+g;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0;l=u;u=u+32|0;m=l+16|0;n=l+8|0;o=l;f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=b;f[n>>2]=f[j>>2];f[n+4>>2]=f[j+4>>2];f[o>>2]=f[k>>2];f[o+4>>2]=f[k+4>>2];Pta(a,m,c,d,e,g,h,i,n,o,0);u=l;return}function gr(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=+g;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;k=u;u=u+32|0;l=k+16|0;m=k+8|0;n=k;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=b;f[m>>2]=f[j>>2];f[m+4>>2]=f[j+4>>2];f[n>>2]=0;f[n+4>>2]=0;Pta(a,l,c,d,e,g,h,i,m,n,0);u=k;return}function hr(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=+g;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;j=u;u=u+32|0;k=j+16|0;l=j+8|0;m=j;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=b;f[l>>2]=0;f[l+4>>2]=0;f[m>>2]=0;f[m+4>>2]=0;Pta(a,k,c,d,e,g,h,i,l,m,0);u=j;return}function ir(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=+g;h=h|0;var i=0,j=0,k=0,l=0;i=u;u=u+32|0;j=i+16|0;k=i+8|0;l=i;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=b;f[k>>2]=0;f[k+4>>2]=0;f[l>>2]=0;f[l+4>>2]=0;Pta(a,j,c,d,e,g,h,0,k,l,0);u=i;return}function jr(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=+g;var h=0,i=0,j=0,k=0;h=u;u=u+32|0;i=h+16|0;j=h+8|0;k=h;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=b;f[j>>2]=0;f[j+4>>2]=0;f[k>>2]=0;f[k+4>>2]=0;Pta(a,i,c,d,e,g,3,0,j,k,0);u=h;return}function kr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0;g=u;u=u+32|0;h=g+16|0;i=g+8|0;j=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=b;f[i>>2]=0;f[i+4>>2]=0;f[j>>2]=0;f[j+4>>2]=0;Pta(a,h,c,d,e,1.1,3,0,i,j,0);u=g;return}function lr(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;j=u;u=u+32|0;k=j+16|0;l=j+8|0;m=j;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=b;f[l>>2]=f[h>>2];f[l+4>>2]=f[h+4>>2];f[m>>2]=f[i>>2];f[m+4>>2]=f[i+4>>2];Nta(a,k,c,d,e,g,l,m);u=j;return}function mr(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;i=u;u=u+32|0;j=i+16|0;k=i+8|0;l=i;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=b;f[k>>2]=f[h>>2];f[k+4>>2]=f[h+4>>2];f[l>>2]=0;f[l+4>>2]=0;Nta(a,j,c,d,e,g,k,l);u=i;return}function nr(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;h=u;u=u+32|0;i=h+16|0;j=h+8|0;k=h;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=b;f[j>>2]=0;f[j+4>>2]=0;f[k>>2]=0;f[k+4>>2]=0;Nta(a,i,c,d,e,g,j,k);u=h;return}function or(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var g=0,h=0,i=0,j=0;g=u;u=u+32|0;h=g+16|0;i=g+8|0;j=g;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=b;f[i>>2]=0;f[i+4>>2]=0;f[j>>2]=0;f[j+4>>2]=0;Nta(a,h,c,d,e,0,i,j);u=g;return}function pr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0,h=0,i=0;e=u;u=u+32|0;g=e+16|0;h=e+8|0;i=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=b;f[h>>2]=0;f[h+4>>2]=0;f[i>>2]=0;f[i+4>>2]=0;Nta(a,g,c,d,3,0,h,i);u=e;return}function qr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+32|0;e=d+16|0;g=d+8|0;h=d;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=b;f[g>>2]=0;f[g+4>>2]=0;f[h>>2]=0;f[h+4>>2]=0;Nta(a,e,c,1.1,3,0,g,h);u=d;return}function rr(a){a=a|0;var b=0;Pd(232366,7,22208,140503,1,1);Pd(232366,6,22236,140512,1,1);Pd(232366,5,22260,140520,2,1);Pd(123991,7,22280,140527,1,2);Pd(123991,6,22308,140200,2,3);Pd(123998,7,22332,140527,2,3);Pd(123998,6,22360,140200,3,4);Pd(123998,5,22384,140208,4,6);Pd(245281,10,22404,140536,1,1);Pd(245281,9,22444,140548,1,1);Pd(245281,8,22480,140559,1,1);Pd(245281,7,22512,140569,1,1);Pd(245281,6,21464,140200,4,5);Pd(124011,10,22540,140578,1,1);Pd(124011,9,22580,140590,1,1);Pd(124011,8,22616,140601,1,1);Pd(124011,7,22648,140611,1,1);Pd(124011,6,22236,140512,1,2);Pd(124022,8,22616,140601,1,2);Pd(124022,7,22648,140611,1,2);Pd(124022,6,22236,140512,1,3);Pd(124034,8,22676,140620,1,3);Pd(124034,7,22708,140630,1,5);Pd(124034,6,22736,140639,1,5);Pd(124034,5,22760,140215,73,69);Pd(124034,4,21488,138835,70,99);Pd(124044,9,22780,140647,1,2);Pd(124044,8,22816,140658,1,2);Pd(124044,7,22848,140668,1,2);Pd(124044,6,22876,140677,83,74);Pd(124051,10,22900,140685,1,2);Pd(124051,9,22940,140697,1,2);Pd(124051,8,22976,140708,1,2);Pd(124051,7,23008,140718,53,84);Pd(124051,6,22876,140677,83,75);Pd(124057,4,23036,138835,71,100);Pd(192622,8,23052,140727,1,1);Pd(124065,6,23084,140677,85,76);Pd(124065,5,23108,140215,77,72);Pd(124065,4,23036,138835,71,101);Pd(124069,8,23128,140737,1,1);Pd(124069,7,23160,140747,1,1);Pd(215903,5,23188,140756,1,7);Pd(208284,3,23208,140234,11,13);Pd(196418,7,23220,140527,4,4);Pd(196418,6,21464,140200,4,6);Pd(124081,5,23108,140215,77,73);Pd(124081,4,23036,138835,71,102);Pd(124093,4,21612,138835,74,103);Pd(124093,3,21600,138830,104,267);Pd(124105,5,23108,140215,77,75);Pd(124105,4,23036,138835,71,105);Pd(124116,5,23108,140215,77,76);Pd(124116,4,23036,138835,71,106);Pd(124128,6,23248,140677,86,78);Pd(124128,5,23272,140215,79,77);Pd(124128,4,23292,138835,78,107);Pd(124133,2,23308,138841,83,268);Pd(124146,8,23316,140763,122,54);Pd(124146,7,23348,140718,55,87);Pd(124146,6,23376,140677,88,80);Pd(124146,5,23400,140215,81,79);Pd(223439,7,23420,140668,3,3);Pd(222578,8,23448,140763,123,56);Pd(222578,7,23480,140718,57,89);Pd(124156,11,23508,140773,1,1);Pd(124181,12,23552,140786,1,1);Pd(124181,11,23600,140800,1,2);Pd(124181,10,23644,140813,3,93);Pd(124181,9,23684,140825,94,124);Pd(124181,8,23720,140763,125,58);Pd(124181,7,23752,140718,59,90);Pd(167642,6,23780,140677,91,82);Pd(167642,5,23804,140215,83,80);Pd(216685,8,23824,140763,126,60);Pd(216685,7,23856,140718,61,92);Pd(216685,6,23884,140677,93,84);Pd(216685,5,23908,140215,85,81);Pd(150082,5,23928,140215,86,82);Pd(223926,4,23948,140264,3,12);Pd(231064,5,23964,139968,58,40);Pd(231064,4,23984,138869,41,70);Pd(231064,3,24e3,138864,71,84);Pd(231901,7,24012,140836,7,69);Pd(231901,6,24040,139975,70,59);Pd(231901,5,24064,139968,60,42);Pd(208380,3,23208,140234,11,14);Pd(208380,2,24084,140290,15,14);Pd(172217,5,22260,140520,2,2);Pd(172217,4,24092,139207,7,12);Pd(172217,3,21600,138830,104,269);Pd(217738,5,24108,140215,87,83);Pd(217738,4,24128,138835,84,108);Pd(217738,3,21600,138830,104,270);Pd(217937,4,23036,138835,71,109);Pd(155421,9,24144,140825,95,127);Pd(155421,8,24180,140763,128,62);Pd(124202,7,24212,140845,1,2);Pd(124202,6,22736,140639,1,6);Pd(124215,6,22876,140677,83,88);Pd(124215,5,22760,140215,73,85);Pd(124215,4,21488,138835,70,110);Pd(144879,2,24240,138841,85,122);Pd(215480,5,22760,140215,73,86);Pd(215480,4,21488,138835,70,111);Pd(213007,5,22760,140215,73,87);Pd(213007,4,21488,138835,70,112);Pd(170172,2,24084,140290,15,15);Pd(169845,5,22760,140215,73,88);Pd(169845,4,21488,138835,70,113);Pd(169845,3,21600,138830,104,271);Pd(124233,8,24248,140763,129,63);Pd(124233,7,24280,140718,64,94);Pd(124233,6,24308,140677,95,89);Pd(124233,5,24332,140215,90,89);Pd(124233,4,21612,138835,74,114);Pd(206221,6,22876,140677,83,91);Pd(206221,5,22760,140215,73,90);Pd(124240,7,24352,140718,65,96);Pd(124240,6,24380,140677,97,92);Pd(124268,6,24404,140854,3,2);Pd(124268,5,24428,140208,7,8);Pd(124268,4,23036,138835,71,115);Pd(124275,5,24448,140862,1,1);Pd(124275,4,24468,140869,4,1);Pd(217360,10,24484,140813,4,96);Pd(217360,9,24524,140825,97,130);Pd(217360,8,24560,140763,131,66);Pd(217360,7,24592,140718,67,98);Pd(217360,6,24620,140677,99,93);Pd(217360,5,24644,140215,94,91);Pd(170379,4,24664,138869,43,72);Pd(170379,3,24680,138864,73,86);Pd(216882,11,24692,140875,1,1);Pd(216882,10,24736,140888,1,1);Pd(216882,9,24776,140900,1,1);Pd(216882,8,24812,140911,1,1);Pd(124283,6,24844,140677,100,95);Pd(124283,5,24868,140215,96,92);Pd(124283,4,24888,138835,93,116);Pd(124292,8,24904,140763,132,68);Pd(224114,3,21600,138830,104,272);Pd(124305,8,24248,140763,129,69);Pd(124305,7,24280,140718,64,101);Pd(124305,6,24308,140677,95,97);Pd(124305,5,24332,140215,90,94);Pd(124305,4,21612,138835,74,117);Pd(338773,4,24936,138869,44,95);Pd(167983,3,21600,138830,104,273);Pd(124311,8,24952,140921,1,2);Pd(124311,7,24984,140668,4,4);Pd(124311,6,25012,140677,102,98);Pd(124311,5,25036,140215,99,96);Pd(225801,7,25056,140718,70,103);Pd(225801,6,25084,140677,104,100);Pd(340388,7,25108,140931,1,1);Pd(340388,6,25136,140940,2,3);Pd(340388,5,25160,140257,4,4);Pd(340388,4,25180,140264,5,13);Pd(208474,2,25196,138841,87,274);Pd(221837,7,22512,140569,1,2);Pd(155149,4,21488,138835,70,118);Pd(142215,8,25204,140948,1,1);Pd(142215,7,25236,140958,1,1);Pd(230947,3,25264,138864,74,119);Pd(124320,2,22180,138841,76,123);Pd(230866,3,25264,138864,74,120);Pd(124338,4,25276,140967,1,3);Pd(205658,4,25292,138869,45,97);Pd(205658,3,25308,138864,75,121);Pd(214257,10,25320,140973,1,1);Pd(214257,9,25360,140985,1,1);Pd(214257,8,25396,140996,1,2);Pd(214257,7,25428,140527,5,5);Pd(214257,6,21464,140200,4,7);Pd(124358,11,25456,141006,1,1);Pd(124358,10,25500,141019,1,1);Pd(124358,9,25540,140985,2,2);Pd(214845,8,25576,140763,133,71);Pd(214845,7,25608,140718,72,105);Pd(335879,5,25636,140208,8,9);Pd(335879,4,25656,138835,98,122);Pd(143513,3,25672,138830,123,275);Pd(150392,5,25684,140215,101,99);Pd(343146,9,25704,140825,98,134);Pd(243352,4,21488,138835,70,124);Pd(243352,3,21600,138830,104,276);Pd(124379,6,24380,140677,97,102);Pd(124379,5,25740,140215,103,100);Pd(124379,4,25760,138835,101,125);Pd(170295,4,25776,140264,6,14);Pd(170295,3,25792,140234,15,16);Pd(218101,2,25804,138841,88,124);Pd(178720,8,25812,141031,1,2);Pd(178720,7,25844,140931,3,3);Pd(216252,8,25872,140763,135,73);Pd(216252,7,25904,140718,74,106);Pd(216252,6,25932,140677,107,104);Pd(216252,5,25956,140215,105,102);Pd(168033,3,21600,138830,104,277);Pd(232663,4,23036,138835,71,126);Pd(244539,5,25976,141041,1,1);Pd(224683,6,25996,140677,108,106);Pd(224683,5,23928,140215,86,103);Pd(124389,4,23036,138835,71,127);Pd(144585,3,26020,138864,76,128);Pd(144585,2,26032,138841,89,278);Pd(144695,5,26040,140215,107,104);Pd(144695,4,25760,138835,101,129);Pd(195848,4,21488,138835,70,130);Pd(159703,3,25672,138830,123,279);Pd(124393,4,23036,138835,71,131);Pd(124397,2,25196,138841,87,280);Pd(182862,4,26060,138835,105,132);Pd(243248,3,26076,138864,77,133);Pd(243248,2,26088,138841,90,281);Pd(206003,9,26096,140825,99,136);Pd(206003,8,26132,140763,137,75);Pd(206003,7,26164,140718,76,109);Pd(206003,6,25012,140677,102,108);Pd(206003,5,25036,140215,99,106);Pd(124409,6,24404,140854,3,3);Pd(124409,5,24428,140208,7,10);Pd(124409,4,23036,138835,71,134);Pd(154156,4,26192,140264,7,16);Pd(154156,3,26208,140234,17,17);Pd(154156,2,24084,140290,15,16);Pd(124418,5,26220,140257,5,8);Pd(124418,4,23948,140264,3,18);Pd(124418,3,21656,140234,19,18);Pd(172399,8,26240,141048,3,1);Pd(172399,7,26272,140503,3,2);Pd(172399,6,22236,140512,1,4);Pd(172399,5,22260,140520,2,4);Pd(172399,4,24092,139207,7,13);Pd(172399,3,21600,138830,104,282);Pd(142779,4,21612,138835,74,135);Pd(218218,4,26300,140264,9,20);Pd(167815,6,23780,140677,91,109);Pd(167815,5,23804,140215,83,107);Pd(168083,4,26316,141058,8,1);Pd(124424,10,26332,141064,1,2);Pd(124424,9,26372,141076,1,2);Pd(124424,8,26408,141087,2,1);Pd(124424,7,26440,140845,3,4);Pd(208978,5,26468,140215,110,108);Pd(208978,4,26488,138835,109,136);Pd(208978,3,21600,138830,104,283);Pd(209301,5,26468,140215,110,110);Pd(209301,4,26488,138835,109,137);Pd(209301,3,21600,138830,104,284);Pd(124432,4,26504,138835,111,138);Pd(124438,4,26504,138835,111,139);Pd(216500,8,25872,140763,135,77);Pd(216500,7,25904,140718,74,110);Pd(216500,6,25932,140677,107,111);Pd(216500,5,25956,140215,105,112);Pd(144415,6,22876,140677,83,112);Pd(144415,5,22760,140215,73,113);Pd(229496,8,26520,140763,138,78);Pd(229496,7,26552,140718,79,111);Pd(229496,6,26580,140677,112,113);Pd(155237,5,26604,140215,114,114);Pd(196664,7,22332,140527,2,6);Pd(196664,6,22360,140200,3,8);Pd(196664,5,22384,140208,4,11);Pd(196664,4,23292,138835,78,140);Pd(242958,9,26624,141097,1,2);Pd(242958,8,26660,140708,2,5);Pd(242958,7,26692,140718,80,113);Pd(242958,6,26720,140677,114,115);Pd(143909,3,21716,138830,141,285);Pd(143909,2,26744,141108,286,886);Pd(124444,2,26752,141108,287,887);Pd(170933,5,26760,139968,61,46);Pd(170933,4,26780,138869,47,78);Pd(168696,4,25776,140264,6,21);Pd(168696,3,25792,140234,15,19);Pd(171563,3,26796,138830,142,288);Pd(124455,3,21600,138830,104,289);Pd(124460,6,23084,140677,85,116);Pd(124460,5,23108,140215,77,115);Pd(124460,4,23036,138835,71,143);Pd(351553,6,26808,141112,1,1);Pd(143984,2,26032,138841,89,290);Pd(142683,4,21612,138835,74,144);Pd(144057,3,21600,138830,104,291);Pd(210274,6,26832,140677,115,117);Pd(210274,5,26856,140215,118,116);Pd(143777,3,25672,138830,123,292);Pd(230210,8,26876,140763,139,81);Pd(230210,7,26908,140718,82,116);Pd(230210,6,26936,140677,117,119);Pd(230210,5,26960,140215,120,117);Pd(230473,8,26876,140763,139,83);Pd(230473,7,26908,140718,82,118);Pd(230473,6,26936,140677,117,121);Pd(230473,5,26960,140215,120,118);Pd(212826,3,21600,138830,104,293);Pd(349282,9,26980,140825,100,140);Pd(349282,8,27016,140763,141,84);Pd(349282,7,27048,140718,85,119);Pd(349282,6,27076,140677,120,122);Pd(349282,5,27100,140215,123,119);Pd(351358,7,27120,141196,6,5);Pd(351113,5,27148,140215,124,120);Pd(351113,4,27168,138835,121,145);Pd(351113,3,27184,138830,146,294);Pd(440560,6,27196,140677,121,125);Pd(440560,5,27220,140215,126,122);Pd(350839,8,27240,141205,1,1);Pd(350839,7,27272,141215,1,1);Pd(343146,9,27300,140825,101,142);Hd(17808,9032,9048,0,138822,125,138825,0,138825,0,124469,138827,888);a=EQa(4)|0;f[a>>2]=79;Kd(17808,124483,4,27336,138869,48,a|0,0);a=EQa(4)|0;f[a>>2]=91;Kd(17808,124483,3,27352,138864,80,a|0,0);Jd(17808,1,27364,138822,126,22);Jd(17808,13,27368,141269,1,1);Jd(17808,2,27420,138841,92,127);Id(17808,124488,1,27428,138822,128,889);Id(17808,124513,1,27428,138822,128,890);a=EQa(4)|0;f[a>>2]=295;Kd(17808,336893,3,27432,138830,147,a|0,0);a=EQa(4)|0;f[a>>2]=2;Kd(17808,328233,11,27444,141297,1,a|0,0);a=EQa(4)|0;f[a>>2]=1;Kd(17808,328233,10,27488,141310,1,a|0,0);a=EQa(4)|0;f[a>>2]=1;Kd(17808,328233,9,27528,141322,1,a|0,0);a=EQa(4)|0;f[a>>2]=2;Kd(17808,328233,8,27564,141087,3,a|0,0);a=EQa(4)|0;f[a>>2]=5;Kd(17808,328233,7,27596,140845,4,a|0,0);a=EQa(4)|0;f[a>>2]=9;Kd(17808,328233,6,27624,140639,6,a|0,0);a=EQa(4)|0;f[a>>2]=123;Kd(17808,328233,5,27648,140215,127,a|0,0);a=EQa(4)|0;f[a>>2]=4;b=EQa(4)|0;f[b>>2]=4;Ld(17808,336721,8824,138841,93,a|0,8824,138830,148,b|0);b=EQa(4)|0;f[b>>2]=12;a=EQa(4)|0;f[a>>2]=12;Ld(17808,336729,8824,138841,93,b|0,8824,138830,148,a|0);a=EQa(4)|0;f[a>>2]=20;b=EQa(4)|0;f[b>>2]=20;Ld(17808,336739,8824,138841,93,a|0,8824,138830,148,b|0);b=EQa(4)|0;f[b>>2]=28;a=EQa(4)|0;f[a>>2]=28;Ld(17808,336855,8824,138841,93,b|0,8824,138830,148,a|0);a=EQa(4)|0;f[a>>2]=36;b=EQa(4)|0;f[b>>2]=36;Ld(17808,336751,20816,138841,94,a|0,20816,138830,149,b|0);b=EQa(4)|0;f[b>>2]=40;a=EQa(4)|0;f[a>>2]=40;Ld(17808,336757,20816,138841,94,b|0,20816,138830,149,a|0);a=EQa(4)|0;f[a>>2]=48;b=EQa(4)|0;f[b>>2]=48;Ld(17808,336864,20856,140290,20,a|0,20856,139202,14,b|0);b=EQa(4)|0;f[b>>2]=56;a=EQa(4)|0;f[a>>2]=56;Ld(17808,336771,20816,138841,94,b|0,20816,138830,149,a|0);a=EQa(4)|0;f[a>>2]=64;b=EQa(4)|0;f[b>>2]=64;Ld(17808,336789,20856,140290,20,a|0,20856,139202,14,b|0);b=EQa(4)|0;f[b>>2]=72;a=EQa(4)|0;f[a>>2]=72;Ld(17808,336804,20768,138841,95,b|0,20768,138830,150,a|0);a=EQa(4)|0;f[a>>2]=76;b=EQa(4)|0;f[b>>2]=76;Ld(17808,124538,8400,138841,96,a|0,8400,138830,151,b|0);b=EQa(4)|0;f[b>>2]=140;a=EQa(4)|0;f[a>>2]=140;Ld(17808,336820,20816,138841,94,b|0,20816,138830,149,a|0);a=EQa(4)|0;f[a>>2]=144;b=EQa(4)|0;f[b>>2]=144;Ld(17808,336828,20768,138841,95,a|0,20768,138830,150,b|0);Hd(9072,9080,9096,0,138822,129,138825,0,138825,0,124550,138827,891);Jd(9072,2,27668,138841,97,296);Jd(9072,4,27676,138869,49,124);Jd(9072,3,27692,138864,81,152);Sd(9016,9072,124561,0,138822,130,188811,23,138822,131,138827,892);b=EQa(4)|0;f[b>>2]=0;a=EQa(4)|0;f[a>>2]=0;Ld(9072,124577,8704,138841,98,b|0,8704,138830,153,a|0);a=EQa(4)|0;f[a>>2]=56;b=EQa(4)|0;f[b>>2]=56;Ld(9072,124587,20816,138841,99,a|0,20816,138830,154,b|0);b=EQa(4)|0;f[b>>2]=60;a=EQa(4)|0;f[a>>2]=60;Ld(9072,124598,20816,138841,99,b|0,20816,138830,154,a|0);Hd(9112,9128,9144,11872,138822,132,138822,133,138822,134,124616,138827,893);a=EQa(4)|0;f[a>>2]=12;Kd(9112,339759,5,27704,140208,10,a|0,0);a=EQa(4)|0;f[a>>2]=155;Kd(9112,339759,4,27724,138835,125,a|0,0);a=EQa(4)|0;f[a>>2]=297;Kd(9112,339210,3,27740,138830,156,a|0,0);Hd(9160,9176,9192,9112,138822,135,138822,136,138822,137,124637,138827,894);Jd(9160,4,27752,141636,1,9);Jd(9160,3,27768,141642,2,15);Jd(9160,2,27780,138841,100,298);Jd(9160,1,27788,138822,138,895);a=EQa(4)|0;f[a>>2]=13;Kd(9160,339759,5,27792,140208,11,a|0,0);a=EQa(4)|0;f[a>>2]=157;Kd(9160,339759,4,27812,138835,126,a|0,0);Sd(9208,9160,124662,0,138822,139,188811,24,138822,140,138827,896);Hd(9216,9232,9248,11872,138822,141,138822,142,138822,143,124692,138827,897);a=EQa(4)|0;f[a>>2]=299;Kd(9216,124698,3,27828,138830,158,a|0,0);Jd(9216,3,27840,141708,1,2);Jd(9216,2,27852,141713,1,13);Jd(9216,1,27860,138822,144,898);a=EQa(8)|0;f[a>>2]=52;f[a+4>>2]=1;Kd(9216,124715,2,27864,141108,300,a|0,1);a=EQa(4)|0;f[a>>2]=14;Kd(9216,124730,3,27872,139202,16,a|0,0);a=EQa(8)|0;f[a>>2]=48;f[a+4>>2]=1;Kd(9216,124743,2,27884,138841,101,a|0,1);a=EQa(8)|0;f[a>>2]=40;f[a+4>>2]=1;Kd(9216,124760,2,27892,140290,21,a|0,1);a=EQa(4)|0;f[a>>2]=159;Kd(9216,339759,4,27900,138835,127,a|0,0);Sd(9264,9216,124773,0,138822,145,188811,25,138822,146,138827,899);Hd(9272,9280,9296,0,138822,147,138825,0,138825,0,124784,138827,900);Jd(9272,1,27916,138822,148,901);Sd(9024,9272,124803,0,138822,149,188811,26,138822,150,138827,902);a=EQa(4)|0;f[a>>2]=0;b=EQa(4)|0;f[b>>2]=0;Ld(9272,124827,20816,138841,102,a|0,20816,138830,160,b|0);b=EQa(4)|0;f[b>>2]=4;a=EQa(4)|0;f[a>>2]=4;Ld(9272,124852,20816,138841,102,b|0,20816,138830,160,a|0);a=EQa(4)|0;f[a>>2]=8;b=EQa(4)|0;f[b>>2]=8;Ld(9272,124877,20816,138841,102,a|0,20816,138830,160,b|0);b=EQa(4)|0;f[b>>2]=16;a=EQa(4)|0;f[a>>2]=16;Ld(9272,124903,20856,140290,22,b|0,20856,139202,17,a|0);a=EQa(4)|0;f[a>>2]=24;b=EQa(4)|0;f[b>>2]=24;Ld(9272,124926,20856,140290,22,a|0,20856,139202,17,b|0);b=EQa(4)|0;f[b>>2]=32;a=EQa(4)|0;f[a>>2]=32;Ld(9272,124949,20856,140290,22,b|0,20856,139202,17,a|0);a=EQa(4)|0;f[a>>2]=40;b=EQa(4)|0;f[b>>2]=40;Ld(9272,124972,20856,140290,22,a|0,20856,139202,17,b|0);b=EQa(4)|0;f[b>>2]=48;a=EQa(4)|0;f[a>>2]=48;Ld(9272,125e3,20856,140290,22,b|0,20856,139202,17,a|0);a=EQa(4)|0;f[a>>2]=56;b=EQa(4)|0;f[b>>2]=56;Ld(9272,125022,20816,138841,102,a|0,20816,138830,160,b|0);b=EQa(4)|0;f[b>>2]=64;a=EQa(4)|0;f[a>>2]=64;Ld(9272,125042,20856,140290,22,b|0,20856,139202,17,a|0);a=EQa(4)|0;f[a>>2]=72;b=EQa(4)|0;f[b>>2]=72;Ld(9272,125064,20816,138841,102,a|0,20816,138830,160,b|0);b=EQa(4)|0;f[b>>2]=76;a=EQa(4)|0;f[a>>2]=76;Ld(9272,125087,20816,138841,102,b|0,20816,138830,160,a|0);a=EQa(4)|0;f[a>>2]=80;b=EQa(4)|0;f[b>>2]=80;Ld(9272,125111,20816,138841,102,a|0,20816,138830,160,b|0);b=EQa(4)|0;f[b>>2]=88;a=EQa(4)|0;f[a>>2]=88;Ld(9272,125141,20856,140290,22,b|0,20856,139202,17,a|0);a=EQa(4)|0;f[a>>2]=96;b=EQa(4)|0;f[b>>2]=96;Ld(9272,125169,20816,138841,102,a|0,20816,138830,160,b|0);b=EQa(4)|0;f[b>>2]=100;a=EQa(4)|0;f[a>>2]=100;Ld(9272,125186,20816,138841,102,b|0,20816,138830,160,a|0);a=EQa(4)|0;f[a>>2]=104;b=EQa(4)|0;f[b>>2]=104;Ld(9272,125216,20856,140290,22,a|0,20856,139202,17,b|0);b=EQa(4)|0;f[b>>2]=112;a=EQa(4)|0;f[a>>2]=112;Ld(9272,125254,20856,140290,22,b|0,20856,139202,17,a|0);a=EQa(4)|0;f[a>>2]=120;b=EQa(4)|0;f[b>>2]=120;Ld(9272,125283,20856,140290,22,a|0,20856,139202,17,b|0);b=EQa(4)|0;f[b>>2]=128;a=EQa(4)|0;f[a>>2]=128;Ld(9272,125297,20856,140290,22,b|0,20856,139202,17,a|0);a=EQa(4)|0;f[a>>2]=136;b=EQa(4)|0;f[b>>2]=136;Ld(9272,125317,20848,140309,23,a|0,20848,139030,18,b|0);b=EQa(4)|0;f[b>>2]=140;a=EQa(4)|0;f[a>>2]=140;Ld(9272,125338,20848,140309,23,b|0,20848,139030,18,a|0);a=EQa(4)|0;f[a>>2]=144;b=EQa(4)|0;f[b>>2]=144;Ld(9272,125356,20816,138841,102,a|0,20816,138830,160,b|0);b=EQa(4)|0;f[b>>2]=148;a=EQa(4)|0;f[a>>2]=148;Ld(9272,125381,20816,138841,102,b|0,20816,138830,160,a|0);a=EQa(4)|0;f[a>>2]=152;b=EQa(4)|0;f[b>>2]=152;Ld(9272,125400,20848,140309,23,a|0,20848,139030,18,b|0);b=EQa(4)|0;f[b>>2]=156;a=EQa(4)|0;f[a>>2]=156;Ld(9272,125420,20848,140309,23,b|0,20848,139030,18,a|0);a=EQa(4)|0;f[a>>2]=160;b=EQa(4)|0;f[b>>2]=160;Ld(9272,125442,20816,138841,102,a|0,20816,138830,160,b|0);b=EQa(4)|0;f[b>>2]=164;a=EQa(4)|0;f[a>>2]=164;Ld(9272,125468,20816,138841,102,b|0,20816,138830,160,a|0);Hd(11872,9312,9328,0,138822,151,138825,0,138825,0,125485,138827,903);Hd(9344,9352,9368,0,138822,152,138825,0,138825,0,125495,138827,904);a=EQa(4)|0;f[a>>2]=103;Kd(9344,124483,3,27920,138864,82,a|0,0);a=EQa(4)|0;f[a>>2]=3;Kd(9344,125513,10,27932,141064,2,a|0,0);a=EQa(4)|0;f[a>>2]=3;Kd(9344,125513,9,27972,141076,2,a|0,0);a=EQa(4)|0;f[a>>2]=3;Kd(9344,125513,8,28008,141087,4,a|0,0);a=EQa(4)|0;f[a>>2]=6;Kd(9344,125513,7,28040,140845,5,a|0,0);a=EQa(4)|0;f[a>>2]=12;Kd(9344,125513,6,28068,140639,7,a|0,0);a=EQa(4)|0;f[a>>2]=128;Kd(9344,125513,5,28092,140215,128,a|0,0);Jd(9344,1,28112,138822,153,27);Jd(9344,2,28116,138841,104,154);a=EQa(4)|0;f[a>>2]=2;Kd(9344,125531,12,28124,141929,1,a|0,0);a=EQa(4)|0;f[a>>2]=3;Kd(9344,125531,11,28172,141943,1,a|0,0);a=EQa(4)|0;f[a>>2]=3;Kd(9344,125531,10,28216,141956,1,a|0,0);a=EQa(4)|0;f[a>>2]=5;Kd(9344,125531,9,28256,141968,1,a|0,0);a=EQa(4)|0;f[a>>2]=6;Kd(9344,125531,8,28292,140921,3,a|0,0);a=EQa(4)|0;f[a>>2]=8;Kd(9344,125531,7,28324,140668,7,a|0,0);a=EQa(4)|0;f[a>>2]=129;Kd(9344,125531,6,28352,140677,122,a|0,0);a=EQa(8)|0;f[a>>2]=155;f[a+4>>2]=0;Kd(9344,151101,2,28376,138841,105,a|0,0);a=EQa(4)|0;f[a>>2]=2;Kd(9344,328233,9,28384,141979,4,a|0,0);a=EQa(4)|0;f[a>>2]=2;Kd(9344,328233,8,28420,141990,4,a|0,0);a=EQa(4)|0;f[a>>2]=1;Kd(9344,328233,7,28452,142e3,4,a|0,0);a=EQa(4)|0;f[a>>2]=4;Kd(9344,328233,6,28480,140854,7,a|0,0);a=EQa(4)|0;f[a>>2]=14;Kd(9344,328233,5,28504,140208,13,a|0,0);a=EQa(4)|0;f[a>>2]=161;Kd(9344,328233,4,28524,138835,129,a|0,0);Md(125549,20816,67108864);Md(125561,20816,50331648);Md(125573,20816,16777216);Md(125585,20816,50331648);Md(125595,20816,33554432);Md(125608,20816,1);Md(125635,20816,0);Md(125658,20816,3);Md(125680,20816,2);Md(125710,20816,5);Md(125732,20816,4);Md(125762,20816,0);Md(125793,20816,1);Md(125826,20816,2);Md(125859,20816,10001);Md(125899,20816,3);Md(125930,20816,1e4);Md(125961,20816,0);Md(125977,20816,4);Md(125992,20816,16);Md(126008,20816,2);Md(126023,20816,4);Md(126041,20816,4);Md(126060,20816,1);Md(126077,20816,5);Md(126096,20816,3);Md(126108,20816,1);Md(126133,20816,2);Md(126158,20816,4);Md(126178,20816,8);Md(126198,20816,4);Md(126220,20816,2);Md(126245,20816,1);Md(126269,20816,2);Md(126292,20816,16);Md(126315,20816,256);Md(126335,20816,32);Md(126348,20816,64);Md(126361,20816,128);Md(126374,20816,2048);Md(126387,20816,4096);Md(126400,20816,8192);Md(126413,20816,4);Md(126439,20816,65536);Md(126461,20816,2097152);Md(126484,20816,524288);Md(126504,20816,16384);Md(126525,20816,512);Md(126549,20816,32768);Md(126572,20816,262144);Md(126591,20816,4194304);Md(126617,20816,1);Md(126643,20816,131072);Md(126656,20816,1048576);Md(126669,20816,1024);Md(126690,20816,8);Md(126714,20816,1);Md(126739,20816,8);Md(126763,20816,4);Md(126791,20816,2);Md(126811,20816,-1);Md(126823,20816,1);Md(126833,20816,0);Md(126840,20816,4);Md(126853,20816,3);Md(126868,20816,0);Md(126881,20816,5);Md(126893,20816,1);Md(126905,20816,2);Md(126919,20816,1);Md(126937,20816,2);Md(126957,20816,4);Md(126980,20816,3);Md(127001,20816,0);Md(127008,20816,2);Md(127015,20816,1);Md(127022,20816,4);Md(127029,20816,3);Md(127036,20816,5);Md(127043,20816,0);Md(127059,20816,1);Md(127073,20816,8);Md(127087,20816,11);Md(127100,20816,9);Md(127113,20816,2);Md(127126,20816,5);Md(127141,20816,12);Md(127157,20816,10);Md(127171,20816,4);Md(127188,20816,7);Md(127204,20816,6);Md(127220,20816,3);Md(127236,20816,22);Md(127253,20816,12);Md(127270,20816,0);Md(127285,20816,6);Md(127300,20816,52);Md(127314,20816,68);Md(127333,20816,40);Md(127347,20816,66);Md(127366,20816,44);Md(127380,20816,50);Md(127394,20816,4);Md(127408,20816,2);Md(127423,20816,32);Md(127437,20816,36);Md(127453,20816,82);Md(127467,20816,128);Md(127486,20816,128);Md(127505,20816,132);Md(127524,20816,24);Md(127541,20816,28);Md(127559,20816,31);Md(127577,20816,25);Md(127594,20816,29);Md(127612,20816,14);Md(127629,20816,18);Md(127647,20816,21);Md(127665,20816,15);Md(127682,20816,19);Md(127700,20816,1);Md(127715,20816,26);Md(127733,20816,16);Md(127751,20816,10);Md(127767,20816,3);Md(127782,20816,5);Md(127798,20816,130);Md(127818,20816,130);Md(127838,20816,134);Md(127858,20816,46);Md(127876,20816,139);Md(127895,20816,135);Md(127916,20816,62);Md(127938,20816,86);Md(127957,20816,48);Md(127975,20816,141);Md(127994,20816,137);Md(128015,20816,64);Md(128037,20816,47);Md(128055,20816,140);Md(128074,20816,136);Md(128095,20816,63);Md(128117,20816,87);Md(128136,20816,49);Md(128154,20816,142);Md(128173,20816,138);Md(128194,20816,65);Md(128216,20816,49);Md(128234,20816,142);Md(128253,20816,138);Md(128274,20816,65);Md(128296,20816,89);Md(128315,20816,47);Md(128333,20816,140);Md(128352,20816,136);Md(128373,20816,63);Md(128395,20816,48);Md(128413,20816,141);Md(128432,20816,137);Md(128453,20816,64);Md(128475,20816,88);Md(128494,20816,46);Md(128512,20816,139);Md(128531,20816,135);Md(128552,20816,62);Md(128574,20816,143);Md(128593,20816,8);Md(128608,20816,30);Md(128626,20816,20);Md(128644,20816,9);Md(128660,20816,8);Md(128675,20816,9);Md(128691,20816,60);Md(128705,20816,72);Md(128724,20816,61);Md(128738,20816,73);Md(128757,20816,54);Md(128771,20816,70);Md(128790,20816,55);Md(128804,20816,71);Md(128823,20816,74);Md(128838,20816,76);Md(128853,20816,75);Md(128868,20816,77);Md(128883,20816,56);Md(128897,20816,78);Md(128912,20816,79);Md(128927,20816,57);Md(128941,20816,58);Md(128955,20816,80);Md(128970,20816,81);Md(128985,20816,59);Md(128999,20816,4);Md(129013,20816,23);Md(129030,20816,13);Md(129047,20816,2);Md(129062,20816,7);Md(129077,20816,53);Md(129091,20816,69);Md(129110,20816,41);Md(129124,20816,67);Md(129143,20816,45);Md(129157,20816,51);Md(129171,20816,0);Md(129186,20816,33);Md(129200,20816,37);Md(129216,20816,83);Md(129230,20816,127);Md(129249,20816,127);Md(129268,20816,131);Md(129287,20816,3);Md(129302,20816,27);Md(129320,20816,17);Md(129338,20816,5);Md(129354,20816,11);Md(129370,20816,1);Md(129385,20816,129);Md(129405,20816,129);Md(129425,20816,133);Md(129445,20816,125);Md(129462,20816,34);Md(129476,20816,35);Md(129490,20816,38);Md(129506,20816,39);Md(129522,20816,84);Md(129536,20816,105);Md(129556,20816,105);Md(129576,20816,95);Md(129596,20816,97);Md(129616,20816,112);Md(129636,20816,112);Md(129656,20816,112);Md(129676,20816,120);Md(129696,20816,120);Md(129716,20816,120);Md(129736,20816,103);Md(129756,20816,122);Md(129776,20816,101);Md(129795,20816,101);Md(129814,20816,91);Md(129833,20816,93);Md(129852,20816,108);Md(129871,20816,108);Md(129890,20816,108);Md(129909,20816,116);Md(129928,20816,116);Md(129947,20816,116);Md(129966,20816,99);Md(129985,20816,118);Md(130004,20816,106);Md(130023,20816,106);Md(130043,20816,106);Md(130063,20816,106);Md(130083,20816,106);Md(130103,20816,123);Md(130123,20816,123);Md(130143,20816,123);Md(130163,20816,124);Md(130183,20816,124);Md(130203,20816,124);Md(130223,20816,106);Md(130243,20816,124);Md(130263,20816,85);Md(130277,20816,104);Md(130297,20816,104);Md(130317,20816,94);Md(130337,20816,96);Md(130357,20816,111);Md(130377,20816,111);Md(130397,20816,111);Md(130417,20816,119);Md(130437,20816,119);Md(130457,20816,119);Md(130477,20816,102);Md(130497,20816,121);Md(130517,20816,100);Md(130536,20816,100);Md(130555,20816,90);Md(130574,20816,92);Md(130593,20816,107);Md(130612,20816,107);Md(130631,20816,107);Md(130650,20816,115);Md(130669,20816,115);Md(130688,20816,115);Md(130707,20816,98);Md(130726,20816,117);Md(130745,20816,99);Md(130763,20816,103);Md(130782,20816,106);Md(130801,20816,98);Md(130819,20816,102);Md(130838,20816,93);Md(130857,20816,97);Md(130877,20816,106);Md(130897,20816,92);Md(130916,20816,96);Md(130936,20816,126);Md(130953,20816,1);Md(130971,20816,2);Md(130989,20816,3);Md(131007,20816,16);Md(131018,20816,1);Md(131031,20816,8);Md(131042,20816,4);Md(131054,20816,0);Md(131070,20816,2);Md(131084,20816,1);Md(131128,20816,0);Md(131171,20816,1);Md(131183,20816,4);Md(131192,20816,3);Md(131208,20816,2);Md(131219,20816,0);Md(131229,20816,16);Md(131243,20816,4);Md(131253,20816,1);Md(131264,20816,64);Md(131282,20816,16);Md(131301,20816,1);Md(131313,20816,32);Md(131329,20816,4);Md(131338,20816,2);Md(131348,20816,3);Md(131355,20816,5);Md(131365,20816,7);Md(131376,20816,1);Md(131384,20816,4);Md(131393,20816,2);Md(131401,20816,0);Md(131418,20816,1);Md(131435,20816,3);Md(131447,20816,5);Md(131459,20816,0);Md(131477,20816,-1);Md(131487,20816,6);Md(131499,20816,2);Md(131528,20816,4);Md(131565,20816,5);Md(131605,20816,3);Md(131637,20816,6);Md(131670,20816,1);Md(131699,20816,0);Md(131724,20816,1);Md(131758,20816,4);Md(131795,20816,2);Md(131835,20816,-1);Md(131842,20816,65536);Md(131864,20816,131072);Md(131884,20816,1);Md(131894,20816,2);Md(131904,20816,4);Md(131913,20816,8);Md(131923,20816,3);Md(131944,20816,5);Md(131971,20816,2);Md(131991,20816,1);Md(132010,20816,7);Md(132038,20816,6);Md(132066,20816,0);Md(132087,20816,4);Md(132108,20816,16);Md(132120,20816,10002);Md(132147,20816,10001);Md(132186,20816,1e4);Md(132216,20816,0);Md(132245,20816,1);Md(132275,20816,2);Md(132305,20816,32);Md(132320,20816,2);Md(132335,20816,8);Md(132349,20816,1);Md(132362,20816,6);Md(132375,20816,64);Md(132390,20816,0);Md(132404,20816,2);Md(132418,20816,4);Md(132431,20816,5);Md(132444,20816,3);Md(132457,20816,3);Md(132473,20816,7);Md(132492,20816,16);Md(132506,20816,2);Md(132525,20816,64);Md(132544,20816,0);Md(132568,20816,24);Md(132592,20816,56);Md(132616,20816,8);Md(132639,20816,16);Md(132663,20816,4);Md(132686,20816,4);Md(132705,20816,2);Md(132731,20816,0);Md(132748,20816,0);Md(132770,20816,1);Md(132797,20816,1);Md(132815,20816,65);Md(132840,20816,5);Md(132856,20816,2);Md(132874,20816,0);Md(132896,20816,1);Md(132917,20816,4);Md(132937,20816,3);Md(132958,20816,0);Md(132965,20816,2);Md(132973,20816,1);Md(132980,20816,1);Md(132998,20816,0);Md(133016,20816,2);Md(133026,20816,3);Md(133036,20816,1);Md(133045,20816,2);Md(133054,20816,4);Md(133063,20816,3);Md(133085,20816,1);Md(133100,20816,4);Md(133119,20816,0);Md(133134,20816,3);Md(133152,20816,2);Md(133170,20816,5);Md(133185,20816,64);Md(133215,20816,0);Md(133235,20816,3);Md(133250,20816,2);Md(133268,20816,1);Md(133288,20816,0);Md(133303,20816,6);Md(133320,20816,2);Md(133335,20816,0);Md(133350,20816,1);Md(133368,20816,3);Md(133379,20816,5);Md(133390,20816,10);Md(133402,20816,2);Md(133414,20816,4);Md(133429,20816,1);Md(133442,20816,5);Md(133461,20816,7);Md(133471,20816,0);Md(133485,20816,32);Md(133500,20816,1024);Md(133516,20816,3);Md(133538,20816,0);Md(133554,20816,1);Md(133570,20816,2);Md(133589,20816,2);Md(133607,20816,0);Md(133629,20816,1);Md(133655,20816,4);Md(133662,20816,8);Md(133669,20816,16);Md(133677,20816,4);Md(133683,20816,2);Md(133698,20816,0);Md(133714,20816,1);Md(133729,20816,0);Md(133742,20816,3);Md(133757,20816,4);Md(133771,20816,2);Md(133783,20816,1);Md(133803,20816,6);Md(133824,20816,5);Md(133843,20816,6);Md(133858,20816,3);Md(133870,20816,1);Md(133882,20816,1);Md(133895,20816,2);Md(133909,20816,0);Md(133921,20816,4);Md(133936,20816,7);Md(133950,20816,2);Md(133961,20816,0);Md(133972,20816,5);Md(133985,20816,2);Md(133999,20816,1);Md(134016,20816,3);Md(134034,20816,0);Md(134053,20816,0);Md(134067,20816,16384);Md(134087,20824,7);Md(134102,20824,-65536);Md(134117,20816,1124007936);Md(134131,20816,32768);Md(134150,20824,4095);Md(134164,20816,6);Md(134177,20816,7);Md(134191,20816,1);Md(134200,20816,2);Md(134208,20816,4);Md(134216,20816,5);Md(134227,20816,32);Md(134239,20816,8);Md(134253,20816,7);Md(134268,20816,256);Md(134295,20816,8);Md(134324,20816,4);Md(134349,20816,1);Md(134364,20816,0);Md(134381,20816,32);Md(134392,20816,1);Md(134408,20816,0);Md(134424,20816,2);Md(134436,20816,1);Md(134458,20816,0);Md(134479,20816,6);Md(134495,20816,1);Md(134509,20816,7);Md(134521,20816,0);Md(134531,20816,4);Md(134541,20816,5);Md(134558,20816,2);Md(134569,20816,12);Md(134582,20816,3);Md(134595,20816,11);Md(134607,20816,9);Md(134620,20816,8);Md(134639,20816,8);Md(134646,20816,1);Md(134657,20816,2);Md(134668,20816,3);Md(134679,20816,0);Md(134690,20816,2);Md(134701,20816,0);Md(134715,20816,4);Md(134730,20816,1);Md(134740,20816,3);Md(134750,20816,16);Md(134754,20816,1);Md(134765,20816,0);Md(134777,20816,1);Md(134788,20816,0);Md(134808,20816,2);Md(134835,20816,1);Md(134849,20816,0);Md(134864,20816,-2);Md(134882,20816,-1);Md(134901,20816,5);Md(134915,20816,3);Md(134928,20816,1);Md(134942,20816,0);Md(134961,20816,6);Md(134980,20816,2);Md(134993,20816,4);Md(135007,20816,0);Md(135022,20816,16);Md(135038,20816,1);Md(135056,20816,0);Md(135071,20816,4);Md(135083,20816,1);Md(135096,20816,2);Md(135106,20824,-2147483648);Md(135125,20824,1540483477);Md(135146,20824,1123876864);Md(135166,20824,32);Md(135184,20816,0);Md(135223,20816,1);Md(135249,20816,16);Md(135274,20816,4);Md(135299,20816,1);Md(135318,20816,3);Md(135338,20816,0);Md(135359,20816,2);Md(135385,20816,34);Md(135410,20816,19);Md(135436,20816,0);Md(135461,20816,49);Md(135488,20816,51);Md(135513,20816,32);Md(135539,20816,17);Md(135564,20816,2);Md(135591,20816,-2);Md(135612,20816,0);Md(135634,20816,2);Md(135657,20816,-1);Md(135685,20816,1);Md(135707,20816,0);Md(135721,20816,1);Md(135739,20816,7);Md(135751,20816,8);Md(135763,20816,3);Md(135777,20816,4);Md(135795,20816,16);Md(135811,20816,2);Md(135824,20816,4);Md(135834,20816,5);Md(135851,20816,2);Md(135860,20816,3);Md(135876,20816,0);Md(135886,20816,1);Md(135903,20816,1);Md(135922,20816,2);Md(135939,20816,1);Md(135961,20816,128);Md(135984,20816,1);Md(136005,20816,4);Md(136035,20816,64);Md(136062,20816,2);Md(136090,20816,24);Md(136116,20816,8);Md(136135,20816,32);Md(136159,20816,0);Md(136174,20816,16384);Md(136195,20824,7);Md(136211,20824,-65536);Md(136227,20816,1124007936);Md(136242,20816,32768);Md(136262,20824,4095);Md(136277,20816,2);Md(136306,20816,1);Md(136333,20816,4);Md(136362,20816,0);Md(136376,20816,8);Md(136395,20816,16);Md(136412,20816,589824);Md(136437,20816,524288);Md(136463,20816,393216);Md(136480,20816,1073741824);Md(136503,20816,-2147483648);Md(136526,20816,2031616);Md(136548,20816,16);Md(136571,20816,65536);Md(136587,20816,131072);Md(136604,20816,0);Md(136621,20816,458752);Md(136647,20816,917504);Md(136669,20816,983040);Md(136695,20816,786432);Md(136723,20816,196608);Md(136746,20816,851968);Md(136782,20816,327680);Md(136809,20816,720896);Md(136837,20816,262144);Md(136867,20816,655360);Md(136884,20816,8);Md(136912,20816,4);Md(136940,20816,32);Md(136968,20816,16);Md(136996,20816,64);Md(137024,20816,2);Md(137051,20816,1);Md(137078,20816,127);Md(137106,20816,125);Md(137141,20816,96);Md(137169,20816,2147483647);Md(137194,20816,-21);Md(137203,20816,-18);Md(137219,20816,-24);Md(137226,20816,-22);Md(137238,20816,-12);Md(137249,20816,-17);Md(137258,20816,-10);Md(137271,20816,-14);Md(137287,20816,-16);Md(137303,20816,-15);Md(137318,20816,-11);Md(137328,20816,-19);Md(137337,20816,-20);Md(137347,20816,-25);Md(137358,20816,-13);Md(137366,20816,-23);Md(137378,20816,-217);Md(137394,20816,-216);Md(137410,20816,-9);Md(137423,20816,-26);Md(137435,20816,-220);Md(137454,20816,-221);Md(137479,20816,-222);Md(137495,20816,-223);Md(137514,20816,-219);Md(137533,20816,-218);Md(137552,20816,-215);Md(137562,20816,-8);Md(137575,20816,-1);Md(137588,20816,-5);Md(137598,20816,-206);Md(137609,20816,-6);Md(137620,20816,-208);Md(137631,20816,-214);Md(137646,20816,-207);Md(137658,20816,-201);Md(137669,20816,-202);Md(137682,20816,-2);Md(137691,20816,-31);Md(137710,20816,-29);Md(137736,20816,-203);Md(137759,20816,-3);Md(137771,20816,-30);Md(137797,20816,-7);Md(137807,20816,-4);Md(137816,20816,-213);Md(137834,20816,-27);Md(137845,20816,-204);Md(137863,20816,0);Md(137869,20816,-211);Md(137883,20816,-212);Md(137897,20816,-205);Md(137917,20816,-209);Md(137935,20816,-210);Md(137956,20816,-28);Md(137972,20816,3);Md(137995,20816,2);Md(138017,20816,0);Md(138036,20816,1);Md(138057,20816,1);Md(138070,20816,3);Md(138084,20816,2);Md(138097,20816,0);Md(138109,20816,5);Md(138122,20816,7);Md(138136,20816,6);Md(138149,20816,4);Md(138161,20816,9);Md(138174,20816,11);Md(138188,20816,10);Md(138201,20816,8);Md(138213,20816,13);Md(138226,20816,15);Md(138240,20816,14);Md(138253,20816,12);Md(138265,20816,16);Md(138285,20816,0);Md(138305,20816,1);Md(138324,20816,2);Md(138353,20816,0);Md(138368,20816,1);Md(138386,20816,4);Md(126315,20816,256);Md(126335,20816,16);Md(126348,20816,32);Md(126361,20816,64);Md(126374,20816,128);Md(126413,20816,512);Md(138403,20816,8);Md(138418,20816,2);Md(126617,20816,1);Md(138444,20816,2);Md(138468,20816,1);Md(138482,20816,0);Md(138493,20816,1);Md(138502,20816,2);Md(138514,20816,0);Md(138525,20816,3);Md(138534,20816,0);Md(138547,20816,1);Md(138559,20816,2);return}function sr(a){a=a|0;id(a|0)|0;NRa()}function tr(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=u;u=u+16|0;g=e;if((b[453216]|0)==0?jVa(453216)|0:0){h=de(2,20896)|0;f[113738]=h}h=f[113738]|0;i=EQa(8)|0;f[i>>2]=f[d>>2];f[i+4>>2]=f[d+4>>2];f[g>>2]=i;be(h|0,a|0,c|0,g|0);u=e;return}function ur(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=u;u=u+16|0;g=e;if((b[453224]|0)==0?jVa(453224)|0:0){h=de(2,20904)|0;f[113739]=h}h=f[113739]|0;i=EQa(20)|0;f[i>>2]=f[d>>2];f[i+4>>2]=f[d+4>>2];f[i+8>>2]=f[d+8>>2];f[i+12>>2]=f[d+12>>2];f[i+16>>2]=f[d+16>>2];f[g>>2]=i;be(h|0,a|0,c|0,g|0);u=e;return}function vr(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=u;u=u+16|0;g=e;if((b[453232]|0)==0?jVa(453232)|0:0){h=de(2,20912)|0;f[113740]=h}h=f[113740]|0;i=EQa(16)|0;f[i>>2]=f[d>>2];f[i+4>>2]=f[d+4>>2];f[i+8>>2]=f[d+8>>2];f[i+12>>2]=f[d+12>>2];f[g>>2]=i;be(h|0,a|0,c|0,g|0);u=e;return}function wr(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+4|0;d=f[c>>2]|0;if((d|0)==(f[a+8>>2]|0)){Br(a,b);return}else{f[d>>2]=f[b>>2];f[c>>2]=d+4;return}}function xr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=e;if(h>>>0>>0){Cr(a,b-h|0,c);return}if(h>>>0<=b>>>0)return;h=g+(b<<2)|0;if((h|0)==(i|0))return;f[d>>2]=i+(~((i+-4-h|0)>>>2)<<2);return}function yr(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>2|0}function zr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+16|0;e=d;g=f[b>>2]|0;if((f[b+4>>2]|0)-g>>2>>>0<=c>>>0){h=1;f[a>>2]=h;u=d;return}f[e>>2]=f[g+(c<<2)>>2];h=le(20816,e|0)|0;f[a>>2]=h;u=d;return}function Ar(a,b,c){a=a|0;b=b|0;c=c|0;f[(f[a>>2]|0)+(b<<2)>>2]=f[c>>2];return 1}function Br(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=e>>2;h=g+1|0;if(h>>>0>1073741823)ZOa(a);i=a+8|0;j=(f[i>>2]|0)-d|0;k=j>>1;l=j>>2>>>0<536870911?(k>>>0>>0?h:k):1073741823;do if(l)if(l>>>0>1073741823){k=hd(8)|0;LQa(k,349912);f[k>>2]=118288;ld(k|0,20688,857)}else{k=EQa(l<<2)|0;m=k;n=k;break}else{m=0;n=0}while(0);k=m+(g<<2)|0;f[k>>2]=f[b>>2];if((e|0)>0)DVa(n|0,d|0,e|0)|0;f[a>>2]=m;f[c>>2]=k+4;f[i>>2]=m+(l<<2);if(!d)return;GQa(d);return}function Cr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;i=h;if(e-h>>2>>>0>=b>>>0){j=b;k=i;while(1){f[k>>2]=f[c>>2];j=j+-1|0;if(!j)break;else k=k+4|0}f[g>>2]=i+(b<<2);return}i=f[a>>2]|0;k=h-i|0;h=k>>2;j=h+b|0;if(j>>>0>1073741823)ZOa(a);l=e-i|0;e=l>>1;m=l>>2>>>0<536870911?(e>>>0>>0?j:e):1073741823;do if(m)if(m>>>0>1073741823){e=hd(8)|0;LQa(e,349912);f[e>>2]=118288;ld(e|0,20688,857)}else{e=EQa(m<<2)|0;n=e;o=e;break}else{n=0;o=0}while(0);e=n+(h<<2)|0;h=n+(m<<2)|0;m=b;j=e;while(1){f[j>>2]=f[c>>2];m=m+-1|0;if(!m)break;else j=j+4|0}if((k|0)>0)DVa(o|0,i|0,k|0)|0;f[a>>2]=n;f[g>>2]=e+(b<<2);f[d>>2]=h;if(!i)return;GQa(i);return}function Dr(a){a=a|0;return 8312}function Er(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}GQa(a);return}function Fr(){var a=0;a=EQa(12)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return a|0}function Gr(a){a=a|0;return Vf[a&31]()|0}function Hr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+16|0;e=d;g=f[a>>2]|0;h=f[a+4>>2]|0;a=b+(h>>1)|0;if(!(h&1))i=g;else i=f[(f[a>>2]|0)+g>>2]|0;f[e>>2]=c;zg[i&511](a,e);u=d;return}function Ir(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+16|0;g=e;h=f[a>>2]|0;i=f[a+4>>2]|0;a=b+(i>>1)|0;if(!(i&1))j=h;else j=f[(f[a>>2]|0)+h>>2]|0;f[g>>2]=d;Rg[j&255](a,c,g);u=e;return}function Jr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a>>2]|0;d=f[a+4>>2]|0;a=b+(d>>1)|0;if(!(d&1))e=c;else e=f[(f[a>>2]|0)+c>>2]|0;return Wf[e&255](a)|0}function Kr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;Rg[f[a>>2]&255](e,b,c);fe(f[e>>2]|0);c=f[e>>2]|0;ce(c|0);u=d;return c|0}function Lr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+16|0;g=e;h=f[a>>2]|0;f[g>>2]=d;d=bg[h&127](b,c,g)|0;u=e;return d|0}function Mr(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+4|0;d=f[c>>2]|0;if((d|0)==(f[a+8>>2]|0)){Rr(a,b);return}else{f[d>>2]=f[b>>2];f[c>>2]=d+4;return}}function Nr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=e;if(h>>>0>>0){Sr(a,b-h|0,c);return}if(h>>>0<=b>>>0)return;h=g+(b<<2)|0;if((h|0)==(i|0))return;f[d>>2]=i+(~((i+-4-h|0)>>>2)<<2);return}function Or(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>2|0}function Pr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+16|0;e=d;g=f[b>>2]|0;if((f[b+4>>2]|0)-g>>2>>>0<=c>>>0){h=1;f[a>>2]=h;u=d;return}f[e>>2]=f[g+(c<<2)>>2];h=le(20848,e|0)|0;f[a>>2]=h;u=d;return}function Qr(a,b,c){a=a|0;b=b|0;c=c|0;f[(f[a>>2]|0)+(b<<2)>>2]=f[c>>2];return 1}function Rr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=e>>2;h=g+1|0;if(h>>>0>1073741823)ZOa(a);i=a+8|0;j=(f[i>>2]|0)-d|0;k=j>>1;l=j>>2>>>0<536870911?(k>>>0>>0?h:k):1073741823;do if(l)if(l>>>0>1073741823){k=hd(8)|0;LQa(k,349912);f[k>>2]=118288;ld(k|0,20688,857)}else{k=EQa(l<<2)|0;m=k;n=k;break}else{m=0;n=0}while(0);k=m+(g<<2)|0;f[k>>2]=f[b>>2];if((e|0)>0)DVa(n|0,d|0,e|0)|0;f[a>>2]=m;f[c>>2]=k+4;f[i>>2]=m+(l<<2);if(!d)return;GQa(d);return}function Sr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if(e-h>>2>>>0>=b>>>0){i=h+(b<<2)|0;j=b;k=h;while(1){f[k>>2]=f[c>>2];j=j+-1|0;if(!j)break;else k=k+4|0}f[g>>2]=i;return}i=f[a>>2]|0;k=h-i|0;h=k>>2;j=h+b|0;if(j>>>0>1073741823)ZOa(a);l=e-i|0;e=l>>1;m=l>>2>>>0<536870911?(e>>>0>>0?j:e):1073741823;do if(m)if(m>>>0>1073741823){e=hd(8)|0;LQa(e,349912);f[e>>2]=118288;ld(e|0,20688,857)}else{e=EQa(m<<2)|0;n=e;o=e;break}else{n=0;o=0}while(0);e=n+(m<<2)|0;m=b;b=n+(h<<2)|0;while(1){f[b>>2]=f[c>>2];m=m+-1|0;if(!m)break;else b=b+4|0}if((k|0)>0)DVa(o|0,i|0,k|0)|0;f[a>>2]=n;f[g>>2]=n+(j<<2);f[d>>2]=e;if(!i)return;GQa(i);return}function Tr(a){a=a|0;return 8400}function Ur(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}GQa(a);return}function Vr(){var a=0;a=EQa(12)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return a|0}function Wr(a){a=a|0;return Vf[a&31]()|0}function Xr(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+16|0;e=d;g=f[a>>2]|0;h=f[a+4>>2]|0;a=b+(h>>1)|0;if(!(h&1))i=g;else i=f[(f[a>>2]|0)+g>>2]|0;n[e>>2]=c;zg[i&511](a,e);u=d;return}function Yr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+16|0;g=e;h=f[a>>2]|0;i=f[a+4>>2]|0;a=b+(i>>1)|0;if(!(i&1))j=h;else j=f[(f[a>>2]|0)+h>>2]|0;n[g>>2]=d;Rg[j&255](a,c,g);u=e;return}function Zr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a>>2]|0;d=f[a+4>>2]|0;a=b+(d>>1)|0;if(!(d&1))e=c;else e=f[(f[a>>2]|0)+c>>2]|0;return Wf[e&255](a)|0}function _r(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;Rg[f[a>>2]&255](e,b,c);fe(f[e>>2]|0);c=f[e>>2]|0;ce(c|0);u=d;return c|0}function $r(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0,h=0;e=u;u=u+16|0;g=e;h=f[a>>2]|0;n[g>>2]=d;a=bg[h&127](b,c,g)|0;u=e;return a|0}function as(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+4|0;d=f[c>>2]|0;if((d|0)==(f[a+8>>2]|0)){fs(a,b);return}else{p[d>>3]=+p[b>>3];f[c>>2]=d+8;return}}function bs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>3;i=e;if(h>>>0>>0){gs(a,b-h|0,c);return}if(h>>>0<=b>>>0)return;h=g+(b<<3)|0;if((h|0)==(i|0))return;f[d>>2]=i+(~((i+-8-h|0)>>>3)<<3);return}function cs(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>3|0}function ds(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+16|0;e=d;g=f[b>>2]|0;if((f[b+4>>2]|0)-g>>3>>>0<=c>>>0){h=1;f[a>>2]=h;u=d;return}p[e>>3]=+p[g+(c<<3)>>3];h=le(20856,e|0)|0;f[a>>2]=h;u=d;return}function es(a,b,c){a=a|0;b=b|0;c=c|0;p[(f[a>>2]|0)+(b<<3)>>3]=+p[c>>3];return 1}function fs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=e>>3;h=g+1|0;if(h>>>0>536870911)ZOa(a);i=a+8|0;j=(f[i>>2]|0)-d|0;k=j>>2;l=j>>3>>>0<268435455?(k>>>0>>0?h:k):536870911;do if(l)if(l>>>0>536870911){k=hd(8)|0;LQa(k,349912);f[k>>2]=118288;ld(k|0,20688,857)}else{k=EQa(l<<3)|0;m=k;n=k;break}else{m=0;n=0}while(0);k=m+(g<<3)|0;p[k>>3]=+p[b>>3];if((e|0)>0)DVa(n|0,d|0,e|0)|0;f[a>>2]=m;f[c>>2]=k+8;f[i>>2]=m+(l<<3);if(!d)return;GQa(d);return}function gs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;i=h;if(e-h>>3>>>0>=b>>>0){j=b;k=i;while(1){p[k>>3]=+p[c>>3];j=j+-1|0;if(!j)break;else k=k+8|0}f[g>>2]=i+(b<<3);return}i=f[a>>2]|0;k=h-i|0;h=k>>3;j=h+b|0;if(j>>>0>536870911)ZOa(a);l=e-i|0;e=l>>2;m=l>>3>>>0<268435455?(e>>>0>>0?j:e):536870911;do if(m)if(m>>>0>536870911){e=hd(8)|0;LQa(e,349912);f[e>>2]=118288;ld(e|0,20688,857)}else{e=EQa(m<<3)|0;n=e;o=e;break}else{n=0;o=0}while(0);e=n+(h<<3)|0;h=n+(m<<3)|0;m=b;j=e;while(1){p[j>>3]=+p[c>>3];m=m+-1|0;if(!m)break;else j=j+8|0}if((k|0)>0)DVa(o|0,i|0,k|0)|0;f[a>>2]=n;f[g>>2]=e+(b<<3);f[d>>2]=h;if(!i)return;GQa(i);return}function hs(a){a=a|0;return 8480}function is(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-8-b|0)>>>3)<<3);GQa(b)}GQa(a);return}function js(){var a=0;a=EQa(12)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return a|0}function ks(a){a=a|0;return Vf[a&31]()|0}function ls(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+16|0;e=d;g=f[a>>2]|0;h=f[a+4>>2]|0;a=b+(h>>1)|0;if(!(h&1))i=g;else i=f[(f[a>>2]|0)+g>>2]|0;p[e>>3]=c;zg[i&511](a,e);u=d;return}function ms(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+16|0;g=e;h=f[a>>2]|0;i=f[a+4>>2]|0;a=b+(i>>1)|0;if(!(i&1))j=h;else j=f[(f[a>>2]|0)+h>>2]|0;p[g>>3]=d;Rg[j&255](a,c,g);u=e;return}function ns(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a>>2]|0;d=f[a+4>>2]|0;a=b+(d>>1)|0;if(!(d&1))e=c;else e=f[(f[a>>2]|0)+c>>2]|0;return Wf[e&255](a)|0}function os(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;Rg[f[a>>2]&255](e,b,c);fe(f[e>>2]|0);c=f[e>>2]|0;ce(c|0);u=d;return c|0}function ps(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0,h=0;e=u;u=u+16|0;g=e;h=f[a>>2]|0;p[g>>3]=d;a=bg[h&127](b,c,g)|0;u=e;return a|0}function qs(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+4|0;d=f[c>>2]|0;if((d|0)==(f[a+8>>2]|0)){vs(a,b);return}else{f[d>>2]=f[b>>2];f[d+4>>2]=f[b+4>>2];f[c>>2]=d+8;return}}function rs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>3;i=e;if(h>>>0>>0){ws(a,b-h|0,c);return}if(h>>>0<=b>>>0)return;h=g+(b<<3)|0;if((h|0)==(i|0))return;f[d>>2]=i+(~((i+-8-h|0)>>>3)<<3);return}function ss(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>3|0}function ts(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+16|0;e=d;g=f[b>>2]|0;h=g;if((f[b+4>>2]|0)-g>>3>>>0<=c>>>0){i=1;f[a>>2]=i;u=d;return}g=EQa(8)|0;f[g>>2]=f[h+(c<<3)>>2];f[g+4>>2]=f[h+(c<<3)+4>>2];f[e>>2]=g;i=le(8616,e|0)|0;f[a>>2]=i;u=d;return}function us(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=f[a>>2]|0;f[d+(b<<3)>>2]=f[c>>2];f[d+(b<<3)+4>>2]=f[c+4>>2];return 1}function vs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e>>3;h=g+1|0;i=e;j=d;if(h>>>0>536870911)ZOa(a);d=a+8|0;k=(f[d>>2]|0)-e|0;l=k>>2;m=k>>3>>>0<268435455?(l>>>0>>0?h:l):536870911;do if(m)if(m>>>0>536870911){l=hd(8)|0;LQa(l,349912);f[l>>2]=118288;ld(l|0,20688,857)}else{n=EQa(m<<3)|0;break}else n=0;while(0);l=n+(g<<3)|0;h=n+(m<<3)|0;f[l>>2]=f[b>>2];f[n+(g<<3)+4>>2]=f[b+4>>2];b=l+8|0;if((j|0)==(i|0))o=l;else{g=j+-8-e|0;n=j;j=l;while(1){m=n;n=n+-8|0;f[j+-8>>2]=f[n>>2];f[j+-4>>2]=f[m+-4>>2];if((n|0)==(i|0))break;else j=j+-8|0}o=l+(~(g>>>3)<<3)|0}f[a>>2]=o;f[c>>2]=b;f[d>>2]=h;if(!e)return;GQa(e);return}function ws(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;i=h;if(e-h>>3>>>0>=b>>>0){j=c+4|0;k=b;l=i;while(1){f[l>>2]=f[c>>2];f[l+4>>2]=f[j>>2];k=k+-1|0;if(!k)break;else l=l+8|0}f[g>>2]=i+(b<<3);return}l=f[a>>2]|0;k=h-l>>3;h=k+b|0;j=l;if(h>>>0>536870911)ZOa(a);m=e-l|0;e=m>>2;n=m>>3>>>0<268435455?(e>>>0>>0?h:e):536870911;do if(n)if(n>>>0>536870911){e=hd(8)|0;LQa(e,349912);f[e>>2]=118288;ld(e|0,20688,857)}else{o=EQa(n<<3)|0;break}else o=0;while(0);e=o+(k<<3)|0;k=o+(n<<3)|0;n=c+4|0;o=b;h=e;while(1){f[h>>2]=f[c>>2];f[h+4>>2]=f[n>>2];o=o+-1|0;if(!o)break;else h=h+8|0}h=k;k=e+(b<<3)|0;if((i|0)==(j|0)){p=e;q=l}else{b=i+-8-l|0;l=i;i=e;while(1){o=l;l=l+-8|0;f[i+-8>>2]=f[l>>2];f[i+-4>>2]=f[o+-4>>2];if((l|0)==(j|0))break;else i=i+-8|0}p=e+(~(b>>>3)<<3)|0;q=f[a>>2]|0}f[a>>2]=p;f[g>>2]=k;f[d>>2]=h;if(!q)return;GQa(q);return}function xs(a){a=a|0;return 8560}function ys(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-8-b|0)>>>3)<<3);GQa(b)}GQa(a);return}function zs(){var a=0;a=EQa(12)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return a|0}function As(a){a=a|0;return Vf[a&31]()|0}function Bs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=f[a>>2]|0;e=f[a+4>>2]|0;a=b+(e>>1)|0;if(!(e&1)){g=d;zg[g&511](a,c);return}else{g=f[(f[a>>2]|0)+d>>2]|0;zg[g&511](a,c);return}}function Cs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=f[a>>2]|0;g=f[a+4>>2]|0;a=b+(g>>1)|0;if(!(g&1)){h=e;Rg[h&255](a,c,d);return}else{h=f[(f[a>>2]|0)+e>>2]|0;Rg[h&255](a,c,d);return}}function Ds(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a>>2]|0;d=f[a+4>>2]|0;a=b+(d>>1)|0;if(!(d&1))e=c;else e=f[(f[a>>2]|0)+c>>2]|0;return Wf[e&255](a)|0}function Es(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;Rg[f[a>>2]&255](e,b,c);fe(f[e>>2]|0);c=f[e>>2]|0;ce(c|0);u=d;return c|0}function Fs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return bg[f[a>>2]&127](b,c,d)|0}function Gs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;d=f[c>>2]|0;if((d|0)==(f[a+8>>2]|0)){Ls(a,b);return}f[d>>2]=f[b>>2];a=d+4|0;e=b+4|0;f[a>>2]=f[e>>2];g=d+8|0;f[g>>2]=f[b+8>>2];f[d+12>>2]=f[b+12>>2];f[d+16>>2]=f[b+16>>2];f[d+20>>2]=f[b+20>>2];f[d+24>>2]=f[b+24>>2];f[d+28>>2]=f[b+28>>2];f[d+32>>2]=f[b+32>>2];h=f[b+36>>2]|0;f[d+36>>2]=h;f[d+40>>2]=g;g=d+48|0;i=d+44|0;f[i>>2]=g;f[g>>2]=0;f[d+52>>2]=0;if(h|0){g=h+12|0;f[g>>2]=(f[g>>2]|0)+1}if((f[e>>2]|0)<3){e=f[b+44>>2]|0;g=f[i>>2]|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2]}else{f[a>>2]=0;WO(d,b)}f[c>>2]=(f[c>>2]|0)+56;return}function Hs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=(e-g|0)/56|0;i=e;if(h>>>0>>0){Os(a,b-h|0,c);return}if(h>>>0<=b>>>0)return;h=g+(b*56|0)|0;if((h|0)==(i|0))return;else j=i;do{i=j+-56|0;f[d>>2]=i;b=j+-20|0;g=f[b>>2]|0;if(g|0?(c=g+12|0,g=f[c>>2]|0,f[c>>2]=g+-1,(g|0)==1):0)XO(i);f[b>>2]=0;b=j+-40|0;i=j+-52|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[i>>2]|0)>0){b=f[j+-16>>2]|0;g=0;do{f[b+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[i>>2]|0))}i=f[j+-12>>2]|0;if((i|0)!=(j+-8|0))dX(i);j=f[d>>2]|0}while((j|0)!=(h|0));return}function Is(a){a=a|0;return ((f[a+4>>2]|0)-(f[a>>2]|0)|0)/56|0|0}function Js(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+16|0;e=d;g=f[b>>2]|0;if((((f[b+4>>2]|0)-g|0)/56|0)>>>0<=c>>>0){h=1;f[a>>2]=h;u=d;return}Ys(e,g+(c*56|0)|0);h=le(8704,e|0)|0;f[a>>2]=h;u=d;return}function Ks(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=f[a>>2]|0;a=d+(b*56|0)|0;if((a|0)==(c|0))return 1;e=c+36|0;g=f[e>>2]|0;if(g|0){h=g+12|0;f[h>>2]=(f[h>>2]|0)+1}h=d+(b*56|0)+36|0;g=f[h>>2]|0;if(g|0?(i=g+12|0,g=f[i>>2]|0,f[i>>2]=g+-1,(g|0)==1):0)XO(a);f[h>>2]=0;g=d+(b*56|0)+16|0;i=d+(b*56|0)+4|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;if((f[i>>2]|0)>0){j=f[d+(b*56|0)+40>>2]|0;k=0;do{f[j+(k<<2)>>2]=0;k=k+1|0;l=f[i>>2]|0}while((k|0)<(l|0));f[a>>2]=f[c>>2];if((l|0)<3)m=12;else m=14}else{f[a>>2]=f[c>>2];m=12}if((m|0)==12){l=f[c+4>>2]|0;if((l|0)<3){f[i>>2]=l;f[d+(b*56|0)+8>>2]=f[c+8>>2];f[d+(b*56|0)+12>>2]=f[c+12>>2];l=f[c+44>>2]|0;i=f[d+(b*56|0)+44>>2]|0;f[i>>2]=f[l>>2];f[i+4>>2]=f[l+4>>2]}else m=14}if((m|0)==14)WO(a,c);f[g>>2]=f[c+16>>2];f[d+(b*56|0)+20>>2]=f[c+20>>2];f[d+(b*56|0)+24>>2]=f[c+24>>2];f[d+(b*56|0)+28>>2]=f[c+28>>2];f[d+(b*56|0)+32>>2]=f[c+32>>2];f[h>>2]=f[e>>2];return 1}function Ls(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+32|0;d=c;e=f[a>>2]|0;g=((f[a+4>>2]|0)-e|0)/56|0;h=g+1|0;if(h>>>0>76695844)ZOa(a);i=((f[a+8>>2]|0)-e|0)/56|0;e=i<<1;j=i>>>0<38347922?(e>>>0>>0?h:e):76695844;f[d+12>>2]=0;f[d+16>>2]=a+8;do if(j)if(j>>>0>76695844){e=hd(8)|0;LQa(e,349912);f[e>>2]=118288;ld(e|0,20688,857)}else{k=EQa(j*56|0)|0;break}else k=0;while(0);f[d>>2]=k;e=k+(g*56|0)|0;h=d+8|0;f[h>>2]=e;f[d+4>>2]=e;f[d+12>>2]=k+(j*56|0);f[e>>2]=f[b>>2];j=k+(g*56|0)+4|0;i=b+4|0;l=f[i>>2]|0;f[j>>2]=l;m=k+(g*56|0)+8|0;f[m>>2]=f[b+8>>2];f[k+(g*56|0)+12>>2]=f[b+12>>2];f[k+(g*56|0)+16>>2]=f[b+16>>2];f[k+(g*56|0)+20>>2]=f[b+20>>2];f[k+(g*56|0)+24>>2]=f[b+24>>2];f[k+(g*56|0)+28>>2]=f[b+28>>2];f[k+(g*56|0)+32>>2]=f[b+32>>2];n=f[b+36>>2]|0;f[k+(g*56|0)+36>>2]=n;f[k+(g*56|0)+40>>2]=m;m=k+(g*56|0)+48|0;o=k+(g*56|0)+44|0;f[o>>2]=m;f[m>>2]=0;f[k+(g*56|0)+52>>2]=0;if(!n)p=l;else{l=n+12|0;f[l>>2]=(f[l>>2]|0)+1;p=f[i>>2]|0}if((p|0)<3){p=f[b+44>>2]|0;i=f[o>>2]|0;f[i>>2]=f[p>>2];f[i+4>>2]=f[p+4>>2];q=f[h>>2]|0;r=q+56|0;f[h>>2]=r;Ms(a,d);Ns(d);u=c;return}else{f[j>>2]=0;WO(e,b);q=f[h>>2]|0;r=q+56|0;f[h>>2]=r;Ms(a,d);Ns(d);u=c;return}}function Ms(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;c=f[a>>2]|0;d=a+4|0;e=f[d>>2]|0;g=b+4|0;if((e|0)==(c|0)){h=g;i=a;j=f[g>>2]|0;k=c;f[i>>2]=j;f[h>>2]=k;l=b+8|0;m=f[d>>2]|0;n=f[l>>2]|0;f[d>>2]=n;f[l>>2]=m;o=a+8|0;p=b+12|0;q=f[o>>2]|0;r=f[p>>2]|0;f[o>>2]=r;f[p>>2]=q;s=f[h>>2]|0;f[b>>2]=s;return}t=e;e=f[g>>2]|0;do{u=e+-56|0;v=t;t=t+-56|0;f[u>>2]=f[t>>2];w=e+-52|0;x=v+-52|0;f[w>>2]=f[x>>2];y=e+-48|0;f[y>>2]=f[v+-48>>2];f[e+-44>>2]=f[v+-44>>2];f[e+-40>>2]=f[v+-40>>2];f[e+-36>>2]=f[v+-36>>2];f[e+-32>>2]=f[v+-32>>2];f[e+-28>>2]=f[v+-28>>2];f[e+-24>>2]=f[v+-24>>2];z=f[v+-20>>2]|0;f[e+-20>>2]=z;f[e+-16>>2]=y;y=e+-8|0;A=e+-12|0;f[A>>2]=y;f[y>>2]=0;f[e+-4>>2]=0;if(z|0){y=z+12|0;f[y>>2]=(f[y>>2]|0)+1}if((f[x>>2]|0)<3){x=f[v+-12>>2]|0;v=f[A>>2]|0;f[v>>2]=f[x>>2];f[v+4>>2]=f[x+4>>2]}else{f[w>>2]=0;WO(u,t)}e=(f[g>>2]|0)+-56|0;f[g>>2]=e}while((t|0)!=(c|0));h=g;i=a;j=e;k=f[a>>2]|0;f[i>>2]=j;f[h>>2]=k;l=b+8|0;m=f[d>>2]|0;n=f[l>>2]|0;f[d>>2]=n;f[l>>2]=m;o=a+8|0;p=b+12|0;q=f[o>>2]|0;r=f[p>>2]|0;f[o>>2]=r;f[p>>2]=q;s=f[h>>2]|0;f[b>>2]=s;return}function Ns(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=f[a+4>>2]|0;c=a+8|0;d=f[c>>2]|0;if((d|0)!=(b|0)){e=d;do{d=e+-56|0;f[c>>2]=d;g=e+-20|0;h=f[g>>2]|0;if(h|0?(i=h+12|0,h=f[i>>2]|0,f[i>>2]=h+-1,(h|0)==1):0)XO(d);f[g>>2]=0;g=e+-40|0;d=e+-52|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;if((f[d>>2]|0)>0){g=f[e+-16>>2]|0;h=0;do{f[g+(h<<2)>>2]=0;h=h+1|0}while((h|0)<(f[d>>2]|0))}d=f[e+-12>>2]|0;if((d|0)!=(e+-8|0))dX(d);e=f[c>>2]|0}while((e|0)!=(b|0))}b=f[a>>2]|0;if(!b)return;GQa(b);return}function Os(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+32|0;e=d;g=f[a+8>>2]|0;h=a+4|0;i=f[h>>2]|0;if(((g-i|0)/56|0)>>>0>=b>>>0){j=c+4|0;k=c+8|0;l=c+12|0;m=c+16|0;n=c+20|0;o=c+24|0;p=c+28|0;q=c+32|0;r=c+36|0;s=c+44|0;t=b;v=i;do{f[v>>2]=f[c>>2];w=v+4|0;f[w>>2]=f[j>>2];x=v+8|0;f[x>>2]=f[k>>2];f[v+12>>2]=f[l>>2];f[v+16>>2]=f[m>>2];f[v+20>>2]=f[n>>2];f[v+24>>2]=f[o>>2];f[v+28>>2]=f[p>>2];f[v+32>>2]=f[q>>2];y=f[r>>2]|0;f[v+36>>2]=y;f[v+40>>2]=x;x=v+48|0;z=v+44|0;f[z>>2]=x;f[x>>2]=0;f[v+52>>2]=0;if(y|0){x=y+12|0;f[x>>2]=(f[x>>2]|0)+1}if((f[j>>2]|0)<3){x=f[s>>2]|0;y=f[z>>2]|0;f[y>>2]=f[x>>2];f[y+4>>2]=f[x+4>>2]}else{f[w>>2]=0;WO(v,c)}v=(f[h>>2]|0)+56|0;f[h>>2]=v;t=t+-1|0}while((t|0)!=0);u=d;return}t=f[a>>2]|0;v=(i-t|0)/56|0;i=v+b|0;if(i>>>0>76695844)ZOa(a);h=(g-t|0)/56|0;t=h<<1;g=h>>>0<38347922?(t>>>0>>0?i:t):76695844;f[e+12>>2]=0;f[e+16>>2]=a+8;do if(g)if(g>>>0>76695844){t=hd(8)|0;LQa(t,349912);f[t>>2]=118288;ld(t|0,20688,857)}else{A=EQa(g*56|0)|0;break}else A=0;while(0);f[e>>2]=A;t=A+(v*56|0)|0;v=e+8|0;f[v>>2]=t;f[e+4>>2]=t;f[e+12>>2]=A+(g*56|0);g=c+4|0;A=c+8|0;i=c+12|0;h=c+16|0;s=c+20|0;j=c+24|0;r=c+28|0;q=c+32|0;p=c+36|0;o=c+44|0;n=b;b=t;do{f[b>>2]=f[c>>2];t=b+4|0;f[t>>2]=f[g>>2];m=b+8|0;f[m>>2]=f[A>>2];f[b+12>>2]=f[i>>2];f[b+16>>2]=f[h>>2];f[b+20>>2]=f[s>>2];f[b+24>>2]=f[j>>2];f[b+28>>2]=f[r>>2];f[b+32>>2]=f[q>>2];l=f[p>>2]|0;f[b+36>>2]=l;f[b+40>>2]=m;m=b+48|0;k=b+44|0;f[k>>2]=m;f[m>>2]=0;f[b+52>>2]=0;if(l|0){m=l+12|0;f[m>>2]=(f[m>>2]|0)+1}if((f[g>>2]|0)<3){m=f[o>>2]|0;l=f[k>>2]|0;f[l>>2]=f[m>>2];f[l+4>>2]=f[m+4>>2]}else{f[t>>2]=0;WO(b,c)}b=(f[v>>2]|0)+56|0;f[v>>2]=b;n=n+-1|0}while((n|0)!=0);Ms(a,e);Ns(e);u=d;return}function Ps(a){a=a|0;return 8648}function Qs(a){a=a|0;if(!a)return;Rs(a);GQa(a);return}function Rs(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d;do{d=g+-56|0;f[c>>2]=d;h=g+-20|0;i=f[h>>2]|0;if(i|0?(j=i+12|0,i=f[j>>2]|0,f[j>>2]=i+-1,(i|0)==1):0)XO(d);f[h>>2]=0;h=g+-40|0;d=g+-52|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;if((f[d>>2]|0)>0){h=f[g+-16>>2]|0;i=0;do{f[h+(i<<2)>>2]=0;i=i+1|0}while((i|0)<(f[d>>2]|0))}d=f[g+-12>>2]|0;if((d|0)!=(g+-8|0))dX(d);g=f[c>>2]|0}while((g|0)!=(b|0));e=f[a>>2]|0}GQa(e);return}function Ss(){var a=0;a=EQa(12)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return a|0}function Ts(a){a=a|0;return Vf[a&31]()|0}function Us(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=f[a>>2]|0;e=f[a+4>>2]|0;a=b+(e>>1)|0;if(!(e&1)){g=d;zg[g&511](a,c);return}else{g=f[(f[a>>2]|0)+d>>2]|0;zg[g&511](a,c);return}}function Vs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=f[a>>2]|0;g=f[a+4>>2]|0;a=b+(g>>1)|0;if(!(g&1)){h=e;Rg[h&255](a,c,d);return}else{h=f[(f[a>>2]|0)+e>>2]|0;Rg[h&255](a,c,d);return}}function Ws(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a>>2]|0;d=f[a+4>>2]|0;a=b+(d>>1)|0;if(!(d&1))e=c;else e=f[(f[a>>2]|0)+c>>2]|0;return Wf[e&255](a)|0}function Xs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;Rg[f[a>>2]&255](e,b,c);fe(f[e>>2]|0);c=f[e>>2]|0;ce(c|0);u=d;return c|0}function Ys(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=EQa(56)|0;f[c>>2]=f[b>>2];d=c+4|0;e=b+4|0;g=f[e>>2]|0;f[d>>2]=g;h=c+8|0;f[h>>2]=f[b+8>>2];f[c+12>>2]=f[b+12>>2];f[c+16>>2]=f[b+16>>2];f[c+20>>2]=f[b+20>>2];f[c+24>>2]=f[b+24>>2];f[c+28>>2]=f[b+28>>2];f[c+32>>2]=f[b+32>>2];i=f[b+36>>2]|0;f[c+36>>2]=i;f[c+40>>2]=h;h=c+48|0;j=c+44|0;f[j>>2]=h;f[h>>2]=0;f[c+52>>2]=0;if(!i)k=g;else{g=i+12|0;f[g>>2]=(f[g>>2]|0)+1;k=f[e>>2]|0}if((k|0)<3){k=f[b+44>>2]|0;e=f[j>>2]|0;f[e>>2]=f[k>>2];f[e+4>>2]=f[k+4>>2];f[a>>2]=c;return}else{f[d>>2]=0;WO(c,b);f[a>>2]=c;return}}function Zs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return bg[f[a>>2]&127](b,c,d)|0}function _s(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+4|0;d=f[c>>2]|0;if((d|0)==(f[a+8>>2]|0)){dt(a,b);return}else{f[d>>2]=f[b>>2];f[d+4>>2]=f[b+4>>2];f[d+8>>2]=f[b+8>>2];f[d+12>>2]=f[b+12>>2];f[c>>2]=d+16;return}}function $s(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>4;i=e;if(h>>>0>>0){et(a,b-h|0,c);return}if(h>>>0<=b>>>0)return;h=g+(b<<4)|0;if((h|0)==(i|0))return;f[d>>2]=i+(~((i+-16-h|0)>>>4)<<4);return}function at(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>4|0}function bt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+16|0;e=d;g=f[b>>2]|0;h=g;if((f[b+4>>2]|0)-g>>4>>>0<=c>>>0){i=1;f[a>>2]=i;u=d;return}g=EQa(16)|0;f[g>>2]=f[h+(c<<4)>>2];f[g+4>>2]=f[h+(c<<4)+4>>2];f[g+8>>2]=f[h+(c<<4)+8>>2];f[g+12>>2]=f[h+(c<<4)+12>>2];f[e>>2]=g;i=le(8272,e|0)|0;f[a>>2]=i;u=d;return}function ct(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=f[a>>2]|0;f[d+(b<<4)>>2]=f[c>>2];f[d+(b<<4)+4>>2]=f[c+4>>2];f[d+(b<<4)+8>>2]=f[c+8>>2];f[d+(b<<4)+12>>2]=f[c+12>>2];return 1}function dt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e>>4;h=g+1|0;i=e;j=d;if(h>>>0>268435455)ZOa(a);d=a+8|0;k=(f[d>>2]|0)-e|0;l=k>>3;m=k>>4>>>0<134217727?(l>>>0>>0?h:l):268435455;do if(m)if(m>>>0>268435455){l=hd(8)|0;LQa(l,349912);f[l>>2]=118288;ld(l|0,20688,857)}else{n=EQa(m<<4)|0;break}else n=0;while(0);l=n+(g<<4)|0;h=n+(m<<4)|0;f[l>>2]=f[b>>2];f[n+(g<<4)+4>>2]=f[b+4>>2];f[n+(g<<4)+8>>2]=f[b+8>>2];f[n+(g<<4)+12>>2]=f[b+12>>2];b=l+16|0;if((j|0)==(i|0))o=l;else{g=j+-16-e|0;n=j;j=l;while(1){m=n;n=n+-16|0;f[j+-16>>2]=f[n>>2];f[j+-12>>2]=f[m+-12>>2];f[j+-8>>2]=f[m+-8>>2];f[j+-4>>2]=f[m+-4>>2];if((n|0)==(i|0))break;else j=j+-16|0}o=l+(~(g>>>4)<<4)|0}f[a>>2]=o;f[c>>2]=b;f[d>>2]=h;if(!e)return;GQa(e);return}function et(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;i=h;if(e-h>>4>>>0>=b>>>0){j=c+4|0;k=c+8|0;l=c+12|0;m=b;n=i;while(1){f[n>>2]=f[c>>2];f[n+4>>2]=f[j>>2];f[n+8>>2]=f[k>>2];f[n+12>>2]=f[l>>2];m=m+-1|0;if(!m)break;else n=n+16|0}f[g>>2]=i+(b<<4);return}n=f[a>>2]|0;m=h-n>>4;h=m+b|0;l=n;if(h>>>0>268435455)ZOa(a);k=e-n|0;e=k>>3;j=k>>4>>>0<134217727?(e>>>0>>0?h:e):268435455;do if(j)if(j>>>0>268435455){e=hd(8)|0;LQa(e,349912);f[e>>2]=118288;ld(e|0,20688,857)}else{o=EQa(j<<4)|0;break}else o=0;while(0);e=o+(m<<4)|0;m=o+(j<<4)|0;j=c+4|0;o=c+8|0;h=c+12|0;k=b;p=e;while(1){f[p>>2]=f[c>>2];f[p+4>>2]=f[j>>2];f[p+8>>2]=f[o>>2];f[p+12>>2]=f[h>>2];k=k+-1|0;if(!k)break;else p=p+16|0}p=m;m=e+(b<<4)|0;if((i|0)==(l|0)){q=e;r=n}else{b=i+-16-n|0;n=i;i=e;while(1){k=n;n=n+-16|0;f[i+-16>>2]=f[n>>2];f[i+-12>>2]=f[k+-12>>2];f[i+-8>>2]=f[k+-8>>2];f[i+-4>>2]=f[k+-4>>2];if((n|0)==(l|0))break;else i=i+-16|0}q=e+(~(b>>>4)<<4)|0;r=f[a>>2]|0}f[a>>2]=q;f[g>>2]=m;f[d>>2]=p;if(!r)return;GQa(r);return}function ft(a){a=a|0;return 8736}function gt(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-16-b|0)>>>4)<<4);GQa(b)}GQa(a);return}function ht(){var a=0;a=EQa(12)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return a|0}function it(a){a=a|0;return Vf[a&31]()|0}function jt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=f[a>>2]|0;e=f[a+4>>2]|0;a=b+(e>>1)|0;if(!(e&1)){g=d;zg[g&511](a,c);return}else{g=f[(f[a>>2]|0)+d>>2]|0;zg[g&511](a,c);return}}function kt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=f[a>>2]|0;g=f[a+4>>2]|0;a=b+(g>>1)|0;if(!(g&1)){h=e;Rg[h&255](a,c,d);return}else{h=f[(f[a>>2]|0)+e>>2]|0;Rg[h&255](a,c,d);return}}function lt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a>>2]|0;d=f[a+4>>2]|0;a=b+(d>>1)|0;if(!(d&1))e=c;else e=f[(f[a>>2]|0)+c>>2]|0;return Wf[e&255](a)|0}function mt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;Rg[f[a>>2]&255](e,b,c);fe(f[e>>2]|0);c=f[e>>2]|0;ce(c|0);u=d;return c|0}function nt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return bg[f[a>>2]&127](b,c,d)|0}function ot(a){a=a|0;return 8704}function pt(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=a+36|0;c=f[b>>2]|0;if(c|0?(d=c+12|0,c=f[d>>2]|0,f[d>>2]=c+-1,(c|0)==1):0)XO(a);f[b>>2]=0;b=a+16|0;c=a+4|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[c>>2]|0)>0){b=f[a+40>>2]|0;d=0;do{f[b+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[c>>2]|0))}c=f[a+44>>2]|0;if((c|0)!=(a+48|0))dX(c);GQa(a);return}function qt(){var a=0,b=0,c=0,d=0,e=0;a=EQa(56)|0;f[a>>2]=1124007936;b=a+8|0;c=a+40|0;d=a+4|0;e=d+36|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f[c>>2]=b;b=a+48|0;f[a+44>>2]=b;f[b>>2]=0;f[a+52>>2]=0;return a|0}function rt(a){a=a|0;return Vf[a&31]()|0}function st(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=EQa(56)|0;f[b>>2]=f[a>>2];c=b+4|0;d=a+4|0;e=f[d>>2]|0;f[c>>2]=e;g=b+8|0;f[g>>2]=f[a+8>>2];f[b+12>>2]=f[a+12>>2];f[b+16>>2]=f[a+16>>2];f[b+20>>2]=f[a+20>>2];f[b+24>>2]=f[a+24>>2];f[b+28>>2]=f[a+28>>2];f[b+32>>2]=f[a+32>>2];h=f[a+36>>2]|0;f[b+36>>2]=h;f[b+40>>2]=g;g=b+48|0;i=b+44|0;f[i>>2]=g;f[g>>2]=0;f[b+52>>2]=0;if(!h)j=e;else{e=h+12|0;f[e>>2]=(f[e>>2]|0)+1;j=f[d>>2]|0}if((j|0)<3){j=f[a+44>>2]|0;d=f[i>>2]|0;f[d>>2]=f[j>>2];f[d+4>>2]=f[j+4>>2];return b|0}else{f[c>>2]=0;WO(b,a);return b|0}return 0}function tt(a,b){a=a|0;b=b|0;return Wf[a&255](b)|0}function ut(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;e=EQa(56)|0;g=f[a>>2]|0;h=f[a+4>>2]|0;a=f[b>>2]|0;f[e>>2]=1124007936;b=e+8|0;i=e+40|0;j=e+4|0;k=j+36|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[i>>2]=b;b=e+48|0;f[e+44>>2]=b;f[b>>2]=0;f[e+52>>2]=0;f[d>>2]=h;f[d+4>>2]=g;VO(e,2,d,a&4095);u=c;return e|0}function vt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;e=d+8|0;g=d;f[e>>2]=f[b>>2];f[e+4>>2]=f[b+4>>2];f[g>>2]=c;c=Zf[a&127](e,g)|0;u=d;return c|0}function wt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;g=EQa(56)|0;h=f[a>>2]|0;a=f[b>>2]|0;b=f[c>>2]|0;f[g>>2]=1124007936;c=g+8|0;i=g+40|0;j=g+4|0;k=j+36|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[i>>2]=c;c=g+48|0;f[g+44>>2]=c;f[c>>2]=0;f[g+52>>2]=0;f[e>>2]=h;f[e+4>>2]=a;VO(g,2,e,b&4095);u=d;return g|0}function xt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=u;u=u+16|0;g=e+8|0;h=e+4|0;i=e;f[g>>2]=b;f[h>>2]=c;f[i>>2]=d;d=bg[a&127](g,h,i)|0;u=e;return d|0}function yt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=u;u=u+16|0;g=e;h=EQa(56)|0;i=f[a>>2]|0;a=f[b>>2]|0;b=f[c>>2]|0;f[h>>2]=1124007936;c=h+8|0;j=h+40|0;k=h+4|0;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[j>>2]=c;c=h+48|0;f[h+44>>2]=c;f[c>>2]=0;f[h+52>>2]=0;f[g>>2]=i;f[g+4>>2]=a;VO(h,2,g,b&4095);gM(h,d)|0;u=e;return h|0}function zt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0;g=u;u=u+16|0;h=g+8|0;i=g+4|0;j=g;f[h>>2]=b;f[i>>2]=c;f[j>>2]=d;d=dg[a&63](h,i,j,e)|0;u=g;return d|0}function At(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return fg[a&63](b,c,d,e,f)|0}function Bt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+64|0;e=d+8|0;g=d;f[g>>2]=f[b>>2];f[g+4>>2]=f[b+4>>2];Rg[a&255](e,g,c);c=EQa(56)|0;f[c>>2]=f[e>>2];g=e+4|0;a=f[g>>2]|0;f[c+4>>2]=a;b=c+8|0;h=e+8|0;f[b>>2]=f[h>>2];f[c+12>>2]=f[e+12>>2];i=e+16|0;f[c+16>>2]=f[i>>2];f[c+20>>2]=f[e+20>>2];f[c+24>>2]=f[e+24>>2];f[c+28>>2]=f[e+28>>2];f[c+32>>2]=f[e+32>>2];j=e+36|0;f[c+36>>2]=f[j>>2];k=c+40|0;f[k>>2]=b;b=c+44|0;l=c+48|0;f[b>>2]=l;m=c+52|0;f[m>>2]=0;f[l>>2]=0;n=e+44|0;if((a|0)<3){a=f[n>>2]|0;f[l>>2]=f[a>>2];f[m>>2]=f[a+4>>2];o=a}else{f[b>>2]=f[n>>2];b=e+40|0;f[k>>2]=f[b>>2];k=e+48|0;f[n>>2]=k;f[b>>2]=h;o=k}f[e>>2]=1124007936;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;f[j>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((o|0)==(e+48|0)){u=d;return c|0}dX(o);u=d;return c|0}function Ct(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+64|0;g=e;th[a&255](g,b,c,d);d=EQa(56)|0;f[d>>2]=f[g>>2];c=g+4|0;b=f[c>>2]|0;f[d+4>>2]=b;a=d+8|0;h=g+8|0;f[a>>2]=f[h>>2];f[d+12>>2]=f[g+12>>2];i=g+16|0;f[d+16>>2]=f[i>>2];f[d+20>>2]=f[g+20>>2];f[d+24>>2]=f[g+24>>2];f[d+28>>2]=f[g+28>>2];f[d+32>>2]=f[g+32>>2];j=g+36|0;f[d+36>>2]=f[j>>2];k=d+40|0;f[k>>2]=a;a=d+44|0;l=d+48|0;f[a>>2]=l;m=d+52|0;f[m>>2]=0;f[l>>2]=0;n=g+44|0;if((b|0)<3){b=f[n>>2]|0;f[l>>2]=f[b>>2];f[m>>2]=f[b+4>>2];o=b}else{f[a>>2]=f[n>>2];a=g+40|0;f[k>>2]=f[a>>2];k=g+48|0;f[n>>2]=k;f[a>>2]=h;o=k}f[g>>2]=1124007936;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[c+24>>2]=0;f[c+28>>2]=0;f[j>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((o|0)==(g+48|0)){u=e;return d|0}dX(o);u=e;return d|0}function Dt(a,b){a=a|0;b=b|0;return f[b+(f[a>>2]|0)>>2]|0}function Et(a,b,c){a=a|0;b=b|0;c=c|0;f[b+(f[a>>2]|0)>>2]=c;return}function Ft(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;zg[f[a>>2]&511](d,b);fe(f[d>>2]|0);b=f[d>>2]|0;ce(b|0);u=c;return b|0}function Gt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a>>2]|0;d=f[a+4>>2]|0;a=b+(d>>1)|0;if(!(d&1))e=c;else e=f[(f[a>>2]|0)+c>>2]|0;return Wf[e&255](a)|0}function Ht(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a>>2]|0;d=f[a+4>>2]|0;a=b+(d>>1)|0;if(!(d&1))e=c;else e=f[(f[a>>2]|0)+c>>2]|0;return Wf[e&255](a)|0}function It(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;g=+g;Tg[f[a>>2]&15](b,c,d,e,g);return}function Jt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Rg[f[a>>2]&255](b,c,d);return}function Kt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;Sg[f[a>>2]&63](b,c,d,e);return}function Lt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+64|0;e=d;g=f[a>>2]|0;h=f[a+4>>2]|0;a=b+(h>>1)|0;if(!(h&1))i=g;else i=f[(f[a>>2]|0)+g>>2]|0;Rg[i&255](e,a,c);c=EQa(56)|0;f[c>>2]=f[e>>2];a=e+4|0;i=f[a>>2]|0;f[c+4>>2]=i;g=c+8|0;h=e+8|0;f[g>>2]=f[h>>2];f[c+12>>2]=f[e+12>>2];b=e+16|0;f[c+16>>2]=f[b>>2];f[c+20>>2]=f[e+20>>2];f[c+24>>2]=f[e+24>>2];f[c+28>>2]=f[e+28>>2];f[c+32>>2]=f[e+32>>2];j=e+36|0;f[c+36>>2]=f[j>>2];k=c+40|0;f[k>>2]=g;g=c+44|0;l=c+48|0;f[g>>2]=l;m=c+52|0;f[m>>2]=0;f[l>>2]=0;n=e+44|0;if((i|0)<3){i=f[n>>2]|0;f[l>>2]=f[i>>2];f[m>>2]=f[i+4>>2];o=i}else{f[g>>2]=f[n>>2];g=e+40|0;f[k>>2]=f[g>>2];k=e+48|0;f[n>>2]=k;f[g>>2]=h;o=k}f[e>>2]=1124007936;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[a+24>>2]=0;f[a+28>>2]=0;f[j>>2]=0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((o|0)==(e+48|0)){u=d;return c|0}dX(o);u=d;return c|0}function Mt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=f[a>>2]|0;h=f[a+4>>2]|0;a=b+(h>>1)|0;if(!(h&1)){i=g;th[i&255](a,c,d,e);return}else{i=f[(f[a>>2]|0)+g>>2]|0;th[i&255](a,c,d,e);return}}function Nt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+16|0;g=e;h=f[a>>2]|0;i=f[a+4>>2]|0;a=b+(i>>1)|0;if(!(i&1))j=h;else j=f[(f[a>>2]|0)+h>>2]|0;f[g>>2]=f[c>>2];f[g+4>>2]=f[c+4>>2];Rg[j&255](a,g,d);u=e;return}function Ot(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+64|0;g=e;h=f[a>>2]|0;i=f[a+4>>2]|0;a=b+(i>>1)|0;if(!(i&1))j=h;else j=f[(f[a>>2]|0)+h>>2]|0;th[j&255](g,a,c,d);d=EQa(56)|0;f[d>>2]=f[g>>2];c=g+4|0;a=f[c>>2]|0;f[d+4>>2]=a;j=d+8|0;h=g+8|0;f[j>>2]=f[h>>2];f[d+12>>2]=f[g+12>>2];i=g+16|0;f[d+16>>2]=f[i>>2];f[d+20>>2]=f[g+20>>2];f[d+24>>2]=f[g+24>>2];f[d+28>>2]=f[g+28>>2];f[d+32>>2]=f[g+32>>2];b=g+36|0;f[d+36>>2]=f[b>>2];k=d+40|0;f[k>>2]=j;j=d+44|0;l=d+48|0;f[j>>2]=l;m=d+52|0;f[m>>2]=0;f[l>>2]=0;n=g+44|0;if((a|0)<3){a=f[n>>2]|0;f[l>>2]=f[a>>2];f[m>>2]=f[a+4>>2];o=a}else{f[j>>2]=f[n>>2];j=g+40|0;f[k>>2]=f[j>>2];k=g+48|0;f[n>>2]=k;f[j>>2]=h;o=k}f[g>>2]=1124007936;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[c+24>>2]=0;f[c+28>>2]=0;f[b>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((o|0)==(g+48|0)){u=e;return d|0}dX(o);u=e;return d|0}function Pt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+64|0;e=d;g=f[a>>2]|0;h=f[a+4>>2]|0;a=b+(h>>1)|0;if(!(h&1))i=g;else i=f[(f[a>>2]|0)+g>>2]|0;Rg[i&255](e,a,c);c=EQa(56)|0;f[c>>2]=f[e>>2];a=e+4|0;i=f[a>>2]|0;f[c+4>>2]=i;g=c+8|0;h=e+8|0;f[g>>2]=f[h>>2];f[c+12>>2]=f[e+12>>2];b=e+16|0;f[c+16>>2]=f[b>>2];f[c+20>>2]=f[e+20>>2];f[c+24>>2]=f[e+24>>2];f[c+28>>2]=f[e+28>>2];f[c+32>>2]=f[e+32>>2];j=e+36|0;f[c+36>>2]=f[j>>2];k=c+40|0;f[k>>2]=g;g=c+44|0;l=c+48|0;f[g>>2]=l;m=c+52|0;f[m>>2]=0;f[l>>2]=0;n=e+44|0;if((i|0)<3){i=f[n>>2]|0;f[l>>2]=f[i>>2];f[m>>2]=f[i+4>>2];o=i}else{f[g>>2]=f[n>>2];g=e+40|0;f[k>>2]=f[g>>2];k=e+48|0;f[n>>2]=k;f[g>>2]=h;o=k}f[e>>2]=1124007936;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[a+24>>2]=0;f[a+28>>2]=0;f[j>>2]=0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((o|0)==(e+48|0)){u=d;return c|0}dX(o);u=d;return c|0}function Qt(a,b,c){a=a|0;b=b|0;c=c|0;zg[f[a>>2]&511](b,c);return}function Rt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Rg[f[a>>2]&255](b,c,d);return}function St(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a>>2]|0;d=f[a+4>>2]|0;a=b+(d>>1)|0;if(!(d&1))e=c;else e=f[(f[a>>2]|0)+c>>2]|0;return Wf[e&255](a)|0}function Tt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=f[a>>2]|0;e=f[a+4>>2]|0;a=b+(e>>1)|0;if(!(e&1))g=d;else g=f[(f[a>>2]|0)+d>>2]|0;return Zf[g&127](a,c)|0}function Ut(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+64|0;d=c;e=f[a>>2]|0;g=f[a+4>>2]|0;a=b+(g>>1)|0;if(!(g&1))h=e;else h=f[(f[a>>2]|0)+e>>2]|0;zg[h&511](d,a);a=EQa(56)|0;f[a>>2]=f[d>>2];h=d+4|0;e=f[h>>2]|0;f[a+4>>2]=e;g=a+8|0;b=d+8|0;f[g>>2]=f[b>>2];f[a+12>>2]=f[d+12>>2];i=d+16|0;f[a+16>>2]=f[i>>2];f[a+20>>2]=f[d+20>>2];f[a+24>>2]=f[d+24>>2];f[a+28>>2]=f[d+28>>2];f[a+32>>2]=f[d+32>>2];j=d+36|0;f[a+36>>2]=f[j>>2];k=a+40|0;f[k>>2]=g;g=a+44|0;l=a+48|0;f[g>>2]=l;m=a+52|0;f[m>>2]=0;f[l>>2]=0;n=d+44|0;if((e|0)<3){e=f[n>>2]|0;f[l>>2]=f[e>>2];f[m>>2]=f[e+4>>2];o=e}else{f[g>>2]=f[n>>2];g=d+40|0;f[k>>2]=f[g>>2];k=d+48|0;f[n>>2]=k;f[g>>2]=b;o=k}f[d>>2]=1124007936;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;f[h+28>>2]=0;f[j>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((o|0)==(d+48|0)){u=c;return a|0}dX(o);u=c;return a|0}function Vt(a,b,c){a=a|0;b=b|0;c=c|0;return +(+Kf[f[a>>2]&31](b,c))}function Wt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=u;u=u+64|0;g=e;Sg[f[a>>2]&63](g,b,c,d);c=EQa(56)|0;f[c>>2]=f[g>>2];b=g+4|0;a=f[b>>2]|0;f[c+4>>2]=a;h=c+8|0;i=g+8|0;f[h>>2]=f[i>>2];f[c+12>>2]=f[g+12>>2];j=g+16|0;f[c+16>>2]=f[j>>2];f[c+20>>2]=f[g+20>>2];f[c+24>>2]=f[g+24>>2];f[c+28>>2]=f[g+28>>2];f[c+32>>2]=f[g+32>>2];k=g+36|0;f[c+36>>2]=f[k>>2];l=c+40|0;f[l>>2]=h;h=c+44|0;m=c+48|0;f[h>>2]=m;n=c+52|0;f[n>>2]=0;f[m>>2]=0;o=g+44|0;if((a|0)<3){a=f[o>>2]|0;f[m>>2]=f[a>>2];f[n>>2]=f[a+4>>2];p=a}else{f[h>>2]=f[o>>2];h=g+40|0;f[l>>2]=f[h>>2];l=g+48|0;f[o>>2]=l;f[h>>2]=i;p=l}f[g>>2]=1124007936;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;f[k>>2]=0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;if((p|0)==(g+48|0)){u=e;return c|0}dX(p);u=e;return c|0}function Xt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+64|0;e=d;Rg[f[a>>2]&255](e,b,c);c=EQa(56)|0;f[c>>2]=f[e>>2];b=e+4|0;a=f[b>>2]|0;f[c+4>>2]=a;g=c+8|0;h=e+8|0;f[g>>2]=f[h>>2];f[c+12>>2]=f[e+12>>2];i=e+16|0;f[c+16>>2]=f[i>>2];f[c+20>>2]=f[e+20>>2];f[c+24>>2]=f[e+24>>2];f[c+28>>2]=f[e+28>>2];f[c+32>>2]=f[e+32>>2];j=e+36|0;f[c+36>>2]=f[j>>2];k=c+40|0;f[k>>2]=g;g=c+44|0;l=c+48|0;f[g>>2]=l;m=c+52|0;f[m>>2]=0;f[l>>2]=0;n=e+44|0;if((a|0)<3){a=f[n>>2]|0;f[l>>2]=f[a>>2];f[m>>2]=f[a+4>>2];o=a}else{f[g>>2]=f[n>>2];g=e+40|0;f[k>>2]=f[g>>2];k=e+48|0;f[n>>2]=k;f[g>>2]=h;o=k}f[e>>2]=1124007936;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;f[j>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((o|0)==(e+48|0)){u=d;return c|0}dX(o);u=d;return c|0}function Yt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+64|0;d=c;zg[f[a>>2]&511](d,b);b=EQa(56)|0;f[b>>2]=f[d>>2];a=d+4|0;e=f[a>>2]|0;f[b+4>>2]=e;g=b+8|0;h=d+8|0;f[g>>2]=f[h>>2];f[b+12>>2]=f[d+12>>2];i=d+16|0;f[b+16>>2]=f[i>>2];f[b+20>>2]=f[d+20>>2];f[b+24>>2]=f[d+24>>2];f[b+28>>2]=f[d+28>>2];f[b+32>>2]=f[d+32>>2];j=d+36|0;f[b+36>>2]=f[j>>2];k=b+40|0;f[k>>2]=g;g=b+44|0;l=b+48|0;f[g>>2]=l;m=b+52|0;f[m>>2]=0;f[l>>2]=0;n=d+44|0;if((e|0)<3){e=f[n>>2]|0;f[l>>2]=f[e>>2];f[m>>2]=f[e+4>>2];o=e}else{f[g>>2]=f[n>>2];g=d+40|0;f[k>>2]=f[g>>2];k=d+48|0;f[n>>2]=k;f[g>>2]=h;o=k}f[d>>2]=1124007936;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[a+24>>2]=0;f[a+28>>2]=0;f[j>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((o|0)==(d+48|0)){u=c;return b|0}dX(o);u=c;return b|0}function Zt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+64|0;e=d;g=f[a>>2]|0;h=f[a+4>>2]|0;a=b+(h>>1)|0;if(!(h&1))i=g;else i=f[(f[a>>2]|0)+g>>2]|0;Rg[i&255](e,a,c);c=EQa(56)|0;f[c>>2]=f[e>>2];a=e+4|0;i=f[a>>2]|0;f[c+4>>2]=i;g=c+8|0;h=e+8|0;f[g>>2]=f[h>>2];f[c+12>>2]=f[e+12>>2];b=e+16|0;f[c+16>>2]=f[b>>2];f[c+20>>2]=f[e+20>>2];f[c+24>>2]=f[e+24>>2];f[c+28>>2]=f[e+28>>2];f[c+32>>2]=f[e+32>>2];j=e+36|0;f[c+36>>2]=f[j>>2];k=c+40|0;f[k>>2]=g;g=c+44|0;l=c+48|0;f[g>>2]=l;m=c+52|0;f[m>>2]=0;f[l>>2]=0;n=e+44|0;if((i|0)<3){i=f[n>>2]|0;f[l>>2]=f[i>>2];f[m>>2]=f[i+4>>2];o=i}else{f[g>>2]=f[n>>2];g=e+40|0;f[k>>2]=f[g>>2];k=e+48|0;f[n>>2]=k;f[g>>2]=h;o=k}f[e>>2]=1124007936;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[a+24>>2]=0;f[a+28>>2]=0;f[j>>2]=0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((o|0)==(e+48|0)){u=d;return c|0}dX(o);u=d;return c|0}function _t(a,b,c){a=a|0;b=b|0;c=c|0;zg[f[a>>2]&511](b,c);return}function $t(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Rg[f[a>>2]&255](b,c,d);return}function au(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;zg[f[a>>2]&511](d,b);b=EQa(8)|0;f[b>>2]=f[d>>2];f[b+4>>2]=f[d+4>>2];u=c;return b|0}function bu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;Rg[f[a>>2]&255](e,b,c);fe(f[e>>2]|0);c=f[e>>2]|0;ce(c|0);u=d;return c|0}function cu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;th[f[a>>2]&255](g,b,c,d);fe(f[g>>2]|0);d=f[g>>2]|0;ce(d|0);u=e;return d|0}function du(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=f[a>>2]|0;g=f[a+4>>2]|0;a=c+(g>>1)|0;if(!(g&1))h=e;else h=f[(f[a>>2]|0)+e>>2]|0;e=Zf[h&127](a,d)|0;return b[e>>0]|0}function eu(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=f[a>>2]|0;h=f[a+4>>2]|0;a=c+(h>>1)|0;if(!(h&1))i=g;else i=f[(f[a>>2]|0)+g>>2]|0;g=bg[i&127](a,d,e)|0;return b[g>>0]|0}function fu(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;h=f[a>>2]|0;i=f[a+4>>2]|0;a=c+(i>>1)|0;if(!(i&1))j=h;else j=f[(f[a>>2]|0)+h>>2]|0;h=dg[j&63](a,d,e,g)|0;return b[h>>0]|0}function gu(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=f[a>>2]|0;g=f[a+4>>2]|0;a=c+(g>>1)|0;if(!(g&1))h=e;else h=f[(f[a>>2]|0)+e>>2]|0;e=Zf[h&127](a,d)|0;return b[e>>0]|0}function hu(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=f[a>>2]|0;h=f[a+4>>2]|0;a=c+(h>>1)|0;if(!(h&1))i=g;else i=f[(f[a>>2]|0)+g>>2]|0;g=bg[i&127](a,d,e)|0;return b[g>>0]|0}function iu(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;h=f[a>>2]|0;i=f[a+4>>2]|0;a=c+(i>>1)|0;if(!(i&1))j=h;else j=f[(f[a>>2]|0)+h>>2]|0;h=dg[j&63](a,d,e,g)|0;return b[h>>0]|0}function ju(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,g=0,h=0;e=f[a>>2]|0;g=f[a+4>>2]|0;a=b+(g>>1)|0;if(!(g&1))h=e;else h=f[(f[a>>2]|0)+e>>2]|0;e=Zf[h&127](a,c)|0;return d[e>>1]|0}function ku(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;var g=0,h=0,i=0;g=f[a>>2]|0;h=f[a+4>>2]|0;a=b+(h>>1)|0;if(!(h&1))i=g;else i=f[(f[a>>2]|0)+g>>2]|0;g=bg[i&127](a,c,e)|0;return d[g>>1]|0}function lu(a,b,c,e,g){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0;h=f[a>>2]|0;i=f[a+4>>2]|0;a=b+(i>>1)|0;if(!(i&1))j=h;else j=f[(f[a>>2]|0)+h>>2]|0;h=dg[j&63](a,c,e,g)|0;return d[h>>1]|0}function mu(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,g=0,h=0;e=f[a>>2]|0;g=f[a+4>>2]|0;a=b+(g>>1)|0;if(!(g&1))h=e;else h=f[(f[a>>2]|0)+e>>2]|0;e=Zf[h&127](a,c)|0;return d[e>>1]|0}function nu(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;var g=0,h=0,i=0;g=f[a>>2]|0;h=f[a+4>>2]|0;a=b+(h>>1)|0;if(!(h&1))i=g;else i=f[(f[a>>2]|0)+g>>2]|0;g=bg[i&127](a,c,e)|0;return d[g>>1]|0}function ou(a,b,c,e,g){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0;h=f[a>>2]|0;i=f[a+4>>2]|0;a=b+(i>>1)|0;if(!(i&1))j=h;else j=f[(f[a>>2]|0)+h>>2]|0;h=dg[j&63](a,c,e,g)|0;return d[h>>1]|0}function pu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=f[a>>2]|0;e=f[a+4>>2]|0;a=b+(e>>1)|0;if(!(e&1))g=d;else g=f[(f[a>>2]|0)+d>>2]|0;d=Zf[g&127](a,c)|0;return f[d>>2]|0}function qu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=f[a>>2]|0;g=f[a+4>>2]|0;a=b+(g>>1)|0;if(!(g&1))h=e;else h=f[(f[a>>2]|0)+e>>2]|0;e=bg[h&127](a,c,d)|0;return f[e>>2]|0}function ru(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=f[a>>2]|0;h=f[a+4>>2]|0;a=b+(h>>1)|0;if(!(h&1))i=g;else i=f[(f[a>>2]|0)+g>>2]|0;g=dg[i&63](a,c,d,e)|0;return f[g>>2]|0}function su(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=f[a>>2]|0;e=f[a+4>>2]|0;a=b+(e>>1)|0;if(!(e&1))g=d;else g=f[(f[a>>2]|0)+d>>2]|0;d=Zf[g&127](a,c)|0;return +(+n[d>>2])}function tu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=f[a>>2]|0;g=f[a+4>>2]|0;a=b+(g>>1)|0;if(!(g&1))h=e;else h=f[(f[a>>2]|0)+e>>2]|0;e=bg[h&127](a,c,d)|0;return +(+n[e>>2])}function uu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=f[a>>2]|0;h=f[a+4>>2]|0;a=b+(h>>1)|0;if(!(h&1))i=g;else i=f[(f[a>>2]|0)+g>>2]|0;g=dg[i&63](a,c,d,e)|0;return +(+n[g>>2])}function vu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=f[a>>2]|0;h=f[a+4>>2]|0;a=b+(h>>1)|0;if(!(h&1))i=g;else i=f[(f[a>>2]|0)+g>>2]|0;g=dg[i&63](a,c,d,e)|0;return +(+p[g>>3])}function wu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=f[a>>2]|0;e=f[a+4>>2]|0;a=b+(e>>1)|0;if(!(e&1))g=d;else g=f[(f[a>>2]|0)+d>>2]|0;d=Zf[g&127](a,c)|0;return +(+p[d>>3])}function xu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=f[a>>2]|0;g=f[a+4>>2]|0;a=b+(g>>1)|0;if(!(g&1))h=e;else h=f[(f[a>>2]|0)+e>>2]|0;e=bg[h&127](a,c,d)|0;return +(+p[e>>3])}function yu(){var a=0;a=EQa(8)|0;f[a>>2]=0;f[a+4>>2]=0;return a|0}function zu(a){a=a|0;if(!a)return;GQa(a);return}function Au(a,b){a=a|0;b=b|0;return f[b+(f[a>>2]|0)>>2]|0}function Bu(a,b,c){a=a|0;b=b|0;c=c|0;f[b+(f[a>>2]|0)>>2]=c;return}function Cu(){var a=0;a=EQa(16)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return a|0}function Du(a){a=a|0;if(!a)return;GQa(a);return}function Eu(a,b){a=a|0;b=b|0;return f[b+(f[a>>2]|0)>>2]|0}function Fu(a,b,c){a=a|0;b=b|0;c=c|0;f[b+(f[a>>2]|0)>>2]=c;return}function Gu(a,b){a=a|0;b=b|0;return +(+p[b+(f[a>>2]|0)>>3])}function Hu(a,b,c){a=a|0;b=b|0;c=+c;p[b+(f[a>>2]|0)>>3]=c;return}function Iu(){var a=0;a=EQa(8)|0;f[a>>2]=0;f[a+4>>2]=0;return a|0}function Ju(a){a=a|0;if(!a)return;GQa(a);return}function Ku(a,b){a=a|0;b=b|0;return f[b+(f[a>>2]|0)>>2]|0}function Lu(a,b,c){a=a|0;b=b|0;c=c|0;f[b+(f[a>>2]|0)>>2]=c;return}function Mu(){var a=0;a=EQa(8)|0;n[a>>2]=0.0;n[a+4>>2]=0.0;return a|0}function Nu(a){a=a|0;if(!a)return;GQa(a);return}function Ou(a,b){a=a|0;b=b|0;return +(+n[b+(f[a>>2]|0)>>2])}function Pu(a,b,c){a=a|0;b=b|0;c=+c;n[b+(f[a>>2]|0)>>2]=c;return}function Qu(){var a=0;a=EQa(8)|0;f[a>>2]=0;f[a+4>>2]=0;return a|0}function Ru(a){a=a|0;if(!a)return;GQa(a);return}function Su(a,b){a=a|0;b=b|0;return f[b+(f[a>>2]|0)>>2]|0}function Tu(a,b,c){a=a|0;b=b|0;c=c|0;f[b+(f[a>>2]|0)>>2]=c;return}function Uu(){var a=0;a=EQa(8)|0;n[a>>2]=0.0;n[a+4>>2]=0.0;return a|0}function Vu(a){a=a|0;if(!a)return;GQa(a);return}function Wu(a,b){a=a|0;b=b|0;return +(+n[b+(f[a>>2]|0)>>2])}function Xu(a,b,c){a=a|0;b=b|0;c=+c;n[b+(f[a>>2]|0)>>2]=c;return}function Yu(){var a=0;a=EQa(16)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return a|0}function Zu(a){a=a|0;if(!a)return;GQa(a);return}function _u(a,b){a=a|0;b=b|0;return f[b+(f[a>>2]|0)>>2]|0}function $u(a,b,c){a=a|0;b=b|0;c=c|0;f[b+(f[a>>2]|0)>>2]=c;return}function av(){var a=0;a=EQa(16)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return a|0}function bv(a){a=a|0;if(!a)return;GQa(a);return}function cv(a,b){a=a|0;b=b|0;return +(+n[b+(f[a>>2]|0)>>2])}function dv(a,b,c){a=a|0;b=b|0;c=+c;n[b+(f[a>>2]|0)>>2]=c;return}function ev(){var a=0;a=EQa(20)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;return a|0}function fv(a){a=a|0;if(!a)return;GQa(a);return}function gv(a,b){a=a|0;b=b|0;var c=0;c=b+(f[a>>2]|0)|0;a=EQa(8)|0;f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];return a|0}function hv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=b+(f[a>>2]|0)|0;f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];return}function iv(a,b){a=a|0;b=b|0;var c=0;c=b+(f[a>>2]|0)|0;a=EQa(8)|0;f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];return a|0}function jv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=b+(f[a>>2]|0)|0;f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];return}function kv(a,b){a=a|0;b=b|0;return +(+n[b+(f[a>>2]|0)>>2])}function lv(a,b,c){a=a|0;b=b|0;c=+c;n[b+(f[a>>2]|0)>>2]=c;return}function mv(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;zg[a&511](d,b);fe(f[d>>2]|0);b=f[d>>2]|0;ce(b|0);u=c;return b|0}function nv(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;zg[a&511](d,b);b=EQa(16)|0;f[b>>2]=f[d>>2];f[b+4>>2]=f[d+4>>2];f[b+8>>2]=f[d+8>>2];f[b+12>>2]=f[d+12>>2];u=c;return b|0}function ov(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;zg[a&511](d,b);b=EQa(16)|0;f[b>>2]=f[d>>2];f[b+4>>2]=f[d+4>>2];f[b+8>>2]=f[d+8>>2];f[b+12>>2]=f[d+12>>2];u=c;return b|0}function pv(){var a=0;a=EQa(32)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[a+24>>2]=0;f[a+28>>2]=0;return a|0}function qv(a){a=a|0;if(!a)return;GQa(a);return}function rv(a,b){a=a|0;b=b|0;return +(+p[b+(a<<3)>>3])}function sv(a,b,c){a=a|0;b=b|0;c=+c;p[b+(a<<3)>>3]=c;return}function tv(){var a=0;a=EQa(32)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[a+24>>2]=0;f[a+28>>2]=0;return a|0}function uv(a){a=a|0;if(!a)return;GQa(a);return}function vv(a,b){a=a|0;b=b|0;return +(+p[b+(f[a>>2]|0)>>3])}function wv(a,b,c){a=a|0;b=b|0;c=+c;p[b+(f[a>>2]|0)>>3]=c;return}function xv(a,b){a=a|0;b=b|0;var c=0;c=b+(f[a>>2]|0)|0;a=EQa(8)|0;f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];return a|0}function yv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=b+(f[a>>2]|0)|0;f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];return}function zv(){var a=0;a=EQa(12)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return a|0}function Av(a){a=a|0;if(!a)return;GQa(a);return}function Bv(a,b){a=a|0;b=b|0;var c=0;c=b+(f[a>>2]|0)|0;a=EQa(8)|0;f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];return a|0}function Cv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=b+(f[a>>2]|0)|0;f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];return}function Dv(a,b){a=a|0;b=b|0;return +(+n[b+(f[a>>2]|0)>>2])}function Ev(a,b,c){a=a|0;b=b|0;c=+c;n[b+(f[a>>2]|0)>>2]=c;return}function Fv(){var a=0;a=EQa(192)|0;joa(a);return a|0}function Gv(a){a=a|0;if(!a)return;GQa(a);return}function Hv(a,b){a=a|0;b=b|0;return +(+p[b+(f[a>>2]|0)>>3])}function Iv(a,b,c){a=a|0;b=b|0;c=+c;p[b+(f[a>>2]|0)>>3]=c;return}function Jv(){var a=0;a=EQa(44)|0;QP(a);return a|0}function Kv(a){a=a|0;if(!a)return;qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function Lv(a,b){a=a|0;b=b|0;return f[b+(f[a>>2]|0)>>2]|0}function Mv(a,b,c){a=a|0;b=b|0;c=c|0;f[b+(f[a>>2]|0)>>2]=c;return}function Nv(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;zg[f[a>>2]&511](e,c);c=b[e+11>>0]|0;a=c<<24>>24<0;if(a){g=f[e+4>>2]|0;h=YBa(g+4|0)|0;i=c&255;j=g;k=g}else{g=c&255;c=YBa(g+4|0)|0;h=c;i=g;j=g;k=f[e+4>>2]|0}f[h>>2]=j;j=f[e>>2]|0;DVa(h+4|0,(a?j:e)|0,(a?k:i)|0)|0;if(!a){u=d;return h|0}GQa(j);u=d;return h|0}function Ov(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;h=f[a>>2]|0;a=d+4|0;i=f[d>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;if(i>>>0>4294967279)NQa(g);if(i>>>0<11){b[g+11>>0]=i;if(!i)j=g;else{k=g;l=6}}else{d=i+16&-16;m=EQa(d)|0;f[g>>2]=m;f[g+8>>2]=d|-2147483648;f[g+4>>2]=i;k=m;l=6}if((l|0)==6){DVa(k|0,a|0,i|0)|0;j=k}b[j+i>>0]=0;zg[h&511](c,g);if((b[g+11>>0]|0)>=0){u=e;return}GQa(f[g>>2]|0);u=e;return}function Pv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=u;u=u+48|0;d=c;zg[a&511](d,b);b=EQa(44)|0;f[b>>2]=32948;a=f[d+4>>2]|0;f[b+4>>2]=a;f[b+8>>2]=f[d+8>>2];if(a|0){e=a+-4|0;f[e>>2]=(f[e>>2]|0)+1}f[b+12>>2]=f[d+12>>2];e=f[d+16>>2]|0;f[b+16>>2]=e;f[b+20>>2]=f[d+20>>2];if(e|0){a=e+-4|0;f[a>>2]=(f[a>>2]|0)+1}a=f[d+24>>2]|0;f[b+24>>2]=a;f[b+28>>2]=f[d+28>>2];if(a|0){e=a+-4|0;f[e>>2]=(f[e>>2]|0)+1}e=f[d+32>>2]|0;f[b+32>>2]=e;f[b+36>>2]=f[d+36>>2];if(!e){g=b+40|0;h=d+40|0;i=f[h>>2]|0;f[g>>2]=i;zP(d);u=c;return b|0}a=e+-4|0;f[a>>2]=(f[a>>2]|0)+1;g=b+40|0;h=d+40|0;i=f[h>>2]|0;f[g>>2]=i;zP(d);u=c;return b|0}function Qv(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;zg[a&511](d,b);b=EQa(12)|0;f[b>>2]=f[d>>2];f[b+4>>2]=f[d+4>>2];f[b+8>>2]=f[d+8>>2];u=c;return b|0}function Rv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+32|0;e=d;Rg[a&255](e,b,c);c=EQa(32)|0;f[c>>2]=f[e>>2];f[c+4>>2]=f[e+4>>2];f[c+8>>2]=f[e+8>>2];f[c+12>>2]=f[e+12>>2];f[c+16>>2]=f[e+16>>2];f[c+20>>2]=f[e+20>>2];f[c+24>>2]=f[e+24>>2];f[c+28>>2]=f[e+28>>2];u=d;return c|0}function Sv(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+32|0;d=c;zg[a&511](d,b);b=EQa(32)|0;f[b>>2]=f[d>>2];f[b+4>>2]=f[d+4>>2];f[b+8>>2]=f[d+8>>2];f[b+12>>2]=f[d+12>>2];f[b+16>>2]=f[d+16>>2];f[b+20>>2]=f[d+20>>2];f[b+24>>2]=f[d+24>>2];f[b+28>>2]=f[d+28>>2];u=c;return b|0}function Tv(a){a=a|0;var b=0,c=0;b=u;u=u+32|0;c=b;qg[a&1023](c);a=EQa(32)|0;p[a>>3]=+p[c>>3];p[a+8>>3]=+p[c+8>>3];p[a+16>>3]=+p[c+16>>3];p[a+24>>3]=+p[c+24>>3];u=b;return a|0}function Uv(a,b){a=a|0;b=b|0;return Wf[a&255](b)|0}function Vv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+32|0;g=e;h=e+16|0;f[g>>2]=f[d>>2];f[g+4>>2]=f[d+4>>2];f[g+8>>2]=f[d+8>>2];f[g+12>>2]=f[d+12>>2];th[a&255](h,b,c,g);fe(f[h>>2]|0);g=f[h>>2]|0;ce(g|0);u=e;return g|0}function Wv(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;qg[a&1023](d);a=b[d+11>>0]|0;e=a<<24>>24<0;if(e){g=f[d+4>>2]|0;h=YBa(g+4|0)|0;i=a&255;j=g;k=g}else{g=a&255;a=YBa(g+4|0)|0;h=a;i=g;j=g;k=f[d+4>>2]|0}f[h>>2]=j;j=f[d>>2]|0;DVa(h+4|0,(e?j:d)|0,(e?k:i)|0)|0;if(!e){u=c;return h|0}GQa(j);u=c;return h|0}function Xv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=e>>2;h=g+1|0;if(h>>>0>1073741823)ZOa(a);i=a+8|0;j=(f[i>>2]|0)-d|0;k=j>>1;l=j>>2>>>0<536870911?(k>>>0>>0?h:k):1073741823;do if(l)if(l>>>0>1073741823){k=hd(8)|0;LQa(k,349912);f[k>>2]=118288;ld(k|0,20688,857)}else{k=EQa(l<<2)|0;m=k;n=k;break}else{m=0;n=0}while(0);k=m+(g<<2)|0;f[k>>2]=f[b>>2];if((e|0)>0)DVa(n|0,d|0,e|0)|0;f[a>>2]=m;f[c>>2]=k+4;f[i>>2]=m+(l<<2);if(!d)return;GQa(d);return}function Yv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=e>>2;h=g+1|0;if(h>>>0>1073741823)ZOa(a);i=a+8|0;j=(f[i>>2]|0)-d|0;k=j>>1;l=j>>2>>>0<536870911?(k>>>0>>0?h:k):1073741823;do if(l)if(l>>>0>1073741823){k=hd(8)|0;LQa(k,349912);f[k>>2]=118288;ld(k|0,20688,857)}else{k=EQa(l<<2)|0;m=k;n=k;break}else{m=0;n=0}while(0);k=m+(g<<2)|0;f[k>>2]=f[b>>2];if((e|0)>0)DVa(n|0,d|0,e|0)|0;f[a>>2]=m;f[c>>2]=k+4;f[i>>2]=m+(l<<2);if(!d)return;GQa(d);return}function Zv(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;g=g|0;Hg[a&3](b,c,d,e,f,g);return}function _v(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;Cg[a&7](b,c,d,e,f);return}function $v(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;Bg[a&7](b,c,d,e);return}function aw(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;ah[a&7](b,c,d,e,f,g);return}function bw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;Tg[a&15](b,c,d,e,f);return}function cw(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;g=+g;h=h|0;var i=0,j=0;i=u;u=u+16|0;j=i;f[j>>2]=f[d>>2];f[j+4>>2]=f[d+4>>2];ah[a&7](b,c,j,e,g,h);u=i;return}function dw(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;g=+g;var h=0,i=0;h=u;u=u+16|0;i=h;f[i>>2]=f[d>>2];f[i+4>>2]=f[d+4>>2];Tg[a&15](b,c,i,e,g);u=h;return}function ew(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var g=0,h=0;g=u;u=u+16|0;h=g;f[h>>2]=f[d>>2];f[h+4>>2]=f[d+4>>2];Sg[a&63](b,c,h,e);u=g;return}function fw(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;Xg[a&1](b,c,d,e,f,g,h,i,j);return}function gw(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;Wg[a&1](b,c,d,e,f,g,h,i);return}function hw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;Vg[a&1](b,c,d,e,f,g,h);return}function iw(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;Ug[a&3](b,c,d,e,f,g);return}function jw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;Tg[a&15](b,c,d,e,f);return}function kw(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;g=+g;h=+h;i=+i;j=+j;Gg[a&1](b,c,d,e,f,g,h,i,j);return}function lw(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;g=+g;h=+h;i=+i;Fg[a&1](b,c,d,e,f,g,h,i);return}function mw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;g=+g;h=+h;Eg[a&3](b,c,d,e,f,g,h);return}function nw(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;g=+g;Dg[a&3](b,c,d,e,f,g);return}function ow(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=h|0;Eh[a&7](b,c,d,e,f,g,h);return}function pw(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;vh[a&7](b,c,d,e,f,g);return}function qw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;uh[a&15](b,c,d,e,f);return}function rw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;th[a&255](b,c,d,e);return}function sw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Rg[a&255](b,c,d);return}function tw(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=+h;i=i|0;Vh[a&3](b,c,d,e,f,g,h,i);return}function uw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=+h;Uh[a&3](b,c,d,e,f,g,h);return}function vw(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;Th[a&15](b,c,d,e,f,g);return}function ww(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Sh[a&255](b,c,d,e,f);return}function xw(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;i=+i;j=j|0;fi[a&3](b,c,d,e,f,g,h,i,j);return}function yw(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;i=+i;ei[a&3](b,c,d,e,f,g,h,i);return}function zw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;di[a&7](b,c,d,e,f,g,h);return}function Aw(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ci[a&127](b,c,d,e,f,g);return}function Bw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Rg[a&255](b,c,d);return}function Cw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;g=g|0;h=+h;Og[a&1](b,c,d,e,f,g,h);return}function Dw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Sh[a&255](b,c,d,e,f);return}function Ew(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;th[a&255](b,c,d,e);return}function Fw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=+c;d=d|0;e=+e;f=+f;g=g|0;h=h|0;ug[a&1](b,c,d,e,f,g,h);return}function Gw(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=+e;f=+f;g=g|0;tg[a&1](b,c,d,e,f,g);return}function Hw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;Jg[a&15](b,c,d,e);return}function Iw(a,b,c){a=a|0;b=b|0;c=c|0;return +(+Kf[a&31](b,c))}function Jw(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;ah[a&7](b,c,d,e,f,g);return}function Kw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Rg[a&255](b,c,d);return}function Lw(a,b,c){a=a|0;b=b|0;c=c|0;zg[a&511](b,c);return}function Mw(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;h=u;u=u+16|0;i=h+8|0;j=h;f[i>>2]=f[d>>2];f[i+4>>2]=f[d+4>>2];f[j>>2]=f[e>>2];f[j+4>>2]=f[e+4>>2];Sh[a&255](b,c,i,j,g);u=h;return}function Nw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=u;u=u+16|0;h=g+8|0;i=g;f[h>>2]=f[d>>2];f[h+4>>2]=f[d+4>>2];f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];th[a&255](b,c,h,i);u=g;return}function Ow(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=f[d>>2];f[g+4>>2]=f[d+4>>2];Rg[a&255](b,c,g);u=e;return}function Pw(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;zg[a&511](d,b);b=EQa(16)|0;f[b>>2]=f[d>>2];f[b+4>>2]=f[d+4>>2];f[b+8>>2]=f[d+8>>2];f[b+12>>2]=f[d+12>>2];u=c;return b|0}function Qw(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;j=u;u=u+16|0;k=j+8|0;l=j;f[k>>2]=f[e>>2];f[k+4>>2]=f[e+4>>2];f[l>>2]=f[g>>2];f[l+4>>2]=f[g+4>>2];li[a&127](b,c,d,k,l,h,i);u=j;return}function Rw(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=u;u=u+16|0;j=i+8|0;k=i;f[j>>2]=f[e>>2];f[j+4>>2]=f[e+4>>2];f[k>>2]=f[g>>2];f[k+4>>2]=f[g+4>>2];ci[a&127](b,c,d,j,k,h);u=i;return}function Sw(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;h=u;u=u+16|0;i=h+8|0;j=h;f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];f[j>>2]=f[g>>2];f[j+4>>2]=f[g+4>>2];Sh[a&255](b,c,d,i,j);u=h;return}function Tw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;g=u;u=u+16|0;h=g;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];th[a&255](b,c,d,h);u=g;return}function Uw(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=+h;var i=0,j=0,k=0;i=u;u=u+16|0;j=i+4|0;k=i;f[j>>2]=c;f[k>>2]=g;Th[a&15](b,j,d,e,k,h);ce(f[k>>2]|0);ce(f[j>>2]|0);u=i;return}function Vw(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;j=u;u=u+16|0;k=j+8|0;l=j+4|0;m=j;f[k>>2]=c;f[l>>2]=g;f[m>>2]=h;li[a&127](b,k,d,e,l,m,i);ce(f[m>>2]|0);ce(f[l>>2]|0);ce(f[k>>2]|0);u=j;return}function Ww(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;i=u;u=u+16|0;j=i+8|0;k=i+4|0;l=i;f[j>>2]=c;f[k>>2]=g;f[l>>2]=h;ci[a&127](b,j,d,e,k,l);ce(f[l>>2]|0);ce(f[k>>2]|0);ce(f[j>>2]|0);u=i;return}function Xw(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;j=+j;k=k|0;sh[a&1](b,c,d,e,f,g,h,i,j,k);return}function Yw(a,b,c,d,e,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=+m;var n=0,o=0,p=0;n=u;u=u+32|0;o=n;p=n+16|0;f[p>>2]=f[i>>2];f[p+4>>2]=f[i+4>>2];f[o>>2]=f[k>>2];f[o+4>>2]=f[k+4>>2];f[o+8>>2]=f[k+8>>2];f[o+12>>2]=f[k+12>>2];ui[a&1](b,c,d,e,g,h,p,j,o,l,m);u=n;return}function Zw(a,b,c,d,e,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;m=u;u=u+32|0;n=m;o=m+16|0;f[o>>2]=f[i>>2];f[o+4>>2]=f[i+4>>2];f[n>>2]=f[k>>2];f[n+4>>2]=f[k+4>>2];f[n+8>>2]=f[k+8>>2];f[n+12>>2]=f[k+12>>2];ti[a&7](b,c,d,e,g,h,o,j,n,l);u=m;return}function _w(a,b,c,d,e,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0;l=u;u=u+32|0;m=l;n=l+16|0;f[n>>2]=f[i>>2];f[n+4>>2]=f[i+4>>2];f[m>>2]=f[k>>2];f[m+4>>2]=f[k+4>>2];f[m+8>>2]=f[k+8>>2];f[m+12>>2]=f[k+12>>2];ri[a&127](b,c,d,e,g,h,n,j,m);u=l;return}function $w(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;k=u;u=u+16|0;l=k;f[l>>2]=f[i>>2];f[l+4>>2]=f[i+4>>2];qi[a&255](b,c,d,e,g,h,l,j);u=k;return}function ax(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=u;u=u+16|0;k=j;f[k>>2]=f[i>>2];f[k+4>>2]=f[i+4>>2];li[a&127](b,c,d,e,g,h,k);u=j;return}function bx(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ci[a&127](b,c,d,e,f,g);return}function cx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Sh[a&255](b,c,d,e,f);return}function dx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;th[a&255](b,c,d,e);return}function ex(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=u;u=u+16|0;k=j;f[k>>2]=f[c>>2];f[k+4>>2]=f[c+4>>2];li[a&127](b,k,d,e,g,h,i);u=j;return}function fx(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;i=u;u=u+16|0;j=i;f[j>>2]=f[c>>2];f[j+4>>2]=f[c+4>>2];ci[a&127](b,j,d,e,g,h);u=i;return}function gx(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;h=u;u=u+16|0;i=h;f[i>>2]=f[c>>2];f[i+4>>2]=f[c+4>>2];Sh[a&255](b,i,d,e,g);u=h;return}function hx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;g=u;u=u+16|0;h=g;f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];th[a&255](b,h,d,e);u=g;return}function ix(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;th[a&255](b,c,d,e);return}function jx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +(+Mf[a&31](b,c,d))}function kx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return dg[a&63](b,c,d,e)|0}function lx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return bg[a&127](b,c,d)|0}function mx(a,b,c){a=a|0;b=b|0;c=c|0;return Zf[a&127](b,c)|0}function nx(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ig[a&127](b,c,d,e,f,g)|0}function ox(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return fg[a&63](b,c,d,e,f)|0}function px(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return dg[a&63](b,c,d,e)|0}function qx(a,b){a=a|0;b=b|0;return +(+Jf[a&31](b))}function rx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;Ag[a&31](b,c,d);return}function sx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;th[a&255](b,c,d,e);return}function tx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Rg[a&255](b,c,d);return}function ux(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;qi[a&255](b,c,d,e,f,g,h,i);return}function vx(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;li[a&127](b,c,d,e,f,g,h);return}function wx(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=g|0;Kh[a&7](b,c,d,e,f,g);return}function xx(a,b){a=a|0;b=b|0;return Wf[a&255](b)|0}function yx(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=u;u=u+16|0;k=j;f[k>>2]=f[e>>2];f[k+4>>2]=f[e+4>>2];li[a&127](b,c,d,k,g,h,i);u=j;return}function zx(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;i=u;u=u+16|0;j=i;f[j>>2]=f[e>>2];f[j+4>>2]=f[e+4>>2];ci[a&127](b,c,d,j,g,h);u=i;return}function Ax(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;h=u;u=u+16|0;i=h;f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];Sh[a&255](b,c,d,i,g);u=h;return}function Bx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;g=u;u=u+16|0;h=g;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];th[a&255](b,c,d,h);u=g;return}function Cx(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ci[a&127](b,c,d,e,f,g);return}function Dx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Sh[a&255](b,c,d,e,f);return}function Ex(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;kh[a&7](b,c,d,e,f);return}function Fx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;Sg[a&63](b,c,d,e);return}function Gx(a,b,c,d,e){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;pg[a&1](b,c,d,e);return}function Hx(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;og[a&1](b,c,d);return}function Ix(a,b,c,d,e,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0;l=u;u=u+16|0;m=l;f[m>>2]=f[k>>2];f[m+4>>2]=f[k+4>>2];ri[a&127](b,c,d,e,g,h,i,j,m);u=l;return}function Jx(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;qi[a&255](b,c,d,e,f,g,h,i);return}function Kx(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;li[a&127](b,c,d,e,f,g,h);return}function Lx(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ci[a&127](b,c,d,e,f,g);return}function Mx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Sh[a&255](b,c,d,e,f);return}function Nx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;th[a&255](b,c,d,e);return}function Ox(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return bg[a&127](b,c,d)|0}function Px(a,b,c){a=a|0;b=b|0;c=c|0;return Zf[a&127](b,c)|0}function Qx(a,b,c,d,e,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;g=+g;h=+h;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;m=u;u=u+16|0;n=m+8|0;o=m;f[n>>2]=f[c>>2];f[n+4>>2]=f[c+4>>2];f[o>>2]=f[d>>2];f[o+4>>2]=f[d+4>>2];$g[a&1](b,n,o,e,g,h,i,j,k,l);u=m;return}function Rx(a,b,c,d,e,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;g=+g;h=+h;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0;l=u;u=u+16|0;m=l+8|0;n=l;f[m>>2]=f[c>>2];f[m+4>>2]=f[c+4>>2];f[n>>2]=f[d>>2];f[n+4>>2]=f[d+4>>2];_g[a&1](b,m,n,e,g,h,i,j,k);u=l;return}function Sx(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;g=+g;h=+h;i=i|0;j=j|0;var k=0,l=0,m=0;k=u;u=u+16|0;l=k+8|0;m=k;f[l>>2]=f[c>>2];f[l+4>>2]=f[c+4>>2];f[m>>2]=f[d>>2];f[m+4>>2]=f[d+4>>2];Zg[a&1](b,l,m,e,g,h,i,j);u=k;return}function Tx(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;g=+g;h=+h;i=i|0;var j=0,k=0,l=0;j=u;u=u+16|0;k=j+8|0;l=j;f[k>>2]=f[c>>2];f[k+4>>2]=f[c+4>>2];f[l>>2]=f[d>>2];f[l+4>>2]=f[d+4>>2];Yg[a&1](b,k,l,e,g,h,i);u=j;return}function Ux(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Sh[a&255](b,c,d,e,f);return}function Vx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;th[a&255](b,c,d,e);return}function Wx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Rg[a&255](b,c,d);return}function Xx(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;j=u;u=u+16|0;k=j+8|0;l=j;f[k>>2]=f[b>>2];f[k+4>>2]=f[b+4>>2];f[l>>2]=f[c>>2];f[l+4>>2]=f[c+4>>2];li[a&127](k,l,d,e,g,h,i);u=j;return}function Yx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+64|0;g=e;th[a&255](g,b,c,d);d=EQa(56)|0;f[d>>2]=f[g>>2];c=g+4|0;b=f[c>>2]|0;f[d+4>>2]=b;a=d+8|0;h=g+8|0;f[a>>2]=f[h>>2];f[d+12>>2]=f[g+12>>2];i=g+16|0;f[d+16>>2]=f[i>>2];f[d+20>>2]=f[g+20>>2];f[d+24>>2]=f[g+24>>2];f[d+28>>2]=f[g+28>>2];f[d+32>>2]=f[g+32>>2];j=g+36|0;f[d+36>>2]=f[j>>2];k=d+40|0;f[k>>2]=a;a=d+44|0;l=d+48|0;f[a>>2]=l;m=d+52|0;f[m>>2]=0;f[l>>2]=0;n=g+44|0;if((b|0)<3){b=f[n>>2]|0;f[l>>2]=f[b>>2];f[m>>2]=f[b+4>>2];o=b}else{f[a>>2]=f[n>>2];a=g+40|0;f[k>>2]=f[a>>2];k=g+48|0;f[n>>2]=k;f[a>>2]=h;o=k}f[g>>2]=1124007936;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[c+24>>2]=0;f[c+28>>2]=0;f[j>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((o|0)==(g+48|0)){u=e;return d|0}dX(o);u=e;return d|0}function Zx(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=+h;i=i|0;var j=0,k=0;j=u;u=u+16|0;k=j;f[k>>2]=f[g>>2];f[k+4>>2]=f[g+4>>2];Wh[a&7](b,c,d,e,k,h,i);u=j;return}function _x(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=+h;var i=0,j=0;i=u;u=u+16|0;j=i;f[j>>2]=f[g>>2];f[j+4>>2]=f[g+4>>2];Th[a&15](b,c,d,e,j,h);u=i;return}function $x(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;h=u;u=u+16|0;i=h;f[i>>2]=f[g>>2];f[i+4>>2]=f[g+4>>2];Sh[a&255](b,c,d,e,i);u=h;return}function ay(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;th[a&255](b,c,d,e);return}function by(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;i=u;u=u+16|0;j=i;f[j>>2]=f[h>>2];f[j+4>>2]=f[h+4>>2];ci[a&127](b,c,d,e,g,j);u=i;return}function cy(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Sh[a&255](b,c,d,e,f);return}function dy(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0.0;i=u;u=u+16|0;j=i;f[j>>2]=f[g>>2];f[j+4>>2]=f[g+4>>2];f[j+8>>2]=f[g+8>>2];f[j+12>>2]=f[g+12>>2];k=+Sf[a&3](b,c,d,e,j,h);u=i;return +k}function ey(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0.0;h=u;u=u+16|0;i=h;f[i>>2]=f[g>>2];f[i+4>>2]=f[g+4>>2];f[i+8>>2]=f[g+8>>2];f[i+12>>2]=f[g+12>>2];j=+Rf[a&7](b,c,d,e,i);u=h;return +j}function fy(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return +(+Pf[a&15](b,c,d,e))}function gy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +(+Mf[a&31](b,c,d))}function hy(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+32|0;d=c;zg[a&511](d,b);b=EQa(20)|0;f[b>>2]=f[d>>2];f[b+4>>2]=f[d+4>>2];f[b+8>>2]=f[d+8>>2];f[b+12>>2]=f[d+12>>2];f[b+16>>2]=f[d+16>>2];u=c;return b|0}function iy(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=+f;g=g|0;h=h|0;Ng[a&1](b,c,d,e,f,g,h);return}function jy(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=+f;g=g|0;Mg[a&1](b,c,d,e,f,g);return}function ky(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+64|0;e=d;Rg[a&255](e,b,c);c=EQa(56)|0;f[c>>2]=f[e>>2];b=e+4|0;a=f[b>>2]|0;f[c+4>>2]=a;g=c+8|0;h=e+8|0;f[g>>2]=f[h>>2];f[c+12>>2]=f[e+12>>2];i=e+16|0;f[c+16>>2]=f[i>>2];f[c+20>>2]=f[e+20>>2];f[c+24>>2]=f[e+24>>2];f[c+28>>2]=f[e+28>>2];f[c+32>>2]=f[e+32>>2];j=e+36|0;f[c+36>>2]=f[j>>2];k=c+40|0;f[k>>2]=g;g=c+44|0;l=c+48|0;f[g>>2]=l;m=c+52|0;f[m>>2]=0;f[l>>2]=0;n=e+44|0;if((a|0)<3){a=f[n>>2]|0;f[l>>2]=f[a>>2];f[m>>2]=f[a+4>>2];o=a}else{f[g>>2]=f[n>>2];g=e+40|0;f[k>>2]=f[g>>2];k=e+48|0;f[n>>2]=k;f[g>>2]=h;o=k}f[e>>2]=1124007936;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;f[j>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((o|0)==(e+48|0)){u=d;return c|0}dX(o);u=d;return c|0}function ly(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=u;u=u+64|0;g=e+8|0;h=e;f[h>>2]=f[b>>2];f[h+4>>2]=f[b+4>>2];Bg[a&7](g,h,c,d);h=EQa(56)|0;f[h>>2]=f[g>>2];a=g+4|0;b=f[a>>2]|0;f[h+4>>2]=b;i=h+8|0;j=g+8|0;f[i>>2]=f[j>>2];f[h+12>>2]=f[g+12>>2];k=g+16|0;f[h+16>>2]=f[k>>2];f[h+20>>2]=f[g+20>>2];f[h+24>>2]=f[g+24>>2];f[h+28>>2]=f[g+28>>2];f[h+32>>2]=f[g+32>>2];l=g+36|0;f[h+36>>2]=f[l>>2];m=h+40|0;f[m>>2]=i;i=h+44|0;n=h+48|0;f[i>>2]=n;o=h+52|0;f[o>>2]=0;f[n>>2]=0;p=g+44|0;if((b|0)<3){b=f[p>>2]|0;f[n>>2]=f[b>>2];f[o>>2]=f[b+4>>2];q=b}else{f[i>>2]=f[p>>2];i=g+40|0;f[m>>2]=f[i>>2];m=g+48|0;f[p>>2]=m;f[i>>2]=j;q=m}f[g>>2]=1124007936;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[a+24>>2]=0;f[a+28>>2]=0;f[l>>2]=0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;if((q|0)==(g+48|0)){u=e;return h|0}dX(q);u=e;return h|0}function my(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+80|0;g=e+16|0;h=e+8|0;i=e;f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[i>>2]=f[d>>2];f[i+4>>2]=f[d+4>>2];th[a&255](g,b,h,i);i=EQa(56)|0;f[i>>2]=f[g>>2];h=g+4|0;b=f[h>>2]|0;f[i+4>>2]=b;a=i+8|0;d=g+8|0;f[a>>2]=f[d>>2];f[i+12>>2]=f[g+12>>2];c=g+16|0;f[i+16>>2]=f[c>>2];f[i+20>>2]=f[g+20>>2];f[i+24>>2]=f[g+24>>2];f[i+28>>2]=f[g+28>>2];f[i+32>>2]=f[g+32>>2];j=g+36|0;f[i+36>>2]=f[j>>2];k=i+40|0;f[k>>2]=a;a=i+44|0;l=i+48|0;f[a>>2]=l;m=i+52|0;f[m>>2]=0;f[l>>2]=0;n=g+44|0;if((b|0)<3){b=f[n>>2]|0;f[l>>2]=f[b>>2];f[m>>2]=f[b+4>>2];o=b}else{f[a>>2]=f[n>>2];a=g+40|0;f[k>>2]=f[a>>2];k=g+48|0;f[n>>2]=k;f[a>>2]=d;o=k}f[g>>2]=1124007936;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;f[h+28>>2]=0;f[j>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((o|0)==(g+48|0)){u=e;return i|0}dX(o);u=e;return i|0}function ny(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+64|0;e=d+8|0;g=d;f[g>>2]=f[c>>2];f[g+4>>2]=f[c+4>>2];Rg[a&255](e,b,g);g=EQa(56)|0;f[g>>2]=f[e>>2];b=e+4|0;a=f[b>>2]|0;f[g+4>>2]=a;c=g+8|0;h=e+8|0;f[c>>2]=f[h>>2];f[g+12>>2]=f[e+12>>2];i=e+16|0;f[g+16>>2]=f[i>>2];f[g+20>>2]=f[e+20>>2];f[g+24>>2]=f[e+24>>2];f[g+28>>2]=f[e+28>>2];f[g+32>>2]=f[e+32>>2];j=e+36|0;f[g+36>>2]=f[j>>2];k=g+40|0;f[k>>2]=c;c=g+44|0;l=g+48|0;f[c>>2]=l;m=g+52|0;f[m>>2]=0;f[l>>2]=0;n=e+44|0;if((a|0)<3){a=f[n>>2]|0;f[l>>2]=f[a>>2];f[m>>2]=f[a+4>>2];o=a}else{f[c>>2]=f[n>>2];c=e+40|0;f[k>>2]=f[c>>2];k=e+48|0;f[n>>2]=k;f[c>>2]=h;o=k}f[e>>2]=1124007936;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;f[j>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((o|0)==(e+48|0)){u=d;return g|0}dX(o);u=d;return g|0}function oy(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;h=h|0;i=i|0;j=+j;hh[a&1](b,c,d,e,f,g,h,i,j);return}function py(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;h=h|0;i=i|0;gh[a&3](b,c,d,e,f,g,h,i);return}function qy(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;h=h|0;fh[a&3](b,c,d,e,f,g,h);return}function ry(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;ah[a&7](b,c,d,e,f,g);return}function sy(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;h=h|0;i=i|0;j=j|0;k=+k;jh[a&1](b,c,d,e,f,g,h,i,j,k);return}function ty(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;h=h|0;i=i|0;j=j|0;ih[a&1](b,c,d,e,f,g,h,i,j);return}function uy(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;h=h|0;i=i|0;gh[a&3](b,c,d,e,f,g,h,i);return}function vy(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=u;u=u+16|0;k=j;f[k>>2]=f[d>>2];f[k+4>>2]=f[d+4>>2];f[k+8>>2]=f[d+8>>2];f[k+12>>2]=f[d+12>>2];li[a&127](b,c,k,e,g,h,i);u=j;return}function wy(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;i=u;u=u+16|0;j=i;f[j>>2]=f[d>>2];f[j+4>>2]=f[d+4>>2];f[j+8>>2]=f[d+8>>2];f[j+12>>2]=f[d+12>>2];ci[a&127](b,c,j,e,g,h);u=i;return}function xy(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;Sg[a&63](b,c,d,e);return}function yy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Rg[a&255](b,c,d);return}function zy(a,b,c){a=a|0;b=b|0;c=c|0;zg[a&511](b,c);return}function Ay(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;th[a&255](b,c,d,e);return}function By(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;k=u;u=u+16|0;l=k;f[l>>2]=f[g>>2];f[l+4>>2]=f[g+4>>2];qi[a&255](b,c,d,e,l,h,i,j);u=k;return}function Cy(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;th[a&255](b,c,d,e);return}function Dy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Rg[a&255](b,c,d);return}function Ey(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +(+Mf[a&31](b,c,d))}function Fy(a,b,c){a=a|0;b=b|0;c=c|0;return +(+Kf[a&31](b,c))}function Gy(a,b){a=a|0;b=b|0;return Wf[a&255](b)|0}function Hy(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0.0;j=u;u=u+16|0;k=j;f[k>>2]=f[e>>2];f[k+4>>2]=f[e+4>>2];f[k+8>>2]=f[e+8>>2];f[k+12>>2]=f[e+12>>2];l=+Tf[a&3](b,c,d,k,g,h,i);u=j;return +l}function Iy(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0.0;i=u;u=u+16|0;j=i;f[j>>2]=f[e>>2];f[j+4>>2]=f[e+4>>2];f[j+8>>2]=f[e+8>>2];f[j+12>>2]=f[e+12>>2];k=+Sf[a&3](b,c,d,j,g,h);u=i;return +k}function Jy(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;j=u;u=u+16|0;k=j+8|0;l=j;f[k>>2]=f[c>>2];f[k+4>>2]=f[c+4>>2];f[l>>2]=f[d>>2];f[l+4>>2]=f[d+4>>2];li[a&127](b,k,l,e,g,h,i);u=j;return}function Ky(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=u;u=u+16|0;j=i+8|0;k=i;f[j>>2]=f[c>>2];f[j+4>>2]=f[c+4>>2];f[k>>2]=f[d>>2];f[k+4>>2]=f[d+4>>2];ci[a&127](b,j,k,e,g,h);u=i;return}function Ly(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;h=u;u=u+16|0;i=h+8|0;j=h;f[i>>2]=f[c>>2];f[i+4>>2]=f[c+4>>2];f[j>>2]=f[d>>2];f[j+4>>2]=f[d+4>>2];Sh[a&255](b,i,j,e,g);u=h;return}function My(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=u;u=u+16|0;h=g+8|0;i=g;f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[i>>2]=f[d>>2];f[i+4>>2]=f[d+4>>2];th[a&255](b,h,i,e);u=g;return}function Ny(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return +(+Nf[a&1](b,c,d,e))}function Oy(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Sh[a&255](b,c,d,e,f);return}function Py(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+32|0;e=d;Rg[a&255](e,b,c);c=EQa(32)|0;p[c>>3]=+p[e>>3];p[c+8>>3]=+p[e+8>>3];p[c+16>>3]=+p[e+16>>3];p[c+24>>3]=+p[e+24>>3];u=d;return c|0}function Qy(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+32|0;d=c;zg[a&511](d,b);b=EQa(32)|0;p[b>>3]=+p[d>>3];p[b+8>>3]=+p[d+8>>3];p[b+16>>3]=+p[d+16>>3];p[b+24>>3]=+p[d+24>>3];u=c;return b|0}function Ry(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;th[a&255](b,c,d,e);return}function Sy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;Rg[a&255](b,c,g);ce(f[g>>2]|0);u=e;return}function Ty(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+192|0;e=d;Rg[a&255](e,b,c);c=EQa(192)|0;DVa(c|0,e|0,192)|0;u=d;return c|0}function Uy(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+192|0;d=c;zg[a&511](d,b);b=EQa(192)|0;DVa(b|0,d|0,192)|0;u=c;return b|0}function Vy(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;k=u;u=u+16|0;l=k;f[l>>2]=f[g>>2];f[l+4>>2]=f[g+4>>2];qi[a&255](b,c,d,e,l,h,i,j);u=k;return}function Wy(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=u;u=u+16|0;k=j;f[k>>2]=f[g>>2];f[k+4>>2]=f[g+4>>2];li[a&127](b,c,d,e,k,h,i);u=j;return}function Xy(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;i=u;u=u+16|0;j=i;f[j>>2]=f[g>>2];f[j+4>>2]=f[g+4>>2];ci[a&127](b,c,d,e,j,h);u=i;return}function Yy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +(+Mf[a&31](b,c,d))}function Zy(a,b,c){a=a|0;b=b|0;c=c|0;return +(+Kf[a&31](b,c))}function _y(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return +(+Pf[a&15](b,c,d,e))}function $y(a,b,c){a=a|0;b=b|0;c=c|0;return +(+Kf[a&31](b,c))}function az(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;g=g|0;h=h|0;Ig[a&1](b,c,d,e,f,g,h);return}function bz(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;g=g|0;Hg[a&3](b,c,d,e,f,g);return}function cz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0.0;e=u;u=u+16|0;g=e;f[g>>2]=f[c>>2];f[g+4>>2]=f[c+4>>2];h=+Mf[a&31](b,g,d);u=e;return +h}function dz(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;sg[a&3](b,c,d);return}function ez(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=+h;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;m=u;u=u+64|0;n=m+40|0;o=m+32|0;q=m;r=d+4|0;s=f[d>>2]|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;if(s>>>0>4294967279)NQa(n);if(s>>>0<11){b[n+11>>0]=s;if(!s)t=n;else{v=n;w=6}}else{d=s+16&-16;x=EQa(d)|0;f[n>>2]=x;f[n+8>>2]=d|-2147483648;f[n+4>>2]=s;v=x;w=6}if((w|0)==6){DVa(v|0,r|0,s|0)|0;t=v}b[t+s>>0]=0;f[o>>2]=f[e>>2];f[o+4>>2]=f[e+4>>2];p[q>>3]=+p[i>>3];p[q+8>>3]=+p[i+8>>3];p[q+16>>3]=+p[i+16>>3];p[q+24>>3]=+p[i+24>>3];Qh[a&7](c,n,o,g,h,q,j,k,l);if((b[n+11>>0]|0)>=0){u=m;return}GQa(f[n>>2]|0);u=m;return}function fz(a,c,d,e,g,h,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=+h;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0;l=u;u=u+64|0;m=l+40|0;n=l+32|0;o=l;q=d+4|0;r=f[d>>2]|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;if(r>>>0>4294967279)NQa(m);if(r>>>0<11){b[m+11>>0]=r;if(!r)s=m;else{t=m;v=6}}else{d=r+16&-16;w=EQa(d)|0;f[m>>2]=w;f[m+8>>2]=d|-2147483648;f[m+4>>2]=r;t=w;v=6}if((v|0)==6){DVa(t|0,q|0,r|0)|0;s=t}b[s+r>>0]=0;f[n>>2]=f[e>>2];f[n+4>>2]=f[e+4>>2];p[o>>3]=+p[i>>3];p[o+8>>3]=+p[i+8>>3];p[o+16>>3]=+p[i+16>>3];p[o+24>>3]=+p[i+24>>3];Ph[a&7](c,m,n,g,h,o,j,k);if((b[m+11>>0]|0)>=0){u=l;return}GQa(f[m>>2]|0);u=l;return}function gz(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=+h;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0;k=u;u=u+64|0;l=k+40|0;m=k+32|0;n=k;o=d+4|0;q=f[d>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;if(q>>>0>4294967279)NQa(l);if(q>>>0<11){b[l+11>>0]=q;if(!q)r=l;else{s=l;t=6}}else{d=q+16&-16;v=EQa(d)|0;f[l>>2]=v;f[l+8>>2]=d|-2147483648;f[l+4>>2]=q;s=v;t=6}if((t|0)==6){DVa(s|0,o|0,q|0)|0;r=s}b[r+q>>0]=0;f[m>>2]=f[e>>2];f[m+4>>2]=f[e+4>>2];p[n>>3]=+p[i>>3];p[n+8>>3]=+p[i+8>>3];p[n+16>>3]=+p[i+16>>3];p[n+24>>3]=+p[i+24>>3];Lh[a&7](c,l,m,g,h,n,j);if((b[l+11>>0]|0)>=0){u=k;return}GQa(f[l>>2]|0);u=k;return}function hz(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=+h;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0;j=u;u=u+64|0;k=j+40|0;l=j+32|0;m=j;n=d+4|0;o=f[d>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;if(o>>>0>4294967279)NQa(k);if(o>>>0<11){b[k+11>>0]=o;if(!o)q=k;else{r=k;s=6}}else{d=o+16&-16;t=EQa(d)|0;f[k>>2]=t;f[k+8>>2]=d|-2147483648;f[k+4>>2]=o;r=t;s=6}if((s|0)==6){DVa(r|0,n|0,o|0)|0;q=r}b[q+o>>0]=0;f[l>>2]=f[e>>2];f[l+4>>2]=f[e+4>>2];p[m>>3]=+p[i>>3];p[m+8>>3]=+p[i+8>>3];p[m+16>>3]=+p[i+16>>3];p[m+24>>3]=+p[i+24>>3];Kh[a&7](c,k,l,g,h,m);if((b[k+11>>0]|0)>=0){u=j;return}GQa(f[k>>2]|0);u=j;return}function iz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;th[a&255](b,c,d,e);return}function jz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Rg[a&255](b,c,d);return}function kz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Rg[a&255](b,c,d);return}function lz(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;li[a&127](b,c,d,e,f,g,h);return}function mz(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ci[a&127](b,c,d,e,f,g);return}function nz(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Sh[a&255](b,c,d,e,f);return}function oz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;th[a&255](b,c,d,e);return}function pz(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=+i;j=j|0;var k=0,l=0;k=u;u=u+16|0;l=k;f[l>>2]=f[h>>2];f[l+4>>2]=f[h+4>>2];gi[a&3](b,c,d,e,g,l,i,j);u=k;return}function qz(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=+i;var j=0,k=0;j=u;u=u+16|0;k=j;f[k>>2]=f[h>>2];f[k+4>>2]=f[h+4>>2];di[a&7](b,c,d,e,g,k,i);u=j;return}function rz(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;i=u;u=u+16|0;j=i;f[j>>2]=f[h>>2];f[j+4>>2]=f[h+4>>2];ci[a&127](b,c,d,e,g,j);u=i;return}function sz(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Sh[a&255](b,c,d,e,f);return}function tz(a,b,c){a=a|0;b=b|0;c=c|0;zg[a&511](b,c);return}function uz(a,b){a=a|0;b=b|0;qg[a&1023](b);return}function vz(a,b){a=a|0;b=b|0;qg[a&1023](b);return}function wz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return dg[a&63](b,c,d,e)|0}function xz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return bg[a&127](b,c,d)|0}function yz(a,b,c){a=a|0;b=b|0;c=c|0;zg[a&511](b,c);return}function zz(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;return +(+Lf[a&1](b,c,d,e,f))}function Az(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Sh[a&255](b,c,d,e,f);return}function Bz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;th[a&255](b,c,d,e);return}function Cz(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=u;u=u+16|0;k=j;f[k>>2]=f[e>>2];f[k+4>>2]=f[e+4>>2];li[a&127](b,c,d,k,g,h,i);u=j;return}function Dz(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;i=u;u=u+16|0;j=i;f[j>>2]=f[e>>2];f[j+4>>2]=f[e+4>>2];ci[a&127](b,c,d,j,g,h);u=i;return}function Ez(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;h=u;u=u+16|0;i=h;f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];Sh[a&255](b,c,d,i,g);u=h;return}function Fz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;g=u;u=u+16|0;h=g;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];th[a&255](b,c,d,h);u=g;return}function Gz(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;qi[a&255](b,c,d,e,f,g,h,i);return}function Hz(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;li[a&127](b,c,d,e,f,g,h);return}function Iz(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ci[a&127](b,c,d,e,f,g);return}function Jz(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Sh[a&255](b,c,d,e,f);return}function Kz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;th[a&255](b,c,d,e);return}function Lz(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;Th[a&15](b,c,d,e,f,g);return}function Mz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=u;u=u+32|0;g=f;p[g>>3]=+p[e>>3];p[g+8>>3]=+p[e+8>>3];p[g+16>>3]=+p[e+16>>3];p[g+24>>3]=+p[e+24>>3];th[a&255](b,c,d,g);u=f;return}function Nz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Rg[a&255](b,c,d);return}function Oz(a,b,c){a=a|0;b=b|0;c=c|0;zg[a&511](b,c);return}function Pz(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Sh[a&255](b,c,d,e,f);return}function Qz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;th[a&255](b,c,d,e);return}function Rz(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;yg[a&1](b,c,d,e,f,g,h);return}function Sz(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;xg[a&1](b,c,d,e,f,g);return}function Tz(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;qi[a&255](b,c,d,e,f,g,h,i);return}function Uz(a){a=a|0;return f[(f[a>>2]|0)+-4>>2]|0}function Vz(a){a=a|0;if(!a)return;qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function Wz(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=u;u=u+32|0;h=g+12|0;i=g;j=f[a>>2]|0;a=d+4|0;k=f[d>>2]|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;if(k>>>0>4294967279)NQa(h);if(k>>>0<11){b[h+11>>0]=k;if(!k)l=h;else{m=h;n=6}}else{d=k+16&-16;o=EQa(d)|0;f[h>>2]=o;f[h+8>>2]=d|-2147483648;f[h+4>>2]=k;m=o;n=6}if((n|0)==6){DVa(m|0,a|0,k|0)|0;l=m}b[l+k>>0]=0;k=e+4|0;l=f[e>>2]|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;if(l>>>0>4294967279)NQa(i);if(l>>>0<11){b[i+11>>0]=l;if(!l)p=i;else{q=i;n=12}}else{e=l+16&-16;m=EQa(e)|0;f[i>>2]=m;f[i+8>>2]=e|-2147483648;f[i+4>>2]=l;q=m;n=12}if((n|0)==12){DVa(q|0,k|0,l|0)|0;p=q}b[p+l>>0]=0;l=bg[j&127](c,h,i)|0;if((b[i+11>>0]|0)<0)GQa(f[i>>2]|0);if((b[h+11>>0]|0)>=0){u=g;return l|0}GQa(f[h>>2]|0);u=g;return l|0}function Xz(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;h=f[a>>2]|0;a=d+4|0;i=f[d>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;if(i>>>0>4294967279)NQa(g);if(i>>>0<11){b[g+11>>0]=i;if(!i)j=g;else{k=g;l=6}}else{d=i+16&-16;m=EQa(d)|0;f[g>>2]=m;f[g+8>>2]=d|-2147483648;f[g+4>>2]=i;k=m;l=6}if((l|0)==6){DVa(k|0,a|0,i|0)|0;j=k}b[j+i>>0]=0;i=Zf[h&127](c,g)|0;if((b[g+11>>0]|0)>=0){u=e;return i|0}GQa(f[g>>2]|0);u=e;return i|0}function Yz(){var a=0,c=0;a=EQa(152)|0;f[a>>2]=76716;f[a+4>>2]=64;f[a+8>>2]=128;f[a+12>>2]=16;f[a+16>>2]=16;f[a+20>>2]=8;f[a+24>>2]=8;f[a+28>>2]=8;f[a+32>>2]=8;f[a+36>>2]=9;f[a+40>>2]=1;p[a+48>>3]=-1.0;f[a+56>>2]=0;p[a+64>>3]=.2;b[a+72>>0]=1;f[a+76>>2]=0;f[a+80>>2]=0;f[a+84>>2]=0;f[a+88>>2]=1124007936;c=a+92|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[c+24>>2]=0;f[a+120>>2]=a+96;c=a+128|0;f[a+124>>2]=c;f[a+132>>2]=0;f[c>>2]=0;n[a+136>>2]=-1.0;f[a+140>>2]=64;b[a+144>>0]=0;return a|0}function Zz(a){a=a|0;return Vf[a&31]()|0}function _z(a,c,d,e,g,h,i,j,k,l,m,o){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;o=o|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0;q=EQa(152)|0;r=f[a>>2]|0;s=f[a+4>>2]|0;a=f[c>>2]|0;t=f[c+4>>2]|0;c=f[d>>2]|0;u=f[d+4>>2]|0;d=f[e>>2]|0;v=f[e+4>>2]|0;e=f[g>>2]|0;g=f[h>>2]|0;w=+p[i>>3];i=f[j>>2]|0;x=+p[k>>3];k=b[l>>0]|0;l=f[m>>2]|0;m=b[o>>0]|0;f[q>>2]=76716;f[q+4>>2]=r;f[q+8>>2]=s;f[q+12>>2]=a;f[q+16>>2]=t;f[q+20>>2]=c;f[q+24>>2]=u;f[q+28>>2]=d;f[q+32>>2]=v;f[q+36>>2]=e;f[q+40>>2]=g;p[q+48>>3]=w;f[q+56>>2]=i;p[q+64>>3]=x;b[q+72>>0]=k;f[q+76>>2]=0;f[q+80>>2]=0;f[q+84>>2]=0;f[q+88>>2]=1124007936;k=q+92|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[k+24>>2]=0;f[q+120>>2]=q+96;k=q+128|0;f[q+124>>2]=k;f[q+132>>2]=0;f[k>>2]=0;n[q+136>>2]=-1.0;f[q+140>>2]=l;b[q+144>>0]=m;return q|0}function $z(a,c,d,e,g,h,i,j,k,l,m,n,o){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=+j;k=k|0;l=+l;m=m|0;n=n|0;o=o|0;var q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;q=u;u=u+80|0;r=q+56|0;s=q+48|0;t=q+40|0;v=q+32|0;w=q+28|0;x=q+24|0;y=q+8|0;z=q+20|0;A=q;B=q+65|0;C=q+16|0;D=q+64|0;f[r>>2]=f[c>>2];f[r+4>>2]=f[c+4>>2];f[s>>2]=f[d>>2];f[s+4>>2]=f[d+4>>2];f[t>>2]=f[e>>2];f[t+4>>2]=f[e+4>>2];f[v>>2]=f[g>>2];f[v+4>>2]=f[g+4>>2];f[w>>2]=h;f[x>>2]=i;p[y>>3]=j;f[z>>2]=k;p[A>>3]=l;b[B>>0]=m&1;f[C>>2]=n;b[D>>0]=o&1;o=mg[a&1](r,s,t,v,w,x,y,z,A,B,C,D)|0;u=q;return o|0}function aA(a){a=a|0;var b=0;b=EQa(152)|0;cA(b,a);return b|0}function bA(a,b){a=a|0;b=b|0;return Wf[a&255](b)|0}function cA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;f[a>>2]=76716;e=a+4|0;f[a+76>>2]=0;f[a+80>>2]=0;f[a+84>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;f[e+28>>2]=0;f[a+88>>2]=1124007936;e=a+92|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;f[a+120>>2]=a+96;e=a+128|0;f[a+124>>2]=e;f[a+132>>2]=0;f[e>>2]=0;e=f[19184]|0;f[d>>2]=0;f[d+4>>2]=0;bg[e&127](a,b,d)|0;KV(d);u=c;return}function dA(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;qg[a&1023](c);a=EQa(12)|0;f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];u=b;return a|0}function eA(a,b,c){a=a|0;b=b|0;c=c|0;zg[f[a>>2]&511](b,c);return}function fA(a,b,c,d,e,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=+g;h=h|0;i=i|0;j=+j;k=+k;l=l|0;var m=0,n=0,o=0,p=0;m=u;u=u+16|0;n=m+8|0;o=m;p=f[a>>2]|0;f[n>>2]=f[h>>2];f[n+4>>2]=f[h+4>>2];f[o>>2]=f[i>>2];f[o+4>>2]=f[i+4>>2];Oh[p&3](b,c,d,e,g,n,o,j,k,l);u=m;return}function gA(a,b,c,d,e,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=+g;h=h|0;i=i|0;j=+j;k=+k;var l=0,m=0,n=0,o=0;l=u;u=u+16|0;m=l+8|0;n=l;o=f[a>>2]|0;f[m>>2]=f[h>>2];f[m+4>>2]=f[h+4>>2];f[n>>2]=f[i>>2];f[n+4>>2]=f[i+4>>2];Nh[o&1](b,c,d,e,g,m,n,j,k);u=l;return}function hA(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=+g;h=h|0;i=i|0;j=+j;var k=0,l=0,m=0,n=0;k=u;u=u+16|0;l=k+8|0;m=k;n=f[a>>2]|0;f[l>>2]=f[h>>2];f[l+4>>2]=f[h+4>>2];f[m>>2]=f[i>>2];f[m+4>>2]=f[i+4>>2];Mh[n&1](b,c,d,e,g,l,m,j);u=k;return}function iA(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=+g;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;j=u;u=u+16|0;k=j+8|0;l=j;m=f[a>>2]|0;f[k>>2]=f[h>>2];f[k+4>>2]=f[h+4>>2];f[l>>2]=f[i>>2];f[l+4>>2]=f[i+4>>2];Lh[m&7](b,c,d,e,g,k,l);u=j;return}function jA(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=+g;h=h|0;var i=0,j=0,k=0;i=u;u=u+16|0;j=i;k=f[a>>2]|0;f[j>>2]=f[h>>2];f[j+4>>2]=f[h+4>>2];Kh[k&7](b,c,d,e,g,j);u=i;return}function kA(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=+g;uh[f[a>>2]&15](b,c,d,e,g);return}function lA(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;th[f[a>>2]&255](b,c,d,e);return}function mA(a,b){a=a|0;b=b|0;var c=0;c=b+(f[a>>2]|0)|0;a=EQa(8)|0;f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];return a|0}function nA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=b+(f[a>>2]|0)|0;f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];return}function oA(a,b){a=a|0;b=b|0;return f[b+(f[a>>2]|0)>>2]|0}function pA(a,b,c){a=a|0;b=b|0;c=c|0;f[b+(f[a>>2]|0)>>2]=c;return}function qA(a,b){a=a|0;b=b|0;return +(+p[b+(f[a>>2]|0)>>3])}function rA(a,b,c){a=a|0;b=b|0;c=+c;p[b+(f[a>>2]|0)>>3]=c;return}function sA(a,c){a=a|0;c=c|0;return (b[c+(f[a>>2]|0)>>0]|0)!=0|0}function tA(a,c,d){a=a|0;c=c|0;d=d|0;b[c+(f[a>>2]|0)>>0]=d&1;return}function uA(a,b){a=a|0;b=b|0;var c=0;c=b+(f[a>>2]|0)|0;a=EQa(12)|0;wA(a,c);return a|0}function vA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=b+(f[a>>2]|0)|0;if((d|0)==(c|0))return;xA(d,f[c>>2]|0,f[c+4>>2]|0);return}function wA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;d=b+4|0;e=(f[d>>2]|0)-(f[b>>2]|0)|0;g=e>>2;if(!g)return;if(g>>>0>1073741823)ZOa(a);h=EQa(e)|0;f[c>>2]=h;f[a>>2]=h;f[a+8>>2]=h+(g<<2);g=f[b>>2]|0;b=(f[d>>2]|0)-g|0;if((b|0)<=0)return;DVa(h|0,g|0,b|0)|0;f[c>>2]=h+(b>>>2<<2);return}function xA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0<=j-k>>2>>>0){m=a+4|0;n=(f[m>>2]|0)-k>>2;o=h>>>0>n>>>0;p=o?b+(n<<2)|0:c;c=p;n=c-e|0;e=n>>2;if(e|0)EVa(k|0,b|0,n|0)|0;n=l+(e<<2)|0;if(o){o=d-c|0;if((o|0)<=0)return;DVa(f[m>>2]|0,p|0,o|0)|0;f[m>>2]=(f[m>>2]|0)+(o>>>2<<2);return}else{o=f[m>>2]|0;if((o|0)==(n|0))return;f[m>>2]=o+(~((o+-4-n|0)>>>2)<<2);return}}n=k;if(!k)q=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-4-k|0)>>>2)<<2);GQa(n);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;q=0}if(h>>>0>1073741823)ZOa(a);j=q>>1;n=q>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;if(n>>>0>1073741823)ZOa(a);j=EQa(n<<2)|0;h=a+4|0;f[h>>2]=j;f[a>>2]=j;f[i>>2]=j+(n<<2);if((g|0)<=0)return;DVa(j|0,b|0,g|0)|0;f[h>>2]=j+(g>>>2<<2);return}function yA(a){a=a|0;return 9072}function zA(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=a+36|0;c=f[b>>2]|0;if(c|0?(d=c+12|0,c=f[d>>2]|0,f[d>>2]=c+-1,(c|0)==1):0)XO(a);f[b>>2]=0;b=a+16|0;c=a+4|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[c>>2]|0)>0){b=f[a+40>>2]|0;d=0;do{f[b+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[c>>2]|0))}c=f[a+44>>2]|0;if((c|0)!=(a+48|0))dX(c);GQa(a);return}function AA(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;zg[a&511](d,b);b=EQa(8)|0;f[b>>2]=f[d>>2];f[b+4>>2]=f[d+4>>2];u=c;return b|0}function BA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;th[a&255](g,b,c,d);d=EQa(8)|0;f[d>>2]=f[g>>2];f[d+4>>2]=f[g+4>>2];u=e;return d|0}function CA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;Rg[a&255](e,b,c);c=EQa(8)|0;f[c>>2]=f[e>>2];f[c+4>>2]=f[e+4>>2];u=d;return c|0}function DA(a){a=a|0;return f[a+4>>2]|0}function EA(){var a=0;a=EQa(8)|0;f[a>>2]=0;f[a+4>>2]=0;return a|0}function FA(a){a=a|0;return 0}function GA(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0?(c=b+4|0,d=f[c>>2]|0,f[c>>2]=d+-1,(d|0)==1):0)qg[f[(f[b>>2]|0)+8>>2]&1023](b);GQa(a);return}function HA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=b+(f[a>>2]|0)|0;a=EQa(56)|0;f[a>>2]=f[c>>2];b=a+4|0;d=c+4|0;e=f[d>>2]|0;f[b>>2]=e;g=a+8|0;f[g>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];h=f[c+36>>2]|0;f[a+36>>2]=h;f[a+40>>2]=g;g=a+48|0;i=a+44|0;f[i>>2]=g;f[g>>2]=0;f[a+52>>2]=0;if(!h)j=e;else{e=h+12|0;f[e>>2]=(f[e>>2]|0)+1;j=f[d>>2]|0}if((j|0)<3){j=f[c+44>>2]|0;d=f[i>>2]|0;f[d>>2]=f[j>>2];f[d+4>>2]=f[j+4>>2];return a|0}else{f[b>>2]=0;WO(a,c);return a|0}return 0}function IA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=b+(f[a>>2]|0)|0;if((d|0)==(c|0))return;a=c+36|0;b=f[a>>2]|0;if(b|0){e=b+12|0;f[e>>2]=(f[e>>2]|0)+1}e=d+36|0;b=f[e>>2]|0;if(b|0?(g=b+12|0,b=f[g>>2]|0,f[g>>2]=b+-1,(b|0)==1):0)XO(d);f[e>>2]=0;b=d+16|0;g=d+4|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[g>>2]|0)>0){h=f[d+40>>2]|0;i=0;do{f[h+(i<<2)>>2]=0;i=i+1|0;j=f[g>>2]|0}while((i|0)<(j|0));f[d>>2]=f[c>>2];if((j|0)<3)k=12;else k=14}else{f[d>>2]=f[c>>2];k=12}if((k|0)==12){j=f[c+4>>2]|0;if((j|0)<3){f[g>>2]=j;f[d+8>>2]=f[c+8>>2];f[d+12>>2]=f[c+12>>2];j=f[c+44>>2]|0;g=f[d+44>>2]|0;f[g>>2]=f[j>>2];f[g+4>>2]=f[j+4>>2]}else k=14}if((k|0)==14)WO(d,c);f[b>>2]=f[c+16>>2];f[d+20>>2]=f[c+20>>2];f[d+24>>2]=f[c+24>>2];f[d+28>>2]=f[c+28>>2];f[d+32>>2]=f[c+32>>2];f[e>>2]=f[a>>2];return}function JA(a,b){a=a|0;b=b|0;return f[b+(f[a>>2]|0)>>2]|0}function KA(a,b,c){a=a|0;b=b|0;c=c|0;f[b+(f[a>>2]|0)>>2]=c;return}function LA(a){a=a|0;return f[(f[a>>2]|0)+-4>>2]|0}function MA(a){a=a|0;if(!a)return;qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function NA(a){a=a|0;return a|0}function OA(a){a=a|0;return a|0}function PA(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;Sg[f[a>>2]&63](b,c,d,e);return}function QA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Rg[f[a>>2]&255](b,c,d);return}function RA(a,b,c){a=a|0;b=b|0;c=c|0;zg[f[a>>2]&511](b,c);return}function SA(a){a=a|0;return f[(f[a>>2]|0)+-4>>2]|0}function TA(a){a=a|0;if(!a)return;qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function UA(a){a=a|0;return a|0}function VA(a){a=a|0;return a|0}function WA(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;Jg[a&15](g,b,c,d);d=EQa(8)|0;f[d>>2]=f[g>>2];f[d+4>>2]=f[g+4>>2];u=e;return d|0}function XA(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0;d=u;u=u+16|0;e=d;Ag[a&31](e,b,c);b=EQa(8)|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];u=d;return b|0}function YA(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;zg[a&511](d,b);b=EQa(8)|0;f[b>>2]=f[d>>2];f[b+4>>2]=f[d+4>>2];u=c;return b|0}function ZA(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;qg[a&1023](c);a=EQa(8)|0;f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];u=b;return a|0}function _A(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;Sg[f[a>>2]&63](b,c,d,e);return}function $A(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Rg[f[a>>2]&255](b,c,d);return}function aB(a){a=a|0;return f[a+4>>2]|0}function bB(){var a=0;a=EQa(8)|0;f[a>>2]=0;f[a+4>>2]=0;return a|0}function cB(a){a=a|0;return 0}function dB(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0?(c=b+4|0,d=f[c>>2]|0,f[c>>2]=d+-1,(d|0)==1):0)qg[f[(f[b>>2]|0)+8>>2]&1023](b);GQa(a);return}function eB(a){a=a|0;return f[(f[a>>2]|0)+-4>>2]|0}function fB(a){a=a|0;if(!a)return;qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function gB(a){a=a|0;return a|0}function hB(a){a=a|0;return a|0}function iB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;e=d;g=f[a>>2]|0;f[e>>2]=f[c>>2];f[e+4>>2]=f[c+4>>2];zg[g&511](b,e);u=d;return}function jB(a,b,c){a=a|0;b=+b;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;e=d;g=d+8|0;f[g>>2]=f[c>>2];f[g+4>>2]=f[c+4>>2];sg[a&3](e,b,g);g=EQa(8)|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];u=d;return g|0}function kB(a,b){a=a|0;b=+b;var c=0,d=0;c=u;u=u+16|0;d=c;rg[a&15](d,b);a=EQa(8)|0;f[a>>2]=f[d>>2];f[a+4>>2]=f[d+4>>2];u=c;return a|0}function lB(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;qg[a&1023](c);a=EQa(8)|0;f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];u=b;return a|0}function mB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a>>2]|0;d=f[a+4>>2]|0;a=b+(d>>1)|0;if(!(d&1)){e=c;qg[e&1023](a);return}else{e=f[(f[a>>2]|0)+c>>2]|0;qg[e&1023](a);return}}function nB(a,b,c){a=a|0;b=b|0;c=+c;rg[f[a>>2]&15](b,c);return}function oB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=u;u=u+16|0;d=c;e=f[a>>2]|0;g=f[a+4>>2]|0;a=b+(g>>1)|0;if(!(g&1))h=e;else h=f[(f[a>>2]|0)+e>>2]|0;zg[h&511](d,a);a=EQa(8)|0;f[a>>2]=f[d>>2];f[a+4>>2]=f[d+4>>2];u=c;return a|0}function pB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0.0;c=f[a>>2]|0;d=f[a+4>>2]|0;a=b+(d>>1)|0;if(!(d&1)){e=c;g=+Jf[e&31](a);return +g}else{e=f[(f[a>>2]|0)+c>>2]|0;g=+Jf[e&31](a);return +g}return +(0.0)}function qB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Rg[f[a>>2]&255](b,c,d);return}function rB(a){a=a|0;return f[a+4>>2]|0}function sB(){var a=0;a=EQa(8)|0;f[a>>2]=0;f[a+4>>2]=0;return a|0}function tB(a){a=a|0;return 0}function uB(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0?(c=b+4|0,d=f[c>>2]|0,f[c>>2]=d+-1,(d|0)==1):0)qg[f[(f[b>>2]|0)+8>>2]&1023](b);GQa(a);return}function vB(a){a=a|0;return 9272}function wB(a){a=a|0;if(!a)return;GQa(a);return}function xB(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;qg[a&1023](c);a=EQa(8)|0;f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];u=b;return a|0}function yB(a){a=a|0;return f[a+4>>2]|0}function zB(){var a=0;a=EQa(8)|0;f[a>>2]=0;f[a+4>>2]=0;return a|0}function AB(a){a=a|0;return 0}function BB(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0?(c=b+4|0,d=f[c>>2]|0,f[c>>2]=d+-1,(d|0)==1):0)qg[f[(f[b>>2]|0)+8>>2]&1023](b);GQa(a);return}function CB(a,b){a=a|0;b=b|0;return f[b+(f[a>>2]|0)>>2]|0}function DB(a,b,c){a=a|0;b=b|0;c=c|0;f[b+(f[a>>2]|0)>>2]=c;return}function EB(a,b){a=a|0;b=b|0;return +(+p[b+(f[a>>2]|0)>>3])}function FB(a,b,c){a=a|0;b=b|0;c=+c;p[b+(f[a>>2]|0)>>3]=c;return}function GB(a,b){a=a|0;b=b|0;return +(+n[b+(f[a>>2]|0)>>2])}function HB(a,b,c){a=a|0;b=b|0;c=+c;n[b+(f[a>>2]|0)>>2]=c;return}function IB(a){a=a|0;return f[(f[a>>2]|0)+-4>>2]|0}function JB(a){a=a|0;if(!a)return;qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function KB(a){a=a|0;return 9344}function LB(a){a=a|0;if(!a)return;Kta(a);GQa(a);return}function MB(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;h=f[a>>2]|0;a=d+4|0;i=f[d>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;if(i>>>0>4294967279)NQa(g);if(i>>>0<11){b[g+11>>0]=i;if(!i)j=g;else{k=g;l=6}}else{d=i+16&-16;m=EQa(d)|0;f[g>>2]=m;f[g+8>>2]=d|-2147483648;f[g+4>>2]=i;k=m;l=6}if((l|0)==6){DVa(k|0,a|0,i|0)|0;j=k}b[j+i>>0]=0;i=Zf[h&127](c,g)|0;if((b[g+11>>0]|0)>=0){u=e;return i|0}GQa(f[g>>2]|0);u=e;return i|0}function NB(a,b,c,d,e,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=+g;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0;l=u;u=u+16|0;m=l+8|0;n=l;o=f[a>>2]|0;f[m>>2]=f[j>>2];f[m+4>>2]=f[j+4>>2];f[n>>2]=f[k>>2];f[n+4>>2]=f[k+4>>2];Qh[o&7](b,c,d,e,g,h,i,m,n);u=l;return}function OB(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=+g;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;k=u;u=u+16|0;l=k;m=f[a>>2]|0;f[l>>2]=f[j>>2];f[l+4>>2]=f[j+4>>2];Ph[m&7](b,c,d,e,g,h,i,l);u=k;return}function PB(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=+g;h=h|0;i=i|0;Lh[f[a>>2]&7](b,c,d,e,g,h,i);return}function QB(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=+g;h=h|0;Kh[f[a>>2]&7](b,c,d,e,g,h);return}function RB(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=+g;uh[f[a>>2]&15](b,c,d,e,g);return}function SB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;th[f[a>>2]&255](b,c,d,e);return}function TB(){var a=0;a=EQa(8)|0;Fta(a);return a|0}function UB(a){a=a|0;return Vf[a&31]()|0}function VB(a){a=a|0;var b=0;b=EQa(8)|0;Gta(b,a);return b|0}function WB(a,b){a=a|0;b=b|0;return Wf[a&255](b)|0}function XB(a,b,c,d,e,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=+h;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0;n=u;u=u+16|0;o=n+8|0;p=n;q=f[a>>2]|0;f[o>>2]=f[k>>2];f[o+4>>2]=f[k+4>>2];f[p>>2]=f[l>>2];f[p+4>>2]=f[l+4>>2];bi[q&3](b,c,d,e,g,h,i,j,o,p,m);u=n;return}function YB(a,b,c,d,e,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=+h;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;m=u;u=u+16|0;n=m+8|0;o=m;p=f[a>>2]|0;f[n>>2]=f[k>>2];f[n+4>>2]=f[k+4>>2];f[o>>2]=f[l>>2];f[o+4>>2]=f[l+4>>2];ai[p&3](b,c,d,e,g,h,i,j,n,o);u=m;return}function ZB(a,b,c,d,e,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=+h;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0;l=u;u=u+16|0;m=l;n=f[a>>2]|0;f[m>>2]=f[k>>2];f[m+4>>2]=f[k+4>>2];$h[n&3](b,c,d,e,g,h,i,j,m);u=l;return}function _B(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=+h;i=i|0;j=j|0;Xh[f[a>>2]&7](b,c,d,e,g,h,i,j);return}function $B(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=+h;i=i|0;Wh[f[a>>2]&7](b,c,d,e,g,h,i);return}function aC(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=+h;Th[f[a>>2]&15](b,c,d,e,g,h);return}function bC(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;Sh[f[a>>2]&255](b,c,d,e,g);return}function cC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a>>2]|0;d=f[a+4>>2]|0;a=b+(d>>1)|0;if(!(d&1))e=c;else e=f[(f[a>>2]|0)+c>>2]|0;return Wf[e&255](a)|0}function dC(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;k=u;u=u+16|0;l=k+8|0;m=k;n=f[a>>2]|0;f[l>>2]=f[i>>2];f[l+4>>2]=f[i+4>>2];f[m>>2]=f[j>>2];f[m+4>>2]=f[j+4>>2];rh[n&3](b,c,d,e,g,h,l,m);u=k;return}function eC(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;j=u;u=u+16|0;k=j;l=f[a>>2]|0;f[k>>2]=f[i>>2];f[k+4>>2]=f[i+4>>2];ph[l&3](b,c,d,e,g,h,k);u=j;return}function fC(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;nh[f[a>>2]&1](b,c,d,e,g,h);return}function gC(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;g=g|0;kh[f[a>>2]&7](b,c,d,e,g);return}function hC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;Sg[f[a>>2]&63](b,c,d,e);return}function iC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Rg[f[a>>2]&255](b,c,d);return}function jC(){lj(0);rr(0);return}function kC(a,b,c,d,e,g,h,i,j,k,l,m,n,o,p){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;i=+i;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;q=u;u=u+448|0;r=q+392|0;s=q+336|0;t=q+280|0;v=q+224|0;w=q+168|0;x=q+112|0;y=q+56|0;z=q;A=(o&2|0)==0;B=(o&1|0)==0;C=B?m:l;D=B?l:m;B=A?C:n;E=A?n:C;C=(o&4|0)==0;A=C?D:n;F=C?n:D;f[r>>2]=1124007936;C=r+4|0;G=r+8|0;H=r+40|0;I=C;J=I+36|0;do{f[I>>2]=0;I=I+4|0}while((I|0)<(J|0));f[H>>2]=G;K=r+48|0;L=r+44|0;f[L>>2]=K;f[K>>2]=0;f[r+52>>2]=0;f[s>>2]=1124007936;M=s+4|0;N=s+8|0;O=s+40|0;I=M;J=I+36|0;do{f[I>>2]=0;I=I+4|0}while((I|0)<(J|0));f[O>>2]=N;P=s+48|0;Q=s+44|0;f[Q>>2]=P;f[P>>2]=0;f[s+52>>2]=0;f[t>>2]=1124007936;R=t+4|0;S=t+8|0;T=t+40|0;I=R;J=I+36|0;do{f[I>>2]=0;I=I+4|0}while((I|0)<(J|0));f[T>>2]=S;I=t+48|0;J=t+44|0;f[J>>2]=I;f[I>>2]=0;f[t+52>>2]=0;if(a|0){Gi(v,l,m,p,a,b);b=v+36|0;a=f[b>>2]|0;if(a|0){m=a+12|0;f[m>>2]=(f[m>>2]|0)+1}m=r+36|0;a=f[m>>2]|0;if(a|0?(l=a+12|0,a=f[l>>2]|0,f[l>>2]=a+-1,(a|0)==1):0)XO(r);f[m>>2]=0;a=r+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if((f[C>>2]|0)>0){l=f[H>>2]|0;U=0;do{f[l+(U<<2)>>2]=0;U=U+1|0;V=f[C>>2]|0}while((U|0)<(V|0));f[r>>2]=f[v>>2];if((V|0)<3)W=12;else W=14}else{f[r>>2]=f[v>>2];W=12}if((W|0)==12){V=f[v+4>>2]|0;if((V|0)<3){f[C>>2]=V;f[G>>2]=f[v+8>>2];f[r+12>>2]=f[v+12>>2];V=f[v+44>>2]|0;U=f[L>>2]|0;f[U>>2]=f[V>>2];f[U+4>>2]=f[V+4>>2]}else W=14}if((W|0)==14)WO(r,v);V=v+16|0;f[a>>2]=f[V>>2];f[r+20>>2]=f[v+20>>2];f[r+24>>2]=f[v+24>>2];f[r+28>>2]=f[v+28>>2];f[r+32>>2]=f[v+32>>2];a=f[b>>2]|0;f[m>>2]=a;if(a|0?(m=a+12|0,a=f[m>>2]|0,f[m>>2]=a+-1,(a|0)==1):0)XO(v);f[b>>2]=0;b=v+4|0;f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;f[V+12>>2]=0;if((f[b>>2]|0)>0){V=f[v+40>>2]|0;a=0;do{f[V+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[b>>2]|0))}b=f[v+44>>2]|0;if((b|0)!=(v+48|0))dX(b)}if(c|0){Gi(v,B,E,p,c,d);d=v+36|0;c=f[d>>2]|0;if(c|0){E=c+12|0;f[E>>2]=(f[E>>2]|0)+1}E=s+36|0;c=f[E>>2]|0;if(c|0?(B=c+12|0,c=f[B>>2]|0,f[B>>2]=c+-1,(c|0)==1):0)XO(s);f[E>>2]=0;c=s+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[M>>2]|0)>0){B=f[O>>2]|0;b=0;do{f[B+(b<<2)>>2]=0;b=b+1|0;X=f[M>>2]|0}while((b|0)<(X|0));f[s>>2]=f[v>>2];if((X|0)<3)W=35;else W=37}else{f[s>>2]=f[v>>2];W=35}if((W|0)==35){X=f[v+4>>2]|0;if((X|0)<3){f[M>>2]=X;f[N>>2]=f[v+8>>2];f[s+12>>2]=f[v+12>>2];X=f[v+44>>2]|0;b=f[Q>>2]|0;f[b>>2]=f[X>>2];f[b+4>>2]=f[X+4>>2]}else W=37}if((W|0)==37)WO(s,v);X=v+16|0;f[c>>2]=f[X>>2];f[s+20>>2]=f[v+20>>2];f[s+24>>2]=f[v+24>>2];f[s+28>>2]=f[v+28>>2];f[s+32>>2]=f[v+32>>2];c=f[d>>2]|0;f[E>>2]=c;if(c|0?(E=c+12|0,c=f[E>>2]|0,f[E>>2]=c+-1,(c|0)==1):0)XO(v);f[d>>2]=0;d=v+4|0;f[X>>2]=0;f[X+4>>2]=0;f[X+8>>2]=0;f[X+12>>2]=0;if((f[d>>2]|0)>0){X=f[v+40>>2]|0;c=0;do{f[X+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[d>>2]|0))}d=f[v+44>>2]|0;if((d|0)!=(v+48|0))dX(d)}if((g|0)!=0&i!=0.0){Gi(v,A,F,p,g,h);h=v+36|0;g=f[h>>2]|0;if(g|0){F=g+12|0;f[F>>2]=(f[F>>2]|0)+1}F=t+36|0;g=f[F>>2]|0;if(g|0?(A=g+12|0,g=f[A>>2]|0,f[A>>2]=g+-1,(g|0)==1):0)XO(t);f[F>>2]=0;g=t+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;if((f[R>>2]|0)>0){A=f[T>>2]|0;d=0;do{f[A+(d<<2)>>2]=0;d=d+1|0;Y=f[R>>2]|0}while((d|0)<(Y|0));f[t>>2]=f[v>>2];if((Y|0)<3)W=58;else W=60}else{f[t>>2]=f[v>>2];W=58}if((W|0)==58){Y=f[v+4>>2]|0;if((Y|0)<3){f[R>>2]=Y;f[S>>2]=f[v+8>>2];f[t+12>>2]=f[v+12>>2];Y=f[v+44>>2]|0;d=f[J>>2]|0;f[d>>2]=f[Y>>2];f[d+4>>2]=f[Y+4>>2]}else W=60}if((W|0)==60)WO(t,v);W=v+16|0;f[g>>2]=f[W>>2];f[t+20>>2]=f[v+20>>2];f[t+24>>2]=f[v+24>>2];f[t+28>>2]=f[v+28>>2];f[t+32>>2]=f[v+32>>2];g=f[h>>2]|0;f[F>>2]=g;if(g|0?(F=g+12|0,g=f[F>>2]|0,f[F>>2]=g+-1,(g|0)==1):0)XO(v);f[h>>2]=0;h=v+4|0;f[W>>2]=0;f[W+4>>2]=0;f[W+8>>2]=0;f[W+12>>2]=0;if((f[h>>2]|0)>0){W=f[v+40>>2]|0;g=0;do{f[W+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[h>>2]|0))}h=f[v+44>>2]|0;if((h|0)!=(v+48|0))dX(h)}Gi(v,D,n,p,j,k);f[w>>2]=f[r>>2];k=w+4|0;j=f[C>>2]|0;f[k>>2]=j;p=w+8|0;f[p>>2]=f[G>>2];f[w+12>>2]=f[r+12>>2];G=w+16|0;n=r+16|0;f[G>>2]=f[n>>2];f[w+20>>2]=f[r+20>>2];f[w+24>>2]=f[r+24>>2];f[w+28>>2]=f[r+28>>2];f[w+32>>2]=f[r+32>>2];D=w+36|0;h=r+36|0;g=f[h>>2]|0;f[D>>2]=g;W=w+40|0;f[W>>2]=p;p=w+48|0;F=w+44|0;f[F>>2]=p;f[p>>2]=0;f[w+52>>2]=0;if(!g)Z=j;else{j=g+12|0;f[j>>2]=(f[j>>2]|0)+1;Z=f[C>>2]|0}if((Z|0)<3){Z=f[L>>2]|0;j=f[F>>2]|0;f[j>>2]=f[Z>>2];f[j+4>>2]=f[Z+4>>2]}else{f[k>>2]=0;WO(w,r)}f[x>>2]=f[s>>2];Z=x+4|0;j=f[M>>2]|0;f[Z>>2]=j;g=x+8|0;f[g>>2]=f[N>>2];f[x+12>>2]=f[s+12>>2];N=x+16|0;Y=s+16|0;f[N>>2]=f[Y>>2];f[x+20>>2]=f[s+20>>2];f[x+24>>2]=f[s+24>>2];f[x+28>>2]=f[s+28>>2];f[x+32>>2]=f[s+32>>2];d=x+36|0;A=s+36|0;c=f[A>>2]|0;f[d>>2]=c;X=x+40|0;f[X>>2]=g;g=x+48|0;E=x+44|0;f[E>>2]=g;f[g>>2]=0;f[x+52>>2]=0;if(!c)_=j;else{j=c+12|0;f[j>>2]=(f[j>>2]|0)+1;_=f[M>>2]|0}if((_|0)<3){_=f[Q>>2]|0;j=f[E>>2]|0;f[j>>2]=f[_>>2];f[j+4>>2]=f[_+4>>2]}else{f[Z>>2]=0;WO(x,s)}f[y>>2]=f[t>>2];_=y+4|0;j=f[R>>2]|0;f[_>>2]=j;c=y+8|0;f[c>>2]=f[S>>2];f[y+12>>2]=f[t+12>>2];S=y+16|0;b=t+16|0;f[S>>2]=f[b>>2];f[y+20>>2]=f[t+20>>2];f[y+24>>2]=f[t+24>>2];f[y+28>>2]=f[t+28>>2];f[y+32>>2]=f[t+32>>2];B=y+36|0;a=t+36|0;V=f[a>>2]|0;f[B>>2]=V;m=y+40|0;f[m>>2]=c;c=y+48|0;U=y+44|0;f[U>>2]=c;f[c>>2]=0;f[y+52>>2]=0;if(!V)$=j;else{j=V+12|0;f[j>>2]=(f[j>>2]|0)+1;$=f[R>>2]|0}if(($|0)<3){$=f[J>>2]|0;j=f[U>>2]|0;f[j>>2]=f[$>>2];f[j+4>>2]=f[$+4>>2]}else{f[_>>2]=0;WO(y,t)}f[z>>2]=f[v>>2];$=z+4|0;j=v+4|0;V=f[j>>2]|0;f[$>>2]=V;l=z+8|0;f[l>>2]=f[v+8>>2];f[z+12>>2]=f[v+12>>2];aa=z+16|0;ba=v+16|0;f[aa>>2]=f[ba>>2];f[z+20>>2]=f[v+20>>2];f[z+24>>2]=f[v+24>>2];f[z+28>>2]=f[v+28>>2];f[z+32>>2]=f[v+32>>2];ca=z+36|0;da=v+36|0;ea=f[da>>2]|0;f[ca>>2]=ea;fa=z+40|0;f[fa>>2]=l;l=z+48|0;ga=z+44|0;f[ga>>2]=l;f[l>>2]=0;f[z+52>>2]=0;if(!ea)ha=V;else{V=ea+12|0;f[V>>2]=(f[V>>2]|0)+1;ha=f[j>>2]|0}if((ha|0)<3){ha=f[v+44>>2]|0;V=f[ga>>2]|0;f[V>>2]=f[ha>>2];f[V+4>>2]=f[ha+4>>2]}else{f[$>>2]=0;WO(z,v)}lC(w,x,e,y,i,z,o);o=f[ca>>2]|0;if(o|0?(ha=o+12|0,o=f[ha>>2]|0,f[ha>>2]=o+-1,(o|0)==1):0)XO(z);f[ca>>2]=0;f[aa>>2]=0;f[aa+4>>2]=0;f[aa+8>>2]=0;f[aa+12>>2]=0;if((f[$>>2]|0)>0){aa=f[fa>>2]|0;fa=0;do{f[aa+(fa<<2)>>2]=0;fa=fa+1|0}while((fa|0)<(f[$>>2]|0))}$=f[ga>>2]|0;if(($|0)!=(l|0))dX($);$=f[B>>2]|0;if($|0?(l=$+12|0,$=f[l>>2]|0,f[l>>2]=$+-1,($|0)==1):0)XO(y);f[B>>2]=0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;f[S+12>>2]=0;if((f[_>>2]|0)>0){S=f[m>>2]|0;m=0;do{f[S+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[_>>2]|0))}_=f[U>>2]|0;if((_|0)!=(c|0))dX(_);_=f[d>>2]|0;if(_|0?(c=_+12|0,_=f[c>>2]|0,f[c>>2]=_+-1,(_|0)==1):0)XO(x);f[d>>2]=0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;if((f[Z>>2]|0)>0){N=f[X>>2]|0;X=0;do{f[N+(X<<2)>>2]=0;X=X+1|0}while((X|0)<(f[Z>>2]|0))}Z=f[E>>2]|0;if((Z|0)!=(g|0))dX(Z);Z=f[D>>2]|0;do if(Z|0){g=Z+12|0;E=f[g>>2]|0;f[g>>2]=E+-1;if((E|0)!=1)break;XO(w)}while(0);f[D>>2]=0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;if((f[k>>2]|0)>0){G=f[W>>2]|0;W=0;do{f[G+(W<<2)>>2]=0;W=W+1|0}while((W|0)<(f[k>>2]|0))}k=f[F>>2]|0;if((k|0)!=(p|0))dX(k);k=f[da>>2]|0;do if(k|0){p=k+12|0;F=f[p>>2]|0;f[p>>2]=F+-1;if((F|0)!=1)break;XO(v)}while(0);f[da>>2]=0;f[ba>>2]=0;f[ba+4>>2]=0;f[ba+8>>2]=0;f[ba+12>>2]=0;if((f[j>>2]|0)>0){ba=f[v+40>>2]|0;da=0;do{f[ba+(da<<2)>>2]=0;da=da+1|0}while((da|0)<(f[j>>2]|0))}j=f[v+44>>2]|0;if((j|0)!=(v+48|0))dX(j);j=f[a>>2]|0;do if(j|0){v=j+12|0;da=f[v>>2]|0;f[v>>2]=da+-1;if((da|0)!=1)break;XO(t)}while(0);f[a>>2]=0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[R>>2]|0)>0){b=f[T>>2]|0;T=0;do{f[b+(T<<2)>>2]=0;T=T+1|0}while((T|0)<(f[R>>2]|0))}R=f[J>>2]|0;if((R|0)!=(I|0))dX(R);R=f[A>>2]|0;do if(R|0){I=R+12|0;J=f[I>>2]|0;f[I>>2]=J+-1;if((J|0)!=1)break;XO(s)}while(0);f[A>>2]=0;f[Y>>2]=0;f[Y+4>>2]=0;f[Y+8>>2]=0;f[Y+12>>2]=0;if((f[M>>2]|0)>0){Y=f[O>>2]|0;O=0;do{f[Y+(O<<2)>>2]=0;O=O+1|0}while((O|0)<(f[M>>2]|0))}M=f[Q>>2]|0;if((M|0)!=(P|0))dX(M);M=f[h>>2]|0;do if(M|0){P=M+12|0;Q=f[P>>2]|0;f[P>>2]=Q+-1;if((Q|0)!=1)break;XO(r)}while(0);f[h>>2]=0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;if((f[C>>2]|0)>0){n=f[H>>2]|0;H=0;do{f[n+(H<<2)>>2]=0;H=H+1|0}while((H|0)<(f[C>>2]|0))}C=f[L>>2]|0;if((C|0)==(K|0)){u=q;return}dX(C);u=q;return}function lC(a,c,d,e,g,h,i){a=a|0;c=c|0;d=+d;e=e|0;g=+g;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0.0,T=0.0,U=0.0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0.0,ba=0.0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0.0,ka=0.0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0;j=u;u=u+1120|0;k=j+1104|0;l=j+64|0;m=j+56|0;o=j+48|0;q=j+40|0;r=j+32|0;s=j+24|0;t=j+16|0;v=j+8|0;w=j;yV(k,28540);x=f[a+40>>2]|0;y=f[x+4>>2]|0;z=f[x>>2]|0;x=f[a>>2]|0;switch(i&3){case 0:{A=c+8|0;B=c+12|0;C=z;break}case 1:{A=c+8|0;B=c+12|0;C=y;break}case 2:{A=c+12|0;B=c+8|0;C=z;break}case 3:{A=c+12|0;B=c+8|0;C=y;break}default:{}}D=f[B>>2]|0;B=f[A>>2]|0;a:do if((i|0)==0&(B+-2|0)>>>0<3?(B|0)==(D|0)|(B|0)==(C|0):0)switch(x&4095){case 5:{A=f[h+16>>2]|0;E=f[a+16>>2]|0;F=f[c+16>>2]|0;G=f[e+16>>2]|0;H=(f[h+48>>2]|0)>>>2;I=(f[a+48>>2]|0)>>>2;J=(f[c+48>>2]|0)>>>2;if(!G)K=0;else K=(f[e+48>>2]|0)>>>2;L=(G|0)==0?454968:G;switch(B|0){case 2:{if(!((D|0)!=2|(F|0)==(A|0))){if((C|0)<=0)break a;G=F+(J<<2)|0;M=F+4|0;N=F+(J+1<<2)|0;O=0;P=A;Q=E;R=L;while(1){S=+n[Q>>2];T=+n[Q+4>>2];U=S*+n[M>>2]+T*+n[N>>2];n[P>>2]=(S*+n[F>>2]+T*+n[G>>2])*d+ +n[R>>2]*g;n[P+4>>2]=U*d+ +n[R+4>>2]*g;O=O+1|0;if((O|0)==(C|0))break a;else{P=P+(H<<2)|0;Q=Q+(I<<2)|0;R=R+(K<<2)|0}}}if((E|0)==(A|0)){V=64;break a}R=(L|0)==454968;Q=(R^1)&1;P=R?1:K;if((D|0)<=0)break a;R=E+4|0;O=E+(I<<2)|0;G=E+(I+1<<2)|0;N=F;M=0;W=A;Y=L;while(1){U=+n[N>>2];T=+n[N+(J<<2)>>2];S=U*+n[O>>2]+T*+n[G>>2];n[W>>2]=(+n[E>>2]*U+ +n[R>>2]*T)*d+ +n[Y>>2]*g;n[W+(H<<2)>>2]=S*d+ +n[Y+(P<<2)>>2]*g;M=M+1|0;if((M|0)==(D|0))break;else{N=N+4|0;W=W+4|0;Y=Y+(Q<<2)|0}}break}case 3:{if(!((D|0)!=3|(F|0)==(A|0))){if((C|0)<=0)break a;Q=F+(J<<2)|0;Y=J<<1;W=F+(Y<<2)|0;N=F+4|0;M=F+(J+1<<2)|0;P=F+((Y|1)<<2)|0;R=F+8|0;G=F+(J+2<<2)|0;O=F+(Y+2<<2)|0;Y=E;Z=0;_=A;$=L;while(1){S=+n[Y>>2];T=+n[Y+4>>2];U=+n[Y+8>>2];aa=S*+n[N>>2]+T*+n[M>>2]+U*+n[P>>2];ba=S*+n[R>>2]+T*+n[G>>2]+U*+n[O>>2];n[_>>2]=(S*+n[F>>2]+T*+n[Q>>2]+U*+n[W>>2])*d+ +n[$>>2]*g;n[_+4>>2]=aa*d+ +n[$+4>>2]*g;n[_+8>>2]=ba*d+ +n[$+8>>2]*g;Z=Z+1|0;if((Z|0)==(C|0))break a;else{Y=Y+(I<<2)|0;_=_+(H<<2)|0;$=$+(K<<2)|0}}}if((E|0)==(A|0)){V=64;break a}$=(L|0)==454968;_=($^1)&1;Y=$?1:K;if((D|0)<=0)break a;$=E+4|0;Z=E+8|0;W=J<<1;Q=E+(I<<2)|0;O=E+(I+1<<2)|0;G=E+(I+2<<2)|0;R=I<<1;P=E+(R<<2)|0;M=E+((R|1)<<2)|0;N=E+(R+2<<2)|0;R=Y<<1;ca=H<<1;da=F;ea=0;fa=A;ga=L;while(1){ba=+n[da>>2];aa=+n[da+(J<<2)>>2];U=+n[da+(W<<2)>>2];T=ba*+n[Q>>2]+aa*+n[O>>2]+U*+n[G>>2];S=ba*+n[P>>2]+aa*+n[M>>2]+U*+n[N>>2];n[fa>>2]=(+n[E>>2]*ba+ +n[$>>2]*aa+ +n[Z>>2]*U)*d+ +n[ga>>2]*g;n[fa+(H<<2)>>2]=T*d+ +n[ga+(Y<<2)>>2]*g;n[fa+(ca<<2)>>2]=S*d+ +n[ga+(R<<2)>>2]*g;ea=ea+1|0;if((ea|0)==(D|0))break;else{da=da+4|0;fa=fa+4|0;ga=ga+(_<<2)|0}}break}case 4:{if(!((D|0)!=4|(F|0)==(A|0))){if((C|0)<=0)break a;_=F+(J<<2)|0;ga=J<<1;fa=F+(ga<<2)|0;da=J*3|0;ea=F+(da<<2)|0;R=F+4|0;ca=F+(J+1<<2)|0;Y=F+((ga|1)<<2)|0;Z=F+(da+1<<2)|0;$=F+8|0;N=F+(J+2<<2)|0;M=F+(ga+2<<2)|0;P=F+(da+2<<2)|0;G=F+12|0;O=F+(J+3<<2)|0;Q=F+(ga+3<<2)|0;ga=F+(da+3<<2)|0;da=E;W=0;ha=A;ia=L;while(1){S=+n[da>>2];T=+n[da+4>>2];U=+n[da+8>>2];aa=+n[da+12>>2];ba=S*+n[R>>2]+T*+n[ca>>2]+U*+n[Y>>2]+aa*+n[Z>>2];ja=S*+n[$>>2]+T*+n[N>>2]+U*+n[M>>2]+aa*+n[P>>2];ka=S*+n[G>>2]+T*+n[O>>2]+U*+n[Q>>2]+aa*+n[ga>>2];n[ha>>2]=(S*+n[F>>2]+T*+n[_>>2]+U*+n[fa>>2]+aa*+n[ea>>2])*d+ +n[ia>>2]*g;n[ha+4>>2]=ba*d+ +n[ia+4>>2]*g;n[ha+8>>2]=ja*d+ +n[ia+8>>2]*g;n[ha+12>>2]=ka*d+ +n[ia+12>>2]*g;W=W+1|0;if((W|0)==(C|0))break a;else{da=da+(I<<2)|0;ha=ha+(H<<2)|0;ia=ia+(K<<2)|0}}}if((E|0)==(A|0)){V=64;break a}ia=(L|0)==454968;ha=(ia^1)&1;da=ia?1:K;if((D|0)<=0)break a;ia=E+4|0;W=E+8|0;ea=J<<1;fa=E+12|0;_=J*3|0;ga=E+(I<<2)|0;Q=E+(I+1<<2)|0;O=E+(I+2<<2)|0;G=E+(I+3<<2)|0;P=I<<1;M=E+(P<<2)|0;N=E+((P|1)<<2)|0;$=E+(P+2<<2)|0;Z=E+(P+3<<2)|0;P=I*3|0;Y=E+(P<<2)|0;ca=E+(P+1<<2)|0;R=E+(P+2<<2)|0;la=E+(P+3<<2)|0;P=da<<1;ma=H<<1;na=da*3|0;oa=H*3|0;pa=F;qa=0;ra=A;sa=L;while(1){ka=+n[pa>>2];ja=+n[pa+(J<<2)>>2];ba=+n[pa+(ea<<2)>>2];aa=+n[pa+(_<<2)>>2];U=ka*+n[ga>>2]+ja*+n[Q>>2]+ba*+n[O>>2]+aa*+n[G>>2];T=ka*+n[M>>2]+ja*+n[N>>2]+ba*+n[$>>2]+aa*+n[Z>>2];S=ka*+n[Y>>2]+ja*+n[ca>>2]+ba*+n[R>>2]+aa*+n[la>>2];n[ra>>2]=(+n[E>>2]*ka+ +n[ia>>2]*ja+ +n[W>>2]*ba+ +n[fa>>2]*aa)*d+ +n[sa>>2]*g;n[ra+(H<<2)>>2]=U*d+ +n[sa+(da<<2)>>2]*g;n[ra+(ma<<2)>>2]=T*d+ +n[sa+(P<<2)>>2]*g;n[ra+(oa<<2)>>2]=S*d+ +n[sa+(na<<2)>>2]*g;qa=qa+1|0;if((qa|0)==(D|0))break;else{pa=pa+4|0;ra=ra+4|0;sa=sa+(ha<<2)|0}}break}default:{V=64;break a}}break}case 6:{ha=f[h+16>>2]|0;sa=f[a+16>>2]|0;ra=f[c+16>>2]|0;pa=f[e+16>>2]|0;qa=(f[h+48>>2]|0)>>>3;na=(f[a+48>>2]|0)>>>3;oa=(f[c+48>>2]|0)>>>3;if(!pa)ta=0;else ta=(f[e+48>>2]|0)>>>3;P=(pa|0)==0?453248:pa;switch(B|0){case 2:{if(!((D|0)!=2|(ra|0)==(ha|0))){if((C|0)<=0)break a;pa=ra+(oa<<3)|0;ma=ra+8|0;da=ra+(oa+1<<3)|0;H=ha;fa=sa;W=P;ia=0;while(1){S=+p[fa>>3];T=+p[fa+8>>3];U=S*+p[ma>>3]+T*+p[da>>3];p[H>>3]=(S*+p[ra>>3]+T*+p[pa>>3])*d+ +p[W>>3]*g;p[H+8>>3]=U*d+ +p[W+8>>3]*g;ia=ia+1|0;if((ia|0)==(C|0))break a;else{H=H+(qa<<3)|0;fa=fa+(na<<3)|0;W=W+(ta<<3)|0}}}if((sa|0)==(ha|0)){V=64;break a}W=(P|0)==453248;fa=(W^1)&1;H=W?1:ta;if((D|0)<=0)break a;W=sa+8|0;ia=sa+(na<<3)|0;pa=sa+(na+1<<3)|0;da=ra;ma=ha;E=P;la=0;while(1){U=+p[da>>3];T=+p[da+(oa<<3)>>3];S=U*+p[ia>>3]+T*+p[pa>>3];p[ma>>3]=(+p[sa>>3]*U+ +p[W>>3]*T)*d+ +p[E>>3]*g;p[ma+(qa<<3)>>3]=S*d+ +p[E+(H<<3)>>3]*g;la=la+1|0;if((la|0)==(D|0))break;else{da=da+8|0;ma=ma+8|0;E=E+(fa<<3)|0}}break}case 3:{if(!((D|0)!=3|(ra|0)==(ha|0))){if((C|0)<=0)break a;fa=ra+(oa<<3)|0;E=oa<<1;ma=ra+(E<<3)|0;da=ra+8|0;la=ra+(oa+1<<3)|0;H=ra+((E|1)<<3)|0;W=ra+16|0;pa=ra+(oa+2<<3)|0;ia=ra+(E+2<<3)|0;E=sa;R=ha;ca=P;Y=0;while(1){S=+p[E>>3];T=+p[E+8>>3];U=+p[E+16>>3];aa=S*+p[da>>3]+T*+p[la>>3]+U*+p[H>>3];ba=S*+p[W>>3]+T*+p[pa>>3]+U*+p[ia>>3];p[R>>3]=(S*+p[ra>>3]+T*+p[fa>>3]+U*+p[ma>>3])*d+ +p[ca>>3]*g;p[R+8>>3]=aa*d+ +p[ca+8>>3]*g;p[R+16>>3]=ba*d+ +p[ca+16>>3]*g;Y=Y+1|0;if((Y|0)==(C|0))break a;else{E=E+(na<<3)|0;R=R+(qa<<3)|0;ca=ca+(ta<<3)|0}}}if((sa|0)==(ha|0)){V=64;break a}ca=(P|0)==453248;R=(ca^1)&1;E=ca?1:ta;if((D|0)<=0)break a;ca=sa+8|0;Y=sa+16|0;ma=oa<<1;fa=sa+(na<<3)|0;ia=sa+(na+1<<3)|0;pa=sa+(na+2<<3)|0;W=na<<1;H=sa+(W<<3)|0;la=sa+((W|1)<<3)|0;da=sa+(W+2<<3)|0;W=E<<1;Z=qa<<1;$=ra;N=ha;M=P;G=0;while(1){ba=+p[$>>3];aa=+p[$+(oa<<3)>>3];U=+p[$+(ma<<3)>>3];T=ba*+p[fa>>3]+aa*+p[ia>>3]+U*+p[pa>>3];S=ba*+p[H>>3]+aa*+p[la>>3]+U*+p[da>>3];p[N>>3]=(+p[sa>>3]*ba+ +p[ca>>3]*aa+ +p[Y>>3]*U)*d+ +p[M>>3]*g;p[N+(qa<<3)>>3]=T*d+ +p[M+(E<<3)>>3]*g;p[N+(Z<<3)>>3]=S*d+ +p[M+(W<<3)>>3]*g;G=G+1|0;if((G|0)==(D|0))break;else{$=$+8|0;N=N+8|0;M=M+(R<<3)|0}}break}case 4:{if(!((D|0)!=4|(ra|0)==(ha|0))){if((C|0)<=0)break a;R=ra+(oa<<3)|0;M=oa<<1;N=ra+(M<<3)|0;$=oa*3|0;G=ra+($<<3)|0;W=ra+8|0;Z=ra+(oa+1<<3)|0;E=ra+((M|1)<<3)|0;Y=ra+($+1<<3)|0;ca=ra+16|0;da=ra+(oa+2<<3)|0;la=ra+(M+2<<3)|0;H=ra+($+2<<3)|0;pa=ra+24|0;ia=ra+(oa+3<<3)|0;fa=ra+(M+3<<3)|0;M=ra+($+3<<3)|0;$=0;ma=sa;O=ha;Q=P;while(1){S=+p[ma>>3];T=+p[ma+8>>3];U=+p[ma+16>>3];aa=+p[ma+24>>3];ba=S*+p[W>>3]+T*+p[Z>>3]+U*+p[E>>3]+aa*+p[Y>>3];ja=S*+p[ca>>3]+T*+p[da>>3]+U*+p[la>>3]+aa*+p[H>>3];ka=S*+p[pa>>3]+T*+p[ia>>3]+U*+p[fa>>3]+aa*+p[M>>3];p[O>>3]=(S*+p[ra>>3]+T*+p[R>>3]+U*+p[N>>3]+aa*+p[G>>3])*d+ +p[Q>>3]*g;p[O+8>>3]=ba*d+ +p[Q+8>>3]*g;p[O+16>>3]=ja*d+ +p[Q+16>>3]*g;p[O+24>>3]=ka*d+ +p[Q+24>>3]*g;$=$+1|0;if(($|0)==(C|0))break a;else{ma=ma+(na<<3)|0;O=O+(qa<<3)|0;Q=Q+(ta<<3)|0}}}if((D|0)>16|(sa|0)==(ha|0)){V=64;break a}Q=(P|0)==453248;O=Q?1:ta;ma=(Q^1)&1;if((D|0)<=0)break a;Q=sa+8|0;$=sa+16|0;G=oa<<1;N=sa+24|0;R=oa*3|0;M=sa+(na<<3)|0;fa=sa+(na+1<<3)|0;ia=sa+(na+2<<3)|0;pa=sa+(na+3<<3)|0;H=na<<1;la=sa+(H<<3)|0;da=sa+((H|1)<<3)|0;ca=sa+(H+2<<3)|0;Y=sa+(H+3<<3)|0;H=na*3|0;E=sa+(H<<3)|0;Z=sa+(H+1<<3)|0;W=sa+(H+2<<3)|0;ga=sa+(H+3<<3)|0;H=O<<1;_=qa<<1;ea=O*3|0;J=qa*3|0;L=0;A=ra;F=ha;I=P;while(1){ka=+p[A>>3];ja=+p[A+(oa<<3)>>3];ba=+p[A+(G<<3)>>3];aa=+p[A+(R<<3)>>3];U=ka*+p[M>>3]+ja*+p[fa>>3]+ba*+p[ia>>3]+aa*+p[pa>>3];T=ka*+p[la>>3]+ja*+p[da>>3]+ba*+p[ca>>3]+aa*+p[Y>>3];S=ka*+p[E>>3]+ja*+p[Z>>3]+ba*+p[W>>3]+aa*+p[ga>>3];p[F>>3]=(+p[sa>>3]*ka+ +p[Q>>3]*ja+ +p[$>>3]*ba+ +p[N>>3]*aa)*d+ +p[I>>3]*g;p[F+(qa<<3)>>3]=U*d+ +p[I+(O<<3)>>3]*g;p[F+(_<<3)>>3]=T*d+ +p[I+(H<<3)>>3]*g;p[F+(J<<3)>>3]=S*d+ +p[I+(ea<<3)>>3]*g;L=L+1|0;if((L|0)==(D|0))break;else{A=A+8|0;F=F+8|0;I=I+(ma<<3)|0}}break}default:{V=64;break a}}break}default:{V=64;break a}}else V=64;while(0);if((V|0)==64){ta=f[c+48>>2]|0;K=e+16|0;ma=f[K>>2]|0;if(!ma)ua=0;else ua=f[e+48>>2]|0;I=l+8|0;f[l>>2]=I;F=l+4|0;f[F>>2]=1032;switch(x&4095){case 5:{va=2;wa=102;xa=1;break}case 6:{va=3;wa=103;xa=2;break}case 13:{va=4;wa=104;xa=3;break}case 14:{V=70;break}default:{f[m>>2]=0;f[m+4>>2]=0;A=JV(m,49)|0;L=142009;ea=A+49|0;do{b[A>>0]=b[L>>0]|0;A=A+1|0;L=L+1|0}while((A|0)<(ea|0));EP(-215,m,142059,142068,1218);KV(m);V=70}}if((V|0)==70){va=5;wa=105;xa=4}m=(D|0)==1;if((i&2|0)==0&(m|(B|0)==1)?(f[c>>2]&16384|0)!=0:0){if(m)ya=0;else ya=(x>>>3&511)+1<<(47696>>>(x<<1&14)&3);za=i|2;Aa=ya}else{za=i;Aa=ta}if((C|0)<65)if((B|0)<10001)V=81;else V=79;else if((B|0)<11|(D|0)<65&(B|0)<10001)V=81;else V=79;do if((V|0)==79){if((D|0)<129?(C|0)<129&(B|0)<129:0){V=81;break}ta=x&7;i=(x>>>3&511)+1<<(47696>>>(ta<<1)&3);ya=i<<((ta|0)==5&1);ta=(za&1|0)!=0;m=a+48|0;L=f[m>>2]|0;A=ta?i:L;ea=ta?L:i;L=(za&2|0)!=0;J=L?i:Aa;H=L?Aa:i;if(f[K>>2]|0){_=f[e+4>>2]|0;if((_|0)<3)Ba=X(f[e+12>>2]|0,f[e+8>>2]|0)|0;else{O=f[e+40>>2]|0;qa=0;N=1;while(1){$=X(f[O+(qa<<2)>>2]|0,N)|0;qa=qa+1|0;if((qa|0)==(_|0)){Ba=$;break}else N=$}}if(!((_|0)==0|(Ba|0)==0)){N=(za&4|0)==0;qa=f[e+48>>2]|0;Ca=N?i:qa;Da=N?qa:i;Ea=za}else V=88}else V=88;if((V|0)==88){Ca=0;Da=0;Ea=za&-5}qa=(C|0)<128?C:128;N=(D|0)<128?D:128;O=16384/(qa|0)|0;$=16384/(N|0)|0;Q=($|0)<(O|0)?$:O;O=(B|0)<(Q|0)?B:Q;if((X(O,qa)|0)>16384)Fa=16384/(O|0)|0;else Fa=qa;if((X(O,N)|0)>16384)Ga=16384/(O|0)|0;else Ga=N;N=((O|0)/8|0)+O|0;qa=X(Ga+2+((Ga|0)/8|0)&-2,N+1|0)|0;$=X(qa,i)|0;sa=X(qa,ya)|0;if(ta){Ha=X(X(N+2&-2,i)|0,Fa+1+((Fa|0)/8|0)|0)|0;Ia=Ea&-2}else{Ha=0;Ia=Ea}N=sa+$+Ha|0;if((f[F>>2]|0)>>>0>>0){qa=f[l>>2]|0;if((qa|0)!=(I|0)){if(qa|0)HQa(qa);f[l>>2]=I;f[F>>2]=1032}f[F>>2]=N;if(N>>>0>1032){qa=FQa(N)|0;f[l>>2]=qa;Ja=qa}else Ja=I}else{f[F>>2]=N;Ja=f[l>>2]|0}N=Ja+sa|0;sa=N+$|0;$=ta?sa:0;if((C|0)>0){qa=C<<3;ga=(D|0)>0;W=h+16|0;Z=h+44|0;E=h+48|0;Y=D<<3;ca=(B|0)>(Q|0);Q=(B|0)>0;da=w+4|0;la=a+16|0;pa=c+16|0;ia=B<<3;fa=ta&($|0)!=0;M=(i|0)==4;R=i&65535;G=i>>>2;oa=r+4|0;P=s+4|0;ha=t+4|0;ra=v+4|0;na=0;Ka=Ia;while(1){La=na+Fa|0;if((La|0)<(C|0)?((La<<3)+Fa|0)<=(qa|0):0)Ma=Fa;else Ma=C-na|0;if(ga){La=ma+(X(na,Da)|0)|0;Na=X(na,A)|0;Oa=0;Pa=Ka;while(1){Qa=f[E>>2]|0;Ra=X(Oa,i)|0;Sa=(f[W>>2]|0)+(X(Qa,na)|0)+Ra|0;Ta=La+(X(Oa,Ca)|0)|0;Ua=Oa+Ga|0;if((Ua|0)<(D|0)?((Ua<<3)+Ga|0)<=(Y|0):0)Va=Ga;else Va=D-Oa|0;Ua=Pa&15;Wa=X(Va,ya)|0;Xa=ca?Ja:Sa;Sa=ca?Wa:Qa;if(Q){Qa=X(Oa,H)|0;Wa=(Va|0)<(D|0);Ya=0;Za=Ua;while(1){_a=(f[la>>2]|0)+Na+(X(Ya,ea)|0)|0;$a=f[m>>2]|0;ab=(f[pa>>2]|0)+(X(Ya,J)|0)+Qa|0;bb=Ya+O|0;if((bb|0)<(B|0)?((bb<<3)+O|0)<=(ia|0):0)cb=O;else cb=B-Ya|0;bb=ta?Ma:cb;db=ta?cb:Ma;b:do if(fa){eb=X(cb,i)|0;if((bb|0)<=0){fb=eb;gb=sa;hb=db;ib=bb;break}jb=(db|0)>0;if(M){if(jb){kb=_a;lb=sa;mb=0}else{fb=eb;gb=sa;hb=db;ib=bb;break}while(1){nb=0;ob=kb;while(1){f[lb+(nb<<2)>>2]=f[ob>>2];nb=nb+1|0;if((nb|0)==(db|0))break;else ob=ob+$a|0}mb=mb+1|0;if((mb|0)==(bb|0)){fb=eb;gb=$;hb=db;ib=bb;break b}else{kb=kb+4|0;lb=lb+eb|0}}}ob=db<<2;nb=db<<1;switch(R&8191){case 16:{pb=_a;qb=sa;rb=0;while(1){if(jb){sb=pb;tb=0;while(1){ub=f[sb+4>>2]|0;f[qb+(tb<<2)>>2]=f[sb>>2];f[qb+((tb|1)<<2)>>2]=ub;ub=f[sb+12>>2]|0;f[qb+((tb|2)<<2)>>2]=f[sb+8>>2];f[qb+((tb|3)<<2)>>2]=ub;tb=tb+4|0;if((tb|0)>=(ob|0))break;else sb=sb+$a|0}}rb=rb+1|0;if((rb|0)==(bb|0)){fb=eb;gb=$;hb=db;ib=bb;break}else{pb=pb+i|0;qb=qb+eb|0}}break}case 8:{qb=_a;pb=sa;rb=0;while(1){if(jb){ob=qb;sb=0;while(1){tb=f[ob+4>>2]|0;f[pb+(sb<<2)>>2]=f[ob>>2];f[pb+((sb|1)<<2)>>2]=tb;sb=sb+2|0;if((sb|0)>=(nb|0))break;else ob=ob+$a|0}}rb=rb+1|0;if((rb|0)==(bb|0)){fb=eb;gb=$;hb=db;ib=bb;break}else{qb=qb+i|0;pb=pb+eb|0}}break}default:{fb=eb;gb=sa;hb=db;ib=bb;break b}}}else{fb=$a;gb=_a;hb=bb;ib=db}while(0);c:do if(Wa){db=L?cb:Va;bb=L?Va:cb;_a=X(db,i)|0;$a=X(db,G)|0;if(!bb){vb=_a;wb=N;break}db=$a+-4|0;if(($a|0)<4){pb=($a|0)>0;qb=N;rb=ab;nb=bb;while(1){nb=nb+-1|0;if(pb){jb=0;do{f[qb+(jb<<2)>>2]=f[rb+(jb<<2)>>2];jb=jb+1|0}while((jb|0)!=($a|0))}if(!nb){vb=_a;wb=N;break c}else{qb=qb+_a|0;rb=rb+Aa|0}}}rb=$a&-4;qb=(rb|0)<($a|0);nb=N;pb=ab;eb=bb;while(1){jb=0;do{ob=jb|1;sb=f[pb+(ob<<2)>>2]|0;f[nb+(jb<<2)>>2]=f[pb+(jb<<2)>>2];f[nb+(ob<<2)>>2]=sb;sb=jb|2;ob=jb|3;tb=f[pb+(ob<<2)>>2]|0;f[nb+(sb<<2)>>2]=f[pb+(sb<<2)>>2];f[nb+(ob<<2)>>2]=tb;jb=jb+4|0}while((jb|0)<=(db|0));eb=eb+-1|0;if(qb){jb=rb;do{f[nb+(jb<<2)>>2]=f[pb+(jb<<2)>>2];jb=jb+1|0}while((jb|0)!=($a|0))}if(!eb){vb=_a;wb=N;break}else{nb=nb+_a|0;pb=pb+Aa|0}}}else{vb=Aa;wb=ab}while(0);if(ca){f[r>>2]=hb;f[oa>>2]=ib;f[s>>2]=Va;f[P>>2]=Ma;ri[wa&127](gb,fb,wb,vb,Xa,Sa,r,s,Za)}else{f[t>>2]=hb;f[ha>>2]=ib;f[v>>2]=Va;f[ra>>2]=Ma;vi[xa&7](gb,fb,wb,vb,Ta,ua,Xa,Sa,t,v,d,g,Za)}ab=Za|16;Ya=cb+Ya|0;if((B|0)<=(Ya|0)){xb=ab;break}else Za=ab}}else xb=Ua;if(ca){Za=(f[W>>2]|0)+(X(f[f[Z>>2]>>2]|0,na)|0)+Ra|0;Ya=f[E>>2]|0;f[w>>2]=Va;f[da>>2]=Ma;oi[va&7](Ta,ua,Xa,Sa,Za,Ya,w,d,g,xb)}Oa=Va+Oa|0;if((D|0)<=(Oa|0)){yb=xb;break}else Pa=xb}}else yb=Ka;na=Ma+na|0;if((C|0)<=(na|0))break;else Ka=yb}}}while(0);if((V|0)==81){V=f[a+16>>2]|0;yb=f[a+48>>2]|0;a=f[c+16>>2]|0;c=f[h+16>>2]|0;Ma=f[h+48>>2]|0;f[o>>2]=y;f[o+4>>2]=z;f[q>>2]=D;f[q+4>>2]=C;vi[xa&7](V,yb,a,Aa,ma,ua,c,Ma,o,q,d,g,za)}za=f[l>>2]|0;if((za|0)!=(I|0)){if(za|0)HQa(za);f[l>>2]=I;f[F>>2]=1032}}if(!(f[k+4>>2]|0)){u=j;return}u=j;return}function mC(a,b,c,d,e,g,h,i,j,k,l,m,n){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=+l;m=+m;n=n|0;var o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0.0,U=0.0,V=0,W=0.0,Y=0,Z=0.0,_=0.0,$=0,aa=0.0,ba=0.0,ca=0,da=0,ea=0,fa=0,ga=0.0,ha=0.0,ia=0,ja=0,ka=0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0,ra=0.0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0.0,ya=0.0,za=0,Aa=0,Ba=0.0,Ca=0.0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0;o=u;u=u+2192|0;q=o+1096|0;r=o;s=f[j>>2]|0;t=f[j+4>>2]|0;j=f[k>>2]|0;v=f[k+4>>2]|0;k=q+8|0;f[q>>2]=k;w=q+4|0;f[w>>2]=136;x=b>>>3;y=d>>>3;z=g>>>3;g=i>>>3;i=(e|0)==0;A=(n&4|0)==0;B=i?0:A?z:1;C=i?0:A?1:z;if(n&1)if(b>>>0>15&(t|0)>1){f[w>>2]=t;if(t>>>0>136){z=FQa(t>>>0>536870911?-1:t<<3)|0;f[q>>2]=z;D=x;E=1;F=z;G=t;H=43}else{D=x;E=1;F=k;G=t;H=43}}else{I=x;J=1;K=t;H=5}else{I=1;J=x;K=s;H=5}if((H|0)==5)if((K|0)==1){s=r+8|0;f[r>>2]=s;z=r+4|0;f[z>>2]=136;if(b>>>0>15&(t|0)>1){f[w>>2]=v;if(v>>>0>136){t=FQa(v>>>0>536870911?-1:v<<3)|0;f[q>>2]=t;L=t}else L=k;if((v|0)>0){t=0;do{b=a+((X(t,x)|0)<<3)|0;p[L+(t<<3)>>3]=+p[b>>3];t=t+1|0}while((t|0)!=(v|0));M=L}else M=L}else M=a;if(d>>>0>15){f[z>>2]=j;if(j>>>0>136){d=FQa(j>>>0>536870911?-1:j<<3)|0;f[r>>2]=d;N=d}else N=s;if((j|0)>0){d=0;do{L=c+((X(d,y)|0)<<3)|0;p[N+(d<<3)>>3]=+p[L>>3];d=d+1|0}while((d|0)!=(j|0));O=N;P=N}else{O=N;P=N}}else{O=c;P=s}a:do if((v|0)>0){N=C<<1;if((j|0)<2){if((j|0)==1){Q=h;R=0;S=e}else break;while(1){T=+p[M+(R<<3)>>3]*l*+p[O>>3];if(!S)U=T;else U=T+ +p[S>>3]*m;p[Q>>3]=U;R=R+1|0;if((R|0)==(v|0))break a;else{Q=Q+(g<<3)|0;S=S+(B<<3)|0}}}d=j+-2|0;L=(d|0)>1?d:1;t=X(L>>>1,N)|0;x=(L&2147483646)+2|0;if((x|0)>=(j|0)){L=h;b=0;A=e;while(1){T=+p[M+(b<<3)>>3]*l;i=A;V=0;while(1){W=T*+p[O+(V<<3)>>3];Y=V|1;Z=T*+p[O+(Y<<3)>>3];if(!i){p[L+(V<<3)>>3]=W;_=Z}else{p[L+(V<<3)>>3]=W+ +p[i>>3]*m;_=Z+ +p[i+(C<<3)>>3]*m}p[L+(Y<<3)>>3]=_;V=V+2|0;if((V|0)>(d|0))break;else i=i+(N<<3)|0}b=b+1|0;if((b|0)==(v|0))break a;else{L=L+(g<<3)|0;A=A+(B<<3)|0}}}A=h;L=0;b=e;i=e+(N<<3)|0;while(1){T=+p[M+(L<<3)>>3]*l;V=b;Y=0;while(1){Z=T*+p[O+(Y<<3)>>3];$=Y|1;W=T*+p[O+($<<3)>>3];if(!V){p[A+(Y<<3)>>3]=Z;aa=W}else{p[A+(Y<<3)>>3]=Z+ +p[V>>3]*m;aa=W+ +p[V+(C<<3)>>3]*m}p[A+($<<3)>>3]=aa;Y=Y+2|0;if((Y|0)>(d|0))break;else V=V+(N<<3)|0}V=i+(t<<3)|0;Y=x;while(1){W=T*+p[O+(Y<<3)>>3];if(!V)ba=W;else ba=W+ +p[V>>3]*m;p[A+(Y<<3)>>3]=ba;Y=Y+1|0;if((Y|0)==(j|0))break;else V=V+(C<<3)|0}L=L+1|0;if((L|0)==(v|0))break;else{A=A+(g<<3)|0;b=b+(B<<3)|0;i=i+(B<<3)|0}}}while(0);if((P|0)!=(s|0)){HQa(P);f[r>>2]=s;f[z>>2]=136}}else{D=I;E=J;F=0;G=K;H=43}b:do if((H|0)==43){if(n&2|0){if((v|0)<=0)break;K=(F|0)==0;J=(j|0)>0;I=G+-4|0;z=(G|0)<4;s=G&-4;P=K|(G|0)<1;O=(G|0)>0;M=(s|0)<(G|0);ba=l*0.0;S=a;Q=h;R=0;i=e;while(1){if(P)ca=K?S:F;else{b=0;do{A=S+((X(b,D)|0)<<3)|0;p[F+(b<<3)>>3]=+p[A>>3];b=b+1|0}while((b|0)!=(G|0));ca=F}c:do if(J){if(z){if(O){da=c;ea=i;fa=0}else{b=i;A=0;while(1){if(!b)ga=ba;else ga=ba+ +p[b>>3]*m;p[Q+(A<<3)>>3]=ga;A=A+1|0;if((A|0)==(j|0))break c;else b=b+(C<<3)|0}}while(1){aa=0.0;b=0;do{aa=aa+ +p[ca+(b<<3)>>3]*+p[da+(b<<3)>>3];b=b+1|0}while((b|0)!=(G|0));_=(aa+0.0)*l;if(!ea)ha=_;else ha=_+ +p[ea>>3]*m;p[Q+(fa<<3)>>3]=ha;fa=fa+1|0;if((fa|0)==(j|0))break c;else{da=da+(y<<3)|0;ea=ea+(C<<3)|0}}}if(M){ia=c;ja=i;ka=0}else{b=c;A=i;L=0;while(1){_=0.0;U=0.0;T=0.0;W=0.0;x=0;do{W=W+ +p[ca+(x<<3)>>3]*+p[b+(x<<3)>>3];t=x|1;T=T+ +p[ca+(t<<3)>>3]*+p[b+(t<<3)>>3];t=x|2;U=U+ +p[ca+(t<<3)>>3]*+p[b+(t<<3)>>3];t=x|3;_=_+ +p[ca+(t<<3)>>3]*+p[b+(t<<3)>>3];x=x+4|0}while((x|0)<=(I|0));aa=(_+(U+(T+W)))*l;if(!A)la=aa;else la=aa+ +p[A>>3]*m;p[Q+(L<<3)>>3]=la;L=L+1|0;if((L|0)==(j|0))break c;else{b=b+(y<<3)|0;A=A+(C<<3)|0}}}while(1){aa=0.0;Z=0.0;ma=0.0;na=0.0;A=0;while(1){oa=na+ +p[ca+(A<<3)>>3]*+p[ia+(A<<3)>>3];b=A|1;ma=ma+ +p[ca+(b<<3)>>3]*+p[ia+(b<<3)>>3];b=A|2;Z=Z+ +p[ca+(b<<3)>>3]*+p[ia+(b<<3)>>3];b=A|3;aa=aa+ +p[ca+(b<<3)>>3]*+p[ia+(b<<3)>>3];A=A+4|0;if((A|0)>(I|0)){pa=oa;qa=s;break}else na=oa}do{pa=pa+ +p[ca+(qa<<3)>>3]*+p[ia+(qa<<3)>>3];qa=qa+1|0}while((qa|0)!=(G|0));na=(aa+(Z+(ma+pa)))*l;if(!ja)ra=na;else ra=na+ +p[ja>>3]*m;p[Q+(ka<<3)>>3]=ra;ka=ka+1|0;if((ka|0)==(j|0))break;else{ia=ia+(y<<3)|0;ja=ja+(C<<3)|0}}}while(0);R=R+1|0;if((R|0)==(v|0))break b;else{S=S+(E<<3)|0;Q=Q+(g<<3)|0;i=i+(B<<3)|0}}}i=j<<3;if(i>>>0<1601){if((v|0)<=0)break;Q=(F|0)==0;S=j+-4|0;R=(j|0)<4;s=(G|0)>0;I=C<<2;M=C<<1;O=C*3|0;z=j&-4;J=Q|(G|0)<1;ba=l*0.0;K=a;P=h;A=0;b=e;L=e+(X((S>>>2<<5)+32|0,C)|0)|0;while(1){if(J)sa=Q?K:F;else{x=0;do{t=K+((X(x,D)|0)<<3)|0;p[F+(x<<3)>>3]=+p[t>>3];x=x+1|0}while((x|0)!=(G|0));sa=F}d:do if(R){ta=b;ua=0}else{if(s){va=b;wa=0}else{x=b;t=0;while(1){if(!x){p[P+(t<<3)>>3]=ba;p[P+((t|1)<<3)>>3]=ba;p[P+((t|2)<<3)>>3]=ba;xa=ba}else{p[P+(t<<3)>>3]=ba+ +p[x>>3]*m;p[P+((t|1)<<3)>>3]=ba+ +p[x+(C<<3)>>3]*m;p[P+((t|2)<<3)>>3]=ba+ +p[x+(M<<3)>>3]*m;xa=ba+ +p[x+(O<<3)>>3]*m}p[P+((t|3)<<3)>>3]=xa;t=t+4|0;if((t|0)>(S|0)){ta=L;ua=z;break d}else x=x+(I<<3)|0}}while(1){na=0.0;W=0.0;T=0.0;U=0.0;x=c+(wa<<3)|0;t=0;while(1){_=+p[sa+(t<<3)>>3];U=U+_*+p[x>>3];T=T+_*+p[x+8>>3];W=W+_*+p[x+16>>3];na=na+_*+p[x+24>>3];t=t+1|0;if((t|0)==(G|0))break;else x=x+(y<<3)|0}ma=U*l;if(!va){p[P+(wa<<3)>>3]=ma;p[P+((wa|1)<<3)>>3]=T*l;p[P+((wa|2)<<3)>>3]=W*l;ya=na*l}else{p[P+(wa<<3)>>3]=ma+ +p[va>>3]*m;p[P+((wa|1)<<3)>>3]=T*l+ +p[va+(C<<3)>>3]*m;p[P+((wa|2)<<3)>>3]=W*l+ +p[va+(M<<3)>>3]*m;ya=na*l+ +p[va+(O<<3)>>3]*m}p[P+((wa|3)<<3)>>3]=ya;wa=wa+4|0;if((wa|0)>(S|0)){ta=L;ua=z;break}else va=va+(I<<3)|0}}while(0);e:do if((ua|0)<(j|0)){if(s){za=ta;Aa=ua}else{x=ta;t=ua;while(1){if(!x)Ba=ba;else Ba=ba+ +p[x>>3]*m;p[P+(t<<3)>>3]=Ba;t=t+1|0;if((t|0)==(j|0))break e;else x=x+(C<<3)|0}}while(1){ma=0.0;x=c+(Aa<<3)|0;t=0;while(1){ma=ma+ +p[sa+(t<<3)>>3]*+p[x>>3];t=t+1|0;if((t|0)==(G|0))break;else x=x+(y<<3)|0}na=ma*l;if(!za)Ca=na;else Ca=na+ +p[za>>3]*m;p[P+(Aa<<3)>>3]=Ca;Aa=Aa+1|0;if((Aa|0)==(j|0))break;else za=za+(C<<3)|0}}while(0);A=A+1|0;if((A|0)==(v|0))break b;else{K=K+(E<<3)|0;P=P+(g<<3)|0;b=b+(B<<3)|0;L=L+(B<<3)|0}}}L=r+8|0;f[r>>2]=L;b=r+4|0;f[b>>2]=j;if(j>>>0>136){P=FQa(j>>>0>536870911?-1:j<<3)|0;f[r>>2]=P;Da=P}else Da=L;if((v|0)>0){P=(F|0)==0;K=(j|0)>0;A=(G|0)>0;s=j+-4|0;I=(j|0)<4;z=j&-4;S=P|(G|0)<1;O=(z|0)<(j|0);M=a;R=h;Q=0;J=e;while(1){if(S)Ea=P?M:F;else{x=0;do{t=M+((X(x,D)|0)<<3)|0;p[F+(x<<3)>>3]=+p[t>>3];x=x+1|0}while((x|0)!=(G|0));Ea=F}if(K)FVa(Da|0,0,i|0)|0;f:do if(A){if(I){if(K){Fa=c;Ga=0}else break;while(1){ba=+p[Ea+(Ga<<3)>>3];x=0;do{t=Da+(x<<3)|0;p[t>>3]=+p[t>>3]+ba*+p[Fa+(x<<3)>>3];x=x+1|0}while((x|0)!=(j|0));Ga=Ga+1|0;if((Ga|0)==(G|0))break f;else Fa=Fa+(y<<3)|0}}if(O){Ha=c;Ia=0}else{x=c;t=0;while(1){ba=+p[Ea+(t<<3)>>3];N=0;do{d=Da+(N<<3)|0;V=N|1;Y=Da+(V<<3)|0;ma=+p[Y>>3]+ba*+p[x+(V<<3)>>3];p[d>>3]=+p[d>>3]+ba*+p[x+(N<<3)>>3];p[Y>>3]=ma;Y=N|2;d=Da+(Y<<3)|0;V=N|3;$=Da+(V<<3)|0;ma=+p[$>>3]+ba*+p[x+(V<<3)>>3];p[d>>3]=+p[d>>3]+ba*+p[x+(Y<<3)>>3];p[$>>3]=ma;N=N+4|0}while((N|0)<=(s|0));t=t+1|0;if((t|0)==(G|0))break f;else x=x+(y<<3)|0}}while(1){ba=+p[Ea+(Ia<<3)>>3];x=0;do{t=Da+(x<<3)|0;N=x|1;$=Da+(N<<3)|0;ma=+p[$>>3]+ba*+p[Ha+(N<<3)>>3];p[t>>3]=+p[t>>3]+ba*+p[Ha+(x<<3)>>3];p[$>>3]=ma;$=x|2;t=Da+($<<3)|0;N=x|3;Y=Da+(N<<3)|0;ma=+p[Y>>3]+ba*+p[Ha+(N<<3)>>3];p[t>>3]=+p[t>>3]+ba*+p[Ha+($<<3)>>3];p[Y>>3]=ma;x=x+4|0}while((x|0)<=(s|0));Ja=z;do{x=Da+(Ja<<3)|0;p[x>>3]=+p[x>>3]+ba*+p[Ha+(Ja<<3)>>3];Ja=Ja+1|0}while((Ja|0)!=(j|0));Ia=Ia+1|0;if((Ia|0)==(G|0))break;else Ha=Ha+(y<<3)|0}}while(0);if(!J){if(K){x=0;do{p[R+(x<<3)>>3]=+p[Da+(x<<3)>>3]*l;x=x+1|0}while((x|0)!=(j|0))}}else if(K){x=0;Y=J;while(1){p[R+(x<<3)>>3]=+p[Da+(x<<3)>>3]*l+ +p[Y>>3]*m;x=x+1|0;if((x|0)==(j|0))break;else Y=Y+(C<<3)|0}}Q=Q+1|0;if((Q|0)==(v|0))break;else{M=M+(E<<3)|0;R=R+(g<<3)|0;J=J+(B<<3)|0}}}if((Da|0)!=(L|0)){HQa(Da);f[r>>2]=L;f[b>>2]=136}}while(0);r=f[q>>2]|0;if((r|0)==(k|0)){u=o;return}if(r|0)HQa(r);f[q>>2]=k;f[w>>2]=136;u=o;return}function nC(a,b,c,d,e,g,h,i,j,k,l,m,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=+l;m=+m;o=o|0;var q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0.0,S=0,T=0,U=0,V=0,W=0.0,Y=0.0,Z=0.0,_=0.0,$=0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0,ha=0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0.0,ta=0.0,ua=0.0,va=0.0,wa=0.0,xa=0.0,ya=0.0,za=0.0,Aa=0.0,Ba=0.0,Ca=0,Da=0,Ea=0,Fa=0.0,Ga=0.0,Ha=0.0,Ia=0.0,Ja=0.0,Ka=0.0,La=0.0,Ma=0.0,Na=0.0,Oa=0.0,Pa=0.0,Qa=0,Ra=0,Sa=0.0,Ta=0.0,Ua=0.0,Va=0.0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0;q=u;u=u+2256|0;r=q+1160|0;s=q;t=f[j>>2]|0;v=f[j+4>>2]|0;j=f[k>>2]|0;w=f[k+4>>2]|0;k=r+8|0;FVa(k|0,0,1088)|0;f[r>>2]=k;x=r+4|0;f[x>>2]=136;y=b>>>3;z=d>>>3;A=g>>>3;g=i>>>3;i=(e|0)==0;B=(o&4|0)==0;C=i?0:B?A:1;D=i?0:B?1:A;if(o&1)if(b>>>0>15&(v|0)>1){f[x>>2]=v;if(v>>>0>136){A=FQa(v>>>0>536870911?-1:v<<3)|0;FVa(A|0,0,v<<3|0)|0;f[r>>2]=A;E=y;F=1;G=A;H=v;I=33}else{E=y;F=1;G=k;H=v;I=33}}else{J=y;K=1;L=v;I=5}else{J=1;K=y;L=t;I=5}if((I|0)==5)if((L|0)==1){t=s+8|0;FVa(t|0,0,1088)|0;f[s>>2]=t;A=s+4|0;f[A>>2]=136;if(b>>>0>15&(v|0)>1){f[x>>2]=w;if(w>>>0>136){v=FQa(w>>>0>536870911?-1:w<<3)|0;FVa(v|0,0,w<<3|0)|0;f[r>>2]=v;M=v}else M=k;if((w|0)>0){v=0;do{b=a+((X(v,y)|0)<<3)|0;B=f[b+4>>2]|0;i=M+(v<<3)|0;f[i>>2]=f[b>>2];f[i+4>>2]=B;v=v+1|0}while((v|0)!=(w|0));N=M}else N=M}else N=a;if(d>>>0>15){f[A>>2]=j;if(j>>>0>136){d=FQa(j>>>0>536870911?-1:j<<3)|0;FVa(d|0,0,j<<3|0)|0;f[s>>2]=d;O=d}else O=t;if((j|0)>0){d=0;do{M=c+((X(d,z)|0)<<3)|0;v=f[M+4>>2]|0;y=O+(d<<3)|0;f[y>>2]=f[M>>2];f[y+4>>2]=v;d=d+1|0}while((d|0)<(j|0));P=O}else P=O}else P=c;if((w|0)>0){O=D<<1;d=(j|0)<2;v=j+-2|0;y=j&-2;M=e;B=0;i=h;b=e+(X(D,(v>>>1<<4)+16|0)|0)|0;while(1){Q=+n[N+(B<<3)>>2]*l;R=+n[N+(B<<3)+4>>2]*l;if(d){S=M;T=0}else{U=M;V=0;while(1){W=+n[P+(V<<3)>>2];Y=+n[P+(V<<3)+4>>2];Z=Q*W-R*Y;_=R*W+Q*Y;$=V|1;Y=+n[P+($<<3)>>2];W=+n[P+($<<3)+4>>2];aa=Q*Y-R*W;ba=R*Y+Q*W;if(!U){n[i+(V<<3)>>2]=Z;n[i+(V<<3)+4>>2]=_;ca=ba;da=aa}else{W=_+ +n[U+4>>2]*m;n[i+(V<<3)>>2]=Z+ +n[U>>2]*m;n[i+(V<<3)+4>>2]=W;ca=ba+ +n[U+(D<<3)+4>>2]*m;da=aa+ +n[U+(D<<3)>>2]*m}n[i+($<<3)>>2]=da;n[i+($<<3)+4>>2]=ca;V=V+2|0;if((V|0)>(v|0)){S=b;T=y;break}else U=U+(O<<3)|0}}if((T|0)<(j|0)){U=S;V=T;while(1){aa=+n[P+(V<<3)>>2];ba=+n[P+(V<<3)+4>>2];W=Q*aa-R*ba;Z=R*aa+Q*ba;if(!U){ea=W;fa=Z}else{ea=W+ +n[U>>2]*m;fa=Z+ +n[U+4>>2]*m}n[i+(V<<3)>>2]=ea;n[i+(V<<3)+4>>2]=fa;V=V+1|0;if((V|0)==(j|0))break;else U=U+(D<<3)|0}}B=B+1|0;if((B|0)==(w|0))break;else{M=M+(C<<3)|0;i=i+(g<<3)|0;b=b+(C<<3)|0}}}b=f[s>>2]|0;if((b|0)!=(t|0)){if(b|0)HQa(b);f[s>>2]=t;f[A>>2]=136}}else{E=J;F=K;G=0;H=L;I=33}a:do if((I|0)==33){if(o&2|0){if((w|0)<=0)break;L=(G|0)==0;K=H+-4|0;J=(H|0)<4;A=H&-4;t=L|(H|0)<1;b=(j|0)>0;i=a;M=e;B=0;P=h;while(1){if(t)ga=L?i:G;else{T=0;do{S=i+((X(T,E)|0)<<3)|0;O=f[S+4>>2]|0;y=G+(T<<3)|0;f[y>>2]=f[S>>2];f[y+4>>2]=O;T=T+1|0}while((T|0)!=(H|0));ga=G}if(b){T=c;O=M;y=0;while(1){if(J){ha=0;ia=0.0;ja=0.0;ka=0.0;la=0.0;ma=0.0;na=0.0;oa=0.0;pa=0.0}else{S=0;fa=0.0;ea=0.0;ca=0.0;da=0.0;Q=0.0;R=0.0;Z=0.0;W=0.0;while(1){ba=+n[ga+(S<<3)>>2];aa=+n[ga+(S<<3)+4>>2];_=+n[T+(S<<3)>>2];Y=+n[T+(S<<3)+4>>2];qa=da+(ba*_-aa*Y);ra=Q+(aa*_+ba*Y);v=S|1;Y=+n[ga+(v<<3)>>2];ba=+n[ga+(v<<3)+4>>2];_=+n[T+(v<<3)>>2];aa=+n[T+(v<<3)+4>>2];sa=ca+(Y*_-ba*aa);ta=W+(ba*_+Y*aa);v=S|2;aa=+n[ga+(v<<3)>>2];Y=+n[ga+(v<<3)+4>>2];_=+n[T+(v<<3)>>2];ba=+n[T+(v<<3)+4>>2];ua=ea+(aa*_-Y*ba);va=Z+(Y*_+aa*ba);v=S|3;ba=+n[ga+(v<<3)>>2];aa=+n[ga+(v<<3)+4>>2];_=+n[T+(v<<3)>>2];Y=+n[T+(v<<3)+4>>2];wa=fa+(ba*_-aa*Y);xa=R+(aa*_+ba*Y);S=S+4|0;if((S|0)>(K|0)){ha=A;ia=wa;ja=ua;ka=sa;la=qa;ma=ra;na=xa;oa=va;pa=ta;break}else{fa=wa;ea=ua;ca=sa;da=qa;Q=ra;R=xa;Z=va;W=ta}}}if((ha|0)<(H|0)){S=ha;W=la;Z=ma;while(1){R=+n[ga+(S<<3)>>2];Q=+n[ga+(S<<3)+4>>2];da=+n[T+(S<<3)>>2];ca=+n[T+(S<<3)+4>>2];ea=W+(R*da-Q*ca);fa=Z+(Q*da+R*ca);S=S+1|0;if((S|0)==(H|0)){ya=ea;za=fa;break}else{W=ea;Z=fa}}}else{ya=la;za=ma}Z=(ia+(ja+(ka+ya)))*l;W=(na+(oa+(pa+za)))*l;if(!O){Aa=W;Ba=Z}else{Aa=W+ +n[O+4>>2]*m;Ba=Z+ +n[O>>2]*m}n[P+(y<<3)>>2]=Ba;n[P+(y<<3)+4>>2]=Aa;y=y+1|0;if((y|0)==(j|0))break;else{T=T+(z<<3)|0;O=O+(D<<3)|0}}}B=B+1|0;if((B|0)==(w|0))break a;else{i=i+(F<<3)|0;M=M+(C<<3)|0;P=P+(g<<3)|0}}}if(j<<3>>>0<1601){if((w|0)<=0)break;P=(G|0)==0;M=j+-4|0;i=(j|0)<4;B=(H|0)>0;A=D<<2;K=D<<1;J=D*3|0;b=j&-4;L=P|(H|0)<1;Z=l*0.0;t=a;O=e;T=0;y=h;S=e+(X((M>>>2<<5)+32|0,D)|0)|0;while(1){if(L)Ca=P?t:G;else{v=0;do{d=t+((X(v,E)|0)<<3)|0;N=f[d+4>>2]|0;U=G+(v<<3)|0;f[U>>2]=f[d>>2];f[U+4>>2]=N;v=v+1|0}while((v|0)!=(H|0));Ca=G}if(i){Da=O;Ea=0}else{v=O;N=0;while(1){if(B){U=c+(N<<3)|0;d=0;W=0.0;fa=0.0;ea=0.0;ca=0.0;R=0.0;da=0.0;Q=0.0;ta=0.0;while(1){va=+n[Ca+(d<<3)>>2];xa=+n[Ca+(d<<3)+4>>2];ra=+n[U>>2];qa=+n[U+4>>2];sa=ca+(va*ra-xa*qa);ua=ta+(xa*ra+va*qa);qa=+n[U+8>>2];ra=+n[U+12>>2];wa=ea+(va*qa-xa*ra);Y=Q+(xa*qa+va*ra);ra=+n[U+16>>2];qa=+n[U+20>>2];ba=fa+(va*ra-xa*qa);_=da+(xa*ra+va*qa);qa=+n[U+24>>2];ra=+n[U+28>>2];aa=W+(va*qa-xa*ra);Fa=R+(xa*qa+va*ra);d=d+1|0;if((d|0)==(H|0)){Ga=aa;Ha=ba;Ia=wa;Ja=sa;Ka=Fa;La=_;Ma=Y;Na=ua;break}else{U=U+(z<<3)|0;W=aa;fa=ba;ea=wa;ca=sa;R=Fa;da=_;Q=Y;ta=ua}}}else{Ga=0.0;Ha=0.0;Ia=0.0;Ja=0.0;Ka=0.0;La=0.0;Ma=0.0;Na=0.0}ta=Ja*l;Q=Na*l;if(!v){n[y+(N<<3)>>2]=ta;n[y+(N<<3)+4>>2]=Q;U=N|1;n[y+(U<<3)>>2]=Ia*l;n[y+(U<<3)+4>>2]=Ma*l;U=N|2;n[y+(U<<3)>>2]=Ha*l;n[y+(U<<3)+4>>2]=La*l;Oa=Ka*l;Pa=Ga*l}else{da=Q+ +n[v+4>>2]*m;n[y+(N<<3)>>2]=ta+ +n[v>>2]*m;n[y+(N<<3)+4>>2]=da;da=Ma*l+ +n[v+(D<<3)+4>>2]*m;U=N|1;n[y+(U<<3)>>2]=Ia*l+ +n[v+(D<<3)>>2]*m;n[y+(U<<3)+4>>2]=da;da=La*l+ +n[v+(K<<3)+4>>2]*m;U=N|2;n[y+(U<<3)>>2]=Ha*l+ +n[v+(K<<3)>>2]*m;n[y+(U<<3)+4>>2]=da;Oa=Ka*l+ +n[v+(J<<3)+4>>2]*m;Pa=Ga*l+ +n[v+(J<<3)>>2]*m}U=N|3;n[y+(U<<3)>>2]=Pa;n[y+(U<<3)+4>>2]=Oa;N=N+4|0;if((N|0)>(M|0)){Da=S;Ea=b;break}else v=v+(A<<3)|0}}b:do if((Ea|0)<(j|0)){if(B){Qa=Da;Ra=Ea}else{v=Da;N=Ea;while(1){if(!v){Sa=Z;Ta=Z}else{Sa=Z+ +n[v+4>>2]*m;Ta=Z+ +n[v>>2]*m}n[y+(N<<3)>>2]=Ta;n[y+(N<<3)+4>>2]=Sa;N=N+1|0;if((N|0)==(j|0))break b;else v=v+(D<<3)|0}}while(1){v=c+(Ra<<3)|0;N=0;da=0.0;ta=0.0;while(1){Q=+n[Ca+(N<<3)>>2];R=+n[Ca+(N<<3)+4>>2];ca=+n[v>>2];ea=+n[v+4>>2];da=da+(Q*ca-R*ea);ta=ta+(R*ca+Q*ea);N=N+1|0;if((N|0)==(H|0))break;else v=v+(z<<3)|0}ea=da*l;Q=ta*l;if(!Qa){Ua=Q;Va=ea}else{Ua=Q+ +n[Qa+4>>2]*m;Va=ea+ +n[Qa>>2]*m}n[y+(Ra<<3)>>2]=Va;n[y+(Ra<<3)+4>>2]=Ua;Ra=Ra+1|0;if((Ra|0)==(j|0))break;else Qa=Qa+(D<<3)|0}}while(0);T=T+1|0;if((T|0)==(w|0))break a;else{t=t+(F<<3)|0;O=O+(C<<3)|0;y=y+(g<<3)|0;S=S+(C<<3)|0}}}S=s+8|0;FVa(S|0,0,1152)|0;f[s>>2]=S;y=s+4|0;f[y>>2]=j;if(j>>>0>72){O=FQa(j>>>0>268435455?-1:j<<4)|0;FVa(O|0,0,j<<4|0)|0;f[s>>2]=O;Wa=O}else Wa=S;if((w|0)>0){O=(G|0)==0;t=(j|0)>0;T=(H|0)>0;B=j+-4|0;A=(j|0)<4;b=j<<4;M=j&-4;J=O|(H|0)<1;K=a;i=e;P=0;L=h;while(1){if(J)Xa=O?K:G;else{v=0;do{N=K+((X(v,E)|0)<<3)|0;U=f[N+4>>2]|0;d=G+(v<<3)|0;f[d>>2]=f[N>>2];f[d+4>>2]=U;v=v+1|0}while((v|0)!=(H|0));Xa=G}if(t)FVa(Wa|0,0,b|0)|0;if(T){v=c;U=0;while(1){Z=+n[Xa+(U<<3)>>2];ea=+n[Xa+(U<<3)+4>>2];if(A)Ya=0;else{d=0;do{Q=+n[v+(d<<3)>>2];ca=+n[v+(d<<3)+4>>2];N=Wa+(d<<4)|0;V=Wa+(d<<4)+8|0;R=+p[V>>3]+(ea*Q+Z*ca);$=d|1;fa=+n[v+($<<3)>>2];W=+n[v+($<<3)+4>>2];Za=Wa+($<<4)|0;_a=Wa+($<<4)+8|0;ua=+p[Za>>3]+(Z*fa-ea*W);Y=+p[_a>>3]+(ea*fa+Z*W);p[N>>3]=+p[N>>3]+(Z*Q-ea*ca);p[V>>3]=R;p[Za>>3]=ua;p[_a>>3]=Y;_a=d|2;Y=+n[v+(_a<<3)>>2];ua=+n[v+(_a<<3)+4>>2];Za=Wa+(_a<<4)|0;V=Wa+(_a<<4)+8|0;R=+p[V>>3]+(ea*Y+Z*ua);_a=d|3;ca=+n[v+(_a<<3)>>2];Q=+n[v+(_a<<3)+4>>2];N=Wa+(_a<<4)|0;$=Wa+(_a<<4)+8|0;W=+p[N>>3]+(Z*ca-ea*Q);fa=+p[$>>3]+(ea*ca+Z*Q);p[Za>>3]=+p[Za>>3]+(Z*Y-ea*ua);p[V>>3]=R;p[N>>3]=W;p[$>>3]=fa;d=d+4|0}while((d|0)<=(B|0));Ya=M}if((Ya|0)<(j|0)){d=Ya;do{fa=+n[v+(d<<3)>>2];W=+n[v+(d<<3)+4>>2];$=Wa+(d<<4)|0;p[$>>3]=+p[$>>3]+(Z*fa-ea*W);$=Wa+(d<<4)+8|0;p[$>>3]=+p[$>>3]+(ea*fa+Z*W);d=d+1|0}while((d|0)!=(j|0))}U=U+1|0;if((U|0)==(H|0))break;else v=v+(z<<3)|0}}if(!i){if(t){v=0;do{Z=+p[Wa+(v<<4)+8>>3]*l;n[L+(v<<3)>>2]=+p[Wa+(v<<4)>>3]*l;n[L+(v<<3)+4>>2]=Z;v=v+1|0}while((v|0)!=(j|0))}}else if(t){v=0;U=i;while(1){Z=+p[Wa+(v<<4)+8>>3]*l+ +n[U+4>>2]*m;n[L+(v<<3)>>2]=+p[Wa+(v<<4)>>3]*l+ +n[U>>2]*m;n[L+(v<<3)+4>>2]=Z;v=v+1|0;if((v|0)==(j|0))break;else U=U+(D<<3)|0}}P=P+1|0;if((P|0)==(w|0))break;else{K=K+(F<<3)|0;i=i+(C<<3)|0;L=L+(g<<3)|0}}$a=f[s>>2]|0}else $a=Wa;if(($a|0)!=(S|0)){if($a|0)HQa($a);f[s>>2]=S;f[y>>2]=72}}while(0);s=f[r>>2]|0;if((s|0)==(k|0)){u=q;return}if(s|0)HQa(s);f[r>>2]=k;f[x>>2]=136;u=q;return} +function Zta(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0.0,s=0.0,t=0.0,v=0.0,w=0,x=0.0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0.0;h=u;u=u+16|0;i=h;j=(a|0)!=0;if(!(j?(f[a>>2]&-65536|0)==1112539136:0)){k=j?-5:-27;f[i>>2]=0;f[i+4>>2]=0;l=JV(i,23)|0;m=333903;o=l+23|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(o|0));EP(k,i,333927,331312,684);KV(i)}k=f[a+36>>2]|0;if(!k){f[i>>2]=0;f[i+4>>2]=0;l=JV(i,76)|0;m=333957;o=l+76|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(o|0));EP(-27,i,333927,331312,689);KV(i)}if((d|c|0)<0){q=-1;u=h;return q|0}if(((f[a+16>>2]|0)+c|0)>=(f[k+40>>2]|0)){q=-1;u=h;return q|0}if(((f[a+20>>2]|0)+d|0)>=(f[k+36>>2]|0)){q=-1;u=h;return q|0}a=(X((f[k+20>>2]|0)>>>2,d)|0)+c|0;i=(X((f[k+48>>2]|0)>>>3,d)|0)+c|0;r=+p[k+8>>3];s=r*+((f[(f[k+120>>2]|0)+(a<<2)>>2]|0)-(f[(f[k+124>>2]|0)+(a<<2)>>2]|0)-(f[(f[k+128>>2]|0)+(a<<2)>>2]|0)+(f[(f[k+132>>2]|0)+(a<<2)>>2]|0)|0);t=r*(+p[(f[k+104>>2]|0)+(i<<3)>>3]-+p[(f[k+108>>2]|0)+(i<<3)>>3]-+p[(f[k+112>>2]|0)+(i<<3)>>3]+ +p[(f[k+116>>2]|0)+(i<<3)>>3])-s*s;if(!(t>=0.0))v=1.0;else v=+L(+t);if(b[k+140>>0]|0){i=f[k+100>>2]|0;if(!i){q=1;u=h;return q|0}else w=i;a:while(1){i=w;b:while(1){p[e>>3]=0.0;c=f[i>>2]|0;if((c|0)>0){d=f[i+8>>2]|0;m=0;t=0.0;while(1){s=+_ta(d+(m*12|0)|0,v,a)+t;p[e>>3]=s;m=m+1|0;if((m|0)>=(c|0)){x=s;break}else t=s}}else x=0.0;if(!(x>=+n[i+4>>2]))y=i;else break;while(1){c=f[y+16>>2]|0;if(c|0){i=c;continue b}y=f[y+24>>2]|0;if(!y){q=0;z=46;break a}}}w=f[i+20>>2]|0;if(!w){q=1;z=46;break}}if((z|0)==46){u=h;return q|0}}w=f[k>>2]|0;y=(w|0)>(g|0);if(!(b[k+141>>0]|0)){if(!y){q=1;u=h;return q|0}c=f[k+100>>2]|0;m=g;while(1){p[e>>3]=0.0;d=f[c+(m*28|0)>>2]|0;if((d|0)>0){l=f[c+(m*28|0)+8>>2]|0;o=0;x=0.0;while(1){t=+_ta(l+(o*12|0)|0,v,a)+x;p[e>>3]=t;o=o+1|0;if((o|0)>=(d|0)){A=t;break}else x=t}}else A=0.0;if(A<+n[c+(m*28|0)+4>>2]){q=0-m|0;z=46;break}m=m+1|0;if((m|0)>=(w|0)){q=1;z=46;break}}if((z|0)==46){u=h;return q|0}}if(!y){q=1;u=h;return q|0}y=f[k+100>>2]|0;k=g;while(1){g=f[y+(k*28|0)>>2]|0;m=(g|0)>0;if(!(f[y+(k*28|0)+12>>2]|0))if(m){c=f[y+(k*28|0)+8>>2]|0;d=f[c+4>>2]|0;A=+n[d+16>>2]*+((f[(f[d>>2]|0)+(a<<2)>>2]|0)-(f[(f[d+4>>2]|0)+(a<<2)>>2]|0)-(f[(f[d+8>>2]|0)+(a<<2)>>2]|0)+(f[(f[d+12>>2]|0)+(a<<2)>>2]|0)|0)+ +n[d+36>>2]*+((f[(f[d+20>>2]|0)+(a<<2)>>2]|0)-(f[(f[d+24>>2]|0)+(a<<2)>>2]|0)-(f[(f[d+28>>2]|0)+(a<<2)>>2]|0)+(f[(f[d+32>>2]|0)+(a<<2)>>2]|0)|0);o=f[d+40>>2]|0;if(!o)B=A;else B=A+ +n[d+56>>2]*+((f[o+(a<<2)>>2]|0)-(f[(f[d+44>>2]|0)+(a<<2)>>2]|0)-(f[(f[d+48>>2]|0)+(a<<2)>>2]|0)+(f[(f[d+52>>2]|0)+(a<<2)>>2]|0)|0);A=+n[(f[c+8>>2]|0)+((B>=v*+n[d+60>>2]&1)<<2)>>2]+0.0;if((g|0)>1){d=1;x=A;while(1){o=f[c+(d*12|0)+4>>2]|0;t=+n[o+16>>2]*+((f[(f[o>>2]|0)+(a<<2)>>2]|0)-(f[(f[o+4>>2]|0)+(a<<2)>>2]|0)-(f[(f[o+8>>2]|0)+(a<<2)>>2]|0)+(f[(f[o+12>>2]|0)+(a<<2)>>2]|0)|0)+ +n[o+36>>2]*+((f[(f[o+20>>2]|0)+(a<<2)>>2]|0)-(f[(f[o+24>>2]|0)+(a<<2)>>2]|0)-(f[(f[o+28>>2]|0)+(a<<2)>>2]|0)+(f[(f[o+32>>2]|0)+(a<<2)>>2]|0)|0);l=f[o+40>>2]|0;if(!l)C=t;else C=t+ +n[o+56>>2]*+((f[l+(a<<2)>>2]|0)-(f[(f[o+44>>2]|0)+(a<<2)>>2]|0)-(f[(f[o+48>>2]|0)+(a<<2)>>2]|0)+(f[(f[o+52>>2]|0)+(a<<2)>>2]|0)|0);t=x+ +n[(f[c+(d*12|0)+8>>2]|0)+((C>=v*+n[o+60>>2]&1)<<2)>>2];d=d+1|0;if((d|0)>=(g|0)){D=t;break}else x=t}}else D=A}else D=0.0;else if(m){d=f[y+(k*28|0)+8>>2]|0;c=f[d+4>>2]|0;x=+n[(f[d+8>>2]|0)+((+n[c+16>>2]*+((f[(f[c>>2]|0)+(a<<2)>>2]|0)-(f[(f[c+4>>2]|0)+(a<<2)>>2]|0)-(f[(f[c+8>>2]|0)+(a<<2)>>2]|0)+(f[(f[c+12>>2]|0)+(a<<2)>>2]|0)|0)+ +n[c+36>>2]*+((f[(f[c+20>>2]|0)+(a<<2)>>2]|0)-(f[(f[c+24>>2]|0)+(a<<2)>>2]|0)-(f[(f[c+28>>2]|0)+(a<<2)>>2]|0)+(f[(f[c+32>>2]|0)+(a<<2)>>2]|0)|0)>=v*+n[c+60>>2]&1)<<2)>>2]+0.0;if((g|0)==1)D=x;else{c=1;t=x;while(1){o=f[d+(c*12|0)+4>>2]|0;x=t+ +n[(f[d+(c*12|0)+8>>2]|0)+((+n[o+16>>2]*+((f[(f[o>>2]|0)+(a<<2)>>2]|0)-(f[(f[o+4>>2]|0)+(a<<2)>>2]|0)-(f[(f[o+8>>2]|0)+(a<<2)>>2]|0)+(f[(f[o+12>>2]|0)+(a<<2)>>2]|0)|0)+ +n[o+36>>2]*+((f[(f[o+20>>2]|0)+(a<<2)>>2]|0)-(f[(f[o+24>>2]|0)+(a<<2)>>2]|0)-(f[(f[o+28>>2]|0)+(a<<2)>>2]|0)+(f[(f[o+32>>2]|0)+(a<<2)>>2]|0)|0)>=v*+n[o+60>>2]&1)<<2)>>2];c=c+1|0;if((c|0)>=(g|0)){D=x;break}else t=x}}}else D=0.0;if(D<+n[y+(k*28|0)+4>>2]){z=38;break}g=k+1|0;if((g|0)<(w|0))k=g;else{z=45;break}}if((z|0)==38){p[e>>3]=D;q=0-k|0;u=h;return q|0}else if((z|0)==45){p[e>>3]=D;q=1;u=h;return q|0}return 0}function _ta(a,b,c){a=a|0;b=+b;c=c|0;var d=0,e=0,g=0.0,h=0,i=0.0;d=f[a+4>>2]|0;e=0;do{g=+n[d+(e*72|0)+16>>2]*+((f[(f[d+(e*72|0)>>2]|0)+(c<<2)>>2]|0)-(f[(f[d+(e*72|0)+4>>2]|0)+(c<<2)>>2]|0)-(f[(f[d+(e*72|0)+8>>2]|0)+(c<<2)>>2]|0)+(f[(f[d+(e*72|0)+12>>2]|0)+(c<<2)>>2]|0)|0)+ +n[d+(e*72|0)+36>>2]*+((f[(f[d+(e*72|0)+20>>2]|0)+(c<<2)>>2]|0)-(f[(f[d+(e*72|0)+24>>2]|0)+(c<<2)>>2]|0)-(f[(f[d+(e*72|0)+28>>2]|0)+(c<<2)>>2]|0)+(f[(f[d+(e*72|0)+32>>2]|0)+(c<<2)>>2]|0)|0);h=f[d+(e*72|0)+40>>2]|0;if(!h)i=g;else i=g+ +n[d+(e*72|0)+56>>2]*+((f[h+(c<<2)>>2]|0)-(f[(f[d+(e*72|0)+44>>2]|0)+(c<<2)>>2]|0)-(f[(f[d+(e*72|0)+48>>2]|0)+(c<<2)>>2]|0)+(f[(f[d+(e*72|0)+52>>2]|0)+(c<<2)>>2]|0)|0);e=f[(i<+n[d+(e*72|0)+60>>2]*b?d+(e*72|0)+64|0:d+(e*72|0)+68|0)>>2]|0}while((e|0)>0);return +(+n[(f[a+8>>2]|0)+(0-e<<2)>>2])}function $ta(a,c,d,e,g,h,i,j,k,l,m){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=+h;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0.0,ka=0.0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0.0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0.0,Ub=0.0,Vb=0,Wb=0.0,Xb=0.0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0;n=u;u=u+704|0;o=n+696|0;q=n+664|0;r=n+652|0;s=n+640|0;t=n+628|0;v=n+624|0;w=n+620|0;x=n+592|0;y=n+564|0;z=n+536|0;A=n+176|0;B=n+508|0;C=n+480|0;D=n+424|0;E=n+352|0;F=n+344|0;G=n;H=n+288|0;I=n+232|0;J=n+408|0;yV(o,76584);f[r>>2]=0;K=r+4|0;f[K>>2]=0;f[r+8>>2]=0;f[s>>2]=0;L=s+4|0;f[L>>2]=0;f[s+8>>2]=0;f[t>>2]=0;M=t+4|0;f[M>>2]=0;f[t+8>>2]=0;N=(j&1|0)!=0;O=j&4;P=(O|0)!=0;Q=(j&8|0)!=0;nQ(w);R=(c|0)!=0;if(!(R?(f[c>>2]&-65536|0)==1112539136:0)){f[x>>2]=0;f[x+4>>2]=0;S=JV(x,26)|0;T=334112;U=S+26|0;do{b[S>>0]=b[T>>0]|0;S=S+1|0;T=T+1|0}while((S|0)<(U|0));EP(R?-5:-27,x,334139,331312,1238);KV(x)}if(!d){f[x>>2]=0;f[x+4>>2]=0;S=JV(x,20)|0;T=334165;U=S+20|0;do{b[S>>0]=b[T>>0]|0;S=S+1|0;T=T+1|0}while((S|0)<(U|0));EP(-27,x,334139,331312,1241);KV(x)}R=XV(a,q,v,0)|0;if(f[v>>2]|0){f[x>>2]=0;f[x+4>>2]=0;S=JV(x,20)|0;T=333376;U=S+20|0;do{b[S>>0]=b[T>>0]|0;S=S+1|0;T=T+1|0}while((S|0)<(U|0));EP(-24,x,334139,331312,1245);KV(x)}if(f[R>>2]&7|0){f[x>>2]=0;f[x+4>>2]=0;S=JV(x,31)|0;T=334186;U=S+31|0;do{b[S>>0]=b[T>>0]|0;S=S+1|0;T=T+1|0}while((S|0)<(U|0));EP(-210,x,334139,331312,1248);KV(x)}if(h<=1.0){f[x>>2]=0;f[x+4>>2]=0;S=JV(x,24)|0;T=334218;U=S+24|0;do{b[S>>0]=b[T>>0]|0;S=S+1|0;T=T+1|0}while((S|0)<(U|0));EP(-211,x,334139,331312,1251);KV(x)}T=l+4|0;S=f[T>>2]|0;if((S|0)!=0?(U=f[l>>2]|0,(U|0)!=0):0){v=R+20|0;q=R+24|0;V=q;W=v;Y=U;Z=S;_=f[v>>2]|0;$=f[q>>2]|0}else{q=R+20|0;v=f[q>>2]|0;f[T>>2]=v;S=R+24|0;U=f[S>>2]|0;f[l>>2]=U;V=S;W=q;Y=U;Z=v;_=v;$=U}U=LV(_,$,0)|0;if(!U)aa=0;else{$=EQa(16)|0;f[$+4>>2]=1;f[$>>2]=58280;f[$+8>>2]=U;aa=$}$=LV((f[W>>2]|0)+1|0,(f[V>>2]|0)+1|0,4)|0;if(!$)ba=0;else{_=EQa(16)|0;f[_+4>>2]=1;f[_>>2]=58280;f[_+8>>2]=$;ba=_}_=LV((f[W>>2]|0)+1|0,(f[V>>2]|0)+1|0,6)|0;if(!_)ca=0;else{v=EQa(16)|0;f[v+4>>2]=1;f[v>>2]=58280;f[v+8>>2]=_;ca=v}v=c+36|0;q=f[v>>2]|0;if(!q){Yta(c);da=f[v>>2]|0}else da=q;if(!(f[da+4>>2]|0)){ea=0;fa=0}else{da=LV((f[W>>2]|0)+1|0,(f[V>>2]|0)+1|0,4)|0;if(!da)ga=0;else{V=EQa(16)|0;f[V+4>>2]=1;f[V>>2]=58280;f[V+8>>2]=da;ga=V}ea=ga;fa=da}da=zM(0,56,20,d)|0;if(!(f[R>>2]&4088))ha=R;else{oba(R,U,6);ha=U}a:do if((j&6|0)==2){R=f[c+8>>2]|0;d=f[c+12>>2]|0;ga=ha+20|0;V=ha+24|0;W=LV((f[ga>>2]|0)+1|0,(f[V>>2]|0)+1|0,0)|0;if(!W)ia=0;else{q=EQa(16)|0;f[q+4>>2]=1;f[q>>2]=58280;f[q+8>>2]=W;ia=q}ja=+(R|0);ka=+(d|0);q=R+-2|0;v=d+-2|0;S=k+4|0;a=W+16|0;W=x+4|0;la=x+8|0;ma=x+12|0;na=x+16|0;oa=x+20|0;pa=x+24|0;qa=$+16|0;ra=y+4|0;sa=y+8|0;ta=y+12|0;ua=y+16|0;va=y+20|0;wa=y+24|0;xa=_+16|0;ya=z+4|0;za=z+8|0;Aa=z+12|0;Ba=z+16|0;Ca=z+20|0;Da=z+24|0;Ea=(fa|0)==0;Fa=A+4|0;Ga=A+8|0;Ha=A+12|0;Ia=A+16|0;Ja=A+20|0;Ka=A+24|0;La=U+16|0;Ma=C+4|0;Na=C+8|0;Oa=C+12|0;Pa=C+16|0;Qa=C+20|0;Ra=C+24|0;Sa=F+4|0;Ta=J+4|0;Ua=J+8|0;Va=J+12|0;Wa=I+36|0;Xa=I+16|0;Ya=I+4|0;Za=I+40|0;_a=I+44|0;$a=I+48|0;ab=H+36|0;bb=H+16|0;cb=H+4|0;db=H+40|0;eb=H+44|0;fb=H+48|0;gb=E+36|0;hb=E+16|0;ib=E+4|0;jb=E+40|0;kb=E+44|0;lb=E+48|0;mb=D+36|0;nb=D+16|0;ob=D+4|0;pb=D+40|0;qb=D+44|0;rb=D+48|0;sb=fa+16|0;tb=B+4|0;ub=B+8|0;vb=B+12|0;wb=B+16|0;xb=B+20|0;yb=B+24|0;zb=1.0;while(1){Ab=AEa(zb*ja)|0;Bb=AEa(zb*ka)|0;Cb=AEa(+(f[V>>2]|0)/zb)|0;Db=AEa(+(f[ga>>2]|0)/zb)|0;Eb=Cb-R|0;Fb=Eb+1|0;Gb=Db-d|0;Hb=Gb+1|0;if((Eb|0)<0){Ib=78;break}if((Gb|0)<0){Ib=77;break}if((Ab|0)>(f[l>>2]|0)){Ib=80;break}if((Bb|0)>(f[T>>2]|0)){Ib=79;break}do if((Ab|0)>=(f[k>>2]|0)){if((Bb|0)<(f[S>>2]|0)){Ib=75;break}Eb=f[a>>2]|0;f[x>>2]=1111638016;f[W>>2]=Cb;f[la>>2]=0;f[ma>>2]=0;f[na>>2]=Eb;f[oa>>2]=Db;f[pa>>2]=Cb;Eb=Db+1|0;Jb=Cb+1|0;Kb=f[qa>>2]|0;Lb=Jb<<2;f[y>>2]=1111638020;f[ra>>2]=Lb;f[sa>>2]=0;f[ta>>2]=0;f[ua>>2]=Kb;f[va>>2]=Eb;f[wa>>2]=Jb;Kb=f[xa>>2]|0;f[z>>2]=1111638022;f[ya>>2]=Jb<<3;f[za>>2]=0;f[Aa>>2]=0;f[Ba>>2]=Kb;f[Ca>>2]=Eb;f[Da>>2]=Jb;if(Ea)Mb=0;else{Kb=f[sb>>2]|0;f[B>>2]=1111638020;f[tb>>2]=Lb;f[ub>>2]=0;f[vb>>2]=0;f[wb>>2]=Kb;f[xb>>2]=Eb;f[yb>>2]=Jb;Mb=B}f[A>>2]=1111638021;f[Fa>>2]=Fb<<2;f[Ga>>2]=0;f[Ha>>2]=0;f[Ia>>2]=0;f[Ja>>2]=Hb;f[Ka>>2]=Fb;Jb=f[La>>2]|0;f[C>>2]=1111638016;f[Ma>>2]=Fb;f[Na>>2]=0;f[Oa>>2]=0;f[Pa>>2]=Jb;f[Qa>>2]=Hb;f[Ra>>2]=Fb;W5(ha,x,5);Hoa(x,y,z,Mb);Jb=zb>2.0?1:2;Eb=(X((Fb|0)/(Jb|0)|0,Gb+Jb|0)|0)/(Jb|0)|0;Kb=(Eb|0)<500?1:(Eb+500|0)/1e3|0;Eb=(Kb|0)<100?Kb:100;Xta(c,y,z,Mb,1.0);NY(D,A,0,1,0,0);NY(E,C,0,1,0,0);f[F>>2]=0;f[Sa>>2]=Eb;Kb=Jb+-1+((Eb+Gb|0)/(Eb|0)|0)|0;NY(H,y,0,1,0,0);NY(I,z,0,1,0,0);f[J>>2]=1;f[Ta>>2]=1;f[Ua>>2]=q;f[Va>>2]=v;aua(G,c,Kb-((Kb|0)%(Jb|0)|0)|0,zb,H,I,D,E,J,r,e,g,m,w);$Z(F,G,-1.0);bua(G);Jb=f[Wa>>2]|0;do if(Jb|0){Kb=Jb+12|0;Eb=f[Kb>>2]|0;f[Kb>>2]=Eb+-1;if((Eb|0)!=1)break;XO(I)}while(0);f[Wa>>2]=0;f[Xa>>2]=0;f[Xa+4>>2]=0;f[Xa+8>>2]=0;f[Xa+12>>2]=0;if((f[Ya>>2]|0)>0){Jb=f[Za>>2]|0;Eb=0;do{f[Jb+(Eb<<2)>>2]=0;Eb=Eb+1|0}while((Eb|0)<(f[Ya>>2]|0))}Eb=f[_a>>2]|0;if((Eb|0)!=($a|0))dX(Eb);Eb=f[ab>>2]|0;do if(Eb|0){Jb=Eb+12|0;Kb=f[Jb>>2]|0;f[Jb>>2]=Kb+-1;if((Kb|0)!=1)break;XO(H)}while(0);f[ab>>2]=0;f[bb>>2]=0;f[bb+4>>2]=0;f[bb+8>>2]=0;f[bb+12>>2]=0;if((f[cb>>2]|0)>0){Eb=f[db>>2]|0;Kb=0;do{f[Eb+(Kb<<2)>>2]=0;Kb=Kb+1|0}while((Kb|0)<(f[cb>>2]|0))}Kb=f[eb>>2]|0;if((Kb|0)!=(fb|0))dX(Kb);Kb=f[gb>>2]|0;do if(Kb|0){Eb=Kb+12|0;Jb=f[Eb>>2]|0;f[Eb>>2]=Jb+-1;if((Jb|0)!=1)break;XO(E)}while(0);f[gb>>2]=0;f[hb>>2]=0;f[hb+4>>2]=0;f[hb+8>>2]=0;f[hb+12>>2]=0;if((f[ib>>2]|0)>0){Kb=f[jb>>2]|0;Jb=0;do{f[Kb+(Jb<<2)>>2]=0;Jb=Jb+1|0}while((Jb|0)<(f[ib>>2]|0))}Jb=f[kb>>2]|0;if((Jb|0)!=(lb|0))dX(Jb);Jb=f[mb>>2]|0;do if(Jb|0){Kb=Jb+12|0;Eb=f[Kb>>2]|0;f[Kb>>2]=Eb+-1;if((Eb|0)!=1)break;XO(D)}while(0);f[mb>>2]=0;f[nb>>2]=0;f[nb+4>>2]=0;f[nb+8>>2]=0;f[nb+12>>2]=0;if((f[ob>>2]|0)>0){Jb=f[pb>>2]|0;Eb=0;do{f[Jb+(Eb<<2)>>2]=0;Eb=Eb+1|0}while((Eb|0)<(f[ob>>2]|0))}Eb=f[qb>>2]|0;if((Eb|0)!=(rb|0))dX(Eb)}else Ib=75;while(0);if((Ib|0)==75)Ib=0;zb=zb*h}if((Ib|0)==77){Nb=ia;Ob=0;break}else if((Ib|0)==78){Nb=ia;Ob=0;break}else if((Ib|0)==79){Nb=ia;Ob=0;break}else if((Ib|0)==80){Nb=ia;Ob=0;break}}else{rb=fa;Hoa(ha,$,_,rb);if(N){qb=ha+24|0;ob=LV((f[ha+20>>2]|0)+1|0,(f[qb>>2]|0)+1|0,4)|0;if(!ob)Pb=0;else{pb=EQa(16)|0;f[pb+4>>2]=1;f[pb>>2]=58280;f[pb+8>>2]=ob;Pb=pb}iia(ha,U,0.0,50.0,3);Hoa(U,ob,0,0);Qb=qb;Rb=Pb;Sb=ob}else{Qb=ha+24|0;Rb=0;Sb=0}ob=c+8|0;qb=f[ob>>2]|0;zb=+(qb|0);pb=f[Qb>>2]|0;ka=+(pb+-10|0);if(zb>2]|0);Tb=+((f[ha+20>>2]|0)+-10|0);nb=0;Ub=1.0;while(1){if(!(Ub*ja0){nb=c+12|0;mb=ha+20|0;lb=k+4|0;kb=Sb;ib=kb+16|0;jb=kb+4|0;kb=x+4|0;hb=x+8|0;gb=x+12|0;fb=$+16|0;eb=$+4|0;cb=y+4|0;db=y+8|0;bb=y+12|0;ab=z+4|0;$a=A+20|0;_a=A+24|0;Ya=A+28|0;Za=A+4|0;Xa=A+8|0;Wa=A+16|0;v=A+36|0;Va=A+40|0;q=A+44|0;Ua=A+48|0;Ta=(i|0)>1?i:1;Sa=r+8|0;Ra=z+4|0;Qa=z+8|0;Pa=z+12|0;zb=Q?.6:.4;Tb=P?Ub*Wb:1.0;Oa=Vb;Na=0;Ma=0;La=0;Ka=0;Ja=qb;Ia=pb;Ha=f[k>>2]|0;while(1){Ga=Oa+-1|0;Ub=Tb>2.0?Tb:2.0;Fa=AEa(Tb*+(Ja|0))|0;yb=AEa(Tb*+(f[nb>>2]|0))|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;xb=AEa(+(Ia-Fa|0)/Ub)|0;wb=AEa(+((f[mb>>2]|0)-yb|0)/Ub)|0;do if((Fa|0)<(Ha|0))Ib=94;else{if((yb|0)<(f[lb>>2]|0)){Ib=94;break}if((Fa|0)>(Y|0)|(yb|0)>(Z|0))if(P){Yb=Na;Zb=Ma;_b=La;$b=Ka;ac=Ha;break}else{Nb=0;Ob=Rb;break a}Xta(c,$,_,rb,Tb);pM(U);if(N){ja=+(Fa|0);vb=AEa(ja*.15)|0;Xb=+(yb|0);ub=AEa(Xb*.15)|0;tb=AEa(ja*.7)|0;sb=AEa(Xb*.7)|0;Ea=f[ib>>2]|0;Da=f[jb>>2]|0;Ca=Ea+(X(Da,ub)|0)+(vb<<2)|0;f[x>>2]=Ca;f[kb>>2]=Ca+(tb<<2);Ca=sb+ub|0;sb=Ea+(X(Da,Ca)|0)+(vb<<2)|0;f[hb>>2]=sb;f[gb>>2]=sb+(tb<<2);sb=f[fb>>2]|0;Da=f[eb>>2]|0;Ea=sb+(X(Da,ub)|0)+(vb<<2)|0;f[y>>2]=Ea;f[cb>>2]=Ea+(tb<<2);Ea=sb+(X(Da,Ca)|0)+(vb<<2)|0;f[db>>2]=Ea;f[bb>>2]=Ea+(tb<<2)}tb=X(Ka,La)|0;if((tb|0)>0){Ea=AEa(+(Ma|0)/Ub)|0;vb=AEa(+(Ka+Ma-yb|0)/Ub)|0;Ca=AEa(+(Na|0)/Ub)|0;bc=vb;cc=AEa(+(La+Na-Fa|0)/Ub)|0;dc=Ea;ec=Ca}else{bc=wb;cc=xb;dc=0;ec=0}f[z>>2]=dc;f[ab>>2]=bc;Ca=f[eb>>2]|0;f[A>>2]=76612;f[Za>>2]=c;f[$a>>2]=Fa;f[_a>>2]=yb;Ea=Ya;f[Ea>>2]=ec;f[Ea+4>>2]=cc;p[Xa>>3]=Ub;f[Wa>>2]=Ca;f[v>>2]=x;f[Va>>2]=y;f[q>>2]=r;f[Ua>>2]=w;$Z(z,A,-1.0);if(!P){Yb=Na;Zb=Ma;_b=La;$b=Ka;ac=Ha;break}Ca=f[r>>2]|0;Ea=f[K>>2]|0;if((Ca|0)==(Ea|0)){Yb=Na;Zb=Ma;_b=La;$b=Ka;ac=Ha;break}if(tb|0){Yb=Na;Zb=Ma;_b=La;$b=Ka;ac=Ha;break}tb=Ea-Ca>>4;vb=f[L>>2]|0;Da=f[s>>2]|0;sb=vb-Da>>4;ub=Da;Da=vb;do if(tb>>>0>sb>>>0){_sa(s,tb-sb|0);fc=f[K>>2]|0;gc=f[r>>2]|0}else{if(tb>>>0>=sb>>>0){fc=Ea;gc=Ca;break}vb=ub+(tb<<4)|0;if((vb|0)==(Da|0)){fc=Ea;gc=Ca;break}f[L>>2]=Da+(~((Da+-16-vb|0)>>>4)<<4);fc=Ea;gc=Ca}while(0);if((fc|0)!=(gc|0)){Ca=gc;Ea=f[s>>2]|0;while(1){f[Ea>>2]=f[Ca>>2];f[Ea+4>>2]=f[Ca+4>>2];f[Ea+8>>2]=f[Ca+8>>2];f[Ea+12>>2]=f[Ca+12>>2];Ca=Ca+16|0;if((Ca|0)==(fc|0))break;else Ea=Ea+16|0}}sta(s,Ta,.2);Ea=f[s>>2]|0;Ca=f[L>>2]|0;if((Ea|0)==(Ca|0)){Yb=Na;Zb=Ma;_b=La;$b=Ka;ac=Ha;break}Da=Ca-Ea>>4;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;if(!Da){hc=0;ic=0;jc=0;kc=0}else{Ca=0;tb=0;ub=0;sb=0;vb=0;while(1){Ba=f[Ea+(Ca<<4)+8>>2]|0;Aa=f[Ea+(Ca<<4)+12>>2]|0;if((X(Aa,Ba)|0)>(X(ub,tb)|0)){za=f[Ea+(Ca<<4)>>2]|0;f[z>>2]=za;ya=f[Ea+(Ca<<4)+4>>2]|0;f[Ra>>2]=ya;f[Qa>>2]=Ba;f[Pa>>2]=Aa;lc=ya;mc=za;nc=Aa;oc=Ba}else{lc=sb;mc=vb;nc=ub;oc=tb}Ca=Ca+1|0;if((Ca|0)==(Da|0)){hc=mc;ic=lc;jc=oc;kc=nc;break}else{tb=oc;ub=nc;sb=lc;vb=mc}}}vb=f[K>>2]|0;if((vb|0)==(f[Sa>>2]|0))Nsa(r,z);else{f[vb>>2]=hc;f[vb+4>>2]=ic;f[vb+8>>2]=jc;f[vb+12>>2]=kc;f[K>>2]=vb+16}vb=f[z>>2]|0;sb=f[Ra>>2]|0;ub=f[Qa>>2]|0;tb=f[Pa>>2]|0;Xb=+(ub|0);Da=AEa(Xb*.2)|0;ja=+(tb|0);Ca=AEa(ja*.2)|0;Ea=vb-Da|0;vb=(Ea|0)>0?Ea:0;Ea=sb-Ca|0;sb=(Ea|0)>0?Ea:0;Ea=(Da<<1)+ub|0;ub=(f[Qb>>2]|0)+-1-vb|0;Da=(Ca<<1)+tb|0;tb=(f[mb>>2]|0)+-1-sb|0;Ca=AEa(zb*Xb)|0;f[k>>2]=Ca;Ba=AEa(zb*ja)|0;f[lb>>2]=Ba;Yb=vb;Zb=sb;_b=(ub|0)<(Ea|0)?ub:Ea;$b=(tb|0)<(Da|0)?tb:Da;ac=Ca}while(0);if((Ib|0)==94){Ib=0;if(P){Nb=0;Ob=Rb;break a}else{Yb=Na;Zb=Ma;_b=La;$b=Ka;ac=Ha}}if((Oa|0)<=1){Nb=0;Ob=Rb;break a}Tb=ka*Tb;Oa=Ga;Na=Yb;Ma=Zb;La=_b;Ka=$b;Ja=f[ob>>2]|0;Ia=f[Qb>>2]|0;Ha=ac}}else{Nb=0;Ob=Rb}}else{Nb=0;Ob=Rb}}while(0);Rb=f[K>>2]|0;ac=f[r>>2]|0;Qb=Rb-ac>>4;$b=f[L>>2]|0;_b=f[s>>2]|0;Zb=$b-_b>>4;Yb=_b;_b=$b;$b=ac;ac=Rb;if(Qb>>>0<=Zb>>>0)if(Qb>>>0>>0?(Rb=Yb+(Qb<<4)|0,(Rb|0)!=(_b|0)):0){f[L>>2]=_b+(~((_b+-16-Rb|0)>>>4)<<4);pc=$b;qc=ac}else{pc=$b;qc=ac}else{_sa(s,Qb-Zb|0);pc=f[r>>2]|0;qc=f[K>>2]|0}if((pc|0)!=(qc|0)){Zb=pc;pc=f[s>>2]|0;while(1){f[pc>>2]=f[Zb>>2];f[pc+4>>2]=f[Zb+4>>2];f[pc+8>>2]=f[Zb+8>>2];f[pc+12>>2]=f[Zb+12>>2];Zb=Zb+16|0;if((Zb|0)==(qc|0))break;else pc=pc+16|0}}do if(O|i)if(m){uta(s,e,g,i,.2);break}else{tta(s,t,(i|0)>1?i:1,.2);break}else{pc=(f[L>>2]|0)-(f[s>>2]|0)>>4;f[x>>2]=0;qc=f[M>>2]|0;Zb=f[t>>2]|0;Qb=qc-Zb>>2;ac=Zb;Zb=qc;do if(pc>>>0<=Qb>>>0){if(pc>>>0>>0){qc=ac+(pc<<2)|0;if((qc|0)==(Zb|0))break;f[M>>2]=Zb+(~((Zb+-4-qc|0)>>>2)<<2)}}else Cr(t,pc-Qb|0,x);while(0)}while(0);i=f[L>>2]|0;g=f[s>>2]|0;e=(i|0)==(g|0);if(P){P=g;if(!e){m=x+4|0;O=x+8|0;Qb=x+12|0;pc=x+16|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;f[x+16>>2]=0;Zb=f[t>>2]|0;ac=i-g>>4;i=0;qc=0;$b=0;while(1){Rb=f[P+(i<<4)+8>>2]|0;_b=f[P+(i<<4)+12>>2]|0;if((X(_b,Rb)|0)>(X($b,qc)|0)){Yb=f[P+(i<<4)+4>>2]|0;f[x>>2]=f[P+(i<<4)>>2];f[m>>2]=Yb;f[O>>2]=Rb;f[Qb>>2]=_b;f[pc>>2]=f[Zb+(i<<2)>>2];rc=_b;sc=Rb}else{rc=$b;sc=qc}i=i+1|0;if(i>>>0>=ac>>>0)break;else{qc=sc;$b=rc}}OM(da,x)|0}}else if(!e){e=x+4|0;rc=x+8|0;$b=x+12|0;sc=x+16|0;qc=0;ac=g;do{g=ac;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;i=f[g+(qc<<4)+4>>2]|0;Zb=f[g+(qc<<4)+8>>2]|0;pc=f[g+(qc<<4)+12>>2]|0;f[x>>2]=f[g+(qc<<4)>>2];f[e>>2]=i;f[rc>>2]=Zb;f[$b>>2]=pc;pc=f[t>>2]|0;if((pc|0)==(f[M>>2]|0))tc=0;else tc=f[pc+(qc<<2)>>2]|0;f[sc>>2]=tc;OM(da,x)|0;qc=qc+1|0;ac=f[s>>2]|0}while(qc>>>0<(f[L>>2]|0)-ac>>4>>>0)}oQ(w);w=f[t>>2]|0;if(w|0){t=f[M>>2]|0;if((t|0)!=(w|0))f[M>>2]=t+(~((t+-4-w|0)>>>2)<<2);GQa(w)}w=f[s>>2]|0;if(w|0){s=f[L>>2]|0;if((s|0)!=(w|0))f[L>>2]=s+(~((s+-16-w|0)>>>4)<<4);GQa(w)}w=f[r>>2]|0;if(w|0){r=f[K>>2]|0;if((r|0)!=(w|0))f[K>>2]=r+(~((r+-16-w|0)>>>4)<<4);GQa(w)}w=Nb;do if(Nb|0){r=w+4|0;K=f[r>>2]|0;f[r>>2]=K+-1;if((K|0)!=1)break;qg[f[(f[Nb>>2]|0)+8>>2]&1023](w)}while(0);w=Ob;do if(Ob|0){Nb=w+4|0;K=f[Nb>>2]|0;f[Nb>>2]=K+-1;if((K|0)!=1)break;qg[f[(f[Ob>>2]|0)+8>>2]&1023](w)}while(0);w=ca;do if(ca|0){Ob=w+4|0;K=f[Ob>>2]|0;f[Ob>>2]=K+-1;if((K|0)!=1)break;qg[f[(f[ca>>2]|0)+8>>2]&1023](w)}while(0);w=ea;do if(ea|0){ca=w+4|0;K=f[ca>>2]|0;f[ca>>2]=K+-1;if((K|0)!=1)break;qg[f[(f[ea>>2]|0)+8>>2]&1023](w)}while(0);w=ba;do if(ba|0){ea=w+4|0;K=f[ea>>2]|0;f[ea>>2]=K+-1;if((K|0)!=1)break;qg[f[(f[ba>>2]|0)+8>>2]&1023](w)}while(0);w=aa;do if(aa|0){ba=w+4|0;K=f[ba>>2]|0;f[ba>>2]=K+-1;if((K|0)!=1)break;qg[f[(f[aa>>2]|0)+8>>2]&1023](w)}while(0);if(!(f[o+4>>2]|0)){u=n;return da|0}u=n;return da|0}function aua(a,b,c,d,e,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;f[a>>2]=76652;q=a+24|0;f[q>>2]=1124007936;r=a+28|0;s=a+32|0;t=a+64|0;u=r;v=u+36|0;do{f[u>>2]=0;u=u+4|0}while((u|0)<(v|0));f[t>>2]=s;w=a+72|0;x=a+68|0;f[x>>2]=w;f[w>>2]=0;f[a+76>>2]=0;w=a+80|0;f[w>>2]=1124007936;y=a+84|0;z=a+88|0;A=a+120|0;u=y;v=u+36|0;do{f[u>>2]=0;u=u+4|0}while((u|0)<(v|0));f[A>>2]=z;u=a+128|0;v=a+124|0;f[v>>2]=u;f[u>>2]=0;f[a+132>>2]=0;u=a+144|0;f[u>>2]=0;f[u+4>>2]=0;f[u+8>>2]=0;f[u+12>>2]=0;f[a+4>>2]=b;f[a+8>>2]=c;p[a+16>>3]=d;if((q|0)!=(e|0)){c=e+36|0;b=f[c>>2]|0;if(b){B=b+12|0;f[B>>2]=(f[B>>2]|0)+1;B=a+60|0;b=f[B>>2]|0;if((b|0)!=0?(C=b+12|0,b=f[C>>2]|0,f[C>>2]=b+-1,(b|0)==1):0){XO(q);D=B}else D=B}else D=a+60|0;f[D>>2]=0;B=a+40|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;if((f[r>>2]|0)>0){b=f[t>>2]|0;t=0;do{f[b+(t<<2)>>2]=0;t=t+1|0;E=f[r>>2]|0}while((t|0)<(E|0));f[q>>2]=f[e>>2];if((E|0)<3)F=12;else F=14}else{f[q>>2]=f[e>>2];F=12}if((F|0)==12){E=f[e+4>>2]|0;if((E|0)<3){f[r>>2]=E;f[s>>2]=f[e+8>>2];f[a+36>>2]=f[e+12>>2];s=f[e+44>>2]|0;E=f[x>>2]|0;f[E>>2]=f[s>>2];f[E+4>>2]=f[s+4>>2]}else F=14}if((F|0)==14)WO(q,e);f[B>>2]=f[e+16>>2];f[a+44>>2]=f[e+20>>2];f[a+48>>2]=f[e+24>>2];f[a+52>>2]=f[e+28>>2];f[a+56>>2]=f[e+32>>2];f[D>>2]=f[c>>2]}if((w|0)==(g|0)){G=a+136|0;f[G>>2]=h;H=a+140|0;f[H>>2]=i;I=f[j>>2]|0;f[u>>2]=I;J=j+4|0;K=f[J>>2]|0;L=a+148|0;f[L>>2]=K;M=j+8|0;N=f[M>>2]|0;O=a+152|0;f[O>>2]=N;P=j+12|0;Q=f[P>>2]|0;R=a+156|0;f[R>>2]=Q;S=a+160|0;f[S>>2]=k;T=n?l:0;U=a+164|0;f[U>>2]=T;V=n?m:0;W=a+168|0;f[W>>2]=V;X=a+172|0;f[X>>2]=o;return}c=g+36|0;D=f[c>>2]|0;if(D|0){e=D+12|0;f[e>>2]=(f[e>>2]|0)+1}e=a+116|0;D=f[e>>2]|0;if(D|0?(B=D+12|0,D=f[B>>2]|0,f[B>>2]=D+-1,(D|0)==1):0)XO(w);f[e>>2]=0;D=a+96|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;if((f[y>>2]|0)>0){B=f[A>>2]|0;A=0;do{f[B+(A<<2)>>2]=0;A=A+1|0;Y=f[y>>2]|0}while((A|0)<(Y|0));f[w>>2]=f[g>>2];if((Y|0)<3)F=27;else F=29}else{f[w>>2]=f[g>>2];F=27}if((F|0)==27){Y=f[g+4>>2]|0;if((Y|0)<3){f[y>>2]=Y;f[z>>2]=f[g+8>>2];f[a+92>>2]=f[g+12>>2];z=f[g+44>>2]|0;Y=f[v>>2]|0;f[Y>>2]=f[z>>2];f[Y+4>>2]=f[z+4>>2]}else F=29}if((F|0)==29)WO(w,g);f[D>>2]=f[g+16>>2];f[a+100>>2]=f[g+20>>2];f[a+104>>2]=f[g+24>>2];f[a+108>>2]=f[g+28>>2];f[a+112>>2]=f[g+32>>2];f[e>>2]=f[c>>2];G=a+136|0;f[G>>2]=h;H=a+140|0;f[H>>2]=i;I=f[j>>2]|0;f[u>>2]=I;J=j+4|0;K=f[J>>2]|0;L=a+148|0;f[L>>2]=K;M=j+8|0;N=f[M>>2]|0;O=a+152|0;f[O>>2]=N;P=j+12|0;Q=f[P>>2]|0;R=a+156|0;f[R>>2]=Q;S=a+160|0;f[S>>2]=k;T=n?l:0;U=a+164|0;f[U>>2]=T;V=n?m:0;W=a+168|0;f[W>>2]=V;X=a+172|0;f[X>>2]=o;return}function bua(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=76652;b=a+80|0;c=a+116|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+96|0;b=a+84|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+120>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+124>>2]|0;if((b|0)!=(a+128|0))dX(b);b=a+24|0;d=a+60|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+40|0;b=a+28|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[a+64>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+68>>2]|0;if((b|0)==(a+72|0))return;dX(b);return}function cua(a){a=a|0;GQa(a);return}function dua(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0,S=0,T=0,U=0,V=0,W=0.0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;c=u;u=u+80|0;d=c+64|0;e=c;g=c+56|0;h=c+32|0;i=c+12|0;j=c+52|0;k=c+48|0;l=c+44|0;m=c+40|0;n=c+24|0;o=c+8|0;yV(h,76624);q=f[b>>2]|0;r=f[b+4>>2]|0;b=f[a+36>>2]|0;s=f[b>>2]|0;t=f[b+4>>2]|0;v=f[b+8>>2]|0;w=f[b+12>>2]|0;b=f[a+40>>2]|0;x=f[b>>2]|0;y=f[b+4>>2]|0;z=f[b+8>>2]|0;A=f[b+12>>2]|0;b=(s|0)==0;B=(f[a+16>>2]|0)>>>2;f[i>>2]=0;C=i+4|0;f[C>>2]=0;f[i+8>>2]=0;if((q|0)<(r|0)){D=a+8|0;E=a+28|0;F=a+32|0;G=a+4|0;H=d+4|0;H=a+20|0;I=a+24|0;J=d+4|0;K=d+8|0;L=d+12|0;M=i+8|0;N=a+48|0;O=a+44|0;P=q;q=f[F>>2]|0;while(1){Q=+p[D>>3];R=AEa(Q*+(P|0))|0;S=f[E>>2]|0;a:do if((S|0)<(q|0)){T=X(R,B)|0;U=S;V=q;W=Q;while(1){Y=AEa(W*+(U|0))|0;if(!b?(Z=Y+T|0,((f[s+(Z<<2)>>2]|0)-(f[t+(Z<<2)>>2]|0)-(f[v+(Z<<2)>>2]|0)+(f[w+(Z<<2)>>2]|0)|0)<100?1:((f[x+(Z<<2)>>2]|0)-(f[y+(Z<<2)>>2]|0)-(f[z+(Z<<2)>>2]|0)+(f[A+(Z<<2)>>2]|0)|0)<20):0){_=2;$=V}else{Z=f[G>>2]|0;yV(d,76564);aa=Zta(Z,Y,R,e,0)|0;if((aa|0)>0){Z=f[H>>2]|0;ba=f[I>>2]|0;f[d>>2]=Y;f[J>>2]=R;f[K>>2]=Z;f[L>>2]=ba;ca=f[C>>2]|0;if((ca|0)==(f[M>>2]|0)){Nsa(i,d);da=f[C>>2]|0}else{f[ca>>2]=Y;f[ca+4>>2]=R;f[ca+8>>2]=Z;f[ca+12>>2]=ba;ba=ca+16|0;f[C>>2]=ba;da=ba}if(da-(f[i>>2]|0)>>4>>>0>99?(pQ(f[N>>2]|0),ba=f[O>>2]|0,f[j>>2]=f[ba+4>>2],f[k>>2]=f[i>>2],f[l>>2]=f[C>>2],f[g>>2]=f[j>>2],f[e>>2]=f[k>>2],f[d>>2]=f[l>>2],eua(ba,g,e,d)|0,qQ(f[N>>2]|0),ba=f[i>>2]|0,ca=f[C>>2]|0,(ca|0)!=(ba|0)):0)f[C>>2]=ca+(~((ca+-16-ba|0)>>>4)<<4)}_=aa|0?1:2;$=f[F>>2]|0}aa=_+U|0;if((aa|0)>=($|0)){ea=$;break a}U=aa;V=$;W=+p[D>>3]}}else ea=q;while(0);P=P+1|0;if((P|0)>=(r|0))break;else q=ea}ea=f[i>>2]|0;if((f[C>>2]|0)==(ea|0))fa=ea;else{ea=a+48|0;pQ(f[ea>>2]|0);q=f[a+44>>2]|0;f[m>>2]=f[q+4>>2];f[n>>2]=f[i>>2];f[o>>2]=f[C>>2];f[g>>2]=f[m>>2];f[e>>2]=f[n>>2];f[d>>2]=f[o>>2];eua(q,g,e,d)|0;qQ(f[ea>>2]|0);fa=f[i>>2]|0}if(fa|0){i=f[C>>2]|0;if((i|0)!=(fa|0))f[C>>2]=i+(~((i+-16-fa|0)>>>4)<<4);GQa(fa)}}if(!(f[h+4>>2]|0)){u=c;return}u=c;return}function eua(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;e=f[a>>2]|0;g=e;h=(f[b>>2]|0)-g|0;b=h>>4;i=e+(b<<4)|0;j=f[c>>2]|0;c=f[d>>2]|0;d=c-j|0;k=d>>4;l=j;m=c;if((d|0)<=0){n=i;return n|0}d=a+8|0;o=f[d>>2]|0;p=a+4|0;q=f[p>>2]|0;r=q;if((k|0)<=(o-r>>4|0)){s=i;t=r-s|0;u=t>>4;if((k|0)>(u|0)){v=l+(u<<4)|0;u=v;if((v|0)==(m|0))w=q;else{x=m+-16-u|0;y=v;v=q;while(1){f[v>>2]=f[y>>2];f[v+4>>2]=f[y+4>>2];f[v+8>>2]=f[y+8>>2];f[v+12>>2]=f[y+12>>2];y=y+16|0;if((y|0)==(m|0))break;else v=v+16|0}v=q+((x>>>4)+1<<4)|0;f[p>>2]=v;w=v}if((t|0)>0){z=u;A=w}else{n=i;return n|0}}else{z=c;A=q}c=A-(i+(k<<4))>>4;w=i+(c<<4)|0;if(w>>>0>>0){u=(q+(0-c<<4)+~s|0)>>>4;s=w;t=A;while(1){f[t>>2]=f[s>>2];f[t+4>>2]=f[s+4>>2];f[t+8>>2]=f[s+8>>2];f[t+12>>2]=f[s+12>>2];s=s+16|0;if(s>>>0>=q>>>0)break;else t=t+16|0}f[p>>2]=A+(u+1<<4)}if(c|0){c=w;w=A;do{A=c;c=c+-16|0;u=w;w=w+-16|0;f[w>>2]=f[c>>2];f[u+-12>>2]=f[A+-12>>2];f[u+-8>>2]=f[A+-8>>2];f[u+-4>>2]=f[A+-4>>2]}while((c|0)!=(i|0))}c=z;if((l|0)==(c|0)){n=i;return n|0}else{B=i;C=l}while(1){f[B>>2]=f[C>>2];f[B+4>>2]=f[C+4>>2];f[B+8>>2]=f[C+8>>2];f[B+12>>2]=f[C+12>>2];C=C+16|0;if((C|0)==(c|0)){n=i;break}else B=B+16|0}return n|0}B=(r-g>>4)+k|0;if(B>>>0>268435455)ZOa(a);k=o-g|0;o=k>>3;r=k>>4>>>0<134217727?(o>>>0>>0?B:o):268435455;o=i;B=h>>4;do if(r)if(r>>>0>268435455){h=hd(8)|0;LQa(h,349912);f[h>>2]=118288;ld(h|0,20688,857)}else{D=EQa(r<<4)|0;break}else D=0;while(0);h=D+(B<<4)|0;B=D+(r<<4)|0;if((m|0)==(l|0))E=h;else{r=((m+-16-j|0)>>>4)+1|0;j=l;l=h;while(1){f[l>>2]=f[j>>2];f[l+4>>2]=f[j+4>>2];f[l+8>>2]=f[j+8>>2];f[l+12>>2]=f[j+12>>2];j=j+16|0;if((j|0)==(m|0))break;else l=l+16|0}E=h+(r<<4)|0}if(!b)F=h;else{b=i+-16-g|0;g=i;r=h;while(1){l=g;g=g+-16|0;f[r+-16>>2]=f[g>>2];f[r+-12>>2]=f[l+-12>>2];f[r+-8>>2]=f[l+-8>>2];f[r+-4>>2]=f[l+-4>>2];if((g|0)==(e|0))break;else r=r+-16|0}F=h+(~(b>>>4)<<4)|0}b=F;if((q|0)==(i|0))G=E;else{F=q+-16-o|0;o=i;i=E;while(1){f[i>>2]=f[o>>2];f[i+4>>2]=f[o+4>>2];f[i+8>>2]=f[o+8>>2];f[i+12>>2]=f[o+12>>2];o=o+16|0;if((o|0)==(q|0))break;else i=i+16|0}G=E+((F>>>4)+1<<4)|0}f[a>>2]=b;f[p>>2]=G;f[d>>2]=B;if(!e){n=h;return n|0}GQa(e);n=h;return n|0}function fua(a){a=a|0;bua(a);GQa(a);return}function gua(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0.0,na=0,oa=0,pa=0,qa=0;c=u;u=u+176|0;d=c+160|0;e=c+152|0;g=c+148|0;h=c+72|0;i=c+56|0;j=c+40|0;k=c+24|0;l=c;m=c+144|0;n=c+140|0;o=c+136|0;q=c+132|0;r=c+128|0;s=c+124|0;t=c+120|0;v=c+116|0;w=c+112|0;x=c+108|0;y=c+104|0;z=c+100|0;A=c+96|0;B=c+92|0;C=c+88|0;D=c+84|0;E=c+80|0;F=c+68|0;G=c+52|0;H=c+36|0;I=c+20|0;J=c+16|0;K=c+12|0;L=c+8|0;yV(h,76664);M=a+4|0;N=f[M>>2]|0;O=f[N+8>>2]|0;P=f[N+12>>2]|0;N=a+16|0;Q=+p[N>>3];R=AEa(Q*+(O|0))|0;S=AEa(Q*+(P|0))|0;T=f[a+8>>2]|0;U=X(T,f[b>>2]|0)|0;V=X(f[b+4>>2]|0,T)|0;T=(f[a+32>>2]|0)+~P|0;P=(T|0)<(V|0)?T:V;if((P|0)>(U|0)?(V=f[a+36>>2]|0,(V|0)>(O+1|0)):0){T=V+~O|0;O=Q>2.0?1:2;f[i>>2]=0;V=i+4|0;f[V>>2]=0;f[i+8>>2]=0;f[j>>2]=0;b=j+4|0;f[b>>2]=0;f[j+8>>2]=0;f[k>>2]=0;W=k+4|0;f[W>>2]=0;f[k+8>>2]=0;Y=(T|0)>0;Z=a+164|0;_=d+4|0;$=d+8|0;aa=d+12|0;ba=i+8|0;ca=a+172|0;da=a+160|0;ea=d+4|0;fa=d+8|0;ga=d+12|0;ha=j+8|0;ia=k+8|0;ja=a+168|0;ka=U;do{if(Y){Q=+(ka|0);U=0;do{la=Zta(f[M>>2]|0,U,ka,l,0)|0;if(!(f[Z>>2]|0)){if((la|0)>0){ma=+p[N>>3];na=AEa(ma*+(U|0))|0;oa=AEa(ma*Q)|0;f[d>>2]=na;f[_>>2]=oa;f[$>>2]=R;f[aa>>2]=S;pa=f[V>>2]|0;if((pa|0)==(f[ba>>2]|0)){Nsa(i,d);qa=f[V>>2]|0}else{f[pa>>2]=na;f[pa+4>>2]=oa;f[pa+8>>2]=R;f[pa+12>>2]=S;oa=pa+16|0;f[V>>2]=oa;qa=oa}if(qa-(f[i>>2]|0)>>4>>>0>99?(pQ(f[ca>>2]|0),oa=f[da>>2]|0,f[x>>2]=f[oa+4>>2],f[y>>2]=f[i>>2],f[z>>2]=f[V>>2],f[g>>2]=f[x>>2],f[e>>2]=f[y>>2],f[d>>2]=f[z>>2],eua(oa,g,e,d)|0,qQ(f[ca>>2]|0),oa=f[i>>2]|0,pa=f[V>>2]|0,(pa|0)!=(oa|0)):0)f[V>>2]=pa+(~((pa+-16-oa|0)>>>4)<<4)}}else{oa=f[(f[M>>2]|0)+4>>2]|0;pa=(la|0)==1?0-oa|0:la;if((oa+pa|0)<4){ma=+p[N>>3];oa=AEa(ma*+(U|0))|0;la=AEa(ma*Q)|0;f[d>>2]=oa;f[ea>>2]=la;f[fa>>2]=R;f[ga>>2]=S;na=f[V>>2]|0;if((na|0)==(f[ba>>2]|0))Nsa(i,d);else{f[na>>2]=oa;f[na+4>>2]=la;f[na+8>>2]=R;f[na+12>>2]=S;f[V>>2]=na+16}na=0-pa|0;f[d>>2]=na;pa=f[b>>2]|0;if((pa|0)==(f[ha>>2]|0))jQ(j,d);else{f[pa>>2]=na;f[b>>2]=pa+4}pa=f[W>>2]|0;if((pa|0)==(f[ia>>2]|0))Osa(k,l);else{p[pa>>3]=+p[l>>3];f[W>>2]=pa+8}if((f[V>>2]|0)-(f[i>>2]|0)>>4>>>0>99){pQ(f[ca>>2]|0);pa=f[da>>2]|0;f[m>>2]=f[pa+4>>2];f[n>>2]=f[i>>2];f[o>>2]=f[V>>2];f[g>>2]=f[m>>2];f[e>>2]=f[n>>2];f[d>>2]=f[o>>2];eua(pa,g,e,d)|0;pa=f[Z>>2]|0;f[q>>2]=f[pa+4>>2];f[r>>2]=f[j>>2];f[s>>2]=f[b>>2];f[g>>2]=f[q>>2];f[e>>2]=f[r>>2];f[d>>2]=f[s>>2];qpa(pa,g,e,d)|0;pa=f[ja>>2]|0;f[t>>2]=f[pa+4>>2];f[v>>2]=f[k>>2];f[w>>2]=f[W>>2];f[g>>2]=f[t>>2];f[e>>2]=f[v>>2];f[d>>2]=f[w>>2];hua(pa,g,e,d)|0;qQ(f[ca>>2]|0);pa=f[i>>2]|0;na=f[V>>2]|0;if((na|0)!=(pa|0))f[V>>2]=na+(~((na+-16-pa|0)>>>4)<<4);pa=f[j>>2]|0;na=f[b>>2]|0;if((na|0)!=(pa|0))f[b>>2]=na+(~((na+-4-pa|0)>>>2)<<2);pa=f[k>>2]|0;na=f[W>>2]|0;if((na|0)!=(pa|0))f[W>>2]=na+(~((na+-8-pa|0)>>>3)<<3)}}}U=U+O|0}while((U|0)<(T|0))}ka=ka+O|0}while((ka|0)<(P|0));if((f[b>>2]|0)==(f[j>>2]|0)){if((f[V>>2]|0)!=(f[i>>2]|0)){P=a+172|0;pQ(f[P>>2]|0);ka=f[a+160>>2]|0;f[J>>2]=f[ka+4>>2];f[K>>2]=f[i>>2];f[L>>2]=f[V>>2];f[g>>2]=f[J>>2];f[e>>2]=f[K>>2];f[d>>2]=f[L>>2];eua(ka,g,e,d)|0;qQ(f[P>>2]|0)}}else{P=a+172|0;pQ(f[P>>2]|0);ka=f[a+160>>2]|0;f[A>>2]=f[ka+4>>2];f[B>>2]=f[i>>2];f[C>>2]=f[V>>2];f[g>>2]=f[A>>2];f[e>>2]=f[B>>2];f[d>>2]=f[C>>2];eua(ka,g,e,d)|0;ka=f[a+164>>2]|0;f[D>>2]=f[ka+4>>2];f[E>>2]=f[j>>2];f[F>>2]=f[b>>2];f[g>>2]=f[D>>2];f[e>>2]=f[E>>2];f[d>>2]=f[F>>2];qpa(ka,g,e,d)|0;ka=f[a+168>>2]|0;f[G>>2]=f[ka+4>>2];f[H>>2]=f[k>>2];f[I>>2]=f[W>>2];f[g>>2]=f[G>>2];f[e>>2]=f[H>>2];f[d>>2]=f[I>>2];hua(ka,g,e,d)|0;qQ(f[P>>2]|0)}P=f[k>>2]|0;if(P|0){k=f[W>>2]|0;if((k|0)!=(P|0))f[W>>2]=k+(~((k+-8-P|0)>>>3)<<3);GQa(P)}P=f[j>>2]|0;if(P|0){j=f[b>>2]|0;if((j|0)!=(P|0))f[b>>2]=j+(~((j+-4-P|0)>>>2)<<2);GQa(P)}P=f[i>>2]|0;if(P|0){i=f[V>>2]|0;if((i|0)!=(P|0))f[V>>2]=i+(~((i+-16-P|0)>>>4)<<4);GQa(P)}}if(!(f[h+4>>2]|0)){u=c;return}u=c;return}function hua(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;e=f[a>>2]|0;g=e;h=(f[b>>2]|0)-g|0;b=e+(h>>3<<3)|0;i=f[c>>2]|0;j=f[d>>2]|0;d=j-i|0;k=d>>3;l=j;if((d|0)<=0){m=b;return m|0}d=a+8|0;n=f[d>>2]|0;o=a+4|0;q=f[o>>2]|0;r=q;if((k|0)<=(n-r>>3|0)){s=b;t=r-s|0;u=t>>3;if((k|0)>(u|0)){v=i+(u<<3)|0;u=v;if((v|0)==(l|0))w=q;else{x=l+-8-u|0;y=v;v=q;while(1){p[v>>3]=+p[y>>3];y=y+8|0;if((y|0)==(l|0))break;else v=v+8|0}v=q+((x>>>3)+1<<3)|0;f[o>>2]=v;w=v}if((t|0)>0){z=u;A=w}else{m=b;return m|0}}else{z=j;A=q}j=A-(b+(k<<3))|0;w=j>>3;u=b+(w<<3)|0;if(u>>>0>>0){t=(q+(0-w<<3)+~s|0)>>>3;s=u;u=A;while(1){p[u>>3]=+p[s>>3];s=s+8|0;if(s>>>0>=q>>>0)break;else u=u+8|0}f[o>>2]=A+(t+1<<3)}if(!w)B=i;else{EVa(A+(0-w<<3)|0,b|0,j|0)|0;B=f[c>>2]|0}c=z-B|0;if(!c){m=b;return m|0}EVa(b|0,B|0,c|0)|0;m=b;return m|0}c=(r-g>>3)+k|0;if(c>>>0>536870911)ZOa(a);k=n-g|0;g=k>>2;n=k>>3>>>0<268435455?(g>>>0>>0?c:g):536870911;g=b;c=h>>3;do if(n)if(n>>>0>536870911){k=hd(8)|0;LQa(k,349912);f[k>>2]=118288;ld(k|0,20688,857)}else{k=EQa(n<<3)|0;C=k;D=k;break}else{C=0;D=0}while(0);k=D+(c<<3)|0;c=D+(n<<3)|0;n=i;if((l|0)==(n|0))E=k;else{B=((l+-8-i|0)>>>3)+1|0;i=n;n=k;while(1){p[n>>3]=+p[i>>3];i=i+8|0;if((i|0)==(l|0))break;else n=n+8|0}E=k+(B<<3)|0}if((h|0)>0)DVa(C|0,e|0,h|0)|0;h=r-g|0;if((h|0)>0){DVa(E|0,b|0,h|0)|0;F=E+(h>>>3<<3)|0}else F=E;f[a>>2]=D;f[o>>2]=F;f[d>>2]=c;if(!e){m=k;return m|0}GQa(e);m=k;return m|0}function iua(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=76692;b=a+268|0;c=a+304|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+284|0;b=a+272|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+308>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+312>>2]|0;if((b|0)!=(a+316|0))dX(b);b=a+212|0;d=a+248|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+228|0;b=a+216|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[a+252>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+256>>2]|0;if((b|0)!=(a+260|0))dX(b);b=a+156|0;c=a+192|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+172|0;b=a+160|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+196>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+200>>2]|0;if((b|0)!=(a+204|0))dX(b);b=a+100|0;d=a+136|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+116|0;b=a+104|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[a+140>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+144>>2]|0;if((b|0)!=(a+148|0))dX(b);b=f[a+32>>2]|0;if(b|0){c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);GQa(b)}b=f[a+4>>2]|0;if(!b)return;c=a+8|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~(((a+-44-b|0)>>>0)/44|0)*44|0);GQa(b);return}function jua(a){a=a|0;iua(a);GQa(a);return}function kua(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0.0,M=0,N=0,O=0.0,P=0.0,Q=0,R=0,S=0,T=0,V=0,W=0,Y=0.0,Z=0.0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0.0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;j=u;u=u+2208|0;k=j+1136|0;l=j+1072|0;m=j+1064|0;o=j+1080|0;q=j;r=a+324|0;f[r>>2]=c;s=a+52|0;f[s>>2]=f[i>>2];t=a+56|0;f[t>>2]=f[i+4>>2];i=a+28|0;b[i>>0]=h&1;h=f[(f[c>>2]|0)+52>>2]|0;f[l>>2]=f[e>>2];v=e+4|0;f[l+4>>2]=f[v>>2];f[m>>2]=f[g>>2];f[m+4>>2]=f[g+4>>2];ci[h&127](c,d,a+212|0,a+268|0,l,m);m=f[v>>2]|0;f[a+92>>2]=f[e>>2];f[a+96>>2]=m;m=f[r>>2]|0;e=f[m+4>>2]|0;f[a+44>>2]=e;v=f[m+8>>2]|0;f[a+48>>2]=v;l=f[m+12>>2]|0;d=f[m+16>>2]|0;c=f[m+20>>2]|0;h=f[m+24>>2]|0;g=f[m+28>>2]|0;w=f[m+32>>2]|0;x=f[m+36>>2]|0;m=X(d,l)|0;y=a+60|0;f[y>>2]=((e-l|0)/(c|0)|0)+1;e=a+64|0;f[e>>2]=((v-d|0)/(h|0)|0)+1;z=(l|0)/(g|0)|0;A=(d|0)/(w|0)|0;B=a+68|0;f[B>>2]=z;C=a+72|0;f[C>>2]=A;D=X(X(z,x)|0,A)|0;A=a+76|0;f[A>>2]=D;do if(b[i>>0]|0){z=(((f[a+224>>2]|0)-l|0)/(f[s>>2]|0)|0)+1|0;E=((v|0)/(f[t>>2]|0)|0)+1|0;F=a+100|0;G=X(z,D)|0;if(!(((((f[a+104>>2]|0)<3?(f[a+108>>2]|0)==(E|0):0)?(f[a+112>>2]|0)==(G|0):0)?(f[F>>2]&4095|0)==5:0)?(f[a+116>>2]|0)!=0:0)){f[k>>2]=E;f[k+4>>2]=G;VO(F,2,k,5)}F=a+156|0;if(!(((((f[a+160>>2]|0)<3?(f[a+164>>2]|0)==(E|0):0)?(f[a+168>>2]|0)==(z|0):0)?(f[F>>2]&4095|0)==0:0)?(f[a+172>>2]|0)!=0:0)){f[k>>2]=E;f[k+4>>2]=z;VO(F,2,k,0)}F=f[a+108>>2]|0;z=a+32|0;E=a+36|0;G=f[E>>2]|0;H=f[z>>2]|0;I=G-H>>2;J=H;H=G;if(F>>>0<=I>>>0){if(F>>>0>>0?(G=J+(F<<2)|0,(G|0)!=(H|0)):0)f[E>>2]=H+(~((H+-4-G|0)>>>2)<<2);if(!F)break}else eK(z,F-I|0);FVa(f[z>>2]|0,-1,F<<2|0)|0}while(0);f[o>>2]=1124007936;D=o+4|0;t=o+8|0;v=o+40|0;s=D;i=s+36|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(i|0));f[v>>2]=t;t=o+48|0;F=o+44|0;f[F>>2]=t;f[t>>2]=0;f[o+52>>2]=0;f[k>>2]=d;f[k+4>>2]=l;VO(o,2,k,5);z=f[r>>2]|0;K=+p[z+48>>3];if(K>0.0)L=K;else L=+((f[z+16>>2]|0)+(f[z+12>>2]|0)|0)*.125;K=L;L=1.0/(K*K*2.0);z=k+8|0;f[k>>2]=z;r=k+4|0;f[r>>2]=d;if(d>>>0>264){I=FQa(d>>>0>1073741823?-1:d<<2)|0;f[k>>2]=I;M=I}else M=z;I=q+8|0;f[q>>2]=I;G=q+4|0;f[G>>2]=l;if(l>>>0>264){H=FQa(l>>>0>1073741823?-1:l<<2)|0;f[q>>2]=H;N=H}else N=I;K=+(d|0)*.5;O=+(l|0)*.5;H=(d|0)>0;if(H){E=0;do{P=+(E|0)-K;n[M+(E<<2)>>2]=P*P;E=E+1|0}while((E|0)!=(d|0))}E=(l|0)>0;if(E){J=0;do{K=+(J|0)-O;n[N+(J<<2)>>2]=K*K;J=J+1|0}while((J|0)!=(l|0))}if(H?(J=f[o+16>>2]|0,E):0){Q=f[f[F>>2]>>2]|0;R=0;do{S=M+(R<<2)|0;T=J+(X(Q,R)|0)|0;V=0;do{O=+U(+-(L*(+n[S>>2]+ +n[N+(V<<2)>>2])));n[T+(V<<2)>>2]=O;V=V+1|0}while((V|0)!=(l|0));R=R+1|0}while((R|0)!=(d|0))}if((N|0)==(I|0))W=M;else{HQa(N);N=f[k>>2]|0;f[q>>2]=I;f[G>>2]=264;W=N}if((W|0)!=(z|0)){if(W|0)HQa(W);f[k>>2]=z;f[r>>2]=264}r=a+16|0;z=X(f[e>>2]|0,f[y>>2]|0)|0;k=a+20|0;W=f[k>>2]|0;N=f[r>>2]|0;G=(W-N|0)/12|0;I=N;N=W;if(z>>>0<=G>>>0){if(z>>>0>>0?(W=I+(z*12|0)|0,(W|0)!=(N|0)):0)f[k>>2]=N+(~(((N+-12-W|0)>>>0)/12|0)*12|0)}else mua(r,z-G|0);G=a+4|0;z=m*3|0;W=a+8|0;N=f[W>>2]|0;k=f[G>>2]|0;I=(N-k|0)/44|0;q=k;k=N;if(z>>>0<=I>>>0){if(z>>>0>>0?(N=q+(z*44|0)|0,(N|0)!=(k|0)):0)f[W>>2]=k+(~(((k+-44-N|0)>>>0)/44|0)*44|0)}else nua(G,z-I|0);I=a+88|0;f[I>>2]=0;z=a+84|0;f[z>>2]=0;N=a+80|0;f[N>>2]=0;if(E){L=+(g|0);O=+(w|0);w=m<<1;g=a+224|0;E=a+280|0;a=f[o+16>>2]|0;k=f[F>>2]|0;W=0;do{if(H){K=(+(W|0)+.5)/L+-.5;q=~~K;M=q-(K<+(q|0)&1)|0;q=M+1|0;P=K-+(M|0);K=1.0-P;R=0;do{Y=(+(R|0)+.5)/O+-.5;Q=~~Y;J=Q-(Y<+(Q|0)&1)|0;Q=J+1|0;Z=Y-+(J|0);V=f[B>>2]|0;T=M>>>0>>0;do if(T&q>>>0>>0){S=f[C>>2]|0;_=J>>>0>>0;if(_&Q>>>0>>0){$=f[I>>2]|0;f[I>>2]=$+1;aa=$+w|0;$=f[G>>2]|0;ba=X((X(S,M)|0)+J|0,x)|0;f[$+(aa*44|0)+8>>2]=ba;Y=1.0-Z;n[$+(aa*44|0)+24>>2]=K*Y;ba=X((X(f[C>>2]|0,q)|0)+J|0,x)|0;f[$+(aa*44|0)+12>>2]=ba;n[$+(aa*44|0)+28>>2]=P*Y;ba=X((X(f[C>>2]|0,M)|0)+Q|0,x)|0;f[$+(aa*44|0)+16>>2]=ba;n[$+(aa*44|0)+32>>2]=K*Z;ba=X((X(f[C>>2]|0,q)|0)+Q|0,x)|0;f[$+(aa*44|0)+20>>2]=ba;ca=$+(aa*44|0)|0;da=3;ea=P*Z;break}else{aa=f[z>>2]|0;f[z>>2]=aa+1;$=aa+m|0;aa=f[G>>2]|0;Y=_?1.0-Z:Z;ba=_?J:Q;_=X(ba+(X(S,M)|0)|0,x)|0;f[aa+($*44|0)+8>>2]=_;n[aa+($*44|0)+24>>2]=K*Y;_=X((X(f[C>>2]|0,q)|0)+ba|0,x)|0;f[aa+($*44|0)+12>>2]=_;n[aa+($*44|0)+28>>2]=P*Y;f[aa+($*44|0)+20>>2]=0;f[aa+($*44|0)+16>>2]=0;n[aa+($*44|0)+36>>2]=0.0;ca=aa+($*44|0)|0;da=2;ea=0.0;break}}else{Y=T?K:P;$=T?M:q;aa=f[C>>2]|0;_=J>>>0>>0;if(_&Q>>>0>>0){ba=f[z>>2]|0;f[z>>2]=ba+1;S=ba+m|0;ba=f[G>>2]|0;fa=X((X(aa,$)|0)+J|0,x)|0;f[ba+(S*44|0)+8>>2]=fa;n[ba+(S*44|0)+24>>2]=(1.0-Z)*Y;fa=X((X(f[C>>2]|0,$)|0)+Q|0,x)|0;f[ba+(S*44|0)+12>>2]=fa;n[ba+(S*44|0)+28>>2]=Z*Y;f[ba+(S*44|0)+20>>2]=0;f[ba+(S*44|0)+16>>2]=0;n[ba+(S*44|0)+36>>2]=0.0;ca=ba+(S*44|0)|0;da=2;ea=0.0;break}else{S=f[N>>2]|0;f[N>>2]=S+1;ba=f[G>>2]|0;fa=X((_?J:Q)+(X(aa,$)|0)|0,x)|0;f[ba+(S*44|0)+8>>2]=fa;n[ba+(S*44|0)+24>>2]=Y*(_?1.0-Z:Z);f[ba+(S*44|0)+20>>2]=0;f[ba+(S*44|0)+16>>2]=0;f[ba+(S*44|0)+12>>2]=0;n[ba+(S*44|0)+36>>2]=0.0;n[ba+(S*44|0)+32>>2]=0.0;ca=ba+(S*44|0)|0;da=1;ea=0.0;break}}while(0);n[ca+24+(da<<2)>>2]=ea;Q=(X(f[g>>2]|0,R)|0)+W<<1;f[ca>>2]=Q;Q=(X(f[E>>2]|0,R)|0)+W<<1;f[ca+4>>2]=Q;Q=a+(X(f[k>>2]|0,R)|0)+(W<<2)|0;f[ca+40>>2]=f[Q>>2];R=R+1|0}while((R|0)!=(d|0))}W=W+1|0}while((W|0)!=(l|0));l=f[z>>2]|0;if((l|0)>0){W=0;do{d=f[G>>2]|0;s=d+(((f[N>>2]|0)+W|0)*44|0)|0;ga=d+((W+m|0)*44|0)|0;i=s+44|0;do{f[s>>2]=f[ga>>2];s=s+4|0;ga=ga+4|0}while((s|0)<(i|0));W=W+1|0;d=f[z>>2]|0}while((W|0)<(d|0));ha=d}else ha=l;l=f[I>>2]|0;if((l|0)>0){W=m<<1;m=f[G>>2]|0;s=m+(((f[N>>2]|0)+ha|0)*44|0)|0;ga=m+(W*44|0)|0;i=s+44|0;do{f[s>>2]=f[ga>>2];s=s+4|0;ga=ga+4|0}while((s|0)<(i|0));m=f[I>>2]|0;if((m|0)>1){d=1;do{ca=f[G>>2]|0;s=ca+(((f[N>>2]|0)+d+(f[z>>2]|0)|0)*44|0)|0;ga=ca+((d+W|0)*44|0)|0;i=s+44|0;do{f[s>>2]=f[ga>>2];s=s+4|0;ga=ga+4|0}while((s|0)<(i|0));d=d+1|0;ca=f[I>>2]|0}while((d|0)<(ca|0));ia=ca}else ia=m;ja=f[z>>2]|0;ka=ia}else{ja=ha;ka=l}}else{ja=0;ka=0}l=ja+(f[N>>2]|0)|0;f[z>>2]=l;f[I>>2]=ka+l;l=f[y>>2]|0;if((l|0)>0?(y=f[e>>2]|0,(y|0)>0):0){e=f[r>>2]|0;r=f[A>>2]|0;A=(y|0)==1;ka=0;do{I=X(ka,c)|0;z=X(y,ka)|0;N=X(r,z)|0;f[e+(z*12|0)>>2]=N;f[e+(z*12|0)+4>>2]=I;f[e+(z*12|0)+8>>2]=0;if(!A){N=1;do{ja=z+N|0;ha=X(r,ja)|0;f[e+(ja*12|0)>>2]=ha;ha=X(N,h)|0;f[e+(ja*12|0)+4>>2]=I;f[e+(ja*12|0)+8>>2]=ha;N=N+1|0}while((N|0)<(y|0))}ka=ka+1|0}while((ka|0)<(l|0))}l=o+36|0;ka=f[l>>2]|0;if(ka|0?(y=ka+12|0,ka=f[y>>2]|0,f[y>>2]=ka+-1,(ka|0)==1):0)XO(o);f[l>>2]=0;l=o+16|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;if((f[D>>2]|0)>0){l=f[v>>2]|0;v=0;do{f[l+(v<<2)>>2]=0;v=v+1|0}while((v|0)<(f[D>>2]|0))}D=f[F>>2]|0;if((D|0)==(t|0)){u=j;return}dX(D);u=j;return}function lua(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,o=0.0,q=0,r=0.0,t=0.0,v=0,w=0,x=0,y=0.0,z=0;c=u;u=u+16|0;d=c+4|0;e=c;g=f[a+76>>2]|0;h=g+-4|0;i=0;j=0.0;k=0.0;l=0.0;m=0.0;do{o=+n[b+(i<<2)>>2];j=j+o*o;o=+n[b+((i|1)<<2)>>2];k=k+o*o;o=+n[b+((i|2)<<2)>>2];l=l+o*o;o=+n[b+((i|3)<<2)>>2];m=m+o*o;i=i+4|0}while(i>>>0<=h>>>0);o=m+l+(k+j);if(i>>>0>>0){j=o;q=i;while(1){k=+n[b+(q<<2)>>2];l=j+k*k;q=q+1|0;if((q|0)==(g|0)){r=l;break}else j=l}}else r=o;o=1.0/(+(g>>>0)*.10000000149011612+ +L(+r));r=+p[(f[a+324>>2]|0)+64>>3];n[d>>2]=r;a=0;j=0.0;l=0.0;k=0.0;m=0.0;do{q=b+(a<<2)|0;t=o*+n[q>>2];n[e>>2]=t;i=f[(t>r?d:e)>>2]|0;f[q>>2]=i;q=b+((a|1)<<2)|0;t=o*+n[q>>2];n[e>>2]=t;v=f[(t>r?d:e)>>2]|0;f[q>>2]=v;q=b+((a|2)<<2)|0;t=o*+n[q>>2];n[e>>2]=t;w=f[(t>r?d:e)>>2]|0;f[q>>2]=w;q=b+((a|3)<<2)|0;t=o*+n[q>>2];n[e>>2]=t;x=f[(t>r?d:e)>>2]|0;f[q>>2]=x;t=(f[s>>2]=i,+n[s>>2]);j=j+t*t;t=(f[s>>2]=v,+n[s>>2]);l=l+t*t;t=(f[s>>2]=w,+n[s>>2]);k=k+t*t;t=(f[s>>2]=x,+n[s>>2]);m=m+t*t;a=a+4|0}while(a>>>0<=h>>>0);t=m+k+(l+j);if(a>>>0>>0){j=t;h=a;while(1){a=b+(h<<2)|0;l=o*+n[a>>2];n[e>>2]=l;x=f[(l>r?d:e)>>2]|0;f[a>>2]=x;l=(f[s>>2]=x,+n[s>>2]);k=j+l*l;h=h+1|0;if((h|0)==(g|0)){y=k;break}else j=k}}else y=t;t=1.0/(+L(+y)+1.0000000474974513e-03);if(!g){u=c;return}else z=0;do{h=b+(z<<2)|0;n[h>>2]=t*+n[h>>2];z=z+1|0}while((z|0)!=(g|0));u=c;return}function mua(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(((d-g|0)/12|0)>>>0>=b>>>0){FVa(g|0,0,b*12|0)|0;f[e>>2]=h+(b*12|0);return}i=f[a>>2]|0;j=(g-i|0)/12|0;g=j+b|0;k=i;if(g>>>0>357913941)ZOa(a);l=(d-i|0)/12|0;d=l<<1;m=l>>>0<178956970?(d>>>0>>0?g:d):357913941;do if(m)if(m>>>0>357913941){d=hd(8)|0;LQa(d,349912);f[d>>2]=118288;ld(d|0,20688,857)}else{n=EQa(m*12|0)|0;break}else n=0;while(0);d=n+(j*12|0)|0;j=n+(m*12|0)|0;FVa(d|0,0,b*12|0)|0;m=d+(b*12|0)|0;if((h|0)==(k|0)){o=d;p=i}else{i=h;h=d;do{d=i;i=i+-12|0;f[h+-12>>2]=f[i>>2];f[h+-8>>2]=f[d+-8>>2];f[h+-4>>2]=f[d+-4>>2];h=h+-12|0}while((i|0)!=(k|0));o=h;p=f[a>>2]|0}f[a>>2]=o;f[e>>2]=m;f[c>>2]=j;if(!p)return;GQa(p);return}function nua(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(((d-g|0)/44|0)>>>0>=b>>>0){h=b;i=g;do{j=i;k=j+44|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));i=(f[e>>2]|0)+44|0;f[e>>2]=i;h=h+-1|0}while((h|0)!=0);return}h=f[a>>2]|0;i=(g-h|0)/44|0;g=i+b|0;if(g>>>0>97612893)ZOa(a);l=(d-h|0)/44|0;h=l<<1;d=l>>>0<48806446?(h>>>0>>0?g:h):97612893;do if(d)if(d>>>0>97612893){h=hd(8)|0;LQa(h,349912);f[h>>2]=118288;ld(h|0,20688,857)}else{m=EQa(d*44|0)|0;break}else m=0;while(0);h=m+(i*44|0)|0;i=m+(d*44|0)|0;d=b;b=h;m=h;do{j=b;k=j+44|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));b=m+44|0;m=b;d=d+-1|0}while((d|0)!=0);d=f[a>>2]|0;b=(f[e>>2]|0)-d|0;j=h+(((b|0)/-44|0)*44|0)|0;if((b|0)>0)DVa(j|0,d|0,b|0)|0;f[a>>2]=j;f[e>>2]=m;f[c>>2]=i;if(!d)return;GQa(d);return}function oua(a){a=a|0;var b=0,c=0;f[a>>2]=76716;tN(a+88|0);b=f[a+76>>2]|0;if(!b)return;c=a+80|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);GQa(b);return}function pua(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=76716;tN(a+88|0);b=f[a+76>>2]|0;if(!b){GQa(a);return}c=a+80|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b);GQa(a);return}function qua(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0.0;d=u;u=u+128|0;e=d+112|0;g=d+56|0;h=d;do if((HJ(c)|0)==65536){i=f[c+4>>2]|0;f[g>>2]=f[i>>2];j=g+4|0;k=i+4|0;f[j>>2]=f[k>>2];l=g+8|0;f[l>>2]=f[i+8>>2];f[g+12>>2]=f[i+12>>2];f[g+16>>2]=f[i+16>>2];f[g+20>>2]=f[i+20>>2];f[g+24>>2]=f[i+24>>2];f[g+28>>2]=f[i+28>>2];f[g+32>>2]=f[i+32>>2];m=f[i+36>>2]|0;f[g+36>>2]=m;f[g+40>>2]=l;l=g+48|0;o=g+44|0;f[o>>2]=l;f[l>>2]=0;f[g+52>>2]=0;if(m|0){l=m+12|0;f[l>>2]=(f[l>>2]|0)+1}if((f[k>>2]|0)<3){k=f[i+44>>2]|0;l=f[o>>2]|0;f[l>>2]=f[k>>2];f[l+4>>2]=f[k+4>>2];break}else{f[j>>2]=0;WO(g,i);break}}else DJ(g,c,-1);while(0);c=a+76|0;i=e+8|0;f[i>>2]=0;f[i+4>>2]=0;f[e>>2]=-2113732603;f[e+4>>2]=c;AO(g,e,5,1.0,0.0);i=g+36|0;j=f[i>>2]|0;if(j|0?(k=j+12|0,j=f[k>>2]|0,f[k>>2]=j+-1,(j|0)==1):0)XO(g);f[i>>2]=0;i=g+16|0;j=g+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[j>>2]|0)>0){i=f[g+40>>2]|0;k=0;do{f[i+(k<<2)>>2]=0;k=k+1|0}while((k|0)<(f[j>>2]|0))}j=f[g+44>>2]|0;if((j|0)!=(g+48|0))dX(j);j=a+80|0;g=(f[j>>2]|0)-(f[c>>2]|0)>>2;k=Jua(a)|0;if(!((g|0)==(k+1|0)|((g|0)==0|(g|0)==(k|0)))){f[e>>2]=0;f[e+4>>2]=0;p=JV(e,19)|0;k=336873;q=p+19|0;do{b[p>>0]=b[k>>0]|0;p=p+1|0;k=k+1|0}while((p|0)<(q|0));EP(-215,e,336893,334775,117);KV(e)}k=(f[j>>2]|0)-(f[c>>2]|0)>>2;f[h>>2]=1124007936;g=h+4|0;i=h+8|0;l=h+40|0;p=g;q=p+36|0;do{f[p>>2]=0;p=p+4|0}while((p|0)<(q|0));f[l>>2]=i;i=h+48|0;p=h+44|0;f[p>>2]=i;f[i>>2]=0;f[h+52>>2]=0;f[e>>2]=1;f[e+4>>2]=k;VO(h,2,e,5);k=f[a+12>>2]|0;q=f[a+16>>2]|0;o=X(X((k|0)/(f[a+28>>2]|0)|0,f[a+36>>2]|0)|0,(q|0)/(f[a+32>>2]|0)|0)|0;m=f[a+20>>2]|0;r=f[a+24>>2]|0;s=((f[a+4>>2]|0)-k+m|0)/(m|0)|0;m=((f[a+8>>2]|0)-q+r|0)/(r|0)|0;if((m|0)>0?(r=f[h+16>>2]|0,q=(o|0)==0,(s|0)>0):0){k=f[c>>2]|0;t=0;do{v=X(t,s)|0;if(!q){w=0;do{x=k+((X((X(w,m)|0)+t|0,o)|0)<<2)|0;y=r+((X(w+v|0,o)|0)<<2)|0;z=0;do{f[y+(z<<2)>>2]=f[x+(z<<2)>>2];z=z+1|0}while((z|0)!=(o|0));w=w+1|0}while((w|0)!=(s|0))}t=t+1|0}while((t|0)!=(m|0))}m=Jua(a)|0;t=f[c>>2]|0;if((f[j>>2]|0)-t>>2>>>0>m>>>0)A=+n[t+(m<<2)>>2];else A=0.0;n[a+136>>2]=A;m=e+8|0;f[m>>2]=0;f[m+4>>2]=0;f[e>>2]=34209792;f[e+4>>2]=a+88;eM(h,e);e=h+36|0;a=f[e>>2]|0;if(a|0?(m=a+12|0,a=f[m>>2]|0,f[m>>2]=a+-1,(a|0)==1):0)XO(h);f[e>>2]=0;e=h+16|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;if((f[g>>2]|0)>0){e=f[l>>2]|0;l=0;do{f[e+(l<<2)>>2]=0;l=l+1|0}while((l|0)<(f[g>>2]|0))}g=f[p>>2]|0;if((g|0)==(i|0)){u=d;return}dX(g);u=d;return}function rua(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=u;u=u+192|0;e=d+140|0;g=d+96|0;h=d+8|0;i=d+88|0;j=d+80|0;k=d+72|0;l=d+64|0;m=d+56|0;n=d;if((ES(c)|0)!=6){o=0;u=d;return o|0}tS(i,c,336721);uS(h,f[i>>2]|0,f[i+4>>2]|0,0);i=h+20|0;p=f[i>>2]|0;f[e>>2]=f[h>>2];f[e+4>>2]=p;FS(e,a+4|0,0);p=wS(h)|0;q=f[h+20>>2]|0;f[e>>2]=f[h>>2];f[e+4>>2]=q;FS(e,a+8|0,0);wS(p)|0;tS(j,c,336729);uS(e,f[j>>2]|0,f[j+4>>2]|0,0);j=h;p=e;q=j+44|0;do{f[j>>2]=f[p>>2];j=j+4|0;p=p+4|0}while((j|0)<(q|0));r=f[i>>2]|0;f[e>>2]=f[h>>2];f[e+4>>2]=r;FS(e,a+12|0,0);r=wS(h)|0;s=f[h+20>>2]|0;f[e>>2]=f[h>>2];f[e+4>>2]=s;FS(e,a+16|0,0);wS(r)|0;tS(k,c,336739);uS(e,f[k>>2]|0,f[k+4>>2]|0,0);j=h;p=e;q=j+44|0;do{f[j>>2]=f[p>>2];j=j+4|0;p=p+4|0}while((j|0)<(q|0));k=f[i>>2]|0;f[e>>2]=f[h>>2];f[e+4>>2]=k;FS(e,a+20|0,0);k=wS(h)|0;r=f[h+20>>2]|0;f[e>>2]=f[h>>2];f[e+4>>2]=r;FS(e,a+24|0,0);wS(k)|0;tS(l,c,336855);uS(e,f[l>>2]|0,f[l+4>>2]|0,0);j=h;p=e;q=j+44|0;do{f[j>>2]=f[p>>2];j=j+4|0;p=p+4|0}while((j|0)<(q|0));l=f[i>>2]|0;f[e>>2]=f[h>>2];f[e+4>>2]=l;FS(e,a+28|0,0);l=wS(h)|0;i=f[h+20>>2]|0;f[e>>2]=f[h>>2];f[e+4>>2]=i;FS(e,a+32|0,0);wS(l)|0;tS(e,c,336751);FS(e,a+36|0,0);tS(e,c,336757);FS(e,a+40|0,0);tS(e,c,336864);HS(e,a+48|0,0.0);tS(e,c,336771);FS(e,a+56|0,0);tS(e,c,336789);HS(e,a+64|0,0.0);tS(g,c,336804);FS(g,e,0);b[a+72>>0]=(f[e>>2]|0)!=0&1;tS(e,c,336820);FS(e,a+140|0,0);tS(m,c,336828);if(!(f[m+4>>2]|0))b[a+144>>0]=0;else{tS(g,c,336828);FS(g,e,0);b[a+144>>0]=(f[e>>2]|0)!=0&1}tS(n,c,336843);if((ES(n)|0)==5?(c=a+76|0,uS(g,f[n>>2]|0,f[n+4>>2]|0,0),f[e>>2]=g,Tua(e,c,2147483647),g=(f[a+80>>2]|0)-(f[c>>2]|0)>>2,c=Jua(a)|0,!((g|0)==(c+1|0)|((g|0)==0|(g|0)==(c|0)))):0){f[e>>2]=0;f[e+4>>2]=0;j=JV(e,19)|0;p=336873;q=j+19|0;do{b[j>>0]=b[p>>0]|0;j=j+1|0;p=p+1|0}while((j|0)<(q|0));EP(-215,e,339956,334775,167);KV(e)}o=1;u=d;return o|0}function sua(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,q=0.0,r=0,s=0;e=u;u=u+16|0;g=e+8|0;i=e;if(f[d+4>>2]|0)pS(c,d)|0;f[g>>2]=0;f[g+4>>2]=0;d=JV(g,27)|0;j=336693;k=d+27|0;do{b[d>>0]=b[j>>0]|0;d=d+1|0;j=j+1|0}while((d|0)<(k|0));l=pS(c,g)|0;KV(g);f[g>>2]=0;f[g+4>>2]=0;m=JV(g,7)|0;b[m>>0]=b[336721]|0;b[m+1>>0]=b[336722]|0;b[m+2>>0]=b[336723]|0;b[m+3>>0]=b[336724]|0;b[m+4>>0]=b[336725]|0;b[m+5>>0]=b[336726]|0;b[m+6>>0]=b[336727]|0;m=pS(l,g)|0;KV(g);l=Rua(m,a+4|0)|0;f[g>>2]=0;f[g+4>>2]=0;d=JV(g,9)|0;j=336729;k=d+9|0;do{b[d>>0]=b[j>>0]|0;d=d+1|0;j=j+1|0}while((d|0)<(k|0));m=pS(l,g)|0;KV(g);l=Rua(m,a+12|0)|0;f[g>>2]=0;f[g+4>>2]=0;d=JV(g,11)|0;j=336739;k=d+11|0;do{b[d>>0]=b[j>>0]|0;d=d+1|0;j=j+1|0}while((d|0)<(k|0));m=pS(l,g)|0;KV(g);l=Rua(m,a+20|0)|0;f[g>>2]=0;f[g+4>>2]=0;m=JV(g,8)|0;n=m;b[n>>0]=99;b[n+1>>0]=101;b[n+2>>0]=108;b[n+3>>0]=108;n=m+4|0;b[n>>0]=83;b[n+1>>0]=105;b[n+2>>0]=122;b[n+3>>0]=101;n=pS(l,g)|0;KV(g);l=Rua(n,a+28|0)|0;f[g>>2]=0;f[g+4>>2]=0;n=JV(g,5)|0;b[n>>0]=b[336751]|0;b[n+1>>0]=b[336752]|0;b[n+2>>0]=b[336753]|0;b[n+3>>0]=b[336754]|0;b[n+4>>0]=b[336755]|0;n=pS(l,g)|0;KV(g);l=a+36|0;if(Wf[f[(f[c>>2]|0)+12>>2]&255](n)|0){m=c+32|0;if((f[m>>2]|0)==6){f[g>>2]=0;f[g+4>>2]=0;d=JV(g,30)|0;j=340117;k=d+30|0;do{b[d>>0]=b[j>>0]|0;d=d+1|0;j=j+1|0}while((d|0)<(k|0));EP(-2,g,451841,340148,1181);KV(g)}yS(n,c+12|0,f[l>>2]|0);if(f[m>>2]&4|0)f[m>>2]=6}f[g>>2]=0;f[g+4>>2]=0;d=JV(g,13)|0;j=336757;k=d+13|0;do{b[d>>0]=b[j>>0]|0;d=d+1|0;j=j+1|0}while((d|0)<(k|0));m=pS(n,g)|0;KV(g);n=a+40|0;if(Wf[f[(f[c>>2]|0)+12>>2]&255](m)|0){l=c+32|0;if((f[l>>2]|0)==6){f[g>>2]=0;f[g+4>>2]=0;d=JV(g,30)|0;j=340117;k=d+30|0;do{b[d>>0]=b[j>>0]|0;d=d+1|0;j=j+1|0}while((d|0)<(k|0));EP(-2,g,451841,340148,1181);KV(g)}yS(m,c+12|0,f[n>>2]|0);if(f[l>>2]&4|0)f[l>>2]=6}f[g>>2]=0;f[g+4>>2]=0;l=JV(g,8)|0;n=l;b[n>>0]=119;b[n+1>>0]=105;b[n+2>>0]=110;b[n+3>>0]=83;n=l+4|0;b[n>>0]=105;b[n+1>>0]=103;b[n+2>>0]=109;b[n+3>>0]=97;n=pS(m,g)|0;KV(g);o=+p[a+48>>3];if(o>0.0)q=o;else q=+((f[a+16>>2]|0)+(f[a+12>>2]|0)|0)*.125;if(Wf[f[(f[c>>2]|0)+12>>2]&255](n)|0){m=c+32|0;if((f[m>>2]|0)==6){f[g>>2]=0;f[g+4>>2]=0;d=JV(g,30)|0;j=340117;k=d+30|0;do{b[d>>0]=b[j>>0]|0;d=d+1|0;j=j+1|0}while((d|0)<(k|0));EP(-2,g,451841,340148,1181);KV(g)}AS(n,c+12|0,q);if(f[m>>2]&4|0)f[m>>2]=6}f[g>>2]=0;f[g+4>>2]=0;d=JV(g,17)|0;j=336771;k=d+17|0;do{b[d>>0]=b[j>>0]|0;d=d+1|0;j=j+1|0}while((d|0)<(k|0));m=pS(n,g)|0;KV(g);n=a+56|0;if(Wf[f[(f[c>>2]|0)+12>>2]&255](m)|0){l=c+32|0;if((f[l>>2]|0)==6){f[g>>2]=0;f[g+4>>2]=0;d=JV(g,30)|0;j=340117;k=d+30|0;do{b[d>>0]=b[j>>0]|0;d=d+1|0;j=j+1|0}while((d|0)<(k|0));EP(-2,g,451841,340148,1181);KV(g)}yS(m,c+12|0,f[n>>2]|0);if(f[l>>2]&4|0)f[l>>2]=6}f[g>>2]=0;f[g+4>>2]=0;d=JV(g,14)|0;j=336789;k=d+14|0;do{b[d>>0]=b[j>>0]|0;d=d+1|0;j=j+1|0}while((d|0)<(k|0));l=pS(m,g)|0;KV(g);m=a+64|0;if(Wf[f[(f[c>>2]|0)+12>>2]&255](l)|0){n=c+32|0;if((f[n>>2]|0)==6){f[g>>2]=0;f[g+4>>2]=0;d=JV(g,30)|0;j=340117;k=d+30|0;do{b[d>>0]=b[j>>0]|0;d=d+1|0;j=j+1|0}while((d|0)<(k|0));EP(-2,g,451841,340148,1181);KV(g)}AS(l,c+12|0,+p[m>>3]);if(f[n>>2]&4|0)f[n>>2]=6}f[g>>2]=0;f[g+4>>2]=0;d=JV(g,15)|0;j=336804;k=d+15|0;do{b[d>>0]=b[j>>0]|0;d=d+1|0;j=j+1|0}while((d|0)<(k|0));n=pS(l,g)|0;KV(g);l=a+72|0;if(Wf[f[(f[c>>2]|0)+12>>2]&255](n)|0){m=c+32|0;if((f[m>>2]|0)==6){f[g>>2]=0;f[g+4>>2]=0;d=JV(g,30)|0;j=340117;k=d+30|0;do{b[d>>0]=b[j>>0]|0;d=d+1|0;j=j+1|0}while((d|0)<(k|0));EP(-2,g,451841,340148,1181);KV(g)}yS(n,c+12|0,h[l>>0]|0);if(f[m>>2]&4|0)f[m>>2]=6}f[g>>2]=0;f[g+4>>2]=0;m=JV(g,7)|0;b[m>>0]=b[336820]|0;b[m+1>>0]=b[336821]|0;b[m+2>>0]=b[336822]|0;b[m+3>>0]=b[336823]|0;b[m+4>>0]=b[336824]|0;b[m+5>>0]=b[336825]|0;b[m+6>>0]=b[336826]|0;m=pS(n,g)|0;KV(g);n=a+140|0;if(Wf[f[(f[c>>2]|0)+12>>2]&255](m)|0){l=c+32|0;if((f[l>>2]|0)==6){f[g>>2]=0;f[g+4>>2]=0;d=JV(g,30)|0;j=340117;k=d+30|0;do{b[d>>0]=b[j>>0]|0;d=d+1|0;j=j+1|0}while((d|0)<(k|0));EP(-2,g,451841,340148,1181);KV(g)}yS(m,c+12|0,f[n>>2]|0);if(f[l>>2]&4|0)f[l>>2]=6}f[g>>2]=0;f[g+4>>2]=0;d=JV(g,14)|0;j=336828;k=d+14|0;do{b[d>>0]=b[j>>0]|0;d=d+1|0;j=j+1|0}while((d|0)<(k|0));l=pS(m,g)|0;KV(g);m=a+144|0;if(Wf[f[(f[c>>2]|0)+12>>2]&255](l)|0){n=c+32|0;if((f[n>>2]|0)==6){f[g>>2]=0;f[g+4>>2]=0;d=JV(g,30)|0;j=340117;k=d+30|0;do{b[d>>0]=b[j>>0]|0;d=d+1|0;j=j+1|0}while((d|0)<(k|0));EP(-2,g,451841,340148,1181);KV(g)}yS(l,c+12|0,h[m>>0]|0);if(f[n>>2]&4|0)f[n>>2]=6}n=a+76|0;if((f[n>>2]|0)==(f[a+80>>2]|0)){f[g>>2]=0;r=g+4|0;f[r>>2]=0;s=JV(g,1)|0;b[s>>0]=125;pS(c,g)|0;KV(g);u=e;return}f[g>>2]=0;f[g+4>>2]=0;d=JV(g,11)|0;j=336843;k=d+11|0;do{b[d>>0]=b[j>>0]|0;d=d+1|0;j=j+1|0}while((d|0)<(k|0));a=pS(c,g)|0;KV(g);if(!(Wf[f[(f[c>>2]|0)+12>>2]&255](a)|0)){f[g>>2]=0;r=g+4|0;f[r>>2]=0;s=JV(g,1)|0;b[s>>0]=125;pS(c,g)|0;KV(g);u=e;return}m=c+32|0;if((f[m>>2]|0)==6){f[g>>2]=0;f[g+4>>2]=0;d=JV(g,30)|0;j=340117;k=d+30|0;do{b[d>>0]=b[j>>0]|0;d=d+1|0;j=j+1|0}while((d|0)<(k|0));EP(-2,g,451841,340148,1181);KV(g)}f[g>>2]=0;f[g+4>>2]=0;CS(i,a,c+12|0,13,g);KV(g);f[g>>2]=a;Sua(g,n);DS(i);if(!(f[m>>2]&4)){f[g>>2]=0;r=g+4|0;f[r>>2]=0;s=JV(g,1)|0;b[s>>0]=125;pS(c,g)|0;KV(g);u=e;return}f[m>>2]=6;f[g>>2]=0;r=g+4|0;f[r>>2]=0;s=JV(g,1)|0;b[s>>0]=125;pS(c,g)|0;KV(g);u=e;return}function tua(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+144|0;e=d+136|0;g=d+88|0;h=d+44|0;i=d+8|0;j=d;f[e>>2]=0;f[e+4>>2]=0;mS(i,b,0,e);KV(e);if(f[c+4>>2]|0){sS(j,i,c);k=f[a>>2]|0;l=k+12|0;m=f[l>>2]|0;n=Zf[m&127](a,j)|0;eS(i);u=d;return n|0}oS(e,i,0);c=e+4|0;uS(g,f[e>>2]|0,f[c>>2]|0,0);b=f[e>>2]|0;o=f[c>>2]|0;uS(h,b,o,vS(e)|0);e=f[g>>2]|0;o=e;if((((e|0)==(f[h>>2]|0)?(f[g+4>>2]|0)==(f[h+4>>2]|0):0)?(f[g+20>>2]|0)==(f[h+20>>2]|0):0)?(f[g+40>>2]|0)==(f[h+40>>2]|0):0){f[j>>2]=0;f[j+4>>2]=0}else{h=f[g+20>>2]|0;f[j>>2]=o;f[j+4>>2]=h}k=f[a>>2]|0;l=k+12|0;m=f[l>>2]|0;n=Zf[m&127](a,j)|0;eS(i);u=d;return n|0}function uua(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+48|0;e=d+8|0;g=d;f[g>>2]=0;f[g+4>>2]=0;mS(e,b,1,g);KV(g);h=f[(f[a>>2]|0)+16>>2]|0;i=f[c+4>>2]|0;if(i){j=f[c>>2]|0;f[g>>2]=j;f[g+4>>2]=i;if(j|0){i=j+-4|0;f[i>>2]=(f[i>>2]|0)+1}}else rS(g,b);Rg[h&255](a,e,g);KV(g);eS(e);u=d;return}function vua(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;f[c+4>>2]=f[a+4>>2];f[c+8>>2]=f[a+8>>2];f[c+12>>2]=f[a+12>>2];f[c+16>>2]=f[a+16>>2];f[c+20>>2]=f[a+20>>2];f[c+24>>2]=f[a+24>>2];f[c+28>>2]=f[a+28>>2];f[c+32>>2]=f[a+32>>2];f[c+36>>2]=f[a+36>>2];f[c+40>>2]=f[a+40>>2];p[c+48>>3]=+p[a+48>>3];f[c+56>>2]=f[a+56>>2];p[c+64>>3]=+p[a+64>>3];b[c+72>>0]=b[a+72>>0]|0;if((c|0)==(a|0)){d=a+140|0;e=f[d>>2]|0;g=c+140|0;f[g>>2]=e;h=a+144|0;i=b[h>>0]|0;j=c+144|0;b[j>>0]=i;return}xA(c+76|0,f[a+76>>2]|0,f[a+80>>2]|0);d=a+140|0;e=f[d>>2]|0;g=c+140|0;f[g>>2]=e;h=a+144|0;i=b[h>>0]|0;j=c+144|0;b[j>>0]=i;return}function wua(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;h=u;u=u+416|0;i=h+408|0;j=h+400|0;k=h+392|0;l=h+336|0;m=h+8|0;n=h;yV(i,77e3);o=f[d>>2]|0;p=d+4|0;q=f[p>>2]|0;if(!(q|o)){r=f[a+28>>2]|0;f[d>>2]=r;s=f[a+32>>2]|0;f[p>>2]=s;t=r;v=s}else{t=o;v=q}q=f[a+20>>2]|0;o=(t|0)<(q|0);s=o?q:t;r=o?t:q;if((r|0)>0){q=s;t=r;while(1){r=(q|0)%(t|0)|0;if((r|0)>0){o=t;t=r;q=o}else{w=t;break}}}else w=s;s=f[a+24>>2]|0;t=(v|0)<(s|0);q=t?s:v;o=t?v:s;if((o|0)>0){s=q;v=o;while(1){o=(s|0)%(v|0)|0;if((o|0)>0){t=v;v=o;s=t}else{x=v;break}}}else x=q;f[j>>2]=w;w=j+4|0;f[w>>2]=x;FJ(k,b,-1);x=g+4|0;q=(f[x>>2]|0)-(f[g>>2]|0)>>3;v=f[e>>2]|0;s=f[j>>2]|0;t=s+-1+((v|0)>0?v:0)&0-s;f[e>>2]=t;s=e+4|0;v=f[s>>2]|0;o=f[w>>2]|0;w=o+-1+((v|0)>0?v:0)&0-o;f[s>>2]=w;o=(t<<1)+(f[k>>2]|0)|0;t=(w<<1)+(f[k+4>>2]|0)|0;do if((HJ(b)|0)==65536){k=f[b+4>>2]|0;f[l>>2]=f[k>>2];w=l+4|0;v=k+4|0;f[w>>2]=f[v>>2];r=l+8|0;f[r>>2]=f[k+8>>2];f[l+12>>2]=f[k+12>>2];f[l+16>>2]=f[k+16>>2];f[l+20>>2]=f[k+20>>2];f[l+24>>2]=f[k+24>>2];f[l+28>>2]=f[k+28>>2];f[l+32>>2]=f[k+32>>2];y=f[k+36>>2]|0;f[l+36>>2]=y;f[l+40>>2]=r;r=l+48|0;z=l+44|0;f[z>>2]=r;f[r>>2]=0;f[l+52>>2]=0;if(y|0){r=y+12|0;f[r>>2]=(f[r>>2]|0)+1}if((f[v>>2]|0)<3){v=f[k+44>>2]|0;r=f[z>>2]|0;f[r>>2]=f[v>>2];f[r+4>>2]=f[v+4>>2];break}else{f[w>>2]=0;WO(l,k);break}}else DJ(l,b,-1);while(0);b=(q|0)==0;Iua(m,a,l,e,e,b,j);if(b)A=X(((t-(f[m+48>>2]|0)|0)/(f[p>>2]|0)|0)+1|0,((o-(f[m+44>>2]|0)|0)/(f[d>>2]|0)|0)+1|0)|0;else A=q;q=f[m+16>>2]|0;t=X(f[m+64>>2]|0,f[m+60>>2]|0)|0;b=f[m+76>>2]|0;j=Jua(a)|0;k=X(j,A)|0;w=c+4|0;v=f[w>>2]|0;r=f[c>>2]|0;z=v-r>>2;y=r;r=v;if(k>>>0<=z>>>0){if(k>>>0>>0?(v=y+(k<<2)|0,(v|0)!=(r|0)):0)f[w>>2]=r+(~((r+-4-v|0)>>>2)<<2)}else Qua(c,k-z|0);if(A|0?(z=m+44|0,k=l+12|0,v=a+4|0,r=l+8|0,w=a+8|0,a=n+4|0,y=b<<2,(t|0)>0):0){b=0;do{B=X(b,j)|0;C=(f[c>>2]|0)+(B<<2)|0;B=f[g>>2]|0;if((B|0)!=(f[x>>2]|0)){D=f[B+(b<<3)>>2]|0;E=f[B+(b<<3)+4>>2]|0;B=f[e>>2]|0;if((((D|0)>=(0-B|0)?(D|0)<=((f[k>>2]|0)+B-(f[v>>2]|0)|0):0)?(B=f[s>>2]|0,(E|0)>=(0-B|0)):0)?(E|0)<=((f[r>>2]|0)+B-(f[w>>2]|0)|0):0){F=D;G=E;H=33}}else{E=f[d>>2]|0;D=((o-(f[z>>2]|0)|0)/(E|0)|0)+1|0;B=(b|0)/(D|0)|0;I=X(b-(X(D,B)|0)|0,E)|0;E=X(f[p>>2]|0,B)|0;F=I-(f[e>>2]|0)|0;G=E-(f[s>>2]|0)|0;H=33}if((H|0)==33){H=0;E=0;do{I=(f[q+(E*12|0)+8>>2]|0)+G|0;B=C+(f[q+(E*12|0)>>2]<<2)|0;f[n>>2]=(f[q+(E*12|0)+4>>2]|0)+F;f[a>>2]=I;I=Kua(m,n,B)|0;if((I|0)!=(B|0))DVa(B|0,I|0,y|0)|0;E=E+1|0}while((E|0)<(t|0))}b=b+1|0}while(b>>>0>>0)}iua(m);m=l+36|0;A=f[m>>2]|0;if(A|0?(b=A+12|0,A=f[b>>2]|0,f[b>>2]=A+-1,(A|0)==1):0)XO(l);f[m>>2]=0;m=l+16|0;A=l+4|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;if((f[A>>2]|0)>0){m=f[l+40>>2]|0;b=0;do{f[m+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(f[A>>2]|0))}A=f[l+44>>2]|0;if((A|0)!=(l+48|0))dX(A);if(!(f[i+4>>2]|0)){u=h;return}u=h;return}function xua(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=+g;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0.0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0.0,ha=0.0,ia=0,ja=0,ka=0,la=0.0;k=u;u=u+384|0;l=k+376|0;m=k+368|0;o=k+40|0;q=k+24|0;r=k+16|0;s=k;t=k+8|0;yV(l,76980);v=f[d>>2]|0;w=d+4|0;x=f[w>>2]|0;if((x|0)!=(v|0))f[w>>2]=x+(~((x+-8-v|0)>>>3)<<3);v=f[e>>2]|0;x=e+4|0;y=f[x>>2]|0;if((y|0)!=(v|0))f[x>>2]=y+(~((y+-8-v|0)>>>3)<<3);v=a+76|0;y=a+80|0;if((f[v>>2]|0)!=(f[y>>2]|0)){z=f[h>>2]|0;A=h+4|0;B=f[A>>2]|0;if(!(B|z)){C=f[a+28>>2]|0;f[h>>2]=C;D=f[a+32>>2]|0;f[A>>2]=D;E=C;F=D}else{E=z;F=B}B=f[a+20>>2]|0;z=(E|0)<(B|0);D=z?B:E;C=z?E:B;if((C|0)>0){B=D;E=C;while(1){C=(B|0)%(E|0)|0;if((C|0)>0){z=E;E=C;B=z}else{G=E;break}}}else G=D;D=f[a+24>>2]|0;E=(F|0)<(D|0);B=E?D:F;z=E?F:D;if((z|0)>0){D=B;F=z;while(1){z=(D|0)%(F|0)|0;if((z|0)>0){E=F;F=z;D=E}else{H=F;break}}}else H=B;f[m>>2]=G;B=m+4|0;f[B>>2]=H;F=j+4|0;D=(f[F>>2]|0)-(f[j>>2]|0)>>3;E=f[i>>2]|0;z=G+-1+((E|0)>0?E:0)&0-G;f[i>>2]=z;G=i+4|0;E=f[G>>2]|0;C=H+-1+((E|0)>0?E:0)&0-H;f[G>>2]=C;H=c+12|0;E=(z<<1)+(f[H>>2]|0)|0;z=c+8|0;I=(C<<1)+(f[z>>2]|0)|0;C=(D|0)==0;Iua(o,a,c,i,i,C,m);if(C)J=X(((I-(f[o+48>>2]|0)|0)/(f[A>>2]|0)|0)+1|0,((E-(f[o+44>>2]|0)|0)/(f[h>>2]|0)|0)+1|0)|0;else J=D;D=f[o+16>>2]|0;I=X(f[o+64>>2]|0,f[o+60>>2]|0)|0;C=f[o+76>>2]|0;c=Jua(a)|0;K=f[v>>2]|0;if((f[y>>2]|0)-K>>2>>>0>c>>>0)L=+n[K+(c<<2)>>2];else L=0.0;M=L;f[q>>2]=0;c=q+4|0;f[c>>2]=0;f[q+8>>2]=0;do if(C)if(C>>>0>1073741823)ZOa(q);else{K=C<<2;y=EQa(K)|0;f[q>>2]=y;N=y+(C<<2)|0;f[q+8>>2]=N;FVa(y|0,0,K|0)|0;f[c>>2]=N;O=y;P=y;break}else{O=0;P=0}while(0);if(!J){Q=P;R=O}else{O=r+4|0;P=o+44|0;y=s+4|0;N=(I|0)>0;K=t+4|0;S=C+-4|0;T=(C|0)<4;U=d+8|0;V=e+8|0;W=a+4|0;Y=a+8|0;a=C&-4;Z=(C|0)>0;_=(a|0)<(C|0);$=0;do{f[r>>2]=0;f[O>>2]=0;aa=f[j>>2]|0;do if((aa|0)!=(f[F>>2]|0)){ba=f[aa+($<<3)>>2]|0;f[r>>2]=ba;ca=f[aa+($<<3)+4>>2]|0;f[O>>2]=ca;da=f[i>>2]|0;if((((ba|0)>=(0-da|0)?(ba|0)<=((f[H>>2]|0)+da-(f[W>>2]|0)|0):0)?(da=f[G>>2]|0,(ca|0)>=(0-da|0)):0)?(ca|0)<=((f[z>>2]|0)+da-(f[Y>>2]|0)|0):0)ea=35}else{da=f[h>>2]|0;ca=((E-(f[P>>2]|0)|0)/(da|0)|0)+1|0;ba=($|0)/(ca|0)|0;fa=X($-(X(ca,ba)|0)|0,da)|0;da=X(f[A>>2]|0,ba)|0;ba=fa-(f[i>>2]|0)|0;fa=da-(f[G>>2]|0)|0;f[r>>2]=ba;f[O>>2]=fa;if(((ba|0)%(f[m>>2]|0)|0|0)==0?((fa|0)%(f[B>>2]|0)|0|0)==0:0){ea=35;break}f[s>>2]=0;f[y>>2]=0;fa=JV(s,65)|0;ba=336325;da=fa+65|0;do{b[fa>>0]=b[ba>>0]|0;fa=fa+1|0;ba=ba+1|0}while((fa|0)<(da|0));EP(-215,s,336391,334775,1704);KV(s);ea=35}while(0);if((ea|0)==35){ea=0;p[s>>3]=M;aa=f[v>>2]|0;do if(N)if(T){ba=aa;fa=0;while(1){da=(f[D+(fa*12|0)+8>>2]|0)+(f[O>>2]|0)|0;f[t>>2]=(f[D+(fa*12|0)+4>>2]|0)+(f[r>>2]|0);f[K>>2]=da;da=Kua(o,t,f[q>>2]|0)|0;if(Z){ca=0;L=+p[s>>3];do{L=L+ +n[da+(ca<<2)>>2]*+n[ba+(ca<<2)>>2];ca=ca+1|0}while((ca|0)!=(C|0));p[s>>3]=L}fa=fa+1|0;if((fa|0)>=(I|0))break;else ba=ba+(C<<2)|0}ga=+p[s>>3];break}else{ba=aa;fa=0;while(1){ca=(f[D+(fa*12|0)+8>>2]|0)+(f[O>>2]|0)|0;f[t>>2]=(f[D+(fa*12|0)+4>>2]|0)+(f[r>>2]|0);f[K>>2]=ca;ca=Kua(o,t,f[q>>2]|0)|0;da=0;ha=+p[s>>3];do{ia=da|1;ja=da|2;ka=da|3;ha=ha+(+n[ca+(da<<2)>>2]*+n[ba+(da<<2)>>2]+ +n[ca+(ia<<2)>>2]*+n[ba+(ia<<2)>>2]+ +n[ca+(ja<<2)>>2]*+n[ba+(ja<<2)>>2]+ +n[ca+(ka<<2)>>2]*+n[ba+(ka<<2)>>2]);da=da+4|0}while((da|0)<=(S|0));p[s>>3]=ha;if(_){da=a;L=ha;do{L=L+ +n[ca+(da<<2)>>2]*+n[ba+(da<<2)>>2];da=da+1|0}while((da|0)!=(C|0));p[s>>3]=L;la=L}else la=ha;fa=fa+1|0;if((fa|0)>=(I|0)){ga=la;break}else ba=ba+(C<<2)|0}}else ga=M;while(0);do if(ga>=g){aa=f[w>>2]|0;if((aa|0)==(f[U>>2]|0))xba(d,r);else{f[aa>>2]=f[r>>2];f[aa+4>>2]=f[O>>2];f[w>>2]=aa+8}aa=f[x>>2]|0;if((aa|0)==(f[V>>2]|0)){Osa(e,s);break}else{p[aa>>3]=+p[s>>3];f[x>>2]=aa+8;break}}while(0)}$=$+1|0}while($>>>0>>0);J=f[q>>2]|0;Q=J;R=J}if(Q|0){J=f[c>>2]|0;if((J|0)!=(Q|0))f[c>>2]=J+(~((J+-4-Q|0)>>>2)<<2);GQa(R)}iua(o)}if(!(f[l+4>>2]|0)){u=k;return}u=k;return}function yua(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=u;u=u+48|0;j=i+32|0;k=i+16|0;l=i+8|0;m=i;yV(j,76960);f[k>>2]=0;n=k+4|0;f[n>>2]=0;f[k+8>>2]=0;o=f[(f[a>>2]|0)+36>>2]|0;f[l>>2]=f[e>>2];f[l+4>>2]=f[e+4>>2];f[m>>2]=f[g>>2];f[m+4>>2]=f[g+4>>2];Ph[o&7](a,b,c,k,d,l,m,h);h=f[k>>2]|0;if(h|0){k=f[n>>2]|0;if((k|0)!=(h|0))f[n>>2]=k+(~((k+-8-h|0)>>>3)<<3);GQa(h)}if(!(f[j+4>>2]|0)){u=i;return}u=i;return}function zua(a,b,c,d,e,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;i=+i;j=+j;k=k|0;var l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0,M=0,N=0.0,O=0,P=0.0,Q=0,R=0;l=u;u=u+288|0;m=l+272|0;n=l+112|0;o=l+264|0;q=l+252|0;r=l+240|0;s=l+228|0;t=l+216|0;v=l+204|0;w=l+200|0;x=l+144|0;y=l+136|0;z=l;A=l+128|0;B=l+120|0;yV(m,76900);p[n>>3]=1.0;FJ(o,b,-1);f[q>>2]=0;C=q+4|0;f[C>>2]=0;f[q+8>>2]=0;D=a+140|0;a:do if((f[D>>2]|0)>0){E=q+8|0;F=a+4|0;G=o+4|0;H=a+8|0;if(!(i<=1.0)){I=0;J=0;K=1.0;L=0}else{Osa(q,n);M=0;break}while(1){if((I|0)==(J|0))Osa(q,n);else{p[I>>3]=K;f[C>>2]=I+8}N=+p[n>>3];O=AEa(+(f[o>>2]|0)/N)|0;if((O|0)<(f[F>>2]|0)){M=L;break a}O=AEa(+(f[G>>2]|0)/N)|0;if((O|0)<(f[H>>2]|0)){M=L;break a}P=N*i;p[n>>3]=P;O=L+1|0;if((O|0)>=(f[D>>2]|0)){M=O;break a}I=f[C>>2]|0;J=f[E>>2]|0;K=P;L=O}}else M=0;while(0);L=(M|0)>1?M:1;M=f[C>>2]|0;J=f[q>>2]|0;I=M-J>>3;D=J;J=M;if(L>>>0<=I>>>0){if(L>>>0>>0?(M=D+(L<<3)|0,(M|0)!=(J|0)):0)f[C>>2]=J+(~((J+-8-M|0)>>>3)<<3)}else U$(q,L-I|0);I=g+4|0;if(!(f[I>>2]|f[g>>2])){f[g>>2]=f[a+20>>2];f[I>>2]=f[a+24>>2]}f[r>>2]=0;I=r+4|0;f[I>>2]=0;f[r+8>>2]=0;f[s>>2]=0;L=s+4|0;f[L>>2]=0;f[s+8>>2]=0;f[t>>2]=0;M=t+4|0;f[M>>2]=0;f[t+8>>2]=0;f[v>>2]=0;J=v+4|0;f[J>>2]=0;f[v+8>>2]=0;nQ(w);do if((HJ(b)|0)==65536){D=f[b+4>>2]|0;f[x>>2]=f[D>>2];n=x+4|0;E=D+4|0;f[n>>2]=f[E>>2];H=x+8|0;f[H>>2]=f[D+8>>2];f[x+12>>2]=f[D+12>>2];f[x+16>>2]=f[D+16>>2];f[x+20>>2]=f[D+20>>2];f[x+24>>2]=f[D+24>>2];f[x+28>>2]=f[D+28>>2];f[x+32>>2]=f[D+32>>2];G=f[D+36>>2]|0;f[x+36>>2]=G;f[x+40>>2]=H;H=x+48|0;F=x+44|0;f[F>>2]=H;f[H>>2]=0;f[x+52>>2]=0;if(G|0){H=G+12|0;f[H>>2]=(f[H>>2]|0)+1}if((f[E>>2]|0)<3){E=f[D+44>>2]|0;H=f[F>>2]|0;f[H>>2]=f[E>>2];f[H+4>>2]=f[E+4>>2];break}else{f[n>>2]=0;WO(x,D);break}}else DJ(x,b,-1);while(0);b=f[q>>2]|0;D=(f[C>>2]|0)-b>>3;f[y>>2]=0;f[y+4>>2]=D;Lua(z,a,x,e,g,h,b,r,w,t,s);$Z(y,z,-1.0);y=f[s>>2]|0;b=f[L>>2]|0;if((y|0)!=(b|0)){h=f[J>>2]|0;g=v+8|0;if((h|0)==(f[g>>2]|0))Osa(v,y);else{p[h>>3]=+p[y>>3];f[J>>2]=h+8}h=y+8|0;if((h|0)!=(b|0)){y=h;do{h=f[J>>2]|0;if((h|0)==(f[g>>2]|0))Osa(v,y);else{p[h>>3]=+p[y>>3];f[J>>2]=h+8}y=y+8|0}while((y|0)!=(b|0))}}b=f[c>>2]|0;y=c+4|0;g=f[y>>2]|0;if((g|0)==(b|0))Q=b;else{h=g+(~((g+-16-b|0)>>>4)<<4)|0;f[y>>2]=h;Q=h}h=f[r>>2]|0;b=f[I>>2]|0;if((h|0)!=(b|0)){g=c+8|0;if((Q|0)==(f[g>>2]|0))Nsa(c,h);else{f[Q>>2]=f[h>>2];f[Q+4>>2]=f[h+4>>2];f[Q+8>>2]=f[h+8>>2];f[Q+12>>2]=f[h+12>>2];f[y>>2]=Q+16}Q=h+16|0;if((Q|0)!=(b|0)){h=Q;do{Q=f[y>>2]|0;if((Q|0)==(f[g>>2]|0))Nsa(c,h);else{f[Q>>2]=f[h>>2];f[Q+4>>2]=f[h+4>>2];f[Q+8>>2]=f[h+8>>2];f[Q+12>>2]=f[h+12>>2];f[y>>2]=Q+16}h=h+16|0}while((h|0)!=(b|0))}}b=f[d>>2]|0;h=d+4|0;y=f[h>>2]|0;if((y|0)==(b|0))R=b;else{g=y+(~((y+-8-b|0)>>>3)<<3)|0;f[h>>2]=g;R=g}g=f[t>>2]|0;b=f[M>>2]|0;if((g|0)!=(b|0)){y=d+8|0;if((R|0)==(f[y>>2]|0))Osa(d,g);else{p[R>>3]=+p[g>>3];f[h>>2]=R+8}R=g+8|0;if((R|0)!=(b|0)){g=R;do{R=f[h>>2]|0;if((R|0)==(f[y>>2]|0))Osa(d,g);else{p[R>>3]=+p[g>>3];f[h>>2]=R+8}g=g+8|0}while((g|0)!=(b|0))}}if(k){f[A>>2]=f[a+4>>2];f[A+4>>2]=f[a+8>>2];vta(c,d,v,j,A)}else Mua(0,c,d,~~j,.2);f[B>>2]=f[o>>2];f[B+4>>2]=f[o+4>>2];Mta(B,c,0,d);f[z>>2]=76928;d=z+8|0;c=z+44|0;B=f[c>>2]|0;if(B|0?(o=B+12|0,B=f[o>>2]|0,f[o>>2]=B+-1,(B|0)==1):0)XO(d);f[c>>2]=0;c=z+24|0;d=z+12|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[d>>2]|0)>0){c=f[z+48>>2]|0;B=0;do{f[c+(B<<2)>>2]=0;B=B+1|0}while((B|0)<(f[d>>2]|0))}d=f[z+52>>2]|0;if((d|0)!=(z+56|0))dX(d);d=x+36|0;z=f[d>>2]|0;if(z|0?(B=z+12|0,z=f[B>>2]|0,f[B>>2]=z+-1,(z|0)==1):0)XO(x);f[d>>2]=0;d=x+16|0;z=x+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[z>>2]|0)>0){d=f[x+40>>2]|0;B=0;do{f[d+(B<<2)>>2]=0;B=B+1|0}while((B|0)<(f[z>>2]|0))}z=f[x+44>>2]|0;if((z|0)!=(x+48|0))dX(z);oQ(w);w=f[v>>2]|0;if(w|0){v=f[J>>2]|0;if((v|0)!=(w|0))f[J>>2]=v+(~((v+-8-w|0)>>>3)<<3);GQa(w)}w=f[t>>2]|0;if(w|0){t=f[M>>2]|0;if((t|0)!=(w|0))f[M>>2]=t+(~((t+-8-w|0)>>>3)<<3);GQa(w)}w=f[s>>2]|0;if(w|0){s=f[L>>2]|0;if((s|0)!=(w|0))f[L>>2]=s+(~((s+-8-w|0)>>>3)<<3);GQa(w)}w=f[r>>2]|0;if(w|0){r=f[I>>2]|0;if((r|0)!=(w|0))f[I>>2]=r+(~((r+-16-w|0)>>>4)<<4);GQa(w)}w=f[q>>2]|0;if(w|0){q=f[C>>2]|0;if((q|0)!=(w|0))f[C>>2]=q+(~((q+-8-w|0)>>>3)<<3);GQa(w)}if(!(f[m+4>>2]|0)){u=l;return}u=l;return}function Aua(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;g=g|0;h=+h;i=+i;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=u;u=u+48|0;l=k+32|0;m=k+16|0;n=k+8|0;o=k;yV(l,76880);f[m>>2]=0;p=m+4|0;f[p>>2]=0;f[m+8>>2]=0;q=f[(f[a>>2]|0)+44>>2]|0;f[n>>2]=f[e>>2];f[n+4>>2]=f[e+4>>2];f[o>>2]=f[g>>2];f[o+4>>2]=f[g+4>>2];Oh[q&3](a,b,c,m,d,n,o,h,i,j);j=f[m>>2]|0;if(j|0){m=f[p>>2]|0;if((m|0)!=(j|0))f[p>>2]=m+(~((m+-8-j|0)>>>3)<<3);GQa(j)}if(!(f[l+4>>2]|0)){u=k;return}u=k;return}function Bua(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0.0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0.0,Qa=0,Ra=0.0,Sa=0.0,Ta=0.0,Ua=0.0,Va=0.0,Wa=0.0,Xa=0.0,Ya=0;j=u;u=u+2496|0;k=j+2480|0;l=j+2472|0;m=j+2464|0;o=j+2456|0;p=j+2400|0;q=j+1336|0;r=j+272|0;s=j+216|0;t=j+160|0;v=j+104|0;w=j+48|0;x=j+32|0;y=j+16|0;z=j;yV(l,76860);switch(f[c>>2]&4095){case 16:case 0:break;default:{f[k>>2]=0;f[k+4>>2]=0;A=JV(k,74)|0;B=335466;C=A+74|0;do{b[A>>0]=b[B>>0]|0;A=A+1|0;B=B+1|0}while((A|0)<(C|0));EP(-215,k,335541,334775,241);KV(k)}}D=(f[g>>2]|0)+(f[c+12>>2]|0)+(f[i>>2]|0)|0;E=g+4|0;F=(f[E>>2]|0)+(f[c+8>>2]|0)+(f[i+4>>2]|0)|0;if(!(((((f[d+4>>2]|0)<3?(f[d+8>>2]|0)==(F|0):0)?(f[d+12>>2]|0)==(D|0):0)?(f[d>>2]&4095|0)==13:0)?(f[d+16>>2]|0)!=0:0)){f[k>>2]=F;f[k+4>>2]=D;VO(d,2,k,13)}if(!(((((f[e+4>>2]|0)<3?(f[e+8>>2]|0)==(F|0):0)?(f[e+12>>2]|0)==(D|0):0)?(f[e>>2]&4095|0)==8:0)?(f[e+16>>2]|0)!=0:0)){f[k>>2]=F;f[k+4>>2]=D;VO(e,2,k,8)}f[m>>2]=0;i=m+4|0;f[i>>2]=0;f[o>>2]=0;G=o+4|0;f[G>>2]=0;fP(c,m,o);H=(f[c>>2]|0)>>>3&511;f[p>>2]=1124007936;I=p+4|0;J=p+8|0;K=p+40|0;A=I;C=A+36|0;do{f[A>>2]=0;A=A+4|0}while((A|0)<(C|0));f[K>>2]=J;J=p+48|0;M=p+44|0;f[M>>2]=J;f[J>>2]=0;f[p+52>>2]=0;f[k>>2]=1;f[k+4>>2]=256;VO(p,2,k,5);N=p+16|0;O=f[N>>2]|0;if(!(b[a+72>>0]|0)){P=0;do{n[O+(P<<2)>>2]=+(P|0);P=P+1|0}while((P|0)!=256)}else{P=0;do{Q=+L(+(+(P|0)));n[O+(P<<2)>>2]=Q;P=P+1|0}while((P|0)!=256)}P=D+4+F|0;R=q+8|0;f[q>>2]=R;S=q+4|0;f[S>>2]=P;if(P>>>0>264){T=FQa(P>>>0>1073741823?-1:P<<2)|0;f[q>>2]=T;U=T}else U=R;T=U+4|0;P=T+(D<<2)+8|0;if((D|0)>=-1){V=-1;W=f[o>>2]|0;while(1){Y=lM(V-(f[g>>2]|0)+W|0,f[m>>2]|0,4)|0;W=f[o>>2]|0;f[T+(V<<2)>>2]=Y-W;if((V|0)>=(D|0))break;else V=V+1|0}}if((F|0)>=-1){V=-1;W=f[G>>2]|0;while(1){o=lM(V-(f[E>>2]|0)+W|0,f[i>>2]|0,4)|0;W=f[G>>2]|0;f[P+(V<<2)>>2]=o-W;if((V|0)>=(F|0))break;else V=V+1|0}}V=D<<2;W=r+8|0;f[r>>2]=W;G=r+4|0;f[G>>2]=V;if(V>>>0>264){i=FQa(V>>>0>1073741823?-1:V<<2)|0;f[r>>2]=i;Z=i}else Z=W;i=s+4|0;f[i>>2]=2;E=s+8|0;f[E>>2]=1;f[s+12>>2]=D;o=s+16|0;f[o>>2]=Z;f[s+20>>2]=Z;m=s+24|0;g=s+40|0;Y=m+8|0;f[Y>>2]=0;f[Y+4>>2]=0;f[g>>2]=E;Y=s+48|0;_=s+44|0;f[_>>2]=Y;$=(D|0)!=0;f[s>>2]=1124024325;f[Y>>2]=V;f[s+52>>2]=4;aa=Z+(X(f[E>>2]|0,V)|0)|0;f[s+28>>2]=aa;f[m>>2]=aa+(0-V)+V;V=Z+(D<<2)|0;f[t>>2]=1124007941;aa=t+4|0;f[aa>>2]=2;m=t+8|0;f[m>>2]=1;E=t+12|0;f[E>>2]=D;ba=t+16|0;f[ba>>2]=V;ca=t+20|0;f[ca>>2]=V;da=t+24|0;ea=t+28|0;fa=t+40|0;f[da>>2]=0;f[da+4>>2]=0;f[da+8>>2]=0;f[da+12>>2]=0;f[fa>>2]=m;ga=t+48|0;ha=t+44|0;f[ha>>2]=ga;f[t+52>>2]=0;f[ga>>2]=0;if($&(V|0)==0){f[k>>2]=0;f[k+4>>2]=0;A=JV(k,26)|0;B=346743;C=A+26|0;do{b[A>>0]=b[B>>0]|0;A=A+1|0;B=B+1|0}while((A|0)<(C|0));EP(-215,k,346770,346774,500);KV(k);ia=f[E>>2]|0;ja=f[t>>2]|0;ka=f[ha>>2]|0;la=f[ca>>2]|0}else{ia=D;ja=1124007941;ka=ga;la=V}V=ia<<2;f[t>>2]=ja|16384;f[ka>>2]=V;f[ka+4>>2]=4;ka=la+(X(f[m>>2]|0,V)|0)|0;f[ea>>2]=ka;f[da>>2]=ka+(0-V)+V;V=D<<1;ka=Z+(V<<2)|0;f[v>>2]=1124007941;da=v+4|0;f[da>>2]=2;ea=v+8|0;f[ea>>2]=1;m=v+12|0;f[m>>2]=D;la=v+16|0;f[la>>2]=ka;ja=v+20|0;f[ja>>2]=ka;ia=v+24|0;ca=v+28|0;E=v+40|0;f[ia>>2]=0;f[ia+4>>2]=0;f[ia+8>>2]=0;f[ia+12>>2]=0;f[E>>2]=ea;ma=v+48|0;na=v+44|0;f[na>>2]=ma;f[v+52>>2]=0;f[ma>>2]=0;if($&(ka|0)==0){f[k>>2]=0;f[k+4>>2]=0;A=JV(k,26)|0;B=346743;C=A+26|0;do{b[A>>0]=b[B>>0]|0;A=A+1|0;B=B+1|0}while((A|0)<(C|0));EP(-215,k,346770,346774,500);KV(k);oa=f[m>>2]|0;pa=f[v>>2]|0;qa=f[na>>2]|0;ra=f[ja>>2]|0}else{oa=D;pa=1124007941;qa=ma;ra=ka}ka=oa<<2;f[v>>2]=pa|16384;f[qa>>2]=ka;f[qa+4>>2]=4;qa=ra+(X(f[ea>>2]|0,ka)|0)|0;f[ca>>2]=qa;f[ia>>2]=qa+(0-ka)+ka;ka=D*3|0;qa=Z+(ka<<2)|0;f[w>>2]=1124007941;ia=w+4|0;f[ia>>2]=2;ca=w+8|0;f[ca>>2]=1;ea=w+12|0;f[ea>>2]=D;ra=w+16|0;f[ra>>2]=qa;pa=w+20|0;f[pa>>2]=qa;oa=w+24|0;ja=w+28|0;m=w+40|0;f[oa>>2]=0;f[oa+4>>2]=0;f[oa+8>>2]=0;f[oa+12>>2]=0;f[m>>2]=ca;sa=w+48|0;ta=w+44|0;f[ta>>2]=sa;f[w+52>>2]=0;f[sa>>2]=0;if($&(qa|0)==0){f[k>>2]=0;f[k+4>>2]=0;A=JV(k,26)|0;B=346743;C=A+26|0;do{b[A>>0]=b[B>>0]|0;A=A+1|0;B=B+1|0}while((A|0)<(C|0));EP(-215,k,346770,346774,500);KV(k);ua=f[ea>>2]|0;va=f[w>>2]|0;wa=f[ta>>2]|0;xa=f[pa>>2]|0}else{ua=D;va=1124007941;wa=sa;xa=qa}qa=ua<<2;f[w>>2]=va|16384;f[wa>>2]=qa;f[wa+4>>2]=4;wa=xa+(X(f[ca>>2]|0,qa)|0)|0;f[ja>>2]=wa;f[oa>>2]=wa+(0-qa)+qa;if((H|0)==2&(D|0)>-2){qa=D+1|0;wa=0;while(1){oa=U+(wa<<2)|0;f[oa>>2]=(f[oa>>2]|0)*3;if((wa|0)==(qa|0))break;else wa=wa+1|0}}wa=a+36|0;Q=+(f[wa>>2]|0)/(b[a+144>>0]|0?6.283185307179586:3.141592653589793);if((F|0)>0){a=c+16|0;qa=c+44|0;oa=c+48|0;c=d+16|0;ja=d+44|0;d=e+16|0;ca=e+44|0;e=(H|0)==0;H=k+8|0;xa=k+12|0;va=k+4|0;ua=x+8|0;pa=x+12|0;ea=x+4|0;$=y+8|0;ya=y+4|0;za=z+8|0;Aa=z+4|0;Ba=(D|0)>0;Ca=k+4|0;Da=0;do{Ea=f[a>>2]|0;Fa=Ea+(X(f[f[qa>>2]>>2]|0,f[P+(Da<<2)>>2]|0)|0)|0;Ga=f[oa>>2]|0;Ha=Ea+(X(f[P+(Da+-1<<2)>>2]|0,Ga)|0)|0;Ia=Da;Da=Da+1|0;Ja=Ea+(X(f[P+(Da<<2)>>2]|0,Ga)|0)|0;Ga=(f[c>>2]|0)+(X(f[f[ja>>2]>>2]|0,Ia)|0)|0;Ea=(f[d>>2]|0)+(X(f[f[ca>>2]>>2]|0,Ia)|0)|0;if(e){if(Ba){Ia=0;Ka=f[T>>2]|0;do{La=Ia;Ia=Ia+1|0;Ma=Ka;Ka=f[T+(Ia<<2)>>2]|0;n[Z+(La<<2)>>2]=+n[O+(h[Fa+Ka>>0]<<2)>>2]-+n[O+(h[Fa+(f[U+(La<<2)>>2]|0)>>0]<<2)>>2];n[Z+(La+D<<2)>>2]=+n[O+(h[Ja+Ma>>0]<<2)>>2]-+n[O+(h[Ha+Ma>>0]<<2)>>2]}while((Ia|0)!=(D|0))}}else if(Ba){Ia=0;Ka=f[T>>2]|0;do{Ma=Ia;Ia=Ia+1|0;La=Ka;Ka=f[T+(Ia<<2)>>2]|0;Na=Fa+Ka|0;Oa=Fa+(f[U+(Ma<<2)>>2]|0)|0;Pa=+n[O+(h[Na+2>>0]<<2)>>2]-+n[O+(h[Oa+2>>0]<<2)>>2];Qa=La+2|0;Ra=+n[O+(h[Ja+Qa>>0]<<2)>>2]-+n[O+(h[Ha+Qa>>0]<<2)>>2];Sa=Pa*Pa+Ra*Ra;Ta=+n[O+(h[Na+1>>0]<<2)>>2]-+n[O+(h[Oa+1>>0]<<2)>>2];Qa=La+1|0;Ua=+n[O+(h[Ja+Qa>>0]<<2)>>2]-+n[O+(h[Ha+Qa>>0]<<2)>>2];Va=Ta*Ta+Ua*Ua;Qa=Sa>0]<<2)>>2]-+n[O+(h[Oa>>0]<<2)>>2];Xa=+n[O+(h[Ja+La>>0]<<2)>>2]-+n[O+(h[Ha+La>>0]<<2)>>2];La=(Qa?Va:Sa)>2]=La?Wa:Qa?Ta:Pa;n[Z+(Ma+D<<2)>>2]=La?Xa:Qa?Ua:Ra}while((Ia|0)!=(D|0))}f[H>>2]=0;f[xa>>2]=0;f[k>>2]=16842752;f[va>>2]=s;f[ua>>2]=0;f[pa>>2]=0;f[x>>2]=16842752;f[ea>>2]=t;Ia=$;f[Ia>>2]=0;f[Ia+4>>2]=0;f[y>>2]=33619968;f[ya>>2]=v;Ia=za;f[Ia>>2]=0;f[Ia+4>>2]=0;f[z>>2]=33619968;f[Aa>>2]=w;BQ(k,x,y,z,0);if(Ba){Ia=0;do{Ra=+n[Z+(Ia+V<<2)>>2];Ua=+n[Z+(Ia+ka<<2)>>2]*Q+-.5;Ha=~~Ua;Ja=Ha-(Ua<+(Ha|0)&1)|0;Xa=Ua-+(Ja|0);Ha=Ia<<1;n[Ga+(Ha<<2)>>2]=Ra*(1.0-Xa);Fa=Ha|1;n[Ga+(Fa<<2)>>2]=Ra*Xa;Ka=f[wa>>2]|0;if((Ja|0)<0)Ya=Ja+Ka|0;else Ya=Ja-((Ja|0)<(Ka|0)?0:Ka)|0;if(Ya>>>0>=Ka>>>0){f[k>>2]=0;f[Ca>>2]=0;A=JV(k,32)|0;B=335557;C=A+32|0;do{b[A>>0]=b[B>>0]|0;A=A+1|0;B=B+1|0}while((A|0)<(C|0));EP(-215,k,335541,334775,539);KV(k)}b[Ea+Ha>>0]=Ya;Ka=Ya+1|0;b[Ea+Fa>>0]=(Ka|0)<(f[wa>>2]|0)?Ka&255:0;Ia=Ia+1|0}while((Ia|0)<(D|0))}}while((Da|0)<(F|0))}F=w+36|0;Da=f[F>>2]|0;if(Da|0?(D=Da+12|0,Da=f[D>>2]|0,f[D>>2]=Da+-1,(Da|0)==1):0)XO(w);f[F>>2]=0;f[ra>>2]=0;f[ra+4>>2]=0;f[ra+8>>2]=0;f[ra+12>>2]=0;if((f[ia>>2]|0)>0){ra=f[m>>2]|0;m=0;do{f[ra+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[ia>>2]|0))}ia=f[ta>>2]|0;if((ia|0)!=(sa|0))dX(ia);ia=v+36|0;sa=f[ia>>2]|0;if(sa|0?(ta=sa+12|0,sa=f[ta>>2]|0,f[ta>>2]=sa+-1,(sa|0)==1):0)XO(v);f[ia>>2]=0;f[la>>2]=0;f[la+4>>2]=0;f[la+8>>2]=0;f[la+12>>2]=0;if((f[da>>2]|0)>0){la=f[E>>2]|0;E=0;do{f[la+(E<<2)>>2]=0;E=E+1|0}while((E|0)<(f[da>>2]|0))}da=f[na>>2]|0;if((da|0)!=(ma|0))dX(da);da=t+36|0;ma=f[da>>2]|0;do if(ma|0){na=ma+12|0;E=f[na>>2]|0;f[na>>2]=E+-1;if((E|0)!=1)break;XO(t)}while(0);f[da>>2]=0;f[ba>>2]=0;f[ba+4>>2]=0;f[ba+8>>2]=0;f[ba+12>>2]=0;if((f[aa>>2]|0)>0){ba=f[fa>>2]|0;fa=0;do{f[ba+(fa<<2)>>2]=0;fa=fa+1|0}while((fa|0)<(f[aa>>2]|0))}aa=f[ha>>2]|0;if((aa|0)!=(ga|0))dX(aa);aa=s+36|0;ga=f[aa>>2]|0;do if(ga|0){ha=ga+12|0;fa=f[ha>>2]|0;f[ha>>2]=fa+-1;if((fa|0)!=1)break;XO(s)}while(0);f[aa>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;if((f[i>>2]|0)>0){o=f[g>>2]|0;g=0;do{f[o+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[i>>2]|0))}i=f[_>>2]|0;if((i|0)!=(Y|0))dX(i);i=f[r>>2]|0;if((i|0)!=(W|0)){if(i|0)HQa(i);f[r>>2]=W;f[G>>2]=264}G=f[q>>2]|0;if((G|0)!=(R|0)){if(G|0)HQa(G);f[q>>2]=R;f[S>>2]=264}S=p+36|0;R=f[S>>2]|0;do if(R|0){q=R+12|0;G=f[q>>2]|0;f[q>>2]=G+-1;if((G|0)!=1)break;XO(p)}while(0);f[S>>2]=0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;if((f[I>>2]|0)>0){N=f[K>>2]|0;K=0;do{f[N+(K<<2)>>2]=0;K=K+1|0}while((K|0)<(f[I>>2]|0))}I=f[M>>2]|0;if((I|0)!=(J|0))dX(I);if(!(f[l+4>>2]|0)){u=j;return}u=j;return}function Cua(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=+g;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0.0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0.0;j=u;u=u+384|0;k=j+376|0;l=j+368|0;m=j+40|0;o=j+24|0;q=j+16|0;r=j;s=j+8|0;yV(k,76840);t=f[d>>2]|0;v=d+4|0;w=f[v>>2]|0;if((w|0)!=(t|0))f[v>>2]=w+(~((w+-8-t|0)>>>3)<<3);t=f[e>>2]|0;w=e+4|0;x=f[w>>2]|0;if((x|0)!=(t|0))f[w>>2]=x+(~((x+-8-t|0)>>>3)<<3);t=a+76|0;x=a+80|0;if((f[t>>2]|0)!=(f[x>>2]|0)?(y=f[c>>2]|0,z=f[c+4>>2]|0,A=z,B=y,(y|0)!=(z|0)):0){z=f[h>>2]|0;y=h+4|0;C=f[y>>2]|0;if(!(C|z)){D=f[a+28>>2]|0;f[h>>2]=D;E=f[a+32>>2]|0;f[y>>2]=E;F=D;G=E}else{F=z;G=C}C=f[a+20>>2]|0;z=(F|0)<(C|0);E=z?C:F;D=z?F:C;if((D|0)>0){C=E;F=D;while(1){D=(C|0)%(F|0)|0;if((D|0)>0){z=F;F=D;C=z}else{H=F;break}}}else H=E;E=f[a+24>>2]|0;F=(G|0)<(E|0);C=F?E:G;z=F?G:E;if((z|0)>0){E=C;G=z;while(1){z=(E|0)%(G|0)|0;if((z|0)>0){F=G;G=z;E=F}else{I=G;break}}}else I=C;f[l>>2]=H;f[l+4>>2]=I;C=A-B>>3;B=f[i>>2]|0;A=H+-1+((B|0)>0?B:0)&0-H;f[i>>2]=A;H=i+4|0;B=f[H>>2]|0;G=I+-1+((B|0)>0?B:0)&0-I;f[H>>2]=G;I=b+12|0;B=(A<<1)+(f[I>>2]|0)|0;A=b+8|0;E=(G<<1)+(f[A>>2]|0)|0;Iua(m,a,b,i,i,1,l);if(!C)J=X(((E-(f[m+48>>2]|0)|0)/(f[y>>2]|0)|0)+1|0,((B-(f[m+44>>2]|0)|0)/(f[h>>2]|0)|0)+1|0)|0;else J=C;C=f[m+16>>2]|0;h=X(f[m+64>>2]|0,f[m+60>>2]|0)|0;B=f[m+76>>2]|0;y=Jua(a)|0;E=f[t>>2]|0;if((f[x>>2]|0)-E>>2>>>0>y>>>0)K=+n[E+(y<<2)>>2];else K=0.0;L=K;f[o>>2]=0;y=o+4|0;f[y>>2]=0;f[o+8>>2]=0;do if(B)if(B>>>0>1073741823)ZOa(o);else{E=B<<2;x=EQa(E)|0;f[o>>2]=x;l=x+(B<<2)|0;f[o+8>>2]=l;FVa(x|0,0,E|0)|0;f[y>>2]=l;M=x;N=x;break}else{M=0;N=0}while(0);if(!J){O=N;P=M}else{M=q+4|0;N=e+8|0;x=a+4|0;l=a+8|0;a=(h|0)>0;E=s+4|0;b=B+-4|0;G=(B|0)<4;F=d+8|0;z=B&-4;D=(B|0)>0;Q=(z|0)<(B|0);R=0;do{f[q>>2]=0;f[M>>2]=0;S=f[c>>2]|0;T=f[S+(R<<3)>>2]|0;f[q>>2]=T;U=f[S+(R<<3)+4>>2]|0;f[M>>2]=U;S=f[i>>2]|0;if((((T|0)>=(0-S|0)?(T|0)<=((f[I>>2]|0)+S-(f[x>>2]|0)|0):0)?(S=f[H>>2]|0,(U|0)>=(0-S|0)):0)?(U|0)<=((f[A>>2]|0)+S-(f[l>>2]|0)|0):0){p[r>>3]=L;S=f[t>>2]|0;a:do if(a){if(G){V=0;W=S;Y=T;Z=U;while(1){_=(f[C+(V*12|0)+8>>2]|0)+Z|0;f[s>>2]=(f[C+(V*12|0)+4>>2]|0)+Y;f[E>>2]=_;_=Kua(m,s,f[o>>2]|0)|0;if(D){$=0;K=+p[r>>3];do{K=K+ +n[_+($<<2)>>2]*+n[W+($<<2)>>2];$=$+1|0}while(($|0)!=(B|0));p[r>>3]=K}$=V+1|0;if(($|0)>=(h|0))break a;V=$;W=W+(B<<2)|0;Y=f[q>>2]|0;Z=f[M>>2]|0}}else{aa=0;ba=S;ca=T;da=U}while(1){Z=(f[C+(aa*12|0)+8>>2]|0)+da|0;f[s>>2]=(f[C+(aa*12|0)+4>>2]|0)+ca;f[E>>2]=Z;Z=Kua(m,s,f[o>>2]|0)|0;Y=0;ea=+p[r>>3];do{W=Y|1;V=Y|2;$=Y|3;ea=ea+(+n[Z+(Y<<2)>>2]*+n[ba+(Y<<2)>>2]+ +n[Z+(W<<2)>>2]*+n[ba+(W<<2)>>2]+ +n[Z+(V<<2)>>2]*+n[ba+(V<<2)>>2]+ +n[Z+($<<2)>>2]*+n[ba+($<<2)>>2]);Y=Y+4|0}while((Y|0)<=(b|0));p[r>>3]=ea;if(Q){Y=z;K=ea;do{K=K+ +n[Z+(Y<<2)>>2]*+n[ba+(Y<<2)>>2];Y=Y+1|0}while((Y|0)!=(B|0));p[r>>3]=K}Y=aa+1|0;if((Y|0)>=(h|0))break a;aa=Y;ba=ba+(B<<2)|0;ca=f[q>>2]|0;da=f[M>>2]|0}}while(0);U=f[w>>2]|0;if((U|0)==(f[N>>2]|0))Osa(e,r);else{p[U>>3]=+p[r>>3];f[w>>2]=U+8}do if(+p[r>>3]>=g){U=f[v>>2]|0;if((U|0)==(f[F>>2]|0)){xba(d,q);break}else{f[U>>2]=f[q>>2];f[U+4>>2]=f[M>>2];f[v>>2]=U+8;break}}while(0)}else{p[r>>3]=-10.0;U=f[w>>2]|0;if((U|0)==(f[N>>2]|0))Osa(e,r);else{p[U>>3]=-10.0;f[w>>2]=U+8}}R=R+1|0}while(R>>>0>>0);J=f[o>>2]|0;O=J;P=J}if(O|0){J=f[y>>2]|0;if((J|0)!=(O|0))f[y>>2]=J+(~((J+-4-O|0)>>>2)<<2);GQa(P)}iua(m)}if(!(f[k+4>>2]|0)){u=j;return}u=j;return}function Dua(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=u;u=u+144|0;i=h+128|0;j=h+116|0;k=h+112|0;l=h+104|0;m=h;n=h+96|0;yV(i,76780);f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;nQ(k);p=(f[d+4>>2]|0)-(f[d>>2]|0)>>5;f[l>>2]=0;f[l+4>>2]=p;f[n>>2]=8;f[n+4>>2]=8;Eua(m,a,b,e,n,d,j,k);$Z(l,m,-1.0);f[m>>2]=76808;l=m+8|0;d=m+44|0;n=f[d>>2]|0;if(n|0?(b=n+12|0,n=f[b>>2]|0,f[b>>2]=n+-1,(n|0)==1):0)XO(l);f[d>>2]=0;d=m+24|0;l=m+12|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[l>>2]|0)>0){d=f[m+48>>2]|0;n=0;do{f[d+(n<<2)>>2]=0;n=n+1|0}while((n|0)<(f[l>>2]|0))}l=f[m+52>>2]|0;if((l|0)!=(m+56|0))dX(l);l=f[o>>2]|0;m=f[j>>2]|0;n=l-m>>4;d=c+4|0;b=f[d>>2]|0;a=f[c>>2]|0;p=b-a>>4;q=a;a=b;b=m;m=l;if(n>>>0<=p>>>0)if(n>>>0

>>0?(l=q+(n<<4)|0,(l|0)!=(a|0)):0){f[d>>2]=a+(~((a+-16-l|0)>>>4)<<4);r=m;s=b}else{r=m;s=b}else{_sa(c,n-p|0);r=f[o>>2]|0;s=f[j>>2]|0}if((r|0)!=(s|0)){p=s;s=f[c>>2]|0;while(1){f[s>>2]=f[p>>2];f[s+4>>2]=f[p+4>>2];f[s+8>>2]=f[p+8>>2];f[s+12>>2]=f[p+12>>2];p=p+16|0;if((p|0)==(r|0))break;else s=s+16|0}}sta(c,g,.2);oQ(k);k=f[j>>2]|0;if(k|0){j=f[o>>2]|0;if((j|0)!=(k|0))f[o>>2]=j+(~((j+-16-k|0)>>>4)<<4);GQa(k)}if(!(f[i+4>>2]|0)){u=h;return}u=h;return}function Eua(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;f[a>>2]=76808;j=a+8|0;f[j>>2]=1124007936;k=a+12|0;l=a+16|0;m=a+48|0;n=k;o=n+36|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[m>>2]=l;n=a+56|0;o=a+52|0;f[o>>2]=n;f[n>>2]=0;f[a+60>>2]=0;n=a+76|0;f[n>>2]=0;q=a+80|0;f[q>>2]=0;f[a+4>>2]=b;if((j|0)==(c|0)){r=a+64|0;p[r>>3]=d;s=f[e>>2]|0;f[n>>2]=s;t=e+4|0;u=f[t>>2]|0;f[q>>2]=u;v=a+72|0;f[v>>2]=g;w=a+84|0;f[w>>2]=h;x=a+88|0;f[x>>2]=i;return}b=c+36|0;y=f[b>>2]|0;if(y){z=y+12|0;f[z>>2]=(f[z>>2]|0)+1;z=a+44|0;y=f[z>>2]|0;if((y|0)!=0?(A=y+12|0,y=f[A>>2]|0,f[A>>2]=y+-1,(y|0)==1):0){XO(j);B=z}else B=z}else B=a+44|0;f[B>>2]=0;z=a+24|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;if((f[k>>2]|0)>0){y=f[m>>2]|0;m=0;do{f[y+(m<<2)>>2]=0;m=m+1|0;C=f[k>>2]|0}while((m|0)<(C|0));f[j>>2]=f[c>>2];if((C|0)<3)D=12;else D=14}else{f[j>>2]=f[c>>2];D=12}if((D|0)==12){C=f[c+4>>2]|0;if((C|0)<3){f[k>>2]=C;f[l>>2]=f[c+8>>2];f[a+20>>2]=f[c+12>>2];l=f[c+44>>2]|0;C=f[o>>2]|0;f[C>>2]=f[l>>2];f[C+4>>2]=f[l+4>>2]}else D=14}if((D|0)==14)WO(j,c);f[z>>2]=f[c+16>>2];f[a+28>>2]=f[c+20>>2];f[a+32>>2]=f[c+24>>2];f[a+36>>2]=f[c+28>>2];f[a+40>>2]=f[c+32>>2];f[B>>2]=f[b>>2];r=a+64|0;p[r>>3]=d;s=f[e>>2]|0;f[n>>2]=s;t=e+4|0;u=f[t>>2]|0;f[q>>2]=u;v=a+72|0;f[v>>2]=g;w=a+84|0;f[w>>2]=h;x=a+88|0;f[x>>2]=i;return}function Fua(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=76808;b=a+8|0;c=a+44|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+24|0;b=a+12|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+48>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+52>>2]|0;if((b|0)==(a+56|0))return;dX(b);return}function Gua(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=76808;b=a+8|0;c=a+44|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+24|0;b=a+12|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+48>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+52>>2]|0;if((b|0)==(a+56|0)){GQa(a);return}dX(b);GQa(a);return}function Hua(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0;d=u;u=u+240|0;e=d+184|0;g=d+176|0;h=d+120|0;i=d+104|0;j=d+40|0;k=d+96|0;l=d+8|0;m=d+32|0;n=d+24|0;o=d;yV(g,76820);q=f[c>>2]|0;r=f[c+4>>2]|0;c=a+8|0;s=a+20|0;t=a+72|0;v=+p[f[f[t>>2]>>2]>>3];w=+(f[s>>2]|0)/v;x=~~w;y=(w>+(x|0)&1)+x|0;x=a+16|0;w=+(f[x>>2]|0)/v;z=~~w;A=(w>+(z|0)&1)+z|0;z=f[c>>2]&4095;f[h>>2]=1124007936;B=h+4|0;C=h+8|0;D=h+40|0;E=B;F=E+36|0;do{f[E>>2]=0;E=E+4|0}while((E|0)<(F|0));f[D>>2]=C;C=h+48|0;G=h+44|0;f[G>>2]=C;f[C>>2]=0;f[h+52>>2]=0;f[e>>2]=A;f[e+4>>2]=y;VO(h,2,e,z);f[i>>2]=0;z=i+4|0;f[z>>2]=0;f[i+8>>2]=0;if((q|0)<(r|0)){y=h+16|0;A=j+4|0;H=j+8|0;I=j+12|0;J=j+16|0;K=j+20|0;L=j+24|0;M=j+28|0;N=j+40|0;O=j+48|0;P=j+44|0;Q=j+52|0;R=e+4|0;S=a+48|0;T=k+4|0;U=a+24|0;V=a+56|0;W=e+36|0;Y=j+36|0;Z=e+4|0;_=e+8|0;$=e+12|0;aa=e+44|0;ba=e+16|0;ca=e+20|0;da=e+24|0;ea=e+28|0;fa=e+32|0;ga=j+32|0;ha=e+40|0;ia=e+48|0;ja=a+4|0;ka=a+64|0;la=n+4|0;ma=a+76|0;na=o+4|0;oa=a+80|0;pa=a+88|0;qa=a+84|0;a=e+4|0;ra=e+8|0;sa=e+12|0;ta=e+8|0;ua=e+12|0;va=e+4|0;wa=l+8|0;xa=l+4|0;ya=m+4|0;za=q;do{w=+p[(f[f[t>>2]>>2]|0)+(za<<5)>>3];q=AEa(+(f[s>>2]|0)/w)|0;Aa=AEa(+(f[x>>2]|0)/w)|0;Ba=f[c>>2]|0;Ca=f[y>>2]|0;Da=Ba&4095|1124007936;f[j>>2]=Da;f[A>>2]=2;f[H>>2]=Aa;f[I>>2]=q;f[J>>2]=Ca;f[K>>2]=Ca;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;f[N>>2]=H;f[P>>2]=O;f[Q>>2]=0;f[O>>2]=0;if((X(Aa,q)|0)!=0&(Ca|0)==0){f[e>>2]=0;f[R>>2]=0;E=JV(e,26)|0;Ea=346743;F=E+26|0;do{b[E>>0]=b[Ea>>0]|0;E=E+1|0;Ea=Ea+1|0}while((E|0)<(F|0));EP(-215,e,346770,346774,533);KV(e);Fa=f[I>>2]|0;Ga=f[j>>2]|0;Ha=f[P>>2]|0;Ia=f[K>>2]|0}else{Fa=q;Ga=Da;Ha=O;Ia=Ca}Ea=(Ba>>>3&511)+1<<(47696>>>(Ba<<1&14)&3);Ja=X(Fa,Ea)|0;f[j>>2]=Ga|16384;f[Ha>>2]=Ja;f[Ha+4>>2]=Ea;Ea=Ia+(X(f[H>>2]|0,Ja)|0)|0;f[M>>2]=Ea;f[L>>2]=Ea+(0-Ja)+Ja;Ja=f[S>>2]|0;if((Aa|0)==(f[Ja>>2]|0)?(q|0)==(f[Ja+4>>2]|0):0){f[k>>2]=q;f[T>>2]=Aa;EJ(e,k,f[c>>2]&4095,f[U>>2]|0,f[V>>2]|0);Ja=f[W>>2]|0;if(Ja|0){Ea=Ja+12|0;f[Ea>>2]=(f[Ea>>2]|0)+1}Ea=f[Y>>2]|0;if(Ea|0?(Ja=Ea+12|0,Ea=f[Ja>>2]|0,f[Ja>>2]=Ea+-1,(Ea|0)==1):0)XO(j);f[Y>>2]=0;f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[J+12>>2]=0;if((f[A>>2]|0)>0){Ea=f[N>>2]|0;Ja=0;do{f[Ea+(Ja<<2)>>2]=0;Ja=Ja+1|0;Ka=f[A>>2]|0}while((Ja|0)<(Ka|0));f[j>>2]=f[e>>2];if((Ka|0)<3)La=16;else La=18}else{f[j>>2]=f[e>>2];La=16}if((La|0)==16){La=0;Ja=f[Z>>2]|0;if((Ja|0)<3){f[A>>2]=Ja;f[H>>2]=f[_>>2];f[I>>2]=f[$>>2];Ja=f[aa>>2]|0;Ea=f[P>>2]|0;f[Ea>>2]=f[Ja>>2];f[Ea+4>>2]=f[Ja+4>>2]}else La=18}if((La|0)==18){La=0;WO(j,e)}f[J>>2]=f[ba>>2];f[K>>2]=f[ca>>2];f[L>>2]=f[da>>2];f[M>>2]=f[ea>>2];f[ga>>2]=f[fa>>2];Ja=f[W>>2]|0;f[Y>>2]=Ja;if(Ja|0?(Ea=Ja+12|0,Ja=f[Ea>>2]|0,f[Ea>>2]=Ja+-1,(Ja|0)==1):0)XO(e);f[W>>2]=0;f[ba>>2]=0;f[ba+4>>2]=0;f[ba+8>>2]=0;f[ba+12>>2]=0;if((f[Z>>2]|0)>0){Ja=f[ha>>2]|0;Ea=0;do{f[Ja+(Ea<<2)>>2]=0;Ea=Ea+1|0}while((Ea|0)<(f[Z>>2]|0))}Ea=f[aa>>2]|0;if((Ea|0)!=(ia|0))dX(Ea)}else{f[ta>>2]=0;f[ua>>2]=0;f[e>>2]=16842752;f[va>>2]=c;Ea=wa;f[Ea>>2]=0;f[Ea+4>>2]=0;f[l>>2]=33619968;f[xa>>2]=j;f[m>>2]=q;f[ya>>2]=Aa;V5(e,l,m,0.0,0.0,5)}Ea=f[ja>>2]|0;Ja=f[(f[Ea>>2]|0)+56>>2]|0;Ba=f[f[t>>2]>>2]|0;v=+p[ka>>3];f[n>>2]=0;f[la>>2]=0;f[o>>2]=f[ma>>2];f[na>>2]=f[oa>>2];Xh[Ja&7](Ea,j,Ba+(za<<5)+8|0,i,Ba+(za<<5)+20|0,v,n,o);Ba=f[ja>>2]|0;Ea=AEa(w*+(f[Ba+4>>2]|0))|0;Ja=AEa(w*+(f[Ba+8>>2]|0))|0;pQ(f[pa>>2]|0);Ba=f[z>>2]|0;Ca=f[i>>2]|0;if((Ba|0)!=(Ca|0)){Da=0;Ma=Ca;Ca=Ba;while(1){Ba=Ma;Na=f[qa>>2]|0;Oa=AEa(w*+(f[Ba+(Da<<3)>>2]|0))|0;Pa=AEa(w*+(f[Ba+(Da<<3)+4>>2]|0))|0;f[e>>2]=Oa;f[a>>2]=Pa;f[ra>>2]=Ea;f[sa>>2]=Ja;Ba=Na+4|0;Qa=f[Ba>>2]|0;if((Qa|0)==(f[Na+8>>2]|0)){Nsa(Na,e);Ra=f[i>>2]|0;Sa=f[z>>2]|0}else{f[Qa>>2]=Oa;f[Qa+4>>2]=Pa;f[Qa+8>>2]=Ea;f[Qa+12>>2]=Ja;f[Ba>>2]=Qa+16;Ra=Ma;Sa=Ca}Da=Da+1|0;if(Da>>>0>=Sa-Ra>>3>>>0)break;else{Ma=Ra;Ca=Sa}}}qQ(f[pa>>2]|0);Ca=f[Y>>2]|0;if(Ca|0?(Ma=Ca+12|0,Ca=f[Ma>>2]|0,f[Ma>>2]=Ca+-1,(Ca|0)==1):0)XO(j);f[Y>>2]=0;f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[J+12>>2]=0;if((f[A>>2]|0)>0){Ca=f[N>>2]|0;Ma=0;do{f[Ca+(Ma<<2)>>2]=0;Ma=Ma+1|0}while((Ma|0)<(f[A>>2]|0))}Ma=f[P>>2]|0;if((Ma|0)!=(O|0))dX(Ma);za=za+1|0}while((za|0)<(r|0));r=f[i>>2]|0;if(r|0){i=f[z>>2]|0;if((i|0)!=(r|0))f[z>>2]=i+(~((i+-8-r|0)>>>3)<<3);GQa(r)}}r=h+36|0;i=f[r>>2]|0;if(i|0?(z=i+12|0,i=f[z>>2]|0,f[z>>2]=i+-1,(i|0)==1):0)XO(h);f[r>>2]=0;r=h+16|0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;if((f[B>>2]|0)>0){r=f[D>>2]|0;D=0;do{f[r+(D<<2)>>2]=0;D=D+1|0}while((D|0)<(f[B>>2]|0))}B=f[G>>2]|0;if((B|0)!=(C|0))dX(B);if(!(f[g+4>>2]|0)){u=d;return}u=d;return}function Iua(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;f[a>>2]=76692;i=a+4|0;j=a+32|0;f[a+92>>2]=0;f[a+96>>2]=0;k=a+100|0;l=a+108|0;m=a+140|0;n=a+104|0;o=n+36|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;n=j;o=n+44|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[m>>2]=l;l=a+148|0;f[a+144>>2]=l;f[l>>2]=0;f[a+152>>2]=0;f[k>>2]=1124007941;k=a+156|0;l=a+164|0;m=a+196|0;n=a+160|0;o=n+36|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[m>>2]=l;l=a+204|0;f[a+200>>2]=l;f[l>>2]=0;f[a+208>>2]=0;f[k>>2]=1124007936;f[a+212>>2]=1124007936;k=a+220|0;l=a+252|0;n=a+216|0;o=n+36|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[l>>2]=k;k=a+260|0;f[a+256>>2]=k;f[k>>2]=0;f[a+264>>2]=0;f[a+268>>2]=1124007936;k=a+276|0;l=a+308|0;n=a+272|0;o=n+36|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[l>>2]=k;k=a+316|0;f[a+312>>2]=k;f[k>>2]=0;f[a+320>>2]=0;li[f[(f[a>>2]|0)+8>>2]&127](a,b,c,d,e,g,h);return}function Jua(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;c=u;u=u+16|0;d=c;e=a+12|0;g=f[e>>2]|0;h=a+28|0;if(((g|0)%(f[h>>2]|0)|0|0)==0?((f[a+16>>2]|0)%(f[a+32>>2]|0)|0|0)==0:0)i=g;else{f[d>>2]=0;f[d+4>>2]=0;j=JV(d,80)|0;k=335069;l=j+80|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-215,d,335150,334775,90);KV(d);i=f[e>>2]|0}g=a+4|0;m=f[g>>2]|0;n=a+20|0;o=f[n>>2]|0;if(((m-i|0)%(o|0)|0|0)==0?(p=f[a+8>>2]|0,q=f[a+16>>2]|0,r=f[a+24>>2]|0,((p-q|0)%(r|0)|0|0)==0):0){s=i;t=q;v=m;w=o;x=p;y=r}else{f[d>>2]=0;f[d+4>>2]=0;j=JV(d,123)|0;k=335168;l=j+123|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-215,d,335150,334775,92);KV(d);s=f[e>>2]|0;t=f[a+16>>2]|0;v=f[g>>2]|0;w=f[n>>2]|0;x=f[a+8>>2]|0;y=f[a+24>>2]|0}n=X((s|0)/(f[h>>2]|0)|0,f[a+36>>2]|0)|0;h=X(X(X(n,(t|0)/(f[a+32>>2]|0)|0)|0,((v-s|0)/(w|0)|0)+1|0)|0,((x-t|0)/(y|0)|0)+1|0)|0;u=c;return h|0}function Kua(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0,H=0.0,I=0.0,J=0;e=u;u=u+96|0;g=e;i=e+88|0;j=e+32|0;k=f[a+96>>2]|0;l=(f[c>>2]|0)+(f[a+92>>2]|0)|0;f[c>>2]=l;m=c+4|0;o=(f[m>>2]|0)+k|0;f[m>>2]=o;do if(b[a+28>>0]|0){k=a+52|0;p=f[k>>2]|0;if(((l|0)%(p|0)|0|0)==0?(q=f[a+56>>2]|0,((o|0)%(q|0)|0|0)==0):0){r=p;s=l;t=q;v=o}else{f[g>>2]=0;f[g+4>>2]=0;q=JV(g,63)|0;p=334996;w=q+63|0;do{b[q>>0]=b[p>>0]|0;q=q+1|0;p=p+1|0}while((q|0)<(w|0));EP(-215,g,335060,334775,871);KV(g);r=f[k>>2]|0;s=f[c>>2]|0;t=f[a+56>>2]|0;v=f[m>>2]|0}p=(s|0)/(r|0)|0;q=((v|0)/(t|0)|0|0)%(f[a+108>>2]|0)|0;w=a+32|0;if((v|0)!=(f[(f[w>>2]|0)+(q<<2)>>2]|0)){f[g>>2]=q;f[g+4>>2]=q+1;f[i>>2]=-2147483648;f[i+4>>2]=2147483647;YO(j,a+156|0,g,i);f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;gM(j,g)|0;f[(f[w>>2]|0)+(q<<2)>>2]=f[m>>2];w=j+36|0;x=f[w>>2]|0;if(x|0?(y=x+12|0,x=f[y>>2]|0,f[y>>2]=x+-1,(x|0)==1):0)XO(j);f[w>>2]=0;w=j+16|0;x=j+4|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;if((f[x>>2]|0)>0){w=f[j+40>>2]|0;y=0;do{f[w+(y<<2)>>2]=0;y=y+1|0}while((y|0)<(f[x>>2]|0))}x=f[j+44>>2]|0;if((x|0)!=(j+48|0))dX(x)}x=(f[a+116>>2]|0)+(X(f[f[a+144>>2]>>2]|0,q)|0)|0;y=a+76|0;w=x+((X(f[y>>2]|0,p)|0)<<2)|0;x=(f[a+172>>2]|0)+(X(f[f[a+200>>2]>>2]|0,q)|0)+p|0;if(!(b[x>>0]|0)){b[x>>0]=1;z=w;A=y;B=f[c>>2]|0;C=f[m>>2]|0;break}else{D=w;u=e;return D|0}}else{z=d;A=a+76|0;B=l;C=o}while(0);o=f[a+80>>2]|0;l=f[a+84>>2]|0;d=f[a+88>>2]|0;m=B<<1;B=(f[a+228>>2]|0)+(X(f[f[a+256>>2]>>2]|0,C)|0)+(m<<2)|0;c=(f[a+284>>2]|0)+(X(f[f[a+312>>2]>>2]|0,C)|0)+m|0;FVa(z|0,0,f[A>>2]<<2|0)|0;A=f[a+4>>2]|0;if((o|0)>0){m=0;do{C=B+(f[A+(m*44|0)>>2]<<2)|0;E=+n[A+(m*44|0)+40>>2]*+n[A+(m*44|0)+24>>2];j=c+(f[A+(m*44|0)+4>>2]|0)|0;g=z+(f[A+(m*44|0)+8>>2]<<2)|0;i=g+(h[j>>0]<<2)|0;v=g+(h[j+1>>0]<<2)|0;F=+n[v>>2]+E*+n[C+4>>2];n[i>>2]=+n[i>>2]+E*+n[C>>2];n[v>>2]=F;m=m+1|0}while((m|0)!=(o|0));G=o}else G=0;if((G|0)<(l|0)){o=G;do{m=B+(f[A+(o*44|0)>>2]<<2)|0;F=+n[m>>2];E=+n[m+4>>2];m=c+(f[A+(o*44|0)+4>>2]|0)|0;v=h[m>>0]|0;C=h[m+1>>0]|0;m=z+(f[A+(o*44|0)+8>>2]<<2)|0;i=A+(o*44|0)+40|0;H=+n[i>>2]*+n[A+(o*44|0)+24>>2];j=m+(v<<2)|0;g=m+(C<<2)|0;I=+n[g>>2]+E*H;n[j>>2]=+n[j>>2]+F*H;n[g>>2]=I;g=z+(f[A+(o*44|0)+12>>2]<<2)|0;I=+n[i>>2]*+n[A+(o*44|0)+28>>2];i=g+(v<<2)|0;v=g+(C<<2)|0;H=+n[v>>2]+E*I;n[i>>2]=+n[i>>2]+F*I;n[v>>2]=H;o=o+1|0}while((o|0)!=(l|0));J=l}else J=G;if((J|0)<(d|0)){G=J;do{J=B+(f[A+(G*44|0)>>2]<<2)|0;H=+n[J>>2];I=+n[J+4>>2];J=c+(f[A+(G*44|0)+4>>2]|0)|0;l=h[J>>0]|0;o=h[J+1>>0]|0;J=z+(f[A+(G*44|0)+8>>2]<<2)|0;v=A+(G*44|0)+40|0;F=+n[v>>2]*+n[A+(G*44|0)+24>>2];i=J+(l<<2)|0;C=J+(o<<2)|0;E=+n[C>>2]+I*F;n[i>>2]=+n[i>>2]+H*F;n[C>>2]=E;C=z+(f[A+(G*44|0)+12>>2]<<2)|0;E=+n[v>>2]*+n[A+(G*44|0)+28>>2];i=C+(l<<2)|0;J=C+(o<<2)|0;F=+n[J>>2]+I*E;n[i>>2]=+n[i>>2]+H*E;n[J>>2]=F;J=z+(f[A+(G*44|0)+16>>2]<<2)|0;F=+n[v>>2]*+n[A+(G*44|0)+32>>2];i=J+(l<<2)|0;C=J+(o<<2)|0;E=+n[C>>2]+I*F;n[i>>2]=+n[i>>2]+H*F;n[C>>2]=E;C=z+(f[A+(G*44|0)+20>>2]<<2)|0;E=+n[v>>2]*+n[A+(G*44|0)+36>>2];v=C+(l<<2)|0;l=C+(o<<2)|0;F=+n[l>>2]+I*E;n[v>>2]=+n[v>>2]+H*E;n[l>>2]=F;G=G+1|0}while((G|0)!=(d|0))}zg[f[(f[a>>2]|0)+12>>2]&511](a,z);D=z;u=e;return D|0}function Lua(a,b,c,d,e,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;f[a>>2]=76928;m=a+8|0;f[m>>2]=1124007936;n=a+12|0;o=a+16|0;q=a+48|0;r=n;s=r+36|0;do{f[r>>2]=0;r=r+4|0}while((r|0)<(s|0));f[q>>2]=o;r=a+56|0;s=a+52|0;f[s>>2]=r;f[r>>2]=0;f[a+60>>2]=0;r=a+72|0;t=a+76|0;u=a+80|0;v=a+84|0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;f[a+4>>2]=b;if((m|0)==(c|0)){w=a+64|0;p[w>>3]=d;x=f[e>>2]|0;f[r>>2]=x;y=e+4|0;z=f[y>>2]|0;f[t>>2]=z;A=f[g>>2]|0;f[u>>2]=A;B=g+4|0;C=f[B>>2]|0;f[v>>2]=C;D=a+88|0;f[D>>2]=h;E=a+92|0;f[E>>2]=i;F=a+96|0;f[F>>2]=k;G=a+100|0;f[G>>2]=l;H=a+104|0;f[H>>2]=j;return}b=c+36|0;I=f[b>>2]|0;if(I){J=I+12|0;f[J>>2]=(f[J>>2]|0)+1;J=a+44|0;I=f[J>>2]|0;if((I|0)!=0?(K=I+12|0,I=f[K>>2]|0,f[K>>2]=I+-1,(I|0)==1):0){XO(m);L=J}else L=J}else L=a+44|0;f[L>>2]=0;J=a+24|0;f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[J+12>>2]=0;if((f[n>>2]|0)>0){I=f[q>>2]|0;q=0;do{f[I+(q<<2)>>2]=0;q=q+1|0;M=f[n>>2]|0}while((q|0)<(M|0));f[m>>2]=f[c>>2];if((M|0)<3)N=12;else N=14}else{f[m>>2]=f[c>>2];N=12}if((N|0)==12){M=f[c+4>>2]|0;if((M|0)<3){f[n>>2]=M;f[o>>2]=f[c+8>>2];f[a+20>>2]=f[c+12>>2];o=f[c+44>>2]|0;M=f[s>>2]|0;f[M>>2]=f[o>>2];f[M+4>>2]=f[o+4>>2]}else N=14}if((N|0)==14)WO(m,c);f[J>>2]=f[c+16>>2];f[a+28>>2]=f[c+20>>2];f[a+32>>2]=f[c+24>>2];f[a+36>>2]=f[c+28>>2];f[a+40>>2]=f[c+32>>2];f[L>>2]=f[b>>2];w=a+64|0;p[w>>3]=d;x=f[e>>2]|0;f[r>>2]=x;y=e+4|0;z=f[y>>2]|0;f[t>>2]=z;A=f[g>>2]|0;f[u>>2]=A;B=g+4|0;C=f[B>>2]|0;f[v>>2]=C;D=a+88|0;f[D>>2]=h;E=a+92|0;f[E>>2]=i;F=a+96|0;f[F>>2]=k;G=a+100|0;f[G>>2]=l;H=a+104|0;f[H>>2]=j;return}function Mua(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=+g;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0.0,J=0.0,K=0.0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;a=u;u=u+96|0;h=a+16|0;i=a+88|0;j=a+72|0;k=a+8|0;l=a+60|0;m=a+48|0;n=a+32|0;o=a;yV(i,76940);if((e|0)>=1?(q=f[c>>2]|0,r=c+4|0,s=f[r>>2]|0,(q|0)!=(s|0)):0){t=d+4|0;if((s-q>>4|0)!=((f[t>>2]|0)-(f[d>>2]|0)>>3|0)){f[h>>2]=0;f[h+4>>2]=0;q=JV(h,33)|0;s=335845;v=q+33|0;do{b[q>>0]=b[s>>0]|0;q=q+1|0;s=s+1|0}while((q|0)<(v|0));EP(-215,h,335879,334775,3789);KV(h)}f[j>>2]=0;s=j+4|0;f[s>>2]=0;f[j+8>>2]=0;p[k>>3]=g;f[h>>2]=f[k>>2];f[h+4>>2]=f[k+4>>2];k=Msa(c,j,h)|0;f[h>>2]=0;q=h+4|0;f[q>>2]=0;f[h+8>>2]=0;v=(k|0)==0;do if(!v)if(k>>>0>134217727)ZOa(h);else{w=k<<5;x=EQa(w)|0;f[h>>2]=x;f[h+8>>2]=x+(k<<5);FVa(x|0,0,w|0)|0;f[q>>2]=x+w;y=x;break}else y=0;while(0);f[l>>2]=0;x=l+4|0;f[x>>2]=0;f[l+8>>2]=0;if(v)z=0;else{w=k<<2;A=EQa(w)|0;f[l>>2]=A;B=A+(k<<2)|0;f[l+8>>2]=B;FVa(A|0,0,w|0)|0;f[x>>2]=B;z=A}f[m>>2]=0;A=m+4|0;f[A>>2]=0;f[m+8>>2]=0;if(v){C=0;D=0}else{v=EQa(k<<3)|0;f[A>>2]=v;f[m>>2]=v;B=v+(k<<3)|0;f[m+8>>2]=B;w=k;E=v;while(1){p[E>>3]=-1797693134862315708145274.0e284;w=w+-1|0;if(!w)break;else E=E+8|0}f[A>>2]=B;C=v;D=v}v=f[j>>2]|0;B=(f[s>>2]|0)-v|0;E=B>>2;w=v;if((B|0)>0){B=0;do{v=f[w+(B<<2)>>2]|0;F=f[c>>2]|0;G=y+(v<<5)|0;p[G>>3]=+p[G>>3]+ +(f[F+(B<<4)>>2]|0);G=y+(v<<5)+8|0;p[G>>3]=+p[G>>3]+ +(f[F+(B<<4)+4>>2]|0);G=y+(v<<5)+16|0;p[G>>3]=+p[G>>3]+ +(f[F+(B<<4)+8>>2]|0);G=y+(v<<5)+24|0;p[G>>3]=+p[G>>3]+ +(f[F+(B<<4)+12>>2]|0);F=D+(v<<3)|0;H=+p[F>>3];I=+p[(f[d>>2]|0)+(B<<3)>>3];p[F>>3]=H>2]=(f[F>>2]|0)+1;B=B+1|0}while((B|0)<(E|0))}E=(k|0)>0;if(E){B=0;do{w=y+(B<<5)|0;F=y+(B<<5)+8|0;v=y+(B<<5)+16|0;G=y+(B<<5)+24|0;H=1.0/+(f[z+(B<<2)>>2]|0);I=+p[F>>3]*H;J=+p[v>>3]*H;K=+p[G>>3]*H;p[w>>3]=+p[w>>3]*H;p[F>>3]=I;p[v>>3]=J;p[G>>3]=K;B=B+1|0}while((B|0)!=(k|0))}B=f[c>>2]|0;G=f[r>>2]|0;if((G|0)!=(B|0))f[r>>2]=G+(~((G+-16-B|0)>>>4)<<4);B=f[d>>2]|0;G=f[t>>2]|0;if((G|0)!=(B|0))f[t>>2]=G+(~((G+-8-B|0)>>>3)<<3);if(E){E=n+4|0;B=n+8|0;G=n+12|0;v=c+8|0;F=d+8|0;w=f[l>>2]|0;L=f[m>>2]|0;M=0;N=y;y=z;z=D;while(1){O=AEa(+p[N+(M<<5)>>3])|0;P=AEa(+p[N+(M<<5)+8>>3])|0;Q=AEa(+p[N+(M<<5)+16>>3])|0;R=AEa(+p[N+(M<<5)+24>>3])|0;f[n>>2]=O;f[E>>2]=P;f[B>>2]=Q;f[G>>2]=R;S=f[y+(M<<2)>>2]|0;p[o>>3]=+p[z+(M<<3)>>3];do if((S|0)>(e|0)){T=f[h>>2]|0;U=Q+O|0;V=R+P|0;W=(S|0)>3?S:3;a:do if((S|0)<3){X=0;while(1){do if((X|0)!=(M|0)?(f[y+(X<<2)>>2]|0)>(e|0):0){Y=AEa(+p[T+(X<<5)>>3])|0;Z=AEa(+p[T+(X<<5)+8>>3])|0;_=AEa(+p[T+(X<<5)+16>>3])|0;$=AEa(+p[T+(X<<5)+24>>3])|0;aa=AEa(+(_|0)*g)|0;ba=AEa(+($|0)*g)|0;if((O|0)<(Y-aa|0)|(P|0)<(Z-ba|0))break;if((U|0)>(_+Y+aa|0))break;if((V|0)<=($+Z+ba|0)){ca=X;break a}}while(0);ba=X+1|0;if((ba|0)<(k|0))X=ba;else{ca=ba;break}}}else{X=0;while(1){ba=f[y+(X<<2)>>2]|0;do if((X|0)!=(M|0)&(ba|0)>(e|0)){Z=AEa(+p[T+(X<<5)>>3])|0;$=AEa(+p[T+(X<<5)+8>>3])|0;aa=AEa(+p[T+(X<<5)+16>>3])|0;Y=AEa(+p[T+(X<<5)+24>>3])|0;_=AEa(+(aa|0)*g)|0;da=AEa(+(Y|0)*g)|0;if((O|0)<(Z-_|0)|(P|0)<($-da|0))break;if((U|0)>(aa+Z+_|0))break;if((ba|0)>(W|0)?(V|0)<=(Y+$+da|0):0){ca=X;break a}}while(0);ba=X+1|0;if((ba|0)<(k|0))X=ba;else{ca=ba;break}}}while(0);if((ca|0)==(k|0)){V=f[r>>2]|0;if((V|0)==(f[v>>2]|0))Nsa(c,n);else{f[V>>2]=O;f[V+4>>2]=P;f[V+8>>2]=Q;f[V+12>>2]=R;f[r>>2]=V+16}V=f[t>>2]|0;if((V|0)==(f[F>>2]|0)){Osa(d,o);break}else{p[V>>3]=+p[o>>3];f[t>>2]=V+8;break}}}while(0);R=M+1|0;if((R|0)>=(k|0))break;M=R;N=f[h>>2]|0;y=w;z=L}L=f[m>>2]|0;ea=L;fa=L}else{ea=D;fa=C}if(ea|0){C=f[A>>2]|0;if((C|0)!=(ea|0))f[A>>2]=C+(~((C+-8-ea|0)>>>3)<<3);GQa(fa)}fa=f[l>>2]|0;if(fa|0){l=f[x>>2]|0;if((l|0)!=(fa|0))f[x>>2]=l+(~((l+-4-fa|0)>>>2)<<2);GQa(fa)}fa=f[h>>2]|0;if(fa|0){h=f[q>>2]|0;if((h|0)!=(fa|0))f[q>>2]=h+(~((h+-32-fa|0)>>>5)<<5);GQa(fa)}fa=f[j>>2]|0;if(fa|0){j=f[s>>2]|0;if((j|0)!=(fa|0))f[s>>2]=j+(~((j+-4-fa|0)>>>2)<<2);GQa(fa)}}if(!(f[i+4>>2]|0)){u=a;return}u=a;return}function Nua(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=76928;b=a+8|0;c=a+44|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+24|0;b=a+12|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+48>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+52>>2]|0;if((b|0)==(a+56|0))return;dX(b);return}function Oua(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=76928;b=a+8|0;c=a+44|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+24|0;b=a+12|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+48>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+52>>2]|0;if((b|0)==(a+56|0)){GQa(a);return}dX(b);GQa(a);return}function Pua(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0.0,v=0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0;d=u;u=u+256|0;e=d+192|0;g=d+136|0;h=d+124|0;i=d+112|0;j=d;k=d+48|0;l=d+104|0;m=d+16|0;n=d+40|0;o=d+32|0;q=d+8|0;r=f[c>>2]|0;s=f[c+4>>2]|0;do if((r|0)<=0)if((s|0)>1){t=+p[(f[a+88>>2]|0)+(r+1<<3)>>3];break}else{c=f[a+20>>2]|0;v=f[a+16>>2]|0;t=+(((c|0)<(v|0)?v:c)|0);break}else t=+p[(f[a+88>>2]|0)+(r<<3)>>3];while(0);c=a+8|0;v=a+20|0;w=+(f[v>>2]|0)/t;x=~~w;y=(w>+(x|0)&1)+x|0;x=a+16|0;w=+(f[x>>2]|0)/t;z=~~w;A=(w>+(z|0)&1)+z|0;z=f[c>>2]&4095;f[g>>2]=1124007936;B=g+4|0;C=g+8|0;D=g+40|0;E=B;F=E+36|0;do{f[E>>2]=0;E=E+4|0}while((E|0)<(F|0));f[D>>2]=C;C=g+48|0;G=g+44|0;f[G>>2]=C;f[C>>2]=0;f[g+52>>2]=0;f[e>>2]=A;f[e+4>>2]=y;VO(g,2,e,z);f[h>>2]=0;z=h+4|0;f[z>>2]=0;f[h+8>>2]=0;f[i>>2]=0;y=i+4|0;f[y>>2]=0;f[i+8>>2]=0;if((r|0)<(s|0)){A=a+88|0;H=g+16|0;I=k+4|0;J=k+8|0;K=k+12|0;L=k+16|0;M=k+20|0;N=k+24|0;O=k+28|0;P=k+40|0;Q=k+48|0;R=k+44|0;S=k+52|0;T=e+4|0;U=a+48|0;V=l+4|0;W=a+24|0;Y=a+56|0;Z=e+36|0;_=k+36|0;$=e+4|0;aa=e+8|0;ba=e+12|0;ca=e+44|0;da=e+16|0;ea=e+20|0;fa=e+24|0;ga=e+28|0;ha=e+32|0;ia=k+32|0;ja=e+40|0;ka=e+48|0;la=a+4|0;ma=a+64|0;na=a+72|0;oa=o+4|0;pa=a+76|0;qa=a+80|0;ra=q+4|0;sa=a+84|0;ta=e+4|0;ua=e+8|0;va=a+104|0;wa=a+96|0;xa=a+92|0;ya=e+4|0;za=e+8|0;Aa=e+12|0;Ba=a+100|0;a=e+8|0;Ca=e+12|0;Da=e+4|0;Ea=m+8|0;Fa=m+4|0;Ga=n+4|0;Ha=r;do{w=+p[(f[A>>2]|0)+(Ha<<3)>>3];p[j>>3]=w;r=AEa(+(f[v>>2]|0)/w)|0;Ia=AEa(+(f[x>>2]|0)/w)|0;Ja=f[c>>2]|0;Ka=f[H>>2]|0;La=Ja&4095|1124007936;f[k>>2]=La;f[I>>2]=2;f[J>>2]=Ia;f[K>>2]=r;f[L>>2]=Ka;f[M>>2]=Ka;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;f[P>>2]=J;f[R>>2]=Q;f[S>>2]=0;f[Q>>2]=0;if((X(Ia,r)|0)!=0&(Ka|0)==0){f[e>>2]=0;f[T>>2]=0;E=JV(e,26)|0;Ma=346743;F=E+26|0;do{b[E>>0]=b[Ma>>0]|0;E=E+1|0;Ma=Ma+1|0}while((E|0)<(F|0));EP(-215,e,346770,346774,533);KV(e);Na=f[K>>2]|0;Oa=f[k>>2]|0;Pa=f[R>>2]|0;Qa=f[M>>2]|0}else{Na=r;Oa=La;Pa=Q;Qa=Ka}Ma=(Ja>>>3&511)+1<<(47696>>>(Ja<<1&14)&3);Ra=X(Na,Ma)|0;f[k>>2]=Oa|16384;f[Pa>>2]=Ra;f[Pa+4>>2]=Ma;Ma=Qa+(X(f[J>>2]|0,Ra)|0)|0;f[O>>2]=Ma;f[N>>2]=Ma+(0-Ra)+Ra;Ra=f[U>>2]|0;if((Ia|0)==(f[Ra>>2]|0)?(r|0)==(f[Ra+4>>2]|0):0){f[l>>2]=r;f[V>>2]=Ia;EJ(e,l,f[c>>2]&4095,f[W>>2]|0,f[Y>>2]|0);Ra=f[Z>>2]|0;if(Ra|0){Ma=Ra+12|0;f[Ma>>2]=(f[Ma>>2]|0)+1}Ma=f[_>>2]|0;if(Ma|0?(Ra=Ma+12|0,Ma=f[Ra>>2]|0,f[Ra>>2]=Ma+-1,(Ma|0)==1):0)XO(k);f[_>>2]=0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;if((f[I>>2]|0)>0){Ma=f[P>>2]|0;Ra=0;do{f[Ma+(Ra<<2)>>2]=0;Ra=Ra+1|0;Sa=f[I>>2]|0}while((Ra|0)<(Sa|0));f[k>>2]=f[e>>2];if((Sa|0)<3)Ta=21;else Ta=23}else{f[k>>2]=f[e>>2];Ta=21}if((Ta|0)==21){Ta=0;Ra=f[$>>2]|0;if((Ra|0)<3){f[I>>2]=Ra;f[J>>2]=f[aa>>2];f[K>>2]=f[ba>>2];Ra=f[ca>>2]|0;Ma=f[R>>2]|0;f[Ma>>2]=f[Ra>>2];f[Ma+4>>2]=f[Ra+4>>2]}else Ta=23}if((Ta|0)==23){Ta=0;WO(k,e)}f[L>>2]=f[da>>2];f[M>>2]=f[ea>>2];f[N>>2]=f[fa>>2];f[O>>2]=f[ga>>2];f[ia>>2]=f[ha>>2];Ra=f[Z>>2]|0;f[_>>2]=Ra;if(Ra|0?(Ma=Ra+12|0,Ra=f[Ma>>2]|0,f[Ma>>2]=Ra+-1,(Ra|0)==1):0)XO(e);f[Z>>2]=0;f[da>>2]=0;f[da+4>>2]=0;f[da+8>>2]=0;f[da+12>>2]=0;if((f[$>>2]|0)>0){Ra=f[ja>>2]|0;Ma=0;do{f[Ra+(Ma<<2)>>2]=0;Ma=Ma+1|0}while((Ma|0)<(f[$>>2]|0))}Ma=f[ca>>2]|0;if((Ma|0)!=(ka|0))dX(Ma)}else{f[a>>2]=0;f[Ca>>2]=0;f[e>>2]=16842752;f[Da>>2]=c;Ma=Ea;f[Ma>>2]=0;f[Ma+4>>2]=0;f[m>>2]=33619968;f[Fa>>2]=k;f[n>>2]=r;f[Ga>>2]=Ia;V5(e,m,n,0.0,0.0,5)}Ma=f[la>>2]|0;Ra=f[(f[Ma>>2]|0)+36>>2]|0;w=+p[ma>>3];f[o>>2]=f[na>>2];f[oa>>2]=f[pa>>2];f[q>>2]=f[qa>>2];f[ra>>2]=f[sa>>2];f[e>>2]=0;f[ta>>2]=0;f[ua>>2]=0;Ph[Ra&7](Ma,k,h,i,w,o,q,e);Ma=f[e>>2]|0;if(Ma|0){Ra=f[ta>>2]|0;if((Ra|0)!=(Ma|0))f[ta>>2]=Ra+(~((Ra+-8-Ma|0)>>>3)<<3);GQa(Ma)}Ma=f[la>>2]|0;w=+p[j>>3];Ra=AEa(w*+(f[Ma+4>>2]|0))|0;Ja=AEa(w*+(f[Ma+8>>2]|0))|0;pQ(f[va>>2]|0);Ma=f[h>>2]|0;if((f[z>>2]|0)!=(Ma|0)){Ka=0;La=Ma;do{Ma=La;Ua=f[xa>>2]|0;w=+p[j>>3];Va=AEa(w*+(f[Ma+(Ka<<3)>>2]|0))|0;Wa=AEa(w*+(f[Ma+(Ka<<3)+4>>2]|0))|0;f[e>>2]=Va;f[ya>>2]=Wa;f[za>>2]=Ra;f[Aa>>2]=Ja;Ma=Ua+4|0;Xa=f[Ma>>2]|0;if((Xa|0)==(f[Ua+8>>2]|0))Nsa(Ua,e);else{f[Xa>>2]=Va;f[Xa+4>>2]=Wa;f[Xa+8>>2]=Ra;f[Xa+12>>2]=Ja;f[Ma>>2]=Xa+16}Xa=f[Ba>>2]|0;do if(Xa|0){Ma=Xa+4|0;Wa=f[Ma>>2]|0;if((Wa|0)==(f[Xa+8>>2]|0)){Osa(Xa,j);break}else{p[Wa>>3]=+p[j>>3];f[Ma>>2]=Wa+8;break}}while(0);Ka=Ka+1|0;La=f[h>>2]|0}while(Ka>>>0<(f[z>>2]|0)-La>>3>>>0)}qQ(f[va>>2]|0);if(f[wa>>2]|0?(f[i>>2]|0)!=(f[y>>2]|0):0){pQ(f[va>>2]|0);La=f[z>>2]|0;Ka=f[h>>2]|0;if((La|0)!=(Ka|0)){Ja=0;Ra=Ka;Ka=La;while(1){La=f[wa>>2]|0;Ia=(f[i>>2]|0)+(Ja<<3)|0;r=La+4|0;Xa=f[r>>2]|0;if((Xa|0)==(f[La+8>>2]|0)){Osa(La,Ia);Ya=f[h>>2]|0;Za=f[z>>2]|0}else{p[Xa>>3]=+p[Ia>>3];f[r>>2]=Xa+8;Ya=Ra;Za=Ka}Ja=Ja+1|0;if(Ja>>>0>=Za-Ya>>3>>>0)break;else{Ra=Ya;Ka=Za}}}qQ(f[va>>2]|0)}Ka=f[_>>2]|0;if(Ka|0?(Ra=Ka+12|0,Ka=f[Ra>>2]|0,f[Ra>>2]=Ka+-1,(Ka|0)==1):0)XO(k);f[_>>2]=0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;if((f[I>>2]|0)>0){Ka=f[P>>2]|0;Ra=0;do{f[Ka+(Ra<<2)>>2]=0;Ra=Ra+1|0}while((Ra|0)<(f[I>>2]|0))}Ra=f[R>>2]|0;if((Ra|0)!=(Q|0))dX(Ra);Ha=Ha+1|0}while((Ha|0)<(s|0));s=f[i>>2]|0;if(s|0){i=f[y>>2]|0;if((i|0)!=(s|0))f[y>>2]=i+(~((i+-8-s|0)>>>3)<<3);GQa(s)}}s=f[h>>2]|0;if(s|0){h=f[z>>2]|0;if((h|0)!=(s|0))f[z>>2]=h+(~((h+-8-s|0)>>>3)<<3);GQa(s)}s=g+36|0;h=f[s>>2]|0;if(h|0?(z=h+12|0,h=f[z>>2]|0,f[z>>2]=h+-1,(h|0)==1):0)XO(g);f[s>>2]=0;s=g+16|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if((f[B>>2]|0)>0){s=f[D>>2]|0;D=0;do{f[s+(D<<2)>>2]=0;D=D+1|0}while((D|0)<(f[B>>2]|0))}B=f[G>>2]|0;if((B|0)==(C|0)){u=d;return}dX(B);u=d;return}function Qua(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>2>>>0>=b>>>0){FVa(g|0,0,b<<2|0)|0;f[e>>2]=g+(b<<2);return}h=f[a>>2]|0;i=g-h|0;g=i>>2;j=g+b|0;if(j>>>0>1073741823)ZOa(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0>>0?j:d):1073741823;do if(l)if(l>>>0>1073741823){d=hd(8)|0;LQa(d,349912);f[d>>2]=118288;ld(d|0,20688,857)}else{d=EQa(l<<2)|0;m=d;n=d;break}else{m=0;n=0}while(0);d=m+(g<<2)|0;FVa(d|0,0,b<<2|0)|0;if((i|0)>0)DVa(n|0,h|0,i|0)|0;f[a>>2]=m;f[e>>2]=d+(b<<2);f[c>>2]=m+(l<<2);if(!h)return;GQa(h);return}function Rua(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d+8|0;g=d;if(!(Wf[f[(f[a>>2]|0)+12>>2]&255](a)|0)){u=d;return a|0}h=a+32|0;if((f[h>>2]|0)==6){f[e>>2]=0;f[e+4>>2]=0;i=JV(e,30)|0;j=340117;k=i+30|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-2,e,451841,340148,1181);KV(e)}f[g>>2]=0;f[g+4>>2]=0;CS(e,a,a+12|0,13,g);KV(g);BS(a,f[c>>2]|0);BS(a,f[c+4>>2]|0);DS(e);if(!(f[h>>2]&4)){u=d;return a|0}f[h>>2]=6;u=d;return a|0}function Sua(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+16|0;e=d+8|0;g=d;b[e>>0]=49;b[e+1>>0]=102;b[e+2>>0]=0;h=f[a>>2]|0;f[g>>2]=0;f[g+4>>2]=0;a=nCa(e)|0;if(a|0)DVa(JV(g,a)|0,e|0,a|0)|0;a=f[c>>2]|0;e=f[c+4>>2]|0;qS(h,g,(a|0)==(e|0)?0:a,e-a|0);KV(g);u=d;return}function Tua(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+16|0;g=e+8|0;h=e;i=f[a>>2]|0;j=f[i+40>>2]|0;b[g>>0]=49;b[g+1>>0]=102;b[g+2>>0]=0;k=j>>>0>d>>>0?d:j;j=c+4|0;d=f[j>>2]|0;l=f[c>>2]|0;m=d-l>>2;n=l;l=d;if(k>>>0<=m>>>0)if(k>>>0>>0?(d=n+(k<<2)|0,(d|0)!=(l|0)):0){f[j>>2]=l+(~((l+-4-d|0)>>>2)<<2);o=i}else o=i;else{Qua(c,k-m|0);o=f[a>>2]|0}f[h>>2]=0;f[h+4>>2]=0;a=nCa(g)|0;if(!a){p=f[c>>2]|0;q=f[j>>2]|0;r=(p|0)==(q|0);s=r?0:p;t=k<<2;xS(o,h,s,t)|0;KV(h);u=e;return}DVa(JV(h,a)|0,g|0,a|0)|0;p=f[c>>2]|0;q=f[j>>2]|0;r=(p|0)==(q|0);s=r?0:p;t=k<<2;xS(o,h,s,t)|0;KV(h);u=e;return}function Uua(){G_(807476,336929,172,927,126,144,173);return}function Vua(a){a=a|0;if((b[453840]|0)==0?jVa(453840)|0:0){f[113462]=76716;f[113463]=64;f[113464]=128;f[113465]=16;f[113466]=16;f[113467]=8;f[113468]=8;f[113469]=8;f[113470]=8;f[113471]=9;f[113472]=1;p[56737]=-1.0;f[113476]=0;p[56739]=.2;b[453920]=1;f[113481]=0;f[113482]=0;f[113483]=0;f[113484]=1124007936;f[113485]=0;f[113486]=0;f[113487]=0;f[113488]=0;f[113489]=0;f[113490]=0;f[113491]=0;f[113492]=453944;f[113493]=453976;f[113495]=0;f[113494]=0;n[113496]=-1.0;f[113497]=64;b[453992]=0}return (f[f[19255]>>2]|0)==(f[a>>2]|0)|0}function Wua(a){a=a|0;var b=0;if(!a)return;b=f[a>>2]|0;if(!b)return;qg[f[(f[b>>2]|0)+4>>2]&1023](b);f[a>>2]=0;return}function Xua(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;e=d;f[e>>2]=a;f[e+4>>2]=c;c=EQa(152)|0;f[c>>2]=76716;f[c+4>>2]=64;f[c+8>>2]=128;f[c+12>>2]=16;f[c+16>>2]=16;f[c+20>>2]=8;f[c+24>>2]=8;f[c+28>>2]=8;f[c+32>>2]=8;f[c+36>>2]=9;f[c+40>>2]=1;p[c+48>>3]=-1.0;f[c+56>>2]=0;p[c+64>>3]=.2;b[c+72>>0]=1;f[c+76>>2]=0;f[c+80>>2]=0;f[c+84>>2]=0;f[c+88>>2]=1124007936;a=c+92|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[a+24>>2]=0;f[c+120>>2]=c+96;a=c+128|0;f[c+124>>2]=a;f[c+132>>2]=0;f[a>>2]=0;n[c+136>>2]=-1.0;f[c+140>>2]=64;b[c+144>>0]=0;if(rua(c,e)|0){g=c;u=d;return g|0}qg[f[(f[c>>2]|0)+4>>2]&1023](c);g=0;u=d;return g|0}function Yua(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;d=u;u=u+48|0;e=d+8|0;g=d;if(!((a|0)!=0&(c|0)!=0)){u=d;return}nS(e,a,0);a=f[(f[c>>2]|0)+16>>2]|0;f[g>>2]=0;f[g+4>>2]=0;if(b|0?(h=nCa(b)|0,h|0):0)DVa(JV(g,h)|0,b|0,h|0)|0;Rg[a&255](c,e,g);KV(g);eS(e);u=d;return}function Zua(a){a=a|0;var b=0,c=0,d=0;if(!a){b=0;return b|0}c=EQa(152)|0;f[c>>2]=76716;d=c+4|0;f[c+76>>2]=0;f[c+80>>2]=0;f[c+84>>2]=0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[d+24>>2]=0;f[d+28>>2]=0;f[c+88>>2]=1124007936;d=c+92|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[d+24>>2]=0;f[c+120>>2]=c+96;d=c+128|0;f[c+124>>2]=d;f[c+132>>2]=0;f[d>>2]=0;zg[f[(f[a>>2]|0)+28>>2]&511](a,c);b=c;return b|0}function _ua(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=0;b=a+4|0;f[b>>2]=0;f[a+8>>2]=0;c=EQa(15124)|0;f[b>>2]=c;f[a>>2]=c;d=c+15124|0;f[a+8>>2]=d;a=77024;e=c;while(1){f[e>>2]=f[a>>2];a=a+4|0;if((a|0)==92148)break;else e=e+4|0}f[b>>2]=d;return}function $ua(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=0;b=a+4|0;f[b>>2]=0;f[a+8>>2]=0;c=EQa(7924)|0;f[b>>2]=c;f[a>>2]=c;d=c+7924|0;f[a+8>>2]=d;a=92148;e=c;while(1){f[e>>2]=f[a>>2];a=a+4|0;if((a|0)==100072)break;else e=e+4|0}f[b>>2]=d;return}function ava(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0.0,U=0.0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;e=u;u=u+432|0;g=e+424|0;h=e+368|0;i=e+320|0;j=e+264|0;k=e;l=e+248|0;m=e+192|0;yV(g,100072);f[h>>2]=1124007936;n=h+4|0;o=h+8|0;q=h+40|0;r=n;s=r+36|0;do{f[r>>2]=0;r=r+4|0}while((r|0)<(s|0));f[q>>2]=o;t=h+48|0;v=h+44|0;f[v>>2]=t;f[t>>2]=0;f[h+52>>2]=0;f[i>>2]=1124007936;w=i+4|0;x=i+8|0;y=i+20|0;z=i+24|0;A=i+28|0;B=i+32|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;f[w+16>>2]=0;f[w+20>>2]=0;f[w+24>>2]=0;f[B>>2]=x;C=i+40|0;D=i+36|0;f[D>>2]=C;f[i+44>>2]=0;f[C>>2]=0;C=(HJ(a)|0)==655360;if(C){IJ(j,a,-1);E=j+24|0;F=f[E>>2]|0;if(F|0){G=F+8|0;f[G>>2]=(f[G>>2]|0)+1}G=f[z>>2]|0;if(G|0?(F=G+8|0,G=f[F>>2]|0,f[F>>2]=G+-1,(G|0)==1):0)uN(i);if((f[w>>2]|0)>0){G=f[B>>2]|0;F=0;do{f[G+(F<<2)>>2]=0;F=F+1|0;H=f[w>>2]|0}while((F|0)<(H|0));f[z>>2]=0;f[i>>2]=f[j>>2];if((H|0)<3)I=12;else I=14}else{f[z>>2]=0;f[i>>2]=f[j>>2];I=12}if((I|0)==12){H=f[j+4>>2]|0;if((H|0)<3){f[w>>2]=H;f[x>>2]=f[j+8>>2];f[i+12>>2]=f[j+12>>2];x=f[j+36>>2]|0;H=f[D>>2]|0;f[H>>2]=f[x>>2];f[H+4>>2]=f[x+4>>2]}else I=14}if((I|0)==14)sN(i,j);f[i+16>>2]=f[j+16>>2];if(!(f[y>>2]|0))f[y>>2]=f[j+20>>2];f[z>>2]=f[E>>2];f[A>>2]=f[j+28>>2];A=f[i>>2]|0;E=f[B>>2]|0;B=f[E+4>>2]|0;z=f[E>>2]|0;tN(j);J=A;L=B;M=z}else{do if((HJ(a)|0)==65536){z=f[a+4>>2]|0;f[j>>2]=f[z>>2];B=j+4|0;A=z+4|0;f[B>>2]=f[A>>2];E=j+8|0;f[E>>2]=f[z+8>>2];f[j+12>>2]=f[z+12>>2];f[j+16>>2]=f[z+16>>2];f[j+20>>2]=f[z+20>>2];f[j+24>>2]=f[z+24>>2];f[j+28>>2]=f[z+28>>2];f[j+32>>2]=f[z+32>>2];y=j+36|0;x=f[z+36>>2]|0;f[y>>2]=x;f[j+40>>2]=E;E=j+48|0;H=j+44|0;f[H>>2]=E;f[E>>2]=0;f[j+52>>2]=0;if(x|0){E=x+12|0;f[E>>2]=(f[E>>2]|0)+1}if((f[A>>2]|0)<3){A=f[z+44>>2]|0;E=f[H>>2]|0;f[E>>2]=f[A>>2];f[E+4>>2]=f[A+4>>2];N=y;break}else{f[B>>2]=0;WO(j,z);N=y;break}}else{DJ(j,a,-1);N=j+36|0}while(0);a=f[N>>2]|0;if(a|0){y=a+12|0;f[y>>2]=(f[y>>2]|0)+1}y=h+36|0;a=f[y>>2]|0;if(a|0?(z=a+12|0,a=f[z>>2]|0,f[z>>2]=a+-1,(a|0)==1):0)XO(h);f[y>>2]=0;a=h+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if((f[n>>2]|0)>0){z=f[q>>2]|0;B=0;do{f[z+(B<<2)>>2]=0;B=B+1|0;O=f[n>>2]|0}while((B|0)<(O|0));f[h>>2]=f[j>>2];if((O|0)<3)I=35;else I=37}else{f[h>>2]=f[j>>2];I=35}if((I|0)==35){O=f[j+4>>2]|0;if((O|0)<3){f[n>>2]=O;f[o>>2]=f[j+8>>2];f[h+12>>2]=f[j+12>>2];o=f[j+44>>2]|0;O=f[v>>2]|0;f[O>>2]=f[o>>2];f[O+4>>2]=f[o+4>>2]}else I=37}if((I|0)==37)WO(h,j);o=j+16|0;f[a>>2]=f[o>>2];f[h+20>>2]=f[j+20>>2];f[h+24>>2]=f[j+24>>2];f[h+28>>2]=f[j+28>>2];f[h+32>>2]=f[j+32>>2];a=f[N>>2]|0;f[y>>2]=a;y=f[h>>2]|0;O=f[q>>2]|0;B=f[O+4>>2]|0;z=f[O>>2]|0;if(a|0?(O=a+12|0,a=f[O>>2]|0,f[O>>2]=a+-1,(a|0)==1):0)XO(j);f[N>>2]=0;N=j+4|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;if((f[N>>2]|0)>0){o=f[j+40>>2]|0;a=0;do{f[o+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[N>>2]|0))}N=f[j+44>>2]|0;if((N|0)!=(j+48|0))dX(N);J=y;L=B;M=z}f[j>>2]=f[c>>2];z=j+4|0;B=c+4|0;f[z>>2]=f[B>>2];y=j+8|0;N=c+8|0;a=f[N>>2]|0;f[y>>2]=a;o=j+12|0;O=c+12|0;A=f[O>>2]|0;f[o>>2]=A;if(!(J&4088)){P=A;Q=a}else{f[k>>2]=0;f[k+4>>2]=0;a=JV(k,7)|0;b[a>>0]=b[336956]|0;b[a+1>>0]=b[336957]|0;b[a+2>>0]=b[336958]|0;b[a+3>>0]=b[336959]|0;b[a+4>>0]=b[336960]|0;b[a+5>>0]=b[336961]|0;b[a+6>>0]=b[336962]|0;EP(-215,k,336964,336974,61);KV(k);P=f[O>>2]|0;Q=f[N>>2]|0}if((P|0)<1|(Q|0)<1){f[k>>2]=0;f[k+4>>2]=0;r=JV(k,35)|0;a=337032;s=r+35|0;do{b[r>>0]=b[a>>0]|0;r=r+1|0;a=a+1|0}while((r|0)<(s|0));EP(-5,k,336964,336974,64);KV(k);R=f[N>>2]|0;S=f[O>>2]|0}else{R=Q;S=P}P=f[c>>2]|0;Q=f[B>>2]|0;a=(P|0)>0?P:0;r=(Q|0)>0?Q:0;s=R+P|0;P=((L|0)<(s|0)?L:s)-a|0;s=S+Q|0;Q=((M|0)<(s|0)?M:s)-r|0;s=(P|0)<1|(Q|0)<1;f[c>>2]=s?0:a;f[B>>2]=s?0:r;f[N>>2]=s?0:P;f[O>>2]=s?0:Q;Q=f[d>>2]|0;if(!(Q&2))T=1.0;else{U=+p[d+8>>3];T=U<0.0?0.0:U}s=AEa(T*T)|0;P=((s|0)<0)<<31>>31;if(!(Q&1))V=100;else{Q=f[d+4>>2]|0;V=(Q|0)>1?Q:1}Q=(L|0)/2|0;d=(M|0)/2|0;r=l+8|0;a=l+12|0;S=l+4|0;R=k+8|0;A=k+16|0;J=l+8|0;E=l+12|0;H=l+4|0;x=m+36|0;D=m+16|0;w=m+4|0;F=m+40|0;G=m+44|0;W=m+48|0;Y=0;Z=f[j>>2]|0;_=f[z>>2]|0;$=f[y>>2]|0;aa=f[o>>2]|0;while(1){ba=(Z|0)>0?Z:0;ca=(_|0)>0?_:0;da=$+Z|0;ea=((L|0)<(da|0)?L:da)-ba|0;da=aa+_|0;fa=((M|0)<(da|0)?M:da)-ca|0;da=(ea|0)<1|(fa|0)<1;ga=da?0:fa;ha=da?0:ea;f[j>>2]=da?0:ba;f[z>>2]=da?0:ca;f[y>>2]=ha;f[o>>2]=ga;if((ca|ba|0)==0|da?da|(ea|fa|0)==0:0){f[j>>2]=Q;f[z>>2]=d}f[y>>2]=(ha|0)>1?ha:1;f[o>>2]=(ga|0)>1?ga:1;if(!C){$O(m,h,j);f[J>>2]=0;f[E>>2]=0;f[l>>2]=16842752;f[H>>2]=m;koa(k,l,0);ga=f[x>>2]|0;if(ga|0?(ha=ga+12|0,ga=f[ha>>2]|0,f[ha>>2]=ga+-1,(ga|0)==1):0)XO(m);f[x>>2]=0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;if((f[w>>2]|0)>0){ga=f[F>>2]|0;ha=0;do{f[ga+(ha<<2)>>2]=0;ha=ha+1|0}while((ha|0)<(f[w>>2]|0))}ha=f[G>>2]|0;if((ha|0)!=(W|0))dX(ha)}else{qN(m,i,j);f[r>>2]=0;f[a>>2]=0;f[l>>2]=17432576;f[S>>2]=m;koa(k,l,0);tN(m)}T=+p[k>>3];if(+K(+T)<2.220446049250313e-16){I=72;break}ha=AEa(+p[R>>3]/T-+(f[N>>2]|0)*.5)|0;ga=AEa(+p[A>>3]/T-+(f[O>>2]|0)*.5)|0;fa=f[j>>2]|0;ea=fa+ha|0;$=f[y>>2]|0;ha=L-$|0;da=(ea|0)>0?ea:0;Z=(ha|0)<(da|0)?ha:da;da=f[z>>2]|0;ha=da+ga|0;aa=f[o>>2]|0;ga=M-aa|0;ea=(ha|0)>0?ha:0;_=(ga|0)<(ea|0)?ga:ea;ea=Z-fa|0;fa=_-da|0;f[j>>2]=Z;f[z>>2]=_;if(0<(P|0)|(0==(P|0)?((X(fa,fa)|0)+(X(ea,ea)|0)|0)>>>0>>0:0)){I=72;break}ea=Y+1|0;if((ea|0)>=(V|0)){ia=ea;break}else Y=ea}if((I|0)==72)ia=Y;f[c>>2]=f[j>>2];f[B>>2]=f[z>>2];f[N>>2]=f[y>>2];f[O>>2]=f[o>>2];tN(i);i=h+36|0;o=f[i>>2]|0;if(o|0?(O=o+12|0,o=f[O>>2]|0,f[O>>2]=o+-1,(o|0)==1):0)XO(h);f[i>>2]=0;i=h+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[n>>2]|0)>0){i=f[q>>2]|0;q=0;do{f[i+(q<<2)>>2]=0;q=q+1|0}while((q|0)<(f[n>>2]|0))}n=f[v>>2]|0;if((n|0)!=(t|0))dX(n);if(!(f[g+4>>2]|0)){u=e;return ia|0}u=e;return ia|0}function bva(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,M=0,P=0.0,Q=0.0,R=0.0,S=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0;e=u;u=u+384|0;g=e;h=e+368|0;i=e+312|0;j=e+264|0;k=e+248|0;l=e+192|0;yV(h,100092);f[i>>2]=1124007936;m=i+4|0;o=i+8|0;q=i+40|0;r=m;s=r+36|0;do{f[r>>2]=0;r=r+4|0}while((r|0)<(s|0));f[q>>2]=o;r=i+48|0;s=i+44|0;f[s>>2]=r;f[r>>2]=0;f[i+52>>2]=0;f[j>>2]=1124007936;t=j+4|0;v=j+8|0;w=j+20|0;x=j+24|0;y=j+28|0;z=j+32|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;f[t+16>>2]=0;f[t+20>>2]=0;f[t+24>>2]=0;f[z>>2]=v;A=j+40|0;B=j+36|0;f[B>>2]=A;f[j+44>>2]=0;f[A>>2]=0;A=(HJ(b)|0)==655360;if(A){IJ(g,b,-1);C=g+24|0;D=f[C>>2]|0;if(D|0){E=D+8|0;f[E>>2]=(f[E>>2]|0)+1}E=f[x>>2]|0;if(E|0?(D=E+8|0,E=f[D>>2]|0,f[D>>2]=E+-1,(E|0)==1):0)uN(j);if((f[t>>2]|0)>0){E=f[z>>2]|0;D=0;do{f[E+(D<<2)>>2]=0;D=D+1|0;F=f[t>>2]|0}while((D|0)<(F|0));f[x>>2]=0;f[j>>2]=f[g>>2];if((F|0)<3)G=12;else G=14}else{f[x>>2]=0;f[j>>2]=f[g>>2];G=12}if((G|0)==12){F=f[g+4>>2]|0;if((F|0)<3){f[t>>2]=F;f[v>>2]=f[g+8>>2];f[j+12>>2]=f[g+12>>2];v=f[g+36>>2]|0;F=f[B>>2]|0;f[F>>2]=f[v>>2];f[F+4>>2]=f[v+4>>2]}else G=14}if((G|0)==14)sN(j,g);f[j+16>>2]=f[g+16>>2];if(!(f[w>>2]|0))f[w>>2]=f[g+20>>2];f[x>>2]=f[C>>2];f[y>>2]=f[g+28>>2];y=f[z>>2]|0;z=f[y+4>>2]|0;C=f[y>>2]|0;tN(g);H=z;I=C}else{do if((HJ(b)|0)==65536){C=f[b+4>>2]|0;f[g>>2]=f[C>>2];z=g+4|0;y=C+4|0;f[z>>2]=f[y>>2];x=g+8|0;f[x>>2]=f[C+8>>2];f[g+12>>2]=f[C+12>>2];f[g+16>>2]=f[C+16>>2];f[g+20>>2]=f[C+20>>2];f[g+24>>2]=f[C+24>>2];f[g+28>>2]=f[C+28>>2];f[g+32>>2]=f[C+32>>2];w=g+36|0;v=f[C+36>>2]|0;f[w>>2]=v;f[g+40>>2]=x;x=g+48|0;F=g+44|0;f[F>>2]=x;f[x>>2]=0;f[g+52>>2]=0;if(v|0){x=v+12|0;f[x>>2]=(f[x>>2]|0)+1}if((f[y>>2]|0)<3){y=f[C+44>>2]|0;x=f[F>>2]|0;f[x>>2]=f[y>>2];f[x+4>>2]=f[y+4>>2];J=w;break}else{f[z>>2]=0;WO(g,C);J=w;break}}else{DJ(g,b,-1);J=g+36|0}while(0);w=f[J>>2]|0;if(w|0){C=w+12|0;f[C>>2]=(f[C>>2]|0)+1}C=i+36|0;w=f[C>>2]|0;if(w|0?(z=w+12|0,w=f[z>>2]|0,f[z>>2]=w+-1,(w|0)==1):0)XO(i);f[C>>2]=0;w=i+16|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;if((f[m>>2]|0)>0){z=f[q>>2]|0;y=0;do{f[z+(y<<2)>>2]=0;y=y+1|0;M=f[m>>2]|0}while((y|0)<(M|0));f[i>>2]=f[g>>2];if((M|0)<3)G=35;else G=37}else{f[i>>2]=f[g>>2];G=35}if((G|0)==35){M=f[g+4>>2]|0;if((M|0)<3){f[m>>2]=M;f[o>>2]=f[g+8>>2];f[i+12>>2]=f[g+12>>2];o=f[g+44>>2]|0;M=f[s>>2]|0;f[M>>2]=f[o>>2];f[M+4>>2]=f[o+4>>2]}else G=37}if((G|0)==37)WO(i,g);G=g+16|0;f[w>>2]=f[G>>2];f[i+20>>2]=f[g+20>>2];f[i+24>>2]=f[g+24>>2];f[i+28>>2]=f[g+28>>2];f[i+32>>2]=f[g+32>>2];w=f[J>>2]|0;f[C>>2]=w;C=f[q>>2]|0;o=f[C+4>>2]|0;M=f[C>>2]|0;if(w|0?(C=w+12|0,w=f[C>>2]|0,f[C>>2]=w+-1,(w|0)==1):0)XO(g);f[J>>2]=0;J=g+4|0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;if((f[J>>2]|0)>0){G=f[g+40>>2]|0;w=0;do{f[G+(w<<2)>>2]=0;w=w+1|0}while((w|0)<(f[J>>2]|0))}J=f[g+44>>2]|0;if((J|0)!=(g+48|0))dX(J);H=o;I=M};f[g>>2]=f[d>>2];f[g+4>>2]=f[d+4>>2];f[g+8>>2]=f[d+8>>2];f[g+12>>2]=f[d+12>>2];ava(b,c,g)|0;b=f[c>>2]|0;d=(b|0)<10?0:b+-10|0;f[c>>2]=d;b=c+4|0;M=f[b>>2]|0;o=(M|0)<10?0:M+-10|0;f[b>>2]=o;M=c+8|0;J=(f[M>>2]|0)+20|0;f[M>>2]=(d+J|0)>(H|0)?H-d|0:J;J=c+12|0;d=(f[J>>2]|0)+20|0;f[J>>2]=(o+d|0)>(I|0)?I-o|0:d;if(!A){$O(l,i,c);f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=l;koa(g,k,0);A=l+36|0;d=f[A>>2]|0;if(d|0?(o=d+12|0,d=f[o>>2]|0,f[o>>2]=d+-1,(d|0)==1):0)XO(l);f[A>>2]=0;A=l+16|0;d=l+4|0;f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;f[A+12>>2]=0;if((f[d>>2]|0)>0){A=f[l+40>>2]|0;o=0;do{f[A+(o<<2)>>2]=0;o=o+1|0}while((o|0)<(f[d>>2]|0))}d=f[l+44>>2]|0;if((d|0)!=(l+48|0))dX(d)}else{qN(l,j,c);f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=17432576;f[k+4>>2]=l;koa(g,k,0);tN(l)}P=+p[g>>3];Q=+p[g+88>>3];R=+p[g+80>>3];S=+p[g+96>>3];if(+K(+P)<2.220446049250313e-16){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0}else{U=+p[g+16>>3];V=1.0/P;l=AEa(V*+p[g+8>>3]+ +(f[c>>2]|0))|0;g=AEa(V*U+ +(f[b>>2]|0))|0;U=Q*V;P=V*R-V*S;W=+T(+(U*2.0),+(P+ +L(+(U*(U*4.0)+P*P))));P=+N(+W);U=+O(+W);X=P*P;Y=Q*(P*2.0*U);Q=U*U;Z=+L(+(V*(S*Q+(R*X+Y))))*4.0;_=+L(+(V*(S*X+(R*Q-Y))))*4.0;if(Z<_){$=1.5707963267948966-W;aa=Z;ba=_;ca=P;da=U}else{$=W;aa=_;ba=Z;ca=U;da=P}k=AEa(+K(+(da*ba)))|0;d=AEa(+K(+(ca*aa)))|0;o=((k|0)<(d|0)?d:k)+2|0;k=H-l<<1;d=(o|0)>(k|0)?k:o;o=AEa(+K(+(ca*ba)))|0;k=AEa(+K(+(da*aa)))|0;A=((o|0)<(k|0)?k:o)+2|0;o=I-g<<1;k=(A|0)>(o|0)?o:A;A=l-((d|0)/2|0)|0;l=(A|0)>0?A:0;f[c>>2]=l;c=g-((k|0)/2|0)|0;g=(c|0)>0?c:0;f[b>>2]=g;b=H-l|0;H=(b|0)>(d|0)?d:b;f[M>>2]=H;M=I-g|0;I=(M|0)>(k|0)?k:M;f[J>>2]=I;da=ba;ba=aa;aa=($+1.5707963267948966)*180.0/3.141592653589793;if(aa<0.0){$=aa;while(1){ca=$+360.0;if(ca<0.0)$=ca;else{ea=ca;break}}}else ea=aa;if(!(ea>=360.0))fa=ea;else{aa=ea;while(1){ea=aa+-360.0;if(!(ea>=360.0)){fa=ea;break}else aa=ea}}n[a>>2]=+(H|0)*.5+ +(l|0);n[a+4>>2]=+(I|0)*.5+ +(g|0);n[a+8>>2]=ba;n[a+12>>2]=da;n[a+16>>2]=!(fa>=180.0)?fa:fa+-180.0}tN(j);j=i+36|0;a=f[j>>2]|0;if(a|0?(g=a+12|0,a=f[g>>2]|0,f[g>>2]=a+-1,(a|0)==1):0)XO(i);f[j>>2]=0;j=i+16|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;if((f[m>>2]|0)>0){j=f[q>>2]|0;q=0;do{f[j+(q<<2)>>2]=0;q=q+1|0}while((q|0)<(f[m>>2]|0))}m=f[s>>2]|0;if((m|0)!=(r|0))dX(m);if(!(f[h+4>>2]|0)){u=e;return}u=e;return}function cva(a){a=a|0;GQa(a);return}function dva(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0.0,r=0,s=0,t=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0,ta=0.0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0.0,Da=0.0,Ea=0.0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0.0,fb=0.0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0.0,mb=0.0,nb=0.0,ob=0.0,pb=0.0,qb=0.0,rb=0.0,sb=0.0,tb=0.0,ub=0.0,vb=0.0,wb=0.0,xb=0.0,yb=0.0,zb=0,Ab=0.0,Bb=0.0,Cb=0.0,Db=0.0,Eb=0.0,Fb=0.0,Gb=0,Hb=0.0,Ib=0,Jb=0.0;e=u;u=u+1184|0;g=e+1168|0;i=e+1160|0;j=e+112|0;k=e+56|0;l=e;yV(i,100132);m=a+32|0;o=f[m>>2]|0;q=+(o+-1|0)*.5;r=a+36|0;s=f[r>>2]|0;t=+(s+-1|0)*.5;v=f[a+4>>2]|0;w=f[a+8>>2]|0;x=f[a+12>>2]|0;y=((f[v>>2]|0)>>>3&511)+1|0;z=y<<1;A=X(X(o*3|0,s)|0,y)|0;B=j+8|0;f[j>>2]=B;C=j+4|0;f[C>>2]=A;if(A>>>0>520){D=FQa(A>>>0>2147483647?-1:A<<1)|0;f[j>>2]=D;E=D;F=D}else{E=B;F=B}D=(y<<3)+-5|0;A=D&4091|1124007936;f[k>>2]=A;G=k+4|0;f[G>>2]=2;H=k+8|0;f[H>>2]=s;I=k+12|0;f[I>>2]=o;J=k+16|0;f[J>>2]=E;M=k+20|0;f[M>>2]=E;N=k+24|0;O=k+28|0;P=k+40|0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;f[P>>2]=H;Q=k+48|0;R=k+44|0;f[R>>2]=Q;f[k+52>>2]=0;f[Q>>2]=0;if((X(s,o)|0)!=0&(E|0)==0){f[g>>2]=0;f[g+4>>2]=0;S=JV(g,26)|0;T=346743;U=S+26|0;do{b[S>>0]=b[T>>0]|0;S=S+1|0;T=T+1|0}while((S|0)<(U|0));EP(-215,g,346770,346774,533);KV(g);V=f[I>>2]|0;W=f[k>>2]|0;Y=f[R>>2]|0;Z=f[M>>2]|0;_=f[j>>2]|0}else{V=o;W=A;Y=Q;Z=E;_=F}F=(D>>>2&1022)+2|0;D=X(V,F)|0;f[k>>2]=W|16384;f[Y>>2]=D;f[Y+4>>2]=F;F=Z+(X(f[H>>2]|0,D)|0)|0;f[O>>2]=F;f[N>>2]=F+(0-D)+D;D=f[m>>2]|0;F=f[r>>2]|0;N=(y<<4)+-5|0;O=X(F,D)|0;H=_+((X(O,y)|0)<<1)|0;_=N&4091|1124007936;f[l>>2]=_;Z=l+4|0;f[Z>>2]=2;Y=l+8|0;f[Y>>2]=F;F=l+12|0;f[F>>2]=D;W=l+16|0;f[W>>2]=H;V=l+20|0;f[V>>2]=H;E=l+24|0;A=l+28|0;o=l+40|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;f[o>>2]=Y;M=l+48|0;I=l+44|0;f[I>>2]=M;f[l+52>>2]=0;f[M>>2]=0;if((O|0)!=0&(H|0)==0){f[g>>2]=0;f[g+4>>2]=0;S=JV(g,26)|0;T=346743;U=S+26|0;do{b[S>>0]=b[T>>0]|0;S=S+1|0;T=T+1|0}while((S|0)<(U|0));EP(-215,g,346770,346774,533);KV(g);$=f[F>>2]|0;aa=f[l>>2]|0;ba=f[I>>2]|0;ca=f[V>>2]|0}else{$=D;aa=_;ba=M;ca=H}H=(N>>>2&1022)+2|0;N=X($,H)|0;f[l>>2]=aa|16384;f[ba>>2]=N;f[ba+4>>2]=H;H=ca+(X(f[Y>>2]|0,N)|0)|0;f[A>>2]=H;f[E>>2]=H+(0-N)+N;N=f[c>>2]|0;H=c+4|0;if((N|0)<(f[H>>2]|0)){c=a+16|0;E=a+56|0;A=a+60|0;Y=a+64|0;ca=a+20|0;ba=a+24|0;aa=a+28|0;$=x+12|0;_=x+8|0;D=x+48|0;V=v+48|0;F=w+48|0;O=v+16|0;s=x+16|0;da=z|1;ea=a+68|0;fa=a+44|0;ga=w+12|0;ha=w+8|0;ia=w+16|0;ja=a+48|0;a=g+4|0;ka=y<<5;la=N;do{N=f[c>>2]|0;ma=f[E>>2]|0;na=1.0/+(1<>2]*na;pa=+n[N+(la<<3)+4>>2]*na;if((ma|0)==(f[A>>2]|0))if(!(f[Y>>2]&4)){qa=oa;ra=pa;sa=f[ca>>2]|0}else{ta=na;ua=21}else{ta=2.0;ua=21}if((ua|0)==21){ua=0;N=f[ca>>2]|0;qa=ta*+n[N+(la<<3)>>2];ra=ta*+n[N+(la<<3)+4>>2];sa=N}N=sa+(la<<3)|0;n[N>>2]=qa;va=sa+(la<<3)+4|0;n[va>>2]=ra;na=oa-q;oa=pa-t;wa=~~na;xa=wa-(na<+(wa|0)&1)|0;wa=~~oa;ya=wa-(oa<+(wa|0)&1)|0;wa=f[m>>2]|0;za=0-wa|0;a:do if((((xa|0)>=(za|0)?(xa|0)<(f[$>>2]|0):0)?(Aa=f[r>>2]|0,Ba=0-Aa|0,(ya|0)>=(Ba|0)):0)?(ya|0)<(f[_>>2]|0):0){pa=na-+(xa|0);Ca=oa-+(ya|0);Da=1.0-pa;Ea=1.0-Ca;Fa=HEa(Da*Ea*16384.0)|0;Ga=HEa(pa*Ea*16384.0)|0;Ha=HEa(Ca*Da*16384.0)|0;Ia=16384-Fa-Ga-Ha|0;Ja=((f[D>>2]|0)>>>0)/((1212424721>>>(f[x>>2]<<2&28)&15)>>>0)|0;Ka=((f[V>>2]|0)>>>0)/((1212424721>>>(f[v>>2]<<2&28)&15)>>>0)|0;La=((f[F>>2]|0)>>>0)/((1212424721>>>(f[w>>2]<<2&28)&15)>>>0)|0;Ma=(Aa|0)>0;if(Ma){Na=X(xa,y)|0;Oa=X(xa,z)|0;Pa=Ja+z|0;Qa=Ja+1|0;Ra=Pa+1|0;Sa=f[O>>2]|0;Ta=f[s>>2]|0;Ua=f[J>>2]|0;Va=f[f[R>>2]>>2]|0;Wa=f[W>>2]|0;Xa=X(wa,y)|0;Ya=(Xa|0)>0;Da=0.0;Ca=0.0;Ea=0.0;Za=0;while(1){_a=Za+ya|0;$a=Sa+(X(_a,Ka)|0)+Na|0;ab=Ua+(X(Va,Za)|0)|0;if(Ya){bb=Wa+(X(f[f[I>>2]>>2]|0,Za)|0)|0;cb=0;db=Ta+((X(_a,Ja)|0)<<1)+(Oa<<1)|0;pa=Da;eb=Ca;fb=Ea;while(1){_a=X(Fa,h[$a+cb>>0]|0)|0;gb=X(Ga,h[$a+(cb+y)>>0]|0)|0;hb=cb+Ka|0;ib=X(Ha,h[$a+hb>>0]|0)|0;jb=(_a+256+gb+ib+(X(Ia,h[$a+(hb+y)>>0]|0)|0)|0)>>>9;hb=X(Fa,d[db>>1]|0)|0;ib=X(Ga,d[db+(z<<1)>>1]|0)|0;gb=X(Ha,d[db+(Ja<<1)>>1]|0)|0;_a=hb+8192+ib+gb+(X(Ia,d[db+(Pa<<1)>>1]|0)|0)>>14;gb=X(Fa,d[db+2>>1]|0)|0;ib=X(Ga,d[db+(da<<1)>>1]|0)|0;hb=X(Ha,d[db+(Qa<<1)>>1]|0)|0;kb=gb+8192+ib+hb+(X(Ia,d[db+(Ra<<1)>>1]|0)|0)>>14;d[ab+(cb<<1)>>1]=jb;d[bb>>1]=_a;d[bb+2>>1]=kb;lb=pa+ +(X(_a,_a)|0);mb=eb+ +(X(kb,_a)|0);nb=fb+ +(X(kb,kb)|0);cb=cb+1|0;if((cb|0)>=(Xa|0)){ob=lb;pb=mb;qb=nb;break}else{bb=bb+4|0;db=db+4|0;pa=lb;eb=mb;fb=nb}}}else{ob=Da;pb=Ca;qb=Ea}Za=Za+1|0;if((Za|0)>=(Aa|0)){rb=ob;sb=pb;tb=qb;break}else{Da=ob;Ca=pb;Ea=qb}}}else{rb=0.0;sb=0.0;tb=0.0}Ea=rb*9.5367431640625e-07;Ca=sb*9.5367431640625e-07;Da=tb*9.5367431640625e-07;fb=Da*Ea-Ca*Ca;eb=Ea-Da;pa=(Da+Ea-+L(+(Ca*(Ca*4.0)+eb*eb)))/+(X(Aa<<1,wa)|0);Za=f[aa>>2]|0;if(Za|0?f[Y>>2]&8|0:0)n[Za+(la<<2)>>2]=pa;if(fb<1.1920928955078125e-07?1:pa<+n[ea>>2]){if(ma|0)break;Za=f[ba>>2]|0;if(!Za)break;b[Za+la>>0]=0;break}pa=1.0/fb;Za=f[fa>>2]|0;b:do if((Za|0)>0){Xa=X(wa,y)|0;Ra=(Xa|0)>0;Ia=0;fb=qa-q;eb=ra-t;nb=0.0;mb=0.0;c:while(1){Qa=~~fb;Ha=Qa-(fb<+(Qa|0)&1)|0;Qa=~~eb;Ga=Qa-(eb<+(Qa|0)&1)|0;if((Ha|0)<(za|0))break;if((Ga|0)<(Ba|0)?1:(Ha|0)>=(f[ga>>2]|0))break;if((Ga|0)>=(f[ha>>2]|0))break;lb=fb-+(Ha|0);ub=eb-+(Ga|0);vb=1.0-lb;wb=1.0-ub;Qa=HEa(vb*wb*16384.0)|0;Fa=HEa(lb*wb*16384.0)|0;Pa=HEa(vb*ub*16384.0)|0;Ja=16384-Qa-Fa-Pa|0;do if(Ma){Ka=f[ia>>2]|0;Oa=X(Ha,y)|0;Ta=f[J>>2]|0;Wa=f[f[R>>2]>>2]|0;Ya=f[W>>2]|0;Va=f[f[I>>2]>>2]|0;if(Ra){xb=0.0;yb=0.0;zb=0}else{Ab=0.0;Bb=0.0;break}while(1){Ua=Ka+(X(zb+Ga|0,La)|0)+Oa|0;Na=Ta+(X(Wa,zb)|0)|0;Sa=Ya+(X(Va,zb)|0)|0;ub=xb;vb=yb;db=0;while(1){bb=X(Qa,h[Ua+db>>0]|0)|0;cb=X(Fa,h[Ua+(db+y)>>0]|0)|0;ab=db+La|0;$a=X(Pa,h[Ua+ab>>0]|0)|0;kb=bb+256+cb+$a+(X(Ja,h[Ua+(ab+y)>>0]|0)|0)>>9;ab=kb-(d[Na+(db<<1)>>1]|0)|0;vb=vb+ +(X(ab,d[Sa>>1]|0)|0);ub=ub+ +(X(ab,d[Sa+2>>1]|0)|0);db=db+1|0;if((db|0)>=(Xa|0))break;else Sa=Sa+4|0}zb=zb+1|0;if((zb|0)>=(Aa|0)){Ab=ub;Bb=vb;break}else{xb=ub;yb=vb}}}else{Ab=0.0;Bb=0.0}while(0);wb=Bb*9.5367431640625e-07;lb=Ab*9.5367431640625e-07;Cb=nb;nb=pa*(Ca*lb-Da*wb);Db=mb;mb=pa*(Ca*wb-Ea*lb);fb=fb+nb;eb=eb+mb;Eb=q+fb;Fb=t+eb;n[N>>2]=Eb;n[va>>2]=Fb;lb=nb;wb=mb;if(lb*lb+wb*wb<=+p[ja>>3]){ua=63;break b}do if((Ia|0)>0){if(!(+K(+(Cb+nb))<.01))break;if(+K(+(Db+mb))<.01){ua=61;break c}}while(0);Ia=Ia+1|0;if((Ia|0)>=(Za|0)){ua=63;break b}}if((ua|0)==61){ua=0;n[N>>2]=Eb-nb*.5;n[va>>2]=Fb-mb*.5;ua=63;break}if(!ma){Ia=f[ba>>2]|0;if(!Ia)ua=64;else{b[Ia+la>>0]=0;ua=63}}else ua=63}else ua=63;while(0);if((ua|0)==63){ua=0;Za=f[ba>>2]|0;if(!Za)ua=64;else Gb=Za}if((ua|0)==64){ua=0;f[g>>2]=0;f[a>>2]=0;S=JV(g,12)|0;T=337207;U=S+12|0;do{b[S>>0]=b[T>>0]|0;S=S+1|0;T=T+1|0}while((S|0)<(U|0));EP(-215,g,451664,337220,657);KV(g);Gb=f[ba>>2]|0}Za=Gb+la|0;if(((b[Za>>0]|0?(Aa=f[aa>>2]|0,Aa|0):0)?(f[E>>2]|0)==0:0)?(f[Y>>2]&8|0)==0:0){Ma=f[ca>>2]|0;Ea=+n[Ma+(la<<3)>>2]-q;Ca=+n[Ma+(la<<3)+4>>2]-t;Ma=~~Ea;Ba=Ma-(Ea<+(Ma|0)&1)|0;Ma=~~Ca;Ia=Ma-(Ca<+(Ma|0)&1)|0;Ma=f[m>>2]|0;do if((Ba|0)>=(0-Ma|0)){if((Ba|0)>=(f[ga>>2]|0))break;Xa=f[r>>2]|0;if((Ia|0)<(0-Xa|0))break;if((Ia|0)>=(f[ha>>2]|0))break;pa=Ea-+(Ba|0);Da=Ca-+(Ia|0);eb=1.0-pa;fb=1.0-Da;Ra=HEa(eb*fb*16384.0)|0;Ja=HEa(pa*fb*16384.0)|0;Pa=HEa(eb*Da*16384.0)|0;Fa=16384-Ra-Ja-Pa|0;do if((Xa|0)>0){Qa=f[ia>>2]|0;Ga=X(Ba,y)|0;Ha=f[J>>2]|0;Va=f[f[R>>2]>>2]|0;Ya=X(Ma,y)|0;if((Ya|0)>0){Hb=0.0;Ib=0}else{Jb=0.0;break}while(1){Wa=Qa+(X(Ib+Ia|0,La)|0)+Ga|0;Ta=Ha+(X(Va,Ib)|0)|0;Da=Hb;Oa=0;do{Ka=X(Ra,h[Wa+Oa>>0]|0)|0;Sa=X(Ja,h[Wa+(Oa+y)>>0]|0)|0;db=Oa+La|0;Na=X(Pa,h[Wa+db>>0]|0)|0;Ua=Ka+256+Sa+Na+(X(Fa,h[Wa+(db+y)>>0]|0)|0)>>9;Da=Da+ +K(+(+(Ua-(d[Ta+(Oa<<1)>>1]|0)|0)));Oa=Oa+1|0}while((Oa|0)<(Ya|0));Ib=Ib+1|0;if((Ib|0)>=(Xa|0)){Jb=Da;break}else Hb=Da}}else Jb=0.0;while(0);mb=Jb/+(X(X(ka,Xa)|0,Ma)|0);n[Aa+(la<<2)>>2]=mb;break a}while(0);if(!Gb)break;b[Za>>0]=0}}else ua=26;while(0);if((ua|0)==26?(ua=0,(ma|0)==0):0){va=f[ba>>2]|0;if(va|0)b[va+la>>0]=0;va=f[aa>>2]|0;if(va|0)n[va+(la<<2)>>2]=0.0}la=la+1|0}while((la|0)<(f[H>>2]|0))}H=l+36|0;la=f[H>>2]|0;if(la|0?(aa=la+12|0,la=f[aa>>2]|0,f[aa>>2]=la+-1,(la|0)==1):0)XO(l);f[H>>2]=0;f[W>>2]=0;f[W+4>>2]=0;f[W+8>>2]=0;f[W+12>>2]=0;if((f[Z>>2]|0)>0){W=f[o>>2]|0;o=0;do{f[W+(o<<2)>>2]=0;o=o+1|0}while((o|0)<(f[Z>>2]|0))}Z=f[I>>2]|0;if((Z|0)!=(M|0))dX(Z);Z=k+36|0;M=f[Z>>2]|0;if(M|0?(I=M+12|0,M=f[I>>2]|0,f[I>>2]=M+-1,(M|0)==1):0)XO(k);f[Z>>2]=0;f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[J+12>>2]=0;if((f[G>>2]|0)>0){J=f[P>>2]|0;P=0;do{f[J+(P<<2)>>2]=0;P=P+1|0}while((P|0)<(f[G>>2]|0))}G=f[R>>2]|0;if((G|0)!=(Q|0))dX(G);G=f[j>>2]|0;if((G|0)!=(B|0)){if(G|0)HQa(G);f[j>>2]=B;f[C>>2]=520}if(!(f[i+4>>2]|0)){u=e;return}u=e;return}function eva(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0;k=u;u=u+368|0;l=k+312|0;m=k+304|0;n=k+248|0;o=k+192|0;p=k+64|0;q=k+136|0;r=k+120|0;s=k+32|0;t=k;yV(m,100152);do if((HJ(a)|0)==65536){v=f[a+4>>2]|0;f[n>>2]=f[v>>2];w=n+4|0;x=v+4|0;f[w>>2]=f[x>>2];y=n+8|0;f[y>>2]=f[v+8>>2];f[n+12>>2]=f[v+12>>2];f[n+16>>2]=f[v+16>>2];f[n+20>>2]=f[v+20>>2];f[n+24>>2]=f[v+24>>2];f[n+28>>2]=f[v+28>>2];f[n+32>>2]=f[v+32>>2];z=f[v+36>>2]|0;f[n+36>>2]=z;f[n+40>>2]=y;y=n+48|0;A=n+44|0;f[A>>2]=y;f[y>>2]=0;f[n+52>>2]=0;if(z|0){y=z+12|0;f[y>>2]=(f[y>>2]|0)+1}if((f[x>>2]|0)<3){x=f[v+44>>2]|0;y=f[A>>2]|0;f[y>>2]=f[x>>2];f[y+4>>2]=f[x+4>>2];B=n;break}else{f[w>>2]=0;WO(n,v);B=n;break}}else{DJ(n,a,-1);B=n}while(0);if(!(((f[B>>2]&7|0)==0?(f[d>>2]|0)>2:0)?(f[d+4>>2]|0)>2:0)){f[l>>2]=0;f[l+4>>2]=0;a=JV(l,59)|0;v=337389;w=a+59|0;do{b[a>>0]=b[v>>0]|0;a=a+1|0;v=v+1|0}while((a|0)<(w|0));EP(-215,l,337449,337220,706);KV(l)}v=g?2:1;vK(c,1,X(v,e+1|0)|0,0,-1,1,0);a=f[B>>2]|0;w=a<<1&8176|11;do if(j?(h&16|0)==0&(a&32768|0)!=0:0){f[l>>2]=0;x=l+4|0;f[x>>2]=0;f[o>>2]=0;y=o+4|0;f[y>>2]=0;fP(n,l,o);A=f[o>>2]|0;z=f[d>>2]|0;if((A|0)<(z|0)){C=38;break}D=f[y>>2]|0;y=f[d+4>>2]|0;if((D|0)<(y|0)){C=38;break}E=n+12|0;if((z+A+(f[E>>2]|0)|0)>(f[l>>2]|0)){C=38;break}A=n+8|0;if((y+D+(f[A>>2]|0)|0)>(f[x>>2]|0)){C=38;break}x=ZJ(c,0)|0;if((x|0)!=(n|0)){D=n+36|0;y=f[D>>2]|0;if(y|0){z=y+12|0;f[z>>2]=(f[z>>2]|0)+1}z=x+36|0;y=f[z>>2]|0;if(y|0?(F=y+12|0,y=f[F>>2]|0,f[F>>2]=y+-1,(y|0)==1):0)XO(x);f[z>>2]=0;y=x+16|0;F=x+4|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;if((f[F>>2]|0)>0){G=f[x+40>>2]|0;H=0;do{f[G+(H<<2)>>2]=0;H=H+1|0;I=f[F>>2]|0}while((H|0)<(I|0));f[x>>2]=f[B>>2];if((I|0)<3)C=29;else C=31}else{f[x>>2]=f[B>>2];C=29}if((C|0)==29){H=f[n+4>>2]|0;if((H|0)<3){f[F>>2]=H;f[x+8>>2]=f[A>>2];f[x+12>>2]=f[E>>2];H=f[n+44>>2]|0;G=f[x+44>>2]|0;f[G>>2]=f[H>>2];f[G+4>>2]=f[H+4>>2]}else C=31}if((C|0)==31)WO(x,n);f[y>>2]=f[n+16>>2];f[x+20>>2]=f[n+20>>2];f[x+24>>2]=f[n+24>>2];f[x+28>>2]=f[n+28>>2];f[x+32>>2]=f[n+32>>2];f[z>>2]=f[D>>2]}}else C=38;while(0);if((C|0)==38){I=ZJ(c,0)|0;a=I+16|0;if(f[a>>2]|0){j=f[I+4>>2]|0;if((j|0)<3)J=X(f[I+12>>2]|0,f[I+8>>2]|0)|0;else{H=f[I+40>>2]|0;G=0;K=1;while(1){L=X(f[H+(G<<2)>>2]|0,K)|0;G=G+1|0;if((G|0)==(j|0)){J=L;break}else K=L}}if(!((j|0)==0|(J|0)==0)){J=f[d+4>>2]|0;j=f[d>>2]|0;gP(I,J,J,j,j)|0}}j=f[I>>2]|0;J=f[B>>2]|0;if(!((J^j)&4095)){K=f[d>>2]|0;G=f[n+12>>2]|0;if(!((f[I+12>>2]|0)==((K<<1)+G|0)?(f[I+8>>2]|0)==((f[d+4>>2]<<1)+(f[n+8>>2]|0)|0):0)){M=K;N=G;C=49}}else{M=f[d>>2]|0;N=f[n+12>>2]|0;C=49}do if((C|0)==49){G=(f[d+4>>2]<<1)+(f[n+8>>2]|0)|0;K=(M<<1)+N|0;H=J&4095;if((((f[I+4>>2]|0)<3?(f[I+8>>2]|0)==(G|0):0)?(f[I+12>>2]|0)==(K|0):0)?!((j&4095|0)!=(H|0)|(f[a>>2]|0)==0):0)break;f[l>>2]=G;f[l+4>>2]=K;VO(I,2,l,H)}while(0);if((h|0)==5){a=d+4|0;j=f[a>>2]|0;J=f[n+12>>2]|0;N=f[n+8>>2]|0;f[p>>2]=f[d>>2];f[p+4>>2]=j;f[p+8>>2]=J;f[p+12>>2]=N;$O(o,I,p);N=l+8|0;f[N>>2]=0;f[N+4>>2]=0;f[l>>2]=-1040121856;f[l+4>>2]=o;eM(n,l);N=o+36|0;J=f[N>>2]|0;if(J|0?(j=J+12|0,J=f[j>>2]|0,f[j>>2]=J+-1,(J|0)==1):0)XO(o);f[N>>2]=0;N=o+16|0;J=o+4|0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;if((f[J>>2]|0)>0){N=f[o+40>>2]|0;j=0;do{f[N+(j<<2)>>2]=0;j=j+1|0}while((j|0)<(f[J>>2]|0))}J=f[o+44>>2]|0;if((J|0)!=(o+48|0))dX(J);O=d;P=a}else{f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=n;a=o+8|0;f[a>>2]=0;f[a+4>>2]=0;f[o>>2]=33619968;f[o+4>>2]=I;a=d+4|0;J=f[a>>2]|0;j=f[d>>2]|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[p+24>>2]=0;f[p+28>>2]=0;mM(l,o,J,J,j,j,h,p);O=d;P=a}a=0-(f[P>>2]|0)|0;P=0-(f[O>>2]|0)|0;gP(I,a,a,P,P)|0}P=n+40|0;a=f[P>>2]|0;I=f[a>>2]|0;f[o>>2]=f[a+4>>2];a=o+4|0;f[a>>2]=I;I=ZJ(c,0)|0;f[p>>2]=f[I>>2];O=p+4|0;j=I+4|0;f[O>>2]=f[j>>2];J=p+8|0;f[J>>2]=f[I+8>>2];N=p+12|0;f[N>>2]=f[I+12>>2];M=p+16|0;f[M>>2]=f[I+16>>2];H=p+20|0;f[H>>2]=f[I+20>>2];K=p+24|0;f[K>>2]=f[I+24>>2];G=p+28|0;f[G>>2]=f[I+28>>2];L=p+32|0;f[L>>2]=f[I+32>>2];Q=p+36|0;R=f[I+36>>2]|0;f[Q>>2]=R;S=p+40|0;f[S>>2]=J;T=p+48|0;U=p+44|0;f[U>>2]=T;f[T>>2]=0;f[p+52>>2]=0;if(R|0){V=R+12|0;f[V>>2]=(f[V>>2]|0)+1}if((f[j>>2]|0)<3){j=f[I+44>>2]|0;V=f[U>>2]|0;f[V>>2]=f[j>>2];f[V+4>>2]=f[j+4>>2]}else{f[O>>2]=0;WO(p,I)}f[q>>2]=f[p>>2];I=q+4|0;j=f[O>>2]|0;f[I>>2]=j;V=q+8|0;f[V>>2]=f[J>>2];R=q+12|0;f[R>>2]=f[N>>2];W=q+16|0;f[W>>2]=f[M>>2];Y=q+20|0;f[Y>>2]=f[H>>2];Z=q+24|0;f[Z>>2]=f[K>>2];_=q+28|0;f[_>>2]=f[G>>2];$=q+32|0;f[$>>2]=f[L>>2];aa=q+36|0;ba=f[Q>>2]|0;f[aa>>2]=ba;ca=q+40|0;f[ca>>2]=V;da=q+48|0;ea=q+44|0;f[ea>>2]=da;f[da>>2]=0;f[q+52>>2]=0;if(!ba)fa=j;else{j=ba+12|0;f[j>>2]=(f[j>>2]|0)+1;fa=f[O>>2]|0}if((fa|0)<3){fa=f[U>>2]|0;j=f[ea>>2]|0;f[j>>2]=f[fa>>2];f[j+4>>2]=f[fa+4>>2]}else{f[I>>2]=0;WO(q,p)}do if((e|0)>=0){fa=d+4|0;j=r+4|0;ba=r+8|0;ga=r+12|0;ha=(i|0)==5;ia=l+36|0;ja=l+16|0;ka=l+4|0;la=l+40|0;ma=l+44|0;na=l+48|0;oa=r+8|0;pa=r+12|0;qa=r+4|0;ra=s+8|0;sa=s+4|0;ta=i|16;ua=w&4091;va=l+4|0;wa=r+4|0;xa=r+8|0;ya=r+12|0;za=l+36|0;Aa=l+4|0;Ba=l+8|0;Ca=l+12|0;Da=l+44|0;Ea=l+16|0;Fa=l+20|0;Ga=l+24|0;Ha=l+28|0;Ia=l+32|0;Ja=l+40|0;Ka=l+48|0;La=l+8|0;Ma=l+12|0;Na=l+4|0;Oa=r+8|0;Pa=r+4|0;Qa=(h|0)==5;Ra=l+8|0;Sa=l+12|0;Ta=l+4|0;Ua=r+8|0;Va=r+4|0;Wa=h|16;Xa=0;while(1){if(Xa|0){Ya=ZJ(c,X(Xa,v)|0)|0;Za=Ya+16|0;if(f[Za>>2]|0){_a=f[Ya+4>>2]|0;if((_a|0)<3)$a=X(f[Ya+12>>2]|0,f[Ya+8>>2]|0)|0;else{ab=f[Ya+40>>2]|0;bb=0;cb=1;while(1){db=X(f[ab+(bb<<2)>>2]|0,cb)|0;bb=bb+1|0;if((bb|0)==(_a|0)){$a=db;break}else cb=db}}if(!((_a|0)==0|($a|0)==0)){cb=f[fa>>2]|0;bb=f[d>>2]|0;gP(Ya,cb,cb,bb,bb)|0}}bb=f[Ya>>2]|0;cb=f[B>>2]|0;if(!((cb^bb)&4095)){ab=f[d>>2]|0;db=f[o>>2]|0;if((f[Ya+12>>2]|0)==((ab<<1)+db|0)?(eb=f[fa>>2]|0,fb=f[a>>2]|0,(f[Ya+8>>2]|0)==((eb<<1)+fb|0)):0){gb=ab;hb=eb;ib=db;jb=fb}else{kb=ab;lb=db;C=90}}else{kb=f[d>>2]|0;lb=f[o>>2]|0;C=90}do if((C|0)==90){C=0;db=f[a>>2]|0;ab=f[fa>>2]|0;fb=(ab<<1)+db|0;eb=(kb<<1)+lb|0;mb=cb&4095;if((((f[Ya+4>>2]|0)<3?(f[Ya+8>>2]|0)==(fb|0):0)?(f[Ya+12>>2]|0)==(eb|0):0)?!((bb&4095|0)!=(mb|0)|(f[Za>>2]|0)==0):0){gb=kb;hb=ab;ib=lb;jb=db;break}f[l>>2]=fb;f[va>>2]=eb;VO(Ya,2,l,mb);gb=f[d>>2]|0;hb=f[fa>>2]|0;ib=f[o>>2]|0;jb=f[a>>2]|0}while(0);f[r>>2]=gb;f[wa>>2]=hb;f[xa>>2]=ib;f[ya>>2]=jb;$O(l,Ya,r);Za=f[za>>2]|0;if(Za|0){bb=Za+12|0;f[bb>>2]=(f[bb>>2]|0)+1}bb=f[aa>>2]|0;if(bb|0?(Za=bb+12|0,bb=f[Za>>2]|0,f[Za>>2]=bb+-1,(bb|0)==1):0)XO(q);f[aa>>2]=0;f[W>>2]=0;f[W+4>>2]=0;f[W+8>>2]=0;f[W+12>>2]=0;if((f[I>>2]|0)>0){bb=f[ca>>2]|0;Za=0;do{f[bb+(Za<<2)>>2]=0;Za=Za+1|0;nb=f[I>>2]|0}while((Za|0)<(nb|0));f[q>>2]=f[l>>2];if((nb|0)<3)C=105;else C=107}else{f[q>>2]=f[l>>2];C=105}if((C|0)==105){C=0;Za=f[Aa>>2]|0;if((Za|0)<3){f[I>>2]=Za;f[V>>2]=f[Ba>>2];f[R>>2]=f[Ca>>2];Za=f[Da>>2]|0;bb=f[ea>>2]|0;f[bb>>2]=f[Za>>2];f[bb+4>>2]=f[Za+4>>2]}else C=107}if((C|0)==107){C=0;WO(q,l)}f[W>>2]=f[Ea>>2];f[Y>>2]=f[Fa>>2];f[Z>>2]=f[Ga>>2];f[_>>2]=f[Ha>>2];f[$>>2]=f[Ia>>2];Za=f[za>>2]|0;f[aa>>2]=Za;if(Za|0?(bb=Za+12|0,Za=f[bb>>2]|0,f[bb>>2]=Za+-1,(Za|0)==1):0)XO(l);f[za>>2]=0;f[Ea>>2]=0;f[Ea+4>>2]=0;f[Ea+8>>2]=0;f[Ea+12>>2]=0;if((f[Aa>>2]|0)>0){Za=f[Ja>>2]|0;bb=0;do{f[Za+(bb<<2)>>2]=0;bb=bb+1|0}while((bb|0)<(f[Aa>>2]|0))}bb=f[Da>>2]|0;if((bb|0)!=(Ka|0))dX(bb);f[La>>2]=0;f[Ma>>2]=0;f[l>>2]=16842752;f[Na>>2]=p;bb=Oa;f[bb>>2]=0;f[bb+4>>2]=0;f[r>>2]=33619968;f[Pa>>2]=q;L9(l,r,o,4);if(!Qa){f[Ra>>2]=0;f[Sa>>2]=0;f[l>>2]=16842752;f[Ta>>2]=q;bb=Ua;f[bb>>2]=0;f[bb+4>>2]=0;f[r>>2]=33619968;f[Va>>2]=Ya;bb=f[fa>>2]|0;Za=f[d>>2]|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[s+16>>2]=0;f[s+20>>2]=0;f[s+24>>2]=0;f[s+28>>2]=0;mM(l,r,bb,bb,Za,Za,Wa,s)}Za=0-(f[fa>>2]|0)|0;bb=0-(f[d>>2]|0)|0;gP(Ya,Za,Za,bb,bb)|0}if(g){bb=ZJ(c,(X(Xa,v)|0)+1|0)|0;Za=bb+16|0;if(f[Za>>2]|0){cb=f[bb+4>>2]|0;if((cb|0)<3)ob=X(f[bb+12>>2]|0,f[bb+8>>2]|0)|0;else{_a=f[bb+40>>2]|0;mb=0;eb=1;while(1){fb=X(f[_a+(mb<<2)>>2]|0,eb)|0;mb=mb+1|0;if((mb|0)==(cb|0)){ob=fb;break}else eb=fb}}if(!((cb|0)==0|(ob|0)==0)){eb=f[fa>>2]|0;mb=f[d>>2]|0;gP(bb,eb,eb,mb,mb)|0}}mb=f[bb>>2]&4095;if((mb|0)==(w|0)){eb=f[d>>2]|0;_a=f[o>>2]|0;if((f[bb+12>>2]|0)==((eb<<1)+_a|0)?(Ya=f[fa>>2]|0,fb=f[a>>2]|0,(f[bb+8>>2]|0)==((Ya<<1)+fb|0)):0){pb=eb;qb=Ya;rb=_a;sb=fb}else{tb=eb;ub=_a;C=131}}else{tb=f[d>>2]|0;ub=f[o>>2]|0;C=131}do if((C|0)==131){C=0;_a=f[a>>2]|0;eb=f[fa>>2]|0;fb=(eb<<1)+_a|0;Ya=(tb<<1)+ub|0;if((((f[bb+4>>2]|0)<3?(f[bb+8>>2]|0)==(fb|0):0)?(f[bb+12>>2]|0)==(Ya|0):0)?!((mb|0)!=(ua|0)|(f[Za>>2]|0)==0):0){pb=tb;qb=eb;rb=ub;sb=_a;break}f[l>>2]=fb;f[va>>2]=Ya;VO(bb,2,l,ua);pb=f[d>>2]|0;qb=f[fa>>2]|0;rb=f[o>>2]|0;sb=f[a>>2]|0}while(0);f[r>>2]=pb;f[j>>2]=qb;f[ba>>2]=rb;f[ga>>2]=sb;$O(l,bb,r);fva(q,l);if(!ha){f[oa>>2]=0;f[pa>>2]=0;f[r>>2]=16842752;f[qa>>2]=l;Za=ra;f[Za>>2]=0;f[Za+4>>2]=0;f[s>>2]=33619968;f[sa>>2]=bb;Za=f[fa>>2]|0;mb=f[d>>2]|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;f[t+16>>2]=0;f[t+20>>2]=0;f[t+24>>2]=0;f[t+28>>2]=0;mM(r,s,Za,Za,mb,mb,ta,t)}mb=0-(f[fa>>2]|0)|0;Za=0-(f[d>>2]|0)|0;gP(bb,mb,mb,Za,Za)|0;Za=f[ia>>2]|0;if(Za|0?(mb=Za+12|0,Za=f[mb>>2]|0,f[mb>>2]=Za+-1,(Za|0)==1):0)XO(l);f[ia>>2]=0;f[ja>>2]=0;f[ja+4>>2]=0;f[ja+8>>2]=0;f[ja+12>>2]=0;if((f[ka>>2]|0)>0){Za=f[la>>2]|0;mb=0;do{f[Za+(mb<<2)>>2]=0;mb=mb+1|0}while((mb|0)<(f[ka>>2]|0))}mb=f[ma>>2]|0;if((mb|0)!=(na|0))dX(mb)}mb=((f[o>>2]|0)+1|0)/2|0;Za=((f[a>>2]|0)+1|0)/2|0;f[o>>2]=mb;f[a>>2]=Za;if((mb|0)<=(f[d>>2]|0)){C=149;break}if((Za|0)<=(f[fa>>2]|0)){C=149;break}Za=f[aa>>2]|0;if(Za|0){mb=Za+12|0;f[mb>>2]=(f[mb>>2]|0)+1}mb=f[Q>>2]|0;if(mb|0?(Za=mb+12|0,mb=f[Za>>2]|0,f[Za>>2]=mb+-1,(mb|0)==1):0)XO(p);f[Q>>2]=0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;if((f[O>>2]|0)>0){mb=f[S>>2]|0;Za=0;do{f[mb+(Za<<2)>>2]=0;Za=Za+1|0;vb=f[O>>2]|0}while((Za|0)<(vb|0));f[p>>2]=f[q>>2];if((vb|0)<3)C=160;else C=162}else{f[p>>2]=f[q>>2];C=160}if((C|0)==160){C=0;Za=f[I>>2]|0;if((Za|0)<3){f[O>>2]=Za;f[J>>2]=f[V>>2];f[N>>2]=f[R>>2];Za=f[ea>>2]|0;mb=f[U>>2]|0;f[mb>>2]=f[Za>>2];f[mb+4>>2]=f[Za+4>>2]}else C=162}if((C|0)==162){C=0;WO(p,q)}f[M>>2]=f[W>>2];f[H>>2]=f[Y>>2];f[K>>2]=f[Z>>2];f[G>>2]=f[_>>2];f[L>>2]=f[$>>2];wb=f[aa>>2]|0;f[Q>>2]=wb;if((Xa|0)<(e|0))Xa=Xa+1|0;else{C=165;break}}if((C|0)==149){vK(c,1,X(Xa+1|0,v)|0,0,-1,1,0);xb=Xa;C=164;break}else if((C|0)==165){yb=wb;zb=e;break}}else{xb=e;C=164}while(0);if((C|0)==164){yb=f[aa>>2]|0;zb=xb}if(yb|0?(xb=yb+12|0,yb=f[xb>>2]|0,f[xb>>2]=yb+-1,(yb|0)==1):0)XO(q);f[aa>>2]=0;f[W>>2]=0;f[W+4>>2]=0;f[W+8>>2]=0;f[W+12>>2]=0;if((f[I>>2]|0)>0){W=f[ca>>2]|0;ca=0;do{f[W+(ca<<2)>>2]=0;ca=ca+1|0}while((ca|0)<(f[I>>2]|0))}I=f[ea>>2]|0;if((I|0)!=(da|0))dX(I);I=f[Q>>2]|0;if(I|0?(da=I+12|0,I=f[da>>2]|0,f[da>>2]=I+-1,(I|0)==1):0)XO(p);f[Q>>2]=0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;if((f[O>>2]|0)>0){M=f[S>>2]|0;S=0;do{f[M+(S<<2)>>2]=0;S=S+1|0}while((S|0)<(f[O>>2]|0))}O=f[U>>2]|0;if((O|0)!=(T|0))dX(O);O=n+36|0;T=f[O>>2]|0;if(T|0?(U=T+12|0,T=f[U>>2]|0,f[U>>2]=T+-1,(T|0)==1):0)XO(n);f[O>>2]=0;O=n+16|0;T=n+4|0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[O+12>>2]=0;if((f[T>>2]|0)>0){O=f[P>>2]|0;P=0;do{f[O+(P<<2)>>2]=0;P=P+1|0}while((P|0)<(f[T>>2]|0))}T=f[n+44>>2]|0;if((T|0)!=(n+48|0))dX(T);if(!(f[m+4>>2]|0)){u=k;return zb|0}u=k;return zb|0}function fva(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;e=u;u=u+1056|0;g=e;i=f[a+8>>2]|0;k=f[a+12>>2]|0;l=f[a>>2]|0;m=(l>>>3&511)+1|0;n=X(m,k)|0;if(l&7|0){f[g>>2]=0;f[g+4>>2]=0;l=JV(g,10)|0;o=337473;p=l+10|0;do{b[l>>0]=b[o>>0]|0;l=l+1|0;o=o+1|0}while((l|0)<(p|0));EP(-215,g,337484,337220,60);KV(g)}o=(m<<4)+4091&4091;if(!(((((f[c+4>>2]|0)<3?(f[c+8>>2]|0)==(i|0):0)?(f[c+12>>2]|0)==(k|0):0)?(f[c>>2]&4095|0)==(o|0):0)?(f[c+16>>2]|0)!=0:0)){f[g>>2]=i;f[g+4>>2]=k;VO(c,2,g,o)}o=(X(m,k+2|0)|0)+15&-16;l=(o<<1)+64|0;p=g+8|0;f[g>>2]=p;q=g+4|0;f[q>>2]=l;if(l>>>0>520){r=FQa(l>>>0>2147483647?-1:l<<1)|0;f[g>>2]=r;s=r}else s=p;r=s+(m<<1)+15&-16;l=r+(o<<1)|0;if((i|0)>0){o=(i|0)!=1;t=o&1;v=i+-1|0;w=o?i+-2|0:0;o=(n|0)>0;x=(k|0)>1;y=x?m:0;z=X(m,x?k+-2|0:0)|0;k=f[a+16>>2]|0;x=f[f[a+44>>2]>>2]|0;a=f[c+16>>2]|0;A=f[f[c+44>>2]>>2]|0;c=0;do{B=k+(X(x,(c|0)>0?c+-1|0:t)|0)|0;C=k+(X(x,c)|0)|0;D=c;c=c+1|0;E=k+(X(x,(D|0)<(v|0)?c:w)|0)|0;F=a+(X(A,D)|0)|0;if(o){D=0;do{G=h[B+D>>0]|0;H=h[E+D>>0]|0;d[r+(D<<1)>>1]=((H+G|0)*3|0)+((h[C+D>>0]|0)*10|0);d[l+(D<<1)>>1]=H-G;D=D+1|0}while((D|0)!=(n|0));I=0}else I=0;do{D=I+y|0;C=I-m|0;d[r+(C<<1)>>1]=d[r+(D<<1)>>1]|0;E=I+z|0;B=I+n|0;d[r+(B<<1)>>1]=d[r+(E<<1)>>1]|0;d[l+(C<<1)>>1]=d[l+(D<<1)>>1]|0;d[l+(B<<1)>>1]=d[l+(E<<1)>>1]|0;I=I+1|0}while((I|0)!=(m|0));if(o){E=0;do{B=E+m|0;D=E-m|0;C=(((d[l+(D<<1)>>1]|0)+(d[l+(B<<1)>>1]|0)|0)*3|0)+((d[l+(E<<1)>>1]|0)*10|0)&65535;G=E<<1;d[F+(G<<1)>>1]=(j[r+(B<<1)>>1]|0)-(j[r+(D<<1)>>1]|0);d[F+((G|1)<<1)>>1]=C;E=E+1|0}while((E|0)!=(n|0))}}while((c|0)!=(i|0))}if((s|0)==(p|0)){u=e;return}HQa(s);f[g>>2]=p;f[q>>2]=520;u=e;return}function gva(a){a=a|0;GQa(a);return}function hva(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function iva(a){a=a|0;DY(a);GQa(a);return}function jva(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0.0,la=0.0,ma=0.0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0;j=u;u=u+576|0;k=j+512|0;l=j+504|0;m=j+440|0;o=j+496|0;q=j+384|0;r=j+328|0;s=j+272|0;t=j+244|0;v=j+232|0;w=j+176|0;x=j+120|0;y=j+264|0;z=j+256|0;A=j+32|0;B=j+104|0;C=j;yV(l,100276);do if((HJ(e)|0)==65536){D=f[e+4>>2]|0;f[m>>2]=f[D>>2];E=m+4|0;F=D+4|0;f[E>>2]=f[F>>2];G=m+8|0;f[G>>2]=f[D+8>>2];f[m+12>>2]=f[D+12>>2];f[m+16>>2]=f[D+16>>2];f[m+20>>2]=f[D+20>>2];f[m+24>>2]=f[D+24>>2];f[m+28>>2]=f[D+28>>2];f[m+32>>2]=f[D+32>>2];H=f[D+36>>2]|0;f[m+36>>2]=H;f[m+40>>2]=G;G=m+48|0;I=m+44|0;f[I>>2]=G;f[G>>2]=0;f[m+52>>2]=0;if(H|0){G=H+12|0;f[G>>2]=(f[G>>2]|0)+1}if((f[F>>2]|0)<3){F=f[D+44>>2]|0;G=f[I>>2]|0;f[G>>2]=f[F>>2];f[G+4>>2]=f[F+4>>2];break}else{f[E>>2]=0;WO(m,D);break}}else DJ(m,e,-1);while(0);e=a+12|0;if(!(((f[e>>2]|0)>-1?(f[a+4>>2]|0)>2:0)?(f[a+8>>2]|0)>2:0)){f[k>>2]=0;f[k+4>>2]=0;J=JV(k,56)|0;K=337709;L=J+56|0;do{b[J>>0]=b[K>>0]|0;J=J+1|0;K=K+1|0}while((J|0)<(L|0));EP(-215,k,342309,337220,1241);KV(k)}D=jP(m,2,5,1)|0;if((D|0)>-1)if(!D){YJ(g);YJ(h);YJ(i)}else M=16;else{f[k>>2]=0;f[k+4>>2]=0;J=JV(k,51)|0;K=337766;L=J+51|0;do{b[J>>0]=b[K>>0]|0;J=J+1|0;K=K+1|0}while((J|0)<(L|0));EP(-215,k,342309,337220,1244);KV(k);M=16}if((M|0)==16){E=a+32|0;if(!(f[E>>2]&4)){F=f[m+40>>2]|0;G=f[F>>2]|0;f[o>>2]=f[F+4>>2];f[o+4>>2]=G;_J(g,o,f[m>>2]&4095,-1,1,0)}do if((HJ(g)|0)==65536){o=f[g+4>>2]|0;f[q>>2]=f[o>>2];G=q+4|0;F=o+4|0;f[G>>2]=f[F>>2];I=q+8|0;f[I>>2]=f[o+8>>2];f[q+12>>2]=f[o+12>>2];f[q+16>>2]=f[o+16>>2];f[q+20>>2]=f[o+20>>2];f[q+24>>2]=f[o+24>>2];f[q+28>>2]=f[o+28>>2];f[q+32>>2]=f[o+32>>2];H=f[o+36>>2]|0;f[q+36>>2]=H;f[q+40>>2]=I;I=q+48|0;N=q+44|0;f[N>>2]=I;f[I>>2]=0;f[q+52>>2]=0;if(H|0){I=H+12|0;f[I>>2]=(f[I>>2]|0)+1}if((f[F>>2]|0)<3){F=f[o+44>>2]|0;I=f[N>>2]|0;f[I>>2]=f[F>>2];f[I+4>>2]=f[F+4>>2];break}else{f[G>>2]=0;WO(q,o);break}}else DJ(q,g,-1);while(0);if((jP(q,2,5,1)|0)!=(D|0)){f[k>>2]=0;f[k+4>>2]=0;J=JV(k,45)|0;K=337818;L=J+45|0;do{b[J>>0]=b[K>>0]|0;J=J+1|0;K=K+1|0}while((J|0)<(L|0));EP(-215,k,342309,337220,1258);KV(k)}g=f[m+16>>2]|0;o=q+16|0;G=f[o>>2]|0;F=q+44|0;vK(h,D,1,0,-1,1,0);do if((HJ(h)|0)==65536){I=f[h+4>>2]|0;f[r>>2]=f[I>>2];N=r+4|0;H=I+4|0;f[N>>2]=f[H>>2];O=r+8|0;f[O>>2]=f[I+8>>2];f[r+12>>2]=f[I+12>>2];f[r+16>>2]=f[I+16>>2];f[r+20>>2]=f[I+20>>2];f[r+24>>2]=f[I+24>>2];f[r+28>>2]=f[I+28>>2];f[r+32>>2]=f[I+32>>2];P=f[I+36>>2]|0;f[r+36>>2]=P;f[r+40>>2]=O;O=r+48|0;Q=r+44|0;f[Q>>2]=O;f[O>>2]=0;f[r+52>>2]=0;if(P|0){O=P+12|0;f[O>>2]=(f[O>>2]|0)+1}if((f[H>>2]|0)<3){H=f[I+44>>2]|0;O=f[Q>>2]|0;f[O>>2]=f[H>>2];f[O+4>>2]=f[H+4>>2];R=r;break}else{f[N>>2]=0;WO(r,I);R=r;break}}else{DJ(r,h,-1);R=r}while(0);f[s>>2]=1124007936;h=s+4|0;I=s+8|0;N=s+40|0;J=h;L=J+36|0;do{f[J>>2]=0;J=J+4|0}while((J|0)<(L|0));f[N>>2]=I;H=s+48|0;O=s+44|0;f[O>>2]=H;f[H>>2]=0;f[s+52>>2]=0;if(!(f[R>>2]&16384)){f[k>>2]=0;f[k+4>>2]=0;J=JV(k,24)|0;K=337864;L=J+24|0;do{b[J>>0]=b[K>>0]|0;J=J+1|0;K=K+1|0}while((J|0)<(L|0));EP(-215,k,342309,337220,1265);KV(k)}R=r+16|0;Q=f[R>>2]|0;P=r+44|0;if((D|0)>0)FVa(Q|0,1,D|0)|0;if(yK(i)|0){vK(i,D,1,5,-1,1,0);do if((HJ(i)|0)==65536){S=f[i+4>>2]|0;f[k>>2]=f[S>>2];T=k+4|0;U=S+4|0;f[T>>2]=f[U>>2];V=k+8|0;f[V>>2]=f[S+8>>2];f[k+12>>2]=f[S+12>>2];f[k+16>>2]=f[S+16>>2];f[k+20>>2]=f[S+20>>2];f[k+24>>2]=f[S+24>>2];f[k+28>>2]=f[S+28>>2];f[k+32>>2]=f[S+32>>2];W=k+36|0;Y=f[S+36>>2]|0;f[W>>2]=Y;f[k+40>>2]=V;V=k+48|0;Z=k+44|0;f[Z>>2]=V;f[V>>2]=0;f[k+52>>2]=0;if(Y|0){V=Y+12|0;f[V>>2]=(f[V>>2]|0)+1}if((f[U>>2]|0)<3){U=f[S+44>>2]|0;V=f[Z>>2]|0;f[V>>2]=f[U>>2];f[V+4>>2]=f[U+4>>2];_=W;break}else{f[T>>2]=0;WO(k,S);_=W;break}}else{DJ(k,i,-1);_=k+36|0}while(0);i=f[_>>2]|0;if(i|0){W=i+12|0;f[W>>2]=(f[W>>2]|0)+1}W=s+36|0;i=f[W>>2]|0;if(i|0?(S=i+12|0,i=f[S>>2]|0,f[S>>2]=i+-1,(i|0)==1):0)XO(s);f[W>>2]=0;i=s+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[h>>2]|0)>0){S=f[N>>2]|0;T=0;do{f[S+(T<<2)>>2]=0;T=T+1|0;$=f[h>>2]|0}while((T|0)<($|0));f[s>>2]=f[k>>2];if(($|0)<3)M=56;else M=58}else{f[s>>2]=f[k>>2];M=56}if((M|0)==56){$=f[k+4>>2]|0;if(($|0)<3){f[h>>2]=$;f[I>>2]=f[k+8>>2];f[s+12>>2]=f[k+12>>2];I=f[k+44>>2]|0;$=f[O>>2]|0;f[$>>2]=f[I>>2];f[$+4>>2]=f[I+4>>2]}else M=58}if((M|0)==58)WO(s,k);I=k+16|0;f[i>>2]=f[I>>2];f[s+20>>2]=f[k+20>>2];f[s+24>>2]=f[k+24>>2];f[s+28>>2]=f[k+28>>2];f[s+32>>2]=f[k+32>>2];$=f[_>>2]|0;f[W>>2]=$;if($|0?(W=$+12|0,$=f[W>>2]|0,f[W>>2]=$+-1,($|0)==1):0)XO(k);f[_>>2]=0;_=k+4|0;f[I>>2]=0;f[I+4>>2]=0;f[I+8>>2]=0;f[I+12>>2]=0;if((f[_>>2]|0)>0){I=f[k+40>>2]|0;$=0;do{f[I+($<<2)>>2]=0;$=$+1|0}while(($|0)<(f[_>>2]|0))}_=f[k+44>>2]|0;if((_|0)!=(k+48|0))dX(_);if(!(f[s>>2]&16384)){f[k>>2]=0;f[k+4>>2]=0;J=JV(k,21)|0;K=337889;L=J+21|0;do{b[J>>0]=b[K>>0]|0;J=J+1|0;K=K+1|0}while((J|0)<(L|0));EP(-215,k,342309,337220,1276);KV(k)}aa=f[i>>2]|0}else aa=0;f[t>>2]=0;i=t+4|0;f[i>>2]=0;f[t+8>>2]=0;f[v>>2]=0;_=v+4|0;f[_>>2]=0;f[v+8>>2]=0;if((HJ(c)|0)==327680){JJ(c,t);$=(f[i>>2]|0)-(f[t>>2]|0)|0;i=(($|0)/56|0)+-1|0;if(($|0)<=0){f[k>>2]=0;f[k+4>>2]=0;J=JV(k,12)|0;K=337911;L=J+12|0;do{b[J>>0]=b[K>>0]|0;J=J+1|0;K=K+1|0}while((J|0)<(L|0));EP(-215,k,342309,337220,1291);KV(k)}if(((i|0)%2|0|0)==1?($=f[t>>2]|0,I=f[$+56>>2]|0,(I&7|0)==3?((f[$>>2]|0)>>>2&1022|1|0)==(I>>>3&511|0):0):0){ba=2;ca=(i|0)/2|0}else{ba=1;ca=i}if((ca|0)>0){f[k>>2]=0;i=k+4|0;f[i>>2]=0;f[w>>2]=0;I=w+4|0;f[I>>2]=0;fP((f[t>>2]|0)+(ba*56|0)|0,k,w);$=f[w>>2]|0;W=f[a+4>>2]|0;do if(($|0)>=(W|0)?(T=f[I>>2]|0,S=f[a+8>>2]|0,(T|0)>=(S|0)):0){U=f[t>>2]|0;if((W+$+(f[U+(ba*56|0)+12>>2]|0)|0)>(f[k>>2]|0)){M=81;break}if((S+T+(f[U+(ba*56|0)+8>>2]|0)|0)>(f[i>>2]|0))M=81}else M=81;while(0);if((M|0)==81){f[x>>2]=0;f[x+4>>2]=0;DVa(JV(x,187)|0,337924,187)|0;EP(-215,x,342309,337220,1307);KV(x)}}if((ca|0)<(f[e>>2]|0)){f[e>>2]=ca;da=ba;ea=ca}else{da=ba;ea=ca}}else{da=1;ea=-1}if((HJ(d)|0)==327680){JJ(d,v);ca=(f[_>>2]|0)-(f[v>>2]|0)|0;_=((ca|0)/56|0)+-1|0;if((ca|0)<=0){f[k>>2]=0;f[k+4>>2]=0;J=JV(k,12)|0;K=338112;L=J+12|0;do{b[J>>0]=b[K>>0]|0;J=J+1|0;K=K+1|0}while((J|0)<(L|0));EP(-215,k,342309,337220,1319);KV(k)}if(((_|0)%2|0|0)==1?(ca=f[v>>2]|0,ba=f[ca+56>>2]|0,(ba&7|0)==3?((f[ca>>2]|0)>>>2&1022|1|0)==(ba>>>3&511|0):0):0){fa=2;ga=(_|0)/2|0}else{fa=1;ga=_}if((ga|0)>0){f[k>>2]=0;_=k+4|0;f[_>>2]=0;f[w>>2]=0;ba=w+4|0;f[ba>>2]=0;fP((f[v>>2]|0)+(fa*56|0)|0,k,w);ca=f[w>>2]|0;i=f[a+4>>2]|0;do if((ca|0)>=(i|0)){$=f[ba>>2]|0;W=f[a+8>>2]|0;if(($|0)<(W|0)){M=96;break}I=f[v>>2]|0;if((i+ca+(f[I+(fa*56|0)+12>>2]|0)|0)>(f[k>>2]|0)){M=96;break}if((W+$+(f[I+(fa*56|0)+8>>2]|0)|0)>(f[_>>2]|0))M=96}else M=96;while(0);if((M|0)==96){f[x>>2]=0;f[x+4>>2]=0;DVa(JV(x,187)|0,338125,187)|0;EP(-215,x,342309,337220,1335);KV(x)}}if((ga|0)<(f[e>>2]|0)){f[e>>2]=ga;ha=fa;ia=ga}else{ha=fa;ia=ga}}else{ha=1;ia=-1}if((ea|0)<0){ea=k+8|0;f[ea>>2]=0;f[ea+4>>2]=0;f[k>>2]=33882112;f[k+4>>2]=t;f[y>>2]=f[a+4>>2];f[y+4>>2]=f[a+8>>2];ea=eva(c,k,y,f[e>>2]|0,0,4,0,1)|0;f[e>>2]=ea}if((ia|0)<0){ia=k+8|0;f[ia>>2]=0;f[ia+4>>2]=0;f[k>>2]=33882112;f[k+4>>2]=v;f[z>>2]=f[a+4>>2];f[z+4>>2]=f[a+8>>2];ia=eva(d,k,z,f[e>>2]|0,0,4,0,1)|0;f[e>>2]=ia}ia=a+16|0;z=f[ia>>2]|0;d=a+20|0;if(!(z&1))ja=30;else{ea=f[d>>2]|0;y=(ea|0)>0?ea:0;ja=(y|0)<100?y:100}f[d>>2]=ja;ja=a+24|0;if(!(z&2))ka=.01;else{la=+p[ja>>3];ma=la<0.0?0.0:la;ka=ma>10.0?10.0:ma}p[ja>>3]=ka*ka;f[w>>2]=1124007936;ja=w+4|0;z=w+8|0;d=w+40|0;J=ja;L=J+36|0;do{f[J>>2]=0;J=J+4|0}while((J|0)<(L|0));f[d>>2]=z;z=w+48|0;y=w+44|0;f[y>>2]=z;f[z>>2]=0;f[w+52>>2]=0;ea=(da|0)==1;if(ea){c=f[t>>2]|0;ga=(f[a+4>>2]<<1)+(f[c+12>>2]|0)|0;fa=f[c>>2]<<1&4080|11;f[k>>2]=(f[a+8>>2]<<1)+(f[c+8>>2]|0);f[k+4>>2]=ga;VO(w,2,k,fa)}fa=f[e>>2]|0;if((fa|0)>-1){ga=x+4|0;c=x+8|0;_=x+40|0;ca=x+48|0;i=x+44|0;ba=x+52|0;I=a+8|0;$=a+4|0;W=w+16|0;U=A+4|0;T=A+8|0;S=A+12|0;V=A+16|0;Z=A+20|0;Y=A+24|0;na=A+28|0;oa=A+40|0;pa=A+48|0;qa=A+44|0;ra=A+52|0;sa=k+4|0;ta=B+4|0;ua=B+8|0;va=B+12|0;wa=k+36|0;xa=x+36|0;ya=x+16|0;za=k+4|0;Aa=k+8|0;Ba=k+12|0;Ca=x+12|0;Da=k+44|0;Ea=k+16|0;Fa=k+20|0;Ga=x+20|0;Ha=k+24|0;Ia=x+24|0;Ja=k+28|0;Ka=x+28|0;La=k+32|0;Ma=x+32|0;Na=k+40|0;Oa=k+48|0;Pa=k+8|0;Qa=k+12|0;Ra=k+4|0;Sa=B+8|0;Ta=B+4|0;Ua=A+36|0;Va=k+4|0;Wa=a+40|0;a=A+32|0;Xa=A+36|0;Ya=A+40|0;Za=A+4|0;_a=A+12|0;$a=A+8|0;ab=A+16|0;bb=A+20|0;cb=A+24|0;db=A+28|0;eb=A+56|0;fb=A+60|0;gb=A+64|0;hb=A+68|0;ib=k+4|0;jb=k+4|0;kb=fa;while(1){f[x>>2]=1124007936;J=ga;L=J+36|0;do{f[J>>2]=0;J=J+4|0}while((J|0)<(L|0));f[_>>2]=c;f[i>>2]=ca;f[ca>>2]=0;f[ba>>2]=0;fa=X(kb,da)|0;do if(ea){lb=f[(f[t>>2]|0)+(fa*56|0)+40>>2]|0;mb=f[lb+4>>2]|0;nb=f[lb>>2]|0;lb=(f[I>>2]<<1)+nb|0;ob=(f[$>>2]<<1)+mb|0;pb=f[w>>2]|0;qb=f[W>>2]|0;rb=pb&4095|1124007936;f[A>>2]=rb;f[U>>2]=2;f[T>>2]=lb;f[S>>2]=ob;f[V>>2]=qb;f[Z>>2]=qb;f[Y>>2]=0;f[Y+4>>2]=0;f[Y+8>>2]=0;f[Y+12>>2]=0;f[oa>>2]=T;f[qa>>2]=pa;f[ra>>2]=0;f[pa>>2]=0;if((qb|0)==0&(X(ob,lb)|0)!=0){f[k>>2]=0;f[sa>>2]=0;J=JV(k,26)|0;K=346743;L=J+26|0;do{b[J>>0]=b[K>>0]|0;J=J+1|0;K=K+1|0}while((J|0)<(L|0));EP(-215,k,346770,346774,500);KV(k);sb=f[S>>2]|0;tb=f[A>>2]|0;ub=f[qa>>2]|0;vb=f[Z>>2]|0}else{sb=ob;tb=rb;ub=pa;vb=qb}lb=(pb>>>3&511)+1<<(47696>>>(pb<<1&14)&3);wb=X(sb,lb)|0;f[A>>2]=tb|16384;f[ub>>2]=wb;f[ub+4>>2]=lb;lb=vb+(X(f[T>>2]|0,wb)|0)|0;f[na>>2]=lb;f[Y>>2]=lb+(0-wb)+wb;wb=f[I>>2]|0;f[B>>2]=f[$>>2];f[ta>>2]=wb;f[ua>>2]=mb;f[va>>2]=nb;$O(k,A,B);wb=f[wa>>2]|0;if(wb|0){lb=wb+12|0;f[lb>>2]=(f[lb>>2]|0)+1}lb=f[xa>>2]|0;do if(lb|0){wb=lb+12|0;xb=f[wb>>2]|0;f[wb>>2]=xb+-1;if((xb|0)!=1)break;XO(x)}while(0);f[xa>>2]=0;f[ya>>2]=0;f[ya+4>>2]=0;f[ya+8>>2]=0;f[ya+12>>2]=0;if((f[ga>>2]|0)>0){lb=f[_>>2]|0;nb=0;do{f[lb+(nb<<2)>>2]=0;nb=nb+1|0;yb=f[ga>>2]|0}while((nb|0)<(yb|0));f[x>>2]=f[k>>2];if((yb|0)<3)M=125;else M=127}else{f[x>>2]=f[k>>2];M=125}do if((M|0)==125){M=0;nb=f[za>>2]|0;if((nb|0)>=3){M=127;break}f[ga>>2]=nb;f[c>>2]=f[Aa>>2];f[Ca>>2]=f[Ba>>2];nb=f[Da>>2]|0;lb=f[i>>2]|0;f[lb>>2]=f[nb>>2];f[lb+4>>2]=f[nb+4>>2]}while(0);if((M|0)==127){M=0;WO(x,k)}f[ya>>2]=f[Ea>>2];f[Ga>>2]=f[Fa>>2];f[Ia>>2]=f[Ha>>2];f[Ka>>2]=f[Ja>>2];f[Ma>>2]=f[La>>2];nb=f[wa>>2]|0;f[xa>>2]=nb;do if(nb|0){lb=nb+12|0;mb=f[lb>>2]|0;f[lb>>2]=mb+-1;if((mb|0)!=1)break;XO(k)}while(0);f[wa>>2]=0;f[Ea>>2]=0;f[Ea+4>>2]=0;f[Ea+8>>2]=0;f[Ea+12>>2]=0;if((f[za>>2]|0)>0){nb=f[Na>>2]|0;mb=0;do{f[nb+(mb<<2)>>2]=0;mb=mb+1|0}while((mb|0)<(f[za>>2]|0))}mb=f[Da>>2]|0;if((mb|0)!=(Oa|0))dX(mb);fva((f[t>>2]|0)+(fa*56|0)|0,x);f[Pa>>2]=0;f[Qa>>2]=0;f[k>>2]=16842752;f[Ra>>2]=x;mb=Sa;f[mb>>2]=0;f[mb+4>>2]=0;f[B>>2]=33619968;f[Ta>>2]=A;mb=f[I>>2]|0;nb=f[$>>2]|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;f[C+12>>2]=0;f[C+16>>2]=0;f[C+20>>2]=0;f[C+24>>2]=0;f[C+28>>2]=0;mM(k,B,mb,mb,nb,nb,16,C);nb=f[Ua>>2]|0;do if(nb|0){mb=nb+12|0;lb=f[mb>>2]|0;f[mb>>2]=lb+-1;if((lb|0)!=1)break;XO(A)}while(0);f[Ua>>2]=0;f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;f[V+12>>2]=0;if((f[U>>2]|0)>0){nb=f[oa>>2]|0;lb=0;do{f[nb+(lb<<2)>>2]=0;lb=lb+1|0}while((lb|0)<(f[U>>2]|0))}lb=f[qa>>2]|0;if((lb|0)!=(pa|0))dX(lb)}else{lb=fa+1|0;nb=f[t>>2]|0;mb=nb+(lb*56|0)|0;if((x|0)==(mb|0))break;pb=nb+(lb*56|0)+36|0;qb=f[pb>>2]|0;do if(qb|0){rb=qb+12|0;f[rb>>2]=(f[rb>>2]|0)+1;rb=f[xa>>2]|0;if(!rb)break;ob=rb+12|0;rb=f[ob>>2]|0;f[ob>>2]=rb+-1;if((rb|0)!=1)break;XO(x)}while(0);f[xa>>2]=0;f[ya>>2]=0;f[ya+4>>2]=0;f[ya+8>>2]=0;f[ya+12>>2]=0;if((f[ga>>2]|0)>0){qb=f[_>>2]|0;rb=0;do{f[qb+(rb<<2)>>2]=0;rb=rb+1|0;zb=f[ga>>2]|0}while((rb|0)<(zb|0));f[x>>2]=f[mb>>2];if((zb|0)<3)M=155;else M=157}else{f[x>>2]=f[mb>>2];M=155}do if((M|0)==155){M=0;rb=f[nb+(lb*56|0)+4>>2]|0;if((rb|0)>=3){M=157;break}f[ga>>2]=rb;f[c>>2]=f[nb+(lb*56|0)+8>>2];f[Ca>>2]=f[nb+(lb*56|0)+12>>2];rb=f[nb+(lb*56|0)+44>>2]|0;qb=f[i>>2]|0;f[qb>>2]=f[rb>>2];f[qb+4>>2]=f[rb+4>>2]}while(0);if((M|0)==157){M=0;WO(x,mb)}f[ya>>2]=f[nb+(lb*56|0)+16>>2];f[Ga>>2]=f[nb+(lb*56|0)+20>>2];f[Ia>>2]=f[nb+(lb*56|0)+24>>2];f[Ka>>2]=f[nb+(lb*56|0)+28>>2];f[Ma>>2]=f[nb+(lb*56|0)+32>>2];f[xa>>2]=f[pb>>2]}while(0);rb=f[t>>2]|0;qb=f[rb+(fa*56|0)+40>>2]|0;ob=X(kb,ha)|0;xb=f[v>>2]|0;wb=f[xb+(ob*56|0)+40>>2]|0;if((f[qb>>2]|0)==(f[wb>>2]|0)?(f[qb+4>>2]|0)==(f[wb+4>>2]|0):0){Ab=rb;Bb=xb}else{f[k>>2]=0;f[jb>>2]=0;J=JV(k,68)|0;K=338313;L=J+68|0;do{b[J>>0]=b[K>>0]|0;J=J+1|0;K=K+1|0}while((J|0)<(L|0));EP(-215,k,342309,337220,1378);KV(k);Ab=f[t>>2]|0;Bb=f[v>>2]|0}if(!((f[Bb+(ob*56|0)>>2]^f[Ab+(fa*56|0)>>2])&4095)){Cb=Ab;Db=Bb}else{f[k>>2]=0;f[ib>>2]=0;J=JV(k,68)|0;K=338382;L=J+68|0;do{b[J>>0]=b[K>>0]|0;J=J+1|0;K=K+1|0}while((J|0)<(L|0));EP(-215,k,342309,337220,1379);KV(k);Cb=f[t>>2]|0;Db=f[v>>2]|0}f[k>>2]=0;f[Va>>2]=D;xb=f[$>>2]|0;rb=f[I>>2]|0;wb=f[e>>2]|0;qb=f[E>>2]|0;ka=+p[Wa>>3];f[A>>2]=100120;f[Za>>2]=Cb+(fa*56|0);f[_a>>2]=x;f[$a>>2]=Db+(ob*56|0);f[ab>>2]=g;f[bb>>2]=G;f[cb>>2]=Q;f[db>>2]=aa;f[a>>2]=xb;f[Xa>>2]=rb;f[Ya>>2]=f[ia>>2];f[Ya+4>>2]=f[ia+4>>2];f[Ya+8>>2]=f[ia+8>>2];f[Ya+12>>2]=f[ia+12>>2];f[eb>>2]=kb;f[fb>>2]=wb;f[gb>>2]=qb;n[hb>>2]=ka;$Z(k,A,-1.0);qb=f[xa>>2]|0;do if(qb|0){wb=qb+12|0;rb=f[wb>>2]|0;f[wb>>2]=rb+-1;if((rb|0)!=1)break;XO(x)}while(0);f[xa>>2]=0;f[ya>>2]=0;f[ya+4>>2]=0;f[ya+8>>2]=0;f[ya+12>>2]=0;if((f[ga>>2]|0)>0){qb=f[_>>2]|0;ob=0;do{f[qb+(ob<<2)>>2]=0;ob=ob+1|0}while((ob|0)<(f[ga>>2]|0))}ob=f[i>>2]|0;if((ob|0)!=(ca|0))dX(ob);if((kb|0)>0)kb=kb+-1|0;else break}}kb=w+36|0;ca=f[kb>>2]|0;do if(ca|0){i=ca+12|0;ga=f[i>>2]|0;f[i>>2]=ga+-1;if((ga|0)!=1)break;XO(w)}while(0);f[kb>>2]=0;kb=w+16|0;f[kb>>2]=0;f[kb+4>>2]=0;f[kb+8>>2]=0;f[kb+12>>2]=0;if((f[ja>>2]|0)>0){kb=f[d>>2]|0;d=0;do{f[kb+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[ja>>2]|0))}ja=f[y>>2]|0;if((ja|0)!=(z|0))dX(ja);Rs(v);Rs(t);t=s+36|0;v=f[t>>2]|0;do if(v|0){ja=v+12|0;z=f[ja>>2]|0;f[ja>>2]=z+-1;if((z|0)!=1)break;XO(s)}while(0);f[t>>2]=0;t=s+16|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;if((f[h>>2]|0)>0){t=f[N>>2]|0;N=0;do{f[t+(N<<2)>>2]=0;N=N+1|0}while((N|0)<(f[h>>2]|0))}h=f[O>>2]|0;if((h|0)!=(H|0))dX(h);h=r+36|0;H=f[h>>2]|0;do if(H|0){O=H+12|0;N=f[O>>2]|0;f[O>>2]=N+-1;if((N|0)!=1)break;XO(r)}while(0);f[h>>2]=0;h=r+4|0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;f[R+12>>2]=0;if((f[h>>2]|0)>0){R=f[r+40>>2]|0;H=0;do{f[R+(H<<2)>>2]=0;H=H+1|0}while((H|0)<(f[h>>2]|0))}h=f[P>>2]|0;if((h|0)!=(r+48|0))dX(h);h=q+36|0;r=f[h>>2]|0;do if(r|0){P=r+12|0;H=f[P>>2]|0;f[P>>2]=H+-1;if((H|0)!=1)break;XO(q)}while(0);f[h>>2]=0;h=q+4|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;if((f[h>>2]|0)>0){o=f[q+40>>2]|0;r=0;do{f[o+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[h>>2]|0))}h=f[F>>2]|0;if((h|0)!=(q+48|0))dX(h)}h=m+36|0;q=f[h>>2]|0;if(q|0?(F=q+12|0,q=f[F>>2]|0,f[F>>2]=q+-1,(q|0)==1):0)XO(m);f[h>>2]=0;h=m+16|0;q=m+4|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;if((f[q>>2]|0)>0){h=f[m+40>>2]|0;F=0;do{f[h+(F<<2)>>2]=0;F=F+1|0}while((F|0)<(f[q>>2]|0))}q=f[m+44>>2]|0;if((q|0)!=(m+48|0))dX(q);if(!(f[l+4>>2]|0)){u=j;return}u=j;return}function kva(a,b){a=a|0;b=b|0;f[a>>2]=f[b+4>>2];f[a+4>>2]=f[b+8>>2];return}function lva(a,b){a=a|0;b=b|0;f[a+4>>2]=f[b>>2];f[a+8>>2]=f[b+4>>2];return}function mva(a){a=a|0;return f[a+12>>2]|0}function nva(a,b){a=a|0;b=b|0;f[a+12>>2]=b;return}function ova(a,b){a=a|0;b=b|0;var c=0;c=b+16|0;f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];return}function pva(a,b){a=a|0;b=b|0;var c=0;c=a+16|0;f[c>>2]=f[b>>2];f[c+4>>2]=f[b+4>>2];f[c+8>>2]=f[b+8>>2];f[c+12>>2]=f[b+12>>2];return}function qva(a){a=a|0;return f[a+32>>2]|0}function rva(a,b){a=a|0;b=b|0;f[a+32>>2]=b;return}function sva(a){a=a|0;return +(+p[a+40>>3])}function tva(a,b){a=a|0;b=+b;p[a+40>>3]=b;return}function uva(a,b,c,d,e,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=+l;var m=0,n=0,o=0,q=0.0;m=f[h>>2]|0;n=f[h+4>>2]|0;h=f[j>>2]|0;o=f[j+4>>2]|0;q=+p[j+8>>3];j=EQa(48)|0;LY(j);f[j>>2]=100180;f[j+4>>2]=m;f[j+8>>2]=n;f[j+12>>2]=i;f[j+16>>2]=h;f[j+20>>2]=o;p[j+24>>3]=q;f[j+32>>2]=k;p[j+40>>3]=l;k=EQa(16)|0;o=k+4|0;f[o>>2]=1;f[k>>2]=100264;f[k+8>>2]=j;f[o>>2]=(f[o>>2]|0)+1;h=f[o>>2]|0;f[o>>2]=h+-1;if((h|0)==1)qg[f[(f[k>>2]|0)+8>>2]&1023](k);li[f[(f[j>>2]|0)+32>>2]&127](j,a,b,c,d,e,g);g=f[o>>2]|0;f[o>>2]=g+-1;if((g|0)!=1)return;qg[f[(f[k>>2]|0)+8>>2]&1023](k);return}function vva(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0.0,$=0,aa=0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0.0,Bb=0.0,Cb=0.0,Db=0.0,Eb=0.0,Fb=0.0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0;g=u;u=u+624|0;h=g+16|0;i=g+616|0;j=g+560|0;k=g+504|0;l=g+448|0;m=g+432|0;o=g+420|0;q=g+408|0;r=g+336|0;t=g+352|0;v=g+280|0;w=g+208|0;x=g+144|0;y=g+112|0;z=g+96|0;A=g+272|0;B=g+264|0;C=g+200|0;D=g+136|0;E=g+72|0;F=g+88|0;G=g;yV(i,100296);f[j>>2]=1124007936;H=j+4|0;J=j+8|0;M=j+40|0;N=H;O=N+36|0;do{f[N>>2]=0;N=N+4|0}while((N|0)<(O|0));f[M>>2]=J;P=j+48|0;Q=j+44|0;f[Q>>2]=P;f[P>>2]=0;f[j+52>>2]=0;f[h>>2]=2;f[h+4>>2]=3;VO(j,2,h,6);do if((HJ(c)|0)==65536){R=f[c+4>>2]|0;f[k>>2]=f[R>>2];S=k+4|0;T=R+4|0;f[S>>2]=f[T>>2];U=k+8|0;f[U>>2]=f[R+8>>2];f[k+12>>2]=f[R+12>>2];f[k+16>>2]=f[R+16>>2];f[k+20>>2]=f[R+20>>2];f[k+24>>2]=f[R+24>>2];f[k+28>>2]=f[R+28>>2];f[k+32>>2]=f[R+32>>2];V=f[R+36>>2]|0;f[k+36>>2]=V;f[k+40>>2]=U;U=k+48|0;W=k+44|0;f[W>>2]=U;f[U>>2]=0;f[k+52>>2]=0;if(V|0){U=V+12|0;f[U>>2]=(f[U>>2]|0)+1}if((f[T>>2]|0)<3){T=f[R+44>>2]|0;U=f[W>>2]|0;f[U>>2]=f[T>>2];f[U+4>>2]=f[T+4>>2];break}else{f[S>>2]=0;WO(k,R);break}}else DJ(k,c,-1);while(0);do if((HJ(d)|0)==65536){c=f[d+4>>2]|0;f[l>>2]=f[c>>2];R=l+4|0;S=c+4|0;f[R>>2]=f[S>>2];T=l+8|0;f[T>>2]=f[c+8>>2];f[l+12>>2]=f[c+12>>2];f[l+16>>2]=f[c+16>>2];f[l+20>>2]=f[c+20>>2];f[l+24>>2]=f[c+24>>2];f[l+28>>2]=f[c+28>>2];f[l+32>>2]=f[c+32>>2];U=f[c+36>>2]|0;f[l+36>>2]=U;W=l+40|0;f[W>>2]=T;T=l+48|0;V=l+44|0;f[V>>2]=T;f[T>>2]=0;f[l+52>>2]=0;if(U|0){T=U+12|0;f[T>>2]=(f[T>>2]|0)+1}if((f[S>>2]|0)<3){S=f[c+44>>2]|0;T=f[V>>2]|0;f[T>>2]=f[S>>2];f[T+4>>2]=f[S+4>>2];X=W;break}else{f[R>>2]=0;WO(l,c);X=W;break}}else{DJ(l,d,-1);X=l+40|0}while(0);f[m>>2]=0;d=m+4|0;f[d>>2]=0;f[m+8>>2]=0;f[o>>2]=0;W=o+4|0;f[W>>2]=0;f[o+8>>2]=0;f[q>>2]=0;c=q+4|0;f[c>>2]=0;f[q+8>>2]=0;f[r>>2]=0;R=r+4|0;f[R>>2]=0;f[r+8>>2]=0;S=k+40|0;T=f[S>>2]|0;V=f[X>>2]|0;if((f[T>>2]|0)!=(f[V>>2]|0)?1:(f[T+4>>2]|0)!=(f[V+4>>2]|0)){f[h>>2]=0;f[h+4>>2]=0;N=JV(h,41)|0;Y=338731;O=N+41|0;do{b[N>>0]=b[Y>>0]|0;N=N+1|0;Y=Y+1|0}while((N|0)<(O|0));EP(-209,h,338773,337220,1513);KV(h)}if((f[l>>2]^f[k>>2])&4095|0){f[h>>2]=0;f[h+4>>2]=0;N=JV(h,46)|0;Y=340471;O=N+46|0;do{b[N>>0]=b[Y>>0]|0;N=N+1|0;Y=Y+1|0}while((N|0)<(O|0));EP(-205,h,338773,337220,1516);KV(h)}V=jP(k,2,-1,1)|0;do if((V|0)>0){hP(t,k,2,V);T=h+8|0;f[T>>2]=0;f[T+4>>2]=0;f[h>>2]=-2113732595;f[h+4>>2]=m;AO(t,h,5,1.0,0.0);T=t+36|0;U=f[T>>2]|0;if(U|0?(Z=U+12|0,U=f[Z>>2]|0,f[Z>>2]=U+-1,(U|0)==1):0)XO(t);f[T>>2]=0;T=t+16|0;U=t+4|0;f[T>>2]=0;f[T+4>>2]=0;f[T+8>>2]=0;f[T+12>>2]=0;if((f[U>>2]|0)>0){T=f[t+40>>2]|0;Z=0;do{f[T+(Z<<2)>>2]=0;Z=Z+1|0}while((Z|0)<(f[U>>2]|0))}U=f[t+44>>2]|0;if((U|0)!=(t+48|0))dX(U);hP(v,l,2,V);U=h+8|0;f[U>>2]=0;f[U+4>>2]=0;f[h>>2]=-2113732595;f[h+4>>2]=o;AO(v,h,5,1.0,0.0);U=v+36|0;Z=f[U>>2]|0;if(Z|0?(T=Z+12|0,Z=f[T>>2]|0,f[T>>2]=Z+-1,(Z|0)==1):0)XO(v);f[U>>2]=0;U=v+16|0;Z=v+4|0;f[U>>2]=0;f[U+4>>2]=0;f[U+8>>2]=0;f[U+12>>2]=0;if((f[Z>>2]|0)>0){U=f[v+40>>2]|0;T=0;do{f[U+(T<<2)>>2]=0;T=T+1|0}while((T|0)<(f[Z>>2]|0))}Z=f[v+44>>2]|0;if((Z|0)==(v+48|0)){_=1.0;$=V}else{dX(Z);_=1.0;$=V}}else{Z=f[k>>2]|0;if(Z&7|0){f[h>>2]=0;f[h+4>>2]=0;N=JV(h,52)|0;Y=338826;O=N+52|0;do{b[N>>0]=b[Y>>0]|0;N=N+1|0;Y=Y+1|0}while((N|0)<(O|0));EP(-210,h,338773,337220,1596);KV(h);_=1.0;$=V;break}T=Z>>>3;U=T&511;switch(T&511){case 0:case 2:case 3:break;default:{f[h>>2]=0;f[h+4>>2]=0;N=JV(h,29)|0;Y=338796;O=N+29|0;do{b[N>>0]=b[Y>>0]|0;N=N+1|0;Y=Y+1|0}while((N|0)<(O|0));EP(-215,h,338773,337220,1528);KV(h)}}Z=f[S>>2]|0;T=f[Z+4>>2]|0;aa=f[Z>>2]|0;ba=+(T|0);ca=160.0/ba;da=+(aa|0);ea=120.0/da;fa=ca1.0?fa:1.0;Z=AEa(ca*ba)|0;ga=AEa(ca*da)|0;ha=(U|0)!=0;if(ha|((Z|0)!=(T|0)|(ga|0)!=(aa|0))){f[h>>2]=1124007936;aa=h+4|0;T=h+8|0;ia=h+40|0;N=aa;O=N+36|0;do{f[N>>2]=0;N=N+4|0}while((N|0)<(O|0));f[ia>>2]=T;U=h+48|0;ja=h+44|0;f[ja>>2]=U;f[U>>2]=0;f[h+52>>2]=0;f[w>>2]=1124007936;ka=w+4|0;la=w+8|0;ma=w+40|0;N=ka;O=N+36|0;do{f[N>>2]=0;N=N+4|0}while((N|0)<(O|0));f[ma>>2]=la;na=w+48|0;oa=w+44|0;f[oa>>2]=na;f[na>>2]=0;f[w+52>>2]=0;if(ha){f[x>>2]=1124007936;pa=x+4|0;qa=x+8|0;ra=x+40|0;N=pa;O=N+36|0;do{f[N>>2]=0;N=N+4|0}while((N|0)<(O|0));f[ra>>2]=qa;ha=x+48|0;sa=x+44|0;f[sa>>2]=ha;f[ha>>2]=0;f[x+52>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;f[y>>2]=16842752;f[y+4>>2]=k;ta=z+8|0;f[ta>>2]=0;f[ta+4>>2]=0;f[z>>2]=33619968;f[z+4>>2]=x;nba(y,z,6,0);f[y+8>>2]=0;f[y+12>>2]=0;f[y>>2]=16842752;f[y+4>>2]=x;ta=z+8|0;f[ta>>2]=0;f[ta+4>>2]=0;f[z>>2]=33619968;f[z+4>>2]=h;f[A>>2]=Z;f[A+4>>2]=ga;V5(y,z,A,0.0,0.0,3);f[y+8>>2]=0;f[y+12>>2]=0;f[y>>2]=16842752;f[y+4>>2]=l;ta=z+8|0;f[ta>>2]=0;f[ta+4>>2]=0;f[z>>2]=33619968;f[z+4>>2]=x;nba(y,z,6,0);f[y+8>>2]=0;f[y+12>>2]=0;f[y>>2]=16842752;f[y+4>>2]=x;ta=z+8|0;f[ta>>2]=0;f[ta+4>>2]=0;f[z>>2]=33619968;f[z+4>>2]=w;f[B>>2]=Z;f[B+4>>2]=ga;V5(y,z,B,0.0,0.0,3);ta=x+36|0;ua=f[ta>>2]|0;if(ua|0?(va=ua+12|0,ua=f[va>>2]|0,f[va>>2]=ua+-1,(ua|0)==1):0)XO(x);f[ta>>2]=0;ta=x+16|0;f[ta>>2]=0;f[ta+4>>2]=0;f[ta+8>>2]=0;f[ta+12>>2]=0;if((f[pa>>2]|0)>0){ta=f[ra>>2]|0;ua=0;do{f[ta+(ua<<2)>>2]=0;ua=ua+1|0}while((ua|0)<(f[pa>>2]|0))}pa=f[sa>>2]|0;if((pa|0)!=(ha|0))dX(pa)}else{f[x+8>>2]=0;f[x+12>>2]=0;f[x>>2]=16842752;f[x+4>>2]=k;pa=y+8|0;f[pa>>2]=0;f[pa+4>>2]=0;f[y>>2]=33619968;f[y+4>>2]=h;f[C>>2]=Z;f[C+4>>2]=ga;V5(x,y,C,0.0,0.0,3);f[x+8>>2]=0;f[x+12>>2]=0;f[x>>2]=16842752;f[x+4>>2]=l;pa=y+8|0;f[pa>>2]=0;f[pa+4>>2]=0;f[y>>2]=33619968;f[y+4>>2]=w;f[D>>2]=Z;f[D+4>>2]=ga;V5(x,y,D,0.0,0.0,3)}pa=h+36|0;ua=f[pa>>2]|0;if(ua|0){ta=ua+12|0;f[ta>>2]=(f[ta>>2]|0)+1}ta=k+36|0;ua=f[ta>>2]|0;if(ua|0?(ra=ua+12|0,ua=f[ra>>2]|0,f[ra>>2]=ua+-1,(ua|0)==1):0)XO(k);f[ta>>2]=0;ua=k+16|0;ra=k+4|0;f[ua>>2]=0;f[ua+4>>2]=0;f[ua+8>>2]=0;f[ua+12>>2]=0;if((f[ra>>2]|0)>0){qa=f[S>>2]|0;va=0;do{f[qa+(va<<2)>>2]=0;va=va+1|0;wa=f[ra>>2]|0}while((va|0)<(wa|0));f[k>>2]=f[h>>2];if((wa|0)<3)xa=61;else xa=63}else{f[k>>2]=f[h>>2];xa=61}if((xa|0)==61){va=f[aa>>2]|0;if((va|0)<3){f[ra>>2]=va;f[k+8>>2]=f[T>>2];f[k+12>>2]=f[h+12>>2];va=f[ja>>2]|0;qa=f[k+44>>2]|0;f[qa>>2]=f[va>>2];f[qa+4>>2]=f[va+4>>2]}else xa=63}if((xa|0)==63)WO(k,h);va=h+16|0;f[ua>>2]=f[va>>2];f[k+20>>2]=f[h+20>>2];f[k+24>>2]=f[h+24>>2];f[k+28>>2]=f[h+28>>2];f[k+32>>2]=f[h+32>>2];f[ta>>2]=f[pa>>2];qa=w+36|0;ha=f[qa>>2]|0;if(ha|0){sa=ha+12|0;f[sa>>2]=(f[sa>>2]|0)+1}sa=l+36|0;ha=f[sa>>2]|0;if(ha|0?(ya=ha+12|0,ha=f[ya>>2]|0,f[ya>>2]=ha+-1,(ha|0)==1):0)XO(l);f[sa>>2]=0;ha=l+16|0;ya=l+4|0;f[ha>>2]=0;f[ha+4>>2]=0;f[ha+8>>2]=0;f[ha+12>>2]=0;if((f[ya>>2]|0)>0){za=f[X>>2]|0;Aa=0;do{f[za+(Aa<<2)>>2]=0;Aa=Aa+1|0;Ba=f[ya>>2]|0}while((Aa|0)<(Ba|0));f[l>>2]=f[w>>2];if((Ba|0)<3)xa=74;else xa=76}else{f[l>>2]=f[w>>2];xa=74}if((xa|0)==74){Aa=f[ka>>2]|0;if((Aa|0)<3){f[ya>>2]=Aa;f[l+8>>2]=f[la>>2];f[l+12>>2]=f[w+12>>2];Aa=f[oa>>2]|0;za=f[l+44>>2]|0;f[za>>2]=f[Aa>>2];f[za+4>>2]=f[Aa+4>>2]}else xa=76}if((xa|0)==76)WO(l,w);Aa=w+16|0;f[ha>>2]=f[Aa>>2];f[l+20>>2]=f[w+20>>2];f[l+24>>2]=f[w+24>>2];f[l+28>>2]=f[w+28>>2];f[l+32>>2]=f[w+32>>2];za=f[qa>>2]|0;f[sa>>2]=za;if(za|0?(ta=za+12|0,za=f[ta>>2]|0,f[ta>>2]=za+-1,(za|0)==1):0)XO(w);f[qa>>2]=0;f[Aa>>2]=0;f[Aa+4>>2]=0;f[Aa+8>>2]=0;f[Aa+12>>2]=0;if((f[ka>>2]|0)>0){Aa=f[ma>>2]|0;za=0;do{f[Aa+(za<<2)>>2]=0;za=za+1|0}while((za|0)<(f[ka>>2]|0))}ka=f[oa>>2]|0;if((ka|0)!=(na|0))dX(ka);ka=f[pa>>2]|0;do if(ka|0){za=ka+12|0;Aa=f[za>>2]|0;f[za>>2]=Aa+-1;if((Aa|0)!=1)break;XO(h)}while(0);f[pa>>2]=0;f[va>>2]=0;f[va+4>>2]=0;f[va+8>>2]=0;f[va+12>>2]=0;if((f[aa>>2]|0)>0){ka=f[ia>>2]|0;na=0;do{f[ka+(na<<2)>>2]=0;na=na+1|0}while((na|0)<(f[aa>>2]|0))}aa=f[ja>>2]|0;if((aa|0)!=(U|0))dX(aa)}aa=AEa(+(Z|0)*15.0/+(ga|0))|0;na=aa*15|0;ka=f[d>>2]|0;ia=f[m>>2]|0;va=ka-ia>>3;pa=ia;ia=ka;if(na>>>0<=va>>>0){if(na>>>0>>0?(ka=pa+(na<<3)|0,(ka|0)!=(ia|0)):0)f[d>>2]=ia+(~((ia+-8-ka|0)>>>3)<<3)}else zJ(m,na-va|0);va=f[W>>2]|0;ka=f[o>>2]|0;ia=va-ka>>3;pa=ka;ka=va;if(na>>>0<=ia>>>0){if(na>>>0>>0?(va=pa+(na<<3)|0,(va|0)!=(ka|0)):0)f[W>>2]=ka+(~((ka+-8-va|0)>>>3)<<3)}else zJ(o,na-ia|0);ia=f[R>>2]|0;va=f[r>>2]|0;ka=ia-va|0;pa=va;va=ia;if(na>>>0<=ka>>>0){if(na>>>0>>0?(ia=pa+na|0,(ia|0)!=(va|0)):0)f[R>>2]=ia}else bK(r,na-ka|0);ka=(aa|0)>0;da=+(Z|0);ba=+(aa|0);ia=f[m>>2]|0;fa=+(ga|0);if(ka){va=0;pa=0;while(1){ea=(+(va|0)+.5)*fa/15.0;oa=0;Aa=pa;while(1){n[ia+(Aa<<3)>>2]=(+(oa|0)+.5)*da/ba;n[ia+(Aa<<3)+4>>2]=ea;oa=oa+1|0;if((oa|0)==(aa|0))break;else Aa=Aa+1|0}va=va+1|0;if((va|0)==15)break;else pa=aa+pa|0}}f[w+8>>2]=0;f[w+12>>2]=0;f[w>>2]=16842752;f[w+4>>2]=k;f[x+8>>2]=0;f[x+12>>2]=0;f[x>>2]=16842752;f[x+4>>2]=l;f[y+8>>2]=0;f[y+12>>2]=0;f[y>>2]=-2130509811;f[y+4>>2]=m;pa=z+8|0;f[pa>>2]=0;f[pa+4>>2]=0;f[z>>2]=-2096955379;f[z+4>>2]=o;pa=E+8|0;f[pa>>2]=0;f[pa+4>>2]=0;f[E>>2]=-2113732608;f[E+4>>2]=r;pa=BK()|0;f[F>>2]=21;f[F+4>>2]=21;f[G>>2]=1;f[G+4>>2]=40;p[G+8>>3]=.1;f[h>>2]=f[G>>2];f[h+4>>2]=f[G+4>>2];f[h+8>>2]=f[G+8>>2];f[h+12>>2]=f[G+12>>2];uva(w,x,y,z,E,pa,F,3,h,0,.0001);if(ka){pa=f[r>>2]|0;aa=0;va=0;while(1){if(!(b[pa+aa>>0]|0))Ca=va;else{if((aa|0)>(va|0)){ia=f[m>>2]|0;f[ia+(va<<3)>>2]=f[ia+(aa<<3)>>2];f[ia+(va<<3)+4>>2]=f[ia+(aa<<3)+4>>2];ia=f[o>>2]|0;f[ia+(va<<3)>>2]=f[ia+(aa<<3)>>2];f[ia+(va<<3)+4>>2]=f[ia+(aa<<3)+4>>2]}Ca=va+1|0}aa=aa+1|0;if((aa|0)>=(na|0)){Da=Ca;break}else va=Ca}}else Da=0;va=f[d>>2]|0;na=f[m>>2]|0;aa=va-na>>3;pa=na;na=va;if(Da>>>0<=aa>>>0){if(Da>>>0>>0?(va=pa+(Da<<3)|0,(va|0)!=(na|0)):0)f[d>>2]=na+(~((na+-8-va|0)>>>3)<<3)}else zJ(m,Da-aa|0);aa=f[W>>2]|0;va=f[o>>2]|0;na=aa-va>>3;pa=aa;if(Da>>>0>na>>>0){zJ(o,Da-na|0);_=ca;$=Da;break}if(Da>>>0>>0?(na=va+(Da<<3)|0,(na|0)!=(pa|0)):0){f[W>>2]=pa+(~((pa+-8-na|0)>>>3)<<3);_=ca;$=Da}else{_=ca;$=Da}}while(0);Da=f[c>>2]|0;Ca=f[q>>2]|0;F=Da-Ca>>2;E=Ca;Ca=Da;if($>>>0<=F>>>0){if($>>>0>>0?(Da=E+($<<2)|0,(Da|0)!=(Ca|0)):0)f[c>>2]=Ca+(~((Ca+-4-Da|0)>>>2)<<2)}else eK(q,$-F|0);if(($|0)>=3){f[w+8>>2]=0;f[w+12>>2]=0;f[w>>2]=-2130509811;f[w+4>>2]=o;G9(h,w);F=x+4|0;Da=w+4|0;Ca=x+8|0;E=x+12|0;z=w+8|0;G=x+16|0;Ba=x+20|0;wa=y+4|0;D=y+8|0;C=y+12|0;B=y+16|0;A=y+20|0;Y=j+16|0;ba=+($|0)*.5;V=h+8|0;v=h+12|0;h=0;t=-1;na=-1;while(1){f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;f[x+16>>2]=0;f[x+20>>2]=0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;f[y+16>>2]=0;f[y+20>>2]=0;pa=f[m>>2]|0;va=f[o>>2]|0;aa=0;ka=t;ia=na;ga=f[x>>2]|0;Z=f[F>>2]|0;U=f[Ca>>2]|0;ja=f[E>>2]|0;Aa=f[G>>2]|0;oa=f[Ba>>2]|0;za=f[y>>2]|0;ma=f[wa>>2]|0;qa=f[D>>2]|0;sa=f[C>>2]|0;ha=f[B>>2]|0;la=f[A>>2]|0;a:while(1){ya=w+(aa<<2)|0;ta=(aa|0)>0;ua=(aa|0)==2;T=0;ra=la;Ea=ha;Fa=sa;Ga=qa;Ha=ma;Ia=za;Ja=oa;Ka=Aa;La=ja;Ma=U;Na=Z;Oa=ga;Pa=ka;Qa=ia;while(1){Ra=wVa(Pa|0,0,-130063606,0)|0;Pa=qVa(Ra|0,I|0,Qa|0,0)|0;Qa=I;Ra=(Pa>>>0)%($>>>0)|0;f[ya>>2]=Ra;b:do if(ta){Sa=pa+(Ra<<3)|0;Ta=pa+(Ra<<3)+4|0;Ua=va+(Ra<<3)|0;Va=va+(Ra<<3)+4|0;Wa=0;while(1){Xa=f[w+(Wa<<2)>>2]|0;if((Xa|0)==(Ra|0)){Ya=ra;Za=Ea;_a=Fa;$a=Ga;ab=Ha;bb=Ia;cb=Ja;db=Ka;eb=La;fb=Ma;gb=Na;hb=Oa;break b}da=+K(+(+n[Sa>>2]-+n[pa+(Xa<<3)>>2]));if(da+ +K(+(+n[Ta>>2]-+n[pa+(Xa<<3)+4>>2]))<1.1920928955078125e-07){Ya=ra;Za=Ea;_a=Fa;$a=Ga;ab=Ha;bb=Ia;cb=Ja;db=Ka;eb=La;fb=Ma;gb=Na;hb=Oa;break b}da=+K(+(+n[Ua>>2]-+n[va+(Xa<<3)>>2]));Wa=Wa+1|0;if(da+ +K(+(+n[Va>>2]-+n[va+(Xa<<3)+4>>2]))<1.1920928955078125e-07){Ya=ra;Za=Ea;_a=Fa;$a=Ga;ab=Ha;bb=Ia;cb=Ja;db=Ka;eb=La;fb=Ma;gb=Na;hb=Oa;break b}if((Wa|0)>=(aa|0)){xa=148;break}}}else xa=148;while(0);if((xa|0)==148){xa=0;if(!ua){ib=Oa;jb=Na;kb=Ma;lb=La;mb=Ka;nb=Ja;ob=Ia;pb=Ha;qb=Ga;rb=Fa;sb=Ea;tb=ra;break}Ra=f[w>>2]|0;Wa=f[pa+(Ra<<3)>>2]|0;Va=f[pa+(Ra<<3)+4>>2]|0;Ua=f[Da>>2]|0;Ta=f[pa+(Ua<<3)>>2]|0;Sa=f[pa+(Ua<<3)+4>>2]|0;Xa=f[z>>2]|0;ub=f[pa+(Xa<<3)>>2]|0;vb=f[pa+(Xa<<3)+4>>2]|0;wb=f[va+(Ra<<3)>>2]|0;xb=f[va+(Ra<<3)+4>>2]|0;Ra=f[va+(Ua<<3)>>2]|0;yb=f[va+(Ua<<3)+4>>2]|0;Ua=f[va+(Xa<<3)>>2]|0;zb=f[va+(Xa<<3)+4>>2]|0;da=(f[s>>2]=Ta,+n[s>>2]);fa=(f[s>>2]=Wa,+n[s>>2]);ea=da-fa;da=(f[s>>2]=Sa,+n[s>>2]);Ab=(f[s>>2]=Va,+n[s>>2]);Bb=da-Ab;da=(f[s>>2]=ub,+n[s>>2])-fa;fa=(f[s>>2]=vb,+n[s>>2])-Ab;Ab=(f[s>>2]=Ra,+n[s>>2]);Cb=(f[s>>2]=wb,+n[s>>2]);Db=Ab-Cb;Ab=(f[s>>2]=yb,+n[s>>2]);Eb=(f[s>>2]=xb,+n[s>>2]);Fb=Ab-Eb;Ab=(f[s>>2]=Ua,+n[s>>2])-Cb;Cb=(f[s>>2]=zb,+n[s>>2])-Eb;if(!(+K(+(ea*fa-Bb*da))<+L(+(ea*ea+Bb*Bb))*.01*+L(+(da*da+fa*fa)))?!(+K(+(Db*Cb-Fb*Ab))<+L(+(Db*Db+Fb*Fb))*.01*+L(+(Ab*Ab+Cb*Cb))):0){ib=Wa;jb=Va;kb=Ta;lb=Sa;mb=ub;nb=vb;ob=wb;pb=xb;qb=Ra;rb=yb;sb=Ua;tb=zb;break}else{Ya=zb;Za=Ua;_a=yb;$a=Ra;ab=xb;bb=wb;cb=vb;db=ub;eb=Sa;fb=Ta;gb=Va;hb=Wa}}if((T|0)>=499){xa=158;break a}else{T=T+1|0;ra=Ya;Ea=Za;Fa=_a;Ga=$a;Ha=ab;Ia=bb;Ja=cb;Ka=db;La=eb;Ma=fb;Na=gb;Oa=hb}}if((T|0)>499){Gb=ib;Hb=jb;Ib=kb;Jb=lb;Kb=mb;Lb=nb;Mb=ob;Nb=pb;Ob=qb;Pb=rb;Qb=sb;Rb=tb;xa=159;break}if((aa|0)<2){aa=aa+1|0;ka=Pa;ia=Qa;ga=ib;Z=jb;U=kb;ja=lb;Aa=mb;oa=nb;za=ob;ma=pb;qa=qb;sa=rb;ha=sb;la=tb}else{xa=153;break}}if((xa|0)==153){xa=0;f[x>>2]=ib;f[F>>2]=jb;f[Ca>>2]=kb;f[E>>2]=lb;f[G>>2]=mb;f[Ba>>2]=nb;f[y>>2]=ob;f[wa>>2]=pb;f[D>>2]=qb;f[C>>2]=rb;f[B>>2]=sb;f[A>>2]=tb;wva(x,y,3,j,e);ia=f[Y>>2]|0;ka=f[m>>2]|0;ca=+p[ia+16>>3];aa=f[o>>2]|0;Cb=+p[ia+24>>3];Ab=+p[ia+32>>3];Fb=+p[ia+40>>3];va=f[q>>2]|0;Db=+p[ia>>3];fa=+p[ia+8>>3];ia=0;pa=0;while(1){da=+n[ka+(pa<<3)>>2];Bb=+n[ka+(pa<<3)+4>>2];ea=+K(+(ca+(Db*da+fa*Bb)-+n[aa+(pa<<3)>>2]));Eb=+K(+(Fb+(Cb*da+Ab*Bb)-+n[aa+(pa<<3)+4>>2]));Oa=f[V>>2]|0;Na=f[v>>2]|0;if(ea+Eb<+(((Oa|0)<(Na|0)?Na:Oa)|0)*.05){f[va+(ia<<2)>>2]=pa;Sb=ia+1|0}else Sb=ia;pa=pa+1|0;if((pa|0)==($|0))break;else ia=Sb}if(ba<=+(Sb|0)){xa=161;break}}else if((xa|0)==158){xa=0;f[x>>2]=ga;f[F>>2]=Z;f[Ca>>2]=U;f[E>>2]=ja;f[G>>2]=Aa;f[Ba>>2]=oa;f[y>>2]=za;f[wa>>2]=ma;f[D>>2]=qa;f[C>>2]=sa;f[B>>2]=ha;f[A>>2]=la;Gb=hb;Hb=gb;Ib=fb;Jb=eb;Kb=db;Lb=cb;Mb=bb;Nb=ab;Ob=$a;Pb=_a;Qb=Za;Rb=Ya;xa=159}if((xa|0)==159){xa=0;f[x>>2]=Gb;f[F>>2]=Hb;f[Ca>>2]=Ib;f[E>>2]=Jb;f[G>>2]=Kb;f[Ba>>2]=Lb;f[y>>2]=Mb;f[wa>>2]=Nb;f[D>>2]=Ob;f[C>>2]=Pb;f[B>>2]=Qb;f[A>>2]=Rb}if((h|0)<499){h=h+1|0;t=Pa;na=Qa}else{xa=162;break}}do if((xa|0)==161)if((h|0)<=499){if((Sb|0)<($|0)&(Sb|0)>0){Qa=f[q>>2]|0;na=f[m>>2]|0;Pa=f[o>>2]|0;t=0;do{Rb=f[Qa+(t<<2)>>2]|0;f[na+(t<<3)>>2]=f[na+(Rb<<3)>>2];f[na+(t<<3)+4>>2]=f[na+(Rb<<3)+4>>2];f[Pa+(t<<3)>>2]=f[Pa+(Rb<<3)>>2];f[Pa+(t<<3)+4>>2]=f[Pa+(Rb<<3)+4>>2];t=t+1|0}while((t|0)!=(Sb|0))}wva(f[m>>2]|0,f[o>>2]|0,Sb,j,e);t=f[Y>>2]|0;Pa=t+16|0;p[Pa>>3]=+p[Pa>>3]/_;Pa=t+(f[f[Q>>2]>>2]|0)+16|0;p[Pa>>3]=+p[Pa>>3]/_;f[a>>2]=f[j>>2];Pa=a+4|0;na=f[H>>2]|0;f[Pa>>2]=na;Qa=a+8|0;f[Qa>>2]=f[J>>2];f[a+12>>2]=f[j+12>>2];f[a+16>>2]=t;f[a+20>>2]=f[j+20>>2];f[a+24>>2]=f[j+24>>2];f[a+28>>2]=f[j+28>>2];f[a+32>>2]=f[j+32>>2];t=f[j+36>>2]|0;f[a+36>>2]=t;f[a+40>>2]=Qa;Qa=a+48|0;la=a+44|0;f[la>>2]=Qa;f[Qa>>2]=0;f[a+52>>2]=0;if(!t)Tb=na;else{na=t+12|0;f[na>>2]=(f[na>>2]|0)+1;Tb=f[H>>2]|0}if((Tb|0)<3){na=f[Q>>2]|0;t=f[la>>2]|0;f[t>>2]=f[na>>2];f[t+4>>2]=f[na+4>>2];break}else{f[Pa>>2]=0;WO(a,j);break}}else xa=162;while(0);if((xa|0)==162){f[a>>2]=1124007936;xa=a+8|0;Tb=a+40|0;N=a+4|0;O=N+36|0;do{f[N>>2]=0;N=N+4|0}while((N|0)<(O|0));f[Tb>>2]=xa;xa=a+48|0;f[a+44>>2]=xa;f[xa>>2]=0;f[a+52>>2]=0}}else{f[a>>2]=1124007936;xa=a+8|0;Tb=a+40|0;N=a+4|0;O=N+36|0;do{f[N>>2]=0;N=N+4|0}while((N|0)<(O|0));f[Tb>>2]=xa;xa=a+48|0;f[a+44>>2]=xa;f[xa>>2]=0;f[a+52>>2]=0}a=f[r>>2]|0;if(a|0){if((f[R>>2]|0)!=(a|0))f[R>>2]=a;GQa(a)}a=f[q>>2]|0;if(a|0){q=f[c>>2]|0;if((q|0)!=(a|0))f[c>>2]=q+(~((q+-4-a|0)>>>2)<<2);GQa(a)}a=f[o>>2]|0;if(a|0){o=f[W>>2]|0;if((o|0)!=(a|0))f[W>>2]=o+(~((o+-8-a|0)>>>3)<<3);GQa(a)}a=f[m>>2]|0;if(a|0){m=f[d>>2]|0;if((m|0)!=(a|0))f[d>>2]=m+(~((m+-8-a|0)>>>3)<<3);GQa(a)}a=l+36|0;m=f[a>>2]|0;if(m|0?(d=m+12|0,m=f[d>>2]|0,f[d>>2]=m+-1,(m|0)==1):0)XO(l);f[a>>2]=0;a=l+16|0;m=l+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if((f[m>>2]|0)>0){a=f[X>>2]|0;X=0;do{f[a+(X<<2)>>2]=0;X=X+1|0}while((X|0)<(f[m>>2]|0))}m=f[l+44>>2]|0;if((m|0)!=(l+48|0))dX(m);m=k+36|0;l=f[m>>2]|0;if(l|0?(X=l+12|0,l=f[X>>2]|0,f[X>>2]=l+-1,(l|0)==1):0)XO(k);f[m>>2]=0;m=k+16|0;l=k+4|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;if((f[l>>2]|0)>0){m=f[S>>2]|0;S=0;do{f[m+(S<<2)>>2]=0;S=S+1|0}while((S|0)<(f[l>>2]|0))}l=f[k+44>>2]|0;if((l|0)!=(k+48|0))dX(l);l=j+36|0;k=f[l>>2]|0;if(k|0?(S=k+12|0,k=f[S>>2]|0,f[S>>2]=k+-1,(k|0)==1):0)XO(j);f[l>>2]=0;l=j+16|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;if((f[H>>2]|0)>0){l=f[M>>2]|0;M=0;do{f[l+(M<<2)>>2]=0;M=M+1|0}while((M|0)<(f[H>>2]|0))}H=f[Q>>2]|0;if((H|0)!=(P|0))dX(H);if(!(f[i+4>>2]|0)){u=g;return}u=g;return}function wva(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0;h=u;u=u+608|0;i=h+104|0;j=h+56|0;k=h;l=h+552|0;m=h+496|0;o=h+440|0;q=h+424|0;r=h+408|0;s=h+392|0;if(!(f[e>>2]&16384)){f[i>>2]=0;f[i+4>>2]=0;t=JV(i,16)|0;v=338879;w=t+16|0;do{b[t>>0]=b[v>>0]|0;t=t+1|0;v=v+1|0}while((t|0)<(w|0));EP(-215,i,338896,337220,1418);KV(i)}if(g){FVa(i|0,0,288)|0;t=j;w=t+48|0;do{f[t>>2]=0;t=t+4|0}while((t|0)<(w|0));g=k+4|0;f[g>>2]=2;v=k+8|0;f[v>>2]=6;f[k+12>>2]=6;x=k+16|0;f[x>>2]=i;f[k+20>>2]=i;y=k+24|0;z=k+40|0;A=y+8|0;f[A>>2]=0;f[A+4>>2]=0;f[z>>2]=v;v=k+48|0;A=k+44|0;f[A>>2]=v;f[k>>2]=1124024326;f[v>>2]=48;f[k+52>>2]=8;f[k+28>>2]=i+288;f[y>>2]=i+288;y=l+4|0;f[y>>2]=2;B=l+8|0;f[B>>2]=6;f[l+12>>2]=1;C=l+16|0;f[C>>2]=j;f[l+20>>2]=j;D=l+24|0;E=l+40|0;F=D+8|0;f[F>>2]=0;f[F+4>>2]=0;f[E>>2]=B;B=l+48|0;F=l+44|0;f[F>>2]=B;f[l>>2]=1124024326;f[B>>2]=8;f[l+52>>2]=8;f[l+28>>2]=j+48;f[D>>2]=j+48;hP(m,e,1,6);D=i+8|0;if((d|0)>0){G=i+16|0;H=i+56|0;I=i+64|0;J=j+8|0;K=j+16|0;L=j+24|0;M=j+32|0;N=j+40|0;O=0;P=+p[L>>3];Q=+p[M>>3];R=+p[N>>3];S=+p[i>>3];T=+p[D>>3];U=+p[G>>3];V=+p[H>>3];W=+p[I>>3];X=+p[j>>3];Y=+p[J>>3];Z=+p[K>>3];do{_=+n[a+(O<<3)>>2];S=S+_*_;$=+n[a+(O<<3)+4>>2];T=T+$*_;U=U+_;V=V+$*$;W=W+$;aa=+n[c+(O<<3)>>2];X=X+_*aa;Y=Y+$*aa;Z=Z+aa;aa=+n[c+(O<<3)+4>>2];P=P+_*aa;Q=Q+$*aa;R=R+aa;O=O+1|0}while((O|0)!=(d|0));p[i>>3]=S;p[D>>3]=T;p[G>>3]=U;p[H>>3]=V;p[I>>3]=W;p[j>>3]=X;p[J>>3]=Y;p[K>>3]=Z;p[L>>3]=P;p[M>>3]=Q;p[N>>3]=R;ba=T;ca=U;da=W;ea=S;fa=V}else{ba=+p[D>>3];ca=+p[i+16>>3];da=+p[i+64>>3];ea=+p[i>>3];fa=+p[i+56>>3]}p[i+48>>3]=ba;p[i+216>>3]=ba;p[i+176>>3]=ba;p[i+96>>3]=ca;p[i+264>>3]=ca;p[i+184>>3]=ca;p[i+104>>3]=da;p[i+272>>3]=da;p[i+232>>3]=da;p[i+168>>3]=ea;p[i+224>>3]=fa;fa=+(d|0);p[i+112>>3]=fa;p[i+280>>3]=fa;f[o+8>>2]=0;f[o+12>>2]=0;f[o>>2]=16842752;f[o+4>>2]=k;f[q+8>>2]=0;f[q+12>>2]=0;f[q>>2]=16842752;f[q+4>>2]=l;D=r+8|0;f[D>>2]=0;f[D+4>>2]=0;f[r>>2]=33619968;f[r+4>>2]=m;UR(o,q,r,2)|0;D=m+36|0;N=f[D>>2]|0;if(N|0?(M=N+12|0,N=f[M>>2]|0,f[M>>2]=N+-1,(N|0)==1):0)XO(m);f[D>>2]=0;D=m+16|0;N=m+4|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;if((f[N>>2]|0)>0){D=f[m+40>>2]|0;M=0;do{f[D+(M<<2)>>2]=0;M=M+1|0}while((M|0)<(f[N>>2]|0))}N=f[m+44>>2]|0;if((N|0)!=(m+48|0))dX(N);N=l+36|0;M=f[N>>2]|0;if(M|0?(D=M+12|0,M=f[D>>2]|0,f[D>>2]=M+-1,(M|0)==1):0)XO(l);f[N>>2]=0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;f[C+12>>2]=0;if((f[y>>2]|0)>0){C=f[E>>2]|0;E=0;do{f[C+(E<<2)>>2]=0;E=E+1|0}while((E|0)<(f[y>>2]|0))}y=f[F>>2]|0;if((y|0)!=(B|0))dX(y);y=k+36|0;B=f[y>>2]|0;if(B|0?(F=B+12|0,B=f[F>>2]|0,f[F>>2]=B+-1,(B|0)==1):0)XO(k);f[y>>2]=0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;if((f[g>>2]|0)>0){x=f[z>>2]|0;z=0;do{f[x+(z<<2)>>2]=0;z=z+1|0}while((z|0)<(f[g>>2]|0))}g=f[A>>2]|0;if((g|0)!=(v|0))dX(g);u=h;return}else{t=i;w=t+128|0;do{f[t>>2]=0;t=t+4|0}while((t|0)<(w|0));f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[j+24>>2]=0;f[j+28>>2]=0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[k+24>>2]=0;f[k+28>>2]=0;t=l+4|0;f[t>>2]=2;w=l+8|0;f[w>>2]=4;f[l+12>>2]=4;g=l+16|0;f[g>>2]=i;f[l+20>>2]=i;v=l+24|0;A=l+40|0;z=v+8|0;f[z>>2]=0;f[z+4>>2]=0;f[A>>2]=w;w=l+48|0;z=l+44|0;f[z>>2]=w;f[l>>2]=1124024326;f[w>>2]=32;f[l+52>>2]=8;f[l+28>>2]=i+128;f[v>>2]=i+128;v=m+4|0;f[v>>2]=2;x=m+8|0;f[x>>2]=4;f[m+12>>2]=1;y=m+16|0;f[y>>2]=j;f[m+20>>2]=j;B=m+24|0;F=m+40|0;E=B+8|0;f[E>>2]=0;f[E+4>>2]=0;f[F>>2]=x;x=m+48|0;E=m+44|0;f[E>>2]=x;f[m>>2]=1124024326;f[x>>2]=8;f[m+52>>2]=8;f[m+28>>2]=j+32;f[B>>2]=j+32;B=o+4|0;f[B>>2]=2;C=o+8|0;f[C>>2]=4;f[o+12>>2]=1;N=o+16|0;f[N>>2]=k;f[o+20>>2]=k;M=o+24|0;D=o+40|0;L=M+8|0;f[L>>2]=0;f[L+4>>2]=0;f[D>>2]=C;C=o+48|0;L=o+44|0;f[L>>2]=C;f[o>>2]=1124024326;f[C>>2]=8;f[o+52>>2]=8;f[o+28>>2]=k+32;f[M>>2]=k+32;if((d|0)>0){M=i+16|0;K=i+24|0;J=j+8|0;I=j+16|0;H=j+24|0;G=0;fa=+p[i>>3];ea=+p[M>>3];da=+p[K>>3];ca=+p[j>>3];ba=+p[J>>3];V=+p[I>>3];S=+p[H>>3];do{W=+n[a+(G<<3)>>2];U=+n[a+(G<<3)+4>>2];fa=fa+(W*W+U*U);ea=ea+W;da=da+U;T=+n[c+(G<<3)>>2];R=+n[c+(G<<3)+4>>2];ca=ca+(W*T+U*R);ba=ba+(W*R-U*T);V=V+T;S=S+R;G=G+1|0}while((G|0)!=(d|0));p[i>>3]=fa;p[M>>3]=ea;p[K>>3]=da;p[j>>3]=ca;p[J>>3]=ba;p[I>>3]=V;p[H>>3]=S;ga=fa;ha=da;ia=ea}else{ga=+p[i>>3];ha=+p[i+24>>3];ia=+p[i+16>>3]}p[i+40>>3]=ga;ga=-ha;p[i+48>>3]=ga;p[i+72>>3]=ga;p[i+64>>3]=ia;p[i+56>>3]=ia;p[i+104>>3]=ia;ia=+(d|0);p[i+120>>3]=ia;p[i+80>>3]=ia;p[i+96>>3]=ha;f[q+8>>2]=0;f[q+12>>2]=0;f[q>>2]=16842752;f[q+4>>2]=l;f[r+8>>2]=0;f[r+12>>2]=0;f[r>>2]=16842752;f[r+4>>2]=m;i=s+8|0;f[i>>2]=0;f[i+4>>2]=0;f[s>>2]=33619968;f[s+4>>2]=o;UR(q,r,s,2)|0;s=f[e+16>>2]|0;ha=+p[k>>3];p[s+32>>3]=ha;p[s>>3]=ha;e=k+8|0;p[s+8>>3]=-+p[e>>3];p[s+24>>3]=+p[e>>3];p[s+16>>3]=+p[k+16>>3];p[s+40>>3]=+p[k+24>>3];k=o+36|0;s=f[k>>2]|0;if(s|0?(e=s+12|0,s=f[e>>2]|0,f[e>>2]=s+-1,(s|0)==1):0)XO(o);f[k>>2]=0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;if((f[B>>2]|0)>0){N=f[D>>2]|0;D=0;do{f[N+(D<<2)>>2]=0;D=D+1|0}while((D|0)<(f[B>>2]|0))}B=f[L>>2]|0;if((B|0)!=(C|0))dX(B);B=m+36|0;C=f[B>>2]|0;if(C|0?(L=C+12|0,C=f[L>>2]|0,f[L>>2]=C+-1,(C|0)==1):0)XO(m);f[B>>2]=0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;if((f[v>>2]|0)>0){y=f[F>>2]|0;F=0;do{f[y+(F<<2)>>2]=0;F=F+1|0}while((F|0)<(f[v>>2]|0))}v=f[E>>2]|0;if((v|0)!=(x|0))dX(v);v=l+36|0;x=f[v>>2]|0;if(x|0?(E=x+12|0,x=f[E>>2]|0,f[E>>2]=x+-1,(x|0)==1):0)XO(l);f[v>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;if((f[t>>2]|0)>0){g=f[A>>2]|0;A=0;do{f[g+(A<<2)>>2]=0;A=A+1|0}while((A|0)<(f[t>>2]|0))}t=f[z>>2]|0;if((t|0)!=(w|0))dX(t);u=h;return}}function xva(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=100324;KV(a+184|0);b=a+72|0;c=a+108|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+88|0;b=a+76|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+112>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+116>>2]|0;if((b|0)!=(a+120|0))dX(b);b=a+16|0;d=a+52|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+32|0;b=a+20|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[a+56>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+60>>2]|0;if((b|0)==(a+64|0)){DY(a);return}dX(b);DY(a);return}function yva(a){a=a|0;xva(a);GQa(a);return}function zva(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;d=u;u=u+16|0;e=d;MY(a,c);f[e>>2]=0;f[e+4>>2]=0;g=JV(e,4)|0;b[g>>0]=110;b[g+1>>0]=97;b[g+2>>0]=109;b[g+3>>0]=101;g=pS(c,e)|0;KV(e);i=pS(g,a+184|0)|0;f[e>>2]=0;f[e+4>>2]=0;g=JV(e,7)|0;b[g>>0]=b[339961]|0;b[g+1>>0]=b[339962]|0;b[g+2>>0]=b[339963]|0;b[g+3>>0]=b[339964]|0;b[g+4>>0]=b[339965]|0;b[g+5>>0]=b[339966]|0;b[g+6>>0]=b[339967]|0;g=pS(i,e)|0;KV(e);i=a+132|0;if(Wf[f[(f[c>>2]|0)+12>>2]&255](g)|0){j=c+32|0;if((f[j>>2]|0)==6){f[e>>2]=0;f[e+4>>2]=0;k=JV(e,30)|0;l=340117;m=k+30|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-2,e,451841,340148,1181);KV(e)}yS(g,c+12|0,f[i>>2]|0);if(f[j>>2]&4|0)f[j>>2]=6}f[e>>2]=0;f[e+4>>2]=0;k=JV(e,9)|0;l=339969;m=k+9|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));j=pS(g,e)|0;KV(e);g=a+136|0;if(Wf[f[(f[c>>2]|0)+12>>2]&255](j)|0){i=c+32|0;if((f[i>>2]|0)==6){f[e>>2]=0;f[e+4>>2]=0;k=JV(e,30)|0;l=340117;m=k+30|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-2,e,451841,340148,1181);KV(e)}yS(j,c+12|0,f[g>>2]|0);if(f[i>>2]&4|0)f[i>>2]=6}f[e>>2]=0;f[e+4>>2]=0;k=JV(e,15)|0;l=339979;m=k+15|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));i=pS(j,e)|0;KV(e);j=a+152|0;if(Wf[f[(f[c>>2]|0)+12>>2]&255](i)|0){g=c+32|0;if((f[g>>2]|0)==6){f[e>>2]=0;f[e+4>>2]=0;k=JV(e,30)|0;l=340117;m=k+30|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-2,e,451841,340148,1181);KV(e)}zS(i,c+12|0,+n[j>>2]);if(f[g>>2]&4|0)f[g>>2]=6}f[e>>2]=0;f[e+4>>2]=0;k=JV(e,12)|0;l=339995;m=k+12|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));g=pS(i,e)|0;KV(e);i=a+144|0;if(Wf[f[(f[c>>2]|0)+12>>2]&255](g)|0){j=c+32|0;if((f[j>>2]|0)==6){f[e>>2]=0;f[e+4>>2]=0;k=JV(e,30)|0;l=340117;m=k+30|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-2,e,451841,340148,1181);KV(e)}AS(g,c+12|0,+p[i>>3]);if(f[j>>2]&4|0)f[j>>2]=6}f[e>>2]=0;f[e+4>>2]=0;k=JV(e,15)|0;l=340008;m=k+15|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));j=pS(g,e)|0;KV(e);g=a+156|0;if(Wf[f[(f[c>>2]|0)+12>>2]&255](j)|0){i=c+32|0;if((f[i>>2]|0)==6){f[e>>2]=0;f[e+4>>2]=0;k=JV(e,30)|0;l=340117;m=k+30|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-2,e,451841,340148,1181);KV(e)}zS(j,c+12|0,+n[g>>2]);if(f[i>>2]&4|0)f[i>>2]=6}f[e>>2]=0;f[e+4>>2]=0;i=JV(e,7)|0;b[i>>0]=b[340024]|0;b[i+1>>0]=b[340025]|0;b[i+2>>0]=b[340026]|0;b[i+3>>0]=b[340027]|0;b[i+4>>0]=b[340028]|0;b[i+5>>0]=b[340029]|0;b[i+6>>0]=b[340030]|0;i=pS(j,e)|0;KV(e);j=a+160|0;if(Wf[f[(f[c>>2]|0)+12>>2]&255](i)|0){g=c+32|0;if((f[g>>2]|0)==6){f[e>>2]=0;f[e+4>>2]=0;k=JV(e,30)|0;l=340117;m=k+30|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-2,e,451841,340148,1181);KV(e)}zS(i,c+12|0,+n[j>>2]);if(f[g>>2]&4|0)f[g>>2]=6}f[e>>2]=0;f[e+4>>2]=0;g=JV(e,6)|0;b[g>>0]=b[340032]|0;b[g+1>>0]=b[340033]|0;b[g+2>>0]=b[340034]|0;b[g+3>>0]=b[340035]|0;b[g+4>>0]=b[340036]|0;b[g+5>>0]=b[340037]|0;g=pS(i,e)|0;KV(e);i=a+164|0;if(Wf[f[(f[c>>2]|0)+12>>2]&255](g)|0){j=c+32|0;if((f[j>>2]|0)==6){f[e>>2]=0;f[e+4>>2]=0;k=JV(e,30)|0;l=340117;m=k+30|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-2,e,451841,340148,1181);KV(e)}zS(g,c+12|0,+n[i>>2]);if(f[j>>2]&4|0)f[j>>2]=6}f[e>>2]=0;f[e+4>>2]=0;j=JV(e,6)|0;b[j>>0]=b[340039]|0;b[j+1>>0]=b[340040]|0;b[j+2>>0]=b[340041]|0;b[j+3>>0]=b[340042]|0;b[j+4>>0]=b[340043]|0;b[j+5>>0]=b[340044]|0;j=pS(g,e)|0;KV(e);g=a+168|0;if(Wf[f[(f[c>>2]|0)+12>>2]&255](j)|0){i=c+32|0;if((f[i>>2]|0)==6){f[e>>2]=0;f[e+4>>2]=0;k=JV(e,30)|0;l=340117;m=k+30|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-2,e,451841,340148,1181);KV(e)}zS(j,c+12|0,+n[g>>2]);if(f[i>>2]&4|0)f[i>>2]=6}f[e>>2]=0;f[e+4>>2]=0;k=JV(e,28)|0;l=340046;m=k+28|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));i=pS(j,e)|0;KV(e);j=a+172|0;if(Wf[f[(f[c>>2]|0)+12>>2]&255](i)|0){g=c+32|0;if((f[g>>2]|0)==6){f[e>>2]=0;f[e+4>>2]=0;k=JV(e,30)|0;l=340117;m=k+30|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-2,e,451841,340148,1181);KV(e)}zS(i,c+12|0,+n[j>>2]);if(f[g>>2]&4|0)f[g>>2]=6}f[e>>2]=0;f[e+4>>2]=0;k=JV(e,13)|0;l=340075;m=k+13|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));g=pS(i,e)|0;KV(e);i=h[a+176>>0]|0;if(Wf[f[(f[c>>2]|0)+12>>2]&255](g)|0){j=c+32|0;if((f[j>>2]|0)==6){f[e>>2]=0;f[e+4>>2]=0;k=JV(e,30)|0;l=340117;m=k+30|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-2,e,451841,340148,1181);KV(e)}yS(g,c+12|0,i);if(f[j>>2]&4|0)f[j>>2]=6}f[e>>2]=0;f[e+4>>2]=0;k=JV(e,11)|0;l=340089;m=k+11|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));j=pS(g,e)|0;KV(e);g=h[a+177>>0]|0;if(Wf[f[(f[c>>2]|0)+12>>2]&255](j)|0){i=c+32|0;if((f[i>>2]|0)==6){f[e>>2]=0;f[e+4>>2]=0;k=JV(e,30)|0;l=340117;m=k+30|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-2,e,451841,340148,1181);KV(e)}yS(j,c+12|0,g);if(f[i>>2]&4|0)f[i>>2]=6}f[e>>2]=0;f[e+4>>2]=0;k=JV(e,15)|0;l=340101;m=k+15|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));i=pS(j,e)|0;KV(e);j=a+180|0;if(!(Wf[f[(f[c>>2]|0)+12>>2]&255](i)|0)){u=d;return}a=c+32|0;if((f[a>>2]|0)==6){f[e>>2]=0;f[e+4>>2]=0;k=JV(e,30)|0;l=340117;m=k+30|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-2,e,451841,340148,1181);KV(e)}zS(i,c+12|0,+n[j>>2]);if(!(f[a>>2]&4)){u=d;return}f[a>>2]=6;u=d;return}function Ava(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0;d=u;u=u+112|0;e=d;g=d+8|0;h=d+104|0;i=d+96|0;j=d+88|0;k=d+80|0;l=d+72|0;m=d+64|0;n=d+56|0;o=d+48|0;q=d+40|0;r=d+32|0;s=d+24|0;t=d+16|0;tS(g,c,339923);f[e>>2]=0;f[e+4>>2]=0;IS(g,e,e);g=f[e>>2]|0;v=f[a+184>>2]|0;if((g|0)!=(v|0)){w=(mCa((g|0)==0?1079437:g,(v|0)==0?1079437:v)|0)==0;KV(e);if(!w){f[e>>2]=0;f[e+4>>2]=0;w=JV(e,27)|0;v=339928;g=w+27|0;do{b[w>>0]=b[v>>0]|0;w=w+1|0;v=v+1|0}while((w|0)<(g|0));EP(-215,e,339956,339229,307);KV(e)}}else KV(e);tS(h,c,339961);FS(h,e,0);f[a+132>>2]=f[e>>2];tS(i,c,339969);FS(i,e,0);f[a+136>>2]=f[e>>2];tS(j,c,339979);GS(j,e,0.0);f[a+152>>2]=f[e>>2];tS(k,c,339995);HS(k,e,0.0);p[a+144>>3]=+p[e>>3];tS(l,c,340008);GS(l,e,0.0);f[a+156>>2]=f[e>>2];tS(m,c,340024);GS(m,e,0.0);f[a+160>>2]=f[e>>2];tS(n,c,340032);GS(n,e,0.0);f[a+164>>2]=f[e>>2];tS(o,c,340039);GS(o,e,0.0);f[a+168>>2]=f[e>>2];tS(q,c,340046);GS(q,e,0.0);f[a+172>>2]=f[e>>2];tS(r,c,340075);FS(r,e,0);b[a+176>>0]=(f[e>>2]|0)!=0&1;tS(s,c,340089);FS(s,e,0);s=f[e>>2]|0;b[a+177>>0]=s>>>0<256?s:(s|0)>0?255:0;tS(t,c,340101);GS(t,e,0.0);f[a+180>>2]=f[e>>2];u=d;return}function Bva(a,c,d,e){a=a|0;c=c|0;d=d|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0;g=u;u=u+224|0;h=g+208|0;i=g+152|0;j=g+144|0;k=g+80|0;l=g+88|0;m=g+72|0;o=g;yV(h,100540);q=a+128|0;do if(!(e>=1.0|(f[q>>2]|0)==0)){FJ(i,c,-1);if(!((f[i>>2]|0)!=(f[a+4>>2]|0)?1:(f[i+4>>2]|0)!=(f[a+8>>2]|0))?(r=GJ(c,-1)|0,(r|0)==(f[a+12>>2]|0)):0)break;else{s=5;break}}else s=5;while(0);if((s|0)==5){FJ(j,c,-1);dwa(a,j,GJ(c,-1)|0)}do if((HJ(c)|0)==65536){j=f[c+4>>2]|0;f[i>>2]=f[j>>2];s=i+4|0;r=j+4|0;f[s>>2]=f[r>>2];t=i+8|0;f[t>>2]=f[j+8>>2];f[i+12>>2]=f[j+12>>2];f[i+16>>2]=f[j+16>>2];f[i+20>>2]=f[j+20>>2];f[i+24>>2]=f[j+24>>2];f[i+28>>2]=f[j+28>>2];f[i+32>>2]=f[j+32>>2];v=f[j+36>>2]|0;f[i+36>>2]=v;w=i+40|0;f[w>>2]=t;t=i+48|0;x=i+44|0;f[x>>2]=t;f[t>>2]=0;f[i+52>>2]=0;if(v|0){t=v+12|0;f[t>>2]=(f[t>>2]|0)+1}if((f[r>>2]|0)<3){r=f[j+44>>2]|0;t=f[x>>2]|0;f[t>>2]=f[r>>2];f[t+4>>2]=f[r+4>>2];y=w;break}else{f[s>>2]=0;WO(i,j);y=w;break}}else{DJ(i,c,-1);y=i+40|0}while(0);c=f[y>>2]|0;w=f[c>>2]|0;f[k>>2]=f[c+4>>2];f[k+4>>2]=w;_J(d,k,0,-1,0,0);do if((HJ(d)|0)==65536){k=f[d+4>>2]|0;f[l>>2]=f[k>>2];w=l+4|0;c=k+4|0;f[w>>2]=f[c>>2];j=l+8|0;f[j>>2]=f[k+8>>2];f[l+12>>2]=f[k+12>>2];f[l+16>>2]=f[k+16>>2];f[l+20>>2]=f[k+20>>2];f[l+24>>2]=f[k+24>>2];f[l+28>>2]=f[k+28>>2];f[l+32>>2]=f[k+32>>2];s=f[k+36>>2]|0;f[l+36>>2]=s;f[l+40>>2]=j;j=l+48|0;r=l+44|0;f[r>>2]=j;f[j>>2]=0;f[l+52>>2]=0;if(s|0){j=s+12|0;f[j>>2]=(f[j>>2]|0)+1}if((f[c>>2]|0)<3){c=f[k+44>>2]|0;j=f[r>>2]|0;f[j>>2]=f[c>>2];f[j+4>>2]=f[c+4>>2];break}else{f[w>>2]=0;WO(l,k);break}}else DJ(l,d,-1);while(0);d=f[q>>2]|0;k=d+1|0;f[q>>2]=k;if(e>=0.0&(d|0)>0)z=e;else{d=k<<1;k=f[a+132>>2]|0;z=1.0/+(((k|0)<(d|0)?k:d)|0)}if(!(z>=0.0)){f[m>>2]=0;f[m+4>>2]=0;d=JV(m,17)|0;k=339741;q=d+17|0;do{b[d>>0]=b[k>>0]|0;d=d+1|0;k=k+1|0}while((d|0)<(q|0));EP(-215,m,339759,339229,870);KV(m)}k=i+8|0;d=f[k>>2]|0;f[m>>2]=0;f[m+4>>2]=d;q=f[a+32>>2]|0;w=f[a+136>>2]|0;c=X(w<<3,d)|0;d=f[i+12>>2]|0;j=q+(X(c,d)|0)|0;c=f[a+88>>2]|0;e=+p[a+144>>3];r=f[a+152>>2]|0;s=f[a+156>>2]|0;t=f[a+160>>2]|0;A=+n[a+164>>2];B=+n[a+168>>2];C=-(z*+n[a+172>>2]);x=f[a+180>>2]|0;v=b[a+176>>0]|0;D=b[a+177>>0]|0;f[o>>2]=100568;f[o+4>>2]=i;f[o+8>>2]=l;f[o+12>>2]=q;f[o+16>>2]=j;f[o+20>>2]=c;f[o+24>>2]=w;n[o+28>>2]=z;n[o+32>>2]=e;f[o+36>>2]=r;f[o+40>>2]=s;f[o+44>>2]=t;n[o+48>>2]=A>B?B:A;n[o+52>>2]=A>2]=C;f[o+60>>2]=x;b[o+64>>0]=v;b[o+65>>0]=D;D=i+4|0;v=f[D>>2]|0;if((v|0)<3)E=X(d,f[k>>2]|0)|0;else{k=f[y>>2]|0;d=0;x=1;while(1){t=X(f[k+(d<<2)>>2]|0,x)|0;d=d+1|0;if((d|0)==(v|0)){E=t;break}else x=t}}$Z(m,o,+(E>>>0)*.0000152587890625);E=l+36|0;o=f[E>>2]|0;if(o|0?(m=o+12|0,o=f[m>>2]|0,f[m>>2]=o+-1,(o|0)==1):0)XO(l);f[E>>2]=0;E=l+16|0;o=l+4|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;if((f[o>>2]|0)>0){E=f[l+40>>2]|0;m=0;do{f[E+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[o>>2]|0))}o=f[l+44>>2]|0;if((o|0)!=(l+48|0))dX(o);o=i+36|0;l=f[o>>2]|0;if(l|0?(m=l+12|0,l=f[m>>2]|0,f[m>>2]=l+-1,(l|0)==1):0)XO(i);f[o>>2]=0;o=i+16|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;if((f[D>>2]|0)>0){o=f[y>>2]|0;y=0;do{f[o+(y<<2)>>2]=0;y=y+1|0}while((y|0)<(f[D>>2]|0))}D=f[i+44>>2]|0;if((D|0)!=(i+48|0))dX(D);if(!(f[h+4>>2]|0)){u=g;return}u=g;return}function Cva(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=u;u=u+16|0;d=c;e=a+12|0;g=f[e>>2]|0;switch(g|0){case 21:case 5:case 16:case 0:{h=g;break}default:{f[d>>2]=0;f[d+4>>2]=0;DVa(JV(d,228)|0,338981,228)|0;EP(-215,d,339210,339229,929);KV(d);h=f[e>>2]|0}}switch(h|0){case 0:{$va(a,b);u=c;return}case 16:{awa(a,b);u=c;return}case 5:{bwa(a,b);u=c;return}case 21:{cwa(a,b);u=c;return}default:{u=c;return}}}function Dva(a){a=a|0;return f[a+132>>2]|0}function Eva(a,b){a=a|0;b=b|0;f[a+132>>2]=b;return}function Fva(a){a=a|0;return f[a+136>>2]|0}function Gva(a,b){a=a|0;b=b|0;f[a+136>>2]=b;return}function Hva(a){a=a|0;return +(+n[a+152>>2])}function Iva(a,b){a=a|0;b=+b;n[a+152>>2]=b;return}function Jva(a){a=a|0;return +(+p[a+144>>3])}function Kva(a,b){a=a|0;b=+b;p[a+144>>3]=b;return}function Lva(a){a=a|0;return +(+n[a+156>>2])}function Mva(a,b){a=a|0;b=+b;n[a+156>>2]=b;return}function Nva(a){a=a|0;return +(+n[a+160>>2])}function Ova(a,b){a=a|0;b=+b;n[a+160>>2]=b;return}function Pva(a){a=a|0;return +(+n[a+164>>2])}function Qva(a,b){a=a|0;b=+b;n[a+164>>2]=b;return}function Rva(a){a=a|0;return +(+n[a+168>>2])}function Sva(a,b){a=a|0;b=+b;n[a+168>>2]=b;return}function Tva(a){a=a|0;return +(+n[a+172>>2])}function Uva(a,b){a=a|0;b=+b;n[a+172>>2]=b;return}function Vva(a){a=a|0;return (b[a+176>>0]|0)!=0|0}function Wva(a,c){a=a|0;c=c|0;var d=0;d=a+176|0;if((b[d>>0]|0)==0^c)return;b[d>>0]=c&1;return}function Xva(a){a=a|0;return h[a+177>>0]|0|0}function Yva(a,c){a=a|0;c=c|0;b[a+177>>0]=c;return}function Zva(a){a=a|0;return +(+n[a+180>>2])}function _va(a,b){a=a|0;b=+b;n[a+180>>2]=b;return}function $va(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,L=0.0,M=0,N=0,O=0,P=0;d=u;u=u+112|0;e=d+96|0;g=d+88|0;h=d+32|0;i=d;yV(g,100520);j=a+4|0;k=f[j>>2]|0;l=a+8|0;m=f[l>>2]|0;o=f[a+12>>2]|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;f[i+28>>2]=0;f[h>>2]=1124007936;p=h+4|0;q=h+8|0;r=h+40|0;s=p;t=s+36|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(t|0));f[r>>2]=q;s=h+48|0;t=h+44|0;f[t>>2]=s;f[s>>2]=0;f[h+52>>2]=0;f[e>>2]=m;f[e+4>>2]=k;VO(h,2,e,o&4095);gM(h,i)|0;i=f[a+32>>2]|0;o=X(f[l>>2]|0,f[j>>2]|0)|0;j=a+136|0;l=i+((X(o,f[j>>2]|0)|0)<<3)|0;o=f[q>>2]|0;if((o|0)>0){e=h+12|0;k=a+88|0;m=a+116|0;v=h+16|0;w=a+152|0;a=0;x=0;y=o;o=f[e>>2]|0;while(1){if((o|0)>0){z=0;A=a;do{B=(f[k>>2]|0)+(X(f[f[m>>2]>>2]|0,x)|0)+z|0;C=b[B>>0]|0;B=A+(C&255)|0;if(!(C<<24>>24)){D=0.0;E=0.0}else{F=+n[w>>2];C=A;G=0.0;H=0.0;while(1){I=+n[i+(C<<3)>>2];J=H+I*+n[l+(C<<2)>>2];L=G+I;C=C+1|0;if(!(!(L>F)&(C|0)<(B|0))){D=L;E=J;break}else{G=L;H=J}}}B=+K(+D)>1.1920928955078125e-07;C=HEa(E*(B?1.0/D:0.0))|0;B=(f[v>>2]|0)+(X(f[f[t>>2]>>2]|0,x)|0)+z|0;b[B>>0]=C>>>0<256?C:(C|0)>0?255:0;A=(f[j>>2]|0)+A|0;z=z+1|0;M=f[e>>2]|0}while((z|0)<(M|0));N=A;O=M;P=f[q>>2]|0}else{N=a;O=o;P=y}x=x+1|0;if((x|0)>=(P|0))break;else{a=N;y=P;o=O}}}eM(h,c);c=h+36|0;O=f[c>>2]|0;if(O|0?(o=O+12|0,O=f[o>>2]|0,f[o>>2]=O+-1,(O|0)==1):0)XO(h);f[c>>2]=0;c=h+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[p>>2]|0)>0){c=f[r>>2]|0;r=0;do{f[c+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[p>>2]|0))}p=f[t>>2]|0;if((p|0)!=(s|0))dX(p);if(!(f[g+4>>2]|0)){u=d;return}u=d;return}function awa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,L=0.0,M=0.0,N=0.0,O=0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0,U=0,V=0,W=0,Y=0;d=u;u=u+112|0;e=d+96|0;g=d+88|0;h=d+32|0;i=d;yV(g,100500);j=a+4|0;k=f[j>>2]|0;l=a+8|0;m=f[l>>2]|0;o=f[a+12>>2]|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;f[i+28>>2]=0;f[h>>2]=1124007936;p=h+4|0;q=h+8|0;r=h+40|0;s=p;t=s+36|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(t|0));f[r>>2]=q;s=h+48|0;t=h+44|0;f[t>>2]=s;f[s>>2]=0;f[h+52>>2]=0;f[e>>2]=m;f[e+4>>2]=k;VO(h,2,e,o&4095);gM(h,i)|0;i=f[a+32>>2]|0;o=X(f[l>>2]|0,f[j>>2]|0)|0;j=a+136|0;l=i+((X(o,f[j>>2]|0)|0)<<3)|0;o=f[q>>2]|0;if((o|0)>0){e=h+12|0;k=a+88|0;m=a+116|0;v=h+16|0;w=a+152|0;a=0;x=0;y=o;o=f[e>>2]|0;while(1){if((o|0)>0){z=0;A=a;do{B=(f[k>>2]|0)+(X(f[f[m>>2]>>2]|0,x)|0)+z|0;C=b[B>>0]|0;B=A+(C&255)|0;if(!(C<<24>>24)){D=0.0;E=0.0;F=0.0;G=0.0}else{H=+n[w>>2];C=A;I=0.0;J=0.0;L=0.0;M=0.0;while(1){N=+n[i+(C<<3)>>2];O=C*3|0;P=J+N*+n[l+(O<<2)>>2];Q=L+N*+n[l+(O+1<<2)>>2];R=M+N*+n[l+(O+2<<2)>>2];S=I+N;C=C+1|0;if(!(!(S>H)&(C|0)<(B|0))){D=S;E=P;F=Q;G=R;break}else{I=S;J=P;L=Q;M=R}}}B=+K(+D)>1.1920928955078125e-07;M=B?1.0/D:0.0;B=HEa(E*M)|0;C=HEa(F*M)|0;O=HEa(G*M)|0;T=(f[v>>2]|0)+(X(f[f[t>>2]>>2]|0,x)|0)|0;b[T+(z*3|0)>>0]=B>>>0<256?B:(B|0)>0?255:0;b[T+(z*3|0)+1>>0]=C>>>0<256?C:(C|0)>0?255:0;b[T+(z*3|0)+2>>0]=O>>>0<256?O:(O|0)>0?255:0;A=(f[j>>2]|0)+A|0;z=z+1|0;U=f[e>>2]|0}while((z|0)<(U|0));V=A;W=U;Y=f[q>>2]|0}else{V=a;W=o;Y=y}x=x+1|0;if((x|0)>=(Y|0))break;else{a=V;y=Y;o=W}}}eM(h,c);c=h+36|0;W=f[c>>2]|0;if(W|0?(o=W+12|0,W=f[o>>2]|0,f[o>>2]=W+-1,(W|0)==1):0)XO(h);f[c>>2]=0;c=h+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[p>>2]|0)>0){c=f[r>>2]|0;r=0;do{f[c+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[p>>2]|0))}p=f[t>>2]|0;if((p|0)!=(s|0))dX(p);if(!(f[g+4>>2]|0)){u=d;return}u=d;return}function bwa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,L=0.0,M=0,N=0,O=0,P=0;d=u;u=u+112|0;e=d+96|0;g=d+88|0;h=d+32|0;i=d;yV(g,100480);j=a+4|0;k=f[j>>2]|0;l=a+8|0;m=f[l>>2]|0;o=f[a+12>>2]|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;f[i+28>>2]=0;f[h>>2]=1124007936;p=h+4|0;q=h+8|0;r=h+40|0;s=p;t=s+36|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(t|0));f[r>>2]=q;s=h+48|0;t=h+44|0;f[t>>2]=s;f[s>>2]=0;f[h+52>>2]=0;f[e>>2]=m;f[e+4>>2]=k;VO(h,2,e,o&4095);gM(h,i)|0;i=f[a+32>>2]|0;o=X(f[l>>2]|0,f[j>>2]|0)|0;j=a+136|0;l=i+((X(o,f[j>>2]|0)|0)<<3)|0;o=f[q>>2]|0;if((o|0)>0){e=h+12|0;k=a+88|0;m=a+116|0;v=h+16|0;w=a+152|0;a=0;x=0;y=f[e>>2]|0;z=o;while(1){if((y|0)>0){o=0;A=a;do{B=(f[k>>2]|0)+(X(f[f[m>>2]>>2]|0,x)|0)+o|0;C=b[B>>0]|0;B=A+(C&255)|0;if(!(C<<24>>24)){D=0.0;E=0.0}else{F=+n[w>>2];C=A;G=0.0;H=0.0;while(1){I=+n[i+(C<<3)>>2];J=H+I*+n[l+(C<<2)>>2];L=G+I;C=C+1|0;if(!(!(L>F)&(C|0)<(B|0))){D=L;E=J;break}else{G=L;H=J}}}B=+K(+D)>1.1920928955078125e-07;C=(f[v>>2]|0)+(X(f[f[t>>2]>>2]|0,x)|0)+(o<<2)|0;n[C>>2]=E*(B?1.0/D:0.0);A=(f[j>>2]|0)+A|0;o=o+1|0;M=f[e>>2]|0}while((o|0)<(M|0));N=A;O=f[q>>2]|0;P=M}else{N=a;O=z;P=y}x=x+1|0;if((x|0)>=(O|0))break;else{a=N;y=P;z=O}}}eM(h,c);c=h+36|0;O=f[c>>2]|0;if(O|0?(z=O+12|0,O=f[z>>2]|0,f[z>>2]=O+-1,(O|0)==1):0)XO(h);f[c>>2]=0;c=h+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[p>>2]|0)>0){c=f[r>>2]|0;r=0;do{f[c+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[p>>2]|0))}p=f[t>>2]|0;if((p|0)!=(s|0))dX(p);if(!(f[g+4>>2]|0)){u=d;return}u=d;return}function cwa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,L=0.0,M=0.0,N=0.0,O=0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0,U=0,V=0,W=0;d=u;u=u+112|0;e=d+96|0;g=d+88|0;h=d+32|0;i=d;yV(g,100460);j=a+4|0;k=f[j>>2]|0;l=a+8|0;m=f[l>>2]|0;o=f[a+12>>2]|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;f[i+28>>2]=0;f[h>>2]=1124007936;p=h+4|0;q=h+8|0;r=h+40|0;s=p;t=s+36|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(t|0));f[r>>2]=q;s=h+48|0;t=h+44|0;f[t>>2]=s;f[s>>2]=0;f[h+52>>2]=0;f[e>>2]=m;f[e+4>>2]=k;VO(h,2,e,o&4095);gM(h,i)|0;i=f[a+32>>2]|0;o=X(f[l>>2]|0,f[j>>2]|0)|0;j=a+136|0;l=i+((X(o,f[j>>2]|0)|0)<<3)|0;o=f[q>>2]|0;if((o|0)>0){e=h+12|0;k=a+88|0;m=a+116|0;v=h+16|0;w=a+152|0;a=0;x=0;y=o;o=f[e>>2]|0;while(1){if((o|0)>0){z=0;A=a;do{B=(f[k>>2]|0)+(X(f[f[m>>2]>>2]|0,x)|0)+z|0;C=b[B>>0]|0;B=A+(C&255)|0;if(!(C<<24>>24)){D=0.0;E=0.0;F=0.0;G=0.0}else{H=+n[w>>2];C=A;I=0.0;J=0.0;L=0.0;M=0.0;while(1){N=+n[i+(C<<3)>>2];O=C*3|0;P=J+N*+n[l+(O<<2)>>2];Q=L+N*+n[l+(O+1<<2)>>2];R=M+N*+n[l+(O+2<<2)>>2];S=I+N;C=C+1|0;if(!(!(S>H)&(C|0)<(B|0))){D=S;E=P;F=Q;G=R;break}else{I=S;J=P;L=Q;M=R}}}B=+K(+D)>1.1920928955078125e-07;M=B?1.0/D:0.0;B=(f[v>>2]|0)+(X(f[f[t>>2]>>2]|0,x)|0)|0;n[B+(z*12|0)>>2]=E*M;n[B+(z*12|0)+4>>2]=F*M;n[B+(z*12|0)+8>>2]=G*M;A=(f[j>>2]|0)+A|0;z=z+1|0;T=f[e>>2]|0}while((z|0)<(T|0));U=A;V=T;W=f[q>>2]|0}else{U=a;V=o;W=y}x=x+1|0;if((x|0)>=(W|0))break;else{a=U;y=W;o=V}}}eM(h,c);c=h+36|0;V=f[c>>2]|0;if(V|0?(o=V+12|0,V=f[o>>2]|0,f[o>>2]=V+-1,(V|0)==1):0)XO(h);f[c>>2]=0;c=h+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[p>>2]|0)>0){c=f[r>>2]|0;r=0;do{f[c+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[p>>2]|0))}p=f[t>>2]|0;if((p|0)!=(s|0))dX(p);if(!(f[g+4>>2]|0)){u=d;return}u=d;return}function dwa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=u;u=u+32|0;g=e;h=a+4|0;f[h>>2]=f[c>>2];i=a+8|0;f[i>>2]=f[c+4>>2];f[a+12>>2]=d;f[a+128>>2]=0;c=d>>>3&511;if((c+1|0)>>>0>=513){f[g>>2]=0;f[g+4>>2]=0;j=JV(g,16)|0;k=339784;l=j+16|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-215,g,339801,339229,192);KV(g)}d=a+136|0;m=f[d>>2]|0;if((m|0)<256)n=m;else{f[g>>2]=0;f[g+4>>2]=0;j=JV(g,16)|0;k=339812;l=j+16|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-215,g,339801,339229,193);KV(g);n=f[d>>2]|0}d=a+16|0;k=f[i>>2]|0;j=f[h>>2]|0;l=X(X(X(k,c+3|0)|0,j)|0,n)|0;if(((((f[a+20>>2]|0)<3?(f[a+24>>2]|0)==1:0)?(f[a+28>>2]|0)==(l|0):0)?(f[d>>2]&4095|0)==5:0)?(f[a+32>>2]|0)!=0:0){o=k;p=j}else{f[g>>2]=1;f[g+4>>2]=l;VO(d,2,g,5);o=f[i>>2]|0;p=f[h>>2]|0}h=a+72|0;if(((((f[a+76>>2]|0)<3?(f[a+80>>2]|0)==(o|0):0)?(f[a+84>>2]|0)==(p|0):0)?(f[h>>2]&4095|0)==0:0)?f[a+88>>2]|0:0){f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;gM(h,g)|0;u=e;return}f[g>>2]=o;f[g+4>>2]=p;VO(h,2,g,0);f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;gM(h,g)|0;u=e;return}function ewa(a){a=a|0;GQa(a);return}function fwa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0.0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0.0,Qa=0,Ra=0,Sa=0.0,Ta=0.0,Ua=0,Va=0.0,Wa=0.0,Xa=0.0,Ya=0.0,Za=0.0,_a=0,$a=0,ab=0,bb=0.0,cb=0.0,db=0,eb=0,fb=0.0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0.0,sb=0.0,tb=0,ub=0,vb=0;d=u;u=u+3248|0;e=d+3240|0;g=d+3224|0;i=d+2160|0;j=d+56|0;k=d+2104|0;l=d;m=f[c>>2]|0;o=f[c+4>>2]|0;c=a+4|0;p=f[c>>2]|0;q=f[p+12>>2]|0;r=((f[p>>2]|0)>>>3&511)+1|0;s=X(q,r)|0;t=i+8|0;f[i>>2]=t;v=i+4|0;f[v>>2]=s;if(s>>>0>264){w=FQa(s>>>0>1073741823?-1:s<<2)|0;f[i>>2]=w;x=w}else x=t;w=a+28|0;y=1.0-+n[w>>2];a:do if((m|0)<(o|0)){s=a+16|0;z=a+24|0;A=a+12|0;B=a+20|0;C=a+8|0;D=(q|0)>0;E=a+64|0;F=a+32|0;G=a+36|0;H=a+60|0;I=a+65|0;J=a+44|0;L=a+56|0;M=(r|0)==3;N=j+4|0;O=j+8|0;P=a+40|0;Q=a+48|0;R=a+52|0;S=e+4|0;T=g+4|0;U=(r<<3)+-3|0;V=U&4093|1124007936;W=l+4|0;Y=l+8|0;Z=l+12|0;_=l+16|0;$=l+20|0;aa=l+24|0;ba=l+28|0;ca=l+40|0;da=l+48|0;ea=l+44|0;fa=l+52|0;ga=(q|0)!=0;ha=e+4|0;ia=(U>>>1&2044)+4|0;U=g+8|0;ja=g+4|0;ka=l+36|0;la=k+36|0;ma=k+16|0;na=k+4|0;oa=k+40|0;pa=k+44|0;qa=k+48|0;ra=m;sa=p;ta=x;while(1){if((f[sa>>2]&7|0)!=5){f[e>>2]=ra;f[S>>2]=ra+1;f[g>>2]=-2147483648;f[T>>2]=2147483647;YO(k,sa,e,g);f[l>>2]=V;f[W>>2]=2;f[Y>>2]=1;f[Z>>2]=q;f[_>>2]=ta;f[$>>2]=ta;f[aa>>2]=0;f[aa+4>>2]=0;f[aa+8>>2]=0;f[aa+12>>2]=0;f[ca>>2]=Y;f[ea>>2]=da;f[fa>>2]=0;f[da>>2]=0;if(ga&(ta|0)==0){f[e>>2]=0;f[ha>>2]=0;ua=JV(e,26)|0;va=346743;wa=ua+26|0;do{b[ua>>0]=b[va>>0]|0;ua=ua+1|0;va=va+1|0}while((ua|0)<(wa|0));EP(-215,e,346770,346774,500);KV(e);xa=f[Z>>2]|0;ya=f[l>>2]|0;za=f[ea>>2]|0;Aa=f[$>>2]|0}else{xa=q;ya=V;za=da;Aa=ta}va=X(xa,ia)|0;f[l>>2]=ya|16384;f[za>>2]=va;f[za+4>>2]=ia;ua=Aa+(X(f[Y>>2]|0,va)|0)|0;f[ba>>2]=ua;f[aa>>2]=ua+(0-va)+va;va=U;f[va>>2]=0;f[va+4>>2]=0;f[g>>2]=-1040121856;f[ja>>2]=l;AO(k,g,5,1.0,0.0);va=f[ka>>2]|0;if(va|0?(ua=va+12|0,va=f[ua>>2]|0,f[ua>>2]=va+-1,(va|0)==1):0)XO(l);f[ka>>2]=0;f[_>>2]=0;f[_+4>>2]=0;f[_+8>>2]=0;f[_+12>>2]=0;if((f[W>>2]|0)>0){va=f[ca>>2]|0;ua=0;do{f[va+(ua<<2)>>2]=0;ua=ua+1|0}while((ua|0)<(f[W>>2]|0))}ua=f[ea>>2]|0;if((ua|0)!=(da|0))dX(ua);ua=f[la>>2]|0;if(ua|0?(va=ua+12|0,ua=f[va>>2]|0,f[va>>2]=ua+-1,(ua|0)==1):0)XO(k);f[la>>2]=0;f[ma>>2]=0;f[ma+4>>2]=0;f[ma+8>>2]=0;f[ma+12>>2]=0;if((f[na>>2]|0)>0){ua=f[oa>>2]|0;va=0;do{f[ua+(va<<2)>>2]=0;va=va+1|0}while((va|0)<(f[na>>2]|0))}va=f[pa>>2]|0;if((va|0)==(qa|0))Ba=ta;else{dX(va);Ba=ta}}else Ba=(f[sa+16>>2]|0)+(X(f[f[sa+44>>2]>>2]|0,ra)|0)|0;va=X(f[z>>2]|0,q)|0;ua=(f[B>>2]|0)+(X(ra,q)|0)|0;wa=f[C>>2]|0;Ca=(f[wa+16>>2]|0)+(X(f[f[wa+44>>2]>>2]|0,ra)|0)|0;if(D){wa=(f[A>>2]|0)+((X(va,ra)|0)<<3)|0;Da=0;Ea=wa;wa=(f[s>>2]|0)+((X(X(ra,r)|0,va)|0)<<2)|0;va=Ba;while(1){Fa=ua+Da|0;Ga=b[Fa>>0]|0;Ha=Ga&255;if(!(Ga<<24>>24)){Ia=0.0;Ja=Ha;Ka=0;La=0}else{Ga=va+4|0;Ma=va+8|0;Na=0;Oa=wa;Pa=0.0;Qa=Ha;Ha=0;Ra=0;Sa=+n[L>>2];while(1){Ta=y*+n[Ea+(Na<<3)>>2]+Sa;b:do if(!Ha){Ua=Ea+(Na<<3)+4|0;Va=+n[Ua>>2];if(M){Wa=+n[Oa>>2]-+n[va>>2];n[j>>2]=Wa;Xa=+n[Oa+4>>2]-+n[Ga>>2];n[N>>2]=Xa;Ya=+n[Oa+8>>2]-+n[Ma>>2];n[O>>2]=Ya;Za=Ya*Ya+(Wa*Wa+Xa*Xa)}else{_a=0;Xa=0.0;while(1){Wa=+n[Oa+(_a<<2)>>2]-+n[va+(_a<<2)>>2];n[j+(_a<<2)>>2]=Wa;Ya=Xa+Wa*Wa;_a=_a+1|0;if((_a|0)==(r|0)){Za=Ya;break}else Xa=Ya}}if(Pa<+n[G>>2]?Za>2]:0)$a=1;else $a=Ra;if(Za>2]){Xa=+n[w>>2];Ya=Ta+Xa;Wa=Xa/Ya;_a=0;do{ab=Oa+(_a<<2)|0;n[ab>>2]=+n[ab>>2]-Wa*+n[j+(_a<<2)>>2];_a=_a+1|0}while((_a|0)!=(r|0));Xa=Va+(Za-Va)*Wa;bb=+n[Q>>2];cb=Xa>2];n[Ua>>2]=cb>Xa?Xa:cb;if((Na|0)>0){_a=Na;ab=0;while(1){db=_a;_a=_a+-1|0;eb=Ea+(_a<<3)|0;if(Ya<+n[eb>>2]){fb=Ya;gb=ab;hb=1;ib=$a;break b}jb=Ea+(db<<3)|0;kb=jb;lb=f[kb>>2]|0;mb=f[kb+4>>2]|0;kb=eb;nb=f[kb+4>>2]|0;ob=jb;f[ob>>2]=f[kb>>2];f[ob+4>>2]=nb;nb=eb;f[nb>>2]=lb;f[nb+4>>2]=mb;mb=X(db,r)|0;nb=X(_a,r)|0;lb=0;do{eb=wa+(lb+mb<<2)|0;ob=wa+(lb+nb<<2)|0;kb=f[eb>>2]|0;f[eb>>2]=f[ob>>2];f[ob>>2]=kb;lb=lb+1|0}while((lb|0)!=(r|0));lb=ab+1|0;if((db|0)<=1){fb=Ya;gb=lb;hb=1;ib=$a;break}else ab=lb}}else{fb=Ya;gb=0;hb=1;ib=$a}}else{fb=Ta;gb=0;hb=0;ib=$a}}else{fb=Ta;gb=0;hb=1;ib=Ra}while(0);Sa=+n[L>>2];ab=fb<-Sa;_a=Qa+(ab<<31>>31)|0;Ta=ab?0.0:fb;n[Ea+(Na-gb<<3)>>2]=Ta;Wa=Pa+Ta;Na=Na+1|0;if((Na|0)>=(_a|0)){Ia=Wa;Ja=_a;Ka=hb;La=ib;break}else{Oa=Oa+(r<<2)|0;Pa=Wa;Qa=_a;Ha=hb;Ra=ib}}}Ra=+K(+Ia)>1.1920928955078125e-07;Pa=Ra?1.0/Ia:0.0;if((Ja|0)>0){Ra=0;do{Ha=Ea+(Ra<<3)|0;n[Ha>>2]=Pa*+n[Ha>>2];Ra=Ra+1|0}while((Ra|0)!=(Ja|0))}c:do if(!Ka?(Pa=+n[w>>2],Pa>0.0):0){Ra=f[z>>2]|0;Ha=(Ja|0)==(Ra|0);Qa=Ja+((Ha^1)&1)|0;Oa=Ha?Ra+-1|0:Ja;Ra=Ea+(Oa<<3)|0;if((Qa|0)!=1){n[Ra>>2]=Pa;Ha=Qa+-1|0;if((Qa|0)>1){Na=0;do{Ma=Ea+(Na<<3)|0;n[Ma>>2]=y*+n[Ma>>2];Na=Na+1|0}while((Na|0)<(Ha|0))}}else n[Ra>>2]=1.0;Ha=X(Oa,r)|0;Na=0;do{f[wa+(Na+Ha<<2)>>2]=f[va+(Na<<2)>>2];Na=Na+1|0}while((Na|0)!=(r|0));f[Ea+(Oa<<3)+4>>2]=f[J>>2];if((Qa|0)>1){Na=Qa;while(1){Ha=Na;Na=Na+-1|0;Ra=Ha+-2|0;Ma=Ea+(Ra<<3)|0;if(+n[w>>2]<+n[Ma>>2]){pb=Qa;break c}Ga=Ea+(Na<<3)|0;_a=Ga;ab=f[_a>>2]|0;Ua=f[_a+4>>2]|0;_a=Ma;lb=f[_a+4>>2]|0;nb=Ga;f[nb>>2]=f[_a>>2];f[nb+4>>2]=lb;lb=Ma;f[lb>>2]=ab;f[lb+4>>2]=Ua;Ua=X(Na,r)|0;lb=X(Ra,r)|0;Ra=0;do{ab=wa+(Ra+Ua<<2)|0;Ma=wa+(Ra+lb<<2)|0;nb=f[ab>>2]|0;f[ab>>2]=f[Ma>>2];f[Ma>>2]=nb;Ra=Ra+1|0}while((Ra|0)!=(r|0));if((Ha|0)<=2){pb=Qa;break}}}else pb=Qa}else pb=Ja;while(0);b[Fa>>0]=pb;d:do if(!La)if((b[E>>0]|0)!=0?(Ya=+n[F>>2],Pa=+n[G>>2],Sa=+n[H>>2],(pb|0)>0):0){Na=0;Oa=wa;Wa=0.0;Ra=0;while(1){Ta=+n[Ea+(Ra<<3)>>2];Va=+n[Ea+(Ra<<3)+4>>2];lb=0;cb=0.0;Xa=0.0;do{bb=+n[Oa+(lb<<2)>>2];Xa=Xa+ +n[va+(lb<<2)>>2]*bb;cb=cb+bb*bb;lb=lb+1|0}while((lb|0)!=(r|0));if(cb==0.0){qb=255;break d}if(!(!(Xa<=cb)|!(Xa>=Sa*cb))){bb=Xa/cb;lb=0;rb=0.0;do{sb=bb*+n[Oa+(lb<<2)>>2]-+n[va+(lb<<2)>>2];rb=rb+sb*sb;lb=lb+1|0}while((lb|0)!=(r|0));lb=rbPa){qb=255;break d}Ra=Ra+1|0;if((Ra|0)>=(pb|0)){qb=255;break d}else{Na=ub;Oa=Oa+(r<<2)|0}}if(tb)qb=h[I>>0]|0;else qb=255}else qb=255;else qb=0;while(0);b[Ca+Da>>0]=qb;Da=Da+1|0;Fa=f[z>>2]|0;wa=wa+((X(Fa,r)|0)<<2)|0;if((Da|0)==(q|0))break;else{Ea=Ea+(Fa<<3)|0;va=va+(r<<2)|0}}}va=ra+1|0;Ea=f[i>>2]|0;if((va|0)>=(o|0)){vb=Ea;break a}ra=va;sa=f[c>>2]|0;ta=Ea}}else vb=x;while(0);if((vb|0)==(t|0)){u=d;return}if(vb|0)HQa(vb);f[i>>2]=t;f[v>>2]=264;u=d;return}function gwa(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0;e=EQa(192)|0;hwa(e,b,c,d);d=EQa(16)|0;b=d+4|0;f[b>>2]=1;f[d>>2]=100588;f[d+8>>2]=e;f[a>>2]=d;f[a+4>>2]=e;f[b>>2]=(f[b>>2]|0)+1;e=f[b>>2]|0;f[b>>2]=e+-1;if((e|0)!=1)return;qg[f[(f[d>>2]|0)+8>>2]&1023](d);return}function hwa(a,c,d,e){a=a|0;c=c|0;d=+d;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;g=e&1;LY(a);f[a>>2]=100324;e=a+4|0;h=a+8|0;f[a+16>>2]=1124007936;i=a+24|0;j=a+56|0;k=a+20|0;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[j>>2]=i;i=a+64|0;f[a+60>>2]=i;f[i>>2]=0;f[a+68>>2]=0;f[a+72>>2]=1124007936;i=a+80|0;j=a+112|0;k=a+76|0;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[j>>2]=i;i=a+120|0;f[a+116>>2]=i;f[i>>2]=0;f[a+124>>2]=0;i=a+184|0;f[i>>2]=0;f[a+188>>2]=0;f[e>>2]=0;f[h>>2]=0;f[a+12>>2]=0;f[a+128>>2]=0;f[a+132>>2]=(c|0)>0?c:500;p[a+144>>3]=d>0.0?d:16.0;b[a+176>>0]=g;f[a+136>>2]=5;n[a+152>>2]=.8999999761581421;n[a+160>>2]=15.0;n[a+168>>2]=75.0;n[a+164>>2]=4.0;n[a+156>>2]=9.0;n[a+172>>2]=.05000000074505806;b[a+177>>0]=127;n[a+180>>2]=.5;KV(i);k=JV(i,25)|0;i=340349;l=k+25|0;do{b[k>>0]=b[i>>0]|0;k=k+1|0;i=i+1|0}while((k|0)<(l|0));return}function iwa(a){a=a|0;GQa(a);return}function jwa(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function kwa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,M=0,P=0,Q=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0.0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0.0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,$e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,kf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0,Af=0,Bf=0,Cf=0,Df=0,Ef=0,Ff=0,Gf=0,Hf=0,If=0,Jf=0,Kf=0,Lf=0,Mf=0,Nf=0,Of=0,Pf=0,Qf=0,Rf=0,Sf=0,Tf=0,Uf=0,Vf=0,Wf=0,Xf=0,Yf=0,Zf=0,_f=0,$f=0,ag=0,bg=0,cg=0,dg=0,eg=0,fg=0,gg=0,hg=0,ig=0,jg=0,kg=0,lg=0,mg=0,ng=0,og=0,pg=0,qg=0,rg=0,sg=0,tg=0,ug=0,vg=0,wg=0,xg=0,yg=0,zg=0,Ag=0,Bg=0,Cg=0,Dg=0,Eg=0,Fg=0,Gg=0,Hg=0,Ig=0,Jg=0,Kg=0,Lg=0,Mg=0,Ng=0,Og=0,Pg=0,Qg=0,Rg=0,Sg=0,Tg=0,Ug=0,Vg=0,Wg=0,Xg=0,Yg=0,Zg=0,_g=0,$g=0,ah=0,bh=0,ch=0,dh=0,eh=0,fh=0,gh=0,hh=0,ih=0,jh=0,kh=0,lh=0,mh=0,nh=0,oh=0,ph=0,qh=0,rh=0,sh=0,uh=0,vh=0,wh=0,xh=0,yh=0,zh=0,Ah=0,Bh=0,Ch=0,Dh=0,Eh=0,Fh=0,Gh=0,Hh=0,Ih=0,Jh=0,Kh=0,Lh=0,Mh=0,Nh=0,Oh=0,Ph=0,Qh=0,Rh=0,Sh=0,Th=0,Uh=0,Vh=0,Wh=0,Xh=0,Yh=0,Zh=0,_h=0,$h=0,ai=0,bi=0,ci=0,di=0,ei=0,fi=0,gi=0,hi=0,ii=0,ji=0,ki=0,li=0,mi=0,ni=0,oi=0,pi=0,qi=0,ri=0,si=0,ti=0,ui=0,vi=0,wi=0,xi=0,yi=0,zi=0,Ai=0,Bi=0,Ci=0,Di=0,Ei=0,Fi=0,Gi=0,Hi=0,Ii=0,Ji=0,Ki=0,Li=0,Ni=0,Oi=0,Pi=0,Qi=0,Ri=0,Si=0,Ti=0,Ui=0,Vi=0,Wi=0,Xi=0,Yi=0,Zi=0,_i=0,$i=0,aj=0,bj=0,cj=0,dj=0,ej=0,fj=0,gj=0,hj=0,ij=0,jj=0,kj=0,lj=0,mj=0,nj=0,oj=0,pj=0,qj=0,rj=0,sj=0,tj=0,uj=0,vj=0,wj=0,xj=0,yj=0,zj=0,Aj=0,Bj=0,Cj=0,Dj=0,Ej=0,Fj=0,Gj=0,Hj=0,Ij=0,Jj=0,Kj=0,Lj=0,Mj=0,Nj=0,Oj=0,Pj=0,Qj=0,Rj=0,Sj=0,Tj=0,Uj=0,Vj=0,Wj=0,Xj=0,Yj=0,Zj=0,_j=0,$j=0,ak=0,bk=0,ck=0,dk=0,ek=0,fk=0,gk=0,hk=0,ik=0,jk=0,kk=0,lk=0,mk=0,nk=0,ok=0,pk=0,qk=0,rk=0,sk=0,tk=0,uk=0,vk=0,wk=0,xk=0,yk=0,zk=0,Ak=0,Bk=0,Ck=0,Dk=0,Ek=0,Fk=0,Gk=0,Hk=0,Ik=0,Jk=0,Kk=0,Lk=0,Mk=0,Nk=0,Ok=0,Pk=0,Qk=0,Rk=0,Sk=0,Tk=0,Uk=0,Vk=0,Wk=0,Xk=0,Yk=0,Zk=0,_k=0,$k=0,al=0,bl=0,cl=0,dl=0,el=0,fl=0,gl=0,hl=0,il=0,jl=0,kl=0,ll=0,ml=0,nl=0,ol=0,pl=0,ql=0,rl=0,sl=0,tl=0,ul=0,vl=0,wl=0,xl=0,yl=0,zl=0,Al=0,Bl=0,Cl=0,Dl=0,El=0,Fl=0.0,Gl=0,Hl=0.0,Il=0,Jl=0,Kl=0.0,Ll=0.0,Ml=0.0,Nl=0.0,Ol=0,Pl=0,Ql=0,Rl=0,Sl=0,Tl=0,Ul=0,Vl=0,Wl=0,Xl=0,Yl=0,Zl=0,_l=0.0,$l=0.0,am=0.0,bm=0.0,cm=0.0,dm=0,em=0,fm=0,gm=0,hm=0.0;i=u;u=u+5568|0;j=i+3264|0;k=i+3040|0;l=i+2816|0;m=i+2592|0;o=i+2144|0;q=i+1920|0;r=i+1472|0;t=i+1248|0;v=i+1024|0;w=i+800|0;x=i+576|0;y=i+352|0;z=i+5408|0;A=i+5352|0;B=i+128|0;C=i+5296|0;D=i+5240|0;E=i+5184|0;F=i+5128|0;G=i+5072|0;H=i+5016|0;I=i+4960|0;J=i+4904|0;M=i+4848|0;P=i+4792|0;Q=i+4736|0;S=i+4680|0;T=i+4624|0;U=i+4568|0;V=i+4512|0;W=i+4456|0;Y=i+4400|0;Z=i+4344|0;_=i+4288|0;$=i+5560|0;aa=i+4232|0;ba=i+5552|0;ca=i+5544|0;da=i+4176|0;ea=i+2368|0;fa=i+4120|0;ga=i+1696|0;ha=i+4064|0;ia=i+4008|0;ja=i+3992|0;ka=i+5536|0;la=i+5528|0;ma=i+3936|0;na=i+3880|0;oa=i+3824|0;pa=i+3768|0;qa=i+3712|0;ra=i+3656|0;sa=i+3600|0;ta=i+3544|0;ua=i+3488|0;va=i+5520|0;wa=i+5512|0;xa=i+5504|0;ya=i+5496|0;za=i+5488|0;Aa=i+5480|0;Ba=i+5472|0;Ca=i+5464|0;Da=i+96|0;Ea=i+64|0;Fa=i+32|0;Ga=i;do if((HJ(a)|0)==65536){Ha=f[a+4>>2]|0;f[H>>2]=f[Ha>>2];Ia=H+4|0;Ja=Ha+4|0;f[Ia>>2]=f[Ja>>2];Ka=H+8|0;f[Ka>>2]=f[Ha+8>>2];f[H+12>>2]=f[Ha+12>>2];f[H+16>>2]=f[Ha+16>>2];f[H+20>>2]=f[Ha+20>>2];f[H+24>>2]=f[Ha+24>>2];f[H+28>>2]=f[Ha+28>>2];f[H+32>>2]=f[Ha+32>>2];La=f[Ha+36>>2]|0;f[H+36>>2]=La;f[H+40>>2]=Ka;Ka=H+48|0;Ma=H+44|0;f[Ma>>2]=Ka;f[Ka>>2]=0;f[H+52>>2]=0;if(La|0){Ka=La+12|0;f[Ka>>2]=(f[Ka>>2]|0)+1}if((f[Ja>>2]|0)<3){Ja=f[Ha+44>>2]|0;Ka=f[Ma>>2]|0;f[Ka>>2]=f[Ja>>2];f[Ka+4>>2]=f[Ja+4>>2];break}else{f[Ia>>2]=0;WO(H,Ha);break}}else DJ(H,a,-1);while(0);do if((HJ(c)|0)==65536){a=f[c+4>>2]|0;f[I>>2]=f[a>>2];Ha=I+4|0;Ia=a+4|0;f[Ha>>2]=f[Ia>>2];Ja=I+8|0;f[Ja>>2]=f[a+8>>2];f[I+12>>2]=f[a+12>>2];f[I+16>>2]=f[a+16>>2];f[I+20>>2]=f[a+20>>2];f[I+24>>2]=f[a+24>>2];f[I+28>>2]=f[a+28>>2];f[I+32>>2]=f[a+32>>2];Ka=f[a+36>>2]|0;f[I+36>>2]=Ka;f[I+40>>2]=Ja;Ja=I+48|0;Ma=I+44|0;f[Ma>>2]=Ja;f[Ja>>2]=0;f[I+52>>2]=0;if(Ka|0){Ja=Ka+12|0;f[Ja>>2]=(f[Ja>>2]|0)+1}if((f[Ia>>2]|0)<3){Ia=f[a+44>>2]|0;Ja=f[Ma>>2]|0;f[Ja>>2]=f[Ia>>2];f[Ja+4>>2]=f[Ia+4>>2];break}else{f[Ha>>2]=0;WO(I,a);break}}else DJ(I,c,-1);while(0);do if((HJ(d)|0)==65536){c=f[d+4>>2]|0;f[J>>2]=f[c>>2];a=J+4|0;Ha=c+4|0;f[a>>2]=f[Ha>>2];Ia=J+8|0;f[Ia>>2]=f[c+8>>2];f[J+12>>2]=f[c+12>>2];f[J+16>>2]=f[c+16>>2];f[J+20>>2]=f[c+20>>2];f[J+24>>2]=f[c+24>>2];f[J+28>>2]=f[c+28>>2];f[J+32>>2]=f[c+32>>2];Ja=f[c+36>>2]|0;f[J+36>>2]=Ja;f[J+40>>2]=Ia;Ia=J+48|0;Ma=J+44|0;f[Ma>>2]=Ia;f[Ia>>2]=0;f[J+52>>2]=0;if(Ja|0){Ia=Ja+12|0;f[Ia>>2]=(f[Ia>>2]|0)+1}if((f[Ha>>2]|0)<3){Ha=f[c+44>>2]|0;Ia=f[Ma>>2]|0;f[Ia>>2]=f[Ha>>2];f[Ia+4>>2]=f[Ha+4>>2];break}else{f[a>>2]=0;WO(J,c);break}}else DJ(J,d,-1);while(0);c=H+16|0;if(f[c>>2]|0){a=f[H+4>>2]|0;if((a|0)<3)Na=X(f[H+12>>2]|0,f[H+8>>2]|0)|0;else{Ha=f[H+40>>2]|0;Ia=0;Ma=1;while(1){Ja=X(f[Ha+(Ia<<2)>>2]|0,Ma)|0;Ia=Ia+1|0;if((Ia|0)==(a|0)){Na=Ja;break}else Ma=Ja}}if((a|0)==0|(Na|0)==0)Oa=28}else Oa=28;if((Oa|0)==28){f[j>>2]=0;f[j+4>>2]=0;Pa=JV(j,12)|0;Qa=340375;Ra=Pa+12|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-215,j,340388,340405,325);KV(j)}Na=I+16|0;if(f[Na>>2]|0){a=f[I+4>>2]|0;if((a|0)<3)Sa=X(f[I+12>>2]|0,f[I+8>>2]|0)|0;else{Ma=f[I+40>>2]|0;Ia=0;Ha=1;while(1){Ja=X(f[Ma+(Ia<<2)>>2]|0,Ha)|0;Ia=Ia+1|0;if((Ia|0)==(a|0)){Sa=Ja;break}else Ha=Ja}}if((a|0)==0|(Sa|0)==0)Oa=35}else Oa=35;if((Oa|0)==35){f[j>>2]=0;f[j+4>>2]=0;Pa=JV(j,12)|0;Qa=340458;Ra=Pa+12|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-215,j,340388,340405,326);KV(j)}Sa=J+16|0;if(f[Sa>>2]|0){a=f[J+4>>2]|0;if((a|0)<3)Ta=X(f[J+12>>2]|0,f[J+8>>2]|0)|0;else{Ha=f[J+40>>2]|0;Ia=0;Ma=1;while(1){Ja=X(f[Ha+(Ia<<2)>>2]|0,Ma)|0;Ia=Ia+1|0;if((Ia|0)==(a|0)){Ta=Ja;break}else Ma=Ja}}if((a|0)==0|(Ta|0)==0)Oa=42}else Oa=42;if((Oa|0)==42){Ta=(e|0)==3?3:2;vK(d,Ta,3,5,-1,0,0);do if((HJ(d)|0)==65536){a=f[d+4>>2]|0;f[j>>2]=f[a>>2];Ma=j+4|0;Ia=a+4|0;f[Ma>>2]=f[Ia>>2];Ha=j+8|0;f[Ha>>2]=f[a+8>>2];f[j+12>>2]=f[a+12>>2];f[j+16>>2]=f[a+16>>2];f[j+20>>2]=f[a+20>>2];f[j+24>>2]=f[a+24>>2];f[j+28>>2]=f[a+28>>2];f[j+32>>2]=f[a+32>>2];Ja=j+36|0;Ka=f[a+36>>2]|0;f[Ja>>2]=Ka;f[j+40>>2]=Ha;Ha=j+48|0;La=j+44|0;f[La>>2]=Ha;f[Ha>>2]=0;f[j+52>>2]=0;if(Ka|0){Ha=Ka+12|0;f[Ha>>2]=(f[Ha>>2]|0)+1}if((f[Ia>>2]|0)<3){Ia=f[a+44>>2]|0;Ha=f[La>>2]|0;f[Ha>>2]=f[Ia>>2];f[Ha+4>>2]=f[Ia+4>>2];Ua=Ja;break}else{f[Ma>>2]=0;WO(j,a);Ua=Ja;break}}else{DJ(j,d,-1);Ua=j+36|0}while(0);d=f[Ua>>2]|0;if(d|0){Ja=d+12|0;f[Ja>>2]=(f[Ja>>2]|0)+1}Ja=J+36|0;d=f[Ja>>2]|0;if(d|0?(a=d+12|0,d=f[a>>2]|0,f[a>>2]=d+-1,(d|0)==1):0)XO(J);f[Ja>>2]=0;d=J+4|0;f[Sa>>2]=0;f[Sa+4>>2]=0;f[Sa+8>>2]=0;f[Sa+12>>2]=0;if((f[d>>2]|0)>0){a=f[J+40>>2]|0;Ma=0;do{f[a+(Ma<<2)>>2]=0;Ma=Ma+1|0;Va=f[d>>2]|0}while((Ma|0)<(Va|0));f[J>>2]=f[j>>2];if((Va|0)<3)Oa=59;else Oa=61}else{f[J>>2]=f[j>>2];Oa=59}if((Oa|0)==59){Va=f[j+4>>2]|0;if((Va|0)<3){f[d>>2]=Va;f[J+8>>2]=f[j+8>>2];f[J+12>>2]=f[j+12>>2];Va=f[j+44>>2]|0;d=f[J+44>>2]|0;f[d>>2]=f[Va>>2];f[d+4>>2]=f[Va+4>>2]}else Oa=61}if((Oa|0)==61)WO(J,j);Va=j+16|0;f[Sa>>2]=f[Va>>2];f[J+20>>2]=f[j+20>>2];f[J+24>>2]=f[j+24>>2];f[J+28>>2]=f[j+28>>2];f[J+32>>2]=f[j+32>>2];d=f[Ua>>2]|0;f[Ja>>2]=d;if(d|0?(Ja=d+12|0,d=f[Ja>>2]|0,f[Ja>>2]=d+-1,(d|0)==1):0)XO(j);f[Ua>>2]=0;Ua=j+4|0;f[Va>>2]=0;f[Va+4>>2]=0;f[Va+8>>2]=0;f[Va+12>>2]=0;if((f[Ua>>2]|0)>0){Va=f[j+40>>2]|0;d=0;do{f[Va+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[Ua>>2]|0))}Ua=f[j+44>>2]|0;if((Ua|0)!=(j+48|0))dX(Ua);YG(j,Ta,3,5);Ta=f[j>>2]|0;th[f[(f[Ta>>2]|0)+12>>2]&255](Ta,j,J,-1);Mi(j)}Ta=f[H>>2]|0;if(!((f[I>>2]^Ta)&4095))Wa=Ta;else{f[j>>2]=0;f[j+4>>2]=0;Pa=JV(j,46)|0;Qa=340471;Ra=Pa+46|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-205,j,340388,340405,340);KV(j);Wa=f[H>>2]|0}switch(Wa&4095){case 5:case 0:break;default:{f[j>>2]=0;f[j+4>>2]=0;Pa=JV(j,35)|0;Qa=340518;Ra=Pa+35|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-210,j,340388,340405,344);KV(j)}}if((f[J>>2]&4095|0)!=5){f[j>>2]=0;f[j+4>>2]=0;Pa=JV(j,55)|0;Qa=340554;Ra=Pa+55|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-210,j,340388,340405,347);KV(j)}if((f[J+12>>2]|0)!=3){f[j>>2]=0;f[j+4>>2]=0;Pa=JV(j,13)|0;Qa=340610;Ra=Pa+13|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-215,j,340388,340405,349);KV(j)}Wa=J+8|0;if((f[Wa>>2]&-2|0)!=2){f[j>>2]=0;f[j+4>>2]=0;Pa=JV(j,29)|0;Qa=340624;Ra=Pa+29|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-215,j,340388,340405,350);KV(j)}switch(e|0){case 3:{if((f[Wa>>2]|0)!=3)Oa=84;break}case 2:case 1:case 0:break;default:{f[j>>2]=0;f[j+4>>2]=0;DVa(JV(j,132)|0,340654,132)|0;EP(-215,j,340388,340405,353);KV(j);if(!((e|0)!=3|(f[Wa>>2]|0)==3))Oa=84}}if((Oa|0)==84){f[j>>2]=0;f[j+4>>2]=0;Pa=JV(j,12)|0;Qa=340787;Ra=Pa+12|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-215,j,340388,340405,356);KV(j)}Oa=f[g>>2]|0;if(!(Oa&3)){f[j>>2]=0;f[j+4>>2]=0;Pa=JV(j,72)|0;Qa=340800;Ra=Pa+72|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-215,j,340388,340405,359);KV(j)}if(!(Oa&1))Xa=200;else Xa=f[g+4>>2]|0;if(!(Oa&2))Ya=-1.0;else Ya=+p[g+8>>3];switch(e|0){case 0:{Za=2;break}case 1:{Za=3;break}case 3:{Za=8;break}default:Za=6}g=f[H+12>>2]|0;Oa=f[H+8>>2]|0;Ta=f[I+12>>2]|0;Ua=f[I+8>>2]|0;f[M>>2]=1124007936;d=M+4|0;Va=M+8|0;Ja=M+40|0;Pa=d;Ra=Pa+36|0;do{f[Pa>>2]=0;Pa=Pa+4|0}while((Pa|0)<(Ra|0));f[Ja>>2]=Va;Va=M+48|0;Ma=M+44|0;f[Ma>>2]=Va;f[Va>>2]=0;f[M+52>>2]=0;f[j>>2]=1;a=j+4|0;f[a>>2]=g;VO(M,2,j,5);f[P>>2]=1124007936;Ia=P+4|0;Ha=P+8|0;La=P+40|0;Pa=Ia;Ra=Pa+36|0;do{f[Pa>>2]=0;Pa=Pa+4|0}while((Pa|0)<(Ra|0));f[La>>2]=Ha;Ha=P+48|0;Ka=P+44|0;f[Ka>>2]=Ha;f[Ha>>2]=0;f[P+52>>2]=0;f[j>>2]=Oa;f[a>>2]=1;VO(P,2,j,5);f[Q>>2]=1124007936;_a=Q+4|0;$a=Q+8|0;ab=Q+40|0;Pa=_a;Ra=Pa+36|0;do{f[Pa>>2]=0;Pa=Pa+4|0}while((Pa|0)<(Ra|0));f[ab>>2]=$a;$a=Q+48|0;bb=Q+44|0;f[bb>>2]=$a;f[$a>>2]=0;f[Q+52>>2]=0;f[j>>2]=Oa;f[a>>2]=g;VO(Q,2,j,5);f[S>>2]=1124007936;cb=S+4|0;db=S+8|0;eb=S+40|0;Pa=cb;Ra=Pa+36|0;do{f[Pa>>2]=0;Pa=Pa+4|0}while((Pa|0)<(Ra|0));f[eb>>2]=db;db=S+48|0;fb=S+44|0;f[fb>>2]=db;f[db>>2]=0;f[S+52>>2]=0;f[j>>2]=Oa;f[a>>2]=g;VO(S,2,j,5);gb=M+16|0;hb=f[gb>>2]|0;ib=P+16|0;jb=f[ib>>2]|0;if((g|0)>0){kb=0;do{n[hb+(kb<<2)>>2]=+(kb|0);kb=kb+1|0}while((kb|0)!=(g|0))}if((Oa|0)>0){kb=0;do{n[jb+(kb<<2)>>2]=+(kb|0);kb=kb+1|0}while((kb|0)!=(Oa|0))}f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=M;kb=k+8|0;f[kb>>2]=0;f[kb+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=Q;kM(j,Oa,1,k);f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=P;kb=k+8|0;f[kb>>2]=0;f[kb+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=S;kM(j,1,g,k);kb=M+36|0;jb=f[kb>>2]|0;if(jb|0?(hb=jb+12|0,jb=f[hb>>2]|0,f[hb>>2]=jb+-1,(jb|0)==1):0)XO(M);f[kb>>2]=0;f[gb>>2]=0;f[gb+4>>2]=0;f[gb+8>>2]=0;f[gb+12>>2]=0;if((f[d>>2]|0)>0){jb=f[Ja>>2]|0;hb=0;do{f[jb+(hb<<2)>>2]=0;hb=hb+1|0}while((hb|0)<(f[d>>2]|0))}hb=P+36|0;jb=f[hb>>2]|0;if(jb|0?(lb=jb+12|0,jb=f[lb>>2]|0,f[lb>>2]=jb+-1,(jb|0)==1):0)XO(P);f[hb>>2]=0;f[ib>>2]=0;f[ib+4>>2]=0;f[ib+8>>2]=0;f[ib+12>>2]=0;if((f[Ia>>2]|0)>0){jb=f[La>>2]|0;lb=0;do{f[jb+(lb<<2)>>2]=0;lb=lb+1|0}while((lb|0)<(f[Ia>>2]|0))}f[T>>2]=1124007936;lb=T+4|0;jb=T+8|0;mb=T+40|0;Pa=lb;Ra=Pa+36|0;do{f[Pa>>2]=0;Pa=Pa+4|0}while((Pa|0)<(Ra|0));f[mb>>2]=jb;nb=T+48|0;ob=T+44|0;f[ob>>2]=nb;f[nb>>2]=0;f[T+52>>2]=0;f[j>>2]=Oa;f[a>>2]=g;VO(T,2,j,5);f[U>>2]=1124007936;pb=U+4|0;qb=U+8|0;rb=U+40|0;Pa=pb;Ra=Pa+36|0;do{f[Pa>>2]=0;Pa=Pa+4|0}while((Pa|0)<(Ra|0));f[rb>>2]=qb;qb=U+48|0;sb=U+44|0;f[sb>>2]=qb;f[qb>>2]=0;f[U+52>>2]=0;f[j>>2]=Oa;f[a>>2]=g;VO(U,2,j,5);f[V>>2]=1124007936;tb=V+4|0;ub=V+8|0;vb=V+40|0;Pa=tb;Ra=Pa+36|0;do{f[Pa>>2]=0;Pa=Pa+4|0}while((Pa|0)<(Ra|0));f[vb>>2]=ub;ub=V+48|0;wb=V+44|0;f[wb>>2]=ub;f[ub>>2]=0;f[V+52>>2]=0;f[j>>2]=Ua;f[a>>2]=Ta;VO(V,2,j,5);f[W>>2]=1124007936;xb=W+4|0;yb=W+8|0;zb=W+40|0;Pa=xb;Ra=Pa+36|0;do{f[Pa>>2]=0;Pa=Pa+4|0}while((Pa|0)<(Ra|0));f[zb>>2]=yb;yb=W+48|0;Ab=W+44|0;f[Ab>>2]=yb;f[yb>>2]=0;f[W+52>>2]=0;f[j>>2]=Oa;f[a>>2]=g;VO(W,2,j,5);f[Y>>2]=1124007936;Bb=Y+4|0;Cb=Y+8|0;Db=Y+40|0;Pa=Bb;Ra=Pa+36|0;do{f[Pa>>2]=0;Pa=Pa+4|0}while((Pa|0)<(Ra|0));f[Db>>2]=Cb;Cb=Y+48|0;Eb=Y+44|0;f[Eb>>2]=Cb;f[Cb>>2]=0;f[Y+52>>2]=0;f[j>>2]=Oa;f[a>>2]=g;VO(Y,2,j,0);do if((HJ(h)|0)==65536){Fb=f[h+4>>2]|0;f[Z>>2]=f[Fb>>2];Gb=Z+4|0;Hb=Fb+4|0;f[Gb>>2]=f[Hb>>2];Ib=Z+8|0;f[Ib>>2]=f[Fb+8>>2];f[Z+12>>2]=f[Fb+12>>2];f[Z+16>>2]=f[Fb+16>>2];f[Z+20>>2]=f[Fb+20>>2];f[Z+24>>2]=f[Fb+24>>2];f[Z+28>>2]=f[Fb+28>>2];f[Z+32>>2]=f[Fb+32>>2];Jb=f[Fb+36>>2]|0;f[Z+36>>2]=Jb;f[Z+40>>2]=Ib;Ib=Z+48|0;Kb=Z+44|0;f[Kb>>2]=Ib;f[Ib>>2]=0;f[Z+52>>2]=0;if(Jb|0){Ib=Jb+12|0;f[Ib>>2]=(f[Ib>>2]|0)+1}if((f[Hb>>2]|0)<3){Hb=f[Fb+44>>2]|0;Ib=f[Kb>>2]|0;f[Ib>>2]=f[Hb>>2];f[Ib+4>>2]=f[Hb+4>>2];break}else{f[Gb>>2]=0;WO(Z,Fb);break}}else DJ(Z,h,-1);while(0);f[_>>2]=1124007936;Fb=_+4|0;Gb=_+8|0;Hb=_+40|0;Pa=Fb;Ra=Pa+36|0;do{f[Pa>>2]=0;Pa=Pa+4|0}while((Pa|0)<(Ra|0));f[Hb>>2]=Gb;Gb=_+48|0;Ib=_+44|0;f[Ib>>2]=Gb;f[Gb>>2]=0;f[_+52>>2]=0;if(VJ(h)|0){WG(j,Ua,Ta,0);Kb=f[j>>2]|0;th[f[(f[Kb>>2]|0)+12>>2]&255](Kb,j,_,-1);Mi(j)}else{Kb=j+8|0;f[Kb>>2]=0;f[Kb+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=_;+T_(h,j,0.0,1.0,0)}h=j+8|0;f[h>>2]=0;f[h+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=U;AO(H,j,f[U>>2]&4095,1.0,0.0);f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=U;h=k+8|0;f[h>>2]=0;f[h+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=U;f[$>>2]=5;f[$+4>>2]=5;n1(j,k,$,0.0,0.0,4);f[aa>>2]=1124007936;$=aa+4|0;h=aa+8|0;Kb=aa+40|0;Pa=$;Ra=Pa+36|0;do{f[Pa>>2]=0;Pa=Pa+4|0}while((Pa|0)<(Ra|0));f[Kb>>2]=h;h=aa+48|0;Jb=aa+44|0;f[Jb>>2]=h;f[h>>2]=0;f[aa+52>>2]=0;Lb=j+8|0;f[Lb>>2]=0;f[Lb+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=aa;AO(_,j,5,1.0,0.0);f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=aa;Lb=k+8|0;f[Lb>>2]=0;f[Lb+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=aa;f[ba>>2]=5;f[ba+4>>2]=5;n1(j,k,ba,0.0,0.0,4);ba=j+8|0;f[ba>>2]=0;f[ba+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=aa;AO(aa,j,-1,.5263157894736842,0.0);ba=j+8|0;f[ba>>2]=0;f[ba+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=_;AO(aa,j,f[_>>2]&4095,1.0,0.0);ba=j+8|0;f[ba>>2]=0;f[ba+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=aa;AO(_,j,f[aa>>2]&4095,1.0,0.0);ba=j+8|0;f[ba>>2]=0;f[ba+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=V;AO(I,j,f[V>>2]&4095,1.0,0.0);f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=V;ba=k+8|0;f[ba>>2]=0;f[ba+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=V;f[ca>>2]=5;f[ca+4>>2]=5;n1(j,k,ca,0.0,0.0,4);TG(ea,Ua,Ta,5);f[da>>2]=1124007936;ca=da+4|0;ba=da+8|0;Lb=da+40|0;Pa=ca;Ra=Pa+36|0;do{f[Pa>>2]=0;Pa=Pa+4|0}while((Pa|0)<(Ra|0));f[Lb>>2]=ba;ba=da+48|0;Mb=da+44|0;f[Mb>>2]=ba;f[ba>>2]=0;f[da+52>>2]=0;Nb=f[ea>>2]|0;th[f[(f[Nb>>2]|0)+12>>2]&255](Nb,ea,da,-1);Mi(ea);TG(ga,Ua,Ta,5);f[fa>>2]=1124007936;Ta=fa+4|0;Ua=fa+8|0;ea=fa+40|0;Pa=Ta;Ra=Pa+36|0;do{f[Pa>>2]=0;Pa=Pa+4|0}while((Pa|0)<(Ra|0));f[ea>>2]=Ua;Ua=fa+48|0;Nb=fa+44|0;f[Nb>>2]=Ua;f[Ua>>2]=0;f[fa+52>>2]=0;Ob=f[ga>>2]|0;th[f[(f[Ob>>2]|0)+12>>2]&255](Ob,ga,fa,-1);Mi(ga);f[ha>>2]=1124007936;ga=ha+4|0;Ob=ha+8|0;Pb=ha+40|0;Pa=ga;Ra=Pa+36|0;do{f[Pa>>2]=0;Pa=Pa+4|0}while((Pa|0)<(Ra|0));f[Pb>>2]=Ob;Qb=ha+48|0;Rb=ha+44|0;f[Rb>>2]=Qb;f[Qb>>2]=0;f[ha+52>>2]=0;f[j>>2]=Oa;f[a>>2]=g;VO(ha,2,j,5);f[ia>>2]=1124007936;Sb=ia+4|0;Tb=ia+8|0;Ub=ia+40|0;Pa=Sb;Ra=Pa+36|0;do{f[Pa>>2]=0;Pa=Pa+4|0}while((Pa|0)<(Ra|0));f[Ub>>2]=Tb;Tb=ia+48|0;Vb=ia+44|0;f[Vb>>2]=Tb;f[Tb>>2]=0;f[ia+52>>2]=0;f[j>>2]=Oa;f[a>>2]=g;VO(ia,2,j,5);n[ja>>2]=-.5;Wb=ja+4|0;n[Wb>>2]=0.0;Xb=ja+8|0;n[Xb>>2]=.5;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=V;Yb=k+8|0;f[Yb>>2]=0;f[Yb+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=da;f[l>>2]=-1056833531;f[l+4>>2]=ja;f[l+8>>2]=3;f[l+12>>2]=1;f[ka>>2]=-1;f[ka+4>>2]=-1;hoa(j,k,-1,l,ka,0.0,4);f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=V;ka=k+8|0;f[ka>>2]=0;f[ka+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=fa;f[m>>2]=f[ja>>2];f[m+4>>2]=f[Wb>>2];f[m+8>>2]=f[Xb>>2];f[l>>2]=-1056833531;f[l+4>>2]=m;f[l+8>>2]=1;f[l+12>>2]=3;f[la>>2]=-1;f[la+4>>2]=-1;hoa(j,k,-1,l,la,0.0,4);f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=aa;SG(j,da,k,1.0);la=f[j>>2]|0;th[f[(f[la>>2]|0)+12>>2]&255](la,j,da,-1);Mi(j);f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=aa;SG(j,fa,k,1.0);la=f[j>>2]|0;th[f[(f[la>>2]|0)+12>>2]&255](la,j,fa,-1);Mi(j);la=X(g,Za)|0;f[ma>>2]=1124007936;Xb=ma+4|0;Wb=ma+8|0;ja=ma+40|0;Pa=Xb;Ra=Pa+36|0;do{f[Pa>>2]=0;Pa=Pa+4|0}while((Pa|0)<(Ra|0));f[ja>>2]=Wb;ka=ma+48|0;Yb=ma+44|0;f[Yb>>2]=ka;f[ka>>2]=0;f[ma+52>>2]=0;f[j>>2]=Oa;f[a>>2]=la;VO(ma,2,j,5);f[na>>2]=1124007936;la=na+4|0;Zb=na+8|0;_b=na+40|0;Pa=la;Ra=Pa+36|0;do{f[Pa>>2]=0;Pa=Pa+4|0}while((Pa|0)<(Ra|0));f[_b>>2]=Zb;Zb=na+48|0;$b=na+44|0;f[$b>>2]=Zb;f[Zb>>2]=0;f[na+52>>2]=0;f[j>>2]=Za;f[a>>2]=Za;VO(na,2,j,5);f[oa>>2]=1124007936;ac=oa+4|0;bc=oa+8|0;cc=oa+40|0;Pa=ac;Ra=Pa+36|0;do{f[Pa>>2]=0;Pa=Pa+4|0}while((Pa|0)<(Ra|0));f[cc>>2]=bc;bc=oa+48|0;dc=oa+44|0;f[dc>>2]=bc;f[bc>>2]=0;f[oa+52>>2]=0;f[j>>2]=Za;f[a>>2]=Za;VO(oa,2,j,5);f[pa>>2]=1124007936;ec=pa+4|0;fc=pa+8|0;gc=pa+40|0;Pa=ec;Ra=Pa+36|0;do{f[Pa>>2]=0;Pa=Pa+4|0}while((Pa|0)<(Ra|0));f[gc>>2]=fc;fc=pa+48|0;hc=pa+44|0;f[hc>>2]=fc;f[fc>>2]=0;f[pa+52>>2]=0;f[j>>2]=Za;f[a>>2]=1;VO(pa,2,j,5);f[qa>>2]=1124007936;ic=qa+4|0;jc=qa+8|0;kc=qa+40|0;Pa=ic;Ra=Pa+36|0;do{f[Pa>>2]=0;Pa=Pa+4|0}while((Pa|0)<(Ra|0));f[kc>>2]=jc;jc=qa+48|0;lc=qa+44|0;f[lc>>2]=jc;f[jc>>2]=0;f[qa+52>>2]=0;f[j>>2]=Za;f[a>>2]=1;VO(qa,2,j,5);f[ra>>2]=1124007936;mc=ra+4|0;nc=ra+8|0;oc=ra+40|0;Pa=mc;Ra=Pa+36|0;do{f[Pa>>2]=0;Pa=Pa+4|0}while((Pa|0)<(Ra|0));f[oc>>2]=nc;nc=ra+48|0;pc=ra+44|0;f[pc>>2]=nc;f[nc>>2]=0;f[ra+52>>2]=0;f[j>>2]=Za;f[a>>2]=1;VO(ra,2,j,5);f[sa>>2]=1124007936;qc=sa+4|0;rc=sa+8|0;sc=sa+40|0;Pa=qc;Ra=Pa+36|0;do{f[Pa>>2]=0;Pa=Pa+4|0}while((Pa|0)<(Ra|0));f[sc>>2]=rc;rc=sa+48|0;tc=sa+44|0;f[tc>>2]=rc;f[rc>>2]=0;f[sa+52>>2]=0;f[j>>2]=Za;f[a>>2]=1;VO(sa,2,j,5);f[ta>>2]=1124007936;uc=ta+4|0;vc=ta+8|0;wc=ta+40|0;Pa=uc;Ra=Pa+36|0;do{f[Pa>>2]=0;Pa=Pa+4|0}while((Pa|0)<(Ra|0));f[wc>>2]=vc;xc=ta+48|0;yc=ta+44|0;f[yc>>2]=xc;f[xc>>2]=0;f[ta+52>>2]=0;f[j>>2]=Za;f[a>>2]=1;VO(ta,2,j,5);f[ua>>2]=1124007936;Za=ua+4|0;zc=ua+8|0;Ac=ua+40|0;Pa=Za;Ra=Pa+36|0;do{f[Pa>>2]=0;Pa=Pa+4|0}while((Pa|0)<(Ra|0));f[Ac>>2]=zc;zc=ua+48|0;Bc=ua+44|0;f[Bc>>2]=zc;f[zc>>2]=0;f[ua+52>>2]=0;f[j>>2]=Oa;f[a>>2]=g;VO(ua,2,j,5);a:do if((Xa|0)<1)Cc=-1.0;else{g=(e|0)==3;a=j+8|0;Oa=j+12|0;Dc=j+4|0;Ec=k+8|0;Fc=k+4|0;Gc=l+8|0;Hc=l+12|0;Ic=l+4|0;Jc=za+4|0;Kc=j+8|0;Lc=j+12|0;Mc=j+4|0;Nc=k+8|0;Oc=k+4|0;Pc=l+8|0;Qc=l+12|0;Rc=l+4|0;Sc=Aa+4|0;Tc=j+8|0;Uc=j+12|0;Vc=j+4|0;Wc=k+8|0;Xc=k+4|0;Yc=l+8|0;Zc=l+12|0;_c=l+4|0;$c=Ba+4|0;ad=j+8|0;bd=j+12|0;cd=j+4|0;dd=k+8|0;ed=k+4|0;fd=l+8|0;gd=l+12|0;hd=l+4|0;id=Ca+4|0;jd=j+8|0;kd=j+12|0;ld=j+4|0;md=k+4|0;nd=k+8|0;od=k+12|0;pd=l+4|0;qd=l+8|0;rd=l+12|0;sd=m+8|0;td=m+12|0;ud=m+4|0;vd=j+8|0;wd=j+12|0;xd=j+4|0;yd=k+4|0;zd=k+8|0;Ad=k+12|0;Bd=l+4|0;Cd=l+8|0;Dd=l+12|0;Ed=m+8|0;Fd=m+12|0;Gd=m+4|0;Hd=j+8|0;Id=j+12|0;Jd=j+4|0;Kd=k+8|0;Ld=k+12|0;Md=k+4|0;Nd=l+8|0;Od=l+4|0;Pd=m+8|0;Qd=m+12|0;Rd=m+4|0;Sd=T+12|0;Td=j+8|0;Ud=j+12|0;Vd=j+4|0;Wd=k+8|0;Xd=k+12|0;Yd=k+4|0;Zd=l+8|0;_d=l+4|0;$d=m+8|0;ae=m+12|0;be=m+4|0;ce=j+8|0;de=j+12|0;ee=j+4|0;fe=j+8|0;ge=j+12|0;he=j+4|0;ie=j+8|0;je=j+12|0;ke=j+4|0;le=j+8|0;me=j+12|0;ne=j+4|0;oe=j+8|0;pe=j+12|0;qe=j+4|0;re=(e|0)==0;se=(e|0)==1;te=(e|0)==2;ue=e>>>0<4;ve=j+4|0;we=ta+12|0;xe=j+4|0;ye=j+4|0;ze=ta+16|0;Ae=j+4|0;Be=j+4|0;Ce=j+4|0;De=j+4|0;Ee=j+4|0;Fe=j+4|0;Ge=j+4|0;He=j+4|0;Ie=j+4|0;Je=ma+12|0;Ke=ha+12|0;Le=m+8|0;Me=m+12|0;Ne=m+4|0;Oe=j+4|0;Pe=k+4|0;Qe=o+36|0;Re=o+16|0;Se=o+4|0;Te=o+40|0;Ue=o+44|0;Ve=o+48|0;We=m+8|0;Xe=m+12|0;Ye=m+4|0;Ze=j+4|0;_e=k+4|0;$e=q+36|0;af=q+16|0;bf=q+4|0;cf=q+40|0;df=q+44|0;ef=q+48|0;ff=m+8|0;gf=m+12|0;hf=m+4|0;jf=j+4|0;kf=k+4|0;lf=r+36|0;mf=r+16|0;nf=r+4|0;of=r+40|0;pf=r+44|0;qf=r+48|0;rf=m+8|0;sf=m+12|0;tf=m+4|0;uf=j+4|0;vf=k+4|0;wf=t+36|0;xf=t+16|0;yf=t+4|0;zf=t+40|0;Af=t+44|0;Bf=t+48|0;Cf=j+4|0;Df=k+4|0;Ef=l+8|0;Ff=l+4|0;Gf=m+36|0;Hf=m+16|0;If=m+4|0;Jf=m+40|0;Kf=m+44|0;Lf=m+48|0;Mf=j+4|0;Nf=k+4|0;Of=l+8|0;Pf=l+4|0;Qf=m+36|0;Rf=m+16|0;Sf=m+4|0;Tf=m+40|0;Uf=m+44|0;Vf=m+48|0;Wf=j+4|0;Xf=j+4|0;Yf=j+4|0;Zf=j+4|0;_f=j+4|0;$f=j+4|0;ag=j+4|0;bg=q+8|0;cg=l+4|0;dg=l+8|0;eg=l+40|0;fg=l+48|0;gg=l+44|0;hg=l+52|0;ig=v+8|0;jg=o+4|0;kg=o+8|0;lg=o+40|0;mg=o+48|0;ng=o+44|0;og=o+52|0;pg=j+8|0;qg=j+12|0;rg=j+4|0;sg=k+8|0;tg=k+12|0;ug=k+4|0;vg=q+8|0;wg=q+4|0;xg=x+8|0;yg=q+4|0;zg=q+8|0;Ag=q+40|0;Bg=q+48|0;Cg=q+44|0;Dg=q+52|0;Eg=j+8|0;Fg=j+12|0;Gg=j+4|0;Hg=k+8|0;Ig=k+12|0;Jg=k+4|0;Kg=t+8|0;Lg=t+4|0;Mg=t+4|0;Ng=t+8|0;Og=t+40|0;Pg=t+48|0;Qg=t+44|0;Rg=t+52|0;Sg=v+4|0;Tg=v+8|0;Ug=v+40|0;Vg=v+48|0;Wg=v+44|0;Xg=v+52|0;Yg=j+8|0;Zg=j+12|0;_g=j+4|0;$g=k+8|0;ah=k+12|0;bh=k+4|0;ch=x+8|0;dh=x+4|0;eh=j+8|0;fh=j+12|0;gh=j+4|0;hh=k+8|0;ih=k+12|0;jh=k+4|0;kh=x+8|0;lh=x+4|0;mh=y+8|0;nh=y+12|0;oh=y+4|0;ph=j+4|0;qh=k+4|0;rh=z+36|0;sh=z+16|0;uh=z+4|0;vh=z+40|0;wh=z+44|0;xh=z+48|0;yh=y+8|0;zh=y+12|0;Ah=y+4|0;Bh=j+4|0;Ch=k+4|0;Dh=A+36|0;Eh=A+16|0;Fh=A+4|0;Gh=A+40|0;Hh=A+44|0;Ih=A+48|0;Jh=k+8|0;Kh=k+12|0;Lh=k+4|0;Mh=C+8|0;Nh=C+12|0;Oh=C+4|0;Ph=x+4|0;Qh=x+8|0;Rh=x+40|0;Sh=x+48|0;Th=x+44|0;Uh=x+52|0;Vh=C+8|0;Wh=C+12|0;Xh=C+4|0;Yh=j+4|0;Zh=k+4|0;_h=D+36|0;$h=D+16|0;ai=D+4|0;bi=D+40|0;ci=D+44|0;di=D+48|0;ei=o+36|0;fi=o+16|0;gi=q+36|0;hi=q+16|0;ii=C+8|0;ji=C+12|0;ki=C+4|0;li=j+4|0;mi=k+4|0;ni=E+36|0;oi=E+16|0;pi=E+4|0;qi=E+40|0;ri=E+44|0;si=E+48|0;ti=C+8|0;ui=C+12|0;vi=C+4|0;wi=j+4|0;xi=k+4|0;yi=F+36|0;zi=F+16|0;Ai=F+4|0;Bi=F+40|0;Ci=F+44|0;Di=F+48|0;Ei=C+8|0;Fi=C+12|0;Gi=C+4|0;Hi=j+4|0;Ii=k+4|0;Ji=G+36|0;Ki=G+16|0;Li=G+4|0;Ni=G+40|0;Oi=G+44|0;Pi=G+48|0;Qi=j+4|0;Ri=k+4|0;Si=y+8|0;Ti=y+4|0;Ui=C+36|0;Vi=C+16|0;Wi=C+4|0;Xi=C+40|0;Yi=C+44|0;Zi=C+48|0;_i=j+4|0;$i=k+4|0;aj=y+8|0;bj=y+4|0;cj=C+36|0;dj=C+16|0;ej=C+4|0;fj=C+40|0;gj=C+44|0;hj=C+48|0;ij=x+36|0;jj=x+16|0;kj=v+36|0;lj=v+16|0;mj=t+36|0;nj=t+16|0;oj=l+36|0;pj=l+16|0;qj=j+4|0;rj=j+4|0;sj=j+4|0;tj=j+4|0;uj=j+4|0;vj=j+4|0;wj=j+4|0;xj=k+4|0;yj=l+8|0;zj=l+4|0;Aj=m+36|0;Bj=m+16|0;Cj=m+4|0;Dj=m+40|0;Ej=m+44|0;Fj=m+48|0;Gj=j+4|0;Hj=k+4|0;Ij=l+8|0;Jj=l+4|0;Kj=m+36|0;Lj=m+16|0;Mj=m+4|0;Nj=m+40|0;Oj=m+44|0;Pj=m+48|0;Qj=j+4|0;Rj=j+4|0;Sj=j+4|0;Tj=j+4|0;Uj=j+4|0;Vj=l+4|0;Wj=l+8|0;Xj=l+40|0;Yj=l+48|0;Zj=l+44|0;_j=l+52|0;$j=o+4|0;ak=o+8|0;bk=o+40|0;ck=o+48|0;dk=o+44|0;ek=o+52|0;fk=v+8|0;gk=v+12|0;hk=v+4|0;ik=x+8|0;jk=x+12|0;kk=x+4|0;lk=j+4|0;mk=k+4|0;nk=y+36|0;ok=y+16|0;pk=y+4|0;qk=y+40|0;rk=y+44|0;sk=y+48|0;tk=j+4|0;uk=k+4|0;vk=r+8|0;wk=r+4|0;xk=t+36|0;yk=t+16|0;zk=t+4|0;Ak=t+40|0;Bk=t+44|0;Ck=t+48|0;Dk=j+4|0;Ek=k+4|0;Fk=r+8|0;Gk=r+4|0;Hk=t+36|0;Ik=t+16|0;Jk=t+4|0;Kk=t+40|0;Lk=t+44|0;Mk=t+48|0;Nk=o+36|0;Ok=o+16|0;Pk=l+36|0;Qk=l+16|0;Rk=j+4|0;Sk=j+4|0;Tk=j+4|0;Uk=j+4|0;Vk=j+4|0;Wk=j+4|0;Xk=j+8|0;Yk=j+12|0;Zk=j+4|0;_k=k+8|0;$k=k+4|0;al=l+8|0;bl=l+12|0;cl=l+4|0;dl=va+4|0;el=j+8|0;fl=j+12|0;gl=j+4|0;hl=k+8|0;il=k+4|0;jl=l+8|0;kl=l+12|0;ll=l+4|0;ml=wa+4|0;nl=j+8|0;ol=j+12|0;pl=j+4|0;ql=k+8|0;rl=k+4|0;sl=l+8|0;tl=l+12|0;ul=l+4|0;vl=xa+4|0;wl=j+8|0;xl=j+12|0;yl=j+4|0;zl=k+8|0;Al=k+4|0;Bl=l+8|0;Cl=l+12|0;Dl=l+4|0;El=ya+4|0;Fl=-1.0;Gl=1;Hl=-Ya;while(1){if(!(+K(+(Fl-Hl))>=Ya)){Cc=Fl;break a}if(g){f[a>>2]=0;f[Oa>>2]=0;f[j>>2]=16842752;f[Dc>>2]=V;Il=Ec;f[Il>>2]=0;f[Il+4>>2]=0;f[k>>2]=33619968;f[Fc>>2]=W;f[Gc>>2]=0;f[Hc>>2]=0;f[l>>2]=16842752;f[Ic>>2]=J;Il=f[zb>>2]|0;Jl=f[Il>>2]|0;f[za>>2]=f[Il+4>>2];f[Jc>>2]=Jl;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;f[m+24>>2]=0;f[m+28>>2]=0;Qga(j,k,l,za,17,0,m);f[Kc>>2]=0;f[Lc>>2]=0;f[j>>2]=16842752;f[Mc>>2]=da;Jl=Nc;f[Jl>>2]=0;f[Jl+4>>2]=0;f[k>>2]=33619968;f[Oc>>2]=ha;f[Pc>>2]=0;f[Qc>>2]=0;f[l>>2]=16842752;f[Rc>>2]=J;Jl=f[Pb>>2]|0;Il=f[Jl>>2]|0;f[Aa>>2]=f[Jl+4>>2];f[Sc>>2]=Il;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;f[m+24>>2]=0;f[m+28>>2]=0;Qga(j,k,l,Aa,17,0,m);f[Tc>>2]=0;f[Uc>>2]=0;f[j>>2]=16842752;f[Vc>>2]=fa;Il=Wc;f[Il>>2]=0;f[Il+4>>2]=0;f[k>>2]=33619968;f[Xc>>2]=ia;f[Yc>>2]=0;f[Zc>>2]=0;f[l>>2]=16842752;f[_c>>2]=J;Il=f[Ub>>2]|0;Jl=f[Il>>2]|0;f[Ba>>2]=f[Il+4>>2];f[$c>>2]=Jl;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;f[m+24>>2]=0;f[m+28>>2]=0;Qga(j,k,l,Ba,17,0,m);f[ad>>2]=0;f[bd>>2]=0;f[j>>2]=16842752;f[cd>>2]=_;Jl=dd;f[Jl>>2]=0;f[Jl+4>>2]=0;f[k>>2]=33619968;f[ed>>2]=Y;f[fd>>2]=0;f[gd>>2]=0;f[l>>2]=16842752;f[hd>>2]=J;Jl=f[Db>>2]|0;Il=f[Jl>>2]|0;f[Ca>>2]=f[Jl+4>>2];f[id>>2]=Il;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;f[m+24>>2]=0;f[m+28>>2]=0;Qga(j,k,l,Ca,16,0,m)}else{f[Xk>>2]=0;f[Yk>>2]=0;f[j>>2]=16842752;f[Zk>>2]=V;Il=_k;f[Il>>2]=0;f[Il+4>>2]=0;f[k>>2]=33619968;f[$k>>2]=W;f[al>>2]=0;f[bl>>2]=0;f[l>>2]=16842752;f[cl>>2]=J;Il=f[zb>>2]|0;Jl=f[Il>>2]|0;f[va>>2]=f[Il+4>>2];f[dl>>2]=Jl;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;f[m+24>>2]=0;f[m+28>>2]=0;Kga(j,k,l,va,17,0,m);f[el>>2]=0;f[fl>>2]=0;f[j>>2]=16842752;f[gl>>2]=da;Jl=hl;f[Jl>>2]=0;f[Jl+4>>2]=0;f[k>>2]=33619968;f[il>>2]=ha;f[jl>>2]=0;f[kl>>2]=0;f[l>>2]=16842752;f[ll>>2]=J;Jl=f[Pb>>2]|0;Il=f[Jl>>2]|0;f[wa>>2]=f[Jl+4>>2];f[ml>>2]=Il;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;f[m+24>>2]=0;f[m+28>>2]=0;Kga(j,k,l,wa,17,0,m);f[nl>>2]=0;f[ol>>2]=0;f[j>>2]=16842752;f[pl>>2]=fa;Il=ql;f[Il>>2]=0;f[Il+4>>2]=0;f[k>>2]=33619968;f[rl>>2]=ia;f[sl>>2]=0;f[tl>>2]=0;f[l>>2]=16842752;f[ul>>2]=J;Il=f[Ub>>2]|0;Jl=f[Il>>2]|0;f[xa>>2]=f[Il+4>>2];f[vl>>2]=Jl;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;f[m+24>>2]=0;f[m+28>>2]=0;Kga(j,k,l,xa,17,0,m);f[wl>>2]=0;f[xl>>2]=0;f[j>>2]=16842752;f[yl>>2]=_;Jl=zl;f[Jl>>2]=0;f[Jl+4>>2]=0;f[k>>2]=33619968;f[Al>>2]=Y;f[Bl>>2]=0;f[Cl>>2]=0;f[l>>2]=16842752;f[Dl>>2]=J;Jl=f[Db>>2]|0;Il=f[Jl>>2]|0;f[ya>>2]=f[Jl+4>>2];f[El>>2]=Il;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;f[m+24>>2]=0;f[m+28>>2]=0;Kga(j,k,l,ya,16,0,m)};f[Da>>2]=0;f[Da+4>>2]=0;f[Da+8>>2]=0;f[Da+12>>2]=0;f[Da+16>>2]=0;f[Da+20>>2]=0;f[Da+24>>2]=0;f[Da+28>>2]=0;f[Ea>>2]=0;f[Ea+4>>2]=0;f[Ea+8>>2]=0;f[Ea+12>>2]=0;f[Ea+16>>2]=0;f[Ea+20>>2]=0;f[Ea+24>>2]=0;f[Ea+28>>2]=0;f[Fa>>2]=0;f[Fa+4>>2]=0;f[Fa+8>>2]=0;f[Fa+12>>2]=0;f[Fa+16>>2]=0;f[Fa+20>>2]=0;f[Fa+24>>2]=0;f[Fa+28>>2]=0;f[Ga>>2]=0;f[Ga+4>>2]=0;f[Ga+8>>2]=0;f[Ga+12>>2]=0;f[Ga+16>>2]=0;f[Ga+20>>2]=0;f[Ga+24>>2]=0;f[Ga+28>>2]=0;f[jd>>2]=0;f[kd>>2]=0;f[j>>2]=16842752;f[ld>>2]=W;f[k>>2]=-1040056314;f[md>>2]=Da;f[nd>>2]=1;f[od>>2]=4;f[l>>2]=-1040056314;f[pd>>2]=Ea;f[qd>>2]=1;f[rd>>2]=4;f[sd>>2]=0;f[td>>2]=0;f[m>>2]=16842752;f[ud>>2]=Y;OE(j,k,l,m);f[vd>>2]=0;f[wd>>2]=0;f[j>>2]=16842752;f[xd>>2]=U;f[k>>2]=-1040056314;f[yd>>2]=Fa;f[zd>>2]=1;f[Ad>>2]=4;f[l>>2]=-1040056314;f[Bd>>2]=Ga;f[Cd>>2]=1;f[Dd>>2]=4;f[Ed>>2]=0;f[Fd>>2]=0;f[m>>2]=16842752;f[Gd>>2]=Y;OE(j,k,l,m);f[Hd>>2]=0;f[Id>>2]=0;f[j>>2]=16842752;f[Jd>>2]=W;f[k>>2]=-1056833530;f[Md>>2]=Da;f[Kd>>2]=1;f[Ld>>2]=4;Il=Nd;f[Il>>2]=0;f[Il+4>>2]=0;f[l>>2]=33619968;f[Od>>2]=W;f[Pd>>2]=0;f[Qd>>2]=0;f[m>>2]=16842752;f[Rd>>2]=Y;aI(j,k,l,m,-1);TG(j,f[jb>>2]|0,f[Sd>>2]|0,f[T>>2]&4095);Il=f[j>>2]|0;th[f[(f[Il>>2]|0)+12>>2]&255](Il,j,T,-1);Mi(j);f[Td>>2]=0;f[Ud>>2]=0;f[j>>2]=16842752;f[Vd>>2]=U;f[k>>2]=-1056833530;f[Yd>>2]=Fa;f[Wd>>2]=1;f[Xd>>2]=4;Il=Zd;f[Il>>2]=0;f[Il+4>>2]=0;f[l>>2]=33619968;f[_d>>2]=T;f[$d>>2]=0;f[ae>>2]=0;f[m>>2]=16842752;f[be>>2]=Y;aI(j,k,l,m,-1);f[ce>>2]=0;f[de>>2]=0;f[j>>2]=16842752;f[ee>>2]=Y;Kl=+(WE(j)|0);Ll=+p[Ga>>3];Ml=+L(+(Ll*(Ll*Kl)));f[fe>>2]=0;f[ge>>2]=0;f[j>>2]=16842752;f[he>>2]=Y;Kl=+(WE(j)|0);Ll=+p[Ea>>3];Nl=+L(+(Ll*(Ll*Kl)));switch(e|0){case 2:{Il=f[Pb>>2]|0;Jl=f[Il+4>>2]|0;Ol=f[Il>>2]|0;Il=f[Ub>>2]|0;if((Ol|0)==(f[Il>>2]|0)?(Jl|0)==(f[Il+4>>2]|0):0){Pl=Jl;Ql=Ol}else{f[j>>2]=0;f[$f>>2]=0;Pa=JV(j,26)|0;Qa=340873;Ra=Pa+26|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-215,j,340900,340405,167);KV(j);Ol=f[Pb>>2]|0;Pl=f[Ol+4>>2]|0;Ql=f[Ol>>2]|0}Ol=f[ab>>2]|0;if((Ql|0)==(f[Ol>>2]|0)?(Pl|0)==(f[Ol+4>>2]|0):0){Rl=Pl;Sl=Ql}else{f[j>>2]=0;f[_f>>2]=0;Pa=JV(j,26)|0;Qa=340926;Ra=Pa+26|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-215,j,340900,340405,168);KV(j);Ol=f[Pb>>2]|0;Rl=f[Ol+4>>2]|0;Sl=f[Ol>>2]|0}Ol=f[eb>>2]|0;if(!((Sl|0)==(f[Ol>>2]|0)?(Rl|0)==(f[Ol+4>>2]|0):0)){f[j>>2]=0;f[Zf>>2]=0;Pa=JV(j,26)|0;Qa=340953;Ra=Pa+26|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-215,j,340900,340405,169);KV(j)}if((f[Ob>>2]|0)!=(f[Wb>>2]|0)){f[j>>2]=0;f[Yf>>2]=0;Pa=JV(j,21)|0;Qa=340980;Ra=Pa+21|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-215,j,340900,340405,171);KV(j)}if((f[Je>>2]|0)!=((f[Ke>>2]|0)*6|0)){f[j>>2]=0;f[Xf>>2]=0;Pa=JV(j,25)|0;Qa=341002;Ra=Pa+25|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-215,j,340900,340405,172);KV(j)}if((f[ma>>2]&4095|0)!=5){f[j>>2]=0;f[Wf>>2]=0;Pa=JV(j,55)|0;Qa=341028;Ra=Pa+55|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-215,j,340900,340405,174);KV(j)}Ol=f[Ke>>2]|0;f[Le>>2]=0;f[Me>>2]=0;f[m>>2]=16842752;f[Ne>>2]=Q;SG(l,ha,m,1.0);f[j>>2]=-2147483648;f[Oe>>2]=2147483647;f[k>>2]=0;f[Pe>>2]=Ol;YO(o,ma,j,k);Jl=f[l>>2]|0;th[f[(f[Jl>>2]|0)+12>>2]&255](Jl,l,o,-1);Jl=f[Qe>>2]|0;do if(Jl|0){Il=Jl+12|0;Tl=f[Il>>2]|0;f[Il>>2]=Tl+-1;if((Tl|0)!=1)break;XO(o)}while(0);f[Qe>>2]=0;f[Re>>2]=0;f[Re+4>>2]=0;f[Re+8>>2]=0;f[Re+12>>2]=0;if((f[Se>>2]|0)>0){Jl=f[Te>>2]|0;Tl=0;do{f[Jl+(Tl<<2)>>2]=0;Tl=Tl+1|0}while((Tl|0)<(f[Se>>2]|0))}Tl=f[Ue>>2]|0;if((Tl|0)!=(Ve|0))dX(Tl);Mi(l);f[We>>2]=0;f[Xe>>2]=0;f[m>>2]=16842752;f[Ye>>2]=Q;SG(l,ia,m,1.0);Tl=Ol<<1;f[j>>2]=-2147483648;f[Ze>>2]=2147483647;f[k>>2]=Ol;f[_e>>2]=Tl;YO(q,ma,j,k);Jl=f[l>>2]|0;th[f[(f[Jl>>2]|0)+12>>2]&255](Jl,l,q,-1);Jl=f[$e>>2]|0;do if(Jl|0){Il=Jl+12|0;Ul=f[Il>>2]|0;f[Il>>2]=Ul+-1;if((Ul|0)!=1)break;XO(q)}while(0);f[$e>>2]=0;f[af>>2]=0;f[af+4>>2]=0;f[af+8>>2]=0;f[af+12>>2]=0;if((f[bf>>2]|0)>0){Jl=f[cf>>2]|0;Ul=0;do{f[Jl+(Ul<<2)>>2]=0;Ul=Ul+1|0}while((Ul|0)<(f[bf>>2]|0))}Ul=f[df>>2]|0;if((Ul|0)!=(ef|0))dX(Ul);Mi(l);f[ff>>2]=0;f[gf>>2]=0;f[m>>2]=16842752;f[hf>>2]=S;SG(l,ha,m,1.0);Ul=Ol*3|0;f[j>>2]=-2147483648;f[jf>>2]=2147483647;f[k>>2]=Tl;f[kf>>2]=Ul;YO(r,ma,j,k);Jl=f[l>>2]|0;th[f[(f[Jl>>2]|0)+12>>2]&255](Jl,l,r,-1);Jl=f[lf>>2]|0;do if(Jl|0){Il=Jl+12|0;Vl=f[Il>>2]|0;f[Il>>2]=Vl+-1;if((Vl|0)!=1)break;XO(r)}while(0);f[lf>>2]=0;f[mf>>2]=0;f[mf+4>>2]=0;f[mf+8>>2]=0;f[mf+12>>2]=0;if((f[nf>>2]|0)>0){Jl=f[of>>2]|0;Tl=0;do{f[Jl+(Tl<<2)>>2]=0;Tl=Tl+1|0}while((Tl|0)<(f[nf>>2]|0))}Tl=f[pf>>2]|0;if((Tl|0)!=(qf|0))dX(Tl);Mi(l);f[rf>>2]=0;f[sf>>2]=0;f[m>>2]=16842752;f[tf>>2]=S;SG(l,ia,m,1.0);Tl=Ol<<2;f[j>>2]=-2147483648;f[uf>>2]=2147483647;f[k>>2]=Ul;f[vf>>2]=Tl;YO(t,ma,j,k);Jl=f[l>>2]|0;th[f[(f[Jl>>2]|0)+12>>2]&255](Jl,l,t,-1);Jl=f[wf>>2]|0;do if(Jl|0){Vl=Jl+12|0;Il=f[Vl>>2]|0;f[Vl>>2]=Il+-1;if((Il|0)!=1)break;XO(t)}while(0);f[wf>>2]=0;f[xf>>2]=0;f[xf+4>>2]=0;f[xf+8>>2]=0;f[xf+12>>2]=0;if((f[yf>>2]|0)>0){Jl=f[zf>>2]|0;Ul=0;do{f[Jl+(Ul<<2)>>2]=0;Ul=Ul+1|0}while((Ul|0)<(f[yf>>2]|0))}Ul=f[Af>>2]|0;if((Ul|0)!=(Bf|0))dX(Ul);Mi(l);Ul=Ol*5|0;f[j>>2]=-2147483648;f[Cf>>2]=2147483647;f[k>>2]=Tl;f[Df>>2]=Ul;YO(m,ma,j,k);Jl=Ef;f[Jl>>2]=0;f[Jl+4>>2]=0;f[l>>2]=-1040121856;f[Ff>>2]=m;eM(ha,l);Jl=f[Gf>>2]|0;do if(Jl|0){Il=Jl+12|0;Vl=f[Il>>2]|0;f[Il>>2]=Vl+-1;if((Vl|0)!=1)break;XO(m)}while(0);f[Gf>>2]=0;f[Hf>>2]=0;f[Hf+4>>2]=0;f[Hf+8>>2]=0;f[Hf+12>>2]=0;if((f[If>>2]|0)>0){Jl=f[Jf>>2]|0;Tl=0;do{f[Jl+(Tl<<2)>>2]=0;Tl=Tl+1|0}while((Tl|0)<(f[If>>2]|0))}Tl=f[Kf>>2]|0;if((Tl|0)!=(Lf|0))dX(Tl);f[j>>2]=-2147483648;f[Mf>>2]=2147483647;f[k>>2]=Ul;f[Nf>>2]=Ol*6;YO(m,ma,j,k);Tl=Of;f[Tl>>2]=0;f[Tl+4>>2]=0;f[l>>2]=-1040121856;f[Pf>>2]=m;eM(ia,l);Tl=f[Qf>>2]|0;do if(Tl|0){Jl=Tl+12|0;Vl=f[Jl>>2]|0;f[Jl>>2]=Vl+-1;if((Vl|0)!=1)break;XO(m)}while(0);f[Qf>>2]=0;f[Rf>>2]=0;f[Rf+4>>2]=0;f[Rf+8>>2]=0;f[Rf+12>>2]=0;if((f[Sf>>2]|0)>0){Tl=f[Tf>>2]|0;Ol=0;do{f[Tl+(Ol<<2)>>2]=0;Ol=Ol+1|0}while((Ol|0)<(f[Sf>>2]|0))}Ol=f[Uf>>2]|0;if((Ol|0)!=(Vf|0))dX(Ol);break}case 3:{Ol=f[Pb>>2]|0;Tl=f[Ol+4>>2]|0;Ul=f[Ol>>2]|0;Ol=f[Ub>>2]|0;if((Ul|0)==(f[Ol>>2]|0)?(Tl|0)==(f[Ol+4>>2]|0):0){Wl=Tl;Xl=Ul}else{f[j>>2]=0;f[vj>>2]=0;Pa=JV(j,26)|0;Qa=340873;Ra=Pa+26|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-215,j,341084,340405,57);KV(j);Ul=f[Pb>>2]|0;Wl=f[Ul+4>>2]|0;Xl=f[Ul>>2]|0}Ul=f[ab>>2]|0;if((Xl|0)==(f[Ul>>2]|0)?(Wl|0)==(f[Ul+4>>2]|0):0){Yl=Wl;Zl=Xl}else{f[j>>2]=0;f[uj>>2]=0;Pa=JV(j,26)|0;Qa=340926;Ra=Pa+26|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-215,j,341084,340405,58);KV(j);Ul=f[Pb>>2]|0;Yl=f[Ul+4>>2]|0;Zl=f[Ul>>2]|0}Ul=f[eb>>2]|0;if(!((Zl|0)==(f[Ul>>2]|0)?(Yl|0)==(f[Ul+4>>2]|0):0)){f[j>>2]=0;f[tj>>2]=0;Pa=JV(j,26)|0;Qa=340953;Ra=Pa+26|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-215,j,341084,340405,59);KV(j)}if((f[Ob>>2]|0)!=(f[Wb>>2]|0)){f[j>>2]=0;f[sj>>2]=0;Pa=JV(j,21)|0;Qa=340980;Ra=Pa+21|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-215,j,341084,340405,61);KV(j)}if((f[Je>>2]|0)!=(f[Ke>>2]<<3|0)){f[j>>2]=0;f[rj>>2]=0;Pa=JV(j,25)|0;Qa=341108;Ra=Pa+25|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-215,j,341084,340405,62);KV(j)}if((f[ma>>2]&4095|0)!=5){f[j>>2]=0;f[qj>>2]=0;Pa=JV(j,55)|0;Qa=341028;Ra=Pa+55|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-215,j,341084,340405,63);KV(j)}if(!(f[J>>2]&16384)){f[j>>2]=0;f[ag>>2]=0;Pa=JV(j,19)|0;Qa=341134;Ra=Pa+19|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-215,j,341084,340405,65);KV(j)}Ul=f[Sa>>2]|0;Kl=+n[Ul>>2];Ll=+n[Ul+12>>2];_l=+n[Ul+4>>2];$l=+n[Ul+16>>2];am=+n[Ul+28>>2];bm=+n[Ul+8>>2];cm=+n[Ul+20>>2];Tl=f[Ke>>2]|0;HG(k,Q,+n[Ul+24>>2]);HG(o,S,am);zG(j,k,o);p[q>>3]=1.0;f[bg>>2]=0;f[bg+4>>2]=0;f[bg+8>>2]=0;f[bg+12>>2]=0;f[bg+16>>2]=0;f[bg+20>>2]=0;yG(m,j,q);f[l>>2]=1124007936;Pa=cg;Ra=Pa+36|0;do{f[Pa>>2]=0;Pa=Pa+4|0}while((Pa|0)<(Ra|0));f[eg>>2]=dg;f[gg>>2]=fg;f[fg>>2]=0;f[hg>>2]=0;Ul=f[m>>2]|0;th[f[(f[Ul>>2]|0)+12>>2]&255](Ul,m,l,-1);Mi(m);Mi(j);Mi(o);Mi(k);EG(q,Q);JG(k,q,Kl);HG(t,S,_l);DG(j,k,t);p[v>>3]=bm;f[ig>>2]=0;f[ig+4>>2]=0;f[ig+8>>2]=0;f[ig+12>>2]=0;f[ig+16>>2]=0;f[ig+20>>2]=0;CG(r,j,v);f[o>>2]=1124007936;Pa=jg;Ra=Pa+36|0;do{f[Pa>>2]=0;Pa=Pa+4|0}while((Pa|0)<(Ra|0));f[lg>>2]=kg;f[ng>>2]=mg;f[mg>>2]=0;f[og>>2]=0;Ul=f[r>>2]|0;th[f[(f[Ul>>2]|0)+12>>2]&255](Ul,r,o,-1);Mi(r);Mi(j);Mi(t);Mi(k);Mi(q);f[pg>>2]=0;f[qg>>2]=0;f[j>>2]=16842752;f[rg>>2]=o;f[sg>>2]=0;f[tg>>2]=0;f[k>>2]=16842752;f[ug>>2]=l;Ul=vg;f[Ul>>2]=0;f[Ul+4>>2]=0;f[q>>2]=33619968;f[wg>>2]=o;MI(j,k,q,1.0,-1);EG(t,Q);JG(k,t,Ll);HG(v,S,$l);DG(j,k,v);p[x>>3]=cm;f[xg>>2]=0;f[xg+4>>2]=0;f[xg+8>>2]=0;f[xg+12>>2]=0;f[xg+16>>2]=0;f[xg+20>>2]=0;CG(w,j,x);f[q>>2]=1124007936;Pa=yg;Ra=Pa+36|0;do{f[Pa>>2]=0;Pa=Pa+4|0}while((Pa|0)<(Ra|0));f[Ag>>2]=zg;f[Cg>>2]=Bg;f[Bg>>2]=0;f[Dg>>2]=0;Ul=f[w>>2]|0;th[f[(f[Ul>>2]|0)+12>>2]&255](Ul,w,q,-1);Mi(w);Mi(j);Mi(v);Mi(k);Mi(t);f[Eg>>2]=0;f[Fg>>2]=0;f[j>>2]=16842752;f[Gg>>2]=q;f[Hg>>2]=0;f[Ig>>2]=0;f[k>>2]=16842752;f[Jg>>2]=l;Ul=Kg;f[Ul>>2]=0;f[Ul+4>>2]=0;f[t>>2]=33619968;f[Lg>>2]=q;MI(j,k,t,1.0,-1);f[t>>2]=1124007936;Pa=Mg;Ra=Pa+36|0;do{f[Pa>>2]=0;Pa=Pa+4|0}while((Pa|0)<(Ra|0));f[Og>>2]=Ng;f[Qg>>2]=Pg;f[Pg>>2]=0;f[Rg>>2]=0;f[v>>2]=1124007936;Pa=Sg;Ra=Pa+36|0;do{f[Pa>>2]=0;Pa=Pa+4|0}while((Pa|0)<(Ra|0));f[Ug>>2]=Tg;f[Wg>>2]=Vg;f[Vg>>2]=0;f[Xg>>2]=0;f[Yg>>2]=0;f[Zg>>2]=0;f[j>>2]=16842752;f[_g>>2]=ha;f[$g>>2]=0;f[ah>>2]=0;f[k>>2]=16842752;f[bh>>2]=l;Ul=ch;f[Ul>>2]=0;f[Ul+4>>2]=0;f[x>>2]=33619968;f[dh>>2]=t;MI(j,k,x,1.0,-1);f[eh>>2]=0;f[fh>>2]=0;f[j>>2]=16842752;f[gh>>2]=ia;f[hh>>2]=0;f[ih>>2]=0;f[k>>2]=16842752;f[jh>>2]=l;Ul=kh;f[Ul>>2]=0;f[Ul+4>>2]=0;f[x>>2]=33619968;f[lh>>2]=v;MI(j,k,x,1.0,-1);f[mh>>2]=0;f[nh>>2]=0;f[y>>2]=16842752;f[oh>>2]=Q;SG(x,t,y,1.0);f[j>>2]=-2147483648;f[ph>>2]=2147483647;f[k>>2]=0;f[qh>>2]=Tl;YO(z,ma,j,k);Ul=f[x>>2]|0;th[f[(f[Ul>>2]|0)+12>>2]&255](Ul,x,z,-1);Ul=f[rh>>2]|0;do if(Ul|0){Ol=Ul+12|0;Vl=f[Ol>>2]|0;f[Ol>>2]=Vl+-1;if((Vl|0)!=1)break;XO(z)}while(0);f[rh>>2]=0;f[sh>>2]=0;f[sh+4>>2]=0;f[sh+8>>2]=0;f[sh+12>>2]=0;if((f[uh>>2]|0)>0){Ul=f[vh>>2]|0;Vl=0;do{f[Ul+(Vl<<2)>>2]=0;Vl=Vl+1|0}while((Vl|0)<(f[uh>>2]|0))}Vl=f[wh>>2]|0;if((Vl|0)!=(xh|0))dX(Vl);Mi(x);f[yh>>2]=0;f[zh>>2]=0;f[y>>2]=16842752;f[Ah>>2]=Q;SG(x,v,y,1.0);Vl=Tl<<1;f[j>>2]=-2147483648;f[Bh>>2]=2147483647;f[k>>2]=Tl;f[Ch>>2]=Vl;YO(A,ma,j,k);Ul=f[x>>2]|0;th[f[(f[Ul>>2]|0)+12>>2]&255](Ul,x,A,-1);Ul=f[Dh>>2]|0;do if(Ul|0){Ol=Ul+12|0;Jl=f[Ol>>2]|0;f[Ol>>2]=Jl+-1;if((Jl|0)!=1)break;XO(A)}while(0);f[Dh>>2]=0;f[Eh>>2]=0;f[Eh+4>>2]=0;f[Eh+8>>2]=0;f[Eh+12>>2]=0;if((f[Fh>>2]|0)>0){Ul=f[Gh>>2]|0;Jl=0;do{f[Ul+(Jl<<2)>>2]=0;Jl=Jl+1|0}while((Jl|0)<(f[Fh>>2]|0))}Jl=f[Hh>>2]|0;if((Jl|0)!=(Ih|0))dX(Jl);Mi(x);f[Jh>>2]=0;f[Kh>>2]=0;f[k>>2]=16842752;f[Lh>>2]=t;SG(j,o,k,1.0);f[Mh>>2]=0;f[Nh>>2]=0;f[C>>2]=16842752;f[Oh>>2]=v;SG(y,q,C,1.0);zG(B,j,y);f[x>>2]=1124007936;Pa=Ph;Ra=Pa+36|0;do{f[Pa>>2]=0;Pa=Pa+4|0}while((Pa|0)<(Ra|0));f[Rh>>2]=Qh;f[Th>>2]=Sh;f[Sh>>2]=0;f[Uh>>2]=0;Jl=f[B>>2]|0;th[f[(f[Jl>>2]|0)+12>>2]&255](Jl,B,x,-1);Mi(B);Mi(y);Mi(j);f[Vh>>2]=0;f[Wh>>2]=0;f[C>>2]=16842752;f[Xh>>2]=Q;SG(y,x,C,1.0);Jl=Tl*3|0;f[j>>2]=-2147483648;f[Yh>>2]=2147483647;f[k>>2]=Vl;f[Zh>>2]=Jl;YO(D,ma,j,k);Ul=f[y>>2]|0;th[f[(f[Ul>>2]|0)+12>>2]&255](Ul,y,D,-1);Ul=f[_h>>2]|0;do if(Ul|0){Ol=Ul+12|0;Il=f[Ol>>2]|0;f[Ol>>2]=Il+-1;if((Il|0)!=1)break;XO(D)}while(0);f[_h>>2]=0;f[$h>>2]=0;f[$h+4>>2]=0;f[$h+8>>2]=0;f[$h+12>>2]=0;if((f[ai>>2]|0)>0){Ul=f[bi>>2]|0;Vl=0;do{f[Ul+(Vl<<2)>>2]=0;Vl=Vl+1|0}while((Vl|0)<(f[ai>>2]|0))}Vl=f[ci>>2]|0;if((Vl|0)!=(di|0))dX(Vl);Mi(y);Vl=f[ei>>2]|0;do if(Vl|0){Ul=Vl+12|0;Il=f[Ul>>2]|0;f[Ul>>2]=Il+-1;if((Il|0)!=1)break;XO(o)}while(0);f[ei>>2]=0;f[fi>>2]=0;f[fi+4>>2]=0;f[fi+8>>2]=0;f[fi+12>>2]=0;if((f[jg>>2]|0)>0){Vl=f[lg>>2]|0;Il=0;do{f[Vl+(Il<<2)>>2]=0;Il=Il+1|0}while((Il|0)<(f[jg>>2]|0))}Il=f[gi>>2]|0;do if(Il|0){Vl=Il+12|0;Ul=f[Vl>>2]|0;f[Vl>>2]=Ul+-1;if((Ul|0)!=1)break;XO(q)}while(0);f[gi>>2]=0;f[hi>>2]=0;f[hi+4>>2]=0;f[hi+8>>2]=0;f[hi+12>>2]=0;if((f[yg>>2]|0)>0){Il=f[Ag>>2]|0;Ul=0;do{f[Il+(Ul<<2)>>2]=0;Ul=Ul+1|0}while((Ul|0)<(f[yg>>2]|0))}f[ii>>2]=0;f[ji>>2]=0;f[C>>2]=16842752;f[ki>>2]=S;SG(y,t,C,1.0);Ul=Tl<<2;f[j>>2]=-2147483648;f[li>>2]=2147483647;f[k>>2]=Jl;f[mi>>2]=Ul;YO(E,ma,j,k);Il=f[y>>2]|0;th[f[(f[Il>>2]|0)+12>>2]&255](Il,y,E,-1);Il=f[ni>>2]|0;do if(Il|0){Vl=Il+12|0;Ol=f[Vl>>2]|0;f[Vl>>2]=Ol+-1;if((Ol|0)!=1)break;XO(E)}while(0);f[ni>>2]=0;f[oi>>2]=0;f[oi+4>>2]=0;f[oi+8>>2]=0;f[oi+12>>2]=0;if((f[pi>>2]|0)>0){Il=f[qi>>2]|0;Jl=0;do{f[Il+(Jl<<2)>>2]=0;Jl=Jl+1|0}while((Jl|0)<(f[pi>>2]|0))}Jl=f[ri>>2]|0;if((Jl|0)!=(si|0))dX(Jl);Mi(y);f[ti>>2]=0;f[ui>>2]=0;f[C>>2]=16842752;f[vi>>2]=S;SG(y,v,C,1.0);Jl=Tl*5|0;f[j>>2]=-2147483648;f[wi>>2]=2147483647;f[k>>2]=Ul;f[xi>>2]=Jl;YO(F,ma,j,k);Il=f[y>>2]|0;th[f[(f[Il>>2]|0)+12>>2]&255](Il,y,F,-1);Il=f[yi>>2]|0;do if(Il|0){Ol=Il+12|0;Vl=f[Ol>>2]|0;f[Ol>>2]=Vl+-1;if((Vl|0)!=1)break;XO(F)}while(0);f[yi>>2]=0;f[zi>>2]=0;f[zi+4>>2]=0;f[zi+8>>2]=0;f[zi+12>>2]=0;if((f[Ai>>2]|0)>0){Il=f[Bi>>2]|0;Ul=0;do{f[Il+(Ul<<2)>>2]=0;Ul=Ul+1|0}while((Ul|0)<(f[Ai>>2]|0))}Ul=f[Ci>>2]|0;if((Ul|0)!=(Di|0))dX(Ul);Mi(y);f[Ei>>2]=0;f[Fi>>2]=0;f[C>>2]=16842752;f[Gi>>2]=S;SG(y,x,C,1.0);Ul=Tl*6|0;f[j>>2]=-2147483648;f[Hi>>2]=2147483647;f[k>>2]=Jl;f[Ii>>2]=Ul;YO(G,ma,j,k);Il=f[y>>2]|0;th[f[(f[Il>>2]|0)+12>>2]&255](Il,y,G,-1);Il=f[Ji>>2]|0;do if(Il|0){Vl=Il+12|0;Ol=f[Vl>>2]|0;f[Vl>>2]=Ol+-1;if((Ol|0)!=1)break;XO(G)}while(0);f[Ji>>2]=0;f[Ki>>2]=0;f[Ki+4>>2]=0;f[Ki+8>>2]=0;f[Ki+12>>2]=0;if((f[Li>>2]|0)>0){Il=f[Ni>>2]|0;Jl=0;do{f[Il+(Jl<<2)>>2]=0;Jl=Jl+1|0}while((Jl|0)<(f[Li>>2]|0))}Jl=f[Oi>>2]|0;if((Jl|0)!=(Pi|0))dX(Jl);Mi(y);Jl=Tl*7|0;f[j>>2]=-2147483648;f[Qi>>2]=2147483647;f[k>>2]=Ul;f[Ri>>2]=Jl;YO(C,ma,j,k);Il=Si;f[Il>>2]=0;f[Il+4>>2]=0;f[y>>2]=-1040121856;f[Ti>>2]=C;eM(t,y);Il=f[Ui>>2]|0;do if(Il|0){Ol=Il+12|0;Vl=f[Ol>>2]|0;f[Ol>>2]=Vl+-1;if((Vl|0)!=1)break;XO(C)}while(0);f[Ui>>2]=0;f[Vi>>2]=0;f[Vi+4>>2]=0;f[Vi+8>>2]=0;f[Vi+12>>2]=0;if((f[Wi>>2]|0)>0){Il=f[Xi>>2]|0;Ul=0;do{f[Il+(Ul<<2)>>2]=0;Ul=Ul+1|0}while((Ul|0)<(f[Wi>>2]|0))}Ul=f[Yi>>2]|0;if((Ul|0)!=(Zi|0))dX(Ul);f[j>>2]=-2147483648;f[_i>>2]=2147483647;f[k>>2]=Jl;f[$i>>2]=Tl<<3;YO(C,ma,j,k);Ul=aj;f[Ul>>2]=0;f[Ul+4>>2]=0;f[y>>2]=-1040121856;f[bj>>2]=C;eM(v,y);Ul=f[cj>>2]|0;do if(Ul|0){Il=Ul+12|0;Vl=f[Il>>2]|0;f[Il>>2]=Vl+-1;if((Vl|0)!=1)break;XO(C)}while(0);f[cj>>2]=0;f[dj>>2]=0;f[dj+4>>2]=0;f[dj+8>>2]=0;f[dj+12>>2]=0;if((f[ej>>2]|0)>0){Ul=f[fj>>2]|0;Tl=0;do{f[Ul+(Tl<<2)>>2]=0;Tl=Tl+1|0}while((Tl|0)<(f[ej>>2]|0))}Tl=f[gj>>2]|0;if((Tl|0)!=(hj|0))dX(Tl);Tl=f[ij>>2]|0;do if(Tl|0){Ul=Tl+12|0;Jl=f[Ul>>2]|0;f[Ul>>2]=Jl+-1;if((Jl|0)!=1)break;XO(x)}while(0);f[ij>>2]=0;f[jj>>2]=0;f[jj+4>>2]=0;f[jj+8>>2]=0;f[jj+12>>2]=0;if((f[Ph>>2]|0)>0){Tl=f[Rh>>2]|0;Jl=0;do{f[Tl+(Jl<<2)>>2]=0;Jl=Jl+1|0}while((Jl|0)<(f[Ph>>2]|0))}Jl=f[Th>>2]|0;if((Jl|0)!=(Sh|0))dX(Jl);Jl=f[kj>>2]|0;do if(Jl|0){Tl=Jl+12|0;Ul=f[Tl>>2]|0;f[Tl>>2]=Ul+-1;if((Ul|0)!=1)break;XO(v)}while(0);f[kj>>2]=0;f[lj>>2]=0;f[lj+4>>2]=0;f[lj+8>>2]=0;f[lj+12>>2]=0;if((f[Sg>>2]|0)>0){Jl=f[Ug>>2]|0;Ul=0;do{f[Jl+(Ul<<2)>>2]=0;Ul=Ul+1|0}while((Ul|0)<(f[Sg>>2]|0))}Ul=f[Wg>>2]|0;if((Ul|0)!=(Vg|0))dX(Ul);Ul=f[mj>>2]|0;do if(Ul|0){Jl=Ul+12|0;Tl=f[Jl>>2]|0;f[Jl>>2]=Tl+-1;if((Tl|0)!=1)break;XO(t)}while(0);f[mj>>2]=0;f[nj>>2]=0;f[nj+4>>2]=0;f[nj+8>>2]=0;f[nj+12>>2]=0;if((f[Mg>>2]|0)>0){Ul=f[Og>>2]|0;Tl=0;do{f[Ul+(Tl<<2)>>2]=0;Tl=Tl+1|0}while((Tl|0)<(f[Mg>>2]|0))}Tl=f[Qg>>2]|0;if((Tl|0)!=(Pg|0))dX(Tl);Tl=f[gi>>2]|0;do if(Tl|0){Ul=Tl+12|0;Jl=f[Ul>>2]|0;f[Ul>>2]=Jl+-1;if((Jl|0)!=1)break;XO(q)}while(0);f[gi>>2]=0;f[hi>>2]=0;f[hi+4>>2]=0;f[hi+8>>2]=0;f[hi+12>>2]=0;if((f[yg>>2]|0)>0){Tl=f[Ag>>2]|0;Jl=0;do{f[Tl+(Jl<<2)>>2]=0;Jl=Jl+1|0}while((Jl|0)<(f[yg>>2]|0))}Jl=f[Cg>>2]|0;if((Jl|0)!=(Bg|0))dX(Jl);Jl=f[ei>>2]|0;do if(Jl|0){Tl=Jl+12|0;Ul=f[Tl>>2]|0;f[Tl>>2]=Ul+-1;if((Ul|0)!=1)break;XO(o)}while(0);f[ei>>2]=0;f[fi>>2]=0;f[fi+4>>2]=0;f[fi+8>>2]=0;f[fi+12>>2]=0;if((f[jg>>2]|0)>0){Jl=f[lg>>2]|0;Ul=0;do{f[Jl+(Ul<<2)>>2]=0;Ul=Ul+1|0}while((Ul|0)<(f[jg>>2]|0))}Ul=f[ng>>2]|0;if((Ul|0)!=(mg|0))dX(Ul);Ul=f[oj>>2]|0;do if(Ul|0){Jl=Ul+12|0;Tl=f[Jl>>2]|0;f[Jl>>2]=Tl+-1;if((Tl|0)!=1)break;XO(l)}while(0);f[oj>>2]=0;f[pj>>2]=0;f[pj+4>>2]=0;f[pj+8>>2]=0;f[pj+12>>2]=0;if((f[cg>>2]|0)>0){Ul=f[eg>>2]|0;Tl=0;do{f[Ul+(Tl<<2)>>2]=0;Tl=Tl+1|0}while((Tl|0)<(f[cg>>2]|0))}Tl=f[gg>>2]|0;if((Tl|0)!=(fg|0))dX(Tl);break}case 0:{Tl=f[Pb>>2]|0;Ul=f[Ub>>2]|0;if(!((f[Tl>>2]|0)==(f[Ul>>2]|0)?(f[Tl+4>>2]|0)==(f[Ul+4>>2]|0):0)){f[j>>2]=0;f[Tj>>2]=0;Pa=JV(j,24)|0;Qa=341154;Ra=Pa+24|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-215,j,341179,340405,193);KV(j)}if((f[Ob>>2]|0)!=(f[Wb>>2]|0)){f[j>>2]=0;f[Sj>>2]=0;Pa=JV(j,21)|0;Qa=340980;Ra=Pa+21|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-215,j,341179,340405,195);KV(j)}if((f[Je>>2]|0)!=(f[Ke>>2]<<1|0)){f[j>>2]=0;f[Rj>>2]=0;Pa=JV(j,25)|0;Qa=341210;Ra=Pa+25|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-215,j,341179,340405,196);KV(j)}if((f[ma>>2]&4095|0)!=5){f[j>>2]=0;f[Qj>>2]=0;Pa=JV(j,55)|0;Qa=341028;Ra=Pa+55|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-215,j,341179,340405,197);KV(j)}Ul=f[Ke>>2]|0;f[j>>2]=-2147483648;f[wj>>2]=2147483647;f[k>>2]=0;f[xj>>2]=Ul;YO(m,ma,j,k);Tl=yj;f[Tl>>2]=0;f[Tl+4>>2]=0;f[l>>2]=-1040121856;f[zj>>2]=m;eM(ha,l);Tl=f[Aj>>2]|0;do if(Tl|0){Jl=Tl+12|0;Vl=f[Jl>>2]|0;f[Jl>>2]=Vl+-1;if((Vl|0)!=1)break;XO(m)}while(0);f[Aj>>2]=0;f[Bj>>2]=0;f[Bj+4>>2]=0;f[Bj+8>>2]=0;f[Bj+12>>2]=0;if((f[Cj>>2]|0)>0){Tl=f[Dj>>2]|0;Vl=0;do{f[Tl+(Vl<<2)>>2]=0;Vl=Vl+1|0}while((Vl|0)<(f[Cj>>2]|0))}Vl=f[Ej>>2]|0;if((Vl|0)!=(Fj|0))dX(Vl);f[j>>2]=-2147483648;f[Gj>>2]=2147483647;f[k>>2]=Ul;f[Hj>>2]=Ul<<1;YO(m,ma,j,k);Vl=Ij;f[Vl>>2]=0;f[Vl+4>>2]=0;f[l>>2]=-1040121856;f[Jj>>2]=m;eM(ia,l);Vl=f[Kj>>2]|0;do if(Vl|0){Tl=Vl+12|0;Jl=f[Tl>>2]|0;f[Tl>>2]=Jl+-1;if((Jl|0)!=1)break;XO(m)}while(0);f[Kj>>2]=0;f[Lj>>2]=0;f[Lj+4>>2]=0;f[Lj+8>>2]=0;f[Lj+12>>2]=0;if((f[Mj>>2]|0)>0){Vl=f[Nj>>2]|0;Ul=0;do{f[Vl+(Ul<<2)>>2]=0;Ul=Ul+1|0}while((Ul|0)<(f[Mj>>2]|0))}Ul=f[Oj>>2]|0;if((Ul|0)!=(Pj|0))dX(Ul);break}case 1:{Ul=f[Pb>>2]|0;Vl=f[Ul+4>>2]|0;Jl=f[Ul>>2]|0;Ul=f[Ub>>2]|0;if((Jl|0)==(f[Ul>>2]|0)?(Vl|0)==(f[Ul+4>>2]|0):0){dm=Vl;em=Jl}else{f[j>>2]=0;f[Wk>>2]=0;Pa=JV(j,24)|0;Qa=341154;Ra=Pa+24|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-215,j,341236,340405,130);KV(j);Jl=f[Pb>>2]|0;dm=f[Jl+4>>2]|0;em=f[Jl>>2]|0}Jl=f[ab>>2]|0;if((em|0)==(f[Jl>>2]|0)?(dm|0)==(f[Jl+4>>2]|0):0){fm=dm;gm=em}else{f[j>>2]=0;f[Vk>>2]=0;Pa=JV(j,24)|0;Qa=341265;Ra=Pa+24|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-215,j,341236,340405,131);KV(j);Jl=f[Pb>>2]|0;fm=f[Jl+4>>2]|0;gm=f[Jl>>2]|0}Jl=f[eb>>2]|0;if(!((gm|0)==(f[Jl>>2]|0)?(fm|0)==(f[Jl+4>>2]|0):0)){f[j>>2]=0;f[Uk>>2]=0;Pa=JV(j,24)|0;Qa=341290;Ra=Pa+24|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-215,j,341236,340405,132);KV(j)}if((f[Ob>>2]|0)!=(f[Wb>>2]|0)){f[j>>2]=0;f[Tk>>2]=0;Pa=JV(j,21)|0;Qa=340980;Ra=Pa+21|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-215,j,341236,340405,134);KV(j)}if((f[Je>>2]|0)!=((f[Ke>>2]|0)*3|0)){f[j>>2]=0;f[Sk>>2]=0;Pa=JV(j,25)|0;Qa=341315;Ra=Pa+25|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-215,j,341236,340405,135);KV(j)}if((f[ma>>2]&4095|0)!=5){f[j>>2]=0;f[Rk>>2]=0;Pa=JV(j,55)|0;Qa=341028;Ra=Pa+55|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-215,j,341236,340405,136);KV(j)}if(!(f[J>>2]&16384)){f[j>>2]=0;f[Uj>>2]=0;Pa=JV(j,19)|0;Qa=341134;Ra=Pa+19|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-215,j,341236,340405,138);KV(j)}Jl=f[Sa>>2]|0;cm=+n[Jl>>2];Vl=f[Ke>>2]|0;$l=+n[Jl+12>>2];HG(k,Q,$l);FG(j,k);Ll=cm;HG(o,S,Ll);DG(m,j,o);f[l>>2]=1124007936;Pa=Vj;Ra=Pa+36|0;do{f[Pa>>2]=0;Pa=Pa+4|0}while((Pa|0)<(Ra|0));f[Xj>>2]=Wj;f[Zj>>2]=Yj;f[Yj>>2]=0;f[_j>>2]=0;Jl=f[m>>2]|0;th[f[(f[Jl>>2]|0)+12>>2]&255](Jl,m,l,-1);Mi(m);Mi(o);Mi(j);Mi(k);HG(j,Q,Ll);HG(k,S,$l);DG(q,j,k);f[o>>2]=1124007936;Pa=$j;Ra=Pa+36|0;do{f[Pa>>2]=0;Pa=Pa+4|0}while((Pa|0)<(Ra|0));f[bk>>2]=ak;f[dk>>2]=ck;f[ck>>2]=0;f[ek>>2]=0;Jl=f[q>>2]|0;th[f[(f[Jl>>2]|0)+12>>2]&255](Jl,q,o,-1);Mi(q);Mi(k);Mi(j);f[fk>>2]=0;f[gk>>2]=0;f[v>>2]=16842752;f[hk>>2]=l;SG(t,ha,v,1.0);f[ik>>2]=0;f[jk>>2]=0;f[x>>2]=16842752;f[kk>>2]=o;SG(w,ia,x,1.0);zG(r,t,w);f[j>>2]=-2147483648;f[lk>>2]=2147483647;f[k>>2]=0;f[mk>>2]=Vl;YO(y,ma,j,k);Jl=f[r>>2]|0;th[f[(f[Jl>>2]|0)+12>>2]&255](Jl,r,y,-1);Jl=f[nk>>2]|0;do if(Jl|0){Ul=Jl+12|0;Tl=f[Ul>>2]|0;f[Ul>>2]=Tl+-1;if((Tl|0)!=1)break;XO(y)}while(0);f[nk>>2]=0;f[ok>>2]=0;f[ok+4>>2]=0;f[ok+8>>2]=0;f[ok+12>>2]=0;if((f[pk>>2]|0)>0){Jl=f[qk>>2]|0;Tl=0;do{f[Jl+(Tl<<2)>>2]=0;Tl=Tl+1|0}while((Tl|0)<(f[pk>>2]|0))}Tl=f[rk>>2]|0;if((Tl|0)!=(sk|0))dX(Tl);Mi(r);Mi(w);Mi(t);Tl=Vl<<1;f[j>>2]=-2147483648;f[tk>>2]=2147483647;f[k>>2]=Vl;f[uk>>2]=Tl;YO(t,ma,j,k);Jl=vk;f[Jl>>2]=0;f[Jl+4>>2]=0;f[r>>2]=-1040121856;f[wk>>2]=t;eM(ha,r);Jl=f[xk>>2]|0;do if(Jl|0){Ul=Jl+12|0;Il=f[Ul>>2]|0;f[Ul>>2]=Il+-1;if((Il|0)!=1)break;XO(t)}while(0);f[xk>>2]=0;f[yk>>2]=0;f[yk+4>>2]=0;f[yk+8>>2]=0;f[yk+12>>2]=0;if((f[zk>>2]|0)>0){Jl=f[Ak>>2]|0;Il=0;do{f[Jl+(Il<<2)>>2]=0;Il=Il+1|0}while((Il|0)<(f[zk>>2]|0))}Il=f[Bk>>2]|0;if((Il|0)!=(Ck|0))dX(Il);f[j>>2]=-2147483648;f[Dk>>2]=2147483647;f[k>>2]=Tl;f[Ek>>2]=Vl*3;YO(t,ma,j,k);Il=Fk;f[Il>>2]=0;f[Il+4>>2]=0;f[r>>2]=-1040121856;f[Gk>>2]=t;eM(ia,r);Il=f[Hk>>2]|0;do if(Il|0){Jl=Il+12|0;Ul=f[Jl>>2]|0;f[Jl>>2]=Ul+-1;if((Ul|0)!=1)break;XO(t)}while(0);f[Hk>>2]=0;f[Ik>>2]=0;f[Ik+4>>2]=0;f[Ik+8>>2]=0;f[Ik+12>>2]=0;if((f[Jk>>2]|0)>0){Il=f[Kk>>2]|0;Vl=0;do{f[Il+(Vl<<2)>>2]=0;Vl=Vl+1|0}while((Vl|0)<(f[Jk>>2]|0))}Vl=f[Lk>>2]|0;if((Vl|0)!=(Mk|0))dX(Vl);Vl=f[Nk>>2]|0;do if(Vl|0){Il=Vl+12|0;Tl=f[Il>>2]|0;f[Il>>2]=Tl+-1;if((Tl|0)!=1)break;XO(o)}while(0);f[Nk>>2]=0;f[Ok>>2]=0;f[Ok+4>>2]=0;f[Ok+8>>2]=0;f[Ok+12>>2]=0;if((f[$j>>2]|0)>0){Vl=f[bk>>2]|0;Tl=0;do{f[Vl+(Tl<<2)>>2]=0;Tl=Tl+1|0}while((Tl|0)<(f[$j>>2]|0))}Tl=f[dk>>2]|0;if((Tl|0)!=(ck|0))dX(Tl);Tl=f[Pk>>2]|0;do if(Tl|0){Vl=Tl+12|0;Il=f[Vl>>2]|0;f[Vl>>2]=Il+-1;if((Il|0)!=1)break;XO(l)}while(0);f[Pk>>2]=0;f[Qk>>2]=0;f[Qk+4>>2]=0;f[Qk+8>>2]=0;f[Qk+12>>2]=0;if((f[Vj>>2]|0)>0){Tl=f[Xj>>2]|0;Il=0;do{f[Tl+(Il<<2)>>2]=0;Il=Il+1|0}while((Il|0)<(f[Vj>>2]|0))}Il=f[Zj>>2]|0;if((Il|0)!=(Yj|0))dX(Il);break}default:{}}lwa(ma,ma,na);RG(j,na,0);Il=f[j>>2]|0;th[f[(f[Il>>2]|0)+12>>2]&255](Il,j,oa,-1);Mi(j);f[ie>>2]=0;f[je>>2]=0;f[j>>2]=16842752;f[ke>>2]=W;$l=+mD(T,j);Ll=$l/(Ml*Nl);p[s>>3]=Ll;if(((f[s+4>>2]&2147483647)+((f[s>>2]|0)!=0&1)|0)>>>0>=2146435073){f[j>>2]=0;f[Ie>>2]=0;Pa=JV(j,16)|0;Qa=341341;Ra=Pa+16|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-7,j,340388,340405,525);KV(j)}lwa(ma,W,pa);lwa(ma,T,qa);GG(j,oa,pa);Il=f[j>>2]|0;th[f[(f[Il>>2]|0)+12>>2]&255](Il,j,ra,-1);Mi(j);f[le>>2]=0;f[me>>2]=0;f[j>>2]=16842752;f[ne>>2]=ra;Ml=Nl*Nl-+mD(pa,j);f[oe>>2]=0;f[pe>>2]=0;f[j>>2]=16842752;f[qe>>2]=ra;cm=$l-+mD(qa,j);if(!(cm<=0.0))hm=Ll;else{f[j>>2]=0;f[He>>2]=0;DVa(JV(j,132)|0,341358,132)|0;EP(-7,j,340388,340405,540);KV(j);hm=-1.0}IG(k,Ml/cm,T);BG(j,k,W);Il=f[j>>2]|0;th[f[(f[Il>>2]|0)+12>>2]&255](Il,j,ua,-1);Mi(j);Mi(k);lwa(ma,ua,sa);GG(j,oa,sa);Il=f[j>>2]|0;th[f[(f[Il>>2]|0)+12>>2]&255](Il,j,ta,-1);Mi(j);if((f[J>>2]&4095|0)!=5){f[j>>2]=0;f[Ge>>2]=0;Pa=JV(j,62)|0;Qa=341491;Ra=Pa+62|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-215,j,341554,340405,252);KV(j)}if((f[ta>>2]&4095|0)!=5){f[j>>2]=0;f[Fe>>2]=0;Pa=JV(j,58)|0;Qa=341580;Ra=Pa+58|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-215,j,341554,340405,253);KV(j)}if(!ue){f[j>>2]=0;f[Ee>>2]=0;DVa(JV(j,132)|0,341639,132)|0;EP(-215,j,341554,340405,256);KV(j)}Il=f[Wa>>2]|0;do if(!g){Tl=(Il|0)==2;Vl=f[vc>>2]|0;if(te){if(Tl&(Vl|0)==6)break;f[j>>2]=0;f[Be>>2]=0;Pa=JV(j,40)|0;Qa=341813;Ra=Pa+40|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-215,j,341554,340405,261);KV(j);break}if(se){if(Tl&(Vl|0)==3)break;f[j>>2]=0;f[Ce>>2]=0;Pa=JV(j,40)|0;Qa=341854;Ra=Pa+40|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-215,j,341554,340405,263);KV(j);break}else{if(Tl&(Vl|0)==2)break;f[j>>2]=0;f[De>>2]=0;Pa=JV(j,40)|0;Qa=341895;Ra=Pa+40|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-215,j,341554,340405,265);KV(j);break}}else{if((Il|0)==3&(f[vc>>2]|0)==8)break;f[j>>2]=0;f[ve>>2]=0;Pa=JV(j,40)|0;Qa=341772;Ra=Pa+40|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-215,j,341554,340405,259);KV(j)}while(0);if((f[we>>2]|0)!=1){f[j>>2]=0;f[Ae>>2]=0;Pa=JV(j,16)|0;Qa=341936;Ra=Pa+16|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-215,j,341554,340405,267);KV(j)}if(!(f[J>>2]&16384)){f[j>>2]=0;f[xe>>2]=0;Pa=JV(j,25)|0;Qa=341953;Ra=Pa+25|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-215,j,341554,340405,269);KV(j)}if(!(f[ta>>2]&16384)){f[j>>2]=0;f[ye>>2]=0;Pa=JV(j,21)|0;Qa=341979;Ra=Pa+21|0;do{b[Pa>>0]=b[Qa>>0]|0;Pa=Pa+1|0;Qa=Qa+1|0}while((Pa|0)<(Ra|0));EP(-215,j,341554,340405,270);KV(j)}Il=f[Sa>>2]|0;Vl=f[ze>>2]|0;if(re){Tl=Il+8|0;n[Tl>>2]=+n[Vl>>2]+ +n[Tl>>2];Tl=Il+20|0;n[Tl>>2]=+n[Vl+4>>2]+ +n[Tl>>2]}if(te){n[Il>>2]=+n[Vl>>2]+ +n[Il>>2];Tl=Il+12|0;n[Tl>>2]=+n[Vl+4>>2]+ +n[Tl>>2];Tl=Il+4|0;n[Tl>>2]=+n[Vl+8>>2]+ +n[Tl>>2];Tl=Il+16|0;n[Tl>>2]=+n[Vl+12>>2]+ +n[Tl>>2];Tl=Il+8|0;n[Tl>>2]=+n[Vl+16>>2]+ +n[Tl>>2];Tl=Il+20|0;n[Tl>>2]=+n[Vl+20>>2]+ +n[Tl>>2]}if(g){n[Il>>2]=+n[Vl>>2]+ +n[Il>>2];Tl=Il+12|0;n[Tl>>2]=+n[Vl+4>>2]+ +n[Tl>>2];Tl=Il+24|0;n[Tl>>2]=+n[Vl+8>>2]+ +n[Tl>>2];Tl=Il+4|0;n[Tl>>2]=+n[Vl+12>>2]+ +n[Tl>>2];Tl=Il+16|0;n[Tl>>2]=+n[Vl+16>>2]+ +n[Tl>>2];Tl=Il+28|0;n[Tl>>2]=+n[Vl+20>>2]+ +n[Tl>>2];Tl=Il+8|0;n[Tl>>2]=+n[Vl+24>>2]+ +n[Tl>>2];Tl=Il+20|0;n[Tl>>2]=+n[Vl+28>>2]+ +n[Tl>>2]}if(se){Tl=Il+12|0;Ll=+n[Vl>>2]+ +R(+(+n[Tl>>2]));Ul=Il+8|0;n[Ul>>2]=+n[Vl+4>>2]+ +n[Ul>>2];Ul=Il+20|0;n[Ul>>2]=+n[Vl+8>>2]+ +n[Ul>>2];$l=+N(+Ll);n[Il+16>>2]=$l;n[Il>>2]=$l;$l=+O(+Ll);n[Tl>>2]=$l;n[Il+4>>2]=-$l}if((Gl|0)<(Xa|0)){$l=Fl;Fl=hm;Gl=Gl+1|0;Hl=$l}else{Cc=hm;break a}}}while(0);Xa=ua+36|0;j=f[Xa>>2]|0;do if(j|0){Qa=j+12|0;Pa=f[Qa>>2]|0;f[Qa>>2]=Pa+-1;if((Pa|0)!=1)break;XO(ua)}while(0);f[Xa>>2]=0;Xa=ua+16|0;f[Xa>>2]=0;f[Xa+4>>2]=0;f[Xa+8>>2]=0;f[Xa+12>>2]=0;if((f[Za>>2]|0)>0){Xa=f[Ac>>2]|0;Ac=0;do{f[Xa+(Ac<<2)>>2]=0;Ac=Ac+1|0}while((Ac|0)<(f[Za>>2]|0))}Za=f[Bc>>2]|0;if((Za|0)!=(zc|0))dX(Za);Za=ta+36|0;zc=f[Za>>2]|0;do if(zc|0){Bc=zc+12|0;Ac=f[Bc>>2]|0;f[Bc>>2]=Ac+-1;if((Ac|0)!=1)break;XO(ta)}while(0);f[Za>>2]=0;Za=ta+16|0;f[Za>>2]=0;f[Za+4>>2]=0;f[Za+8>>2]=0;f[Za+12>>2]=0;if((f[uc>>2]|0)>0){Za=f[wc>>2]|0;wc=0;do{f[Za+(wc<<2)>>2]=0;wc=wc+1|0}while((wc|0)<(f[uc>>2]|0))}uc=f[yc>>2]|0;if((uc|0)!=(xc|0))dX(uc);uc=sa+36|0;xc=f[uc>>2]|0;do if(xc|0){yc=xc+12|0;wc=f[yc>>2]|0;f[yc>>2]=wc+-1;if((wc|0)!=1)break;XO(sa)}while(0);f[uc>>2]=0;uc=sa+16|0;f[uc>>2]=0;f[uc+4>>2]=0;f[uc+8>>2]=0;f[uc+12>>2]=0;if((f[qc>>2]|0)>0){uc=f[sc>>2]|0;sc=0;do{f[uc+(sc<<2)>>2]=0;sc=sc+1|0}while((sc|0)<(f[qc>>2]|0))}qc=f[tc>>2]|0;if((qc|0)!=(rc|0))dX(qc);qc=ra+36|0;rc=f[qc>>2]|0;do if(rc|0){tc=rc+12|0;sc=f[tc>>2]|0;f[tc>>2]=sc+-1;if((sc|0)!=1)break;XO(ra)}while(0);f[qc>>2]=0;qc=ra+16|0;f[qc>>2]=0;f[qc+4>>2]=0;f[qc+8>>2]=0;f[qc+12>>2]=0;if((f[mc>>2]|0)>0){qc=f[oc>>2]|0;oc=0;do{f[qc+(oc<<2)>>2]=0;oc=oc+1|0}while((oc|0)<(f[mc>>2]|0))}mc=f[pc>>2]|0;if((mc|0)!=(nc|0))dX(mc);mc=qa+36|0;nc=f[mc>>2]|0;do if(nc|0){pc=nc+12|0;oc=f[pc>>2]|0;f[pc>>2]=oc+-1;if((oc|0)!=1)break;XO(qa)}while(0);f[mc>>2]=0;mc=qa+16|0;f[mc>>2]=0;f[mc+4>>2]=0;f[mc+8>>2]=0;f[mc+12>>2]=0;if((f[ic>>2]|0)>0){mc=f[kc>>2]|0;kc=0;do{f[mc+(kc<<2)>>2]=0;kc=kc+1|0}while((kc|0)<(f[ic>>2]|0))}ic=f[lc>>2]|0;if((ic|0)!=(jc|0))dX(ic);ic=pa+36|0;jc=f[ic>>2]|0;do if(jc|0){lc=jc+12|0;kc=f[lc>>2]|0;f[lc>>2]=kc+-1;if((kc|0)!=1)break;XO(pa)}while(0);f[ic>>2]=0;ic=pa+16|0;f[ic>>2]=0;f[ic+4>>2]=0;f[ic+8>>2]=0;f[ic+12>>2]=0;if((f[ec>>2]|0)>0){ic=f[gc>>2]|0;gc=0;do{f[ic+(gc<<2)>>2]=0;gc=gc+1|0}while((gc|0)<(f[ec>>2]|0))}ec=f[hc>>2]|0;if((ec|0)!=(fc|0))dX(ec);ec=oa+36|0;fc=f[ec>>2]|0;do if(fc|0){hc=fc+12|0;gc=f[hc>>2]|0;f[hc>>2]=gc+-1;if((gc|0)!=1)break;XO(oa)}while(0);f[ec>>2]=0;ec=oa+16|0;f[ec>>2]=0;f[ec+4>>2]=0;f[ec+8>>2]=0;f[ec+12>>2]=0;if((f[ac>>2]|0)>0){ec=f[cc>>2]|0;cc=0;do{f[ec+(cc<<2)>>2]=0;cc=cc+1|0}while((cc|0)<(f[ac>>2]|0))}ac=f[dc>>2]|0;if((ac|0)!=(bc|0))dX(ac);ac=na+36|0;bc=f[ac>>2]|0;do if(bc|0){dc=bc+12|0;cc=f[dc>>2]|0;f[dc>>2]=cc+-1;if((cc|0)!=1)break;XO(na)}while(0);f[ac>>2]=0;ac=na+16|0;f[ac>>2]=0;f[ac+4>>2]=0;f[ac+8>>2]=0;f[ac+12>>2]=0;if((f[la>>2]|0)>0){ac=f[_b>>2]|0;_b=0;do{f[ac+(_b<<2)>>2]=0;_b=_b+1|0}while((_b|0)<(f[la>>2]|0))}la=f[$b>>2]|0;if((la|0)!=(Zb|0))dX(la);la=ma+36|0;Zb=f[la>>2]|0;do if(Zb|0){$b=Zb+12|0;_b=f[$b>>2]|0;f[$b>>2]=_b+-1;if((_b|0)!=1)break;XO(ma)}while(0);f[la>>2]=0;la=ma+16|0;f[la>>2]=0;f[la+4>>2]=0;f[la+8>>2]=0;f[la+12>>2]=0;if((f[Xb>>2]|0)>0){la=f[ja>>2]|0;ja=0;do{f[la+(ja<<2)>>2]=0;ja=ja+1|0}while((ja|0)<(f[Xb>>2]|0))}Xb=f[Yb>>2]|0;if((Xb|0)!=(ka|0))dX(Xb);Xb=ia+36|0;ka=f[Xb>>2]|0;do if(ka|0){Yb=ka+12|0;ja=f[Yb>>2]|0;f[Yb>>2]=ja+-1;if((ja|0)!=1)break;XO(ia)}while(0);f[Xb>>2]=0;Xb=ia+16|0;f[Xb>>2]=0;f[Xb+4>>2]=0;f[Xb+8>>2]=0;f[Xb+12>>2]=0;if((f[Sb>>2]|0)>0){Xb=f[Ub>>2]|0;Ub=0;do{f[Xb+(Ub<<2)>>2]=0;Ub=Ub+1|0}while((Ub|0)<(f[Sb>>2]|0))}Sb=f[Vb>>2]|0;if((Sb|0)!=(Tb|0))dX(Sb);Sb=ha+36|0;Tb=f[Sb>>2]|0;do if(Tb|0){Vb=Tb+12|0;Ub=f[Vb>>2]|0;f[Vb>>2]=Ub+-1;if((Ub|0)!=1)break;XO(ha)}while(0);f[Sb>>2]=0;Sb=ha+16|0;f[Sb>>2]=0;f[Sb+4>>2]=0;f[Sb+8>>2]=0;f[Sb+12>>2]=0;if((f[ga>>2]|0)>0){Sb=f[Pb>>2]|0;Pb=0;do{f[Sb+(Pb<<2)>>2]=0;Pb=Pb+1|0}while((Pb|0)<(f[ga>>2]|0))}ga=f[Rb>>2]|0;if((ga|0)!=(Qb|0))dX(ga);ga=fa+36|0;Qb=f[ga>>2]|0;do if(Qb|0){Rb=Qb+12|0;Pb=f[Rb>>2]|0;f[Rb>>2]=Pb+-1;if((Pb|0)!=1)break;XO(fa)}while(0);f[ga>>2]=0;ga=fa+16|0;f[ga>>2]=0;f[ga+4>>2]=0;f[ga+8>>2]=0;f[ga+12>>2]=0;if((f[Ta>>2]|0)>0){ga=f[ea>>2]|0;ea=0;do{f[ga+(ea<<2)>>2]=0;ea=ea+1|0}while((ea|0)<(f[Ta>>2]|0))}Ta=f[Nb>>2]|0;if((Ta|0)!=(Ua|0))dX(Ta);Ta=da+36|0;Ua=f[Ta>>2]|0;do if(Ua|0){Nb=Ua+12|0;ea=f[Nb>>2]|0;f[Nb>>2]=ea+-1;if((ea|0)!=1)break;XO(da)}while(0);f[Ta>>2]=0;Ta=da+16|0;f[Ta>>2]=0;f[Ta+4>>2]=0;f[Ta+8>>2]=0;f[Ta+12>>2]=0;if((f[ca>>2]|0)>0){Ta=f[Lb>>2]|0;Lb=0;do{f[Ta+(Lb<<2)>>2]=0;Lb=Lb+1|0}while((Lb|0)<(f[ca>>2]|0))}ca=f[Mb>>2]|0;if((ca|0)!=(ba|0))dX(ca);ca=aa+36|0;ba=f[ca>>2]|0;do if(ba|0){Mb=ba+12|0;Lb=f[Mb>>2]|0;f[Mb>>2]=Lb+-1;if((Lb|0)!=1)break;XO(aa)}while(0);f[ca>>2]=0;ca=aa+16|0;f[ca>>2]=0;f[ca+4>>2]=0;f[ca+8>>2]=0;f[ca+12>>2]=0;if((f[$>>2]|0)>0){ca=f[Kb>>2]|0;Kb=0;do{f[ca+(Kb<<2)>>2]=0;Kb=Kb+1|0}while((Kb|0)<(f[$>>2]|0))}$=f[Jb>>2]|0;if(($|0)!=(h|0))dX($);$=_+36|0;h=f[$>>2]|0;do if(h|0){Jb=h+12|0;Kb=f[Jb>>2]|0;f[Jb>>2]=Kb+-1;if((Kb|0)!=1)break;XO(_)}while(0);f[$>>2]=0;$=_+16|0;f[$>>2]=0;f[$+4>>2]=0;f[$+8>>2]=0;f[$+12>>2]=0;if((f[Fb>>2]|0)>0){$=f[Hb>>2]|0;Hb=0;do{f[$+(Hb<<2)>>2]=0;Hb=Hb+1|0}while((Hb|0)<(f[Fb>>2]|0))}Fb=f[Ib>>2]|0;if((Fb|0)!=(Gb|0))dX(Fb);Fb=Z+36|0;Gb=f[Fb>>2]|0;do if(Gb|0){Ib=Gb+12|0;Hb=f[Ib>>2]|0;f[Ib>>2]=Hb+-1;if((Hb|0)!=1)break;XO(Z)}while(0);f[Fb>>2]=0;Fb=Z+16|0;Gb=Z+4|0;f[Fb>>2]=0;f[Fb+4>>2]=0;f[Fb+8>>2]=0;f[Fb+12>>2]=0;if((f[Gb>>2]|0)>0){Fb=f[Z+40>>2]|0;Hb=0;do{f[Fb+(Hb<<2)>>2]=0;Hb=Hb+1|0}while((Hb|0)<(f[Gb>>2]|0))}Gb=f[Z+44>>2]|0;if((Gb|0)!=(Z+48|0))dX(Gb);Gb=Y+36|0;Z=f[Gb>>2]|0;do if(Z|0){Hb=Z+12|0;Fb=f[Hb>>2]|0;f[Hb>>2]=Fb+-1;if((Fb|0)!=1)break;XO(Y)}while(0);f[Gb>>2]=0;Gb=Y+16|0;f[Gb>>2]=0;f[Gb+4>>2]=0;f[Gb+8>>2]=0;f[Gb+12>>2]=0;if((f[Bb>>2]|0)>0){Gb=f[Db>>2]|0;Db=0;do{f[Gb+(Db<<2)>>2]=0;Db=Db+1|0}while((Db|0)<(f[Bb>>2]|0))}Bb=f[Eb>>2]|0;if((Bb|0)!=(Cb|0))dX(Bb);Bb=W+36|0;Cb=f[Bb>>2]|0;do if(Cb|0){Eb=Cb+12|0;Db=f[Eb>>2]|0;f[Eb>>2]=Db+-1;if((Db|0)!=1)break;XO(W)}while(0);f[Bb>>2]=0;Bb=W+16|0;f[Bb>>2]=0;f[Bb+4>>2]=0;f[Bb+8>>2]=0;f[Bb+12>>2]=0;if((f[xb>>2]|0)>0){Bb=f[zb>>2]|0;zb=0;do{f[Bb+(zb<<2)>>2]=0;zb=zb+1|0}while((zb|0)<(f[xb>>2]|0))}xb=f[Ab>>2]|0;if((xb|0)!=(yb|0))dX(xb);xb=V+36|0;yb=f[xb>>2]|0;do if(yb|0){Ab=yb+12|0;zb=f[Ab>>2]|0;f[Ab>>2]=zb+-1;if((zb|0)!=1)break;XO(V)}while(0);f[xb>>2]=0;xb=V+16|0;f[xb>>2]=0;f[xb+4>>2]=0;f[xb+8>>2]=0;f[xb+12>>2]=0;if((f[tb>>2]|0)>0){xb=f[vb>>2]|0;vb=0;do{f[xb+(vb<<2)>>2]=0;vb=vb+1|0}while((vb|0)<(f[tb>>2]|0))}tb=f[wb>>2]|0;if((tb|0)!=(ub|0))dX(tb);tb=U+36|0;ub=f[tb>>2]|0;do if(ub|0){wb=ub+12|0;vb=f[wb>>2]|0;f[wb>>2]=vb+-1;if((vb|0)!=1)break;XO(U)}while(0);f[tb>>2]=0;tb=U+16|0;f[tb>>2]=0;f[tb+4>>2]=0;f[tb+8>>2]=0;f[tb+12>>2]=0;if((f[pb>>2]|0)>0){tb=f[rb>>2]|0;rb=0;do{f[tb+(rb<<2)>>2]=0;rb=rb+1|0}while((rb|0)<(f[pb>>2]|0))}pb=f[sb>>2]|0;if((pb|0)!=(qb|0))dX(pb);pb=T+36|0;qb=f[pb>>2]|0;do if(qb|0){sb=qb+12|0;rb=f[sb>>2]|0;f[sb>>2]=rb+-1;if((rb|0)!=1)break;XO(T)}while(0);f[pb>>2]=0;pb=T+16|0;f[pb>>2]=0;f[pb+4>>2]=0;f[pb+8>>2]=0;f[pb+12>>2]=0;if((f[lb>>2]|0)>0){pb=f[mb>>2]|0;mb=0;do{f[pb+(mb<<2)>>2]=0;mb=mb+1|0}while((mb|0)<(f[lb>>2]|0))}lb=f[ob>>2]|0;if((lb|0)!=(nb|0))dX(lb);lb=S+36|0;nb=f[lb>>2]|0;do if(nb|0){ob=nb+12|0;mb=f[ob>>2]|0;f[ob>>2]=mb+-1;if((mb|0)!=1)break;XO(S)}while(0);f[lb>>2]=0;lb=S+16|0;f[lb>>2]=0;f[lb+4>>2]=0;f[lb+8>>2]=0;f[lb+12>>2]=0;if((f[cb>>2]|0)>0){lb=f[eb>>2]|0;eb=0;do{f[lb+(eb<<2)>>2]=0;eb=eb+1|0}while((eb|0)<(f[cb>>2]|0))}cb=f[fb>>2]|0;if((cb|0)!=(db|0))dX(cb);cb=Q+36|0;db=f[cb>>2]|0;do if(db|0){fb=db+12|0;eb=f[fb>>2]|0;f[fb>>2]=eb+-1;if((eb|0)!=1)break;XO(Q)}while(0);f[cb>>2]=0;cb=Q+16|0;f[cb>>2]=0;f[cb+4>>2]=0;f[cb+8>>2]=0;f[cb+12>>2]=0;if((f[_a>>2]|0)>0){cb=f[ab>>2]|0;ab=0;do{f[cb+(ab<<2)>>2]=0;ab=ab+1|0}while((ab|0)<(f[_a>>2]|0))}_a=f[bb>>2]|0;if((_a|0)!=($a|0))dX(_a);_a=f[hb>>2]|0;do if(_a|0){$a=_a+12|0;bb=f[$a>>2]|0;f[$a>>2]=bb+-1;if((bb|0)!=1)break;XO(P)}while(0);f[hb>>2]=0;f[ib>>2]=0;f[ib+4>>2]=0;f[ib+8>>2]=0;f[ib+12>>2]=0;if((f[Ia>>2]|0)>0){ib=f[La>>2]|0;La=0;do{f[ib+(La<<2)>>2]=0;La=La+1|0}while((La|0)<(f[Ia>>2]|0))}Ia=f[Ka>>2]|0;if((Ia|0)!=(Ha|0))dX(Ia);Ia=f[kb>>2]|0;do if(Ia|0){Ha=Ia+12|0;Ka=f[Ha>>2]|0;f[Ha>>2]=Ka+-1;if((Ka|0)!=1)break;XO(M)}while(0);f[kb>>2]=0;f[gb>>2]=0;f[gb+4>>2]=0;f[gb+8>>2]=0;f[gb+12>>2]=0;if((f[d>>2]|0)>0){gb=f[Ja>>2]|0;Ja=0;do{f[gb+(Ja<<2)>>2]=0;Ja=Ja+1|0}while((Ja|0)<(f[d>>2]|0))}d=f[Ma>>2]|0;if((d|0)!=(Va|0))dX(d);d=J+36|0;Va=f[d>>2]|0;do if(Va|0){Ma=Va+12|0;Ja=f[Ma>>2]|0;f[Ma>>2]=Ja+-1;if((Ja|0)!=1)break;XO(J)}while(0);f[d>>2]=0;d=J+4|0;f[Sa>>2]=0;f[Sa+4>>2]=0;f[Sa+8>>2]=0;f[Sa+12>>2]=0;if((f[d>>2]|0)>0){Sa=f[J+40>>2]|0;Va=0;do{f[Sa+(Va<<2)>>2]=0;Va=Va+1|0}while((Va|0)<(f[d>>2]|0))}d=f[J+44>>2]|0;if((d|0)!=(J+48|0))dX(d);d=I+36|0;J=f[d>>2]|0;do if(J|0){Va=J+12|0;Sa=f[Va>>2]|0;f[Va>>2]=Sa+-1;if((Sa|0)!=1)break;XO(I)}while(0);f[d>>2]=0;d=I+4|0;f[Na>>2]=0;f[Na+4>>2]=0;f[Na+8>>2]=0;f[Na+12>>2]=0;if((f[d>>2]|0)>0){Na=f[I+40>>2]|0;J=0;do{f[Na+(J<<2)>>2]=0;J=J+1|0}while((J|0)<(f[d>>2]|0))}d=f[I+44>>2]|0;if((d|0)!=(I+48|0))dX(d);d=H+36|0;I=f[d>>2]|0;do if(I|0){J=I+12|0;Na=f[J>>2]|0;f[J>>2]=Na+-1;if((Na|0)!=1)break;XO(H)}while(0);f[d>>2]=0;d=H+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[d>>2]|0)>0){c=f[H+40>>2]|0;I=0;do{f[c+(I<<2)>>2]=0;I=I+1|0}while((I|0)<(f[d>>2]|0))}d=f[H+44>>2]|0;if((d|0)==(H+48|0)){u=i;return +Cc}dX(d);u=i;return +Cc}function lwa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;e=u;u=u+192|0;g=e+176|0;h=e+168|0;i=e+112|0;j=e+56|0;k=e;if((f[a+8>>2]|0)!=(f[c+8>>2]|0)){f[g>>2]=0;f[g+4>>2]=0;l=JV(g,22)|0;m=342001;o=l+22|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(o|0));EP(-215,g,342024,340405,219);KV(g)}p=a+12|0;q=f[p>>2]|0;r=c+12|0;s=f[r>>2]|0;if(!((q|0)%(s|0)|0)){t=q;v=s}else{f[g>>2]=0;f[g+4>>2]=0;l=JV(g,28)|0;m=342050;o=l+28|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(o|0));EP(-215,g,342024,340405,220);KV(g);t=f[p>>2]|0;v=f[r>>2]|0}p=f[d+16>>2]|0;if((t|0)!=(v|0)){t=d+8|0;if((f[t>>2]|0)<=0){u=e;return}s=g+4|0;q=h+4|0;w=i+8|0;x=i+12|0;y=i+4|0;z=j+36|0;A=j+16|0;B=j+4|0;C=j+40|0;D=j+44|0;E=j+48|0;F=0;do{G=X(F,v)|0;H=F;F=F+1|0;I=X(F,v)|0;f[g>>2]=-2147483648;f[s>>2]=2147483647;f[h>>2]=G;f[q>>2]=I;YO(j,a,g,h);f[w>>2]=0;f[x>>2]=0;f[i>>2]=16842752;f[y>>2]=j;J=+mD(c,i);n[p+(H<<2)>>2]=J;H=f[z>>2]|0;if(H|0?(I=H+12|0,H=f[I>>2]|0,f[I>>2]=H+-1,(H|0)==1):0)XO(j);f[z>>2]=0;f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;f[A+12>>2]=0;if((f[B>>2]|0)>0){H=f[C>>2]|0;I=0;do{f[H+(I<<2)>>2]=0;I=I+1|0}while((I|0)<(f[B>>2]|0))}I=f[D>>2]|0;if((I|0)!=(E|0))dX(I)}while((F|0)<(f[t>>2]|0));u=e;return}t=d+12|0;F=f[t>>2]|0;E=d+8|0;if((F|0)==(f[E>>2]|0)){K=F;L=v;M=F}else{f[g>>2]=0;f[g+4>>2]=0;l=JV(g,20)|0;m=342079;o=l+20|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(o|0));EP(-215,g,342024,340405,233);KV(g);K=f[t>>2]|0;L=f[r>>2]|0;M=f[E>>2]|0}r=(L|0)/(K|0)|0;f[i>>2]=1124007936;K=i+4|0;L=i+8|0;m=i+40|0;l=K;o=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(o|0));f[m>>2]=L;l=i+48|0;o=i+44|0;f[o>>2]=l;f[l>>2]=0;f[i+52>>2]=0;if((M|0)>0){M=g+4|0;F=h+4|0;v=j+36|0;d=i+36|0;D=i+16|0;B=j+4|0;C=j+8|0;A=j+12|0;z=i+12|0;y=j+44|0;x=j+16|0;w=j+20|0;q=i+20|0;s=j+24|0;I=i+24|0;H=j+28|0;G=i+28|0;N=j+32|0;O=i+32|0;P=j+40|0;Q=j+48|0;R=g+8|0;S=g+12|0;T=g+4|0;U=g+4|0;V=h+4|0;W=j+8|0;Y=j+12|0;Z=j+4|0;_=k+36|0;$=k+16|0;aa=k+4|0;ba=k+40|0;ca=k+44|0;da=k+48|0;ea=0;do{fa=X(ea,r)|0;ga=ea;ea=ea+1|0;ha=X(ea,r)|0;f[g>>2]=-2147483648;f[M>>2]=2147483647;f[h>>2]=fa;f[F>>2]=ha;YO(j,a,g,h);ha=f[v>>2]|0;if(ha|0){fa=ha+12|0;f[fa>>2]=(f[fa>>2]|0)+1}fa=f[d>>2]|0;if(fa|0?(ha=fa+12|0,fa=f[ha>>2]|0,f[ha>>2]=fa+-1,(fa|0)==1):0)XO(i);f[d>>2]=0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;if((f[K>>2]|0)>0){fa=f[m>>2]|0;ha=0;do{f[fa+(ha<<2)>>2]=0;ha=ha+1|0;ia=f[K>>2]|0}while((ha|0)<(ia|0));f[i>>2]=f[j>>2];if((ia|0)<3)ja=43;else ja=45}else{f[i>>2]=f[j>>2];ja=43}if((ja|0)==43){ja=0;ha=f[B>>2]|0;if((ha|0)<3){f[K>>2]=ha;f[L>>2]=f[C>>2];f[z>>2]=f[A>>2];ha=f[y>>2]|0;fa=f[o>>2]|0;f[fa>>2]=f[ha>>2];f[fa+4>>2]=f[ha+4>>2]}else ja=45}if((ja|0)==45){ja=0;WO(i,j)}f[D>>2]=f[x>>2];f[q>>2]=f[w>>2];f[I>>2]=f[s>>2];f[G>>2]=f[H>>2];f[O>>2]=f[N>>2];ha=f[v>>2]|0;f[d>>2]=ha;if(ha|0?(fa=ha+12|0,ha=f[fa>>2]|0,f[fa>>2]=ha+-1,(ha|0)==1):0)XO(j);f[v>>2]=0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;if((f[B>>2]|0)>0){ha=f[P>>2]|0;fa=0;do{f[ha+(fa<<2)>>2]=0;fa=fa+1|0}while((fa|0)<(f[B>>2]|0))}fa=f[y>>2]|0;if((fa|0)!=(Q|0))dX(fa);f[R>>2]=0;f[S>>2]=0;f[g>>2]=16842752;f[T>>2]=i;J=+IK(g,4,BK()|0);fa=f[E>>2]|0;ha=p+((X(fa+1|0,ga)|0)<<2)|0;n[ha>>2]=J*J;if((ea|0)<(f[t>>2]|0)){ha=ea;do{ka=X(ha,r)|0;la=ha;ha=ha+1|0;ma=X(ha,r)|0;f[g>>2]=-2147483648;f[U>>2]=2147483647;f[h>>2]=ka;f[V>>2]=ma;YO(k,c,g,h);f[W>>2]=0;f[Y>>2]=0;f[j>>2]=16842752;f[Z>>2]=k;J=+mD(i,j);ma=p+((X(f[t>>2]|0,ga)|0)+la<<2)|0;n[ma>>2]=J;ma=f[_>>2]|0;if(ma|0?(ka=ma+12|0,ma=f[ka>>2]|0,f[ka>>2]=ma+-1,(ma|0)==1):0)XO(k);f[_>>2]=0;f[$>>2]=0;f[$+4>>2]=0;f[$+8>>2]=0;f[$+12>>2]=0;if((f[aa>>2]|0)>0){ma=f[ba>>2]|0;ka=0;do{f[ma+(ka<<2)>>2]=0;ka=ka+1|0}while((ka|0)<(f[aa>>2]|0))}ka=f[ca>>2]|0;if((ka|0)!=(da|0))dX(ka);ka=f[t>>2]|0;ma=p+((X(ka,ga)|0)+la<<2)|0;na=p+((X(ka,la)|0)+ga<<2)|0;f[na>>2]=f[ma>>2]}while((ha|0)<(ka|0));oa=f[E>>2]|0}else oa=fa}while((ea|0)<(oa|0));oa=f[d>>2]|0;if((oa|0)!=0?(ea=oa+12|0,oa=f[ea>>2]|0,f[ea>>2]=oa+-1,(oa|0)==1):0){XO(i);pa=d}else pa=d}else pa=i+36|0;f[pa>>2]=0;pa=i+16|0;f[pa>>2]=0;f[pa+4>>2]=0;f[pa+8>>2]=0;f[pa+12>>2]=0;if((f[K>>2]|0)>0){pa=f[m>>2]|0;m=0;do{f[pa+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[K>>2]|0))}K=f[o>>2]|0;if((K|0)!=(l|0))dX(K);u=e;return}function mwa(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;i=i|0;j=j|0;k=+k;l=l|0;var m=0,n=0,o=0;m=u;u=u+16|0;n=m;yV(n,100600);o=EQa(48)|0;LY(o);f[o>>2]=100628;f[o+4>>2]=g;p[o+8>>3]=e;b[o+16>>0]=0;f[o+20>>2]=h;f[o+24>>2]=i;f[o+28>>2]=j;p[o+32>>3]=k;f[o+40>>2]=l;l=EQa(16)|0;j=l+4|0;f[j>>2]=1;f[l>>2]=100740;f[l+8>>2]=o;f[j>>2]=(f[j>>2]|0)+1;i=f[j>>2]|0;f[j>>2]=i+-1;if((i|0)==1)qg[f[(f[l>>2]|0)+8>>2]&1023](l);th[f[(f[o>>2]|0)+32>>2]&255](o,a,c,d);d=f[j>>2]|0;f[j>>2]=d+-1;if((d|0)==1)qg[f[(f[l>>2]|0)+8>>2]&1023](l);if(!(f[n+4>>2]|0)){u=m;return}u=m;return}function nwa(a){a=a|0;GQa(a);return}function owa(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function pwa(a){a=a|0;DY(a);GQa(a);return}function qwa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0.0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0.0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0.0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0.0,wd=0.0,xd=0.0,yd=0,zd=0.0,Ad=0.0,Bd=0.0,Cd=0,Dd=0,Ed=0,Fd=0.0,Gd=0,Hd=0.0,Id=0.0,Jd=0.0,Kd=0.0,Ld=0.0,Md=0.0,Nd=0.0,Od=0.0,Pd=0.0,Qd=0.0,Rd=0.0,Sd=0.0,Td=0.0,Ud=0.0,Vd=0.0,Wd=0,Xd=0.0,Yd=0.0,Zd=0.0,_d=0.0,$d=0.0,ae=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0.0,he=0,ie=0,je=0,ke=0,le=0;g=u;u=u+7040|0;h=g+2128|0;i=g+5968|0;j=g+1064|0;k=g;l=g+4904|0;m=g+3840|0;o=g+3808|0;q=g+3752|0;r=g+3696|0;s=g+3688|0;t=g+3624|0;v=g+3560|0;w=g+3504|0;x=g+3832|0;y=g+3448|0;z=g+3824|0;A=g+3816|0;B=g+3336|0;C=g+3280|0;D=g+3224|0;E=g+3680|0;F=g+3616|0;yV(o,100752);do if((HJ(c)|0)==65536){G=f[c+4>>2]|0;f[q>>2]=f[G>>2];H=q+4|0;I=G+4|0;f[H>>2]=f[I>>2];J=q+8|0;f[J>>2]=f[G+8>>2];f[q+12>>2]=f[G+12>>2];f[q+16>>2]=f[G+16>>2];f[q+20>>2]=f[G+20>>2];f[q+24>>2]=f[G+24>>2];f[q+28>>2]=f[G+28>>2];f[q+32>>2]=f[G+32>>2];K=f[G+36>>2]|0;f[q+36>>2]=K;f[q+40>>2]=J;J=q+48|0;L=q+44|0;f[L>>2]=J;f[J>>2]=0;f[q+52>>2]=0;if(K|0){J=K+12|0;f[J>>2]=(f[J>>2]|0)+1}if((f[I>>2]|0)<3){I=f[G+44>>2]|0;J=f[L>>2]|0;f[J>>2]=f[I>>2];f[J+4>>2]=f[I+4>>2];break}else{f[H>>2]=0;WO(q,G);break}}else DJ(q,c,-1);while(0);do if((HJ(d)|0)==65536){c=f[d+4>>2]|0;f[r>>2]=f[c>>2];G=r+4|0;H=c+4|0;f[G>>2]=f[H>>2];I=r+8|0;f[I>>2]=f[c+8>>2];f[r+12>>2]=f[c+12>>2];f[r+16>>2]=f[c+16>>2];f[r+20>>2]=f[c+20>>2];f[r+24>>2]=f[c+24>>2];f[r+28>>2]=f[c+28>>2];f[r+32>>2]=f[c+32>>2];J=f[c+36>>2]|0;f[r+36>>2]=J;L=r+40|0;f[L>>2]=I;I=r+48|0;K=r+44|0;f[K>>2]=I;f[I>>2]=0;f[r+52>>2]=0;if(J|0){I=J+12|0;f[I>>2]=(f[I>>2]|0)+1}if((f[H>>2]|0)<3){H=f[c+44>>2]|0;I=f[K>>2]|0;f[I>>2]=f[H>>2];f[I+4>>2]=f[H+4>>2];M=L;break}else{f[G>>2]=0;WO(r,c);M=L;break}}else{DJ(r,d,-1);M=r+40|0}while(0);f[s>>2]=q;f[s+4>>2]=r;f[t>>2]=1124007936;d=t+4|0;L=t+8|0;c=t+40|0;G=d;H=G+36|0;do{f[G>>2]=0;G=G+4|0}while((G|0)<(H|0));f[c>>2]=L;I=t+48|0;K=t+44|0;f[K>>2]=I;f[I>>2]=0;f[t+52>>2]=0;f[v>>2]=1124007936;J=v+4|0;N=v+8|0;O=v+40|0;G=J;H=G+36|0;do{f[G>>2]=0;G=G+4|0}while((G|0)<(H|0));f[O>>2]=N;P=v+48|0;Q=v+44|0;f[Q>>2]=P;f[P>>2]=0;f[v+52>>2]=0;f[w>>2]=1124007936;R=w+4|0;S=w+8|0;T=w+40|0;G=R;H=G+36|0;do{f[G>>2]=0;G=G+4|0}while((G|0)<(H|0));f[T>>2]=S;S=w+48|0;V=w+44|0;f[V>>2]=S;f[S>>2]=0;f[w+52>>2]=0;W=f[a+4>>2]|0;Y=q+40|0;Z=f[Y>>2]|0;_=f[Z+4>>2]|0;$=f[Z>>2]|0;Z=f[M>>2]|0;if(((($|0)==(f[Z>>2]|0)?(_|0)==(f[Z+4>>2]|0):0)?(Z=(f[q>>2]|0)>>>3&511,(Z|0)==0?(Z|0)==((f[r>>2]|0)>>>3&511|0):0):0)?+p[a+8>>3]<1.0:0){aa=_;ba=$}else{f[h>>2]=0;f[h+4>>2]=0;G=JV(h,110)|0;ca=342198;H=G+110|0;do{b[G>>0]=b[ca>>0]|0;G=G+1|0;ca=ca+1|0}while((G|0)<(H|0));EP(-215,h,342309,342314,1114);KV(h);$=f[Y>>2]|0;aa=f[$+4>>2]|0;ba=f[$>>2]|0}f[x>>2]=aa;f[x+4>>2]=ba;_J(e,x,13,-1,0,0);do if((HJ(e)|0)==65536){x=f[e+4>>2]|0;f[y>>2]=f[x>>2];ba=y+4|0;aa=x+4|0;f[ba>>2]=f[aa>>2];$=y+8|0;f[$>>2]=f[x+8>>2];f[y+12>>2]=f[x+12>>2];f[y+16>>2]=f[x+16>>2];f[y+20>>2]=f[x+20>>2];f[y+24>>2]=f[x+24>>2];f[y+28>>2]=f[x+28>>2];f[y+32>>2]=f[x+32>>2];_=f[x+36>>2]|0;f[y+36>>2]=_;f[y+40>>2]=$;$=y+48|0;Z=y+44|0;f[Z>>2]=$;f[$>>2]=0;f[y+52>>2]=0;if(_|0){$=_+12|0;f[$>>2]=(f[$>>2]|0)+1}if((f[aa>>2]|0)<3){aa=f[x+44>>2]|0;$=f[Z>>2]|0;f[$>>2]=f[aa>>2];f[$+4>>2]=f[aa+4>>2];break}else{f[ba>>2]=0;WO(y,x);break}}else DJ(y,e,-1);while(0);if((W|0)>0){da=+p[a+8>>3];ea=+(f[q+12>>2]|0);fa=+(f[q+8>>2]|0);ga=1.0;e=0;while(1){ga=ga*da;if(ga*ea<32.0|ga*fa<32.0){ha=e;break}x=e+1|0;if((x|0)>=(W|0)){ha=x;break}else e=x}if((ha|0)>-1){ia=ha;ja=30}else ka=y+36|0}else{ia=0;ja=30}if((ja|0)==30){ha=q+12|0;e=q+8|0;W=v+12|0;x=v+16|0;ba=i+4|0;aa=t+16|0;$=a+40|0;Z=h+8|0;_=h+12|0;la=h+4|0;ma=i+8|0;na=i+4|0;oa=z+4|0;pa=h+8|0;qa=h+4|0;ra=C+4|0;sa=C+8|0;ta=C+40|0;ua=C+48|0;va=C+44|0;wa=C+52|0;xa=D+4|0;ya=D+8|0;za=D+40|0;Aa=D+48|0;Ba=D+44|0;Ca=D+52|0;Da=h+8|0;Ea=h+4|0;Fa=h+8|0;Ga=h+12|0;Ha=h+4|0;Ia=i+8|0;Ja=i+4|0;Ka=E+4|0;La=h+8|0;Ma=h+12|0;Na=h+4|0;Oa=i+8|0;Pa=i+4|0;Qa=F+4|0;Ra=a+28|0;Sa=a+32|0;Ta=C+12|0;Ua=l+8|0;Va=l+4|0;Wa=m+8|0;Xa=m+4|0;Ya=h+4|0;Za=h+8|0;_a=h+40|0;$a=h+48|0;ab=h+44|0;bb=h+52|0;cb=i+8|0;db=i+12|0;eb=i+4|0;fb=h+16|0;gb=i+4|0;hb=i+8|0;ib=i+40|0;jb=i+48|0;kb=i+44|0;lb=i+52|0;mb=i+16|0;nb=i+36|0;ob=h+36|0;pb=C+16|0;qb=h+4|0;rb=B+56|0;sb=a+24|0;tb=v+36|0;ub=t+36|0;vb=t+12|0;wb=v+20|0;xb=t+20|0;yb=v+24|0;zb=t+24|0;Ab=v+28|0;Bb=t+28|0;Cb=v+32|0;Db=t+32|0;Eb=D+36|0;Fb=D+16|0;Gb=C+36|0;Hb=a+20|0;Ib=h+8|0;Jb=h+4|0;Kb=h+8|0;Lb=h+4|0;Mb=i+8|0;Nb=i+4|0;Ob=Mb;Pb=j+8|0;Qb=j+4|0;Rb=k+8|0;Sb=k+4|0;Tb=h+8|0;Ub=h+12|0;Vb=h+4|0;Wb=i+8|0;Xb=i+4|0;Yb=A+4|0;Zb=a+8|0;a=h+8|0;_b=h+4|0;$b=y+36|0;ac=y+4|0;bc=y+8|0;cc=y+12|0;dc=y+44|0;ec=y+16|0;fc=y+20|0;gc=y+24|0;hc=y+28|0;ic=y+32|0;jc=B+4|0;kc=B+8|0;lc=B+40|0;mc=B+48|0;nc=B+44|0;oc=B+52|0;pc=B+56|0;qc=B+60|0;rc=B+64|0;sc=B+96|0;tc=B+104|0;uc=B+100|0;vc=B+108|0;wc=B+56|0;xc=B+92|0;yc=B+72|0;zc=B+60|0;Ac=B+96|0;Bc=B+100|0;Cc=B+104|0;Dc=B+36|0;Ec=B+16|0;Fc=B+4|0;Gc=B+40|0;Hc=B+44|0;Ic=B+48|0;Jc=ia;while(1){ia=(Jc|0)>0;if(ia){fa=+p[Zb>>3];Kc=0;ga=1.0;while(1){ea=ga*fa;Kc=Kc+1|0;if((Kc|0)==(Jc|0)){Lc=ea;break}else ga=ea}}else Lc=1.0;ga=(1.0/Lc+-1.0)*.5;Kc=AEa(ga*5.0)|0|1;Mc=(Kc|0)>3?Kc:3;Kc=AEa(Lc*+(f[ha>>2]|0))|0;Nc=AEa(Lc*+(f[e>>2]|0))|0;do if(ia){if(((f[J>>2]|0)<3?(f[N>>2]|0)==(Nc|0):0)&(f[W>>2]|0)==(Kc|0)?!((f[x>>2]|0)==0?1:(f[v>>2]&4095|0)!=13):0)break;f[i>>2]=Nc;f[ba>>2]=Kc;VO(v,2,i,13)}else{Oc=f[$b>>2]|0;if(Oc|0){Pc=Oc+12|0;f[Pc>>2]=(f[Pc>>2]|0)+1}Pc=f[tb>>2]|0;if(Pc|0?(Oc=Pc+12|0,Pc=f[Oc>>2]|0,f[Oc>>2]=Pc+-1,(Pc|0)==1):0)XO(v);f[tb>>2]=0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;if((f[J>>2]|0)>0){Pc=f[O>>2]|0;Oc=0;do{f[Pc+(Oc<<2)>>2]=0;Oc=Oc+1|0;Qc=f[J>>2]|0}while((Oc|0)<(Qc|0));f[v>>2]=f[y>>2];if((Qc|0)<3)ja=50;else ja=52}else{f[v>>2]=f[y>>2];ja=50}if((ja|0)==50){ja=0;Oc=f[ac>>2]|0;if((Oc|0)<3){f[J>>2]=Oc;f[N>>2]=f[bc>>2];f[W>>2]=f[cc>>2];Oc=f[dc>>2]|0;Pc=f[Q>>2]|0;f[Pc>>2]=f[Oc>>2];f[Pc+4>>2]=f[Oc+4>>2]}else ja=52}if((ja|0)==52){ja=0;WO(v,y)}f[x>>2]=f[ec>>2];f[wb>>2]=f[fc>>2];f[yb>>2]=f[gc>>2];f[Ab>>2]=f[hc>>2];f[Cb>>2]=f[ic>>2];f[tb>>2]=f[$b>>2]}while(0);if(f[aa>>2]|0){Oc=f[d>>2]|0;if((Oc|0)<3)Rc=X(f[vb>>2]|0,f[L>>2]|0)|0;else{Pc=f[c>>2]|0;Sc=0;Tc=1;while(1){Uc=X(f[Pc+(Sc<<2)>>2]|0,Tc)|0;Sc=Sc+1|0;if((Sc|0)==(Oc|0)){Rc=Uc;break}else Tc=Uc}}if(!((Oc|0)==0|(Rc|0)==0)){f[Tb>>2]=0;f[Ub>>2]=0;f[h>>2]=16842752;f[Vb>>2]=t;Tc=Wb;f[Tc>>2]=0;f[Tc+4>>2]=0;f[i>>2]=33619968;f[Xb>>2]=v;f[A>>2]=Kc;f[Yb>>2]=Nc;V5(h,i,A,0.0,0.0,1);fa=1.0/+p[Zb>>3];Tc=a;f[Tc>>2]=0;f[Tc+4>>2]=0;f[h>>2]=33619968;f[_b>>2]=v;AO(v,h,-1,fa,0.0)}else ja=60}else ja=60;do if((ja|0)==60){ja=0;if(!(f[$>>2]&4)){TG(h,Nc,Kc,13);Tc=f[h>>2]|0;th[f[(f[Tc>>2]|0)+12>>2]&255](Tc,h,v,-1);Mi(h);break}else{f[Z>>2]=0;f[_>>2]=0;f[h>>2]=16842752;f[la>>2]=y;Tc=ma;f[Tc>>2]=0;f[Tc+4>>2]=0;f[i>>2]=33619968;f[na>>2]=v;f[z>>2]=Kc;f[oa>>2]=Nc;V5(h,i,z,0.0,0.0,3);Tc=pa;f[Tc>>2]=0;f[Tc+4>>2]=0;f[h>>2]=33619968;f[qa>>2]=v;AO(v,h,-1,Lc,0.0);break}}while(0);f[B>>2]=1124007936;G=jc;H=G+36|0;do{f[G>>2]=0;G=G+4|0}while((G|0)<(H|0));f[lc>>2]=kc;f[nc>>2]=mc;f[mc>>2]=0;f[oc>>2]=0;f[pc>>2]=1124007936;G=qc;H=G+36|0;do{f[G>>2]=0;G=G+4|0}while((G|0)<(H|0));f[sc>>2]=rc;f[uc>>2]=tc;f[tc>>2]=0;f[vc>>2]=0;f[C>>2]=1124007936;G=ra;H=G+36|0;do{f[G>>2]=0;G=G+4|0}while((G|0)<(H|0));f[ta>>2]=sa;f[va>>2]=ua;f[ua>>2]=0;f[wa>>2]=0;f[D>>2]=1124007936;G=xa;H=G+36|0;do{f[G>>2]=0;G=G+4|0}while((G|0)<(H|0));f[za>>2]=ya;f[Ba>>2]=Aa;f[Aa>>2]=0;f[Ca>>2]=0;Oc=0;while(1){Tc=f[s+(Oc<<2)>>2]|0;Sc=Da;f[Sc>>2]=0;f[Sc+4>>2]=0;f[h>>2]=33619968;f[Ea>>2]=w;AO(Tc,h,5,1.0,0.0);f[Fa>>2]=0;f[Ga>>2]=0;f[h>>2]=16842752;f[Ha>>2]=w;Tc=Ia;f[Tc>>2]=0;f[Tc+4>>2]=0;f[i>>2]=33619968;f[Ja>>2]=w;f[E>>2]=Mc;f[Ka>>2]=Mc;n1(h,i,E,ga,ga,4);f[La>>2]=0;f[Ma>>2]=0;f[h>>2]=16842752;f[Na>>2]=w;Tc=Oa;f[Tc>>2]=0;f[Tc+4>>2]=0;f[i>>2]=33619968;f[Pa>>2]=C;f[F>>2]=Kc;f[Qa>>2]=Nc;V5(h,i,F,1.0,0.0,1);Tc=B+(Oc*56|0)|0;Sc=f[Ra>>2]|0;fa=+p[Sa>>3];if((f[C>>2]&4095|0)!=5){f[h>>2]=0;f[qb>>2]=0;G=JV(h,55)|0;ca=342373;H=G+55|0;do{b[G>>0]=b[ca>>0]|0;G=G+1|0;ca=ca+1|0}while((G|0)<(H|0));EP(-215,h,342429,342314,120);KV(h)}Pc=f[Ta>>2]|0;Uc=f[sa>>2]|0;Vc=(Sc*6|0)+3|0;f[l>>2]=Ua;f[Va>>2]=Vc;if(Vc>>>0>264){Wc=FQa(Vc>>>0>1073741823?-1:Vc<<2)|0;f[l>>2]=Wc;Xc=Wc}else Xc=Ua;Wc=Sc<<1;Vc=(Pc+Wc|0)*3|0;f[m>>2]=Wa;f[Xa>>2]=Vc;if(Vc>>>0>264){Yc=FQa(Vc>>>0>1073741823?-1:Vc<<2)|0;f[m>>2]=Yc;Zc=Yc}else Zc=Wa;Yc=Xc+(Sc<<2)|0;Vc=Yc+(Wc<<2)+4|0;_c=Vc+(Wc<<2)+4|0;Wc=Sc*3|0;$c=Zc+(Wc<<2)|0;ea=fa<1.1920928955078125e-07?+(Sc|0)*.3:fa;ad=0-Sc|0;bd=(Sc|0)<(ad|0);if(!bd){da=ea*(ea*2.0);cd=ad;ea=0.0;while(1){dd=+U(+(+(X(cd,0-cd|0)|0)/da));n[Yc+(cd<<2)>>2]=dd;ea=ea+dd;if((cd|0)>=(Sc|0))break;else cd=cd+1|0}da=1.0/ea;cd=ad;while(1){ed=Yc+(cd<<2)|0;fa=da*+n[ed>>2];n[ed>>2]=fa;n[Vc+(cd<<2)>>2]=+(cd|0)*fa;dd=+(X(cd,cd)|0)*fa;n[_c+(cd<<2)>>2]=dd;if((cd|0)<(Sc|0))cd=cd+1|0;else break}}f[h>>2]=1124007936;G=Ya;H=G+36|0;do{f[G>>2]=0;G=G+4|0}while((G|0)<(H|0));f[_a>>2]=Za;f[ab>>2]=$a;f[$a>>2]=0;f[bb>>2]=0;f[i>>2]=6;f[ba>>2]=6;VO(h,2,i,6);p[j>>3]=0.0;f[i>>2]=-1056833530;f[eb>>2]=j;f[cb>>2]=1;f[db>>2]=1;hM(h,i,BK()|0)|0;if(bd){cd=f[fb>>2]|0;fd=cd;gd=cd}else{cd=f[fb>>2]|0;ed=f[f[ab>>2]>>2]|0;hd=cd+ed+8|0;id=cd+(ed*3|0)+24|0;jd=cd+(ed*5|0)+40|0;ed=ad;while(1){da=+n[Yc+(ed<<2)>>2];ea=+(ed|0);kd=ad;while(1){dd=da*+n[Yc+(kd<<2)>>2];p[cd>>3]=+p[cd>>3]+dd;fa=+(kd|0);ld=dd*fa*fa;p[hd>>3]=+p[hd>>3]+ld;p[id>>3]=+p[id>>3]+ld*fa*fa;p[jd>>3]=+p[jd>>3]+ld*ea*ea;if((kd|0)<(Sc|0))kd=kd+1|0;else break}if((ed|0)<(Sc|0))ed=ed+1|0;else{fd=cd;gd=cd;break}}}cd=f[f[ab>>2]>>2]|0;ea=+p[fd+cd+8>>3];ed=fd+(cd<<2)|0;p[ed>>3]=ea;jd=fd+(cd*3|0)|0;p[jd>>3]=ea;p[gd+32>>3]=ea;p[gd+24>>3]=ea;p[gd+(cd<<1)+16>>3]=ea;p[ed+32>>3]=+p[jd+24>>3];ea=+p[fd+(cd*5|0)+40>>3];p[ed+24>>3]=ea;p[jd+32>>3]=ea;RG(k,h,3);G=gb;H=G+36|0;do{f[G>>2]=0;G=G+4|0}while((G|0)<(H|0));f[ib>>2]=hb;f[kb>>2]=jb;f[jb>>2]=0;f[lb>>2]=0;f[i>>2]=1124007942;jd=f[k>>2]|0;th[f[(f[jd>>2]|0)+12>>2]&255](jd,k,i,6);Mi(k);jd=f[mb>>2]|0;ed=f[f[kb>>2]>>2]|0;ea=+p[jd+ed+8>>3];da=+p[jd+24>>3];ld=+p[jd+(ed*3|0)+24>>3];fa=+p[jd+(ed*5|0)+40>>3];ed=f[nb>>2]|0;if(ed|0?(jd=ed+12|0,ed=f[jd>>2]|0,f[jd>>2]=ed+-1,(ed|0)==1):0)XO(i);f[nb>>2]=0;f[mb>>2]=0;f[mb+4>>2]=0;f[mb+8>>2]=0;f[mb+12>>2]=0;if((f[gb>>2]|0)>0){ed=f[ib>>2]|0;jd=0;do{f[ed+(jd<<2)>>2]=0;jd=jd+1|0}while((jd|0)<(f[gb>>2]|0))}jd=f[kb>>2]|0;if((jd|0)!=(jb|0))dX(jd);jd=f[ob>>2]|0;do if(jd|0){ed=jd+12|0;cd=f[ed>>2]|0;f[ed>>2]=cd+-1;if((cd|0)!=1)break;XO(h)}while(0);f[ob>>2]=0;f[fb>>2]=0;f[fb+4>>2]=0;f[fb+8>>2]=0;f[fb+12>>2]=0;if((f[Ya>>2]|0)>0){jd=f[_a>>2]|0;cd=0;do{f[jd+(cd<<2)>>2]=0;cd=cd+1|0}while((cd|0)<(f[Ya>>2]|0))}cd=f[ab>>2]|0;if((cd|0)!=($a|0))dX(cd);do if((f[B+(Oc*56|0)+4>>2]|0)<3){if((f[B+(Oc*56|0)+8>>2]|0)!=(Uc|0)){ja=103;break}if((f[B+(Oc*56|0)+12>>2]|0)!=(Pc|0)){ja=103;break}if((f[Tc>>2]&4095|0)!=37){ja=103;break}if(!(f[B+(Oc*56|0)+16>>2]|0))ja=103}else ja=103;while(0);if((ja|0)==103){ja=0;f[i>>2]=Uc;f[ba>>2]=Pc;VO(Tc,2,i,37)}if((Uc|0)>0){cd=f[pb>>2]|0;jd=f[f[va>>2]>>2]|0;ed=f[B+(Oc*56|0)+16>>2]|0;id=f[f[B+(Oc*56|0)+44>>2]>>2]|0;hd=(Pc|0)>0;ad=(Sc|0)<1;bd=(Sc|0)>0;kd=Pc*3|0;md=Uc+-1|0;nd=Sc+1|0;od=ad|hd^1;pd=0;do{dd=+n[Yc>>2];qd=cd+(X(pd,jd)|0)|0;rd=ed+(X(pd,id)|0)|0;do if(hd){sd=0;do{td=sd*3|0;n[$c+(td<<2)>>2]=dd*+n[qd+(sd<<2)>>2];n[$c+(td+2<<2)>>2]=0.0;n[$c+(td+1<<2)>>2]=0.0;sd=sd+1|0}while((sd|0)!=(Pc|0));if(od)break;else ud=1;do{vd=+n[Yc+(ud<<2)>>2];wd=+n[Vc+(ud<<2)>>2];xd=+n[_c+(ud<<2)>>2];sd=pd-ud|0;td=cd+(X((sd|0)>0?sd:0,jd)|0)|0;sd=ud+pd|0;yd=cd+(X((md|0)<(sd|0)?md:sd,jd)|0)|0;sd=0;do{zd=+n[td+(sd<<2)>>2];Ad=+n[yd+(sd<<2)>>2];Bd=zd+Ad;Cd=sd*3|0;Dd=$c+(Cd<<2)|0;Ed=$c+(Cd+1<<2)|0;Fd=+n[Ed>>2]+wd*(Ad-zd);Gd=$c+(Cd+2<<2)|0;zd=xd*Bd+ +n[Gd>>2];n[Dd>>2]=+n[Dd>>2]+vd*Bd;n[Ed>>2]=Fd;n[Gd>>2]=zd;sd=sd+1|0}while((sd|0)!=(Pc|0));ud=ud+1|0}while((ud|0)!=(nd|0))}while(0);if(bd){qd=0;do{f[$c+(~qd<<2)>>2]=f[$c+(2-qd<<2)>>2];sd=qd+kd|0;f[$c+(sd<<2)>>2]=f[$c+(sd+-3<<2)>>2];qd=qd+1|0}while((qd|0)<(Wc|0))}a:do if(hd){qd=0;vd=dd;while(1){sd=qd*3|0;xd=vd*+n[$c+(sd<<2)>>2];wd=vd*+n[$c+(sd+1<<2)>>2];zd=vd*+n[$c+(sd+2<<2)>>2];if(ad){Hd=0.0;Id=zd;Jd=0.0;Kd=wd;Ld=0.0;Md=xd}else{Fd=0.0;Bd=zd;zd=0.0;Ad=wd;wd=0.0;Nd=xd;sd=1;while(1){yd=(sd+qd|0)*3|0;xd=+n[$c+(yd<<2)>>2];td=(qd-sd|0)*3|0;Od=+n[$c+(td<<2)>>2];Pd=xd+Od;Qd=+n[Yc+(sd<<2)>>2];Rd=Nd+Pd*Qd;Sd=zd+Pd*+n[_c+(sd<<2)>>2];Pd=+n[Vc+(sd<<2)>>2];Td=wd+(xd-Od)*Pd;Od=+n[$c+(yd+1<<2)>>2];xd=+n[$c+(td+1<<2)>>2];Ud=Ad+Qd*(Od+xd);Vd=Fd+Pd*(Od-xd);xd=Bd+Qd*(+n[$c+(yd+2<<2)>>2]+ +n[$c+(td+2<<2)>>2]);sd=sd+1|0;if((sd|0)==(nd|0)){Hd=Vd;Id=xd;Jd=Sd;Kd=Ud;Ld=Td;Md=Rd;break}else{Fd=Vd;Bd=xd;zd=Sd;Ad=Ud;wd=Td;Nd=Rd}}}sd=qd*5|0;n[rd+(sd+1<<2)>>2]=ea*Ld;n[rd+(sd<<2)>>2]=ea*Kd;Nd=da*Md;n[rd+(sd+3<<2)>>2]=Nd+ld*Jd;n[rd+(sd+2<<2)>>2]=Nd+ld*Id;n[rd+(sd+4<<2)>>2]=fa*Hd;sd=qd+1|0;if((sd|0)==(Pc|0))break a;qd=sd;vd=+n[Yc>>2]}}while(0);pd=pd+1|0}while((pd|0)!=(Uc|0))}Uc=f[m>>2]|0;if((Uc|0)!=(Wa|0)){if(Uc|0)HQa(Uc);f[m>>2]=Wa;f[Xa>>2]=264}Uc=f[l>>2]|0;if((Uc|0)!=(Ua|0)){if(Uc|0)HQa(Uc);f[l>>2]=Ua;f[Va>>2]=264}if((Oc|0)<1)Oc=Oc+1|0;else break}Iwa(B,rb,v,D,0,f[N>>2]|0);Oc=f[sb>>2]|0;if((Oc|0)>0){Nc=0;Kc=Oc;do{Oc=f[Hb>>2]|0;Mc=(Nc|0)<(Kc+-1|0);Uc=f[W>>2]|0;pd=f[N>>2]|0;Yc=(Oc|0)/2|0;Pc=1024/(Uc|0)|0;nd=(Pc|0)<(Oc|0)?Oc:Pc;if(!(f[$>>2]&256)){ga=1.0/+(X(Oc,Oc)|0);Pc=(((Yc<<1)+Uc|0)*5|0)+10|0;f[h>>2]=Ib;f[Jb>>2]=Pc;if(Pc>>>0>136){$c=FQa(Pc>>>0>536870911?-1:Pc<<3)|0;f[h>>2]=$c;Wd=$c}else Wd=Ib;$c=(Yc*5|0)+5|0;Pc=Wd+($c<<3)|0;Vc=f[Fb>>2]|0;_c=Uc*5|0;ad=(Uc|0)>0;if(ad){fa=+(Yc+2|0);hd=0;do{p[Pc+(hd<<3)>>3]=+n[Vc+(hd<<2)>>2]*fa;hd=hd+1|0}while((hd|0)<(_c|0))}hd=(Oc|0)>3;if(hd?(Wc=pd+-1|0,kd=f[f[Ba>>2]>>2]|0,ad):0){bd=1;do{jd=Vc+(X((Wc|0)<(bd|0)?Wc:bd,kd)|0)|0;md=0;do{cd=Pc+(md<<3)|0;p[cd>>3]=+p[cd>>3]+ +n[jd+(md<<2)>>2];md=md+1|0}while((md|0)<(_c|0));bd=bd+1|0}while((bd|0)<(Yc|0))}if((pd|0)>0){bd=pd+-1|0;kd=($c|0)>0;fa=+(Yc+2|0);Wc=Pc+8|0;md=Pc+16|0;jd=Pc+24|0;cd=Pc+32|0;od=0;id=Vc;ed=0;while(1){Sc=(f[x>>2]|0)+(X(f[f[Q>>2]>>2]|0,ed)|0)|0;Tc=ed-Yc+-1|0;rd=f[f[Ba>>2]>>2]|0;qd=id+(X(rd,(Tc|0)>0?Tc:0)|0)|0;Tc=ed+Yc|0;sd=id+(X(rd,(bd|0)<(Tc|0)?bd:Tc)|0)|0;if(ad){Tc=0;do{rd=Pc+(Tc<<3)|0;p[rd>>3]=+p[rd>>3]+(+n[sd+(Tc<<2)>>2]-+n[qd+(Tc<<2)>>2]);Tc=Tc+1|0}while((Tc|0)<(_c|0))}if(kd){Tc=0;do{p[Pc+(~Tc<<3)>>3]=+p[Pc+(4-Tc<<3)>>3];qd=Tc+_c|0;p[Pc+(qd<<3)>>3]=+p[Pc+(qd+-5<<3)>>3];Tc=Tc+1|0}while((Tc|0)!=($c|0))}ld=+p[Pc>>3]*fa;da=+p[Wc>>3]*fa;ea=+p[md>>3]*fa;dd=+p[jd>>3]*fa;vd=+p[cd>>3]*fa;if(hd){Nd=ld;wd=da;Ad=ea;zd=vd;Bd=dd;Tc=1;while(1){qd=Tc*5|0;Fd=Nd+ +p[Pc+(qd<<3)>>3];Rd=wd+ +p[Pc+(qd+1<<3)>>3];Td=Ad+ +p[Pc+(qd+2<<3)>>3];Ud=Bd+ +p[Pc+(qd+3<<3)>>3];Sd=zd+ +p[Pc+(qd+4<<3)>>3];Tc=Tc+1|0;if((Tc|0)>=(Yc|0)){Xd=Fd;Yd=Rd;Zd=Td;_d=Sd;$d=Ud;break}else{Nd=Fd;wd=Rd;Ad=Td;zd=Sd;Bd=Ud}}}else{Xd=ld;Yd=da;Zd=ea;_d=vd;$d=dd}if(ad){Bd=Xd;zd=Yd;Ad=Zd;wd=_d;Nd=$d;Tc=0;do{qd=(Tc+Yc|0)*5|0;sd=(Tc-Yc|0)*5|0;Bd=Bd+(+p[Pc+(qd<<3)>>3]-+p[Pc+(sd+-5<<3)>>3]);zd=zd+(+p[Pc+(qd+1<<3)>>3]-+p[Pc+(sd+-4<<3)>>3]);Ad=Ad+(+p[Pc+(qd+2<<3)>>3]-+p[Pc+(sd+-3<<3)>>3]);Nd=Nd+(+p[Pc+(qd+3<<3)>>3]-+p[Pc+(sd+-2<<3)>>3]);wd=wd+(+p[Pc+(qd+4<<3)>>3]-+p[Pc+(sd+-1<<3)>>3]);Ud=ga*Bd;Sd=ga*zd;Td=ga*Ad;Rd=ga*Nd;Fd=ga*wd;xd=1.0/(Ud*Td-Sd*Sd+.001);sd=Tc<<1;n[Sc+(sd<<2)>>2]=xd*(Ud*Fd-Sd*Rd);n[Sc+((sd|1)<<2)>>2]=xd*(Td*Rd-Sd*Fd);Tc=Tc+1|0}while((Tc|0)!=(Uc|0))}Tc=(ed|0)==(bd|0)?pd:ed-Oc|0;do if(Mc){if((Tc|0)!=(pd|0)&(Tc|0)<(od+nd|0)){ae=od;break}Iwa(B,rb,v,D,od,Tc);ae=Tc}else ae=od;while(0);Tc=ed+1|0;if((Tc|0)>=(pd|0))break;od=ae;id=f[Fb>>2]|0;ed=Tc}be=f[h>>2]|0}else be=Wd;if((be|0)!=(Ib|0)){if(be|0)HQa(be);f[h>>2]=Ib;f[Jb>>2]=136}}else{ga=+(Yc|0)*.3;ed=Yc<<1;id=((ed+Uc|0)*5|0)+26|0;f[h>>2]=Kb;f[Lb>>2]=id;if(id>>>0>264){od=FQa(id>>>0>1073741823?-1:id<<2)|0;f[h>>2]=od;ce=od}else ce=Kb;od=Uc*5|0;id=od+16|0;f[i>>2]=Mb;f[Nb>>2]=id;if(id>>>0>264){bd=FQa(id>>>0>1073741823?-1:id<<2)|0;f[i>>2]=bd;de=bd}else de=Ob;bd=Yc*5|0;id=bd+21|0;f[j>>2]=Pb;f[Qb>>2]=id;if(id>>>0>264){Pc=FQa(id>>>0>1073741823?-1:id<<2)|0;f[j>>2]=Pc;ee=Pc}else ee=Pb;Pc=ed|1;f[k>>2]=Rb;f[Sb>>2]=Pc;if(Pc>>>0>264){ed=FQa(Pc>>>0>1073741823?-1:Pc<<2)|0;f[k>>2]=ed;fe=ed}else fe=Rb;ed=ce+(bd+5<<2)+15&-16;Pc=de+15&-16;n[ee>>2]=1.0;id=(Oc|0)<2;if(id)ge=1.0;else{fa=ga*(ga*2.0);ad=1;ga=1.0;while(1){wd=+U(+(+(X(ad,0-ad|0)|0)/fa));n[ee+(ad<<2)>>2]=wd;Nd=ga+wd*2.0;if((ad|0)==(Yc|0)){ge=Nd;break}else{ad=ad+1|0;ga=Nd}}}ga=1.0/ge;ad=(Oc|0)<-1;if(!ad){hd=0;while(1){cd=ee+(hd<<2)|0;n[cd>>2]=ga*+n[cd>>2];if((hd|0)==(Yc|0))break;else hd=hd+1|0}}if((pd|0)>0){hd=(Uc|0)>0;cd=fe+(Yc<<2)|0;jd=(bd|0)>0;md=pd+-1|0;Wc=Yc+1|0;$c=0;_c=0;while(1){kd=(f[x>>2]|0)+(X(f[f[Q>>2]>>2]|0,$c)|0)|0;if(!ad){Vc=f[Fb>>2]|0;Tc=f[f[Ba>>2]>>2]|0;Sc=0;do{sd=$c-Sc|0;qd=Vc+(X((sd|0)>0?sd:0,Tc)|0)|0;f[fe+(Yc-Sc<<2)>>2]=qd;qd=Sc+$c|0;sd=Vc+(X((md|0)<(qd|0)?md:qd,Tc)|0)|0;f[fe+(Sc+Yc<<2)>>2]=sd;Sc=Sc+1|0}while((Sc|0)!=(Wc|0))}b:do if(hd){Sc=f[cd>>2]|0;if(id){Tc=0;while(1){n[ed+(Tc<<2)>>2]=+n[Sc+(Tc<<2)>>2]*+n[ee>>2];Tc=Tc+1|0;if((Tc|0)>=(od|0))break b}}else he=0;do{ga=+n[Sc+(he<<2)>>2]*+n[ee>>2];Tc=1;do{ga=ga+(+n[(f[fe+(Tc+Yc<<2)>>2]|0)+(he<<2)>>2]+ +n[(f[fe+(Yc-Tc<<2)>>2]|0)+(he<<2)>>2])*+n[ee+(Tc<<2)>>2];Tc=Tc+1|0}while((Tc|0)!=(Wc|0));n[ed+(he<<2)>>2]=ga;he=he+1|0}while((he|0)<(od|0))}while(0);if(jd){Sc=0;do{f[ed+(~Sc<<2)>>2]=f[ed+(4-Sc<<2)>>2];Tc=Sc+od|0;f[ed+(Tc<<2)>>2]=f[ed+(Tc+-5<<2)>>2];Sc=Sc+1|0}while((Sc|0)!=(bd|0))}if(hd){if(id){Sc=0;do{n[Pc+(Sc<<2)>>2]=+n[ed+(Sc<<2)>>2]*+n[ee>>2];Sc=Sc+1|0}while((Sc|0)<(od|0));ie=0}else{Sc=0;do{fa=+n[ed+(Sc<<2)>>2]*+n[ee>>2];Tc=1;do{Vc=Tc*5|0;fa=fa+ +n[ee+(Tc<<2)>>2]*(+n[ed+(Sc-Vc<<2)>>2]+ +n[ed+(Vc+Sc<<2)>>2]);Tc=Tc+1|0}while((Tc|0)!=(Wc|0));n[Pc+(Sc<<2)>>2]=fa;Sc=Sc+1|0}while((Sc|0)<(od|0));ie=0}do{Sc=ie*5|0;Nd=+n[Pc+(Sc<<2)>>2];wd=+n[Pc+(Sc+1<<2)>>2];Ad=+n[Pc+(Sc+2<<2)>>2];zd=+n[Pc+(Sc+3<<2)>>2];Bd=+n[Pc+(Sc+4<<2)>>2];dd=1.0/(Nd*Ad-wd*wd+.001);Sc=ie<<1;n[kd+(Sc<<2)>>2]=(Nd*Bd-wd*zd)*dd;n[kd+((Sc|1)<<2)>>2]=(Ad*zd-wd*Bd)*dd;ie=ie+1|0}while((ie|0)!=(Uc|0))}kd=($c|0)==(md|0)?pd:$c-Oc|0;do if(Mc){if((kd|0)!=(pd|0)&(kd|0)<(_c+nd|0)){je=_c;break}Iwa(B,rb,v,D,_c,kd);je=kd}else je=_c;while(0);$c=$c+1|0;if(($c|0)>=(pd|0))break;else _c=je}ke=f[k>>2]|0}else ke=fe;if((ke|0)!=(Rb|0)){if(ke|0)HQa(ke);f[k>>2]=Rb;f[Sb>>2]=264}_c=f[j>>2]|0;if((_c|0)!=(Pb|0)){if(_c|0)HQa(_c);f[j>>2]=Pb;f[Qb>>2]=264}_c=f[i>>2]|0;if((_c|0)!=(Mb|0)){if(_c|0)HQa(_c);f[i>>2]=Mb;f[Nb>>2]=264}_c=f[h>>2]|0;if((_c|0)!=(Kb|0)){if(_c|0)HQa(_c);f[h>>2]=Kb;f[Lb>>2]=264}}Nc=Nc+1|0;Kc=f[sb>>2]|0}while((Nc|0)<(Kc|0))}Kc=f[tb>>2]|0;if(Kc|0){Nc=Kc+12|0;f[Nc>>2]=(f[Nc>>2]|0)+1}Nc=f[ub>>2]|0;if(Nc|0?(Kc=Nc+12|0,Nc=f[Kc>>2]|0,f[Kc>>2]=Nc+-1,(Nc|0)==1):0)XO(t);f[ub>>2]=0;f[aa>>2]=0;f[aa+4>>2]=0;f[aa+8>>2]=0;f[aa+12>>2]=0;if((f[d>>2]|0)>0){Nc=f[c>>2]|0;Kc=0;do{f[Nc+(Kc<<2)>>2]=0;Kc=Kc+1|0;le=f[d>>2]|0}while((Kc|0)<(le|0));f[t>>2]=f[v>>2];if((le|0)<3)ja=228;else ja=230}else{f[t>>2]=f[v>>2];ja=228}if((ja|0)==228){ja=0;Kc=f[J>>2]|0;if((Kc|0)<3){f[d>>2]=Kc;f[L>>2]=f[N>>2];f[vb>>2]=f[W>>2];Kc=f[Q>>2]|0;Nc=f[K>>2]|0;f[Nc>>2]=f[Kc>>2];f[Nc+4>>2]=f[Kc+4>>2]}else ja=230}if((ja|0)==230){ja=0;WO(t,v)}f[aa>>2]=f[x>>2];f[xb>>2]=f[wb>>2];f[zb>>2]=f[yb>>2];f[Bb>>2]=f[Ab>>2];f[Db>>2]=f[Cb>>2];f[ub>>2]=f[tb>>2];Kc=f[Eb>>2]|0;if(Kc|0?(Nc=Kc+12|0,Kc=f[Nc>>2]|0,f[Nc>>2]=Kc+-1,(Kc|0)==1):0)XO(D);f[Eb>>2]=0;f[Fb>>2]=0;f[Fb+4>>2]=0;f[Fb+8>>2]=0;f[Fb+12>>2]=0;if((f[xa>>2]|0)>0){Kc=f[za>>2]|0;Nc=0;do{f[Kc+(Nc<<2)>>2]=0;Nc=Nc+1|0}while((Nc|0)<(f[xa>>2]|0))}Nc=f[Ba>>2]|0;if((Nc|0)!=(Aa|0))dX(Nc);Nc=f[Gb>>2]|0;if(Nc|0?(Kc=Nc+12|0,Nc=f[Kc>>2]|0,f[Kc>>2]=Nc+-1,(Nc|0)==1):0)XO(C);f[Gb>>2]=0;f[pb>>2]=0;f[pb+4>>2]=0;f[pb+8>>2]=0;f[pb+12>>2]=0;if((f[ra>>2]|0)>0){Nc=f[ta>>2]|0;Kc=0;do{f[Nc+(Kc<<2)>>2]=0;Kc=Kc+1|0}while((Kc|0)<(f[ra>>2]|0))}Kc=f[va>>2]|0;if((Kc|0)!=(ua|0))dX(Kc);Kc=f[xc>>2]|0;do if(Kc|0){Nc=Kc+12|0;_c=f[Nc>>2]|0;f[Nc>>2]=_c+-1;if((_c|0)!=1)break;XO(wc)}while(0);f[xc>>2]=0;f[yc>>2]=0;f[yc+4>>2]=0;f[yc+8>>2]=0;f[yc+12>>2]=0;if((f[zc>>2]|0)>0){Kc=f[Ac>>2]|0;_c=0;do{f[Kc+(_c<<2)>>2]=0;_c=_c+1|0}while((_c|0)<(f[zc>>2]|0))}_c=f[Bc>>2]|0;if((_c|0)!=(Cc|0))dX(_c);_c=f[Dc>>2]|0;do if(_c|0){Kc=_c+12|0;Nc=f[Kc>>2]|0;f[Kc>>2]=Nc+-1;if((Nc|0)!=1)break;XO(B)}while(0);f[Dc>>2]=0;f[Ec>>2]=0;f[Ec+4>>2]=0;f[Ec+8>>2]=0;f[Ec+12>>2]=0;if((f[Fc>>2]|0)>0){_c=f[Gc>>2]|0;Nc=0;do{f[_c+(Nc<<2)>>2]=0;Nc=Nc+1|0}while((Nc|0)<(f[Fc>>2]|0))}Nc=f[Hc>>2]|0;if((Nc|0)!=(Ic|0))dX(Nc);if(ia)Jc=Jc+-1|0;else{ka=$b;break}}}$b=f[ka>>2]|0;if($b|0?(Jc=$b+12|0,$b=f[Jc>>2]|0,f[Jc>>2]=$b+-1,($b|0)==1):0)XO(y);f[ka>>2]=0;ka=y+16|0;$b=y+4|0;f[ka>>2]=0;f[ka+4>>2]=0;f[ka+8>>2]=0;f[ka+12>>2]=0;if((f[$b>>2]|0)>0){ka=f[y+40>>2]|0;Jc=0;do{f[ka+(Jc<<2)>>2]=0;Jc=Jc+1|0}while((Jc|0)<(f[$b>>2]|0))}$b=f[y+44>>2]|0;if(($b|0)!=(y+48|0))dX($b);$b=w+36|0;y=f[$b>>2]|0;if(y|0?(Jc=y+12|0,y=f[Jc>>2]|0,f[Jc>>2]=y+-1,(y|0)==1):0)XO(w);f[$b>>2]=0;$b=w+16|0;f[$b>>2]=0;f[$b+4>>2]=0;f[$b+8>>2]=0;f[$b+12>>2]=0;if((f[R>>2]|0)>0){$b=f[T>>2]|0;T=0;do{f[$b+(T<<2)>>2]=0;T=T+1|0}while((T|0)<(f[R>>2]|0))}R=f[V>>2]|0;if((R|0)!=(S|0))dX(R);R=v+36|0;S=f[R>>2]|0;if(S|0?(V=S+12|0,S=f[V>>2]|0,f[V>>2]=S+-1,(S|0)==1):0)XO(v);f[R>>2]=0;R=v+16|0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;f[R+12>>2]=0;if((f[J>>2]|0)>0){R=f[O>>2]|0;O=0;do{f[R+(O<<2)>>2]=0;O=O+1|0}while((O|0)<(f[J>>2]|0))}J=f[Q>>2]|0;if((J|0)!=(P|0))dX(J);J=t+36|0;P=f[J>>2]|0;if(P|0?(Q=P+12|0,P=f[Q>>2]|0,f[Q>>2]=P+-1,(P|0)==1):0)XO(t);f[J>>2]=0;J=t+16|0;f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[J+12>>2]=0;if((f[d>>2]|0)>0){J=f[c>>2]|0;c=0;do{f[J+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[d>>2]|0))}d=f[K>>2]|0;if((d|0)!=(I|0))dX(d);d=r+36|0;I=f[d>>2]|0;if(I|0?(K=I+12|0,I=f[K>>2]|0,f[K>>2]=I+-1,(I|0)==1):0)XO(r);f[d>>2]=0;d=r+16|0;I=r+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[I>>2]|0)>0){d=f[M>>2]|0;M=0;do{f[d+(M<<2)>>2]=0;M=M+1|0}while((M|0)<(f[I>>2]|0))}I=f[r+44>>2]|0;if((I|0)!=(r+48|0))dX(I);I=q+36|0;r=f[I>>2]|0;do if(r|0){M=r+12|0;d=f[M>>2]|0;f[M>>2]=d+-1;if((d|0)!=1)break;XO(q)}while(0);f[I>>2]=0;I=q+16|0;r=q+4|0;f[I>>2]=0;f[I+4>>2]=0;f[I+8>>2]=0;f[I+12>>2]=0;if((f[r>>2]|0)>0){I=f[Y>>2]|0;Y=0;do{f[I+(Y<<2)>>2]=0;Y=Y+1|0}while((Y|0)<(f[r>>2]|0))}r=f[q+44>>2]|0;if((r|0)!=(q+48|0))dX(r);if(!(f[o+4>>2]|0)){u=g;return}u=g;return}function rwa(a){a=a|0;return}function swa(a){a=a|0;return f[a+4>>2]|0}function twa(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function uwa(a){a=a|0;return +(+p[a+8>>3])}function vwa(a,b){a=a|0;b=+b;p[a+8>>3]=b;return}function wwa(a){a=a|0;return (b[a+16>>0]|0)!=0|0}function xwa(a,c){a=a|0;c=c|0;b[a+16>>0]=c&1;return}function ywa(a){a=a|0;return f[a+20>>2]|0}function zwa(a,b){a=a|0;b=b|0;f[a+20>>2]=b;return}function Awa(a){a=a|0;return f[a+24>>2]|0}function Bwa(a,b){a=a|0;b=b|0;f[a+24>>2]=b;return}function Cwa(a){a=a|0;return f[a+28>>2]|0}function Dwa(a,b){a=a|0;b=b|0;f[a+28>>2]=b;return}function Ewa(a){a=a|0;return +(+p[a+32>>3])}function Fwa(a,b){a=a|0;b=+b;p[a+32>>3]=b;return}function Gwa(a){a=a|0;return f[a+40>>2]|0}function Hwa(a,b){a=a|0;b=b|0;f[a+40>>2]=b;return}function Iwa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0,V=0,W=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0;h=u;u=u+16|0;i=h;j=f[c+12>>2]|0;k=f[c+8>>2]|0;l=f[b+16>>2]|0;m=(f[b+48>>2]|0)>>>2;if(!(((((f[d+4>>2]|0)<3?(f[d+8>>2]|0)==(k|0):0)?(f[d+12>>2]|0)==(j|0):0)?(f[d>>2]&4095|0)==37:0)?(f[d+16>>2]|0)!=0:0)){f[i>>2]=k;f[i+4>>2]=j;VO(d,2,i,37)}if((e|0)>=(g|0)){u=h;return}i=f[c+16>>2]|0;b=f[f[c+44>>2]>>2]|0;c=f[a+16>>2]|0;o=f[f[a+44>>2]>>2]|0;a=f[d+16>>2]|0;p=f[f[d+44>>2]>>2]|0;d=(j|0)>0;q=j+-1|0;r=k+-1|0;s=m+5|0;t=m+1|0;v=m+6|0;w=m+2|0;x=m+7|0;y=m+3|0;z=m+8|0;A=m+4|0;B=m+9|0;C=j+-10|0;D=k+-10|0;E=j+-5|0;F=k+-5|0;k=e;do{e=i+(X(b,k)|0)|0;G=c+(X(o,k)|0)|0;H=a+(X(p,k)|0)|0;if(d){I=+(k|0);J=(k+-5|0)>>>0>=D>>>0;K=(k|0)<5;L=100772+(k<<2)|0;M=(k|0)<(F|0);N=100772+(r-k<<2)|0;O=0;do{P=O<<1;Q=+n[e+(P<<2)>>2];R=+n[e+((P|1)<<2)>>2];S=Q+ +(O|0);T=R+I;P=~~S;U=P-(S<+(P|0)&1)|0;P=~~T;V=P-(T<+(P|0)&1)|0;P=l+((X(V,m)|0)<<2)+(U*5<<2)|0;W=S-+(U|0);S=T-+(V|0);if(U>>>0>>0&V>>>0>>0){T=1.0-W;Y=1.0-S;Z=T*Y;_=W*Y;Y=T*S;T=W*S;V=O*5|0;$=Z*+n[P>>2]+_*+n[P+20>>2]+Y*+n[P+(m<<2)>>2]+T*+n[P+(s<<2)>>2];aa=(Z*+n[P+16>>2]+_*+n[P+36>>2]+Y*+n[P+(A<<2)>>2]+T*+n[P+(B<<2)>>2]+ +n[G+(V+4<<2)>>2])*.25;ba=(Z*+n[P+12>>2]+_*+n[P+32>>2]+Y*+n[P+(y<<2)>>2]+T*+n[P+(z<<2)>>2]+ +n[G+(V+3<<2)>>2])*.5;ca=(Z*+n[P+8>>2]+_*+n[P+28>>2]+Y*+n[P+(w<<2)>>2]+T*+n[P+(x<<2)>>2]+ +n[G+(V+2<<2)>>2])*.5;da=Z*+n[P+4>>2]+_*+n[P+24>>2]+Y*+n[P+(t<<2)>>2]+T*+n[P+(v<<2)>>2];ea=V}else{V=O*5|0;$=0.0;aa=+n[G+(V+4<<2)>>2]*.5;ba=+n[G+(V+3<<2)>>2];ca=+n[G+(V+2<<2)>>2];da=0.0;ea=V}V=ea+1|0;T=R*ca+Q*aa+(+n[G+(ea<<2)>>2]-$)*.5;Y=Q*ba+R*aa+(+n[G+(V<<2)>>2]-da)*.5;if((O+-5|0)>>>0>=C>>>0|J){if((O|0)<5)fa=+n[100772+(O<<2)>>2];else fa=1.0;if((O|0)<(E|0))ga=1.0;else ga=+n[100772+(q-O<<2)>>2];if(K)ha=+n[L>>2];else ha=1.0;if(M)ia=1.0;else ia=+n[N>>2];R=fa*ga*ha*ia;ja=T*R;ka=aa*R;la=ba*R;ma=ca*R;na=Y*R}else{ja=T;ka=aa;la=ba;ma=ca;na=Y}Y=ka*ka;n[H+(ea<<2)>>2]=ma*ma+Y;n[H+(V<<2)>>2]=(ma+la)*ka;n[H+(ea+2<<2)>>2]=la*la+Y;n[H+(ea+3<<2)>>2]=na*ka+ma*ja;n[H+(ea+4<<2)>>2]=na*la+ka*ja;O=O+1|0}while((O|0)!=(j|0))}k=k+1|0}while((k|0)!=(g|0));u=h;return}function Jwa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+112|0;e=d+72|0;g=d+16|0;h=d;i=c+16|0;if(((((f[i>>2]|0)!=0?(f[c+4>>2]|0)<3:0)?(f[c+8>>2]|0)==3:0)?(f[c+12>>2]|0)==3:0)?(j=f[c>>2]|0,(j&4088|0)==0):0)k=j;else{f[e>>2]=0;f[e+4>>2]=0;l=JV(e,62)|0;m=342857;n=l+62|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-215,e,342920,346774,1293);KV(e);k=f[c>>2]|0}if((k&20479|0)==16389){k=f[i>>2]|0;f[a>>2]=f[k>>2];f[a+4>>2]=f[k+4>>2];f[a+8>>2]=f[k+8>>2];f[a+12>>2]=f[k+12>>2];f[a+16>>2]=f[k+16>>2];f[a+20>>2]=f[k+20>>2];f[a+24>>2]=f[k+24>>2];f[a+28>>2]=f[k+28>>2];f[a+32>>2]=f[k+32>>2];u=d;return}l=e;n=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(n|0));k=f[c+8>>2]|0;i=f[c+12>>2]|0;j=g+4|0;f[j>>2]=2;o=g+8|0;f[o>>2]=k;f[g+12>>2]=i;p=g+16|0;f[p>>2]=e;f[g+20>>2]=e;q=g+24|0;r=g+40|0;s=q+8|0;f[s>>2]=0;f[s+4>>2]=0;f[r>>2]=o;o=g+48|0;s=g+44|0;f[s>>2]=o;t=i<<2;f[g>>2]=1124024325;f[o>>2]=t;f[g+52>>2]=4;i=e+(X(k,t)|0)|0;f[g+28>>2]=i;f[q>>2]=i+(0-t)+t;t=h+8|0;f[t>>2]=0;f[t+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=g;AO(c,h,5,1.0,0.0);l=a;m=e;n=l+36|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));m=g+36|0;l=f[m>>2]|0;if(l|0?(n=l+12|0,l=f[n>>2]|0,f[n>>2]=l+-1,(l|0)==1):0)XO(g);f[m>>2]=0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;if((f[j>>2]|0)>0){p=f[r>>2]|0;r=0;do{f[p+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[j>>2]|0))}j=f[s>>2]|0;if((j|0)!=(o|0))dX(j);u=d;return}function Kwa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+144|0;e=d;g=d+88|0;h=d+72|0;i=c+16|0;if(((((f[i>>2]|0)!=0?(f[c+4>>2]|0)<3:0)?(f[c+8>>2]|0)==3:0)?(f[c+12>>2]|0)==3:0)?(j=f[c>>2]|0,(j&4088|0)==0):0)k=j;else{f[e>>2]=0;f[e+4>>2]=0;l=JV(e,62)|0;m=342857;n=l+62|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-215,e,342920,346774,1293);KV(e);k=f[c>>2]|0}if((k&20479|0)==16390){k=f[i>>2]|0;p[a>>3]=+p[k>>3];p[a+8>>3]=+p[k+8>>3];p[a+16>>3]=+p[k+16>>3];p[a+24>>3]=+p[k+24>>3];p[a+32>>3]=+p[k+32>>3];p[a+40>>3]=+p[k+40>>3];p[a+48>>3]=+p[k+48>>3];p[a+56>>3]=+p[k+56>>3];p[a+64>>3]=+p[k+64>>3];u=d;return}l=e;n=l+72|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(n|0));k=f[c+8>>2]|0;i=f[c+12>>2]|0;j=g+4|0;f[j>>2]=2;o=g+8|0;f[o>>2]=k;f[g+12>>2]=i;q=g+16|0;f[q>>2]=e;f[g+20>>2]=e;r=g+24|0;s=g+40|0;t=r+8|0;f[t>>2]=0;f[t+4>>2]=0;f[s>>2]=o;o=g+48|0;t=g+44|0;f[t>>2]=o;v=i<<3;f[g>>2]=1124024326;f[o>>2]=v;f[g+52>>2]=8;i=e+(X(k,v)|0)|0;f[g+28>>2]=i;f[r>>2]=i+(0-v)+v;v=h+8|0;f[v>>2]=0;f[v+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=g;AO(c,h,6,1.0,0.0);l=a;m=e;n=l+72|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));m=g+36|0;l=f[m>>2]|0;if(l|0?(n=l+12|0,l=f[n>>2]|0,f[n>>2]=l+-1,(l|0)==1):0)XO(g);f[m>>2]=0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;if((f[j>>2]|0)>0){q=f[s>>2]|0;s=0;do{f[q+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[j>>2]|0))}j=f[t>>2]|0;if((j|0)!=(o|0))dX(j);u=d;return} +function QT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0.0,k=0,l=0.0,m=0,o=0.0,q=0,r=0.0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=u;u=u+16|0;e=d;yV(e,40820);g=c+-4|0;if((c|0)<4)h=0;else{i=0;do{j=+n[a+(i<<2)>>2];k=i|1;l=+n[a+(k<<2)>>2];m=i|2;o=+n[a+(m<<2)>>2];q=i|3;r=+n[a+(q<<2)>>2];t=(n[s>>2]=j,f[s>>2]|0);v=(t&2130706432)>>>0>1149239296?((t|0)<0?-192.0e3:192.0e3):j*92.33248261689366;t=(n[s>>2]=l,f[s>>2]|0);j=(t&2130706432)>>>0>1149239296?((t|0)<0?-192.0e3:192.0e3):l*92.33248261689366;t=(n[s>>2]=o,f[s>>2]|0);l=(t&2130706432)>>>0>1149239296?((t|0)<0?-192.0e3:192.0e3):o*92.33248261689366;t=(n[s>>2]=r,f[s>>2]|0);o=(t&2130706432)>>>0>1149239296?((t|0)<0?-192.0e3:192.0e3):r*92.33248261689366;t=AEa(v)|0;w=AEa(j)|0;x=AEa(l)|0;y=AEa(o)|0;r=(v-+(t|0))*.015625;v=(j-+(w|0))*.015625;j=(l-+(x|0))*.015625;l=(o-+(y|0))*.015625;z=t>>6;A=z+127|0;B=w>>6;C=B+127|0;D=x>>6;E=D+127|0;F=y>>6;G=F+127|0;o=+p[10952+((t&63)<<3)>>3]*(f[s>>2]=(A>>>0>255?((z|0)<-127?0:255):A)<<23,+n[s>>2])*(r*(r*(r*(r+5.73953104019165)+24.84149932861328)+71.67741394042969)+103.40864562988281);r=+p[10952+((w&63)<<3)>>3]*(f[s>>2]=(C>>>0>255?((B|0)<-127?0:255):C)<<23,+n[s>>2])*(v*(v*(v*(v+5.73953104019165)+24.84149932861328)+71.67741394042969)+103.40864562988281);n[b+(i<<2)>>2]=o;n[b+(k<<2)>>2]=r;r=+p[10952+((x&63)<<3)>>3]*(f[s>>2]=(E>>>0>255?((D|0)<-127?0:255):E)<<23,+n[s>>2])*(j*(j*(j*(j+5.73953104019165)+24.84149932861328)+71.67741394042969)+103.40864562988281);j=+p[10952+((y&63)<<3)>>3]*(f[s>>2]=(G>>>0>255?((F|0)<-127?0:255):G)<<23,+n[s>>2])*(l*(l*(l*(l+5.73953104019165)+24.84149932861328)+71.67741394042969)+103.40864562988281);n[b+(m<<2)>>2]=r;n[b+(q<<2)>>2]=j;i=i+4|0}while((i|0)<=(g|0));h=c&-4}if((h|0)<(c|0)){g=h;do{j=+n[a+(g<<2)>>2];h=(n[s>>2]=j,f[s>>2]|0);r=(h&2130706432)>>>0>1149239296?((h|0)<0?-192.0e3:192.0e3):j*92.33248261689366;h=AEa(r)|0;i=h>>6;q=i+127|0;j=(r-+(h|0))*.015625;n[b+(g<<2)>>2]=+p[10952+((h&63)<<3)>>3]*(f[s>>2]=(q>>>0>255?((i|0)<-127?0:255):q)<<23,+n[s>>2])*(j*(j*(j*(j+5.73953104019165)+24.84149932861328)+71.67741394042969)+103.40864562988281);g=g+1|0}while((g|0)!=(c|0))}if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function RT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0.0,k=0,l=0.0,m=0,n=0.0,o=0,q=0.0,r=0,t=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=u;u=u+16|0;e=d;yV(e,40840);g=c+-4|0;if((c|0)<4)h=0;else{i=0;do{j=+p[a+(i<<3)>>3];k=i|1;l=+p[a+(k<<3)>>3];m=i|2;n=+p[a+(m<<3)>>3];o=i|3;q=+p[a+(o<<3)>>3];p[s>>3]=j;r=zVa(f[s>>2]|0,f[s+4>>2]|0,52)|0;t=(r&2046)>>>0>1033?((r|0)<0?-192.0e3:192.0e3):j*92.33248261689366;p[s>>3]=l;r=zVa(f[s>>2]|0,f[s+4>>2]|0,52)|0;j=(r&2046)>>>0>1033?((r|0)<0?-192.0e3:192.0e3):l*92.33248261689366;p[s>>3]=n;r=zVa(f[s>>2]|0,f[s+4>>2]|0,52)|0;l=(r&2046)>>>0>1033?((r|0)<0?-192.0e3:192.0e3):n*92.33248261689366;p[s>>3]=q;r=zVa(f[s>>2]|0,f[s+4>>2]|0,52)|0;n=(r&2046)>>>0>1033?((r|0)<0?-192.0e3:192.0e3):q*92.33248261689366;r=AEa(t)|0;v=AEa(j)|0;w=AEa(l)|0;x=AEa(n)|0;q=(t-+(r|0))*.015625;t=(j-+(v|0))*.015625;j=(l-+(w|0))*.015625;l=(n-+(x|0))*.015625;y=r>>6;z=y+1023|0;A=BVa((z>>>0>2047?((y|0)<-1023?0:2047):z)|0,0,52)|0;z=I;y=v>>6;B=y+1023|0;C=BVa((B>>>0>2047?((y|0)<-1023?0:2047):B)|0,0,52)|0;B=I;y=w>>6;D=y+1023|0;E=BVa((D>>>0>2047?((y|0)<-1023?0:2047):D)|0,0,52)|0;D=I;y=x>>6;F=y+1023|0;G=BVa((F>>>0>2047?((y|0)<-1023?0:2047):F)|0,0,52)|0;F=I;f[s>>2]=A;f[s+4>>2]=z;n=+p[10952+((r&63)<<3)>>3]*+p[s>>3]*(q*(q*(q*(q*(q*.13825440165858396+.9945944344074722)+5.7396048189422615)+24.841498169168357)+71.67741243389332)+103.4086474621308);f[s>>2]=C;f[s+4>>2]=B;q=+p[10952+((v&63)<<3)>>3]*+p[s>>3]*(t*(t*(t*(t*(t*.13825440165858396+.9945944344074722)+5.7396048189422615)+24.841498169168357)+71.67741243389332)+103.4086474621308);p[b+(i<<3)>>3]=n;p[b+(k<<3)>>3]=q;f[s>>2]=E;f[s+4>>2]=D;q=+p[10952+((w&63)<<3)>>3]*+p[s>>3]*(j*(j*(j*(j*(j*.13825440165858396+.9945944344074722)+5.7396048189422615)+24.841498169168357)+71.67741243389332)+103.4086474621308);f[s>>2]=G;f[s+4>>2]=F;j=+p[10952+((x&63)<<3)>>3]*+p[s>>3]*(l*(l*(l*(l*(l*.13825440165858396+.9945944344074722)+5.7396048189422615)+24.841498169168357)+71.67741243389332)+103.4086474621308);p[b+(m<<3)>>3]=q;p[b+(o<<3)>>3]=j;i=i+4|0}while((i|0)<=(g|0));h=c&-4}if((h|0)<(c|0)){g=h;do{j=+p[a+(g<<3)>>3];p[s>>3]=j;h=zVa(f[s>>2]|0,f[s+4>>2]|0,52)|0;q=(h&2046)>>>0>1033?((h|0)<0?-192.0e3:192.0e3):j*92.33248261689366;h=AEa(q)|0;i=h>>6;o=i+1023|0;m=BVa((o>>>0>2047?((i|0)<-1023?0:2047):o)|0,0,52)|0;o=I;j=(q-+(h|0))*.015625;f[s>>2]=m;f[s+4>>2]=o;p[b+(g<<3)>>3]=+p[10952+((h&63)<<3)>>3]*+p[s>>3]*(j*(j*(j*(j*(j*.13825440165858396+.9945944344074722)+5.7396048189422615)+24.841498169168357)+71.67741243389332)+103.4086474621308);g=g+1|0}while((g|0)!=(c|0))}if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function ST(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,t=0,v=0,w=0.0,x=0.0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0;d=u;u=u+16|0;e=d;yV(e,40860);g=c+-4|0;if((c|0)<4)h=0;else{i=0;do{j=f[a+(i<<2)>>2]|0;k=i|1;l=f[a+(k<<2)>>2]|0;m=j>>>14&510;o=l>>>14&510;q=i|2;r=f[a+(q<<2)>>2]|0;t=i|3;v=f[a+(t<<2)>>2]|0;w=((f[s>>2]=j&32767|1065353216,+n[s>>2])+-1.0)*+p[16+((m|1)<<3)>>3];x=((f[s>>2]=l&32767|1065353216,+n[s>>2])+-1.0)*+p[16+((o|1)<<3)>>3];y=r>>>14&510;z=v>>>14&510;A=+p[16+(y<<3)>>3]+ +((r>>>23&255)+-127|0)*.6931471805599453;B=+p[16+(z<<3)>>3]+ +((v>>>23&255)+-127|0)*.6931471805599453;C=((f[s>>2]=r&32767|1065353216,+n[s>>2])+-1.0)*+p[16+((y|1)<<3)>>3];D=((f[s>>2]=v&32767|1065353216,+n[s>>2])+-1.0)*+p[16+((z|1)<<3)>>3];E=w+ +n[40880+(((m|0)==510&1)<<2)>>2];w=x+ +n[40880+(((o|0)==510&1)<<2)>>2];x=+p[16+(o<<3)>>3]+ +((l>>>23&255)+-127|0)*.6931471805599453+w*(w*(w*.3333333432674408+-.5)+1.0);n[b+(i<<2)>>2]=+p[16+(m<<3)>>3]+ +((j>>>23&255)+-127|0)*.6931471805599453+E*(E*(E*.3333333432674408+-.5)+1.0);n[b+(k<<2)>>2]=x;x=C+ +n[40880+(((y|0)==510&1)<<2)>>2];C=D+ +n[40880+(((z|0)==510&1)<<2)>>2];n[b+(q<<2)>>2]=A+x*(x*(x*.3333333432674408+-.5)+1.0);n[b+(t<<2)>>2]=B+C*(C*(C*.3333333432674408+-.5)+1.0);i=i+4|0}while((i|0)<=(g|0));h=c&-4}if((h|0)<(c|0)){g=h;do{h=f[a+(g<<2)>>2]|0;i=h>>>14&510;C=+n[40880+(((i|0)==510&1)<<2)>>2]+ +p[16+((i|1)<<3)>>3]*((f[s>>2]=h&32767|1065353216,+n[s>>2])+-1.0);n[b+(g<<2)>>2]=+p[16+(i<<3)>>3]+ +((h>>>23&255)+-127|0)*.6931471805599453+C*(C*(C*.3333333432674408+-.5)+1.0);g=g+1|0}while((g|0)!=(c|0))}if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function TT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0.0,r=0,t=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0;d=u;u=u+16|0;e=d;yV(e,40888);g=c+-4|0;if((c|0)<4)h=0;else{i=0;do{j=a+(i<<3)|0;k=i|1;l=a+(k<<3)|0;m=f[l>>2]|0;n=f[j+4>>2]|0;o=f[l+4>>2]|0;f[s>>2]=f[j>>2];f[s+4>>2]=n&4095|1072693248;q=+p[s>>3];f[s>>2]=m;f[s+4>>2]=o&4095|1072693248;m=i|2;j=a+(m<<3)|0;l=i|3;r=a+(l<<3)|0;t=f[r>>2]|0;v=n>>>11&510;w=o>>>11&510;x=+p[16+(v<<3)>>3]+ +((n>>>20&2047)+-1023|0)*.6931471805599453;y=+p[16+(w<<3)>>3]+ +((o>>>20&2047)+-1023|0)*.6931471805599453;o=f[j+4>>2]|0;n=f[r+4>>2]|0;z=(q+-1.0)*+p[16+((v|1)<<3)>>3];q=(+p[s>>3]+-1.0)*+p[16+((w|1)<<3)>>3];f[s>>2]=f[j>>2];f[s+4>>2]=o&4095|1072693248;A=+p[s>>3];f[s>>2]=t;f[s+4>>2]=n&4095|1072693248;t=o>>>11&510;j=n>>>11&510;B=+p[16+(t<<3)>>3]+ +((o>>>20&2047)+-1023|0)*.6931471805599453;C=+p[16+(j<<3)>>3]+ +((n>>>20&2047)+-1023|0)*.6931471805599453;D=+p[16+((t|1)<<3)>>3]*(A+-1.0);A=+p[16+((j|1)<<3)>>3]*(+p[s>>3]+-1.0);E=z+ +p[11464+(((v|0)==510&1)<<3)>>3];z=E*E;F=q+ +p[11464+(((w|0)==510&1)<<3)>>3];q=F*F;p[b+(i<<3)>>3]=x+(z*(z*(z*(-.16666666666666666-z*.125)+-.25)+-.5)+E*(z*(z*(z*.14285714285714288+.2)+.3333333333333333)+1.0));p[b+(k<<3)>>3]=y+(q*(q*(q*(-.16666666666666666-q*.125)+-.25)+-.5)+F*(q*(q*(q*.14285714285714288+.2)+.3333333333333333)+1.0));q=D+ +p[11464+(((t|0)==510&1)<<3)>>3];D=q*q;F=A+ +p[11464+(((j|0)==510&1)<<3)>>3];A=F*F;p[b+(m<<3)>>3]=B+(D*(D*(D*(-.16666666666666666-D*.125)+-.25)+-.5)+q*(D*(D*(D*.14285714285714288+.2)+.3333333333333333)+1.0));p[b+(l<<3)>>3]=C+(A*(A*(A*(-.16666666666666666-A*.125)+-.25)+-.5)+F*(A*(A*(A*.14285714285714288+.2)+.3333333333333333)+1.0));i=i+4|0}while((i|0)<=(g|0));h=c&-4}if((h|0)<(c|0)){g=h;do{h=a+(g<<3)|0;i=f[h+4>>2]|0;f[s>>2]=f[h>>2];f[s+4>>2]=i&4095|1072693248;h=i>>>11&510;A=+p[11464+(((h|0)==510&1)<<3)>>3]+ +p[16+((h|1)<<3)>>3]*(+p[s>>3]+-1.0);F=A*A;p[b+(g<<3)>>3]=+p[16+(h<<3)>>3]+ +((i>>>20&2047)+-1023|0)*.6931471805599453+(F*(F*(F*(-.16666666666666666-F*.125)+-.25)+-.5)+A*(F*(F*(F*.14285714285714288+.2)+.3333333333333333)+1.0));g=g+1|0}while((g|0)!=(c|0))}if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function UT(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;g=u;u=u+16|0;h=g;yV(h,40908);OT(a,b,c,d,e);if(!(f[h+4>>2]|0)){u=g;return}u=g;return}function VT(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;g=u;u=u+16|0;h=g;yV(h,40928);PT(a,b,c,d,e);if(!(f[h+4>>2]|0)){u=g;return}u=g;return}function WT(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0.0,j=0.0,k=0.0;e=u;u=u+16|0;g=e+8|0;h=e;yV(h,40948);yV(g,40700);if((d|0)>0){g=0;do{i=+n[a+(g<<2)>>2];j=+n[b+(g<<2)>>2];k=+L(+(i*i+j*j));n[c+(g<<2)>>2]=k;g=g+1|0}while((g|0)!=(d|0))}if(!(f[h+4>>2]|0)){u=e;return}u=e;return}function XT(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0.0,j=0.0,k=0.0;e=u;u=u+16|0;g=e+8|0;h=e;yV(h,40968);yV(g,40720);if((d|0)>0){g=0;do{i=+p[a+(g<<3)>>3];j=+p[b+(g<<3)>>3];k=+L(+(i*i+j*j));p[c+(g<<3)>>3]=k;g=g+1|0}while((g|0)!=(d|0))}if(!(f[h+4>>2]|0)){u=e;return}u=e;return}function YT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0.0;d=u;u=u+16|0;e=d+8|0;g=d;yV(g,40988);yV(e,40740);if((c|0)>0){e=0;do{h=1.0/+L(+(+n[a+(e<<2)>>2]));n[b+(e<<2)>>2]=h;e=e+1|0}while((e|0)!=(c|0))}if(!(f[g+4>>2]|0)){u=d;return}u=d;return}function ZT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0.0;d=u;u=u+16|0;e=d+8|0;g=d;yV(g,41008);yV(e,40760);if((c|0)>0){e=0;do{h=1.0/+L(+(+p[a+(e<<3)>>3]));p[b+(e<<3)>>3]=h;e=e+1|0}while((e|0)!=(c|0))}if(!(f[g+4>>2]|0)){u=d;return}u=d;return}function _T(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0.0;d=u;u=u+16|0;e=d+8|0;g=d;yV(g,41028);yV(e,40780);if((c|0)>0){e=0;do{h=+L(+(+n[a+(e<<2)>>2]));n[b+(e<<2)>>2]=h;e=e+1|0}while((e|0)!=(c|0))}if(!(f[g+4>>2]|0)){u=d;return}u=d;return}function $T(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0.0;d=u;u=u+16|0;e=d+8|0;g=d;yV(g,41048);yV(e,40800);if((c|0)>0){e=0;do{h=+L(+(+p[a+(e<<3)>>3]));p[b+(e<<3)>>3]=h;e=e+1|0}while((e|0)!=(c|0))}if(!(f[g+4>>2]|0)){u=d;return}u=d;return}function aU(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;yV(e,41068);QT(a,b,c);if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function bU(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;yV(e,41088);RT(a,b,c);if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function cU(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;yV(e,41108);ST(a,b,c);if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function dU(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;yV(e,41128);TT(a,b,c);if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function eU(a,b){a=+a;b=+b;var c=0.0,d=0.0,e=0.0,f=0.0,g=0.0;c=+K(+b);d=+K(+a);if(!(c>=d)){e=c/(d+2.220446049250313e-16);f=e*e;g=90.0-e*(f*(f*(8.914000511169434-f*2.539724588394165)+-18.66744613647461)+57.283626556396484)}else{f=d/(c+2.220446049250313e-16);c=f*f;g=f*(c*(c*(8.914000511169434-c*2.539724588394165)+-18.66744613647461)+57.283626556396484)}c=b<0.0?180.0-g:g;return +(a<0.0?360.0-c:c)}function fU(a){a=a|0;return}function gU(a,b){a=a|0;b=b|0;var c=0,d=0;switch(b|0){case 0:{b=EQa(16)|0;f[b+4>>2]=8;f[b+8>>2]=16;f[b+12>>2]=1;f[b>>2]=41156;c=EQa(16)|0;d=c+4|0;f[d>>2]=1;f[c>>2]=41188;f[c+8>>2]=b;f[a>>2]=c;f[a+4>>2]=b;f[d>>2]=(f[d>>2]|0)+1;b=f[d>>2]|0;f[d>>2]=b+-1;if((b|0)!=1)return;qg[f[(f[c>>2]|0)+8>>2]&1023](c);return}case 1:{c=EQa(16)|0;f[c+4>>2]=8;f[c+8>>2]=16;f[c+12>>2]=1;f[c>>2]=41208;b=EQa(16)|0;d=b+4|0;f[d>>2]=1;f[b>>2]=41240;f[b+8>>2]=c;f[a>>2]=b;f[a+4>>2]=c;f[d>>2]=(f[d>>2]|0)+1;c=f[d>>2]|0;f[d>>2]=c+-1;if((c|0)!=1)return;qg[f[(f[b>>2]|0)+8>>2]&1023](b);return}case 2:{b=EQa(16)|0;f[b+4>>2]=8;f[b+8>>2]=16;f[b+12>>2]=1;f[b>>2]=41260;c=EQa(16)|0;d=c+4|0;f[d>>2]=1;f[c>>2]=41292;f[c+8>>2]=b;f[a>>2]=c;f[a+4>>2]=b;f[d>>2]=(f[d>>2]|0)+1;b=f[d>>2]|0;f[d>>2]=b+-1;if((b|0)!=1)return;qg[f[(f[c>>2]|0)+8>>2]&1023](c);return}case 3:{c=EQa(16)|0;f[c+4>>2]=8;f[c+8>>2]=16;f[c+12>>2]=1;f[c>>2]=41312;b=EQa(16)|0;d=b+4|0;f[d>>2]=1;f[b>>2]=41344;f[b+8>>2]=c;f[a>>2]=b;f[a+4>>2]=c;f[d>>2]=(f[d>>2]|0)+1;c=f[d>>2]|0;f[d>>2]=c+-1;if((c|0)!=1)return;qg[f[(f[b>>2]|0)+8>>2]&1023](b);return}case 4:{b=EQa(16)|0;f[b+4>>2]=8;f[b+8>>2]=16;f[b+12>>2]=1;f[b>>2]=41364;c=EQa(16)|0;d=c+4|0;f[d>>2]=1;f[c>>2]=41396;f[c+8>>2]=b;f[a>>2]=c;f[a+4>>2]=b;f[d>>2]=(f[d>>2]|0)+1;b=f[d>>2]|0;f[d>>2]=b+-1;if((b|0)!=1)return;qg[f[(f[c>>2]|0)+8>>2]&1023](c);return}case 5:{c=EQa(16)|0;f[c+4>>2]=8;f[c+8>>2]=16;f[c+12>>2]=1;f[c>>2]=41416;b=EQa(16)|0;d=b+4|0;f[d>>2]=1;f[b>>2]=41448;f[b+8>>2]=c;f[a>>2]=b;f[a+4>>2]=c;f[d>>2]=(f[d>>2]|0)+1;c=f[d>>2]|0;f[d>>2]=c+-1;if((c|0)!=1)return;qg[f[(f[b>>2]|0)+8>>2]&1023](b);return}default:{b=EQa(16)|0;f[b+4>>2]=8;f[b+8>>2]=16;f[b+12>>2]=1;f[b>>2]=41156;c=EQa(16)|0;d=c+4|0;f[d>>2]=1;f[c>>2]=41188;f[c+8>>2]=b;f[a>>2]=c;f[a+4>>2]=b;f[d>>2]=(f[d>>2]|0)+1;b=f[d>>2]|0;f[d>>2]=b+-1;if((b|0)!=1)return;qg[f[(f[c>>2]|0)+8>>2]&1023](c);return}}}function hU(a){a=a|0;GQa(a);return}function iU(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function jU(a){a=a|0;GQa(a);return}function kU(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+32|0;g=e+18|0;h=e+8|0;i=e;j=e+17|0;k=e+16|0;b[g>>0]=b[174354]|0;b[g+1>>0]=b[174355]|0;b[g+2>>0]=b[174356]|0;b[g+3>>0]=b[174357]|0;b[g+4>>0]=b[174358]|0;f[i>>2]=g;if((f[d+8>>2]|0)==1)l=1;else l=(f[c+12>>2]|0)==0&1;b[j>>0]=l;b[k>>0]=0;oU(h,174359,174361,d,i,j,k,(f[d>>2]&7|0)==6?c+8|0:c+4|0);c=f[h>>2]|0;f[a>>2]=c;f[a+4>>2]=f[h+4>>2];a=c;if(!c){m=h;n=a}else{c=a+4|0;f[c>>2]=(f[c>>2]|0)+1;m=h;n=f[h>>2]|0}if(!n){f[m>>2]=0;u=e;return}h=n+4|0;c=f[h>>2]|0;f[h>>2]=c+-1;if((c|0)!=1){f[m>>2]=0;u=e;return}qg[f[(f[n>>2]|0)+8>>2]&1023](n);f[m>>2]=0;u=e;return}function lU(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function mU(a,b){a=a|0;b=b|0;f[a+8>>2]=b;return}function nU(a,b){a=a|0;b=b|0;f[a+12>>2]=b&1;return}function oU(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;k=u;u=u+80|0;l=k+64|0;m=k+56|0;n=k;o=EQa(156)|0;f[l>>2]=0;f[l+4>>2]=0;p=nCa(c)|0;if(p|0)DVa(JV(l,p)|0,c|0,p|0)|0;f[m>>2]=0;f[m+4>>2]=0;p=nCa(d)|0;if(p|0)DVa(JV(m,p)|0,d|0,p|0)|0;f[n>>2]=f[e>>2];p=n+4|0;d=e+4|0;c=f[d>>2]|0;f[p>>2]=c;q=n+8|0;f[q>>2]=f[e+8>>2];f[n+12>>2]=f[e+12>>2];r=n+16|0;f[r>>2]=f[e+16>>2];f[n+20>>2]=f[e+20>>2];f[n+24>>2]=f[e+24>>2];f[n+28>>2]=f[e+28>>2];f[n+32>>2]=f[e+32>>2];s=n+36|0;t=f[e+36>>2]|0;f[s>>2]=t;v=n+40|0;f[v>>2]=q;q=n+48|0;w=n+44|0;f[w>>2]=q;f[q>>2]=0;f[n+52>>2]=0;if(!t)x=c;else{c=t+12|0;f[c>>2]=(f[c>>2]|0)+1;x=f[d>>2]|0}if((x|0)<3){x=f[e+44>>2]|0;d=f[w>>2]|0;f[d>>2]=f[x>>2];f[d+4>>2]=f[x+4>>2]}else{f[p>>2]=0;WO(n,e)}pU(o,l,m,n,f[g>>2]|0,(b[h>>0]|0)!=0,(b[i>>0]|0)!=0,f[j>>2]|0);j=EQa(16)|0;f[j+4>>2]=1;f[j>>2]=41468;f[j+8>>2]=o;f[a>>2]=j;f[a+4>>2]=o;o=f[s>>2]|0;if(o|0?(a=o+12|0,o=f[a>>2]|0,f[a>>2]=o+-1,(o|0)==1):0)XO(n);f[s>>2]=0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;if((f[p>>2]|0)>0){r=f[v>>2]|0;v=0;do{f[r+(v<<2)>>2]=0;v=v+1|0}while((v|0)<(f[p>>2]|0))}p=f[w>>2]|0;if((p|0)==(q|0)){KV(m);KV(l);u=k;return}dX(p);KV(m);KV(l);u=k;return}function pU(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;k=u;u=u+16|0;l=k;m=k+8|0;n=h&1;h=i&1;f[a>>2]=41488;i=a+44|0;f[i>>2]=1124007936;o=a+48|0;p=a+52|0;q=a+84|0;r=o;s=r+36|0;do{f[r>>2]=0;r=r+4|0}while((r|0)<(s|0));f[q>>2]=p;t=a+92|0;v=a+88|0;f[v>>2]=t;f[t>>2]=0;f[a+96>>2]=0;t=a+124|0;w=a+128|0;x=a+132|0;y=a+136|0;z=e+4|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;if((f[z>>2]|0)>=3){f[m>>2]=0;f[m+4>>2]=0;r=JV(m,11)|0;A=174436;s=r+11|0;do{b[r>>0]=b[A>>0]|0;r=r+1|0;A=A+1|0}while((r|0)<(s|0));EP(-215,m,174448,174462,86);KV(m)}if((t|0)!=(c|0)){KV(t);m=f[c>>2]|0;if(!m)B=0;else{A=m+-4|0;f[A>>2]=(f[A>>2]|0)+1;B=f[c>>2]|0}f[t>>2]=B;f[w>>2]=f[c+4>>2]}if((x|0)!=(d|0)){KV(x);c=f[d>>2]|0;if(!c)C=0;else{w=c+-4|0;f[w>>2]=(f[w>>2]|0)+1;C=f[d>>2]|0}f[x>>2]=C;f[y>>2]=f[d+4>>2]}if((i|0)!=(e|0)){d=e+36|0;y=f[d>>2]|0;if(y|0){C=y+12|0;f[C>>2]=(f[C>>2]|0)+1}C=a+80|0;y=f[C>>2]|0;if(y|0?(x=y+12|0,y=f[x>>2]|0,f[x>>2]=y+-1,(y|0)==1):0)XO(i);f[C>>2]=0;y=a+60|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;if((f[o>>2]|0)>0){x=f[q>>2]|0;q=0;do{f[x+(q<<2)>>2]=0;q=q+1|0;D=f[o>>2]|0}while((q|0)<(D|0));f[i>>2]=f[e>>2];if((D|0)<3)E=22;else E=24}else{f[i>>2]=f[e>>2];E=22}if((E|0)==22){D=f[z>>2]|0;if((D|0)<3){f[o>>2]=D;f[p>>2]=f[e+8>>2];f[a+56>>2]=f[e+12>>2];p=f[e+44>>2]|0;D=f[v>>2]|0;f[D>>2]=f[p>>2];f[D+4>>2]=f[p+4>>2]}else E=24}if((E|0)==24)WO(i,e);f[y>>2]=f[e+16>>2];f[a+64>>2]=f[e+20>>2];f[a+68>>2]=f[e+24>>2];f[a+72>>2]=f[e+28>>2];f[a+76>>2]=f[e+32>>2];f[C>>2]=f[d>>2]}f[a+100>>2]=((f[e>>2]|0)>>>3&511)+1;e=a+140|0;b[e>>0]=b[g>>0]|0;b[e+1>>0]=b[g+1>>0]|0;b[e+2>>0]=b[g+2>>0]|0;b[e+3>>0]=b[g+3>>0]|0;b[e+4>>0]=b[g+4>>0]|0;f[a+108>>2]=0;b[a+104>>0]=n;b[a+105>>0]=h;f[a+120>>2]=0;f[a+116>>2]=0;f[a+112>>2]=0;h=a+4|0;if((j|0)<0){b[h>>0]=37;b[a+5>>0]=97;b[a+6>>0]=0}else{f[l>>2]=(j|0)<20?j:20;IP(h,8,174514,l)|0}switch(f[i>>2]&7){case 0:{F=906;G=0;break}case 1:{F=905;G=0;break}case 2:{F=907;G=0;break}case 3:{F=908;G=0;break}case 4:{F=909;G=0;break}case 5:{F=910;G=0;break}case 6:{F=911;G=0;break}default:{F=912;G=0}}f[a+148>>2]=F;f[a+152>>2]=G;u=k;return}function qU(a){a=a|0;GQa(a);return}function rU(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+12>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function sU(a){a=a|0;b[a+12>>0]=0;return}function tU(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;b=u;u=u+16|0;c=b;d=f[a+88>>2]|0;e=(f[a+60>>2]|0)+(X(f[d>>2]|0,f[a+112>>2]|0)|0)|0;g=e+(X(f[d+4>>2]|0,f[a+116>>2]|0)|0)|0;p[c>>3]=+p[g+(f[a+120>>2]<<3)>>3];lDa(a+12|0,a+4|0,c)|0;u=b;return}function uU(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;b=u;u=u+16|0;c=b;d=f[a+88>>2]|0;e=(f[a+60>>2]|0)+(X(f[d>>2]|0,f[a+112>>2]|0)|0)|0;g=e+(X(f[d+4>>2]|0,f[a+116>>2]|0)|0)|0;p[c>>3]=+n[g+(f[a+120>>2]<<2)>>2];lDa(a+12|0,a+4|0,c)|0;u=b;return}function vU(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;b=u;u=u+16|0;c=b;d=f[a+88>>2]|0;e=(f[a+60>>2]|0)+(X(f[d>>2]|0,f[a+112>>2]|0)|0)|0;g=e+(X(f[d+4>>2]|0,f[a+116>>2]|0)|0)|0;f[c>>2]=f[g+(f[a+120>>2]<<2)>>2];lDa(a+12|0,174525,c)|0;u=b;return}function wU(a){a=a|0;var b=0,c=0,e=0,g=0,h=0;b=u;u=u+16|0;c=b;e=f[a+88>>2]|0;g=(f[a+60>>2]|0)+(X(f[e>>2]|0,f[a+112>>2]|0)|0)|0;h=g+(X(f[e+4>>2]|0,f[a+116>>2]|0)|0)|0;f[c>>2]=d[h+(f[a+120>>2]<<1)>>1];lDa(a+12|0,174525,c)|0;u=b;return}function xU(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;b=u;u=u+16|0;c=b;d=f[a+88>>2]|0;e=(f[a+60>>2]|0)+(X(f[d>>2]|0,f[a+112>>2]|0)|0)|0;g=e+(X(f[d+4>>2]|0,f[a+116>>2]|0)|0)|0;f[c>>2]=j[g+(f[a+120>>2]<<1)>>1];lDa(a+12|0,174525,c)|0;u=b;return}function yU(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;b=u;u=u+16|0;c=b;d=f[a+88>>2]|0;e=(f[a+60>>2]|0)+(X(f[d>>2]|0,f[a+112>>2]|0)|0)|0;g=e+(X(f[d+4>>2]|0,f[a+116>>2]|0)|0)|0;f[c>>2]=h[g+(f[a+120>>2]|0)>>0];lDa(a+12|0,174521,c)|0;u=b;return}function zU(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=u;u=u+16|0;d=c;e=f[a+88>>2]|0;g=(f[a+60>>2]|0)+(X(f[e>>2]|0,f[a+112>>2]|0)|0)|0;h=g+(X(f[e+4>>2]|0,f[a+116>>2]|0)|0)|0;f[d>>2]=b[h+(f[a+120>>2]|0)>>0];lDa(a+12|0,174521,d)|0;u=c;return}function AU(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+16|0;d=c+8|0;e=c;g=a+108|0;do switch(f[g>>2]|0){case 0:{f[a+112>>2]=0;if(f[a+60>>2]|0){h=f[a+48>>2]|0;if((h|0)<3)i=X(f[a+56>>2]|0,f[a+52>>2]|0)|0;else{j=f[a+84>>2]|0;k=0;l=1;while(1){m=X(f[j+(k<<2)>>2]|0,l)|0;k=k+1|0;if((k|0)==(h|0)){i=m;break}else l=m}}if(!((h|0)==0|(i|0)==0))n=b[a+105>>0]|0?2:3;else n=1}else n=1;f[g>>2]=n;l=f[a+124>>2]|0;o=(l|0)==0?1079437:l;u=c;return o|0}case 2:{f[g>>2]=3;l=a+112|0;if((f[l>>2]|0)<(f[a+52>>2]|0)){k=a+12|0;f[d>>2]=(f[a+120>>2]|0)+1;lDa(k,174544,d)|0;o=k;u=c;return o|0}k=a+120|0;j=f[k>>2]|0;m=j+1|0;f[k>>2]=m;if((m|0)<(f[a+100>>2]|0)){f[l>>2]=0;l=a+12|0;f[e>>2]=j+2;lDa(l,174528,e)|0;o=l;u=c;return o|0}else{f[g>>2]=1;l=a+12|0;b[l>>0]=0;o=l;u=c;return o|0}break}case 1:{f[g>>2]=8;l=f[a+132>>2]|0;o=(l|0)==0?1079437:l;u=c;return o|0}case 3:{f[a+116>>2]=0;f[g>>2]=5;if((f[a+112>>2]|0)>0?(l=a+128|0,(f[l>>2]|0)!=0):0){j=0;while(1){m=j+1|0;b[a+12+j>>0]=32;if(m>>>0<30?m>>>0<(f[l>>2]|0)>>>0:0)j=m;else{p=m;break}}}else p=0;j=b[a+140>>0]|0;if(!(j<<24>>24))if(!p){o=Wf[f[f[a>>2]>>2]&255](a)|0;u=c;return o|0}else q=p;else{b[a+12+p>>0]=j;q=p+1|0}b[a+12+q>>0]=0;o=a+12|0;u=c;return o|0}case 4:{f[g>>2]=9;j=a+112|0;l=(f[j>>2]|0)+1|0;f[j>>2]=l;j=b[a+141>>0]|0;if(j<<24>>24){h=a+12|0;b[h>>0]=j;b[a+13>>0]=(l|0)<(f[a+52>>2]|0)?44:0;b[a+14>>0]=0;o=h;u=c;return o|0}h=b[a+142>>0]|0;if(h<<24>>24?(l|0)<(f[a+52>>2]|0):0){l=a+12|0;b[l>>0]=h;b[a+13>>0]=0;o=l;u=c;return o|0}o=Wf[f[f[a>>2]>>2]&255](a)|0;u=c;return o|0}case 5:{f[g>>2]=7;if(!(b[a+105>>0]|0))f[a+120>>2]=0;if((f[a+100>>2]|0)>1?(l=b[a+143>>0]|0,l<<24>>24):0){h=a+12|0;b[h>>0]=l;b[a+13>>0]=0;o=h;u=c;return o|0}o=Wf[f[f[a>>2]>>2]&255](a)|0;u=c;return o|0}case 6:{h=a+116|0;l=(f[h>>2]|0)+1|0;f[h>>2]=l;f[g>>2]=(l|0)>=(f[a+56>>2]|0)?4:10;if((f[a+100>>2]|0)>1?(l=b[a+144>>0]|0,l<<24>>24):0){h=a+12|0;b[h>>0]=l;b[a+13>>0]=0;o=h;u=c;return o|0}o=Wf[f[f[a>>2]>>2]&255](a)|0;u=c;return o|0}case 7:{h=f[a+148>>2]|0;l=f[a+152>>2]|0;j=a+(l>>1)|0;if(!(l&1))r=h;else r=f[(f[j>>2]|0)+h>>2]|0;qg[r&1023](j);f[g>>2]=6;if(b[a+105>>0]|0){o=a+12|0;u=c;return o|0}j=a+120|0;h=(f[j>>2]|0)+1|0;f[j>>2]=h;if((h|0)<(f[a+100>>2]|0))f[g>>2]=11;o=a+12|0;u=c;return o|0}case 11:{f[g>>2]=7;h=a+12|0;b[h>>0]=44;b[a+13>>0]=32;b[a+14>>0]=0;o=h;u=c;return o|0}case 9:{if((f[a+112>>2]|0)<(f[a+52>>2]|0)){f[g>>2]=3;h=a+12|0;b[h>>0]=b[a+104>>0]|0?32:10;b[a+13>>0]=0;o=h;u=c;return o|0}else{f[g>>2]=b[a+105>>0]|0?2:1;o=Wf[f[f[a>>2]>>2]&255](a)|0;u=c;return o|0}break}case 10:{f[g>>2]=5;h=a+12|0;b[h>>0]=44;b[a+13>>0]=32;b[a+14>>0]=0;o=h;u=c;return o|0}default:{o=0;u=c;return o|0}}while(0);return 0}function BU(a){a=a|0;f[a+108>>2]=0;return}function CU(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=41488;KV(a+132|0);KV(a+124|0);b=a+44|0;c=a+80|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+60|0;b=a+48|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+84>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+88>>2]|0;if((b|0)==(a+92|0))return;dX(b);return}function DU(a){a=a|0;CU(a);GQa(a);return}function EU(a){a=a|0;GQa(a);return}function FU(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function GU(a){a=a|0;GQa(a);return}function HU(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+32|0;g=e;h=e+26|0;i=e+16|0;j=e+8|0;k=e+25|0;l=e+24|0;b[h>>0]=b[174693]|0;b[h+1>>0]=b[174694]|0;b[h+2>>0]=b[174695]|0;b[h+3>>0]=b[174696]|0;b[h+4>>0]=b[174697]|0;if((f[d+12>>2]|0)==1){b[h+1>>0]=0;b[h>>0]=0}f[g>>2]=f[41504+((f[d>>2]&7)<<2)>>2];LP(j,174698,g);f[g>>2]=h;if((f[d+8>>2]|0)==1)m=1;else m=(f[c+12>>2]|0)==0&1;b[k>>0]=m;b[l>>0]=0;IU(i,174713,j,d,g,k,l,(f[d>>2]&7|0)==6?c+8|0:c+4|0);c=f[i>>2]|0;f[a>>2]=c;d=i+4|0;f[a+4>>2]=f[d>>2];a=c;if(!c){n=i;o=a}else{c=a+4|0;f[c>>2]=(f[c>>2]|0)+1;n=i;o=f[i>>2]|0}if(!o){f[n>>2]=0;f[d>>2]=0;KV(j);u=e;return}i=o+4|0;c=f[i>>2]|0;f[i>>2]=c+-1;if((c|0)!=1){f[n>>2]=0;f[d>>2]=0;KV(j);u=e;return}qg[f[(f[o>>2]|0)+8>>2]&1023](o);f[n>>2]=0;f[d>>2]=0;KV(j);u=e;return}function IU(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;k=u;u=u+80|0;l=k+64|0;m=k+56|0;n=k;o=EQa(156)|0;f[l>>2]=0;f[l+4>>2]=0;p=nCa(c)|0;if(p|0)DVa(JV(l,p)|0,c|0,p|0)|0;p=f[d>>2]|0;f[m>>2]=p;f[m+4>>2]=f[d+4>>2];if(p|0){d=p+-4|0;f[d>>2]=(f[d>>2]|0)+1}f[n>>2]=f[e>>2];d=n+4|0;p=e+4|0;c=f[p>>2]|0;f[d>>2]=c;q=n+8|0;f[q>>2]=f[e+8>>2];f[n+12>>2]=f[e+12>>2];r=n+16|0;f[r>>2]=f[e+16>>2];f[n+20>>2]=f[e+20>>2];f[n+24>>2]=f[e+24>>2];f[n+28>>2]=f[e+28>>2];f[n+32>>2]=f[e+32>>2];s=n+36|0;t=f[e+36>>2]|0;f[s>>2]=t;v=n+40|0;f[v>>2]=q;q=n+48|0;w=n+44|0;f[w>>2]=q;f[q>>2]=0;f[n+52>>2]=0;if(!t)x=c;else{c=t+12|0;f[c>>2]=(f[c>>2]|0)+1;x=f[p>>2]|0}if((x|0)<3){x=f[e+44>>2]|0;p=f[w>>2]|0;f[p>>2]=f[x>>2];f[p+4>>2]=f[x+4>>2]}else{f[d>>2]=0;WO(n,e)}pU(o,l,m,n,f[g>>2]|0,(b[h>>0]|0)!=0,(b[i>>0]|0)!=0,f[j>>2]|0);j=EQa(16)|0;f[j+4>>2]=1;f[j>>2]=41468;f[j+8>>2]=o;f[a>>2]=j;f[a+4>>2]=o;o=f[s>>2]|0;if(o|0?(a=o+12|0,o=f[a>>2]|0,f[a>>2]=o+-1,(o|0)==1):0)XO(n);f[s>>2]=0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;if((f[d>>2]|0)>0){r=f[v>>2]|0;v=0;do{f[r+(v<<2)>>2]=0;v=v+1|0}while((v|0)<(f[d>>2]|0))}d=f[w>>2]|0;if((d|0)==(q|0)){KV(m);KV(l);u=k;return}dX(d);KV(m);KV(l);u=k;return}function JU(a){a=a|0;GQa(a);return}function KU(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function LU(a){a=a|0;GQa(a);return}function MU(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+32|0;g=e+18|0;h=e+8|0;i=e;j=e+17|0;k=e+16|0;b[g>>0]=b[174693]|0;b[g+1>>0]=b[174694]|0;b[g+2>>0]=b[174695]|0;b[g+3>>0]=b[174696]|0;b[g+4>>0]=b[174697]|0;if((f[d+12>>2]|0)==1){b[g+1>>0]=0;b[g>>0]=0}f[i>>2]=g;if((f[d+8>>2]|0)==1)l=1;else l=(f[c+12>>2]|0)==0&1;b[j>>0]=l;b[k>>0]=0;oU(h,174871,451369,d,i,j,k,(f[d>>2]&7|0)==6?c+8|0:c+4|0);c=f[h>>2]|0;f[a>>2]=c;f[a+4>>2]=f[h+4>>2];a=c;if(!c){m=h;n=a}else{c=a+4|0;f[c>>2]=(f[c>>2]|0)+1;m=h;n=f[h>>2]|0}if(!n){f[m>>2]=0;u=e;return}h=n+4|0;c=f[h>>2]|0;f[h>>2]=c+-1;if((c|0)!=1){f[m>>2]=0;u=e;return}qg[f[(f[n>>2]|0)+8>>2]&1023](n);f[m>>2]=0;u=e;return}function NU(a){a=a|0;GQa(a);return}function OU(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function PU(a){a=a|0;GQa(a);return}function QU(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+48|0;g=e+34|0;h=e+24|0;i=e+16|0;j=e+8|0;k=e;l=e+33|0;m=e+32|0;b[g>>0]=0;b[g+1>>0]=0;b[g+2>>0]=0;b[g+3>>0]=0;b[g+4>>0]=0;f[i>>2]=0;f[i+4>>2]=0;n=d+8|0;o=f[n>>2]|0;f[j>>2]=0;f[j+4>>2]=0;if((o|0)>1){p=JV(j,1)|0;b[p>>0]=10;q=f[n>>2]|0}else q=o;f[k>>2]=g;if((q|0)==1)r=1;else r=(f[c+12>>2]|0)==0&1;b[l>>0]=r;b[m>>0]=0;RU(h,i,j,d,k,l,m,(f[d>>2]&7|0)==6?c+8|0:c+4|0);c=f[h>>2]|0;f[a>>2]=c;d=h+4|0;f[a+4>>2]=f[d>>2];a=c;if(!c){s=h;t=a}else{c=a+4|0;f[c>>2]=(f[c>>2]|0)+1;s=h;t=f[h>>2]|0}if(!t){f[s>>2]=0;f[d>>2]=0;KV(j);KV(i);u=e;return}h=t+4|0;c=f[h>>2]|0;f[h>>2]=c+-1;if((c|0)!=1){f[s>>2]=0;f[d>>2]=0;KV(j);KV(i);u=e;return}qg[f[(f[t>>2]|0)+8>>2]&1023](t);f[s>>2]=0;f[d>>2]=0;KV(j);KV(i);u=e;return}function RU(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;k=u;u=u+80|0;l=k+64|0;m=k+56|0;n=k;o=EQa(156)|0;p=f[c>>2]|0;f[l>>2]=p;f[l+4>>2]=f[c+4>>2];if(p|0){c=p+-4|0;f[c>>2]=(f[c>>2]|0)+1}c=f[d>>2]|0;f[m>>2]=c;f[m+4>>2]=f[d+4>>2];if(c|0){d=c+-4|0;f[d>>2]=(f[d>>2]|0)+1}f[n>>2]=f[e>>2];d=n+4|0;c=e+4|0;p=f[c>>2]|0;f[d>>2]=p;q=n+8|0;f[q>>2]=f[e+8>>2];f[n+12>>2]=f[e+12>>2];r=n+16|0;f[r>>2]=f[e+16>>2];f[n+20>>2]=f[e+20>>2];f[n+24>>2]=f[e+24>>2];f[n+28>>2]=f[e+28>>2];f[n+32>>2]=f[e+32>>2];s=n+36|0;t=f[e+36>>2]|0;f[s>>2]=t;v=n+40|0;f[v>>2]=q;q=n+48|0;w=n+44|0;f[w>>2]=q;f[q>>2]=0;f[n+52>>2]=0;if(!t)x=p;else{p=t+12|0;f[p>>2]=(f[p>>2]|0)+1;x=f[c>>2]|0}if((x|0)<3){x=f[e+44>>2]|0;c=f[w>>2]|0;f[c>>2]=f[x>>2];f[c+4>>2]=f[x+4>>2]}else{f[d>>2]=0;WO(n,e)}pU(o,l,m,n,f[g>>2]|0,(b[h>>0]|0)!=0,(b[i>>0]|0)!=0,f[j>>2]|0);j=EQa(16)|0;f[j+4>>2]=1;f[j>>2]=41468;f[j+8>>2]=o;f[a>>2]=j;f[a+4>>2]=o;o=f[s>>2]|0;if(o|0?(a=o+12|0,o=f[a>>2]|0,f[a>>2]=o+-1,(o|0)==1):0)XO(n);f[s>>2]=0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;if((f[d>>2]|0)>0){r=f[v>>2]|0;v=0;do{f[r+(v<<2)>>2]=0;v=v+1|0}while((v|0)<(f[d>>2]|0))}d=f[w>>2]|0;if((d|0)==(q|0)){KV(m);KV(l);u=k;return}dX(d);KV(m);KV(l);u=k;return}function SU(a){a=a|0;GQa(a);return}function TU(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function UU(a){a=a|0;GQa(a);return}function VU(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+32|0;g=e+18|0;h=e+8|0;i=e;j=e+17|0;k=e+16|0;b[g>>0]=b[175063]|0;b[g+1>>0]=b[175064]|0;b[g+2>>0]=b[175065]|0;b[g+3>>0]=b[175066]|0;b[g+4>>0]=b[175067]|0;f[i>>2]=g;if((f[d+8>>2]|0)==1)l=1;else l=(f[c+12>>2]|0)==0&1;b[j>>0]=l;b[k>>0]=1;WU(h,1079437,1079437,d,i,j,k,(f[d>>2]&7|0)==6?c+8|0:c+4|0);c=f[h>>2]|0;f[a>>2]=c;f[a+4>>2]=f[h+4>>2];a=c;if(!c){m=h;n=a}else{c=a+4|0;f[c>>2]=(f[c>>2]|0)+1;m=h;n=f[h>>2]|0}if(!n){f[m>>2]=0;u=e;return}h=n+4|0;c=f[h>>2]|0;f[h>>2]=c+-1;if((c|0)!=1){f[m>>2]=0;u=e;return}qg[f[(f[n>>2]|0)+8>>2]&1023](n);f[m>>2]=0;u=e;return}function WU(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;k=u;u=u+80|0;l=k+64|0;m=k+56|0;n=k;o=EQa(156)|0;f[l>>2]=0;f[l+4>>2]=0;p=nCa(c)|0;if(p|0)DVa(JV(l,p)|0,c|0,p|0)|0;f[m>>2]=0;f[m+4>>2]=0;p=nCa(d)|0;if(p|0)DVa(JV(m,p)|0,d|0,p|0)|0;f[n>>2]=f[e>>2];p=n+4|0;d=e+4|0;c=f[d>>2]|0;f[p>>2]=c;q=n+8|0;f[q>>2]=f[e+8>>2];f[n+12>>2]=f[e+12>>2];r=n+16|0;f[r>>2]=f[e+16>>2];f[n+20>>2]=f[e+20>>2];f[n+24>>2]=f[e+24>>2];f[n+28>>2]=f[e+28>>2];f[n+32>>2]=f[e+32>>2];s=n+36|0;t=f[e+36>>2]|0;f[s>>2]=t;v=n+40|0;f[v>>2]=q;q=n+48|0;w=n+44|0;f[w>>2]=q;f[q>>2]=0;f[n+52>>2]=0;if(!t)x=c;else{c=t+12|0;f[c>>2]=(f[c>>2]|0)+1;x=f[d>>2]|0}if((x|0)<3){x=f[e+44>>2]|0;d=f[w>>2]|0;f[d>>2]=f[x>>2];f[d+4>>2]=f[x+4>>2]}else{f[p>>2]=0;WO(n,e)}pU(o,l,m,n,f[g>>2]|0,(b[h>>0]|0)!=0,(b[i>>0]|0)!=0,f[j>>2]|0);j=EQa(16)|0;f[j+4>>2]=1;f[j>>2]=41468;f[j+8>>2]=o;f[a>>2]=j;f[a+4>>2]=o;o=f[s>>2]|0;if(o|0?(a=o+12|0,o=f[a>>2]|0,f[a>>2]=o+-1,(o|0)==1):0)XO(n);f[s>>2]=0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;if((f[p>>2]|0)>0){r=f[v>>2]|0;v=0;do{f[r+(v<<2)>>2]=0;v=v+1|0}while((v|0)<(f[p>>2]|0))}p=f[w>>2]|0;if((p|0)==(q|0)){KV(m);KV(l);u=k;return}dX(p);KV(m);KV(l);u=k;return}function XU(a){a=a|0;GQa(a);return}function YU(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function ZU(a){a=a|0;GQa(a);return}function _U(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+32|0;g=e+18|0;h=e+8|0;i=e;j=e+17|0;k=e+16|0;b[g>>0]=b[175063]|0;b[g+1>>0]=b[175064]|0;b[g+2>>0]=b[175065]|0;b[g+3>>0]=b[175066]|0;b[g+4>>0]=b[175067]|0;f[i>>2]=g;if((f[d+8>>2]|0)==1)l=1;else l=(f[c+12>>2]|0)==0&1;b[j>>0]=l;b[k>>0]=0;oU(h,174871,451369,d,i,j,k,(f[d>>2]&7|0)==6?c+8|0:c+4|0);c=f[h>>2]|0;f[a>>2]=c;f[a+4>>2]=f[h+4>>2];a=c;if(!c){m=h;n=a}else{c=a+4|0;f[c>>2]=(f[c>>2]|0)+1;m=h;n=f[h>>2]|0}if(!n){f[m>>2]=0;u=e;return}h=n+4|0;c=f[h>>2]|0;f[h>>2]=c+-1;if((c|0)!=1){f[m>>2]=0;u=e;return}qg[f[(f[n>>2]|0)+8>>2]&1023](n);f[m>>2]=0;u=e;return}function $U(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0;e=d;g=f[e>>2]|0;h=f[e+4>>2]|0;if(!(b[1075289]|0)){f[114437]=1991057938;f[114438]=0;n[114565]=1.7290404663583558e-09;n[114692]=1.6030947680434338e-09;n[114693]=1.0;n[114820]=2.6696291752159595e-03;e=126;i=3.442619855899;while(1){j=i;i=+L(+(+V(+(.00991256303526217/i+ +U(+(i*(i*-.5)))))*-2.0));f[457748+(e+1<<2)>>2]=~~(i/j*2147483648.0)>>>0;j=+U(+(i*(i*-.5)));n[458772+(e<<2)>>2]=j;n[458260+(e<<2)>>2]=i*4.656612873077393e-10;if((e|0)<=1)break;else e=e+-1|0}b[1075289]=1}if((c|0)>0){k=0;l=g;m=h}else{o=g;p=h;q=d;r=q;f[r>>2]=o;s=q+4|0;t=s;f[t>>2]=p;return}while(1){h=l;g=m;while(1){e=wVa(h|0,0,-130063606,0)|0;u=qVa(e|0,I|0,g|0,0)|0;e=I;v=h&127;i=+n[458260+(v<<2)>>2]*+(h|0);if(((h|0)>-1?h:0-h|0)>>>0<(f[457748+(v<<2)>>2]|0)>>>0){w=i;x=u;y=e;break}if(!v){z=u;A=e;B=9;break}C=wVa(u|0,0,-130063606,0)|0;D=qVa(C|0,I|0,e|0,0)|0;e=I;j=+n[458772+(v<<2)>>2];E=i;if(!(+U(+(E*-.5*E))>j+ +(u>>>0)*2.3283064365386963e-10*(+n[458772+(v+-1<<2)>>2]-j))){h=D;g=e}else{w=i;x=D;y=e;break}}if((B|0)==9){while(1){B=0;g=wVa(z|0,0,-130063606,0)|0;e=qVa(g|0,I|0,A|0,0)|0;g=I;D=wVa(e|0,0,-130063606,0)|0;v=z;z=qVa(D|0,I|0,g|0,0)|0;A=I;F=-+V(+(+(v>>>0)*2.3283064365386963e-10+1.1754943508222875e-38))*.2904764;i=+V(+(+(e>>>0)*2.3283064365386963e-10+1.1754943508222875e-38));if(!(-i-i0?F+3.442620038986206:-3.442620038986206-F;x=z;y=A}n[a+(k<<2)>>2]=w;k=k+1|0;if((k|0)==(c|0)){o=x;p=y;break}else{l=x;m=y}}q=d;r=q;f[r>>2]=o;s=q+4|0;t=s;f[t>>2]=p;return}function aV(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0.0,Ea=0.0,Fa=0.0,Ga=0.0,Ha=0.0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0.0,Qa=0.0,Ra=0.0,Sa=0.0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0;i=u;u=u+2512|0;j=i+2448|0;k=i+2392|0;l=i+2336|0;m=i+2280|0;o=i+1096|0;q=i+2224|0;r=i+2192|0;s=i;do if((HJ(c)|0)==65536){t=f[c+4>>2]|0;f[k>>2]=f[t>>2];v=k+4|0;w=t+4|0;f[v>>2]=f[w>>2];x=k+8|0;f[x>>2]=f[t+8>>2];f[k+12>>2]=f[t+12>>2];f[k+16>>2]=f[t+16>>2];f[k+20>>2]=f[t+20>>2];f[k+24>>2]=f[t+24>>2];f[k+28>>2]=f[t+28>>2];f[k+32>>2]=f[t+32>>2];y=f[t+36>>2]|0;f[k+36>>2]=y;f[k+40>>2]=x;x=k+48|0;z=k+44|0;f[z>>2]=x;f[x>>2]=0;f[k+52>>2]=0;if(y|0){x=y+12|0;f[x>>2]=(f[x>>2]|0)+1}if((f[w>>2]|0)<3){w=f[t+44>>2]|0;x=f[z>>2]|0;f[x>>2]=f[w>>2];f[x+4>>2]=f[w+4>>2];break}else{f[v>>2]=0;WO(k,t);break}}else DJ(k,c,-1);while(0);do if((HJ(e)|0)==65536){c=f[e+4>>2]|0;f[l>>2]=f[c>>2];t=l+4|0;v=c+4|0;f[t>>2]=f[v>>2];w=l+8|0;f[w>>2]=f[c+8>>2];f[l+12>>2]=f[c+12>>2];f[l+16>>2]=f[c+16>>2];f[l+20>>2]=f[c+20>>2];f[l+24>>2]=f[c+24>>2];f[l+28>>2]=f[c+28>>2];f[l+32>>2]=f[c+32>>2];x=f[c+36>>2]|0;f[l+36>>2]=x;f[l+40>>2]=w;w=l+48|0;z=l+44|0;f[z>>2]=w;f[w>>2]=0;f[l+52>>2]=0;if(x|0){w=x+12|0;f[w>>2]=(f[w>>2]|0)+1}if((f[v>>2]|0)<3){v=f[c+44>>2]|0;w=f[z>>2]|0;f[w>>2]=f[v>>2];f[w+4>>2]=f[v+4>>2];break}else{f[t>>2]=0;WO(l,c);break}}else DJ(l,e,-1);while(0);do if((HJ(g)|0)==65536){e=f[g+4>>2]|0;f[m>>2]=f[e>>2];c=m+4|0;t=e+4|0;f[c>>2]=f[t>>2];v=m+8|0;f[v>>2]=f[e+8>>2];f[m+12>>2]=f[e+12>>2];f[m+16>>2]=f[e+16>>2];f[m+20>>2]=f[e+20>>2];f[m+24>>2]=f[e+24>>2];f[m+28>>2]=f[e+28>>2];f[m+32>>2]=f[e+32>>2];w=f[e+36>>2]|0;f[m+36>>2]=w;f[m+40>>2]=v;v=m+48|0;z=m+44|0;f[z>>2]=v;f[v>>2]=0;f[m+52>>2]=0;if(w|0){v=w+12|0;f[v>>2]=(f[v>>2]|0)+1}if((f[t>>2]|0)<3){t=f[e+44>>2]|0;v=f[z>>2]|0;f[v>>2]=f[t>>2];f[v+4>>2]=f[t+4>>2];break}else{f[c>>2]=0;WO(m,e);break}}else DJ(m,g,-1);while(0);g=f[k>>2]|0;e=g&7;c=g>>>3&511;t=c+1|0;v=o+8|0;f[o>>2]=v;z=o+4|0;f[z>>2]=136;w=f[l>>2]|0;do if(!(w&4088)){x=f[l+8>>2]|0;y=f[l+12>>2]|0;if((x|0)!=1)if((y|0)==1)A=1;else{B=28;break}else A=y;y=x+-1+A|0;if(!((y|0)==(t|0)|(y|0)==1)){y=f[l+40>>2]|0;if(!(((f[y>>2]|0)==4?(f[y+4>>2]|0)==1:0)?t>>>0<5&(w&4095|0)==6:0))B=28}}else B=28;while(0);if((B|0)==28){f[j>>2]=0;f[j+4>>2]=0;DVa(JV(j,218)|0,175191,218)|0;EP(-215,j,175410,175415,525);KV(j)}do if(!(f[m>>2]&4088)){w=f[m+8>>2]|0;A=f[m+12>>2]|0;if((w|0)!=1)if((A|0)==1){C=1;B=32}else D=A;else{C=A;B=32}if((B|0)==32){A=w+-1+C|0;if((A|0)==(t|0)|(A|0)==1)break;A=f[l+40>>2]|0;if(((f[A>>2]|0)==4?(f[A+4>>2]|0)==1:0)?(t>>>0<5?(f[l>>2]&4095|0)==6:0):0)break;else D=C}if(!((w|0)==(t|0)?(d|0)==1&(D|0)==(t|0):0))B=37}else B=37;while(0);if((B|0)==37){f[j>>2]=0;f[j+4>>2]=0;DVa(JV(j,290)|0,175468,290)|0;EP(-215,j,175410,175415,530);KV(j)}D=l+4|0;C=f[D>>2]|0;if((C|0)<3)E=X(f[l+12>>2]|0,f[l+8>>2]|0)|0;else{w=f[l+40>>2]|0;A=0;y=1;while(1){x=X(f[w+(A<<2)>>2]|0,y)|0;A=A+1|0;if((A|0)==(C|0)){E=x;break}else y=x}}y=m+4|0;C=f[y>>2]|0;if((C|0)<3)F=X(f[m+12>>2]|0,f[m+8>>2]|0)|0;else{A=f[m+40>>2]|0;w=0;x=1;while(1){G=X(f[A+(w<<2)>>2]|0,x)|0;w=w+1|0;if((w|0)==(C|0)){F=G;break}else x=G}}x=(d|0)==0;do if(!x){if((d|0)!=1){f[j>>2]=0;f[j+4>>2]=0;H=JV(j,25)|0;J=175774;K=H+25|0;do{b[H>>0]=b[J>>0]|0;H=H+1|0;J=J+1|0}while((H|0)<(K|0));EP(-5,j,175410,175415,690);KV(j);L=0;M=0;N=0;O=0;P=0;Q=0;R=0;S=0;T=0;U=0;V=1;break}C=(E|0)<=(c|0);w=C?t:E;A=(F|0)<=(c|0);G=(A?t:F)+w|0;if((f[z>>2]|0)>>>0>>0){W=f[o>>2]|0;if((W|0)!=(v|0)){if(W|0)HQa(W);f[o>>2]=v;f[z>>2]=136}f[z>>2]=G;if(G>>>0>136){W=FQa(G>>>0>536870911?-1:G<<3)|0;f[o>>2]=W;Y=W}else Y=v}else{f[z>>2]=G;Y=f[o>>2]|0}G=(e|0)==6?6:5;W=47696>>>(G<<1)&3;Z=f[l>>2]|0;if((Z&16384|0)!=0?!(C|(Z&4095|0)!=(G|0)):0)_=f[l+16>>2]|0;else{Z=f[l+40>>2]|0;$=f[Z+4>>2]|0;aa=f[Z>>2]|0;Z=G|1124007936;f[q>>2]=Z;ba=q+4|0;f[ba>>2]=2;ca=q+8|0;f[ca>>2]=aa;da=q+12|0;f[da>>2]=$;ea=q+16|0;f[ea>>2]=Y;fa=q+20|0;f[fa>>2]=Y;ga=q+24|0;ha=q+28|0;ia=q+40|0;f[ga>>2]=0;f[ga+4>>2]=0;f[ga+8>>2]=0;f[ga+12>>2]=0;f[ia>>2]=ca;ja=q+48|0;ka=q+44|0;f[ka>>2]=ja;f[q+52>>2]=0;f[ja>>2]=0;if((Y|0)==0&(X(aa,$)|0)!=0){f[j>>2]=0;f[j+4>>2]=0;H=JV(j,26)|0;J=346743;K=H+26|0;do{b[H>>0]=b[J>>0]|0;H=H+1|0;J=J+1|0}while((H|0)<(K|0));EP(-215,j,346770,346774,533);KV(j);la=f[da>>2]|0;ma=f[q>>2]|0;na=f[ka>>2]|0;oa=f[fa>>2]|0}else{la=$;ma=Z;na=ja;oa=Y}aa=la<>2]=ma|16384;f[na>>2]=aa;f[na+4>>2]=1<>2]|0,aa)|0)|0;f[ha>>2]=pa;f[ga>>2]=pa+(0-aa)+aa;aa=j+8|0;f[aa>>2]=0;f[aa+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=q;AO(l,j,G,1.0,0.0);aa=q+36|0;pa=f[aa>>2]|0;if(pa|0?(qa=pa+12|0,pa=f[qa>>2]|0,f[qa>>2]=pa+-1,(pa|0)==1):0)XO(q);f[aa>>2]=0;f[ea>>2]=0;f[ea+4>>2]=0;f[ea+8>>2]=0;f[ea+12>>2]=0;if((f[ba>>2]|0)>0){aa=f[ia>>2]|0;pa=0;do{f[aa+(pa<<2)>>2]=0;pa=pa+1|0}while((pa|0)<(f[ba>>2]|0))}ba=f[ka>>2]|0;if((ba|0)!=(ja|0))dX(ba);_=Y}if(C?(ba=E<>0]=b[_+(aa-ba)>>0]|0;aa=aa+1|0}while((aa|0)!=(pa|0))}pa=f[m>>2]|0;if((pa&16384|0)!=0?!(A|(pa&4095|0)!=(G|0)):0)ra=f[m+16>>2]|0;else{pa=f[m+40>>2]|0;aa=f[pa+4>>2]|0;ba=f[pa>>2]|0;pa=Y+(w<<3)|0;C=G|1124007936;f[q>>2]=C;ja=q+4|0;f[ja>>2]=2;ka=q+8|0;f[ka>>2]=ba;ia=q+12|0;f[ia>>2]=aa;ea=q+16|0;f[ea>>2]=pa;ga=q+20|0;f[ga>>2]=pa;ha=q+24|0;ca=q+28|0;Z=q+40|0;f[ha>>2]=0;f[ha+4>>2]=0;f[ha+8>>2]=0;f[ha+12>>2]=0;f[Z>>2]=ka;$=q+48|0;fa=q+44|0;f[fa>>2]=$;f[q+52>>2]=0;f[$>>2]=0;if((pa|0)==0&(X(ba,aa)|0)!=0){f[j>>2]=0;f[j+4>>2]=0;H=JV(j,26)|0;J=346743;K=H+26|0;do{b[H>>0]=b[J>>0]|0;H=H+1|0;J=J+1|0}while((H|0)<(K|0));EP(-215,j,346770,346774,533);KV(j);sa=f[ia>>2]|0;ta=f[q>>2]|0;ua=f[fa>>2]|0;va=f[ga>>2]|0}else{sa=aa;ta=C;ua=$;va=pa}w=sa<>2]=ta|16384;f[ua>>2]=w;f[ua+4>>2]=1<>2]|0,w)|0)|0;f[ca>>2]=ba;f[ha>>2]=ba+(0-w)+w;w=j+8|0;f[w>>2]=0;f[w+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=q;AO(m,j,G,1.0,0.0);w=q+36|0;ba=f[w>>2]|0;if(ba|0?(da=ba+12|0,ba=f[da>>2]|0,f[da>>2]=ba+-1,(ba|0)==1):0)XO(q);f[w>>2]=0;f[ea>>2]=0;f[ea+4>>2]=0;f[ea+8>>2]=0;f[ea+12>>2]=0;if((f[ja>>2]|0)>0){w=f[Z>>2]|0;ba=0;do{f[w+(ba<<2)>>2]=0;ba=ba+1|0}while((ba|0)<(f[ja>>2]|0))}ja=f[fa>>2]|0;if((ja|0)!=($|0))dX(ja);ra=pa}if(A?(ja=F<>0]=b[ra+(w-ja)>>0]|0;w=w+1|0}while((w|0)!=(ba|0))}ba=(f[m+8>>2]|0)==(t|0)?(f[m+12>>2]|0)==(t|0):0;w=f[41600+(e<<2)>>2]|0;if((e|0)==7){f[j>>2]=0;f[j+4>>2]=0;H=JV(j,14)|0;J=175759;K=H+14|0;do{b[H>>0]=b[J>>0]|0;H=H+1|0;J=J+1|0}while((H|0)<(K|0));EP(-215,j,175410,175415,687);KV(j);L=w;M=ba;N=0;O=0;P=ra;Q=_;R=0;S=0;T=0;U=0;V=1}else{L=w;M=ba;N=0;O=0;P=ra;Q=_;R=0;S=0;T=0;U=0;V=1}}else{ja=E+(t<<3)+F|0;if((f[z>>2]|0)>>>0>>0){W=f[o>>2]|0;if((W|0)!=(v|0)){if(W|0)HQa(W);f[o>>2]=v;f[z>>2]=136}f[z>>2]=ja;if(ja>>>0>136){W=FQa(ja>>>0>536870911?-1:ja<<3)|0;f[o>>2]=W;wa=W}else wa=v}else{f[z>>2]=ja;wa=f[o>>2]|0}ja=f[m+16>>2]|0;W=f[l>>2]|0;if((W&16384|0)!=0?(E|0)==(t|0)&(W&4095|0)==6:0)xa=f[l+16>>2]|0;else{W=f[l+40>>2]|0;A=f[W+4>>2]|0;pa=f[W>>2]|0;f[q>>2]=1124007942;W=q+4|0;f[W>>2]=2;$=q+8|0;f[$>>2]=pa;fa=q+12|0;f[fa>>2]=A;Z=q+16|0;f[Z>>2]=wa;ea=q+20|0;f[ea>>2]=wa;G=q+24|0;ha=q+28|0;ca=q+40|0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;f[ca>>2]=$;ka=q+48|0;C=q+44|0;f[C>>2]=ka;f[q+52>>2]=0;f[ka>>2]=0;if((wa|0)==0&(X(pa,A)|0)!=0){f[j>>2]=0;f[j+4>>2]=0;H=JV(j,26)|0;J=346743;K=H+26|0;do{b[H>>0]=b[J>>0]|0;H=H+1|0;J=J+1|0}while((H|0)<(K|0));EP(-215,j,346770,346774,533);KV(j);ya=f[fa>>2]|0;za=f[q>>2]|0;Aa=f[C>>2]|0;Ba=f[ea>>2]|0}else{ya=A;za=1124007942;Aa=ka;Ba=wa}ba=ya<<3;f[q>>2]=za|16384;f[Aa>>2]=ba;f[Aa+4>>2]=8;w=Ba+(X(f[$>>2]|0,ba)|0)|0;f[ha>>2]=w;f[G>>2]=w+(0-ba)+ba;ba=j+8|0;f[ba>>2]=0;f[ba+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=q;AO(l,j,6,1.0,0.0);if((E|0)<=(c|0)){ba=E;while(1){p[wa+(ba<<3)>>3]=+p[wa+(ba-E<<3)>>3];if((ba|0)<(c|0))ba=ba+1|0;else break}}ba=q+36|0;G=f[ba>>2]|0;if(G|0?(ha=G+12|0,G=f[ha>>2]|0,f[ha>>2]=G+-1,(G|0)==1):0)XO(q);f[ba>>2]=0;f[Z>>2]=0;f[Z+4>>2]=0;f[Z+8>>2]=0;f[Z+12>>2]=0;if((f[W>>2]|0)>0){ba=f[ca>>2]|0;G=0;do{f[ba+(G<<2)>>2]=0;G=G+1|0}while((G|0)<(f[W>>2]|0))}W=f[C>>2]|0;if((W|0)!=(ka|0))dX(W);xa=wa}W=f[m>>2]|0;if((W&16384|0)!=0?(F|0)==(t|0)&(W&4095|0)==6:0)Ca=ja;else{W=f[m+40>>2]|0;G=f[W+4>>2]|0;ba=f[W>>2]|0;W=wa+(t<<3)|0;ca=j+4|0;f[ca>>2]=2;Z=j+8|0;f[Z>>2]=ba;f[j+12>>2]=G;ha=j+16|0;f[ha>>2]=W;f[j+20>>2]=W;$=j+24|0;A=j+40|0;ea=$+8|0;f[ea>>2]=0;f[ea+4>>2]=0;f[A>>2]=Z;Z=j+48|0;ea=j+44|0;f[ea>>2]=Z;fa=G<<3;f[j>>2]=1124024326;f[Z>>2]=fa;f[j+52>>2]=8;G=W+(X(ba,fa)|0)|0;f[j+28>>2]=G;f[$>>2]=G+(0-fa)+fa;fa=q+8|0;f[fa>>2]=0;f[fa+4>>2]=0;f[q>>2]=33619968;f[q+4>>2]=j;AO(m,q,6,1.0,0.0);if((F|0)<=(c|0)){fa=F;while(1){p[W+(fa<<3)>>3]=+p[W+(fa-F<<3)>>3];if((fa|0)<(c|0))fa=fa+1|0;else break}}fa=j+36|0;ja=f[fa>>2]|0;if(ja|0?(ka=ja+12|0,ja=f[ka>>2]|0,f[ka>>2]=ja+-1,(ja|0)==1):0)XO(j);f[fa>>2]=0;f[ha>>2]=0;f[ha+4>>2]=0;f[ha+8>>2]=0;f[ha+12>>2]=0;if((f[ca>>2]|0)>0){fa=f[A>>2]|0;ja=0;do{f[fa+(ja<<2)>>2]=0;ja=ja+1|0}while((ja|0)<(f[ca>>2]|0))}ca=f[ea>>2]|0;if((ca|0)!=(Z|0))dX(ca);Ca=W}do if(e>>>0>=5){Da=(e|0)==6?5.421010862427522e-20:2.3283064365386963e-10;Ea=h?3402823466385288598117041.0e14:1797693134862315708145274.0e284;ca=wa+(t<<1<<3)|0;if((e|0)==5){ja=0;do{Fa=+p[Ca+(ja<<3)>>3];Ga=+p[xa+(ja<<3)>>3];Ha=Fa-Ga;fa=ca+(ja<<3)|0;n[fa>>2]=Da*(Ha>2]=(Fa+Ga)*.5;ja=ja+1|0}while((ja|0)!=(t|0));Ia=0;Ja=0;Ka=0;La=ca;Ma=0;Na=1;Oa=0;break}else{ja=0;do{fa=Ca+(ja<<3)|0;A=xa+(ja<<3)|0;Ea=+p[fa>>3]-+p[A>>3];p[ca+(ja<<4)>>3]=Da*(Ea<1797693134862315708145274.0e284?Ea:1797693134862315708145274.0e284);p[ca+(ja<<4)+8>>3]=(+p[fa>>3]+ +p[A>>3])*.5;ja=ja+1|0}while((ja|0)!=(t|0));Ia=0;Ja=0;Ka=ca;La=0;Ma=0;Na=1;Oa=0}}else{ca=wa+(t<<1<<3)|0;ja=(e|2|0)==2;A=g&255;fa=(e|0)==3;Da=fa?32768.0:2147483647.0;if(h){ha=ja|(e|0)!=1;Ea=ja?0.0:fa?-32768.0:-2147483648.0;fa=1;ja=1;ka=0;while(1){Ga=+p[Ca+(ka<<3)>>3];Fa=+p[xa+(ka<<3)>>3];Ha=Ga+(C|0)&1)+C|0;C=ca+(ka<<3)|0;$=C+4|0;f[$>>2]=G;ba=~~Ha;w=ba-(Ha<+(ba|0)&1)-G|0;G=w+-1|0;f[C>>2]=G;Fa=Ha-Qa;ba=(G&w|0)==0;do if(fa<<24>>24!=0&Fa<=4294967296.0){G=ba&1;if(!ba){Ta=G;B=94;break}Ua=(ja&1)!=0&(w|0)<257&1;Va=G}else{Ta=0;B=94}while(0);do if((B|0)==94){B=0;if(Fa>2147483647.0)f[C>>2]=2147483647;if(!(Qa<-1073741824.0)){Ua=ja;Va=Ta;break}f[$>>2]=-1073741824;Ua=ja;Va=Ta}while(0);ka=ka+1|0;if((ka|0)==(t|0)){Wa=Va;Xa=Ua;break}else{fa=Va;ja=Ua}}}else{ja=1;fa=1;ka=0;while(1){Da=+p[Ca+(ka<<3)>>3];Ea=+p[xa+(ka<<3)>>3];Fa=Da+(A|0)&1)+A|0;A=ca+(ka<<3)|0;$=A+4|0;f[$>>2]=ha;C=~~Pa;w=C-(Pa<+(C|0)&1)-ha|0;ha=w+-1|0;f[A>>2]=ha;Ea=Pa-Fa;C=(ha&w|0)==0;if(ja<<24>>24!=0&Ea<=4294967296.0){ha=C&1;if(C){Ya=(fa&1)!=0&(w|0)<257&1;Za=ha}else{_a=ha;B=103}}else{_a=0;B=103}do if((B|0)==103){B=0;if(Ea>2147483647.0)f[A>>2]=2147483647;if(!(Fa<-1073741824.0)){Ya=fa;Za=_a;break}f[$>>2]=-1073741824;Ya=fa;Za=_a}while(0);ka=ka+1|0;if((ka|0)==(t|0)){Wa=Za;Xa=Ya;break}else{ja=Za;fa=Ya}}}if(!(Wa<<24>>24)){fa=ca+(t<<3)|0;ja=0;do{ka=ca+(ja<<3)|0;f[fa+(ja*20|0)+16>>2]=f[ka+4>>2];$=(f[ka>>2]|0)+1|0;f[fa+(ja*20|0)>>2]=$;ka=0;while(1){$a=BVa(1,0,ka|0)|0;ab=I;if(ab>>>0<0|(ab|0)==0&$a>>>0<$>>>0)ka=ka+1|0;else break}A=rVa($a|0,ab|0,$|0,0)|0;ha=xVa(0,A|0,$|0,0)|0;f[fa+(ja*20|0)+4>>2]=ha+1;f[fa+(ja*20|0)+8>>2]=(ka|0)<1?ka:1;ha=ka+-1|0;f[fa+(ja*20|0)+12>>2]=(ha|0)>0?ha:0;ja=ja+1|0}while((ja|0)!=(t|0));bb=fa}else bb=0;Ia=ca;Ja=Wa;Ka=0;La=0;Ma=bb;Na=Xa;Oa=Wa&255}while(0);W=f[41536+(Oa<<5)+(e<<2)>>2]|0;if(!W){f[j>>2]=0;f[j+4>>2]=0;H=JV(j,9)|0;J=196746;K=H+9|0;do{b[H>>0]=b[J>>0]|0;H=H+1|0;J=J+1|0}while((H|0)<(K|0));EP(-215,j,175410,175415,649);KV(j)}L=0;M=0;N=W;O=Ia;P=0;Q=0;R=(Ja&1)!=0;S=Ka;T=La;U=Ma;V=(Na&1)!=0}while(0);f[j>>2]=k;f[j+4>>2]=0;FN(r,j,q,1);j=f[r+20>>2]|0;Na=((c|1024)>>>0)/(t>>>0)|0;c=(j|0)<(Na|0)?j:Na;Na=k+4|0;Ma=f[Na>>2]|0;if((Ma|0)>0)cb=f[(f[k+44>>2]|0)+(Ma+-1<<2)>>2]|0;else cb=0;Ma=s+8|0;f[s>>2]=Ma;La=s+4|0;f[La>>2]=136;Ka=X(c,t)|0;do if(x){Ja=Ka<<2;f[La>>2]=Ja;if(Ja>>>0>136){Ia=FQa(Ja>>>0>536870911?-1:Ja<<3)|0;f[s>>2]=Ia;db=Ia}else db=Ma;if(e>>>0<5)if(R){if((Ka|0)>0)eb=0;else{fb=0;gb=db;break}do{Ia=0;do{Ja=O+(Ia<<3)|0;J=f[Ja+4>>2]|0;H=db+(Ia+eb<<3)|0;f[H>>2]=f[Ja>>2];f[H+4>>2]=J;Ia=Ia+1|0}while((Ia|0)!=(t|0));eb=eb+t|0}while((eb|0)<(Ka|0));fb=0;gb=db}else{if((Ka|0)>0)hb=0;else{fb=0;gb=db;break}do{W=0;do{Ia=U+(W*20|0)|0;ca=db+((W+hb|0)*20|0)|0;f[ca>>2]=f[Ia>>2];f[ca+4>>2]=f[Ia+4>>2];f[ca+8>>2]=f[Ia+8>>2];f[ca+12>>2]=f[Ia+12>>2];f[ca+16>>2]=f[Ia+16>>2];W=W+1|0}while((W|0)!=(t|0));hb=hb+t|0}while((hb|0)<(Ka|0));fb=0;gb=db}else if((e|0)==5){if((Ka|0)>0)ib=0;else{fb=0;gb=db;break}do{W=0;do{Ia=T+(W<<3)|0;ca=f[Ia+4>>2]|0;J=db+(W+ib<<3)|0;f[J>>2]=f[Ia>>2];f[J+4>>2]=ca;W=W+1|0}while((W|0)!=(t|0));ib=ib+t|0}while((ib|0)<(Ka|0));fb=0;gb=db}else{if((Ka|0)>0)jb=0;else{fb=0;gb=db;break}do{W=0;do{ca=S+(W<<4)|0;J=db+(W+jb<<4)|0;f[J>>2]=f[ca>>2];f[J+4>>2]=f[ca+4>>2];f[J+8>>2]=f[ca+8>>2];f[J+12>>2]=f[ca+12>>2];W=W+1|0}while((W|0)!=(t|0));jb=jb+t|0}while((jb|0)<(Ka|0));fb=0;gb=db}}else{W=(Ka+1|0)/2|0;f[La>>2]=W;if(W>>>0>136){ca=FQa(W>>>0>536870911?-1:W<<3)|0;f[s>>2]=ca;fb=ca;gb=0}else{fb=Ma;gb=0}}while(0);Ka=r+16|0;b:do if((j|0)>0){db=0;while(1){if(db>>>0>=(f[Ka>>2]|0)>>>0)break b;if(x){jb=0;S=f[q>>2]|0;do{ib=j-jb|0;T=(c|0)<(ib|0)?c:ib;ib=X(T,t)|0;Sh[N&255](S,ib,a,gb,V);ib=X(T,cb)|0;S=(f[q>>2]|0)+ib|0;f[q>>2]=S;jb=jb+c|0}while((j|0)>(jb|0))}else{jb=0;do{S=j-jb|0;ib=(c|0)<(S|0)?c:S;$U(fb,X(ib,t)|0,a);li[L&127](fb,f[q>>2]|0,ib,t,Q,P,M);S=X(ib,cb)|0;f[q>>2]=(f[q>>2]|0)+S;jb=jb+c|0}while((j|0)>(jb|0))}GN(r)|0;db=db+1|0}}else{db=0;while(1){if(db>>>0>=(f[Ka>>2]|0)>>>0)break b;GN(r)|0;db=db+1|0}}while(0);r=f[s>>2]|0;if((r|0)!=(Ma|0)){if(r|0)HQa(r);f[s>>2]=Ma;f[La>>2]=136}La=f[o>>2]|0;if((La|0)!=(v|0)){if(La|0)HQa(La);f[o>>2]=v;f[z>>2]=136}z=m+36|0;v=f[z>>2]|0;if(v|0?(o=v+12|0,v=f[o>>2]|0,f[o>>2]=v+-1,(v|0)==1):0)XO(m);f[z>>2]=0;z=m+16|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;if((f[y>>2]|0)>0){z=f[m+40>>2]|0;v=0;do{f[z+(v<<2)>>2]=0;v=v+1|0}while((v|0)<(f[y>>2]|0))}y=f[m+44>>2]|0;if((y|0)!=(m+48|0))dX(y);y=l+36|0;m=f[y>>2]|0;if(m|0?(v=m+12|0,m=f[v>>2]|0,f[v>>2]=m+-1,(m|0)==1):0)XO(l);f[y>>2]=0;y=l+16|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;if((f[D>>2]|0)>0){y=f[l+40>>2]|0;m=0;do{f[y+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[D>>2]|0))}D=f[l+44>>2]|0;if((D|0)!=(l+48|0))dX(D);D=k+36|0;l=f[D>>2]|0;do if(l|0){m=l+12|0;y=f[m>>2]|0;f[m>>2]=y+-1;if((y|0)!=1)break;XO(k)}while(0);f[D>>2]=0;D=k+16|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;if((f[Na>>2]|0)>0){D=f[k+40>>2]|0;l=0;do{f[D+(l<<2)>>2]=0;l=l+1|0}while((l|0)<(f[Na>>2]|0))}Na=f[k+44>>2]|0;if((Na|0)==(k+48|0)){u=i;return}dX(Na);u=i;return}function bV(a,c,d,e,f,g,h){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0.0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0;if(h){if((d|0)>0&(e|0)>0){i=c;j=a;k=0}else return;while(1){h=0;do{l=X(h,e)|0;m=+n[f+(h<<2)>>2];o=0;do{m=m+ +n[j+(o<<2)>>2]*+n[g+(o+l<<2)>>2];o=o+1|0}while((o|0)!=(e|0));o=HEa(m)|0;b[i+h>>0]=o>>>0<256?o:(o|0)>0?255:0;h=h+1|0}while((h|0)!=(e|0));k=k+1|0;if((k|0)==(d|0))break;else{i=i+e|0;j=j+(e<<2)|0}}return}if((e|0)==1){p=+n[f>>2];q=+n[g>>2];if((d|0)>0)r=0;else return;do{j=HEa(p+q*+n[a+(r<<2)>>2])|0;b[c+r>>0]=j>>>0<256?j:(j|0)>0?255:0;r=r+1|0}while((r|0)!=(d|0));return}if((d|0)>0&(e|0)>0){s=a;t=c;u=0}else return;while(1){c=0;do{a=HEa(+n[s+(c<<2)>>2]*+n[g+(c<<2)>>2]+ +n[f+(c<<2)>>2])|0;b[t+c>>0]=a>>>0<256?a:(a|0)>0?255:0;c=c+1|0}while((c|0)!=(e|0));u=u+1|0;if((u|0)==(d|0))break;else{s=s+(e<<2)|0;t=t+e|0}}return}function cV(a,c,d,e,f,g,h){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0.0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0;if(h){if((d|0)>0&(e|0)>0){i=c;j=a;k=0}else return;while(1){h=0;do{l=X(h,e)|0;m=+n[f+(h<<2)>>2];o=0;do{m=m+ +n[j+(o<<2)>>2]*+n[g+(o+l<<2)>>2];o=o+1|0}while((o|0)!=(e|0));o=HEa(m)|0;b[i+h>>0]=(o+128|0)>>>0<256?o:(o|0)>0?127:128;h=h+1|0}while((h|0)!=(e|0));k=k+1|0;if((k|0)==(d|0))break;else{i=i+e|0;j=j+(e<<2)|0}}return}if((e|0)==1){p=+n[f>>2];q=+n[g>>2];if((d|0)>0)r=0;else return;do{j=HEa(p+q*+n[a+(r<<2)>>2])|0;b[c+r>>0]=(j+128|0)>>>0<256?j:(j|0)>0?127:128;r=r+1|0}while((r|0)!=(d|0));return}if((d|0)>0&(e|0)>0){s=a;t=c;u=0}else return;while(1){c=0;do{a=HEa(+n[s+(c<<2)>>2]*+n[g+(c<<2)>>2]+ +n[f+(c<<2)>>2])|0;b[t+c>>0]=(a+128|0)>>>0<256?a:(a|0)>0?127:128;c=c+1|0}while((c|0)!=(e|0));u=u+1|0;if((u|0)==(d|0))break;else{s=s+(e<<2)|0;t=t+e|0}}return}function dV(a,b,c,e,f,g,h){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0.0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0;if(h){if((c|0)>0&(e|0)>0){i=b;j=a;k=0}else return;while(1){h=0;do{l=X(h,e)|0;m=+n[f+(h<<2)>>2];o=0;do{m=m+ +n[j+(o<<2)>>2]*+n[g+(o+l<<2)>>2];o=o+1|0}while((o|0)!=(e|0));o=HEa(m)|0;d[i+(h<<1)>>1]=o>>>0<65536?o:(o|0)>0?65535:0;h=h+1|0}while((h|0)!=(e|0));k=k+1|0;if((k|0)==(c|0))break;else{i=i+(e<<1)|0;j=j+(e<<2)|0}}return}if((e|0)==1){p=+n[f>>2];q=+n[g>>2];if((c|0)>0)r=0;else return;do{j=HEa(p+q*+n[a+(r<<2)>>2])|0;d[b+(r<<1)>>1]=j>>>0<65536?j:(j|0)>0?65535:0;r=r+1|0}while((r|0)!=(c|0));return}if((c|0)>0&(e|0)>0){s=a;t=b;u=0}else return;while(1){b=0;do{a=HEa(+n[s+(b<<2)>>2]*+n[g+(b<<2)>>2]+ +n[f+(b<<2)>>2])|0;d[t+(b<<1)>>1]=a>>>0<65536?a:(a|0)>0?65535:0;b=b+1|0}while((b|0)!=(e|0));u=u+1|0;if((u|0)==(c|0))break;else{s=s+(e<<2)|0;t=t+(e<<1)|0}}return}function eV(a,b,c,e,f,g,h){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0.0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0;if(h){if((c|0)>0&(e|0)>0){i=b;j=a;k=0}else return;while(1){h=0;do{l=X(h,e)|0;m=+n[f+(h<<2)>>2];o=0;do{m=m+ +n[j+(o<<2)>>2]*+n[g+(o+l<<2)>>2];o=o+1|0}while((o|0)!=(e|0));o=HEa(m)|0;d[i+(h<<1)>>1]=(o+32768|0)>>>0<65536?o:(o|0)>0?32767:32768;h=h+1|0}while((h|0)!=(e|0));k=k+1|0;if((k|0)==(c|0))break;else{i=i+(e<<1)|0;j=j+(e<<2)|0}}return}if((e|0)==1){p=+n[f>>2];q=+n[g>>2];if((c|0)>0)r=0;else return;do{j=HEa(p+q*+n[a+(r<<2)>>2])|0;d[b+(r<<1)>>1]=(j+32768|0)>>>0<65536?j:(j|0)>0?32767:32768;r=r+1|0}while((r|0)!=(c|0));return}if((c|0)>0&(e|0)>0){s=a;t=b;u=0}else return;while(1){b=0;do{a=HEa(+n[s+(b<<2)>>2]*+n[g+(b<<2)>>2]+ +n[f+(b<<2)>>2])|0;d[t+(b<<1)>>1]=(a+32768|0)>>>0<65536?a:(a|0)>0?32767:32768;b=b+1|0}while((b|0)!=(e|0));u=u+1|0;if((u|0)==(c|0))break;else{s=s+(e<<2)|0;t=t+(e<<1)|0}}return}function fV(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0.0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0;if(h){if((c|0)>0&(d|0)>0){i=b;j=a;k=0}else return;while(1){h=0;do{l=X(h,d)|0;m=+n[e+(h<<2)>>2];o=0;do{m=m+ +n[j+(o<<2)>>2]*+n[g+(o+l<<2)>>2];o=o+1|0}while((o|0)!=(d|0));o=HEa(m)|0;f[i+(h<<2)>>2]=o;h=h+1|0}while((h|0)!=(d|0));k=k+1|0;if((k|0)==(c|0))break;else{i=i+(d<<2)|0;j=j+(d<<2)|0}}return}if((d|0)==1){p=+n[e>>2];q=+n[g>>2];if((c|0)>0)r=0;else return;do{j=HEa(p+q*+n[a+(r<<2)>>2])|0;f[b+(r<<2)>>2]=j;r=r+1|0}while((r|0)!=(c|0));return}if((c|0)>0&(d|0)>0){s=a;t=b;u=0}else return;while(1){b=0;do{a=HEa(+n[s+(b<<2)>>2]*+n[g+(b<<2)>>2]+ +n[e+(b<<2)>>2])|0;f[t+(b<<2)>>2]=a;b=b+1|0}while((b|0)!=(d|0));u=u+1|0;if((u|0)==(c|0))break;else{s=s+(d<<2)|0;t=t+(d<<2)|0}}return}function gV(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0.0,m=0,o=0.0,p=0.0,q=0,r=0,s=0,t=0;if(g){if((c|0)>0&(d|0)>0){h=b;i=a;j=0}else return;while(1){g=0;do{k=X(g,d)|0;l=+n[e+(g<<2)>>2];m=0;do{l=l+ +n[i+(m<<2)>>2]*+n[f+(m+k<<2)>>2];m=m+1|0}while((m|0)!=(d|0));n[h+(g<<2)>>2]=l;g=g+1|0}while((g|0)!=(d|0));j=j+1|0;if((j|0)==(c|0))break;else{h=h+(d<<2)|0;i=i+(d<<2)|0}}return}if((d|0)==1){o=+n[e>>2];p=+n[f>>2];if((c|0)>0)q=0;else return;do{n[b+(q<<2)>>2]=o+p*+n[a+(q<<2)>>2];q=q+1|0}while((q|0)!=(c|0));return}if((c|0)>0&(d|0)>0){r=a;s=b;t=0}else return;while(1){b=0;do{n[s+(b<<2)>>2]=+n[r+(b<<2)>>2]*+n[f+(b<<2)>>2]+ +n[e+(b<<2)>>2];b=b+1|0}while((b|0)!=(d|0));t=t+1|0;if((t|0)==(c|0))break;else{r=r+(d<<2)|0;s=s+(d<<2)|0}}return}function hV(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0.0,m=0,o=0.0,q=0.0,r=0,s=0,t=0,u=0;if(g){if((c|0)>0&(d|0)>0){h=b;i=a;j=0}else return;while(1){g=0;do{k=X(g,d)|0;l=+p[e+(g<<3)>>3];m=0;do{l=l+ +p[f+(m+k<<3)>>3]*+n[i+(m<<2)>>2];m=m+1|0}while((m|0)!=(d|0));p[h+(g<<3)>>3]=l;g=g+1|0}while((g|0)!=(d|0));j=j+1|0;if((j|0)==(c|0))break;else{h=h+(d<<3)|0;i=i+(d<<2)|0}}return}if((d|0)==1){o=+p[e>>3];q=+p[f>>3];if((c|0)>0)r=0;else return;do{p[b+(r<<3)>>3]=o+q*+n[a+(r<<2)>>2];r=r+1|0}while((r|0)!=(c|0));return}if((c|0)>0&(d|0)>0){s=a;t=b;u=0}else return;while(1){b=0;do{p[t+(b<<3)>>3]=+p[f+(b<<3)>>3]*+n[s+(b<<2)>>2]+ +p[e+(b<<3)>>3];b=b+1|0}while((b|0)!=(d|0));u=u+1|0;if((u|0)==(c|0))break;else{s=s+(d<<2)|0;t=t+(d<<3)|0}}return}function iV(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;g=d;h=f[g>>2]|0;i=f[g+4>>2]|0;g=c+-4|0;if((c|0)<4){j=0;k=h;l=i}else{m=0;n=h;h=i;do{i=wVa(n|0,0,-130063606,0)|0;o=qVa(i|0,I|0,h|0,0)|0;i=I;p=wVa(o|0,0,-130063606,0)|0;q=qVa(p|0,I|0,i|0,0)|0;i=I;wVa(o|0,0,f[e+(m*20|0)+4>>2]|0,0)|0;p=I;r=m|1;wVa(q|0,0,f[e+(r*20|0)+4>>2]|0,0)|0;s=I;t=o-(X((((o-p|0)>>>(f[e+(m*20|0)+8>>2]|0))+p|0)>>>(f[e+(m*20|0)+12>>2]|0),f[e+(m*20|0)>>2]|0)|0)|0;p=t+(f[e+(m*20|0)+16>>2]|0)|0;t=q-(X((((q-s|0)>>>(f[e+(r*20|0)+8>>2]|0))+s|0)>>>(f[e+(r*20|0)+12>>2]|0),f[e+(r*20|0)>>2]|0)|0)|0;s=t+(f[e+(r*20|0)+16>>2]|0)|0;b[a+m>>0]=p>>>0<256?p:(p|0)>0?255:0;b[a+r>>0]=s>>>0<256?s:(s|0)>0?255:0;s=wVa(q|0,0,-130063606,0)|0;q=qVa(s|0,I|0,i|0,0)|0;i=I;s=wVa(q|0,0,-130063606,0)|0;n=qVa(s|0,I|0,i|0,0)|0;h=I;i=m|2;wVa(q|0,0,f[e+(i*20|0)+4>>2]|0,0)|0;s=I;r=m|3;wVa(n|0,0,f[e+(r*20|0)+4>>2]|0,0)|0;p=I;t=q-(X((((q-s|0)>>>(f[e+(i*20|0)+8>>2]|0))+s|0)>>>(f[e+(i*20|0)+12>>2]|0),f[e+(i*20|0)>>2]|0)|0)|0;s=t+(f[e+(i*20|0)+16>>2]|0)|0;t=n-(X((((n-p|0)>>>(f[e+(r*20|0)+8>>2]|0))+p|0)>>>(f[e+(r*20|0)+12>>2]|0),f[e+(r*20|0)>>2]|0)|0)|0;p=t+(f[e+(r*20|0)+16>>2]|0)|0;b[a+i>>0]=s>>>0<256?s:(s|0)>0?255:0;b[a+r>>0]=p>>>0<256?p:(p|0)>0?255:0;m=m+4|0}while((m|0)<=(g|0));j=c&-4;k=n;l=h}if((j|0)<(c|0)){u=j;v=k;w=l}else{x=k;y=l;z=d;A=z;f[A>>2]=x;B=z+4|0;C=B;f[C>>2]=y;return}while(1){l=wVa(v|0,0,-130063606,0)|0;k=qVa(l|0,I|0,w|0,0)|0;l=I;wVa(k|0,0,f[e+(u*20|0)+4>>2]|0,0)|0;j=I;h=k-(X((((k-j|0)>>>(f[e+(u*20|0)+8>>2]|0))+j|0)>>>(f[e+(u*20|0)+12>>2]|0),f[e+(u*20|0)>>2]|0)|0)|0;j=h+(f[e+(u*20|0)+16>>2]|0)|0;b[a+u>>0]=j>>>0<256?j:(j|0)>0?255:0;u=u+1|0;if((u|0)==(c|0)){x=k;y=l;break}else{v=k;w=l}}z=d;A=z;f[A>>2]=x;B=z+4|0;C=B;f[C>>2]=y;return}function jV(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;g=d;h=f[g>>2]|0;i=f[g+4>>2]|0;g=c+-4|0;if((c|0)<4){j=0;k=h;l=i}else{m=0;n=h;h=i;do{i=wVa(n|0,0,-130063606,0)|0;o=qVa(i|0,I|0,h|0,0)|0;i=I;p=wVa(o|0,0,-130063606,0)|0;q=qVa(p|0,I|0,i|0,0)|0;i=I;wVa(o|0,0,f[e+(m*20|0)+4>>2]|0,0)|0;p=I;r=m|1;wVa(q|0,0,f[e+(r*20|0)+4>>2]|0,0)|0;s=I;t=o-(X((((o-p|0)>>>(f[e+(m*20|0)+8>>2]|0))+p|0)>>>(f[e+(m*20|0)+12>>2]|0),f[e+(m*20|0)>>2]|0)|0)|0;p=t+(f[e+(m*20|0)+16>>2]|0)|0;t=q-(X((((q-s|0)>>>(f[e+(r*20|0)+8>>2]|0))+s|0)>>>(f[e+(r*20|0)+12>>2]|0),f[e+(r*20|0)>>2]|0)|0)|0;s=t+(f[e+(r*20|0)+16>>2]|0)|0;b[a+m>>0]=(p+128|0)>>>0<256?p:(p|0)>0?127:128;b[a+r>>0]=(s+128|0)>>>0<256?s:(s|0)>0?127:128;s=wVa(q|0,0,-130063606,0)|0;q=qVa(s|0,I|0,i|0,0)|0;i=I;s=wVa(q|0,0,-130063606,0)|0;n=qVa(s|0,I|0,i|0,0)|0;h=I;i=m|2;wVa(q|0,0,f[e+(i*20|0)+4>>2]|0,0)|0;s=I;r=m|3;wVa(n|0,0,f[e+(r*20|0)+4>>2]|0,0)|0;p=I;t=q-(X((((q-s|0)>>>(f[e+(i*20|0)+8>>2]|0))+s|0)>>>(f[e+(i*20|0)+12>>2]|0),f[e+(i*20|0)>>2]|0)|0)|0;s=t+(f[e+(i*20|0)+16>>2]|0)|0;t=n-(X((((n-p|0)>>>(f[e+(r*20|0)+8>>2]|0))+p|0)>>>(f[e+(r*20|0)+12>>2]|0),f[e+(r*20|0)>>2]|0)|0)|0;p=t+(f[e+(r*20|0)+16>>2]|0)|0;b[a+i>>0]=(s+128|0)>>>0<256?s:(s|0)>0?127:128;b[a+r>>0]=(p+128|0)>>>0<256?p:(p|0)>0?127:128;m=m+4|0}while((m|0)<=(g|0));j=c&-4;k=n;l=h}if((j|0)<(c|0)){u=j;v=k;w=l}else{x=k;y=l;z=d;A=z;f[A>>2]=x;B=z+4|0;C=B;f[C>>2]=y;return}while(1){l=wVa(v|0,0,-130063606,0)|0;k=qVa(l|0,I|0,w|0,0)|0;l=I;wVa(k|0,0,f[e+(u*20|0)+4>>2]|0,0)|0;j=I;h=k-(X((((k-j|0)>>>(f[e+(u*20|0)+8>>2]|0))+j|0)>>>(f[e+(u*20|0)+12>>2]|0),f[e+(u*20|0)>>2]|0)|0)|0;j=h+(f[e+(u*20|0)+16>>2]|0)|0;b[a+u>>0]=(j+128|0)>>>0<256?j:(j|0)>0?127:128;u=u+1|0;if((u|0)==(c|0)){x=k;y=l;break}else{v=k;w=l}}z=d;A=z;f[A>>2]=x;B=z+4|0;C=B;f[C>>2]=y;return}function kV(a,b,c,e,g){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;g=c;h=f[g>>2]|0;i=f[g+4>>2]|0;g=b+-4|0;if((b|0)<4){j=0;k=h;l=i}else{m=0;n=h;h=i;do{i=wVa(n|0,0,-130063606,0)|0;o=qVa(i|0,I|0,h|0,0)|0;i=I;p=wVa(o|0,0,-130063606,0)|0;q=qVa(p|0,I|0,i|0,0)|0;i=I;wVa(o|0,0,f[e+(m*20|0)+4>>2]|0,0)|0;p=I;r=m|1;wVa(q|0,0,f[e+(r*20|0)+4>>2]|0,0)|0;s=I;t=o-(X((((o-p|0)>>>(f[e+(m*20|0)+8>>2]|0))+p|0)>>>(f[e+(m*20|0)+12>>2]|0),f[e+(m*20|0)>>2]|0)|0)|0;p=t+(f[e+(m*20|0)+16>>2]|0)|0;t=q-(X((((q-s|0)>>>(f[e+(r*20|0)+8>>2]|0))+s|0)>>>(f[e+(r*20|0)+12>>2]|0),f[e+(r*20|0)>>2]|0)|0)|0;s=t+(f[e+(r*20|0)+16>>2]|0)|0;d[a+(m<<1)>>1]=p>>>0<65536?p:(p|0)>0?65535:0;d[a+(r<<1)>>1]=s>>>0<65536?s:(s|0)>0?65535:0;s=wVa(q|0,0,-130063606,0)|0;q=qVa(s|0,I|0,i|0,0)|0;i=I;s=wVa(q|0,0,-130063606,0)|0;n=qVa(s|0,I|0,i|0,0)|0;h=I;i=m|2;wVa(q|0,0,f[e+(i*20|0)+4>>2]|0,0)|0;s=I;r=m|3;wVa(n|0,0,f[e+(r*20|0)+4>>2]|0,0)|0;p=I;t=q-(X((((q-s|0)>>>(f[e+(i*20|0)+8>>2]|0))+s|0)>>>(f[e+(i*20|0)+12>>2]|0),f[e+(i*20|0)>>2]|0)|0)|0;s=t+(f[e+(i*20|0)+16>>2]|0)|0;t=n-(X((((n-p|0)>>>(f[e+(r*20|0)+8>>2]|0))+p|0)>>>(f[e+(r*20|0)+12>>2]|0),f[e+(r*20|0)>>2]|0)|0)|0;p=t+(f[e+(r*20|0)+16>>2]|0)|0;d[a+(i<<1)>>1]=s>>>0<65536?s:(s|0)>0?65535:0;d[a+(r<<1)>>1]=p>>>0<65536?p:(p|0)>0?65535:0;m=m+4|0}while((m|0)<=(g|0));j=b&-4;k=n;l=h}if((j|0)<(b|0)){u=j;v=k;w=l}else{x=k;y=l;z=c;A=z;f[A>>2]=x;B=z+4|0;C=B;f[C>>2]=y;return}while(1){l=wVa(v|0,0,-130063606,0)|0;k=qVa(l|0,I|0,w|0,0)|0;l=I;wVa(k|0,0,f[e+(u*20|0)+4>>2]|0,0)|0;j=I;h=k-(X((((k-j|0)>>>(f[e+(u*20|0)+8>>2]|0))+j|0)>>>(f[e+(u*20|0)+12>>2]|0),f[e+(u*20|0)>>2]|0)|0)|0;j=h+(f[e+(u*20|0)+16>>2]|0)|0;d[a+(u<<1)>>1]=j>>>0<65536?j:(j|0)>0?65535:0;u=u+1|0;if((u|0)==(b|0)){x=k;y=l;break}else{v=k;w=l}}z=c;A=z;f[A>>2]=x;B=z+4|0;C=B;f[C>>2]=y;return}function lV(a,b,c,e,g){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;g=c;h=f[g>>2]|0;i=f[g+4>>2]|0;g=b+-4|0;if((b|0)<4){j=0;k=h;l=i}else{m=0;n=h;h=i;do{i=wVa(n|0,0,-130063606,0)|0;o=qVa(i|0,I|0,h|0,0)|0;i=I;p=wVa(o|0,0,-130063606,0)|0;q=qVa(p|0,I|0,i|0,0)|0;i=I;wVa(o|0,0,f[e+(m*20|0)+4>>2]|0,0)|0;p=I;r=m|1;wVa(q|0,0,f[e+(r*20|0)+4>>2]|0,0)|0;s=I;t=o-(X((((o-p|0)>>>(f[e+(m*20|0)+8>>2]|0))+p|0)>>>(f[e+(m*20|0)+12>>2]|0),f[e+(m*20|0)>>2]|0)|0)|0;p=t+(f[e+(m*20|0)+16>>2]|0)|0;t=q-(X((((q-s|0)>>>(f[e+(r*20|0)+8>>2]|0))+s|0)>>>(f[e+(r*20|0)+12>>2]|0),f[e+(r*20|0)>>2]|0)|0)|0;s=t+(f[e+(r*20|0)+16>>2]|0)|0;d[a+(m<<1)>>1]=(p+32768|0)>>>0<65536?p:(p|0)>0?32767:32768;d[a+(r<<1)>>1]=(s+32768|0)>>>0<65536?s:(s|0)>0?32767:32768;s=wVa(q|0,0,-130063606,0)|0;q=qVa(s|0,I|0,i|0,0)|0;i=I;s=wVa(q|0,0,-130063606,0)|0;n=qVa(s|0,I|0,i|0,0)|0;h=I;i=m|2;wVa(q|0,0,f[e+(i*20|0)+4>>2]|0,0)|0;s=I;r=m|3;wVa(n|0,0,f[e+(r*20|0)+4>>2]|0,0)|0;p=I;t=q-(X((((q-s|0)>>>(f[e+(i*20|0)+8>>2]|0))+s|0)>>>(f[e+(i*20|0)+12>>2]|0),f[e+(i*20|0)>>2]|0)|0)|0;s=t+(f[e+(i*20|0)+16>>2]|0)|0;t=n-(X((((n-p|0)>>>(f[e+(r*20|0)+8>>2]|0))+p|0)>>>(f[e+(r*20|0)+12>>2]|0),f[e+(r*20|0)>>2]|0)|0)|0;p=t+(f[e+(r*20|0)+16>>2]|0)|0;d[a+(i<<1)>>1]=(s+32768|0)>>>0<65536?s:(s|0)>0?32767:32768;d[a+(r<<1)>>1]=(p+32768|0)>>>0<65536?p:(p|0)>0?32767:32768;m=m+4|0}while((m|0)<=(g|0));j=b&-4;k=n;l=h}if((j|0)<(b|0)){u=j;v=k;w=l}else{x=k;y=l;z=c;A=z;f[A>>2]=x;B=z+4|0;C=B;f[C>>2]=y;return}while(1){l=wVa(v|0,0,-130063606,0)|0;k=qVa(l|0,I|0,w|0,0)|0;l=I;wVa(k|0,0,f[e+(u*20|0)+4>>2]|0,0)|0;j=I;h=k-(X((((k-j|0)>>>(f[e+(u*20|0)+8>>2]|0))+j|0)>>>(f[e+(u*20|0)+12>>2]|0),f[e+(u*20|0)>>2]|0)|0)|0;j=h+(f[e+(u*20|0)+16>>2]|0)|0;d[a+(u<<1)>>1]=(j+32768|0)>>>0<65536?j:(j|0)>0?32767:32768;u=u+1|0;if((u|0)==(b|0)){x=k;y=l;break}else{v=k;w=l}}z=c;A=z;f[A>>2]=x;B=z+4|0;C=B;f[C>>2]=y;return}function mV(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;e=c;g=f[e>>2]|0;h=f[e+4>>2]|0;e=b+-4|0;if((b|0)<4){i=0;j=g;k=h}else{l=0;m=g;g=h;do{h=wVa(m|0,0,-130063606,0)|0;n=qVa(h|0,I|0,g|0,0)|0;h=I;o=wVa(n|0,0,-130063606,0)|0;p=qVa(o|0,I|0,h|0,0)|0;h=I;wVa(n|0,0,f[d+(l*20|0)+4>>2]|0,0)|0;o=I;q=l|1;wVa(p|0,0,f[d+(q*20|0)+4>>2]|0,0)|0;r=I;s=X((((n-o|0)>>>(f[d+(l*20|0)+8>>2]|0))+o|0)>>>(f[d+(l*20|0)+12>>2]|0),f[d+(l*20|0)>>2]|0)|0;o=X((((p-r|0)>>>(f[d+(q*20|0)+8>>2]|0))+r|0)>>>(f[d+(q*20|0)+12>>2]|0),f[d+(q*20|0)>>2]|0)|0;r=(f[d+(q*20|0)+16>>2]|0)+p-o|0;f[a+(l<<2)>>2]=(f[d+(l*20|0)+16>>2]|0)+n-s;f[a+(q<<2)>>2]=r;r=wVa(p|0,0,-130063606,0)|0;p=qVa(r|0,I|0,h|0,0)|0;h=I;r=wVa(p|0,0,-130063606,0)|0;m=qVa(r|0,I|0,h|0,0)|0;g=I;h=l|2;wVa(p|0,0,f[d+(h*20|0)+4>>2]|0,0)|0;r=I;q=l|3;wVa(m|0,0,f[d+(q*20|0)+4>>2]|0,0)|0;s=I;n=X((((p-r|0)>>>(f[d+(h*20|0)+8>>2]|0))+r|0)>>>(f[d+(h*20|0)+12>>2]|0),f[d+(h*20|0)>>2]|0)|0;r=X((((m-s|0)>>>(f[d+(q*20|0)+8>>2]|0))+s|0)>>>(f[d+(q*20|0)+12>>2]|0),f[d+(q*20|0)>>2]|0)|0;s=(f[d+(q*20|0)+16>>2]|0)+m-r|0;f[a+(h<<2)>>2]=(f[d+(h*20|0)+16>>2]|0)+p-n;f[a+(q<<2)>>2]=s;l=l+4|0}while((l|0)<=(e|0));i=b&-4;j=m;k=g}if((i|0)<(b|0)){t=i;u=j;v=k}else{w=j;x=k;y=c;z=y;f[z>>2]=w;A=y+4|0;B=A;f[B>>2]=x;return}while(1){k=wVa(u|0,0,-130063606,0)|0;j=qVa(k|0,I|0,v|0,0)|0;k=I;wVa(j|0,0,f[d+(t*20|0)+4>>2]|0,0)|0;i=I;g=X((((j-i|0)>>>(f[d+(t*20|0)+8>>2]|0))+i|0)>>>(f[d+(t*20|0)+12>>2]|0),f[d+(t*20|0)>>2]|0)|0;f[a+(t<<2)>>2]=(f[d+(t*20|0)+16>>2]|0)+j-g;t=t+1|0;if((t|0)==(b|0)){w=j;x=k;break}else{u=j;v=k}}y=c;z=y;f[z>>2]=w;A=y+4|0;B=A;f[B>>2]=x;return}function nV(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;e=c;g=f[e>>2]|0;h=f[e+4>>2]|0;e=b+-4|0;if((b|0)<4){i=0;j=g;k=h}else{l=0;m=g;g=h;do{h=wVa(m|0,0,-130063606,0)|0;o=qVa(h|0,I|0,g|0,0)|0;h=I;p=wVa(o|0,0,-130063606,0)|0;q=qVa(p|0,I|0,h|0,0)|0;h=I;p=wVa(q|0,0,-130063606,0)|0;r=qVa(p|0,I|0,h|0,0)|0;h=I;p=wVa(r|0,0,-130063606,0)|0;m=qVa(p|0,I|0,h|0,0)|0;g=I;n[a+(l<<2)>>2]=+n[d+(l<<3)>>2]*+(o|0)+ +n[d+(l<<3)+4>>2];o=l|1;n[a+(o<<2)>>2]=+n[d+(o<<3)>>2]*+(q|0)+ +n[d+(o<<3)+4>>2];o=l|2;n[a+(o<<2)>>2]=+n[d+(o<<3)>>2]*+(r|0)+ +n[d+(o<<3)+4>>2];o=l|3;n[a+(o<<2)>>2]=+n[d+(o<<3)>>2]*+(m|0)+ +n[d+(o<<3)+4>>2];l=l+4|0}while((l|0)<=(e|0));i=b&-4;j=m;k=g}if((i|0)<(b|0)){s=i;t=j;u=k}else{v=j;w=k;x=c;y=x;f[y>>2]=v;z=x+4|0;A=z;f[A>>2]=w;return}while(1){k=wVa(t|0,0,-130063606,0)|0;j=qVa(k|0,I|0,u|0,0)|0;k=I;n[a+(s<<2)>>2]=+n[d+(s<<3)>>2]*+(j|0)+ +n[d+(s<<3)+4>>2];s=s+1|0;if((s|0)==(b|0)){v=j;w=k;break}else{t=j;u=k}}x=c;y=x;f[y>>2]=v;z=x+4|0;A=z;f[A>>2]=w;return}function oV(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;e=c;g=f[e>>2]|0;h=f[e+4>>2]|0;e=b+-4|0;if((b|0)<4){i=0;j=g;k=h}else{l=0;m=g;g=h;do{h=wVa(m|0,0,-130063606,0)|0;n=qVa(h|0,I|0,g|0,0)|0;h=I;o=+p[d+(l<<4)>>3]*(+(h>>>0)+4294967296.0*+(n|0))+ +p[d+(l<<4)+8>>3];q=wVa(n|0,0,-130063606,0)|0;n=qVa(q|0,I|0,h|0,0)|0;h=I;q=l|1;r=+p[d+(q<<4)>>3]*(+(h>>>0)+4294967296.0*+(n|0))+ +p[d+(q<<4)+8>>3];p[a+(l<<3)>>3]=o;p[a+(q<<3)>>3]=r;q=wVa(n|0,0,-130063606,0)|0;n=qVa(q|0,I|0,h|0,0)|0;h=I;q=l|2;r=+p[d+(q<<4)>>3]*(+(h>>>0)+4294967296.0*+(n|0))+ +p[d+(q<<4)+8>>3];s=wVa(n|0,0,-130063606,0)|0;m=qVa(s|0,I|0,h|0,0)|0;g=I;h=l|3;o=+p[d+(h<<4)>>3]*(+(g>>>0)+4294967296.0*+(m|0))+ +p[d+(h<<4)+8>>3];p[a+(q<<3)>>3]=r;p[a+(h<<3)>>3]=o;l=l+4|0}while((l|0)<=(e|0));i=b&-4;j=m;k=g}if((i|0)<(b|0)){t=i;u=j;v=k}else{w=j;x=k;y=c;z=y;f[z>>2]=w;A=y+4|0;B=A;f[B>>2]=x;return}while(1){k=wVa(u|0,0,-130063606,0)|0;j=qVa(k|0,I|0,v|0,0)|0;k=I;p[a+(t<<3)>>3]=+p[d+(t<<4)>>3]*(+(k>>>0)+4294967296.0*+(j|0))+ +p[d+(t<<4)+8>>3];t=t+1|0;if((t|0)==(b|0)){w=j;x=k;break}else{u=j;v=k}}y=c;z=y;f[z>>2]=w;A=y+4|0;B=A;f[B>>2]=x;return}function pV(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;h=d;i=f[h>>2]|0;j=f[h+4>>2]|0;h=c+-4|0;k=(c|0)<4;if(g)if(k){l=0;m=i;n=j}else{g=0;o=i;p=j;do{q=wVa(o|0,0,-130063606,0)|0;o=qVa(q|0,I|0,p|0,0)|0;p=I;q=(f[e+(g<<3)>>2]&o)+(f[e+(g<<3)+4>>2]|0)|0;r=g|1;s=(o>>8&f[e+(r<<3)>>2])+(f[e+(r<<3)+4>>2]|0)|0;b[a+g>>0]=q>>>0<256?q:(q|0)>0?255:0;b[a+r>>0]=s>>>0<256?s:(s|0)>0?255:0;s=g|2;r=(f[e+(s<<3)>>2]&o>>16)+(f[e+(s<<3)+4>>2]|0)|0;q=g|3;t=(f[e+(q<<3)>>2]&o>>24)+(f[e+(q<<3)+4>>2]|0)|0;b[a+s>>0]=r>>>0<256?r:(r|0)>0?255:0;b[a+q>>0]=t>>>0<256?t:(t|0)>0?255:0;g=g+4|0}while((g|0)<=(h|0));l=c&-4;m=o;n=p}else if(k){l=0;m=i;n=j}else{k=0;p=i;i=j;do{j=wVa(p|0,0,-130063606,0)|0;o=qVa(j|0,I|0,i|0,0)|0;j=I;g=(f[e+(k<<3)>>2]&o)+(f[e+(k<<3)+4>>2]|0)|0;t=wVa(o|0,0,-130063606,0)|0;o=qVa(t|0,I|0,j|0,0)|0;j=I;t=k|1;q=(f[e+(t<<3)>>2]&o)+(f[e+(t<<3)+4>>2]|0)|0;b[a+k>>0]=g>>>0<256?g:(g|0)>0?255:0;b[a+t>>0]=q>>>0<256?q:(q|0)>0?255:0;q=wVa(o|0,0,-130063606,0)|0;o=qVa(q|0,I|0,j|0,0)|0;j=I;q=k|2;t=(f[e+(q<<3)>>2]&o)+(f[e+(q<<3)+4>>2]|0)|0;g=wVa(o|0,0,-130063606,0)|0;p=qVa(g|0,I|0,j|0,0)|0;i=I;j=k|3;g=(f[e+(j<<3)>>2]&p)+(f[e+(j<<3)+4>>2]|0)|0;b[a+q>>0]=t>>>0<256?t:(t|0)>0?255:0;b[a+j>>0]=g>>>0<256?g:(g|0)>0?255:0;k=k+4|0}while((k|0)<=(h|0));l=c&-4;m=p;n=i}if((l|0)<(c|0)){u=l;v=m;w=n}else{x=m;y=n;z=d;A=z;f[A>>2]=x;B=z+4|0;C=B;f[C>>2]=y;return}while(1){n=wVa(v|0,0,-130063606,0)|0;m=qVa(n|0,I|0,w|0,0)|0;n=I;l=(f[e+(u<<3)>>2]&m)+(f[e+(u<<3)+4>>2]|0)|0;b[a+u>>0]=l>>>0<256?l:(l|0)>0?255:0;u=u+1|0;if((u|0)==(c|0)){x=m;y=n;break}else{v=m;w=n}}z=d;A=z;f[A>>2]=x;B=z+4|0;C=B;f[C>>2]=y;return}function qV(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;h=d;i=f[h>>2]|0;j=f[h+4>>2]|0;h=c+-4|0;k=(c|0)<4;if(g)if(k){l=0;m=i;n=j}else{g=0;o=i;p=j;do{q=wVa(o|0,0,-130063606,0)|0;o=qVa(q|0,I|0,p|0,0)|0;p=I;q=(f[e+(g<<3)>>2]&o)+(f[e+(g<<3)+4>>2]|0)|0;r=g|1;s=(o>>8&f[e+(r<<3)>>2])+(f[e+(r<<3)+4>>2]|0)|0;b[a+g>>0]=(q+128|0)>>>0<256?q:(q|0)>0?127:128;b[a+r>>0]=(s+128|0)>>>0<256?s:(s|0)>0?127:128;s=g|2;r=(f[e+(s<<3)>>2]&o>>16)+(f[e+(s<<3)+4>>2]|0)|0;q=g|3;t=(f[e+(q<<3)>>2]&o>>24)+(f[e+(q<<3)+4>>2]|0)|0;b[a+s>>0]=(r+128|0)>>>0<256?r:(r|0)>0?127:128;b[a+q>>0]=(t+128|0)>>>0<256?t:(t|0)>0?127:128;g=g+4|0}while((g|0)<=(h|0));l=c&-4;m=o;n=p}else if(k){l=0;m=i;n=j}else{k=0;p=i;i=j;do{j=wVa(p|0,0,-130063606,0)|0;o=qVa(j|0,I|0,i|0,0)|0;j=I;g=(f[e+(k<<3)>>2]&o)+(f[e+(k<<3)+4>>2]|0)|0;t=wVa(o|0,0,-130063606,0)|0;o=qVa(t|0,I|0,j|0,0)|0;j=I;t=k|1;q=(f[e+(t<<3)>>2]&o)+(f[e+(t<<3)+4>>2]|0)|0;b[a+k>>0]=(g+128|0)>>>0<256?g:(g|0)>0?127:128;b[a+t>>0]=(q+128|0)>>>0<256?q:(q|0)>0?127:128;q=wVa(o|0,0,-130063606,0)|0;o=qVa(q|0,I|0,j|0,0)|0;j=I;q=k|2;t=(f[e+(q<<3)>>2]&o)+(f[e+(q<<3)+4>>2]|0)|0;g=wVa(o|0,0,-130063606,0)|0;p=qVa(g|0,I|0,j|0,0)|0;i=I;j=k|3;g=(f[e+(j<<3)>>2]&p)+(f[e+(j<<3)+4>>2]|0)|0;b[a+q>>0]=(t+128|0)>>>0<256?t:(t|0)>0?127:128;b[a+j>>0]=(g+128|0)>>>0<256?g:(g|0)>0?127:128;k=k+4|0}while((k|0)<=(h|0));l=c&-4;m=p;n=i}if((l|0)<(c|0)){u=l;v=m;w=n}else{x=m;y=n;z=d;A=z;f[A>>2]=x;B=z+4|0;C=B;f[C>>2]=y;return}while(1){n=wVa(v|0,0,-130063606,0)|0;m=qVa(n|0,I|0,w|0,0)|0;n=I;l=(f[e+(u<<3)>>2]&m)+(f[e+(u<<3)+4>>2]|0)|0;b[a+u>>0]=(l+128|0)>>>0<256?l:(l|0)>0?127:128;u=u+1|0;if((u|0)==(c|0)){x=m;y=n;break}else{v=m;w=n}}z=d;A=z;f[A>>2]=x;B=z+4|0;C=B;f[C>>2]=y;return}function rV(a,b,c,e,g){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;h=c;i=f[h>>2]|0;j=f[h+4>>2]|0;h=b+-4|0;k=(b|0)<4;if(g)if(k){l=0;m=i;n=j}else{g=0;o=i;p=j;do{q=wVa(o|0,0,-130063606,0)|0;o=qVa(q|0,I|0,p|0,0)|0;p=I;q=(f[e+(g<<3)>>2]&o)+(f[e+(g<<3)+4>>2]|0)|0;r=g|1;s=(o>>8&f[e+(r<<3)>>2])+(f[e+(r<<3)+4>>2]|0)|0;d[a+(g<<1)>>1]=q>>>0<65536?q:(q|0)>0?65535:0;d[a+(r<<1)>>1]=s>>>0<65536?s:(s|0)>0?65535:0;s=g|2;r=(f[e+(s<<3)>>2]&o>>16)+(f[e+(s<<3)+4>>2]|0)|0;q=g|3;t=(f[e+(q<<3)>>2]&o>>24)+(f[e+(q<<3)+4>>2]|0)|0;d[a+(s<<1)>>1]=r>>>0<65536?r:(r|0)>0?65535:0;d[a+(q<<1)>>1]=t>>>0<65536?t:(t|0)>0?65535:0;g=g+4|0}while((g|0)<=(h|0));l=b&-4;m=o;n=p}else if(k){l=0;m=i;n=j}else{k=0;p=i;i=j;do{j=wVa(p|0,0,-130063606,0)|0;o=qVa(j|0,I|0,i|0,0)|0;j=I;g=(f[e+(k<<3)>>2]&o)+(f[e+(k<<3)+4>>2]|0)|0;t=wVa(o|0,0,-130063606,0)|0;o=qVa(t|0,I|0,j|0,0)|0;j=I;t=k|1;q=(f[e+(t<<3)>>2]&o)+(f[e+(t<<3)+4>>2]|0)|0;d[a+(k<<1)>>1]=g>>>0<65536?g:(g|0)>0?65535:0;d[a+(t<<1)>>1]=q>>>0<65536?q:(q|0)>0?65535:0;q=wVa(o|0,0,-130063606,0)|0;o=qVa(q|0,I|0,j|0,0)|0;j=I;q=k|2;t=(f[e+(q<<3)>>2]&o)+(f[e+(q<<3)+4>>2]|0)|0;g=wVa(o|0,0,-130063606,0)|0;p=qVa(g|0,I|0,j|0,0)|0;i=I;j=k|3;g=(f[e+(j<<3)>>2]&p)+(f[e+(j<<3)+4>>2]|0)|0;d[a+(q<<1)>>1]=t>>>0<65536?t:(t|0)>0?65535:0;d[a+(j<<1)>>1]=g>>>0<65536?g:(g|0)>0?65535:0;k=k+4|0}while((k|0)<=(h|0));l=b&-4;m=p;n=i}if((l|0)<(b|0)){u=l;v=m;w=n}else{x=m;y=n;z=c;A=z;f[A>>2]=x;B=z+4|0;C=B;f[C>>2]=y;return}while(1){n=wVa(v|0,0,-130063606,0)|0;m=qVa(n|0,I|0,w|0,0)|0;n=I;l=(f[e+(u<<3)>>2]&m)+(f[e+(u<<3)+4>>2]|0)|0;d[a+(u<<1)>>1]=l>>>0<65536?l:(l|0)>0?65535:0;u=u+1|0;if((u|0)==(b|0)){x=m;y=n;break}else{v=m;w=n}}z=c;A=z;f[A>>2]=x;B=z+4|0;C=B;f[C>>2]=y;return}function sV(a,b,c,e,g){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;h=c;i=f[h>>2]|0;j=f[h+4>>2]|0;h=b+-4|0;k=(b|0)<4;if(g)if(k){l=0;m=i;n=j}else{g=0;o=i;p=j;do{q=wVa(o|0,0,-130063606,0)|0;o=qVa(q|0,I|0,p|0,0)|0;p=I;q=(f[e+(g<<3)>>2]&o)+(f[e+(g<<3)+4>>2]|0)|0;r=g|1;s=(o>>8&f[e+(r<<3)>>2])+(f[e+(r<<3)+4>>2]|0)|0;d[a+(g<<1)>>1]=(q+32768|0)>>>0<65536?q:(q|0)>0?32767:32768;d[a+(r<<1)>>1]=(s+32768|0)>>>0<65536?s:(s|0)>0?32767:32768;s=g|2;r=(f[e+(s<<3)>>2]&o>>16)+(f[e+(s<<3)+4>>2]|0)|0;q=g|3;t=(f[e+(q<<3)>>2]&o>>24)+(f[e+(q<<3)+4>>2]|0)|0;d[a+(s<<1)>>1]=(r+32768|0)>>>0<65536?r:(r|0)>0?32767:32768;d[a+(q<<1)>>1]=(t+32768|0)>>>0<65536?t:(t|0)>0?32767:32768;g=g+4|0}while((g|0)<=(h|0));l=b&-4;m=o;n=p}else if(k){l=0;m=i;n=j}else{k=0;p=i;i=j;do{j=wVa(p|0,0,-130063606,0)|0;o=qVa(j|0,I|0,i|0,0)|0;j=I;g=(f[e+(k<<3)>>2]&o)+(f[e+(k<<3)+4>>2]|0)|0;t=wVa(o|0,0,-130063606,0)|0;o=qVa(t|0,I|0,j|0,0)|0;j=I;t=k|1;q=(f[e+(t<<3)>>2]&o)+(f[e+(t<<3)+4>>2]|0)|0;d[a+(k<<1)>>1]=(g+32768|0)>>>0<65536?g:(g|0)>0?32767:32768;d[a+(t<<1)>>1]=(q+32768|0)>>>0<65536?q:(q|0)>0?32767:32768;q=wVa(o|0,0,-130063606,0)|0;o=qVa(q|0,I|0,j|0,0)|0;j=I;q=k|2;t=(f[e+(q<<3)>>2]&o)+(f[e+(q<<3)+4>>2]|0)|0;g=wVa(o|0,0,-130063606,0)|0;p=qVa(g|0,I|0,j|0,0)|0;i=I;j=k|3;g=(f[e+(j<<3)>>2]&p)+(f[e+(j<<3)+4>>2]|0)|0;d[a+(q<<1)>>1]=(t+32768|0)>>>0<65536?t:(t|0)>0?32767:32768;d[a+(j<<1)>>1]=(g+32768|0)>>>0<65536?g:(g|0)>0?32767:32768;k=k+4|0}while((k|0)<=(h|0));l=b&-4;m=p;n=i}if((l|0)<(b|0)){u=l;v=m;w=n}else{x=m;y=n;z=c;A=z;f[A>>2]=x;B=z+4|0;C=B;f[C>>2]=y;return}while(1){n=wVa(v|0,0,-130063606,0)|0;m=qVa(n|0,I|0,w|0,0)|0;n=I;l=(f[e+(u<<3)>>2]&m)+(f[e+(u<<3)+4>>2]|0)|0;d[a+(u<<1)>>1]=(l+32768|0)>>>0<65536?l:(l|0)>0?32767:32768;u=u+1|0;if((u|0)==(b|0)){x=m;y=n;break}else{v=m;w=n}}z=c;A=z;f[A>>2]=x;B=z+4|0;C=B;f[C>>2]=y;return}function tV(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;g=c;h=f[g>>2]|0;i=f[g+4>>2]|0;g=b+-4|0;j=(b|0)<4;if(e)if(j){k=0;l=h;m=i}else{e=0;n=h;o=i;do{p=wVa(n|0,0,-130063606,0)|0;n=qVa(p|0,I|0,o|0,0)|0;o=I;p=e|1;q=(n>>8&f[d+(p<<3)>>2])+(f[d+(p<<3)+4>>2]|0)|0;f[a+(e<<2)>>2]=(f[d+(e<<3)>>2]&n)+(f[d+(e<<3)+4>>2]|0);f[a+(p<<2)>>2]=q;q=e|2;p=e|3;r=(f[d+(p<<3)>>2]&n>>24)+(f[d+(p<<3)+4>>2]|0)|0;f[a+(q<<2)>>2]=(f[d+(q<<3)>>2]&n>>16)+(f[d+(q<<3)+4>>2]|0);f[a+(p<<2)>>2]=r;e=e+4|0}while((e|0)<=(g|0));k=b&-4;l=n;m=o}else if(j){k=0;l=h;m=i}else{j=0;o=h;h=i;do{i=wVa(o|0,0,-130063606,0)|0;n=qVa(i|0,I|0,h|0,0)|0;i=I;e=(f[d+(j<<3)>>2]&n)+(f[d+(j<<3)+4>>2]|0)|0;r=wVa(n|0,0,-130063606,0)|0;n=qVa(r|0,I|0,i|0,0)|0;i=I;r=j|1;p=(f[d+(r<<3)>>2]&n)+(f[d+(r<<3)+4>>2]|0)|0;f[a+(j<<2)>>2]=e;f[a+(r<<2)>>2]=p;p=wVa(n|0,0,-130063606,0)|0;n=qVa(p|0,I|0,i|0,0)|0;i=I;p=j|2;r=(f[d+(p<<3)>>2]&n)+(f[d+(p<<3)+4>>2]|0)|0;e=wVa(n|0,0,-130063606,0)|0;o=qVa(e|0,I|0,i|0,0)|0;h=I;i=j|3;e=(f[d+(i<<3)>>2]&o)+(f[d+(i<<3)+4>>2]|0)|0;f[a+(p<<2)>>2]=r;f[a+(i<<2)>>2]=e;j=j+4|0}while((j|0)<=(g|0));k=b&-4;l=o;m=h}if((k|0)<(b|0)){s=k;t=l;u=m}else{v=l;w=m;x=c;y=x;f[y>>2]=v;z=x+4|0;A=z;f[A>>2]=w;return}while(1){m=wVa(t|0,0,-130063606,0)|0;l=qVa(m|0,I|0,u|0,0)|0;m=I;f[a+(s<<2)>>2]=(f[d+(s<<3)>>2]&l)+(f[d+(s<<3)+4>>2]|0);s=s+1|0;if((s|0)==(b|0)){v=l;w=m;break}else{t=l;u=m}}x=c;y=x;f[y>>2]=v;z=x+4|0;A=z;f[A>>2]=w;return}function uV(){return TP(SP()|0)|0}function vV(a){a=a|0;var b=0,c=0;b=(a|0)!=0;c=TP(SP()|0)|0;f[c>>2]=b?a:-1;f[c+4>>2]=b?((a|0)<0)<<31>>31:0;return}function wV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;yV(e,41632);aV(TP(SP()|0)|0,a,0,b,c,0);if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function xV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;yV(e,41652);aV(TP(SP()|0)|0,a,1,b,c,0);if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function yV(a,b){a=a|0;b=b|0;f[a>>2]=0;f[a+4>>2]=0;return}function zV(a){a=a|0;return}function AV(a){a=a|0;return f[41672+(a<<2)>>2]|0}function BV(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;if(!c){i=(g|0)%4|0;switch(i|0){case 1:{j=f[d>>2]|0;k=e+-4|0;if((e|0)<4){l=a;m=j;n=0}else{o=g<<1;p=g*3|0;q=g<<2;r=e&-4;s=a;t=j;j=0;while(1){t=t+(h[s>>0]|0)+(h[s+g>>0]|0)+(h[s+o>>0]|0)+(h[s+p>>0]|0)|0;j=j+4|0;if((j|0)>(k|0))break;else s=s+q|0}l=a+(X(r,g)|0)|0;m=t;n=r}if((n|0)<(e|0)){r=m;t=n;q=l;while(1){l=r+(h[q>>0]|0)|0;t=t+1|0;if((t|0)==(e|0)){u=l;v=e;break}else{r=l;q=q+g|0}}}else{u=m;v=n}f[d>>2]=u;w=v;break}case 2:{v=f[d>>2]|0;u=d+4|0;n=f[u>>2]|0;if((e|0)>0){m=n;q=v;r=0;t=a;while(1){l=q+(h[t>>0]|0)|0;s=m+(h[t+1>>0]|0)|0;r=r+1|0;if((r|0)==(e|0)){x=s;y=l;z=e;break}else{m=s;q=l;t=t+g|0}}}else{x=n;y=v;z=0}f[d>>2]=y;f[u>>2]=x;w=z;break}case 3:{z=f[d>>2]|0;x=d+4|0;u=f[x>>2]|0;y=d+8|0;v=f[y>>2]|0;if((e|0)>0){n=v;t=u;q=z;m=0;r=a;while(1){l=q+(h[r>>0]|0)|0;s=t+(h[r+1>>0]|0)|0;k=n+(h[r+2>>0]|0)|0;m=m+1|0;if((m|0)==(e|0)){A=k;B=s;C=l;D=e;break}else{n=k;t=s;q=l;r=r+g|0}}}else{A=v;B=u;C=z;D=0}f[d>>2]=C;f[x>>2]=B;f[y>>2]=A;w=D;break}default:w=0}if((i|0)<(g|0)){E=i;F=w}else{G=e;return G|0}while(1){w=d+(E<<2)|0;i=f[w>>2]|0;D=d+(E+1<<2)|0;A=f[D>>2]|0;y=d+(E+2<<2)|0;B=f[y>>2]|0;x=d+(E+3<<2)|0;C=f[x>>2]|0;if((F|0)<(e|0)){z=C;u=B;v=A;r=i;q=a+(X(F,g)|0)+E|0;t=F;while(1){n=r+(h[q>>0]|0)|0;m=v+(h[q+1>>0]|0)|0;l=u+(h[q+2>>0]|0)|0;s=z+(h[q+3>>0]|0)|0;t=t+1|0;if((t|0)==(e|0)){H=s;I=l;J=m;K=n;L=e;break}else{z=s;u=l;v=m;r=n;q=q+g|0}}}else{H=C;I=B;J=A;K=i;L=F}f[w>>2]=K;f[D>>2]=J;f[y>>2]=I;f[x>>2]=H;E=E+4|0;if((E|0)>=(g|0)){G=e;break}else F=L}return G|0}switch(g|0){case 1:{L=f[d>>2]|0;if((e|0)>0){F=L;E=0;H=0;while(1){if(!(b[c+H>>0]|0)){M=F;N=E}else{M=F+(h[a+H>>0]|0)|0;N=E+1|0}H=H+1|0;if((H|0)==(e|0)){O=M;P=N;break}else{F=M;E=N}}}else{O=L;P=0}f[d>>2]=O;G=P;return G|0}case 3:{P=f[d>>2]|0;O=d+4|0;L=f[O>>2]|0;N=d+8|0;E=f[N>>2]|0;if((e|0)>0){M=E;F=L;H=P;I=0;J=0;K=a;while(1){if(!(b[c+I>>0]|0)){Q=M;R=F;S=H;T=J}else{Q=M+(h[K+2>>0]|0)|0;R=F+(h[K+1>>0]|0)|0;S=H+(h[K>>0]|0)|0;T=J+1|0}I=I+1|0;if((I|0)==(e|0)){U=Q;V=R;W=S;Y=T;break}else{M=Q;F=R;H=S;J=T;K=K+3|0}}}else{U=E;V=L;W=P;Y=0}f[d>>2]=W;f[O>>2]=V;f[N>>2]=U;G=Y;return G|0}default:{if((e|0)<=0){G=0;return G|0}Y=g+-4|0;if((g|0)<4){if((g|0)>0){Z=0;_=0;$=a}else{U=0;N=0;while(1){V=N+((b[c+U>>0]|0)!=0&1)|0;U=U+1|0;if((U|0)==(e|0)){G=V;break}else N=V}return G|0}while(1){if(!(b[c+Z>>0]|0))aa=_;else{N=0;do{U=d+(N<<2)|0;f[U>>2]=(f[U>>2]|0)+(h[$+N>>0]|0);N=N+1|0}while((N|0)!=(g|0));aa=_+1|0}Z=Z+1|0;if((Z|0)==(e|0)){G=aa;break}else{_=aa;$=$+g|0}}return G|0}$=g&-4;if(($|0)<(g|0)){ba=0;ca=0;da=a}else{aa=0;_=0;Z=a;while(1){if(!(b[c+aa>>0]|0))ea=_;else{a=0;do{N=d+(a<<2)|0;x=a|1;y=d+(x<<2)|0;D=(f[y>>2]|0)+(h[Z+x>>0]|0)|0;f[N>>2]=(f[N>>2]|0)+(h[Z+a>>0]|0);f[y>>2]=D;D=a|2;y=d+(D<<2)|0;N=a|3;x=d+(N<<2)|0;w=(f[x>>2]|0)+(h[Z+N>>0]|0)|0;f[y>>2]=(f[y>>2]|0)+(h[Z+D>>0]|0);f[x>>2]=w;a=a+4|0}while((a|0)<=(Y|0));ea=_+1|0}aa=aa+1|0;if((aa|0)==(e|0)){G=ea;break}else{_=ea;Z=Z+g|0}}return G|0}while(1){if(!(b[c+ba>>0]|0))fa=ca;else{Z=0;do{ea=d+(Z<<2)|0;_=Z|1;aa=d+(_<<2)|0;a=(f[aa>>2]|0)+(h[da+_>>0]|0)|0;f[ea>>2]=(f[ea>>2]|0)+(h[da+Z>>0]|0);f[aa>>2]=a;a=Z|2;aa=d+(a<<2)|0;ea=Z|3;_=d+(ea<<2)|0;w=(f[_>>2]|0)+(h[da+ea>>0]|0)|0;f[aa>>2]=(f[aa>>2]|0)+(h[da+a>>0]|0);f[_>>2]=w;Z=Z+4|0}while((Z|0)<=(Y|0));ga=$;do{Z=d+(ga<<2)|0;f[Z>>2]=(f[Z>>2]|0)+(h[da+ga>>0]|0);ga=ga+1|0}while((ga|0)!=(g|0));fa=ca+1|0}ba=ba+1|0;if((ba|0)==(e|0)){G=fa;break}else{ca=fa;da=da+g|0}}return G|0}}return 0}function CV(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;if(!c){h=(g|0)%4|0;switch(h|0){case 1:{i=f[d>>2]|0;j=e+-4|0;if((e|0)<4){k=a;l=i;m=0}else{n=g<<1;o=g*3|0;p=g<<2;q=e&-4;r=a;s=i;i=0;while(1){s=s+(b[r>>0]|0)+(b[r+g>>0]|0)+(b[r+n>>0]|0)+(b[r+o>>0]|0)|0;i=i+4|0;if((i|0)>(j|0))break;else r=r+p|0}k=a+(X(q,g)|0)|0;l=s;m=q}if((m|0)<(e|0)){q=l;s=m;p=k;while(1){k=q+(b[p>>0]|0)|0;s=s+1|0;if((s|0)==(e|0)){t=k;u=e;break}else{q=k;p=p+g|0}}}else{t=l;u=m}f[d>>2]=t;v=u;break}case 2:{u=f[d>>2]|0;t=d+4|0;m=f[t>>2]|0;if((e|0)>0){l=m;p=u;q=0;s=a;while(1){k=p+(b[s>>0]|0)|0;r=l+(b[s+1>>0]|0)|0;q=q+1|0;if((q|0)==(e|0)){w=r;x=k;y=e;break}else{l=r;p=k;s=s+g|0}}}else{w=m;x=u;y=0}f[d>>2]=x;f[t>>2]=w;v=y;break}case 3:{y=f[d>>2]|0;w=d+4|0;t=f[w>>2]|0;x=d+8|0;u=f[x>>2]|0;if((e|0)>0){m=u;s=t;p=y;l=0;q=a;while(1){k=p+(b[q>>0]|0)|0;r=s+(b[q+1>>0]|0)|0;j=m+(b[q+2>>0]|0)|0;l=l+1|0;if((l|0)==(e|0)){z=j;A=r;B=k;C=e;break}else{m=j;s=r;p=k;q=q+g|0}}}else{z=u;A=t;B=y;C=0}f[d>>2]=B;f[w>>2]=A;f[x>>2]=z;v=C;break}default:v=0}if((h|0)<(g|0)){D=h;E=v}else{F=e;return F|0}while(1){v=d+(D<<2)|0;h=f[v>>2]|0;C=d+(D+1<<2)|0;z=f[C>>2]|0;x=d+(D+2<<2)|0;A=f[x>>2]|0;w=d+(D+3<<2)|0;B=f[w>>2]|0;if((E|0)<(e|0)){y=B;t=A;u=z;q=h;p=a+(X(E,g)|0)+D|0;s=E;while(1){m=q+(b[p>>0]|0)|0;l=u+(b[p+1>>0]|0)|0;k=t+(b[p+2>>0]|0)|0;r=y+(b[p+3>>0]|0)|0;s=s+1|0;if((s|0)==(e|0)){G=r;H=k;I=l;J=m;K=e;break}else{y=r;t=k;u=l;q=m;p=p+g|0}}}else{G=B;H=A;I=z;J=h;K=E}f[v>>2]=J;f[C>>2]=I;f[x>>2]=H;f[w>>2]=G;D=D+4|0;if((D|0)>=(g|0)){F=e;break}else E=K}return F|0}switch(g|0){case 1:{K=f[d>>2]|0;if((e|0)>0){E=K;D=0;G=0;while(1){if(!(b[c+G>>0]|0)){L=E;M=D}else{L=E+(b[a+G>>0]|0)|0;M=D+1|0}G=G+1|0;if((G|0)==(e|0)){N=L;O=M;break}else{E=L;D=M}}}else{N=K;O=0}f[d>>2]=N;F=O;return F|0}case 3:{O=f[d>>2]|0;N=d+4|0;K=f[N>>2]|0;M=d+8|0;D=f[M>>2]|0;if((e|0)>0){L=D;E=K;G=O;H=0;I=0;J=a;while(1){if(!(b[c+H>>0]|0)){P=L;Q=E;R=G;S=I}else{P=L+(b[J+2>>0]|0)|0;Q=E+(b[J+1>>0]|0)|0;R=G+(b[J>>0]|0)|0;S=I+1|0}H=H+1|0;if((H|0)==(e|0)){T=P;U=Q;V=R;W=S;break}else{L=P;E=Q;G=R;I=S;J=J+3|0}}}else{T=D;U=K;V=O;W=0}f[d>>2]=V;f[N>>2]=U;f[M>>2]=T;F=W;return F|0}default:{if((e|0)<=0){F=0;return F|0}W=g+-4|0;if((g|0)<4){if((g|0)>0){Y=0;Z=0;_=a}else{T=0;M=0;while(1){U=M+((b[c+T>>0]|0)!=0&1)|0;T=T+1|0;if((T|0)==(e|0)){F=U;break}else M=U}return F|0}while(1){if(!(b[c+Y>>0]|0))$=Z;else{M=0;do{T=d+(M<<2)|0;f[T>>2]=(f[T>>2]|0)+(b[_+M>>0]|0);M=M+1|0}while((M|0)!=(g|0));$=Z+1|0}Y=Y+1|0;if((Y|0)==(e|0)){F=$;break}else{Z=$;_=_+g|0}}return F|0}_=g&-4;if((_|0)<(g|0)){aa=0;ba=0;ca=a}else{$=0;Z=0;Y=a;while(1){if(!(b[c+$>>0]|0))da=Z;else{a=0;do{M=d+(a<<2)|0;w=a|1;x=d+(w<<2)|0;C=(f[x>>2]|0)+(b[Y+w>>0]|0)|0;f[M>>2]=(f[M>>2]|0)+(b[Y+a>>0]|0);f[x>>2]=C;C=a|2;x=d+(C<<2)|0;M=a|3;w=d+(M<<2)|0;v=(f[w>>2]|0)+(b[Y+M>>0]|0)|0;f[x>>2]=(f[x>>2]|0)+(b[Y+C>>0]|0);f[w>>2]=v;a=a+4|0}while((a|0)<=(W|0));da=Z+1|0}$=$+1|0;if(($|0)==(e|0)){F=da;break}else{Z=da;Y=Y+g|0}}return F|0}while(1){if(!(b[c+aa>>0]|0))ea=ba;else{Y=0;do{da=d+(Y<<2)|0;Z=Y|1;$=d+(Z<<2)|0;a=(f[$>>2]|0)+(b[ca+Z>>0]|0)|0;f[da>>2]=(f[da>>2]|0)+(b[ca+Y>>0]|0);f[$>>2]=a;a=Y|2;$=d+(a<<2)|0;da=Y|3;Z=d+(da<<2)|0;v=(f[Z>>2]|0)+(b[ca+da>>0]|0)|0;f[$>>2]=(f[$>>2]|0)+(b[ca+a>>0]|0);f[Z>>2]=v;Y=Y+4|0}while((Y|0)<=(W|0));fa=_;do{Y=d+(fa<<2)|0;f[Y>>2]=(f[Y>>2]|0)+(b[ca+fa>>0]|0);fa=fa+1|0}while((fa|0)!=(g|0));ea=ba+1|0}aa=aa+1|0;if((aa|0)==(e|0)){F=ea;break}else{ba=ea;ca=ca+g|0}}return F|0}}return 0}function DV(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;if(!c){h=(g|0)%4|0;switch(h|0){case 1:{i=f[d>>2]|0;k=e+-4|0;if((e|0)<4){l=a;m=i;n=0}else{o=g<<1;p=g*3|0;q=g<<2;r=X((k>>>2<<3)+8|0,g)|0;s=a;t=i;i=0;while(1){t=t+(j[s>>1]|0)+(j[s+(g<<1)>>1]|0)+(j[s+(o<<1)>>1]|0)+(j[s+(p<<1)>>1]|0)|0;i=i+4|0;if((i|0)>(k|0))break;else s=s+(q<<1)|0}l=a+r|0;m=t;n=e&-4}if((n|0)<(e|0)){t=m;r=n;q=l;while(1){l=t+(j[q>>1]|0)|0;r=r+1|0;if((r|0)==(e|0)){u=l;v=e;break}else{t=l;q=q+(g<<1)|0}}}else{u=m;v=n}f[d>>2]=u;w=v;break}case 2:{v=f[d>>2]|0;u=d+4|0;n=f[u>>2]|0;if((e|0)>0){m=n;q=v;t=0;r=a;while(1){l=q+(j[r>>1]|0)|0;s=m+(j[r+2>>1]|0)|0;t=t+1|0;if((t|0)==(e|0)){x=s;y=l;z=e;break}else{m=s;q=l;r=r+(g<<1)|0}}}else{x=n;y=v;z=0}f[d>>2]=y;f[u>>2]=x;w=z;break}case 3:{z=f[d>>2]|0;x=d+4|0;u=f[x>>2]|0;y=d+8|0;v=f[y>>2]|0;if((e|0)>0){n=v;r=u;q=z;m=0;t=a;while(1){l=q+(j[t>>1]|0)|0;s=r+(j[t+2>>1]|0)|0;k=n+(j[t+4>>1]|0)|0;m=m+1|0;if((m|0)==(e|0)){A=k;B=s;C=l;D=e;break}else{n=k;r=s;q=l;t=t+(g<<1)|0}}}else{A=v;B=u;C=z;D=0}f[d>>2]=C;f[x>>2]=B;f[y>>2]=A;w=D;break}default:w=0}if((h|0)<(g|0)){E=h;F=w}else{G=e;return G|0}while(1){w=d+(E<<2)|0;h=f[w>>2]|0;D=d+(E+1<<2)|0;A=f[D>>2]|0;y=d+(E+2<<2)|0;B=f[y>>2]|0;x=d+(E+3<<2)|0;C=f[x>>2]|0;if((F|0)<(e|0)){z=C;u=B;v=A;t=h;q=a+((X(F,g)|0)<<1)+(E<<1)|0;r=F;while(1){n=t+(j[q>>1]|0)|0;m=v+(j[q+2>>1]|0)|0;l=u+(j[q+4>>1]|0)|0;s=z+(j[q+6>>1]|0)|0;r=r+1|0;if((r|0)==(e|0)){H=s;I=l;J=m;K=n;L=e;break}else{z=s;u=l;v=m;t=n;q=q+(g<<1)|0}}}else{H=C;I=B;J=A;K=h;L=F}f[w>>2]=K;f[D>>2]=J;f[y>>2]=I;f[x>>2]=H;E=E+4|0;if((E|0)>=(g|0)){G=e;break}else F=L}return G|0}switch(g|0){case 1:{L=f[d>>2]|0;if((e|0)>0){F=L;E=0;H=0;while(1){if(!(b[c+H>>0]|0)){M=F;N=E}else{M=F+(j[a+(H<<1)>>1]|0)|0;N=E+1|0}H=H+1|0;if((H|0)==(e|0)){O=M;P=N;break}else{F=M;E=N}}}else{O=L;P=0}f[d>>2]=O;G=P;return G|0}case 3:{P=f[d>>2]|0;O=d+4|0;L=f[O>>2]|0;N=d+8|0;E=f[N>>2]|0;if((e|0)>0){M=E;F=L;H=P;I=0;J=0;K=a;while(1){if(!(b[c+I>>0]|0)){Q=M;R=F;S=H;T=J}else{Q=M+(j[K+4>>1]|0)|0;R=F+(j[K+2>>1]|0)|0;S=H+(j[K>>1]|0)|0;T=J+1|0}I=I+1|0;if((I|0)==(e|0)){U=Q;V=R;W=S;Y=T;break}else{M=Q;F=R;H=S;J=T;K=K+6|0}}}else{U=E;V=L;W=P;Y=0}f[d>>2]=W;f[O>>2]=V;f[N>>2]=U;G=Y;return G|0}default:{if((e|0)<=0){G=0;return G|0}Y=g+-4|0;if((g|0)<4){if((g|0)>0){Z=0;_=0;$=a}else{U=0;N=0;while(1){V=N+((b[c+U>>0]|0)!=0&1)|0;U=U+1|0;if((U|0)==(e|0)){G=V;break}else N=V}return G|0}while(1){if(!(b[c+Z>>0]|0))aa=_;else{N=0;do{U=d+(N<<2)|0;f[U>>2]=(f[U>>2]|0)+(j[$+(N<<1)>>1]|0);N=N+1|0}while((N|0)!=(g|0));aa=_+1|0}Z=Z+1|0;if((Z|0)==(e|0)){G=aa;break}else{_=aa;$=$+(g<<1)|0}}return G|0}$=g&-4;if(($|0)<(g|0)){ba=0;ca=0;da=a}else{aa=0;_=0;Z=a;while(1){if(!(b[c+aa>>0]|0))ea=_;else{a=0;do{N=d+(a<<2)|0;x=a|1;y=d+(x<<2)|0;D=(f[y>>2]|0)+(j[Z+(x<<1)>>1]|0)|0;f[N>>2]=(f[N>>2]|0)+(j[Z+(a<<1)>>1]|0);f[y>>2]=D;D=a|2;y=d+(D<<2)|0;N=a|3;x=d+(N<<2)|0;w=(f[x>>2]|0)+(j[Z+(N<<1)>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(j[Z+(D<<1)>>1]|0);f[x>>2]=w;a=a+4|0}while((a|0)<=(Y|0));ea=_+1|0}aa=aa+1|0;if((aa|0)==(e|0)){G=ea;break}else{_=ea;Z=Z+(g<<1)|0}}return G|0}while(1){if(!(b[c+ba>>0]|0))fa=ca;else{Z=0;do{ea=d+(Z<<2)|0;_=Z|1;aa=d+(_<<2)|0;a=(f[aa>>2]|0)+(j[da+(_<<1)>>1]|0)|0;f[ea>>2]=(f[ea>>2]|0)+(j[da+(Z<<1)>>1]|0);f[aa>>2]=a;a=Z|2;aa=d+(a<<2)|0;ea=Z|3;_=d+(ea<<2)|0;w=(f[_>>2]|0)+(j[da+(ea<<1)>>1]|0)|0;f[aa>>2]=(f[aa>>2]|0)+(j[da+(a<<1)>>1]|0);f[_>>2]=w;Z=Z+4|0}while((Z|0)<=(Y|0));ga=$;do{Z=d+(ga<<2)|0;f[Z>>2]=(f[Z>>2]|0)+(j[da+(ga<<1)>>1]|0);ga=ga+1|0}while((ga|0)!=(g|0));fa=ca+1|0}ba=ba+1|0;if((ba|0)==(e|0)){G=fa;break}else{ca=fa;da=da+(g<<1)|0}}return G|0}}return 0}function EV(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;if(!c){i=(h|0)%4|0;switch(i|0){case 1:{j=f[e>>2]|0;k=g+-4|0;if((g|0)<4){l=a;m=j;n=0}else{o=h<<1;p=h*3|0;q=h<<2;r=X((k>>>2<<3)+8|0,h)|0;s=a;t=j;j=0;while(1){t=t+(d[s>>1]|0)+(d[s+(h<<1)>>1]|0)+(d[s+(o<<1)>>1]|0)+(d[s+(p<<1)>>1]|0)|0;j=j+4|0;if((j|0)>(k|0))break;else s=s+(q<<1)|0}l=a+r|0;m=t;n=g&-4}if((n|0)<(g|0)){t=m;r=n;q=l;while(1){l=t+(d[q>>1]|0)|0;r=r+1|0;if((r|0)==(g|0)){u=l;v=g;break}else{t=l;q=q+(h<<1)|0}}}else{u=m;v=n}f[e>>2]=u;w=v;break}case 2:{v=f[e>>2]|0;u=e+4|0;n=f[u>>2]|0;if((g|0)>0){m=n;q=v;t=0;r=a;while(1){l=q+(d[r>>1]|0)|0;s=m+(d[r+2>>1]|0)|0;t=t+1|0;if((t|0)==(g|0)){x=s;y=l;z=g;break}else{m=s;q=l;r=r+(h<<1)|0}}}else{x=n;y=v;z=0}f[e>>2]=y;f[u>>2]=x;w=z;break}case 3:{z=f[e>>2]|0;x=e+4|0;u=f[x>>2]|0;y=e+8|0;v=f[y>>2]|0;if((g|0)>0){n=v;r=u;q=z;m=0;t=a;while(1){l=q+(d[t>>1]|0)|0;s=r+(d[t+2>>1]|0)|0;k=n+(d[t+4>>1]|0)|0;m=m+1|0;if((m|0)==(g|0)){A=k;B=s;C=l;D=g;break}else{n=k;r=s;q=l;t=t+(h<<1)|0}}}else{A=v;B=u;C=z;D=0}f[e>>2]=C;f[x>>2]=B;f[y>>2]=A;w=D;break}default:w=0}if((i|0)<(h|0)){E=i;F=w}else{G=g;return G|0}while(1){w=e+(E<<2)|0;i=f[w>>2]|0;D=e+(E+1<<2)|0;A=f[D>>2]|0;y=e+(E+2<<2)|0;B=f[y>>2]|0;x=e+(E+3<<2)|0;C=f[x>>2]|0;if((F|0)<(g|0)){z=C;u=B;v=A;t=i;q=a+((X(F,h)|0)<<1)+(E<<1)|0;r=F;while(1){n=t+(d[q>>1]|0)|0;m=v+(d[q+2>>1]|0)|0;l=u+(d[q+4>>1]|0)|0;s=z+(d[q+6>>1]|0)|0;r=r+1|0;if((r|0)==(g|0)){H=s;I=l;J=m;K=n;L=g;break}else{z=s;u=l;v=m;t=n;q=q+(h<<1)|0}}}else{H=C;I=B;J=A;K=i;L=F}f[w>>2]=K;f[D>>2]=J;f[y>>2]=I;f[x>>2]=H;E=E+4|0;if((E|0)>=(h|0)){G=g;break}else F=L}return G|0}switch(h|0){case 1:{L=f[e>>2]|0;if((g|0)>0){F=L;E=0;H=0;while(1){if(!(b[c+H>>0]|0)){M=F;N=E}else{M=F+(d[a+(H<<1)>>1]|0)|0;N=E+1|0}H=H+1|0;if((H|0)==(g|0)){O=M;P=N;break}else{F=M;E=N}}}else{O=L;P=0}f[e>>2]=O;G=P;return G|0}case 3:{P=f[e>>2]|0;O=e+4|0;L=f[O>>2]|0;N=e+8|0;E=f[N>>2]|0;if((g|0)>0){M=E;F=L;H=P;I=0;J=0;K=a;while(1){if(!(b[c+I>>0]|0)){Q=M;R=F;S=H;T=J}else{Q=M+(d[K+4>>1]|0)|0;R=F+(d[K+2>>1]|0)|0;S=H+(d[K>>1]|0)|0;T=J+1|0}I=I+1|0;if((I|0)==(g|0)){U=Q;V=R;W=S;Y=T;break}else{M=Q;F=R;H=S;J=T;K=K+6|0}}}else{U=E;V=L;W=P;Y=0}f[e>>2]=W;f[O>>2]=V;f[N>>2]=U;G=Y;return G|0}default:{if((g|0)<=0){G=0;return G|0}Y=h+-4|0;if((h|0)<4){if((h|0)>0){Z=0;_=0;$=a}else{U=0;N=0;while(1){V=N+((b[c+U>>0]|0)!=0&1)|0;U=U+1|0;if((U|0)==(g|0)){G=V;break}else N=V}return G|0}while(1){if(!(b[c+Z>>0]|0))aa=_;else{N=0;do{U=e+(N<<2)|0;f[U>>2]=(f[U>>2]|0)+(d[$+(N<<1)>>1]|0);N=N+1|0}while((N|0)!=(h|0));aa=_+1|0}Z=Z+1|0;if((Z|0)==(g|0)){G=aa;break}else{_=aa;$=$+(h<<1)|0}}return G|0}$=h&-4;if(($|0)<(h|0)){ba=0;ca=0;da=a}else{aa=0;_=0;Z=a;while(1){if(!(b[c+aa>>0]|0))ea=_;else{a=0;do{N=e+(a<<2)|0;x=a|1;y=e+(x<<2)|0;D=(f[y>>2]|0)+(d[Z+(x<<1)>>1]|0)|0;f[N>>2]=(f[N>>2]|0)+(d[Z+(a<<1)>>1]|0);f[y>>2]=D;D=a|2;y=e+(D<<2)|0;N=a|3;x=e+(N<<2)|0;w=(f[x>>2]|0)+(d[Z+(N<<1)>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(d[Z+(D<<1)>>1]|0);f[x>>2]=w;a=a+4|0}while((a|0)<=(Y|0));ea=_+1|0}aa=aa+1|0;if((aa|0)==(g|0)){G=ea;break}else{_=ea;Z=Z+(h<<1)|0}}return G|0}while(1){if(!(b[c+ba>>0]|0))fa=ca;else{Z=0;do{ea=e+(Z<<2)|0;_=Z|1;aa=e+(_<<2)|0;a=(f[aa>>2]|0)+(d[da+(_<<1)>>1]|0)|0;f[ea>>2]=(f[ea>>2]|0)+(d[da+(Z<<1)>>1]|0);f[aa>>2]=a;a=Z|2;aa=e+(a<<2)|0;ea=Z|3;_=e+(ea<<2)|0;w=(f[_>>2]|0)+(d[da+(ea<<1)>>1]|0)|0;f[aa>>2]=(f[aa>>2]|0)+(d[da+(a<<1)>>1]|0);f[_>>2]=w;Z=Z+4|0}while((Z|0)<=(Y|0));ga=$;do{Z=e+(ga<<2)|0;f[Z>>2]=(f[Z>>2]|0)+(d[da+(ga<<1)>>1]|0);ga=ga+1|0}while((ga|0)!=(h|0));fa=ca+1|0}ba=ba+1|0;if((ba|0)==(g|0)){G=fa;break}else{ca=fa;da=da+(h<<1)|0}}return G|0}}return 0}function FV(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0.0,j=0,k=0,l=0.0,m=0,n=0,o=0,q=0,r=0,s=0,t=0.0,u=0,v=0.0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0.0,E=0.0,F=0.0,G=0.0,H=0,I=0,J=0,K=0,L=0.0,M=0.0,N=0.0,O=0.0,P=0,Q=0.0,R=0,S=0.0,T=0,U=0.0,V=0.0,W=0.0,Y=0,Z=0.0,_=0.0,$=0.0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;if(!c){h=(g|0)%4|0;switch(h|0){case 1:{i=+p[d>>3];j=e+-4|0;if((e|0)<4){k=a;l=i;m=0}else{n=g<<1;o=g*3|0;q=g<<2;r=X((j>>>2<<4)+16|0,g)|0;s=a;t=i;u=0;while(1){t=t+ +((f[s+(g<<2)>>2]|0)+(f[s>>2]|0)+(f[s+(n<<2)>>2]|0)+(f[s+(o<<2)>>2]|0)|0);u=u+4|0;if((u|0)>(j|0))break;else s=s+(q<<2)|0}k=a+r|0;l=t;m=e&-4}if((m|0)<(e|0)){t=l;r=m;q=k;while(1){i=t+ +(f[q>>2]|0);r=r+1|0;if((r|0)==(e|0)){v=i;w=e;break}else{t=i;q=q+(g<<2)|0}}}else{v=l;w=m}p[d>>3]=v;x=w;break}case 2:{v=+p[d>>3];w=d+8|0;l=+p[w>>3];if((e|0)>0){t=l;i=v;m=0;q=a;while(1){y=i+ +(f[q>>2]|0);z=t+ +(f[q+4>>2]|0);m=m+1|0;if((m|0)==(e|0)){A=z;B=y;C=e;break}else{t=z;i=y;q=q+(g<<2)|0}}}else{A=l;B=v;C=0}p[d>>3]=B;p[w>>3]=A;x=C;break}case 3:{A=+p[d>>3];C=d+8|0;B=+p[C>>3];w=d+16|0;v=+p[w>>3];if((e|0)>0){l=v;i=B;t=A;q=0;m=a;while(1){y=t+ +(f[m>>2]|0);z=i+ +(f[m+4>>2]|0);D=l+ +(f[m+8>>2]|0);q=q+1|0;if((q|0)==(e|0)){E=D;F=z;G=y;H=e;break}else{l=D;i=z;t=y;m=m+(g<<2)|0}}}else{E=v;F=B;G=A;H=0}p[d>>3]=G;p[C>>3]=F;p[w>>3]=E;x=H;break}default:x=0}if((h|0)<(g|0)){I=h;J=x}else{K=e;return K|0}while(1){x=d+(I<<3)|0;E=+p[x>>3];h=d+(I+1<<3)|0;F=+p[h>>3];H=d+(I+2<<3)|0;G=+p[H>>3];w=d+(I+3<<3)|0;A=+p[w>>3];if((J|0)<(e|0)){B=A;v=G;t=F;i=E;C=a+((X(J,g)|0)<<2)+(I<<2)|0;m=J;while(1){l=i+ +(f[C>>2]|0);y=t+ +(f[C+4>>2]|0);z=v+ +(f[C+8>>2]|0);D=B+ +(f[C+12>>2]|0);m=m+1|0;if((m|0)==(e|0)){L=D;M=z;N=y;O=l;P=e;break}else{B=D;v=z;t=y;i=l;C=C+(g<<2)|0}}}else{L=A;M=G;N=F;O=E;P=J}p[x>>3]=O;p[h>>3]=N;p[H>>3]=M;p[w>>3]=L;I=I+4|0;if((I|0)>=(g|0)){K=e;break}else J=P}return K|0}switch(g|0){case 1:{L=+p[d>>3];if((e|0)>0){M=L;P=0;J=0;while(1){if(!(b[c+J>>0]|0)){Q=M;R=P}else{Q=M+ +(f[a+(J<<2)>>2]|0);R=P+1|0}J=J+1|0;if((J|0)==(e|0)){S=Q;T=R;break}else{M=Q;P=R}}}else{S=L;T=0}p[d>>3]=S;K=T;return K|0}case 3:{S=+p[d>>3];T=d+8|0;L=+p[T>>3];R=d+16|0;Q=+p[R>>3];if((e|0)>0){M=Q;N=L;O=S;P=0;J=0;I=a;while(1){if(!(b[c+P>>0]|0)){U=M;V=N;W=O;Y=J}else{U=M+ +(f[I+8>>2]|0);V=N+ +(f[I+4>>2]|0);W=O+ +(f[I>>2]|0);Y=J+1|0}P=P+1|0;if((P|0)==(e|0)){Z=U;_=V;$=W;aa=Y;break}else{M=U;N=V;O=W;J=Y;I=I+12|0}}}else{Z=Q;_=L;$=S;aa=0}p[d>>3]=$;p[T>>3]=_;p[R>>3]=Z;K=aa;return K|0}default:{if((e|0)<=0){K=0;return K|0}aa=g+-4|0;if((g|0)<4){if((g|0)>0){ba=0;ca=0;da=a}else{R=0;T=0;while(1){I=T+((b[c+R>>0]|0)!=0&1)|0;R=R+1|0;if((R|0)==(e|0)){K=I;break}else T=I}return K|0}while(1){if(!(b[c+ba>>0]|0))ea=ca;else{T=0;do{R=d+(T<<3)|0;p[R>>3]=+p[R>>3]+ +(f[da+(T<<2)>>2]|0);T=T+1|0}while((T|0)!=(g|0));ea=ca+1|0}ba=ba+1|0;if((ba|0)==(e|0)){K=ea;break}else{ca=ea;da=da+(g<<2)|0}}return K|0}da=g&-4;if((da|0)<(g|0)){fa=0;ga=0;ha=a}else{ea=0;ca=0;ba=a;while(1){if(!(b[c+ea>>0]|0))ia=ca;else{a=0;do{T=d+(a<<3)|0;w=a|1;H=d+(w<<3)|0;E=+p[H>>3]+ +(f[ba+(w<<2)>>2]|0);p[T>>3]=+p[T>>3]+ +(f[ba+(a<<2)>>2]|0);p[H>>3]=E;H=a|2;T=d+(H<<3)|0;w=a|3;h=d+(w<<3)|0;E=+p[h>>3]+ +(f[ba+(w<<2)>>2]|0);p[T>>3]=+p[T>>3]+ +(f[ba+(H<<2)>>2]|0);p[h>>3]=E;a=a+4|0}while((a|0)<=(aa|0));ia=ca+1|0}ea=ea+1|0;if((ea|0)==(e|0)){K=ia;break}else{ca=ia;ba=ba+(g<<2)|0}}return K|0}while(1){if(!(b[c+fa>>0]|0))ja=ga;else{ba=0;do{ia=d+(ba<<3)|0;ca=ba|1;ea=d+(ca<<3)|0;E=+p[ea>>3]+ +(f[ha+(ca<<2)>>2]|0);p[ia>>3]=+p[ia>>3]+ +(f[ha+(ba<<2)>>2]|0);p[ea>>3]=E;ea=ba|2;ia=d+(ea<<3)|0;ca=ba|3;a=d+(ca<<3)|0;E=+p[a>>3]+ +(f[ha+(ca<<2)>>2]|0);p[ia>>3]=+p[ia>>3]+ +(f[ha+(ea<<2)>>2]|0);p[a>>3]=E;ba=ba+4|0}while((ba|0)<=(aa|0));ka=da;do{ba=d+(ka<<3)|0;p[ba>>3]=+p[ba>>3]+ +(f[ha+(ka<<2)>>2]|0);ka=ka+1|0}while((ka|0)!=(g|0));ja=ga+1|0}fa=fa+1|0;if((fa|0)==(e|0)){K=ja;break}else{ga=ja;ha=ha+(g<<2)|0}}return K|0}}return 0}function GV(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0.0,i=0,j=0,k=0.0,l=0,m=0,o=0,q=0,r=0,s=0,t=0.0,u=0,v=0.0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0.0,E=0.0,F=0.0,G=0.0,H=0,I=0,J=0,K=0,L=0.0,M=0.0,N=0.0,O=0.0,P=0,Q=0.0,R=0,S=0.0,T=0,U=0.0,V=0.0,W=0.0,Y=0,Z=0.0,_=0.0,$=0.0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;if(!c){g=(f|0)%4|0;switch(g|0){case 1:{h=+p[d>>3];i=e+-4|0;if((e|0)<4){j=a;k=h;l=0}else{m=f<<1;o=f*3|0;q=f<<2;r=X((i>>>2<<4)+16|0,f)|0;s=a;t=h;u=0;while(1){t=t+(+n[s>>2]+ +n[s+(f<<2)>>2]+ +n[s+(m<<2)>>2]+ +n[s+(o<<2)>>2]);u=u+4|0;if((u|0)>(i|0))break;else s=s+(q<<2)|0}j=a+r|0;k=t;l=e&-4}if((l|0)<(e|0)){t=k;r=l;q=j;while(1){h=t+ +n[q>>2];r=r+1|0;if((r|0)==(e|0)){v=h;w=e;break}else{t=h;q=q+(f<<2)|0}}}else{v=k;w=l}p[d>>3]=v;x=w;break}case 2:{v=+p[d>>3];w=d+8|0;k=+p[w>>3];if((e|0)>0){t=k;h=v;l=0;q=a;while(1){y=h+ +n[q>>2];z=t+ +n[q+4>>2];l=l+1|0;if((l|0)==(e|0)){A=z;B=y;C=e;break}else{t=z;h=y;q=q+(f<<2)|0}}}else{A=k;B=v;C=0}p[d>>3]=B;p[w>>3]=A;x=C;break}case 3:{A=+p[d>>3];C=d+8|0;B=+p[C>>3];w=d+16|0;v=+p[w>>3];if((e|0)>0){k=v;h=B;t=A;q=0;l=a;while(1){y=t+ +n[l>>2];z=h+ +n[l+4>>2];D=k+ +n[l+8>>2];q=q+1|0;if((q|0)==(e|0)){E=D;F=z;G=y;H=e;break}else{k=D;h=z;t=y;l=l+(f<<2)|0}}}else{E=v;F=B;G=A;H=0}p[d>>3]=G;p[C>>3]=F;p[w>>3]=E;x=H;break}default:x=0}if((g|0)<(f|0)){I=g;J=x}else{K=e;return K|0}while(1){x=d+(I<<3)|0;E=+p[x>>3];g=d+(I+1<<3)|0;F=+p[g>>3];H=d+(I+2<<3)|0;G=+p[H>>3];w=d+(I+3<<3)|0;A=+p[w>>3];if((J|0)<(e|0)){B=A;v=G;t=F;h=E;C=a+((X(J,f)|0)<<2)+(I<<2)|0;l=J;while(1){k=h+ +n[C>>2];y=t+ +n[C+4>>2];z=v+ +n[C+8>>2];D=B+ +n[C+12>>2];l=l+1|0;if((l|0)==(e|0)){L=D;M=z;N=y;O=k;P=e;break}else{B=D;v=z;t=y;h=k;C=C+(f<<2)|0}}}else{L=A;M=G;N=F;O=E;P=J}p[x>>3]=O;p[g>>3]=N;p[H>>3]=M;p[w>>3]=L;I=I+4|0;if((I|0)>=(f|0)){K=e;break}else J=P}return K|0}switch(f|0){case 1:{L=+p[d>>3];if((e|0)>0){M=L;P=0;J=0;while(1){if(!(b[c+J>>0]|0)){Q=M;R=P}else{Q=M+ +n[a+(J<<2)>>2];R=P+1|0}J=J+1|0;if((J|0)==(e|0)){S=Q;T=R;break}else{M=Q;P=R}}}else{S=L;T=0}p[d>>3]=S;K=T;return K|0}case 3:{S=+p[d>>3];T=d+8|0;L=+p[T>>3];R=d+16|0;Q=+p[R>>3];if((e|0)>0){M=Q;N=L;O=S;P=0;J=0;I=a;while(1){if(!(b[c+P>>0]|0)){U=M;V=N;W=O;Y=J}else{U=M+ +n[I+8>>2];V=N+ +n[I+4>>2];W=O+ +n[I>>2];Y=J+1|0}P=P+1|0;if((P|0)==(e|0)){Z=U;_=V;$=W;aa=Y;break}else{M=U;N=V;O=W;J=Y;I=I+12|0}}}else{Z=Q;_=L;$=S;aa=0}p[d>>3]=$;p[T>>3]=_;p[R>>3]=Z;K=aa;return K|0}default:{if((e|0)<=0){K=0;return K|0}aa=f+-4|0;if((f|0)<4){if((f|0)>0){ba=0;ca=0;da=a}else{R=0;T=0;while(1){I=T+((b[c+R>>0]|0)!=0&1)|0;R=R+1|0;if((R|0)==(e|0)){K=I;break}else T=I}return K|0}while(1){if(!(b[c+ba>>0]|0))ea=ca;else{T=0;do{R=d+(T<<3)|0;p[R>>3]=+p[R>>3]+ +n[da+(T<<2)>>2];T=T+1|0}while((T|0)!=(f|0));ea=ca+1|0}ba=ba+1|0;if((ba|0)==(e|0)){K=ea;break}else{ca=ea;da=da+(f<<2)|0}}return K|0}da=f&-4;if((da|0)<(f|0)){fa=0;ga=0;ha=a}else{ea=0;ca=0;ba=a;while(1){if(!(b[c+ea>>0]|0))ia=ca;else{a=0;do{T=d+(a<<3)|0;w=a|1;H=d+(w<<3)|0;E=+p[H>>3]+ +n[ba+(w<<2)>>2];p[T>>3]=+p[T>>3]+ +n[ba+(a<<2)>>2];p[H>>3]=E;H=a|2;T=d+(H<<3)|0;w=a|3;g=d+(w<<3)|0;E=+p[g>>3]+ +n[ba+(w<<2)>>2];p[T>>3]=+p[T>>3]+ +n[ba+(H<<2)>>2];p[g>>3]=E;a=a+4|0}while((a|0)<=(aa|0));ia=ca+1|0}ea=ea+1|0;if((ea|0)==(e|0)){K=ia;break}else{ca=ia;ba=ba+(f<<2)|0}}return K|0}while(1){if(!(b[c+fa>>0]|0))ja=ga;else{ba=0;do{ia=d+(ba<<3)|0;ca=ba|1;ea=d+(ca<<3)|0;E=+p[ea>>3]+ +n[ha+(ca<<2)>>2];p[ia>>3]=+p[ia>>3]+ +n[ha+(ba<<2)>>2];p[ea>>3]=E;ea=ba|2;ia=d+(ea<<3)|0;ca=ba|3;a=d+(ca<<3)|0;E=+p[a>>3]+ +n[ha+(ca<<2)>>2];p[ia>>3]=+p[ia>>3]+ +n[ha+(ea<<2)>>2];p[a>>3]=E;ba=ba+4|0}while((ba|0)<=(aa|0));ka=da;do{ba=d+(ka<<3)|0;p[ba>>3]=+p[ba>>3]+ +n[ha+(ka<<2)>>2];ka=ka+1|0}while((ka|0)!=(f|0));ja=ga+1|0}fa=fa+1|0;if((fa|0)==(e|0)){K=ja;break}else{ga=ja;ha=ha+(f<<2)|0}}return K|0}}return 0}function HV(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,q=0,r=0,s=0.0,t=0,u=0.0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0,J=0,K=0.0,L=0.0,M=0.0,N=0.0,O=0,P=0.0,Q=0,R=0.0,S=0,T=0.0,U=0.0,V=0.0,W=0,Y=0.0,Z=0.0,_=0.0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;if(!c){g=(f|0)%4|0;switch(g|0){case 1:{h=+p[d>>3];i=e+-4|0;if((e|0)<4){j=a;k=h;l=0}else{m=f<<1;n=f*3|0;o=f<<2;q=X((i>>>2<<5)+32|0,f)|0;r=a;s=h;t=0;while(1){s=s+(+p[r>>3]+ +p[r+(f<<3)>>3]+ +p[r+(m<<3)>>3]+ +p[r+(n<<3)>>3]);t=t+4|0;if((t|0)>(i|0))break;else r=r+(o<<3)|0}j=a+q|0;k=s;l=e&-4}if((l|0)<(e|0)){s=k;q=l;o=j;while(1){h=s+ +p[o>>3];q=q+1|0;if((q|0)==(e|0)){u=h;v=e;break}else{s=h;o=o+(f<<3)|0}}}else{u=k;v=l}p[d>>3]=u;w=v;break}case 2:{u=+p[d>>3];v=d+8|0;k=+p[v>>3];if((e|0)>0){s=k;h=u;l=0;o=a;while(1){x=h+ +p[o>>3];y=s+ +p[o+8>>3];l=l+1|0;if((l|0)==(e|0)){z=y;A=x;B=e;break}else{s=y;h=x;o=o+(f<<3)|0}}}else{z=k;A=u;B=0}p[d>>3]=A;p[v>>3]=z;w=B;break}case 3:{z=+p[d>>3];B=d+8|0;A=+p[B>>3];v=d+16|0;u=+p[v>>3];if((e|0)>0){k=u;h=A;s=z;o=0;l=a;while(1){x=s+ +p[l>>3];y=h+ +p[l+8>>3];C=k+ +p[l+16>>3];o=o+1|0;if((o|0)==(e|0)){D=C;E=y;F=x;G=e;break}else{k=C;h=y;s=x;l=l+(f<<3)|0}}}else{D=u;E=A;F=z;G=0}p[d>>3]=F;p[B>>3]=E;p[v>>3]=D;w=G;break}default:w=0}if((g|0)<(f|0)){H=g;I=w}else{J=e;return J|0}while(1){w=d+(H<<3)|0;D=+p[w>>3];g=d+(H+1<<3)|0;E=+p[g>>3];G=d+(H+2<<3)|0;F=+p[G>>3];v=d+(H+3<<3)|0;z=+p[v>>3];if((I|0)<(e|0)){A=z;u=F;s=E;h=D;B=a+((X(I,f)|0)<<3)+(H<<3)|0;l=I;while(1){k=h+ +p[B>>3];x=s+ +p[B+8>>3];y=u+ +p[B+16>>3];C=A+ +p[B+24>>3];l=l+1|0;if((l|0)==(e|0)){K=C;L=y;M=x;N=k;O=e;break}else{A=C;u=y;s=x;h=k;B=B+(f<<3)|0}}}else{K=z;L=F;M=E;N=D;O=I}p[w>>3]=N;p[g>>3]=M;p[G>>3]=L;p[v>>3]=K;H=H+4|0;if((H|0)>=(f|0)){J=e;break}else I=O}return J|0}switch(f|0){case 1:{K=+p[d>>3];if((e|0)>0){L=K;O=0;I=0;while(1){if(!(b[c+I>>0]|0)){P=L;Q=O}else{P=L+ +p[a+(I<<3)>>3];Q=O+1|0}I=I+1|0;if((I|0)==(e|0)){R=P;S=Q;break}else{L=P;O=Q}}}else{R=K;S=0}p[d>>3]=R;J=S;return J|0}case 3:{R=+p[d>>3];S=d+8|0;K=+p[S>>3];Q=d+16|0;P=+p[Q>>3];if((e|0)>0){L=P;M=K;N=R;O=0;I=0;H=a;while(1){if(!(b[c+O>>0]|0)){T=L;U=M;V=N;W=I}else{T=L+ +p[H+16>>3];U=M+ +p[H+8>>3];V=N+ +p[H>>3];W=I+1|0}O=O+1|0;if((O|0)==(e|0)){Y=T;Z=U;_=V;$=W;break}else{L=T;M=U;N=V;I=W;H=H+24|0}}}else{Y=P;Z=K;_=R;$=0}p[d>>3]=_;p[S>>3]=Z;p[Q>>3]=Y;J=$;return J|0}default:{if((e|0)<=0){J=0;return J|0}$=f+-4|0;if((f|0)<4){if((f|0)>0){aa=0;ba=0;ca=a}else{Q=0;S=0;while(1){H=S+((b[c+Q>>0]|0)!=0&1)|0;Q=Q+1|0;if((Q|0)==(e|0)){J=H;break}else S=H}return J|0}while(1){if(!(b[c+aa>>0]|0))da=ba;else{S=0;do{Q=d+(S<<3)|0;p[Q>>3]=+p[ca+(S<<3)>>3]+ +p[Q>>3];S=S+1|0}while((S|0)!=(f|0));da=ba+1|0}aa=aa+1|0;if((aa|0)==(e|0)){J=da;break}else{ba=da;ca=ca+(f<<3)|0}}return J|0}ca=f&-4;if((ca|0)<(f|0)){ea=0;fa=0;ga=a}else{da=0;ba=0;aa=a;while(1){if(!(b[c+da>>0]|0))ha=ba;else{a=0;do{S=d+(a<<3)|0;v=a|1;G=d+(v<<3)|0;D=+p[G>>3]+ +p[aa+(v<<3)>>3];p[S>>3]=+p[S>>3]+ +p[aa+(a<<3)>>3];p[G>>3]=D;G=a|2;S=d+(G<<3)|0;v=a|3;g=d+(v<<3)|0;D=+p[g>>3]+ +p[aa+(v<<3)>>3];p[S>>3]=+p[S>>3]+ +p[aa+(G<<3)>>3];p[g>>3]=D;a=a+4|0}while((a|0)<=($|0));ha=ba+1|0}da=da+1|0;if((da|0)==(e|0)){J=ha;break}else{ba=ha;aa=aa+(f<<3)|0}}return J|0}while(1){if(!(b[c+ea>>0]|0))ia=fa;else{aa=0;do{ha=d+(aa<<3)|0;ba=aa|1;da=d+(ba<<3)|0;D=+p[da>>3]+ +p[ga+(ba<<3)>>3];p[ha>>3]=+p[ha>>3]+ +p[ga+(aa<<3)>>3];p[da>>3]=D;da=aa|2;ha=d+(da<<3)|0;ba=aa|3;a=d+(ba<<3)|0;D=+p[a>>3]+ +p[ga+(ba<<3)>>3];p[ha>>3]=+p[ha>>3]+ +p[ga+(da<<3)>>3];p[a>>3]=D;aa=aa+4|0}while((aa|0)<=($|0));ja=ca;do{aa=d+(ja<<3)|0;p[aa>>3]=+p[ga+(ja<<3)>>3]+ +p[aa>>3];ja=ja+1|0}while((ja|0)!=(f|0));ia=fa+1|0}ea=ea+1|0;if((ea|0)==(e|0)){J=ia;break}else{fa=ia;ga=ga+(f<<3)|0}}return J|0}}return 0}function IV(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;d=u;u=u+1184|0;e=d+1168|0;g=d+1112|0;h=d+1104|0;i=d+1096|0;j=d+1064|0;k=d;yV(e,41704);do if((HJ(c)|0)==65536){l=f[c+4>>2]|0;f[g>>2]=f[l>>2];m=g+4|0;n=l+4|0;f[m>>2]=f[n>>2];o=g+8|0;f[o>>2]=f[l+8>>2];f[g+12>>2]=f[l+12>>2];f[g+16>>2]=f[l+16>>2];f[g+20>>2]=f[l+20>>2];f[g+24>>2]=f[l+24>>2];f[g+28>>2]=f[l+28>>2];f[g+32>>2]=f[l+32>>2];q=f[l+36>>2]|0;f[g+36>>2]=q;f[g+40>>2]=o;o=g+48|0;r=g+44|0;f[r>>2]=o;f[o>>2]=0;f[g+52>>2]=0;if(q|0){o=q+12|0;f[o>>2]=(f[o>>2]|0)+1}if((f[n>>2]|0)<3){n=f[l+44>>2]|0;o=f[r>>2]|0;f[o>>2]=f[n>>2];f[o+4>>2]=f[n+4>>2];s=g;break}else{f[m>>2]=0;WO(g,l);s=g;break}}else{DJ(g,c,-1);s=g}while(0);c=f[s>>2]|0;s=c>>>3&511;l=s+1|0;m=c&7;c=f[41672+(m<<2)>>2]|0;if(!((m|0)!=7&l>>>0<5)){f[h>>2]=0;f[h+4>>2]=0;n=JV(h,20)|0;o=175938;r=n+20|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(r|0));EP(-215,h,175959,175963,602);KV(h)}f[h>>2]=g;f[h+4>>2]=0;FN(j,h,i,-1);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[a+24>>2]=0;f[a+28>>2]=0;h=f[j+20>>2]|0;o=k+8|0;f[k>>2]=o;n=k+4|0;f[n>>2]=264;r=m>>>0<4;if(r){q=m>>>0<2?8388608:32768;m=(q|0)<(h|0)?q:h;f[n>>2]=l;if(s>>>0>263){t=FQa(l<<2)|0;f[k>>2]=t;v=t}else v=o;FVa(v|0,0,(s<<2)+4|0)|0;s=f[g+4>>2]|0;if((s|0)>0){w=m;x=q;y=f[(f[g+44>>2]|0)+(s+-1<<2)>>2]|0;z=v}else{w=m;x=q;y=0;z=v}}else{w=h;x=0;y=0;z=a}v=j+16|0;a:do if((h|0)>0){q=0;m=0;while(1){if(q>>>0>=(f[v>>2]|0)>>>0)break a;s=q+1|0;t=f[i>>2]|0;if(r){A=0;B=m;C=t;while(1){D=h-A|0;E=(w|0)<(D|0)?w:D;fg[c&63](C,0,z,E,l)|0;D=E+B|0;if((D+w|0)<(x|0)?((E+A|0)<(h|0)?1:s>>>0<(f[v>>2]|0)>>>0):0)F=D;else{G=0;H=23}if((H|0)==23)while(1){H=0;D=z+(G<<2)|0;I=a+(G<<3)|0;p[I>>3]=+p[I>>3]+ +(f[D>>2]|0);f[D>>2]=0;G=G+1|0;if((G|0)==(l|0)){F=0;break}else H=23}D=X(E,y)|0;C=(f[i>>2]|0)+D|0;f[i>>2]=C;A=A+w|0;if((h|0)<=(A|0)){J=F;break}else B=F}}else{B=0;A=m;C=t;while(1){D=h-B|0;I=(w|0)<(D|0)?w:D;fg[c&63](C,0,z,I,l)|0;D=I+A|0;K=X(I,y)|0;C=(f[i>>2]|0)+K|0;f[i>>2]=C;B=B+w|0;if((h|0)<=(B|0)){J=D;break}else A=D}}GN(j)|0;q=s;m=J}}else{m=0;while(1){if(m>>>0>=(f[v>>2]|0)>>>0)break a;GN(j)|0;m=m+1|0}}while(0);j=f[k>>2]|0;if((j|0)!=(o|0)){if(j|0)HQa(j);f[k>>2]=o;f[n>>2]=264}n=g+36|0;o=f[n>>2]|0;if(o|0?(k=o+12|0,o=f[k>>2]|0,f[k>>2]=o+-1,(o|0)==1):0)XO(g);f[n>>2]=0;n=g+16|0;o=g+4|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;if((f[o>>2]|0)>0){n=f[g+40>>2]|0;k=0;do{f[n+(k<<2)>>2]=0;k=k+1|0}while((k|0)<(f[o>>2]|0))}o=f[g+44>>2]|0;if((o|0)!=(g+48|0))dX(o);if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function JV(a,c){a=a|0;c=c|0;var d=0,e=0;d=cX(c+8&-4)|0;f[d>>2]=1;e=d+4|0;f[a>>2]=e;f[a+4>>2]=c;b[e+c>>0]=0;return f[a>>2]|0}function KV(a){a=a|0;var b=0;b=f[a>>2]|0;f[a+4>>2]=0;f[a>>2]=0;if(!b)return;a=b+-4|0;b=f[a>>2]|0;f[a>>2]=b+-1;if((b|0)!=1)return;dX(a);return}function LV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=MV(a,b,c)|0;NV(d);return d|0}function MV(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=u;u=u+16|0;g=e;h=d&4095;if((c|a|0)<0){f[g>>2]=0;f[g+4>>2]=0;i=JV(g,28)|0;j=176233;k=i+28|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-201,g,176262,176050,119);KV(g)}l=(d>>>3&511)+1<<(47696>>>(d<<1&14)&3);if((l|0)<1){f[g>>2]=0;f[g+4>>2]=0;i=JV(g,19)|0;j=176280;k=i+19|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-210,g,176262,176050,123);KV(g)}g=X(l,c)|0;l=eX(28)|0;f[l+4>>2]=g;f[l>>2]=h|1111638016;f[l+20>>2]=a;f[l+24>>2]=c;f[l+16>>2]=0;f[l+8>>2]=0;f[l+12>>2]=1;c=wVa(a|0,((a|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0;g=I;if(!((g|0)>0|(g|0)==0&c>>>0>2147483647)){u=e;return l|0}f[l>>2]=h|1111621632;u=e;return l|0}function NV(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c=u;u=u+16|0;d=c;if(a|0){e=f[a>>2]|0;g=e&-65536;if(((g|0)==1111621632?(h=a+24|0,i=f[h>>2]|0,(i|0)>-1):0)?(j=a+20|0,k=f[j>>2]|0,(k|0)>-1):0){l=f[a+4>>2]|0;if((i|0)==0|(k|0)==0){u=c;return}k=a+16|0;if(f[k>>2]|0){f[d>>2]=0;f[d+4>>2]=0;m=JV(d,25)|0;n=176104;o=m+25|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-2,d,176130,176050,806);KV(d)}if(!l){i=f[a>>2]|0;p=X((i>>>3&511)+1<<(47696>>>(i<<1&14)&3),f[h>>2]|0)|0}else p=l;l=f[j>>2]|0;j=wVa(l|0,((l|0)<0)<<31>>31|0,p|0,0)|0;p=qVa(j|0,I|0,68,0)|0;if(!((p|0)==(p|0)&(I|0)==0)){f[d>>2]=0;f[d+4>>2]=0;m=JV(d,27)|0;n=176143;o=m+27|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-4,d,176130,176050,814);KV(d)}j=eX(p)|0;f[a+8>>2]=j;f[k>>2]=j+4+63&-64;f[j>>2]=1;u=c;return}if((e|0)==112){j=a+68|0;if(f[j>>2]|0){f[d>>2]=0;f[d+4>>2]=0;m=JV(d,25)|0;n=176104;o=m+25|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-2,d,176130,176050,824);KV(d)}k=f[a+72>>2]|0;p=f[a+44>>2]|0;l=wVa(p|0,((p|0)<0)<<31>>31|0,k|0,((k|0)<0)<<31>>31|0)|0;k=a+64|0;p=f[k>>2]|0;if((l|0)==(p|0)&(I|0)==(((p|0)<0)<<31>>31|0))q=p;else{f[d>>2]=0;f[d+4>>2]=0;m=JV(d,22)|0;n=176171;o=m+22|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-4,d,176130,176050,830);KV(d);q=f[k>>2]|0}k=eX(q)|0;f[a+108>>2]=k;f[j>>2]=k;u=c;return}if((g|0)==1111687168){g=(e>>>3&511)+1<<(47696>>>(e<<1&14)&3);k=a+20|0;if(!(f[k>>2]|0)){u=c;return}j=a+16|0;if(!(f[j>>2]|0))r=e;else{f[d>>2]=0;f[d+4>>2]=0;m=JV(d,25)|0;n=176104;o=m+25|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-2,d,176130,176050,860);KV(d);r=f[a>>2]|0}if(!(r&16384)){r=f[a+4>>2]|0;if((r|0)>0){e=r;r=g;while(1){q=e;e=e+-1|0;p=X(f[k+(e<<3)>>2]|0,f[k+(e<<3)+4>>2]|0)|0;l=r>>>0

>>0)q=n;else{r=j;s=m;t=k;v=p;do{t=t+r-v|0;s=f[s+4>>2]|0;r=f[s+16>>2]|0;p=X(f[s+12>>2]|0,g)|0;v=r+p|0}while((t|0)>=(p|0));f[l>>2]=s;f[a+16>>2]=r;f[o>>2]=v;q=r+t|0}}else{t=a+16|0;r=f[t>>2]|0;if(n>>>0>>0){v=j;j=m;m=k;k=r;do{m=m+v-k|0;j=f[j>>2]|0;w=f[j+16>>2]|0;k=w;v=k+(X(f[j+12>>2]|0,g)|0)|0;x=v+m|0}while(x>>>0>>0);f[t>>2]=w;f[l>>2]=j;f[a+20>>2]=v;q=x}else q=n}f[c>>2]=q;u=d;return}if((b|0)>=0)if((h|0)<=(b|0)){q=b-h|0;if((q|0)<(h|0))y=q;else{f[e>>2]=0;f[e+4>>2]=0;EP(-211,e,156342,155802,1062);KV(e);y=q}}else y=b;else{if((0-h|0)>(b|0)){f[e>>2]=0;f[e+4>>2]=0;EP(-211,e,156342,155802,1055);KV(e)}y=h+b|0}b=f[(f[i>>2]|0)+52>>2]|0;i=f[b+12>>2]|0;a:do if((y|0)<(i|0)){z=y;A=b;B=i}else{if((y<<1|0)>(h|0)){C=h;D=b}else{e=b;q=i;c=y;while(1){n=f[e+4>>2]|0;x=c-q|0;v=f[n+12>>2]|0;if((x|0)<(v|0)){z=x;A=n;B=v;break a}else{e=n;q=v;c=x}}}do{D=f[D>>2]|0;E=f[D+12>>2]|0;C=C-E|0}while((y|0)<(C|0));z=y-C|0;A=D;B=E}while(0);E=f[A+16>>2]|0;D=E+(X(z,g)|0)|0;f[a+12>>2]=D;D=a+8|0;if((f[D>>2]|0)==(A|0)){u=d;return}f[D>>2]=A;f[a+16>>2]=E;A=E+(X(B,g)|0)|0;f[a+20>>2]=A;u=d;return}function EM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+16|0;e=d;if((b|0)!=0?(g=b+4|0,f[g>>2]=0,f[g+4>>2]=0,f[g+8>>2]=0,f[g+12>>2]=0,f[g+16>>2]=0,(a|0)!=0):0)h=g;else{f[e>>2]=0;f[e+4>>2]=0;EP(-27,e,156327,155802,945);KV(e);h=b+4|0}f[b>>2]=32;f[h>>2]=a;h=f[a+52>>2]|0;if(!h){e=b+8|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;u=d;return}e=f[h>>2]|0;g=f[h+16>>2]|0;i=b+12|0;f[i>>2]=g;j=f[e+16>>2]|0;k=f[a+28>>2]|0;a=j+(X((f[e+12>>2]|0)+-1|0,k)|0)|0;l=b+28|0;f[l>>2]=a;f[b+24>>2]=f[h+8>>2];if(!c){m=h;n=g}else{f[i>>2]=a;f[l>>2]=g;m=e;n=j}f[b+8>>2]=m;f[b+16>>2]=n;j=n+(X(k,f[m+12>>2]|0)|0)|0;f[b+20>>2]=j;u=d;return}function FM(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;j=u;u=u+16|0;k=j;if((c|0)<56|(d|0)<1|(g|0)<0){f[k>>2]=0;f[k+4>>2]=0;EP(-201,k,156360,155802,590);KV(k)}if(!((h|0)!=0?!((g|0)>0&((e|0)==0|(i|0)==0)):0)){f[k>>2]=0;f[k+4>>2]=0;EP(-27,k,156360,155802,593);KV(k)}FVa(h|0,0,c|0)|0;f[h+4>>2]=c;f[h>>2]=a&65535|1117323264;c=(a>>>3&511)+1<<(47696>>>(a<<1&14)&3);if(!((c|0)==(d|0)|((a&4095|0)==0|(c|0)==0))){f[k>>2]=0;f[k+4>>2]=0;c=JV(k,106)|0;a=156384;l=c+106|0;do{b[c>>0]=b[a>>0]|0;c=c+1|0;a=a+1|0}while((c|0)<(l|0));EP(-201,k,156360,155802,607);KV(k)}f[h+28>>2]=d;f[h+24>>2]=g;k=e+(X(g,d)|0)|0;f[h+36>>2]=k;f[h+32>>2]=k;if((g|0)<=0){u=j;return h|0}f[h+52>>2]=i;f[i+4>>2]=i;f[i>>2]=i;f[i+8>>2]=0;f[i+12>>2]=g;f[i+16>>2]=e;u=j;return h|0}function GM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;if(!((a|0)!=0&(b|0)!=0)){f[d>>2]=0;f[d+4>>2]=0;EP(-27,d,156491,155802,820);KV(d)}d=b+8|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[b>>2]=24;f[b+4>>2]=a;d=f[a+52>>2]|0;if(!d)e=0;else e=f[d>>2]|0;f[b+8>>2]=e;f[b+12>>2]=f[a+36>>2];f[b+20>>2]=f[a+32>>2];u=c;return}function HM(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=u;u=u+16|0;h=g;i=(e|0)!=0;if(!((d|0)!=0&i)){f[h>>2]=0;f[h+4>>2]=0;EP(-27,h,156510,155802,838);KV(h)}j=zM(a,b,c,d)|0;if(!(i&(j|0)!=0)){f[h>>2]=0;f[h+4>>2]=0;EP(-27,h,156491,155802,820);KV(h)}h=e+8|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[e>>2]=24;f[e+4>>2]=j;i=f[j+52>>2]|0;if(!i)k=0;else k=f[i>>2]|0;f[h>>2]=k;f[e+12>>2]=f[j+36>>2];f[e+20>>2]=f[j+32>>2];u=g;return}function IM(a){a=a|0;var b=0,c=0,d=0,e=0;b=u;u=u+16|0;c=b;if(!a){f[c>>2]=0;f[c+4>>2]=0;EP(-27,c,156526,155802,850);KV(c)}c=f[a+4>>2]|0;d=f[a+12>>2]|0;f[c+36>>2]=d;e=f[a+8>>2]|0;if(!e){u=b;return}a=f[c+52>>2]|0;f[e+12>>2]=(d-(f[e+16>>2]|0)|0)/(f[c+28>>2]|0)|0;e=a;d=0;do{d=(f[e+12>>2]|0)+d|0;e=f[e+4>>2]|0}while((e|0)!=(a|0));f[c+24>>2]=d;u=b;return}function JM(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=u;u=u+16|0;c=b;if(!a){f[c>>2]=0;f[c+4>>2]=0;EP(-27,c,156543,155802,881);KV(c)}IM(a);c=f[a+4>>2]|0;if((f[a+8>>2]|0?(d=f[c+44>>2]|0,d|0):0)?(e=(f[d+8>>2]|0)+(f[d+16>>2]|0)|0,g=d+20|0,d=c+32|0,(e+(0-(f[g>>2]|0))-(f[d>>2]|0)|0)>>>0<8):0){h=f[c+36>>2]|0;f[g>>2]=e-h&-8;f[d>>2]=h}f[a+12>>2]=0;u=b;return c|0}function KM(a){a=a|0;var b=0,c=0,d=0,e=0;b=u;u=u+16|0;c=b;if((a|0)!=0?(d=f[a+4>>2]|0,(d|0)!=0):0)e=d;else{f[c>>2]=0;f[c+4>>2]=0;EP(-27,c,156557,155802,912);KV(c);e=f[a+4>>2]|0}IM(a);LM(e,0);f[a+8>>2]=f[f[e+52>>2]>>2];f[a+12>>2]=f[e+36>>2];f[a+20>>2]=f[e+32>>2];u=b;return}function LM(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;if(!a){f[e>>2]=0;f[e+4>>2]=0;EP(-27,e,156574,155802,637);KV(e)}g=a+48|0;h=f[g>>2]|0;if(!h){i=a+28|0;j=f[i>>2]|0;k=f[a+40>>2]|0;l=f[a+44>>2]|0;if((f[a+24>>2]|0)>=(k<<2|0))AM(a,k<<1);if(!l){f[e>>2]=0;f[e+4>>2]=0;m=JV(e,37)|0;n=156585;o=m+37|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-27,e,156574,155802,650);KV(e)}e=(f[l+8>>2]|0)+(f[l+16>>2]|0)|0;n=l+20|0;m=f[n>>2]|0;o=a+32|0;p=f[o>>2]|0;if((e+(0-m)-p|0)>>>0<8?!(c|0?1:(m|0)<(f[i>>2]|0)):0){q=(m|0)/(j|0)|0;r=p+(X((q|0)>(k|0)?k:q,j)|0)|0;f[o>>2]=r;f[n>>2]=e-r&-8;u=d;return}r=(X(k,j)|0)+24|0;do if((m|0)<(r|0))if((m|0)<((X((k|0)>5?(k|0)/3|0:1,j)|0)+32|0)){xM(l);s=r;break}else{s=m-((m+-24|0)%(f[i>>2]|0)|0)|0;break}else s=r;while(0);r=wM(l,s)|0;f[r+16>>2]=r+20+7&-8;f[r+12>>2]=s+-24;f[r+4>>2]=0;f[r>>2]=0;t=r}else{f[g>>2]=f[h+4>>2];t=h}h=a+52|0;g=f[h>>2]|0;if(!g){f[h>>2]=t;v=t;w=t}else{f[t>>2]=f[g>>2];f[g>>2]=t;v=g;w=(f[t>>2]|0)+4|0}f[t+4>>2]=v;f[w>>2]=t;if(c){c=f[t+12>>2]|0;w=(c|0)/(f[a+28>>2]|0)|0;v=t+16|0;g=(f[v>>2]|0)+c|0;f[v>>2]=g;if((t|0)==(f[t>>2]|0)){f[a+36>>2]=g;f[a+32>>2]=g;x=f[h>>2]|0}else{f[h>>2]=t;x=t}f[t+8>>2]=w;h=f[t+4>>2]|0;if((h|0)==(x|0))y=x;else{g=h;do{f[g+8>>2]=(f[g+8>>2]|0)+w;g=f[g+4>>2]|0}while((g|0)!=(x|0));y=x}}else{x=f[t+16>>2]|0;f[a+36>>2]=x;f[a+32>>2]=x+(f[t+12>>2]|0);x=f[t>>2]|0;if((t|0)==(x|0))z=0;else z=(f[x+12>>2]|0)+(f[x+8>>2]|0)|0;f[t+8>>2]=z;y=t}f[y+12>>2]=0;u=d;return}function MM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+16|0;d=c;if(!a){f[d>>2]=0;f[d+4>>2]=0;EP(-27,d,156623,155802,995);KV(d)}d=a+8|0;e=f[d>>2]|0;if((b|0)>0){b=f[e+4>>2]|0;f[d>>2]=b;g=f[b+16>>2]|0;h=g;i=g;j=f[b+12>>2]|0;k=f[(f[a+4>>2]|0)+28>>2]|0;l=a+12|0;f[l>>2]=h;m=a+16|0;f[m>>2]=i;n=X(k,j)|0;o=i+n|0;p=a+20|0;f[p>>2]=o;u=c;return}else{b=f[e>>2]|0;f[d>>2]=b;d=f[b+16>>2]|0;e=f[b+12>>2]|0;b=f[(f[a+4>>2]|0)+28>>2]|0;h=d+(X(b,e+-1|0)|0)|0;i=d;j=e;k=b;l=a+12|0;f[l>>2]=h;m=a+16|0;f[m>>2]=i;n=X(k,j)|0;o=i+n|0;p=a+20|0;f[p>>2]=o;u=c;return}}function NM(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;if(!((a|0)!=0?(f[a+12>>2]|0)!=0:0)){f[d>>2]=0;f[d+4>>2]=0;EP(-27,d,156640,155802,1020);KV(d)}d=f[(f[a+4>>2]|0)+28>>2]|0;if((d|0)<33?(e=d+-1|0,(-2147450741>>>e&1|0)!=0):0)g=(f[a+12>>2]|0)-(f[a+16>>2]|0)>>b[156279+e>>0];else g=((f[a+12>>2]|0)-(f[a+16>>2]|0)|0)/(d|0)|0;u=c;return (f[(f[a+8>>2]|0)+8>>2]|0)+g-(f[a+24>>2]|0)|0}function OM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=u;u=u+16|0;d=c;if(!a){f[d>>2]=0;f[d+4>>2]=0;EP(-27,d,156658,155802,1138);KV(d)}d=f[a+28>>2]|0;e=a+36|0;g=f[e>>2]|0;if(g>>>0<(f[a+32>>2]|0)>>>0)h=g;else{LM(a,0);h=f[e>>2]|0}if(b|0)DVa(h|0,b|0,d|0)|0;b=(f[f[a+52>>2]>>2]|0)+12|0;f[b>>2]=(f[b>>2]|0)+1;b=a+24|0;f[b>>2]=(f[b>>2]|0)+1;f[e>>2]=h+d;u=c;return h|0}function PM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+16|0;d=c;if(!a){f[d>>2]=0;f[d+4>>2]=0;EP(-27,d,156668,155802,1169);KV(d)}e=a+24|0;if((f[e>>2]|0)<1){f[d>>2]=0;f[d+4>>2]=0;EP(-201,d,156668,155802,1171);KV(d)}d=a+28|0;g=f[d>>2]|0;h=a+36|0;i=(f[h>>2]|0)+(0-g)|0;f[h>>2]=i;if(b|0)DVa(b|0,i|0,g|0)|0;f[h>>2]=i;f[e>>2]=(f[e>>2]|0)+-1;g=a+52|0;b=f[g>>2]|0;j=f[b>>2]|0;k=j+12|0;l=(f[k>>2]|0)+-1|0;f[k>>2]=l;if(l|0){u=c;return}l=a+32|0;m=f[l>>2]|0;if((b|0)==(j|0)){n=b+16|0;o=(X(f[d>>2]|0,f[b+8>>2]|0)|0)+(m-(f[n>>2]|0))|0;f[b+12>>2]=o;f[n>>2]=m+(0-o);f[g>>2]=0;f[l>>2]=0;f[h>>2]=0;f[e>>2]=0;p=b}else{f[k>>2]=m-i;i=f[j>>2]|0;m=(f[i+16>>2]|0)+(X(f[d>>2]|0,f[i+12>>2]|0)|0)|0;f[h>>2]=m;f[l>>2]=m;m=j+4|0;f[i+4>>2]=f[m>>2];f[f[m>>2]>>2]=i;p=j}j=a+48|0;f[p+4>>2]=f[j>>2];f[j>>2]=p;u=c;return}function QM(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;g=u;u=u+16|0;h=g;if(!a){f[h>>2]=0;f[h+4>>2]=0;i=JV(h,21)|0;j=156677;k=i+21|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-27,h,156699,155802,1459);KV(h)}if((d|0)<0){f[h>>2]=0;f[h+4>>2]=0;i=JV(h,38)|0;j=156714;k=i+38|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-201,h,156699,155802,1461);KV(h)}h=f[a+28>>2]|0;if(!e){if((d|0)<=0){u=g;return}e=a+32|0;j=a+36|0;i=a+52|0;k=a+24|0;l=d;m=c;while(1){n=f[j>>2]|0;o=((f[e>>2]|0)-n|0)/(h|0)|0;p=(o|0)>(l|0)?l:o;o=n;if((p|0)>0){n=(f[f[i>>2]>>2]|0)+12|0;f[n>>2]=(f[n>>2]|0)+p;f[k>>2]=(f[k>>2]|0)+p;n=l-p|0;q=X(p,h)|0;if(!m){r=0;s=o}else{DVa(o|0,m|0,q|0)|0;r=m+q|0;s=f[j>>2]|0}f[j>>2]=s+q;if((n|0)>0){t=n;v=r}else break}else{t=l;v=m}LM(a,0);l=t;m=v}u=g;return}v=a+52|0;m=f[v>>2]|0;if((d|0)<=0){u=g;return}t=a+24|0;if(!c){l=m;r=d;while(1){if((l|0)!=0?(s=f[l+8>>2]|0,(s|0)!=0):0){w=l;x=s}else{LM(a,1);s=f[v>>2]|0;w=s;x=f[s+8>>2]|0}s=(x|0)>(r|0)?r:x;r=r-s|0;f[w+8>>2]=x-s;j=w+12|0;f[j>>2]=(f[j>>2]|0)+s;f[t>>2]=(f[t>>2]|0)+s;j=X(s,h)|0;s=w+16|0;f[s>>2]=(f[s>>2]|0)+(0-j);if((r|0)<=0)break;else l=w}u=g;return}else{w=m;m=d;while(1){if((w|0)!=0?(d=f[w+8>>2]|0,(d|0)!=0):0){y=w;z=d}else{LM(a,1);d=f[v>>2]|0;y=d;z=f[d+8>>2]|0}d=(z|0)>(m|0)?m:z;m=m-d|0;f[y+8>>2]=z-d;l=y+12|0;f[l>>2]=(f[l>>2]|0)+d;f[t>>2]=(f[t>>2]|0)+d;l=X(d,h)|0;d=y+16|0;r=(f[d>>2]|0)+(0-l)|0;f[d>>2]=r;DVa(r|0,c+(X(m,h)|0)|0,l|0)|0;if((m|0)<=0)break;else w=y}u=g;return}}function RM(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;g=u;u=u+16|0;h=g;if(!a){f[h>>2]=0;f[h+4>>2]=0;i=JV(h,21)|0;j=156677;k=i+21|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-27,h,156753,155802,1528);KV(h)}if((d|0)<0){f[h>>2]=0;f[h+4>>2]=0;i=JV(h,38)|0;j=156714;k=i+38|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-201,h,156753,155802,1530);KV(h)}h=a+24|0;j=f[h>>2]|0;i=(j|0)<(d|0)?j:d;if(!e){if(!c)l=0;else l=c+(X(f[a+28>>2]|0,i)|0)|0;if((i|0)<=0){u=g;return}e=a+52|0;d=a+28|0;k=a+36|0;m=a+32|0;n=a+48|0;o=l;l=i;p=f[e>>2]|0;q=j;while(1){r=f[p>>2]|0;s=r+12|0;t=f[s>>2]|0;v=(t|0)>(l|0)?l:t;w=t-v|0;f[s>>2]=w;f[h>>2]=q-v;s=l-v|0;t=X(f[d>>2]|0,v)|0;v=0-t|0;x=(f[k>>2]|0)+v|0;f[k>>2]=x;if(!o){y=0;z=r;A=w;B=p}else{w=o+v|0;DVa(w|0,x|0,t|0)|0;t=f[e>>2]|0;x=f[t>>2]|0;y=w;z=x;A=f[x+12>>2]|0;B=t}t=z+12|0;if(!A){x=f[m>>2]|0;if((B|0)==(z|0)){w=z+16|0;v=(X(f[d>>2]|0,f[z+8>>2]|0)|0)+(x-(f[w>>2]|0))|0;f[t>>2]=v;f[w>>2]=x+(0-v);f[e>>2]=0;f[m>>2]=0;f[k>>2]=0;f[h>>2]=0;C=z+4|0;D=0}else{f[t>>2]=x-(f[k>>2]|0);x=f[z>>2]|0;t=(f[x+16>>2]|0)+(X(f[d>>2]|0,f[x+12>>2]|0)|0)|0;f[k>>2]=t;f[m>>2]=t;t=z+4|0;f[x+4>>2]=f[t>>2];f[f[t>>2]>>2]=x;C=t;D=B}f[C>>2]=f[n>>2];f[n>>2]=z;E=D}else E=B;if((s|0)<=0)break;o=y;l=s;p=E;q=f[h>>2]|0}u=g;return}else{if((i|0)<=0){u=g;return}q=a+52|0;E=a+28|0;p=a+32|0;l=a+36|0;y=a+48|0;a=i;i=c;c=f[q>>2]|0;o=j;while(1){j=c+12|0;B=f[j>>2]|0;D=(B|0)>(a|0)?a:B;f[j>>2]=B-D;f[h>>2]=o-D;B=a-D|0;j=c+8|0;f[j>>2]=(f[j>>2]|0)+D;j=X(f[E>>2]|0,D)|0;if(!i){F=0;G=c}else{DVa(i|0,f[c+16>>2]|0,j|0)|0;F=i+j|0;G=f[q>>2]|0}D=G+16|0;f[D>>2]=(f[D>>2]|0)+j;j=G+12|0;if(!(f[j>>2]|0)){D=f[G>>2]|0;z=D;if((G|0)==(D|0)){n=f[p>>2]|0;C=G+16|0;m=(X(f[E>>2]|0,f[G+8>>2]|0)|0)+(n-(f[C>>2]|0))|0;f[j>>2]=m;f[C>>2]=n+(0-m);f[q>>2]=0;f[p>>2]=0;f[l>>2]=0;f[h>>2]=0;H=G+4|0;I=0}else{m=G+8|0;n=f[m>>2]|0;C=X(f[E>>2]|0,n)|0;f[j>>2]=C;j=G+16|0;f[j>>2]=(f[j>>2]|0)+(0-C);f[m>>2]=0;m=G+4|0;C=f[m>>2]|0;j=C;if((C|0)!=(G|0)){k=C;do{d=k+8|0;f[d>>2]=(f[d>>2]|0)-n;k=f[k+4>>2]|0}while((k|0)!=(G|0))}f[q>>2]=j;f[D+4>>2]=j;f[f[m>>2]>>2]=z;H=m;I=C}f[H>>2]=f[y>>2];f[y>>2]=G;J=I}else J=G;if((B|0)<=0)break;a=B;i=F;c=J;o=f[h>>2]|0}u=g;return}}function SM(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;g=u;u=u+48|0;h=g+8|0;i=g;if(!((a|0)!=0?(f[a>>2]&-65536|0)==1117323264:0)){f[i>>2]=0;f[i+4>>2]=0;j=JV(i,23)|0;k=156778;l=j+23|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-5,i,156802,155802,1610);KV(i)}if(!d){m=f[a+44>>2]|0;if(!m){f[i>>2]=0;f[i+4>>2]=0;j=JV(i,20)|0;k=225448;l=j+20|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-27,i,156802,155802,1616);KV(i);n=0}else n=m}else n=d;d=a+28|0;m=f[d>>2]|0;o=c;p=f[o>>2]|0;q=f[o+4>>2]|0;o=f[a+24>>2]|0;if((q|0)==(p|0))r=0;else r=q-p+((p|0)<0?0-o|0:0)+((q|0)<1?o:0)|0;while(1)if((r|0)<0)r=r+o|0;else break;q=(r|0)>(o|0)?o:r;if((p|0)>=0)if((o|0)>(p|0))s=p;else{t=p-o|0;v=14}else{t=o+p|0;v=14}if((v|0)==14){f[c>>2]=t;s=t}if(!(q>>>0<=o>>>0?!((q|0)!=0&s>>>0>=o>>>0):0)){f[i>>2]=0;f[i+4>>2]=0;j=JV(i,18)|0;k=156813;l=j+18|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-211,i,156802,155802,1627);KV(i)}i=zM(f[a>>2]|0,f[a+4>>2]|0,m,n)|0;if((q|0)<=0){u=g;return i|0}k=h+4|0;j=k+4|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[h>>2]=32;f[k>>2]=a;k=f[a+52>>2]|0;if(!k){a=h+8|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;w=h+12|0;x=a;y=h+20|0}else{a=f[k>>2]|0;j=f[k+16>>2]|0;l=h+12|0;f[l>>2]=j;o=f[d>>2]|0;d=(f[a+16>>2]|0)+(X((f[a+12>>2]|0)+-1|0,o)|0)|0;f[h+28>>2]=d;f[h+24>>2]=f[k+8>>2];d=j;j=h+8|0;f[j>>2]=k;f[h+16>>2]=d;a=d+(X(f[k+12>>2]|0,o)|0)|0;o=h+20|0;f[o>>2]=a;w=l;x=j;y=o}DM(h,s,0);s=f[w>>2]|0;h=((f[y>>2]|0)-s|0)/(m|0)|0;m=i+52|0;y=i+24|0;if(!e){z=0;A=0;B=q;C=h}else{e=q;q=h;h=s;while(1){s=(q|0)>(e|0)?e:q;QM(i,h,s,0);e=e-s|0;s=f[(f[x>>2]|0)+4>>2]|0;f[x>>2]=s;h=f[s+16>>2]|0;f[w>>2]=h;if((e|0)<=0)break;else q=f[s+12>>2]|0}u=g;return i|0}while(1){q=(C|0)>(B|0)?B:C;e=z;z=wM(n,20)|0;if(!A){f[z+4>>2]=z;f[z>>2]=z;f[m>>2]=z;D=z;E=0}else{f[z>>2]=e;f[z+4>>2]=A;f[A>>2]=z;f[e+4>>2]=z;D=A;E=(f[e+12>>2]|0)+(f[e+8>>2]|0)|0}f[z+8>>2]=E;f[z+16>>2]=f[w>>2];f[z+12>>2]=q;f[y>>2]=(f[y>>2]|0)+q;B=B-q|0;q=f[(f[x>>2]|0)+4>>2]|0;f[x>>2]=q;f[w>>2]=f[q+16>>2];if((B|0)<=0)break;else{A=D;C=f[q+12>>2]|0}}u=g;return i|0}function TM(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0;e=u;u=u+1792|0;g=e+1760|0;h=e+1728|0;i=e+192|0;j=e+160|0;k=e+128|0;l=e+96|0;m=e+64|0;n=e+32|0;o=e;p=(a|0)!=0;if(!(p?(f[a>>2]&-65536|0)==1117323264:0)){q=p?-5:-27;f[j>>2]=0;f[j+4>>2]=0;r=JV(j,18)|0;s=156832;t=r+18|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));EP(q,j,156851,155802,1921);KV(j)}if(!c){f[j>>2]=0;f[j+4>>2]=0;r=JV(j,21)|0;s=156861;t=r+21|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));EP(-27,j,156851,155802,1924);KV(j)}s=a+24|0;if((f[s>>2]|0)<2){u=e;return}r=f[a+28>>2]|0;t=r*7|0;q=g+4|0;p=q+4|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[g>>2]=32;f[q>>2]=a;p=f[a+52>>2]|0;if(!p){a=g+8|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;v=g+12|0;w=v;x=v;y=g+16|0;z=g+20|0;A=a;B=0;C=0;D=0}else{a=f[p>>2]|0;v=f[p+16>>2]|0;E=g+12|0;f[E>>2]=v;F=(f[a+16>>2]|0)+(X((f[a+12>>2]|0)+-1|0,r)|0)|0;f[g+28>>2]=F;f[g+24>>2]=f[p+8>>2];F=v;a=g+8|0;f[a>>2]=p;G=g+16|0;f[G>>2]=F;H=F+(X(f[p+12>>2]|0,r)|0)|0;F=g+20|0;f[F>>2]=H;w=E;x=E;y=G;z=F;A=a;B=p;C=v;D=H};f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[h+16>>2]=f[g+16>>2];f[h+20>>2]=f[g+20>>2];f[h+24>>2]=f[g+24>>2];f[h+28>>2]=f[g+28>>2];f[i>>2]=B;f[i+4>>2]=C;f[i+8>>2]=C;f[i+12>>2]=D;B=h+12|0;H=0-r|0;v=(f[B>>2]|0)+H|0;f[B>>2]=v;p=h+16|0;a=f[p>>2]|0;F=h+8|0;if(v>>>0>>0){G=f[f[F>>2]>>2]|0;f[F>>2]=G;E=f[G+16>>2]|0;I=f[G+12>>2]|0;J=h+4|0;K=f[(f[J>>2]|0)+28>>2]|0;L=E+(X(K,I+-1|0)|0)|0;f[B>>2]=L;f[p>>2]=E;M=E+(X(K,I)|0)|0;I=h+20|0;f[I>>2]=M;N=E;O=L;P=F;Q=I;R=I;S=J;T=G;U=M}else{M=h+20|0;N=a;O=v;P=F;Q=M;R=M;S=h+4|0;T=f[F>>2]|0;U=f[M>>2]|0}M=O;O=N;f[i+16>>2]=T;f[i+20>>2]=M;f[i+24>>2]=O;f[i+28>>2]=U;N=n+12|0;v=(r|0)>0;a=m+12|0;G=m+16|0;J=m+8|0;I=m+4|0;L=m+20|0;E=k+12|0;K=k+20|0;V=k+8|0;W=k+4|0;Y=k+16|0;Z=(r|0)<1;_=n+20|0;$=o+12|0;aa=o+20|0;ba=o+8|0;ca=o+4|0;da=o+16|0;ea=n+8|0;fa=n+4|0;ga=n+16|0;ha=j+8|0;ia=j+12|0;ja=j+16|0;ka=j+20|0;la=l+8|0;ma=l+12|0;na=l+16|0;oa=l+20|0;pa=v^1;qa=(r|0)==1;ra=(r|0)==1;sa=(r|0)==1;ta=(r|0)==1;ua=0;va=C;wa=C;C=D;D=T;T=M;M=O;O=U;while(1){U=f[i+(ua<<5)>>2]|0;f[A>>2]=U;f[x>>2]=va;f[y>>2]=wa;f[z>>2]=C;f[P>>2]=D;f[B>>2]=T;f[p>>2]=M;f[R>>2]=O;xa=ua+-1|0;ya=U;U=D;a:while(1){if((ya|0)==(U|0))za=(f[B>>2]|0)+r-(f[x>>2]|0)|0;else{Aa=NM(h)|0;za=X(Aa+1-(NM(g)|0)|0,r)|0}if((za|0)<=(t|0)){Ba=xa;Ca=21;break};f[n>>2]=f[g>>2];f[n+4>>2]=f[g+4>>2];f[n+8>>2]=f[g+8>>2];f[n+12>>2]=f[g+12>>2];f[n+16>>2]=f[g+16>>2];f[n+20>>2]=f[g+20>>2];f[n+24>>2]=f[g+24>>2];f[n+28>>2]=f[g+28>>2];f[j>>2]=f[g>>2];f[j+4>>2]=f[g+4>>2];f[j+8>>2]=f[g+8>>2];f[j+12>>2]=f[g+12>>2];f[j+16>>2]=f[g+16>>2];f[j+20>>2]=f[g+20>>2];f[j+24>>2]=f[g+24>>2];f[j+28>>2]=f[g+28>>2];f[m>>2]=f[h>>2];f[m+4>>2]=f[h+4>>2];f[m+8>>2]=f[h+8>>2];f[m+12>>2]=f[h+12>>2];f[m+16>>2]=f[h+16>>2];f[m+20>>2]=f[h+20>>2];f[m+24>>2]=f[h+24>>2];f[m+28>>2]=f[h+28>>2];f[l>>2]=f[h>>2];f[l+4>>2]=f[h+4>>2];f[l+8>>2]=f[h+8>>2];f[l+12>>2]=f[h+12>>2];f[l+16>>2]=f[h+16>>2];f[l+20>>2]=f[h+20>>2];f[l+24>>2]=f[h+24>>2];f[l+28>>2]=f[h+28>>2];Aa=(za|0)/(r|0)|0;do if((Aa|0)>40){Da=Aa>>>3;Ea=f[N>>2]|0;DM(n,Da,1);Fa=f[N>>2]|0;DM(n,Da,1);Ga=f[N>>2]|0;Ha=(bg[c&127](Ea,Fa,d)|0)<0;Ia=bg[c&127](Fa,Ga,d)|0;if(Ha)if((Ia|0)<0)Ja=Fa;else{Ha=(bg[c&127](Ea,Ga,d)|0)<0;Ja=Ha?Ga:Ea}else if((Ia|0)>0)Ja=Fa;else{Fa=(bg[c&127](Ea,Ga,d)|0)<0;Ja=Fa?Ea:Ga}Ga=Aa>>>1;Ea=Da*3|0;DM(n,Ga-Ea|0,1);Fa=f[N>>2]|0;DM(n,Da,1);Ia=f[N>>2]|0;DM(n,Da,1);Ha=f[N>>2]|0;Ka=(bg[c&127](Fa,Ia,d)|0)<0;La=bg[c&127](Ia,Ha,d)|0;if(Ka)if((La|0)<0)Ma=Ia;else{Ka=(bg[c&127](Fa,Ha,d)|0)<0;Ma=Ka?Ha:Fa}else if((La|0)>0)Ma=Ia;else{Ia=(bg[c&127](Fa,Ha,d)|0)<0;Ma=Ia?Fa:Ha}DM(n,Aa+-1-Ga-Ea|0,1);Ea=f[N>>2]|0;DM(n,Da,1);Ga=f[N>>2]|0;DM(n,Da,1);Da=f[N>>2]|0;Ha=(bg[c&127](Ea,Ga,d)|0)<0;Fa=bg[c&127](Ga,Da,d)|0;if(Ha){if((Fa|0)<0){Na=Ja;Oa=Ma;Pa=Ga;break}Ha=(bg[c&127](Ea,Da,d)|0)<0;Na=Ja;Oa=Ma;Pa=Ha?Da:Ea;break}else{if((Fa|0)>0){Na=Ja;Oa=Ma;Pa=Ga;break}Ga=(bg[c&127](Ea,Da,d)|0)<0;Na=Ja;Oa=Ma;Pa=Ga?Ea:Da;break}}else{Da=f[N>>2]|0;Ea=(Aa|0)/2|0;DM(n,Ea,1);Ga=f[N>>2]|0;DM(n,Aa+-1-Ea|0,1);Na=Da;Oa=Ga;Pa=f[N>>2]|0}while(0);Aa=(bg[c&127](Na,Oa,d)|0)<0;Ga=bg[c&127](Oa,Pa,d)|0;if(Aa)if((Ga|0)<0)Qa=Oa;else{Aa=(bg[c&127](Na,Pa,d)|0)<0;Qa=Aa?Pa:Na}else if((Ga|0)>0)Qa=Oa;else{Ga=(bg[c&127](Na,Pa,d)|0)<0;Qa=Ga?Na:Pa};f[g>>2]=f[j>>2];f[g+4>>2]=f[j+4>>2];f[g+8>>2]=f[j+8>>2];f[g+12>>2]=f[j+12>>2];f[g+16>>2]=f[j+16>>2];f[g+20>>2]=f[j+20>>2];f[g+24>>2]=f[j+24>>2];f[g+28>>2]=f[j+28>>2];Ga=f[w>>2]|0;if((Qa|0)==(Ga|0)|pa)Ra=Ga;else{Aa=0;Da=Ga;while(1){Ga=Qa+Aa|0;Ea=b[Ga>>0]|0;b[Ga>>0]=b[Da+Aa>>0]|0;b[(f[w>>2]|0)+Aa>>0]=Ea;Aa=Aa+1|0;Ea=f[w>>2]|0;if((Aa|0)==(r|0)){Ra=Ea;break}else Da=Ea}}Da=Ra+r|0;f[w>>2]=Da;if(Da>>>0<(f[z>>2]|0)>>>0)Sa=Da;else{Da=f[(f[A>>2]|0)+4>>2]|0;f[A>>2]=Da;Aa=f[Da+16>>2]|0;Ea=f[Da+12>>2]|0;Da=f[(f[q>>2]|0)+28>>2]|0;f[w>>2]=Aa;f[y>>2]=Aa;Ga=Aa+(X(Da,Ea)|0)|0;f[z>>2]=Ga;Sa=Aa};f[k>>2]=f[g>>2];f[k+4>>2]=f[g+4>>2];f[k+8>>2]=f[g+8>>2];f[k+12>>2]=f[g+12>>2];f[k+16>>2]=f[g+16>>2];f[k+20>>2]=f[g+20>>2];f[k+24>>2]=f[g+24>>2];f[k+28>>2]=f[g+28>>2];Aa=0;Ga=Sa;Ea=f[B>>2]|0;while(1){b:do if((Ga|0)==(Ea|0))Ta=Aa;else{if(v){Ua=Aa;Va=Ga}else{Da=Aa;Fa=Ga;while(1){Ha=bg[c&127](Fa,Ra,d)|0;if((Ha|0)>=1){Ta=Da;break b}do if(!Ha){Ia=(f[E>>2]|0)+r|0;f[E>>2]=Ia;if(Ia>>>0<(f[K>>2]|0)>>>0){Wa=1;break}Ia=f[(f[V>>2]|0)+4>>2]|0;f[V>>2]=Ia;La=f[Ia+16>>2]|0;Ka=f[Ia+12>>2]|0;Ia=f[(f[W>>2]|0)+28>>2]|0;f[E>>2]=La;f[Y>>2]=La;Xa=La+(X(Ia,Ka)|0)|0;f[K>>2]=Xa;Wa=1}else Wa=Da;while(0);Ha=(f[w>>2]|0)+r|0;f[w>>2]=Ha;if(Ha>>>0<(f[z>>2]|0)>>>0)Ya=Ha;else{Ha=f[(f[A>>2]|0)+4>>2]|0;f[A>>2]=Ha;Xa=f[Ha+16>>2]|0;Ka=f[Ha+12>>2]|0;Ha=f[(f[q>>2]|0)+28>>2]|0;f[w>>2]=Xa;f[y>>2]=Xa;Ia=Xa+(X(Ha,Ka)|0)|0;f[z>>2]=Ia;Ya=Xa}if((Ya|0)==(f[B>>2]|0)){Ta=Wa;break b}else{Da=Wa;Fa=Ya}}}while(1){Fa=bg[c&127](Va,Ra,d)|0;if((Fa|0)>=1){Ta=Ua;break b}do if(!Fa){Da=f[E>>2]|0;Xa=f[w>>2]|0;do if((Da|0)==(Xa|0))Za=Da;else{Ia=b[Da>>0]|0;b[Da>>0]=b[Xa>>0]|0;b[f[w>>2]>>0]=Ia;Ia=f[E>>2]|0;if(sa){Za=Ia;break}else{_a=Ia;$a=1}while(1){Ia=_a+$a|0;Ka=b[Ia>>0]|0;b[Ia>>0]=b[(f[w>>2]|0)+$a>>0]|0;b[(f[w>>2]|0)+$a>>0]=Ka;$a=$a+1|0;Ka=f[E>>2]|0;if(($a|0)==(r|0)){Za=Ka;break}else _a=Ka}}while(0);Xa=Za+r|0;f[E>>2]=Xa;if(Xa>>>0<(f[K>>2]|0)>>>0){ab=1;break}Xa=f[(f[V>>2]|0)+4>>2]|0;f[V>>2]=Xa;Da=f[Xa+16>>2]|0;Ka=f[Xa+12>>2]|0;Xa=f[(f[W>>2]|0)+28>>2]|0;f[E>>2]=Da;f[Y>>2]=Da;Ia=Da+(X(Xa,Ka)|0)|0;f[K>>2]=Ia;ab=1}else ab=Ua;while(0);Fa=(f[w>>2]|0)+r|0;f[w>>2]=Fa;if(Fa>>>0<(f[z>>2]|0)>>>0)bb=Fa;else{Fa=f[(f[A>>2]|0)+4>>2]|0;f[A>>2]=Fa;Ia=f[Fa+16>>2]|0;Ka=f[Fa+12>>2]|0;Fa=f[(f[q>>2]|0)+28>>2]|0;f[w>>2]=Ia;f[y>>2]=Ia;Xa=Ia+(X(Fa,Ka)|0)|0;f[z>>2]=Xa;bb=Ia}if((bb|0)==(f[B>>2]|0)){Ta=ab;break}else{Ua=ab;Va=bb}}}while(0);Ia=f[B>>2]|0;c:do if((f[w>>2]|0)==(Ia|0))cb=Ta;else{if(v){db=Ta;eb=Ia}else{Xa=Ta;Ka=Ia;while(1){Fa=bg[c&127](Ka,Ra,d)|0;if((Fa|0)<=-1){cb=Xa;break c}do if(!Fa){Da=(f[a>>2]|0)+H|0;f[a>>2]=Da;if(Da>>>0>=(f[G>>2]|0)>>>0){fb=1;break}Da=f[f[J>>2]>>2]|0;f[J>>2]=Da;Ha=f[Da+16>>2]|0;La=f[Da+12>>2]|0;Da=f[(f[I>>2]|0)+28>>2]|0;gb=Ha+(X(Da,La+-1|0)|0)|0;f[a>>2]=gb;f[G>>2]=Ha;gb=Ha+(X(Da,La)|0)|0;f[L>>2]=gb;fb=1}else fb=Xa;while(0);Fa=(f[B>>2]|0)+H|0;f[B>>2]=Fa;if(Fa>>>0<(f[p>>2]|0)>>>0){gb=f[f[F>>2]>>2]|0;f[F>>2]=gb;La=f[gb+16>>2]|0;Da=f[gb+12>>2]|0;gb=f[(f[S>>2]|0)+28>>2]|0;Ha=La+(X(gb,Da+-1|0)|0)|0;f[B>>2]=Ha;f[p>>2]=La;hb=La+(X(gb,Da)|0)|0;f[Q>>2]=hb;ib=Ha}else ib=Fa;if((f[w>>2]|0)==(ib|0)){cb=fb;break c}else{Xa=fb;Ka=ib}}}while(1){Ka=bg[c&127](eb,Ra,d)|0;if((Ka|0)<=-1){cb=db;break c}do if(!Ka){Xa=f[a>>2]|0;Fa=f[B>>2]|0;do if((Xa|0)==(Fa|0))jb=Xa;else{Ha=b[Xa>>0]|0;b[Xa>>0]=b[Fa>>0]|0;b[f[B>>2]>>0]=Ha;Ha=f[a>>2]|0;if(ra){jb=Ha;break}else{kb=Ha;lb=1}while(1){Ha=kb+lb|0;hb=b[Ha>>0]|0;b[Ha>>0]=b[(f[B>>2]|0)+lb>>0]|0;b[(f[B>>2]|0)+lb>>0]=hb;lb=lb+1|0;hb=f[a>>2]|0;if((lb|0)==(r|0)){jb=hb;break}else kb=hb}}while(0);Fa=jb+H|0;f[a>>2]=Fa;if(Fa>>>0>=(f[G>>2]|0)>>>0){mb=1;break}Fa=f[f[J>>2]>>2]|0;f[J>>2]=Fa;Xa=f[Fa+16>>2]|0;hb=f[Fa+12>>2]|0;Fa=f[(f[I>>2]|0)+28>>2]|0;Ha=Xa+(X(Fa,hb+-1|0)|0)|0;f[a>>2]=Ha;f[G>>2]=Xa;Ha=Xa+(X(Fa,hb)|0)|0;f[L>>2]=Ha;mb=1}else mb=db;while(0);Ka=(f[B>>2]|0)+H|0;f[B>>2]=Ka;if(Ka>>>0<(f[p>>2]|0)>>>0){Ha=f[f[F>>2]>>2]|0;f[F>>2]=Ha;hb=f[Ha+16>>2]|0;Fa=f[Ha+12>>2]|0;Ha=f[(f[S>>2]|0)+28>>2]|0;Xa=hb+(X(Ha,Fa+-1|0)|0)|0;f[B>>2]=Xa;f[p>>2]=hb;Da=hb+(X(Ha,Fa)|0)|0;f[Q>>2]=Da;nb=Xa}else nb=Ka;if((f[w>>2]|0)==(nb|0)){cb=mb;break}else{db=mb;eb=nb}}}while(0);ob=f[w>>2]|0;Ia=f[B>>2]|0;if((ob|0)==(Ia|0)){Ca=110;break}if(v){Ka=b[ob>>0]|0;b[ob>>0]=b[Ia>>0]|0;b[f[B>>2]>>0]=Ka;Ka=f[w>>2]|0;if(qa)pb=Ka;else{Ia=Ka;Ka=1;while(1){Xa=Ia+Ka|0;Da=b[Xa>>0]|0;b[Xa>>0]=b[(f[B>>2]|0)+Ka>>0]|0;b[(f[B>>2]|0)+Ka>>0]=Da;Ka=Ka+1|0;Da=f[w>>2]|0;if((Ka|0)==(r|0)){pb=Da;break}else Ia=Da}}}else pb=ob;Ia=pb+r|0;f[w>>2]=Ia;if(Ia>>>0<(f[z>>2]|0)>>>0)qb=Ia;else{Ia=f[(f[A>>2]|0)+4>>2]|0;f[A>>2]=Ia;Ka=f[Ia+16>>2]|0;Da=f[Ia+12>>2]|0;Ia=f[(f[q>>2]|0)+28>>2]|0;f[w>>2]=Ka;f[y>>2]=Ka;Xa=Ka+(X(Ia,Da)|0)|0;f[z>>2]=Xa;qb=Ka}Ka=f[B>>2]|0;Xa=Ka+H|0;f[B>>2]=Xa;if(Xa>>>0<(f[p>>2]|0)>>>0){Da=f[f[F>>2]>>2]|0;f[F>>2]=Da;Ia=f[Da+16>>2]|0;Fa=f[Da+12>>2]|0;Da=f[(f[S>>2]|0)+28>>2]|0;Ha=Ia+(X(Da,Fa+-1|0)|0)|0;f[B>>2]=Ha;f[p>>2]=Ia;hb=Ia+(X(Da,Fa)|0)|0;f[Q>>2]=hb;rb=Ha}else rb=Xa;if((qb|0)==(Ka|0)){Ca=129;break}else{Aa=1;Ga=qb;Ea=rb}}if((Ca|0)==110){Ca=0;Ea=bg[c&127](ob,Ra,d)|0;if(!Ea){Ga=f[E>>2]|0;Aa=f[w>>2]|0;if(!((Ga|0)==(Aa|0)|Z)){Ka=b[Ga>>0]|0;b[Ga>>0]=b[Aa>>0]|0;b[f[w>>2]>>0]=Ka;Ka=f[E>>2]|0;if(ta)sb=Ka;else{Aa=Ka;Ka=1;while(1){Xa=Aa+Ka|0;Ha=b[Xa>>0]|0;b[Xa>>0]=b[(f[w>>2]|0)+Ka>>0]|0;b[(f[w>>2]|0)+Ka>>0]=Ha;Ka=Ka+1|0;Ha=f[E>>2]|0;if((Ka|0)==(r|0)){sb=Ha;break}else Aa=Ha}}}else sb=Ga;Aa=sb+r|0;f[E>>2]=Aa;if(Aa>>>0<(f[K>>2]|0)>>>0)tb=1;else{Aa=f[(f[V>>2]|0)+4>>2]|0;f[V>>2]=Aa;Ka=f[Aa+16>>2]|0;Ha=f[Aa+12>>2]|0;Aa=f[(f[W>>2]|0)+28>>2]|0;f[E>>2]=Ka;f[Y>>2]=Ka;Xa=Ka+(X(Aa,Ha)|0)|0;f[K>>2]=Xa;tb=1}}else tb=cb;if((Ea|0)<1){Xa=(f[w>>2]|0)+r|0;f[w>>2]=Xa;if(Xa>>>0>=(f[z>>2]|0)>>>0){Xa=f[(f[A>>2]|0)+4>>2]|0;f[A>>2]=Xa;Ha=f[Xa+16>>2]|0;Aa=f[Xa+12>>2]|0;Xa=f[(f[q>>2]|0)+28>>2]|0;f[w>>2]=Ha;f[y>>2]=Ha;Ka=Ha+(X(Xa,Aa)|0)|0;f[z>>2]=Ka}}else{Ka=(f[B>>2]|0)+H|0;f[B>>2]=Ka;if(Ka>>>0<(f[p>>2]|0)>>>0){Ka=f[f[F>>2]>>2]|0;f[F>>2]=Ka;Aa=f[Ka+16>>2]|0;Xa=f[Ka+12>>2]|0;Ka=f[(f[S>>2]|0)+28>>2]|0;Ha=Aa+(X(Ka,Xa+-1|0)|0)|0;f[B>>2]=Ha;f[p>>2]=Aa;Ha=Aa+(X(Ka,Xa)|0)|0;f[Q>>2]=Ha}}if(!tb){f[g>>2]=f[j>>2];f[g+4>>2]=f[j+4>>2];f[g+8>>2]=f[j+8>>2];f[g+12>>2]=f[j+12>>2];f[g+16>>2]=f[j+16>>2];f[g+20>>2]=f[j+20>>2];f[g+24>>2]=f[j+24>>2];f[g+28>>2]=f[j+28>>2];f[h>>2]=f[l>>2];f[h+4>>2]=f[l+4>>2];f[h+8>>2]=f[l+8>>2];f[h+12>>2]=f[l+12>>2];f[h+16>>2]=f[l+16>>2];f[h+20>>2]=f[l+20>>2];f[h+24>>2]=f[l+24>>2];f[h+28>>2]=f[l+28>>2];ub=6;vb=xa}else Ca=129}do if((Ca|0)==129){Ca=0;Ha=NM(g)|0;if(!Ha)wb=f[s>>2]|0;else wb=Ha;Ha=NM(j)|0;Xa=NM(k)|0;if(!Xa)xb=f[s>>2]|0;else xb=Xa;Xa=wb-xb|0;Ka=xb-Ha|0;Ha=(Xa|0)>(Ka|0)?Ka:Xa;do if((Ha|0)>0){f[n>>2]=f[j>>2];f[n+4>>2]=f[j+4>>2];f[n+8>>2]=f[j+8>>2];f[n+12>>2]=f[j+12>>2];f[n+16>>2]=f[j+16>>2];f[n+20>>2]=f[j+20>>2];f[n+24>>2]=f[j+24>>2];f[n+28>>2]=f[j+28>>2];f[o>>2]=f[g>>2];f[o+4>>2]=f[g+4>>2];f[o+8>>2]=f[g+8>>2];f[o+12>>2]=f[g+12>>2];f[o+16>>2]=f[g+16>>2];f[o+20>>2]=f[g+20>>2];f[o+24>>2]=f[g+24>>2];f[o+28>>2]=f[g+28>>2];DM(o,0-Ha|0,1);Ka=f[N>>2]|0;if(v){Aa=0;hb=Ka;while(1){Fa=0;Da=hb;do{Ia=Da+Fa|0;gb=b[Ia>>0]|0;b[Ia>>0]=b[(f[$>>2]|0)+Fa>>0]|0;b[(f[$>>2]|0)+Fa>>0]=gb;Fa=Fa+1|0;Da=f[N>>2]|0}while((Fa|0)!=(r|0));Fa=Da+r|0;f[N>>2]=Fa;if(Fa>>>0<(f[_>>2]|0)>>>0)yb=Fa;else{Fa=f[(f[ea>>2]|0)+4>>2]|0;f[ea>>2]=Fa;gb=f[Fa+16>>2]|0;Ia=f[Fa+12>>2]|0;Fa=f[(f[fa>>2]|0)+28>>2]|0;f[N>>2]=gb;f[ga>>2]=gb;La=gb+(X(Fa,Ia)|0)|0;f[_>>2]=La;yb=gb}gb=(f[$>>2]|0)+r|0;f[$>>2]=gb;if(gb>>>0>=(f[aa>>2]|0)>>>0){gb=f[(f[ba>>2]|0)+4>>2]|0;f[ba>>2]=gb;La=f[gb+16>>2]|0;Ia=f[gb+12>>2]|0;gb=f[(f[ca>>2]|0)+28>>2]|0;f[$>>2]=La;f[da>>2]=La;Fa=La+(X(gb,Ia)|0)|0;f[aa>>2]=Fa}Aa=Aa+1|0;if((Aa|0)>=(Ha|0))break;else hb=yb}}else{hb=(f[ca>>2]|0)+28|0;Aa=(f[fa>>2]|0)+28|0;Fa=0;Ia=Ka;gb=f[_>>2]|0;La=f[$>>2]|0;while(1){zb=Ia+r|0;if(zb>>>0>>0){Ab=zb;Bb=gb}else{zb=f[(f[ea>>2]|0)+4>>2]|0;f[ea>>2]=zb;Cb=f[zb+16>>2]|0;Db=f[zb+12>>2]|0;zb=f[Aa>>2]|0;f[ga>>2]=Cb;Eb=Cb+(X(zb,Db)|0)|0;f[_>>2]=Eb;Ab=Cb;Bb=Eb}Eb=La+r|0;if(Eb>>>0<(f[aa>>2]|0)>>>0)Fb=Eb;else{Eb=f[(f[ba>>2]|0)+4>>2]|0;f[ba>>2]=Eb;Cb=f[Eb+16>>2]|0;Db=f[Eb+12>>2]|0;Eb=f[hb>>2]|0;f[da>>2]=Cb;zb=Cb+(X(Eb,Db)|0)|0;f[aa>>2]=zb;Fb=Cb}Fa=Fa+1|0;if((Fa|0)>=(Ha|0))break;else{Ia=Ab;gb=Bb;La=Fb}}f[N>>2]=Ab;f[$>>2]=Fb;break}}while(0);Ha=NM(h)|0;La=NM(l)|0;gb=NM(m)|0;Ia=La-gb|0;La=gb-Ha|0;Ha=(Ia|0)>(La|0)?La:Ia;do if((Ha|0)>0){f[n>>2]=f[g>>2];f[n+4>>2]=f[g+4>>2];f[n+8>>2]=f[g+8>>2];f[n+12>>2]=f[g+12>>2];f[n+16>>2]=f[g+16>>2];f[n+20>>2]=f[g+20>>2];f[n+24>>2]=f[g+24>>2];f[n+28>>2]=f[g+28>>2];f[o>>2]=f[l>>2];f[o+4>>2]=f[l+4>>2];f[o+8>>2]=f[l+8>>2];f[o+12>>2]=f[l+12>>2];f[o+16>>2]=f[l+16>>2];f[o+20>>2]=f[l+20>>2];f[o+24>>2]=f[l+24>>2];f[o+28>>2]=f[l+28>>2];DM(o,1-Ha|0,1);Ia=f[N>>2]|0;if(v){gb=0;Fa=Ia;while(1){hb=0;Aa=Fa;do{Ka=Aa+hb|0;Cb=b[Ka>>0]|0;b[Ka>>0]=b[(f[$>>2]|0)+hb>>0]|0;b[(f[$>>2]|0)+hb>>0]=Cb;hb=hb+1|0;Aa=f[N>>2]|0}while((hb|0)!=(r|0));hb=Aa+r|0;f[N>>2]=hb;if(hb>>>0<(f[_>>2]|0)>>>0)Gb=hb;else{hb=f[(f[ea>>2]|0)+4>>2]|0;f[ea>>2]=hb;Da=f[hb+16>>2]|0;Cb=f[hb+12>>2]|0;hb=f[(f[fa>>2]|0)+28>>2]|0;f[N>>2]=Da;f[ga>>2]=Da;Ka=Da+(X(hb,Cb)|0)|0;f[_>>2]=Ka;Gb=Da}Da=(f[$>>2]|0)+r|0;f[$>>2]=Da;if(Da>>>0>=(f[aa>>2]|0)>>>0){Da=f[(f[ba>>2]|0)+4>>2]|0;f[ba>>2]=Da;Ka=f[Da+16>>2]|0;Cb=f[Da+12>>2]|0;Da=f[(f[ca>>2]|0)+28>>2]|0;f[$>>2]=Ka;f[da>>2]=Ka;hb=Ka+(X(Da,Cb)|0)|0;f[aa>>2]=hb}gb=gb+1|0;if((gb|0)>=(Ha|0))break;else Fa=Gb}}else{Fa=(f[ca>>2]|0)+28|0;gb=(f[fa>>2]|0)+28|0;hb=0;Cb=Ia;Da=f[_>>2]|0;Ka=f[$>>2]|0;while(1){zb=Cb+r|0;if(zb>>>0>>0){Hb=zb;Ib=Da}else{zb=f[(f[ea>>2]|0)+4>>2]|0;f[ea>>2]=zb;Db=f[zb+16>>2]|0;Eb=f[zb+12>>2]|0;zb=f[gb>>2]|0;f[ga>>2]=Db;Jb=Db+(X(zb,Eb)|0)|0;f[_>>2]=Jb;Hb=Db;Ib=Jb}Jb=Ka+r|0;if(Jb>>>0<(f[aa>>2]|0)>>>0)Kb=Jb;else{Jb=f[(f[ba>>2]|0)+4>>2]|0;f[ba>>2]=Jb;Db=f[Jb+16>>2]|0;Eb=f[Jb+12>>2]|0;Jb=f[Fa>>2]|0;f[da>>2]=Db;zb=Db+(X(Jb,Eb)|0)|0;f[aa>>2]=zb;Kb=Db}hb=hb+1|0;if((hb|0)>=(Ha|0))break;else{Cb=Hb;Da=Ib;Ka=Kb}}f[N>>2]=Hb;f[$>>2]=Kb;break}}while(0);Ha=(La|0)>1;if((Xa|0)<=1){if(!Ha){ub=4;vb=xa;break}f[h>>2]=f[l>>2];f[h+4>>2]=f[l+4>>2];f[h+8>>2]=f[l+8>>2];f[h+12>>2]=f[l+12>>2];f[h+16>>2]=f[l+16>>2];f[h+20>>2]=f[l+20>>2];f[h+24>>2]=f[l+24>>2];f[h+28>>2]=f[l+28>>2];f[g>>2]=f[l>>2];f[g+4>>2]=f[l+4>>2];f[g+8>>2]=f[l+8>>2];f[g+12>>2]=f[l+12>>2];f[g+16>>2]=f[l+16>>2];f[g+20>>2]=f[l+20>>2];f[g+24>>2]=f[l+24>>2];f[g+28>>2]=f[l+28>>2];DM(g,1-La|0,1);ub=0;vb=xa;break}if(!Ha){f[h>>2]=f[j>>2];f[h+4>>2]=f[j+4>>2];f[h+8>>2]=f[j+8>>2];f[h+12>>2]=f[j+12>>2];f[h+16>>2]=f[j+16>>2];f[h+20>>2]=f[j+20>>2];f[h+24>>2]=f[j+24>>2];f[h+28>>2]=f[j+28>>2];f[g>>2]=f[j>>2];f[g+4>>2]=f[j+4>>2];f[g+8>>2]=f[j+8>>2];f[g+12>>2]=f[j+12>>2];f[g+16>>2]=f[j+16>>2];f[g+20>>2]=f[j+20>>2];f[g+24>>2]=f[j+24>>2];f[g+28>>2]=f[j+28>>2];DM(h,Xa+-1|0,1);ub=0;vb=xa;break}Ha=xa+1|0;if((Xa|0)>(La|0)){f[i+(Ha<<5)>>2]=f[ha>>2];f[i+(Ha<<5)+4>>2]=f[ia>>2];f[i+(Ha<<5)+8>>2]=f[ja>>2];f[i+(Ha<<5)+12>>2]=f[ka>>2];DM(j,Xa+-1|0,1);f[i+(Ha<<5)+16>>2]=f[ha>>2];f[i+(Ha<<5)+20>>2]=f[ia>>2];f[i+(Ha<<5)+24>>2]=f[ja>>2];f[i+(Ha<<5)+28>>2]=f[ka>>2];f[h>>2]=f[l>>2];f[h+4>>2]=f[l+4>>2];f[h+8>>2]=f[l+8>>2];f[h+12>>2]=f[l+12>>2];f[h+16>>2]=f[l+16>>2];f[h+20>>2]=f[l+20>>2];f[h+24>>2]=f[l+24>>2];f[h+28>>2]=f[l+28>>2];f[g>>2]=f[l>>2];f[g+4>>2]=f[l+4>>2];f[g+8>>2]=f[l+8>>2];f[g+12>>2]=f[l+12>>2];f[g+16>>2]=f[l+16>>2];f[g+20>>2]=f[l+20>>2];f[g+24>>2]=f[l+24>>2];f[g+28>>2]=f[l+28>>2];DM(g,1-La|0,1);ub=0;vb=Ha;break}else{f[i+(Ha<<5)+16>>2]=f[la>>2];f[i+(Ha<<5)+20>>2]=f[ma>>2];f[i+(Ha<<5)+24>>2]=f[na>>2];f[i+(Ha<<5)+28>>2]=f[oa>>2];DM(l,1-La|0,1);f[i+(Ha<<5)>>2]=f[la>>2];f[i+(Ha<<5)+4>>2]=f[ma>>2];f[i+(Ha<<5)+8>>2]=f[na>>2];f[i+(Ha<<5)+12>>2]=f[oa>>2];f[h>>2]=f[j>>2];f[h+4>>2]=f[j+4>>2];f[h+8>>2]=f[j+8>>2];f[h+12>>2]=f[j+12>>2];f[h+16>>2]=f[j+16>>2];f[h+20>>2]=f[j+20>>2];f[h+24>>2]=f[j+24>>2];f[h+28>>2]=f[j+28>>2];f[g>>2]=f[j>>2];f[g+4>>2]=f[j+4>>2];f[g+8>>2]=f[j+8>>2];f[g+12>>2]=f[j+12>>2];f[g+16>>2]=f[j+16>>2];f[g+20>>2]=f[j+20>>2];f[g+24>>2]=f[j+24>>2];f[g+28>>2]=f[j+28>>2];DM(h,Xa+-1|0,1);ub=0;vb=Ha;break}}while(0);switch(ub&7){case 6:{Ba=vb;Ca=21;break a;break}case 0:break;default:if(ub|0){Lb=vb;break a}}xa=vb;ya=f[A>>2]|0;U=f[F>>2]|0}d:do if((Ca|0)==21){Ca=0;U=f[q>>2]|0;ya=f[A>>2]|0;xa=f[y>>2]|0;Ea=f[z>>2]|0;Ga=(f[w>>2]|0)+r|0;if(Ga>>>0>>0){Mb=Ga;Nb=xa;Ob=Ea;Pb=ya}else{Ea=f[ya+4>>2]|0;Ga=f[Ea+16>>2]|0;Mb=Ga;Nb=Ga;Ob=Ga+(X(f[U+28>>2]|0,f[Ea+12>>2]|0)|0)|0;Pb=Ea}Ea=(f[B>>2]|0)+r|0;f[B>>2]=Ea;if(Ea>>>0>=(f[Q>>2]|0)>>>0){Ea=f[(f[F>>2]|0)+4>>2]|0;f[F>>2]=Ea;Ga=f[Ea+16>>2]|0;Ha=f[Ea+12>>2]|0;Ea=f[(f[S>>2]|0)+28>>2]|0;f[B>>2]=Ga;f[p>>2]=Ga;Ka=Ga+(X(Ea,Ha)|0)|0;f[Q>>2]=Ka}Ka=U+28|0;U=Mb;Ha=xa;xa=Nb;Ea=Ob;Ga=ya;ya=Pb;while(1){Da=Ea;if(v){Cb=U;hb=Ha;Fa=Ga;while(1){if((Cb|0)==(f[B>>2]|0)){Lb=Ba;break d}gb=(Fa|0)==(ya|0)?hb:xa;e:do if((Cb|0)==(f[w>>2]|0)){Qb=gb;Rb=ya}else{Ia=gb;Db=ya;zb=Cb;while(1){Eb=zb+H|0;if(Eb>>>0>>0){Jb=f[Db>>2]|0;Sb=f[Jb+16>>2]|0;Tb=Sb;Ub=Jb;Vb=Sb+(X(f[Ka>>2]|0,(f[Jb+12>>2]|0)+-1|0)|0)|0}else{Tb=Ia;Ub=Db;Vb=Eb}if((bg[c&127](Vb,zb,d)|0)<1){Qb=Tb;Rb=Ub;break e}else Wb=0;do{Eb=Vb+Wb|0;Jb=b[Eb>>0]|0;Sb=zb+Wb|0;b[Eb>>0]=b[Sb>>0]|0;b[Sb>>0]=Jb;Wb=Wb+1|0}while((Wb|0)!=(r|0));if((Vb|0)==(f[w>>2]|0)){Qb=Tb;Rb=Ub;break}else{Ia=Tb;Db=Ub;zb=Vb}}}while(0);Cb=Cb+r|0;if(Cb>>>0>=Da>>>0){Xb=Qb;Yb=Rb;break}else{hb=Qb;Fa=Rb}}}else{Fa=U;hb=Ha;Cb=Ga;while(1){if((Fa|0)==(f[B>>2]|0)){Lb=Ba;break d}Xa=(Cb|0)==(ya|0)?hb:xa;if((Fa|0)==(f[w>>2]|0)){Zb=Xa;_b=ya}else{La=Xa;Xa=ya;gb=Fa;while(1){zb=gb+H|0;if(zb>>>0>>0){Db=f[Xa>>2]|0;Ia=f[Db+16>>2]|0;$b=Ia;ac=Db;bc=Ia+(X(f[Ka>>2]|0,(f[Db+12>>2]|0)+-1|0)|0)|0}else{$b=La;ac=Xa;bc=zb}zb=(bg[c&127](bc,gb,d)|0)<1;if(zb|(bc|0)==(f[w>>2]|0)){Zb=$b;_b=ac;break}else{La=$b;Xa=ac;gb=bc}}}Fa=Fa+r|0;if(Fa>>>0>=Da>>>0){Xb=Zb;Yb=_b;break}else{hb=Zb;Cb=_b}}}Cb=f[ya+4>>2]|0;hb=f[Cb+16>>2]|0;U=hb;Ha=Xb;xa=hb;Ea=hb+(X(f[Ka>>2]|0,f[Cb+12>>2]|0)|0)|0;Ga=Yb;ya=Cb}}while(0);if((Lb|0)<=-1)break;ua=Lb;va=f[i+(Lb<<5)+4>>2]|0;wa=f[i+(Lb<<5)+8>>2]|0;C=f[i+(Lb<<5)+12>>2]|0;D=f[i+(Lb<<5)+16>>2]|0;T=f[i+(Lb<<5)+20>>2]|0;M=f[i+(Lb<<5)+24>>2]|0;O=f[i+(Lb<<5)+28>>2]|0}u=e;return}function UM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;if(!d){f[g>>2]=0;f[g+4>>2]=0;EP(-27,g,156883,155802,2486);KV(g)}if(!((b|0)>63&(c|0)>7&(c&3|0)==0)){f[g>>2]=0;f[g+4>>2]=0;EP(-201,g,156883,155802,2490);KV(g)}g=zM(a,b,c,d)|0;f[g>>2]=f[g>>2]&65535|1117257728;u=e;return g|0}function VM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;d=u;u=u+16|0;e=d;if(!a){f[e>>2]=0;f[e+4>>2]=0;EP(-27,e,156895,155802,2507);KV(e)}e=a+56|0;g=f[e>>2]|0;if(!g){h=a+24|0;i=f[h>>2]|0;j=f[a+28>>2]|0;LM(a,0);k=a+36|0;l=f[k>>2]|0;f[e>>2]=l;m=l+j|0;n=f[a+32>>2]|0;o=n;if(m>>>0>n>>>0){p=l;q=i}else{r=i;i=l;s=m;while(1){f[i>>2]=r|-2147483648;f[i+4>>2]=s;m=r+1|0;t=s+j|0;if(t>>>0>n>>>0){p=s;q=m;break}else{v=s;r=m;s=t;i=v}}}f[p+(0-j)+4>>2]=0;j=(f[f[a+52>>2]>>2]|0)+12|0;f[j>>2]=q-(f[h>>2]|0)+(f[j>>2]|0);f[h>>2]=q;f[k>>2]=o;w=l}else w=g;f[e>>2]=f[w+4>>2];e=f[w>>2]&67108863;if(b|0)DVa(w|0,b|0,f[a+28>>2]|0)|0;f[w>>2]=e;b=a+60|0;f[b>>2]=(f[b>>2]|0)+1;if(!c){u=d;return e|0}f[c>>2]=w;u=d;return e|0}function WM(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;if(!a){f[c>>2]=0;f[c+4>>2]=0;EP(-27,c,156767,155802,1596);KV(c)}RM(a,0,f[a+24>>2]|0,0);f[a+56>>2]=0;f[a+60>>2]=0;u=b;return}function XM(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;g=u;u=u+16|0;h=g;if((c|0)<8|((b|0)<68|(d|0)<24)){f[h>>2]=0;f[h+4>>2]=0;EP(-201,h,156904,155802,2586);KV(h)}h=UM(a,b,c,e)|0;c=UM(0,64,d,e)|0;f[h+64>>2]=c;u=g;return h|0}function YM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;if(!a){f[e>>2]=0;f[e+4>>2]=0;EP(-27,e,156918,155802,2620);KV(e)}e=a+56|0;g=f[e>>2]|0;if(!g){h=a+24|0;i=f[h>>2]|0;j=f[a+28>>2]|0;LM(a,0);k=a+36|0;l=f[k>>2]|0;f[e>>2]=l;m=l+j|0;n=f[a+32>>2]|0;o=n;if(m>>>0>n>>>0){p=l;q=i}else{r=i;i=l;s=m;while(1){f[i>>2]=r|-2147483648;f[i+4>>2]=s;m=r+1|0;t=s+j|0;if(t>>>0>n>>>0){p=s;q=m;break}else{v=s;r=m;s=t;i=v}}}f[p+(0-j)+4>>2]=0;j=(f[f[a+52>>2]>>2]|0)+12|0;f[j>>2]=q-(f[h>>2]|0)+(f[j>>2]|0);f[h>>2]=q;f[k>>2]=o;f[e>>2]=f[l+4>>2];f[l>>2]=f[l>>2]&67108863;o=a+60|0;f[o>>2]=(f[o>>2]|0)+1;if(!l){w=-1;x=0}else{y=l;z=8}}else{f[e>>2]=f[g+4>>2];f[g>>2]=f[g>>2]&67108863;e=a+60|0;f[e>>2]=(f[e>>2]|0)+1;y=g;z=8}if((z|0)==8){if(b|0)DVa(y+8|0,b+8|0,(f[a+28>>2]|0)+-8|0)|0;f[y+4>>2]=0;w=f[y>>2]|0;x=y}if(!c){u=d;return w|0}f[c>>2]=x;u=d;return w|0}function ZM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;if(!((a|0)!=0&(b|0)!=0&(c|0)!=0)){f[e>>2]=0;f[e+4>>2]=0;EP(-27,e,156932,155802,2705);KV(e)}if((b|0)==(c|0)){g=0;u=d;return g|0}if(!(f[a>>2]&16384)){a=(f[b>>2]&67108863)>>>0>(f[c>>2]&67108863)>>>0;h=a?c:b;i=a?b:c}else{h=b;i=c}c=f[h+4>>2]|0;if(!c){g=0;u=d;return g|0}else j=c;while(1){c=f[j+20>>2]|0;if((c|0)==(i|0)){g=j;k=9;break}j=f[j+8+(((h|0)==(c|0)&1)<<2)>>2]|0;if(!j){g=0;k=9;break}}if((k|0)==9){u=d;return g|0}return 0}function _M(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0;h=u;u=u+16|0;i=h;if(!a){f[i>>2]=0;f[i+4>>2]=0;j=JV(i,21)|0;k=156953;l=j+21|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-27,i,156975,155802,2762);KV(i)}if(!(f[a>>2]&16384)){m=(f[c>>2]&67108863)>>>0>(f[d>>2]&67108863)>>>0;o=m?d:c;p=m?c:d}else{o=c;p=d}d=ZM(a,o,p)|0;if(d|0){if(!g){q=0;u=h;return q|0}f[g>>2]=d;q=0;u=h;return q|0}if((o|0)==(p|0)){d=p|0?-5:-27;f[i>>2]=0;f[i+4>>2]=0;j=JV(i,41)|0;k=156995;l=j+41|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(d,i,156975,155802,2782);KV(i)}d=a+64|0;a=f[d>>2]|0;k=a+56|0;j=f[k>>2]|0;do if(!j){if((a|0)==0?(f[i>>2]=0,f[i+4>>2]=0,EP(-27,i,156895,155802,2507),KV(i),l=f[k>>2]|0,l|0):0){r=l;break}l=a+24|0;c=f[l>>2]|0;m=f[a+28>>2]|0;LM(a,0);s=a+36|0;t=f[s>>2]|0;f[k>>2]=t;v=t+m|0;w=f[a+32>>2]|0;x=w;if(v>>>0>w>>>0){y=t;z=c}else{A=c;c=t;B=v;while(1){f[c>>2]=A|-2147483648;f[c+4>>2]=B;v=A+1|0;C=B+m|0;if(C>>>0>w>>>0){y=B;z=v;break}else{D=B;A=v;B=C;c=D}}}f[y+(0-m)+4>>2]=0;c=(f[f[a+52>>2]>>2]|0)+12|0;f[c>>2]=z-(f[l>>2]|0)+(f[c>>2]|0);f[l>>2]=z;f[s>>2]=x;r=t}else r=j;while(0);j=r+4|0;f[k>>2]=f[j>>2];f[r>>2]=f[r>>2]&67108863;k=a+60|0;f[k>>2]=(f[k>>2]|0)+1;f[r+16>>2]=o;f[r+20>>2]=p;k=o+4|0;f[r+8>>2]=f[k>>2];o=p+4|0;f[r+12>>2]=f[o>>2];f[o>>2]=r;f[k>>2]=r;k=(f[(f[d>>2]|0)+28>>2]|0)+-24|0;d=(k|0)>0;if(!e)if(d){FVa(r+24|0,0,k|0)|0;E=1.0}else E=1.0;else{if(d)DVa(r+24|0,e+24|0,k|0)|0;E=+n[e+4>>2]}n[j>>2]=E;if(!g){q=1;u=h;return q|0}f[g>>2]=r;q=1;u=h;return q|0}function $M(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;d=u;u=u+16|0;e=d;g=(a|0)==0;if(!(!g?(f[a>>2]&-53248|0)==1117261824:0)){f[e>>2]=0;f[e+4>>2]=0;h=JV(e,21)|0;i=157037;j=h+21|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));EP(-5,e,157059,155802,3262);KV(e)}if(!c){k=f[a+44>>2]|0;if(!k){f[e>>2]=0;f[e+4>>2]=0;h=JV(e,20)|0;i=225448;j=h+20|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));EP(-27,e,157059,155802,3268);KV(e);l=0}else l=k}else l=c;c=a+28|0;k=f[c>>2]|0;i=a+64|0;h=f[(f[i>>2]|0)+28>>2]|0;j=a+24|0;m=eX(f[j>>2]<<2)|0;n=eX(f[j>>2]<<2)|0;o=a+4|0;p=XM(f[a>>2]|0,f[o>>2]|0,k,h,l)|0;DVa(p+4624|0,a+4624|0,(f[o>>2]|0)+-68|0)|0;if(g){f[e>>2]=0;f[e+4>>2]=0;EP(-27,e,156327,155802,945);KV(e)}g=a+52|0;a=f[g>>2]|0;if(!a){q=0;r=0;s=0}else{o=f[a+16>>2]|0;q=a;r=o;s=o+(X(f[a+12>>2]|0,f[c>>2]|0)|0)|0}if((f[j>>2]|0)>0){a=0;o=0;l=q;q=r;r=s;while(1){s=q;if((f[s>>2]|0)>-1){f[e>>2]=0;YM(p,q,e)|0;t=f[s>>2]|0;v=f[e>>2]|0;f[v>>2]=t;f[m+(o<<2)>>2]=t;f[s>>2]=o;f[n+(o<<2)>>2]=v;w=o+1|0}else w=o;v=q+k|0;if(v>>>0>>0){x=l;y=v;z=r}else{v=f[l+4>>2]|0;s=f[v+16>>2]|0;x=v;y=s;z=s+(X(f[c>>2]|0,f[v+12>>2]|0)|0)|0}a=a+1|0;if((a|0)>=(f[j>>2]|0))break;else{o=w;l=x;q=y;r=z}}}z=f[i>>2]|0;if(!z){f[e>>2]=0;f[e+4>>2]=0;EP(-27,e,156327,155802,945);KV(e)}r=f[z+52>>2]|0;if(!r){A=0;B=0;C=0}else{y=f[r+16>>2]|0;A=r;B=y;C=y+(X(f[r+12>>2]|0,f[z+28>>2]|0)|0)|0}r=f[(f[i>>2]|0)+24>>2]|0;if((r|0)>0){y=z+28|0;z=0;q=A;A=B;B=C;while(1){C=A;x=A;if((f[x>>2]|0)>-1){f[e>>2]=0;_M(p,f[n+(f[f[C+16>>2]>>2]<<2)>>2]|0,f[n+(f[f[C+20>>2]>>2]<<2)>>2]|0,A,e)|0;f[f[e>>2]>>2]=f[x>>2]}x=C+h|0;if(x>>>0>>0){D=q;E=x;F=B}else{x=f[q+4>>2]|0;C=f[x+16>>2]|0;D=x;E=C;F=C+(X(f[y>>2]|0,f[x+12>>2]|0)|0)|0}z=z+1|0;x=f[(f[i>>2]|0)+24>>2]|0;if((z|0)>=(x|0)){G=x;break}else{q=D;A=E;B=F}}}else G=r;r=f[g>>2]|0;if(!r){H=0;I=0;J=0}else{g=f[r+16>>2]|0;H=r;I=g;J=g+(X(f[r+12>>2]|0,f[c>>2]|0)|0)|0}if((G|0)>0){K=0;L=0;M=H;N=I;O=J}else{fX(m);fX(n);P=lQ()|0;Q=(P|0)<0;R=Q?0:p;u=d;return R|0}while(1){J=N;if((f[J>>2]|0)>-1){f[J>>2]=f[m+(L<<2)>>2];S=L+1|0}else S=L;J=N+k|0;if(J>>>0>>0){T=M;U=J;V=O}else{J=f[M+4>>2]|0;I=f[J+16>>2]|0;T=J;U=I;V=I+(X(f[c>>2]|0,f[J+12>>2]|0)|0)|0}K=K+1|0;if((K|0)>=(G|0))break;else{L=S;M=T;N=U;O=V}}fX(m);fX(n);P=lQ()|0;Q=(P|0)<0;R=Q?0:p;u=d;return R|0}function aN(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=u;u=u+16|0;g=e;if(!d){f[g>>2]=0;f[g+4>>2]=0;h=JV(g,20)|0;i=225448;j=h+20|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));EP(-27,g,157072,155802,3346);KV(g)}i=zM(0,c,4,d)|0;if(!a){u=e;return i|0}d=a;a=0;while(1){c=f[d+20>>2]|0;if(c){h=a+1|0;if((h|0)==2147483647){k=d;l=2147483646;m=7}else{n=h;o=c}}else{k=d;l=a;m=7}a:do if((m|0)==7){while(1){m=0;p=f[k+12>>2]|0;if(p|0)break;c=l+-1|0;if((l|0)<1){n=c;o=0;break a}else{k=f[k+16>>2]|0;l=c;m=7}}n=l;o=(k|0)==0?0:p}while(0);f[g>>2]=d;OM(i,g)|0;if(!o)break;else{d=o;a=n}}u=e;return i|0}function bN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;if(!((a|0)!=0&(b|0)!=0)){f[e>>2]=0;f[e+4>>2]=0;EP(-27,e,157088,155802,3443);KV(e)}if((c|0)<0){f[e>>2]=0;f[e+4>>2]=0;EP(-211,e,157088,155802,3446);KV(e)}f[a>>2]=b;f[a+4>>2]=0;f[a+8>>2]=c;u=d;return}function cN(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=u;u=u+16|0;d=c;if(!a){f[d>>2]=0;f[d+4>>2]=0;e=JV(d,21)|0;g=177617;h=e+21|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));EP(-27,d,157111,155802,3462);KV(d)}d=f[a>>2]|0;g=a+4|0;e=f[g>>2]|0;a:do if(d){h=f[d+20>>2]|0;if((h|0)!=0?(i=e+1|0,(i|0)<(f[a+8>>2]|0)):0){j=h;k=i;break}else{l=d;m=e}while(1){n=f[l+12>>2]|0;if(n|0)break;i=m+-1|0;if((m|0)<1){j=0;k=i;break a}else{l=f[l+16>>2]|0;m=i}}if(!l){j=0;k=m}else{j=(f[a+8>>2]|0)==0?0:n;k=m}}else{j=d;k=e}while(0);f[a>>2]=j;f[g>>2]=k;u=c;return d|0}function dN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;if(!((a|0)!=0&(b|0)!=0)){f[e>>2]=0;f[e+4>>2]=0;EP(-27,e,157126,155802,3392);KV(e)}f[a+16>>2]=(b|0)!=(c|0)?b:0;c=b+20|0;b=f[c>>2]|0;f[a+12>>2]=b;if(!b){f[c>>2]=a;u=d;return}f[b+8>>2]=a;f[c>>2]=a;u=d;return}function eN(){nQ(455308);nQ(455312);nQ(455316);nQ(455320);nQ(455324);nQ(455328);nQ(455332);nQ(455336);nQ(455340);nQ(455344);nQ(455348);nQ(455352);nQ(455356);nQ(455360);nQ(455364);nQ(455368);nQ(455372);nQ(455376);nQ(455380);nQ(455384);nQ(455388);nQ(455392);nQ(455396);nQ(455400);nQ(455404);nQ(455408);nQ(455412);nQ(455416);nQ(455420);nQ(455424);nQ(455428);return}function fN(a,b){a=a|0;b=b|0;f[a+4>>2]=b;f[a>>2]=b;b=a+8|0;a=b+44|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function gN(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if(f[a+44>>2]|0){f[d>>2]=0;f[d+4>>2]=0;e=JV(d,13)|0;g=157147;h=e+13|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));EP(-215,d,157161,157171,78);KV(d)}d=a+16|0;g=a+48|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[d+24>>2]=0;d=f[g>>2]|0;if(!d){u=c;return}a=d+8|0;f[a>>2]=(f[a>>2]|0)+-1;e=d+12|0;f[e>>2]=(f[e>>2]|0)+-1;do if(!(f[e>>2]|0)){if(f[d+44>>2]|0){h=f[d+4>>2]|0;if(!h)i=QO()|0;else i=h;zg[f[(f[i>>2]|0)+24>>2]&511](i,d);if(f[e>>2]|0)break}if(!(f[a>>2]|0)){h=f[d+4>>2]|0;zg[f[(f[h>>2]|0)+16>>2]&511](h,d)}}while(0);f[g>>2]=0;u=c;return}function hN(){var a=0,c=0,d=0,e=0;a=u;u=u+16|0;c=a;if(!(f[113858]|0)){d=NP()|0;pQ(d);if(!(f[113858]|0)){e=EQa(8)|0;rQ(e);f[e>>2]=32340;f[113858]=e}qQ(d)}d=TP(f[113858]|0)|0;if(d|0){u=a;return d|0}f[c>>2]=0;f[c+4>>2]=0;e=JV(c,3)|0;b[e>>0]=b[157249]|0;b[e+1>>0]=b[157250]|0;b[e+2>>0]=b[157251]|0;EP(-215,c,157253,157260,703);KV(c);u=a;return d|0}function iN(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=u;u=u+16|0;e=d;g=f[c>>2]|0;h=a+4|0;i=g;if((g|0)!=(f[h>>2]|0)?(g|0)!=(f[a+8>>2]|0):0){if(!(f[a>>2]|0)){j=c;k=i}else{f[e>>2]=0;f[e+4>>2]=0;i=JV(e,16)|0;g=157227;l=i+16|0;do{b[i>>0]=b[g>>0]|0;i=i+1|0;g=g+1|0}while((i|0)<(l|0));EP(-215,e,157244,157171,167);KV(e);j=c;k=f[c>>2]|0}f[a>>2]=1;f[h>>2]=k;pQ(455308+((((f[j>>2]|0)>>>0)%31|0)<<2)|0);u=d;return}f[c>>2]=0;u=d;return}function jN(a){a=a|0;f[a>>2]=32340;gQ(a);CP(a);return}function kN(a){a=a|0;f[a>>2]=32340;gQ(a);CP(a);GQa(a);return}function lN(a){a=a|0;a=EQa(12)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return a|0}function mN(a,b){a=a|0;b=b|0;if(!b)return;GQa(b);return}function nN(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=u;u=u+16|0;g=e;h=(c|0)==0;i=(d|0)==0;if(h&i){u=e;return}if((f[a>>2]|0)!=1){f[g>>2]=0;f[g+4>>2]=0;j=JV(g,16)|0;k=157373;l=j+16|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-215,g,157390,157171,195);KV(g)}f[a>>2]=0;if(!h)qQ(455308+(((c>>>0)%31|0)<<2)|0);if(!i)qQ(455308+(((d>>>0)%31|0)<<2)|0);f[a+4>>2]=0;f[a+8>>2]=0;u=e;return}function oN(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;h=u;u=u+16|0;i=h;if(c>>>0>=33){f[i>>2]=0;f[i+4>>2]=0;j=JV(i,25)|0;k=158301;l=j+25|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-215,i,158327,157171,270);KV(i)}m=a+4|0;if((f[m>>2]|0)!=(c|0)){n=a+36|0;o=f[n>>2]|0;p=a+40|0;if((o|0)!=(p|0)){dX(o);f[n>>2]=p;f[a+32>>2]=a+8}if((c|0)>2){p=cX(c<<3|4)|0;f[n>>2]=p;n=p+(c<<2)+4|0;f[a+32>>2]=n;f[n+-4>>2]=c;f[a+12>>2]=-1;f[a+8>>2]=-1}}f[m>>2]=c;if(!d){u=h;return}n=f[a>>2]|0;p=(n>>>3&511)+1<<(47696>>>(n<<1&14)&3);n=c+-1|0;if((c|0)<=0){u=h;return}o=a+32|0;q=a+36|0;r=i+4|0;s=i+4|0;if(!e){t=n;v=p;while(1){w=f[d+(t<<2)>>2]|0;if((w|0)<=-1){f[i>>2]=0;f[s>>2]=0;x=JV(i,6)|0;b[x>>0]=b[158335]|0;b[x+1>>0]=b[158336]|0;b[x+2>>0]=b[158337]|0;b[x+3>>0]=b[158338]|0;b[x+4>>0]=b[158339]|0;b[x+5>>0]=b[158340]|0;EP(-215,i,158327,157171,297);KV(i)}f[(f[o>>2]|0)+(t<<2)>>2]=w;if(g){f[(f[q>>2]|0)+(t<<2)>>2]=v;x=wVa(w|0,((w|0)<0)<<31>>31|0,v|0,0)|0;if((x|0)==(x|0)&(I|0)==0)y=x;else{f[i>>2]=0;f[r>>2]=0;j=JV(i,51)|0;k=158342;l=j+51|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-211,i,158327,157171,307);KV(i);y=x}}else y=v;if((t|0)>0){t=t+-1|0;v=y}else break}}else{y=n;while(1){v=f[d+(y<<2)>>2]|0;if((v|0)<=-1){f[i>>2]=0;f[s>>2]=0;t=JV(i,6)|0;b[t>>0]=b[158335]|0;b[t+1>>0]=b[158336]|0;b[t+2>>0]=b[158337]|0;b[t+3>>0]=b[158338]|0;b[t+4>>0]=b[158339]|0;b[t+5>>0]=b[158340]|0;EP(-215,i,158327,157171,297);KV(i)}f[(f[o>>2]|0)+(y<<2)>>2]=v;if((y|0)<(n|0))z=f[e+(y<<2)>>2]|0;else z=p;f[(f[q>>2]|0)+(y<<2)>>2]=z;if((y|0)>0)y=y+-1|0;else break}}if((c|0)!=1){u=h;return}f[m>>2]=2;f[a+12>>2]=1;f[(f[a+36>>2]|0)+4>>2]=p;u=h;return}function pN(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0;g=u;u=u+192|0;h=g+136|0;i=g+128|0;j=g+120|0;k=g+64|0;l=g;m=g+48|0;f[h>>2]=1124007936;n=h+4|0;o=h+8|0;p=h+20|0;q=h+24|0;r=h+28|0;s=h+32|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;f[n+16>>2]=0;f[n+20>>2]=0;f[n+24>>2]=0;f[s>>2]=o;t=h+40|0;v=h+36|0;f[v>>2]=t;f[h+44>>2]=0;f[t>>2]=0;w=c+16|0;x=f[w>>2]|0;a:do if(x){y=c+20|0;do if((x|0)!=(f[y>>2]|0)){f[i>>2]=0;z=i+4|0;f[z>>2]=0;f[j>>2]=0;A=j+4|0;f[A>>2]=0;fP(c,i,j);B=f[c+12>>2]|0;C=f[c+8>>2]|0;if(!(f[A>>2]|f[j>>2])){if((f[w>>2]|0)==(f[y>>2]|0))break;f[i>>2]=0;f[i+4>>2]=0;D=JV(i,17)|0;E=157398;F=D+17|0;do{b[D>>0]=b[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0));EP(-215,i,157416,157171,375);KV(i);break}f[k>>2]=f[c>>2];G=k+4|0;H=c+4|0;J=f[H>>2]|0;f[G>>2]=J;K=k+8|0;f[K>>2]=C;L=k+12|0;f[L>>2]=B;M=k+16|0;f[M>>2]=f[w>>2];f[k+20>>2]=f[y>>2];f[k+24>>2]=f[c+24>>2];f[k+28>>2]=f[c+28>>2];f[k+32>>2]=f[c+32>>2];N=k+36|0;O=f[c+36>>2]|0;f[N>>2]=O;P=k+40|0;f[P>>2]=K;Q=k+48|0;R=k+44|0;f[R>>2]=Q;f[Q>>2]=0;f[k+52>>2]=0;if(!O)S=J;else{J=O+12|0;f[J>>2]=(f[J>>2]|0)+1;S=f[H>>2]|0}if((S|0)<3){H=f[c+44>>2]|0;J=f[R>>2]|0;f[J>>2]=f[H>>2];f[J+4>>2]=f[H+4>>2]}else{f[G>>2]=0;WO(k,c)}H=f[A>>2]|0;J=f[j>>2]|0;gP(k,H,(f[z>>2]|0)-H-(f[K>>2]|0)|0,J,(f[i>>2]|0)-J-(f[L>>2]|0)|0)|0;pN(l,k,d,e);L=f[A>>2]|0;f[m>>2]=f[j>>2];f[m+4>>2]=L;f[m+8>>2]=B;f[m+12>>2]=C;qN(a,l,m);L=l+24|0;J=f[L>>2]|0;if(J|0?(K=J+8|0,J=f[K>>2]|0,f[K>>2]=J+-1,(J|0)==1):0){J=f[L>>2]|0;f[L>>2]=0;K=f[J+4>>2]|0;zg[f[(f[K>>2]|0)+16>>2]&511](K,J)}J=l+4|0;if((f[J>>2]|0)>0){K=f[l+32>>2]|0;H=0;do{f[K+(H<<2)>>2]=0;H=H+1|0}while((H|0)<(f[J>>2]|0))}f[L>>2]=0;J=f[l+36>>2]|0;if((J|0)!=(l+40|0))dX(J);J=f[N>>2]|0;if(J|0?(H=J+12|0,J=f[H>>2]|0,f[H>>2]=J+-1,(J|0)==1):0)XO(k);f[N>>2]=0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;if((f[G>>2]|0)>0){J=f[P>>2]|0;H=0;do{f[J+(H<<2)>>2]=0;H=H+1|0}while((H|0)<(f[G>>2]|0))}G=f[R>>2]|0;if((G|0)!=(Q|0))dX(G);break a}while(0);y=d|50331648;G=f[c+32>>2]|0;H=QO()|0;J=(G|0)==0?H:G;G=c+4|0;H=c+40|0;P=c+44|0;M=lg[f[(f[J>>2]|0)+8>>2]&15](J,f[G>>2]|0,f[H>>2]|0,f[c>>2]&4095,f[w>>2]|0,f[P>>2]|0,y,e)|0;J=QO()|0;if(!(dg[f[(f[J>>2]|0)+12>>2]&63](J,M,y,e)|0)?(J=QO()|0,!(dg[f[(f[J>>2]|0)+12>>2]&63](J,M,y,e)|0)):0){f[i>>2]=0;f[i+4>>2]=0;D=JV(i,9)|0;E=157424;F=D+9|0;do{b[D>>0]=b[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0));EP(-215,i,157416,157171,397);KV(i)}y=c+36|0;J=f[y>>2]|0;if(J|0){f[M+48>>2]=J;N=J+12|0;f[N>>2]=(f[N>>2]|0)+1;N=(f[y>>2]|0)+8|0;f[N>>2]=(f[N>>2]|0)+1}f[h>>2]=f[c>>2];oN(h,f[G>>2]|0,f[H>>2]|0,f[P>>2]|0,0);N=f[n>>2]|0;y=f[s>>2]|0;b:do if((N|0)>0){J=0;while(1){if((f[y+(J<<2)>>2]|0)>1){T=J;break b}L=J+1|0;if((L|0)<(N|0))J=L;else{T=L;break}}}else T=0;while(0);P=f[v>>2]|0;H=N;do{G=H;H=H+-1|0;if((H|0)<=(T|0))break;J=X(f[y+(H<<2)>>2]|0,f[P+(H<<2)>>2]|0)|0}while(J>>>0>=(f[P+(G+-2<<2)>>2]|0)>>>0);G=f[y>>2]|0;J=wVa(G|0,((G|0)<0)<<31>>31|0,f[P>>2]|0,0)|0;G=f[h>>2]|0;Q=(H|0)<=(T|0)&((J|0)==(J|0)&(I|0)==0)?G|16384:G&-16385;f[h>>2]=Q;if((N|0)>2){f[h+12>>2]=-1;f[o>>2]=-1}f[q>>2]=M;f[r>>2]=0;if(!M){U=Q;V=N;W=M;Y=0}else{Q=M+8|0;f[Q>>2]=(f[Q>>2]|0)+1;U=f[h>>2]|0;V=f[n>>2]|0;W=f[q>>2]|0;Y=f[r>>2]|0}f[a>>2]=U;Q=a+4|0;f[Q>>2]=V;G=a+8|0;f[G>>2]=f[o>>2];f[a+12>>2]=f[h+12>>2];f[a+16>>2]=f[h+16>>2];f[a+20>>2]=f[p>>2];f[a+24>>2]=W;f[a+28>>2]=Y;J=a+32|0;f[J>>2]=G;G=a+40|0;R=a+36|0;f[R>>2]=G;f[a+44>>2]=0;f[G>>2]=0;if(!W)Z=V;else{G=W+8|0;f[G>>2]=(f[G>>2]|0)+1;Z=f[n>>2]|0}if((Z|0)<3){G=f[v>>2]|0;L=f[R>>2]|0;f[L>>2]=f[G>>2];f[L+4>>2]=f[G+4>>2];break}f[Q>>2]=0;oN(a,Z,0,0,0);if((f[Q>>2]|0)>0){G=f[s>>2]|0;L=f[J>>2]|0;J=f[v>>2]|0;K=f[R>>2]|0;R=0;do{f[L+(R<<2)>>2]=f[G+(R<<2)>>2];f[K+(R<<2)>>2]=f[J+(R<<2)>>2];R=R+1|0}while((R|0)<(f[Q>>2]|0))}}else{f[a>>2]=1124007936;Q=a+4|0;f[Q>>2]=0;f[Q+4>>2]=0;f[Q+8>>2]=0;f[Q+12>>2]=0;f[Q+16>>2]=0;f[Q+20>>2]=0;f[Q+24>>2]=0;f[a+32>>2]=a+8;Q=a+40|0;f[a+36>>2]=Q;f[Q>>2]=0;f[a+44>>2]=0}while(0);a=f[q>>2]|0;if(a|0?(Z=a+8|0,a=f[Z>>2]|0,f[Z>>2]=a+-1,(a|0)==1):0){a=f[q>>2]|0;f[q>>2]=0;Z=f[a+4>>2]|0;zg[f[(f[Z>>2]|0)+16>>2]&511](Z,a)}if((f[n>>2]|0)>0){a=f[s>>2]|0;s=0;do{f[a+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[n>>2]|0))}f[q>>2]=0;q=f[v>>2]|0;if((q|0)==(t|0)){u=g;return}dX(q);u=g;return}function qN(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+16|0;g=e;h=f[c>>2]|0;f[a>>2]=h;i=a+4|0;f[i>>2]=2;j=a+8|0;k=d+12|0;f[j>>2]=f[k>>2];l=a+12|0;m=d+8|0;f[l>>2]=f[m>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];n=a+24|0;f[n>>2]=f[c+24>>2];o=a+28|0;p=d+4|0;q=c+36|0;r=(X(f[f[q>>2]>>2]|0,f[p>>2]|0)|0)+(f[c+28>>2]|0)|0;f[o>>2]=r;s=a+32|0;f[s>>2]=j;t=a+40|0;v=a+36|0;f[v>>2]=t;f[a+44>>2]=0;f[t>>2]=0;if((f[c+4>>2]|0)<3){w=h;x=r}else{f[g>>2]=0;f[g+4>>2]=0;y=JV(g,11)|0;z=174436;A=y+11|0;do{b[y>>0]=b[z>>0]|0;y=y+1|0;z=z+1|0}while((y|0)<(A|0));EP(-215,g,157434,157171,559);KV(g);w=f[a>>2]|0;x=f[o>>2]|0}r=f[m>>2]|0;h=c+12|0;t=f[h>>2]|0;B=f[k>>2]|0;f[a>>2]=((B|0)==1?16384:0)|((r|0)<(t|0)?-16385:-1)&w;C=(w>>>3&511)+1<<(47696>>>(w<<1&14)&3);w=f[d>>2]|0;d=(X(C,w)|0)+x|0;f[o>>2]=d;if(!((!((w|r|0)<0|(r+w|0)>(t|0))?(t=f[p>>2]|0,(t|B|0)>-1):0)?(B+t|0)<=(f[c+8>>2]|0):0)){f[g>>2]=0;f[g+4>>2]=0;y=JV(g,124)|0;z=159073;A=y+124|0;do{b[y>>0]=b[z>>0]|0;y=y+1|0;z=z+1|0}while((y|0)<(A|0));EP(-215,g,157434,157171,566);KV(g)}g=f[n>>2]|0;if(g|0){z=g+8|0;f[z>>2]=(f[z>>2]|0)+1}if(!((f[m>>2]|0)>=(f[h>>2]|0)?(f[k>>2]|0)>=(f[c+8>>2]|0):0))f[a>>2]=f[a>>2]|32768;a=f[v>>2]|0;f[a>>2]=f[f[q>>2]>>2];f[a+4>>2]=C;if((f[j>>2]|0)>=1?(f[l>>2]|0)>=1:0){u=e;return}C=f[n>>2]|0;if(C|0?(a=C+8|0,C=f[a>>2]|0,f[a>>2]=C+-1,(C|0)==1):0){C=f[n>>2]|0;f[n>>2]=0;a=f[C+4>>2]|0;zg[f[(f[a>>2]|0)+16>>2]&511](a,C)}if((f[i>>2]|0)>0){C=f[s>>2]|0;s=0;do{f[C+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[i>>2]|0))}f[n>>2]=0;f[l>>2]=0;f[j>>2]=0;u=e;return}function rN(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;h=u;u=u+144|0;i=h+8|0;j=h;k=a+20|0;f[k>>2]=g;if(!(c>>>0<33&(d|0)!=0)){f[i>>2]=0;f[i+4>>2]=0;g=JV(i,27)|0;l=158627;m=g+27|0;do{b[g>>0]=b[l>>0]|0;g=g+1|0;l=l+1|0}while((g|0)<(m|0));EP(-215,i,169501,157171,425);KV(i)}l=e&4095;e=a+24|0;g=f[e>>2]|0;m=(g|0)==0;do if(!m){n=f[a+4>>2]|0;if((n|0)!=(c|0)?!((c|0)==1&(n|0)<3):0)break;if((l|0)==(f[a>>2]&4095|0)){if((c|0)==2)if((f[a+8>>2]|0)==(f[d>>2]|0)?(f[a+12>>2]|0)==(f[d+4>>2]|0):0){u=h;return}else o=11;else if((c|0)>0)o=11;else p=0;a:do if((o|0)==11){n=f[a+32>>2]|0;q=0;while(1){if((f[n+(q<<2)>>2]|0)!=(f[d+(q<<2)>>2]|0)){p=q;break a}r=q+1|0;if((r|0)<(c|0))q=r;else{p=r;break}}}while(0);if((p|0)==(c|0)){if((c|0)>1){u=h;return}if((f[(f[a+32>>2]|0)+4>>2]|0)==1){u=h;return}}}}while(0);p=a+32|0;if((f[p>>2]|0)==(d|0)){if((c|0)>0)DVa(i|0,d|0,c<<2|0)|0;s=i}else s=d;if(!m?(m=g+8|0,g=f[m>>2]|0,f[m>>2]=g+-1,(g|0)==1):0){g=f[e>>2]|0;f[e>>2]=0;m=f[g+4>>2]|0;zg[f[(f[m>>2]|0)+16>>2]&511](m,g)}g=a+4|0;if((f[g>>2]|0)>0){m=f[p>>2]|0;d=0;do{f[m+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[g>>2]|0))}f[e>>2]=0;if(c|0){f[a>>2]=l|1124007936;oN(a,c,s,0,1);f[a+28>>2]=0;s=f[g>>2]|0;if((s|0)<3)t=X(f[a+12>>2]|0,f[a+8>>2]|0)|0;else{c=f[p>>2]|0;d=0;m=1;while(1){i=X(f[c+(d<<2)>>2]|0,m)|0;d=d+1|0;if((d|0)==(s|0)){t=i;break}else m=i}}if(t){t=f[a+16>>2]|0;m=QO()|0;if(!t){QO()|0;v=m}else v=t;t=a+36|0;m=lg[f[(f[v>>2]|0)+8>>2]&15](v,f[g>>2]|0,f[p>>2]|0,l,0,f[t>>2]|0,0,f[k>>2]|0)|0;f[e>>2]=m;if(!m){f[j>>2]=0;f[j+4>>2]=0;m=JV(j,6)|0;b[m>>0]=b[158655]|0;b[m+1>>0]=b[158656]|0;b[m+2>>0]=b[158657]|0;b[m+3>>0]=b[158658]|0;b[m+4>>0]=b[158659]|0;b[m+5>>0]=b[158660]|0;EP(-215,j,169501,157171,465);KV(j)}m=f[g>>2]|0;k=f[a>>2]|0;if((f[(f[t>>2]|0)+(m+-1<<2)>>2]|0)==((k>>>3&511)+1<<(47696>>>(k<<1&14)&3)|0))w=m;else{f[j>>2]=0;f[j+4>>2]=0;DVa(JV(j,146)|0,158662,146)|0;EP(-215,j,169501,157171,473);KV(j);w=f[g>>2]|0}}else w=s;s=f[p>>2]|0;b:do if((w|0)>0){p=0;while(1){if((f[s+(p<<2)>>2]|0)>1){x=p;break b}g=p+1|0;if((g|0)<(w|0))p=g;else{x=g;break}}}else x=0;while(0);p=f[a+36>>2]|0;g=w;do{j=g;g=g+-1|0;if((g|0)<=(x|0))break;m=X(f[s+(g<<2)>>2]|0,f[p+(g<<2)>>2]|0)|0}while(m>>>0>=(f[p+(j+-2<<2)>>2]|0)>>>0);j=f[s>>2]|0;s=wVa(j|0,((j|0)<0)<<31>>31|0,f[p>>2]|0,0)|0;p=f[a>>2]|0;f[a>>2]=(g|0)<=(x|0)&((s|0)==(s|0)&(I|0)==0)?p|16384:p&-16385;if((w|0)>2){f[a+12>>2]=-1;f[a+8>>2]=-1}a=f[e>>2]|0;if(a|0){e=a+8|0;f[e>>2]=(f[e>>2]|0)+1}}u=h;return}function sN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;oN(a,f[b+4>>2]|0,0,0,0);c=a+4|0;if((f[c>>2]|0)<=0)return;d=f[b+32>>2]|0;e=f[a+32>>2]|0;g=f[b+36>>2]|0;b=f[a+36>>2]|0;a=0;do{f[e+(a<<2)>>2]=f[d+(a<<2)>>2];f[b+(a<<2)>>2]=f[g+(a<<2)>>2];a=a+1|0}while((a|0)<(f[c>>2]|0));return}function tN(a){a=a|0;var b=0,c=0,d=0,e=0;b=a+24|0;c=f[b>>2]|0;if(c|0?(d=c+8|0,c=f[d>>2]|0,f[d>>2]=c+-1,(c|0)==1):0){c=f[b>>2]|0;f[b>>2]=0;d=f[c+4>>2]|0;zg[f[(f[d>>2]|0)+16>>2]&511](d,c)}c=a+4|0;if((f[c>>2]|0)>0){d=f[a+32>>2]|0;e=0;do{f[d+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(f[c>>2]|0))}f[b>>2]=0;b=f[a+36>>2]|0;if((b|0)==(a+40|0))return;dX(b);return}function uN(a){a=a|0;var b=0;b=a+24|0;a=f[b>>2]|0;f[b>>2]=0;b=f[a+4>>2]|0;zg[f[(f[b>>2]|0)+16>>2]&511](b,a);return}function vN(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;g=u;u=u+1152|0;h=g+48|0;i=g;f[a>>2]=1124007936;j=a+4|0;k=a+8|0;l=a+12|0;m=a+24|0;n=a+28|0;o=a+32|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[j+24>>2]=0;f[o>>2]=k;p=a+40|0;q=a+36|0;f[q>>2]=p;f[a+44>>2]=0;f[p>>2]=0;r=c+4|0;s=f[r>>2]|0;if((s|0)>1)t=s;else{f[h>>2]=0;f[h+4>>2]=0;v=JV(h,11)|0;w=158809;x=v+11|0;do{b[v>>0]=b[w>>0]|0;v=v+1|0;w=w+1|0}while((v|0)<(x|0));EP(-215,h,157434,157171,514);KV(h);t=f[r>>2]|0}if((t|0)>2){s=h+8|0;FVa(s|0,0,1088)|0;f[h>>2]=s;y=h+4|0;f[y>>2]=t;if(t>>>0>136){z=FQa(t>>>0>536870911?-1:t<<3)|0;FVa(z|0,0,t<<3|0)|0;f[h>>2]=z;A=z;B=z}else{A=s;B=s}z=d;t=f[z+4>>2]|0;C=A;f[C>>2]=f[z>>2];f[C+4>>2]=t;t=e;C=f[t+4>>2]|0;z=B+8|0;f[z>>2]=f[t>>2];f[z+4>>2]=C;C=2;z=B;do{B=z+(C<<3)|0;f[B>>2]=-2147483648;f[B+4>>2]=2147483647;C=C+1|0;z=f[h>>2]|0}while((C|0)<(f[r>>2]|0));wN(i,c,z);xN(a,i)|0;z=i+24|0;r=f[z>>2]|0;if(r|0?(C=r+8|0,r=f[C>>2]|0,f[C>>2]=r+-1,(r|0)==1):0){r=f[z>>2]|0;f[z>>2]=0;C=f[r+4>>2]|0;zg[f[(f[C>>2]|0)+16>>2]&511](C,r)}r=i+4|0;if((f[r>>2]|0)>0){C=f[i+32>>2]|0;B=0;do{f[C+(B<<2)>>2]=0;B=B+1|0}while((B|0)<(f[r>>2]|0))}f[z>>2]=0;z=f[i+36>>2]|0;if((z|0)!=(i+40|0))dX(z);z=f[h>>2]|0;if((z|0)!=(s|0)){if(z|0)HQa(z);f[h>>2]=s;f[y>>2]=136}u=g;return}xN(a,c)|0;y=f[d>>2]|0;s=d+4|0;z=f[s>>2]|0;if((y|0)!=-2147483648|(z|0)!=2147483647?(y|0?1:(z|0)!=(f[k>>2]|0)):0){if(!((y|0)<0|(y|0)>(z|0))?(z|0)<=(f[c+8>>2]|0):0){D=y;E=z}else{f[h>>2]=0;f[h+4>>2]=0;v=JV(h,83)|0;w=158821;x=v+83|0;do{b[v>>0]=b[w>>0]|0;v=v+1|0;w=w+1|0}while((v|0)<(x|0));EP(-215,h,157434,157171,529);KV(h);D=f[d>>2]|0;E=f[s>>2]|0}f[k>>2]=E-D;E=X(D,f[p>>2]|0)|0;f[n>>2]=(f[n>>2]|0)+E;f[a>>2]=f[a>>2]|32768}E=f[e>>2]|0;p=e+4|0;D=f[p>>2]|0;if((E|0)!=-2147483648|(D|0)!=2147483647?(E|0?1:(D|0)!=(f[l>>2]|0)):0){if(!((E|0)<0|(E|0)>(D|0))?(D|0)<=(f[c+12>>2]|0):0){F=E;G=D}else{f[h>>2]=0;f[h+4>>2]=0;v=JV(h,83)|0;w=158905;x=v+83|0;do{b[v>>0]=b[w>>0]|0;v=v+1|0;w=w+1|0}while((v|0)<(x|0));EP(-215,h,157434,157171,537);KV(h);F=f[e>>2]|0;G=f[p>>2]|0}p=G-F|0;f[l>>2]=p;G=f[j>>2]|0;if((G|0)>0)H=f[(f[q>>2]|0)+(G+-1<<2)>>2]|0;else H=0;G=X(H,F)|0;f[n>>2]=(f[n>>2]|0)+G;f[a>>2]=((p|0)<(f[c+12>>2]|0)?-49153:-32769)&f[a>>2]|32768}c=f[k>>2]|0;if((c|0)!=1){if((c|0)>=1)I=38}else{f[a>>2]=f[a>>2]|16384;I=38}if((I|0)==38?(f[l>>2]|0)>=1:0){u=g;return}I=f[m>>2]|0;if(I|0?(a=I+8|0,I=f[a>>2]|0,f[a>>2]=I+-1,(I|0)==1):0){I=f[m>>2]|0;f[m>>2]=0;a=f[I+4>>2]|0;zg[f[(f[a>>2]|0)+16>>2]&511](a,I)}if((f[j>>2]|0)>0){I=f[o>>2]|0;o=0;do{f[I+(o<<2)>>2]=0;o=o+1|0}while((o|0)<(f[j>>2]|0))}f[m>>2]=0;f[l>>2]=0;f[k>>2]=0;u=g;return}function wN(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;e=u;u=u+16|0;g=e;f[a>>2]=1124007936;h=a+4|0;i=a+28|0;j=a+32|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;f[j>>2]=a+8;k=a+40|0;l=a+36|0;f[l>>2]=k;f[a+44>>2]=0;f[k>>2]=0;k=f[c+4>>2]|0;if(!d){f[g>>2]=0;f[g+4>>2]=0;m=JV(g,6)|0;b[m>>0]=b[158989]|0;b[m+1>>0]=b[158990]|0;b[m+2>>0]=b[158991]|0;b[m+3>>0]=b[158992]|0;b[m+4>>0]=b[158993]|0;b[m+5>>0]=b[158994]|0;EP(-215,g,157434,157171,587);KV(g)}m=(k|0)>0;if(m){n=c+32|0;o=g+4|0;p=0;do{q=d+(p<<3)|0;r=f[q>>2]|0;s=f[q+4>>2]|0;do if(!((r|0)==-2147483648&(s|0)==2147483647)){if((r|0)>-1&(r|0)<(s|0)?(f[(f[n>>2]|0)+(p<<2)>>2]|0)>=(s|0):0)break;f[g>>2]=0;f[o>>2]=0;q=JV(g,76)|0;t=158996;v=q+76|0;do{b[q>>0]=b[t>>0]|0;q=q+1|0;t=t+1|0}while((q|0)<(v|0));EP(-215,g,157434,157171,591);KV(g)}while(0);p=p+1|0}while((p|0)<(k|0));xN(a,c)|0;if(m){m=0;do{p=d+(m<<3)|0;g=f[p>>2]|0;o=f[p+4>>2]|0;if((g|0)!=-2147483648|(o|0)!=2147483647?(p=(f[j>>2]|0)+(m<<2)|0,g|0?1:(f[p>>2]|0)!=(o|0)):0){f[p>>2]=o-g;o=X(f[(f[l>>2]|0)+(m<<2)>>2]|0,g)|0;f[i>>2]=(f[i>>2]|0)+o;f[a>>2]=f[a>>2]|32768}m=m+1|0}while((m|0)!=(k|0))}}else xN(a,c)|0;c=f[h>>2]|0;h=f[j>>2]|0;a:do if((c|0)>0){j=0;while(1){if((f[h+(j<<2)>>2]|0)>1){w=j;break a}k=j+1|0;if((k|0)<(c|0))j=k;else{w=k;break}}}else w=0;while(0);j=f[l>>2]|0;l=c;while(1){c=l;l=l+-1|0;if((l|0)<=(w|0)){x=22;break}k=X(f[h+(l<<2)>>2]|0,f[j+(l<<2)>>2]|0)|0;if(k>>>0<(f[j+(c+-2<<2)>>2]|0)>>>0){x=22;break}}if((x|0)==22){x=f[h>>2]|0;h=wVa(x|0,((x|0)<0)<<31>>31|0,f[j>>2]|0,0)|0;j=f[a>>2]|0;f[a>>2]=(l|0)<=(w|0)&((h|0)==(h|0)&(I|0)==0)?j|16384:j&-16385;u=e;return}}function xN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;if((a|0)==(b|0))return a|0;c=b+24|0;d=f[c>>2]|0;if(d|0){e=d+8|0;f[e>>2]=(f[e>>2]|0)+1}e=a+24|0;d=f[e>>2]|0;if(d|0?(g=d+8|0,d=f[g>>2]|0,f[g>>2]=d+-1,(d|0)==1):0){d=f[e>>2]|0;f[e>>2]=0;g=f[d+4>>2]|0;zg[f[(f[g>>2]|0)+16>>2]&511](g,d)}d=a+4|0;if((f[d>>2]|0)>0){g=f[a+32>>2]|0;h=0;do{f[g+(h<<2)>>2]=0;h=h+1|0;i=f[d>>2]|0}while((h|0)<(i|0));f[e>>2]=0;f[a>>2]=f[b>>2];if((i|0)<3)j=13;else{k=f[b+4>>2]|0;j=15}}else{f[e>>2]=0;f[a>>2]=f[b>>2];j=13}if((j|0)==13){i=f[b+4>>2]|0;if((i|0)<3){f[d>>2]=i;f[a+8>>2]=f[b+8>>2];f[a+12>>2]=f[b+12>>2];h=f[b+36>>2]|0;g=f[a+36>>2]|0;f[g>>2]=f[h>>2];f[g+4>>2]=f[h+4>>2]}else{k=i;j=15}}if((j|0)==15?(oN(a,k,0,0,0),(f[d>>2]|0)>0):0){k=f[b+32>>2]|0;j=f[a+32>>2]|0;i=f[b+36>>2]|0;h=f[a+36>>2]|0;g=0;do{f[j+(g<<2)>>2]=f[k+(g<<2)>>2];f[h+(g<<2)>>2]=f[i+(g<<2)>>2];g=g+1|0}while((g|0)<(f[d>>2]|0))}f[a+16>>2]=f[b+16>>2];d=a+20|0;if(!(f[d>>2]|0))f[d>>2]=f[b+20>>2];f[e>>2]=f[c>>2];f[a+28>>2]=f[b+28>>2];return a|0}function yN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+64|0;e=d+56|0;g=d;yV(e,32396);h=VJ(c)|0;BN(g,a,h?33554432:50331648);hM(g,b,c)|0;c=g+36|0;b=f[c>>2]|0;if(b|0?(h=b+12|0,b=f[h>>2]|0,f[h>>2]=b+-1,(b|0)==1):0)XO(g);f[c>>2]=0;c=g+16|0;b=g+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[g+40>>2]|0;h=0;do{f[c+(h<<2)>>2]=0;h=h+1|0}while((h|0)<(f[b>>2]|0))}b=f[g+44>>2]|0;if((b|0)!=(g+48|0))dX(b);if(!(f[e+4>>2]|0)){u=d;return a|0}u=d;return a|0}function zN(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;d=u;u=u+464|0;e=d+448|0;g=d+320|0;h=d+192|0;i=d+64|0;j=d+8|0;k=d;yV(e,32356);l=GJ(c,-1)|0;if(uK(c)|0?(m=f[a>>2]|0,(l|0)!=(m&4095|0)):0){if((m^l)&4088|0){f[g>>2]=0;f[g+4>>2]=0;n=JV(g,55)|0;m=157439;o=n+55|0;do{b[n>>0]=b[m>>0]|0;n=n+1|0;m=m+1|0}while((n|0)<(o|0));EP(-215,g,157495,157171,908);KV(g)}AN(a,c,l,1.0,0.0)}else p=6;do if((p|0)==6){l=a+24|0;if(f[l>>2]|0){m=a+4|0;q=f[m>>2]|0;if((q|0)<3)r=X(f[a+12>>2]|0,f[a+8>>2]|0)|0;else{s=f[a+32>>2]|0;t=0;v=1;while(1){w=X(f[s+(t<<2)>>2]|0,v)|0;t=t+1|0;if((t|0)==(q|0)){r=w;break}else v=w}}if(!((q|0)==0|(r|0)==0)){n=g;o=n+128|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));v=(q|0)>0;if(v)x=f[(f[a+36>>2]|0)+(q+-1<<2)>>2]|0;else x=0;t=f[a+32>>2]|0;s=0;do{f[g+(s<<2)>>2]=f[t+(s<<2)>>2];s=s+1|0}while(s>>>0>>0);s=q+-1|0;t=g+(s<<2)|0;w=X(f[t>>2]|0,x)|0;f[t>>2]=w;if(v){w=f[a+36>>2]|0;t=0;y=f[a+28>>2]|0;do{z=f[w+(t<<2)>>2]|0;A=(y>>>0)/(z>>>0)|0;f[h+(t<<2)>>2]=A;y=y-(X(A,z)|0)|0;t=t+1|0}while((t|0)<(q|0))}t=h+(s<<2)|0;y=X(f[t>>2]|0,x)|0;f[t>>2]=y;$J(c,q,f[a+32>>2]|0,f[a>>2]&4095,-1,0,0);if((HJ(c)|0)==655360){IJ(j,c,-1);y=j+24|0;t=f[y>>2]|0;if(!t){f[k>>2]=0;f[k+4>>2]=0;w=JV(k,5)|0;b[w>>0]=b[157502]|0;b[w+1>>0]=b[157503]|0;b[w+2>>0]=b[157504]|0;b[w+3>>0]=b[157505]|0;b[w+4>>0]=b[157506]|0;EP(-215,k,157495,157171,930);KV(k);B=f[y>>2]|0}else B=t;t=f[l>>2]|0;if((t|0)==(B|0)?(f[j+28>>2]|0)==(f[a+28>>2]|0):0){C=B;p=31}else{w=f[t+4>>2]|0;if((w|0)==(f[B+4>>2]|0)){v=f[j+4>>2]|0;if((v|0)>0){z=f[j+36>>2]|0;A=0;D=f[j+28>>2]|0;do{E=f[z+(A<<2)>>2]|0;F=(D>>>0)/(E>>>0)|0;f[i+(A<<2)>>2]=F;D=D-(X(F,E)|0)|0;A=A+1|0}while((A|0)<(v|0));G=z}else G=f[j+36>>2]|0;z=f[m>>2]|0;v=i+(z+-1<<2)|0;A=X(f[v>>2]|0,x)|0;f[v>>2]=A;ti[f[(f[w>>2]|0)+36>>2]&7](w,t,B,z,g,h,f[a+36>>2]|0,i,G,0);C=f[y>>2]|0;p=31}else{H=0;I=B;p=32}}if((p|0)==31)if(!C)J=1;else{H=1;I=C;p=32}if((p|0)==32){z=I+8|0;A=f[z>>2]|0;f[z>>2]=A+-1;if((A|0)==1){A=f[y>>2]|0;f[y>>2]=0;z=f[A+4>>2]|0;zg[f[(f[z>>2]|0)+16>>2]&511](z,A);J=H}else J=H}A=j+4|0;if((f[A>>2]|0)>0){z=f[j+32>>2]|0;v=0;do{f[z+(v<<2)>>2]=0;v=v+1|0}while((v|0)<(f[A>>2]|0))}f[y>>2]=0;A=f[j+36>>2]|0;if((A|0)!=(j+40|0))dX(A);if(!J)p=40}else p=40;if((p|0)==40){do if((HJ(c)|0)==65536){A=f[c+4>>2]|0;f[j>>2]=f[A>>2];v=j+4|0;z=A+4|0;f[v>>2]=f[z>>2];t=j+8|0;f[t>>2]=f[A+8>>2];f[j+12>>2]=f[A+12>>2];w=j+16|0;f[w>>2]=f[A+16>>2];f[j+20>>2]=f[A+20>>2];f[j+24>>2]=f[A+24>>2];f[j+28>>2]=f[A+28>>2];f[j+32>>2]=f[A+32>>2];D=f[A+36>>2]|0;f[j+36>>2]=D;f[j+40>>2]=t;t=j+48|0;q=j+44|0;f[q>>2]=t;f[t>>2]=0;f[j+52>>2]=0;if(D|0){t=D+12|0;f[t>>2]=(f[t>>2]|0)+1}if((f[z>>2]|0)<3){z=f[A+44>>2]|0;t=f[q>>2]|0;f[t>>2]=f[z>>2];f[t+4>>2]=f[z+4>>2];K=w;L=q;break}else{f[v>>2]=0;WO(j,A);K=w;L=q;break}}else{DJ(j,c,-1);K=j+16|0;L=j+44|0}while(0);y=f[l>>2]|0;q=f[y+4>>2]|0;qi[f[(f[q>>2]|0)+28>>2]&255](q,y,f[K>>2]|0,f[m>>2]|0,g,h,f[a+36>>2]|0,f[L>>2]|0);y=j+36|0;q=f[y>>2]|0;if(q|0?(w=q+12|0,q=f[w>>2]|0,f[w>>2]=q+-1,(q|0)==1):0)XO(j);f[y>>2]=0;y=j+4|0;f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0;f[K+12>>2]=0;if((f[y>>2]|0)>0){q=f[j+40>>2]|0;w=0;do{f[q+(w<<2)>>2]=0;w=w+1|0}while((w|0)<(f[y>>2]|0))}y=f[L>>2]|0;if((y|0)!=(j+48|0))dX(y)}break}}YJ(c)}while(0);if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function AN(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=u;u=u+112|0;h=g+104|0;i=g+56|0;j=g;yV(h,32376);k=!(+K(+(d+-1.0))<2.220446049250313e-16);l=!(+K(+e)<2.220446049250313e-16);m=f[a>>2]|0;n=m&4095;if((c|0)<0)if(uK(b)|0)o=GJ(b,-1)|0;else o=n;else o=m&4088|c&7;if(l|k|((o^m)&7|0)!=0){f[i>>2]=f[a>>2];m=i+4|0;k=a+4|0;l=f[k>>2]|0;f[m>>2]=l;c=i+8|0;f[c>>2]=f[a+8>>2];f[i+12>>2]=f[a+12>>2];f[i+16>>2]=f[a+16>>2];f[i+20>>2]=f[a+20>>2];n=i+24|0;p=f[a+24>>2]|0;f[n>>2]=p;f[i+28>>2]=f[a+28>>2];q=i+32|0;f[q>>2]=c;c=i+40|0;r=i+36|0;f[r>>2]=c;f[i+44>>2]=0;f[c>>2]=0;if(!p)s=l;else{l=p+8|0;f[l>>2]=(f[l>>2]|0)+1;s=f[k>>2]|0}if((s|0)>=3){f[m>>2]=0;oN(i,s,0,0,0);if((f[m>>2]|0)>0){s=f[a+32>>2]|0;i=f[q>>2]|0;k=f[a+36>>2]|0;l=f[r>>2]|0;p=0;do{f[i+(p<<2)>>2]=f[s+(p<<2)>>2];f[l+(p<<2)>>2]=f[k+(p<<2)>>2];p=p+1|0}while((p|0)<(f[m>>2]|0))}}else{p=f[a+36>>2]|0;k=f[r>>2]|0;f[k>>2]=f[p>>2];f[k+4>>2]=f[p+4>>2]}BN(j,a,16777216);AO(j,b,o,d,e);o=j+36|0;p=f[o>>2]|0;if(p|0?(k=p+12|0,p=f[k>>2]|0,f[k>>2]=p+-1,(p|0)==1):0)XO(j);f[o>>2]=0;o=j+16|0;p=j+4|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;if((f[p>>2]|0)>0){o=f[j+40>>2]|0;k=0;do{f[o+(k<<2)>>2]=0;k=k+1|0}while((k|0)<(f[p>>2]|0))}p=f[j+44>>2]|0;if((p|0)!=(j+48|0))dX(p);p=f[n>>2]|0;if(p|0?(j=p+8|0,p=f[j>>2]|0,f[j>>2]=p+-1,(p|0)==1):0){p=f[n>>2]|0;f[n>>2]=0;j=f[p+4>>2]|0;zg[f[(f[j>>2]|0)+16>>2]&511](j,p)}if((f[m>>2]|0)>0){p=f[q>>2]|0;q=0;do{f[p+(q<<2)>>2]=0;q=q+1|0}while((q|0)<(f[m>>2]|0))}f[n>>2]=0;n=f[r>>2]|0;if((n|0)!=(c|0))dX(n)}else zN(a,b);if(!(f[h+4>>2]|0)){u=g;return}u=g;return}function BN(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e+8|0;h=e;i=c+24|0;j=f[i>>2]|0;if(!j){f[a>>2]=1124007936;k=a+8|0;l=a+40|0;m=a+4|0;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[l>>2]=k;k=a+48|0;f[a+44>>2]=k;f[k>>2]=0;f[a+52>>2]=0;u=e;return}f[g>>2]=j;j=g+4|0;f[j>>2]=0;iN(hN()|0,g);k=(f[i>>2]|0)+12|0;l=f[k>>2]|0;f[k>>2]=l+1;if(!l){l=f[i>>2]|0;k=f[l+4>>2]|0;Rg[f[(f[k>>2]|0)+20>>2]&255](k,l,d|50331648)}d=f[i>>2]|0;l=f[d+16>>2]|0;if(!l){k=d+12|0;f[k>>2]=(f[k>>2]|0)+-1;if(!(f[(f[i>>2]|0)+16>>2]|0)){f[h>>2]=0;f[h+4>>2]=0;m=JV(h,55)|0;k=157508;n=m+55|0;do{b[m>>0]=b[k>>0]|0;m=m+1|0;k=k+1|0}while((m|0)<(n|0));EP(-215,h,157564,157171,866);KV(h)}f[a>>2]=1124007936;h=a+8|0;k=a+40|0;m=a+4|0;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[k>>2]=h;h=a+48|0;f[a+44>>2]=h;f[h>>2]=0;f[a+52>>2]=0}else{h=c+28|0;aP(a,f[c+4>>2]|0,f[c+32>>2]|0,f[c>>2]&4095,l+(f[h>>2]|0)|0,f[c+36>>2]|0);f[a>>2]=f[c>>2];c=f[i>>2]|0;f[a+36>>2]=c;i=c;c=f[i+16>>2]|0;f[a+20>>2]=c;l=c;f[a+16>>2]=l+(f[h>>2]|0);h=l+(f[i+24>>2]|0)|0;f[a+24>>2]=h;f[a+28>>2]=h}h=hN()|0;nN(h,f[g>>2]|0,f[j>>2]|0);u=e;return}function CN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=a+4|0;if((f[c>>2]|0)<=0)return;d=f[a+36>>2]|0;e=0;g=f[a+28>>2]|0;do{a=f[d+(e<<2)>>2]|0;h=(g>>>0)/(a>>>0)|0;f[b+(e<<2)>>2]=h;g=g-(X(h,a)|0)|0;e=e+1|0}while((e|0)<(f[c>>2]|0));return}function DN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[a+24>>2]=0;f[a+28>>2]=0;EN(a,b,c,0,d);return}function EN(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0;h=u;u=u+64|0;i=h;if(!((c|0)!=0?(d|0)!=0|(e|0)!=0:0)){f[i>>2]=0;f[i+4>>2]=0;j=JV(i,29)|0;k=157743;l=j+29|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-215,i,233771,157773,30);KV(i)}f[a>>2]=c;m=a+8|0;f[m>>2]=e;e=a+4|0;f[e>>2]=d;d=a+12|0;f[d>>2]=g;n=a+16|0;f[n>>2]=0;o=a+20|0;f[o>>2]=0;if((g|0)<0){p=0;while(1)if(!(f[c+(p<<2)>>2]|0))break;else p=p+1|0;f[d>>2]=p;if((p|0)<1001)q=p;else{f[i>>2]=0;f[i+4>>2]=0;j=JV(i,15)|0;k=157837;l=j+15|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-215,i,233771,157773,45);KV(i);q=f[d>>2]|0}}else q=g;g=a+24|0;f[g>>2]=0;if((q|0)>0){p=i+4|0;c=i+4|0;r=i+4|0;s=-1;t=-1;v=0;w=0;while(1){x=f[(f[a>>2]|0)+(w<<2)>>2]|0;if(!x){f[i>>2]=0;f[p>>2]=0;j=JV(i,14)|0;k=157853;l=j+14|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-215,i,233771,157773,52);KV(i);y=f[(f[a>>2]|0)+(w<<2)>>2]|0}else y=x;z=f[m>>2]|0;if(!z)A=y+16|0;else{B=y+16|0;f[z+(w<<2)>>2]=f[B>>2];A=B}if(f[A>>2]|0){a:do if((t|0)<0){B=f[y+4>>2]|0;if((B|0)>0){z=f[y+40>>2]|0;C=0;while(1){if((f[z+(C<<2)>>2]|0)>1){D=B;E=w;F=C;break a}G=C+1|0;if((G|0)<(B|0))C=G;else{D=B;E=w;F=G;break}}}else{D=B;E=w;F=0}}else{C=f[y+40>>2]|0;z=f[C+-4>>2]|0;G=f[(f[(f[a>>2]|0)+(t<<2)>>2]|0)+40>>2]|0;b:do if((z|0)==(f[G+-4>>2]|0)){if((z|0)==2){if((f[C>>2]|0)!=(f[G>>2]|0))break;if((f[C+4>>2]|0)==(f[G+4>>2]|0)){D=s;E=t;F=v;break a}else break}if((z|0)>0)H=0;else{D=s;E=t;F=v;break a}while(1){if((f[C+(H<<2)>>2]|0)!=(f[G+(H<<2)>>2]|0))break b;H=H+1|0;if((H|0)>=(z|0)){D=s;E=t;F=v;break a}}}while(0);f[i>>2]=0;f[r>>2]=0;j=JV(i,26)|0;k=157868;l=j+26|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-215,i,233771,157773,72);KV(i);D=s;E=t;F=v}while(0);if(!(f[y>>2]&16384)){x=D+-1|0;z=y+44|0;G=f[z>>2]|0;C=f[y+4>>2]|0;if((C|0)>0)J=f[G+(C+-1<<2)>>2]|0;else J=0;if((f[G+(x<<2)>>2]|0)!=(J|0)){f[i>>2]=0;f[c>>2]=0;j=JV(i,27)|0;k=157895;l=j+27|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-215,i,233771,157773,76);KV(i)}G=y+40|0;C=x;while(1){if((C|0)<=(F|0))break;B=f[z>>2]|0;K=X(f[(f[G>>2]|0)+(C<<2)>>2]|0,f[B+(C<<2)>>2]|0)|0;L=C+-1|0;if(K>>>0<(f[B+(L<<2)>>2]|0)>>>0)break;else C=L}G=f[g>>2]|0;f[g>>2]=(G|0)<(C|0)?C:G;M=D;N=E;O=F}else{M=D;N=E;O=F}}else{M=s;N=t;O=v}w=w+1|0;P=f[d>>2]|0;if((w|0)>=(P|0))break;else{s=M;t=N;v=O}}if((N|0)>-1){v=M+-1|0;M=f[(f[(f[a>>2]|0)+(N<<2)>>2]|0)+40>>2]|0;N=f[g>>2]|0;t=f[M+(v<<2)>>2]|0;s=v;while(1){f[o>>2]=t;if((s|0)<=(N|0))break;v=s+-1|0;w=f[M+(v<<2)>>2]|0;t=wVa(w|0,((w|0)<0)<<31>>31|0,t|0,0)|0;if(!((t|0)==(t|0)&(I|0)==(((t|0)<0)<<31>>31|0)))break;else s=v}t=(s|0)==(O|0)?0:s;f[g>>2]=t;f[n>>2]=1;if((t|0)>0){s=1;O=t;do{t=O;O=O+-1|0;s=X(s,f[M+(O<<2)>>2]|0)|0;f[n>>2]=s}while((t|0)>1);Q=P}else Q=P}else{R=P;S=45}}else{R=q;S=45}if((S|0)==45){f[g>>2]=0;Q=R}f[a+28>>2]=0;if(!((f[e>>2]|0)!=0&(Q|0)>0)){u=h;return}Q=i+4|0;R=i+4|0;g=i+8|0;q=i+40|0;P=i+48|0;s=i+44|0;n=i+52|0;O=i+36|0;M=i+16|0;t=i+12|0;N=i+20|0;v=i+24|0;w=i+28|0;F=i+32|0;E=i+4|0;D=i+8|0;y=i+12|0;c=i+16|0;J=i+20|0;r=i+24|0;H=i+28|0;A=i+40|0;m=i+48|0;p=i+44|0;G=i+36|0;z=i+32|0;x=r+8|0;L=i+52|0;B=0;do{K=f[(f[a>>2]|0)+(B<<2)>>2]|0;if(!K){f[i>>2]=0;f[Q>>2]=0;j=JV(i,14)|0;k=157853;l=j+14|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-215,i,233771,157773,113);KV(i);T=f[(f[a>>2]|0)+(B<<2)>>2]|0}else T=K;C=f[T+16>>2]|0;if(!C){f[i>>2]=1124007936;j=R;l=j+36|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(l|0));f[q>>2]=g;f[s>>2]=P;f[P>>2]=0;f[n>>2]=0;K=f[e>>2]|0;U=K+(B*56|0)|0;if((U|0)!=(i|0)){V=K+(B*56|0)+36|0;W=f[V>>2]|0;if(W|0?(Y=W+12|0,W=f[Y>>2]|0,f[Y>>2]=W+-1,(W|0)==1):0)XO(U);f[V>>2]=0;W=K+(B*56|0)+16|0;Y=K+(B*56|0)+4|0;f[W>>2]=0;f[W+4>>2]=0;f[W+8>>2]=0;f[W+12>>2]=0;if((f[Y>>2]|0)>0){Z=f[K+(B*56|0)+40>>2]|0;_=0;do{f[Z+(_<<2)>>2]=0;_=_+1|0;$=f[Y>>2]|0}while((_|0)<($|0));f[U>>2]=f[i>>2];if(($|0)<3)S=60;else S=62}else{f[U>>2]=f[i>>2];S=60}if((S|0)==60){S=0;_=f[R>>2]|0;if((_|0)<3){f[Y>>2]=_;f[K+(B*56|0)+8>>2]=f[g>>2];f[K+(B*56|0)+12>>2]=f[t>>2];_=f[s>>2]|0;Z=f[K+(B*56|0)+44>>2]|0;f[Z>>2]=f[_>>2];f[Z+4>>2]=f[_+4>>2]}else S=62}if((S|0)==62){S=0;WO(U,i)}f[W>>2]=f[M>>2];f[K+(B*56|0)+20>>2]=f[N>>2];f[K+(B*56|0)+24>>2]=f[v>>2];f[K+(B*56|0)+28>>2]=f[w>>2];f[K+(B*56|0)+32>>2]=f[F>>2];f[V>>2]=f[O>>2];_=f[O>>2]|0;if(_|0?(Z=_+12|0,_=f[Z>>2]|0,f[Z>>2]=_+-1,(_|0)==1):0)XO(i)}f[O>>2]=0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;if((f[R>>2]|0)>0){_=f[q>>2]|0;Z=0;do{f[_+(Z<<2)>>2]=0;Z=Z+1|0}while((Z|0)<(f[R>>2]|0))}Z=f[s>>2]|0;if((Z|0)!=(P|0))dX(Z)}else{Z=f[o>>2]|0;_=f[T>>2]|0;f[E>>2]=2;f[D>>2]=1;f[y>>2]=Z;f[c>>2]=C;f[J>>2]=C;V=x;f[V>>2]=0;f[V+4>>2]=0;f[A>>2]=D;f[p>>2]=m;V=f[e>>2]|0;K=(_>>>3&511)+1<<(47696>>>(_<<1&14)&3);W=X(Z,K)|0;f[i>>2]=_&4095|1124024320;f[m>>2]=W;f[L>>2]=K;K=C+(X(f[D>>2]|0,W)|0)|0;f[H>>2]=K;f[r>>2]=K+(0-W)+W;W=V+(B*56|0)|0;if((W|0)!=(i|0)){K=V+(B*56|0)+36|0;_=f[K>>2]|0;if(_|0?(Z=_+12|0,_=f[Z>>2]|0,f[Z>>2]=_+-1,(_|0)==1):0)XO(W);f[K>>2]=0;_=V+(B*56|0)+16|0;Z=V+(B*56|0)+4|0;f[_>>2]=0;f[_+4>>2]=0;f[_+8>>2]=0;f[_+12>>2]=0;if((f[Z>>2]|0)>0){U=f[V+(B*56|0)+40>>2]|0;Y=0;do{f[U+(Y<<2)>>2]=0;Y=Y+1|0;aa=f[Z>>2]|0}while((Y|0)<(aa|0));f[W>>2]=f[i>>2];if((aa|0)<3)S=81;else S=83}else{f[W>>2]=f[i>>2];S=81}if((S|0)==81){S=0;Y=f[E>>2]|0;if((Y|0)<3){f[Z>>2]=Y;f[V+(B*56|0)+8>>2]=f[D>>2];f[V+(B*56|0)+12>>2]=f[y>>2];Y=f[p>>2]|0;U=f[V+(B*56|0)+44>>2]|0;f[U>>2]=f[Y>>2];f[U+4>>2]=f[Y+4>>2]}else S=83}if((S|0)==83){S=0;WO(W,i)}f[_>>2]=f[c>>2];f[V+(B*56|0)+20>>2]=f[J>>2];f[V+(B*56|0)+24>>2]=f[r>>2];f[V+(B*56|0)+28>>2]=f[H>>2];f[V+(B*56|0)+32>>2]=f[z>>2];f[K>>2]=f[G>>2];Y=f[G>>2]|0;if(Y|0?(U=Y+12|0,Y=f[U>>2]|0,f[U>>2]=Y+-1,(Y|0)==1):0)XO(i)}f[G>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[E>>2]|0)>0){Y=f[A>>2]|0;U=0;do{f[Y+(U<<2)>>2]=0;U=U+1|0}while((U|0)<(f[E>>2]|0))}U=f[p>>2]|0;if((U|0)!=(m|0))dX(U)}B=B+1|0}while((B|0)<(f[d>>2]|0));u=h;return}function FN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[a+24>>2]=0;f[a+28>>2]=0;EN(a,b,0,c,d);return}function GN(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;b=a+28|0;c=f[b>>2]|0;if(c>>>0>=((f[a+16>>2]|0)+-1|0)>>>0)return a|0;d=c+1|0;f[b>>2]=d;b=f[a+24>>2]|0;if((b|0)!=1){c=f[a+12>>2]|0;if((c|0)<=0)return a|0;e=a+8|0;g=a+4|0;h=(d|0)>0&(b|0)>0;i=0;do{j=f[(f[a>>2]|0)+(i<<2)>>2]|0;k=f[j+16>>2]|0;if(k|0){if(h){l=f[j+40>>2]|0;m=f[j+44>>2]|0;j=b;n=k;o=d;while(1){p=j;j=j+-1|0;q=f[l+(j<<2)>>2]|0;r=o;o=(o|0)/(q|0)|0;s=r-(X(o,q)|0)|0;q=n+(X(s,f[m+(j<<2)>>2]|0)|0)|0;if(!((o|0)>0&(p|0)>1)){t=q;break}else n=q}}else t=k;n=f[e>>2]|0;if(n|0)f[n+(i<<2)>>2]=t;n=f[g>>2]|0;if(n|0)f[n+(i*56|0)+16>>2]=t}i=i+1|0}while((i|0)<(c|0));return a|0}c=a+8|0;i=f[c>>2]|0;a:do if(i|0?(t=f[a+12>>2]|0,(t|0)>0):0){g=0;e=i;while(1){b=e+(g<<2)|0;if(f[b>>2]|0){h=f[(f[a>>2]|0)+(g<<2)>>2]|0;n=(f[h+16>>2]|0)+(X(d,f[f[h+44>>2]>>2]|0)|0)|0;f[b>>2]=n}n=g+1|0;if((n|0)>=(t|0))break a;g=n;e=f[c>>2]|0}}while(0);c=f[a+4>>2]|0;if(!c)return a|0;i=f[a+12>>2]|0;if((i|0)<=0)return a|0;e=0;do{g=c+(e*56|0)+16|0;if(f[g>>2]|0){t=f[(f[a>>2]|0)+(e<<2)>>2]|0;k=(f[t+16>>2]|0)+(X(d,f[f[t+44>>2]>>2]|0)|0)|0;f[g>>2]=k}e=e+1|0}while((e|0)<(i|0));return a|0}function HN(a,b){a=a|0;b=b|0;return f[32416+((b&7)<<5)+((a&7)<<2)>>2]|0}function IN(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;i=f[h>>2]|0;d=f[h+4>>2]|0;if(!d)return;else{j=a;k=e;l=d}while(1){l=l+-1|0;DVa(k|0,j|0,i|0)|0;if(!l)break;else{j=j+b|0;k=k+g|0}}return}function JN(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;j=f[i>>2]|0;e=f[i+4>>2]|0;if(!e)return;i=j+-4|0;if((j|0)<4){d=(j|0)>0;k=g;l=a;m=e;while(1){m=m+-1|0;if(d){n=0;do{o=b[l+n>>0]|0;b[k+n>>0]=(o|0)>0?o:0;n=n+1|0}while((n|0)!=(j|0))}if(!m)break;else{k=k+h|0;l=l+c|0}}return}l=j&-4;k=(l|0)<(j|0);m=g;g=a;a=e;while(1){e=0;do{d=b[g+e>>0]|0;n=e|1;o=b[g+n>>0]|0;b[m+e>>0]=(d|0)>0?d:0;b[m+n>>0]=(o|0)>0?o:0;o=e|2;n=b[g+o>>0]|0;d=e|3;p=b[g+d>>0]|0;b[m+o>>0]=(n|0)>0?n:0;b[m+d>>0]=(p|0)>0?p:0;e=e+4|0}while((e|0)<=(i|0));a=a+-1|0;if(k){e=l;do{p=b[g+e>>0]|0;b[m+e>>0]=(p|0)>0?p:0;e=e+1|0}while((e|0)!=(j|0))}if(!a)break;else{m=m+h|0;g=g+c|0}}return}function KN(a,c,d,e,g,h,i,k){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0;k=f[i>>2]|0;e=f[i+4>>2]|0;i=c>>>1;if(!e)return;c=k+-4|0;if((k|0)<4){d=(k|0)>0;l=g;m=a;n=e;while(1){n=n+-1|0;if(d){o=0;do{p=j[m+(o<<1)>>1]|0;b[l+o>>0]=p>>>0<255?p:255;o=o+1|0}while((o|0)!=(k|0))}if(!n)break;else{l=l+h|0;m=m+(i<<1)|0}}return}m=k&-4;l=(m|0)<(k|0);n=g;g=a;a=e;while(1){e=0;do{d=j[g+(e<<1)>>1]|0;o=e|1;p=j[g+(o<<1)>>1]|0;b[n+e>>0]=d>>>0<255?d:255;b[n+o>>0]=p>>>0<255?p:255;p=e|2;o=j[g+(p<<1)>>1]|0;d=e|3;q=j[g+(d<<1)>>1]|0;b[n+p>>0]=o>>>0<255?o:255;b[n+d>>0]=q>>>0<255?q:255;e=e+4|0}while((e|0)<=(c|0));a=a+-1|0;if(l){e=m;do{q=j[g+(e<<1)>>1]|0;b[n+e>>0]=q>>>0<255?q:255;e=e+1|0}while((e|0)!=(k|0))}if(!a)break;else{n=n+h|0;g=g+(i<<1)|0}}return}function LN(a,c,e,g,h,i,j,k){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0;k=f[j>>2]|0;g=f[j+4>>2]|0;j=c>>>1;if(!g)return;c=k+-4|0;if((k|0)<4){e=(k|0)>0;l=h;m=a;n=g;while(1){n=n+-1|0;if(e){o=0;do{p=d[m+(o<<1)>>1]|0;b[l+o>>0]=(p&65535)<256?p&65535:p<<16>>16>0?255:0;o=o+1|0}while((o|0)!=(k|0))}if(!n)break;else{l=l+i|0;m=m+(j<<1)|0}}return}m=k&-4;l=(m|0)<(k|0);n=h;h=a;a=g;while(1){g=0;do{e=d[h+(g<<1)>>1]|0;o=g|1;p=d[h+(o<<1)>>1]|0;b[n+g>>0]=(e&65535)<256?e&65535:e<<16>>16>0?255:0;b[n+o>>0]=(p&65535)<256?p&65535:p<<16>>16>0?255:0;p=g|2;o=d[h+(p<<1)>>1]|0;e=g|3;q=d[h+(e<<1)>>1]|0;b[n+p>>0]=(o&65535)<256?o&65535:o<<16>>16>0?255:0;b[n+e>>0]=(q&65535)<256?q&65535:q<<16>>16>0?255:0;g=g+4|0}while((g|0)<=(c|0));a=a+-1|0;if(l){g=m;do{q=d[h+(g<<1)>>1]|0;b[n+g>>0]=(q&65535)<256?q&65535:q<<16>>16>0?255:0;g=g+1|0}while((g|0)!=(k|0))}if(!a)break;else{n=n+i|0;h=h+(j<<1)|0}}return}function MN(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;j=f[i>>2]|0;e=f[i+4>>2]|0;i=c>>>2;if(!e)return;c=j+-4|0;if((j|0)<4){d=(j|0)>0;k=g;l=a;m=e;while(1){m=m+-1|0;if(d){n=0;do{o=f[l+(n<<2)>>2]|0;b[k+n>>0]=o>>>0<256?o:(o|0)>0?255:0;n=n+1|0}while((n|0)!=(j|0))}if(!m)break;else{k=k+h|0;l=l+(i<<2)|0}}return}l=j&-4;k=(l|0)<(j|0);m=g;g=a;a=e;while(1){e=0;do{d=f[g+(e<<2)>>2]|0;n=e|1;o=f[g+(n<<2)>>2]|0;b[m+e>>0]=d>>>0<256?d:(d|0)>0?255:0;b[m+n>>0]=o>>>0<256?o:(o|0)>0?255:0;o=e|2;n=f[g+(o<<2)>>2]|0;d=e|3;p=f[g+(d<<2)>>2]|0;b[m+o>>0]=n>>>0<256?n:(n|0)>0?255:0;b[m+d>>0]=p>>>0<256?p:(p|0)>0?255:0;e=e+4|0}while((e|0)<=(c|0));a=a+-1|0;if(k){e=l;do{p=f[g+(e<<2)>>2]|0;b[m+e>>0]=p>>>0<256?p:(p|0)>0?255:0;e=e+1|0}while((e|0)!=(j|0))}if(!a)break;else{m=m+h|0;g=g+(i<<2)|0}}return}function NN(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,o=0,p=0,q=0;j=f[i>>2]|0;e=f[i+4>>2]|0;i=c>>>2;if(!e)return;c=j+-4|0;if((j|0)<4){d=(j|0)>0;k=g;l=a;m=e;while(1){m=m+-1|0;if(d){o=0;do{p=HEa(+n[l+(o<<2)>>2])|0;b[k+o>>0]=p>>>0<256?p:(p|0)>0?255:0;o=o+1|0}while((o|0)!=(j|0))}if(!m)break;else{k=k+h|0;l=l+(i<<2)|0}}return}l=j&-4;k=(l|0)<(j|0);m=g;g=a;a=e;while(1){e=0;do{d=HEa(+n[g+(e<<2)>>2])|0;o=e|1;p=HEa(+n[g+(o<<2)>>2])|0;b[m+e>>0]=d>>>0<256?d:(d|0)>0?255:0;b[m+o>>0]=p>>>0<256?p:(p|0)>0?255:0;p=e|2;o=HEa(+n[g+(p<<2)>>2])|0;d=e|3;q=HEa(+n[g+(d<<2)>>2])|0;b[m+p>>0]=o>>>0<256?o:(o|0)>0?255:0;b[m+d>>0]=q>>>0<256?q:(q|0)>0?255:0;e=e+4|0}while((e|0)<=(c|0));a=a+-1|0;if(k){e=l;do{q=HEa(+n[g+(e<<2)>>2])|0;b[m+e>>0]=q>>>0<256?q:(q|0)>0?255:0;e=e+1|0}while((e|0)!=(j|0))}if(!a)break;else{m=m+h|0;g=g+(i<<2)|0}}return}function ON(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,q=0;j=f[i>>2]|0;e=f[i+4>>2]|0;i=c>>>3;if(!e)return;c=j+-4|0;if((j|0)<4){d=(j|0)>0;k=g;l=a;m=e;while(1){m=m+-1|0;if(d){n=0;do{o=AEa(+p[l+(n<<3)>>3])|0;b[k+n>>0]=o>>>0<256?o:(o|0)>0?255:0;n=n+1|0}while((n|0)!=(j|0))}if(!m)break;else{k=k+h|0;l=l+(i<<3)|0}}return}l=j&-4;k=(l|0)<(j|0);m=g;g=a;a=e;while(1){e=0;do{d=AEa(+p[g+(e<<3)>>3])|0;n=e|1;o=AEa(+p[g+(n<<3)>>3])|0;b[m+e>>0]=d>>>0<256?d:(d|0)>0?255:0;b[m+n>>0]=o>>>0<256?o:(o|0)>0?255:0;o=e|2;n=AEa(+p[g+(o<<3)>>3])|0;d=e|3;q=AEa(+p[g+(d<<3)>>3])|0;b[m+o>>0]=n>>>0<256?n:(n|0)>0?255:0;b[m+d>>0]=q>>>0<256?q:(q|0)>0?255:0;e=e+4|0}while((e|0)<=(c|0));a=a+-1|0;if(k){e=l;do{q=AEa(+p[g+(e<<3)>>3])|0;b[m+e>>0]=q>>>0<256?q:(q|0)>0?255:0;e=e+1|0}while((e|0)!=(j|0))}if(!a)break;else{m=m+h|0;g=g+(i<<3)|0}}return}function PN(a,c,d,e,g,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0;k=f[j>>2]|0;e=f[j+4>>2]|0;if(!e)return;j=k+-4|0;if((k|0)<4){d=(k|0)>0;l=g;m=a;n=e;while(1){n=n+-1|0;if(d){o=0;do{p=h[m+o>>0]|0;b[l+o>>0]=p>>>0<127?p:127;o=o+1|0}while((o|0)!=(k|0))}if(!n)break;else{l=l+i|0;m=m+c|0}}return}m=k&-4;l=(m|0)<(k|0);n=g;g=a;a=e;while(1){e=0;do{d=h[g+e>>0]|0;o=e|1;p=h[g+o>>0]|0;b[n+e>>0]=d>>>0<127?d:127;b[n+o>>0]=p>>>0<127?p:127;p=e|2;o=h[g+p>>0]|0;d=e|3;q=h[g+d>>0]|0;b[n+p>>0]=o>>>0<127?o:127;b[n+d>>0]=q>>>0<127?q:127;e=e+4|0}while((e|0)<=(j|0));a=a+-1|0;if(l){e=m;do{q=h[g+e>>0]|0;b[n+e>>0]=q>>>0<127?q:127;e=e+1|0}while((e|0)!=(k|0))}if(!a)break;else{n=n+i|0;g=g+c|0}}return}function QN(a,c,d,e,g,h,i,k){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0;k=f[i>>2]|0;e=f[i+4>>2]|0;i=c>>>1;if(!e)return;c=k+-4|0;if((k|0)<4){d=(k|0)>0;l=g;m=a;n=e;while(1){n=n+-1|0;if(d){o=0;do{p=j[m+(o<<1)>>1]|0;b[l+o>>0]=p>>>0<127?p:127;o=o+1|0}while((o|0)!=(k|0))}if(!n)break;else{l=l+h|0;m=m+(i<<1)|0}}return}m=k&-4;l=(m|0)<(k|0);n=g;g=a;a=e;while(1){e=0;do{d=j[g+(e<<1)>>1]|0;o=e|1;p=j[g+(o<<1)>>1]|0;b[n+e>>0]=d>>>0<127?d:127;b[n+o>>0]=p>>>0<127?p:127;p=e|2;o=j[g+(p<<1)>>1]|0;d=e|3;q=j[g+(d<<1)>>1]|0;b[n+p>>0]=o>>>0<127?o:127;b[n+d>>0]=q>>>0<127?q:127;e=e+4|0}while((e|0)<=(c|0));a=a+-1|0;if(l){e=m;do{q=j[g+(e<<1)>>1]|0;b[n+e>>0]=q>>>0<127?q:127;e=e+1|0}while((e|0)!=(k|0))}if(!a)break;else{n=n+h|0;g=g+(i<<1)|0}}return}function RN(a,c,e,g,h,i,j,k){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=f[j>>2]|0;g=f[j+4>>2]|0;j=c>>>1;if(!g)return;c=k+-4|0;if((k|0)<4){e=(k|0)>0;l=h;m=a;n=g;while(1){n=n+-1|0;if(e){o=0;do{p=d[m+(o<<1)>>1]|0;q=p<<16>>16;b[l+o>>0]=(q+128|0)>>>0<256?q:p<<16>>16>0?127:128;o=o+1|0}while((o|0)!=(k|0))}if(!n)break;else{l=l+i|0;m=m+(j<<1)|0}}return}m=k&-4;l=(m|0)<(k|0);n=h;h=a;a=g;while(1){g=0;do{e=d[h+(g<<1)>>1]|0;o=e<<16>>16;p=g|1;q=d[h+(p<<1)>>1]|0;r=q<<16>>16;b[n+g>>0]=(o+128|0)>>>0<256?o:e<<16>>16>0?127:128;b[n+p>>0]=(r+128|0)>>>0<256?r:q<<16>>16>0?127:128;q=g|2;r=d[h+(q<<1)>>1]|0;p=r<<16>>16;e=g|3;o=d[h+(e<<1)>>1]|0;s=o<<16>>16;b[n+q>>0]=(p+128|0)>>>0<256?p:r<<16>>16>0?127:128;b[n+e>>0]=(s+128|0)>>>0<256?s:o<<16>>16>0?127:128;g=g+4|0}while((g|0)<=(c|0));a=a+-1|0;if(l){g=m;do{o=d[h+(g<<1)>>1]|0;s=o<<16>>16;b[n+g>>0]=(s+128|0)>>>0<256?s:o<<16>>16>0?127:128;g=g+1|0}while((g|0)!=(k|0))}if(!a)break;else{n=n+i|0;h=h+(j<<1)|0}}return}function SN(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;j=f[i>>2]|0;e=f[i+4>>2]|0;i=c>>>2;if(!e)return;c=j+-4|0;if((j|0)<4){d=(j|0)>0;k=g;l=a;m=e;while(1){m=m+-1|0;if(d){n=0;do{o=f[l+(n<<2)>>2]|0;b[k+n>>0]=(o+128|0)>>>0<256?o:(o|0)>0?127:128;n=n+1|0}while((n|0)!=(j|0))}if(!m)break;else{k=k+h|0;l=l+(i<<2)|0}}return}l=j&-4;k=(l|0)<(j|0);m=g;g=a;a=e;while(1){e=0;do{d=f[g+(e<<2)>>2]|0;n=e|1;o=f[g+(n<<2)>>2]|0;b[m+e>>0]=(d+128|0)>>>0<256?d:(d|0)>0?127:128;b[m+n>>0]=(o+128|0)>>>0<256?o:(o|0)>0?127:128;o=e|2;n=f[g+(o<<2)>>2]|0;d=e|3;p=f[g+(d<<2)>>2]|0;b[m+o>>0]=(n+128|0)>>>0<256?n:(n|0)>0?127:128;b[m+d>>0]=(p+128|0)>>>0<256?p:(p|0)>0?127:128;e=e+4|0}while((e|0)<=(c|0));a=a+-1|0;if(k){e=l;do{p=f[g+(e<<2)>>2]|0;b[m+e>>0]=(p+128|0)>>>0<256?p:(p|0)>0?127:128;e=e+1|0}while((e|0)!=(j|0))}if(!a)break;else{m=m+h|0;g=g+(i<<2)|0}}return}function TN(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,o=0,p=0,q=0;j=f[i>>2]|0;e=f[i+4>>2]|0;i=c>>>2;if(!e)return;c=j+-4|0;if((j|0)<4){d=(j|0)>0;k=g;l=a;m=e;while(1){m=m+-1|0;if(d){o=0;do{p=HEa(+n[l+(o<<2)>>2])|0;b[k+o>>0]=(p+128|0)>>>0<256?p:(p|0)>0?127:128;o=o+1|0}while((o|0)!=(j|0))}if(!m)break;else{k=k+h|0;l=l+(i<<2)|0}}return}l=j&-4;k=(l|0)<(j|0);m=g;g=a;a=e;while(1){e=0;do{d=HEa(+n[g+(e<<2)>>2])|0;o=e|1;p=HEa(+n[g+(o<<2)>>2])|0;b[m+e>>0]=(d+128|0)>>>0<256?d:(d|0)>0?127:128;b[m+o>>0]=(p+128|0)>>>0<256?p:(p|0)>0?127:128;p=e|2;o=HEa(+n[g+(p<<2)>>2])|0;d=e|3;q=HEa(+n[g+(d<<2)>>2])|0;b[m+p>>0]=(o+128|0)>>>0<256?o:(o|0)>0?127:128;b[m+d>>0]=(q+128|0)>>>0<256?q:(q|0)>0?127:128;e=e+4|0}while((e|0)<=(c|0));a=a+-1|0;if(k){e=l;do{q=HEa(+n[g+(e<<2)>>2])|0;b[m+e>>0]=(q+128|0)>>>0<256?q:(q|0)>0?127:128;e=e+1|0}while((e|0)!=(j|0))}if(!a)break;else{m=m+h|0;g=g+(i<<2)|0}}return}function UN(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,q=0;j=f[i>>2]|0;e=f[i+4>>2]|0;i=c>>>3;if(!e)return;c=j+-4|0;if((j|0)<4){d=(j|0)>0;k=g;l=a;m=e;while(1){m=m+-1|0;if(d){n=0;do{o=AEa(+p[l+(n<<3)>>3])|0;b[k+n>>0]=(o+128|0)>>>0<256?o:(o|0)>0?127:128;n=n+1|0}while((n|0)!=(j|0))}if(!m)break;else{k=k+h|0;l=l+(i<<3)|0}}return}l=j&-4;k=(l|0)<(j|0);m=g;g=a;a=e;while(1){e=0;do{d=AEa(+p[g+(e<<3)>>3])|0;n=e|1;o=AEa(+p[g+(n<<3)>>3])|0;b[m+e>>0]=(d+128|0)>>>0<256?d:(d|0)>0?127:128;b[m+n>>0]=(o+128|0)>>>0<256?o:(o|0)>0?127:128;o=e|2;n=AEa(+p[g+(o<<3)>>3])|0;d=e|3;q=AEa(+p[g+(d<<3)>>3])|0;b[m+o>>0]=(n+128|0)>>>0<256?n:(n|0)>0?127:128;b[m+d>>0]=(q+128|0)>>>0<256?q:(q|0)>0?127:128;e=e+4|0}while((e|0)<=(c|0));a=a+-1|0;if(k){e=l;do{q=AEa(+p[g+(e<<3)>>3])|0;b[m+e>>0]=(q+128|0)>>>0<256?q:(q|0)>0?127:128;e=e+1|0}while((e|0)!=(j|0))}if(!a)break;else{m=m+h|0;g=g+(i<<3)|0}}return}function VN(a,b,c,e,g,i,j,k){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0;k=f[j>>2]|0;e=f[j+4>>2]|0;j=i>>>1;if(!e)return;i=k+-4|0;if((k|0)<4){c=(k|0)>0;l=g;m=a;n=e;while(1){n=n+-1|0;if(c){o=0;do{d[l+(o<<1)>>1]=h[m+o>>0]|0;o=o+1|0}while((o|0)!=(k|0))}if(!n)break;else{l=l+(j<<1)|0;m=m+b|0}}return}m=k&-4;l=(m|0)<(k|0);n=g;g=a;a=e;while(1){e=0;do{c=e|1;o=h[g+c>>0]|0;d[n+(e<<1)>>1]=h[g+e>>0]|0;d[n+(c<<1)>>1]=o;o=e|2;c=e|3;p=h[g+c>>0]|0;d[n+(o<<1)>>1]=h[g+o>>0]|0;d[n+(c<<1)>>1]=p;e=e+4|0}while((e|0)<=(i|0));a=a+-1|0;if(l){e=m;do{d[n+(e<<1)>>1]=h[g+e>>0]|0;e=e+1|0}while((e|0)!=(k|0))}if(!a)break;else{n=n+(j<<1)|0;g=g+b|0}}return}function WN(a,c,e,g,h,i,j,k){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0;k=f[j>>2]|0;g=f[j+4>>2]|0;j=i>>>1;if(!g)return;i=k+-4|0;if((k|0)<4){e=(k|0)>0;l=h;m=a;n=g;while(1){n=n+-1|0;if(e){o=0;do{p=b[m+o>>0]|0;d[l+(o<<1)>>1]=(p|0)>0?p:0;o=o+1|0}while((o|0)!=(k|0))}if(!n)break;else{l=l+(j<<1)|0;m=m+c|0}}return}m=k&-4;l=(m|0)<(k|0);n=h;h=a;a=g;while(1){g=0;do{e=b[h+g>>0]|0;o=g|1;p=b[h+o>>0]|0;d[n+(g<<1)>>1]=(e|0)>0?e:0;d[n+(o<<1)>>1]=(p|0)>0?p:0;p=g|2;o=b[h+p>>0]|0;e=g|3;q=b[h+e>>0]|0;d[n+(p<<1)>>1]=(o|0)>0?o:0;d[n+(e<<1)>>1]=(q|0)>0?q:0;g=g+4|0}while((g|0)<=(i|0));a=a+-1|0;if(l){g=m;do{q=b[h+g>>0]|0;d[n+(g<<1)>>1]=(q|0)>0?q:0;g=g+1|0}while((g|0)!=(k|0))}if(!a)break;else{n=n+(j<<1)|0;h=h+c|0}}return}function XN(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;i=f[h+4>>2]|0;d=b>>>1;b=g>>>1;if(!i)return;g=f[h>>2]<<1;h=a;a=e;e=i;while(1){e=e+-1|0;DVa(a|0,h|0,g|0)|0;if(!e)break;else{h=h+(d<<1)|0;a=a+(b<<1)|0}}return}function YN(a,b,c,e,g,h,i,j){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;j=f[i>>2]|0;e=f[i+4>>2]|0;i=b>>>1;b=h>>>1;h=e+-1|0;if(!e)return;if((j|0)<4){if((j|0)>0){k=g;l=a;m=h}else return;while(1){e=0;do{c=d[l+(e<<1)>>1]|0;d[k+(e<<1)>>1]=(c|0)>0?c:0;e=e+1|0}while((e|0)!=(j|0));if(!m)break;else{k=k+(b<<1)|0;l=l+(i<<1)|0;m=m+-1|0}}return}m=j+-4|0;l=(((m|0)>3?m:3)&2147483644)+4|0;if((l|0)<(j|0)){n=g;o=a;p=h}else{k=g;g=a;a=h;while(1){h=0;do{e=d[g+(h<<1)>>1]|0;c=h|1;q=d[g+(c<<1)>>1]|0;d[k+(h<<1)>>1]=(e|0)>0?e:0;d[k+(c<<1)>>1]=(q|0)>0?q:0;q=h|2;c=d[g+(q<<1)>>1]|0;e=h|3;r=d[g+(e<<1)>>1]|0;d[k+(q<<1)>>1]=(c|0)>0?c:0;d[k+(e<<1)>>1]=(r|0)>0?r:0;h=h+4|0}while((h|0)<=(m|0));if(!a)break;else{k=k+(b<<1)|0;g=g+(i<<1)|0;a=a+-1|0}}return}while(1){a=0;do{g=d[o+(a<<1)>>1]|0;k=a|1;h=d[o+(k<<1)>>1]|0;d[n+(a<<1)>>1]=(g|0)>0?g:0;d[n+(k<<1)>>1]=(h|0)>0?h:0;h=a|2;k=d[o+(h<<1)>>1]|0;g=a|3;r=d[o+(g<<1)>>1]|0;d[n+(h<<1)>>1]=(k|0)>0?k:0;d[n+(g<<1)>>1]=(r|0)>0?r:0;a=a+4|0}while((a|0)<=(m|0));s=l;do{a=d[o+(s<<1)>>1]|0;d[n+(s<<1)>>1]=(a|0)>0?a:0;s=s+1|0}while((s|0)!=(j|0));if(!p)break;else{n=n+(b<<1)|0;o=o+(i<<1)|0;p=p+-1|0}}return}function ZN(a,b,c,e,g,h,i,j){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;j=f[i>>2]|0;e=f[i+4>>2]|0;i=b>>>2;b=h>>>1;if(!e)return;h=j+-4|0;c=(((h|0)>3?h:3)&2147483644)+4|0;if((j|0)<4){k=(j|0)>0;l=g;m=a;n=e;while(1){n=n+-1|0;if(k){o=0;do{p=f[m+(o<<2)>>2]|0;d[l+(o<<1)>>1]=p>>>0<65536?p:(p|0)>0?65535:0;o=o+1|0}while((o|0)!=(j|0))}if(!n)break;else{l=l+(b<<1)|0;m=m+(i<<2)|0}}return}m=(c|0)<(j|0);l=g;g=a;a=e;while(1){e=0;do{n=f[g+(e<<2)>>2]|0;k=e|1;o=f[g+(k<<2)>>2]|0;d[l+(e<<1)>>1]=n>>>0<65536?n:(n|0)>0?65535:0;d[l+(k<<1)>>1]=o>>>0<65536?o:(o|0)>0?65535:0;o=e|2;k=f[g+(o<<2)>>2]|0;n=e|3;p=f[g+(n<<2)>>2]|0;d[l+(o<<1)>>1]=k>>>0<65536?k:(k|0)>0?65535:0;d[l+(n<<1)>>1]=p>>>0<65536?p:(p|0)>0?65535:0;e=e+4|0}while((e|0)<=(h|0));a=a+-1|0;if(m){e=c;do{p=f[g+(e<<2)>>2]|0;d[l+(e<<1)>>1]=p>>>0<65536?p:(p|0)>0?65535:0;e=e+1|0}while((e|0)!=(j|0))}if(!a)break;else{l=l+(b<<1)|0;g=g+(i<<2)|0}}return}function _N(a,b,c,e,g,h,i,j){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0;j=f[i>>2]|0;e=f[i+4>>2]|0;i=b>>>2;b=h>>>1;h=e+-1|0;if(!e)return;if((j|0)<4){if((j|0)>0){k=g;l=a;m=h}else return;while(1){e=0;do{c=HEa(+n[l+(e<<2)>>2])|0;d[k+(e<<1)>>1]=c>>>0<65536?c:(c|0)>0?65535:0;e=e+1|0}while((e|0)!=(j|0));if(!m)break;else{k=k+(b<<1)|0;l=l+(i<<2)|0;m=m+-1|0}}return}m=j+-4|0;l=(((m|0)>3?m:3)&2147483644)+4|0;if((l|0)<(j|0)){o=g;p=a;q=h}else{k=g;g=a;a=h;while(1){h=0;do{e=HEa(+n[g+(h<<2)>>2])|0;c=h|1;r=HEa(+n[g+(c<<2)>>2])|0;d[k+(h<<1)>>1]=e>>>0<65536?e:(e|0)>0?65535:0;d[k+(c<<1)>>1]=r>>>0<65536?r:(r|0)>0?65535:0;r=h|2;c=HEa(+n[g+(r<<2)>>2])|0;e=h|3;s=HEa(+n[g+(e<<2)>>2])|0;d[k+(r<<1)>>1]=c>>>0<65536?c:(c|0)>0?65535:0;d[k+(e<<1)>>1]=s>>>0<65536?s:(s|0)>0?65535:0;h=h+4|0}while((h|0)<=(m|0));if(!a)break;else{k=k+(b<<1)|0;g=g+(i<<2)|0;a=a+-1|0}}return}while(1){a=0;do{g=HEa(+n[p+(a<<2)>>2])|0;k=a|1;h=HEa(+n[p+(k<<2)>>2])|0;d[o+(a<<1)>>1]=g>>>0<65536?g:(g|0)>0?65535:0;d[o+(k<<1)>>1]=h>>>0<65536?h:(h|0)>0?65535:0;h=a|2;k=HEa(+n[p+(h<<2)>>2])|0;g=a|3;s=HEa(+n[p+(g<<2)>>2])|0;d[o+(h<<1)>>1]=k>>>0<65536?k:(k|0)>0?65535:0;d[o+(g<<1)>>1]=s>>>0<65536?s:(s|0)>0?65535:0;a=a+4|0}while((a|0)<=(m|0));t=l;do{a=HEa(+n[p+(t<<2)>>2])|0;d[o+(t<<1)>>1]=a>>>0<65536?a:(a|0)>0?65535:0;t=t+1|0}while((t|0)!=(j|0));if(!q)break;else{o=o+(b<<1)|0;p=p+(i<<2)|0;q=q+-1|0}}return}function $N(a,b,c,e,g,h,i,j){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0;j=f[i>>2]|0;e=f[i+4>>2]|0;i=b>>>3;b=h>>>1;h=e+-1|0;if(!e)return;if((j|0)<4){if((j|0)>0){k=g;l=a;m=h}else return;while(1){e=0;do{c=AEa(+p[l+(e<<3)>>3])|0;d[k+(e<<1)>>1]=c>>>0<65536?c:(c|0)>0?65535:0;e=e+1|0}while((e|0)!=(j|0));if(!m)break;else{k=k+(b<<1)|0;l=l+(i<<3)|0;m=m+-1|0}}return}m=j+-4|0;l=(((m|0)>3?m:3)&2147483644)+4|0;if((l|0)<(j|0)){n=g;o=a;q=h}else{k=g;g=a;a=h;while(1){h=0;do{e=AEa(+p[g+(h<<3)>>3])|0;c=h|1;r=AEa(+p[g+(c<<3)>>3])|0;d[k+(h<<1)>>1]=e>>>0<65536?e:(e|0)>0?65535:0;d[k+(c<<1)>>1]=r>>>0<65536?r:(r|0)>0?65535:0;r=h|2;c=AEa(+p[g+(r<<3)>>3])|0;e=h|3;s=AEa(+p[g+(e<<3)>>3])|0;d[k+(r<<1)>>1]=c>>>0<65536?c:(c|0)>0?65535:0;d[k+(e<<1)>>1]=s>>>0<65536?s:(s|0)>0?65535:0;h=h+4|0}while((h|0)<=(m|0));if(!a)break;else{k=k+(b<<1)|0;g=g+(i<<3)|0;a=a+-1|0}}return}while(1){a=0;do{g=AEa(+p[o+(a<<3)>>3])|0;k=a|1;h=AEa(+p[o+(k<<3)>>3])|0;d[n+(a<<1)>>1]=g>>>0<65536?g:(g|0)>0?65535:0;d[n+(k<<1)>>1]=h>>>0<65536?h:(h|0)>0?65535:0;h=a|2;k=AEa(+p[o+(h<<3)>>3])|0;g=a|3;s=AEa(+p[o+(g<<3)>>3])|0;d[n+(h<<1)>>1]=k>>>0<65536?k:(k|0)>0?65535:0;d[n+(g<<1)>>1]=s>>>0<65536?s:(s|0)>0?65535:0;a=a+4|0}while((a|0)<=(m|0));t=l;do{a=AEa(+p[o+(t<<3)>>3])|0;d[n+(t<<1)>>1]=a>>>0<65536?a:(a|0)>0?65535:0;t=t+1|0}while((t|0)!=(j|0));if(!q)break;else{n=n+(b<<1)|0;o=o+(i<<3)|0;q=q+-1|0}}return}function aO(a,b,c,e,g,i,j,k){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0;k=f[j>>2]|0;e=f[j+4>>2]|0;j=i>>>1;if(!e)return;i=k+-4|0;if((k|0)<4){c=(k|0)>0;l=g;m=a;n=e;while(1){n=n+-1|0;if(c){o=0;do{d[l+(o<<1)>>1]=h[m+o>>0]|0;o=o+1|0}while((o|0)!=(k|0))}if(!n)break;else{l=l+(j<<1)|0;m=m+b|0}}return}m=k&-4;l=(m|0)<(k|0);n=g;g=a;a=e;while(1){e=0;do{c=e|1;o=h[g+c>>0]|0;d[n+(e<<1)>>1]=h[g+e>>0]|0;d[n+(c<<1)>>1]=o;o=e|2;c=e|3;p=h[g+c>>0]|0;d[n+(o<<1)>>1]=h[g+o>>0]|0;d[n+(c<<1)>>1]=p;e=e+4|0}while((e|0)<=(i|0));a=a+-1|0;if(l){e=m;do{d[n+(e<<1)>>1]=h[g+e>>0]|0;e=e+1|0}while((e|0)!=(k|0))}if(!a)break;else{n=n+(j<<1)|0;g=g+b|0}}return}function bO(a,c,e,g,h,i,j,k){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0;k=f[j>>2]|0;g=f[j+4>>2]|0;j=i>>>1;if(!g)return;i=k+-4|0;if((k|0)<4){e=(k|0)>0;l=h;m=a;n=g;while(1){n=n+-1|0;if(e){o=0;do{d[l+(o<<1)>>1]=b[m+o>>0]|0;o=o+1|0}while((o|0)!=(k|0))}if(!n)break;else{l=l+(j<<1)|0;m=m+c|0}}return}m=k&-4;l=(m|0)<(k|0);n=h;h=a;a=g;while(1){g=0;do{e=g|1;o=b[h+e>>0]|0;d[n+(g<<1)>>1]=b[h+g>>0]|0;d[n+(e<<1)>>1]=o;o=g|2;e=g|3;p=b[h+e>>0]|0;d[n+(o<<1)>>1]=b[h+o>>0]|0;d[n+(e<<1)>>1]=p;g=g+4|0}while((g|0)<=(i|0));a=a+-1|0;if(l){g=m;do{d[n+(g<<1)>>1]=b[h+g>>0]|0;g=g+1|0}while((g|0)!=(k|0))}if(!a)break;else{n=n+(j<<1)|0;h=h+c|0}}return}function cO(a,b,c,e,g,h,i,k){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;k=f[i>>2]|0;e=f[i+4>>2]|0;i=b>>>1;b=h>>>1;h=e+-1|0;if(!e)return;if((k|0)<4){if((k|0)>0){l=g;m=a;n=h}else return;while(1){e=0;do{c=j[m+(e<<1)>>1]|0;d[l+(e<<1)>>1]=c>>>0<32767?c:32767;e=e+1|0}while((e|0)!=(k|0));if(!n)break;else{l=l+(b<<1)|0;m=m+(i<<1)|0;n=n+-1|0}}return}n=k+-4|0;m=(((n|0)>3?n:3)&2147483644)+4|0;if((m|0)<(k|0)){o=g;p=a;q=h}else{l=g;g=a;a=h;while(1){h=0;do{e=j[g+(h<<1)>>1]|0;c=h|1;r=j[g+(c<<1)>>1]|0;d[l+(h<<1)>>1]=e>>>0<32767?e:32767;d[l+(c<<1)>>1]=r>>>0<32767?r:32767;r=h|2;c=j[g+(r<<1)>>1]|0;e=h|3;s=j[g+(e<<1)>>1]|0;d[l+(r<<1)>>1]=c>>>0<32767?c:32767;d[l+(e<<1)>>1]=s>>>0<32767?s:32767;h=h+4|0}while((h|0)<=(n|0));if(!a)break;else{l=l+(b<<1)|0;g=g+(i<<1)|0;a=a+-1|0}}return}while(1){a=0;do{g=j[p+(a<<1)>>1]|0;l=a|1;h=j[p+(l<<1)>>1]|0;d[o+(a<<1)>>1]=g>>>0<32767?g:32767;d[o+(l<<1)>>1]=h>>>0<32767?h:32767;h=a|2;l=j[p+(h<<1)>>1]|0;g=a|3;s=j[p+(g<<1)>>1]|0;d[o+(h<<1)>>1]=l>>>0<32767?l:32767;d[o+(g<<1)>>1]=s>>>0<32767?s:32767;a=a+4|0}while((a|0)<=(n|0));t=m;do{a=j[p+(t<<1)>>1]|0;d[o+(t<<1)>>1]=a>>>0<32767?a:32767;t=t+1|0}while((t|0)!=(k|0));if(!q)break;else{o=o+(b<<1)|0;p=p+(i<<1)|0;q=q+-1|0}}return}function dO(a,b,c,e,g,h,i,j){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;j=f[i>>2]|0;e=f[i+4>>2]|0;i=b>>>2;b=h>>>1;if(!e)return;h=j+-4|0;c=(((h|0)>3?h:3)&2147483644)+4|0;if((j|0)<4){k=(j|0)>0;l=g;m=a;n=e;while(1){n=n+-1|0;if(k){o=0;do{p=f[m+(o<<2)>>2]|0;d[l+(o<<1)>>1]=(p+32768|0)>>>0<65536?p:(p|0)>0?32767:32768;o=o+1|0}while((o|0)!=(j|0))}if(!n)break;else{l=l+(b<<1)|0;m=m+(i<<2)|0}}return}m=(c|0)<(j|0);l=g;g=a;a=e;while(1){e=0;do{n=f[g+(e<<2)>>2]|0;k=e|1;o=f[g+(k<<2)>>2]|0;d[l+(e<<1)>>1]=(n+32768|0)>>>0<65536?n:(n|0)>0?32767:32768;d[l+(k<<1)>>1]=(o+32768|0)>>>0<65536?o:(o|0)>0?32767:32768;o=e|2;k=f[g+(o<<2)>>2]|0;n=e|3;p=f[g+(n<<2)>>2]|0;d[l+(o<<1)>>1]=(k+32768|0)>>>0<65536?k:(k|0)>0?32767:32768;d[l+(n<<1)>>1]=(p+32768|0)>>>0<65536?p:(p|0)>0?32767:32768;e=e+4|0}while((e|0)<=(h|0));a=a+-1|0;if(m){e=c;do{p=f[g+(e<<2)>>2]|0;d[l+(e<<1)>>1]=(p+32768|0)>>>0<65536?p:(p|0)>0?32767:32768;e=e+1|0}while((e|0)!=(j|0))}if(!a)break;else{l=l+(b<<1)|0;g=g+(i<<2)|0}}return}function eO(a,b,c,e,g,h,i,j){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,o=0,p=0,q=0;j=f[i>>2]|0;e=f[i+4>>2]|0;i=b>>>2;b=h>>>1;h=e+-1|0;if(!e)return;if((j|0)<4){if((j|0)>0){k=g;l=a;m=h}else return;while(1){e=0;do{c=HEa(+n[l+(e<<2)>>2])|0;d[k+(e<<1)>>1]=(c+32768|0)>>>0<65536?c:(c|0)>0?32767:32768;e=e+1|0}while((e|0)!=(j|0));if(!m)break;else{k=k+(b<<1)|0;l=l+(i<<2)|0;m=m+-1|0}}return}m=j+-4|0;l=(((m|0)>3?m:3)&2147483644)+4|0;k=(l|0)<(j|0);e=g;g=a;a=h;while(1){h=0;do{c=HEa(+n[g+(h<<2)>>2])|0;o=h|1;p=HEa(+n[g+(o<<2)>>2])|0;d[e+(h<<1)>>1]=(c+32768|0)>>>0<65536?c:(c|0)>0?32767:32768;d[e+(o<<1)>>1]=(p+32768|0)>>>0<65536?p:(p|0)>0?32767:32768;p=h|2;o=HEa(+n[g+(p<<2)>>2])|0;c=h|3;q=HEa(+n[g+(c<<2)>>2])|0;d[e+(p<<1)>>1]=(o+32768|0)>>>0<65536?o:(o|0)>0?32767:32768;d[e+(c<<1)>>1]=(q+32768|0)>>>0<65536?q:(q|0)>0?32767:32768;h=h+4|0}while((h|0)<=(m|0));if(k){h=l;do{q=HEa(+n[g+(h<<2)>>2])|0;d[e+(h<<1)>>1]=(q+32768|0)>>>0<65536?q:(q|0)>0?32767:32768;h=h+1|0}while((h|0)!=(j|0))}if(!a)break;else{e=e+(b<<1)|0;g=g+(i<<2)|0;a=a+-1|0}}return}function fO(a,b,c,e,g,h,i,j){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,q=0;j=f[i>>2]|0;e=f[i+4>>2]|0;i=b>>>3;b=h>>>1;h=e+-1|0;if(!e)return;if((j|0)<4){if((j|0)>0){k=g;l=a;m=h}else return;while(1){e=0;do{c=AEa(+p[l+(e<<3)>>3])|0;d[k+(e<<1)>>1]=(c+32768|0)>>>0<65536?c:(c|0)>0?32767:32768;e=e+1|0}while((e|0)!=(j|0));if(!m)break;else{k=k+(b<<1)|0;l=l+(i<<3)|0;m=m+-1|0}}return}m=j+-4|0;l=(((m|0)>3?m:3)&2147483644)+4|0;k=(l|0)<(j|0);e=g;g=a;a=h;while(1){h=0;do{c=AEa(+p[g+(h<<3)>>3])|0;n=h|1;o=AEa(+p[g+(n<<3)>>3])|0;d[e+(h<<1)>>1]=(c+32768|0)>>>0<65536?c:(c|0)>0?32767:32768;d[e+(n<<1)>>1]=(o+32768|0)>>>0<65536?o:(o|0)>0?32767:32768;o=h|2;n=AEa(+p[g+(o<<3)>>3])|0;c=h|3;q=AEa(+p[g+(c<<3)>>3])|0;d[e+(o<<1)>>1]=(n+32768|0)>>>0<65536?n:(n|0)>0?32767:32768;d[e+(c<<1)>>1]=(q+32768|0)>>>0<65536?q:(q|0)>0?32767:32768;h=h+4|0}while((h|0)<=(m|0));if(k){h=l;do{q=AEa(+p[g+(h<<3)>>3])|0;d[e+(h<<1)>>1]=(q+32768|0)>>>0<65536?q:(q|0)>0?32767:32768;h=h+1|0}while((h|0)!=(j|0))}if(!a)break;else{e=e+(b<<1)|0;g=g+(i<<3)|0;a=a+-1|0}}return}function gO(a,b,c,d,e,g,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;j=f[i>>2]|0;d=f[i+4>>2]|0;i=g>>>2;if(!d)return;g=j+-4|0;if((j|0)<4){c=(j|0)>0;k=e;l=a;m=d;while(1){m=m+-1|0;if(c){n=0;do{f[k+(n<<2)>>2]=h[l+n>>0];n=n+1|0}while((n|0)!=(j|0))}if(!m)break;else{k=k+(i<<2)|0;l=l+b|0}}return}l=j&-4;k=(l|0)<(j|0);m=e;e=a;a=d;while(1){d=0;do{c=d|1;n=h[e+c>>0]|0;f[m+(d<<2)>>2]=h[e+d>>0];f[m+(c<<2)>>2]=n;n=d|2;c=d|3;o=h[e+c>>0]|0;f[m+(n<<2)>>2]=h[e+n>>0];f[m+(c<<2)>>2]=o;d=d+4|0}while((d|0)<=(g|0));a=a+-1|0;if(k){d=l;do{f[m+(d<<2)>>2]=h[e+d>>0];d=d+1|0}while((d|0)!=(j|0))}if(!a)break;else{m=m+(i<<2)|0;e=e+b|0}}return}function hO(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;j=f[i>>2]|0;e=f[i+4>>2]|0;i=h>>>2;if(!e)return;h=j+-4|0;if((j|0)<4){d=(j|0)>0;k=g;l=a;m=e;while(1){m=m+-1|0;if(d){n=0;do{f[k+(n<<2)>>2]=b[l+n>>0];n=n+1|0}while((n|0)!=(j|0))}if(!m)break;else{k=k+(i<<2)|0;l=l+c|0}}return}l=j&-4;k=(l|0)<(j|0);m=g;g=a;a=e;while(1){e=0;do{d=e|1;n=b[g+d>>0]|0;f[m+(e<<2)>>2]=b[g+e>>0];f[m+(d<<2)>>2]=n;n=e|2;d=e|3;o=b[g+d>>0]|0;f[m+(n<<2)>>2]=b[g+n>>0];f[m+(d<<2)>>2]=o;e=e+4|0}while((e|0)<=(h|0));a=a+-1|0;if(k){e=l;do{f[m+(e<<2)>>2]=b[g+e>>0];e=e+1|0}while((e|0)!=(j|0))}if(!a)break;else{m=m+(i<<2)|0;g=g+c|0}}return}function iO(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var k=0,l=0,m=0,n=0,o=0;i=f[h>>2]|0;d=f[h+4>>2]|0;h=b>>>1;b=g>>>2;if(!d)return;g=i+-4|0;if((i|0)<4){c=(i|0)>0;k=e;l=a;m=d;while(1){m=m+-1|0;if(c){n=0;do{f[k+(n<<2)>>2]=j[l+(n<<1)>>1];n=n+1|0}while((n|0)!=(i|0))}if(!m)break;else{k=k+(b<<2)|0;l=l+(h<<1)|0}}return}l=i&-4;k=(l|0)<(i|0);m=e;e=a;a=d;while(1){d=0;do{c=d|1;n=j[e+(c<<1)>>1]|0;f[m+(d<<2)>>2]=j[e+(d<<1)>>1];f[m+(c<<2)>>2]=n;n=d|2;c=d|3;o=j[e+(c<<1)>>1]|0;f[m+(n<<2)>>2]=j[e+(n<<1)>>1];f[m+(c<<2)>>2]=o;d=d+4|0}while((d|0)<=(g|0));a=a+-1|0;if(k){d=l;do{f[m+(d<<2)>>2]=j[e+(d<<1)>>1];d=d+1|0}while((d|0)!=(i|0))}if(!a)break;else{m=m+(b<<2)|0;e=e+(h<<1)|0}}return}function jO(a,b,c,e,g,h,i,j){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;j=f[i>>2]|0;e=f[i+4>>2]|0;i=b>>>1;b=h>>>2;if(!e)return;h=j+-4|0;if((j|0)<4){c=(j|0)>0;k=g;l=a;m=e;while(1){m=m+-1|0;if(c){n=0;do{f[k+(n<<2)>>2]=d[l+(n<<1)>>1];n=n+1|0}while((n|0)!=(j|0))}if(!m)break;else{k=k+(b<<2)|0;l=l+(i<<1)|0}}return}l=j&-4;k=(l|0)<(j|0);m=g;g=a;a=e;while(1){e=0;do{c=e|1;n=d[g+(c<<1)>>1]|0;f[m+(e<<2)>>2]=d[g+(e<<1)>>1];f[m+(c<<2)>>2]=n;n=e|2;c=e|3;o=d[g+(c<<1)>>1]|0;f[m+(n<<2)>>2]=d[g+(n<<1)>>1];f[m+(c<<2)>>2]=o;e=e+4|0}while((e|0)<=(h|0));a=a+-1|0;if(k){e=l;do{f[m+(e<<2)>>2]=d[g+(e<<1)>>1];e=e+1|0}while((e|0)!=(j|0))}if(!a)break;else{m=m+(b<<2)|0;g=g+(i<<1)|0}}return}function kO(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;i=f[h+4>>2]|0;d=b>>>2;b=g>>>2;if(!i)return;g=f[h>>2]<<2;h=a;a=e;e=i;while(1){e=e+-1|0;DVa(a|0,h|0,g|0)|0;if(!e)break;else{h=h+(d<<2)|0;a=a+(b<<2)|0}}return}function lO(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,o=0,p=0;i=f[h>>2]|0;d=f[h+4>>2]|0;h=b>>>2;b=g>>>2;if(!d)return;g=i+-4|0;if((i|0)<4){c=(i|0)>0;j=e;k=a;l=d;while(1){l=l+-1|0;if(c){m=0;do{o=HEa(+n[k+(m<<2)>>2])|0;f[j+(m<<2)>>2]=o;m=m+1|0}while((m|0)!=(i|0))}if(!l)break;else{j=j+(b<<2)|0;k=k+(h<<2)|0}}return}k=i&-4;j=(k|0)<(i|0);l=e;e=a;a=d;while(1){d=0;do{c=HEa(+n[e+(d<<2)>>2])|0;m=d|1;o=HEa(+n[e+(m<<2)>>2])|0;f[l+(d<<2)>>2]=c;f[l+(m<<2)>>2]=o;o=d|2;m=HEa(+n[e+(o<<2)>>2])|0;c=d|3;p=HEa(+n[e+(c<<2)>>2])|0;f[l+(o<<2)>>2]=m;f[l+(c<<2)>>2]=p;d=d+4|0}while((d|0)<=(g|0));a=a+-1|0;if(j){d=k;do{p=HEa(+n[e+(d<<2)>>2])|0;f[l+(d<<2)>>2]=p;d=d+1|0}while((d|0)!=(i|0))}if(!a)break;else{l=l+(b<<2)|0;e=e+(h<<2)|0}}return}function mO(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;i=f[h>>2]|0;d=f[h+4>>2]|0;h=b>>>3;b=g>>>2;if(!d)return;g=i+-4|0;if((i|0)<4){c=(i|0)>0;j=e;k=a;l=d;while(1){l=l+-1|0;if(c){m=0;do{n=AEa(+p[k+(m<<3)>>3])|0;f[j+(m<<2)>>2]=n;m=m+1|0}while((m|0)!=(i|0))}if(!l)break;else{j=j+(b<<2)|0;k=k+(h<<3)|0}}return}k=i&-4;j=(k|0)<(i|0);l=e;e=a;a=d;while(1){d=0;do{c=AEa(+p[e+(d<<3)>>3])|0;m=d|1;n=AEa(+p[e+(m<<3)>>3])|0;f[l+(d<<2)>>2]=c;f[l+(m<<2)>>2]=n;n=d|2;m=AEa(+p[e+(n<<3)>>3])|0;c=d|3;o=AEa(+p[e+(c<<3)>>3])|0;f[l+(n<<2)>>2]=m;f[l+(c<<2)>>2]=o;d=d+4|0}while((d|0)<=(g|0));a=a+-1|0;if(j){d=k;do{o=AEa(+p[e+(d<<3)>>3])|0;f[l+(d<<2)>>2]=o;d=d+1|0}while((d|0)!=(i|0))}if(!a)break;else{l=l+(b<<2)|0;e=e+(h<<3)|0}}return}function nO(a,b,c,d,e,g,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;var k=0,l=0,m=0,o=0,p=0.0;j=f[i>>2]|0;d=f[i+4>>2]|0;i=g>>>2;if(!d)return;g=j+-4|0;if((j|0)<4){c=(j|0)>0;k=e;l=a;m=d;while(1){m=m+-1|0;if(c){o=0;do{n[k+(o<<2)>>2]=+(h[l+o>>0]|0);o=o+1|0}while((o|0)!=(j|0))}if(!m)break;else{k=k+(i<<2)|0;l=l+b|0}}return}l=j&-4;k=(l|0)<(j|0);m=e;e=a;a=d;while(1){d=0;do{c=d|1;p=+(h[e+c>>0]|0);n[m+(d<<2)>>2]=+(h[e+d>>0]|0);n[m+(c<<2)>>2]=p;c=d|2;o=d|3;p=+(h[e+o>>0]|0);n[m+(c<<2)>>2]=+(h[e+c>>0]|0);n[m+(o<<2)>>2]=p;d=d+4|0}while((d|0)<=(g|0));a=a+-1|0;if(k){d=l;do{n[m+(d<<2)>>2]=+(h[e+d>>0]|0);d=d+1|0}while((d|0)!=(j|0))}if(!a)break;else{m=m+(i<<2)|0;e=e+b|0}}return}function oO(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,o=0,p=0.0;j=f[i>>2]|0;e=f[i+4>>2]|0;i=h>>>2;if(!e)return;h=j+-4|0;if((j|0)<4){d=(j|0)>0;k=g;l=a;m=e;while(1){m=m+-1|0;if(d){o=0;do{n[k+(o<<2)>>2]=+(b[l+o>>0]|0);o=o+1|0}while((o|0)!=(j|0))}if(!m)break;else{k=k+(i<<2)|0;l=l+c|0}}return}l=j&-4;k=(l|0)<(j|0);m=g;g=a;a=e;while(1){e=0;do{d=e|1;p=+(b[g+d>>0]|0);n[m+(e<<2)>>2]=+(b[g+e>>0]|0);n[m+(d<<2)>>2]=p;d=e|2;o=e|3;p=+(b[g+o>>0]|0);n[m+(d<<2)>>2]=+(b[g+d>>0]|0);n[m+(o<<2)>>2]=p;e=e+4|0}while((e|0)<=(h|0));a=a+-1|0;if(k){e=l;do{n[m+(e<<2)>>2]=+(b[g+e>>0]|0);e=e+1|0}while((e|0)!=(j|0))}if(!a)break;else{m=m+(i<<2)|0;g=g+c|0}}return}function pO(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var k=0,l=0,m=0,o=0,p=0,q=0,r=0.0,s=0;i=f[h>>2]|0;d=f[h+4>>2]|0;h=b>>>1;b=g>>>2;g=d+-1|0;if(!d)return;if((i|0)<4){if((i|0)>0){k=e;l=a;m=g}else return;while(1){d=0;do{n[k+(d<<2)>>2]=+(j[l+(d<<1)>>1]|0);d=d+1|0}while((d|0)!=(i|0));if(!m)break;else{k=k+(b<<2)|0;l=l+(h<<1)|0;m=m+-1|0}}return}m=i+-4|0;l=(((m|0)>3?m:3)&2147483644)+4|0;if((l|0)<(i|0)){o=e;p=a;q=g}else{k=e;e=a;a=g;while(1){g=0;do{d=g|1;r=+(j[e+(d<<1)>>1]|0);n[k+(g<<2)>>2]=+(j[e+(g<<1)>>1]|0);n[k+(d<<2)>>2]=r;d=g|2;c=g|3;r=+(j[e+(c<<1)>>1]|0);n[k+(d<<2)>>2]=+(j[e+(d<<1)>>1]|0);n[k+(c<<2)>>2]=r;g=g+4|0}while((g|0)<=(m|0));if(!a)break;else{k=k+(b<<2)|0;e=e+(h<<1)|0;a=a+-1|0}}return}while(1){a=0;do{e=a|1;r=+(j[p+(e<<1)>>1]|0);n[o+(a<<2)>>2]=+(j[p+(a<<1)>>1]|0);n[o+(e<<2)>>2]=r;e=a|2;k=a|3;r=+(j[p+(k<<1)>>1]|0);n[o+(e<<2)>>2]=+(j[p+(e<<1)>>1]|0);n[o+(k<<2)>>2]=r;a=a+4|0}while((a|0)<=(m|0));s=l;do{n[o+(s<<2)>>2]=+(j[p+(s<<1)>>1]|0);s=s+1|0}while((s|0)!=(i|0));if(!q)break;else{o=o+(b<<2)|0;p=p+(h<<1)|0;q=q+-1|0}}return}function qO(a,b,c,e,g,h,i,j){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,o=0,p=0,q=0,r=0.0,s=0;j=f[i>>2]|0;e=f[i+4>>2]|0;i=b>>>1;b=h>>>2;h=e+-1|0;if(!e)return;if((j|0)<4){if((j|0)>0){k=g;l=a;m=h}else return;while(1){e=0;do{n[k+(e<<2)>>2]=+(d[l+(e<<1)>>1]|0);e=e+1|0}while((e|0)!=(j|0));if(!m)break;else{k=k+(b<<2)|0;l=l+(i<<1)|0;m=m+-1|0}}return}m=j+-4|0;l=(((m|0)>3?m:3)&2147483644)+4|0;if((l|0)<(j|0)){o=g;p=a;q=h}else{k=g;g=a;a=h;while(1){h=0;do{e=h|1;r=+(d[g+(e<<1)>>1]|0);n[k+(h<<2)>>2]=+(d[g+(h<<1)>>1]|0);n[k+(e<<2)>>2]=r;e=h|2;c=h|3;r=+(d[g+(c<<1)>>1]|0);n[k+(e<<2)>>2]=+(d[g+(e<<1)>>1]|0);n[k+(c<<2)>>2]=r;h=h+4|0}while((h|0)<=(m|0));if(!a)break;else{k=k+(b<<2)|0;g=g+(i<<1)|0;a=a+-1|0}}return}while(1){a=0;do{g=a|1;r=+(d[p+(g<<1)>>1]|0);n[o+(a<<2)>>2]=+(d[p+(a<<1)>>1]|0);n[o+(g<<2)>>2]=r;g=a|2;k=a|3;r=+(d[p+(k<<1)>>1]|0);n[o+(g<<2)>>2]=+(d[p+(g<<1)>>1]|0);n[o+(k<<2)>>2]=r;a=a+4|0}while((a|0)<=(m|0));s=l;do{n[o+(s<<2)>>2]=+(d[p+(s<<1)>>1]|0);s=s+1|0}while((s|0)!=(j|0));if(!q)break;else{o=o+(b<<2)|0;p=p+(i<<1)|0;q=q+-1|0}}return}function rO(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,o=0,p=0.0;i=f[h>>2]|0;d=f[h+4>>2]|0;h=b>>>2;b=g>>>2;if(!d)return;g=i+-4|0;c=(((g|0)>3?g:3)&2147483644)+4|0;if((i|0)<4){j=(i|0)>0;k=e;l=a;m=d;while(1){m=m+-1|0;if(j){o=0;do{n[k+(o<<2)>>2]=+(f[l+(o<<2)>>2]|0);o=o+1|0}while((o|0)!=(i|0))}if(!m)break;else{k=k+(b<<2)|0;l=l+(h<<2)|0}}return}l=(c|0)<(i|0);k=e;e=a;a=d;while(1){d=0;do{m=d|1;p=+(f[e+(m<<2)>>2]|0);n[k+(d<<2)>>2]=+(f[e+(d<<2)>>2]|0);n[k+(m<<2)>>2]=p;m=d|2;j=d|3;p=+(f[e+(j<<2)>>2]|0);n[k+(m<<2)>>2]=+(f[e+(m<<2)>>2]|0);n[k+(j<<2)>>2]=p;d=d+4|0}while((d|0)<=(g|0));a=a+-1|0;if(l){d=c;do{n[k+(d<<2)>>2]=+(f[e+(d<<2)>>2]|0);d=d+1|0}while((d|0)!=(i|0))}if(!a)break;else{k=k+(b<<2)|0;e=e+(h<<2)|0}}return}function sO(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,o=0,q=0,r=0.0,s=0;i=f[h>>2]|0;d=f[h+4>>2]|0;h=b>>>3;b=g>>>2;g=d+-1|0;if(!d)return;if((i|0)<4){if((i|0)>0){j=e;k=a;l=g}else return;while(1){d=0;do{n[j+(d<<2)>>2]=+p[k+(d<<3)>>3];d=d+1|0}while((d|0)!=(i|0));if(!l)break;else{j=j+(b<<2)|0;k=k+(h<<3)|0;l=l+-1|0}}return}l=i+-4|0;k=(((l|0)>3?l:3)&2147483644)+4|0;if((k|0)<(i|0)){m=e;o=a;q=g}else{j=e;e=a;a=g;while(1){g=0;do{d=g|1;r=+p[e+(d<<3)>>3];n[j+(g<<2)>>2]=+p[e+(g<<3)>>3];n[j+(d<<2)>>2]=r;d=g|2;c=g|3;r=+p[e+(c<<3)>>3];n[j+(d<<2)>>2]=+p[e+(d<<3)>>3];n[j+(c<<2)>>2]=r;g=g+4|0}while((g|0)<=(l|0));if(!a)break;else{j=j+(b<<2)|0;e=e+(h<<3)|0;a=a+-1|0}}return}while(1){a=0;do{e=a|1;r=+p[o+(e<<3)>>3];n[m+(a<<2)>>2]=+p[o+(a<<3)>>3];n[m+(e<<2)>>2]=r;e=a|2;j=a|3;r=+p[o+(j<<3)>>3];n[m+(e<<2)>>2]=+p[o+(e<<3)>>3];n[m+(j<<2)>>2]=r;a=a+4|0}while((a|0)<=(l|0));s=k;do{n[m+(s<<2)>>2]=+p[o+(s<<3)>>3];s=s+1|0}while((s|0)!=(i|0));if(!q)break;else{m=m+(b<<2)|0;o=o+(h<<3)|0;q=q+-1|0}}return}function tO(a,b,c,d,e,g,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0.0;j=f[i>>2]|0;d=f[i+4>>2]|0;i=g>>>3;if(!d)return;g=j+-4|0;if((j|0)<4){c=(j|0)>0;k=e;l=a;m=d;while(1){m=m+-1|0;if(c){n=0;do{p[k+(n<<3)>>3]=+(h[l+n>>0]|0);n=n+1|0}while((n|0)!=(j|0))}if(!m)break;else{k=k+(i<<3)|0;l=l+b|0}}return}l=j&-4;k=(l|0)<(j|0);m=e;e=a;a=d;while(1){d=0;do{c=d|1;o=+(h[e+c>>0]|0);p[m+(d<<3)>>3]=+(h[e+d>>0]|0);p[m+(c<<3)>>3]=o;c=d|2;n=d|3;o=+(h[e+n>>0]|0);p[m+(c<<3)>>3]=+(h[e+c>>0]|0);p[m+(n<<3)>>3]=o;d=d+4|0}while((d|0)<=(g|0));a=a+-1|0;if(k){d=l;do{p[m+(d<<3)>>3]=+(h[e+d>>0]|0);d=d+1|0}while((d|0)!=(j|0))}if(!a)break;else{m=m+(i<<3)|0;e=e+b|0}}return}function uO(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0.0;j=f[i>>2]|0;e=f[i+4>>2]|0;i=h>>>3;if(!e)return;h=j+-4|0;if((j|0)<4){d=(j|0)>0;k=g;l=a;m=e;while(1){m=m+-1|0;if(d){n=0;do{p[k+(n<<3)>>3]=+(b[l+n>>0]|0);n=n+1|0}while((n|0)!=(j|0))}if(!m)break;else{k=k+(i<<3)|0;l=l+c|0}}return}l=j&-4;k=(l|0)<(j|0);m=g;g=a;a=e;while(1){e=0;do{d=e|1;o=+(b[g+d>>0]|0);p[m+(e<<3)>>3]=+(b[g+e>>0]|0);p[m+(d<<3)>>3]=o;d=e|2;n=e|3;o=+(b[g+n>>0]|0);p[m+(d<<3)>>3]=+(b[g+d>>0]|0);p[m+(n<<3)>>3]=o;e=e+4|0}while((e|0)<=(h|0));a=a+-1|0;if(k){e=l;do{p[m+(e<<3)>>3]=+(b[g+e>>0]|0);e=e+1|0}while((e|0)!=(j|0))}if(!a)break;else{m=m+(i<<3)|0;g=g+c|0}}return}function vO(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,q=0,r=0.0,s=0;i=f[h>>2]|0;d=f[h+4>>2]|0;h=b>>>1;b=g>>>3;g=d+-1|0;if(!d)return;if((i|0)<4){if((i|0)>0){k=e;l=a;m=g}else return;while(1){d=0;do{p[k+(d<<3)>>3]=+(j[l+(d<<1)>>1]|0);d=d+1|0}while((d|0)!=(i|0));if(!m)break;else{k=k+(b<<3)|0;l=l+(h<<1)|0;m=m+-1|0}}return}m=i+-4|0;l=(((m|0)>3?m:3)&2147483644)+4|0;if((l|0)<(i|0)){n=e;o=a;q=g}else{k=e;e=a;a=g;while(1){g=0;do{d=g|1;r=+(j[e+(d<<1)>>1]|0);p[k+(g<<3)>>3]=+(j[e+(g<<1)>>1]|0);p[k+(d<<3)>>3]=r;d=g|2;c=g|3;r=+(j[e+(c<<1)>>1]|0);p[k+(d<<3)>>3]=+(j[e+(d<<1)>>1]|0);p[k+(c<<3)>>3]=r;g=g+4|0}while((g|0)<=(m|0));if(!a)break;else{k=k+(b<<3)|0;e=e+(h<<1)|0;a=a+-1|0}}return}while(1){a=0;do{e=a|1;r=+(j[o+(e<<1)>>1]|0);p[n+(a<<3)>>3]=+(j[o+(a<<1)>>1]|0);p[n+(e<<3)>>3]=r;e=a|2;k=a|3;r=+(j[o+(k<<1)>>1]|0);p[n+(e<<3)>>3]=+(j[o+(e<<1)>>1]|0);p[n+(k<<3)>>3]=r;a=a+4|0}while((a|0)<=(m|0));s=l;do{p[n+(s<<3)>>3]=+(j[o+(s<<1)>>1]|0);s=s+1|0}while((s|0)!=(i|0));if(!q)break;else{n=n+(b<<3)|0;o=o+(h<<1)|0;q=q+-1|0}}return}function wO(a,b,c,e,g,h,i,j){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,q=0,r=0.0,s=0;j=f[i>>2]|0;e=f[i+4>>2]|0;i=b>>>1;b=h>>>3;h=e+-1|0;if(!e)return;if((j|0)<4){if((j|0)>0){k=g;l=a;m=h}else return;while(1){e=0;do{p[k+(e<<3)>>3]=+(d[l+(e<<1)>>1]|0);e=e+1|0}while((e|0)!=(j|0));if(!m)break;else{k=k+(b<<3)|0;l=l+(i<<1)|0;m=m+-1|0}}return}m=j+-4|0;l=(((m|0)>3?m:3)&2147483644)+4|0;if((l|0)<(j|0)){n=g;o=a;q=h}else{k=g;g=a;a=h;while(1){h=0;do{e=h|1;r=+(d[g+(e<<1)>>1]|0);p[k+(h<<3)>>3]=+(d[g+(h<<1)>>1]|0);p[k+(e<<3)>>3]=r;e=h|2;c=h|3;r=+(d[g+(c<<1)>>1]|0);p[k+(e<<3)>>3]=+(d[g+(e<<1)>>1]|0);p[k+(c<<3)>>3]=r;h=h+4|0}while((h|0)<=(m|0));if(!a)break;else{k=k+(b<<3)|0;g=g+(i<<1)|0;a=a+-1|0}}return}while(1){a=0;do{g=a|1;r=+(d[o+(g<<1)>>1]|0);p[n+(a<<3)>>3]=+(d[o+(a<<1)>>1]|0);p[n+(g<<3)>>3]=r;g=a|2;k=a|3;r=+(d[o+(k<<1)>>1]|0);p[n+(g<<3)>>3]=+(d[o+(g<<1)>>1]|0);p[n+(k<<3)>>3]=r;a=a+4|0}while((a|0)<=(m|0));s=l;do{p[n+(s<<3)>>3]=+(d[o+(s<<1)>>1]|0);s=s+1|0}while((s|0)!=(j|0));if(!q)break;else{n=n+(b<<3)|0;o=o+(i<<1)|0;q=q+-1|0}}return}function xO(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0.0;i=f[h>>2]|0;d=f[h+4>>2]|0;h=b>>>2;b=g>>>3;if(!d)return;g=i+-4|0;c=(((g|0)>3?g:3)&2147483644)+4|0;if((i|0)<4){j=(i|0)>0;k=e;l=a;m=d;while(1){m=m+-1|0;if(j){n=0;do{p[k+(n<<3)>>3]=+(f[l+(n<<2)>>2]|0);n=n+1|0}while((n|0)!=(i|0))}if(!m)break;else{k=k+(b<<3)|0;l=l+(h<<2)|0}}return}l=(c|0)<(i|0);k=e;e=a;a=d;while(1){d=0;do{m=d|1;o=+(f[e+(m<<2)>>2]|0);p[k+(d<<3)>>3]=+(f[e+(d<<2)>>2]|0);p[k+(m<<3)>>3]=o;m=d|2;j=d|3;o=+(f[e+(j<<2)>>2]|0);p[k+(m<<3)>>3]=+(f[e+(m<<2)>>2]|0);p[k+(j<<3)>>3]=o;d=d+4|0}while((d|0)<=(g|0));a=a+-1|0;if(l){d=c;do{p[k+(d<<3)>>3]=+(f[e+(d<<2)>>2]|0);d=d+1|0}while((d|0)!=(i|0))}if(!a)break;else{k=k+(b<<3)|0;e=e+(h<<2)|0}}return}function yO(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,o=0,q=0,r=0.0,s=0;i=f[h>>2]|0;d=f[h+4>>2]|0;h=b>>>2;b=g>>>3;g=d+-1|0;if(!d)return;if((i|0)<4){if((i|0)>0){j=e;k=a;l=g}else return;while(1){d=0;do{p[j+(d<<3)>>3]=+n[k+(d<<2)>>2];d=d+1|0}while((d|0)!=(i|0));if(!l)break;else{j=j+(b<<3)|0;k=k+(h<<2)|0;l=l+-1|0}}return}l=i+-4|0;k=(((l|0)>3?l:3)&2147483644)+4|0;if((k|0)<(i|0)){m=e;o=a;q=g}else{j=e;e=a;a=g;while(1){g=0;do{d=g|1;r=+n[e+(d<<2)>>2];p[j+(g<<3)>>3]=+n[e+(g<<2)>>2];p[j+(d<<3)>>3]=r;d=g|2;c=g|3;r=+n[e+(c<<2)>>2];p[j+(d<<3)>>3]=+n[e+(d<<2)>>2];p[j+(c<<3)>>3]=r;g=g+4|0}while((g|0)<=(l|0));if(!a)break;else{j=j+(b<<3)|0;e=e+(h<<2)|0;a=a+-1|0}}return}while(1){a=0;do{e=a|1;r=+n[o+(e<<2)>>2];p[m+(a<<3)>>3]=+n[o+(a<<2)>>2];p[m+(e<<3)>>3]=r;e=a|2;j=a|3;r=+n[o+(j<<2)>>2];p[m+(e<<3)>>3]=+n[o+(e<<2)>>2];p[m+(j<<3)>>3]=r;a=a+4|0}while((a|0)<=(l|0));s=k;do{p[m+(s<<3)>>3]=+n[o+(s<<2)>>2];s=s+1|0}while((s|0)!=(i|0));if(!q)break;else{m=m+(b<<3)|0;o=o+(h<<2)|0;q=q+-1|0}}return}function zO(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;i=f[h+4>>2]|0;d=b>>>3;b=g>>>3;if(!i)return;g=f[h>>2]<<3;h=a;a=e;e=i;while(1){e=e+-1|0;DVa(a|0,h|0,g|0)|0;if(!e)break;else{h=h+(d<<3)|0;a=a+(b<<3)|0}}return}function AO(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=+e;g=+g;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,L=0,M=0,N=0,O=0,P=0;h=u;u=u+224|0;i=h+208|0;j=h+152|0;k=h+88|0;l=h+96|0;m=h;n=h+72|0;o=h+56|0;q=h+64|0;r=h+24|0;s=h+16|0;yV(i,32672);t=+K(+(e+-1.0))<2.220446049250313e-16;v=+K(+g)<2.220446049250313e-16;w=t&v;do if((d|0)<0)if(uK(c)|0){x=GJ(c,-1)|0;y=x;z=a;A=f[a>>2]|0;break}else{x=f[a>>2]|0;y=x&4095;z=a;A=x;break}else{x=f[a>>2]|0;y=x&4088|d&7;z=a;A=x}while(0);d=A&7;x=y&7;if((d|0)!=(x|0)|t&v^1){f[j>>2]=A;A=j+4|0;v=a+4|0;t=f[v>>2]|0;f[A>>2]=t;B=j+8|0;f[B>>2]=f[a+8>>2];C=j+12|0;f[C>>2]=f[a+12>>2];D=j+16|0;f[D>>2]=f[a+16>>2];f[j+20>>2]=f[a+20>>2];f[j+24>>2]=f[a+24>>2];f[j+28>>2]=f[a+28>>2];f[j+32>>2]=f[a+32>>2];E=j+36|0;F=f[a+36>>2]|0;f[E>>2]=F;G=j+40|0;f[G>>2]=B;H=j+48|0;J=j+44|0;f[J>>2]=H;f[H>>2]=0;f[j+52>>2]=0;if(!F)L=t;else{t=F+12|0;f[t>>2]=(f[t>>2]|0)+1;L=f[v>>2]|0}if((L|0)<3){L=f[a+44>>2]|0;t=f[J>>2]|0;f[t>>2]=f[L>>2];f[t+4>>2]=f[L+4>>2]}else{f[A>>2]=0;WO(j,a)}L=f[v>>2]|0;t=f[a+40>>2]|0;if((L|0)<3){F=f[t>>2]|0;f[k>>2]=f[t+4>>2];f[k+4>>2]=F;_J(c,k,y,-1,0,0)}else $J(c,L,t,y,-1,0,0);do if((HJ(c)|0)==65536){y=f[c+4>>2]|0;f[l>>2]=f[y>>2];t=l+4|0;L=y+4|0;f[t>>2]=f[L>>2];k=l+8|0;f[k>>2]=f[y+8>>2];f[l+12>>2]=f[y+12>>2];f[l+16>>2]=f[y+16>>2];f[l+20>>2]=f[y+20>>2];f[l+24>>2]=f[y+24>>2];f[l+28>>2]=f[y+28>>2];f[l+32>>2]=f[y+32>>2];F=f[y+36>>2]|0;f[l+36>>2]=F;f[l+40>>2]=k;k=l+48|0;M=l+44|0;f[M>>2]=k;f[k>>2]=0;f[l+52>>2]=0;if(F|0){k=F+12|0;f[k>>2]=(f[k>>2]|0)+1}if((f[L>>2]|0)<3){L=f[y+44>>2]|0;k=f[M>>2]|0;f[k>>2]=f[L>>2];f[k+4>>2]=f[L+4>>2];break}else{f[t>>2]=0;WO(l,y);break}}else DJ(l,c,-1);while(0);if(w)N=f[32416+(x<<5)+(d<<2)>>2]|0;else N=JS(d,x)|0;p[m>>3]=e;p[m+8>>3]=g;x=((f[z>>2]|0)>>>3&511)+1|0;if(!N){f[n>>2]=0;f[n+4>>2]=0;z=JV(n,9)|0;d=196746;w=z+9|0;do{b[z>>0]=b[d>>0]|0;z=z+1|0;d=d+1|0}while((z|0)<(w|0));EP(-215,n,157923,157933,1333);KV(n)}if((f[v>>2]|0)<3){v=f[j>>2]|0;d=f[l>>2]|0;z=f[C>>2]|0;C=f[B>>2]|0;B=wVa(z|0,((z|0)<0)<<31>>31|0,x|0,0)|0;w=wVa(B|0,I|0,C|0,((C|0)<0)<<31>>31|0)|0;if((v&16384&d|0)!=0?(w|0)==(w|0)&(I|0)==(((w|0)<0)<<31>>31|0):0){O=1;P=w}else{O=C;P=X(z,x)|0}z=f[D>>2]|0;C=f[H>>2]|0;w=f[l+16>>2]|0;d=f[l+48>>2]|0;f[o>>2]=P;f[o+4>>2]=O;qi[N&255](z,C,0,0,w,d,o,m)}else{f[n>>2]=j;f[n+4>>2]=l;f[n+8>>2]=0;FN(r,n,q,-1);n=X(f[r+20>>2]|0,x)|0;x=r+16|0;o=q+4|0;d=s+4|0;w=0;while(1){if(w>>>0>=(f[x>>2]|0)>>>0)break;C=f[q>>2]|0;z=f[o>>2]|0;f[s>>2]=n;f[d>>2]=1;qi[N&255](C,1,0,0,z,1,s,m);GN(r)|0;w=w+1|0}}w=l+36|0;r=f[w>>2]|0;if(r|0?(m=r+12|0,r=f[m>>2]|0,f[m>>2]=r+-1,(r|0)==1):0)XO(l);f[w>>2]=0;w=l+16|0;r=l+4|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;if((f[r>>2]|0)>0){w=f[l+40>>2]|0;m=0;do{f[w+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[r>>2]|0))}r=f[l+44>>2]|0;if((r|0)!=(l+48|0))dX(r);r=f[E>>2]|0;if(r|0?(l=r+12|0,r=f[l>>2]|0,f[l>>2]=r+-1,(r|0)==1):0)XO(j);f[E>>2]=0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;if((f[A>>2]|0)>0){D=f[G>>2]|0;G=0;do{f[D+(G<<2)>>2]=0;G=G+1|0}while((G|0)<(f[A>>2]|0))}A=f[J>>2]|0;if((A|0)!=(H|0))dX(A)}else eM(a,c);if(!(f[i+4>>2]|0)){u=h;return}u=h;return}function BO(a){a=a|0;return}function CO(a,b,c){a=a|0;b=b|0;c=c|0;return}function DO(a,b){a=a|0;b=b|0;if(f[b+8>>2]|0)return;if(f[b+12>>2]|0)return;zg[f[(f[a>>2]|0)+16>>2]&511](a,b);return}function EO(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;a=u;u=u+288|0;k=a+160|0;l=a+104|0;m=a+48|0;n=a+40|0;o=a+32|0;p=a;if(!c){u=a;return}q=f[c+16>>2]|0;a:do if((e|0)>0){c=e+-2|0;r=l+4|0;if(!h){s=0;while(1){t=g+(s<<2)|0;v=f[t>>2]|0;if((v|0)>-1)w=v;else{f[l>>2]=0;f[r>>2]=0;x=JV(l,27)|0;y=158118;z=x+27|0;do{b[x>>0]=b[y>>0]|0;x=x+1|0;y=y+1|0}while((x|0)<(z|0));EP(-215,l,158598,158151,33);KV(l);w=f[t>>2]|0}if(!w)break a;f[k+(s<<2)>>2]=w;s=s+1|0;if((s|0)>=(e|0)){A=q;B=14;break a}}}else{C=q;D=0}while(1){s=g+(D<<2)|0;v=f[s>>2]|0;if((v|0)>-1)E=v;else{f[l>>2]=0;f[r>>2]=0;x=JV(l,27)|0;y=158118;z=x+27|0;do{b[x>>0]=b[y>>0]|0;x=x+1|0;y=y+1|0}while((x|0)<(z|0));EP(-215,l,158598,158151,33);KV(l);E=f[s>>2]|0}if(!E)break a;if((D|0)>(c|0))F=1;else F=f[i+(D<<2)>>2]|0;t=C+(X(F,f[h+(D<<2)>>2]|0)|0)|0;f[k+(D<<2)>>2]=E;D=D+1|0;if((D|0)>=(e|0)){A=t;B=14;break}else C=t}}else{A=q;B=14}while(0);if((B|0)==14){B=l+4|0;q=l+8|0;C=l+16|0;D=l+20|0;E=l+40|0;x=B;z=x+36|0;do{f[x>>2]=0;x=x+4|0}while((x|0)<(z|0));f[E>>2]=q;q=l+48|0;h=l+44|0;f[h>>2]=q;f[l+52>>2]=0;f[q>>2]=0;f[l>>2]=1124007936;f[C>>2]=A;f[D>>2]=A;OO(l,e,k,i,1);PO(l);i=m+4|0;A=m+8|0;D=m+16|0;F=m+20|0;y=m+40|0;x=i;z=x+36|0;do{f[x>>2]=0;x=x+4|0}while((x|0)<(z|0));f[y>>2]=A;A=m+48|0;x=m+44|0;f[x>>2]=A;f[m+52>>2]=0;f[A>>2]=0;f[m>>2]=1124007936;f[D>>2]=d;f[F>>2]=d;OO(m,e,k,j,1);PO(m);f[n>>2]=l;f[n+4>>2]=m;FN(p,n,o,2);n=f[p+20>>2]|0;j=p+16|0;k=o+4|0;e=0;while(1){if(e>>>0>=(f[j>>2]|0)>>>0)break;DVa(f[k>>2]|0,f[o>>2]|0,n|0)|0;GN(p)|0;e=e+1|0}e=m+36|0;p=f[e>>2]|0;if((p|0?(n=p+12|0,p=f[n>>2]|0,f[n>>2]=p+-1,(p|0)==1):0)?(p=f[e>>2]|0,p|0):0){f[e>>2]=0;n=f[p+4>>2]|0;if(!n){o=f[m+32>>2]|0;if(!o)G=QO()|0;else G=o}else G=n;zg[f[(f[G>>2]|0)+24>>2]&511](G,p)}f[e>>2]=0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;if((f[i>>2]|0)>0){D=f[y>>2]|0;y=0;do{f[D+(y<<2)>>2]=0;y=y+1|0}while((y|0)<(f[i>>2]|0))}i=f[x>>2]|0;if((i|0)!=(A|0))dX(i);i=l+36|0;A=f[i>>2]|0;if((A|0?(x=A+12|0,A=f[x>>2]|0,f[x>>2]=A+-1,(A|0)==1):0)?(A=f[i>>2]|0,A|0):0){f[i>>2]=0;x=f[A+4>>2]|0;if(!x){y=f[l+32>>2]|0;if(!y)H=QO()|0;else H=y}else H=x;zg[f[(f[H>>2]|0)+24>>2]&511](H,A)}f[i>>2]=0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;f[C+12>>2]=0;if((f[B>>2]|0)>0){C=f[E>>2]|0;E=0;do{f[C+(E<<2)>>2]=0;E=E+1|0}while((E|0)<(f[B>>2]|0))}B=f[h>>2]|0;if((B|0)!=(q|0))dX(B)}u=a;return}function FO(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;a=u;u=u+288|0;k=a+160|0;l=a+104|0;m=a+48|0;n=a+40|0;o=a+32|0;p=a;if(!c){u=a;return}q=f[c+16>>2]|0;a:do if((e|0)>0){c=e+-2|0;r=l+4|0;if(!h){s=0;while(1){t=g+(s<<2)|0;v=f[t>>2]|0;if((v|0)>-1)w=v;else{f[l>>2]=0;f[r>>2]=0;x=JV(l,27)|0;y=158118;z=x+27|0;do{b[x>>0]=b[y>>0]|0;x=x+1|0;y=y+1|0}while((x|0)<(z|0));EP(-215,l,158591,158151,64);KV(l);w=f[t>>2]|0}if(!w)break a;f[k+(s<<2)>>2]=w;s=s+1|0;if((s|0)>=(e|0)){A=q;B=14;break a}}}else{C=q;D=0}while(1){s=g+(D<<2)|0;v=f[s>>2]|0;if((v|0)>-1)E=v;else{f[l>>2]=0;f[r>>2]=0;x=JV(l,27)|0;y=158118;z=x+27|0;do{b[x>>0]=b[y>>0]|0;x=x+1|0;y=y+1|0}while((x|0)<(z|0));EP(-215,l,158591,158151,64);KV(l);E=f[s>>2]|0}if(!E)break a;if((D|0)>(c|0))F=1;else F=f[i+(D<<2)>>2]|0;t=C+(X(F,f[h+(D<<2)>>2]|0)|0)|0;f[k+(D<<2)>>2]=E;D=D+1|0;if((D|0)>=(e|0)){A=t;B=14;break}else C=t}}else{A=q;B=14}while(0);if((B|0)==14){B=l+4|0;q=l+8|0;C=l+16|0;D=l+20|0;E=l+40|0;x=B;z=x+36|0;do{f[x>>2]=0;x=x+4|0}while((x|0)<(z|0));f[E>>2]=q;q=l+48|0;h=l+44|0;f[h>>2]=q;f[l+52>>2]=0;f[q>>2]=0;f[l>>2]=1124007936;f[C>>2]=d;f[D>>2]=d;OO(l,e,k,j,1);PO(l);j=m+4|0;d=m+8|0;D=m+16|0;F=m+20|0;y=m+40|0;x=j;z=x+36|0;do{f[x>>2]=0;x=x+4|0}while((x|0)<(z|0));f[y>>2]=d;d=m+48|0;x=m+44|0;f[x>>2]=d;f[m+52>>2]=0;f[d>>2]=0;f[m>>2]=1124007936;f[D>>2]=A;f[F>>2]=A;OO(m,e,k,i,1);PO(m);f[n>>2]=l;f[n+4>>2]=m;FN(p,n,o,2);n=f[p+20>>2]|0;i=p+16|0;k=o+4|0;e=0;while(1){if(e>>>0>=(f[i>>2]|0)>>>0)break;DVa(f[k>>2]|0,f[o>>2]|0,n|0)|0;GN(p)|0;e=e+1|0}e=m+36|0;p=f[e>>2]|0;if((p|0?(n=p+12|0,p=f[n>>2]|0,f[n>>2]=p+-1,(p|0)==1):0)?(p=f[e>>2]|0,p|0):0){f[e>>2]=0;n=f[p+4>>2]|0;if(!n){o=f[m+32>>2]|0;if(!o)G=QO()|0;else G=o}else G=n;zg[f[(f[G>>2]|0)+24>>2]&511](G,p)}f[e>>2]=0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;if((f[j>>2]|0)>0){D=f[y>>2]|0;y=0;do{f[D+(y<<2)>>2]=0;y=y+1|0}while((y|0)<(f[j>>2]|0))}j=f[x>>2]|0;if((j|0)!=(d|0))dX(j);j=l+36|0;d=f[j>>2]|0;if((d|0?(x=d+12|0,d=f[x>>2]|0,f[x>>2]=d+-1,(d|0)==1):0)?(d=f[j>>2]|0,d|0):0){f[j>>2]=0;x=f[d+4>>2]|0;if(!x){y=f[l+32>>2]|0;if(!y)H=QO()|0;else H=y}else H=x;zg[f[(f[H>>2]|0)+24>>2]&511](H,d)}f[j>>2]=0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;f[C+12>>2]=0;if((f[B>>2]|0)>0){C=f[E>>2]|0;E=0;do{f[C+(E<<2)>>2]=0;E=E+1|0}while((E|0)<(f[B>>2]|0))}B=f[h>>2]|0;if((B|0)!=(q|0))dX(B)}u=a;return}function GO(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;l=u;u=u+304|0;a=l+288|0;m=l+160|0;n=l+104|0;o=l+48|0;p=l+40|0;q=l+32|0;r=l;yV(a,32724);if((c|0)!=0&(d|0)!=0){s=f[c+16>>2]|0;c=f[d+16>>2]|0;a:do if((e|0)>0){d=(j|0)==0;t=e+-2|0;v=n+4|0;if(!h){w=0;x=c;while(1){y=g+(w<<2)|0;z=f[y>>2]|0;if((z|0)>-1)A=z;else{f[n>>2]=0;f[v>>2]=0;B=JV(n,27)|0;C=158118;D=B+27|0;do{b[B>>0]=b[C>>0]|0;B=B+1|0;C=C+1|0}while((B|0)<(D|0));EP(-215,n,158146,158151,97);KV(n);A=f[y>>2]|0}if(!A)break a;if(d)E=x;else{if((w|0)>(t|0))F=1;else F=f[k+(w<<2)>>2]|0;E=x+(X(F,f[j+(w<<2)>>2]|0)|0)|0}f[m+(w<<2)>>2]=A;w=w+1|0;if((w|0)>=(e|0)){G=E;H=s;I=22;break a}else x=E}}else{J=0;K=c;L=s}while(1){x=g+(J<<2)|0;w=f[x>>2]|0;if((w|0)>-1)M=w;else{f[n>>2]=0;f[v>>2]=0;B=JV(n,27)|0;C=158118;D=B+27|0;do{b[B>>0]=b[C>>0]|0;B=B+1|0;C=C+1|0}while((B|0)<(D|0));EP(-215,n,158146,158151,97);KV(n);M=f[x>>2]|0}if(!M)break a;y=(J|0)>(t|0);if(y)N=1;else N=f[i+(J<<2)>>2]|0;w=L+(X(N,f[h+(J<<2)>>2]|0)|0)|0;if(d)O=K;else{if(y)P=1;else P=f[k+(J<<2)>>2]|0;O=K+(X(P,f[j+(J<<2)>>2]|0)|0)|0}f[m+(J<<2)>>2]=M;J=J+1|0;if((J|0)>=(e|0)){G=O;H=w;I=22;break}else{K=O;L=w}}}else{G=c;H=s;I=22}while(0);if((I|0)==22){I=n+4|0;s=n+8|0;c=n+16|0;L=n+20|0;O=n+40|0;B=I;D=B+36|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(D|0));f[O>>2]=s;s=n+48|0;K=n+44|0;f[K>>2]=s;f[n+52>>2]=0;f[s>>2]=0;f[n>>2]=1124007936;f[c>>2]=H;f[L>>2]=H;OO(n,e,m,i,1);PO(n);i=o+4|0;H=o+8|0;L=o+16|0;J=o+20|0;M=o+40|0;B=i;D=B+36|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(D|0));f[M>>2]=H;H=o+48|0;B=o+44|0;f[B>>2]=H;f[o+52>>2]=0;f[H>>2]=0;f[o>>2]=1124007936;f[L>>2]=G;f[J>>2]=G;OO(o,e,m,k,1);PO(o);f[p>>2]=n;f[p+4>>2]=o;FN(r,p,q,2);p=f[r+20>>2]|0;k=r+16|0;m=q+4|0;e=0;while(1){if(e>>>0>=(f[k>>2]|0)>>>0)break;DVa(f[m>>2]|0,f[q>>2]|0,p|0)|0;GN(r)|0;e=e+1|0}e=o+36|0;r=f[e>>2]|0;if((r|0?(p=r+12|0,r=f[p>>2]|0,f[p>>2]=r+-1,(r|0)==1):0)?(r=f[e>>2]|0,r|0):0){f[e>>2]=0;p=f[r+4>>2]|0;if(!p){q=f[o+32>>2]|0;if(!q)Q=QO()|0;else Q=q}else Q=p;zg[f[(f[Q>>2]|0)+24>>2]&511](Q,r)}f[e>>2]=0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;if((f[i>>2]|0)>0){L=f[M>>2]|0;M=0;do{f[L+(M<<2)>>2]=0;M=M+1|0}while((M|0)<(f[i>>2]|0))}i=f[B>>2]|0;if((i|0)!=(H|0))dX(i);i=n+36|0;H=f[i>>2]|0;if((H|0?(B=H+12|0,H=f[B>>2]|0,f[B>>2]=H+-1,(H|0)==1):0)?(H=f[i>>2]|0,H|0):0){f[i>>2]=0;B=f[H+4>>2]|0;if(!B){M=f[n+32>>2]|0;if(!M)R=QO()|0;else R=M}else R=B;zg[f[(f[R>>2]|0)+24>>2]&511](R,H)}f[i>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[I>>2]|0)>0){c=f[O>>2]|0;O=0;do{f[c+(O<<2)>>2]=0;O=O+1|0}while((O|0)<(f[I>>2]|0))}I=f[K>>2]|0;if((I|0)!=(s|0))dX(I)}}if(!(f[a+4>>2]|0)){u=l;return}u=l;return}function HO(a,c){a=a|0;c=c|0;if((b[453280]|0)==0?jVa(453280)|0:0)f[113863]=32700;return 455452}function IO(a){a=a|0;return -1}function JO(a){a=a|0;return -1}function KO(a,b){a=a|0;b=b|0;return}function LO(a){a=a|0;return}function MO(a){a=a|0;return}function NO(a){a=a|0;GQa(a);return}function OO(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;h=u;u=u+16|0;i=h;if(c>>>0>=33){f[i>>2]=0;f[i+4>>2]=0;j=JV(i,25)|0;k=158301;l=j+25|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-215,i,158327,158151,209);KV(i)}m=a+4|0;if((f[m>>2]|0)!=(c|0)){n=a+44|0;o=f[n>>2]|0;p=a+48|0;if((o|0)!=(p|0)){dX(o);f[n>>2]=p;f[a+40>>2]=a+8}if((c|0)>2){p=cX(c<<3|4)|0;f[n>>2]=p;n=p+(c<<2)+4|0;f[a+40>>2]=n;f[n+-4>>2]=c;f[a+12>>2]=-1;f[a+8>>2]=-1}}f[m>>2]=c;if(!d){u=h;return}n=f[a>>2]|0;p=n&7;o=(n>>>3&511)+1<<(47696>>>(p<<1)&3);n=1212424721>>>(p<<2)&15;p=c+-1|0;if((c|0)<=0){u=h;return}q=a+40|0;r=a+44|0;s=i+4|0;t=i+4|0;v=i+4|0;if(!e){w=p;x=o;while(1){y=f[d+(w<<2)>>2]|0;if((y|0)<=-1){f[i>>2]=0;f[v>>2]=0;z=JV(i,6)|0;b[z>>0]=b[158335]|0;b[z+1>>0]=b[158336]|0;b[z+2>>0]=b[158337]|0;b[z+3>>0]=b[158338]|0;b[z+4>>0]=b[158339]|0;b[z+5>>0]=b[158340]|0;EP(-215,i,158327,158151,235);KV(i)}f[(f[q>>2]|0)+(w<<2)>>2]=y;if(g){f[(f[r>>2]|0)+(w<<2)>>2]=x;z=wVa(y|0,((y|0)<0)<<31>>31|0,x|0,0)|0;if((z|0)==(z|0)&(I|0)==0)A=z;else{f[i>>2]=0;f[s>>2]=0;j=JV(i,51)|0;k=158342;l=j+51|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-211,i,158327,158151,252);KV(i);A=z}}else A=x;if((w|0)>0){w=w+-1|0;x=A}else break}}else{A=p;while(1){x=f[d+(A<<2)>>2]|0;if((x|0)<=-1){f[i>>2]=0;f[v>>2]=0;w=JV(i,6)|0;b[w>>0]=b[158335]|0;b[w+1>>0]=b[158336]|0;b[w+2>>0]=b[158337]|0;b[w+3>>0]=b[158338]|0;b[w+4>>0]=b[158339]|0;b[w+5>>0]=b[158340]|0;EP(-215,i,158327,158151,235);KV(i)}f[(f[q>>2]|0)+(A<<2)>>2]=x;x=e+(A<<2)|0;if(((f[x>>2]|0)>>>0)%(n>>>0)|0|0){f[i>>2]=0;f[t>>2]=0;j=JV(i,31)|0;k=158394;l=j+31|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-13,i,158327,158151,242);KV(i)}if((A|0)<(p|0))B=f[x>>2]|0;else B=o;f[(f[r>>2]|0)+(A<<2)>>2]=B;if((A|0)>0)A=A+-1|0;else break}}if((c|0)!=1){u=h;return}f[m>>2]=2;f[a+12>>2]=1;f[(f[a+44>>2]|0)+4>>2]=o;u=h;return}function PO(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=f[a+4>>2]|0;c=f[a+40>>2]|0;a:do if((b|0)>0){d=0;while(1){if((f[c+(d<<2)>>2]|0)>1){e=d;break a}g=d+1|0;if((g|0)<(b|0))d=g;else{e=g;break}}}else e=0;while(0);d=f[a+44>>2]|0;g=b;do{h=g;g=g+-1|0;if((g|0)<=(e|0))break;i=X(f[c+(g<<2)>>2]|0,f[d+(g<<2)>>2]|0)|0}while(i>>>0>=(f[d+(h+-2<<2)>>2]|0)>>>0);h=f[c>>2]|0;i=wVa(h|0,((h|0)<0)<<31>>31|0,f[d>>2]|0,0)|0;h=f[a>>2]|0;f[a>>2]=(g|0)<=(e|0)&((i|0)==(i|0)&(I|0)==0)?h|16384:h&-16385;if((b|0)>2){f[a+12>>2]=-1;f[a+8>>2]=-1}h=f[a+36>>2]|0;if(!h)j=f[a+16>>2]|0;else{i=f[h+16>>2]|0;f[a+16>>2]=i;f[a+20>>2]=i;j=i}if(!j){f[a+28>>2]=0;f[a+24>>2]=0;return}i=f[c>>2]|0;h=f[d>>2]|0;e=(f[a+20>>2]|0)+(X(h,i)|0)|0;f[a+28>>2]=e;if((i|0)<=0){f[a+24>>2]=e;return}e=b+-1|0;g=j+(X(f[d+(e<<2)>>2]|0,f[c+(e<<2)>>2]|0)|0)|0;j=a+24|0;f[j>>2]=g;if((b|0)<=1)return;b=g+(X(h,i+-1|0)|0)|0;if((e|0)==1)k=b;else{i=1;h=b;while(1){b=h+(X(f[d+(i<<2)>>2]|0,(f[c+(i<<2)>>2]|0)+-1|0)|0)|0;i=i+1|0;if((i|0)==(e|0)){k=b;break}else h=b}}f[j>>2]=k;return}function QO(){var a=0,b=0,c=0,d=0;if(f[113864]|0){a=f[113864]|0;return a|0}b=NP()|0;pQ(b);if(!(f[113864]|0)){if(!(f[113865]|0)){c=NP()|0;pQ(c);if(!(f[113865]|0)){d=EQa(4)|0;f[d>>2]=32752;f[113865]=d}qQ(c)}f[113864]=f[113865]}qQ(b);a=f[113864]|0;return a|0}function RO(a){a=a|0;GQa(a);return}function SO(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;j=u;u=u+16|0;i=j;k=(e>>>3&511)+1<<(47696>>>(e<<1&14)&3);e=c+-1|0;a:do if((c|0)>0){l=i+4|0;if(!h){m=e;n=k;while(1){o=X(f[d+(m<<2)>>2]|0,n)|0;if((m|0)>0){m=m+-1|0;n=o}else{p=o;break a}}}if(!g){n=e;m=k;while(1){f[h+(n<<2)>>2]=m;o=X(f[d+(n<<2)>>2]|0,m)|0;if((n|0)>0){n=n+-1|0;m=o}else{p=o;break a}}}else{q=e;r=k}while(1){m=h+(q<<2)|0;n=f[m>>2]|0;if((n|0)!=2147483647)if(r>>>0>n>>>0){f[i>>2]=0;f[l>>2]=0;o=JV(i,16)|0;s=158252;t=o+16|0;do{b[o>>0]=b[s>>0]|0;o=o+1|0;s=s+1|0}while((o|0)<(t|0));EP(-215,i,158269,158151,139);KV(i);v=f[m>>2]|0}else v=n;else{f[m>>2]=r;v=r}s=X(f[d+(q<<2)>>2]|0,v)|0;if((q|0)>0){q=q+-1|0;r=s}else{p=s;break}}}else p=k;while(0);k=(g|0)!=0;if(k)w=g;else w=cX(p)|0;g=EQa(52)|0;fN(g,a);f[g+20>>2]=w;f[g+16>>2]=w;f[g+24>>2]=p;if(!k){u=j;return g|0}k=g+28|0;f[k>>2]=f[k>>2]|32;u=j;return g|0}function TO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return (b|0)!=0|0}function UO(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;a=u;u=u+16|0;d=a;if(!c){u=a;return}if(f[c+8>>2]|0){f[d>>2]=0;f[d+4>>2]=0;e=JV(d,17)|0;g=158206;h=e+17|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));EP(-215,d,158224,158151,168);KV(d)}if(f[c+12>>2]|0){f[d>>2]=0;f[d+4>>2]=0;e=JV(d,16)|0;g=158235;h=e+16|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));EP(-215,d,158224,158151,169);KV(d)}if(!(f[c+28>>2]&32)){d=c+20|0;dX(f[d>>2]|0);f[d>>2]=0}gN(c);GQa(c);u=a;return}function VO(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=u;u=u+144|0;h=g+8|0;i=g;if(!(c>>>0<33&(d|0)!=0)){f[h>>2]=0;f[h+4>>2]=0;j=JV(h,27)|0;k=158627;l=j+27|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-215,h,169501,158151,316);KV(h)}k=e&4095;e=a+16|0;do if(f[e>>2]|0){j=f[a+4>>2]|0;if((j|0)!=(c|0)?!((c|0)==1&(j|0)<3):0)break;if((k|0)==(f[a>>2]&4095|0)){if((c|0)==2)if((f[a+8>>2]|0)==(f[d>>2]|0)?(f[a+12>>2]|0)==(f[d+4>>2]|0):0){u=g;return}else m=11;else if((c|0)>0)m=11;else n=0;a:do if((m|0)==11){j=f[a+40>>2]|0;l=0;while(1){if((f[j+(l<<2)>>2]|0)!=(f[d+(l<<2)>>2]|0)){n=l;break a}o=l+1|0;if((o|0)<(c|0))l=o;else{n=o;break}}}while(0);if((n|0)==(c|0)){if((c|0)>1){u=g;return}if((f[(f[a+40>>2]|0)+4>>2]|0)==1){u=g;return}}}}while(0);n=a+40|0;if((f[n>>2]|0)==(d|0)){if((c|0)>0)DVa(h|0,d|0,c<<2|0)|0;p=h}else p=d;d=a+36|0;h=f[d>>2]|0;if((h|0?(m=h+12|0,h=f[m>>2]|0,f[m>>2]=h+-1,(h|0)==1):0)?(h=f[d>>2]|0,h|0):0){f[d>>2]=0;m=f[h+4>>2]|0;if(!m){l=f[a+32>>2]|0;if(!l)q=QO()|0;else q=l}else q=m;zg[f[(f[q>>2]|0)+24>>2]&511](q,h)}f[d>>2]=0;h=a+4|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;if((f[h>>2]|0)>0){e=f[n>>2]|0;q=0;do{f[e+(q<<2)>>2]=0;q=q+1|0}while((q|0)<(f[h>>2]|0))}if(c|0){f[a>>2]=k|1124007936;OO(a,c,p,0,1);p=f[h>>2]|0;if((p|0)<3)r=X(f[a+12>>2]|0,f[a+8>>2]|0)|0;else{c=f[n>>2]|0;q=0;e=1;while(1){m=X(f[c+(q<<2)>>2]|0,e)|0;q=q+1|0;if((q|0)==(p|0)){r=m;break}else e=m}}if(r|0){r=f[a+32>>2]|0;e=QO()|0;p=(r|0)==0?e:r;r=a+44|0;e=lg[f[(f[p>>2]|0)+8>>2]&15](p,f[h>>2]|0,f[n>>2]|0,k,0,f[r>>2]|0,0,0)|0;f[d>>2]=e;if(!e){f[i>>2]=0;f[i+4>>2]=0;e=JV(i,6)|0;b[e>>0]=b[158655]|0;b[e+1>>0]=b[158656]|0;b[e+2>>0]=b[158657]|0;b[e+3>>0]=b[158658]|0;b[e+4>>0]=b[158659]|0;b[e+5>>0]=b[158660]|0;EP(-215,i,169501,158151,356);KV(i)}e=f[a>>2]|0;if((f[(f[r>>2]|0)+((f[h>>2]|0)+-1<<2)>>2]|0)!=((e>>>3&511)+1<<(47696>>>(e<<1&14)&3)|0)){f[i>>2]=0;f[i+4>>2]=0;DVa(JV(i,146)|0,158662,146)|0;EP(-215,i,169501,158151,364);KV(i)}}i=f[d>>2]|0;if(i|0){d=i+12|0;f[d>>2]=(f[d>>2]|0)+1}PO(a)}u=g;return}function WO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;OO(a,f[b+4>>2]|0,0,0,0);c=a+4|0;if((f[c>>2]|0)<=0)return;d=f[b+40>>2]|0;e=f[a+40>>2]|0;g=f[b+44>>2]|0;b=f[a+44>>2]|0;a=0;do{f[e+(a<<2)>>2]=f[d+(a<<2)>>2];f[b+(a<<2)>>2]=f[g+(a<<2)>>2];a=a+1|0}while((a|0)<(f[c>>2]|0));return}function XO(a){a=a|0;var b=0,c=0,d=0,e=0;b=a+36|0;c=f[b>>2]|0;if(!c)return;f[b>>2]=0;b=f[c+4>>2]|0;if(!b){d=f[a+32>>2]|0;if(!d)e=QO()|0;else e=d}else e=b;zg[f[(f[e>>2]|0)+24>>2]&511](e,c);return}function YO(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;g=u;u=u+1152|0;h=g+56|0;i=g;f[a>>2]=1124007936;j=a+4|0;k=a+8|0;l=a+12|0;m=a+16|0;n=a+32|0;o=a+36|0;p=a+40|0;q=j;r=q+36|0;do{f[q>>2]=0;q=q+4|0}while((q|0)<(r|0));f[p>>2]=k;s=a+48|0;t=a+44|0;f[t>>2]=s;f[a+52>>2]=0;f[s>>2]=0;v=c+4|0;w=f[v>>2]|0;if((w|0)>1)x=w;else{f[h>>2]=0;f[h+4>>2]=0;q=JV(h,11)|0;y=158809;r=q+11|0;do{b[q>>0]=b[y>>0]|0;q=q+1|0;y=y+1|0}while((q|0)<(r|0));EP(-215,h,346770,158151,400);KV(h);x=f[v>>2]|0}if((x|0)>2){w=h+8|0;FVa(w|0,0,1088)|0;f[h>>2]=w;z=h+4|0;f[z>>2]=x;if(x>>>0>136){A=FQa(x>>>0>536870911?-1:x<<3)|0;FVa(A|0,0,x<<3|0)|0;f[h>>2]=A;B=A;C=A}else{B=w;C=w}A=d;x=f[A+4>>2]|0;D=B;f[D>>2]=f[A>>2];f[D+4>>2]=x;x=e;D=f[x+4>>2]|0;A=C+8|0;f[A>>2]=f[x>>2];f[A+4>>2]=D;D=2;A=C;do{C=A+(D<<3)|0;f[C>>2]=-2147483648;f[C+4>>2]=2147483647;D=D+1|0;A=f[h>>2]|0}while((D|0)<(f[v>>2]|0));ZO(i,c,A);_O(a,i)|0;A=i+36|0;v=f[A>>2]|0;if((v|0?(D=v+12|0,v=f[D>>2]|0,f[D>>2]=v+-1,(v|0)==1):0)?(v=f[A>>2]|0,v|0):0){f[A>>2]=0;D=f[v+4>>2]|0;if(!D){C=f[i+32>>2]|0;if(!C)E=QO()|0;else E=C}else E=D;zg[f[(f[E>>2]|0)+24>>2]&511](E,v)}f[A>>2]=0;A=i+16|0;v=i+4|0;f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;f[A+12>>2]=0;if((f[v>>2]|0)>0){A=f[i+40>>2]|0;E=0;do{f[A+(E<<2)>>2]=0;E=E+1|0}while((E|0)<(f[v>>2]|0))}v=f[i+44>>2]|0;if((v|0)!=(i+48|0))dX(v);v=f[h>>2]|0;if((v|0)!=(w|0)){if(v|0)HQa(v);f[h>>2]=w;f[z>>2]=136}u=g;return}_O(a,c)|0;z=f[d>>2]|0;w=d+4|0;v=f[w>>2]|0;if((z|0)!=-2147483648|(v|0)!=2147483647?(z|0?1:(v|0)!=(f[k>>2]|0)):0){if(!((z|0)<0|(z|0)>(v|0))?(v|0)<=(f[c+8>>2]|0):0){F=z;G=v}else{f[h>>2]=0;f[h+4>>2]=0;q=JV(h,83)|0;y=158821;r=q+83|0;do{b[q>>0]=b[y>>0]|0;q=q+1|0;y=y+1|0}while((q|0)<(r|0));EP(-215,h,346770,158151,418);KV(h);F=f[d>>2]|0;G=f[w>>2]|0}f[k>>2]=G-F;G=X(F,f[s>>2]|0)|0;f[m>>2]=(f[m>>2]|0)+G;f[a>>2]=f[a>>2]|32768}G=f[e>>2]|0;s=e+4|0;F=f[s>>2]|0;if((G|0)!=-2147483648|(F|0)!=2147483647?(G|0?1:(F|0)!=(f[l>>2]|0)):0){if(!((G|0)<0|(G|0)>(F|0))?(F|0)<=(f[c+12>>2]|0):0){H=G;I=F}else{f[h>>2]=0;f[h+4>>2]=0;q=JV(h,83)|0;y=158905;r=q+83|0;do{b[q>>0]=b[y>>0]|0;q=q+1|0;y=y+1|0}while((q|0)<(r|0));EP(-215,h,346770,158151,427);KV(h);H=f[e>>2]|0;I=f[s>>2]|0}s=I-H|0;f[l>>2]=s;I=f[j>>2]|0;if((I|0)>0)J=f[(f[t>>2]|0)+(I+-1<<2)>>2]|0;else J=0;I=X(J,H)|0;f[m>>2]=(f[m>>2]|0)+I;f[a>>2]=((s|0)<(f[c+12>>2]|0)?-49153:-32769)&f[a>>2]|32768}c=f[k>>2]|0;if((c|0)!=1){if((c|0)>=1)K=42}else{f[a>>2]=f[a>>2]|16384;K=42}if((K|0)==42?(f[l>>2]|0)>=1:0){u=g;return}K=f[o>>2]|0;if((K|0?(a=K+12|0,K=f[a>>2]|0,f[a>>2]=K+-1,(K|0)==1):0)?(K=f[o>>2]|0,K|0):0){f[o>>2]=0;a=f[K+4>>2]|0;if(!a){c=f[n>>2]|0;if(!c)L=QO()|0;else L=c}else L=a;zg[f[(f[L>>2]|0)+24>>2]&511](L,K)}f[o>>2]=0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;if((f[j>>2]|0)>0){m=f[p>>2]|0;p=0;do{f[m+(p<<2)>>2]=0;p=p+1|0}while((p|0)<(f[j>>2]|0))}f[l>>2]=0;f[k>>2]=0;u=g;return}function ZO(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;e=u;u=u+16|0;g=e;f[a>>2]=1124007936;h=a+4|0;i=a+8|0;j=a+16|0;k=a+40|0;l=h;m=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[k>>2]=i;i=a+48|0;n=a+44|0;f[n>>2]=i;f[a+52>>2]=0;f[i>>2]=0;i=f[c+4>>2]|0;if(!d){f[g>>2]=0;f[g+4>>2]=0;o=JV(g,6)|0;b[o>>0]=b[158989]|0;b[o+1>>0]=b[158990]|0;b[o+2>>0]=b[158991]|0;b[o+3>>0]=b[158992]|0;b[o+4>>0]=b[158993]|0;b[o+5>>0]=b[158994]|0;EP(-215,g,346770,158151,508);KV(g)}o=(i|0)>0;if(o){p=c+40|0;q=g+4|0;r=0;do{s=d+(r<<3)|0;t=f[s>>2]|0;v=f[s+4>>2]|0;do if(!((t|0)==-2147483648&(v|0)==2147483647)){if((t|0)>-1&(t|0)<(v|0)?(f[(f[p>>2]|0)+(r<<2)>>2]|0)>=(v|0):0)break;f[g>>2]=0;f[q>>2]=0;l=JV(g,76)|0;s=158996;m=l+76|0;do{b[l>>0]=b[s>>0]|0;l=l+1|0;s=s+1|0}while((l|0)<(m|0));EP(-215,g,346770,158151,512);KV(g)}while(0);r=r+1|0}while((r|0)<(i|0));_O(a,c)|0;if(o){o=0;do{r=d+(o<<3)|0;g=f[r>>2]|0;l=f[r+4>>2]|0;if((g|0)!=-2147483648|(l|0)!=2147483647?(r=(f[k>>2]|0)+(o<<2)|0,g|0?1:(f[r>>2]|0)!=(l|0)):0){f[r>>2]=l-g;l=X(f[(f[n>>2]|0)+(o<<2)>>2]|0,g)|0;f[j>>2]=(f[j>>2]|0)+l;f[a>>2]=f[a>>2]|32768}o=o+1|0}while((o|0)!=(i|0))}}else _O(a,c)|0;c=f[h>>2]|0;h=f[k>>2]|0;a:do if((c|0)>0){k=0;while(1){if((f[h+(k<<2)>>2]|0)>1){w=k;break a}i=k+1|0;if((i|0)<(c|0))k=i;else{w=i;break}}}else w=0;while(0);k=f[n>>2]|0;n=c;while(1){c=n;n=n+-1|0;if((n|0)<=(w|0)){x=18;break}i=X(f[h+(n<<2)>>2]|0,f[k+(n<<2)>>2]|0)|0;if(i>>>0<(f[k+(c+-2<<2)>>2]|0)>>>0){x=18;break}}if((x|0)==18){x=f[h>>2]|0;h=wVa(x|0,((x|0)<0)<<31>>31|0,f[k>>2]|0,0)|0;k=f[a>>2]|0;f[a>>2]=(n|0)<=(w|0)&((h|0)==(h|0)&(I|0)==0)?k|16384:k&-16385;u=e;return}}function _O(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;if((a|0)==(b|0))return a|0;c=b+36|0;d=f[c>>2]|0;if(d|0){e=d+12|0;f[e>>2]=(f[e>>2]|0)+1}e=a+36|0;d=f[e>>2]|0;if((d|0?(g=d+12|0,d=f[g>>2]|0,f[g>>2]=d+-1,(d|0)==1):0)?(d=f[e>>2]|0,d|0):0){f[e>>2]=0;g=f[d+4>>2]|0;if(!g){h=f[a+32>>2]|0;if(!h)i=QO()|0;else i=h}else i=g;zg[f[(f[i>>2]|0)+24>>2]&511](i,d)}f[e>>2]=0;d=a+16|0;i=a+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[i>>2]|0)>0){g=f[a+40>>2]|0;h=0;do{f[g+(h<<2)>>2]=0;h=h+1|0;j=f[i>>2]|0}while((h|0)<(j|0));f[a>>2]=f[b>>2];if((j|0)<3)k=17;else{l=f[b+4>>2]|0;k=19}}else{f[a>>2]=f[b>>2];k=17}if((k|0)==17){j=f[b+4>>2]|0;if((j|0)<3){f[i>>2]=j;f[a+8>>2]=f[b+8>>2];f[a+12>>2]=f[b+12>>2];h=f[b+44>>2]|0;g=f[a+44>>2]|0;f[g>>2]=f[h>>2];f[g+4>>2]=f[h+4>>2]}else{l=j;k=19}}if((k|0)==19?(OO(a,l,0,0,0),(f[i>>2]|0)>0):0){l=f[b+40>>2]|0;k=f[a+40>>2]|0;j=f[b+44>>2]|0;h=f[a+44>>2]|0;g=0;do{f[k+(g<<2)>>2]=f[l+(g<<2)>>2];f[h+(g<<2)>>2]=f[j+(g<<2)>>2];g=g+1|0}while((g|0)<(f[i>>2]|0))}f[d>>2]=f[b+16>>2];f[a+20>>2]=f[b+20>>2];f[a+24>>2]=f[b+24>>2];f[a+28>>2]=f[b+28>>2];f[a+32>>2]=f[b+32>>2];f[e>>2]=f[c>>2];return a|0}function $O(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;e=u;u=u+16|0;g=e;h=f[c>>2]|0;f[a>>2]=h;i=a+4|0;f[i>>2]=2;j=a+8|0;k=d+12|0;f[j>>2]=f[k>>2];l=a+12|0;m=d+8|0;f[l>>2]=f[m>>2];n=a+16|0;o=d+4|0;p=c+44|0;q=(f[c+16>>2]|0)+(X(f[f[p>>2]>>2]|0,f[o>>2]|0)|0)|0;f[n>>2]=q;f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];r=a+32|0;f[r>>2]=f[c+32>>2];s=a+36|0;f[s>>2]=f[c+36>>2];t=a+40|0;f[t>>2]=j;v=a+48|0;w=a+44|0;f[w>>2]=v;f[a+52>>2]=0;f[v>>2]=0;if((f[c+4>>2]|0)<3){x=h;y=q}else{f[g>>2]=0;f[g+4>>2]=0;z=JV(g,11)|0;A=174436;B=z+11|0;do{b[z>>0]=b[A>>0]|0;z=z+1|0;A=A+1|0}while((z|0)<(B|0));EP(-215,g,346770,158151,457);KV(g);x=f[a>>2]|0;y=f[n>>2]|0}q=f[m>>2]|0;h=c+12|0;v=f[h>>2]|0;C=f[k>>2]|0;f[a>>2]=((C|0)==1?16384:0)|((q|0)<(v|0)?-16385:-1)&x;D=(x>>>3&511)+1<<(47696>>>(x<<1&14)&3);x=f[d>>2]|0;d=y+(X(D,x)|0)|0;f[n>>2]=d;if(!((!((x|q|0)<0|(q+x|0)>(v|0))?(v=f[o>>2]|0,(v|C|0)>-1):0)?(C+v|0)<=(f[c+8>>2]|0):0)){f[g>>2]=0;f[g+4>>2]=0;z=JV(g,124)|0;A=159073;B=z+124|0;do{b[z>>0]=b[A>>0]|0;z=z+1|0;A=A+1|0}while((z|0)<(B|0));EP(-215,g,346770,158151,464);KV(g)}g=f[s>>2]|0;if(g|0){A=g+12|0;f[A>>2]=(f[A>>2]|0)+1}if(!((f[m>>2]|0)>=(f[h>>2]|0)?(f[k>>2]|0)>=(f[c+8>>2]|0):0))f[a>>2]=f[a>>2]|32768;a=f[w>>2]|0;f[a>>2]=f[f[p>>2]>>2];f[a+4>>2]=D;if((f[j>>2]|0)>=1?(f[l>>2]|0)>=1:0){u=e;return}D=f[s>>2]|0;if((D|0?(a=D+12|0,D=f[a>>2]|0,f[a>>2]=D+-1,(D|0)==1):0)?(D=f[s>>2]|0,D|0):0){f[s>>2]=0;a=f[D+4>>2]|0;if(!a){p=f[r>>2]|0;if(!p)E=QO()|0;else E=p}else E=a;zg[f[(f[E>>2]|0)+24>>2]&511](E,D)}f[s>>2]=0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;if((f[i>>2]|0)>0){n=f[t>>2]|0;t=0;do{f[n+(t<<2)>>2]=0;t=t+1|0}while((t|0)<(f[i>>2]|0))}f[l>>2]=0;f[j>>2]=0;u=e;return}function aP(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;h=a+8|0;i=a+16|0;j=a+20|0;k=a+40|0;l=a+4|0;m=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[k>>2]=h;h=a+48|0;f[a+44>>2]=h;f[a+52>>2]=0;f[h>>2]=0;f[a>>2]=d&4095|1124007936;f[i>>2]=e;f[j>>2]=e;OO(a,b,c,g,1);PO(a);return}function bP(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;e=u;u=u+16|0;g=e;h=c+4|0;i=f[h>>2]|0;if((i|0)<3)j=i;else{f[g>>2]=0;f[g+4>>2]=0;i=JV(g,9)|0;k=159198;l=i+9|0;do{b[i>>0]=b[k>>0]|0;i=i+1|0;k=k+1|0}while((i|0)<(l|0));EP(-215,g,159208,158151,557);KV(g);j=f[h>>2]|0}f[a>>2]=f[c>>2];g=a+4|0;f[g>>2]=j;k=a+8|0;i=c+8|0;f[k>>2]=f[i>>2];l=a+12|0;m=c+12|0;f[l>>2]=f[m>>2];n=a+16|0;f[n>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];o=f[c+36>>2]|0;f[a+36>>2]=o;p=a+40|0;f[p>>2]=k;q=a+48|0;r=a+44|0;f[r>>2]=q;f[q>>2]=0;f[a+52>>2]=0;if(!o)s=j;else{j=o+12|0;f[j>>2]=(f[j>>2]|0)+1;s=f[h>>2]|0}if((s|0)>=3){f[g>>2]=0;OO(a,s,0,0,0);if((f[g>>2]|0)>0){s=f[c+40>>2]|0;j=f[p>>2]|0;o=f[c+44>>2]|0;q=f[r>>2]|0;t=0;do{f[j+(t<<2)>>2]=f[s+(t<<2)>>2];f[q+(t<<2)>>2]=f[o+(t<<2)>>2];t=t+1|0}while((t|0)<(f[g>>2]|0))}}else{g=f[c+44>>2]|0;t=f[r>>2]|0;f[t>>2]=f[g>>2];f[t+4>>2]=f[g+4>>2]}g=f[h>>2]|0;if((g|0)>0)v=f[(f[c+44>>2]|0)+(g+-1<<2)>>2]|0;else v=0;if((d|0)>-1){g=(f[m>>2]|0)-d|0;h=f[i>>2]|0;t=X(v,d)|0;w=(h|0)<(g|0)?h:g;x=(f[n>>2]|0)+t|0}else{t=(f[i>>2]|0)+d|0;i=f[m>>2]|0;w=(i|0)<(t|0)?i:t;x=(f[n>>2]|0)+(X(f[f[c+44>>2]>>2]|0,0-d|0)|0)|0}f[n>>2]=x;f[k>>2]=w;x=f[p>>2]|0;f[x>>2]=w;f[l>>2]=1;f[x+4>>2]=1;x=f[r>>2]|0;f[x>>2]=(f[x>>2]|0)+((w|0)>1?v:0);v=f[a>>2]|0;w=(f[k>>2]|0)>1?v&-16385:v|16384;f[a>>2]=w;v=f[c+40>>2]|0;if(!((f[v>>2]|0)!=1?1:(f[v+4>>2]|0)!=1)){u=e;return}f[a>>2]=w|32768;u=e;return}function cP(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+144|0;e=d+120|0;g=d+112|0;h=d+56|0;i=d;if((c|0)<=-1){f[e>>2]=0;f[e+4>>2]=0;j=JV(e,16)|0;k=159213;l=j+16|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-215,e,159230,158151,630);KV(e)}if((f[a>>2]&32768|0)==0?(k=(f[a+16>>2]|0)+(X(f[f[a+44>>2]>>2]|0,c)|0)|0,k>>>0<=(f[a+28>>2]|0)>>>0):0){u=d;return}k=a+40|0;m=f[k>>2]|0;n=f[m>>2]|0;if(n>>>0>=c>>>0){u=d;return}f[m>>2]=(c|0)>1?c:1;m=a+4|0;o=f[m>>2]|0;if((o|0)<3)p=X(f[a+12>>2]|0,f[a+8>>2]|0)|0;else{q=f[k>>2]|0;r=0;s=1;while(1){t=X(f[q+(r<<2)>>2]|0,s)|0;r=r+1|0;if((r|0)==(o|0)){p=t;break}else s=t}}if((o|0)>0)v=f[(f[a+44>>2]|0)+(o+-1<<2)>>2]|0;else v=0;s=X(v,p)|0;if(s>>>0<64){p=((X(s+63|0,c)|0)>>>0)/(s>>>0)|0;f[f[k>>2]>>2]=p;w=f[m>>2]|0}else w=o;o=f[k>>2]|0;m=f[a>>2]&4095;f[h>>2]=1124007936;p=h+4|0;s=h+8|0;c=h+40|0;j=p;l=j+36|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(l|0));f[c>>2]=s;s=h+48|0;j=h+44|0;f[j>>2]=s;f[s>>2]=0;f[h+52>>2]=0;VO(h,w,o,m);f[f[k>>2]>>2]=n;if((n|0)>0){f[e>>2]=0;f[e+4>>2]=n;f[g>>2]=-2147483648;f[g+4>>2]=2147483647;YO(i,h,e,g);g=e+8|0;f[g>>2]=0;f[g+4>>2]=0;f[e>>2]=33619968;f[e+4>>2]=i;eM(a,e);e=i+36|0;g=f[e>>2]|0;if((g|0?(m=g+12|0,g=f[m>>2]|0,f[m>>2]=g+-1,(g|0)==1):0)?(g=f[e>>2]|0,g|0):0){f[e>>2]=0;m=f[g+4>>2]|0;if(!m){o=f[i+32>>2]|0;if(!o)x=QO()|0;else x=o}else x=m;zg[f[(f[x>>2]|0)+24>>2]&511](x,g)}f[e>>2]=0;e=i+16|0;g=i+4|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;if((f[g>>2]|0)>0){e=f[i+40>>2]|0;x=0;do{f[e+(x<<2)>>2]=0;x=x+1|0}while((x|0)<(f[g>>2]|0))}g=f[i+44>>2]|0;if((g|0)!=(i+48|0))dX(g)}_O(a,h)|0;f[f[k>>2]>>2]=n;k=(f[a+16>>2]|0)+(X(f[f[a+44>>2]>>2]|0,n)|0)|0;f[a+24>>2]=k;k=h+36|0;a=f[k>>2]|0;if((a|0?(n=a+12|0,a=f[n>>2]|0,f[n>>2]=a+-1,(a|0)==1):0)?(a=f[k>>2]|0,a|0):0){f[k>>2]=0;n=f[a+4>>2]|0;if(!n){g=f[h+32>>2]|0;if(!g)y=QO()|0;else y=g}else y=n;zg[f[(f[y>>2]|0)+24>>2]&511](y,a)}f[k>>2]=0;k=h+16|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;if((f[p>>2]|0)>0){k=f[c>>2]|0;c=0;do{f[k+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[p>>2]|0))}p=f[j>>2]|0;if((p|0)!=(s|0))dX(p);u=d;return}function dP(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+16|0;e=d;g=a+40|0;h=f[f[g>>2]>>2]|0;if((h|0)==(c|0)){u=d;return}if((c|0)<=-1){f[e>>2]=0;f[e+4>>2]=0;i=JV(e,16)|0;j=159213;k=i+16|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-215,e,196664,158151,691);KV(e)}if(!(f[a>>2]&32768)){e=a+44|0;j=f[e>>2]|0;i=(f[a+16>>2]|0)+(X(f[j>>2]|0,c)|0)|0;if(i>>>0>(f[a+28>>2]|0)>>>0){l=e;m=7}else n=j}else{l=a+44|0;m=7}if((m|0)==7){cP(a,c);n=f[l>>2]|0}f[f[g>>2]>>2]=c;g=X(f[n>>2]|0,c-h|0)|0;h=a+24|0;f[h>>2]=(f[h>>2]|0)+g;u=d;return}function eP(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;d=u;u=u+176|0;e=d+112|0;g=d+56|0;h=d;i=a+40|0;j=f[i>>2]|0;k=f[j>>2]|0;l=c+40|0;m=f[l>>2]|0;n=f[m>>2]|0;if(!n){u=d;return}if((a|0)==(c|0)){f[e>>2]=f[a>>2];o=e+4|0;p=a+4|0;q=f[p>>2]|0;f[o>>2]=q;r=e+8|0;f[r>>2]=f[a+8>>2];f[e+12>>2]=f[a+12>>2];s=e+16|0;f[s>>2]=f[a+16>>2];f[e+20>>2]=f[a+20>>2];f[e+24>>2]=f[a+24>>2];f[e+28>>2]=f[a+28>>2];t=e+32|0;f[t>>2]=f[a+32>>2];v=e+36|0;w=f[a+36>>2]|0;f[v>>2]=w;x=e+40|0;f[x>>2]=r;r=e+48|0;y=e+44|0;f[y>>2]=r;f[r>>2]=0;f[e+52>>2]=0;if(!w)z=q;else{q=w+12|0;f[q>>2]=(f[q>>2]|0)+1;z=f[p>>2]|0}if((z|0)>=3){f[o>>2]=0;OO(e,z,0,0,0);if((f[o>>2]|0)>0){z=f[i>>2]|0;p=f[x>>2]|0;q=f[a+44>>2]|0;w=f[y>>2]|0;A=0;do{f[p+(A<<2)>>2]=f[z+(A<<2)>>2];f[w+(A<<2)>>2]=f[q+(A<<2)>>2];A=A+1|0}while((A|0)<(f[o>>2]|0))}}else{A=f[a+44>>2]|0;q=f[y>>2]|0;f[q>>2]=f[A>>2];f[q+4>>2]=f[A+4>>2]}eP(a,e);A=f[v>>2]|0;if((A|0?(q=A+12|0,A=f[q>>2]|0,f[q>>2]=A+-1,(A|0)==1):0)?(A=f[v>>2]|0,A|0):0){f[v>>2]=0;q=f[A+4>>2]|0;if(!q){w=f[t>>2]|0;if(!w)B=QO()|0;else B=w}else B=q;zg[f[(f[B>>2]|0)+24>>2]&511](B,A)}f[v>>2]=0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if((f[o>>2]|0)>0){s=f[x>>2]|0;x=0;do{f[s+(x<<2)>>2]=0;x=x+1|0}while((x|0)<(f[o>>2]|0))}o=f[y>>2]|0;if((o|0)!=(r|0))dX(o);u=d;return}o=a+16|0;if(!(f[o>>2]|0)){f[g>>2]=1124007936;r=g+4|0;y=g+8|0;x=g+40|0;C=r;D=C+36|0;do{f[C>>2]=0;C=C+4|0}while((C|0)<(D|0));f[x>>2]=y;y=g+48|0;s=g+44|0;f[s>>2]=y;f[y>>2]=0;f[g+52>>2]=0;v=e+8|0;f[v>>2]=0;f[v+4>>2]=0;f[e>>2]=33619968;f[e+4>>2]=g;eM(c,e);_O(a,g)|0;v=g+36|0;A=f[v>>2]|0;if((A|0?(B=A+12|0,A=f[B>>2]|0,f[B>>2]=A+-1,(A|0)==1):0)?(A=f[v>>2]|0,A|0):0){f[v>>2]=0;B=f[A+4>>2]|0;if(!B){q=f[g+32>>2]|0;if(!q)E=QO()|0;else E=q}else E=B;zg[f[(f[E>>2]|0)+24>>2]&511](E,A)}f[v>>2]=0;v=g+16|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;if((f[r>>2]|0)>0){v=f[x>>2]|0;x=0;do{f[v+(x<<2)>>2]=0;x=x+1|0}while((x|0)<(f[r>>2]|0))}r=f[s>>2]|0;if((r|0)!=(y|0))dX(r);u=d;return}f[j>>2]=n;r=f[j+-4>>2]|0;a:do if((r|0)==(f[m+-4>>2]|0)){if((r|0)==2){if((n|0)!=(f[m>>2]|0)){F=44;break}y=(f[j+4>>2]|0)==(f[m+4>>2]|0);f[f[i>>2]>>2]=k;if(y)break;else{F=47;break}}b:do if((r|0)>0){if((n|0)==(f[m>>2]|0))G=1;else{F=44;break a}while(1){if((G|0)>=(r|0))break b;if((f[j+(G<<2)>>2]|0)==(f[m+(G<<2)>>2]|0))G=G+1|0;else{F=44;break a}}}while(0);f[f[i>>2]>>2]=k}else F=44;while(0);if((F|0)==44){f[f[i>>2]>>2]=k;F=47}if((F|0)==47){f[e>>2]=0;f[e+4>>2]=0;C=JV(e,54)|0;H=159238;D=C+54|0;do{b[C>>0]=b[H>>0]|0;C=C+1|0;H=H+1|0}while((C|0)<(D|0));EP(-209,e,159293,158151,736);KV(e)}G=f[a>>2]|0;if(!((f[c>>2]^G)&4095))I=G;else{f[e>>2]=0;f[e+4>>2]=0;C=JV(e,49)|0;H=159303;D=C+49|0;do{b[C>>0]=b[H>>0]|0;C=C+1|0;H=H+1|0}while((C|0)<(D|0));EP(-205,e,159293,158151,738);KV(e);I=f[a>>2]|0}if(!(I&32768)){I=a+24|0;H=f[I>>2]|0;C=a+44|0;D=f[C>>2]|0;G=H+(X(f[D>>2]|0,n)|0)|0;if(G>>>0>(f[a+28>>2]|0)>>>0){J=C;K=I;F=53}else{L=I;M=C;N=D;O=H}}else{J=a+44|0;K=a+24|0;F=53}if((F|0)==53){F=n+k|0;H=((k*3|0)+1|0)/2|0;cP(a,(F|0)<(H|0)?H:F);L=K;M=J;N=f[J>>2]|0;O=f[K>>2]|0}K=f[i>>2]|0;f[K>>2]=(f[K>>2]|0)+n;K=O+(X(f[N>>2]|0,n)|0)|0;f[L>>2]=K;if(f[a>>2]&16384|0?f[c>>2]&16384|0:0){K=(f[o>>2]|0)+(X(f[f[M>>2]>>2]|0,k)|0)|0;M=f[c+16>>2]|0;o=f[c+4>>2]|0;if((o|0)<3)P=X(f[c+12>>2]|0,f[c+8>>2]|0)|0;else{L=f[l>>2]|0;l=0;N=1;while(1){O=X(f[L+(l<<2)>>2]|0,N)|0;l=l+1|0;if((l|0)==(o|0)){P=O;break}else N=O}}if((o|0)>0)Q=f[(f[c+44>>2]|0)+(o+-1<<2)>>2]|0;else Q=0;DVa(K|0,M|0,X(Q,P)|0)|0;u=d;return}f[e>>2]=k;f[e+4>>2]=n+k;f[g>>2]=-2147483648;f[g+4>>2]=2147483647;YO(h,a,e,g);g=e+8|0;f[g>>2]=0;f[g+4>>2]=0;f[e>>2]=33619968;f[e+4>>2]=h;eM(c,e);e=h+36|0;c=f[e>>2]|0;if((c|0?(g=c+12|0,c=f[g>>2]|0,f[g>>2]=c+-1,(c|0)==1):0)?(c=f[e>>2]|0,c|0):0){f[e>>2]=0;g=f[c+4>>2]|0;if(!g){a=f[h+32>>2]|0;if(!a)R=QO()|0;else R=a}else R=g;zg[f[(f[R>>2]|0)+24>>2]&511](R,c)}f[e>>2]=0;e=h+16|0;c=h+4|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;if((f[c>>2]|0)>0){e=f[h+40>>2]|0;R=0;do{f[e+(R<<2)>>2]=0;R=R+1|0}while((R|0)<(f[c>>2]|0))}c=f[h+44>>2]|0;if((c|0)!=(h+48|0))dX(c);u=d;return}function fP(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=u;u=u+16|0;g=e;h=a+4|0;i=f[h>>2]|0;if((i|0)<3?(f[f[a+44>>2]>>2]|0)!=0:0)j=i;else{f[g>>2]=0;f[g+4>>2]=0;i=JV(g,24)|0;k=159353;l=i+24|0;do{b[i>>0]=b[k>>0]|0;i=i+1|0;k=k+1|0}while((i|0)<(l|0));EP(-215,g,159378,158151,760);KV(g);j=f[h>>2]|0}if((j|0)>0)m=f[(f[a+44>>2]|0)+(j+-1<<2)>>2]|0;else m=0;j=f[a+20>>2]|0;h=(f[a+16>>2]|0)-j|0;g=(f[a+24>>2]|0)-j|0;if(!h){f[d+4>>2]=0;n=0;o=f[a+44>>2]|0;p=0}else{j=f[a+44>>2]|0;k=(h>>>0)/((f[j>>2]|0)>>>0)|0;f[d+4>>2]=k;n=((h-(X(f[j>>2]|0,k)|0)|0)>>>0)/(m>>>0)|0;o=j;p=k}f[d>>2]=n;d=(f[a+12>>2]|0)+n|0;n=g-(X(d,m)|0)|0;k=((n>>>0)/((f[o>>2]|0)>>>0)|0)+1|0;o=(f[a+8>>2]|0)+p|0;p=(k|0)<(o|0)?o:k;f[c+4>>2]=p;k=((g-(X(p+-1|0,f[a+48>>2]|0)|0)|0)>>>0)/(m>>>0)|0;f[c>>2]=(k|0)<(d|0)?d:k;u=e;return}function gP(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=u;u=u+16|0;i=h+8|0;j=h;k=a+4|0;l=f[k>>2]|0;if((l|0)<3?(f[f[a+44>>2]>>2]|0)!=0:0)m=l;else{f[i>>2]=0;f[i+4>>2]=0;l=JV(i,24)|0;n=159353;o=l+24|0;do{b[l>>0]=b[n>>0]|0;l=l+1|0;n=n+1|0}while((l|0)<(o|0));EP(-215,i,159388,158151,781);KV(i);m=f[k>>2]|0}f[i>>2]=0;k=i+4|0;f[k>>2]=0;f[j>>2]=0;n=j+4|0;f[n>>2]=0;l=a+44|0;if((m|0)>0)p=f[(f[l>>2]|0)+(m+-1<<2)>>2]|0;else p=0;fP(a,i,j);m=f[n>>2]|0;n=m-c|0;c=f[k>>2]|0;k=(n|0)>0?n:0;n=(c|0)<(k|0)?c:k;k=a+8|0;o=m+d+(f[k>>2]|0)|0;d=(c|0)<(o|0)?c:o;o=(d|0)>0?d:0;d=f[j>>2]|0;j=d-e|0;e=f[i>>2]|0;i=(j|0)>0?j:0;j=(e|0)<(i|0)?e:i;i=a+12|0;c=d+g+(f[i>>2]|0)|0;g=(e|0)<(c|0)?e:c;c=(g|0)>0?g:0;g=(n|0)>(o|0);e=g?o:n;q=(j|0)>(c|0);r=q?c:j;s=(X(r-d|0,p)|0)+(X(e-m|0,f[a+48>>2]|0)|0)|0;m=a+16|0;f[m>>2]=(f[m>>2]|0)+s;s=(g?n:o)-e|0;f[k>>2]=s;f[i>>2]=(q?j:c)-r;r=f[a+40>>2]|0;f[r>>2]=s;f[r+4>>2]=f[i>>2];r=X(f[i>>2]|0,p)|0;if((r|0)!=(f[f[l>>2]>>2]|0)?(f[k>>2]|0)!=1:0){f[a>>2]=f[a>>2]&-16385;u=h;return a|0}f[a>>2]=f[a>>2]|16384;u=h;return a|0}function hP(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;g=u;u=u+64|0;h=g+8|0;i=g;j=f[c>>2]|0;k=(j>>>3&511)+1|0;f[h>>2]=j;j=h+4|0;l=c+4|0;m=f[l>>2]|0;f[j>>2]=m;n=h+8|0;o=c+8|0;f[n>>2]=f[o>>2];p=h+12|0;q=c+12|0;f[p>>2]=f[q>>2];r=h+16|0;f[r>>2]=f[c+16>>2];s=h+20|0;f[s>>2]=f[c+20>>2];t=h+24|0;f[t>>2]=f[c+24>>2];v=h+28|0;f[v>>2]=f[c+28>>2];w=h+32|0;f[w>>2]=f[c+32>>2];x=h+36|0;y=f[c+36>>2]|0;f[x>>2]=y;z=h+40|0;f[z>>2]=n;A=h+48|0;B=h+44|0;f[B>>2]=A;f[A>>2]=0;f[h+52>>2]=0;if(!y)C=m;else{m=y+12|0;f[m>>2]=(f[m>>2]|0)+1;C=f[l>>2]|0}if((C|0)>=3){f[j>>2]=0;OO(h,C,0,0,0);if((f[j>>2]|0)>0){C=f[c+40>>2]|0;m=f[z>>2]|0;y=f[c+44>>2]|0;D=f[B>>2]|0;E=0;do{f[m+(E<<2)>>2]=f[C+(E<<2)>>2];f[D+(E<<2)>>2]=f[y+(E<<2)>>2];E=E+1|0}while((E|0)<(f[j>>2]|0))}}else{E=f[c+44>>2]|0;y=f[B>>2]|0;f[y>>2]=f[E>>2];f[y+4>>2]=f[E+4>>2]}E=f[l>>2]|0;a:do if((E|0)>2){if((d|0)!=0&(e|0)==0){y=E+-1|0;if(!((X(f[(f[c+40>>2]|0)+(y<<2)>>2]|0,k)|0)%(d|0)|0)){D=f[h>>2]|0;C=(d<<3)+-8|0;f[h>>2]=D&-4089|C;f[(f[B>>2]|0)+(y<<2)>>2]=(C>>>3&511)+1<<(47696>>>(D<<1&14)&3);D=(f[z>>2]|0)+((f[l>>2]|0)+-1<<2)|0;C=(X(f[D>>2]|0,k)|0)/(d|0)|0;f[D>>2]=C;f[a>>2]=f[h>>2];C=a+4|0;D=f[j>>2]|0;f[C>>2]=D;y=a+8|0;f[y>>2]=f[n>>2];f[a+12>>2]=f[p>>2];f[a+16>>2]=f[r>>2];f[a+20>>2]=f[s>>2];f[a+24>>2]=f[t>>2];f[a+28>>2]=f[v>>2];f[a+32>>2]=f[w>>2];m=f[x>>2]|0;f[a+36>>2]=m;F=a+40|0;f[F>>2]=y;y=a+48|0;G=a+44|0;f[G>>2]=y;f[y>>2]=0;f[a+52>>2]=0;if(!m)H=D;else{D=m+12|0;f[D>>2]=(f[D>>2]|0)+1;H=f[j>>2]|0}if((H|0)<3){D=f[B>>2]|0;m=f[G>>2]|0;f[m>>2]=f[D>>2];f[m+4>>2]=f[D+4>>2];break}f[C>>2]=0;OO(a,H,0,0,0);if((f[C>>2]|0)<=0)break;D=f[z>>2]|0;m=f[F>>2]|0;F=f[B>>2]|0;y=f[G>>2]|0;G=0;while(1){f[m+(G<<2)>>2]=f[D+(G<<2)>>2];f[y+(G<<2)>>2]=f[F+(G<<2)>>2];G=G+1|0;if((G|0)>=(f[C>>2]|0))break a}}}else if((e|0)>0){f[i>>2]=e;C=f[c+40>>2]|0;G=0;F=1;do{F=X(f[C+(G<<2)>>2]|0,F)|0;G=G+1|0}while((G|0)!=(E|0));f[i+4>>2]=(F>>>0)/(e>>>0)|0;iP(a,c,d,2,i);break}f[i>>2]=0;f[i+4>>2]=0;I=JV(i,9)|0;J=159198;K=I+9|0;do{b[I>>0]=b[J>>0]|0;I=I+1|0;J=J+1|0}while((I|0)<(K|0));EP(-215,i,159398,158151,823);KV(i);L=23}else L=23;while(0);do if((L|0)==23){E=(d|0)==0?k:d;H=X(f[q>>2]|0,k)|0;if((E|0)>(H|0))if(!e)L=26;else{M=e;L=28}else if((e|0)==0&((H|0)%(E|0)|0|0)!=0)L=26;else{N=e;L=27}if((L|0)==26){N=(X(f[o>>2]|0,H)|0)/(E|0)|0;L=27}if((L|0)==27)if(!N)O=H;else{M=N;L=28}if((L|0)==28){l=f[o>>2]|0;if((M|0)==(l|0))O=H;else{F=X(l,H)|0;if(!(f[c>>2]&16384)){f[i>>2]=0;f[i+4>>2]=0;I=JV(i,72)|0;J=178004;K=I+72|0;do{b[I>>0]=b[J>>0]|0;I=I+1|0;J=J+1|0}while((I|0)<(K|0));EP(-13,i,159398,158151,838);KV(i)}if(M>>>0>F>>>0){f[i>>2]=0;f[i+4>>2]=0;I=JV(i,22)|0;J=178077;K=I+22|0;do{b[I>>0]=b[J>>0]|0;I=I+1|0;J=J+1|0}while((I|0)<(K|0));EP(-211,i,159398,158151,841);KV(i)}H=(F|0)/(M|0)|0;if((X(H,M)|0)!=(F|0)){f[i>>2]=0;f[i+4>>2]=0;I=JV(i,78)|0;J=177915;K=I+78|0;do{b[I>>0]=b[J>>0]|0;I=I+1|0;J=J+1|0}while((I|0)<(K|0));EP(-5,i,159398,158151,847);KV(i)}f[n>>2]=M;F=X(1212424721>>>(f[c>>2]<<2&28)&15,H)|0;f[f[B>>2]>>2]=F;O=H}}F=(O|0)/(E|0)|0;if((X(F,E)|0)!=(O|0)){f[i>>2]=0;f[i+4>>2]=0;I=JV(i,62)|0;J=178100;K=I+62|0;do{b[I>>0]=b[J>>0]|0;I=I+1|0;J=J+1|0}while((I|0)<(K|0));EP(-15,i,159398,158151,857);KV(i)}f[p>>2]=F;H=f[h>>2]|0;l=(E<<3)+-8|0;G=H&-4089|l;f[h>>2]=G;f[(f[B>>2]|0)+4>>2]=(l>>>3&511)+1<<(47696>>>(H<<1&14)&3);f[a>>2]=G;G=a+4|0;H=f[j>>2]|0;f[G>>2]=H;l=a+8|0;f[l>>2]=f[n>>2];f[a+12>>2]=f[p>>2];f[a+16>>2]=f[r>>2];f[a+20>>2]=f[s>>2];f[a+24>>2]=f[t>>2];f[a+28>>2]=f[v>>2];f[a+32>>2]=f[w>>2];C=f[x>>2]|0;f[a+36>>2]=C;y=a+40|0;f[y>>2]=l;l=a+48|0;D=a+44|0;f[D>>2]=l;f[l>>2]=0;f[a+52>>2]=0;if(!C)P=H;else{H=C+12|0;f[H>>2]=(f[H>>2]|0)+1;P=f[j>>2]|0}if((P|0)<3){H=f[B>>2]|0;C=f[D>>2]|0;f[C>>2]=f[H>>2];f[C+4>>2]=f[H+4>>2];break}f[G>>2]=0;OO(a,P,0,0,0);if((f[G>>2]|0)>0){H=f[z>>2]|0;C=f[y>>2]|0;y=f[B>>2]|0;l=f[D>>2]|0;D=0;do{f[C+(D<<2)>>2]=f[H+(D<<2)>>2];f[l+(D<<2)>>2]=f[y+(D<<2)>>2];D=D+1|0}while((D|0)<(f[G>>2]|0))}}while(0);P=f[x>>2]|0;if((P|0?(a=P+12|0,P=f[a>>2]|0,f[a>>2]=P+-1,(P|0)==1):0)?(P=f[x>>2]|0,P|0):0){f[x>>2]=0;a=f[P+4>>2]|0;if(!a){v=f[w>>2]|0;if(!v)Q=QO()|0;else Q=v}else Q=a;zg[f[(f[Q>>2]|0)+24>>2]&511](Q,P)}f[x>>2]=0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;if((f[j>>2]|0)>0){r=f[z>>2]|0;z=0;do{f[r+(z<<2)>>2]=0;z=z+1|0}while((z|0)<(f[j>>2]|0))}j=f[B>>2]|0;if((j|0)==(A|0)){u=g;return}dX(j);u=g;return}function iP(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;h=u;u=u+32|0;i=h+8|0;j=h;k=c+4|0;if((f[k>>2]|0)==(e|0)){if(!g){hP(a,c,d,0);u=h;return}if((e|0)==2){hP(a,c,d,f[g>>2]|0);u=h;return}}if(!(f[c>>2]&16384)){f[i>>2]=0;f[i+4>>2]=0;l=JV(i,71)|0;m=159619;n=l+71|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-213,i,159398,158151,913);KV(i);f[a>>2]=1124007936;o=a+8|0;p=a+40|0;l=a+4|0;n=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(n|0));f[p>>2]=o;o=a+48|0;f[a+44>>2]=o;f[o>>2]=0;f[a+52>>2]=0;u=h;return}if(!((g|0)!=0&((d|0)>-1&(e+-1|0)>>>0<32))){f[i>>2]=0;f[i+4>>2]=0;l=JV(i,54)|0;m=159406;n=l+54|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-215,i,159398,158151,877);KV(i)}if(d)if((d|0)<513)q=d;else{f[i>>2]=0;f[i+4>>2]=0;l=JV(i,10)|0;m=159461;n=l+10|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-215,i,159398,158151,882);KV(i);q=d}else q=((f[c>>2]|0)>>>3&511)+1|0;d=f[k>>2]|0;if((d|0)<3)r=X(f[c+12>>2]|0,f[c+8>>2]|0)|0;else{o=f[c+40>>2]|0;p=0;s=1;while(1){t=X(f[o+(p<<2)>>2]|0,s)|0;p=p+1|0;if((p|0)==(d|0)){r=t;break}else s=t}}s=X(((f[c>>2]|0)>>>3&511)+1|0,r)|0;r=i+8|0;f[i>>2]=r;d=i+4|0;f[d>>2]=e;if(e>>>0>4){p=FQa(e>>>0>1073741823?-1:e<<2)|0;f[i>>2]=p}if((e|0)>0){p=c+40|0;o=j+4|0;t=j+4|0;v=q;w=0;while(1){x=g+(w<<2)|0;y=f[x>>2]|0;if((y|0)>-1)z=y;else{f[j>>2]=0;f[t>>2]=0;l=JV(j,14)|0;m=159472;n=l+14|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-215,j,159398,158151,891);KV(j);z=f[x>>2]|0}do if((z|0)<=0)if((w|0)<(f[k>>2]|0)){y=f[(f[p>>2]|0)+(w<<2)>>2]|0;f[(f[i>>2]|0)+(w<<2)>>2]=y;A=y;break}else{f[j>>2]=0;f[o>>2]=0;l=JV(j,68)|0;m=159487;n=l+68|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-211,j,159398,158151,898);KV(j);A=f[(f[i>>2]|0)+(w<<2)>>2]|0;break}else{f[(f[i>>2]|0)+(w<<2)>>2]=z;A=z}while(0);x=X(A,v)|0;w=w+1|0;if((w|0)>=(e|0)){B=x;break}else v=x}}else B=q;if((B|0)!=(s|0)){f[j>>2]=0;f[j+4>>2]=0;l=JV(j,62)|0;m=159556;n=l+62|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-209,j,159398,158151,904);KV(j)}f[a>>2]=f[c>>2];j=a+4|0;m=f[k>>2]|0;f[j>>2]=m;l=a+8|0;f[l>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];n=f[c+36>>2]|0;f[a+36>>2]=n;s=a+40|0;f[s>>2]=l;l=a+48|0;B=a+44|0;f[B>>2]=l;f[l>>2]=0;f[a+52>>2]=0;if(!n)C=m;else{m=n+12|0;f[m>>2]=(f[m>>2]|0)+1;C=f[k>>2]|0}if((C|0)>=3){f[j>>2]=0;OO(a,C,0,0,0);if((f[j>>2]|0)>0){C=f[c+40>>2]|0;k=f[s>>2]|0;s=f[c+44>>2]|0;m=f[B>>2]|0;n=0;do{f[k+(n<<2)>>2]=f[C+(n<<2)>>2];f[m+(n<<2)>>2]=f[s+(n<<2)>>2];n=n+1|0}while((n|0)<(f[j>>2]|0))}}else{j=f[c+44>>2]|0;c=f[B>>2]|0;f[c>>2]=f[j>>2];f[c+4>>2]=f[j+4>>2]}f[a>>2]=f[a>>2]&-4089|(q<<3)+-8;OO(a,e,f[i>>2]|0,0,1);e=f[i>>2]|0;if((e|0)!=(r|0)){if(e|0)HQa(e);f[i>>2]=r;f[d>>2]=4}u=h;return}function jP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;if(!(f[a+16>>2]|0)){e=-1;return e|0}g=f[a>>2]|0;if(!((c|0)<1|(g&7|0)==(c|0))){e=-1;return e|0}c=g&16384;if(!((c|0)!=0|d^1)){e=-1;return e|0}d=f[a+4>>2]|0;switch(d|0){case 2:{if((f[a+8>>2]|0)!=1?(h=f[a+12>>2]|0,(h|0)!=1):0){i=h;j=9}else j=7;if((j|0)==7?((g>>>3&511)+1|0)!=(b|0):0){i=f[a+12>>2]|0;j=9}if((j|0)==9?!((i|0)==(b|0)&(g&4088|0)==0):0){e=-1;return e|0}k=X(f[a+12>>2]|0,f[a+8>>2]|0)|0;break}case 3:{if(g&4088|0){e=-1;return e|0}i=f[a+40>>2]|0;if((f[i+8>>2]|0)!=(b|0)){e=-1;return e|0}if((f[i>>2]|0)!=1?(f[i+4>>2]|0)!=1:0){e=-1;return e|0}if((c|0)==0?(c=f[a+44>>2]|0,(f[c+4>>2]|0)!=(X(f[c+8>>2]|0,b)|0)):0){e=-1;return e|0}c=f[a+40>>2]|0;a=0;i=1;while(1){j=X(f[c+(a<<2)>>2]|0,i)|0;a=a+1|0;if((a|0)==(d|0)){k=j;break}else i=j}break}default:{e=-1;return e|0}}e=((X((g>>>3&511)+1|0,k)|0)>>>0)/(b>>>0)|0;return e|0}function kP(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=(e|0)%4|0;h=(g|0)==0?4:g;switch(h|0){case 1:{g=f[a>>2]|0;if((d|0)>0){i=0;j=0;while(1){b[c+j>>0]=b[g+i>>0]|0;i=i+1|0;if((i|0)==(d|0))break;else j=j+e|0}}else return;break}case 2:{j=f[a>>2]|0;i=f[a+4>>2]|0;if((d|0)>0){g=0;k=0;while(1){b[c+g>>0]=b[j+k>>0]|0;b[c+(g+1)>>0]=b[i+k>>0]|0;k=k+1|0;if((k|0)==(d|0))break;else g=g+e|0}}else return;break}case 3:{g=f[a>>2]|0;k=f[a+4>>2]|0;i=f[a+8>>2]|0;if((d|0)>0){j=0;l=0;while(1){b[c+j>>0]=b[g+l>>0]|0;b[c+(j+1)>>0]=b[k+l>>0]|0;b[c+(j+2)>>0]=b[i+l>>0]|0;l=l+1|0;if((l|0)==(d|0))break;else j=j+e|0}}else return;break}default:{j=f[a>>2]|0;l=f[a+4>>2]|0;i=f[a+8>>2]|0;k=f[a+12>>2]|0;if((d|0)>0){g=0;m=0;while(1){b[c+g>>0]=b[j+m>>0]|0;b[c+(g+1)>>0]=b[l+m>>0]|0;b[c+(g+2)>>0]=b[i+m>>0]|0;b[c+(g+3)>>0]=b[k+m>>0]|0;m=m+1|0;if((m|0)==(d|0))break;else g=g+e|0}}else return}}if((d|0)>0&(h|0)<(e|0))n=h;else return;do{h=f[a+(n<<2)>>2]|0;g=f[a+(n+1<<2)>>2]|0;m=f[a+(n+2<<2)>>2]|0;k=f[a+(n+3<<2)>>2]|0;i=n;l=0;while(1){b[c+i>>0]=b[h+l>>0]|0;b[c+(i+1)>>0]=b[g+l>>0]|0;b[c+(i+2)>>0]=b[m+l>>0]|0;b[c+(i+3)>>0]=b[k+l>>0]|0;l=l+1|0;if((l|0)==(d|0))break;else i=i+e|0}n=n+4|0}while((n|0)<(e|0));return}function lP(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=(e|0)%4|0;h=(g|0)==0?4:g;switch(h|0){case 1:{g=f[a>>2]|0;if((c|0)>0){i=0;j=0;while(1){d[b+(j<<1)>>1]=d[g+(i<<1)>>1]|0;i=i+1|0;if((i|0)==(c|0))break;else j=j+e|0}}else return;break}case 2:{j=f[a>>2]|0;i=f[a+4>>2]|0;if((c|0)>0){g=0;k=0;while(1){d[b+(g<<1)>>1]=d[j+(k<<1)>>1]|0;d[b+(g+1<<1)>>1]=d[i+(k<<1)>>1]|0;k=k+1|0;if((k|0)==(c|0))break;else g=g+e|0}}else return;break}case 3:{g=f[a>>2]|0;k=f[a+4>>2]|0;i=f[a+8>>2]|0;if((c|0)>0){j=0;l=0;while(1){d[b+(j<<1)>>1]=d[g+(l<<1)>>1]|0;d[b+(j+1<<1)>>1]=d[k+(l<<1)>>1]|0;d[b+(j+2<<1)>>1]=d[i+(l<<1)>>1]|0;l=l+1|0;if((l|0)==(c|0))break;else j=j+e|0}}else return;break}default:{j=f[a>>2]|0;l=f[a+4>>2]|0;i=f[a+8>>2]|0;k=f[a+12>>2]|0;if((c|0)>0){g=0;m=0;while(1){d[b+(g<<1)>>1]=d[j+(m<<1)>>1]|0;d[b+(g+1<<1)>>1]=d[l+(m<<1)>>1]|0;d[b+(g+2<<1)>>1]=d[i+(m<<1)>>1]|0;d[b+(g+3<<1)>>1]=d[k+(m<<1)>>1]|0;m=m+1|0;if((m|0)==(c|0))break;else g=g+e|0}}else return}}if((c|0)>0&(h|0)<(e|0))n=h;else return;do{h=f[a+(n<<2)>>2]|0;g=f[a+(n+1<<2)>>2]|0;m=f[a+(n+2<<2)>>2]|0;k=f[a+(n+3<<2)>>2]|0;i=n;l=0;while(1){d[b+(i<<1)>>1]=d[h+(l<<1)>>1]|0;d[b+(i+1<<1)>>1]=d[g+(l<<1)>>1]|0;d[b+(i+2<<1)>>1]=d[m+(l<<1)>>1]|0;d[b+(i+3<<1)>>1]=d[k+(l<<1)>>1]|0;l=l+1|0;if((l|0)==(c|0))break;else i=i+e|0}n=n+4|0}while((n|0)<(e|0));return}function mP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=(d|0)%4|0;g=(e|0)==0?4:e;switch(g|0){case 1:{e=f[a>>2]|0;if((c|0)>0){h=0;i=0;while(1){f[b+(i<<2)>>2]=f[e+(h<<2)>>2];h=h+1|0;if((h|0)==(c|0))break;else i=i+d|0}}else return;break}case 2:{i=f[a>>2]|0;h=f[a+4>>2]|0;if((c|0)>0){e=0;j=0;while(1){f[b+(e<<2)>>2]=f[i+(j<<2)>>2];f[b+(e+1<<2)>>2]=f[h+(j<<2)>>2];j=j+1|0;if((j|0)==(c|0))break;else e=e+d|0}}else return;break}case 3:{e=f[a>>2]|0;j=f[a+4>>2]|0;h=f[a+8>>2]|0;if((c|0)>0){i=0;k=0;while(1){f[b+(i<<2)>>2]=f[e+(k<<2)>>2];f[b+(i+1<<2)>>2]=f[j+(k<<2)>>2];f[b+(i+2<<2)>>2]=f[h+(k<<2)>>2];k=k+1|0;if((k|0)==(c|0))break;else i=i+d|0}}else return;break}default:{i=f[a>>2]|0;k=f[a+4>>2]|0;h=f[a+8>>2]|0;j=f[a+12>>2]|0;if((c|0)>0){e=0;l=0;while(1){f[b+(e<<2)>>2]=f[i+(l<<2)>>2];f[b+(e+1<<2)>>2]=f[k+(l<<2)>>2];f[b+(e+2<<2)>>2]=f[h+(l<<2)>>2];f[b+(e+3<<2)>>2]=f[j+(l<<2)>>2];l=l+1|0;if((l|0)==(c|0))break;else e=e+d|0}}else return}}if((c|0)>0&(g|0)<(d|0))m=g;else return;do{g=f[a+(m<<2)>>2]|0;e=f[a+(m+1<<2)>>2]|0;l=f[a+(m+2<<2)>>2]|0;j=f[a+(m+3<<2)>>2]|0;h=m;k=0;while(1){f[b+(h<<2)>>2]=f[g+(k<<2)>>2];f[b+(h+1<<2)>>2]=f[e+(k<<2)>>2];f[b+(h+2<<2)>>2]=f[l+(k<<2)>>2];f[b+(h+3<<2)>>2]=f[j+(k<<2)>>2];k=k+1|0;if((k|0)==(c|0))break;else h=h+d|0}m=m+4|0}while((m|0)<(d|0));return}function nP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=(d|0)%4|0;g=(e|0)==0?4:e;switch(g|0){case 1:{e=f[a>>2]|0;if((c|0)>0){h=0;i=0;while(1){j=e+(h<<3)|0;k=f[j+4>>2]|0;l=b+(i<<3)|0;f[l>>2]=f[j>>2];f[l+4>>2]=k;h=h+1|0;if((h|0)==(c|0))break;else i=i+d|0}}else return;break}case 2:{i=f[a>>2]|0;h=f[a+4>>2]|0;if((c|0)>0){e=0;k=0;while(1){l=i+(k<<3)|0;j=f[l+4>>2]|0;m=b+(e<<3)|0;f[m>>2]=f[l>>2];f[m+4>>2]=j;j=h+(k<<3)|0;m=f[j+4>>2]|0;l=b+(e+1<<3)|0;f[l>>2]=f[j>>2];f[l+4>>2]=m;k=k+1|0;if((k|0)==(c|0))break;else e=e+d|0}}else return;break}case 3:{e=f[a>>2]|0;k=f[a+4>>2]|0;h=f[a+8>>2]|0;if((c|0)>0){i=0;m=0;while(1){l=e+(m<<3)|0;j=f[l+4>>2]|0;n=b+(i<<3)|0;f[n>>2]=f[l>>2];f[n+4>>2]=j;j=k+(m<<3)|0;n=f[j+4>>2]|0;l=b+(i+1<<3)|0;f[l>>2]=f[j>>2];f[l+4>>2]=n;n=h+(m<<3)|0;l=f[n+4>>2]|0;j=b+(i+2<<3)|0;f[j>>2]=f[n>>2];f[j+4>>2]=l;m=m+1|0;if((m|0)==(c|0))break;else i=i+d|0}}else return;break}default:{i=f[a>>2]|0;m=f[a+4>>2]|0;h=f[a+8>>2]|0;k=f[a+12>>2]|0;if((c|0)>0){e=0;l=0;while(1){j=i+(l<<3)|0;n=f[j+4>>2]|0;o=b+(e<<3)|0;f[o>>2]=f[j>>2];f[o+4>>2]=n;n=m+(l<<3)|0;o=f[n+4>>2]|0;j=b+(e+1<<3)|0;f[j>>2]=f[n>>2];f[j+4>>2]=o;o=h+(l<<3)|0;j=f[o+4>>2]|0;n=b+(e+2<<3)|0;f[n>>2]=f[o>>2];f[n+4>>2]=j;j=k+(l<<3)|0;n=f[j+4>>2]|0;o=b+(e+3<<3)|0;f[o>>2]=f[j>>2];f[o+4>>2]=n;l=l+1|0;if((l|0)==(c|0))break;else e=e+d|0}}else return}}if((c|0)>0&(g|0)<(d|0))p=g;else return;do{g=f[a+(p<<2)>>2]|0;e=f[a+(p+1<<2)>>2]|0;l=f[a+(p+2<<2)>>2]|0;k=f[a+(p+3<<2)>>2]|0;h=p;m=0;while(1){i=g+(m<<3)|0;n=f[i+4>>2]|0;o=b+(h<<3)|0;f[o>>2]=f[i>>2];f[o+4>>2]=n;n=e+(m<<3)|0;o=f[n+4>>2]|0;i=b+(h+1<<3)|0;f[i>>2]=f[n>>2];f[i+4>>2]=o;o=l+(m<<3)|0;i=f[o+4>>2]|0;n=b+(h+2<<3)|0;f[n>>2]=f[o>>2];f[n+4>>2]=i;i=k+(m<<3)|0;n=f[i+4>>2]|0;o=b+(h+3<<3)|0;f[o>>2]=f[i>>2];f[o+4>>2]=n;m=m+1|0;if((m|0)==(c|0))break;else h=h+d|0}p=p+4|0}while((p|0)<(d|0));return}function oP(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0;e=u;u=u+2208|0;g=e+2200|0;h=e+2144|0;i=e+1080|0;j=e+40|0;k=e+8|0;l=e;yV(g,32796);if(!((a|0)!=0&(c|0)!=0)){f[h>>2]=0;f[h+4>>2]=0;m=JV(h,11)|0;n=159691;o=m+11|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,h,159703,159709,449);KV(h);p=f[a>>2]&7;if(!c){q=1;r=0;s=p;t=1;v=16}else{w=p;v=4}}else{w=f[a>>2]&7;v=4}if((v|0)==4){p=a+40|0;x=h+4|0;y=1;z=0;A=0;while(1){B=a+(A*56|0)|0;C=f[a+(A*56|0)+40>>2]|0;D=f[C+-4>>2]|0;E=f[p>>2]|0;a:do if((D|0)==(f[E+-4>>2]|0)){if((D|0)==2){if((f[C>>2]|0)!=(f[E>>2]|0)){v=13;break}if((f[C+4>>2]|0)!=(f[E+4>>2]|0)){v=13;break}}else if((D|0)>0){F=0;do{if((f[C+(F<<2)>>2]|0)!=(f[E+(F<<2)>>2]|0)){v=13;break a}F=F+1|0}while((F|0)<(D|0))}if((f[B>>2]&7|0)!=(w|0))v=13}else v=13;while(0);if((v|0)==13){v=0;f[h>>2]=0;f[x>>2]=0;m=JV(h,50)|0;n=159763;o=m+50|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,h,159703,159709,458);KV(h)}D=f[B>>2]|0;y=y&(D&4088|0)==0;G=D>>>3&511;H=z+1+G|0;A=A+1|0;if(A>>>0>=c>>>0)break;else z=H}if((z+G|0)>>>0<512){I=y;J=H;K=0;L=w}else{q=y;r=H;s=w;t=0;v=16}}if((v|0)==16){f[h>>2]=0;f[h+4>>2]=0;m=JV(h,19)|0;n=159814;o=m+19|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,h,159703,159709,463);KV(h);I=q;J=r;K=t;L=s}$J(d,f[a+4>>2]|0,f[a+40>>2]|0,(J<<3)+-8|L,-1,0,0);do if((HJ(d)|0)==65536){s=f[d+4>>2]|0;f[h>>2]=f[s>>2];t=h+4|0;r=s+4|0;f[t>>2]=f[r>>2];q=h+8|0;f[q>>2]=f[s+8>>2];f[h+12>>2]=f[s+12>>2];f[h+16>>2]=f[s+16>>2];f[h+20>>2]=f[s+20>>2];f[h+24>>2]=f[s+24>>2];f[h+28>>2]=f[s+28>>2];f[h+32>>2]=f[s+32>>2];v=f[s+36>>2]|0;f[h+36>>2]=v;f[h+40>>2]=q;q=h+48|0;w=h+44|0;f[w>>2]=q;f[q>>2]=0;f[h+52>>2]=0;if(v|0){q=v+12|0;f[q>>2]=(f[q>>2]|0)+1}if((f[r>>2]|0)<3){r=f[s+44>>2]|0;q=f[w>>2]|0;f[q>>2]=f[r>>2];f[q+4>>2]=f[r+4>>2];break}else{f[t>>2]=0;WO(h,s);break}}else DJ(h,d,-1);while(0);do if((c|0)!=1){if(!I){d=J<<1;s=i+8|0;f[i>>2]=s;t=i+4|0;f[t>>2]=d;if(d>>>0>264){r=FQa(d>>>0>1073741823?-1:d<<2)|0;f[i>>2]=r;M=r}else M=s;if(!K){r=0;d=0;while(1){q=(f[a+(d*56|0)>>2]|0)>>>3&511;w=0;while(1){v=w+r|0;H=v<<1;f[M+(H<<2)>>2]=v;f[M+((H|1)<<2)>>2]=v;if((w|0)==(q|0))break;else w=w+1|0}d=d+1|0;if((d|0)==(c|0))break;else r=r+1+q|0}}jY(a,c,h,1,M,J);r=f[i>>2]|0;if((r|0)!=(s|0)){if(r|0)HQa(r);f[i>>2]=s;f[t>>2]=264}break}r=f[32816+(L<<2)>>2]|0;if((L|0)==7){f[i>>2]=0;f[i+4>>2]=0;m=JV(i,9)|0;n=196746;o=m+9|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,i,159703,159709,494);KV(i)}t=f[h+4>>2]|0;if((t|0)>0)N=f[(f[h+44>>2]|0)+(t+-1<<2)>>2]|0;else N=0;t=1212424721>>>(f[h>>2]<<2&28)&15;s=((N+1023|0)>>>0)/(N>>>0)|0;f[i>>2]=s;d=J+1|0;B=(d<<3)+16|0;w=j+8|0;f[j>>2]=w;v=j+4|0;f[v>>2]=B;if(B>>>0>1032){H=FQa(B)|0;f[j>>2]=H;O=H}else O=w;H=O+(J<<2)+4+15&-16;B=H;y=H;f[O>>2]=h;H=(J|0)>0;if(H){G=0;do{z=G;G=G+1|0;f[O+(G<<2)>>2]=a+(z*56|0)}while((G|0)!=(J|0))}FN(k,O,y,d);G=f[k+20>>2]|0;f[l>>2]=G;z=536870911/(J|0)|0;if((J|0)<5)P=G;else P=s>>>0>>0?f[i>>2]|0:f[l>>2]|0;A=P>>>0>>0?P:z;z=k+16|0;x=B+4|0;b:do if(H){p=G;D=G;E=0;while(1){if(E>>>0>=(f[z>>2]|0)>>>0)break b;if(!p){Q=0;R=D}else{C=p;F=D;S=0;while(1){T=C-S|0;U=A>>>0>>0?A:T;th[r&255](x,f[y>>2]|0,U,J);S=S+A|0;if(S>>>0>>0){T=X(N,U)|0;f[y>>2]=(f[y>>2]|0)+T;T=X(t,U)|0;U=0;do{U=U+1|0;V=B+(U<<2)|0;f[V>>2]=(f[V>>2]|0)+T}while((U|0)!=(J|0));W=f[l>>2]|0}else W=F;if(W>>>0<=S>>>0){Q=W;R=W;break}else{C=W;F=W}}}GN(k)|0;p=Q;D=R;E=E+1|0}}else{E=G;D=G;p=0;while(1){if(p>>>0>=(f[z>>2]|0)>>>0)break b;if(!E){Y=0;Z=D}else{q=E;F=D;C=0;while(1){S=q-C|0;U=A>>>0>>0?A:S;th[r&255](x,f[y>>2]|0,U,J);C=C+A|0;if(C>>>0>>0){S=X(N,U)|0;f[y>>2]=(f[y>>2]|0)+S;_=f[l>>2]|0}else _=F;if(_>>>0<=C>>>0){Y=_;Z=_;break}else{q=_;F=_}}}GN(k)|0;E=Y;D=Z;p=p+1|0}}while(0);y=f[j>>2]|0;if((y|0)!=(w|0)){if(y|0)HQa(y);f[j>>2]=w;f[v>>2]=1032}}else{y=i+8|0;f[y>>2]=0;f[y+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=h;eM(a,i)}while(0);i=h+36|0;a=f[i>>2]|0;if(a|0?(j=a+12|0,a=f[j>>2]|0,f[j>>2]=a+-1,(a|0)==1):0)XO(h);f[i>>2]=0;i=h+16|0;a=h+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[a>>2]|0)>0){i=f[h+40>>2]|0;j=0;do{f[i+(j<<2)>>2]=0;j=j+1|0}while((j|0)<(f[a>>2]|0))}a=f[h+44>>2]|0;if((a|0)!=(h+48|0))dX(a);if(!(f[g+4>>2]|0)){u=e;return}u=e;return}function pP(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=u;u=u+32|0;d=c+16|0;e=c;yV(d,32848);f[e>>2]=0;g=e+4|0;f[g>>2]=0;f[e+8>>2]=0;JJ(a,e);a=f[e>>2]|0;h=f[g>>2]|0;oP((a|0)==(h|0)?0:a,(h-a|0)/56|0,b);Rs(e);if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function qP(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;i=u;u=u+224|0;j=i+208|0;k=i+152|0;l=i+96|0;m=i+80|0;o=i+72|0;q=i+40|0;r=i+36|0;s=i+32|0;t=i+28|0;v=i+24|0;w=i+20|0;x=i+16|0;y=i+8|0;z=i;yV(j,32868);A=GJ(a,-1)|0;B=A&7;D=A>>>3&511;A=D+1|0;E=VJ(h)|0;if(!D){if(!E?GJ(h,-1)|0:0)F=5}else if((g|0)!=0|((e|0)!=0|E^1))F=5;if((F|0)==5){f[k>>2]=0;f[k+4>>2]=0;G=JV(k,100)|0;H=159947;I=G+100|0;do{b[G>>0]=b[H>>0]|0;G=G+1|0;H=H+1|0}while((G|0)<(I|0));EP(-215,k,160048,160058,753);KV(k)}do if((HJ(a)|0)==65536){F=f[a+4>>2]|0;f[k>>2]=f[F>>2];E=k+4|0;D=F+4|0;f[E>>2]=f[D>>2];J=k+8|0;f[J>>2]=f[F+8>>2];f[k+12>>2]=f[F+12>>2];f[k+16>>2]=f[F+16>>2];f[k+20>>2]=f[F+20>>2];f[k+24>>2]=f[F+24>>2];f[k+28>>2]=f[F+28>>2];f[k+32>>2]=f[F+32>>2];K=f[F+36>>2]|0;f[k+36>>2]=K;f[k+40>>2]=J;J=k+48|0;L=k+44|0;f[L>>2]=J;f[J>>2]=0;f[k+52>>2]=0;if(K|0){J=K+12|0;f[J>>2]=(f[J>>2]|0)+1}if((f[D>>2]|0)<3){D=f[F+44>>2]|0;J=f[L>>2]|0;f[J>>2]=f[D>>2];f[J+4>>2]=f[D+4>>2];break}else{f[E>>2]=0;WO(k,F);break}}else DJ(k,a,-1);while(0);do if((HJ(h)|0)==65536){a=f[h+4>>2]|0;f[l>>2]=f[a>>2];F=l+4|0;E=a+4|0;f[F>>2]=f[E>>2];D=l+8|0;f[D>>2]=f[a+8>>2];f[l+12>>2]=f[a+12>>2];f[l+16>>2]=f[a+16>>2];f[l+20>>2]=f[a+20>>2];f[l+24>>2]=f[a+24>>2];f[l+28>>2]=f[a+28>>2];f[l+32>>2]=f[a+32>>2];J=f[a+36>>2]|0;f[l+36>>2]=J;f[l+40>>2]=D;D=l+48|0;L=l+44|0;f[L>>2]=D;f[D>>2]=0;f[l+52>>2]=0;if(J|0){D=J+12|0;f[D>>2]=(f[D>>2]|0)+1}if((f[E>>2]|0)<3){E=f[a+44>>2]|0;D=f[L>>2]|0;f[D>>2]=f[E>>2];f[D+4>>2]=f[E+4>>2];break}else{f[F>>2]=0;WO(l,a);break}}else DJ(l,h,-1);while(0);h=k+4|0;a=f[32888+(B<<2)>>2]|0;if((B|0)==7){f[m>>2]=0;f[m+4>>2]=0;G=JV(m,9)|0;H=196746;I=G+9|0;do{b[G>>0]=b[H>>0]|0;G=G+1|0;H=H+1|0}while((G|0)<(I|0));EP(-215,m,160048,160058,770);KV(m)}f[m>>2]=k;f[m+4>>2]=l;f[m+8>>2]=0;FN(q,m,o,-1);f[r>>2]=0;f[s>>2]=0;f[t>>2]=2147483647;f[v>>2]=-2147483648;n[w>>2]=C;n[x>>2]=-C;p[y>>3]=C;p[z>>3]=-C;m=X(f[q+20>>2]|0,A)|0;A=(B|0)==5;if(!A)if((B|0)==6){M=z;N=y}else{M=v;N=t}else{M=x;N=w}H=q+16|0;if(f[H>>2]|0){G=o+4|0;I=0;F=1;while(1){qi[a&255](f[o>>2]|0,f[G>>2]|0,N,M,r,s,m,F);GN(q)|0;I=I+1|0;if(I>>>0>=(f[H>>2]|0)>>>0)break;else F=F+m|0}}m=k+16|0;do if(f[m>>2]|0){F=f[h>>2]|0;if((F|0)<3)O=X(f[k+12>>2]|0,f[k+8>>2]|0)|0;else{H=f[k+40>>2]|0;I=0;q=1;while(1){M=X(f[H+(I<<2)>>2]|0,q)|0;I=I+1|0;if((I|0)==(F|0)){O=M;break}else q=M}}if(!((F|0)==0|(O|0)==0)){if(f[l+16>>2]|0){q=f[l+4>>2]|0;if((q|0)<3)P=X(f[l+12>>2]|0,f[l+8>>2]|0)|0;else{I=f[l+40>>2]|0;H=0;M=1;while(1){N=X(f[I+(H<<2)>>2]|0,M)|0;H=H+1|0;if((H|0)==(q|0)){P=N;break}else M=N}}if(!((q|0)==0|(P|0)==0))break}if(!(f[r>>2]|0))f[r>>2]=1;if(!(f[s>>2]|0))f[s>>2]=1}}while(0);P=f[r>>2]|0;r=(P|0)==0;do if(!r){if(A){p[y>>3]=+n[w>>2];p[z>>3]=+n[x>>2];break}if(B>>>0<5){p[y>>3]=+(f[t>>2]|0);p[z>>3]=+(f[v>>2]|0)}}else{p[z>>3]=0.0;p[y>>3]=0.0}while(0);if(c|0)p[c>>3]=+p[y>>3];if(d|0)p[d>>3]=+p[z>>3];do if(e|0){z=f[h>>2]|0;d=(z|0)>0;if(r){if(!d)break;y=~z;c=(y|0)>-2?y:-2;FVa(e+(-2-c<<2)|0,-1,(c+z<<2)+8|0)|0;break}if(d){d=f[k+40>>2]|0;c=z;z=P+-1|0;while(1){y=c;c=c+-1|0;v=f[d+(c<<2)>>2]|0;f[e+(c<<2)>>2]=(z>>>0)%(v>>>0)|0;if((y|0)<=1)break;else z=(z>>>0)/(v>>>0)|0}}}while(0);do if(g|0){e=f[s>>2]|0;P=f[h>>2]|0;r=(P|0)>0;if(!e){if(!r)break;z=~P;c=(z|0)>-2?z:-2;FVa(g+(-2-c<<2)|0,-1,(c+P<<2)+8|0)|0;break}if(r){r=f[k+40>>2]|0;c=P;P=e+-1|0;while(1){e=c;c=c+-1|0;z=f[r+(c<<2)>>2]|0;f[g+(c<<2)>>2]=(P>>>0)%(z>>>0)|0;if((e|0)<=1)break;else P=(P>>>0)/(z>>>0)|0}}}while(0);g=l+36|0;s=f[g>>2]|0;if(s|0?(P=s+12|0,s=f[P>>2]|0,f[P>>2]=s+-1,(s|0)==1):0)XO(l);f[g>>2]=0;g=l+16|0;s=l+4|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;if((f[s>>2]|0)>0){g=f[l+40>>2]|0;P=0;do{f[g+(P<<2)>>2]=0;P=P+1|0}while((P|0)<(f[s>>2]|0))}s=f[l+44>>2]|0;if((s|0)!=(l+48|0))dX(s);s=k+36|0;l=f[s>>2]|0;if(l|0?(P=l+12|0,l=f[P>>2]|0,f[P>>2]=l+-1,(l|0)==1):0)XO(k);f[s>>2]=0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;if((f[h>>2]|0)>0){m=f[k+40>>2]|0;s=0;do{f[m+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[h>>2]|0))}h=f[k+44>>2]|0;if((h|0)!=(k+48|0))dX(h);if(!(f[j+4>>2]|0)){u=i;return}u=i;return}function rP(a,c,d,e,g,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;l=f[d>>2]|0;m=f[e>>2]|0;n=f[g>>2]|0;o=f[i>>2]|0;p=(j|0)>0;if(!c)if(p){q=m;r=0;s=o;t=n;u=l;while(1){v=h[a+r>>0]|0;w=(u|0)>(v|0);x=r+k|0;y=w?x:t;z=w?v:u;w=(q|0)<(v|0);A=w?x:s;x=w?v:q;r=r+1|0;if((r|0)==(j|0)){B=z;C=x;D=A;E=y;break}else{q=x;s=A;t=y;u=z}}}else{B=l;C=m;D=o;E=n}else if(p){p=0;u=m;t=o;s=n;q=l;while(1){r=(b[c+p>>0]|0)==0;z=h[a+p>>0]|0;y=(q|0)>(z|0);A=p+k|0;x=r?s:y?A:s;v=r?q:y?z:q;y=(u|0)<(z|0);w=r?t:y?A:t;A=r?u:y?z:u;p=p+1|0;if((p|0)==(j|0)){B=v;C=A;D=w;E=x;break}else{u=A;t=w;s=x;q=v}}}else{B=l;C=m;D=o;E=n}f[g>>2]=E;f[i>>2]=D;f[d>>2]=B;f[e>>2]=C;return}function sP(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;k=f[d>>2]|0;l=f[e>>2]|0;m=f[g>>2]|0;n=f[h>>2]|0;o=(i|0)>0;if(!c)if(o){p=l;q=0;r=n;s=m;t=k;while(1){u=b[a+q>>0]|0;v=(t|0)>(u|0);w=q+j|0;x=v?w:s;y=v?u:t;v=(p|0)<(u|0);z=v?w:r;w=v?u:p;q=q+1|0;if((q|0)==(i|0)){A=y;B=w;C=z;D=x;break}else{p=w;r=z;s=x;t=y}}}else{A=k;B=l;C=n;D=m}else if(o){o=0;t=l;s=n;r=m;p=k;while(1){q=(b[c+o>>0]|0)==0;y=b[a+o>>0]|0;x=(p|0)>(y|0);z=o+j|0;w=q?r:x?z:r;u=q?p:x?y:p;x=(t|0)<(y|0);v=q?s:x?z:s;z=q?t:x?y:t;o=o+1|0;if((o|0)==(i|0)){A=u;B=z;C=v;D=w;break}else{t=z;s=v;r=w;p=u}}}else{A=k;B=l;C=n;D=m}f[g>>2]=D;f[h>>2]=C;f[d>>2]=A;f[e>>2]=B;return}function tP(a,c,d,e,g,h,i,k){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;l=f[d>>2]|0;m=f[e>>2]|0;n=f[g>>2]|0;o=f[h>>2]|0;p=(i|0)>0;if(!c)if(p){q=m;r=0;s=o;t=n;u=l;while(1){v=j[a+(r<<1)>>1]|0;w=(u|0)>(v|0);x=r+k|0;y=w?x:t;z=w?v:u;w=(q|0)<(v|0);A=w?x:s;x=w?v:q;r=r+1|0;if((r|0)==(i|0)){B=z;C=x;D=A;E=y;break}else{q=x;s=A;t=y;u=z}}}else{B=l;C=m;D=o;E=n}else if(p){p=0;u=m;t=o;s=n;q=l;while(1){r=(b[c+p>>0]|0)==0;z=j[a+(p<<1)>>1]|0;y=(q|0)>(z|0);A=p+k|0;x=r?s:y?A:s;v=r?q:y?z:q;y=(u|0)<(z|0);w=r?t:y?A:t;A=r?u:y?z:u;p=p+1|0;if((p|0)==(i|0)){B=v;C=A;D=w;E=x;break}else{u=A;t=w;s=x;q=v}}}else{B=l;C=m;D=o;E=n}f[g>>2]=E;f[h>>2]=D;f[d>>2]=B;f[e>>2]=C;return}function uP(a,c,e,g,h,i,j,k){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;l=f[e>>2]|0;m=f[g>>2]|0;n=f[h>>2]|0;o=f[i>>2]|0;p=(j|0)>0;if(!c)if(p){q=m;r=0;s=o;t=n;u=l;while(1){v=d[a+(r<<1)>>1]|0;w=(u|0)>(v|0);x=r+k|0;y=w?x:t;z=w?v:u;w=(q|0)<(v|0);A=w?x:s;x=w?v:q;r=r+1|0;if((r|0)==(j|0)){B=z;C=x;D=A;E=y;break}else{q=x;s=A;t=y;u=z}}}else{B=l;C=m;D=o;E=n}else if(p){p=0;u=m;t=o;s=n;q=l;while(1){r=(b[c+p>>0]|0)==0;z=d[a+(p<<1)>>1]|0;y=(q|0)>(z|0);A=p+k|0;x=r?s:y?A:s;v=r?q:y?z:q;y=(u|0)<(z|0);w=r?t:y?A:t;A=r?u:y?z:u;p=p+1|0;if((p|0)==(j|0)){B=v;C=A;D=w;E=x;break}else{u=A;t=w;s=x;q=v}}}else{B=l;C=m;D=o;E=n}f[h>>2]=E;f[i>>2]=D;f[e>>2]=B;f[g>>2]=C;return}function vP(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;k=f[d>>2]|0;l=f[e>>2]|0;m=f[g>>2]|0;n=f[h>>2]|0;o=(i|0)>0;if(!c)if(o){p=l;q=0;r=n;s=m;t=k;while(1){u=f[a+(q<<2)>>2]|0;v=(u|0)<(t|0);w=q+j|0;x=v?w:s;y=v?u:t;v=(u|0)>(p|0);z=v?w:r;w=v?u:p;q=q+1|0;if((q|0)==(i|0)){A=y;B=w;C=z;D=x;break}else{p=w;r=z;s=x;t=y}}}else{A=k;B=l;C=n;D=m}else if(o){o=0;t=l;s=n;r=m;p=k;while(1){q=f[a+(o<<2)>>2]|0;y=(b[c+o>>0]|0)!=0;x=(q|0)<(p|0)&y;z=o+j|0;w=x?z:r;u=x?q:p;x=(q|0)>(t|0)&y;y=x?z:s;z=x?q:t;o=o+1|0;if((o|0)==(i|0)){A=u;B=z;C=y;D=w;break}else{t=z;s=y;r=w;p=u}}}else{A=k;B=l;C=n;D=m}f[g>>2]=D;f[h>>2]=C;f[d>>2]=A;f[e>>2]=B;return}function wP(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0.0,m=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0.0,v=0.0,w=0,x=0,y=0,z=0.0,A=0,B=0.0,C=0.0,D=0.0,E=0,F=0;k=+n[d>>2];l=+n[e>>2];m=f[g>>2]|0;o=f[h>>2]|0;p=(i|0)>0;if(!c)if(p){q=l;r=0;s=o;t=m;u=k;while(1){v=+n[a+(r<<2)>>2];w=vq;A=w?x:s;B=w?v:q;r=r+1|0;if((r|0)==(i|0)){C=z;D=B;E=A;F=y;break}else{q=B;s=A;t=y;u=z}}}else{C=k;D=l;E=o;F=m}else if(p){p=0;u=l;t=o;s=m;q=k;while(1){z=+n[a+(p<<2)>>2];r=(b[c+p>>0]|0)!=0;y=zu&r;r=y?A:t;v=y?z:u;p=p+1|0;if((p|0)==(i|0)){C=B;D=v;E=r;F=w;break}else{u=v;t=r;s=w;q=B}}}else{C=k;D=l;E=o;F=m}f[g>>2]=F;f[h>>2]=E;n[d>>2]=C;n[e>>2]=D;return}function xP(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0.0,m=0,n=0,o=0,q=0.0,r=0,s=0,t=0,u=0.0,v=0.0,w=0,x=0,y=0,z=0.0,A=0,B=0.0,C=0.0,D=0.0,E=0,F=0;k=+p[d>>3];l=+p[e>>3];m=f[g>>2]|0;n=f[h>>2]|0;o=(i|0)>0;if(!c)if(o){q=l;r=0;s=n;t=m;u=k;while(1){v=+p[a+(r<<3)>>3];w=vq;A=w?x:s;B=w?v:q;r=r+1|0;if((r|0)==(i|0)){C=z;D=B;E=A;F=y;break}else{q=B;s=A;t=y;u=z}}}else{C=k;D=l;E=n;F=m}else if(o){o=0;u=l;t=n;s=m;q=k;while(1){z=+p[a+(o<<3)>>3];r=(b[c+o>>0]|0)!=0;y=zu&r;r=y?A:t;v=y?z:u;o=o+1|0;if((o|0)==(i|0)){C=B;D=v;E=r;F=w;break}else{u=v;t=r;s=w;q=B}}}else{C=k;D=l;E=n;F=m}f[g>>2]=F;f[h>>2]=E;p[d>>3]=C;p[e>>3]=D;return}function yP(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;i=u;u=u+16|0;j=i+8|0;k=i;yV(j,32920);if((RJ(a,-1)|0)>=3){f[k>>2]=0;f[k+4>>2]=0;l=JV(k,16)|0;m=160198;n=l+16|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-215,k,160215,160058,823);KV(k)}qP(a,c,d,e,g,h);if(e|0){h=e+4|0;d=f[e>>2]|0;f[e>>2]=f[h>>2];f[h>>2]=d}if(g|0){d=g+4|0;h=f[g>>2]|0;f[g>>2]=f[d>>2];f[d>>2]=h}if(!(f[j+4>>2]|0)){u=i;return}u=i;return}function zP(a){a=a|0;f[a>>2]=32948;KV(a+32|0);KV(a+24|0);KV(a+16|0);KV(a+4|0);return}function AP(a){a=a|0;zP(a);GQa(a);return}function BP(a){a=a|0;var b=0;b=f[a+4>>2]|0;return ((b|0)==0?1079437:b)|0}function CP(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;f[a>>2]=32968;if((f[a+4>>2]|0)==-1){u=c;return}f[d>>2]=0;f[d+4>>2]=0;a=JV(d,10)|0;e=160338;g=a+10|0;do{b[a>>0]=b[e>>0]|0;a=a+1|0;e=e+1|0}while((a|0)<(g|0));EP(-215,d,160349,160367,1455);KV(d);u=c;return}function DP(a){a=a|0;ye()}function EP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0;g=u;u=u+64|0;h=g+16|0;i=g+8|0;j=g;f[i>>2]=0;f[i+4>>2]=0;if(c|0?(g=nCa(c)|0,g|0):0)DVa(JV(i,g)|0,c|0,g|0)|0;f[j>>2]=0;f[j+4>>2]=0;if(d|0?(g=nCa(d)|0,g|0):0)DVa(JV(j,g)|0,d|0,g|0)|0;FP(h,a,b,i,j,e);GP(h)}function FP(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;f[a>>2]=32948;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=b;b=f[c>>2]|0;f[a+16>>2]=b;f[a+20>>2]=f[c+4>>2];if(b|0){c=b+-4|0;f[c>>2]=(f[c>>2]|0)+1}c=f[d>>2]|0;f[a+24>>2]=c;f[a+28>>2]=f[d+4>>2];if(c|0){d=c+-4|0;f[d>>2]=(f[d>>2]|0)+1}d=f[e>>2]|0;f[a+32>>2]=d;f[a+36>>2]=f[e+4>>2];if(!d){h=a+40|0;f[h>>2]=g;KP(a);return}e=d+-4|0;f[e>>2]=(f[e>>2]|0)+1;h=a+40|0;f[h>>2]=g;KP(a);return}function GP(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=u;u=u+4128|0;c=b+24|0;d=b;e=b+32|0;b=HP(f[a+12>>2]|0)|0;g=f[a+16>>2]|0;if(!(f[a+28>>2]|0))h=160422;else{i=f[a+24>>2]|0;h=(i|0)==0?1079437:i}i=f[a+32>>2]|0;j=f[a+40>>2]|0;f[d>>2]=160489;f[d+4>>2]=b;f[d+8>>2]=(g|0)==0?1079437:g;f[d+12>>2]=h;f[d+16>>2]=(i|0)==0?1079437:i;f[d+20>>2]=j;IP(e,4096,160439,d)|0;d=f[27770]|0;f[c>>2]=e;ICa(d,160499,c)|0;GFa(d)|0;if(!0){k=hd(44)|0;JP(k,a);ld(k|0,9736,18)}f[0]=0;$();k=hd(44)|0;JP(k,a);ld(k|0,9736,18)}function HP(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;do switch(a|0){case 0:{d=161331;break}case -1:{d=161321;break}case -2:{d=161303;break}case -3:{d=161288;break}case -4:{d=161268;break}case -5:{d=161255;break}case -7:{d=161228;break}case -8:{d=161213;break}case -201:{d=161183;break}case -27:{d=161170;break}case -202:{d=161144;break}case -13:{d=161124;break}case -203:{d=161089;break}case -204:{d=161058;break}case -17:{d=161011;break}case -205:{d=160971;break}case -209:{d=160933;break}case -211:{d=160892;break}case -210:{d=160847;break}case -24:{d=160820;break}case -15:{d=160797;break}case -206:{d=160757;break}case -207:{d=160727;break}case -208:{d=160701;break}case -212:{d=160687;break}case -213:{d=160647;break}case -214:{d=160615;break}case -215:{d=160598;break}case -216:{d=160582;break}case -217:{d=160569;break}case -218:{d=160551;break}case -219:{d=160535;break}default:{f[c>>2]=(a|0)>-1?160503:160510;f[c+4>>2]=a;lDa(1074520,160516,c)|0;d=1074520}}while(0);u=b;return d|0}function IP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=nDa(a,b,c,g)|0;u=e;return d|0}function JP(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=32948;c=f[b+4>>2]|0;f[a+4>>2]=c;f[a+8>>2]=f[b+8>>2];if(c|0){d=c+-4|0;f[d>>2]=(f[d>>2]|0)+1}f[a+12>>2]=f[b+12>>2];d=f[b+16>>2]|0;f[a+16>>2]=d;f[a+20>>2]=f[b+20>>2];if(d|0){c=d+-4|0;f[c>>2]=(f[c>>2]|0)+1}c=f[b+24>>2]|0;f[a+24>>2]=c;f[a+28>>2]=f[b+28>>2];if(c|0){d=c+-4|0;f[d>>2]=(f[d>>2]|0)+1}d=f[b+32>>2]|0;f[a+32>>2]=d;f[a+36>>2]=f[b+36>>2];if(!d){e=a+40|0;g=b+40|0;h=f[g>>2]|0;f[e>>2]=h;return}c=d+-4|0;f[c>>2]=(f[c>>2]|0)+1;e=a+40|0;g=b+40|0;h=f[g>>2]|0;f[e>>2]=h;return}function KP(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=u;u=u+64|0;c=b+32|0;d=b;e=b+56|0;if(!(f[a+28>>2]|0)){g=f[a+32>>2]|0;h=f[a+40>>2]|0;i=f[a+12>>2]|0;j=HP(i)|0;k=f[a+16>>2]|0;f[c>>2]=160489;f[c+4>>2]=(g|0)==0?1079437:g;f[c+8>>2]=h;f[c+12>>2]=i;f[c+16>>2]=j;f[c+20>>2]=(k|0)==0?1079437:k;LP(e,161393,c);c=a+4|0;if((e|0)!=(c|0)){KV(c);k=f[e>>2]|0;if(!k)l=0;else{j=k+-4|0;f[j>>2]=(f[j>>2]|0)+1;l=f[e>>2]|0}f[c>>2]=l;f[a+8>>2]=f[e+4>>2]}KV(e);u=b;return}else{l=f[a+32>>2]|0;c=f[a+40>>2]|0;j=f[a+12>>2]|0;k=HP(j)|0;i=f[a+16>>2]|0;h=f[a+24>>2]|0;f[d>>2]=160489;f[d+4>>2]=(l|0)==0?1079437:l;f[d+8>>2]=c;f[d+12>>2]=j;f[d+16>>2]=k;f[d+20>>2]=(i|0)==0?1079437:i;f[d+24>>2]=(h|0)==0?1079437:h;LP(e,161340,d);d=a+4|0;if((e|0)!=(d|0)){KV(d);h=f[e>>2]|0;if(!h)m=0;else{i=h+-4|0;f[i>>2]=(f[i>>2]|0)+1;m=f[e>>2]|0}f[d>>2]=m;f[a+8>>2]=f[e+4>>2]}KV(e);u=b;return}}function LP(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;e=u;u=u+1056|0;g=e+24|0;h=e+8|0;i=e;j=g+8|0;f[g>>2]=j;k=g+4|0;f[k>>2]=1024;l=i+4|0;while(1){f[h>>2]=d;m=f[k>>2]|0;n=nDa(f[g>>2]|0,m,c,h)|0;if((n|0)<=-1){f[i>>2]=0;f[l>>2]=0;o=JV(i,44)|0;p=161431;q=o+44|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));EP(-215,i,184098,160367,760);KV(i)}if((n|0)<(m|0))break;p=n+1|0;o=f[k>>2]|0;if(o>>>0

>>0){q=f[g>>2]|0;if(p>>>0>1024)r=FQa(p)|0;else r=j;f[g>>2]=r;f[k>>2]=p;if((o|0)!=0&(r|0)!=(q|0)){b[r>>0]=b[q>>0]|0;if((o|0)!=1){b[r+1>>0]=b[q+1>>0]|0;if((o|0)==2)s=o;else{t=2;do{b[(f[g>>2]|0)+t>>0]=b[q+t>>0]|0;t=t+1|0}while((t|0)!=(o|0));s=o}}else s=1}else s=o;do{b[(f[g>>2]|0)+s>>0]=0;s=s+1|0}while((s|0)!=(p|0));if(!((q|0)==(j|0)|(q|0)==0))HQa(q)}else f[k>>2]=p}b[(f[g>>2]|0)+(m+-1)>>0]=0;m=f[g>>2]|0;f[a>>2]=0;f[a+4>>2]=0;if((n|0)!=0&(m|0)!=0){DVa(JV(a,n)|0,m|0,n|0)|0;v=f[g>>2]|0}else v=m;if((v|0)==(j|0)){u=e;return}if(v|0)HQa(v);f[g>>2]=j;f[k>>2]=1024;u=e;return}function MP(){var a=0;a=NP()|0;f[113871]=a;FVa(1074776,0,512)|0;OP(1074776);return}function NP(){var a=0,b=0,c=0,d=0,e=0;a=u;u=u+16|0;b=a;c=f[114386]|0;if(c|0){d=c;u=a;return d|0}c=EQa(4)|0;e=EQa(32)|0;Ge(b|0)|0;He(b|0,1)|0;Ee(e|0,b|0)|0;Fe(b|0)|0;f[e+28>>2]=1;f[c>>2]=e;f[114386]=c;d=c;u=a;return d|0}function OP(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=u;u=u+16|0;d=c;e=c+4|0;if(te(161500)|0){g=f[27770]|0;if((b[453288]|0)==0?jVa(453288)|0:0){f[113872]=0;f[113873]=0;DVa(JV(455488,4815)|0,161519,4815)|0}h=f[113872]|0;f[d>>2]=(h|0)==0?1079437:h;ICa(g,166335,d)|0}FVa(455496,0,2048)|0;f[113875]=166371;f[113876]=166375;f[113877]=166379;f[113878]=166384;f[113879]=166389;f[113880]=166395;f[113881]=166402;f[113882]=166409;f[113883]=166416;f[113884]=166421;f[113885]=166425;f[113886]=166430;f[113887]=166435;f[113888]=166443;f[113889]=166452;f[113890]=166461;f[113891]=166470;f[113892]=166479;f[113893]=166490;f[113894]=166499;f[113895]=166510;f[113974]=166519;f[114074]=166524;f[114130]=166528;b[a+200>>0]=0;f[e>>2]=0;PP(a,e,1);u=c;return}function PP(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;e=u;u=u+48|0;g=e+16|0;h=e+8|0;i=e;j=e+32|0;k=e+24|0;l=te(166539)|0;if(!l){u=e;return}if(!(b[l>>0]|0)){u=e;return}m=j+4|0;n=k+4|0;o=f[27770]|0;p=(d|0)>0;q=l;a:while(1){l=q;b:while(1){r=b[l>>0]|0;switch(r<<24>>24){case 0:{break a;break}case 44:case 59:break;default:{s=l;t=r;break b}}l=l+1|0}c:while(1){switch(t<<24>>24){case 44:case 59:case 0:{break c;break}default:{}}r=s+1|0;s=r;t=b[r>>0]|0}if((s|0)==(l|0)){q=l;continue}f[j>>2]=0;f[m>>2]=0;r=s-l|0;if((r|0)!=0?(DVa(JV(j,r)|0,l|0,r|0)|0,r=f[m>>2]|0,(r|0)!=0):0)v=r;else{f[k>>2]=0;f[n>>2]=0;r=JV(k,18)|0;w=166558;x=r+18|0;do{b[r>>0]=b[w>>0]|0;r=r+1|0;w=w+1|0}while((r|0)<(x|0));EP(-215,k,166577,160367,552);KV(k);v=f[m>>2]|0}w=f[j>>2]|0;r=(w|0)==0?1079437:w;x=0;while(1){y=455496+(x<<2)|0;z=f[y>>2]|0;if(z|0?(nCa(z)|0)==(v|0):0){if((w|0)==(z|0)){A=18;break}if(!(mCa(r,z)|0)){A=18;break}}if((x|0)<511)x=x+1|0;else{A=26;break}}if((A|0)==18){A=0;d:do if(p){w=0;while(1){if((f[c+(w<<2)>>2]|0)==(x|0))break;w=w+1|0;if((w|0)>=(d|0))break d}f[i>>2]=z;ICa(o,166590,i)|0}while(0);w=a+x|0;if(!(b[w>>0]|0)){l=f[y>>2]|0;f[h>>2]=l|0?l:166767;ICa(o,166783,h)|0}b[w>>0]=0}else if((A|0)==26){A=0;f[g>>2]=r;ICa(o,166865,g)|0}KV(j);q=s}u=e;return}function QP(a){a=a|0;var b=0;f[a>>2]=32948;b=a+4|0;a=b+40|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function RP(a){a=a|0;return (b[1074776+a>>0]|0)!=0|0}function SP(){var a=0,b=0,c=0,d=0;if(f[114388]|0){a=f[114388]|0;return a|0}b=NP()|0;HVa(f[b>>2]|0)|0;if(!(f[114388]|0)){c=EQa(8)|0;f[c>>2]=32968;d=bQ(UP()|0)|0;f[c+4>>2]=d;f[c>>2]=32992;f[114388]=c}IVa(f[b>>2]|0)|0;a=f[114388]|0;return a|0}function TP(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=u;u=u+16|0;d=c;e=a+4|0;if((f[e>>2]|0)==-1){f[d>>2]=0;f[d+4>>2]=0;g=JV(d,63)|0;h=166919;i=g+63|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));EP(-215,d,166983,160367,1484);KV(d)}d=UP()|0;h=VP(d,f[e>>2]|0)|0;if(h|0){j=h;u=c;return j|0}h=Wf[f[(f[a>>2]|0)+8>>2]&255](a)|0;a=UP()|0;WP(a,f[e>>2]|0,h);j=h;u=c;return j|0}function UP(){var a=0,b=0,c=0;if(f[114387]|0){a=f[114387]|0;return a|0}b=NP()|0;HVa(f[b>>2]|0)|0;if(!(f[114387]|0)){c=EQa(36)|0;_P(c);f[114387]=c}IVa(f[b>>2]|0)|0;a=f[114387]|0;return a|0}function VP(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;if((f[a+8>>2]|0)>>>0<=c>>>0){f[e>>2]=0;f[e+4>>2]=0;g=JV(e,22)|0;h=166991;i=g+22|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));EP(-215,e,166983,160367,1377);KV(e)}e=Ae(f[a>>2]|0)|0;if(!e){j=0;u=d;return j|0}a=f[e>>2]|0;if((f[e+4>>2]|0)-a>>2>>>0<=c>>>0){j=0;u=d;return j|0}j=f[a+(c<<2)>>2]|0;u=d;return j|0}function WP(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=u;u=u+16|0;g=e+8|0;h=e;if((f[a+8>>2]|0)>>>0<=c>>>0){f[g>>2]=0;f[g+4>>2]=0;i=JV(g,22)|0;j=166991;k=i+22|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-215,g,167014,160367,1409);KV(g)}j=Ae(f[a>>2]|0)|0;f[g>>2]=j;if(!j){i=EQa(16)|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;k=EQa(128)|0;l=k;f[i>>2]=l;f[i+4>>2]=l;f[i+8>>2]=k+128;f[g>>2]=i;XP(a,i);k=a+4|0;HVa(f[k>>2]|0)|0;l=a+24|0;m=a+28|0;n=f[m>>2]|0;f[i+12>>2]=n-(f[l>>2]|0)>>2;if((f[a+32>>2]|0)==(n|0))YP(l,g);else{f[n>>2]=i;f[m>>2]=(f[m>>2]|0)+4}IVa(f[k>>2]|0)|0;o=f[g>>2]|0}else o=j;if((f[o+4>>2]|0)-(f[o>>2]|0)>>2>>>0>c>>>0){p=o;q=f[p>>2]|0;r=q+(c<<2)|0;f[r>>2]=d;u=e;return}o=a+4|0;HVa(f[o>>2]|0)|0;a=f[g>>2]|0;j=c+1|0;f[h>>2]=0;k=a+4|0;m=f[k>>2]|0;i=f[a>>2]|0;n=m-i>>2;l=i;i=m;if(j>>>0<=n>>>0){if(j>>>0>>0?(m=l+(j<<2)|0,(m|0)!=(i|0)):0)f[k>>2]=i+(~((i+-4-m|0)>>>2)<<2)}else ZP(a,j-n|0,h);IVa(f[o>>2]|0)|0;p=f[g>>2]|0;q=f[p>>2]|0;r=q+(c<<2)|0;f[r>>2]=d;u=e;return}function XP(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;e=d;if(!(Je(f[a>>2]|0,c|0)|0)){u=d;return}f[e>>2]=0;f[e+4>>2]=0;c=JV(e,39)|0;a=167022;g=c+39|0;do{b[c>>0]=b[a>>0]|0;c=c+1|0;a=a+1|0}while((c|0)<(g|0));EP(-215,e,167062,160367,1265);KV(e);u=d;return}function YP(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=e>>2;h=g+1|0;if(h>>>0>1073741823)ZOa(a);i=a+8|0;j=(f[i>>2]|0)-d|0;k=j>>1;l=j>>2>>>0<536870911?(k>>>0>>0?h:k):1073741823;do if(l)if(l>>>0>1073741823){k=hd(8)|0;LQa(k,349912);f[k>>2]=118288;ld(k|0,20688,857)}else{k=EQa(l<<2)|0;m=k;n=k;break}else{m=0;n=0}while(0);k=m+(g<<2)|0;f[k>>2]=f[b>>2];if((e|0)>0)DVa(n|0,d|0,e|0)|0;f[a>>2]=m;f[c>>2]=k+4;f[i>>2]=m+(l<<2);if(!d)return;GQa(d);return}function ZP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if(e-h>>2>>>0>=b>>>0){i=b;j=h;do{f[j>>2]=f[c>>2];j=(f[g>>2]|0)+4|0;f[g>>2]=j;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;j=h-i>>2;h=j+b|0;if(h>>>0>1073741823)ZOa(a);k=e-i|0;i=k>>1;e=k>>2>>>0<536870911?(i>>>0>>0?h:i):1073741823;do if(e)if(e>>>0>1073741823){i=hd(8)|0;LQa(i,349912);f[i>>2]=118288;ld(i|0,20688,857)}else{l=EQa(e<<2)|0;break}else l=0;while(0);i=l+(j<<2)|0;j=l+(e<<2)|0;e=b;b=i;l=i;do{f[b>>2]=f[c>>2];b=l+4|0;l=b;e=e+-1|0}while((e|0)!=0);e=f[a>>2]|0;b=(f[g>>2]|0)-e|0;c=i+(0-(b>>2)<<2)|0;if((b|0)>0)DVa(c|0,e|0,b|0)|0;f[a>>2]=c;f[g>>2]=l;f[d>>2]=j;if(!e)return;GQa(e);return}function _P(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;$P(a);d=EQa(32)|0;Ge(c|0)|0;He(c|0,1)|0;Ee(d|0,c|0)|0;Fe(c|0)|0;f[d+28>>2]=1;f[a+4>>2]=d;d=a+8|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[d+24>>2]=0;d=EQa(128)|0;f[a+12>>2]=d;f[a+16>>2]=d;f[a+20>>2]=d+128;d=EQa(128)|0;f[a+24>>2]=d;f[a+28>>2]=d;f[a+32>>2]=d+128;u=b;return}function $P(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;if(!(Be(a|0,0)|0)){u=c;return}f[d>>2]=0;f[d+4>>2]=0;a=JV(d,36)|0;e=167118;g=a+36|0;do{b[a>>0]=b[e>>0]|0;a=a+1|0;e=e+1|0}while((a|0)<(g|0));EP(-215,d,167155,160367,1253);KV(d);u=c;return}function aQ(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;if(!(Ce(f[a>>2]|0)|0)){u=c;return}f[d>>2]=0;f[d+4>>2]=0;a=JV(d,31)|0;e=167070;g=a+31|0;do{b[a>>0]=b[e>>0]|0;a=a+1|0;e=e+1|0}while((a|0)<(g|0));EP(-215,d,167102,160367,1257);KV(d);u=c;return}function bQ(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+16|0;d=c;e=a+4|0;HVa(f[e>>2]|0)|0;g=a+8|0;h=f[g>>2]|0;i=a+12|0;j=a+16|0;if((h|0)==((f[j>>2]|0)-(f[i>>2]|0)>>2|0))k=h;else{f[d>>2]=0;f[d+4>>2]=0;h=JV(d,31)|0;l=167170;m=h+31|0;do{b[h>>0]=b[l>>0]|0;h=h+1|0;l=l+1|0}while((h|0)<(m|0));EP(-215,d,167247,160367,1332);KV(d);k=f[g>>2]|0}a:do if(k|0){l=f[i>>2]|0;h=0;while(1){n=l+(h<<2)|0;if(!(f[n>>2]|0))break;m=h+1|0;if(m>>>0>>0)h=m;else break a}f[n>>2]=1;o=h;p=f[e>>2]|0;IVa(p|0)|0;u=c;return o|0}while(0);f[d>>2]=1;n=f[j>>2]|0;if((n|0)==(f[a+20>>2]|0))jQ(i,d);else{f[n>>2]=1;f[j>>2]=n+4}n=f[g>>2]|0;f[g>>2]=n+1;o=n;p=f[e>>2]|0;IVa(p|0)|0;u=c;return o|0}function cQ(a){a=a|0;f[a>>2]=32992;gQ(a);CP(a);return}function dQ(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=u;u=u+16|0;d=c;f[a>>2]=32992;gQ(a);f[a>>2]=32968;if((f[a+4>>2]|0)==-1){GQa(a);u=c;return}f[d>>2]=0;f[d+4>>2]=0;e=JV(d,10)|0;g=160338;h=e+10|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));EP(-215,d,160349,160367,1455);KV(d);GQa(a);u=c;return}function eQ(a){a=a|0;var b=0;a=EQa(32)|0;b=a;f[b>>2]=-1;f[b+4>>2]=0;f[a+8>>2]=0;VY(a+12|0);f[a+16>>2]=-1;f[a+20>>2]=-1;f[a+24>>2]=-1;return a|0}function fQ(a,b){a=a|0;b=b|0;if(!b)return;WY(b+12|0);GQa(b);return}function gQ(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;b=u;u=u+16|0;c=b;f[c>>2]=0;d=c+4|0;f[d>>2]=0;f[c+8>>2]=0;e=EQa(128)|0;f[c>>2]=e;f[d>>2]=e;f[c+8>>2]=e+128;e=UP()|0;g=a+4|0;hQ(e,f[g>>2]|0,c,0);f[g>>2]=-1;g=f[d>>2]|0;e=f[c>>2]|0;h=e;if((g|0)==(e|0)){i=g;j=h}else{g=0;e=h;while(1){zg[f[(f[a>>2]|0)+12>>2]&511](a,f[e+(g<<2)>>2]|0);g=g+1|0;h=f[d>>2]|0;k=f[c>>2]|0;l=k;if(g>>>0>=h-k>>2>>>0){i=h;j=l;break}else e=l}}e=i;if(!j){u=b;return}if((j|0)!=(e|0))f[d>>2]=e+(~((e+-4-j|0)>>>2)<<2);GQa(j);u=b;return}function hQ(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+16|0;h=g;i=a+4|0;HVa(f[i>>2]|0)|0;j=a+8|0;k=f[j>>2]|0;l=a+12|0;if((k|0)==((f[a+16>>2]|0)-(f[l>>2]|0)>>2|0))m=k;else{f[h>>2]=0;f[h+4>>2]=0;n=JV(h,31)|0;o=167170;p=n+31|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));EP(-215,h,167202,160367,1353);KV(h);m=f[j>>2]|0}if(m>>>0<=c>>>0){f[h>>2]=0;f[h+4>>2]=0;n=JV(h,22)|0;o=166991;p=n+22|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));EP(-215,h,167202,160367,1354);KV(h)}h=a+24|0;o=a+28|0;a=f[o>>2]|0;n=f[h>>2]|0;if((a|0)!=(n|0)){p=d+4|0;m=d+8|0;j=0;k=n;n=a;while(1){a=f[k+(j<<2)>>2]|0;if(((a|0)!=0?(q=f[a>>2]|0,(f[a+4>>2]|0)-q>>2>>>0>c>>>0):0)?(r=q+(c<<2)|0,q=f[r>>2]|0,s=q,(q|0)!=0):0){q=f[p>>2]|0;if((q|0)==(f[m>>2]|0))iQ(d,r);else{f[q>>2]=s;f[p>>2]=(f[p>>2]|0)+4}f[(f[a>>2]|0)+(c<<2)>>2]=0;t=f[h>>2]|0;v=f[o>>2]|0}else{t=k;v=n}j=j+1|0;if(j>>>0>=v-t>>2>>>0)break;else{k=t;n=v}}}if(e){w=f[i>>2]|0;IVa(w|0)|0;u=g;return}f[(f[l>>2]|0)+(c<<2)>>2]=0;w=f[i>>2]|0;IVa(w|0)|0;u=g;return}function iQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=e>>2;h=g+1|0;if(h>>>0>1073741823)ZOa(a);i=a+8|0;j=(f[i>>2]|0)-d|0;k=j>>1;l=j>>2>>>0<536870911?(k>>>0>>0?h:k):1073741823;do if(l)if(l>>>0>1073741823){k=hd(8)|0;LQa(k,349912);f[k>>2]=118288;ld(k|0,20688,857)}else{k=EQa(l<<2)|0;m=k;n=k;break}else{m=0;n=0}while(0);k=m+(g<<2)|0;f[k>>2]=f[b>>2];if((e|0)>0)DVa(n|0,d|0,e|0)|0;f[a>>2]=m;f[c>>2]=k+4;f[i>>2]=m+(l<<2);if(!d)return;GQa(d);return}function jQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=e>>2;h=g+1|0;if(h>>>0>1073741823)ZOa(a);i=a+8|0;j=(f[i>>2]|0)-d|0;k=j>>1;l=j>>2>>>0<536870911?(k>>>0>>0?h:k):1073741823;do if(l)if(l>>>0>1073741823){k=hd(8)|0;LQa(k,349912);f[k>>2]=118288;ld(k|0,20688,857)}else{k=EQa(l<<2)|0;m=k;n=k;break}else{m=0;n=0}while(0);k=m+(g<<2)|0;f[k>>2]=f[b>>2];if((e|0)>0)DVa(n|0,d|0,e|0)|0;f[a>>2]=m;f[c>>2]=k+4;f[i>>2]=m+(l<<2);if(!d)return;GQa(d);return}function kQ(){if(b[453288]|0)return 455488;if(!(jVa(453288)|0))return 455488;f[113872]=0;f[113873]=0;DVa(JV(455488,4815)|0,161519,4815)|0;return 455488}function lQ(){return 0}function mQ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=u;u=u+80|0;h=g+24|0;i=g+16|0;j=g+8|0;k=g;f[i>>2]=0;f[i+4>>2]=0;if(c|0?(g=nCa(c)|0,g|0):0)DVa(JV(i,g)|0,c|0,g|0)|0;f[j>>2]=0;f[j+4>>2]=0;if(b|0?(g=nCa(b)|0,g|0):0)DVa(JV(j,g)|0,b|0,g|0)|0;f[k>>2]=0;f[k+4>>2]=0;if(d|0?(g=nCa(d)|0,g|0):0)DVa(JV(k,g)|0,d|0,g|0)|0;FP(h,a,i,j,k,e);GP(h)}function nQ(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;d=EQa(32)|0;Ge(c|0)|0;He(c|0,1)|0;Ee(d|0,c|0)|0;Fe(c|0)|0;f[d+28>>2]=1;f[a>>2]=d;u=b;return}function oQ(a){a=a|0;var b=0,c=0;b=(f[a>>2]|0)+28|0;c=f[b>>2]|0;f[b>>2]=c+-1;if((c|0)==1?(c=f[a>>2]|0,c|0):0){De(c|0)|0;GQa(c)}f[a>>2]=0;return}function pQ(a){a=a|0;HVa(f[a>>2]|0)|0;return}function qQ(a){a=a|0;IVa(f[a>>2]|0)|0;return}function rQ(a){a=a|0;var b=0;f[a>>2]=32968;b=bQ(UP()|0)|0;f[a+4>>2]=b;return}function sQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;EP(a,b,c,160367,d);return}function tQ(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;d=u;u=u+48|0;e=d;g=d+32|0;h=d+24|0;i=d+16|0;j=d+8|0;k=te(a|0)|0;if(!k){l=c;u=d;return l|0}f[g>>2]=0;c=g+4|0;f[c>>2]=0;m=nCa(k)|0;a:do if((m|0)!=0?(DVa(JV(g,m)|0,k|0,m|0)|0,n=f[c>>2]|0,(n|0)!=0):0){o=f[g>>2]|0;p=0;while(1){if(((b[o+p>>0]|0)+-48|0)>>>0>=10){q=p;r=n;break a}s=p+1|0;if(s>>>0>>0)p=s;else{q=s;r=n;break}}}else{q=0;r=0}while(0);f[h>>2]=0;m=h+4|0;f[m>>2]=0;k=r>>>0>q>>>0;n=k?q:r;do if(n)if(k){p=JV(h,n)|0;DVa(p|0,f[g>>2]|0,n|0)|0;t=f[c>>2]|0;break}else{p=(f[g>>2]|0)+-4|0;f[p>>2]=(f[p>>2]|0)+1;f[h>>2]=f[g>>2];p=f[c>>2]|0;f[m>>2]=p;t=p;break}else t=r;while(0);r=t-q|0;f[i>>2]=0;m=i+4|0;f[m>>2]=0;n=t>>>0>>0?t:q;q=t-n|0;k=q>>>0>r>>>0?r:q;do if(k)if((k|0)==(t|0)){q=(f[g>>2]|0)+-4|0;f[q>>2]=(f[q>>2]|0)+1;f[i>>2]=f[g>>2];q=f[c>>2]|0;f[m>>2]=q;v=q;break}else{q=JV(i,k)|0;DVa(q|0,(f[g>>2]|0)+n|0,k|0)|0;v=f[m>>2]|0;break}else v=0;while(0);m=f[h>>2]|0;k=NEa((m|0)==0?1079437:m)|0;do if(!v)w=k;else{m=f[i>>2]|0;if((((m|0)!=167294?(n=(m|0)==0?1079437:m,!((mCa(n,167294)|0)==0|(m|0)==167297)):0)?!((mCa(n,167297)|0)==0|(m|0)==167300):0)?mCa(n,167300)|0:0){if((((m|0)!=167303?!((mCa(n,167303)|0)==0|(m|0)==167306):0)?!((mCa(n,167306)|0)==0|(m|0)==167309):0)?mCa(n,167309)|0:0){n=f[g>>2]|0;f[e>>2]=a;f[e+4>>2]=(n|0)==0?1079437:n;LP(j,167259,e);sQ(-5,j,167312,1602)}w=k<<10;break}w=k<<20}while(0);KV(i);KV(h);KV(g);l=w;u=d;return l|0}function uQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=u;u=u+64|0;g=e;if((c|0)<0&(d|0)>255){i=1;u=e;return i|0}if((d|0)<(c|0)|((c|0)>255|(d|0)<0)){f[b>>2]=0;f[b+4>>2]=0;i=0;u=e;return i|0}hP(g,a,1,0);j=f[g+8>>2]|0;a:do if((j|0)>0?(k=f[g+12>>2]|0,l=f[g+16>>2]|0,(k|0)>0):0){m=f[f[g+44>>2]>>2]|0;n=0;b:while(1){o=l+(X(m,n)|0)|0;p=0;while(1){q=h[o+p>>0]|0;if((q|0)<(c|0)|(q|0)>(d|0))break b;q=p+1|0;if((q|0)<(k|0))p=q;else break}o=n+1|0;if((o|0)<(j|0))n=o;else{r=1;break a}}f[b+4>>2]=n;f[b>>2]=(p|0)/(((f[a>>2]|0)>>>3&511)+1|0)|0;r=0}else r=1;while(0);a=g+36|0;p=f[a>>2]|0;if(p|0?(b=p+12|0,p=f[b>>2]|0,f[b>>2]=p+-1,(p|0)==1):0)XO(g);f[a>>2]=0;a=g+16|0;p=g+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if((f[p>>2]|0)>0){a=f[g+40>>2]|0;b=0;do{f[a+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(f[p>>2]|0))}p=f[g+44>>2]|0;if((p|0)!=(g+48|0))dX(p);i=r;u=e;return i|0}function vQ(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=u;u=u+64|0;h=g;if((d|0)<-128&(e|0)>127){i=1;u=g;return i|0}if((e|0)<(d|0)|((d|0)>127|(e|0)<-128)){f[c>>2]=0;f[c+4>>2]=0;i=0;u=g;return i|0}hP(h,a,1,0);j=f[h+8>>2]|0;a:do if((j|0)>0?(k=f[h+12>>2]|0,l=f[h+16>>2]|0,(k|0)>0):0){m=f[f[h+44>>2]>>2]|0;n=0;b:while(1){o=l+(X(m,n)|0)|0;p=0;while(1){q=b[o+p>>0]|0;if((q|0)<(d|0)|(q|0)>(e|0))break b;q=p+1|0;if((q|0)<(k|0))p=q;else break}o=n+1|0;if((o|0)<(j|0))n=o;else{r=1;break a}}f[c+4>>2]=n;f[c>>2]=(p|0)/(((f[a>>2]|0)>>>3&511)+1|0)|0;r=0}else r=1;while(0);a=h+36|0;p=f[a>>2]|0;if(p|0?(c=p+12|0,p=f[c>>2]|0,f[c>>2]=p+-1,(p|0)==1):0)XO(h);f[a>>2]=0;a=h+16|0;p=h+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if((f[p>>2]|0)>0){a=f[h+40>>2]|0;c=0;do{f[a+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[p>>2]|0))}p=f[h+44>>2]|0;if((p|0)!=(h+48|0))dX(p);i=r;u=g;return i|0}function wQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=u;u=u+64|0;g=e;if((c|0)<0&(d|0)>65535){h=1;u=e;return h|0}if((d|0)<(c|0)|((c|0)>65535|(d|0)<0)){f[b>>2]=0;f[b+4>>2]=0;h=0;u=e;return h|0}hP(g,a,1,0);i=f[g+8>>2]|0;a:do if((i|0)>0?(k=f[g+12>>2]|0,l=f[g+16>>2]|0,(k|0)>0):0){m=f[f[g+44>>2]>>2]|0;n=0;b:while(1){o=l+(X(m,n)|0)|0;p=0;while(1){q=j[o+(p<<1)>>1]|0;if((q|0)<(c|0)|(q|0)>(d|0))break b;q=p+1|0;if((q|0)<(k|0))p=q;else break}o=n+1|0;if((o|0)<(i|0))n=o;else{r=1;break a}}f[b+4>>2]=n;f[b>>2]=(p|0)/(((f[a>>2]|0)>>>3&511)+1|0)|0;r=0}else r=1;while(0);a=g+36|0;p=f[a>>2]|0;if(p|0?(b=p+12|0,p=f[b>>2]|0,f[b>>2]=p+-1,(p|0)==1):0)XO(g);f[a>>2]=0;a=g+16|0;p=g+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if((f[p>>2]|0)>0){a=f[g+40>>2]|0;b=0;do{f[a+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(f[p>>2]|0))}p=f[g+44>>2]|0;if((p|0)!=(g+48|0))dX(p);h=r;u=e;return h|0}function xQ(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=u;u=u+64|0;h=g;if((c|0)<-32768&(e|0)>32767){i=1;u=g;return i|0}if((e|0)<(c|0)|((c|0)>32767|(e|0)<-32768)){f[b>>2]=0;f[b+4>>2]=0;i=0;u=g;return i|0}hP(h,a,1,0);j=f[h+8>>2]|0;a:do if((j|0)>0?(k=f[h+12>>2]|0,l=f[h+16>>2]|0,(k|0)>0):0){m=f[f[h+44>>2]>>2]|0;n=0;b:while(1){o=l+(X(m,n)|0)|0;p=0;while(1){q=d[o+(p<<1)>>1]|0;if((q|0)<(c|0)|(q|0)>(e|0))break b;q=p+1|0;if((q|0)<(k|0))p=q;else break}o=n+1|0;if((o|0)<(j|0))n=o;else{r=1;break a}}f[b+4>>2]=n;f[b>>2]=(p|0)/(((f[a>>2]|0)>>>3&511)+1|0)|0;r=0}else r=1;while(0);a=h+36|0;p=f[a>>2]|0;if(p|0?(b=p+12|0,p=f[b>>2]|0,f[b>>2]=p+-1,(p|0)==1):0)XO(h);f[a>>2]=0;a=h+16|0;p=h+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if((f[p>>2]|0)>0){a=f[h+40>>2]|0;b=0;do{f[a+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(f[p>>2]|0))}p=f[h+44>>2]|0;if((p|0)!=(h+48|0))dX(p);i=r;u=g;return i|0}function yQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=u;u=u+64|0;g=e;if((d|0)<(c|0)){f[b>>2]=0;f[b+4>>2]=0;h=0;u=e;return h|0}hP(g,a,1,0);i=f[g+8>>2]|0;a:do if((i|0)>0?(j=f[g+12>>2]|0,k=f[g+16>>2]|0,(j|0)>0):0){l=f[f[g+44>>2]>>2]|0;m=0;b:while(1){n=k+(X(l,m)|0)|0;o=0;while(1){p=f[n+(o<<2)>>2]|0;if((p|0)<(c|0)|(p|0)>(d|0))break b;p=o+1|0;if((p|0)<(j|0))o=p;else break}n=m+1|0;if((n|0)<(i|0))m=n;else{q=1;break a}}f[b+4>>2]=m;f[b>>2]=(o|0)/(((f[a>>2]|0)>>>3&511)+1|0)|0;q=0}else q=1;while(0);a=g+36|0;o=f[a>>2]|0;if(o|0?(b=o+12|0,o=f[b>>2]|0,f[b>>2]=o+-1,(o|0)==1):0)XO(g);f[a>>2]=0;a=g+16|0;o=g+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if((f[o>>2]|0)>0){a=f[g+40>>2]|0;b=0;do{f[a+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(f[o>>2]|0))}o=f[g+44>>2]|0;if((o|0)!=(g+48|0))dX(o);h=q;u=e;return h|0}function zQ(a){a=+a;var b=0,c=0,d=0,e=0,g=0,h=0,i=0.0;b=u;u=u+16|0;c=b;yV(c,33028);d=(n[s>>2]=a,f[s>>2]|0);e=(d>>>23&255)+-127|0;g=(e|0)%3|0;h=g+-3-(g>>31&-3)|0;a=(f[s>>2]=(h<<23)+1065353216|d&8388607,+n[s>>2]);i=d|0?(f[s>>2]=(((e-h|0)/3|0)<<23)+(d&-2147483648)+(n[s>>2]=((((a*45.2548339756803+192.2798368355061)*a+119.16548242855816)*a+13.432501390862399)*a+.16361612265857542)/((((a*14.808840932191346+151.97140510444356)*a+168.52544141015682)*a+33.99059413502156)*a+1.0),f[s>>2]|0),+n[s>>2]):0.0;if(!(f[c+4>>2]|0)){u=b;return +i}u=b;return +i}function AQ(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;e=u;u=u+240|0;g=e+232|0;h=e+176|0;i=e+120|0;j=e+64|0;k=e+48|0;l=e+32|0;m=e;yV(g,33048);n=GJ(a,-1)|0;o=TJ(a,-1)|0;p=UJ(a,-1)|0;FJ(h,a,-1);FJ(i,c,-1);do if((f[h>>2]|0)==(f[i>>2]|0)?(f[h+4>>2]|0)==(f[i+4>>2]|0):0)if((n|0)==(GJ(c,-1)|0)?(o+-5|0)>>>0<2:0)break;else{q=6;break}else q=6;while(0);if((q|0)==6){f[h>>2]=0;f[h+4>>2]=0;q=JV(h,79)|0;n=167427;r=q+79|0;do{b[q>>0]=b[n>>0]|0;q=q+1|0;n=n+1|0}while((q|0)<(r|0));EP(-215,h,232663,167369,150);KV(h)}do if((HJ(a)|0)==65536){n=f[a+4>>2]|0;f[h>>2]=f[n>>2];q=h+4|0;r=n+4|0;f[q>>2]=f[r>>2];s=h+8|0;f[s>>2]=f[n+8>>2];f[h+12>>2]=f[n+12>>2];f[h+16>>2]=f[n+16>>2];f[h+20>>2]=f[n+20>>2];f[h+24>>2]=f[n+24>>2];f[h+28>>2]=f[n+28>>2];f[h+32>>2]=f[n+32>>2];t=f[n+36>>2]|0;f[h+36>>2]=t;f[h+40>>2]=s;s=h+48|0;v=h+44|0;f[v>>2]=s;f[s>>2]=0;f[h+52>>2]=0;if(t|0){s=t+12|0;f[s>>2]=(f[s>>2]|0)+1}if((f[r>>2]|0)<3){r=f[n+44>>2]|0;s=f[v>>2]|0;f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2];break}else{f[q>>2]=0;WO(h,n);break}}else DJ(h,a,-1);while(0);do if((HJ(c)|0)==65536){a=f[c+4>>2]|0;f[i>>2]=f[a>>2];n=i+4|0;q=a+4|0;f[n>>2]=f[q>>2];r=i+8|0;f[r>>2]=f[a+8>>2];f[i+12>>2]=f[a+12>>2];f[i+16>>2]=f[a+16>>2];f[i+20>>2]=f[a+20>>2];f[i+24>>2]=f[a+24>>2];f[i+28>>2]=f[a+28>>2];f[i+32>>2]=f[a+32>>2];s=f[a+36>>2]|0;f[i+36>>2]=s;f[i+40>>2]=r;r=i+48|0;v=i+44|0;f[v>>2]=r;f[r>>2]=0;f[i+52>>2]=0;if(s|0){r=s+12|0;f[r>>2]=(f[r>>2]|0)+1}if((f[q>>2]|0)<3){q=f[a+44>>2]|0;r=f[v>>2]|0;f[r>>2]=f[q>>2];f[r+4>>2]=f[q+4>>2];break}else{f[n>>2]=0;WO(i,a);break}}else DJ(i,c,-1);while(0);c=h+4|0;a=h+40|0;$J(d,f[c>>2]|0,f[a>>2]|0,f[h>>2]&4095,-1,0,0);do if((HJ(d)|0)==65536){n=f[d+4>>2]|0;f[j>>2]=f[n>>2];q=j+4|0;r=n+4|0;f[q>>2]=f[r>>2];v=j+8|0;f[v>>2]=f[n+8>>2];f[j+12>>2]=f[n+12>>2];f[j+16>>2]=f[n+16>>2];f[j+20>>2]=f[n+20>>2];f[j+24>>2]=f[n+24>>2];f[j+28>>2]=f[n+28>>2];f[j+32>>2]=f[n+32>>2];s=f[n+36>>2]|0;f[j+36>>2]=s;f[j+40>>2]=v;v=j+48|0;t=j+44|0;f[t>>2]=v;f[v>>2]=0;f[j+52>>2]=0;if(s|0){v=s+12|0;f[v>>2]=(f[v>>2]|0)+1}if((f[r>>2]|0)<3){r=f[n+44>>2]|0;v=f[t>>2]|0;f[v>>2]=f[r>>2];f[v+4>>2]=f[r+4>>2];break}else{f[q>>2]=0;WO(j,n);break}}else DJ(j,d,-1);while(0);f[k>>2]=h;f[k+4>>2]=i;f[k+8>>2]=j;f[k+12>>2]=0;FN(m,k,l,-1);k=X(f[m+20>>2]|0,p)|0;p=m+16|0;d=l+4|0;n=l+8|0;a:do if((o|0)==5){q=0;while(1){if(q>>>0>=(f[p>>2]|0)>>>0)break a;WT(f[l>>2]|0,f[d>>2]|0,f[n>>2]|0,k);GN(m)|0;q=q+1|0}}else{q=0;while(1){if(q>>>0>=(f[p>>2]|0)>>>0)break a;XT(f[l>>2]|0,f[d>>2]|0,f[n>>2]|0,k);GN(m)|0;q=q+1|0}}while(0);m=j+36|0;k=f[m>>2]|0;if(k|0?(n=k+12|0,k=f[n>>2]|0,f[n>>2]=k+-1,(k|0)==1):0)XO(j);f[m>>2]=0;m=j+16|0;k=j+4|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;if((f[k>>2]|0)>0){m=f[j+40>>2]|0;n=0;do{f[m+(n<<2)>>2]=0;n=n+1|0}while((n|0)<(f[k>>2]|0))}k=f[j+44>>2]|0;if((k|0)!=(j+48|0))dX(k);k=i+36|0;j=f[k>>2]|0;if(j|0?(n=j+12|0,j=f[n>>2]|0,f[n>>2]=j+-1,(j|0)==1):0)XO(i);f[k>>2]=0;k=i+16|0;j=i+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;if((f[j>>2]|0)>0){k=f[i+40>>2]|0;n=0;do{f[k+(n<<2)>>2]=0;n=n+1|0}while((n|0)<(f[j>>2]|0))}j=f[i+44>>2]|0;if((j|0)!=(i+48|0))dX(j);j=h+36|0;i=f[j>>2]|0;if(i|0?(n=i+12|0,i=f[n>>2]|0,f[n>>2]=i+-1,(i|0)==1):0)XO(h);f[j>>2]=0;j=h+16|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;if((f[c>>2]|0)>0){j=f[a>>2]|0;a=0;do{f[j+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[c>>2]|0))}c=f[h+44>>2]|0;if((c|0)!=(h+48|0))dX(c);if(!(f[g+4>>2]|0)){u=e;return}u=e;return}function BQ(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;h=u;u=u+304|0;i=h+296|0;j=h+240|0;k=h+184|0;l=h+128|0;m=h+72|0;n=h+48|0;o=h+32|0;p=h;yV(i,33068);do if((HJ(a)|0)==65536){q=f[a+4>>2]|0;f[j>>2]=f[q>>2];r=j+4|0;s=q+4|0;f[r>>2]=f[s>>2];t=j+8|0;f[t>>2]=f[q+8>>2];f[j+12>>2]=f[q+12>>2];f[j+16>>2]=f[q+16>>2];f[j+20>>2]=f[q+20>>2];f[j+24>>2]=f[q+24>>2];f[j+28>>2]=f[q+28>>2];f[j+32>>2]=f[q+32>>2];v=f[q+36>>2]|0;f[j+36>>2]=v;f[j+40>>2]=t;t=j+48|0;w=j+44|0;f[w>>2]=t;f[t>>2]=0;f[j+52>>2]=0;if(v|0){t=v+12|0;f[t>>2]=(f[t>>2]|0)+1}if((f[s>>2]|0)<3){s=f[q+44>>2]|0;t=f[w>>2]|0;f[t>>2]=f[s>>2];f[t+4>>2]=f[s+4>>2];break}else{f[r>>2]=0;WO(j,q);break}}else DJ(j,a,-1);while(0);do if((HJ(c)|0)==65536){a=f[c+4>>2]|0;f[k>>2]=f[a>>2];q=k+4|0;r=a+4|0;f[q>>2]=f[r>>2];s=k+8|0;f[s>>2]=f[a+8>>2];f[k+12>>2]=f[a+12>>2];f[k+16>>2]=f[a+16>>2];f[k+20>>2]=f[a+20>>2];f[k+24>>2]=f[a+24>>2];f[k+28>>2]=f[a+28>>2];f[k+32>>2]=f[a+32>>2];t=f[a+36>>2]|0;f[k+36>>2]=t;w=k+40|0;f[w>>2]=s;s=k+48|0;v=k+44|0;f[v>>2]=s;f[s>>2]=0;f[k+52>>2]=0;if(t|0){s=t+12|0;f[s>>2]=(f[s>>2]|0)+1}if((f[r>>2]|0)<3){r=f[a+44>>2]|0;s=f[v>>2]|0;f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2];x=w;break}else{f[q>>2]=0;WO(k,a);x=w;break}}else{DJ(k,c,-1);x=k+40|0}while(0);c=f[j>>2]|0;w=c&4095;a=c&7;q=c>>>3&511;c=q+1|0;r=j+40|0;s=f[r>>2]|0;v=f[s+-4>>2]|0;t=f[x>>2]|0;a:do if((v|0)==(f[t+-4>>2]|0)){if((v|0)==2){if((f[s>>2]|0)!=(f[t>>2]|0)){y=23;break}if((f[s+4>>2]|0)!=(f[t+4>>2]|0)){y=23;break}}else if((v|0)>0){z=0;do{if((f[s+(z<<2)>>2]|0)!=(f[t+(z<<2)>>2]|0)){y=23;break a}z=z+1|0}while((z|0)<(v|0))}if((a+-5|0)>>>0<2?(w|0)==(f[k>>2]&4095|0):0)A=s;else y=23}else y=23;while(0);if((y|0)==23){f[l>>2]=0;f[l+4>>2]=0;y=JV(l,66)|0;s=167575;v=y+66|0;do{b[y>>0]=b[s>>0]|0;y=y+1|0;s=s+1|0}while((y|0)<(v|0));EP(-215,l,167642,167369,276);KV(l);A=f[r>>2]|0}s=j+4|0;$J(d,f[s>>2]|0,A,w,-1,0,0);$J(e,f[s>>2]|0,f[r>>2]|0,w,-1,0,0);do if((HJ(d)|0)==65536){w=f[d+4>>2]|0;f[l>>2]=f[w>>2];A=l+4|0;y=w+4|0;f[A>>2]=f[y>>2];v=l+8|0;f[v>>2]=f[w+8>>2];f[l+12>>2]=f[w+12>>2];f[l+16>>2]=f[w+16>>2];f[l+20>>2]=f[w+20>>2];f[l+24>>2]=f[w+24>>2];f[l+28>>2]=f[w+28>>2];f[l+32>>2]=f[w+32>>2];t=f[w+36>>2]|0;f[l+36>>2]=t;f[l+40>>2]=v;v=l+48|0;z=l+44|0;f[z>>2]=v;f[v>>2]=0;f[l+52>>2]=0;if(t|0){v=t+12|0;f[v>>2]=(f[v>>2]|0)+1}if((f[y>>2]|0)<3){y=f[w+44>>2]|0;v=f[z>>2]|0;f[v>>2]=f[y>>2];f[v+4>>2]=f[y+4>>2];break}else{f[A>>2]=0;WO(l,w);break}}else DJ(l,d,-1);while(0);do if((HJ(e)|0)==65536){d=f[e+4>>2]|0;f[m>>2]=f[d>>2];w=m+4|0;A=d+4|0;f[w>>2]=f[A>>2];y=m+8|0;f[y>>2]=f[d+8>>2];f[m+12>>2]=f[d+12>>2];f[m+16>>2]=f[d+16>>2];f[m+20>>2]=f[d+20>>2];f[m+24>>2]=f[d+24>>2];f[m+28>>2]=f[d+28>>2];f[m+32>>2]=f[d+32>>2];v=f[d+36>>2]|0;f[m+36>>2]=v;f[m+40>>2]=y;y=m+48|0;z=m+44|0;f[z>>2]=y;f[y>>2]=0;f[m+52>>2]=0;if(v|0){y=v+12|0;f[y>>2]=(f[y>>2]|0)+1}if((f[A>>2]|0)<3){A=f[d+44>>2]|0;y=f[z>>2]|0;f[y>>2]=f[A>>2];f[y+4>>2]=f[A+4>>2];break}else{f[w>>2]=0;WO(m,d);break}}else DJ(m,e,-1);while(0);f[n>>2]=j;f[n+4>>2]=k;f[n+8>>2]=l;f[n+12>>2]=m;f[n+16>>2]=0;FN(p,n,o,-1);n=X(f[p+20>>2]|0,c)|0;e=q|1024;q=e-((e>>>0)%(c>>>0)|0)|0;c=(q|0)<(n|0)?q:n;q=1212424721>>>(f[j>>2]<<2&28)&15;e=p+16|0;d=(n|0)>0;w=(a|0)==5;a=o+4|0;A=o+8|0;y=o+12|0;z=0;while(1){if(z>>>0>=(f[e>>2]|0)>>>0)break;if(d)if(w){v=0;t=f[o>>2]|0;B=f[a>>2]|0;C=f[A>>2]|0;D=f[y>>2]|0;do{E=n-v|0;F=(c|0)<(E|0)?c:E;WT(t,B,C,F);UT(B,t,D,F,g);E=X(F,q)|0;t=(f[o>>2]|0)+E|0;f[o>>2]=t;B=(f[a>>2]|0)+E|0;f[a>>2]=B;C=(f[A>>2]|0)+E|0;f[A>>2]=C;D=(f[y>>2]|0)+E|0;f[y>>2]=D;v=v+c|0}while((n|0)>(v|0))}else{v=0;D=f[o>>2]|0;C=f[a>>2]|0;B=f[A>>2]|0;t=f[y>>2]|0;do{E=n-v|0;F=(c|0)<(E|0)?c:E;XT(D,C,B,F);VT(C,D,t,F,g);E=X(F,q)|0;D=(f[o>>2]|0)+E|0;f[o>>2]=D;C=(f[a>>2]|0)+E|0;f[a>>2]=C;B=(f[A>>2]|0)+E|0;f[A>>2]=B;t=(f[y>>2]|0)+E|0;f[y>>2]=t;v=v+c|0}while((n|0)>(v|0))}GN(p)|0;z=z+1|0}z=m+36|0;p=f[z>>2]|0;if(p|0?(n=p+12|0,p=f[n>>2]|0,f[n>>2]=p+-1,(p|0)==1):0)XO(m);f[z>>2]=0;z=m+16|0;p=m+4|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;if((f[p>>2]|0)>0){z=f[m+40>>2]|0;n=0;do{f[z+(n<<2)>>2]=0;n=n+1|0}while((n|0)<(f[p>>2]|0))}p=f[m+44>>2]|0;if((p|0)!=(m+48|0))dX(p);p=l+36|0;m=f[p>>2]|0;if(m|0?(n=m+12|0,m=f[n>>2]|0,f[n>>2]=m+-1,(m|0)==1):0)XO(l);f[p>>2]=0;p=l+16|0;m=l+4|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;if((f[m>>2]|0)>0){p=f[l+40>>2]|0;n=0;do{f[p+(n<<2)>>2]=0;n=n+1|0}while((n|0)<(f[m>>2]|0))}m=f[l+44>>2]|0;if((m|0)!=(l+48|0))dX(m);m=k+36|0;l=f[m>>2]|0;if(l|0?(n=l+12|0,l=f[n>>2]|0,f[n>>2]=l+-1,(l|0)==1):0)XO(k);f[m>>2]=0;m=k+16|0;l=k+4|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;if((f[l>>2]|0)>0){m=f[x>>2]|0;x=0;do{f[m+(x<<2)>>2]=0;x=x+1|0}while((x|0)<(f[l>>2]|0))}l=f[k+44>>2]|0;if((l|0)!=(k+48|0))dX(l);l=j+36|0;k=f[l>>2]|0;if(k|0?(x=k+12|0,k=f[x>>2]|0,f[x>>2]=k+-1,(k|0)==1):0)XO(j);f[l>>2]=0;l=j+16|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;if((f[s>>2]|0)>0){l=f[r>>2]|0;r=0;do{f[l+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[s>>2]|0))}s=f[j+44>>2]|0;if((s|0)!=(j+48|0))dX(s);if(!(f[i+4>>2]|0)){u=h;return}u=h;return}function CQ(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0.0,P=0.0,Q=0,R=0.0,S=0.0,T=0.0,U=0,V=0,W=0;h=u;u=u+1376|0;i=h+1360|0;j=h+1304|0;k=h+1248|0;l=h+1192|0;m=h+1136|0;o=h+1112|0;q=h+1096|0;r=h+1064|0;s=h;yV(i,33088);t=GJ(c,-1)|0;v=t&7;w=t>>>3&511;x=w+1|0;y=(v|0)==5;z=(v|0)==6;if((v+-5|0)>>>0<2){if(!(VJ(a)|0)?(GJ(a,-1)|0)!=(t|0):0)A=4}else A=4;if((A|0)==4){f[j>>2]=0;f[j+4>>2]=0;B=JV(j,67)|0;C=167747;D=B+67|0;do{b[B>>0]=b[C>>0]|0;B=B+1|0;C=C+1|0}while((B|0)<(D|0));EP(-215,j,167815,167369,565);KV(j)}do if((HJ(a)|0)==65536){v=f[a+4>>2]|0;f[j>>2]=f[v>>2];E=j+4|0;F=v+4|0;f[E>>2]=f[F>>2];G=j+8|0;f[G>>2]=f[v+8>>2];f[j+12>>2]=f[v+12>>2];f[j+16>>2]=f[v+16>>2];f[j+20>>2]=f[v+20>>2];f[j+24>>2]=f[v+24>>2];f[j+28>>2]=f[v+28>>2];f[j+32>>2]=f[v+32>>2];H=f[v+36>>2]|0;f[j+36>>2]=H;f[j+40>>2]=G;G=j+48|0;I=j+44|0;f[I>>2]=G;f[G>>2]=0;f[j+52>>2]=0;if(H|0){G=H+12|0;f[G>>2]=(f[G>>2]|0)+1}if((f[F>>2]|0)<3){F=f[v+44>>2]|0;G=f[I>>2]|0;f[G>>2]=f[F>>2];f[G+4>>2]=f[F+4>>2];break}else{f[E>>2]=0;WO(j,v);break}}else DJ(j,a,-1);while(0);do if((HJ(c)|0)==65536){a=f[c+4>>2]|0;f[k>>2]=f[a>>2];v=k+4|0;E=a+4|0;f[v>>2]=f[E>>2];F=k+8|0;f[F>>2]=f[a+8>>2];f[k+12>>2]=f[a+12>>2];f[k+16>>2]=f[a+16>>2];f[k+20>>2]=f[a+20>>2];f[k+24>>2]=f[a+24>>2];f[k+28>>2]=f[a+28>>2];f[k+32>>2]=f[a+32>>2];G=f[a+36>>2]|0;f[k+36>>2]=G;f[k+40>>2]=F;F=k+48|0;I=k+44|0;f[I>>2]=F;f[F>>2]=0;f[k+52>>2]=0;if(G|0){F=G+12|0;f[F>>2]=(f[F>>2]|0)+1}if((f[E>>2]|0)<3){E=f[a+44>>2]|0;F=f[I>>2]|0;f[F>>2]=f[E>>2];f[F+4>>2]=f[E+4>>2];break}else{f[v>>2]=0;WO(k,a);break}}else DJ(k,c,-1);while(0);c=j+16|0;a:do if(f[c>>2]|0){a=f[j+4>>2]|0;if((a|0)<3)J=X(f[j+12>>2]|0,f[j+8>>2]|0)|0;else{v=f[j+40>>2]|0;E=0;F=1;while(1){I=X(f[v+(E<<2)>>2]|0,F)|0;E=E+1|0;if((E|0)==(a|0)){J=I;break}else F=I}}if(!((a|0)==0|(J|0)==0)){F=f[k+40>>2]|0;E=f[F+-4>>2]|0;v=f[j+40>>2]|0;b:do if((E|0)==(f[v+-4>>2]|0)){if((E|0)==2){if((f[F>>2]|0)!=(f[v>>2]|0))break;if((f[F+4>>2]|0)==(f[v+4>>2]|0))break a;else break}if((E|0)>0)K=0;else break a;while(1){if((f[F+(K<<2)>>2]|0)!=(f[v+(K<<2)>>2]|0))break b;K=K+1|0;if((K|0)>=(E|0))break a}}while(0);f[l>>2]=0;f[l+4>>2]=0;B=JV(l,37)|0;C=167827;D=B+37|0;do{b[B>>0]=b[C>>0]|0;B=B+1|0;C=C+1|0}while((B|0)<(D|0));EP(-215,l,167815,167369,571);KV(l)}}while(0);C=k+4|0;B=k+40|0;$J(d,f[C>>2]|0,f[B>>2]|0,t,-1,0,0);$J(e,f[C>>2]|0,f[B>>2]|0,t,-1,0,0);do if((HJ(d)|0)==65536){t=f[d+4>>2]|0;f[l>>2]=f[t>>2];D=l+4|0;K=t+4|0;f[D>>2]=f[K>>2];J=l+8|0;f[J>>2]=f[t+8>>2];f[l+12>>2]=f[t+12>>2];f[l+16>>2]=f[t+16>>2];f[l+20>>2]=f[t+20>>2];f[l+24>>2]=f[t+24>>2];f[l+28>>2]=f[t+28>>2];f[l+32>>2]=f[t+32>>2];E=f[t+36>>2]|0;f[l+36>>2]=E;f[l+40>>2]=J;J=l+48|0;v=l+44|0;f[v>>2]=J;f[J>>2]=0;f[l+52>>2]=0;if(E|0){J=E+12|0;f[J>>2]=(f[J>>2]|0)+1}if((f[K>>2]|0)<3){K=f[t+44>>2]|0;J=f[v>>2]|0;f[J>>2]=f[K>>2];f[J+4>>2]=f[K+4>>2];break}else{f[D>>2]=0;WO(l,t);break}}else DJ(l,d,-1);while(0);do if((HJ(e)|0)==65536){d=f[e+4>>2]|0;f[m>>2]=f[d>>2];t=m+4|0;D=d+4|0;f[t>>2]=f[D>>2];K=m+8|0;f[K>>2]=f[d+8>>2];f[m+12>>2]=f[d+12>>2];f[m+16>>2]=f[d+16>>2];f[m+20>>2]=f[d+20>>2];f[m+24>>2]=f[d+24>>2];f[m+28>>2]=f[d+28>>2];f[m+32>>2]=f[d+32>>2];J=f[d+36>>2]|0;f[m+36>>2]=J;f[m+40>>2]=K;K=m+48|0;v=m+44|0;f[v>>2]=K;f[K>>2]=0;f[m+52>>2]=0;if(J|0){K=J+12|0;f[K>>2]=(f[K>>2]|0)+1}if((f[D>>2]|0)<3){D=f[d+44>>2]|0;K=f[v>>2]|0;f[K>>2]=f[D>>2];f[K+4>>2]=f[D+4>>2];break}else{f[t>>2]=0;WO(m,d);break}}else DJ(m,e,-1);while(0);f[o>>2]=j;f[o+4>>2]=k;f[o+8>>2]=l;f[o+12>>2]=m;f[o+16>>2]=0;FN(r,o,q,-1);o=s+8|0;f[s>>2]=o;e=s+4|0;f[e>>2]=264;d=X(f[r+20>>2]|0,x)|0;t=w|1024;w=t-((t>>>0)%(x>>>0)|0)|0;x=(w|0)<(d|0)?w:d;w=1212424721>>>(f[k>>2]<<2&28)&15;if(z){z=x<<1;f[e>>2]=z;if(z>>>0>264){t=FQa(z>>>0>1073741823?-1:z<<2)|0;f[s>>2]=t;L=t}else L=o;M=L;N=L+(x<<2)|0}else{M=0;N=0}L=r+16|0;t=(d|0)>0;z=q+4|0;D=q+8|0;K=q+12|0;O=g?.17777777777777778:10.185916357881302;g=0;while(1){if(g>>>0>=(f[L>>2]|0)>>>0)break;if(t){v=0;do{J=d-v|0;E=(x|0)<(J|0)?x:J;do if(y){J=f[q>>2]|0;F=f[z>>2]|0;a=f[D>>2]|0;I=f[K>>2]|0;G=(E|0)>0;if(G){H=0;do{P=O*+n[F+(H<<2)>>2];Q=AEa(P)|0;R=P-+(Q|0);P=R*(R*(R*-1.5767166072981726e-04)+.09817477042468103);S=R*(R*-.004817389940423465)+1.0;R=+p[9784+((Q&63)<<3)>>3];T=+p[9784+((16-Q&63)<<3)>>3];n[I+(H<<2)>>2]=R*S+T*P;n[a+(H<<2)>>2]=T*S-R*P;H=H+1|0}while((H|0)!=(E|0));if((J|0)!=0&G){H=0;do{P=+n[J+(H<<2)>>2];F=a+(H<<2)|0;n[F>>2]=P*+n[F>>2];F=I+(H<<2)|0;n[F>>2]=P*+n[F>>2];H=H+1|0}while((H|0)<(E|0));U=J;A=73}else{V=J;A=71}}else{V=J;A=71}}else{H=f[q>>2]|0;I=f[z>>2]|0;a=f[D>>2]|0;G=f[K>>2]|0;F=(E|0)>0;if(F){Q=0;do{n[M+(Q<<2)>>2]=+p[I+(Q<<3)>>3];Q=Q+1|0}while((Q|0)<(E|0));if(F){Q=0;do{I=M+(Q<<2)|0;P=O*+n[I>>2];J=AEa(P)|0;R=P-+(J|0);P=R*(R*(R*-1.5767166072981726e-04)+.09817477042468103);S=R*(R*-.004817389940423465)+1.0;R=+p[9784+((J&63)<<3)>>3];T=+p[9784+((16-J&63)<<3)>>3];n[N+(Q<<2)>>2]=R*S+T*P;n[I>>2]=T*S-R*P;Q=Q+1|0}while((Q|0)!=(E|0))}}if(!H){Q=E<<2;DVa(a|0,M|0,Q|0)|0;DVa(G|0,N|0,Q|0)|0;V=f[q>>2]|0;A=71;break}if(F){Q=0;do{P=+p[H+(Q<<3)>>3];p[a+(Q<<3)>>3]=P*+n[M+(Q<<2)>>2];p[G+(Q<<3)>>3]=P*+n[N+(Q<<2)>>2];Q=Q+1|0}while((Q|0)<(E|0));U=H;A=73}else{V=H;A=71}}while(0);if((A|0)==71){A=0;if(!V)W=X(E,w)|0;else{U=V;A=73}}if((A|0)==73){A=0;Q=X(E,w)|0;f[q>>2]=U+Q;W=Q}f[z>>2]=(f[z>>2]|0)+W;f[D>>2]=(f[D>>2]|0)+W;f[K>>2]=(f[K>>2]|0)+W;v=v+x|0}while((d|0)>(v|0))}GN(r)|0;g=g+1|0}g=f[s>>2]|0;if((g|0)!=(o|0)){if(g|0)HQa(g);f[s>>2]=o;f[e>>2]=264}e=m+36|0;o=f[e>>2]|0;if(o|0?(s=o+12|0,o=f[s>>2]|0,f[s>>2]=o+-1,(o|0)==1):0)XO(m);f[e>>2]=0;e=m+16|0;o=m+4|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;if((f[o>>2]|0)>0){e=f[m+40>>2]|0;s=0;do{f[e+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[o>>2]|0))}o=f[m+44>>2]|0;if((o|0)!=(m+48|0))dX(o);o=l+36|0;m=f[o>>2]|0;if(m|0?(s=m+12|0,m=f[s>>2]|0,f[s>>2]=m+-1,(m|0)==1):0)XO(l);f[o>>2]=0;o=l+16|0;m=l+4|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;if((f[m>>2]|0)>0){o=f[l+40>>2]|0;s=0;do{f[o+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[m>>2]|0))}m=f[l+44>>2]|0;if((m|0)!=(l+48|0))dX(m);m=k+36|0;l=f[m>>2]|0;if(l|0?(s=l+12|0,l=f[s>>2]|0,f[s>>2]=l+-1,(l|0)==1):0)XO(k);f[m>>2]=0;m=k+16|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;if((f[C>>2]|0)>0){m=f[B>>2]|0;B=0;do{f[m+(B<<2)>>2]=0;B=B+1|0}while((B|0)<(f[C>>2]|0))}C=f[k+44>>2]|0;if((C|0)!=(k+48|0))dX(C);C=j+36|0;k=f[C>>2]|0;if(k|0?(B=k+12|0,k=f[B>>2]|0,f[B>>2]=k+-1,(k|0)==1):0)XO(j);f[C>>2]=0;C=j+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[C>>2]|0)>0){c=f[j+40>>2]|0;k=0;do{f[c+(k<<2)>>2]=0;k=k+1|0}while((k|0)<(f[C>>2]|0))}C=f[j+44>>2]|0;if((C|0)!=(j+48|0))dX(C);if(!(f[i+4>>2]|0)){u=h;return}u=h;return}function DQ(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;d=u;u=u+176|0;e=d+168|0;g=d+112|0;h=d+56|0;i=d+40|0;j=d+32|0;k=d;yV(e,33108);l=GJ(a,-1)|0;m=TJ(a,-1)|0;n=UJ(a,-1)|0;o=(m|0)==5;if((m+-5|0)>>>0>=2){f[g>>2]=0;f[g+4>>2]=0;m=JV(g,24)|0;p=167958;q=m+24|0;do{b[m>>0]=b[p>>0]|0;m=m+1|0;p=p+1|0}while((m|0)<(q|0));EP(-215,g,167983,167369,668);KV(g)}do if((HJ(a)|0)==65536){p=f[a+4>>2]|0;f[g>>2]=f[p>>2];m=g+4|0;q=p+4|0;f[m>>2]=f[q>>2];r=g+8|0;f[r>>2]=f[p+8>>2];f[g+12>>2]=f[p+12>>2];f[g+16>>2]=f[p+16>>2];f[g+20>>2]=f[p+20>>2];f[g+24>>2]=f[p+24>>2];f[g+28>>2]=f[p+28>>2];f[g+32>>2]=f[p+32>>2];s=f[p+36>>2]|0;f[g+36>>2]=s;t=g+40|0;f[t>>2]=r;r=g+48|0;v=g+44|0;f[v>>2]=r;f[r>>2]=0;f[g+52>>2]=0;if(s|0){r=s+12|0;f[r>>2]=(f[r>>2]|0)+1}if((f[q>>2]|0)<3){q=f[p+44>>2]|0;r=f[v>>2]|0;f[r>>2]=f[q>>2];f[r+4>>2]=f[q+4>>2];w=t;x=m;break}else{f[m>>2]=0;WO(g,p);w=t;x=m;break}}else{DJ(g,a,-1);w=g+40|0;x=g+4|0}while(0);$J(c,f[x>>2]|0,f[w>>2]|0,l,-1,0,0);do if((HJ(c)|0)==65536){l=f[c+4>>2]|0;f[h>>2]=f[l>>2];a=h+4|0;m=l+4|0;f[a>>2]=f[m>>2];t=h+8|0;f[t>>2]=f[l+8>>2];f[h+12>>2]=f[l+12>>2];f[h+16>>2]=f[l+16>>2];f[h+20>>2]=f[l+20>>2];f[h+24>>2]=f[l+24>>2];f[h+28>>2]=f[l+28>>2];f[h+32>>2]=f[l+32>>2];p=f[l+36>>2]|0;f[h+36>>2]=p;f[h+40>>2]=t;t=h+48|0;q=h+44|0;f[q>>2]=t;f[t>>2]=0;f[h+52>>2]=0;if(p|0){t=p+12|0;f[t>>2]=(f[t>>2]|0)+1}if((f[m>>2]|0)<3){m=f[l+44>>2]|0;t=f[q>>2]|0;f[t>>2]=f[m>>2];f[t+4>>2]=f[m+4>>2];break}else{f[a>>2]=0;WO(h,l);break}}else DJ(h,c,-1);while(0);f[i>>2]=g;f[i+4>>2]=h;f[i+8>>2]=0;FN(k,i,j,-1);i=X(f[k+20>>2]|0,n)|0;n=k+16|0;c=j+4|0;a:do if(o){l=0;while(1){if(l>>>0>=(f[n>>2]|0)>>>0)break a;aU(f[j>>2]|0,f[c>>2]|0,i);GN(k)|0;l=l+1|0}}else{l=0;while(1){if(l>>>0>=(f[n>>2]|0)>>>0)break a;bU(f[j>>2]|0,f[c>>2]|0,i);GN(k)|0;l=l+1|0}}while(0);k=h+36|0;i=f[k>>2]|0;if(i|0?(c=i+12|0,i=f[c>>2]|0,f[c>>2]=i+-1,(i|0)==1):0)XO(h);f[k>>2]=0;k=h+16|0;i=h+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;if((f[i>>2]|0)>0){k=f[h+40>>2]|0;c=0;do{f[k+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[i>>2]|0))}i=f[h+44>>2]|0;if((i|0)!=(h+48|0))dX(i);i=g+36|0;h=f[i>>2]|0;if(h|0?(c=h+12|0,h=f[c>>2]|0,f[c>>2]=h+-1,(h|0)==1):0)XO(g);f[i>>2]=0;i=g+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[x>>2]|0)>0){i=f[w>>2]|0;w=0;do{f[i+(w<<2)>>2]=0;w=w+1|0}while((w|0)<(f[x>>2]|0))}x=f[g+44>>2]|0;if((x|0)!=(g+48|0))dX(x);if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function EQ(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;d=u;u=u+176|0;e=d+168|0;g=d+112|0;h=d+56|0;i=d+40|0;j=d+32|0;k=d;yV(e,33128);l=GJ(a,-1)|0;m=TJ(a,-1)|0;n=UJ(a,-1)|0;o=(m|0)==5;if((m+-5|0)>>>0>=2){f[g>>2]=0;f[g+4>>2]=0;m=JV(g,24)|0;p=167958;q=m+24|0;do{b[m>>0]=b[p>>0]|0;m=m+1|0;p=p+1|0}while((m|0)<(q|0));EP(-215,g,168033,167369,701);KV(g)}do if((HJ(a)|0)==65536){p=f[a+4>>2]|0;f[g>>2]=f[p>>2];m=g+4|0;q=p+4|0;f[m>>2]=f[q>>2];r=g+8|0;f[r>>2]=f[p+8>>2];f[g+12>>2]=f[p+12>>2];f[g+16>>2]=f[p+16>>2];f[g+20>>2]=f[p+20>>2];f[g+24>>2]=f[p+24>>2];f[g+28>>2]=f[p+28>>2];f[g+32>>2]=f[p+32>>2];s=f[p+36>>2]|0;f[g+36>>2]=s;t=g+40|0;f[t>>2]=r;r=g+48|0;v=g+44|0;f[v>>2]=r;f[r>>2]=0;f[g+52>>2]=0;if(s|0){r=s+12|0;f[r>>2]=(f[r>>2]|0)+1}if((f[q>>2]|0)<3){q=f[p+44>>2]|0;r=f[v>>2]|0;f[r>>2]=f[q>>2];f[r+4>>2]=f[q+4>>2];w=t;x=m;break}else{f[m>>2]=0;WO(g,p);w=t;x=m;break}}else{DJ(g,a,-1);w=g+40|0;x=g+4|0}while(0);$J(c,f[x>>2]|0,f[w>>2]|0,l,-1,0,0);do if((HJ(c)|0)==65536){l=f[c+4>>2]|0;f[h>>2]=f[l>>2];a=h+4|0;m=l+4|0;f[a>>2]=f[m>>2];t=h+8|0;f[t>>2]=f[l+8>>2];f[h+12>>2]=f[l+12>>2];f[h+16>>2]=f[l+16>>2];f[h+20>>2]=f[l+20>>2];f[h+24>>2]=f[l+24>>2];f[h+28>>2]=f[l+28>>2];f[h+32>>2]=f[l+32>>2];p=f[l+36>>2]|0;f[h+36>>2]=p;f[h+40>>2]=t;t=h+48|0;q=h+44|0;f[q>>2]=t;f[t>>2]=0;f[h+52>>2]=0;if(p|0){t=p+12|0;f[t>>2]=(f[t>>2]|0)+1}if((f[m>>2]|0)<3){m=f[l+44>>2]|0;t=f[q>>2]|0;f[t>>2]=f[m>>2];f[t+4>>2]=f[m+4>>2];break}else{f[a>>2]=0;WO(h,l);break}}else DJ(h,c,-1);while(0);f[i>>2]=g;f[i+4>>2]=h;f[i+8>>2]=0;FN(k,i,j,-1);i=X(f[k+20>>2]|0,n)|0;n=k+16|0;c=j+4|0;a:do if(o){l=0;while(1){if(l>>>0>=(f[n>>2]|0)>>>0)break a;cU(f[j>>2]|0,f[c>>2]|0,i);GN(k)|0;l=l+1|0}}else{l=0;while(1){if(l>>>0>=(f[n>>2]|0)>>>0)break a;dU(f[j>>2]|0,f[c>>2]|0,i);GN(k)|0;l=l+1|0}}while(0);k=h+36|0;i=f[k>>2]|0;if(i|0?(c=i+12|0,i=f[c>>2]|0,f[c>>2]=i+-1,(i|0)==1):0)XO(h);f[k>>2]=0;k=h+16|0;i=h+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;if((f[i>>2]|0)>0){k=f[h+40>>2]|0;c=0;do{f[k+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[i>>2]|0))}i=f[h+44>>2]|0;if((i|0)!=(h+48|0))dX(i);i=g+36|0;h=f[i>>2]|0;if(h|0?(c=h+12|0,h=f[c>>2]|0,f[c>>2]=h+-1,(h|0)==1):0)XO(g);f[i>>2]=0;i=g+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[x>>2]|0)>0){i=f[w>>2]|0;w=0;do{f[i+(w<<2)>>2]=0;w=w+1|0}while((w|0)<(f[x>>2]|0))}x=f[g+44>>2]|0;if((x|0)!=(g+48|0))dX(x);if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function FQ(a,c,d){a=a|0;c=+c;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0.0,Z=0;e=u;u=u+1216|0;g=e+1208|0;h=e+1152|0;i=e;j=e+1136|0;k=e+1128|0;l=e+1096|0;m=e+56|0;yV(g,33148);o=GJ(a,-1)|0;q=o&7;r=o>>>3&511;s=r+1|0;t=AEa(c)|0;v=+K(+(+(t|0)-c))<2.220446049250313e-16;a:do if(!v)if((q+-5|0)>>>0<2)w=8;else{f[h>>2]=0;f[h+4>>2]=0;x=JV(h,24)|0;y=167958;z=x+24|0;do{b[x>>0]=b[y>>0]|0;x=x+1|0;y=y+1|0}while((x|0)<(z|0));EP(-215,h,168083,167369,1234);KV(h);w=8}else switch(t|0){case 0:{wK(d,a,o);p[i>>3]=1.0;p[i+8>>3]=1.0;p[i+16>>3]=1.0;p[i+24>>3]=1.0;f[h>>2]=-1056833530;f[h+4>>2]=i;f[h+8>>2]=1;f[h+12>>2]=4;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;AK(d,h,j);break a;break}case 1:{XJ(a,d);break a;break}case 2:{EI(a,a,d,1.0,-1);break a;break}default:{w=8;break a}}while(0);if((w|0)==8){do if((HJ(a)|0)==65536){w=f[a+4>>2]|0;f[h>>2]=f[w>>2];A=h+4|0;D=w+4|0;f[A>>2]=f[D>>2];E=h+8|0;f[E>>2]=f[w+8>>2];f[h+12>>2]=f[w+12>>2];f[h+16>>2]=f[w+16>>2];f[h+20>>2]=f[w+20>>2];f[h+24>>2]=f[w+24>>2];f[h+28>>2]=f[w+28>>2];f[h+32>>2]=f[w+32>>2];F=f[w+36>>2]|0;f[h+36>>2]=F;G=h+40|0;f[G>>2]=E;E=h+48|0;H=h+44|0;f[H>>2]=E;f[E>>2]=0;f[h+52>>2]=0;if(F|0){E=F+12|0;f[E>>2]=(f[E>>2]|0)+1}if((f[D>>2]|0)<3){D=f[w+44>>2]|0;E=f[H>>2]|0;f[E>>2]=f[D>>2];f[E+4>>2]=f[D+4>>2];I=G;J=A;break}else{f[A>>2]=0;WO(h,w);I=G;J=A;break}}else{DJ(h,a,-1);I=h+40|0;J=h+4|0}while(0);$J(d,f[J>>2]|0,f[I>>2]|0,o,-1,0,0);do if((HJ(d)|0)==65536){o=f[d+4>>2]|0;f[i>>2]=f[o>>2];a=i+4|0;A=o+4|0;f[a>>2]=f[A>>2];G=i+8|0;f[G>>2]=f[o+8>>2];f[i+12>>2]=f[o+12>>2];f[i+16>>2]=f[o+16>>2];f[i+20>>2]=f[o+20>>2];f[i+24>>2]=f[o+24>>2];f[i+28>>2]=f[o+28>>2];f[i+32>>2]=f[o+32>>2];w=f[o+36>>2]|0;f[i+36>>2]=w;f[i+40>>2]=G;G=i+48|0;D=i+44|0;f[D>>2]=G;f[G>>2]=0;f[i+52>>2]=0;if(w|0){G=w+12|0;f[G>>2]=(f[G>>2]|0)+1}if((f[A>>2]|0)<3){A=f[o+44>>2]|0;G=f[D>>2]|0;f[G>>2]=f[A>>2];f[G+4>>2]=f[A+4>>2];break}else{f[a>>2]=0;WO(i,o);break}}else DJ(i,d,-1);while(0);f[j>>2]=h;f[j+4>>2]=i;f[j+8>>2]=0;FN(l,j,k,-1);j=X(f[l+20>>2]|0,s)|0;b:do if(!v){if(+K(+(+K(+c)+-.5))<2.220446049250313e-16){d=(q|0)==5;o=c<0.0?(d?163:162):d?165:164;d=l+16|0;a=k+4|0;A=0;while(1){if(A>>>0>=(f[d>>2]|0)>>>0)break b;Rg[o&255](f[k>>2]|0,f[a>>2]|0,j);GN(l)|0;A=A+1|0}}A=r|1024;a=A-((A>>>0)%(s>>>0)|0)|0;A=(a|0)<(j|0)?a:j;a=1212424721>>>(f[h>>2]<<2&28)&15;o=m+8|0;f[m>>2]=o;d=m+4|0;f[d>>2]=1032;if((f[h+16>>2]|0)==(f[i+16>>2]|0)){G=X(a,A)|0;f[d>>2]=G;if(G>>>0>1032){D=FQa(G)|0;f[m>>2]=D;L=D}else L=o;M=L;N=L}else{M=0;N=0}D=l+16|0;G=(j|0)>0;w=(q|0)==5;E=(N|0)!=0;H=k+4|0;F=c<0.0;O=(M|0)!=0;P=0;while(1){if(P>>>0>=(f[D>>2]|0)>>>0)break;if(G){Q=0;R=f[k>>2]|0;do{S=j-Q|0;T=(A|0)<(S|0)?A:S;do if(w){S=E?N:R;U=f[H>>2]|0;if((S|0)!=(R|0))DVa(S|0,R|0,X(T,a)|0)|0;cU(S,U,T);S=(T|0)>0;if(S)V=0;else{aU(U,U,T);break}do{W=U+(V<<2)|0;n[W>>2]=+n[W>>2]*c;V=V+1|0}while((V|0)<(T|0));aU(U,U,T);if(S)if(F){W=0;do{Y=+n[R+(W<<2)>>2];if(Y<=0.0)n[U+(W<<2)>>2]=Y==0.0?C:B;W=W+1|0}while((W|0)<(T|0))}else{W=0;do{if(+n[R+(W<<2)>>2]<0.0)n[U+(W<<2)>>2]=B;W=W+1|0}while((W|0)<(T|0))}}else{W=O?M:R;U=f[H>>2]|0;if((W|0)!=(R|0))DVa(W|0,R|0,X(T,a)|0)|0;dU(W,U,T);W=(T|0)>0;if(W)Z=0;else{bU(U,U,T);break}do{S=U+(Z<<3)|0;p[S>>3]=+p[S>>3]*c;Z=Z+1|0}while((Z|0)<(T|0));bU(U,U,T);if(W)if(F){S=0;do{Y=+p[R+(S<<3)>>3];if(Y<=0.0)p[U+(S<<3)>>3]=Y==0.0?C:B;S=S+1|0}while((S|0)<(T|0))}else{S=0;do{if(+p[R+(S<<3)>>3]<0.0)p[U+(S<<3)>>3]=B;S=S+1|0}while((S|0)<(T|0))}}while(0);S=X(T,a)|0;R=(f[k>>2]|0)+S|0;f[k>>2]=R;f[H>>2]=(f[H>>2]|0)+S;Q=Q+A|0}while((j|0)>(Q|0))}GN(l)|0;P=P+1|0}P=f[m>>2]|0;if((P|0)!=(o|0)){if(P|0)HQa(P);f[m>>2]=o;f[d>>2]=1032}}else{P=f[33168+(q<<2)>>2]|0;if((q|0)==7){f[m>>2]=0;f[m+4>>2]=0;x=JV(m,9)|0;y=196746;z=x+9|0;do{b[x>>0]=b[y>>0]|0;x=x+1|0;y=y+1|0}while((x|0)<(z|0));EP(-215,m,168083,167369,1250);KV(m)}d=l+16|0;o=k+4|0;A=0;while(1){if(A>>>0>=(f[d>>2]|0)>>>0)break b;th[P&255](f[k>>2]|0,f[o>>2]|0,j,t);GN(l)|0;A=A+1|0}}while(0);l=i+36|0;t=f[l>>2]|0;if(t|0?(j=t+12|0,t=f[j>>2]|0,f[j>>2]=t+-1,(t|0)==1):0)XO(i);f[l>>2]=0;l=i+16|0;t=i+4|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;if((f[t>>2]|0)>0){l=f[i+40>>2]|0;j=0;do{f[l+(j<<2)>>2]=0;j=j+1|0}while((j|0)<(f[t>>2]|0))}t=f[i+44>>2]|0;if((t|0)!=(i+48|0))dX(t);t=h+36|0;i=f[t>>2]|0;if(i|0?(j=i+12|0,i=f[j>>2]|0,f[j>>2]=i+-1,(i|0)==1):0)XO(h);f[t>>2]=0;t=h+16|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;if((f[J>>2]|0)>0){t=f[I>>2]|0;I=0;do{f[t+(I<<2)>>2]=0;I=I+1|0}while((I|0)<(f[J>>2]|0))}J=f[h+44>>2]|0;if((J|0)!=(h+48|0))dX(J)}if(!(f[g+4>>2]|0)){u=e;return}u=e;return}function GQ(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0;f=u;u=u+16|0;g=f;if((e|0)<0){b[g>>0]=0;i=e<<1&2;j=(i^2)+-1|0;b[g+1>>0]=j>>>0<256?j:(i|0)==0?255:0;b[g+2>>0]=-1;b[g+3>>0]=1;b[g+4>>0]=(e|0)==-1&1;if((d|0)>0){i=0;do{j=b[a+i>>0]|0;if((j&255)<3)k=b[g+((j&255)+2)>>0]|0;else k=0;b[c+i>>0]=k;i=i+1|0}while((i|0)!=(d|0))}u=f;return}if((d|0)<=0){u=f;return}if((e|0)>1)l=0;else{i=0;do{b[c+i>>0]=b[a+i>>0]|0;i=i+1|0}while((i|0)!=(d|0));u=f;return}do{i=h[a+l>>0]|0;k=1;g=e;while(1){k=X((g&1|0)==0?1:i,k)|0;i=X(i,i)|0;if(g>>>0<=3)break;else g=g>>>1}g=X(k,i)|0;b[c+l>>0]=g>>>0<255?g:255;l=l+1|0}while((l|0)!=(d|0));u=f;return}function HQ(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=u;u=u+16|0;g=f;if((e|0)<0){h=(e|0)==-1;b[g>>0]=((h<<31>>31)+128|0)>>>0<256?h<<31>>31:-128;b[g+1>>0]=(e<<1&2^2)+255;b[g+2>>0]=127;b[g+3>>0]=1;b[g+4>>0]=h&1;if((d|0)>0){h=0;do{i=b[a+h>>0]|0;j=i<<24>>24;if(((i<<24>>24>-1?j:0-j|0)|0)<3)k=b[g+(j+2)>>0]|0;else k=0;b[c+h>>0]=k;h=h+1|0}while((h|0)!=(d|0))}u=f;return}if((d|0)<=0){u=f;return}if((e|0)>1)l=0;else{h=0;do{k=b[a+h>>0]|0;g=k<<24>>24;b[c+h>>0]=(g+128|0)>>>0<256?g:k<<24>>24>0?127:128;h=h+1|0}while((h|0)!=(d|0));u=f;return}do{h=b[a+l>>0]|0;k=1;g=e;while(1){k=X((g&1|0)==0?1:h,k)|0;h=X(h,h)|0;if(g>>>0<=3)break;else g=g>>>1}g=X(k,h)|0;b[c+l>>0]=(g+128|0)>>>0<256?g:(g|0)>0?127:128;l=l+1|0}while((l|0)!=(d|0));u=f;return}function IQ(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,k=0,l=0;f=u;u=u+16|0;g=f;if((e|0)<0){d[g>>1]=0;h=e<<1&2;i=(h^2)+-1|0;d[g+2>>1]=i>>>0<65536?i:(h|0)==0?65535:0;d[g+4>>1]=-1;d[g+6>>1]=1;d[g+8>>1]=(e|0)==-1&1;if((c|0)>0){h=0;do{i=d[a+(h<<1)>>1]|0;if((i&65535)<3)k=d[g+((i&65535)+2<<1)>>1]|0;else k=0;d[b+(h<<1)>>1]=k;h=h+1|0}while((h|0)!=(c|0))}u=f;return}if((c|0)<=0){u=f;return}if((e|0)>1)l=0;else{h=0;do{d[b+(h<<1)>>1]=d[a+(h<<1)>>1]|0;h=h+1|0}while((h|0)!=(c|0));u=f;return}do{h=j[a+(l<<1)>>1]|0;k=1;g=e;while(1){k=X((g&1|0)==0?1:h,k)|0;h=X(h,h)|0;if(g>>>0<=3)break;else g=g>>>1}g=X(k,h)|0;d[b+(l<<1)>>1]=g>>>0<65535?g:65535;l=l+1|0}while((l|0)!=(c|0));u=f;return}function JQ(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=u;u=u+16|0;g=f;if((e|0)<0){h=(e|0)==-1;d[g>>1]=((h<<31>>31)+32768|0)>>>0<65536?h<<31>>31:-32768;d[g+2>>1]=(e<<1&2^2)+65535;d[g+4>>1]=32767;d[g+6>>1]=1;d[g+8>>1]=h&1;if((c|0)>0){h=0;do{i=d[a+(h<<1)>>1]|0;j=i<<16>>16;if(((i<<16>>16>-1?j:0-j|0)|0)<3)k=d[g+(j+2<<1)>>1]|0;else k=0;d[b+(h<<1)>>1]=k;h=h+1|0}while((h|0)!=(c|0))}u=f;return}if((c|0)<=0){u=f;return}if((e|0)>1)l=0;else{h=0;do{k=d[a+(h<<1)>>1]|0;g=k<<16>>16;d[b+(h<<1)>>1]=(g+32768|0)>>>0<65536?g:k<<16>>16>0?32767:32768;h=h+1|0}while((h|0)!=(c|0));u=f;return}do{h=d[a+(l<<1)>>1]|0;k=1;g=e;while(1){k=X((g&1|0)==0?1:h,k)|0;h=X(h,h)|0;if(g>>>0<=3)break;else g=g>>>1}g=X(k,h)|0;d[b+(l<<1)>>1]=(g+32768|0)>>>0<65536?g:(g|0)>0?32767:32768;l=l+1|0}while((l|0)!=(c|0));u=f;return}function KQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+32|0;g=e;if((d|0)<0){h=(d|0)==-1;f[g>>2]=h<<31>>31;f[g+4>>2]=(d<<1&2^2)+-1;f[g+8>>2]=2147483647;f[g+12>>2]=1;f[g+16>>2]=h&1;if((c|0)>0){h=0;do{i=f[a+(h<<2)>>2]|0;if((((i|0)>-1?i:0-i|0)|0)<3)j=f[g+(i+2<<2)>>2]|0;else j=0;f[b+(h<<2)>>2]=j;h=h+1|0}while((h|0)!=(c|0))}u=e;return}if((c|0)<=0){u=e;return}if((d|0)>1)k=0;else{h=0;do{f[b+(h<<2)>>2]=f[a+(h<<2)>>2];h=h+1|0}while((h|0)!=(c|0));u=e;return}do{h=f[a+(k<<2)>>2]|0;j=1;g=d;while(1){j=X((g&1|0)==0?1:h,j)|0;h=X(h,h)|0;if(g>>>0<=3)break;else g=g>>>1}g=X(j,h)|0;f[b+(k<<2)>>2]=g;k=k+1|0}while((k|0)!=(c|0));u=e;return}function LQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0.0,i=0.0,j=0.0,k=0.0;e=(d|0)>-1?d:0-d|0;if((c|0)<=0)return;g=(d|0)<0;if((e|0)<=1)if(g){d=0;do{n[b+(d<<2)>>2]=1.0/+n[a+(d<<2)>>2];d=d+1|0}while((d|0)!=(c|0));return}else{d=0;do{f[b+(d<<2)>>2]=f[a+(d<<2)>>2];d=d+1|0}while((d|0)!=(c|0));return}if(g){g=0;do{h=1.0/+n[a+(g<<2)>>2];i=1.0;d=e;while(1){i=(d&1|0)==0?i:h*i;h=h*h;if(d>>>0<=3)break;else d=d>>>1}n[b+(g<<2)>>2]=h*i;g=g+1|0}while((g|0)!=(c|0));return}else{g=0;do{j=+n[a+(g<<2)>>2];k=1.0;d=e;while(1){k=(d&1|0)==0?k:j*k;j=j*j;if(d>>>0<=3)break;else d=d>>>1}n[b+(g<<2)>>2]=j*k;g=g+1|0}while((g|0)!=(c|0));return}}function MQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0.0,h=0.0,i=0.0,j=0.0;e=(d|0)>-1?d:0-d|0;if((c|0)<=0)return;f=(d|0)<0;if((e|0)<=1)if(f){d=0;do{p[b+(d<<3)>>3]=1.0/+p[a+(d<<3)>>3];d=d+1|0}while((d|0)!=(c|0));return}else{d=0;do{p[b+(d<<3)>>3]=+p[a+(d<<3)>>3];d=d+1|0}while((d|0)!=(c|0));return}if(f){f=0;do{g=1.0/+p[a+(f<<3)>>3];h=1.0;d=e;while(1){h=(d&1|0)==0?h:g*h;g=g*g;if(d>>>0<=3)break;else d=d>>>1}p[b+(f<<3)>>3]=g*h;f=f+1|0}while((f|0)!=(c|0));return}else{f=0;do{i=+p[a+(f<<3)>>3];j=1.0;d=e;while(1){j=(d&1|0)==0?j:i*j;i=i*i;if(d>>>0<=3)break;else d=d>>>1}p[b+(f<<3)>>3]=i*j;f=f+1|0}while((f|0)!=(c|0));return}}function NQ(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;yV(d,33200);FQ(a,.5,b);if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function OQ(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=+e;g=+g;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;h=u;u=u+336|0;i=h+64|0;j=h+56|0;k=h;l=h+296|0;m=h+288|0;o=h+176|0;q=h+160|0;r=h+232|0;t=h+152|0;v=h+96|0;p[s>>3]=e;w=f[s>>2]|0;x=f[s+4>>2]|0;p[s>>3]=g;y=f[s>>2]|0;z=f[s+4>>2]|0;yV(m,33220);do if((HJ(a)|0)==65536){A=f[a+4>>2]|0;f[o>>2]=f[A>>2];B=o+4|0;C=A+4|0;f[B>>2]=f[C>>2];D=o+8|0;f[D>>2]=f[A+8>>2];f[o+12>>2]=f[A+12>>2];f[o+16>>2]=f[A+16>>2];f[o+20>>2]=f[A+20>>2];f[o+24>>2]=f[A+24>>2];f[o+28>>2]=f[A+28>>2];f[o+32>>2]=f[A+32>>2];E=f[A+36>>2]|0;f[o+36>>2]=E;f[o+40>>2]=D;D=o+48|0;F=o+44|0;f[F>>2]=D;f[D>>2]=0;f[o+52>>2]=0;if(E|0){D=E+12|0;f[D>>2]=(f[D>>2]|0)+1}if((f[C>>2]|0)<3){C=f[A+44>>2]|0;D=f[F>>2]|0;f[D>>2]=f[C>>2];f[D+4>>2]=f[C+4>>2];G=B;break}else{f[B>>2]=0;WO(o,A);G=B;break}}else{DJ(o,a,-1);G=o+4|0}while(0);a=f[G>>2]|0;if((a|0)>2){if(d|0){f[j>>2]=0;f[j+4>>2]=0;B=JV(j,8)|0;A=B;b[A>>0]=112;b[A+1>>0]=116;b[A+2>>0]=32;b[A+3>>0]=61;A=B+4|0;b[A>>0]=61;b[A+1>>0]=32;b[A+2>>0]=48;b[A+3>>0]=76;EP(-215,j,168188,167369,1448);KV(j)}f[j>>2]=o;f[j+4>>2]=0;A=k+40|0;B=k+48|0;C=k+44|0;D=k+52|0;F=k+8|0;E=k+4|0;H=E+36|0;do{f[E>>2]=0;E=E+4|0}while((E|0)<(H|0));f[A>>2]=F;f[C>>2]=B;f[B>>2]=0;f[D>>2]=0;f[k>>2]=1124007936;DN(l,j,k,-1);D=l+16|0;B=l+4|0;C=q+8|0;F=q+12|0;A=q+4|0;E=0;while(1){if(E>>>0>=(f[D>>2]|0)>>>0){J=1;break}H=f[B>>2]|0;f[C>>2]=0;f[F>>2]=0;f[q>>2]=16842752;f[A>>2]=H;if(!(OQ(q,c,0,e,g)|0)){J=0;break}GN(l)|0;E=E+1|0}E=k+36|0;A=f[E>>2]|0;if(A|0?(F=A+12|0,A=f[F>>2]|0,f[F>>2]=A+-1,(A|0)==1):0)XO(k);f[E>>2]=0;E=k+16|0;A=k+4|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;if((f[A>>2]|0)>0){E=f[k+40>>2]|0;F=0;do{f[E+(F<<2)>>2]=0;F=F+1|0}while((F|0)<(f[A>>2]|0))}A=f[k+44>>2]|0;if((A|0)!=(k+48|0))dX(A);K=J}else{J=f[o>>2]|0;A=J&7;f[q>>2]=-1;F=q+4|0;f[F>>2]=-1;a:do if(A>>>0<5){E=~~e;C=!(e<=-2147483648.0)?E-(+(E|0)>e&1)|0:-2147483648;E=~~g;B=g>2147483647.0?2147483647:E+-1+(+(E|0)>2]|0;f[r>>2]=J;D=r+4|0;f[D>>2]=a;H=r+8|0;f[H>>2]=f[o+8>>2];f[r+12>>2]=f[o+12>>2];L=r+16|0;f[L>>2]=f[o+16>>2];f[r+20>>2]=f[o+20>>2];f[r+24>>2]=f[o+24>>2];f[r+28>>2]=f[o+28>>2];f[r+32>>2]=f[o+32>>2];M=r+36|0;N=f[o+36>>2]|0;f[M>>2]=N;O=r+40|0;f[O>>2]=H;H=r+48|0;P=r+44|0;f[P>>2]=H;f[H>>2]=0;f[r+52>>2]=0;if((N|0)!=0?(Q=N+12|0,f[Q>>2]=(f[Q>>2]|0)+1,(f[G>>2]|0)>=3):0){f[D>>2]=0;WO(r,o)}else{Q=f[o+44>>2]|0;N=f[P>>2]|0;f[N>>2]=f[Q>>2];f[N+4>>2]=f[Q+4>>2]}dg[E&63](r,q,C,B)|0;B=f[M>>2]|0;if(B|0?(C=B+12|0,B=f[C>>2]|0,f[C>>2]=B+-1,(B|0)==1):0)XO(r);f[M>>2]=0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;if((f[D>>2]|0)>0){L=f[O>>2]|0;O=0;do{f[L+(O<<2)>>2]=0;O=O+1|0}while((O|0)<(f[D>>2]|0))}D=f[P>>2]|0;if((D|0)!=(H|0))dX(D);D=f[q>>2]|0;if((D|0)>-1){R=D;S=58}else T=1}else{D=(J>>>3&511)+1|0;O=f[o+12>>2]|0;L=f[o+8>>2]|0;M=wVa(L|0,((L|0)<0)<<31>>31|0,O|0,((O|0)<0)<<31>>31|0)|0;B=wVa(M|0,I|0,D|0,0)|0;if((J&16384|0)!=0?(B|0)==(B|0)&(I|0)==(((B|0)<0)<<31>>31|0):0){U=1;V=B}else{U=L;V=X(D,O)|0}L=f[o+16>>2]|0;B=f[o+48>>2]|0;if((A|0)==5){M=B>>>2;C=(n[s>>2]=e<-3402823466385288598117041.0e14?-3402823466385288598117041.0e14:e,f[s>>2]|0);E=(n[s>>2]=g>3402823466385288598117041.0e14?3402823466385288598117041.0e14:g,f[s>>2]|0);Q=C>>31&2147483647^C;C=E>>31&2147483647^E;if((V|0)<=0){E=U;while(1)if(!E){T=1;break a}else E=E+-1|0}E=0;H=L;P=U;N=-1;while(1){if(!P){T=1;break a}else W=0;P=P+-1|0;while(1){Y=f[H+(W<<2)>>2]|0;Z=Y>>31&2147483647^Y;if(!((Z|0)>=(Q|0)&(Z|0)<(C|0))){S=45;break}Z=W+1|0;if((Z|0)<(V|0))W=Z;else{_=N;break}}if((S|0)==45){S=0;Z=(W+E|0)/(D|0)|0;Y=(Z|0)%(O|0)|0;f[q>>2]=Y;f[F>>2]=(Z|0)/(O|0)|0;_=Y}if((_|0)>=0){R=_;S=58;break}else{E=E+V|0;H=H+(M<<2)|0;N=_}}}else{N=B>>>3;M=zVa(w|0,x|0,63)|0;H=M^w;M=I&2147483647^x;E=zVa(y|0,z|0,63)|0;C=E^y;E=I&2147483647^z;if((V|0)<=0){Q=U;while(1)if(!Q){T=1;break a}else Q=Q+-1|0}Q=L;B=0;P=U;Y=-1;while(1){if(!P){T=1;break a}else $=0;P=P+-1|0;while(1){Z=Q+($<<3)|0;aa=f[Z>>2]|0;ba=f[Z+4>>2]|0;Z=zVa(aa|0,ba|0,63)|0;ca=Z^aa;aa=I&2147483647^ba;if(!(((aa|0)>(M|0)|(aa|0)==(M|0)&ca>>>0>=H>>>0)&((aa|0)<(E|0)|(aa|0)==(E|0)&ca>>>0>>0))){S=53;break}ca=$+1|0;if((ca|0)<(V|0))$=ca;else{da=Y;break}}if((S|0)==53){S=0;ca=($+B|0)/(D|0)|0;aa=(ca|0)%(O|0)|0;f[q>>2]=aa;f[F>>2]=(ca|0)/(O|0)|0;da=aa}if((da|0)>=0){R=da;S=58;break}else{Q=Q+(N<<3)|0;B=B+V|0;Y=da}}}}while(0);if((S|0)==58){if(d|0){f[d>>2]=R;f[d+4>>2]=f[F>>2]}if(c)T=0;else{f[t>>2]=0;f[t+4>>2]=0;c=f[F>>2]|0;f[j>>2]=R;f[j+4>>2]=R+1;f[k>>2]=c;f[k+4>>2]=c+1;YO(v,o,k,j);gU(l,0);c=f[l+4>>2]|0;Rg[f[(f[c>>2]|0)+8>>2]&255](k,c,v);c=k+4|0;R=f[c>>2]|0;qg[f[(f[R>>2]|0)+4>>2]&1023](R);R=f[c>>2]|0;d=Wf[f[f[R>>2]>>2]&255](R)|0;if(d|0){R=j+4|0;S=d;do{f[j>>2]=0;f[R>>2]=0;d=nCa(S)|0;if(d|0)DVa(JV(j,d)|0,S|0,d|0)|0;PQ(t,j)|0;KV(j);d=f[c>>2]|0;S=Wf[f[f[d>>2]>>2]&255](d)|0}while((S|0)!=0)}S=f[k>>2]|0;if(S|0?(R=S+4|0,d=f[R>>2]|0,f[R>>2]=d+-1,(d|0)==1):0)qg[f[(f[S>>2]|0)+8>>2]&1023](S);f[k>>2]=0;f[c>>2]=0;c=f[l>>2]|0;if(c|0?(l=c+4|0,k=f[l>>2]|0,f[l>>2]=k+-1,(k|0)==1):0)qg[f[(f[c>>2]|0)+8>>2]&1023](c);c=v+36|0;k=f[c>>2]|0;if(k|0?(l=k+12|0,k=f[l>>2]|0,f[l>>2]=k+-1,(k|0)==1):0)XO(v);f[c>>2]=0;c=v+16|0;k=v+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[k>>2]|0)>0){c=f[v+40>>2]|0;l=0;do{f[c+(l<<2)>>2]=0;l=l+1|0}while((l|0)<(f[k>>2]|0))}k=f[v+44>>2]|0;if((k|0)!=(v+48|0))dX(k);k=f[F>>2]|0;F=f[t>>2]|0;f[i>>2]=f[q>>2];f[i+4>>2]=k;f[i+8>>2]=(F|0)==0?1079437:F;p[i+16>>3]=e;p[i+24>>3]=g;LP(j,168199,i);EP(-211,j,168188,167369,1549);KV(j);KV(t);T=0}}K=T}T=o+36|0;t=f[T>>2]|0;if(t|0?(j=t+12|0,t=f[j>>2]|0,f[j>>2]=t+-1,(t|0)==1):0)XO(o);f[T>>2]=0;T=o+16|0;f[T>>2]=0;f[T+4>>2]=0;f[T+8>>2]=0;f[T+12>>2]=0;if((f[G>>2]|0)>0){T=f[o+40>>2]|0;t=0;do{f[T+(t<<2)>>2]=0;t=t+1|0}while((t|0)<(f[G>>2]|0))}G=f[o+44>>2]|0;if((G|0)!=(o+48|0))dX(G);if(!(f[m+4>>2]|0)){u=h;return K|0}u=h;return K|0}function PQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=u;u=u+16|0;d=c;f[d>>2]=0;e=d+4|0;f[e>>2]=0;g=a+4|0;h=b+4|0;JV(d,(f[h>>2]|0)+(f[g>>2]|0)|0)|0;i=f[g>>2]|0;if(i|0)DVa(f[d>>2]|0,f[a>>2]|0,i|0)|0;i=f[h>>2]|0;if(i|0)DVa((f[d>>2]|0)+(f[g>>2]|0)|0,f[b>>2]|0,i|0)|0;if((d|0)==(a|0)){KV(d);u=c;return a|0}KV(a);i=f[d>>2]|0;if(!i)j=0;else{b=i+-4|0;f[b>>2]=(f[b>>2]|0)+1;j=f[d>>2]|0}f[a>>2]=j;f[g>>2]=f[e>>2];KV(d);u=c;return a|0}function QQ(a,c){a=a|0;c=+c;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0.0;d=u;u=u+112|0;e=d+104|0;g=d+48|0;h=d+40|0;i=d+32|0;j=d;yV(e,33240);if((TJ(a,-1)|0)!=5){f[g>>2]=0;f[g+4>>2]=0;k=JV(g,15)|0;l=168320;m=k+15|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-215,g,168336,167369,1583);KV(g)}do if((HJ(a)|0)==65536){l=f[a+4>>2]|0;f[g>>2]=f[l>>2];k=g+4|0;m=l+4|0;f[k>>2]=f[m>>2];o=g+8|0;f[o>>2]=f[l+8>>2];f[g+12>>2]=f[l+12>>2];f[g+16>>2]=f[l+16>>2];f[g+20>>2]=f[l+20>>2];f[g+24>>2]=f[l+24>>2];f[g+28>>2]=f[l+28>>2];f[g+32>>2]=f[l+32>>2];p=f[l+36>>2]|0;f[g+36>>2]=p;f[g+40>>2]=o;o=g+48|0;q=g+44|0;f[q>>2]=o;f[o>>2]=0;f[g+52>>2]=0;if(p|0){o=p+12|0;f[o>>2]=(f[o>>2]|0)+1}if((f[m>>2]|0)<3){m=f[l+44>>2]|0;o=f[q>>2]|0;f[o>>2]=f[m>>2];f[o+4>>2]=f[m+4>>2];break}else{f[k>>2]=0;WO(g,l);break}}else DJ(g,a,-1);while(0);f[h>>2]=g;f[h+4>>2]=0;FN(j,h,i,-1);h=X(((f[g>>2]|0)>>>3&511)+1|0,f[j+20>>2]|0)|0;r=c;a=j+16|0;a:do if(!h){l=0;while(1){if(l>>>0>=(f[a>>2]|0)>>>0)break a;GN(j)|0;l=l+1|0}}else{l=0;while(1){if(l>>>0>=(f[a>>2]|0)>>>0)break a;k=f[i>>2]|0;m=0;do{o=k+(m<<2)|0;if((f[o>>2]&2147483647)>>>0>2139095040)n[o>>2]=r;m=m+1|0}while((m|0)!=(h|0));GN(j)|0;l=l+1|0}}while(0);j=g+36|0;h=f[j>>2]|0;if(h|0?(i=h+12|0,h=f[i>>2]|0,f[i>>2]=h+-1,(h|0)==1):0)XO(g);f[j>>2]=0;j=g+16|0;h=g+4|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;if((f[h>>2]|0)>0){j=f[g+40>>2]|0;i=0;do{f[j+(i<<2)>>2]=0;i=i+1|0}while((i|0)<(f[h>>2]|0))}h=f[g+44>>2]|0;if((h|0)!=(g+48|0))dX(h);if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function RQ(a,b){a=+a;b=+b;return +(+eU(a,b))}function SQ(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;var e=0,g=0,h=0,i=0;e=u;u=u+80|0;g=e+56|0;h=e;i=(b&1|0)==0;NY(h,a,0,1,0,0);f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=h;a=(OQ(g,(b&2|0)!=0,0,i?-1797693134862315708145274.0e284:c,i?1797693134862315708145274.0e284:d)|0)&1;i=h+36|0;b=f[i>>2]|0;if(b|0?(g=b+12|0,b=f[g>>2]|0,f[g>>2]=b+-1,(b|0)==1):0)XO(h);f[i>>2]=0;i=h+16|0;b=h+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[b>>2]|0)>0){i=f[h+40>>2]|0;g=0;do{f[i+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[b>>2]|0))}b=f[h+44>>2]|0;if((b|0)==(h+48|0)){u=e;return a|0}dX(b);u=e;return a|0}function TQ(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0.0,v=0,w=0,x=0,y=0.0,z=0,A=0.0,B=0,C=0.0,D=0.0,E=0,F=0,G=0.0,H=0.0,I=0,J=0.0,O=0.0,P=0.0,R=0.0,S=0,T=0.0,U=0,V=0,W=0,Y=0,Z=0,_=0.0,$=0.0,aa=0,ba=0,ca=0.0,da=0.0,ea=0.0,fa=0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0,la=0,ma=0,na=0;d=u;u=u+128|0;e=d+112|0;g=d+56|0;h=d;yV(e,33260);do if((HJ(a)|0)==65536){i=f[a+4>>2]|0;f[g>>2]=f[i>>2];j=g+4|0;k=i+4|0;f[j>>2]=f[k>>2];l=g+8|0;f[l>>2]=f[i+8>>2];f[g+12>>2]=f[i+12>>2];f[g+16>>2]=f[i+16>>2];f[g+20>>2]=f[i+20>>2];f[g+24>>2]=f[i+24>>2];f[g+28>>2]=f[i+28>>2];f[g+32>>2]=f[i+32>>2];m=f[i+36>>2]|0;f[g+36>>2]=m;f[g+40>>2]=l;l=g+48|0;o=g+44|0;f[o>>2]=l;f[l>>2]=0;f[g+52>>2]=0;if(m|0){l=m+12|0;f[l>>2]=(f[l>>2]|0)+1}if((f[k>>2]|0)<3){k=f[i+44>>2]|0;l=f[o>>2]|0;f[l>>2]=f[k>>2];f[l+4>>2]=f[k+4>>2];q=g;break}else{f[j>>2]=0;WO(g,i);q=g;break}}else{DJ(g,a,-1);q=g}while(0);a=f[q>>2]&4095;i=(a|0)==5;if((a+-5|0)>>>0>=2){f[h>>2]=0;f[h+4>>2]=0;j=JV(h,24)|0;k=168395;l=j+24|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-215,h,168420,167369,1744);KV(h)}k=g+40|0;j=f[k>>2]|0;l=f[j+4>>2]|0;o=f[j>>2]|0;if(!((l+-3|0)>>>0<2&(o|0)==1)?!((l|0)==1&(o+-3|0)>>>0<2):0){f[h>>2]=0;f[h+4>>2]=0;DVa(JV(h,130)|0,168431,130)|0;EP(-215,h,168420,167369,1748);KV(h)}vK(c,3,1,a,-1,1,96);do if((HJ(c)|0)==65536){a=f[c+4>>2]|0;f[h>>2]=f[a>>2];o=h+4|0;l=a+4|0;f[o>>2]=f[l>>2];j=h+8|0;f[j>>2]=f[a+8>>2];f[h+12>>2]=f[a+12>>2];f[h+16>>2]=f[a+16>>2];f[h+20>>2]=f[a+20>>2];f[h+24>>2]=f[a+24>>2];f[h+28>>2]=f[a+28>>2];f[h+32>>2]=f[a+32>>2];m=f[a+36>>2]|0;f[h+36>>2]=m;f[h+40>>2]=j;j=h+48|0;r=h+44|0;f[r>>2]=j;f[j>>2]=0;f[h+52>>2]=0;if(m|0){j=m+12|0;f[j>>2]=(f[j>>2]|0)+1}if((f[l>>2]|0)<3){l=f[a+44>>2]|0;j=f[r>>2]|0;f[j>>2]=f[l>>2];f[j+4>>2]=f[l+4>>2];break}else{f[o>>2]=0;WO(h,a);break}}else DJ(h,c,-1);while(0);c=f[g+12>>2]|0;a=(c+(f[g+8>>2]|0)|0)==5;if(i){if(a){s=0;t=+n[f[g+16>>2]>>2]}else{s=-1;t=1.0}i=s+1|0;do if(!(f[q>>2]&16384)){o=f[k>>2]|0;do if((f[o>>2]|0)!=1)if((f[o+4>>2]|0)==1){l=f[g+16>>2]|0;v=l+(X(f[f[g+44>>2]>>2]|0,i)|0)|0;w=l;x=l;break}else{l=(i|0)/(c|0)|0;j=i-(X(l,c)|0)|0;r=f[g+16>>2]|0;v=r+(X(f[f[g+44>>2]>>2]|0,l)|0)+(j<<2)|0;w=r;x=r;break}else{r=f[g+16>>2]|0;v=r+(i<<2)|0;w=r;x=r}while(0);y=+n[v>>2];o=s+2|0;r=f[k>>2]|0;do if((f[r>>2]|0)!=1)if((f[r+4>>2]|0)==1){z=x+(X(f[f[g+44>>2]>>2]|0,o)|0)|0;break}else{j=(o|0)/(c|0)|0;l=o-(X(j,c)|0)|0;z=x+(X(f[f[g+44>>2]>>2]|0,j)|0)+(l<<2)|0;break}else z=w+(o<<2)|0;while(0);A=+n[z>>2];o=s+3|0;r=f[k>>2]|0;if((f[r>>2]|0)!=1)if((f[r+4>>2]|0)==1){B=x+(X(f[f[g+44>>2]>>2]|0,o)|0)|0;C=A;D=y;break}else{r=(o|0)/(c|0)|0;l=o-(X(r,c)|0)|0;B=x+(X(f[f[g+44>>2]>>2]|0,r)|0)+(l<<2)|0;C=A;D=y;break}else{E=w;F=o;G=A;H=y;I=36}}else{o=f[g+16>>2]|0;E=o;F=s+3|0;G=+n[o+(s+2<<2)>>2];H=+n[o+(i<<2)>>2];I=36}while(0);if((I|0)==36){B=E+(F<<2)|0;C=G;D=H}J=+n[B>>2];O=C;P=D;R=t}else{if(a){S=0;T=+p[f[g+16>>2]>>3]}else{S=-1;T=1.0}a=S+1|0;do if(!(f[q>>2]&16384)){B=f[k>>2]|0;do if((f[B>>2]|0)!=1)if((f[B+4>>2]|0)==1){F=f[g+16>>2]|0;U=F+(X(f[f[g+44>>2]>>2]|0,a)|0)|0;V=F;W=F;break}else{F=(a|0)/(c|0)|0;E=a-(X(F,c)|0)|0;i=f[g+16>>2]|0;U=i+(X(f[f[g+44>>2]>>2]|0,F)|0)+(E<<3)|0;V=i;W=i;break}else{i=f[g+16>>2]|0;U=i+(a<<3)|0;V=i;W=i}while(0);y=+p[U>>3];B=S+2|0;i=f[k>>2]|0;do if((f[i>>2]|0)!=1)if((f[i+4>>2]|0)==1){Y=W+(X(f[f[g+44>>2]>>2]|0,B)|0)|0;break}else{E=(B|0)/(c|0)|0;F=B-(X(E,c)|0)|0;Y=W+(X(f[f[g+44>>2]>>2]|0,E)|0)+(F<<3)|0;break}else Y=V+(B<<3)|0;while(0);t=+p[Y>>3];B=S+3|0;i=f[k>>2]|0;if((f[i>>2]|0)!=1)if((f[i+4>>2]|0)==1){Z=W+(X(f[f[g+44>>2]>>2]|0,B)|0)|0;_=t;$=y;break}else{i=(B|0)/(c|0)|0;F=B-(X(i,c)|0)|0;Z=W+(X(f[f[g+44>>2]>>2]|0,i)|0)+(F<<3)|0;_=t;$=y;break}else{aa=V;ba=B;ca=t;da=y;I=56}}else{B=f[g+16>>2]|0;aa=B;ba=S+3|0;ca=+p[B+(S+2<<3)>>3];da=+p[B+(a<<3)>>3];I=56}while(0);if((I|0)==56){Z=aa+(ba<<3)|0;_=ca;$=da}J=+p[Z>>3];O=_;P=$;R=T}do if(R==0.0){if(!(P==0.0)){T=O*O-P*4.0*J;if(!(T>=0.0)){ea=0.0;fa=0;ga=0.0;ha=0.0;break}$=+L(+T);T=($-O)*.5;_=(O+$)*-.5;Z=+K(+T)>+K(+_);da=Z?T:_;ea=0.0;fa=$>0.0?2:1;ga=J/da;ha=da/P;break}if(O==0.0){ea=0.0;fa=(J==0.0)<<31>>31;ga=0.0;ha=0.0;break}else{ea=0.0;fa=1;ga=0.0;ha=-J/O;break}}else{da=1.0/R;$=P*da;_=O*da;T=($*$-_*3.0)*.1111111111111111;ca=(J*da*27.0+($*($*($*2.0))-_*($*9.0)))*.018518518518518517;_=T*(T*T);da=_-ca*ca;if(da>0.0){t=+L(+T)*-2.0;D=+Q(+(ca/+L(+_)))*.3333333333333333;_=$*.3333333333333333;ea=t*+N(+(D+4.1887902047863905))-_;fa=3;ga=t*+N(+(D+2.0943951023931953))-_;ha=t*+N(+D)-_;break}if(!(da==0.0)){_=+M(+(+K(+ca)+ +L(+-da)),.3333333333333333);da=ca>0.0?-_:_;ea=0.0;fa=1;ga=0.0;ha=da+T/da-$*.3333333333333333;break}if(!(ca>=0.0)){da=+M(+-ca,.3333333333333333);T=$/3.0;ia=-da-T;ja=da*2.0-T}else{T=+M(+ca,.3333333333333333);ca=$/3.0;ia=T-ca;ja=T*-2.0-ca}Z=ja==ia;ea=0.0;fa=Z?1:2;ga=Z?0.0:ia;ha=ja}while(0);Z=f[h>>2]|0;ba=h+16|0;if((Z&4095|0)==5){aa=f[ba>>2]|0;n[aa>>2]=ha;do if(!(Z&16384)){a=f[h+40>>2]|0;do if((f[a>>2]|0)!=1)if((f[a+4>>2]|0)==1){ka=aa+(f[f[h+44>>2]>>2]|0)|0;break}else{S=f[h+12>>2]|0;V=(S+1|0)>>>0<3?S:0;W=1-(X(V,S)|0)|0;ka=aa+(X(f[f[h+44>>2]>>2]|0,V)|0)+(W<<2)|0;break}else ka=aa+4|0;while(0);n[ka>>2]=ga;a=f[h+40>>2]|0;if((f[a>>2]|0)!=1)if((f[a+4>>2]|0)==1){la=aa+(f[f[h+44>>2]>>2]<<1)|0;break}else{a=f[h+12>>2]|0;W=2/(a|0)|0;V=2-(X(W,a)|0)|0;la=aa+(X(f[f[h+44>>2]>>2]|0,W)|0)+(V<<2)|0;break}else I=85}else{n[aa+4>>2]=ga;I=85}while(0);if((I|0)==85)la=aa+8|0;n[la>>2]=ea}else{la=f[ba>>2]|0;p[la>>3]=ha;do if(!(Z&16384)){aa=f[h+40>>2]|0;do if((f[aa>>2]|0)!=1)if((f[aa+4>>2]|0)==1){ma=la+(f[f[h+44>>2]>>2]|0)|0;break}else{ka=f[h+12>>2]|0;V=(ka+1|0)>>>0<3?ka:0;W=1-(X(V,ka)|0)|0;ma=la+(X(f[f[h+44>>2]>>2]|0,V)|0)+(W<<3)|0;break}else ma=la+8|0;while(0);p[ma>>3]=ga;aa=f[h+40>>2]|0;if((f[aa>>2]|0)!=1)if((f[aa+4>>2]|0)==1){na=la+(f[f[h+44>>2]>>2]<<1)|0;break}else{aa=f[h+12>>2]|0;W=2/(aa|0)|0;V=2-(X(W,aa)|0)|0;na=la+(X(f[f[h+44>>2]>>2]|0,W)|0)+(V<<3)|0;break}else I=98}else{p[la+8>>3]=ga;I=98}while(0);if((I|0)==98)na=la+16|0;p[na>>3]=ea}na=h+36|0;la=f[na>>2]|0;if(la|0?(I=la+12|0,la=f[I>>2]|0,f[I>>2]=la+-1,(la|0)==1):0)XO(h);f[na>>2]=0;na=h+4|0;f[ba>>2]=0;f[ba+4>>2]=0;f[ba+8>>2]=0;f[ba+12>>2]=0;if((f[na>>2]|0)>0){ba=f[h+40>>2]|0;la=0;do{f[ba+(la<<2)>>2]=0;la=la+1|0}while((la|0)<(f[na>>2]|0))}na=f[h+44>>2]|0;if((na|0)!=(h+48|0))dX(na);na=g+36|0;h=f[na>>2]|0;if(h|0?(la=h+12|0,h=f[la>>2]|0,f[la>>2]=h+-1,(h|0)==1):0)XO(g);f[na>>2]=0;na=g+16|0;h=g+4|0;f[na>>2]=0;f[na+4>>2]=0;f[na+8>>2]=0;f[na+12>>2]=0;if((f[h>>2]|0)>0){na=f[k>>2]|0;k=0;do{f[na+(k<<2)>>2]=0;k=k+1|0}while((k|0)<(f[h>>2]|0))}h=f[g+44>>2]|0;if((h|0)!=(g+48|0))dX(h);if(!(f[e+4>>2]|0)){u=d;return fa|0}u=d;return fa|0}function UQ(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,N=0,O=0,P=0,Q=0,R=0,S=0.0,T=0,U=0.0,V=0.0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0.0,na=0,oa=0.0,pa=0,qa=0,ra=0.0,sa=0,ta=0,ua=0.0,va=0.0,wa=0.0,xa=0,ya=0.0,za=0,Aa=0.0,Ba=0.0,Ca=0.0,Da=0.0,Ea=0.0,Fa=0.0,Ga=0.0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0.0,Pa=0.0,Qa=0.0,Ra=0.0,Sa=0;e=u;u=u+1536|0;g=e+1520|0;h=e+1512|0;i=e+1456|0;j=e+1400|0;k=e;l=e+1344|0;m=e+1232|0;n=e+1176|0;o=e+1160|0;q=e+1288|0;yV(h,33280);do if((HJ(a)|0)==65536){r=f[a+4>>2]|0;f[i>>2]=f[r>>2];s=i+4|0;t=r+4|0;f[s>>2]=f[t>>2];v=i+8|0;f[v>>2]=f[r+8>>2];f[i+12>>2]=f[r+12>>2];f[i+16>>2]=f[r+16>>2];f[i+20>>2]=f[r+20>>2];f[i+24>>2]=f[r+24>>2];f[i+28>>2]=f[r+28>>2];f[i+32>>2]=f[r+32>>2];w=f[r+36>>2]|0;f[i+36>>2]=w;f[i+40>>2]=v;v=i+48|0;x=i+44|0;f[x>>2]=v;f[v>>2]=0;f[i+52>>2]=0;if(w|0){v=w+12|0;f[v>>2]=(f[v>>2]|0)+1}if((f[t>>2]|0)<3){t=f[r+44>>2]|0;v=f[x>>2]|0;f[v>>2]=f[t>>2];f[v+4>>2]=f[t+4>>2];break}else{f[s>>2]=0;WO(i,r);break}}else DJ(i,a,-1);while(0);r=GJ(a,-1)|0;a=r&7;if(!(a>>>0>4?((r>>>3&511)+1|0)>>>0<3:0)){f[g>>2]=0;f[g+4>>2]=0;y=JV(g,81)|0;z=168614;A=y+81|0;do{b[y>>0]=b[z>>0]|0;y=y+1|0;z=z+1|0}while((y|0)<(A|0));EP(-215,g,168696,167369,1895);KV(g)}r=i+8|0;s=f[r>>2]|0;t=i+12|0;if((s|0)!=1)if((f[t>>2]|0)==1)B=s;else{f[g>>2]=0;f[g+4>>2]=0;y=JV(g,38)|0;z=168706;A=y+38|0;do{b[y>>0]=b[z>>0]|0;y=y+1|0;z=z+1|0}while((y|0)<(A|0));EP(-215,g,168696,167369,1896);KV(g);B=f[r>>2]|0}else B=1;r=f[t>>2]|0;t=r+-2+B|0;vK(c,t,1,a|8,-1,1,96);do if((HJ(c)|0)==65536){a=f[c+4>>2]|0;f[j>>2]=f[a>>2];z=j+4|0;s=a+4|0;f[z>>2]=f[s>>2];v=j+8|0;f[v>>2]=f[a+8>>2];f[j+12>>2]=f[a+12>>2];f[j+16>>2]=f[a+16>>2];f[j+20>>2]=f[a+20>>2];f[j+24>>2]=f[a+24>>2];f[j+28>>2]=f[a+28>>2];f[j+32>>2]=f[a+32>>2];x=f[a+36>>2]|0;f[j+36>>2]=x;f[j+40>>2]=v;v=j+48|0;w=j+44|0;f[w>>2]=v;f[v>>2]=0;f[j+52>>2]=0;if(x|0){v=x+12|0;f[v>>2]=(f[v>>2]|0)+1}if((f[s>>2]|0)<3){s=f[a+44>>2]|0;v=f[w>>2]|0;f[v>>2]=f[s>>2];f[v+4>>2]=f[s+4>>2];break}else{f[z>>2]=0;WO(j,a);break}}else DJ(j,c,-1);while(0);c=(t<<1)+2|0;a=k+8|0;FVa(a|0,0,1152)|0;f[k>>2]=a;z=k+4|0;f[z>>2]=c;if(c>>>0>72){s=FQa(c>>>0>268435455?-1:c<<4)|0;FVa(s|0,0,c<<4|0)|0;f[k>>2]=s;C=s}else C=a;s=C+(t<<4)+16|0;c=i+40|0;v=f[c>>2]|0;w=f[v+4>>2]|0;x=f[v>>2]|0;v=((f[i>>2]|0)>>>3&511)+1|0;D=(v<<3)+-2|0;E=(v|0)==2?C:s;v=D&4094;F=l+4|0;f[F>>2]=2;G=l+8|0;f[G>>2]=x;f[l+12>>2]=w;x=l+16|0;f[x>>2]=E;f[l+20>>2]=E;H=l+24|0;I=l+40|0;J=H+8|0;f[J>>2]=0;f[J+4>>2]=0;f[I>>2]=G;J=l+48|0;N=l+44|0;f[N>>2]=J;O=(D&4088)+8|0;D=X(w,O)|0;f[l>>2]=v|1124024320;f[J>>2]=D;f[l+52>>2]=O;O=E+(X(f[G>>2]|0,D)|0)|0;f[l+28>>2]=O;f[H>>2]=O+(0-D)+D;D=g+8|0;f[D>>2]=0;f[D+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=l;AO(i,g,v,1.0,0.0);v=f[i>>2]|0;if(!(v&4088))if((t|0)<0){P=t;Q=0}else{D=r+B+-1|0;B=0;do{p[C+(B<<4)>>3]=+p[s+(B<<3)>>3];p[C+(B<<4)+8>>3]=0.0;B=B+1|0}while((B|0)!=(D|0));R=26}else R=26;if((R|0)==26){a:do if((t|0)>1){D=t;while(1){S=+K(+(+p[C+(D<<4)>>3]));if(S+ +K(+(+p[C+(D<<4)+8>>3]))>2.220446049250313e-16){T=D;break a}B=D+-1|0;if((D|0)>2)D=B;else{T=B;break}}}else T=t;while(0);D=(T|0)>0;if(D){B=0;S=1.0;U=0.0;while(1){r=s+(B<<4)|0;p[r>>3]=S;p[r+8>>3]=U;V=S+U;B=B+1|0;if((B|0)==(T|0)){P=T;Q=D;break}else{S=S-U;U=V}}}else{P=T;Q=0}}T=(d|0)<1?1e3:d;if((T|0)>0){d=C+(P<<4)|0;D=C+(P<<4)+8|0;B=m+4|0;r=m+8|0;O=m+40|0;H=m+48|0;G=m+44|0;E=m+52|0;w=g+4|0;W=n+4|0;Y=n+8|0;Z=n+40|0;_=n+48|0;$=n+44|0;aa=n+52|0;ba=m+16|0;ca=m+12|0;da=g+8|0;ea=g+12|0;fa=g+4|0;ga=o+8|0;ha=o+4|0;ia=n+16|0;ja=n+36|0;ka=m+36|0;la=0;while(1){if(Q){ma=0.0;na=0}else{oa=0.0;break}do{pa=s+(na<<4)|0;U=+p[pa>>3];qa=pa+8|0;S=+p[qa>>3];V=+p[d>>3];ra=+p[D>>3];sa=0;ta=1;ua=V;va=V;V=ra;wa=ra;while(1){xa=P-sa+-1|0;ra=va;va=U*va-S*V+ +p[C+(xa<<4)>>3];V=S*ra+U*V+ +p[C+(xa<<4)+8>>3];do if((sa|0)!=(na|0)){xa=s+(sa<<4)|0;ra=U-+p[xa>>3];ya=S-+p[xa+8>>3];if(ra!=0.0|ya!=0.0){za=ta;Aa=ua*ra-wa*ya;Ba=wa*ra+ua*ya;break}else{za=ta+1|0;Aa=ua;Ba=wa;break}}else{za=ta;Aa=ua;Ba=wa}while(0);sa=sa+1|0;if((sa|0)==(P|0))break;else{ta=za;ua=Aa;wa=Ba}}wa=1.0/(Aa*Aa+Ba*Ba);ua=wa*(Aa*va+Ba*V);ya=wa*(Aa*V-Ba*va);if((za|0)>1){if(((za<<31>>31)+(za>>>1)|0)>0){wa=ua+ +L(+(ua*ua+ya*ya));ra=+L(+(wa*.5));Ca=+L(+((wa-ua)*.5));Da=ra;Ea=ua<0.0?-Ca:Ca}else{Da=ua;Ea=ya}if(!(za&1)){Fa=Da;Ga=Ea}else{f[m>>2]=1124007936;y=B;A=y+36|0;do{f[y>>2]=0;y=y+4|0}while((y|0)<(A|0));f[O>>2]=r;f[G>>2]=H;f[H>>2]=0;f[E>>2]=0;f[g>>2]=4;f[w>>2]=1;VO(m,2,g,6);f[n>>2]=1124007936;y=W;A=y+36|0;do{f[y>>2]=0;y=y+4|0}while((y|0)<(A|0));f[Z>>2]=Y;f[$>>2]=_;f[_>>2]=0;f[aa>>2]=0;f[g>>2]=3;f[w>>2]=1;VO(n,2,g,14);va=-+M(+ua,3.0);ta=(f[m>>2]&16384|0)==0;do if(ta?(sa=f[O>>2]|0,(f[sa>>2]|0)!=1):0)if((f[sa+4>>2]|0)==1){sa=f[ba>>2]|0;Ha=sa+((f[f[G>>2]>>2]|0)*3|0)|0;Ia=sa;Ja=sa;break}else{sa=f[ca>>2]|0;xa=3/(sa|0)|0;Ka=3-(X(xa,sa)|0)|0;sa=f[ba>>2]|0;Ha=sa+(X(f[f[G>>2]>>2]|0,xa)|0)+(Ka<<3)|0;Ia=sa;Ja=sa;break}else R=47;while(0);if((R|0)==47){R=0;sa=f[ba>>2]|0;Ha=sa+24|0;Ia=sa;Ja=sa}p[Ha>>3]=va;V=-(ua*ua*15.0+ya*ya*27.0);do if(ta){sa=f[O>>2]|0;do if((f[sa>>2]|0)!=1)if((f[sa+4>>2]|0)==1){La=Ja+(f[f[G>>2]>>2]<<1)|0;break}else{Ka=f[ca>>2]|0;xa=2/(Ka|0)|0;Ma=2-(X(xa,Ka)|0)|0;La=Ja+(X(f[f[G>>2]>>2]|0,xa)|0)+(Ma<<3)|0;break}else La=Ia+16|0;while(0);p[La>>3]=V;Ca=ua*-48.0;sa=f[O>>2]|0;if((f[sa>>2]|0)!=1)if((f[sa+4>>2]|0)==1){Na=Ja+(f[f[G>>2]>>2]|0)|0;Oa=Ca;break}else{sa=f[ca>>2]|0;Ma=(sa+1|0)>>>0<3?sa:0;xa=1-(X(Ma,sa)|0)|0;Na=Ja+(X(f[f[G>>2]>>2]|0,Ma)|0)+(xa<<3)|0;Oa=Ca;break}else{Pa=Ca;R=59}}else{p[Ia+16>>3]=V;Pa=ua*-48.0;R=59}while(0);if((R|0)==59){R=0;Na=Ia+8|0;Oa=Pa}p[Na>>3]=Oa;p[Ia>>3]=64.0;f[da>>2]=0;f[ea>>2]=0;f[g>>2]=16842752;f[fa>>2]=m;ta=ga;f[ta>>2]=0;f[ta+4>>2]=0;f[o>>2]=33619968;f[ha>>2]=n;TQ(g,o)|0;V=+p[f[ia>>2]>>3];if(!(V>=0.0))Qa=-+M(+-V,.3333333333333333);else Qa=+M(+V,.3333333333333333);V=+L(+(Qa*Qa/3.0-ua/(Qa*3.0)));ta=f[ja>>2]|0;do if(ta|0){xa=ta+12|0;Ma=f[xa>>2]|0;f[xa>>2]=Ma+-1;if((Ma|0)!=1)break;XO(n)}while(0);f[ja>>2]=0;f[ia>>2]=0;f[ia+4>>2]=0;f[ia+8>>2]=0;f[ia+12>>2]=0;if((f[W>>2]|0)>0){ta=f[Z>>2]|0;Ma=0;do{f[ta+(Ma<<2)>>2]=0;Ma=Ma+1|0}while((Ma|0)<(f[W>>2]|0))}Ma=f[$>>2]|0;if((Ma|0)!=(_|0))dX(Ma);Ma=f[ka>>2]|0;do if(Ma|0){ta=Ma+12|0;xa=f[ta>>2]|0;f[ta>>2]=xa+-1;if((xa|0)!=1)break;XO(m)}while(0);f[ka>>2]=0;f[ba>>2]=0;f[ba+4>>2]=0;f[ba+8>>2]=0;f[ba+12>>2]=0;if((f[B>>2]|0)>0){Ma=f[O>>2]|0;xa=0;do{f[Ma+(xa<<2)>>2]=0;xa=xa+1|0}while((xa|0)<(f[B>>2]|0))}xa=f[G>>2]|0;if((xa|0)!=(H|0))dX(xa);Fa=Qa;Ga=V}}else{Fa=ua;Ga=ya}p[pa>>3]=U-Fa;p[qa>>3]=S-Ga;va=+L(+(Fa*Fa+Ga*Ga));ma=ma>2]|0}else{Ra=0.0;Sa=v}if((Sa&4088|0)==0&Q){Q=0;do{Sa=s+(Q<<4)+8|0;if(+K(+(+p[Sa>>3]))<1.0e-100)p[Sa>>3]=0.0;Q=Q+1|0}while((Q|0)!=(P|0))}if((P|0)<(t|0)){Q=P;do{P=s+(Q<<4)|0;Q=Q+1|0;Sa=s+(Q<<4)|0;f[Sa>>2]=f[P>>2];f[Sa+4>>2]=f[P+4>>2];f[Sa+8>>2]=f[P+8>>2];f[Sa+12>>2]=f[P+12>>2]}while((Q|0)!=(t|0))}t=j+40|0;Q=f[t>>2]|0;P=f[Q+4>>2]|0;Sa=f[Q>>2]|0;Q=q+4|0;f[Q>>2]=2;v=q+8|0;f[v>>2]=Sa;f[q+12>>2]=P;T=q+16|0;f[T>>2]=s;f[q+20>>2]=s;la=q+24|0;na=q+40|0;H=la+8|0;f[H>>2]=0;f[H+4>>2]=0;f[na>>2]=v;v=q+48|0;H=q+44|0;f[H>>2]=v;G=P<<4;f[q>>2]=1124024334;f[v>>2]=G;f[q+52>>2]=16;P=s+(X(Sa,G)|0)|0;f[q+28>>2]=P;f[la>>2]=P+(0-G)+G;G=g+8|0;f[G>>2]=0;f[G+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=j;AO(q,g,f[j>>2]&4095,1.0,0.0);g=q+36|0;G=f[g>>2]|0;if(G|0?(P=G+12|0,G=f[P>>2]|0,f[P>>2]=G+-1,(G|0)==1):0)XO(q);f[g>>2]=0;f[T>>2]=0;f[T+4>>2]=0;f[T+8>>2]=0;f[T+12>>2]=0;if((f[Q>>2]|0)>0){T=f[na>>2]|0;na=0;do{f[T+(na<<2)>>2]=0;na=na+1|0}while((na|0)<(f[Q>>2]|0))}Q=f[H>>2]|0;if((Q|0)!=(v|0))dX(Q);Q=l+36|0;v=f[Q>>2]|0;if(v|0?(H=v+12|0,v=f[H>>2]|0,f[H>>2]=v+-1,(v|0)==1):0)XO(l);f[Q>>2]=0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;if((f[F>>2]|0)>0){x=f[I>>2]|0;I=0;do{f[x+(I<<2)>>2]=0;I=I+1|0}while((I|0)<(f[F>>2]|0))}F=f[N>>2]|0;if((F|0)!=(J|0))dX(F);F=f[k>>2]|0;if((F|0)!=(a|0)){if(F|0)HQa(F);f[k>>2]=a;f[z>>2]=72}z=j+36|0;a=f[z>>2]|0;if(a|0?(k=a+12|0,a=f[k>>2]|0,f[k>>2]=a+-1,(a|0)==1):0)XO(j);f[z>>2]=0;z=j+16|0;a=j+4|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;if((f[a>>2]|0)>0){z=f[t>>2]|0;t=0;do{f[z+(t<<2)>>2]=0;t=t+1|0}while((t|0)<(f[a>>2]|0))}a=f[j+44>>2]|0;if((a|0)!=(j+48|0))dX(a);a=i+36|0;j=f[a>>2]|0;do if(j|0){t=j+12|0;z=f[t>>2]|0;f[t>>2]=z+-1;if((z|0)!=1)break;XO(i)}while(0);f[a>>2]=0;a=i+16|0;j=i+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if((f[j>>2]|0)>0){a=f[c>>2]|0;c=0;do{f[a+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[j>>2]|0))}j=f[i+44>>2]|0;if((j|0)!=(i+48|0))dX(j);if(!(f[h+4>>2]|0)){u=e;return +Ra}u=e;return +Ra}function VQ(a,c,e,g,h,i){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=EQa(12)|0;f[j>>2]=33308;f[j+4>>2]=0;b[j+8>>0]=0;WQ(j);GQa(j);j=EQa(2296)|0;f[j>>2]=33328;k=j+8|0;b[j+48>>0]=0;f[j+44>>2]=0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[k+24>>2]=0;f[k+28>>2]=0;d[k+32>>1]=0;b[k+34>>0]=0;k=(RP(4)|0)&1;b[j+43>>0]=k;f[j+192>>2]=j+200;f[j+196>>2]=1032;f[j+1232>>2]=j+1240;f[j+1236>>2]=264;f[j+12>>2]=j+56;XQ(j,c,e,g,h,i);i=EQa(16)|0;f[i+4>>2]=1;f[i>>2]=33348;f[i+8>>2]=j;f[a>>2]=i;f[a+4>>2]=j;return}function WQ(a){a=a|0;f[a>>2]=33308;return}function XQ(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0;i=a+8|0;j=a+36|0;k=f[j>>2]|0;l=(g&128|0)==0;m=(e|0)==5?8:16;n=a+40|0;o=g&1;b[n>>0]=o;q=g&32;r=(q|0)!=0;b[a+42>>0]=(g&144|0)==16&1;s=a+16|0;p[s>>3]=1.0;f[a+32>>2]=c;f[j>>2]=c;b[a+48>>0]=0;t=(k|0)!=(c|0);k=a+12|0;u=f[k>>2]|0;if(t){if((c|0)>=6){v=(c+-1^c)+1>>1;if((v|0)>1){f[u>>2]=v;if((v|0)!=(c|0)?(w=(c>>>0)/(v>>>0)|0,(w|0)>1):0){x=3;y=w;z=1;A=8}else B=1}else{x=3;y=c;z=0;A=8}a:do if((A|0)==8){b:while(1){A=0;w=x;while(1){C=(y|0)/(w|0)|0;if((X(C,w)|0)==(y|0))break;v=w+2|0;if((X(v,v)|0)>(y|0))break b;else w=v}v=z+1|0;f[u+(z<<2)>>2]=w;if((C|0)>1){x=w;y=C;z=v;A=8}else{B=v;break a}}f[u+(z<<2)>>2]=y;B=z+1|0}while(0);z=f[u>>2]&1^1;y=(z+B|0)/2|0;if((z|0)<(y|0)){C=B+-1+z|0;x=z;do{z=u+(x<<2)|0;v=f[z>>2]|0;D=u+(C-x<<2)|0;f[z>>2]=f[D>>2];f[D>>2]=v;x=x+1|0}while((x|0)!=(y|0));E=B}else E=B}else{f[u>>2]=c;E=1}f[i>>2]=E;B=(f[u>>2]|0)==(f[u+(E+-1<<2)>>2]|0);if(!t)if(B)F=1;else{G=i;A=18}else{H=i;I=B;A=19}}else if((f[u>>2]|0)==(f[u+((f[i>>2]|0)+-1<<2)>>2]|0))F=1;else{G=i;A=18}if((A|0)==18)if(o<<24>>24==0|r^1)F=0;else{H=G;I=0;A=19}if((A|0)==19){G=a+192|0;o=X(f[j>>2]|0,m)|0;i=a+196|0;if((f[i>>2]|0)>>>0>>0){u=f[G>>2]|0;B=a+200|0;if((u|0)==(B|0))J=u;else{if(u|0)HQa(u);f[G>>2]=B;f[i>>2]=1032;J=B}f[i>>2]=o;if(o>>>0>1032){B=FQa(o)|0;f[G>>2]=B;K=B}else K=J}else{f[i>>2]=o;K=f[G>>2]|0}G=a+28|0;f[G>>2]=K;K=a+1232|0;o=f[j>>2]|0;i=a+1236|0;if((f[i>>2]|0)>>>0>>0){J=f[K>>2]|0;B=a+1240|0;if((J|0)==(B|0))L=J;else{if(J|0)HQa(J);f[K>>2]=B;f[i>>2]=264;L=B}f[i>>2]=o;if(o>>>0>264){B=FQa(o>>>0>1073741823?-1:o<<2)|0;f[K>>2]=B;M=B}else M=L}else{f[i>>2]=o;M=f[K>>2]|0}f[a+24>>2]=M;if(l)N=(b[n>>0]|0)==0?0:q>>>5;else N=0;$Q(f[j>>2]|0,f[H>>2]|0,f[k>>2]|0,M,m,f[G>>2]|0,N);F=I}do if(!h)A=44;else{if(l){if(F|(b[h>>0]|0)==0?(c&1|0)==0|r^1:0){A=44;break}}else if(F){O=0;P=1;break}b[h>>0]=1;A=44}while(0);if((A|0)==44){A=l^1;if(A|r^1){O=0;P=A}else{O=(b[n>>0]|0)==0?1:2;P=0}}f[a+44>>2]=f[33360+(((e|0)==6?O+3|0:O)<<2)>>2];if((g&66|0)!=2)return;Q=1.0/+(X((g&4|0)==0|P?d:1,c)|0);p[s>>3]=Q;return}function YQ(a){a=a|0;return}function ZQ(a){a=a|0;GQa(a);return}function _Q(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+8>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function $Q(a,b,c,d,e,g,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,M=0.0,N=0.0,P=0,Q=0.0,R=0.0,S=0,T=0.0,U=0.0;j=u;u=u+272|0;k=j+136|0;l=j;m=f[c>>2]|0;do if((a|0)<6){f[d>>2]=0;o=a+-1|0;f[d+(o<<2)>>2]=o;if((a|0)==4){f[d+4>>2]=2;f[d+8>>2]=1;q=2;break}if((a|0)>2)r=1;else{u=j;return}do{f[d+(r<<2)>>2]=r;r=r+1|0}while((r|0)!=(o|0));if((a|0)!=5){u=j;return}if((e|0)==16){p[g>>3]=1.0;p[g+8>>3]=0.0;u=j;return}else{f[g>>2]=1065353216;f[g+4>>2]=0;u=j;return}}else{f[l+(b<<2)>>2]=1;f[k+(b<<2)>>2]=0;if((b|0)>0){FVa(k|0,0,b<<2|0)|0;o=0;do{s=b-o|0;t=s+-1|0;v=X(f[c+(t<<2)>>2]|0,f[l+(s<<2)>>2]|0)|0;f[l+(t<<2)>>2]=v;o=o+1|0}while((o|0)!=(b|0))}if(!i)w=d;else w=(m|0)==(f[c+(b+-1<<2)>>2]|0)?d:g;a:do if(!(m&1)){o=f[l+4>>2]|0;v=X(o,m)|0;t=v>>1;s=0;while(1)if(1<>>0>>0)s=s+1|0;else break;x=v>>2;do if((m|0)>=3)if((m|0)<257){y=10-s|0;z=m+-4|0;if((m|0)<4)break;else A=0;do{B=X((h[168991+(A>>2)>>0]|0)>>>y,o)|0;f[w+(A<<2)>>2]=B;C=B+t|0;f[w+((A|1)<<2)>>2]=C;f[w+((A|2)<<2)>>2]=B+x;f[w+((A|3)<<2)>>2]=C+x;A=A+4|0}while((A|0)<=(z|0))}else{z=34-s|0;y=0;do{C=X(((h[168991+(y>>>10&255)>>0]|0)<<16|(h[168991+(y>>>2&255)>>0]|0)<<24|(h[168991+(y>>>18&255)>>0]|0)<<8|(h[168991+(y>>26)>>0]|0))>>>z,o)|0;f[w+(y<<2)>>2]=C;B=C+t|0;f[w+((y|1)<<2)>>2]=B;f[w+((y|2)<<2)>>2]=C+x;f[w+((y|3)<<2)>>2]=B+x;y=y+4|0}while((y|0)<(m|0))}else{f[w>>2]=0;f[w+4>>2]=t}while(0);t=k+4|0;f[t>>2]=(f[t>>2]|0)+1;if((b|0)>1?(x=f[l+8>>2]|0,(m|0)<(a|0)):0){o=c+4|0;if((m|0)>0){v=x;y=m;b:while(1){z=0;do{f[w+(z+y<<2)>>2]=(f[w+(z<<2)>>2]|0)+v;z=z+1|0}while((z|0)!=(m|0));z=y+m|0;if((z|0)>=(a|0)){D=s;break a}B=x+v|0;C=(f[t>>2]|0)+1|0;f[t>>2]=C;if((C|0)<(f[o>>2]|0)){v=B;y=z;continue}else{E=B;F=1;G=t}while(1){f[G>>2]=0;B=(f[l+(F+2<<2)>>2]|0)+E-(f[l+(F<<2)>>2]|0)|0;C=F+1|0;H=k+(C<<2)|0;I=(f[H>>2]|0)+1|0;f[H>>2]=I;if((I|0)<(f[c+(C<<2)>>2]|0)){v=B;y=z;continue b}else{E=B;F=C;G=H}}}}else{y=m<<1;if((y|0)>=(a|0)){D=s;break}v=f[o>>2]|0;x=y;do{y=(f[t>>2]|0)+1|0;f[t>>2]=y;if((y|0)>=(v|0)){y=1;z=t;do{f[z>>2]=0;y=y+1|0;z=k+(y<<2)|0;H=(f[z>>2]|0)+1|0;f[z>>2]=H}while((H|0)>=(f[c+(y<<2)>>2]|0))}x=x+m|0}while((x|0)<(a|0));D=s}}else D=s}else{f[w>>2]=0;if((a|0)>1){x=f[l+4>>2]|0;t=0;v=1;while(1){o=x+t|0;y=(f[k>>2]|0)+1|0;f[k>>2]=y;if((y|0)<(f[c>>2]|0))J=o;else{y=0;z=o;o=k;while(1){f[o>>2]=0;H=(f[l+(y+2<<2)>>2]|0)+z-(f[l+(y<<2)>>2]|0)|0;y=y+1|0;o=k+(y<<2)|0;C=(f[o>>2]|0)+1|0;f[o>>2]=C;if((C|0)<(f[c+(y<<2)>>2]|0)){J=H;break}else z=H}}f[w+(v<<2)>>2]=J;v=v+1|0;if((v|0)==(a|0)){D=0;break}else t=J}}else D=0}while(0);if((w|0)!=(d|0)?(f[d>>2]=0,t=a&1,(t|0)<(a|0)):0){v=t;do{t=v+1|0;x=f[w+(t<<2)>>2]|0;f[d+(f[w+(v<<2)>>2]<<2)>>2]=v;f[d+(x<<2)>>2]=t;v=v+2|0}while((v|0)<(a|0));q=D}else q=D}while(0);if(!(a+-1&a)){K=+p[10320+(q<<4)>>3];M=-+p[10320+(q<<4)+8>>3]}else{N=+O(+(-6.283185307179586/+(a|0)));K=+L(+(1.0-N*N));M=N}q=(a+1|0)/2|0;if((e|0)==16){p[g>>3]=1.0;p[g+8>>3]=0.0;if(!(a&1)){p[g+(q<<4)>>3]=-1.0;p[g+(q<<4)+8>>3]=0.0}if((a|0)>2){P=1;Q=K;R=M}else{u=j;return}while(1){p[g+(P<<4)>>3]=Q;p[g+(P<<4)+8>>3]=R;e=a-P|0;p[g+(e<<4)>>3]=Q;p[g+(e<<4)+8>>3]=-R;N=K*R+M*Q;P=P+1|0;if((P|0)>=(q|0))break;else{Q=K*Q-M*R;R=N}}u=j;return}else{n[g>>2]=1.0;n[g+4>>2]=0.0;if(!(a&1)){n[g+(q<<3)>>2]=-1.0;n[g+(q<<3)+4>>2]=0.0}if((a|0)>2){S=1;T=K;U=M}else{u=j;return}while(1){R=T;n[g+(S<<3)>>2]=R;Q=U;n[g+(S<<3)+4>>2]=Q;P=a-S|0;n[g+(P<<3)>>2]=R;n[g+(P<<3)+4>>2]=-Q;Q=K*U+M*T;S=S+1|0;if((S|0)>=(q|0))break;else{T=K*T-M*U;U=Q}}u=j;return}}function aR(a,b,c){a=a|0;b=b|0;c=c|0;kR(a,b,c);return}function bR(a,b,c){a=a|0;b=b|0;c=c|0;lR(a,b,c);return}function cR(a,b,c){a=a|0;b=b|0;c=c|0;jR(a,b,c);return}function dR(a,b,c){a=a|0;b=b|0;c=c|0;hR(a,b,c);return}function eR(a,b,c){a=a|0;b=b|0;c=c|0;iR(a,b,c);return}function fR(a,b,c){a=a|0;b=b|0;c=c|0;gR(a,b,c);return} +function _oa(a,c,d,e,g,h,i,j,k,l,m){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=+l;m=m|0;var o=0,p=0;o=u;u=u+16|0;p=o;f[a>>2]=61320;f[a+4>>2]=c;f[a+8>>2]=d;f[a+12>>2]=e;f[a+16>>2]=g;f[a+20>>2]=h;f[a+24>>2]=i;f[a+28>>2]=j;f[a+32>>2]=k;n[a+36>>2]=l;f[a+52>>2]=m;l=+(j|0);n[a+44>>2]=l*l;l=+(k|0);n[a+48>>2]=l*l;f[a+40>>2]=(f[e+4>>2]|0)-(f[e>>2]|0)>>2;if((d|0)>0){u=o;return}f[p>>2]=0;f[p+4>>2]=0;d=JV(p,8)|0;e=d;b[e>>0]=110;b[e+1>>0]=122;b[e+2>>0]=83;b[e+3>>0]=122;e=d+4|0;b[e>>0]=32;b[e+1>>0]=62;b[e+2>>0]=32;b[e+3>>0]=48;EP(-215,p,245634,244755,1329);KV(p);u=o;return}function $oa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0,g=0.0,h=0;c=f[a+12>>2]|0;d=f[b+12>>2]|0;if((c|0)<=(d|0))if((c|0)>=(d|0)){e=+n[a+8>>2];g=+n[b+8>>2];if(!(e>g))if(!(e>2];e=+n[b>>2];if(!(ge)?+n[a+4>>2]<+n[b+4>>2]:0)h=1;else h=0;else h=1}else h=0;else h=1}else h=0;else h=1;return h|0}function apa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;d=u;u=u+16|0;e=d;g=a;a=b;a:while(1){b=a;h=a+-16|0;i=a+-12|0;j=a+-8|0;k=a+-4|0;l=g;while(1){m=l;b:while(1){n=m;o=b-n|0;p=o>>4;switch(p|0){case 2:{q=5;break a;break}case 3:{q=7;break a;break}case 4:{q=8;break a;break}case 5:{q=12;break a;break}case 1:case 0:{q=56;break a;break}default:{}}if((o|0)<112){q=14;break a}r=m+(((p|0)/2|0)<<4)|0;if((o|0)>15984){o=(p|0)/4|0;s=dpa(m,m+(o<<4)|0,r,r+(o<<4)|0,h,c)|0}else s=cpa(m,r,h,c)|0;if(Zf[f[c>>2]&127](m,r)|0){t=h;v=s;break}else w=h;while(1){x=w+-16|0;if((m|0)==(x|0))break;if(Zf[f[c>>2]&127](x,r)|0){q=39;break b}else w=x}o=m+16|0;if(Zf[f[c>>2]&127](m,h)|0)y=o;else{if((o|0)==(h|0)){q=56;break a}else z=o;while(1){if(Zf[f[c>>2]&127](m,z)|0)break;o=z+16|0;if((o|0)==(h|0)){q=56;break a}else z=o}o=f[z>>2]|0;p=f[z+4>>2]|0;A=f[z+8>>2]|0;B=f[z+12>>2]|0;f[z>>2]=f[h>>2];f[z+4>>2]=f[h+4>>2];f[z+8>>2]=f[h+8>>2];f[z+12>>2]=f[h+12>>2];f[h>>2]=o;f[i>>2]=p;f[j>>2]=A;f[k>>2]=B;y=z+16|0}if((y|0)==(h|0)){q=56;break a}else{C=h;D=y}while(1){B=D;while(1){E=B+16|0;if(Zf[f[c>>2]&127](m,B)|0){F=C;break}else B=E}while(1){G=F+-16|0;if(Zf[f[c>>2]&127](m,G)|0)F=G;else break}if(B>>>0>=G>>>0){m=B;continue b}A=f[B>>2]|0;p=f[B+4>>2]|0;o=f[B+8>>2]|0;H=f[B+12>>2]|0;f[B>>2]=f[G>>2];f[B+4>>2]=f[G+4>>2];f[B+8>>2]=f[G+8>>2];f[B+12>>2]=f[G+12>>2];f[G>>2]=A;f[F+-12>>2]=p;f[F+-8>>2]=o;f[F+-4>>2]=H;C=G;D=E}}if((q|0)==39){q=0;H=f[m>>2]|0;o=f[m+4>>2]|0;p=f[m+8>>2]|0;A=f[m+12>>2]|0;f[m>>2]=f[x>>2];f[m+4>>2]=f[x+4>>2];f[m+8>>2]=f[x+8>>2];f[m+12>>2]=f[x+12>>2];f[x>>2]=H;f[w+-12>>2]=o;f[w+-8>>2]=p;f[w+-4>>2]=A;t=x;v=s+1|0}A=m+16|0;c:do if(A>>>0>>0){p=r;o=t;H=A;I=v;while(1){J=H;while(1){K=J+16|0;if(Zf[f[c>>2]&127](J,p)|0)J=K;else{L=o;break}}while(1){M=L+-16|0;if(Zf[f[c>>2]&127](M,p)|0)break;else L=M}if(J>>>0>M>>>0){N=p;O=I;P=J;break c}B=f[J>>2]|0;Q=f[J+4>>2]|0;R=f[J+8>>2]|0;S=f[J+12>>2]|0;f[J>>2]=f[M>>2];f[J+4>>2]=f[M+4>>2];f[J+8>>2]=f[M+8>>2];f[J+12>>2]=f[M+12>>2];f[M>>2]=B;f[L+-12>>2]=Q;f[L+-8>>2]=R;f[L+-4>>2]=S;p=(p|0)==(J|0)?M:p;o=M;H=K;I=I+1|0}}else{N=r;O=v;P=A}while(0);if((P|0)!=(N|0)?Zf[f[c>>2]&127](N,P)|0:0){A=f[P>>2]|0;I=f[P+4>>2]|0;H=f[P+8>>2]|0;o=f[P+12>>2]|0;f[P>>2]=f[N>>2];f[P+4>>2]=f[N+4>>2];f[P+8>>2]=f[N+8>>2];f[P+12>>2]=f[N+12>>2];f[N>>2]=A;f[N+4>>2]=I;f[N+8>>2]=H;f[N+12>>2]=o;T=O+1|0}else T=O;if(!T){U=epa(m,P,c)|0;o=P+16|0;if(epa(o,a,c)|0){q=55;break}if(U){l=o;continue}}o=P;if((o-n|0)>=(b-o|0)){q=54;break}apa(m,P,c);l=P+16|0}if((q|0)==54){q=0;apa(P+16|0,a,c);g=m;a=P;continue}else if((q|0)==55){q=0;if(U){q=56;break}else{g=m;a=P;continue}}}if((q|0)==5){if(!(Zf[f[c>>2]&127](h,m)|0)){u=d;return}P=f[m>>2]|0;g=f[m+4>>2]|0;U=f[m+8>>2]|0;n=f[m+12>>2]|0;f[m>>2]=f[h>>2];f[m+4>>2]=f[h+4>>2];f[m+8>>2]=f[h+8>>2];f[m+12>>2]=f[h+12>>2];f[h>>2]=P;f[i>>2]=g;f[j>>2]=U;f[k>>2]=n;u=d;return}else if((q|0)==7){cpa(m,m+16|0,h,c)|0;u=d;return}else if((q|0)==8){n=m+16|0;U=m+32|0;cpa(m,n,U,c)|0;if(!(Zf[f[c>>2]&127](h,U)|0)){u=d;return}g=f[U>>2]|0;P=m+36|0;T=f[P>>2]|0;O=m+40|0;N=f[O>>2]|0;v=m+44|0;r=f[v>>2]|0;f[U>>2]=f[h>>2];f[U+4>>2]=f[h+4>>2];f[U+8>>2]=f[h+8>>2];f[U+12>>2]=f[h+12>>2];f[h>>2]=g;f[i>>2]=T;f[j>>2]=N;f[k>>2]=r;if(!(Zf[f[c>>2]&127](U,n)|0)){u=d;return}r=f[n>>2]|0;k=m+20|0;N=f[k>>2]|0;j=m+24|0;T=f[j>>2]|0;i=m+28|0;g=f[i>>2]|0;f[n>>2]=f[U>>2];f[n+4>>2]=f[U+4>>2];f[n+8>>2]=f[U+8>>2];f[n+12>>2]=f[U+12>>2];f[U>>2]=r;f[P>>2]=N;f[O>>2]=T;f[v>>2]=g;if(!(Zf[f[c>>2]&127](n,m)|0)){u=d;return}g=f[m>>2]|0;v=f[m+4>>2]|0;T=f[m+8>>2]|0;O=f[m+12>>2]|0;f[m>>2]=f[n>>2];f[m+4>>2]=f[n+4>>2];f[m+8>>2]=f[n+8>>2];f[m+12>>2]=f[n+12>>2];f[n>>2]=g;f[k>>2]=v;f[j>>2]=T;f[i>>2]=O;u=d;return}else if((q|0)==12){dpa(m,m+16|0,m+32|0,m+48|0,h,c)|0;u=d;return}else if((q|0)==14){h=m+32|0;cpa(m,m+16|0,h,c)|0;O=m+48|0;if((O|0)==(a|0)){u=d;return}i=e+4|0;T=e+8|0;j=e+12|0;v=O;O=h;while(1){if(Zf[f[c>>2]&127](v,O)|0){f[e>>2]=f[v>>2];f[i>>2]=f[v+4>>2];f[T>>2]=f[v+8>>2];f[j>>2]=f[v+12>>2];h=O;k=v;while(1){f[k>>2]=f[h>>2];f[k+4>>2]=f[h+4>>2];f[k+8>>2]=f[h+8>>2];f[k+12>>2]=f[h+12>>2];if((h|0)==(m|0))break;g=h+-16|0;if(Zf[f[c>>2]&127](e,g)|0){n=h;h=g;k=n}else break}f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2]}k=v+16|0;if((k|0)==(a|0))break;else{n=v;v=k;O=n}}u=d;return}else if((q|0)==56){u=d;return}}function bpa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(((d-g|0)/12|0)>>>0>=b>>>0){h=b;i=g;do{f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;i=(f[e>>2]|0)+12|0;f[e>>2]=i;h=h+-1|0}while((h|0)!=0);return}h=f[a>>2]|0;i=(g-h|0)/12|0;g=i+b|0;if(g>>>0>357913941)ZOa(a);j=(d-h|0)/12|0;h=j<<1;d=j>>>0<178956970?(h>>>0>>0?g:h):357913941;do if(d)if(d>>>0>357913941){h=hd(8)|0;LQa(h,349912);f[h>>2]=118288;ld(h|0,20688,857)}else{k=EQa(d*12|0)|0;break}else k=0;while(0);h=k+(i*12|0)|0;i=h;g=k+(d*12|0)|0;d=b;b=h;k=i;do{f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;b=k+12|0;k=b;d=d+-1|0}while((d|0)!=0);d=g;g=f[a>>2]|0;b=f[e>>2]|0;if((b|0)==(g|0)){l=i;m=g}else{i=b;b=h;do{h=b;b=b+-12|0;j=i;i=i+-12|0;f[b>>2]=f[i>>2];f[h+-8>>2]=f[j+-8>>2];f[h+-4>>2]=f[j+-4>>2]}while((i|0)!=(g|0));l=b;m=f[a>>2]|0}f[a>>2]=l;f[e>>2]=k;f[c>>2]=d;if(!m)return;GQa(m);return}function cpa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=Zf[f[d>>2]&127](b,a)|0;g=Zf[f[d>>2]&127](c,b)|0;if(!e){if(!g){h=0;return h|0}e=f[b>>2]|0;i=b+4|0;j=f[i>>2]|0;k=b+8|0;l=f[k>>2]|0;m=b+12|0;n=f[m>>2]|0;f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];f[b+12>>2]=f[c+12>>2];f[c>>2]=e;f[c+4>>2]=j;f[c+8>>2]=l;f[c+12>>2]=n;if(!(Zf[f[d>>2]&127](b,a)|0)){h=1;return h|0}n=f[a>>2]|0;l=f[a+4>>2]|0;j=f[a+8>>2]|0;e=f[a+12>>2]|0;f[a>>2]=f[b>>2];f[a+4>>2]=f[b+4>>2];f[a+8>>2]=f[b+8>>2];f[a+12>>2]=f[b+12>>2];f[b>>2]=n;f[i>>2]=l;f[k>>2]=j;f[m>>2]=e;h=2;return h|0}e=f[a>>2]|0;m=f[a+4>>2]|0;j=f[a+8>>2]|0;k=f[a+12>>2]|0;if(g){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[c>>2]=e;f[c+4>>2]=m;f[c+8>>2]=j;f[c+12>>2]=k;h=1;return h|0};f[a>>2]=f[b>>2];f[a+4>>2]=f[b+4>>2];f[a+8>>2]=f[b+8>>2];f[a+12>>2]=f[b+12>>2];f[b>>2]=e;e=b+4|0;f[e>>2]=m;m=b+8|0;f[m>>2]=j;j=b+12|0;f[j>>2]=k;if(!(Zf[f[d>>2]&127](c,b)|0)){h=1;return h|0}d=f[b>>2]|0;k=f[e>>2]|0;e=f[m>>2]|0;m=f[j>>2]|0;f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];f[b+12>>2]=f[c+12>>2];f[c>>2]=d;f[c+4>>2]=k;f[c+8>>2]=e;f[c+12>>2]=m;h=2;return h|0}function dpa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;h=cpa(a,b,c,g)|0;if(Zf[f[g>>2]&127](d,c)|0){i=f[c>>2]|0;j=c+4|0;k=f[j>>2]|0;l=c+8|0;m=f[l>>2]|0;n=c+12|0;o=f[n>>2]|0;f[c>>2]=f[d>>2];f[c+4>>2]=f[d+4>>2];f[c+8>>2]=f[d+8>>2];f[c+12>>2]=f[d+12>>2];f[d>>2]=i;f[d+4>>2]=k;f[d+8>>2]=m;f[d+12>>2]=o;o=h+1|0;if(Zf[f[g>>2]&127](c,b)|0){m=f[b>>2]|0;k=b+4|0;i=f[k>>2]|0;p=b+8|0;q=f[p>>2]|0;r=b+12|0;s=f[r>>2]|0;f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];f[b+12>>2]=f[c+12>>2];f[c>>2]=m;f[j>>2]=i;f[l>>2]=q;f[n>>2]=s;if(Zf[f[g>>2]&127](b,a)|0){s=f[a>>2]|0;n=f[a+4>>2]|0;q=f[a+8>>2]|0;l=f[a+12>>2]|0;f[a>>2]=f[b>>2];f[a+4>>2]=f[b+4>>2];f[a+8>>2]=f[b+8>>2];f[a+12>>2]=f[b+12>>2];f[b>>2]=s;f[k>>2]=n;f[p>>2]=q;f[r>>2]=l;t=h+3|0}else t=h+2|0}else t=o}else t=h;if(!(Zf[f[g>>2]&127](e,d)|0)){u=t;return u|0}h=f[d>>2]|0;o=d+4|0;l=f[o>>2]|0;r=d+8|0;q=f[r>>2]|0;p=d+12|0;n=f[p>>2]|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[e>>2]=h;f[e+4>>2]=l;f[e+8>>2]=q;f[e+12>>2]=n;if(!(Zf[f[g>>2]&127](d,c)|0)){u=t+1|0;return u|0}n=f[c>>2]|0;e=c+4|0;q=f[e>>2]|0;l=c+8|0;h=f[l>>2]|0;k=c+12|0;s=f[k>>2]|0;f[c>>2]=f[d>>2];f[c+4>>2]=f[d+4>>2];f[c+8>>2]=f[d+8>>2];f[c+12>>2]=f[d+12>>2];f[d>>2]=n;f[o>>2]=q;f[r>>2]=h;f[p>>2]=s;if(!(Zf[f[g>>2]&127](c,b)|0)){u=t+2|0;return u|0}s=f[b>>2]|0;p=b+4|0;h=f[p>>2]|0;r=b+8|0;q=f[r>>2]|0;o=b+12|0;n=f[o>>2]|0;f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];f[b+12>>2]=f[c+12>>2];f[c>>2]=s;f[e>>2]=h;f[l>>2]=q;f[k>>2]=n;if(!(Zf[f[g>>2]&127](b,a)|0)){u=t+3|0;return u|0}g=f[a>>2]|0;n=f[a+4>>2]|0;k=f[a+8>>2]|0;q=f[a+12>>2]|0;f[a>>2]=f[b>>2];f[a+4>>2]=f[b+4>>2];f[a+8>>2]=f[b+8>>2];f[a+12>>2]=f[b+12>>2];f[b>>2]=g;f[p>>2]=n;f[r>>2]=k;f[o>>2]=q;u=t+4|0;return u|0}function epa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;d=u;u=u+16|0;e=d;switch(b-a>>4|0){case 2:{g=b+-16|0;if(!(Zf[f[c>>2]&127](g,a)|0)){h=1;u=d;return h|0}i=f[a>>2]|0;j=f[a+4>>2]|0;k=f[a+8>>2]|0;l=f[a+12>>2]|0;f[a>>2]=f[g>>2];f[a+4>>2]=f[g+4>>2];f[a+8>>2]=f[g+8>>2];f[a+12>>2]=f[g+12>>2];f[g>>2]=i;f[b+-12>>2]=j;f[b+-8>>2]=k;f[b+-4>>2]=l;h=1;u=d;return h|0}case 3:{cpa(a,a+16|0,b+-16|0,c)|0;h=1;u=d;return h|0}case 4:{l=a+16|0;k=a+32|0;j=b+-16|0;cpa(a,l,k,c)|0;if(!(Zf[f[c>>2]&127](j,k)|0)){h=1;u=d;return h|0}i=f[k>>2]|0;g=a+36|0;m=f[g>>2]|0;n=a+40|0;o=f[n>>2]|0;p=a+44|0;q=f[p>>2]|0;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[k+8>>2]=f[j+8>>2];f[k+12>>2]=f[j+12>>2];f[j>>2]=i;f[b+-12>>2]=m;f[b+-8>>2]=o;f[b+-4>>2]=q;if(!(Zf[f[c>>2]&127](k,l)|0)){h=1;u=d;return h|0}q=f[l>>2]|0;o=a+20|0;m=f[o>>2]|0;i=a+24|0;j=f[i>>2]|0;r=a+28|0;s=f[r>>2]|0;f[l>>2]=f[k>>2];f[l+4>>2]=f[k+4>>2];f[l+8>>2]=f[k+8>>2];f[l+12>>2]=f[k+12>>2];f[k>>2]=q;f[g>>2]=m;f[n>>2]=j;f[p>>2]=s;if(!(Zf[f[c>>2]&127](l,a)|0)){h=1;u=d;return h|0}s=f[a>>2]|0;p=f[a+4>>2]|0;j=f[a+8>>2]|0;n=f[a+12>>2]|0;f[a>>2]=f[l>>2];f[a+4>>2]=f[l+4>>2];f[a+8>>2]=f[l+8>>2];f[a+12>>2]=f[l+12>>2];f[l>>2]=s;f[o>>2]=p;f[i>>2]=j;f[r>>2]=n;h=1;u=d;return h|0}case 5:{dpa(a,a+16|0,a+32|0,a+48|0,b+-16|0,c)|0;h=1;u=d;return h|0}case 1:case 0:{h=1;u=d;return h|0}default:{n=a+32|0;cpa(a,a+16|0,n,c)|0;r=a+48|0;a:do if((r|0)==(b|0)){t=1;v=0}else{j=e+4|0;i=e+8|0;p=e+12|0;o=r;s=0;l=n;while(1){if(Zf[f[c>>2]&127](o,l)|0){f[e>>2]=f[o>>2];f[j>>2]=f[o+4>>2];f[i>>2]=f[o+8>>2];f[p>>2]=f[o+12>>2];m=l;g=o;while(1){f[g>>2]=f[m>>2];f[g+4>>2]=f[m+4>>2];f[g+8>>2]=f[m+8>>2];f[g+12>>2]=f[m+12>>2];if((m|0)==(a|0))break;q=m+-16|0;if(Zf[f[c>>2]&127](e,q)|0){k=m;m=q;g=k}else break}f[m>>2]=f[e>>2];f[m+4>>2]=f[e+4>>2];f[m+8>>2]=f[e+8>>2];f[m+12>>2]=f[e+12>>2];g=s+1|0;if((g|0)==8){t=0;v=(o+16|0)==(b|0);break a}else w=g}else w=s;g=o+16|0;if((g|0)==(b|0)){t=1;v=0;break}else{k=o;o=g;s=w;l=k}}}while(0);h=v|t;u=d;return h|0}}return 0}function fpa(a){a=a|0;f[a>>2]=61320;qQ(f[a+52>>2]|0);return}function gpa(a){a=a|0;f[a>>2]=61320;qQ(f[a+52>>2]|0);GQa(a);return}function hpa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0.0,Da=0,Ea=0,Fa=0,Ga=0.0,Ha=0.0,Ia=0.0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0.0,Pa=0,Qa=0,Ra=0.0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0.0,$a=0,ab=0.0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0.0,hb=0;d=u;u=u+3376|0;e=d+3312|0;g=d+3256|0;h=d+3240|0;i=d+3224|0;j=d+2160|0;k=d+1096|0;l=d+32|0;m=d;o=d+24|0;p=d+20|0;q=d+16|0;f[i>>2]=0;r=i+4|0;f[r>>2]=0;f[i+8>>2]=0;s=a+32|0;t=f[s>>2]|0;v=a+28|0;w=a+36|0;x=+n[w>>2];y=HEa(+(t-(f[v>>2]|0)|0)/x*10.0)|0;z=j+8|0;f[j>>2]=z;A=j+4|0;f[A>>2]=y;if(y>>>0>264){B=FQa(y>>>0>1073741823?-1:y<<2)|0;f[j>>2]=B}B=f[a+8>>2]|0;C=k+8|0;f[k>>2]=C;D=k+4|0;E=B>>>0>264;f[D>>2]=B;if(E){F=FQa(B>>>0>1073741823?-1:B<<2)|0;f[k>>2]=F;G=F}else G=C;F=l+8|0;f[l>>2]=F;H=l+4|0;f[H>>2]=B;if(E){E=FQa(B>>>0>1073741823?-1:B<<2)|0;f[l>>2]=E;I=E}else I=F;E=f[c>>2]|0;B=c+4|0;c=f[B>>2]|0;J=(E|0)==0?(c|0)==(f[a+40>>2]|0):0;do if((E|0)<(c|0)){K=a+12|0;L=a+20|0;M=a+4|0;N=a+44|0;O=a+48|0;P=e+4|0;Q=e+8|0;R=e+12|0;S=e+16|0;T=e+20|0;U=e+24|0;V=e+28|0;W=e+40|0;Y=e+48|0;Z=e+44|0;_=g+4|0;$=g+8|0;aa=g+12|0;ba=g+16|0;ca=g+20|0;da=g+24|0;ea=g+28|0;fa=g+40|0;ga=g+48|0;ha=g+44|0;ia=h+8|0;ja=h+12|0;ka=h+4|0;la=m+8|0;ma=m+4|0;na=y+-1|0;oa=(y|0)>1;pa=g+36|0;qa=e+36|0;ra=a+24|0;sa=e+4|0;ta=e+8|0;ua=e+12|0;va=i+8|0;wa=U+8|0;xa=e+52|0;ya=da+8|0;za=g+52|0;Aa=E;Ba=t;Ca=x;while(1){Da=f[(f[f[K>>2]>>2]|0)+(Aa<<2)>>2]|0;Ea=f[L>>2]|0;Fa=(Da|0)/(Ea|0)|0;Ga=Ca*(+(Da-(X(Fa,Ea)|0)|0)+.5);Ha=Ca*(+(Fa|0)+.5);Fa=f[M>>2]|0;Ia=+(Ba+1|0);Ea=~~(Ga-Ia);Da=(Ea|0)>0?Ea:0;Ea=~~(Ga+Ia);Ja=f[Fa+12>>2]|0;Ka=(Ja|0)<(Ea|0)?Ja:Ea;Ea=~~(Ha-Ia);Ja=(Ea|0)>0?Ea:0;Ea=~~(Ha+Ia);La=f[Fa+8>>2]|0;Ma=(La|0)<(Ea|0)?La:Ea;if((Ja|0)<(Ma|0)&(Da|0)<(Ka|0)){Ea=f[Fa+16>>2]|0;La=f[f[Fa+44>>2]>>2]|0;Fa=Ja;Ja=0;while(1){Na=Ea+(X(Fa,La)|0)|0;Ia=Ha-+(Fa|0);Oa=Ia*Ia;Pa=Da;Qa=Ja;while(1){if(((b[Na+Pa>>0]|0)!=0?(Ia=Ga-+(Pa|0),Ra=Oa+Ia*Ia,+n[N>>2]<=Ra):0)?Ra<=+n[O>>2]:0){n[G+(Qa<<2)>>2]=Ra;Sa=Qa+1|0}else Sa=Qa;Pa=Pa+1|0;if((Pa|0)>=(Ka|0))break;else Qa=Sa}Fa=Fa+1|0;if((Fa|0)>=(Ma|0))break;else Ja=Sa}if(Sa){f[P>>2]=2;f[Q>>2]=1;f[R>>2]=Sa;f[S>>2]=G;f[T>>2]=G;Ja=wa;f[Ja>>2]=0;f[Ja+4>>2]=0;f[W>>2]=Q;f[Z>>2]=Y;Ja=Sa<<2;f[e>>2]=1124024325;f[Y>>2]=Ja;f[xa>>2]=4;Ma=G+(X(f[Q>>2]|0,Ja)|0)|0;f[V>>2]=Ma;Fa=0-Ja|0;f[U>>2]=Ma+Fa+Ja;f[_>>2]=2;f[$>>2]=1;f[aa>>2]=Sa;f[ba>>2]=I;f[ca>>2]=I;Ma=ya;f[Ma>>2]=0;f[Ma+4>>2]=0;f[fa>>2]=$;f[ha>>2]=ga;f[g>>2]=1124024325;f[ga>>2]=Ja;f[za>>2]=4;Ma=I+(X(f[$>>2]|0,Ja)|0)|0;f[ea>>2]=Ma;f[da>>2]=Ma+Fa+Ja;f[ia>>2]=0;f[ja>>2]=0;f[h>>2]=-2130640891;f[ka>>2]=e;Ja=la;f[Ja>>2]=0;f[Ja+4>>2]=0;f[m>>2]=-2113863675;f[ma>>2]=g;NQ(h,m);FVa(f[j>>2]|0,0,f[A>>2]<<2|0)|0;if((Sa|0)>0){Oa=+n[w>>2];Ja=f[j>>2]|0;Fa=0;do{Ma=HEa((+n[I+(Fa<<2)>>2]-+(f[v>>2]|0))/Oa*10.0)|0;Ka=(Ma|0)<(na|0)?Ma:na;Ma=Ja+(((Ka|0)>0?Ka:0)<<2)|0;f[Ma>>2]=(f[Ma>>2]|0)+1;Fa=Fa+1|0}while((Fa|0)!=(Sa|0))}a:do if(oa){Fa=f[j>>2]|0;Ja=y;Ma=0;Oa=0.0;while(1){Ka=Ja+-1|0;Ra=+(Ma|0);b:do if(!(Oa<1.1920928955078125e-07)){Da=Ja;La=Ka;while(1){Ea=f[Fa+(La<<2)>>2]|0;if(Ea){do if((La|0)>-1){Qa=Da+-10|0;Pa=La+-1|0;if((La|0)>(Qa|0)&(La|0)!=0){Ta=Pa;Ua=Ea}else{Va=Ea;Wa=Pa;break}while(1){Pa=(f[Fa+(Ta<<2)>>2]|0)+Ua|0;Na=Ta+-1|0;if((Ta|0)>(Qa|0)&(Ta|0)>0){Ta=Na;Ua=Pa}else{Va=Pa;Wa=Na;break}}}else{Va=0;Wa=La}while(0);Ia=+(Wa+La|0)*.5/10.0*+n[w>>2]+ +(f[v>>2]|0);if(!(Oa*+(Va|0)>=Ia*Ra))Xa=Wa;else{Ya=Va;Za=Wa;_a=Ia;break b}}else Xa=La;if((Xa|0)>1){Da=Xa;La=Xa+-1|0}else{$a=Ma;ab=Oa;break a}}}else{La=Ja;Da=Ka;while(1){Ea=f[Fa+(Da<<2)>>2]|0;if(Ea){do if((Da|0)>-1){Qa=La+-10|0;Na=Da+-1|0;if((Da|0)>(Qa|0)&(Da|0)!=0){bb=Na;cb=Ea}else{db=Ea;eb=Na;break}while(1){Na=(f[Fa+(bb<<2)>>2]|0)+cb|0;Pa=bb+-1|0;if((bb|0)>(Qa|0)&(bb|0)>0){bb=Pa;cb=Na}else{db=Na;eb=Pa;break}}}else{db=0;eb=Da}while(0);Ia=+(eb+Da|0)*.5/10.0*+n[w>>2]+ +(f[v>>2]|0);if((db|0)<(Ma|0)?!(Oa*+(db|0)>=Ia*Ra):0)fb=eb;else{Ya=db;Za=eb;_a=Ia;break b}}else fb=Da;if((fb|0)>1){La=fb;Da=fb+-1|0}else{$a=Ma;ab=Oa;break a}}}while(0);if((Za|0)>1){Ja=Za;Ma=Ya;Oa=_a}else{$a=Ya;ab=_a;break}}}else{$a=0;ab=0.0}while(0);Ma=f[pa>>2]|0;if(Ma|0?(Ja=Ma+12|0,Ma=f[Ja>>2]|0,f[Ja>>2]=Ma+-1,(Ma|0)==1):0)XO(g);f[pa>>2]=0;f[ba>>2]=0;f[ba+4>>2]=0;f[ba+8>>2]=0;f[ba+12>>2]=0;if((f[_>>2]|0)>0){Ma=f[fa>>2]|0;Ja=0;do{f[Ma+(Ja<<2)>>2]=0;Ja=Ja+1|0}while((Ja|0)<(f[_>>2]|0))}Ja=f[ha>>2]|0;if((Ja|0)!=(ga|0))dX(Ja);Ja=f[qa>>2]|0;if(Ja|0?(Ma=Ja+12|0,Ja=f[Ma>>2]|0,f[Ma>>2]=Ja+-1,(Ja|0)==1):0)XO(e);f[qa>>2]=0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;f[S+12>>2]=0;if((f[P>>2]|0)>0){Ja=f[W>>2]|0;Ma=0;do{f[Ja+(Ma<<2)>>2]=0;Ma=Ma+1|0}while((Ma|0)<(f[P>>2]|0))}Ma=f[Z>>2]|0;if((Ma|0)!=(Y|0))dX(Ma);gb=ab;hb=$a}else{gb=0.0;hb=0}}else{gb=0.0;hb=0}if((hb|0)>(f[ra>>2]|0)){n[e>>2]=Ga;n[sa>>2]=Ha;n[ta>>2]=gb;f[ua>>2]=hb;Ma=f[r>>2]|0;if((Ma|0)==(f[va>>2]|0))ipa(i,e);else{n[Ma>>2]=Ga;f[Ma+4>>2]=f[sa>>2];f[Ma+8>>2]=f[ta>>2];f[Ma+12>>2]=hb;f[r>>2]=Ma+16}}Ma=Aa+1|0;if((Ma|0)>=(f[B>>2]|0))break;Aa=Ma;Ba=f[s>>2]|0;Ca=+n[w>>2]}Ba=f[i>>2]|0;Aa=f[r>>2]|0;if((Ba|0)!=(Aa|0)){f[e>>2]=124;apa(Ba,Aa,e);if(J){Aa=f[a+16>>2]|0;Ba=f[Aa>>2]|0;f[Aa>>2]=f[i>>2];f[i>>2]=Ba;Ba=Aa+4|0;ta=f[Ba>>2]|0;f[Ba>>2]=f[r>>2];f[r>>2]=ta;ta=Aa+8|0;Aa=i+8|0;Ba=f[ta>>2]|0;f[ta>>2]=f[Aa>>2];f[Aa>>2]=Ba;break}Ba=f[a+52>>2]|0;pQ(Ba);Aa=f[a+16>>2]|0;ta=f[Aa>>2]|0;sa=Aa+4|0;va=f[sa>>2]|0;ua=va;if((ta|0)==(va|0)){f[Aa>>2]=f[i>>2];f[i>>2]=ta;f[sa>>2]=f[r>>2];f[r>>2]=ua;sa=Aa+8|0;ta=i+8|0;va=f[sa>>2]|0;f[sa>>2]=f[ta>>2];f[ta>>2]=va}else{f[o>>2]=ua;f[p>>2]=f[i>>2];f[q>>2]=f[r>>2];f[h>>2]=f[o>>2];f[g>>2]=f[p>>2];f[e>>2]=f[q>>2];jpa(Aa,h,g,e)|0}qQ(Ba)}}while(0);e=f[l>>2]|0;if((e|0)!=(F|0)){if(e|0)HQa(e);f[l>>2]=F;f[H>>2]=264}H=f[k>>2]|0;if((H|0)!=(C|0)){if(H|0)HQa(H);f[k>>2]=C;f[D>>2]=264}D=f[j>>2]|0;if((D|0)!=(z|0)){if(D|0)HQa(D);f[j>>2]=z;f[A>>2]=264}A=f[i>>2]|0;if(!A){u=d;return}i=f[r>>2]|0;if((i|0)!=(A|0))f[r>>2]=i+(~((i+-16-A|0)>>>4)<<4);GQa(A);u=d;return}function ipa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e>>4;h=g+1|0;i=e;j=d;if(h>>>0>268435455)ZOa(a);d=a+8|0;k=(f[d>>2]|0)-e|0;l=k>>3;m=k>>4>>>0<134217727?(l>>>0>>0?h:l):268435455;do if(m)if(m>>>0>268435455){l=hd(8)|0;LQa(l,349912);f[l>>2]=118288;ld(l|0,20688,857)}else{n=EQa(m<<4)|0;break}else n=0;while(0);l=n+(g<<4)|0;h=n+(m<<4)|0;f[l>>2]=f[b>>2];f[n+(g<<4)+4>>2]=f[b+4>>2];f[n+(g<<4)+8>>2]=f[b+8>>2];f[n+(g<<4)+12>>2]=f[b+12>>2];b=l+16|0;if((j|0)==(i|0))o=l;else{g=j+-16-e|0;n=j;j=l;do{m=j;j=j+-16|0;k=n;n=n+-16|0;f[j>>2]=f[n>>2];f[m+-12>>2]=f[k+-12>>2];f[m+-8>>2]=f[k+-8>>2];f[m+-4>>2]=f[k+-4>>2]}while((n|0)!=(i|0));o=l+(~(g>>>4)<<4)|0}f[a>>2]=o;f[c>>2]=b;f[d>>2]=h;if(!e)return;GQa(e);return}function jpa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;e=f[a>>2]|0;g=e;h=(f[b>>2]|0)-g|0;b=h>>4;i=e+(b<<4)|0;j=f[c>>2]|0;k=f[d>>2]|0;d=k-j|0;l=d>>4;m=k;if((d|0)<=0){n=i;return n|0}d=a+8|0;o=f[d>>2]|0;p=a+4|0;q=f[p>>2]|0;r=q;if((l|0)<=(o-r>>4|0)){s=i;t=r-s|0;u=t>>4;if((l|0)>(u|0)){v=j+(u<<4)|0;u=v;if((v|0)==(m|0))w=q;else{x=m+-16-u|0;y=v;v=q;while(1){f[v>>2]=f[y>>2];f[v+4>>2]=f[y+4>>2];f[v+8>>2]=f[y+8>>2];f[v+12>>2]=f[y+12>>2];y=y+16|0;if((y|0)==(m|0))break;else v=v+16|0}v=q+((x>>>4)+1<<4)|0;f[p>>2]=v;w=v}if((t|0)>0){z=u;A=w}else{n=i;return n|0}}else{z=k;A=q}k=A-(i+(l<<4))|0;w=k>>4;u=i+(w<<4)|0;if(u>>>0>>0){t=(q+(0-w<<4)+~s|0)>>>4;s=u;u=A;while(1){f[u>>2]=f[s>>2];f[u+4>>2]=f[s+4>>2];f[u+8>>2]=f[s+8>>2];f[u+12>>2]=f[s+12>>2];s=s+16|0;if(s>>>0>=q>>>0)break;else u=u+16|0}f[p>>2]=A+(t+1<<4)}if(!w)B=j;else{EVa(A+(0-w<<4)|0,i|0,k|0)|0;B=f[c>>2]|0}c=z-B|0;if(!c){n=i;return n|0}EVa(i|0,B|0,c|0)|0;n=i;return n|0}c=(r-g>>4)+l|0;if(c>>>0>268435455)ZOa(a);l=o-g|0;o=l>>3;r=l>>4>>>0<134217727?(o>>>0>>0?c:o):268435455;o=i;c=h>>4;do if(r)if(r>>>0>268435455){h=hd(8)|0;LQa(h,349912);f[h>>2]=118288;ld(h|0,20688,857)}else{C=EQa(r<<4)|0;break}else C=0;while(0);h=C+(c<<4)|0;c=C+(r<<4)|0;r=j;if((m|0)==(r|0))D=h;else{C=((m+-16-j|0)>>>4)+1|0;j=r;r=h;while(1){f[r>>2]=f[j>>2];f[r+4>>2]=f[j+4>>2];f[r+8>>2]=f[j+8>>2];f[r+12>>2]=f[j+12>>2];j=j+16|0;if((j|0)==(m|0))break;else r=r+16|0}D=h+(C<<4)|0}if(!b)E=h;else{b=i+-16-g|0;g=i;C=h;do{r=C;C=C+-16|0;m=g;g=g+-16|0;f[C>>2]=f[g>>2];f[r+-12>>2]=f[m+-12>>2];f[r+-8>>2]=f[m+-8>>2];f[r+-4>>2]=f[m+-4>>2]}while((g|0)!=(e|0));E=h+(~(b>>>4)<<4)|0}b=E;if((q|0)==(i|0))F=D;else{E=q+-16-o|0;o=i;i=D;while(1){f[i>>2]=f[o>>2];f[i+4>>2]=f[o+4>>2];f[i+8>>2]=f[o+8>>2];f[i+12>>2]=f[o+12>>2];o=o+16|0;if((o|0)==(q|0))break;else i=i+16|0}F=D+((E>>>4)+1<<4)|0}f[a>>2]=b;f[p>>2]=F;f[d>>2]=c;if(!e){n=h;return n|0}GQa(e);n=h;return n|0}function kpa(a){a=a|0;f[a>>2]=61300;qQ(f[a+52>>2]|0);return}function lpa(a){a=a|0;f[a>>2]=61300;qQ(f[a+52>>2]|0);GQa(a);return}function mpa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0.0,Ca=0,Da=0,Ea=0,Fa=0.0,Ga=0.0,Ha=0.0,Ia=0.0,Ja=0.0,Ka=0.0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0.0,$a=0,ab=0.0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0.0,hb=0;c=u;u=u+3376|0;d=c+3312|0;e=c+3256|0;g=c+3240|0;h=c+3224|0;i=c+2160|0;j=c+1096|0;k=c+32|0;l=c;m=c+24|0;o=c+20|0;p=c+16|0;f[h>>2]=0;q=h+4|0;f[q>>2]=0;f[h+8>>2]=0;r=a+28|0;s=a+36|0;t=+n[s>>2];v=HEa(+((f[a+32>>2]|0)-(f[r>>2]|0)|0)/t*10.0)|0;w=i+8|0;f[i>>2]=w;x=i+4|0;f[x>>2]=v;if(v>>>0>264){y=FQa(v>>>0>1073741823?-1:v<<2)|0;f[i>>2]=y}y=a+8|0;z=f[y>>2]|0;A=j+8|0;f[j>>2]=A;B=j+4|0;C=z>>>0>264;f[B>>2]=z;if(C){D=FQa(z>>>0>1073741823?-1:z<<2)|0;f[j>>2]=D;E=D}else E=A;D=k+8|0;f[k>>2]=D;F=k+4|0;f[F>>2]=z;if(C){C=FQa(z>>>0>1073741823?-1:z<<2)|0;f[k>>2]=C;G=C}else G=D;C=f[b>>2]|0;H=b+4|0;b=f[H>>2]|0;I=(C|0)==0?(b|0)==(f[a+40>>2]|0):0;do if((C|0)<(b|0)){J=a+12|0;K=a+20|0;L=a+4|0;M=a+44|0;N=a+48|0;O=d+4|0;P=d+8|0;Q=d+12|0;R=d+16|0;S=d+20|0;T=d+24|0;U=d+28|0;V=d+40|0;W=d+48|0;Y=d+44|0;Z=e+4|0;_=e+8|0;$=e+12|0;aa=e+16|0;ba=e+20|0;ca=e+24|0;da=e+28|0;ea=e+40|0;fa=e+48|0;ga=e+44|0;ha=g+8|0;ia=g+12|0;ja=g+4|0;ka=l+8|0;la=l+4|0;ma=v+-1|0;na=(v|0)>1;oa=e+36|0;pa=d+36|0;qa=a+24|0;ra=d+4|0;sa=d+8|0;ta=d+12|0;ua=h+8|0;va=T+8|0;wa=d+52|0;xa=ca+8|0;ya=e+52|0;za=C;Aa=z;Ba=t;while(1){Ca=f[(f[f[J>>2]>>2]|0)+(za<<2)>>2]|0;Da=f[K>>2]|0;Ea=(Ca|0)/(Da|0)|0;Fa=Ba*(+(Ca-(X(Ea,Da)|0)|0)+.5);Ga=Ba*(+(Ea|0)+.5);Ea=f[f[L>>2]>>2]|0;if((Aa|0)>0){Ha=+n[M>>2];Da=0;Ca=0;while(1){Ia=Fa-+(f[Ea+(Da<<3)>>2]|0);Ja=Ga-+(f[Ea+(Da<<3)+4>>2]|0);Ka=Ia*Ia+Ja*Ja;if(Ha<=Ka?Ka<=+n[N>>2]:0){n[E+(Ca<<2)>>2]=Ka;La=Ca+1|0}else La=Ca;Da=Da+1|0;if((Da|0)==(Aa|0))break;else Ca=La}if(La){f[O>>2]=2;f[P>>2]=1;f[Q>>2]=La;f[R>>2]=E;f[S>>2]=E;Ca=va;f[Ca>>2]=0;f[Ca+4>>2]=0;f[V>>2]=P;f[Y>>2]=W;Ca=La<<2;f[d>>2]=1124024325;f[W>>2]=Ca;f[wa>>2]=4;Da=E+(X(f[P>>2]|0,Ca)|0)|0;f[U>>2]=Da;Ea=0-Ca|0;f[T>>2]=Da+Ea+Ca;f[Z>>2]=2;f[_>>2]=1;f[$>>2]=La;f[aa>>2]=G;f[ba>>2]=G;Da=xa;f[Da>>2]=0;f[Da+4>>2]=0;f[ea>>2]=_;f[ga>>2]=fa;f[e>>2]=1124024325;f[fa>>2]=Ca;f[ya>>2]=4;Da=G+(X(f[_>>2]|0,Ca)|0)|0;f[da>>2]=Da;f[ca>>2]=Da+Ea+Ca;f[ha>>2]=0;f[ia>>2]=0;f[g>>2]=-2130640891;f[ja>>2]=d;Ca=ka;f[Ca>>2]=0;f[Ca+4>>2]=0;f[l>>2]=-2113863675;f[la>>2]=e;NQ(g,l);FVa(f[i>>2]|0,0,f[x>>2]<<2|0)|0;if((La|0)>0){Ha=+n[s>>2];Ca=f[i>>2]|0;Ea=0;do{Da=HEa((+n[G+(Ea<<2)>>2]-+(f[r>>2]|0))/Ha*10.0)|0;Ma=(Da|0)<(ma|0)?Da:ma;Da=Ca+(((Ma|0)>0?Ma:0)<<2)|0;f[Da>>2]=(f[Da>>2]|0)+1;Ea=Ea+1|0}while((Ea|0)!=(La|0))}a:do if(na){Ea=f[i>>2]|0;Ca=v;Da=0;Ha=0.0;while(1){Ma=Ca+-1|0;Ka=+(Da|0);b:do if(!(Ha<1.1920928955078125e-07)){Na=Ca;Oa=Ma;while(1){Pa=f[Ea+(Oa<<2)>>2]|0;if(Pa){do if((Oa|0)>-1){Qa=Na+-10|0;Ra=Oa+-1|0;if((Oa|0)>(Qa|0)&(Oa|0)!=0){Sa=Ra;Ta=Pa}else{Ua=Pa;Va=Ra;break}while(1){Ra=(f[Ea+(Sa<<2)>>2]|0)+Ta|0;Wa=Sa+-1|0;if((Sa|0)>(Qa|0)&(Sa|0)>0){Sa=Wa;Ta=Ra}else{Ua=Ra;Va=Wa;break}}}else{Ua=0;Va=Oa}while(0);Ja=+(Va+Oa|0)*.5/10.0*+n[s>>2]+ +(f[r>>2]|0);if(!(Ha*+(Ua|0)>=Ja*Ka))Xa=Va;else{Ya=Ua;Za=Va;_a=Ja;break b}}else Xa=Oa;if((Xa|0)>1){Na=Xa;Oa=Xa+-1|0}else{$a=Da;ab=Ha;break a}}}else{Oa=Ca;Na=Ma;while(1){Pa=f[Ea+(Na<<2)>>2]|0;if(Pa){do if((Na|0)>-1){Qa=Oa+-10|0;Wa=Na+-1|0;if((Na|0)>(Qa|0)&(Na|0)!=0){bb=Wa;cb=Pa}else{db=Pa;eb=Wa;break}while(1){Wa=(f[Ea+(bb<<2)>>2]|0)+cb|0;Ra=bb+-1|0;if((bb|0)>(Qa|0)&(bb|0)>0){bb=Ra;cb=Wa}else{db=Wa;eb=Ra;break}}}else{db=0;eb=Na}while(0);Ja=+(eb+Na|0)*.5/10.0*+n[s>>2]+ +(f[r>>2]|0);if((db|0)<(Da|0)?!(Ha*+(db|0)>=Ja*Ka):0)fb=eb;else{Ya=db;Za=eb;_a=Ja;break b}}else fb=Na;if((fb|0)>1){Oa=fb;Na=fb+-1|0}else{$a=Da;ab=Ha;break a}}}while(0);if((Za|0)>1){Ca=Za;Da=Ya;Ha=_a}else{$a=Ya;ab=_a;break}}}else{$a=0;ab=0.0}while(0);Da=f[oa>>2]|0;if(Da|0?(Ca=Da+12|0,Da=f[Ca>>2]|0,f[Ca>>2]=Da+-1,(Da|0)==1):0)XO(e);f[oa>>2]=0;f[aa>>2]=0;f[aa+4>>2]=0;f[aa+8>>2]=0;f[aa+12>>2]=0;if((f[Z>>2]|0)>0){Da=f[ea>>2]|0;Ca=0;do{f[Da+(Ca<<2)>>2]=0;Ca=Ca+1|0}while((Ca|0)<(f[Z>>2]|0))}Ca=f[ga>>2]|0;if((Ca|0)!=(fa|0))dX(Ca);Ca=f[pa>>2]|0;if(Ca|0?(Da=Ca+12|0,Ca=f[Da>>2]|0,f[Da>>2]=Ca+-1,(Ca|0)==1):0)XO(d);f[pa>>2]=0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;f[R+12>>2]=0;if((f[O>>2]|0)>0){Ca=f[V>>2]|0;Da=0;do{f[Ca+(Da<<2)>>2]=0;Da=Da+1|0}while((Da|0)<(f[O>>2]|0))}Da=f[Y>>2]|0;if((Da|0)!=(W|0))dX(Da);gb=ab;hb=$a}else{gb=0.0;hb=0}}else{gb=0.0;hb=0}if((hb|0)>(f[qa>>2]|0)){n[d>>2]=Fa;n[ra>>2]=Ga;n[sa>>2]=gb;f[ta>>2]=hb;Da=f[q>>2]|0;if((Da|0)==(f[ua>>2]|0))ipa(h,d);else{n[Da>>2]=Fa;f[Da+4>>2]=f[ra>>2];f[Da+8>>2]=f[sa>>2];f[Da+12>>2]=hb;f[q>>2]=Da+16}}Da=za+1|0;if((Da|0)>=(f[H>>2]|0))break;za=Da;Aa=f[y>>2]|0;Ba=+n[s>>2]}Aa=f[h>>2]|0;za=f[q>>2]|0;if((Aa|0)!=(za|0)){f[d>>2]=124;apa(Aa,za,d);if(I){za=f[a+16>>2]|0;Aa=f[za>>2]|0;f[za>>2]=f[h>>2];f[h>>2]=Aa;Aa=za+4|0;sa=f[Aa>>2]|0;f[Aa>>2]=f[q>>2];f[q>>2]=sa;sa=za+8|0;za=h+8|0;Aa=f[sa>>2]|0;f[sa>>2]=f[za>>2];f[za>>2]=Aa;break}Aa=f[a+52>>2]|0;pQ(Aa);za=f[a+16>>2]|0;sa=f[za>>2]|0;ra=za+4|0;ua=f[ra>>2]|0;ta=ua;if((sa|0)==(ua|0)){f[za>>2]=f[h>>2];f[h>>2]=sa;f[ra>>2]=f[q>>2];f[q>>2]=ta;ra=za+8|0;sa=h+8|0;ua=f[ra>>2]|0;f[ra>>2]=f[sa>>2];f[sa>>2]=ua}else{f[m>>2]=ta;f[o>>2]=f[h>>2];f[p>>2]=f[q>>2];f[g>>2]=f[m>>2];f[e>>2]=f[o>>2];f[d>>2]=f[p>>2];jpa(za,g,e,d)|0}qQ(Aa)}}while(0);d=f[k>>2]|0;if((d|0)!=(D|0)){if(d|0)HQa(d);f[k>>2]=D;f[F>>2]=264}F=f[j>>2]|0;if((F|0)!=(A|0)){if(F|0)HQa(F);f[j>>2]=A;f[B>>2]=264}B=f[i>>2]|0;if((B|0)!=(w|0)){if(B|0)HQa(B);f[i>>2]=w;f[x>>2]=264}x=f[h>>2]|0;if(!x){u=c;return}h=f[q>>2]|0;if((h|0)!=(x|0))f[q>>2]=h+(~((h+-16-x|0)>>>4)<<4);GQa(x);u=c;return}function npa(a){a=a|0;GQa(a);return}function opa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;c=u;u=u+48|0;d=c+32|0;e=c+28|0;g=c+24|0;h=c+12|0;i=c+8|0;j=c+4|0;k=c;l=f[b>>2]|0;m=f[b+4>>2]|0;f[h>>2]=0;b=h+4|0;f[b>>2]=0;f[h+8>>2]=0;n=(l|0)==1?(m|0)==((f[(f[a+4>>2]|0)+8>>2]|0)+-1|0):0;o=(l|0)>1?l:1;l=(f[a+20>>2]|0)+-1|0;p=(m|0)<(l|0)?m:l;do if((o|0)<(p|0)){l=a+16|0;m=a+24|0;q=a+12|0;r=h+8|0;s=o;t=f[l>>2]|0;while(1){v=X(t,s)|0;w=v+1|0;f[d>>2]=w;if((t|0)>2){x=1;y=t;z=v;v=w;while(1){w=f[m>>2]|0;A=f[w+(v<<2)>>2]|0;do if(((((A|0)>(f[q>>2]|0)?(A|0)>(f[w+(z<<2)>>2]|0):0)?(A|0)>=(f[w+(z+2<<2)>>2]|0):0)?(A|0)>(f[w+(v-y<<2)>>2]|0):0)?(A|0)>=(f[w+(y+v<<2)>>2]|0):0){B=f[b>>2]|0;if((B|0)==(f[r>>2]|0)){jQ(h,d);break}else{f[B>>2]=v;f[b>>2]=B+4;break}}while(0);x=x+1|0;z=f[d>>2]|0;v=z+1|0;f[d>>2]=v;w=f[l>>2]|0;if((x|0)>=(w+-1|0)){C=w;break}else y=w}}else C=t;s=s+1|0;if((s|0)>=(p|0))break;else t=C}t=f[h>>2]|0;s=f[b>>2]|0;if((t|0)!=(s|0)){if(!n){l=f[a+28>>2]|0;pQ(l);r=f[a+8>>2]|0;f[i>>2]=f[r+4>>2];f[j>>2]=f[h>>2];f[k>>2]=f[b>>2];f[g>>2]=f[i>>2];f[e>>2]=f[j>>2];f[d>>2]=f[k>>2];qpa(r,g,e,d)|0;qQ(l);D=19;break}l=f[a+8>>2]|0;if((l|0)==(h|0))D=19;else{ppa(l,t,s);D=19}}else E=t}else D=19;while(0);if((D|0)==19)E=f[h>>2]|0;if(!E){u=c;return}h=f[b>>2]|0;if((h|0)!=(E|0))f[b>>2]=h+(~((h+-4-E|0)>>>2)<<2);GQa(E);u=c;return}function ppa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0<=j-k>>2>>>0){m=a+4|0;n=(f[m>>2]|0)-k>>2;o=h>>>0>n>>>0;p=o?b+(n<<2)|0:c;c=p;n=c-e|0;e=n>>2;if(e|0)EVa(k|0,b|0,n|0)|0;n=l+(e<<2)|0;if(o){o=d-c|0;if((o|0)<=0)return;DVa(f[m>>2]|0,p|0,o|0)|0;f[m>>2]=(f[m>>2]|0)+(o>>>2<<2);return}else{o=f[m>>2]|0;if((o|0)==(n|0))return;f[m>>2]=o+(~((o+-4-n|0)>>>2)<<2);return}}n=k;if(!k)q=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-4-k|0)>>>2)<<2);GQa(n);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;q=0}if(h>>>0>1073741823)ZOa(a);j=q>>1;n=q>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;if(n>>>0>1073741823)ZOa(a);j=EQa(n<<2)|0;h=a+4|0;f[h>>2]=j;f[a>>2]=j;f[i>>2]=j+(n<<2);if((g|0)<=0)return;DVa(j|0,b|0,g|0)|0;f[h>>2]=j+(g>>>2<<2);return}function qpa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;e=f[a>>2]|0;g=e;h=(f[b>>2]|0)-g|0;b=e+(h>>2<<2)|0;i=f[c>>2]|0;j=f[d>>2]|0;d=j-i|0;k=d>>2;l=j;if((d|0)<=0){m=b;return m|0}d=a+8|0;n=f[d>>2]|0;o=a+4|0;p=f[o>>2]|0;q=p;if((k|0)<=(n-q>>2|0)){r=b;s=q-r|0;t=s>>2;if((k|0)>(t|0)){u=i+(t<<2)|0;t=u;if((u|0)==(l|0))v=p;else{w=l+-4-t|0;x=u;u=p;while(1){f[u>>2]=f[x>>2];x=x+4|0;if((x|0)==(l|0))break;else u=u+4|0}u=p+((w>>>2)+1<<2)|0;f[o>>2]=u;v=u}if((s|0)>0){y=t;z=v}else{m=b;return m|0}}else{y=j;z=p}j=z-(b+(k<<2))|0;v=j>>2;t=b+(v<<2)|0;if(t>>>0

>>0){s=(p+(0-v<<2)+~r|0)>>>2;r=t;t=z;while(1){f[t>>2]=f[r>>2];r=r+4|0;if(r>>>0>=p>>>0)break;else t=t+4|0}f[o>>2]=z+(s+1<<2)}if(!v)A=i;else{EVa(z+(0-v<<2)|0,b|0,j|0)|0;A=f[c>>2]|0}c=y-A|0;if(!c){m=b;return m|0}EVa(b|0,A|0,c|0)|0;m=b;return m|0}c=(q-g>>2)+k|0;if(c>>>0>1073741823)ZOa(a);k=n-g|0;g=k>>1;n=k>>2>>>0<536870911?(g>>>0>>0?c:g):1073741823;g=b;c=h>>2;do if(n)if(n>>>0>1073741823){k=hd(8)|0;LQa(k,349912);f[k>>2]=118288;ld(k|0,20688,857)}else{k=EQa(n<<2)|0;B=k;C=k;break}else{B=0;C=0}while(0);k=C+(c<<2)|0;c=C+(n<<2)|0;n=i;if((l|0)==(n|0))D=k;else{A=((l+-4-i|0)>>>2)+1|0;i=n;n=k;while(1){f[n>>2]=f[i>>2];i=i+4|0;if((i|0)==(l|0))break;else n=n+4|0}D=k+(A<<2)|0}if((h|0)>0)DVa(B|0,e|0,h|0)|0;h=q-g|0;if((h|0)>0){DVa(D|0,b|0,h|0)|0;E=D+(h>>>2<<2)|0}else E=D;f[a>>2]=C;f[o>>2]=E;f[d>>2]=c;if(!e){m=k;return m|0}GQa(e);m=k;return m|0}function rpa(a){a=a|0;GQa(a);return}function spa(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0.0,W=0.0,Y=0,Z=0.0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;e=u;u=u+176|0;g=e+160|0;h=e;i=e+144|0;j=e+88|0;k=e+32|0;l=a+40|0;m=(f[l>>2]|0)+2|0;o=a+36|0;p=(f[o>>2]|0)+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;f[h+28>>2]=0;f[j>>2]=1124007936;q=j+4|0;r=j+8|0;s=j+40|0;t=q;v=t+36|0;do{f[t>>2]=0;t=t+4|0}while((t|0)<(v|0));f[s>>2]=r;t=j+48|0;v=j+44|0;f[v>>2]=t;f[t>>2]=0;f[j+52>>2]=0;f[g>>2]=m;f[g+4>>2]=p;VO(j,2,g,4);gM(j,h)|0;p=j+16|0;m=f[p>>2]|0;w=a+32|0;x=f[w>>2]|0;y=f[x+8>>2]|0;z=f[x+12>>2]|0;b[g>>0]=0;Xoa(k,y,z,g);z=f[c>>2]|0;y=f[c+4>>2]|0;c=a+4|0;x=f[c>>2]|0;A=f[x+12>>2]|0;if((f[x>>2]&16384|0)!=0?(f[f[a+8>>2]>>2]&16384|0)!=0:0){B=(f[f[a+12>>2]>>2]&16384|0)!=0;C=X(B?y-z|0:1,A)|0;D=B?z+1|0:y;E=C}else{D=y;E=A}a:do if((z|0)<(D|0)){A=a+8|0;y=a+12|0;C=(E|0)>0;B=k+16|0;F=k+44|0;G=a+24|0;H=a+16|0;I=a+20|0;J=a+44|0;K=z;M=x;while(1){N=(f[M+16>>2]|0)+(X(f[f[M+44>>2]>>2]|0,K)|0)|0;O=f[A>>2]|0;P=(f[O+16>>2]|0)+(X(f[f[O+44>>2]>>2]|0,K)|0)|0;O=f[y>>2]|0;Q=(f[O+16>>2]|0)+(X(f[f[O+44>>2]>>2]|0,K)|0)|0;if(C){O=0;do{b:do if((O|0)<(E|0)){R=O;while(1){if(b[N+R>>0]|0){S=R;break b}T=R+1|0;if((T|0)<(E|0))R=T;else{S=T;break}}}else S=O;while(0);c:do if(((S|0)!=(E|0)?(R=d[P+(S<<1)>>1]|0,U=+(R<<16>>16),T=d[Q+(S<<1)>>1]|0,V=+(T<<16>>16),(T|R)<<16>>16):0)?(W=+L(+(U*U+V*V)),!(W<1.0)):0){R=f[(f[c>>2]|0)+12>>2]|0;T=(S|0)%(R|0)|0;Y=((S|0)/(R|0)|0)+K|0;R=(f[B>>2]|0)+(X(f[f[F>>2]>>2]|0,Y)|0)+T|0;b[R>>0]=1;Z=+n[G>>2];R=HEa(Z*U*1024.0/W)|0;_=HEa(Z*V*1024.0/W)|0;$=HEa(Z*+(T|0)*1024.0)|0;T=HEa(Z*+(Y|0)*1024.0)|0;Y=f[H>>2]|0;aa=f[I>>2]|0;if((Y|0)>(aa|0)){ba=Y;ca=aa}else{da=Y;ea=(X(Y,_)|0)+T|0;fa=(X(Y,R)|0)+$|0;Y=aa;while(1){aa=fa>>10;ga=ea>>10;if(aa>>>0>=(f[o>>2]|0)>>>0){ha=Y;break}if(ga>>>0>=(f[l>>2]|0)>>>0){ha=Y;break}ia=m+((X(f[J>>2]|0,ga)|0)+aa<<2)|0;f[ia>>2]=(f[ia>>2]|0)+1;ia=f[I>>2]|0;if((da|0)<(ia|0)){da=da+1|0;ea=ea+_|0;fa=fa+R|0;Y=ia}else{ha=ia;break}}ba=f[H>>2]|0;ca=ha}if((ba|0)<=(ca|0)){Y=ba;fa=(X(ba,0-_|0)|0)+T|0;ea=(X(ba,0-R|0)|0)+$|0;while(1){da=ea>>10;ia=fa>>10;if(da>>>0>=(f[o>>2]|0)>>>0)break c;if(ia>>>0>=(f[l>>2]|0)>>>0)break c;aa=m+((X(f[J>>2]|0,ia)|0)+da<<2)|0;f[aa>>2]=(f[aa>>2]|0)+1;if((Y|0)<(f[I>>2]|0)){Y=Y+1|0;fa=fa-_|0;ea=ea-R|0}else break}}}while(0);O=S+1|0}while((O|0)<(E|0))}O=K+1|0;if((O|0)==(D|0))break a;K=O;M=f[c>>2]|0}}while(0);c=f[a+48>>2]|0;pQ(c);D=f[a+28>>2]|0;a=D+4|0;E=f[a>>2]|0;if((E|0)==(f[D+8>>2]|0))tpa(D,j);else{f[E>>2]=f[j>>2];D=E+4|0;f[D>>2]=f[q>>2];S=E+8|0;f[S>>2]=f[r>>2];f[E+12>>2]=f[j+12>>2];f[E+16>>2]=f[p>>2];f[E+20>>2]=f[j+20>>2];f[E+24>>2]=f[j+24>>2];f[E+28>>2]=f[j+28>>2];f[E+32>>2]=f[j+32>>2];r=f[j+36>>2]|0;f[E+36>>2]=r;f[E+40>>2]=S;S=E+48|0;m=E+44|0;f[m>>2]=S;f[S>>2]=0;f[E+52>>2]=0;if(r|0){S=r+12|0;f[S>>2]=(f[S>>2]|0)+1}if((f[q>>2]|0)<3){S=f[v>>2]|0;r=f[m>>2]|0;f[r>>2]=f[S>>2];f[r+4>>2]=f[S+4>>2]}else{f[D>>2]=0;WO(E,j)}f[a>>2]=(f[a>>2]|0)+56}a=f[w>>2]|0;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=-2130640896;f[g+4>>2]=k;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=-2130640896;f[h+4>>2]=a;w=i+8|0;f[w>>2]=0;f[w+4>>2]=0;f[i>>2]=-2113863680;f[i+4>>2]=a;cH(g,h,i,BK()|0);qQ(c);c=k+36|0;i=f[c>>2]|0;if(i|0?(h=i+12|0,i=f[h>>2]|0,f[h>>2]=i+-1,(i|0)==1):0)XO(k);f[c>>2]=0;c=k+16|0;i=k+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[i>>2]|0)>0){c=f[k+40>>2]|0;h=0;do{f[c+(h<<2)>>2]=0;h=h+1|0}while((h|0)<(f[i>>2]|0))}i=f[k+44>>2]|0;if((i|0)!=(k+48|0))dX(i);i=j+36|0;k=f[i>>2]|0;if(k|0?(h=k+12|0,k=f[h>>2]|0,f[h>>2]=k+-1,(k|0)==1):0)XO(j);f[i>>2]=0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;if((f[q>>2]|0)>0){p=f[s>>2]|0;s=0;do{f[p+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[q>>2]|0))}q=f[v>>2]|0;if((q|0)==(t|0)){u=e;return}dX(q);u=e;return}function tpa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+32|0;d=c;e=f[a>>2]|0;g=((f[a+4>>2]|0)-e|0)/56|0;h=g+1|0;if(h>>>0>76695844)ZOa(a);i=((f[a+8>>2]|0)-e|0)/56|0;e=i<<1;j=i>>>0<38347922?(e>>>0>>0?h:e):76695844;f[d+12>>2]=0;f[d+16>>2]=a+8;do if(j)if(j>>>0>76695844){e=hd(8)|0;LQa(e,349912);f[e>>2]=118288;ld(e|0,20688,857)}else{k=EQa(j*56|0)|0;break}else k=0;while(0);f[d>>2]=k;e=k+(g*56|0)|0;h=d+8|0;f[h>>2]=e;f[d+4>>2]=e;f[d+12>>2]=k+(j*56|0);f[e>>2]=f[b>>2];j=k+(g*56|0)+4|0;i=b+4|0;l=f[i>>2]|0;f[j>>2]=l;m=k+(g*56|0)+8|0;f[m>>2]=f[b+8>>2];f[k+(g*56|0)+12>>2]=f[b+12>>2];f[k+(g*56|0)+16>>2]=f[b+16>>2];f[k+(g*56|0)+20>>2]=f[b+20>>2];f[k+(g*56|0)+24>>2]=f[b+24>>2];f[k+(g*56|0)+28>>2]=f[b+28>>2];f[k+(g*56|0)+32>>2]=f[b+32>>2];n=f[b+36>>2]|0;f[k+(g*56|0)+36>>2]=n;f[k+(g*56|0)+40>>2]=m;m=k+(g*56|0)+48|0;o=k+(g*56|0)+44|0;f[o>>2]=m;f[m>>2]=0;f[k+(g*56|0)+52>>2]=0;if(!n)p=l;else{l=n+12|0;f[l>>2]=(f[l>>2]|0)+1;p=f[i>>2]|0}if((p|0)<3){p=f[b+44>>2]|0;i=f[o>>2]|0;f[i>>2]=f[p>>2];f[i+4>>2]=f[p+4>>2];q=f[h>>2]|0;r=q+56|0;f[h>>2]=r;Ms(a,d);Ns(d);u=c;return}else{f[j>>2]=0;WO(e,b);q=f[h>>2]|0;r=q+56|0;f[h>>2]=r;Ms(a,d);Ns(d);u=c;return}}function upa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;g=u;u=u+48|0;h=g+8|0;i=g;if(!((c|0)!=0&(d|0)!=0&(e|0)!=0)){f[h>>2]=0;f[h+4>>2]=0;j=JV(h,45)|0;k=245911;l=j+45|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-215,h,245957,245975,47);KV(h);if(!c){m=c;n=h;o=8}else{p=c;q=h;o=4}}else{p=c;q=h;o=4}if((o|0)==4){r=f[c>>2]|0;if((((r&-65536|0)==1111621632?(f[c+24>>2]|0)>0:0)?(f[c+20>>2]|0)>0:0)?(f[c+16>>2]|0)!=0:0){s=r;t=p;v=q}else{m=p;n=q;o=8}}if((o|0)==8){f[i>>2]=0;f[i+4>>2]=0;j=JV(i,33)|0;k=246032;l=j+33|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-5,i,245957,245975,54);KV(i);s=f[c>>2]|0;t=m;v=n}if((s&4088|0)==0?(f[c+24>>2]|0)==2:0){jW(c,h,2,0)|0;w=h}else w=t;t=f[w>>2]|0;h=t&4095;if((h|1|0)!=13){f[i>>2]=0;f[i+4>>2]=0;j=JV(i,87)|0;k=246066;l=j+87|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-210,i,245957,245975,63);KV(i)}c=w+24|0;s=f[c>>2]|0;if(!((s|0)!=1?(f[w+20>>2]|0)!=1:0))o=16;if((o|0)==16?f[w>>2]&16384|0:0){x=s;y=a&28672;z=h|y;A=t>>>3;B=A&511;C=B+1|0;D=t<<1;E=D&14;F=47696>>>E;G=F&3;H=C<>2]|0;K=w+20|0;L=f[K>>2]|0;M=X(L,x)|0;FM(z,88,H,J,M,d,e)|0;u=g;return d|0}f[i>>2]=0;f[i+4>>2]=0;j=JV(i,75)|0;k=246154;l=j+75|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-5,i,245957,245975,68);KV(i);x=f[c>>2]|0;y=a&28672;z=h|y;A=t>>>3;B=A&511;C=B+1|0;D=t<<1;E=D&14;F=47696>>>E;G=F&3;H=C<>2]|0;K=w+20|0;L=f[K>>2]|0;M=X(L,x)|0;FM(z,88,H,J,M,d,e)|0;u=g;return d|0}function vpa(a,c,d,e,g,h,i,j,k,l,m){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;o=u;u=u+64|0;p=o+56|0;q=o+24|0;r=o+16|0;s=o;yV(r,61332);t=(i|0)==5?360:l?256:180;l=k?2:0;k=(i|0)==0;do if(!m)if(k){f[s>>2]=j;f[s+4>>2]=3;f[s+8>>2]=l;n[s+12>>2]=+(t|0)/360.0;f[p>>2]=0;f[p+4>>2]=h;f[q>>2]=61400;f[q+4>>2]=a;f[q+8>>2]=c;f[q+12>>2]=d;f[q+16>>2]=e;f[q+20>>2]=g;f[q+24>>2]=s;$Z(p,q,+(X(h,g)|0)*.0000152587890625);break}else{f[s>>2]=j;f[s+4>>2]=l;n[s+8>>2]=+(t|0)/360.0;f[p>>2]=0;f[p+4>>2]=h;f[q>>2]=61420;f[q+4>>2]=a;f[q+8>>2]=c;f[q+12>>2]=d;f[q+16>>2]=e;f[q+20>>2]=g;f[q+24>>2]=s;$Z(p,q,+(X(h,g)|0)*.0000152587890625);break}else{if(!k){f[s>>2]=j;f[s+4>>2]=l;n[s+8>>2]=+(t|0);f[p>>2]=0;f[p+4>>2]=h;f[q>>2]=61380;f[q+4>>2]=a;f[q+8>>2]=c;f[q+12>>2]=d;f[q+16>>2]=e;f[q+20>>2]=g;f[q+24>>2]=s;$Z(p,q,+(X(h,g)|0)*.0000152587890625);break}f[s>>2]=j;f[s+4>>2]=l;f[s+8>>2]=t;switch(t&511){case 256:case 180:break;default:{f[p>>2]=0;f[p+4>>2]=0;i=JV(p,30)|0;v=246230;w=i+30|0;do{b[i>>0]=b[v>>0]|0;i=i+1|0;v=v+1|0}while((i|0)<(w|0));EP(-215,p,246261,246271,21);KV(p)}}f[p>>2]=0;f[p+4>>2]=h;f[q>>2]=61360;f[q+4>>2]=a;f[q+8>>2]=c;f[q+12>>2]=d;f[q+16>>2]=e;f[q+20>>2]=g;f[q+24>>2]=s;$Z(p,q,+(X(h,g)|0)*.0000152587890625)}while(0);if(!(f[r+4>>2]|0)){u=o;return}u=o;return}function wpa(a){a=a|0;GQa(a);return}function xpa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0;c=u;u=u+16|0;d=c;yV(d,61432);e=f[b>>2]|0;g=f[b+4>>2]|0;a:do if((e|0)<(g|0)){b=f[a+8>>2]|0;h=f[a+16>>2]|0;i=a+24|0;j=f[a+20>>2]|0;k=j*3|0;if((j|0)<=0){j=e;while(1){j=j+1|0;if((j|0)>=(g|0))break a}}j=(f[a+12>>2]|0)+(X(h,e)|0)|0;l=j;j=(f[a+4>>2]|0)+(X(b,e)|0)|0;m=e;while(1){o=f[i>>2]|0;p=f[o+4>>2]|0;q=f[o>>2]|0;r=p^2;s=o+8|0;o=j;t=0;while(1){v=+n[o+(p<<2)>>2];w=+n[o+4>>2];x=+n[o+(r<<2)>>2];y=xw?w:x;A=y>v?v:y;y=z-A;B=z+A;C=B*.5;if(y>1.1920928955078125e-07){D=y/(C<.5?B:2.0-z-A);A=60.0/y;do if(!(z==x))if(z==w){E=(v-x)*A+120.0;break}else{E=(x-w)*A+240.0;break}else E=(w-v)*A;while(0);if(E<0.0){F=D;G=E+360.0}else{F=D;G=E}}else{F=0.0;G=0.0}n[l+(t<<2)>>2]=G*+n[s>>2];n[l+(t+1<<2)>>2]=C;n[l+(t+2<<2)>>2]=F;t=t+3|0;if((t|0)>=(k|0))break;else o=o+(q<<2)|0}m=m+1|0;if((m|0)>=(g|0))break;else{l=l+h|0;j=j+b|0}}}while(0);if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function ypa(a){a=a|0;GQa(a);return}function zpa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c;yV(d,61452);e=f[b>>2]|0;g=a+8|0;h=a+16|0;i=b+4|0;if((e|0)<(f[i>>2]|0)){b=(f[a+12>>2]|0)+(X(f[h>>2]|0,e)|0)|0;j=a+24|0;k=a+20|0;l=b;b=e;m=(f[a+4>>2]|0)+(X(f[g>>2]|0,e)|0)|0;while(1){Apa(f[j>>2]|0,m,l,f[k>>2]|0);b=b+1|0;if((b|0)>=(f[i>>2]|0))break;else{l=l+(f[h>>2]|0)|0;m=m+(f[g>>2]|0)|0}}}if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function Apa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0;g=u;u=u+3072|0;i=g;j=f[a>>2]|0;if((e|0)<=0){u=g;return}k=a+8|0;l=a+4|0;m=a+12|0;a=d;d=0;o=c;while(1){c=e-d|0;p=((c|0)<256?c:256)*3|0;q=(c|0)>0;if(q){c=0;r=o;do{n[i+(c<<2)>>2]=+(h[r>>0]|0)*.003921568859368563;n[i+(c+1<<2)>>2]=+(h[r+1>>0]|0)*.003921568859368563;n[i+(c+2<<2)>>2]=+(h[r+2>>0]|0)*.003921568859368563;c=c+3|0;r=r+j|0}while((c|0)<(p|0));c=f[k>>2]|0;s=f[l>>2]|0;if(q){t=c^2;v=i;w=0;while(1){x=+n[v+(c<<2)>>2];y=+n[v+4>>2];z=+n[v+(t<<2)>>2];A=zy?y:z;C=A>x?x:A;A=B-C;D=B+C;E=D*.5;if(A>1.1920928955078125e-07){F=A/(E<.5?D:2.0-B-C);C=60.0/A;do if(!(B==z))if(B==y){G=(x-z)*C+120.0;break}else{G=(z-y)*C+240.0;break}else G=(y-x)*C;while(0);if(G<0.0){H=F;I=G+360.0}else{H=F;I=G}}else{H=0.0;I=0.0}n[i+(w<<2)>>2]=I*+n[m>>2];n[i+(w+1<<2)>>2]=E;n[i+(w+2<<2)>>2]=H;w=w+3|0;if((w|0)>=(p|0))break;else v=v+(s<<2)|0}if(q){s=0;do{v=HEa(+n[i+(s<<2)>>2])|0;b[a+s>>0]=v>>>0<256?v:(v|0)>0?255:0;v=s+1|0;w=HEa(+n[i+(v<<2)>>2]*255.0)|0;b[a+v>>0]=w>>>0<256?w:(w|0)>0?255:0;w=s+2|0;v=HEa(+n[i+(w<<2)>>2]*255.0)|0;b[a+w>>0]=v>>>0<256?v:(v|0)>0?255:0;s=s+3|0}while((s|0)<(p|0));J=r}else J=r}else J=r}else J=o;d=d+256|0;if((d|0)>=(e|0))break;else{a=a+768|0;o=J}}u=g;return}function Bpa(a){a=a|0;GQa(a);return}function Cpa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0.0,s=0,t=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0;c=u;u=u+16|0;d=c;yV(d,61472);e=f[b>>2]|0;g=f[b+4>>2]|0;a:do if((e|0)<(g|0)){b=f[a+8>>2]|0;h=f[a+16>>2]|0;i=a+24|0;j=f[a+20>>2]|0;k=j*3|0;if((j|0)<=0){j=e;while(1){j=j+1|0;if((j|0)>=(g|0))break a}}j=(f[a+12>>2]|0)+(X(h,e)|0)|0;l=j;j=(f[a+4>>2]|0)+(X(b,e)|0)|0;m=e;while(1){o=f[i>>2]|0;p=f[o+4>>2]|0;q=f[o>>2]|0;r=+n[o+8>>2]*2.7777778450399637e-03;o=p^2;s=j;t=0;while(1){v=+n[s+(p<<2)>>2];w=+n[s+4>>2];x=+n[s+(o<<2)>>2];y=xw?w:x;A=z-(y>v?v:y);y=A/(+K(+z)+1.1920928955078125e-07);B=60.0/(A+1.1920928955078125e-07);do if(!(z==x))if(z==w){C=(v-x)*B+120.0;break}else{C=(x-w)*B+240.0;break}else C=(w-v)*B;while(0);n[l+(t<<2)>>2]=r*(C<0.0?C+360.0:C);n[l+(t+1<<2)>>2]=y;n[l+(t+2<<2)>>2]=z;t=t+3|0;if((t|0)>=(k|0))break;else s=s+(q<<2)|0}m=m+1|0;if((m|0)>=(g|0))break;else{l=l+h|0;j=j+b|0}}}while(0);if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function Dpa(a){a=a|0;GQa(a);return}function Epa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c;yV(d,61492);e=f[b>>2]|0;g=a+8|0;h=a+16|0;i=b+4|0;if((e|0)<(f[i>>2]|0)){b=(f[a+12>>2]|0)+(X(f[h>>2]|0,e)|0)|0;j=a+24|0;k=a+20|0;l=b;b=e;m=(f[a+4>>2]|0)+(X(f[g>>2]|0,e)|0)|0;while(1){Fpa(f[j>>2]|0,m,l,f[k>>2]|0);b=b+1|0;if((b|0)>=(f[i>>2]|0))break;else{l=l+(f[h>>2]|0)|0;m=m+(f[g>>2]|0)|0}}}if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function Fpa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;g=f[a+4>>2]|0;i=f[a>>2]|0;j=f[a+8>>2]|0;a=(j|0)==180?804020:805044;k=e*3|0;if(!(b[1077363]|0)){f[201261]=0;f[201005]=0;f[201517]=0;l=1;do{m=+(l|0);n=AEa(1044480.0/m)|0;f[806068+(l<<2)>>2]=n;o=m*6.0;n=AEa(737280.0/o)|0;f[804020+(l<<2)>>2]=n;n=AEa(1048576.0/o)|0;f[805044+(l<<2)>>2]=n;l=l+1|0}while((l|0)!=256);b[1077363]=1}if((e|0)<=0)return;e=g^2;l=c;c=0;while(1){n=h[l+g>>0]|0;p=h[l+1>>0]|0;q=h[l+e>>0]|0;r=p-n|0;s=r+256|0;if(s>>>0<769)t=h[243744+s>>0]|0;else t=0;s=t+n|0;u=q-s+256|0;if(u>>>0<769)v=h[243744+u>>0]|0;else v=0;u=v+s|0;s=n-p+256|0;if(s>>>0<769)w=h[243744+s>>0]|0;else w=0;s=n-w|0;x=s-q+256|0;if(x>>>0<769)y=h[243744+x>>0]|0;else y=0;x=y-s+u|0;s=(x>>>0<256?x:(x|0)>0?255:0)&255;x=((X(s,f[806068+(u<<2)>>2]|0)|0)+2048|0)>>>12;z=(X((u|0)==(q|0)?r:(u|0)==(p|0)?n-q+(s<<1)|0:q-p+(s<<2)|0,f[a+(s<<2)>>2]|0)|0)+2048>>12;s=((z|0)<0?j:0)+z|0;b[d+c>>0]=s>>>0<256?s:(s|0)>0?255:0;b[d+(c+1)>>0]=x;b[d+(c+2)>>0]=u;c=c+3|0;if((c|0)>=(k|0))break;else l=l+i|0}return}function Gpa(a,b,c,d,e,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,o=0,p=0,q=0,r=0,s=0;m=u;u=u+64|0;o=m+56|0;p=m+24|0;q=m+16|0;r=m;yV(q,61512);s=(h|0)==5?360:k?255:180;k=j?2:0;j=(h|0)==0;do if(l)if(j){f[r>>2]=i;f[r+4>>2]=3;f[r+8>>2]=k;n[r+12>>2]=6.0/+(s|0);f[o>>2]=0;f[o+4>>2]=g;f[p>>2]=61540;f[p+4>>2]=a;f[p+8>>2]=b;f[p+12>>2]=c;f[p+16>>2]=d;f[p+20>>2]=e;f[p+24>>2]=r;$Z(o,p,+(X(g,e)|0)*.0000152587890625);break}else{f[r>>2]=i;f[r+4>>2]=k;n[r+8>>2]=6.0/+(s|0);f[o>>2]=0;f[o+4>>2]=g;f[p>>2]=61560;f[p+4>>2]=a;f[p+8>>2]=b;f[p+12>>2]=c;f[p+16>>2]=d;f[p+20>>2]=e;f[p+24>>2]=r;$Z(o,p,+(X(g,e)|0)*.0000152587890625);break}else if(j){f[r>>2]=i;f[r+4>>2]=3;f[r+8>>2]=k;n[r+12>>2]=6.0/+(s|0);f[o>>2]=0;f[o+4>>2]=g;f[p>>2]=61580;f[p+4>>2]=a;f[p+8>>2]=b;f[p+12>>2]=c;f[p+16>>2]=d;f[p+20>>2]=e;f[p+24>>2]=r;$Z(o,p,+(X(g,e)|0)*.0000152587890625);break}else{f[r>>2]=i;f[r+4>>2]=k;n[r+8>>2]=6.0/+(s|0);f[o>>2]=0;f[o+4>>2]=g;f[p>>2]=61600;f[p+4>>2]=a;f[p+8>>2]=b;f[p+12>>2]=c;f[p+16>>2]=d;f[p+20>>2]=e;f[p+24>>2]=r;$Z(o,p,+(X(g,e)|0)*.0000152587890625);break}while(0);if(!(f[q+4>>2]|0)){u=m;return}u=m;return}function Hpa(a){a=a|0;GQa(a);return}function Ipa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+16|0;d=c;yV(d,61612);e=f[b>>2]|0;g=a+8|0;h=a+16|0;i=b+4|0;if((e|0)<(f[i>>2]|0)){b=(f[a+12>>2]|0)+(X(f[h>>2]|0,e)|0)|0;j=a+24|0;k=a+20|0;l=b;b=(f[a+4>>2]|0)+(X(f[g>>2]|0,e)|0)|0;a=e;while(1){Jpa(f[j>>2]|0,b,l,f[k>>2]|0);a=a+1|0;if((a|0)>=(f[i>>2]|0))break;else{l=l+(f[h>>2]|0)|0;b=b+(f[g>>2]|0)|0}}}if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function Jpa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0.0,k=0,l=0,m=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=f[a+4>>2]|0;i=f[a>>2]|0;j=+n[a+8>>2];a=d*3|0;if((d|0)<=0){u=e;return}d=h^2;k=g+4|0;l=g+8|0;m=g+12|0;if((i|0)==4){o=0;p=c;while(1){q=+n[b+(o<<2)>>2];r=+n[b+(o+1<<2)>>2];s=+n[b+(o+2<<2)>>2];if(s==0.0){t=r;v=r;w=r}else{if(!(r<=.5))x=r+s-r*s;else x=r*(s+1.0);s=r*2.0-x;r=j*q;if(!(r<0.0))if(!(r>=6.0))y=r;else{q=r;while(1){z=q+-6.0;if(!(z>=6.0)){y=z;break}else q=z}}else{q=r;while(1){z=q+6.0;if(z<0.0)q=z;else{y=z;break}}}A=~~y;B=A-(y<+(A|0)&1)|0;q=y-+(B|0);n[g>>2]=x;n[k>>2]=s;r=x-s;n[l>>2]=s+r*(1.0-q);n[m>>2]=s+r*q;t=+n[g+(f[61672+(B*12|0)+8>>2]<<2)>>2];v=+n[g+(f[61672+(B*12|0)+4>>2]<<2)>>2];w=+n[g+(f[61672+(B*12|0)>>2]<<2)>>2]}n[p+(h<<2)>>2]=w;n[p+4>>2]=v;n[p+(d<<2)>>2]=t;n[p+12>>2]=1.0;o=o+3|0;if((o|0)>=(a|0))break;else p=p+16|0}u=e;return}else{p=0;o=c;while(1){t=+n[b+(p<<2)>>2];v=+n[b+(p+1<<2)>>2];w=+n[b+(p+2<<2)>>2];if(w==0.0){C=v;D=v;E=v}else{if(!(v<=.5))F=v+w-v*w;else F=v*(w+1.0);w=v*2.0-F;v=j*t;if(!(v<0.0))if(!(v>=6.0))G=v;else{t=v;while(1){x=t+-6.0;if(!(x>=6.0)){G=x;break}else t=x}}else{t=v;while(1){s=t+6.0;if(s<0.0)t=s;else{G=s;break}}}c=~~G;B=c-(G<+(c|0)&1)|0;t=G-+(B|0);n[g>>2]=F;n[k>>2]=w;v=F-w;n[l>>2]=w+v*(1.0-t);n[m>>2]=w+v*t;C=+n[g+(f[61672+(B*12|0)+8>>2]<<2)>>2];D=+n[g+(f[61672+(B*12|0)+4>>2]<<2)>>2];E=+n[g+(f[61672+(B*12|0)>>2]<<2)>>2]}n[o+(h<<2)>>2]=E;n[o+4>>2]=D;n[o+(d<<2)>>2]=C;p=p+3|0;if((p|0)>=(a|0))break;else o=o+(i<<2)|0}u=e;return}}function Kpa(a){a=a|0;GQa(a);return}function Lpa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c;yV(d,61632);e=f[b>>2]|0;g=a+8|0;h=a+16|0;i=b+4|0;if((e|0)<(f[i>>2]|0)){b=(f[a+12>>2]|0)+(X(f[h>>2]|0,e)|0)|0;j=a+24|0;k=a+20|0;l=b;b=e;m=(f[a+4>>2]|0)+(X(f[g>>2]|0,e)|0)|0;while(1){Mpa(f[j>>2]|0,m,l,f[k>>2]|0);b=b+1|0;if((b|0)>=(f[i>>2]|0))break;else{l=l+(f[h>>2]|0)|0;m=m+(f[g>>2]|0)|0}}}if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function Mpa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0;g=u;u=u+3072|0;i=g;j=f[a>>2]|0;if((e|0)<=0){u=g;return}k=a+4|0;a=(j|0)==4;l=d;d=0;m=c;while(1){c=e-d|0;o=(c|0)<256?c:256;p=o*3|0;q=(c|0)>0;if(q){c=0;do{n[i+(c<<2)>>2]=+(h[m+c>>0]|0);r=c+1|0;n[i+(r<<2)>>2]=+(h[m+r>>0]|0)*.003921568859368563;r=c+2|0;n[i+(r<<2)>>2]=+(h[m+r>>0]|0)*.003921568859368563;c=c+3|0}while((c|0)<(p|0));Jpa(k,i,i,o);if(q)if(a){c=0;r=l;while(1){s=HEa(+n[i+(c<<2)>>2]*255.0)|0;b[r>>0]=s>>>0<256?s:(s|0)>0?255:0;s=HEa(+n[i+(c+1<<2)>>2]*255.0)|0;b[r+1>>0]=s>>>0<256?s:(s|0)>0?255:0;s=HEa(+n[i+(c+2<<2)>>2]*255.0)|0;b[r+2>>0]=s>>>0<256?s:(s|0)>0?255:0;b[r+3>>0]=-1;c=c+3|0;s=r+4|0;if((c|0)>=(p|0)){t=s;break}else r=s}}else{r=0;c=l;while(1){q=HEa(+n[i+(r<<2)>>2]*255.0)|0;b[c>>0]=q>>>0<256?q:(q|0)>0?255:0;q=HEa(+n[i+(r+1<<2)>>2]*255.0)|0;b[c+1>>0]=q>>>0<256?q:(q|0)>0?255:0;q=HEa(+n[i+(r+2<<2)>>2]*255.0)|0;b[c+2>>0]=q>>>0<256?q:(q|0)>0?255:0;r=r+3|0;q=c+j|0;if((r|0)>=(p|0)){t=q;break}else c=q}}else t=l}else{Jpa(k,i,i,o);t=l}d=d+256|0;if((d|0)>=(e|0))break;else{l=t;m=m+768|0}}u=g;return}function Npa(a){a=a|0;GQa(a);return}function Opa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c;yV(d,61652);e=f[b>>2]|0;g=a+8|0;h=a+16|0;i=b+4|0;if((e|0)<(f[i>>2]|0)){b=(f[a+12>>2]|0)+(X(f[h>>2]|0,e)|0)|0;j=a+24|0;k=a+20|0;l=b;b=e;m=(f[a+4>>2]|0)+(X(f[g>>2]|0,e)|0)|0;while(1){Ppa(f[j>>2]|0,m,l,f[k>>2]|0);b=b+1|0;if((b|0)>=(f[i>>2]|0))break;else{l=l+(f[h>>2]|0)|0;m=m+(f[g>>2]|0)|0}}}if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function Ppa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0.0,k=0,l=0,m=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=f[a+4>>2]|0;i=f[a>>2]|0;j=+n[a+8>>2];a=d*3|0;if((d|0)<=0){u=e;return}d=h^2;k=g+4|0;l=g+8|0;m=g+12|0;if((i|0)==4){o=c;p=0;while(1){q=+n[b+(p+1<<2)>>2];r=+n[b+(p+2<<2)>>2];if(q==0.0){s=r;t=r;v=r}else{w=j*+n[b+(p<<2)>>2];if(!(w<0.0))if(!(w>=6.0))x=w;else{y=w;while(1){z=y+-6.0;if(!(z>=6.0)){x=z;break}else y=z}}else{y=w;while(1){z=y+6.0;if(z<0.0)y=z;else{x=z;break}}}A=~~x;B=A-(x<+(A|0)&1)|0;A=B>>>0>5;y=A?0.0:x-+(B|0);C=A?0:B;n[g>>2]=r;n[k>>2]=r*(1.0-q);n[l>>2]=r*(1.0-q*y);n[m>>2]=r*(1.0-q*(1.0-y));s=+n[g+(f[61672+(C*12|0)+8>>2]<<2)>>2];t=+n[g+(f[61672+(C*12|0)+4>>2]<<2)>>2];v=+n[g+(f[61672+(C*12|0)>>2]<<2)>>2]}n[o+(h<<2)>>2]=v;n[o+4>>2]=t;n[o+(d<<2)>>2]=s;n[o+12>>2]=1.0;p=p+3|0;if((p|0)>=(a|0))break;else o=o+16|0}u=e;return}else{o=c;c=0;while(1){s=+n[b+(c+1<<2)>>2];t=+n[b+(c+2<<2)>>2];if(s==0.0){D=t;E=t;F=t}else{v=j*+n[b+(c<<2)>>2];if(!(v<0.0))if(!(v>=6.0))G=v;else{x=v;while(1){y=x+-6.0;if(!(y>=6.0)){G=y;break}else x=y}}else{x=v;while(1){q=x+6.0;if(q<0.0)x=q;else{G=q;break}}}p=~~G;C=p-(G<+(p|0)&1)|0;p=C>>>0>5;x=p?0.0:G-+(C|0);B=p?0:C;n[g>>2]=t;n[k>>2]=t*(1.0-s);n[l>>2]=t*(1.0-s*x);n[m>>2]=t*(1.0-s*(1.0-x));D=+n[g+(f[61672+(B*12|0)+8>>2]<<2)>>2];E=+n[g+(f[61672+(B*12|0)+4>>2]<<2)>>2];F=+n[g+(f[61672+(B*12|0)>>2]<<2)>>2]}n[o+(h<<2)>>2]=F;n[o+4>>2]=E;n[o+(d<<2)>>2]=D;c=c+3|0;if((c|0)>=(a|0))break;else o=o+(i<<2)|0}u=e;return}}function Qpa(a){a=a|0;GQa(a);return}function Rpa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c;yV(d,61744);e=f[b>>2]|0;g=a+8|0;h=a+16|0;i=b+4|0;if((e|0)<(f[i>>2]|0)){b=(f[a+12>>2]|0)+(X(f[h>>2]|0,e)|0)|0;j=a+24|0;k=a+20|0;l=b;b=e;m=(f[a+4>>2]|0)+(X(f[g>>2]|0,e)|0)|0;while(1){Spa(f[j>>2]|0,m,l,f[k>>2]|0);b=b+1|0;if((b|0)>=(f[i>>2]|0))break;else{l=l+(f[h>>2]|0)|0;m=m+(f[g>>2]|0)|0}}}if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function Spa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0;g=u;u=u+3072|0;i=g;j=f[a>>2]|0;if((e|0)<=0){u=g;return}k=a+4|0;a=(j|0)==4;l=d;d=0;m=c;while(1){c=e-d|0;o=(c|0)<256?c:256;p=o*3|0;q=(c|0)>0;if(q){c=0;do{n[i+(c<<2)>>2]=+(h[m+c>>0]|0);r=c+1|0;n[i+(r<<2)>>2]=+(h[m+r>>0]|0)*.003921568859368563;r=c+2|0;n[i+(r<<2)>>2]=+(h[m+r>>0]|0)*.003921568859368563;c=c+3|0}while((c|0)<(p|0));Ppa(k,i,i,o);if(q)if(a){c=0;r=l;while(1){s=HEa(+n[i+(c<<2)>>2]*255.0)|0;b[r>>0]=s>>>0<256?s:(s|0)>0?255:0;s=HEa(+n[i+(c+1<<2)>>2]*255.0)|0;b[r+1>>0]=s>>>0<256?s:(s|0)>0?255:0;s=HEa(+n[i+(c+2<<2)>>2]*255.0)|0;b[r+2>>0]=s>>>0<256?s:(s|0)>0?255:0;b[r+3>>0]=-1;c=c+3|0;s=r+4|0;if((c|0)>=(p|0)){t=s;break}else r=s}}else{r=0;c=l;while(1){q=HEa(+n[i+(r<<2)>>2]*255.0)|0;b[c>>0]=q>>>0<256?q:(q|0)>0?255:0;q=HEa(+n[i+(r+1<<2)>>2]*255.0)|0;b[c+1>>0]=q>>>0<256?q:(q|0)>0?255:0;q=HEa(+n[i+(r+2<<2)>>2]*255.0)|0;b[c+2>>0]=q>>>0<256?q:(q|0)>0?255:0;r=r+3|0;q=c+j|0;if((r|0)>=(p|0)){t=q;break}else c=q}}else t=l}else{Ppa(k,i,i,o);t=l}d=d+256|0;if((d|0)>=(e|0))break;else{l=t;m=m+768|0}}u=g;return}function Tpa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+128|0;g=e;Upa(g,a,b,3);vpa(f[g+16>>2]|0,f[g+48>>2]|0,f[g+72>>2]|0,f[g+104>>2]|0,f[g+12>>2]|0,f[g+8>>2]|0,f[g+112>>2]|0,f[g+116>>2]|0,c,d,0);Vpa(g);u=e;return}function Upa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;g=u;u=u+64|0;h=g+8|0;i=g;f[a>>2]=1124007936;j=a+4|0;k=a+8|0;l=a+40|0;m=j;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[l>>2]=k;o=a+48|0;p=a+44|0;f[p>>2]=o;f[o>>2]=0;f[a+52>>2]=0;o=a+56|0;f[o>>2]=1124007936;q=a+60|0;r=a+64|0;s=a+96|0;m=q;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[s>>2]=r;t=a+104|0;v=a+100|0;f[v>>2]=t;f[t>>2]=0;f[a+108>>2]=0;t=a+120|0;f[t>>2]=0;w=a+124|0;f[w>>2]=0;x=GJ(c,-1)|0;y=x>>>3;f[a+116>>2]=(y&511)+1;z=a+112|0;f[z>>2]=x&7;if((e|0)==3&(y&510|0)==2)switch(x&7){case 0:case 5:break;default:A=3}else A=3;if((A|0)==3){f[h>>2]=0;f[h+4>>2]=0;m=JV(h,69)|0;x=247788;n=m+69|0;do{b[m>>0]=b[x>>0]|0;m=m+1|0;x=x+1|0}while((m|0)<(n|0));EP(-215,h,247858,247995,253);KV(h)}x=c+4|0;m=d+4|0;if((f[x>>2]|0)!=(f[m>>2]|0)){do if((HJ(c)|0)==65536){n=f[x>>2]|0;f[h>>2]=f[n>>2];y=h+4|0;B=n+4|0;f[y>>2]=f[B>>2];C=h+8|0;f[C>>2]=f[n+8>>2];f[h+12>>2]=f[n+12>>2];f[h+16>>2]=f[n+16>>2];f[h+20>>2]=f[n+20>>2];f[h+24>>2]=f[n+24>>2];f[h+28>>2]=f[n+28>>2];f[h+32>>2]=f[n+32>>2];D=f[n+36>>2]|0;f[h+36>>2]=D;f[h+40>>2]=C;C=h+48|0;E=h+44|0;f[E>>2]=C;f[C>>2]=0;f[h+52>>2]=0;if(D|0){C=D+12|0;f[C>>2]=(f[C>>2]|0)+1}if((f[B>>2]|0)<3){B=f[n+44>>2]|0;C=f[E>>2]|0;f[C>>2]=f[B>>2];f[C+4>>2]=f[B+4>>2];break}else{f[y>>2]=0;WO(h,n);break}}else DJ(h,c,-1);while(0);x=h+36|0;n=f[x>>2]|0;if((a|0)==(h|0))F=n;else{if(n|0){y=n+12|0;f[y>>2]=(f[y>>2]|0)+1}y=a+36|0;n=f[y>>2]|0;if(n|0?(B=n+12|0,n=f[B>>2]|0,f[B>>2]=n+-1,(n|0)==1):0)XO(a);f[y>>2]=0;n=a+16|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;if((f[j>>2]|0)>0){B=f[l>>2]|0;C=0;do{f[B+(C<<2)>>2]=0;C=C+1|0;G=f[j>>2]|0}while((C|0)<(G|0));f[a>>2]=f[h>>2];if((G|0)<3)A=24;else A=26}else{f[a>>2]=f[h>>2];A=24}if((A|0)==24){G=f[h+4>>2]|0;if((G|0)<3){f[j>>2]=G;f[k>>2]=f[h+8>>2];f[a+12>>2]=f[h+12>>2];k=f[h+44>>2]|0;G=f[p>>2]|0;f[G>>2]=f[k>>2];f[G+4>>2]=f[k+4>>2]}else A=26}if((A|0)==26)WO(a,h);f[n>>2]=f[h+16>>2];f[a+20>>2]=f[h+20>>2];f[a+24>>2]=f[h+24>>2];f[a+28>>2]=f[h+28>>2];f[a+32>>2]=f[h+32>>2];n=f[x>>2]|0;f[y>>2]=n;F=n}if(F|0?(n=F+12|0,F=f[n>>2]|0,f[n>>2]=F+-1,(F|0)==1):0)XO(h);f[x>>2]=0;x=h+16|0;F=h+4|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;if((f[F>>2]|0)>0){x=f[h+40>>2]|0;n=0;do{f[x+(n<<2)>>2]=0;n=n+1|0}while((n|0)<(f[F>>2]|0))}F=f[h+44>>2]|0;if((F|0)!=(h+48|0))dX(F)}else{F=h+8|0;f[F>>2]=0;f[F+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=a;XJ(c,h)}c=f[l>>2]|0;l=f[c+4>>2]|0;F=f[c>>2]|0;f[t>>2]=l;f[w>>2]=F;f[i>>2]=l;f[i+4>>2]=F;_J(d,i,f[z>>2]&7|(e<<3)+-8,-1,0,0);do if((HJ(d)|0)==65536){e=f[m>>2]|0;f[h>>2]=f[e>>2];z=h+4|0;i=e+4|0;f[z>>2]=f[i>>2];F=h+8|0;f[F>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];f[h+24>>2]=f[e+24>>2];f[h+28>>2]=f[e+28>>2];f[h+32>>2]=f[e+32>>2];l=f[e+36>>2]|0;f[h+36>>2]=l;f[h+40>>2]=F;F=h+48|0;w=h+44|0;f[w>>2]=F;f[F>>2]=0;f[h+52>>2]=0;if(l|0){F=l+12|0;f[F>>2]=(f[F>>2]|0)+1}if((f[i>>2]|0)<3){i=f[e+44>>2]|0;F=f[w>>2]|0;f[F>>2]=f[i>>2];f[F+4>>2]=f[i+4>>2];break}else{f[z>>2]=0;WO(h,e);break}}else DJ(h,d,-1);while(0);d=h+36|0;m=f[d>>2]|0;if((o|0)==(h|0))H=m;else{if(m|0){e=m+12|0;f[e>>2]=(f[e>>2]|0)+1}e=a+92|0;m=f[e>>2]|0;if(m|0?(z=m+12|0,m=f[z>>2]|0,f[z>>2]=m+-1,(m|0)==1):0)XO(o);f[e>>2]=0;m=a+72|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;if((f[q>>2]|0)>0){z=f[s>>2]|0;s=0;do{f[z+(s<<2)>>2]=0;s=s+1|0;I=f[q>>2]|0}while((s|0)<(I|0));f[o>>2]=f[h>>2];if((I|0)<3)A=55;else A=57}else{f[o>>2]=f[h>>2];A=55}if((A|0)==55){I=f[h+4>>2]|0;if((I|0)<3){f[q>>2]=I;f[r>>2]=f[h+8>>2];f[a+68>>2]=f[h+12>>2];r=f[h+44>>2]|0;I=f[v>>2]|0;f[I>>2]=f[r>>2];f[I+4>>2]=f[r+4>>2]}else A=57}if((A|0)==57)WO(o,h);f[m>>2]=f[h+16>>2];f[a+76>>2]=f[h+20>>2];f[a+80>>2]=f[h+24>>2];f[a+84>>2]=f[h+28>>2];f[a+88>>2]=f[h+32>>2];a=f[d>>2]|0;f[e>>2]=a;H=a}if(H|0?(a=H+12|0,H=f[a>>2]|0,f[a>>2]=H+-1,(H|0)==1):0)XO(h);f[d>>2]=0;d=h+16|0;H=h+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[H>>2]|0)>0){d=f[h+40>>2]|0;a=0;do{f[d+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[H>>2]|0))}H=f[h+44>>2]|0;if((H|0)==(h+48|0)){u=g;return}dX(H);u=g;return}function Vpa(a){a=a|0;var b=0,c=0,d=0,e=0;b=a+56|0;c=a+92|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+72|0;b=a+60|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+96>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+100>>2]|0;if((b|0)!=(a+104|0))dX(b);b=a+36|0;d=f[b>>2]|0;if(d|0?(c=d+12|0,d=f[c>>2]|0,f[c>>2]=d+-1,(d|0)==1):0)XO(a);f[b>>2]=0;b=a+16|0;d=a+4|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[d>>2]|0)>0){b=f[a+40>>2]|0;c=0;do{f[b+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[d>>2]|0))}d=f[a+44>>2]|0;if((d|0)==(a+48|0))return;dX(d);return}function Wpa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+128|0;g=e;Upa(g,a,b,3);vpa(f[g+16>>2]|0,f[g+48>>2]|0,f[g+72>>2]|0,f[g+104>>2]|0,f[g+12>>2]|0,f[g+8>>2]|0,f[g+112>>2]|0,f[g+116>>2]|0,c,d,1);Vpa(g);u=e;return}function Xpa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=u;u=u+128|0;h=g;i=(c|0)<1?3:c;Ypa(h,a,b,i);Gpa(f[h+16>>2]|0,f[h+48>>2]|0,f[h+72>>2]|0,f[h+104>>2]|0,f[h+12>>2]|0,f[h+8>>2]|0,f[h+112>>2]|0,i,d,e,0);Zpa(h);u=g;return}function Ypa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;g=u;u=u+64|0;h=g+8|0;i=g;f[a>>2]=1124007936;j=a+4|0;k=a+8|0;l=a+40|0;m=j;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[l>>2]=k;o=a+48|0;p=a+44|0;f[p>>2]=o;f[o>>2]=0;f[a+52>>2]=0;o=a+56|0;f[o>>2]=1124007936;q=a+60|0;r=a+64|0;s=a+96|0;m=q;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[s>>2]=r;t=a+104|0;v=a+100|0;f[v>>2]=t;f[t>>2]=0;f[a+108>>2]=0;t=a+120|0;f[t>>2]=0;w=a+124|0;f[w>>2]=0;x=GJ(c,-1)|0;y=(x>>>3&511)+1|0;f[a+116>>2]=y;z=a+112|0;f[z>>2]=x&7;if((e+-3|0)>>>0<2&(y|0)==3)switch(x&7){case 0:case 5:break;default:A=3}else A=3;if((A|0)==3){f[h>>2]=0;f[h+4>>2]=0;m=JV(h,69)|0;x=247788;n=m+69|0;do{b[m>>0]=b[x>>0]|0;m=m+1|0;x=x+1|0}while((m|0)<(n|0));EP(-215,h,247858,247995,253);KV(h)}x=c+4|0;m=d+4|0;if((f[x>>2]|0)!=(f[m>>2]|0)){do if((HJ(c)|0)==65536){n=f[x>>2]|0;f[h>>2]=f[n>>2];y=h+4|0;B=n+4|0;f[y>>2]=f[B>>2];C=h+8|0;f[C>>2]=f[n+8>>2];f[h+12>>2]=f[n+12>>2];f[h+16>>2]=f[n+16>>2];f[h+20>>2]=f[n+20>>2];f[h+24>>2]=f[n+24>>2];f[h+28>>2]=f[n+28>>2];f[h+32>>2]=f[n+32>>2];D=f[n+36>>2]|0;f[h+36>>2]=D;f[h+40>>2]=C;C=h+48|0;E=h+44|0;f[E>>2]=C;f[C>>2]=0;f[h+52>>2]=0;if(D|0){C=D+12|0;f[C>>2]=(f[C>>2]|0)+1}if((f[B>>2]|0)<3){B=f[n+44>>2]|0;C=f[E>>2]|0;f[C>>2]=f[B>>2];f[C+4>>2]=f[B+4>>2];break}else{f[y>>2]=0;WO(h,n);break}}else DJ(h,c,-1);while(0);x=h+36|0;n=f[x>>2]|0;if((a|0)==(h|0))F=n;else{if(n|0){y=n+12|0;f[y>>2]=(f[y>>2]|0)+1}y=a+36|0;n=f[y>>2]|0;if(n|0?(B=n+12|0,n=f[B>>2]|0,f[B>>2]=n+-1,(n|0)==1):0)XO(a);f[y>>2]=0;n=a+16|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;if((f[j>>2]|0)>0){B=f[l>>2]|0;C=0;do{f[B+(C<<2)>>2]=0;C=C+1|0;G=f[j>>2]|0}while((C|0)<(G|0));f[a>>2]=f[h>>2];if((G|0)<3)A=24;else A=26}else{f[a>>2]=f[h>>2];A=24}if((A|0)==24){G=f[h+4>>2]|0;if((G|0)<3){f[j>>2]=G;f[k>>2]=f[h+8>>2];f[a+12>>2]=f[h+12>>2];k=f[h+44>>2]|0;G=f[p>>2]|0;f[G>>2]=f[k>>2];f[G+4>>2]=f[k+4>>2]}else A=26}if((A|0)==26)WO(a,h);f[n>>2]=f[h+16>>2];f[a+20>>2]=f[h+20>>2];f[a+24>>2]=f[h+24>>2];f[a+28>>2]=f[h+28>>2];f[a+32>>2]=f[h+32>>2];n=f[x>>2]|0;f[y>>2]=n;F=n}if(F|0?(n=F+12|0,F=f[n>>2]|0,f[n>>2]=F+-1,(F|0)==1):0)XO(h);f[x>>2]=0;x=h+16|0;F=h+4|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;if((f[F>>2]|0)>0){x=f[h+40>>2]|0;n=0;do{f[x+(n<<2)>>2]=0;n=n+1|0}while((n|0)<(f[F>>2]|0))}F=f[h+44>>2]|0;if((F|0)!=(h+48|0))dX(F)}else{F=h+8|0;f[F>>2]=0;f[F+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=a;XJ(c,h)}c=f[l>>2]|0;l=f[c+4>>2]|0;F=f[c>>2]|0;f[t>>2]=l;f[w>>2]=F;f[i>>2]=l;f[i+4>>2]=F;_J(d,i,f[z>>2]&7|(e<<3)+-8,-1,0,0);do if((HJ(d)|0)==65536){e=f[m>>2]|0;f[h>>2]=f[e>>2];z=h+4|0;i=e+4|0;f[z>>2]=f[i>>2];F=h+8|0;f[F>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];f[h+24>>2]=f[e+24>>2];f[h+28>>2]=f[e+28>>2];f[h+32>>2]=f[e+32>>2];l=f[e+36>>2]|0;f[h+36>>2]=l;f[h+40>>2]=F;F=h+48|0;w=h+44|0;f[w>>2]=F;f[F>>2]=0;f[h+52>>2]=0;if(l|0){F=l+12|0;f[F>>2]=(f[F>>2]|0)+1}if((f[i>>2]|0)<3){i=f[e+44>>2]|0;F=f[w>>2]|0;f[F>>2]=f[i>>2];f[F+4>>2]=f[i+4>>2];break}else{f[z>>2]=0;WO(h,e);break}}else DJ(h,d,-1);while(0);d=h+36|0;m=f[d>>2]|0;if((o|0)==(h|0))H=m;else{if(m|0){e=m+12|0;f[e>>2]=(f[e>>2]|0)+1}e=a+92|0;m=f[e>>2]|0;if(m|0?(z=m+12|0,m=f[z>>2]|0,f[z>>2]=m+-1,(m|0)==1):0)XO(o);f[e>>2]=0;m=a+72|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;if((f[q>>2]|0)>0){z=f[s>>2]|0;s=0;do{f[z+(s<<2)>>2]=0;s=s+1|0;I=f[q>>2]|0}while((s|0)<(I|0));f[o>>2]=f[h>>2];if((I|0)<3)A=55;else A=57}else{f[o>>2]=f[h>>2];A=55}if((A|0)==55){I=f[h+4>>2]|0;if((I|0)<3){f[q>>2]=I;f[r>>2]=f[h+8>>2];f[a+68>>2]=f[h+12>>2];r=f[h+44>>2]|0;I=f[v>>2]|0;f[I>>2]=f[r>>2];f[I+4>>2]=f[r+4>>2]}else A=57}if((A|0)==57)WO(o,h);f[m>>2]=f[h+16>>2];f[a+76>>2]=f[h+20>>2];f[a+80>>2]=f[h+24>>2];f[a+84>>2]=f[h+28>>2];f[a+88>>2]=f[h+32>>2];a=f[d>>2]|0;f[e>>2]=a;H=a}if(H|0?(a=H+12|0,H=f[a>>2]|0,f[a>>2]=H+-1,(H|0)==1):0)XO(h);f[d>>2]=0;d=h+16|0;H=h+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[H>>2]|0)>0){d=f[h+40>>2]|0;a=0;do{f[d+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[H>>2]|0))}H=f[h+44>>2]|0;if((H|0)==(h+48|0)){u=g;return}dX(H);u=g;return}function Zpa(a){a=a|0;var b=0,c=0,d=0,e=0;b=a+56|0;c=a+92|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+72|0;b=a+60|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+96>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+100>>2]|0;if((b|0)!=(a+104|0))dX(b);b=a+36|0;d=f[b>>2]|0;if(d|0?(c=d+12|0,d=f[c>>2]|0,f[c>>2]=d+-1,(d|0)==1):0)XO(a);f[b>>2]=0;b=a+16|0;d=a+4|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[d>>2]|0)>0){b=f[a+40>>2]|0;c=0;do{f[b+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[d>>2]|0))}d=f[a+44>>2]|0;if((d|0)==(a+48|0))return;dX(d);return}function _pa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=u;u=u+128|0;h=g;i=(c|0)<1?3:c;Ypa(h,a,b,i);Gpa(f[h+16>>2]|0,f[h+48>>2]|0,f[h+72>>2]|0,f[h+104>>2]|0,f[h+12>>2]|0,f[h+8>>2]|0,f[h+112>>2]|0,i,d,e,1);Zpa(h);u=g;return}function $pa(){var a=0,b=0,c=0,d=0,e=0;a=u;u=u+32|0;b=a+8|0;c=a;d=a+16|0;e=453360;f[e>>2]=1149814285;f[e+4>>2]=1071277473;e=453368;f[e>>2]=963447064;f[e+4>>2]=1071047319;e=453376;f[e>>2]=-768008872;f[e+4>>2]=1070012441;e=453384;f[e>>2]=-1494786058;f[e+4>>2]=1070282957;e=453392;f[e>>2]=963447064;f[e+4>>2]=1072095895;e=453400;f[e>>2]=-423037099;f[e+4>>2]=1068661162;e=453408;f[e>>2]=-959598773;f[e+4>>2]=1066650698;e=453416;f[e>>2]=-1259765448;f[e+4>>2]=1069450094;e=453424;f[e>>2]=1947784849;f[e+4>>2]=1072588866;e=453432;f[e>>2]=1090715535;f[e+4>>2]=1074392192;e=453440;f[e>>2]=-1724858866;f[e+4>>2]=-1074227158;e=453448;f[e>>2]=1480217529;f[e+4>>2]=-1075845121;e=453456;f[e>>2]=682521843;f[e+4>>2]=-1074854875;e=453464;f[e>>2]=596210180;f[e+4>>2]=1073611791;e=453472;f[e>>2]=-102254581;f[e+4>>2]=1067796179;e=453480;f[e>>2]=137164076;f[e+4>>2]=1068269029;e=453488;f[e>>2]=-1107483087;f[e+4>>2]=-1077273068;e=453496;f[e>>2]=-261408890;f[e+4>>2]=1072753342;e=453504;f[e>>2]=-1282855192;f[e+4>>2]=1072589346;e=453512;f[e>>2]=0;f[e+4>>2]=1072693248;e=453520;f[e>>2]=1349925401;f[e+4>>2]=1072786313;sAa(b,2048);sAa(c,3);zAa(d,b,c);f[201780]=f[d>>2];sAa(807124,-134);sAa(807128,220);xAa(807132,807128,807124);sAa(807136,-140);sAa(807140,122);xAa(807144,807140,807136);CAa(b,809);CAa(c,2e4);PAa(453528,b,c);CAa(b,7827);CAa(c,25e5);PAa(453536,b,c);CAa(b,323);CAa(c,25);PAa(453544,b,c);CAa(b,12);CAa(c,5);PAa(453552,b,c);CAa(b,11);CAa(c,200);PAa(453560,b,c);sAa(b,216);sAa(c,24389);zAa(807148,b,c);sAa(b,841);sAa(c,108);zAa(807152,b,c);sAa(b,16);sAa(c,116);zAa(807156,b,c);sAa(807160,255);u=a;return}function aqa(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0;k=u;u=u+96|0;l=k+80|0;m=k+48|0;o=k+40|0;q=k;yV(o,61764);switch(h|0){case 0:{f[q>>2]=i;h=q+4|0;r=h;s=61784;t=r+36|0;do{f[r>>2]=f[s>>2];r=r+4|0;s=s+4|0}while((r|0)<(t|0));if(!j){f[h>>2]=739;f[q+12>>2]=1689;f[q+16>>2]=296;f[q+24>>2]=871;f[q+28>>2]=3892;f[q+36>>2]=79}f[l>>2]=0;f[l+4>>2]=g;f[m>>2]=61828;f[m+4>>2]=a;f[m+8>>2]=b;f[m+12>>2]=c;f[m+16>>2]=d;f[m+20>>2]=e;f[m+24>>2]=q;$Z(l,m,+(X(g,e)|0)*.0000152587890625);break}case 2:{f[q>>2]=i;h=q+4|0;r=h;s=61784;t=r+36|0;do{f[r>>2]=f[s>>2];r=r+4|0;s=s+4|0}while((r|0)<(t|0));if(!j){f[h>>2]=739;f[q+12>>2]=1689;f[q+16>>2]=296;f[q+24>>2]=871;f[q+28>>2]=3892;f[q+36>>2]=79}f[l>>2]=0;f[l+4>>2]=g;f[m>>2]=61848;f[m+4>>2]=a;f[m+8>>2]=b;f[m+12>>2]=c;f[m+16>>2]=d;f[m+20>>2]=e;f[m+24>>2]=q;$Z(l,m,+(X(g,e)|0)*.0000152587890625);break}default:{f[q>>2]=i;v=+p[56670];i=q+4|0;n[i>>2]=v;n[q+8>>2]=+p[56671];w=+p[56672];h=q+12|0;n[h>>2]=w;x=+p[56673];s=q+16|0;n[s>>2]=x;n[q+20>>2]=+p[56674];y=+p[56675];r=q+24|0;n[r>>2]=y;z=+p[56676];t=q+28|0;n[t>>2]=z;n[q+32>>2]=+p[56677];A=+p[56678];B=q+36|0;n[B>>2]=A;if(!j){n[i>>2]=w;n[h>>2]=v;n[s>>2]=y;n[r>>2]=x;n[t>>2]=A;n[B>>2]=z}f[l>>2]=0;f[l+4>>2]=g;f[m>>2]=61868;f[m+4>>2]=a;f[m+8>>2]=b;f[m+12>>2]=c;f[m+16>>2]=d;f[m+20>>2]=e;f[m+24>>2]=q;$Z(l,m,+(X(g,e)|0)*.0000152587890625)}}if(!(f[o+4>>2]|0)){u=k;return}u=k;return}function bqa(a){a=a|0;GQa(a);return}function cqa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0,B=0.0,C=0.0,D=0.0;c=u;u=u+16|0;d=c;yV(d,61880);e=f[b>>2]|0;g=f[b+4>>2]|0;a:do if((e|0)<(g|0)){b=f[a+16>>2]|0;h=f[a+8>>2]|0;i=a+24|0;j=f[a+20>>2]|0;k=j*3|0;if((j|0)<=0){j=e;while(1){j=j+1|0;if((j|0)>=(g|0))break a}}j=(f[a+4>>2]|0)+(X(h,e)|0)|0;l=(f[a+12>>2]|0)+(X(b,e)|0)|0;m=e;o=j;while(1){j=f[i>>2]|0;p=f[j>>2]|0;q=+n[j+4>>2];r=+n[j+8>>2];s=+n[j+12>>2];t=+n[j+16>>2];v=+n[j+20>>2];w=+n[j+24>>2];x=+n[j+28>>2];y=+n[j+32>>2];z=+n[j+36>>2];j=0;A=o;while(1){B=+n[A>>2];C=+n[A+4>>2];D=+n[A+8>>2];n[l+(j<<2)>>2]=q*B+r*C+s*D;n[l+(j+1<<2)>>2]=t*B+v*C+w*D;n[l+(j+2<<2)>>2]=x*B+y*C+z*D;j=j+3|0;if((j|0)>=(k|0))break;else A=A+(p<<2)|0}m=m+1|0;if((m|0)>=(g|0))break;else{l=l+b|0;o=o+h|0}}}while(0);if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function dqa(a){a=a|0;GQa(a);return}function eqa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c;yV(d,61900);e=f[b>>2]|0;g=a+8|0;h=a+16|0;i=b+4|0;if((e|0)<(f[i>>2]|0)){b=(f[a+12>>2]|0)+(X(f[h>>2]|0,e)|0)|0;j=a+24|0;k=a+20|0;l=b;b=e;m=(f[a+4>>2]|0)+(X(f[g>>2]|0,e)|0)|0;while(1){fqa(f[j>>2]|0,m,l,f[k>>2]|0);b=b+1|0;if((b|0)>=(f[i>>2]|0))break;else{l=l+(f[h>>2]|0)|0;m=m+(f[g>>2]|0)|0}}}if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function fqa(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;g=f[a>>2]|0;h=f[a+4>>2]|0;i=f[a+8>>2]|0;k=f[a+12>>2]|0;l=f[a+16>>2]|0;m=f[a+20>>2]|0;n=f[a+24>>2]|0;o=f[a+28>>2]|0;p=f[a+32>>2]|0;q=f[a+36>>2]|0;a=e*3|0;if((e|0)>0){r=0;s=b}else return;while(1){b=j[s>>1]|0;e=X(h,b)|0;t=j[s+2>>1]|0;u=X(i,t)|0;v=j[s+4>>1]|0;w=e+2048+u+(X(k,v)|0)>>12;u=(X(l,b)|0)+2048+(X(m,t)|0)+(X(n,v)|0)>>12;e=(X(o,b)|0)+2048+(X(p,t)|0)+(X(q,v)|0)>>12;d[c+(r<<1)>>1]=w>>>0<65536?w:(w|0)>0?65535:0;d[c+(r+1<<1)>>1]=u>>>0<65536?u:(u|0)>0?65535:0;d[c+(r+2<<1)>>1]=e>>>0<65536?e:(e|0)>0?65535:0;r=r+3|0;if((r|0)>=(a|0))break;else s=s+(g<<1)|0}return}function gqa(a){a=a|0;GQa(a);return}function hqa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c;yV(d,61920);e=f[b>>2]|0;g=a+8|0;h=a+16|0;i=b+4|0;if((e|0)<(f[i>>2]|0)){b=(f[a+12>>2]|0)+(X(f[h>>2]|0,e)|0)|0;j=a+24|0;k=a+20|0;l=b;b=e;m=(f[a+4>>2]|0)+(X(f[g>>2]|0,e)|0)|0;while(1){iqa(f[j>>2]|0,m,l,f[k>>2]|0);b=b+1|0;if((b|0)>=(f[i>>2]|0))break;else{l=l+(f[h>>2]|0)|0;m=m+(f[g>>2]|0)|0}}}if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function iqa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;g=f[a>>2]|0;i=f[a+4>>2]|0;j=f[a+8>>2]|0;k=f[a+12>>2]|0;l=f[a+16>>2]|0;m=f[a+20>>2]|0;n=f[a+24>>2]|0;o=f[a+28>>2]|0;p=f[a+32>>2]|0;q=f[a+36>>2]|0;a=e*3|0;if((e|0)>0){r=0;s=c}else return;while(1){c=h[s>>0]|0;e=X(i,c)|0;t=h[s+1>>0]|0;u=X(j,t)|0;v=h[s+2>>0]|0;w=e+2048+u+(X(k,v)|0)>>12;u=(X(l,c)|0)+2048+(X(m,t)|0)+(X(n,v)|0)>>12;e=(X(o,c)|0)+2048+(X(p,t)|0)+(X(q,v)|0)>>12;b[d+r>>0]=w>>>0<256?w:(w|0)>0?255:0;b[d+(r+1)>>0]=u>>>0<256?u:(u|0)>0?255:0;b[d+(r+2)>>0]=e>>>0<256?e:(e|0)>0?255:0;r=r+3|0;if((r|0)>=(a|0))break;else s=s+g|0}return}function jqa(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;k=u;u=u+96|0;l=k+88|0;m=k+56|0;o=k+48|0;q=k;yV(o,61940);r=j?2:0;switch(h|0){case 0:{f[q>>2]=i;f[q+4>>2]=r;h=q+8|0;s=h;t=61960;v=s+36|0;do{f[s>>2]=f[t>>2];s=s+4|0;t=t+4|0}while((s|0)<(v|0));if(!j){f[h>>2]=228;f[q+32>>2]=13273;f[q+12>>2]=-836;f[q+36>>2]=-6296;f[q+16>>2]=4331;f[q+40>>2]=-2042}f[l>>2]=0;f[l+4>>2]=g;f[m>>2]=62004;f[m+4>>2]=a;f[m+8>>2]=b;f[m+12>>2]=c;f[m+16>>2]=d;f[m+20>>2]=e;f[m+24>>2]=q;$Z(l,m,+(X(g,e)|0)*.0000152587890625);break}case 2:{f[q>>2]=i;f[q+4>>2]=r;h=q+8|0;s=h;t=61960;v=s+36|0;do{f[s>>2]=f[t>>2];s=s+4|0;t=t+4|0}while((s|0)<(v|0));if(!j){f[h>>2]=228;f[q+32>>2]=13273;f[q+12>>2]=-836;f[q+36>>2]=-6296;f[q+16>>2]=4331;f[q+40>>2]=-2042}f[l>>2]=0;f[l+4>>2]=g;f[m>>2]=62024;f[m+4>>2]=a;f[m+8>>2]=b;f[m+12>>2]=c;f[m+16>>2]=d;f[m+20>>2]=e;f[m+24>>2]=q;$Z(l,m,+(X(g,e)|0)*.0000152587890625);break}default:{f[q>>2]=i;f[q+4>>2]=r;w=+p[56679];r=q+8|0;n[r>>2]=w;x=+p[56680];i=q+12|0;n[i>>2]=x;y=+p[56681];h=q+16|0;n[h>>2]=y;n[q+20>>2]=+p[56682];n[q+24>>2]=+p[56683];n[q+28>>2]=+p[56684];z=+p[56685];t=q+32|0;n[t>>2]=z;A=+p[56686];s=q+36|0;n[s>>2]=A;B=+p[56687];v=q+40|0;n[v>>2]=B;if(!j){n[r>>2]=z;n[t>>2]=w;n[i>>2]=A;n[s>>2]=x;n[h>>2]=B;n[v>>2]=y}f[l>>2]=0;f[l+4>>2]=g;f[m>>2]=62044;f[m+4>>2]=a;f[m+8>>2]=b;f[m+12>>2]=c;f[m+16>>2]=d;f[m+20>>2]=e;f[m+24>>2]=q;$Z(l,m,+(X(g,e)|0)*.0000152587890625)}}if(!(f[o+4>>2]|0)){u=k;return}u=k;return}function kqa(a){a=a|0;GQa(a);return}function lqa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c;yV(d,62056);e=f[b>>2]|0;g=a+8|0;h=a+16|0;i=b+4|0;if((e|0)<(f[i>>2]|0)){b=(f[a+12>>2]|0)+(X(f[h>>2]|0,e)|0)|0;j=a+24|0;k=a+20|0;l=b;b=e;m=(f[a+4>>2]|0)+(X(f[g>>2]|0,e)|0)|0;while(1){mqa(f[j>>2]|0,m,l,f[k>>2]|0);b=b+1|0;if((b|0)>=(f[i>>2]|0))break;else{l=l+(f[h>>2]|0)|0;m=m+(f[g>>2]|0)|0}}}if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function mqa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0.0;e=f[a>>2]|0;g=+n[a+8>>2];h=+n[a+12>>2];i=+n[a+16>>2];j=+n[a+20>>2];k=+n[a+24>>2];l=+n[a+28>>2];m=+n[a+32>>2];o=+n[a+36>>2];p=+n[a+40>>2];a=d*3|0;if((d|0)<=0)return;if((e|0)==4){d=0;q=c;while(1){r=+n[b+(d<<2)>>2];s=+n[b+(d+1<<2)>>2];t=+n[b+(d+2<<2)>>2];n[q>>2]=g*r+h*s+i*t;n[q+4>>2]=j*r+k*s+l*t;n[q+8>>2]=m*r+o*s+p*t;n[q+12>>2]=1.0;d=d+3|0;if((d|0)>=(a|0))break;else q=q+16|0}return}else{q=0;d=c;while(1){t=+n[b+(q<<2)>>2];s=+n[b+(q+1<<2)>>2];r=+n[b+(q+2<<2)>>2];n[d>>2]=g*t+h*s+i*r;n[d+4>>2]=j*t+k*s+l*r;n[d+8>>2]=m*t+o*s+p*r;q=q+3|0;if((q|0)>=(a|0))break;else d=d+(e<<2)|0}return}}function nqa(a){a=a|0;GQa(a);return}function oqa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c;yV(d,62076);e=f[b>>2]|0;g=a+8|0;h=a+16|0;i=b+4|0;if((e|0)<(f[i>>2]|0)){b=(f[a+12>>2]|0)+(X(f[h>>2]|0,e)|0)|0;j=a+24|0;k=a+20|0;l=b;b=e;m=(f[a+4>>2]|0)+(X(f[g>>2]|0,e)|0)|0;while(1){pqa(f[j>>2]|0,m,l,f[k>>2]|0);b=b+1|0;if((b|0)>=(f[i>>2]|0))break;else{l=l+(f[h>>2]|0)|0;m=m+(f[g>>2]|0)|0}}}if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function pqa(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;g=f[a>>2]|0;h=f[a+8>>2]|0;i=f[a+12>>2]|0;k=f[a+16>>2]|0;l=f[a+20>>2]|0;m=f[a+24>>2]|0;n=f[a+28>>2]|0;o=f[a+32>>2]|0;p=f[a+36>>2]|0;q=f[a+40>>2]|0;a=e*3|0;if((e|0)<=0)return;if((g|0)==4){e=0;r=c;while(1){s=j[b+(e<<1)>>1]|0;t=X(h,s)|0;u=j[b+(e+1<<1)>>1]|0;v=X(i,u)|0;w=j[b+(e+2<<1)>>1]|0;x=t+2048+v+(X(k,w)|0)>>12;v=(X(l,s)|0)+2048+(X(m,u)|0)+(X(n,w)|0)>>12;t=(X(o,s)|0)+2048+(X(p,u)|0)+(X(q,w)|0)>>12;d[r>>1]=x>>>0<65536?x:(x|0)>0?65535:0;d[r+2>>1]=v>>>0<65536?v:(v|0)>0?65535:0;d[r+4>>1]=t>>>0<65536?t:(t|0)>0?65535:0;d[r+6>>1]=-1;e=e+3|0;if((e|0)>=(a|0))break;else r=r+8|0}return}else{r=0;e=c;while(1){c=j[b+(r<<1)>>1]|0;t=X(h,c)|0;v=j[b+(r+1<<1)>>1]|0;x=X(i,v)|0;w=j[b+(r+2<<1)>>1]|0;u=t+2048+x+(X(k,w)|0)>>12;x=(X(l,c)|0)+2048+(X(m,v)|0)+(X(n,w)|0)>>12;t=(X(o,c)|0)+2048+(X(p,v)|0)+(X(q,w)|0)>>12;d[e>>1]=u>>>0<65536?u:(u|0)>0?65535:0;d[e+2>>1]=x>>>0<65536?x:(x|0)>0?65535:0;d[e+4>>1]=t>>>0<65536?t:(t|0)>0?65535:0;r=r+3|0;if((r|0)>=(a|0))break;else e=e+(g<<1)|0}return}}function qqa(a){a=a|0;GQa(a);return}function rqa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c;yV(d,62096);e=f[b>>2]|0;g=a+8|0;h=a+16|0;i=b+4|0;if((e|0)<(f[i>>2]|0)){b=(f[a+12>>2]|0)+(X(f[h>>2]|0,e)|0)|0;j=a+24|0;k=a+20|0;l=b;b=e;m=(f[a+4>>2]|0)+(X(f[g>>2]|0,e)|0)|0;while(1){sqa(f[j>>2]|0,m,l,f[k>>2]|0);b=b+1|0;if((b|0)>=(f[i>>2]|0))break;else{l=l+(f[h>>2]|0)|0;m=m+(f[g>>2]|0)|0}}}if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function sqa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;g=f[a>>2]|0;i=f[a+8>>2]|0;j=f[a+12>>2]|0;k=f[a+16>>2]|0;l=f[a+20>>2]|0;m=f[a+24>>2]|0;n=f[a+28>>2]|0;o=f[a+32>>2]|0;p=f[a+36>>2]|0;q=f[a+40>>2]|0;a=e*3|0;if((e|0)<=0)return;if((g|0)==4){e=0;r=d;while(1){s=h[c+e>>0]|0;t=X(i,s)|0;u=h[c+(e+1)>>0]|0;v=X(j,u)|0;w=h[c+(e+2)>>0]|0;x=t+2048+v+(X(k,w)|0)>>12;v=(X(l,s)|0)+2048+(X(m,u)|0)+(X(n,w)|0)>>12;t=(X(o,s)|0)+2048+(X(p,u)|0)+(X(q,w)|0)>>12;b[r>>0]=x>>>0<256?x:(x|0)>0?255:0;b[r+1>>0]=v>>>0<256?v:(v|0)>0?255:0;b[r+2>>0]=t>>>0<256?t:(t|0)>0?255:0;b[r+3>>0]=-1;e=e+3|0;if((e|0)>=(a|0))break;else r=r+4|0}return}else{r=0;e=d;while(1){d=h[c+r>>0]|0;t=X(i,d)|0;v=h[c+(r+1)>>0]|0;x=X(j,v)|0;w=h[c+(r+2)>>0]|0;u=t+2048+x+(X(k,w)|0)>>12;x=(X(l,d)|0)+2048+(X(m,v)|0)+(X(n,w)|0)>>12;t=(X(o,d)|0)+2048+(X(p,v)|0)+(X(q,w)|0)>>12;b[e>>0]=u>>>0<256?u:(u|0)>0?255:0;b[e+1>>0]=x>>>0<256?x:(x|0)>0?255:0;b[e+2>>0]=t>>>0<256?t:(t|0)>0?255:0;r=r+3|0;if((r|0)>=(a|0))break;else e=e+g|0}return}}function tqa(a,c,d,e,g,h,i,j,k,l,m){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0;n=u;u=u+128|0;o=n+112|0;p=n+80|0;q=n+72|0;r=n;yV(q,62116);s=k?2:0;k=(i|0)==0;do if(l)if(k){uqa(r,j,s,0,0,m);f[o>>2]=0;f[o+4>>2]=h;f[p>>2]=62144;f[p+4>>2]=a;f[p+8>>2]=c;f[p+12>>2]=d;f[p+16>>2]=e;f[p+20>>2]=g;f[p+24>>2]=r;$Z(o,p,+(X(h,g)|0)*.0000152587890625);break}else{vqa(r,j,s,0,0,m);f[o>>2]=0;f[o+4>>2]=h;f[p>>2]=62164;f[p+4>>2]=a;f[p+8>>2]=c;f[p+12>>2]=d;f[p+16>>2]=e;f[p+20>>2]=g;f[p+24>>2]=r;$Z(o,p,+(X(h,g)|0)*.0000152587890625);break}else if(k){f[r>>2]=j;wqa(r+4|0,3,s,0,0,m);f[r+56>>2]=j;f[r+60>>2]=s;xqa();b[r+64>>0]=m&1;f[o>>2]=0;f[o+4>>2]=h;f[p>>2]=62184;f[p+4>>2]=a;f[p+8>>2]=c;f[p+12>>2]=d;f[p+16>>2]=e;f[p+20>>2]=g;f[p+24>>2]=r;$Z(o,p,+(X(h,g)|0)*.0000152587890625);break}else{wqa(r,j,s,0,0,m);f[r+52>>2]=j;f[o>>2]=0;f[o+4>>2]=h;f[p>>2]=62204;f[p+4>>2]=a;f[p+8>>2]=c;f[p+12>>2]=d;f[p+16>>2]=e;f[p+20>>2]=g;f[p+24>>2]=r;$Z(o,p,+(X(h,g)|0)*.0000152587890625);break}while(0);if(!(f[q+4>>2]|0)){u=n;return}u=n;return}function uqa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;i=u;u=u+80|0;j=i+56|0;k=i+32|0;l=i+24|0;m=i+16|0;o=i+8|0;q=i;f[a>>2]=c;b[a+40>>0]=h&1;xqa();f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;if(!g){f[j>>2]=f[113376];f[j+4>>2]=f[113377];f[j+8>>2]=f[113378];f[j+12>>2]=f[113379];f[j+16>>2]=f[113380];f[j+20>>2]=f[113381]}else{p[j>>3]=+n[g>>2];p[j+8>>3]=+n[g+4>>2];p[j+16>>3]=+n[g+8>>2]}if((b[453768]|0)==0?jVa(453768)|0:0)CAa(453776,4096);if((f[15574]|0)<=0){u=i;return}g=(e|0)==0;h=d^2;c=k+8|0;r=k+16|0;s=l+4|0;t=k+8|0;v=k+16|0;w=0;do{f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;x=w*3|0;if(g){y=453360+(x<<3)|0;if((y|0)!=(k|0)){z=y;y=f[z+4>>2]|0;A=k;f[A>>2]=f[z>>2];f[A+4>>2]=y}y=x+1|0;A=453360+(y<<3)|0;if((A|0)!=(c|0)){z=A;A=f[z+4>>2]|0;B=c;f[B>>2]=f[z>>2];f[B+4>>2]=A}A=453360+(x+2<<3)|0;if((A|0)==(r|0))C=y;else{B=A;A=f[B+4>>2]|0;z=r;f[z>>2]=f[B>>2];f[z+4>>2]=A;C=y}}else{p[k>>3]=+n[e+(x<<2)>>2];y=x+1|0;p[t>>3]=+n[e+(y<<2)>>2];p[v>>3]=+n[e+(x+2<<2)>>2];C=y}OAa(m,453776,k);y=j+(w<<3)|0;PAa(l,m,y);A=GAa(l)|0;f[a+4+(x+h<<2)>>2]=A;OAa(o,453776,c);PAa(l,o,y);A=GAa(l)|0;z=a+4+(C<<2)|0;f[z>>2]=A;OAa(q,453776,r);PAa(l,q,y);y=GAa(l)|0;f[a+4+(x+d<<2)>>2]=y;y=f[a+4+(x<<2)>>2]|0;if(!((((y|0)>-1?(A=f[z>>2]|0,(A|0)>-1):0)?(z=f[a+4+(x+2<<2)>>2]|0,(z|0)>-1):0)?(A+y+z|0)<8192:0)){f[l>>2]=0;f[s>>2]=0;z=JV(l,128)|0;y=250214;A=z+128|0;do{b[z>>0]=b[y>>0]|0;z=z+1|0;y=y+1|0}while((z|0)<(A|0));EP(-215,l,250343,248573,1686);KV(l)}w=w+1|0}while((w|0)<(f[15574]|0));u=i;return}function vqa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;i=u;u=u+128|0;j=i+116|0;k=i+64|0;l=i+40|0;m=i+32|0;o=i+24|0;q=i+104|0;r=i+96|0;t=i+16|0;v=i+8|0;w=i;x=i+92|0;y=i+88|0;f[a>>2]=c;c=a+40|0;b[c>>0]=h&1;h=a+44|0;f[h>>2]=d;f[j>>2]=3;xqa();d=(e|0)!=0;z=(g|0)!=0;if(d|z)A=0;else A=b[c>>0]|0;b[a+41>>0]=A;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;if(z){p[k>>3]=+n[g>>2];p[k+8>>3]=+n[g+4>>2];p[k+16>>3]=+n[g+8>>2]}else{f[k>>2]=f[113376];f[k+4>>2]=f[113377];f[k+8>>2]=f[113378];f[k+12>>2]=f[113379];f[k+16>>2]=f[113380];f[k+20>>2]=f[113381]}g=m;f[g>>2]=0;f[g+4>>2]=1072693248;PAa(l,m,k);m=l+8|0;f[m>>2]=0;f[m+4>>2]=1072693248;m=o;f[m>>2]=0;f[m+4>>2]=1072693248;PAa(l+16|0,o,k+16|0);if((f[j>>2]|0)<=0){u=i;return}k=q+4|0;o=q+8|0;m=r+4|0;g=0;do{f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;z=l+(g<<3)|0;A=g*3|0;if(d){p[t>>3]=+n[e+(A<<2)>>2];OAa(v,z,t);JAa(r,v);f[q>>2]=f[r>>2];c=A+1|0;p[t>>3]=+n[e+(c<<2)>>2];OAa(v,z,t);JAa(r,v);f[k>>2]=f[r>>2];p[t>>3]=+n[e+(A+2<<2)>>2];OAa(v,z,t);JAa(r,v);f[o>>2]=f[r>>2];B=c}else{OAa(w,z,453360+(A<<3)|0);JAa(r,w);f[q>>2]=f[r>>2];c=A+1|0;OAa(w,z,453360+(c<<3)|0);JAa(r,w);f[k>>2]=f[r>>2];OAa(w,z,453360+(A+2<<3)|0);JAa(r,w);f[o>>2]=f[r>>2];B=c}c=f[q>>2]|0;f[a+4+((f[h>>2]^2)+A<<2)>>2]=c;z=f[k>>2]|0;f[a+4+(B<<2)>>2]=z;C=f[o>>2]|0;f[a+4+((f[h>>2]|0)+A<<2)>>2]=C;A=!((f[s>>2]=c,+n[s>>2])>=0.0);c=A|!((f[s>>2]=z,+n[s>>2])>=0.0);if(!(!(c|!((f[s>>2]=C,+n[s>>2])>=0.0))?(uAa(x,q,k),uAa(y,x,o),sAa(r,1024),BAa(y,r)|0):0)){f[r>>2]=0;f[m>>2]=0;C=JV(r,93)|0;c=249954;z=C+93|0;do{b[C>>0]=b[c>>0]|0;C=C+1|0;c=c+1|0}while((C|0)<(z|0));EP(-215,r,250048,248573,1762);KV(r)}g=g+1|0}while((g|0)<(f[j>>2]|0));u=i;return}function wqa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;i=u;u=u+128|0;j=i+112|0;k=i+48|0;l=i+100|0;m=i+104|0;o=i+96|0;q=i+40|0;r=i+92|0;s=i+32|0;t=i+24|0;v=i+16|0;w=i+8|0;x=i;y=i+88|0;z=i+84|0;A=i+80|0;B=i+76|0;C=i+72|0;f[a>>2]=c;b[a+48>>0]=h&1;xqa();f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[j>>2]=0;a:do if((f[j>>2]|0)<3){if(g|0)while(1){p[k+(f[j>>2]<<3)>>3]=+n[g+(f[j>>2]<<2)>>2];f[j>>2]=(f[j>>2]|0)+1;if((f[j>>2]|0)>=3)break a}do{h=453504+(f[j>>2]<<3)|0;c=k+(f[j>>2]<<3)|0;if((h|0)!=(c|0)){D=h;h=f[D+4>>2]|0;E=c;f[E>>2]=f[D>>2];f[E+4>>2]=h}f[j>>2]=(f[j>>2]|0)+1}while((f[j>>2]|0)<3)}while(0);f[j>>2]=0;if((f[j>>2]|0)<3){g=(e|0)==0;h=(d|0)==0;d=m+4|0;do{E=(f[j>>2]|0)*3|0;if(g){n[a+4+((f[j>>2]|0)*3<<2)>>2]=+p[453360+(E<<3)>>3];n[a+4+(((f[j>>2]|0)*3|0)+1<<2)>>2]=+p[453360+(((f[j>>2]|0)*3|0)+1<<3)>>3];n[a+4+(((f[j>>2]|0)*3|0)+2<<2)>>2]=+p[453360+(((f[j>>2]|0)*3|0)+2<<3)>>3]}else{f[a+4+((f[j>>2]|0)*3<<2)>>2]=f[e+(E<<2)>>2];f[a+4+(((f[j>>2]|0)*3|0)+1<<2)>>2]=f[e+(((f[j>>2]|0)*3|0)+1<<2)>>2];f[a+4+(((f[j>>2]|0)*3|0)+2<<2)>>2]=f[e+(((f[j>>2]|0)*3|0)+2<<2)>>2]}if(h){E=a+4+((f[j>>2]|0)*3<<2)|0;D=a+4+(((f[j>>2]|0)*3|0)+2<<2)|0;c=f[E>>2]|0;f[E>>2]=f[D>>2];f[D>>2]=c}if(!(((+n[a+4+((f[j>>2]|0)*3<<2)>>2]>=0.0?+n[a+4+(((f[j>>2]|0)*3|0)+1<<2)>>2]>=0.0:0)?+n[a+4+(((f[j>>2]|0)*3|0)+2<<2)>>2]>=0.0:0)?(f[l>>2]=f[a+4+((f[j>>2]|0)*3<<2)>>2],f[m>>2]=f[a+4+(((f[j>>2]|0)*3|0)+1<<2)>>2],uAa(o,l,m),f[q>>2]=f[a+4+(((f[j>>2]|0)*3|0)+2<<2)>>2],uAa(r,o,q),n[s>>2]=1.5,BAa(r,s)|0):0)){f[m>>2]=0;f[d>>2]=0;DVa(JV(m,158)|0,249594,158)|0;EP(-215,m,249753,248573,2840);KV(m)}f[j>>2]=(f[j>>2]|0)+1}while((f[j>>2]|0)<3)}j=k+8|0;CAa(s,15);OAa(q,j,s);KAa(t,k,q);CAa(w,3);OAa(v,k+16|0,w);KAa(x,t,v);JAa(m,x);f[y>>2]=1065353216;f[v>>2]=872415232;x=AAa(m,v)|0;f[s>>2]=f[(x?m:v)>>2];zAa(q,y,s);f[m>>2]=f[q>>2];sAa(q,52);yAa(z,m,q);JAa(s,k);yAa(A,z,s);f[a+40>>2]=f[A>>2];sAa(q,117);yAa(B,m,q);JAa(s,j);yAa(C,B,s);f[a+44>>2]=f[C>>2];C=q;f[C>>2]=0;f[C+4>>2]=1072693248;if(QAa(j,q)|0){u=i;return}f[q>>2]=0;f[q+4>>2]=0;j=JV(q,31)|0;C=249766;a=j+31|0;do{b[j>>0]=b[C>>0]|0;j=j+1|0;C=C+1|0}while((j|0)<(a|0));EP(-215,q,249753,248573,2854);KV(q);u=i;return}function xqa(){var a=0,c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0;a=u;u=u+14848|0;c=a+64|0;e=a+56|0;g=a+48|0;h=a+40|0;i=a+32|0;j=a+24|0;k=a+16|0;l=a+14844|0;m=a+14840|0;o=a+14836|0;p=a+14832|0;q=a+14828|0;r=a+14824|0;s=a+14820|0;t=a+14816|0;v=a+14812|0;w=a+14808|0;x=a+14804|0;y=a+14800|0;z=a+14796|0;A=a+14792|0;B=a+14788|0;C=a+14784|0;D=a+14780|0;E=a+14776|0;F=a+13728|0;G=a+13720|0;H=a+12672|0;J=a+12664|0;K=a+12660|0;L=a+12656|0;M=a+12652|0;N=a+12648|0;O=a+12644|0;P=a+12640|0;Q=a+12636|0;R=a+12632|0;S=a+12628|0;T=a+12624|0;U=a+12620|0;V=a+12616|0;W=a+12608|0;Y=a+12596|0;Z=a+12584|0;_=a+12576|0;$=a+12564|0;aa=a+12552|0;ba=a+12544|0;ca=a+12528|0;da=a+12520|0;ea=a+12512|0;fa=a+12504|0;ga=a+12496|0;ha=a+12492|0;ia=a+12484|0;ja=a+12476|0;ka=a+12472|0;la=a+12464|0;ma=a+12460|0;na=a+12456|0;oa=a+12452|0;pa=a+12448|0;qa=a+12444|0;ra=a+12440|0;sa=a+12436|0;ta=a+12432|0;ua=a+12428|0;va=a+12424|0;wa=a+12420|0;xa=a+12416|0;ya=a+12412|0;za=a+12408|0;Aa=a+12404|0;Ba=a+8304|0;Ca=a+4204|0;Da=a+104|0;Ea=a+100|0;Fa=a+12612|0;Ga=a+12604|0;Ha=a+12600|0;Ia=a+12592|0;Ja=a+12588|0;Ka=a+12580|0;La=a+12572|0;Ma=a+12568|0;Na=a+12560|0;Oa=a+12556|0;Pa=a+12548|0;Qa=a+12540|0;Ra=a+12536|0;Sa=a+12532|0;Ta=a+12524|0;Ua=a+12516|0;Va=a+12508|0;Wa=a+12500|0;Xa=a+96|0;Ya=a+8|0;Za=a;_a=a+12488|0;$a=a+92|0;ab=a+12480|0;bb=a+88|0;cb=a+12468|0;if(b[1077364]|0){u=a;return}FVa(Ba|0,0,4100)|0;FVa(Ca|0,0,4100)|0;FVa(Da|0,0,4100)|0;f[Fa>>2]=1065353216;f[c>>2]=f[201780];zAa(Ea,Fa,c);Fa=0;do{sAa(e,Fa);yAa(c,Ea,e);if(BAa(c,807148)|0)SAa(e,c,807152,807156);else YAa(e,c);db=Ba+(Fa<<2)|0;if((e|0)!=(db|0))f[db>>2]=f[e>>2];Fa=Fa+1|0}while((Fa|0)!=1025);Fa=Gqa(Ba)|0;f[201800]=Fa;f[Ga>>2]=1065353216;n[e>>2]=1024.0;zAa(c,Ga,e);f[Ea>>2]=f[c>>2];Ga=0;do{sAa(e,Ga);yAa(c,Ea,e);f[Ha>>2]=f[c>>2];Hqa(e,Ha);Fa=Ca+(Ga<<2)|0;if((e|0)!=(Fa|0))f[Fa>>2]=f[e>>2];f[Ia>>2]=f[c>>2];Iqa(e,Ia);Fa=Da+(Ga<<2)|0;if((e|0)!=(Fa|0))f[Fa>>2]=f[e>>2];Ga=Ga+1|0}while((Ga|0)!=1025);Ga=Gqa(Ca)|0;f[201799]=Ga;Ga=Gqa(Da)|0;f[201809]=Ga;if((b[453624]|0)==0?jVa(453624)|0:0)sAa(807240,2040);Ga=0;do{sAa(Ja,Ga);zAa(c,Ja,807160);f[Ka>>2]=f[c>>2];Hqa(g,Ka);yAa(e,807240,g);Da=(FAa(e)|0)&65535;d[1049944+(Ga<<1)>>1]=Da;d[1050456+(Ga<<1)>>1]=Ga<<3;Ga=Ga+1|0}while((Ga|0)!=256);if((b[453632]|0)==0?jVa(453632)|0:0){f[La>>2]=1065353216;sAa(c,4096);zAa(807244,La,c)}La=0;do{sAa(e,La);yAa(c,807244,e);f[Ma>>2]=f[c>>2];Iqa(g,Ma);yAa(e,807160,g);Ga=(FAa(e)|0)&65535;d[1050968+(La<<1)>>1]=Ga;yAa(e,807160,c);Ga=(EAa(e)|0)&65535;d[1059160+(La<<1)>>1]=Ga;La=La+1|0}while((La|0)!=4096);if((b[453640]|0)==0?jVa(453640)|0:0)n[201812]=1.0/(+n[201790]*8.0);if((b[453648]|0)==0?jVa(453648)|0:0)sAa(807252,32768);La=0;do{sAa(e,La);yAa(c,807248,e);if(BAa(c,807148)|0)SAa(g,c,807152,807156);else YAa(g,c);yAa(e,807252,g);Ma=(FAa(e)|0)&65535;d[1067352+(La<<1)>>1]=Ma;La=La+1|0}while((La|0)!=3072);La=0;do{if((La|0)<21){sAa(Na,X(La,2949120)|0);sAa(e,414613);zAa(c,Na,e);Ma=FAa(c)|0;sAa(Oa,16384);sAa(Pa,16);sAa(g,116);zAa(Qa,Pa,g);sAa(Ra,La*5|0);sAa(i,1479);zAa(h,Ra,i);uAa(e,Qa,h);yAa(c,Oa,e);eb=Ma;fb=FAa(c)|0}else{sAa(Sa,X(La,1638400)|0);sAa(e,29580);zAa(Ta,Sa,e);sAa(Ua,262144);sAa(h,116);zAa(g,Ua,h);uAa(c,Ta,g);Ma=FAa(c)|0;yAa(Va,c,c);yAa(Wa,Va,c);sAa(g,268435456);zAa(e,Wa,g);eb=FAa(e)|0;fb=Ma}Ma=La<<1;d[1073496+(Ma<<1)>>1]=eb;d[1073496+((Ma|1)<<1)>>1]=fb;La=La+1|0}while((La|0)!=256);La=cX(147456)|0;fb=-8145;do{if((fb|0)<3391)gb=((fb*108|0)/841|0)+-290|0;else gb=(X((X(fb,fb)|0)>>>14,fb)|0)/16384|0;f[La+(fb+8145<<2)>>2]=gb;fb=fb+1|0}while((fb|0)!=28719);f[201814]=La;CAa(e,15);OAa(c,453512,e);KAa(Ya,453504,c);CAa(h,3);OAa(g,453520,h);KAa(Za,Ya,g);JAa(Xa,Za);f[_a>>2]=1065353216;f[g>>2]=872415232;Za=AAa(Xa,g)|0;f[e>>2]=f[(Za?Xa:g)>>2];zAa(c,_a,e);f[Xa>>2]=f[c>>2];sAa(c,52);yAa(ab,Xa,c);JAa(e,453504);yAa($a,ab,e);sAa(c,117);yAa(cb,Xa,c);JAa(e,453512);yAa(bb,cb,e);f[e>>2]=1065353216;sAa(g,4);zAa(c,e,g);cb=cX(262144)|0;Xa=cX(262144)|0;ab=cX(524288)|0;_a=0;do{sAa(h,_a*100|0);zAa(g,h,807160);Za=_a<<8;Ya=0;do{sAa(j,Ya);yAa(k,j,807132);zAa(l,k,807160);uAa(i,l,807124);sAa(o,9);yAa(q,g,$a);uAa(p,i,q);yAa(m,o,p);sAa(q,16);yAa(p,m,q);La=FAa(p)|0;f[cb+(Ya+Za<<2)>>2]=La;Ya=Ya+1|0}while((Ya|0)!=256);hb=0;do{sAa(r,hb);yAa(s,r,807144);zAa(t,s,807160);uAa(i,t,807136);yAa(q,g,bb);uAa(p,i,q);zAa(m,c,p);Ya=AAa(m,c)|0;La=f[c>>2]|0;if(Ya)f[m>>2]=La;f[p>>2]=La^-2147483648;if(BAa(m,p)|0)f[m>>2]=f[c>>2]^-2147483648;sAa(q,16777216);yAa(p,m,q);La=FAa(p)|0;Ya=hb+Za|0;f[Xa+(Ya<<2)>>2]=La;fb=X(La,_a)|0;La=wVa(fb|0,((fb|0)<0)<<31>>31|0,249600,0)|0;fb=ab+(Ya<<3)|0;f[fb>>2]=La;f[fb+4>>2]=I;hb=hb+1|0}while((hb|0)!=256);_a=_a+1|0}while((_a|0)!=256);f[201815]=cb;f[201816]=Xa;f[201817]=ab;ab=e;f[ab>>2]=0;f[ab+4>>2]=1072693248;PAa(c,e,453504);e=c+8|0;f[e>>2]=0;f[e+4>>2]=1072693248;e=c+16|0;ab=g;f[ab>>2]=0;f[ab+4>>2]=1072693248;PAa(e,g,453520);JAa(h,453360);g=f[h>>2]|0;JAa(h,453368);ab=f[h>>2]|0;JAa(h,453376);Xa=f[h>>2]|0;OAa(i,453376,c);JAa(h,i);cb=f[h>>2]|0;OAa(j,453368,c);JAa(h,j);_a=f[h>>2]|0;OAa(k,453360,c);JAa(h,k);hb=f[h>>2]|0;JAa(h,453384);Za=f[h>>2]|0;JAa(h,453392);fb=f[h>>2]|0;JAa(h,453400);La=f[h>>2]|0;Ya=c+8|0;OAa(i,453400,Ya);JAa(h,i);c=f[h>>2]|0;OAa(j,453392,Ya);JAa(h,j);gb=f[h>>2]|0;OAa(k,453384,Ya);JAa(h,k);Ya=f[h>>2]|0;JAa(h,453408);eb=f[h>>2]|0;JAa(h,453416);Wa=f[h>>2]|0;JAa(h,453424);Va=f[h>>2]|0;OAa(i,453424,e);JAa(h,i);i=f[h>>2]|0;OAa(j,453416,e);JAa(h,j);j=f[h>>2]|0;OAa(k,453408,e);JAa(h,k);k=f[h>>2]|0;f[h>>2]=cb;f[l>>2]=_a;f[m>>2]=hb;f[o>>2]=c;f[p>>2]=gb;f[q>>2]=Ya;f[r>>2]=i;f[s>>2]=j;f[t>>2]=k;f[v>>2]=Xa;f[w>>2]=ab;f[x>>2]=g;f[y>>2]=La;f[z>>2]=fb;f[A>>2]=Za;f[B>>2]=Va;f[C>>2]=Wa;f[D>>2]=eb;if((b[453656]|0)==0?jVa(453656)|0:0)sAa(807272,32);if((b[453664]|0)==0?jVa(453664)|0:0)sAa(807276,116);if((b[453672]|0)==0?jVa(453672)|0:0)sAa(807280,16);if((b[453680]|0)==0?jVa(453680)|0:0)sAa(807284,500);if((b[453688]|0)==0?jVa(453688)|0:0)sAa(807288,200);if((b[453696]|0)==0?jVa(453696)|0:0)sAa(807292,100);if((b[453704]|0)==0?jVa(453704)|0:0)sAa(807296,128);if((b[453712]|0)==0?jVa(453712)|0:0)sAa(807300,256);if((b[453720]|0)==0?jVa(453720)|0:0)sAa(807304,16384);if((b[453728]|0)==0?jVa(453728)|0:0){sAa(E,24389);sAa(F,27);zAa(807308,E,F)}if((b[453736]|0)==0?jVa(453736)|0:0){sAa(G,9);sAa(F,4);zAa(807312,G,F)}if((b[453744]|0)==0?jVa(453744)|0:0)sAa(807316,15);if((b[453752]|0)==0?jVa(453752)|0:0)sAa(807320,3);G=F+8|0;E=F+4|0;f[E>>2]=107811;eb=FQa(215622)|0;f[F>>2]=eb;eb=H+8|0;f[H>>2]=eb;Wa=H+4|0;f[Wa>>2]=107811;Va=FQa(215622)|0;f[H>>2]=Va;Va=0;while(1){Za=Va*3|0;fb=0;while(1){La=(fb*99|0)+Za|0;g=0;while(1){ab=La+(g*3267|0)|0;sAa(K,Va);zAa(J,K,807272);sAa(M,fb);zAa(L,M,807272);sAa(O,g);zAa(N,O,807272);f[Q>>2]=f[J>>2];Hqa(P,Q);f[J>>2]=f[P>>2];f[R>>2]=f[L>>2];Hqa(P,R);f[L>>2]=f[P>>2];f[S>>2]=f[N>>2];Hqa(P,S);f[N>>2]=f[P>>2];yAa(T,J,h);yAa(U,L,l);uAa(V,T,U);yAa(W,N,m);uAa(P,V,W);yAa(Y,J,o);yAa(W,L,p);uAa(Z,Y,W);yAa(_,N,q);uAa(U,Z,_);yAa($,J,r);yAa(_,L,s);uAa(aa,$,_);yAa(ba,N,t);uAa(W,aa,ba);if(AAa(P,807148)|0)YAa(_,P);else SAa(_,P,807152,807156);if(AAa(U,807148)|0)YAa(ba,U);else SAa(ba,U,807152,807156);if(AAa(W,807148)|0)YAa(ca,W);else SAa(ca,W,807152,807156);if(AAa(U,807148)|0){yAa(ea,807276,ba);xAa(da,ea,807280)}else yAa(da,807308,U);xAa(ga,_,ba);yAa(fa,807284,ga);xAa(ha,ba,ca);yAa(ga,807288,ha);yAa(ia,807304,da);zAa(ha,ia,807292);Xa=(FAa(ha)|0)&65535;d[(f[F>>2]|0)+(ab<<1)>>1]=Xa;uAa(ja,fa,807296);yAa(ka,807304,ja);zAa(ha,ka,807300);Xa=(FAa(ha)|0)&65535;k=ab+1|0;d[(f[F>>2]|0)+(k<<1)>>1]=Xa;uAa(ja,ga,807296);yAa(la,807304,ja);zAa(ha,la,807300);Xa=(FAa(ha)|0)&65535;j=ab+2|0;d[(f[F>>2]|0)+(j<<1)>>1]=Xa;yAa(ma,J,v);yAa(U,L,w);uAa(na,ma,U);yAa(W,N,x);uAa(P,na,W);yAa(oa,J,y);yAa(W,L,z);uAa(pa,oa,W);yAa(_,N,A);uAa(U,pa,_);yAa(qa,J,B);yAa(_,L,C);uAa(ra,qa,_);yAa(ba,N,D);uAa(W,ra,ba);if(BAa(U,807148)|0)SAa(_,U,807152,807156);else YAa(_,U);yAa(sa,_,807276);xAa(ba,sa,807280);f[_>>2]=f[ba>>2];sAa(ta,52);yAa(fa,807316,U);uAa(ua,P,fa);yAa(ga,807320,W);uAa(da,ua,ga);n[ha>>2]=1.1920928955078125e-07;Xa=AAa(da,ha)|0;f[ca>>2]=f[(Xa?da:ha)>>2];zAa(ba,ta,ca);yAa(va,P,ba);xAa(da,va,$a);yAa(ca,_,da);yAa(wa,807312,U);yAa(xa,wa,ba);xAa(fa,xa,bb);yAa(da,_,fa);yAa(ya,807304,_);zAa(fa,ya,807292);Xa=(FAa(fa)|0)&65535;d[(f[H>>2]|0)+(ab<<1)>>1]=Xa;xAa(ga,ca,807124);yAa(za,807304,ga);zAa(fa,za,807132);Xa=(FAa(fa)|0)&65535;d[(f[H>>2]|0)+(k<<1)>>1]=Xa;xAa(ga,da,807136);yAa(Aa,807304,ga);zAa(fa,Aa,807144);Xa=(FAa(fa)|0)&65535;d[(f[H>>2]|0)+(j<<1)>>1]=Xa;if((g|0)<32)g=g+1|0;else break}if((fb|0)<32)fb=fb+1|0;else break}if((Va|0)<32)Va=Va+1|0;else break}Va=cX(1724976)|0;fa=cX(1724976)|0;Aa=f[F>>2]|0;ga=f[H>>2]|0;da=0;do{za=da*24|0;ca=da;da=da+1|0;ya=((da|0)<32?da:32)*3|0;_=ca*3|0;ca=0;do{bb=(ca*792|0)+za|0;xa=ca;ca=ca+1|0;ba=((ca|0)<32?ca:32)*99|0;wa=ba+ya|0;U=xa*99|0;xa=U+_|0;$a=ba+_|0;ba=U+ya|0;U=0;do{va=bb+(U*26136|0)|0;P=U*3267|0;ta=P+xa|0;d[Va+(va<<1)>>1]=d[Aa+(ta<<1)>>1]|0;ha=ta+1|0;ua=va+8|0;d[Va+(ua<<1)>>1]=d[Aa+(ha<<1)>>1]|0;W=ta+2|0;sa=va+16|0;d[Va+(sa<<1)>>1]=d[Aa+(W<<1)>>1]|0;d[fa+(va<<1)>>1]=d[ga+(ta<<1)>>1]|0;d[fa+(ua<<1)>>1]=d[ga+(ha<<1)>>1]|0;d[fa+(sa<<1)>>1]=d[ga+(W<<1)>>1]|0;U=U+1|0;W=((U|0)<32?U:32)*3267|0;sa=W+xa|0;ha=va|1;d[Va+(ha<<1)>>1]=d[Aa+(sa<<1)>>1]|0;ua=sa+1|0;ta=ha+8|0;d[Va+(ta<<1)>>1]=d[Aa+(ua<<1)>>1]|0;ra=sa+2|0;D=ha+16|0;d[Va+(D<<1)>>1]=d[Aa+(ra<<1)>>1]|0;d[fa+(ha<<1)>>1]=d[ga+(sa<<1)>>1]|0;d[fa+(ta<<1)>>1]=d[ga+(ua<<1)>>1]|0;d[fa+(D<<1)>>1]=d[ga+(ra<<1)>>1]|0;ra=va|2;D=P+$a|0;d[Va+(ra<<1)>>1]=d[Aa+(D<<1)>>1]|0;ua=D+1|0;ta=ra+8|0;d[Va+(ta<<1)>>1]=d[Aa+(ua<<1)>>1]|0;sa=D+2|0;ha=ra+16|0;d[Va+(ha<<1)>>1]=d[Aa+(sa<<1)>>1]|0;d[fa+(ra<<1)>>1]=d[ga+(D<<1)>>1]|0;d[fa+(ta<<1)>>1]=d[ga+(ua<<1)>>1]|0;d[fa+(ha<<1)>>1]=d[ga+(sa<<1)>>1]|0;sa=W+$a|0;ha=va|3;d[Va+(ha<<1)>>1]=d[Aa+(sa<<1)>>1]|0;ua=sa+1|0;ta=ha+8|0;d[Va+(ta<<1)>>1]=d[Aa+(ua<<1)>>1]|0;D=sa+2|0;ra=ha+16|0;d[Va+(ra<<1)>>1]=d[Aa+(D<<1)>>1]|0;d[fa+(ha<<1)>>1]=d[ga+(sa<<1)>>1]|0;d[fa+(ta<<1)>>1]=d[ga+(ua<<1)>>1]|0;d[fa+(ra<<1)>>1]=d[ga+(D<<1)>>1]|0;D=va|4;ra=P+ba|0;d[Va+(D<<1)>>1]=d[Aa+(ra<<1)>>1]|0;ua=ra+1|0;ta=D+8|0;d[Va+(ta<<1)>>1]=d[Aa+(ua<<1)>>1]|0;sa=ra+2|0;ha=D+16|0;d[Va+(ha<<1)>>1]=d[Aa+(sa<<1)>>1]|0;d[fa+(D<<1)>>1]=d[ga+(ra<<1)>>1]|0;d[fa+(ta<<1)>>1]=d[ga+(ua<<1)>>1]|0;d[fa+(ha<<1)>>1]=d[ga+(sa<<1)>>1]|0;sa=W+ba|0;ha=va|5;d[Va+(ha<<1)>>1]=d[Aa+(sa<<1)>>1]|0;ua=sa+1|0;ta=ha+8|0;d[Va+(ta<<1)>>1]=d[Aa+(ua<<1)>>1]|0;ra=sa+2|0;D=ha+16|0;d[Va+(D<<1)>>1]=d[Aa+(ra<<1)>>1]|0;d[fa+(ha<<1)>>1]=d[ga+(sa<<1)>>1]|0;d[fa+(ta<<1)>>1]=d[ga+(ua<<1)>>1]|0;d[fa+(D<<1)>>1]=d[ga+(ra<<1)>>1]|0;ra=va|6;D=P+wa|0;d[Va+(ra<<1)>>1]=d[Aa+(D<<1)>>1]|0;P=D+1|0;ua=ra+8|0;d[Va+(ua<<1)>>1]=d[Aa+(P<<1)>>1]|0;ta=D+2|0;sa=ra+16|0;d[Va+(sa<<1)>>1]=d[Aa+(ta<<1)>>1]|0;d[fa+(ra<<1)>>1]=d[ga+(D<<1)>>1]|0;d[fa+(ua<<1)>>1]=d[ga+(P<<1)>>1]|0;d[fa+(sa<<1)>>1]=d[ga+(ta<<1)>>1]|0;ta=W+wa|0;W=va|7;d[Va+(W<<1)>>1]=d[Aa+(ta<<1)>>1]|0;va=ta+1|0;sa=W+8|0;d[Va+(sa<<1)>>1]=d[Aa+(va<<1)>>1]|0;P=ta+2|0;ua=W+16|0;d[Va+(ua<<1)>>1]=d[Aa+(P<<1)>>1]|0;d[fa+(W<<1)>>1]=d[ga+(ta<<1)>>1]|0;d[fa+(sa<<1)>>1]=d[ga+(va<<1)>>1]|0;d[fa+(ua<<1)>>1]=d[ga+(P<<1)>>1]|0}while((U|0)!=33)}while((ca|0)!=33)}while((da|0)!=33);da=Va;Va=fa;fa=f[H>>2]|0;if((fa|0)!=(eb|0)){if(fa|0)HQa(fa);f[H>>2]=eb;f[Wa>>2]=520}Wa=f[F>>2]|0;if((Wa|0)!=(G|0)){if(Wa|0)HQa(Wa);f[F>>2]=G;f[E>>2]=520}f[113404]=da;f[113405]=Va;Va=0;do{da=Va<<3;E=16-Va<<16>>16;G=0;do{F=(G<<7)+da|0;Wa=16-G<<16>>16;eb=X(Wa,E)|0;H=X(G,E)|0;fa=X(Wa,Va)|0;Wa=X(G,Va)|0;ga=0;do{Aa=984408+(F+(ga<<11)<<1)|0;ca=16-ga<<16>>16;ya=(X(ca,eb)|0)&65535;d[Aa>>1]=ya;ya=(X(ga,eb)|0)&65535;d[Aa+2>>1]=ya;ya=(X(ca,H)|0)&65535;d[Aa+4>>1]=ya;ya=(X(ga,H)|0)&65535;d[Aa+6>>1]=ya;ya=(X(ca,fa)|0)&65535;d[Aa+8>>1]=ya;ya=(X(ga,fa)|0)&65535;d[Aa+10>>1]=ya;ya=(X(ca,Wa)|0)&65535;d[Aa+12>>1]=ya;ya=(X(ga,Wa)|0)&65535;d[Aa+14>>1]=ya;ga=ga+1|0}while((ga|0)!=16);G=G+1|0}while((G|0)!=16);Va=Va+1|0}while((Va|0)!=16);b[1077364]=1;u=a;return}function yqa(a){a=a|0;GQa(a);return}function zqa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c;yV(d,62216);e=f[b>>2]|0;g=a+8|0;h=a+16|0;i=b+4|0;if((e|0)<(f[i>>2]|0)){b=(f[a+12>>2]|0)+(X(f[h>>2]|0,e)|0)|0;j=a+24|0;k=a+20|0;l=b;b=e;m=(f[a+4>>2]|0)+(X(f[g>>2]|0,e)|0)|0;while(1){Aqa(f[j>>2]|0,m,l,f[k>>2]|0);b=b+1|0;if((b|0)>=(f[i>>2]|0))break;else{l=l+(f[h>>2]|0)|0;m=m+(f[g>>2]|0)|0}}}if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function Aqa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0.0,q=0.0,r=0.0,t=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0;g=u;u=u+32|0;h=g+16|0;i=g+12|0;j=g+8|0;k=g+4|0;l=g;m=f[a>>2]|0;o=b[a+48>>0]|0?f[201799]|0:0;p=+n[a+4>>2];q=+n[a+8>>2];r=+n[a+12>>2];t=+n[a+16>>2];v=+n[a+20>>2];w=+n[a+24>>2];x=+n[a+28>>2];y=+n[a+32>>2];z=+n[a+36>>2];A=e*3|0;if((e|0)<=0){u=g;return}e=(o|0)==0;B=f[201800]|0;C=a+40|0;D=a+44|0;a=c;c=0;while(1){E=f[a>>2]|0;f[h>>2]=E;F=f[a+4>>2]|0;f[i>>2]=F;G=f[a+8>>2]|0;f[j>>2]=G;n[k>>2]=0.0;H=(f[s>>2]=E,+n[s>>2])<0.0?k:h;n[l>>2]=1.0;E=f[(+n[H>>2]>1.0?l:H)>>2]|0;f[h>>2]=E;n[k>>2]=0.0;H=(f[s>>2]=F,+n[s>>2])<0.0?k:i;n[l>>2]=1.0;F=f[(+n[H>>2]>1.0?l:H)>>2]|0;f[i>>2]=F;n[k>>2]=0.0;H=(f[s>>2]=G,+n[s>>2])<0.0?k:j;n[l>>2]=1.0;G=f[(+n[H>>2]>1.0?l:H)>>2]|0;f[j>>2]=G;I=(f[s>>2]=E,+n[s>>2]);J=(f[s>>2]=F,+n[s>>2]);K=(f[s>>2]=G,+n[s>>2]);if(e){L=K;M=J;N=I}else{O=I*1024.0;G=~~O;F=(G|0)>0?G:0;G=(F|0)<1023?F:1023;I=O-+(G|0);F=o+(G<<2<<2)|0;O=+n[F>>2]+I*(+n[F+4>>2]+I*(+n[F+8>>2]+ +n[F+12>>2]*I));n[h>>2]=O;I=J*1024.0;F=~~I;G=(F|0)>0?F:0;F=(G|0)<1023?G:1023;J=I-+(F|0);G=o+(F<<2<<2)|0;I=+n[G>>2]+J*(+n[G+4>>2]+J*(+n[G+8>>2]+ +n[G+12>>2]*J));n[i>>2]=I;J=K*1024.0;G=~~J;F=(G|0)>0?G:0;G=(F|0)<1023?F:1023;K=J-+(G|0);F=o+(G<<2<<2)|0;J=+n[F>>2]+K*(+n[F+4>>2]+K*(+n[F+8>>2]+ +n[F+12>>2]*K));n[j>>2]=J;L=J;M=I;N=O}O=p*N+q*M+r*L;I=t*N+v*M+w*L;J=+n[201780]*I;F=~~J;G=(F|0)>0?F:0;F=(G|0)<1023?G:1023;K=J-+(F|0);G=B+(F<<2<<2)|0;J=(+n[G>>2]+K*(+n[G+4>>2]+K*(+n[G+8>>2]+ +n[G+12>>2]*K)))*116.0+-16.0;K=(x*N+y*M+z*L)*3.0+(O+I*15.0);P=52.0/(K<1.1920928955078125e-07?1.1920928955078125e-07:K);K=(O*P-+n[C>>2])*J;O=(I*2.25*P-+n[D>>2])*J;n[d+(c<<2)>>2]=J;n[d+(c+1<<2)>>2]=K;n[d+(c+2<<2)>>2]=O;c=c+3|0;if((c|0)>=(A|0))break;else a=a+(m<<2)|0}u=g;return}function Bqa(a){a=a|0;GQa(a);return}function Cqa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c;yV(d,62236);e=f[b>>2]|0;g=a+8|0;h=a+16|0;i=b+4|0;if((e|0)<(f[i>>2]|0)){b=(f[a+12>>2]|0)+(X(f[h>>2]|0,e)|0)|0;j=a+24|0;k=a+20|0;l=b;b=e;m=(f[a+4>>2]|0)+(X(f[g>>2]|0,e)|0)|0;while(1){Dqa(f[j>>2]|0,m,l,f[k>>2]|0);b=b+1|0;if((b|0)>=(f[i>>2]|0))break;else{l=l+(f[h>>2]|0)|0;m=m+(f[g>>2]|0)|0}}}if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function Dqa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0,y=0,z=0,A=0;g=u;u=u+3104|0;i=g;j=g+3088|0;k=g+3092|0;l=g+3084|0;m=g+3080|0;o=g+3076|0;p=g+3072|0;if(b[a+64>>0]|0){Eqa(a+56|0,c,d,e);u=g;return}q=f[a>>2]|0;if((e|0)>0){r=a+4|0;a=c;c=d;d=0;while(1){s=e-d|0;t=(s|0)<256?s:256;if((b[453568]|0)==0?jVa(453568)|0:0){f[j>>2]=1065353216;zAa(807208,j,807160)}v=t*3|0;w=(s|0)>0;if(w){x=+n[201802];s=0;y=a;while(1){n[i+(s<<2)>>2]=x*+(h[y>>0]|0);n[i+(s+1<<2)>>2]=x*+(h[y+1>>0]|0);n[i+(s+2<<2)>>2]=x*+(h[y+2>>0]|0);s=s+3|0;z=y+q|0;if((s|0)>=(v|0)){A=z;break}else y=z}}else A=a;Aqa(r,i,i,t);if((b[453576]|0)==0?jVa(453576)|0:0){sAa(k,100);zAa(807212,807160,k)}if((b[453584]|0)==0?jVa(453584)|0:0)zAa(807216,807160,807132);if((b[453592]|0)==0?jVa(453592)|0:0)zAa(807220,807160,807144);if((b[453600]|0)==0?jVa(453600)|0:0){f[l>>2]=f[201781]^-2147483648;yAa(m,l,807160);zAa(807224,m,807132)}if((b[453608]|0)==0?jVa(453608)|0:0){f[o>>2]=f[201784]^-2147483648;yAa(p,o,807160);zAa(807228,p,807144)}if(w){y=0;do{s=HEa(+n[i+(y<<2)>>2]*+n[201803])|0;b[c+y>>0]=s>>>0<256?s:(s|0)>0?255:0;s=y+1|0;z=HEa(+n[i+(s<<2)>>2]*+n[201804]+ +n[201806])|0;b[c+s>>0]=z>>>0<256?z:(z|0)>0?255:0;z=y+2|0;s=HEa(+n[i+(z<<2)>>2]*+n[201805]+ +n[201807])|0;b[c+z>>0]=s>>>0<256?s:(s|0)>0?255:0;y=y+3|0}while((y|0)<(v|0))}d=d+256|0;if((d|0)>=(e|0))break;else{a=A;c=c+768|0}}}u=g;return}function Eqa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=u;u=u+16|0;i=g+8|0;j=g+4|0;k=g;l=f[a>>2]|0;m=f[a+4>>2]|0;a=e*3|0;if((e|0)<=0){u=g;return}e=m^2;n=0;o=c;while(1){Fqa((h[o+m>>0]|0)<<6,(h[o+1>>0]|0)<<6,(h[o+e>>0]|0)<<6,f[113405]|0,i,j,k);c=f[i>>2]|0;p=(c|0)/64|0;b[d+n>>0]=p>>>0<256?p:(c|0)>63?255:0;c=f[j>>2]|0;p=(c|0)/64|0;b[d+(n+1)>>0]=p>>>0<256?p:(c|0)>63?255:0;c=f[k>>2]|0;p=(c|0)/64|0;b[d+(n+2)>>0]=p>>>0<256?p:(c|0)>63?255:0;n=n+3|0;if((n|0)>=(a|0))break;else o=o+l|0}u=g;return}function Fqa(a,b,c,e,g,h,i){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;j=u;u=u+96|0;k=j+64|0;l=j+32|0;m=j;n=e+(((b>>9)*792|0)+((a>>9)*24|0)+((c>>9)*26136|0)<<1)|0;f[k>>2]=d[n>>1];f[l>>2]=d[n+16>>1];f[m>>2]=d[n+32>>1];e=k+4|0;f[e>>2]=d[n+2>>1];o=l+4|0;f[o>>2]=d[n+18>>1];p=m+4|0;f[p>>2]=d[n+34>>1];q=k+8|0;f[q>>2]=d[n+4>>1];r=l+8|0;f[r>>2]=d[n+20>>1];s=m+8|0;f[s>>2]=d[n+36>>1];t=k+12|0;f[t>>2]=d[n+6>>1];v=l+12|0;f[v>>2]=d[n+22>>1];w=m+12|0;f[w>>2]=d[n+38>>1];x=k+16|0;f[x>>2]=d[n+8>>1];y=l+16|0;f[y>>2]=d[n+24>>1];z=m+16|0;f[z>>2]=d[n+40>>1];A=k+20|0;f[A>>2]=d[n+10>>1];B=l+20|0;f[B>>2]=d[n+26>>1];C=m+20|0;f[C>>2]=d[n+42>>1];D=k+24|0;f[D>>2]=d[n+12>>1];E=l+24|0;f[E>>2]=d[n+28>>1];F=m+24|0;f[F>>2]=d[n+44>>1];G=d[n+14>>1]|0;f[k+28>>2]=G;H=l+28|0;f[H>>2]=d[n+30>>1];I=m+28|0;f[I>>2]=d[n+46>>1];n=b<<2&1920|a>>>2&120|c<<6&30720;c=d[984408+(n<<1)>>1]|0;a=d[984408+((n|1)<<1)>>1]|0;b=d[984408+((n|2)<<1)>>1]|0;J=d[984408+((n|3)<<1)>>1]|0;K=d[984408+((n|4)<<1)>>1]|0;L=d[984408+((n|5)<<1)>>1]|0;M=d[984408+((n|6)<<1)>>1]|0;N=d[984408+((n|7)<<1)>>1]|0;n=X(f[k>>2]|0,c)|0;k=(X(f[e>>2]|0,a)|0)+n|0;n=k+(X(f[q>>2]|0,b)|0)|0;q=n+(X(f[t>>2]|0,J)|0)|0;t=q+(X(f[x>>2]|0,K)|0)|0;x=t+(X(f[A>>2]|0,L)|0)|0;A=x+(X(f[D>>2]|0,M)|0)+(X(N,G)|0)|0;f[g>>2]=A;A=X(f[l>>2]|0,c)|0;l=(X(f[o>>2]|0,a)|0)+A|0;A=l+(X(f[r>>2]|0,b)|0)|0;r=A+(X(f[v>>2]|0,J)|0)|0;v=r+(X(f[y>>2]|0,K)|0)|0;y=v+(X(f[B>>2]|0,L)|0)|0;B=y+(X(f[E>>2]|0,M)|0)|0;E=B+(X(f[H>>2]|0,N)|0)|0;f[h>>2]=E;E=X(f[m>>2]|0,c)|0;c=(X(f[p>>2]|0,a)|0)+E|0;E=c+(X(f[s>>2]|0,b)|0)|0;b=E+(X(f[w>>2]|0,J)|0)|0;J=b+(X(f[z>>2]|0,K)|0)|0;K=J+(X(f[C>>2]|0,L)|0)|0;L=K+(X(f[F>>2]|0,M)|0)|0;M=L+(X(f[I>>2]|0,N)|0)|0;f[i>>2]=M;f[g>>2]=(f[g>>2]|0)+2048>>12;f[h>>2]=(f[h>>2]|0)+2048>>12;f[i>>2]=(f[i>>2]|0)+2048>>12;u=j;return}function Gqa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;b=u;u=u+64|0;c=b+56|0;d=b+52|0;e=b+48|0;g=b+44|0;h=b+40|0;i=b+36|0;j=b+32|0;k=b+24|0;l=b+20|0;m=b+28|0;o=b+16|0;p=b+12|0;q=b+4|0;r=b+8|0;s=b;t=cX(16384)|0;sAa(c,2);sAa(d,3);sAa(e,4);sAa(g,0);n[t+4>>2]=0.0;n[t>>2]=0.0;v=1;do{w=v;v=v+1|0;yAa(i,a+(w<<2)|0,c);xAa(j,a+(v<<2)|0,i);x=w+-1|0;uAa(k,j,a+(x<<2)|0);yAa(h,k,d);f[l>>2]=1065353216;y=x<<2;xAa(m,e,t+(y<<2)|0);zAa(i,l,m);x=w<<2;w=t+(x<<2)|0;if((i|0)!=(w|0))f[w>>2]=f[i>>2];xAa(o,h,t+((y|1)<<2)|0);yAa(m,o,i);y=t+((x|1)<<2)|0;if((m|0)!=(y|0))f[y>>2]=f[m>>2]}while((v|0)!=1024);v=0;do{o=1024-v|0;l=o+-1|0;e=l<<2;k=t+((e|1)<<2)|0;j=t+(e<<2)|0;yAa(i,j,g);xAa(h,k,i);y=a+(l<<2)|0;xAa(p,a+(o<<2)|0,y);yAa(q,h,c);uAa(r,g,q);zAa(m,r,d);xAa(i,p,m);xAa(s,g,h);zAa(m,s,d);if((y|0)!=(j|0))f[j>>2]=f[y>>2];if((i|0)!=(k|0))f[k>>2]=f[i>>2];k=t+((e|2)<<2)|0;if((h|0)!=(k|0))f[k>>2]=f[h>>2];k=t+((e|3)<<2)|0;if((m|0)!=(k|0))f[k>>2]=f[m>>2];f[g>>2]=f[h>>2];v=v+1|0}while((v|0)!=1024);u=b;return t|0}function Hqa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=u;u=u+48|0;d=c+40|0;e=c+24|0;g=c+32|0;h=c+8|0;i=c+16|0;j=c;tAa(d,b);if(RAa(d,453528)|0){PAa(e,d,453544);JAa(a,e);u=c;return}else{KAa(h,d,453560);d=j;f[d>>2]=0;f[d+4>>2]=1072693248;KAa(i,j,453560);PAa(g,h,i);XAa(e,g,453552);JAa(a,e);u=c;return}}function Iqa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+64|0;d=c+56|0;e=c+40|0;g=c+48|0;h=c+24|0;i=c+16|0;j=c+32|0;k=c+8|0;l=c;tAa(d,b);if(RAa(d,453536)|0){OAa(e,d,453544);JAa(a,e);u=c;return}else{b=h;f[b>>2]=0;f[b+4>>2]=1072693248;PAa(g,h,453552);XAa(i,d,g);g=k;f[g>>2]=0;f[g+4>>2]=1072693248;KAa(j,k,453560);OAa(l,i,j);NAa(e,l,453560);JAa(a,e);u=c;return}}function Jqa(a){a=a|0;GQa(a);return}function Kqa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c;yV(d,62256);e=f[b>>2]|0;g=a+8|0;h=a+16|0;i=b+4|0;if((e|0)<(f[i>>2]|0)){b=(f[a+12>>2]|0)+(X(f[h>>2]|0,e)|0)|0;j=a+24|0;k=a+20|0;l=b;b=e;m=(f[a+4>>2]|0)+(X(f[g>>2]|0,e)|0)|0;while(1){Lqa(f[j>>2]|0,m,l,f[k>>2]|0);b=b+1|0;if((b|0)>=(f[i>>2]|0))break;else{l=l+(f[h>>2]|0)|0;m=m+(f[g>>2]|0)|0}}}if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function Lqa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0,G=0.0,H=0,I=0,J=0.0,K=0,L=0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0;g=u;u=u+32|0;h=g+16|0;i=g+12|0;j=g+8|0;k=g+4|0;l=g;m=f[a>>2]|0;o=f[a+44>>2]|0;p=b[a+40>>0]|0?f[201799]|0:0;q=+n[a+4>>2];r=+n[a+8>>2];s=+n[a+12>>2];t=+n[a+16>>2];v=+n[a+20>>2];w=+n[a+24>>2];x=+n[a+28>>2];y=+n[a+32>>2];z=+n[a+36>>2];A=e*3|0;if((b[a+41>>0]|0)!=0&(e|0)>0){e=o^2;a=f[113404]|0;B=0;C=c;while(1){D=+n[C+(o<<2)>>2];if(!(D<0.0))if(D>1.0)E=1.0;else E=D;else E=0.0;D=+n[C+4>>2];if(!(D<0.0))if(D>1.0)F=1.0;else F=D;else F=0.0;D=+n[C+(e<<2)>>2];if(!(D<0.0))if(D>1.0)G=1.0;else G=D;else G=0.0;H=HEa(E*16384.0)|0;I=HEa(F*16384.0)|0;Fqa(H,I,HEa(G*16384.0)|0,a,h,i,j);D=+(f[i>>2]|0)*.00006103515625;J=+(f[j>>2]|0)*.00006103515625;n[d+(B<<2)>>2]=+(f[h>>2]|0)*.00006103515625*100.0;n[d+(B+1<<2)>>2]=D*256.0+-128.0;n[d+(B+2<<2)>>2]=J*256.0+-128.0;I=B+3|0;H=C+(m<<2)|0;if((I|0)<(A|0)){B=I;C=H}else{K=H;L=I;break}}}else{K=c;L=0}if((b[453760]|0)==0?jVa(453760)|0:0){sAa(k,16);sAa(h,116);zAa(l,k,h);f[201831]=f[l>>2]}if((L|0)>=(A|0)){u=g;return}l=(p|0)==0;h=L;L=K;while(1){G=+n[L>>2];if(!(G<0.0))if(G>1.0)M=1.0;else M=G;else M=0.0;G=+n[L+4>>2];if(!(G<0.0))if(G>1.0)N=1.0;else N=G;else N=0.0;G=+n[L+8>>2];if(!(G<0.0))if(G>1.0)O=1.0;else O=G;else O=0.0;if(l){P=M;Q=N;R=O}else{G=M*1024.0;K=~~G;k=(K|0)>0?K:0;K=(k|0)<1023?k:1023;F=G-+(K|0);k=p+(K<<2<<2)|0;G=N*1024.0;K=~~G;c=(K|0)>0?K:0;K=(c|0)<1023?c:1023;E=G-+(K|0);c=p+(K<<2<<2)|0;G=O*1024.0;K=~~G;C=(K|0)>0?K:0;K=(C|0)<1023?C:1023;J=G-+(K|0);C=p+(K<<2<<2)|0;P=+n[k>>2]+F*(+n[k+4>>2]+F*(F*+n[k+12>>2]+ +n[k+8>>2]));Q=+n[c>>2]+E*(+n[c+4>>2]+E*(E*+n[c+12>>2]+ +n[c+8>>2]));R=+n[C>>2]+J*(+n[C+4>>2]+J*(J*+n[C+12>>2]+ +n[C+8>>2]))}J=s*R+(r*Q+q*P);E=w*R+(v*Q+t*P);F=z*R+(y*Q+x*P);if(J>.008856000378727913)S=+zQ(J);else S=J*7.7870001792907715+ +n[201831];C=E>.008856000378727913;if(C)T=+zQ(E);else T=E*7.7870001792907715+ +n[201831];if(F>.008856000378727913)U=+zQ(F);else U=F*7.7870001792907715+ +n[201831];n[d+(h<<2)>>2]=C?T*116.0+-16.0:E*903.2999877929688;n[d+(h+1<<2)>>2]=(S-T)*500.0;n[d+(h+2<<2)>>2]=(T-U)*200.0;h=h+3|0;if((h|0)>=(A|0))break;else L=L+(m<<2)|0}u=g;return}function Mqa(a){a=a|0;GQa(a);return}function Nqa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+16|0;d=c;yV(d,62276);e=f[b>>2]|0;g=a+8|0;h=a+16|0;i=b+4|0;if((e|0)<(f[i>>2]|0)){b=(f[a+12>>2]|0)+(X(f[h>>2]|0,e)|0)|0;j=a+24|0;k=a+20|0;l=b;b=(f[a+4>>2]|0)+(X(f[g>>2]|0,e)|0)|0;a=e;while(1){Oqa(f[j>>2]|0,b,l,f[k>>2]|0);a=a+1|0;if((a|0)>=(f[i>>2]|0))break;else{l=l+(f[h>>2]|0)|0;b=b+(f[g>>2]|0)|0}}}if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function Oqa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;g=b[a+40>>0]|0?1049944:1050456;i=f[a>>2]|0;k=f[a+4>>2]|0;l=f[a+8>>2]|0;m=f[a+12>>2]|0;n=f[a+16>>2]|0;o=f[a+20>>2]|0;p=f[a+24>>2]|0;q=f[a+28>>2]|0;r=f[a+32>>2]|0;s=f[a+36>>2]|0;a=e*3|0;if((e|0)>0){t=0;u=c}else return;while(1){c=j[g+(h[u>>0]<<1)>>1]|0;e=j[g+(h[u+1>>0]<<1)>>1]|0;v=j[g+(h[u+2>>0]<<1)>>1]|0;w=1067352+((X(k,c)|0)+2048+(X(l,e)|0)+(X(m,v)|0)>>12<<1)|0;x=1067352+((X(n,c)|0)+2048+(X(o,e)|0)+(X(p,v)|0)>>12<<1)|0;y=j[x>>1]|0;x=1067352+((X(q,c)|0)+2048+(X(r,e)|0)+(X(s,v)|0)>>12<<1)|0;v=(y*296|0)+-1320550>>15;e=(((j[w>>1]|0)-y|0)*500|0)+4210688>>15;w=((y-(j[x>>1]|0)|0)*200|0)+4210688>>15;b[d+t>>0]=v>>>0<256?v:(v|0)>0?255:0;b[d+(t+1)>>0]=e>>>0<256?e:(e|0)>0?255:0;b[d+(t+2)>>0]=w>>>0<256?w:(w|0)>0?255:0;t=t+3|0;if((t|0)>=(a|0))break;else u=u+i|0}return}function Pqa(a,c,d,e,g,h,i,j,k,l,m){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0;n=u;u=u+160|0;o=n+144|0;p=n+112|0;q=n+104|0;r=n;yV(q,62300);s=k?2:0;k=(i|0)==0;do if(l)if(k){Qqa(r,3,s,0,0,m);Rqa(r+56|0,j,s,0,0,m);f[r+100>>2]=j;f[o>>2]=0;f[o+4>>2]=h;f[p>>2]=62328;f[p+4>>2]=a;f[p+8>>2]=c;f[p+12>>2]=d;f[p+16>>2]=e;f[p+20>>2]=g;f[p+24>>2]=r;$Z(o,p,+(X(h,g)|0)*.0000152587890625);break}else{Qqa(r,j,s,0,0,m);f[r+56>>2]=j;f[o>>2]=0;f[o+4>>2]=h;f[p>>2]=62348;f[p+4>>2]=a;f[p+8>>2]=c;f[p+12>>2]=d;f[p+16>>2]=e;f[p+20>>2]=g;f[p+24>>2]=r;$Z(o,p,+(X(h,g)|0)*.0000152587890625);break}else if(k){f[r>>2]=j;Sqa(r+4|0,j,s,0,0,m);Tqa(r+56|0,j,s,0,0,m);b[r+100>>0]=1;f[o>>2]=0;f[o+4>>2]=h;f[p>>2]=62368;f[p+4>>2]=a;f[p+8>>2]=c;f[p+12>>2]=d;f[p+16>>2]=e;f[p+20>>2]=g;f[p+24>>2]=r;$Z(o,p,+(X(h,g)|0)*.0000152587890625);break}else{Sqa(r,j,s,0,0,m);f[r+52>>2]=j;f[o>>2]=0;f[o+4>>2]=h;f[p>>2]=62388;f[p+4>>2]=a;f[p+8>>2]=c;f[p+12>>2]=d;f[p+16>>2]=e;f[p+20>>2]=g;f[p+24>>2]=r;$Z(o,p,+(X(h,g)|0)*.0000152587890625);break}while(0);if(!(f[q+4>>2]|0)){u=n;return}u=n;return}function Qqa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;i=u;u=u+96|0;j=i+48|0;k=i+24|0;l=i+16|0;m=i+8|0;o=i;q=i+80|0;r=i+76|0;s=i+72|0;f[a>>2]=c;b[a+40>>0]=h&1;h=a+52|0;f[h>>2]=d;xqa();f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;if(!g){f[j>>2]=f[113376];f[j+4>>2]=f[113377];f[j+8>>2]=f[113378];f[j+12>>2]=f[113379];f[j+16>>2]=f[113380];f[j+20>>2]=f[113381]}else{p[j>>3]=+n[g>>2];p[j+8>>3]=+n[g+4>>2];p[j+16>>3]=+n[g+8>>2]}g=k+8|0;d=k+16|0;if(!e){c=453432;t=f[c+4>>2]|0;v=k;f[v>>2]=f[c>>2];f[v+4>>2]=t;t=453456;v=f[t+4>>2]|0;c=g;f[c>>2]=f[t>>2];f[c+4>>2]=v;v=453480;c=f[v+4>>2]|0;t=d;f[t>>2]=f[v>>2];f[t+4>>2]=c;OAa(l,k,j);n[a+4+((f[h>>2]^2)*3<<2)>>2]=+p[l>>3];OAa(m,g,j);n[a+16>>2]=+p[m>>3];OAa(o,d,j);n[a+4+((f[h>>2]|0)*3<<2)>>2]=+p[o>>3];c=453440;t=f[c+4>>2]|0;v=k;f[v>>2]=f[c>>2];f[v+4>>2]=t;t=453464;v=f[t+4>>2]|0;c=g;f[c>>2]=f[t>>2];f[c+4>>2]=v;v=453488;c=f[v+4>>2]|0;t=d;f[t>>2]=f[v>>2];f[t+4>>2]=c;c=j+8|0;OAa(l,k,c);n[a+4+(((f[h>>2]^2)*3|0)+1<<2)>>2]=+p[l>>3];OAa(m,g,c);n[a+20>>2]=+p[m>>3];OAa(o,d,c);n[a+4+(((f[h>>2]|0)*3|0)+1<<2)>>2]=+p[o>>3];c=453448;t=f[c+4>>2]|0;v=k;f[v>>2]=f[c>>2];f[v+4>>2]=t;t=453472;v=f[t+4>>2]|0;c=g;f[c>>2]=f[t>>2];f[c+4>>2]=v;v=453496;c=f[v+4>>2]|0;t=d;f[t>>2]=f[v>>2];f[t+4>>2]=c;c=j+16|0;OAa(l,k,c);n[a+4+(((f[h>>2]^2)*3|0)+2<<2)>>2]=+p[l>>3];OAa(m,g,c);n[a+24>>2]=+p[m>>3];OAa(o,d,c);n[a+4+(((f[h>>2]|0)*3|0)+2<<2)>>2]=+p[o>>3];sAa(q,8);w=f[q>>2]|0;x=a+44|0;f[x>>2]=w;sAa(r,6);sAa(k,29);zAa(s,r,k);y=f[s>>2]|0;z=a+48|0;f[z>>2]=y;u=i;return}else{p[k>>3]=+n[e>>2];c=k+8|0;p[c>>3]=+n[e+12>>2];t=k+16|0;p[t>>3]=+n[e+24>>2];OAa(l,k,j);n[a+4+((f[h>>2]^2)*3<<2)>>2]=+p[l>>3];OAa(m,g,j);n[a+16>>2]=+p[m>>3];OAa(o,d,j);n[a+4+((f[h>>2]|0)*3<<2)>>2]=+p[o>>3];p[k>>3]=+n[e+4>>2];p[c>>3]=+n[e+16>>2];p[t>>3]=+n[e+28>>2];v=j+8|0;OAa(l,k,v);n[a+4+(((f[h>>2]^2)*3|0)+1<<2)>>2]=+p[l>>3];OAa(m,g,v);n[a+20>>2]=+p[m>>3];OAa(o,d,v);n[a+4+(((f[h>>2]|0)*3|0)+1<<2)>>2]=+p[o>>3];p[k>>3]=+n[e+8>>2];p[c>>3]=+n[e+20>>2];p[t>>3]=+n[e+32>>2];e=j+16|0;OAa(l,k,e);n[a+4+(((f[h>>2]^2)*3|0)+2<<2)>>2]=+p[l>>3];OAa(m,g,e);n[a+24>>2]=+p[m>>3];OAa(o,d,e);n[a+4+(((f[h>>2]|0)*3|0)+2<<2)>>2]=+p[o>>3];sAa(q,8);w=f[q>>2]|0;x=a+44|0;f[x>>2]=w;sAa(r,6);sAa(k,29);zAa(s,r,k);y=f[s>>2]|0;z=a+48|0;f[z>>2]=y;u=i;return}}function Rqa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;i=u;u=u+80|0;j=i+56|0;k=i+32|0;l=i+24|0;m=i+16|0;o=i+8|0;q=i;f[a>>2]=c;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;if(!g){f[j>>2]=f[113376];f[j+4>>2]=f[113377];f[j+8>>2]=f[113378];f[j+12>>2]=f[113379];f[j+16>>2]=f[113380];f[j+20>>2]=f[113381]}else{p[j>>3]=+n[g>>2];p[j+8>>3]=+n[g+4>>2];p[j+16>>3]=+n[g+8>>2]}if((b[453824]|0)==0?jVa(453824)|0:0)CAa(453832,4096);g=d*3|0;c=k+8|0;r=k+16|0;s=(d^2)*3|0;if(!e){d=453432;t=f[d+4>>2]|0;v=k;f[v>>2]=f[d>>2];f[v+4>>2]=t;t=453456;v=f[t+4>>2]|0;d=c;f[d>>2]=f[t>>2];f[d+4>>2]=v;v=453480;d=f[v+4>>2]|0;t=r;f[t>>2]=f[v>>2];f[t+4>>2]=d;OAa(m,453832,k);OAa(l,m,j);d=GAa(l)|0;f[a+4+(g<<2)>>2]=d;OAa(o,453832,c);OAa(l,o,j);d=GAa(l)|0;f[a+16>>2]=d;OAa(q,453832,r);OAa(l,q,j);d=GAa(l)|0;f[a+4+(s<<2)>>2]=d;d=453440;t=f[d+4>>2]|0;v=k;f[v>>2]=f[d>>2];f[v+4>>2]=t;t=453464;v=f[t+4>>2]|0;d=c;f[d>>2]=f[t>>2];f[d+4>>2]=v;v=453488;d=f[v+4>>2]|0;t=r;f[t>>2]=f[v>>2];f[t+4>>2]=d;OAa(m,453832,k);d=j+8|0;OAa(l,m,d);t=GAa(l)|0;f[a+4+(g+1<<2)>>2]=t;OAa(o,453832,c);OAa(l,o,d);t=GAa(l)|0;f[a+20>>2]=t;OAa(q,453832,r);OAa(l,q,d);d=GAa(l)|0;f[a+4+(s+1<<2)>>2]=d;d=453448;t=f[d+4>>2]|0;v=k;f[v>>2]=f[d>>2];f[v+4>>2]=t;t=453472;v=f[t+4>>2]|0;d=c;f[d>>2]=f[t>>2];f[d+4>>2]=v;v=453496;d=f[v+4>>2]|0;t=r;f[t>>2]=f[v>>2];f[t+4>>2]=d;OAa(m,453832,k);d=j+16|0;OAa(l,m,d);t=GAa(l)|0;f[a+4+(g+2<<2)>>2]=t;OAa(o,453832,c);OAa(l,o,d);t=GAa(l)|0;f[a+24>>2]=t;OAa(q,453832,r);OAa(l,q,d);d=GAa(l)|0;f[a+4+(s+2<<2)>>2]=d;w=h?1050968:1059160;x=a+40|0;f[x>>2]=w;u=i;return}else{p[k>>3]=+n[e>>2];d=k+8|0;p[d>>3]=+n[e+12>>2];t=k+16|0;p[t>>3]=+n[e+24>>2];OAa(m,453832,k);OAa(l,m,j);v=GAa(l)|0;f[a+4+(g<<2)>>2]=v;OAa(o,453832,c);OAa(l,o,j);v=GAa(l)|0;f[a+16>>2]=v;OAa(q,453832,r);OAa(l,q,j);v=GAa(l)|0;f[a+4+(s<<2)>>2]=v;p[k>>3]=+n[e+4>>2];p[d>>3]=+n[e+16>>2];p[t>>3]=+n[e+28>>2];OAa(m,453832,k);v=j+8|0;OAa(l,m,v);y=GAa(l)|0;f[a+4+(g+1<<2)>>2]=y;OAa(o,453832,c);OAa(l,o,v);y=GAa(l)|0;f[a+20>>2]=y;OAa(q,453832,r);OAa(l,q,v);v=GAa(l)|0;f[a+4+(s+1<<2)>>2]=v;p[k>>3]=+n[e+8>>2];p[d>>3]=+n[e+20>>2];p[t>>3]=+n[e+32>>2];OAa(m,453832,k);k=j+16|0;OAa(l,m,k);m=GAa(l)|0;f[a+4+(g+2<<2)>>2]=m;OAa(o,453832,c);OAa(l,o,k);o=GAa(l)|0;f[a+24>>2]=o;OAa(q,453832,r);OAa(l,q,k);k=GAa(l)|0;f[a+4+(s+2<<2)>>2]=k;w=h?1050968:1059160;x=a+40|0;f[x>>2]=w;u=i;return}}function Sqa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;i=u;u=u+112|0;j=i+48|0;k=i+100|0;l=i+40|0;m=i+24|0;o=i+32|0;q=i+16|0;r=i+8|0;s=i;t=i+96|0;v=i+92|0;w=i+88|0;x=i+84|0;y=i+80|0;z=i+76|0;A=i+72|0;f[a>>2]=c;b[a+48>>0]=h&1;xqa();f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;if(!g){f[j>>2]=f[113376];f[j+4>>2]=f[113377];f[j+8>>2]=f[113378];f[j+12>>2]=f[113379];f[j+16>>2]=f[113380];f[j+20>>2]=f[113381]}else{p[j>>3]=+n[g>>2];p[j+8>>3]=+n[g+4>>2];p[j+16>>3]=+n[g+8>>2]}g=(d^2)*3|0;h=d*3|0;if(!e){JAa(k,453432);d=f[k>>2]|0;JAa(k,453456);c=f[k>>2]|0;JAa(k,453480);B=f[k>>2]|0;f[a+4+(g<<2)>>2]=d;f[a+16>>2]=c;f[a+4+(h<<2)>>2]=B;JAa(k,453440);B=f[k>>2]|0;JAa(k,453464);c=f[k>>2]|0;JAa(k,453488);d=f[k>>2]|0;f[a+4+(g+1<<2)>>2]=B;f[a+20>>2]=c;f[a+4+(h+1<<2)>>2]=d;JAa(k,453448);d=f[k>>2]|0;JAa(k,453472);c=f[k>>2]|0;JAa(k,453496);C=f[k>>2]|0;D=c;E=d}else{d=f[e+12>>2]|0;c=f[e+24>>2]|0;f[a+4+(g<<2)>>2]=f[e>>2];f[a+16>>2]=d;f[a+4+(h<<2)>>2]=c;c=f[e+16>>2]|0;d=f[e+28>>2]|0;f[a+4+(g+1<<2)>>2]=f[e+4>>2];f[a+20>>2]=c;f[a+4+(h+1<<2)>>2]=d;C=f[e+32>>2]|0;D=f[e+20>>2]|0;E=f[e+8>>2]|0}f[a+4+(g+2<<2)>>2]=E;f[a+24>>2]=D;f[a+4+(h+2<<2)>>2]=C;C=j+8|0;CAa(m,15);OAa(l,C,m);KAa(o,j,l);CAa(r,3);OAa(q,j+16|0,r);KAa(s,o,q);JAa(k,s);f[t>>2]=1065353216;f[q>>2]=872415232;s=AAa(k,q)|0;f[m>>2]=f[(s?k:q)>>2];zAa(l,t,m);f[k>>2]=f[l>>2];sAa(v,52);yAa(w,v,k);JAa(l,j);yAa(x,w,l);f[a+40>>2]=f[x>>2];sAa(y,117);yAa(z,y,k);JAa(l,C);yAa(A,z,l);f[a+44>>2]=f[A>>2];A=l;f[A>>2]=0;f[A+4>>2]=1072693248;if(QAa(C,l)|0){u=i;return}f[l>>2]=0;f[l+4>>2]=0;C=JV(l,31)|0;A=249766;a=C+31|0;do{b[C>>0]=b[A>>0]|0;C=C+1|0;A=A+1|0}while((C|0)<(a|0));EP(-215,l,250769,248573,3179);KV(l);u=i;return}function Tqa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0;g=u;u=u+32|0;i=g+8|0;j=g;f[a>>2]=c;xqa();if((b[453808]|0)==0?jVa(453808)|0:0)CAa(453816,4096);c=d*3|0;k=i+8|0;l=i+16|0;m=(d^2)*3|0;if(!e){d=453432;o=f[d+4>>2]|0;q=i;f[q>>2]=f[d>>2];f[q+4>>2]=o;o=453456;q=f[o+4>>2]|0;d=k;f[d>>2]=f[o>>2];f[d+4>>2]=q;q=453480;d=f[q+4>>2]|0;o=l;f[o>>2]=f[q>>2];f[o+4>>2]=d;OAa(j,453816,i);d=GAa(j)|0;f[a+4+(c<<2)>>2]=d;OAa(j,453816,k);d=GAa(j)|0;f[a+16>>2]=d;OAa(j,453816,l);d=GAa(j)|0;f[a+4+(m<<2)>>2]=d;d=453440;o=f[d+4>>2]|0;q=i;f[q>>2]=f[d>>2];f[q+4>>2]=o;o=453464;q=f[o+4>>2]|0;d=k;f[d>>2]=f[o>>2];f[d+4>>2]=q;q=453488;d=f[q+4>>2]|0;o=l;f[o>>2]=f[q>>2];f[o+4>>2]=d;OAa(j,453816,i);d=GAa(j)|0;f[a+4+(c+1<<2)>>2]=d;OAa(j,453816,k);d=GAa(j)|0;f[a+20>>2]=d;OAa(j,453816,l);d=GAa(j)|0;f[a+4+(m+1<<2)>>2]=d;d=453448;o=f[d+4>>2]|0;q=i;f[q>>2]=f[d>>2];f[q+4>>2]=o;o=453472;q=f[o+4>>2]|0;d=k;f[d>>2]=f[o>>2];f[d+4>>2]=q;q=453496;d=f[q+4>>2]|0;o=l;f[o>>2]=f[q>>2];f[o+4>>2]=d;OAa(j,453816,i);d=GAa(j)|0;f[a+4+(c+2<<2)>>2]=d;OAa(j,453816,k);d=GAa(j)|0;f[a+24>>2]=d;OAa(j,453816,l);d=GAa(j)|0;f[a+4+(m+2<<2)>>2]=d;r=h?1050968:1059160;s=a+40|0;f[s>>2]=r;u=g;return}else{p[i>>3]=+n[e>>2];d=i+8|0;p[d>>3]=+n[e+12>>2];o=i+16|0;p[o>>3]=+n[e+24>>2];OAa(j,453816,i);q=GAa(j)|0;f[a+4+(c<<2)>>2]=q;OAa(j,453816,k);q=GAa(j)|0;f[a+16>>2]=q;OAa(j,453816,l);q=GAa(j)|0;f[a+4+(m<<2)>>2]=q;p[i>>3]=+n[e+4>>2];p[d>>3]=+n[e+16>>2];p[o>>3]=+n[e+28>>2];OAa(j,453816,i);q=GAa(j)|0;f[a+4+(c+1<<2)>>2]=q;OAa(j,453816,k);q=GAa(j)|0;f[a+20>>2]=q;OAa(j,453816,l);q=GAa(j)|0;f[a+4+(m+1<<2)>>2]=q;p[i>>3]=+n[e+8>>2];p[d>>3]=+n[e+20>>2];p[o>>3]=+n[e+32>>2];OAa(j,453816,i);i=GAa(j)|0;f[a+4+(c+2<<2)>>2]=i;OAa(j,453816,k);k=GAa(j)|0;f[a+24>>2]=k;OAa(j,453816,l);l=GAa(j)|0;f[a+4+(m+2<<2)>>2]=l;r=h?1050968:1059160;s=a+40|0;f[s>>2]=r;u=g;return}}function Uqa(a){a=a|0;GQa(a);return}function Vqa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c;yV(d,62400);e=f[b>>2]|0;g=a+8|0;h=a+16|0;i=b+4|0;if((e|0)<(f[i>>2]|0)){b=(f[a+12>>2]|0)+(X(f[h>>2]|0,e)|0)|0;j=a+24|0;k=a+20|0;l=b;b=e;m=(f[a+4>>2]|0)+(X(f[g>>2]|0,e)|0)|0;while(1){Wqa(f[j>>2]|0,m,l,f[k>>2]|0);b=b+1|0;if((b|0)>=(f[i>>2]|0))break;else{l=l+(f[h>>2]|0)|0;m=m+(f[g>>2]|0)|0}}}if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function Wqa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0.0,q=0.0,r=0.0,t=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0;g=u;u=u+32|0;h=g+16|0;i=g+12|0;j=g+8|0;k=g+4|0;l=g;m=f[a>>2]|0;o=b[a+48>>0]|0?f[201809]|0:0;p=+n[a+4>>2];q=+n[a+8>>2];r=+n[a+12>>2];t=+n[a+16>>2];v=+n[a+20>>2];w=+n[a+24>>2];x=+n[a+28>>2];y=+n[a+32>>2];z=+n[a+36>>2];A=+n[a+40>>2];B=+n[a+44>>2];a=e*3|0;if((e|0)<=0){u=g;return}e=(o|0)==0;C=(m|0)==4;D=d;d=0;while(1){E=+n[c+(d<<2)>>2];if(!(E>=8.0))F=E*.001107051968574524;else{G=(E+16.0)*.008620689623057842;F=G*(G*G)}G=(+n[c+(d+1<<2)>>2]+A*E)*3.0;H=.25/(B*E+ +n[c+(d+2<<2)>>2]);I=H>.25?.25:H;H=I<-.25?-.25:I;I=H*(G*(F*3.0));J=((E*156.0-G)*H+-5.0)*F;H=r*J+(q*F+p*I);n[h>>2]=H;G=w*J+(v*F+t*I);n[i>>2]=G;E=z*J+(y*F+x*I);n[j>>2]=E;n[k>>2]=0.0;K=H<0.0?k:h;n[l>>2]=1.0;L=f[(+n[K>>2]>1.0?l:K)>>2]|0;f[h>>2]=L;n[k>>2]=0.0;K=G<0.0?k:i;n[l>>2]=1.0;M=f[(+n[K>>2]>1.0?l:K)>>2]|0;f[i>>2]=M;n[k>>2]=0.0;K=E<0.0?k:j;n[l>>2]=1.0;N=f[(+n[K>>2]>1.0?l:K)>>2]|0;f[j>>2]=N;if(e)O=L;else{E=(f[s>>2]=N,+n[s>>2]);G=(f[s>>2]=M,+n[s>>2]);H=(f[s>>2]=L,+n[s>>2])*1024.0;L=~~H;M=(L|0)>0?L:0;L=(M|0)<1023?M:1023;I=H-+(L|0);M=o+(L<<2<<2)|0;H=+n[M>>2]+I*(+n[M+4>>2]+I*(+n[M+8>>2]+ +n[M+12>>2]*I));n[h>>2]=H;I=G*1024.0;M=~~I;L=(M|0)>0?M:0;M=(L|0)<1023?L:1023;G=I-+(M|0);L=o+(M<<2<<2)|0;n[i>>2]=+n[L>>2]+G*(+n[L+4>>2]+G*(+n[L+8>>2]+ +n[L+12>>2]*G));G=E*1024.0;L=~~G;M=(L|0)>0?L:0;L=(M|0)<1023?M:1023;E=G-+(L|0);M=o+(L<<2<<2)|0;n[j>>2]=+n[M>>2]+E*(+n[M+4>>2]+E*(+n[M+8>>2]+ +n[M+12>>2]*E));O=(n[s>>2]=H,f[s>>2]|0)}f[D>>2]=O;f[D+4>>2]=f[i>>2];f[D+8>>2]=f[j>>2];if(C)n[D+12>>2]=1.0;d=d+3|0;if((d|0)>=(a|0))break;else D=D+(m<<2)|0}u=g;return}function Xqa(a){a=a|0;GQa(a);return}function Yqa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c;yV(d,62420);e=f[b>>2]|0;g=a+8|0;h=a+16|0;i=b+4|0;if((e|0)<(f[i>>2]|0)){b=(f[a+12>>2]|0)+(X(f[h>>2]|0,e)|0)|0;j=a+24|0;k=a+20|0;l=b;b=e;m=(f[a+4>>2]|0)+(X(f[g>>2]|0,e)|0)|0;while(1){Zqa(f[j>>2]|0,m,l,f[k>>2]|0);b=b+1|0;if((b|0)>=(f[i>>2]|0))break;else{l=l+(f[h>>2]|0)|0;m=m+(f[g>>2]|0)|0}}}if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function Zqa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0.0,P=0.0,Q=0.0,R=0,S=0,T=0.0,U=0.0,V=0.0,W=0.0,Y=0.0,Z=0.0,_=0.0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;g=u;u=u+3088|0;i=g;j=g+3072|0;if(b[a+100>>0]|0){_qa(a+56|0,c,d,e);u=g;return}k=f[a>>2]|0;if((b[453784]|0)==0?jVa(453784)|0:0){sAa(j,100);zAa(807344,j,807160)}if((b[453792]|0)==0?jVa(453792)|0:0)zAa(807348,807132,807160);if((b[453800]|0)==0?jVa(453800)|0:0)zAa(807352,807144,807160);if((e|0)>0){j=a+4|0;a=(k|0)==4;l=c;c=d;d=0;m=~e;while(1){o=(X((m|0)>-257?m:-257,-3)|0)+-19|0;p=((o|0)>16?o:16)+-1&-16;o=p+16|0;q=e-d|0;r=(q|0)<256?q:256;s=+n[201836];t=+n[201837];v=+n[201838];w=+n[201781];x=+n[201784];q=r*3|0;y=q+-48|0;if((y|0)>0){z=0;while(1){A=l+z|0;B=b[A+4>>0]|0;C=b[A+5>>0]|0;D=b[A+6>>0]|0;E=b[A+7>>0]|0;F=b[A+8>>0]|0;G=b[A+9>>0]|0;H=b[A+10>>0]|0;I=b[A+11>>0]|0;J=b[A+12>>0]|0;K=b[A+13>>0]|0;L=b[A+14>>0]|0;M=b[A+15>>0]|0;N=i+(z<<2)|0;O=w+t*+(h[A+1>>0]|0);P=x+v*+(h[A+2>>0]|0);Q=s*+(h[A+3>>0]|0)+0.0;n[N>>2]=s*+(h[A>>0]|0)+0.0;n[N+4>>2]=O;n[N+8>>2]=P;n[N+12>>2]=Q;n[N+16>>2]=w+t*+(B&255);n[N+20>>2]=x+v*+(C&255);n[N+24>>2]=s*+(D&255)+0.0;n[N+28>>2]=w+t*+(E&255);n[N+32>>2]=x+v*+(F&255);n[N+36>>2]=s*+(G&255)+0.0;n[N+40>>2]=w+t*+(H&255);n[N+44>>2]=x+v*+(I&255);n[N+48>>2]=s*+(J&255)+0.0;n[N+52>>2]=w+t*+(K&255);n[N+56>>2]=x+v*+(L&255);n[N+60>>2]=s*+(M&255)+0.0;M=A+16|0;L=b[M+4>>0]|0;K=b[M+5>>0]|0;J=b[M+6>>0]|0;I=b[M+7>>0]|0;H=b[M+8>>0]|0;G=b[M+9>>0]|0;F=b[M+10>>0]|0;E=b[M+11>>0]|0;D=b[M+12>>0]|0;C=b[M+13>>0]|0;B=b[M+14>>0]|0;R=b[M+15>>0]|0;Q=x+v*+(h[M+1>>0]|0);P=s*+(h[M+2>>0]|0)+0.0;O=w+t*+(h[M+3>>0]|0);n[N+64>>2]=w+t*+(h[M>>0]|0);n[N+68>>2]=Q;n[N+72>>2]=P;n[N+76>>2]=O;n[N+80>>2]=x+v*+(L&255);n[N+84>>2]=s*+(K&255)+0.0;n[N+88>>2]=w+t*+(J&255);n[N+92>>2]=x+v*+(I&255);n[N+96>>2]=s*+(H&255)+0.0;n[N+100>>2]=w+t*+(G&255);n[N+104>>2]=x+v*+(F&255);n[N+108>>2]=s*+(E&255)+0.0;n[N+112>>2]=w+t*+(D&255);n[N+116>>2]=x+v*+(C&255);n[N+120>>2]=s*+(B&255)+0.0;n[N+124>>2]=w+t*+(R&255);R=A+32|0;A=b[R+4>>0]|0;B=b[R+5>>0]|0;C=b[R+6>>0]|0;D=b[R+7>>0]|0;E=b[R+8>>0]|0;F=b[R+9>>0]|0;G=b[R+10>>0]|0;H=b[R+11>>0]|0;I=b[R+12>>0]|0;J=b[R+13>>0]|0;K=b[R+14>>0]|0;L=b[R+15>>0]|0;O=s*+(h[R+1>>0]|0)+0.0;P=w+t*+(h[R+2>>0]|0);Q=x+v*+(h[R+3>>0]|0);n[N+128>>2]=x+v*+(h[R>>0]|0);n[N+132>>2]=O;n[N+136>>2]=P;n[N+140>>2]=Q;n[N+144>>2]=s*+(A&255)+0.0;n[N+148>>2]=w+t*+(B&255);n[N+152>>2]=x+v*+(C&255);n[N+156>>2]=s*+(D&255)+0.0;n[N+160>>2]=w+t*+(E&255);n[N+164>>2]=x+v*+(F&255);n[N+168>>2]=s*+(G&255)+0.0;n[N+172>>2]=w+t*+(H&255);n[N+176>>2]=x+v*+(I&255);n[N+180>>2]=s*+(J&255)+0.0;n[N+184>>2]=w+t*+(K&255);n[N+188>>2]=x+v*+(L&255);L=z+48|0;if((L|0)<(y|0))z=L;else{S=L;break}}}else S=0;if((S|0)<(q|0)){v=+n[201836];x=+n[201837];t=+n[201781];w=+n[201838];s=+n[201784];z=S;do{n[i+(z<<2)>>2]=v*+(h[l+z>>0]|0);y=z+1|0;n[i+(y<<2)>>2]=x*+(h[l+y>>0]|0)+t;y=z+2|0;n[i+(y<<2)>>2]=w*+(h[l+y>>0]|0)+s;z=z+3|0}while((z|0)<(q|0))}Wqa(j,i,i,r);z=q+-16|0;if((q|0)>16){y=c+16|0;L=c;N=0;while(1){K=i+(N<<2)|0;s=+n[K+16>>2];w=+n[K+20>>2];t=+n[K+24>>2];x=+n[K+28>>2];v=+n[K+32>>2];Q=+n[K+36>>2];P=+n[K+40>>2];O=+n[K+44>>2];T=+n[K+48>>2];U=+n[K+52>>2];V=+n[K+56>>2];W=+n[K+60>>2];Y=+n[K+4>>2]*255.0;Z=+n[K+8>>2]*255.0;_=+n[K+12>>2]*255.0;J=HEa(+n[K>>2]*255.0)|0;K=HEa(Y)|0;I=HEa(Z)|0;H=HEa(_)|0;G=HEa(s*255.0)|0;F=HEa(w*255.0)|0;E=HEa(t*255.0)|0;D=HEa(x*255.0)|0;C=HEa(v*255.0)|0;B=HEa(Q*255.0)|0;A=HEa(P*255.0)|0;R=HEa(O*255.0)|0;M=HEa(T*255.0)|0;$=HEa(U*255.0)|0;aa=HEa(V*255.0)|0;ba=HEa(W*255.0)|0;ca=((J+32768|0)>>>0<65536?J:(J|0)>0?32767:32768)&65535;J=((C+32768|0)>>>0<65536?C:(C|0)>0?32767:32768)&65535;C=((K+32768|0)>>>0<65536?K:(K|0)>0?32767:32768)&65535;K=((B+32768|0)>>>0<65536?B:(B|0)>0?32767:32768)&65535;B=((I+32768|0)>>>0<65536?I:(I|0)>0?32767:32768)&65535;I=((A+32768|0)>>>0<65536?A:(A|0)>0?32767:32768)&65535;A=((H+32768|0)>>>0<65536?H:(H|0)>0?32767:32768)&65535;H=((R+32768|0)>>>0<65536?R:(R|0)>0?32767:32768)&65535;R=((G+32768|0)>>>0<65536?G:(G|0)>0?32767:32768)&65535;G=((M+32768|0)>>>0<65536?M:(M|0)>0?32767:32768)&65535;M=((F+32768|0)>>>0<65536?F:(F|0)>0?32767:32768)&65535;F=(($+32768|0)>>>0<65536?$:($|0)>0?32767:32768)&65535;$=((E+32768|0)>>>0<65536?E:(E|0)>0?32767:32768)&65535;E=((aa+32768|0)>>>0<65536?aa:(aa|0)>0?32767:32768)&65535;aa=((D+32768|0)>>>0<65536?D:(D|0)>0?32767:32768)&65535;D=((ba+32768|0)>>>0<65536?ba:(ba|0)>0?32767:32768)&65535;b[L>>0]=ca>>>0<255?ca:255;b[L+1>>0]=C>>>0<255?C:255;b[L+2>>0]=B>>>0<255?B:255;b[L+3>>0]=A>>>0<255?A:255;b[L+4>>0]=R>>>0<255?R:255;b[L+5>>0]=M>>>0<255?M:255;b[L+6>>0]=$>>>0<255?$:255;b[L+7>>0]=aa>>>0<255?aa:255;b[L+8>>0]=J>>>0<255?J:255;b[L+9>>0]=K>>>0<255?K:255;b[L+10>>0]=I>>>0<255?I:255;b[L+11>>0]=H>>>0<255?H:255;b[L+12>>0]=G>>>0<255?G:255;b[L+13>>0]=F>>>0<255?F:255;b[L+14>>0]=E>>>0<255?E:255;b[L+15>>0]=D>>>0<255?D:255;N=N+16|0;if((N|0)>=(z|0))break;else L=L+16|0}da=y+p|0;ea=o}else{da=c;ea=0}if((ea|0)<(q|0))if(a){L=da;z=ea;while(1){N=HEa(+n[i+(z<<2)>>2]*255.0)|0;b[L>>0]=N>>>0<256?N:(N|0)>0?255:0;N=HEa(+n[i+(z+1<<2)>>2]*255.0)|0;b[L+1>>0]=N>>>0<256?N:(N|0)>0?255:0;N=HEa(+n[i+(z+2<<2)>>2]*255.0)|0;b[L+2>>0]=N>>>0<256?N:(N|0)>0?255:0;b[L+3>>0]=-1;z=z+3|0;N=L+4|0;if((z|0)>=(q|0)){fa=N;break}else L=N}}else{L=da;z=ea;while(1){o=HEa(+n[i+(z<<2)>>2]*255.0)|0;b[L>>0]=o>>>0<256?o:(o|0)>0?255:0;o=HEa(+n[i+(z+1<<2)>>2]*255.0)|0;b[L+1>>0]=o>>>0<256?o:(o|0)>0?255:0;o=HEa(+n[i+(z+2<<2)>>2]*255.0)|0;b[L+2>>0]=o>>>0<256?o:(o|0)>0?255:0;z=z+3|0;o=L+k|0;if((z|0)>=(q|0)){fa=o;break}else L=o}}else fa=da;d=d+256|0;if((d|0)>=(e|0))break;else{l=l+768|0;c=fa;m=m+256|0}}}u=g;return}function _qa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=u;u=u+16|0;h=g+8|0;i=g+4|0;j=g;k=f[a>>2]|0;l=e*3|0;if((e|0)<=0){u=g;return}if((k|0)==4){e=0;m=d;while(1){$qa(a,b[c+e>>0]|0,b[c+(e+1)>>0]|0,b[c+(e+2)>>0]|0,h,i,j);n=f[j>>2]|0;b[m>>0]=n>>>0<256?n:(n|0)>0?255:0;n=f[i>>2]|0;b[m+1>>0]=n>>>0<256?n:(n|0)>0?255:0;n=f[h>>2]|0;b[m+2>>0]=n>>>0<256?n:(n|0)>0?255:0;b[m+3>>0]=-1;e=e+3|0;if((e|0)>=(l|0))break;else m=m+4|0}u=g;return}else{m=0;e=d;while(1){$qa(a,b[c+m>>0]|0,b[c+(m+1)>>0]|0,b[c+(m+2)>>0]|0,h,i,j);d=f[j>>2]|0;b[e>>0]=d>>>0<256?d:(d|0)>0?255:0;d=f[i>>2]|0;b[e+1>>0]=d>>>0<256?d:(d|0)>0?255:0;d=f[h>>2]|0;b[e+2>>0]=d>>>0<256?d:(d|0)>0?255:0;m=m+3|0;if((m|0)>=(l|0))break;else e=e+k|0}u=g;return}}function $qa(a,b,c,e,g,h,i){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=b&255;b=d[1073496+(k<<1<<1)>>1]|0;l=k<<8;k=f[(f[201815]|0)+((l|c&255)<<2)>>2]|0;c=l|e&255;e=f[(f[201816]|0)+(c<<2)>>2]|0;l=wVa(e|0,((e|0)<0)<<31>>31|0,k|0,((k|0)<0)<<31>>31|0)|0;k=I;e=uVa(l|0,k|0,16384,0)|0;m=b&65535;n=X(e,m)|0;e=(n|0)/16384|0;o=(f[201817]|0)+(c<<3)|0;c=f[o>>2]|0;p=f[o+4>>2]|0;o=wVa(l|0,k|0,-85,-1)|0;k=qVa(o|0,I|0,c|0,p|0)|0;p=uVa(k|0,I|0,16384,0)|0;k=qVa(p|0,I|0,-20889600,-1)|0;p=wVa(k|0,I|0,b&65535|0,0)|0;b=uVa(p|0,I|0,16384,0)|0;p=((b|0)/256|0)+((b|0)/65536|0)|0;b=(n|0)>16383?((e|0)<32768?e:32768):0;e=(p|0)>0?((p|0)<32768?p:32768):0;p=f[a+16>>2]|0;n=f[a+20>>2]|0;k=f[a+24>>2]|0;c=f[a+28>>2]|0;o=f[a+32>>2]|0;l=f[a+36>>2]|0;q=(X(f[a+8>>2]|0,m)|0)+8192+(X(b,f[a+4>>2]|0)|0)+(X(e,f[a+12>>2]|0)|0)>>14;f[g>>2]=q;q=(X(n,m)|0)+8192+(X(b,p)|0)+(X(e,k)|0)>>14;f[h>>2]=q;q=(X(c,b)|0)+8192+(X(o,m)|0)+(X(e,l)|0)>>14;f[i>>2]=q;q=f[g>>2]|0;f[g>>2]=(q|0)>0?((q|0)<4095?q:4095):0;q=f[h>>2]|0;f[h>>2]=(q|0)>0?((q|0)<4095?q:4095):0;q=f[i>>2]|0;f[i>>2]=(q|0)>0?((q|0)<4095?q:4095):0;q=f[a+40>>2]|0;f[g>>2]=j[q+(f[g>>2]<<1)>>1];f[h>>2]=j[q+(f[h>>2]<<1)>>1];f[i>>2]=j[q+(f[i>>2]<<1)>>1];return}function ara(a){a=a|0;GQa(a);return}function bra(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c;yV(d,62440);e=f[b>>2]|0;g=a+8|0;h=a+16|0;i=b+4|0;if((e|0)<(f[i>>2]|0)){b=(f[a+12>>2]|0)+(X(f[h>>2]|0,e)|0)|0;j=a+24|0;k=a+20|0;l=b;b=e;m=(f[a+4>>2]|0)+(X(f[g>>2]|0,e)|0)|0;while(1){cra(f[j>>2]|0,m,l,f[k>>2]|0);b=b+1|0;if((b|0)>=(f[i>>2]|0))break;else{l=l+(f[h>>2]|0)|0;m=m+(f[g>>2]|0)|0}}}if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function cra(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0,I=0,J=0,K=0;g=f[a>>2]|0;h=b[a+40>>0]|0?f[201809]|0:0;i=+n[a+4>>2];j=+n[a+8>>2];k=+n[a+12>>2];l=+n[a+16>>2];m=+n[a+20>>2];o=+n[a+24>>2];p=+n[a+28>>2];q=+n[a+32>>2];r=+n[a+36>>2];s=e*3|0;if((e|0)<=0)return;e=a+44|0;t=a+48|0;a=(h|0)==0;u=(g|0)==4;v=d;d=0;while(1){w=+n[c+(d<<2)>>2];if(!(w<=+n[e>>2])){x=(w+16.0)/116.0;y=x;z=x*(x*x)}else{x=w/903.2999877929688;y=x*7.7870001792907715+.13793103396892548;z=x}x=+n[c+(d+1<<2)>>2]/500.0+y;w=y-+n[c+(d+2<<2)>>2]/200.0;A=+n[t>>2];if(!(x<=A))B=x*(x*x);else B=(x+-.13793103396892548)/7.7870001792907715;if(!(w<=A))C=w*(w*w);else C=(w+-.13793103396892548)/7.7870001792907715;w=j*z+i*B+k*C;A=m*z+l*B+o*C;x=q*z+p*B+r*C;D=w<0.0?0.0:w>1.0?1.0:w;w=A<0.0?0.0:A>1.0?1.0:A;A=x<0.0?0.0:x>1.0?1.0:x;if(a){E=A;F=w;G=D}else{x=D*1024.0;H=~~x;I=(H|0)>0?H:0;H=(I|0)<1023?I:1023;D=x-+(H|0);I=h+(H<<2<<2)|0;x=w*1024.0;H=~~x;J=(H|0)>0?H:0;H=(J|0)<1023?J:1023;w=x-+(H|0);J=h+(H<<2<<2)|0;x=A*1024.0;H=~~x;K=(H|0)>0?H:0;H=(K|0)<1023?K:1023;A=x-+(H|0);K=h+(H<<2<<2)|0;E=+n[K>>2]+A*(+n[K+4>>2]+A*(A*+n[K+12>>2]+ +n[K+8>>2]));F=+n[J>>2]+w*(+n[J+4>>2]+w*(w*+n[J+12>>2]+ +n[J+8>>2]));G=+n[I>>2]+D*(+n[I+4>>2]+D*(D*+n[I+12>>2]+ +n[I+8>>2]))}n[v>>2]=G;n[v+4>>2]=F;n[v+8>>2]=E;if(u)n[v+12>>2]=1.0;d=d+3|0;if((d|0)>=(s|0))break;else v=v+(g<<2)|0}return}function dra(a){a=a|0;GQa(a);return}function era(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c;yV(d,62460);e=f[b>>2]|0;g=a+8|0;h=a+16|0;i=b+4|0;if((e|0)<(f[i>>2]|0)){b=(f[a+12>>2]|0)+(X(f[h>>2]|0,e)|0)|0;j=a+24|0;k=a+20|0;l=b;b=e;m=(f[a+4>>2]|0)+(X(f[g>>2]|0,e)|0)|0;while(1){fra((f[j>>2]|0)+56|0,m,l,f[k>>2]|0);b=b+1|0;if((b|0)>=(f[i>>2]|0))break;else{l=l+(f[h>>2]|0)|0;m=m+(f[g>>2]|0)|0}}}if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function fra(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=u;u=u+16|0;h=g+8|0;i=g+4|0;j=g;k=f[a>>2]|0;l=e*3|0;if((e|0)<=0){u=g;return}if((k|0)==4){e=0;m=d;while(1){gra(a,b[c+e>>0]|0,b[c+(e+1)>>0]|0,b[c+(e+2)>>0]|0,h,i,j);n=f[j>>2]|0;b[m>>0]=n>>>0<256?n:(n|0)>0?255:0;n=f[i>>2]|0;b[m+1>>0]=n>>>0<256?n:(n|0)>0?255:0;n=f[h>>2]|0;b[m+2>>0]=n>>>0<256?n:(n|0)>0?255:0;b[m+3>>0]=-1;e=e+3|0;if((e|0)>=(l|0))break;else m=m+4|0}u=g;return}else{m=0;e=d;while(1){gra(a,b[c+m>>0]|0,b[c+(m+1)>>0]|0,b[c+(m+2)>>0]|0,h,i,j);d=f[j>>2]|0;b[e>>0]=d>>>0<256?d:(d|0)>0?255:0;d=f[i>>2]|0;b[e+1>>0]=d>>>0<256?d:(d|0)>0?255:0;d=f[h>>2]|0;b[e+2>>0]=d>>>0<256?d:(d|0)>0?255:0;m=m+3|0;if((m|0)>=(l|0))break;else e=e+k|0}u=g;return}}function gra(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0;i=(b&255)<<1;b=j[1073496+((i|1)<<1)>>1]|0;k=f[201814]|0;l=f[k+(((((c&255)*268435|0)+128|0)>>>13)+-4194+b+8145<<2)>>2]|0;c=f[k+(10484-((((d&255)*41943|0)+16|0)>>>9)+b+8145<<2)>>2]|0;b=j[1073496+(i<<1)>>1]|0;i=f[a+16>>2]|0;d=f[a+20>>2]|0;k=f[a+24>>2]|0;m=f[a+28>>2]|0;n=f[a+32>>2]|0;o=f[a+36>>2]|0;p=(X(f[a+4>>2]|0,l)|0)+8192+(X(f[a+8>>2]|0,b)|0)+(X(f[a+12>>2]|0,c)|0)>>14;f[e>>2]=p;p=(X(i,l)|0)+8192+(X(d,b)|0)+(X(k,c)|0)>>14;f[g>>2]=p;p=(X(m,l)|0)+8192+(X(n,b)|0)+(X(o,c)|0)>>14;f[h>>2]=p;p=f[e>>2]|0;f[e>>2]=(p|0)>0?((p|0)<4095?p:4095):0;p=f[g>>2]|0;f[g>>2]=(p|0)>0?((p|0)<4095?p:4095):0;p=f[h>>2]|0;f[h>>2]=(p|0)>0?((p|0)<4095?p:4095):0;p=f[a+40>>2]|0;f[e>>2]=j[p+(f[e>>2]<<1)>>1];f[g>>2]=j[p+(f[g>>2]<<1)>>1];f[h>>2]=j[p+(f[h>>2]<<1)>>1];return}function hra(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+128|0;g=e;Upa(g,a,b,3);tqa(f[g+16>>2]|0,f[g+48>>2]|0,f[g+72>>2]|0,f[g+104>>2]|0,f[g+12>>2]|0,f[g+8>>2]|0,f[g+112>>2]|0,f[g+116>>2]|0,c,1,d);Vpa(g);u=e;return}function ira(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+128|0;g=e;Upa(g,a,b,3);tqa(f[g+16>>2]|0,f[g+48>>2]|0,f[g+72>>2]|0,f[g+104>>2]|0,f[g+12>>2]|0,f[g+8>>2]|0,f[g+112>>2]|0,f[g+116>>2]|0,c,0,d);Vpa(g);u=e;return}function jra(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=u;u=u+128|0;h=g;i=(c|0)<1?3:c;Ypa(h,a,b,i);Pqa(f[h+16>>2]|0,f[h+48>>2]|0,f[h+72>>2]|0,f[h+104>>2]|0,f[h+12>>2]|0,f[h+8>>2]|0,f[h+112>>2]|0,i,d,1,e);Zpa(h);u=g;return}function kra(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=u;u=u+128|0;h=g;i=(c|0)<1?3:c;Ypa(h,a,b,i);Pqa(f[h+16>>2]|0,f[h+48>>2]|0,f[h+72>>2]|0,f[h+104>>2]|0,f[h+12>>2]|0,f[h+8>>2]|0,f[h+112>>2]|0,i,d,0,e);Zpa(h);u=g;return}function lra(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+128|0;e=d;Pfa(e,a,b,3);aqa(f[e+16>>2]|0,f[e+48>>2]|0,f[e+72>>2]|0,f[e+104>>2]|0,f[e+12>>2]|0,f[e+8>>2]|0,f[e+112>>2]|0,f[e+116>>2]|0,c);Qfa(e);u=d;return}function mra(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+128|0;g=e;h=(c|0)<1?3:c;Sfa(g,a,b,h);jqa(f[g+16>>2]|0,f[g+48>>2]|0,f[g+72>>2]|0,f[g+104>>2]|0,f[g+12>>2]|0,f[g+8>>2]|0,f[g+112>>2]|0,h,d);Tfa(g);u=e;return}function nra(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=75692;b=a+348|0;c=f[b>>2]|0;if(c|0?(d=c+4|0,e=f[d>>2]|0,f[d>>2]=e+-1,(e|0)==1):0)qg[f[(f[c>>2]|0)+8>>2]&1023](c);f[b>>2]=0;f[a+352>>2]=0;tN(a+300|0);tN(a+252|0);tN(a+204|0);tN(a+156|0);b=a+100|0;c=a+136|0;e=f[c>>2]|0;if(e|0?(d=e+12|0,e=f[d>>2]|0,f[d>>2]=e+-1,(e|0)==1):0)XO(b);f[c>>2]=0;c=a+116|0;b=a+104|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+140>>2]|0;e=0;do{f[c+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(f[b>>2]|0))}b=f[a+144>>2]|0;if((b|0)!=(a+148|0))dX(b);b=a+44|0;e=a+80|0;c=f[e>>2]|0;if(c|0?(d=c+12|0,c=f[d>>2]|0,f[d>>2]=c+-1,(c|0)==1):0)XO(b);f[e>>2]=0;e=a+60|0;b=a+48|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;if((f[b>>2]|0)>0){e=f[a+84>>2]|0;c=0;do{f[e+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+88>>2]|0;if((b|0)==(a+92|0))return;dX(b);return}function ora(a){a=a|0;nra(a);GQa(a);return}function pra(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;f[a+8>>2]=f[c>>2];f[a+12>>2]=f[c+4>>2];c=a+24|0;b=a+348|0;d=a+352|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;c=f[d>>2]|0;if(c|0){a=f[c>>2]|0;e=c+4|0;c=f[e>>2]|0;if((c|0)==(a|0))return 1;f[e>>2]=c+(~(((c+-20-a|0)>>>0)/20|0)*20|0);return 1}a=EQa(12)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=EQa(16)|0;e=c+4|0;f[e>>2]=1;f[c>>2]=75772;f[c+8>>2]=a;f[e>>2]=(f[e>>2]|0)+1;g=f[b>>2]|0;f[b>>2]=c;f[d>>2]=a;if(g|0?(a=g+4|0,d=f[a>>2]|0,f[a>>2]=d+-1,(d|0)==1):0)qg[f[(f[g>>2]|0)+8>>2]&1023](g);g=f[e>>2]|0;f[e>>2]=g+-1;if((g|0)!=1)return 1;qg[f[(f[c>>2]|0)+8>>2]&1023](c);return 1}function qra(a,b){a=a|0;b=b|0;f[a>>2]=0;f[a+4>>2]=0;return}function rra(a){a=a|0;return -1}function sra(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0.0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0;e=u;u=u+224|0;g=e+176|0;h=e+168|0;i=e+152|0;j=e+160|0;k=e+144|0;l=e+80|0;m=e+136|0;o=e+16|0;p=e;q=e+72|0;yV(h,75744);FJ(i,c,-1);f[j>>2]=f[i>>2];f[j+4>>2]=f[i+4>>2];i=Bra(a,j,d)|0;d=a+352|0;j=f[d>>2]|0;r=f[j+4>>2]|0;s=f[j>>2]|0;t=r-s|0;v=(t|0)/20|0;if(!t)w=0;else{if((r|0)==(s|0))_Oa(j);j=s;s=f[j+8>>2]|0;r=a+100|0;t=a+112|0;x=(f[j+4>>2]|0)+15&-16;j=f[t>>2]|0;y=(j|0)<(x|0)?x:j;j=a+108|0;x=f[j>>2]|0;z=(x|0)<(s|0)?s:x;f[k>>2]=z;if(i){qg[f[(f[a>>2]|0)+48>>2]&1023](a);Cra(f[d>>2]|0,a+300|0)}do if((HJ(c)|0)==655360?(X(f[a+28>>2]|0,f[a+24>>2]|0)|0)>0:0){i=a+204|0;x=X(f[a+40>>2]|0,f[a+20>>2]|0)|0;s=f[a+16>>2]|0;if(!(((((f[a+208>>2]|0)<3?(f[a+212>>2]|0)==(x|0):0)?(f[a+216>>2]|0)==(s|0):0)?(f[i>>2]&4095|0)==4:0)?(f[a+228>>2]|0)!=0:0)){f[g>>2]=x;f[g+4>>2]=s;rN(i,2,g,4,0)}i=a+156|0;if(!(((((f[a+160>>2]|0)<3?(f[a+164>>2]|0)==(z|0):0)?(f[a+168>>2]|0)==(y|0):0)?(f[i>>2]&4095|0)==0:0)?(f[a+180>>2]|0)!=0:0)){f[g>>2]=z;f[g+4>>2]=y;rN(i,2,g,0,0)}s=l+4|0;x=l+8|0;A=l+12|0;B=l+8|0;C=l+4|0;D=g+32|0;E=m+4|0;F=l+8|0;G=l+12|0;H=l+4|0;I=0;while(1){J=f[d>>2]|0;K=f[J>>2]|0;if((((f[J+4>>2]|0)-K|0)/20|0)>>>0<=I>>>0){L=22;break}M=K;K=(f[M+(I*20|0)+4>>2]|0)+-1|0;N=(f[M+(I*20|0)+8>>2]|0)+-1|0;f[l>>2]=0;f[s>>2]=0;f[x>>2]=K;f[A>>2]=N;qN(g,i,l);N=B;f[N>>2]=0;f[N+4>>2]=0;f[l>>2]=34209792;f[C>>2]=g;N=f[D>>2]|0;K=f[N>>2]|0;f[m>>2]=f[N+4>>2];f[E>>2]=K;O=1.0/+n[M+(I*20|0)>>2];V5(c,l,m,O,O,5);M=f[(f[a>>2]|0)+44>>2]|0;f[F>>2]=0;f[G>>2]=0;f[l>>2]=17432576;f[H>>2]=g;Rg[M&255](a,I,l);tN(g);I=I+1|0;if(I>>>0>=v>>>0){L=24;break}}if((L|0)==22)_Oa(J);else if((L|0)==24){f[a+4>>2]=2;break}}else L=25;while(0);if((L|0)==25){do if((HJ(c)|0)==65536){J=f[c+4>>2]|0;f[l>>2]=f[J>>2];m=l+4|0;z=J+4|0;f[m>>2]=f[z>>2];I=l+8|0;f[I>>2]=f[J+8>>2];f[l+12>>2]=f[J+12>>2];f[l+16>>2]=f[J+16>>2];f[l+20>>2]=f[J+20>>2];f[l+24>>2]=f[J+24>>2];f[l+28>>2]=f[J+28>>2];f[l+32>>2]=f[J+32>>2];H=f[J+36>>2]|0;f[l+36>>2]=H;f[l+40>>2]=I;I=l+48|0;G=l+44|0;f[G>>2]=I;f[I>>2]=0;f[l+52>>2]=0;if(H|0){I=H+12|0;f[I>>2]=(f[I>>2]|0)+1}if((f[z>>2]|0)<3){z=f[J+44>>2]|0;I=f[G>>2]|0;f[I>>2]=f[z>>2];f[I+4>>2]=f[z+4>>2];break}else{f[m>>2]=0;WO(l,J);break}}else DJ(l,c,-1);while(0);c=a+44|0;J=X(f[a+40>>2]|0,f[a+20>>2]|0)|0;m=f[a+16>>2]|0;if(!(((((f[a+48>>2]|0)<3?(f[a+52>>2]|0)==(J|0):0)?(f[a+56>>2]|0)==(m|0):0)?(f[c>>2]&4095|0)==4:0)?(f[a+60>>2]|0)!=0:0)){f[g>>2]=J;f[g+4>>2]=m;VO(c,2,g,4)}c=f[k>>2]|0;if(!(((((f[a+104>>2]|0)<3?(f[j>>2]|0)==(c|0):0)?(f[t>>2]|0)==(y|0):0)?(f[r>>2]&4095|0)==0:0)?(f[a+116>>2]|0)!=0:0)){f[g>>2]=c;f[g+4>>2]=y;VO(r,2,g,0)}r=a+116|0;y=o+4|0;c=o+8|0;t=o+12|0;j=o+16|0;k=o+20|0;m=o+24|0;J=o+28|0;z=o+40|0;I=o+48|0;G=o+44|0;H=o+52|0;F=g+4|0;E=g+8|0;D=g+12|0;C=g+4|0;B=p+8|0;i=p+4|0;A=q+4|0;x=g+8|0;s=g+12|0;M=g+4|0;K=o+36|0;N=0;do{P=f[d>>2]|0;Q=f[P>>2]|0;if((((f[P+4>>2]|0)-Q|0)/20|0)>>>0<=N>>>0){L=46;break}R=Q;Q=(f[R+(N*20|0)+8>>2]|0)+-1|0;S=(f[R+(N*20|0)+4>>2]|0)+-1|0;T=f[r>>2]|0;f[o>>2]=1124007936;f[y>>2]=2;f[c>>2]=Q;f[t>>2]=S;f[j>>2]=T;f[k>>2]=T;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[z>>2]=c;f[G>>2]=I;f[H>>2]=0;f[I>>2]=0;if((T|0)==0&(X(S,Q)|0)!=0){f[g>>2]=0;f[F>>2]=0;Q=JV(g,26)|0;U=346743;V=Q+26|0;do{b[Q>>0]=b[U>>0]|0;Q=Q+1|0;U=U+1|0}while((Q|0)<(V|0));EP(-215,g,346770,346774,500);KV(g);W=f[o>>2]|0;Y=f[t>>2]|0;Z=f[G>>2]|0;_=f[k>>2]|0;$=f[z>>2]|0}else{W=1124007936;Y=S;Z=I;_=T;$=c}f[o>>2]=W|16384;f[Z>>2]=Y;f[Z+4>>2]=1;U=_+(X(f[c>>2]|0,Y)|0)|0;f[J>>2]=U;f[m>>2]=U+(0-Y)+Y;f[E>>2]=0;f[D>>2]=0;f[g>>2]=16842752;f[C>>2]=l;U=B;f[U>>2]=0;f[U+4>>2]=0;f[p>>2]=33619968;f[i>>2]=o;U=f[$>>2]|0;f[q>>2]=f[$+4>>2];f[A>>2]=U;O=1.0/+n[R+(N*20|0)>>2];V5(g,p,q,O,O,5);U=f[(f[a>>2]|0)+44>>2]|0;f[x>>2]=0;f[s>>2]=0;f[g>>2]=16842752;f[M>>2]=o;Rg[U&255](a,N,g);U=f[K>>2]|0;if(U|0?(Q=U+12|0,U=f[Q>>2]|0,f[Q>>2]=U+-1,(U|0)==1):0)XO(o);f[K>>2]=0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;if((f[y>>2]|0)>0){U=f[z>>2]|0;Q=0;do{f[U+(Q<<2)>>2]=0;Q=Q+1|0}while((Q|0)<(f[y>>2]|0))}Q=f[G>>2]|0;if((Q|0)!=(I|0))dX(Q);N=N+1|0}while(N>>>0>>0);if((L|0)==46)_Oa(P);f[a+4>>2]=1;a=l+36|0;P=f[a>>2]|0;if(P|0?(L=P+12|0,P=f[L>>2]|0,f[L>>2]=P+-1,(P|0)==1):0)XO(l);f[a>>2]=0;a=l+16|0;P=l+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if((f[P>>2]|0)>0){a=f[l+40>>2]|0;L=0;do{f[a+(L<<2)>>2]=0;L=L+1|0}while((L|0)<(f[P>>2]|0))}P=f[l+44>>2]|0;if((P|0)!=(l+48|0))dX(P)}w=1}if(!(f[h+4>>2]|0)){u=e;return w|0}u=e;return w|0}function tra(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function ura(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+16|0;d=c;e=a+4|0;if(!(f[e>>2]&2)){g=d+8|0;f[g>>2]=0;f[g+4>>2]=0;f[d>>2]=34209792;f[d+4>>2]=a+204;eM(a+44|0,d);f[e>>2]=f[e>>2]|2}e=f[b>>2]|0;d=b+4|0;while(1){g=f[d>>2]|0;if((g|0)==(e|0))break;h=g+-48|0;f[d>>2]=h;tN(h)}h=a+300|0;g=b+8|0;if((e|0)==(f[g>>2]|0)){Ara(b,h);i=f[d>>2]|0}else{f[e>>2]=f[h>>2];j=e+4|0;k=a+304|0;f[j>>2]=f[k>>2];l=e+8|0;f[l>>2]=f[a+308>>2];f[e+12>>2]=f[a+312>>2];f[e+16>>2]=f[a+316>>2];f[e+20>>2]=f[a+320>>2];m=f[a+324>>2]|0;f[e+24>>2]=m;f[e+28>>2]=f[a+328>>2];f[e+32>>2]=l;l=e+40|0;n=e+36|0;f[n>>2]=l;f[e+44>>2]=0;f[l>>2]=0;if(m|0){l=m+8|0;f[l>>2]=(f[l>>2]|0)+1}if((f[k>>2]|0)<3){k=f[a+336>>2]|0;l=f[n>>2]|0;f[l>>2]=f[k>>2];f[l+4>>2]=f[k+4>>2]}else{f[j>>2]=0;sN(e,h)}h=(f[d>>2]|0)+48|0;f[d>>2]=h;i=h}h=a+204|0;if((i|0)==(f[g>>2]|0)){Ara(b,h);o=f[d>>2]|0}else{f[i>>2]=f[h>>2];e=i+4|0;j=a+208|0;f[e>>2]=f[j>>2];k=i+8|0;f[k>>2]=f[a+212>>2];f[i+12>>2]=f[a+216>>2];f[i+16>>2]=f[a+220>>2];f[i+20>>2]=f[a+224>>2];l=f[a+228>>2]|0;f[i+24>>2]=l;f[i+28>>2]=f[a+232>>2];f[i+32>>2]=k;k=i+40|0;n=i+36|0;f[n>>2]=k;f[i+44>>2]=0;f[k>>2]=0;if(l|0){k=l+8|0;f[k>>2]=(f[k>>2]|0)+1}if((f[j>>2]|0)<3){j=f[a+240>>2]|0;k=f[n>>2]|0;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2]}else{f[e>>2]=0;sN(i,h)}h=(f[d>>2]|0)+48|0;f[d>>2]=h;o=h}h=a+252|0;if((o|0)==(f[g>>2]|0)){Ara(b,h);u=c;return}f[o>>2]=f[h>>2];b=o+4|0;g=a+256|0;f[b>>2]=f[g>>2];i=o+8|0;f[i>>2]=f[a+260>>2];f[o+12>>2]=f[a+264>>2];f[o+16>>2]=f[a+268>>2];f[o+20>>2]=f[a+272>>2];e=f[a+276>>2]|0;f[o+24>>2]=e;f[o+28>>2]=f[a+280>>2];f[o+32>>2]=i;i=o+40|0;j=o+36|0;f[j>>2]=i;f[o+44>>2]=0;f[i>>2]=0;if(e|0){i=e+8|0;f[i>>2]=(f[i>>2]|0)+1}if((f[g>>2]|0)<3){g=f[a+288>>2]|0;a=f[j>>2]|0;f[a>>2]=f[g>>2];f[a+4>>2]=f[g+4>>2]}else{f[b>>2]=0;sN(o,h)}f[d>>2]=(f[d>>2]|0)+48;u=c;return}function vra(a){a=a|0;var b=0,c=0,d=0,e=0;b=u;u=u+16|0;c=b;d=a+4|0;if(f[d>>2]&1|0){u=b;return}e=c+8|0;f[e>>2]=0;f[e+4>>2]=0;f[c>>2]=33619968;f[c+4>>2]=a+44;zN(a+204|0,c);f[d>>2]=f[d>>2]|1;u=b;return}function wra(a,b){a=a|0;b=b|0;return 0.0}function xra(a,b){a=a|0;b=b|0;return 0}function yra(a,b,c){a=a|0;b=b|0;c=c|0;return}function zra(a){a=a|0;return}function Ara(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=a+4|0;d=f[a>>2]|0;e=((f[c>>2]|0)-d|0)/48|0;g=e+1|0;if(g>>>0>89478485)ZOa(a);h=a+8|0;i=((f[h>>2]|0)-d|0)/48|0;d=i<<1;j=i>>>0<44739242?(d>>>0>>0?g:d):89478485;do if(j)if(j>>>0>89478485){d=hd(8)|0;LQa(d,349912);f[d>>2]=118288;ld(d|0,20688,857)}else{k=EQa(j*48|0)|0;break}else k=0;while(0);d=k+(e*48|0)|0;g=d;i=k+(j*48|0)|0;f[d>>2]=f[b>>2];j=k+(e*48|0)+4|0;l=b+4|0;m=f[l>>2]|0;f[j>>2]=m;n=k+(e*48|0)+8|0;f[n>>2]=f[b+8>>2];f[k+(e*48|0)+12>>2]=f[b+12>>2];f[k+(e*48|0)+16>>2]=f[b+16>>2];f[k+(e*48|0)+20>>2]=f[b+20>>2];o=f[b+24>>2]|0;f[k+(e*48|0)+24>>2]=o;f[k+(e*48|0)+28>>2]=f[b+28>>2];f[k+(e*48|0)+32>>2]=n;n=k+(e*48|0)+40|0;p=k+(e*48|0)+36|0;f[p>>2]=n;f[k+(e*48|0)+44>>2]=0;f[n>>2]=0;if(!o)q=m;else{m=o+8|0;f[m>>2]=(f[m>>2]|0)+1;q=f[l>>2]|0}if((q|0)<3){q=f[b+36>>2]|0;l=f[p>>2]|0;f[l>>2]=f[q>>2];f[l+4>>2]=f[q+4>>2]}else{f[j>>2]=0;sN(d,b)}b=d+48|0;j=f[a>>2]|0;q=f[c>>2]|0;if((q|0)==(j|0)){r=g;s=j;t=q}else{l=q;q=g;g=d;do{d=g+-48|0;p=l;l=l+-48|0;f[d>>2]=f[l>>2];m=g+-44|0;o=p+-44|0;f[m>>2]=f[o>>2];n=g+-40|0;f[n>>2]=f[p+-40>>2];f[g+-36>>2]=f[p+-36>>2];f[g+-32>>2]=f[p+-32>>2];f[g+-28>>2]=f[p+-28>>2];e=f[p+-24>>2]|0;f[g+-24>>2]=e;f[g+-20>>2]=f[p+-20>>2];f[g+-16>>2]=n;n=g+-8|0;k=g+-12|0;f[k>>2]=n;f[g+-4>>2]=0;f[n>>2]=0;if(e|0){n=e+8|0;f[n>>2]=(f[n>>2]|0)+1}if((f[o>>2]|0)<3){o=f[p+-12>>2]|0;p=f[k>>2]|0;f[p>>2]=f[o>>2];f[p+4>>2]=f[o+4>>2]}else{f[m>>2]=0;sN(d,l)}g=q+-48|0;q=g}while((l|0)!=(j|0));r=q;s=f[a>>2]|0;t=f[c>>2]|0}f[a>>2]=r;f[c>>2]=b;f[h>>2]=i;i=s;h=t;while(1){t=h;if((t|0)==(i|0))break;b=t+-48|0;tN(b);h=b}if(!s)return;GQa(s);return}function Bra(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0,E=0,F=0.0,G=0,H=0,I=0,J=0,L=0;d=a+348|0;e=a+352|0;if(!(f[e>>2]|0)){g=EQa(12)|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=EQa(16)|0;i=h+4|0;f[i>>2]=1;f[h>>2]=75772;f[h+8>>2]=g;f[i>>2]=(f[i>>2]|0)+1;j=f[d>>2]|0;f[d>>2]=h;f[e>>2]=g;if(j|0?(g=j+4|0,d=f[g>>2]|0,f[g>>2]=d+-1,(d|0)==1):0)qg[f[(f[j>>2]|0)+8>>2]&1023](j);j=f[i>>2]|0;f[i>>2]=j+-1;if((j|0)==1)qg[f[(f[h>>2]|0)+8>>2]&1023](h)}h=f[c>>2]|0;j=(f[c+4>>2]|0)-h>>2;i=f[e>>2]|0;d=i+4|0;g=f[d>>2]|0;k=f[i>>2]|0;l=(g-k|0)/20|0;m=(j|0)!=(l|0);o=k;k=g;g=h;if(j>>>0<=l>>>0)if(j>>>0>>0?(h=o+(j*20|0)|0,(h|0)!=(k|0)):0){f[d>>2]=k+(~(((k+-20-h|0)>>>0)/20|0)*20|0);p=g}else p=g;else{Dra(i,j-l|0);p=f[c>>2]|0}l=a+16|0;i=f[l>>2]|0;g=a+20|0;a=f[g>>2]|0;h=(HEa(+(f[b>>2]|0)/+n[p>>2])|0)+62&-32;p=(i|0)<(h|0);f[l>>2]=p?h:i;i=m|p;if(!j){q=i;r=0;s=0;t=a;u=r+s|0;v=(t|0)<(u|0);w=v?u:t;f[g>>2]=w;x=(w|0)!=(a|0);y=q|x;return y|0}p=f[e>>2]|0;e=f[p>>2]|0;m=((f[p+4>>2]|0)-e|0)/20|0;h=e;e=f[c>>2]|0;c=b+4|0;k=0;d=i;i=0;o=0;z=0;while(1){if(m>>>0<=k>>>0){A=15;break}B=h+(k*20|0)|0;if(!d){C=+n[e+(k<<2)>>2];if(+K(+(+n[B>>2]-C))>C*1.1920928955078125e-05){D=1;E=B;F=C}else{D=0;E=B;F=C}}else{D=1;E=B;F=+n[e+(k<<2)>>2]}B=HEa(+(f[b>>2]|0)/F)|0;G=HEa(+(f[c>>2]|0)/F)|0;f[h+(k*20|0)+16>>2]=F>=2.0?1:2;n[E>>2]=F;H=B+1|0;B=G+1|0;f[h+(k*20|0)+4>>2]=H;f[h+(k*20|0)+8>>2]=B;G=(k|0)==0?B:i;I=f[l>>2]|0;J=(H+o|0)>(I|0);L=J?0:o;z=(J?G:0)+z|0;i=J?B:G;G=(X(z,I)|0)+L|0;f[h+(k*20|0)+12>>2]=G;k=k+1|0;if(k>>>0>=j>>>0)break;else{d=D;o=L+H|0}}if((A|0)==15)_Oa(p);q=D;r=i;s=z;t=f[g>>2]|0;u=r+s|0;v=(t|0)<(u|0);w=v?u:t;f[g>>2]=w;x=(w|0)!=(a|0);y=q|x;return y|0}function Cra(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+80|0;e=d+56|0;g=d;h=f[a>>2]|0;i=a+4|0;j=f[i>>2]|0;if((h|0)==(j|0)){k=c+24|0;l=f[k>>2]|0;if(l|0?(m=l+8|0,l=f[m>>2]|0,f[m>>2]=l+-1,(l|0)==1):0)uN(c);l=c+4|0;if((f[l>>2]|0)>0){m=f[c+32>>2]|0;n=0;do{f[m+(n<<2)>>2]=0;n=n+1|0}while((n|0)<(f[l>>2]|0))}f[k>>2]=0;o=f[a>>2]|0;p=f[i>>2]|0}else{o=h;p=j}j=p-o|0;p=o;f[g>>2]=1124007936;h=g+4|0;f[h>>2]=2;i=g+8|0;f[i>>2]=1;a=g+12|0;f[a>>2]=j;k=g+16|0;f[k>>2]=p;l=g+20|0;f[l>>2]=p;n=g+24|0;m=g+28|0;q=g+40|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;f[q>>2]=i;r=g+48|0;s=g+44|0;f[s>>2]=r;f[g+52>>2]=0;f[r>>2]=0;if((o|0)==0&(j|0)!=0){f[e>>2]=0;f[e+4>>2]=0;o=JV(e,26)|0;t=346743;v=o+26|0;do{b[o>>0]=b[t>>0]|0;o=o+1|0;t=t+1|0}while((o|0)<(v|0));EP(-215,e,346770,346774,500);KV(e);w=f[g>>2]|16384;x=f[a>>2]|0;y=f[s>>2]|0;z=f[l>>2]|0}else{w=1124024320;x=j;y=r;z=p}f[g>>2]=w;f[y>>2]=x;f[y+4>>2]=1;y=z+(X(f[i>>2]|0,x)|0)|0;f[m>>2]=y;f[n>>2]=y+(0-x)+x;x=e+8|0;f[x>>2]=0;f[x+4>>2]=0;f[e>>2]=34209792;f[e+4>>2]=c;eM(g,e);e=g+36|0;c=f[e>>2]|0;if(c|0?(x=c+12|0,c=f[x>>2]|0,f[x>>2]=c+-1,(c|0)==1):0)XO(g);f[e>>2]=0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;if((f[h>>2]|0)>0){k=f[q>>2]|0;q=0;do{f[k+(q<<2)>>2]=0;q=q+1|0}while((q|0)<(f[h>>2]|0))}h=f[s>>2]|0;if((h|0)==(r|0)){u=d;return}dX(h);u=d;return}function Dra(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(((d-g|0)/20|0)>>>0>=b>>>0){h=b;i=g;do{f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;i=(f[e>>2]|0)+20|0;f[e>>2]=i;h=h+-1|0}while((h|0)!=0);return}h=f[a>>2]|0;i=(g-h|0)/20|0;g=i+b|0;if(g>>>0>214748364)ZOa(a);j=(d-h|0)/20|0;h=j<<1;d=j>>>0<107374182?(h>>>0>>0?g:h):214748364;do if(d)if(d>>>0>214748364){h=hd(8)|0;LQa(h,349912);f[h>>2]=118288;ld(h|0,20688,857)}else{k=EQa(d*20|0)|0;break}else k=0;while(0);h=k+(i*20|0)|0;i=h;g=k+(d*20|0)|0;d=b;b=h;k=i;do{f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;b=k+20|0;k=b;d=d+-1|0}while((d|0)!=0);d=g;g=f[a>>2]|0;b=f[e>>2]|0;if((b|0)==(g|0)){l=i;m=g}else{j=b;b=i;i=h;do{h=j;j=j+-20|0;f[i+-20>>2]=f[j>>2];f[i+-16>>2]=f[h+-16>>2];f[i+-12>>2]=f[h+-12>>2];n=h+-8|0;h=f[n+4>>2]|0;o=i+-8|0;f[o>>2]=f[n>>2];f[o+4>>2]=h;i=b+-20|0;b=i}while((j|0)!=(g|0));l=b;m=f[a>>2]|0}f[a>>2]=l;f[e>>2]=k;f[c>>2]=d;if(!m)return;GQa(m);return}function Era(a){a=a|0;GQa(a);return}function Fra(a){a=a|0;var b=0,c=0,d=0,e=0;b=f[a+8>>2]|0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;e=f[d>>2]|0;if((e|0)!=(c|0))f[d>>2]=e+(~(((e+-20-c|0)>>>0)/20|0)*20|0);GQa(c)}GQa(b)}qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function Gra(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=75792;b=a+372|0;c=f[b>>2]|0;if(c|0?(d=c+4|0,e=f[d>>2]|0,f[d>>2]=e+-1,(e|0)==1):0)qg[f[(f[c>>2]|0)+8>>2]&1023](c);f[b>>2]=0;f[a+376>>2]=0;b=a+364|0;c=f[b>>2]|0;if(c|0?(e=c+4|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)qg[f[(f[c>>2]|0)+8>>2]&1023](c);f[b>>2]=0;f[a+368>>2]=0;b=a+356|0;c=f[b>>2]|0;if(!c){f[b>>2]=0;g=a+360|0;f[g>>2]=0;nra(a);return}d=c+4|0;e=f[d>>2]|0;f[d>>2]=e+-1;if((e|0)!=1){f[b>>2]=0;g=a+360|0;f[g>>2]=0;nra(a);return}qg[f[(f[c>>2]|0)+8>>2]&1023](c);f[b>>2]=0;g=a+360|0;f[g>>2]=0;nra(a);return}function Hra(a){a=a|0;Gra(a);GQa(a);return}function Ira(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;e=u;u=u+64|0;g=e+8|0;h=e+16|0;i=e;f[g>>2]=f[d>>2];f[g+4>>2]=f[d+4>>2];pra(a,0,g)|0;g=vS(c)|0;d=(g|0)==0;if(d){f[h>>2]=0;f[h+4>>2]=0;j=JV(h,5)|0;b[j>>0]=b[327582]|0;b[j+1>>0]=b[327583]|0;b[j+2>>0]=b[327584]|0;b[j+3>>0]=b[327585]|0;b[j+4>>0]=b[327586]|0;EP(-215,h,339956,327092,585);KV(h)}j=a+356|0;k=a+360|0;if(!(f[k>>2]|0)){l=EQa(12)|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;m=EQa(16)|0;n=m+4|0;f[n>>2]=1;f[m>>2]=75912;f[m+8>>2]=l;f[n>>2]=(f[n>>2]|0)+1;o=f[j>>2]|0;f[j>>2]=m;f[k>>2]=l;if(o|0?(l=o+4|0,j=f[l>>2]|0,f[l>>2]=j+-1,(j|0)==1):0)qg[f[(f[o>>2]|0)+8>>2]&1023](o);o=f[n>>2]|0;f[n>>2]=o+-1;if((o|0)==1)qg[f[(f[m>>2]|0)+8>>2]&1023](m)}m=a+364|0;o=a+368|0;if(!(f[o>>2]|0)){n=EQa(12)|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;j=EQa(16)|0;l=j+4|0;f[l>>2]=1;f[j>>2]=75932;f[j+8>>2]=n;f[l>>2]=(f[l>>2]|0)+1;p=f[m>>2]|0;f[m>>2]=j;f[o>>2]=n;if(p|0?(n=p+4|0,o=f[n>>2]|0,f[n>>2]=o+-1,(o|0)==1):0)qg[f[(f[p>>2]|0)+8>>2]&1023](p);p=f[l>>2]|0;f[l>>2]=p+-1;if((p|0)==1)qg[f[(f[j>>2]|0)+8>>2]&1023](j)}j=a+372|0;p=a+376|0;if(!(f[p>>2]|0)){l=EQa(12)|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;o=EQa(16)|0;n=o+4|0;f[n>>2]=1;f[o>>2]=75932;f[o+8>>2]=l;f[n>>2]=(f[n>>2]|0)+1;m=f[j>>2]|0;f[j>>2]=o;f[p>>2]=l;if(m|0?(l=m+4|0,p=f[l>>2]|0,f[l>>2]=p+-1,(p|0)==1):0)qg[f[(f[m>>2]|0)+8>>2]&1023](m);m=f[n>>2]|0;f[n>>2]=m+-1;if((m|0)==1)qg[f[(f[o>>2]|0)+8>>2]&1023](o)}o=f[k>>2]|0;m=o+4|0;n=f[m>>2]|0;p=f[o>>2]|0;l=n-p>>6;j=p;p=n;if(g>>>0<=l>>>0){if(g>>>0>>0?(n=j+(g<<6)|0,(n|0)!=(p|0)):0)f[m>>2]=p+(~((p+-64-n|0)>>>6)<<6)}else Xra(o,g-l|0);uS(h,f[c>>2]|0,f[c+4>>2]|0,0);c=a+380|0;b[c>>0]=0;l=f[k>>2]|0;f[a+16>>2]=0;f[a+20>>2]=0;k=a+252|0;o=a+276|0;n=f[o>>2]|0;if(n|0?(p=n+8|0,n=f[p>>2]|0,f[p>>2]=n+-1,(n|0)==1):0)uN(k);k=a+256|0;if((f[k>>2]|0)>0){n=f[a+284>>2]|0;p=0;do{f[n+(p<<2)>>2]=0;p=p+1|0}while((p|0)<(f[k>>2]|0))}f[o>>2]=0;if(d){q=b[c>>0]|0;r=q<<24>>24!=0;s=r?3:2;t=a+40|0;f[t>>2]=s;v=a+8|0;w=f[v>>2]|0;x=w+-2|0;y=a+12|0;z=f[y>>2]|0;A=z+-2|0;B=a+408|0;f[B>>2]=1;C=a+412|0;f[C>>2]=1;D=a+416|0;f[D>>2]=x;E=a+420|0;f[E>>2]=A;F=a+24|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;f[F+12>>2]=0;u=e;return 1}d=h+20|0;o=i+4|0;k=0;do{p=(f[l>>2]|0)+(k<<6)|0;n=f[d>>2]|0;f[i>>2]=f[h>>2];f[o>>2]=n;Yra(p,i)|0;if(b[(f[l>>2]|0)+(k<<6)>>0]|0)b[c>>0]=1;k=k+1|0;wS(h)|0}while((k|0)!=(g|0));q=b[c>>0]|0;r=q<<24>>24!=0;s=r?3:2;t=a+40|0;f[t>>2]=s;v=a+8|0;w=f[v>>2]|0;x=w+-2|0;y=a+12|0;z=f[y>>2]|0;A=z+-2|0;B=a+408|0;f[B>>2]=1;C=a+412|0;f[C>>2]=1;D=a+416|0;f[D>>2]=x;E=a+420|0;f[E>>2]=A;F=a+24|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;f[F+12>>2]=0;u=e;return 1}function Jra(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0;d=EQa(436)|0;e=d+8|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[d+44>>2]=1124007936;e=d+52|0;g=d+84|0;h=d+48|0;i=h+36|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));f[g>>2]=e;e=d+92|0;f[d+88>>2]=e;f[e>>2]=0;f[d+96>>2]=0;f[d+100>>2]=1124007936;e=d+108|0;g=d+140|0;h=d+104|0;i=h+36|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));f[g>>2]=e;e=d+148|0;f[d+144>>2]=e;f[e>>2]=0;f[d+152>>2]=0;f[d+156>>2]=1124007936;e=d+160|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;f[d+188>>2]=d+164;e=d+196|0;f[d+192>>2]=e;f[d+200>>2]=0;f[e>>2]=0;f[d+204>>2]=1124007936;e=d+208|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;f[d+236>>2]=d+212;e=d+244|0;f[d+240>>2]=e;f[d+248>>2]=0;f[e>>2]=0;f[d+252>>2]=1124007936;e=d+256|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;f[d+284>>2]=d+260;e=d+292|0;f[d+288>>2]=e;f[d+296>>2]=0;f[e>>2]=0;f[d+300>>2]=1124007936;e=d+304|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;f[d+332>>2]=d+308;e=d+340|0;f[d+336>>2]=e;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[d>>2]=75792;e=d+356|0;g=d+24|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;h=d+392|0;i=h+40|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));f[g>>2]=4;f[d+28>>2]=2;f[d+32>>2]=0;f[d+36>>2]=0;f[d+40>>2]=0;f[d+384>>2]=0;f[d+388>>2]=0;n[d+432>>2]=0.0;g=d+380|0;b[g>>0]=0;h=EQa(16)|0;i=h+4|0;f[i>>2]=1;f[h>>2]=75892;f[h+8>>2]=d;j=h;k=d;Ura(d,c)|0;l=f[c+356>>2]|0;m=f[c+360>>2]|0;if(l|0){o=l+4|0;f[o>>2]=(f[o>>2]|0)+1}o=f[e>>2]|0;f[e>>2]=l;f[d+360>>2]=m;if(o|0?(m=o+4|0,l=f[m>>2]|0,f[m>>2]=l+-1,(l|0)==1):0)qg[f[(f[o>>2]|0)+8>>2]&1023](o);o=d+364|0;l=f[c+364>>2]|0;m=f[c+368>>2]|0;if(l|0){e=l+4|0;f[e>>2]=(f[e>>2]|0)+1}e=f[o>>2]|0;f[o>>2]=l;f[d+368>>2]=m;if(e|0?(m=e+4|0,l=f[m>>2]|0,f[m>>2]=l+-1,(l|0)==1):0)qg[f[(f[e>>2]|0)+8>>2]&1023](e);e=d+372|0;l=f[c+372>>2]|0;m=f[c+376>>2]|0;if(l|0){o=l+4|0;f[o>>2]=(f[o>>2]|0)+1}o=f[e>>2]|0;f[e>>2]=l;f[d+376>>2]=m;if(o|0?(m=o+4|0,l=f[m>>2]|0,f[m>>2]=l+-1,(l|0)==1):0)qg[f[(f[o>>2]|0)+8>>2]&1023](o);o=c+380|0;f[g>>2]=f[o>>2];f[g+4>>2]=f[o+4>>2];f[g+8>>2]=f[o+8>>2];f[g+12>>2]=f[o+12>>2];f[g+16>>2]=f[o+16>>2];f[g+20>>2]=f[o+20>>2];f[g+24>>2]=f[o+24>>2];f[d+408>>2]=f[c+408>>2];f[d+412>>2]=f[c+412>>2];f[d+416>>2]=f[c+416>>2];f[d+420>>2]=f[c+420>>2];o=d+424|0;d=c+424|0;f[o>>2]=f[d>>2];f[o+4>>2]=f[d+4>>2];f[o+8>>2]=f[d+8>>2];f[a>>2]=j;f[a+4>>2]=k;f[i>>2]=(f[i>>2]|0)+1;k=f[i>>2]|0;f[i>>2]=k+-1;if((k|0)!=1)return;qg[f[(f[h>>2]|0)+8>>2]&1023](h);return}function Kra(a){a=a|0;return 0}function Lra(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0.0,k=0.0,l=0.0;d=Tra(a,c)|0;c=f[b>>2]|0;if((c|0)<0){e=0;return e|0}g=f[b+4>>2]|0;if((g|0)<0){e=0;return e|0}if(((f[a+8>>2]|0)+c|0)>=(f[d+4>>2]|0)){e=0;return e|0}if(((f[a+12>>2]|0)+g|0)>=(f[d+8>>2]|0)){e=0;return e|0}b=(f[a+60>>2]|0)+(X(f[f[a+88>>2]>>2]|0,g)|0)+(c<<2)|0;c=b+(f[d+12>>2]<<2)|0;f[a+424>>2]=c;d=c+(f[a+388>>2]<<2)|0;b=f[a+392>>2]|0;g=f[a+396>>2]|0;h=f[a+400>>2]|0;i=f[a+404>>2]|0;j=+(X(f[a+420>>2]|0,f[a+416>>2]|0)|0);k=+((f[c+(b<<2)>>2]|0)-(f[c+(g<<2)>>2]|0)-(f[c+(h<<2)>>2]|0)+(f[c+(i<<2)>>2]|0)|0);l=+(((f[d+(b<<2)>>2]|0)-(f[d+(g<<2)>>2]|0)-(f[d+(h<<2)>>2]|0)+(f[d+(i<<2)>>2]|0)|0)>>>0)*j-k*k;if(l>0.0){k=1.0/+L(+l);n[a+432>>2]=k;e=j*k<.1;return e|0}else{n[a+432>>2]=1.0;e=0;return e|0}return 0}function Mra(a,b){a=a|0;b=b|0;return +(+Sra(a,b))}function Nra(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;e=u;u=u+256|0;g=e+240|0;i=e+184|0;j=e+128|0;k=e+72|0;l=e+56|0;m=e+24|0;n=e;o=e+48|0;p=e+40|0;q=e+16|0;yV(g,75864);r=f[a+352>>2]|0;s=f[r>>2]|0;if((((f[r+4>>2]|0)-s|0)/20|0)>>>0<=c>>>0)_Oa(r);r=s;s=a+380|0;t=a+16|0;v=(X(f[a+20>>2]|0,f[t>>2]|0)|0)<>0];w=a+388|0;f[w>>2]=v;if((HJ(d)|0)!=655360){v=r+(c*20|0)+4|0;f[o>>2]=f[v>>2];x=r+(c*20|0)+8|0;f[o+4>>2]=f[x>>2];y=a+92|0;EJ(i,o,4,(f[a+60>>2]|0)+(f[r+(c*20|0)+12>>2]<<2)|0,f[y>>2]|0);f[p>>2]=f[v>>2];f[p+4>>2]=f[x>>2];o=i+16|0;z=i+44|0;EJ(j,p,4,(f[o>>2]|0)+(f[w>>2]<<2)|0,f[y>>2]|0);if(b[s>>0]|0){f[q>>2]=f[v>>2];f[q+4>>2]=f[x>>2];EJ(k,q,4,(f[o>>2]|0)+(f[a+384>>2]<<2)|0,f[y>>2]|0);y=l+8|0;f[y>>2]=0;f[y+4>>2]=0;f[l>>2]=33619968;f[l+4>>2]=i;y=m+8|0;f[y>>2]=0;f[y+4>>2]=0;f[m>>2]=33619968;f[m+4>>2]=j;y=n+8|0;f[y>>2]=0;f[y+4>>2]=0;f[n>>2]=33619968;f[n+4>>2]=k;Eoa(d,l,m,n,4,4);y=k+36|0;q=f[y>>2]|0;if(q|0?(x=q+12|0,q=f[x>>2]|0,f[x>>2]=q+-1,(q|0)==1):0)XO(k);f[y>>2]=0;y=k+16|0;q=k+4|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;if((f[q>>2]|0)>0){y=f[k+40>>2]|0;x=0;do{f[y+(x<<2)>>2]=0;x=x+1|0}while((x|0)<(f[q>>2]|0))}q=f[k+44>>2]|0;if((q|0)!=(k+48|0))dX(q)}else{q=k+8|0;f[q>>2]=0;f[q+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=i;q=l+8|0;f[q>>2]=0;f[q+4>>2]=0;f[l>>2]=33619968;f[l+4>>2]=j;Eoa(d,k,l,BK()|0,4,4)}q=j+36|0;x=f[q>>2]|0;if(x|0?(y=x+12|0,x=f[y>>2]|0,f[y>>2]=x+-1,(x|0)==1):0)XO(j);f[q>>2]=0;q=j+16|0;x=j+4|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;if((f[x>>2]|0)>0){q=f[j+40>>2]|0;y=0;do{f[q+(y<<2)>>2]=0;y=y+1|0}while((y|0)<(f[x>>2]|0))}x=f[j+44>>2]|0;if((x|0)!=(j+48|0))dX(x);x=i+36|0;y=f[x>>2]|0;if(y|0?(q=y+12|0,y=f[q>>2]|0,f[q>>2]=y+-1,(y|0)==1):0)XO(i);f[x>>2]=0;x=i+4|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;if((f[x>>2]|0)>0){o=f[i+40>>2]|0;y=0;do{f[o+(y<<2)>>2]=0;y=y+1|0}while((y|0)<(f[x>>2]|0))}x=f[z>>2]|0;if((x|0)!=(i+48|0))dX(x)}else{x=f[r+(c*20|0)+12>>2]|0;z=f[t>>2]|0;y=(x|0)%(z|0)|0;o=(x|0)/(z|0)|0;x=f[w>>2]|0;w=a+204|0;q=r+(c*20|0)+4|0;v=f[q>>2]|0;p=r+(c*20|0)+8|0;c=f[p>>2]|0;f[j>>2]=y;f[j+4>>2]=o;f[j+8>>2]=v;f[j+12>>2]=c;qN(i,w,j);c=f[q>>2]|0;v=f[p>>2]|0;f[k>>2]=y;f[k+4>>2]=((x|0)/(z|0)|0)+o;f[k+8>>2]=c;f[k+12>>2]=v;qN(j,w,k);f[j>>2]=f[j>>2]&-8|4;do if(!(b[s>>0]|0)){v=j+24|0;c=f[v>>2]|0;z=k+8|0;f[z>>2]=0;f[z+4>>2]=0;f[k>>2]=34209792;f[k+4>>2]=i;z=l+8|0;f[z>>2]=0;f[z+4>>2]=0;f[l>>2]=34209792;f[l+4>>2]=j;Eoa(d,k,l,BK()|0,4,4);if(((f[v>>2]|0)==(c|0)?(c=f[j+32>>2]|0,(f[c>>2]|0)==(f[p>>2]|0)?(f[c+4>>2]|0)==(f[q>>2]|0):0):0)?(f[j>>2]&4095|0)==4:0)break;f[k>>2]=0;f[k+4>>2]=0;c=JV(k,56)|0;v=327236;z=c+56|0;do{b[c>>0]=b[v>>0]|0;c=c+1|0;v=v+1|0}while((c|0)<(z|0));EP(-215,k,327293,327092,659);KV(k)}else{v=((f[a+384>>2]|0)/(f[t>>2]|0)|0)+o|0;c=f[q>>2]|0;z=f[p>>2]|0;f[l>>2]=y;f[l+4>>2]=v;f[l+8>>2]=c;f[l+12>>2]=z;qN(k,w,l);z=l+8|0;f[z>>2]=0;f[z+4>>2]=0;f[l>>2]=34209792;f[l+4>>2]=i;z=m+8|0;f[z>>2]=0;f[z+4>>2]=0;f[m>>2]=34209792;f[m+4>>2]=j;z=n+8|0;f[z>>2]=0;f[z+4>>2]=0;f[n>>2]=34209792;f[n+4>>2]=k;Eoa(d,l,m,n,4,4);tN(k)}while(0);tN(j);tN(i)}if(!(f[g+4>>2]|0)){u=e;return}u=e;return}function Ora(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;c=u;u=u+16|0;d=c;yV(d,75844);e=f[a+16>>2]|0;if(b[a+380>>0]|0){g=X(f[a+20>>2]|0,e)|0;f[a+384>>2]=g}g=f[a+408>>2]|0;h=f[a+412>>2]|0;i=X(h,e)|0;f[a+392>>2]=i+g;j=(f[a+416>>2]|0)+g|0;f[a+396>>2]=j+i;i=X((f[a+420>>2]|0)+h|0,e)|0;f[a+400>>2]=i+g;f[a+404>>2]=j+i;i=f[a+360>>2]|0;j=(f[i+4>>2]|0)-(f[i>>2]|0)>>6;g=a+368|0;h=f[g>>2]|0;k=h+4|0;l=f[k>>2]|0;m=f[h>>2]|0;n=l-m>>6;o=m;p=l;if(j>>>0<=n>>>0){if(j>>>0>>0?(l=o+(j<<6)|0,(l|0)!=(p|0)):0)f[k>>2]=p+(~((p+-64-l|0)>>>6)<<6);l=a+428|0;f[l>>2]=m;if(!j)q=1;else{r=m;s=l;t=9}}else{Pra(h,j-n|0);n=f[f[g>>2]>>2]|0;g=a+428|0;f[g>>2]=n;r=n;s=g;t=9}if((t|0)==9){t=a+384|0;Qra(r,f[i>>2]|0,e,f[t>>2]|0);if((j|0)==1)q=0;else{r=1;do{Qra((f[s>>2]|0)+(r<<6)|0,(f[i>>2]|0)+(r<<6)|0,e,f[t>>2]|0);r=r+1|0}while((r|0)!=(j|0));q=0}}r=a+376|0;t=f[r>>2]|0;s=t+4|0;g=f[s>>2]|0;n=f[t>>2]|0;h=g-n>>6;l=n;n=g;if(j>>>0<=h>>>0)if(j>>>0>>0?(g=l+(j<<6)|0,(g|0)!=(n|0)):0){f[s>>2]=n+(~((n+-64-g|0)>>>6)<<6);v=t}else v=t;else{Pra(t,j-h|0);v=f[r>>2]|0}a:do if(q)w=v;else{h=a+32|0;t=a+384|0;g=0;n=v;while(1){s=f[n>>2]|0;if((f[n+4>>2]|0)-s>>6>>>0<=g>>>0)break;l=f[h>>2]|0;Qra(s+(g<<6)|0,(f[i>>2]|0)+(g<<6)|0,(l|0)>0?l:e,f[t>>2]|0);g=g+1|0;l=f[r>>2]|0;if(g>>>0>=j>>>0){w=l;break a}else n=l}_Oa(n)}while(0);Rra(w,a+252|0);if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function Pra(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>6>>>0>=b>>>0){h=b;i=g;do{j=i;k=j+60|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));i=(f[e>>2]|0)+64|0;f[e>>2]=i;h=h+-1|0}while((h|0)!=0);return}h=f[a>>2]|0;i=g-h>>6;g=i+b|0;if(g>>>0>67108863)ZOa(a);l=d-h|0;h=l>>5;d=l>>6>>>0<33554431?(h>>>0>>0?g:h):67108863;do if(d)if(d>>>0>67108863){h=hd(8)|0;LQa(h,349912);f[h>>2]=118288;ld(h|0,20688,857)}else{m=EQa(d<<6)|0;break}else m=0;while(0);h=m+(i<<6)|0;i=m+(d<<6)|0;d=b;b=h;m=h;do{j=b;k=j+60|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));b=m+64|0;m=b;d=d+-1|0}while((d|0)!=0);d=f[a>>2]|0;b=(f[e>>2]|0)-d|0;j=h+(0-(b>>6)<<6)|0;if((b|0)>0)DVa(j|0,d|0,b|0)|0;f[a>>2]=j;f[e>>2]=m;f[c>>2]=i;if(!d)return;GQa(d);return}function Qra(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;f[a+48>>2]=f[c+20>>2];g=c+24|0;f[a+52>>2]=f[c+40>>2];h=c+44|0;f[a+56>>2]=f[c+60>>2];i=c+4|0;j=f[i>>2]|0;if(!(b[c>>0]|0)){k=c+8|0;l=(X(f[k>>2]|0,d)|0)+j|0;f[a>>2]=l;l=c+12|0;m=(f[l>>2]|0)+(f[i>>2]|0)+(X(f[k>>2]|0,d)|0)|0;f[a+4>>2]=m;m=c+16|0;n=(X((f[m>>2]|0)+(f[k>>2]|0)|0,d)|0)+(f[i>>2]|0)|0;f[a+8>>2]=n;n=(f[l>>2]|0)+(f[i>>2]|0)+(X((f[m>>2]|0)+(f[k>>2]|0)|0,d)|0)|0;f[a+12>>2]=n;n=c+28|0;k=(X(f[n>>2]|0,d)|0)+(f[g>>2]|0)|0;f[a+16>>2]=k;k=c+32|0;m=(f[k>>2]|0)+(f[g>>2]|0)+(X(f[n>>2]|0,d)|0)|0;f[a+20>>2]=m;m=c+36|0;l=(X((f[m>>2]|0)+(f[n>>2]|0)|0,d)|0)+(f[g>>2]|0)|0;f[a+24>>2]=l;l=(f[k>>2]|0)+(f[g>>2]|0)+(X((f[m>>2]|0)+(f[n>>2]|0)|0,d)|0)|0;f[a+28>>2]=l;l=c+48|0;n=(X(f[l>>2]|0,d)|0)+(f[h>>2]|0)|0;f[a+32>>2]=n;n=c+52|0;m=(f[n>>2]|0)+(f[h>>2]|0)+(X(f[l>>2]|0,d)|0)|0;f[a+36>>2]=m;m=c+56|0;k=(X((f[m>>2]|0)+(f[l>>2]|0)|0,d)|0)+(f[h>>2]|0)|0;f[a+40>>2]=k;o=(f[n>>2]|0)+(f[h>>2]|0)|0;p=f[l>>2]|0;q=f[m>>2]|0;r=q+p|0;s=X(r,d)|0;t=s+o|0;u=a+44|0;f[u>>2]=t;return}else{m=c+8|0;l=j+e+(X(f[m>>2]|0,d)|0)|0;f[a>>2]=l;l=c+16|0;j=f[l>>2]|0;n=(f[i>>2]|0)+e-j+(X((f[m>>2]|0)+j|0,d)|0)|0;f[a+4>>2]=n;n=c+12|0;j=f[n>>2]|0;k=(f[i>>2]|0)+e+j+(X((f[m>>2]|0)+j|0,d)|0)|0;f[a+8>>2]=k;k=f[n>>2]|0;n=f[l>>2]|0;l=(f[i>>2]|0)+e+k-n+(X(n+k+(f[m>>2]|0)|0,d)|0)|0;f[a+12>>2]=l;l=c+28|0;m=(f[g>>2]|0)+e+(X(f[l>>2]|0,d)|0)|0;f[a+16>>2]=m;m=c+36|0;k=f[m>>2]|0;n=(f[g>>2]|0)+e-k+(X((f[l>>2]|0)+k|0,d)|0)|0;f[a+20>>2]=n;n=c+32|0;k=f[n>>2]|0;i=(f[g>>2]|0)+e+k+(X((f[l>>2]|0)+k|0,d)|0)|0;f[a+24>>2]=i;i=f[n>>2]|0;n=f[m>>2]|0;m=(f[g>>2]|0)+e+i-n+(X(n+i+(f[l>>2]|0)|0,d)|0)|0;f[a+28>>2]=m;m=c+48|0;l=(f[h>>2]|0)+e+(X(f[m>>2]|0,d)|0)|0;f[a+32>>2]=l;l=c+56|0;i=f[l>>2]|0;n=(f[h>>2]|0)+e-i+(X((f[m>>2]|0)+i|0,d)|0)|0;f[a+36>>2]=n;n=c+52|0;c=f[n>>2]|0;i=(f[h>>2]|0)+e+c+(X((f[m>>2]|0)+c|0,d)|0)|0;f[a+40>>2]=i;i=f[n>>2]|0;n=f[l>>2]|0;o=(f[h>>2]|0)+e+i-n|0;p=(f[m>>2]|0)+i|0;q=n;r=q+p|0;s=X(r,d)|0;t=s+o|0;u=a+44|0;f[u>>2]=t;return}}function Rra(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+80|0;e=d+56|0;g=d;h=f[a>>2]|0;i=a+4|0;j=f[i>>2]|0;if((h|0)==(j|0)){k=c+24|0;l=f[k>>2]|0;if(l|0?(m=l+8|0,l=f[m>>2]|0,f[m>>2]=l+-1,(l|0)==1):0)uN(c);l=c+4|0;if((f[l>>2]|0)>0){m=f[c+32>>2]|0;n=0;do{f[m+(n<<2)>>2]=0;n=n+1|0}while((n|0)<(f[l>>2]|0))}f[k>>2]=0;o=f[a>>2]|0;p=f[i>>2]|0}else{o=h;p=j}j=p-o|0;p=o;f[g>>2]=1124007936;h=g+4|0;f[h>>2]=2;i=g+8|0;f[i>>2]=1;a=g+12|0;f[a>>2]=j;k=g+16|0;f[k>>2]=p;l=g+20|0;f[l>>2]=p;n=g+24|0;m=g+28|0;q=g+40|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;f[q>>2]=i;r=g+48|0;s=g+44|0;f[s>>2]=r;f[g+52>>2]=0;f[r>>2]=0;if((o|0)==0&(j|0)!=0){f[e>>2]=0;f[e+4>>2]=0;o=JV(e,26)|0;t=346743;v=o+26|0;do{b[o>>0]=b[t>>0]|0;o=o+1|0;t=t+1|0}while((o|0)<(v|0));EP(-215,e,346770,346774,500);KV(e);w=f[g>>2]|16384;x=f[a>>2]|0;y=f[s>>2]|0;z=f[l>>2]|0}else{w=1124024320;x=j;y=r;z=p}f[g>>2]=w;f[y>>2]=x;f[y+4>>2]=1;y=z+(X(f[i>>2]|0,x)|0)|0;f[m>>2]=y;f[n>>2]=y+(0-x)+x;x=e+8|0;f[x>>2]=0;f[x+4>>2]=0;f[e>>2]=34209792;f[e+4>>2]=c;eM(g,e);e=g+36|0;c=f[e>>2]|0;if(c|0?(x=c+12|0,c=f[x>>2]|0,f[x>>2]=c+-1,(c|0)==1):0)XO(g);f[e>>2]=0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;if((f[h>>2]|0)>0){k=f[q>>2]|0;q=0;do{f[k+(q<<2)>>2]=0;q=q+1|0}while((q|0)<(f[h>>2]|0))}h=f[s>>2]|0;if((h|0)==(r|0)){u=d;return}dX(h);u=d;return}function Sra(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0,g=0.0,h=0.0,i=0,j=0.0,k=0.0;c=f[a+428>>2]|0;d=f[a+424>>2]|0;e=+n[c+(b<<6)+48>>2]*+((f[d+(f[c+(b<<6)>>2]<<2)>>2]|0)-(f[d+(f[c+(b<<6)+4>>2]<<2)>>2]|0)-(f[d+(f[c+(b<<6)+8>>2]<<2)>>2]|0)+(f[d+(f[c+(b<<6)+12>>2]<<2)>>2]|0)|0)+ +n[c+(b<<6)+52>>2]*+((f[d+(f[c+(b<<6)+16>>2]<<2)>>2]|0)-(f[d+(f[c+(b<<6)+20>>2]<<2)>>2]|0)-(f[d+(f[c+(b<<6)+24>>2]<<2)>>2]|0)+(f[d+(f[c+(b<<6)+28>>2]<<2)>>2]|0)|0);g=+n[c+(b<<6)+56>>2];if(!(g!=0.0)){h=e;i=a+432|0;j=+n[i>>2];k=h*j;return +k}h=e+g*+((f[d+(f[c+(b<<6)+32>>2]<<2)>>2]|0)-(f[d+(f[c+(b<<6)+36>>2]<<2)>>2]|0)-(f[d+(f[c+(b<<6)+40>>2]<<2)>>2]|0)+(f[d+(f[c+(b<<6)+44>>2]<<2)>>2]|0)|0);i=a+432|0;j=+n[i>>2];k=h*j;return +k}function Tra(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=u;u=u+16|0;e=d;if((c|0)>-1?(g=f[a+352>>2]|0,h=f[g+4>>2]|0,i=f[g>>2]|0,((h-i|0)/20|0|0)>(c|0)):0){j=i;k=h;l=g}else{f[e>>2]=0;f[e+4>>2]=0;g=JV(e,50)|0;h=327378;i=g+50|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));EP(-215,e,327429,327442,46);KV(e);e=f[a+352>>2]|0;j=f[e>>2]|0;k=f[e+4>>2]|0;l=e}if(((k-j|0)/20|0)>>>0>c>>>0){u=d;return j+(c*20|0)|0}else _Oa(l);return 0}function Ura(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;f[a+4>>2]=f[b+4>>2];f[a+8>>2]=f[b+8>>2];f[a+12>>2]=f[b+12>>2];f[a+16>>2]=f[b+16>>2];f[a+20>>2]=f[b+20>>2];f[a+24>>2]=f[b+24>>2];f[a+28>>2]=f[b+28>>2];f[a+32>>2]=f[b+32>>2];f[a+36>>2]=f[b+36>>2];f[a+40>>2]=f[b+40>>2];c=a+44|0;d=b+44|0;e=(a|0)==(b|0);do if(!e){g=b+80|0;h=f[g>>2]|0;if(h|0){i=h+12|0;f[i>>2]=(f[i>>2]|0)+1}i=a+80|0;h=f[i>>2]|0;if(h|0?(j=h+12|0,h=f[j>>2]|0,f[j>>2]=h+-1,(h|0)==1):0)XO(c);f[i>>2]=0;h=a+60|0;j=a+48|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;if((f[j>>2]|0)>0){k=f[a+84>>2]|0;l=0;do{f[k+(l<<2)>>2]=0;l=l+1|0;m=f[j>>2]|0}while((l|0)<(m|0));f[c>>2]=f[d>>2];if((m|0)<3)n=12;else n=14}else{f[c>>2]=f[d>>2];n=12}if((n|0)==12){l=f[b+48>>2]|0;if((l|0)<3){f[j>>2]=l;f[a+52>>2]=f[b+52>>2];f[a+56>>2]=f[b+56>>2];l=f[b+88>>2]|0;k=f[a+88>>2]|0;f[k>>2]=f[l>>2];f[k+4>>2]=f[l+4>>2]}else n=14}if((n|0)==14)WO(c,d);f[h>>2]=f[b+60>>2];f[a+64>>2]=f[b+64>>2];f[a+68>>2]=f[b+68>>2];f[a+72>>2]=f[b+72>>2];f[a+76>>2]=f[b+76>>2];f[i>>2]=f[g>>2];l=a+100|0;k=b+100|0;if(!e){o=b+136|0;p=f[o>>2]|0;if(p|0){q=p+12|0;f[q>>2]=(f[q>>2]|0)+1}q=a+136|0;p=f[q>>2]|0;if(p|0?(r=p+12|0,p=f[r>>2]|0,f[r>>2]=p+-1,(p|0)==1):0)XO(l);f[q>>2]=0;p=a+116|0;r=a+104|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;if((f[r>>2]|0)>0){s=f[a+140>>2]|0;t=0;do{f[s+(t<<2)>>2]=0;t=t+1|0;u=f[r>>2]|0}while((t|0)<(u|0));f[l>>2]=f[k>>2];if((u|0)<3)n=26;else n=28}else{f[l>>2]=f[k>>2];n=26}if((n|0)==26){t=f[b+104>>2]|0;if((t|0)<3){f[r>>2]=t;f[a+108>>2]=f[b+108>>2];f[a+112>>2]=f[b+112>>2];t=f[b+144>>2]|0;s=f[a+144>>2]|0;f[s>>2]=f[t>>2];f[s+4>>2]=f[t+4>>2]}else n=28}if((n|0)==28)WO(l,k);f[p>>2]=f[b+116>>2];f[a+120>>2]=f[b+120>>2];f[a+124>>2]=f[b+124>>2];f[a+128>>2]=f[b+128>>2];f[a+132>>2]=f[b+132>>2];f[q>>2]=f[o>>2];t=a+156|0;s=b+156|0;if(!e){g=b+180|0;i=f[g>>2]|0;if(i|0){h=i+8|0;f[h>>2]=(f[h>>2]|0)+1}h=a+180|0;i=f[h>>2]|0;if(i|0?(j=i+8|0,i=f[j>>2]|0,f[j>>2]=i+-1,(i|0)==1):0)uN(t);i=a+160|0;if((f[i>>2]|0)>0){j=f[a+188>>2]|0;v=0;do{f[j+(v<<2)>>2]=0;v=v+1|0;w=f[i>>2]|0}while((v|0)<(w|0));f[h>>2]=0;f[t>>2]=f[s>>2];if((w|0)<3)n=40;else n=42}else{f[h>>2]=0;f[t>>2]=f[s>>2];n=40}if((n|0)==40){v=f[b+160>>2]|0;if((v|0)<3){f[i>>2]=v;f[a+164>>2]=f[b+164>>2];f[a+168>>2]=f[b+168>>2];v=f[b+192>>2]|0;j=f[a+192>>2]|0;f[j>>2]=f[v>>2];f[j+4>>2]=f[v+4>>2]}else n=42}if((n|0)==42)sN(t,s);f[a+172>>2]=f[b+172>>2];v=a+176|0;if(!(f[v>>2]|0))f[v>>2]=f[b+176>>2];f[h>>2]=f[g>>2];f[a+184>>2]=f[b+184>>2];v=a+204|0;j=b+204|0;if(!e){o=b+228|0;q=f[o>>2]|0;if(q|0){p=q+8|0;f[p>>2]=(f[p>>2]|0)+1}p=a+228|0;q=f[p>>2]|0;if(q|0?(k=q+8|0,q=f[k>>2]|0,f[k>>2]=q+-1,(q|0)==1):0)uN(v);q=a+208|0;if((f[q>>2]|0)>0){k=f[a+236>>2]|0;l=0;do{f[k+(l<<2)>>2]=0;l=l+1|0;x=f[q>>2]|0}while((l|0)<(x|0));f[p>>2]=0;f[v>>2]=f[j>>2];if((x|0)<3)n=56;else n=58}else{f[p>>2]=0;f[v>>2]=f[j>>2];n=56}if((n|0)==56){l=f[b+208>>2]|0;if((l|0)<3){f[q>>2]=l;f[a+212>>2]=f[b+212>>2];f[a+216>>2]=f[b+216>>2];l=f[b+240>>2]|0;k=f[a+240>>2]|0;f[k>>2]=f[l>>2];f[k+4>>2]=f[l+4>>2]}else n=58}if((n|0)==58)sN(v,j);f[a+220>>2]=f[b+220>>2];l=a+224|0;if(!(f[l>>2]|0))f[l>>2]=f[b+224>>2];f[p>>2]=f[o>>2];f[a+232>>2]=f[b+232>>2];l=a+252|0;k=b+252|0;if(!e){g=b+276|0;h=f[g>>2]|0;if(h|0){s=h+8|0;f[s>>2]=(f[s>>2]|0)+1}s=a+276|0;h=f[s>>2]|0;do if(h|0){t=h+8|0;i=f[t>>2]|0;f[t>>2]=i+-1;if((i|0)!=1)break;uN(l)}while(0);h=a+256|0;if((f[h>>2]|0)>0){o=f[a+284>>2]|0;p=0;do{f[o+(p<<2)>>2]=0;p=p+1|0;y=f[h>>2]|0}while((p|0)<(y|0));f[s>>2]=0;f[l>>2]=f[k>>2];if((y|0)<3)n=72;else n=74}else{f[s>>2]=0;f[l>>2]=f[k>>2];n=72}do if((n|0)==72){p=f[b+256>>2]|0;if((p|0)>=3){n=74;break}f[h>>2]=p;f[a+260>>2]=f[b+260>>2];f[a+264>>2]=f[b+264>>2];p=f[b+288>>2]|0;o=f[a+288>>2]|0;f[o>>2]=f[p>>2];f[o+4>>2]=f[p+4>>2]}while(0);if((n|0)==74)sN(l,k);f[a+268>>2]=f[b+268>>2];h=a+272|0;if(!(f[h>>2]|0))f[h>>2]=f[b+272>>2];f[s>>2]=f[g>>2];f[a+280>>2]=f[b+280>>2];h=a+300|0;p=b+300|0;if(e)break;o=b+324|0;j=f[o>>2]|0;if(j|0){v=j+8|0;f[v>>2]=(f[v>>2]|0)+1}v=a+324|0;j=f[v>>2]|0;do if(j|0){q=j+8|0;i=f[q>>2]|0;f[q>>2]=i+-1;if((i|0)!=1)break;uN(h)}while(0);j=a+304|0;if((f[j>>2]|0)>0){g=f[a+332>>2]|0;s=0;do{f[g+(s<<2)>>2]=0;s=s+1|0;z=f[j>>2]|0}while((s|0)<(z|0));f[v>>2]=0;f[h>>2]=f[p>>2];if((z|0)<3)n=88;else n=90}else{f[v>>2]=0;f[h>>2]=f[p>>2];n=88}do if((n|0)==88){s=f[b+304>>2]|0;if((s|0)>=3){n=90;break}f[j>>2]=s;f[a+308>>2]=f[b+308>>2];f[a+312>>2]=f[b+312>>2];s=f[b+336>>2]|0;g=f[a+336>>2]|0;f[g>>2]=f[s>>2];f[g+4>>2]=f[s+4>>2]}while(0);if((n|0)==90)sN(h,p);f[a+316>>2]=f[b+316>>2];j=a+320|0;if(!(f[j>>2]|0))f[j>>2]=f[b+320>>2];f[v>>2]=f[o>>2];f[a+328>>2]=f[b+328>>2]}}}}}while(0);n=a+348|0;z=f[b+348>>2]|0;e=f[b+352>>2]|0;if(z|0){b=z+4|0;f[b>>2]=(f[b>>2]|0)+1}b=f[n>>2]|0;f[n>>2]=z;f[a+352>>2]=e;if(!b)return a|0;e=b+4|0;z=f[e>>2]|0;f[e>>2]=z+-1;if((z|0)!=1)return a|0;qg[f[(f[b>>2]|0)+8>>2]&1023](b);return a|0}function Vra(a){a=a|0;GQa(a);return}function Wra(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function Xra(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if(e-h>>6>>>0>=c>>>0){i=c;j=h;do{b[j>>0]=0;k=j+4|0;l=k+60|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));j=(f[g>>2]|0)+64|0;f[g>>2]=j;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;j=h-i>>6;h=j+c|0;if(h>>>0>67108863)ZOa(a);m=e-i|0;i=m>>5;e=m>>6>>>0<33554431?(i>>>0>>0?h:i):67108863;do if(e)if(e>>>0>67108863){i=hd(8)|0;LQa(i,349912);f[i>>2]=118288;ld(i|0,20688,857)}else{n=EQa(e<<6)|0;break}else n=0;while(0);i=n+(j<<6)|0;j=i;h=n+(e<<6)|0;e=c;c=j;n=i;do{b[n>>0]=0;k=n+4|0;l=k+60|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));n=c+64|0;c=n;e=e+-1|0}while((e|0)!=0);e=h;h=f[a>>2]|0;n=f[g>>2]|0;k=h;if((n|0)==(h|0)){o=j;p=k}else{j=n+-64-k|0;k=n;n=i;while(1){l=k;k=k+-64|0;b[n+-64>>0]=b[k>>0]|0;f[n+-60>>2]=f[l+-60>>2];f[n+-56>>2]=f[l+-56>>2];f[n+-52>>2]=f[l+-52>>2];f[n+-48>>2]=f[l+-48>>2];f[n+-44>>2]=f[l+-44>>2];f[n+-40>>2]=f[l+-40>>2];f[n+-36>>2]=f[l+-36>>2];f[n+-32>>2]=f[l+-32>>2];f[n+-28>>2]=f[l+-28>>2];f[n+-24>>2]=f[l+-24>>2];f[n+-20>>2]=f[l+-20>>2];f[n+-16>>2]=f[l+-16>>2];f[n+-12>>2]=f[l+-12>>2];f[n+-8>>2]=f[l+-8>>2];f[n+-4>>2]=f[l+-4>>2];if((k|0)==(h|0))break;else n=n+-64|0}o=i+(~(j>>>6)<<6)|0;p=f[a>>2]|0}f[a>>2]=o;f[g>>2]=c;f[d>>2]=e;if(!p)return;GQa(p);return}function Yra(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+160|0;e=d+152|0;g=d+136|0;h=d+88|0;i=d+44|0;j=d;k=d+144|0;tS(g,c,331431);l=g+4|0;uS(h,f[g>>2]|0,f[l>>2]|0,0);m=f[g>>2]|0;n=f[l>>2]|0;uS(i,m,n,vS(g)|0);g=a+4|0;n=g+60|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(n|0));g=h+40|0;n=h+4|0;m=i+4|0;l=h+20|0;o=i+20|0;p=i+40|0;q=j+20|0;r=e+4|0;s=e+4|0;t=e+4|0;v=e+4|0;w=e+4|0;x=0;while(1){y=f[h>>2]|0;if((((y|0)==(f[i>>2]|0)?(f[n>>2]|0)==(f[m>>2]|0):0)?(f[l>>2]|0)==(f[o>>2]|0):0)?(f[g>>2]|0)==(f[p>>2]|0):0)break;uS(j,y,f[l>>2]|0,0);y=f[q>>2]|0;f[e>>2]=f[j>>2];f[r>>2]=y;FS(e,a+4+(x*20|0)|0,0);y=wS(j)|0;z=f[j+20>>2]|0;f[e>>2]=f[j>>2];f[s>>2]=z;FS(e,a+4+(x*20|0)+4|0,0);z=wS(y)|0;y=f[j+20>>2]|0;f[e>>2]=f[j>>2];f[t>>2]=y;FS(e,a+4+(x*20|0)+8|0,0);y=wS(z)|0;z=f[j+20>>2]|0;f[e>>2]=f[j>>2];f[v>>2]=z;FS(e,a+4+(x*20|0)+12|0,0);z=wS(y)|0;y=f[j+20>>2]|0;f[e>>2]=f[j>>2];f[w>>2]=y;GS(e,a+4+(x*20|0)+16|0,0.0);wS(z)|0;wS(h)|0;x=x+1|0}tS(k,c,331437);FS(k,e,0);b[a>>0]=(f[e>>2]|0)!=0&1;u=d;return 1}function Zra(a){a=a|0;GQa(a);return}function _ra(a){a=a|0;var b=0,c=0,d=0,e=0;b=f[a+8>>2]|0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;e=f[d>>2]|0;if((e|0)!=(c|0))f[d>>2]=e+(~((e+-64-c|0)>>>6)<<6);GQa(c)}GQa(b)}qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function $ra(a){a=a|0;GQa(a);return}function asa(a){a=a|0;var b=0,c=0,d=0,e=0;b=f[a+8>>2]|0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;e=f[d>>2]|0;if((e|0)!=(c|0))f[d>>2]=e+(~((e+-64-c|0)>>>6)<<6);GQa(c)}GQa(b)}qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function bsa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=75952;b=a+372|0;c=f[b>>2]|0;if(c|0?(d=c+4|0,e=f[d>>2]|0,f[d>>2]=e+-1,(e|0)==1):0)qg[f[(f[c>>2]|0)+8>>2]&1023](c);f[b>>2]=0;f[a+376>>2]=0;b=a+364|0;c=f[b>>2]|0;if(c|0?(e=c+4|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)qg[f[(f[c>>2]|0)+8>>2]&1023](c);f[b>>2]=0;f[a+368>>2]=0;b=a+356|0;c=f[b>>2]|0;if(!c){f[b>>2]=0;g=a+360|0;f[g>>2]=0;nra(a);return}d=c+4|0;e=f[d>>2]|0;f[d>>2]=e+-1;if((e|0)!=1){f[b>>2]=0;g=a+360|0;f[g>>2]=0;nra(a);return}qg[f[(f[c>>2]|0)+8>>2]&1023](c);f[b>>2]=0;g=a+360|0;f[g>>2]=0;nra(a);return}function csa(a){a=a|0;bsa(a);GQa(a);return}function dsa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+112|0;e=d+56|0;g=d+64|0;h=d+8|0;i=d;f[e>>2]=f[c>>2];f[e+4>>2]=f[c+4>>2];pra(a,0,e)|0;e=a+356|0;c=a+360|0;if(!(f[c>>2]|0)){j=EQa(12)|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;k=EQa(16)|0;l=k+4|0;f[l>>2]=1;f[k>>2]=76032;f[k+8>>2]=j;f[l>>2]=(f[l>>2]|0)+1;m=f[e>>2]|0;f[e>>2]=k;f[c>>2]=j;if(m|0?(j=m+4|0,e=f[j>>2]|0,f[j>>2]=e+-1,(e|0)==1):0)qg[f[(f[m>>2]|0)+8>>2]&1023](m);m=f[l>>2]|0;f[l>>2]=m+-1;if((m|0)==1)qg[f[(f[k>>2]|0)+8>>2]&1023](k)}k=a+364|0;m=a+368|0;if(!(f[m>>2]|0)){l=EQa(12)|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;e=EQa(16)|0;j=e+4|0;f[j>>2]=1;f[e>>2]=76052;f[e+8>>2]=l;f[j>>2]=(f[j>>2]|0)+1;n=f[k>>2]|0;f[k>>2]=e;f[m>>2]=l;if(n|0?(l=n+4|0,m=f[l>>2]|0,f[l>>2]=m+-1,(m|0)==1):0)qg[f[(f[n>>2]|0)+8>>2]&1023](n);n=f[j>>2]|0;f[j>>2]=n+-1;if((n|0)==1)qg[f[(f[e>>2]|0)+8>>2]&1023](e)}e=a+372|0;n=a+376|0;if(!(f[n>>2]|0)){j=EQa(12)|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;m=EQa(16)|0;l=m+4|0;f[l>>2]=1;f[m>>2]=76052;f[m+8>>2]=j;f[l>>2]=(f[l>>2]|0)+1;k=f[e>>2]|0;f[e>>2]=m;f[n>>2]=j;if(k|0?(j=k+4|0,n=f[j>>2]|0,f[j>>2]=n+-1,(n|0)==1):0)qg[f[(f[k>>2]|0)+8>>2]&1023](k);k=f[l>>2]|0;f[l>>2]=k+-1;if((k|0)==1)qg[f[(f[m>>2]|0)+8>>2]&1023](m)}m=f[c>>2]|0;k=vS(b)|0;l=m+4|0;n=f[l>>2]|0;j=f[m>>2]|0;e=n-j>>4;o=j;j=n;if(k>>>0<=e>>>0){if(k>>>0>>0?(n=o+(k<<4)|0,(n|0)!=(j|0)):0)f[l>>2]=j+(~((j+-16-n|0)>>>4)<<4)}else tsa(m,k-e|0);f[a+380>>2]=0;e=b+4|0;uS(g,f[b>>2]|0,f[e>>2]|0,0);k=f[b>>2]|0;m=f[e>>2]|0;uS(h,k,m,vS(b)|0);b=f[c>>2]|0;c=g+40|0;m=g+4|0;k=h+4|0;e=g+20|0;n=h+20|0;j=h+40|0;l=i+4|0;o=0;while(1){p=f[g>>2]|0;q=p;if((((p|0)==(f[h>>2]|0)?(f[m>>2]|0)==(f[k>>2]|0):0)?(f[e>>2]|0)==(f[n>>2]|0):0)?(f[c>>2]|0)==(f[j>>2]|0):0)break;p=(f[b>>2]|0)+(o<<4)|0;r=f[e>>2]|0;f[i>>2]=q;f[l>>2]=r;usa(p,i)|0;wS(g)|0;o=o+1|0}f[a+40>>2]=1;o=a+24|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;u=d;return 1}function esa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=EQa(388)|0;msa(c);d=EQa(16)|0;e=d+4|0;f[e>>2]=1;f[d>>2]=76012;f[d+8>>2]=c;g=d;h=c;Ura(c,b)|0;i=c+356|0;j=f[b+356>>2]|0;k=f[b+360>>2]|0;if(j|0){l=j+4|0;f[l>>2]=(f[l>>2]|0)+1}l=f[i>>2]|0;f[i>>2]=j;f[c+360>>2]=k;if(l|0?(k=l+4|0,j=f[k>>2]|0,f[k>>2]=j+-1,(j|0)==1):0)qg[f[(f[l>>2]|0)+8>>2]&1023](l);l=c+364|0;j=f[b+364>>2]|0;k=f[b+368>>2]|0;if(j|0){i=j+4|0;f[i>>2]=(f[i>>2]|0)+1}i=f[l>>2]|0;f[l>>2]=j;f[c+368>>2]=k;if(i|0?(k=i+4|0,j=f[k>>2]|0,f[k>>2]=j+-1,(j|0)==1):0)qg[f[(f[i>>2]|0)+8>>2]&1023](i);i=c+372|0;j=f[b+372>>2]|0;k=f[b+376>>2]|0;if(j|0){l=j+4|0;f[l>>2]=(f[l>>2]|0)+1}l=f[i>>2]|0;f[i>>2]=j;f[c+376>>2]=k;if(l|0?(k=l+4|0,j=f[k>>2]|0,f[k>>2]=j+-1,(j|0)==1):0)qg[f[(f[l>>2]|0)+8>>2]&1023](l);l=b+380|0;b=f[l+4>>2]|0;j=c+380|0;f[j>>2]=f[l>>2];f[j+4>>2]=b;f[a>>2]=g;f[a+4>>2]=h;f[e>>2]=(f[e>>2]|0)+1;h=f[e>>2]|0;f[e>>2]=h+-1;if((h|0)!=1)return;qg[f[(f[d>>2]|0)+8>>2]&1023](d);return}function fsa(a){a=a|0;return 1}function gsa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e;if((d|0)>-1?(h=f[a+352>>2]|0,i=f[h+4>>2]|0,j=f[h>>2]|0,((i-j|0)/20|0|0)>(d|0)):0){k=j;l=i;m=h}else{f[g>>2]=0;f[g+4>>2]=0;h=JV(g,50)|0;i=327378;j=h+50|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));EP(-215,g,327849,327092,868);KV(g);g=f[a+352>>2]|0;k=f[g>>2]|0;l=f[g+4>>2]|0;m=g}if(((l-k|0)/20|0)>>>0<=d>>>0)_Oa(m);m=k;k=f[c>>2]|0;if((k|0)<0){n=0;u=e;return n|0}l=f[c+4>>2]|0;if((l|0)<0){n=0;u=e;return n|0}if(((f[a+8>>2]|0)+k|0)>=(f[m+(d*20|0)+4>>2]|0)){n=0;u=e;return n|0}if(((f[a+12>>2]|0)+l|0)>=(f[m+(d*20|0)+8>>2]|0)){n=0;u=e;return n|0}c=(f[a+60>>2]|0)+(X(f[f[a+88>>2]>>2]|0,l)|0)+(k<<2)|0;f[a+384>>2]=c+(f[m+(d*20|0)+12>>2]<<2);n=1;u=e;return n|0}function hsa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=f[a+380>>2]|0;d=f[a+384>>2]|0;a=f[d+(f[c+(b<<6)+20>>2]<<2)>>2]|0;e=f[d+(f[c+(b<<6)+24>>2]<<2)>>2]|0;g=f[d+(f[c+(b<<6)+36>>2]<<2)>>2]|0;h=f[d+(f[c+(b<<6)+40>>2]<<2)>>2]|0;i=a-e-g+h|0;j=f[d+(f[c+(b<<6)+4>>2]<<2)>>2]|0;k=f[d+(f[c+(b<<6)+16>>2]<<2)>>2]|0;l=f[d+(f[c+(b<<6)+8>>2]<<2)>>2]|0;m=f[d+(f[c+(b<<6)+28>>2]<<2)>>2]|0;n=f[d+(f[c+(b<<6)+44>>2]<<2)>>2]|0;o=f[d+(f[c+(b<<6)+56>>2]<<2)>>2]|0;p=f[d+(f[c+(b<<6)+52>>2]<<2)>>2]|0;q=f[d+(f[c+(b<<6)+32>>2]<<2)>>2]|0;return ((e-a+j-l|0)>=(i|0)?64:0)|(((f[d+(f[c+(b<<6)>>2]<<2)>>2]|0)+a-j-k|0)>=(i|0)?128:0)|((l-e-(f[d+(f[c+(b<<6)+12>>2]<<2)>>2]|0)+m|0)>=(i|0)?32:0)|((e-h-m+n|0)>=(i|0)?16:0)|((h-n-o+(f[d+(f[c+(b<<6)+60>>2]<<2)>>2]|0)|0)>=(i|0)?8:0)|((g-h+o-p|0)>=(i|0)?4:0)|(g-a+k-q|0)>=(i|0)|((p-g+q-(f[d+(f[c+(b<<6)+48>>2]<<2)>>2]|0)|0)>=(i|0)?2:0)|0}function isa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=u;u=u+80|0;e=d+24|0;g=d+8|0;h=d;i=f[a+352>>2]|0;j=f[i>>2]|0;if((((f[i+4>>2]|0)-j|0)/20|0)>>>0<=b>>>0)_Oa(i);i=j;if((HJ(c)|0)==655360){j=f[i+(b*20|0)+12>>2]|0;k=f[a+16>>2]|0;l=f[i+(b*20|0)+4>>2]|0;m=f[i+(b*20|0)+8>>2]|0;f[g>>2]=(j|0)%(k|0)|0;f[g+4>>2]=(j|0)/(k|0)|0;f[g+8>>2]=l;f[g+12>>2]=m;qN(e,a+204|0,g);m=g+8|0;f[m>>2]=0;f[m+4>>2]=0;f[g>>2]=34209792;f[g+4>>2]=e;m=BK()|0;Eoa(c,g,m,BK()|0,4,-1);tN(e);u=d;return}f[h>>2]=f[i+(b*20|0)+4>>2];f[h+4>>2]=f[i+(b*20|0)+8>>2];EJ(e,h,4,(f[a+60>>2]|0)+(f[i+(b*20|0)+12>>2]<<2)|0,f[a+92>>2]|0);a=g+8|0;f[a>>2]=0;f[a+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=e;a=BK()|0;Eoa(c,g,a,BK()|0,4,-1);a=e+36|0;g=f[a>>2]|0;if(g|0?(c=g+12|0,g=f[c>>2]|0,f[c>>2]=g+-1,(g|0)==1):0)XO(e);f[a>>2]=0;a=e+16|0;g=e+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if((f[g>>2]|0)>0){a=f[e+40>>2]|0;c=0;do{f[a+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[g>>2]|0))}g=f[e+44>>2]|0;if((g|0)!=(e+48|0))dX(g);u=d;return}function jsa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;b=f[a+16>>2]|0;c=f[a+360>>2]|0;d=(f[c+4>>2]|0)-(f[c>>2]|0)>>4;e=a+368|0;g=f[e>>2]|0;h=g+4|0;i=f[h>>2]|0;j=f[g>>2]|0;k=i-j>>6;l=j;m=i;if(d>>>0<=k>>>0){if(d>>>0>>0?(i=l+(d<<6)|0,(i|0)!=(m|0)):0)f[h>>2]=m+(~((m+-64-i|0)>>>6)<<6);f[a+380>>2]=j;if(!d){n=g;o=a+252|0;lsa(n,o);return}else{p=j;q=g}}else{ksa(g,d-k|0);k=f[e>>2]|0;e=f[k>>2]|0;f[a+380>>2]=e;p=e;q=k}k=p;p=f[c>>2]|0;c=0;do{e=f[p+(c<<4)>>2]|0;g=f[p+(c<<4)+4>>2]|0;j=f[p+(c<<4)+8>>2]|0;i=f[p+(c<<4)+12>>2]|0;m=X(g,b)|0;f[k+(c<<6)>>2]=m+e;h=j+e|0;f[k+(c<<6)+4>>2]=h+m;l=X(i+g|0,b)|0;f[k+(c<<6)+16>>2]=l+e;f[k+(c<<6)+20>>2]=l+h;r=(j<<1)+e|0;f[k+(c<<6)+8>>2]=r+m;s=r+j|0;f[k+(c<<6)+12>>2]=s+m;f[k+(c<<6)+24>>2]=l+r;f[k+(c<<6)+28>>2]=s+l;l=(i<<1)+g|0;g=X(l,b)|0;f[k+(c<<6)+40>>2]=g+r;f[k+(c<<6)+44>>2]=g+s;m=X(l+i|0,b)|0;f[k+(c<<6)+56>>2]=m+r;f[k+(c<<6)+60>>2]=m+s;f[k+(c<<6)+32>>2]=g+e;f[k+(c<<6)+36>>2]=g+h;f[k+(c<<6)+48>>2]=m+e;f[k+(c<<6)+52>>2]=m+h;c=c+1|0}while((c|0)!=(d|0));n=q;o=a+252|0;lsa(n,o);return}function ksa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>6>>>0>=b>>>0){h=b;i=g;do{j=i;k=j+64|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));i=(f[e>>2]|0)+64|0;f[e>>2]=i;h=h+-1|0}while((h|0)!=0);return}h=f[a>>2]|0;i=g-h>>6;g=i+b|0;if(g>>>0>67108863)ZOa(a);l=d-h|0;h=l>>5;d=l>>6>>>0<33554431?(h>>>0>>0?g:h):67108863;do if(d)if(d>>>0>67108863){h=hd(8)|0;LQa(h,349912);f[h>>2]=118288;ld(h|0,20688,857)}else{m=EQa(d<<6)|0;break}else m=0;while(0);h=m+(i<<6)|0;i=m+(d<<6)|0;d=b;b=h;m=h;do{j=b;k=j+64|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));b=m+64|0;m=b;d=d+-1|0}while((d|0)!=0);d=f[a>>2]|0;b=(f[e>>2]|0)-d|0;j=h+(0-(b>>6)<<6)|0;if((b|0)>0)DVa(j|0,d|0,b|0)|0;f[a>>2]=j;f[e>>2]=m;f[c>>2]=i;if(!d)return;GQa(d);return}function lsa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+80|0;e=d+56|0;g=d;h=f[a>>2]|0;i=a+4|0;j=f[i>>2]|0;if((h|0)==(j|0)){k=c+24|0;l=f[k>>2]|0;if(l|0?(m=l+8|0,l=f[m>>2]|0,f[m>>2]=l+-1,(l|0)==1):0)uN(c);l=c+4|0;if((f[l>>2]|0)>0){m=f[c+32>>2]|0;n=0;do{f[m+(n<<2)>>2]=0;n=n+1|0}while((n|0)<(f[l>>2]|0))}f[k>>2]=0;o=f[a>>2]|0;p=f[i>>2]|0}else{o=h;p=j}j=p-o|0;p=o;f[g>>2]=1124007936;h=g+4|0;f[h>>2]=2;i=g+8|0;f[i>>2]=1;a=g+12|0;f[a>>2]=j;k=g+16|0;f[k>>2]=p;l=g+20|0;f[l>>2]=p;n=g+24|0;m=g+28|0;q=g+40|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;f[q>>2]=i;r=g+48|0;s=g+44|0;f[s>>2]=r;f[g+52>>2]=0;f[r>>2]=0;if((o|0)==0&(j|0)!=0){f[e>>2]=0;f[e+4>>2]=0;o=JV(e,26)|0;t=346743;v=o+26|0;do{b[o>>0]=b[t>>0]|0;o=o+1|0;t=t+1|0}while((o|0)<(v|0));EP(-215,e,346770,346774,500);KV(e);w=f[g>>2]|16384;x=f[a>>2]|0;y=f[s>>2]|0;z=f[l>>2]|0}else{w=1124024320;x=j;y=r;z=p}f[g>>2]=w;f[y>>2]=x;f[y+4>>2]=1;y=z+(X(f[i>>2]|0,x)|0)|0;f[m>>2]=y;f[n>>2]=y+(0-x)+x;x=e+8|0;f[x>>2]=0;f[x+4>>2]=0;f[e>>2]=34209792;f[e+4>>2]=c;eM(g,e);e=g+36|0;c=f[e>>2]|0;if(c|0?(x=c+12|0,c=f[x>>2]|0,f[x>>2]=c+-1,(c|0)==1):0)XO(g);f[e>>2]=0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;if((f[h>>2]|0)>0){k=f[q>>2]|0;q=0;do{f[k+(q<<2)>>2]=0;q=q+1|0}while((q|0)<(f[h>>2]|0))}h=f[s>>2]|0;if((h|0)==(r|0)){u=d;return}dX(h);u=d;return}function msa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=a+8|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;f[a+44>>2]=1124007936;b=a+52|0;c=a+84|0;d=a+48|0;e=d+36|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f[c>>2]=b;b=a+92|0;f[a+88>>2]=b;f[b>>2]=0;f[a+96>>2]=0;f[a+100>>2]=1124007936;b=a+108|0;c=a+140|0;d=a+104|0;e=d+36|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f[c>>2]=b;b=a+148|0;f[a+144>>2]=b;f[b>>2]=0;f[a+152>>2]=0;f[a+156>>2]=1124007936;b=a+160|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[a+188>>2]=a+164;b=a+196|0;f[a+192>>2]=b;f[a+200>>2]=0;f[b>>2]=0;f[a+204>>2]=1124007936;b=a+208|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[a+236>>2]=a+212;b=a+244|0;f[a+240>>2]=b;f[a+248>>2]=0;f[b>>2]=0;f[a+252>>2]=1124007936;b=a+256|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[a+284>>2]=a+260;b=a+292|0;f[a+288>>2]=b;f[a+296>>2]=0;f[b>>2]=0;f[a+300>>2]=1124007936;b=a+304|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[a+332>>2]=a+308;b=a+340|0;f[a+336>>2]=b;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[a>>2]=75952;b=a+356|0;c=a+364|0;d=a+368|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;e=EQa(12)|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;g=EQa(16)|0;h=g+4|0;f[h>>2]=1;f[g>>2]=76032;f[g+8>>2]=e;f[h>>2]=(f[h>>2]|0)+1;i=f[b>>2]|0;f[b>>2]=g;f[a+360>>2]=e;if(i|0?(e=i+4|0,b=f[e>>2]|0,f[e>>2]=b+-1,(b|0)==1):0)qg[f[(f[i>>2]|0)+8>>2]&1023](i);i=f[h>>2]|0;f[h>>2]=i+-1;if((i|0)==1)qg[f[(f[g>>2]|0)+8>>2]&1023](g);g=EQa(12)|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;i=EQa(16)|0;h=i+4|0;f[h>>2]=1;f[i>>2]=76052;f[i+8>>2]=g;f[h>>2]=(f[h>>2]|0)+1;b=f[c>>2]|0;f[c>>2]=i;f[d>>2]=g;if(b|0?(g=b+4|0,d=f[g>>2]|0,f[g>>2]=d+-1,(d|0)==1):0)qg[f[(f[b>>2]|0)+8>>2]&1023](b);b=f[h>>2]|0;f[h>>2]=b+-1;if((b|0)==1)qg[f[(f[i>>2]|0)+8>>2]&1023](i);i=EQa(12)|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;b=EQa(16)|0;h=b+4|0;f[h>>2]=1;f[b>>2]=75772;f[b+8>>2]=i;d=a+348|0;f[h>>2]=(f[h>>2]|0)+1;g=f[d>>2]|0;f[d>>2]=b;f[a+352>>2]=i;if(g|0?(i=g+4|0,d=f[i>>2]|0,f[i>>2]=d+-1,(d|0)==1):0)qg[f[(f[g>>2]|0)+8>>2]&1023](g);g=f[h>>2]|0;f[h>>2]=g+-1;if((g|0)!=1){j=a+380|0;f[j>>2]=0;k=a+384|0;f[k>>2]=0;return}qg[f[(f[b>>2]|0)+8>>2]&1023](b);j=a+380|0;f[j>>2]=0;k=a+384|0;f[k>>2]=0;return}function nsa(a){a=a|0;GQa(a);return}function osa(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function psa(a){a=a|0;GQa(a);return}function qsa(a){a=a|0;var b=0,c=0,d=0,e=0;b=f[a+8>>2]|0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;e=f[d>>2]|0;if((e|0)!=(c|0))f[d>>2]=e+(~((e+-64-c|0)>>>6)<<6);GQa(c)}GQa(b)}qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function rsa(a){a=a|0;GQa(a);return}function ssa(a){a=a|0;var b=0,c=0,d=0,e=0;b=f[a+8>>2]|0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;e=f[d>>2]|0;if((e|0)!=(c|0))f[d>>2]=e+(~((e+-16-c|0)>>>4)<<4);GQa(c)}GQa(b)}qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function tsa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>4>>>0>=b>>>0){h=b;i=g;do{f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;i=(f[e>>2]|0)+16|0;f[e>>2]=i;h=h+-1|0}while((h|0)!=0);return}h=f[a>>2]|0;i=g-h>>4;g=i+b|0;if(g>>>0>268435455)ZOa(a);j=d-h|0;h=j>>3;d=j>>4>>>0<134217727?(h>>>0>>0?g:h):268435455;do if(d)if(d>>>0>268435455){h=hd(8)|0;LQa(h,349912);f[h>>2]=118288;ld(h|0,20688,857)}else{k=EQa(d<<4)|0;break}else k=0;while(0);h=k+(i<<4)|0;i=h;g=k+(d<<4)|0;d=b;b=h;k=i;do{f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;b=k+16|0;k=b;d=d+-1|0}while((d|0)!=0);d=g;g=f[a>>2]|0;b=f[e>>2]|0;j=g;if((b|0)==(g|0)){l=i;m=j}else{i=b+-16-j|0;j=b;b=h;while(1){n=j;j=j+-16|0;f[b+-16>>2]=f[j>>2];f[b+-12>>2]=f[n+-12>>2];f[b+-8>>2]=f[n+-8>>2];f[b+-4>>2]=f[n+-4>>2];if((j|0)==(g|0))break;else b=b+-16|0}l=h+(~(i>>>4)<<4)|0;m=f[a>>2]|0}f[a>>2]=l;f[e>>2]=k;f[c>>2]=d;if(!m)return;GQa(m);return}function usa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=u;u=u+64|0;d=c+56|0;e=c+48|0;g=c;tS(e,b,328169);uS(g,f[e>>2]|0,f[e+4>>2]|0,0);e=f[g+20>>2]|0;f[d>>2]=f[g>>2];f[d+4>>2]=e;FS(d,a,0);e=wS(g)|0;b=f[g+20>>2]|0;f[d>>2]=f[g>>2];f[d+4>>2]=b;FS(d,a+4|0,0);b=wS(e)|0;e=f[g+20>>2]|0;f[d>>2]=f[g>>2];f[d+4>>2]=e;FS(d,a+8|0,0);e=wS(b)|0;b=f[g+20>>2]|0;f[d>>2]=f[g>>2];f[d+4>>2]=b;FS(d,a+12|0,0);wS(e)|0;u=c;return 1}function vsa(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=76072;oQ(a+416|0);tN(a+368|0);tN(a+320|0);tN(a+272|0);tN(a+224|0);tN(a+176|0);tN(a+128|0);b=a+120|0;c=f[b>>2]|0;if(c|0?(d=c+4|0,e=f[d>>2]|0,f[d>>2]=e+-1,(e|0)==1):0)qg[f[(f[c>>2]|0)+8>>2]&1023](c);f[b>>2]=0;f[a+124>>2]=0;b=a+112|0;c=f[b>>2]|0;if(c|0?(e=c+4|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)qg[f[(f[c>>2]|0)+8>>2]&1023](c);f[b>>2]=0;f[a+116>>2]=0;b=a+104|0;c=f[b>>2]|0;if(c|0?(d=c+4|0,e=f[d>>2]|0,f[d>>2]=e+-1,(e|0)==1):0)qg[f[(f[c>>2]|0)+8>>2]&1023](c);f[b>>2]=0;f[a+108>>2]=0;dta(a+4|0);DY(a);return}function wsa(a){a=a|0;vsa(a);GQa(a);return}function xsa(a,b){a=a|0;b=b|0;eta(a,b)|0;return}function ysa(a){a=a|0;var b=0;if(f[a+116>>2]|0){b=0;return b|0}b=(f[a+32>>2]|0)==(f[a+36>>2]|0);return b|0}function zsa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=u;u=u+240|0;d=c+132|0;e=c+88|0;g=c+44|0;h=c+8|0;i=c;j=a+112|0;k=f[j>>2]|0;if(k|0?(l=k+4|0,m=f[l>>2]|0,f[l>>2]=m+-1,(m|0)==1):0)qg[f[(f[k>>2]|0)+8>>2]&1023](k);f[j>>2]=0;k=a+116|0;f[k>>2]=0;m=d;l=m+100|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(l|0));m=a+4|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;f[m+24>>2]=0;if((m|0)!=(d|0)){$sa(a+32|0,0,0);ata(a+44|0,f[d+40>>2]|0,f[d+44>>2]|0);bta(a+56|0,f[d+52>>2]|0,f[d+56>>2]|0);xA(a+68|0,f[d+64>>2]|0,f[d+68>>2]|0);ppa(a+80|0,f[d+76>>2]|0,f[d+80>>2]|0);cta(a+92|0,f[d+88>>2]|0,f[d+92>>2]|0)}dta(d);m=a+104|0;l=f[m>>2]|0;if(l|0?(n=l+4|0,o=f[n>>2]|0,f[n>>2]=o+-1,(o|0)==1):0)qg[f[(f[l>>2]|0)+8>>2]&1023](l);f[m>>2]=0;f[a+108>>2]=0;f[d>>2]=0;f[d+4>>2]=0;mS(h,b,0,d);KV(d);if(!(hS(h)|0)){p=0;eS(h);u=c;return p|0}oS(d,h,0);m=d+4|0;uS(e,f[d>>2]|0,f[m>>2]|0,0);l=f[d>>2]|0;o=f[m>>2]|0;uS(g,l,o,vS(d)|0);d=f[e>>2]|0;o=d;if((((d|0)==(f[g>>2]|0)?(f[e+4>>2]|0)==(f[g+4>>2]|0):0)?(f[e+20>>2]|0)==(f[g+20>>2]|0):0)?(f[e+40>>2]|0)==(f[g+40>>2]|0):0){f[i>>2]=0;f[i+4>>2]=0}else{g=f[e+20>>2]|0;f[i>>2]=o;f[i+4>>2]=g}if(eta(a,i)|0){p=1;eS(h);u=c;return p|0}iS(h);i=f[b>>2]|0;b=HW((i|0)==0?1079437:i,0,0,0)|0;if(!b)q=0;else{i=EQa(16)|0;f[i+4>>2]=1;f[i>>2]=76452;f[i+8>>2]=b;q=i}i=f[j>>2]|0;f[j>>2]=q;f[k>>2]=b;if(i|0?(b=i+4|0,q=f[b>>2]|0,f[b>>2]=q+-1,(q|0)==1):0)qg[f[(f[i>>2]|0)+8>>2]&1023](i);p=(f[k>>2]|0)!=0;eS(h);u=c;return p|0}function Asa(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;j=u;u=u+48|0;k=j+40|0;l=j+28|0;m=j+16|0;n=j+8|0;o=j;yV(k,76424);f[l>>2]=0;p=l+4|0;f[p>>2]=0;f[l+8>>2]=0;f[m>>2]=0;q=m+4|0;f[q>>2]=0;f[m+8>>2]=0;r=f[(f[a>>2]|0)+44>>2]|0;f[n>>2]=f[h>>2];f[n+4>>2]=f[h+4>>2];f[o>>2]=f[i>>2];f[o+4>>2]=f[i+4>>2];bi[r&3](a,b,c,l,m,d,e,g,n,o,0);o=f[m>>2]|0;if(o|0){m=f[q>>2]|0;if((m|0)!=(o|0))f[q>>2]=m+(~((m+-8-o|0)>>>3)<<3);GQa(o)}o=f[l>>2]|0;if(o|0){l=f[p>>2]|0;if((l|0)!=(o|0))f[p>>2]=l+(~((l+-4-o|0)>>>2)<<2);GQa(o)}if(!(f[k+4>>2]|0)){u=j;return}u=j;return}function Bsa(a,c,d,e,g,h,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;g=+g;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;l=u;u=u+160|0;m=l+136|0;n=l+128|0;o=l+72|0;p=l+56|0;q=l+32|0;r=l+48|0;s=l+24|0;t=l+16|0;v=l+8|0;w=l;yV(n,76384);do if((HJ(c)|0)==65536){x=f[c+4>>2]|0;f[o>>2]=f[x>>2];y=o+4|0;z=x+4|0;f[y>>2]=f[z>>2];A=o+8|0;f[A>>2]=f[x+8>>2];f[o+12>>2]=f[x+12>>2];f[o+16>>2]=f[x+16>>2];f[o+20>>2]=f[x+20>>2];f[o+24>>2]=f[x+24>>2];f[o+28>>2]=f[x+28>>2];f[o+32>>2]=f[x+32>>2];B=f[x+36>>2]|0;f[o+36>>2]=B;f[o+40>>2]=A;A=o+48|0;C=o+44|0;f[C>>2]=A;f[A>>2]=0;f[o+52>>2]=0;if(B|0){A=B+12|0;f[A>>2]=(f[A>>2]|0)+1}if((f[z>>2]|0)<3){z=f[x+44>>2]|0;A=f[C>>2]|0;f[A>>2]=f[z>>2];f[A+4>>2]=f[z+4>>2];break}else{f[y>>2]=0;WO(o,x);break}}else DJ(o,c,-1);while(0);if(!(g>1.0?!(f[o>>2]&7|0):0)){f[m>>2]=0;f[m+4>>2]=0;c=JV(m,37)|0;x=329783;y=c+37|0;do{b[c>>0]=b[x>>0]|0;c=c+1|0;x=x+1|0}while((c|0)<(y|0));EP(-215,m,328233,327092,1424);KV(m)}if(!(Wf[f[(f[a>>2]|0)+20>>2]&255](a)|0)){f[p>>2]=0;x=p+4|0;f[x>>2]=0;f[p+8>>2]=0;f[q>>2]=0;c=q+4|0;f[c>>2]=0;f[q+8>>2]=0;if(Wf[f[(f[a>>2]|0)+48>>2]&255](a)|0){f[m>>2]=0;y=m+4|0;f[y>>2]=0;f[m+8>>2]=0;z=f[a+112>>2]|0;f[r>>2]=z;A=r+4|0;f[A>>2]=f[a+116>>2];if(z|0){C=z+4|0;f[C>>2]=(f[C>>2]|0)+1}f[s>>2]=f[j>>2];f[s+4>>2]=f[j+4>>2];f[t>>2]=f[k>>2];f[t+4>>2]=f[k+4>>2];Jsa(o,r,d,p,q,m,g,h,i,s,t,0);t=f[r>>2]|0;if(t|0?(s=t+4|0,i=f[s>>2]|0,f[s>>2]=i+-1,(i|0)==1):0)qg[f[(f[t>>2]|0)+8>>2]&1023](t);f[r>>2]=0;f[A>>2]=0;A=f[y>>2]|0;r=f[m>>2]|0;t=(A-r|0)/20|0;i=e+4|0;s=f[i>>2]|0;C=f[e>>2]|0;z=s-C>>2;B=C;C=s;s=r;r=A;if(t>>>0<=z>>>0)if(t>>>0>>0?(A=B+(t<<2)|0,(A|0)!=(C|0)):0){f[i>>2]=C+(~((C+-4-A|0)>>>2)<<2);D=s;E=r;F=B}else{D=s;E=r;F=B}else{eK(e,t-z|0);D=f[m>>2]|0;E=f[y>>2]|0;F=f[e>>2]|0}if((D|0)!=(E|0)){z=D;t=F;while(1){f[t>>2]=f[z+16>>2];z=z+20|0;if((z|0)==(E|0))break;else t=t+4|0}}if(D|0){if((E|0)!=(D|0))f[y>>2]=E+(~(((E+-20-D|0)>>>0)/20|0)*20|0);GQa(D)}}else{f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=o;f[v>>2]=f[j>>2];f[v+4>>2]=f[j+4>>2];f[w>>2]=f[k>>2];f[w+4>>2]=f[k+4>>2];Ksa(a,m,d,p,q,g,v,w,0);yV(m,76404);Lsa(d,h,.2,e,0)}e=f[q>>2]|0;if(e|0){q=f[c>>2]|0;if((q|0)!=(e|0))f[c>>2]=q+(~((q+-8-e|0)>>>3)<<3);GQa(e)}e=f[p>>2]|0;if(e|0){p=f[x>>2]|0;if((p|0)!=(e|0))f[x>>2]=p+(~((p+-4-e|0)>>>2)<<2);GQa(e)}}e=o+36|0;p=f[e>>2]|0;if(p|0?(x=p+12|0,p=f[x>>2]|0,f[x>>2]=p+-1,(p|0)==1):0)XO(o);f[e>>2]=0;e=o+16|0;p=o+4|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;if((f[p>>2]|0)>0){e=f[o+40>>2]|0;x=0;do{f[e+(x<<2)>>2]=0;x=x+1|0}while((x|0)<(f[p>>2]|0))}p=f[o+44>>2]|0;if((p|0)!=(o+48|0))dX(p);if(!(f[n+4>>2]|0)){u=l;return}u=l;return}function Csa(a,c,d,e,g,h,i,j,k,l,m){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=+h;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;n=u;u=u+128|0;o=n+64|0;p=n+56|0;q=n+16|0;r=n+48|0;s=n+40|0;t=n+32|0;v=n+8|0;w=n;yV(p,76144);if(!(h>1.0?!(TJ(c,-1)|0):0)){f[o>>2]=0;f[o+4>>2]=0;x=JV(o,38)|0;y=328194;z=x+38|0;do{b[x>>0]=b[y>>0]|0;x=x+1|0;y=y+1|0}while((x|0)<(z|0));EP(-215,o,328233,327092,1376);KV(o)}do if(!(Wf[f[(f[a>>2]|0)+20>>2]&255](a)|0)){if(!(Wf[f[(f[a>>2]|0)+48>>2]&255](a)|0)){f[v>>2]=f[k>>2];f[v+4>>2]=f[k+4>>2];f[w>>2]=f[l>>2];f[w+4>>2]=f[l+4>>2];Ksa(a,c,d,e,g,h,v,w,m);if(m){yV(o,76164);Lsa(d,i,.2,e,g);break}else{yV(o,76184);Lsa(d,i,.2,0,0);break}}do if((HJ(c)|0)==65536){y=f[c+4>>2]|0;f[o>>2]=f[y>>2];x=o+4|0;z=y+4|0;f[x>>2]=f[z>>2];A=o+8|0;f[A>>2]=f[y+8>>2];f[o+12>>2]=f[y+12>>2];f[o+16>>2]=f[y+16>>2];f[o+20>>2]=f[y+20>>2];f[o+24>>2]=f[y+24>>2];f[o+28>>2]=f[y+28>>2];f[o+32>>2]=f[y+32>>2];B=f[y+36>>2]|0;f[o+36>>2]=B;f[o+40>>2]=A;A=o+48|0;C=o+44|0;f[C>>2]=A;f[A>>2]=0;f[o+52>>2]=0;if(B|0){A=B+12|0;f[A>>2]=(f[A>>2]|0)+1}if((f[z>>2]|0)<3){z=f[y+44>>2]|0;A=f[C>>2]|0;f[A>>2]=f[z>>2];f[A+4>>2]=f[z+4>>2];break}else{f[x>>2]=0;WO(o,y);break}}else DJ(o,c,-1);while(0);f[q>>2]=0;y=q+4|0;f[y>>2]=0;f[q+8>>2]=0;x=f[a+112>>2]|0;f[r>>2]=x;z=r+4|0;f[z>>2]=f[a+116>>2];if(x|0){A=x+4|0;f[A>>2]=(f[A>>2]|0)+1}f[s>>2]=f[k>>2];f[s+4>>2]=f[k+4>>2];f[t>>2]=f[l>>2];f[t+4>>2]=f[l+4>>2];Jsa(o,r,d,e,g,q,h,i,j,s,t,m);A=f[r>>2]|0;if(A|0?(x=A+4|0,C=f[x>>2]|0,f[x>>2]=C+-1,(C|0)==1):0)qg[f[(f[A>>2]|0)+8>>2]&1023](A);f[r>>2]=0;f[z>>2]=0;z=f[q>>2]|0;if(z|0){A=f[y>>2]|0;if((A|0)!=(z|0))f[y>>2]=A+(~(((A+-20-z|0)>>>0)/20|0)*20|0);GQa(z)}z=o+36|0;A=f[z>>2]|0;if(A|0?(y=A+12|0,A=f[y>>2]|0,f[y>>2]=A+-1,(A|0)==1):0)XO(o);f[z>>2]=0;z=o+16|0;A=o+4|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;if((f[A>>2]|0)>0){z=f[o+40>>2]|0;y=0;do{f[z+(y<<2)>>2]=0;y=y+1|0}while((y|0)<(f[A>>2]|0))}A=f[o+44>>2]|0;if((A|0)!=(o+48|0))dX(A)}while(0);if(!(f[p+4>>2]|0)){u=n;return}u=n;return}function Dsa(a){a=a|0;return (f[a+116>>2]|0)!=0|0}function Esa(a,b){a=a|0;b=b|0;f[a>>2]=f[b+24>>2];f[a+4>>2]=f[b+28>>2];return}function Fsa(a){a=a|0;var b=0;b=f[a+108>>2]|0;return Wf[f[(f[b>>2]|0)+16>>2]&255](b)|0}function Gsa(a){a=a|0;return f[a+116>>2]|0}function Hsa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+120|0;d=f[b>>2]|0;e=f[b+4>>2]|0;if(d|0){b=d+4|0;f[b>>2]=(f[b>>2]|0)+1}b=f[c>>2]|0;f[c>>2]=d;f[a+124>>2]=e;if(!b)return;e=b+4|0;a=f[e>>2]|0;f[e>>2]=a+-1;if((a|0)!=1)return;qg[f[(f[b>>2]|0)+8>>2]&1023](b);return}function Isa(a,b){a=a|0;b=b|0;var c=0;c=f[b+120>>2]|0;f[a>>2]=c;f[a+4>>2]=f[b+124>>2];if(!c)return;b=c+4|0;f[b>>2]=(f[b>>2]|0)+1;return}function Jsa(a,c,d,e,g,h,i,j,k,l,m,n){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=+i;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;o=u;u=u+64|0;p=o+56|0;q=o;r=o+8|0;s=o+48|0;t=o+40|0;v=qM(0)|0;if(!v)w=0;else{x=EQa(16)|0;f[x+4>>2]=1;f[x>>2]=56908;f[x+8>>2]=v;w=x}x=f[a+8>>2]|0;y=(f[a+4>>2]|0)==1?1:f[a+12>>2]|0;z=f[a>>2]|0;A=z&4095;B=f[a+16>>2]|0;C=X((z>>>3&511)+1<<(47696>>>(A<<1&14)&3),y)|0;f[r>>2]=A|1111638016;A=r+4|0;f[A>>2]=C;f[r+8>>2]=0;f[r+12>>2]=0;f[r+16>>2]=B;f[r+20>>2]=x;f[r+24>>2]=y;f[A>>2]=f[f[a+44>>2]>>2];f[r>>2]=z&20479|1111621632;z=f[c+4>>2]|0;f[s>>2]=f[l>>2];f[s+4>>2]=f[l+4>>2];f[t>>2]=f[m>>2];f[t+4>>2]=f[m+4>>2];f[q>>2]=f[s>>2];f[q+4>>2]=f[s+4>>2];f[p>>2]=f[t>>2];f[p+4>>2]=f[t+4>>2];t=$ta(r,z,v,e,g,i,j,k,q,p,n)|0;if(!t){D=q;E=0}else{if((f[t+28>>2]|0)!=20){f[p>>2]=0;f[p+4>>2]=0;n=JV(p,39)|0;k=329488;j=n+39|0;do{b[n>>0]=b[k>>0]|0;n=n+1|0;k=k+1|0}while((n|0)<(j|0));EP(-215,p,329528,329532,2965);KV(p)}D=q;E=f[t+24>>2]|0}D=h+4|0;k=f[D>>2]|0;n=f[h>>2]|0;j=(k-n|0)/20|0;g=n;n=k;if(E>>>0<=j>>>0){if(E>>>0>>0?(k=g+(E*20|0)|0,(k|0)!=(n|0)):0)f[D>>2]=n+(~(((n+-20-k|0)>>>0)/20|0)*20|0)}else Zsa(h,E-j|0);if((t|0)!=0&(E|0)!=0){E=f[h>>2]|0;j=q;f[j>>2]=0;f[j+4>>2]=1073741823;f[p>>2]=f[q>>2];f[p+4>>2]=f[q+4>>2];CM(t,E,p)|0}p=f[D>>2]|0;E=f[h>>2]|0;t=(p-E|0)/20|0;q=d+4|0;j=f[q>>2]|0;k=f[d>>2]|0;n=j-k>>4;g=k;k=j;j=E;E=p;if(t>>>0<=n>>>0)if(t>>>0>>0?(p=g+(t<<4)|0,(p|0)!=(k|0)):0){f[q>>2]=k+(~((k+-16-p|0)>>>4)<<4);F=j;G=E;H=g}else{F=j;G=E;H=g}else{_sa(d,t-n|0);F=f[h>>2]|0;G=f[D>>2]|0;H=f[d>>2]|0}if((F|0)!=(G|0)){d=F;F=H;while(1){H=f[d+4>>2]|0;D=f[d+8>>2]|0;h=f[d+12>>2]|0;f[F>>2]=f[d>>2];f[F+4>>2]=H;f[F+8>>2]=D;f[F+12>>2]=h;d=d+20|0;if((d|0)==(G|0))break;else F=F+16|0}}if(!w){u=o;return}F=w+4|0;G=f[F>>2]|0;f[F>>2]=G+-1;if((G|0)!=1){u=o;return}qg[f[(f[w>>2]|0)+8>>2]&1023](w);u=o;return}function Ksa(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=+g;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0.0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0;k=u;u=u+1360|0;l=k+1352|0;m=k+1344|0;o=k+1336|0;q=k+1324|0;r=k+1312|0;s=k+1256|0;t=k;v=k+1200|0;w=k+136|0;x=k+24|0;y=k+16|0;yV(l,76224);FJ(m,b,-1);zg[f[(f[a>>2]|0)+52>>2]&511](o,a);z=i+4|0;if((f[z>>2]|0)!=0?(f[i>>2]|0)!=0:0){A=m+4|0;B=A;C=f[A>>2]|0}else{f[i>>2]=f[m>>2];A=m+4|0;D=f[A>>2]|0;f[z>>2]=D;B=A;C=D}D=o+4|0;A=f[D>>2]|0;if((C|0)>=(A|0)?(E=f[m>>2]|0,F=f[o>>2]|0,(E|0)>=(F|0)):0){f[q>>2]=0;G=q+4|0;f[G>>2]=0;f[q+8>>2]=0;f[r>>2]=0;H=r+4|0;f[H>>2]=0;f[r+8>>2]=0;I=q+8|0;J=EQa(4096)|0;K=J+4096|0;L=J;f[q>>2]=L;f[G>>2]=J;f[I>>2]=K;M=r+8|0;N=EQa(4096)|0;f[r>>2]=N;f[H>>2]=N;f[M>>2]=N+4096;N=AEa(+(F|0))|0;a:do if(!((N|0)>(E|0)|(AEa(+(A|0))|0)>(C|0))){O=1.0;P=E;Q=A;R=F;S=J;T=K;while(1){U=O;n[s>>2]=U;if((S|0)==(T|0)){Psa(q,s);V=f[o>>2]|0;W=f[D>>2]|0;Y=f[m>>2]|0}else{n[S>>2]=U;f[G>>2]=S+4;V=R;W=Q;Y=P}U=O*g;Z=AEa(U*+(V|0))|0;_=AEa(U*+(W|0))|0;if((Z|0)>(Y|0)?1:(_|0)>(f[B>>2]|0))break;O=U;P=Y;Q=W;R=V;S=f[G>>2]|0;T=f[I>>2]|0}T=f[G>>2]|0;S=f[q>>2]|0;R=S;Q=T;if((T|0)!=(S|0)){P=h+4|0;O=+n[R>>2];_=HEa(O*+(V|0))|0;if((_|0)>(f[i>>2]|0)){$=G;aa=R;ba=Q;ca=T;da=S;ea=R;fa=R}else{Z=0;U=O;ga=R;ha=T;T=S;ia=R;ja=Q;ka=R;la=R;ma=HEa(O*+(W|0))|0;na=_;while(1){if((ma|0)>(f[z>>2]|0)){$=G;aa=ia;ba=ja;ca=ha;da=T;ea=la;fa=ka;break a}do if((na|0)>=(f[h>>2]|0)?(ma|0)>=(f[P>>2]|0):0){_=f[H>>2]|0;if((_|0)==(f[M>>2]|0)){Psa(r,ga);oa=f[G>>2]|0;pa=f[q>>2]|0;qa=pa;ra=pa;sa=oa;ta=qa;ua=qa;va=oa;wa=qa;break}else{n[_>>2]=U;f[H>>2]=_+4;ra=T;sa=ha;ta=la;ua=ka;va=ja;wa=ia;break}}else{ra=T;sa=ha;ta=la;ua=ka;va=ja;wa=ia}while(0);Z=Z+1|0;if(Z>>>0>=sa-ra>>2>>>0){$=G;aa=wa;ba=va;ca=sa;da=ra;ea=ta;fa=ua;break a}_=f[D>>2]|0;ga=ra+(Z<<2)|0;U=+n[ga>>2];na=HEa(U*+(f[o>>2]|0))|0;ma=HEa(U*+(_|0))|0;if((na|0)>(f[i>>2]|0)){$=G;aa=wa;ba=va;ca=sa;da=ra;ea=ta;fa=ua;break}else{ha=sa;T=ra;ia=wa;ja=va;ka=ua;la=ta}}}}else{$=G;aa=R;ba=Q;ca=S;da=S;ea=R;fa=R}}else{$=G;aa=J;ba=J;ca=L;da=L;ea=J;fa=J}while(0);if(!((aa|0)==(ba|0)?1:(f[r>>2]|0)!=(f[H>>2]|0))){f[s>>2]=0;ba=s+4|0;f[ba>>2]=0;f[s+8>>2]=0;if((ca|0)!=(da|0)){aa=h+4|0;J=s+8|0;L=0;ta=fa;fa=0;ua=0;va=ea;wa=da;da=ca;while(1){g=+n[ta+(L<<2)>>2];ca=HEa(g*+(f[o>>2]|0))|0;ra=HEa(g*+(f[D>>2]|0))|0;sa=(f[h>>2]|0)-ca|0;ca=X(sa,sa)|0;sa=(f[aa>>2]|0)-ra|0;g=+((X(sa,sa)|0)+ca|0);p[t>>3]=g;if((fa|0)==(ua|0)){Osa(s,t);ca=f[q>>2]|0;xa=ca;ya=f[$>>2]|0;za=ca}else{p[fa>>3]=g;f[ba>>2]=fa+8;xa=wa;ya=da;za=va}ca=L+1|0;if(ca>>>0>=ya-xa>>2>>>0)break;L=ca;ta=xa;fa=f[ba>>2]|0;ua=f[J>>2]|0;va=za;wa=xa;da=ya}ya=f[s>>2]|0;da=ya;if((f[ba>>2]|0)==(ya|0)){Aa=0;Ba=za;Ca=da}else{xa=(f[ba>>2]|0)-ya>>3;ya=0;wa=0;while(1){va=+p[da+(wa<<3)>>3]>+p[da+(ya<<3)>>3]?ya:wa;ya=ya+1|0;if(ya>>>0>=xa>>>0){Aa=va;Ba=za;Ca=da;break}else wa=va}}}else{Aa=0;Ba=ea;Ca=0}ea=Ba+(Aa<<2)|0;Aa=f[H>>2]|0;if((Aa|0)==(f[M>>2]|0)){Psa(r,ea);Da=f[s>>2]|0}else{f[Aa>>2]=f[ea>>2];f[H>>2]=Aa+4;Da=Ca}if(Da|0){Ca=f[ba>>2]|0;if((Ca|0)!=(Da|0))f[ba>>2]=Ca+(~((Ca+-8-Da|0)>>>3)<<3);GQa(Da)}}Da=f[c>>2]|0;Ca=c+4|0;ba=f[Ca>>2]|0;if((ba|0)!=(Da|0))f[Ca>>2]=ba+(~((ba+-16-Da|0)>>>4)<<4);Da=f[d>>2]|0;ba=d+4|0;Ca=f[ba>>2]|0;if((Ca|0)!=(Da|0))f[ba>>2]=Ca+(~((Ca+-4-Da|0)>>>2)<<2);Da=f[e>>2]|0;Ca=e+4|0;ba=f[Ca>>2]|0;if((ba|0)!=(Da|0))f[Ca>>2]=ba+(~((ba+-8-Da|0)>>>3)<<3);f[s>>2]=1124007936;Da=s+4|0;ba=s+8|0;Ca=s+40|0;Aa=Da;ea=Aa+36|0;do{f[Aa>>2]=0;Aa=Aa+4|0}while((Aa|0)<(ea|0));f[Ca>>2]=ba;M=s+48|0;Ba=s+44|0;f[Ba>>2]=M;f[M>>2]=0;f[s+52>>2]=0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;do if((UJ(b,-1)|0)<=1){if((HJ(b)|0)!=65536){wa=v+8|0;f[wa>>2]=0;f[wa+4>>2]=0;f[v>>2]=33619968;f[v+4>>2]=s;XJ(b,v);break}do if((HJ(b)|0)==65536){wa=f[b+4>>2]|0;f[v>>2]=f[wa>>2];da=v+4|0;za=wa+4|0;f[da>>2]=f[za>>2];xa=v+8|0;f[xa>>2]=f[wa+8>>2];f[v+12>>2]=f[wa+12>>2];f[v+16>>2]=f[wa+16>>2];f[v+20>>2]=f[wa+20>>2];f[v+24>>2]=f[wa+24>>2];f[v+28>>2]=f[wa+28>>2];f[v+32>>2]=f[wa+32>>2];ya=v+36|0;va=f[wa+36>>2]|0;f[ya>>2]=va;f[v+40>>2]=xa;xa=v+48|0;J=v+44|0;f[J>>2]=xa;f[xa>>2]=0;f[v+52>>2]=0;if(va|0){xa=va+12|0;f[xa>>2]=(f[xa>>2]|0)+1}if((f[za>>2]|0)<3){za=f[wa+44>>2]|0;xa=f[J>>2]|0;f[xa>>2]=f[za>>2];f[xa+4>>2]=f[za+4>>2];Ea=ya;break}else{f[da>>2]=0;WO(v,wa);Ea=ya;break}}else{DJ(v,b,-1);Ea=v+36|0}while(0);R=f[Ea>>2]|0;if(R|0){S=R+12|0;f[S>>2]=(f[S>>2]|0)+1}S=s+36|0;R=f[S>>2]|0;if(R|0?(Q=R+12|0,R=f[Q>>2]|0,f[Q>>2]=R+-1,(R|0)==1):0)XO(s);f[S>>2]=0;R=s+16|0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;f[R+12>>2]=0;if((f[Da>>2]|0)>0){Q=f[Ca>>2]|0;ya=0;do{f[Q+(ya<<2)>>2]=0;ya=ya+1|0;Fa=f[Da>>2]|0}while((ya|0)<(Fa|0));f[s>>2]=f[v>>2];if((Fa|0)<3)Ga=71;else Ga=73}else{f[s>>2]=f[v>>2];Ga=71}if((Ga|0)==71){ya=f[v+4>>2]|0;if((ya|0)<3){f[Da>>2]=ya;f[ba>>2]=f[v+8>>2];f[s+12>>2]=f[v+12>>2];ya=f[v+44>>2]|0;Q=f[Ba>>2]|0;f[Q>>2]=f[ya>>2];f[Q+4>>2]=f[ya+4>>2]}else Ga=73}if((Ga|0)==73)WO(s,v);ya=v+16|0;f[R>>2]=f[ya>>2];f[s+20>>2]=f[v+20>>2];f[s+24>>2]=f[v+24>>2];f[s+28>>2]=f[v+28>>2];f[s+32>>2]=f[v+32>>2];Q=f[Ea>>2]|0;f[S>>2]=Q;if(Q|0?(wa=Q+12|0,Q=f[wa>>2]|0,f[wa>>2]=Q+-1,(Q|0)==1):0)XO(v);f[Ea>>2]=0;Q=v+4|0;f[ya>>2]=0;f[ya+4>>2]=0;f[ya+8>>2]=0;f[ya+12>>2]=0;if((f[Q>>2]|0)>0){ya=f[v+40>>2]|0;wa=0;do{f[ya+(wa<<2)>>2]=0;wa=wa+1|0}while((wa|0)<(f[Q>>2]|0))}Q=f[v+44>>2]|0;if((Q|0)!=(v+48|0))dX(Q)}else{Q=v+8|0;f[Q>>2]=0;f[Q+4>>2]=0;f[v>>2]=33619968;f[v+4>>2]=s;nba(b,v,6,0)}while(0);f[t>>2]=16842752;b=t+4|0;f[b>>2]=s;f[t+8>>2]=0;f[t+12>>2]=0;Ea=a+108|0;ba=f[Ea>>2]|0;if(bg[f[(f[ba>>2]|0)+20>>2]&127](ba,t,r)|0){ba=f[Ea>>2]|0;qg[f[(f[ba>>2]|0)+32>>2]&1023](ba);f[v>>2]=1124007936;ba=v+4|0;Fa=v+8|0;Q=v+40|0;Aa=ba;ea=Aa+36|0;do{f[Aa>>2]=0;Aa=Aa+4|0}while((Aa|0)<(ea|0));f[Q>>2]=Fa;Aa=v+48|0;ea=v+44|0;f[ea>>2]=Aa;f[Aa>>2]=0;f[v+52>>2]=0;wa=f[a+124>>2]|0;if(wa|0){ya=f[(f[wa>>2]|0)+8>>2]|0;do if((HJ(t)|0)==65536){S=f[b>>2]|0;f[x>>2]=f[S>>2];R=x+4|0;da=S+4|0;f[R>>2]=f[da>>2];za=x+8|0;f[za>>2]=f[S+8>>2];f[x+12>>2]=f[S+12>>2];f[x+16>>2]=f[S+16>>2];f[x+20>>2]=f[S+20>>2];f[x+24>>2]=f[S+24>>2];f[x+28>>2]=f[S+28>>2];f[x+32>>2]=f[S+32>>2];xa=f[S+36>>2]|0;f[x+36>>2]=xa;f[x+40>>2]=za;za=x+48|0;J=x+44|0;f[J>>2]=za;f[za>>2]=0;f[x+52>>2]=0;if(xa|0){za=xa+12|0;f[za>>2]=(f[za>>2]|0)+1}if((f[da>>2]|0)<3){da=f[S+44>>2]|0;za=f[J>>2]|0;f[za>>2]=f[da>>2];f[za+4>>2]=f[da+4>>2];break}else{f[R>>2]=0;WO(x,S);break}}else DJ(x,t,-1);while(0);Rg[ya&255](w,wa,x);wa=w+36|0;ya=f[wa>>2]|0;if(ya|0){t=ya+12|0;f[t>>2]=(f[t>>2]|0)+1}t=v+36|0;ya=f[t>>2]|0;if(ya|0?(b=ya+12|0,ya=f[b>>2]|0,f[b>>2]=ya+-1,(ya|0)==1):0)XO(v);f[t>>2]=0;ya=v+16|0;f[ya>>2]=0;f[ya+4>>2]=0;f[ya+8>>2]=0;f[ya+12>>2]=0;if((f[ba>>2]|0)>0){b=f[Q>>2]|0;S=0;do{f[b+(S<<2)>>2]=0;S=S+1|0;Ha=f[ba>>2]|0}while((S|0)<(Ha|0));f[v>>2]=f[w>>2];if((Ha|0)<3)Ga=103;else Ga=105}else{f[v>>2]=f[w>>2];Ga=103}if((Ga|0)==103){Ha=f[w+4>>2]|0;if((Ha|0)<3){f[ba>>2]=Ha;f[Fa>>2]=f[w+8>>2];f[v+12>>2]=f[w+12>>2];Fa=f[w+44>>2]|0;Ha=f[ea>>2]|0;f[Ha>>2]=f[Fa>>2];f[Ha+4>>2]=f[Fa+4>>2]}else Ga=105}if((Ga|0)==105)WO(v,w);Ga=w+16|0;f[ya>>2]=f[Ga>>2];f[v+20>>2]=f[w+20>>2];f[v+24>>2]=f[w+24>>2];f[v+28>>2]=f[w+28>>2];f[v+32>>2]=f[w+32>>2];ya=f[wa>>2]|0;f[t>>2]=ya;do if(ya|0){t=ya+12|0;Fa=f[t>>2]|0;f[t>>2]=Fa+-1;if((Fa|0)!=1)break;XO(w)}while(0);f[wa>>2]=0;wa=w+4|0;f[Ga>>2]=0;f[Ga+4>>2]=0;f[Ga+8>>2]=0;f[Ga+12>>2]=0;if((f[wa>>2]|0)>0){Ga=f[w+40>>2]|0;ya=0;do{f[Ga+(ya<<2)>>2]=0;ya=ya+1|0}while((ya|0)<(f[wa>>2]|0))}wa=f[w+44>>2]|0;if((wa|0)!=(w+48|0))dX(wa);wa=x+36|0;ya=f[wa>>2]|0;do if(ya|0){Ga=ya+12|0;Fa=f[Ga>>2]|0;f[Ga>>2]=Fa+-1;if((Fa|0)!=1)break;XO(x)}while(0);f[wa>>2]=0;wa=x+16|0;ya=x+4|0;f[wa>>2]=0;f[wa+4>>2]=0;f[wa+8>>2]=0;f[wa+12>>2]=0;if((f[ya>>2]|0)>0){wa=f[x+40>>2]|0;Fa=0;do{f[wa+(Fa<<2)>>2]=0;Fa=Fa+1|0}while((Fa|0)<(f[ya>>2]|0))}ya=f[x+44>>2]|0;if((ya|0)!=(x+48|0))dX(ya)}ya=(f[H>>2]|0)-(f[r>>2]|0)>>2;Fa=w+8|0;f[w>>2]=Fa;wa=w+4|0;f[wa>>2]=ya;if(ya>>>0>264){Ga=FQa(ya>>>0>1073741823?-1:ya<<2)|0;f[w>>2]=Ga;Ia=Ga}else Ia=Fa;Ga=Tra(f[Ea>>2]|0,0)|0;Ea=(f[Ga+4>>2]|0)-(f[a+24>>2]|0)|0;g=+(((Ea|0)>0?Ea:0)|0)*.03125;Ea=~~g;t=(g>+(Ea|0)&1)+Ea|0;if(ya|0){Ea=t+-1|0;Ha=f[a+28>>2]|0;S=0;do{b=(f[Ga+(S*20|0)+8>>2]|0)-Ha|0;R=f[Ga+(S*20|0)+16>>2]|0;da=(Ea+((((b|0)>0?b:0)|0)/(R|0)|0)|0)/(t|0)|0;b=X((da|0)>1?da:1,R)|0;f[Ia+(S<<2)>>2]=b;S=S+1|0}while((S|0)!=(ya|0))}Qsa(x,a,ya,t,Ga,Ia,c,d,e,j,v,a+416|0);f[y>>2]=0;f[y+4>>2]=t;$Z(y,x,-1.0);Rsa(x);x=f[w>>2]|0;if((x|0)!=(Fa|0)){if(x|0)HQa(x);f[w>>2]=Fa;f[wa>>2]=264}wa=v+36|0;Fa=f[wa>>2]|0;if(Fa|0?(w=Fa+12|0,Fa=f[w>>2]|0,f[w>>2]=Fa+-1,(Fa|0)==1):0)XO(v);f[wa>>2]=0;wa=v+16|0;f[wa>>2]=0;f[wa+4>>2]=0;f[wa+8>>2]=0;f[wa+12>>2]=0;if((f[ba>>2]|0)>0){wa=f[Q>>2]|0;Q=0;do{f[wa+(Q<<2)>>2]=0;Q=Q+1|0}while((Q|0)<(f[ba>>2]|0))}ba=f[ea>>2]|0;if((ba|0)!=(Aa|0))dX(ba)}ba=s+36|0;Aa=f[ba>>2]|0;if(Aa|0?(ea=Aa+12|0,Aa=f[ea>>2]|0,f[ea>>2]=Aa+-1,(Aa|0)==1):0)XO(s);f[ba>>2]=0;ba=s+16|0;f[ba>>2]=0;f[ba+4>>2]=0;f[ba+8>>2]=0;f[ba+12>>2]=0;if((f[Da>>2]|0)>0){ba=f[Ca>>2]|0;Ca=0;do{f[ba+(Ca<<2)>>2]=0;Ca=Ca+1|0}while((Ca|0)<(f[Da>>2]|0))}Da=f[Ba>>2]|0;if((Da|0)!=(M|0))dX(Da);Da=f[r>>2]|0;if(Da|0){r=f[H>>2]|0;if((r|0)!=(Da|0))f[H>>2]=r+(~((r+-4-Da|0)>>>2)<<2);GQa(Da)}Da=f[q>>2]|0;if(Da|0){q=f[G>>2]|0;if((q|0)!=(Da|0))f[G>>2]=q+(~((q+-4-Da|0)>>>2)<<2);GQa(Da)}}if(!(f[l+4>>2]|0)){u=k;return}u=k;return}function Lsa(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0.0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;g=u;u=u+112|0;h=g+16|0;i=g+104|0;j=g+92|0;k=g+8|0;l=g+80|0;m=g+68|0;n=g+56|0;o=g+40|0;q=g+32|0;r=g;s=g+28|0;yV(i,76204);if((b|0)>=1?(t=a+4|0,(f[a>>2]|0)!=(f[t>>2]|0)):0){f[j>>2]=0;v=j+4|0;f[v>>2]=0;f[j+8>>2]=0;p[k>>3]=c;f[h>>2]=f[k>>2];f[h+4>>2]=f[k+4>>2];k=Msa(a,j,h)|0;f[h>>2]=0;w=h+4|0;f[w>>2]=0;f[h+8>>2]=0;x=(k|0)==0;do if(!x)if(k>>>0>268435455)ZOa(h);else{y=k<<4;z=EQa(y)|0;f[h>>2]=z;f[h+8>>2]=z+(k<<4);FVa(z|0,0,y|0)|0;f[w>>2]=z+y;A=z;break}else A=0;while(0);f[l>>2]=0;z=l+4|0;f[z>>2]=0;f[l+8>>2]=0;if(x)B=0;else{y=k<<2;C=EQa(y)|0;f[l>>2]=C;D=C+(k<<2)|0;f[l+8>>2]=D;FVa(C|0,0,y|0)|0;f[z>>2]=D;B=C}f[m>>2]=0;C=m+4|0;f[C>>2]=0;f[m+8>>2]=0;if(x)E=0;else{D=k<<2;y=EQa(D)|0;f[m>>2]=y;F=y+(k<<2)|0;f[m+8>>2]=F;FVa(y|0,0,D|0)|0;f[C>>2]=F;E=y}f[n>>2]=0;y=n+4|0;f[y>>2]=0;f[n+8>>2]=0;if(x){G=0;H=0}else{x=EQa(k<<3)|0;f[y>>2]=x;f[n>>2]=x;F=x+(k<<3)|0;f[n+8>>2]=F;D=k;I=x;while(1){p[I>>3]=2.2250738585072014e-308;D=D+-1|0;if(!D)break;else I=I+8|0}f[y>>2]=F;G=x;H=x}x=f[j>>2]|0;F=(f[v>>2]|0)-x|0;I=F>>2;D=(F|0)>0;F=x;if(D){x=f[a>>2]|0;J=0;do{K=f[F+(J<<2)>>2]|0;L=A+(K<<4)|0;f[L>>2]=(f[L>>2]|0)+(f[x+(J<<4)>>2]|0);L=A+(K<<4)+4|0;f[L>>2]=(f[L>>2]|0)+(f[x+(J<<4)+4>>2]|0);L=A+(K<<4)+8|0;f[L>>2]=(f[L>>2]|0)+(f[x+(J<<4)+8>>2]|0);L=A+(K<<4)+12|0;f[L>>2]=(f[L>>2]|0)+(f[x+(J<<4)+12>>2]|0);L=B+(K<<2)|0;f[L>>2]=(f[L>>2]|0)+1;J=J+1|0}while((J|0)<(I|0))}J=(e|0)!=0;x=(d|0)!=0;if(x&J?(L=f[d>>2]|0,(L|0)!=(f[d+4>>2]|0)):0){K=f[e>>2]|0;M=(K|0)==(f[e+4>>2]|0);if(M|D^1)N=M;else{M=0;do{D=f[F+(M<<2)>>2]|0;O=f[L+(M<<2)>>2]|0;P=E+(D<<2)|0;Q=f[P>>2]|0;if((O|0)<=(Q|0)){if((O|0)==(Q|0)?(R=+p[K+(M<<3)>>3],Q=G+(D<<3)|0,R>+p[Q>>3]):0)p[Q>>3]=R}else{f[P>>2]=O;p[G+(D<<3)>>3]=+p[K+(M<<3)>>3]}M=M+1|0}while((M|0)<(I|0));N=0}}else N=1;I=(k|0)>0;if(I){M=0;do{K=A+(M<<4)|0;L=A+(M<<4)+4|0;F=f[L>>2]|0;D=A+(M<<4)+8|0;O=f[D>>2]|0;P=A+(M<<4)+12|0;Q=f[P>>2]|0;R=1.0/+(f[B+(M<<2)>>2]|0);S=HEa(R*+(f[K>>2]|0))|0;T=HEa(R*+(F|0))|0;F=HEa(R*+(O|0))|0;O=HEa(R*+(Q|0))|0;f[K>>2]=S;f[L>>2]=T;f[D>>2]=F;f[P>>2]=O;M=M+1|0}while((M|0)!=(k|0))}M=f[a>>2]|0;O=f[t>>2]|0;if((O|0)!=(M|0))f[t>>2]=O+(~((O+-16-M|0)>>>4)<<4);if(x?(M=f[d>>2]|0,O=d+4|0,P=f[O>>2]|0,(P|0)!=(M|0)):0)f[O>>2]=P+(~((P+-4-M|0)>>>2)<<2);if(J?(M=f[e>>2]|0,P=e+4|0,O=f[P>>2]|0,(O|0)!=(M|0)):0)f[P>>2]=O+(~((O+-8-M|0)>>>3)<<3);if(I){I=o+4|0;M=o+8|0;O=o+12|0;P=a+8|0;F=N?q:s;N=d+4|0;D=d+8|0;T=e+4|0;L=e+8|0;S=f[l>>2]|0;K=f[n>>2]|0;Q=f[m>>2]|0;U=0;V=A;A=B;B=G;W=E;while(1){E=f[V+(U<<4)>>2]|0;f[o>>2]=E;X=f[V+(U<<4)+4>>2]|0;f[I>>2]=X;Y=f[V+(U<<4)+8>>2]|0;f[M>>2]=Y;Z=f[V+(U<<4)+12>>2]|0;f[O>>2]=Z;_=f[A+(U<<2)>>2]|0;f[q>>2]=_;p[r>>3]=+p[B+(U<<3)>>3];f[s>>2]=f[W+(U<<2)>>2];do if((_|0)>(b|0)){$=Y+E|0;aa=Z+X|0;ba=(_|0)>3?_:3;a:do if((_|0)<3){ca=0;while(1){do if((ca|0)!=(U|0)?(f[A+(ca<<2)>>2]|0)>(b|0):0){da=f[V+(ca<<4)>>2]|0;ea=f[V+(ca<<4)+4>>2]|0;fa=f[V+(ca<<4)+8>>2]|0;ga=f[V+(ca<<4)+12>>2]|0;ha=AEa(+(fa|0)*c)|0;ia=AEa(+(ga|0)*c)|0;if((E|0)<(da-ha|0)|(X|0)<(ea-ia|0))break;if(($|0)>(fa+da+ha|0))break;if((aa|0)<=(ga+ea+ia|0)){ja=ca;break a}}while(0);ia=ca+1|0;if((ia|0)<(k|0))ca=ia;else{ja=ia;break}}}else{ca=0;while(1){ia=f[A+(ca<<2)>>2]|0;do if((ca|0)!=(U|0)&(ia|0)>(b|0)){ea=f[V+(ca<<4)>>2]|0;ga=f[V+(ca<<4)+4>>2]|0;ha=f[V+(ca<<4)+8>>2]|0;da=f[V+(ca<<4)+12>>2]|0;fa=AEa(+(ha|0)*c)|0;ka=AEa(+(da|0)*c)|0;if((E|0)<(ea-fa|0)|(X|0)<(ga-ka|0))break;if(($|0)>(ha+ea+fa|0))break;if((ia|0)>(ba|0)?(aa|0)<=(da+ga+ka|0):0){ja=ca;break a}}while(0);ia=ca+1|0;if((ia|0)<(k|0))ca=ia;else{ja=ia;break}}}while(0);if((ja|0)==(k|0)){aa=f[t>>2]|0;if((aa|0)==(f[P>>2]|0))Nsa(a,o);else{f[aa>>2]=E;f[aa+4>>2]=X;f[aa+8>>2]=Y;f[aa+12>>2]=Z;f[t>>2]=aa+16}do if(x){aa=f[N>>2]|0;if((aa|0)==(f[D>>2]|0)){jQ(d,F);break}else{f[aa>>2]=f[F>>2];f[N>>2]=aa+4;break}}while(0);if(!J)break;aa=f[T>>2]|0;if((aa|0)==(f[L>>2]|0)){Osa(e,r);break}else{p[aa>>3]=+p[r>>3];f[T>>2]=aa+8;break}}}while(0);Z=U+1|0;if((Z|0)>=(k|0))break;U=Z;V=f[h>>2]|0;A=S;B=K;W=Q}Q=f[n>>2]|0;la=Q;ma=Q}else{la=G;ma=H}if(la|0){H=f[y>>2]|0;if((H|0)!=(la|0))f[y>>2]=H+(~((H+-8-la|0)>>>3)<<3);GQa(ma)}ma=f[m>>2]|0;if(ma|0){m=f[C>>2]|0;if((m|0)!=(ma|0))f[C>>2]=m+(~((m+-4-ma|0)>>>2)<<2);GQa(ma)}ma=f[l>>2]|0;if(ma|0){l=f[z>>2]|0;if((l|0)!=(ma|0))f[z>>2]=l+(~((l+-4-ma|0)>>>2)<<2);GQa(ma)}ma=f[h>>2]|0;if(ma|0){h=f[w>>2]|0;if((h|0)!=(ma|0))f[w>>2]=h+(~((h+-16-ma|0)>>>4)<<4);GQa(ma)}ma=f[j>>2]|0;if(ma|0){j=f[v>>2]|0;if((j|0)!=(ma|0))f[v>>2]=j+(~((j+-4-ma|0)>>>2)<<2);GQa(ma)}}else na=3;do if((na|0)==3?!((d|0)==0|(e|0)!=0):0){ma=(f[a+4>>2]|0)-(f[a>>2]|0)>>4;j=d+4|0;v=f[j>>2]|0;h=f[d>>2]|0;w=v-h>>2;l=h;h=v;if(ma>>>0<=w>>>0){if(ma>>>0>>0?(v=l+(ma<<2)|0,(v|0)!=(h|0)):0)f[j>>2]=h+(~((h+-4-v|0)>>>2)<<2);if(!ma)break}else eK(d,ma-w|0);w=f[d>>2]|0;v=0;do{f[w+(v<<2)>>2]=1;v=v+1|0}while((v|0)!=(ma|0))}while(0);if(!(f[i+4>>2]|0)){u=g;return}u=g;return}function Msa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;e=u;u=u+32|0;g=e+8|0;h=e;i=f[a>>2]|0;j=(f[a+4>>2]|0)-i|0;a=j>>4;k=i;i=j>>3;f[g>>2]=0;l=g+4|0;f[l>>2]=0;f[g+8>>2]=0;do if(i)if(i>>>0>1073741823)ZOa(g);else{m=j>>1;n=EQa(m)|0;f[g>>2]=n;o=n+(i<<2)|0;f[g+8>>2]=o;FVa(n|0,0,m|0)|0;f[l>>2]=o;q=n;break}else q=0;while(0);i=(j|0)>0;if(i){j=0;do{f[q+(j<<3)>>2]=-1;f[q+(j<<3)+4>>2]=0;j=j+1|0}while((j|0)<(a|0));if(i){j=h+4|0;n=0;do{o=n;while(1){m=f[q+(o<<3)>>2]|0;if((m|0)>-1)o=m;else break}m=k+(n<<4)+8|0;r=k+(n<<4)+12|0;s=k+(n<<4)|0;t=k+(n<<4)+4|0;v=q+(n<<3)|0;w=0;x=o;while(1){if(((((n|0)!=(w|0)?(y=f[k+(w<<4)+8>>2]|0,z=f[m>>2]|0,A=f[k+(w<<4)+12>>2]|0,B=f[r>>2]|0,C=+p[d>>3]*+(((B|0)>(A|0)?A:B)+((z|0)>(y|0)?y:z)|0)*.5,D=f[s>>2]|0,E=f[k+(w<<4)>>2]|0,F=D-E|0,C>=+(((F|0)>-1?F:0-F|0)|0)):0)?(F=f[t>>2]|0,G=f[k+(w<<4)+4>>2]|0,H=F-G|0,C>=+(((H|0)>-1?H:0-H|0)|0)):0)?(H=z-y+D-E|0,C>=+(((H|0)>-1?H:0-H|0)|0)):0)?(H=B-A+F-G|0,C>=+(((H|0)>-1?H:0-H|0)|0)):0){H=w;while(1){I=q+(H<<3)|0;G=f[I>>2]|0;if((G|0)>-1)H=G;else break}if((H|0)!=(x|0)){G=f[q+(x<<3)+4>>2]|0;F=q+(H<<3)+4|0;A=f[F>>2]|0;if((G|0)>(A|0)){f[I>>2]=x;J=x}else{f[q+(x<<3)>>2]=H;f[F>>2]=A+((G|0)==(A|0)&1);J=H}if((f[q+(J<<3)>>2]|0)>=0){f[h>>2]=0;f[j>>2]=0;A=JV(h,23)|0;G=328309;F=A+23|0;do{b[A>>0]=b[G>>0]|0;A=A+1|0;G=G+1|0}while((A|0)<(F|0));EP(-215,h,328333,344143,496);KV(h)}G=q+(w<<3)|0;A=f[G>>2]|0;if((A|0)>-1){F=A;A=G;do{f[A>>2]=J;A=q+(F<<3)|0;F=f[A>>2]|0}while((F|0)>-1)}F=f[v>>2]|0;if((F|0)>-1){A=v;G=F;do{f[A>>2]=J;A=q+(G<<3)|0;G=f[A>>2]|0}while((G|0)>-1);K=J}else K=J}else K=x}else K=x;w=w+1|0;if((w|0)>=(a|0))break;else x=K}n=n+1|0}while((n|0)<(a|0))}}n=c+4|0;K=f[n>>2]|0;J=f[c>>2]|0;h=K-J>>2;j=J;J=K;if(a>>>0<=h>>>0){if(a>>>0>>0?(K=j+(a<<2)|0,(K|0)!=(J|0)):0)f[n>>2]=J+(~((J+-4-K|0)>>>2)<<2)}else eK(c,a-h|0);if(i){i=f[c>>2]|0;c=0;h=0;while(1){K=h;while(1){J=f[q+(K<<3)>>2]|0;if((J|0)>-1)K=J;else break}J=q+(K<<3)+4|0;n=f[J>>2]|0;if((n|0)>-1){j=~c;f[J>>2]=j;L=c+1|0;M=j}else{L=c;M=n}f[i+(h<<2)>>2]=~M;h=h+1|0;if((h|0)>=(a|0)){N=L;break}else c=L}}else N=0;L=f[g>>2]|0;if(!L){u=e;return N|0}g=f[l>>2]|0;if((g|0)!=(L|0))f[l>>2]=g+(~((g+-4-L|0)>>>2)<<2);GQa(L);u=e;return N|0}function Nsa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e>>4;h=g+1|0;i=e;j=d;if(h>>>0>268435455)ZOa(a);d=a+8|0;k=(f[d>>2]|0)-e|0;l=k>>3;m=k>>4>>>0<134217727?(l>>>0>>0?h:l):268435455;do if(m)if(m>>>0>268435455){l=hd(8)|0;LQa(l,349912);f[l>>2]=118288;ld(l|0,20688,857)}else{n=EQa(m<<4)|0;break}else n=0;while(0);l=n+(g<<4)|0;h=n+(m<<4)|0;f[l>>2]=f[b>>2];f[n+(g<<4)+4>>2]=f[b+4>>2];f[n+(g<<4)+8>>2]=f[b+8>>2];f[n+(g<<4)+12>>2]=f[b+12>>2];b=l+16|0;if((j|0)==(i|0))o=l;else{g=j+-16-e|0;n=j;j=l;while(1){m=n;n=n+-16|0;f[j+-16>>2]=f[n>>2];f[j+-12>>2]=f[m+-12>>2];f[j+-8>>2]=f[m+-8>>2];f[j+-4>>2]=f[m+-4>>2];if((n|0)==(i|0))break;else j=j+-16|0}o=l+(~(g>>>4)<<4)|0}f[a>>2]=o;f[c>>2]=b;f[d>>2]=h;if(!e)return;GQa(e);return}function Osa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=e>>3;h=g+1|0;if(h>>>0>536870911)ZOa(a);i=a+8|0;j=(f[i>>2]|0)-d|0;k=j>>2;l=j>>3>>>0<268435455?(k>>>0>>0?h:k):536870911;do if(l)if(l>>>0>536870911){k=hd(8)|0;LQa(k,349912);f[k>>2]=118288;ld(k|0,20688,857)}else{k=EQa(l<<3)|0;m=k;n=k;break}else{m=0;n=0}while(0);k=m+(g<<3)|0;p[k>>3]=+p[b>>3];if((e|0)>0)DVa(n|0,d|0,e|0)|0;f[a>>2]=m;f[c>>2]=k+8;f[i>>2]=m+(l<<3);if(!d)return;GQa(d);return}function Psa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=e>>2;h=g+1|0;if(h>>>0>1073741823)ZOa(a);i=a+8|0;j=(f[i>>2]|0)-d|0;k=j>>1;l=j>>2>>>0<536870911?(k>>>0>>0?h:k):1073741823;do if(l)if(l>>>0>1073741823){k=hd(8)|0;LQa(k,349912);f[k>>2]=118288;ld(k|0,20688,857)}else{k=EQa(l<<2)|0;m=k;n=k;break}else{m=0;n=0}while(0);k=m+(g<<2)|0;f[k>>2]=f[b>>2];if((e|0)>0)DVa(n|0,d|0,e|0)|0;f[a>>2]=m;f[c>>2]=k+4;f[i>>2]=m+(l<<2);if(!d)return;GQa(d);return}function Qsa(a,b,c,d,e,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;f[a>>2]=76252;f[a+36>>2]=0;f[a+40>>2]=0;f[a+44>>2]=0;n=a+48|0;f[n>>2]=1124007936;o=a+52|0;p=a+56|0;q=a+88|0;r=o;s=r+36|0;do{f[r>>2]=0;r=r+4|0}while((r|0)<(s|0));f[q>>2]=p;r=a+96|0;s=a+92|0;f[s>>2]=r;f[r>>2]=0;f[a+100>>2]=0;f[a+4>>2]=b;f[a+12>>2]=c;f[a+16>>2]=d;f[a+20>>2]=e;f[a+24>>2]=g;f[a+8>>2]=h;f[a+28>>2]=k?i:0;f[a+32>>2]=k?j:0;if((n|0)==(l|0)){t=a+104|0;f[t>>2]=m;return}j=l+36|0;k=f[j>>2]|0;if(k){i=k+12|0;f[i>>2]=(f[i>>2]|0)+1;i=a+84|0;k=f[i>>2]|0;if((k|0)!=0?(h=k+12|0,k=f[h>>2]|0,f[h>>2]=k+-1,(k|0)==1):0){XO(n);u=i}else u=i}else u=a+84|0;f[u>>2]=0;i=a+64|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[o>>2]|0)>0){k=f[q>>2]|0;q=0;do{f[k+(q<<2)>>2]=0;q=q+1|0;v=f[o>>2]|0}while((q|0)<(v|0));f[n>>2]=f[l>>2];if((v|0)<3)w=12;else w=14}else{f[n>>2]=f[l>>2];w=12}if((w|0)==12){v=f[l+4>>2]|0;if((v|0)<3){f[o>>2]=v;f[p>>2]=f[l+8>>2];f[a+60>>2]=f[l+12>>2];p=f[l+44>>2]|0;v=f[s>>2]|0;f[v>>2]=f[p>>2];f[v+4>>2]=f[p+4>>2]}else w=14}if((w|0)==14)WO(n,l);f[i>>2]=f[l+16>>2];f[a+68>>2]=f[l+20>>2];f[a+72>>2]=f[l+24>>2];f[a+76>>2]=f[l+28>>2];f[a+80>>2]=f[l+32>>2];f[u>>2]=f[j>>2];t=a+104|0;f[t>>2]=m;return}function Rsa(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=76252;b=a+48|0;c=a+84|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+64|0;b=a+52|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+88>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+92>>2]|0;if((b|0)!=(a+96|0))dX(b);b=f[a+36>>2]|0;if(!b)return;d=a+40|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-4-b|0)>>>2)<<2);GQa(b);return}function Ssa(a){a=a|0;Rsa(a);GQa(a);return}function Tsa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0.0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0;c=u;u=u+48|0;d=c+40|0;e=c+32|0;g=c;h=c+8|0;i=c+16|0;yV(d,76264);j=a+4|0;k=f[(f[j>>2]|0)+108>>2]|0;zg[f[(f[k>>2]|0)+12>>2]&511](e,k);p[g>>3]=0.0;k=f[j>>2]|0;l=f[k+24>>2]|0;m=f[k+28>>2]|0;k=a+12|0;o=f[k>>2]|0;if((o|0)>0){q=a+20|0;r=a+24|0;s=b+4|0;t=+(l|0);v=+(m|0);w=h+4|0;x=a+28|0;y=a+104|0;z=a+8|0;A=i+4|0;B=i+8|0;C=i+12|0;D=i+4|0;E=i+8|0;F=i+12|0;G=a+32|0;a=0;H=o;while(1){o=f[q>>2]|0;I=+n[o+(a*20|0)>>2];J=f[o+(a*20|0)+16>>2]|0;K=f[(f[r>>2]|0)+(a<<2)>>2]|0;L=X(f[b>>2]|0,K)|0;M=(f[o+(a*20|0)+4>>2]|0)-l|0;N=(M|0)>0;O=N?M:0;M=(f[o+(a*20|0)+8>>2]|0)-m|0;o=(M|0)>0?M:0;M=X(f[s>>2]|0,K)|0;K=(o|0)<(M|0)?o:M;M=HEa(I*t)|0;o=HEa(I*v)|0;if((L|0)<(K|0)){P=L;do{if(N){Q=I*+(P|0);L=0;do{R=f[j>>2]|0;f[h>>2]=L;f[w>>2]=P;S=Usa(R,e,h,a,g)|0;if(!(f[x>>2]|0))if((S|0)>0){pQ(f[y>>2]|0);R=f[z>>2]|0;T=HEa(I*+(L|0))|0;U=HEa(Q)|0;f[i>>2]=T;f[A>>2]=U;f[B>>2]=M;f[C>>2]=o;V=R+4|0;W=f[V>>2]|0;if((W|0)==(f[R+8>>2]|0))Nsa(R,i);else{f[W>>2]=T;f[W+4>>2]=U;f[W+8>>2]=M;f[W+12>>2]=o;f[V>>2]=W+16}qQ(f[y>>2]|0);Y=S}else Y=S;else{W=f[j>>2]|0;if((S|0)==1){V=f[W+36>>2]|0;U=f[W+32>>2]|0;Z=(V-U|0)/-12|0;_=U;$=V}else{Z=S;_=f[W+32>>2]|0;$=f[W+36>>2]|0}W=($-_|0)/12|0;if((W|0)==(0-Z|0)){pQ(f[y>>2]|0);S=f[z>>2]|0;V=HEa(I*+(L|0))|0;U=HEa(Q)|0;f[i>>2]=V;f[D>>2]=U;f[E>>2]=M;f[F>>2]=o;T=S+4|0;R=f[T>>2]|0;if((R|0)==(f[S+8>>2]|0))Nsa(S,i);else{f[R>>2]=V;f[R+4>>2]=U;f[R+8>>2]=M;f[R+12>>2]=o;f[T>>2]=R+16}R=f[x>>2]|0;f[i>>2]=W;T=R+4|0;U=f[T>>2]|0;if((U|0)==(f[R+8>>2]|0))jQ(R,i);else{f[U>>2]=W;f[T>>2]=U+4}U=f[G>>2]|0;T=U+4|0;W=f[T>>2]|0;if((W|0)==(f[U+8>>2]|0))Osa(U,g);else{p[W>>3]=+p[g>>3];f[T>>2]=W+8}qQ(f[y>>2]|0);Y=Z}else Y=Z}L=L+J+((Y|0)==0?J:0)|0}while((L|0)<(O|0))}P=P+J|0}while((P|0)<(K|0));aa=f[k>>2]|0}else aa=H;a=a+1|0;if((a|0)>=(aa|0))break;else H=aa}}aa=f[e>>2]|0;if(aa|0?(e=aa+4|0,H=f[e>>2]|0,f[e>>2]=H+-1,(H|0)==1):0)qg[f[(f[aa>>2]|0)+8>>2]&1023](aa);if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function Usa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=u;u=u+16|0;h=g+8|0;i=g;yV(h,76284);j=f[b+4>>2]|0;k=f[(f[j>>2]|0)+24>>2]|0;f[i>>2]=f[c>>2];f[i+4>>2]=f[c+4>>2];do if(bg[k&127](j,i,d)|0){c=f[a+8>>2]|0;l=(c|0)==0;if((f[a+20>>2]|0)==1){if(l){m=Vsa(a,b,e)|0;break}if((c|0)!=1){m=-2;break}m=Wsa(a,b,e)|0;break}else{if(l){m=Xsa(a,b,e)|0;break}if((c|0)!=1){m=-2;break}m=Ysa(a,b,e)|0;break}}else m=-1;while(0);if(!(f[h+4>>2]|0)){u=g;return m|0}u=g;return m|0}function Vsa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0,x=0;e=u;u=u+16|0;g=e+8|0;h=e;yV(g,76364);i=a+92|0;j=f[i>>2]|0;if((j|0)==(f[a+96>>2]|0)){f[h>>2]=0;f[h+4>>2]=0;k=JV(h,28)|0;l=328788;m=k+28|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-215,h,328968,327442,575);KV(h);o=f[i>>2]|0}else o=j;j=f[c+4>>2]|0;c=f[a+32>>2]|0;i=(f[a+36>>2]|0)-c|0;a=(i|0)/12|0;a:do if((i|0)>0){h=o;l=0;while(1){k=f[c+(l*12|0)+4>>2]|0;if((k|0)>0){m=0;q=0.0;while(1){r=+Sra(j,f[h+(m<<4)>>2]|0);s=q+ +n[(r<+n[h+(m<<4)+4>>2]?h+(m<<4)+8|0:h+(m<<4)+12|0)>>2];m=m+1|0;if((m|0)>=(k|0)){t=s;break}else q=s}}else t=0.0;if(t<+n[c+(l*12|0)+8>>2])break;m=l+1|0;if((m|0)<(a|0)){h=h+(k<<4)|0;l=m}else{v=t;w=9;break a}}p[d>>3]=t;x=0-l|0}else{v=0.0;w=9}while(0);if((w|0)==9){p[d>>3]=v;x=1}if(!(f[g+4>>2]|0)){u=e;return x|0}u=e;return x|0}function Wsa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0.0,P=0.0,Q=0.0,R=0,S=0;e=u;u=u+16|0;g=e+8|0;h=e;yV(g,76344);i=a+92|0;if((f[i>>2]|0)==(f[a+96>>2]|0)){f[h>>2]=0;f[h+4>>2]=0;j=JV(h,28)|0;k=328788;l=j+28|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-215,h,328817,327442,614);KV(h)}h=f[a+32>>2]|0;k=(f[a+36>>2]|0)-h|0;j=(k|0)/12|0;l=f[c+4>>2]|0;c=((f[a+12>>2]|0)+31|0)/32|0;m=h;a:do if((k|0)>0){h=l+380|0;o=l+384|0;q=f[a+80>>2]|0;r=f[i>>2]|0;s=0;while(1){t=f[m+(s*12|0)+4>>2]|0;if((t|0)>0){v=f[h>>2]|0;w=f[o>>2]|0;x=0;y=0.0;while(1){z=f[r+(x<<4)>>2]|0;A=f[w+(f[v+(z<<6)+20>>2]<<2)>>2]|0;B=f[w+(f[v+(z<<6)+24>>2]<<2)>>2]|0;C=f[w+(f[v+(z<<6)+36>>2]<<2)>>2]|0;D=f[w+(f[v+(z<<6)+40>>2]<<2)>>2]|0;E=A-B-C+D|0;F=f[w+(f[v+(z<<6)+4>>2]<<2)>>2]|0;G=f[w+(f[v+(z<<6)+16>>2]<<2)>>2]|0;H=f[w+(f[v+(z<<6)+8>>2]<<2)>>2]|0;I=f[w+(f[v+(z<<6)+28>>2]<<2)>>2]|0;J=f[w+(f[v+(z<<6)+44>>2]<<2)>>2]|0;K=f[w+(f[v+(z<<6)+56>>2]<<2)>>2]|0;L=f[w+(f[v+(z<<6)+52>>2]<<2)>>2]|0;M=f[w+(f[v+(z<<6)+32>>2]<<2)>>2]|0;N=q+((X(x,c)|0)<<2)+((((B-A+F-H|0)>=(E|0)?2:0)|(((f[w+(f[v+(z<<6)>>2]<<2)>>2]|0)+A-F-G|0)>=(E|0)?4:0)|(H-B-(f[w+(f[v+(z<<6)+12>>2]<<2)>>2]|0)+I|0)>=(E|0))<<2)|0;O=y+ +n[(1<<(((D-J-K+(f[w+(f[v+(z<<6)+60>>2]<<2)>>2]|0)|0)>=(E|0)?8:0)|((B-D-I+J|0)>=(E|0)?16:0)|((C-D+K-L|0)>=(E|0)?4:0)|(C-A+G-M|0)>=(E|0)|((L-C+M-(f[w+(f[v+(z<<6)+48>>2]<<2)>>2]|0)|0)>=(E|0)?2:0))&f[N>>2]|0?r+(x<<4)+8|0:r+(x<<4)+12|0)>>2];x=x+1|0;if((x|0)==(t|0)){P=O;break}else y=O}}else P=0.0;if(P<+n[m+(s*12|0)+8>>2])break;q=q+((X(t,c)|0)<<2)|0;x=s+1|0;if((x|0)>=(j|0)){Q=P;R=11;break a}else{r=r+(t<<4)|0;s=x}}p[d>>3]=P;S=0-s|0}else{Q=0.0;R=11}while(0);if((R|0)==11){p[d>>3]=Q;S=1}if(!(f[g+4>>2]|0)){u=e;return S|0}u=e;return S|0}function Xsa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0,D=0,E=0.0,F=0;d=u;u=u+16|0;e=d;yV(e,76324);g=f[a+32>>2]|0;h=(f[a+36>>2]|0)-g|0;i=(h|0)/12|0;j=f[b+4>>2]|0;b=f[a+68>>2]|0;k=f[a+56>>2]|0;l=f[a+44>>2]|0;a=g;a:do if((h|0)>0){g=0;m=0;o=0;while(1){q=f[a+(g*12|0)+4>>2]|0;p[c>>3]=0.0;if((q|0)>0){r=a+(g*12|0)|0;s=0;t=m;v=o;while(1){w=(f[r>>2]|0)+s|0;x=0;do{y=x+t|0;z=+Sra(j,f[k+(y<<4)>>2]|0);x=f[(z<+n[k+(y<<4)+4>>2]?k+(y<<4)+8|0:k+(y<<4)+12|0)>>2]|0}while((x|0)>0);z=+p[c>>3]+ +n[b+(v-x<<2)>>2];p[c>>3]=z;y=f[l+(w<<2)>>2]|0;A=y+t|0;B=v+1+y|0;s=s+1|0;if((s|0)>=(q|0)){C=A;D=B;E=z;break}else{t=A;v=B}}}else{C=m;D=o;E=0.0}if(E<+n[a+(g*12|0)+8>>2]){F=0-g|0;break a}g=g+1|0;if((g|0)>=(i|0)){F=1;break}else{m=C;o=D}}}else F=1;while(0);if(!(f[e+4>>2]|0)){u=d;return F|0}u=d;return F|0}function Ysa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0.0,T=0,U=0,V=0.0,W=0,Y=0;d=u;u=u+16|0;e=d;yV(e,76304);g=f[a+32>>2]|0;h=(f[a+36>>2]|0)-g|0;i=(h|0)/12|0;j=f[b+4>>2]|0;b=((f[a+12>>2]|0)+31|0)/32|0;k=f[a+80>>2]|0;l=f[a+68>>2]|0;m=f[a+56>>2]|0;o=f[a+44>>2]|0;a=g;if((h|0)>0){h=j+380|0;g=j+384|0;j=0;q=0;r=0;while(1){s=f[a+(r*12|0)+4>>2]|0;if((s|0)>0){t=f[a+(r*12|0)>>2]|0;v=f[h>>2]|0;w=f[g>>2]|0;x=0;y=j;z=q;A=0.0;while(1){B=0;do{C=B+y|0;D=f[m+(C<<4)>>2]|0;E=f[w+(f[v+(D<<6)+20>>2]<<2)>>2]|0;F=f[w+(f[v+(D<<6)+24>>2]<<2)>>2]|0;G=f[w+(f[v+(D<<6)+36>>2]<<2)>>2]|0;H=f[w+(f[v+(D<<6)+40>>2]<<2)>>2]|0;I=E-F-G+H|0;J=f[w+(f[v+(D<<6)+4>>2]<<2)>>2]|0;K=f[w+(f[v+(D<<6)+16>>2]<<2)>>2]|0;L=f[w+(f[v+(D<<6)+8>>2]<<2)>>2]|0;M=f[w+(f[v+(D<<6)+28>>2]<<2)>>2]|0;N=f[w+(f[v+(D<<6)+44>>2]<<2)>>2]|0;O=f[w+(f[v+(D<<6)+56>>2]<<2)>>2]|0;P=f[w+(f[v+(D<<6)+52>>2]<<2)>>2]|0;Q=f[w+(f[v+(D<<6)+32>>2]<<2)>>2]|0;R=k+((X(C,b)|0)<<2)+((((F-E+J-L|0)>=(I|0)?2:0)|(((f[w+(f[v+(D<<6)>>2]<<2)>>2]|0)+E-J-K|0)>=(I|0)?4:0)|(L-F-(f[w+(f[v+(D<<6)+12>>2]<<2)>>2]|0)+M|0)>=(I|0))<<2)|0;B=f[(1<<(((H-N-O+(f[w+(f[v+(D<<6)+60>>2]<<2)>>2]|0)|0)>=(I|0)?8:0)|((F-H-M+N|0)>=(I|0)?16:0)|((G-H+O-P|0)>=(I|0)?4:0)|(G-E+K-Q|0)>=(I|0)|((P-G+Q-(f[w+(f[v+(D<<6)+48>>2]<<2)>>2]|0)|0)>=(I|0)?2:0))&f[R>>2]|0?m+(C<<4)+8|0:m+(C<<4)+12|0)>>2]|0}while((B|0)>0);S=A+ +n[l+(z-B<<2)>>2];C=f[o+(t+x<<2)>>2]|0;R=C+y|0;I=z+1+C|0;x=x+1|0;if((x|0)==(s|0)){T=R;U=I;V=S;break}else{y=R;z=I;A=S}}}else{T=j;U=q;V=0.0}if(V<+n[a+(r*12|0)+8>>2]){W=0-r|0;break}r=r+1|0;if((r|0)>=(i|0)){W=1;break}else{j=T;q=U}}p[c>>3]=V;Y=W}else Y=1;if(!(f[e+4>>2]|0)){u=d;return Y|0}u=d;return Y|0}function Zsa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(((d-g|0)/20|0)>>>0>=b>>>0){h=b;i=g;do{f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;i=(f[e>>2]|0)+20|0;f[e>>2]=i;h=h+-1|0}while((h|0)!=0);return}h=f[a>>2]|0;i=(g-h|0)/20|0;g=i+b|0;if(g>>>0>214748364)ZOa(a);j=(d-h|0)/20|0;h=j<<1;d=j>>>0<107374182?(h>>>0>>0?g:h):214748364;do if(d)if(d>>>0>214748364){h=hd(8)|0;LQa(h,349912);f[h>>2]=118288;ld(h|0,20688,857)}else{k=EQa(d*20|0)|0;break}else k=0;while(0);h=k+(i*20|0)|0;i=k+(d*20|0)|0;d=b;b=h;k=h;do{f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;b=k+20|0;k=b;d=d+-1|0}while((d|0)!=0);d=f[a>>2]|0;b=(f[e>>2]|0)-d|0;g=h+(((b|0)/-20|0)*20|0)|0;if((b|0)>0)DVa(g|0,d|0,b|0)|0;f[a>>2]=g;f[e>>2]=k;f[c>>2]=i;if(!d)return;GQa(d);return}function _sa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>4>>>0>=b>>>0){h=b;i=g;do{f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;i=(f[e>>2]|0)+16|0;f[e>>2]=i;h=h+-1|0}while((h|0)!=0);return}h=f[a>>2]|0;i=g-h>>4;g=i+b|0;if(g>>>0>268435455)ZOa(a);j=d-h|0;h=j>>3;d=j>>4>>>0<134217727?(h>>>0>>0?g:h):268435455;do if(d)if(d>>>0>268435455){h=hd(8)|0;LQa(h,349912);f[h>>2]=118288;ld(h|0,20688,857)}else{k=EQa(d<<4)|0;break}else k=0;while(0);h=k+(i<<4)|0;i=h;g=k+(d<<4)|0;d=b;b=h;k=i;do{f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;b=k+16|0;k=b;d=d+-1|0}while((d|0)!=0);d=g;g=f[a>>2]|0;b=f[e>>2]|0;j=g;if((b|0)==(g|0)){l=i;m=j}else{i=b+-16-j|0;j=b;b=h;while(1){n=j;j=j+-16|0;f[b+-16>>2]=f[j>>2];f[b+-12>>2]=f[n+-12>>2];f[b+-8>>2]=f[n+-8>>2];f[b+-4>>2]=f[n+-4>>2];if((j|0)==(g|0))break;else b=b+-16|0}l=h+(~(i>>>4)<<4)|0;m=f[a>>2]|0}f[a>>2]=l;f[e>>2]=k;f[c>>2]=d;if(!m)return;GQa(m);return}function $sa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=c;e=b;g=d-e|0;h=(g|0)/12|0;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0<=((j-k|0)/12|0)>>>0){m=a+4|0;n=((f[m>>2]|0)-k|0)/12|0;o=h>>>0>n>>>0;p=o?b+(n*12|0)|0:c;c=p;n=c-e|0;if(n|0)EVa(k|0,b|0,n|0)|0;e=l+(((n|0)/12|0)*12|0)|0;if(o){o=d-c|0;if((o|0)<=0)return;DVa(f[m>>2]|0,p|0,o|0)|0;f[m>>2]=(f[m>>2]|0)+(((o>>>0)/12|0)*12|0);return}else{o=f[m>>2]|0;if((o|0)==(e|0))return;f[m>>2]=o+(~(((o+-12-e|0)>>>0)/12|0)*12|0);return}}e=k;if(!k)q=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~(((o+-12-k|0)>>>0)/12|0)*12|0);GQa(e);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;q=0}if(h>>>0>357913941)ZOa(a);j=(q|0)/12|0;q=j<<1;e=j>>>0<178956970?(q>>>0>>0?h:q):357913941;if(e>>>0>357913941)ZOa(a);q=EQa(e*12|0)|0;h=a+4|0;f[h>>2]=q;f[a>>2]=q;f[i>>2]=q+(e*12|0);if((g|0)<=0)return;DVa(q|0,b|0,g|0)|0;f[h>>2]=q+(((g>>>0)/12|0)*12|0);return}function ata(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0<=j-k>>2>>>0){m=a+4|0;n=(f[m>>2]|0)-k>>2;o=h>>>0>n>>>0;p=o?b+(n<<2)|0:c;c=p;n=c-e|0;e=n>>2;if(e|0)EVa(k|0,b|0,n|0)|0;n=l+(e<<2)|0;if(o){o=d-c|0;if((o|0)<=0)return;DVa(f[m>>2]|0,p|0,o|0)|0;f[m>>2]=(f[m>>2]|0)+(o>>>2<<2);return}else{o=f[m>>2]|0;if((o|0)==(n|0))return;f[m>>2]=o+(~((o+-4-n|0)>>>2)<<2);return}}n=k;if(!k)q=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-4-k|0)>>>2)<<2);GQa(n);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;q=0}if(h>>>0>1073741823)ZOa(a);j=q>>1;n=q>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;if(n>>>0>1073741823)ZOa(a);j=EQa(n<<2)|0;h=a+4|0;f[h>>2]=j;f[a>>2]=j;f[i>>2]=j+(n<<2);if((g|0)<=0)return;DVa(j|0,b|0,g|0)|0;f[h>>2]=j+(g>>>2<<2);return}function bta(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=c;e=b;g=d-e|0;h=g>>4;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0<=j-k>>4>>>0){m=a+4|0;n=(f[m>>2]|0)-k>>4;o=h>>>0>n>>>0;p=o?b+(n<<4)|0:c;c=p;n=c-e|0;e=n>>4;if(e|0)EVa(k|0,b|0,n|0)|0;n=l+(e<<4)|0;if(o){o=d-c|0;if((o|0)<=0)return;DVa(f[m>>2]|0,p|0,o|0)|0;f[m>>2]=(f[m>>2]|0)+(o>>>4<<4);return}else{o=f[m>>2]|0;if((o|0)==(n|0))return;f[m>>2]=o+(~((o+-16-n|0)>>>4)<<4);return}}n=k;if(!k)q=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-16-k|0)>>>4)<<4);GQa(n);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;q=0}if(h>>>0>268435455)ZOa(a);j=q>>3;n=q>>4>>>0<134217727?(j>>>0>>0?h:j):268435455;if(n>>>0>268435455)ZOa(a);j=EQa(n<<4)|0;h=a+4|0;f[h>>2]=j;f[a>>2]=j;f[i>>2]=j+(n<<4);if((g|0)<=0)return;DVa(j|0,b|0,g|0)|0;f[h>>2]=j+(g>>>4<<4);return}function cta(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=c;e=b;g=d-e|0;h=g>>4;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0<=j-k>>4>>>0){m=a+4|0;n=(f[m>>2]|0)-k>>4;o=h>>>0>n>>>0;p=o?b+(n<<4)|0:c;c=p;n=c-e|0;e=n>>4;if(e|0)EVa(k|0,b|0,n|0)|0;n=l+(e<<4)|0;if(o){o=d-c|0;if((o|0)<=0)return;DVa(f[m>>2]|0,p|0,o|0)|0;f[m>>2]=(f[m>>2]|0)+(o>>>4<<4);return}else{o=f[m>>2]|0;if((o|0)==(n|0))return;f[m>>2]=o+(~((o+-16-n|0)>>>4)<<4);return}}n=k;if(!k)q=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-16-k|0)>>>4)<<4);GQa(n);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;q=0}if(h>>>0>268435455)ZOa(a);j=q>>3;n=q>>4>>>0<134217727?(j>>>0>>0?h:j):268435455;if(n>>>0>268435455)ZOa(a);j=EQa(n<<4)|0;h=a+4|0;f[h>>2]=j;f[a>>2]=j;f[i>>2]=j+(n<<4);if((g|0)<=0)return;DVa(j|0,b|0,g|0)|0;f[h>>2]=j+(g>>>4<<4);return}function dta(a){a=a|0;var b=0,c=0,d=0;b=f[a+88>>2]|0;if(b|0){c=a+92|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-16-b|0)>>>4)<<4);GQa(b)}b=f[a+76>>2]|0;if(b|0){d=a+80|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-16-b|0)>>>4)<<4);GQa(b)}b=f[a+40>>2]|0;if(b|0){c=a+44|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+28>>2]|0;if(!b)return;d=a+32|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~(((a+-12-b|0)>>>0)/12|0)*12|0);GQa(b);return}function eta(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+16|0;d=c+8|0;e=c;g=a+224|0;h=a+248|0;i=f[h>>2]|0;if(i|0?(j=i+8|0,i=f[j>>2]|0,f[j>>2]=i+-1,(i|0)==1):0)uN(g);g=a+228|0;if((f[g>>2]|0)>0){i=f[a+256>>2]|0;j=0;do{f[i+(j<<2)>>2]=0;j=j+1|0}while((j|0)<(f[g>>2]|0))}f[h>>2]=0;h=a+272|0;g=a+296|0;j=f[g>>2]|0;if(j|0?(i=j+8|0,j=f[i>>2]|0,f[i>>2]=j+-1,(j|0)==1):0)uN(h);h=a+276|0;if((f[h>>2]|0)>0){j=f[a+304>>2]|0;i=0;do{f[j+(i<<2)>>2]=0;i=i+1|0}while((i|0)<(f[h>>2]|0))}f[g>>2]=0;g=a+320|0;h=a+344|0;i=f[h>>2]|0;if(i|0?(j=i+8|0,i=f[j>>2]|0,f[j>>2]=i+-1,(i|0)==1):0)uN(g);g=a+324|0;if((f[g>>2]|0)>0){i=f[a+352>>2]|0;j=0;do{f[i+(j<<2)>>2]=0;j=j+1|0}while((j|0)<(f[g>>2]|0))}f[h>>2]=0;if(!(hta(a+4|0,b)|0)){k=0;u=c;return k|0}ita(d,f[a+8>>2]|0);h=a+104|0;g=f[d>>2]|0;j=f[d+4>>2]|0;if(g|0){i=g+4|0;f[i>>2]=(f[i>>2]|0)+1}i=f[h>>2]|0;f[h>>2]=g;g=a+108|0;f[g>>2]=j;if(i|0?(j=i+4|0,h=f[j>>2]|0,f[j>>2]=h+-1,(h|0)==1):0)qg[f[(f[i>>2]|0)+8>>2]&1023](i);i=f[d>>2]|0;if(i|0?(h=i+4|0,j=f[h>>2]|0,f[h>>2]=j+-1,(j|0)==1):0)qg[f[(f[i>>2]|0)+8>>2]&1023](i);tS(d,b,330263);if(!(f[d+4>>2]|0))l=0;else{b=f[g>>2]|0;g=f[(f[b>>2]|0)+8>>2]|0;f[e>>2]=f[a+24>>2];f[e+4>>2]=f[a+28>>2];l=bg[g&127](b,d,e)|0}k=l;u=c;return k|0}function fta(a){a=a|0;GQa(a);return}function gta(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;f[c>>2]=f[a+8>>2];Sta(c);if(!a){u=b;return}qg[f[(f[a>>2]|0)+4>>2]&1023](a);u=b;return}function hta(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0;d=u;u=u+512|0;e=d+16|0;g=d+480|0;h=d+464|0;i=d+504|0;j=d+496|0;k=d+8|0;l=d+488|0;m=d+420|0;o=d+376|0;p=d;q=d+352|0;r=d+472|0;s=d+292|0;t=d+248|0;v=d+232|0;w=d+216|0;x=d+200|0;y=d+196|0;z=d+152|0;A=d+108|0;B=d+64|0;C=d+368|0;D=d+344|0;E=d+336|0;F=d+60|0;G=d+240|0;H=d+224|0;I=d+208|0;tS(e,c,330272);f[g>>2]=0;f[g+4>>2]=0;IS(e,g,g);J=f[g>>2]|0;if((J|0)!=330282?mCa((J|0)==0?1079437:J,330282)|0:0){K=0;KV(g);u=d;return K|0}f[a>>2]=0;tS(e,c,330288);f[h>>2]=0;f[h+4>>2]=0;IS(e,h,h);J=f[h>>2]|0;do if((J|0)!=330300?(L=(J|0)==0?1079437:J,(mCa(L,330300)|0)!=0):0){if((J|0)!=330305?mCa(L,330305)|0:0){if((J|0)!=330309?mCa(L,330309)|0:0){M=0;break}f[a+4>>2]=2;f[e>>2]=0;f[e+4>>2]=0;N=JV(e,35)|0;O=330313;P=N+35|0;do{b[N>>0]=b[O>>0]|0;N=N+1|0;O=O+1|0}while((N|0)<(P|0));EP(-213,e,339956,327092,1472);KV(e);Q=12;break}f[a+4>>2]=1;Q=12}else Q=5;while(0);if((Q|0)==5){f[a+4>>2]=0;Q=12}if((Q|0)==12){tS(i,c,330349);FS(i,e,0);i=a+20|0;f[i>>2]=f[e>>2];tS(j,c,330355);FS(j,e,0);j=f[e>>2]|0;f[a+24>>2]=j;if(!((j|0)>0?(f[i>>2]|0)>0:0)){f[e>>2]=0;f[e+4>>2]=0;N=JV(e,47)|0;O=330362;P=N+47|0;do{b[N>>0]=b[O>>0]|0;N=N+1|0;O=O+1|0}while((N|0)<(P|0));EP(-215,e,339956,327092,1479);KV(e)}tS(k,c,330410);i=k+4|0;if((f[i>>2]|0)!=0?(tS(l,k,330424),FS(l,e,0),l=f[e>>2]|0,f[a+8>>2]=l,j=(l+31|0)/32|0,J=(l|0)>0,l=J?j+3|0:4,tS(e,c,331375),c=e,L=f[c>>2]|0,R=f[c+4>>2]|0,c=k,f[c>>2]=L,f[c+4>>2]=R,!(R>>>0<1|(R|0)==1&L>>>0<0)):0){L=a+28|0;jta(L,vS(k)|0);R=a+40|0;c=f[R>>2]|0;S=a+44|0;T=f[S>>2]|0;if((T|0)!=(c|0))f[S>>2]=T+(~((T+-4-c|0)>>>2)<<2);c=a+52|0;T=f[c>>2]|0;U=a+56|0;V=f[U>>2]|0;if((V|0)!=(T|0))f[U>>2]=V+(~((V+-16-T|0)>>>4)<<4);T=a+88|0;V=f[T>>2]|0;W=a+92|0;Y=f[W>>2]|0;if((Y|0)!=(V|0))f[W>>2]=Y+(~((Y+-16-V|0)>>>4)<<4);uS(m,f[k>>2]|0,f[i>>2]|0,0);V=f[k>>2]|0;Y=f[i>>2]|0;uS(o,V,Y,vS(k)|0);k=a+12|0;f[k>>2]=2147483647;Y=a+16|0;f[Y>>2]=0;V=m+4|0;i=o+4|0;Z=m+20|0;_=o+20|0;$=m+40|0;aa=o+40|0;ba=p+4|0;ca=q+8|0;da=q+4|0;ea=a+32|0;fa=a+36|0;ga=s+4|0;ha=t+4|0;ia=s+20|0;ja=t+20|0;ka=s+40|0;la=t+40|0;ma=v+4|0;na=w+4|0;oa=x+4|0;pa=a+48|0;qa=a+64|0;ra=a+68|0;sa=a+76|0;ta=a+80|0;ua=z+4|0;va=A+4|0;wa=z+20|0;xa=A+20|0;ya=z+40|0;za=A+40|0;Aa=C+4|0;Ba=B+8|0;Ca=D+4|0;Da=B+12|0;Ea=E+4|0;Fa=a+60|0;Ga=H+4|0;Ha=B+4|0;Ia=G+4|0;Ja=a+84|0;Ka=I+4|0;La=a+72|0;Ma=0;a:while(1){Na=f[m>>2]|0;Oa=Na;if((((Na|0)==(f[o>>2]|0)?(f[V>>2]|0)==(f[i>>2]|0):0)?(f[Z>>2]|0)==(f[_>>2]|0):0)?(f[$>>2]|0)==(f[aa>>2]|0):0){Q=73;break}Na=f[Z>>2]|0;f[p>>2]=Oa;f[ba>>2]=Na;tS(r,p,330436);GS(r,e,0.0);n[ca>>2]=+n[e>>2]+-9.999999747378752e-06;tS(e,p,330451);Na=e;Oa=f[Na>>2]|0;Pa=f[Na+4>>2]|0;Na=p;f[Na>>2]=Oa;f[Na+4>>2]=Pa;if(Pa>>>0<1|(Pa|0)==1&Oa>>>0<0){Q=29;break}Oa=vS(p)|0;f[da>>2]=Oa;f[q>>2]=(f[S>>2]|0)-(f[R>>2]|0)>>2;Oa=f[ea>>2]|0;if((Oa|0)==(f[fa>>2]|0))kta(L,q);else{f[Oa>>2]=f[q>>2];f[Oa+4>>2]=f[q+4>>2];f[Oa+8>>2]=f[q+8>>2];f[ea>>2]=(f[ea>>2]|0)+12}Oa=f[L>>2]|0;lta(R,(f[Oa+(Ma*12|0)+4>>2]|0)+(f[Oa+(Ma*12|0)>>2]|0)|0);uS(s,f[p>>2]|0,f[ba>>2]|0,0);Oa=f[p>>2]|0;Pa=f[ba>>2]|0;uS(t,Oa,Pa,vS(p)|0);while(1){Pa=f[s>>2]|0;Oa=Pa;if((((Pa|0)==(f[t>>2]|0)?(f[ga>>2]|0)==(f[ha>>2]|0):0)?(f[ia>>2]|0)==(f[ja>>2]|0):0)?(f[ka>>2]|0)==(f[la>>2]|0):0)break;Pa=f[ia>>2]|0;f[v>>2]=Oa;f[ma>>2]=Pa;tS(w,v,330467);tS(x,v,330481);if((f[na>>2]|0)==0|(f[oa>>2]|0)==0){Q=71;break a}Pa=(vS(w)|0)/(l|0)|0;f[y>>2]=Pa;Oa=f[k>>2]|0;f[k>>2]=(Pa|0)<(Oa|0)?Pa:Oa;Oa=f[Y>>2]|0;f[Y>>2]=(Oa|0)<(Pa|0)?Pa:Oa;Oa=f[S>>2]|0;if((Oa|0)==(f[pa>>2]|0))mta(R,y);else{f[Oa>>2]=Pa;f[S>>2]=Oa+4}nta(c,((f[U>>2]|0)-(f[c>>2]|0)>>4)+(f[y>>2]|0)|0);Oa=f[ra>>2]|0;Pa=f[qa>>2]|0;ota(qa,(Oa-Pa>>2)+(vS(x)|0)|0);if(J)pta(sa,((f[ta>>2]|0)-(f[sa>>2]|0)>>2)+(X(f[y>>2]|0,j)|0)|0);uS(z,f[w>>2]|0,f[na>>2]|0,0);Pa=f[w>>2]|0;Oa=f[na>>2]|0;uS(A,Pa,Oa,vS(w)|0);b:while(1){Oa=f[z>>2]|0;Pa=Oa;do if((Oa|0)==(f[A>>2]|0)){if((f[ua>>2]|0)!=(f[va>>2]|0))break;if((f[wa>>2]|0)!=(f[xa>>2]|0))break;if((f[ya>>2]|0)==(f[za>>2]|0))break b}while(0);Oa=f[wa>>2]|0;f[C>>2]=Pa;f[Aa>>2]=Oa;FS(C,e,0);f[Ba>>2]=f[e>>2];wS(z)|0;Oa=f[wa>>2]|0;f[D>>2]=f[z>>2];f[Ca>>2]=Oa;FS(D,e,0);f[Da>>2]=f[e>>2];wS(z)|0;Oa=f[wa>>2]|0;f[E>>2]=f[z>>2];f[Ea>>2]=Oa;FS(E,e,0);f[B>>2]=f[e>>2];wS(z)|0;if(J){Oa=0;while(1){if((Oa|0)>=(j|0))break;Na=f[wa>>2]|0;f[G>>2]=f[z>>2];f[Ia>>2]=Na;FS(G,e,0);Na=f[e>>2]|0;f[F>>2]=Na;Qa=f[ta>>2]|0;if((Qa|0)==(f[Ja>>2]|0))jQ(sa,F);else{f[Qa>>2]=Na;f[ta>>2]=Qa+4}wS(z)|0;Oa=Oa+1|0}n[Ha>>2]=0.0}else{Oa=f[wa>>2]|0;f[H>>2]=f[z>>2];f[Ga>>2]=Oa;GS(H,e,0.0);f[Ha>>2]=f[e>>2];wS(z)|0}Oa=f[U>>2]|0;if((Oa|0)==(f[Fa>>2]|0))qta(c,B);else{f[Oa>>2]=f[B>>2];f[Oa+4>>2]=f[B+4>>2];f[Oa+8>>2]=f[B+8>>2];f[Oa+12>>2]=f[B+12>>2];f[U>>2]=(f[U>>2]|0)+16}}uS(e,f[x>>2]|0,f[oa>>2]|0,0);N=z;O=e;P=N+44|0;do{f[N>>2]=f[O>>2];N=N+4|0;O=O+4|0}while((N|0)<(P|0));Oa=f[x>>2]|0;Pa=f[oa>>2]|0;uS(B,Oa,Pa,vS(x)|0);N=A;O=B;P=N+44|0;do{f[N>>2]=f[O>>2];N=N+4|0;O=O+4|0}while((N|0)<(P|0));c:while(1){Pa=f[z>>2]|0;Oa=Pa;do if((Pa|0)==(f[A>>2]|0)){if((f[ua>>2]|0)!=(f[va>>2]|0))break;if((f[wa>>2]|0)!=(f[xa>>2]|0))break;if((f[ya>>2]|0)==(f[za>>2]|0))break c}while(0);Pa=f[wa>>2]|0;f[I>>2]=Oa;f[Ka>>2]=Pa;GS(I,e,0.0);Pa=f[e>>2]|0;f[B>>2]=Pa;Qa=f[ra>>2]|0;if((Qa|0)==(f[La>>2]|0))Psa(qa,B);else{f[Qa>>2]=Pa;f[ra>>2]=Qa+4}wS(z)|0}wS(s)|0}wS(m)|0;Ma=Ma+1|0}d:do if((Q|0)==29)Ra=0;else if((Q|0)==71)Ra=0;else if((Q|0)==73)if((f[Y>>2]|0)==1?(Ma=f[L>>2]|0,m=(f[ea>>2]|0)-Ma|0,s=(m|0)/12|0,(m|0)!=0):0){m=a+64|0;z=e+4|0;ra=e+8|0;B=e+12|0;qa=a+96|0;La=0;I=0;Ka=0;wa=Ma;while(1){Ma=f[wa+(La*12|0)+4>>2]|0;if((Ma|0)>0){za=0;ya=I;xa=Ka;while(1){va=f[c>>2]|0;ua=f[va+(xa<<4)+4>>2]|0;A=f[m>>2]|0;O=f[A+(ya<<2)>>2]|0;N=f[A+(ya+1<<2)>>2]|0;f[e>>2]=f[va+(xa<<4)>>2];f[z>>2]=ua;f[ra>>2]=O;f[B>>2]=N;N=f[W>>2]|0;if((N|0)==(f[qa>>2]|0))rta(T,e);else{f[N>>2]=f[e>>2];f[N+4>>2]=f[e+4>>2];f[N+8>>2]=f[e+8>>2];f[N+12>>2]=f[e+12>>2];f[W>>2]=(f[W>>2]|0)+16}za=za+1|0;N=xa+1|0;O=ya+2|0;if((za|0)>=(Ma|0)){Sa=O;Ta=N;break}else{ya=O;xa=N}}}else{Sa=I;Ta=Ka}xa=La+1|0;if(xa>>>0>=s>>>0){Ra=1;break d}La=xa;I=Sa;Ka=Ta;wa=f[L>>2]|0}}else Ra=1;while(0);Ua=Ra}else Ua=0;M=Ua}KV(h);K=M;KV(g);u=d;return K|0}function ita(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;switch(c|0){case 0:{c=EQa(436)|0;d=c+8|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[c+44>>2]=1124007936;d=c+52|0;e=c+84|0;g=c+48|0;h=g+36|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[e>>2]=d;d=c+92|0;f[c+88>>2]=d;f[d>>2]=0;f[c+96>>2]=0;f[c+100>>2]=1124007936;d=c+108|0;e=c+140|0;g=c+104|0;h=g+36|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[e>>2]=d;d=c+148|0;f[c+144>>2]=d;f[d>>2]=0;f[c+152>>2]=0;f[c+156>>2]=1124007936;d=c+160|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[d+24>>2]=0;f[c+188>>2]=c+164;d=c+196|0;f[c+192>>2]=d;f[c+200>>2]=0;f[d>>2]=0;f[c+204>>2]=1124007936;d=c+208|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[d+24>>2]=0;f[c+236>>2]=c+212;d=c+244|0;f[c+240>>2]=d;f[c+248>>2]=0;f[d>>2]=0;f[c+252>>2]=1124007936;d=c+256|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[d+24>>2]=0;f[c+284>>2]=c+260;d=c+292|0;f[c+288>>2]=d;f[c+296>>2]=0;f[d>>2]=0;f[c+300>>2]=1124007936;d=c+304|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[d+24>>2]=0;f[c+332>>2]=c+308;d=c+340|0;f[c+336>>2]=d;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[c>>2]=75792;d=c+356|0;e=c+24|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;g=c+392|0;h=g+40|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[e>>2]=4;f[c+28>>2]=2;f[c+32>>2]=0;f[c+36>>2]=0;f[c+40>>2]=0;f[c+384>>2]=0;f[c+388>>2]=0;n[c+432>>2]=0.0;b[c+380>>0]=0;e=EQa(16)|0;f[e+4>>2]=1;f[e>>2]=75892;f[e+8>>2]=c;f[a>>2]=e;f[a+4>>2]=c;return}case 1:{c=EQa(388)|0;msa(c);e=EQa(16)|0;f[e+4>>2]=1;f[e>>2]=76012;f[e+8>>2]=c;f[a>>2]=e;f[a+4>>2]=c;return}default:{f[a>>2]=0;f[a+4>>2]=0;return}}}function jta(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=a+8|0;d=f[a>>2]|0;if((((f[c>>2]|0)-d|0)/12|0)>>>0>=b>>>0)return;e=a+4|0;if(b>>>0>357913941){g=hd(8)|0;LQa(g,349912);f[g>>2]=118288;ld(g|0,20688,857)}g=(f[e>>2]|0)-d|0;h=EQa(b*12|0)|0;i=h+(((g|0)/12|0)*12|0)|0;j=i+(((g|0)/-12|0)*12|0)|0;if((g|0)>0)DVa(j|0,d|0,g|0)|0;f[a>>2]=j;f[e>>2]=i;f[c>>2]=h+(b*12|0);if(!d)return;GQa(d);return}function kta(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=(e|0)/12|0;h=g+1|0;if(h>>>0>357913941)ZOa(a);i=a+8|0;j=((f[i>>2]|0)-d|0)/12|0;k=j<<1;l=j>>>0<178956970?(k>>>0>>0?h:k):357913941;do if(l)if(l>>>0>357913941){k=hd(8)|0;LQa(k,349912);f[k>>2]=118288;ld(k|0,20688,857)}else{m=EQa(l*12|0)|0;break}else m=0;while(0);k=m+(g*12|0)|0;f[k>>2]=f[b>>2];f[k+4>>2]=f[b+4>>2];f[k+8>>2]=f[b+8>>2];b=k+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)DVa(b|0,d|0,e|0)|0;f[a>>2]=b;f[c>>2]=k+12;f[i>>2]=m+(l*12|0);if(!d)return;GQa(d);return}function lta(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=a+8|0;d=f[a>>2]|0;if((f[c>>2]|0)-d>>2>>>0>=b>>>0)return;e=a+4|0;if(b>>>0>1073741823){g=hd(8)|0;LQa(g,349912);f[g>>2]=118288;ld(g|0,20688,857)}g=(f[e>>2]|0)-d|0;h=EQa(b<<2)|0;if((g|0)>0)DVa(h|0,d|0,g|0)|0;f[a>>2]=h;f[e>>2]=h+(g>>2<<2);f[c>>2]=h+(b<<2);if(!d)return;GQa(d);return}function mta(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=e>>2;h=g+1|0;if(h>>>0>1073741823)ZOa(a);i=a+8|0;j=(f[i>>2]|0)-d|0;k=j>>1;l=j>>2>>>0<536870911?(k>>>0>>0?h:k):1073741823;do if(l)if(l>>>0>1073741823){k=hd(8)|0;LQa(k,349912);f[k>>2]=118288;ld(k|0,20688,857)}else{k=EQa(l<<2)|0;m=k;n=k;break}else{m=0;n=0}while(0);k=m+(g<<2)|0;f[k>>2]=f[b>>2];if((e|0)>0)DVa(n|0,d|0,e|0)|0;f[a>>2]=m;f[c>>2]=k+4;f[i>>2]=m+(l<<2);if(!d)return;GQa(d);return}function nta(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=a+8|0;d=f[a>>2]|0;if((f[c>>2]|0)-d>>4>>>0>=b>>>0)return;e=a+4|0;if(b>>>0>268435455){g=hd(8)|0;LQa(g,349912);f[g>>2]=118288;ld(g|0,20688,857)}g=(f[e>>2]|0)-d|0;h=EQa(b<<4)|0;if((g|0)>0)DVa(h|0,d|0,g|0)|0;f[a>>2]=h;f[e>>2]=h+(g>>4<<4);f[c>>2]=h+(b<<4);if(!d)return;GQa(d);return}function ota(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=a+8|0;d=f[a>>2]|0;if((f[c>>2]|0)-d>>2>>>0>=b>>>0)return;e=a+4|0;if(b>>>0>1073741823){g=hd(8)|0;LQa(g,349912);f[g>>2]=118288;ld(g|0,20688,857)}g=(f[e>>2]|0)-d|0;h=EQa(b<<2)|0;if((g|0)>0)DVa(h|0,d|0,g|0)|0;f[a>>2]=h;f[e>>2]=h+(g>>2<<2);f[c>>2]=h+(b<<2);if(!d)return;GQa(d);return}function pta(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=a+8|0;d=f[a>>2]|0;if((f[c>>2]|0)-d>>2>>>0>=b>>>0)return;e=a+4|0;if(b>>>0>1073741823){g=hd(8)|0;LQa(g,349912);f[g>>2]=118288;ld(g|0,20688,857)}g=(f[e>>2]|0)-d|0;h=EQa(b<<2)|0;if((g|0)>0)DVa(h|0,d|0,g|0)|0;f[a>>2]=h;f[e>>2]=h+(g>>2<<2);f[c>>2]=h+(b<<2);if(!d)return;GQa(d);return}function qta(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=e>>4;h=g+1|0;if(h>>>0>268435455)ZOa(a);i=a+8|0;j=(f[i>>2]|0)-d|0;k=j>>3;l=j>>4>>>0<134217727?(k>>>0>>0?h:k):268435455;do if(l)if(l>>>0>268435455){k=hd(8)|0;LQa(k,349912);f[k>>2]=118288;ld(k|0,20688,857)}else{k=EQa(l<<4)|0;m=k;n=k;break}else{m=0;n=0}while(0);k=m+(g<<4)|0;f[k>>2]=f[b>>2];f[k+4>>2]=f[b+4>>2];f[k+8>>2]=f[b+8>>2];f[k+12>>2]=f[b+12>>2];if((e|0)>0)DVa(n|0,d|0,e|0)|0;f[a>>2]=m;f[c>>2]=k+16;f[i>>2]=m+(l<<4);if(!d)return;GQa(d);return}function rta(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=e>>4;h=g+1|0;if(h>>>0>268435455)ZOa(a);i=a+8|0;j=(f[i>>2]|0)-d|0;k=j>>3;l=j>>4>>>0<134217727?(k>>>0>>0?h:k):268435455;do if(l)if(l>>>0>268435455){k=hd(8)|0;LQa(k,349912);f[k>>2]=118288;ld(k|0,20688,857)}else{k=EQa(l<<4)|0;m=k;n=k;break}else{m=0;n=0}while(0);k=m+(g<<4)|0;f[k>>2]=f[b>>2];f[k+4>>2]=f[b+4>>2];f[k+8>>2]=f[b+8>>2];f[k+12>>2]=f[b+12>>2];if((e|0)>0)DVa(n|0,d|0,e|0)|0;f[a>>2]=m;f[c>>2]=k+16;f[i>>2]=m+(l<<4);if(!d)return;GQa(d);return}function sta(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0;d=u;u=u+16|0;e=d;yV(e,76184);Lsa(a,b,c,0,0);if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function tta(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0;e=u;u=u+16|0;g=e;yV(g,76404);Lsa(a,c,d,b,0);if(!(f[g+4>>2]|0)){u=e;return}u=e;return}function uta(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var g=0,h=0;g=u;u=u+16|0;h=g;yV(h,76164);Lsa(a,d,e,b,c);if(!(f[h+4>>2]|0)){u=g;return}u=g;return}function vta(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0.0,J=0.0,K=0,L=0;g=u;u=u+192|0;h=g+172|0;i=g+160|0;j=g+148|0;k=g+136|0;l=g+88|0;m=g;n=g+120|0;o=g+112|0;yV(o,76464);q=f[e>>2]|0;r=f[e+4>>2]|0;e=a+4|0;s=f[e>>2]|0;t=f[a>>2]|0;v=s-t|0;w=v>>4;f[h>>2]=0;x=h+4|0;f[x>>2]=0;f[h+8>>2]=0;y=(w|0)==0;z=t;A=s;do if(!y)if(w>>>0>178956970)ZOa(h);else{s=w*24|0;B=EQa(s)|0;f[h>>2]=B;f[h+8>>2]=B+(w*24|0);FVa(B|0,0,s|0)|0;f[x>>2]=B+s;C=B;break}else C=0;while(0);f[i>>2]=0;B=i+4|0;f[B>>2]=0;f[i+8>>2]=0;f[j>>2]=0;s=j+4|0;f[s>>2]=0;f[j+8>>2]=0;if(y)D=0;else{y=v>>1;E=EQa(y)|0;f[j>>2]=E;F=E+(w<<3)|0;f[j+8>>2]=F;FVa(E|0,0,y|0)|0;f[s>>2]=F;D=E}f[k>>2]=0;E=k+4|0;f[E>>2]=0;f[k+8>>2]=0;if((v|0)>0){v=f[b>>2]|0;F=f[c>>2]|0;c=0;do{p[D+(c<<3)>>3]=+p[v+(c<<3)>>3];y=(f[z+(c<<4)+12>>2]|0)+(f[z+(c<<4)+4>>2]<<1)|0;G=AEa(+((f[z+(c<<4)+8>>2]|0)+(f[z+(c<<4)>>2]<<1)|0)*.5)|0;H=+(AEa(+(y|0)*.5)|0);I=+V(+(+p[F+(c<<3)>>3]));p[C+(c*24|0)>>3]=+(G|0);p[C+(c*24|0)+8>>3]=H;p[C+(c*24|0)+16>>3]=I;c=c+1|0}while((c|0)<(w|0))}if((A|0)!=(z|0))f[e>>2]=A+(~((A+-16-t|0)>>>4)<<4);t=f[b>>2]|0;A=b+4|0;z=f[A>>2]|0;if((z|0)!=(t|0))f[A>>2]=z+(~((z+-8-t|0)>>>3)<<3);p[l>>3]=8.0;p[l+8>>3]=16.0;p[l+16>>3]=.26236426446749106;wta(m,l,h,j,1.0e-05,100);xta(m,i,k,1.0);l=f[i>>2]|0;if((f[B>>2]|0)!=(l|0)){t=n+4|0;z=n+8|0;w=n+12|0;c=a+8|0;C=b+8|0;I=+(q|0);H=+(r|0);r=0;q=l;do{l=q;J=+U(+(+p[l+(r*24|0)+16>>3]));F=~~(J*I);v=~~(J*H);D=~~(+p[l+(r*24|0)>>3]-+((F|0)/2|0|0));G=~~(+p[l+(r*24|0)+8>>3]-+((v|0)/2|0|0));f[n>>2]=D;f[t>>2]=G;f[z>>2]=F;f[w>>2]=v;l=f[k>>2]|0;do if(+p[l+(r<<3)>>3]>d){y=f[e>>2]|0;if((y|0)==(f[c>>2]|0)){Nsa(a,n);K=f[k>>2]|0}else{f[y>>2]=D;f[y+4>>2]=G;f[y+8>>2]=F;f[y+12>>2]=v;f[e>>2]=y+16;K=l}y=K+(r<<3)|0;L=f[A>>2]|0;if((L|0)==(f[C>>2]|0)){Osa(b,y);break}else{p[L>>3]=+p[y>>3];f[A>>2]=L+8;break}}while(0);r=r+1|0;q=f[i>>2]|0}while(r>>>0<(((f[B>>2]|0)-q|0)/24|0)>>>0)}q=f[m+64>>2]|0;if(q|0){r=m+68|0;A=f[r>>2]|0;if((A|0)!=(q|0))f[r>>2]=A+(~(((A+-24-q|0)>>>0)/24|0)*24|0);GQa(q)}q=f[m+52>>2]|0;if(q|0){A=m+56|0;r=f[A>>2]|0;if((r|0)!=(q|0))f[A>>2]=r+(~(((r+-24-q|0)>>>0)/24|0)*24|0);GQa(q)}q=f[m+12>>2]|0;if(q|0){r=m+16|0;A=f[r>>2]|0;if((A|0)!=(q|0))f[r>>2]=A+(~((A+-8-q|0)>>>3)<<3);GQa(q)}q=f[m>>2]|0;if(q|0){A=m+4|0;m=f[A>>2]|0;if((m|0)!=(q|0))f[A>>2]=m+(~(((m+-24-q|0)>>>0)/24|0)*24|0);GQa(q)}q=f[k>>2]|0;if(q|0){k=f[E>>2]|0;if((k|0)!=(q|0))f[E>>2]=k+(~((k+-8-q|0)>>>3)<<3);GQa(q)}q=f[j>>2]|0;if(q|0){j=f[s>>2]|0;if((j|0)!=(q|0))f[s>>2]=j+(~((j+-8-q|0)>>>3)<<3);GQa(q)}q=f[i>>2]|0;if(q|0){i=f[B>>2]|0;if((i|0)!=(q|0))f[B>>2]=i+(~(((i+-24-q|0)>>>0)/24|0)*24|0);GQa(q)}q=f[h>>2]|0;if(q|0){h=f[x>>2]|0;if((h|0)!=(q|0))f[x>>2]=h+(~(((h+-24-q|0)>>>0)/24|0)*24|0);GQa(q)}if(!(f[o+4>>2]|0)){u=g;return}u=g;return}function wta(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0;h=u;u=u+48|0;i=h+24|0;j=h;k=a+4|0;l=a+12|0;m=a+52|0;n=a+56|0;o=a+64|0;q=a+68|0;r=a;s=r+48|0;do{f[r>>2]=0;r=r+4|0}while((r|0)<(s|0));f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;p[a+24>>3]=+p[b>>3];r=a+32|0;p[r>>3]=+p[b+8>>3];s=a+40|0;p[s>>3]=+p[b+16>>3];if((l|0)!=(d|0))Ata(l,f[d>>2]|0,f[d+4>>2]|0);if((a|0)==(c|0))t=c+4|0;else{d=c+4|0;Bta(a,f[c>>2]|0,f[d>>2]|0);t=d}d=((f[t>>2]|0)-(f[c>>2]|0)|0)/24|0;c=a+48|0;f[c>>2]=d;t=f[n>>2]|0;l=f[m>>2]|0;b=(t-l|0)/24|0;v=l;l=t;if(d>>>0<=b>>>0)if(d>>>0>>0?(t=v+(d*24|0)|0,(t|0)!=(l|0)):0){f[n>>2]=l+(~(((l+-24-t|0)>>>0)/24|0)*24|0);w=d}else w=d;else{Cta(m,d-b|0);w=f[c>>2]|0}c=f[q>>2]|0;b=f[o>>2]|0;d=(c-b|0)/24|0;t=b;b=c;if(w>>>0<=d>>>0){if(w>>>0>>0?(c=t+(w*24|0)|0,(c|0)!=(b|0)):0)f[q>>2]=b+(~(((b+-24-c|0)>>>0)/24|0)*24|0)}else Cta(o,w-d|0);d=a+76|0;f[d>>2]=g;g=a+80|0;p[g>>3]=e;w=f[a>>2]|0;if((f[k>>2]|0)==(w|0)){u=h;return}c=i+8|0;b=i+16|0;q=i+8|0;t=i+16|0;l=j+8|0;n=j+16|0;v=a+24|0;x=0;y=w;do{Dta(i,a,y+(x*24|0)|0);w=f[m>>2]|0;z=w+(x*24|0)|0;p[z>>3]=+p[i>>3];A=w+(x*24|0)+8|0;p[A>>3]=+p[c>>3];B=w+(x*24|0)+16|0;p[B>>3]=+p[b>>3];e=+p[z>>3];C=+p[A>>3];D=+p[B>>3];f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;if((f[d>>2]|0)>0){B=0;E=D;F=e;G=C;do{p[i>>3]=F;p[q>>3]=G;p[t>>3]=E;Dta(j,a,i);F=+p[j>>3];G=+p[l>>3];E=+p[n>>3];H=+p[t>>3];I=+U(+H);J=(+p[i>>3]-F)/(+p[v>>3]*I);K=(+p[q>>3]-G)/(+p[r>>3]*I);I=(H-E)/+p[s>>3];B=B+1|0;if(I*I+(K*K+J*J)<=+p[g>>3])break}while((B|0)<(f[d>>2]|0));L=F;M=G;N=E;O=f[m>>2]|0}else{L=e;M=C;N=D;O=w}B=f[o>>2]|0;p[B+(x*24|0)>>3]=L;p[B+(x*24|0)+8>>3]=M;p[B+(x*24|0)+16>>3]=N;y=f[a>>2]|0;J=+p[y+(x*24|0)+8>>3];K=+p[y+(x*24|0)+16>>3];B=O+(x*24|0)|0;p[B>>3]=+p[B>>3]-+p[y+(x*24|0)>>3];B=O+(x*24|0)+8|0;p[B>>3]=+p[B>>3]-J;B=O+(x*24|0)+16|0;p[B>>3]=+p[B>>3]-K;x=x+1|0}while(x>>>0<(((f[k>>2]|0)-y|0)/24|0)>>>0);u=h;return}function xta(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0,z=0.0,A=0.0,B=0.0,C=0,D=0.0,E=0.0,F=0.0,G=0.0,H=0,I=0,J=0,K=0;e=a+64|0;g=a+68|0;h=f[e>>2]|0;i=b+4|0;if((f[g>>2]|0)!=(h|0)){j=b+8|0;k=a+24|0;l=a+32|0;m=a+40|0;n=0;o=h;while(1){h=o;q=f[i>>2]|0;r=f[b>>2]|0;s=r;t=q;a:do if((q|0)==(r|0))u=14;else{v=+p[k>>3];w=+p[l>>3];x=+p[m>>3];y=(q-r|0)/24|0;z=+p[h+(n*24|0)>>3];A=+p[h+(n*24|0)+8>>3];B=+p[h+(n*24|0)+16>>3];C=0;while(1){D=+p[s+(C*24|0)+16>>3];E=+U(+D);F=(+p[s+(C*24|0)>>3]-z)/(v*E);G=(+p[s+(C*24|0)+8>>3]-A)/(w*E);E=(D-B)/x;C=C+1|0;if(E*E+(G*G+F*F)>>0>=y>>>0){u=14;break}}}while(0);do if((u|0)==14){u=0;s=h+(n*24|0)|0;if((f[j>>2]|0)==(t|0)){yta(b,s);H=f[e>>2]|0;break}else{p[t>>3]=+p[s>>3];p[t+8>>3]=+p[h+(n*24|0)+8>>3];p[t+16>>3]=+p[h+(n*24|0)+16>>3];f[i>>2]=t+24;H=o;break}}while(0);n=n+1|0;if(n>>>0>=(((f[g>>2]|0)-H|0)/24|0)>>>0)break;else o=H}}H=f[i>>2]|0;o=f[b>>2]|0;g=(H-o|0)/24|0;n=c+4|0;e=f[n>>2]|0;j=f[c>>2]|0;u=e-j>>3;m=j;j=e;e=o;if(g>>>0<=u>>>0)if(g>>>0>>0?(l=m+(g<<3)|0,(l|0)!=(j|0)):0){f[n>>2]=j+(~((j+-8-l|0)>>>3)<<3);I=e;J=H;K=o}else{I=e;J=H;K=o}else{U$(c,g-u|0);u=f[b>>2]|0;I=u;J=f[i>>2]|0;K=u}if((J|0)==(K|0))return;K=0;J=I;do{d=+zta(a,J+(K*24|0)|0);p[(f[c>>2]|0)+(K<<3)>>3]=d;K=K+1|0;J=f[b>>2]|0}while(K>>>0<(((f[i>>2]|0)-J|0)/24|0)>>>0);return}function yta(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=(d-e|0)/24|0;h=g+1|0;i=e;j=d;if(h>>>0>178956970)ZOa(a);d=a+8|0;k=((f[d>>2]|0)-e|0)/24|0;l=k<<1;m=k>>>0<89478485?(l>>>0>>0?h:l):178956970;do if(m)if(m>>>0>178956970){l=hd(8)|0;LQa(l,349912);f[l>>2]=118288;ld(l|0,20688,857)}else{n=EQa(m*24|0)|0;break}else n=0;while(0);l=n+(g*24|0)|0;h=n+(m*24|0)|0;p[l>>3]=+p[b>>3];p[n+(g*24|0)+8>>3]=+p[b+8>>3];p[n+(g*24|0)+16>>3]=+p[b+16>>3];b=l+24|0;if((j|0)==(i|0))o=l;else{g=j;j=l;while(1){l=g;g=g+-24|0;p[j+-24>>3]=+p[g>>3];p[j+-16>>3]=+p[l+-16>>3];p[j+-8>>3]=+p[l+-8>>3];l=j+-24|0;if((g|0)==(i|0)){o=l;break}else j=l}}f[a>>2]=o;f[c>>2]=b;f[d>>2]=h;if(!e)return;GQa(e);return}function zta(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0;c=f[a+4>>2]|0;d=f[a>>2]|0;e=d;if((c|0)==(d|0)){g=0.0;return +g}h=+p[a+24>>3];i=+p[a+32>>3];j=+p[a+40>>3];k=+p[b>>3];l=+p[b+8>>3];m=+p[b+16>>3];b=f[a+12>>2]|0;a=(c-d|0)/24|0;n=0.0;d=0;while(1){o=+p[e+(d*24|0)+16>>3];q=+U(+o);r=h*q;s=i*q;q=(+p[e+(d*24|0)>>3]-k)/r;t=(+p[e+(d*24|0)+8>>3]-l)/s;u=(o-m)/j;o=n+ +p[b+(d<<3)>>3]*+U(+((q*q+t*t+u*u)*-.5))/+L(+(j+(r+s)));d=d+1|0;if(d>>>0>=a>>>0){g=o;break}else n=o}return +g}function Ata(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=c;e=b;g=d-e|0;h=g>>3;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0<=j-k>>3>>>0){m=a+4|0;n=(f[m>>2]|0)-k>>3;o=h>>>0>n>>>0;p=o?b+(n<<3)|0:c;c=p;n=c-e|0;e=n>>3;if(e|0)EVa(k|0,b|0,n|0)|0;n=l+(e<<3)|0;if(o){o=d-c|0;if((o|0)<=0)return;DVa(f[m>>2]|0,p|0,o|0)|0;f[m>>2]=(f[m>>2]|0)+(o>>>3<<3);return}else{o=f[m>>2]|0;if((o|0)==(n|0))return;f[m>>2]=o+(~((o+-8-n|0)>>>3)<<3);return}}n=k;if(!k)q=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-8-k|0)>>>3)<<3);GQa(n);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;q=0}if(h>>>0>536870911)ZOa(a);j=q>>2;n=q>>3>>>0<268435455?(j>>>0>>0?h:j):536870911;if(n>>>0>536870911)ZOa(a);j=EQa(n<<3)|0;h=a+4|0;f[h>>2]=j;f[a>>2]=j;f[i>>2]=j+(n<<3);if((g|0)<=0)return;DVa(j|0,b|0,g|0)|0;f[h>>2]=j+(g>>>3<<3);return}function Bta(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=(c-b|0)/24|0;e=a+8|0;g=f[e>>2]|0;h=f[a>>2]|0;i=h;if(d>>>0>((g-h|0)/24|0)>>>0){j=h;if(!h)k=g;else{g=a+4|0;l=f[g>>2]|0;if((l|0)!=(i|0))f[g>>2]=l+(~(((l+-24-h|0)>>>0)/24|0)*24|0);GQa(j);f[e>>2]=0;f[g>>2]=0;f[a>>2]=0;k=0}if(d>>>0>178956970)ZOa(a);g=(k|0)/24|0;k=g<<1;j=g>>>0<89478485?(k>>>0>>0?d:k):178956970;if(j>>>0>178956970)ZOa(a);k=EQa(j*24|0)|0;g=a+4|0;f[g>>2]=k;f[a>>2]=k;f[e>>2]=k+(j*24|0);if((b|0)==(c|0))return;else{m=b;n=k}do{p[n>>3]=+p[m>>3];p[n+8>>3]=+p[m+8>>3];p[n+16>>3]=+p[m+16>>3];m=m+24|0;n=n+24|0}while((m|0)!=(c|0));f[g>>2]=n;return}else{n=a+4|0;a=f[n>>2]|0;g=(a-h|0)/24|0;h=d>>>0>g>>>0;d=b+(g*24|0)|0;g=h?d:c;m=a;if((g|0)==(b|0))o=i;else{a=b;b=i;while(1){p[b>>3]=+p[a>>3];p[b+8>>3]=+p[a+8>>3];p[b+16>>3]=+p[a+16>>3];a=a+24|0;i=b+24|0;if((a|0)==(g|0)){o=i;break}else b=i}}if(!h){if((o|0)==(m|0))return;f[n>>2]=m+(~(((m+-24-o|0)>>>0)/24|0)*24|0);return}if((g|0)==(c|0))return;g=d;d=f[n>>2]|0;do{p[d>>3]=+p[g>>3];p[d+8>>3]=+p[g+8>>3];p[d+16>>3]=+p[g+16>>3];g=g+24|0;d=d+24|0}while((g|0)!=(c|0));f[n>>2]=d;return}}function Cta(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(((d-g|0)/24|0)>>>0>=b>>>0){h=b;i=g;do{f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;i=(f[e>>2]|0)+24|0;f[e>>2]=i;h=h+-1|0}while((h|0)!=0);return}h=f[a>>2]|0;i=(g-h|0)/24|0;g=i+b|0;if(g>>>0>178956970)ZOa(a);j=(d-h|0)/24|0;h=j<<1;d=j>>>0<89478485?(h>>>0>>0?g:h):178956970;do if(d)if(d>>>0>178956970){h=hd(8)|0;LQa(h,349912);f[h>>2]=118288;ld(h|0,20688,857)}else{k=EQa(d*24|0)|0;break}else k=0;while(0);h=k+(i*24|0)|0;i=h;g=k+(d*24|0)|0;d=b;b=h;k=i;do{f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;b=k+24|0;k=b;d=d+-1|0}while((d|0)!=0);d=g;g=f[a>>2]|0;b=f[e>>2]|0;if((b|0)==(g|0)){l=i;m=g}else{i=b;b=h;do{h=i;i=i+-24|0;p[b+-24>>3]=+p[i>>3];p[b+-16>>3]=+p[h+-16>>3];p[b+-8>>3]=+p[h+-8>>3];b=b+-24|0}while((i|0)!=(g|0));l=b;m=f[a>>2]|0}f[a>>2]=l;f[e>>2]=k;f[c>>2]=d;if(!m)return;GQa(m);return}function Dta(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,M=0.0,N=0.0,O=0.0;d=a+8|0;e=a+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;g=f[b+4>>2]|0;h=f[b>>2]|0;i=h;if((g|0)==(h|0)){j=0.0;k=0.0;l=0.0;m=0.0;n=0.0;o=0.0;q=m/j;p[a>>3]=q;r=n/l;p[d>>3]=r;s=o/k;p[e>>3]=s;return}t=+p[c>>3];u=+p[c+8>>3];v=+p[b+24>>3];w=+p[b+32>>3];x=+p[b+40>>3];y=+p[c+16>>3]/x;c=f[b+12>>2]|0;b=(g-h|0)/24|0;h=0;z=0.0;A=0.0;B=0.0;C=0.0;D=0.0;E=0.0;do{F=+p[i+(h*24|0)+16>>3];G=+U(+F);H=v*G;I=w*G;G=+p[i+(h*24|0)>>3]/H;J=+p[i+(h*24|0)+8>>3]/I;K=F/x;F=G-t/H;M=J-u/I;N=K-y;O=+p[c+(h<<3)>>3]*+U(+((N*N+(F*F+M*M))*-.5))/+L(+(x+(H+I)));C=C+G*O;D=J*O+D;E=K*O+E;z=z+O/H;B=B+O/I;A=A+O/x;h=h+1|0}while(h>>>0>>0);p[a>>3]=C;p[d>>3]=D;p[e>>3]=E;j=z;k=A;l=B;m=C;n=D;o=E;q=m/j;p[a>>3]=q;r=n/l;p[d>>3]=r;s=o/k;p[e>>3]=s;return}function Eta(a){a=a|0;var b=0,c=0,d=0;LY(a);f[a>>2]=76072;b=a+128|0;c=a+4|0;d=c+124|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=1124007936;b=a+132|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[a+160>>2]=a+136;b=a+168|0;f[a+164>>2]=b;f[a+172>>2]=0;f[b>>2]=0;f[a+176>>2]=1124007936;b=a+180|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[a+208>>2]=a+184;b=a+216|0;f[a+212>>2]=b;f[a+220>>2]=0;f[b>>2]=0;f[a+224>>2]=1124007936;b=a+228|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[a+256>>2]=a+232;b=a+264|0;f[a+260>>2]=b;f[a+268>>2]=0;f[b>>2]=0;f[a+272>>2]=1124007936;b=a+276|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[a+304>>2]=a+280;b=a+312|0;f[a+308>>2]=b;f[a+316>>2]=0;f[b>>2]=0;f[a+320>>2]=1124007936;b=a+324|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[a+352>>2]=a+328;b=a+360|0;f[a+356>>2]=b;f[a+364>>2]=0;f[b>>2]=0;f[a+368>>2]=1124007936;b=a+372|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[a+400>>2]=a+376;b=a+408|0;f[a+404>>2]=b;f[a+412>>2]=0;f[b>>2]=0;nQ(a+416|0);return}function Fta(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;return}function Gta(a,b){a=a|0;b=b|0;f[a>>2]=0;f[a+4>>2]=0;Hta(a,b)|0;return}function Hta(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=EQa(420)|0;Eta(c);d=EQa(16)|0;e=d+4|0;f[e>>2]=1;f[d>>2]=76492;f[d+8>>2]=c;f[e>>2]=(f[e>>2]|0)+1;g=f[a>>2]|0;f[a>>2]=d;h=a+4|0;f[h>>2]=c;if(g|0?(c=g+4|0,i=f[c>>2]|0,f[c>>2]=i+-1,(i|0)==1):0)qg[f[(f[g>>2]|0)+8>>2]&1023](g);g=f[e>>2]|0;f[e>>2]=g+-1;if((g|0)==1)qg[f[(f[d>>2]|0)+8>>2]&1023](d);d=f[h>>2]|0;if(Zf[f[(f[d>>2]|0)+32>>2]&127](d,b)|0){b=f[h>>2]|0;if(!b){j=0;return j|0}j=(Wf[f[(f[b>>2]|0)+20>>2]&255](b)|0)^1;return j|0}b=f[a>>2]|0;if(b|0?(d=b+4|0,g=f[d>>2]|0,f[d>>2]=g+-1,(g|0)==1):0)qg[f[(f[b>>2]|0)+8>>2]&1023](b);f[a>>2]=0;f[h>>2]=0;j=0;return j|0}function Ita(a){a=a|0;GQa(a);return}function Jta(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function Kta(a){a=a|0;var b=0,c=0,d=0;b=f[a>>2]|0;if(b|0?(c=b+4|0,d=f[c>>2]|0,f[c>>2]=d+-1,(d|0)==1):0)qg[f[(f[b>>2]|0)+8>>2]&1023](b);f[a>>2]=0;f[a+4>>2]=0;return}function Lta(a){a=a|0;var b=0,c=0;b=f[a+4>>2]|0;if(!b){c=1;return c|0}c=Wf[f[(f[b>>2]|0)+20>>2]&255](b)|0;return c|0}function Mta(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;g=u;u=u+16|0;h=g;i=c+4|0;j=(f[i>>2]|0)-(f[c>>2]|0)>>4;k=f[a>>2]|0;l=f[a+4>>2]|0;a=(d|0)!=0;if(a?((f[d+4>>2]|0)-(f[d>>2]|0)>>2|0)!=(j|0):0){f[h>>2]=0;f[h+4>>2]=0;m=JV(h,14)|0;n=330751;o=m+14|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,h,330766,327092,1659);KV(h)}q=(e|0)!=0;if(q?((f[e+4>>2]|0)-(f[e>>2]|0)>>3|0)!=(j|0):0){f[h>>2]=0;f[h+4>>2]=0;m=JV(h,14)|0;n=330778;o=m+14|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,h,330766,327092,1663);KV(h)}a:do if(j){h=d+4|0;n=e+4|0;m=f[c>>2]|0;if(!a){o=q^1;r=0;s=0;while(1){t=f[m+(r<<4)>>2]|0;v=(t|0)>0?t:0;w=f[m+(r<<4)+4>>2]|0;x=(w|0)>0?w:0;y=(f[m+(r<<4)+8>>2]|0)+t|0;t=((y|0)<(k|0)?y:k)-v|0;y=(f[m+(r<<4)+12>>2]|0)+w|0;w=((y|0)<(l|0)?y:l)-x|0;y=(t|0)<1|(w|0)<1;z=y?0:w;w=y?0:t;if((w|0)<1|(z|0)<1)A=s;else{f[m+(s<<4)>>2]=y?0:v;f[m+(s<<4)+4>>2]=y?0:x;f[m+(s<<4)+8>>2]=w;f[m+(s<<4)+12>>2]=z;if(!(r>>>0<=s>>>0|o)){z=f[e>>2]|0;w=(f[n>>2]|0)-z>>3;if(w>>>0<=r>>>0){B=25;break}x=z;if(w>>>0<=s>>>0){B=27;break}p[x+(s<<3)>>3]=+p[x+(r<<3)>>3]}A=s+1|0}r=r+1|0;if(r>>>0>=j>>>0){C=A;break a}else s=A}if((B|0)==25)_Oa(e);else if((B|0)==27)_Oa(e)}else{D=0;E=0}while(1){s=f[m+(D<<4)>>2]|0;r=(s|0)>0?s:0;o=f[m+(D<<4)+4>>2]|0;x=(o|0)>0?o:0;w=(f[m+(D<<4)+8>>2]|0)+s|0;s=((w|0)<(k|0)?w:k)-r|0;w=(f[m+(D<<4)+12>>2]|0)+o|0;o=((w|0)<(l|0)?w:l)-x|0;w=(s|0)<1|(o|0)<1;z=w?0:o;o=w?0:s;if((o|0)<1|(z|0)<1)F=E;else{f[m+(E<<4)>>2]=w?0:r;f[m+(E<<4)+4>>2]=w?0:x;f[m+(E<<4)+8>>2]=o;f[m+(E<<4)+12>>2]=z;if(D>>>0>E>>>0){z=f[d>>2]|0;o=(f[h>>2]|0)-z>>2;if(o>>>0<=D>>>0){B=22;break}x=z;if(o>>>0<=E>>>0){B=23;break}f[x+(E<<2)>>2]=f[x+(D<<2)>>2];if(q){x=f[e>>2]|0;o=(f[n>>2]|0)-x>>3;if(o>>>0<=D>>>0){B=25;break}z=x;if(o>>>0<=E>>>0){B=27;break}p[z+(E<<3)>>3]=+p[z+(D<<3)>>3]}}F=E+1|0}D=D+1|0;if(D>>>0>=j>>>0){C=F;break a}else E=F}if((B|0)==22)_Oa(d);else if((B|0)==23)_Oa(d);else if((B|0)==25)_Oa(e);else if((B|0)==27)_Oa(e)}else C=0;while(0);if(C>>>0>=j>>>0){u=g;return}j=f[i>>2]|0;B=f[c>>2]|0;F=j-B>>4;E=B;B=j;if(C>>>0<=F>>>0){if(C>>>0>>0?(j=E+(C<<4)|0,(j|0)!=(B|0)):0)f[i>>2]=B+(~((B+-16-j|0)>>>4)<<4)}else _sa(c,C-F|0);do if(a){F=d+4|0;c=f[F>>2]|0;j=f[d>>2]|0;B=c-j>>2;i=c;if(C>>>0>B>>>0){eK(d,C-B|0);break}if(C>>>0>>0?(B=j+(C<<2)|0,(B|0)!=(i|0)):0)f[F>>2]=i+(~((i+-4-B|0)>>>2)<<2)}while(0);if(!q){u=g;return}q=e+4|0;d=f[q>>2]|0;a=f[e>>2]|0;B=d-a>>3;i=d;if(C>>>0>B>>>0){U$(e,C-B|0);u=g;return}if(C>>>0>=B>>>0){u=g;return}B=a+(C<<3)|0;if((B|0)==(i|0)){u=g;return}f[q>>2]=i+(~((i+-8-B|0)>>>3)<<3);u=g;return}function Nta(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=u;u=u+48|0;l=k+32|0;m=k+24|0;n=k+16|0;o=k+8|0;p=k;yV(l,76504);q=a+4|0;a=f[q>>2]|0;if(!((a|0)!=0?!(Wf[f[(f[a>>2]|0)+20>>2]&255](a)|0):0)){f[m>>2]=0;f[m+4>>2]=0;a=JV(m,8)|0;r=a;b[r>>0]=33;b[r+1>>0]=101;b[r+2>>0]=109;b[r+3>>0]=112;r=a+4|0;b[r>>0]=116;b[r+1>>0]=121;b[r+2>>0]=40;b[r+3>>0]=41;EP(-215,m,328233,327092,1698);KV(m)}m=f[q>>2]|0;q=f[(f[m>>2]|0)+36>>2]|0;f[n>>2]=f[i>>2];f[n+4>>2]=f[i+4>>2];f[o>>2]=f[j>>2];f[o+4>>2]=f[j+4>>2];rh[q&3](m,c,d,e,g,h,n,o);FJ(p,c,-1);Mta(p,d,0,0);if(!(f[l+4>>2]|0)){u=k;return}u=k;return}function Ota(a,c,d,e,g,h,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;g=+g;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;l=u;u=u+48|0;m=l+32|0;n=l+24|0;o=l+16|0;p=l+8|0;q=l;yV(m,76524);r=a+4|0;a=f[r>>2]|0;if(!((a|0)!=0?!(Wf[f[(f[a>>2]|0)+20>>2]&255](a)|0):0)){f[n>>2]=0;f[n+4>>2]=0;a=JV(n,8)|0;s=a;b[s>>0]=33;b[s+1>>0]=101;b[s+2>>0]=109;b[s+3>>0]=112;s=a+4|0;b[s>>0]=116;b[s+1>>0]=121;b[s+2>>0]=40;b[s+3>>0]=41;EP(-215,n,328233,327092,1712);KV(n)}n=f[r>>2]|0;r=f[(f[n>>2]|0)+40>>2]|0;f[o>>2]=f[j>>2];f[o+4>>2]=f[j+4>>2];f[p>>2]=f[k>>2];f[p+4>>2]=f[k+4>>2];Qh[r&7](n,c,d,e,g,h,i,o,p);FJ(q,c,-1);Mta(q,d,e,0);if(!(f[m+4>>2]|0)){u=l;return}u=l;return}function Pta(a,c,d,e,g,h,i,j,k,l,m){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=+h;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;n=u;u=u+48|0;o=n+32|0;p=n+24|0;q=n+16|0;r=n+8|0;s=n;yV(o,76544);t=a+4|0;a=f[t>>2]|0;if(!((a|0)!=0?!(Wf[f[(f[a>>2]|0)+20>>2]&255](a)|0):0)){f[p>>2]=0;f[p+4>>2]=0;a=JV(p,8)|0;v=a;b[v>>0]=33;b[v+1>>0]=101;b[v+2>>0]=109;b[v+3>>0]=112;v=a+4|0;b[v>>0]=116;b[v+1>>0]=121;b[v+2>>0]=40;b[v+3>>0]=41;EP(-215,p,328233,327092,1729);KV(p)}p=f[t>>2]|0;t=f[(f[p>>2]|0)+44>>2]|0;f[q>>2]=f[k>>2];f[q+4>>2]=f[k+4>>2];f[r>>2]=f[l>>2];f[r+4>>2]=f[l+4>>2];bi[t&3](p,c,d,e,g,h,i,j,q,r,m);FJ(s,c,-1);Mta(s,d,e,g);if(!(f[o+4>>2]|0)){u=n;return}u=n;return}function Qta(){G_(807456,331222,170,926,125,143,171);return}function Rta(a){a=a|0;var b=0;if(!a){b=0;return b|0}b=(f[a>>2]&-65536|0)==1112539136&1;return b|0}function Sta(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!a)return;b=f[a>>2]|0;if(!b)return;c=b+4|0;if((f[c>>2]|0)>0){d=b+32|0;e=0;do{g=f[d>>2]|0;h=f[g+(e*24|0)+8>>2]|0;if((f[g+(e*24|0)>>2]|0)>0){g=0;i=h;while(1){fX(f[i+(g*24|0)+4>>2]|0);f[(f[(f[d>>2]|0)+(e*24|0)+8>>2]|0)+(g*24|0)+4>>2]=0;g=g+1|0;j=f[d>>2]|0;k=f[j+(e*24|0)+8>>2]|0;if((g|0)>=(f[j+(e*24|0)>>2]|0)){l=k;break}else i=k}}else l=h;fX(l);f[(f[d>>2]|0)+(e*24|0)+8>>2]=0;e=e+1|0}while((e|0)<(f[c>>2]|0))}c=b+36|0;b=f[c>>2]|0;if(b|0){fX(b);f[c>>2]=0}fX(f[a>>2]|0);f[a>>2]=0;return}function Tta(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0;d=u;u=u+752|0;e=d+352|0;g=d+344|0;h=d+336|0;i=d+328|0;j=d+312|0;k=d+296|0;l=d+280|0;m=d+264|0;o=d+248|0;q=d+232|0;r=d+216|0;s=d+200|0;t=d+184|0;v=d+168|0;w=d+152|0;x=d+136|0;y=d+120|0;z=d+104|0;A=d+88|0;B=d+72|0;C=d+56|0;D=d+40|0;E=d+24|0;F=d+16|0;G=d+8|0;H=d;I=d+496|0;J=d+464|0;K=d+432|0;L=d+400|0;M=d+368|0;N=d+360|0;O=IW(a,c,331375)|0;if(!((O|0)!=0?(f[O>>2]&7|0)==5:0)){f[K>>2]=0;f[K+4>>2]=0;P=JV(K,19)|0;Q=331512;R=P+19|0;do{b[P>>0]=b[Q>>0]|0;P=P+1|0;Q=Q+1|0}while((P|0)<(R|0));EP(-2,K,331532,331312,1790);KV(K)}S=O+8|0;O=f[(f[S>>2]|0)+24>>2]|0;T=Wta(O)|0;U=IW(a,c,331370)|0;if(((U|0)!=0?(f[U>>2]&7|0)==5:0)?(c=U+8|0,V=f[c>>2]|0,(f[V+24>>2]|0)==2):0){W=c;X=V}else{f[K>>2]=0;f[K+4>>2]=0;P=JV(K,34)|0;Q=331554;R=P+34|0;do{b[P>>0]=b[Q>>0]|0;P=P+1|0;Q=Q+1|0}while((P|0)<(R|0));EP(-2,K,331532,331312,1798);KV(K);V=U+8|0;W=V;X=f[V>>2]|0}V=BM(X,0)|0;if((f[V>>2]&7|0)==1?(X=f[V+8>>2]|0,(X|0)>=1):0)Y=X;else{f[K>>2]=0;f[K+4>>2]=0;P=JV(K,49)|0;Q=331589;R=P+49|0;do{b[P>>0]=b[Q>>0]|0;P=P+1|0;Q=Q+1|0}while((P|0)<(R|0));EP(-2,K,331532,331312,1801);KV(K);Y=f[V+8>>2]|0}V=T+8|0;f[V>>2]=Y;Y=BM(f[W>>2]|0,1)|0;if((f[Y>>2]&7|0)==1?(W=f[Y+8>>2]|0,(W|0)>=1):0)Z=W;else{f[K>>2]=0;f[K+4>>2]=0;P=JV(K,50)|0;Q=331639;R=P+50|0;do{b[P>>0]=b[Q>>0]|0;P=P+1|0;Q=Q+1|0}while((P|0)<(R|0));EP(-2,K,331532,331312,1805);KV(K);Z=f[Y+8>>2]|0}Y=T+12|0;f[Y>>2]=Z;EM(f[S>>2]|0,J,0);if((O|0)<=0){u=d;return T|0}S=J+12|0;Z=L+4|0;Q=T+32|0;P=L+4|0;R=L+4|0;W=L+4|0;X=J+20|0;U=T+4|0;c=K+12|0;_=M+4|0;$=K+20|0;aa=M+4|0;ba=L+12|0;ca=N+4|0;da=N+4|0;ea=N+4|0;fa=N+4|0;ga=N+4|0;ha=N+4|0;ia=N+4|0;ja=N+4|0;ka=N+4|0;la=N+4|0;ma=L+20|0;na=N+4|0;oa=N+4|0;pa=M+12|0;qa=N+4|0;ra=N+4|0;sa=N+4|0;ta=N+4|0;ua=M+20|0;va=N+4|0;wa=N+4|0;xa=N+4|0;ya=L+4|0;za=0;do{Aa=f[S>>2]|0;if((f[Aa>>2]&7|0)!=6){f[H>>2]=za;lDa(I,331690,H)|0;f[L>>2]=0;f[ya>>2]=0;Ba=nCa(I)|0;if(Ba|0)DVa(JV(L,Ba)|0,I|0,Ba|0)|0;EP(-2,L,331532,331312,1819);KV(L)}Ba=IW(a,Aa,331391)|0;if(((Ba|0)!=0?(f[Ba>>2]&7|0)==5:0)?(Ca=Ba+8|0,Da=f[(f[Ca>>2]|0)+24>>2]|0,(Da|0)>=1):0){Ea=Ca;Fa=Da}else{f[G>>2]=za;lDa(I,331707,G)|0;f[L>>2]=0;f[Z>>2]=0;Da=nCa(I)|0;if(Da|0)DVa(JV(L,Da)|0,I|0,Da|0)|0;EP(-2,L,331532,331312,1827);KV(L);Da=Ba+8|0;Ea=Da;Fa=f[(f[Da>>2]|0)+24>>2]|0}Da=eX(Fa*24|0)|0;Ba=f[Q>>2]|0;f[Ba+(za*24|0)+8>>2]=Da;Ca=f[(f[Ea>>2]|0)+24>>2]|0;if((Ca|0)>0){Ga=0;do{f[Da+(Ga*24|0)+4>>2]=0;Ga=Ga+1|0;Ha=f[(f[Ea>>2]|0)+24>>2]|0}while((Ga|0)<(Ha|0));Ia=Ha}else Ia=Ca;f[Ba+(za*24|0)>>2]=Ia;EM(f[Ea>>2]|0,K,0);if((f[(f[Ea>>2]|0)+24>>2]|0)>0){Ga=0;do{Da=f[(f[Q>>2]|0)+(za*24|0)+8>>2]|0;Ha=f[c>>2]|0;if((f[Ha>>2]&7|0)==5?(Ja=Ha+8|0,Ka=f[(f[Ja>>2]|0)+24>>2]|0,(Ka|0)>=1):0){La=Ja;Ma=Ka}else{f[F>>2]=za;f[F+4>>2]=Ga;lDa(I,331754,F)|0;f[M>>2]=0;f[_>>2]=0;Ka=nCa(I)|0;if(Ka|0)DVa(JV(M,Ka)|0,I|0,Ka|0)|0;EP(-2,M,331532,331312,1853);KV(M);Ka=Ha+8|0;La=Ka;Ma=f[(f[Ka>>2]|0)+24>>2]|0}Ka=Da+(Ga*24|0)|0;f[Ka>>2]=Ma;Ha=eX(Ma*80|4)|0;Ja=Da+(Ga*24|0)+4|0;f[Ja>>2]=Ha;Na=f[Ka>>2]|0;Oa=Ha+(Na<<6)|0;Ha=Da+(Ga*24|0)+8|0;f[Ha>>2]=Oa;Pa=Oa+(Na<<2)|0;Oa=Da+(Ga*24|0)+12|0;f[Oa>>2]=Pa;Qa=Pa+(Na<<2)|0;Pa=Da+(Ga*24|0)+16|0;f[Pa>>2]=Qa;Ra=Da+(Ga*24|0)+20|0;f[Ra>>2]=Qa+(Na<<2);EM(f[La>>2]|0,L,0);if((f[(f[La>>2]|0)+24>>2]|0)>0){Na=0;Qa=0;while(1){Da=f[ba>>2]|0;if((f[Da>>2]&7|0)!=6){f[E>>2]=Na;f[E+4>>2]=za;f[E+8>>2]=Ga;lDa(I,331809,E)|0;f[N>>2]=0;f[xa>>2]=0;Sa=nCa(I)|0;if(Sa|0)DVa(JV(N,Sa)|0,I|0,Sa|0)|0;EP(-2,N,331532,331312,1881);KV(N)}Sa=IW(a,Da,331423)|0;if(!((Sa|0)!=0?(f[Sa>>2]&7|0)==6:0)){f[D>>2]=za;f[D+4>>2]=Ga;f[D+8>>2]=Na;lDa(I,331862,D)|0;f[N>>2]=0;f[ca>>2]=0;Ta=nCa(I)|0;if(Ta|0)DVa(JV(N,Ta)|0,I|0,Ta|0)|0;EP(-2,N,331532,331312,1888);KV(N)}Ta=IW(a,Sa,331431)|0;do if(Ta){if((f[Ta>>2]&7|0)!=5){Ua=47;break}Va=Ta+8|0;Wa=f[Va>>2]|0;if(((f[Wa+24>>2]|0)+-1|0)>>>0<=2){Xa=Va;Ya=Wa}else Ua=47}else Ua=47;while(0);if((Ua|0)==47){Ua=0;f[C>>2]=za;f[C+4>>2]=Ga;f[C+8>>2]=Na;lDa(I,331924,C)|0;f[N>>2]=0;f[da>>2]=0;Wa=nCa(I)|0;if(Wa|0)DVa(JV(N,Wa)|0,I|0,Wa|0)|0;EP(-2,N,331532,331312,1897);KV(N);Wa=Ta+8|0;Xa=Wa;Ya=f[Wa>>2]|0}EM(Ya,M,0);Wa=f[(f[Xa>>2]|0)+24>>2]|0;if((Wa|0)>0){Va=0;do{Za=f[pa>>2]|0;if((f[Za>>2]&7|0)==5?(_a=Za+8|0,$a=f[_a>>2]|0,(f[$a+24>>2]|0)==5):0){ab=_a;bb=$a}else{f[B>>2]=Va;f[B+4>>2]=za;f[B+8>>2]=Ga;f[B+12>>2]=Na;lDa(I,331989,B)|0;f[N>>2]=0;f[wa>>2]=0;$a=nCa(I)|0;if($a|0)DVa(JV(N,$a)|0,I|0,$a|0)|0;EP(-2,N,331532,331312,1910);KV(N);$a=Za+8|0;ab=$a;bb=f[$a>>2]|0}$a=f[bb+52>>2]|0;do if(!$a)Ua=60;else{if(!(f[$a+12>>2]|0)){Ua=60;break}cb=f[$a+16>>2]|0}while(0);if((Ua|0)==60){Ua=0;cb=BM(f[ab>>2]|0,0)|0}if((f[cb>>2]&7|0)==1?($a=f[cb+8>>2]|0,($a|0)>=0):0)db=$a;else{f[A>>2]=za;f[A+4>>2]=Ga;f[A+8>>2]=Na;f[A+12>>2]=Va;lDa(I,332051,A)|0;f[N>>2]=0;f[qa>>2]=0;$a=nCa(I)|0;if($a|0)DVa(JV(N,$a)|0,I|0,$a|0)|0;EP(-2,N,331532,331312,1918);KV(N);db=f[cb+8>>2]|0}$a=f[ab>>2]|0;Za=f[$a+52>>2]|0;do if(!Za)Ua=69;else{if((f[Za+12>>2]|0)>>>0<=1){Ua=69;break}eb=(f[Za+16>>2]|0)+16|0}while(0);if((Ua|0)==69){Ua=0;eb=BM($a,1)|0}if((f[eb>>2]&7|0)==1?(Za=f[eb+8>>2]|0,(Za|0)>=0):0)fb=Za;else{f[z>>2]=za;f[z+4>>2]=Ga;f[z+8>>2]=Na;f[z+12>>2]=Va;lDa(I,332132,z)|0;f[N>>2]=0;f[ra>>2]=0;Za=nCa(I)|0;if(Za|0)DVa(JV(N,Za)|0,I|0,Za|0)|0;EP(-2,N,331532,331312,1926);KV(N);fb=f[eb+8>>2]|0}Za=f[ab>>2]|0;_a=f[Za+52>>2]|0;do if(!_a)Ua=78;else{if((f[_a+12>>2]|0)>>>0<=2){Ua=78;break}gb=(f[_a+16>>2]|0)+32|0}while(0);if((Ua|0)==78){Ua=0;gb=BM(Za,2)|0}do if((f[gb>>2]&7|0)==1){_a=f[gb+8>>2]|0;if((_a|0)<1){Ua=82;break}if((_a+db|0)<=(f[V>>2]|0))hb=_a;else Ua=82}else Ua=82;while(0);if((Ua|0)==82){Ua=0;f[y>>2]=za;f[y+4>>2]=Ga;f[y+8>>2]=Na;f[y+12>>2]=Va;lDa(I,332213,y)|0;f[N>>2]=0;f[sa>>2]=0;Za=nCa(I)|0;if(Za|0)DVa(JV(N,Za)|0,I|0,Za|0)|0;EP(-2,N,331532,331312,1936);KV(N);hb=f[gb+8>>2]|0}Za=f[ab>>2]|0;_a=f[Za+52>>2]|0;do if(!_a)Ua=88;else{if((f[_a+12>>2]|0)>>>0<=3){Ua=88;break}ib=(f[_a+16>>2]|0)+48|0}while(0);if((Ua|0)==88){Ua=0;ib=BM(Za,3)|0}do if((f[ib>>2]&7|0)==1){_a=f[ib+8>>2]|0;if((_a|0)<1){Ua=92;break}if((_a+fb|0)<=(f[Y>>2]|0))jb=_a;else Ua=92}else Ua=92;while(0);if((Ua|0)==92){Ua=0;f[x>>2]=za;f[x+4>>2]=Ga;f[x+8>>2]=Na;f[x+12>>2]=Va;lDa(I,332328,x)|0;f[N>>2]=0;f[ta>>2]=0;Za=nCa(I)|0;if(Za|0)DVa(JV(N,Za)|0,I|0,Za|0)|0;EP(-2,N,331532,331312,1946);KV(N);jb=f[ib+8>>2]|0}Za=f[ab>>2]|0;_a=f[Za+52>>2]|0;do if(!_a)Ua=98;else{if((f[_a+12>>2]|0)>>>0<=4){Ua=98;break}kb=(f[_a+16>>2]|0)+64|0}while(0);if((Ua|0)==98){Ua=0;kb=BM(Za,4)|0}if((f[kb>>2]&7|0)!=2){f[w>>2]=za;f[w+4>>2]=Ga;f[w+8>>2]=Na;f[w+12>>2]=Va;lDa(I,332446,w)|0;f[N>>2]=0;f[va>>2]=0;_a=nCa(I)|0;if(_a|0)DVa(JV(N,_a)|0,I|0,_a|0)|0;EP(-2,N,331532,331312,1954);KV(N)}_a=f[Ja>>2]|0;n[_a+(Na<<6)+4+(Va*20|0)+16>>2]=+p[kb+8>>3];f[_a+(Na<<6)+4+(Va*20|0)>>2]=db;f[_a+(Na<<6)+4+(Va*20|0)+4>>2]=fb;f[_a+(Na<<6)+4+(Va*20|0)+8>>2]=hb;f[_a+(Na<<6)+4+(Va*20|0)+12>>2]=jb;_a=(f[pa>>2]|0)+16|0;f[pa>>2]=_a;if(_a>>>0>=(f[ua>>2]|0)>>>0)MM(M,1);Va=Va+1|0;lb=f[(f[Xa>>2]|0)+24>>2]|0}while((Va|0)<(lb|0));if((lb|0)<3){mb=lb;Ua=106}}else{mb=Wa;Ua=106}if((Ua|0)==106)while(1){Ua=0;Va=f[Ja>>2]|0;n[Va+(Na<<6)+4+(mb*20|0)+16>>2]=0.0;Ta=Va+(Na<<6)+4+(mb*20|0)|0;f[Ta>>2]=0;f[Ta+4>>2]=0;f[Ta+8>>2]=0;f[Ta+12>>2]=0;if((mb|0)<2){mb=mb+1|0;Ua=106}else break}Wa=IW(a,Sa,331437)|0;if(!((Wa|0)!=0?(f[Wa>>2]&7|0)==1:0)){f[v>>2]=za;f[v+4>>2]=Ga;f[v+8>>2]=Na;lDa(I,332512,v)|0;f[N>>2]=0;f[ea>>2]=0;Ta=nCa(I)|0;if(Ta|0)DVa(JV(N,Ta)|0,I|0,Ta|0)|0;EP(-2,N,331532,331312,1973);KV(N)}f[(f[Ja>>2]|0)+(Na<<6)>>2]=(f[Wa+8>>2]|0)!=0&1;Wa=IW(a,Da,351553)|0;if(!((Wa|0)!=0?(f[Wa>>2]&7|0)==2:0)){f[t>>2]=za;f[t+4>>2]=Ga;f[t+8>>2]=Na;lDa(I,332564,t)|0;f[N>>2]=0;f[fa>>2]=0;Ta=nCa(I)|0;if(Ta|0)DVa(JV(N,Ta)|0,I|0,Ta|0)|0;EP(-2,N,331532,331312,1981);KV(N)}n[(f[Ha>>2]|0)+(Na<<2)>>2]=+p[Wa+8>>3];Wa=IW(a,Da,331444)|0;if(!Wa){Ta=IW(a,Da,331454)|0;if(!Ta){f[r>>2]=za;f[r+4>>2]=Ga;f[r+8>>2]=Na;lDa(I,332690,r)|0;f[N>>2]=0;f[ga>>2]=0;Va=nCa(I)|0;if(Va|0)DVa(JV(N,Va)|0,I|0,Va|0)|0;EP(-2,N,331532,331312,2004);KV(N)}if((f[Ta>>2]&7|0)!=2){f[q>>2]=za;f[q+4>>2]=Ga;f[q+8>>2]=Na;lDa(I,332762,q)|0;f[N>>2]=0;f[ia>>2]=0;Va=nCa(I)|0;if(Va|0)DVa(JV(N,Va)|0,I|0,Va|0)|0;EP(-2,N,331532,331312,2010);KV(N)}if((Qa|0)>(f[Ka>>2]|0)){f[o>>2]=za;f[o+4>>2]=Ga;f[o+8>>2]=Na;lDa(I,332823,o)|0;f[N>>2]=0;f[ha>>2]=0;Va=nCa(I)|0;if(Va|0)DVa(JV(N,Va)|0,I|0,Va|0)|0;EP(-2,N,331532,331312,2017);KV(N)}f[(f[Oa>>2]|0)+(Na<<2)>>2]=0-Qa;n[(f[Ra>>2]|0)+(Qa<<2)>>2]=+p[Ta+8>>3];nb=Qa+1|0}else{do if((f[Wa>>2]&7|0)==1){Ta=f[Wa+8>>2]|0;if((Ta|0)<=(Na|0)){Ua=121;break}if((Ta|0)<(f[(f[La>>2]|0)+24>>2]|0))ob=Ta;else Ua=121}else Ua=121;while(0);if((Ua|0)==121){Ua=0;f[s>>2]=za;f[s+4>>2]=Ga;f[s+8>>2]=Na;lDa(I,332624,s)|0;f[N>>2]=0;f[oa>>2]=0;Sa=nCa(I)|0;if(Sa|0)DVa(JV(N,Sa)|0,I|0,Sa|0)|0;EP(-2,N,331532,331312,1992);KV(N);ob=f[Wa+8>>2]|0}f[(f[Oa>>2]|0)+(Na<<2)>>2]=ob;nb=Qa}Sa=IW(a,Da,331463)|0;if(!Sa){Ta=IW(a,Da,331474)|0;if(!Ta){f[l>>2]=za;f[l+4>>2]=Ga;f[l+8>>2]=Na;lDa(I,332962,l)|0;f[N>>2]=0;f[ja>>2]=0;Va=nCa(I)|0;if(Va|0)DVa(JV(N,Va)|0,I|0,Va|0)|0;EP(-2,N,331532,331312,2042);KV(N)}if((f[Ta>>2]&7|0)!=2){f[k>>2]=za;f[k+4>>2]=Ga;f[k+8>>2]=Na;lDa(I,333036,k)|0;f[N>>2]=0;f[la>>2]=0;Va=nCa(I)|0;if(Va|0)DVa(JV(N,Va)|0,I|0,Va|0)|0;EP(-2,N,331532,331312,2048);KV(N)}if((nb|0)>(f[Ka>>2]|0)){f[j>>2]=za;f[j+4>>2]=Ga;f[j+8>>2]=Na;lDa(I,332823,j)|0;f[N>>2]=0;f[ka>>2]=0;Va=nCa(I)|0;if(Va|0)DVa(JV(N,Va)|0,I|0,Va|0)|0;EP(-2,N,331532,331312,2055);KV(N)}f[(f[Pa>>2]|0)+(Na<<2)>>2]=0-nb;n[(f[Ra>>2]|0)+(nb<<2)>>2]=+p[Ta+8>>3];pb=nb+1|0}else{do if((f[Sa>>2]&7|0)==1){Ta=f[Sa+8>>2]|0;if((Ta|0)<=(Na|0)){Ua=142;break}if((Ta|0)<(f[(f[La>>2]|0)+24>>2]|0))qb=Ta;else Ua=142}else Ua=142;while(0);if((Ua|0)==142){Ua=0;f[m>>2]=za;f[m+4>>2]=Ga;f[m+8>>2]=Na;lDa(I,332895,m)|0;f[N>>2]=0;f[na>>2]=0;Da=nCa(I)|0;if(Da|0)DVa(JV(N,Da)|0,I|0,Da|0)|0;EP(-2,N,331532,331312,2030);KV(N);qb=f[Sa+8>>2]|0}f[(f[Pa>>2]|0)+(Na<<2)>>2]=qb;pb=nb}Da=(f[ba>>2]|0)+16|0;f[ba>>2]=Da;if(Da>>>0>=(f[ma>>2]|0)>>>0)MM(L,1);Na=Na+1|0;if((Na|0)>=(f[(f[La>>2]|0)+24>>2]|0)){rb=pb;break}else Qa=pb}}else rb=0;if((rb|0)!=((f[Ka>>2]|0)+1|0)){f[i>>2]=za;f[i+4>>2]=Ga;lDa(I,333098,i)|0;f[M>>2]=0;f[aa>>2]=0;Qa=nCa(I)|0;if(Qa|0)DVa(JV(M,Qa)|0,I|0,Qa|0)|0;EP(-2,M,331532,331312,2067);KV(M)}Qa=(f[c>>2]|0)+16|0;f[c>>2]=Qa;if(Qa>>>0>=(f[$>>2]|0)>>>0)MM(K,1);Ga=Ga+1|0}while((Ga|0)<(f[(f[Ea>>2]|0)+24>>2]|0))}Ga=IW(a,Aa,331484)|0;if(!((Ga|0)!=0?(f[Ga>>2]&7|0)==2:0)){f[h>>2]=za;lDa(I,333160,h)|0;f[L>>2]=0;f[P>>2]=0;Ba=nCa(I)|0;if(Ba|0)DVa(JV(L,Ba)|0,I|0,Ba|0)|0;EP(-2,L,331532,331312,2077);KV(L)}n[(f[Q>>2]|0)+(za*24|0)+4>>2]=+p[Ga+8>>3];Ga=IW(a,Aa,331500)|0;if((((Ga|0)!=0?(f[Ga>>2]&7|0)==1:0)?(Ba=f[Ga+8>>2]|0,(Ba|0)>=-1):0)?(Ba|0)<(f[U>>2]|0):0)sb=Ba;else{f[g>>2]=za;lDa(I,333208,g)|0;f[L>>2]=0;f[R>>2]=0;Ba=nCa(I)|0;if(Ba|0)DVa(JV(L,Ba)|0,I|0,Ba|0)|0;EP(-2,L,331532,331312,2089);KV(L);sb=f[Ga+8>>2]|0}Ga=IW(a,Aa,331507)|0;if((((Ga|0)!=0?(f[Ga>>2]&7|0)==1:0)?(Ba=f[Ga+8>>2]|0,(Ba|0)>=-1):0)?(Ba|0)<(f[U>>2]|0):0)tb=Ba;else{f[e>>2]=za;lDa(I,333250,e)|0;f[L>>2]=0;f[W>>2]=0;Ba=nCa(I)|0;if(Ba|0)DVa(JV(L,Ba)|0,I|0,Ba|0)|0;EP(-2,L,331532,331312,2097);KV(L);tb=f[Ga+8>>2]|0}Ga=f[Q>>2]|0;f[Ga+(za*24|0)+20>>2]=sb;f[Ga+(za*24|0)+12>>2]=tb;f[Ga+(za*24|0)+16>>2]=-1;if((sb|0)!=-1?(Ba=Ga+(sb*24|0)+16|0,(f[Ba>>2]|0)==-1):0)f[Ba>>2]=za;Ba=(f[S>>2]|0)+16|0;f[S>>2]=Ba;if(Ba>>>0>=(f[X>>2]|0)>>>0)MM(J,1);za=za+1|0}while((za|0)<(O|0));u=d;return T|0}function Uta(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;g=u;u=u+368|0;h=g+104|0;i=g+16|0;j=g+8|0;k=g;l=g+112|0;m=g+24|0;o=g+96|0;p=g+88|0;q=g+80|0;r=g+72|0;s=g+64|0;t=g+56|0;v=g+48|0;w=g+40|0;x=g+32|0;y=e;e=f[y+4>>2]|0;z=m;f[z>>2]=f[y>>2];f[z+4>>2]=e;f[h>>2]=f[m>>2];f[h+4>>2]=f[m+4>>2];PW(a,c,6,331222,h);f[o>>2]=0;f[o+4>>2]=0;f[h>>2]=f[o>>2];f[h+4>>2]=f[o+4>>2];PW(a,331370,13,0,h);RW(a,0,f[d+8>>2]|0);RW(a,0,f[d+12>>2]|0);QW(a);f[p>>2]=0;f[p+4>>2]=0;f[h>>2]=f[p>>2];f[h+4>>2]=f[p+4>>2];PW(a,331375,5,0,h);p=d+4|0;if((f[p>>2]|0)<=0){QW(a);QW(a);u=g;return}o=q+4|0;c=r+4|0;m=d+32|0;d=s+4|0;e=t+4|0;z=v+4|0;y=w+4|0;A=x+4|0;B=0;do{f[q>>2]=0;f[o>>2]=0;f[h>>2]=f[q>>2];f[h+4>>2]=f[q+4>>2];PW(a,0,6,0,h);f[k>>2]=B;lDa(l,331382,k)|0;UW(a,l,1);f[r>>2]=0;f[c>>2]=0;f[h>>2]=f[r>>2];f[h+4>>2]=f[r+4>>2];PW(a,331391,5,0,h);C=f[m>>2]|0;if((f[C+(B*24|0)>>2]|0)>0){D=0;E=C;do{C=f[E+(B*24|0)+8>>2]|0;f[s>>2]=0;f[d>>2]=0;f[h>>2]=f[s>>2];f[h+4>>2]=f[s+4>>2];PW(a,0,5,0,h);f[j>>2]=D;lDa(l,331397,j)|0;UW(a,l,1);F=C+(D*24|0)|0;if((f[F>>2]|0)>0){G=C+(D*24|0)+4|0;H=C+(D*24|0)+8|0;I=C+(D*24|0)+12|0;J=C+(D*24|0)+16|0;K=C+(D*24|0)+20|0;C=0;do{L=f[G>>2]|0;f[t>>2]=0;f[e>>2]=0;f[h>>2]=f[t>>2];f[h+4>>2]=f[t+4>>2];PW(a,0,6,0,h);if(!C){M=l;N=331413;O=M+10|0;do{b[M>>0]=b[N>>0]|0;M=M+1|0;N=N+1|0}while((M|0)<(O|0))}else{f[i>>2]=C;lDa(l,331405,i)|0}UW(a,l,1);f[v>>2]=0;f[z>>2]=0;f[h>>2]=f[v>>2];f[h+4>>2]=f[v+4>>2];PW(a,331423,6,0,h);f[w>>2]=0;f[y>>2]=0;f[h>>2]=f[w>>2];f[h+4>>2]=f[w+4>>2];PW(a,331431,5,0,h);N=L+(C<<6)+12|0;if((f[N>>2]|0?(f[x>>2]=0,f[A>>2]=0,f[h>>2]=f[x>>2],f[h+4>>2]=f[x+4>>2],PW(a,0,13,0,h),RW(a,0,f[L+(C<<6)+4>>2]|0),RW(a,0,f[L+(C<<6)+8>>2]|0),RW(a,0,f[N>>2]|0),RW(a,0,f[L+(C<<6)+16>>2]|0),SW(a,0,+n[L+(C<<6)+20>>2]),QW(a),N=L+(C<<6)+32|0,f[N>>2]|0):0)?(f[x>>2]=0,f[A>>2]=0,f[h>>2]=f[x>>2],f[h+4>>2]=f[x+4>>2],PW(a,0,13,0,h),RW(a,0,f[L+(C<<6)+24>>2]|0),RW(a,0,f[L+(C<<6)+28>>2]|0),RW(a,0,f[N>>2]|0),RW(a,0,f[L+(C<<6)+36>>2]|0),SW(a,0,+n[L+(C<<6)+40>>2]),QW(a),N=L+(C<<6)+52|0,f[N>>2]|0):0){f[x>>2]=0;f[A>>2]=0;f[h>>2]=f[x>>2];f[h+4>>2]=f[x+4>>2];PW(a,0,13,0,h);RW(a,0,f[L+(C<<6)+44>>2]|0);RW(a,0,f[L+(C<<6)+48>>2]|0);RW(a,0,f[N>>2]|0);RW(a,0,f[L+(C<<6)+56>>2]|0);SW(a,0,+n[L+(C<<6)+60>>2]);QW(a)}QW(a);RW(a,331437,f[L+(C<<6)>>2]|0);QW(a);SW(a,351553,+n[(f[H>>2]|0)+(C<<2)>>2]);N=f[(f[I>>2]|0)+(C<<2)>>2]|0;if((N|0)>0)RW(a,331444,N);else SW(a,331454,+n[(f[K>>2]|0)+(0-N<<2)>>2]);N=f[(f[J>>2]|0)+(C<<2)>>2]|0;if((N|0)>0)RW(a,331463,N);else SW(a,331474,+n[(f[K>>2]|0)+(0-N<<2)>>2]);QW(a);C=C+1|0}while((C|0)<(f[F>>2]|0))}QW(a);D=D+1|0;E=f[m>>2]|0}while((D|0)<(f[E+(B*24|0)>>2]|0))}QW(a);SW(a,331484,+n[(f[m>>2]|0)+(B*24|0)+4>>2]);RW(a,331500,f[(f[m>>2]|0)+(B*24|0)+20>>2]|0);RW(a,331507,f[(f[m>>2]|0)+(B*24|0)+12>>2]|0);QW(a);B=B+1|0}while((B|0)<(f[p>>2]|0));QW(a);QW(a);u=g;return}function Vta(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;b=f[a+4>>2]|0;c=Wta(b)|0;d=a+8|0;e=f[d+4>>2]|0;g=c+8|0;f[g>>2]=f[d>>2];f[g+4>>2]=e;if((b|0)<=0)return c|0;e=a+32|0;a=c+32|0;g=0;d=f[a>>2]|0;while(1){h=f[e>>2]|0;f[d+(g*24|0)+20>>2]=f[h+(g*24|0)+20>>2];f[d+(g*24|0)+12>>2]=f[h+(g*24|0)+12>>2];f[d+(g*24|0)+16>>2]=f[h+(g*24|0)+16>>2];f[d+(g*24|0)+4>>2]=f[h+(g*24|0)+4>>2];f[d+(g*24|0)>>2]=0;i=eX((f[h+(g*24|0)>>2]|0)*24|0)|0;h=f[a>>2]|0;f[h+(g*24|0)+8>>2]=i;j=f[e>>2]|0;k=f[j+(g*24|0)>>2]|0;f[h+(g*24|0)>>2]=k;l=(k|0)>0;a:do if(l){f[i+4>>2]=0;if((k|0)!=1){m=1;do{f[i+(m*24|0)+4>>2]=0;m=m+1|0}while((m|0)<(k|0));if(!l){n=h;break}else{o=0;p=j;q=i}}else{o=0;p=j;q=i}while(1){m=f[p+(g*24|0)+8>>2]|0;r=f[m+(o*24|0)>>2]|0;s=q+(o*24|0)|0;f[s>>2]=r;t=eX(r*80|4)|0;r=q+(o*24|0)+4|0;f[r>>2]=t;u=f[s>>2]|0;v=t+(u<<6)|0;w=q+(o*24|0)+8|0;f[w>>2]=v;x=v+(u<<2)|0;v=q+(o*24|0)+12|0;f[v>>2]=x;y=x+(u<<2)|0;x=q+(o*24|0)+16|0;f[x>>2]=y;z=y+(u<<2)|0;y=q+(o*24|0)+20|0;f[y>>2]=z;b:do if((u|0)>0){A=m+(o*24|0)+4|0;B=m+(o*24|0)+8|0;C=m+(o*24|0)+12|0;D=m+(o*24|0)+16|0;E=m+(o*24|0)+20|0;F=0;G=t;while(1){H=G+(F<<6)|0;I=(f[A>>2]|0)+(F<<6)|0;J=H+64|0;do{f[H>>2]=f[I>>2];H=H+4|0;I=I+4|0}while((H|0)<(J|0));f[(f[w>>2]|0)+(F<<2)>>2]=f[(f[B>>2]|0)+(F<<2)>>2];f[(f[v>>2]|0)+(F<<2)>>2]=f[(f[C>>2]|0)+(F<<2)>>2];f[(f[x>>2]|0)+(F<<2)>>2]=f[(f[D>>2]|0)+(F<<2)>>2];I=f[E>>2]|0;H=f[y>>2]|0;f[H+(F<<2)>>2]=f[I+(F<<2)>>2];J=F+1|0;K=f[s>>2]|0;if((J|0)>=(K|0)){L=K;M=I;N=H;break b}F=J;G=f[r>>2]|0}}else{L=u;M=f[m+(o*24|0)+20>>2]|0;N=z}while(0);f[N+(L<<2)>>2]=f[M+(L<<2)>>2];z=o+1|0;m=f[a>>2]|0;if((z|0)>=(f[m+(g*24|0)>>2]|0)){n=m;break a}o=z;p=f[e>>2]|0;q=f[m+(g*24|0)+8>>2]|0}}else n=h;while(0);g=g+1|0;if((g|0)==(b|0))break;else d=n}return c|0}function Wta(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=u;u=u+16|0;d=c;e=(a*24|0)+40|0;if((a|0)<1){f[d>>2]=0;f[d+4>>2]=0;g=JV(d,35)|0;h=331245;i=g+35|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));EP(-211,d,331281,331312,114);KV(d)}d=eX(e)|0;FVa(d|0,0,e|0)|0;f[d+32>>2]=d+40;f[d>>2]=1112539136;f[d+4>>2]=a;u=c;return d|0}function Xta(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=+g;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0.0,ka=0.0,la=0,ma=0.0,na=0.0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0.0,wa=0.0,xa=0.0,ya=0,za=0;h=u;u=u+144|0;i=h+112|0;j=h+84|0;k=h+56|0;l=h+52|0;m=h+48|0;o=h;f[l>>2]=0;f[m>>2]=0;q=(a|0)!=0;if(!(q?(f[a>>2]&-65536|0)==1112539136:0)){r=q?-5:-27;f[o>>2]=0;f[o+4>>2]=0;s=JV(o,26)|0;t=333290;v=s+26|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(r,o,333317,331312,411);KV(o)}if(g<=0.0){f[o>>2]=0;f[o+4>>2]=0;s=JV(o,22)|0;t=333353;v=s+22|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-211,o,333317,331312,414);KV(o)}r=XV(c,i,l,0)|0;i=XV(d,j,m,0)|0;if(f[m>>2]|f[l>>2]|0){f[o>>2]=0;f[o+4>>2]=0;s=JV(o,20)|0;t=333376;v=s+20|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-24,o,333317,331312,420);KV(o)}l=r+20|0;if(!((f[l>>2]|0)==(f[i+20>>2]|0)?(f[r+24>>2]|0)==(f[i+24>>2]|0):0)){f[o>>2]=0;f[o+4>>2]=0;s=JV(o,43)|0;t=333397;v=s+43|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-209,o,333317,331312,423);KV(o)}if(!((f[i>>2]&4095|0)==6?(f[r>>2]&4095|0)==4:0)){f[o>>2]=0;f[o+4>>2]=0;s=JV(o,77)|0;t=333441;v=s+77|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-210,o,333317,331312,428);KV(o)}j=a+36|0;d=f[j>>2]|0;if(!d){Yta(a);w=f[j>>2]|0}else w=d;if(!(f[w+4>>2]|0)){x=e;y=r+4|0}else{d=XV(e,k,m,0)|0;if((f[d>>2]&4095|0)!=4){f[o>>2]=0;f[o+4>>2]=0;s=JV(o,77)|0;t=333441;v=s+77|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-210,o,333317,331312,441);KV(o)}m=r+4|0;if((f[m>>2]|0)!=(f[d+4>>2]|0)){f[o>>2]=0;f[o+4>>2]=0;s=JV(o,62)|0;t=333519;v=s+62|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-209,o,333317,331312,445);KV(o)}if(!((f[l>>2]|0)==(f[d+20>>2]|0)?(f[r+24>>2]|0)==(f[d+24>>2]|0):0)){f[o>>2]=0;f[o+4>>2]=0;s=JV(o,43)|0;t=333397;v=s+43|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-209,o,333317,331312,448);KV(o)}t=w+72|0;f[t>>2]=f[d>>2];f[t+4>>2]=f[d+4>>2];f[t+8>>2]=f[d+8>>2];f[t+12>>2]=f[d+12>>2];f[t+16>>2]=f[d+16>>2];f[t+20>>2]=f[d+20>>2];f[t+24>>2]=f[d+24>>2];x=d;y=m}p[a+24>>3]=g;m=a+8|0;d=AEa(+(f[m>>2]|0)*g)|0;f[a+16>>2]=d;d=a+12|0;t=AEa(+(f[d>>2]|0)*g)|0;f[a+20>>2]=t;t=w+16|0;f[t>>2]=f[r>>2];f[t+4>>2]=f[r+4>>2];f[t+8>>2]=f[r+8>>2];f[t+12>>2]=f[r+12>>2];f[t+16>>2]=f[r+16>>2];f[t+20>>2]=f[r+20>>2];f[t+24>>2]=f[r+24>>2];t=w+44|0;f[t>>2]=f[i>>2];f[t+4>>2]=f[i+4>>2];f[t+8>>2]=f[i+8>>2];f[t+12>>2]=f[i+12>>2];f[t+16>>2]=f[i+16>>2];f[t+20>>2]=f[i+20>>2];f[t+24>>2]=f[i+24>>2];t=AEa(g)|0;l=AEa(+((f[m>>2]|0)+-2|0)*g)|0;m=AEa(+((f[d>>2]|0)+-2|0)*g)|0;z=1.0/+(X(m,l)|0);p[w+8>>3]=z;d=r+16|0;r=f[y>>2]|0;k=X(r,t)|0;e=t<<2;f[w+120>>2]=(f[d>>2]|0)+k+e;j=l+t|0;l=j<<2;f[w+124>>2]=(f[d>>2]|0)+k+l;k=m+t|0;m=X(r,k)|0;f[w+128>>2]=(f[d>>2]|0)+m+e;f[w+132>>2]=(f[d>>2]|0)+m+l;l=i+16|0;m=f[i+4>>2]|0;i=X(m,t)|0;e=t<<3;f[w+104>>2]=(f[l>>2]|0)+i+e;t=j<<3;f[w+108>>2]=(f[l>>2]|0)+i+t;i=X(m,k)|0;f[w+112>>2]=(f[l>>2]|0)+i+e;f[w+116>>2]=(f[l>>2]|0)+i+t;t=f[a+4>>2]|0;if((t|0)<=0){u=h;return}i=w+100|0;w=a+32|0;a=o+4|0;l=o+8|0;e=o+12|0;k=x+16|0;m=x+4|0;x=o+16|0;j=o+24|0;r=o+28|0;c=o+20|0;q=o+32|0;A=o+40|0;B=o+44|0;C=o+36|0;D=0;E=f[i>>2]|0;while(1){if((f[E+(D*28|0)>>2]|0)>0){F=0;G=E;while(1){H=f[G+(D*28|0)+8>>2]|0;if((f[H+(F*12|0)>>2]|0)>0){I=0;J=H;H=G;while(1){K=f[(f[(f[w>>2]|0)+(D*24|0)+8>>2]|0)+(F*24|0)+4>>2]|0;L=f[J+(F*12|0)+4>>2]|0;s=o;v=s+48|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(v|0));if(f[L+(I*72|0)>>2]|0){M=K+(I<<6)+4|0;f[o>>2]=f[M>>2];f[o+4>>2]=f[M+4>>2];f[o+8>>2]=f[M+8>>2];f[o+12>>2]=f[M+12>>2];M=f[l>>2]|0;N=M+-1|0;O=f[o>>2]|0;P=f[e>>2]|0;Q=P+-1|0;R=f[a>>2]|0;if(f[L+(I*72|0)+20>>2]|0){S=K+(I<<6)+24|0;f[x>>2]=f[S>>2];f[x+4>>2]=f[S+4>>2];f[x+8>>2]=f[S+8>>2];f[x+12>>2]=f[S+12>>2];S=(f[j>>2]|0)+-1|0;T=(N>>>0>=S>>>0?S^N:0)^N;S=(f[x>>2]|0)-O+-1|0;U=(T>>>0>=S>>>0?T^S:0)^T;T=(f[r>>2]|0)+-1|0;S=(Q>>>0>=T>>>0?T^Q:0)^Q;T=(f[c>>2]|0)-R+-1|0;V=(S>>>0>=T>>>0?S^T:0)^S;if(!(f[L+(I*72|0)+40>>2]|0)){W=V;Y=U;Z=2;_=M;$=P;aa=O;ba=R}else{S=K+(I<<6)+44|0;f[q>>2]=f[S>>2];f[q+4>>2]=f[S+4>>2];f[q+8>>2]=f[S+8>>2];f[q+12>>2]=f[S+12>>2];S=(f[A>>2]|0)+-1|0;T=(U>>>0>=S>>>0?S^U:0)^U;U=(f[q>>2]|0)-O+-1|0;S=(f[B>>2]|0)+-1|0;ca=(V>>>0>=S>>>0?S^V:0)^V;V=(f[C>>2]|0)-R+-1|0;W=(ca>>>0>=V>>>0?ca^V:0)^ca;Y=(T>>>0>=U>>>0?T^U:0)^T;Z=3;_=M;$=P;aa=O;ba=R}}else{W=Q;Y=N;Z=1;_=M;$=P;aa=O;ba=R}}else{W=-1;Y=-1;Z=0;_=0;$=0;aa=0;ba=0}R=Y+1|0;O=W+1|0;P=(_|0)/(R|0)|0;M=($|0)/(O|0)|0;if((P|0)<1){N=(AEa(+(_|0)*g)|0)/(P|0)|0;da=AEa(+(aa|0)*g)|0;ea=1;fa=N}else{da=0;ea=0;fa=0}if((M|0)<1){N=(AEa(+($|0)*g)|0)/(M|0)|0;ga=AEa(+(ba|0)*g)|0;ha=1;ia=N}else{ga=0;ha=0;ia=0}if(!Z){ja=0.0;ka=0.0;la=H}else{N=(ea|0)==0;M=(ha|0)==0;P=K+(I<<6)|0;ma=0.0;na=0.0;Q=0;T=aa;while(1){if(N){U=AEa(+(T|0)*g)|0;oa=AEa(+(f[o+(Q<<4)+8>>2]|0)*g)|0;pa=U}else{U=((X(T-aa|0,fa)|0)/(R|0)|0)+da|0;oa=(X(f[o+(Q<<4)+8>>2]|0,fa)|0)/(R|0)|0;pa=U}U=f[o+(Q<<4)+4>>2]|0;if(M){ca=AEa(+(U|0)*g)|0;qa=AEa(+(f[o+(Q<<4)+12>>2]|0)*g)|0;ra=ca}else{ca=((X(U-ba|0,ia)|0)/(O|0)|0)+ga|0;qa=(X(f[o+(Q<<4)+12>>2]|0,ia)|0)/(O|0)|0;ra=ca}ca=(f[P>>2]|0)!=0;if(ca){U=f[m>>2]|0;V=ra+oa|0;S=oa+pa|0;sa=(f[k>>2]|0)+(X(U,V)|0)+(S<<2)|0;f[L+(I*72|0)+(Q*20|0)+8>>2]=sa;sa=(f[k>>2]|0)+(X(U,V+qa|0)|0)+(S-qa<<2)|0;f[L+(I*72|0)+(Q*20|0)+12>>2]=sa;sa=(f[k>>2]|0)+(X(U,ra)|0)+(pa<<2)|0;f[L+(I*72|0)+(Q*20|0)>>2]=sa;ta=(f[k>>2]|0)+(X(U,qa+ra|0)|0)+(pa-qa<<2)|0;ua=L+(I*72|0)+(Q*20|0)+4|0}else{U=f[y>>2]|0;sa=X(U,ra)|0;S=pa<<2;f[L+(I*72|0)+(Q*20|0)>>2]=(f[d>>2]|0)+sa+S;V=oa+pa<<2;f[L+(I*72|0)+(Q*20|0)+4>>2]=(f[d>>2]|0)+sa+V;sa=X(U,qa+ra|0)|0;f[L+(I*72|0)+(Q*20|0)+8>>2]=(f[d>>2]|0)+sa+S;ta=(f[d>>2]|0)+sa+V|0;ua=L+(I*72|0)+(Q*20|0)+12|0}f[ua>>2]=ta;va=z*(ca?.5:1.0)*+n[K+(I<<6)+4+(Q*20|0)+16>>2];n[L+(I*72|0)+(Q*20|0)+16>>2]=va;if(!Q){wa=+(X(qa,oa)|0);xa=na}else{wa=ma;xa=na+ +(oa|0)*va*+(qa|0)}ca=Q+1|0;if((ca|0)==(Z|0))break;ma=wa;na=xa;Q=ca;T=f[o+(ca<<4)>>2]|0}ja=wa;ka=xa;la=f[i>>2]|0}n[L+(I*72|0)+16>>2]=-ka/ja;I=I+1|0;J=f[la+(D*28|0)+8>>2]|0;if((I|0)>=(f[J+(F*12|0)>>2]|0)){ya=la;break}else H=la}}else ya=G;F=F+1|0;if((F|0)>=(f[ya+(D*28|0)>>2]|0)){za=ya;break}else G=ya}}else za=E;D=D+1|0;if((D|0)>=(t|0))break;else E=za}u=h;return}function Yta(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;c=u;u=u+1072|0;d=c+40|0;e=c+24|0;g=c+8|0;h=c;i=c+64|0;j=c+56|0;k=(a|0)!=0;if(!(k?(f[a>>2]&-65536|0)==1112539136:0)){l=k?-5:-27;f[j>>2]=0;f[j+4>>2]=0;m=JV(j,26)|0;o=333290;p=m+26|0;do{b[m>>0]=b[o>>0]|0;m=m+1|0;o=o+1|0}while((m|0)<(p|0));EP(l,j,333582,331312,174);KV(j)}l=a+36|0;if(f[l>>2]|0){f[j>>2]=0;f[j+4>>2]=0;m=JV(j,36)|0;o=333616;p=m+36|0;do{b[m>>0]=b[o>>0]|0;m=m+1|0;o=o+1|0}while((m|0)<(p|0));EP(-2,j,333582,331312,177);KV(j)}k=a+32|0;if(!(f[k>>2]|0)){f[j>>2]=0;f[j+4>>2]=0;EP(-27,j,333582,331312,180);KV(j)}q=a+4|0;if((f[q>>2]|0)<1){f[j>>2]=0;f[j+4>>2]=0;m=JV(j,33)|0;o=333653;p=m+33|0;do{b[m>>0]=b[o>>0]|0;m=m+1|0;o=o+1|0}while((m|0)<(p|0));EP(-211,j,333582,331312,183);KV(j);o=f[q>>2]|0;r=a+8|0;if((o|0)>0){s=f[r>>2]|0;t=f[r+4>>2]|0;v=11}else{w=0;x=0;y=0;z=o}}else{o=a+8|0;s=f[o>>2]|0;t=f[o+4>>2]|0;v=11}if((v|0)==11){o=j+4|0;a=j+4|0;r=0;A=0;B=0;C=0;while(1){D=f[k>>2]|0;E=D+(C*24|0)|0;F=D+(C*24|0)+8|0;if((f[F>>2]|0)!=0?(D=f[E>>2]|0,(D|0)>=1):0){G=E;H=D+r|0;v=18}else{f[h>>2]=C;lDa(i,333687,h)|0;f[j>>2]=0;f[o>>2]=0;D=nCa(i)|0;if(D|0)DVa(JV(j,D)|0,i|0,D|0)|0;EP(-2,j,333582,331312,198);KV(j);D=f[E>>2]|0;I=D+r|0;if((D|0)>0){G=E;H=I;v=18}else{J=A;L=B;M=I}}if((v|0)==18){v=0;I=0;E=A;D=B;while(1){N=f[F>>2]|0;O=N+(I*24|0)|0;P=f[O>>2]|0;Q=P+E|0;if((P|0)>0){P=N+(I*24|0)+4|0;N=0;R=D;while(1){S=f[P>>2]|0;T=f[S+(N<<6)+12>>2]|0;a:do if(!T){U=R;V=S}else{W=f[S+(N<<6)+4>>2]|0;X=f[S+(N<<6)+8>>2]|0;Y=f[S+(N<<6)+16>>2]|0;Z=(f[S+(N<<6)>>2]|0)!=0;_=R|Z;do if(!((W+T|0)>(s|0)|(X|T|Y|0)<0)){if(!Z)if((W|0)<0|(Y+X|0)>(t|0))break;else{U=_;V=S;break a}if((W|0)>=(Y|0)?(X+T+Y|0)<=(t|0):0){U=_;V=S;break a}}while(0);f[g>>2]=0;f[g+4>>2]=I;f[g+8>>2]=C;lDa(i,333785,g)|0;f[j>>2]=0;f[a>>2]=0;Y=nCa(i)|0;if(Y|0)DVa(JV(j,Y)|0,i|0,Y|0)|0;EP(-27,j,333582,331312,230);KV(j);U=_;V=f[P>>2]|0}while(0);S=f[V+(N<<6)+32>>2]|0;b:do if(!S){$=U;aa=V}else{T=f[V+(N<<6)+24>>2]|0;Y=f[V+(N<<6)+28>>2]|0;X=f[V+(N<<6)+36>>2]|0;W=(f[V+(N<<6)>>2]|0)!=0;Z=U|W;do if(!((T+S|0)>(s|0)|(Y|S|X|0)<0)){if(!W)if((T|0)<0|(X+Y|0)>(t|0))break;else{$=Z;aa=V;break b}if((T|0)>=(X|0)?(Y+S+X|0)<=(t|0):0){$=Z;aa=V;break b}}while(0);f[e>>2]=1;f[e+4>>2]=I;f[e+8>>2]=C;lDa(i,333785,e)|0;f[j>>2]=0;f[a>>2]=0;X=nCa(i)|0;if(X|0)DVa(JV(j,X)|0,i|0,X|0)|0;EP(-27,j,333582,331312,230);KV(j);$=Z;aa=f[P>>2]|0}while(0);S=f[aa+(N<<6)+52>>2]|0;c:do if(!S)ba=$;else{X=f[aa+(N<<6)+44>>2]|0;Y=f[aa+(N<<6)+48>>2]|0;T=f[aa+(N<<6)+56>>2]|0;W=(f[aa+(N<<6)>>2]|0)!=0;_=$|W;do if(!((X+S|0)>(s|0)|(Y|S|T|0)<0)){if(!W)if((X|0)<0|(T+Y|0)>(t|0))break;else{ba=_;break c}if((X|0)>=(T|0)?(Y+S+T|0)<=(t|0):0){ba=_;break c}}while(0);f[d>>2]=2;f[d+4>>2]=I;f[d+8>>2]=C;lDa(i,333785,d)|0;f[j>>2]=0;f[a>>2]=0;T=nCa(i)|0;if(T|0)DVa(JV(j,T)|0,i|0,T|0)|0;EP(-27,j,333582,331312,230);KV(j);ba=_}while(0);N=N+1|0;if((N|0)>=(f[O>>2]|0)){ca=ba;break}else R=ba}}else ca=D;I=I+1|0;if((I|0)>=(f[G>>2]|0)){J=Q;L=ca;M=H;break}else{E=Q;D=ca}}}C=C+1|0;D=f[q>>2]|0;if((C|0)>=(D|0)){w=M;x=J;y=L;z=D;break}else{r=M;A=J;B=L}}}L=eX((x*72|0)+144+(w*12|0)+(w+x<<2)+(z*28|0)|0)|0;FVa(L+8|0,0,136)|0;z=f[q>>2]|0;f[L>>2]=z;x=L+144|0;B=L+100|0;f[B>>2]=x;J=x+(z*28|0)|0;A=L+141|0;b[A>>0]=1;f[L+4>>2]=y&1;y=L+140|0;b[y>>0]=0;if((z|0)<=0){f[l>>2]=L;fX(0);fX(0);fX(0);fX(0);fX(0);fX(0);u=c;return}M=J;r=J+(w*12|0)|0;w=0;J=x;x=z;while(1){z=f[k>>2]|0;C=z+(w*24|0)|0;ca=f[C>>2]|0;f[J+(w*28|0)>>2]=ca;n[J+(w*28|0)+4>>2]=+n[z+(w*24|0)+4>>2]+-9.999999747378752e-05;H=J+(w*28|0)+8|0;f[H>>2]=M;G=J+(w*28|0)+12|0;f[G>>2]=1;ba=M+(ca*12|0)|0;j=f[z+(w*24|0)+20>>2]|0;f[J+(w*28|0)+24>>2]=(j|0)==-1?0:J+(j*28|0)|0;j=f[z+(w*24|0)+12>>2]|0;i=(j|0)==-1?0:J+(j*28|0)|0;f[J+(w*28|0)+16>>2]=i;j=f[z+(w*24|0)+16>>2]|0;f[J+(w*28|0)+20>>2]=(j|0)==-1?0:J+(j*28|0)|0;b[y>>0]=b[y>>0]|(i|0)!=0;if((ca|0)>0){ca=z+(w*24|0)+8|0;z=0;i=r;j=M;while(1){a=f[ca>>2]|0;d=f[a+(z*24|0)>>2]|0;t=i+(d*72|0)|0;f[j+(z*12|0)>>2]=d;s=j+(z*12|0)+4|0;f[s>>2]=i;f[j+(z*12|0)+8>>2]=t;d:do if((d|0)>0){$=a+(z*24|0)+4|0;aa=a+(z*24|0)+8|0;e=a+(z*24|0)+12|0;V=a+(z*24|0)+16|0;U=0;g=i;while(1){v=f[$>>2]|0;m=g+(U*72|0)|0;p=m+72|0;do{f[m>>2]=-1;m=m+4|0}while((m|0)<(p|0));f[g+(U*72|0)+60>>2]=f[(f[aa>>2]|0)+(U<<2)>>2];f[g+(U*72|0)+64>>2]=f[(f[e>>2]|0)+(U<<2)>>2];f[g+(U*72|0)+68>>2]=f[(f[V>>2]|0)+(U<<2)>>2];if((!(+K(+(+n[v+(U<<6)+60>>2]))<2.220446049250313e-16)?(f[v+(U<<6)+52>>2]|0)!=0:0)?(f[v+(U<<6)+56>>2]|0)!=0:0)f[G>>2]=0;else{_=g+(U*72|0)+40|0;f[_>>2]=0;f[_+4>>2]=0;f[_+8>>2]=0;f[_+12>>2]=0;f[_+16>>2]=0}_=U+1|0;if((_|0)==(d|0))break d;U=_;g=f[s>>2]|0}}while(0);DVa(t|0,f[a+(z*24|0)+20>>2]|0,(d<<2)+4|0)|0;da=t+(d<<2)+4+3&-4;b[A>>0]=(d|0)==1&(b[A>>0]|0)!=0&1;s=z+1|0;if((s|0)>=(f[C>>2]|0))break;z=s;i=da;j=f[H>>2]|0}ea=da;fa=f[q>>2]|0}else{ea=r;fa=x}H=w+1|0;if((H|0)>=(fa|0))break;M=ba;r=ea;w=H;J=f[B>>2]|0;x=fa}f[l>>2]=L;fX(0);fX(0);fX(0);fX(0);fX(0);fX(0);u=c;return} +function wAa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;d=b>>>23;e=d&255;g=b&8388607;h=c>>>23&255;i=c&8388607;j=e-h|0;a:do if(!j)switch((d&255)<<24>>24){case 0:{k=i+b|0;f[a>>2]=k;return}case -1:{if(!(i|g))k=b;else{l=30;break a}f[a>>2]=k;return}default:{m=(g|16777216)+i|0;if(!(e>>>0<254&(m&1|0)==0)){n=m<<6;o=e;break a}k=(e<<23|b&-2147483648)+(m>>>1)|0;f[a>>2]=k;return}}else{m=g<<6;p=i<<6;do if((j|0)<0)if((h|0)!=255){q=(e|0?536870912:m)+m|0;r=0-j|0;if(r>>>0<31){s=h;t=q>>>r|(q<<(j&31)|0)!=0;u=p;break}else{s=h;t=(q|0)!=0&1;u=p;break}}else{if(i|0){l=30;break a}k=b&-2147483648|2139095040;f[a>>2]=k;return}else{if((e|0)==255){if(!g)k=b;else{l=30;break a}f[a>>2]=k;return}q=(h|0?536870912:p)+p|0;if(j>>>0<31){s=e;t=m;u=q>>>j|(q<<(0-j&31)|0)!=0;break}else{s=e;t=m;u=(q|0)!=0&1;break}}while(0);m=u+536870912+t|0;p=m>>>0<1073741824;n=m<<(p&1);o=s+(p<<31>>31)|0}while(0);if((l|0)==30){k=((b&2143289344|0)==2139095040&(b&4194303|0)!=0?b:(b&2139095040|0)!=2139095040|(g|0)==0?c:b)|4194304;f[a>>2]=k;return}c=n&127;do if(o>>>0>252){if((o|0)>=0){if(!((o|0)>253|(n+64|0)<0)){v=o;w=c;x=n;break}k=b&-2147483648|2139095040;f[a>>2]=k;return}g=0-o|0;if(g>>>0<31)y=n>>>g|(n<<(o&31)|0)!=0;else y=(n|0)!=0&1;v=0;w=y&127;x=y}else{v=o;w=c;x=n}while(0);n=(x+64|0)>>>7&~(w<<24>>24==64);k=((n|0)==0?0:v<<23)+(n|b&-2147483648)|0;f[a>>2]=k;return}function xAa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=f[b>>2]|0;b=f[c>>2]|0;if((b^d|0)<0){wAa(a,d,b);return}else{vAa(a,d,b);return}}function yAa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;d=f[b>>2]|0;b=f[c>>2]|0;c=d>>>23&255;e=d&8388607;g=b>>>23&255;i=b&8388607;j=b^d;do if((c|0)==255)if((e|0)==0?!((i|0)!=0&(g|0)==255):0){k=g|i;l=24}else l=23;else{if((g|0)==255){if(i|0){l=23;break}k=c|e;l=24;break}if(!c){if(e|0){m=e>>>0<65536;n=m?d<<16:e;o=m?16:0;m=n>>>0<16777216;p=((h[442182+((m?n<<8:n)>>>24)>>0]|0)+((m?o|8:o)&255)<<24)+-134217728>>24;q=1-p|0;r=e<>>0<65536;o=p?b<<16:i;m=p?16:0;p=o>>>0<16777216;n=((h[442182+((p?o<<8:o)>>>24)>>0]|0)+((p?m|8:m)&255)<<24)+-134217728>>24;s=i<>>0<1073741824;p=t+q+(n?-128:-127)|0;o=m<<(n&1);n=o&127;do if(p>>>0>252){if((p|0)>=0){if(!((p|0)>253|(o+64|0)<0)){u=p;v=n;w=o;break}x=j&-2147483648|2139095040;f[a>>2]=x;return}m=0-p|0;if(m>>>0<31)y=o>>>m|(o<<(p&31)|0)!=0;else y=(o|0)!=0&1;u=0;v=y&127;w=y}else{u=p;v=n;w=o}while(0);o=(w+64|0)>>>7&~(v<<24>>24==64);x=((o|0)==0?0:u<<23)+(o|j&-2147483648)|0;f[a>>2]=x;return}while(0);x=j&-2147483648;f[a>>2]=x;return}while(0);if((l|0)==23){x=((d&2143289344|0)==2139095040&(d&4194303|0)!=0?d:(d&2139095040|0)!=2139095040|(e|0)==0?b:d)|4194304;f[a>>2]=x;return}else if((l|0)==24){x=(k|0)==0?-4194304:j&-2147483648|2139095040;f[a>>2]=x;return}}function zAa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;d=f[b>>2]|0;b=f[c>>2]|0;c=d>>>23&255;e=d&8388607;g=b>>>23;i=g&255;j=b&8388607;k=b^d;a:do if((c|0)==255)if(!e)if((i|0)==255)if(!j){l=-4194304;f[a>>2]=l;return}else m=22;else m=23;else m=22;else{b:do switch((g&255)<<24>>24){case -1:{if(j|0){m=22;break a}break}case 0:{if(j|0){n=j>>>0<65536;o=n?b<<16:j;p=n?16:0;n=o>>>0<16777216;q=((h[442182+((n?o<<8:o)>>>24)>>0]|0)+((n?p|8:p)&255)<<24)+-134217728>>24;r=j<>2]=l;return}default:{r=j;s=i;m=10}}while(0);do if((m|0)==10){if(!c){if(!e)break;q=e>>>0<65536;p=q?d<<16:e;n=q?16:0;q=p>>>0<16777216;o=((h[442182+((q?p<<8:p)>>>24)>>0]|0)+((q?n|8:n)&255)<<24)+-134217728>>24;t=1-o|0;u=e<>>0>>0;p=(q?125:126)+(t-s)|0;v=BVa(o|0,0,(q?31:30)|0)|0;q=I;o=xVa(v|0,q|0,n|0,0)|0;w=wVa(o|0,0,n|0,0)|0;n=(o&63|0)==0&((w|0)!=(v|0)|(I|0)!=(q|0))&1|o;o=n&127;do if(p>>>0>252){if((p|0)>=0){if(!((p|0)>253|(n+64|0)<0)){x=p;y=o;z=n;break}l=k&-2147483648|2139095040;f[a>>2]=l;return}q=0-p|0;if(q>>>0<31)A=n>>>q|(n<<(p&31)|0)!=0;else A=(n|0)!=0&1;x=0;y=A&127;z=A}else{x=p;y=o;z=n}while(0);n=(z+64|0)>>>7&~(y<<24>>24==64);l=((n|0)==0?0:x<<23)+(n|k&-2147483648)|0;f[a>>2]=l;return}while(0);l=k&-2147483648;f[a>>2]=l;return}while(0);if((m|0)==22){l=((d&2143289344|0)==2139095040&(d&4194303|0)!=0?d:(d&2139095040|0)!=2139095040|(e|0)==0?b:d)|4194304;f[a>>2]=l;return}else if((m|0)==23){l=k&-2147483648|2139095040;f[a>>2]=l;return}}function AAa(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[b>>2]|0;b=f[a>>2]|0;if(!((c&2139095040|0)!=2139095040|(c&8388607|0)==0)){d=0;return d|0}if(!((b&2139095040|0)!=2139095040|(b&8388607|0)==0)){d=0;return d|0}a=c>>>31;if((a|0)==(b>>>31|0)){d=(c|0)!=(b|0)&(a|0)!=(c>>>0>>0|0);return d|0}else{d=(c|0)<0&((b|c)&2147483647|0)!=0;return d|0}return 0}function BAa(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[a>>2]|0;a=f[b>>2]|0;if(!((c&2139095040|0)!=2139095040|(c&8388607|0)==0)){d=0;return d|0}if(!((a&2139095040|0)!=2139095040|(a&8388607|0)==0)){d=0;return d|0}b=c>>>31;if((b|0)==(a>>>31|0)){d=(c|0)!=(a|0)&(b|0)!=(c>>>0>>0|0);return d|0}else{d=(c|0)<0&((a|c)&2147483647|0)!=0;return d|0}return 0}function CAa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(!b){c=0;d=0;e=a;g=e;f[g>>2]=c;i=e+4|0;j=i;f[j>>2]=d;return}k=(b|0)<0?0-b|0:b;l=k>>>0<65536;m=l?k<<16:k;n=l?16:0;l=m>>>0<16777216;o=(h[442182+((l?m<<8:m)>>>24)>>0]|0)+((l?n|8:n)&255)|0;n=BVa(b>>>31|0,0,63)|0;b=I;l=(o<<24)+352321536>>24;o=BVa(1074-l|0,0,52)|0;m=I;p=BVa(k|0,0,l|0)|0;l=qVa(p|0,I|0,n|0,b|0)|0;b=qVa(l|0,I|0,o|0,m|0)|0;c=b;d=I;e=a;g=e;f[g>>2]=c;i=e+4|0;j=i;f[j>>2]=d;return}function DAa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;if((b|0)==0&(c&2147483647|0)==0){zVa(b|0,c|0,63)|0;d=I&-1008730112;e=0;g=a;i=g;f[i>>2]=e;j=g+4|0;k=j;f[k>>2]=d;return}l=(c|0)<0;m=rVa(0,0,b|0,c|0)|0;n=l?m:b;m=l?I:c;l=(m|0)==0;o=l?32:0;p=l?n:m;l=p>>>0<65536;q=l?o|16:o;o=l?p<<16:p;p=o>>>0<16777216;l=((h[442182+((p?o<<8:o)>>>24)>>0]|0)+((p?q|8:q)&255)<<24)+-16777216|0;q=l>>24;p=1084-q|0;if((l|0)>150994944&p>>>0<2045){l=(b|0)!=0|(c|0)!=0;b=BVa(p|0,0,52)|0;o=l?I:0;r=BVa(n|0,m|0,q+-10|0)|0;s=qVa(r|0,I|0,0,c&-2147483648|0)|0;r=qVa(s|0,I|0,(l?b:0)|0,o|0)|0;d=I;e=r;g=a;i=g;f[i>>2]=e;j=g+4|0;k=j;f[k>>2]=d;return}r=BVa(n|0,m|0,q|0)|0;q=I;m=r&1023;do if((p&65535)>>>0>2044){if((p|0)>=0){qVa(r|0,q|0,512,0)|0;if(!((p|0)>2045|(I|0)<0)){t=p;u=m;v=r;w=q;break}d=c&-2147483648|2146435072;e=0;g=a;i=g;f[i>>2]=e;j=g+4|0;k=j;f[k>>2]=d;return}n=0-p|0;if(n>>>0<63){o=AVa(r|0,q|0,n|0)|0;n=I;b=BVa(r|0,q|0,p&63|0)|0;x=n;y=o|((b|0)!=0|(I|0)!=0)&1}else{x=0;y=((r|0)!=0|(q|0)!=0)&1}t=0;u=y&1023;v=y;w=x}else{t=p;u=m;v=r;w=q}while(0);q=qVa(v|0,w|0,512,0)|0;w=AVa(q|0,I|0,10)|0;q=I;v=w&~((u|0)==512);u=(v|0)==0&(q|0)==0;w=BVa(t|0,0,52)|0;t=qVa((u?0:w)|0,(u?0:I)|0,v|0,q|c&-2147483648|0)|0;d=I;e=t;g=a;i=g;f[i>>2]=e;j=g+4|0;k=j;f[k>>2]=d;return}function EAa(a){a=a|0;var b=0,c=0,d=0;b=f[a>>2]|0;a=b>>>23&255;c=158-a|0;if((c|0)>31){d=0;return d|0}if((c|0)<1){d=(b|0)==-822083584?-2147483648:(b&8388607|0)!=0&(a|0)==255?2147483647:(b>>>31)+2147483647|0;return d|0}else{a=(b<<8|-2147483648)>>>c;d=(b|0)<0?0-a|0:a;return d|0}return 0}function FAa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=f[a>>2]|0;a=b>>>23&255;c=b&8388607;d=(b|0)<0&((c|0)==0|(a|0)!=255);b=(a|0)==0?c:c|8388608;c=170-a|0;do if((c|0)>0)if(c>>>0<63){a=AVa(0,b|0,c|0)|0;e=I;g=BVa(0,b|0,0-c&63|0)|0;h=a|((g|0)!=0|(I|0)!=0)&1;i=e;break}else{h=(b|0)!=0&1;i=0;break}else{h=0;i=b}while(0);b=qVa(h|0,i|0,2048,0)|0;i=I;if(!(i>>>0>4095|(i|0)==4095&b>>>0>4294967295)){c=AVa(b|0,i|0,12)|0;i=c&~((h&4095|0)==2048&0==0&1);h=d?0-i|0:i;if(!i){j=h;return j|0}if((h>>>31|0)==(d&1|0)){j=h;return j|0}}j=d?-2147483648:2147483647;return j|0}function GAa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=a;a=f[b>>2]|0;c=f[b+4>>2]|0;b=AVa(a|0,c|0,52)|0;d=b&2047;b=c&1048575;e=(c|0)<0&((a|0)==0&(b|0)==0|(d|0)!=2047);c=(d|0)==0;g=c?a:a;a=c?b:b|1048576;b=1063-d|0;do if((b|0)>0)if(b>>>0<63){d=AVa(g|0,a|0,b|0)|0;c=I;h=BVa(g|0,a|0,0-b&63|0)|0;i=d|((h|0)!=0|(I|0)!=0)&1;j=c;break}else{i=((g|0)!=0|(a|0)!=0)&1;j=0;break}else{i=g;j=a}while(0);a=qVa(i|0,j|0,2048,0)|0;j=I;if(!(j>>>0>4095|(j|0)==4095&a>>>0>4294967295)){g=AVa(a|0,j|0,12)|0;j=g&~((i&4095|0)==2048&0==0&1);i=e?0-j|0:j;if(!j){k=i;return k|0}if((i>>>31|0)==(e&1|0)){k=i;return k|0}}k=e?-2147483648:2147483647;return k|0}function HAa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=a;a=f[b>>2]|0;c=f[b+4>>2]|0;b=AVa(a|0,c|0,52)|0;d=b&2047;b=c&1048575;e=(c|0)<0&((a|0)==0&(b|0)==0|(d|0)!=2047);c=(d|0)==0;g=c?a:a;a=c?b:b|1048576;b=1063-d|0;do if((b|0)>0)if(b>>>0<63){d=AVa(g|0,a|0,b|0)|0;c=I;h=BVa(g|0,a|0,0-b&63|0)|0;i=d|((h|0)!=0|(I|0)!=0)&1;j=c;break}else{i=((g|0)!=0|(a|0)!=0)&1;j=0;break}else{i=g;j=a}while(0);a=qVa(i|0,j|0,(e?4095:0)|0,(e?0:0)|0)|0;j=I;if(!(j>>>0>4095|(j|0)==4095&a>>>0>4294967295)){i=AVa(a|0,j|0,12)|0;j=e?0-i|0:i;if(!i){k=j;return k|0}if((j>>>31|0)==(e&1|0)){k=j;return k|0}}k=e?-2147483648:2147483647;return k|0}function IAa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=a;a=f[b>>2]|0;c=f[b+4>>2]|0;b=AVa(a|0,c|0,52)|0;d=b&2047;b=c&1048575;e=(c|0)<0&((a|0)==0&(b|0)==0|(d|0)!=2047);c=(d|0)==0;g=c?a:a;a=c?b:b|1048576;b=1075-d|0;if((b|0)<1){d=BVa(g|0,a|0,0-b|0)|0;c=I;if((b|0)<-11|(c|0)<0){h=e?-2147483648:2147483647;i=e?0:-1;I=h;return i|0}else{j=rVa(0,0,d|0,c|0)|0;h=e?I:c;i=e?j:d;I=h;return i|0}}if((b|0)>=64){h=0;i=0;I=h;return i|0}d=AVa(g|0,a|0,b|0)|0;j=I;c=BVa(g|0,a|0,0-b&63|0)|0;b=I;if((b|0)<0){a=qVa(d|0,j|0,1,0)|0;g=I;if(!((a|0)==0&(g|0)==0)){k=a&~((c|0)==0&(b&2147483647|0)==0&1);l=g;m=9}}else{k=d;l=j;m=9}if((m|0)==9){m=rVa(0,0,k|0,l|0)|0;j=e?m:k;m=e?I:l;if((k|0)==0&(l|0)==0){h=m;i=j;I=h;return i|0}l=AVa(j|0,m|0,63)|0;if((l|0)==(e&1|0)){h=m;i=j;I=h;return i|0}}h=e?-2147483648:2147483647;i=e?0:-1;I=h;return i|0}function JAa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=b;b=f[c>>2]|0;d=f[c+4>>2]|0;c=AVa(b|0,d|0,52)|0;e=c&2047;c=d&1048575;if((e|0)==2047){g=d&-2147483648;if((b|0)==0&(c|0)==0){h=g|2139095040;f[a>>2]=h;return}else{i=AVa(b|0,d|0,29)|0;h=i&8388607|(g|2143289344);f[a>>2]=h;return}}g=AVa(b|0,c|0,22)|0;c=g|((b&4194303|0)!=0|0!=0)&1;if(!(e|c)){h=d&-2147483648;f[a>>2]=h;return}b=e+-897|0;g=c|1073741824;i=c&127;do if(b>>>0>252){if(e>>>0<897){c=897-e|0;j=c>>>0<31?g>>>c|(g<<(b&31)|0)!=0:1;k=0;l=j&127;m=j;break}if(e>>>0>1150|(g+64|0)<0){h=d&-2147483648|2139095040;f[a>>2]=h;return}else{k=b;l=i;m=g}}else{k=b;l=i;m=g}while(0);g=(m+64|0)>>>7&~(l<<24>>24==64);h=((g|0)==0?0:k<<23)+(g|d&-2147483648)|0;f[a>>2]=h;return}function KAa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=b;b=f[d>>2]|0;e=f[d+4>>2]|0;d=c;c=f[d>>2]|0;g=f[d+4>>2]|0;d=(e|0)<0;h=AVa(b|0,e|0,63)|0;i=AVa(c|0,g|0,63)|0;if((h|0)==(i|0)){LAa(a,b,e,c,g,d);return}else{MAa(a,b,e,c,g,d);return}}function LAa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;h=AVa(b|0,c|0,52)|0;i=h&2047;j=c&1048575;k=AVa(d|0,e|0,52)|0;l=k&2047;k=e&1048575;m=i-l|0;a:do if(!m)switch(h&2047){case 0:{n=qVa(d|0,k|0,b|0,c|0)|0;o=I;p=a;q=p;f[q>>2]=n;r=p+4|0;s=r;f[s>>2]=o;return}case 2047:{if((d|b|0)==0&(k|j|0)==0){n=b;o=c}else{t=28;break a}p=a;q=p;f[q>>2]=n;r=p+4|0;s=r;f[s>>2]=o;return}default:{u=i;v=BVa(qVa(b|0,j|2097152|0,d|0,k|0)|0,I|0,9)|0;w=I;break a}}else{x=BVa(b|0,j|0,9)|0;y=I;z=BVa(d|0,k|0,9)|0;A=I;do if((m|0)<0)if((l|0)!=2047){B=(i|0)==0;C=BVa(b|0,j|0,10)|0;D=B?C:x;C=B?I:y|536870912;B=0-m|0;if(B>>>0<63){E=AVa(D|0,C|0,B|0)|0;B=I;F=BVa(D|0,C|0,m&63|0)|0;G=l;H=z;J=A;K=E|((F|0)!=0|(I|0)!=0)&1;L=B;break}else{G=l;H=z;J=A;K=((D|0)!=0|(C|0)!=0)&1;L=0;break}}else{if(!((d|0)==0&(k|0)==0)){t=28;break a}C=BVa(g&1|0,0,63)|0;n=C;o=I|2146435072;p=a;q=p;f[q>>2]=n;r=p+4|0;s=r;f[s>>2]=o;return}else{if((i|0)==2047){if((b|0)==0&(j|0)==0){n=b;o=c}else{t=28;break a}p=a;q=p;f[q>>2]=n;r=p+4|0;s=r;f[s>>2]=o;return}C=(l|0)==0;D=BVa(d|0,k|0,10)|0;B=C?D:z;D=C?I:A|536870912;if(m>>>0<63){C=AVa(B|0,D|0,m|0)|0;F=I;E=BVa(B|0,D|0,0-m&63|0)|0;G=i;H=C|((E|0)!=0|(I|0)!=0)&1;J=F;K=x;L=y;break}else{G=i;H=((B|0)!=0|(D|0)!=0)&1;J=0;K=x;L=y;break}}while(0);y=qVa(H|0,J|0,0,536870912)|0;x=qVa(y|0,I|0,K|0,L|0)|0;y=I;A=y>>>0<1073741824|(y|0)==1073741824&x>>>0<0;z=BVa(x|0,y|0,A&1|0)|0;u=G+(A<<31>>31)|0;v=z;w=I}while(0);if((t|0)==28){t=0==0&(c&2146959360|0)==2146435072&((b|0)!=0|(c&524287|0)!=0);G=0!=0|(c&2146435072|0)!=2146435072|(b|0)==0&(j|0)==0;n=t?b:G?d:b;o=(t?c:G?e:c)|524288;p=a;q=p;f[q>>2]=n;r=p+4|0;s=r;f[s>>2]=o;return}c=v&1023;do if((u&65535)>>>0>2044){if((u|0)>=0){qVa(v|0,w|0,512,0)|0;if(!((u|0)>2045|(I|0)<0)){M=u;N=c;O=v;P=w;break}e=BVa(g&1|0,0,63)|0;n=e;o=I|2146435072;p=a;q=p;f[q>>2]=n;r=p+4|0;s=r;f[s>>2]=o;return}e=0-u|0;if(e>>>0<63){G=AVa(v|0,w|0,e|0)|0;e=I;t=BVa(v|0,w|0,u&63|0)|0;Q=G|((t|0)!=0|(I|0)!=0)&1;R=e}else{Q=((v|0)!=0|(w|0)!=0)&1;R=0}M=0;N=Q&1023;O=Q;P=R}else{M=u;N=c;O=v;P=w}while(0);w=qVa(O|0,P|0,512,0)|0;P=AVa(w|0,I|0,10)|0;w=I;O=P&~((N|0)==512);N=(O|0)==0&(w|0)==0;P=BVa(g&1|0,0,63)|0;g=I;v=BVa(M|0,0,52)|0;M=qVa((N?0:v)|0,(N?0:I)|0,O|P|0,w|g|0)|0;n=M;o=I;p=a;q=p;f[q>>2]=n;r=p+4|0;s=r;f[s>>2]=o;return}function MAa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;i=AVa(b|0,c|0,52)|0;j=i&2047;i=c&1048575;k=AVa(d|0,e|0,52)|0;l=k&2047;k=e&1048575;m=j-l|0;a:do if(!m){if((j|0)==2047){if((d|b|0)==0&(k|i|0)==0){n=0;o=-524288}else break;p=a;q=p;f[q>>2]=n;r=p+4|0;s=r;f[s>>2]=o;return}t=rVa(b|0,i|0,d|0,k|0)|0;u=I;if((t|0)==0&(u|0)==0){n=0;o=0;p=a;q=p;f[q>>2]=n;r=p+4|0;s=r;f[s>>2]=o;return}v=(j|0)==0?0:j+-1|0;w=(u|0)<0;x=rVa(0,0,t|0,u|0)|0;y=w?x:t;t=w?I:u;u=(t|0)==0;x=u?32:0;z=u?y:t;u=z>>>0<65536;A=u?x|16:x;x=u?z<<16:z;z=x>>>0<16777216;u=((h[442182+((z?x<<8:x)>>>24)>>0]|0)+((z?A|8:A)&255)&255)+245|0;A=v-(u<<24>>24)|0;z=(A|0)<0;x=BVa((w^g)&1|0,0,63)|0;w=I;B=BVa(A|0,0,52)|0;A=qVa((z?0:B)|0,(z?0:I)|0,x|0,w|0)|0;w=I;x=BVa(y|0,t|0,(z?v:u)<<24>>24|0)|0;u=qVa(A|0,w|0,x|0,I|0)|0;n=u;o=I;p=a;q=p;f[q>>2]=n;r=p+4|0;s=r;f[s>>2]=o;return}else{u=BVa(b|0,i|0,10)|0;x=I;w=BVa(d|0,k|0,10)|0;A=I;do if((m|0)<0){v=g^1;if((l|0)!=2047){z=(j|0)!=0;t=qVa((z?0:u)|0,(z?1073741824:x)|0,u|0,x|0)|0;z=I;y=0-m|0;if(y>>>0<63){B=AVa(t|0,z|0,y|0)|0;y=I;C=BVa(t|0,z|0,m&63|0)|0;D=l;E=v;F=A;G=w;H=B|((C|0)!=0|(I|0)!=0)&1;J=y;break}else{D=l;E=v;F=A;G=w;H=((t|0)!=0|(z|0)!=0)&1;J=0;break}}else{if(!((d|0)==0&(k|0)==0))break a;z=BVa(v&1|0,0,63)|0;n=z;o=I|2146435072;p=a;q=p;f[q>>2]=n;r=p+4|0;s=r;f[s>>2]=o;return}}else{if((j|0)==2047){if((b|0)==0&(i|0)==0){n=b;o=c}else break a;p=a;q=p;f[q>>2]=n;r=p+4|0;s=r;f[s>>2]=o;return}z=(l|0)!=0;v=qVa((z?0:w)|0,(z?1073741824:A)|0,w|0,A|0)|0;z=I;if(m>>>0<63){t=AVa(v|0,z|0,m|0)|0;y=I;C=BVa(v|0,z|0,0-m&63|0)|0;D=j;E=g;F=x;G=u;H=t|((C|0)!=0|(I|0)!=0)&1;J=y;break}else{D=j;E=g;F=x;G=u;H=((v|0)!=0|(z|0)!=0)&1;J=0;break}}while(0);u=rVa(G|0,F|1073741824|0,H|0,J|0)|0;x=I;A=(x|0)==0;w=A?32:0;z=A?u:x;A=z>>>0<65536;v=A?w|16:w;w=A?z<<16:z;z=w>>>0<16777216;A=(((z?v|8:v)&255)+(h[442182+((z?w<<8:w)>>>24)>>0]|0)<<24)+-16777216|0;w=A>>24;z=D+-1-w|0;if((A|0)>150994944&z>>>0<2045){A=BVa(E&1|0,0,63)|0;v=I;y=(u|0)!=0|(x|0)!=0;C=BVa(z|0,0,52)|0;t=y?I:0;B=BVa(u|0,x|0,w+-10|0)|0;K=qVa(B|0,I|0,A|0,v|0)|0;v=qVa(K|0,I|0,(y?C:0)|0,t|0)|0;n=v;o=I;p=a;q=p;f[q>>2]=n;r=p+4|0;s=r;f[s>>2]=o;return}v=BVa(u|0,x|0,w|0)|0;w=I;x=v&1023;do if((z&65535)>>>0>2044){if((z|0)>=0){qVa(v|0,w|0,512,0)|0;if(!((z|0)>2045|(I|0)<0)){L=z;M=x;N=v;O=w;break}u=BVa(E&1|0,0,63)|0;n=u;o=I|2146435072;p=a;q=p;f[q>>2]=n;r=p+4|0;s=r;f[s>>2]=o;return}u=0-z|0;if(u>>>0<63){t=AVa(v|0,w|0,u|0)|0;u=I;C=BVa(v|0,w|0,z&63|0)|0;P=t|((C|0)!=0|(I|0)!=0)&1;Q=u}else{P=((v|0)!=0|(w|0)!=0)&1;Q=0}L=0;M=P&1023;N=P;O=Q}else{L=z;M=x;N=v;O=w}while(0);w=qVa(N|0,O|0,512,0)|0;v=AVa(w|0,I|0,10)|0;w=I;x=v&~((M|0)==512);v=(x|0)==0&(w|0)==0;z=BVa(E&1|0,0,63)|0;u=I;C=BVa(L|0,0,52)|0;t=qVa((v?0:C)|0,(v?0:I)|0,x|z|0,w|u|0)|0;n=t;o=I;p=a;q=p;f[q>>2]=n;r=p+4|0;s=r;f[s>>2]=o;return}while(0);L=0==0&(c&2146959360|0)==2146435072&((b|0)!=0|(c&524287|0)!=0);E=0!=0|(c&2146435072|0)!=2146435072|(b|0)==0&(i|0)==0;n=L?b:E?d:b;o=(L?c:E?e:c)|524288;p=a;q=p;f[q>>2]=n;r=p+4|0;s=r;f[s>>2]=o;return}function NAa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=b;b=f[d>>2]|0;e=f[d+4>>2]|0;d=c;c=f[d>>2]|0;g=f[d+4>>2]|0;d=(e|0)<0;h=AVa(b|0,e|0,63)|0;i=AVa(c|0,g|0,63)|0;if((h|0)==(i|0)){MAa(a,b,e,c,g,d);return}else{LAa(a,b,e,c,g,d);return}}function OAa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;d=b;b=f[d>>2]|0;e=f[d+4>>2]|0;d=c;c=f[d>>2]|0;g=f[d+4>>2]|0;d=AVa(b|0,e|0,52)|0;i=d&2047;d=e&1048575;j=AVa(c|0,g|0,52)|0;k=j&2047;j=g&1048575;l=g^e;do if((i|0)==2047)if((b|0)==0&(d|0)==0?!(((c|0)!=0|(j|0)!=0)&(k|0)==2047):0){m=k;n=c;o=j;p=22}else p=21;else{if((k|0)==2047)if((c|0)==0&(j|0)==0){m=i;n=b;o=d;p=22;break}else{p=21;break}if(!i){if(!((b|0)==0&(d|0)==0)){q=(d|0)==0;r=q?32:0;s=q?b:d;q=s>>>0<65536;t=q?r|16:r;r=q?s<<16:s;s=r>>>0<16777216;q=((h[442182+((s?r<<8:r)>>>24)>>0]|0)+((s?t|8:t)&255)<<24)+-184549376>>24;t=BVa(b|0,d|0,q|0)|0;u=1-q|0;v=t;w=I;p=9}}else{u=i;v=b;w=d;p=9}do if((p|0)==9){if(!k){if((c|0)==0&(j|0)==0)break;t=(j|0)==0;q=t?32:0;s=t?c:j;t=s>>>0<65536;r=t?q|16:q;q=t?s<<16:s;s=q>>>0<16777216;t=((h[442182+((s?q<<8:q)>>>24)>>0]|0)+((s?r|8:r)&255)<<24)+-184549376>>24;r=BVa(c|0,j|0,t|0)|0;x=1-t|0;y=r;z=I}else{x=k;y=c;z=j}r=BVa(v|0,w|0,10)|0;t=BVa(y|0,z|0,11)|0;s=AVa(v|0,w|0,22)|0;q=s&-1073741825|1073741824;s=AVa(y|0,z|0,21)|0;A=s&2147483647|-2147483648;s=r&-1024;r=t&-2048;t=wVa(r|0,0,s|0,0)|0;B=I;C=wVa(r|0,0,q|0,0)|0;r=I;D=wVa(A|0,0,s|0,0)|0;s=qVa(D|0,I|0,C|0,r|0)|0;D=I;E=wVa(A|0,0,q|0,0)|0;q=qVa(D|0,(D>>>0>>0|(D|0)==(r|0)&s>>>0>>0)&1|0,E|0,I|0)|0;E=I;C=qVa(0,s|0,t|0,B|0)|0;B=I;t=qVa(q|0,E|0,(B>>>0>>0|(B|0)==(s|0)&C>>>0<0)&1|0,0)|0;s=I;E=t|((C|0)!=0|(B|0)!=0)&1;B=s>>>0<1073741824|(s|0)==1073741824&E>>>0<0;C=x+u+(B?-1024:-1023)|0;t=BVa(E|0,s|0,B&1|0)|0;B=I;s=t&1023;do if((C&65535)>>>0>2044){if((C|0)>=0){qVa(t|0,B|0,512,0)|0;if(!((C|0)>2045|(I|0)<0)){F=C;G=s;H=t;J=B;break}K=0;L=l&-2147483648|2146435072;M=a;N=M;f[N>>2]=K;O=M+4|0;P=O;f[P>>2]=L;return}E=0-C|0;if(E>>>0<63){q=AVa(t|0,B|0,E|0)|0;E=I;r=BVa(t|0,B|0,C&63|0)|0;Q=q|((r|0)!=0|(I|0)!=0)&1;R=E}else{Q=((t|0)!=0|(B|0)!=0)&1;R=0}F=0;G=Q&1023;H=Q;J=R}else{F=C;G=s;H=t;J=B}while(0);B=qVa(H|0,J|0,512,0)|0;t=AVa(B|0,I|0,10)|0;B=I;s=t&~((G|0)==512);t=(s|0)==0&(B|0)==0;C=BVa(F|0,0,52)|0;E=qVa((t?0:C)|0,(t?0:I)|0,s|0,B|l&-2147483648|0)|0;K=E;L=I;M=a;N=M;f[N>>2]=K;O=M+4|0;P=O;f[P>>2]=L;return}while(0);K=0;L=l&-2147483648;M=a;N=M;f[N>>2]=K;O=M+4|0;P=O;f[P>>2]=L;return}while(0);if((p|0)==21){F=0==0&(e&2146959360|0)==2146435072&((b|0)!=0|(e&524287|0)!=0);G=0!=0|(e&2146435072|0)!=2146435072|(b|0)==0&(d|0)==0;K=F?b:G?c:b;L=(F?e:G?g:e)|524288;M=a;N=M;f[N>>2]=K;O=M+4|0;P=O;f[P>>2]=L;return}else if((p|0)==22){p=(n|m|0)==0&(o|0)==0;K=p?0:0;L=p?-524288:l&-2147483648|2146435072;M=a;N=M;f[N>>2]=K;O=M+4|0;P=O;f[P>>2]=L;return}}function PAa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;d=b;b=f[d>>2]|0;e=f[d+4>>2]|0;d=c;c=f[d>>2]|0;g=f[d+4>>2]|0;d=AVa(b|0,e|0,52)|0;i=d&2047;d=e&1048575;j=AVa(c|0,g|0,52)|0;k=j&2047;l=g&1048575;m=g^e;a:do if((i|0)==2047)if((b|0)==0&(d|0)==0)if((k|0)==2047)if((c|0)==0&(l|0)==0){n=0;o=-524288;p=a;q=p;f[q>>2]=n;r=p+4|0;s=r;f[s>>2]=o;return}else t=26;else t=27;else t=26;else{b:do switch(j&2047){case 2047:{if(!((c|0)==0&(l|0)==0)){t=26;break a}break}case 0:{if(!((c|0)==0&(l|0)==0)){u=(l|0)==0;v=u?32:0;w=u?c:l;u=w>>>0<65536;x=u?v|16:v;v=u?w<<16:w;w=v>>>0<16777216;u=((h[442182+((w?v<<8:v)>>>24)>>0]|0)+((w?x|8:x)&255)<<24)+-184549376>>24;x=BVa(c|0,l|0,u|0)|0;y=1-u|0;z=I;A=x;t=10;break b}if((b|i|0)==0&(d|0)==0){n=0;o=-524288}else{t=27;break a}p=a;q=p;f[q>>2]=n;r=p+4|0;s=r;f[s>>2]=o;return}default:{y=k;z=l;A=c;t=10}}while(0);do if((t|0)==10){if(!i){if((b|0)==0&(d|0)==0)break;x=(d|0)==0;u=x?32:0;w=x?b:d;x=w>>>0<65536;v=x?u|16:u;u=x?w<<16:w;w=u>>>0<16777216;x=((h[442182+((w?u<<8:u)>>>24)>>0]|0)+((w?v|8:v)&255)<<24)+-184549376>>24;v=BVa(b|0,d|0,x|0)|0;B=1-x|0;C=I;D=v}else{B=i;C=d;D=b}v=C|1048576;x=z|1048576;w=v>>>0>>0|(v|0)==(x|0)&D>>>0>>0;u=(w?1021:1022)+(B-y)|0;E=BVa(D|0,v|0,(w?11:10)|0)|0;w=I;v=AVa(A|0,x|0,21)|0;x=xVa(-1,2147483647,v|0,0)|0;F=x+-2|0;x=wVa(w|0,0,F|0,0)|0;G=I;H=AVa(x|0,G|0,31)|0;x=H&-2;H=wVa(x|0,0,v|0,0)|0;J=rVa(E|0,w|0,H|0,I|0)|0;H=BVa(J|0,I|0,28)|0;J=I;w=A<<7&268435328;E=wVa(x|0,0,w|0,0)|0;x=rVa(H|0,J|0,E|0,I|0)|0;E=I;wVa(E|0,0,F|0,0)|0;F=qVa(I|0,0,4,0)|0;J=BVa(F|0,I|0,4)|0;H=qVa(J&-16|0,I&15|0,0,G|0)|0;G=I;do if(0<0|0==0&(H&448)>>>0<64){J=H&-128;K=F<<1&-16;L=wVa(v|0,0,K|0,0)|0;M=rVa(x|0,E|0,L|0,I|0)|0;L=BVa(M|0,I|0,28)|0;M=I;N=wVa(K|0,0,w|0,0)|0;K=rVa(L|0,M|0,N|0,I|0)|0;N=I;if((N|0)<0){M=qVa(J|0,G|0,-128,-1)|0;O=M;P=I;break}else{O=J|((K|0)!=0|(N|0)!=0)&1;P=G;break}}else{O=H;P=G}while(0);G=O&1023;do if((u&65535)>>>0>2044){if((u|0)>=0){qVa(O|0,P|0,512,0)|0;if(!((u|0)>2045|(I|0)<0)){Q=u;R=G;S=O;T=P;break}n=0;o=m&-2147483648|2146435072;p=a;q=p;f[q>>2]=n;r=p+4|0;s=r;f[s>>2]=o;return}H=0-u|0;if(H>>>0<63){w=AVa(O|0,P|0,H|0)|0;H=I;E=BVa(O|0,P|0,u&63|0)|0;U=w|((E|0)!=0|(I|0)!=0)&1;V=H}else{U=((O|0)!=0|(P|0)!=0)&1;V=0}Q=0;R=U&1023;S=U;T=V}else{Q=u;R=G;S=O;T=P}while(0);G=qVa(S|0,T|0,512,0)|0;u=AVa(G|0,I|0,10)|0;G=I;H=u&~((R|0)==512);u=(H|0)==0&(G|0)==0;E=BVa(Q|0,0,52)|0;w=qVa((u?0:E)|0,(u?0:I)|0,H|0,G|m&-2147483648|0)|0;n=w;o=I;p=a;q=p;f[q>>2]=n;r=p+4|0;s=r;f[s>>2]=o;return}while(0);n=0;o=m&-2147483648;p=a;q=p;f[q>>2]=n;r=p+4|0;s=r;f[s>>2]=o;return}while(0);if((t|0)==26){Q=0==0&(e&2146959360|0)==2146435072&((b|0)!=0|(e&524287|0)!=0);R=0!=0|(e&2146435072|0)!=2146435072|(b|0)==0&(d|0)==0;n=Q?b:R?c:b;o=(Q?e:R?g:e)|524288;p=a;q=p;f[q>>2]=n;r=p+4|0;s=r;f[s>>2]=o;return}else if((t|0)==27){n=0;o=m&-2147483648|2146435072;p=a;q=p;f[q>>2]=n;r=p+4|0;s=r;f[s>>2]=o;return}}function QAa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=a;a=f[c>>2]|0;d=f[c+4>>2]|0;c=b;b=f[c>>2]|0;e=f[c+4>>2]|0;if(!(0!=0|(d&2146435072|0)!=2146435072|(a|0)==0&(d&1048575|0)==0)){g=0;return g|0}if(!(0!=0|(e&2146435072|0)!=2146435072|(b|0)==0&(e&1048575|0)==0)){g=0;return g|0}g=(a|0)==(b|0)&(d|0)==(e|0)|(b|a|0)==0&((e|d)&2147483647|0)==0;return g|0}function RAa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=a;a=f[c>>2]|0;d=f[c+4>>2]|0;c=b;b=f[c>>2]|0;e=f[c+4>>2]|0;if(!(0!=0|(d&2146435072|0)!=2146435072|(a|0)==0&(d&1048575|0)==0)){g=0;return g|0}if(!(0!=0|(e&2146435072|0)!=2146435072|(b|0)==0&(e&1048575|0)==0)){g=0;return g|0}c=AVa(a|0,d|0,63)|0;h=AVa(b|0,e|0,63)|0;if((c|0)==(h|0)){g=(a|0)==(b|0)&(d|0)==(e|0)|(c|0)!=((d>>>0>>0|(d|0)==(e|0)&a>>>0>>0)&1|0);return g|0}else{g=(d|0)<0|(b|a|0)==0&((e|d)&2147483647|0)==0;return g|0}return 0}function SAa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;e=f[b>>2]|0;b=f[c>>2]|0;c=f[d>>2]|0;d=e>>>23&255;g=e&8388607;i=b>>>23&255;j=b&8388607;k=c>>>31&255;l=c>>>23&255;m=c&8388607;n=b^e;o=n>>>31;p=o&255;do if((d|0)==255)if((g|0)==0?!((j|0)!=0&(i|0)==255):0){q=i|j;r=54}else r=53;else{if((i|0)==255){if(j|0){r=53;break}q=d|g;r=54;break}if((l|0)==255){if(!m)s=c;else{t=0;break}f[a>>2]=s;return}if(!d)if(!g)r=59;else{u=g>>>0<65536;v=u?e<<16:g;w=u?16:0;u=v>>>0<16777216;x=((h[442182+((u?v<<8:v)>>>24)>>0]|0)+((u?w|8:w)&255)<<24)+-134217728>>24;y=1-x|0;z=g<>>0<65536;w=x?b<<16:j;u=x?16:0;x=w>>>0<16777216;v=((h[442182+((x?w<<8:w)>>>24)>>0]|0)+((x?u|8:u)&255)<<24)+-134217728>>24;A=1-v|0;B=j<>>0<536870912|(u|0)==536870912&v>>>0<0;w=A+y+(x?-127:-126)|0;C=BVa(v|0,u|0,x&1|0)|0;x=I;do if(!l)if(!m){u=AVa(C|0,x|0,31)|0;D=u|((C&2147467264|0)!=0|0!=0)&1;E=(o|0)!=0;F=w+-1|0;break}else{u=m>>>0<65536;v=u?c<<16:m;G=u?16:0;u=v>>>0<16777216;H=((h[442182+((u?v<<8:v)>>>24)>>0]|0)+((u?G|8:G)&255)<<24)+-134217728>>24;J=m<-1){if((G|0)<1){u=32-G|0;if(u>>>0<63){v=AVa(C|0,x|0,u|0)|0;L=BVa(C|0,x|0,0-u&63|0)|0;M=v|((L|0)!=0|(I|0)!=0)&1}else M=((C|0)!=0|(x|0)!=0)&1;N=M+H|0;O=K}else{if(G>>>0<63){L=AVa(0,H|0,G|0)|0;v=I;u=BVa(0,H|0,0-G&63|0)|0;P=L|((u|0)!=0|(I|0)!=0)&1;Q=v}else{P=1;Q=0}v=qVa(P|0,Q|0,C|0,x|0)|0;N=I|((v|0)!=0|0!=0)&1;O=w}v=N>>>0<1073741824;D=N<<(v&1);E=(o|0)!=0;F=O+(v<<31>>31)|0;break}do if((G|0)<0){v=0-G|0;if(v>>>0<63){u=AVa(C|0,x|0,v|0)|0;v=I;L=BVa(C|0,x|0,G&63|0)|0;R=u|((L|0)!=0|(I|0)!=0)&1;S=v}else{R=((C|0)!=0|(x|0)!=0)&1;S=0}v=rVa(0,H|0,R|0,S|0)|0;T=k;U=K;V=I;W=v}else{if(!G){v=rVa(C|0,x|0,0,H|0)|0;L=I;if((v|0)==0&(L|0)==0)break a;u=(L|0)<0;X=rVa(0,0,v|0,L|0)|0;Y=I;Z=AVa(v|0,L|0,63)|0;T=Z&255^p;U=w;V=u?Y:L;W=u?X:v;break}if(G>>>0<63){v=AVa(0,H|0,G|0)|0;X=I;u=BVa(0,H|0,0-G&63|0)|0;_=v|((u|0)!=0|(I|0)!=0)&1;$=X}else{_=1;$=0}X=rVa(C|0,x|0,_|0,$|0)|0;T=p;U=w;V=I;W=X}while(0);G=(V|0)==0;H=G?32:0;X=G?W:V;G=X>>>0<65536;u=G?H|16:H;H=G?X<<16:X;X=H>>>0<16777216;G=((X?u|8:u)&255)+(h[442182+((X?H<<8:H)>>>24)>>0]|0)<<24;H=U-(G+-16777216>>24)|0;X=G+-553648128|0;G=X>>24;if((X|0)<0){X=0-G&255;u=AVa(W|0,V|0,X|0)|0;v=BVa(1,0,X|0)|0;X=qVa(v|0,I|0,-1,-1)|0;D=u|((X&W|0)!=0|(I&V|0)!=0)&1;E=(T&1)!=0;F=H;break}else{D=W<>>0>252){if((F|0)>=0){if(!((F|0)>253|(D+64|0)<0)){aa=F;ba=w;ca=D;break}s=(E&1)<<31|2139095040;f[a>>2]=s;return}x=0-F|0;if(x>>>0<31)da=D>>>x|(D<<(F&31)|0)!=0;else da=(D|0)!=0&1;aa=0;ba=da&127;ca=da}else{aa=F;ba=w;ca=D}while(0);w=(ca+64|0)>>>7&~(ba<<24>>24==64);s=((w|0)==0?0:aa<<23)+(w|(E&1)<<31)|0;f[a>>2]=s;return}while(0);if((r|0)==59?!((n^c|0)<0&(l|m|0)==0):0){s=c;f[a>>2]=s;return}s=0;f[a>>2]=s;return}while(0);if((r|0)==53)t=((e&2143289344|0)==2139095040&(e&4194303|0)!=0?e:(e&2139095040|0)!=2139095040|(g|0)==0?b:e)|4194304;else if((r|0)==54)if(q){q=n&-2147483648|2139095040;if((l|0)!=255){s=q;f[a>>2]=s;return}if(!m)if((n^c|0)>-1){s=q;f[a>>2]=s;return}else t=-4194304;else t=q}else t=-4194304;s=((t&2143289344|0)==2139095040&(t&4194303|0)!=0?t:(t&2139095040|0)!=2139095040|(t&8388607|0)==0?c:t)|4194304;f[a>>2]=s;return}function TAa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0;e=b;b=f[e>>2]|0;g=f[e+4>>2]|0;e=c;c=f[e>>2]|0;i=f[e+4>>2]|0;e=d;d=f[e>>2]|0;j=f[e+4>>2]|0;e=AVa(b|0,g|0,52)|0;k=e&2047;e=g&1048575;l=AVa(c|0,i|0,52)|0;m=l&2047;l=i&1048575;n=AVa(d|0,j|0,63)|0;o=n&255;p=AVa(d|0,j|0,52)|0;q=p&2047;p=j&1048575;r=i^g;s=AVa(c^b|0,r|0,63)|0;t=I;u=s&255;do if((k|0)==2047)if((b|0)==0&(e|0)==0?!(((c|0)!=0|(l|0)!=0)&(m|0)==2047):0){v=m;w=c;x=l;y=54}else y=53;else{if((m|0)==2047)if((c|0)==0&(l|0)==0){v=k;w=b;x=e;y=54;break}else{y=53;break}if((q|0)==2047){if((d|0)==0&(p|0)==0){z=d;A=j}else{B=0;C=0;break}D=a;E=D;f[E>>2]=z;F=D+4|0;G=F;f[G>>2]=A;return}if(!k)if((b|0)==0&(e|0)==0)y=59;else{H=(e|0)==0;J=H?32:0;K=H?b:e;H=K>>>0<65536;L=H?J|16:J;J=H?K<<16:K;K=J>>>0<16777216;H=((h[442182+((K?J<<8:J)>>>24)>>0]|0)+((K?L|8:L)&255)<<24)+-184549376>>24;L=BVa(b|0,e|0,H|0)|0;M=1-H|0;N=L;O=I;y=11}else{M=k;N=b;O=e;y=11}a:do if((y|0)==11){if(!m){if((c|0)==0&(l|0)==0){y=59;break}L=(l|0)==0;H=L?32:0;K=L?c:l;L=K>>>0<65536;J=L?H|16:H;H=L?K<<16:K;K=H>>>0<16777216;L=((h[442182+((K?H<<8:H)>>>24)>>0]|0)+((K?J|8:J)&255)<<24)+-184549376>>24;J=BVa(c|0,l|0,L|0)|0;P=1-L|0;Q=J;R=I}else{P=m;Q=c;R=l}J=BVa(N|0,O|0,10)|0;L=BVa(Q|0,R|0,10)|0;K=AVa(N|0,O|0,22)|0;H=K&-1073741825|1073741824;K=AVa(Q|0,R|0,22)|0;S=K&-1073741825|1073741824;K=J&-1024;J=L&-1024;L=wVa(J|0,0,K|0,0)|0;T=I;U=wVa(J|0,0,H|0,0)|0;J=I;V=wVa(S|0,0,K|0,0)|0;K=qVa(V|0,I|0,U|0,J|0)|0;V=I;W=wVa(S|0,0,H|0,0)|0;H=qVa(V|0,(V>>>0>>0|(V|0)==(J|0)&K>>>0>>0)&1|0,W|0,I|0)|0;W=I;U=qVa(0,K|0,L|0,T|0)|0;T=I;L=qVa(H|0,W|0,(T>>>0>>0|(T|0)==(K|0)&U>>>0<0)&1|0,0)|0;K=I;W=K>>>0<536870912|(K|0)==536870912&L>>>0<0;H=BVa(U|0,T|0,1)|0;J=I;V=BVa(L|0,K|0,1)|0;S=P+M+(W?-1023:-1022)|0;X=W?V|(J>>>0>>0|(J|0)==(T|0)&H>>>0>>0)&1:L;L=W?I:K;K=W?H:U;U=W?J:T;do if(!q)if((d|0)==0&(p|0)==0){T=BVa(X|0,L|0,1)|0;Y=(s|0)!=0|(t|0)!=0;Z=S+-1|0;_=T|((K|0)!=0|(U|0)!=0)&1;$=I;break}else{T=(p|0)==0;J=T?32:0;W=T?d:p;T=W>>>0<65536;H=T?J|16:J;J=T?W<<16:W;W=J>>>0<16777216;T=((h[442182+((W?J<<8:J)>>>24)>>0]|0)+((W?H|8:H)&255)<<24)+-184549376>>24;H=BVa(d|0,p|0,T|0)|0;aa=1-T|0;ba=H;ca=I;y=18;break}else{aa=q;ba=d;ca=p;y=18}while(0);do if((y|0)==18){H=BVa(ba|0,ca|0,9)|0;T=I|536870912;W=S-aa|0;J=(W|0)<0;do if(J){if(!((s|0)==(n|0)|(W|0)!=-1)){V=AVa(X|0,L|0,1)|0;da=I;ea=BVa(X|0,L|0,63)|0;fa=I;ga=AVa(K|0,U|0,1)|0;ha=aa;ia=V;ja=da;ka=0;la=0;ma=ea|ga;na=fa|I;oa=0;pa=0;break}fa=0-W|0;if(fa>>>0<63){ga=AVa(X|0,L|0,fa|0)|0;fa=I;ea=BVa(X|0,L|0,W&63|0)|0;ha=aa;ia=ga|((ea|0)!=0|(I|0)!=0)&1;ja=fa;ka=0;la=0;ma=K;na=U;oa=0;pa=0;break}else{ha=aa;ia=((X|0)!=0|(L|0)!=0)&1;ja=0;ka=0;la=0;ma=K;na=U;oa=0;pa=0;break}}else if(W){if(W>>>0<64){fa=AVa(H|0,T|0,W|0)|0;ea=I;ga=BVa(H|0,T|0,0-W&63|0)|0;ha=S;ia=X;ja=L;ka=ga;la=I;ma=K;na=U;oa=fa;pa=ea;break}if(W>>>0<127){ea=W&63;fa=AVa(H|0,T|0,ea|0)|0;ga=I;da=BVa(1,0,ea|0)|0;ea=qVa(da|0,I|0,-1,-1)|0;ha=S;ia=X;ja=L;ka=fa|((ea&H|0)!=0|(I&T|0)!=0)&1;la=ga;ma=K;na=U;oa=0;pa=0}else{ha=S;ia=X;ja=L;ka=1;la=0;ma=K;na=U;oa=0;pa=0}}else{ha=S;ia=X;ja=L;ka=0;la=0;ma=K;na=U;oa=0;pa=0}while(0);if((s|0)==(n|0)){if((W|0)<1){ga=qVa(ia|0,ja|0,H|0,T|0)|0;qa=ma;ra=na;sa=ga;ta=I}else{ga=qVa(ka|0,la|0,ma|0,na|0)|0;ea=I;fa=qVa(oa|0,pa|0,ia|0,ja|0)|0;da=qVa(fa|0,I|0,(ea>>>0>>0|(ea|0)==(na|0)&ga>>>0>>0)&1|0,0)|0;qa=ga;ra=ea;sa=da;ta=I}da=sa|((qa|0)!=0|(ra|0)!=0)&1;ea=ta>>>0<1073741824|(ta|0)==1073741824&da>>>0<0;ga=BVa(da|0,ta|0,ea&1|0)|0;Y=(s|0)!=0|(t|0)!=0;Z=ha+(ea<<31>>31)|0;_=ga;$=I;break}do if(J){ga=rVa(0,0,ma|0,na|0)|0;ea=I;da=rVa(H|0,T|0,ia|0,ja|0)|0;fa=((ma|0)!=0|(na|0)!=0)<<31>>31;V=qVa(da|0,I|0,fa|0,((fa|0)<0)<<31>>31|0)|0;ua=o;va=V;wa=I;xa=ga;ya=ea}else{if(W|0){ea=rVa(ma|0,na|0,ka|0,la|0)|0;ga=I;V=rVa(ia|0,ja|0,oa|0,pa|0)|0;fa=(na>>>0>>0|(na|0)==(la|0)&ma>>>0>>0)<<31>>31;da=qVa(V|0,I|0,fa|0,((fa|0)<0)<<31>>31|0)|0;ua=u;va=da;wa=I;xa=ea;ya=ga;break}ga=rVa(ia|0,ja|0,H|0,T|0)|0;ea=I;if((ga|ma|0)==0&(ea|na|0)==0)break a;da=(ea|0)<0;fa=rVa(0,0,ma|0,na|0)|0;V=I;za=((ma|0)!=0|(na|0)!=0)<<31>>31;Aa=rVa(za|0,((za|0)<0)<<31>>31|0,ga|0,ea|0)|0;za=I;Ba=AVa(ga|0,ea|0,63)|0;ua=(Ba^s)&255;va=da?Aa:ga;wa=da?za:ea;xa=da?fa:ma;ya=da?V:na}while(0);T=(va|0)==0&(wa|0)==0;H=T?xa:va;W=T?ya:wa;J=T?0:xa;V=T?0:ya;da=(W|0)==0;fa=da?32:0;ea=da?H:W;da=ea>>>0<65536;za=da?fa|16:fa;fa=da?ea<<16:ea;ea=fa>>>0<16777216;da=(((ea?za|8:za)&255)+(h[442182+((ea?fa<<8:fa)>>>24)>>0]|0)&255)+255|0;fa=da<<24;ea=fa>>24;if((fa|0)<0){fa=0-ea&255;za=AVa(H|0,W|0,fa|0)|0;ga=I;Aa=BVa(1,0,fa|0)|0;fa=qVa(Aa|0,I|0,-1,-1)|0;Ca=J;Da=V;Ea=za|((fa&H|0)!=0|(I&W|0)!=0)&1;Fa=ga}else{ga=da&255;fa=BVa(H|0,W|0,ga|0)|0;W=I;H=AVa(J|0,V|0,0-(da&255)&63|0)|0;da=I|W;W=BVa(J|0,V|0,ga|0)|0;Ca=W;Da=I;Ea=H|fa;Fa=da}Y=(ua&1)!=0;Z=(T?ha+-64|0:ha)-ea|0;_=Ea|((Ca|0)!=0|(Da|0)!=0)&1;$=Fa}while(0);U=_&1023;do if((Z&65535)>>>0>2044){if((Z|0)>=0){qVa(_|0,$|0,512,0)|0;if(!((Z|0)>2045|(I|0)<0)){Ga=Z;Ha=U;Ia=_;Ja=$;break}K=BVa(Y&1|0,0,63)|0;z=K;A=I|2146435072;D=a;E=D;f[E>>2]=z;F=D+4|0;G=F;f[G>>2]=A;return}K=0-Z|0;if(K>>>0<63){L=AVa(_|0,$|0,K|0)|0;K=I;X=BVa(_|0,$|0,Z&63|0)|0;Ka=L|((X|0)!=0|(I|0)!=0)&1;La=K}else{Ka=((_|0)!=0|($|0)!=0)&1;La=0}Ga=0;Ha=Ka&1023;Ia=Ka;Ja=La}else{Ga=Z;Ha=U;Ia=_;Ja=$}while(0);U=qVa(Ia|0,Ja|0,512,0)|0;K=AVa(U|0,I|0,10)|0;U=I;X=K&~((Ha|0)==512);K=(X|0)==0&(U|0)==0;L=BVa(Y&1|0,0,63)|0;S=I;ea=BVa(Ga|0,0,52)|0;T=qVa((K?0:ea)|0,(K?0:I)|0,X|L|0,U|S|0)|0;z=T;A=I;D=a;E=D;f[E>>2]=z;F=D+4|0;G=F;f[G>>2]=A;return}while(0);if((y|0)==59){if(!((d|q|0)==0&(p|0)==0)){z=d;A=j;D=a;E=D;f[E>>2]=z;F=D+4|0;G=F;f[G>>2]=A;return}if((s|0)==(n|0)){z=d;A=j;D=a;E=D;f[E>>2]=z;F=D+4|0;G=F;f[G>>2]=A;return}}z=0;A=0;D=a;E=D;f[E>>2]=z;F=D+4|0;G=F;f[G>>2]=A;return}while(0);if((y|0)==53){Ga=0==0&(g&2146959360|0)==2146435072&((b|0)!=0|(g&524287|0)!=0);Y=0!=0|(g&2146435072|0)!=2146435072|(b|0)==0&(e|0)==0;B=(Ga?g:Y?i:g)|524288;C=Ga?b:Y?c:b}else if((y|0)==54)if(!((w|v|0)==0&(x|0)==0)){x=r&-2147483648|2146435072;if((q|0)!=2047){z=0;A=x;D=a;E=D;f[E>>2]=z;F=D+4|0;G=F;f[G>>2]=A;return}if((d|0)==0&(p|0)==0)if((s|0)==(n|0)){z=0;A=x;D=a;E=D;f[E>>2]=z;F=D+4|0;G=F;f[G>>2]=A;return}else{B=-524288;C=0}else{B=x;C=0}}else{B=-524288;C=0}x=0==0&(B&2146959360|0)==2146435072&((C|0)!=0|(B&524287|0)!=0);n=0!=0|(B&2146435072|0)!=2146435072|(C|0)==0&(B&1048575|0)==0;z=x?C:n?d:C;A=(x?B:n?j:B)|524288;D=a;E=D;f[E>>2]=z;F=D+4|0;G=F;f[G>>2]=A;return}function UAa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=b;b=f[e+4>>2]|0;g=d;f[g>>2]=f[e>>2];f[g+4>>2]=b;VAa(a,d);u=c;return}function VAa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0;d=u;u=u+176|0;e=d+160|0;g=d+144|0;h=d+136|0;i=d+120|0;j=d+104|0;k=d+96|0;l=d+168|0;m=d+152|0;n=d+88|0;o=d+80|0;p=d+128|0;q=d+72|0;r=d+112|0;s=d+64|0;t=d+56|0;v=d+48|0;w=d+40|0;x=d+32|0;y=d+24|0;z=d+16|0;A=d+8|0;B=d;C=c;D=f[C>>2]|0;E=f[C+4>>2]|0;C=E&2147483647;if(C>>>0>2146435072|(C|0)==2146435072&D>>>0>0){F=a;f[F>>2]=-1;f[F+4>>2]=2147483647;u=d;return}if((D|0)==0&(C|0)==2146435072)if((D|0)==0&(E|0)==2146435072&(0!=0|(E&2146435072|0)!=2146435072|(D|0)==0&(E&1048575|0)==0)){E=a;f[E>>2]=0;f[E+4>>2]=2146435072;u=d;return}else{E=a;f[E>>2]=0;f[E+4>>2]=0;u=d;return}if((b[454e3]|0)==0?jVa(454e3)|0:0){E=e;f[E>>2]=0;f[E+4>>2]=1072693248;PAa(454008,e,18560)}if((b[454016]|0)==0?jVa(454016)|0:0){e=g;f[e>>2]=-17155599;f[e+4>>2]=1072049730;PAa(454024,g,18560)}if((b[454032]|0)==0?jVa(454032)|0:0){g=h;f[g>>2]=-8215462;f[g+4>>2]=1070514109;PAa(454040,h,18560)}if((b[454048]|0)==0?jVa(454048)|0:0){h=i;f[h>>2]=-668996491;f[h+4>>2]=1068264200;PAa(454056,i,18560)}if((b[454064]|0)==0?jVa(454064)|0:0){i=j;f[i>>2]=726613203;f[i+4>>2]=1065595559;PAa(454072,j,18560)}if((b[454080]|0)==0?jVa(454080)|0:0){j=k;f[j>>2]=359056036;f[j+4>>2]=1062594474;PAa(454088,k,18560)}k=l;f[k>>2]=0;f[k+4>>2]=0;k=f[c+4>>2]|0;j=k&2145386496;if(j>>>0>1083179008|(j|0)==1083179008&0>0){j=k&-2147483648|1091006464;k=l;f[k>>2]=0;f[k+4>>2]=j;G=0;H=j}else{OAa(m,c,18568);c=m;j=f[c>>2]|0;k=f[c+4>>2]|0;c=l;f[c>>2]=j;f[c+4>>2]=k;G=j;H=k}k=AVa(G|0,H|0,52)|0;j=k&2047;k=H&1048575;c=(H|0)<0;i=(G|0)==0&(k|0)==0|(j|0)!=2047;h=c&i;g=(j|0)==0;e=g?G:G;E=g?k:k|1048576;g=1063-j|0;do if((g|0)>0)if(g>>>0<63){D=AVa(e|0,E|0,g|0)|0;C=I;F=BVa(e|0,E|0,0-g&63|0)|0;J=D|((F|0)!=0|(I|0)!=0)&1;K=C;break}else{J=((e|0)!=0|(E|0)!=0)&1;K=0;break}else{J=e;K=E}while(0);E=qVa(J|0,K|0,2048,0)|0;K=I;if(!(K>>>0>4095|(K|0)==4095&E>>>0>4294967295)){e=AVa(E|0,K|0,12)|0;K=e&~((J&4095|0)==2048&0==0&1);J=h?0-K|0:K;if((K|0)!=0?(J>>>31|0)!=(h&1|0):0)L=35;else M=J}else L=35;if((L|0)==35)M=h?-2147483648:2147483647;h=M>>6;L=h+1023|0;J=(h|0)<-1023;h=BVa(((L|0)<2047?L:2047)|0,0,52)|0;L=m;f[L>>2]=J?0:h;f[L+4>>2]=J?0:I;do if(j>>>0>=1023){if(j>>>0<=1074){J=BVa(1,0,1075-j|0)|0;L=I;h=qVa(J|0,L|0,-1,-1)|0;K=I;e=AVa(J|0,L|0,1)|0;E=qVa(e|0,I|0,G|0,H|0)|0;e=I;g=(E&h|0)==0&(e&K|0)==0;K=rVa(0,0,J|0,L|0)|0;N=E&K&(g?~J:-1);O=e&I&(g?~L:-1);break}if(i){N=G;O=H}else{L=0==0&(H&2146959360|0)==2146435072&((G|0)!=0|(H&524287|0)!=0);g=0!=0|(H&2146435072|0)!=2146435072;N=L?G:g?0:G;O=(L?H:g?0:H)|524288}}else{g=(G|0)==0&(H&2147483647|0)==0;L=H&-2147483648;e=((G|0)!=0|(k|0)!=0)&(j|0)==1022;N=g?G:e?0:0;O=g?H:e?L|1072693248:L}while(0);j=AVa(G|0,H|0,63)|0;k=AVa(N|0,O|0,63)|0;if((j|0)==(k|0))MAa(n,G,H,N,O,c);else LAa(n,G,H,N,O,c);OAa(l,n,18576);OAa(o,m,18560);m=18584+((M&63)<<3)|0;M=f[m+4>>2]|0;n=p;f[n>>2]=f[m>>2];f[n+4>>2]=M;OAa(q,o,p);OAa(s,454088,l);p=s;s=f[p>>2]|0;o=f[p+4>>2]|0;p=454072;M=f[p>>2]|0;n=f[p+4>>2]|0;p=(o|0)<0;m=AVa(s|0,o|0,63)|0;c=AVa(M|0,n|0,63)|0;if((m|0)==(c|0))LAa(t,s,o,M,n,p);else MAa(t,s,o,M,n,p);OAa(v,t,l);t=v;v=f[t>>2]|0;p=f[t+4>>2]|0;t=454056;n=f[t>>2]|0;M=f[t+4>>2]|0;t=(p|0)<0;o=AVa(v|0,p|0,63)|0;s=AVa(n|0,M|0,63)|0;if((o|0)==(s|0))LAa(w,v,p,n,M,t);else MAa(w,v,p,n,M,t);OAa(x,w,l);w=x;x=f[w>>2]|0;t=f[w+4>>2]|0;w=454040;M=f[w>>2]|0;n=f[w+4>>2]|0;w=(t|0)<0;p=AVa(x|0,t|0,63)|0;v=AVa(M|0,n|0,63)|0;if((p|0)==(v|0))LAa(y,x,t,M,n,w);else MAa(y,x,t,M,n,w);OAa(z,y,l);y=z;z=f[y>>2]|0;w=f[y+4>>2]|0;y=454024;n=f[y>>2]|0;M=f[y+4>>2]|0;y=(w|0)<0;t=AVa(z|0,w|0,63)|0;x=AVa(n|0,M|0,63)|0;if((t|0)==(x|0))LAa(A,z,w,n,M,y);else MAa(A,z,w,n,M,y);OAa(B,A,l);l=B;B=f[l>>2]|0;A=f[l+4>>2]|0;l=454008;y=f[l>>2]|0;M=f[l+4>>2]|0;l=(A|0)<0;n=AVa(B|0,A|0,63)|0;w=AVa(y|0,M|0,63)|0;if((n|0)==(w|0))LAa(r,B,A,y,M,l);else MAa(r,B,A,y,M,l);OAa(a,q,r);u=d;return}function WAa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;d=u;u=u+240|0;e=d+232|0;g=d+224|0;i=d+216|0;j=d+208|0;k=d+200|0;l=d+192|0;m=d+184|0;n=d+176|0;o=d+168|0;p=d+160|0;q=d+152|0;r=d+144|0;s=d+128|0;t=d+136|0;v=d+120|0;w=d+112|0;x=d+96|0;y=d+88|0;z=d+80|0;A=d+72|0;B=d+64|0;C=d+56|0;D=d+48|0;E=d+104|0;F=d+40|0;G=d+32|0;H=d+24|0;J=d+16|0;K=d+8|0;L=d;M=c;N=f[M>>2]|0;O=f[M+4>>2]|0;M=O&2147483647;if(!(M>>>0>2146435072|(M|0)==2146435072&N>>>0>0)?(P=O&2146435072,Q=O&1048575,(N|0)==0&(M|0)==0|((O|0)>-1|(O|0)==-1&N>>>0>4294967295|((N|0)!=0|(Q|0)!=0)&(0==0&(P|0)==2146435072))):0){a:do if(0!=0|(P|0)!=2146435072|(N|0)==0&(Q|0)==0?(N|0)==0:0){if((O|0)<0)switch(O|0){case -2147483648:break;default:break a}else switch(O|0){case 0:break;default:break a}M=a;f[M>>2]=0;f[M+4>>2]=-1048576;u=d;return}while(0);if((b[454096]|0)==0?jVa(454096)|0:0){O=454104;f[O>>2]=0;f[O+4>>2]=1072693248}if((b[454112]|0)==0?jVa(454112)|0:0){O=g;f[O>>2]=0;f[O+4>>2]=-1074790400;O=e;f[O>>2]=0;f[O+4>>2]=1073741824;PAa(454120,g,e)}if((b[454128]|0)==0?jVa(454128)|0:0){g=i;f[g>>2]=0;f[g+4>>2]=1072693248;g=e;f[g>>2]=0;f[g+4>>2]=1074266112;PAa(454136,i,e)}if((b[454144]|0)==0?jVa(454144)|0:0){i=j;f[i>>2]=0;f[i+4>>2]=-1074790400;i=e;f[i>>2]=0;f[i+4>>2]=1074790400;PAa(454152,j,e)}if((b[454160]|0)==0?jVa(454160)|0:0){j=k;f[j>>2]=0;f[j+4>>2]=1072693248;j=e;f[j>>2]=0;f[j+4>>2]=1075052544;PAa(454168,k,e)}if((b[454176]|0)==0?jVa(454176)|0:0){k=l;f[k>>2]=0;f[k+4>>2]=-1074790400;k=e;f[k>>2]=0;f[k+4>>2]=1075314688;PAa(454184,l,e)}if((b[454192]|0)==0?jVa(454192)|0:0){l=m;f[l>>2]=0;f[l+4>>2]=1072693248;l=e;f[l>>2]=0;f[l+4>>2]=1075576832;PAa(454200,m,e)}if((b[454208]|0)==0?jVa(454208)|0:0){m=n;f[m>>2]=0;f[m+4>>2]=-1074790400;m=e;f[m>>2]=0;f[m+4>>2]=1075838976;PAa(454216,n,e)}n=c;m=f[n>>2]|0;l=f[n+4>>2]|0;n=AVa(m|0,l|0,44)|0;k=n&255;n=l&4095|1072693248;l=o;f[l>>2]=m;f[l+4>>2]=n;MAa(o,m,n,0,1072693248,0);n=k<<1;m=4112+(n<<3)|0;l=f[m>>2]|0;j=f[m+4>>2]|0;m=4112+((n|1)<<3)|0;n=f[m+4>>2]|0;i=p;f[i>>2]=f[m>>2];f[i+4>>2]=n;OAa(q,o,p);if((k|0)==255){k=s;f[k>>2]=0;f[k+4>>2]=-1074790400;k=t;f[k>>2]=0;f[k+4>>2]=1082130432;PAa(r,s,t);s=q;k=f[s>>2]|0;p=f[s+4>>2]|0;s=r;o=f[s>>2]|0;n=f[s+4>>2]|0;s=(p|0)<0;i=AVa(k|0,p|0,63)|0;m=AVa(o|0,n|0,63)|0;if((i|0)==(m|0))LAa(e,k,p,o,n,s);else MAa(e,k,p,o,n,s);s=e;n=f[s+4>>2]|0;o=q;f[o>>2]=f[s>>2];f[o+4>>2]=n}OAa(e,q,q);n=c;c=AVa(f[n>>2]|0,f[n+4>>2]|0,52)|0;n=c&2047;c=n+-1023|0;if(!c){R=0;S=0}else{o=n>>>0<1023?1023-n|0:c;n=o>>>0<65536;s=n?o<<16:o;p=n?16:0;n=s>>>0<16777216;k=(h[442182+((n?s<<8:s)>>>24)>>0]|0)+((n?p|8:p)&255)|0;p=BVa(c>>>31|0,0,63)|0;c=I;n=(k<<24)+352321536>>24;k=BVa(1074-n|0,0,52)|0;s=I;m=BVa(o|0,0,n|0)|0;n=qVa(m|0,I|0,p|0,c|0)|0;c=qVa(n|0,I|0,k|0,s|0)|0;R=c;S=I}c=r;f[c>>2]=R;f[c+4>>2]=S;OAa(v,19096,r);r=v;v=f[r>>2]|0;S=f[r+4>>2]|0;r=(S|0)<0;c=AVa(v|0,S|0,63)|0;R=AVa(l|0,j|0,63)|0;if((c|0)==(R|0))LAa(w,v,S,l,j,r);else MAa(w,v,S,l,j,r);OAa(x,454216,e);r=x;x=f[r>>2]|0;j=f[r+4>>2]|0;r=454184;l=f[r>>2]|0;S=f[r+4>>2]|0;r=(j|0)<0;v=AVa(x|0,j|0,63)|0;R=AVa(l|0,S|0,63)|0;if((v|0)==(R|0))LAa(y,x,j,l,S,r);else MAa(y,x,j,l,S,r);OAa(z,y,e);y=z;z=f[y>>2]|0;r=f[y+4>>2]|0;y=454152;S=f[y>>2]|0;l=f[y+4>>2]|0;y=(r|0)<0;j=AVa(z|0,r|0,63)|0;x=AVa(S|0,l|0,63)|0;if((j|0)==(x|0))LAa(A,z,r,S,l,y);else MAa(A,z,r,S,l,y);OAa(B,A,e);A=B;B=f[A>>2]|0;y=f[A+4>>2]|0;A=454120;l=f[A>>2]|0;S=f[A+4>>2]|0;A=(y|0)<0;r=AVa(B|0,y|0,63)|0;z=AVa(l|0,S|0,63)|0;if((r|0)==(z|0))LAa(C,B,y,l,S,A);else MAa(C,B,y,l,S,A);OAa(t,C,e);C=w;w=f[C>>2]|0;A=f[C+4>>2]|0;C=t;t=f[C>>2]|0;S=f[C+4>>2]|0;C=(A|0)<0;l=AVa(w|0,A|0,63)|0;y=AVa(t|0,S|0,63)|0;if((l|0)==(y|0))LAa(D,w,A,t,S,C);else MAa(D,w,A,t,S,C);OAa(F,454200,e);C=F;F=f[C>>2]|0;S=f[C+4>>2]|0;C=454168;t=f[C>>2]|0;A=f[C+4>>2]|0;C=(S|0)<0;w=AVa(F|0,S|0,63)|0;y=AVa(t|0,A|0,63)|0;if((w|0)==(y|0))LAa(G,F,S,t,A,C);else MAa(G,F,S,t,A,C);OAa(H,G,e);G=H;H=f[G>>2]|0;C=f[G+4>>2]|0;G=454136;A=f[G>>2]|0;t=f[G+4>>2]|0;G=(C|0)<0;S=AVa(H|0,C|0,63)|0;F=AVa(A|0,t|0,63)|0;if((S|0)==(F|0))LAa(J,H,C,A,t,G);else MAa(J,H,C,A,t,G);OAa(K,J,e);e=K;K=f[e>>2]|0;J=f[e+4>>2]|0;e=454104;G=f[e>>2]|0;t=f[e+4>>2]|0;e=(J|0)<0;A=AVa(K|0,J|0,63)|0;C=AVa(G|0,t|0,63)|0;if((A|0)==(C|0))LAa(L,K,J,G,t,e);else MAa(L,K,J,G,t,e);OAa(E,L,q);q=D;D=f[q>>2]|0;L=f[q+4>>2]|0;q=E;E=f[q>>2]|0;e=f[q+4>>2]|0;q=(L|0)<0;t=AVa(D|0,L|0,63)|0;G=AVa(E|0,e|0,63)|0;if((t|0)==(G|0))LAa(a,D,L,E,e,q);else MAa(a,D,L,E,e,q);u=d;return}q=a;f[q>>2]=-1;f[q+4>>2]=2147483647;u=d;return}function XAa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;e=u;u=u+64|0;g=e+56|0;h=e+48|0;i=e+40|0;j=e+32|0;k=e+8|0;l=e;m=e+24|0;n=e+16|0;o=c;c=f[o+4>>2]|0;p=m;f[p>>2]=f[o>>2];f[p+4>>2]=c;c=d;d=f[c+4>>2]|0;p=n;f[p>>2]=f[c>>2];f[p+4>>2]=d;if((b[454224]|0)==0?jVa(454224)|0:0){d=454232;f[d>>2]=0;f[d+4>>2]=0}if((b[454240]|0)==0?jVa(454240)|0:0){d=454248;f[d>>2]=0;f[d+4>>2]=1072693248}if((b[454256]|0)==0?jVa(454256)|0:0){d=454264;f[d>>2]=0;f[d+4>>2]=2146435072}if((b[454272]|0)==0?jVa(454272)|0:0){d=454280;f[d>>2]=-1;f[d+4>>2]=2147483647}d=m;m=f[d>>2]|0;p=f[d+4>>2]|0;d=p&2147483647;c=(m|0)==0&(d|0)==2146435072;o=n;q=f[o>>2]|0;r=f[o+4>>2]|0;o=r&2147483647;s=(q|0)==0&(o|0)==2146435072;t=d>>>0>2146435072|(d|0)==2146435072&m>>>0>0;v=o>>>0>2146435072|(o|0)==2146435072&q>>>0>0;w=454232;x=f[w>>2]|0;y=f[w+4>>2]|0;w=y&2146435072;z=y&1048575;A=0!=0|(w|0)!=2146435072|(x|0)==0&(z|0)==0;do if(A?0!=0|(r&2146435072|0)!=2146435072|(q|0)==0&(r&1048575|0)==0:0){B=AVa(x|0,y|0,63)|0;C=AVa(q|0,r|0,63)|0;if((B|0)==(C|0)){D=((x|0)!=(q|0)|(y|0)!=(r|0))&(B|0)!=((y>>>0>>0|(y|0)==(r|0)&x>>>0>>0)&1|0);break}else{D=(y|0)<0&((x|q|0)!=0|((y|r)&2147483647|0)!=0);break}}else D=0;while(0);B=454248;C=f[B>>2]|0;E=f[B+4>>2]|0;B=E&2146435072;F=0!=0|(B|0)!=2146435072;G=E&1048575;H=(C|0)==0&(G|0)==0;do if(F|H?0!=0|(p&2146435072|0)!=2146435072|(m|0)==0&(p&1048575|0)==0:0)if((E|0)>-1|(E|0)==-1&C>>>0>4294967295){J=E>>>0>>0|(E|0)==(d|0)&C>>>0>>0;break}else{J=(C|m|0)!=0|((E|p)&2147483647|0)!=0;break}else J=0;while(0);K=D^J;J=a;f[J>>2]=0;f[J+4>>2]=0;if(v){if((a|0)==454280){u=e;return}v=454280;J=f[v+4>>2]|0;D=a;f[D>>2]=f[v>>2];f[D+4>>2]=J;u=e;return}if(s){if(((m|0)!=0|(p&1048575|0)!=0)&(0==0&(p&2146435072|0)==2146435072)|(F|H)^1){L=t;M=K?454232:454264}else{L=(m|0)==(C|0)&(d|0)==(E|0)|(C|m|0)==0&((E|p)&2147483647|0)==0;M=t?454280:K?454232:454264}K=L?454280:M;if((K|0)==(a|0)){u=e;return}M=K;K=f[M+4>>2]|0;L=a;f[L>>2]=f[M>>2];f[L+4>>2]=K;u=e;return}K=0!=0|(r&2146435072|0)!=2146435072;L=r&1048575;M=(q|0)==0&(L|0)==0;d=K|M;do if(d){if(((x|0)!=0|(z|0)!=0)&(0==0&(w|0)==2146435072)|((q|0)!=(x|0)|(r|0)!=(y|0))&((x|q|0)!=0|((y|r)&2147483647|0)!=0)){if(((C|0)!=0|(G|0)!=0)&(0==0&(B|0)==2146435072)|((q|0)!=(C|0)|(r|0)!=(E|0))&((C|q|0)!=0|((E|r)&2147483647|0)!=0))break;H=a;f[H>>2]=m;f[H+4>>2]=p;u=e;return}if((a|0)==454248){u=e;return}H=a;f[H>>2]=C;f[H+4>>2]=E;u=e;return}while(0);if(t){if((a|0)==454280){u=e;return}t=454280;E=f[t+4>>2]|0;C=a;f[C>>2]=f[t>>2];f[C+4>>2]=E;u=e;return}if(c){do if(d&A){c=AVa(q|0,r|0,63)|0;E=AVa(x|0,y|0,63)|0;if((c|0)==(E|0)){if(!(((q|0)!=(x|0)|(r|0)!=(y|0))&(E|0)!=((r>>>0>>0|(r|0)==(y|0)&q>>>0>>0)&1|0))){N=454264;break}}else if(!((r|0)<0&((x|q|0)!=0|((y|r)&2147483647|0)!=0))){N=454264;break}N=454232}else N=454264;while(0);if((N|0)==(a|0)){u=e;return}E=N;N=f[E+4>>2]|0;c=a;f[c>>2]=f[E>>2];f[c+4>>2]=N;u=e;return}N=AVa(q|0,r|0,52)|0;c=N&2047;do if(c>>>0>=1023){if(c>>>0<=1074){N=BVa(1,0,1075-c|0)|0;E=I;C=qVa(N|0,E|0,-1,-1)|0;t=I;B=AVa(N|0,E|0,1)|0;G=qVa(B|0,I|0,q|0,r|0)|0;B=I;H=(G&C|0)==0&(B&t|0)==0;t=rVa(0,0,N|0,E|0)|0;O=B&I&(H?~E:-1);P=G&t&(H?~N:-1);break}if(M|(c|0)!=2047){O=r;P=q}else{N=0==0&(r&2146959360|0)==2146435072&((q|0)!=0|(r&524287|0)!=0);O=(N?r:K?0:r)|524288;P=N?q:K?0:q}}else{N=(q|0)==0&(o|0)==0;H=r&-2147483648;t=((q|0)!=0|(L|0)!=0)&(c|0)==1022;O=N?r:t?H|1072693248:H;P=N?q:t?0:0}while(0);if(d?!(((P|0)!=0|(O&1048575|0)!=0)&(0==0&(O&2146435072|0)==2146435072)|((q|0)!=(P|0)|(r|0)!=(O|0))&((P|q|0)!=0|((O|r)&2147483647|0)!=0)):0){O=(r|0)<0&(M|(c|0)!=2047);M=(c|0)==0;P=M?q:q;o=M?L:L|1048576;L=1063-c|0;do if((L|0)>0)if(L>>>0<63){c=AVa(P|0,o|0,L|0)|0;M=I;K=BVa(P|0,o|0,0-L&63|0)|0;Q=c|((K|0)!=0|(I|0)!=0)&1;R=M;break}else{Q=((P|0)!=0|(o|0)!=0)&1;R=0;break}else{Q=P;R=o}while(0);o=qVa(Q|0,R|0,2048,0)|0;R=I;if(!(R>>>0>4095|(R|0)==4095&o>>>0>4294967295)){P=AVa(o|0,R|0,12)|0;R=P&~((Q&4095|0)==2048&0==0&1);Q=O?0-R|0:R;if((R|0)!=0?(Q>>>31|0)!=(O&1|0):0)S=64;else T=Q}else S=64;if((S|0)==64)T=O?-2147483648:2147483647;a:do if(0!=0|(p&2146435072|0)!=2146435072|(m|0)==0&(p&1048575|0)==0?(m|0)==0:0){if((p|0)<0)switch(p|0){case -2147483648:break;default:{S=69;break a}}else switch(p|0){case 0:break;default:{S=69;break a}}O=(T|0)<0;Q=(T|0)==0;U=O?0:Q?0:0;V=O?2146435072:Q?1072693248:0}else S=69;while(0);if((S|0)==69){S=h;f[S>>2]=0;f[S+4>>2]=1072693248;S=i;f[S>>2]=m;f[S+4>>2]=p;S=(T|0)>-1?T:0-T|0;if((T|0)<0){T=j;f[T>>2]=0;f[T+4>>2]=1072693248;PAa(g,j,i);j=g;T=f[j+4>>2]|0;Q=i;f[Q>>2]=f[j>>2];f[Q+4>>2]=T}if((S|0)>1){T=S;while(1){if(T&1|0){OAa(g,h,i);S=g;Q=f[S+4>>2]|0;j=h;f[j>>2]=f[S>>2];f[j+4>>2]=Q}OAa(g,i,i);Q=g;j=f[Q+4>>2]|0;S=i;f[S>>2]=f[Q>>2];f[S+4>>2]=j;if(T>>>0>3)T=T>>>1;else break}}OAa(g,h,i);i=g;U=f[i>>2]|0;V=f[i+4>>2]|0}i=a;f[i>>2]=U;f[i+4>>2]=V;u=e;return}if(0!=0|(p&2146435072|0)!=2146435072|(m|0)==0&(p&1048575|0)==0){do if(A){V=AVa(m|0,p|0,63)|0;i=AVa(x|0,y|0,63)|0;if((V|0)==(i|0)){if(!(((m|0)!=(x|0)|(p|0)!=(y|0))&(i|0)!=((p>>>0>>0|(p|0)==(y|0)&m>>>0>>0)&1|0)))break}else if(!((p|0)<0&((x|m|0)!=0|((y|p)&2147483647|0)!=0)))break;if((a|0)==454280){u=e;return}i=454280;V=f[i+4>>2]|0;U=a;f[U>>2]=f[i>>2];f[U+4>>2]=V;u=e;return}while(0);if(!(((x|0)!=0|(z|0)!=0)&(0==0&(w|0)==2146435072)|((m|0)!=(x|0)|(p|0)!=(y|0))&((x|m|0)!=0|((y|p)&2147483647|0)!=0))){do if(d&A){w=AVa(q|0,r|0,63)|0;z=AVa(x|0,y|0,63)|0;if((w|0)!=(z|0)){w=x|q;V=(y|r)&2147483647;if((r|0)<0&((w|0)!=0|(V|0)!=0)){W=454264;break}else{X=w;Y=V}}else{if(((q|0)!=(x|0)|(r|0)!=(y|0))&(z|0)!=((r>>>0>>0|(r|0)==(y|0)&q>>>0>>0)&1|0)){W=454264;break}X=x|q;Y=(y|r)&2147483647}W=(q|0)==(x|0)&(r|0)==(y|0)|(X|0)==0&(Y|0)==0?454248:454232}else W=454232;while(0);if((W|0)==(a|0)){u=e;return}Y=W;W=f[Y+4>>2]|0;X=a;f[X>>2]=f[Y>>2];f[X+4>>2]=W;u=e;return}}W=l;f[W>>2]=m;f[W+4>>2]=p;WAa(h,l);OAa(k,n,h);VAa(g,k);if((g|0)!=(a|0)){k=g;g=f[k+4>>2]|0;h=a;f[h>>2]=f[k>>2];f[h+4>>2]=g}u=e;return}function YAa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;c=u;u=u+160|0;d=c+152|0;e=c+144|0;g=c+136|0;h=c+128|0;i=c+120|0;j=c+112|0;k=c+104|0;l=c+96|0;m=c+88|0;n=c+80|0;o=c+72|0;p=c+64|0;q=c+56|0;r=c+48|0;s=c+40|0;t=c+32|0;v=c+24|0;w=c+16|0;x=c+8|0;y=c;z=f[b>>2]|0;b=z&2147483647;if(b>>>0>2139095040){f[a>>2]=2147483647;u=c;return}if((b|0)==2139095040){f[a>>2]=z;u=c;return}A=(z>>>23&255)+-127|0;B=(A|0)%3|0;C=B+-3-(B>>31&-3)|0;B=BVa(C+1023|0,0,52)|0;D=I;E=BVa(z&8388607|0,0,29)|0;F=d;f[F>>2]=B|E;f[F+4>>2]=D|I;D=e;f[D>>2]=1716763248;f[D+4>>2]=1078370462;D=g;f[D>>2]=1712249633;f[D+4>>2]=1076731424;OAa(i,e,d);e=i;i=f[e>>2]|0;D=f[e+4>>2]|0;e=(D|0)<0;if((D|0)>-1|(D|0)==-1&i>>>0>4294967295)LAa(j,i,D,1818302176,1080559860,e);else MAa(j,i,D,1818302176,1080559860,e);OAa(k,j,d);j=k;k=f[j>>2]|0;e=f[j+4>>2]|0;j=(e|0)<0;if((e|0)>-1|(e|0)==-1&k>>>0>4294967295)LAa(l,k,e,1134341652,1079888535,j);else MAa(l,k,e,1134341652,1079888535,j);OAa(m,l,d);l=m;m=f[l>>2]|0;j=f[l+4>>2]|0;l=(j|0)<0;if((j|0)>-1|(j|0)==-1&m>>>0>4294967295)LAa(n,m,j,-763202304,1076551024,l);else MAa(n,m,j,-763202304,1076551024,l);OAa(o,n,d);n=o;o=f[n>>2]|0;l=f[n+4>>2]|0;n=(l|0)<0;if((l|0)>-1|(l|0)==-1&o>>>0>4294967295)LAa(p,o,l,-2081071827,1069871455,n);else MAa(p,o,l,-2081071827,1069871455,n);OAa(r,g,d);g=r;r=f[g>>2]|0;n=f[g+4>>2]|0;g=(n|0)<0;if((n|0)>-1|(n|0)==-1&r>>>0>4294967295)LAa(s,r,n,-1071097835,1080229653,g);else MAa(s,r,n,-1071097835,1080229653,g);OAa(t,s,d);s=t;t=f[s>>2]|0;g=f[s+4>>2]|0;s=(g|0)<0;if((g|0)>-1|(g|0)==-1&t>>>0>4294967295)LAa(v,t,g,1786843854,1080365264,s);else MAa(v,t,g,1786843854,1080365264,s);OAa(w,v,d);v=w;w=f[v>>2]|0;s=f[v+4>>2]|0;v=(s|0)<0;if((s|0)>-1|(s|0)==-1&w>>>0>4294967295)LAa(x,w,s,-907885707,1078001355,v);else MAa(x,w,s,-907885707,1078001355,v);OAa(y,x,d);x=y;y=f[x>>2]|0;v=f[x+4>>2]|0;x=(v|0)<0;if((v|0)>-1|(v|0)==-1&y>>>0>4294967295)LAa(q,y,v,0,1072693248,x);else MAa(q,y,v,0,1072693248,x);PAa(h,p,q);q=h;h=f[q>>2]|0;p=f[q+4>>2]|0;q=d;f[q>>2]=h;f[q+4>>2]=p;if(!b)G=0;else{b=AVa(h|0,p|0,29)|0;G=b&8388607|(((A-C|0)/3|0)<<23)+(z&-2147483648|1056964608)}f[a>>2]=G;u=c;return}function ZAa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=u;u=u+176|0;g=e+120|0;h=e;i=e+104|0;j=e+88|0;k=e+32|0;NY(g,c,0,1,1,0);if(d){f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=g;NY(k,d,0,1,0,0);f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=k;NE(h,i,j);j=k+36|0;d=f[j>>2]|0;if(d|0?(l=d+12|0,d=f[l>>2]|0,f[l>>2]=d+-1,(d|0)==1):0)XO(k);f[j>>2]=0;j=k+16|0;d=k+4|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;if((f[d>>2]|0)>0){j=f[k+40>>2]|0;l=0;do{f[j+(l<<2)>>2]=0;l=l+1|0}while((l|0)<(f[d>>2]|0))}d=f[k+44>>2]|0;if((d|0)!=(k+48|0))dX(d)}else{f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=g;NE(h,i,BK()|0)}if(((c|0?(f[c>>2]|0)==112:0)?f[c+68>>2]|0:0)?(d=pW(c)|0,d|0):0){c=d+-1|0;if(c>>>0>=4){f[i>>2]=0;f[i+4>>2]=0;d=JV(i,19)|0;k=442438;l=d+19|0;do{b[d>>0]=b[k>>0]|0;d=d+1|0;k=k+1|0}while((d|0)<(l|0));EP(-215,i,442513,442458,42);KV(i)}p[h>>3]=+p[h+(c<<3)>>3];c=h+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0}p[a>>3]=+p[h>>3];p[a+8>>3]=+p[h+8>>3];p[a+16>>3]=+p[h+16>>3];p[a+24>>3]=+p[h+24>>3];h=g+36|0;a=f[h>>2]|0;if(a|0?(c=a+12|0,a=f[c>>2]|0,f[c>>2]=a+-1,(a|0)==1):0)XO(g);f[h>>2]=0;h=g+16|0;a=g+4|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;if((f[a>>2]|0)>0){h=f[g+40>>2]|0;c=0;do{f[h+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[a>>2]|0))}a=f[g+44>>2]|0;if((a|0)==(g+48|0)){u=e;return}dX(a);u=e;return}function _Aa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0,G=0.0;e=u;u=u+224|0;g=e+160|0;h=e+104|0;i=e+48|0;j=e+32|0;k=e+16|0;l=e;f[g>>2]=1124007936;m=g+4|0;n=g+8|0;o=g+40|0;p=m;q=p+36|0;do{f[p>>2]=0;p=p+4|0}while((p|0)<(q|0));f[o>>2]=n;r=g+48|0;s=g+44|0;f[s>>2]=r;f[r>>2]=0;f[g+52>>2]=0;f[h>>2]=1124007936;t=h+4|0;v=h+8|0;w=h+40|0;p=t;q=p+36|0;do{f[p>>2]=0;p=p+4|0}while((p|0)<(q|0));f[w>>2]=v;p=h+48|0;q=h+44|0;f[q>>2]=p;f[p>>2]=0;f[h+52>>2]=0;x=(a|0)==0;y=x?0:b;z=x?b:a;NY(i,z,0,1,1,0);a=i+36|0;b=f[a>>2]|0;if(b|0){x=b+12|0;f[x>>2]=(f[x>>2]|0)+1}x=g+36|0;b=f[x>>2]|0;if(b|0?(A=b+12|0,b=f[A>>2]|0,f[A>>2]=b+-1,(b|0)==1):0)XO(g);f[x>>2]=0;b=g+16|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[m>>2]|0)>0){A=f[o>>2]|0;B=0;do{f[A+(B<<2)>>2]=0;B=B+1|0;C=f[m>>2]|0}while((B|0)<(C|0));f[g>>2]=f[i>>2];if((C|0)<3)D=11;else D=13}else{f[g>>2]=f[i>>2];D=11}if((D|0)==11){C=f[i+4>>2]|0;if((C|0)<3){f[m>>2]=C;f[n>>2]=f[i+8>>2];f[g+12>>2]=f[i+12>>2];n=f[i+44>>2]|0;C=f[s>>2]|0;f[C>>2]=f[n>>2];f[C+4>>2]=f[n+4>>2]}else D=13}if((D|0)==13)WO(g,i);n=i+16|0;f[b>>2]=f[n>>2];f[g+20>>2]=f[i+20>>2];f[g+24>>2]=f[i+24>>2];f[g+28>>2]=f[i+28>>2];f[g+32>>2]=f[i+32>>2];C=f[a>>2]|0;f[x>>2]=C;if(C|0?(B=C+12|0,C=f[B>>2]|0,f[B>>2]=C+-1,(C|0)==1):0)XO(i);f[a>>2]=0;a=i+4|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;if((f[a>>2]|0)>0){n=f[i+40>>2]|0;C=0;do{f[n+(C<<2)>>2]=0;C=C+1|0}while((C|0)<(f[a>>2]|0))}a=f[i+44>>2]|0;if((a|0)!=(i+48|0))dX(a);a=(d|0)!=0;if(a){NY(i,d,0,1,0,0);d=i+36|0;C=f[d>>2]|0;if(C|0){n=C+12|0;f[n>>2]=(f[n>>2]|0)+1}n=h+36|0;C=f[n>>2]|0;if(C|0?(B=C+12|0,C=f[B>>2]|0,f[B>>2]=C+-1,(C|0)==1):0)XO(h);f[n>>2]=0;C=h+16|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;f[C+12>>2]=0;if((f[t>>2]|0)>0){B=f[w>>2]|0;A=0;do{f[B+(A<<2)>>2]=0;A=A+1|0;E=f[t>>2]|0}while((A|0)<(E|0));f[h>>2]=f[i>>2];if((E|0)<3)D=33;else D=35}else{f[h>>2]=f[i>>2];D=33}if((D|0)==33){E=f[i+4>>2]|0;if((E|0)<3){f[t>>2]=E;f[v>>2]=f[i+8>>2];f[h+12>>2]=f[i+12>>2];v=f[i+44>>2]|0;E=f[q>>2]|0;f[E>>2]=f[v>>2];f[E+4>>2]=f[v+4>>2]}else D=35}if((D|0)==35)WO(h,i);D=i+16|0;f[C>>2]=f[D>>2];f[h+20>>2]=f[i+20>>2];f[h+24>>2]=f[i+24>>2];f[h+28>>2]=f[i+28>>2];f[h+32>>2]=f[i+32>>2];C=f[d>>2]|0;f[n>>2]=C;if(C|0?(n=C+12|0,C=f[n>>2]|0,f[n>>2]=C+-1,(C|0)==1):0)XO(i);f[d>>2]=0;d=i+4|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;if((f[d>>2]|0)>0){D=f[i+40>>2]|0;C=0;do{f[D+(C<<2)>>2]=0;C=C+1|0}while((C|0)<(f[d>>2]|0))}d=f[i+44>>2]|0;if((d|0)!=(i+48|0))dX(d)}if((((z|0)!=0&(f[g>>2]&4088|0)!=0?(f[z>>2]|0)==112:0)?f[z+68>>2]|0:0)?(pW(z)|0)>0:0){d=i+8|0;f[d>>2]=0;f[d+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=g;OY(z,i,-1)}do if(!y)if(a){f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=g;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=h;F=+IK(i,c,j);break}else{f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=g;F=+IK(i,c,BK()|0);break}else{NY(i,y,0,1,1,0);if(((f[i>>2]&4088|0?(f[y>>2]|0)==112:0)?f[y+68>>2]|0:0)?(pW(y)|0)>0:0){z=j+8|0;f[z>>2]=0;f[z+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=i;OY(y,j,-1)}if(a){f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=g;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=i;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=h;G=+kL(j,k,c,l)}else{f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=g;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=i;G=+kL(j,k,c,BK()|0)}z=i+36|0;d=f[z>>2]|0;if(d|0?(C=d+12|0,d=f[C>>2]|0,f[C>>2]=d+-1,(d|0)==1):0)XO(i);f[z>>2]=0;z=i+16|0;d=i+4|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;if((f[d>>2]|0)>0){z=f[i+40>>2]|0;C=0;do{f[z+(C<<2)>>2]=0;C=C+1|0}while((C|0)<(f[d>>2]|0))}d=f[i+44>>2]|0;if((d|0)!=(i+48|0))dX(d);F=G}while(0);i=h+36|0;c=f[i>>2]|0;if(c|0?(k=c+12|0,c=f[k>>2]|0,f[k>>2]=c+-1,(c|0)==1):0)XO(h);f[i>>2]=0;i=h+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[t>>2]|0)>0){i=f[w>>2]|0;w=0;do{f[i+(w<<2)>>2]=0;w=w+1|0}while((w|0)<(f[t>>2]|0))}t=f[q>>2]|0;if((t|0)!=(p|0))dX(t);t=f[x>>2]|0;if(t|0?(p=t+12|0,t=f[p>>2]|0,f[p>>2]=t+-1,(t|0)==1):0)XO(g);f[x>>2]=0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[m>>2]|0)>0){b=f[o>>2]|0;o=0;do{f[b+(o<<2)>>2]=0;o=o+1|0}while((o|0)<(f[m>>2]|0))}m=f[s>>2]|0;if((m|0)==(r|0)){u=e;return +F}dX(m);u=e;return +F}function $Aa(a){a=a|0;var b=0;do if(a)if((f[a+12>>2]|0)==7247){b=jBa(a)|0;break}else{b=oBa(a)|0;break}else b=-2;while(0);return b|0}function aBa(a,b){a=a|0;b=b|0;return bBa(a,-1,b)|0}function bBa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;e=u;u=u+16|0;g=e+8|0;h=e;if(!a){i=0;u=e;return i|0}j=YBa(140)|0;if(!j){i=0;u=e;return i|0}f[j+24>>2]=0;f[j+28>>2]=8192;k=j+80|0;f[k>>2]=0;l=j+12|0;f[l>>2]=0;m=j+60|0;f[m>>2]=-1;n=j+64|0;f[n>>2]=0;o=j+40|0;f[o>>2]=0;p=b[d>>0]|0;a:do if(p<<24>>24){q=0;r=d;s=0;t=p;v=0;w=0;b:while(1){x=t<<24>>24;c:do if((t+-48&255)<10){f[m>>2]=x+-48;y=s;z=q;A=w;B=v}else do switch(x|0){case 43:{C=10;break b;break}case 114:{f[l>>2]=7247;y=s;z=q;A=7247;B=v;break c;break}case 119:{f[l>>2]=31153;y=s;z=q;A=31153;B=v;break c;break}case 97:{f[l>>2]=1;y=s;z=q;A=1;B=v;break c;break}case 84:{f[o>>2]=1;y=s;z=q;A=w;B=1;break c;break}case 101:{y=s;z=1;A=w;B=v;break c;break}case 120:{y=1;z=q;A=w;B=v;break c;break}case 102:{f[n>>2]=1;y=s;z=q;A=w;B=v;break c;break}case 104:{f[n>>2]=2;y=s;z=q;A=w;B=v;break c;break}case 82:{f[n>>2]=3;y=s;z=q;A=w;B=v;break c;break}case 70:{f[n>>2]=4;y=s;z=q;A=w;B=v;break c;break}default:{y=s;z=q;A=w;B=v;break c}}while(0);while(0);r=r+1|0;t=b[r>>0]|0;if(!(t<<24>>24))break;else{q=z;s=y;v=B;w=A}}if((C|0)==10){ZBa(j);i=0;u=e;return i|0}d:do if((A|0)<7247)switch(A|0){case 0:{break a;break}default:{}}else{switch(A|0){case 7247:break;default:break d}if(!B){f[o>>2]=1;break}ZBa(j);i=0;u=e;return i|0}while(0);w=(nCa(a)|0)+1|0;v=YBa(w)|0;s=j+20|0;f[s>>2]=v;if(!v){ZBa(j);i=0;u=e;return i|0}f[h>>2]=a;qDa(v,w,442519,h)|0;w=f[l>>2]|0;do if((c|0)>-1){f[j+16>>2]=c;D=w;E=c}else{f[g>>2]=438;v=FDa(a,((w|0)==7247?0:((w|0)==31153?512:1024)|(y|0?193:65))|(z|0?557056:32768),g)|0;f[j+16>>2]=v;if((v|0)!=-1){D=f[l>>2]|0;E=v;break}ZBa(f[s>>2]|0);ZBa(j);i=0;u=e;return i|0}while(0);e:do if((D|0)>=7247){switch(D|0){case 7247:break;default:{F=j;C=35;break e}}s=LEa(E,0,1)|0;f[j+48>>2]=(s|0)==-1?0:s;s=f[l>>2]|0;f[j>>2]=0;if((s|0)==7247){f[j+52>>2]=0;f[j+56>>2]=0;F=j+44|0;C=35}}else{switch(D|0){case 1:break;default:{F=j;C=35;break e}}LEa(E,0,2)|0;f[l>>2]=31153;F=j;C=35}while(0);if((C|0)==35)f[F>>2]=0;f[j+72>>2]=0;s=f[k>>2]|0;w=j+76|0;if(s|0){if((f[w>>2]|0)!=-4)ZBa(s);f[k>>2]=0}f[w>>2]=0;f[j+8>>2]=0;f[j+88>>2]=0;i=j;u=e;return i|0}while(0);ZBa(j);i=0;u=e;return i|0}function cBa(a){a=a|0;var b=0,c=0,d=0,e=0;if(!a){b=-1;return b|0}c=a+12|0;if((f[c>>2]|0)!=7247){b=-1;return b|0}d=a+76|0;switch(f[d>>2]|0){case -5:case 0:break;default:{b=-1;return b|0}}if((LEa(f[a+16>>2]|0,f[a+48>>2]|0,0)|0)==-1){b=-1;return b|0}f[a>>2]=0;if((f[c>>2]|0)==7247){f[a+52>>2]=0;f[a+56>>2]=0;f[a+44>>2]=0}f[a+72>>2]=0;c=a+80|0;e=f[c>>2]|0;if(e|0){if((f[d>>2]|0)!=-4)ZBa(e);f[c>>2]=0}f[d>>2]=0;f[a+8>>2]=0;f[a+88>>2]=0;b=0;return b|0}function dBa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+16|0;e=d;g=a+80|0;h=f[g>>2]|0;if(h|0){if((f[a+76>>2]|0)!=-4)ZBa(h);f[g>>2]=0}switch(b|0){case 0:case -5:break;default:f[a>>2]=0}h=a+76|0;f[h>>2]=b;if((b|0)==-4|(c|0)==0){u=d;return}b=f[a+20>>2]|0;a=nCa(b)|0;i=YBa(a+3+(nCa(c)|0)|0)|0;f[g>>2]=i;if(!i){f[h>>2]=-4;u=d;return}else{h=nCa(b)|0;g=h+3+(nCa(c)|0)|0;f[e>>2]=b;f[e+4>>2]=442529;f[e+8>>2]=c;qDa(i,g,442522,e)|0;u=d;return}}function eBa(a){a=a|0;var b=0;if((a|0)!=0?(f[a+12>>2]|0)==7247:0)b=f[a+56>>2]|0;else b=0;return b|0}function fBa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+44|0;c=a+52|0;d=a+88|0;e=a+24|0;g=a+100|0;h=a+36|0;i=a+96|0;a:while(1){switch(f[b>>2]|0){case 1:{j=5;break a;break}case 0:{if((hBa(a)|0)==-1){k=-1;j=16;break a}if(!(f[b>>2]|0)){k=0;j=16;break a}break}case 2:{f[g>>2]=f[e>>2]<<1;f[i>>2]=f[h>>2];if((gBa(a)|0)==-1){k=-1;j=16;break a}break}default:{}}if(f[a>>2]|0){k=0;j=16;break}if(!(f[c>>2]|0))continue;if(!(f[d>>2]|0)){k=0;j=16;break}}if((j|0)==5){d=f[h>>2]|0;i=f[e>>2]<<1;f[a>>2]=0;e=a+16|0;g=0;do{b=i-g|0;l=MEa(f[e>>2]|0,d+g|0,b>>>0<1073741824?b:1073741824)|0;if((l|0)<1){j=8;break}g=(f[a>>2]|0)+l|0;f[a>>2]=g}while(g>>>0>>0);do if((j|0)==8){if((l|0)>=0){f[c>>2]=1;break}i=iCa()|0;dBa(a,-1,SCa(f[i>>2]|0)|0);k=-1;return k|0}while(0);f[a+4>>2]=f[h>>2];k=0;return k|0}else if((j|0)==16)return k|0;return 0}function gBa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;b=a+84|0;c=a+100|0;d=f[c>>2]|0;e=a+88|0;g=a+76|0;h=a+52|0;i=a+32|0;j=a+24|0;k=a+16|0;l=0;a:while(1){if(!(f[e>>2]|0)){switch(f[g>>2]|0){case -5:case 0:break;default:{m=-1;n=20;break a}}if(f[h>>2]|0){n=12;break}o=f[i>>2]|0;p=f[j>>2]|0;q=0;while(1){r=p-q|0;s=MEa(f[k>>2]|0,o+q|0,r>>>0<1073741824?r:1073741824)|0;if((s|0)<1){n=8;break}r=s+q|0;if(r>>>0

>>0)q=r;else{t=r;break}}if((n|0)==8){n=0;if((s|0)<0){n=10;break}f[h>>2]=1;t=q}p=(f[e>>2]|0)+t|0;f[e>>2]=p;f[b>>2]=f[i>>2];if(!p){n=12;break}}p=sBa(b,0)|0;switch(p|0){case 2:case -2:{n=14;break a;break}case -4:{n=15;break a;break}case -3:{n=16;break a;break}default:{}}o=f[c>>2]|0;if((p|0)!=1&(o|0)!=0)l=p;else{u=p;v=o;break}}if((n|0)==10){b=iCa()|0;dBa(a,-1,SCa(f[b>>2]|0)|0);m=-1;return m|0}else if((n|0)==12){dBa(a,-5,442532);u=l;v=f[c>>2]|0}else if((n|0)==14){dBa(a,-2,442555);m=-1;return m|0}else if((n|0)==15){dBa(a,-4,442655);m=-1;return m|0}else if((n|0)==16){c=f[a+108>>2]|0;dBa(a,-3,(c|0)==0?442594:c);m=-1;return m|0}else if((n|0)==20)return m|0;n=d-v|0;f[a>>2]=n;f[a+4>>2]=(f[a+96>>2]|0)+(0-n);if((u|0)!=1){m=0;return m|0}f[a+44>>2]=0;m=0;return m|0}function hBa(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;c=a+84|0;d=a+24|0;if(!(f[d>>2]|0)){e=f[a+28>>2]|0;g=YBa(e)|0;h=a+32|0;f[h>>2]=g;i=YBa(e<<1)|0;j=a+36|0;f[j>>2]=i;if((g|0)==0|(i|0)==0){ZBa(i);ZBa(f[h>>2]|0);dBa(a,-4,442655);k=-1;return k|0}f[d>>2]=e;f[a+116>>2]=0;f[a+120>>2]=0;f[a+124>>2]=0;e=a+88|0;f[e>>2]=0;f[c>>2]=0;if(!(rBa(c,31,442669,56)|0))l=e;else{ZBa(f[j>>2]|0);ZBa(f[h>>2]|0);f[d>>2]=0;dBa(a,-4,442655);k=-1;return k|0}}else l=a+88|0;h=f[l>>2]|0;a:do if(h>>>0<2){switch(f[a+76>>2]|0){case -5:case 0:break;default:{k=-1;return k|0}}j=a+52|0;if(!(f[j>>2]|0)){e=a+32|0;if(!h)m=0;else{b[f[e>>2]>>0]=b[f[c>>2]>>0]|0;m=f[l>>2]|0}i=(f[e>>2]|0)+m|0;g=(f[d>>2]|0)-m|0;n=a+16|0;o=0;while(1){p=g-o|0;q=MEa(f[n>>2]|0,i+o|0,p>>>0<1073741824?p:1073741824)|0;if((q|0)<1){r=15;break}p=q+o|0;if(p>>>0>>0)o=p;else{s=p;break}}do if((r|0)==15){if((q|0)>=0){f[j>>2]=1;s=o;break}g=iCa()|0;dBa(a,-1,SCa(f[g>>2]|0)|0);k=-1;return k|0}while(0);o=(f[l>>2]|0)+s|0;f[l>>2]=o;f[c>>2]=f[e>>2];t=o}else t=h;switch(t|0){case 1:{u=1;break a;break}case 0:{k=0;break}default:{v=t;r=20;break a}}return k|0}else{v=h;r=20}while(0);if((r|0)==20){r=f[c>>2]|0;if((b[r>>0]|0)==31?(b[r+1>>0]|0)==-117:0){pBa(c)|0;f[a+44>>2]=2;f[a+40>>2]=0;k=0;return k|0}else u=v}v=a+40|0;if(!(f[v>>2]|0)){f[l>>2]=0;f[a+52>>2]=1;f[a>>2]=0;k=0;return k|0}else{r=f[a+36>>2]|0;f[a+4>>2]=r;DVa(r|0,f[c>>2]|0,u|0)|0;f[a>>2]=f[l>>2];f[l>>2]=0;f[a+44>>2]=1;f[v>>2]=1;k=0;return k|0}return 0}function iBa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((a|0)==0|(c|0)==0|(d|0)<1){e=0;return e|0}if((f[a+12>>2]|0)!=7247){e=0;return e|0}switch(f[a+76>>2]|0){case -5:case 0:break;default:{e=0;return e|0}}g=a+72|0;a:do if(f[g>>2]|0?(f[g>>2]=0,h=f[a+68>>2]|0,i=a+88|0,j=a+52|0,k=a+4|0,l=a+8|0,h|0):0){m=h;b:while(1){while(1){n=f[a>>2]|0;if(n|0)break;if(f[j>>2]|0?(f[i>>2]|0)==0:0)break a;if((fBa(a)|0)==-1){e=0;break b}}h=(n|0)<0|(n|0)>(m|0)?m:n;f[a>>2]=n-h;f[k>>2]=(f[k>>2]|0)+h;f[l>>2]=(f[l>>2]|0)+h;m=m-h|0;if(!m)break a}return e|0}while(0);n=d+-1|0;if(!n){e=0;return e|0}d=a+4|0;g=a+8|0;m=c;l=n;n=f[a>>2]|0;while(1){if(!n){if((fBa(a)|0)==-1){e=0;o=21;break}k=f[a>>2]|0;if(!k){o=17;break}else p=k}else p=n;k=p>>>0>l>>>0?l:p;i=f[d>>2]|0;j=yCa(i,10,k)|0;h=(j|0)==0;q=h?k:j+1-i|0;DVa(m|0,i|0,q|0)|0;n=(f[a>>2]|0)-q|0;f[a>>2]=n;f[d>>2]=(f[d>>2]|0)+q;f[g>>2]=(f[g>>2]|0)+q;l=l-q|0;i=m+q|0;if(!(h&(l|0)!=0)){r=i;break}else m=i}if((o|0)==17){f[a+56>>2]=1;r=m}else if((o|0)==21)return e|0;if((r|0)==(c|0)){e=0;return e|0}b[r>>0]=0;e=c;return e|0}function jBa(a){a=a|0;var b=0,c=0,d=0;if(!a){b=-2;return b|0}if((f[a+12>>2]|0)!=7247){b=-2;return b|0}if(f[a+24>>2]|0){tBa(a+84|0)|0;ZBa(f[a+36>>2]|0);ZBa(f[a+32>>2]|0)}c=(f[a+76>>2]|0)==-5?-5:0;dBa(a,0,0);ZBa(f[a+20>>2]|0);d=jDa(f[a+16>>2]|0)|0;ZBa(a);b=d|0?-1:c;return b|0}function kBa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;if(!c){d=0;return d|0}e=a+24|0;if((f[e>>2]|0)==0?(lBa(a)|0)==-1:0){d=0;return d|0}g=a+72|0;a:do if(f[g>>2]|0){f[g>>2]=0;h=f[a+68>>2]|0;i=a+84|0;j=a+88|0;if(f[j>>2]|0?(mBa(a,0)|0)==-1:0){d=0;return d|0}if(h|0){k=a+32|0;l=a+8|0;m=h;h=0;while(1){n=f[e>>2]|0;o=(n|0)<0|(n|0)>(m|0)?m:n;if(!h)FVa(f[k>>2]|0,0,o|0)|0;f[j>>2]=o;f[i>>2]=f[k>>2];f[l>>2]=(f[l>>2]|0)+o;m=m-o|0;if((mBa(a,0)|0)==-1){d=0;break}if(!m)break a;else h=1}return d|0}}while(0);if((f[e>>2]|0)>>>0<=c>>>0){g=a+88|0;if(!(f[g>>2]|0)){p=a+84|0;f[p>>2]=b;q=a+8|0;f[g>>2]=c;r=f[q>>2]|0;s=r+c|0;f[q>>2]=s;t=mBa(a,0)|0;u=(t|0)==-1;v=u?0:c;return v|0}if((mBa(a,0)|0)==-1){d=0;return d|0}else{p=a+84|0;f[p>>2]=b;q=a+8|0;f[g>>2]=c;r=f[q>>2]|0;s=r+c|0;f[q>>2]=s;t=mBa(a,0)|0;u=(t|0)==-1;v=u?0:c;return v|0}}v=a+84|0;u=a+88|0;t=a+32|0;s=a+8|0;q=b;b=c;while(1){r=f[u>>2]|0;if(!r){g=f[t>>2]|0;f[v>>2]=g;p=g;w=p;x=g;y=p}else{p=f[t>>2]|0;w=f[v>>2]|0;x=p;y=p}p=w+r-x|0;r=(f[e>>2]|0)-p|0;g=r>>>0>b>>>0?b:r;DVa(y+p|0,q|0,g|0)|0;f[u>>2]=g+(f[u>>2]|0);f[s>>2]=(f[s>>2]|0)+g;b=b-g|0;if(!b){d=c;z=23;break}if((mBa(a,0)|0)==-1){d=0;z=23;break}else q=q+g|0}if((z|0)==23)return d|0;return 0}function lBa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=a+84|0;c=a+28|0;d=f[c>>2]|0;e=YBa(d<<1)|0;g=a+32|0;f[g>>2]=e;if(!e){dBa(a,-4,442655);h=-1;return h|0}i=a+40|0;if(f[i>>2]|0){f[a+24>>2]=d;h=0;return h|0}j=YBa(d)|0;d=a+36|0;f[d>>2]=j;if(!j){ZBa(e);dBa(a,-4,442655);h=-1;return h|0}f[a+116>>2]=0;f[a+120>>2]=0;f[a+124>>2]=0;if(CBa(b,f[a+60>>2]|0,8,31,8,f[a+64>>2]|0,442669,56)|0){ZBa(f[d>>2]|0);ZBa(f[g>>2]|0);dBa(a,-4,442655);h=-1;return h|0}f[b>>2]=0;b=f[i>>2]|0;i=f[c>>2]|0;f[a+24>>2]=i;if(b|0){h=0;return h|0}f[a+100>>2]=i;i=f[d>>2]|0;f[a+96>>2]=i;f[a+4>>2]=i;h=0;return h|0}function mBa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;c=a+84|0;d=a+24|0;if((f[d>>2]|0)==0?(lBa(a)|0)==-1:0){e=-1;return e|0}if(f[a+40>>2]|0){g=a+88|0;h=f[g>>2]|0;if(!h){e=0;return e|0}i=a+16|0;j=h;h=f[c>>2]|0;while(1){k=KEa(f[i>>2]|0,h,j>>>0<1073741824?j:1073741824)|0;if((k|0)<0)break;j=(f[g>>2]|0)-k|0;f[g>>2]=j;h=(f[c>>2]|0)+k|0;f[c>>2]=h;if(!j){e=0;l=41;break}}if((l|0)==41)return e|0;j=iCa()|0;dBa(a,-1,SCa(f[j>>2]|0)|0);e=-1;return e|0}j=a+100|0;h=a+96|0;g=a+4|0;i=a+36|0;k=a+16|0;a:do switch(b|0){case 0:{m=f[j>>2]|0;while(1){do if(!m){n=f[h>>2]|0;o=f[g>>2]|0;if(n>>>0>o>>>0){p=n;n=o;do{o=p-n|0;q=KEa(f[k>>2]|0,n,(o|0)<1073741824?o:1073741824)|0;if((q|0)<0){l=31;break a}n=(f[g>>2]|0)+q|0;f[g>>2]=n;p=f[h>>2]|0}while(p>>>0>n>>>0);n=f[j>>2]|0;if(n|0){r=n;break}}n=f[d>>2]|0;f[j>>2]=n;p=f[i>>2]|0;f[h>>2]=p;f[g>>2]=p;r=n}else r=m;while(0);if((LBa(c,0)|0)==-2){l=37;break a}m=f[j>>2]|0;if((r|0)==(m|0)){l=39;break}}break}case 4:{m=0;n=f[j>>2]|0;while(1){if((n|0)==0|(m|0)==1){p=f[h>>2]|0;q=f[g>>2]|0;if(p>>>0>q>>>0){o=p;p=q;do{q=o-p|0;s=KEa(f[k>>2]|0,p,(q|0)<1073741824?q:1073741824)|0;if((s|0)<0){l=31;break a}p=(f[g>>2]|0)+s|0;f[g>>2]=p;o=f[h>>2]|0}while(o>>>0>p>>>0);t=f[j>>2]|0}else t=n;if(!t){p=f[d>>2]|0;f[j>>2]=p;o=f[i>>2]|0;f[h>>2]=o;f[g>>2]=o;u=p}else u=t}else u=n;m=LBa(c,4)|0;if((m|0)==-2){l=37;break a}n=f[j>>2]|0;if((u|0)==(n|0)){l=39;break}}break}default:while(1){n=f[h>>2]|0;m=f[g>>2]|0;if(n>>>0>m>>>0){p=n;n=m;do{m=p-n|0;o=KEa(f[k>>2]|0,n,(m|0)<1073741824?m:1073741824)|0;if((o|0)<0){l=31;break a}n=(f[g>>2]|0)+o|0;f[g>>2]=n;p=f[h>>2]|0}while(p>>>0>n>>>0)}n=f[j>>2]|0;if(!n){p=f[d>>2]|0;f[j>>2]=p;o=f[i>>2]|0;f[h>>2]=o;f[g>>2]=o;v=p}else v=n;if((LBa(c,b)|0)==-2){l=37;break a}if((v|0)==(f[j>>2]|0)){l=39;break}}}while(0);if((l|0)==31){j=iCa()|0;dBa(a,-1,SCa(f[j>>2]|0)|0);e=-1;return e|0}else if((l|0)==37){dBa(a,-2,442616);e=-1;return e|0}else if((l|0)==39){if((b|0)!=4){e=0;return e|0}KBa(c)|0;e=0;return e|0}return 0}function nBa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if(!a){c=-1;return c|0}if((f[a+12>>2]|0)!=31153){c=-1;return c|0}if(f[a+76>>2]|0){c=-1;return c|0}d=nCa(b)|0;e=kBa(a,b,d)|0;c=(d|0)!=0&(e|0)==0?-1:e;return c|0}function oBa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!a){b=-2;return b|0}if((f[a+12>>2]|0)!=31153){b=-2;return b|0}c=a+72|0;a:do if(!(f[c>>2]|0))d=0;else{f[c>>2]=0;e=f[a+68>>2]|0;g=a+88|0;if(!((f[g>>2]|0)!=0?(mBa(a,0)|0)==-1:0))h=6;b:do if((h|0)==6){if(!e){d=0;break a}i=a+24|0;j=a+32|0;k=a+84|0;l=a+8|0;m=e;n=0;while(1){o=f[i>>2]|0;p=(o|0)<0|(o|0)>(m|0)?m:o;if(!n)FVa(f[j>>2]|0,0,p|0)|0;f[g>>2]=p;f[k>>2]=f[j>>2];f[l>>2]=(f[l>>2]|0)+p;m=m-p|0;if((mBa(a,0)|0)==-1)break b;if(!m){d=0;break a}else n=1}}while(0);d=f[a+76>>2]|0}while(0);if((mBa(a,4)|0)==-1)q=f[a+76>>2]|0;else q=d;if(f[a+24>>2]|0){if(!(f[a+40>>2]|0)){DBa(a+84|0)|0;ZBa(f[a+36>>2]|0)}ZBa(f[a+32>>2]|0)}dBa(a,0,0);ZBa(f[a+20>>2]|0);d=(jDa(f[a+16>>2]|0)|0)==-1;ZBa(a);b=d?-1:q;return b|0}function pBa(a){a=a|0;var b=0,c=0,d=0,e=0;if(!a){b=-2;return b|0}if(!(f[a+32>>2]|0)){b=-2;return b|0}if(!(f[a+36>>2]|0)){b=-2;return b|0}c=f[a+28>>2]|0;if(!c){b=-2;return b|0}if((f[c>>2]|0)!=(a|0)){b=-2;return b|0}d=c+4|0;if(((f[d>>2]|0)+-16180|0)>>>0>=32){b=-2;return b|0}f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=0;f[c+32>>2]=0;f[a+20>>2]=0;f[a+8>>2]=0;f[a+24>>2]=0;e=f[c+12>>2]|0;if(e|0)f[a+48>>2]=e&1;f[d>>2]=16180;f[c+8>>2]=0;f[c+16>>2]=0;f[c+24>>2]=32768;f[c+36>>2]=0;f[c+60>>2]=0;f[c+64>>2]=0;d=c+1332|0;f[c+112>>2]=d;f[c+84>>2]=d;f[c+80>>2]=d;f[c+7108>>2]=1;f[c+7112>>2]=-1;b=0;return b|0}function qBa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(!a){c=-2;return c|0}d=a+32|0;if(!(f[d>>2]|0)){c=-2;return c|0}e=a+36|0;g=f[e>>2]|0;if(!g){c=-2;return c|0}h=a+28|0;i=f[h>>2]|0;if(!i){c=-2;return c|0}if((f[i>>2]|0)!=(a|0)){c=-2;return c|0}if(((f[i+4>>2]|0)+-16180|0)>>>0>=32){c=-2;return c|0}if((b|0)<0){j=0;k=0-b|0}else{j=(b>>>4)+5|0;k=(b|0)<48?b&15:b}if(!((k|0)==0|(k&-8|0)==8)){c=-2;return c|0}b=i+56|0;l=f[b>>2]|0;m=i+40|0;if((l|0)!=0?(f[m>>2]|0)!=(k|0):0){zg[g&511](f[a+40>>2]|0,l);f[b>>2]=0;b=f[d>>2]|0;f[i+12>>2]=j;f[m>>2]=k;if(!b){c=-2;return c|0}}else{f[i+12>>2]=j;f[m>>2]=k}if(!(f[e>>2]|0)){c=-2;return c|0}e=f[h>>2]|0;if(!e){c=-2;return c|0}if((f[e>>2]|0)!=(a|0)){c=-2;return c|0}h=e+4|0;if(((f[h>>2]|0)+-16180|0)>>>0>=32){c=-2;return c|0}f[e+44>>2]=0;f[e+48>>2]=0;f[e+52>>2]=0;f[e+32>>2]=0;f[a+20>>2]=0;f[a+8>>2]=0;f[a+24>>2]=0;k=f[e+12>>2]|0;if(k|0)f[a+48>>2]=k&1;f[h>>2]=16180;f[e+8>>2]=0;f[e+16>>2]=0;f[e+24>>2]=32768;f[e+36>>2]=0;f[e+60>>2]=0;f[e+64>>2]=0;h=e+1332|0;f[e+112>>2]=h;f[e+84>>2]=h;f[e+80>>2]=h;f[e+7108>>2]=1;f[e+7112>>2]=-1;c=0;return c|0}function rBa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0;if(!d){g=-6;return g|0}if((e|0)!=56|(b[d>>0]|0)!=49){g=-6;return g|0}if(!a){g=-2;return g|0}f[a+24>>2]=0;d=a+32|0;e=f[d>>2]|0;if(!e){f[d>>2]=84;f[a+40>>2]=0;h=84}else h=e;e=a+36|0;if(!(f[e>>2]|0))f[e>>2]=346;d=a+40|0;i=bg[h&127](f[d>>2]|0,1,7120)|0;if(!i){g=-4;return g|0}h=a+28|0;f[h>>2]=i;f[i>>2]=a;f[i+56>>2]=0;f[i+4>>2]=16180;j=qBa(a,c)|0;if(!j){g=0;return g|0}zg[f[e>>2]&511](f[d>>2]|0,i);f[h>>2]=0;g=j;return g|0}function sBa(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,$e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,kf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0,Af=0,Bf=0,Cf=0,Df=0,Ef=0,Ff=0,Gf=0,Hf=0,If=0,Jf=0,Kf=0,Lf=0,Mf=0,Nf=0,Of=0,Pf=0,Qf=0,Rf=0,Sf=0,Tf=0,Uf=0,Vf=0,Wf=0,Xf=0,Yf=0,Zf=0,_f=0,$f=0,ag=0,cg=0,dg=0,eg=0,fg=0,gg=0,hg=0,ig=0,jg=0,kg=0,lg=0,mg=0,ng=0,og=0,pg=0,qg=0,rg=0,sg=0,tg=0,ug=0,vg=0,wg=0,xg=0,yg=0,zg=0,Ag=0,Bg=0,Cg=0,Dg=0;e=u;u=u+16|0;g=e;if(!a){i=-2;u=e;return i|0}k=a+32|0;if(!(f[k>>2]|0)){i=-2;u=e;return i|0}if(!(f[a+36>>2]|0)){i=-2;u=e;return i|0}l=a+28|0;m=f[l>>2]|0;if(!m){i=-2;u=e;return i|0}if((f[m>>2]|0)!=(a|0)){i=-2;u=e;return i|0}n=m+4|0;o=f[n>>2]|0;if((o+-16180|0)>>>0>=32){i=-2;u=e;return i|0}p=a+12|0;q=f[p>>2]|0;if(!q){i=-2;u=e;return i|0}r=f[a>>2]|0;if((r|0)==0?f[a+4>>2]|0:0){i=-2;u=e;return i|0}if((o|0)==16191){f[n>>2]=16192;s=16192}else s=o;o=a+16|0;t=f[o>>2]|0;v=a+4|0;w=f[v>>2]|0;x=m+60|0;y=m+64|0;z=m+12|0;A=m+40|0;B=m+28|0;C=g+1|0;D=m+20|0;E=m+36|0;F=a+24|0;G=m+24|0;H=a+48|0;I=m+68|0;J=m+16|0;K=(c+-5|0)>>>0<2;L=m+8|0;M=m+80|0;N=m+88|0;O=m+84|0;P=m+92|0;Q=(c|0)==6;R=m+7112|0;S=m+76|0;T=m+7116|0;U=m+72|0;V=m+48|0;W=m+7108|0;X=m+52|0;Y=m+44|0;Z=m+56|0;_=a+20|0;$=m+32|0;aa=g+2|0;ba=g+3|0;ca=m+108|0;da=m+100|0;ea=m+104|0;fa=m+628|0;ga=m+1332|0;ha=m+112|0;ia=m+116|0;ja=m+756|0;ka=m+96|0;la=0;ma=t;na=w;oa=r;r=t;t=f[y>>2]|0;pa=f[x>>2]|0;qa=q;q=s;a:while(1){b:do switch(q|0){case 16208:{ra=t;sa=pa;ta=na;ua=oa;va=1;wa=ma;xa=296;break a;break}case 16209:{ya=r;za=t;Aa=pa;Ba=na;Ca=oa;Da=-3;Ea=ma;break a;break}case 16210:{xa=318;break a;break}case 16180:{s=f[z>>2]|0;if(!s){f[n>>2]=16192;Fa=la;Ga=ma;Ha=na;Ia=qa;Ja=oa;Ka=r;La=t;Ma=pa;break b}if(t>>>0<16){Na=na;Oa=oa;Pa=t;Qa=pa;while(1){if(!Na){ya=r;za=Pa;Aa=Qa;Ba=0;Ca=Oa;Da=la;Ea=ma;break a}Ra=Na+-1|0;Sa=Oa+1|0;Ta=(h[Oa>>0]<>>0<16){Na=Ra;Oa=Sa;Pa=Ua;Qa=Ta}else{Va=Ra;Wa=Sa;Xa=Ua;Ya=Ta;break}}}else{Va=na;Wa=oa;Xa=t;Ya=pa}if((Ya|0)==35615&(s&2|0)!=0){if(!(f[A>>2]|0))f[A>>2]=15;Qa=BBa(0,0,0)|0;f[B>>2]=Qa;b[g>>0]=31;b[C>>0]=-117;Pa=BBa(Qa,g,2)|0;f[B>>2]=Pa;f[n>>2]=16181;Fa=la;Ga=ma;Ha=Va;Ia=qa;Ja=Wa;Ka=r;La=0;Ma=0;break b}f[D>>2]=0;Pa=f[E>>2]|0;if(Pa|0)f[Pa+48>>2]=-1;if(s&1|0?((((Ya<<8&65280)+(Ya>>>8)|0)>>>0)%31|0|0)==0:0){if((Ya&15|0)!=8){f[F>>2]=442699;f[n>>2]=16209;Fa=la;Ga=ma;Ha=Va;Ia=qa;Ja=Wa;Ka=r;La=Xa;Ma=Ya;break b}Pa=Ya>>>4;Qa=Pa&15;Oa=Qa+8|0;Na=f[A>>2]|0;if(!Na){f[A>>2]=Oa;Za=Oa}else Za=Na;if(Oa>>>0>15|Oa>>>0>Za>>>0){f[F>>2]=442726;f[n>>2]=16209;Fa=la;Ga=ma;Ha=Va;Ia=qa;Ja=Wa;Ka=r;La=Xa+-4|0;Ma=Pa;break b}else{f[G>>2]=256<>2]=Qa;f[H>>2]=Qa;f[n>>2]=Ya>>>12&2^16191;Fa=la;Ga=ma;Ha=Va;Ia=qa;Ja=Wa;Ka=r;La=0;Ma=0;break b}}f[F>>2]=442676;f[n>>2]=16209;Fa=la;Ga=ma;Ha=Va;Ia=qa;Ja=Wa;Ka=r;La=Xa;Ma=Ya;break}case 16181:{if(t>>>0<16){Qa=na;Pa=oa;Oa=t;Na=pa;while(1){if(!Qa){ya=r;za=Oa;Aa=Na;Ba=0;Ca=Pa;Da=la;Ea=ma;break a}Ta=Qa+-1|0;Ua=Pa+1|0;Sa=(h[Pa>>0]<>>0<16){Qa=Ta;Pa=Ua;Oa=Ra;Na=Sa}else{_a=Ta;$a=Ua;ab=Ra;bb=Sa;break}}}else{_a=na;$a=oa;ab=t;bb=pa}f[D>>2]=bb;if((bb&255|0)!=8){f[F>>2]=442699;f[n>>2]=16209;Fa=la;Ga=ma;Ha=_a;Ia=qa;Ja=$a;Ka=r;La=ab;Ma=bb;break b}if(bb&57344|0){f[F>>2]=442746;f[n>>2]=16209;Fa=la;Ga=ma;Ha=_a;Ia=qa;Ja=$a;Ka=r;La=ab;Ma=bb;break b}Na=f[E>>2]|0;if(Na|0)f[Na>>2]=bb>>>8&1;if(bb&512|0?f[z>>2]&4|0:0){b[g>>0]=bb;b[C>>0]=bb>>>8;Na=BBa(f[B>>2]|0,g,2)|0;f[B>>2]=Na}f[n>>2]=16182;cb=_a;db=$a;eb=0;fb=0;xa=55;break}case 16182:{if(t>>>0<32){cb=na;db=oa;eb=t;fb=pa;xa=55}else{gb=na;hb=oa;ib=pa;xa=57}break}case 16183:{if(t>>>0<16){jb=na;kb=oa;lb=t;mb=pa;xa=64}else{nb=na;ob=oa;pb=pa;xa=66}break}case 16184:{qb=na;rb=oa;sb=t;tb=pa;xa=72;break}case 16185:{ub=na;vb=oa;wb=t;xb=pa;xa=84;break}case 16186:{yb=na;zb=oa;Ab=t;Bb=pa;xa=95;break}case 16187:{Cb=t;Db=pa;Eb=na;Fb=oa;xa=109;break}case 16188:{Gb=t;Hb=pa;Ib=na;Jb=oa;xa=123;break}case 16189:{if(t>>>0<32){Na=t;Oa=pa;Pa=na;Qa=oa;while(1){if(!Pa){ya=r;za=Na;Aa=Oa;Ba=0;Ca=Qa;Da=la;Ea=ma;break a}s=Pa+-1|0;Sa=Qa+1|0;Ra=(h[Qa>>0]<>>0>=32){Kb=Ra;Lb=s;Mb=Sa;break}else{Oa=Ra;Pa=s;Qa=Sa}}}else{Kb=pa;Lb=na;Mb=oa}Qa=CVa(Kb|0)|0;f[B>>2]=Qa;f[H>>2]=Qa;f[n>>2]=16190;Nb=0;Ob=0;Pb=Lb;Qb=Mb;xa=136;break}case 16190:{Nb=t;Ob=pa;Pb=na;Qb=oa;xa=136;break}case 16191:{Rb=t;Sb=pa;Tb=na;Ub=oa;xa=139;break}case 16192:{Vb=t;Wb=pa;Xb=na;Yb=oa;xa=140;break}case 16193:{Qa=t&7;Pa=pa>>>Qa;Oa=t-Qa|0;if(Oa>>>0<32){Qa=Oa;Na=Pa;Sa=na;s=oa;while(1){if(!Sa){ya=r;za=Qa;Aa=Na;Ba=0;Ca=s;Da=la;Ea=ma;break a}Ra=Sa+-1|0;Ua=s+1|0;Ta=(h[s>>0]<>>0<32){Qa=Zb;Na=Ta;Sa=Ra;s=Ua}else{_b=Zb;$b=Ta;ac=Ra;bc=Ua;break}}}else{_b=Oa;$b=Pa;ac=na;bc=oa}s=$b&65535;if((s|0)==($b>>>16^65535|0)){f[I>>2]=s;f[n>>2]=16194;if(Q){ra=0;sa=0;ta=ac;ua=bc;va=la;wa=ma;xa=296;break a}else{cc=0;dc=0;ec=ac;fc=bc;xa=159;break b}}else{f[F>>2]=442810;f[n>>2]=16209;Fa=la;Ga=ma;Ha=ac;Ia=qa;Ja=bc;Ka=r;La=_b;Ma=$b;break b}break}case 16194:{cc=t;dc=pa;ec=na;fc=oa;xa=159;break}case 16195:{gc=t;hc=pa;ic=na;jc=oa;xa=160;break}case 16196:{if(t>>>0<14){s=t;Sa=pa;Na=na;Qa=oa;while(1){if(!Na){ya=r;za=s;Aa=Sa;Ba=0;Ca=Qa;Da=la;Ea=ma;break a}Ua=Na+-1|0;Ra=Qa+1|0;Ta=(h[Qa>>0]<>>0<14){s=Zb;Sa=Ta;Na=Ua;Qa=Ra}else{kc=Zb;lc=Ta;mc=Ua;nc=Ra;break}}}else{kc=t;lc=pa;mc=na;nc=oa}Qa=(lc&31)+257|0;f[da>>2]=Qa;Na=lc>>>5&31;f[ea>>2]=Na+1;Sa=(lc>>>10&15)+4|0;f[ka>>2]=Sa;s=lc>>>14;Pa=kc+-14|0;if(Qa>>>0>286|Na>>>0>29){f[F>>2]=442839;f[n>>2]=16209;Fa=la;Ga=ma;Ha=mc;Ia=qa;Ja=nc;Ka=r;La=Pa;Ma=s;break b}else{f[ca>>2]=0;f[n>>2]=16197;oc=Pa;pc=s;qc=mc;rc=nc;sc=Sa;tc=0;xa=170;break b}break}case 16197:{Sa=f[ca>>2]|0;s=f[ka>>2]|0;if(Sa>>>0>>0){oc=t;pc=pa;qc=na;rc=oa;sc=s;tc=Sa;xa=170}else{uc=t;vc=pa;wc=na;xc=oa;yc=Sa;xa=171}break}case 16198:{zc=la;Ac=t;Bc=pa;Cc=na;Dc=oa;Ec=f[ca>>2]|0;xa=181;break}case 16199:{Fc=la;Gc=t;Hc=pa;Ic=na;Jc=oa;xa=214;break}case 16200:{Kc=la;Lc=t;Mc=pa;Nc=na;Oc=oa;xa=215;break}case 16201:{Pc=t;Qc=pa;Rc=la;Sc=na;Tc=oa;Uc=f[S>>2]|0;xa=233;break}case 16202:{Vc=t;Wc=pa;Xc=na;Yc=oa;Zc=la;xa=240;break}case 16203:{_c=t;$c=pa;ad=na;bd=oa;cd=la;dd=f[S>>2]|0;xa=252;break}case 16204:{ed=t;fd=pa;gd=na;hd=oa;id=la;xa=258;break}case 16205:{if(!ma){ra=t;sa=pa;ta=na;ua=oa;va=la;wa=0;xa=296;break a}b[qa>>0]=f[I>>2];f[n>>2]=16200;Fa=la;Ga=ma+-1|0;Ha=na;Ia=qa+1|0;Ja=oa;Ka=r;La=t;Ma=pa;break}case 16206:{Sa=f[z>>2]|0;if(Sa){if(t>>>0<32){s=pa;Pa=t;Na=na;Qa=oa;while(1){if(!Na){ya=r;za=Pa;Aa=s;Ba=0;Ca=Qa;Da=la;Ea=ma;break a}Oa=Na+-1|0;Ra=Qa+1|0;Ua=(h[Qa>>0]<>>0<32){s=Ua;Pa=Ta;Na=Oa;Qa=Ra}else{jd=Ta;kd=Ua;ld=Oa;md=Ra;break}}}else{jd=t;kd=pa;ld=na;md=oa}Qa=r-ma|0;f[_>>2]=(f[_>>2]|0)+Qa;f[$>>2]=(f[$>>2]|0)+Qa;if((Qa|0)!=0&(Sa&4|0)!=0){Na=f[B>>2]|0;Pa=qa+(0-Qa)|0;if(!(f[D>>2]|0))nd=zBa(Na,Pa,Qa)|0;else nd=BBa(Na,Pa,Qa)|0;f[B>>2]=nd;f[H>>2]=nd;od=f[z>>2]|0}else od=Sa;if((od&4|0)!=0?(Qa=(f[D>>2]|0)==0,Pa=CVa(kd|0)|0,((Qa?Pa:kd)|0)!=(f[B>>2]|0)):0){f[F>>2]=443013;f[n>>2]=16209;Fa=la;Ga=ma;Ha=ld;Ia=qa;Ja=md;Ka=ma;La=jd;Ma=kd;break b}else{pd=ma;qd=0;rd=0;sd=ld;td=md;ud=od}}else{pd=r;qd=t;rd=pa;sd=na;td=oa;ud=0}f[n>>2]=16207;vd=pd;wd=qd;xd=rd;yd=sd;zd=td;Ad=ud;xa=288;break}case 16207:{vd=r;wd=t;xd=pa;yd=na;zd=oa;Ad=f[z>>2]|0;xa=288;break}default:{i=-2;xa=319;break a}}while(0);if((xa|0)==55)while(1){xa=0;if(!cb){ya=r;za=eb;Aa=fb;Ba=0;Ca=db;Da=la;Ea=ma;break a}Pa=cb+-1|0;Qa=db+1|0;Na=(h[db>>0]<>>0>=32){gb=Pa;hb=Qa;ib=Na;xa=57;break}else{cb=Pa;db=Qa;fb=Na;xa=55}}else if((xa|0)==136){xa=0;if(!(f[J>>2]|0)){xa=137;break}Na=zBa(0,0,0)|0;f[B>>2]=Na;f[H>>2]=Na;f[n>>2]=16191;Rb=Nb;Sb=Ob;Tb=Pb;Ub=Qb;xa=139}else if((xa|0)==159){xa=0;f[n>>2]=16195;gc=cc;hc=dc;ic=ec;jc=fc;xa=160}else if((xa|0)==170){xa=0;Na=oc;Qa=pc;Pa=qc;s=rc;Ra=tc;while(1){if(Na>>>0<3){if(!Pa){ya=r;za=Na;Aa=Qa;Ba=0;Ca=s;Da=la;Ea=ma;break a}Bd=Na+8|0;Cd=(h[s>>0]<>2]=Oa;d[m+116+(j[120572+(Ra<<1)>>1]<<1)>>1]=Cd&7;Ua=Cd>>>3;Ta=Bd+-3|0;if(Oa>>>0>>0){Na=Ta;Qa=Ua;Pa=Dd;s=Ed;Ra=Oa}else{uc=Ta;vc=Ua;wc=Dd;xc=Ed;yc=Oa;xa=171;break}}}else if((xa|0)==288){xa=0;if(!Ad){Fd=wd;Gd=xd;Hd=yd;Id=zd;xa=295;break}if(!(f[D>>2]|0)){Fd=wd;Gd=xd;Hd=yd;Id=zd;xa=295;break}if(wd>>>0<32){Ra=xd;s=wd;Pa=zd;Qa=yd;while(1){if(!Qa){ya=vd;za=s;Aa=Ra;Ba=0;Ca=Pa;Da=la;Ea=ma;break a}Na=Qa+-1|0;Oa=Pa+1|0;Ua=(h[Pa>>0]<>>0<32){Ra=Ua;s=Ta;Pa=Oa;Qa=Na}else{Jd=Ta;Kd=Ua;Ld=Na;Md=Oa;break}}}else{Jd=wd;Kd=xd;Ld=yd;Md=zd}if((Kd|0)==(f[$>>2]|0)){Fd=0;Gd=0;Hd=Ld;Id=Md;xa=295;break}f[F>>2]=443034;f[n>>2]=16209;Fa=la;Ga=ma;Ha=Ld;Ia=qa;Ja=Md;Ka=vd;La=Jd;Ma=Kd}do if((xa|0)==57){xa=0;Qa=f[E>>2]|0;if(Qa|0)f[Qa+4>>2]=ib;if(f[D>>2]&512|0?f[z>>2]&4|0:0){b[g>>0]=ib;b[C>>0]=ib>>>8;b[aa>>0]=ib>>>16;b[ba>>0]=ib>>>24;Qa=BBa(f[B>>2]|0,g,4)|0;f[B>>2]=Qa}f[n>>2]=16183;jb=gb;kb=hb;lb=0;mb=0;xa=64}else if((xa|0)==139){xa=0;if(K){ra=Rb;sa=Sb;ta=Tb;ua=Ub;va=la;wa=ma;xa=296;break a}else{Vb=Rb;Wb=Sb;Xb=Tb;Yb=Ub;xa=140}}else if((xa|0)==160){xa=0;Qa=f[I>>2]|0;if(!Qa){f[n>>2]=16191;Fa=la;Ga=ma;Ha=ic;Ia=qa;Ja=jc;Ka=r;La=gc;Ma=hc;break}Pa=Qa>>>0>ic>>>0?ic:Qa;Qa=Pa>>>0>ma>>>0?ma:Pa;if(!Qa){ra=gc;sa=hc;ta=ic;ua=jc;va=la;wa=ma;xa=296;break a}DVa(qa|0,jc|0,Qa|0)|0;f[I>>2]=(f[I>>2]|0)-Qa;Fa=la;Ga=ma-Qa|0;Ha=ic-Qa|0;Ia=qa+Qa|0;Ja=jc+Qa|0;Ka=r;La=gc;Ma=hc}else if((xa|0)==171){xa=0;if(yc>>>0<19){Qa=yc;do{d[m+116+(j[120572+(Qa<<1)>>1]<<1)>>1]=0;Qa=Qa+1|0}while((Qa|0)!=19);f[ca>>2]=19}f[ha>>2]=ga;f[M>>2]=ga;f[N>>2]=7;Qa=uBa(0,ia,19,ha,N,ja)|0;if(!Qa){f[ca>>2]=0;f[n>>2]=16198;zc=0;Ac=uc;Bc=vc;Cc=wc;Dc=xc;Ec=0;xa=181;break}else{f[F>>2]=442875;f[n>>2]=16209;Fa=Qa;Ga=ma;Ha=wc;Ia=qa;Ja=xc;Ka=r;La=uc;Ma=vc;break}}while(0);c:do if((xa|0)==64)while(1){xa=0;if(!jb){ya=r;za=lb;Aa=mb;Ba=0;Ca=kb;Da=la;Ea=ma;break a}Qa=jb+-1|0;Sa=kb+1|0;Pa=(h[kb>>0]<>>0>=16){nb=Qa;ob=Sa;pb=Pa;xa=66;break}else{jb=Qa;kb=Sa;mb=Pa;xa=64}}else if((xa|0)==140){xa=0;if(f[L>>2]|0){Pa=Vb&7;f[n>>2]=16206;Fa=la;Ga=ma;Ha=Xb;Ia=qa;Ja=Yb;Ka=r;La=Vb-Pa|0;Ma=Wb>>>Pa;break}if(Vb>>>0<3){if(!Xb){ra=Vb;sa=Wb;ta=0;ua=Yb;va=la;wa=ma;xa=296;break a}Nd=Vb+8|0;Od=(h[Yb>>0]<>2]=Od&1;switch(Od>>>1&3){case 0:{Rd=16193;xa=151;break}case 1:{f[M>>2]=118396;f[N>>2]=9;f[O>>2]=120444;f[P>>2]=5;f[n>>2]=16199;if(Q){xa=147;break a}break}case 2:{Rd=16196;xa=151;break}case 3:{f[F>>2]=442791;Rd=16209;xa=151;break}default:{xa=150;break a}}if((xa|0)==151){xa=0;f[n>>2]=Rd}Fa=la;Ga=ma;Ha=Pd;Ia=qa;Ja=Qd;Ka=r;La=Nd+-3|0;Ma=Od>>>3}else if((xa|0)==181){xa=0;Pa=f[da>>2]|0;Sa=f[ea>>2]|0;do if(Ec>>>0<(Sa+Pa|0)>>>0){Qa=Ac;s=Bc;Ra=Cc;Oa=Dc;Na=Ec;Ua=Pa;Ta=Sa;d:while(1){Zb=f[M>>2]|0;Sd=(1<>2])+-1|0;Td=Sd&s;Ud=h[Zb+(Td<<2)+1>>0]|0;if(Qa>>>0>>0){Vd=Qa;Wd=s;Xd=Ra;Yd=Oa;while(1){if(!Xd){ya=r;za=Vd;Aa=Wd;Ba=0;Ca=Yd;Da=zc;Ea=ma;break a}Zd=Xd+-1|0;_d=Yd+1|0;$d=(h[Yd>>0]<>0]|0;if(ae>>>0>>0){Vd=ae;Wd=$d;Xd=Zd;Yd=_d}else{de=ae;ee=$d;fe=Zd;ge=_d;he=ce;ie=be;break}}}else{de=Qa;ee=s;fe=Ra;ge=Oa;he=Ud;ie=Td}Yd=d[Zb+(ie<<2)+2>>1]|0;if((Yd&65535)>=16){switch(Yd<<16>>16){case 16:{Xd=he+2|0;if(de>>>0>>0){Wd=de;Vd=ee;Sd=fe;be=ge;while(1){if(!Sd){ya=r;za=Wd;Aa=Vd;Ba=0;Ca=be;Da=zc;Ea=ma;break a}ce=Sd+-1|0;_d=be+1|0;Zd=(h[be>>0]<>>0>>0){Wd=$d;Vd=Zd;Sd=ce;be=_d}else{je=$d;ke=Zd;le=ce;me=_d;break}}}else{je=de;ke=ee;le=fe;me=ge}be=ke>>>he;Sd=je-he|0;if(!Na){ne=Sd;oe=be;pe=le;qe=me;xa=205;break d}re=j[m+116+(Na+-1<<1)>>1]|0;se=Sd+-2|0;te=be>>>2;ue=le;ve=me;we=(be&3)+3|0;break}case 17:{be=he+3|0;if(de>>>0>>0){Sd=de;Vd=ee;Wd=fe;Xd=ge;while(1){if(!Wd){ya=r;za=Sd;Aa=Vd;Ba=0;Ca=Xd;Da=zc;Ea=ma;break a}Zb=Wd+-1|0;Td=Xd+1|0;Ud=(h[Xd>>0]<>>0>>0){Sd=_d;Vd=Ud;Wd=Zb;Xd=Td}else{xe=_d;ye=Ud;ze=Zb;Ae=Td;break}}}else{xe=de;ye=ee;ze=fe;Ae=ge}Xd=ye>>>he;re=0;se=-3-he+xe|0;te=Xd>>>3;ue=ze;ve=Ae;we=(Xd&7)+3|0;break}default:{Xd=he+7|0;if(de>>>0>>0){Wd=de;Vd=ee;Sd=fe;be=ge;while(1){if(!Sd){ya=r;za=Wd;Aa=Vd;Ba=0;Ca=be;Da=zc;Ea=ma;break a}Td=Sd+-1|0;Zb=be+1|0;Ud=(h[be>>0]<>>0>>0){Wd=_d;Vd=Ud;Sd=Td;be=Zb}else{Be=_d;Ce=Ud;De=Td;Ee=Zb;break}}}else{Be=de;Ce=ee;De=fe;Ee=ge}be=Ce>>>he;re=0;se=-7-he+Be|0;te=be>>>7;ue=De;ve=Ee;we=(be&127)+11|0}}if((Na+we|0)>>>0>(Ta+Ua|0)>>>0){ne=se;oe=te;pe=ue;qe=ve;xa=205;break}be=re&65535;Sd=we+-1|0;f[ca>>2]=Na+1;d[m+116+(Na<<1)>>1]=be;if(!Sd){Fe=se;Ge=te;He=ue;Ie=ve}else{Vd=Sd;do{Sd=f[ca>>2]|0;Vd=Vd+-1|0;f[ca>>2]=Sd+1;d[m+116+(Sd<<1)>>1]=be}while((Vd|0)!=0);Fe=se;Ge=te;He=ue;Ie=ve}}else{f[ca>>2]=Na+1;d[m+116+(Na<<1)>>1]=Yd;Fe=de-he|0;Ge=ee>>>he;He=fe;Ie=ge}Na=f[ca>>2]|0;Ua=f[da>>2]|0;Ta=f[ea>>2]|0;if(Na>>>0>=(Ta+Ua|0)>>>0){xa=206;break}else{Qa=Fe;s=Ge;Ra=He;Oa=Ie}}if((xa|0)==205){xa=0;f[F>>2]=442900;f[n>>2]=16209;Fa=zc;Ga=ma;Ha=pe;Ia=qa;Ja=qe;Ka=r;La=ne;Ma=oe;break c}else if((xa|0)==206){xa=0;if((f[n>>2]|0)==16209){Fa=zc;Ga=ma;Ha=He;Ia=qa;Ja=Ie;Ka=r;La=Fe;Ma=Ge;break c}else{Je=Fe;Ke=Ge;Le=He;Me=Ie;Ne=Ua;break}}}else{Je=Ac;Ke=Bc;Le=Cc;Me=Dc;Ne=Pa}while(0);if(!(d[fa>>1]|0)){f[F>>2]=442926;f[n>>2]=16209;Fa=zc;Ga=ma;Ha=Le;Ia=qa;Ja=Me;Ka=r;La=Je;Ma=Ke;break}f[ha>>2]=ga;f[M>>2]=ga;f[N>>2]=9;Pa=uBa(1,ia,Ne,ha,N,ja)|0;if(Pa|0){f[F>>2]=442963;f[n>>2]=16209;Fa=Pa;Ga=ma;Ha=Le;Ia=qa;Ja=Me;Ka=r;La=Je;Ma=Ke;break}f[O>>2]=f[ha>>2];f[P>>2]=6;Pa=uBa(2,m+116+(f[da>>2]<<1)|0,f[ea>>2]|0,ha,P,ja)|0;if(!Pa){f[n>>2]=16199;if(Q){ra=Je;sa=Ke;ta=Le;ua=Me;va=0;wa=ma;xa=296;break a}else{Fc=0;Gc=Je;Hc=Ke;Ic=Le;Jc=Me;xa=214;break}}else{f[F>>2]=442991;f[n>>2]=16209;Fa=Pa;Ga=ma;Ha=Le;Ia=qa;Ja=Me;Ka=r;La=Je;Ma=Ke;break}}while(0);if((xa|0)==66){xa=0;Pa=f[E>>2]|0;if(Pa|0){f[Pa+8>>2]=pb&255;f[Pa+12>>2]=pb>>>8}if(f[D>>2]&512|0?f[z>>2]&4|0:0){b[g>>0]=pb;b[C>>0]=pb>>>8;Pa=BBa(f[B>>2]|0,g,2)|0;f[B>>2]=Pa}f[n>>2]=16184;qb=nb;rb=ob;sb=0;tb=0;xa=72}else if((xa|0)==214){xa=0;f[n>>2]=16200;Kc=Fc;Lc=Gc;Mc=Hc;Nc=Ic;Oc=Jc;xa=215}do if((xa|0)==72){xa=0;Pa=f[D>>2]|0;if(!(Pa&1024)){Sa=f[E>>2]|0;if(!Sa){Oe=qb;Pe=rb;Qe=sb;Re=tb}else{f[Sa+16>>2]=0;Oe=qb;Pe=rb;Qe=sb;Re=tb}}else{if(sb>>>0<16){Sa=qb;Oa=rb;Ra=sb;s=tb;while(1){if(!Sa){ya=r;za=Ra;Aa=s;Ba=0;Ca=Oa;Da=la;Ea=ma;break a}Qa=Sa+-1|0;Ta=Oa+1|0;Na=(h[Oa>>0]<>>0>=16){Se=Qa;Te=Ta;Ue=Na;break}else{Sa=Qa;Oa=Ta;s=Na}}}else{Se=qb;Te=rb;Ue=tb}f[I>>2]=Ue;s=f[E>>2]|0;if(s|0)f[s+20>>2]=Ue;if((Pa&512|0)!=0?(f[z>>2]&4|0)!=0:0){b[g>>0]=Ue;b[C>>0]=Ue>>>8;s=BBa(f[B>>2]|0,g,2)|0;f[B>>2]=s;Oe=Se;Pe=Te;Qe=0;Re=0}else{Oe=Se;Pe=Te;Qe=0;Re=0}}f[n>>2]=16185;ub=Oe;vb=Pe;wb=Qe;xb=Re;xa=84}else if((xa|0)==215){xa=0;if(ma>>>0>257&Nc>>>0>5){f[p>>2]=qa;f[o>>2]=ma;f[a>>2]=Oc;f[v>>2]=Nc;f[x>>2]=Mc;f[y>>2]=Lc;vBa(a,r);s=f[p>>2]|0;Oa=f[o>>2]|0;Sa=f[a>>2]|0;Ra=f[v>>2]|0;Na=f[x>>2]|0;Ta=f[y>>2]|0;if((f[n>>2]|0)!=16191){Fa=Kc;Ga=Oa;Ha=Ra;Ia=s;Ja=Sa;Ka=r;La=Ta;Ma=Na;break}f[R>>2]=-1;Fa=Kc;Ga=Oa;Ha=Ra;Ia=s;Ja=Sa;Ka=r;La=Ta;Ma=Na;break}f[R>>2]=0;Na=f[M>>2]|0;Ta=(1<>2])+-1|0;Sa=Ta&Mc;s=b[Na+(Sa<<2)+1>>0]|0;Ra=s&255;if(Lc>>>0>>0){Oa=Lc;Qa=Mc;Vd=Nc;be=Oc;while(1){if(!Vd){ya=r;za=Oa;Aa=Qa;Ba=0;Ca=be;Da=Kc;Ea=ma;break a}Sd=Vd+-1|0;Wd=be+1|0;Xd=(h[be>>0]<>0]|0;_d=Ud&255;if(Zb>>>0<_d>>>0){Oa=Zb;Qa=Xd;Vd=Sd;be=Wd}else{Ve=Zb;We=Xd;Xe=Sd;Ye=Wd;Ze=_d;_e=Td;$e=Ud;break}}}else{Ve=Lc;We=Mc;Xe=Nc;Ye=Oc;Ze=Ra;_e=Sa;$e=s}be=d[Na+(_e<<2)+2>>1]|0;Vd=b[Na+(_e<<2)>>0]|0;Qa=Vd&255;if(Vd<<24>>24!=0&(Qa&240|0)==0){Oa=be&65535;Ta=(1<>>Ze)+Oa|0;Pa=b[Na+(Qa<<2)+1>>0]|0;if((Ze+(Pa&255)|0)>>>0>Ve>>>0){Ud=Ve;Td=We;_d=Xe;Wd=Ye;while(1){if(!_d){ya=r;za=Ud;Aa=Td;Ba=0;Ca=Wd;Da=Kc;Ea=ma;break a}Sd=_d+-1|0;Xd=Wd+1|0;Zb=(h[Wd>>0]<>>Ze)+Oa|0;$d=b[Na+(Zd<<2)+1>>0]|0;if((Ze+($d&255)|0)>>>0>ce>>>0){Ud=ce;Td=Zb;_d=Sd;Wd=Xd}else{af=ce;bf=Zb;cf=Sd;df=Xd;ef=Zd;ff=$d;break}}}else{af=Ve;bf=We;cf=Xe;df=Ye;ef=Qa;ff=Pa}Wd=d[Na+(ef<<2)+2>>1]|0;_d=b[Na+(ef<<2)>>0]|0;f[R>>2]=Ze;gf=af-Ze|0;hf=bf>>>Ze;jf=cf;kf=df;lf=_d;mf=ff;nf=Wd;of=Ze}else{gf=Ve;hf=We;jf=Xe;kf=Ye;lf=Vd;mf=$e;nf=be;of=0}Wd=mf&255;_d=hf>>>Wd;Td=gf-Wd|0;f[R>>2]=of+Wd;f[I>>2]=nf&65535;Wd=lf&255;if(!(lf<<24>>24)){f[n>>2]=16205;Fa=Kc;Ga=ma;Ha=jf;Ia=qa;Ja=kf;Ka=r;La=Td;Ma=_d;break}if(Wd&32|0){f[R>>2]=-1;f[n>>2]=16191;Fa=Kc;Ga=ma;Ha=jf;Ia=qa;Ja=kf;Ka=r;La=Td;Ma=_d;break}if(!(Wd&64)){Ud=Wd&15;f[S>>2]=Ud;f[n>>2]=16201;Pc=Td;Qc=_d;Rc=Kc;Sc=jf;Tc=kf;Uc=Ud;xa=233;break}else{f[F>>2]=443057;f[n>>2]=16209;Fa=Kc;Ga=ma;Ha=jf;Ia=qa;Ja=kf;Ka=r;La=Td;Ma=_d;break}}while(0);if((xa|0)==84){xa=0;_d=f[D>>2]|0;if(_d&1024){Td=f[I>>2]|0;Ud=Td>>>0>ub>>>0?ub:Td;if(!Ud){pf=ub;qf=vb;rf=Td}else{Wd=f[E>>2]|0;if((Wd|0)!=0?(Oa=f[Wd+16>>2]|0,(Oa|0)!=0):0){Ta=(f[Wd+20>>2]|0)-Td|0;Td=f[Wd+24>>2]|0;DVa(Oa+Ta|0,vb|0,((Ta+Ud|0)>>>0>Td>>>0?Td-Ta|0:Ud)|0)|0;sf=f[D>>2]|0}else sf=_d;if(sf&512|0?f[z>>2]&4|0:0){_d=BBa(f[B>>2]|0,vb,Ud)|0;f[B>>2]=_d}_d=(f[I>>2]|0)-Ud|0;f[I>>2]=_d;pf=ub-Ud|0;qf=vb+Ud|0;rf=_d}if(!rf){tf=pf;uf=qf}else{ra=wb;sa=xb;ta=pf;ua=qf;va=la;wa=ma;xa=296;break}}else{tf=ub;uf=vb}f[I>>2]=0;f[n>>2]=16186;yb=tf;zb=uf;Ab=wb;Bb=xb;xa=95}else if((xa|0)==233){xa=0;if(!Uc){vf=Pc;wf=Qc;xf=Sc;yf=Tc;zf=f[I>>2]|0}else{if(Pc>>>0>>0){_d=Pc;Ud=Qc;Ta=Sc;Td=Tc;while(1){if(!Ta){ya=r;za=_d;Aa=Ud;Ba=0;Ca=Td;Da=Rc;Ea=ma;break a}Oa=Ta+-1|0;Wd=Td+1|0;s=(h[Td>>0]<<_d)+Ud|0;Sa=_d+8|0;if(Sa>>>0>>0){_d=Sa;Ud=s;Ta=Oa;Td=Wd}else{Af=Sa;Bf=s;Cf=Oa;Df=Wd;break}}}else{Af=Pc;Bf=Qc;Cf=Sc;Df=Tc}Td=(f[I>>2]|0)+((1<>2]=Td;f[R>>2]=(f[R>>2]|0)+Uc;vf=Af-Uc|0;wf=Bf>>>Uc;xf=Cf;yf=Df;zf=Td}f[T>>2]=zf;f[n>>2]=16202;Vc=vf;Wc=wf;Xc=xf;Yc=yf;Zc=Rc;xa=240}do if((xa|0)==95){xa=0;if(!(f[D>>2]&2048)){Td=f[E>>2]|0;if(!Td){Ef=yb;Ff=zb}else{f[Td+28>>2]=0;Ef=yb;Ff=zb}}else{if(!yb){ra=Ab;sa=Bb;ta=0;ua=zb;va=la;wa=ma;xa=296;break a}else Gf=0;do{Td=Gf;Gf=Gf+1|0;Ta=b[zb+Td>>0]|0;Td=f[E>>2]|0;if((Td|0?(Ud=f[Td+28>>2]|0,Ud|0):0)?(_d=f[I>>2]|0,_d>>>0<(f[Td+32>>2]|0)>>>0):0){f[I>>2]=_d+1;b[Ud+_d>>0]=Ta}Hf=Ta<<24>>24!=0}while(Hf&yb>>>0>Gf>>>0);if(f[D>>2]&512|0?f[z>>2]&4|0:0){be=BBa(f[B>>2]|0,zb,Gf)|0;f[B>>2]=be}be=yb-Gf|0;Vd=zb+Gf|0;if(Hf){ra=Ab;sa=Bb;ta=be;ua=Vd;va=la;wa=ma;xa=296;break a}else{Ef=be;Ff=Vd}}f[I>>2]=0;f[n>>2]=16187;Cb=Ab;Db=Bb;Eb=Ef;Fb=Ff;xa=109}else if((xa|0)==240){xa=0;Vd=f[O>>2]|0;be=(1<>2])+-1|0;Na=be&Wc;Pa=b[Vd+(Na<<2)+1>>0]|0;Qa=Pa&255;if(Vc>>>0>>0){Ta=Vc;_d=Wc;Ud=Xc;Td=Yc;while(1){if(!Ud){ya=r;za=Ta;Aa=_d;Ba=0;Ca=Td;Da=Zc;Ea=ma;break a}Wd=Ud+-1|0;Oa=Td+1|0;s=(h[Td>>0]<>0]|0;Zd=$d&255;if(Sa>>>0>>0){Ta=Sa;_d=s;Ud=Wd;Td=Oa}else{If=Sa;Jf=s;Kf=Wd;Lf=Oa;Mf=Zd;Nf=Ra;Of=$d;break}}}else{If=Vc;Jf=Wc;Kf=Xc;Lf=Yc;Mf=Qa;Nf=Na;Of=Pa}Td=d[Vd+(Nf<<2)+2>>1]|0;Ud=b[Vd+(Nf<<2)>>0]|0;_d=Ud&255;if(!(_d&240)){Ta=Td&65535;be=(1<>>Mf)+Ta|0;$d=b[Vd+(_d<<2)+1>>0]|0;if((Mf+($d&255)|0)>>>0>If>>>0){Ra=If;Zd=Jf;Oa=Kf;Wd=Lf;while(1){if(!Oa){ya=r;za=Ra;Aa=Zd;Ba=0;Ca=Wd;Da=Zc;Ea=ma;break a}s=Oa+-1|0;Sa=Wd+1|0;Xd=(h[Wd>>0]<>>Mf)+Ta|0;ce=b[Vd+(Zb<<2)+1>>0]|0;if((Mf+(ce&255)|0)>>>0>Sd>>>0){Ra=Sd;Zd=Xd;Oa=s;Wd=Sa}else{Pf=Sd;Qf=Xd;Rf=s;Sf=Sa;Tf=Zb;Uf=ce;break}}}else{Pf=If;Qf=Jf;Rf=Kf;Sf=Lf;Tf=_d;Uf=$d}Wd=d[Vd+(Tf<<2)+2>>1]|0;Oa=b[Vd+(Tf<<2)>>0]|0;Zd=(f[R>>2]|0)+Mf|0;f[R>>2]=Zd;Vf=Pf-Mf|0;Wf=Qf>>>Mf;Xf=Rf;Yf=Sf;Zf=Oa;_f=Uf;$f=Wd;ag=Zd}else{Vf=If;Wf=Jf;Xf=Kf;Yf=Lf;Zf=Ud;_f=Of;$f=Td;ag=f[R>>2]|0}Zd=_f&255;Wd=Wf>>>Zd;Oa=Vf-Zd|0;f[R>>2]=ag+Zd;Zd=Zf&255;if(!(Zd&64)){f[U>>2]=$f&65535;Ra=Zd&15;f[S>>2]=Ra;f[n>>2]=16203;_c=Oa;$c=Wd;ad=Xf;bd=Yf;cd=Zc;dd=Ra;xa=252;break}else{f[F>>2]=443085;f[n>>2]=16209;Fa=Zc;Ga=ma;Ha=Xf;Ia=qa;Ja=Yf;Ka=r;La=Oa;Ma=Wd;break}}while(0);if((xa|0)==109){xa=0;if(!(f[D>>2]&4096)){Wd=f[E>>2]|0;if(!Wd){cg=Eb;dg=Fb}else{f[Wd+36>>2]=0;cg=Eb;dg=Fb}}else{if(!Eb){ra=Cb;sa=Db;ta=0;ua=Fb;va=la;wa=ma;xa=296;break}else eg=0;do{Wd=eg;eg=eg+1|0;Oa=b[Fb+Wd>>0]|0;Wd=f[E>>2]|0;if((Wd|0?(Ra=f[Wd+36>>2]|0,Ra|0):0)?(Zd=f[I>>2]|0,Zd>>>0<(f[Wd+40>>2]|0)>>>0):0){f[I>>2]=Zd+1;b[Ra+Zd>>0]=Oa}fg=Oa<<24>>24!=0}while(fg&Eb>>>0>eg>>>0);if(f[D>>2]&512|0?f[z>>2]&4|0:0){Oa=BBa(f[B>>2]|0,Fb,eg)|0;f[B>>2]=Oa}Oa=Eb-eg|0;Zd=Fb+eg|0;if(fg){ra=Cb;sa=Db;ta=Oa;ua=Zd;va=la;wa=ma;xa=296;break}else{cg=Oa;dg=Zd}}f[n>>2]=16188;Gb=Cb;Hb=Db;Ib=cg;Jb=dg;xa=123}else if((xa|0)==252){xa=0;if(!dd){gg=_c;hg=$c;ig=ad;jg=bd}else{if(_c>>>0

>>0){Zd=_c;Oa=$c;Ra=ad;Wd=bd;while(1){if(!Ra){ya=r;za=Zd;Aa=Oa;Ba=0;Ca=Wd;Da=cd;Ea=ma;break a}Ta=Ra+-1|0;be=Wd+1|0;Pa=(h[Wd>>0]<>>0
>>0){Zd=Na;Oa=Pa;Ra=Ta;Wd=be}else{kg=Na;lg=Pa;mg=Ta;ng=be;break}}}else{kg=_c;lg=$c;mg=ad;ng=bd}f[U>>2]=(f[U>>2]|0)+((1<>2]=(f[R>>2]|0)+dd;gg=kg-dd|0;hg=lg>>>dd;ig=mg;jg=ng}f[n>>2]=16204;ed=gg;fd=hg;gd=ig;hd=jg;id=cd;xa=258}do if((xa|0)==123){xa=0;Wd=f[D>>2]|0;if(Wd&512){if(Gb>>>0<16){Ra=Gb;Oa=Hb;Zd=Ib;be=Jb;while(1){if(!Zd){ya=r;za=Ra;Aa=Oa;Ba=0;Ca=be;Da=la;Ea=ma;break a}Ta=Zd+-1|0;Pa=be+1|0;Na=(h[be>>0]<>>0<16){Ra=Qa;Oa=Na;Zd=Ta;be=Pa}else{og=Qa;pg=Na;qg=Ta;rg=Pa;break}}}else{og=Gb;pg=Hb;qg=Ib;rg=Jb}if((f[z>>2]&4|0)!=0?(pg|0)!=(f[B>>2]&65535|0):0){f[F>>2]=442771;f[n>>2]=16209;Fa=la;Ga=ma;Ha=qg;Ia=qa;Ja=rg;Ka=r;La=og;Ma=pg;break}else{sg=0;tg=0;ug=qg;vg=rg}}else{sg=Gb;tg=Hb;ug=Ib;vg=Jb}be=f[E>>2]|0;if(be|0){f[be+44>>2]=Wd>>>9&1;f[be+48>>2]=1}be=BBa(0,0,0)|0;f[B>>2]=be;f[H>>2]=be;f[n>>2]=16191;Fa=la;Ga=ma;Ha=ug;Ia=qa;Ja=vg;Ka=r;La=sg;Ma=tg}else if((xa|0)==258){xa=0;if(!ma){ra=ed;sa=fd;ta=gd;ua=hd;va=id;wa=0;xa=296;break a}be=r-ma|0;Zd=f[U>>2]|0;if(Zd>>>0>be>>>0){Oa=Zd-be|0;if(Oa>>>0>(f[V>>2]|0)>>>0?f[W>>2]|0:0){f[F>>2]=443107;f[n>>2]=16209;Fa=id;Ga=ma;Ha=gd;Ia=qa;Ja=hd;Ka=r;La=ed;Ma=fd;break}be=f[X>>2]|0;if(Oa>>>0>be>>>0){Ra=Oa-be|0;wg=Ra;xg=(f[Y>>2]|0)-Ra|0}else{wg=Oa;xg=be-Oa|0}Oa=f[I>>2]|0;yg=(f[Z>>2]|0)+xg|0;zg=wg>>>0>Oa>>>0?Oa:wg;Ag=Oa}else{Oa=f[I>>2]|0;yg=qa+(0-Zd)|0;zg=Oa;Ag=Oa}Oa=zg>>>0>ma>>>0?ma:zg;f[I>>2]=Ag-Oa;Zd=Oa;be=qa;Ra=yg;while(1){b[be>>0]=b[Ra>>0]|0;Zd=Zd+-1|0;if(!Zd)break;else{be=be+1|0;Ra=Ra+1|0}}Ra=ma-Oa|0;be=qa+Oa|0;if(!(f[I>>2]|0)){f[n>>2]=16200;Fa=id;Ga=Ra;Ha=gd;Ia=be;Ja=hd;Ka=r;La=ed;Ma=fd}else{Fa=id;Ga=Ra;Ha=gd;Ia=be;Ja=hd;Ka=r;La=ed;Ma=fd}}while(0);la=Fa;ma=Ga;na=Ha;oa=Ja;r=Ka;t=La;pa=Ma;qa=Ia;q=f[n>>2]|0}if((xa|0)==137){f[p>>2]=qa;f[o>>2]=ma;f[a>>2]=Qb;f[v>>2]=Pb;f[x>>2]=Ob;f[y>>2]=Nb;i=2;u=e;return i|0}else if((xa|0)==147){ya=r;za=Nd+-3|0;Aa=Od>>>3;Ba=Pd;Ca=Qd;Da=la;Ea=ma}else if((xa|0)!=150)if((xa|0)==295){f[n>>2]=16208;ya=vd;za=Fd;Aa=Gd;Ba=Hd;Ca=Id;Da=1;Ea=ma}else if((xa|0)==296){ya=r;za=ra;Aa=sa;Ba=ta;Ca=ua;Da=va;Ea=wa}else if((xa|0)==318){i=-4;u=e;return i|0}else if((xa|0)==319){u=e;return i|0}f[p>>2]=qa;f[o>>2]=Ea;f[a>>2]=Ca;f[v>>2]=Ba;f[x>>2]=Aa;f[y>>2]=za;if(!(f[Y>>2]|0)){if(((ya|0)!=(Ea|0)?(Y=f[n>>2]|0,Y>>>0<16209):0)?(c|0)!=4|Y>>>0<16206:0)xa=301}else xa=301;do if((xa|0)==301){Y=ya-Ea|0;za=f[l>>2]|0;Aa=za+56|0;x=f[Aa>>2]|0;if(!x){Ba=bg[f[k>>2]&127](f[a+40>>2]|0,1<>2],1)|0;f[Aa>>2]=Ba;if(!Ba){f[n>>2]=16210;i=-4;u=e;return i|0}else Bg=Ba}else Bg=x;x=za+44|0;Ba=f[x>>2]|0;if(!Ba){Ca=1<>2];f[x>>2]=Ca;f[za+52>>2]=0;f[za+48>>2]=0;Cg=Ca}else Cg=Ba;if(Cg>>>0<=Y>>>0){DVa(Bg|0,qa+(0-Cg)|0,Cg|0)|0;f[za+52>>2]=0;f[za+48>>2]=f[x>>2];break}Ba=za+52|0;Ca=f[Ba>>2]|0;wa=Cg-Ca|0;va=wa>>>0>Y>>>0?Y:wa;DVa(Bg+Ca|0,qa+(0-Y)|0,va|0)|0;Ca=Y-va|0;if(Ca|0){DVa(f[Aa>>2]|0,qa+(0-Ca)|0,Ca|0)|0;f[Ba>>2]=Ca;f[za+48>>2]=f[x>>2];break}Ca=(f[Ba>>2]|0)+va|0;Aa=f[x>>2]|0;f[Ba>>2]=(Ca|0)==(Aa|0)?0:Ca;Ca=za+48|0;za=f[Ca>>2]|0;if(za>>>0>>0)f[Ca>>2]=za+va}while(0);qa=w-(f[v>>2]|0)|0;v=ya-(f[o>>2]|0)|0;o=a+8|0;f[o>>2]=(f[o>>2]|0)+qa;f[_>>2]=(f[_>>2]|0)+v;f[$>>2]=(f[$>>2]|0)+v;if((v|0)!=0&(f[z>>2]&4|0)!=0){z=f[B>>2]|0;$=(f[p>>2]|0)+(0-v)|0;if(!(f[D>>2]|0))Dg=zBa(z,$,v)|0;else Dg=BBa(z,$,v)|0;f[B>>2]=Dg;f[H>>2]=Dg}Dg=f[n>>2]|0;f[a+44>>2]=(f[L>>2]|0?64:0)+(f[y>>2]|0)+((Dg|0)==16191?128:0)+((Dg|0)==16199|(Dg|0)==16194?256:0);i=(Da|0)==0&((c|0)==4|(v|qa|0)==0)?-5:Da;u=e;return i|0}function tBa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;if(!a){b=-2;return b|0}if(!(f[a+32>>2]|0)){b=-2;return b|0}c=a+36|0;d=f[c>>2]|0;if(!d){b=-2;return b|0}e=a+28|0;g=f[e>>2]|0;if(!g){b=-2;return b|0}if((f[g>>2]|0)!=(a|0)){b=-2;return b|0}if(((f[g+4>>2]|0)+-16180|0)>>>0>=32){b=-2;return b|0}h=f[g+56>>2]|0;i=a+40|0;if(!h){j=d;k=g}else{zg[d&511](f[i>>2]|0,h);j=f[c>>2]|0;k=f[e>>2]|0}zg[j&511](f[i>>2]|0,k);f[e>>2]=0;b=0;return b|0}function uBa(a,c,e,g,h,i){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;k=u;u=u+64|0;l=k+32|0;m=k;n=l;o=n+32|0;do{d[n>>1]=0;n=n+2|0}while((n|0)<(o|0));n=(e|0)==0;if(!n){o=0;do{p=l+(j[c+(o<<1)>>1]<<1)|0;d[p>>1]=(d[p>>1]|0)+1<<16>>16;o=o+1|0}while((o|0)!=(e|0));o=d[l+30>>1]|0;p=f[h>>2]|0;if(!(o<<16>>16)){q=p;r=5}else{s=15;t=p;v=o;r=7}}else{q=f[h>>2]|0;r=5}do if((r|0)==5)if(!(d[l+28>>1]|0))if(!(d[l+26>>1]|0))if(!(d[l+24>>1]|0))if(!(d[l+22>>1]|0))if(!(d[l+20>>1]|0))if(!(d[l+18>>1]|0))if(!(d[l+16>>1]|0))if(!(d[l+14>>1]|0))if(!(d[l+12>>1]|0))if(!(d[l+10>>1]|0))if(!(d[l+8>>1]|0))if(!(d[l+6>>1]|0))if(!(d[l+4>>1]|0)){if(d[l+2>>1]|0){w=(q|0)!=0&1;x=1;y=1;z=0;break}o=f[g>>2]|0;f[g>>2]=o+4;b[o>>0]=64;b[o+1>>0]=1;d[o+2>>1]=0;o=f[g>>2]|0;f[g>>2]=o+4;b[o>>0]=64;b[o+1>>0]=1;d[o+2>>1]=0;f[h>>2]=1;A=0;u=k;return A|0}else{s=2;t=q;v=0;r=7}else{s=3;t=q;v=0;r=7}else{s=4;t=q;v=0;r=7}else{s=5;t=q;v=0;r=7}else{s=6;t=q;v=0;r=7}else{s=7;t=q;v=0;r=7}else{s=8;t=q;v=0;r=7}else{s=9;t=q;v=0;r=7}else{s=10;t=q;v=0;r=7}else{s=11;t=q;v=0;r=7}else{s=12;t=q;v=0;r=7}else{s=13;t=q;v=0;r=7}else{s=14;t=q;v=0;r=7}while(0);a:do if((r|0)==7){q=t>>>0>s>>>0?s:t;o=1;while(1){if(d[l+(o<<1)>>1]|0){w=q;x=s;y=o;z=v;break a}p=o+1|0;if(p>>>0>>0)o=p;else{w=q;x=s;y=p;z=v;break}}}while(0);v=w>>>0>>0?y:w;w=d[l+2>>1]|0;s=w&65535;t=2-s|0;if((t|0)<0){A=-1;u=k;return A|0}q=j[l+4>>1]|0;o=(t<<1)-q|0;if((o|0)<0){A=-1;u=k;return A|0}t=j[l+6>>1]|0;p=(o<<1)-t|0;if((p|0)<0){A=-1;u=k;return A|0}o=j[l+8>>1]|0;B=(p<<1)-o|0;if((B|0)<0){A=-1;u=k;return A|0}p=j[l+10>>1]|0;C=(B<<1)-p|0;if((C|0)<0){A=-1;u=k;return A|0}B=j[l+12>>1]|0;D=(C<<1)-B|0;if((D|0)<0){A=-1;u=k;return A|0}C=j[l+14>>1]|0;E=(D<<1)-C|0;if((E|0)<0){A=-1;u=k;return A|0}D=j[l+16>>1]|0;F=(E<<1)-D|0;if((F|0)<0){A=-1;u=k;return A|0}E=j[l+18>>1]|0;G=(F<<1)-E|0;if((G|0)<0){A=-1;u=k;return A|0}F=j[l+20>>1]|0;H=(G<<1)-F|0;if((H|0)<0){A=-1;u=k;return A|0}G=j[l+22>>1]|0;I=(H<<1)-G|0;if((I|0)<0){A=-1;u=k;return A|0}H=j[l+24>>1]|0;J=(I<<1)-H|0;if((J|0)<0){A=-1;u=k;return A|0}I=j[l+26>>1]|0;K=(J<<1)-I|0;if((K|0)<0){A=-1;u=k;return A|0}J=j[l+28>>1]|0;L=(K<<1)-J|0;if((L|0)<0){A=-1;u=k;return A|0}K=(L<<1)-(z&65535)|0;if((K|0)<0){A=-1;u=k;return A|0}if(K|0?(a|0)==0|(x|0)!=1:0){A=-1;u=k;return A|0}d[m+2>>1]=0;d[m+4>>1]=w;w=s+q|0;d[m+6>>1]=w;q=(w&65535)+t|0;d[m+8>>1]=q;t=(q&65535)+o|0;d[m+10>>1]=t;o=(t&65535)+p|0;d[m+12>>1]=o;p=(o&65535)+B|0;d[m+14>>1]=p;B=(p&65535)+C|0;d[m+16>>1]=B;C=(B&65535)+D|0;d[m+18>>1]=C;D=(C&65535)+E|0;d[m+20>>1]=D;E=(D&65535)+F|0;d[m+22>>1]=E;F=(E&65535)+G|0;d[m+24>>1]=F;G=(F&65535)+H|0;d[m+26>>1]=G;H=(G&65535)+I|0;d[m+28>>1]=H;d[m+30>>1]=H+J;if(!n){n=0;do{J=d[c+(n<<1)>>1]|0;if(J<<16>>16){H=m+((J&65535)<<1)|0;J=d[H>>1]|0;d[H>>1]=J+1<<16>>16;d[i+((J&65535)<<1)>>1]=n}n=n+1|0}while((n|0)!=(e|0))}switch(a|0){case 0:{M=i;N=i;O=20;P=0;Q=0;break}case 1:{if(v>>>0>9){A=1;u=k;return A|0}else{M=120800;N=120674;O=257;P=0;Q=1}break}default:{e=(a|0)==2;if(e&v>>>0>9){A=1;u=k;return A|0}else{M=120736;N=120610;O=0;P=e;Q=0}}}e=1<>2]|0;J=-1;H=0;I=e;e=0;G=v;F=0;E=y;b:while(1){y=1<>1]|0;o=p&65535;do if((o+1|0)>>>0>>0){T=p;U=0}else{t=o-O|0;if(O>>>0>o>>>0){T=0;U=96;break}T=d[N+(t<<1)>>1]|0;U=d[M+(t<<1)>>1]&255}while(0);o=1<>>e;t=y;do{t=t-o|0;q=t+p|0;b[m+(q<<2)>>0]=U;b[m+(q<<2)+1>>0]=S;d[m+(q<<2)+2>>1]=T}while((t|0)!=0);t=1<>>1;p=R;R=(t|0)==0?0:(t+-1&R)+t|0;p=D;D=D+1|0;p=l+(C<<1)|0;o=(d[p>>1]|0)+-1<<16>>16;d[p>>1]=o;if(!(o<<16>>16)){if((C|0)==(x|0))break b;V=j[c+(j[i+(D<<1)>>1]<<1)>>1]|0}else V=C;if(V>>>0<=v>>>0){R=R;D=D;C=V;continue}W=R&a;if((W|0)!=(J|0))break;else C=V}C=(e|0)==0?v:e;o=m+(y<<2)|0;p=V-C|0;c:do if(V>>>0>>0){B=1<>1]|0)|0;if((s|0)<1){X=q;break c}K=q+1|0;w=K+C|0;if(w>>>0>=x>>>0){X=K;break}else{B=s<<1;q=K}}}else X=p;while(0);p=(1<>>0>852|P&p>>>0>592){A=1;r=43;break}y=f[g>>2]|0;b[y+(W<<2)>>0]=X;b[y+(W<<2)+1>>0]=n;d[y+(W<<2)+2>>1]=(o-y|0)>>>2;m=o;J=W;H=R;I=p;e=C;G=X;F=D;E=V}if((r|0)==43){u=k;return A|0}if(R|0){b[m+(R<<2)>>0]=64;b[m+(R<<2)+1>>0]=S;d[m+(R<<2)+2>>1]=0}f[g>>2]=(f[g>>2]|0)+(I<<2);f[h>>2]=v;A=0;u=k;return A|0}function vBa(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0;e=f[a+28>>2]|0;g=f[a>>2]|0;i=a+4|0;j=g+((f[i>>2]|0)+-5)|0;k=a+12|0;l=f[k>>2]|0;m=a+16|0;n=f[m>>2]|0;o=l+(n+-257)|0;p=f[e+44>>2]|0;q=f[e+48>>2]|0;r=f[e+52>>2]|0;s=f[e+56>>2]|0;t=e+60|0;u=e+64|0;v=f[e+80>>2]|0;w=f[e+84>>2]|0;x=(1<>2])+-1|0;y=(1<>2])+-1|0;z=l+(n-c)|0;c=e+7108|0;n=(r|0)==0;A=r+p|0;B=z-r|0;C=g;g=l;l=f[t>>2]|0;D=f[u>>2]|0;a:while(1){if(D>>>0<15){E=C+2|0;F=((h[C>>0]|0)<>0]|0)<>0]|0;J=d[v+(H<<2)+2>>1]|0;K=h[v+(H<<2)+1>>0]|0;H=F>>>K;L=G-K|0;do if(I<<24>>24){K=J;M=I&255;N=L;O=H;while(1){if(M&16|0)break;if(M&64|0){P=53;break a}Q=(O&(1<>0]|0;S=d[v+(Q<<2)+2>>1]|0;T=h[v+(Q<<2)+1>>0]|0;U=O>>>T;V=N-T|0;if(!(R<<24>>24)){P=6;break}else{K=S;M=R&255;N=V;O=U}}if((P|0)==6){P=0;W=V;X=U;Y=S&255;P=7;break}R=K&65535;T=M&15;if(!T){Z=R;_=E;$=O;aa=N}else{if(N>>>0>>0){ba=E+1|0;ca=((h[E>>0]|0)<>>T;aa=da-T|0}if(aa>>>0<15){ea=_+2|0;fa=((h[_>>0]|0)<>0]|0)<>1]|0;Q=h[w+(T<<2)+1>>0]|0;ha=fa>>>Q;ia=ga-Q|0;Q=h[w+(T<<2)>>0]|0;if(!(Q&16)){T=R;ja=Q;ka=ha;la=ia;while(1){if(ja&64|0){ma=ea;na=ka;oa=la;pa=443085;P=55;break a}qa=(ka&(1<>1]|0;sa=h[w+(qa<<2)+1>>0]|0;ta=ka>>>sa;ua=la-sa|0;sa=h[w+(qa<<2)>>0]|0;if(!(sa&16)){T=ra;ja=sa;ka=ta;la=ua}else{va=sa;wa=ua;xa=ta;ya=ra;break}}}else{va=Q;wa=ia;xa=ha;ya=R}la=ya&65535;ka=va&15;if(wa>>>0>>0){ja=ea+1|0;T=((h[ea>>0]|0)<>>0>>0){za=ea+2|0;Aa=((h[ja>>0]|0)<>>ka;T=Ba-ka|0;ka=g;ja=ka-z|0;if(K>>>0<=ja>>>0){ra=Z;ta=g+(0-K)|0;ua=g;while(1){b[ua>>0]=b[ta>>0]|0;b[ua+1>>0]=b[ta+1>>0]|0;Ca=ta+3|0;Da=ua+3|0;b[ua+2>>0]=b[ta+2>>0]|0;ra=ra+-3|0;if(ra>>>0<=2)break;else{ta=Ca;ua=Da}}if(!ra){Ea=za;Fa=Da;Ga=la;Ha=T;break}R=ua+4|0;b[Da>>0]=b[Ca>>0]|0;if((ra|0)==1){Ea=za;Fa=R;Ga=la;Ha=T;break}b[R>>0]=b[ta+4>>0]|0;Ea=za;Fa=ua+5|0;Ga=la;Ha=T;break}R=K-ja|0;if(R>>>0>q>>>0?f[c>>2]|0:0){ma=za;na=la;oa=T;pa=443107;P=55;break a}do if(n){ha=s+(p-R)|0;if(Z>>>0>R>>>0){ia=Z-R|0;Q=K-ka|0;sa=ha;qa=R;Ia=g;while(1){b[Ia>>0]=b[sa>>0]|0;qa=qa+-1|0;if(!qa)break;else{sa=sa+1|0;Ia=Ia+1|0}}Ia=g+z+Q|0;Ja=ia;Ka=Ia+(0-K)|0;La=Ia}else{Ja=Z;Ka=ha;La=g}}else{if(r>>>0>=R>>>0){Ia=s+(r-R)|0;if(Z>>>0<=R>>>0){Ja=Z;Ka=Ia;La=g;break}sa=Z-R|0;qa=K-ka|0;Ma=Ia;Ia=R;Na=g;while(1){b[Na>>0]=b[Ma>>0]|0;Ia=Ia+-1|0;if(!Ia)break;else{Ma=Ma+1|0;Na=Na+1|0}}Na=g+z+qa|0;Ja=sa;Ka=Na+(0-K)|0;La=Na;break}Na=s+(A-R)|0;Ma=R-r|0;if(Z>>>0>Ma>>>0){Ia=Z-Ma|0;ha=K-ka|0;ia=Na;Q=Ma;Ma=g;while(1){b[Ma>>0]=b[ia>>0]|0;Q=Q+-1|0;if(!Q)break;else{ia=ia+1|0;Ma=Ma+1|0}}Ma=g+B+ha|0;if(Ia>>>0>r>>>0){ia=g+z|0;Q=s;sa=r;qa=Ma;while(1){b[qa>>0]=b[Q>>0]|0;sa=sa+-1|0;if(!sa)break;else{Q=Q+1|0;qa=qa+1|0}}qa=ia+ha|0;Ja=Ia-r|0;Ka=qa+(0-K)|0;La=qa}else{Ja=Ia;Ka=s;La=Ma}}else{Ja=Z;Ka=Na;La=g}}while(0);if(Ja>>>0>2){K=Ja;ka=Ka;R=La;while(1){b[R>>0]=b[ka>>0]|0;b[R+1>>0]=b[ka+1>>0]|0;ja=ka+3|0;ua=R+3|0;b[R+2>>0]=b[ka+2>>0]|0;ta=K+-3|0;if(ta>>>0>2){K=ta;ka=ja;R=ua}else{Oa=ta;Pa=ja;Qa=ua;break}}}else{Oa=Ja;Pa=Ka;Qa=La}if(Oa){R=Qa+1|0;b[Qa>>0]=b[Pa>>0]|0;if((Oa|0)==1){Ea=za;Fa=R;Ga=la;Ha=T}else{b[R>>0]=b[Pa+1>>0]|0;Ea=za;Fa=Qa+2|0;Ga=la;Ha=T}}else{Ea=za;Fa=Qa;Ga=la;Ha=T}}else{W=L;X=H;Y=J&255;P=7}while(0);if((P|0)==7){P=0;b[g>>0]=Y;Ea=E;Fa=g+1|0;Ga=X;Ha=W}if(Fa>>>0>>0&Ea>>>0>>0){C=Ea;g=Fa;l=Ga;D=Ha}else{Ra=Ga;Sa=Ha;Ta=Ea;Ua=Fa;P=57;break}}if((P|0)==53)if(!(M&32)){ma=E;na=O;oa=N;pa=443057;P=55}else{Va=E;Wa=O;Xa=N;Ya=16191}else if((P|0)==57){Za=Sa>>>3;_a=0-Za|0;$a=Ta+_a|0;ab=Sa&7;bb=1<>2]=$a;f[k>>2]=Ua;eb=$a;fb=j;gb=fb+5|0;hb=gb-eb|0;f[i>>2]=hb;ib=Ua;jb=o;kb=jb+257|0;lb=kb-ib|0;f[m>>2]=lb;f[t>>2]=db;f[u>>2]=ab;return}if((P|0)==55){f[a+24>>2]=pa;Va=ma;Wa=na;Xa=oa;Ya=16209}f[e+4>>2]=Ya;Ra=Wa;Sa=Xa;Ta=Va;Ua=g;Za=Sa>>>3;_a=0-Za|0;$a=Ta+_a|0;ab=Sa&7;bb=1<>2]=$a;f[k>>2]=Ua;eb=$a;fb=j;gb=fb+5|0;hb=gb-eb|0;f[i>>2]=hb;ib=Ua;jb=o;kb=jb+257|0;lb=kb-ib|0;f[m>>2]=lb;f[t>>2]=db;f[u>>2]=ab;return}function wBa(a,b,c){a=a|0;b=b|0;c=c|0;return YBa(X(c,b)|0)|0}function xBa(a,b){a=a|0;b=b|0;ZBa(b);return}function yBa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;d=a>>>16;e=a&65535;if((c|0)==1){a=e+(h[b>>0]|0)|0;f=a>>>0>65520?a+-65521|0:a;a=f+d|0;g=(a>>>0>65520?a+15|0:a)<<16|f;return g|0}if(!b){g=1;return g|0}if(c>>>0<16){if(!c){i=d;j=e}else{f=c;a=b;k=e;l=d;while(1){f=f+-1|0;m=k+(h[a>>0]|0)|0;n=m+l|0;if(!f){i=n;j=m;break}else{a=a+1|0;k=m;l=n}}}g=((i>>>0)%65521|0)<<16|(j>>>0>65520?j+-65521|0:j);return g|0}if(c>>>0>5551){j=c;i=b;l=d;k=e;do{j=j+-5552|0;a=347;f=i;n=l;m=k;while(1){o=m+(h[f>>0]|0)|0;p=o+(h[f+1>>0]|0)|0;q=p+(h[f+2>>0]|0)|0;r=q+(h[f+3>>0]|0)|0;s=r+(h[f+4>>0]|0)|0;t=s+(h[f+5>>0]|0)|0;u=t+(h[f+6>>0]|0)|0;v=u+(h[f+7>>0]|0)|0;w=v+(h[f+8>>0]|0)|0;x=w+(h[f+9>>0]|0)|0;y=x+(h[f+10>>0]|0)|0;z=y+(h[f+11>>0]|0)|0;A=z+(h[f+12>>0]|0)|0;B=A+(h[f+13>>0]|0)|0;C=B+(h[f+14>>0]|0)|0;m=C+(h[f+15>>0]|0)|0;n=o+n+p+q+r+s+t+u+v+w+x+y+z+A+B+C+m|0;a=a+-1|0;if(!a)break;else f=f+16|0}i=i+5552|0;k=(m>>>0)%65521|0;l=(n>>>0)%65521|0}while(j>>>0>5551);if(j)if(j>>>0>15){D=j;E=i;F=l;G=k;H=14}else{I=j;J=i;K=l;L=k;H=17}else{M=l;N=k}}else{D=c;E=b;F=d;G=e;H=14}if((H|0)==14){e=D+-16|0;d=e&-16;b=d+16|0;c=D;D=E;k=F;F=G;while(1){c=c+-16|0;G=F+(h[D>>0]|0)|0;l=G+(h[D+1>>0]|0)|0;i=l+(h[D+2>>0]|0)|0;j=i+(h[D+3>>0]|0)|0;f=j+(h[D+4>>0]|0)|0;a=f+(h[D+5>>0]|0)|0;C=a+(h[D+6>>0]|0)|0;B=C+(h[D+7>>0]|0)|0;A=B+(h[D+8>>0]|0)|0;z=A+(h[D+9>>0]|0)|0;y=z+(h[D+10>>0]|0)|0;x=y+(h[D+11>>0]|0)|0;w=x+(h[D+12>>0]|0)|0;v=w+(h[D+13>>0]|0)|0;u=v+(h[D+14>>0]|0)|0;F=u+(h[D+15>>0]|0)|0;k=G+k+l+i+j+f+a+C+B+A+z+y+x+w+v+u+F|0;if(c>>>0<=15)break;else D=D+16|0}D=e-d|0;if(!D){O=k;P=F;H=18}else{I=D;J=E+b|0;K=k;L=F;H=17}}if((H|0)==17)while(1){H=0;I=I+-1|0;F=L+(h[J>>0]|0)|0;k=F+K|0;if(!I){O=k;P=F;H=18;break}else{J=J+1|0;K=k;L=F;H=17}}if((H|0)==18){M=(O>>>0)%65521|0;N=(P>>>0)%65521|0}g=M<<16|N;return g|0}function zBa(a,b,c){a=a|0;b=b|0;c=c|0;return yBa(a,b,c)|0}function ABa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;if(!b){d=0;return d|0}e=~a;a:do if(c){a=e;g=c;i=b;while(1){if(!(i&3))break;j=f[101624+((a&255^(h[i>>0]|0))<<2)>>2]^a>>>8;k=g+-1|0;if(!k){l=j;break a}else{a=j;g=k;i=i+1|0}}if(g>>>0>31){k=g+-32|0;j=k&-32;m=i+(j+32)|0;n=i;o=a;p=g;while(1){q=f[n>>2]^o;r=f[103672+((q>>>8&255)<<2)>>2]^f[104696+((q&255)<<2)>>2]^f[102648+((q>>>16&255)<<2)>>2]^f[101624+(q>>>24<<2)>>2]^f[n+4>>2];q=f[103672+((r>>>8&255)<<2)>>2]^f[104696+((r&255)<<2)>>2]^f[102648+((r>>>16&255)<<2)>>2]^f[101624+(r>>>24<<2)>>2]^f[n+8>>2];r=f[103672+((q>>>8&255)<<2)>>2]^f[104696+((q&255)<<2)>>2]^f[102648+((q>>>16&255)<<2)>>2]^f[101624+(q>>>24<<2)>>2]^f[n+12>>2];q=f[103672+((r>>>8&255)<<2)>>2]^f[104696+((r&255)<<2)>>2]^f[102648+((r>>>16&255)<<2)>>2]^f[101624+(r>>>24<<2)>>2]^f[n+16>>2];r=f[103672+((q>>>8&255)<<2)>>2]^f[104696+((q&255)<<2)>>2]^f[102648+((q>>>16&255)<<2)>>2]^f[101624+(q>>>24<<2)>>2]^f[n+20>>2];q=f[103672+((r>>>8&255)<<2)>>2]^f[104696+((r&255)<<2)>>2]^f[102648+((r>>>16&255)<<2)>>2]^f[101624+(r>>>24<<2)>>2]^f[n+24>>2];r=f[103672+((q>>>8&255)<<2)>>2]^f[104696+((q&255)<<2)>>2]^f[102648+((q>>>16&255)<<2)>>2]^f[101624+(q>>>24<<2)>>2]^f[n+28>>2];o=f[103672+((r>>>8&255)<<2)>>2]^f[104696+((r&255)<<2)>>2]^f[102648+((r>>>16&255)<<2)>>2]^f[101624+(r>>>24<<2)>>2];p=p+-32|0;if(p>>>0<=31)break;else n=n+32|0}s=m;t=o;u=k-j|0}else{s=i;t=a;u=g}if(u>>>0>3){n=u+-4|0;p=n>>>2;r=s;q=u;v=t;while(1){w=f[r>>2]^v;v=f[103672+((w>>>8&255)<<2)>>2]^f[104696+((w&255)<<2)>>2]^f[102648+((w>>>16&255)<<2)>>2]^f[101624+(w>>>24<<2)>>2];q=q+-4|0;if(q>>>0<=3)break;else r=r+4|0}x=s+(p+1<<2)|0;y=v;z=n&3}else{x=s;y=t;z=u}if(!z)l=y;else{r=x;q=y;g=z;while(1){a=f[101624+((q&255^(h[r>>0]|0))<<2)>>2]^q>>>8;g=g+-1|0;if(!g){l=a;break}else{r=r+1|0;q=a}}}}else l=e;while(0);d=~l;return d|0}function BBa(a,b,c){a=a|0;b=b|0;c=c|0;return ABa(a,b,c)|0}function CBa(a,c,e,g,h,i,k,l){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;if(!k){m=-6;return m|0}if((l|0)!=56|(b[k>>0]|0)!=49){m=-6;return m|0}if(!a){m=-2;return m|0}k=a+24|0;f[k>>2]=0;l=a+32|0;n=f[l>>2]|0;if(!n){f[l>>2]=84;f[a+40>>2]=0;o=84}else o=n;n=a+36|0;if(!(f[n>>2]|0))f[n>>2]=346;n=(c|0)==-1?6:c;if((g|0)<0){p=0;q=0-g|0}else{c=(g|0)>15;p=c?2:1;q=c?g+-16|0:g}if(i>>>0>4|(n>>>0>9|((e|0)!=8|(h+-1|0)>>>0>8|(q&-8|0)!=8))){m=-2;return m|0}e=(q|0)==8;if(e&(p|0)!=1){m=-2;return m|0}g=e?9:q;q=a+40|0;e=bg[o&127](f[q>>2]|0,1,5828)|0;if(!e){m=-4;return m|0}o=a+28|0;f[o>>2]=e;f[e>>2]=a;c=e+4|0;f[c>>2]=42;f[e+24>>2]=p;f[e+28>>2]=0;f[e+48>>2]=g;p=1<>2]=p;f[e+52>>2]=p+-1;r=h+7|0;f[e+80>>2]=r;s=1<>2]=s;f[e+84>>2]=s+-1;f[e+88>>2]=((h+9|0)>>>0)/3|0;s=bg[f[l>>2]&127](f[q>>2]|0,p,2)|0;p=e+56|0;f[p>>2]=s;s=bg[f[l>>2]&127](f[q>>2]|0,f[g>>2]|0,2)|0;g=e+64|0;f[g>>2]=s;s=bg[f[l>>2]&127](f[q>>2]|0,f[r>>2]|0,2)|0;r=e+68|0;f[r>>2]=s;f[e+5824>>2]=0;s=1<>2]=s;t=bg[f[l>>2]&127](f[q>>2]|0,s,4)|0;f[e+8>>2]=t;s=f[h>>2]|0;f[e+12>>2]=s<<2;if((f[p>>2]|0?f[g>>2]|0:0)?!((f[r>>2]|0)==0|(t|0)==0):0){f[e+5796>>2]=t+(s>>>1<<1);f[e+5784>>2]=t+(s*3|0);f[e+132>>2]=n;f[e+136>>2]=i;b[e+36>>0]=8;e=EBa(a)|0;if(e|0){m=e;return m|0}e=f[o>>2]|0;f[e+60>>2]=f[e+44>>2]<<1;o=f[e+68>>2]|0;i=f[e+76>>2]|0;d[o+(i+-1<<1)>>1]=0;FVa(o|0,0,(i<<1)+-2|0)|0;i=f[e+132>>2]|0;f[e+128>>2]=j[109816+(i*12|0)+2>>1];f[e+140>>2]=j[109816+(i*12|0)>>1];f[e+144>>2]=j[109816+(i*12|0)+4>>1];f[e+124>>2]=j[109816+(i*12|0)+6>>1];f[e+108>>2]=0;f[e+92>>2]=0;f[e+116>>2]=0;f[e+5812>>2]=0;f[e+120>>2]=2;f[e+96>>2]=2;f[e+104>>2]=0;f[e+72>>2]=0;m=0;return m|0}f[c>>2]=666;f[k>>2]=f[25402];DBa(a)|0;m=-4;return m|0}function DBa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!a){b=-2;return b|0}if(!(f[a+32>>2]|0)){b=-2;return b|0}c=a+36|0;d=f[c>>2]|0;if(!d){b=-2;return b|0}e=a+28|0;g=f[e>>2]|0;if(!g){b=-2;return b|0}if((f[g>>2]|0)!=(a|0)){b=-2;return b|0}h=f[g+4>>2]|0;switch(h|0){case 666:case 113:case 103:case 91:case 73:case 69:case 57:case 42:break;default:{b=-2;return b|0}}i=f[g+8>>2]|0;if(!i)j=g;else{zg[d&511](f[a+40>>2]|0,i);j=f[e>>2]|0}i=f[j+68>>2]|0;if(!i)k=j;else{zg[f[c>>2]&511](f[a+40>>2]|0,i);k=f[e>>2]|0}i=f[k+64>>2]|0;if(!i)l=k;else{zg[f[c>>2]&511](f[a+40>>2]|0,i);l=f[e>>2]|0}i=f[l+56>>2]|0;if(!i){m=a+40|0;n=l}else{l=a+40|0;zg[f[c>>2]&511](f[l>>2]|0,i);m=l;n=f[e>>2]|0}zg[f[c>>2]&511](f[m>>2]|0,n);f[e>>2]=0;b=(h|0)==113?-3:0;return b|0}function EBa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;if(!a){b=-2;return b|0}if(!(f[a+32>>2]|0)){b=-2;return b|0}if(!(f[a+36>>2]|0)){b=-2;return b|0}c=f[a+28>>2]|0;if(!c){b=-2;return b|0}if((f[c>>2]|0)!=(a|0)){b=-2;return b|0}d=c+4|0;switch(f[d>>2]|0){case 666:case 113:case 103:case 91:case 73:case 69:case 57:case 42:break;default:{b=-2;return b|0}}f[a+20>>2]=0;f[a+8>>2]=0;f[a+24>>2]=0;f[a+44>>2]=2;f[c+20>>2]=0;f[c+16>>2]=f[c+8>>2];e=c+24|0;g=f[e>>2]|0;if((g|0)<0){h=0-g|0;f[e>>2]=h;i=h}else i=g;g=(i|0)==2;f[d>>2]=g?57:i|0?42:113;if(g)j=BBa(0,0,0)|0;else j=zBa(0,0,0)|0;f[a+48>>2]=j;f[c+40>>2]=0;MBa(c);b=0;return b|0}function FBa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;d=a+12|0;e=(f[d>>2]|0)+-5|0;g=a+44|0;h=f[g>>2]|0;i=e>>>0>h>>>0?h:e;e=f[a>>2]|0;h=f[e+4>>2]|0;j=a+5820|0;k=a+108|0;l=a+92|0;m=(c|0)!=4;n=(c|0)==0;o=(c|0)==4;p=a+8|0;q=a+20|0;r=a+56|0;s=(f[j>>2]|0)+42>>3;t=f[e+16>>2]|0;a:do if(t>>>0>>0){u=0;v=e}else{w=0;x=s;y=t;z=e;while(1){A=y-x|0;B=(f[k>>2]|0)-(f[l>>2]|0)|0;C=B+(f[z+4>>2]|0)|0;D=C>>>0<65535?C:65535;E=D>>>0>A>>>0?A:D;if(E>>>0>>0?!((E|0)==(C|0)&((n|m&(E|0)==0)^1)):0){u=w;v=z;break a}D=o&(E|0)==(C|0);C=D&1;OBa(a,0,0,C);b[(f[p>>2]|0)+((f[q>>2]|0)+-4)>>0]=E;b[(f[p>>2]|0)+((f[q>>2]|0)+-3)>>0]=E>>>8;A=~E;b[(f[p>>2]|0)+((f[q>>2]|0)+-2)>>0]=A;b[(f[p>>2]|0)+((f[q>>2]|0)+-1)>>0]=A>>>8;A=f[a>>2]|0;F=f[A+28>>2]|0;PBa(F);G=F+20|0;H=f[G>>2]|0;I=A+16|0;J=f[I>>2]|0;K=H>>>0>J>>>0?J:H;if(K|0?(H=A+12|0,J=F+16|0,DVa(f[H>>2]|0,f[J>>2]|0,K|0)|0,f[H>>2]=(f[H>>2]|0)+K,f[J>>2]=(f[J>>2]|0)+K,H=A+20|0,f[H>>2]=(f[H>>2]|0)+K,f[I>>2]=(f[I>>2]|0)-K,I=(f[G>>2]|0)-K|0,f[G>>2]=I,(I|0)==0):0)f[J>>2]=f[F+8>>2];if(!B)L=E;else{F=B>>>0>E>>>0?E:B;DVa(f[(f[a>>2]|0)+12>>2]|0,(f[r>>2]|0)+(f[l>>2]|0)|0,F|0)|0;B=f[a>>2]|0;J=B+12|0;f[J>>2]=(f[J>>2]|0)+F;J=B+16|0;f[J>>2]=(f[J>>2]|0)-F;J=B+20|0;f[J>>2]=(f[J>>2]|0)+F;f[l>>2]=(f[l>>2]|0)+F;L=E-F|0}if(L|0){F=f[a>>2]|0;E=f[F+12>>2]|0;J=F+4|0;B=f[J>>2]|0;I=B>>>0>L>>>0?L:B;if(!I){M=F;N=E}else{f[J>>2]=B-I;DVa(E|0,f[F>>2]|0,I|0)|0;switch(f[(f[F+28>>2]|0)+24>>2]|0){case 1:{B=F+48|0;O=B;P=zBa(f[B>>2]|0,E,I)|0;Q=14;break}case 2:{B=F+48|0;O=B;P=BBa(f[B>>2]|0,E,I)|0;Q=14;break}default:{}}if((Q|0)==14){Q=0;f[O>>2]=P}f[F>>2]=(f[F>>2]|0)+I;E=F+8|0;f[E>>2]=(f[E>>2]|0)+I;I=f[a>>2]|0;M=I;N=f[I+12>>2]|0}f[M+12>>2]=N+L;I=M+16|0;f[I>>2]=(f[I>>2]|0)-L;I=M+20|0;f[I>>2]=(f[I>>2]|0)+L}I=f[a>>2]|0;if(D){u=C;v=I;break a}x=(f[j>>2]|0)+42>>3;y=f[I+16>>2]|0;if(y>>>0>>0){u=C;v=I;break}else{w=C;z=I}}}while(0);L=h-(f[v+4>>2]|0)|0;if(!L)R=f[k>>2]|0;else{h=f[g>>2]|0;if(L>>>0>>0){M=f[k>>2]|0;if(((f[a+60>>2]|0)-M|0)>>>0<=L>>>0?(N=M-h|0,f[k>>2]=N,M=f[r>>2]|0,DVa(M|0,M+h|0,N|0)|0,N=a+5808|0,M=f[N>>2]|0,M>>>0<2):0)f[N>>2]=M+1;DVa((f[r>>2]|0)+(f[k>>2]|0)|0,(f[f[a>>2]>>2]|0)+(0-L)|0,L|0)|0;M=(f[k>>2]|0)+L|0;f[k>>2]=M;S=M;T=f[g>>2]|0}else{f[a+5808>>2]=2;DVa(f[r>>2]|0,(f[v>>2]|0)+(0-h)|0,h|0)|0;h=f[g>>2]|0;f[k>>2]=h;S=h;T=h}f[l>>2]=S;h=a+5812|0;v=f[h>>2]|0;M=T-v|0;f[h>>2]=(L>>>0>M>>>0?M:L)+v;R=S}S=a+5824|0;if((f[S>>2]|0)>>>0>>0)f[S>>2]=R;if(u|0){U=3;return U|0}u=(c|0)!=0;v=f[a>>2]|0;L=f[v+4>>2]|0;do if((c|4|0)!=4&(L|0)==0)if((R|0)==(f[l>>2]|0)){U=1;return U|0}else{V=(f[a+60>>2]|0)-R+-1|0;W=0;X=v;break}else{M=(f[a+60>>2]|0)-R+-1|0;if(L>>>0>M>>>0?(h=f[l>>2]|0,T=f[g>>2]|0,(h|0)>=(T|0)):0){f[l>>2]=h-T;h=R-T|0;f[k>>2]=h;N=f[r>>2]|0;DVa(N|0,N+T|0,h|0)|0;h=a+5808|0;T=f[h>>2]|0;if(T>>>0<2)f[h>>2]=T+1;T=f[a>>2]|0;V=(f[g>>2]|0)+M|0;W=f[T+4>>2]|0;X=T}else{V=M;W=L;X=v}}while(0);v=V>>>0>W>>>0?W:V;if(!v)Y=f[k>>2]|0;else{V=(f[r>>2]|0)+(f[k>>2]|0)|0;f[X+4>>2]=W-v;DVa(V|0,f[X>>2]|0,v|0)|0;switch(f[(f[X+28>>2]|0)+24>>2]|0){case 1:{W=X+48|0;Z=W;_=zBa(f[W>>2]|0,V,v)|0;Q=44;break}case 2:{W=X+48|0;Z=W;_=BBa(f[W>>2]|0,V,v)|0;Q=44;break}default:{}}if((Q|0)==44)f[Z>>2]=_;f[X>>2]=(f[X>>2]|0)+v;_=X+8|0;f[_>>2]=(f[_>>2]|0)+v;_=(f[k>>2]|0)+v|0;f[k>>2]=_;Y=_}if((f[S>>2]|0)>>>0>>0)f[S>>2]=Y;S=(f[d>>2]|0)-((f[j>>2]|0)+42>>3)|0;j=S>>>0<65535?S:65535;S=f[g>>2]|0;g=f[l>>2]|0;d=Y-g|0;if(d>>>0<(j>>>0>S>>>0?S:j)>>>0)if(u&(o|(d|0)!=0)?!(d>>>0>j>>>0?1:(f[(f[a>>2]|0)+4>>2]|0)!=0):0)Q=51;else $=0;else Q=51;if((Q|0)==51){Q=d>>>0>j>>>0?j:d;if(o)aa=(d>>>0<=j>>>0?(f[(f[a>>2]|0)+4>>2]|0)==0:0)&1;else aa=0;OBa(a,(f[r>>2]|0)+g|0,Q,aa);f[l>>2]=(f[l>>2]|0)+Q;Q=f[a>>2]|0;a=f[Q+28>>2]|0;PBa(a);l=a+20|0;g=f[l>>2]|0;r=Q+16|0;j=f[r>>2]|0;d=g>>>0>j>>>0?j:g;if((d|0)!=0?(g=Q+12|0,j=a+16|0,DVa(f[g>>2]|0,f[j>>2]|0,d|0)|0,f[g>>2]=(f[g>>2]|0)+d,f[j>>2]=(f[j>>2]|0)+d,g=Q+20|0,f[g>>2]=(f[g>>2]|0)+d,f[r>>2]=(f[r>>2]|0)-d,r=(f[l>>2]|0)-d|0,f[l>>2]=r,(r|0)==0):0){f[j>>2]=f[a+8>>2];$=aa}else $=aa}U=$|0?2:0;return U|0}function GBa(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=a+116|0;g=(c|0)==0;i=a+72|0;j=a+88|0;k=a+56|0;l=a+108|0;m=a+84|0;n=a+68|0;o=a+64|0;p=a+52|0;q=a+44|0;r=a+96|0;s=a+112|0;t=a+5796|0;u=a+5792|0;v=a+5784|0;w=a+5788|0;x=a+128|0;y=a+92|0;while(1){if((f[e>>2]|0)>>>0<262){IBa(a);z=f[e>>2]|0;if(g&z>>>0<262){A=0;B=39;break}if(!z){B=24;break}if(z>>>0<=2)B=9;else B=6}else B=6;if((B|0)==6){B=0;z=f[l>>2]|0;C=(f[i>>2]<>2]^(h[(f[k>>2]|0)+(z+2)>>0]|0))&f[m>>2];f[i>>2]=C;D=(f[n>>2]|0)+(C<<1)|0;C=d[D>>1]|0;d[(f[o>>2]|0)+((f[p>>2]&z)<<1)>>1]=C;E=C&65535;d[D>>1]=z;if(C<<16>>16!=0?(z-E|0)>>>0<=((f[q>>2]|0)+-262|0)>>>0:0){z=JBa(a,E)|0;f[r>>2]=z;F=z}else B=9}if((B|0)==9){B=0;F=f[r>>2]|0}do if(F>>>0>2){z=F+253|0;E=(f[l>>2]|0)-(f[s>>2]|0)|0;C=f[u>>2]|0;d[(f[t>>2]|0)+(C<<1)>>1]=E;D=f[v>>2]|0;f[u>>2]=C+1;b[D+C>>0]=z;C=a+148+((h[443765+(z&255)>>0]|0|256)+1<<2)|0;d[C>>1]=(d[C>>1]|0)+1<<16>>16;C=E+65535&65535;E=a+2440+((h[443253+(C>>>0<256?C:(C>>>7)+256|0)>>0]|0)<<2)|0;d[E>>1]=(d[E>>1]|0)+1<<16>>16;E=(f[u>>2]|0)==((f[w>>2]|0)+-1|0)&1;C=f[r>>2]|0;z=(f[e>>2]|0)-C|0;f[e>>2]=z;if(!(z>>>0>2?C>>>0<=(f[x>>2]|0)>>>0:0)){z=(f[l>>2]|0)+C|0;f[l>>2]=z;f[r>>2]=0;D=f[k>>2]|0;G=h[D+z>>0]|0;f[i>>2]=G;f[i>>2]=(G<>2]^(h[D+(z+1)>>0]|0))&f[m>>2];H=E;I=z;break}z=C+-1|0;f[r>>2]=z;C=f[j>>2]|0;D=f[k>>2]|0;G=f[m>>2]|0;J=f[n>>2]|0;K=f[o>>2]|0;L=f[p>>2]|0;M=f[l>>2]|0;N=f[i>>2]|0;O=z;while(1){z=M+1|0;f[l>>2]=z;N=(N<>0]|0))&G;f[i>>2]=N;P=J+(N<<1)|0;d[K+((L&z)<<1)>>1]=d[P>>1]|0;d[P>>1]=z;O=O+-1|0;f[r>>2]=O;if(!O)break;else M=z}O=M+2|0;f[l>>2]=O;H=E;I=O}else{O=b[(f[k>>2]|0)+(f[l>>2]|0)>>0]|0;L=f[u>>2]|0;d[(f[t>>2]|0)+(L<<1)>>1]=0;K=f[v>>2]|0;f[u>>2]=L+1;b[K+L>>0]=O;L=a+148+((O&255)<<2)|0;d[L>>1]=(d[L>>1]|0)+1<<16>>16;L=(f[u>>2]|0)==((f[w>>2]|0)+-1|0)&1;f[e>>2]=(f[e>>2]|0)+-1;O=(f[l>>2]|0)+1|0;f[l>>2]=O;H=L;I=O}while(0);if(!H)continue;O=f[y>>2]|0;if((O|0)>-1)Q=(f[k>>2]|0)+O|0;else Q=0;RBa(a,Q,I-O|0,0);f[y>>2]=f[l>>2];O=f[a>>2]|0;L=f[O+28>>2]|0;PBa(L);K=L+20|0;N=f[K>>2]|0;J=O+16|0;G=f[J>>2]|0;D=N>>>0>G>>>0?G:N;if(D|0?(N=O+12|0,G=L+16|0,DVa(f[N>>2]|0,f[G>>2]|0,D|0)|0,f[N>>2]=(f[N>>2]|0)+D,f[G>>2]=(f[G>>2]|0)+D,N=O+20|0,f[N>>2]=(f[N>>2]|0)+D,f[J>>2]=(f[J>>2]|0)-D,J=(f[K>>2]|0)-D|0,f[K>>2]=J,(J|0)==0):0)f[G>>2]=f[L+8>>2];if(!(f[(f[a>>2]|0)+16>>2]|0)){A=0;B=39;break}}if((B|0)==24){I=f[l>>2]|0;f[a+5812>>2]=I>>>0<2?I:2;if((c|0)==4){c=f[y>>2]|0;if((c|0)>-1)R=(f[k>>2]|0)+c|0;else R=0;RBa(a,R,I-c|0,1);f[y>>2]=f[l>>2];c=f[a>>2]|0;R=f[c+28>>2]|0;PBa(R);Q=R+20|0;H=f[Q>>2]|0;e=c+16|0;w=f[e>>2]|0;v=H>>>0>w>>>0?w:H;if(v|0?(H=c+12|0,w=R+16|0,DVa(f[H>>2]|0,f[w>>2]|0,v|0)|0,f[H>>2]=(f[H>>2]|0)+v,f[w>>2]=(f[w>>2]|0)+v,H=c+20|0,f[H>>2]=(f[H>>2]|0)+v,f[e>>2]=(f[e>>2]|0)-v,e=(f[Q>>2]|0)-v|0,f[Q>>2]=e,(e|0)==0):0)f[w>>2]=f[R+8>>2];A=(f[(f[a>>2]|0)+16>>2]|0)==0?2:3;return A|0}if(f[u>>2]|0){u=f[y>>2]|0;if((u|0)>-1)S=(f[k>>2]|0)+u|0;else S=0;RBa(a,S,I-u|0,0);f[y>>2]=f[l>>2];l=f[a>>2]|0;y=f[l+28>>2]|0;PBa(y);u=y+20|0;I=f[u>>2]|0;S=l+16|0;k=f[S>>2]|0;R=I>>>0>k>>>0?k:I;if(R|0?(I=l+12|0,k=y+16|0,DVa(f[I>>2]|0,f[k>>2]|0,R|0)|0,f[I>>2]=(f[I>>2]|0)+R,f[k>>2]=(f[k>>2]|0)+R,I=l+20|0,f[I>>2]=(f[I>>2]|0)+R,f[S>>2]=(f[S>>2]|0)-R,S=(f[u>>2]|0)-R|0,f[u>>2]=S,(S|0)==0):0)f[k>>2]=f[y+8>>2];if(!(f[(f[a>>2]|0)+16>>2]|0)){A=0;return A|0}}A=1;return A|0}else if((B|0)==39)return A|0;return 0}function HBa(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;e=a+116|0;g=(c|0)==0;i=a+72|0;j=a+88|0;k=a+56|0;l=a+108|0;m=a+84|0;n=a+68|0;o=a+64|0;p=a+52|0;q=a+96|0;r=a+120|0;s=a+112|0;t=a+100|0;u=a+5796|0;v=a+5792|0;w=a+5784|0;x=a+5788|0;y=a+104|0;z=a+92|0;A=a+128|0;B=a+44|0;C=a+136|0;a:while(1){D=f[e>>2]|0;while(1){if(D>>>0<262){IBa(a);E=f[e>>2]|0;if(g&E>>>0<262){F=0;G=55;break a}if(!E){G=38;break a}if(E>>>0<=2){f[r>>2]=f[q>>2];f[t>>2]=f[s>>2];f[q>>2]=2;H=2;G=16}else G=8}else G=8;do if((G|0)==8){G=0;E=f[l>>2]|0;I=(f[i>>2]<>2]^(h[(f[k>>2]|0)+(E+2)>>0]|0))&f[m>>2];f[i>>2]=I;J=(f[n>>2]|0)+(I<<1)|0;I=d[J>>1]|0;d[(f[o>>2]|0)+((f[p>>2]&E)<<1)>>1]=I;K=I&65535;d[J>>1]=E;E=f[q>>2]|0;f[r>>2]=E;f[t>>2]=f[s>>2];f[q>>2]=2;if(I<<16>>16)if(E>>>0<(f[A>>2]|0)>>>0)if(((f[l>>2]|0)-K|0)>>>0<=((f[B>>2]|0)+-262|0)>>>0){I=JBa(a,K)|0;f[q>>2]=I;if(I>>>0<6){if((f[C>>2]|0)!=1){if((I|0)!=3){H=I;G=16;break}if(((f[l>>2]|0)-(f[s>>2]|0)|0)>>>0<=4096){H=3;G=16;break}}f[q>>2]=2;H=2;G=16}else{H=I;G=16}}else{H=2;G=16}else{L=E;M=2}else{H=2;G=16}}while(0);if((G|0)==16){G=0;L=f[r>>2]|0;M=H}if(!(L>>>0<3|M>>>0>L>>>0))break;if(!(f[y>>2]|0)){f[y>>2]=1;f[l>>2]=(f[l>>2]|0)+1;E=(f[e>>2]|0)+-1|0;f[e>>2]=E;D=E;continue}E=b[(f[k>>2]|0)+((f[l>>2]|0)+-1)>>0]|0;I=f[v>>2]|0;d[(f[u>>2]|0)+(I<<1)>>1]=0;K=f[w>>2]|0;f[v>>2]=I+1;b[K+I>>0]=E;I=a+148+((E&255)<<2)|0;d[I>>1]=(d[I>>1]|0)+1<<16>>16;if((f[v>>2]|0)==((f[x>>2]|0)+-1|0)){I=f[z>>2]|0;if((I|0)>-1)N=(f[k>>2]|0)+I|0;else N=0;RBa(a,N,(f[l>>2]|0)-I|0,0);f[z>>2]=f[l>>2];I=f[a>>2]|0;E=f[I+28>>2]|0;PBa(E);K=E+20|0;J=f[K>>2]|0;O=I+16|0;P=f[O>>2]|0;Q=J>>>0>P>>>0?P:J;if(Q|0?(J=I+12|0,P=E+16|0,DVa(f[J>>2]|0,f[P>>2]|0,Q|0)|0,f[J>>2]=(f[J>>2]|0)+Q,f[P>>2]=(f[P>>2]|0)+Q,J=I+20|0,f[J>>2]=(f[J>>2]|0)+Q,f[O>>2]=(f[O>>2]|0)-Q,O=(f[K>>2]|0)-Q|0,f[K>>2]=O,(O|0)==0):0)f[P>>2]=f[E+8>>2]}f[l>>2]=(f[l>>2]|0)+1;D=(f[e>>2]|0)+-1|0;f[e>>2]=D;if(!(f[(f[a>>2]|0)+16>>2]|0)){F=0;G=55;break a}}D=f[l>>2]|0;E=D+-3+(f[e>>2]|0)|0;P=L+253|0;O=D+65535-(f[t>>2]|0)|0;D=f[v>>2]|0;d[(f[u>>2]|0)+(D<<1)>>1]=O;K=f[w>>2]|0;f[v>>2]=D+1;b[K+D>>0]=P;D=a+148+((h[443765+(P&255)>>0]|0|256)+1<<2)|0;d[D>>1]=(d[D>>1]|0)+1<<16>>16;D=O+65535&65535;O=a+2440+((h[443253+(D>>>0<256?D:(D>>>7)+256|0)>>0]|0)<<2)|0;d[O>>1]=(d[O>>1]|0)+1<<16>>16;O=f[v>>2]|0;D=(f[x>>2]|0)+-1|0;P=f[r>>2]|0;f[e>>2]=1-P+(f[e>>2]|0);K=P+-2|0;f[r>>2]=K;P=f[l>>2]|0;Q=K;while(1){K=P+1|0;f[l>>2]=K;if(K>>>0<=E>>>0){J=(f[i>>2]<>2]^(h[(f[k>>2]|0)+(P+3)>>0]|0))&f[m>>2];f[i>>2]=J;I=(f[n>>2]|0)+(J<<1)|0;d[(f[o>>2]|0)+((f[p>>2]&K)<<1)>>1]=d[I>>1]|0;d[I>>1]=K}Q=Q+-1|0;f[r>>2]=Q;if(!Q)break;else P=K}f[y>>2]=0;f[q>>2]=2;Q=P+2|0;f[l>>2]=Q;if((O|0)!=(D|0))continue;E=f[z>>2]|0;if((E|0)>-1)R=(f[k>>2]|0)+E|0;else R=0;RBa(a,R,Q-E|0,0);f[z>>2]=f[l>>2];E=f[a>>2]|0;Q=f[E+28>>2]|0;PBa(Q);K=Q+20|0;I=f[K>>2]|0;J=E+16|0;S=f[J>>2]|0;T=I>>>0>S>>>0?S:I;if(T|0?(I=E+12|0,S=Q+16|0,DVa(f[I>>2]|0,f[S>>2]|0,T|0)|0,f[I>>2]=(f[I>>2]|0)+T,f[S>>2]=(f[S>>2]|0)+T,I=E+20|0,f[I>>2]=(f[I>>2]|0)+T,f[J>>2]=(f[J>>2]|0)-T,J=(f[K>>2]|0)-T|0,f[K>>2]=J,(J|0)==0):0)f[S>>2]=f[Q+8>>2];if(!(f[(f[a>>2]|0)+16>>2]|0)){F=0;G=55;break}}if((G|0)==38){if(f[y>>2]|0){R=b[(f[k>>2]|0)+((f[l>>2]|0)+-1)>>0]|0;q=f[v>>2]|0;d[(f[u>>2]|0)+(q<<1)>>1]=0;u=f[w>>2]|0;f[v>>2]=q+1;b[u+q>>0]=R;q=a+148+((R&255)<<2)|0;d[q>>1]=(d[q>>1]|0)+1<<16>>16;f[y>>2]=0}y=f[l>>2]|0;f[a+5812>>2]=y>>>0<2?y:2;if((c|0)==4){c=f[z>>2]|0;if((c|0)>-1)U=(f[k>>2]|0)+c|0;else U=0;RBa(a,U,y-c|0,1);f[z>>2]=f[l>>2];c=f[a>>2]|0;U=f[c+28>>2]|0;PBa(U);q=U+20|0;R=f[q>>2]|0;u=c+16|0;w=f[u>>2]|0;r=R>>>0>w>>>0?w:R;if(r|0?(R=c+12|0,w=U+16|0,DVa(f[R>>2]|0,f[w>>2]|0,r|0)|0,f[R>>2]=(f[R>>2]|0)+r,f[w>>2]=(f[w>>2]|0)+r,R=c+20|0,f[R>>2]=(f[R>>2]|0)+r,f[u>>2]=(f[u>>2]|0)-r,u=(f[q>>2]|0)-r|0,f[q>>2]=u,(u|0)==0):0)f[w>>2]=f[U+8>>2];F=(f[(f[a>>2]|0)+16>>2]|0)==0?2:3;return F|0}if(f[v>>2]|0){v=f[z>>2]|0;if((v|0)>-1)V=(f[k>>2]|0)+v|0;else V=0;RBa(a,V,y-v|0,0);f[z>>2]=f[l>>2];l=f[a>>2]|0;z=f[l+28>>2]|0;PBa(z);v=z+20|0;y=f[v>>2]|0;V=l+16|0;k=f[V>>2]|0;U=y>>>0>k>>>0?k:y;if(U|0?(y=l+12|0,k=z+16|0,DVa(f[y>>2]|0,f[k>>2]|0,U|0)|0,f[y>>2]=(f[y>>2]|0)+U,f[k>>2]=(f[k>>2]|0)+U,y=l+20|0,f[y>>2]=(f[y>>2]|0)+U,f[V>>2]=(f[V>>2]|0)-U,V=(f[v>>2]|0)-U|0,f[v>>2]=V,(V|0)==0):0)f[k>>2]=f[z+8>>2];if(!(f[(f[a>>2]|0)+16>>2]|0)){F=0;return F|0}}F=1;return F|0}else if((G|0)==55)return F|0;return 0}function IBa(a){a=a|0;var b=0,c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;b=a+44|0;c=f[b>>2]|0;e=a+60|0;g=a+116|0;i=a+108|0;k=c+-262|0;l=a+56|0;m=a+5812|0;n=a+72|0;o=a+88|0;p=a+84|0;q=a+68|0;r=a+64|0;s=a+52|0;t=a+112|0;u=a+92|0;v=a+76|0;w=f[g>>2]|0;x=c;while(1){y=f[i>>2]|0;z=(f[e>>2]|0)-w-y|0;if(y>>>0<(k+x|0)>>>0){A=z;B=y}else{y=f[l>>2]|0;DVa(y|0,y+c|0,c-z|0)|0;f[t>>2]=(f[t>>2]|0)-c;y=(f[i>>2]|0)-c|0;f[i>>2]=y;f[u>>2]=(f[u>>2]|0)-c;C=f[b>>2]|0;D=f[v>>2]|0;E=D;F=(f[q>>2]|0)+(D<<1)|0;do{F=F+-2|0;D=j[F>>1]|0;d[F>>1]=C>>>0>D>>>0?0:D-C&65535;E=E+-1|0}while((E|0)!=0);E=C;F=(f[r>>2]|0)+(C<<1)|0;do{F=F+-2|0;D=j[F>>1]|0;d[F>>1]=C>>>0>D>>>0?0:D-C&65535;E=E+-1|0}while((E|0)!=0);A=z+c|0;B=y}E=f[a>>2]|0;C=E+4|0;F=f[C>>2]|0;if(!F)break;D=f[g>>2]|0;G=(f[l>>2]|0)+B+D|0;H=F>>>0>A>>>0?A:F;if(!H){I=0;J=D}else{f[C>>2]=F-H;DVa(G|0,f[E>>2]|0,H|0)|0;switch(f[(f[E+28>>2]|0)+24>>2]|0){case 1:{F=E+48|0;K=F;L=zBa(f[F>>2]|0,G,H)|0;M=13;break}case 2:{F=E+48|0;K=F;L=BBa(f[F>>2]|0,G,H)|0;M=13;break}default:{}}if((M|0)==13){M=0;f[K>>2]=L}f[E>>2]=(f[E>>2]|0)+H;G=E+8|0;f[G>>2]=(f[G>>2]|0)+H;I=H;J=f[g>>2]|0}H=J+I|0;f[g>>2]=H;G=f[m>>2]|0;a:do if((G+H|0)>>>0>2){E=(f[i>>2]|0)-G|0;F=f[l>>2]|0;C=h[F+E>>0]|0;f[n>>2]=C;D=f[o>>2]|0;N=f[p>>2]|0;O=(C<>0]|0))&N;f[n>>2]=O;C=E;E=G;P=O;while(1){if(!E)break a;P=(P<>0]|0))&N;f[n>>2]=P;O=(f[q>>2]|0)+(P<<1)|0;d[(f[r>>2]|0)+((f[s>>2]&C)<<1)>>1]=d[O>>1]|0;d[O>>1]=C;E=E+-1|0;f[m>>2]=E;if((H+E|0)>>>0<3)break;else C=C+1|0}}while(0);if(H>>>0>=262)break;if(!(f[(f[a>>2]|0)+4>>2]|0))break;w=H;x=f[b>>2]|0}b=a+5824|0;a=f[b>>2]|0;x=f[e>>2]|0;if(x>>>0<=a>>>0)return;e=(f[g>>2]|0)+(f[i>>2]|0)|0;do if(a>>>0>=e>>>0){i=e+258|0;if(i>>>0>a>>>0){g=i-a|0;i=x-a|0;w=g>>>0>i>>>0?i:g;FVa((f[l>>2]|0)+a|0,0,w|0)|0;Q=(f[b>>2]|0)+w|0;break}else return}else{w=x-e|0;g=w>>>0<258?w:258;FVa((f[l>>2]|0)+e|0,0,g|0)|0;Q=g+e|0}while(0);f[b>>2]=Q;return}function JBa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;d=f[a+124>>2]|0;e=f[a+56>>2]|0;g=f[a+108>>2]|0;h=e+g|0;i=f[a+120>>2]|0;k=f[a+144>>2]|0;l=(f[a+44>>2]|0)+-262|0;m=g>>>0>l>>>0?g-l|0:0;l=f[a+64>>2]|0;g=f[a+52>>2]|0;n=f[a+116>>2]|0;o=k>>>0>n>>>0?n:k;k=a+112|0;p=h+1|0;q=h+258|0;r=b[h+i>>0]|0;s=b[h+(i+-1)>>0]|0;t=c;c=i;u=i>>>0<(f[a+140>>2]|0)>>>0?d:d>>>2;while(1){d=e+t|0;if((((b[d+c>>0]|0)==r<<24>>24?(b[d+(c+-1)>>0]|0)==s<<24>>24:0)?(b[d>>0]|0)==(b[h>>0]|0):0)?(a=d+1|0,(b[a>>0]|0)==(b[p>>0]|0)):0){d=2;i=a;while(1){a=h+d|0;v=a+1|0;if((b[v>>0]|0)!=(b[i+2>>0]|0)){w=v;break}v=a+2|0;if((b[v>>0]|0)!=(b[i+3>>0]|0)){w=v;break}v=a+3|0;if((b[v>>0]|0)!=(b[i+4>>0]|0)){w=v;break}v=a+4|0;if((b[v>>0]|0)!=(b[i+5>>0]|0)){w=v;break}v=a+5|0;if((b[v>>0]|0)!=(b[i+6>>0]|0)){w=v;break}v=a+6|0;if((b[v>>0]|0)!=(b[i+7>>0]|0)){w=v;break}v=a+7|0;a=i;i=i+8|0;if((b[v>>0]|0)!=(b[i>>0]|0)){w=v;break}v=d;d=d+8|0;x=h+d|0;if(!((v|0)<250?(b[x>>0]|0)==(b[a+9>>0]|0):0)){w=x;break}}d=w-q|0;i=d+258|0;if((i|0)>(c|0)){f[k>>2]=t;if((i|0)>=(o|0)){y=i;z=19;break}A=b[h+i>>0]|0;B=b[h+(d+257)>>0]|0;C=i}else{A=r;B=s;C=c}}else{A=r;B=s;C=c}t=j[l+((t&g)<<1)>>1]|0;if(m>>>0>=t>>>0){y=C;z=19;break}u=u+-1|0;if(!u){y=C;z=19;break}else{r=A;s=B;c=C}}if((z|0)==19)return (y>>>0>n>>>0?n:y)|0;return 0}function KBa(a){a=a|0;var b=0,c=0,e=0;b=EBa(a)|0;if(b|0)return b|0;c=f[a+28>>2]|0;f[c+60>>2]=f[c+44>>2]<<1;a=f[c+68>>2]|0;e=f[c+76>>2]|0;d[a+(e+-1<<1)>>1]=0;FVa(a|0,0,(e<<1)+-2|0)|0;e=f[c+132>>2]|0;f[c+128>>2]=j[109816+(e*12|0)+2>>1];f[c+140>>2]=j[109816+(e*12|0)>>1];f[c+144>>2]=j[109816+(e*12|0)+4>>1];f[c+124>>2]=j[109816+(e*12|0)+6>>1];f[c+108>>2]=0;f[c+92>>2]=0;f[c+116>>2]=0;f[c+5812>>2]=0;f[c+120>>2]=2;f[c+96>>2]=2;f[c+104>>2]=0;f[c+72>>2]=0;return b|0}function LBa(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0;if(!a){e=-2;return e|0}if(!(f[a+32>>2]|0)){e=-2;return e|0}if(!(f[a+36>>2]|0)){e=-2;return e|0}g=a+28|0;i=f[g>>2]|0;if(!i){e=-2;return e|0}if((f[i>>2]|0)!=(a|0)){e=-2;return e|0}j=i+4|0;k=f[j>>2]|0;switch(k|0){case 666:case 113:case 103:case 91:case 73:case 69:case 57:case 42:break;default:{e=-2;return e|0}}if(c>>>0>5){e=-2;return e|0}l=a+12|0;do if(f[l>>2]|0){m=a+4|0;n=(f[m>>2]|0)==0;if(!n?(f[a>>2]|0)==0:0)break;o=(c|0)!=4;if(!(o&(k|0)==666)){p=a+16|0;if(!(f[p>>2]|0)){f[a+24>>2]=f[25403];e=-5;return e|0}q=i+40|0;r=f[q>>2]|0;f[q>>2]=c;s=i+20|0;do if(!(f[s>>2]|0))if(n?o&((c<<1)-((c|0)>4?9:0)|0)<=((r<<1)-((r|0)>4?9:0)|0):0){f[a+24>>2]=f[25403];e=-5;return e|0}else{t=0;u=k}else{PBa(i);v=f[s>>2]|0;w=f[p>>2]|0;x=v>>>0>w>>>0?w:v;if(x){y=i+16|0;DVa(f[l>>2]|0,f[y>>2]|0,x|0)|0;f[l>>2]=(f[l>>2]|0)+x;f[y>>2]=(f[y>>2]|0)+x;z=a+20|0;f[z>>2]=(f[z>>2]|0)+x;z=(f[p>>2]|0)-x|0;f[p>>2]=z;A=(f[s>>2]|0)-x|0;f[s>>2]=A;if(!A){f[y>>2]=f[i+8>>2];B=0;C=z}else{B=A;C=z}}else{B=v;C=w}if(C|0){t=B;u=f[j>>2]|0;break}f[q>>2]=-1;e=0;return e|0}while(0);a:do switch(u|0){case 666:{if(!(f[m>>2]|0))D=123;else{f[a+24>>2]=f[25403];e=-5;return e|0}break}case 42:{r=(f[i+48>>2]<<12)+-30720|0;if((f[i+136>>2]|0)<=1?(n=f[i+132>>2]|0,(n|0)>=2):0)E=(n|0)<6?64:(n|0)==6?128:192;else E=0;n=E|r;r=i+108|0;w=(f[r>>2]|0)==0?n:n|32;n=(((w>>>0)%31|0)^31)+w|0;w=i+8|0;v=f[w>>2]|0;f[s>>2]=t+1;b[v+t>>0]=n>>>8;v=f[w>>2]|0;z=f[s>>2]|0;f[s>>2]=z+1;b[v+z>>0]=n;n=a+48|0;if(f[r>>2]|0){r=f[n>>2]|0;z=f[w>>2]|0;v=f[s>>2]|0;f[s>>2]=v+1;b[z+v>>0]=r>>>24;v=f[w>>2]|0;z=f[s>>2]|0;f[s>>2]=z+1;b[v+z>>0]=r>>>16;r=f[n>>2]|0;z=f[w>>2]|0;v=f[s>>2]|0;f[s>>2]=v+1;b[z+v>>0]=r>>>8;v=f[w>>2]|0;w=f[s>>2]|0;f[s>>2]=w+1;b[v+w>>0]=r}r=zBa(0,0,0)|0;f[n>>2]=r;f[j>>2]=113;r=f[g>>2]|0;PBa(r);n=r+20|0;w=f[n>>2]|0;v=f[p>>2]|0;z=w>>>0>v>>>0?v:w;if(z|0?(w=r+16|0,DVa(f[l>>2]|0,f[w>>2]|0,z|0)|0,f[l>>2]=(f[l>>2]|0)+z,f[w>>2]=(f[w>>2]|0)+z,v=a+20|0,f[v>>2]=(f[v>>2]|0)+z,f[p>>2]=(f[p>>2]|0)-z,v=(f[n>>2]|0)-z|0,f[n>>2]=v,(v|0)==0):0)f[w>>2]=f[r+8>>2];if(!(f[s>>2]|0)){F=f[j>>2]|0;D=39;break a}f[q>>2]=-1;e=0;return e|0}default:{F=u;D=39}}while(0);if((D|0)==39){do if((F|0)==57){r=BBa(0,0,0)|0;w=a+48|0;f[w>>2]=r;r=i+8|0;v=f[r>>2]|0;n=f[s>>2]|0;f[s>>2]=n+1;b[v+n>>0]=31;n=f[r>>2]|0;v=f[s>>2]|0;f[s>>2]=v+1;b[n+v>>0]=-117;v=f[r>>2]|0;n=f[s>>2]|0;f[s>>2]=n+1;b[v+n>>0]=8;n=i+28|0;v=f[n>>2]|0;if(v|0){z=((f[v+44>>2]|0?2:0)|(f[v>>2]|0)!=0|((f[v+16>>2]|0)==0?0:4)|((f[v+28>>2]|0)==0?0:8)|((f[v+36>>2]|0)==0?0:16))&255;v=f[r>>2]|0;A=f[s>>2]|0;f[s>>2]=A+1;b[v+A>>0]=z;z=f[(f[n>>2]|0)+4>>2]&255;A=f[r>>2]|0;v=f[s>>2]|0;f[s>>2]=v+1;b[A+v>>0]=z;z=(f[(f[n>>2]|0)+4>>2]|0)>>>8&255;v=f[r>>2]|0;A=f[s>>2]|0;f[s>>2]=A+1;b[v+A>>0]=z;z=(f[(f[n>>2]|0)+4>>2]|0)>>>16&255;A=f[r>>2]|0;v=f[s>>2]|0;f[s>>2]=v+1;b[A+v>>0]=z;z=(f[(f[n>>2]|0)+4>>2]|0)>>>24&255;v=f[r>>2]|0;A=f[s>>2]|0;f[s>>2]=A+1;b[v+A>>0]=z;z=f[i+132>>2]|0;if((z|0)==9)G=2;else G=((z|0)<2?1:(f[i+136>>2]|0)>1)?4:0;z=f[r>>2]|0;A=f[s>>2]|0;f[s>>2]=A+1;b[z+A>>0]=G;A=f[(f[n>>2]|0)+12>>2]&255;z=f[r>>2]|0;v=f[s>>2]|0;f[s>>2]=v+1;b[z+v>>0]=A;A=f[n>>2]|0;if(!(f[A+16>>2]|0))H=A;else{v=f[A+20>>2]&255;A=f[r>>2]|0;z=f[s>>2]|0;f[s>>2]=z+1;b[A+z>>0]=v;v=(f[(f[n>>2]|0)+20>>2]|0)>>>8&255;z=f[r>>2]|0;A=f[s>>2]|0;f[s>>2]=A+1;b[z+A>>0]=v;H=f[n>>2]|0}if(f[H+44>>2]|0){v=BBa(f[w>>2]|0,f[r>>2]|0,f[s>>2]|0)|0;f[w>>2]=v}f[i+32>>2]=0;f[j>>2]=69;I=n;D=60;break}n=f[r>>2]|0;v=f[s>>2]|0;f[s>>2]=v+1;b[n+v>>0]=0;v=f[r>>2]|0;n=f[s>>2]|0;f[s>>2]=n+1;b[v+n>>0]=0;n=f[r>>2]|0;v=f[s>>2]|0;f[s>>2]=v+1;b[n+v>>0]=0;v=f[r>>2]|0;n=f[s>>2]|0;f[s>>2]=n+1;b[v+n>>0]=0;n=f[r>>2]|0;v=f[s>>2]|0;f[s>>2]=v+1;b[n+v>>0]=0;v=f[i+132>>2]|0;if((v|0)==9)J=2;else J=((v|0)<2?1:(f[i+136>>2]|0)>1)?4:0;v=f[r>>2]|0;n=f[s>>2]|0;f[s>>2]=n+1;b[v+n>>0]=J;n=f[r>>2]|0;r=f[s>>2]|0;f[s>>2]=r+1;b[n+r>>0]=3;f[j>>2]=113;r=f[g>>2]|0;PBa(r);n=r+20|0;v=f[n>>2]|0;w=f[p>>2]|0;A=v>>>0>w>>>0?w:v;if(A|0?(v=r+16|0,DVa(f[l>>2]|0,f[v>>2]|0,A|0)|0,f[l>>2]=(f[l>>2]|0)+A,f[v>>2]=(f[v>>2]|0)+A,w=a+20|0,f[w>>2]=(f[w>>2]|0)+A,f[p>>2]=(f[p>>2]|0)-A,w=(f[n>>2]|0)-A|0,f[n>>2]=w,(w|0)==0):0)f[v>>2]=f[r+8>>2];if(!(f[s>>2]|0)){K=f[j>>2]|0;D=56;break}f[q>>2]=-1;e=0;return e|0}else{K=F;D=56}while(0);b:do if((D|0)==56)switch(K|0){case 69:{I=i+28|0;D=60;break b;break}case 73:{L=i+28|0;D=75;break b;break}case 91:{M=i+28|0;D=92;break b;break}case 103:{N=i+28|0;D=109;break b;break}default:break b}while(0);if((D|0)==60){r=f[I>>2]|0;v=f[r+16>>2]|0;if(v|0){w=f[s>>2]|0;n=i+32|0;A=f[n>>2]|0;z=(f[r+20>>2]&65535)-A|0;r=i+12|0;y=f[r>>2]|0;x=i+8|0;c:do if((w+z|0)>>>0>y>>>0){O=a+48|0;P=a+20|0;Q=z;R=w;S=y;T=v;U=A;while(1){V=S-R|0;DVa((f[x>>2]|0)+R|0,T+U|0,V|0)|0;W=f[r>>2]|0;f[s>>2]=W;if(W>>>0>R>>>0?(f[(f[I>>2]|0)+44>>2]|0)!=0:0){X=BBa(f[O>>2]|0,(f[x>>2]|0)+R|0,W-R|0)|0;f[O>>2]=X}f[n>>2]=(f[n>>2]|0)+V;X=f[g>>2]|0;PBa(X);W=X+20|0;Y=f[W>>2]|0;Z=f[p>>2]|0;_=Y>>>0>Z>>>0?Z:Y;do if(_|0){Y=X+16|0;DVa(f[l>>2]|0,f[Y>>2]|0,_|0)|0;f[l>>2]=(f[l>>2]|0)+_;f[Y>>2]=(f[Y>>2]|0)+_;f[P>>2]=(f[P>>2]|0)+_;f[p>>2]=(f[p>>2]|0)-_;Z=(f[W>>2]|0)-_|0;f[W>>2]=Z;if(Z|0)break;f[Y>>2]=f[X+8>>2]}while(0);if(f[s>>2]|0)break;X=Q-V|0;S=f[r>>2]|0;W=f[(f[I>>2]|0)+16>>2]|0;_=f[n>>2]|0;if(X>>>0<=S>>>0){$=X;aa=0;ba=W;ca=_;break c}else{Q=X;R=0;T=W;U=_}}f[q>>2]=-1;e=0;return e|0}else{$=z;aa=w;ba=v;ca=A}while(0);DVa((f[x>>2]|0)+aa|0,ba+ca|0,$|0)|0;A=(f[s>>2]|0)+$|0;f[s>>2]=A;if(A>>>0>aa>>>0?(f[(f[I>>2]|0)+44>>2]|0)!=0:0){v=a+48|0;w=BBa(f[v>>2]|0,(f[x>>2]|0)+aa|0,A-aa|0)|0;f[v>>2]=w}f[n>>2]=0}f[j>>2]=73;L=I;D=75}if((D|0)==75){if(f[(f[L>>2]|0)+28>>2]|0){w=f[s>>2]|0;v=i+12|0;A=a+48|0;z=i+8|0;r=a+20|0;y=i+32|0;U=w;T=w;while(1){if((T|0)==(f[v>>2]|0)){if(T>>>0>U>>>0?(f[(f[L>>2]|0)+44>>2]|0)!=0:0){w=BBa(f[A>>2]|0,(f[z>>2]|0)+U|0,T-U|0)|0;f[A>>2]=w}w=f[g>>2]|0;PBa(w);R=w+20|0;Q=f[R>>2]|0;S=f[p>>2]|0;P=Q>>>0>S>>>0?S:Q;do if(P|0){Q=w+16|0;DVa(f[l>>2]|0,f[Q>>2]|0,P|0)|0;f[l>>2]=(f[l>>2]|0)+P;f[Q>>2]=(f[Q>>2]|0)+P;f[r>>2]=(f[r>>2]|0)+P;f[p>>2]=(f[p>>2]|0)-P;S=(f[R>>2]|0)-P|0;f[R>>2]=S;if(S|0)break;f[Q>>2]=f[w+8>>2]}while(0);if(!(f[s>>2]|0)){da=0;ea=0}else{D=84;break}}else{da=U;ea=T}w=f[(f[L>>2]|0)+28>>2]|0;R=f[y>>2]|0;f[y>>2]=R+1;P=b[w+R>>0]|0;R=f[z>>2]|0;f[s>>2]=ea+1;b[R+ea>>0]=P;if(!(P<<24>>24))break;U=da;T=f[s>>2]|0}if((D|0)==84){f[q>>2]=-1;e=0;return e|0}if(f[(f[L>>2]|0)+44>>2]|0?(T=f[s>>2]|0,T>>>0>da>>>0):0){U=BBa(f[A>>2]|0,(f[z>>2]|0)+da|0,T-da|0)|0;f[A>>2]=U}f[y>>2]=0}f[j>>2]=91;M=L;D=92}if((D|0)==92){if(f[(f[M>>2]|0)+36>>2]|0){U=f[s>>2]|0;T=i+12|0;r=a+48|0;v=i+8|0;n=a+20|0;x=i+32|0;P=U;R=U;while(1){if((R|0)==(f[T>>2]|0)){if(R>>>0>P>>>0?(f[(f[M>>2]|0)+44>>2]|0)!=0:0){U=BBa(f[r>>2]|0,(f[v>>2]|0)+P|0,R-P|0)|0;f[r>>2]=U}U=f[g>>2]|0;PBa(U);w=U+20|0;Q=f[w>>2]|0;S=f[p>>2]|0;O=Q>>>0>S>>>0?S:Q;do if(O|0){Q=U+16|0;DVa(f[l>>2]|0,f[Q>>2]|0,O|0)|0;f[l>>2]=(f[l>>2]|0)+O;f[Q>>2]=(f[Q>>2]|0)+O;f[n>>2]=(f[n>>2]|0)+O;f[p>>2]=(f[p>>2]|0)-O;S=(f[w>>2]|0)-O|0;f[w>>2]=S;if(S|0)break;f[Q>>2]=f[U+8>>2]}while(0);if(!(f[s>>2]|0)){fa=0;ga=0}else{D=101;break}}else{fa=P;ga=R}U=f[(f[M>>2]|0)+36>>2]|0;w=f[x>>2]|0;f[x>>2]=w+1;O=b[U+w>>0]|0;w=f[v>>2]|0;f[s>>2]=ga+1;b[w+ga>>0]=O;if(!(O<<24>>24))break;P=fa;R=f[s>>2]|0}if((D|0)==101){f[q>>2]=-1;e=0;return e|0}if(f[(f[M>>2]|0)+44>>2]|0?(R=f[s>>2]|0,R>>>0>fa>>>0):0){P=BBa(f[r>>2]|0,(f[v>>2]|0)+fa|0,R-fa|0)|0;f[r>>2]=P}}f[j>>2]=103;N=M;D=109}if((D|0)==109){if(f[(f[N>>2]|0)+44>>2]|0){P=f[s>>2]|0;do if((P+2|0)>>>0>(f[i+12>>2]|0)>>>0){R=f[g>>2]|0;PBa(R);x=R+20|0;n=f[x>>2]|0;T=f[p>>2]|0;y=n>>>0>T>>>0?T:n;do if(y|0){n=R+16|0;DVa(f[l>>2]|0,f[n>>2]|0,y|0)|0;f[l>>2]=(f[l>>2]|0)+y;f[n>>2]=(f[n>>2]|0)+y;T=a+20|0;f[T>>2]=(f[T>>2]|0)+y;f[p>>2]=(f[p>>2]|0)-y;T=(f[x>>2]|0)-y|0;f[x>>2]=T;if(T|0)break;f[n>>2]=f[R+8>>2]}while(0);if(!(f[s>>2]|0)){ha=0;break}f[q>>2]=-1;e=0;return e|0}else ha=P;while(0);P=a+48|0;r=f[P>>2]&255;v=i+8|0;R=f[v>>2]|0;f[s>>2]=ha+1;b[R+ha>>0]=r;r=(f[P>>2]|0)>>>8&255;R=f[v>>2]|0;v=f[s>>2]|0;f[s>>2]=v+1;b[R+v>>0]=r;r=BBa(0,0,0)|0;f[P>>2]=r}f[j>>2]=113;r=f[g>>2]|0;PBa(r);P=r+20|0;v=f[P>>2]|0;R=f[p>>2]|0;x=v>>>0>R>>>0?R:v;if(x|0?(v=r+16|0,DVa(f[l>>2]|0,f[v>>2]|0,x|0)|0,f[l>>2]=(f[l>>2]|0)+x,f[v>>2]=(f[v>>2]|0)+x,R=a+20|0,f[R>>2]=(f[R>>2]|0)+x,f[p>>2]=(f[p>>2]|0)-x,R=(f[P>>2]|0)-x|0,f[P>>2]=R,(R|0)==0):0)f[v>>2]=f[r+8>>2];if(f[s>>2]|0){f[q>>2]=-1;e=0;return e|0}}if(!(f[m>>2]|0))D=123;else D=126}if((D|0)==123)if(!(f[i+116>>2]|0)){if(c|0?(f[j>>2]|0)!=666:0)D=126}else D=126;do if((D|0)==126){r=f[i+132>>2]|0;d:do if(!r){ia=FBa(i,c)|0;D=200}else switch(f[i+136>>2]|0){case 2:{v=i+116|0;R=i+96|0;P=i+56|0;x=i+108|0;y=i+5796|0;n=i+5792|0;T=i+5784|0;A=i+5788|0;z=i+92|0;e:while(1){O=f[v>>2]|0;do{if((O|0)==0?(IBa(i),(f[v>>2]|0)==0):0)break e;f[R>>2]=0;w=b[(f[P>>2]|0)+(f[x>>2]|0)>>0]|0;U=f[n>>2]|0;d[(f[y>>2]|0)+(U<<1)>>1]=0;Q=f[T>>2]|0;f[n>>2]=U+1;b[Q+U>>0]=w;U=i+148+((w&255)<<2)|0;d[U>>1]=(d[U>>1]|0)+1<<16>>16;U=(f[n>>2]|0)==((f[A>>2]|0)+-1|0);O=(f[v>>2]|0)+-1|0;f[v>>2]=O;ja=(f[x>>2]|0)+1|0;f[x>>2]=ja}while(!U);O=f[z>>2]|0;if((O|0)>-1)ka=(f[P>>2]|0)+O|0;else ka=0;RBa(i,ka,ja-O|0,0);f[z>>2]=f[x>>2];O=f[i>>2]|0;U=f[O+28>>2]|0;PBa(U);w=U+20|0;Q=f[w>>2]|0;S=O+16|0;_=f[S>>2]|0;W=Q>>>0>_>>>0?_:Q;do if(W|0){Q=O+12|0;_=U+16|0;DVa(f[Q>>2]|0,f[_>>2]|0,W|0)|0;f[Q>>2]=(f[Q>>2]|0)+W;f[_>>2]=(f[_>>2]|0)+W;Q=O+20|0;f[Q>>2]=(f[Q>>2]|0)+W;f[S>>2]=(f[S>>2]|0)-W;Q=(f[w>>2]|0)-W|0;f[w>>2]=Q;if(Q|0)break;f[_>>2]=f[U+8>>2]}while(0);if(!(f[(f[i>>2]|0)+16>>2]|0)){D=203;break d}}if(!c){D=203;break d}f[i+5812>>2]=0;if((c|0)==4){v=f[z>>2]|0;if((v|0)>-1)la=(f[P>>2]|0)+v|0;else la=0;RBa(i,la,(f[x>>2]|0)-v|0,1);f[z>>2]=f[x>>2];v=f[i>>2]|0;A=f[v+28>>2]|0;PBa(A);T=A+20|0;y=f[T>>2]|0;R=v+16|0;V=f[R>>2]|0;U=y>>>0>V>>>0?V:y;do if(U|0){y=v+12|0;V=A+16|0;DVa(f[y>>2]|0,f[V>>2]|0,U|0)|0;f[y>>2]=(f[y>>2]|0)+U;f[V>>2]=(f[V>>2]|0)+U;y=v+20|0;f[y>>2]=(f[y>>2]|0)+U;f[R>>2]=(f[R>>2]|0)-U;y=(f[T>>2]|0)-U|0;f[T>>2]=y;if(y|0)break;f[V>>2]=f[A+8>>2]}while(0);ia=(f[(f[i>>2]|0)+16>>2]|0)==0?2:3;D=200;break d}if(!(f[n>>2]|0))break d;A=f[z>>2]|0;if((A|0)>-1)ma=(f[P>>2]|0)+A|0;else ma=0;RBa(i,ma,(f[x>>2]|0)-A|0,0);f[z>>2]=f[x>>2];A=f[i>>2]|0;T=f[A+28>>2]|0;PBa(T);U=T+20|0;R=f[U>>2]|0;v=A+16|0;V=f[v>>2]|0;y=R>>>0>V>>>0?V:R;do if(y|0){R=A+12|0;V=T+16|0;DVa(f[R>>2]|0,f[V>>2]|0,y|0)|0;f[R>>2]=(f[R>>2]|0)+y;f[V>>2]=(f[V>>2]|0)+y;R=A+20|0;f[R>>2]=(f[R>>2]|0)+y;f[v>>2]=(f[v>>2]|0)-y;R=(f[U>>2]|0)-y|0;f[U>>2]=R;if(R|0)break;f[V>>2]=f[T+8>>2]}while(0);if(!(f[(f[i>>2]|0)+16>>2]|0)){D=203;break d}else break d;break}case 3:{T=i+116|0;U=(c|0)==0;y=i+96|0;v=i+108|0;A=i+5796|0;x=i+5792|0;z=i+5784|0;P=i+5788|0;n=i+56|0;V=i+92|0;f:while(1){R=f[T>>2]|0;g:while(1){do if(R>>>0<259){IBa(i);w=f[T>>2]|0;if(U&w>>>0<259){D=203;break d}if(!w)break f;f[y>>2]=0;if(w>>>0>2){na=w;D=163;break}oa=f[v>>2]|0}else{f[y>>2]=0;na=R;D=163}while(0);do if((D|0)==163){D=0;w=f[v>>2]|0;if(!w){oa=0;break}W=(f[n>>2]|0)+w|0;S=b[W+-1>>0]|0;if(S<<24>>24!=(b[W>>0]|0)){oa=w;break}O=W+1|0;if(S<<24>>24!=(b[O>>0]|0)){oa=w;break}if(S<<24>>24!=(b[O+1>>0]|0)){oa=w;break}O=W+258|0;_=1;while(1){Q=W+_|0;X=Q+2|0;if(S<<24>>24!=(b[X>>0]|0)){pa=X;break}X=Q+3|0;if(S<<24>>24!=(b[X>>0]|0)){pa=X;break}X=Q+4|0;if(S<<24>>24!=(b[X>>0]|0)){pa=X;break}X=Q+5|0;if(S<<24>>24!=(b[X>>0]|0)){pa=X;break}X=Q+6|0;if(S<<24>>24!=(b[X>>0]|0)){pa=X;break}X=Q+7|0;if(S<<24>>24!=(b[X>>0]|0)){pa=X;break}X=_;_=_+8|0;Q=W+_|0;if(S<<24>>24!=(b[Q>>0]|0)){pa=Q;break}Q=W+(X+9)|0;if(!((X|0)<249?S<<24>>24==(b[Q>>0]|0):0)){pa=Q;break}}S=pa-O+258|0;W=S>>>0>na>>>0?na:S;f[y>>2]=W;if(W>>>0<=2){oa=w;break}S=W+253|0;W=f[x>>2]|0;d[(f[A>>2]|0)+(W<<1)>>1]=1;_=f[z>>2]|0;f[x>>2]=W+1;b[_+W>>0]=S;W=i+148+((h[443765+(S&255)>>0]|256)+1<<2)|0;d[W>>1]=(d[W>>1]|0)+1<<16>>16;W=i+2440+(h[443253]<<2)|0;d[W>>1]=(d[W>>1]|0)+1<<16>>16;W=(f[x>>2]|0)==((f[P>>2]|0)+-1|0);S=f[y>>2]|0;_=(f[T>>2]|0)-S|0;f[T>>2]=_;Q=(f[v>>2]|0)+S|0;f[v>>2]=Q;f[y>>2]=0;if(W){qa=Q;break g}else{R=_;continue g}}while(0);_=b[(f[n>>2]|0)+oa>>0]|0;Q=f[x>>2]|0;d[(f[A>>2]|0)+(Q<<1)>>1]=0;W=f[z>>2]|0;f[x>>2]=Q+1;b[W+Q>>0]=_;Q=i+148+((_&255)<<2)|0;d[Q>>1]=(d[Q>>1]|0)+1<<16>>16;Q=(f[x>>2]|0)==((f[P>>2]|0)+-1|0);R=(f[T>>2]|0)+-1|0;f[T>>2]=R;_=(f[v>>2]|0)+1|0;f[v>>2]=_;if(Q){qa=_;break}}R=f[V>>2]|0;if((R|0)>-1)ra=(f[n>>2]|0)+R|0;else ra=0;RBa(i,ra,qa-R|0,0);f[V>>2]=f[v>>2];R=f[i>>2]|0;_=f[R+28>>2]|0;PBa(_);Q=_+20|0;W=f[Q>>2]|0;S=R+16|0;X=f[S>>2]|0;Y=W>>>0>X>>>0?X:W;do if(Y|0){W=R+12|0;X=_+16|0;DVa(f[W>>2]|0,f[X>>2]|0,Y|0)|0;f[W>>2]=(f[W>>2]|0)+Y;f[X>>2]=(f[X>>2]|0)+Y;W=R+20|0;f[W>>2]=(f[W>>2]|0)+Y;f[S>>2]=(f[S>>2]|0)-Y;W=(f[Q>>2]|0)-Y|0;f[Q>>2]=W;if(W|0)break;f[X>>2]=f[_+8>>2]}while(0);if(!(f[(f[i>>2]|0)+16>>2]|0)){D=203;break d}}f[i+5812>>2]=0;if((c|0)==4){T=f[V>>2]|0;if((T|0)>-1)sa=(f[n>>2]|0)+T|0;else sa=0;RBa(i,sa,(f[v>>2]|0)-T|0,1);f[V>>2]=f[v>>2];T=f[i>>2]|0;P=f[T+28>>2]|0;PBa(P);z=P+20|0;A=f[z>>2]|0;y=T+16|0;U=f[y>>2]|0;_=A>>>0>U>>>0?U:A;do if(_|0){A=T+12|0;U=P+16|0;DVa(f[A>>2]|0,f[U>>2]|0,_|0)|0;f[A>>2]=(f[A>>2]|0)+_;f[U>>2]=(f[U>>2]|0)+_;A=T+20|0;f[A>>2]=(f[A>>2]|0)+_;f[y>>2]=(f[y>>2]|0)-_;A=(f[z>>2]|0)-_|0;f[z>>2]=A;if(A|0)break;f[U>>2]=f[P+8>>2]}while(0);ia=(f[(f[i>>2]|0)+16>>2]|0)==0?2:3;D=200;break d}if(!(f[x>>2]|0))break d;P=f[V>>2]|0;if((P|0)>-1)ta=(f[n>>2]|0)+P|0;else ta=0;RBa(i,ta,(f[v>>2]|0)-P|0,0);f[V>>2]=f[v>>2];P=f[i>>2]|0;z=f[P+28>>2]|0;PBa(z);_=z+20|0;y=f[_>>2]|0;T=P+16|0;U=f[T>>2]|0;A=y>>>0>U>>>0?U:y;do if(A|0){y=P+12|0;U=z+16|0;DVa(f[y>>2]|0,f[U>>2]|0,A|0)|0;f[y>>2]=(f[y>>2]|0)+A;f[U>>2]=(f[U>>2]|0)+A;y=P+20|0;f[y>>2]=(f[y>>2]|0)+A;f[T>>2]=(f[T>>2]|0)-A;y=(f[_>>2]|0)-A|0;f[_>>2]=y;if(y|0)break;f[U>>2]=f[z+8>>2]}while(0);if(!(f[(f[i>>2]|0)+16>>2]|0)){D=203;break d}else break d;break}default:{ia=Zf[f[109816+(r*12|0)+8>>2]&127](i,c)|0;D=200;break d}}while(0);if((D|0)==200){if((ia|1|0)==3)f[j>>2]=666;if((ia|2|0)!=2){if((ia|0)!=1)break}else D=203}if((D|0)==203){if(f[p>>2]|0){e=0;return e|0}f[q>>2]=-1;e=0;return e|0}switch(c|0){case 1:{QBa(i);break}case 5:break;default:{OBa(i,0,0,0);if((c|0)==3?(r=f[i+68>>2]|0,z=f[i+76>>2]|0,d[r+(z+-1<<1)>>1]=0,FVa(r|0,0,(z<<1)+-2|0)|0,(f[i+116>>2]|0)==0):0){f[i+108>>2]=0;f[i+92>>2]=0;f[i+5812>>2]=0}}}z=f[g>>2]|0;PBa(z);r=z+20|0;_=f[r>>2]|0;A=f[p>>2]|0;T=_>>>0>A>>>0?A:_;if(T){_=z+16|0;DVa(f[l>>2]|0,f[_>>2]|0,T|0)|0;f[l>>2]=(f[l>>2]|0)+T;f[_>>2]=(f[_>>2]|0)+T;P=a+20|0;f[P>>2]=(f[P>>2]|0)+T;P=(f[p>>2]|0)-T|0;f[p>>2]=P;v=(f[r>>2]|0)-T|0;f[r>>2]=v;if(!v){f[_>>2]=f[z+8>>2];ua=P}else ua=P}else ua=A;if(!ua){f[q>>2]=-1;e=0;return e|0}}while(0);if(o){e=0;return e|0}q=i+24|0;m=f[q>>2]|0;if((m|0)<1){e=1;return e|0}A=a+48|0;P=f[A>>2]|0;if((m|0)==2){m=i+8|0;z=f[m>>2]|0;_=f[s>>2]|0;f[s>>2]=_+1;b[z+_>>0]=P;_=(f[A>>2]|0)>>>8&255;z=f[m>>2]|0;v=f[s>>2]|0;f[s>>2]=v+1;b[z+v>>0]=_;_=(f[A>>2]|0)>>>16&255;v=f[m>>2]|0;z=f[s>>2]|0;f[s>>2]=z+1;b[v+z>>0]=_;_=(f[A>>2]|0)>>>24&255;z=f[m>>2]|0;v=f[s>>2]|0;f[s>>2]=v+1;b[z+v>>0]=_;_=a+8|0;v=f[_>>2]&255;z=f[m>>2]|0;r=f[s>>2]|0;f[s>>2]=r+1;b[z+r>>0]=v;v=(f[_>>2]|0)>>>8&255;r=f[m>>2]|0;z=f[s>>2]|0;f[s>>2]=z+1;b[r+z>>0]=v;v=(f[_>>2]|0)>>>16&255;z=f[m>>2]|0;r=f[s>>2]|0;f[s>>2]=r+1;b[z+r>>0]=v;v=(f[_>>2]|0)>>>24;_=f[m>>2]|0;m=f[s>>2]|0;f[s>>2]=m+1;va=v;wa=_+m|0}else{m=i+8|0;_=f[m>>2]|0;v=f[s>>2]|0;f[s>>2]=v+1;b[_+v>>0]=P>>>24;v=f[m>>2]|0;_=f[s>>2]|0;f[s>>2]=_+1;b[v+_>>0]=P>>>16;P=f[A>>2]|0;A=f[m>>2]|0;_=f[s>>2]|0;f[s>>2]=_+1;b[A+_>>0]=P>>>8;_=f[m>>2]|0;m=f[s>>2]|0;f[s>>2]=m+1;va=P;wa=_+m|0}b[wa>>0]=va;m=f[g>>2]|0;PBa(m);_=m+20|0;P=f[_>>2]|0;A=f[p>>2]|0;v=P>>>0>A>>>0?A:P;if(v|0?(P=m+16|0,DVa(f[l>>2]|0,f[P>>2]|0,v|0)|0,f[l>>2]=(f[l>>2]|0)+v,f[P>>2]=(f[P>>2]|0)+v,A=a+20|0,f[A>>2]=(f[A>>2]|0)+v,f[p>>2]=(f[p>>2]|0)-v,A=(f[_>>2]|0)-v|0,f[_>>2]=A,(A|0)==0):0)f[P>>2]=f[m+8>>2];m=f[q>>2]|0;if((m|0)>0)f[q>>2]=0-m;e=(f[s>>2]|0)==0&1;return e|0}}while(0);f[a+24>>2]=f[25400];e=-2;return e|0}function MBa(a){a=a|0;f[a+2840>>2]=a+148;f[a+2848>>2]=109936;f[a+2852>>2]=a+2440;f[a+2860>>2]=109956;f[a+2864>>2]=a+2684;f[a+2872>>2]=109976;d[a+5816>>1]=0;f[a+5820>>2]=0;NBa(a);return}function NBa(a){a=a|0;var b=0;b=0;do{d[a+148+(b<<2)>>1]=0;b=b+1|0}while((b|0)!=286);d[a+2440>>1]=0;d[a+2444>>1]=0;d[a+2448>>1]=0;d[a+2452>>1]=0;d[a+2456>>1]=0;d[a+2460>>1]=0;d[a+2464>>1]=0;d[a+2468>>1]=0;d[a+2472>>1]=0;d[a+2476>>1]=0;d[a+2480>>1]=0;d[a+2484>>1]=0;d[a+2488>>1]=0;d[a+2492>>1]=0;d[a+2496>>1]=0;d[a+2500>>1]=0;d[a+2504>>1]=0;d[a+2508>>1]=0;d[a+2512>>1]=0;d[a+2516>>1]=0;d[a+2520>>1]=0;d[a+2524>>1]=0;d[a+2528>>1]=0;d[a+2532>>1]=0;d[a+2536>>1]=0;d[a+2540>>1]=0;d[a+2544>>1]=0;d[a+2548>>1]=0;d[a+2552>>1]=0;d[a+2556>>1]=0;d[a+2684>>1]=0;d[a+2688>>1]=0;d[a+2692>>1]=0;d[a+2696>>1]=0;d[a+2700>>1]=0;d[a+2704>>1]=0;d[a+2708>>1]=0;d[a+2712>>1]=0;d[a+2716>>1]=0;d[a+2720>>1]=0;d[a+2724>>1]=0;d[a+2728>>1]=0;d[a+2732>>1]=0;d[a+2736>>1]=0;d[a+2740>>1]=0;d[a+2744>>1]=0;d[a+2748>>1]=0;d[a+2752>>1]=0;d[a+2756>>1]=0;d[a+1172>>1]=1;f[a+5804>>2]=0;f[a+5800>>2]=0;f[a+5808>>2]=0;f[a+5792>>2]=0;return}function OBa(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;h=a+5820|0;i=f[h>>2]|0;k=g&65535;g=a+5816|0;l=k<>1]|0);d[g>>1]=l;if((i|0)>13){m=a+8|0;n=f[m>>2]|0;o=a+20|0;p=f[o>>2]|0;f[o>>2]=p+1;b[n+p>>0]=l;p=(j[g>>1]|0)>>>8&255;n=f[m>>2]|0;m=f[o>>2]|0;f[o>>2]=m+1;b[n+m>>0]=p;p=f[h>>2]|0;m=k>>>(16-p|0);d[g>>1]=m;q=m;r=p+-13|0}else{q=l;r=i+3|0}i=q&255;f[h>>2]=r;if((r|0)<=8){if((r|0)>0){r=f[a+8>>2]|0;q=a+20|0;l=f[q>>2]|0;f[q>>2]=l+1;s=i;t=r+l|0;u=8}}else{l=a+8|0;r=f[l>>2]|0;q=a+20|0;p=f[q>>2]|0;f[q>>2]=p+1;b[r+p>>0]=i;i=(j[g>>1]|0)>>>8&255;p=f[l>>2]|0;l=f[q>>2]|0;f[q>>2]=l+1;s=i;t=p+l|0;u=8}if((u|0)==8)b[t>>0]=s;d[g>>1]=0;f[h>>2]=0;h=a+8|0;g=f[h>>2]|0;s=a+20|0;a=f[s>>2]|0;f[s>>2]=a+1;b[g+a>>0]=e;a=f[h>>2]|0;g=f[s>>2]|0;f[s>>2]=g+1;b[a+g>>0]=e>>>8;g=e&65535^65535;a=f[h>>2]|0;t=f[s>>2]|0;f[s>>2]=t+1;b[a+t>>0]=g;t=f[h>>2]|0;a=f[s>>2]|0;f[s>>2]=a+1;b[t+a>>0]=g>>>8;DVa((f[h>>2]|0)+(f[s>>2]|0)|0,c|0,e|0)|0;f[s>>2]=(f[s>>2]|0)+e;return}function PBa(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0;c=a+5820|0;e=f[c>>2]|0;do if((e|0)!=16)if((e|0)>7){g=a+5816|0;h=d[g>>1]&255;i=f[a+8>>2]|0;k=a+20|0;l=f[k>>2]|0;f[k>>2]=l+1;b[i+l>>0]=h;d[g>>1]=(j[g>>1]|0)>>>8;m=(f[c>>2]|0)+-8|0;break}else return;else{g=a+5816|0;h=d[g>>1]&255;l=a+8|0;i=f[l>>2]|0;k=a+20|0;n=f[k>>2]|0;f[k>>2]=n+1;b[i+n>>0]=h;h=(j[g>>1]|0)>>>8&255;n=f[l>>2]|0;l=f[k>>2]|0;f[k>>2]=l+1;b[n+l>>0]=h;d[g>>1]=0;m=0}while(0);f[c>>2]=m;return}function QBa(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=a+5820|0;e=f[c>>2]|0;g=a+5816|0;h=2<>1]|0);d[g>>1]=h;if((e|0)>13){i=a+8|0;k=f[i>>2]|0;l=a+20|0;m=f[l>>2]|0;f[l>>2]=m+1;b[k+m>>0]=h;m=(j[g>>1]|0)>>>8&255;k=f[i>>2]|0;i=f[l>>2]|0;f[l>>2]=i+1;b[k+i>>0]=m;m=f[c>>2]|0;i=2>>>(16-m|0);d[g>>1]=i;n=i;o=m+-13|0}else{n=h;o=e+3|0}e=n&255;f[c>>2]=o;if((o|0)>9){n=a+8|0;h=f[n>>2]|0;m=a+20|0;i=f[m>>2]|0;f[m>>2]=i+1;b[h+i>>0]=e;i=(j[g>>1]|0)>>>8&255;h=f[n>>2]|0;n=f[m>>2]|0;f[m>>2]=n+1;b[h+n>>0]=i;d[g>>1]=0;p=0;q=(f[c>>2]|0)+-9|0}else{p=e;q=o+7|0}f[c>>2]=q;do if((q|0)!=16)if((q|0)>7){o=f[a+8>>2]|0;e=a+20|0;i=f[e>>2]|0;f[e>>2]=i+1;b[o+i>>0]=p;d[g>>1]=(j[g>>1]|0)>>>8;r=(f[c>>2]|0)+-8|0;break}else return;else{i=a+8|0;o=f[i>>2]|0;e=a+20|0;n=f[e>>2]|0;f[e>>2]=n+1;b[o+n>>0]=p;n=(j[g>>1]|0)>>>8&255;o=f[i>>2]|0;i=f[e>>2]|0;f[e>>2]=i+1;b[o+i>>0]=n;d[g>>1]=0;r=0}while(0);f[c>>2]=r;return}function RBa(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;if((f[a+132>>2]|0)>0){i=(f[a>>2]|0)+44|0;if((f[i>>2]|0)==2){a:do if(((((((((((((((d[a+148>>1]|0)==0?(d[a+152>>1]|0)==0:0)?(d[a+156>>1]|0)==0:0)?(d[a+160>>1]|0)==0:0)?(d[a+164>>1]|0)==0:0)?(d[a+168>>1]|0)==0:0)?(d[a+172>>1]|0)==0:0)?(d[a+204>>1]|0)==0:0)?(d[a+208>>1]|0)==0:0)?(d[a+212>>1]|0)==0:0)?(d[a+216>>1]|0)==0:0)?(d[a+220>>1]|0)==0:0)?(d[a+224>>1]|0)==0:0)?(d[a+228>>1]|0)==0:0)?(d[a+232>>1]|0)==0:0){if(d[a+236>>1]|0){k=0;break}if(d[a+240>>1]|0){k=0;break}if(d[a+244>>1]|0){k=0;break}if(d[a+248>>1]|0){k=0;break}if(d[a+260>>1]|0){k=0;break}if(d[a+264>>1]|0){k=0;break}if(d[a+268>>1]|0){k=0;break}if(d[a+272>>1]|0){k=0;break}if(d[a+184>>1]|0){k=1;break}if(d[a+188>>1]|0){k=1;break}if(!(d[a+200>>1]|0))l=32;else{k=1;break}while(1){if(d[a+148+(l<<2)>>1]|0){k=1;break a}if((l|0)<255)l=l+1|0;else{k=0;break}}}else k=0;while(0);f[i>>2]=k}SBa(a,a+2840|0);SBa(a,a+2852|0);k=f[a+2844>>2]|0;i=d[a+150>>1]|0;l=i<<16>>16==0;d[a+148+(k+1<<2)+2>>1]=-1;m=a+2756|0;n=a+2752|0;o=a+2748|0;p=i&65535;i=0;q=-1;r=l?3:4;s=l?138:7;b:while(1){l=0;t=i;while(1){if((t|0)>(k|0))break b;t=t+1|0;u=d[a+148+(t<<2)+2>>1]|0;v=u&65535;w=l+1|0;x=(p|0)==(v|0);if(!((w|0)<(s|0)&x))break;else l=w}if((w|0)<(r|0)){y=a+2684+(p<<2)|0;d[y>>1]=w+(j[y>>1]|0)}else{if(p){y=a+2684+(p<<2)|0;if((p|0)==(q|0))z=o;else{d[y>>1]=(d[y>>1]|0)+1<<16>>16;z=o}}else z=(l|0)<10?n:m;d[z>>1]=(d[z>>1]|0)+1<<16>>16}y=u<<16>>16==0;A=p;p=v;i=t;r=y|x?3:4;s=y?138:x?6:7;q=A}q=f[a+2856>>2]|0;x=d[a+2442>>1]|0;s=x<<16>>16==0;d[a+2440+(q+1<<2)+2>>1]=-1;r=x&65535;x=0;i=-1;v=s?3:4;p=s?138:7;c:while(1){s=0;u=x;while(1){if((u|0)>(q|0))break c;u=u+1|0;B=d[a+2440+(u<<2)+2>>1]|0;C=B&65535;D=s+1|0;E=(r|0)==(C|0);if(!((D|0)<(p|0)&E))break;else s=D}if((D|0)<(v|0)){t=a+2684+(r<<2)|0;d[t>>1]=D+(j[t>>1]|0)}else{if(r){t=a+2684+(r<<2)|0;if((r|0)==(i|0))F=o;else{d[t>>1]=(d[t>>1]|0)+1<<16>>16;F=o}}else F=(s|0)<10?n:m;d[F>>1]=(d[F>>1]|0)+1<<16>>16}t=B<<16>>16==0;l=r;r=C;x=u;v=t|E?3:4;p=t?138:E?6:7;i=l}SBa(a,a+2864|0);if(!(d[a+2746>>1]|0))if(!(d[a+2690>>1]|0))if(!(d[a+2742>>1]|0))if(!(d[a+2694>>1]|0))if(!(d[a+2738>>1]|0))if(!(d[a+2698>>1]|0))if(!(d[a+2734>>1]|0))if(!(d[a+2702>>1]|0))if(!(d[a+2730>>1]|0))if(!(d[a+2706>>1]|0))if(!(d[a+2726>>1]|0))if(!(d[a+2710>>1]|0))if(!(d[a+2722>>1]|0))if(!(d[a+2714>>1]|0))if(!(d[a+2718>>1]|0))G=(d[a+2686>>1]|0)==0?2:3;else G=4;else G=5;else G=6;else G=7;else G=8;else G=9;else G=10;else G=11;else G=12;else G=13;else G=14;else G=15;else G=16;else G=17;else G=18;i=a+5800|0;E=(G*3|0)+17+(f[i>>2]|0)|0;f[i>>2]=E;i=(E+10|0)>>>3;E=((f[a+5804>>2]|0)+10|0)>>>3;H=E>>>0>i>>>0?i:E;I=E;J=G}else{G=e+5|0;H=G;I=G;J=0}do if((c|0)!=0&(e+4|0)>>>0<=H>>>0)OBa(a,c,e,g);else{G=a+5820|0;E=f[G>>2]|0;i=(E|0)>13;if((I|0)==(H|0)?1:(f[a+136>>2]|0)==4){p=g+2&65535;v=a+5816|0;x=p<>1];d[v>>1]=x;if(i){C=a+8|0;r=f[C>>2]|0;B=a+20|0;F=f[B>>2]|0;f[B>>2]=F+1;b[r+F>>0]=x;x=(j[v>>1]|0)>>>8&255;F=f[C>>2]|0;C=f[B>>2]|0;f[B>>2]=C+1;b[F+C>>0]=x;x=f[G>>2]|0;d[v>>1]=p>>>(16-x|0);K=x+-13|0}else K=E+3|0;f[G>>2]=K;TBa(a,120982,120862);break}x=g+4&65535;p=a+5816|0;v=x<>1];d[p>>1]=v;if(i){i=a+8|0;C=f[i>>2]|0;F=a+20|0;B=f[F>>2]|0;f[F>>2]=B+1;b[C+B>>0]=v;B=(j[p>>1]|0)>>>8&255;C=f[i>>2]|0;i=f[F>>2]|0;f[F>>2]=i+1;b[C+i>>0]=B;B=f[G>>2]|0;i=x>>>(16-B|0);d[p>>1]=i;L=i;M=B+-13|0}else{L=v;M=E+3|0}f[G>>2]=M;E=f[a+2844>>2]|0;v=f[a+2856>>2]|0;B=E+65280&65535;i=B<>1]=i;if((M|0)>11){x=a+8|0;C=f[x>>2]|0;F=a+20|0;r=f[F>>2]|0;f[F>>2]=r+1;b[C+r>>0]=i;r=(j[p>>1]|0)>>>8&255;C=f[x>>2]|0;x=f[F>>2]|0;f[F>>2]=x+1;b[C+x>>0]=r;r=f[G>>2]|0;x=B>>>(16-r|0);d[p>>1]=x;N=r+-11|0;O=x}else{N=M+5|0;O=i}f[G>>2]=N;i=v&65535;x=i<>1]=x;if((N|0)>11){r=a+8|0;B=f[r>>2]|0;C=a+20|0;F=f[C>>2]|0;f[C>>2]=F+1;b[B+F>>0]=x;F=(j[p>>1]|0)>>>8&255;B=f[r>>2]|0;r=f[C>>2]|0;f[C>>2]=r+1;b[B+r>>0]=F;F=f[G>>2]|0;r=i>>>(16-F|0);d[p>>1]=r;P=F+-11|0;Q=r}else{P=N+5|0;Q=x}f[G>>2]=P;x=J+65533&65535;r=x<>1]=r;if((P|0)>12){F=a+8|0;i=f[F>>2]|0;B=a+20|0;C=f[B>>2]|0;f[B>>2]=C+1;b[i+C>>0]=r;C=(j[p>>1]|0)>>>8&255;i=f[F>>2]|0;m=f[B>>2]|0;f[B>>2]=m+1;b[i+m>>0]=C;C=f[G>>2]|0;m=x>>>(16-C|0);d[p>>1]=m;R=B;S=F;T=m;U=C+-12|0}else{R=a+20|0;S=a+8|0;T=r;U=P+4|0}f[G>>2]=U;r=0;C=U;m=T;while(1){F=j[a+2684+(h[444021+r>>0]<<2)+2>>1]|0;B=F<>1]=B;if((C|0)>13){x=f[S>>2]|0;i=f[R>>2]|0;f[R>>2]=i+1;b[x+i>>0]=B;i=(j[p>>1]|0)>>>8&255;x=f[S>>2]|0;n=f[R>>2]|0;f[R>>2]=n+1;b[x+n>>0]=i;i=f[G>>2]|0;n=F>>>(16-i|0);d[p>>1]=n;V=n;W=i+-13|0}else{V=B;W=C+3|0}f[G>>2]=W;if((r|0)==(J|0))break;else{r=r+1|0;C=W;m=V}}m=a+148|0;UBa(a,m,E);C=a+2440|0;UBa(a,C,v);TBa(a,m,C)}while(0);NBa(a);if(!g)return;g=a+5820|0;V=f[g>>2]|0;if((V|0)<=8){if((V|0)>0){V=d[a+5816>>1]&255;W=f[a+8>>2]|0;J=a+20|0;R=f[J>>2]|0;f[J>>2]=R+1;X=V;Y=W+R|0;Z=104}}else{R=a+5816|0;W=d[R>>1]&255;V=a+8|0;J=f[V>>2]|0;S=a+20|0;T=f[S>>2]|0;f[S>>2]=T+1;b[J+T>>0]=W;W=(j[R>>1]|0)>>>8&255;R=f[V>>2]|0;V=f[S>>2]|0;f[S>>2]=V+1;X=W;Y=R+V|0;Z=104}if((Z|0)==104)b[Y>>0]=X;d[a+5816>>1]=0;f[g>>2]=0;return}function SBa(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;e=u;u=u+32|0;g=e;i=f[c>>2]|0;k=c+8|0;l=f[k>>2]|0;m=f[l>>2]|0;n=f[l+12>>2]|0;l=a+5200|0;f[l>>2]=0;o=a+5204|0;f[o>>2]=573;if((n|0)>0){p=-1;q=0;while(1){if(!(d[i+(q<<2)>>1]|0)){d[i+(q<<2)+2>>1]=0;r=p}else{s=(f[l>>2]|0)+1|0;f[l>>2]=s;f[a+2908+(s<<2)>>2]=q;b[a+5208+q>>0]=0;r=q}q=q+1|0;if((q|0)==(n|0))break;else p=r}p=f[l>>2]|0;if((p|0)<2){t=r;v=p;w=3}else{x=r;y=p}}else{t=-1;v=0;w=3}if((w|0)==3){w=a+5800|0;p=a+5804|0;if(!m){r=t;q=v;while(1){s=(r|0)<2;z=r+1|0;A=s?z:r;B=s?z:0;z=q+1|0;f[l>>2]=z;f[a+2908+(z<<2)>>2]=B;d[i+(B<<2)>>1]=1;b[a+5208+B>>0]=0;f[w>>2]=(f[w>>2]|0)+-1;B=f[l>>2]|0;if((B|0)<2){r=A;q=B}else{x=A;y=B;break}}}else{q=t;t=v;while(1){v=(q|0)<2;r=q+1|0;B=v?r:q;A=v?r:0;r=t+1|0;f[l>>2]=r;f[a+2908+(r<<2)>>2]=A;d[i+(A<<2)>>1]=1;b[a+5208+A>>0]=0;f[w>>2]=(f[w>>2]|0)+-1;f[p>>2]=(f[p>>2]|0)-(j[m+(A<<2)+2>>1]|0);A=f[l>>2]|0;if((A|0)<2){q=B;t=A}else{x=B;y=A;break}}}}t=c+4|0;f[t>>2]=x;q=(y|0)/2|0;m=y;while(1){y=f[a+2908+(q<<2)>>2]|0;p=a+5208+y|0;w=q<<1;a:do if((w|0)>(m|0))C=q;else{A=i+(y<<2)|0;B=q;r=w;v=m;while(1){do if((r|0)<(v|0)){z=r|1;s=f[a+2908+(z<<2)>>2]|0;D=d[i+(s<<2)>>1]|0;E=f[a+2908+(r<<2)>>2]|0;F=d[i+(E<<2)>>1]|0;if((D&65535)>=(F&65535)){if(D<<16>>16!=F<<16>>16){G=r;break}if((h[a+5208+s>>0]|0)>(h[a+5208+E>>0]|0)){G=r;break}}G=z}else G=r;while(0);z=d[A>>1]|0;E=f[a+2908+(G<<2)>>2]|0;s=d[i+(E<<2)>>1]|0;if((z&65535)<(s&65535)){C=B;break a}if(z<<16>>16==s<<16>>16?(h[p>>0]|0)<=(h[a+5208+E>>0]|0):0){C=B;break a}f[a+2908+(B<<2)>>2]=E;r=G<<1;v=f[l>>2]|0;if((r|0)>(v|0)){C=G;break}else B=G}}while(0);f[a+2908+(C<<2)>>2]=y;if((q|0)<=1)break;q=q+-1|0;m=f[l>>2]|0}m=a+2912|0;q=n;n=f[l>>2]|0;do{C=f[m>>2]|0;G=n+-1|0;f[l>>2]=G;p=f[a+2908+(n<<2)>>2]|0;f[m>>2]=p;w=a+5208+p|0;b:do if((n|0)<3)H=1;else{B=i+(p<<2)|0;v=1;r=2;A=G;while(1){do if((r|0)<(A|0)){E=r|1;s=f[a+2908+(E<<2)>>2]|0;z=d[i+(s<<2)>>1]|0;F=f[a+2908+(r<<2)>>2]|0;D=d[i+(F<<2)>>1]|0;if((z&65535)>=(D&65535)){if(z<<16>>16!=D<<16>>16){I=r;break}if((h[a+5208+s>>0]|0)>(h[a+5208+F>>0]|0)){I=r;break}}I=E}else I=r;while(0);E=d[B>>1]|0;F=f[a+2908+(I<<2)>>2]|0;s=d[i+(F<<2)>>1]|0;if((E&65535)<(s&65535)){H=v;break b}if(E<<16>>16==s<<16>>16?(h[w>>0]|0)<=(h[a+5208+F>>0]|0):0){H=v;break b}f[a+2908+(v<<2)>>2]=F;r=I<<1;A=f[l>>2]|0;if((r|0)>(A|0)){H=I;break}else v=I}}while(0);f[a+2908+(H<<2)>>2]=p;w=f[m>>2]|0;G=(f[o>>2]|0)+-1|0;f[o>>2]=G;f[a+2908+(G<<2)>>2]=C;G=(f[o>>2]|0)+-1|0;f[o>>2]=G;f[a+2908+(G<<2)>>2]=w;G=i+(q<<2)|0;d[G>>1]=(j[i+(w<<2)>>1]|0)+(j[i+(C<<2)>>1]|0);y=a+5208+q|0;b[y>>0]=(h[((h[a+5208+C>>0]|0)>=(h[a+5208+w>>0]|0)?C:w)+(a+5208)>>0]|0)+1;v=q&65535;d[i+(w<<2)+2>>1]=v;d[i+(C<<2)+2>>1]=v;f[m>>2]=q;v=f[l>>2]|0;c:do if((v|0)<2)J=1;else{w=1;A=2;r=v;while(1){do if((A|0)<(r|0)){B=A|1;F=f[a+2908+(B<<2)>>2]|0;s=d[i+(F<<2)>>1]|0;E=f[a+2908+(A<<2)>>2]|0;D=d[i+(E<<2)>>1]|0;if((s&65535)>=(D&65535)){if(s<<16>>16!=D<<16>>16){K=A;break}if((h[a+5208+F>>0]|0)>(h[a+5208+E>>0]|0)){K=A;break}}K=B}else K=A;while(0);B=d[G>>1]|0;E=f[a+2908+(K<<2)>>2]|0;F=d[i+(E<<2)>>1]|0;if((B&65535)<(F&65535)){J=w;break c}if(B<<16>>16==F<<16>>16?(h[y>>0]|0)<=(h[a+5208+E>>0]|0):0){J=w;break c}f[a+2908+(w<<2)>>2]=E;A=K<<1;r=f[l>>2]|0;if((A|0)>(r|0)){J=K;break}else w=K}}while(0);f[a+2908+(J<<2)>>2]=q;q=q+1|0;n=f[l>>2]|0}while((n|0)>1);n=f[m>>2]|0;m=(f[o>>2]|0)+-1|0;f[o>>2]=m;f[a+2908+(m<<2)>>2]=n;n=f[c>>2]|0;c=f[t>>2]|0;t=f[k>>2]|0;k=f[t>>2]|0;m=f[t+4>>2]|0;l=f[t+8>>2]|0;q=f[t+16>>2]|0;t=a+2876|0;J=t;K=J+32|0;do{d[J>>1]=0;J=J+2|0}while((J|0)<(K|0));d[n+(f[a+2908+(f[o>>2]<<2)>>2]<<2)+2>>1]=0;J=f[o>>2]|0;o=J+1|0;d:do if((J|0)<572){K=a+5800|0;H=a+5804|0;if(!k){I=o;y=0;while(1){G=f[a+2908+(I<<2)>>2]|0;v=n+(G<<2)+2|0;C=j[n+(j[v>>1]<<2)+2>>1]|0;p=(q|0)>(C|0);w=p?C+1|0:q;C=y+((p^1)&1)|0;d[v>>1]=w;if((G|0)<=(c|0)){v=a+2876+(w<<1)|0;d[v>>1]=(d[v>>1]|0)+1<<16>>16;if((G|0)<(l|0))L=0;else L=f[m+(G-l<<2)>>2]|0;v=X(L+w|0,j[n+(G<<2)>>1]|0)|0;f[K>>2]=v+(f[K>>2]|0)}if((I|0)<572){I=I+1|0;y=C}else{M=C;break}}}else{y=o;I=0;while(1){C=f[a+2908+(y<<2)>>2]|0;v=n+(C<<2)+2|0;G=j[n+(j[v>>1]<<2)+2>>1]|0;w=(q|0)>(G|0);p=w?G+1|0:q;G=I+((w^1)&1)|0;d[v>>1]=p;if((C|0)<=(c|0)){v=a+2876+(p<<1)|0;d[v>>1]=(d[v>>1]|0)+1<<16>>16;if((C|0)<(l|0))N=0;else N=f[m+(C-l<<2)>>2]|0;v=j[n+(C<<2)>>1]|0;w=X(N+p|0,v)|0;f[K>>2]=w+(f[K>>2]|0);w=X(N+(j[k+(C<<2)+2>>1]|0)|0,v)|0;f[H>>2]=w+(f[H>>2]|0)}if((y|0)<572){y=y+1|0;I=G}else{M=G;break}}}if(M|0){I=a+2876+(q<<1)|0;y=M;while(1){H=q;while(1){G=H+-1|0;O=a+2876+(G<<1)|0;P=d[O>>1]|0;if(!(P<<16>>16))H=G;else break}d[O>>1]=P+-1<<16>>16;G=a+2876+(H<<1)|0;d[G>>1]=(j[G>>1]|0)+2;Q=(d[I>>1]|0)+-1<<16>>16;d[I>>1]=Q;if((y|0)>2)y=y+-2|0;else break}if(q|0){y=573;I=q;G=Q;while(1){w=I&65535;if(!(G<<16>>16))R=y;else{v=G&65535;C=y;while(1){p=C;do{p=p+-1|0;S=f[a+2908+(p<<2)>>2]|0}while((S|0)>(c|0));r=n+(S<<2)+2|0;A=j[r>>1]|0;if((I|0)!=(A|0)){E=X(I-A|0,j[n+(S<<2)>>1]|0)|0;f[K>>2]=E+(f[K>>2]|0);d[r>>1]=w}v=v+-1|0;if(!v){R=p;break}else C=p}}C=I+-1|0;if(!C)break d;y=R;I=C;G=d[a+2876+(C<<1)>>1]|0}}}}while(0);R=j[t>>1]<<1;d[g+2>>1]=R;t=R+(j[a+2878>>1]|0)<<1;d[g+4>>1]=t;R=t+(j[a+2880>>1]|0)<<1;d[g+6>>1]=R;t=R+(j[a+2882>>1]|0)<<1;d[g+8>>1]=t;R=t+(j[a+2884>>1]|0)<<1;d[g+10>>1]=R;t=R+(j[a+2886>>1]|0)<<1;d[g+12>>1]=t;R=t+(j[a+2888>>1]|0)<<1;d[g+14>>1]=R;t=R+(j[a+2890>>1]|0)<<1;d[g+16>>1]=t;R=t+(j[a+2892>>1]|0)<<1;d[g+18>>1]=R;t=R+(j[a+2894>>1]|0)<<1;d[g+20>>1]=t;R=t+(j[a+2896>>1]|0)<<1;d[g+22>>1]=R;t=R+(j[a+2898>>1]|0)<<1;d[g+24>>1]=t;R=t+(j[a+2900>>1]|0)<<1;d[g+26>>1]=R;t=R+(j[a+2902>>1]|0)<<1;d[g+28>>1]=t;d[g+30>>1]=t+(j[a+2904>>1]|0)<<1;if((x|0)<0){u=e;return}else T=0;while(1){a=d[i+(T<<2)+2>>1]|0;t=a&65535;if(a<<16>>16){a=g+(t<<1)|0;R=d[a>>1]|0;d[a>>1]=R+1<<16>>16;a=0;S=t;t=R&65535;while(1){U=a|t&1;if((S|0)>1){a=U<<1;S=S+-1|0;t=t>>>1}else break}d[i+(T<<2)>>1]=U}if((T|0)==(x|0))break;else T=T+1|0}u=e;return}function TBa(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;g=a+5792|0;if(!(f[g>>2]|0)){i=a+5820|0;k=a+5816|0;l=k;m=i;n=f[i>>2]|0;o=d[k>>1]|0}else{k=a+5796|0;i=a+5784|0;p=a+5820|0;q=a+5816|0;r=a+8|0;s=a+20|0;t=0;do{u=d[(f[k>>2]|0)+(t<<1)>>1]|0;v=u&65535;w=h[(f[i>>2]|0)+t>>0]|0;t=t+1|0;do if(!(u<<16>>16)){x=j[c+(w<<2)+2>>1]|0;y=f[p>>2]|0;z=j[c+(w<<2)>>1]|0;A=z<>1]|0);B=A&65535;d[q>>1]=B;if((y|0)>(16-x|0)){C=f[r>>2]|0;D=f[s>>2]|0;f[s>>2]=D+1;b[C+D>>0]=A;A=(j[q>>1]|0)>>>8&255;D=f[r>>2]|0;C=f[s>>2]|0;f[s>>2]=C+1;b[D+C>>0]=A;A=f[p>>2]|0;C=z>>>(16-A|0)&65535;d[q>>1]=C;E=C;F=x+-16+A|0;G=23;break}else{E=B;F=y+x|0;G=23;break}}else{x=h[443765+w>>0]|0;y=(x|256)+1|0;B=j[c+(y<<2)+2>>1]|0;A=f[p>>2]|0;C=j[c+(y<<2)>>1]|0;y=C<>1]|0);z=y&65535;d[q>>1]=z;if((A|0)>(16-B|0)){D=f[r>>2]|0;H=f[s>>2]|0;f[s>>2]=H+1;b[D+H>>0]=y;y=(j[q>>1]|0)>>>8&255;H=f[r>>2]|0;D=f[s>>2]|0;f[s>>2]=D+1;b[H+D>>0]=y;y=f[p>>2]|0;D=C>>>(16-y|0)&65535;d[q>>1]=D;I=D;J=B+-16+y|0}else{I=z;J=A+B|0}f[p>>2]=J;B=f[110192+(x<<2)>>2]|0;if((x+-8|0)>>>0<20){A=w-(f[110308+(x<<2)>>2]|0)&65535;x=A<>1]=z;if((J|0)>(16-B|0)){y=f[r>>2]|0;D=f[s>>2]|0;f[s>>2]=D+1;b[y+D>>0]=x;x=(j[q>>1]|0)>>>8&255;D=f[r>>2]|0;y=f[s>>2]|0;f[s>>2]=y+1;b[D+y>>0]=x;x=f[p>>2]|0;y=A>>>(16-x|0)&65535;d[q>>1]=y;K=y;L=B+-16+x|0}else{K=z;L=J+B|0}f[p>>2]=L;M=L;N=K}else{M=J;N=I}B=v+-1|0;z=h[443253+(B>>>0<256?B:(B>>>7)+256|0)>>0]|0;x=j[e+(z<<2)+2>>1]|0;y=j[e+(z<<2)>>1]|0;A=y<>1]=D;if((M|0)>(16-x|0)){C=f[r>>2]|0;H=f[s>>2]|0;f[s>>2]=H+1;b[C+H>>0]=A;A=(j[q>>1]|0)>>>8&255;H=f[r>>2]|0;C=f[s>>2]|0;f[s>>2]=C+1;b[H+C>>0]=A;A=f[p>>2]|0;C=y>>>(16-A|0)&65535;d[q>>1]=C;O=x+-16+A|0;P=C}else{O=M+x|0;P=D}f[p>>2]=O;D=f[110072+(z<<2)>>2]|0;if((z+-4|0)>>>0<26){x=B-(f[110424+(z<<2)>>2]|0)&65535;z=x<>1]=B;if((O|0)>(16-D|0)){C=f[r>>2]|0;A=f[s>>2]|0;f[s>>2]=A+1;b[C+A>>0]=z;z=(j[q>>1]|0)>>>8&255;A=f[r>>2]|0;C=f[s>>2]|0;f[s>>2]=C+1;b[A+C>>0]=z;z=f[p>>2]|0;C=x>>>(16-z|0)&65535;d[q>>1]=C;E=C;F=D+-16+z|0;G=23;break}else{E=B;F=O+D|0;G=23;break}}else{Q=P;R=O}}while(0);if((G|0)==23){G=0;f[p>>2]=F;Q=E;R=F}}while(t>>>0<(f[g>>2]|0)>>>0);l=q;m=p;n=R;o=Q}Q=j[c+1026>>1]|0;R=j[c+1024>>1]|0;c=R<>1]=c;if((n|0)>(16-Q|0)){o=a+8|0;p=f[o>>2]|0;q=a+20|0;a=f[q>>2]|0;f[q>>2]=a+1;b[p+a>>0]=c;c=(j[l>>1]|0)>>>8&255;a=f[o>>2]|0;o=f[q>>2]|0;f[q>>2]=o+1;b[a+o>>0]=c;c=f[m>>2]|0;d[l>>1]=R>>>(16-c|0);S=Q+-16+c|0;f[m>>2]=S;return}else{S=n+Q|0;f[m>>2]=S;return}}function UBa(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;g=d[c+2>>1]|0;h=g<<16>>16==0;i=a+2754|0;k=a+5820|0;l=a+2752|0;m=a+5816|0;n=a+8|0;o=a+20|0;p=a+2758|0;q=a+2756|0;r=a+2750|0;s=a+2748|0;t=0;u=-1;v=g&65535;g=h?138:7;w=h?3:4;a:while(1){h=t;x=0;while(1){if((h|0)>(e|0))break a;h=h+1|0;y=d[c+(h<<2)+2>>1]|0;z=y&65535;A=x+1|0;B=(v|0)==(z|0);if(!((A|0)<(g|0)&B))break;else x=A}if((A|0)<(w|0)){C=a+2684+(v<<2)+2|0;D=a+2684+(v<<2)|0;E=A;F=f[k>>2]|0;G=d[m>>1]|0;while(1){H=j[C>>1]|0;I=j[D>>1]|0;J=I<>1]=K;if((F|0)>(16-H|0)){L=f[n>>2]|0;M=f[o>>2]|0;f[o>>2]=M+1;b[L+M>>0]=J;J=(j[m>>1]|0)>>>8&255;M=f[n>>2]|0;L=f[o>>2]|0;f[o>>2]=L+1;b[M+L>>0]=J;J=f[k>>2]|0;L=I>>>(16-J|0)&65535;d[m>>1]=L;N=L;O=H+-16+J|0}else{N=K;O=F+H|0}f[k>>2]=O;E=E+-1|0;if(!E)break;else{F=O;G=N}}}else{do if(!v)if((x|0)<10){G=j[i>>1]|0;F=f[k>>2]|0;E=j[l>>1]|0;D=E<>1]|0);d[m>>1]=D;if((F|0)>(16-G|0)){C=f[n>>2]|0;H=f[o>>2]|0;f[o>>2]=H+1;b[C+H>>0]=D;H=(j[m>>1]|0)>>>8&255;C=f[n>>2]|0;K=f[o>>2]|0;f[o>>2]=K+1;b[C+K>>0]=H;H=f[k>>2]|0;K=E>>>(16-H|0);d[m>>1]=K;P=G+-16+H|0;Q=K}else{P=F+G|0;Q=D}f[k>>2]=P;D=x+65534&65535;G=D<>1]=G;if((P|0)>13){F=f[n>>2]|0;K=f[o>>2]|0;f[o>>2]=K+1;b[F+K>>0]=G;G=(j[m>>1]|0)>>>8&255;K=f[n>>2]|0;F=f[o>>2]|0;f[o>>2]=F+1;b[K+F>>0]=G;G=f[k>>2]|0;d[m>>1]=D>>>(16-G|0);R=G+-13|0;break}else{R=P+3|0;break}}else{G=j[p>>1]|0;D=f[k>>2]|0;F=j[q>>1]|0;K=F<>1]|0);d[m>>1]=K;if((D|0)>(16-G|0)){H=f[n>>2]|0;E=f[o>>2]|0;f[o>>2]=E+1;b[H+E>>0]=K;E=(j[m>>1]|0)>>>8&255;H=f[n>>2]|0;C=f[o>>2]|0;f[o>>2]=C+1;b[H+C>>0]=E;E=f[k>>2]|0;C=F>>>(16-E|0);d[m>>1]=C;S=G+-16+E|0;T=C}else{S=D+G|0;T=K}f[k>>2]=S;K=x+65526&65535;G=K<>1]=G;if((S|0)>9){D=f[n>>2]|0;C=f[o>>2]|0;f[o>>2]=C+1;b[D+C>>0]=G;G=(j[m>>1]|0)>>>8&255;C=f[n>>2]|0;D=f[o>>2]|0;f[o>>2]=D+1;b[C+D>>0]=G;G=f[k>>2]|0;d[m>>1]=K>>>(16-G|0);R=G+-9|0;break}else{R=S+7|0;break}}else{if((v|0)==(u|0)){U=A;V=d[m>>1]|0;W=f[k>>2]|0}else{G=j[a+2684+(v<<2)+2>>1]|0;K=f[k>>2]|0;D=j[a+2684+(v<<2)>>1]|0;C=D<>1]|0);E=C&65535;d[m>>1]=E;if((K|0)>(16-G|0)){F=f[n>>2]|0;H=f[o>>2]|0;f[o>>2]=H+1;b[F+H>>0]=C;C=(j[m>>1]|0)>>>8&255;H=f[n>>2]|0;F=f[o>>2]|0;f[o>>2]=F+1;b[H+F>>0]=C;C=f[k>>2]|0;F=D>>>(16-C|0)&65535;d[m>>1]=F;X=F;Y=G+-16+C|0}else{X=E;Y=K+G|0}f[k>>2]=Y;U=x;V=X;W=Y}G=j[r>>1]|0;K=j[s>>1]|0;E=K<>1]=E;if((W|0)>(16-G|0)){C=f[n>>2]|0;F=f[o>>2]|0;f[o>>2]=F+1;b[C+F>>0]=E;F=(j[m>>1]|0)>>>8&255;C=f[n>>2]|0;D=f[o>>2]|0;f[o>>2]=D+1;b[C+D>>0]=F;F=f[k>>2]|0;D=K>>>(16-F|0);d[m>>1]=D;Z=G+-16+F|0;_=D}else{Z=W+G|0;_=E}f[k>>2]=Z;E=U+65533&65535;G=E<>1]=G;if((Z|0)>14){D=f[n>>2]|0;F=f[o>>2]|0;f[o>>2]=F+1;b[D+F>>0]=G;G=(j[m>>1]|0)>>>8&255;F=f[n>>2]|0;D=f[o>>2]|0;f[o>>2]=D+1;b[F+D>>0]=G;G=f[k>>2]|0;d[m>>1]=E>>>(16-G|0);R=G+-14|0;break}else{R=Z+2|0;break}}while(0);f[k>>2]=R}x=y<<16>>16==0;G=v;t=h;v=z;g=x?138:B?6:7;w=x|B?3:4;u=G}return}function VBa(){WBa(0);return}function WBa(a){a=a|0;Zd(20752,452759);Gd(20768,452764,1,1,0);Qd(20776,452533,1,-128,127);Qd(20792,452538,1,-128,127);Qd(20784,452550,1,0,255);Qd(20800,452564,2,-32768,32767);Qd(20808,452570,2,0,65535);Qd(20816,452769,4,-2147483648,2147483647);Qd(20824,452773,4,0,-1);Qd(20832,452786,4,-2147483648,2147483647);Qd(20840,452791,4,0,-1);Od(20848,452815,4);Od(20856,452927,8);Td(8992,452142);Td(19104,444040);Ud(19128,4,444073);Nd(8368,444086);Rd(8880,0,444102);Rd(19152,0,444132);Rd(8872,1,444169);Rd(8896,2,444208);Rd(8888,3,444239);Rd(8904,4,444279);Rd(19160,5,444308);Rd(19168,4,444346);Rd(19176,5,444376);Rd(19152,0,444415);Rd(8872,1,444447);Rd(8896,2,444480);Rd(8888,3,444513);Rd(8904,4,444547);Rd(19160,5,444580);Rd(8912,6,444614);Rd(8920,7,444645);Rd(19184,7,444677);return}function XBa(a){a=a|0;return WDa(f[a+4>>2]|0)|0}function YBa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;b=u;u=u+16|0;c=b;do if(a>>>0<245){d=a>>>0<11?16:a+11&-8;e=d>>>3;g=f[202175]|0;h=g>>>e;if(h&3|0){i=(h&1^1)+e|0;j=808740+(i<<1<<2)|0;k=j+8|0;l=f[k>>2]|0;m=l+8|0;n=f[m>>2]|0;if((n|0)==(j|0))f[202175]=g&~(1<>2]=j;f[k>>2]=n}n=i<<3;f[l+4>>2]=n|3;i=l+n+4|0;f[i>>2]=f[i>>2]|1;o=m;u=b;return o|0}m=f[202177]|0;if(d>>>0>m>>>0){if(h|0){i=2<>>12&16;e=i>>>n;i=e>>>5&8;h=e>>>i;e=h>>>2&4;l=h>>>e;h=l>>>1&2;k=l>>>h;l=k>>>1&1;j=(i|n|e|h|l)+(k>>>l)|0;l=808740+(j<<1<<2)|0;k=l+8|0;h=f[k>>2]|0;e=h+8|0;n=f[e>>2]|0;if((n|0)==(l|0)){i=g&~(1<>2]=l;f[k>>2]=n;p=g}n=j<<3;j=n-d|0;f[h+4>>2]=d|3;k=h+d|0;f[k+4>>2]=j|1;f[h+n>>2]=j;if(m|0){n=f[202180]|0;h=m>>>3;l=808740+(h<<1<<2)|0;i=1<>2]|0;r=i}f[r>>2]=n;f[q+12>>2]=n;f[n+8>>2]=q;f[n+12>>2]=l}f[202177]=j;f[202180]=k;o=e;u=b;return o|0}e=f[202176]|0;if(e){k=(e&0-e)+-1|0;j=k>>>12&16;l=k>>>j;k=l>>>5&8;n=l>>>k;l=n>>>2&4;i=n>>>l;n=i>>>1&2;h=i>>>n;i=h>>>1&1;s=f[809004+((k|j|l|n|i)+(h>>>i)<<2)>>2]|0;i=(f[s+4>>2]&-8)-d|0;h=f[s+16+(((f[s+16>>2]|0)==0&1)<<2)>>2]|0;if(!h){t=s;v=i}else{n=s;s=i;i=h;while(1){h=(f[i+4>>2]&-8)-d|0;l=h>>>0>>0;j=l?h:s;h=l?i:n;i=f[i+16+(((f[i+16>>2]|0)==0&1)<<2)>>2]|0;if(!i){t=h;v=j;break}else{n=h;s=j}}}s=t+d|0;if(s>>>0>t>>>0){n=f[t+24>>2]|0;i=f[t+12>>2]|0;do if((i|0)==(t|0)){j=t+20|0;h=f[j>>2]|0;if(!h){l=t+16|0;k=f[l>>2]|0;if(!k){w=0;break}else{x=k;y=l}}else{x=h;y=j}while(1){j=x+20|0;h=f[j>>2]|0;if(h|0){x=h;y=j;continue}j=x+16|0;h=f[j>>2]|0;if(!h)break;else{x=h;y=j}}f[y>>2]=0;w=x}else{j=f[t+8>>2]|0;f[j+12>>2]=i;f[i+8>>2]=j;w=i}while(0);do if(n|0){i=f[t+28>>2]|0;j=809004+(i<<2)|0;if((t|0)==(f[j>>2]|0)){f[j>>2]=w;if(!w){f[202176]=e&~(1<>2]|0)!=(t|0)&1)<<2)>>2]=w;if(!w)break}f[w+24>>2]=n;i=f[t+16>>2]|0;if(i|0){f[w+16>>2]=i;f[i+24>>2]=w}i=f[t+20>>2]|0;if(i|0){f[w+20>>2]=i;f[i+24>>2]=w}}while(0);if(v>>>0<16){n=v+d|0;f[t+4>>2]=n|3;e=t+n+4|0;f[e>>2]=f[e>>2]|1}else{f[t+4>>2]=d|3;f[s+4>>2]=v|1;f[s+v>>2]=v;if(m|0){e=f[202180]|0;n=m>>>3;i=808740+(n<<1<<2)|0;j=1<>2]|0;A=j}f[A>>2]=e;f[z+12>>2]=e;f[e+8>>2]=z;f[e+12>>2]=i}f[202177]=v;f[202180]=s}o=t+8|0;u=b;return o|0}else B=d}else B=d}else B=d}else if(a>>>0<=4294967231){i=a+11|0;e=i&-8;j=f[202176]|0;if(j){n=0-e|0;h=i>>>8;if(h)if(e>>>0>16777215)C=31;else{i=(h+1048320|0)>>>16&8;l=h<>>16&4;k=l<>>16&2;D=14-(h|i|l)+(k<>>15)|0;C=e>>>(D+7|0)&1|D<<1}else C=0;D=f[809004+(C<<2)>>2]|0;a:do if(!D){E=0;F=0;G=n;H=57}else{l=0;k=n;i=D;h=e<<((C|0)==31?0:25-(C>>>1)|0);I=0;while(1){J=(f[i+4>>2]&-8)-e|0;if(J>>>0>>0)if(!J){K=0;L=i;M=i;H=61;break a}else{N=i;O=J}else{N=l;O=k}J=f[i+20>>2]|0;i=f[i+16+(h>>>31<<2)>>2]|0;P=(J|0)==0|(J|0)==(i|0)?I:J;J=(i|0)==0;if(J){E=P;F=N;G=O;H=57;break}else{l=N;k=O;h=h<<((J^1)&1);I=P}}}while(0);if((H|0)==57){if((E|0)==0&(F|0)==0){D=2<>>12&16;d=D>>>n;D=d>>>5&8;s=d>>>D;d=s>>>2&4;g=s>>>d;s=g>>>1&2;m=g>>>s;g=m>>>1&1;Q=0;R=f[809004+((D|n|d|s|g)+(m>>>g)<<2)>>2]|0}else{Q=F;R=E}if(!R){S=Q;T=G}else{K=G;L=R;M=Q;H=61}}if((H|0)==61)while(1){H=0;g=(f[L+4>>2]&-8)-e|0;m=g>>>0>>0;s=m?g:K;g=m?L:M;L=f[L+16+(((f[L+16>>2]|0)==0&1)<<2)>>2]|0;if(!L){S=g;T=s;break}else{K=s;M=g;H=61}}if((S|0)!=0?T>>>0<((f[202177]|0)-e|0)>>>0:0){g=S+e|0;if(g>>>0<=S>>>0){o=0;u=b;return o|0}s=f[S+24>>2]|0;m=f[S+12>>2]|0;do if((m|0)==(S|0)){d=S+20|0;n=f[d>>2]|0;if(!n){D=S+16|0;I=f[D>>2]|0;if(!I){U=0;break}else{V=I;W=D}}else{V=n;W=d}while(1){d=V+20|0;n=f[d>>2]|0;if(n|0){V=n;W=d;continue}d=V+16|0;n=f[d>>2]|0;if(!n)break;else{V=n;W=d}}f[W>>2]=0;U=V}else{d=f[S+8>>2]|0;f[d+12>>2]=m;f[m+8>>2]=d;U=m}while(0);do if(s){m=f[S+28>>2]|0;d=809004+(m<<2)|0;if((S|0)==(f[d>>2]|0)){f[d>>2]=U;if(!U){d=j&~(1<>2]|0)!=(S|0)&1)<<2)>>2]=U;if(!U){X=j;break}}f[U+24>>2]=s;d=f[S+16>>2]|0;if(d|0){f[U+16>>2]=d;f[d+24>>2]=U}d=f[S+20>>2]|0;if(d){f[U+20>>2]=d;f[d+24>>2]=U;X=j}else X=j}else X=j;while(0);do if(T>>>0>=16){f[S+4>>2]=e|3;f[g+4>>2]=T|1;f[g+T>>2]=T;j=T>>>3;if(T>>>0<256){s=808740+(j<<1<<2)|0;d=f[202175]|0;m=1<>2]|0;Z=m}f[Z>>2]=g;f[Y+12>>2]=g;f[g+8>>2]=Y;f[g+12>>2]=s;break}s=T>>>8;if(s)if(T>>>0>16777215)_=31;else{m=(s+1048320|0)>>>16&8;d=s<>>16&4;j=d<>>16&2;n=14-(s|m|d)+(j<>>15)|0;_=T>>>(n+7|0)&1|n<<1}else _=0;n=809004+(_<<2)|0;f[g+28>>2]=_;d=g+16|0;f[d+4>>2]=0;f[d>>2]=0;d=1<<_;if(!(X&d)){f[202176]=X|d;f[n>>2]=g;f[g+24>>2]=n;f[g+12>>2]=g;f[g+8>>2]=g;break}d=T<<((_|0)==31?0:25-(_>>>1)|0);j=f[n>>2]|0;while(1){if((f[j+4>>2]&-8|0)==(T|0)){H=97;break}$=j+16+(d>>>31<<2)|0;n=f[$>>2]|0;if(!n){H=96;break}else{d=d<<1;j=n}}if((H|0)==96){f[$>>2]=g;f[g+24>>2]=j;f[g+12>>2]=g;f[g+8>>2]=g;break}else if((H|0)==97){d=j+8|0;n=f[d>>2]|0;f[n+12>>2]=g;f[d>>2]=g;f[g+8>>2]=n;f[g+12>>2]=j;f[g+24>>2]=0;break}}else{n=T+e|0;f[S+4>>2]=n|3;d=S+n+4|0;f[d>>2]=f[d>>2]|1}while(0);o=S+8|0;u=b;return o|0}else B=e}else B=e}else B=-1;while(0);S=f[202177]|0;if(S>>>0>=B>>>0){T=S-B|0;$=f[202180]|0;if(T>>>0>15){_=$+B|0;f[202180]=_;f[202177]=T;f[_+4>>2]=T|1;f[$+S>>2]=T;f[$+4>>2]=B|3}else{f[202177]=0;f[202180]=0;f[$+4>>2]=S|3;T=$+S+4|0;f[T>>2]=f[T>>2]|1}o=$+8|0;u=b;return o|0}$=f[202178]|0;if($>>>0>B>>>0){T=$-B|0;f[202178]=T;S=f[202181]|0;_=S+B|0;f[202181]=_;f[_+4>>2]=T|1;f[S+4>>2]=B|3;o=S+8|0;u=b;return o|0}if(!(f[202293]|0)){f[202295]=4096;f[202294]=4096;f[202296]=-1;f[202297]=-1;f[202298]=0;f[202286]=0;f[202293]=c&-16^1431655768;aa=4096}else aa=f[202295]|0;c=B+48|0;S=B+47|0;T=aa+S|0;_=0-aa|0;aa=T&_;if(aa>>>0<=B>>>0){o=0;u=b;return o|0}X=f[202285]|0;if(X|0?(Y=f[202283]|0,Z=Y+aa|0,Z>>>0<=Y>>>0|Z>>>0>X>>>0):0){o=0;u=b;return o|0}b:do if(!(f[202286]&4)){X=f[202181]|0;c:do if(X){Z=809148;while(1){Y=f[Z>>2]|0;if(Y>>>0<=X>>>0?(ba=Z+4|0,(Y+(f[ba>>2]|0)|0)>>>0>X>>>0):0)break;Y=f[Z+8>>2]|0;if(!Y){H=118;break c}else Z=Y}j=T-$&_;if(j>>>0<2147483647){Y=LVa(j|0)|0;if((Y|0)==((f[Z>>2]|0)+(f[ba>>2]|0)|0))if((Y|0)==(-1|0))ca=j;else{da=j;ea=Y;H=135;break b}else{fa=Y;ga=j;H=126}}else ca=0}else H=118;while(0);do if((H|0)==118){X=LVa(0)|0;if((X|0)!=(-1|0)?(e=X,j=f[202294]|0,Y=j+-1|0,U=((Y&e|0)==0?0:(Y+e&0-j)-e|0)+aa|0,e=f[202283]|0,j=U+e|0,U>>>0>B>>>0&U>>>0<2147483647):0){Y=f[202285]|0;if(Y|0?j>>>0<=e>>>0|j>>>0>Y>>>0:0){ca=0;break}Y=LVa(U|0)|0;if((Y|0)==(X|0)){da=U;ea=X;H=135;break b}else{fa=Y;ga=U;H=126}}else ca=0}while(0);do if((H|0)==126){U=0-ga|0;if(!(c>>>0>ga>>>0&(ga>>>0<2147483647&(fa|0)!=(-1|0))))if((fa|0)==(-1|0)){ca=0;break}else{da=ga;ea=fa;H=135;break b}Y=f[202295]|0;X=S-ga+Y&0-Y;if(X>>>0>=2147483647){da=ga;ea=fa;H=135;break b}if((LVa(X|0)|0)==(-1|0)){LVa(U|0)|0;ca=0;break}else{da=X+ga|0;ea=fa;H=135;break b}}while(0);f[202286]=f[202286]|4;ha=ca;H=133}else{ha=0;H=133}while(0);if(((H|0)==133?aa>>>0<2147483647:0)?(ca=LVa(aa|0)|0,aa=LVa(0)|0,fa=aa-ca|0,ga=fa>>>0>(B+40|0)>>>0,!((ca|0)==(-1|0)|ga^1|ca>>>0>>0&((ca|0)!=(-1|0)&(aa|0)!=(-1|0))^1)):0){da=ga?fa:ha;ea=ca;H=135}if((H|0)==135){ca=(f[202283]|0)+da|0;f[202283]=ca;if(ca>>>0>(f[202284]|0)>>>0)f[202284]=ca;ca=f[202181]|0;do if(ca){ha=809148;while(1){ia=f[ha>>2]|0;ja=ha+4|0;ka=f[ja>>2]|0;if((ea|0)==(ia+ka|0)){H=143;break}fa=f[ha+8>>2]|0;if(!fa)break;else ha=fa}if(((H|0)==143?(f[ha+12>>2]&8|0)==0:0)?ea>>>0>ca>>>0&ia>>>0<=ca>>>0:0){f[ja>>2]=ka+da;fa=(f[202178]|0)+da|0;ga=ca+8|0;aa=(ga&7|0)==0?0:0-ga&7;ga=ca+aa|0;S=fa-aa|0;f[202181]=ga;f[202178]=S;f[ga+4>>2]=S|1;f[ca+fa+4>>2]=40;f[202182]=f[202297];break}if(ea>>>0<(f[202179]|0)>>>0)f[202179]=ea;fa=ea+da|0;S=809148;while(1){if((f[S>>2]|0)==(fa|0)){H=151;break}ga=f[S+8>>2]|0;if(!ga){la=809148;break}else S=ga}if((H|0)==151)if(!(f[S+12>>2]&8)){f[S>>2]=ea;ha=S+4|0;f[ha>>2]=(f[ha>>2]|0)+da;ha=ea+8|0;ga=ea+((ha&7|0)==0?0:0-ha&7)|0;ha=fa+8|0;aa=fa+((ha&7|0)==0?0:0-ha&7)|0;ha=ga+B|0;c=aa-ga-B|0;f[ga+4>>2]=B|3;do if((ca|0)!=(aa|0)){if((f[202180]|0)==(aa|0)){ba=(f[202177]|0)+c|0;f[202177]=ba;f[202180]=ha;f[ha+4>>2]=ba|1;f[ha+ba>>2]=ba;break}ba=f[aa+4>>2]|0;if((ba&3|0)==1){_=ba&-8;$=ba>>>3;d:do if(ba>>>0<256){T=f[aa+8>>2]|0;X=f[aa+12>>2]|0;if((X|0)==(T|0)){f[202175]=f[202175]&~(1<<$);break}else{f[T+12>>2]=X;f[X+8>>2]=T;break}}else{T=f[aa+24>>2]|0;X=f[aa+12>>2]|0;do if((X|0)==(aa|0)){U=aa+16|0;Y=U+4|0;j=f[Y>>2]|0;if(!j){e=f[U>>2]|0;if(!e){ma=0;break}else{na=e;oa=U}}else{na=j;oa=Y}while(1){Y=na+20|0;j=f[Y>>2]|0;if(j|0){na=j;oa=Y;continue}Y=na+16|0;j=f[Y>>2]|0;if(!j)break;else{na=j;oa=Y}}f[oa>>2]=0;ma=na}else{Y=f[aa+8>>2]|0;f[Y+12>>2]=X;f[X+8>>2]=Y;ma=X}while(0);if(!T)break;X=f[aa+28>>2]|0;Y=809004+(X<<2)|0;do if((f[Y>>2]|0)!=(aa|0)){f[T+16+(((f[T+16>>2]|0)!=(aa|0)&1)<<2)>>2]=ma;if(!ma)break d}else{f[Y>>2]=ma;if(ma|0)break;f[202176]=f[202176]&~(1<>2]=T;X=aa+16|0;Y=f[X>>2]|0;if(Y|0){f[ma+16>>2]=Y;f[Y+24>>2]=ma}Y=f[X+4>>2]|0;if(!Y)break;f[ma+20>>2]=Y;f[Y+24>>2]=ma}while(0);pa=aa+_|0;qa=_+c|0}else{pa=aa;qa=c}$=pa+4|0;f[$>>2]=f[$>>2]&-2;f[ha+4>>2]=qa|1;f[ha+qa>>2]=qa;$=qa>>>3;if(qa>>>0<256){ba=808740+($<<1<<2)|0;Z=f[202175]|0;Y=1<<$;if(!(Z&Y)){f[202175]=Z|Y;ra=ba;sa=ba+8|0}else{Y=ba+8|0;ra=f[Y>>2]|0;sa=Y}f[sa>>2]=ha;f[ra+12>>2]=ha;f[ha+8>>2]=ra;f[ha+12>>2]=ba;break}ba=qa>>>8;do if(!ba)ta=0;else{if(qa>>>0>16777215){ta=31;break}Y=(ba+1048320|0)>>>16&8;Z=ba<>>16&4;X=Z<<$;Z=(X+245760|0)>>>16&2;j=14-($|Y|Z)+(X<>>15)|0;ta=qa>>>(j+7|0)&1|j<<1}while(0);ba=809004+(ta<<2)|0;f[ha+28>>2]=ta;_=ha+16|0;f[_+4>>2]=0;f[_>>2]=0;_=f[202176]|0;j=1<>2]=ha;f[ha+24>>2]=ba;f[ha+12>>2]=ha;f[ha+8>>2]=ha;break}j=qa<<((ta|0)==31?0:25-(ta>>>1)|0);_=f[ba>>2]|0;while(1){if((f[_+4>>2]&-8|0)==(qa|0)){H=192;break}ua=_+16+(j>>>31<<2)|0;ba=f[ua>>2]|0;if(!ba){H=191;break}else{j=j<<1;_=ba}}if((H|0)==191){f[ua>>2]=ha;f[ha+24>>2]=_;f[ha+12>>2]=ha;f[ha+8>>2]=ha;break}else if((H|0)==192){j=_+8|0;ba=f[j>>2]|0;f[ba+12>>2]=ha;f[j>>2]=ha;f[ha+8>>2]=ba;f[ha+12>>2]=_;f[ha+24>>2]=0;break}}else{ba=(f[202178]|0)+c|0;f[202178]=ba;f[202181]=ha;f[ha+4>>2]=ba|1}while(0);o=ga+8|0;u=b;return o|0}else la=809148;while(1){ha=f[la>>2]|0;if(ha>>>0<=ca>>>0?(va=ha+(f[la+4>>2]|0)|0,va>>>0>ca>>>0):0)break;la=f[la+8>>2]|0}ga=va+-47|0;ha=ga+8|0;c=ga+((ha&7|0)==0?0:0-ha&7)|0;ha=ca+16|0;ga=c>>>0>>0?ca:c;c=ga+8|0;aa=da+-40|0;fa=ea+8|0;S=(fa&7|0)==0?0:0-fa&7;fa=ea+S|0;ba=aa-S|0;f[202181]=fa;f[202178]=ba;f[fa+4>>2]=ba|1;f[ea+aa+4>>2]=40;f[202182]=f[202297];aa=ga+4|0;f[aa>>2]=27;f[c>>2]=f[202287];f[c+4>>2]=f[202288];f[c+8>>2]=f[202289];f[c+12>>2]=f[202290];f[202287]=ea;f[202288]=da;f[202290]=0;f[202289]=c;c=ga+24|0;do{ba=c;c=c+4|0;f[c>>2]=7}while((ba+8|0)>>>0>>0);if((ga|0)!=(ca|0)){c=ga-ca|0;f[aa>>2]=f[aa>>2]&-2;f[ca+4>>2]=c|1;f[ga>>2]=c;ba=c>>>3;if(c>>>0<256){fa=808740+(ba<<1<<2)|0;S=f[202175]|0;j=1<>2]|0;xa=j}f[xa>>2]=ca;f[wa+12>>2]=ca;f[ca+8>>2]=wa;f[ca+12>>2]=fa;break}fa=c>>>8;if(fa)if(c>>>0>16777215)ya=31;else{j=(fa+1048320|0)>>>16&8;S=fa<>>16&4;ba=S<>>16&2;Z=14-(fa|j|S)+(ba<>>15)|0;ya=c>>>(Z+7|0)&1|Z<<1}else ya=0;Z=809004+(ya<<2)|0;f[ca+28>>2]=ya;f[ca+20>>2]=0;f[ha>>2]=0;S=f[202176]|0;ba=1<>2]=ca;f[ca+24>>2]=Z;f[ca+12>>2]=ca;f[ca+8>>2]=ca;break}ba=c<<((ya|0)==31?0:25-(ya>>>1)|0);S=f[Z>>2]|0;while(1){if((f[S+4>>2]&-8|0)==(c|0)){H=213;break}za=S+16+(ba>>>31<<2)|0;Z=f[za>>2]|0;if(!Z){H=212;break}else{ba=ba<<1;S=Z}}if((H|0)==212){f[za>>2]=ca;f[ca+24>>2]=S;f[ca+12>>2]=ca;f[ca+8>>2]=ca;break}else if((H|0)==213){ba=S+8|0;c=f[ba>>2]|0;f[c+12>>2]=ca;f[ba>>2]=ca;f[ca+8>>2]=c;f[ca+12>>2]=S;f[ca+24>>2]=0;break}}}else{c=f[202179]|0;if((c|0)==0|ea>>>0>>0)f[202179]=ea;f[202287]=ea;f[202288]=da;f[202290]=0;f[202184]=f[202293];f[202183]=-1;f[202188]=808740;f[202187]=808740;f[202190]=808748;f[202189]=808748;f[202192]=808756;f[202191]=808756;f[202194]=808764;f[202193]=808764;f[202196]=808772;f[202195]=808772;f[202198]=808780;f[202197]=808780;f[202200]=808788;f[202199]=808788;f[202202]=808796;f[202201]=808796;f[202204]=808804;f[202203]=808804;f[202206]=808812;f[202205]=808812;f[202208]=808820;f[202207]=808820;f[202210]=808828;f[202209]=808828;f[202212]=808836;f[202211]=808836;f[202214]=808844;f[202213]=808844;f[202216]=808852;f[202215]=808852;f[202218]=808860;f[202217]=808860;f[202220]=808868;f[202219]=808868;f[202222]=808876;f[202221]=808876;f[202224]=808884;f[202223]=808884;f[202226]=808892;f[202225]=808892;f[202228]=808900;f[202227]=808900;f[202230]=808908;f[202229]=808908;f[202232]=808916;f[202231]=808916;f[202234]=808924;f[202233]=808924;f[202236]=808932;f[202235]=808932;f[202238]=808940;f[202237]=808940;f[202240]=808948;f[202239]=808948;f[202242]=808956;f[202241]=808956;f[202244]=808964;f[202243]=808964;f[202246]=808972;f[202245]=808972;f[202248]=808980;f[202247]=808980;f[202250]=808988;f[202249]=808988;c=da+-40|0;ba=ea+8|0;ha=(ba&7|0)==0?0:0-ba&7;ba=ea+ha|0;ga=c-ha|0;f[202181]=ba;f[202178]=ga;f[ba+4>>2]=ga|1;f[ea+c+4>>2]=40;f[202182]=f[202297]}while(0);ea=f[202178]|0;if(ea>>>0>B>>>0){da=ea-B|0;f[202178]=da;ea=f[202181]|0;ca=ea+B|0;f[202181]=ca;f[ca+4>>2]=da|1;f[ea+4>>2]=B|3;o=ea+8|0;u=b;return o|0}}ea=iCa()|0;f[ea>>2]=12;o=0;u=b;return o|0}function ZBa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!a)return;b=a+-8|0;c=f[202179]|0;d=f[a+-4>>2]|0;a=d&-8;e=b+a|0;do if(!(d&1)){g=f[b>>2]|0;if(!(d&3))return;h=b+(0-g)|0;i=g+a|0;if(h>>>0>>0)return;if((f[202180]|0)==(h|0)){j=e+4|0;k=f[j>>2]|0;if((k&3|0)!=3){l=h;m=i;n=h;break}f[202177]=i;f[j>>2]=k&-2;f[h+4>>2]=i|1;f[h+i>>2]=i;return}k=g>>>3;if(g>>>0<256){g=f[h+8>>2]|0;j=f[h+12>>2]|0;if((j|0)==(g|0)){f[202175]=f[202175]&~(1<>2]=j;f[j+8>>2]=g;l=h;m=i;n=h;break}}g=f[h+24>>2]|0;j=f[h+12>>2]|0;do if((j|0)==(h|0)){k=h+16|0;o=k+4|0;p=f[o>>2]|0;if(!p){q=f[k>>2]|0;if(!q){r=0;break}else{s=q;t=k}}else{s=p;t=o}while(1){o=s+20|0;p=f[o>>2]|0;if(p|0){s=p;t=o;continue}o=s+16|0;p=f[o>>2]|0;if(!p)break;else{s=p;t=o}}f[t>>2]=0;r=s}else{o=f[h+8>>2]|0;f[o+12>>2]=j;f[j+8>>2]=o;r=j}while(0);if(g){j=f[h+28>>2]|0;o=809004+(j<<2)|0;if((f[o>>2]|0)==(h|0)){f[o>>2]=r;if(!r){f[202176]=f[202176]&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=r;if(!r){l=h;m=i;n=h;break}}f[r+24>>2]=g;j=h+16|0;o=f[j>>2]|0;if(o|0){f[r+16>>2]=o;f[o+24>>2]=r}o=f[j+4>>2]|0;if(o){f[r+20>>2]=o;f[o+24>>2]=r;l=h;m=i;n=h}else{l=h;m=i;n=h}}else{l=h;m=i;n=h}}else{l=b;m=a;n=b}while(0);if(n>>>0>=e>>>0)return;b=e+4|0;a=f[b>>2]|0;if(!(a&1))return;if(!(a&2)){if((f[202181]|0)==(e|0)){r=(f[202178]|0)+m|0;f[202178]=r;f[202181]=l;f[l+4>>2]=r|1;if((l|0)!=(f[202180]|0))return;f[202180]=0;f[202177]=0;return}if((f[202180]|0)==(e|0)){r=(f[202177]|0)+m|0;f[202177]=r;f[202180]=n;f[l+4>>2]=r|1;f[n+r>>2]=r;return}r=(a&-8)+m|0;s=a>>>3;do if(a>>>0<256){t=f[e+8>>2]|0;c=f[e+12>>2]|0;if((c|0)==(t|0)){f[202175]=f[202175]&~(1<>2]=c;f[c+8>>2]=t;break}}else{t=f[e+24>>2]|0;c=f[e+12>>2]|0;do if((c|0)==(e|0)){d=e+16|0;o=d+4|0;j=f[o>>2]|0;if(!j){p=f[d>>2]|0;if(!p){u=0;break}else{v=p;w=d}}else{v=j;w=o}while(1){o=v+20|0;j=f[o>>2]|0;if(j|0){v=j;w=o;continue}o=v+16|0;j=f[o>>2]|0;if(!j)break;else{v=j;w=o}}f[w>>2]=0;u=v}else{o=f[e+8>>2]|0;f[o+12>>2]=c;f[c+8>>2]=o;u=c}while(0);if(t|0){c=f[e+28>>2]|0;h=809004+(c<<2)|0;if((f[h>>2]|0)==(e|0)){f[h>>2]=u;if(!u){f[202176]=f[202176]&~(1<>2]|0)!=(e|0)&1)<<2)>>2]=u;if(!u)break}f[u+24>>2]=t;c=e+16|0;h=f[c>>2]|0;if(h|0){f[u+16>>2]=h;f[h+24>>2]=u}h=f[c+4>>2]|0;if(h|0){f[u+20>>2]=h;f[h+24>>2]=u}}}while(0);f[l+4>>2]=r|1;f[n+r>>2]=r;if((l|0)==(f[202180]|0)){f[202177]=r;return}else x=r}else{f[b>>2]=a&-2;f[l+4>>2]=m|1;f[n+m>>2]=m;x=m}m=x>>>3;if(x>>>0<256){n=808740+(m<<1<<2)|0;a=f[202175]|0;b=1<>2]|0;z=b}f[z>>2]=l;f[y+12>>2]=l;f[l+8>>2]=y;f[l+12>>2]=n;return}n=x>>>8;if(n)if(x>>>0>16777215)A=31;else{y=(n+1048320|0)>>>16&8;z=n<>>16&4;b=z<>>16&2;a=14-(n|y|z)+(b<>>15)|0;A=x>>>(a+7|0)&1|a<<1}else A=0;a=809004+(A<<2)|0;f[l+28>>2]=A;f[l+20>>2]=0;f[l+16>>2]=0;z=f[202176]|0;b=1<>>1)|0);n=f[a>>2]|0;while(1){if((f[n+4>>2]&-8|0)==(x|0)){B=73;break}C=n+16+(y>>>31<<2)|0;m=f[C>>2]|0;if(!m){B=72;break}else{y=y<<1;n=m}}if((B|0)==72){f[C>>2]=l;f[l+24>>2]=n;f[l+12>>2]=l;f[l+8>>2]=l;break}else if((B|0)==73){y=n+8|0;t=f[y>>2]|0;f[t+12>>2]=l;f[y>>2]=l;f[l+8>>2]=t;f[l+12>>2]=n;f[l+24>>2]=0;break}}else{f[202176]=z|b;f[a>>2]=l;f[l+24>>2]=a;f[l+12>>2]=l;f[l+8>>2]=l}while(0);l=(f[202183]|0)+-1|0;f[202183]=l;if(!l)D=809156;else return;while(1){l=f[D>>2]|0;if(!l)break;else D=l+8|0}f[202183]=-1;return}function _Ba(a,b){a=a|0;b=b|0;var c=0,d=0;if(a){c=X(b,a)|0;if((b|a)>>>0>65535)d=((c>>>0)/(a>>>0)|0|0)==(b|0)?c:-1;else d=c}else d=0;c=YBa(d)|0;if(!c)return c|0;if(!(f[c+-4>>2]&3))return c|0;FVa(c|0,0,d|0)|0;return c|0}function $Ba(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;if(!a){c=YBa(b)|0;return c|0}if(b>>>0>4294967231){d=iCa()|0;f[d>>2]=12;c=0;return c|0}d=aCa(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){c=d+8|0;return c|0}d=YBa(b)|0;if(!d){c=0;return c|0}e=f[a+-4>>2]|0;g=(e&-8)-((e&3|0)==0?8:4)|0;DVa(d|0,a|0,(g>>>0>>0?g:b)|0)|0;ZBa(a);c=d;return c|0}function aCa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=a+4|0;d=f[c>>2]|0;e=d&-8;g=a+e|0;if(!(d&3)){if(b>>>0<256){h=0;return h|0}if(e>>>0>=(b+4|0)>>>0?(e-b|0)>>>0<=f[202295]<<1>>>0:0){h=a;return h|0}h=0;return h|0}if(e>>>0>=b>>>0){i=e-b|0;if(i>>>0<=15){h=a;return h|0}j=a+b|0;f[c>>2]=d&1|b|2;f[j+4>>2]=i|3;k=g+4|0;f[k>>2]=f[k>>2]|1;bCa(j,i);h=a;return h|0}if((f[202181]|0)==(g|0)){i=(f[202178]|0)+e|0;j=i-b|0;k=a+b|0;if(i>>>0<=b>>>0){h=0;return h|0}f[c>>2]=d&1|b|2;f[k+4>>2]=j|1;f[202181]=k;f[202178]=j;h=a;return h|0}if((f[202180]|0)==(g|0)){j=(f[202177]|0)+e|0;if(j>>>0>>0){h=0;return h|0}k=j-b|0;if(k>>>0>15){i=a+b|0;l=a+j|0;f[c>>2]=d&1|b|2;f[i+4>>2]=k|1;f[l>>2]=k;m=l+4|0;f[m>>2]=f[m>>2]&-2;n=i;o=k}else{f[c>>2]=d&1|j|2;k=a+j+4|0;f[k>>2]=f[k>>2]|1;n=0;o=0}f[202177]=o;f[202180]=n;h=a;return h|0}n=f[g+4>>2]|0;if(n&2|0){h=0;return h|0}o=(n&-8)+e|0;if(o>>>0>>0){h=0;return h|0}e=o-b|0;k=n>>>3;do if(n>>>0<256){j=f[g+8>>2]|0;i=f[g+12>>2]|0;if((i|0)==(j|0)){f[202175]=f[202175]&~(1<>2]=i;f[i+8>>2]=j;break}}else{j=f[g+24>>2]|0;i=f[g+12>>2]|0;do if((i|0)==(g|0)){m=g+16|0;l=m+4|0;p=f[l>>2]|0;if(!p){q=f[m>>2]|0;if(!q){r=0;break}else{s=q;t=m}}else{s=p;t=l}while(1){l=s+20|0;p=f[l>>2]|0;if(p|0){s=p;t=l;continue}l=s+16|0;p=f[l>>2]|0;if(!p)break;else{s=p;t=l}}f[t>>2]=0;r=s}else{l=f[g+8>>2]|0;f[l+12>>2]=i;f[i+8>>2]=l;r=i}while(0);if(j|0){i=f[g+28>>2]|0;l=809004+(i<<2)|0;if((f[l>>2]|0)==(g|0)){f[l>>2]=r;if(!r){f[202176]=f[202176]&~(1<>2]|0)!=(g|0)&1)<<2)>>2]=r;if(!r)break}f[r+24>>2]=j;i=g+16|0;l=f[i>>2]|0;if(l|0){f[r+16>>2]=l;f[l+24>>2]=r}l=f[i+4>>2]|0;if(l|0){f[r+20>>2]=l;f[l+24>>2]=r}}}while(0);if(e>>>0<16){f[c>>2]=o|d&1|2;r=a+o+4|0;f[r>>2]=f[r>>2]|1;h=a;return h|0}else{r=a+b|0;f[c>>2]=d&1|b|2;f[r+4>>2]=e|3;b=a+o+4|0;f[b>>2]=f[b>>2]|1;bCa(r,e);h=a;return h|0}return 0}function bCa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;c=a+b|0;d=f[a+4>>2]|0;do if(!(d&1)){e=f[a>>2]|0;if(!(d&3))return;g=a+(0-e)|0;h=e+b|0;if((f[202180]|0)==(g|0)){i=c+4|0;j=f[i>>2]|0;if((j&3|0)!=3){k=g;l=h;break}f[202177]=h;f[i>>2]=j&-2;f[g+4>>2]=h|1;f[c>>2]=h;return}j=e>>>3;if(e>>>0<256){e=f[g+8>>2]|0;i=f[g+12>>2]|0;if((i|0)==(e|0)){f[202175]=f[202175]&~(1<>2]=i;f[i+8>>2]=e;k=g;l=h;break}}e=f[g+24>>2]|0;i=f[g+12>>2]|0;do if((i|0)==(g|0)){j=g+16|0;m=j+4|0;n=f[m>>2]|0;if(!n){o=f[j>>2]|0;if(!o){p=0;break}else{q=o;r=j}}else{q=n;r=m}while(1){m=q+20|0;n=f[m>>2]|0;if(n|0){q=n;r=m;continue}m=q+16|0;n=f[m>>2]|0;if(!n)break;else{q=n;r=m}}f[r>>2]=0;p=q}else{m=f[g+8>>2]|0;f[m+12>>2]=i;f[i+8>>2]=m;p=i}while(0);if(e){i=f[g+28>>2]|0;m=809004+(i<<2)|0;if((f[m>>2]|0)==(g|0)){f[m>>2]=p;if(!p){f[202176]=f[202176]&~(1<>2]|0)!=(g|0)&1)<<2)>>2]=p;if(!p){k=g;l=h;break}}f[p+24>>2]=e;i=g+16|0;m=f[i>>2]|0;if(m|0){f[p+16>>2]=m;f[m+24>>2]=p}m=f[i+4>>2]|0;if(m){f[p+20>>2]=m;f[m+24>>2]=p;k=g;l=h}else{k=g;l=h}}else{k=g;l=h}}else{k=a;l=b}while(0);b=c+4|0;a=f[b>>2]|0;if(!(a&2)){if((f[202181]|0)==(c|0)){p=(f[202178]|0)+l|0;f[202178]=p;f[202181]=k;f[k+4>>2]=p|1;if((k|0)!=(f[202180]|0))return;f[202180]=0;f[202177]=0;return}if((f[202180]|0)==(c|0)){p=(f[202177]|0)+l|0;f[202177]=p;f[202180]=k;f[k+4>>2]=p|1;f[k+p>>2]=p;return}p=(a&-8)+l|0;q=a>>>3;do if(a>>>0<256){r=f[c+8>>2]|0;d=f[c+12>>2]|0;if((d|0)==(r|0)){f[202175]=f[202175]&~(1<>2]=d;f[d+8>>2]=r;break}}else{r=f[c+24>>2]|0;d=f[c+12>>2]|0;do if((d|0)==(c|0)){m=c+16|0;i=m+4|0;n=f[i>>2]|0;if(!n){j=f[m>>2]|0;if(!j){s=0;break}else{t=j;u=m}}else{t=n;u=i}while(1){i=t+20|0;n=f[i>>2]|0;if(n|0){t=n;u=i;continue}i=t+16|0;n=f[i>>2]|0;if(!n)break;else{t=n;u=i}}f[u>>2]=0;s=t}else{i=f[c+8>>2]|0;f[i+12>>2]=d;f[d+8>>2]=i;s=d}while(0);if(r|0){d=f[c+28>>2]|0;h=809004+(d<<2)|0;if((f[h>>2]|0)==(c|0)){f[h>>2]=s;if(!s){f[202176]=f[202176]&~(1<>2]|0)!=(c|0)&1)<<2)>>2]=s;if(!s)break}f[s+24>>2]=r;d=c+16|0;h=f[d>>2]|0;if(h|0){f[s+16>>2]=h;f[h+24>>2]=s}h=f[d+4>>2]|0;if(h|0){f[s+20>>2]=h;f[h+24>>2]=s}}}while(0);f[k+4>>2]=p|1;f[k+p>>2]=p;if((k|0)==(f[202180]|0)){f[202177]=p;return}else v=p}else{f[b>>2]=a&-2;f[k+4>>2]=l|1;f[k+l>>2]=l;v=l}l=v>>>3;if(v>>>0<256){a=808740+(l<<1<<2)|0;b=f[202175]|0;p=1<>2]|0;x=p}f[x>>2]=k;f[w+12>>2]=k;f[k+8>>2]=w;f[k+12>>2]=a;return}a=v>>>8;if(a)if(v>>>0>16777215)y=31;else{w=(a+1048320|0)>>>16&8;x=a<>>16&4;p=x<>>16&2;b=14-(a|w|x)+(p<>>15)|0;y=v>>>(b+7|0)&1|b<<1}else y=0;b=809004+(y<<2)|0;f[k+28>>2]=y;f[k+20>>2]=0;f[k+16>>2]=0;x=f[202176]|0;p=1<>2]=k;f[k+24>>2]=b;f[k+12>>2]=k;f[k+8>>2]=k;return}p=v<<((y|0)==31?0:25-(y>>>1)|0);y=f[b>>2]|0;while(1){if((f[y+4>>2]&-8|0)==(v|0)){z=69;break}A=y+16+(p>>>31<<2)|0;b=f[A>>2]|0;if(!b){z=68;break}else{p=p<<1;y=b}}if((z|0)==68){f[A>>2]=k;f[k+24>>2]=y;f[k+12>>2]=k;f[k+8>>2]=k;return}else if((z|0)==69){z=y+8|0;A=f[z>>2]|0;f[A+12>>2]=k;f[z>>2]=k;f[k+8>>2]=A;f[k+12>>2]=y;f[k+24>>2]=0;return}}function cCa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a>>>0>16?a:16;if(!(c+-1&c))d=c;else{a=16;while(1)if(a>>>0>>0)a=a<<1;else{d=a;break}}if((-64-d|0)>>>0<=b>>>0){a=iCa()|0;f[a>>2]=12;e=0;return e|0}a=b>>>0<11?16:b+11&-8;b=YBa(a+12+d|0)|0;if(!b){e=0;return e|0}c=b+-8|0;do if(d+-1&b){g=(b+d+-1&0-d)+-8|0;h=c;i=(g-h|0)>>>0>15?g:g+d|0;g=i-h|0;h=b+-4|0;j=f[h>>2]|0;k=(j&-8)-g|0;if(!(j&3)){f[i>>2]=(f[c>>2]|0)+g;f[i+4>>2]=k;l=i;m=i;break}else{j=i+4|0;f[j>>2]=k|f[j>>2]&1|2;n=i+k+4|0;f[n>>2]=f[n>>2]|1;f[h>>2]=g|f[h>>2]&1|2;f[j>>2]=f[j>>2]|1;bCa(c,g);l=i;m=i;break}}else{l=c;m=c}while(0);c=l+4|0;l=f[c>>2]|0;if(l&3|0?(b=l&-8,b>>>0>(a+16|0)>>>0):0){d=b-a|0;i=m+a|0;f[c>>2]=a|l&1|2;f[i+4>>2]=d|3;l=m+b+4|0;f[l>>2]=f[l>>2]|1;bCa(i,d)}e=m+8|0;return e|0}function dCa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;do if((b|0)!=8){d=b>>>2;if((b&3|0)!=0|(d|0)==0){e=22;return e|0}if(d+1073741823&d|0){e=22;return e|0}if((-64-b|0)>>>0>>0){e=12;return e|0}else{g=cCa(b>>>0>16?b:16,c)|0;break}}else g=YBa(c)|0;while(0);if(!g){e=12;return e|0}f[a>>2]=g;e=0;return e|0}function eCa(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;d=kCa(f[a+60>>2]|0)|0;f[c>>2]=d;d=hCa(zd(6,c|0)|0)|0;u=b;return d|0}function fCa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+32|0;g=e;f[a+36>>2]=15;if((f[a>>2]&64|0)==0?(f[g>>2]=f[a+60>>2],f[g+4>>2]=21523,f[g+8>>2]=e+16,yd(54,g|0)|0):0)b[a+75>>0]=-1;g=jCa(a,c,d)|0;u=e;return g|0}function gCa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+32|0;e=d;g=d+20|0;f[e>>2]=f[a+60>>2];f[e+4>>2]=0;f[e+8>>2]=b;f[e+12>>2]=g;f[e+16>>2]=c;if((hCa(rd(140,e|0)|0)|0)<0){f[g>>2]=-1;h=-1}else h=f[g>>2]|0;u=d;return h|0}function hCa(a){a=a|0;var b=0,c=0;if(a>>>0>4294963200){b=iCa()|0;f[b>>2]=0-a;c=-1}else c=a;return c|0}function iCa(){return 809284}function jCa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;d=u;u=u+48|0;e=d+16|0;g=d;h=d+32|0;i=a+28|0;j=f[i>>2]|0;f[h>>2]=j;k=a+20|0;l=(f[k>>2]|0)-j|0;f[h+4>>2]=l;f[h+8>>2]=b;f[h+12>>2]=c;b=l+c|0;l=a+60|0;f[g>>2]=f[l>>2];f[g+4>>2]=h;f[g+8>>2]=2;j=hCa(td(146,g|0)|0)|0;a:do if((b|0)!=(j|0)){g=2;m=b;n=h;o=j;while(1){if((o|0)<0)break;m=m-o|0;p=f[n+4>>2]|0;q=o>>>0>p>>>0;r=q?n+8|0:n;s=g+(q<<31>>31)|0;t=o-(q?p:0)|0;f[r>>2]=(f[r>>2]|0)+t;p=r+4|0;f[p>>2]=(f[p>>2]|0)-t;f[e>>2]=f[l>>2];f[e+4>>2]=r;f[e+8>>2]=s;o=hCa(td(146,e|0)|0)|0;if((m|0)==(o|0)){v=3;break a}else{g=s;n=r}}f[a+16>>2]=0;f[i>>2]=0;f[k>>2]=0;f[a>>2]=f[a>>2]|32;if((g|0)==2)w=0;else w=c-(f[n+4>>2]|0)|0}else v=3;while(0);if((v|0)==3){v=f[a+44>>2]|0;f[a+16>>2]=v+(f[a+48>>2]|0);a=v;f[i>>2]=a;f[k>>2]=a;w=c}u=d;return w|0}function kCa(a){a=a|0;return a|0}function lCa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+32|0;g=e;h=e+16|0;f[h>>2]=c;i=h+4|0;j=a+48|0;k=f[j>>2]|0;f[i>>2]=d-((k|0)!=0&1);l=a+44|0;f[h+8>>2]=f[l>>2];f[h+12>>2]=k;f[g>>2]=f[a+60>>2];f[g+4>>2]=h;f[g+8>>2]=2;h=hCa(sd(145,g|0)|0)|0;if((h|0)>=1){g=f[i>>2]|0;if(h>>>0>g>>>0){i=f[l>>2]|0;l=a+4|0;f[l>>2]=i;k=i;f[a+8>>2]=k+(h-g);if(!(f[j>>2]|0))m=d;else{f[l>>2]=k+1;b[c+(d+-1)>>0]=b[k>>0]|0;m=d}}else m=h}else{f[a>>2]=f[a>>2]|h&48^16;m=h}u=e;return m|0}function mCa(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0;d=b[a>>0]|0;e=b[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24){f=e;g=d}else{d=c;c=a;do{c=c+1|0;d=d+1|0;a=b[c>>0]|0;e=b[d>>0]|0}while(!(a<<24>>24==0?1:a<<24>>24!=e<<24>>24));f=e;g=a}return (g&255)-(f&255)|0}function nCa(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a;a:do if(!(c&3)){d=a;e=4}else{g=a;h=c;while(1){if(!(b[g>>0]|0)){i=h;break a}j=g+1|0;h=j;if(!(h&3)){d=j;e=4;break}else g=j}}while(0);if((e|0)==4){e=d;while(1){k=f[e>>2]|0;if(!((k&-2139062144^-2139062144)&k+-16843009))e=e+4|0;else break}if(!((k&255)<<24>>24))l=e;else{k=e;while(1){e=k+1|0;if(!(b[e>>0]|0)){l=e;break}else k=e}}i=l}return i-c|0}function oCa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;if((f[d+76>>2]|0)>-1)e=ACa(d)|0;else e=0;g=c+-1|0;if((c|0)<2){c=d+74|0;i=b[c>>0]|0;b[c>>0]=i+255|i;if(e|0)BCa(d);if(!g){b[a>>0]=0;j=a}else j=0}else{a:do if(g){i=d+4|0;c=d+8|0;k=g;l=a;while(1){m=f[i>>2]|0;n=m;o=(f[c>>2]|0)-n|0;p=yCa(m,10,o)|0;q=(p|0)==0;r=q?o:1-n+p|0;p=r>>>0>>0?r:k;DVa(l|0,m|0,p|0)|0;m=(f[i>>2]|0)+p|0;f[i>>2]=m;s=l+p|0;r=k-p|0;if(!(q&(r|0)!=0)){t=s;u=17;break a}if(m>>>0>=(f[c>>2]|0)>>>0){q=CCa(d)|0;if((q|0)<0)break;else v=q}else{f[i>>2]=m+1;v=h[m>>0]|0}k=r+-1|0;r=s+1|0;b[s>>0]=v;if(!((k|0)!=0&(v&255|0)!=10)){t=r;u=17;break a}else l=r}if((s|0)!=(a|0)?(f[d>>2]&16|0)!=0:0){t=s;u=17}else w=0}else{t=a;u=17}while(0);if((u|0)==17)if(!a)w=0;else{b[t>>0]=0;w=a}if(!e)j=w;else{BCa(d);j=w}}return j|0}function pCa(a,c){a=a|0;c=c|0;var d=0;d=zCa(a,c)|0;return ((b[d>>0]|0)==(c&255)<<24>>24?d:0)|0}function qCa(a,c){a=a|0;c=c|0;var d=0,e=0,f=0;d=b[c>>0]|0;do if(d<<24>>24){e=pCa(a,d<<24>>24)|0;if(e)if(b[c+1>>0]|0)if(b[e+1>>0]|0){if(!(b[c+2>>0]|0)){f=tCa(e,c)|0;break}if(b[e+2>>0]|0){if(!(b[c+3>>0]|0)){f=uCa(e,c)|0;break}if(b[e+3>>0]|0)if(!(b[c+4>>0]|0)){f=vCa(e,c)|0;break}else{f=wCa(e,c)|0;break}else f=0}else f=0}else f=0;else f=e;else f=0}else f=a;while(0);return f|0}function rCa(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function sCa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!d)e=0;else{f=b[a>>0]|0;a:do if(!(f<<24>>24)){g=c;i=0}else{j=a;k=d;l=c;m=f;while(1){k=k+-1|0;n=b[l>>0]|0;if(!(m<<24>>24==n<<24>>24&((k|0)!=0&n<<24>>24!=0))){g=l;i=m;break a}j=j+1|0;n=l+1|0;m=b[j>>0]|0;if(!(m<<24>>24)){g=n;i=0;break}else l=n}}while(0);e=(i&255)-(h[g>>0]|0)|0}return e|0}function tCa(a,c){a=a|0;c=c|0;var d=0,e=0,f=0;d=(h[c>>0]|0)<<8|(h[c+1>>0]|0);c=h[a>>0]|0;e=a;while(1){a=e+1|0;f=b[a>>0]|0;if(!(f<<24>>24))break;c=c<<8&65280|f&255;if((c|0)==(d|0))break;else e=a}return (f<<24>>24?e:0)|0}function uCa(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,i=0;d=(h[c+1>>0]|0)<<16|(h[c>>0]|0)<<24|(h[c+2>>0]|0)<<8;c=a+2|0;e=b[c>>0]|0;f=(h[a+1>>0]|0)<<16|(h[a>>0]|0)<<24|(e&255)<<8;if((f|0)==(d|0)|e<<24>>24==0){g=c;i=e}else{e=c;c=f;while(1){f=e+1|0;a=b[f>>0]|0;c=(c|a&255)<<8;if((c|0)==(d|0)|a<<24>>24==0){g=f;i=a;break}else e=f}}return (i<<24>>24?g+-2|0:0)|0}function vCa(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,i=0;d=(h[c+1>>0]|0)<<16|(h[c>>0]|0)<<24|(h[c+2>>0]|0)<<8|(h[c+3>>0]|0);c=a+3|0;e=b[c>>0]|0;f=(h[a+1>>0]|0)<<16|(h[a>>0]|0)<<24|(h[a+2>>0]|0)<<8|e&255;if(e<<24>>24==0|(f|0)==(d|0)){g=e;i=c}else{e=c;c=f;while(1){f=e+1|0;a=b[f>>0]|0;c=c<<8|a&255;if(a<<24>>24==0|(c|0)==(d|0)){g=a;i=f;break}else e=f}}return (g<<24>>24?i+-3|0:0)|0}function wCa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;d=u;u=u+1056|0;e=d+1024|0;g=d;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;f[e+28>>2]=0;h=b[c>>0]|0;a:do if(h<<24>>24){i=0;j=h;do{if(!(b[a+i>>0]|0)){k=0;break a}l=e+(((j&255)>>>5&255)<<2)|0;f[l>>2]=f[l>>2]|1<<(j&31);i=i+1|0;f[g+((j&255)<<2)>>2]=i;j=b[c+i>>0]|0}while(j<<24>>24!=0);j=i>>>0>1;if(j){l=0;m=-1;n=1;b:while(1){o=1;p=l;q=n;while(1){r=p;s=q;c:while(1){t=1;v=s;while(1){w=b[c+(t+m)>>0]|0;x=b[c+v>>0]|0;if(w<<24>>24!=x<<24>>24)break c;if((t|0)==(o|0))break;t=t+1|0;y=t+r|0;if(y>>>0>=i>>>0){z=o;A=m;break b}else v=y}t=o+r|0;s=t+1|0;if(s>>>0>=i>>>0){z=o;A=m;break b}else r=t}s=v-m|0;if((w&255)<=(x&255))break;q=v+1|0;if(q>>>0>=i>>>0){z=s;A=m;break b}else{o=s;p=v}}n=r+2|0;if(n>>>0>=i>>>0){z=1;A=r;break}else{l=r+1|0;m=r}}if(j){m=0;l=-1;n=1;while(1){p=1;o=m;q=n;while(1){B=o;s=q;d:while(1){t=1;C=s;while(1){D=b[c+(t+l)>>0]|0;E=b[c+C>>0]|0;if(D<<24>>24!=E<<24>>24)break d;if((t|0)==(p|0))break;t=t+1|0;y=t+B|0;if(y>>>0>=i>>>0){F=z;G=A;H=i;I=p;J=l;K=26;break a}else C=y}t=p+B|0;s=t+1|0;if(s>>>0>=i>>>0){F=z;G=A;H=i;I=p;J=l;K=26;break a}else B=t}s=C-l|0;if((D&255)>=(E&255))break;q=C+1|0;if(q>>>0>=i>>>0){F=z;G=A;H=i;I=s;J=l;K=26;break a}else{p=s;o=C}}n=B+2|0;if(n>>>0>=i>>>0){F=z;G=A;H=i;I=1;J=B;K=26;break}else{m=B+1|0;l=B}}}else{F=z;G=A;H=i;I=1;J=-1;K=26}}else{F=1;G=-1;H=i;I=1;J=-1;K=26}}else{F=1;G=-1;H=0;I=1;J=-1;K=26}while(0);e:do if((K|0)==26){A=(J+1|0)>>>0>(G+1|0)>>>0;z=A?I:F;B=A?J:G;A=B+1|0;if(!(xCa(c,c+z|0,A)|0)){L=H-z|0;M=z}else{z=H-B+-1|0;L=0;M=(B>>>0>z>>>0?B:z)+1|0}z=H|63;C=H+-1|0;E=(L|0)!=0;D=H-M|0;r=a;v=0;x=a;while(1){w=r;do if((x-w|0)>>>0>>0){h=yCa(x,0,z)|0;if(h)if((h-w|0)>>>0>>0){k=0;break e}else{N=h;break}else{N=x+z|0;break}}else N=x;while(0);w=b[r+C>>0]|0;f:do if(!(1<<(w&31)&f[e+(((w&255)>>>5&255)<<2)>>2])){O=0;P=H}else{h=H-(f[g+((w&255)<<2)>>2]|0)|0;if(h|0){O=0;P=E&(v|0)!=0&h>>>0>>0?D:h;break}h=A>>>0>v>>>0?A:v;l=b[c+h>>0]|0;g:do if(!(l<<24>>24))Q=A;else{m=h;n=l;while(1){if(n<<24>>24!=(b[r+m>>0]|0))break;j=m+1|0;n=b[c+j>>0]|0;if(!(n<<24>>24)){Q=A;break g}else m=j}O=0;P=m-B|0;break f}while(0);while(1){if(Q>>>0<=v>>>0){k=r;break e}Q=Q+-1|0;if((b[c+Q>>0]|0)!=(b[r+Q>>0]|0)){O=L;P=M;break}}}while(0);r=r+P|0;v=O;x=N}}while(0);u=d;return k|0}function xCa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;a:do if(!d)e=0;else{f=a;g=d;h=c;while(1){i=b[f>>0]|0;j=b[h>>0]|0;if(i<<24>>24!=j<<24>>24)break;g=g+-1|0;if(!g){e=0;break a}else{f=f+1|0;h=h+1|0}}e=(i&255)-(j&255)|0}while(0);return e|0}function yCa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=c&255;g=(d|0)!=0;a:do if(g&(a&3|0)!=0){h=c&255;i=a;j=d;while(1){if((b[i>>0]|0)==h<<24>>24){k=i;l=j;m=6;break a}n=i+1|0;o=j+-1|0;p=(o|0)!=0;if(p&(n&3|0)!=0){i=n;j=o}else{q=n;r=o;s=p;m=5;break}}}else{q=a;r=d;s=g;m=5}while(0);if((m|0)==5)if(s){k=q;l=r;m=6}else{t=q;u=0}b:do if((m|0)==6){q=c&255;if((b[k>>0]|0)==q<<24>>24){t=k;u=l}else{r=X(e,16843009)|0;c:do if(l>>>0>3){s=k;g=l;while(1){d=f[s>>2]^r;if((d&-2139062144^-2139062144)&d+-16843009|0)break;d=s+4|0;a=g+-4|0;if(a>>>0>3){s=d;g=a}else{v=d;w=a;m=11;break c}}x=s;y=g}else{v=k;w=l;m=11}while(0);if((m|0)==11)if(!w){t=v;u=0;break}else{x=v;y=w}while(1){if((b[x>>0]|0)==q<<24>>24){t=x;u=y;break b}r=x+1|0;y=y+-1|0;if(!y){t=r;u=0;break}else x=r}}}while(0);return (u|0?t:0)|0}function zCa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=c&255;a:do if(!d)e=a+(nCa(a)|0)|0;else{if(!(a&3))g=a;else{h=c&255;i=a;while(1){j=b[i>>0]|0;if(j<<24>>24==0?1:j<<24>>24==h<<24>>24){e=i;break a}j=i+1|0;if(!(j&3)){g=j;break}else i=j}}i=X(d,16843009)|0;h=f[g>>2]|0;b:do if(!((h&-2139062144^-2139062144)&h+-16843009)){j=g;k=h;while(1){l=k^i;if((l&-2139062144^-2139062144)&l+-16843009|0){m=j;break b}l=j+4|0;k=f[l>>2]|0;if((k&-2139062144^-2139062144)&k+-16843009|0){m=l;break}else j=l}}else m=g;while(0);i=c&255;h=m;while(1){j=b[h>>0]|0;if(j<<24>>24==0?1:j<<24>>24==i<<24>>24){e=h;break}else h=h+1|0}}while(0);return e|0}function ACa(a){a=a|0;return 0}function BCa(a){a=a|0;return}function CCa(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;if((DCa(a)|0)==0?(bg[f[a+32>>2]&127](a,c,1)|0)==1:0)d=h[c>>0]|0;else d=-1;u=b;return d|0}function DCa(a){a=a|0;var c=0,d=0,e=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;d=a+20|0;c=a+28|0;if((f[d>>2]|0)>>>0>(f[c>>2]|0)>>>0)bg[f[a+36>>2]&127](a,0,0)|0;f[a+16>>2]=0;f[c>>2]=0;f[d>>2]=0;d=f[a>>2]|0;if(!(d&4)){c=(f[a+44>>2]|0)+(f[a+48>>2]|0)|0;f[a+8>>2]=c;f[a+4>>2]=c;e=d<<27>>31}else{f[a>>2]=d|32;e=-1}return e|0}function ECa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=u;u=u+128|0;h=g;f[h>>2]=0;i=h+4|0;f[i>>2]=a;f[h+44>>2]=a;j=h+8|0;f[j>>2]=(a|0)<0?-1:a+2147483647|0;f[h+76>>2]=-1;FCa(h,0);k=GCa(h,c,1,d,e)|0;if(b|0)f[b>>2]=a+((f[i>>2]|0)+(f[h+108>>2]|0)-(f[j>>2]|0));u=g;return k|0}function FCa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;f[a+104>>2]=b;c=f[a+8>>2]|0;d=f[a+4>>2]|0;e=c-d|0;f[a+108>>2]=e;f[a+100>>2]=(b|0)!=0&(e|0)>(b|0)?d+b|0:c;return}function GCa(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;a:do if(c>>>0>36){i=iCa()|0;f[i>>2]=22;j=0;k=0}else{i=a+4|0;l=a+100|0;do{m=f[i>>2]|0;if(m>>>0<(f[l>>2]|0)>>>0){f[i>>2]=m+1;n=h[m>>0]|0}else n=HCa(a)|0}while((rCa(n)|0)!=0);b:do switch(n|0){case 43:case 45:{m=((n|0)==45)<<31>>31;o=f[i>>2]|0;if(o>>>0<(f[l>>2]|0)>>>0){f[i>>2]=o+1;p=m;q=h[o>>0]|0;break b}else{p=m;q=HCa(a)|0;break b}break}default:{p=0;q=n}}while(0);m=(c|0)==0;do if((c|16|0)==16&(q|0)==48){o=f[i>>2]|0;if(o>>>0<(f[l>>2]|0)>>>0){f[i>>2]=o+1;r=h[o>>0]|0}else r=HCa(a)|0;if((r|32|0)!=120)if(m){s=r;t=8;u=46;break}else{v=r;w=c;u=32;break}o=f[i>>2]|0;if(o>>>0<(f[l>>2]|0)>>>0){f[i>>2]=o+1;x=h[o>>0]|0}else x=HCa(a)|0;if((h[444996+x>>0]|0)>15){o=(f[l>>2]|0)==0;if(!o)f[i>>2]=(f[i>>2]|0)+-1;if(!d){FCa(a,0);j=0;k=0;break a}if(o){j=0;k=0;break a}f[i>>2]=(f[i>>2]|0)+-1;j=0;k=0;break a}else{s=x;t=16;u=46}}else{o=m?10:c;if(o>>>0>(h[444996+q>>0]|0)>>>0){v=q;w=o;u=32}else{if(f[l>>2]|0)f[i>>2]=(f[i>>2]|0)+-1;FCa(a,0);o=iCa()|0;f[o>>2]=22;j=0;k=0;break a}}while(0);c:do if((u|0)==32)if((w|0)==10){m=v+-48|0;if(m>>>0<10){o=0;y=m;do{o=(o*10|0)+y|0;m=f[i>>2]|0;if(m>>>0<(f[l>>2]|0)>>>0){f[i>>2]=m+1;z=h[m>>0]|0}else z=HCa(a)|0;y=z+-48|0}while(y>>>0<10&o>>>0<429496729);A=z;B=o;C=0}else{A=v;B=0;C=0}y=A+-48|0;if(y>>>0<10){m=A;D=B;E=C;F=y;while(1){y=wVa(D|0,E|0,10,0)|0;G=I;H=((F|0)<0)<<31>>31;J=~H;if(G>>>0>J>>>0|(G|0)==(J|0)&y>>>0>~F>>>0){K=10;L=m;M=D;N=E;u=72;break c}D=qVa(y|0,G|0,F|0,H|0)|0;E=I;H=f[i>>2]|0;if(H>>>0<(f[l>>2]|0)>>>0){f[i>>2]=H+1;O=h[H>>0]|0}else O=HCa(a)|0;F=O+-48|0;if(!(F>>>0<10&(E>>>0<429496729|(E|0)==429496729&D>>>0<2576980378)))break;else m=O}if(F>>>0>9){P=p;Q=E;R=D}else{K=10;L=O;M=D;N=E;u=72}}else{P=p;Q=C;R=B}}else{s=v;t=w;u=46}while(0);d:do if((u|0)==46){if(!(t+-1&t)){m=b[445252+((t*23|0)>>>5&7)>>0]|0;o=b[444996+s>>0]|0;H=o&255;if(t>>>0>H>>>0){G=0;y=H;do{G=y|G<>2]|0;if(H>>>0<(f[l>>2]|0)>>>0){f[i>>2]=H+1;S=h[H>>0]|0}else S=HCa(a)|0;T=b[444996+S>>0]|0;y=T&255}while(G>>>0<134217728&t>>>0>y>>>0);U=S;V=T;W=0;Y=G}else{U=s;V=o;W=0;Y=0}y=AVa(-1,-1,m|0)|0;E=I;if(t>>>0<=(V&255)>>>0|(E>>>0>>0|(E|0)==(W|0)&y>>>0>>0)){K=t;L=U;M=Y;N=W;u=72;break}else{Z=Y;_=W;$=V}while(1){D=BVa(Z|0,_|0,m|0)|0;F=I;H=D|$&255;D=f[i>>2]|0;if(D>>>0<(f[l>>2]|0)>>>0){f[i>>2]=D+1;aa=h[D>>0]|0}else aa=HCa(a)|0;$=b[444996+aa>>0]|0;if(t>>>0<=($&255)>>>0|(F>>>0>E>>>0|(F|0)==(E|0)&H>>>0>y>>>0)){K=t;L=aa;M=H;N=F;u=72;break d}else{Z=H;_=F}}}y=b[444996+s>>0]|0;E=y&255;if(t>>>0>E>>>0){m=0;o=E;do{m=o+(X(m,t)|0)|0;E=f[i>>2]|0;if(E>>>0<(f[l>>2]|0)>>>0){f[i>>2]=E+1;ba=h[E>>0]|0}else ba=HCa(a)|0;ca=b[444996+ba>>0]|0;o=ca&255}while(m>>>0<119304647&t>>>0>o>>>0);da=ba;ea=ca;fa=m;ga=0}else{da=s;ea=y;fa=0;ga=0}if(t>>>0>(ea&255)>>>0){o=xVa(-1,-1,t|0,0)|0;E=I;G=da;F=ga;H=fa;D=ea;while(1){if(F>>>0>E>>>0|(F|0)==(E|0)&H>>>0>o>>>0){K=t;L=G;M=H;N=F;u=72;break d}J=wVa(H|0,F|0,t|0,0)|0;ha=I;ia=D&255;if(ha>>>0>4294967295|(ha|0)==-1&J>>>0>~ia>>>0){K=t;L=G;M=H;N=F;u=72;break d}ja=qVa(J|0,ha|0,ia|0,0)|0;ia=I;ha=f[i>>2]|0;if(ha>>>0<(f[l>>2]|0)>>>0){f[i>>2]=ha+1;ka=h[ha>>0]|0}else ka=HCa(a)|0;D=b[444996+ka>>0]|0;if(t>>>0<=(D&255)>>>0){K=t;L=ka;M=ja;N=ia;u=72;break}else{G=ka;F=ia;H=ja}}}else{K=t;L=da;M=fa;N=ga;u=72}}while(0);if((u|0)==72)if(K>>>0>(h[444996+L>>0]|0)>>>0){do{H=f[i>>2]|0;if(H>>>0<(f[l>>2]|0)>>>0){f[i>>2]=H+1;la=h[H>>0]|0}else la=HCa(a)|0}while(K>>>0>(h[444996+la>>0]|0)>>>0);H=iCa()|0;f[H>>2]=34;P=(e&1|0)==0&0==0?p:0;Q=g;R=e}else{P=p;Q=N;R=M}if(f[l>>2]|0)f[i>>2]=(f[i>>2]|0)+-1;if(!(Q>>>0>>0|(Q|0)==(g|0)&R>>>0>>0)){if(!((e&1|0)!=0|0!=0|(P|0)!=0)){H=iCa()|0;f[H>>2]=34;H=qVa(e|0,g|0,-1,-1)|0;j=I;k=H;break}if(Q>>>0>g>>>0|(Q|0)==(g|0)&R>>>0>e>>>0){H=iCa()|0;f[H>>2]=34;j=g;k=e;break}}H=((P|0)<0)<<31>>31;F=rVa(R^P|0,Q^H|0,P|0,H|0)|0;j=I;k=F}while(0);I=j;return k|0}function HCa(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=a+104|0;d=f[c>>2]|0;if((d|0)!=0?(f[a+108>>2]|0)>=(d|0):0)e=4;else{d=CCa(a)|0;if((d|0)>=0){g=f[c>>2]|0;c=a+8|0;if(g){i=f[c>>2]|0;j=f[a+4>>2]|0;k=g-(f[a+108>>2]|0)|0;g=i;if((i-j|0)<(k|0)){l=g;m=g}else{l=j+(k+-1)|0;m=g}}else{g=f[c>>2]|0;l=g;m=g}f[a+100>>2]=l;l=a+4|0;if(!m)n=f[l>>2]|0;else{g=f[l>>2]|0;l=a+108|0;f[l>>2]=m+1-g+(f[l>>2]|0);n=g}g=n+-1|0;if((d|0)==(h[g>>0]|0|0))o=d;else{b[g>>0]=d;o=d}}else e=4}if((e|0)==4){f[a+100>>2]=0;o=-1}return o|0}function ICa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[e>>2]=c;c=JCa(a,b,e)|0;u=d;return c|0}function JCa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+224|0;g=e+120|0;h=e+80|0;i=e;j=e+136|0;k=h;l=k+40|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[g>>2]=f[d>>2];if((KCa(0,c,g,i,h)|0)<0)m=-1;else{if((f[a+76>>2]|0)>-1)n=ACa(a)|0;else n=0;d=f[a>>2]|0;k=d&32;if((b[a+74>>0]|0)<1)f[a>>2]=d&-33;d=a+48|0;if(!(f[d>>2]|0)){l=a+44|0;o=f[l>>2]|0;f[l>>2]=j;p=a+28|0;f[p>>2]=j;q=a+20|0;f[q>>2]=j;f[d>>2]=80;r=a+16|0;f[r>>2]=j+80;j=KCa(a,c,g,i,h)|0;if(!o)s=j;else{bg[f[a+36>>2]&127](a,0,0)|0;t=(f[q>>2]|0)==0?-1:j;f[l>>2]=o;f[d>>2]=0;f[r>>2]=0;f[p>>2]=0;f[q>>2]=0;s=t}}else s=KCa(a,c,g,i,h)|0;h=f[a>>2]|0;f[a>>2]=h|k;if(n|0)BCa(a);m=(h&32|0)==0?s:-1}u=e;return m|0}function KCa(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0;i=u;u=u+64|0;j=i+16|0;k=i;l=i+24|0;m=i+8|0;n=i+20|0;f[j>>2]=c;c=(a|0)!=0;o=l+40|0;q=o;r=l+39|0;l=m+4|0;s=0;t=0;v=0;a:while(1){do if((t|0)>-1)if((s|0)>(2147483647-t|0)){w=iCa()|0;f[w>>2]=75;x=-1;break}else{x=s+t|0;break}else x=t;while(0);w=f[j>>2]|0;y=b[w>>0]|0;if(!(y<<24>>24)){z=88;break}else{A=y;B=w}b:while(1){switch(A<<24>>24){case 37:{C=B;D=B;z=9;break b;break}case 0:{E=B;break b;break}default:{}}y=B+1|0;f[j>>2]=y;A=b[y>>0]|0;B=y}c:do if((z|0)==9)while(1){z=0;if((b[D+1>>0]|0)!=37){E=C;break c}y=C+1|0;D=D+2|0;f[j>>2]=D;if((b[D>>0]|0)!=37){E=y;break}else{C=y;z=9}}while(0);y=E-w|0;if(c)LCa(a,w,y);if(y|0){s=y;t=x;continue}y=(MCa(b[(f[j>>2]|0)+1>>0]|0)|0)==0;F=f[j>>2]|0;if(!y?(b[F+2>>0]|0)==36:0){G=(b[F+1>>0]|0)+-48|0;H=1;J=3}else{G=-1;H=v;J=1}y=F+J|0;f[j>>2]=y;F=b[y>>0]|0;K=(F<<24>>24)+-32|0;if(K>>>0>31|(1<>24)+-32|K;P=F+1|0;f[j>>2]=P;Q=b[P>>0]|0;R=(Q<<24>>24)+-32|0;if(R>>>0>31|(1<>24==42){if((MCa(b[N+1>>0]|0)|0)!=0?(F=f[j>>2]|0,(b[F+2>>0]|0)==36):0){O=F+1|0;f[h+((b[O>>0]|0)+-48<<2)>>2]=10;S=f[g+((b[O>>0]|0)+-48<<3)>>2]|0;T=1;U=F+3|0}else{if(H|0){V=-1;break}if(c){F=(f[e>>2]|0)+(4-1)&~(4-1);O=f[F>>2]|0;f[e>>2]=F+4;W=O}else W=0;S=W;T=0;U=(f[j>>2]|0)+1|0}f[j>>2]=U;O=(S|0)<0;X=O?0-S|0:S;Y=O?L|8192:L;Z=T;_=U}else{O=NCa(j)|0;if((O|0)<0){V=-1;break}X=O;Y=L;Z=H;_=f[j>>2]|0}do if((b[_>>0]|0)==46){if((b[_+1>>0]|0)!=42){f[j>>2]=_+1;O=NCa(j)|0;$=O;aa=f[j>>2]|0;break}if(MCa(b[_+2>>0]|0)|0?(O=f[j>>2]|0,(b[O+3>>0]|0)==36):0){F=O+2|0;f[h+((b[F>>0]|0)+-48<<2)>>2]=10;K=f[g+((b[F>>0]|0)+-48<<3)>>2]|0;F=O+4|0;f[j>>2]=F;$=K;aa=F;break}if(Z|0){V=-1;break a}if(c){F=(f[e>>2]|0)+(4-1)&~(4-1);K=f[F>>2]|0;f[e>>2]=F+4;ba=K}else ba=0;K=(f[j>>2]|0)+2|0;f[j>>2]=K;$=ba;aa=K}else{$=-1;aa=_}while(0);K=0;F=aa;while(1){if(((b[F>>0]|0)+-65|0)>>>0>57){V=-1;break a}O=F;F=F+1|0;f[j>>2]=F;ca=b[(b[O>>0]|0)+-65+(445261+(K*58|0))>>0]|0;da=ca&255;if((da+-1|0)>>>0>=8)break;else K=da}if(!(ca<<24>>24)){V=-1;break}O=(G|0)>-1;do if(ca<<24>>24==19)if(O){V=-1;break a}else z=50;else{if(O){f[h+(G<<2)>>2]=da;P=g+(G<<3)|0;Q=f[P+4>>2]|0;y=k;f[y>>2]=f[P>>2];f[y+4>>2]=Q;z=50;break}if(!c){V=0;break a}OCa(k,da,e);ea=f[j>>2]|0}while(0);if((z|0)==50){z=0;if(c)ea=F;else{s=0;t=x;v=Z;continue}}O=b[ea+-1>>0]|0;Q=(K|0)!=0&(O&15|0)==3?O&-33:O;O=Y&-65537;y=(Y&8192|0)==0?Y:O;d:do switch(Q|0){case 110:{switch((K&255)<<24>>24){case 0:{f[f[k>>2]>>2]=x;s=0;t=x;v=Z;continue a;break}case 1:{f[f[k>>2]>>2]=x;s=0;t=x;v=Z;continue a;break}case 2:{P=f[k>>2]|0;f[P>>2]=x;f[P+4>>2]=((x|0)<0)<<31>>31;s=0;t=x;v=Z;continue a;break}case 3:{d[f[k>>2]>>1]=x;s=0;t=x;v=Z;continue a;break}case 4:{b[f[k>>2]>>0]=x;s=0;t=x;v=Z;continue a;break}case 6:{f[f[k>>2]>>2]=x;s=0;t=x;v=Z;continue a;break}case 7:{P=f[k>>2]|0;f[P>>2]=x;f[P+4>>2]=((x|0)<0)<<31>>31;s=0;t=x;v=Z;continue a;break}default:{s=0;t=x;v=Z;continue a}}break}case 112:{fa=120;ga=$>>>0>8?$:8;ha=y|8;z=62;break}case 88:case 120:{fa=Q;ga=$;ha=y;z=62;break}case 111:{P=k;R=f[P>>2]|0;ia=f[P+4>>2]|0;P=QCa(R,ia,o)|0;ja=q-P|0;ka=P;la=0;ma=445725;na=(y&8|0)==0|($|0)>(ja|0)?$:ja+1|0;oa=y;pa=R;qa=ia;z=68;break}case 105:case 100:{ia=k;R=f[ia>>2]|0;ja=f[ia+4>>2]|0;if((ja|0)<0){ia=rVa(0,0,R|0,ja|0)|0;P=I;ra=k;f[ra>>2]=ia;f[ra+4>>2]=P;sa=1;ta=445725;ua=ia;va=P;z=67;break d}else{sa=(y&2049|0)!=0&1;ta=(y&2048|0)==0?((y&1|0)==0?445725:445727):445726;ua=R;va=ja;z=67;break d}break}case 117:{ja=k;sa=0;ta=445725;ua=f[ja>>2]|0;va=f[ja+4>>2]|0;z=67;break}case 99:{b[r>>0]=f[k>>2];wa=r;xa=0;ya=445725;za=o;Aa=1;Ba=O;break}case 109:{ja=iCa()|0;Ca=SCa(f[ja>>2]|0)|0;z=72;break}case 115:{ja=f[k>>2]|0;Ca=ja|0?ja:445735;z=72;break}case 67:{f[m>>2]=f[k>>2];f[l>>2]=0;f[k>>2]=m;Da=-1;Ea=m;z=76;break}case 83:{ja=f[k>>2]|0;if(!$){TCa(a,32,X,0,y);Fa=0;z=85}else{Da=$;Ea=ja;z=76}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{s=VCa(a,+p[k>>3],X,$,y,Q)|0;t=x;v=Z;continue a;break}default:{wa=w;xa=0;ya=445725;za=o;Aa=$;Ba=y}}while(0);e:do if((z|0)==62){z=0;w=k;Q=f[w>>2]|0;K=f[w+4>>2]|0;w=PCa(Q,K,o,fa&32)|0;F=(ha&8|0)==0|(Q|0)==0&(K|0)==0;ka=w;la=F?0:2;ma=F?445725:445725+(fa>>4)|0;na=ga;oa=ha;pa=Q;qa=K;z=68}else if((z|0)==67){z=0;ka=RCa(ua,va,o)|0;la=sa;ma=ta;na=$;oa=y;pa=ua;qa=va;z=68}else if((z|0)==72){z=0;K=yCa(Ca,0,$)|0;Q=(K|0)==0;wa=Ca;xa=0;ya=445725;za=Q?Ca+$|0:K;Aa=Q?$:K-Ca|0;Ba=O}else if((z|0)==76){z=0;K=Ea;Q=0;F=0;while(1){w=f[K>>2]|0;if(!w){Ga=Q;Ha=F;break}ja=UCa(n,w)|0;if((ja|0)<0|ja>>>0>(Da-Q|0)>>>0){Ga=Q;Ha=ja;break}w=ja+Q|0;if(Da>>>0>w>>>0){K=K+4|0;Q=w;F=ja}else{Ga=w;Ha=ja;break}}if((Ha|0)<0){V=-1;break a}TCa(a,32,X,Ga,y);if(!Ga){Fa=0;z=85}else{F=Ea;Q=0;while(1){K=f[F>>2]|0;if(!K){Fa=Ga;z=85;break e}ja=UCa(n,K)|0;Q=ja+Q|0;if((Q|0)>(Ga|0)){Fa=Ga;z=85;break e}LCa(a,n,ja);if(Q>>>0>=Ga>>>0){Fa=Ga;z=85;break}else F=F+4|0}}}while(0);if((z|0)==68){z=0;O=(pa|0)!=0|(qa|0)!=0;F=(na|0)!=0|O;Q=q-ka+((O^1)&1)|0;wa=F?ka:o;xa=la;ya=ma;za=o;Aa=F?((na|0)>(Q|0)?na:Q):na;Ba=(na|0)>-1?oa&-65537:oa}else if((z|0)==85){z=0;TCa(a,32,X,Fa,y^8192);s=(X|0)>(Fa|0)?X:Fa;t=x;v=Z;continue}Q=za-wa|0;F=(Aa|0)<(Q|0)?Q:Aa;O=F+xa|0;ja=(X|0)<(O|0)?O:X;TCa(a,32,ja,O,Ba);LCa(a,ya,xa);TCa(a,48,ja,O,Ba^65536);TCa(a,48,F,Q,0);LCa(a,wa,Q);TCa(a,32,ja,O,Ba^8192);s=ja;t=x;v=Z}f:do if((z|0)==88)if(!a)if(v){Z=1;while(1){t=f[h+(Z<<2)>>2]|0;if(!t){Ia=Z;break}OCa(g+(Z<<3)|0,t,e);t=Z+1|0;if((Z|0)<9)Z=t;else{Ia=t;break}}if((Ia|0)<10){Z=Ia;while(1){if(f[h+(Z<<2)>>2]|0){V=-1;break f}if((Z|0)<9)Z=Z+1|0;else{V=1;break}}}else V=1}else V=0;else V=x;while(0);u=i;return V|0}function LCa(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))gDa(b,c,a)|0;return}function MCa(a){a=a|0;return (a+-48|0)>>>0<10|0}function NCa(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;if(!(MCa(b[f[a>>2]>>0]|0)|0))c=0;else{d=0;while(1){e=f[a>>2]|0;g=(d*10|0)+-48+(b[e>>0]|0)|0;h=e+1|0;f[a>>2]=h;if(!(MCa(b[h>>0]|0)|0)){c=g;break}else d=g}}return c|0}function OCa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;f[a>>2]=e;break a;break}case 10:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a;break}case 11:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=e;f[d+4>>2]=0;break a;break}case 12:{d=(f[c>>2]|0)+(8-1)&~(8-1);e=d;g=f[e>>2]|0;h=f[e+4>>2]|0;f[c>>2]=d+8;d=a;f[d>>2]=g;f[d+4>>2]=h;break a;break}case 13:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&65535)<<16>>16;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 14:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&65535;f[h+4>>2]=0;break a;break}case 15:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&255)<<24>>24;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 16:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&255;f[h+4>>2]=0;break a;break}case 17:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}case 18:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}default:break a}while(0);while(0);return}function PCa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if((a|0)==0&(c|0)==0)f=d;else{g=d;d=c;c=a;while(1){a=g+-1|0;b[a>>0]=h[445773+(c&15)>>0]|0|e;c=AVa(c|0,d|0,4)|0;d=I;if((c|0)==0&(d|0)==0){f=a;break}else g=a}}return f|0}function QCa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;if((a|0)==0&(c|0)==0)e=d;else{f=d;d=c;c=a;while(1){a=f+-1|0;b[a>>0]=c&7|48;c=AVa(c|0,d|0,3)|0;d=I;if((c|0)==0&(d|0)==0){e=a;break}else f=a}}return e|0}function RCa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(c>>>0>0|(c|0)==0&a>>>0>4294967295){e=d;f=a;g=c;while(1){c=yVa(f|0,g|0,10,0)|0;e=e+-1|0;b[e>>0]=c&255|48;c=f;f=xVa(f|0,g|0,10,0)|0;if(!(g>>>0>9|(g|0)==9&c>>>0>4294967295))break;else g=I}h=f;i=e}else{h=a;i=d}if(!h)j=i;else{d=h;h=i;while(1){i=h+-1|0;b[i>>0]=(d>>>0)%10|0|48;if(d>>>0<10){j=i;break}else{d=(d>>>0)/10|0;h=i}}}return j|0}function SCa(a){a=a|0;var b=0;b=(aDa()|0)+188|0;return bDa(a,f[b>>2]|0)|0}function TCa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=u;u=u+256|0;g=f;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;FVa(g|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;d=e;do{LCa(a,g,256);d=d+-256|0}while(d>>>0>255);h=b&255}else h=e;LCa(a,g,h)}u=f;return}function UCa(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=ZCa(a,b,0)|0;return c|0}function VCa(a,c,d,e,g,i){a=a|0;c=+c;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0,D=0.0,E=0,F=0,G=0,H=0.0,J=0,K=0,L=0,M=0,N=0,O=0.0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0.0,ga=0.0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0;j=u;u=u+560|0;k=j+8|0;l=j;m=j+524|0;n=m;o=j+512|0;f[l>>2]=0;p=o+12|0;WCa(c)|0;if((I|0)<0){q=-c;r=1;s=445742}else{q=c;r=(g&2049|0)!=0&1;s=(g&2048|0)==0?((g&1|0)==0?445743:445748):445745}WCa(q)|0;do if(0==0&(I&2146435072|0)==2146435072){t=(i&32|0)!=0;v=r+3|0;TCa(a,32,d,v,g&-65537);LCa(a,s,r);LCa(a,q!=q|0.0!=0.0?(t?447801:445769):t?445761:445765,3);TCa(a,32,d,v,g^8192);w=v}else{c=+XCa(q,l)*2.0;v=c!=0.0;if(v)f[l>>2]=(f[l>>2]|0)+-1;t=i|32;if((t|0)==97){x=i&32;y=(x|0)==0?s:s+9|0;z=r|2;A=12-e|0;do if(!(e>>>0>11|(A|0)==0)){B=8.0;C=A;do{C=C+-1|0;B=B*16.0}while((C|0)!=0);if((b[y>>0]|0)==45){D=-(B+(-c-B));break}else{D=c+B-B;break}}else D=c;while(0);A=f[l>>2]|0;C=(A|0)<0?0-A|0:A;E=RCa(C,((C|0)<0)<<31>>31,p)|0;if((E|0)==(p|0)){C=o+11|0;b[C>>0]=48;F=C}else F=E;b[F+-1>>0]=(A>>31&2)+43;A=F+-2|0;b[A>>0]=i+15;E=(e|0)<1;C=(g&8|0)==0;G=m;H=D;while(1){J=~~H;K=G+1|0;b[G>>0]=x|h[445773+J>>0];H=(H-+(J|0))*16.0;if((K-n|0)==1?!(C&(E&H==0.0)):0){b[K>>0]=46;L=G+2|0}else L=K;if(!(H!=0.0))break;else G=L}G=L;if((e|0)!=0?(-2-n+G|0)<(e|0):0){M=G-n|0;N=e+2|0}else{E=G-n|0;M=E;N=E}E=p-A|0;G=E+z+N|0;TCa(a,32,d,G,g);LCa(a,y,z);TCa(a,48,d,G,g^65536);LCa(a,m,M);TCa(a,48,N-M|0,0,0);LCa(a,A,E);TCa(a,32,d,G,g^8192);w=G;break}G=(e|0)<0?6:e;if(v){E=(f[l>>2]|0)+-28|0;f[l>>2]=E;O=c*268435456.0;P=E}else{O=c;P=f[l>>2]|0}E=(P|0)<0?k:k+288|0;C=E;H=O;do{x=~~H>>>0;f[C>>2]=x;C=C+4|0;H=(H-+(x>>>0))*1.0e9}while(H!=0.0);if((P|0)>0){v=E;A=C;z=P;while(1){y=(z|0)<29?z:29;x=A+-4|0;if(x>>>0>=v>>>0){K=x;x=0;do{J=BVa(f[K>>2]|0,0,y|0)|0;Q=qVa(J|0,I|0,x|0,0)|0;J=I;R=yVa(Q|0,J|0,1e9,0)|0;f[K>>2]=R;x=xVa(Q|0,J|0,1e9,0)|0;K=K+-4|0}while(K>>>0>=v>>>0);if(x){K=v+-4|0;f[K>>2]=x;S=K}else S=v}else S=v;K=A;while(1){if(K>>>0<=S>>>0)break;J=K+-4|0;if(!(f[J>>2]|0))K=J;else break}x=(f[l>>2]|0)-y|0;f[l>>2]=x;if((x|0)>0){v=S;A=K;z=x}else{T=S;U=K;V=x;break}}}else{T=E;U=C;V=P}if((V|0)<0){z=((G+25|0)/9|0)+1|0;A=(t|0)==102;v=T;x=U;J=V;while(1){Q=0-J|0;R=(Q|0)<9?Q:9;if(v>>>0>>0){Q=(1<>>R;Y=0;Z=v;do{_=f[Z>>2]|0;f[Z>>2]=(_>>>R)+Y;Y=X(_&Q,W)|0;Z=Z+4|0}while(Z>>>0>>0);Z=(f[v>>2]|0)==0?v+4|0:v;if(!Y){$=Z;aa=x}else{f[x>>2]=Y;$=Z;aa=x+4|0}}else{$=(f[v>>2]|0)==0?v+4|0:v;aa=x}Z=A?E:$;W=(aa-Z>>2|0)>(z|0)?Z+(z<<2)|0:aa;J=(f[l>>2]|0)+R|0;f[l>>2]=J;if((J|0)>=0){ba=$;ca=W;break}else{v=$;x=W}}}else{ba=T;ca=U}x=E;if(ba>>>0>>0){v=(x-ba>>2)*9|0;J=f[ba>>2]|0;if(J>>>0<10)da=v;else{z=v;v=10;while(1){v=v*10|0;A=z+1|0;if(J>>>0>>0){da=A;break}else z=A}}}else da=0;z=(t|0)==103;v=(G|0)!=0;J=G-((t|0)!=102?da:0)+((v&z)<<31>>31)|0;if((J|0)<(((ca-x>>2)*9|0)+-9|0)){A=J+9216|0;J=E+4+(((A|0)/9|0)+-1024<<2)|0;C=(A|0)%9|0;if((C|0)<8){A=C;C=10;while(1){W=C*10|0;if((A|0)<7){A=A+1|0;C=W}else{ea=W;break}}}else ea=10;C=f[J>>2]|0;A=(C>>>0)%(ea>>>0)|0;t=(J+4|0)==(ca|0);if(!(t&(A|0)==0)){B=(((C>>>0)/(ea>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;W=(ea|0)/2|0;H=A>>>0>>0?.5:t&(A|0)==(W|0)?1.0:1.5;if(!r){fa=H;ga=B}else{W=(b[s>>0]|0)==45;fa=W?-H:H;ga=W?-B:B}W=C-A|0;f[J>>2]=W;if(ga+fa!=ga){A=W+ea|0;f[J>>2]=A;if(A>>>0>999999999){A=ba;W=J;while(1){C=W+-4|0;f[W>>2]=0;if(C>>>0>>0){t=A+-4|0;f[t>>2]=0;ha=t}else ha=A;t=(f[C>>2]|0)+1|0;f[C>>2]=t;if(t>>>0>999999999){A=ha;W=C}else{ia=ha;ja=C;break}}}else{ia=ba;ja=J}W=(x-ia>>2)*9|0;A=f[ia>>2]|0;if(A>>>0<10){ka=ja;la=W;ma=ia}else{C=W;W=10;while(1){W=W*10|0;t=C+1|0;if(A>>>0>>0){ka=ja;la=t;ma=ia;break}else C=t}}}else{ka=J;la=da;ma=ba}}else{ka=J;la=da;ma=ba}C=ka+4|0;na=la;oa=ca>>>0>C>>>0?C:ca;pa=ma}else{na=da;oa=ca;pa=ba}C=oa;while(1){if(C>>>0<=pa>>>0){qa=0;break}W=C+-4|0;if(!(f[W>>2]|0))C=W;else{qa=1;break}}J=0-na|0;do if(z){W=G+((v^1)&1)|0;if((W|0)>(na|0)&(na|0)>-5){ra=i+-1|0;sa=W+-1-na|0}else{ra=i+-2|0;sa=W+-1|0}W=g&8;if(!W){if(qa?(A=f[C+-4>>2]|0,(A|0)!=0):0)if(!((A>>>0)%10|0)){t=0;Z=10;while(1){Z=Z*10|0;Q=t+1|0;if((A>>>0)%(Z>>>0)|0|0){ta=Q;break}else t=Q}}else ta=0;else ta=9;t=((C-x>>2)*9|0)+-9|0;if((ra|32|0)==102){Z=t-ta|0;A=(Z|0)>0?Z:0;ua=ra;va=(sa|0)<(A|0)?sa:A;wa=0;break}else{A=t+na-ta|0;t=(A|0)>0?A:0;ua=ra;va=(sa|0)<(t|0)?sa:t;wa=0;break}}else{ua=ra;va=sa;wa=W}}else{ua=i;va=G;wa=g&8}while(0);G=va|wa;x=(G|0)!=0&1;v=(ua|32|0)==102;if(v){xa=0;ya=(na|0)>0?na:0}else{z=(na|0)<0?J:na;t=RCa(z,((z|0)<0)<<31>>31,p)|0;z=p;if((z-t|0)<2){A=t;while(1){Z=A+-1|0;b[Z>>0]=48;if((z-Z|0)<2)A=Z;else{za=Z;break}}}else za=t;b[za+-1>>0]=(na>>31&2)+43;A=za+-2|0;b[A>>0]=ua;xa=A;ya=z-A|0}A=r+1+va+x+ya|0;TCa(a,32,d,A,g);LCa(a,s,r);TCa(a,48,d,A,g^65536);if(v){J=pa>>>0>E>>>0?E:pa;Z=m+9|0;R=Z;Y=m+8|0;Q=J;do{K=RCa(f[Q>>2]|0,0,Z)|0;if((Q|0)==(J|0))if((K|0)==(Z|0)){b[Y>>0]=48;Aa=Y}else Aa=K;else if(K>>>0>m>>>0){FVa(m|0,48,K-n|0)|0;y=K;while(1){_=y+-1|0;if(_>>>0>m>>>0)y=_;else{Aa=_;break}}}else Aa=K;LCa(a,Aa,R-Aa|0);Q=Q+4|0}while(Q>>>0<=E>>>0);if(G|0)LCa(a,451611,1);if(Q>>>0>>0&(va|0)>0){E=va;R=Q;while(1){Y=RCa(f[R>>2]|0,0,Z)|0;if(Y>>>0>m>>>0){FVa(m|0,48,Y-n|0)|0;J=Y;while(1){v=J+-1|0;if(v>>>0>m>>>0)J=v;else{Ba=v;break}}}else Ba=Y;LCa(a,Ba,(E|0)<9?E:9);R=R+4|0;J=E+-9|0;if(!(R>>>0>>0&(E|0)>9)){Ca=J;break}else E=J}}else Ca=va;TCa(a,48,Ca+9|0,9,0)}else{E=qa?C:pa+4|0;if((va|0)>-1){R=m+9|0;Z=(wa|0)==0;Q=R;G=0-n|0;J=m+8|0;K=va;v=pa;while(1){x=RCa(f[v>>2]|0,0,R)|0;if((x|0)==(R|0)){b[J>>0]=48;Da=J}else Da=x;do if((v|0)==(pa|0)){x=Da+1|0;LCa(a,Da,1);if(Z&(K|0)<1){Ea=x;break}LCa(a,451611,1);Ea=x}else{if(Da>>>0<=m>>>0){Ea=Da;break}FVa(m|0,48,Da+G|0)|0;x=Da;while(1){z=x+-1|0;if(z>>>0>m>>>0)x=z;else{Ea=z;break}}}while(0);Y=Q-Ea|0;LCa(a,Ea,(K|0)>(Y|0)?Y:K);x=K-Y|0;v=v+4|0;if(!(v>>>0>>0&(x|0)>-1)){Fa=x;break}else K=x}}else Fa=va;TCa(a,48,Fa+18|0,18,0);LCa(a,xa,p-xa|0)}TCa(a,32,d,A,g^8192);w=A}while(0);u=j;return ((w|0)<(d|0)?d:w)|0}function WCa(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;I=f[s+4>>2]|0;return b|0}function XCa(a,b){a=+a;b=b|0;return +(+YCa(a,b))}function YCa(a,b){a=+a;b=b|0;var c=0,d=0,e=0,g=0.0,h=0.0,i=0,j=0.0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;e=AVa(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){g=+YCa(a*18446744073709551616.0,b);h=g;i=(f[b>>2]|0)+-64|0}else{h=a;i=0}f[b>>2]=i;j=h;break}case 2047:{j=a;break}default:{f[b>>2]=(e&2047)+-1022;f[s>>2]=c;f[s+4>>2]=d&-2146435073|1071644672;j=+p[s>>3]}}return +j}function ZCa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;do if(a){if(c>>>0<128){b[a>>0]=c;e=1;break}d=(_Ca()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;e=1;break}else{d=iCa()|0;f[d>>2]=84;e=-1;break}if(c>>>0<2048){b[a>>0]=c>>>6|192;b[a+1>>0]=c&63|128;e=2;break}if(c>>>0<55296|(c&-8192|0)==57344){b[a>>0]=c>>>12|224;b[a+1>>0]=c>>>6&63|128;b[a+2>>0]=c&63|128;e=3;break}if((c+-65536|0)>>>0<1048576){b[a>>0]=c>>>18|240;b[a+1>>0]=c>>>12&63|128;b[a+2>>0]=c>>>6&63|128;b[a+3>>0]=c&63|128;e=4;break}else{d=iCa()|0;f[d>>2]=84;e=-1;break}}else e=1;while(0);return e|0}function _Ca(){return $Ca()|0}function $Ca(){return 111208}function aDa(){return $Ca()|0}function bDa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0;d=0;while(1){if((h[445789+d>>0]|0)==(a|0)){e=2;break}g=d+1|0;if((g|0)==87){i=445877;j=87;e=5;break}else d=g}if((e|0)==2)if(!d)k=445877;else{i=445877;j=d;e=5}if((e|0)==5)while(1){e=0;d=i;do{a=d;d=d+1|0}while((b[a>>0]|0)!=0);j=j+-1|0;if(!j){k=d;break}else{i=d;e=5}}return cDa(k,f[c+20>>2]|0)|0}function cDa(a,b){a=a|0;b=b|0;return dDa(a,b)|0}function dDa(a,b){a=a|0;b=b|0;var c=0;if(!b)c=0;else c=eDa(f[b>>2]|0,f[b+4>>2]|0,a)|0;return (c|0?c:a)|0}function eDa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=(f[a>>2]|0)+1794895138|0;g=fDa(f[a+8>>2]|0,e)|0;h=fDa(f[a+12>>2]|0,e)|0;i=fDa(f[a+16>>2]|0,e)|0;a:do if((g>>>0>>2>>>0?(j=c-(g<<2)|0,h>>>0>>0&i>>>0>>0):0)?((i|h)&3|0)==0:0){j=h>>>2;k=i>>>2;l=0;m=g;while(1){n=m>>>1;o=l+n|0;p=o<<1;q=p+j|0;r=fDa(f[a+(q<<2)>>2]|0,e)|0;s=fDa(f[a+(q+1<<2)>>2]|0,e)|0;if(!(s>>>0>>0&r>>>0<(c-s|0)>>>0)){t=0;break a}if(b[a+(s+r)>>0]|0){t=0;break a}r=mCa(d,a+s|0)|0;if(!r)break;s=(r|0)<0;if((m|0)==1){t=0;break a}else{l=s?l:o;m=s?n:m-n|0}}m=p+k|0;l=fDa(f[a+(m<<2)>>2]|0,e)|0;j=fDa(f[a+(m+1<<2)>>2]|0,e)|0;if(j>>>0>>0&l>>>0<(c-j|0)>>>0)t=(b[a+(j+l)>>0]|0)==0?a+j|0:0;else t=0}else t=0;while(0);return t|0}function fDa(a,b){a=a|0;b=b|0;var c=0;c=CVa(a|0)|0;return ((b|0)==0?a:c)|0}function gDa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=d+16|0;g=f[e>>2]|0;if(!g)if(!(hDa(d)|0)){h=f[e>>2]|0;i=5}else j=0;else{h=g;i=5}a:do if((i|0)==5){g=d+20|0;e=f[g>>2]|0;k=e;if((h-e|0)>>>0>>0){j=bg[f[d+36>>2]&127](d,a,c)|0;break}b:do if((b[d+75>>0]|0)>-1){e=c;while(1){if(!e){l=0;m=a;n=c;o=k;break b}p=e+-1|0;if((b[a+p>>0]|0)==10)break;else e=p}p=bg[f[d+36>>2]&127](d,a,e)|0;if(p>>>0>>0){j=p;break a}l=e;m=a+e|0;n=c-e|0;o=f[g>>2]|0}else{l=0;m=a;n=c;o=k}while(0);DVa(o|0,m|0,n|0)|0;f[g>>2]=(f[g>>2]|0)+n;j=l+n|0}while(0);return j|0}function hDa(a){a=a|0;var c=0,d=0,e=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;d=f[a>>2]|0;if(!(d&8)){f[a+8>>2]=0;f[a+4>>2]=0;c=f[a+44>>2]|0;f[a+28>>2]=c;f[a+20>>2]=c;f[a+16>>2]=c+(f[a+48>>2]|0);e=0}else{f[a>>2]=d|32;e=-1}return e|0}function iDa(a,b){a=a|0;b=b|0;kDa(a,b)|0;return a|0}function jDa(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;d=kCa(a)|0;f[c>>2]=d;d=zd(6,c|0)|0;c=hCa((d|0)==-4?0:d)|0;u=b;return c|0}function kDa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=c;a:do if(!((d^a)&3)){if(!(d&3)){e=c;g=a}else{h=c;i=a;while(1){j=b[h>>0]|0;b[i>>0]=j;if(!(j<<24>>24)){k=i;break a}j=h+1|0;l=i+1|0;if(!(j&3)){e=j;g=l;break}else{h=j;i=l}}}i=f[e>>2]|0;if(!((i&-2139062144^-2139062144)&i+-16843009)){h=g;l=e;j=i;while(1){i=l+4|0;m=h+4|0;f[h>>2]=j;j=f[i>>2]|0;if((j&-2139062144^-2139062144)&j+-16843009|0){n=i;o=m;break}else{h=m;l=i}}}else{n=e;o=g}p=n;q=o;r=8}else{p=c;q=a;r=8}while(0);if((r|0)==8){r=b[p>>0]|0;b[q>>0]=r;if(!(r<<24>>24))k=q;else{r=q;q=p;while(1){q=q+1|0;p=r+1|0;a=b[q>>0]|0;b[p>>0]=a;if(!(a<<24>>24)){k=p;break}else r=p}}}return k|0}function lDa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[e>>2]=c;c=mDa(a,b,e)|0;u=d;return c|0}function mDa(a,b,c){a=a|0;b=b|0;c=c|0;return nDa(a,2147483647,b,c)|0}function nDa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=u;u=u+128|0;h=g+124|0;i=g;j=i;k=111452;l=j+124|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));if((c+-1|0)>>>0>2147483646)if(!c){m=h;n=1;o=4}else{h=iCa()|0;f[h>>2]=75;p=-1}else{m=a;n=c;o=4}if((o|0)==4){o=-2-m|0;c=n>>>0>o>>>0?o:n;f[i+48>>2]=c;n=i+20|0;f[n>>2]=m;f[i+44>>2]=m;o=m+c|0;m=i+16|0;f[m>>2]=o;f[i+28>>2]=o;o=JCa(i,d,e)|0;if(!c)p=o;else{c=f[n>>2]|0;b[c+(((c|0)==(f[m>>2]|0))<<31>>31)>>0]=0;p=o}}u=g;return p|0}function oDa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=a+20|0;e=f[d>>2]|0;g=(f[a+16>>2]|0)-e|0;a=g>>>0>c>>>0?c:g;DVa(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function pDa(a,b){a=a|0;b=b|0;var c=0;c=yCa(a,0,b)|0;return ((c|0)==0?b:c-a|0)|0}function qDa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=nDa(a,b,c,g)|0;u=e;return d|0}function rDa(a,b,c){a=a|0;b=b|0;c=c|0;sDa(a,b,c)|0;return a|0}function sDa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;e=c;a:do if(!((e^a)&3)){g=(d|0)!=0;if(g&(e&3|0)!=0){h=d;i=c;j=a;while(1){k=b[i>>0]|0;b[j>>0]=k;if(!(k<<24>>24)){l=j;m=h;break a}k=h+-1|0;n=i+1|0;o=j+1|0;p=(k|0)!=0;if(p&(n&3|0)!=0){h=k;i=n;j=o}else{q=k;r=n;s=o;t=p;break}}}else{q=d;r=c;s=a;t=g}if(t)if(!(b[r>>0]|0)){l=s;m=q}else{b:do if(q>>>0>3){j=s;i=r;h=q;while(1){p=f[i>>2]|0;if((p&-2139062144^-2139062144)&p+-16843009|0){u=i;v=j;w=h;break b}f[j>>2]=p;p=h+-4|0;o=i+4|0;n=j+4|0;if(p>>>0>3){j=n;i=o;h=p}else{u=o;v=n;w=p;break}}}else{u=r;v=s;w=q}while(0);x=u;y=v;z=w;A=11}else{l=s;m=0}}else{x=c;y=a;z=d;A=11}while(0);c:do if((A|0)==11)if(!z){l=y;m=0}else{d=x;a=y;c=z;while(1){s=b[d>>0]|0;b[a>>0]=s;if(!(s<<24>>24)){l=a;m=c;break c}c=c+-1|0;s=a+1|0;if(!c){l=s;m=0;break}else{d=d+1|0;a=s}}}while(0);FVa(l|0,0,m|0)|0;return l|0}function tDa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+208|0;g=e+8|0;h=e;i=X(c,b)|0;b=h;f[b>>2]=1;f[b+4>>2]=0;a:do if(i|0){b=0-c|0;f[g+4>>2]=c;f[g>>2]=c;j=2;k=c;l=c;while(1){m=k+c+l|0;f[g+(j<<2)>>2]=m;if(m>>>0>>0){n=l;j=j+1|0;l=m;k=n}else break}k=a+i+b|0;if(k>>>0>a>>>0){l=k;j=1;n=a;m=1;while(1){do if((m&3|0)!=3){o=j+-1|0;if((f[g+(o<<2)>>2]|0)>>>0<(l-n|0)>>>0)uDa(n,c,d,j,g);else wDa(n,c,d,h,j,0,g);if((j|0)==1){xDa(h,1);p=0;break}else{xDa(h,o);p=1;break}}else{uDa(n,c,d,j,g);vDa(h,2);p=j+2|0}while(0);o=f[h>>2]|1;f[h>>2]=o;q=n+c|0;if(q>>>0>>0){j=p;n=q;m=o}else{r=p;s=q;t=o;break}}}else{r=1;s=a;t=1}wDa(s,c,d,h,r,0,g);m=h+4|0;n=s;j=r;k=t;while(1){if((j|0)==1&(k|0)==1){if(!(f[m>>2]|0))break a}else if((j|0)>=2){xDa(h,2);l=j+-2|0;f[h>>2]=f[h>>2]^7;vDa(h,1);wDa(n+(0-(f[g+(l<<2)>>2]|0))+b|0,c,d,h,j+-1|0,1,g);xDa(h,1);o=f[h>>2]|1;f[h>>2]=o;q=n+b|0;wDa(q,c,d,h,l,1,g);n=q;j=l;k=o;continue}o=yDa(h)|0;vDa(h,o);n=n+b|0;j=o+j|0;k=f[h>>2]|0}}while(0);u=e;return}function uDa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;g=u;u=u+240|0;h=g;f[h>>2]=a;a:do if((d|0)>1){i=0-b|0;j=a;k=d;l=1;m=a;while(1){n=j+i|0;o=k+-2|0;p=n+(0-(f[e+(o<<2)>>2]|0))|0;if((Zf[c&127](m,p)|0)>-1?(Zf[c&127](m,n)|0)>-1:0){q=l;break a}r=l+1|0;s=h+(l<<2)|0;if((Zf[c&127](p,n)|0)>-1){f[s>>2]=p;t=p;v=k+-1|0}else{f[s>>2]=n;t=n;v=o}if((v|0)<=1){q=r;break a}j=t;k=v;l=r;m=f[h>>2]|0}}else q=1;while(0);ADa(b,h,q);u=g;return}function vDa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=a+4|0;if(b>>>0>31){d=f[c>>2]|0;f[a>>2]=d;f[c>>2]=0;e=b+-32|0;g=0;h=d}else{e=b;g=f[c>>2]|0;h=f[a>>2]|0}f[a>>2]=g<<32-e|h>>>e;f[c>>2]=g>>>e;return}function wDa(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;i=u;u=u+240|0;j=i+232|0;k=i;l=f[d>>2]|0;f[j>>2]=l;m=f[d+4>>2]|0;d=j+4|0;f[d>>2]=m;f[k>>2]=a;a:do if((l|0)!=1|(m|0)!=0?(n=0-b|0,o=a+(0-(f[h+(e<<2)>>2]|0))|0,(Zf[c&127](o,a)|0)>=1):0){p=1;q=e;r=(g|0)==0;s=a;t=o;while(1){if(r&(q|0)>1){o=s+n|0;v=f[h+(q+-2<<2)>>2]|0;if((Zf[c&127](o,t)|0)>-1){w=p;x=q;y=s;z=10;break a}if((Zf[c&127](o+(0-v)|0,t)|0)>-1){w=p;x=q;y=s;z=10;break a}}v=p+1|0;f[k+(p<<2)>>2]=t;o=yDa(j)|0;vDa(j,o);A=o+q|0;if(!((f[j>>2]|0)!=1|(f[d>>2]|0)!=0)){w=v;x=A;y=t;z=10;break a}o=t+(0-(f[h+(A<<2)>>2]|0))|0;if((Zf[c&127](o,f[k>>2]|0)|0)<1){B=t;C=v;D=A;E=0;z=9;break}else{F=t;p=v;q=A;r=1;t=o;s=F}}}else{B=a;C=1;D=e;E=g;z=9}while(0);if((z|0)==9?(E|0)==0:0){w=C;x=D;y=B;z=10}if((z|0)==10){ADa(b,k,w);uDa(y,b,c,x,h)}u=i;return}function xDa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=a+4|0;if(b>>>0>31){d=f[a>>2]|0;f[c>>2]=d;f[a>>2]=0;e=b+-32|0;g=0;h=d}else{e=b;g=f[a>>2]|0;h=f[c>>2]|0}f[c>>2]=g>>>(32-e|0)|h<>2]=g<>2]|0)+-1|0)|0;if(!b){c=zDa(f[a+4>>2]|0)|0;return ((c|0)==0?0:c+32|0)|0}else return b|0;return 0}function zDa(a){a=a|0;var b=0,c=0,d=0;if(a)if(!(a&1)){b=a;a=0;while(1){c=a+1|0;b=b>>>1;if(b&1|0){d=c;break}else a=c}}else d=0;else d=32;return d|0}function ADa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=u;u=u+256|0;e=d;a:do if((c|0)>=2?(g=b+(c<<2)|0,f[g>>2]=e,a|0):0){h=a;i=e;while(1){j=h>>>0<256?h:256;DVa(i|0,f[b>>2]|0,j|0)|0;k=0;do{l=b+(k<<2)|0;k=k+1|0;DVa(f[l>>2]|0,f[b+(k<<2)>>2]|0,j|0)|0;f[l>>2]=(f[l>>2]|0)+j}while((k|0)!=(c|0));k=h-j|0;if(!k)break a;h=k;i=f[g>>2]|0}}while(0);u=d;return}function BDa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;g=f[c>>2]|0;if((e|0)!=0?(i=f[e>>2]|0,(i|0)!=0):0)if(!a){j=i;k=g;l=d;m=25}else{f[e>>2]=0;n=i;o=a;p=d;q=g;m=43}else m=5;a:do if((m|0)==5){i=(CDa()|0)+188|0;e=(a|0)!=0;if(f[f[i>>2]>>2]|0)if(e){r=a;s=d;t=g;m=15;break}else{u=g;v=d;m=14;break}if(!e){w=nCa(g)|0;m=59;break}b:do if(!d)x=g;else{e=g;i=a;y=d;while(1){z=b[e>>0]|0;if(!(z<<24>>24))break;A=e+1|0;f[i>>2]=z<<24>>24&57343;z=y+-1|0;if(!z){x=A;break b}else{e=A;i=i+4|0;y=z}}f[i>>2]=0;f[c>>2]=0;w=d-y|0;m=59;break a}while(0);f[c>>2]=x;w=d;m=59}while(0);c:while(1){d:do if((m|0)==14){m=0;x=u;g=v;while(1){e=b[x>>0]|0;if(((e&255)+-1|0)>>>0<127?(x&3|0)==0:0){z=f[x>>2]|0;A=z&255;if(!((z+-16843009|z)&-2139062144)){z=x;B=g;do{z=z+4|0;B=B+-4|0;C=f[z>>2]|0}while(!((C+-16843009|C)&-2139062144|0));D=z;E=B;F=C&255}else{D=x;E=g;F=A}}else{D=x;E=g;F=e}G=F&255;if((G+-1|0)>>>0>=127)break;x=D+1|0;g=E+-1|0}g=G+-194|0;if(g>>>0>50){H=D;I=a;J=E;m=53}else{j=f[110616+(g<<2)>>2]|0;k=D+1|0;l=E;m=25;continue c}}else if((m|0)==15){m=0;e:do if(!s)K=t;else{g=r;x=s;y=t;while(1){i=b[y>>0]|0;do if(((i&255)+-1|0)>>>0<127?x>>>0>4&(y&3|0)==0:0){L=g;M=x;N=y;while(1){O=f[N>>2]|0;if((O+-16843009|O)&-2139062144|0){m=38;break}f[L>>2]=O&255;f[L+4>>2]=h[N+1>>0];f[L+8>>2]=h[N+2>>0];P=N+4|0;Q=L+16|0;f[L+12>>2]=h[N+3>>0];R=M+-4|0;if(R>>>0>4){L=Q;M=R;N=P}else{m=37;break}}if((m|0)==37){m=0;S=Q;T=R;U=P;V=b[P>>0]|0;break}else if((m|0)==38){m=0;S=L;T=M;U=N;V=O&255;break}}else{S=g;T=x;U=y;V=i}while(0);W=V&255;if((W+-1|0)>>>0>=127)break;i=U+1|0;f[S>>2]=W;x=T+-1|0;if(!x){K=i;break e}else{g=S+4|0;y=i}}y=W+-194|0;if(y>>>0>50){H=U;I=S;J=T;m=53;break d}n=f[110616+(y<<2)>>2]|0;o=S;p=T;q=U+1|0;m=43;continue c}while(0);f[c>>2]=K;w=d;m=59;continue c}else if((m|0)==25){m=0;y=(h[k>>0]|0)>>>3;if((y+-16|y+(j>>26))>>>0>7){X=a;Y=j;Z=k;_=l;m=52}else{y=k+1|0;if(j&33554432){if((b[y>>0]&-64)<<24>>24!=-128){X=a;Y=j;Z=k;_=l;m=52;break}g=k+2|0;if(!(j&524288))$=g;else{if((b[g>>0]&-64)<<24>>24!=-128){X=a;Y=j;Z=k;_=l;m=52;break}$=k+3|0}}else $=y;u=$;v=l+-1|0;m=14;continue c}}else if((m|0)==43){m=0;y=h[q>>0]|0;g=y>>>3;if((g+-16|g+(n>>26))>>>0>7){X=o;Y=n;Z=q;_=p;m=52}else{g=q+1|0;x=y+-128|n<<6;do if((x|0)<0){y=(h[g>>0]|0)+-128|0;if(y>>>0>63){aa=q+-1|0;ba=o;break d}e=q+2|0;A=y|x<<6;if((A|0)<0){y=(h[e>>0]|0)+-128|0;if(y>>>0>63){aa=q+-1|0;ba=o;break d}else{ca=q+3|0;da=y|A<<6;break}}else{ca=e;da=A}}else{ca=g;da=x}while(0);f[o>>2]=da;r=o+4|0;s=p+-1|0;t=ca;m=15;continue c}}else if((m|0)==59){m=0;return w|0}while(0);if((m|0)==52){m=0;x=Z+-1|0;if(!Y){H=x;I=X;J=_;m=53}else{aa=x;ba=X}}if((m|0)==53){m=0;if(!(b[H>>0]|0)){if(I|0){f[I>>2]=0;f[c>>2]=0}w=d-J|0;m=59;continue}else{aa=H;ba=I}}x=iCa()|0;f[x>>2]=84;if(!ba){w=-1;m=59;continue}f[c>>2]=aa;w=-1;m=59}return 0}function CDa(){return $Ca()|0}function DDa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;if((f[a+76>>2]|0)>=0?(ACa(a)|0)!=0:0){b=a+4|0;c=f[b>>2]|0;if(c>>>0<(f[a+8>>2]|0)>>>0){f[b>>2]=c+1;d=h[c>>0]|0}else d=CCa(a)|0;e=d}else g=3;do if((g|0)==3){d=a+4|0;c=f[d>>2]|0;if(c>>>0<(f[a+8>>2]|0)>>>0){f[d>>2]=c+1;e=h[c>>0]|0;break}else{e=CCa(a)|0;break}}while(0);return e|0}function EDa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=ECa(a,b,c,-1,-1)|0;return d|0}function FDa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+48|0;e=d+16|0;g=d;h=d+32|0;if(!(b&4194368))i=0;else{f[h>>2]=c;c=(f[h>>2]|0)+(4-1)&~(4-1);j=f[c>>2]|0;f[h>>2]=c+4;i=j}f[g>>2]=a;f[g+4>>2]=b|32768;f[g+8>>2]=i;i=xd(5,g|0)|0;if(!((b&524288|0)==0|(i|0)<0)){f[e>>2]=i;f[e+4>>2]=2;f[e+8>>2]=1;ud(221,e|0)|0}e=hCa(i)|0;u=d;return e|0}function GDa(){return 111576}function HDa(){return 111580}function IDa(a){a=a|0;var b=0;b=(JDa(a)|0)==0;return (b?a:a|32)|0}function JDa(a){a=a|0;return (a+-65|0)>>>0<26|0}function KDa(){return 113120}function LDa(a){a=a|0;return (a+-97|0)>>>0<26|0}function MDa(a){a=a|0;var b=0;b=(LDa(a)|0)==0;return (b?a:a&95)|0}function NDa(a){a=a|0;var b=0;b=a;while(1)if(!(f[b>>2]|0))break;else b=b+4|0;return b-a>>2|0}function ODa(a){a=a|0;return (((a|32)+-97|0)>>>0<6|(MCa(a)|0)!=0)&1|0}function PDa(){var a=0;a=(QDa()|0)+188|0;return (f[f[a>>2]>>2]|0?4:1)|0}function QDa(){return $Ca()|0}function RDa(a,b){a=a|0;b=b|0;return SDa(a,b,(nCa(a)|0)+1|0)|0}function SDa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;e=c&255;c=d;while(1){if(!c){f=0;break}c=c+-1|0;d=a+c|0;if((b[d>>0]|0)==e<<24>>24){f=d;break}}return f|0}function TDa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;if(a-b>>2>>>0>=c>>>0){if(c|0){d=b;e=a;g=c;while(1){g=g+-1|0;f[e>>2]=f[d>>2];if(!g)break;else{d=d+4|0;e=e+4|0}}}}else{e=c;do{e=e+-1|0;f[a+(e<<2)>>2]=f[b+(e<<2)>>2]}while((e|0)!=0)}return a|0}function UDa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(c|0){d=c;c=a;while(1){d=d+-1|0;f[c>>2]=b;if(!d)break;else c=c+4|0}}return a|0}function VDa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(c|0){d=c;c=b;b=a;while(1){d=d+-1|0;f[b>>2]=f[c>>2];if(!d)break;else{c=c+4|0;b=b+4|0}}}return a|0}function WDa(a){a=a|0;var b=0,c=0,d=0;b=(nCa(a)|0)+1|0;c=YBa(b)|0;if(!c)d=0;else d=DVa(c|0,a|0,b|0)|0;return d|0}function XDa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=EDa(a,b,c)|0;return d|0}function YDa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=ZDa(a,b,c)|0;return d|0}function ZDa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=ECa(a,b,c,0,-2147483648)|0;return d|0}function _Da(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=ECa(a,b,c,-2147483648,0)|0;return d|0}function $Da(){return}function aEa(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d>>2]=a;f[d+4>>2]=b;b=hCa(Ad(91,d|0)|0)|0;u=c;return b|0}function bEa(a){a=a|0;return 0}function cEa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return d|0}function dEa(a){a=a|0;return (a|0)!=110592&((a|0)!=0&(a|0)!=809196)&1|0}function eEa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=u;u=u+32|0;e=d;a:do if(!(dEa(c)|0)){g=(c|0)!=0;h=0;i=0;do{j=1<>2]|0;else k=fEa(i,j|0?b:1079437)|0;h=h+((k|0)!=0&1)|0;f[e+(i<<2)>>2]=k;i=i+1|0}while((i|0)!=6);switch(h|0){case 0:{l=809196;break a;break}case 1:{if((f[e>>2]|0)==110544){l=110592;break a}break}default:{}}l=c}else{i=0;do{if(1<>2]=g}i=i+1|0}while((i|0)!=6);l=c}while(0);u=d;return l|0}function fEa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;d=u;u=u+272|0;e=d+8|0;g=d;do if(!(b[c>>0]|0)){h=te(447681)|0;if(h|0?b[h>>0]|0:0){i=h;break}h=te(447688+(a*12|0)|0)|0;if(h|0?b[h>>0]|0:0){i=h;break}h=te(447760)|0;if(h|0?b[h>>0]|0:0){i=h;break}i=447765}else i=c;while(0);c=0;a:while(1){switch(b[i+c>>0]|0){case 47:case 0:{j=c;break a;break}default:{}}h=c+1|0;if(h>>>0<15)c=h;else{j=h;break}}c=b[i>>0]|0;if(c<<24>>24!=46?(b[i+j>>0]|0)==0:0)if(c<<24>>24==67){k=i;l=15}else{m=i;l=16}else{k=447765;l=15}if((l|0)==15)if(!(b[k+1>>0]|0)){n=k;l=18}else{m=k;l=16}b:do if((l|0)==16)if((mCa(m,447765)|0)!=0?(mCa(m,447773)|0)!=0:0){k=f[202322]|0;if(k|0){i=k;do{if(!(mCa(m,i+8|0)|0)){o=i;break b}i=f[i+24>>2]|0}while((i|0)!=0)}nd(809292);i=f[202322]|0;c:do if(i|0){k=i;while(1){if(!(mCa(m,k+8|0)|0))break;c=f[k+24>>2]|0;if(!c)break c;else k=c}Bd(809292);o=k;break b}while(0);d:do if(((f[202307]|0)==0?(i=te(447779)|0,(i|0)!=0):0)?(b[i>>0]|0)!=0:0){c=254-j|0;h=j+1|0;p=i;while(1){i=zCa(p,58)|0;q=b[i>>0]|0;r=i-p+((q<<24>>24!=0)<<31>>31)|0;if(r>>>0>>0){DVa(e|0,p|0,r|0)|0;s=e+r|0;b[s>>0]=47;DVa(s+1|0,m|0,j|0)|0;b[e+(h+r)>>0]=0;t=od(e|0,g|0)|0;if(t|0)break;v=b[i>>0]|0}else v=q;p=i+(v<<24>>24!=0&1)|0;if(!(b[p>>0]|0)){l=41;break d}}p=YBa(28)|0;if(!p){aEa(t,f[g>>2]|0)|0;l=41;break}else{f[p>>2]=t;f[p+4>>2]=f[g>>2];h=p+8|0;DVa(h|0,m|0,j|0)|0;b[h+j>>0]=0;f[p+24>>2]=f[202322];f[202322]=p;w=p;break}}else l=41;while(0);if((l|0)==41){p=YBa(28)|0;if(!p)w=p;else{f[p>>2]=f[27636];f[p+4>>2]=f[27637];h=p+8|0;DVa(h|0,m|0,j|0)|0;b[h+j>>0]=0;f[p+24>>2]=f[202322];f[202322]=p;w=p}}Bd(809292);o=(a|0)==0&(w|0)==0?110544:w}else{n=m;l=18}while(0);do if((l|0)==18){if((a|0)==0?(b[n+1>>0]|0)==46:0){o=110544;break}o=0}while(0);u=d;return o|0}function gEa(a,b){a=a|0;b=b|0;return MCa(a)|0}function hEa(a,b){a=a|0;b=b|0;return ODa(a)|0}function iEa(a){a=a|0;var b=0,c=0;b=(jEa()|0)+188|0;c=f[b>>2]|0;if(a|0)f[b>>2]=(a|0)==(-1|0)?809260:a;return ((c|0)==809260?-1:c)|0}function jEa(){return $Ca()|0}function kEa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+16|0;h=g;i=(e|0)==0?809300:e;e=f[i>>2]|0;a:do if(!c)if(!e)j=0;else k=17;else{l=(a|0)==0?h:a;if(!d)j=-2;else{if(!e){m=b[c>>0]|0;if(m<<24>>24>-1){f[l>>2]=m&255;j=m<<24>>24!=0&1;break}m=(lEa()|0)+188|0;n=b[c>>0]|0;if(!(f[f[m>>2]>>2]|0)){f[l>>2]=n<<24>>24&57343;j=1;break}m=(n&255)+-194|0;if(m>>>0>50){k=17;break}n=f[110616+(m<<2)>>2]|0;m=d+-1|0;if(!m)o=n;else{p=c+1|0;q=n;r=m;k=11}}else{p=c;q=e;r=d;k=11}b:do if((k|0)==11){m=b[p>>0]|0;n=(m&255)>>>3;if((n+-16|n+(q>>26))>>>0>7){k=17;break a}else{s=p;t=q;v=r;w=m}while(1){s=s+1|0;t=(w&255)+-128|t<<6;v=v+-1|0;if((t|0)>=0)break;if(!v){o=t;break b}w=b[s>>0]|0;if((w&-64)<<24>>24!=-128){k=17;break a}}f[i>>2]=0;f[l>>2]=t;j=d-v|0;break a}while(0);f[i>>2]=o;j=-2}}while(0);if((k|0)==17){f[i>>2]=0;i=iCa()|0;f[i>>2]=84;j=-1}u=g;return j|0}function lEa(){return $Ca()|0}function mEa(a,b){a=a|0;b=b|0;return -1|0}function nEa(a){a=a|0;if(dEa(a)|0)ZBa(a);return}function oEa(a){a=+a;var b=0,c=0,d=0,e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0;p[s>>3]=a;b=f[s>>2]|0;c=f[s+4>>2]|0;d=c&2147483647;do if(d>>>0>2146435071)e=a+a;else{if(d>>>0<1048576){p[s>>3]=a*18014398509481984.0;g=f[s+4>>2]|0;h=g&2147483647;if(!h){e=a;break}else{i=696219795;j=h;k=g;l=f[s>>2]|0}}else{i=715094163;j=d;k=c;l=b}f[s>>2]=0;f[s+4>>2]=((j>>>0)/3|0)+i|k&-2147483648;m=+p[s>>3];n=m*m*(m/a);p[s>>3]=(n*(n*n)*(n*.14599619288661245+-.758397934778766)+(n*(n*1.6214297201053545+-1.8849797954337717)+1.87595182427177))*m;g=qVa(f[s>>2]|0,f[s+4>>2]|0,-2147483648,0)|0;h=I;f[s>>2]=g&-1073741824;f[s+4>>2]=h;m=+p[s>>3];n=a/(m*m);e=(n-m)/(m+m+n)*m+m}while(0);return +e}function pEa(a,b){a=+a;b=b|0;var c=0.0,d=0,e=0,g=0.0,h=0;if((b|0)<=1023)if((b|0)<-1022){c=a*2.2250738585072014e-308;d=(b|0)<-2044;e=b+2044|0;g=d?c*2.2250738585072014e-308:c;h=d?((e|0)>-1022?e:-1022):b+1022|0}else{g=a;h=b}else{c=a*8988465674311579538646525.0e283;e=(b|0)>2046;d=b+-2046|0;g=e?c*8988465674311579538646525.0e283:c;h=e?((d|0)<1023?d:1023):b+-1023|0}b=BVa(h+1023|0,0,52)|0;h=I;f[s>>2]=b;f[s+4>>2]=h;return +(g*+p[s>>3])}function qEa(a){a=a|0;return 0}function rEa(a){a=a|0;return 0}function sEa(a,b){a=+a;b=+b;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;c=tEa(a)|0;d=I;e=d&2147483647;do if(!(e>>>0>2146435072|(e|0)==2146435072&c>>>0>0)){f=tEa(b)|0;g=I;h=g&2147483647;if(!(h>>>0>2146435072|(h|0)==2146435072&f>>>0>0)){h=AVa(c|0,d|0,63)|0;i=AVa(f|0,g|0,63)|0;if((h|0)==(i|0)){j=a>3]=a;b=f[s>>2]|0;I=f[s+4>>2]|0;return b|0}function uEa(a,b){a=+a;b=+b;return +(+vEa(a,b))}function vEa(a,b){a=+a;b=+b;var c=0,d=0,e=0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;p[s>>3]=b;e=f[s+4>>2]&-2147483648|d&2147483647;f[s>>2]=c;f[s+4>>2]=e;return +(+p[s>>3])}function wEa(a){a=+a;var b=0,c=0,d=0,e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,q=0.0,r=0.0,t=0.0;p[s>>3]=a;b=f[s>>2]|0;c=f[s+4>>2]|0;d=(c|0)<0;do if(d|c>>>0<1048576){if((b|0)==0&(c&2147483647|0)==0){e=-1.0/(a*a);break}if(d){e=(a-a)/0.0;break}else{p[s>>3]=a*18014398509481984.0;g=f[s+4>>2]|0;h=-1077;i=g;j=f[s>>2]|0;k=g;l=9;break}}else if(c>>>0<=2146435071)if((b|0)==0&0==0&(c|0)==1072693248)e=0.0;else{h=-1023;i=c;j=b;k=c;l=9}else e=a;while(0);if((l|0)==9){l=i+614242|0;f[s>>2]=j;f[s+4>>2]=(l&1048575)+1072079006;a=+p[s>>3]+-1.0;m=a*(a*.5);n=a/(a+2.0);o=n*n;q=o*o;p[s>>3]=a-m;j=f[s+4>>2]|0;f[s>>2]=0;f[s+4>>2]=j;r=+p[s>>3];t=a-r-m+n*(m+(q*(q*(q*.15313837699209373+.22222198432149784)+.3999999999940942)+o*(q*(q*(q*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));q=r*.4342944818781689;o=+(h+(l>>>20)|0);m=o*.30102999566361177;n=m+q;e=n+(q+(m-n)+(t*.4342944818781689+(o*3.694239077158931e-13+(t+r)*2.5082946711645275e-11)))}return +e}function xEa(a){a=+a;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;p[s>>3]=a;b=f[s>>2]|0;c=f[s+4>>2]|0;d=AVa(b|0,c|0,52)|0;switch(d&2047){case 0:{e=BVa(b|0,c|0,12)|0;g=I;if(!((e|0)==0&(g|0)==0))if((g|0)>-1|(g|0)==-1&e>>>0>4294967295){h=-1023;i=e;e=g;while(1){g=h+-1|0;i=BVa(i|0,e|0,1)|0;e=I;if(!((e|0)>-1|(e|0)==-1&i>>>0>4294967295)){j=g;break}else h=g}}else j=-1023;else j=-2147483648;break}case 2047:{j=(b|0)!=0|(c&1048575|0)!=0?-2147483648:2147483647;break}default:j=(d&2047)+-1023|0}return j|0}function yEa(a,b){a=+a;b=b|0;return +(+pEa(a,b))}function zEa(a){a=+a;var b=0,c=0,d=0.0,e=0.0;p[s>>3]=a;b=f[s+4>>2]|0;c=b&2146435072;if(!(c>>>0>1126170624|(c|0)==1126170624&0>0)){c=(b|0)<0;d=(c?4503599627370496.0:-4503599627370496.0)+((c?-4503599627370496.0:4503599627370496.0)+a);if(d==0.0)e=c?-0.0:0.0;else e=d}else e=a;return +e}function AEa(a){a=+a;var b=0,c=0.0;b=qEa(32)|0;c=+zEa(a);return ~~c|0}function BEa(a,b){a=+a;b=+b;return +(+CEa(a,b))}function CEa(a,b){a=+a;b=+b;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0.0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;p[s>>3]=b;e=f[s>>2]|0;g=f[s+4>>2]|0;h=AVa(c|0,d|0,52)|0;i=h&2047;h=AVa(e|0,g|0,52)|0;j=h&2047;h=d&-2147483648;k=BVa(e|0,g|0,1)|0;l=I;a:do if(!((k|0)==0&(l|0)==0)?(m=DEa(b)|0,n=I&2147483647,!((i|0)==2047|(n>>>0>2146435072|(n|0)==2146435072&m>>>0>0))):0){m=BVa(c|0,d|0,1)|0;n=I;if(!(n>>>0>l>>>0|(n|0)==(l|0)&m>>>0>k>>>0))return +((m|0)==(k|0)&(n|0)==(l|0)?a*0.0:a);if(!i){n=BVa(c|0,d|0,12)|0;m=I;if((m|0)>-1|(m|0)==-1&n>>>0>4294967295){o=0;q=n;n=m;while(1){m=o+-1|0;q=BVa(q|0,n|0,1)|0;n=I;if(!((n|0)>-1|(n|0)==-1&q>>>0>4294967295)){r=m;break}else o=m}}else r=0;o=BVa(c|0,d|0,1-r|0)|0;t=r;u=o;v=I}else{t=i;u=c;v=d&1048575|1048576}if(!j){o=BVa(e|0,g|0,12)|0;q=I;if((q|0)>-1|(q|0)==-1&o>>>0>4294967295){n=0;m=o;o=q;while(1){q=n+-1|0;m=BVa(m|0,o|0,1)|0;o=I;if(!((o|0)>-1|(o|0)==-1&m>>>0>4294967295)){w=q;break}else n=q}}else w=0;n=BVa(e|0,g|0,1-w|0)|0;x=w;y=n;z=I}else{x=j;y=e;z=g&1048575|1048576}n=rVa(u|0,v|0,y|0,z|0)|0;m=I;o=(m|0)>-1|(m|0)==-1&n>>>0>4294967295;b:do if((t|0)>(x|0)){q=t;A=m;B=o;C=u;D=v;E=n;while(1){if(B)if((E|0)==0&(A|0)==0)break;else{F=E;G=A}else{F=C;G=D}H=BVa(F|0,G|0,1)|0;J=I;K=q+-1|0;L=rVa(H|0,J|0,y|0,z|0)|0;M=I;N=(M|0)>-1|(M|0)==-1&L>>>0>4294967295;if((K|0)>(x|0)){q=K;A=M;B=N;C=H;D=J;E=L}else{O=K;P=N;Q=L;R=M;S=H;T=J;break b}}U=a*0.0;break a}else{O=t;P=o;Q=n;R=m;S=u;T=v}while(0);if(P)if((Q|0)==0&(R|0)==0){U=a*0.0;break}else{V=R;W=Q}else{V=T;W=S}if(V>>>0<1048576|(V|0)==1048576&W>>>0<0){m=O;n=W;o=V;while(1){E=BVa(n|0,o|0,1)|0;D=I;C=m+-1|0;if(D>>>0<1048576|(D|0)==1048576&E>>>0<0){m=C;n=E;o=D}else{X=C;Y=E;Z=D;break}}}else{X=O;Y=W;Z=V}if((X|0)>0){o=qVa(Y|0,Z|0,0,-1048576)|0;n=I;m=BVa(X|0,0,52)|0;_=n|I;$=o|m}else{m=AVa(Y|0,Z|0,1-X|0)|0;_=I;$=m}f[s>>2]=$;f[s+4>>2]=_|h;U=+p[s>>3]}else aa=3;while(0);if((aa|0)==3){ba=a*b;U=ba/ba}return +U}function DEa(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;I=f[s+4>>2]|0;return b|0}function EEa(a,b){a=+a;b=+b;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0.0,t=0.0,v=0.0,w=0.0;c=u;u=u+32|0;d=c+24|0;e=c+16|0;g=c+8|0;h=c;p[s>>3]=a;i=f[s>>2]|0;j=f[s+4>>2]|0;p[s>>3]=b;k=f[s>>2]|0;l=j&2147483647;j=f[s+4>>2]&2147483647;m=l>>>0>>0|(l|0)==(j|0)&i>>>0>>0;n=m?k:i;o=m?j:l;q=m?i:k;k=m?l:j;j=AVa(n|0,o|0,52)|0;l=AVa(q|0,k|0,52)|0;f[s>>2]=n;f[s+4>>2]=o;b=+p[s>>3];f[s>>2]=q;f[s+4>>2]=k;a=+p[s>>3];do if((l|0)!=2047)if((q|0)==0&(k|0)==0|(j|0)==2047)r=b;else{if((j-l|0)>64){r=b+a;break}if((j|0)>1533){t=5260135901548373507240989.0e186;v=b*1.90109156629516e-211;w=a*1.90109156629516e-211}else{o=(l|0)<573;t=o?1.90109156629516e-211:1.0;v=o?b*5260135901548373507240989.0e186:b;w=o?a*5260135901548373507240989.0e186:a}FEa(d,e,v);FEa(g,h,w);r=t*+L(+(+p[h>>3]+ +p[e>>3]+ +p[g>>3]+ +p[d>>3]))}else r=a;while(0);u=c;return +r}function FEa(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0.0,f=0.0;d=c*134217729.0;e=d+(c-d);d=c-e;f=c*c;p[a>>3]=f;p[b>>3]=d*d+(e*e-f+e*2.0*d);return}function GEa(a,b){a=+a;b=+b;var c=0;c=(n[s>>2]=a,f[s>>2]|0);return +(f[s>>2]=(n[s>>2]=b,f[s>>2]|0)&-2147483648|c&2147483647,+n[s>>2])}function HEa(a){a=+a;return ~~+KVa(+a)|0}function IEa(a){a=+a;var b=0.0;JEa(a)|0;do if(!(0==0&(I&2146435072|0)==2146435072))if(a==0.0){b=-1.0/(a*a);break}else{b=+(xEa(a)|0);break}else b=a*a;while(0);return +b}function JEa(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;I=f[s+4>>2]|0;return b|0}function KEa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[e>>2]=a;f[e+4>>2]=b;f[e+8>>2]=c;c=hCa(wd(4,e|0)|0)|0;u=d;return c|0}function LEa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+32|0;e=d;g=d+20|0;f[e>>2]=a;f[e+4>>2]=0;f[e+8>>2]=b;f[e+12>>2]=g;f[e+16>>2]=c;c=(hCa(rd(140,e|0)|0)|0)!=0;u=d;return (c?-1:f[g>>2]|0)|0}function MEa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[e>>2]=a;f[e+4>>2]=b;f[e+8>>2]=c;c=hCa(vd(3,e|0)|0)|0;u=d;return c|0}function NEa(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c=a;while(1){d=c+1|0;if(!(rCa(b[c>>0]|0)|0))break;else c=d}a=b[c>>0]|0;switch(a<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:{g=0;h=c;i=a}}if((f|0)==5){g=e;h=d;i=b[d>>0]|0}if(!(MCa(i<<24>>24)|0))j=0;else{i=0;d=h;while(1){h=(i*10|0)+48-(b[d>>0]|0)|0;d=d+1|0;if(!(MCa(b[d>>0]|0)|0)){j=h;break}else i=h}}return (g|0?j:0-j|0)|0}function OEa(a,b){a=a|0;b=b|0;return +(+PEa(a,b,0))}function PEa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0.0;d=u;u=u+128|0;e=d;g=e;h=g+124|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));g=e+4|0;f[g>>2]=a;h=e+8|0;f[h>>2]=-1;f[e+44>>2]=a;f[e+76>>2]=-1;FCa(e,0);i=+QEa(e,c,1);c=(f[g>>2]|0)-(f[h>>2]|0)+(f[e+108>>2]|0)|0;if(b|0)f[b>>2]=c|0?a+c|0:a;u=d;return +i}function QEa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,D=0,E=0,F=0;switch(c|0){case 0:{e=-149;g=24;i=4;break}case 1:{e=-1074;g=53;i=4;break}case 2:{e=-1074;g=53;i=4;break}default:j=0.0}a:do if((i|0)==4){c=a+4|0;k=a+100|0;do{l=f[c>>2]|0;if(l>>>0<(f[k>>2]|0)>>>0){f[c>>2]=l+1;m=h[l>>0]|0}else m=HCa(a)|0}while((rCa(m)|0)!=0);b:do switch(m|0){case 43:case 45:{l=1-(((m|0)==45&1)<<1)|0;n=f[c>>2]|0;if(n>>>0<(f[k>>2]|0)>>>0){f[c>>2]=n+1;o=h[n>>0]|0;p=l;break b}else{o=HCa(a)|0;p=l;break b}break}default:{o=m;p=1}}while(0);l=0;n=o;while(1){if((n|32|0)!=(b[447792+l>>0]|0)){q=l;r=n;break}do if(l>>>0<7){s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;t=h[s>>0]|0;break}else{t=HCa(a)|0;break}}else t=n;while(0);s=l+1|0;if(s>>>0<8){l=s;n=t}else{q=s;r=t;break}}c:do switch(q|0){case 8:break;case 3:{i=23;break}default:{n=(d|0)!=0;if(n&q>>>0>3)if((q|0)==8)break c;else{i=23;break c}d:do if(!q){l=0;s=r;while(1){if((s|32|0)!=(b[447801+l>>0]|0)){u=l;v=s;break d}do if(l>>>0<2){w=f[c>>2]|0;if(w>>>0<(f[k>>2]|0)>>>0){f[c>>2]=w+1;x=h[w>>0]|0;break}else{x=HCa(a)|0;break}}else x=s;while(0);w=l+1|0;if(w>>>0<3){l=w;s=x}else{u=w;v=x;break}}}else{u=q;v=r}while(0);switch(u|0){case 3:{s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;y=h[s>>0]|0}else y=HCa(a)|0;if((y|0)==40)z=1;else{if(!(f[k>>2]|0)){j=B;break a}f[c>>2]=(f[c>>2]|0)+-1;j=B;break a}while(1){s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;A=h[s>>0]|0}else A=HCa(a)|0;if(!((A+-48|0)>>>0<10|(A+-65|0)>>>0<26)?!((A|0)==95|(A+-97|0)>>>0<26):0)break;z=z+1|0}if((A|0)==41){j=B;break a}s=(f[k>>2]|0)==0;if(!s)f[c>>2]=(f[c>>2]|0)+-1;if(!n){l=iCa()|0;f[l>>2]=22;FCa(a,0);j=0.0;break a}if(!z){j=B;break a}else D=z;while(1){D=D+-1|0;if(!s)f[c>>2]=(f[c>>2]|0)+-1;if(!D){j=B;break a}}break}case 0:{if((v|0)==48){s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;E=h[s>>0]|0}else E=HCa(a)|0;if((E|32|0)==120){j=+REa(a,g,e,p,d);break a}if(!(f[k>>2]|0))F=48;else{f[c>>2]=(f[c>>2]|0)+-1;F=48}}else F=v;j=+SEa(a,F,g,e,p,d);break a;break}default:{if(f[k>>2]|0)f[c>>2]=(f[c>>2]|0)+-1;s=iCa()|0;f[s>>2]=22;FCa(a,0);j=0.0;break a}}}}while(0);if((i|0)==23){s=(f[k>>2]|0)==0;if(!s)f[c>>2]=(f[c>>2]|0)+-1;if((d|0)!=0&q>>>0>3){n=q;do{if(!s)f[c>>2]=(f[c>>2]|0)+-1;n=n+-1|0}while(n>>>0>3)}}j=+(p|0)*C}while(0);return +j}function REa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0,G=0.0,H=0,J=0,K=0,L=0,M=0,N=0,O=0.0,P=0,Q=0.0,R=0.0,S=0,T=0.0,U=0,V=0,W=0,X=0.0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0.0,da=0,ea=0.0;g=a+4|0;i=f[g>>2]|0;j=a+100|0;if(i>>>0<(f[j>>2]|0)>>>0){f[g>>2]=i+1;k=h[i>>0]|0;l=0}else{k=HCa(a)|0;l=0}a:while(1){switch(k|0){case 46:{m=8;break a;break}case 48:break;default:{n=0;o=0;p=1.0;q=0.0;r=0;s=k;t=l;u=0;v=0;w=0;x=0;break a}}i=f[g>>2]|0;if(i>>>0<(f[j>>2]|0)>>>0){f[g>>2]=i+1;k=h[i>>0]|0;l=1;continue}else{k=HCa(a)|0;l=1;continue}}if((m|0)==8){k=f[g>>2]|0;if(k>>>0<(f[j>>2]|0)>>>0){f[g>>2]=k+1;y=h[k>>0]|0}else y=HCa(a)|0;if((y|0)==48){k=0;i=0;while(1){z=f[g>>2]|0;if(z>>>0<(f[j>>2]|0)>>>0){f[g>>2]=z+1;A=h[z>>0]|0}else A=HCa(a)|0;z=qVa(k|0,i|0,-1,-1)|0;B=I;if((A|0)==48){k=z;i=B}else{n=1;o=0;p=1.0;q=0.0;r=0;s=A;t=1;u=0;v=0;w=z;x=B;break}}}else{n=1;o=0;p=1.0;q=0.0;r=0;s=y;t=l;u=0;v=0;w=0;x=0}}while(1){l=s+-48|0;y=s|32;if(l>>>0>=10){A=(s|0)==46;if(!(A|(y+-97|0)>>>0<6)){C=s;break}if(A)if(!n){D=1;E=o;F=p;G=q;H=r;J=t;K=v;L=u;M=v;N=u}else{C=46;break}else m=20}else m=20;if((m|0)==20){m=0;A=(s|0)>57?y+-87|0:l;do if(!((u|0)<0|(u|0)==0&v>>>0<8))if((u|0)<0|(u|0)==0&v>>>0<14){O=p*.0625;P=o;Q=O;R=q+O*+(A|0);S=r;break}else{l=(o|0)!=0|(A|0)==0;P=l?o:1;Q=p;R=l?q:q+p*.5;S=r;break}else{P=o;Q=p;R=q;S=A+(r<<4)|0}while(0);A=qVa(v|0,u|0,1,0)|0;D=n;E=P;F=Q;G=R;H=S;J=1;K=w;L=x;M=A;N=I}A=f[g>>2]|0;if(A>>>0<(f[j>>2]|0)>>>0){f[g>>2]=A+1;n=D;o=E;p=F;q=G;r=H;s=h[A>>0]|0;t=J;u=N;v=M;w=K;x=L;continue}else{n=D;o=E;p=F;q=G;r=H;s=HCa(a)|0;t=J;u=N;v=M;w=K;x=L;continue}}do if(!t){L=(f[j>>2]|0)==0;if(!L)f[g>>2]=(f[g>>2]|0)+-1;if(e){if(!L)f[g>>2]=(f[g>>2]|0)+-1;if(!((n|0)==0|L))f[g>>2]=(f[g>>2]|0)+-1}else FCa(a,0);T=+(d|0)*0.0}else{L=(n|0)==0;K=L?v:w;M=L?u:x;if((u|0)<0|(u|0)==0&v>>>0<8){L=r;N=v;J=u;while(1){s=L<<4;H=N;N=qVa(N|0,J|0,1,0)|0;if(!((J|0)<0|(J|0)==0&H>>>0<7)){U=s;break}else{L=s;J=I}}}else U=r;if((C|32|0)==112){J=TEa(a,e)|0;L=I;if((J|0)==0&(L|0)==-2147483648){if(!e){FCa(a,0);T=0.0;break}if(!(f[j>>2]|0)){V=0;W=0}else{f[g>>2]=(f[g>>2]|0)+-1;V=0;W=0}}else{V=J;W=L}}else if(!(f[j>>2]|0)){V=0;W=0}else{f[g>>2]=(f[g>>2]|0)+-1;V=0;W=0}L=BVa(K|0,M|0,2)|0;J=qVa(L|0,I|0,-32,-1)|0;L=qVa(J|0,I|0,V|0,W|0)|0;J=I;if(!U){T=+(d|0)*0.0;break}N=0-c|0;s=((N|0)<0)<<31>>31;if((J|0)>(s|0)|(J|0)==(s|0)&L>>>0>N>>>0){N=iCa()|0;f[N>>2]=34;T=+(d|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}N=c+-106|0;s=((N|0)<0)<<31>>31;if((J|0)<(s|0)|(J|0)==(s|0)&L>>>0>>0){N=iCa()|0;f[N>>2]=34;T=+(d|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((U|0)>-1){G=q;N=U;s=L;H=J;while(1){E=!(G>=.5);o=N<<1|(E^1)&1;F=G+(E?G:G+-1.0);E=qVa(s|0,H|0,-1,-1)|0;D=I;if((o|0)>-1){G=F;N=o;s=E;H=D}else{X=F;Y=o;Z=E;_=D;break}}}else{X=q;Y=U;Z=L;_=J}H=((b|0)<0)<<31>>31;s=rVa(32,0,c|0,((c|0)<0)<<31>>31|0)|0;N=qVa(s|0,I|0,Z|0,_|0)|0;s=I;if((s|0)<(H|0)|(s|0)==(H|0)&N>>>0>>0)if((N|0)>0){$=N;m=59}else{aa=0;ba=84;m=61}else{$=b;m=59}if((m|0)==59)if(($|0)<53){aa=$;ba=84-$|0;m=61}else{ca=0.0;da=$;ea=+(d|0)}if((m|0)==61){G=+(d|0);ca=+uEa(+pEa(1.0,ba),G);da=aa;ea=G}N=(Y&1|0)==0&(X!=0.0&(da|0)<32);G=(N?0.0:X)*ea+(ca+ea*+((Y+(N&1)|0)>>>0))-ca;if(!(G!=0.0)){N=iCa()|0;f[N>>2]=34}T=+yEa(G,Z)}while(0);return +T}function SEa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0.0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0.0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0.0,kb=0.0,lb=0.0,mb=0.0,nb=0.0,ob=0.0,pb=0.0,qb=0.0,rb=0.0,sb=0.0,tb=0;i=u;u=u+512|0;j=i;k=d+c|0;l=0-k|0;m=a+4|0;n=a+100|0;o=b;b=0;a:while(1){switch(o|0){case 46:{p=6;break a;break}case 48:break;default:{q=0;r=o;s=b;t=0;v=0;break a}}w=f[m>>2]|0;if(w>>>0<(f[n>>2]|0)>>>0){f[m>>2]=w+1;o=h[w>>0]|0;b=1;continue}else{o=HCa(a)|0;b=1;continue}}if((p|0)==6){o=f[m>>2]|0;if(o>>>0<(f[n>>2]|0)>>>0){f[m>>2]=o+1;x=h[o>>0]|0}else x=HCa(a)|0;if((x|0)==48){o=0;w=0;while(1){y=qVa(o|0,w|0,-1,-1)|0;z=I;A=f[m>>2]|0;if(A>>>0<(f[n>>2]|0)>>>0){f[m>>2]=A+1;B=h[A>>0]|0}else B=HCa(a)|0;if((B|0)==48){o=y;w=z}else{q=1;r=B;s=1;t=y;v=z;break}}}else{q=1;r=x;s=b;t=0;v=0}}f[j>>2]=0;b=r+-48|0;x=(r|0)==46;b:do if(x|b>>>0<10){B=j+496|0;w=0;o=0;z=0;y=q;A=s;C=r;D=x;E=b;F=t;G=v;H=0;J=0;c:while(1){do if(D)if(!y){L=w;M=o;N=1;O=z;P=A;Q=H;R=J;S=H;T=J}else break c;else{U=qVa(H|0,J|0,1,0)|0;V=I;W=(C|0)!=48;if((o|0)>=125){if(!W){L=w;M=o;N=y;O=z;P=A;Q=F;R=G;S=U;T=V;break}f[B>>2]=f[B>>2]|1;L=w;M=o;N=y;O=z;P=A;Q=F;R=G;S=U;T=V;break}Y=j+(o<<2)|0;if(!w)Z=E;else Z=C+-48+((f[Y>>2]|0)*10|0)|0;f[Y>>2]=Z;Y=w+1|0;_=(Y|0)==9;L=_?0:Y;M=o+(_&1)|0;N=y;O=W?U:z;P=1;Q=F;R=G;S=U;T=V}while(0);V=f[m>>2]|0;if(V>>>0<(f[n>>2]|0)>>>0){f[m>>2]=V+1;$=h[V>>0]|0}else $=HCa(a)|0;E=$+-48|0;D=($|0)==46;if(!(D|E>>>0<10)){aa=L;ba=M;ca=O;da=N;ea=$;fa=P;ga=Q;ha=S;ia=R;ja=T;p=29;break b}else{w=L;o=M;z=O;y=N;A=P;C=$;F=Q;G=R;H=S;J=T}}ka=w;la=o;ma=z;na=H;oa=J;pa=F;qa=G;ra=(A|0)!=0;p=37}else{aa=0;ba=0;ca=0;da=q;ea=r;fa=s;ga=t;ha=0;ia=v;ja=0;p=29}while(0);do if((p|0)==29){v=(da|0)==0;t=v?ha:ga;s=v?ja:ia;v=(fa|0)!=0;if(!(v&(ea|32|0)==101))if((ea|0)>-1){ka=aa;la=ba;ma=ca;na=ha;oa=ja;pa=t;qa=s;ra=v;p=37;break}else{sa=aa;ta=ba;ua=ca;va=ha;wa=ja;xa=v;ya=t;za=s;p=39;break}v=TEa(a,g)|0;r=I;if((v|0)==0&(r|0)==-2147483648){if(!g){FCa(a,0);Aa=0.0;break}if(!(f[n>>2]|0)){Ba=0;Ca=0}else{f[m>>2]=(f[m>>2]|0)+-1;Ba=0;Ca=0}}else{Ba=v;Ca=r}r=qVa(Ba|0,Ca|0,t|0,s|0)|0;Da=aa;Ea=ba;Fa=ca;Ga=r;Ha=ha;Ia=I;Ja=ja;p=41}while(0);if((p|0)==37)if(f[n>>2]|0){f[m>>2]=(f[m>>2]|0)+-1;if(ra){Da=ka;Ea=la;Fa=ma;Ga=pa;Ha=na;Ia=qa;Ja=oa;p=41}else p=40}else{sa=ka;ta=la;ua=ma;va=na;wa=oa;xa=ra;ya=pa;za=qa;p=39}if((p|0)==39)if(xa){Da=sa;Ea=ta;Fa=ua;Ga=ya;Ha=va;Ia=za;Ja=wa;p=41}else p=40;do if((p|0)==40){wa=iCa()|0;f[wa>>2]=22;FCa(a,0);Aa=0.0}else if((p|0)==41){wa=f[j>>2]|0;if(!wa){Aa=+(e|0)*0.0;break}if(((Ja|0)<0|(Ja|0)==0&Ha>>>0<10)&((Ga|0)==(Ha|0)&(Ia|0)==(Ja|0))?(c|0)>30|(wa>>>c|0)==0:0){Aa=+(e|0)*+(wa>>>0);break}wa=(d|0)/-2|0;za=((wa|0)<0)<<31>>31;if((Ia|0)>(za|0)|(Ia|0)==(za|0)&Ga>>>0>wa>>>0){wa=iCa()|0;f[wa>>2]=34;Aa=+(e|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}wa=d+-106|0;za=((wa|0)<0)<<31>>31;if((Ia|0)<(za|0)|(Ia|0)==(za|0)&Ga>>>0>>0){wa=iCa()|0;f[wa>>2]=34;Aa=+(e|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(!Da)Ka=Ea;else{if((Da|0)<9){wa=j+(Ea<<2)|0;za=Da;va=f[wa>>2]|0;while(1){va=va*10|0;if((za|0)>=8)break;else za=za+1|0}f[wa>>2]=va}Ka=Ea+1|0}if((Fa|0)<9?(Fa|0)<=(Ga|0)&(Ga|0)<18:0){if((Ga|0)==9){Aa=+(e|0)*+((f[j>>2]|0)>>>0);break}if((Ga|0)<9){Aa=+(e|0)*+((f[j>>2]|0)>>>0)/+(f[114660+(8-Ga<<2)>>2]|0);break}za=c+27+(X(Ga,-3)|0)|0;A=f[j>>2]|0;if((za|0)>30|(A>>>za|0)==0){Aa=+(e|0)*+(A>>>0)*+(f[114660+(Ga+-10<<2)>>2]|0);break}}A=(Ga|0)%9|0;if(!A){La=0;Ma=Ka;Na=0;Oa=Ga}else{za=(Ga|0)>-1?A:A+9|0;A=f[114660+(8-za<<2)>>2]|0;if(Ka){G=1e9/(A|0)|0;F=0;J=0;H=Ga;z=0;do{o=j+(z<<2)|0;w=f[o>>2]|0;ya=((w>>>0)/(A>>>0)|0)+F|0;f[o>>2]=ya;F=X(G,(w>>>0)%(A>>>0)|0)|0;w=(z|0)==(J|0)&(ya|0)==0;H=w?H+-9|0:H;J=w?J+1&127:J;z=z+1|0}while((z|0)!=(Ka|0));if(!F){Pa=J;Qa=Ka;Ra=H}else{f[j+(Ka<<2)>>2]=F;Pa=J;Qa=Ka+1|0;Ra=H}}else{Pa=0;Qa=0;Ra=Ga}La=0;Ma=Qa;Na=Pa;Oa=9-za+Ra|0}d:while(1){z=(Oa|0)<18;A=(Oa|0)==18;G=j+(Na<<2)|0;va=La;wa=Ma;while(1){if(!z){if(!A){Sa=va;Ta=Na;Ua=Oa;Va=wa;break d}if((f[G>>2]|0)>>>0>=9007199){Sa=va;Ta=Na;Ua=18;Va=wa;break d}}w=0;Wa=wa;ya=wa+127|0;while(1){o=ya&127;ua=j+(o<<2)|0;ta=BVa(f[ua>>2]|0,0,29)|0;sa=qVa(ta|0,I|0,w|0,0)|0;ta=I;if(ta>>>0>0|(ta|0)==0&sa>>>0>1e9){xa=xVa(sa|0,ta|0,1e9,0)|0;qa=yVa(sa|0,ta|0,1e9,0)|0;Xa=xa;Ya=qa}else{Xa=0;Ya=sa}f[ua>>2]=Ya;ua=(o|0)==(Na|0);Wa=(Ya|0)==0&(((o|0)!=(Wa+127&127|0)|ua)^1)?o:Wa;if(ua)break;else{w=Xa;ya=o+-1|0}}va=va+-29|0;if(Xa|0)break;else wa=Wa}wa=Na+127&127;G=Wa+127&127;A=j+((Wa+126&127)<<2)|0;if((wa|0)==(Wa|0)){f[A>>2]=f[A>>2]|f[j+(G<<2)>>2];Za=G}else Za=Wa;f[j+(wa<<2)>>2]=Xa;La=va;Ma=Za;Na=wa;Oa=Oa+9|0}e:while(1){za=Va+1&127;H=j+((Va+127&127)<<2)|0;J=Sa;F=Ta;wa=Ua;while(1){G=(wa|0)==18;A=(wa|0)>27?9:1;_a=J;$a=F;while(1){z=0;while(1){ya=z+$a&127;if((ya|0)==(Va|0)){ab=2;p=88;break}w=f[j+(ya<<2)>>2]|0;ya=f[114692+(z<<2)>>2]|0;if(w>>>0>>0){ab=2;p=88;break}if(w>>>0>ya>>>0)break;ya=z+1|0;if((z|0)<1)z=ya;else{ab=ya;p=88;break}}if((p|0)==88?(p=0,G&(ab|0)==2):0){bb=0.0;cb=0;db=Va;break e}eb=A+_a|0;if(($a|0)==(Va|0)){_a=eb;$a=Va}else break}G=(1<>>A;fb=0;gb=$a;hb=wa;ya=$a;do{w=j+(ya<<2)|0;o=f[w>>2]|0;ua=(o>>>A)+fb|0;f[w>>2]=ua;fb=X(o&G,z)|0;o=(ya|0)==(gb|0)&(ua|0)==0;hb=o?hb+-9|0:hb;gb=o?gb+1&127:gb;ya=ya+1&127}while((ya|0)!=(Va|0));if(!fb){J=eb;F=gb;wa=hb;continue}if((za|0)!=(gb|0))break;f[H>>2]=f[H>>2]|1;J=eb;F=gb;wa=hb}f[j+(Va<<2)>>2]=fb;Sa=eb;Ta=gb;Ua=hb;Va=za}while(1){wa=cb+$a&127;F=db+1&127;if((wa|0)==(db|0)){f[j+(F+-1<<2)>>2]=0;ib=F}else ib=db;bb=bb*1.0e9+ +((f[j+(wa<<2)>>2]|0)>>>0);cb=cb+1|0;if((cb|0)==2)break;else db=ib}jb=+(e|0);kb=bb*jb;wa=_a+53|0;F=wa-d|0;J=(F|0)<(c|0);H=J?((F|0)>0?F:0):c;if((H|0)<53){lb=+uEa(+pEa(1.0,105-H|0),kb);mb=+BEa(kb,+pEa(1.0,53-H|0));nb=lb;ob=mb;pb=lb+(kb-mb)}else{nb=0.0;ob=0.0;pb=kb}va=$a+2&127;if((va|0)!=(ib|0)){ya=f[j+(va<<2)>>2]|0;do if(ya>>>0>=5e8){if((ya|0)!=5e8){qb=jb*.75+ob;break}if(($a+3&127|0)==(ib|0)){qb=jb*.5+ob;break}else{qb=jb*.75+ob;break}}else{if((ya|0)==0?($a+3&127|0)==(ib|0):0){qb=ob;break}qb=jb*.25+ob}while(0);if((53-H|0)>1?!(+BEa(qb,1.0)!=0.0):0)rb=qb+1.0;else rb=qb}else rb=ob;jb=pb+rb-nb;do if((wa&2147483647|0)>(-2-k|0)){ya=!(+K(+jb)>=9007199254740992.0);va=_a+((ya^1)&1)|0;kb=ya?jb:jb*.5;if((va+50|0)<=(l|0)?!(rb!=0.0&(J&((H|0)!=(F|0)|ya))):0){sb=kb;tb=va;break}ya=iCa()|0;f[ya>>2]=34;sb=kb;tb=va}else{sb=jb;tb=_a}while(0);Aa=+yEa(sb,tb)}while(0);u=i;return +Aa}function TEa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;c=a+4|0;d=f[c>>2]|0;e=a+100|0;if(d>>>0<(f[e>>2]|0)>>>0){f[c>>2]=d+1;g=h[d>>0]|0}else g=HCa(a)|0;switch(g|0){case 43:case 45:{d=(g|0)==45&1;i=f[c>>2]|0;if(i>>>0<(f[e>>2]|0)>>>0){f[c>>2]=i+1;j=h[i>>0]|0}else j=HCa(a)|0;if((b|0)!=0&(j+-48|0)>>>0>9?(f[e>>2]|0)!=0:0){f[c>>2]=(f[c>>2]|0)+-1;k=d;l=j}else{k=d;l=j}break}default:{k=0;l=g}}if((l+-48|0)>>>0>9)if(!(f[e>>2]|0)){m=-2147483648;n=0}else{f[c>>2]=(f[c>>2]|0)+-1;m=-2147483648;n=0}else{g=0;j=l;while(1){g=j+-48+(g*10|0)|0;l=f[c>>2]|0;if(l>>>0<(f[e>>2]|0)>>>0){f[c>>2]=l+1;o=h[l>>0]|0}else o=HCa(a)|0;if(!((o+-48|0)>>>0<10&(g|0)<214748364))break;else j=o}j=((g|0)<0)<<31>>31;if((o+-48|0)>>>0<10){l=o;d=g;b=j;while(1){i=wVa(d|0,b|0,10,0)|0;p=I;q=qVa(l|0,((l|0)<0)<<31>>31|0,-48,-1)|0;r=qVa(q|0,I|0,i|0,p|0)|0;p=I;i=f[c>>2]|0;if(i>>>0<(f[e>>2]|0)>>>0){f[c>>2]=i+1;s=h[i>>0]|0}else s=HCa(a)|0;if((s+-48|0)>>>0<10&((p|0)<21474836|(p|0)==21474836&r>>>0<2061584302)){l=s;d=r;b=p}else{t=s;u=r;v=p;break}}}else{t=o;u=g;v=j}if((t+-48|0)>>>0<10)do{t=f[c>>2]|0;if(t>>>0<(f[e>>2]|0)>>>0){f[c>>2]=t+1;w=h[t>>0]|0}else w=HCa(a)|0}while((w+-48|0)>>>0<10);if(f[e>>2]|0)f[c>>2]=(f[c>>2]|0)+-1;c=(k|0)!=0;k=rVa(0,0,u|0,v|0)|0;m=c?I:v;n=c?k:u}I=m;return n|0}function UEa(a,b){a=a|0;b=b|0;return +(+PEa(a,b,1))}function VEa(a,b){a=a|0;b=b|0;return +(+PEa(a,b,2))}function WEa(a,b,c){a=a|0;b=b|0;c=c|0;return +(+OEa(a,b))}function XEa(a,b,c){a=a|0;b=b|0;c=c|0;return +(+UEa(a,b))}function YEa(a,b,c){a=a|0;b=b|0;c=c|0;return +(+VEa(a,b))}function ZEa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;g=u;u=u+1040|0;h=g+8|0;i=g;j=f[b>>2]|0;f[i>>2]=j;k=(a|0)!=0;l=k?d:256;d=k?a:h;a=j;a:do if((l|0)!=0&(j|0)!=0){m=0;n=c;o=l;p=d;q=a;while(1){r=n>>>2;s=r>>>0>=o>>>0;if(!(n>>>0>131|s)){t=p;v=m;w=n;x=o;y=q;break a}z=s?o:r;A=n-z|0;r=BDa(p,i,z,e)|0;if((r|0)==-1)break;z=(p|0)==(h|0);s=o-(z?0:r)|0;B=z?p:p+(r<<2)|0;z=r+m|0;r=f[i>>2]|0;if((s|0)!=0&(r|0)!=0){m=z;n=A;o=s;p=B;q=r}else{t=B;v=z;w=A;x=s;y=r;break a}}t=p;v=-1;w=A;x=0;y=f[i>>2]|0}else{t=d;v=0;w=c;x=l;y=a}while(0);b:do if((y|0)!=0?(x|0)!=0&(w|0)!=0:0){a=v;l=w;c=t;d=x;A=y;while(1){C=kEa(c,A,l,e)|0;if((C+2|0)>>>0<3)break;A=(f[i>>2]|0)+C|0;f[i>>2]=A;l=l-C|0;d=d+-1|0;h=a+1|0;if(!((d|0)!=0&(l|0)!=0)){D=h;break b}else{a=h;c=c+4|0}}switch(C|0){case -1:{D=-1;break b;break}case 0:{f[i>>2]=0;D=a;break b;break}default:{f[e>>2]=0;D=a;break b}}}else D=v;while(0);if(k)f[b>>2]=f[i>>2];u=g;return D|0}function _Ea(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+272|0;g=e+8|0;h=e;i=f[b>>2]|0;f[h>>2]=i;j=(a|0)!=0;k=j?d:256;d=j?a:g;a=i;a:do if((k|0)!=0&(i|0)!=0){l=0;m=c;n=k;o=d;p=a;while(1){q=m>>>0>=n>>>0;if(!(q|m>>>0>32)){r=o;s=l;t=m;v=n;w=p;break a}x=q?n:m;y=m-x|0;q=$Ea(o,h,x,0)|0;if((q|0)==-1)break;x=(o|0)==(g|0);z=n-(x?0:q)|0;A=x?o:o+q|0;x=q+l|0;q=f[h>>2]|0;if((z|0)!=0&(q|0)!=0){l=x;m=y;n=z;o=A;p=q}else{r=A;s=x;t=y;v=z;w=q;break a}}r=o;s=-1;t=y;v=0;w=f[h>>2]|0}else{r=d;s=0;t=c;v=k;w=a}while(0);b:do if((w|0)!=0?(v|0)!=0&(t|0)!=0:0){a=s;k=t;c=r;d=v;y=w;while(1){B=ZCa(c,f[y>>2]|0,0)|0;if((B+1|0)>>>0<2)break;y=(f[h>>2]|0)+4|0;f[h>>2]=y;k=k+-1|0;d=d-B|0;g=B+a|0;if(!((d|0)!=0&(k|0)!=0)){C=g;break b}else{a=g;c=c+B|0}}if(!B){f[h>>2]=0;C=a}else C=-1}else C=s;while(0);if(j)f[b>>2]=f[h>>2];u=e;return C|0}function $Ea(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;e=u;u=u+16|0;g=e;a:do if(!a){h=f[c>>2]|0;i=f[h>>2]|0;if(!i)j=0;else{k=h;h=0;l=i;while(1){if(l>>>0>127){i=ZCa(g,l,0)|0;if((i|0)==-1){j=-1;break a}else m=i}else m=1;i=m+h|0;k=k+4|0;l=f[k>>2]|0;if(!l){j=i;break}else h=i}}}else{b:do if(d>>>0>3){h=a;l=d;k=f[c>>2]|0;while(1){i=f[k>>2]|0;if((i+-1|0)>>>0>126){if(!i)break;n=ZCa(h,i,0)|0;if((n|0)==-1){j=-1;break a}o=h+n|0;p=l-n|0;q=k}else{b[h>>0]=i;o=h+1|0;p=l+-1|0;q=f[c>>2]|0}k=q+4|0;f[c>>2]=k;if(p>>>0<=3){r=o;s=p;break b}else{h=o;l=p}}b[h>>0]=0;f[c>>2]=0;j=d-l|0;break a}else{r=a;s=d}while(0);if(s){k=r;i=s;n=f[c>>2]|0;while(1){t=f[n>>2]|0;if((t+-1|0)>>>0>126){if(!t){v=19;break}w=ZCa(g,t,0)|0;if((w|0)==-1){j=-1;break a}if(i>>>0>>0){v=22;break}ZCa(k,f[n>>2]|0,0)|0;x=k+w|0;y=i-w|0;z=n}else{b[k>>0]=t;x=k+1|0;y=i+-1|0;z=f[c>>2]|0}n=z+4|0;f[c>>2]=n;if(!y){j=d;break a}else{k=x;i=y}}if((v|0)==19){b[k>>0]=0;f[c>>2]=0;j=d-i|0;break}else if((v|0)==22){j=d-i|0;break}}else j=d}while(0);u=e;return j|0}function aFa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;a:do if(!c)i=0;else{do if(d|0){j=(a|0)==0?g:a;k=b[c>>0]|0;if(k<<24>>24>-1){f[j>>2]=k&255;i=k<<24>>24!=0&1;break a}k=(bFa()|0)+188|0;l=b[c>>0]|0;if(!(f[f[k>>2]>>2]|0)){f[j>>2]=l<<24>>24&57343;i=1;break a}k=(l&255)+-194|0;if(k>>>0<=50){l=c+1|0;m=f[110616+(k<<2)>>2]|0;if(d>>>0<4?m&-2147483648>>>((d*6|0)+-6|0)|0:0)break;k=h[l>>0]|0;l=k>>>3;if((l+-16|l+(m>>26))>>>0<=7){l=k+-128|m<<6;if((l|0)>=0){f[j>>2]=l;i=2;break a}m=(h[c+2>>0]|0)+-128|0;if(m>>>0<=63){k=m|l<<6;if((k|0)>=0){f[j>>2]=k;i=3;break a}l=(h[c+3>>0]|0)+-128|0;if(l>>>0<=63){f[j>>2]=l|k<<6;i=4;break a}}}}}while(0);k=iCa()|0;f[k>>2]=84;i=-1}while(0);u=e;return i|0}function bFa(){return $Ca()|0}function cFa(a){a=a|0;var b=0;if(!a)b=1;else b=(f[a>>2]|0)==0&1;return b|0}function dFa(a,b,c){a=a|0;b=b|0;c=c|0;return kEa(0,a,b,c|0?c:809304)|0}function eFa(){nd(809308);return 809316}function fFa(){Bd(809308);return}function gFa(a){a=a|0;var b=0,c=0;b=eFa()|0;f[a+56>>2]=f[b>>2];c=f[b>>2]|0;if(c|0)f[c+52>>2]=a;f[b>>2]=a;fFa();return a|0}function hFa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=u;u=u+64|0;e=d+40|0;g=d+24|0;h=d+16|0;i=d;j=d+56|0;if(pCa(447805,b[c>>0]|0)|0){k=YBa(1156)|0;if(!k)l=0;else{FVa(k|0,0,124)|0;if(!(pCa(c,43)|0))f[k>>2]=(b[c>>0]|0)==114?8:4;if(pCa(c,101)|0){f[i>>2]=a;f[i+4>>2]=2;f[i+8>>2]=1;ud(221,i|0)|0}if((b[c>>0]|0)==97){f[h>>2]=a;f[h+4>>2]=3;c=ud(221,h|0)|0;if(!(c&1024)){f[g>>2]=a;f[g+4>>2]=4;f[g+8>>2]=c|1024;ud(221,g|0)|0}g=f[k>>2]|128;f[k>>2]=g;m=g}else m=f[k>>2]|0;f[k+60>>2]=a;f[k+44>>2]=k+132;f[k+48>>2]=1024;g=k+75|0;b[g>>0]=-1;if((m&8|0)==0?(f[e>>2]=a,f[e+4>>2]=21523,f[e+8>>2]=j,(yd(54,e|0)|0)==0):0)b[g>>0]=10;f[k+32>>2]=14;f[k+36>>2]=15;f[k+40>>2]=13;f[k+12>>2]=33;if(!(f[202306]|0))f[k+76>>2]=-1;gFa(k)|0;l=k}}else{k=iCa()|0;f[k>>2]=22;l=0}u=d;return l|0}function iFa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+48|0;e=d+32|0;g=d+16|0;h=d;if(pCa(447805,b[c>>0]|0)|0){i=jFa(c)|0;f[h>>2]=a;f[h+4>>2]=i|32768;f[h+8>>2]=438;a=hCa(xd(5,h|0)|0)|0;if((a|0)>=0){if(i&524288|0){f[g>>2]=a;f[g+4>>2]=2;f[g+8>>2]=1;ud(221,g|0)|0}g=hFa(a,c)|0;if(!g){f[e>>2]=a;zd(6,e|0)|0;j=0}else j=g}else j=0}else{g=iCa()|0;f[g>>2]=22;j=0}u=d;return j|0}function jFa(a){a=a|0;var c=0,d=0,e=0,f=0;c=(pCa(a,43)|0)==0;d=b[a>>0]|0;e=c?d<<24>>24!=114&1:2;c=(pCa(a,120)|0)==0;f=c?e:e|128;e=(pCa(a,101)|0)==0;a=e?f:f|524288;f=d<<24>>24==114?a:a|64;a=d<<24>>24==119?f|512:f;return (d<<24>>24==97?a|1024:a)|0}function kFa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=a+84|0;e=f[d>>2]|0;g=c+256|0;h=yCa(e,0,g)|0;i=(h|0)==0?g:h-e|0;h=i>>>0>>0?i:c;DVa(b|0,e|0,h|0)|0;f[a+4>>2]=e+h;b=e+i|0;f[a+8>>2]=b;f[d>>2]=b;return h|0}function lFa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+16|0;e=d;g=c&255;b[e>>0]=g;i=a+16|0;j=f[i>>2]|0;if(!j)if(!(hDa(a)|0)){k=f[i>>2]|0;l=4}else m=-1;else{k=j;l=4}do if((l|0)==4){j=a+20|0;i=f[j>>2]|0;if(i>>>0>>0?(n=c&255,(n|0)!=(b[a+75>>0]|0)):0){f[j>>2]=i+1;b[i>>0]=g;m=n;break}if((bg[f[a+36>>2]&127](a,e,1)|0)==1)m=h[e>>0]|0;else m=-1}while(0);u=d;return m|0}function mFa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+16|0;e=d;f[e>>2]=f[c>>2];g=nDa(0,0,b,e)|0;if((g|0)>=0?(e=g+1|0,g=YBa(e)|0,f[a>>2]=g,(g|0)!=0):0)h=nDa(g,e,b,c)|0;else h=-1;u=d;return h|0}function nFa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;if((f[a+76>>2]|0)>=0?(ACa(a)|0)!=0:0){b=a+4|0;c=f[b>>2]|0;if(c>>>0<(f[a+8>>2]|0)>>>0){f[b>>2]=c+1;d=h[c>>0]|0}else d=CCa(a)|0;e=d}else g=3;do if((g|0)==3){d=a+4|0;c=f[d>>2]|0;if(c>>>0<(f[a+8>>2]|0)>>>0){f[d>>2]=c+1;e=h[c>>0]|0;break}else{e=CCa(a)|0;break}}while(0);return e|0}function oFa(a){a=a|0;var b=0,c=0,d=0;if((f[a+76>>2]|0)>-1){b=(ACa(a)|0)==0;c=pFa(a)|0;if(b)d=c;else d=c}else d=pFa(a)|0;return d|0}function pFa(a){a=a|0;var b=0,c=0,d=0;if(!(f[a>>2]&128))b=1;else b=(f[a+20>>2]|0)>>>0>(f[a+28>>2]|0)>>>0?2:1;c=bg[f[a+40>>2]&127](a,0,b)|0;if((c|0)<0)d=c;else d=c-(f[a+8>>2]|0)+(f[a+4>>2]|0)+(f[a+20>>2]|0)-(f[a+28>>2]|0)|0;return d|0}function qFa(a,b){a=a|0;b=b|0;var c=0;c=nCa(a)|0;return ((rFa(a,1,c,b)|0)!=(c|0))<<31>>31|0}function rFa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=X(c,b)|0;g=(b|0)==0?0:c;if((f[d+76>>2]|0)>-1){c=(ACa(d)|0)==0;h=gDa(a,e,d)|0;if(c)i=h;else{BCa(d);i=h}}else i=gDa(a,e,d)|0;if((i|0)==(e|0))j=g;else j=(i>>>0)/(b>>>0)|0;return j|0}function sFa(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d>>2]=b;b=JCa(f[27705]|0,a,d)|0;u=c;return b|0}function tFa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0.0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0;e=u;u=u+288|0;g=e+8|0;i=e+17|0;j=e;k=e+16|0;if((f[a+76>>2]|0)>-1)l=ACa(a)|0;else l=0;m=b[c>>0]|0;a:do if(m<<24>>24){o=a+4|0;q=a+100|0;r=a+108|0;s=a+8|0;t=i+10|0;v=i+33|0;w=g+4|0;x=c;y=0;z=0;A=0;B=m;C=0;b:while(1){c:do if(!(rCa(B&255)|0)){D=(b[x>>0]|0)==37;d:do if(D){E=x+1|0;F=b[E>>0]|0;e:do switch(F<<24>>24){case 37:{break d;break}case 42:{G=0;H=x+2|0;break}default:{if(MCa(F&255)|0?(b[x+2>>0]|0)==36:0){G=uFa(d,(h[E>>0]|0)+-48|0)|0;H=x+3|0;break e}J=(f[d>>2]|0)+(4-1)&~(4-1);K=f[J>>2]|0;f[d>>2]=J+4;G=K;H=E}}while(0);if(!(MCa(h[H>>0]|0)|0)){L=0;M=H}else{E=0;F=H;while(1){K=(E*10|0)+-48+(h[F>>0]|0)|0;J=F+1|0;if(!(MCa(h[J>>0]|0)|0)){L=K;M=J;break}else{E=K;F=J}}}F=b[M>>0]|0;E=M+1|0;if(F<<24>>24==109){N=(G|0)!=0&1;O=0;P=E;Q=b[E>>0]|0;R=0}else{N=0;O=A;P=M;Q=F;R=C}F=P+1|0;switch(Q<<24>>24){case 104:{E=(b[F>>0]|0)==104;S=E?-2:-1;T=E?P+2|0:F;break}case 108:{E=(b[F>>0]|0)==108;S=E?3:1;T=E?P+2|0:F;break}case 106:{S=3;T=F;break}case 116:case 122:{S=1;T=F;break}case 76:{S=2;T=F;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{S=0;T=P;break}default:{U=O;V=R;W=136;break b}}F=h[T>>0]|0;E=(F&47|0)==3;J=E?F|32:F;F=E?1:S;E=J&255;switch(E<<24>>24){case 99:{X=(L|0)>1?L:1;Y=y;break}case 91:{X=L;Y=y;break}case 110:{vFa(G,F,y,((y|0)<0)<<31>>31);Z=T;_=z;$=y;aa=O;ba=R;break c;break}default:{FCa(a,0);do{K=f[o>>2]|0;if(K>>>0<(f[q>>2]|0)>>>0){f[o>>2]=K+1;ca=h[K>>0]|0}else ca=HCa(a)|0}while((rCa(ca)|0)!=0);if(!(f[q>>2]|0))da=f[o>>2]|0;else{K=(f[o>>2]|0)+-1|0;f[o>>2]=K;da=K}X=L;Y=(f[r>>2]|0)+y+da-(f[s>>2]|0)|0}}FCa(a,X);K=f[o>>2]|0;ea=f[q>>2]|0;if(K>>>0>>0){f[o>>2]=K+1;fa=ea}else{if((HCa(a)|0)<0){U=O;V=R;W=136;break b}fa=f[q>>2]|0}if(fa|0)f[o>>2]=(f[o>>2]|0)+-1;f:do switch(E<<24>>24){case 91:case 99:case 115:{ea=(J|0)==99;g:do if((J|16|0)==115){FVa(i|0,-1,257)|0;b[i>>0]=0;if((J|0)==115){b[v>>0]=0;b[t>>0]=0;b[t+1>>0]=0;b[t+2>>0]=0;b[t+3>>0]=0;b[t+4>>0]=0;ga=T}else ga=T}else{K=T+1|0;ha=(b[K>>0]|0)==94;ia=ha&1;ja=ha?T+2|0:K;FVa(i|0,ia|0,257)|0;b[i>>0]=0;K=b[ja>>0]|0;switch(K<<24>>24){case 45:{ka=ja;la=46;W=65;break}case 93:{ka=ja;la=94;W=65;break}default:{ma=ja;na=K}}while(1){if((W|0)==65){W=0;b[i+la>>0]=ia^1;K=ka+1|0;ma=K;na=b[K>>0]|0}h:do switch(na<<24>>24){case 0:{U=O;V=R;W=136;break b;break}case 93:{ga=ma;break g;break}case 45:{K=ma+1|0;ja=b[K>>0]|0;switch(ja<<24>>24){case 93:case 0:{oa=ma;pa=45;break h;break}default:{}}ha=b[ma+-1>>0]|0;if((ha&255)<(ja&255)){qa=(ia^1)&255;ra=ha&255;do{ra=ra+1|0;b[i+ra>>0]=qa;ha=b[K>>0]|0}while((ra|0)<(ha&255|0));oa=K;pa=ha}else{oa=K;pa=ja}break}default:{oa=ma;pa=na}}while(0);ka=oa;la=(pa&255)+1|0;W=65}}while(0);ia=ea?X+1|0:31;ra=(F|0)==1;qa=(N|0)!=0;i:do if(ra){if(qa){ha=YBa(ia<<2)|0;if(!ha){U=0;V=0;W=136;break b}else sa=ha}else sa=G;f[g>>2]=0;f[w>>2]=0;ha=ia;ta=0;ua=sa;j:while(1){va=(ua|0)==0;wa=ta;while(1){k:while(1){xa=f[o>>2]|0;if(xa>>>0<(f[q>>2]|0)>>>0){f[o>>2]=xa+1;ya=h[xa>>0]|0}else ya=HCa(a)|0;if(!(b[i+(ya+1)>>0]|0))break j;b[k>>0]=ya;switch(kEa(j,k,1,g)|0){case -1:{U=0;V=ua;W=136;break b;break}case -2:break;default:break k}}if(va)za=wa;else{f[ua+(wa<<2)>>2]=f[j>>2];za=wa+1|0}if(qa&(za|0)==(ha|0))break;else wa=za}va=ha<<1|1;ja=$Ba(ua,va<<2)|0;if(!ja){U=0;V=ua;W=136;break b}else{K=ha;ha=va;ua=ja;ta=K}}if(!(cFa(g)|0)){U=0;V=ua;W=136;break b}else{Aa=wa;Ba=0;Ca=ua;Da=ua}}else{if(qa){ta=YBa(ia)|0;if(!ta){U=0;V=0;W=136;break b}else{Ea=ia;Fa=0;Ga=ta}while(1){ta=Fa;do{ha=f[o>>2]|0;if(ha>>>0<(f[q>>2]|0)>>>0){f[o>>2]=ha+1;Ha=h[ha>>0]|0}else Ha=HCa(a)|0;if(!(b[i+(Ha+1)>>0]|0)){Aa=ta;Ba=Ga;Ca=0;Da=0;break i}b[Ga+ta>>0]=Ha;ta=ta+1|0}while((ta|0)!=(Ea|0));ta=Ea<<1|1;ha=$Ba(Ga,ta)|0;if(!ha){U=Ga;V=0;W=136;break b}else{K=Ea;Ea=ta;Ga=ha;Fa=K}}}if(!G)while(1){ua=f[o>>2]|0;if(ua>>>0<(f[q>>2]|0)>>>0){f[o>>2]=ua+1;Ia=h[ua>>0]|0}else Ia=HCa(a)|0;if(!(b[i+(Ia+1)>>0]|0)){Aa=0;Ba=0;Ca=0;Da=0;break i}}else Ja=0;while(1){ua=f[o>>2]|0;if(ua>>>0<(f[q>>2]|0)>>>0){f[o>>2]=ua+1;Ka=h[ua>>0]|0}else Ka=HCa(a)|0;if(!(b[i+(Ka+1)>>0]|0)){Aa=Ja;Ba=G;Ca=0;Da=0;break i}b[G+Ja>>0]=Ka;Ja=Ja+1|0}}while(0);if(!(f[q>>2]|0))La=f[o>>2]|0;else{ia=(f[o>>2]|0)+-1|0;f[o>>2]=ia;La=ia}ia=La-(f[s>>2]|0)+(f[r>>2]|0)|0;if(!ia){Ma=N;Na=z;Oa=Ba;Pa=Da;break b}if(!((ia|0)==(X|0)|ea^1)){Ma=N;Na=z;Oa=Ba;Pa=Da;break b}do if(qa)if(ra){f[G>>2]=Ca;break}else{f[G>>2]=Ba;break}while(0);if(ea){Qa=ga;Ra=Ba;Sa=Da}else{if(Ca|0)f[Ca+(Aa<<2)>>2]=0;if(!Ba){Qa=ga;Ra=0;Sa=Da;break f}b[Ba+Aa>>0]=0;Qa=ga;Ra=Ba;Sa=Da}break}case 120:case 88:case 112:{Ta=16;W=124;break}case 111:{Ta=8;W=124;break}case 117:case 100:{Ta=10;W=124;break}case 105:{Ta=0;W=124;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{Ua=+QEa(a,F,0);if((f[r>>2]|0)==((f[s>>2]|0)-(f[o>>2]|0)|0)){Ma=N;Na=z;Oa=O;Pa=R;break b}if(!G){Qa=T;Ra=O;Sa=R}else switch(F|0){case 0:{n[G>>2]=Ua;Qa=T;Ra=O;Sa=R;break f;break}case 1:{p[G>>3]=Ua;Qa=T;Ra=O;Sa=R;break f;break}case 2:{p[G>>3]=Ua;Qa=T;Ra=O;Sa=R;break f;break}default:{Qa=T;Ra=O;Sa=R;break f}}break}default:{Qa=T;Ra=O;Sa=R}}while(0);do if((W|0)==124){W=0;E=GCa(a,Ta,0,-1,-1)|0;if((f[r>>2]|0)==((f[s>>2]|0)-(f[o>>2]|0)|0)){Ma=N;Na=z;Oa=O;Pa=R;break b}if((G|0)!=0&(J|0)==112){f[G>>2]=E;Qa=T;Ra=O;Sa=R;break}else{vFa(G,F,E,I);Qa=T;Ra=O;Sa=R;break}}while(0);Z=Qa;_=z+((G|0)!=0&1)|0;$=(f[r>>2]|0)+Y+(f[o>>2]|0)-(f[s>>2]|0)|0;aa=Ra;ba=Sa;break c}while(0);F=x+(D&1)|0;FCa(a,0);J=f[o>>2]|0;if(J>>>0<(f[q>>2]|0)>>>0){f[o>>2]=J+1;Va=h[J>>0]|0}else Va=HCa(a)|0;if((Va|0)!=(h[F>>0]|0)){W=22;break b}Z=F;_=z;$=y+1|0;aa=A;ba=C}else{F=x;while(1){J=F+1|0;if(!(rCa(h[J>>0]|0)|0))break;else F=J}FCa(a,0);do{D=f[o>>2]|0;if(D>>>0<(f[q>>2]|0)>>>0){f[o>>2]=D+1;Wa=h[D>>0]|0}else Wa=HCa(a)|0}while((rCa(Wa)|0)!=0);if(!(f[q>>2]|0))Xa=f[o>>2]|0;else{D=(f[o>>2]|0)+-1|0;f[o>>2]=D;Xa=D}Z=F;_=z;$=(f[r>>2]|0)+y+Xa-(f[s>>2]|0)|0;aa=A;ba=C}while(0);x=Z+1|0;B=b[x>>0]|0;if(!(B<<24>>24)){Ya=_;break a}else{y=$;z=_;A=aa;C=ba}}if((W|0)==22){if(f[q>>2]|0)f[o>>2]=(f[o>>2]|0)+-1;if((z|0)!=0|(Va|0)>-1){Ya=z;break}else{Za=0;_a=A;$a=C;W=137}}else if((W|0)==136)if(!z){Za=N;_a=U;$a=V;W=137}else{Ma=N;Na=z;Oa=U;Pa=V}if((W|0)==137){Ma=Za;Na=-1;Oa=_a;Pa=$a}if(!Ma)Ya=Na;else{ZBa(Oa);ZBa(Pa);Ya=Na}}else Ya=0;while(0);if(l|0)BCa(a);u=e;return Ya|0}function uFa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;f[d>>2]=f[a>>2];a=b;while(1){b=(f[d>>2]|0)+(4-1)&~(4-1);e=f[b>>2]|0;f[d>>2]=b+4;if(a>>>0>1)a=a+-1|0;else break}u=c;return e|0}function vFa(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0;a:do if(a|0)switch(c|0){case -2:{b[a>>0]=e;break a;break}case -1:{d[a>>1]=e;break a;break}case 0:{f[a>>2]=e;break a;break}case 1:{f[a>>2]=e;break a;break}case 3:{h=a;f[h>>2]=e;f[h+4>>2]=g;break a;break}default:break a}while(0);return}function wFa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;if((f[a+76>>2]|0)>-1){d=(ACa(a)|0)==0;e=xFa(a,b,c)|0;if(d)g=e;else{BCa(a);g=e}}else g=xFa(a,b,c)|0;return g|0}function xFa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;if((c|0)==1)d=b-(f[a+8>>2]|0)+(f[a+4>>2]|0)|0;else d=b;b=a+20|0;e=a+28|0;if((f[b>>2]|0)>>>0>(f[e>>2]|0)>>>0?(bg[f[a+36>>2]&127](a,0,0)|0,(f[b>>2]|0)==0):0)g=-1;else{f[a+16>>2]=0;f[e>>2]=0;f[b>>2]=0;if((bg[f[a+40>>2]&127](a,d,c)|0)<0)g=-1;else{f[a+8>>2]=0;f[a+4>>2]=0;f[a>>2]=f[a>>2]&-17;g=0}}return g|0}function yFa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[e>>2]=c;c=zFa(a,b,e)|0;u=d;return c|0}function zFa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+128|0;e=d;g=e;h=g+124|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[e+32>>2]=85;f[e+44>>2]=a;f[e+76>>2]=-1;f[e+84>>2]=a;a=tFa(e,b,c)|0;u=d;return a|0}function AFa(a,b,c){a=a|0;b=b|0;c=c|0;return kFa(a,b,c)|0}function BFa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;do if((a|0)!=-1){if((f[c+76>>2]|0)>-1)d=ACa(c)|0;else d=0;e=c+4|0;g=f[e>>2]|0;if(!g){DCa(c)|0;h=f[e>>2]|0;if(h|0){i=h;j=6}}else{i=g;j=6}if((j|0)==6?i>>>0>((f[c+44>>2]|0)+-8|0)>>>0:0){g=i+-1|0;f[e>>2]=g;b[g>>0]=a;f[c>>2]=f[c>>2]&-17;if(!d){k=a;break}BCa(c);k=a;break}if(d){BCa(c);k=-1}else k=-1}else k=-1;while(0);return k|0}function CFa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;if((f[c+76>>2]|0)>=0?(ACa(c)|0)!=0:0){d=a&255;e=a&255;if((e|0)!=(b[c+75>>0]|0)?(g=c+20|0,h=f[g>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[g>>2]=h+1;b[h>>0]=d;i=e}else i=lFa(c,a)|0;BCa(c);j=i}else k=3;do if((k|0)==3){i=a&255;e=a&255;if((e|0)!=(b[c+75>>0]|0)?(d=c+20|0,h=f[d>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[d>>2]=h+1;b[h>>0]=i;j=e;break}j=lFa(c,a)|0}while(0);return j|0}function DFa(){return $Ca()|0}function EFa(a){a=a|0;var b=0,c=0,d=0;if(f[a+68>>2]|0){b=f[a+116>>2]|0;c=a+112|0;if(b|0)f[b+112>>2]=f[c>>2];a=f[c>>2]|0;if(!a)d=(DFa()|0)+232|0;else d=a+116|0;f[d>>2]=b}return}function FFa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;if((f[a+76>>2]|0)>-1)b=ACa(a)|0;else b=0;EFa(a);c=(f[a>>2]&1|0)!=0;if(!c){d=eFa()|0;e=f[a+52>>2]|0;g=a+56|0;if(e|0)f[e+56>>2]=f[g>>2];h=f[g>>2]|0;if(h|0)f[h+52>>2]=e;if((f[d>>2]|0)==(a|0))f[d>>2]=h;fFa()}h=GFa(a)|0;d=Wf[f[a+12>>2]&255](a)|0|h;h=f[a+92>>2]|0;if(h|0)ZBa(h);if(c){if(b|0)BCa(a)}else ZBa(a);return d|0}function GFa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;do if(a){if((f[a+76>>2]|0)<=-1){b=HFa(a)|0;break}c=(ACa(a)|0)==0;d=HFa(a)|0;if(c)b=d;else{BCa(a);b=d}}else{if(!(f[27737]|0))e=0;else e=GFa(f[27737]|0)|0;d=eFa()|0;c=f[d>>2]|0;if(!c)g=e;else{d=c;c=e;while(1){if((f[d+76>>2]|0)>-1)h=ACa(d)|0;else h=0;if((f[d+20>>2]|0)>>>0>(f[d+28>>2]|0)>>>0)i=HFa(d)|0|c;else i=c;if(h|0)BCa(d);d=f[d+56>>2]|0;if(!d){g=i;break}else c=i}}fFa();b=g}while(0);return b|0}function HFa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=a+20|0;c=a+28|0;if((f[b>>2]|0)>>>0>(f[c>>2]|0)>>>0?(bg[f[a+36>>2]&127](a,0,0)|0,(f[b>>2]|0)==0):0)d=-1;else{e=a+4|0;g=f[e>>2]|0;h=a+8|0;i=f[h>>2]|0;if(g>>>0>>0)bg[f[a+40>>2]&127](a,g-i|0,1)|0;f[a+16>>2]=0;f[c>>2]=0;f[b>>2]=0;f[h>>2]=0;f[e>>2]=0;d=0}return d|0}function IFa(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[27705]|0;if((f[c+76>>2]|0)>-1)d=ACa(c)|0;else d=0;do if((qFa(a,c)|0)<0)e=-1;else{if((b[c+75>>0]|0)!=10?(g=c+20|0,h=f[g>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[g>>2]=h+1;b[h>>0]=10;e=0;break}e=(lFa(c,10)|0)>>31}while(0);if(d|0)BCa(c);return e|0}function JFa(a,b,c){a=a|0;b=b|0;c=c|0;return wFa(a,b,c)|0}function KFa(a){a=a|0;var b=0;if((f[a+76>>2]|0)>-1){b=(ACa(a)|0)==0;xFa(a,0,0)|0;f[a>>2]=f[a>>2]&-33;if(!b)BCa(a)}else{xFa(a,0,0)|0;f[a>>2]=f[a>>2]&-33}return}function LFa(a){a=a|0;return oFa(a)|0}function MFa(a){a=a|0;var b=0,c=0,d=0;if((f[a+76>>2]|0)>-1){b=(ACa(a)|0)==0;c=(f[a>>2]|0)>>>4&1;if(b)d=c;else d=c}else d=(f[a>>2]|0)>>>4&1;return d|0}function NFa(a){a=a|0;OFa(a);return}function OFa(a){a=a|0;f[a>>2]=114708;PFa(a,0);zIa(a+28|0);ZBa(f[a+32>>2]|0);ZBa(f[a+36>>2]|0);ZBa(f[a+48>>2]|0);ZBa(f[a+60>>2]|0);return}function PFa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=a+32|0;d=a+36|0;e=f[a+40>>2]|0;while(1){if(!e)break;g=e+-1|0;Rg[f[(f[c>>2]|0)+(g<<2)>>2]&255](b,a,f[(f[d>>2]|0)+(g<<2)>>2]|0);e=g}return}function QFa(a){a=a|0;OFa(a);GQa(a);return}function RFa(a){a=a|0;OFa(a);return}function SFa(a){a=a|0;f[a>>2]=114724;zIa(a+4|0);return}function TFa(a){a=a|0;SFa(a);GQa(a);return}function UFa(a,b){a=a|0;b=b|0;return}function VFa(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function WFa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;g=a;f[g>>2]=0;f[g+4>>2]=0;g=a+8|0;f[g>>2]=-1;f[g+4>>2]=-1;return}function XFa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=a;f[d>>2]=0;f[d+4>>2]=0;d=a+8|0;f[d>>2]=-1;f[d+4>>2]=-1;return}function YFa(a){a=a|0;return 0}function ZFa(a){a=a|0;return 0}function _Fa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;eGa()|0;e=a+12|0;g=a+16|0;h=c;c=0;while(1){if((c|0)>=(d|0))break;i=f[e>>2]|0;j=f[g>>2]|0;if(i>>>0>>0){k=j-i|0;j=d-c|0;l=(j|0)<(k|0)?j:k;gGa(h,i,l)|0;f[e>>2]=(f[e>>2]|0)+l;h=h+l|0;c=l+c|0;continue}l=Wf[f[(f[a>>2]|0)+40>>2]&255](a)|0;if((l|0)==-1)break;i=hGa(l)|0;b[h>>0]=i;h=h+1|0;c=c+1|0}return c|0}function $Fa(a){a=a|0;return eGa()|0}function aGa(a){a=a|0;var c=0,d=0;c=Wf[f[(f[a>>2]|0)+36>>2]&255](a)|0;if((c|0)==(eGa()|0))d=eGa()|0;else{c=a+12|0;a=f[c>>2]|0;f[c>>2]=a+1;d=fGa(b[a>>0]|0)|0}return d|0}function bGa(a,b){a=a|0;b=b|0;return eGa()|0}function cGa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=eGa()|0;g=a+24|0;h=a+28|0;i=c;c=0;while(1){if((c|0)>=(d|0))break;j=f[g>>2]|0;k=f[h>>2]|0;if(j>>>0>>0){l=k-j|0;k=d-c|0;m=(k|0)<(l|0)?k:l;gGa(j,i,m)|0;f[g>>2]=(f[g>>2]|0)+m;i=i+m|0;c=m+c|0;continue}m=f[(f[a>>2]|0)+52>>2]|0;j=fGa(b[i>>0]|0)|0;if((Zf[m&127](a,j)|0)==(e|0))break;i=i+1|0;c=c+1|0}return c|0}function dGa(a,b){a=a|0;b=b|0;return eGa()|0}function eGa(){return -1}function fGa(a){a=a|0;return a&255|0}function gGa(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)DVa(a|0,b|0,c|0)|0;return a|0}function hGa(a){a=a|0;return a&255|0}function iGa(a){a=a|0;f[a>>2]=114788;zIa(a+4|0);return}function jGa(a){a=a|0;iGa(a);GQa(a);return}function kGa(a,b){a=a|0;b=b|0;return}function lGa(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function mGa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;g=a;f[g>>2]=0;f[g+4>>2]=0;g=a+8|0;f[g>>2]=-1;f[g+4>>2]=-1;return}function nGa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=a;f[d>>2]=0;f[d+4>>2]=0;d=a+8|0;f[d>>2]=-1;f[d+4>>2]=-1;return}function oGa(a){a=a|0;return 0}function pGa(a){a=a|0;return 0}function qGa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;wGa()|0;d=a+12|0;e=a+16|0;g=b;b=0;while(1){if((b|0)>=(c|0))break;h=f[d>>2]|0;i=f[e>>2]|0;if(h>>>0>>0){j=i-h>>2;i=c-b|0;k=(i|0)<(j|0)?i:j;yGa(g,h,k)|0;f[d>>2]=(f[d>>2]|0)+(k<<2);g=g+(k<<2)|0;b=k+b|0;continue}k=Wf[f[(f[a>>2]|0)+40>>2]&255](a)|0;if((k|0)==-1)break;h=zGa(k)|0;f[g>>2]=h;g=g+4|0;b=b+1|0}return b|0}function rGa(a){a=a|0;return wGa()|0}function sGa(a){a=a|0;var b=0,c=0;b=Wf[f[(f[a>>2]|0)+36>>2]&255](a)|0;if((b|0)==(wGa()|0))c=wGa()|0;else{b=a+12|0;a=f[b>>2]|0;f[b>>2]=a+4;c=xGa(f[a>>2]|0)|0}return c|0}function tGa(a,b){a=a|0;b=b|0;return wGa()|0}function uGa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=wGa()|0;e=a+24|0;g=a+28|0;h=b;b=0;while(1){if((b|0)>=(c|0))break;i=f[e>>2]|0;j=f[g>>2]|0;if(i>>>0>>0){k=j-i>>2;j=c-b|0;l=(j|0)<(k|0)?j:k;yGa(i,h,l)|0;f[e>>2]=(f[e>>2]|0)+(l<<2);h=h+(l<<2)|0;b=l+b|0;continue}l=f[(f[a>>2]|0)+52>>2]|0;i=xGa(f[h>>2]|0)|0;if((Zf[l&127](a,i)|0)==(d|0))break;h=h+4|0;b=b+1|0}return b|0}function vGa(a,b){a=a|0;b=b|0;return wGa()|0}function wGa(){return -1}function xGa(a){a=a|0;return a|0}function yGa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!c)d=a;else{VDa(a,b,c)|0;d=a}return d|0}function zGa(a){a=a|0;return a|0}function AGa(a){a=a|0;EGa(a,114884);NFa(a+8|0);return}function BGa(a){a=a|0;AGa(a);GQa(a);return}function CGa(a){a=a|0;AGa(a+(f[(f[a>>2]|0)+-12>>2]|0)|0);return}function DGa(a){a=a|0;BGa(a+(f[(f[a>>2]|0)+-12>>2]|0)|0);return}function EGa(a,b){a=a|0;b=b|0;return}function FGa(a){a=a|0;JGa(a,114932);RFa(a+8|0);return}function GGa(a){a=a|0;FGa(a);GQa(a);return}function HGa(a){a=a|0;FGa(a+(f[(f[a>>2]|0)+-12>>2]|0)|0);return}function IGa(a){a=a|0;GGa(a+(f[(f[a>>2]|0)+-12>>2]|0)|0);return}function JGa(a,b){a=a|0;b=b|0;return}function KGa(a){a=a|0;OGa(a,114940);NFa(a+4|0);return}function LGa(a){a=a|0;KGa(a);GQa(a);return}function MGa(a){a=a|0;KGa(a+(f[(f[a>>2]|0)+-12>>2]|0)|0);return}function NGa(a){a=a|0;LGa(a+(f[(f[a>>2]|0)+-12>>2]|0)|0);return}function OGa(a,b){a=a|0;b=b|0;return}function PGa(a){a=a|0;TGa(a,114988);RFa(a+4|0);return}function QGa(a){a=a|0;PGa(a);GQa(a);return}function RGa(a){a=a|0;PGa(a+(f[(f[a>>2]|0)+-12>>2]|0)|0);return}function SGa(a){a=a|0;QGa(a+(f[(f[a>>2]|0)+-12>>2]|0)|0);return}function TGa(a,b){a=a|0;b=b|0;return}function UGa(a){a=a|0;_Ga(a,115056);NFa(a+12|0);return}function VGa(a){a=a|0;UGa(a);GQa(a);return}function WGa(a){a=a|0;UGa(a+-8|0);return}function XGa(a){a=a|0;VGa(a+-8|0);return}function YGa(a){a=a|0;UGa(a+(f[(f[a>>2]|0)+-12>>2]|0)|0);return} +function Lwa(a,c,e,g,h,i,j,k){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,P=0,Q=0,R=0,T=0,U=0.0,V=0.0,W=0.0,Y=0.0,Z=0,_=0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0,ia=0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0.0,ta=0.0,ua=0.0,va=0.0,wa=0.0,xa=0.0,ya=0.0,za=0.0,Aa=0.0,Ba=0.0,Ca=0.0,Da=0.0,Ea=0.0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0.0,Ua=0.0,Va=0.0,Wa=0,Xa=0,Ya=0.0,Za=0.0,_a=0.0,$a=0.0,ab=0.0,bb=0.0;l=u;u=u+896|0;m=l+216|0;o=l+872|0;q=l+864|0;r=l+856|0;s=l+848|0;t=l+792|0;v=l+736|0;w=l+680|0;x=l+624|0;y=l+72|0;z=l+568|0;A=l+512|0;B=l;D=l+456|0;E=l+400|0;F=l+144|0;G=l+344|0;H=l+288|0;yV(q,100792);I=(i|0)<1;a:do if(!I){switch(i|0){case 5:case 11:{break a;break}default:{}}f[m>>2]=0;f[m+4>>2]=0;J=JV(m,80)|0;K=343065;M=J+80|0;do{b[J>>0]=b[K>>0]|0;J=J+1|0;K=K+1|0}while((J|0)<(M|0));EP(-215,m,343146,342798,429);KV(m)}while(0);f[r>>2]=f[h>>2];P=h+4|0;f[r+4>>2]=f[P>>2];_J(j,r,I?11:i,-1,0,0);f[s>>2]=f[h>>2];f[s+4>>2]=f[P>>2];I=(GJ(j,-1)|0)==11;_J(k,s,I?2:5,-1,0,0);if((TJ(a,-1)|0)!=5?(TJ(a,-1)|0)!=6:0)Q=8;else Q=6;if(((Q|0)==6?(TJ(c,-1)|0)!=5:0)?(TJ(c,-1)|0)!=6:0)Q=8;if((Q|0)==8){f[m>>2]=0;f[m+4>>2]=0;J=JV(m,72)|0;K=343170;M=J+72|0;do{b[J>>0]=b[K>>0]|0;J=J+1|0;K=K+1|0}while((J|0)<(M|0));EP(-215,m,343146,342798,433);KV(m)}if((!(VJ(g)|0)?(TJ(g,-1)|0)!=5:0)?(TJ(g,-1)|0)!=6:0)Q=15;else Q=12;if((((Q|0)==12?!(VJ(e)|0):0)?(TJ(e,-1)|0)!=5:0)?(TJ(e,-1)|0)!=6:0)Q=15;if((Q|0)==15){f[m>>2]=0;f[m+4>>2]=0;J=JV(m,98)|0;K=343243;M=J+98|0;do{b[J>>0]=b[K>>0]|0;J=J+1|0;K=K+1|0}while((J|0)<(M|0));EP(-215,m,343146,342798,434);KV(m)}FJ(m,a,-1);do if((f[m>>2]|0)==3?(f[m+4>>2]|0)==3:0)if(!(VJ(c)|0)?(SJ(c,-1)|0)!=4:0){Q=20;break}else break;else Q=20;while(0);if((Q|0)==20){f[m>>2]=0;f[m+4>>2]=0;J=JV(m,55)|0;K=343342;M=J+55|0;do{b[J>>0]=b[K>>0]|0;J=J+1|0;K=K+1|0}while((J|0)<(M|0));EP(-215,m,343146,342798,435);KV(m)}do if(!(VJ(e)|0)){FJ(m,e,-1);if((f[m>>2]|0)==3?(f[m+4>>2]|0)==3:0)break;I=SJ(e,-1)|0;if((X(UJ(e,-1)|0,I)|0)!=3){f[m>>2]=0;f[m+4>>2]=0;J=JV(m,68)|0;K=342996;M=J+68|0;do{b[J>>0]=b[K>>0]|0;J=J+1|0;K=K+1|0}while((J|0)<(M|0));EP(-215,m,343146,342798,436);KV(m)}}while(0);do if(!(VJ(g)|0)){FJ(m,g,-1);if((f[m>>2]|0)==3?(f[m+4>>2]|0)==3:0)break;FJ(o,g,-1);if(!((f[o>>2]|0)==4?(f[o+4>>2]|0)==3:0)){f[m>>2]=0;f[m+4>>2]=0;J=JV(m,61)|0;K=342934;M=J+61|0;do{b[J>>0]=b[K>>0]|0;J=J+1|0;K=K+1|0}while((J|0)<(M|0));EP(-215,m,343146,342798,437);KV(m)}}while(0);if((TJ(a,-1)|0)==5){do if((HJ(a)|0)==65536){K=f[a+4>>2]|0;f[t>>2]=f[K>>2];I=t+4|0;s=K+4|0;f[I>>2]=f[s>>2];r=t+8|0;f[r>>2]=f[K+8>>2];f[t+12>>2]=f[K+12>>2];f[t+16>>2]=f[K+16>>2];f[t+20>>2]=f[K+20>>2];f[t+24>>2]=f[K+24>>2];f[t+28>>2]=f[K+28>>2];f[t+32>>2]=f[K+32>>2];R=f[K+36>>2]|0;f[t+36>>2]=R;f[t+40>>2]=r;r=t+48|0;T=t+44|0;f[T>>2]=r;f[r>>2]=0;f[t+52>>2]=0;if(R|0){r=R+12|0;f[r>>2]=(f[r>>2]|0)+1}if((f[s>>2]|0)<3){s=f[K+44>>2]|0;r=f[T>>2]|0;f[r>>2]=f[s>>2];f[r+4>>2]=f[s+4>>2];break}else{f[I>>2]=0;WO(t,K);break}}else DJ(t,a,-1);while(0);Jwa(m,t);K=t+36|0;I=f[K>>2]|0;if(I|0?(s=I+12|0,I=f[s>>2]|0,f[s>>2]=I+-1,(I|0)==1):0)XO(t);f[K>>2]=0;K=t+16|0;I=t+4|0;f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0;f[K+12>>2]=0;if((f[I>>2]|0)>0){K=f[t+40>>2]|0;s=0;do{f[K+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[I>>2]|0))}I=f[t+44>>2]|0;if((I|0)!=(t+48|0))dX(I);U=+n[m+8>>2];V=+n[m>>2];W=+n[m+20>>2];Y=+n[m+16>>2]}else{do if((HJ(a)|0)==65536){I=f[a+4>>2]|0;f[v>>2]=f[I>>2];t=v+4|0;s=I+4|0;f[t>>2]=f[s>>2];K=v+8|0;f[K>>2]=f[I+8>>2];f[v+12>>2]=f[I+12>>2];f[v+16>>2]=f[I+16>>2];f[v+20>>2]=f[I+20>>2];f[v+24>>2]=f[I+24>>2];f[v+28>>2]=f[I+28>>2];f[v+32>>2]=f[I+32>>2];r=f[I+36>>2]|0;f[v+36>>2]=r;f[v+40>>2]=K;K=v+48|0;T=v+44|0;f[T>>2]=K;f[K>>2]=0;f[v+52>>2]=0;if(r|0){K=r+12|0;f[K>>2]=(f[K>>2]|0)+1}if((f[s>>2]|0)<3){s=f[I+44>>2]|0;K=f[T>>2]|0;f[K>>2]=f[s>>2];f[K+4>>2]=f[s+4>>2];break}else{f[t>>2]=0;WO(v,I);break}}else DJ(v,a,-1);while(0);Kwa(m,v);a=v+36|0;I=f[a>>2]|0;if(I|0?(t=I+12|0,I=f[t>>2]|0,f[t>>2]=I+-1,(I|0)==1):0)XO(v);f[a>>2]=0;a=v+16|0;I=v+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if((f[I>>2]|0)>0){a=f[v+40>>2]|0;t=0;do{f[a+(t<<2)>>2]=0;t=t+1|0}while((t|0)<(f[I>>2]|0))}I=f[v+44>>2]|0;if((I|0)!=(v+48|0))dX(I);U=+p[m+16>>3];V=+p[m>>3];W=+p[m+40>>3];Y=+p[m+32>>3]}do if(!(VJ(c)|0)){I=(TJ(c,-1)|0)==5;v=(HJ(c)|0)==65536;if(I){do if(v){I=f[c+4>>2]|0;f[w>>2]=f[I>>2];t=w+4|0;a=I+4|0;f[t>>2]=f[a>>2];s=w+8|0;f[s>>2]=f[I+8>>2];f[w+12>>2]=f[I+12>>2];K=w+16|0;f[K>>2]=f[I+16>>2];f[w+20>>2]=f[I+20>>2];f[w+24>>2]=f[I+24>>2];f[w+28>>2]=f[I+28>>2];f[w+32>>2]=f[I+32>>2];T=w+36|0;r=f[I+36>>2]|0;f[T>>2]=r;f[w+40>>2]=s;s=w+48|0;R=w+44|0;f[R>>2]=s;f[s>>2]=0;f[w+52>>2]=0;if(r|0){s=r+12|0;f[s>>2]=(f[s>>2]|0)+1}if((f[a>>2]|0)<3){a=f[I+44>>2]|0;s=f[R>>2]|0;f[s>>2]=f[a>>2];f[s+4>>2]=f[a+4>>2];Z=T;_=K;break}else{f[t>>2]=0;WO(w,I);Z=T;_=K;break}}else{DJ(w,c,-1);Z=w+36|0;_=w+16|0}while(0);K=f[_>>2]|0;$=+n[K>>2];aa=+n[K+4>>2];ba=+n[K+8>>2];ca=+n[K+12>>2];K=f[Z>>2]|0;if(K|0?(T=K+12|0,K=f[T>>2]|0,f[T>>2]=K+-1,(K|0)==1):0)XO(w);f[Z>>2]=0;K=w+4|0;f[_>>2]=0;f[_+4>>2]=0;f[_+8>>2]=0;f[_+12>>2]=0;if((f[K>>2]|0)>0){T=f[w+40>>2]|0;I=0;do{f[T+(I<<2)>>2]=0;I=I+1|0}while((I|0)<(f[K>>2]|0))}K=f[w+44>>2]|0;if((K|0)==(w+48|0)){da=$;ea=ca;fa=aa;ga=ba;break}dX(K);da=$;ea=ca;fa=aa;ga=ba;break}else{do if(v){K=f[c+4>>2]|0;f[x>>2]=f[K>>2];I=x+4|0;T=K+4|0;f[I>>2]=f[T>>2];t=x+8|0;f[t>>2]=f[K+8>>2];f[x+12>>2]=f[K+12>>2];a=x+16|0;f[a>>2]=f[K+16>>2];f[x+20>>2]=f[K+20>>2];f[x+24>>2]=f[K+24>>2];f[x+28>>2]=f[K+28>>2];f[x+32>>2]=f[K+32>>2];s=x+36|0;R=f[K+36>>2]|0;f[s>>2]=R;f[x+40>>2]=t;t=x+48|0;r=x+44|0;f[r>>2]=t;f[t>>2]=0;f[x+52>>2]=0;if(R|0){t=R+12|0;f[t>>2]=(f[t>>2]|0)+1}if((f[T>>2]|0)<3){T=f[K+44>>2]|0;t=f[r>>2]|0;f[t>>2]=f[T>>2];f[t+4>>2]=f[T+4>>2];ha=a;ia=s;break}else{f[I>>2]=0;WO(x,K);ha=a;ia=s;break}}else{DJ(x,c,-1);ha=x+16|0;ia=x+36|0}while(0);v=f[ha>>2]|0;ba=+p[v>>3];aa=+p[v+8>>3];ca=+p[v+16>>3];$=+p[v+24>>3];v=f[ia>>2]|0;if(v|0?(s=v+12|0,v=f[s>>2]|0,f[s>>2]=v+-1,(v|0)==1):0)XO(x);f[ia>>2]=0;v=x+4|0;f[ha>>2]=0;f[ha+4>>2]=0;f[ha+8>>2]=0;f[ha+12>>2]=0;if((f[v>>2]|0)>0){s=f[x+40>>2]|0;a=0;do{f[s+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[v>>2]|0))}v=f[x+44>>2]|0;if((v|0)==(x+48|0)){da=ba;ea=$;fa=aa;ga=ca;break}dX(v);da=ba;ea=$;fa=aa;ga=ca;break}}else{da=0.0;ea=0.0;fa=0.0;ga=0.0}while(0);x=y+8|0;J=x;M=J+56|0;do{f[J>>2]=0;J=J+4|0}while((J|0)<(M|0));p[y>>3]=1.0;ha=y+32|0;p[ha>>3]=1.0;ia=y+64|0;p[ia>>3]=1.0;if(!(VJ(e)|0)?(c=SJ(e,-1)|0,(X(UJ(e,-1)|0,c)|0)==3):0){f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;do if((HJ(e)|0)==65536){c=f[e+4>>2]|0;f[z>>2]=f[c>>2];w=z+4|0;_=c+4|0;f[w>>2]=f[_>>2];Z=z+8|0;f[Z>>2]=f[c+8>>2];f[z+12>>2]=f[c+12>>2];f[z+16>>2]=f[c+16>>2];f[z+20>>2]=f[c+20>>2];f[z+24>>2]=f[c+24>>2];f[z+28>>2]=f[c+28>>2];f[z+32>>2]=f[c+32>>2];v=f[c+36>>2]|0;f[z+36>>2]=v;f[z+40>>2]=Z;Z=z+48|0;a=z+44|0;f[a>>2]=Z;f[Z>>2]=0;f[z+52>>2]=0;if(v|0){Z=v+12|0;f[Z>>2]=(f[Z>>2]|0)+1}if((f[_>>2]|0)<3){_=f[c+44>>2]|0;Z=f[a>>2]|0;f[Z>>2]=f[_>>2];f[Z+4>>2]=f[_+4>>2];break}else{f[w>>2]=0;WO(z,c);break}}else DJ(z,e,-1);while(0);f[o>>2]=-1040056314;f[o+4>>2]=m;f[o+8>>2]=1;f[o+12>>2]=3;AO(z,o,6,1.0,0.0);c=z+36|0;w=f[c>>2]|0;if(w|0?(_=w+12|0,w=f[_>>2]|0,f[_>>2]=w+-1,(w|0)==1):0)XO(z);f[c>>2]=0;c=z+16|0;w=z+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[w>>2]|0)>0){c=f[z+40>>2]|0;_=0;do{f[c+(_<<2)>>2]=0;_=_+1|0}while((_|0)<(f[w>>2]|0))}w=f[z+44>>2]|0;if((w|0)!=(z+48|0))dX(w);ja=+p[m>>3];ka=+p[m+8>>3];la=+p[m+16>>3];ma=+L(+(ja*ja+0.0+ka*ka+la*la));if(ma<2.220446049250313e-16){na=1.0;oa=0.0;pa=0.0;qa=0.0;ra=1.0;sa=0.0;ta=0.0;ua=0.0;va=1.0}else{wa=+N(+ma);xa=+O(+ma);ya=1.0-wa;za=ma!=0.0?1.0/ma:0.0;ma=ja*za;ja=ka*za;ka=la*za;za=wa*0.0;la=za+ma*ja*ya;Aa=za+ma*ka*ya;Ba=za+ja*ka*ya;za=xa*0.0;Ca=ka*xa;Da=ja*xa;Ea=ma*xa;na=za+(wa+ka*ka*ya);oa=Ea+Ba;pa=Aa-Da;qa=Ba-Ea;ra=za+(wa+ja*ja*ya);sa=Ca+la;ta=Da+Aa;ua=la-Ca;va=za+(wa+ma*ma*ya)}p[y>>3]=va;p[x>>3]=ua;p[y+16>>3]=ta;p[y+24>>3]=sa;p[ha>>3]=ra;p[y+40>>3]=qa;p[y+48>>3]=pa;p[y+56>>3]=oa;p[ia>>3]=na}else Q=117;if(((Q|0)==117?!(VJ(e)|0):0)?(FJ(m,e,-1),(f[m>>2]|0)==3?(f[m+4>>2]|0)==3:0):0){do if((HJ(e)|0)==65536){Q=f[e+4>>2]|0;f[A>>2]=f[Q>>2];w=A+4|0;z=Q+4|0;f[w>>2]=f[z>>2];_=A+8|0;f[_>>2]=f[Q+8>>2];f[A+12>>2]=f[Q+12>>2];f[A+16>>2]=f[Q+16>>2];f[A+20>>2]=f[Q+20>>2];f[A+24>>2]=f[Q+24>>2];f[A+28>>2]=f[Q+28>>2];f[A+32>>2]=f[Q+32>>2];c=f[Q+36>>2]|0;f[A+36>>2]=c;f[A+40>>2]=_;_=A+48|0;Z=A+44|0;f[Z>>2]=_;f[_>>2]=0;f[A+52>>2]=0;if(c|0){_=c+12|0;f[_>>2]=(f[_>>2]|0)+1}if((f[z>>2]|0)<3){z=f[Q+44>>2]|0;_=f[Z>>2]|0;f[_>>2]=f[z>>2];f[_+4>>2]=f[z+4>>2];break}else{f[w>>2]=0;WO(A,Q);break}}else DJ(A,e,-1);while(0);f[m>>2]=-1040056314;f[m+4>>2]=y;f[m+8>>2]=3;f[m+12>>2]=3;AO(A,m,6,1.0,0.0);e=A+36|0;Q=f[e>>2]|0;if(Q|0?(w=Q+12|0,Q=f[w>>2]|0,f[w>>2]=Q+-1,(Q|0)==1):0)XO(A);f[e>>2]=0;e=A+16|0;Q=A+4|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;if((f[Q>>2]|0)>0){e=f[A+40>>2]|0;w=0;do{f[e+(w<<2)>>2]=0;w=w+1|0}while((w|0)<(f[Q>>2]|0))}Q=f[A+44>>2]|0;if((Q|0)!=(A+48|0))dX(Q)}Q=B+8|0;J=Q;M=J+56|0;do{f[J>>2]=0;J=J+4|0}while((J|0)<(M|0));p[B>>3]=1.0;J=B+32|0;p[J>>3]=1.0;M=B+64|0;p[M>>3]=1.0;if(!(VJ(g)|0)){do if((HJ(g)|0)==65536){A=f[g+4>>2]|0;f[E>>2]=f[A>>2];w=E+4|0;e=A+4|0;f[w>>2]=f[e>>2];z=E+8|0;f[z>>2]=f[A+8>>2];f[E+12>>2]=f[A+12>>2];f[E+16>>2]=f[A+16>>2];f[E+20>>2]=f[A+20>>2];f[E+24>>2]=f[A+24>>2];f[E+28>>2]=f[A+28>>2];f[E+32>>2]=f[A+32>>2];_=f[A+36>>2]|0;f[E+36>>2]=_;f[E+40>>2]=z;z=E+48|0;Z=E+44|0;f[Z>>2]=z;f[z>>2]=0;f[E+52>>2]=0;if(_|0){z=_+12|0;f[z>>2]=(f[z>>2]|0)+1}if((f[e>>2]|0)<3){e=f[A+44>>2]|0;z=f[Z>>2]|0;f[z>>2]=f[e>>2];f[z+4>>2]=f[e+4>>2];break}else{f[w>>2]=0;WO(E,A);break}}else DJ(E,g,-1);while(0);f[m>>2]=-2147483648;f[m+4>>2]=2147483647;f[o>>2]=0;f[o+4>>2]=3;YO(D,E,m,o);f[m>>2]=-1040056314;f[m+4>>2]=B;f[m+8>>2]=3;f[m+12>>2]=3;AO(D,m,6,1.0,0.0);o=D+36|0;g=f[o>>2]|0;if(g|0?(A=g+12|0,g=f[A>>2]|0,f[A>>2]=g+-1,(g|0)==1):0)XO(D);f[o>>2]=0;o=D+16|0;g=D+4|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;if((f[g>>2]|0)>0){o=f[D+40>>2]|0;A=0;do{f[o+(A<<2)>>2]=0;A=A+1|0}while((A|0)<(f[g>>2]|0))}g=f[D+44>>2]|0;if((g|0)!=(D+48|0))dX(g);g=E+36|0;D=f[g>>2]|0;if(D|0?(A=D+12|0,D=f[A>>2]|0,f[A>>2]=D+-1,(D|0)==1):0)XO(E);f[g>>2]=0;g=E+16|0;D=E+4|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;if((f[D>>2]|0)>0){g=f[E+40>>2]|0;A=0;do{f[g+(A<<2)>>2]=0;A=A+1|0}while((A|0)<(f[D>>2]|0))}D=f[E+44>>2]|0;if((D|0)!=(E+48|0))dX(D)}na=+p[B>>3];oa=+p[y>>3];pa=+p[Q>>3];qa=+p[y+24>>3];ra=+p[B+16>>3];sa=+p[y+48>>3];p[F>>3]=na*oa+0.0+pa*qa+ra*sa;ta=+p[x>>3];ua=+p[ha>>3];va=+p[y+56>>3];p[F+8>>3]=na*ta+0.0+pa*ua+ra*va;ya=+p[y+16>>3];ma=+p[y+40>>3];wa=+p[ia>>3];p[F+16>>3]=na*ya+0.0+pa*ma+ra*wa;ra=+p[B+24>>3];pa=+p[J>>3];na=+p[B+40>>3];p[F+24>>3]=ra*oa+0.0+pa*qa+na*sa;p[F+32>>3]=ra*ta+0.0+pa*ua+na*va;p[F+40>>3]=ra*ya+0.0+pa*ma+na*wa;na=+p[B+48>>3];pa=+p[B+56>>3];ra=+p[M>>3];p[F+48>>3]=na*oa+0.0+pa*qa+ra*sa;p[F+56>>3]=na*ta+0.0+pa*ua+ra*va;p[F+64>>3]=na*ya+0.0+pa*ma+ra*wa;Mwa(m,F,1,0);if((f[P>>2]|0)>0){F=j+4|0;M=G+4|0;B=G+8|0;J=G+12|0;ia=G+16|0;y=G+20|0;ha=G+24|0;x=G+28|0;Q=G+32|0;D=G+36|0;E=G+40|0;A=G+48|0;g=G+44|0;o=G+52|0;w=k+4|0;e=H+4|0;z=H+8|0;Z=H+12|0;_=H+16|0;c=H+20|0;a=H+24|0;v=H+28|0;s=H+32|0;K=H+36|0;I=H+40|0;T=H+48|0;t=H+44|0;r=H+52|0;R=m+8|0;Fa=m+16|0;Ga=m+32|0;Ha=m+40|0;Ia=m+56|0;Ja=m+64|0;Ka=m+24|0;La=m+48|0;Ma=(i|0)==11;Na=(i|0)==5;i=0;do{do if((HJ(j)|0)==65536){Oa=f[F>>2]|0;f[G>>2]=f[Oa>>2];Pa=Oa+4|0;f[M>>2]=f[Pa>>2];f[B>>2]=f[Oa+8>>2];f[J>>2]=f[Oa+12>>2];f[ia>>2]=f[Oa+16>>2];f[y>>2]=f[Oa+20>>2];f[ha>>2]=f[Oa+24>>2];f[x>>2]=f[Oa+28>>2];f[Q>>2]=f[Oa+32>>2];Qa=f[Oa+36>>2]|0;f[D>>2]=Qa;f[E>>2]=B;f[g>>2]=A;f[A>>2]=0;f[o>>2]=0;if(Qa|0){Ra=Qa+12|0;f[Ra>>2]=(f[Ra>>2]|0)+1}if((f[Pa>>2]|0)<3){Pa=f[Oa+44>>2]|0;Ra=f[g>>2]|0;f[Ra>>2]=f[Pa>>2];f[Ra+4>>2]=f[Pa+4>>2];break}else{f[M>>2]=0;WO(G,Oa);break}}else DJ(G,j,-1);while(0);Oa=(f[ia>>2]|0)+(X(f[f[g>>2]>>2]|0,i)|0)|0;Pa=f[D>>2]|0;if(Pa|0?(Ra=Pa+12|0,Pa=f[Ra>>2]|0,f[Ra>>2]=Pa+-1,(Pa|0)==1):0)XO(G);f[D>>2]=0;f[ia>>2]=0;f[ia+4>>2]=0;f[ia+8>>2]=0;f[ia+12>>2]=0;if((f[M>>2]|0)>0){Pa=f[E>>2]|0;Ra=0;do{f[Pa+(Ra<<2)>>2]=0;Ra=Ra+1|0}while((Ra|0)<(f[M>>2]|0))}Ra=f[g>>2]|0;if((Ra|0)!=(A|0))dX(Ra);do if((HJ(k)|0)==65536){Ra=f[w>>2]|0;f[H>>2]=f[Ra>>2];Pa=Ra+4|0;f[e>>2]=f[Pa>>2];f[z>>2]=f[Ra+8>>2];f[Z>>2]=f[Ra+12>>2];f[_>>2]=f[Ra+16>>2];f[c>>2]=f[Ra+20>>2];f[a>>2]=f[Ra+24>>2];f[v>>2]=f[Ra+28>>2];f[s>>2]=f[Ra+32>>2];Qa=f[Ra+36>>2]|0;f[K>>2]=Qa;f[I>>2]=z;f[t>>2]=T;f[T>>2]=0;f[r>>2]=0;if(Qa|0){Sa=Qa+12|0;f[Sa>>2]=(f[Sa>>2]|0)+1}if((f[Pa>>2]|0)<3){Pa=f[Ra+44>>2]|0;Sa=f[t>>2]|0;f[Sa>>2]=f[Pa>>2];f[Sa+4>>2]=f[Pa+4>>2];break}else{f[e>>2]=0;WO(H,Ra);break}}else DJ(H,k,-1);while(0);Ra=(f[_>>2]|0)+(X(f[f[t>>2]>>2]|0,i)|0)|0;Pa=f[K>>2]|0;do if(Pa|0){Sa=Pa+12|0;Qa=f[Sa>>2]|0;f[Sa>>2]=Qa+-1;if((Qa|0)!=1)break;XO(H)}while(0);f[K>>2]=0;f[_>>2]=0;f[_+4>>2]=0;f[_+8>>2]=0;f[_+12>>2]=0;if((f[e>>2]|0)>0){Pa=f[I>>2]|0;Qa=0;do{f[Pa+(Qa<<2)>>2]=0;Qa=Qa+1|0}while((Qa|0)<(f[e>>2]|0))}Qa=f[t>>2]|0;if((Qa|0)!=(T|0))dX(Qa);ca=+(i|0);aa=+p[R>>3]*ca+ +p[Fa>>3];$=+p[Ga>>3]*ca+ +p[Ha>>3];ba=+p[Ia>>3]*ca+ +p[Ja>>3];Qa=f[h>>2]|0;b:do if((Qa|0)>0){ca=+p[m>>3];wa=+p[Ka>>3];ra=+p[La>>3];if(Ma){Pa=0;ma=ba;pa=$;ya=aa;while(1){if(!(ma<=0.0)){na=ya/ma;va=pa/ma;ua=+L(+(na*na+va*va));ta=+S(+ua);sa=ta*ta;qa=sa*sa;if(ua==0.0)Ta=1.0;else Ta=ta*(ea*(qa*qa)+(da*sa+1.0+fa*qa+ga*(sa*qa)))/ua;Ua=W+Y*va*Ta;Va=U+V*na*Ta}else{Ua=pa>0.0?-C:C;Va=ya>0.0?-C:C}Sa=AEa(Va*32.0)|0;Wa=AEa(Ua*32.0)|0;d[Oa+(Pa<<2)>>1]=Sa>>>5;d[Oa+((Pa<<1|1)<<1)>>1]=Wa>>>5;d[Ra+(Pa<<1)>>1]=Wa<<5&992|Sa&31;Pa=Pa+1|0;if((Pa|0)>=(Qa|0))break b;else{ma=ma+ra;pa=pa+wa;ya=ya+ca}}}else{Xa=0;Ya=ba;Za=$;_a=aa}while(1){if(!(Ya<=0.0)){ya=_a/Ya;pa=Za/Ya;ma=+L(+(ya*ya+pa*pa));na=+S(+ma);va=na*na;ua=va*va;if(ma==0.0)$a=1.0;else $a=na*(ea*(ua*ua)+(da*va+1.0+fa*ua+ga*(va*ua)))/ma;ab=W+Y*pa*$a;bb=U+V*ya*$a}else{ab=Za>0.0?-C:C;bb=_a>0.0?-C:C}if(Na){n[Oa+(Xa<<2)>>2]=bb;n[Ra+(Xa<<2)>>2]=ab}Xa=Xa+1|0;if((Xa|0)>=(Qa|0))break;else{Ya=Ya+ra;Za=Za+wa;_a=_a+ca}}}while(0);i=i+1|0}while((i|0)<(f[P>>2]|0))}if(!(f[q+4>>2]|0)){u=l;return}u=l;return}function Mwa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;g=u;u=u+224|0;h=g;i=g+216|0;j=g+160|0;k=g+104|0;l=g+88|0;m=g+72|0;n=h;o=n+72|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));switch(d|0){case 0:case 3:{p=Nwa(i,c,h,d)|0;break}default:{f[j>>2]=1124024326;i=j+4|0;f[i>>2]=2;q=j+8|0;f[q>>2]=3;f[j+12>>2]=3;r=j+16|0;s=j+40|0;t=r+16|0;f[t>>2]=0;f[t+4>>2]=0;f[s>>2]=q;q=j+48|0;t=j+44|0;f[t>>2]=q;f[q>>2]=24;f[j+52>>2]=8;f[r>>2]=c;f[j+20>>2]=c;v=c+72|0;f[j+24>>2]=v;f[j+28>>2]=v;f[k>>2]=1124024326;v=k+4|0;f[v>>2]=2;c=k+8|0;f[c>>2]=3;f[k+12>>2]=3;w=k+16|0;x=k+40|0;y=w+16|0;f[y>>2]=0;f[y+4>>2]=0;f[x>>2]=c;c=k+48|0;y=k+44|0;f[y>>2]=c;f[c>>2]=24;f[k+52>>2]=8;f[w>>2]=h;f[k+20>>2]=h;z=h+72|0;f[k+24>>2]=z;f[k+28>>2]=z;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=j;z=m+8|0;f[z>>2]=0;f[z+4>>2]=0;f[m>>2]=33619968;f[m+4>>2]=k;z=+KR(l,m,d)!=0.0;d=k+36|0;m=f[d>>2]|0;if(m|0?(l=m+12|0,m=f[l>>2]|0,f[l>>2]=m+-1,(m|0)==1):0)XO(k);f[d>>2]=0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;if((f[v>>2]|0)>0){w=f[x>>2]|0;x=0;do{f[w+(x<<2)>>2]=0;x=x+1|0}while((x|0)<(f[v>>2]|0))}v=f[y>>2]|0;if((v|0)!=(c|0))dX(v);v=j+36|0;c=f[v>>2]|0;if(c|0?(y=c+12|0,c=f[y>>2]|0,f[y>>2]=c+-1,(c|0)==1):0)XO(j);f[v>>2]=0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;if((f[i>>2]|0)>0){r=f[s>>2]|0;s=0;do{f[r+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[i>>2]|0))}i=f[t>>2]|0;if((i|0)!=(q|0))dX(i);p=z}}if(e|0)b[e>>0]=p&1;if(p){n=a;p=h;o=n+72|0;do{f[n>>2]=f[p>>2];n=n+4|0;p=p+4|0}while((n|0)<(o|0));u=g;return}else{n=a;o=n+72|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));u=g;return}}function Nwa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,g=0,h=0.0,i=0,j=0.0,k=0.0,l=0,m=0,n=0.0,o=0,q=0.0,r=0,s=0.0,t=0;d=b+32|0;e=+p[d>>3];a=b+64|0;f=+p[a>>3];g=b+56|0;h=+p[g>>3];i=b+40|0;j=+p[i>>3];k=e*f-h*j;l=b+8|0;m=b+24|0;n=+p[m>>3];o=b+48|0;q=+p[o>>3];r=b+16|0;s=+p[r>>3]*(h*n-e*q)+(+p[b>>3]*k-+p[l>>3]*(f*n-j*q));if(s==0.0){t=0;return t|0}q=1.0/s;p[c>>3]=k*q;p[c+8>>3]=q*(+p[r>>3]*+p[g>>3]-+p[l>>3]*+p[a>>3]);p[c+16>>3]=q*(+p[l>>3]*+p[i>>3]-+p[r>>3]*+p[d>>3]);p[c+24>>3]=q*(+p[i>>3]*+p[o>>3]-+p[m>>3]*+p[a>>3]);p[c+32>>3]=q*(+p[b>>3]*+p[a>>3]-+p[r>>3]*+p[o>>3]);p[c+40>>3]=q*(+p[r>>3]*+p[m>>3]-+p[b>>3]*+p[i>>3]);p[c+48>>3]=q*(+p[m>>3]*+p[g>>3]-+p[d>>3]*+p[o>>3]);p[c+56>>3]=q*(+p[l>>3]*+p[o>>3]-+p[b>>3]*+p[g>>3]);p[c+64>>3]=q*(+p[b>>3]*+p[d>>3]-+p[l>>3]*+p[m>>3]);t=1;return t|0}function Owa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=u;u=u+80|0;e=d;g=d+56|0;f[a>>2]=1124024326;f[a+4>>2]=2;h=a+8|0;f[h>>2]=3;f[a+12>>2]=3;i=a+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[a+40>>2]=h;h=a+48|0;f[a+44>>2]=h;f[h>>2]=0;f[a+52>>2]=0;if(!c){f[h>>2]=24;f[a+52>>2]=8;f[i>>2]=b;f[a+20>>2]=b;i=b+72|0;f[a+24>>2]=i;f[a+28>>2]=i;u=d;return}i=e+4|0;f[i>>2]=2;h=e+8|0;f[h>>2]=3;f[e+12>>2]=3;c=e+16|0;f[c>>2]=b;f[e+20>>2]=b;j=e+24|0;k=e+40|0;l=j+8|0;f[l>>2]=0;f[l+4>>2]=0;f[k>>2]=h;h=e+48|0;l=e+44|0;f[l>>2]=h;f[e>>2]=1124024326;f[h>>2]=24;f[e+52>>2]=8;f[e+28>>2]=b+72;f[j>>2]=b+72;b=g+8|0;f[b>>2]=0;f[b+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=a;eM(e,g);g=e+36|0;a=f[g>>2]|0;if(a|0?(b=a+12|0,a=f[b>>2]|0,f[b>>2]=a+-1,(a|0)==1):0)XO(e);f[g>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[i>>2]|0)>0){c=f[k>>2]|0;k=0;do{f[c+(k<<2)>>2]=0;k=k+1|0}while((k|0)<(f[i>>2]|0))}i=f[l>>2]|0;if((i|0)==(h|0)){u=d;return}dX(i);u=d;return}function Pwa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,M=0,P=0,R=0,S=0,T=0,U=0,V=0,W=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0.0,ta=0.0,ua=0.0,va=0.0,wa=0.0,xa=0.0;e=u;u=u+1824|0;g=e+1488|0;h=e+1272|0;i=e+1792|0;j=e+1168|0;k=e+1144|0;l=e+1072|0;m=e+1240|0;o=e+712|0;q=e+552|0;r=e+1736|0;s=e+336|0;t=e+120|0;v=e+1680|0;w=e+1652|0;x=e+1624|0;y=e;z=e+1596|0;FVa(h|0,0,216)|0;f[i>>2]=1111638022;A=i+24|0;f[A>>2]=9;B=i+20|0;f[B>>2]=3;f[i+4>>2]=72;f[i+16>>2]=h;f[i+8>>2]=0;f[i+12>>2]=0;C=(a|0)!=0;if(!((((C?(f[a>>2]&-65536|0)==1111621632:0)?(f[a+24>>2]|0)>0:0)?(f[a+20>>2]|0)>0:0)?(f[a+16>>2]|0)!=0:0)){D=C?-5:-27;f[g>>2]=0;f[g+4>>2]=0;E=JV(g,36)|0;F=343624;G=E+36|0;do{b[E>>0]=b[F>>0]|0;E=E+1|0;F=F+1|0}while((E|0)<(G|0));EP(D,g,343661,343561,259);KV(g)}D=(c|0)!=0;if(!((((D?(f[c>>2]&-65536|0)==1111621632:0)?(f[c+24>>2]|0)>0:0)?(f[c+20>>2]|0)>0:0)?(f[c+16>>2]|0)!=0:0)){C=D?-5:-27;f[g>>2]=0;f[g+4>>2]=0;E=JV(g,47)|0;F=343674;G=E+47|0;do{b[E>>0]=b[F>>0]|0;E=E+1|0;F=F+1|0}while((E|0)<(G|0));EP(C,g,343661,343561,263);KV(g)}C=f[a>>2]|0;D=C&7;H=1<<(47696>>>(D<<1)&3);if((D+-5|0)>>>0>1){f[g>>2]=0;f[g+4>>2]=0;E=JV(g,43)|0;F=343722;G=E+43|0;do{b[E>>0]=b[F>>0]|0;E=E+1|0;F=F+1|0}while((E|0)<(G|0));EP(-210,g,343661,343561,269);KV(g);I=f[a>>2]|0}else I=C;if((f[c>>2]^I)&7|0){f[g>>2]=0;f[g+4>>2]=0;E=JV(g,45)|0;F=343766;G=E+45|0;do{b[E>>0]=b[F>>0]|0;E=E+1|0;F=F+1|0}while((E|0)<(G|0));EP(-205,g,343661,343561,272);KV(g)}I=(d|0)!=0;a:do if(I){C=f[d>>2]|0;if((((C&-65536|0)==1111621632?(f[d+24>>2]|0)>0:0)?(f[d+20>>2]|0)>0:0)?(f[d+16>>2]|0)!=0:0)J=C;else{f[g>>2]=0;f[g+4>>2]=0;E=JV(g,30)|0;F=343812;G=E+30|0;do{b[E>>0]=b[F>>0]|0;E=E+1|0;F=F+1|0}while((E|0)<(G|0));EP(-5,g,343661,343561,277);KV(g);J=f[d>>2]|0}if((J^f[a>>2])&7|J&4088|0){f[g>>2]=0;f[g+4>>2]=0;E=JV(g,42)|0;F=343843;G=E+42|0;do{b[E>>0]=b[F>>0]|0;E=E+1|0;F=F+1|0}while((E|0)<(G|0));EP(-205,g,343661,343561,280);KV(g)}switch(f[d+20>>2]|0){case 9:{if((f[d+24>>2]|0)==3)break a;break}case 3:{if((f[d+24>>2]|0)==9)break a;break}default:{}}f[g>>2]=0;f[g+4>>2]=0;E=JV(g,27)|0;F=343886;G=E+27|0;do{b[E>>0]=b[F>>0]|0;E=E+1|0;F=F+1|0}while((E|0)<(G|0));EP(-201,g,343661,343561,284);KV(g)}while(0);J=f[a+24>>2]|0;C=f[a+20>>2]|0;if((J|0)==1)if((C|0)>1){M=C;P=(f[a+4>>2]|0)/(H|0)|0;R=33}else{M=C;P=1;R=33}else if((C|0)!=1){if((J|0)==3&(C|0)==3){E=g;G=E+72|0;do{f[E>>2]=0;E=E+4|0}while((E|0)<(G|0));E=j;G=E+72|0;do{f[E>>2]=0;E=E+4|0}while((E|0)<(G|0));f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;C=f[c+20>>2]|0;if((C|0)>1){S=(f[c+4>>2]|0)/(H|0)|0;if(((C|0)==3?(f[c+24>>2]|0)==1:0)?(f[c>>2]&4088|0)==0:0)T=S;else{U=S;R=74}}else if((C|0)==1?(X(((f[c>>2]|0)>>>3&511)+1|0,f[c+24>>2]|0)|0)==3:0)T=1;else{U=1;R=74}if((R|0)==74){f[l>>2]=0;f[l+4>>2]=0;E=JV(l,32)|0;F=344015;G=E+32|0;do{b[E>>0]=b[F>>0]|0;E=E+1|0;F=F+1|0}while((E|0)<(G|0));EP(-201,l,343661,343561,373);KV(l);T=U}NY(v,a,0,1,0,0);Kwa(l,v);U=v+36|0;C=f[U>>2]|0;if(C|0?(S=C+12|0,C=f[S>>2]|0,f[S>>2]=C+-1,(C|0)==1):0)XO(v);f[U>>2]=0;U=v+16|0;C=v+4|0;f[U>>2]=0;f[U+4>>2]=0;f[U+8>>2]=0;f[U+12>>2]=0;if((f[C>>2]|0)>0){U=f[v+40>>2]|0;S=0;do{f[U+(S<<2)>>2]=0;S=S+1|0}while((S|0)<(f[C>>2]|0))}C=f[v+44>>2]|0;if((C|0)!=(v+48|0))dX(C);f[o>>2]=-1056833530;f[o+4>>2]=l;f[o+8>>2]=3;f[o+12>>2]=3;if(!(OQ(o,1,0,-100.0,100.0)|0)){pM(c);if(I)pM(d);V=0;u=e;return V|0}Qwa(l,k,g,j);W=+p[g>>3];Y=+p[j>>3];Z=+p[g+8>>3];_=+p[j+24>>3];$=+p[g+16>>3];aa=+p[j+48>>3];ba=W*Y+0.0+Z*_+$*aa;ca=+p[j+8>>3];da=+p[j+32>>3];ea=+p[j+56>>3];fa=W*ca+0.0+Z*da+$*ea;ga=+p[j+16>>3];ha=+p[j+40>>3];ia=+p[j+64>>3];ja=W*ga+0.0+Z*ha+$*ia;$=+p[g+24>>3];Z=+p[g+32>>3];W=+p[g+40>>3];ka=Y*$+0.0+_*Z+aa*W;la=ca*$+0.0+da*Z+ea*W;ma=ga*$+0.0+ha*Z+ia*W;W=+p[g+48>>3];Z=+p[g+56>>3];$=+p[g+64>>3];na=Y*W+0.0+_*Z+aa*$;aa=ca*W+0.0+da*Z+ea*$;ea=ga*W+0.0+ha*Z+ia*$;p[l>>3]=ba;p[l+8>>3]=fa;p[l+16>>3]=ja;p[l+24>>3]=ka;p[l+32>>3]=la;p[l+40>>3]=ma;p[l+48>>3]=na;p[l+56>>3]=aa;p[l+64>>3]=ea;$=aa-ma;aa=ja-na;na=ka-fa;ka=+L(+(($*$+aa*aa+na*na)*.25));ia=(ea+(ba+la)+-1.0)*.5;Z=ia>1.0?1.0:ia<-1.0?-1.0:ia;ia=+Q(+Z);if(ka<1.0e-05){C=Z>0.0;if(C){oa=0.0;pa=0.0;qa=0.0}else{ha=(ba+1.0)*.5;ba=+L(+(ha<0.0?0.0:ha));ha=(la+1.0)*.5;la=+L(+(ha<0.0?0.0:ha));ha=(fa<0.0?-1.0:1.0)*la;la=(ea+1.0)*.5;ea=+L(+(la<0.0?0.0:la));la=(ja<0.0?-1.0:1.0)*ea;ea=+K(+ba);if(ea<+K(+ha)&ea<+K(+la))ra=ma>0.0^ha*la>0.0?-la:la;else ra=la;la=ia/+L(+(ba*ba+ha*ha+ra*ra));oa=ba*la;pa=ha*la;qa=ra*la}if(I?(FVa(h|0,0,216)|0,C):0){p[h+152>>3]=-.5;p[h+120>>3]=-.5;p[h+40>>3]=-.5;p[h+168>>3]=.5;p[h+88>>3]=.5;p[h+56>>3]=.5;sa=oa;ta=pa;ua=qa}else{sa=oa;ta=pa;ua=qa}}else{qa=1.0/(ka*2.0);if(I){pa=-1.0/ka;oa=pa*(-(qa*Z)/ka*.5);ka=pa*.5;C=o+40|0;E=o;G=E+40|0;do{f[E>>2]=0;E=E+4|0}while((E|0)<(G|0));p[C>>3]=1.0;p[o+48>>3]=0.0;p[o+56>>3]=-1.0;C=o+64|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;f[C+12>>2]=0;f[C+16>>2]=0;f[C+20>>2]=0;p[o+88>>3]=-1.0;C=o+96|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;f[C+12>>2]=0;f[C+16>>2]=0;f[C+20>>2]=0;p[o+120>>3]=1.0;C=o+128|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;f[C+12>>2]=0;f[C+16>>2]=0;f[C+20>>2]=0;p[o+152>>3]=1.0;p[o+160>>3]=0.0;p[o+168>>3]=-1.0;C=o+216|0;E=o+176|0;G=E+40|0;do{f[E>>2]=0;E=E+4|0}while((E|0)<(G|0));p[C>>3]=oa;C=o+224|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;f[C+12>>2]=0;f[C+16>>2]=0;f[C+20>>2]=0;p[o+248>>3]=oa;C=o+256|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;f[C+12>>2]=0;f[C+16>>2]=0;f[C+20>>2]=0;p[o+280>>3]=oa;p[o+288>>3]=ka;C=o+296|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;f[C+12>>2]=0;f[C+16>>2]=0;f[C+20>>2]=0;p[o+320>>3]=ka;C=o+328|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;f[C+12>>2]=0;f[C+16>>2]=0;f[C+20>>2]=0;p[o+352>>3]=ka;p[q>>3]=qa;C=q+8|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;f[C+12>>2]=0;p[q+24>>3]=$;C=q+32|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;f[C+12>>2]=0;p[q+48>>3]=qa;p[q+56>>3]=0.0;p[q+64>>3]=aa;C=q+72|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;f[C+12>>2]=0;f[C+16>>2]=0;f[C+20>>2]=0;p[q+96>>3]=qa;p[q+104>>3]=na;C=q+152|0;E=q+112|0;G=E+40|0;do{f[E>>2]=0;E=E+4|0}while((E|0)<(G|0));p[C>>3]=1.0;p[s>>3]=ia;C=s+8|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;f[C+12>>2]=0;p[s+24>>3]=$*qa;p[s+32>>3]=0.0;p[s+40>>3]=ia;p[s+48>>3]=0.0;p[s+56>>3]=aa*qa;C=s+64|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;f[C+12>>2]=0;p[s+80>>3]=ia;p[s+88>>3]=na*qa;f[t>>2]=1111638022;f[t+24>>2]=9;f[t+20>>2]=5;f[t+4>>2]=72;f[t+16>>2]=o;f[t+8>>2]=0;f[t+12>>2]=0;f[w>>2]=1111638022;f[w+24>>2]=5;f[w+20>>2]=4;f[w+4>>2]=40;f[w+16>>2]=q;f[w+8>>2]=0;f[w+12>>2]=0;f[x>>2]=1111638022;f[x+24>>2]=4;f[x+20>>2]=3;f[x+4>>2]=32;f[x+16>>2]=s;f[x+8>>2]=0;f[x+12>>2]=0;f[z>>2]=1111638022;f[z+24>>2]=5;f[z+20>>2]=3;f[z+4>>2]=40;f[z+16>>2]=y;f[z+8>>2]=0;f[z+12>>2]=0;uD(x,w,1.0,0,1.0,z,0);uD(z,t,1.0,0,1.0,i,0);z=h+8|0;ka=+p[z>>3];w=h+24|0;p[z>>3]=+p[w>>3];p[w>>3]=ka;w=h+16|0;ka=+p[w>>3];z=h+48|0;p[w>>3]=+p[z>>3];p[z>>3]=ka;z=h+40|0;ka=+p[z>>3];w=h+56|0;p[z>>3]=+p[w>>3];p[w>>3]=ka;w=h+80|0;ka=+p[w>>3];z=h+96|0;p[w>>3]=+p[z>>3];p[z>>3]=ka;z=h+88|0;ka=+p[z>>3];w=h+120|0;p[z>>3]=+p[w>>3];p[w>>3]=ka;w=h+112|0;ka=+p[w>>3];z=h+128|0;p[w>>3]=+p[z>>3];p[z>>3]=ka;z=h+152|0;ka=+p[z>>3];w=h+168|0;p[z>>3]=+p[w>>3];p[w>>3]=ka;w=h+160|0;ka=+p[w>>3];z=h+192|0;p[w>>3]=+p[z>>3];p[z>>3]=ka;z=h+184|0;ka=+p[z>>3];w=h+200|0;p[z>>3]=+p[w>>3];p[w>>3]=ka}ka=qa*ia;sa=$*ka;ta=aa*ka;ua=na*ka}if((D|0)==5){w=c+16|0;n[f[w>>2]>>2]=sa;n[(f[w>>2]|0)+(T<<2)>>2]=ta;n[(f[w>>2]|0)+(T<<1<<2)>>2]=ua}else{w=c+16|0;p[f[w>>2]>>3]=sa;p[(f[w>>2]|0)+(T<<3)>>3]=ta;p[(f[w>>2]|0)+(T<<1<<3)>>3]=ua}}}else{M=1;P=1;R=33}if((R|0)==33){if(((X(((f[a>>2]|0)>>>3&511)+1|0,J)|0)+M|0)!=4){f[g>>2]=0;f[g+4>>2]=0;E=JV(g,36)|0;F=343914;G=E+36|0;do{b[E>>0]=b[F>>0]|0;E=E+1|0;F=F+1|0}while((E|0)<(G|0));EP(-201,g,343661,343561,292);KV(g)}if(!(((f[c+20>>2]|0)==3?(f[c+24>>2]|0)==3:0)?!(f[c>>2]&4088|0):0)){f[g>>2]=0;f[g+4>>2]=0;E=JV(g,63)|0;F=343951;G=E+63|0;do{b[E>>0]=b[F>>0]|0;E=E+1|0;F=F+1|0}while((E|0)<(G|0));EP(-201,g,343661,343561,295);KV(g)}F=j;f[F>>2]=0;f[F+4>>2]=0;F=k;f[F>>2]=0;f[F+4>>2]=0;F=l;f[F>>2]=0;f[F+4>>2]=0;F=a+16|0;if((D|0)==5){a=f[F>>2]|0;ua=+n[a>>2];p[j>>3]=ua;ta=+n[a+(P<<2)>>2];p[k>>3]=ta;va=ua;wa=ta;xa=+n[a+(P<<1<<2)>>2]}else{a=f[F>>2]|0;ta=+p[a>>3];p[j>>3]=ta;ua=+p[a+(P<<3)>>3];p[k>>3]=ua;va=ta;wa=ua;xa=+p[a+(P<<1<<3)>>3]}p[l>>3]=xa;ua=+L(+(xa*xa+(va*va+wa*wa)));if(ua<2.220446049250313e-16){p[m>>3]=1.0;P=m+8|0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;f[P+16>>2]=0;f[P+20>>2]=0;f[g>>2]=f[m>>2];f[g+4>>2]=f[m+4>>2];f[g+8>>2]=f[m+8>>2];f[g+12>>2]=f[m+12>>2];f[g+16>>2]=f[m+16>>2];f[g+20>>2]=f[m+20>>2];f[g+24>>2]=f[m+24>>2];f[g+28>>2]=f[m+28>>2];PY(c,g);if(I){FVa(h|0,0,216)|0;p[h+152>>3]=-1.0;p[h+120>>3]=-1.0;p[h+40>>3]=-1.0;p[h+168>>3]=1.0;p[h+88>>3]=1.0;p[h+56>>3]=1.0}}else{ta=+N(+ua);sa=+O(+ua);ka=1.0-ta;na=ua!=0.0?1.0/ua:0.0;ua=va*na;p[j>>3]=ua;va=na*wa;p[k>>3]=va;wa=na*xa;p[l>>3]=wa;xa=ua*ua;aa=ua*va;$=ua*wa;ia=va*va;qa=va*wa;oa=wa*wa;p[g>>3]=xa;m=g+8|0;p[m>>3]=aa;P=g+16|0;p[P>>3]=$;a=g+24|0;p[a>>3]=aa;F=g+32|0;p[F>>3]=ia;E=g+40|0;p[E>>3]=qa;G=g+48|0;p[G>>3]=$;M=g+56|0;p[M>>3]=qa;J=g+64|0;p[J>>3]=oa;pa=-wa;Z=-ua;la=-va;p[o>>3]=0.0;R=o+8|0;p[R>>3]=pa;T=o+16|0;p[T>>3]=va;w=o+24|0;p[w>>3]=wa;z=o+32|0;p[z>>3]=0.0;x=o+40|0;p[x>>3]=Z;y=o+48|0;p[y>>3]=la;C=o+56|0;p[C>>3]=ua;v=o+64|0;p[v>>3]=0.0;ra=ta*0.0;ha=ra+ka*aa;aa=ra+ka*$;$=ra+ka*qa;qa=sa*0.0;p[q>>3]=ta+ka*xa+qa;p[q+8>>3]=ha+sa*pa;p[q+16>>3]=aa+sa*va;p[q+24>>3]=ha+sa*wa;p[q+32>>3]=ta+ka*ia+qa;p[q+40>>3]=$+sa*Z;p[q+48>>3]=aa+sa*la;p[q+56>>3]=$+sa*ua;p[q+64>>3]=ta+ka*oa+qa;Owa(r,q,1);NY(t,c,0,1,0,0);q=s+8|0;f[q>>2]=0;f[q+4>>2]=0;f[s>>2]=-1040121856;f[s+4>>2]=t;AO(r,s,f[c>>2]|0,1.0,0.0);c=t+36|0;q=f[c>>2]|0;if(q|0?(S=q+12|0,q=f[S>>2]|0,f[S>>2]=q+-1,(q|0)==1):0)XO(t);f[c>>2]=0;c=t+16|0;q=t+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[q>>2]|0)>0){c=f[t+40>>2]|0;S=0;do{f[c+(S<<2)>>2]=0;S=S+1|0}while((S|0)<(f[q>>2]|0))}q=f[t+44>>2]|0;if((q|0)!=(t+48|0))dX(q);q=r+36|0;S=f[q>>2]|0;if(S|0?(c=S+12|0,S=f[c>>2]|0,f[c>>2]=S+-1,(S|0)==1):0)XO(r);f[q>>2]=0;q=r+16|0;S=r+4|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;if((f[S>>2]|0)>0){q=f[r+40>>2]|0;c=0;do{f[q+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[S>>2]|0))}S=f[r+44>>2]|0;if((S|0)!=(r+48|0))dX(S);if(I){qa=+p[j>>3];p[s>>3]=qa+qa;oa=+p[k>>3];p[s+8>>3]=oa;ua=+p[l>>3];p[s+16>>3]=ua;p[s+24>>3]=oa;S=s+32|0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;f[S+12>>2]=0;p[s+48>>3]=ua;S=s+56|0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;f[S+12>>2]=0;f[S+16>>2]=0;f[S+20>>2]=0;p[s+80>>3]=qa;p[s+88>>3]=0.0;p[s+96>>3]=qa;p[s+104>>3]=oa+oa;p[s+112>>3]=ua;p[s+120>>3]=0.0;p[s+128>>3]=ua;S=s+136|0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;f[S+12>>2]=0;f[S+16>>2]=0;f[S+20>>2]=0;p[s+160>>3]=qa;S=s+168|0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;f[S+12>>2]=0;p[s+184>>3]=oa;p[s+192>>3]=qa;p[s+200>>3]=oa;p[s+208>>3]=ua+ua;FVa(t|0,0,216)|0;p[t+40>>3]=-1.0;p[t+56>>3]=1.0;p[t+88>>3]=1.0;p[t+120>>3]=-1.0;p[t+152>>3]=-1.0;p[t+168>>3]=1.0;ua=sa-na*(ka*2.0);oa=na*ka;ka=na*sa;na=ta-ka;ta=+p[g>>3];qa=+p[o>>3];$=+p[m>>3];la=+p[R>>3];aa=+p[P>>3];Z=+p[T>>3];ia=+p[a>>3];wa=+p[w>>3];ha=+p[F>>3];va=+p[z>>3];pa=+p[E>>3];xa=+p[x>>3];ra=+p[G>>3];ba=+p[y>>3];ma=+p[M>>3];ea=+p[C>>3];ja=+p[J>>3];fa=+p[v>>3];v=0;do{W=+p[((v|0)==0?j:(v|0)==1?k:l)>>3];ga=sa*W;da=ua*W;ca=na*W;J=v*9|0;p[h+(J<<3)>>3]=da*ta-ga+oa*+p[s+(J<<3)>>3]+ca*qa+ka*+p[t+(J<<3)>>3];W=ga*0.0;C=J+1|0;p[h+(C<<3)>>3]=da*$-W+oa*+p[s+(C<<3)>>3]+ca*la+ka*+p[t+(C<<3)>>3];C=J+2|0;p[h+(C<<3)>>3]=da*aa-W+oa*+p[s+(C<<3)>>3]+ca*Z+ka*+p[t+(C<<3)>>3];C=J+3|0;p[h+(C<<3)>>3]=da*ia-W+oa*+p[s+(C<<3)>>3]+ca*wa+ka*+p[t+(C<<3)>>3];C=J+4|0;p[h+(C<<3)>>3]=da*ha-ga+oa*+p[s+(C<<3)>>3]+ca*va+ka*+p[t+(C<<3)>>3];C=J+5|0;p[h+(C<<3)>>3]=da*pa-W+oa*+p[s+(C<<3)>>3]+ca*xa+ka*+p[t+(C<<3)>>3];C=J+6|0;p[h+(C<<3)>>3]=da*ra-W+oa*+p[s+(C<<3)>>3]+ca*ba+ka*+p[t+(C<<3)>>3];C=J+7|0;p[h+(C<<3)>>3]=da*ma-W+oa*+p[s+(C<<3)>>3]+ca*ea+ka*+p[t+(C<<3)>>3];C=J+8|0;p[h+(C<<3)>>3]=da*ja-ga+oa*+p[s+(C<<3)>>3]+ca*fa+ka*+p[t+(C<<3)>>3];v=v+1|0}while((v|0)!=3)}}}if(!I){V=1;u=e;return V|0}I=f[B>>2]|0;B=(f[d+20>>2]|0)==(I|0);if((D|0)==5)if(B){rAa(i,d,1.0,0.0);V=1;u=e;return V|0}else{D=f[A>>2]|0;f[j>>2]=1111638021;f[j+24>>2]=D;f[j+20>>2]=I;f[j+4>>2]=D<<2;f[j+16>>2]=g;f[j+8>>2]=0;f[j+12>>2]=0;rAa(i,j,1.0,0.0);QY(j,d);V=1;u=e;return V|0}else if(B){nM(i,d,0);V=1;u=e;return V|0}else{QY(i,d);V=1;u=e;return V|0}return 0}function Qwa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;g=u;u=u+288|0;h=g+232|0;i=g+176|0;j=g+120|0;k=g+64|0;l=g+48|0;m=g+32|0;n=g+16|0;o=g;f[h>>2]=1124024326;p=h+4|0;f[p>>2]=2;q=h+8|0;f[q>>2]=3;f[h+12>>2]=3;r=h+16|0;s=h+40|0;t=r+16|0;f[t>>2]=0;f[t+4>>2]=0;f[s>>2]=q;q=h+48|0;t=h+44|0;f[t>>2]=q;f[q>>2]=24;f[h+52>>2]=8;f[r>>2]=a;f[h+20>>2]=a;v=a+72|0;f[h+24>>2]=v;f[h+28>>2]=v;f[i>>2]=1124024326;v=i+4|0;f[v>>2]=2;a=i+8|0;f[a>>2]=3;f[i+12>>2]=3;w=i+16|0;x=i+40|0;y=w+16|0;f[y>>2]=0;f[y+4>>2]=0;f[x>>2]=a;a=i+48|0;y=i+44|0;f[y>>2]=a;f[a>>2]=24;f[i+52>>2]=8;f[w>>2]=d;f[i+20>>2]=d;z=d+72|0;f[i+24>>2]=z;f[i+28>>2]=z;f[j>>2]=1124024326;z=j+4|0;f[z>>2]=2;A=j+8|0;f[A>>2]=3;f[j+12>>2]=1;B=j+16|0;C=j+40|0;D=B+16|0;f[D>>2]=0;f[D+4>>2]=0;f[C>>2]=A;A=j+48|0;D=j+44|0;f[D>>2]=A;f[A>>2]=8;f[j+52>>2]=8;f[B>>2]=c;f[j+20>>2]=c;E=c+24|0;f[j+24>>2]=E;f[j+28>>2]=E;f[k>>2]=1124024326;E=k+4|0;f[E>>2]=2;F=k+8|0;f[F>>2]=3;f[k+12>>2]=3;G=k+16|0;H=k+40|0;I=G+16|0;f[I>>2]=0;f[I+4>>2]=0;f[H>>2]=F;F=k+48|0;I=k+44|0;f[I>>2]=F;f[F>>2]=24;f[k+52>>2]=8;f[G>>2]=e;f[k+20>>2]=e;J=e+72|0;f[k+24>>2]=J;f[k+28>>2]=J;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=h;J=m+8|0;f[J>>2]=0;f[J+4>>2]=0;f[m>>2]=33619968;f[m+4>>2]=j;J=n+8|0;f[J>>2]=0;f[J+4>>2]=0;f[n>>2]=33619968;f[n+4>>2]=i;J=o+8|0;f[J>>2]=0;f[J+4>>2]=0;f[o>>2]=33619968;f[o+4>>2]=k;TR(l,m,n,o,0);if(!(((f[B>>2]|0)==(c|0)?(f[w>>2]|0)==(d|0):0)?(f[G>>2]|0)==(e|0):0)){f[l>>2]=0;f[l+4>>2]=0;e=JV(l,94)|0;d=344048;c=e+94|0;do{b[e>>0]=b[d>>0]|0;e=e+1|0;d=d+1|0}while((e|0)<(c|0));EP(-215,l,346963,344143,306);KV(l)}l=k+36|0;d=f[l>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(k);f[l>>2]=0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;if((f[E>>2]|0)>0){G=f[H>>2]|0;H=0;do{f[G+(H<<2)>>2]=0;H=H+1|0}while((H|0)<(f[E>>2]|0))}E=f[I>>2]|0;if((E|0)!=(F|0))dX(E);E=j+36|0;F=f[E>>2]|0;if(F|0?(I=F+12|0,F=f[I>>2]|0,f[I>>2]=F+-1,(F|0)==1):0)XO(j);f[E>>2]=0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;if((f[z>>2]|0)>0){B=f[C>>2]|0;C=0;do{f[B+(C<<2)>>2]=0;C=C+1|0}while((C|0)<(f[z>>2]|0))}z=f[D>>2]|0;if((z|0)!=(A|0))dX(z);z=i+36|0;A=f[z>>2]|0;if(A|0?(D=A+12|0,A=f[D>>2]|0,f[D>>2]=A+-1,(A|0)==1):0)XO(i);f[z>>2]=0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;if((f[v>>2]|0)>0){w=f[x>>2]|0;x=0;do{f[w+(x<<2)>>2]=0;x=x+1|0}while((x|0)<(f[v>>2]|0))}v=f[y>>2]|0;if((v|0)!=(a|0))dX(v);v=h+36|0;a=f[v>>2]|0;if(a|0?(y=a+12|0,a=f[y>>2]|0,f[y>>2]=a+-1,(a|0)==1):0)XO(h);f[v>>2]=0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;if((f[p>>2]|0)>0){r=f[s>>2]|0;s=0;do{f[r+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[p>>2]|0))}p=f[t>>2]|0;if((p|0)==(q|0)){u=g;return}dX(p);u=g;return}function Rwa(a,c,d,e,g,h,i,j,k,l,m,n){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=+n;var o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0.0,Ka=0.0,La=0.0,Ma=0.0,Na=0,Oa=0,Pa=0,Qa=0.0,Ra=0.0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0.0,oc=0.0,pc=0.0,qc=0.0,rc=0.0,sc=0.0,tc=0.0,uc=0.0,vc=0.0,wc=0.0,xc=0.0,yc=0.0,zc=0.0,Ac=0.0,Bc=0.0,Cc=0.0,Dc=0.0,Ec=0.0,Fc=0.0,Gc=0.0,Hc=0.0,Ic=0.0,Jc=0,Kc=0,Lc=0.0,Mc=0.0,Nc=0.0,Oc=0.0,Pc=0.0,Qc=0.0,Rc=0.0,Sc=0.0,Tc=0,Uc=0.0,Vc=0,Wc=0.0,Xc=0.0,Yc=0.0,Zc=0.0,_c=0,$c=0,ad=0,bd=0,cd=0;o=u;u=u+1040|0;q=o+840|0;r=o+768|0;s=o+552|0;t=o+528|0;v=o+456|0;w=o+344|0;x=o+272|0;y=o+200|0;z=o+128|0;A=o+1004|0;B=o+976|0;C=o+948|0;D=o+920|0;E=o+892|0;F=o+864|0;G=o+104|0;H=o+72|0;I=o+48|0;J=o+24|0;K=o;L=w;M=L+112|0;do{f[L>>2]=0;L=L+4|0}while((L|0)<(M|0));N=x+8|0;L=N;M=L+56|0;do{f[L>>2]=0;L=L+4|0}while((L|0)<(M|0));p[x>>3]=1.0;O=x+32|0;p[O>>3]=1.0;P=x+64|0;p[P>>3]=1.0;Q=y+8|0;R=y+16|0;S=y+24|0;T=y+32|0;U=y+40|0;V=y+48|0;W=y+56|0;L=y;M=L+56|0;do{f[L>>2]=0;L=L+4|0}while((L|0)<(M|0));p[W>>3]=-1.0;Y=y+64|0;p[Y>>3]=0.0;Z=z+8|0;_=z+16|0;$=z+24|0;aa=z+32|0;ba=z+40|0;ca=z+48|0;L=z;M=L+48|0;do{f[L>>2]=0;L=L+4|0}while((L|0)<(M|0));p[ca>>3]=1.0;da=z+56|0;ea=z+64|0;f[da>>2]=0;f[da+4>>2]=0;f[da+8>>2]=0;f[da+12>>2]=0;f[C>>2]=1111638022;f[C+24>>2]=3;f[C+20>>2]=3;f[C+4>>2]=24;f[C+16>>2]=v;f[C+8>>2]=0;f[C+12>>2]=0;f[E>>2]=1111638022;f[E+24>>2]=3;f[E+20>>2]=3;f[E+4>>2]=24;f[E+16>>2]=r;f[E+8>>2]=0;f[E+12>>2]=0;f[F>>2]=1111638022;f[F+24>>2]=9;f[F+20>>2]=3;f[F+4>>2]=72;f[F+16>>2]=s;f[F+8>>2]=0;f[F+12>>2]=0;fa=n>1.1920928955078125e-07;do if(((((((((((((((((((a|0)!=0?(ga=f[a>>2]|0,(ga&-65536|0)==1111621632):0)?(ha=a+24|0,ia=f[ha>>2]|0,(ia|0)>0):0)?(ja=a+20|0,ka=f[ja>>2]|0,(ka|0)>0):0)?(c|0)!=0&(f[a+16>>2]|0)!=0:0)?(f[c>>2]&-65536|0)==1111621632:0)?(f[c+24>>2]|0)>0:0)?(f[c+20>>2]|0)>0:0)?(d|0)!=0&(f[c+16>>2]|0)!=0:0)?(f[d>>2]&-65536|0)==1111621632:0)?(f[d+24>>2]|0)>0:0)?(f[d+20>>2]|0)>0:0)?(e|0)!=0&(f[d+16>>2]|0)!=0:0)?(f[e>>2]&-65536|0)==1111621632:0)?(f[e+24>>2]|0)>0:0)?(f[e+20>>2]|0)>0:0)?(h|0)!=0&(f[e+16>>2]|0)!=0:0)?(f[h>>2]&-65536|0)==1111621632:0)?(f[h+24>>2]|0)>0:0){if((f[h+20>>2]|0)<=0){la=22;break}if(f[h+16>>2]|0){ma=ha;na=a;oa=ja;pa=ka;qa=ia;ra=ga}else la=22}else la=22;while(0);if((la|0)==22){f[G>>2]=0;f[G+4>>2]=0;L=JV(G,47)|0;sa=344219;M=L+47|0;do{b[L>>0]=b[sa>>0]|0;L=L+1|0;sa=sa+1|0}while((L|0)<(M|0));EP(-5,G,344267,343561,550);KV(G);ga=a+20|0;ia=a+24|0;ma=ia;na=a;oa=ga;pa=f[ga>>2]|0;qa=f[ia>>2]|0;ra=f[a>>2]|0}ia=X(X(qa,pa)|0,(ra>>>3&511)+1|0)|0;if((ia|0)%3|0|0){f[G>>2]=0;f[G+4>>2]=0;L=JV(G,41)|0;sa=344284;M=L+41|0;do{b[L>>0]=b[sa>>0]|0;L=L+1|0;sa=sa+1|0}while((L|0)<(M|0));EP(-5,G,344267,343561,556);KV(G)}ra=(ia|0)/3|0;pa=f[na>>2]|0;a:do if((pa&16384|0)!=0?((pa&7)+-5|0)>>>0<2:0){na=f[oa>>2]|0;qa=pa&4088;do if(!((qa|0)==16&(na|0)==1)){if((na|0)==(ra|0)?(ga=f[ma>>2]|0,(X((pa>>>3&511)+1|0,ga)|0)==3):0){ta=ga;break}if(!((na|0)==3&(qa|0)==0)){la=36;break a}if((f[ma>>2]|0)==(ra|0))ta=ra;else{la=36;break a}}else ta=f[ma>>2]|0;while(0);ga=LV(na,ta,qa|6)|0;if(!ga)ua=0;else{ka=EQa(16)|0;f[ka+4>>2]=1;f[ka>>2]=58280;f[ka+8>>2]=ga;ua=ka}rAa(a,ga,1.0,0.0);va=ua;wa=ga}else la=36;while(0);if((la|0)==36){f[G>>2]=0;f[G+4>>2]=0;L=JV(G,41)|0;sa=344284;M=L+41|0;do{b[L>>0]=b[sa>>0]|0;L=L+1|0;sa=sa+1|0}while((L|0)<(M|0));EP(-5,G,344267,343561,573);KV(G);va=0;wa=0}ua=f[h>>2]|0;b:do if((ua&16384|0)!=0?((ua&7)+-5|0)>>>0<2:0){a=f[h+20>>2]|0;ta=ua&4088;do if(!((ta|0)==8&(a|0)==1)){if((a|0)==(ra|0)?(ma=f[h+24>>2]|0,(X((ua>>>3&511)+1|0,ma)|0)==2):0){xa=ma;break}if(!((a|0)==2&(ta|0)==0)){la=48;break b}if((f[h+24>>2]|0)==(ra|0))xa=ra;else{la=48;break b}}else xa=f[h+24>>2]|0;while(0);qa=LV(a,xa,ta|6)|0;if(!qa)ya=0;else{na=EQa(16)|0;f[na+4>>2]=1;f[na>>2]=58280;f[na+8>>2]=qa;ya=na}rAa(h,qa,1.0,0.0);za=ya;Aa=qa}else la=48;while(0);if((la|0)==48){f[G>>2]=0;f[G+4>>2]=0;L=JV(G,41)|0;sa=344284;M=L+41|0;do{b[L>>0]=b[sa>>0]|0;L=L+1|0;sa=sa+1|0}while((L|0)<(M|0));EP(-5,G,344267,343561,588);KV(G);za=0;Aa=0}ya=f[wa+16>>2]|0;wa=Aa;xa=f[wa+16>>2]|0;ua=f[c>>2]|0;do if(((ua&7)+-5|0)>>>0<2){qa=c+20|0;na=f[qa>>2]|0;ma=f[c+24>>2]|0;if((na|0)!=1)if((ma|0)==1){Ba=1;la=52}else Ca=ma;else{Ba=ma;la=52}if((la|0)==52)if((X(X(Ba,na)|0,(ua>>>3&511)+1|0)|0)==3){Da=qa;Ea=na;break}else Ca=Ba;if(((na|0)==3|(Ca|0)==3)&(ua&4088|0)==0){Da=qa;Ea=na}else la=54}else la=54;while(0);if((la|0)==54){f[G>>2]=0;f[G+4>>2]=0;L=JV(G,97)|0;sa=344326;M=L+97|0;do{b[L>>0]=b[sa>>0]|0;L=L+1|0;sa=sa+1|0}while((L|0)<(M|0));EP(-5,G,344267,343561,599);KV(G);ua=c+20|0;Da=ua;Ea=f[ua>>2]|0}ua=f[c+24>>2]|0;if((Ea|0)==3&(ua|0)==3){f[A>>2]=1111638022;f[A+4>>2]=8;f[A+8>>2]=0;f[A+12>>2]=0;f[A+16>>2]=q;f[A+20>>2]=3;f[A+24>>2]=1;Pwa(c,A,0)|0;Pwa(A,E,F)|0;nM(c,E,0)}else{Ea=f[Da>>2]|0;Da=f[c>>2]&4088;Ca=X(Da+8|0,ua)|0;f[A>>2]=Da|1111638022;f[A+4>>2]=Ca;f[A+8>>2]=0;f[A+12>>2]=0;f[A+16>>2]=q;f[A+20>>2]=Ea;f[A+24>>2]=ua;rAa(c,A,1.0,0.0);Pwa(A,E,F)|0}F=f[d>>2]|0;do if(((F&7)+-5|0)>>>0<2){E=f[d+20>>2]|0;A=f[d+24>>2]|0;if((E|0)!=1)if((A|0)==1)Fa=1;else{la=62;break}else Fa=A;if((X(X(Fa,E)|0,(F>>>3&511)+1|0)|0)==3){Ga=F;Ha=Fa;Ia=E}else la=62}else la=62;while(0);if((la|0)==62){f[G>>2]=0;f[G+4>>2]=0;L=JV(G,59)|0;sa=344424;M=L+59|0;do{b[L>>0]=b[sa>>0]|0;L=L+1|0;sa=sa+1|0}while((L|0)<(M|0));EP(-5,G,344267,343561,619);KV(G);Ga=f[d>>2]|0;Ha=f[d+24>>2]|0;Ia=f[d+20>>2]|0}Fa=Ga&4088;Ga=X(Fa+8|0,Ha)|0;f[B>>2]=Fa|1111638022;f[B+4>>2]=Ga;f[B+8>>2]=0;f[B+12>>2]=0;f[B+16>>2]=t;f[B+20>>2]=Ia;f[B+24>>2]=Ha;rAa(d,B,1.0,0.0);if(!((((f[e>>2]&4095)+-5|0)>>>0<2?(f[e+20>>2]|0)==3:0)?(f[e+24>>2]|0)==3:0)){f[G>>2]=0;f[G+4>>2]=0;L=JV(G,55)|0;sa=344484;M=L+55|0;do{b[L>>0]=b[sa>>0]|0;L=L+1|0;sa=sa+1|0}while((L|0)<(M|0));EP(-5,G,344267,343561,626);KV(G)}rAa(e,C,1.0,0.0);Ja=+p[v+32>>3];Ka=+p[v+16>>3];La=+p[v+40>>3];Ma=fa?Ja*n:+p[v>>3];v=(g|0)!=0;if(v){C=f[g>>2]|0;if((((((C&-65536|0)==1111621632?(e=f[g+24>>2]|0,(e|0)>0):0)?(B=f[g+20>>2]|0,(B|0)>0):0)?(f[g+16>>2]|0)!=0:0)?((C&7)+-5|0)>>>0<2:0)?(e|0)==1|(B|0)==1:0)switch(X(X(e,B)|0,(C>>>3&511)+1|0)|0){case 14:case 12:case 8:case 5:case 4:{Na=C;Oa=e;Pa=B;break}default:la=75}else la=75;if((la|0)==75){f[G>>2]=0;f[G+4>>2]=0;L=JV(G,108)|0;sa=344540;M=L+108|0;do{b[L>>0]=b[sa>>0]|0;L=L+1|0;sa=sa+1|0}while((L|0)<(M|0));EP(-5,G,344267,343561,646);KV(G);Na=f[g>>2]|0;Oa=f[g+24>>2]|0;Pa=f[g+20>>2]|0}B=Na&4088;Na=X(B+8|0,Oa)|0;f[D>>2]=B|1111638022;f[D+4>>2]=Na;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=w;f[D+20>>2]=Pa;f[D+24>>2]=Oa;rAa(g,D,1.0,0.0);Qa=+p[w+96>>3];Ra=+p[w+104>>3];if(Qa!=0.0|Ra!=0.0)Swa(Qa,Ra,x,y,z,0)}D=(i|0)!=0;if(D){g=f[i>>2]|0;if(((((g&-65536|0)==1111621632?(Oa=f[i+24>>2]|0,(Oa|0)>0):0)?(Pa=f[i+20>>2]|0,(Pa|0)>0):0)?(f[i+16>>2]|0)!=0:0)?(Oa|0)==3&(((g&4095)+-5|0)>>>0<2&(Pa|0)==(ra<<1|0)):0)Sa=g;else{f[G>>2]=0;f[G+4>>2]=0;L=JV(G,42)|0;sa=344649;M=L+42|0;do{b[L>>0]=b[sa>>0]|0;L=L+1|0;sa=sa+1|0}while((L|0)<(M|0));EP(-5,G,344267,343561,664);KV(G);Sa=f[i>>2]|0}if((Sa&4095|0)==6)Ta=QV(i)|0;else Ta=LV(ra<<1,3,6)|0;Sa=EQa(16)|0;f[Sa+4>>2]=1;f[Sa>>2]=58280;f[Sa+8>>2]=Ta;Ua=f[Ta+16>>2]|0;Va=(f[Ta+4>>2]|0)>>>3;Wa=Sa;Xa=Ta}else{Ua=0;Va=0;Wa=0;Xa=0}Ta=(j|0)!=0;if(Ta){Sa=f[j>>2]|0;if(((((Sa&-65536|0)==1111621632?(g=f[j+24>>2]|0,(g|0)>0):0)?(Pa=f[j+20>>2]|0,(Pa|0)>0):0)?(f[j+16>>2]|0)!=0:0)?(g|0)==3&(((Sa&4095)+-5|0)>>>0<2&(Pa|0)==(ra<<1|0)):0)Ya=Sa;else{f[G>>2]=0;f[G+4>>2]=0;L=JV(G,40)|0;sa=344692;M=L+40|0;do{b[L>>0]=b[sa>>0]|0;L=L+1|0;sa=sa+1|0}while((L|0)<(M|0));EP(-5,G,344267,343561,682);KV(G);Ya=f[j>>2]|0}if((Ya&4095|0)==6)Za=QV(j)|0;else Za=LV(ra<<1,3,6)|0;Ya=EQa(16)|0;f[Ya+4>>2]=1;f[Ya>>2]=58280;f[Ya+8>>2]=Za;_a=f[Za+16>>2]|0;$a=(f[Za+4>>2]|0)>>>3;ab=Ya;bb=Za}else{_a=0;$a=0;ab=0;bb=0}Za=(k|0)!=0;if(Za){Ya=f[k>>2]|0;if(((((Ya&-65536|0)==1111621632?(Sa=f[k+24>>2]|0,(Sa|0)>0):0)?(Pa=f[k+20>>2]|0,(Pa|0)>0):0)?(f[k+16>>2]|0)!=0:0)?(Sa|0)==2&(((Ya&4095)+-5|0)>>>0<2&(Pa|0)==(ra<<1|0)):0)cb=Ya;else{f[G>>2]=0;f[G+4>>2]=0;L=JV(G,40)|0;sa=344733;M=L+40|0;do{b[L>>0]=b[sa>>0]|0;L=L+1|0;sa=sa+1|0}while((L|0)<(M|0));EP(-5,G,344267,343561,699);KV(G);cb=f[k>>2]|0}if((cb&4095|0)==6)db=QV(k)|0;else db=LV(ra<<1,2,6)|0;cb=EQa(16)|0;f[cb+4>>2]=1;f[cb>>2]=58280;f[cb+8>>2]=db;eb=f[db+16>>2]|0;fb=(f[db+4>>2]|0)>>>3;gb=cb;hb=db}else{eb=0;fb=0;gb=0;hb=0}db=(l|0)!=0;if(db){cb=f[l>>2]|0;if(((((cb&-65536|0)==1111621632?(Ya=f[l+24>>2]|0,(Ya|0)>0):0)?(Pa=f[l+20>>2]|0,(Pa|0)>0):0)?(f[l+16>>2]|0)!=0:0)?(Ya|0)==2&(((cb&4095)+-5|0)>>>0<2&(Pa|0)==(ra<<1|0)):0)ib=cb;else{f[G>>2]=0;f[G+4>>2]=0;L=JV(G,40)|0;sa=344774;M=L+40|0;do{b[L>>0]=b[sa>>0]|0;L=L+1|0;sa=sa+1|0}while((L|0)<(M|0));EP(-5,G,344267,343561,716);KV(G);ib=f[l>>2]|0}if((ib&4095|0)==6)jb=QV(l)|0;else jb=LV(ra<<1,2,6)|0;ib=EQa(16)|0;f[ib+4>>2]=1;f[ib>>2]=58280;f[ib+8>>2]=jb;kb=f[jb+16>>2]|0;lb=(f[jb+4>>2]|0)>>>3;mb=ib;nb=jb}else{kb=0;lb=0;mb=0;nb=0}jb=(m|0)!=0;if(jb){ib=f[m>>2]|0;do if((((ib&-65536|0)==1111621632?(cb=f[m+24>>2]|0,(cb|0)>0):0)?(Pa=f[m+20>>2]|0,(Pa|0)>0):0)?(f[m+16>>2]|0)!=0:0){if(!(((ib&4095)+-5|0)>>>0<2&(Pa|0)==(ra<<1|0))){la=129;break}switch(cb|0){case 2:case 4:case 5:case 8:case 12:case 14:break;default:la=129}}else la=129;while(0);if((la|0)==129){f[G>>2]=0;f[G+4>>2]=0;L=JV(G,74)|0;sa=344815;M=L+74|0;do{b[L>>0]=b[sa>>0]|0;L=L+1|0;sa=sa+1|0}while((L|0)<(M|0));EP(-5,G,344267,343561,733);KV(G)}if(!v){f[G>>2]=0;f[G+4>>2]=0;L=JV(G,36)|0;sa=344890;M=L+36|0;do{b[L>>0]=b[sa>>0]|0;L=L+1|0;sa=sa+1|0}while((L|0)<(M|0));EP(-27,G,344267,343561,736);KV(G)}if((f[m>>2]&4095|0)==6)ob=QV(m)|0;else ob=LV(f[m+20>>2]|0,f[m+24>>2]|0,6)|0;sa=EQa(16)|0;f[sa+4>>2]=1;f[sa>>2]=58280;f[sa+8>>2]=ob;pb=f[ob+16>>2]|0;qb=(f[ob+4>>2]|0)>>>3;rb=sa;sb=ob}else{pb=0;qb=0;rb=0;sb=0}ob=D|Ta|Za|db|jb;if((ia|0)>2){ia=r+8|0;jb=r+16|0;db=r+24|0;Za=r+32|0;Ta=r+40|0;D=t+8|0;sa=r+48|0;L=r+56|0;M=r+64|0;v=t+16|0;la=w+8|0;ib=w+32|0;cb=w+40|0;Pa=w+48|0;Ya=w+56|0;Sa=w+16|0;g=w+24|0;Oa=w+64|0;Na=w+72|0;B=w+80|0;e=w+88|0;C=x+16|0;d=x+24|0;Ha=x+40|0;Ia=x+48|0;Ga=x+56|0;Fa=G+8|0;F=G+16|0;E=H+8|0;A=H+16|0;c=H+24|0;ua=s+8|0;Ea=s+16|0;q=I+8|0;Ca=s+72|0;Da=s+80|0;Ba=s+88|0;na=I+16|0;qa=s+144|0;ma=s+152|0;pa=s+160|0;oa=s+24|0;ga=s+32|0;ka=s+40|0;ja=J+8|0;ha=s+96|0;tb=s+104|0;ub=s+112|0;vb=J+16|0;wb=s+168|0;xb=s+176|0;yb=s+184|0;zb=s+48|0;Ab=s+56|0;Bb=s+64|0;Cb=K+8|0;Db=s+120|0;Eb=s+128|0;Fb=s+136|0;Gb=K+16|0;Hb=s+192|0;Ib=s+200|0;Jb=s+208|0;Kb=Va<<1;Lb=I+8|0;Mb=I+16|0;Nb=J+8|0;Ob=J+16|0;Pb=$a<<1;Qb=qb+1|0;Rb=sb+24|0;Sb=qb+2|0;Tb=qb+3|0;Ub=qb+4|0;Vb=qb+5|0;Wb=qb+6|0;Xb=qb+7|0;Yb=qb+8|0;Zb=qb+9|0;_b=qb+10|0;$b=qb+11|0;ac=qb+12|0;bc=qb+13|0;cc=qb<<1;dc=fb+1|0;ec=fb<<1;fc=lb<<1;gc=lb+1|0;hc=Va+1|0;ic=Va+2|0;jc=$a+1|0;kc=$a+2|0;lc=0;mc=Ua;Ua=_a;_a=pb;pb=eb;eb=kb;while(1){Ra=+p[ya+(lc*24|0)>>3];Qa=+p[ya+(lc*24|0)+8>>3];nc=+p[ya+(lc*24|0)+16>>3];oc=+p[t>>3]+(Ra*+p[r>>3]+Qa*+p[ia>>3]+nc*+p[jb>>3]);pc=+p[D>>3]+(Ra*+p[db>>3]+Qa*+p[Za>>3]+nc*+p[Ta>>3]);qc=+p[v>>3]+(Ra*+p[sa>>3]+Qa*+p[L>>3]+nc*+p[M>>3]);f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;f[H+16>>2]=0;f[H+20>>2]=0;f[H+24>>2]=0;f[H+28>>2]=0;rc=qc!=0.0?1.0/qc:1.0;qc=oc*rc;oc=pc*rc;pc=qc*qc+oc*oc;sc=pc*pc;tc=pc*sc;uc=qc*2.0;vc=oc*uc;wc=pc+qc*uc;xc=oc*2.0;yc=pc+oc*xc;zc=+p[w>>3]*pc+1.0+ +p[la>>3]*sc+ +p[ib>>3]*tc;Ac=1.0/(pc*+p[cb>>3]+1.0+sc*+p[Pa>>3]+tc*+p[Ya>>3]);Bc=qc*zc;Cc=+p[Sa>>3];Dc=+p[g>>3];Ec=sc*+p[Na>>3]+(pc*+p[Oa>>3]+(wc*Dc+(vc*Cc+Bc*Ac)));Fc=oc*zc;Gc=vc*Dc+(yc*Cc+Fc*Ac)+pc*+p[B>>3]+sc*+p[e>>3];Cc=+p[C>>3]+(+p[N>>3]*Gc+(+p[x>>3]*Ec+0.0));Dc=+p[Ha>>3]+(Ec*+p[d>>3]+0.0+Gc*+p[O>>3]);Hc=+p[P>>3]+(Ec*+p[Ia>>3]+0.0+Gc*+p[Ga>>3]);p[G>>3]=Cc;p[Fa>>3]=Dc;p[F>>3]=Hc;Ic=Hc!=0.0?1.0/Hc:1.0;Hc=Ic*Cc;Cc=Ic*Dc;p[xa+(lc<<4)>>3]=Ka+Ma*Hc;p[xa+(lc<<4)+8>>3]=La+Ja*Cc;do if(ob){if(!eb)Jc=0;else{p[eb>>3]=1.0;p[eb+8>>3]=0.0;p[eb+(lb<<3)>>3]=0.0;p[eb+(gc<<3)>>3]=1.0;Jc=eb+(fc<<3)|0}if(!pb)Kc=0;else{if(fa){p[pb>>3]=0.0;Lc=Hc*n}else{p[pb>>3]=Hc;Lc=0.0}p[pb+8>>3]=Lc;p[pb+(fb<<3)>>3]=0.0;p[pb+(dc<<3)>>3]=Cc;Kc=pb+(ec<<3)|0}Dc=+p[F>>3];Mc=+p[G>>3];Nc=+p[Ia>>3];Oc=+p[Ga>>3];Pc=+p[N>>3]*Dc-Oc*Mc;Qc=+p[Fa>>3];Rc=+p[d>>3]*Dc-Nc*Qc;Sc=+p[O>>3]*Dc-Oc*Qc;Qc=Ic*Ic;Oc=Qc*(+p[x>>3]*Dc-Nc*Mc);p[H>>3]=Oc;Mc=Qc*Pc;p[E>>3]=Mc;Pc=Qc*Rc;p[A>>3]=Pc;Rc=Qc*Sc;p[c>>3]=Rc;if(!_a)Tc=0;else{Sc=qc*Ac;Nc=pc*Sc;Dc=oc*Ac;Uc=pc*Dc;p[_a>>3]=Ma*(Nc*Oc+0.0+Uc*Mc);p[_a+(qb<<3)>>3]=Ja*(Uc*Rc+(Nc*Pc+0.0));Pc=sc*Sc;Nc=sc*Dc;Rc=Pc*+p[A>>3]+0.0+Nc*+p[c>>3];p[_a+8>>3]=Ma*(Pc*+p[H>>3]+0.0+Nc*+p[E>>3]);p[_a+(Qb<<3)>>3]=Ja*Rc;do if((f[Rb>>2]|0)>2){Rc=vc*+p[A>>3]+0.0+yc*+p[c>>3];p[_a+16>>3]=Ma*(vc*+p[H>>3]+0.0+yc*+p[E>>3]);p[_a+(Sb<<3)>>3]=Ja*Rc;Rc=wc*+p[A>>3]+0.0+vc*+p[c>>3];p[_a+24>>3]=Ma*(wc*+p[H>>3]+0.0+vc*+p[E>>3]);p[_a+(Tb<<3)>>3]=Ja*Rc;if((f[Rb>>2]|0)<=4)break;Rc=tc*Sc;Nc=tc*Dc;Pc=Rc*+p[A>>3]+0.0+Nc*+p[c>>3];p[_a+32>>3]=Ma*(Rc*+p[H>>3]+0.0+Nc*+p[E>>3]);p[_a+(Ub<<3)>>3]=Ja*Pc;if((f[Rb>>2]|0)<=5)break;Pc=-Ac;Nc=Ac*(Bc*Pc);Rc=pc*Nc;Uc=Ac*(Fc*Pc);Pc=pc*Uc;Mc=Rc*+p[A>>3]+0.0+Pc*+p[c>>3];p[_a+40>>3]=Ma*(Rc*+p[H>>3]+0.0+Pc*+p[E>>3]);p[_a+(Vb<<3)>>3]=Ja*Mc;Mc=sc*Nc;Pc=sc*Uc;Rc=Mc*+p[A>>3]+0.0+Pc*+p[c>>3];p[_a+48>>3]=Ma*(Mc*+p[H>>3]+0.0+Pc*+p[E>>3]);p[_a+(Wb<<3)>>3]=Ja*Rc;Rc=tc*Nc;Nc=tc*Uc;Uc=Rc*+p[A>>3]+0.0+Nc*+p[c>>3];p[_a+56>>3]=Ma*(Rc*+p[H>>3]+0.0+Nc*+p[E>>3]);p[_a+(Xb<<3)>>3]=Ja*Uc;if((f[Rb>>2]|0)<=8)break;Uc=pc*+p[A>>3]+0.0+ +p[c>>3]*0.0;p[_a+64>>3]=Ma*(pc*+p[H>>3]+0.0+ +p[E>>3]*0.0);p[_a+(Yb<<3)>>3]=Ja*Uc;Uc=sc*+p[A>>3]+0.0+ +p[c>>3]*0.0;p[_a+72>>3]=Ma*(sc*+p[H>>3]+0.0+ +p[E>>3]*0.0);p[_a+(Zb<<3)>>3]=Ja*Uc;Uc=+p[A>>3]*0.0+0.0+pc*+p[c>>3];p[_a+80>>3]=Ma*(+p[H>>3]*0.0+0.0+pc*+p[E>>3]);p[_a+(_b<<3)>>3]=Ja*Uc;Uc=+p[A>>3]*0.0+0.0+sc*+p[c>>3];p[_a+88>>3]=Ma*(+p[H>>3]*0.0+0.0+sc*+p[E>>3]);p[_a+($b<<3)>>3]=Ja*Uc;if((f[Rb>>2]|0)<=12)break;Uc=+p[U>>3]+(Ec*+p[S>>3]+0.0+Gc*+p[T>>3]);Nc=+p[Y>>3]+(Ec*+p[V>>3]+0.0+Gc*+p[W>>3]);Rc=Ma*Qc;Pc=+p[F>>3];p[_a+96>>3]=Rc*((+p[R>>3]+(Ec*+p[y>>3]+0.0+Gc*+p[Q>>3]))*Pc-Nc*+p[G>>3]);Mc=Ja*Qc;p[_a+(ac<<3)>>3]=Mc*(Uc*Pc-Nc*+p[Fa>>3]);Nc=+p[ba>>3]+(Ec*+p[$>>3]+0.0+Gc*+p[aa>>3]);Pc=+p[ea>>3]+(Ec*+p[ca>>3]+0.0+Gc*+p[da>>3]);Uc=+p[F>>3];p[_a+104>>3]=Rc*((+p[_>>3]+(Ec*+p[z>>3]+0.0+Gc*+p[Z>>3]))*Uc-Pc*+p[G>>3]);p[_a+(bc<<3)>>3]=Mc*(Nc*Uc-Pc*+p[Fa>>3])}while(0);Tc=_a+(cc<<3)|0}if(!Ua)Vc=0;else{p[I>>3]=rc;p[Lb>>3]=0.0;p[Mb>>3]=-(rc*qc);p[J>>3]=0.0;p[Nb>>3]=rc;Qc=rc*oc;p[Ob>>3]=-Qc;Dc=Ac*Ac;Sc=qc*4.0;Pc=pc*2.0;Uc=oc*4.0;Nc=uc*rc+xc*0.0;Mc=+p[w>>3]*Nc+Nc*(pc*(+p[la>>3]*2.0))+Nc*(sc*(+p[ib>>3]*3.0));Rc=-(Dc*(Nc*+p[cb>>3]+Nc*(pc*(+p[Pa>>3]*2.0))+Nc*(sc*(+p[Ya>>3]*3.0))));Oc=(Qc+qc*0.0)*2.0;Qc=+p[Sa>>3];Wc=+p[g>>3];Xc=Nc*(Pc*+p[Na>>3])+(Nc*+p[Oa>>3]+((Sc*rc+Nc)*Wc+(Oc*Qc+(Ac*(zc*rc)+Ac*(qc*Mc)+Bc*Rc))));Yc=Nc*(Pc*+p[e>>3])+(Nc*+p[B>>3]+(Oc*Wc+((Uc*0.0+Nc)*Qc+(Ac*(zc*0.0)+Ac*(oc*Mc)+Fc*Rc))));Rc=+p[c>>3]*Yc+(+p[A>>3]*Xc+0.0);p[Ua>>3]=Ma*(+p[E>>3]*Yc+(+p[H>>3]*Xc+0.0));p[Ua+($a<<3)>>3]=Ja*Rc;Rc=+p[Lb>>3];Xc=+p[Nb>>3];Yc=uc*Rc+xc*Xc;Mc=+p[w>>3]*Yc+Yc*(pc*(+p[la>>3]*2.0))+Yc*(sc*(+p[ib>>3]*3.0));Qc=-(Dc*(Yc*+p[cb>>3]+Yc*(pc*(+p[Pa>>3]*2.0))+Yc*(sc*(+p[Ya>>3]*3.0))));Nc=(oc*Rc+qc*Xc)*2.0;Wc=+p[Sa>>3];Oc=+p[g>>3];Zc=Yc*(Pc*+p[Na>>3])+(Yc*+p[Oa>>3]+((Sc*Rc+Yc)*Oc+(Nc*Wc+(Ac*(zc*Rc)+Ac*(qc*Mc)+Bc*Qc))));Rc=Yc*(Pc*+p[e>>3])+(Yc*+p[B>>3]+(Nc*Oc+((Uc*Xc+Yc)*Wc+(Ac*(zc*Xc)+Ac*(oc*Mc)+Fc*Qc))));Qc=+p[c>>3]*Rc+(+p[A>>3]*Zc+0.0);p[Ua+8>>3]=Ma*(+p[E>>3]*Rc+(+p[H>>3]*Zc+0.0));p[Ua+(jc<<3)>>3]=Ja*Qc;Qc=+p[Mb>>3];Zc=+p[Ob>>3];Rc=uc*Qc+xc*Zc;Mc=+p[w>>3]*Rc+Rc*(pc*(+p[la>>3]*2.0))+Rc*(sc*(+p[ib>>3]*3.0));Xc=-(Dc*(Rc*+p[cb>>3]+Rc*(pc*(+p[Pa>>3]*2.0))+Rc*(sc*(+p[Ya>>3]*3.0))));Dc=(oc*Qc+qc*Zc)*2.0;Wc=+p[Sa>>3];Yc=+p[g>>3];Oc=Rc*(Pc*+p[Na>>3])+(Rc*+p[Oa>>3]+((Sc*Qc+Rc)*Yc+(Dc*Wc+(Ac*(zc*Qc)+Ac*(qc*Mc)+Bc*Xc))));Qc=Rc*(Pc*+p[e>>3])+(Rc*+p[B>>3]+(Dc*Yc+((Uc*Zc+Rc)*Wc+(Ac*(zc*Zc)+Ac*(oc*Mc)+Fc*Xc))));Xc=+p[c>>3]*Qc+(+p[A>>3]*Oc+0.0);p[Ua+16>>3]=Ma*(+p[E>>3]*Qc+(+p[H>>3]*Oc+0.0));p[Ua+(kc<<3)>>3]=Ja*Xc;Vc=Ua+(Pb<<3)|0}if(!mc){_c=0;$c=Vc;ad=Tc;bd=Kc;cd=Jc;break}Xc=Ra*+p[s>>3]+Qa*+p[ua>>3]+nc*+p[Ea>>3];p[I>>3]=Xc;p[q>>3]=Ra*+p[Ca>>3]+Qa*+p[Da>>3]+nc*+p[Ba>>3];p[na>>3]=Ra*+p[qa>>3]+Qa*+p[ma>>3]+nc*+p[pa>>3];Oc=Ra*+p[oa>>3]+Qa*+p[ga>>3]+nc*+p[ka>>3];p[J>>3]=Oc;p[ja>>3]=Ra*+p[ha>>3]+Qa*+p[tb>>3]+nc*+p[ub>>3];p[vb>>3]=Ra*+p[wb>>3]+Qa*+p[xb>>3]+nc*+p[yb>>3];Qc=Ra*+p[zb>>3]+Qa*+p[Ab>>3]+nc*+p[Bb>>3];p[K>>3]=Qc;p[Cb>>3]=Ra*+p[Db>>3]+Qa*+p[Eb>>3]+nc*+p[Fb>>3];p[Gb>>3]=Ra*+p[Hb>>3]+Qa*+p[Ib>>3]+nc*+p[Jb>>3];Mc=Ac*Ac;Zc=qc*4.0;Wc=pc*2.0;Rc=oc*4.0;Uc=rc*(Xc-qc*Qc);Xc=rc*(Oc-oc*Qc);Qc=uc*Uc+xc*Xc;Oc=Qc*(+p[w>>3]+pc*(+p[la>>3]*2.0)+sc*(+p[ib>>3]*3.0));Yc=-(Qc*(Mc*(+p[cb>>3]+pc*(+p[Pa>>3]*2.0)+sc*(+p[Ya>>3]*3.0))));Dc=(qc*Xc+oc*Uc)*2.0;Pc=+p[Sa>>3];Sc=+p[g>>3];Nc=Qc*(+p[Oa>>3]+Wc*+p[Na>>3])+((Zc*Uc+Qc)*Sc+(Dc*Pc+(Ac*(zc*Uc)+Ac*(qc*Oc)+Bc*Yc)));Uc=Dc*Sc+((Rc*Xc+Qc)*Pc+(Ac*(zc*Xc)+Ac*(oc*Oc)+Fc*Yc))+Qc*(+p[B>>3]+Wc*+p[e>>3]);Qc=Uc*+p[c>>3]+(+p[A>>3]*Nc+0.0);p[mc>>3]=Ma*(+p[E>>3]*Uc+(+p[H>>3]*Nc+0.0));p[mc+(Va<<3)>>3]=Ja*Qc;Qc=+p[Cb>>3];Nc=rc*(+p[q>>3]-qc*Qc);Uc=rc*(+p[ja>>3]-oc*Qc);Qc=uc*Nc+xc*Uc;Yc=Qc*(+p[w>>3]+pc*(+p[la>>3]*2.0)+sc*(+p[ib>>3]*3.0));Oc=-(Qc*(Mc*(+p[cb>>3]+pc*(+p[Pa>>3]*2.0)+sc*(+p[Ya>>3]*3.0))));Xc=(qc*Uc+oc*Nc)*2.0;Pc=+p[Sa>>3];Sc=+p[g>>3];Dc=Qc*(+p[Oa>>3]+Wc*+p[Na>>3])+((Zc*Nc+Qc)*Sc+(Xc*Pc+(Ac*(zc*Nc)+Ac*(qc*Yc)+Bc*Oc)));Nc=Xc*Sc+((Rc*Uc+Qc)*Pc+(Ac*(zc*Uc)+Ac*(oc*Yc)+Fc*Oc))+Qc*(+p[B>>3]+Wc*+p[e>>3]);Qc=Nc*+p[c>>3]+(+p[A>>3]*Dc+0.0);p[mc+8>>3]=Ma*(+p[E>>3]*Nc+(+p[H>>3]*Dc+0.0));p[mc+(hc<<3)>>3]=Ja*Qc;Qc=+p[Gb>>3];Dc=rc*(+p[na>>3]-qc*Qc);Nc=rc*(+p[vb>>3]-oc*Qc);Qc=uc*Dc+xc*Nc;Oc=Qc*(+p[w>>3]+pc*(+p[la>>3]*2.0)+sc*(+p[ib>>3]*3.0));Yc=-(Qc*(Mc*(+p[cb>>3]+pc*(+p[Pa>>3]*2.0)+sc*(+p[Ya>>3]*3.0))));Mc=(qc*Nc+oc*Dc)*2.0;Uc=+p[Sa>>3];Pc=+p[g>>3];Sc=Qc*(+p[Oa>>3]+Wc*+p[Na>>3])+((Zc*Dc+Qc)*Pc+(Mc*Uc+(Ac*(zc*Dc)+Ac*(qc*Oc)+Bc*Yc)));Dc=Mc*Pc+((Rc*Nc+Qc)*Uc+(Ac*(zc*Nc)+Ac*(oc*Oc)+Fc*Yc))+Qc*(+p[B>>3]+Wc*+p[e>>3]);Wc=Dc*+p[c>>3]+(+p[A>>3]*Sc+0.0);p[mc+16>>3]=Ma*(+p[E>>3]*Dc+(+p[H>>3]*Sc+0.0));p[mc+(ic<<3)>>3]=Ja*Wc;_c=mc+(Kb<<3)|0;$c=Vc;ad=Tc;bd=Kc;cd=Jc}else{_c=mc;$c=Ua;ad=_a;bd=pb;cd=eb}while(0);lc=lc+1|0;if((lc|0)==(ra|0))break;else{mc=_c;Ua=$c;_a=ad;pb=bd;eb=cd}}}if((wa|0)!=(h|0))rAa(Aa,h,1.0,0.0);if((Xa|0)!=(i|0))rAa(Xa,i,1.0,0.0);if((bb|0)!=(j|0))rAa(bb,j,1.0,0.0);if((hb|0)!=(k|0))rAa(hb,k,1.0,0.0);if((nb|0)!=(l|0))rAa(nb,l,1.0,0.0);if((sb|0)!=(m|0))rAa(sb,m,1.0,0.0);m=rb;do if(rb|0){sb=m+4|0;l=f[sb>>2]|0;f[sb>>2]=l+-1;if((l|0)!=1)break;qg[f[(f[rb>>2]|0)+8>>2]&1023](m)}while(0);m=gb;do if(gb|0){rb=m+4|0;l=f[rb>>2]|0;f[rb>>2]=l+-1;if((l|0)!=1)break;qg[f[(f[gb>>2]|0)+8>>2]&1023](m)}while(0);m=mb;do if(mb|0){gb=m+4|0;l=f[gb>>2]|0;f[gb>>2]=l+-1;if((l|0)!=1)break;qg[f[(f[mb>>2]|0)+8>>2]&1023](m)}while(0);m=ab;do if(ab|0){mb=m+4|0;l=f[mb>>2]|0;f[mb>>2]=l+-1;if((l|0)!=1)break;qg[f[(f[ab>>2]|0)+8>>2]&1023](m)}while(0);m=Wa;do if(Wa|0){ab=m+4|0;l=f[ab>>2]|0;f[ab>>2]=l+-1;if((l|0)!=1)break;qg[f[(f[Wa>>2]|0)+8>>2]&1023](m)}while(0);m=za;do if(za|0){Wa=m+4|0;l=f[Wa>>2]|0;f[Wa>>2]=l+-1;if((l|0)!=1)break;qg[f[(f[za>>2]|0)+8>>2]&1023](m)}while(0);m=va;if(!va){u=o;return}za=m+4|0;l=f[za>>2]|0;f[za>>2]=l+-1;if((l|0)!=1){u=o;return}qg[f[(f[va>>2]|0)+8>>2]&1023](m);u=o;return}function Swa(a,b,c,d,e,f){a=+a;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,P=0.0,Q=0.0;g=+N(+a);h=+O(+a);a=+N(+b);i=+O(+b);b=i*-0.0;j=a+0.0+b;k=a*0.0;l=k+0.0;m=g*0.0;n=h*i+(m+l);o=h*0.0;q=g*i;r=o+l-q;s=h*-0.0;t=g+0.0+s;u=m+(h+0.0);v=k+(i+0.0);w=i*0.0+0.0;x=h*a;y=m+w-x;z=g*a;a=z+(o+w);g=-r;A=-u;if(c|0){B=t*0.0;C=u*0.0;D=j*0.0+0.0;E=n*0.0+0.0;F=r*0.0+0.0;p[c>>3]=v*g+(j*a+0.0);p[c+8>>3]=y*g+(B+(n*a+0.0));p[c+16>>3]=a*g+(C+(r*a+0.0));p[c+24>>3]=v*A+(D+a*0.0);p[c+32>>3]=y*A+(E+t*a);p[c+40>>3]=a*A+(F+u*a);p[c+48>>3]=v+D;p[c+56>>3]=y+(B+E);p[c+64>>3]=a+(C+F)}if(d|0){F=l+b;C=q+(s+l);l=0.0-h-m;h=k+w;q=s+w-z;w=-n;E=-t;B=l*0.0;D=t*0.0;G=F*0.0+0.0;H=a*0.0;I=C*0.0+0.0;J=n*0.0+0.0;K=D+J;L=u*0.0;M=j*0.0+0.0;P=y*0.0;Q=r*0.0+0.0;p[d>>3]=h*g+(F*a+0.0)+(v*w+(j*y+0.0));p[d+8>>3]=q*g+(B+(C*a+0.0))+(y*w+(D+(n*y+0.0)));p[d+16>>3]=y*g+(D+(n*a+0.0))+(a*w+(L+(r*y+0.0)));p[d+24>>3]=h*A+(G+H)+(v*E+(M+P));p[d+32>>3]=q*A+(I+l*a)+(y*E+(J+t*y));p[d+40>>3]=y*A+(J+t*a)+(a*E+(Q+u*y));p[d+48>>3]=h+G+(v*0.0+M);p[d+56>>3]=q+(B+I)+(P+K);p[d+64>>3]=y+K+(H+(L+Q))}if(e|0){Q=0.0-i-k;k=b+0.0;b=x+(m+k);x=o+k-z;z=m+0.0+s;s=m+(o+0.0);o=-x;m=-s;k=z*0.0;i=s*0.0;L=Q*0.0+0.0;H=a*0.0;K=b*0.0+0.0;P=x*0.0+0.0;I=t*0.0;B=u*0.0;q=j*0.0+0.0;M=r*0.0;G=n*0.0+0.0;h=M+0.0;p[e>>3]=j*r+0.0+v*o+(j*g+(Q*a+0.0));p[e+8>>3]=y*o+(I+(r*n+0.0))+(n*g+(k+(a*b+0.0)));p[e+16>>3]=a*o+(B+(r*r+0.0))+(r*g+(i+(a*x+0.0)));p[e+24>>3]=v*m+(q+M)+(j*A+(L+H));p[e+32>>3]=y*m+(t*r+G)+(n*A+(z*a+K));p[e+40>>3]=a*m+(u*r+h)+(r*A+(s*a+P));p[e+48>>3]=j+L+(v*0.0+q);p[e+56>>3]=y*0.0+(I+G)+(n+(k+K));p[e+64>>3]=H+(B+h)+(r+(i+P))}if(!f)return;P=1.0/a;i=r*P;h=u*P;B=v*0.0;H=y*0.0;K=a*0.0;p[f>>3]=B+(j*P+0.0);p[f+8>>3]=B+(j*0.0+0.0+P*0.0);p[f+16>>3]=v+(h*0.0+(j*i+0.0));p[f+24>>3]=H+(t*0.0+(n*P+0.0));p[f+32>>3]=H+(n*0.0+0.0+t*P);p[f+40>>3]=y+(t*h+(n*i+0.0));p[f+48>>3]=K+(u*0.0+(i+0.0));p[f+56>>3]=K+(r*0.0+0.0+h);p[f+64>>3]=a+(u*h+(r*i+0.0));return}function Twa(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0.0,ra=0.0,sa=0.0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0.0,Aa=0.0;j=u;u=u+3600|0;k=j+1904|0;l=j+1832|0;m=j+1760|0;n=j+1688|0;o=j+1616|0;q=j+1544|0;r=j+1472|0;s=j+1448|0;t=j+1416|0;v=j+1368|0;w=j+3560|0;x=j+3532|0;y=j+3504|0;z=j+3476|0;A=j+3448|0;B=j+3420|0;C=j+3392|0;D=j+3364|0;E=j+3336|0;F=j+3308|0;G=j+3280|0;H=j+3252|0;I=j+3224|0;J=j+1200|0;K=j;M=j+3196|0;N=j+3168|0;O=j+3140|0;P=j+3112|0;Q=j+3084|0;R=j+1336|0;S=j+1168|0;T=j+3056|0;U=j+1152|0;V=m+8|0;W=V+56|0;do{f[V>>2]=0;V=V+4|0}while((V|0)<(W|0));p[m>>3]=1.0;p[m+32>>3]=1.0;p[m+64>>3]=1.0;f[w>>2]=1111638022;f[w+24>>2]=3;f[w+20>>2]=3;f[w+4>>2]=24;f[w+16>>2]=l;f[w+8>>2]=0;f[w+12>>2]=0;f[x>>2]=1111638022;f[x+24>>2]=3;f[x+20>>2]=3;f[x+4>>2]=24;f[x+16>>2]=m;f[x+8>>2]=0;f[x+12>>2]=0;f[y>>2]=1111638022;f[y+24>>2]=3;f[y+20>>2]=3;f[y+4>>2]=24;f[y+16>>2]=n;f[y+8>>2]=0;f[y+12>>2]=0;f[z>>2]=1111638022;n=z+24|0;f[n>>2]=1;m=z+20|0;f[m>>2]=3;l=z+4|0;f[l>>2]=8;Y=z+16|0;f[Y>>2]=v;Z=z+8|0;f[Z>>2]=0;_=z+12|0;f[_>>2]=0;$=v+24|0;f[A>>2]=1111638022;aa=A+24|0;f[aa>>2]=1;ba=A+20|0;f[ba>>2]=3;ca=A+4|0;f[ca>>2]=8;da=A+16|0;f[da>>2]=$;ea=A+8|0;f[ea>>2]=0;fa=A+12|0;f[fa>>2]=0;f[B>>2]=1111638022;f[B+24>>2]=3;f[B+20>>2]=1;f[B+4>>2]=24;f[B+16>>2]=t;f[B+8>>2]=0;f[B+12>>2]=0;f[C>>2]=1111638022;f[C+24>>2]=3;f[C+20>>2]=3;f[C+4>>2]=24;f[C+16>>2]=o;f[C+8>>2]=0;f[C+12>>2]=0;f[D>>2]=1111638022;f[D+24>>2]=3;f[D+20>>2]=3;f[D+4>>2]=24;f[D+16>>2]=q;f[D+8>>2]=0;f[D+12>>2]=0;f[E>>2]=1111638022;f[E+24>>2]=3;f[E+20>>2]=3;f[E+4>>2]=24;f[E+16>>2]=r;f[E+8>>2]=0;f[E+12>>2]=0;f[F>>2]=1111638022;f[F+24>>2]=1;f[F+20>>2]=3;f[F+4>>2]=8;f[F+16>>2]=s;f[F+8>>2]=0;f[F+12>>2]=0;f[G>>2]=1111638022;f[G+24>>2]=1;f[G+20>>2]=6;f[G+4>>2]=8;f[G+16>>2]=v;f[G+8>>2]=0;f[G+12>>2]=0;do if(((((((((((((((((((a|0)!=0?(f[a>>2]&-65536|0)==1111621632:0)?(q=f[a+24>>2]|0,(q|0)>0):0)?(o=f[a+20>>2]|0,(o|0)>0):0)?(c|0)!=0&(f[a+16>>2]|0)!=0:0)?(f[c>>2]&-65536|0)==1111621632:0)?(f[c+24>>2]|0)>0:0)?(f[c+20>>2]|0)>0:0)?(d|0)!=0&(f[c+16>>2]|0)!=0:0)?(f[d>>2]&-65536|0)==1111621632:0)?(f[d+24>>2]|0)>0:0)?(f[d+20>>2]|0)>0:0)?(g|0)!=0&(f[d+16>>2]|0)!=0:0)?(f[g>>2]&-65536|0)==1111621632:0)?(f[g+24>>2]|0)>0:0)?(f[g+20>>2]|0)>0:0)?(h|0)!=0&(f[g+16>>2]|0)!=0:0)?(f[h>>2]&-65536|0)==1111621632:0)?(f[h+24>>2]|0)>0:0){if((f[h+20>>2]|0)<=0){ga=22;break}if(f[h+16>>2]|0){ha=q;ia=o}else ga=22}else ga=22;while(0);if((ga|0)==22){f[k>>2]=0;f[k+4>>2]=0;DVa(JV(k,1031)|0,344927,1031)|0;EP(-215,k,345959,343561,996);KV(k);ha=f[a+24>>2]|0;ia=f[a+20>>2]|0}o=(ha|0)<(ia|0)?ia:ha;ha=LV(1,o,22)|0;if(!ha)ja=0;else{ia=EQa(16)|0;f[ia+4>>2]=1;f[ia>>2]=58280;f[ia+8>>2]=ha;ja=ia}ia=LV(1,o,14)|0;if(!ia)ka=0;else{q=EQa(16)|0;f[q+4>>2]=1;f[q>>2]=58280;f[q+8>>2]=ia;ka=q}sxa(a,ha);sxa(c,ia);rAa(d,w,1.0,0.0);d=f[g>>2]|0;do if(((d&7)+-5|0)>>>0<2){c=f[g+20>>2]|0;a=f[g+24>>2]|0;if((c|0)!=1)if((a|0)==1)la=1;else{ga=31;break}else la=a;if((X(X(la,c)|0,(d>>>3&511)+1|0)|0)!=3)ga=31}else ga=31;while(0);if((ga|0)==31){f[k>>2]=0;f[k+4>>2]=0;DVa(JV(k,195)|0,345988,195)|0;EP(-215,k,345959,343561,1007);KV(k)}d=f[h>>2]|0;do if(((d&7)+-5|0)>>>0<2){la=f[h+20>>2]|0;c=f[h+24>>2]|0;if((la|0)!=1)if((c|0)==1)ma=1;else{ga=36;break}else ma=c;if((X(X(ma,la)|0,(d>>>3&511)+1|0)|0)!=3)ga=36}else ga=36;while(0);if((ga|0)==36){f[k>>2]=0;f[k+4>>2]=0;DVa(JV(k,195)|0,346184,195)|0;EP(-215,k,345959,343561,1010);KV(k)}if((o|0)<=3?!((i|0)!=0&(o|0)==3):0){f[k>>2]=0;f[k+4>>2]=0;V=JV(k,49)|0;ga=346380;W=V+49|0;do{b[V>>0]=b[ga>>0]|0;V=V+1|0;ga=ga+1|0}while((V|0)<(W|0));EP(-215,k,345959,343561,1012);KV(k)}ga=LV(1,o,14)|0;if(!ga)na=0;else{V=EQa(16)|0;f[V+4>>2]=1;f[V>>2]=58280;f[V+8>>2]=ga;na=V}V=LV(1,o,14)|0;if(!V)oa=0;else{W=EQa(16)|0;f[W+4>>2]=1;f[W>>2]=58280;f[W+8>>2]=V;oa=W}eaa(ia,ga,w,e,0,x);do if(!i){ZAa(k,ha,0);f[t>>2]=f[k>>2];f[t+4>>2]=f[k+4>>2];f[t+8>>2]=f[k+8>>2];f[t+12>>2]=f[k+12>>2];f[t+16>>2]=f[k+16>>2];f[t+20>>2]=f[k+20>>2];f[t+24>>2]=f[k+24>>2];f[t+28>>2]=f[k+28>>2];jW(ha,ha,1,o)|0;vD(ha,C,1,B,1.0);YR(C,F,0,E,5);if(!(+p[s+16>>3]/+p[s+8>>3]<.001)){f[M>>2]=1111638022;f[M+24>>2]=12;f[M+20>>2]=12;f[M+4>>2]=96;f[M+16>>2]=k;f[M+8>>2]=0;f[M+12>>2]=0;f[N>>2]=1111638022;f[N+24>>2]=1;f[N+20>>2]=12;f[N+4>>2]=8;f[N+16>>2]=J;f[N+8>>2]=0;f[N+12>>2]=0;f[O>>2]=1111638022;f[O+24>>2]=12;f[O+20>>2]=12;f[O+4>>2]=96;f[O+16>>2]=K;f[O+8>>2]=0;f[O+12>>2]=0;x=f[ha+16>>2]|0;W=f[ga+16>>2]|0;d=LV(o<<1,12,6)|0;if(!d)pa=0;else{ma=EQa(16)|0;f[ma+4>>2]=1;f[ma>>2]=58280;f[ma+8>>2]=d;pa=ma}if((o|0)>0){ma=f[d+16>>2]|0;la=0;while(1){qa=-+p[W+(la<<4)>>3];ra=-+p[W+(la<<4)+8>>3];c=x+(la*24|0)|0;sa=+p[c>>3];p[ma+128>>3]=sa;p[ma>>3]=sa;a=x+(la*24|0)+8|0;sa=+p[a>>3];p[ma+136>>3]=sa;p[ma+8>>3]=sa;q=x+(la*24|0)+16|0;sa=+p[q>>3];p[ma+144>>3]=sa;p[ma+16>>3]=sa;p[ma+152>>3]=1.0;p[ma+24>>3]=1.0;ta=ma+32|0;ua=ma+96|0;f[ta>>2]=0;f[ta+4>>2]=0;f[ta+8>>2]=0;f[ta+12>>2]=0;f[ta+16>>2]=0;f[ta+20>>2]=0;f[ta+24>>2]=0;f[ta+28>>2]=0;f[ua>>2]=0;f[ua+4>>2]=0;f[ua+8>>2]=0;f[ua+12>>2]=0;f[ua+16>>2]=0;f[ua+20>>2]=0;f[ua+24>>2]=0;f[ua+28>>2]=0;p[ma+64>>3]=+p[c>>3]*qa;p[ma+72>>3]=+p[a>>3]*qa;p[ma+80>>3]=+p[q>>3]*qa;p[ma+88>>3]=qa;p[ma+160>>3]=+p[c>>3]*ra;p[ma+168>>3]=+p[a>>3]*ra;p[ma+176>>3]=+p[q>>3]*ra;p[ma+184>>3]=ra;la=la+1|0;if((la|0)>=(o|0))break;else ma=ma+192|0}}vD(d,M,1,0,1.0);YR(M,N,0,O,5);f[P>>2]=1111638022;f[P+4>>2]=32;f[P+8>>2]=0;f[P+12>>2]=0;f[P+16>>2]=K+1056;f[P+20>>2]=3;f[P+24>>2]=4;hW(P,Q,0,3)|0;hW(P,T,3,4)|0;if(+VR(Q)<0.0)rAa(P,P,-1.0,0.0);ra=+_Aa(Q,0,4,0);YR(Q,F,D,E,7);uD(D,E,1.0,0,0.0,y,1);rAa(T,A,+_Aa(y,0,4,0)/ra,0.0);Pwa(y,z,0)|0;va=ha;wa=pa;break}f[M>>2]=1111638022;f[M+24>>2]=1;f[M+20>>2]=3;f[M+4>>2]=8;f[M+16>>2]=J;f[M+8>>2]=0;f[M+12>>2]=0;f[N>>2]=1111638022;f[N+24>>2]=3;f[N+20>>2]=3;f[N+4>>2]=24;f[N+16>>2]=K;f[N+8>>2]=0;f[N+12>>2]=0;ra=+p[r+16>>3];qa=+p[r+40>>3];if(ra*ra+qa*qa<1.0e-10){p[R>>3]=1.0;ma=R+8|0;f[ma>>2]=0;f[ma+4>>2]=0;f[ma+8>>2]=0;f[ma+12>>2]=0;f[ma+16>>2]=0;f[ma+20>>2]=0;f[k>>2]=f[R>>2];f[k+4>>2]=f[R+4>>2];f[k+8>>2]=f[R+8>>2];f[k+12>>2]=f[R+12>>2];f[k+16>>2]=f[R+16>>2];f[k+20>>2]=f[R+20>>2];f[k+24>>2]=f[R+24>>2];f[k+28>>2]=f[R+28>>2];PY(E,k)}if(+VR(E)<0.0)rAa(E,E,-1.0,0.0);uD(E,B,-1.0,0,0.0,M,2);if((o|0)>0){ma=E+16|0;la=M+16|0;x=ha+16|0;W=V+16|0;q=0;do{a=f[ma>>2]|0;c=f[la>>2]|0;ua=(f[x>>2]|0)+(q*3<<3)|0;ta=(f[W>>2]|0)+(q<<1<<3)|0;xa=ua+8|0;ya=ua+16|0;p[ta>>3]=+p[c>>3]+(+p[a>>3]*+p[ua>>3]+ +p[a+8>>3]*+p[xa>>3]+ +p[a+16>>3]*+p[ya>>3]);p[ta+8>>3]=+p[c+8>>3]+(+p[a+24>>3]*+p[ua>>3]+ +p[a+32>>3]*+p[xa>>3]+ +p[a+40>>3]*+p[ya>>3]);q=q+1|0}while((q|0)<(o|0))}rxa(V,ga,N,0,3.0,0,2e3,.995)|0;if(!(SQ(N,2,0.0,0.0)|0)){p[S>>3]=1.0;q=S+8|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;f[q+16>>2]=0;f[q+20>>2]=0;f[k>>2]=f[S>>2];f[k+4>>2]=f[S+4>>2];f[k+8>>2]=f[S+8>>2];f[k+12>>2]=f[S+12>>2];f[k+16>>2]=f[S+16>>2];f[k+20>>2]=f[S+20>>2];f[k+24>>2]=f[S+24>>2];f[k+28>>2]=f[S+28>>2];PY(y,k);pM(A)}else{hW(N,O,0,1)|0;f[P>>2]=f[O>>2];f[P+4>>2]=f[O+4>>2];f[P+8>>2]=f[O+8>>2];f[P+12>>2]=f[O+12>>2];f[P+16>>2]=f[O+16>>2];f[P+20>>2]=f[O+20>>2];f[P+24>>2]=f[O+24>>2];q=P+16|0;f[q>>2]=(f[q>>2]|0)+8;f[Q>>2]=f[P>>2];f[Q+4>>2]=f[P+4>>2];f[Q+8>>2]=f[P+8>>2];f[Q+12>>2]=f[P+12>>2];f[Q+16>>2]=f[P+16>>2];f[Q+20>>2]=f[P+20>>2];f[Q+24>>2]=f[P+24>>2];q=Q+16|0;f[q>>2]=(f[q>>2]|0)+8;qa=+p[K>>3];ra=+p[K+24>>3];sa=+p[K+48>>3];za=+L(+(qa*qa+ra*ra+sa*sa));sa=+p[K+8>>3];ra=+p[K+32>>3];qa=+p[K+56>>3];Aa=+L(+(sa*sa+ra*ra+qa*qa));rAa(O,O,1.0/(za<2.220446049250313e-16?2.220446049250313e-16:za),0.0);rAa(P,P,1.0/(Aa<2.220446049250313e-16?2.220446049250313e-16:Aa),0.0);qa=za+Aa;rAa(Q,A,2.0/(qa<2.220446049250313e-16?2.220446049250313e-16:qa),0.0);RY(O,P,Q);Pwa(N,z,0)|0;Pwa(z,N,0)|0;uD(N,M,1.0,A,1.0,A,0);uD(N,E,1.0,0,1.0,y,0)}Pwa(y,z,0)|0;va=ha;wa=0}else{q=f[g+20>>2]|0;W=f[g+24>>2]|0;x=f[g>>2]&4088;f[k>>2]=x|1111638022;f[k+24>>2]=W;f[k+20>>2]=q;q=X(x+8|0,W)|0;f[k+4>>2]=q;f[k+16>>2]=v;f[k+8>>2]=0;f[k+12>>2]=0;q=f[h+20>>2]|0;W=f[h+24>>2]|0;x=f[h>>2]&4088;f[J>>2]=x|1111638022;f[J+24>>2]=W;f[J+20>>2]=q;q=X(x+8|0,W)|0;f[J+4>>2]=q;f[J+16>>2]=$;f[J+8>>2]=0;f[J+12>>2]=0;rAa(g,k,1.0,0.0);rAa(h,J,1.0,0.0);va=ha;wa=0}while(0);jW(va,ha,3,1)|0;jW(ga,ga,2,1)|0;ga=o<<1;f[U>>2]=3;f[U+4>>2]=20;p[U+8>>3]=1.1920928955078125e-07;f[k>>2]=f[U>>2];f[k+4>>2]=f[U+4>>2];f[k+8>>2]=f[U+8>>2];f[k+12>>2]=f[U+12>>2];kxa(J,6,ga,k,1);U=J+20|0;nM(G,f[U>>2]|0,0);while(1){f[k>>2]=0;f[K>>2]=0;f[M>>2]=0;o=oxa(J,M,k,K)|0;nM(f[M>>2]|0,G,0);va=f[K>>2]|0;if(!(o&(va|0)!=0))break;jW(va,va,2,1)|0;va=f[k>>2]|0;if(!va)Rwa(ha,z,A,w,e,f[K>>2]|0,0,0,0,0,0,0.0);else{hW(va,H,0,3)|0;hW(f[k>>2]|0,I,3,6)|0;Rwa(ha,z,A,w,e,f[K>>2]|0,H,I,0,0,0,0.0)}va=f[K>>2]|0;yJ(va,ia,va,0);va=f[K>>2]|0;jW(va,va,1,ga)|0}nM(f[U>>2]|0,G,0);G=f[g+20>>2]|0;U=f[g+24>>2]|0;ga=f[g>>2]&4088;K=X(ga+8|0,U)|0;f[z>>2]=ga|1111638022;f[l>>2]=K;f[Z>>2]=0;f[_>>2]=0;f[Y>>2]=v;f[m>>2]=G;f[n>>2]=U;U=f[h+20>>2]|0;n=f[h+24>>2]|0;G=f[h>>2]&4088;m=X(G+8|0,n)|0;f[A>>2]=G|1111638022;f[ca>>2]=m;f[ea>>2]=0;f[fa>>2]=0;f[da>>2]=$;f[ba>>2]=U;f[aa>>2]=n;rAa(z,g,1.0,0.0);rAa(A,h,1.0,0.0);nxa(J);J=wa;if(wa|0?(h=J+4|0,A=f[h>>2]|0,f[h>>2]=A+-1,(A|0)==1):0)qg[f[(f[wa>>2]|0)+8>>2]&1023](J);J=na;if(na|0?(wa=J+4|0,A=f[wa>>2]|0,f[wa>>2]=A+-1,(A|0)==1):0)qg[f[(f[na>>2]|0)+8>>2]&1023](J);J=ka;if(ka|0?(na=J+4|0,A=f[na>>2]|0,f[na>>2]=A+-1,(A|0)==1):0)qg[f[(f[ka>>2]|0)+8>>2]&1023](J);J=oa;if(oa|0?(ka=J+4|0,A=f[ka>>2]|0,f[ka>>2]=A+-1,(A|0)==1):0)qg[f[(f[oa>>2]|0)+8>>2]&1023](J);J=ja;if(!ja){u=j;return}oa=J+4|0;A=f[oa>>2]|0;f[oa>>2]=A+-1;if((A|0)!=1){u=j;return}qg[f[(f[ja>>2]|0)+8>>2]&1023](J);u=j;return}function Uwa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;d=u;u=u+272|0;e=d+264|0;g=d+208|0;h=d+152|0;i=d+120|0;j=d+92|0;k=d+64|0;l=d+56|0;m=d;yV(e,100812);do if((HJ(a)|0)==65536){n=f[a+4>>2]|0;f[g>>2]=f[n>>2];o=g+4|0;p=n+4|0;f[o>>2]=f[p>>2];q=g+8|0;f[q>>2]=f[n+8>>2];r=g+12|0;f[r>>2]=f[n+12>>2];f[g+16>>2]=f[n+16>>2];f[g+20>>2]=f[n+20>>2];f[g+24>>2]=f[n+24>>2];f[g+28>>2]=f[n+28>>2];f[g+32>>2]=f[n+32>>2];s=f[n+36>>2]|0;f[g+36>>2]=s;f[g+40>>2]=q;t=g+48|0;v=g+44|0;f[v>>2]=t;f[t>>2]=0;f[g+52>>2]=0;if(s|0){t=s+12|0;f[t>>2]=(f[t>>2]|0)+1}if((f[p>>2]|0)<3){p=f[n+44>>2]|0;t=f[v>>2]|0;f[t>>2]=f[p>>2];f[t+4>>2]=f[p+4>>2];w=q;x=g;y=r;break}else{f[o>>2]=0;WO(g,n);w=q;x=g;y=r;break}}else{DJ(g,a,-1);w=g+8|0;x=g;y=g+12|0}while(0);a=(f[y>>2]|0)==1|(f[w>>2]|0)==1;vK(b,3,a?3:1,f[x>>2]&7,-1,0,0);do if((HJ(b)|0)==65536){r=f[b+4>>2]|0;f[h>>2]=f[r>>2];q=h+4|0;n=r+4|0;f[q>>2]=f[n>>2];o=h+8|0;f[o>>2]=f[r+8>>2];p=h+12|0;f[p>>2]=f[r+12>>2];t=h+16|0;f[t>>2]=f[r+16>>2];f[h+20>>2]=f[r+20>>2];f[h+24>>2]=f[r+24>>2];f[h+28>>2]=f[r+28>>2];f[h+32>>2]=f[r+32>>2];v=f[r+36>>2]|0;f[h+36>>2]=v;f[h+40>>2]=o;s=h+48|0;z=h+44|0;f[z>>2]=s;f[s>>2]=0;f[h+52>>2]=0;if(v|0){s=v+12|0;f[s>>2]=(f[s>>2]|0)+1}if((f[n>>2]|0)<3){n=f[r+44>>2]|0;s=f[z>>2]|0;f[s>>2]=f[n>>2];f[s+4>>2]=f[n+4>>2];A=o;B=q;C=p;D=h;E=t;F=t;G=z;break}else{f[q>>2]=0;WO(h,r);A=o;B=q;C=p;D=h;E=t;F=t;G=z;break}}else{DJ(h,b,-1);z=h+16|0;A=h+8|0;B=h+4|0;C=h+12|0;D=h;E=z;F=z;G=h+44|0}while(0);b=f[w>>2]|0;w=g+4|0;z=(f[w>>2]|0)==1?1:f[y>>2]|0;y=f[x>>2]|0;t=y&4095;p=g+16|0;q=f[p>>2]|0;o=X((y>>>3&511)+1<<(47696>>>(t<<1&14)&3),z)|0;f[i>>2]=t|1111638016;t=i+4|0;f[t>>2]=o;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=q;f[i+20>>2]=b;f[i+24>>2]=z;z=g+44|0;f[t>>2]=f[f[z>>2]>>2];f[i>>2]=y&20479|1111621632;y=f[A>>2]|0;A=(f[B>>2]|0)==1?1:f[C>>2]|0;C=f[D>>2]|0;D=C&4095;t=f[F>>2]|0;F=X((C>>>3&511)+1<<(47696>>>(D<<1&14)&3),A)|0;f[j>>2]=D|1111638016;D=j+4|0;f[D>>2]=F;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=t;f[j+20>>2]=y;f[j+24>>2]=A;f[D>>2]=f[f[G>>2]>>2];f[j>>2]=C&20479|1111621632;if(yK(c)|0){f[l>>2]=a?9:3;f[l+4>>2]=a?3:9;_J(c,l,f[x>>2]&7,-1,0,0);do if((HJ(c)|0)==65536){x=f[c+4>>2]|0;f[m>>2]=f[x>>2];l=m+4|0;a=x+4|0;f[l>>2]=f[a>>2];C=m+8|0;f[C>>2]=f[x+8>>2];D=m+12|0;f[D>>2]=f[x+12>>2];A=m+16|0;f[A>>2]=f[x+16>>2];f[m+20>>2]=f[x+20>>2];f[m+24>>2]=f[x+24>>2];f[m+28>>2]=f[x+28>>2];f[m+32>>2]=f[x+32>>2];y=m+36|0;t=f[x+36>>2]|0;f[y>>2]=t;f[m+40>>2]=C;F=m+48|0;b=m+44|0;f[b>>2]=F;f[F>>2]=0;f[m+52>>2]=0;if(t|0){F=t+12|0;f[F>>2]=(f[F>>2]|0)+1}if((f[a>>2]|0)<3){a=f[x+44>>2]|0;F=f[b>>2]|0;f[F>>2]=f[a>>2];f[F+4>>2]=f[a+4>>2];H=C;I=l;J=D;K=m;L=A;M=A;N=b;O=y;break}else{f[l>>2]=0;WO(m,x);H=C;I=l;J=D;K=m;L=A;M=A;N=b;O=y;break}}else{DJ(m,c,-1);y=m+16|0;H=m+8|0;I=m+4|0;J=m+12|0;K=m;L=y;M=y;N=m+44|0;O=m+36|0}while(0);y=f[H>>2]|0;H=(f[I>>2]|0)==1?1:f[J>>2]|0;J=f[M>>2]|0;M=f[f[N>>2]>>2]|0;f[k>>2]=f[K>>2]&20479|1111621632;f[k+4>>2]=M;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=J;f[k+20>>2]=y;f[k+24>>2]=H;H=f[O>>2]|0;if(H|0?(y=H+12|0,H=f[y>>2]|0,f[y>>2]=H+-1,(H|0)==1):0)XO(m);f[O>>2]=0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;if((f[I>>2]|0)>0){L=f[m+40>>2]|0;O=0;do{f[L+(O<<2)>>2]=0;O=O+1|0}while((O|0)<(f[I>>2]|0))}I=f[N>>2]|0;if((I|0)!=(m+48|0))dX(I)}I=yK(c)|0;if((Pwa(i,j,I?k:0)|0)<=0){f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;f[m+24>>2]=0;f[m+28>>2]=0;gM(h,m)|0}m=h+36|0;k=f[m>>2]|0;if(k|0?(I=k+12|0,k=f[I>>2]|0,f[I>>2]=k+-1,(k|0)==1):0)XO(h);f[m>>2]=0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;if((f[B>>2]|0)>0){E=f[h+40>>2]|0;m=0;do{f[E+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[B>>2]|0))}B=f[G>>2]|0;if((B|0)!=(h+48|0))dX(B);B=g+36|0;h=f[B>>2]|0;if(h|0?(G=h+12|0,h=f[G>>2]|0,f[G>>2]=h+-1,(h|0)==1):0)XO(g);f[B>>2]=0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;if((f[w>>2]|0)>0){p=f[g+40>>2]|0;B=0;do{f[p+(B<<2)>>2]=0;B=B+1|0}while((B|0)<(f[w>>2]|0))}w=f[z>>2]|0;if((w|0)!=(g+48|0))dX(w);if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function Vwa(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=+j;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0;k=u;u=u+880|0;l=k+872|0;m=k+864|0;n=k+808|0;o=k+776|0;p=k+748|0;q=k+720|0;r=k+692|0;s=k+664|0;t=k+608|0;v=k+580|0;w=k+552|0;x=k+496|0;y=k+440|0;z=k+384|0;A=k+352|0;B=k+324|0;C=k+296|0;D=k;E=k+240|0;F=k+184|0;G=k+152|0;H=k+96|0;I=k+40|0;do if((HJ(a)|0)==65536){J=f[a+4>>2]|0;f[n>>2]=f[J>>2];K=n+4|0;L=J+4|0;f[K>>2]=f[L>>2];M=n+8|0;f[M>>2]=f[J+8>>2];f[n+12>>2]=f[J+12>>2];f[n+16>>2]=f[J+16>>2];f[n+20>>2]=f[J+20>>2];f[n+24>>2]=f[J+24>>2];f[n+28>>2]=f[J+28>>2];f[n+32>>2]=f[J+32>>2];N=f[J+36>>2]|0;f[n+36>>2]=N;f[n+40>>2]=M;M=n+48|0;O=n+44|0;f[O>>2]=M;f[M>>2]=0;f[n+52>>2]=0;if(N|0){M=N+12|0;f[M>>2]=(f[M>>2]|0)+1}if((f[L>>2]|0)<3){L=f[J+44>>2]|0;M=f[O>>2]|0;f[M>>2]=f[L>>2];f[M+4>>2]=f[L+4>>2];break}else{f[K>>2]=0;WO(n,J);break}}else DJ(n,a,-1);while(0);a=jP(n,3,-1,1)|0;J=f[n>>2]&7;if(!((a|0)>-1&(J+-5|0)>>>0<2)){f[l>>2]=0;f[l+4>>2]=0;P=JV(l,42)|0;K=346499;Q=P+42|0;do{b[P>>0]=b[K>>0]|0;P=P+1|0;K=K+1|0}while((P|0)<(Q|0));EP(-215,l,346542,343561,3296);KV(l)}vK(h,a,1,J|8,-1,1,0);do if((HJ(h)|0)==65536){J=f[h+4>>2]|0;f[t>>2]=f[J>>2];K=t+4|0;L=J+4|0;f[K>>2]=f[L>>2];M=t+8|0;f[M>>2]=f[J+8>>2];O=t+12|0;f[O>>2]=f[J+12>>2];N=t+16|0;f[N>>2]=f[J+16>>2];f[t+20>>2]=f[J+20>>2];f[t+24>>2]=f[J+24>>2];f[t+28>>2]=f[J+28>>2];f[t+32>>2]=f[J+32>>2];R=f[J+36>>2]|0;f[t+36>>2]=R;f[t+40>>2]=M;S=t+48|0;T=t+44|0;f[T>>2]=S;f[S>>2]=0;f[t+52>>2]=0;if(R|0){S=R+12|0;f[S>>2]=(f[S>>2]|0)+1}if((f[L>>2]|0)<3){L=f[J+44>>2]|0;S=f[T>>2]|0;f[S>>2]=f[L>>2];f[S+4>>2]=f[L+4>>2];U=M;V=K;W=O;Y=t;Z=N;_=N;$=T;break}else{f[K>>2]=0;WO(t,J);U=M;V=K;W=O;Y=t;Z=N;_=N;$=T;break}}else{DJ(t,h,-1);T=t+16|0;U=t+8|0;V=t+4|0;W=t+12|0;Y=t;Z=T;_=T;$=t+44|0}while(0);h=f[U>>2]|0;U=(f[V>>2]|0)==1?1:f[W>>2]|0;W=f[Y>>2]|0;Y=W&4095;T=f[_>>2]|0;_=X((W>>>3&511)+1<<(47696>>>(Y<<1&14)&3),U)|0;f[v>>2]=Y|1111638016;Y=v+4|0;f[Y>>2]=_;f[v+8>>2]=0;f[v+12>>2]=0;f[v+16>>2]=T;f[v+20>>2]=h;f[v+24>>2]=U;f[Y>>2]=f[f[$>>2]>>2];f[v>>2]=W&20479|1111621632;W=f[n+8>>2]|0;Y=n+4|0;U=(f[Y>>2]|0)==1?1:f[n+12>>2]|0;h=f[n>>2]|0;T=h&4095;_=n+16|0;N=f[_>>2]|0;O=X((h>>>3&511)+1<<(47696>>>(T<<1&14)&3),U)|0;f[w>>2]=T|1111638016;T=w+4|0;f[T>>2]=O;f[w+8>>2]=0;f[w+12>>2]=0;f[w+16>>2]=N;f[w+20>>2]=W;f[w+24>>2]=U;U=n+44|0;f[T>>2]=f[f[U>>2]>>2];f[w>>2]=h&20479|1111621632;do if((HJ(e)|0)==65536){h=f[e+4>>2]|0;f[x>>2]=f[h>>2];T=x+4|0;W=h+4|0;f[T>>2]=f[W>>2];N=x+8|0;f[N>>2]=f[h+8>>2];f[x+12>>2]=f[h+12>>2];f[x+16>>2]=f[h+16>>2];f[x+20>>2]=f[h+20>>2];f[x+24>>2]=f[h+24>>2];f[x+28>>2]=f[h+28>>2];f[x+32>>2]=f[h+32>>2];O=f[h+36>>2]|0;f[x+36>>2]=O;f[x+40>>2]=N;N=x+48|0;K=x+44|0;f[K>>2]=N;f[N>>2]=0;f[x+52>>2]=0;if(O|0){N=O+12|0;f[N>>2]=(f[N>>2]|0)+1}if((f[W>>2]|0)<3){W=f[h+44>>2]|0;N=f[K>>2]|0;f[N>>2]=f[W>>2];f[N+4>>2]=f[W+4>>2];break}else{f[T>>2]=0;WO(x,h);break}}else DJ(x,e,-1);while(0);do if((HJ(c)|0)==65536){e=f[c+4>>2]|0;f[y>>2]=f[e>>2];h=y+4|0;T=e+4|0;f[h>>2]=f[T>>2];W=y+8|0;f[W>>2]=f[e+8>>2];f[y+12>>2]=f[e+12>>2];f[y+16>>2]=f[e+16>>2];f[y+20>>2]=f[e+20>>2];f[y+24>>2]=f[e+24>>2];f[y+28>>2]=f[e+28>>2];f[y+32>>2]=f[e+32>>2];N=f[e+36>>2]|0;f[y+36>>2]=N;f[y+40>>2]=W;W=y+48|0;K=y+44|0;f[K>>2]=W;f[W>>2]=0;f[y+52>>2]=0;if(N|0){W=N+12|0;f[W>>2]=(f[W>>2]|0)+1}if((f[T>>2]|0)<3){T=f[e+44>>2]|0;W=f[K>>2]|0;f[W>>2]=f[T>>2];f[W+4>>2]=f[T+4>>2];break}else{f[h>>2]=0;WO(y,e);break}}else DJ(y,c,-1);while(0);do if((HJ(d)|0)==65536){c=f[d+4>>2]|0;f[z>>2]=f[c>>2];e=z+4|0;h=c+4|0;f[e>>2]=f[h>>2];T=z+8|0;f[T>>2]=f[c+8>>2];W=z+12|0;f[W>>2]=f[c+12>>2];K=z+16|0;f[K>>2]=f[c+16>>2];f[z+20>>2]=f[c+20>>2];f[z+24>>2]=f[c+24>>2];f[z+28>>2]=f[c+28>>2];f[z+32>>2]=f[c+32>>2];N=f[c+36>>2]|0;f[z+36>>2]=N;f[z+40>>2]=T;O=z+48|0;M=z+44|0;f[M>>2]=O;f[O>>2]=0;f[z+52>>2]=0;if(N|0){O=N+12|0;f[O>>2]=(f[O>>2]|0)+1}if((f[h>>2]|0)<3){h=f[c+44>>2]|0;O=f[M>>2]|0;f[O>>2]=f[h>>2];f[O+4>>2]=f[h+4>>2];aa=T;ba=e;ca=W;da=z;ea=K;fa=K;ga=M;break}else{f[e>>2]=0;WO(z,c);aa=T;ba=e;ca=W;da=z;ea=K;fa=K;ga=M;break}}else{DJ(z,d,-1);M=z+16|0;aa=z+8|0;ba=z+4|0;ca=z+12|0;da=z;ea=M;fa=M;ga=z+44|0}while(0);d=f[x+8>>2]|0;M=x+4|0;K=(f[M>>2]|0)==1?1:f[x+12>>2]|0;W=f[x>>2]|0;e=W&4095;T=x+16|0;c=f[T>>2]|0;h=X((W>>>3&511)+1<<(47696>>>(e<<1&14)&3),K)|0;f[A>>2]=e|1111638016;e=A+4|0;f[e>>2]=h;f[A+8>>2]=0;f[A+12>>2]=0;f[A+16>>2]=c;f[A+20>>2]=d;f[A+24>>2]=K;K=x+44|0;f[e>>2]=f[f[K>>2]>>2];f[A>>2]=W&20479|1111621632;W=f[y+8>>2]|0;e=y+4|0;d=(f[e>>2]|0)==1?1:f[y+12>>2]|0;c=f[y>>2]|0;h=c&4095;O=y+16|0;N=f[O>>2]|0;J=X((c>>>3&511)+1<<(47696>>>(h<<1&14)&3),d)|0;f[B>>2]=h|1111638016;h=B+4|0;f[h>>2]=J;f[B+8>>2]=0;f[B+12>>2]=0;f[B+16>>2]=N;f[B+20>>2]=W;f[B+24>>2]=d;d=y+44|0;f[h>>2]=f[f[d>>2]>>2];f[B>>2]=c&20479|1111621632;c=f[aa>>2]|0;aa=(f[ba>>2]|0)==1?1:f[ca>>2]|0;ca=f[da>>2]|0;da=ca&4095;h=f[fa>>2]|0;fa=X((ca>>>3&511)+1<<(47696>>>(da<<1&14)&3),aa)|0;f[C>>2]=da|1111638016;da=C+4|0;f[da>>2]=fa;f[C+8>>2]=0;f[C+12>>2]=0;f[C+16>>2]=h;f[C+20>>2]=c;f[C+24>>2]=aa;f[da>>2]=f[f[ga>>2]>>2];f[C>>2]=ca&20479|1111621632;P=D;Q=P+40|0;do{f[P>>2]=0;P=P+4|0}while((P|0)<(Q|0));P=E+4|0;f[P>>2]=2;Q=E+8|0;f[Q>>2]=5;ca=E+12|0;f[ca>>2]=1;da=E+16|0;f[da>>2]=D;aa=E+20|0;f[aa>>2]=D;c=E+24|0;h=E+28|0;fa=E+40|0;W=c+8|0;f[W>>2]=0;f[W+4>>2]=0;f[fa>>2]=Q;W=E+48|0;N=E+44|0;f[N>>2]=W;f[E>>2]=1124024326;f[W>>2]=8;f[E+52>>2]=8;f[h>>2]=D+40;f[c>>2]=D+40;do if((HJ(g)|0)==65536){D=f[g+4>>2]|0;f[F>>2]=f[D>>2];J=F+4|0;L=D+4|0;f[J>>2]=f[L>>2];S=F+8|0;f[S>>2]=f[D+8>>2];f[F+12>>2]=f[D+12>>2];R=F+16|0;f[R>>2]=f[D+16>>2];f[F+20>>2]=f[D+20>>2];f[F+24>>2]=f[D+24>>2];f[F+28>>2]=f[D+28>>2];f[F+32>>2]=f[D+32>>2];ha=f[D+36>>2]|0;f[F+36>>2]=ha;f[F+40>>2]=S;S=F+48|0;ia=F+44|0;f[ia>>2]=S;f[S>>2]=0;f[F+52>>2]=0;if(ha|0){S=ha+12|0;f[S>>2]=(f[S>>2]|0)+1}if((f[L>>2]|0)<3){L=f[D+44>>2]|0;S=f[ia>>2]|0;f[S>>2]=f[L>>2];f[S+4>>2]=f[L+4>>2];ja=R;break}else{f[J>>2]=0;WO(F,D);ja=R;break}}else{DJ(F,g,-1);ja=F+16|0}while(0);g=f[ja>>2]|0;R=g;if(g){g=F+4|0;D=f[g>>2]|0;if((D|0)<3)ka=X(f[F+12>>2]|0,f[F+8>>2]|0)|0;else{J=f[F+40>>2]|0;L=0;S=1;while(1){ia=X(f[J+(L<<2)>>2]|0,S)|0;L=L+1|0;if((L|0)==(D|0)){ka=ia;break}else S=ia}}if(!((D|0)==0|(ka|0)==0)){la=g;ma=D;na=R}else oa=51}else oa=51;if((oa|0)==51){R=E+36|0;D=f[R>>2]|0;if(D|0){g=D+12|0;f[g>>2]=(f[g>>2]|0)+1}g=F+36|0;D=f[g>>2]|0;if(D|0?(ka=D+12|0,D=f[ka>>2]|0,f[ka>>2]=D+-1,(D|0)==1):0)XO(F);f[g>>2]=0;D=F+4|0;f[ja>>2]=0;f[ja+4>>2]=0;f[ja+8>>2]=0;f[ja+12>>2]=0;if((f[D>>2]|0)>0){ka=f[F+40>>2]|0;S=0;do{f[ka+(S<<2)>>2]=0;S=S+1|0;pa=f[D>>2]|0}while((S|0)<(pa|0));f[F>>2]=f[E>>2];if((pa|0)<3)oa=61;else oa=63}else{f[F>>2]=f[E>>2];oa=61}if((oa|0)==61){pa=f[P>>2]|0;if((pa|0)<3){f[D>>2]=pa;f[F+8>>2]=f[Q>>2];f[F+12>>2]=f[ca>>2];ca=f[N>>2]|0;Q=f[F+44>>2]|0;f[Q>>2]=f[ca>>2];f[Q+4>>2]=f[ca+4>>2]}else oa=63}if((oa|0)==63)WO(F,E);oa=f[da>>2]|0;f[ja>>2]=oa;f[F+20>>2]=f[aa>>2];f[F+24>>2]=f[c>>2];f[F+28>>2]=f[h>>2];f[F+32>>2]=f[E+32>>2];f[g>>2]=f[R>>2];la=D;ma=f[D>>2]|0;na=oa}oa=f[F+8>>2]|0;D=f[F+12>>2]|0;R=(ma|0)==1?1:D;ma=f[F>>2]|0;g=ma&4095;h=X((ma>>>3&511)+1<<(47696>>>(g<<1&14)&3),R)|0;f[G>>2]=g|1111638016;g=G+4|0;f[g>>2]=h;f[G+8>>2]=0;f[G+12>>2]=0;f[G+16>>2]=na;f[G+20>>2]=oa;f[G+24>>2]=R;R=F+44|0;f[g>>2]=f[f[R>>2]>>2];f[G>>2]=ma&20479|1111621632;if(yK(i)|0){ma=oa+9+D|0;vK(i,a<<1,ma,6,-1,0,0);do if((HJ(i)|0)==65536){a=f[i+4>>2]|0;f[H>>2]=f[a>>2];D=H+4|0;oa=a+4|0;f[D>>2]=f[oa>>2];g=H+8|0;f[g>>2]=f[a+8>>2];f[H+12>>2]=f[a+12>>2];f[H+16>>2]=f[a+16>>2];f[H+20>>2]=f[a+20>>2];f[H+24>>2]=f[a+24>>2];f[H+28>>2]=f[a+28>>2];f[H+32>>2]=f[a+32>>2];na=f[a+36>>2]|0;f[H+36>>2]=na;f[H+40>>2]=g;g=H+48|0;h=H+44|0;f[h>>2]=g;f[g>>2]=0;f[H+52>>2]=0;if(na|0){g=na+12|0;f[g>>2]=(f[g>>2]|0)+1}if((f[oa>>2]|0)<3){oa=f[a+44>>2]|0;g=f[h>>2]|0;f[g>>2]=f[oa>>2];f[g+4>>2]=f[oa+4>>2];break}else{f[D>>2]=0;WO(H,a);break}}else DJ(H,i,-1);while(0);f[l>>2]=-2147483648;f[l+4>>2]=2147483647;f[m>>2]=0;f[m+4>>2]=3;YO(I,H,l,m);i=f[I+8>>2]|0;a=I+4|0;D=(f[a>>2]|0)==1?1:f[I+12>>2]|0;oa=I+16|0;g=f[oa>>2]|0;h=I+44|0;na=f[f[h>>2]>>2]|0;f[o>>2]=f[I>>2]&20479|1111621632;f[o+4>>2]=na;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=g;f[o+20>>2]=i;f[o+24>>2]=D;D=I+36|0;i=f[D>>2]|0;if(i|0?(g=i+12|0,i=f[g>>2]|0,f[g>>2]=i+-1,(i|0)==1):0)XO(I);f[D>>2]=0;f[oa>>2]=0;f[oa+4>>2]=0;f[oa+8>>2]=0;f[oa+12>>2]=0;if((f[a>>2]|0)>0){oa=f[I+40>>2]|0;D=0;do{f[oa+(D<<2)>>2]=0;D=D+1|0}while((D|0)<(f[a>>2]|0))}a=f[h>>2]|0;if((a|0)!=(I+48|0))dX(a);f[l>>2]=-2147483648;f[l+4>>2]=2147483647;f[m>>2]=3;f[m+4>>2]=6;YO(I,H,l,m);a=f[I+8>>2]|0;h=I+4|0;D=(f[h>>2]|0)==1?1:f[I+12>>2]|0;oa=I+16|0;i=f[oa>>2]|0;g=I+44|0;na=f[f[g>>2]>>2]|0;f[p>>2]=f[I>>2]&20479|1111621632;f[p+4>>2]=na;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=i;f[p+20>>2]=a;f[p+24>>2]=D;D=I+36|0;a=f[D>>2]|0;if(a|0?(i=a+12|0,a=f[i>>2]|0,f[i>>2]=a+-1,(a|0)==1):0)XO(I);f[D>>2]=0;f[oa>>2]=0;f[oa+4>>2]=0;f[oa+8>>2]=0;f[oa+12>>2]=0;if((f[h>>2]|0)>0){oa=f[I+40>>2]|0;D=0;do{f[oa+(D<<2)>>2]=0;D=D+1|0}while((D|0)<(f[h>>2]|0))}h=f[g>>2]|0;if((h|0)!=(I+48|0))dX(h);f[l>>2]=-2147483648;f[l+4>>2]=2147483647;f[m>>2]=6;f[m+4>>2]=8;YO(I,H,l,m);h=f[I+8>>2]|0;g=I+4|0;D=(f[g>>2]|0)==1?1:f[I+12>>2]|0;oa=I+16|0;a=f[oa>>2]|0;i=I+44|0;na=f[f[i>>2]>>2]|0;f[q>>2]=f[I>>2]&20479|1111621632;f[q+4>>2]=na;f[q+8>>2]=0;f[q+12>>2]=0;f[q+16>>2]=a;f[q+20>>2]=h;f[q+24>>2]=D;D=I+36|0;h=f[D>>2]|0;if(h|0?(a=h+12|0,h=f[a>>2]|0,f[a>>2]=h+-1,(h|0)==1):0)XO(I);f[D>>2]=0;f[oa>>2]=0;f[oa+4>>2]=0;f[oa+8>>2]=0;f[oa+12>>2]=0;if((f[g>>2]|0)>0){oa=f[I+40>>2]|0;D=0;do{f[oa+(D<<2)>>2]=0;D=D+1|0}while((D|0)<(f[g>>2]|0))}g=f[i>>2]|0;if((g|0)!=(I+48|0))dX(g);f[l>>2]=-2147483648;f[l+4>>2]=2147483647;f[m>>2]=8;f[m+4>>2]=10;YO(I,H,l,m);g=f[I+8>>2]|0;i=I+4|0;D=(f[i>>2]|0)==1?1:f[I+12>>2]|0;oa=I+16|0;h=f[oa>>2]|0;a=I+44|0;na=f[f[a>>2]>>2]|0;f[r>>2]=f[I>>2]&20479|1111621632;f[r+4>>2]=na;f[r+8>>2]=0;f[r+12>>2]=0;f[r+16>>2]=h;f[r+20>>2]=g;f[r+24>>2]=D;D=I+36|0;g=f[D>>2]|0;do if(g|0){h=g+12|0;na=f[h>>2]|0;f[h>>2]=na+-1;if((na|0)!=1)break;XO(I)}while(0);f[D>>2]=0;f[oa>>2]=0;f[oa+4>>2]=0;f[oa+8>>2]=0;f[oa+12>>2]=0;if((f[i>>2]|0)>0){oa=f[I+40>>2]|0;D=0;do{f[oa+(D<<2)>>2]=0;D=D+1|0}while((D|0)<(f[i>>2]|0))}i=f[a>>2]|0;if((i|0)!=(I+48|0))dX(i);f[l>>2]=-2147483648;f[l+4>>2]=2147483647;f[m>>2]=10;f[m+4>>2]=ma;YO(I,H,l,m);m=f[I+8>>2]|0;l=I+4|0;ma=(f[l>>2]|0)==1?1:f[I+12>>2]|0;i=I+16|0;a=f[i>>2]|0;D=I+44|0;oa=f[f[D>>2]>>2]|0;f[s>>2]=f[I>>2]&20479|1111621632;f[s+4>>2]=oa;f[s+8>>2]=0;f[s+12>>2]=0;f[s+16>>2]=a;f[s+20>>2]=m;f[s+24>>2]=ma;ma=I+36|0;m=f[ma>>2]|0;do if(m|0){a=m+12|0;oa=f[a>>2]|0;f[a>>2]=oa+-1;if((oa|0)!=1)break;XO(I)}while(0);f[ma>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[l>>2]|0)>0){i=f[I+40>>2]|0;ma=0;do{f[i+(ma<<2)>>2]=0;ma=ma+1|0}while((ma|0)<(f[l>>2]|0))}l=f[D>>2]|0;if((l|0)!=(I+48|0))dX(l);l=H+36|0;I=f[l>>2]|0;do if(I|0){D=I+12|0;ma=f[D>>2]|0;f[D>>2]=ma+-1;if((ma|0)!=1)break;XO(H)}while(0);f[l>>2]=0;l=H+16|0;I=H+4|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;if((f[I>>2]|0)>0){l=f[H+40>>2]|0;ma=0;do{f[l+(ma<<2)>>2]=0;ma=ma+1|0}while((ma|0)<(f[I>>2]|0))}I=f[H+44>>2]|0;if((I|0)!=(H+48|0))dX(I);qa=s;ra=r;sa=q;ta=p;ua=o}else{qa=0;ra=0;sa=0;ta=0;ua=0}Rwa(w,B,C,A,G,v,ua,ta,sa,ra,qa,j);qa=F+36|0;ra=f[qa>>2]|0;if(ra|0?(sa=ra+12|0,ra=f[sa>>2]|0,f[sa>>2]=ra+-1,(ra|0)==1):0)XO(F);f[qa>>2]=0;f[ja>>2]=0;f[ja+4>>2]=0;f[ja+8>>2]=0;f[ja+12>>2]=0;if((f[la>>2]|0)>0){ja=f[F+40>>2]|0;qa=0;do{f[ja+(qa<<2)>>2]=0;qa=qa+1|0}while((qa|0)<(f[la>>2]|0))}la=f[R>>2]|0;if((la|0)!=(F+48|0))dX(la);la=E+36|0;F=f[la>>2]|0;if(F|0?(R=F+12|0,F=f[R>>2]|0,f[R>>2]=F+-1,(F|0)==1):0)XO(E);f[la>>2]=0;f[da>>2]=0;f[da+4>>2]=0;f[da+8>>2]=0;f[da+12>>2]=0;if((f[P>>2]|0)>0){da=f[fa>>2]|0;fa=0;do{f[da+(fa<<2)>>2]=0;fa=fa+1|0}while((fa|0)<(f[P>>2]|0))}P=f[N>>2]|0;if((P|0)!=(W|0))dX(P);P=z+36|0;W=f[P>>2]|0;if(W|0?(N=W+12|0,W=f[N>>2]|0,f[N>>2]=W+-1,(W|0)==1):0)XO(z);f[P>>2]=0;f[ea>>2]=0;f[ea+4>>2]=0;f[ea+8>>2]=0;f[ea+12>>2]=0;if((f[ba>>2]|0)>0){ea=f[z+40>>2]|0;P=0;do{f[ea+(P<<2)>>2]=0;P=P+1|0}while((P|0)<(f[ba>>2]|0))}ba=f[ga>>2]|0;if((ba|0)!=(z+48|0))dX(ba);ba=y+36|0;z=f[ba>>2]|0;do if(z|0){ga=z+12|0;P=f[ga>>2]|0;f[ga>>2]=P+-1;if((P|0)!=1)break;XO(y)}while(0);f[ba>>2]=0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[O+12>>2]=0;if((f[e>>2]|0)>0){O=f[y+40>>2]|0;ba=0;do{f[O+(ba<<2)>>2]=0;ba=ba+1|0}while((ba|0)<(f[e>>2]|0))}e=f[d>>2]|0;if((e|0)!=(y+48|0))dX(e);e=x+36|0;y=f[e>>2]|0;do if(y|0){d=y+12|0;ba=f[d>>2]|0;f[d>>2]=ba+-1;if((ba|0)!=1)break;XO(x)}while(0);f[e>>2]=0;f[T>>2]=0;f[T+4>>2]=0;f[T+8>>2]=0;f[T+12>>2]=0;if((f[M>>2]|0)>0){T=f[x+40>>2]|0;e=0;do{f[T+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(f[M>>2]|0))}M=f[K>>2]|0;if((M|0)!=(x+48|0))dX(M);M=t+36|0;x=f[M>>2]|0;do if(x|0){K=x+12|0;e=f[K>>2]|0;f[K>>2]=e+-1;if((e|0)!=1)break;XO(t)}while(0);f[M>>2]=0;f[Z>>2]=0;f[Z+4>>2]=0;f[Z+8>>2]=0;f[Z+12>>2]=0;if((f[V>>2]|0)>0){Z=f[t+40>>2]|0;M=0;do{f[Z+(M<<2)>>2]=0;M=M+1|0}while((M|0)<(f[V>>2]|0))}V=f[$>>2]|0;if((V|0)!=(t+48|0))dX(V);V=n+36|0;t=f[V>>2]|0;do if(t|0){$=t+12|0;M=f[$>>2]|0;f[$>>2]=M+-1;if((M|0)!=1)break;XO(n)}while(0);f[V>>2]=0;f[_>>2]=0;f[_+4>>2]=0;f[_+8>>2]=0;f[_+12>>2]=0;if((f[Y>>2]|0)>0){_=f[n+40>>2]|0;V=0;do{f[_+(V<<2)>>2]=0;V=V+1|0}while((V|0)<(f[Y>>2]|0))}Y=f[U>>2]|0;if((Y|0)==(n+48|0)){u=k;return}dX(Y);u=k;return}function Wwa(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=+g;h=h|0;i=i|0;j=+j;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0;k=u;u=u+1024|0;l=k;m=k+960|0;n=k+904|0;o=k+848|0;p=k+792|0;q=k+736|0;r=k+728|0;s=k+664|0;t=k+656|0;v=k+592|0;w=k+528|0;x=k+472|0;y=k+416|0;z=k+360|0;A=k+304|0;B=k+672|0;C=k+288|0;D=k+648|0;E=k+584|0;F=k+272|0;G=k+256|0;H=k+240|0;I=k+224|0;J=k+296|0;yV(t,100832);do if((HJ(c)|0)==65536){K=f[c+4>>2]|0;f[v>>2]=f[K>>2];L=v+4|0;M=K+4|0;f[L>>2]=f[M>>2];N=v+8|0;f[N>>2]=f[K+8>>2];f[v+12>>2]=f[K+12>>2];f[v+16>>2]=f[K+16>>2];f[v+20>>2]=f[K+20>>2];f[v+24>>2]=f[K+24>>2];f[v+28>>2]=f[K+28>>2];f[v+32>>2]=f[K+32>>2];O=f[K+36>>2]|0;f[v+36>>2]=O;f[v+40>>2]=N;N=v+48|0;P=v+44|0;f[P>>2]=N;f[N>>2]=0;f[v+52>>2]=0;if(O|0){N=O+12|0;f[N>>2]=(f[N>>2]|0)+1}if((f[M>>2]|0)<3){M=f[K+44>>2]|0;N=f[P>>2]|0;f[N>>2]=f[M>>2];f[N+4>>2]=f[M+4>>2];break}else{f[L>>2]=0;WO(v,K);break}}else DJ(v,c,-1);while(0);do if((HJ(d)|0)==65536){c=f[d+4>>2]|0;f[w>>2]=f[c>>2];K=w+4|0;L=c+4|0;f[K>>2]=f[L>>2];M=w+8|0;f[M>>2]=f[c+8>>2];f[w+12>>2]=f[c+12>>2];f[w+16>>2]=f[c+16>>2];f[w+20>>2]=f[c+20>>2];f[w+24>>2]=f[c+24>>2];f[w+28>>2]=f[c+28>>2];f[w+32>>2]=f[c+32>>2];N=f[c+36>>2]|0;f[w+36>>2]=N;f[w+40>>2]=M;M=w+48|0;P=w+44|0;f[P>>2]=M;f[M>>2]=0;f[w+52>>2]=0;if(N|0){M=N+12|0;f[M>>2]=(f[M>>2]|0)+1}if((f[L>>2]|0)<3){L=f[c+44>>2]|0;M=f[P>>2]|0;f[M>>2]=f[L>>2];f[M+4>>2]=f[L+4>>2];break}else{f[K>>2]=0;WO(w,c);break}}else DJ(w,d,-1);while(0);f[x>>2]=1124007936;d=x+4|0;c=x+8|0;K=x+40|0;L=d;M=L+36|0;do{f[L>>2]=0;L=L+4|0}while((L|0)<(M|0));f[K>>2]=c;P=x+48|0;N=x+44|0;f[N>>2]=P;f[P>>2]=0;f[x+52>>2]=0;f[y>>2]=1124007936;O=y+4|0;Q=y+8|0;R=y+40|0;L=O;M=L+36|0;do{f[L>>2]=0;L=L+4|0}while((L|0)<(M|0));f[R>>2]=Q;S=y+48|0;T=y+44|0;f[T>>2]=S;f[S>>2]=0;f[y+52>>2]=0;f[z>>2]=1124007936;U=z+4|0;V=z+8|0;W=z+40|0;L=U;M=L+36|0;do{f[L>>2]=0;L=L+4|0}while((L|0)<(M|0));f[W>>2]=V;Y=z+48|0;Z=z+44|0;f[Z>>2]=Y;f[Y>>2]=0;f[z+52>>2]=0;f[A>>2]=1124007936;_=A+4|0;$=A+8|0;aa=A+40|0;L=_;M=L+36|0;do{f[L>>2]=0;L=L+4|0}while((L|0)<(M|0));f[aa>>2]=$;$=A+48|0;ba=A+44|0;f[ba>>2]=$;f[$>>2]=0;f[A+52>>2]=0;ca=l+4|0;da=l+8|0;ea=l+12|0;fa=l+4|0;ga=m+8|0;ha=m+4|0;ia=l+8|0;ja=l+4|0;ka=B+36|0;la=B+16|0;ma=B+4|0;na=B+40|0;oa=B+44|0;pa=B+48|0;qa=jP(v,2,-1,0)|0;do if((qa|0)<0){ra=jP(v,3,-1,0)|0;if((ra|0)>=0){if(!ra){sa=29;break}}else{f[l>>2]=0;f[ca>>2]=0;L=JV(l,46)|0;ta=346556;M=L+46|0;do{b[L>>0]=b[ta>>0]|0;L=L+1|0;ta=ta+1|0}while((L|0)<(M|0));EP(-5,l,346603,346618,372);KV(l)}f[da>>2]=0;f[ea>>2]=0;f[l>>2]=16842752;f[fa>>2]=v;ua=ga;f[ua>>2]=0;f[ua+4>>2]=0;f[m>>2]=33619968;f[ha>>2]=v;Xwa(l,m);va=ra;sa=20}else{va=qa;sa=20}while(0);do if((sa|0)==20){hP(B,v,2,va);qa=ia;f[qa>>2]=0;f[qa+4>>2]=0;f[l>>2]=33619968;f[ja>>2]=x;AO(B,l,5,1.0,0.0);qa=f[ka>>2]|0;if(qa|0?(ua=qa+12|0,qa=f[ua>>2]|0,f[ua>>2]=qa+-1,(qa|0)==1):0)XO(B);f[ka>>2]=0;f[la>>2]=0;f[la+4>>2]=0;f[la+8>>2]=0;f[la+12>>2]=0;if((f[ma>>2]|0)>0){qa=f[na>>2]|0;ua=0;do{f[qa+(ua<<2)>>2]=0;ua=ua+1|0}while((ua|0)<(f[ma>>2]|0))}ua=f[oa>>2]|0;if((ua|0)!=(pa|0))dX(ua);ua=jP(w,2,-1,0)|0;if((ua|0)<0){qa=jP(w,3,-1,0)|0;if((qa|0)>=0){if(!qa){sa=29;break}}else{f[l>>2]=0;f[ca>>2]=0;L=JV(l,46)|0;ta=346556;M=L+46|0;do{b[L>>0]=b[ta>>0]|0;L=L+1|0;ta=ta+1|0}while((L|0)<(M|0));EP(-5,l,346603,346618,372);KV(l)}f[da>>2]=0;f[ea>>2]=0;f[l>>2]=16842752;f[fa>>2]=w;ra=ga;f[ra>>2]=0;f[ra+4>>2]=0;f[m>>2]=33619968;f[ha>>2]=w;Xwa(l,m);wa=qa}else wa=ua;hP(B,w,2,wa);ra=ia;f[ra>>2]=0;f[ra+4>>2]=0;f[l>>2]=33619968;f[ja>>2]=y;AO(B,l,5,1.0,0.0);ra=f[ka>>2]|0;if(ra|0?(xa=ra+12|0,ra=f[xa>>2]|0,f[xa>>2]=ra+-1,(ra|0)==1):0)XO(B);f[ka>>2]=0;f[la>>2]=0;f[la+4>>2]=0;f[la+8>>2]=0;f[la+12>>2]=0;if((f[ma>>2]|0)>0){ra=f[na>>2]|0;xa=0;do{f[ra+(xa<<2)>>2]=0;xa=xa+1|0}while((xa|0)<(f[ma>>2]|0))}xa=f[oa>>2]|0;if((xa|0)!=(pa|0))dX(xa);xa=jP(x,2,-1,1)|0;if((xa|0)!=(jP(y,2,-1,1)|0)){f[l>>2]=0;f[l+4>>2]=0;L=JV(l,40)|0;ta=346676;M=L+40|0;do{b[L>>0]=b[ta>>0]|0;L=L+1|0;ta=ta+1|0}while((L|0)<(M|0));EP(-215,l,346603,346618,380);KV(l)}xa=!(g<=0.0);ra=EQa(4)|0;f[ra>>2]=100860;ua=EQa(16)|0;qa=ua+4|0;f[qa>>2]=1;f[ua>>2]=100888;f[ua+8>>2]=ra;f[C>>2]=ua;ya=C+4|0;f[ya>>2]=ra;f[qa>>2]=(f[qa>>2]|0)+1;ra=f[qa>>2]|0;f[qa>>2]=ra+-1;if((ra|0)==1)qg[f[(f[ua>>2]|0)+8>>2]&1023](ua);a:do if((e|0)==0|(wa|0)==4){WG(l,wa,1,0);ua=f[l>>2]|0;th[f[(f[ua>>2]|0)+12>>2]&255](ua,l,A,-1);Mi(l);ua=f[ya>>2]|0;ra=f[(f[ua>>2]|0)+8>>2]|0;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=x;f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=y;qa=n+8|0;f[qa>>2]=0;f[qa+4>>2]=0;f[n>>2]=33619968;f[n+4>>2]=z;za=(dg[ra&63](ua,l,m,n)|0)>0;sa=128}else switch(e|0){case 8:{Rxa(D,C,4,xa?g:3.0,j,i);ua=D+4|0;ra=f[ua>>2]|0;qa=f[(f[ra>>2]|0)+36>>2]|0;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=x;f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=y;Aa=n+8|0;f[Aa>>2]=0;f[Aa+4>>2]=0;f[n>>2]=33619968;f[n+4>>2]=z;Aa=o+8|0;f[Aa>>2]=0;f[Aa+4>>2]=0;f[o>>2]=33619968;f[o+4>>2]=A;Aa=fg[qa&63](ra,l,m,n,o)|0;ra=f[D>>2]|0;if(ra|0?(qa=ra+4|0,Ba=f[qa>>2]|0,f[qa>>2]=Ba+-1,(Ba|0)==1):0)qg[f[(f[ra>>2]|0)+8>>2]&1023](ra);f[D>>2]=0;f[ua>>2]=0;za=Aa;sa=128;break a;break}case 4:{_xa(E,C,4,j,i);Aa=E+4|0;ua=f[Aa>>2]|0;ra=f[(f[ua>>2]|0)+36>>2]|0;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=x;f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=y;Ba=n+8|0;f[Ba>>2]=0;f[Ba+4>>2]=0;f[n>>2]=33619968;f[n+4>>2]=z;Ba=o+8|0;f[Ba>>2]=0;f[Ba+4>>2]=0;f[o>>2]=33619968;f[o+4>>2]=A;Ba=fg[ra&63](ua,l,m,n,o)|0;ua=f[E>>2]|0;if(ua|0?(ra=ua+4|0,qa=f[ra>>2]|0,f[ra>>2]=qa+-1,(qa|0)==1):0)qg[f[(f[ua>>2]|0)+8>>2]&1023](ua);f[E>>2]=0;f[Aa>>2]=0;za=Ba;sa=128;break a;break}case 16:{f[F+8>>2]=0;f[F+12>>2]=0;f[F>>2]=16842752;Ba=F+4|0;f[Ba>>2]=x;f[G+8>>2]=0;f[G+12>>2]=0;f[G>>2]=16842752;Aa=G+4|0;f[Aa>>2]=y;ua=H+8|0;f[ua>>2]=0;f[ua+4>>2]=0;f[H>>2]=33619968;f[H+4>>2]=z;ua=I+8|0;f[ua>>2]=0;f[ua+4>>2]=0;f[I>>2]=33619968;f[I+4>>2]=A;do if((HJ(F)|0)==65536){ua=f[Ba>>2]|0;f[m>>2]=f[ua>>2];qa=m+4|0;ra=ua+4|0;f[qa>>2]=f[ra>>2];Ca=m+8|0;f[Ca>>2]=f[ua+8>>2];f[m+12>>2]=f[ua+12>>2];f[m+16>>2]=f[ua+16>>2];f[m+20>>2]=f[ua+20>>2];f[m+24>>2]=f[ua+24>>2];f[m+28>>2]=f[ua+28>>2];f[m+32>>2]=f[ua+32>>2];Da=f[ua+36>>2]|0;f[m+36>>2]=Da;f[m+40>>2]=Ca;Ca=m+48|0;Ea=m+44|0;f[Ea>>2]=Ca;f[Ca>>2]=0;f[m+52>>2]=0;if(Da|0){Ca=Da+12|0;f[Ca>>2]=(f[Ca>>2]|0)+1}if((f[ra>>2]|0)<3){ra=f[ua+44>>2]|0;Ca=f[Ea>>2]|0;f[Ca>>2]=f[ra>>2];f[Ca+4>>2]=f[ra+4>>2];break}else{f[qa>>2]=0;WO(m,ua);break}}else DJ(m,F,-1);while(0);do if((HJ(G)|0)==65536){Ba=f[Aa>>2]|0;f[n>>2]=f[Ba>>2];ua=n+4|0;qa=Ba+4|0;f[ua>>2]=f[qa>>2];ra=n+8|0;f[ra>>2]=f[Ba+8>>2];f[n+12>>2]=f[Ba+12>>2];f[n+16>>2]=f[Ba+16>>2];f[n+20>>2]=f[Ba+20>>2];f[n+24>>2]=f[Ba+24>>2];f[n+28>>2]=f[Ba+28>>2];f[n+32>>2]=f[Ba+32>>2];Ca=f[Ba+36>>2]|0;f[n+36>>2]=Ca;f[n+40>>2]=ra;ra=n+48|0;Ea=n+44|0;f[Ea>>2]=ra;f[ra>>2]=0;f[n+52>>2]=0;if(Ca|0){ra=Ca+12|0;f[ra>>2]=(f[ra>>2]|0)+1}if((f[qa>>2]|0)<3){qa=f[Ba+44>>2]|0;ra=f[Ea>>2]|0;f[ra>>2]=f[qa>>2];f[ra+4>>2]=f[qa+4>>2];break}else{f[ua>>2]=0;WO(n,Ba);break}}else DJ(n,G,-1);while(0);f[o>>2]=1124007936;Aa=o+4|0;Ba=o+8|0;ua=o+40|0;L=Aa;M=L+36|0;do{f[L>>2]=0;L=L+4|0}while((L|0)<(M|0));f[ua>>2]=Ba;qa=o+48|0;ra=o+44|0;f[ra>>2]=qa;f[qa>>2]=0;f[o+52>>2]=0;f[p>>2]=1124007936;Ea=p+4|0;Ca=p+8|0;Da=p+40|0;L=Ea;M=L+36|0;do{f[L>>2]=0;L=L+4|0}while((L|0)<(M|0));f[Da>>2]=Ca;Fa=p+48|0;Ga=p+44|0;f[Ga>>2]=Fa;f[Fa>>2]=0;f[p+52>>2]=0;f[l>>2]=3;Ha=l+4|0;f[Ha>>2]=3;VO(p,2,l,5);f[q>>2]=1124007936;Ia=q+4|0;Ja=q+8|0;Ka=q+40|0;L=Ia;M=L+36|0;do{f[L>>2]=0;L=L+4|0}while((L|0)<(M|0));f[Ka>>2]=Ja;Ca=q+48|0;La=q+44|0;f[La>>2]=Ca;f[Ca>>2]=0;f[q+52>>2]=0;f[l>>2]=wa;f[Ha>>2]=1;VO(q,2,l,0);Ma=q+36|0;Na=f[Ma>>2]|0;if(Na|0){Oa=Na+12|0;f[Oa>>2]=(f[Oa>>2]|0)+1}Oa=o+36|0;Na=f[Oa>>2]|0;do if(Na|0){Pa=Na+12|0;Qa=f[Pa>>2]|0;f[Pa>>2]=Qa+-1;if((Qa|0)!=1)break;XO(o)}while(0);f[Oa>>2]=0;Na=o+16|0;f[Na>>2]=0;f[Na+4>>2]=0;f[Na+8>>2]=0;f[Na+12>>2]=0;if((f[Aa>>2]|0)>0){Ha=f[ua>>2]|0;Qa=0;do{f[Ha+(Qa<<2)>>2]=0;Qa=Qa+1|0;Ra=f[Aa>>2]|0}while((Qa|0)<(Ra|0));f[o>>2]=f[q>>2];if((Ra|0)<3)sa=68;else sa=70}else{f[o>>2]=f[q>>2];sa=68}do if((sa|0)==68){Qa=f[Ia>>2]|0;if((Qa|0)>=3){sa=70;break}f[Aa>>2]=Qa;f[Ba>>2]=f[Ja>>2];f[o+12>>2]=f[q+12>>2];Qa=f[La>>2]|0;Ha=f[ra>>2]|0;f[Ha>>2]=f[Qa>>2];f[Ha+4>>2]=f[Qa+4>>2]}while(0);if((sa|0)==70)WO(o,q);Ja=q+16|0;f[Na>>2]=f[Ja>>2];f[o+20>>2]=f[q+20>>2];f[o+24>>2]=f[q+24>>2];f[o+28>>2]=f[q+28>>2];f[o+32>>2]=f[q+32>>2];Ba=f[Ma>>2]|0;f[Oa>>2]=Ba;do if(Ba|0){Qa=Ba+12|0;Ha=f[Qa>>2]|0;f[Qa>>2]=Ha+-1;if((Ha|0)!=1)break;XO(q)}while(0);f[Ma>>2]=0;f[Ja>>2]=0;f[Ja+4>>2]=0;f[Ja+8>>2]=0;f[Ja+12>>2]=0;if((f[Ia>>2]|0)>0){Ba=f[Ka>>2]|0;Ha=0;do{f[Ba+(Ha<<2)>>2]=0;Ha=Ha+1|0}while((Ha|0)<(f[Ia>>2]|0))}Ia=f[La>>2]|0;if((Ia|0)!=(Ca|0))dX(Ia);Lxa(l);Ia=f[l>>2]|0;f[r>>2]=Ia;Ha=r+4|0;Ba=l+4|0;f[Ha>>2]=f[Ba>>2];if(Ia|0){Ka=Ia+4|0;f[Ka>>2]=(f[Ka>>2]|0)+1}Oxa(r,wa,.35)|0;Ka=f[r>>2]|0;do if(Ka|0){Ia=Ka+4|0;Ja=f[Ia>>2]|0;f[Ia>>2]=Ja+-1;if((Ja|0)!=1)break;qg[f[(f[Ka>>2]|0)+8>>2]&1023](Ka)}while(0);f[r>>2]=0;f[Ha>>2]=0;Ka=f[l>>2]|0;f[s>>2]=Ka;Ca=s+4|0;f[Ca>>2]=f[Ba>>2];if(Ka|0){La=Ka+4|0;f[La>>2]=(f[La>>2]|0)+1}La=m+16|0;Ka=n+16|0;Ja=p+16|0;Ia=(Pxa(s,f[La>>2]|0,f[Ka>>2]|0,f[Na>>2]|0,wa,xa?g:3.0,i,i,j,4,.35,5,0,f[Ja>>2]|0)|0)!=0;Ma=f[s>>2]|0;do if(Ma|0){Qa=Ma+4|0;Pa=f[Qa>>2]|0;f[Qa>>2]=Pa+-1;if((Pa|0)!=1)break;qg[f[(f[Ma>>2]|0)+8>>2]&1023](Ma)}while(0);f[s>>2]=0;f[Ca>>2]=0;AO(p,H,6,1.0,0.0);if((wa|0)>0){Ma=0;do{Ba=(f[Na>>2]|0)+Ma|0;b[Ba>>0]=(b[Ba>>0]|0)!=0&1;Ma=Ma+1|0}while((Ma|0)!=(wa|0))}eM(o,I);Ma=f[l>>2]|0;do if(Ma|0){Ca=Ma+4|0;Ba=f[Ca>>2]|0;f[Ca>>2]=Ba+-1;if((Ba|0)!=1)break;qg[f[(f[Ma>>2]|0)+8>>2]&1023](Ma)}while(0);Ma=p+36|0;Ba=f[Ma>>2]|0;do if(Ba|0){Ca=Ba+12|0;Ha=f[Ca>>2]|0;f[Ca>>2]=Ha+-1;if((Ha|0)!=1)break;XO(p)}while(0);f[Ma>>2]=0;f[Ja>>2]=0;f[Ja+4>>2]=0;f[Ja+8>>2]=0;f[Ja+12>>2]=0;if((f[Ea>>2]|0)>0){Ba=f[Da>>2]|0;Ha=0;do{f[Ba+(Ha<<2)>>2]=0;Ha=Ha+1|0}while((Ha|0)<(f[Ea>>2]|0))}Ea=f[Ga>>2]|0;if((Ea|0)!=(Fa|0))dX(Ea);Ea=f[Oa>>2]|0;do if(Ea|0){Ha=Ea+12|0;Ba=f[Ha>>2]|0;f[Ha>>2]=Ba+-1;if((Ba|0)!=1)break;XO(o)}while(0);f[Oa>>2]=0;f[Na>>2]=0;f[Na+4>>2]=0;f[Na+8>>2]=0;f[Na+12>>2]=0;if((f[Aa>>2]|0)>0){Ea=f[ua>>2]|0;Fa=0;do{f[Ea+(Fa<<2)>>2]=0;Fa=Fa+1|0}while((Fa|0)<(f[Aa>>2]|0))}Aa=f[ra>>2]|0;if((Aa|0)!=(qa|0))dX(Aa);Aa=n+36|0;Fa=f[Aa>>2]|0;do if(Fa|0){Ea=Fa+12|0;ua=f[Ea>>2]|0;f[Ea>>2]=ua+-1;if((ua|0)!=1)break;XO(n)}while(0);f[Aa>>2]=0;Fa=n+4|0;f[Ka>>2]=0;f[Ka+4>>2]=0;f[Ka+8>>2]=0;f[Ka+12>>2]=0;if((f[Fa>>2]|0)>0){qa=f[n+40>>2]|0;ra=0;do{f[qa+(ra<<2)>>2]=0;ra=ra+1|0}while((ra|0)<(f[Fa>>2]|0))}Fa=f[n+44>>2]|0;if((Fa|0)!=(n+48|0))dX(Fa);Fa=m+36|0;ra=f[Fa>>2]|0;do if(ra|0){qa=ra+12|0;Ka=f[qa>>2]|0;f[qa>>2]=Ka+-1;if((Ka|0)!=1)break;XO(m)}while(0);f[Fa>>2]=0;ra=m+4|0;f[La>>2]=0;f[La+4>>2]=0;f[La+8>>2]=0;f[La+12>>2]=0;if((f[ra>>2]|0)>0){Ka=f[m+40>>2]|0;qa=0;do{f[Ka+(qa<<2)>>2]=0;qa=qa+1|0}while((qa|0)<(f[ra>>2]|0))}ra=f[m+44>>2]|0;if((ra|0)!=(m+48|0))dX(ra);za=Ia;sa=128;break a;break}default:{f[l>>2]=0;f[l+4>>2]=0;L=JV(l,25)|0;ta=346717;M=L+25|0;do{b[L>>0]=b[ta>>0]|0;L=L+1|0;ta=ta+1|0}while((L|0)<(M|0));EP(-5,l,346603,346618,399);KV(l);Sa=wa;sa=208;break a}}while(0);do if((sa|0)==128){if((e|0)!=16&((wa|0)>4&za)){xa=x+16|0;Ia=f[xa>>2]|0;ra=f[A+16>>2]|0;qa=0;Ka=0;while(1){if(!(b[ra+qa>>0]|0))Ta=Ka;else{if((qa|0)>(Ka|0)){f[Ia+(Ka<<3)>>2]=f[Ia+(qa<<3)>>2];f[Ia+(Ka<<3)+4>>2]=f[Ia+(qa<<3)+4>>2]}Ta=Ka+1|0}qa=qa+1|0;if((qa|0)==(wa|0))break;else Ka=Ta}Ka=y+16|0;qa=f[Ka>>2]|0;Ia=0;La=0;while(1){if(!(b[ra+Ia>>0]|0))Ua=La;else{if((Ia|0)>(La|0)){f[qa+(La<<3)>>2]=f[qa+(Ia<<3)>>2];f[qa+(La<<3)+4>>2]=f[qa+(Ia<<3)+4>>2]}Ua=La+1|0}Ia=Ia+1|0;if((Ia|0)==(wa|0))break;else La=Ua}if((Ua|0)>0){f[l>>2]=0;f[l+4>>2]=Ua;f[m>>2]=-2147483648;f[m+4>>2]=2147483647;YO(n,x,l,m);f[l>>2]=0;f[l+4>>2]=Ua;f[m>>2]=-2147483648;f[m+4>>2]=2147483647;YO(o,y,l,m);La=n+36|0;Ia=f[La>>2]|0;if(Ia|0){qa=Ia+12|0;f[qa>>2]=(f[qa>>2]|0)+1}qa=x+36|0;Ia=f[qa>>2]|0;do if(Ia|0){ra=Ia+12|0;Fa=f[ra>>2]|0;f[ra>>2]=Fa+-1;if((Fa|0)!=1)break;XO(x)}while(0);f[qa>>2]=0;f[xa>>2]=0;f[xa+4>>2]=0;f[xa+8>>2]=0;f[xa+12>>2]=0;if((f[d>>2]|0)>0){Ia=f[K>>2]|0;Fa=0;do{f[Ia+(Fa<<2)>>2]=0;Fa=Fa+1|0;Va=f[d>>2]|0}while((Fa|0)<(Va|0));f[x>>2]=f[n>>2];if((Va|0)<3)sa=152;else sa=154}else{f[x>>2]=f[n>>2];sa=152}do if((sa|0)==152){Fa=f[n+4>>2]|0;if((Fa|0)>=3){sa=154;break}f[d>>2]=Fa;f[c>>2]=f[n+8>>2];f[x+12>>2]=f[n+12>>2];Fa=f[n+44>>2]|0;Ia=f[N>>2]|0;f[Ia>>2]=f[Fa>>2];f[Ia+4>>2]=f[Fa+4>>2]}while(0);if((sa|0)==154)WO(x,n);Fa=n+16|0;f[xa>>2]=f[Fa>>2];f[x+20>>2]=f[n+20>>2];f[x+24>>2]=f[n+24>>2];f[x+28>>2]=f[n+28>>2];f[x+32>>2]=f[n+32>>2];f[qa>>2]=f[La>>2];Ia=o+36|0;ra=f[Ia>>2]|0;if(ra|0){Aa=ra+12|0;f[Aa>>2]=(f[Aa>>2]|0)+1}Aa=y+36|0;ra=f[Aa>>2]|0;do if(ra|0){ua=ra+12|0;Ea=f[ua>>2]|0;f[ua>>2]=Ea+-1;if((Ea|0)!=1)break;XO(y)}while(0);f[Aa>>2]=0;f[Ka>>2]=0;f[Ka+4>>2]=0;f[Ka+8>>2]=0;f[Ka+12>>2]=0;if((f[O>>2]|0)>0){ra=f[R>>2]|0;qa=0;do{f[ra+(qa<<2)>>2]=0;qa=qa+1|0;Wa=f[O>>2]|0}while((qa|0)<(Wa|0));f[y>>2]=f[o>>2];if((Wa|0)<3)sa=165;else sa=167}else{f[y>>2]=f[o>>2];sa=165}do if((sa|0)==165){qa=f[o+4>>2]|0;if((qa|0)>=3){sa=167;break}f[O>>2]=qa;f[Q>>2]=f[o+8>>2];f[y+12>>2]=f[o+12>>2];qa=f[o+44>>2]|0;ra=f[T>>2]|0;f[ra>>2]=f[qa>>2];f[ra+4>>2]=f[qa+4>>2]}while(0);if((sa|0)==167)WO(y,o);qa=o+16|0;f[Ka>>2]=f[qa>>2];f[y+20>>2]=f[o+20>>2];f[y+24>>2]=f[o+24>>2];f[y+28>>2]=f[o+28>>2];f[y+32>>2]=f[o+32>>2];f[Aa>>2]=f[Ia>>2];switch(e|0){case 4:case 8:{ra=f[ya>>2]|0;xa=f[(f[ra>>2]|0)+8>>2]|0;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=x;f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=y;Ea=p+8|0;f[Ea>>2]=0;f[Ea+4>>2]=0;f[p>>2]=33619968;f[p+4>>2]=z;dg[xa&63](ra,l,m,p)|0;break}default:{}}ra=f[z+16>>2]|0;f[p>>2]=1124007942;xa=p+4|0;f[xa>>2]=2;Ea=p+8|0;f[Ea>>2]=8;ua=p+12|0;f[ua>>2]=1;Na=p+16|0;f[Na>>2]=ra;Oa=p+20|0;f[Oa>>2]=ra;Ga=p+24|0;Ba=p+28|0;Ha=p+40|0;f[Ga>>2]=0;f[Ga+4>>2]=0;f[Ga+8>>2]=0;f[Ga+12>>2]=0;f[Ha>>2]=Ea;Da=p+48|0;Ja=p+44|0;f[Ja>>2]=Da;f[p+52>>2]=0;f[Da>>2]=0;if(!ra){f[l>>2]=0;f[l+4>>2]=0;L=JV(l,26)|0;ta=346743;M=L+26|0;do{b[L>>0]=b[ta>>0]|0;L=L+1|0;ta=ta+1|0}while((L|0)<(M|0));EP(-215,l,346770,346774,500);KV(l);Xa=f[ua>>2]|0;Ya=f[p>>2]|0;Za=f[Ja>>2]|0;_a=f[Oa>>2]|0}else{Xa=1;Ya=1124007942;Za=Da;_a=ra}Aa=Xa<<3;f[p>>2]=Ya|16384;f[Za>>2]=Aa;f[Za+4>>2]=8;Ka=_a+(X(f[Ea>>2]|0,Aa)|0)|0;f[Ba>>2]=Ka;f[Ga>>2]=Ka+(0-Aa)+Aa;Aa=EQa(116)|0;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=x;f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=y;Ywa(Aa,l,m);Ka=EQa(16)|0;Ma=Ka+4|0;f[Ma>>2]=1;f[Ka>>2]=100908;f[Ka+8>>2]=Aa;f[q>>2]=Ka;Ca=q+4|0;f[Ca>>2]=Aa;f[Ma>>2]=(f[Ma>>2]|0)+1;eya(J,q,10);Aa=J+4|0;Pa=f[Aa>>2]|0;Qa=f[(f[Pa>>2]|0)+36>>2]|0;$a=l+8|0;f[$a>>2]=0;f[$a+4>>2]=0;f[l>>2]=50397184;f[l+4>>2]=p;Zf[Qa&127](Pa,l)|0;Pa=f[J>>2]|0;do if(Pa|0){Qa=Pa+4|0;$a=f[Qa>>2]|0;f[Qa>>2]=$a+-1;if(($a|0)!=1)break;qg[f[(f[Pa>>2]|0)+8>>2]&1023](Pa)}while(0);f[J>>2]=0;f[Aa>>2]=0;Pa=f[q>>2]|0;do if(Pa|0){Ga=Pa+4|0;Ba=f[Ga>>2]|0;f[Ga>>2]=Ba+-1;if((Ba|0)!=1)break;qg[f[(f[Pa>>2]|0)+8>>2]&1023](Pa)}while(0);f[q>>2]=0;f[Ca>>2]=0;Pa=f[Ma>>2]|0;f[Ma>>2]=Pa+-1;if((Pa|0)==1)qg[f[(f[Ka>>2]|0)+8>>2]&1023](Ka);Pa=p+36|0;Aa=f[Pa>>2]|0;do if(Aa|0){Ba=Aa+12|0;Ga=f[Ba>>2]|0;f[Ba>>2]=Ga+-1;if((Ga|0)!=1)break;XO(p)}while(0);f[Pa>>2]=0;f[Na>>2]=0;f[Na+4>>2]=0;f[Na+8>>2]=0;f[Na+12>>2]=0;if((f[xa>>2]|0)>0){Aa=f[Ha>>2]|0;Ka=0;do{f[Aa+(Ka<<2)>>2]=0;Ka=Ka+1|0}while((Ka|0)<(f[xa>>2]|0))}xa=f[Ja>>2]|0;if((xa|0)!=(Da|0))dX(xa);xa=f[Ia>>2]|0;do if(xa|0){Ka=xa+12|0;Aa=f[Ka>>2]|0;f[Ka>>2]=Aa+-1;if((Aa|0)!=1)break;XO(o)}while(0);f[Ia>>2]=0;xa=o+4|0;f[qa>>2]=0;f[qa+4>>2]=0;f[qa+8>>2]=0;f[qa+12>>2]=0;if((f[xa>>2]|0)>0){Da=f[o+40>>2]|0;Ja=0;do{f[Da+(Ja<<2)>>2]=0;Ja=Ja+1|0}while((Ja|0)<(f[xa>>2]|0))}xa=f[o+44>>2]|0;if((xa|0)!=(o+48|0))dX(xa);xa=f[La>>2]|0;do if(xa|0){Ja=xa+12|0;Da=f[Ja>>2]|0;f[Ja>>2]=Da+-1;if((Da|0)!=1)break;XO(n)}while(0);f[La>>2]=0;xa=n+4|0;f[Fa>>2]=0;f[Fa+4>>2]=0;f[Fa+8>>2]=0;f[Fa+12>>2]=0;if((f[xa>>2]|0)>0){Da=f[n+40>>2]|0;Ja=0;do{f[Da+(Ja<<2)>>2]=0;Ja=Ja+1|0}while((Ja|0)<(f[xa>>2]|0))}xa=f[n+44>>2]|0;if((xa|0)!=(n+48|0))dX(xa)}else{ab=Ua;sa=205}}else{ab=wa;sa=205}if((sa|0)==205?!za:0){Sa=ab;sa=208;break}if(yK(h)|0)eM(A,h)}while(0);if((sa|0)==208){ya=z+36|0;xa=f[ya>>2]|0;if(xa|0?(Ja=xa+12|0,xa=f[Ja>>2]|0,f[Ja>>2]=xa+-1,(xa|0)==1):0)XO(z);f[ya>>2]=0;ya=z+16|0;f[ya>>2]=0;f[ya+4>>2]=0;f[ya+8>>2]=0;f[ya+12>>2]=0;if((f[U>>2]|0)>0){ya=f[W>>2]|0;xa=0;do{f[ya+(xa<<2)>>2]=0;xa=xa+1|0}while((xa|0)<(f[U>>2]|0))}if(yK(h)|0){TG(l,(Sa|0)>0?Sa:0,1,0);xa=f[l>>2]|0;th[f[(f[xa>>2]|0)+12>>2]&255](xa,l,A,-1);Mi(l);eM(A,h)}}f[a>>2]=f[z>>2];xa=a+4|0;ya=f[U>>2]|0;f[xa>>2]=ya;Ja=a+8|0;f[Ja>>2]=f[V>>2];f[a+12>>2]=f[z+12>>2];f[a+16>>2]=f[z+16>>2];f[a+20>>2]=f[z+20>>2];f[a+24>>2]=f[z+24>>2];f[a+28>>2]=f[z+28>>2];f[a+32>>2]=f[z+32>>2];Da=f[z+36>>2]|0;f[a+36>>2]=Da;f[a+40>>2]=Ja;Ja=a+48|0;Fa=a+44|0;f[Fa>>2]=Ja;f[Ja>>2]=0;f[a+52>>2]=0;if(!Da)bb=ya;else{ya=Da+12|0;f[ya>>2]=(f[ya>>2]|0)+1;bb=f[U>>2]|0}if((bb|0)<3){ya=f[Z>>2]|0;Da=f[Fa>>2]|0;f[Da>>2]=f[ya>>2];f[Da+4>>2]=f[ya+4>>2]}else{f[xa>>2]=0;WO(a,z)}xa=f[C>>2]|0;if(xa|0?(ya=xa+4|0,Da=f[ya>>2]|0,f[ya>>2]=Da+-1,(Da|0)==1):0)qg[f[(f[xa>>2]|0)+8>>2]&1023](xa)}while(0);if((sa|0)==29){f[a>>2]=1124007936;sa=a+8|0;C=a+40|0;L=a+4|0;M=L+36|0;do{f[L>>2]=0;L=L+4|0}while((L|0)<(M|0));f[C>>2]=sa;sa=a+48|0;f[a+44>>2]=sa;f[sa>>2]=0;f[a+52>>2]=0}a=A+36|0;sa=f[a>>2]|0;if(sa|0?(C=sa+12|0,sa=f[C>>2]|0,f[C>>2]=sa+-1,(sa|0)==1):0)XO(A);f[a>>2]=0;a=A+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if((f[_>>2]|0)>0){a=f[aa>>2]|0;aa=0;do{f[a+(aa<<2)>>2]=0;aa=aa+1|0}while((aa|0)<(f[_>>2]|0))}_=f[ba>>2]|0;if((_|0)!=($|0))dX(_);_=z+36|0;$=f[_>>2]|0;if($|0?(ba=$+12|0,$=f[ba>>2]|0,f[ba>>2]=$+-1,($|0)==1):0)XO(z);f[_>>2]=0;_=z+16|0;f[_>>2]=0;f[_+4>>2]=0;f[_+8>>2]=0;f[_+12>>2]=0;if((f[U>>2]|0)>0){_=f[W>>2]|0;W=0;do{f[_+(W<<2)>>2]=0;W=W+1|0}while((W|0)<(f[U>>2]|0))}U=f[Z>>2]|0;if((U|0)!=(Y|0))dX(U);U=y+36|0;Y=f[U>>2]|0;if(Y|0?(Z=Y+12|0,Y=f[Z>>2]|0,f[Z>>2]=Y+-1,(Y|0)==1):0)XO(y);f[U>>2]=0;U=y+16|0;f[U>>2]=0;f[U+4>>2]=0;f[U+8>>2]=0;f[U+12>>2]=0;if((f[O>>2]|0)>0){U=f[R>>2]|0;R=0;do{f[U+(R<<2)>>2]=0;R=R+1|0}while((R|0)<(f[O>>2]|0))}O=f[T>>2]|0;if((O|0)!=(S|0))dX(O);O=x+36|0;S=f[O>>2]|0;if(S|0?(T=S+12|0,S=f[T>>2]|0,f[T>>2]=S+-1,(S|0)==1):0)XO(x);f[O>>2]=0;O=x+16|0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[O+12>>2]=0;if((f[d>>2]|0)>0){O=f[K>>2]|0;K=0;do{f[O+(K<<2)>>2]=0;K=K+1|0}while((K|0)<(f[d>>2]|0))}d=f[N>>2]|0;if((d|0)!=(P|0))dX(d);d=w+36|0;P=f[d>>2]|0;if(P|0?(N=P+12|0,P=f[N>>2]|0,f[N>>2]=P+-1,(P|0)==1):0)XO(w);f[d>>2]=0;d=w+16|0;P=w+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[P>>2]|0)>0){d=f[w+40>>2]|0;N=0;do{f[d+(N<<2)>>2]=0;N=N+1|0}while((N|0)<(f[P>>2]|0))}P=f[w+44>>2]|0;if((P|0)!=(w+48|0))dX(P);P=v+36|0;w=f[P>>2]|0;do if(w|0){N=w+12|0;d=f[N>>2]|0;f[N>>2]=d+-1;if((d|0)!=1)break;XO(v)}while(0);f[P>>2]=0;P=v+16|0;w=v+4|0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;if((f[w>>2]|0)>0){P=f[v+40>>2]|0;d=0;do{f[P+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[w>>2]|0))}w=f[v+44>>2]|0;if((w|0)!=(v+48|0))dX(w);if(!(f[t+4>>2]|0)){u=k;return}u=k;return}function Xwa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0,O=0.0,P=0,Q=0.0,R=0,S=0,T=0,U=0;d=u;u=u+176|0;e=d+120|0;g=d+112|0;h=d+56|0;i=d;yV(g,100940);do if((HJ(a)|0)==65536){j=f[a+4>>2]|0;f[h>>2]=f[j>>2];k=h+4|0;l=j+4|0;f[k>>2]=f[l>>2];m=h+8|0;f[m>>2]=f[j+8>>2];f[h+12>>2]=f[j+12>>2];f[h+16>>2]=f[j+16>>2];f[h+20>>2]=f[j+20>>2];f[h+24>>2]=f[j+24>>2];f[h+28>>2]=f[j+28>>2];f[h+32>>2]=f[j+32>>2];o=f[j+36>>2]|0;f[h+36>>2]=o;f[h+40>>2]=m;m=h+48|0;q=h+44|0;f[q>>2]=m;f[m>>2]=0;f[h+52>>2]=0;if(o|0){m=o+12|0;f[m>>2]=(f[m>>2]|0)+1}if((f[l>>2]|0)<3){l=f[j+44>>2]|0;m=f[q>>2]|0;f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];r=h;break}else{f[k>>2]=0;WO(h,j);r=h;break}}else{DJ(h,a,-1);r=h}while(0);if(!(f[r>>2]&16384)){f[i>>2]=1124007936;a=i+4|0;j=i+8|0;k=i+40|0;s=a;t=s+36|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(t|0));f[k>>2]=j;l=i+48|0;m=i+44|0;f[m>>2]=l;f[l>>2]=0;f[i+52>>2]=0;q=e+8|0;f[q>>2]=0;f[q+4>>2]=0;f[e>>2]=33619968;f[e+4>>2]=i;eM(h,e);q=i+36|0;o=f[q>>2]|0;if(o|0){v=o+12|0;f[v>>2]=(f[v>>2]|0)+1}v=h+36|0;o=f[v>>2]|0;if(o|0?(w=o+12|0,o=f[w>>2]|0,f[w>>2]=o+-1,(o|0)==1):0)XO(h);f[v>>2]=0;o=h+16|0;w=h+4|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;if((f[w>>2]|0)>0){x=f[h+40>>2]|0;y=0;do{f[x+(y<<2)>>2]=0;y=y+1|0;z=f[w>>2]|0}while((y|0)<(z|0));f[r>>2]=f[i>>2];if((z|0)<3)A=19;else A=21}else{f[r>>2]=f[i>>2];A=19}if((A|0)==19){z=f[a>>2]|0;if((z|0)<3){f[w>>2]=z;f[h+8>>2]=f[j>>2];f[h+12>>2]=f[i+12>>2];j=f[m>>2]|0;z=f[h+44>>2]|0;f[z>>2]=f[j>>2];f[z+4>>2]=f[j+4>>2]}else A=21}if((A|0)==21)WO(h,i);j=i+16|0;f[o>>2]=f[j>>2];f[h+20>>2]=f[i+20>>2];f[h+24>>2]=f[i+24>>2];f[h+28>>2]=f[i+28>>2];f[h+32>>2]=f[i+32>>2];o=f[q>>2]|0;f[v>>2]=o;if(o|0?(v=o+12|0,o=f[v>>2]|0,f[v>>2]=o+-1,(o|0)==1):0)XO(i);f[q>>2]=0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;if((f[a>>2]|0)>0){j=f[k>>2]|0;k=0;do{f[j+(k<<2)>>2]=0;k=k+1|0}while((k|0)<(f[a>>2]|0))}a=f[m>>2]|0;if((a|0)!=(l|0))dX(a)}a=jP(h,3,-1,1)|0;l=f[r>>2]|0;r=l&7;if((a|0)<0){m=jP(h,4,-1,1)|0;if((m|0)>-1){B=m;C=4;A=34}else{f[e>>2]=0;f[e+4>>2]=0;s=JV(e,12)|0;D=347185;t=s+12|0;do{b[s>>0]=b[D>>0]|0;s=s+1|0;D=D+1|0}while((s|0)<(t|0));EP(-215,e,347198,346618,923);KV(e);E=m;F=4;A=35}}else{B=a;C=3;A=34}if((A|0)==34)if((r+-4|0)>>>0<3&(B|0)>-1){G=B;H=C}else{E=B;F=C;A=35}if((A|0)==35){f[e>>2]=0;f[e+4>>2]=0;s=JV(e,56)|0;D=347227;t=s+56|0;do{b[s>>0]=b[D>>0]|0;s=s+1|0;D=D+1|0}while((s|0)<(t|0));EP(-215,e,347198,346618,926);KV(e);G=E;H=F}F=(H<<3)+-16|(r>>>0<6?5:6);vK(c,G,1,F,-1,0,0);do if((HJ(c)|0)==65536){r=f[c+4>>2]|0;f[e>>2]=f[r>>2];E=e+4|0;C=r+4|0;f[E>>2]=f[C>>2];B=e+8|0;f[B>>2]=f[r+8>>2];f[e+12>>2]=f[r+12>>2];f[e+16>>2]=f[r+16>>2];f[e+20>>2]=f[r+20>>2];f[e+24>>2]=f[r+24>>2];f[e+28>>2]=f[r+28>>2];f[e+32>>2]=f[r+32>>2];a=f[r+36>>2]|0;f[e+36>>2]=a;f[e+40>>2]=B;B=e+48|0;m=e+44|0;f[m>>2]=B;f[B>>2]=0;f[e+52>>2]=0;if(a|0){B=a+12|0;f[B>>2]=(f[B>>2]|0)+1}if((f[C>>2]|0)<3){C=f[r+44>>2]|0;B=f[m>>2]|0;f[B>>2]=f[C>>2];f[B+4>>2]=f[C+4>>2];I=e;break}else{f[E>>2]=0;WO(e,r);I=e;break}}else{DJ(e,c,-1);I=e}while(0);r=f[I>>2]|0;if(!(r&16384)){YJ(c);vK(c,G,1,F,-1,0,0);do if((HJ(c)|0)==65536){F=f[c+4>>2]|0;f[i>>2]=f[F>>2];E=i+4|0;C=F+4|0;f[E>>2]=f[C>>2];B=i+8|0;f[B>>2]=f[F+8>>2];f[i+12>>2]=f[F+12>>2];f[i+16>>2]=f[F+16>>2];f[i+20>>2]=f[F+20>>2];f[i+24>>2]=f[F+24>>2];f[i+28>>2]=f[F+28>>2];f[i+32>>2]=f[F+32>>2];m=i+36|0;a=f[F+36>>2]|0;f[m>>2]=a;f[i+40>>2]=B;B=i+48|0;k=i+44|0;f[k>>2]=B;f[B>>2]=0;f[i+52>>2]=0;if(a|0){B=a+12|0;f[B>>2]=(f[B>>2]|0)+1}if((f[C>>2]|0)<3){C=f[F+44>>2]|0;B=f[k>>2]|0;f[B>>2]=f[C>>2];f[B+4>>2]=f[C+4>>2];J=m;break}else{f[E>>2]=0;WO(i,F);J=m;break}}else{DJ(i,c,-1);J=i+36|0}while(0);c=f[J>>2]|0;if(c|0){m=c+12|0;f[m>>2]=(f[m>>2]|0)+1}m=e+36|0;c=f[m>>2]|0;if(c|0?(F=c+12|0,c=f[F>>2]|0,f[F>>2]=c+-1,(c|0)==1):0)XO(e);f[m>>2]=0;c=e+16|0;F=e+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[F>>2]|0)>0){E=f[e+40>>2]|0;C=0;do{f[E+(C<<2)>>2]=0;C=C+1|0;K=f[F>>2]|0}while((C|0)<(K|0));f[I>>2]=f[i>>2];if((K|0)<3)A=61;else A=63}else{f[I>>2]=f[i>>2];A=61}if((A|0)==61){K=f[i+4>>2]|0;if((K|0)<3){f[F>>2]=K;f[e+8>>2]=f[i+8>>2];f[e+12>>2]=f[i+12>>2];K=f[i+44>>2]|0;F=f[e+44>>2]|0;f[F>>2]=f[K>>2];f[F+4>>2]=f[K+4>>2]}else A=63}if((A|0)==63)WO(e,i);A=i+16|0;f[c>>2]=f[A>>2];f[e+20>>2]=f[i+20>>2];f[e+24>>2]=f[i+24>>2];f[e+28>>2]=f[i+28>>2];f[e+32>>2]=f[i+32>>2];c=f[J>>2]|0;f[m>>2]=c;if(c|0?(m=c+12|0,c=f[m>>2]|0,f[m>>2]=c+-1,(c|0)==1):0)XO(i);f[J>>2]=0;J=i+4|0;f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;f[A+12>>2]=0;if((f[J>>2]|0)>0){A=f[i+40>>2]|0;c=0;do{f[A+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[J>>2]|0))}J=f[i+44>>2]|0;if((J|0)!=(i+48|0))dX(J);L=f[I>>2]|0}else L=r;if(!(L&16384)){f[i>>2]=0;f[i+4>>2]=0;s=JV(i,18)|0;D=347284;t=s+18|0;do{b[s>>0]=b[D>>0]|0;s=s+1|0;D=D+1|0}while((s|0)<(t|0));EP(-215,i,347198,346618,937);KV(i)}a:do switch(l&7){case 4:{D=f[h+16>>2]|0;if((H|0)==3){s=f[e+16>>2]|0;if((G|0)>0)M=0;else break a;do{t=f[D+(M*12|0)+8>>2]|0;N=(t|0)==0?1.0:1.0/+(t|0);O=N*+(f[D+(M*12|0)+4>>2]|0);n[s+(M<<3)>>2]=N*+(f[D+(M*12|0)>>2]|0);n[s+(M<<3)+4>>2]=O;M=M+1|0}while((M|0)!=(G|0))}else{s=f[e+16>>2]|0;if((G|0)>0)P=0;else break a;do{t=f[D+(P<<4)+12>>2]|0;O=(t|0)==0?1.0:1.0/+(t|0);N=O*+(f[D+(P<<4)+4>>2]|0);Q=O*+(f[D+(P<<4)+8>>2]|0);n[s+(P*12|0)>>2]=O*+(f[D+(P<<4)>>2]|0);n[s+(P*12|0)+4>>2]=N;n[s+(P*12|0)+8>>2]=Q;P=P+1|0}while((P|0)!=(G|0))}break}case 5:{s=f[h+16>>2]|0;if((H|0)==3){D=f[e+16>>2]|0;if((G|0)>0)R=0;else break a;do{Q=+n[s+(R*12|0)+8>>2];N=Q!=0.0?1.0/Q:1.0;Q=+n[s+(R*12|0)+4>>2]*N;n[D+(R<<3)>>2]=+n[s+(R*12|0)>>2]*N;n[D+(R<<3)+4>>2]=Q;R=R+1|0}while((R|0)!=(G|0))}else{D=f[e+16>>2]|0;if((G|0)>0)S=0;else break a;do{Q=+n[s+(S<<4)+12>>2];N=Q!=0.0?1.0/Q:1.0;Q=+n[s+(S<<4)+4>>2]*N;O=N*+n[s+(S<<4)+8>>2];n[D+(S*12|0)>>2]=+n[s+(S<<4)>>2]*N;n[D+(S*12|0)+4>>2]=Q;n[D+(S*12|0)+8>>2]=O;S=S+1|0}while((S|0)!=(G|0))}break}case 6:{D=f[h+16>>2]|0;if((H|0)==3){s=f[e+16>>2]|0;if((G|0)>0)T=0;else break a;do{O=+p[D+(T*24|0)+16>>3];Q=O!=0.0?1.0/O:1.0;O=+p[D+(T*24|0)+8>>3]*Q;p[s+(T<<4)>>3]=+p[D+(T*24|0)>>3]*Q;p[s+(T<<4)+8>>3]=O;T=T+1|0}while((T|0)!=(G|0))}else{s=f[e+16>>2]|0;if((G|0)>0)U=0;else break a;do{O=+p[D+(U<<5)+24>>3];Q=O!=0.0?1.0/O:1.0;O=+p[D+(U<<5)+8>>3]*Q;N=Q*+p[D+(U<<5)+16>>3];p[s+(U*24|0)>>3]=+p[D+(U<<5)>>3]*Q;p[s+(U*24|0)+8>>3]=O;p[s+(U*24|0)+16>>3]=N;U=U+1|0}while((U|0)!=(G|0))}break}default:{f[i>>2]=0;f[i+4>>2]=0;EP(-210,i,347198,346618,1009);KV(i)}}while(0);i=e+36|0;G=f[i>>2]|0;if(G|0?(U=G+12|0,G=f[U>>2]|0,f[U>>2]=G+-1,(G|0)==1):0)XO(e);f[i>>2]=0;i=e+16|0;G=e+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[G>>2]|0)>0){i=f[e+40>>2]|0;U=0;do{f[i+(U<<2)>>2]=0;U=U+1|0}while((U|0)<(f[G>>2]|0))}G=f[e+44>>2]|0;if((G|0)!=(e+48|0))dX(G);G=h+36|0;e=f[G>>2]|0;if(e|0?(U=e+12|0,e=f[U>>2]|0,f[U>>2]=e+-1,(e|0)==1):0)XO(h);f[G>>2]=0;G=h+16|0;e=h+4|0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;if((f[e>>2]|0)>0){G=f[h+40>>2]|0;U=0;do{f[G+(U<<2)>>2]=0;U=U+1|0}while((U|0)<(f[e>>2]|0))}e=f[h+44>>2]|0;if((e|0)!=(h+48|0))dX(e);if(!(f[g+4>>2]|0)){u=d;return}u=d;return}function Ywa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;d=u;u=u+64|0;e=d;f[a>>2]=100928;g=a+4|0;f[g>>2]=1124007936;h=a+8|0;i=a+12|0;j=a+44|0;k=h;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[j>>2]=i;m=a+52|0;n=a+48|0;f[n>>2]=m;f[m>>2]=0;f[a+56>>2]=0;m=a+60|0;f[m>>2]=1124007936;o=a+64|0;p=a+68|0;q=a+100|0;k=o;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[q>>2]=p;k=a+108|0;l=a+104|0;f[l>>2]=k;f[k>>2]=0;f[a+112>>2]=0;do if((HJ(b)|0)==65536){k=f[b+4>>2]|0;f[e>>2]=f[k>>2];r=e+4|0;s=k+4|0;f[r>>2]=f[s>>2];t=e+8|0;f[t>>2]=f[k+8>>2];f[e+12>>2]=f[k+12>>2];f[e+16>>2]=f[k+16>>2];f[e+20>>2]=f[k+20>>2];f[e+24>>2]=f[k+24>>2];f[e+28>>2]=f[k+28>>2];f[e+32>>2]=f[k+32>>2];v=f[k+36>>2]|0;f[e+36>>2]=v;f[e+40>>2]=t;t=e+48|0;w=e+44|0;f[w>>2]=t;f[t>>2]=0;f[e+52>>2]=0;if(v|0){t=v+12|0;f[t>>2]=(f[t>>2]|0)+1}if((f[s>>2]|0)<3){s=f[k+44>>2]|0;t=f[w>>2]|0;f[t>>2]=f[s>>2];f[t+4>>2]=f[s+4>>2];break}else{f[r>>2]=0;WO(e,k);break}}else DJ(e,b,-1);while(0);b=e+36|0;k=f[b>>2]|0;if((g|0)==(e|0))x=k;else{if(k|0){r=k+12|0;f[r>>2]=(f[r>>2]|0)+1}r=a+40|0;k=f[r>>2]|0;if(k|0?(s=k+12|0,k=f[s>>2]|0,f[s>>2]=k+-1,(k|0)==1):0)XO(g);f[r>>2]=0;k=a+20|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;if((f[h>>2]|0)>0){s=f[j>>2]|0;j=0;do{f[s+(j<<2)>>2]=0;j=j+1|0;y=f[h>>2]|0}while((j|0)<(y|0));f[g>>2]=f[e>>2];if((y|0)<3)z=19;else z=21}else{f[g>>2]=f[e>>2];z=19}if((z|0)==19){y=f[e+4>>2]|0;if((y|0)<3){f[h>>2]=y;f[i>>2]=f[e+8>>2];f[a+16>>2]=f[e+12>>2];i=f[e+44>>2]|0;y=f[n>>2]|0;f[y>>2]=f[i>>2];f[y+4>>2]=f[i+4>>2]}else z=21}if((z|0)==21)WO(g,e);f[k>>2]=f[e+16>>2];f[a+24>>2]=f[e+20>>2];f[a+28>>2]=f[e+24>>2];f[a+32>>2]=f[e+28>>2];f[a+36>>2]=f[e+32>>2];k=f[b>>2]|0;f[r>>2]=k;x=k}if(x|0?(k=x+12|0,x=f[k>>2]|0,f[k>>2]=x+-1,(x|0)==1):0)XO(e);f[b>>2]=0;b=e+16|0;x=e+4|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[x>>2]|0)>0){b=f[e+40>>2]|0;k=0;do{f[b+(k<<2)>>2]=0;k=k+1|0}while((k|0)<(f[x>>2]|0))}x=f[e+44>>2]|0;if((x|0)!=(e+48|0))dX(x);do if((HJ(c)|0)==65536){x=f[c+4>>2]|0;f[e>>2]=f[x>>2];k=e+4|0;b=x+4|0;f[k>>2]=f[b>>2];r=e+8|0;f[r>>2]=f[x+8>>2];f[e+12>>2]=f[x+12>>2];f[e+16>>2]=f[x+16>>2];f[e+20>>2]=f[x+20>>2];f[e+24>>2]=f[x+24>>2];f[e+28>>2]=f[x+28>>2];f[e+32>>2]=f[x+32>>2];g=f[x+36>>2]|0;f[e+36>>2]=g;f[e+40>>2]=r;r=e+48|0;i=e+44|0;f[i>>2]=r;f[r>>2]=0;f[e+52>>2]=0;if(g|0){r=g+12|0;f[r>>2]=(f[r>>2]|0)+1}if((f[b>>2]|0)<3){b=f[x+44>>2]|0;r=f[i>>2]|0;f[r>>2]=f[b>>2];f[r+4>>2]=f[b+4>>2];break}else{f[k>>2]=0;WO(e,x);break}}else DJ(e,c,-1);while(0);c=e+36|0;x=f[c>>2]|0;if((m|0)==(e|0))A=x;else{if(x|0){k=x+12|0;f[k>>2]=(f[k>>2]|0)+1}k=a+96|0;x=f[k>>2]|0;if(x|0?(b=x+12|0,x=f[b>>2]|0,f[b>>2]=x+-1,(x|0)==1):0)XO(m);f[k>>2]=0;x=a+76|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;if((f[o>>2]|0)>0){b=f[q>>2]|0;q=0;do{f[b+(q<<2)>>2]=0;q=q+1|0;B=f[o>>2]|0}while((q|0)<(B|0));f[m>>2]=f[e>>2];if((B|0)<3)z=49;else z=51}else{f[m>>2]=f[e>>2];z=49}if((z|0)==49){B=f[e+4>>2]|0;if((B|0)<3){f[o>>2]=B;f[p>>2]=f[e+8>>2];f[a+72>>2]=f[e+12>>2];p=f[e+44>>2]|0;B=f[l>>2]|0;f[B>>2]=f[p>>2];f[B+4>>2]=f[p+4>>2]}else z=51}if((z|0)==51)WO(m,e);f[x>>2]=f[e+16>>2];f[a+80>>2]=f[e+20>>2];f[a+84>>2]=f[e+24>>2];f[a+88>>2]=f[e+28>>2];f[a+92>>2]=f[e+32>>2];a=f[c>>2]|0;f[k>>2]=a;A=a}if(A|0?(a=A+12|0,A=f[a>>2]|0,f[a>>2]=A+-1,(A|0)==1):0)XO(e);f[c>>2]=0;c=e+16|0;A=e+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[A>>2]|0)>0){c=f[e+40>>2]|0;a=0;do{f[c+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[A>>2]|0))}A=f[e+44>>2]|0;if((A|0)==(e+48|0)){u=d;return}dX(A);u=d;return}function Zwa(a){a=a|0;GQa(a);return}function _wa(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function $wa(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=100928;b=a+60|0;c=a+96|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+76|0;b=a+64|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+100>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+104>>2]|0;if((b|0)!=(a+108|0))dX(b);b=a+4|0;d=a+40|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+20|0;b=a+8|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[a+44>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+48>>2]|0;if((b|0)==(a+52|0))return;dX(b);return}function axa(a){a=a|0;$wa(a);GQa(a);return}function bxa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0.0,J=0.0,L=0,M=0.0,N=0.0,O=0,P=0.0,Q=0.0;g=u;u=u+224|0;h=g+168|0;i=g+112|0;j=g+56|0;k=g;l=jP(a+4|0,2,-1,1)|0;do if((HJ(c)|0)==65536){m=f[c+4>>2]|0;f[h>>2]=f[m>>2];o=h+4|0;q=m+4|0;f[o>>2]=f[q>>2];r=h+8|0;f[r>>2]=f[m+8>>2];f[h+12>>2]=f[m+12>>2];f[h+16>>2]=f[m+16>>2];f[h+20>>2]=f[m+20>>2];f[h+24>>2]=f[m+24>>2];f[h+28>>2]=f[m+28>>2];f[h+32>>2]=f[m+32>>2];s=f[m+36>>2]|0;f[h+36>>2]=s;f[h+40>>2]=r;r=h+48|0;t=h+44|0;f[t>>2]=r;f[r>>2]=0;f[h+52>>2]=0;if(s|0){r=s+12|0;f[r>>2]=(f[r>>2]|0)+1}if((f[q>>2]|0)<3){q=f[m+44>>2]|0;r=f[t>>2]|0;f[r>>2]=f[q>>2];f[r+4>>2]=f[q+4>>2];break}else{f[o>>2]=0;WO(h,m);break}}else DJ(h,c,-1);while(0);c=l<<1;vK(d,c,1,6,-1,0,0);do if((HJ(d)|0)==65536){m=f[d+4>>2]|0;f[i>>2]=f[m>>2];o=i+4|0;q=m+4|0;f[o>>2]=f[q>>2];r=i+8|0;f[r>>2]=f[m+8>>2];f[i+12>>2]=f[m+12>>2];f[i+16>>2]=f[m+16>>2];f[i+20>>2]=f[m+20>>2];f[i+24>>2]=f[m+24>>2];f[i+28>>2]=f[m+28>>2];f[i+32>>2]=f[m+32>>2];t=f[m+36>>2]|0;f[i+36>>2]=t;f[i+40>>2]=r;r=i+48|0;s=i+44|0;f[s>>2]=r;f[r>>2]=0;f[i+52>>2]=0;if(t|0){r=t+12|0;f[r>>2]=(f[r>>2]|0)+1}if((f[q>>2]|0)<3){q=f[m+44>>2]|0;r=f[s>>2]|0;f[r>>2]=f[q>>2];f[r+4>>2]=f[q+4>>2];break}else{f[o>>2]=0;WO(i,m);break}}else DJ(i,d,-1);while(0);f[j>>2]=1124007936;d=j+4|0;m=j+8|0;o=j+40|0;q=d;r=q+36|0;do{f[q>>2]=0;q=q+4|0}while((q|0)<(r|0));f[o>>2]=m;s=j+48|0;t=j+44|0;f[t>>2]=s;f[s>>2]=0;f[j+52>>2]=0;do if(yK(e)|0){vK(e,c,f[h+8>>2]|0,6,-1,0,0);do if((HJ(e)|0)==65536){v=f[e+4>>2]|0;f[k>>2]=f[v>>2];w=k+4|0;x=v+4|0;f[w>>2]=f[x>>2];y=k+8|0;f[y>>2]=f[v+8>>2];f[k+12>>2]=f[v+12>>2];f[k+16>>2]=f[v+16>>2];f[k+20>>2]=f[v+20>>2];f[k+24>>2]=f[v+24>>2];f[k+28>>2]=f[v+28>>2];f[k+32>>2]=f[v+32>>2];z=k+36|0;A=f[v+36>>2]|0;f[z>>2]=A;f[k+40>>2]=y;y=k+48|0;B=k+44|0;f[B>>2]=y;f[y>>2]=0;f[k+52>>2]=0;if(A|0){y=A+12|0;f[y>>2]=(f[y>>2]|0)+1}if((f[x>>2]|0)<3){x=f[v+44>>2]|0;y=f[B>>2]|0;f[y>>2]=f[x>>2];f[y+4>>2]=f[x+4>>2];C=z;break}else{f[w>>2]=0;WO(k,v);C=z;break}}else{DJ(k,e,-1);C=k+36|0}while(0);z=f[C>>2]|0;if(z|0){v=z+12|0;f[v>>2]=(f[v>>2]|0)+1}v=j+36|0;z=f[v>>2]|0;if(z|0?(w=z+12|0,z=f[w>>2]|0,f[w>>2]=z+-1,(z|0)==1):0)XO(j);f[v>>2]=0;z=j+16|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;if((f[d>>2]|0)>0){w=f[o>>2]|0;x=0;do{f[w+(x<<2)>>2]=0;x=x+1|0;D=f[d>>2]|0}while((x|0)<(D|0));f[j>>2]=f[k>>2];if((D|0)<3)E=34;else E=36}else{f[j>>2]=f[k>>2];E=34}if((E|0)==34){x=f[k+4>>2]|0;if((x|0)<3){f[d>>2]=x;f[m>>2]=f[k+8>>2];f[j+12>>2]=f[k+12>>2];x=f[k+44>>2]|0;w=f[t>>2]|0;f[w>>2]=f[x>>2];f[w+4>>2]=f[x+4>>2]}else E=36}if((E|0)==36)WO(j,k);x=k+16|0;f[z>>2]=f[x>>2];f[j+20>>2]=f[k+20>>2];f[j+24>>2]=f[k+24>>2];f[j+28>>2]=f[k+28>>2];f[j+32>>2]=f[k+32>>2];w=f[C>>2]|0;f[v>>2]=w;if(w|0?(y=w+12|0,w=f[y>>2]|0,f[y>>2]=w+-1,(w|0)==1):0)XO(k);f[C>>2]=0;w=k+4|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;if((f[w>>2]|0)>0){x=f[k+40>>2]|0;y=0;do{f[x+(y<<2)>>2]=0;y=y+1|0}while((y|0)<(f[w>>2]|0))}w=f[k+44>>2]|0;if((w|0)!=(k+48|0))dX(w);if(f[j>>2]&16384|0?(f[j+12>>2]|0)==8:0){F=z;break}f[k>>2]=0;f[k+4>>2]=0;q=JV(k,31)|0;w=346931;r=q+31|0;do{b[q>>0]=b[w>>0]|0;q=q+1|0;w=w+1|0}while((q|0)<(r|0));EP(-215,k,346963,346618,233);KV(k);F=z}else F=j+16|0;while(0);k=f[a+20>>2]|0;q=f[a+76>>2]|0;a=h+16|0;r=f[a>>2]|0;C=h+44|0;E=i+16|0;m=f[E>>2]|0;D=i+44|0;if((l|0)>0){e=r+48|0;c=r+56|0;w=r+8|0;y=r+16|0;x=r+24|0;v=r+32|0;B=r+40|0;A=f[F>>2]|0;G=0;while(1){H=+n[k+(G<<3)>>2];I=+n[k+(G<<3)+4>>2];J=+p[e>>3]*H+ +p[c>>3]*I+1.0;L=+K(+J)>2.220446049250313e-16;M=L?1.0/J:0.0;J=(+p[y>>3]+(+p[r>>3]*H+ +p[w>>3]*I))*M;N=M*(+p[B>>3]+(+p[x>>3]*H+ +p[v>>3]*I));L=G<<1;p[m+(L<<3)>>3]=J-+n[q+(G<<3)>>2];p[m+((L|1)<<3)>>3]=N-+n[q+(G<<3)+4>>2];if(!A)O=0;else{P=M*H;p[A>>3]=P;H=M*I;p[A+8>>3]=H;p[A+16>>3]=M;L=A+24|0;I=-P;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;f[L+16>>2]=0;f[L+20>>2]=0;p[A+48>>3]=J*I;Q=-H;p[A+56>>3]=J*Q;L=A+64|0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;f[L+16>>2]=0;f[L+20>>2]=0;p[A+88>>3]=P;p[A+96>>3]=H;p[A+104>>3]=M;p[A+112>>3]=N*I;p[A+120>>3]=N*Q;O=A+128|0}G=G+1|0;if((G|0)==(l|0))break;else A=O}}O=j+36|0;A=f[O>>2]|0;if(A|0?(l=A+12|0,A=f[l>>2]|0,f[l>>2]=A+-1,(A|0)==1):0)XO(j);f[O>>2]=0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;f[F+12>>2]=0;if((f[d>>2]|0)>0){F=f[o>>2]|0;o=0;do{f[F+(o<<2)>>2]=0;o=o+1|0}while((o|0)<(f[d>>2]|0))}d=f[t>>2]|0;if((d|0)!=(s|0))dX(d);d=i+36|0;s=f[d>>2]|0;if(s|0?(t=s+12|0,s=f[t>>2]|0,f[t>>2]=s+-1,(s|0)==1):0)XO(i);f[d>>2]=0;d=i+4|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;if((f[d>>2]|0)>0){E=f[i+40>>2]|0;s=0;do{f[E+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[d>>2]|0))}d=f[D>>2]|0;if((d|0)!=(i+48|0))dX(d);d=h+36|0;i=f[d>>2]|0;if(i|0?(D=i+12|0,i=f[D>>2]|0,f[D>>2]=i+-1,(i|0)==1):0)XO(h);f[d>>2]=0;d=h+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if((f[d>>2]|0)>0){a=f[h+40>>2]|0;i=0;do{f[a+(i<<2)>>2]=0;i=i+1|0}while((i|0)<(f[d>>2]|0))}d=f[C>>2]|0;if((d|0)==(h+48|0)){u=g;return 1}dX(d);u=g;return 1}function cxa(a){a=a|0;GQa(a);return}function dxa(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function exa(a){a=a|0;return}function fxa(a){a=a|0;GQa(a);return}function gxa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0.0,ta=0.0,ua=0.0,va=0.0,wa=0.0,xa=0.0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0.0,_c=0.0,$c=0.0,ad=0.0,bd=0.0,cd=0.0,dd=0.0,ed=0.0,fd=0.0,gd=0.0,hd=0.0,id=0.0,jd=0.0,kd=0.0,ld=0.0,md=0.0,nd=0.0,od=0.0,pd=0.0,qd=0.0,rd=0.0,sd=0.0,td=0.0,ud=0.0,vd=0.0,wd=0.0,xd=0.0,yd=0.0,zd=0.0,Ad=0.0,Bd=0.0,Cd=0.0,Dd=0.0,Ed=0.0,Fd=0.0,Gd=0.0,Hd=0.0,Id=0.0,Jd=0.0,Kd=0.0,Ld=0,Md=0;a=u;u=u+2336|0;e=a+2272|0;g=a+2216|0;h=a+1160|0;i=a+1088|0;j=a+440|0;k=a+2160|0;l=a+2104|0;m=a+2048|0;o=a+1992|0;q=a+1936|0;r=a+368|0;s=a+296|0;t=a+1880|0;v=a+1824|0;w=a+72|0;x=a;y=a+1808|0;do if((HJ(b)|0)==65536){z=f[b+4>>2]|0;f[e>>2]=f[z>>2];A=e+4|0;B=z+4|0;f[A>>2]=f[B>>2];C=e+8|0;f[C>>2]=f[z+8>>2];f[e+12>>2]=f[z+12>>2];f[e+16>>2]=f[z+16>>2];f[e+20>>2]=f[z+20>>2];f[e+24>>2]=f[z+24>>2];f[e+28>>2]=f[z+28>>2];f[e+32>>2]=f[z+32>>2];D=f[z+36>>2]|0;f[e+36>>2]=D;f[e+40>>2]=C;C=e+48|0;E=e+44|0;f[E>>2]=C;f[C>>2]=0;f[e+52>>2]=0;if(D|0){C=D+12|0;f[C>>2]=(f[C>>2]|0)+1}if((f[B>>2]|0)<3){B=f[z+44>>2]|0;C=f[E>>2]|0;f[C>>2]=f[B>>2];f[C+4>>2]=f[B+4>>2];break}else{f[A>>2]=0;WO(e,z);break}}else DJ(e,b,-1);while(0);do if((HJ(c)|0)==65536){b=f[c+4>>2]|0;f[g>>2]=f[b>>2];z=g+4|0;A=b+4|0;f[z>>2]=f[A>>2];B=g+8|0;f[B>>2]=f[b+8>>2];f[g+12>>2]=f[b+12>>2];f[g+16>>2]=f[b+16>>2];f[g+20>>2]=f[b+20>>2];f[g+24>>2]=f[b+24>>2];f[g+28>>2]=f[b+28>>2];f[g+32>>2]=f[b+32>>2];C=f[b+36>>2]|0;f[g+36>>2]=C;f[g+40>>2]=B;B=g+48|0;E=g+44|0;f[E>>2]=B;f[B>>2]=0;f[g+52>>2]=0;if(C|0){B=C+12|0;f[B>>2]=(f[B>>2]|0)+1}if((f[A>>2]|0)<3){A=f[b+44>>2]|0;B=f[E>>2]|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];break}else{f[z>>2]=0;WO(g,b);break}}else DJ(g,c,-1);while(0);c=jP(e,2,-1,1)|0;b=e+16|0;z=f[b>>2]|0;A=e+44|0;B=g+16|0;E=f[B>>2]|0;C=g+44|0;D=k+4|0;f[D>>2]=2;F=k+8|0;f[F>>2]=9;f[k+12>>2]=9;G=k+16|0;f[G>>2]=h;f[k+20>>2]=h;H=k+24|0;I=k+40|0;J=H+8|0;f[J>>2]=0;f[J+4>>2]=0;f[I>>2]=F;F=k+48|0;J=k+44|0;f[J>>2]=F;f[k>>2]=1124024326;f[F>>2]=72;f[k+52>>2]=8;f[k+28>>2]=h+648;f[H>>2]=h+648;H=l+4|0;f[H>>2]=2;L=l+8|0;f[L>>2]=9;f[l+12>>2]=1;M=l+16|0;f[M>>2]=i;f[l+20>>2]=i;N=l+24|0;O=l+40|0;P=N+8|0;f[P>>2]=0;f[P+4>>2]=0;f[O>>2]=L;L=l+48|0;P=l+44|0;f[P>>2]=L;f[l>>2]=1124024326;f[L>>2]=8;f[l+52>>2]=8;f[l+28>>2]=i+72;f[N>>2]=i+72;i=m+4|0;f[i>>2]=2;N=m+8|0;f[N>>2]=9;f[m+12>>2]=9;Q=m+16|0;f[Q>>2]=j;f[m+20>>2]=j;R=m+24|0;S=m+40|0;T=R+8|0;f[T>>2]=0;f[T+4>>2]=0;f[S>>2]=N;N=m+48|0;T=m+44|0;f[T>>2]=N;f[m>>2]=1124024326;f[N>>2]=72;f[m+52>>2]=8;f[m+28>>2]=j+648;f[R>>2]=j+648;R=j+576|0;U=o+4|0;f[U>>2]=2;V=o+8|0;f[V>>2]=3;f[o+12>>2]=3;W=o+16|0;f[W>>2]=R;f[o+20>>2]=R;R=o+24|0;X=o+40|0;Y=R+8|0;f[Y>>2]=0;f[Y+4>>2]=0;f[X>>2]=V;V=o+48|0;Y=o+44|0;f[Y>>2]=V;f[o>>2]=1124024326;f[V>>2]=24;f[o+52>>2]=8;f[o+28>>2]=j+648;f[R>>2]=j+648;R=j+504|0;Z=q+4|0;f[Z>>2]=2;_=q+8|0;f[_>>2]=3;f[q+12>>2]=3;$=q+16|0;f[$>>2]=R;f[q+20>>2]=R;R=q+24|0;aa=q+40|0;ba=R+8|0;f[ba>>2]=0;f[ba+4>>2]=0;f[aa>>2]=_;_=q+48|0;ba=q+44|0;f[ba>>2]=_;f[q>>2]=1124024326;f[_>>2]=24;f[q+52>>2]=8;f[q+28>>2]=j+576;f[R>>2]=j+576;j=(c|0)>0;if(j){R=0;ca=0.0;da=0.0;ea=0.0;fa=0.0;do{ca=ca+ +n[E+(R<<3)>>2];ea=ea+ +n[E+(R<<3)+4>>2];da=da+ +n[z+(R<<3)>>2];fa=fa+ +n[z+(R<<3)+4>>2];R=R+1|0}while((R|0)!=(c|0));ga=+(c|0);ha=ca/ga;ca=ea/ga;ea=da/ga;da=fa/ga;if(j){R=0;fa=0.0;ia=0.0;ja=0.0;ka=0.0;while(1){la=fa+ +K(+(+n[E+(R<<3)>>2]-ha));ma=ja+ +K(+(+n[E+(R<<3)+4>>2]-ca));na=ia+ +K(+(+n[z+(R<<3)>>2]-ea));oa=ka+ +K(+(+n[z+(R<<3)+4>>2]-da));R=R+1|0;if((R|0)==(c|0)){pa=la;qa=na;ra=ma;sa=oa;ta=ga;ua=ha;va=ca;wa=ea;xa=da;break}else{fa=la;ia=na;ja=ma;ka=oa}}}else{pa=0.0;qa=0.0;ra=0.0;sa=0.0;ta=ga;ua=ha;va=ca;wa=ea;xa=da}}else{da=+(c|0);pa=0.0;qa=0.0;ra=0.0;sa=0.0;ta=da;ua=0.0/da;va=0.0/da;wa=0.0/da;xa=0.0/da}if(!(+K(+sa)<2.220446049250313e-16|(+K(+qa)<2.220446049250313e-16|(+K(+ra)<2.220446049250313e-16|+K(+pa)<2.220446049250313e-16)))){da=ta/pa;pa=ta/ra;ra=ta/qa;qa=ta/sa;p[r>>3]=1.0/da;p[r+8>>3]=0.0;p[r+16>>3]=ua;p[r+24>>3]=0.0;p[r+32>>3]=1.0/pa;p[r+40>>3]=va;R=r+48|0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;f[R+12>>2]=0;p[r+64>>3]=1.0;p[s>>3]=ra;p[s+8>>3]=0.0;p[s+16>>3]=-(wa*ra);p[s+24>>3]=0.0;p[s+32>>3]=qa;p[s+40>>3]=-(xa*qa);R=s+48|0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;f[R+12>>2]=0;p[s+64>>3]=1.0;R=t+4|0;f[R>>2]=2;ya=t+8|0;f[ya>>2]=3;f[t+12>>2]=3;za=t+16|0;f[za>>2]=r;f[t+20>>2]=r;Aa=t+24|0;Ba=t+40|0;Ca=Aa+8|0;f[Ca>>2]=0;f[Ca+4>>2]=0;f[Ba>>2]=ya;ya=t+48|0;Ca=t+44|0;f[Ca>>2]=ya;f[t>>2]=1124024326;f[ya>>2]=24;f[t+52>>2]=8;f[t+28>>2]=r+72;f[Aa>>2]=r+72;r=v+4|0;f[r>>2]=2;Aa=v+8|0;f[Aa>>2]=3;f[v+12>>2]=3;Da=v+16|0;f[Da>>2]=s;f[v+20>>2]=s;Ea=v+24|0;Fa=v+40|0;Ga=Ea+8|0;f[Ga>>2]=0;f[Ga+4>>2]=0;f[Fa>>2]=Aa;Aa=v+48|0;Ga=v+44|0;f[Ga>>2]=Aa;f[v>>2]=1124024326;f[Aa>>2]=24;f[v+52>>2]=8;f[v+28>>2]=s+72;f[Ea>>2]=s+72;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;f[x+16>>2]=0;f[x+20>>2]=0;f[x+24>>2]=0;f[x+28>>2]=0;f[w>>2]=-1056833530;f[w+4>>2]=x;f[w+8>>2]=1;f[w+12>>2]=4;hM(k,w,BK()|0)|0;if(j){j=w+8|0;s=w+16|0;Ea=w+24|0;Ha=w+48|0;Ia=w+56|0;Ja=w+64|0;Ka=x+24|0;La=x+32|0;Ma=x+40|0;Na=x+48|0;Oa=x+56|0;Pa=x+64|0;Qa=h+640|0;Ra=w+64|0;Sa=w+8|0;Ta=x+8|0;Ua=h+8|0;Va=w+16|0;Wa=x+16|0;Xa=h+16|0;Ya=w+24|0;Za=x+24|0;_a=h+24|0;$a=w+32|0;ab=x+32|0;bb=h+32|0;cb=w+40|0;db=x+40|0;eb=h+40|0;fb=w+48|0;gb=x+48|0;hb=h+48|0;ib=w+56|0;jb=x+56|0;kb=h+56|0;lb=w+64|0;mb=x+64|0;nb=h+64|0;ob=h+80|0;pb=w+16|0;qb=x+16|0;rb=h+88|0;sb=w+24|0;tb=x+24|0;ub=h+96|0;vb=w+32|0;wb=x+32|0;xb=h+104|0;yb=w+40|0;zb=x+40|0;Ab=h+112|0;Bb=w+48|0;Cb=x+48|0;Db=h+120|0;Eb=w+56|0;Fb=x+56|0;Gb=h+128|0;Hb=w+64|0;Ib=x+64|0;Jb=h+136|0;Kb=h+160|0;Lb=w+24|0;Mb=x+24|0;Nb=h+168|0;Ob=w+32|0;Pb=x+32|0;Qb=h+176|0;Rb=w+40|0;Sb=x+40|0;Tb=h+184|0;Ub=w+48|0;Vb=x+48|0;Wb=h+192|0;Xb=w+56|0;Yb=x+56|0;Zb=h+200|0;_b=w+64|0;$b=x+64|0;ac=h+208|0;bc=h+240|0;cc=w+32|0;dc=x+32|0;ec=h+248|0;fc=w+40|0;gc=x+40|0;hc=h+256|0;ic=w+48|0;jc=x+48|0;kc=h+264|0;lc=w+56|0;mc=x+56|0;nc=h+272|0;oc=w+64|0;pc=x+64|0;qc=h+280|0;rc=h+320|0;sc=w+40|0;tc=x+40|0;uc=h+328|0;vc=w+48|0;wc=x+48|0;xc=h+336|0;yc=w+56|0;zc=x+56|0;Ac=h+344|0;Bc=w+64|0;Cc=x+64|0;Dc=h+352|0;Ec=h+400|0;Fc=w+48|0;Gc=x+48|0;Hc=h+408|0;Ic=w+56|0;Jc=x+56|0;Kc=h+416|0;Lc=w+64|0;Mc=x+64|0;Nc=h+424|0;Oc=h+480|0;Pc=w+56|0;Qc=x+56|0;Rc=h+488|0;Sc=w+64|0;Tc=x+64|0;Uc=h+496|0;Vc=h+560|0;Wc=x+64|0;Xc=h+568|0;Yc=0;sa=+p[h>>3];ta=+p[Ua>>3];ea=+p[Xa>>3];ca=+p[_a>>3];ha=+p[bb>>3];ga=+p[eb>>3];ka=+p[hb>>3];ja=+p[kb>>3];ia=+p[nb>>3];fa=+p[ob>>3];oa=+p[rb>>3];ma=+p[ub>>3];na=+p[xb>>3];la=+p[Ab>>3];Zc=+p[Db>>3];_c=+p[Gb>>3];$c=+p[Jb>>3];ad=+p[Kb>>3];bd=+p[Nb>>3];cd=+p[Qb>>3];dd=+p[Tb>>3];ed=+p[Wb>>3];fd=+p[Zb>>3];gd=+p[ac>>3];hd=+p[bc>>3];id=+p[ec>>3];jd=+p[hc>>3];kd=+p[kc>>3];ld=+p[nc>>3];md=+p[qc>>3];nd=+p[rc>>3];od=+p[uc>>3];pd=+p[xc>>3];qd=+p[Ac>>3];rd=+p[Dc>>3];sd=+p[Ec>>3];td=+p[Hc>>3];ud=+p[Kc>>3];vd=+p[Nc>>3];wd=+p[Oc>>3];xd=+p[Rc>>3];yd=+p[Uc>>3];zd=+p[Vc>>3];Ad=+p[Xc>>3];Bd=+p[Qa>>3];do{Cd=da*(+n[E+(Yc<<3)>>2]-ua);Dd=pa*(+n[E+(Yc<<3)+4>>2]-va);Ed=ra*(+n[z+(Yc<<3)>>2]-wa);Fd=qa*(+n[z+(Yc<<3)+4>>2]-xa);p[w>>3]=Ed;p[j>>3]=Fd;p[s>>3]=1.0;Gd=-Cd;Hd=Ed*Gd;f[Ea>>2]=0;f[Ea+4>>2]=0;f[Ea+8>>2]=0;f[Ea+12>>2]=0;f[Ea+16>>2]=0;f[Ea+20>>2]=0;p[Ha>>3]=Hd;Id=Fd*Gd;p[Ia>>3]=Id;p[Ja>>3]=Gd;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;f[x+16>>2]=0;f[x+20>>2]=0;p[Ka>>3]=Ed;p[La>>3]=Fd;p[Ma>>3]=1.0;Gd=-Dd;Jd=Ed*Gd;p[Na>>3]=Jd;Kd=Fd*Gd;p[Oa>>3]=Kd;p[Pa>>3]=Gd;sa=sa+(Ed*Ed+0.0);ta=ta+(Ed*+p[Sa>>3]+ +p[Ta>>3]*0.0);ea=ea+(Ed*+p[Va>>3]+ +p[Wa>>3]*0.0);ca=ca+(Ed*+p[Ya>>3]+ +p[Za>>3]*0.0);ha=ha+(Ed*+p[$a>>3]+ +p[ab>>3]*0.0);ga=ga+(Ed*+p[cb>>3]+ +p[db>>3]*0.0);ka=ka+(Ed*+p[fb>>3]+ +p[gb>>3]*0.0);ja=ja+(Ed*+p[ib>>3]+ +p[jb>>3]*0.0);ia=ia+(Ed*+p[lb>>3]+ +p[mb>>3]*0.0);fa=fa+(Fd*Fd+0.0);oa=oa+(Fd*+p[pb>>3]+ +p[qb>>3]*0.0);ma=ma+(Fd*+p[sb>>3]+ +p[tb>>3]*0.0);na=na+(Fd*+p[vb>>3]+ +p[wb>>3]*0.0);la=la+(Fd*+p[yb>>3]+ +p[zb>>3]*0.0);Zc=Zc+(Fd*+p[Bb>>3]+ +p[Cb>>3]*0.0);_c=_c+(Fd*+p[Eb>>3]+ +p[Fb>>3]*0.0);$c=$c+(Fd*+p[Hb>>3]+ +p[Ib>>3]*0.0);ad=ad+1.0;bd=bd+(+p[Lb>>3]+ +p[Mb>>3]*0.0);cd=cd+(+p[Ob>>3]+ +p[Pb>>3]*0.0);dd=dd+(+p[Rb>>3]+ +p[Sb>>3]*0.0);ed=ed+(+p[Ub>>3]+ +p[Vb>>3]*0.0);fd=fd+(+p[Xb>>3]+ +p[Yb>>3]*0.0);gd=gd+(+p[_b>>3]+ +p[$b>>3]*0.0);hd=hd+(Ed*Ed+0.0);id=id+(+p[cc>>3]*0.0+Ed*+p[dc>>3]);jd=jd+(+p[fc>>3]*0.0+Ed*+p[gc>>3]);kd=kd+(+p[ic>>3]*0.0+Ed*+p[jc>>3]);ld=ld+(+p[lc>>3]*0.0+Ed*+p[mc>>3]);md=md+(+p[oc>>3]*0.0+Ed*+p[pc>>3]);nd=nd+(Fd*Fd+0.0);od=od+(+p[sc>>3]*0.0+Fd*+p[tc>>3]);pd=pd+(+p[vc>>3]*0.0+Fd*+p[wc>>3]);qd=qd+(+p[yc>>3]*0.0+Fd*+p[zc>>3]);rd=rd+(+p[Bc>>3]*0.0+Fd*+p[Cc>>3]);sd=sd+1.0;td=td+(+p[Fc>>3]*0.0+ +p[Gc>>3]);ud=ud+(+p[Ic>>3]*0.0+ +p[Jc>>3]);vd=vd+(+p[Lc>>3]*0.0+ +p[Mc>>3]);wd=wd+(Hd*Hd+Jd*Jd);xd=xd+(Hd*+p[Pc>>3]+Jd*+p[Qc>>3]);yd=yd+(Hd*+p[Sc>>3]+Jd*+p[Tc>>3]);zd=zd+(Id*Id+Kd*Kd);Ad=Ad+(Id*+p[Ra>>3]+Kd*+p[Wc>>3]);Bd=Bd+(Cd*Cd+Dd*Dd);Yc=Yc+1|0}while((Yc|0)!=(c|0));p[h>>3]=sa;p[Ua>>3]=ta;p[Xa>>3]=ea;p[_a>>3]=ca;p[bb>>3]=ha;p[eb>>3]=ga;p[hb>>3]=ka;p[kb>>3]=ja;p[nb>>3]=ia;p[ob>>3]=fa;p[rb>>3]=oa;p[ub>>3]=ma;p[xb>>3]=na;p[Ab>>3]=la;p[Db>>3]=Zc;p[Gb>>3]=_c;p[Jb>>3]=$c;p[Kb>>3]=ad;p[Nb>>3]=bd;p[Qb>>3]=cd;p[Tb>>3]=dd;p[Wb>>3]=ed;p[Zb>>3]=fd;p[ac>>3]=gd;p[bc>>3]=hd;p[ec>>3]=id;p[hc>>3]=jd;p[kc>>3]=kd;p[nc>>3]=ld;p[qc>>3]=md;p[rc>>3]=nd;p[uc>>3]=od;p[xc>>3]=pd;p[Ac>>3]=qd;p[Dc>>3]=rd;p[Ec>>3]=sd;p[Hc>>3]=td;p[Kc>>3]=ud;p[Nc>>3]=vd;p[Oc>>3]=wd;p[Rc>>3]=xd;p[Uc>>3]=yd;p[Vc>>3]=zd;p[Xc>>3]=Ad;p[Qa>>3]=Bd}Qa=w+8|0;f[Qa>>2]=0;f[Qa+4>>2]=0;f[w>>2]=50397184;f[w+4>>2]=k;YD(w,0);f[w+8>>2]=0;f[w+12>>2]=0;f[w>>2]=16842752;f[w+4>>2]=k;Qa=x+8|0;f[Qa>>2]=0;f[Qa+4>>2]=0;f[x>>2]=33619968;f[x+4>>2]=l;Qa=y+8|0;f[Qa>>2]=0;f[Qa+4>>2]=0;f[y>>2]=33619968;f[y+4>>2]=m;NR(w,x,y)|0;GG(w,t,o);y=f[w>>2]|0;th[f[(f[y>>2]|0)+12>>2]&255](y,w,q,-1);Mi(w);GG(w,q,v);y=f[w>>2]|0;th[f[(f[y>>2]|0)+12>>2]&255](y,w,o,-1);Mi(w);AO(o,d,f[o>>2]&4095,1.0/+p[(f[W>>2]|0)+(f[f[Y>>2]>>2]<<1)+16>>3],0.0);d=v+36|0;w=f[d>>2]|0;if(w|0?(y=w+12|0,w=f[y>>2]|0,f[y>>2]=w+-1,(w|0)==1):0)XO(v);f[d>>2]=0;f[Da>>2]=0;f[Da+4>>2]=0;f[Da+8>>2]=0;f[Da+12>>2]=0;if((f[r>>2]|0)>0){Da=f[Fa>>2]|0;Fa=0;do{f[Da+(Fa<<2)>>2]=0;Fa=Fa+1|0}while((Fa|0)<(f[r>>2]|0))}r=f[Ga>>2]|0;if((r|0)!=(Aa|0))dX(r);r=t+36|0;Aa=f[r>>2]|0;if(Aa|0?(Ga=Aa+12|0,Aa=f[Ga>>2]|0,f[Ga>>2]=Aa+-1,(Aa|0)==1):0)XO(t);f[r>>2]=0;f[za>>2]=0;f[za+4>>2]=0;f[za+8>>2]=0;f[za+12>>2]=0;if((f[R>>2]|0)>0){za=f[Ba>>2]|0;Ba=0;do{f[za+(Ba<<2)>>2]=0;Ba=Ba+1|0}while((Ba|0)<(f[R>>2]|0))}R=f[Ca>>2]|0;if((R|0)!=(ya|0))dX(R);R=q+36|0;ya=f[R>>2]|0;if((ya|0)!=0?(Ca=ya+12|0,ya=f[Ca>>2]|0,f[Ca>>2]=ya+-1,(ya|0)==1):0){XO(q);Ld=1;Md=R}else{Ld=1;Md=R}}else{Ld=0;Md=q+36|0}f[Md>>2]=0;f[$>>2]=0;f[$+4>>2]=0;f[$+8>>2]=0;f[$+12>>2]=0;if((f[Z>>2]|0)>0){$=f[aa>>2]|0;aa=0;do{f[$+(aa<<2)>>2]=0;aa=aa+1|0}while((aa|0)<(f[Z>>2]|0))}Z=f[ba>>2]|0;if((Z|0)!=(_|0))dX(Z);Z=o+36|0;_=f[Z>>2]|0;if(_|0?(ba=_+12|0,_=f[ba>>2]|0,f[ba>>2]=_+-1,(_|0)==1):0)XO(o);f[Z>>2]=0;f[W>>2]=0;f[W+4>>2]=0;f[W+8>>2]=0;f[W+12>>2]=0;if((f[U>>2]|0)>0){W=f[X>>2]|0;X=0;do{f[W+(X<<2)>>2]=0;X=X+1|0}while((X|0)<(f[U>>2]|0))}U=f[Y>>2]|0;if((U|0)!=(V|0))dX(U);U=m+36|0;V=f[U>>2]|0;if(V|0?(Y=V+12|0,V=f[Y>>2]|0,f[Y>>2]=V+-1,(V|0)==1):0)XO(m);f[U>>2]=0;f[Q>>2]=0;f[Q+4>>2]=0;f[Q+8>>2]=0;f[Q+12>>2]=0;if((f[i>>2]|0)>0){Q=f[S>>2]|0;S=0;do{f[Q+(S<<2)>>2]=0;S=S+1|0}while((S|0)<(f[i>>2]|0))}i=f[T>>2]|0;if((i|0)!=(N|0))dX(i);i=l+36|0;N=f[i>>2]|0;if(N|0?(T=N+12|0,N=f[T>>2]|0,f[T>>2]=N+-1,(N|0)==1):0)XO(l);f[i>>2]=0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;if((f[H>>2]|0)>0){M=f[O>>2]|0;O=0;do{f[M+(O<<2)>>2]=0;O=O+1|0}while((O|0)<(f[H>>2]|0))}H=f[P>>2]|0;if((H|0)!=(L|0))dX(H);H=k+36|0;L=f[H>>2]|0;if(L|0?(P=L+12|0,L=f[P>>2]|0,f[P>>2]=L+-1,(L|0)==1):0)XO(k);f[H>>2]=0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;if((f[D>>2]|0)>0){G=f[I>>2]|0;I=0;do{f[G+(I<<2)>>2]=0;I=I+1|0}while((I|0)<(f[D>>2]|0))}D=f[J>>2]|0;if((D|0)!=(F|0))dX(D);D=g+36|0;F=f[D>>2]|0;do if(F|0){J=F+12|0;I=f[J>>2]|0;f[J>>2]=I+-1;if((I|0)!=1)break;XO(g)}while(0);f[D>>2]=0;D=g+4|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;if((f[D>>2]|0)>0){B=f[g+40>>2]|0;F=0;do{f[B+(F<<2)>>2]=0;F=F+1|0}while((F|0)<(f[D>>2]|0))}D=f[C>>2]|0;if((D|0)!=(g+48|0))dX(D);D=e+36|0;g=f[D>>2]|0;do if(g|0){C=g+12|0;F=f[C>>2]|0;f[C>>2]=F+-1;if((F|0)!=1)break;XO(e)}while(0);f[D>>2]=0;D=e+4|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[D>>2]|0)>0){b=f[e+40>>2]|0;g=0;do{f[b+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[D>>2]|0))}D=f[A>>2]|0;if((D|0)==(e+48|0)){u=a;return Ld|0}dX(D);u=a;return Ld|0}function hxa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0;a=u;u=u+224|0;g=a+168|0;h=a+112|0;i=a+56|0;j=a;do if((HJ(b)|0)==65536){k=f[b+4>>2]|0;f[g>>2]=f[k>>2];l=g+4|0;m=k+4|0;f[l>>2]=f[m>>2];o=g+8|0;f[o>>2]=f[k+8>>2];f[g+12>>2]=f[k+12>>2];f[g+16>>2]=f[k+16>>2];f[g+20>>2]=f[k+20>>2];f[g+24>>2]=f[k+24>>2];f[g+28>>2]=f[k+28>>2];f[g+32>>2]=f[k+32>>2];q=f[k+36>>2]|0;f[g+36>>2]=q;f[g+40>>2]=o;o=g+48|0;r=g+44|0;f[r>>2]=o;f[o>>2]=0;f[g+52>>2]=0;if(q|0){o=q+12|0;f[o>>2]=(f[o>>2]|0)+1}if((f[m>>2]|0)<3){m=f[k+44>>2]|0;o=f[r>>2]|0;f[o>>2]=f[m>>2];f[o+4>>2]=f[m+4>>2];break}else{f[l>>2]=0;WO(g,k);break}}else DJ(g,b,-1);while(0);do if((HJ(c)|0)==65536){b=f[c+4>>2]|0;f[h>>2]=f[b>>2];k=h+4|0;l=b+4|0;f[k>>2]=f[l>>2];m=h+8|0;f[m>>2]=f[b+8>>2];f[h+12>>2]=f[b+12>>2];f[h+16>>2]=f[b+16>>2];f[h+20>>2]=f[b+20>>2];f[h+24>>2]=f[b+24>>2];f[h+28>>2]=f[b+28>>2];f[h+32>>2]=f[b+32>>2];o=f[b+36>>2]|0;f[h+36>>2]=o;f[h+40>>2]=m;m=h+48|0;r=h+44|0;f[r>>2]=m;f[m>>2]=0;f[h+52>>2]=0;if(o|0){m=o+12|0;f[m>>2]=(f[m>>2]|0)+1}if((f[l>>2]|0)<3){l=f[b+44>>2]|0;m=f[r>>2]|0;f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];break}else{f[k>>2]=0;WO(h,b);break}}else DJ(h,c,-1);while(0);do if((HJ(d)|0)==65536){c=f[d+4>>2]|0;f[i>>2]=f[c>>2];b=i+4|0;k=c+4|0;f[b>>2]=f[k>>2];l=i+8|0;f[l>>2]=f[c+8>>2];f[i+12>>2]=f[c+12>>2];f[i+16>>2]=f[c+16>>2];f[i+20>>2]=f[c+20>>2];f[i+24>>2]=f[c+24>>2];f[i+28>>2]=f[c+28>>2];f[i+32>>2]=f[c+32>>2];m=f[c+36>>2]|0;f[i+36>>2]=m;f[i+40>>2]=l;l=i+48|0;r=i+44|0;f[r>>2]=l;f[l>>2]=0;f[i+52>>2]=0;if(m|0){l=m+12|0;f[l>>2]=(f[l>>2]|0)+1}if((f[k>>2]|0)<3){k=f[c+44>>2]|0;l=f[r>>2]|0;f[l>>2]=f[k>>2];f[l+4>>2]=f[k+4>>2];break}else{f[b>>2]=0;WO(i,c);break}}else DJ(i,d,-1);while(0);d=jP(g,2,-1,1)|0;c=g+16|0;b=f[c>>2]|0;k=g+44|0;l=h+16|0;r=f[l>>2]|0;m=h+44|0;o=i+16|0;q=f[o>>2]|0;s=i+44|0;t=+p[q>>3];v=+p[q+8>>3];w=+p[q+16>>3];x=+p[q+24>>3];y=+p[q+32>>3];z=+p[q+40>>3];A=+p[q+48>>3];B=+p[q+56>>3];vK(e,d,1,5,-1,0,0);do if((HJ(e)|0)==65536){q=f[e+4>>2]|0;f[j>>2]=f[q>>2];C=j+4|0;D=q+4|0;f[C>>2]=f[D>>2];E=j+8|0;f[E>>2]=f[q+8>>2];f[j+12>>2]=f[q+12>>2];F=j+16|0;f[F>>2]=f[q+16>>2];f[j+20>>2]=f[q+20>>2];f[j+24>>2]=f[q+24>>2];f[j+28>>2]=f[q+28>>2];f[j+32>>2]=f[q+32>>2];G=j+36|0;H=f[q+36>>2]|0;f[G>>2]=H;f[j+40>>2]=E;E=j+48|0;I=j+44|0;f[I>>2]=E;f[E>>2]=0;f[j+52>>2]=0;if(H|0){E=H+12|0;f[E>>2]=(f[E>>2]|0)+1}if((f[D>>2]|0)<3){D=f[q+44>>2]|0;E=f[I>>2]|0;f[E>>2]=f[D>>2];f[E+4>>2]=f[D+4>>2];J=I;K=G;L=F;break}else{f[C>>2]=0;WO(j,q);J=I;K=G;L=F;break}}else{DJ(j,e,-1);J=j+44|0;K=j+36|0;L=j+16|0}while(0);e=f[L>>2]|0;F=f[K>>2]|0;if(F|0?(G=F+12|0,F=f[G>>2]|0,f[G>>2]=F+-1,(F|0)==1):0)XO(j);f[K>>2]=0;K=j+4|0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;if((f[K>>2]|0)>0){L=f[j+40>>2]|0;F=0;do{f[L+(F<<2)>>2]=0;F=F+1|0}while((F|0)<(f[K>>2]|0))}K=f[J>>2]|0;if((K|0)!=(j+48|0))dX(K);if((d|0)>0){K=0;do{M=+n[b+(K<<3)>>2];N=+n[b+(K<<3)+4>>2];O=1.0/(M*A+N*B+1.0);P=(M*t+N*v+w)*O-+n[r+(K<<3)>>2];Q=(M*x+N*y+z)*O-+n[r+(K<<3)+4>>2];n[e+(K<<2)>>2]=P*P+Q*Q;K=K+1|0}while((K|0)!=(d|0))}d=i+36|0;K=f[d>>2]|0;if(K|0?(e=K+12|0,K=f[e>>2]|0,f[e>>2]=K+-1,(K|0)==1):0)XO(i);f[d>>2]=0;d=i+4|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;if((f[d>>2]|0)>0){o=f[i+40>>2]|0;K=0;do{f[o+(K<<2)>>2]=0;K=K+1|0}while((K|0)<(f[d>>2]|0))}d=f[s>>2]|0;if((d|0)!=(i+48|0))dX(d);d=h+36|0;i=f[d>>2]|0;if(i|0?(s=i+12|0,i=f[s>>2]|0,f[s>>2]=i+-1,(i|0)==1):0)XO(h);f[d>>2]=0;d=h+4|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;if((f[d>>2]|0)>0){l=f[h+40>>2]|0;i=0;do{f[l+(i<<2)>>2]=0;i=i+1|0}while((i|0)<(f[d>>2]|0))}d=f[m>>2]|0;if((d|0)!=(h+48|0))dX(d);d=g+36|0;h=f[d>>2]|0;if(h|0?(m=h+12|0,h=f[m>>2]|0,f[m>>2]=h+-1,(h|0)==1):0)XO(g);f[d>>2]=0;d=g+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[d>>2]|0)>0){c=f[g+40>>2]|0;h=0;do{f[c+(h<<2)>>2]=0;h=h+1|0}while((h|0)<(f[d>>2]|0))}d=f[k>>2]|0;if((d|0)==(g+48|0)){u=a;return}dX(d);u=a;return}function ixa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,L=0.0,M=0.0,N=0.0,O=0;a=u;u=u+112|0;e=a+56|0;g=a;do if((HJ(b)|0)==65536){h=f[b+4>>2]|0;f[e>>2]=f[h>>2];i=e+4|0;j=h+4|0;f[i>>2]=f[j>>2];k=e+8|0;f[k>>2]=f[h+8>>2];f[e+12>>2]=f[h+12>>2];f[e+16>>2]=f[h+16>>2];f[e+20>>2]=f[h+20>>2];f[e+24>>2]=f[h+24>>2];f[e+28>>2]=f[h+28>>2];f[e+32>>2]=f[h+32>>2];l=f[h+36>>2]|0;f[e+36>>2]=l;f[e+40>>2]=k;k=e+48|0;m=e+44|0;f[m>>2]=k;f[k>>2]=0;f[e+52>>2]=0;if(l|0){k=l+12|0;f[k>>2]=(f[k>>2]|0)+1}if((f[j>>2]|0)<3){j=f[h+44>>2]|0;k=f[m>>2]|0;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];break}else{f[i>>2]=0;WO(e,h);break}}else DJ(e,b,-1);while(0);do if((HJ(c)|0)==65536){b=f[c+4>>2]|0;f[g>>2]=f[b>>2];h=g+4|0;i=b+4|0;f[h>>2]=f[i>>2];j=g+8|0;f[j>>2]=f[b+8>>2];f[g+12>>2]=f[b+12>>2];f[g+16>>2]=f[b+16>>2];f[g+20>>2]=f[b+20>>2];f[g+24>>2]=f[b+24>>2];f[g+28>>2]=f[b+28>>2];f[g+32>>2]=f[b+32>>2];k=f[b+36>>2]|0;f[g+36>>2]=k;f[g+40>>2]=j;j=g+48|0;m=g+44|0;f[m>>2]=j;f[j>>2]=0;f[g+52>>2]=0;if(k|0){j=k+12|0;f[j>>2]=(f[j>>2]|0)+1}if((f[i>>2]|0)<3){i=f[b+44>>2]|0;j=f[m>>2]|0;f[j>>2]=f[i>>2];f[j+4>>2]=f[i+4>>2];break}else{f[h>>2]=0;WO(g,b);break}}else DJ(g,c,-1);while(0);c=e+16|0;b=f[c>>2]|0;h=d+-1|0;a:do if((d|0)>1){o=+n[b+(h<<3)>>2];p=+n[b+(h<<3)+4>>2];i=0;do{q=+n[b+(i<<3)>>2]-o;r=+n[b+(i<<3)+4>>2]-p;if((i|0)>0){s=+K(+q)+ +K(+r);j=0;do{t=+n[b+(j<<3)>>2]-o;v=+n[b+(j<<3)+4>>2]-p;j=j+1|0;if(+K(+(r*t-q*v))<=(s+ +K(+t)+ +K(+v))*1.1920928955078125e-07){w=0;break a}}while((j|0)<(i|0))}i=i+1|0}while((i|0)<(h|0));i=f[g+16>>2]|0;p=+n[i+(h<<3)>>2];o=+n[i+(h<<3)+4>>2];j=0;do{s=+n[i+(j<<3)>>2]-p;q=+n[i+(j<<3)+4>>2]-o;if((j|0)>0){r=+K(+s)+ +K(+q);m=0;do{v=+n[i+(m<<3)>>2]-p;t=+n[i+(m<<3)+4>>2]-o;m=m+1|0;if(+K(+(q*v-s*t))<=(r+ +K(+v)+ +K(+t))*1.1920928955078125e-07){w=0;break a}}while((m|0)<(j|0))}j=j+1|0}while((j|0)<(h|0));if((d|0)==4?(o=+n[b>>2],j=b+4|0,p=+n[j>>2],m=b+8|0,r=+n[m>>2],s=+n[b+12>>2],q=+n[b+16>>2],t=+n[b+20>>2],v=+n[i>>2],x=+n[i+4>>2],y=+n[i+8>>2],z=+n[i+12>>2],A=+n[i+16>>2],B=+n[i+20>>2],C=+n[b+24>>2],D=+n[b+28>>2],E=+n[i+24>>2],F=+n[i+28>>2],G=t-D,H=q-C,I=q*D-t*C,J=B-F,L=A-E,M=A*F-B*E,N=+n[m>>2],(((r*t-s*q+((s-t)*o-(r-q)*p))*(y*B-z*A+((z-B)*v-(y-A)*x))<0.0&1)+((I+(G*r-H*s))*(M+(J*y-L*z))<0.0&1)+((I+(G*o-H*p))*(M+(J*v-L*x))<0.0&1)+((N*D-s*C+((s-D)*+n[b>>2]-(N-C)*+n[j>>2]))*(y*F-z*E+((z-F)*v-(y-E)*x))<0.0&1)|4|0)!=4):0)w=0;else O=30}else O=30;while(0);if((O|0)==30)w=1;O=g+36|0;b=f[O>>2]|0;if(b|0?(d=b+12|0,b=f[d>>2]|0,f[d>>2]=b+-1,(b|0)==1):0)XO(g);f[O>>2]=0;O=g+16|0;b=g+4|0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[O+12>>2]=0;if((f[b>>2]|0)>0){O=f[g+40>>2]|0;d=0;do{f[O+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[g+44>>2]|0;if((b|0)!=(g+48|0))dX(b);b=e+36|0;g=f[b>>2]|0;if(g|0?(d=g+12|0,g=f[d>>2]|0,f[d>>2]=g+-1,(g|0)==1):0)XO(e);f[b>>2]=0;b=e+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[e+40>>2]|0;g=0;do{f[c+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[b>>2]|0))}b=f[e+44>>2]|0;if((b|0)==(e+48|0)){u=a;return w|0}dX(b);u=a;return w|0}function jxa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0.0,S=0,T=0.0;d=u;u=u+176|0;e=d+120|0;g=d+112|0;h=d+56|0;i=d;yV(g,100960);do if((HJ(a)|0)==65536){j=f[a+4>>2]|0;f[h>>2]=f[j>>2];k=h+4|0;l=j+4|0;f[k>>2]=f[l>>2];m=h+8|0;f[m>>2]=f[j+8>>2];f[h+12>>2]=f[j+12>>2];f[h+16>>2]=f[j+16>>2];f[h+20>>2]=f[j+20>>2];f[h+24>>2]=f[j+24>>2];f[h+28>>2]=f[j+28>>2];f[h+32>>2]=f[j+32>>2];o=f[j+36>>2]|0;f[h+36>>2]=o;f[h+40>>2]=m;m=h+48|0;q=h+44|0;f[q>>2]=m;f[m>>2]=0;f[h+52>>2]=0;if(o|0){m=o+12|0;f[m>>2]=(f[m>>2]|0)+1}if((f[l>>2]|0)<3){l=f[j+44>>2]|0;m=f[q>>2]|0;f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];r=h;break}else{f[k>>2]=0;WO(h,j);r=h;break}}else{DJ(h,a,-1);r=h}while(0);if(!(f[r>>2]&16384)){f[i>>2]=1124007936;a=i+4|0;j=i+8|0;k=i+40|0;s=a;t=s+36|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(t|0));f[k>>2]=j;l=i+48|0;m=i+44|0;f[m>>2]=l;f[l>>2]=0;f[i+52>>2]=0;q=e+8|0;f[q>>2]=0;f[q+4>>2]=0;f[e>>2]=33619968;f[e+4>>2]=i;eM(h,e);q=i+36|0;o=f[q>>2]|0;if(o|0){v=o+12|0;f[v>>2]=(f[v>>2]|0)+1}v=h+36|0;o=f[v>>2]|0;if(o|0?(w=o+12|0,o=f[w>>2]|0,f[w>>2]=o+-1,(o|0)==1):0)XO(h);f[v>>2]=0;o=h+16|0;w=h+4|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;if((f[w>>2]|0)>0){x=f[h+40>>2]|0;y=0;do{f[x+(y<<2)>>2]=0;y=y+1|0;z=f[w>>2]|0}while((y|0)<(z|0));f[r>>2]=f[i>>2];if((z|0)<3)A=19;else A=21}else{f[r>>2]=f[i>>2];A=19}if((A|0)==19){z=f[a>>2]|0;if((z|0)<3){f[w>>2]=z;f[h+8>>2]=f[j>>2];f[h+12>>2]=f[i+12>>2];j=f[m>>2]|0;z=f[h+44>>2]|0;f[z>>2]=f[j>>2];f[z+4>>2]=f[j+4>>2]}else A=21}if((A|0)==21)WO(h,i);j=i+16|0;f[o>>2]=f[j>>2];f[h+20>>2]=f[i+20>>2];f[h+24>>2]=f[i+24>>2];f[h+28>>2]=f[i+28>>2];f[h+32>>2]=f[i+32>>2];o=f[q>>2]|0;f[v>>2]=o;if(o|0?(v=o+12|0,o=f[v>>2]|0,f[v>>2]=o+-1,(o|0)==1):0)XO(i);f[q>>2]=0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;if((f[a>>2]|0)>0){j=f[k>>2]|0;k=0;do{f[j+(k<<2)>>2]=0;k=k+1|0}while((k|0)<(f[a>>2]|0))}a=f[m>>2]|0;if((a|0)!=(l|0))dX(a)}a=jP(h,2,-1,1)|0;l=f[r>>2]|0;r=l&7;if((a|0)<0){m=jP(h,3,-1,1)|0;if((m|0)>-1){B=m;C=3;A=34}else{f[e>>2]=0;f[e+4>>2]=0;s=JV(e,12)|0;D=347185;t=s+12|0;do{b[s>>0]=b[D>>0]|0;s=s+1|0;D=D+1|0}while((s|0)<(t|0));EP(-215,e,347488,346618,1024);KV(e);E=m;F=3;A=35}}else{B=a;C=2;A=34}if((A|0)==34)if((r+-4|0)>>>0<3&(B|0)>-1){G=B;H=C}else{E=B;F=C;A=35}if((A|0)==35){f[e>>2]=0;f[e+4>>2]=0;s=JV(e,56)|0;D=347227;t=s+56|0;do{b[s>>0]=b[D>>0]|0;s=s+1|0;D=D+1|0}while((s|0)<(t|0));EP(-215,e,347488,346618,1027);KV(e);G=E;H=F}F=H<<3|r;vK(c,G,1,F,-1,0,0);do if((HJ(c)|0)==65536){r=f[c+4>>2]|0;f[e>>2]=f[r>>2];E=e+4|0;C=r+4|0;f[E>>2]=f[C>>2];B=e+8|0;f[B>>2]=f[r+8>>2];f[e+12>>2]=f[r+12>>2];f[e+16>>2]=f[r+16>>2];f[e+20>>2]=f[r+20>>2];f[e+24>>2]=f[r+24>>2];f[e+28>>2]=f[r+28>>2];f[e+32>>2]=f[r+32>>2];a=f[r+36>>2]|0;f[e+36>>2]=a;f[e+40>>2]=B;B=e+48|0;m=e+44|0;f[m>>2]=B;f[B>>2]=0;f[e+52>>2]=0;if(a|0){B=a+12|0;f[B>>2]=(f[B>>2]|0)+1}if((f[C>>2]|0)<3){C=f[r+44>>2]|0;B=f[m>>2]|0;f[B>>2]=f[C>>2];f[B+4>>2]=f[C+4>>2];I=e;break}else{f[E>>2]=0;WO(e,r);I=e;break}}else{DJ(e,c,-1);I=e}while(0);r=f[I>>2]|0;if(!(r&16384)){YJ(c);vK(c,G,1,F,-1,0,0);do if((HJ(c)|0)==65536){F=f[c+4>>2]|0;f[i>>2]=f[F>>2];E=i+4|0;C=F+4|0;f[E>>2]=f[C>>2];B=i+8|0;f[B>>2]=f[F+8>>2];f[i+12>>2]=f[F+12>>2];f[i+16>>2]=f[F+16>>2];f[i+20>>2]=f[F+20>>2];f[i+24>>2]=f[F+24>>2];f[i+28>>2]=f[F+28>>2];f[i+32>>2]=f[F+32>>2];m=i+36|0;a=f[F+36>>2]|0;f[m>>2]=a;f[i+40>>2]=B;B=i+48|0;k=i+44|0;f[k>>2]=B;f[B>>2]=0;f[i+52>>2]=0;if(a|0){B=a+12|0;f[B>>2]=(f[B>>2]|0)+1}if((f[C>>2]|0)<3){C=f[F+44>>2]|0;B=f[k>>2]|0;f[B>>2]=f[C>>2];f[B+4>>2]=f[C+4>>2];J=m;break}else{f[E>>2]=0;WO(i,F);J=m;break}}else{DJ(i,c,-1);J=i+36|0}while(0);c=f[J>>2]|0;if(c|0){m=c+12|0;f[m>>2]=(f[m>>2]|0)+1}m=e+36|0;c=f[m>>2]|0;if(c|0?(F=c+12|0,c=f[F>>2]|0,f[F>>2]=c+-1,(c|0)==1):0)XO(e);f[m>>2]=0;c=e+16|0;F=e+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[F>>2]|0)>0){E=f[e+40>>2]|0;C=0;do{f[E+(C<<2)>>2]=0;C=C+1|0;K=f[F>>2]|0}while((C|0)<(K|0));f[I>>2]=f[i>>2];if((K|0)<3)A=61;else A=63}else{f[I>>2]=f[i>>2];A=61}if((A|0)==61){K=f[i+4>>2]|0;if((K|0)<3){f[F>>2]=K;f[e+8>>2]=f[i+8>>2];f[e+12>>2]=f[i+12>>2];K=f[i+44>>2]|0;F=f[e+44>>2]|0;f[F>>2]=f[K>>2];f[F+4>>2]=f[K+4>>2]}else A=63}if((A|0)==63)WO(e,i);A=i+16|0;f[c>>2]=f[A>>2];f[e+20>>2]=f[i+20>>2];f[e+24>>2]=f[i+24>>2];f[e+28>>2]=f[i+28>>2];f[e+32>>2]=f[i+32>>2];c=f[J>>2]|0;f[m>>2]=c;if(c|0?(m=c+12|0,c=f[m>>2]|0,f[m>>2]=c+-1,(c|0)==1):0)XO(i);f[J>>2]=0;J=i+4|0;f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;f[A+12>>2]=0;if((f[J>>2]|0)>0){A=f[i+40>>2]|0;c=0;do{f[A+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[J>>2]|0))}J=f[i+44>>2]|0;if((J|0)!=(i+48|0))dX(J);L=f[I>>2]|0}else L=r;if(!(L&16384)){f[i>>2]=0;f[i+4>>2]=0;s=JV(i,18)|0;D=347284;t=s+18|0;do{b[s>>0]=b[D>>0]|0;s=s+1|0;D=D+1|0}while((s|0)<(t|0));EP(-215,i,347488,346618,1038);KV(i)}a:do switch(l&7){case 4:{D=f[h+16>>2]|0;if((H|0)==2){s=f[e+16>>2]|0;if((G|0)>0)M=0;else break a;do{t=f[D+(M<<3)+4>>2]|0;f[s+(M*12|0)>>2]=f[D+(M<<3)>>2];f[s+(M*12|0)+4>>2]=t;f[s+(M*12|0)+8>>2]=1;M=M+1|0}while((M|0)!=(G|0))}else{s=f[e+16>>2]|0;if((G|0)>0)N=0;else break a;do{t=f[D+(N*12|0)+4>>2]|0;L=f[D+(N*12|0)+8>>2]|0;f[s+(N<<4)>>2]=f[D+(N*12|0)>>2];f[s+(N<<4)+4>>2]=t;f[s+(N<<4)+8>>2]=L;f[s+(N<<4)+12>>2]=1;N=N+1|0}while((N|0)!=(G|0))}break}case 5:{s=f[h+16>>2]|0;if((H|0)==2){D=f[e+16>>2]|0;if((G|0)>0)O=0;else break a;do{L=f[s+(O<<3)+4>>2]|0;f[D+(O*12|0)>>2]=f[s+(O<<3)>>2];f[D+(O*12|0)+4>>2]=L;f[D+(O*12|0)+8>>2]=1065353216;O=O+1|0}while((O|0)!=(G|0))}else{D=f[e+16>>2]|0;if((G|0)>0)P=0;else break a;do{L=f[s+(P*12|0)+4>>2]|0;t=f[s+(P*12|0)+8>>2]|0;f[D+(P<<4)>>2]=f[s+(P*12|0)>>2];f[D+(P<<4)+4>>2]=L;f[D+(P<<4)+8>>2]=t;n[D+(P<<4)+12>>2]=1.0;P=P+1|0}while((P|0)!=(G|0))}break}case 6:{D=f[h+16>>2]|0;if((H|0)==2){s=f[e+16>>2]|0;if((G|0)>0)Q=0;else break a;do{R=+p[D+(Q<<4)+8>>3];p[s+(Q*24|0)>>3]=+p[D+(Q<<4)>>3];p[s+(Q*24|0)+8>>3]=R;p[s+(Q*24|0)+16>>3]=1.0;Q=Q+1|0}while((Q|0)!=(G|0))}else{s=f[e+16>>2]|0;if((G|0)>0)S=0;else break a;do{R=+p[D+(S*24|0)+8>>3];T=+p[D+(S*24|0)+16>>3];p[s+(S<<5)>>3]=+p[D+(S*24|0)>>3];p[s+(S<<5)+8>>3]=R;p[s+(S<<5)+16>>3]=T;p[s+(S<<5)+24>>3]=1.0;S=S+1|0}while((S|0)!=(G|0))}break}default:{f[i>>2]=0;f[i+4>>2]=0;EP(-210,i,347488,346618,1092);KV(i)}}while(0);i=e+36|0;G=f[i>>2]|0;if(G|0?(S=G+12|0,G=f[S>>2]|0,f[S>>2]=G+-1,(G|0)==1):0)XO(e);f[i>>2]=0;i=e+16|0;G=e+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[G>>2]|0)>0){i=f[e+40>>2]|0;S=0;do{f[i+(S<<2)>>2]=0;S=S+1|0}while((S|0)<(f[G>>2]|0))}G=f[e+44>>2]|0;if((G|0)!=(e+48|0))dX(G);G=h+36|0;e=f[G>>2]|0;if(e|0?(S=e+12|0,e=f[S>>2]|0,f[S>>2]=e+-1,(e|0)==1):0)XO(h);f[G>>2]=0;G=h+16|0;e=h+4|0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;if((f[e>>2]|0)>0){G=f[h+40>>2]|0;S=0;do{f[G+(S<<2)>>2]=0;S=S+1|0}while((S|0)<(f[e>>2]|0))}e=f[h+44>>2]|0;if((e|0)!=(h+48|0))dX(e);if(!(f[g+4>>2]|0)){u=d;return}u=d;return}function kxa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=u;u=u+16|0;h=g;i=a+104|0;j=a;k=j+80|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[h>>2]=f[d>>2];f[h+4>>2]=f[d+4>>2];f[h+8>>2]=f[d+8>>2];f[h+12>>2]=f[d+12>>2];lxa(a,b,c,h,e);u=g;return}function lxa(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0,D=0,E=0.0;h=u;u=u+64|0;i=h+32|0;j=h;k=g&1;g=a+16|0;l=a+20|0;m=f[l>>2]|0;if((m|0)!=0?(f[m+20>>2]|0)==(c|0):0){m=f[a+36>>2]|0;if(!m)n=0;else n=f[m+20>>2]|0;if((n|0)!=(d|0))o=6}else o=6;if((o|0)==6)mxa(a);o=LV(c,1,0)|0;if(!o)q=0;else{n=EQa(16)|0;f[n+4>>2]=1;f[n>>2]=58280;f[n+8>>2]=o;q=n}n=f[a>>2]|0;f[a>>2]=q;q=a+4|0;f[q>>2]=o;if(n|0?(o=n+4|0,m=f[o>>2]|0,f[o>>2]=m+-1,(m|0)==1):0)qg[f[(f[n>>2]|0)+8>>2]&1023](n);n=f[q>>2]|0;p[j>>3]=1.0;p[j+8>>3]=1.0;p[j+16>>3]=1.0;p[j+24>>3]=1.0;f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];f[i+8>>2]=f[j+8>>2];f[i+12>>2]=f[j+12>>2];f[i+16>>2]=f[j+16>>2];f[i+20>>2]=f[j+20>>2];f[i+24>>2]=f[j+24>>2];f[i+28>>2]=f[j+28>>2];oM(n,i,0);i=a+8|0;n=LV(c,1,6)|0;if(!n)r=0;else{j=EQa(16)|0;f[j+4>>2]=1;f[j>>2]=58280;f[j+8>>2]=n;r=j}j=f[i>>2]|0;f[i>>2]=r;f[a+12>>2]=n;if(j|0?(n=j+4|0,r=f[n>>2]|0,f[n>>2]=r+-1,(r|0)==1):0)qg[f[(f[j>>2]|0)+8>>2]&1023](j);j=LV(c,1,6)|0;if(!j)s=0;else{r=EQa(16)|0;f[r+4>>2]=1;f[r>>2]=58280;f[r+8>>2]=j;s=r}r=f[g>>2]|0;f[g>>2]=s;f[l>>2]=j;if(r|0?(j=r+4|0,l=f[j>>2]|0,f[j>>2]=l+-1,(l|0)==1):0)qg[f[(f[r>>2]|0)+8>>2]&1023](r);r=a+40|0;l=LV(c,c,6)|0;if(!l)t=0;else{j=EQa(16)|0;f[j+4>>2]=1;f[j>>2]=58280;f[j+8>>2]=l;t=j}j=f[r>>2]|0;f[r>>2]=t;f[a+44>>2]=l;if(j|0?(l=j+4|0,t=f[l>>2]|0,f[l>>2]=t+-1,(t|0)==1):0)qg[f[(f[j>>2]|0)+8>>2]&1023](j);j=a+56|0;t=LV(c,1,6)|0;if(!t)v=0;else{l=EQa(16)|0;f[l+4>>2]=1;f[l>>2]=58280;f[l+8>>2]=t;v=l}l=f[j>>2]|0;f[j>>2]=v;f[a+60>>2]=t;if(l|0?(t=l+4|0,v=f[t>>2]|0,f[t>>2]=v+-1,(v|0)==1):0)qg[f[(f[l>>2]|0)+8>>2]&1023](l);if((d|0)>0){l=a+24|0;v=LV(d,c,6)|0;if(!v)w=0;else{c=EQa(16)|0;f[c+4>>2]=1;f[c>>2]=58280;f[c+8>>2]=v;w=c}c=f[l>>2]|0;f[l>>2]=w;f[a+28>>2]=v;if(c|0?(v=c+4|0,w=f[v>>2]|0,f[v>>2]=w+-1,(w|0)==1):0)qg[f[(f[c>>2]|0)+8>>2]&1023](c);c=a+32|0;w=LV(d,1,6)|0;if(!w)x=0;else{d=EQa(16)|0;f[d+4>>2]=1;f[d>>2]=58280;f[d+8>>2]=w;x=d}d=f[c>>2]|0;f[c>>2]=x;f[a+36>>2]=w;if(d|0?(w=d+4|0,x=f[w>>2]|0,f[w>>2]=x+-1,(x|0)==1):0)qg[f[(f[d>>2]|0)+8>>2]&1023](d)}p[a+80>>3]=1797693134862315708145274.0e284;p[a+88>>3]=1797693134862315708145274.0e284;f[a+96>>2]=-3;d=a+104|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=f[d>>2]|0;d=a+108|0;if(!(e&1))y=30;else{x=f[d>>2]|0;w=(x|0)>1?x:1;y=(w|0)<1e3?w:1e3}f[d>>2]=y;y=a+112|0;if(!(e&2)){z=2.220446049250313e-16;p[y>>3]=z;A=a+120|0;f[A>>2]=1;B=a+124|0;f[B>>2]=0;C=a+128|0;b[C>>0]=k;D=a+132|0;f[D>>2]=1;u=h;return}E=+p[y>>3];z=E<0.0?0.0:E;p[y>>3]=z;A=a+120|0;f[A>>2]=1;B=a+124|0;f[B>>2]=0;C=a+128|0;b[C>>0]=k;D=a+132|0;f[D>>2]=1;u=h;return}function mxa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;b=f[a>>2]|0;if(b|0?(c=b+4|0,d=f[c>>2]|0,f[c>>2]=d+-1,(d|0)==1):0)qg[f[(f[b>>2]|0)+8>>2]&1023](b);f[a>>2]=0;f[a+4>>2]=0;b=a+8|0;d=f[b>>2]|0;if(d|0?(c=d+4|0,e=f[c>>2]|0,f[c>>2]=e+-1,(e|0)==1):0)qg[f[(f[d>>2]|0)+8>>2]&1023](d);f[b>>2]=0;f[a+12>>2]=0;b=a+16|0;d=f[b>>2]|0;if(d|0?(e=d+4|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)qg[f[(f[d>>2]|0)+8>>2]&1023](d);f[b>>2]=0;f[a+20>>2]=0;b=a+24|0;d=f[b>>2]|0;if(d|0?(c=d+4|0,e=f[c>>2]|0,f[c>>2]=e+-1,(e|0)==1):0)qg[f[(f[d>>2]|0)+8>>2]&1023](d);f[b>>2]=0;f[a+28>>2]=0;b=a+32|0;d=f[b>>2]|0;if(d|0?(e=d+4|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)qg[f[(f[d>>2]|0)+8>>2]&1023](d);f[b>>2]=0;f[a+36>>2]=0;b=a+40|0;d=f[b>>2]|0;if(d|0?(c=d+4|0,e=f[c>>2]|0,f[c>>2]=e+-1,(e|0)==1):0)qg[f[(f[d>>2]|0)+8>>2]&1023](d);f[b>>2]=0;f[a+44>>2]=0;b=a+48|0;d=f[b>>2]|0;if(d|0?(e=d+4|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)qg[f[(f[d>>2]|0)+8>>2]&1023](d);f[b>>2]=0;f[a+52>>2]=0;b=a+56|0;d=f[b>>2]|0;if(d|0?(c=d+4|0,e=f[c>>2]|0,f[c>>2]=e+-1,(e|0)==1):0)qg[f[(f[d>>2]|0)+8>>2]&1023](d);f[b>>2]=0;f[a+60>>2]=0;b=a+64|0;d=f[b>>2]|0;if(d|0?(e=d+4|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)qg[f[(f[d>>2]|0)+8>>2]&1023](d);f[b>>2]=0;f[a+68>>2]=0;b=a+72|0;d=f[b>>2]|0;if(!d){f[b>>2]=0;g=a+76|0;f[g>>2]=0;return}c=d+4|0;e=f[c>>2]|0;f[c>>2]=e+-1;if((e|0)!=1){f[b>>2]=0;g=a+76|0;f[g>>2]=0;return}qg[f[(f[d>>2]|0)+8>>2]&1023](d);f[b>>2]=0;g=a+76|0;f[g>>2]=0;return}function nxa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;mxa(a);b=a+72|0;c=f[b>>2]|0;if(c|0?(d=c+4|0,e=f[d>>2]|0,f[d>>2]=e+-1,(e|0)==1):0)qg[f[(f[c>>2]|0)+8>>2]&1023](c);f[b>>2]=0;f[a+76>>2]=0;b=a+64|0;c=f[b>>2]|0;if(c|0?(e=c+4|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)qg[f[(f[c>>2]|0)+8>>2]&1023](c);f[b>>2]=0;f[a+68>>2]=0;b=a+56|0;c=f[b>>2]|0;if(c|0?(d=c+4|0,e=f[d>>2]|0,f[d>>2]=e+-1,(e|0)==1):0)qg[f[(f[c>>2]|0)+8>>2]&1023](c);f[b>>2]=0;f[a+60>>2]=0;b=a+48|0;c=f[b>>2]|0;if(c|0?(e=c+4|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)qg[f[(f[c>>2]|0)+8>>2]&1023](c);f[b>>2]=0;f[a+52>>2]=0;b=a+40|0;c=f[b>>2]|0;if(c|0?(d=c+4|0,e=f[d>>2]|0,f[d>>2]=e+-1,(e|0)==1):0)qg[f[(f[c>>2]|0)+8>>2]&1023](c);f[b>>2]=0;f[a+44>>2]=0;b=a+32|0;c=f[b>>2]|0;if(c|0?(e=c+4|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)qg[f[(f[c>>2]|0)+8>>2]&1023](c);f[b>>2]=0;f[a+36>>2]=0;b=a+24|0;c=f[b>>2]|0;if(c|0?(d=c+4|0,e=f[d>>2]|0,f[d>>2]=e+-1,(e|0)==1):0)qg[f[(f[c>>2]|0)+8>>2]&1023](c);f[b>>2]=0;f[a+28>>2]=0;b=a+16|0;c=f[b>>2]|0;if(c|0?(e=c+4|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)qg[f[(f[c>>2]|0)+8>>2]&1023](c);f[b>>2]=0;f[a+20>>2]=0;b=a+8|0;c=f[b>>2]|0;if(c|0?(d=c+4|0,e=f[d>>2]|0,f[d>>2]=e+-1,(e|0)==1):0)qg[f[(f[c>>2]|0)+8>>2]&1023](c);f[b>>2]=0;f[a+12>>2]=0;b=f[a>>2]|0;if(!b){f[a>>2]=0;g=a+4|0;f[g>>2]=0;return}c=b+4|0;e=f[c>>2]|0;f[c>>2]=e+-1;if((e|0)!=1){f[a>>2]=0;g=a+4|0;f[g>>2]=0;return}qg[f[(f[b>>2]|0)+8>>2]&1023](b);f[a>>2]=0;g=a+4|0;f[g>>2]=0;return}function oxa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0;f[d>>2]=0;f[c>>2]=0;e=a+120|0;switch(f[e>>2]|0){case 0:{f[b>>2]=f[a+20>>2];g=0;return g|0}case 1:{f[b>>2]=f[a+20>>2];h=a+28|0;pM(f[h>>2]|0);i=a+36|0;pM(f[i>>2]|0);f[c>>2]=f[h>>2];f[d>>2]=f[i>>2];f[e>>2]=2;g=1;return g|0}case 2:{i=a+28|0;vD(f[i>>2]|0,f[a+44>>2]|0,1,0,1.0);h=a+36|0;uD(f[i>>2]|0,f[h>>2]|0,1.0,0,0.0,f[a+60>>2]|0,1);i=a+20|0;nM(f[i>>2]|0,f[a+12>>2]|0,0);pxa(a);if(!(f[a+124>>2]|0)){j=+_Aa(f[h>>2]|0,0,4,0);p[a+80>>3]=j}f[b>>2]=f[i>>2];pM(f[h>>2]|0);f[d>>2]=f[h>>2];f[e>>2]=3;g=1;return g|0}default:{h=a+36|0;j=+_Aa(f[h>>2]|0,0,4,0);i=a+88|0;p[i>>3]=j;k=a+80|0;l=a+96|0;m=f[l>>2]|0;if(j>+p[k>>3]){n=m+1|0;f[l>>2]=n;if((m|0)<16){pxa(a);f[b>>2]=f[a+20>>2];pM(f[h>>2]|0);f[d>>2]=f[h>>2];f[e>>2]=3;g=1;return g|0}else o=n}else o=m;f[l>>2]=(o|0)<-15?-16:o+-1|0;o=a+124|0;l=(f[o>>2]|0)+1|0;f[o>>2]=l;o=a+20|0;if((l|0)<(f[a+108>>2]|0)?(j=+_Aa(f[o>>2]|0,f[a+12>>2]|0,12,0),!(j<+p[a+112>>3])):0){p[k>>3]=+p[i>>3];f[b>>2]=f[o>>2];i=a+28|0;pM(f[i>>2]|0);f[c>>2]=f[i>>2];f[d>>2]=f[h>>2];f[e>>2]=2;g=1;return g|0}f[b>>2]=f[o>>2];f[e>>2]=0;g=1;return g|0}}return 0}function pxa(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0,E=0;c=u;u=u+432|0;d=c+368|0;e=c+312|0;g=c+256|0;h=c+200|0;i=c+144|0;j=c+88|0;k=c+32|0;l=c+16|0;m=c;n=+U(+(+(f[a+96>>2]|0)*2.302585092994046));o=a+20|0;q=f[(f[o>>2]|0)+20>>2]|0;NY(e,f[a+44>>2]|0,0,1,0,0);r=a+4|0;NY(g,f[r>>2]|0,0,1,0,0);f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=g;s=WE(d)|0;t=a+48|0;v=a+52|0;w=f[v>>2]|0;if(!((w|0)!=0?(f[w+20>>2]|0)==(s|0):0)){w=LV(s,s,6)|0;if(!w)x=0;else{y=EQa(16)|0;f[y+4>>2]=1;f[y>>2]=58280;f[y+8>>2]=w;x=y}y=f[t>>2]|0;f[t>>2]=x;f[v>>2]=w;if(y|0?(w=y+4|0,x=f[w>>2]|0,f[w>>2]=x+-1,(x|0)==1):0)qg[f[(f[y>>2]|0)+8>>2]&1023](y);y=LV(s,1,6)|0;x=a+64|0;if(!y)z=0;else{w=EQa(16)|0;f[w+4>>2]=1;f[w>>2]=58280;f[w+8>>2]=y;z=w}w=f[x>>2]|0;f[x>>2]=z;f[a+68>>2]=y;if(w|0?(y=w+4|0,z=f[y>>2]|0,f[y>>2]=z+-1,(z|0)==1):0)qg[f[(f[w>>2]|0)+8>>2]&1023](w);w=LV(s,1,6)|0;s=a+72|0;if(!w)A=0;else{z=EQa(16)|0;f[z+4>>2]=1;f[z>>2]=58280;f[z+8>>2]=w;A=z}z=f[s>>2]|0;f[s>>2]=A;f[a+76>>2]=w;if(z|0?(w=z+4|0,A=f[w>>2]|0,f[w>>2]=A+-1,(A|0)==1):0)qg[f[(f[z>>2]|0)+8>>2]&1023](z)}NY(h,f[v>>2]|0,0,1,0,0);NY(i,f[a+68>>2]|0,0,1,0,0);NY(d,f[a+76>>2]|0,0,1,0,0);_9(j,d);v=d+36|0;z=f[v>>2]|0;if(z|0?(A=z+12|0,z=f[A>>2]|0,f[A>>2]=z+-1,(z|0)==1):0)XO(d);f[v>>2]=0;v=d+16|0;z=d+4|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;if((f[z>>2]|0)>0){v=f[d+40>>2]|0;A=0;do{f[v+(A<<2)>>2]=0;A=A+1|0}while((A|0)<(f[z>>2]|0))}z=f[d+44>>2]|0;if((z|0)!=(d+48|0))dX(z);NY(k,f[a+60>>2]|0,0,1,0,0);f[l>>2]=0;z=l+4|0;f[z>>2]=0;f[l+8>>2]=0;A=EQa(1)|0;f[l>>2]=A;v=A+1|0;f[l+8>>2]=v;b[A>>0]=1;f[z>>2]=v;f[m>>2]=0;v=m+4|0;f[v>>2]=0;f[m+8>>2]=0;A=d+8|0;f[A>>2]=0;f[A+4>>2]=0;f[d>>2]=-2113732608;f[d+4>>2]=m;eM(g,d);qxa(k,i,l,m);A=f[m>>2]|0;if(A|0){if((f[v>>2]|0)!=(A|0))f[v>>2]=A;GQa(A)}A=f[l>>2]|0;if(A|0){if((f[z>>2]|0)!=(A|0))f[z>>2]=A;GQa(A)}A=k+36|0;z=f[A>>2]|0;if(z|0?(v=z+12|0,z=f[v>>2]|0,f[v>>2]=z+-1,(z|0)==1):0)XO(k);f[A>>2]=0;A=k+16|0;z=k+4|0;f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;f[A+12>>2]=0;if((f[z>>2]|0)>0){A=f[k+40>>2]|0;v=0;do{f[A+(v<<2)>>2]=0;v=v+1|0}while((v|0)<(f[z>>2]|0))}z=f[k+44>>2]|0;if((z|0)!=(k+48|0))dX(z);f[k>>2]=0;z=k+4|0;f[z>>2]=0;f[k+8>>2]=0;v=d+8|0;f[v>>2]=0;f[v+4>>2]=0;f[d>>2]=-2113732608;f[d+4>>2]=k;eM(g,d);f[l>>2]=0;v=l+4|0;f[v>>2]=0;f[l+8>>2]=0;A=d+8|0;f[A>>2]=0;f[A+4>>2]=0;f[d>>2]=-2113732608;f[d+4>>2]=l;eM(g,d);qxa(e,h,k,l);A=f[l>>2]|0;if(A|0){if((f[v>>2]|0)!=(A|0))f[v>>2]=A;GQa(A)}A=f[k>>2]|0;if(A|0){if((f[z>>2]|0)!=(A|0))f[z>>2]=A;GQa(A)}if(!(f[a+36>>2]|0)){A=d+8|0;f[A>>2]=0;f[A+4>>2]=0;f[d>>2]=50397184;f[d+4>>2]=h;YD(d,(b[a+128>>0]|0)!=0)}bP(k,h,0);A=d+8|0;f[A>>2]=0;f[A+4>>2]=0;f[d>>2]=-1040121856;f[d+4>>2]=k;AO(k,d,-1,n+1.0,0.0);A=k+36|0;z=f[A>>2]|0;if(z|0?(v=z+12|0,z=f[v>>2]|0,f[v>>2]=z+-1,(z|0)==1):0)XO(k);f[A>>2]=0;A=k+16|0;z=k+4|0;f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;f[A+12>>2]=0;if((f[z>>2]|0)>0){A=f[k+40>>2]|0;v=0;do{f[A+(v<<2)>>2]=0;v=v+1|0}while((v|0)<(f[z>>2]|0))}z=f[k+44>>2]|0;if((z|0)!=(k+48|0))dX(z);f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=h;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=i;z=l+8|0;f[z>>2]=0;f[z+4>>2]=0;f[l>>2]=-2113863674;f[l+4>>2]=j;UR(d,k,l,f[a+132>>2]|0)|0;if((q|0)>0){l=j+40|0;k=j+16|0;d=j+44|0;z=j+12|0;v=(f[a+12>>2]|0)+16|0;a=(f[r>>2]|0)+16|0;r=0;A=0;while(1){n=+p[(f[v>>2]|0)+(r<<3)>>3];if(!(b[(f[a>>2]|0)+r>>0]|0)){B=A;C=0.0}else{do if(!(f[j>>2]&16384)){m=f[l>>2]|0;if((f[m>>2]|0)==1){D=73;break}if((f[m+4>>2]|0)==1){E=(f[k>>2]|0)+(X(f[f[d>>2]>>2]|0,A)|0)|0;break}else{m=f[z>>2]|0;w=(A|0)/(m|0)|0;s=A-(X(w,m)|0)|0;E=(f[k>>2]|0)+(X(f[f[d>>2]>>2]|0,w)|0)+(s<<3)|0;break}}else D=73;while(0);if((D|0)==73){D=0;E=(f[k>>2]|0)+(A<<3)|0}B=A+1|0;C=+p[E>>3]}p[(f[(f[o>>2]|0)+16>>2]|0)+(r<<3)>>3]=n-C;r=r+1|0;if((r|0)==(q|0))break;else A=B}}B=j+36|0;A=f[B>>2]|0;if(A|0?(q=A+12|0,A=f[q>>2]|0,f[q>>2]=A+-1,(A|0)==1):0)XO(j);f[B>>2]=0;B=j+16|0;A=j+4|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;if((f[A>>2]|0)>0){B=f[j+40>>2]|0;q=0;do{f[B+(q<<2)>>2]=0;q=q+1|0}while((q|0)<(f[A>>2]|0))}A=f[j+44>>2]|0;if((A|0)!=(j+48|0))dX(A);A=i+36|0;j=f[A>>2]|0;do if(j|0){q=j+12|0;B=f[q>>2]|0;f[q>>2]=B+-1;if((B|0)!=1)break;XO(i)}while(0);f[A>>2]=0;A=i+16|0;j=i+4|0;f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;f[A+12>>2]=0;if((f[j>>2]|0)>0){A=f[i+40>>2]|0;B=0;do{f[A+(B<<2)>>2]=0;B=B+1|0}while((B|0)<(f[j>>2]|0))}j=f[i+44>>2]|0;if((j|0)!=(i+48|0))dX(j);j=h+36|0;i=f[j>>2]|0;do if(i|0){B=i+12|0;A=f[B>>2]|0;f[B>>2]=A+-1;if((A|0)!=1)break;XO(h)}while(0);f[j>>2]=0;j=h+16|0;i=h+4|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;if((f[i>>2]|0)>0){j=f[h+40>>2]|0;A=0;do{f[j+(A<<2)>>2]=0;A=A+1|0}while((A|0)<(f[i>>2]|0))}i=f[h+44>>2]|0;if((i|0)!=(h+48|0))dX(i);i=g+36|0;h=f[i>>2]|0;do if(h|0){A=h+12|0;j=f[A>>2]|0;f[A>>2]=j+-1;if((j|0)!=1)break;XO(g)}while(0);f[i>>2]=0;i=g+16|0;h=g+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[h>>2]|0)>0){i=f[g+40>>2]|0;j=0;do{f[i+(j<<2)>>2]=0;j=j+1|0}while((j|0)<(f[h>>2]|0))}h=f[g+44>>2]|0;if((h|0)!=(g+48|0))dX(h);h=e+36|0;g=f[h>>2]|0;do if(g|0){j=g+12|0;i=f[j>>2]|0;f[j>>2]=i+-1;if((i|0)!=1)break;XO(e)}while(0);f[h>>2]=0;h=e+16|0;g=e+4|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;if((f[g>>2]|0)>0){h=f[e+40>>2]|0;i=0;do{f[h+(i<<2)>>2]=0;i=i+1|0}while((i|0)<(f[g>>2]|0))}g=f[e+44>>2]|0;if((g|0)==(e+48|0)){u=c;return}dX(g);u=c;return}function qxa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;g=u;u=u+272|0;h=g+248|0;i=g+240|0;j=g+72|0;k=g+184|0;l=g+56|0;m=g;n=g+128|0;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=-2130509824;f[h+4>>2]=d;o=WE(h)|0;p=f[a+8>>2]|0;f[j>>2]=1124007936;q=j+4|0;r=j+8|0;s=j+40|0;t=q;v=t+36|0;do{f[t>>2]=0;t=t+4|0}while((t|0)<(v|0));f[s>>2]=r;r=j+48|0;t=j+44|0;f[t>>2]=r;f[r>>2]=0;f[j+52>>2]=0;f[h>>2]=p;p=h+4|0;f[p>>2]=o;VO(j,2,h,6);v=d+4|0;w=f[d>>2]|0;if(((f[v>>2]|0)-w|0)>0){x=h+4|0;y=i+4|0;z=h+4|0;A=i+4|0;B=l+8|0;C=l+4|0;D=m+36|0;E=m+16|0;F=m+4|0;G=m+40|0;H=m+44|0;I=m+48|0;J=k+36|0;K=k+16|0;L=k+4|0;M=k+40|0;N=k+44|0;O=k+48|0;P=0;Q=0;R=w;while(1){if(b[R+Q>>0]|0){f[h>>2]=-2147483648;f[x>>2]=2147483647;w=Q+1|0;f[i>>2]=Q;f[y>>2]=w;YO(k,a,h,i);S=P+1|0;f[h>>2]=-2147483648;f[z>>2]=2147483647;f[i>>2]=P;f[A>>2]=S;YO(m,j,h,i);T=B;f[T>>2]=0;f[T+4>>2]=0;f[l>>2]=-1040121856;f[C>>2]=m;eM(k,l);T=f[D>>2]|0;if(T|0?(U=T+12|0,T=f[U>>2]|0,f[U>>2]=T+-1,(T|0)==1):0)XO(m);f[D>>2]=0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;if((f[F>>2]|0)>0){T=f[G>>2]|0;U=0;do{f[T+(U<<2)>>2]=0;U=U+1|0}while((U|0)<(f[F>>2]|0))}U=f[H>>2]|0;if((U|0)!=(I|0))dX(U);U=f[J>>2]|0;if(U|0?(T=U+12|0,U=f[T>>2]|0,f[T>>2]=U+-1,(U|0)==1):0)XO(k);f[J>>2]=0;f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0;f[K+12>>2]=0;if((f[L>>2]|0)>0){U=f[M>>2]|0;T=0;do{f[U+(T<<2)>>2]=0;T=T+1|0}while((T|0)<(f[L>>2]|0))}T=f[N>>2]|0;if((T|0)==(O|0)){V=S;W=w}else{dX(T);V=S;W=w}}else{V=P;W=Q+1|0}R=f[d>>2]|0;if((W|0)>=((f[v>>2]|0)-R|0))break;else{P=V;Q=W}}}f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=-2130509824;f[h+4>>2]=e;W=WE(h)|0;if(!(((((f[c+4>>2]|0)<3?(f[c+8>>2]|0)==(W|0):0)?(f[c+12>>2]|0)==(o|0):0)?(f[c>>2]&4095|0)==6:0)?(f[c+16>>2]|0)!=0:0)){f[h>>2]=W;f[p>>2]=o;VO(c,2,h,6)}o=e+4|0;p=f[e>>2]|0;if(((f[o>>2]|0)-p|0)>0){W=h+4|0;Q=i+4|0;V=h+4|0;P=i+4|0;R=l+8|0;v=l+4|0;d=m+36|0;O=m+16|0;N=m+4|0;L=m+40|0;M=m+44|0;K=m+48|0;J=n+36|0;k=n+16|0;I=n+4|0;H=n+40|0;F=n+44|0;G=n+48|0;E=0;D=0;C=p;while(1){if(b[C+D>>0]|0){p=D+1|0;f[h>>2]=D;f[W>>2]=p;f[i>>2]=-2147483648;f[Q>>2]=2147483647;YO(n,j,h,i);B=E+1|0;f[h>>2]=E;f[V>>2]=B;f[i>>2]=-2147483648;f[P>>2]=2147483647;YO(m,c,h,i);A=R;f[A>>2]=0;f[A+4>>2]=0;f[l>>2]=-1040121856;f[v>>2]=m;eM(n,l);A=f[d>>2]|0;if(A|0?(z=A+12|0,A=f[z>>2]|0,f[z>>2]=A+-1,(A|0)==1):0)XO(m);f[d>>2]=0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[O+12>>2]=0;if((f[N>>2]|0)>0){A=f[L>>2]|0;z=0;do{f[A+(z<<2)>>2]=0;z=z+1|0}while((z|0)<(f[N>>2]|0))}z=f[M>>2]|0;if((z|0)!=(K|0))dX(z);z=f[J>>2]|0;if(z|0?(A=z+12|0,z=f[A>>2]|0,f[A>>2]=z+-1,(z|0)==1):0)XO(n);f[J>>2]=0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;if((f[I>>2]|0)>0){z=f[H>>2]|0;A=0;do{f[z+(A<<2)>>2]=0;A=A+1|0}while((A|0)<(f[I>>2]|0))}A=f[F>>2]|0;if((A|0)==(G|0)){X=B;Y=p}else{dX(A);X=B;Y=p}}else{X=E;Y=D+1|0}C=f[e>>2]|0;if((Y|0)>=((f[o>>2]|0)-C|0))break;else{E=X;D=Y}}}Y=j+36|0;D=f[Y>>2]|0;if(D|0?(X=D+12|0,D=f[X>>2]|0,f[X>>2]=D+-1,(D|0)==1):0)XO(j);f[Y>>2]=0;Y=j+16|0;f[Y>>2]=0;f[Y+4>>2]=0;f[Y+8>>2]=0;f[Y+12>>2]=0;if((f[q>>2]|0)>0){Y=f[s>>2]|0;s=0;do{f[Y+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[q>>2]|0))}q=f[t>>2]|0;if((q|0)==(r|0)){u=g;return}dX(q);u=g;return}function rxa(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;i=+i;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,v=0,w=0,x=0;j=u;u=u+384|0;k=j+328|0;l=j+272|0;m=j+216|0;n=j+160|0;o=j+104|0;p=j+48|0;q=j+32|0;r=j;NY(k,a,0,1,0,0);NY(l,b,0,1,0,0);if(((f[k>>2]&4088|0)==0?(f[k+8>>2]&-2|0)==2:0)?(f[k+12>>2]|0)>3:0){f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=k;b=n+8|0;f[b>>2]=0;f[b+4>>2]=0;f[n>>2]=33619968;f[n+4>>2]=k;DD(m,n)}if(((f[l>>2]&4088|0)==0?(f[l+8>>2]&-2|0)==2:0)?(f[l+12>>2]|0)>3:0){f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=l;b=n+8|0;f[b>>2]=0;f[b+4>>2]=0;f[n>>2]=33619968;f[n+4>>2]=l;DD(m,n)}b=(h|0)>0?h:0;s=i<0.0?0.0:i;NY(m,c,0,1,0,0);NY(n,g,0,1,0,0);f[p+8>>2]=0;f[p+12>>2]=0;f[p>>2]=16842752;f[p+4>>2]=k;f[q+8>>2]=0;f[q+12>>2]=0;f[q>>2]=16842752;f[q+4>>2]=l;h=r+8|0;f[h>>2]=0;f[h+4>>2]=0;if(!g){f[r>>2]=33554432;f[r+4>>2]=0}else{f[r>>2]=-1040121856;f[r+4>>2]=n}Wwa(o,p,q,d,e,r,(b|0)<2e3?b:2e3,s>1.0?1.0:s);b=o+16|0;if(f[b>>2]|0){d=f[o+4>>2]|0;if((d|0)<3)t=X(f[o+12>>2]|0,f[o+8>>2]|0)|0;else{g=f[o+40>>2]|0;h=0;a=1;while(1){v=X(f[g+(h<<2)>>2]|0,a)|0;h=h+1|0;if((h|0)==(d|0)){t=v;break}else a=v}}if(!((d|0)==0|(t|0)==0)){t=p+8|0;f[t>>2]=0;f[t+4>>2]=0;f[p>>2]=-1040121856;f[p+4>>2]=m;AO(o,p,f[m>>2]&4095,1.0,0.0);w=1}else x=18}else x=18;if((x|0)==18){NY(p,c,0,1,0,0);f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;f[r+16>>2]=0;f[r+20>>2]=0;f[r+24>>2]=0;f[r+28>>2]=0;f[q>>2]=-1056833530;f[q+4>>2]=r;f[q+8>>2]=1;f[q+12>>2]=4;hM(p,q,BK()|0)|0;q=p+36|0;r=f[q>>2]|0;if(r|0?(c=r+12|0,r=f[c>>2]|0,f[c>>2]=r+-1,(r|0)==1):0)XO(p);f[q>>2]=0;q=p+16|0;r=p+4|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;if((f[r>>2]|0)>0){q=f[p+40>>2]|0;c=0;do{f[q+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[r>>2]|0))}r=f[p+44>>2]|0;if((r|0)!=(p+48|0))dX(r);w=0}r=o+36|0;p=f[r>>2]|0;if(p|0?(c=p+12|0,p=f[c>>2]|0,f[c>>2]=p+-1,(p|0)==1):0)XO(o);f[r>>2]=0;r=o+4|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[r>>2]|0)>0){b=f[o+40>>2]|0;p=0;do{f[b+(p<<2)>>2]=0;p=p+1|0}while((p|0)<(f[r>>2]|0))}r=f[o+44>>2]|0;if((r|0)!=(o+48|0))dX(r);r=n+36|0;o=f[r>>2]|0;if(o|0?(p=o+12|0,o=f[p>>2]|0,f[p>>2]=o+-1,(o|0)==1):0)XO(n);f[r>>2]=0;r=n+16|0;o=n+4|0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;if((f[o>>2]|0)>0){r=f[n+40>>2]|0;p=0;do{f[r+(p<<2)>>2]=0;p=p+1|0}while((p|0)<(f[o>>2]|0))}o=f[n+44>>2]|0;if((o|0)!=(n+48|0))dX(o);o=m+36|0;n=f[o>>2]|0;if(n|0?(p=n+12|0,n=f[p>>2]|0,f[p>>2]=n+-1,(n|0)==1):0)XO(m);f[o>>2]=0;o=m+16|0;n=m+4|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;if((f[n>>2]|0)>0){o=f[m+40>>2]|0;p=0;do{f[o+(p<<2)>>2]=0;p=p+1|0}while((p|0)<(f[n>>2]|0))}n=f[m+44>>2]|0;if((n|0)!=(m+48|0))dX(n);n=l+36|0;m=f[n>>2]|0;if(m|0?(p=m+12|0,m=f[p>>2]|0,f[p>>2]=m+-1,(m|0)==1):0)XO(l);f[n>>2]=0;n=l+16|0;m=l+4|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;if((f[m>>2]|0)>0){n=f[l+40>>2]|0;p=0;do{f[n+(p<<2)>>2]=0;p=p+1|0}while((p|0)<(f[m>>2]|0))}m=f[l+44>>2]|0;if((m|0)!=(l+48|0))dX(m);m=k+36|0;l=f[m>>2]|0;if(l|0?(p=l+12|0,l=f[p>>2]|0,f[p>>2]=l+-1,(l|0)==1):0)XO(k);f[m>>2]=0;m=k+16|0;l=k+4|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;if((f[l>>2]|0)>0){m=f[k+40>>2]|0;p=0;do{f[m+(p<<2)>>2]=0;p=p+1|0}while((p|0)<(f[l>>2]|0))}l=f[k+44>>2]|0;if((l|0)==(k+48|0)){u=j;return w|0}dX(l);u=j;return w|0}function sxa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;d=u;u=u+240|0;e=d+184|0;g=d+128|0;h=d+72|0;i=d+16|0;j=d;NY(e,a,0,1,0,0);NY(g,c,0,1,0,0);f[h>>2]=f[g>>2];c=h+4|0;a=g+4|0;k=f[a>>2]|0;f[c>>2]=k;l=h+8|0;m=g+8|0;f[l>>2]=f[m>>2];n=h+12|0;o=g+12|0;f[n>>2]=f[o>>2];p=h+16|0;q=g+16|0;f[p>>2]=f[q>>2];r=g+20|0;f[h+20>>2]=f[r>>2];s=g+24|0;f[h+24>>2]=f[s>>2];t=g+28|0;f[h+28>>2]=f[t>>2];v=g+32|0;f[h+32>>2]=f[v>>2];w=h+36|0;x=g+36|0;y=f[x>>2]|0;f[w>>2]=y;z=h+40|0;f[z>>2]=l;A=h+48|0;B=h+44|0;f[B>>2]=A;f[A>>2]=0;f[h+52>>2]=0;if(!y)C=k;else{k=y+12|0;f[k>>2]=(f[k>>2]|0)+1;C=f[a>>2]|0}if((C|0)<3){C=f[g+44>>2]|0;k=f[B>>2]|0;f[k>>2]=f[C>>2];f[k+4>>2]=f[C+4>>2]}else{f[c>>2]=0;WO(h,g)}C=f[e>>2]|0;k=C>>>3&511;if(!k){y=f[e+12>>2]|0;D=f[e+8>>2]|0;E=(y|0)>(D|0)?D:y}else E=k+1|0;if((C&4088|0)==0?(f[e+12>>2]|0)>(E|0):0){f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=e;C=j+8|0;f[C>>2]=0;f[C+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=e;DD(i,j)}C=(f[g>>2]|0)>>>3&511;if(!C){k=f[o>>2]|0;y=f[m>>2]|0;F=(k|0)>(y|0)?y:k}else F=C+1|0;do if((E|0)!=(F|0))if((E|0)<(F|0)){f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=e;C=j+8|0;f[C>>2]=0;f[C+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=g;jxa(i,j);break}else{f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=e;C=j+8|0;f[C>>2]=0;f[C+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=g;Xwa(i,j);break}else{C=i+8|0;f[C>>2]=0;f[C+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=g;eM(e,i)}while(0);E=f[h>>2]|0;C=f[n>>2]|0;k=(E&4088|0)==0&(C|0)>(F|0);hP(i,g,(E>>>3&511)+1|0,k?C:f[l>>2]|0);C=i+36|0;E=f[C>>2]|0;if(E|0){F=E+12|0;f[F>>2]=(f[F>>2]|0)+1}F=f[x>>2]|0;if(F|0?(E=F+12|0,F=f[E>>2]|0,f[E>>2]=F+-1,(F|0)==1):0)XO(g);f[x>>2]=0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;if((f[a>>2]|0)>0){F=f[g+40>>2]|0;E=0;do{f[F+(E<<2)>>2]=0;E=E+1|0;G=f[a>>2]|0}while((E|0)<(G|0));f[g>>2]=f[i>>2];if((G|0)<3)H=28;else H=30}else{f[g>>2]=f[i>>2];H=28}if((H|0)==28){G=f[i+4>>2]|0;if((G|0)<3){f[a>>2]=G;f[m>>2]=f[i+8>>2];f[o>>2]=f[i+12>>2];G=f[i+44>>2]|0;E=f[g+44>>2]|0;f[E>>2]=f[G>>2];f[E+4>>2]=f[G+4>>2]}else H=30}if((H|0)==30)WO(g,i);H=i+16|0;f[q>>2]=f[H>>2];f[r>>2]=f[i+20>>2];f[s>>2]=f[i+24>>2];f[t>>2]=f[i+28>>2];f[v>>2]=f[i+32>>2];v=f[C>>2]|0;f[x>>2]=v;if(v|0?(t=v+12|0,v=f[t>>2]|0,f[t>>2]=v+-1,(v|0)==1):0)XO(i);f[C>>2]=0;C=i+4|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;if((f[C>>2]|0)>0){H=f[i+40>>2]|0;v=0;do{f[H+(v<<2)>>2]=0;v=v+1|0}while((v|0)<(f[C>>2]|0))}C=f[i+44>>2]|0;if((C|0)!=(i+48|0))dX(C);do if(k){if(!((f[m>>2]|0)==(f[n>>2]|0)?(f[o>>2]|0)==(f[l>>2]|0):0)){f[i>>2]=0;f[i+4>>2]=0;I=JV(i,46)|0;J=347651;K=I+46|0;do{b[I>>0]=b[J>>0]|0;I=I+1|0;J=J+1|0}while((I|0)<(K|0));EP(-215,i,347698,347584,456);KV(i)}if(!((f[g>>2]^f[h>>2])&4095)){f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=g;C=j+8|0;f[C>>2]=0;f[C+4>>2]=0;f[j>>2]=-1040121856;f[j+4>>2]=h;DD(i,j);break}else{f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=g;C=j+8|0;f[C>>2]=0;f[C+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=g;DD(i,j);C=i+8|0;f[C>>2]=0;f[C+4>>2]=0;f[i>>2]=-1040121856;f[i+4>>2]=h;AO(g,i,f[h>>2]&4095,1.0,0.0);break}}else{C=f[g+40>>2]|0;v=f[z>>2]|0;if(!((f[C>>2]|0)==(f[v>>2]|0)?(f[C+4>>2]|0)==(f[v+4>>2]|0):0)){f[i>>2]=0;f[i+4>>2]=0;I=JV(i,25)|0;J=347725;K=I+25|0;do{b[I>>0]=b[J>>0]|0;I=I+1|0;J=J+1|0}while((I|0)<(K|0));EP(-215,i,347698,347584,467);KV(i)}if((f[q>>2]|0)!=(f[p>>2]|0)){v=i+8|0;f[v>>2]=0;f[v+4>>2]=0;f[i>>2]=-1040121856;f[i+4>>2]=h;AO(g,i,f[h>>2]&4095,1.0,0.0)}}while(0);i=f[w>>2]|0;if(i|0?(J=i+12|0,i=f[J>>2]|0,f[J>>2]=i+-1,(i|0)==1):0)XO(h);f[w>>2]=0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;if((f[c>>2]|0)>0){p=f[z>>2]|0;z=0;do{f[p+(z<<2)>>2]=0;z=z+1|0}while((z|0)<(f[c>>2]|0))}c=f[B>>2]|0;if((c|0)!=(A|0))dX(c);c=f[x>>2]|0;if(c|0?(A=c+12|0,c=f[A>>2]|0,f[A>>2]=c+-1,(c|0)==1):0)XO(g);f[x>>2]=0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;if((f[a>>2]|0)>0){q=f[g+40>>2]|0;x=0;do{f[q+(x<<2)>>2]=0;x=x+1|0}while((x|0)<(f[a>>2]|0))}a=f[g+44>>2]|0;if((a|0)!=(g+48|0))dX(a);a=e+36|0;g=f[a>>2]|0;do if(g|0){x=g+12|0;q=f[x>>2]|0;f[x>>2]=q+-1;if((q|0)!=1)break;XO(e)}while(0);f[a>>2]=0;a=e+16|0;g=e+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if((f[g>>2]|0)>0){a=f[e+40>>2]|0;q=0;do{f[a+(q<<2)>>2]=0;q=q+1|0}while((q|0)<(f[g>>2]|0))}g=f[e+44>>2]|0;if((g|0)==(e+48|0)){u=d;return}dX(g);u=d;return}function txa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=100988;b=a+388|0;if(f[b>>2]|0){f[a+132>>2]=0;f[a+136>>2]=0;f[a+140>>2]=0;f[a+152>>2]=0;f[a+264>>2]=0;f[a+268>>2]=0;f[a+272>>2]=0;c=a+276|0;d=a+312|0;e=f[d>>2]|0;if(e|0?(g=e+12|0,e=f[g>>2]|0,f[g>>2]=e+-1,(e|0)==1):0)XO(c);f[d>>2]=0;d=a+292|0;c=a+280|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[c>>2]|0)>0){d=f[a+316>>2]|0;e=0;do{f[d+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(f[c>>2]|0))}f[b>>2]=0}Kxa(a+276|0);b=f[a+168>>2]|0;if(!b)return;c=a+172|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);GQa(b);return}function uxa(a){a=a|0;txa(a);GQa(a);return}function vxa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=u;u=u+16|0;c=b;d=a+388|0;f[d>>2]=0;e=a+276|0;g=a+280|0;if(((((f[g>>2]|0)<3?(f[a+284>>2]|0)==1:0)?(f[a+288>>2]|0)==800:0)?(f[e>>2]&4095|0)==0:0)?(h=a+292|0,i=f[h>>2]|0,(i|0)!=0):0){j=h;k=i}else{f[c>>2]=1;f[c+4>>2]=800;VO(e,2,c,0);c=a+292|0;j=c;k=f[c>>2]|0}c=k+31&-32;f[a+132>>2]=c;f[a+136>>2]=c+32;f[a+140>>2]=c+96;f[a+152>>2]=c+160;f[a+264>>2]=c+224;f[a+268>>2]=c+480;f[a+272>>2]=c+736;f[a+144>>2]=0;f[a+148>>2]=0;f[a+156>>2]=0;f[a+160>>2]=0;f[a+180>>2]=0;p[a+184>>3]=0.0;Rg[f[(f[a>>2]|0)+24>>2]&255](a,-1,-1);if(f[j>>2]|0){j=f[g>>2]|0;if((j|0)<3)l=X(f[a+288>>2]|0,f[a+284>>2]|0)|0;else{g=f[a+316>>2]|0;c=0;k=1;while(1){e=X(f[g+(c<<2)>>2]|0,k)|0;c=c+1|0;if((c|0)==(j|0)){l=e;break}else k=e}}k=(l|0)==0;l=(j|0)==0;j=((l|k)^1)&1;if(l|k)m=j;else{f[d>>2]=1;n=j;u=b;return n|0}}else m=0;qg[f[(f[a>>2]|0)+12>>2]&1023](a);n=m;u=b;return n|0}function wxa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;b=a+388|0;if(!(f[b>>2]|0))return;f[a+132>>2]=0;f[a+136>>2]=0;f[a+140>>2]=0;f[a+152>>2]=0;f[a+264>>2]=0;f[a+268>>2]=0;f[a+272>>2]=0;c=a+276|0;d=a+312|0;e=f[d>>2]|0;if(e|0?(g=e+12|0,e=f[g>>2]|0,f[g>>2]=e+-1,(e|0)==1):0)XO(c);f[d>>2]=0;d=a+292|0;c=a+280|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[c>>2]|0)>0){d=f[a+316>>2]|0;a=0;do{f[d+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[c>>2]|0))}f[b>>2]=0;return}function xxa(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0,g=0,h=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0.0;d=a+168|0;a:do if(!b){e=f[d>>2]|0;g=a+172|0;h=f[g>>2]|0;if((h|0)==(e|0))i=0;else{f[g>>2]=h+(~((h+-4-e|0)>>>2)<<2);i=0}}else{e=a+184|0;j=+p[e>>3];if(j!=c){h=a+172|0;g=f[h>>2]|0;k=f[d>>2]|0;l=g-k>>2;m=k;k=g;if(l>>>0>=b>>>0)if(l>>>0>b>>>0?(g=m+(b<<2)|0,(g|0)!=(k|0)):0){f[h>>2]=k+(~((k+-4-g|0)>>>2)<<2);n=m}else n=m;else{lZ(d,b-l|0);n=f[d>>2]|0}p[e>>3]=c;o=+L(+((1.0-c)*c))*1.645;if(b>>>0>5)q=5;else{i=b;break}while(1){r=+(q>>>0);l=~~+W(+(o*+L(+r)+(r*c+4.0)))>>>0;f[n+(q<<2)>>2]=l;q=q+1|0;if((q|0)==(b|0)){i=b;break a}}}l=a+180|0;m=f[l>>2]|0;if(m>>>0>=b>>>0)return 1;g=a+172|0;k=f[g>>2]|0;h=f[d>>2]|0;s=k-h>>2;t=h;h=k;if(s>>>0>=b>>>0)if(s>>>0>b>>>0?(k=t+(b<<2)|0,(k|0)!=(h|0)):0){f[g>>2]=h+(~((h+-4-k|0)>>>2)<<2);u=t;v=m;w=j}else{u=t;v=m;w=j}else{lZ(d,b-s|0);u=f[d>>2]|0;v=f[l>>2]|0;w=+p[e>>3]}l=u+(v<<2)|0;s=v>>>0>5?v:5;o=+L(+(w*(1.0-w)))*1.645;if(s>>>0>>0){m=s;do{r=+(m>>>0);s=~~+W(+(o*+L(+r)+(w*r+4.0)))>>>0;f[l+(m<<2)>>2]=s;m=m+1|0}while(m>>>0>>0);i=b}else i=b}while(0);f[a+180>>2]=i;return 1}function yxa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=a+8|0;c=b;d=f[c>>2]|0;e=f[c+4>>2]|0;c=a+16|0;a=c;g=f[a>>2]|0;h=f[a+4>>2]|0;a=BVa(d|0,e|0,23)|0;i=a^d;d=I^e;e=AVa(i|0,d|0,17)|0;a=I;j=AVa(g|0,h|0,26)|0;k=j^g^i^e;e=I^h^d^a;a=b;f[a>>2]=g;f[a+4>>2]=h;a=c;f[a>>2]=k;f[a+4>>2]=e;a=qVa(k|0,e|0,g|0,h|0)|0;return +((+(a>>>0)+4294967296.0*+(I>>>0))*5.421010862427522e-20)}function zxa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=a+8|0;f[d>>2]=b;f[d+4>>2]=c;d=a+16|0;f[d>>2]=~b;f[d+4>>2]=~c;+Jf[f[(f[a>>2]|0)+20>>2]&31](a);+Jf[f[(f[a>>2]|0)+20>>2]&31](a);+Jf[f[(f[a>>2]|0)+20>>2]&31](a);+Jf[f[(f[a>>2]|0)+20>>2]&31](a);+Jf[f[(f[a>>2]|0)+20>>2]&31](a);+Jf[f[(f[a>>2]|0)+20>>2]&31](a);+Jf[f[(f[a>>2]|0)+20>>2]&31](a);+Jf[f[(f[a>>2]|0)+20>>2]&31](a);+Jf[f[(f[a>>2]|0)+20>>2]&31](a);+Jf[f[(f[a>>2]|0)+20>>2]&31](a);+Jf[f[(f[a>>2]|0)+20>>2]&31](a);+Jf[f[(f[a>>2]|0)+20>>2]&31](a);+Jf[f[(f[a>>2]|0)+20>>2]&31](a);+Jf[f[(f[a>>2]|0)+20>>2]&31](a);+Jf[f[(f[a>>2]|0)+20>>2]&31](a);+Jf[f[(f[a>>2]|0)+20>>2]&31](a);+Jf[f[(f[a>>2]|0)+20>>2]&31](a);+Jf[f[(f[a>>2]|0)+20>>2]&31](a);+Jf[f[(f[a>>2]|0)+20>>2]&31](a);+Jf[f[(f[a>>2]|0)+20>>2]&31](a);return}function Axa(a,b,c,d,e,g,h,i,j,k,l,m,o,q){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=+g;h=h|0;i=i|0;j=+j;k=k|0;l=+l;m=m|0;o=o|0;q=q|0;var r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;f[a+24>>2]=b;f[a+28>>2]=c;c=a+32|0;f[c>>2]=d;d=a+36|0;f[d>>2]=e;n[a+40>>2]=g;e=a+44|0;f[e>>2]=h;f[a+48>>2]=i;p[a+56>>3]=j;i=a+64|0;f[i>>2]=k;p[a+72>>3]=l;k=a+80|0;f[k>>2]=m;m=a+84|0;f[m>>2]=o;o=a+88|0;f[o>>2]=q;if(!(Bxa(a)|0)){q=f[o>>2]|0;if(q|0){r=q;t=r+36|0;do{f[r>>2]=0;r=r+4|0}while((r|0)<(t|0))}q=f[c>>2]|0;if(q|0)FVa(q|0,0,f[d>>2]|0)|0;f[a+156>>2]=0;f[a+144>>2]=0;q=a+332|0;h=a+368|0;b=f[h>>2]|0;if(b|0?(u=b+12|0,b=f[u>>2]|0,f[u>>2]=b+-1,(b|0)==1):0)XO(q);f[h>>2]=0;h=a+348|0;q=a+336|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;if((f[q>>2]|0)<=0)return 0;h=f[a+372>>2]|0;b=0;do{f[h+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(f[q>>2]|0));return 0}if(f[m>>2]|0)Cxa(a)|0;m=a+96|0;f[m>>2]=0;q=a+104|0;b=a+140|0;h=a+100|0;u=a+120|0;v=a+112|0;w=0;do{x=f[q>>2]|0;if(w>>>0>=x>>>0?(y=f[h>>2]|0,y>>>0<(f[u>>2]|0)>>>0):0){z=y+1|0;f[h>>2]=z;l=+p[v>>3];j=l*+(z>>>0)/+((y+-3|0)>>>0);y=x+(~~+W(+(j-l))>>>0)|0;f[q>>2]=y;p[v>>3]=j}Dxa(a);if((Exa(a)|0)==0?(Fxa(a),y=f[b>>2]|0,((n[s>>2]=+n[y>>2]+ +n[y+4>>2]+ +n[y+8>>2]+ +n[y+12>>2]+ +n[y+16>>2]+ +n[y+20>>2]+ +n[y+24>>2]+ +n[y+28>>2],f[s>>2]|0)&2147483647)>>>0<=2139095040):0)Cxa(a)|0;w=(f[m>>2]|0)+1|0;f[m>>2]=w}while(w>>>0<100?1:w>>>0<(f[e>>2]|0)>>>0);e=a+160|0;if(f[k>>2]&4|0?(f[e>>2]|0)>>>0>=5:0)Gxa(a);if((f[e>>2]|0)>>>0<(f[i>>2]|0)>>>0){k=f[o>>2]|0;if(k|0){r=k;t=r+36|0;do{f[r>>2]=0;r=r+4|0}while((r|0)<(t|0))}k=f[c>>2]|0;if(k|0)FVa(k|0,0,f[d>>2]|0)|0}else{r=f[o>>2]|0;o=f[a+152>>2]|0;t=r+36|0;do{f[r>>2]=f[o>>2];r=r+4|0;o=o+4|0}while((r|0)<(t|0));o=f[c>>2]|0;if(o|0)DVa(o|0,f[a+156>>2]|0,f[d>>2]|0)|0}f[a+156>>2]=0;f[a+144>>2]=0;d=a+332|0;o=a+368|0;c=f[o>>2]|0;if(c|0?(r=c+12|0,c=f[r>>2]|0,f[r>>2]=c+-1,(c|0)==1):0)XO(d);f[o>>2]=0;o=a+348|0;d=a+336|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;if((f[d>>2]|0)<=0){A=f[e>>2]|0;B=f[i>>2]|0;C=A>>>0>>0;D=C?0:A;return D|0}o=f[a+372>>2]|0;a=0;do{f[o+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[d>>2]|0));A=f[e>>2]|0;B=f[i>>2]|0;C=A>>>0>>0;D=C?0:A;return D|0}function Bxa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0.0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0;b=u;u=u+16|0;c=b;if(!(f[a+24>>2]|0)){d=0;u=b;return d|0}if(!(f[a+28>>2]|0)){d=0;u=b;return d|0}e=a+36|0;g=f[e>>2]|0;if(g>>>0<4){d=0;u=b;return d|0}if(+n[a+40>>2]<0.0){d=0;u=b;return d|0}h=+p[a+56>>3];if(h<0.0|h>1.0){d=0;u=b;return d|0}i=a+64|0;j=f[i>>2]|0;f[i>>2]=j>>>0>4?j:4;j=(f[a+80>>2]&1|0)==0;if(!j?(h=+p[a+72>>3],!(!(h<=0.0)&!(h>=1.0))):0){d=0;u=b;return d|0}if(!(f[a+88>>2]|0)){d=0;u=b;return d|0}do if(!j)if(!(_f[f[(f[a>>2]|0)+16>>2]&3](a,g,+p[a+72>>3])|0)){d=0;u=b;return d|0}else{k=f[e>>2]|0;break}else k=g;while(0);g=k+31&-32;j=a+332|0;i=k+63+g&-32;if(((((f[a+336>>2]|0)<3?(f[a+340>>2]|0)==1:0)?(f[a+344>>2]|0)==(i|0):0)?(f[j>>2]&4095|0)==0:0)?(l=f[a+348>>2]|0,(l|0)!=0):0){m=l;o=k}else{f[c>>2]=1;f[c+4>>2]=i;VO(j,2,c,0);m=f[a+348>>2]|0;o=f[e>>2]|0}c=m+31&-32;f[a+156>>2]=c;m=a+144|0;f[m>>2]=c+g;g=a+152|0;FVa(c|0,0,o|0)|0;FVa(f[m>>2]|0,0,f[e>>2]|0)|0;f[a+96>>2]=0;f[a+100>>2]=4;f[a+104>>2]=1;m=f[e>>2]|0;p[a+112>>3]=+((f[a+48>>2]|0)>>>0)*24.0/(+(m>>>0)*+((m+-1|0)>>>0)*+((m+-2|0)>>>0)*+((m+-3|0)>>>0));f[a+120>>2]=m;f[a+124>>2]=0;f[a+128>>2]=0;m=f[a+84>>2]|0;e=f[a+140>>2]|0;if(!m){q=e;r=q+36|0;do{f[q>>2]=0;q=q+4|0}while((q|0)<(r|0))}else{q=e;e=m;r=q+36|0;do{f[q>>2]=f[e>>2];q=q+4|0;e=e+4|0}while((q|0)<(r|0))}f[a+148>>2]=0;q=f[g>>2]|0;r=q+36|0;do{f[q>>2]=0;q=q+4|0}while((q|0)<(r|0));f[a+160>>2]=0;f[a+232>>2]=0;f[a+236>>2]=0;f[a+240>>2]=1;p[a+192>>3]=25.0;p[a+200>>3]=1.0;p[a+208>>3]=.1;p[a+216>>3]=.01;Jxa(a);d=1;u=b;return d|0}function Cxa(a){a=a|0;var c=0,d=0,e=0.0,g=0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0;Ixa(a);c=a+148|0;d=f[c>>2]|0;if(!(f[a+240>>2]|0)){e=+(d>>>0)/+((f[a+232>>2]|0)>>>0);if(e>0.0?(g=a+216|0,h=+p[g>>3],+K(+(h-e))/h>.1):0){p[g>>3]=e;Jxa(a)}}else if(d>>>0>(f[a+160>>2]|0)>>>0){p[a+208>>3]=+(d>>>0)/+((f[a+36>>2]|0)>>>0);Jxa(a)}d=f[c>>2]|0;g=a+160|0;i=f[g>>2]|0;if(d>>>0<=i>>>0)return 1;j=a+140|0;k=f[j>>2]|0;l=a+144|0;m=f[l>>2]|0;n=a+152|0;f[j>>2]=f[n>>2];j=a+156|0;f[l>>2]=f[j>>2];f[c>>2]=i;f[n>>2]=k;f[j>>2]=m;f[g>>2]=d;m=a+80|0;if(d>>>0<5|(f[m>>2]&2|0)==0)o=d;else{Gxa(a);o=f[g>>2]|0}e=+p[a+56>>3];g=f[a+36>>2]|0;d=a+44|0;k=f[d>>2]|0;h=1.0-+M(+(+(o>>>0)/+(g>>>0)),4.0);if(!(h>=1.0))if(!(h<=0.0))q=~~+W(+(+V(+(1.0-e))/+V(+h)))>>>0;else q=1;else q=k;n=q>>>0<=k>>>0?q:k;f[d>>2]=n;if(!(f[m>>2]&1))return 1;m=a+168|0;a:do if(g>>>0>20&(o|0)!=0){k=o;q=g;i=g;c=o;while(1){if((X(i,c)|0)>>>0>(X(q,k)|0)>>>0)if(c>>>0<(f[(f[m>>2]|0)+(q<<2)>>2]|0)>>>0){r=k;s=i;break a}else{t=c;u=q}else{t=k;u=i}q=q+-1|0;c=c-((b[(f[j>>2]|0)+q>>0]|0)!=0&1)|0;if(!(q>>>0>20&(c|0)!=0)){r=t;s=u;break}else{k=t;i=u}}}else{r=o;s=g}while(0);g=a+120|0;o=X(f[g>>2]|0,r)|0;u=a+124|0;if(o>>>0<=(X(f[u>>2]|0,s)|0)>>>0)return 1;f[g>>2]=s;f[u>>2]=r;h=1.0-+M(+(+(r>>>0)/+(s>>>0)),4.0);if(!(h>=1.0))if(!(h<=0.0))v=~~+W(+(+V(+(1.0-e))/+V(+h)))>>>0;else v=1;else v=n;f[d>>2]=v>>>0<=n>>>0?v:n;return 1}function Dxa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0;b=a+132|0;c=f[b>>2]|0;d=a+100|0;e=f[d>>2]|0;if((f[a+96>>2]|0)>>>0>(f[a+104>>2]|0)>>>0)if(e>>>0<8){g=0;while(1){h=g+1|0;if(+Jf[f[(f[a>>2]|0)+20>>2]&31](a)*+((e-g|0)>>>0)<4.0)break;else g=h}f[c>>2]=g;g=h;while(1){i=g+1|0;if(+Jf[f[(f[a>>2]|0)+20>>2]&31](a)*+((e-g|0)>>>0)<3.0)break;else g=i}f[c+4>>2]=g;g=i;while(1){j=g+1|0;if(+Jf[f[(f[a>>2]|0)+20>>2]&31](a)*+((e-g|0)>>>0)<2.0)break;else g=j}f[c+8>>2]=g;g=j;while(1)if(+Jf[f[(f[a>>2]|0)+20>>2]&31](a)*+((e-g|0)>>>0)<1.0){k=g;l=c;break}else g=g+1|0}else{m=+(e>>>0);g=0;while(1){j=~~(+Jf[f[(f[a>>2]|0)+20>>2]&31](a)*m)>>>0;i=c+(g<<2)|0;f[i>>2]=j;if(!g){g=1;continue}else n=j;a:while(1){j=0;while(1){if((n|0)==(f[c+(j<<2)>>2]|0))break;j=j+1|0;if(j>>>0>=g>>>0)break a}j=~~(+Jf[f[(f[a>>2]|0)+20>>2]&31](a)*m)>>>0;f[i>>2]=j;n=j}g=g+1|0;if((g|0)==4)break}return}else{g=e+-1|0;if(g>>>0<6){e=0;while(1){o=e+1|0;if(+Jf[f[(f[a>>2]|0)+20>>2]&31](a)*+((g-e|0)>>>0)<3.0)break;else e=o}f[c>>2]=e;e=o;while(1){p=e+1|0;if(+Jf[f[(f[a>>2]|0)+20>>2]&31](a)*+((g-e|0)>>>0)<2.0)break;else e=p}f[c+4>>2]=e;e=p;while(1)if(+Jf[f[(f[a>>2]|0)+20>>2]&31](a)*+((g-e|0)>>>0)<1.0)break;else e=e+1|0;f[c+8>>2]=e}else{m=+(g>>>0);g=0;while(1){e=~~(+Jf[f[(f[a>>2]|0)+20>>2]&31](a)*m)>>>0;p=c+(g<<2)|0;f[p>>2]=e;if(!g){g=1;continue}else q=e;b:while(1){e=0;while(1){if((q|0)==(f[c+(e<<2)>>2]|0))break;e=e+1|0;if(e>>>0>=g>>>0)break b}e=~~(+Jf[f[(f[a>>2]|0)+20>>2]&31](a)*m)>>>0;f[p>>2]=e;q=e}g=g+1|0;if((g|0)==3)break}}k=(f[d>>2]|0)+-1|0;l=f[b>>2]|0}f[l+12>>2]=k;return}function Exa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0;b=f[a+132>>2]|0;c=f[b>>2]|0;d=f[b+4>>2]|0;e=f[b+8>>2]|0;g=f[b+12>>2]|0;b=f[a+136>>2]|0;h=f[a+24>>2]|0;i=f[a+28>>2]|0;a=h+(c<<3)|0;j=f[a>>2]|0;k=f[a+4>>2]|0;a=b;f[a>>2]=j;f[a+4>>2]=k;a=h+(d<<3)|0;l=f[a>>2]|0;m=f[a+4>>2]|0;a=b+8|0;f[a>>2]=l;f[a+4>>2]=m;a=h+(e<<3)|0;o=f[a>>2]|0;p=f[a+4>>2]|0;a=b+16|0;f[a>>2]=o;f[a+4>>2]=p;a=h+(g<<3)|0;h=f[a>>2]|0;q=f[a+4>>2]|0;a=b+24|0;f[a>>2]=h;f[a+4>>2]=q;a=i+(c<<3)|0;c=f[a>>2]|0;r=f[a+4>>2]|0;a=b+32|0;f[a>>2]=c;f[a+4>>2]=r;a=i+(d<<3)|0;d=f[a>>2]|0;t=f[a+4>>2]|0;a=b+40|0;f[a>>2]=d;f[a+4>>2]=t;a=i+(e<<3)|0;e=f[a>>2]|0;u=f[a+4>>2]|0;a=b+48|0;f[a>>2]=e;f[a+4>>2]=u;a=i+(g<<3)|0;g=f[a>>2]|0;i=f[a+4>>2]|0;a=b+56|0;f[a>>2]=g;f[a+4>>2]=i;v=(f[s>>2]=j,+n[s>>2]);w=(f[s>>2]=l,+n[s>>2]);x=(f[s>>2]=o,+n[s>>2]);y=(f[s>>2]=h,+n[s>>2]);z=(f[s>>2]=k,+n[s>>2]);A=(f[s>>2]=m,+n[s>>2]);B=(f[s>>2]=p,+n[s>>2]);C=(f[s>>2]=q,+n[s>>2]);D=(f[s>>2]=r,+n[s>>2]);E=(f[s>>2]=t,+n[s>>2]);F=(f[s>>2]=d,+n[s>>2]);G=(f[s>>2]=c,+n[s>>2]);H=(f[s>>2]=e,+n[s>>2]);I=(f[s>>2]=u,+n[s>>2]);J=(f[s>>2]=g,+n[s>>2]);K=(f[s>>2]=i,+n[s>>2]);if(v==w|w==x){L=1;return L|0}if(v==y|(w==y|(v==x|x==y))|z==A|A==B){L=1;return L|0}if(z==C|(A==C|(z==B|B==C))){L=1;return L|0}M=z-A;N=w-v;O=v*A-w*z;P=D-E;Q=F-G;R=E*G-D*F;if((~~(R+(P*H+Q*I))^~~(O+(M*x+N*B))|0)<0){L=1;return L|0}if((~~(R+(P*J+Q*K))^~~(O+(M*y+N*C))|0)<0){L=1;return L|0}N=B-C;M=y-x;O=x*C-y*B;B=I-K;y=J-H;C=H*K-I*J;if((~~(C+(y*D+B*G))^~~(O+(M*z+N*v))|0)<0){L=1;return L|0}L=(~~(C+(y*E+B*F))^~~(O+(M*A+N*w)))>>>31;return L|0}function Fxa(a){a=a|0;var b=0,c=0,d=0.0,e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0;b=f[a+136>>2]|0;c=f[a+140>>2]|0;d=+n[b>>2];e=+n[b+4>>2];g=+n[b+8>>2];h=+n[b+12>>2];i=+n[b+16>>2];j=+n[b+20>>2];k=+n[b+24>>2];l=+n[b+28>>2];m=+n[b+32>>2];o=+n[b+36>>2];p=+n[b+40>>2];q=+n[b+44>>2];r=+n[b+48>>2];s=+n[b+52>>2];t=+n[b+56>>2];u=+n[b+60>>2];v=i*r;w=i*s;x=j*r;y=j*s;z=d-i;A=g-i;B=k-i;C=e-j;D=v-d*m;E=w-d*o;d=x-e*m;F=y-e*o;e=m-r;m=o-s;o=A*C;G=z*(h-j)-o;H=z*(v-g*p)-A*D;I=z*(x-h*p)-A*d;J=z*(p-r)-A*e;p=z*(w-g*q)-A*E;g=z*(y-h*q)-A*F;h=z*(q-s)-A*m;A=z*(l-j)-C*B;q=G*(z*(v-k*t)-B*D)-A*H;K=G*(z*(w-k*u)-B*E)-A*p;k=1.0/(z*G-o);o=k*(G*D-C*H);D=k*(G*d-C*I);L=k*(G*e-C*J);M=k*(G*E-C*p);E=k*(G*F-C*g);N=k*(G*m-C*h);C=1.0/G;k=C*H;H=C*I;O=C*J;P=C*p;p=C*g;Q=C*h;C=-v-(j*k+i*o);v=-w-(j*P+i*M);w=(G*(z*(y-l*u)-B*F)-A*g)/K;g=(G*(z*(u-s)-B*m)-A*h)/K;K=(G*(z*(t-r)-B*e)-A*J-q*g)/(G*(z*(x-l*t)-B*d)-A*I-q*w);n[c>>2]=L-o*g-(D-o*w)*K;n[c+4>>2]=O-k*g-(H-k*w)*K;n[c+8>>2]=r-(j*O+i*L)-C*g-(-x-(j*H+i*D)-C*w)*K;n[c+12>>2]=N-M*g-(E-M*w)*K;n[c+16>>2]=Q-P*g-(p-P*w)*K;n[c+20>>2]=s-(j*Q+i*N)-g*v-(-y-(j*p+i*E)-w*v)*K;n[c+24>>2]=g-w*K;n[c+28>>2]=K;n[c+32>>2]=1.0;return}function Gxa(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0.0,p=0,q=0,r=0.0,s=0.0,t=0,v=0,w=0.0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0,F=0.0,G=0,H=0.0,I=0,J=0.0,M=0,N=0.0,O=0,P=0.0,Q=0,R=0.0,S=0.0,T=0,U=0.0,V=0,W=0.0,X=0.0,Y=0,Z=0,_=0.0,$=0,aa=0,ba=0,ca=0,da=0.0,ea=0,fa=0.0,ga=0.0,ha=0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0,na=0.0,oa=0.0,pa=0,qa=0.0,ra=0.0,sa=0,ta=0.0,ua=0.0,va=0.0,wa=0.0,xa=0.0,ya=0,za=0,Aa=0.0,Ba=0.0,Ca=0.0,Da=0.0,Ea=0.0,Fa=0.0,Ga=0.0,Ha=0.0,Ia=0.0,Ja=0.0,Ka=0.0,La=0.0,Ma=0.0,Na=0.0,Oa=0.0,Pa=0.0,Qa=0.0,Ra=0.0,Sa=0.0,Ta=0.0,Ua=0,Va=0.0;c=u;u=u+16|0;d=c;e=a+152|0;g=a+24|0;h=a+28|0;i=a+156|0;j=a+36|0;k=a+264|0;l=a+272|0;Hxa(f[e>>2]|0,f[g>>2]|0,f[h>>2]|0,f[i>>2]|0,f[j>>2]|0,f[k>>2]|0,f[l>>2]|0,d);m=a+268|0;a=0;o=100.0;while(1){p=f[k>>2]|0;q=f[m>>2]|0;r=o;a:while(1){s=r+1.0;t=0;while(1){if((t|0)>0){v=0;do{w=+n[p+(t<<5)+(v<<2)>>2];if((v|0)>0){x=0;y=w;while(1){z=y-+n[q+(t<<5)+(x<<2)>>2]*+n[q+(v<<5)+(x<<2)>>2];x=x+1|0;if((x|0)==(v|0)){A=z;break}else y=z}}else A=w;n[q+(t<<5)+(v<<2)>>2]=A/+n[q+(v<<5)+(v<<2)>>2];v=v+1|0}while((v|0)!=(t|0));v=0;y=s*+n[p+(t<<5)+(t<<2)>>2];while(1){z=+n[q+(t<<5)+(v<<2)>>2];B=y-z*z;v=v+1|0;if((v|0)==(t|0)){C=B;break}else y=B}}else C=s*+n[p+(t<<5)+(t<<2)>>2];if(C<0.0)break;y=+L(+C);n[q+(t<<5)+(t<<2)>>2]=y;if((t|0)<7)t=t+1|0;else break a}r=r*2.0}s=1.0/+n[q>>2];n[q>>2]=s;p=q+36|0;y=1.0/+n[p>>2];n[p>>2]=y;t=q+72|0;B=1.0/+n[t>>2];n[t>>2]=B;v=q+108|0;z=1.0/+n[v>>2];n[v>>2]=z;x=q+144|0;D=1.0/+n[x>>2];n[x>>2]=D;E=q+180|0;F=1.0/+n[E>>2];n[E>>2]=F;G=q+216|0;H=1.0/+n[G>>2];n[G>>2]=H;I=q+252|0;J=1.0/+n[I>>2];n[I>>2]=J;M=q+32|0;N=-(s*(y*+n[M>>2]));n[M>>2]=N;O=q+104|0;P=-(B*(z*+n[O>>2]));n[O>>2]=P;Q=q+176|0;R=-(D*(F*+n[Q>>2]));n[Q>>2]=R;Q=q+248|0;S=-(H*(J*+n[Q>>2]));n[Q>>2]=S;T=q+64|0;U=+n[T>>2];V=q+68|0;W=+n[V>>2];X=B*W;Y=q+96|0;Z=q+100|0;_=W*P+z*+n[Z>>2];W=s*(U*P+z*+n[Y>>2])+_*N;n[T>>2]=-(s*(B*U)+X*N);n[V>>2]=-(y*X);n[Y>>2]=-W;n[Z>>2]=-(y*_);$=q+208|0;_=+n[$>>2];aa=q+212|0;y=+n[aa>>2];W=H*y;ba=q+240|0;ca=q+244|0;X=y*S+J*+n[ca>>2];y=D*(_*S+J*+n[ba>>2])+X*R;J=-(D*(H*_)+W*R);n[$>>2]=J;_=-(F*W);n[aa>>2]=_;W=-y;n[ba>>2]=W;y=-(F*X);n[ca>>2]=y;X=+n[x>>2];x=q+128|0;F=+n[x>>2];ca=q+132|0;H=+n[ca>>2];D=X*H;ba=q+136|0;S=+n[ba>>2];N=X*S;aa=q+140|0;U=+n[aa>>2];B=X*U;s=+n[E>>2];E=q+160|0;z=+n[E>>2];$=q+164|0;P=+n[$>>2];da=H*R+s*P;ea=q+168|0;fa=+n[ea>>2];ga=S*R+s*fa;ha=q+172|0;ia=+n[ha>>2];ja=U*R+s*ia;ka=+n[G>>2];G=q+192|0;la=+n[G>>2];ma=q+196|0;na=+n[ma>>2];oa=H*J+P*_+ka*na;pa=q+200|0;qa=+n[pa>>2];ra=S*J+fa*_+ka*qa;sa=q+204|0;ta=+n[sa>>2];ua=U*J+ia*_+ka*ta;va=+n[Q>>2];wa=+n[I>>2];I=q+224|0;Q=q+228|0;xa=H*W+P*y+na*va+wa*+n[Q>>2];ya=q+232|0;na=S*W+fa*y+qa*va+wa*+n[ya>>2];za=q+236|0;qa=U*W+ia*y+ta*va+wa*+n[za>>2];ta=+n[q>>2];ia=+n[M>>2];U=+n[T>>2];fa=+n[Y>>2];S=+n[p>>2];P=+n[V>>2];H=+n[Z>>2];Aa=+n[t>>2];Ba=+n[O>>2];Ca=+n[v>>2];Da=(F*W+z*y+la*va+wa*+n[I>>2])*ta+xa*ia+na*U+qa*fa;n[x>>2]=-(X*F*ta+D*ia+N*U+B*fa);n[ca>>2]=-(D*S+N*P+B*H);n[ba>>2]=-(N*Aa+B*Ba);n[aa>>2]=-(B*Ca);n[E>>2]=-((F*R+s*z)*ta+da*ia+ga*U+ja*fa);n[$>>2]=-(da*S+ga*P+ja*H);n[ea>>2]=-(ga*Aa+ja*Ba);n[ha>>2]=-(ja*Ca);n[G>>2]=-((F*J+z*_+ka*la)*ta+oa*ia+ra*U+ua*fa);n[ma>>2]=-(oa*S+ra*P+ua*H);n[pa>>2]=-(ra*Aa+ua*Ba);n[sa>>2]=-(ua*Ca);n[I>>2]=-Da;n[Q>>2]=-(xa*S+na*P+qa*H);n[ya>>2]=-(na*Aa+qa*Ba);n[za>>2]=-(qa*Ca);za=f[m>>2]|0;ya=f[l>>2]|0;Ca=+n[za>>2];qa=+n[ya>>2];Ba=+n[za+32>>2];Aa=+n[za+36>>2];na=+n[ya+4>>2];H=qa*Ba+Aa*na;P=+n[za+64>>2];S=+n[za+68>>2];xa=+n[za+72>>2];Da=+n[ya+8>>2];ua=qa*P+na*S+xa*Da;ra=+n[za+96>>2];oa=+n[za+100>>2];fa=+n[za+104>>2];U=+n[za+108>>2];ia=+n[ya+12>>2];ta=qa*ra+na*oa+Da*fa+U*ia;la=+n[za+128>>2];ka=+n[za+132>>2];_=+n[za+136>>2];z=+n[za+140>>2];J=+n[za+144>>2];F=+n[ya+16>>2];ja=qa*la+na*ka+Da*_+ia*z+J*F;ga=+n[za+160>>2];da=+n[za+164>>2];s=+n[za+168>>2];R=+n[za+172>>2];B=+n[za+176>>2];N=+n[za+180>>2];D=+n[ya+20>>2];X=qa*ga+na*da+Da*s+ia*R+F*B+N*D;wa=+n[za+192>>2];va=+n[za+196>>2];y=+n[za+200>>2];W=+n[za+204>>2];Ea=+n[za+208>>2];Fa=+n[za+212>>2];Ga=+n[za+216>>2];Ha=+n[ya+24>>2];Ia=qa*wa+na*va+Da*y+ia*W+F*Ea+D*Fa+Ga*Ha;Ja=+n[za+224>>2];Ka=+n[za+228>>2];La=+n[za+232>>2];Ma=+n[za+236>>2];Na=+n[za+240>>2];Oa=+n[za+244>>2];Pa=+n[za+248>>2];Qa=+n[za+252>>2];Ra=qa*Ja+na*Ka+Da*La+ia*Ma+F*Na+D*Oa+Ha*Pa+Qa*+n[ya+28>>2];Ha=Ca*(Ca*qa)+Ba*H+P*ua+ra*ta+la*ja+ga*X+wa*Ia+Ja*Ra;Ja=Aa*H+S*ua+oa*ta+ka*ja+da*X+va*Ia+Ka*Ra;Ka=xa*ua+fa*ta+_*ja+s*X+y*Ia+La*Ra;La=U*ta+z*ja+R*X+W*Ia+Ma*Ra;Ma=J*ja+B*X+Ea*Ia+Na*Ra;Na=N*X+Fa*Ia+Oa*Ra;Oa=Ga*Ia+Pa*Ra;Pa=Qa*Ra;ya=f[e>>2]|0;Ra=+n[ya>>2]-Ha;Qa=+n[ya+4>>2]-Ja;Ia=+n[ya+8>>2]-Ka;Ga=+n[ya+12>>2]-La;Fa=+n[ya+16>>2]-Ma;X=+n[ya+20>>2]-Na;N=+n[ya+24>>2]-Oa;Ea=+n[ya+28>>2]-Pa;za=f[g>>2]|0;Q=f[h>>2]|0;I=f[i>>2]|0;sa=f[j>>2]|0;if(!sa)Sa=0.0;else{B=0.0;pa=0;while(1){if(!(b[I+pa>>0]|0))Ta=B;else{ma=pa<<1;ja=+n[za+(ma<<2)>>2];G=ma|1;J=+n[za+(G<<2)>>2];W=N*ja+Ea*J+1.0;ha=+K(+W)>1.1920928955078125e-07;R=ha?1.0/W:0.0;W=(Ia+(Ra*ja+Qa*J))*R-+n[Q+(ma<<2)>>2];z=(X+(Ga*ja+Fa*J))*R-+n[Q+(G<<2)>>2];Ta=B+(W*W+z*z)}pa=pa+1|0;if((pa|0)==(sa|0)){Sa=Ta;break}else B=Ta}}sa=f[l>>2]|0;B=+n[d>>2]-Sa;z=(r*(Pa*Pa+(Oa*Oa+(Na*Na+(Ma*Ma+(La*La+(Ka*Ka+(Ja*Ja+(Ha*Ha+0.0))))))))+Ha*+n[sa>>2]+Ja*+n[sa+4>>2]+Ka*+n[sa+8>>2]+La*+n[sa+12>>2]+Ma*+n[sa+16>>2]+Na*+n[sa+20>>2]+Oa*+n[sa+24>>2]+Pa*+n[sa+28>>2])*.5;sa=+K(+z)<1.1920928955078125e-07;W=sa?B:B/z;if(W<.25){z=r*8.0;if(z>8388608.0e3){Ua=25;break}else Va=z}else if(W>.75)Va=r*.5;else Va=r;if(W>0.0){n[d>>2]=Sa;n[ya>>2]=Ra;n[ya+4>>2]=Qa;n[ya+8>>2]=Ia;n[ya+12>>2]=Ga;n[ya+16>>2]=Fa;n[ya+20>>2]=X;n[ya+24>>2]=N;n[ya+28>>2]=Ea;Hxa(f[e>>2]|0,f[g>>2]|0,f[h>>2]|0,f[i>>2]|0,f[j>>2]|0,f[k>>2]|0,f[l>>2]|0,d)}if((a|0)<99){a=a+1|0;o=Va}else{Ua=25;break}}if((Ua|0)==25){u=c;return}}function Hxa(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0.0,da=0,ea=0,fa=0.0,ga=0,ha=0.0,ia=0.0,ja=0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0.0,ta=0.0,ua=0.0,va=0.0;k=(h|0)!=0;if(k)FVa(h|0,0,256)|0;l=(i|0)!=0;if(l){f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;f[i+28>>2]=0}if(!g)m=0.0;else{o=a+24|0;p=a+28|0;q=a+4|0;r=a+8|0;s=a+12|0;t=a+16|0;u=a+20|0;v=k|l;w=i+4|0;x=i+8|0;y=i+12|0;z=i+16|0;A=i+20|0;B=i+24|0;C=i+28|0;D=h+32|0;E=h+36|0;F=h+64|0;G=h+68|0;H=h+72|0;I=h+108|0;J=h+140|0;L=h+144|0;M=h+172|0;N=h+176|0;O=h+180|0;P=h+192|0;Q=h+196|0;R=h+200|0;S=h+204|0;T=h+208|0;U=h+212|0;V=h+216|0;W=h+224|0;X=h+228|0;Y=h+232|0;Z=h+236|0;_=h+240|0;$=h+244|0;aa=h+248|0;ba=h+252|0;ca=0.0;da=0;while(1){if(b[e+da>>0]|0){ea=da<<1;fa=+n[c+(ea<<2)>>2];ga=ea|1;ha=+n[c+(ga<<2)>>2];ia=fa*+n[o>>2]+ha*+n[p>>2]+1.0;ja=+K(+ia)>1.1920928955078125e-07;ka=ja?1.0/ia:0.0;ia=(+n[r>>2]+(fa*+n[a>>2]+ha*+n[q>>2]))*ka;la=ka*(+n[u>>2]+(fa*+n[s>>2]+ha*+n[t>>2]));ma=ia-+n[d+(ea<<2)>>2];na=la-+n[d+(ga<<2)>>2];oa=ca+(ma*ma+na*na);if(v){pa=fa*ka;qa=ha*ka;ra=-ia;ia=ka*(fa*ra);sa=ka*(ha*ra);ra=-la;la=ka*(fa*ra);fa=ka*(ha*ra);if(l){n[i>>2]=pa*ma+ +n[i>>2];n[w>>2]=qa*ma+ +n[w>>2];n[x>>2]=ka*ma+ +n[x>>2];n[y>>2]=pa*na+ +n[y>>2];n[z>>2]=qa*na+ +n[z>>2];n[A>>2]=ka*na+ +n[A>>2];n[B>>2]=ma*ia+na*la+ +n[B>>2];n[C>>2]=ma*sa+na*fa+ +n[C>>2]}if(k){na=pa*pa;n[h>>2]=na+ +n[h>>2];ma=pa*qa;n[D>>2]=ma+ +n[D>>2];ra=qa*qa;n[E>>2]=ra+ +n[E>>2];ha=ka*pa;n[F>>2]=ha+ +n[F>>2];ta=ka*qa;n[G>>2]=ta+ +n[G>>2];ua=ka*ka;n[H>>2]=ua+ +n[H>>2];n[I>>2]=na+ +n[I>>2];n[J>>2]=ma+ +n[J>>2];n[L>>2]=ra+ +n[L>>2];n[M>>2]=ha+ +n[M>>2];n[N>>2]=ta+ +n[N>>2];n[O>>2]=ua+ +n[O>>2];n[P>>2]=pa*ia+ +n[P>>2];n[Q>>2]=qa*ia+ +n[Q>>2];n[R>>2]=ka*ia+ +n[R>>2];n[S>>2]=pa*la+ +n[S>>2];n[T>>2]=qa*la+ +n[T>>2];n[U>>2]=ka*la+ +n[U>>2];n[V>>2]=ia*ia+la*la+ +n[V>>2];n[W>>2]=pa*sa+ +n[W>>2];n[X>>2]=qa*sa+ +n[X>>2];n[Y>>2]=ka*sa+ +n[Y>>2];n[Z>>2]=pa*fa+ +n[Z>>2];n[_>>2]=qa*fa+ +n[_>>2];n[$>>2]=ka*fa+ +n[$>>2];n[aa>>2]=ia*sa+la*fa+ +n[aa>>2];n[ba>>2]=sa*sa+fa*fa+ +n[ba>>2];va=oa}else va=oa}else va=oa}else va=ca;da=da+1|0;if((da|0)==(g|0)){m=va;break}else ca=va}}if(!j)return;n[j>>2]=m;return}function Ixa(a){a=a|0;var c=0.0,d=0.0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0,J=0.0,K=0.0,L=0.0,M=0.0;c=+n[a+40>>2];d=c*c;e=f[a+24>>2]|0;g=f[a+28>>2]|0;h=f[a+144>>2]|0;i=f[a+140>>2]|0;j=a+128|0;f[j>>2]=(f[j>>2]|0)+1;j=a+148|0;f[j>>2]=0;k=a+232|0;f[k>>2]=0;l=a+240|0;f[l>>2]=1;m=a+36|0;if(!(f[m>>2]|0)){o=0;f[k>>2]=o;q=a+236|0;r=f[q>>2]|0;s=r+o|0;f[q>>2]=s;return}t=i+4|0;u=i+8|0;v=i+12|0;w=i+16|0;x=i+20|0;y=i+24|0;z=i+28|0;A=a+256|0;B=a+248|0;C=a+224|0;c=1.0;D=h;h=0;E=1;while(1){if(!E){o=h;F=5;break}G=h<<1;H=+n[e+(G<<2)>>2];I=G|1;J=+n[e+(I<<2)>>2];K=H*+n[y>>2]+J*+n[z>>2]+1.0;L=(+n[u>>2]+(H*+n[i>>2]+J*+n[t>>2]))/K-+n[g+(G<<2)>>2];M=(+n[x>>2]+(H*+n[v>>2]+J*+n[w>>2]))/K-+n[g+(I<<2)>>2];I=L*L+M*M<=d;f[j>>2]=(f[j>>2]|0)+(I&1);b[D>>0]=I&1;c=c*+p[(I?B:A)>>3];E=c<=+p[C>>3]&1;f[l>>2]=E;I=h+1|0;if(I>>>0>=(f[m>>2]|0)>>>0){o=I;F=5;break}else{D=D+1|0;h=I}}if((F|0)==5){f[k>>2]=o;q=a+236|0;r=f[q>>2]|0;s=r+o|0;f[q>>2]=s;return}}function Jxa(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0;b=+p[a+216>>3];c=+p[a+208>>3];d=1.0-b;e=d/(1.0-c);f=b/c;c=+p[a+192>>3]*(d*+V(+e)+b*+V(+f))/+p[a+200>>3]+1.0;b=+V(+c)+c;if(b-c>1.5e-08){d=c+ +V(+b);if(d-b>1.5e-08){g=c+ +V(+d);if(g-d>1.5e-08){h=c+ +V(+g);if(h-g>1.5e-08){i=c+ +V(+h);if(i-h>1.5e-08){j=c+ +V(+i);if(j-i>1.5e-08){k=c+ +V(+j);if(k-j>1.5e-08){l=c+ +V(+k);if(l-k>1.5e-08){m=c+ +V(+l);if(m-l>1.5e-08)n=c+ +V(+m);else n=m}else n=l}else n=k}else n=j}else n=i}else n=h}else n=g}else n=d}else n=b;p[a+224>>3]=n;p[a+256>>3]=e;p[a+248>>3]=f;return}function Kxa(a){a=a|0;var b=0,c=0,d=0,e=0;b=a+56|0;c=a+92|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+72|0;b=a+60|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+96>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+100>>2]|0;if((b|0)!=(a+104|0))dX(b);b=a+36|0;d=f[b>>2]|0;if(d|0?(c=d+12|0,d=f[c>>2]|0,f[c>>2]=d+-1,(d|0)==1):0)XO(a);f[b>>2]=0;b=a+16|0;d=a+4|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[d>>2]|0)>0){b=f[a+40>>2]|0;c=0;do{f[b+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[d>>2]|0))}d=f[a+44>>2]|0;if((d|0)==(a+48|0))return;dX(d);return}function Lxa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0;b=u;u=u+16|0;c=b;d=EQa(392)|0;f[d>>2]=100988;f[d+168>>2]=0;f[d+172>>2]=0;f[d+176>>2]=0;e=d+276|0;f[e>>2]=1124007936;g=d+280|0;h=d+284|0;i=d+316|0;j=g;k=j+36|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[i>>2]=h;l=d+324|0;f[d+320>>2]=l;f[l>>2]=0;f[d+328>>2]=0;f[d+332>>2]=1124007936;l=d+340|0;m=d+372|0;j=d+336|0;k=j+36|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[m>>2]=l;l=d+380|0;f[d+376>>2]=l;f[l>>2]=0;f[d+384>>2]=0;l=d+388|0;f[l>>2]=0;m=d+24|0;p[d+56>>3]=0.0;f[d+64>>2]=0;n=d+72|0;f[d+96>>2]=0;f[d+100>>2]=0;f[d+104>>2]=0;o=d+180|0;q=d+248|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;f[m+24>>2]=0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;f[n+16>>2]=0;j=d+112|0;k=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));j=o;k=j+64|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;f[q+16>>2]=0;f[q+20>>2]=0;f[q+24>>2]=0;q=EQa(16)|0;j=q+4|0;f[j>>2]=1;f[q>>2]=101028;f[q+8>>2]=d;f[a>>2]=q;k=a+4|0;f[k>>2]=d;f[l>>2]=0;f[c>>2]=1;f[c+4>>2]=800;VO(e,2,c,0);c=d+292|0;e=f[d>>2]|0;n=(f[c>>2]|0)+31&-32;f[d+132>>2]=n;f[d+136>>2]=n+32;f[d+140>>2]=n+96;f[d+152>>2]=n+160;f[d+264>>2]=n+224;f[d+268>>2]=n+480;f[d+272>>2]=n+736;f[d+144>>2]=0;f[d+148>>2]=0;f[d+156>>2]=0;f[d+160>>2]=0;f[o>>2]=0;p[d+184>>3]=0.0;Rg[f[e+24>>2]&255](d,-1,-1);if(f[c>>2]|0){c=f[g>>2]|0;if((c|0)<3)r=X(f[d+288>>2]|0,f[h>>2]|0)|0;else{h=f[i>>2]|0;i=0;g=1;while(1){e=X(f[h+(i<<2)>>2]|0,g)|0;i=i+1|0;if((i|0)>=(c|0)){r=e;break}else g=e}}if(r){r=(c|0)==0;c=(r^1)&1;if(r){s=c;t=8}else{f[l>>2]=1;v=c}}else{s=0;t=8}}else{s=0;t=8}if((t|0)==8){qg[f[(f[d>>2]|0)+12>>2]&1023](d);v=s}if(v|0){u=b;return}v=f[j>>2]|0;f[j>>2]=v+-1;if((v|0)==1)qg[f[(f[q>>2]|0)+8>>2]&1023](q);f[a>>2]=0;f[k>>2]=0;u=b;return}function Mxa(a){a=a|0;GQa(a);return}function Nxa(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function Oxa(a,b,c){a=a|0;b=b|0;c=+c;var d=0;d=f[a+4>>2]|0;return _f[f[(f[d>>2]|0)+16>>2]&3](d,b,c)|0}function Pxa(a,b,c,d,e,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=+g;h=h|0;i=i|0;j=+j;k=k|0;l=+l;m=m|0;n=n|0;o=o|0;var p=0;p=f[a+4>>2]|0;return hg[f[(f[p>>2]|0)+28>>2]&1](p,b,c,d,e,g,h,i,j,k,l,m,n,o)|0}function Qxa(a,c,d,e){a=+a;c=+c;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0.0,m=0;g=u;u=u+16|0;h=g;if((d|0)<1){f[h>>2]=0;f[h+4>>2]=0;i=JV(h,45)|0;j=347860;k=i+45|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-211,h,347906,347927,56);KV(h)}l=a<0.0?0.0:a;a=c<0.0?0.0:c;c=1.0-(l>1.0?1.0:l);l=1.0-+M(+(1.0-(a>1.0?1.0:a)),+(+(d|0)));if(l<2.2250738585072014e-308){m=0;u=g;return m|0}a=+V(+(c<2.2250738585072014e-308?2.2250738585072014e-308:c));c=+V(+l);if(c>=0.0){m=e;u=g;return m|0}if(a<=c*+(e|0)){m=e;u=g;return m|0}m=AEa(a/c)|0;u=g;return m|0}function Rxa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=+e;g=+g;h=h|0;var i=0,j=0;i=EQa(48)|0;LY(i);f[i>>2]=101048;j=f[c>>2]|0;f[i+4>>2]=j;f[i+8>>2]=f[c+4>>2];if(j|0){c=j+4|0;f[c>>2]=(f[c>>2]|0)+1}f[i+12>>2]=d;p[i+24>>3]=e;p[i+32>>3]=g;f[i+40>>2]=h;b[i+16>>0]=0;h=EQa(16)|0;f[h+4>>2]=1;f[h>>2]=101096;f[h+8>>2]=i;f[a>>2]=h;f[a+4>>2]=i;return}function Sxa(a){a=a|0;GQa(a);return}function Txa(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function Uxa(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=101048;b=a+4|0;c=f[b>>2]|0;if(c|0?(d=c+4|0,e=f[d>>2]|0,f[d>>2]=e+-1,(e|0)==1):0)qg[f[(f[c>>2]|0)+8>>2]&1023](c);f[b>>2]=0;f[a+8>>2]=0;DY(a);return}function Vxa(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=101048;b=a+4|0;c=f[b>>2]|0;if(c|0?(d=c+4|0,e=f[d>>2]|0,f[d>>2]=e+-1,(e|0)==1):0)qg[f[(f[c>>2]|0)+8>>2]&1023](c);f[b>>2]=0;f[a+8>>2]=0;DY(a);GQa(a);return}function Wxa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+4|0;d=f[b>>2]|0;e=f[b+4>>2]|0;if(d|0){b=d+4|0;f[b>>2]=(f[b>>2]|0)+1}b=f[c>>2]|0;f[c>>2]=d;f[a+8>>2]=e;if(!b)return;e=b+4|0;a=f[e>>2]|0;f[e>>2]=a+-1;if((a|0)!=1)return;qg[f[(f[b>>2]|0)+8>>2]&1023](b);return}function Xxa(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0.0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0;h=u;u=u+720|0;i=h+656|0;j=h+8|0;k=h+600|0;l=h+544|0;m=h+488|0;n=h+432|0;o=h+376|0;q=h+320|0;r=h+264|0;s=h+208|0;t=h;v=h+152|0;w=h+96|0;x=h+40|0;do if((HJ(c)|0)==65536){y=f[c+4>>2]|0;f[k>>2]=f[y>>2];z=k+4|0;A=y+4|0;f[z>>2]=f[A>>2];B=k+8|0;f[B>>2]=f[y+8>>2];f[k+12>>2]=f[y+12>>2];f[k+16>>2]=f[y+16>>2];f[k+20>>2]=f[y+20>>2];f[k+24>>2]=f[y+24>>2];f[k+28>>2]=f[y+28>>2];f[k+32>>2]=f[y+32>>2];C=f[y+36>>2]|0;f[k+36>>2]=C;f[k+40>>2]=B;B=k+48|0;D=k+44|0;f[D>>2]=B;f[B>>2]=0;f[k+52>>2]=0;if(C|0){B=C+12|0;f[B>>2]=(f[B>>2]|0)+1}if((f[A>>2]|0)<3){A=f[y+44>>2]|0;B=f[D>>2]|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];break}else{f[z>>2]=0;WO(k,y);break}}else DJ(k,c,-1);while(0);do if((HJ(d)|0)==65536){c=f[d+4>>2]|0;f[l>>2]=f[c>>2];y=l+4|0;z=c+4|0;f[y>>2]=f[z>>2];A=l+8|0;f[A>>2]=f[c+8>>2];B=l+12|0;f[B>>2]=f[c+12>>2];f[l+16>>2]=f[c+16>>2];f[l+20>>2]=f[c+20>>2];f[l+24>>2]=f[c+24>>2];f[l+28>>2]=f[c+28>>2];f[l+32>>2]=f[c+32>>2];D=f[c+36>>2]|0;f[l+36>>2]=D;f[l+40>>2]=A;A=l+48|0;C=l+44|0;f[C>>2]=A;f[A>>2]=0;f[l+52>>2]=0;if(D|0){A=D+12|0;f[A>>2]=(f[A>>2]|0)+1}if((f[z>>2]|0)<3){z=f[c+44>>2]|0;A=f[C>>2]|0;f[A>>2]=f[z>>2];f[A+4>>2]=f[z+4>>2];E=B;F=l;break}else{f[y>>2]=0;WO(l,c);E=B;F=l;break}}else{DJ(l,d,-1);E=l+12|0;F=l}while(0);f[m>>2]=1124007936;d=m+4|0;B=m+8|0;c=m+40|0;y=d;z=y+36|0;do{f[y>>2]=0;y=y+4|0}while((y|0)<(z|0));f[c>>2]=B;B=m+48|0;A=m+44|0;f[A>>2]=B;f[B>>2]=0;f[m+52>>2]=0;f[n>>2]=1124007936;C=n+4|0;D=n+8|0;G=n+40|0;y=C;z=y+36|0;do{f[y>>2]=0;y=y+4|0}while((y|0)<(z|0));f[G>>2]=D;H=n+48|0;I=n+44|0;f[I>>2]=H;f[H>>2]=0;f[n+52>>2]=0;f[o>>2]=1124007936;J=o+4|0;K=o+8|0;L=o+40|0;y=J;z=y+36|0;do{f[y>>2]=0;y=y+4|0}while((y|0)<(z|0));f[L>>2]=K;M=o+48|0;N=o+44|0;f[N>>2]=M;f[M>>2]=0;f[o+52>>2]=0;f[q>>2]=1124007936;O=q+4|0;P=q+8|0;Q=q+40|0;y=O;z=y+36|0;do{f[y>>2]=0;y=y+4|0}while((y|0)<(z|0));f[Q>>2]=P;P=q+48|0;R=q+44|0;f[R>>2]=P;f[P>>2]=0;f[q+52>>2]=0;f[r>>2]=1124007936;S=r+4|0;T=r+8|0;U=r+40|0;y=S;z=y+36|0;do{f[y>>2]=0;y=y+4|0}while((y|0)<(z|0));f[U>>2]=T;T=r+48|0;V=r+44|0;f[V>>2]=T;f[T>>2]=0;f[r+52>>2]=0;f[s>>2]=1124007936;W=s+4|0;Y=s+8|0;Z=s+40|0;y=W;z=y+36|0;do{f[y>>2]=0;y=y+4|0}while((y|0)<(z|0));f[Z>>2]=Y;Y=s+48|0;_=s+44|0;f[_>>2]=Y;f[Y>>2]=0;f[s+52>>2]=0;$=f[a+40>>2]|0;aa=($|0)>1?$:1;$=(f[k>>2]|0)>>>3&511;ba=(f[F>>2]|0)>>>3&511;F=f[E>>2]|0;E=jP(k,$|0?$+1|0:f[k+12>>2]|0,-1,1)|0;$=jP(l,ba|0?ba+1|0:F,-1,1)|0;F=t;f[F>>2]=-1;f[F+4>>2]=-1;F=a+8|0;if(!(f[F>>2]|0)){f[i>>2]=0;f[i+4>>2]=0;ba=JV(i,2)|0;b[ba>>0]=99;b[ba+1>>0]=98;EP(-215,i,348888,347927,177);KV(i)}ba=a+32|0;ca=+p[ba>>3];if(!(ca>0.0&ca<1.0)){f[i>>2]=0;f[i+4>>2]=0;y=JV(i,32)|0;da=348072;z=y+32|0;do{b[y>>0]=b[da>>0]|0;y=y+1|0;da=da+1|0}while((y|0)<(z|0));EP(-215,i,348888,347927,178);KV(i)}if(!((E|0)>-1&($|0)==(E|0))){f[i>>2]=0;f[i+4>>2]=0;y=JV(i,29)|0;da=348105;z=y+29|0;do{b[y>>0]=b[da>>0]|0;y=y+1|0;da=da+1|0}while((y|0)<(z|0));EP(-215,i,348888,347927,180);KV(i)}$=a+12|0;if((E|0)<(f[$>>2]|0))ea=0;else{f[v>>2]=1124007936;fa=v+4|0;ga=v+8|0;ha=v+40|0;y=fa;z=y+36|0;do{f[y>>2]=0;y=y+4|0}while((y|0)<(z|0));f[ha>>2]=ga;ia=v+48|0;ja=v+44|0;f[ja>>2]=ia;f[ia>>2]=0;f[v+52>>2]=0;f[w>>2]=1124007936;ka=w+4|0;la=w+8|0;ma=w+40|0;y=ka;z=y+36|0;do{f[y>>2]=0;y=y+4|0}while((y|0)<(z|0));f[ma>>2]=la;na=w+48|0;oa=w+44|0;f[oa>>2]=na;f[na>>2]=0;f[w+52>>2]=0;do if(yK(g)|0){vK(g,E,1,0,-1,1,0);do if((HJ(g)|0)==65536){pa=f[g+4>>2]|0;f[i>>2]=f[pa>>2];qa=i+4|0;ra=pa+4|0;f[qa>>2]=f[ra>>2];sa=i+8|0;f[sa>>2]=f[pa+8>>2];f[i+12>>2]=f[pa+12>>2];f[i+16>>2]=f[pa+16>>2];f[i+20>>2]=f[pa+20>>2];f[i+24>>2]=f[pa+24>>2];f[i+28>>2]=f[pa+28>>2];f[i+32>>2]=f[pa+32>>2];ta=i+36|0;ua=f[pa+36>>2]|0;f[ta>>2]=ua;f[i+40>>2]=sa;sa=i+48|0;va=i+44|0;f[va>>2]=sa;f[sa>>2]=0;f[i+52>>2]=0;if(ua|0){sa=ua+12|0;f[sa>>2]=(f[sa>>2]|0)+1}if((f[ra>>2]|0)<3){ra=f[pa+44>>2]|0;sa=f[va>>2]|0;f[sa>>2]=f[ra>>2];f[sa+4>>2]=f[ra+4>>2];wa=ta;break}else{f[qa>>2]=0;WO(i,pa);wa=ta;break}}else{DJ(i,g,-1);wa=i+36|0}while(0);ta=f[wa>>2]|0;if(ta|0){pa=ta+12|0;f[pa>>2]=(f[pa>>2]|0)+1}pa=w+36|0;ta=f[pa>>2]|0;if(ta|0?(qa=ta+12|0,ta=f[qa>>2]|0,f[qa>>2]=ta+-1,(ta|0)==1):0)XO(w);f[pa>>2]=0;ta=w+16|0;f[ta>>2]=0;f[ta+4>>2]=0;f[ta+8>>2]=0;f[ta+12>>2]=0;if((f[ka>>2]|0)>0){qa=f[ma>>2]|0;ra=0;do{f[qa+(ra<<2)>>2]=0;ra=ra+1|0;xa=f[ka>>2]|0}while((ra|0)<(xa|0));f[w>>2]=f[i>>2];if((xa|0)<3)ya=40;else ya=42}else{f[w>>2]=f[i>>2];ya=40}if((ya|0)==40){ra=f[i+4>>2]|0;if((ra|0)<3){f[ka>>2]=ra;f[la>>2]=f[i+8>>2];f[w+12>>2]=f[i+12>>2];ra=f[i+44>>2]|0;qa=f[oa>>2]|0;f[qa>>2]=f[ra>>2];f[qa+4>>2]=f[ra+4>>2]}else ya=42}if((ya|0)==42)WO(w,i);ra=i+16|0;f[ta>>2]=f[ra>>2];qa=w+20|0;f[qa>>2]=f[i+20>>2];sa=w+24|0;f[sa>>2]=f[i+24>>2];va=w+28|0;f[va>>2]=f[i+28>>2];ua=w+32|0;f[ua>>2]=f[i+32>>2];za=f[wa>>2]|0;f[pa>>2]=za;if(za|0){Aa=za+12|0;f[Aa>>2]=(f[Aa>>2]|0)+1}Aa=v+36|0;za=f[Aa>>2]|0;if(za|0?(Ba=za+12|0,za=f[Ba>>2]|0,f[Ba>>2]=za+-1,(za|0)==1):0)XO(v);f[Aa>>2]=0;za=v+16|0;f[za>>2]=0;f[za+4>>2]=0;f[za+8>>2]=0;f[za+12>>2]=0;if((f[fa>>2]|0)>0){Ba=f[ha>>2]|0;Ca=0;do{f[Ba+(Ca<<2)>>2]=0;Ca=Ca+1|0;Da=f[fa>>2]|0}while((Ca|0)<(Da|0));f[v>>2]=f[w>>2];if((Da|0)<3)ya=53;else ya=55}else{f[v>>2]=f[w>>2];ya=53}if((ya|0)==53){Ca=f[ka>>2]|0;if((Ca|0)<3){f[fa>>2]=Ca;f[ga>>2]=f[la>>2];f[v+12>>2]=f[w+12>>2];Ca=f[oa>>2]|0;Ba=f[ja>>2]|0;f[Ba>>2]=f[Ca>>2];f[Ba+4>>2]=f[Ca+4>>2]}else ya=55}if((ya|0)==55)WO(v,w);f[za>>2]=f[ta>>2];f[v+20>>2]=f[qa>>2];f[v+24>>2]=f[sa>>2];f[v+28>>2]=f[va>>2];f[v+32>>2]=f[ua>>2];f[Aa>>2]=f[pa>>2];Ca=f[wa>>2]|0;if(Ca|0?(Ba=Ca+12|0,Ca=f[Ba>>2]|0,f[Ba>>2]=Ca+-1,(Ca|0)==1):0)XO(i);f[wa>>2]=0;Ca=i+4|0;f[ra>>2]=0;f[ra+4>>2]=0;f[ra+8>>2]=0;f[ra+12>>2]=0;if((f[Ca>>2]|0)>0){Ba=f[i+40>>2]|0;Ea=0;do{f[Ba+(Ea<<2)>>2]=0;Ea=Ea+1|0}while((Ea|0)<(f[Ca>>2]|0))}Ca=f[i+44>>2]|0;if((Ca|0)!=(i+48|0))dX(Ca);Ca=f[w+12>>2]|0;Ea=f[la>>2]|0;if((Ca|0)==1|(Ea|0)==1){Ba=f[ka>>2]|0;if((Ba|0)<3)Fa=X(Ca,Ea)|0;else{Ea=f[ma>>2]|0;Ca=0;ra=1;while(1){pa=X(f[Ea+(Ca<<2)>>2]|0,ra)|0;Ca=Ca+1|0;if((Ca|0)==(Ba|0)){Fa=pa;break}else ra=pa}}if((Fa|0)==(E|0))break}f[i>>2]=0;f[i+4>>2]=0;y=JV(i,76)|0;da=348135;z=y+76|0;do{b[y>>0]=b[da>>0]|0;y=y+1|0;da=da+1|0}while((y|0)<(z|0));EP(-215,i,348888,347927,190);KV(i)}else{if(!(((((f[ka>>2]|0)<3?(f[la>>2]|0)==(E|0):0)?(f[w+12>>2]|0)==1:0)?(f[w>>2]&4095|0)==0:0)?(f[w+16>>2]|0)!=0:0)){f[i>>2]=E;f[i+4>>2]=1;VO(w,2,i,0)}ra=w+36|0;Ba=f[ra>>2]|0;if(Ba|0){Ca=Ba+12|0;f[Ca>>2]=(f[Ca>>2]|0)+1}Ca=v+36|0;Ba=f[Ca>>2]|0;if(Ba|0?(Ea=Ba+12|0,Ba=f[Ea>>2]|0,f[Ea>>2]=Ba+-1,(Ba|0)==1):0)XO(v);f[Ca>>2]=0;Ba=v+16|0;f[Ba>>2]=0;f[Ba+4>>2]=0;f[Ba+8>>2]=0;f[Ba+12>>2]=0;if((f[fa>>2]|0)>0){Ea=f[ha>>2]|0;pa=0;do{f[Ea+(pa<<2)>>2]=0;pa=pa+1|0;Ga=f[fa>>2]|0}while((pa|0)<(Ga|0));f[v>>2]=f[w>>2];if((Ga|0)<3)ya=86;else ya=88}else{f[v>>2]=f[w>>2];ya=86}if((ya|0)==86){pa=f[ka>>2]|0;if((pa|0)<3){f[fa>>2]=pa;f[ga>>2]=f[la>>2];f[v+12>>2]=f[w+12>>2];pa=f[oa>>2]|0;Ea=f[ja>>2]|0;f[Ea>>2]=f[pa>>2];f[Ea+4>>2]=f[pa+4>>2]}else ya=88}if((ya|0)==88)WO(v,w);f[Ba>>2]=f[w+16>>2];f[v+20>>2]=f[w+20>>2];f[v+24>>2]=f[w+24>>2];f[v+28>>2]=f[w+28>>2];f[v+32>>2]=f[w+32>>2];f[Ca>>2]=f[ra>>2]}while(0);ga=f[$>>2]|0;do if((E|0)==(ga|0)){Ga=f[F>>2]|0;Fa=f[(f[Ga>>2]|0)+8>>2]|0;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=k;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=l;wa=x+8|0;f[wa>>2]=0;f[wa+4>>2]=0;f[x>>2]=33619968;f[x+4>>2]=q;if((dg[Fa&63](Ga,i,j,x)|0)<1)Ha=0;else{eM(q,e);p[j>>3]=1.0;p[j+8>>3]=1.0;p[j+16>>3]=1.0;p[j+24>>3]=1.0;f[i>>2]=-1056833530;f[i+4>>2]=j;f[i+8>>2]=1;f[i+12>>2]=4;hM(w,i,BK()|0)|0;Ha=1}}else{if((aa|0)>0){Ga=i+8|0;Fa=i+12|0;wa=i+4|0;Da=j+8|0;xa=j+12|0;g=j+4|0;pa=x+8|0;Ea=x+4|0;Aa=i+4|0;ua=j+4|0;va=a+24|0;sa=i+4|0;qa=i+8|0;ta=i+12|0;za=n+12|0;Ia=i+16|0;Ja=n+16|0;Ka=i+20|0;La=n+20|0;Ma=i+24|0;Na=n+24|0;Oa=i+28|0;Pa=n+28|0;Qa=i+32|0;Ra=n+32|0;Sa=i+36|0;Ta=n+36|0;Ua=i+40|0;Va=i+48|0;Wa=i+44|0;Xa=i+52|0;Ya=w+36|0;Za=w+12|0;_a=w+16|0;$a=w+20|0;ab=w+24|0;bb=w+28|0;cb=w+32|0;db=i+8|0;eb=i+4|0;ca=+(E|0);fb=x+36|0;gb=x+16|0;hb=x+4|0;ib=x+40|0;jb=x+44|0;kb=x+48|0;lb=i+4|0;mb=0;nb=aa;ob=0;pb=ga;while(1){if((E|0)>(pb|0)?!(Yxa(a,k,l,r,s,t,1e4)|0):0){ya=151;break}qb=f[F>>2]|0;rb=f[(f[qb>>2]|0)+8>>2]|0;f[Ga>>2]=0;f[Fa>>2]=0;f[i>>2]=16842752;f[wa>>2]=r;f[Da>>2]=0;f[xa>>2]=0;f[j>>2]=16842752;f[g>>2]=s;sb=pa;f[sb>>2]=0;f[sb+4>>2]=0;f[x>>2]=33619968;f[Ea>>2]=o;sb=dg[rb&63](qb,i,j,x)|0;if((sb|0)<1){tb=nb;ub=ob}else{qb=f[K>>2]|0;if(!((qb|0)%(sb|0)|0))vb=qb;else{f[i>>2]=0;f[lb>>2]=0;y=JV(i,25)|0;da=348212;z=y+25|0;do{b[y>>0]=b[da>>0]|0;y=y+1|0;da=da+1|0}while((y|0)<(z|0));EP(-215,i,348888,347927,224);KV(i);vb=f[K>>2]|0}qb=(vb|0)/(sb|0)|0;rb=0;wb=nb;xb=ob;while(1){yb=X(rb,qb)|0;rb=rb+1|0;zb=X(rb,qb)|0;f[i>>2]=yb;f[Aa>>2]=zb;f[j>>2]=-2147483648;f[ua>>2]=2147483647;YO(x,o,i,j);zb=Zxa(a,k,l,x,m,n,+p[va>>3])|0;yb=(f[$>>2]|0)+-1|0;if((zb|0)>(((xb|0)<(yb|0)?yb:xb)|0)){f[i>>2]=f[n>>2];yb=f[C>>2]|0;f[sa>>2]=yb;f[qa>>2]=f[D>>2];f[ta>>2]=f[za>>2];f[Ia>>2]=f[Ja>>2];f[Ka>>2]=f[La>>2];f[Ma>>2]=f[Na>>2];f[Oa>>2]=f[Pa>>2];f[Qa>>2]=f[Ra>>2];Ab=f[Ta>>2]|0;f[Sa>>2]=Ab;f[Ua>>2]=qa;f[Wa>>2]=Va;f[Va>>2]=0;f[Xa>>2]=0;if(!Ab)Bb=yb;else{yb=Ab+12|0;f[yb>>2]=(f[yb>>2]|0)+1;Bb=f[C>>2]|0}if((Bb|0)<3){yb=f[I>>2]|0;Ab=f[Wa>>2]|0;f[Ab>>2]=f[yb>>2];f[Ab+4>>2]=f[yb+4>>2]}else{f[sa>>2]=0;WO(i,n)}yb=f[Ya>>2]|0;if(yb|0){Ab=yb+12|0;f[Ab>>2]=(f[Ab>>2]|0)+1}Ab=f[Ta>>2]|0;do if(Ab|0){yb=Ab+12|0;Cb=f[yb>>2]|0;f[yb>>2]=Cb+-1;if((Cb|0)!=1)break;XO(n)}while(0);f[Ta>>2]=0;f[Ja>>2]=0;f[Ja+4>>2]=0;f[Ja+8>>2]=0;f[Ja+12>>2]=0;if((f[C>>2]|0)>0){Ab=f[G>>2]|0;Cb=0;do{f[Ab+(Cb<<2)>>2]=0;Cb=Cb+1|0;Db=f[C>>2]|0}while((Cb|0)<(Db|0));f[n>>2]=f[w>>2];if((Db|0)<3)ya=117;else ya=119}else{f[n>>2]=f[w>>2];ya=117}do if((ya|0)==117){ya=0;Cb=f[ka>>2]|0;if((Cb|0)>=3){ya=119;break}f[C>>2]=Cb;f[D>>2]=f[la>>2];f[za>>2]=f[Za>>2];Cb=f[oa>>2]|0;Ab=f[I>>2]|0;f[Ab>>2]=f[Cb>>2];f[Ab+4>>2]=f[Cb+4>>2]}while(0);if((ya|0)==119){ya=0;WO(n,w)}f[Ja>>2]=f[_a>>2];f[La>>2]=f[$a>>2];f[Na>>2]=f[ab>>2];f[Pa>>2]=f[bb>>2];f[Ra>>2]=f[cb>>2];Cb=f[Ya>>2]|0;f[Ta>>2]=Cb;Ab=f[Sa>>2]|0;if(!Ab)Eb=Cb;else{Cb=Ab+12|0;f[Cb>>2]=(f[Cb>>2]|0)+1;Eb=f[Ya>>2]|0}do if(Eb|0){Cb=Eb+12|0;Ab=f[Cb>>2]|0;f[Cb>>2]=Ab+-1;if((Ab|0)!=1)break;XO(w)}while(0);f[Ya>>2]=0;f[_a>>2]=0;f[_a+4>>2]=0;f[_a+8>>2]=0;f[_a+12>>2]=0;if((f[ka>>2]|0)>0){Ab=f[ma>>2]|0;Cb=0;do{f[Ab+(Cb<<2)>>2]=0;Cb=Cb+1|0;Fb=f[ka>>2]|0}while((Cb|0)<(Fb|0));f[w>>2]=f[i>>2];if((Fb|0)<3)ya=130;else ya=132}else{f[w>>2]=f[i>>2];ya=130}do if((ya|0)==130){ya=0;Cb=f[sa>>2]|0;if((Cb|0)>=3){ya=132;break}f[ka>>2]=Cb;f[la>>2]=f[qa>>2];f[Za>>2]=f[ta>>2];Cb=f[Wa>>2]|0;Ab=f[oa>>2]|0;f[Ab>>2]=f[Cb>>2];f[Ab+4>>2]=f[Cb+4>>2]}while(0);if((ya|0)==132){ya=0;WO(w,i)}f[_a>>2]=f[Ia>>2];f[$a>>2]=f[Ka>>2];f[ab>>2]=f[Ma>>2];f[bb>>2]=f[Oa>>2];f[cb>>2]=f[Qa>>2];Cb=f[Sa>>2]|0;f[Ya>>2]=Cb;do if(Cb|0){Ab=Cb+12|0;yb=f[Ab>>2]|0;f[Ab>>2]=yb+-1;if((yb|0)!=1)break;XO(i)}while(0);f[Sa>>2]=0;f[Ia>>2]=0;f[Ia+4>>2]=0;f[Ia+8>>2]=0;f[Ia+12>>2]=0;if((f[sa>>2]|0)>0){Cb=f[Ua>>2]|0;yb=0;do{f[Cb+(yb<<2)>>2]=0;yb=yb+1|0}while((yb|0)<(f[sa>>2]|0))}yb=f[Wa>>2]|0;if((yb|0)!=(Va|0))dX(yb);yb=db;f[yb>>2]=0;f[yb+4>>2]=0;f[i>>2]=33619968;f[eb>>2]=q;eM(x,i);Gb=Qxa(+p[ba>>3],+(E-zb|0)/ca,f[$>>2]|0,wb)|0;Hb=zb}else{Gb=wb;Hb=xb}yb=f[fb>>2]|0;do if(yb|0){Cb=yb+12|0;Ab=f[Cb>>2]|0;f[Cb>>2]=Ab+-1;if((Ab|0)!=1)break;XO(x)}while(0);f[fb>>2]=0;f[gb>>2]=0;f[gb+4>>2]=0;f[gb+8>>2]=0;f[gb+12>>2]=0;if((f[hb>>2]|0)>0){yb=f[ib>>2]|0;zb=0;do{f[yb+(zb<<2)>>2]=0;zb=zb+1|0}while((zb|0)<(f[hb>>2]|0))}zb=f[jb>>2]|0;if((zb|0)!=(kb|0))dX(zb);if((rb|0)>=(sb|0)){tb=Gb;ub=Hb;break}else{wb=Gb;xb=Hb}}}xb=mb+1|0;if((xb|0)>=(tb|0)){Ib=ub;break}mb=xb;nb=tb;ob=ub;pb=f[$>>2]|0}if((ya|0)==151)if(!mb){Ha=0;break}else Ib=ob;if((Ib|0)>0){do if((f[w+16>>2]|0)!=(f[v+16>>2]|0)){pb=f[ma>>2]|0;nb=f[ha>>2]|0;if((f[pb>>2]|0)==(f[nb>>2]|0)?(f[pb+4>>2]|0)==(f[nb+4>>2]|0):0){nb=i+8|0;f[nb>>2]=0;f[nb+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=v;eM(w,i);break}else{f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=w;nb=j+8|0;f[nb>>2]=0;f[nb+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=v;DD(i,j);break}}while(0);eM(q,e);Ha=1;break}}YJ(e);Ha=0}while(0);e=w+36|0;j=f[e>>2]|0;if(j|0?(i=j+12|0,j=f[i>>2]|0,f[i>>2]=j+-1,(j|0)==1):0)XO(w);f[e>>2]=0;e=w+16|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;if((f[ka>>2]|0)>0){e=f[ma>>2]|0;ma=0;do{f[e+(ma<<2)>>2]=0;ma=ma+1|0}while((ma|0)<(f[ka>>2]|0))}ka=f[oa>>2]|0;if((ka|0)!=(na|0))dX(ka);ka=v+36|0;na=f[ka>>2]|0;if(na|0?(oa=na+12|0,na=f[oa>>2]|0,f[oa>>2]=na+-1,(na|0)==1):0)XO(v);f[ka>>2]=0;ka=v+16|0;f[ka>>2]=0;f[ka+4>>2]=0;f[ka+8>>2]=0;f[ka+12>>2]=0;if((f[fa>>2]|0)>0){ka=f[ha>>2]|0;ha=0;do{f[ka+(ha<<2)>>2]=0;ha=ha+1|0}while((ha|0)<(f[fa>>2]|0))}fa=f[ja>>2]|0;if((fa|0)!=(ia|0))dX(fa);ea=Ha}Ha=s+36|0;fa=f[Ha>>2]|0;if(fa|0?(ia=fa+12|0,fa=f[ia>>2]|0,f[ia>>2]=fa+-1,(fa|0)==1):0)XO(s);f[Ha>>2]=0;Ha=s+16|0;f[Ha>>2]=0;f[Ha+4>>2]=0;f[Ha+8>>2]=0;f[Ha+12>>2]=0;if((f[W>>2]|0)>0){Ha=f[Z>>2]|0;Z=0;do{f[Ha+(Z<<2)>>2]=0;Z=Z+1|0}while((Z|0)<(f[W>>2]|0))}W=f[_>>2]|0;if((W|0)!=(Y|0))dX(W);W=r+36|0;Y=f[W>>2]|0;if(Y|0?(_=Y+12|0,Y=f[_>>2]|0,f[_>>2]=Y+-1,(Y|0)==1):0)XO(r);f[W>>2]=0;W=r+16|0;f[W>>2]=0;f[W+4>>2]=0;f[W+8>>2]=0;f[W+12>>2]=0;if((f[S>>2]|0)>0){W=f[U>>2]|0;U=0;do{f[W+(U<<2)>>2]=0;U=U+1|0}while((U|0)<(f[S>>2]|0))}S=f[V>>2]|0;if((S|0)!=(T|0))dX(S);S=q+36|0;T=f[S>>2]|0;if(T|0?(V=T+12|0,T=f[V>>2]|0,f[V>>2]=T+-1,(T|0)==1):0)XO(q);f[S>>2]=0;S=q+16|0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;f[S+12>>2]=0;if((f[O>>2]|0)>0){S=f[Q>>2]|0;Q=0;do{f[S+(Q<<2)>>2]=0;Q=Q+1|0}while((Q|0)<(f[O>>2]|0))}O=f[R>>2]|0;if((O|0)!=(P|0))dX(O);O=o+36|0;P=f[O>>2]|0;if(P|0?(R=P+12|0,P=f[R>>2]|0,f[R>>2]=P+-1,(P|0)==1):0)XO(o);f[O>>2]=0;O=o+16|0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[O+12>>2]=0;if((f[J>>2]|0)>0){O=f[L>>2]|0;L=0;do{f[O+(L<<2)>>2]=0;L=L+1|0}while((L|0)<(f[J>>2]|0))}J=f[N>>2]|0;if((J|0)!=(M|0))dX(J);J=n+36|0;M=f[J>>2]|0;do if(M|0){N=M+12|0;L=f[N>>2]|0;f[N>>2]=L+-1;if((L|0)!=1)break;XO(n)}while(0);f[J>>2]=0;J=n+16|0;f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[J+12>>2]=0;if((f[C>>2]|0)>0){J=f[G>>2]|0;G=0;do{f[J+(G<<2)>>2]=0;G=G+1|0}while((G|0)<(f[C>>2]|0))}C=f[I>>2]|0;if((C|0)!=(H|0))dX(C);C=m+36|0;H=f[C>>2]|0;do if(H|0){I=H+12|0;G=f[I>>2]|0;f[I>>2]=G+-1;if((G|0)!=1)break;XO(m)}while(0);f[C>>2]=0;C=m+16|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;f[C+12>>2]=0;if((f[d>>2]|0)>0){C=f[c>>2]|0;c=0;do{f[C+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[d>>2]|0))}d=f[A>>2]|0;if((d|0)!=(B|0))dX(d);d=l+36|0;B=f[d>>2]|0;do if(B|0){A=B+12|0;c=f[A>>2]|0;f[A>>2]=c+-1;if((c|0)!=1)break;XO(l)}while(0);f[d>>2]=0;d=l+16|0;B=l+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[B>>2]|0)>0){d=f[l+40>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[B>>2]|0))}B=f[l+44>>2]|0;if((B|0)!=(l+48|0))dX(B);B=k+36|0;l=f[B>>2]|0;do if(l|0){c=l+12|0;d=f[c>>2]|0;f[c>>2]=d+-1;if((d|0)!=1)break;XO(k)}while(0);f[B>>2]=0;B=k+16|0;l=k+4|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;if((f[l>>2]|0)>0){B=f[k+40>>2]|0;d=0;do{f[B+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[l>>2]|0))}l=f[k+44>>2]|0;if((l|0)==(k+48|0)){u=h;return ea|0}dX(l);u=h;return ea|0}function Yxa(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;j=u;u=u+1104|0;k=j+1080|0;l=j+16|0;m=j;n=a+12|0;o=f[n>>2]|0;p=l+8|0;f[l>>2]=p;q=l+4|0;f[q>>2]=o;if(o>>>0>264){r=FQa(o>>>0>1073741823?-1:o<<2)|0;f[l>>2]=r;s=r}else s=p;r=f[c>>2]|0;o=r>>>3&511;t=o|0?o+1|0:f[c+12>>2]|0;o=f[d>>2]|0;v=o>>>3&511;w=v|0?v+1|0:f[d+12>>2]|0;v=X(1212424721>>>(r<<2&28)&15,t)|0;r=X(1212424721>>>(o<<2&28)&15,w)|0;o=jP(c,t,-1,1)|0;x=jP(d,w,-1,1)|0;y=f[c+16>>2]|0;z=f[d+16>>2]|0;A=f[n>>2]|0;B=f[c>>2]&7|(t<<3)+4088&4088;if(((((f[e+4>>2]|0)<3?(f[e+8>>2]|0)==(A|0):0)?(f[e+12>>2]|0)==1:0)?(f[e>>2]&4095|0)==(B|0):0)?(f[e+16>>2]|0)!=0:0)C=A;else{f[k>>2]=A;f[k+4>>2]=1;VO(e,2,k,B);C=f[n>>2]|0}B=f[d>>2]&7|(w<<3)+4088&4088;if(((((f[g+4>>2]|0)<3?(f[g+8>>2]|0)==(C|0):0)?(f[g+12>>2]|0)==1:0)?(f[g>>2]&4095|0)==(B|0):0)?(w=f[g+16>>2]|0,(w|0)!=0):0){D=w;E=C}else{f[k>>2]=C;f[k+4>>2]=1;VO(g,2,k,B);D=f[g+16>>2]|0;E=f[n>>2]|0}B=f[e+16>>2]|0;if(!((o|0)==(x|0)&(o|0)>=(E|0))){f[k>>2]=0;f[k+4>>2]=0;F=JV(k,39)|0;G=348331;H=F+39|0;do{b[F>>0]=b[G>>0]|0;F=F+1|0;G=G+1|0}while((F|0)<(H|0));EP(-215,k,348371,347927,123);KV(k)}if((r|v)&3|0){f[k>>2]=0;f[k+4>>2]=0;F=JV(k,54)|0;G=348381;H=F+54|0;do{b[F>>0]=b[G>>0]|0;F=F+1|0;G=G+1|0}while((F|0)<(H|0));EP(-215,k,348371,347927,124);KV(k)}G=v>>>2;v=r>>>2;a:do if((i|0)>0){r=a+16|0;F=a+8|0;H=k+8|0;E=k+12|0;x=k+4|0;C=m+8|0;w=m+12|0;d=m+4|0;A=(o|0)==0;t=(G|0)==0;c=(v|0)==0;J=k+8|0;K=k+12|0;L=k+4|0;M=m+8|0;N=m+12|0;O=m+4|0;P=0;while(1){Q=f[n>>2]|0;b:do if((P|0)<(i|0)&(Q|0)>0){R=0;S=P;while(1){T=R;while(1){U=s+(T<<2)|0;V=(T|0)>0;do if(A){if(!V){W=(T|0)==0;do{}while(!W);f[U>>2]=0;Y=0;break}do{f[U>>2]=0;W=0;while(1){if(!(f[s+(W<<2)>>2]|0)){Z=W;break}_=W+1|0;if((_|0)<(T|0))W=_;else{Z=_;break}}}while((Z|0)!=(T|0));Y=0}else{W=h;_=f[W>>2]|0;$=f[W+4>>2]|0;do{W=wVa(_|0,0,-130063606,0)|0;_=qVa(W|0,I|0,$|0,0)|0;$=I;aa=(_>>>0)%(o>>>0)|0;f[U>>2]=aa;c:do if(V){W=0;while(1){if((aa|0)==(f[s+(W<<2)>>2]|0)){ba=W;break c}ca=W+1|0;if((ca|0)<(T|0))W=ca;else{ba=ca;break}}}else ba=0;while(0)}while((ba|0)!=(T|0));W=h;f[W>>2]=_;f[W+4>>2]=$;Y=aa}while(0);if(!t){V=X(Y,G)|0;U=X(T,G)|0;W=0;do{f[B+(W+U<<2)>>2]=f[y+(W+V<<2)>>2];W=W+1|0}while((W|0)!=(G|0))}if(!c){W=X(Y,v)|0;V=X(T,v)|0;U=0;do{f[D+(U+V<<2)>>2]=f[z+(U+W<<2)>>2];U=U+1|0}while((U|0)!=(v|0))}if(b[r>>0]|0){U=f[F>>2]|0;W=f[(f[U>>2]|0)+16>>2]|0;f[J>>2]=0;f[K>>2]=0;f[k>>2]=16842752;f[L>>2]=e;f[M>>2]=0;f[N>>2]=0;f[m>>2]=16842752;f[O>>2]=g;da=T+1|0;if(dg[W&63](U,k,m,da)|0)ea=da;else break}else ea=T+1|0;U=f[n>>2]|0;if((ea|0)<(U|0))T=ea;else{fa=ea;ga=S;ha=U;break b}}if(!da)ia=0;else{T=h;U=f[T+4>>2]|0;W=wVa(f[T>>2]|0,0,-130063606,0)|0;T=qVa(W|0,I|0,U|0,0)|0;U=h;f[U>>2]=T;f[U+4>>2]=I;ia=(T>>>0)%(da>>>0)|0}T=S+1|0;U=f[n>>2]|0;if((T|0)<(i|0)&(ia|0)<(U|0)){R=ia;S=T}else{fa=ia;ga=T;ha=U;break}}}else{fa=0;ga=P;ha=Q}while(0);if(!((fa|0)==(ha|0)&(b[r>>0]|0)==0)){ja=fa;ka=ga;break a}Q=f[F>>2]|0;S=f[(f[Q>>2]|0)+16>>2]|0;f[H>>2]=0;f[E>>2]=0;f[k>>2]=16842752;f[x>>2]=e;f[C>>2]=0;f[w>>2]=0;f[m>>2]=16842752;f[d>>2]=g;if(dg[S&63](Q,k,m,fa)|0){ja=fa;ka=ga;break a}Q=ga+1|0;if((Q|0)<(i|0))P=Q;else{ja=fa;ka=Q;break}}}else{ja=0;ka=0}while(0);fa=(ka|0)<(i|0)?(ja|0)==(f[n>>2]|0):0;n=f[l>>2]|0;if((n|0)==(p|0)){u=j;return fa|0}if(n|0)HQa(n);f[l>>2]=p;f[q>>2]=264;u=j;return fa|0}function Zxa(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=+i;var j=0,k=0,l=0,m=0,o=0,p=0,q=0.0,r=0,s=0,t=0,v=0;j=u;u=u+64|0;k=j+48|0;l=j+32|0;m=j+16|0;o=j;p=f[a+8>>2]|0;a=f[(f[p>>2]|0)+12>>2]|0;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=c;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=d;f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=e;e=o+8|0;f[e>>2]=0;f[e+4>>2]=0;f[o>>2]=33619968;f[o+4>>2]=g;Sh[a&255](p,k,l,m,o);o=g+40|0;m=f[o>>2]|0;l=f[m+4>>2]|0;p=f[m>>2]|0;if(!(((((f[h+4>>2]|0)<3?(f[h+8>>2]|0)==(p|0):0)?(f[h+12>>2]|0)==(l|0):0)?(f[h>>2]&4095|0)==0:0)?(f[h+16>>2]|0)!=0:0)){f[k>>2]=p;f[k+4>>2]=l;VO(h,2,k,0)}if(!((f[g>>2]&20479|0)==16389?(f[h>>2]&20479|0)==16384:0)){f[k>>2]=0;f[k+4>>2]=0;l=JV(k,80)|0;p=348238;m=l+80|0;do{b[l>>0]=b[p>>0]|0;l=l+1|0;p=p+1|0}while((l|0)<(m|0));EP(-215,k,348319,347927,91);KV(k)}k=f[g+16>>2]|0;p=f[h+16>>2]|0;q=i*i;h=f[g+4>>2]|0;if((h|0)<3)r=X(f[g+12>>2]|0,f[g+8>>2]|0)|0;else{g=f[o>>2]|0;o=0;l=1;while(1){m=X(f[g+(o<<2)>>2]|0,l)|0;o=o+1|0;if((o|0)==(h|0)){r=m;break}else l=m}}if((r|0)>0){s=0;t=0}else{v=0;u=j;return v|0}while(1){l=+n[k+(t<<2)>>2]<=q;b[p+t>>0]=l&1;h=s+(l&1)|0;t=t+1|0;if((t|0)==(r|0)){v=h;break}else s=h}u=j;return v|0}function _xa(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;var h=0,i=0;h=EQa(48)|0;LY(h);f[h>>2]=101048;i=f[c>>2]|0;f[h+4>>2]=i;f[h+8>>2]=f[c+4>>2];if(i|0){c=i+4|0;f[c>>2]=(f[c>>2]|0)+1}f[h+12>>2]=d;p[h+24>>3]=0.0;p[h+32>>3]=e;f[h+40>>2]=g;b[h+16>>0]=0;f[h>>2]=101116;g=EQa(16)|0;f[g+4>>2]=1;f[g>>2]=101164;f[g+8>>2]=h;f[a>>2]=g;f[a+4>>2]=h;return}function $xa(a){a=a|0;GQa(a);return}function aya(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function bya(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=101048;b=a+4|0;c=f[b>>2]|0;if(c|0?(d=c+4|0,e=f[d>>2]|0,f[d>>2]=e+-1,(e|0)==1):0)qg[f[(f[c>>2]|0)+8>>2]&1023](c);f[b>>2]=0;f[a+8>>2]=0;DY(a);GQa(a);return}function cya(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0.0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0.0,yb=0,zb=0.0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0.0,Jb=0.0,Kb=0.0;h=u;u=u+752|0;i=h+40|0;j=h+8|0;k=h+688|0;l=h+632|0;m=h+576|0;o=h+520|0;q=h+464|0;r=h+408|0;s=h+352|0;t=h+296|0;v=h+240|0;w=h+184|0;x=h;y=h+128|0;z=h+112|0;A=h+96|0;do if((HJ(c)|0)==65536){B=f[c+4>>2]|0;f[k>>2]=f[B>>2];C=k+4|0;D=B+4|0;f[C>>2]=f[D>>2];E=k+8|0;f[E>>2]=f[B+8>>2];f[k+12>>2]=f[B+12>>2];f[k+16>>2]=f[B+16>>2];f[k+20>>2]=f[B+20>>2];f[k+24>>2]=f[B+24>>2];f[k+28>>2]=f[B+28>>2];f[k+32>>2]=f[B+32>>2];F=f[B+36>>2]|0;f[k+36>>2]=F;f[k+40>>2]=E;E=k+48|0;G=k+44|0;f[G>>2]=E;f[E>>2]=0;f[k+52>>2]=0;if(F|0){E=F+12|0;f[E>>2]=(f[E>>2]|0)+1}if((f[D>>2]|0)<3){D=f[B+44>>2]|0;E=f[G>>2]|0;f[E>>2]=f[D>>2];f[E+4>>2]=f[D+4>>2];break}else{f[C>>2]=0;WO(k,B);break}}else DJ(k,c,-1);while(0);do if((HJ(d)|0)==65536){c=f[d+4>>2]|0;f[l>>2]=f[c>>2];B=l+4|0;C=c+4|0;f[B>>2]=f[C>>2];D=l+8|0;f[D>>2]=f[c+8>>2];E=l+12|0;f[E>>2]=f[c+12>>2];f[l+16>>2]=f[c+16>>2];f[l+20>>2]=f[c+20>>2];f[l+24>>2]=f[c+24>>2];f[l+28>>2]=f[c+28>>2];f[l+32>>2]=f[c+32>>2];G=f[c+36>>2]|0;f[l+36>>2]=G;f[l+40>>2]=D;D=l+48|0;F=l+44|0;f[F>>2]=D;f[D>>2]=0;f[l+52>>2]=0;if(G|0){D=G+12|0;f[D>>2]=(f[D>>2]|0)+1}if((f[C>>2]|0)<3){C=f[c+44>>2]|0;D=f[F>>2]|0;f[D>>2]=f[C>>2];f[D+4>>2]=f[C+4>>2];H=E;I=l;break}else{f[B>>2]=0;WO(l,c);H=E;I=l;break}}else{DJ(l,d,-1);H=l+12|0;I=l}while(0);f[m>>2]=1124007936;d=m+4|0;E=m+8|0;c=m+40|0;B=d;C=B+36|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));f[c>>2]=E;E=m+48|0;D=m+44|0;f[D>>2]=E;f[E>>2]=0;f[m+52>>2]=0;f[o>>2]=1124007936;F=o+4|0;G=o+8|0;J=o+40|0;B=F;C=B+36|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));f[J>>2]=G;G=o+48|0;K=o+44|0;f[K>>2]=G;f[G>>2]=0;f[o+52>>2]=0;f[q>>2]=1124007936;M=q+4|0;N=q+8|0;O=q+40|0;B=M;C=B+36|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));f[O>>2]=N;P=q+48|0;Q=q+44|0;f[Q>>2]=P;f[P>>2]=0;f[q+52>>2]=0;f[r>>2]=1124007936;R=r+4|0;S=r+8|0;T=r+40|0;B=R;C=B+36|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));f[T>>2]=S;U=r+48|0;V=r+44|0;f[V>>2]=U;f[U>>2]=0;f[r+52>>2]=0;f[s>>2]=1124007936;W=s+4|0;Y=s+8|0;Z=s+40|0;B=W;C=B+36|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));f[Z>>2]=Y;_=s+48|0;$=s+44|0;f[$>>2]=_;f[_>>2]=0;f[s+52>>2]=0;f[t>>2]=1124007936;aa=t+4|0;ba=t+8|0;ca=t+40|0;B=aa;C=B+36|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));f[ca>>2]=ba;ba=t+48|0;da=t+44|0;f[da>>2]=ba;f[ba>>2]=0;f[t+52>>2]=0;f[v>>2]=1124007936;ea=v+4|0;fa=v+8|0;ga=v+40|0;B=ea;C=B+36|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));f[ga>>2]=fa;ha=v+48|0;ia=v+44|0;f[ia>>2]=ha;f[ha>>2]=0;f[v+52>>2]=0;f[w>>2]=1124007936;ja=w+4|0;ka=w+8|0;la=w+40|0;B=ja;C=B+36|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));f[la>>2]=ka;ma=w+48|0;na=w+44|0;f[na>>2]=ma;f[ma>>2]=0;f[w+52>>2]=0;oa=(f[k>>2]|0)>>>3&511;pa=(f[I>>2]|0)>>>3&511;I=f[H>>2]|0;H=jP(k,oa|0?oa+1|0:f[k+12>>2]|0,-1,1)|0;oa=jP(l,pa|0?pa+1|0:I,-1,1)|0;I=x;f[I>>2]=-1;f[I+4>>2]=-1;I=a+8|0;if(!(f[I>>2]|0)){f[i>>2]=0;f[i+4>>2]=0;pa=JV(i,2)|0;b[pa>>0]=99;b[pa+1>>0]=98;EP(-215,i,348888,347927,291);KV(i)}pa=a+32|0;qa=+p[pa>>3];if(!(qa>0.0&qa<1.0)){f[i>>2]=0;f[i+4>>2]=0;B=JV(i,32)|0;ra=348072;C=B+32|0;do{b[B>>0]=b[ra>>0]|0;B=B+1|0;ra=ra+1|0}while((B|0)<(C|0));EP(-215,i,348888,347927,292);KV(i)}if(!((H|0)>-1&(oa|0)==(H|0))){f[i>>2]=0;f[i+4>>2]=0;B=JV(i,29)|0;ra=348105;C=B+29|0;do{b[B>>0]=b[ra>>0]|0;B=B+1|0;ra=ra+1|0}while((B|0)<(C|0));EP(-215,i,348888,347927,294);KV(i)}oa=a+12|0;do if((H|0)<(f[oa>>2]|0))sa=0;else{do if(yK(g)|0){vK(g,H,1,0,-1,1,0);do if((HJ(g)|0)==65536){ta=f[g+4>>2]|0;f[i>>2]=f[ta>>2];ua=i+4|0;va=ta+4|0;f[ua>>2]=f[va>>2];wa=i+8|0;f[wa>>2]=f[ta+8>>2];f[i+12>>2]=f[ta+12>>2];f[i+16>>2]=f[ta+16>>2];f[i+20>>2]=f[ta+20>>2];f[i+24>>2]=f[ta+24>>2];f[i+28>>2]=f[ta+28>>2];f[i+32>>2]=f[ta+32>>2];xa=i+36|0;ya=f[ta+36>>2]|0;f[xa>>2]=ya;f[i+40>>2]=wa;wa=i+48|0;za=i+44|0;f[za>>2]=wa;f[wa>>2]=0;f[i+52>>2]=0;if(ya|0){wa=ya+12|0;f[wa>>2]=(f[wa>>2]|0)+1}if((f[va>>2]|0)<3){va=f[ta+44>>2]|0;wa=f[za>>2]|0;f[wa>>2]=f[va>>2];f[wa+4>>2]=f[va+4>>2];Aa=xa;break}else{f[ua>>2]=0;WO(i,ta);Aa=xa;break}}else{DJ(i,g,-1);Aa=i+36|0}while(0);xa=f[Aa>>2]|0;if(xa|0){ta=xa+12|0;f[ta>>2]=(f[ta>>2]|0)+1}ta=v+36|0;xa=f[ta>>2]|0;if(xa|0?(ua=xa+12|0,xa=f[ua>>2]|0,f[ua>>2]=xa+-1,(xa|0)==1):0)XO(v);f[ta>>2]=0;xa=v+16|0;f[xa>>2]=0;f[xa+4>>2]=0;f[xa+8>>2]=0;f[xa+12>>2]=0;if((f[ea>>2]|0)>0){ua=f[ga>>2]|0;va=0;do{f[ua+(va<<2)>>2]=0;va=va+1|0;Ba=f[ea>>2]|0}while((va|0)<(Ba|0));f[v>>2]=f[i>>2];if((Ba|0)<3)Ca=40;else Ca=42}else{f[v>>2]=f[i>>2];Ca=40}if((Ca|0)==40){va=f[i+4>>2]|0;if((va|0)<3){f[ea>>2]=va;f[fa>>2]=f[i+8>>2];f[v+12>>2]=f[i+12>>2];va=f[i+44>>2]|0;ua=f[ia>>2]|0;f[ua>>2]=f[va>>2];f[ua+4>>2]=f[va+4>>2]}else Ca=42}if((Ca|0)==42)WO(v,i);va=i+16|0;f[xa>>2]=f[va>>2];ua=v+20|0;f[ua>>2]=f[i+20>>2];wa=v+24|0;f[wa>>2]=f[i+24>>2];za=v+28|0;f[za>>2]=f[i+28>>2];ya=v+32|0;f[ya>>2]=f[i+32>>2];Da=f[Aa>>2]|0;f[ta>>2]=Da;if(Da|0){Ea=Da+12|0;f[Ea>>2]=(f[Ea>>2]|0)+1}Ea=w+36|0;Da=f[Ea>>2]|0;if(Da|0?(Fa=Da+12|0,Da=f[Fa>>2]|0,f[Fa>>2]=Da+-1,(Da|0)==1):0)XO(w);f[Ea>>2]=0;Da=w+16|0;f[Da>>2]=0;f[Da+4>>2]=0;f[Da+8>>2]=0;f[Da+12>>2]=0;if((f[ja>>2]|0)>0){Fa=f[la>>2]|0;Ga=0;do{f[Fa+(Ga<<2)>>2]=0;Ga=Ga+1|0;Ha=f[ja>>2]|0}while((Ga|0)<(Ha|0));f[w>>2]=f[v>>2];if((Ha|0)<3)Ca=53;else Ca=55}else{f[w>>2]=f[v>>2];Ca=53}if((Ca|0)==53){Ga=f[ea>>2]|0;if((Ga|0)<3){f[ja>>2]=Ga;f[ka>>2]=f[fa>>2];f[w+12>>2]=f[v+12>>2];Ga=f[ia>>2]|0;Fa=f[na>>2]|0;f[Fa>>2]=f[Ga>>2];f[Fa+4>>2]=f[Ga+4>>2]}else Ca=55}if((Ca|0)==55)WO(w,v);f[Da>>2]=f[xa>>2];f[w+20>>2]=f[ua>>2];f[w+24>>2]=f[wa>>2];f[w+28>>2]=f[za>>2];f[w+32>>2]=f[ya>>2];f[Ea>>2]=f[ta>>2];Ga=f[Aa>>2]|0;if(Ga|0?(Fa=Ga+12|0,Ga=f[Fa>>2]|0,f[Fa>>2]=Ga+-1,(Ga|0)==1):0)XO(i);f[Aa>>2]=0;Ga=i+4|0;f[va>>2]=0;f[va+4>>2]=0;f[va+8>>2]=0;f[va+12>>2]=0;if((f[Ga>>2]|0)>0){Fa=f[i+40>>2]|0;Ia=0;do{f[Fa+(Ia<<2)>>2]=0;Ia=Ia+1|0}while((Ia|0)<(f[Ga>>2]|0))}Ga=f[i+44>>2]|0;if((Ga|0)!=(i+48|0))dX(Ga);Ga=f[v+12>>2]|0;Ia=f[fa>>2]|0;if((Ga|0)==1|(Ia|0)==1){Fa=f[ea>>2]|0;if((Fa|0)<3)Ja=X(Ga,Ia)|0;else{Ia=f[ga>>2]|0;Ga=0;va=1;while(1){ta=X(f[Ia+(Ga<<2)>>2]|0,va)|0;Ga=Ga+1|0;if((Ga|0)==(Fa|0)){Ja=ta;break}else va=ta}}if((Ja|0)==(H|0))break}f[i>>2]=0;f[i+4>>2]=0;B=JV(i,64)|0;ra=348580;C=B+64|0;do{b[B>>0]=b[ra>>0]|0;B=B+1|0;ra=ra+1|0}while((B|0)<(C|0));EP(-215,i,348888,347927,302);KV(i)}while(0);va=f[oa>>2]|0;if((H|0)==(va|0)){Fa=f[I>>2]|0;Ga=f[(f[Fa>>2]|0)+8>>2]|0;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=k;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=l;Ia=y+8|0;f[Ia>>2]=0;f[Ia+4>>2]=0;f[y>>2]=33619968;f[y+4>>2]=t;if((dg[Ga&63](Fa,i,j,y)|0)<1){sa=0;break}eM(t,e);p[j>>3]=1.0;p[j+8>>3]=1.0;p[j+16>>3]=1.0;p[j+24>>3]=1.0;f[i>>2]=-1056833530;f[i+4>>2]=j;f[i+8>>2]=1;f[i+12>>2]=4;hM(v,i,BK()|0)|0;sa=1;break}Fa=Qxa(+p[pa>>3],.45,va,f[a+40>>2]|0)|0;va=(Fa|0)>3?Fa:3;if((va|0)>0){Fa=i+8|0;Ga=i+12|0;Ia=i+4|0;ta=j+8|0;Ea=j+12|0;ya=j+4|0;za=y+8|0;wa=y+4|0;ua=i+4|0;xa=j+4|0;Da=i+8|0;Ka=i+12|0;La=i+4|0;Ma=j+8|0;Na=j+12|0;Oa=j+4|0;Pa=z+8|0;Qa=z+12|0;Ra=z+4|0;Sa=A+8|0;Ta=A+4|0;Ua=q+36|0;Va=r+36|0;Wa=r+16|0;Xa=q+12|0;Ya=r+12|0;Za=q+16|0;_a=q+20|0;$a=r+20|0;ab=q+24|0;bb=r+24|0;cb=q+28|0;db=r+28|0;eb=q+32|0;fb=r+32|0;gb=(H|0)/2|0;hb=i+8|0;ib=i+4|0;jb=y+36|0;kb=y+16|0;lb=y+4|0;mb=y+40|0;nb=y+44|0;ob=y+48|0;pb=i+4|0;qb=i+8|0;rb=i+4|0;sb=i+4|0;tb=0;qa=1797693134862315708145274.0e284;while(1){if((H|0)>(f[oa>>2]|0)?!(Yxa(a,k,l,m,o,x,1e3)|0):0){Ca=122;break}ub=f[I>>2]|0;vb=f[(f[ub>>2]|0)+8>>2]|0;f[Fa>>2]=0;f[Ga>>2]=0;f[i>>2]=16842752;f[Ia>>2]=m;f[ta>>2]=0;f[Ea>>2]=0;f[j>>2]=16842752;f[ya>>2]=o;wb=za;f[wb>>2]=0;f[wb+4>>2]=0;f[y>>2]=33619968;f[wa>>2]=s;wb=dg[vb&63](ub,i,j,y)|0;if((wb|0)<1)xb=qa;else{ub=f[Y>>2]|0;if(!((ub|0)%(wb|0)|0))yb=ub;else{f[i>>2]=0;f[sb>>2]=0;B=JV(i,25)|0;ra=348212;C=B+25|0;do{b[B>>0]=b[ra>>0]|0;B=B+1|0;ra=ra+1|0}while((B|0)<(C|0));EP(-215,i,348888,347927,335);KV(i);yb=f[Y>>2]|0}ub=(yb|0)/(wb|0)|0;vb=0;zb=qa;while(1){Ab=X(vb,ub)|0;vb=vb+1|0;Bb=X(vb,ub)|0;f[i>>2]=Ab;f[ua>>2]=Bb;f[j>>2]=-2147483648;f[xa>>2]=2147483647;YO(y,s,i,j);Bb=f[I>>2]|0;Ab=f[(f[Bb>>2]|0)+12>>2]|0;f[Da>>2]=0;f[Ka>>2]=0;f[i>>2]=16842752;f[La>>2]=k;f[Ma>>2]=0;f[Na>>2]=0;f[j>>2]=16842752;f[Oa>>2]=l;f[Pa>>2]=0;f[Qa>>2]=0;f[z>>2]=16842752;f[Ra>>2]=y;Cb=Sa;f[Cb>>2]=0;f[Cb+4>>2]=0;f[A>>2]=33619968;f[Ta>>2]=q;Sh[Ab&255](Bb,i,j,z,A);if((f[q>>2]&7|0)==5){Bb=f[Ua>>2]|0;if(Bb|0){Ab=Bb+12|0;f[Ab>>2]=(f[Ab>>2]|0)+1}Ab=f[Va>>2]|0;do if(Ab|0){Bb=Ab+12|0;Cb=f[Bb>>2]|0;f[Bb>>2]=Cb+-1;if((Cb|0)!=1)break;XO(r)}while(0);f[Va>>2]=0;f[Wa>>2]=0;f[Wa+4>>2]=0;f[Wa+8>>2]=0;f[Wa+12>>2]=0;if((f[R>>2]|0)>0){Ab=f[T>>2]|0;Cb=0;do{f[Ab+(Cb<<2)>>2]=0;Cb=Cb+1|0;Db=f[R>>2]|0}while((Cb|0)<(Db|0));f[r>>2]=f[q>>2];if((Db|0)<3)Ca=94;else Ca=96}else{f[r>>2]=f[q>>2];Ca=94}do if((Ca|0)==94){Ca=0;Cb=f[M>>2]|0;if((Cb|0)>=3){Ca=96;break}f[R>>2]=Cb;f[S>>2]=f[N>>2];f[Ya>>2]=f[Xa>>2];Cb=f[Q>>2]|0;Ab=f[V>>2]|0;f[Ab>>2]=f[Cb>>2];f[Ab+4>>2]=f[Cb+4>>2]}while(0);if((Ca|0)==96){Ca=0;WO(r,q)}f[Wa>>2]=f[Za>>2];f[$a>>2]=f[_a>>2];f[bb>>2]=f[ab>>2];f[db>>2]=f[cb>>2];f[fb>>2]=f[eb>>2];f[Va>>2]=f[Ua>>2]}else{Cb=qb;f[Cb>>2]=0;f[Cb+4>>2]=0;f[i>>2]=33619968;f[rb>>2]=r;AO(q,i,5,1.0,0.0)}if((f[r>>2]&20479|0)==16389){Cb=f[R>>2]|0;if((Cb|0)<3)Eb=X(f[Ya>>2]|0,f[S>>2]|0)|0;else{Ab=f[T>>2]|0;Bb=0;Fb=1;while(1){Gb=X(f[Ab+(Bb<<2)>>2]|0,Fb)|0;Bb=Bb+1|0;if((Bb|0)==(Cb|0)){Eb=Gb;break}else Fb=Gb}}if((Eb|0)!=(H|0))Ca=104}else Ca=104;if((Ca|0)==104){Ca=0;f[i>>2]=0;f[pb>>2]=0;B=JV(i,69)|0;ra=348645;C=B+69|0;do{b[B>>0]=b[ra>>0]|0;B=B+1|0;ra=ra+1|0}while((B|0)<(C|0));EP(-215,i,348888,347927,346);KV(i)}Fb=f[Wa>>2]|0;dya(Fb,Fb+(gb<<2)|0,Fb+(H<<2)|0,i);do if(!(f[r>>2]&16384)){Fb=f[T>>2]|0;if((f[Fb>>2]|0)==1){Ca=107;break}if((f[Fb+4>>2]|0)==1){Hb=(f[Wa>>2]|0)+(X(f[f[V>>2]>>2]|0,gb)|0)|0;break}else{Fb=f[Ya>>2]|0;Cb=(gb|0)/(Fb|0)|0;Bb=gb-(X(Cb,Fb)|0)|0;Hb=(f[Wa>>2]|0)+(X(f[f[V>>2]>>2]|0,Cb)|0)+(Bb<<2)|0;break}}else Ca=107;while(0);if((Ca|0)==107){Ca=0;Hb=(f[Wa>>2]|0)+(gb<<2)|0}Ib=+n[Hb>>2];if(zb>Ib){Bb=hb;f[Bb>>2]=0;f[Bb+4>>2]=0;f[i>>2]=33619968;f[ib>>2]=t;eM(y,i);Jb=Ib}else Jb=zb;Bb=f[jb>>2]|0;do if(Bb|0){Cb=Bb+12|0;Fb=f[Cb>>2]|0;f[Cb>>2]=Fb+-1;if((Fb|0)!=1)break;XO(y)}while(0);f[jb>>2]=0;f[kb>>2]=0;f[kb+4>>2]=0;f[kb+8>>2]=0;f[kb+12>>2]=0;if((f[lb>>2]|0)>0){Bb=f[mb>>2]|0;Fb=0;do{f[Bb+(Fb<<2)>>2]=0;Fb=Fb+1|0}while((Fb|0)<(f[lb>>2]|0))}Fb=f[nb>>2]|0;if((Fb|0)!=(ob|0))dX(Fb);if((vb|0)>=(wb|0)){xb=Jb;break}else zb=Jb}}wb=tb+1|0;if((wb|0)<(va|0)){tb=wb;qa=xb}else{Kb=xb;break}}if((Ca|0)==122)if(!tb){sa=0;break}else Kb=qa;if(Kb<1797693134862315708145274.0e284){zb=+L(+Kb)*((5.0/+(H-(f[oa>>2]|0)|0)+1.0)*3.7064999999999997);va=Zxa(a,k,l,t,q,v,zb<.001?.001:zb)|0;do if(yK(g)|0?(f[w+16>>2]|0)!=(f[v+16>>2]|0):0){ob=f[la>>2]|0;nb=f[ga>>2]|0;if((f[ob>>2]|0)==(f[nb>>2]|0)?(f[ob+4>>2]|0)==(f[nb+4>>2]|0):0){nb=i+8|0;f[nb>>2]=0;f[nb+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=w;eM(v,i);break}else{f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=v;nb=j+8|0;f[nb>>2]=0;f[nb+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=w;DD(i,j);break}}while(0);eM(t,e);sa=(va|0)>=(f[oa>>2]|0);break}}YJ(e);sa=0}while(0);e=w+36|0;oa=f[e>>2]|0;if(oa|0?(j=oa+12|0,oa=f[j>>2]|0,f[j>>2]=oa+-1,(oa|0)==1):0)XO(w);f[e>>2]=0;e=w+16|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;if((f[ja>>2]|0)>0){e=f[la>>2]|0;la=0;do{f[e+(la<<2)>>2]=0;la=la+1|0}while((la|0)<(f[ja>>2]|0))}ja=f[na>>2]|0;if((ja|0)!=(ma|0))dX(ja);ja=v+36|0;ma=f[ja>>2]|0;if(ma|0?(na=ma+12|0,ma=f[na>>2]|0,f[na>>2]=ma+-1,(ma|0)==1):0)XO(v);f[ja>>2]=0;ja=v+16|0;f[ja>>2]=0;f[ja+4>>2]=0;f[ja+8>>2]=0;f[ja+12>>2]=0;if((f[ea>>2]|0)>0){ja=f[ga>>2]|0;ga=0;do{f[ja+(ga<<2)>>2]=0;ga=ga+1|0}while((ga|0)<(f[ea>>2]|0))}ea=f[ia>>2]|0;if((ea|0)!=(ha|0))dX(ea);ea=t+36|0;ha=f[ea>>2]|0;if(ha|0?(ia=ha+12|0,ha=f[ia>>2]|0,f[ia>>2]=ha+-1,(ha|0)==1):0)XO(t);f[ea>>2]=0;ea=t+16|0;f[ea>>2]=0;f[ea+4>>2]=0;f[ea+8>>2]=0;f[ea+12>>2]=0;if((f[aa>>2]|0)>0){ea=f[ca>>2]|0;ca=0;do{f[ea+(ca<<2)>>2]=0;ca=ca+1|0}while((ca|0)<(f[aa>>2]|0))}aa=f[da>>2]|0;if((aa|0)!=(ba|0))dX(aa);aa=s+36|0;ba=f[aa>>2]|0;if(ba|0?(da=ba+12|0,ba=f[da>>2]|0,f[da>>2]=ba+-1,(ba|0)==1):0)XO(s);f[aa>>2]=0;aa=s+16|0;f[aa>>2]=0;f[aa+4>>2]=0;f[aa+8>>2]=0;f[aa+12>>2]=0;if((f[W>>2]|0)>0){aa=f[Z>>2]|0;Z=0;do{f[aa+(Z<<2)>>2]=0;Z=Z+1|0}while((Z|0)<(f[W>>2]|0))}W=f[$>>2]|0;if((W|0)!=(_|0))dX(W);W=r+36|0;_=f[W>>2]|0;do if(_|0){$=_+12|0;Z=f[$>>2]|0;f[$>>2]=Z+-1;if((Z|0)!=1)break;XO(r)}while(0);f[W>>2]=0;W=r+16|0;f[W>>2]=0;f[W+4>>2]=0;f[W+8>>2]=0;f[W+12>>2]=0;if((f[R>>2]|0)>0){W=f[T>>2]|0;T=0;do{f[W+(T<<2)>>2]=0;T=T+1|0}while((T|0)<(f[R>>2]|0))}R=f[V>>2]|0;if((R|0)!=(U|0))dX(R);R=q+36|0;U=f[R>>2]|0;do if(U|0){V=U+12|0;T=f[V>>2]|0;f[V>>2]=T+-1;if((T|0)!=1)break;XO(q)}while(0);f[R>>2]=0;R=q+16|0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;f[R+12>>2]=0;if((f[M>>2]|0)>0){R=f[O>>2]|0;O=0;do{f[R+(O<<2)>>2]=0;O=O+1|0}while((O|0)<(f[M>>2]|0))}M=f[Q>>2]|0;if((M|0)!=(P|0))dX(M);M=o+36|0;P=f[M>>2]|0;do if(P|0){Q=P+12|0;O=f[Q>>2]|0;f[Q>>2]=O+-1;if((O|0)!=1)break;XO(o)}while(0);f[M>>2]=0;M=o+16|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;if((f[F>>2]|0)>0){M=f[J>>2]|0;J=0;do{f[M+(J<<2)>>2]=0;J=J+1|0}while((J|0)<(f[F>>2]|0))}F=f[K>>2]|0;if((F|0)!=(G|0))dX(F);F=m+36|0;G=f[F>>2]|0;do if(G|0){K=G+12|0;J=f[K>>2]|0;f[K>>2]=J+-1;if((J|0)!=1)break;XO(m)}while(0);f[F>>2]=0;F=m+16|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;f[F+12>>2]=0;if((f[d>>2]|0)>0){F=f[c>>2]|0;c=0;do{f[F+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[d>>2]|0))}d=f[D>>2]|0;if((d|0)!=(E|0))dX(d);d=l+36|0;E=f[d>>2]|0;do if(E|0){D=E+12|0;c=f[D>>2]|0;f[D>>2]=c+-1;if((c|0)!=1)break;XO(l)}while(0);f[d>>2]=0;d=l+16|0;E=l+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[E>>2]|0)>0){d=f[l+40>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[E>>2]|0))}E=f[l+44>>2]|0;if((E|0)!=(l+48|0))dX(E);E=k+36|0;l=f[E>>2]|0;do if(l|0){c=l+12|0;d=f[c>>2]|0;f[c>>2]=d+-1;if((d|0)!=1)break;XO(k)}while(0);f[E>>2]=0;E=k+16|0;l=k+4|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;if((f[l>>2]|0)>0){E=f[k+40>>2]|0;d=0;do{f[E+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[l>>2]|0))}l=f[k+44>>2]|0;if((l|0)==(k+48|0)){u=h;return sa|0}dX(l);u=h;return sa|0}function dya(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;if((c|0)==(b|0))return;else{e=a;g=c}a:while(1){c=g;a=g+-4|0;h=e;b:while(1){d=c-h|0;i=d>>2;switch(i|0){case 2:{j=4;break a;break}case 3:{j=6;break a;break}case 1:case 0:{j=62;break a;break}default:{}}if((d|0)<32){j=15;break a}k=h+(((i|0)/2|0)<<2)|0;i=f[k>>2]|0;d=f[h>>2]|0;l=f[a>>2]|0;m=(l|0)<(i|0);do if((i|0)<(d|0)){if(m){f[h>>2]=l;f[a>>2]=d;n=1;break}f[h>>2]=i;f[k>>2]=d;o=f[a>>2]|0;if((o|0)<(d|0)){f[k>>2]=o;f[a>>2]=d;n=2}else n=1}else if(m){f[k>>2]=l;f[a>>2]=i;o=f[k>>2]|0;p=f[h>>2]|0;if((o|0)<(p|0)){f[h>>2]=o;f[k>>2]=p;n=2}else n=1}else n=0;while(0);q=f[h>>2]|0;i=f[k>>2]|0;if((q|0)<(i|0)){r=n;s=a;break}else t=a;while(1){t=t+-4|0;if((h|0)==(t|0))break;u=f[t>>2]|0;if((u|0)<(i|0)){j=43;break b}}i=h+4|0;l=f[a>>2]|0;if((q|0)<(l|0))v=i;else{if((i|0)==(a|0)){j=62;break a}else w=i;while(1){x=f[w>>2]|0;if((q|0)<(x|0))break;i=w+4|0;if((i|0)==(a|0)){j=62;break a}else w=i}f[w>>2]=l;f[a>>2]=x;v=w+4|0}if((v|0)==(a|0)){j=62;break a}else{y=a;z=v}while(1){i=f[h>>2]|0;A=z;while(1){B=f[A>>2]|0;C=A+4|0;if((i|0)<(B|0)){D=y;break}else A=C}do{D=D+-4|0;E=f[D>>2]|0}while((i|0)<(E|0));if(A>>>0>=D>>>0)break;f[A>>2]=E;f[D>>2]=B;y=D;z=C}if(A>>>0>b>>>0){j=62;break a}else h=A}if((j|0)==43){j=0;f[h>>2]=u;f[t>>2]=q;r=n+1|0;s=t}a=h+4|0;c:do if(a>>>0>>0){c=k;l=r;i=s;m=a;while(1){d=f[c>>2]|0;p=m;while(1){F=f[p>>2]|0;G=p+4|0;if((F|0)<(d|0))p=G;else{H=i;break}}do{H=H+-4|0;I=f[H>>2]|0}while((I|0)>=(d|0));if(p>>>0>=H>>>0){J=c;K=l;L=p;break c}f[p>>2]=I;f[H>>2]=F;c=(c|0)==(p|0)?H:c;l=l+1|0;i=H;m=G}}else{J=k;K=r;L=a}while(0);if((L|0)!=(J|0)?(a=f[J>>2]|0,m=f[L>>2]|0,(a|0)<(m|0)):0){f[L>>2]=a;f[J>>2]=m;M=K+1|0}else M=K;if((L|0)==(b|0)){j=62;break}if(!M)if(L>>>0>b>>>0){m=h;do{a=m;m=m+4|0;if((m|0)==(L|0)){j=62;break a}}while((f[m>>2]|0)>=(f[a>>2]|0))}else{m=L;do{a=m;m=m+4|0;if((m|0)==(g|0)){j=62;break a}}while((f[m>>2]|0)>=(f[a>>2]|0))}m=L>>>0>b>>>0;a=m?L:g;if((a|0)==(b|0)){j=62;break}else{e=m?h:L+4|0;g=a}}if((j|0)==4){L=g+-4|0;e=f[L>>2]|0;b=f[h>>2]|0;if((e|0)>=(b|0))return;f[h>>2]=e;f[L>>2]=b;return}else if((j|0)==6){b=h+4|0;L=g+-4|0;e=f[b>>2]|0;M=f[h>>2]|0;K=f[L>>2]|0;J=(K|0)<(e|0);if((e|0)>=(M|0)){if(!J)return;f[b>>2]=K;f[L>>2]=e;r=f[b>>2]|0;k=f[h>>2]|0;if((r|0)>=(k|0))return;f[h>>2]=r;f[b>>2]=k;return}if(J){f[h>>2]=K;f[L>>2]=M;return}f[h>>2]=e;f[b>>2]=M;e=f[L>>2]|0;if((e|0)>=(M|0))return;f[b>>2]=e;f[L>>2]=M;return}else if((j|0)==15){M=g+-4|0;if((M|0)==(h|0))return;else N=h;do{h=N;N=N+4|0;if(!((h|0)==(g|0)|(N|0)==(g|0))){L=h;e=N;do{L=(f[e>>2]|0)<(f[L>>2]|0)?e:L;e=e+4|0}while((e|0)!=(g|0));if((L|0)!=(h|0)){e=f[h>>2]|0;f[h>>2]=f[L>>2];f[L>>2]=e}}}while((N|0)!=(M|0));return}else if((j|0)==62)return}function eya(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=EQa(40)|0;LY(d);f[d>>2]=101184;e=f[b>>2]|0;f[d+4>>2]=e;f[d+8>>2]=f[b+4>>2];if(e|0){b=e+4|0;f[b>>2]=(f[b>>2]|0)+1}f[d+32>>2]=c;p[d+24>>3]=1.1920928955078125e-07;p[d+16>>3]=1.1920928955078125e-07;f[d+36>>2]=0;c=EQa(16)|0;b=c+4|0;f[b>>2]=1;f[c>>2]=101232;f[c+8>>2]=d;f[a>>2]=c;f[a+4>>2]=d;f[b>>2]=(f[b>>2]|0)+1;d=f[b>>2]|0;f[b>>2]=d+-1;if((d|0)!=1)return;qg[f[(f[c>>2]|0)+8>>2]&1023](c);return}function fya(a){a=a|0;GQa(a);return}function gya(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function hya(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=101184;b=a+4|0;c=f[b>>2]|0;if(c|0?(d=c+4|0,e=f[d>>2]|0,f[d>>2]=e+-1,(e|0)==1):0)qg[f[(f[c>>2]|0)+8>>2]&1023](c);f[b>>2]=0;f[a+8>>2]=0;DY(a);return}function iya(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=101184;b=a+4|0;c=f[b>>2]|0;if(c|0?(d=c+4|0,e=f[d>>2]|0,f[d>>2]=e+-1,(e|0)==1):0)qg[f[(f[c>>2]|0)+8>>2]&1023](c);f[b>>2]=0;f[a+8>>2]=0;DY(a);GQa(a);return}function jya(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+4|0;d=f[b>>2]|0;e=f[b+4>>2]|0;if(d|0){b=d+4|0;f[b>>2]=(f[b>>2]|0)+1}b=f[c>>2]|0;f[c>>2]=d;f[a+8>>2]=e;if(!b)return;e=b+4|0;a=f[e>>2]|0;f[e>>2]=a+-1;if((a|0)!=1)return;qg[f[(f[b>>2]|0)+8>>2]&1023](b);return}function kya(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0.0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0.0,Dc=0,Ec=0.0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0.0,Uc=0.0,Vc=0.0,Wc=0.0,Xc=0.0,Yc=0.0,Zc=0.0,_c=0.0,$c=0.0,ad=0.0,bd=0.0,cd=0,dd=0,ed=0,fd=0,gd=0.0,hd=0,id=0,jd=0,kd=0,ld=0;d=u;u=u+896|0;e=d;g=d+832|0;h=d+776|0;i=d+720|0;j=d+664|0;k=d+608|0;l=d+552|0;m=d+496|0;n=d+440|0;o=d+384|0;q=d+328|0;r=d+272|0;s=d+216|0;t=d+104|0;v=d+88|0;w=d+160|0;x=d+72|0;y=d+56|0;do if((HJ(c)|0)==65536){z=f[c+4>>2]|0;f[h>>2]=f[z>>2];A=h+4|0;B=z+4|0;f[A>>2]=f[B>>2];C=h+8|0;f[C>>2]=f[z+8>>2];D=h+12|0;f[D>>2]=f[z+12>>2];f[h+16>>2]=f[z+16>>2];f[h+20>>2]=f[z+20>>2];f[h+24>>2]=f[z+24>>2];f[h+28>>2]=f[z+28>>2];f[h+32>>2]=f[z+32>>2];E=f[z+36>>2]|0;f[h+36>>2]=E;f[h+40>>2]=C;C=h+48|0;F=h+44|0;f[F>>2]=C;f[C>>2]=0;f[h+52>>2]=0;if(E|0){C=E+12|0;f[C>>2]=(f[C>>2]|0)+1}if((f[B>>2]|0)<3){B=f[z+44>>2]|0;C=f[F>>2]|0;f[C>>2]=f[B>>2];f[C+4>>2]=f[B+4>>2];G=D;H=h;break}else{f[A>>2]=0;WO(h,z);G=D;H=h;break}}else{DJ(h,c,-1);G=h+12|0;H=h}while(0);f[i>>2]=1124007936;c=i+4|0;D=i+8|0;z=i+40|0;A=c;B=A+36|0;do{f[A>>2]=0;A=A+4|0}while((A|0)<(B|0));f[z>>2]=D;C=i+48|0;F=i+44|0;f[F>>2]=C;f[C>>2]=0;f[i+52>>2]=0;f[j>>2]=1124007936;E=j+4|0;I=j+8|0;J=j+40|0;A=E;B=A+36|0;do{f[A>>2]=0;A=A+4|0}while((A|0)<(B|0));f[J>>2]=I;L=j+48|0;M=j+44|0;f[M>>2]=L;f[L>>2]=0;f[j+52>>2]=0;f[k>>2]=1124007936;N=k+4|0;O=k+8|0;P=k+40|0;A=N;B=A+36|0;do{f[A>>2]=0;A=A+4|0}while((A|0)<(B|0));f[P>>2]=O;O=k+48|0;Q=k+44|0;f[Q>>2]=O;f[O>>2]=0;f[k+52>>2]=0;f[l>>2]=1124007936;R=l+4|0;S=l+8|0;T=l+40|0;A=R;B=A+36|0;do{f[A>>2]=0;A=A+4|0}while((A|0)<(B|0));f[T>>2]=S;S=l+48|0;U=l+44|0;f[U>>2]=S;f[S>>2]=0;f[l+52>>2]=0;f[m>>2]=1124007936;V=m+4|0;W=m+8|0;Y=m+40|0;A=V;B=A+36|0;do{f[A>>2]=0;A=A+4|0}while((A|0)<(B|0));f[Y>>2]=W;W=m+48|0;Z=m+44|0;f[Z>>2]=W;f[W>>2]=0;f[m+52>>2]=0;f[n>>2]=1124007936;_=n+4|0;$=n+8|0;aa=n+40|0;A=_;B=A+36|0;do{f[A>>2]=0;A=A+4|0}while((A|0)<(B|0));f[aa>>2]=$;ba=n+48|0;ca=n+44|0;f[ca>>2]=ba;f[ba>>2]=0;f[n+52>>2]=0;f[o>>2]=1124007936;da=o+4|0;ea=o+8|0;fa=o+40|0;A=da;B=A+36|0;do{f[A>>2]=0;A=A+4|0}while((A|0)<(B|0));f[fa>>2]=ea;ea=o+48|0;ga=o+44|0;f[ga>>2]=ea;f[ea>>2]=0;f[o+52>>2]=0;f[q>>2]=1124007936;ha=q+4|0;ia=q+8|0;ja=q+40|0;A=ha;B=A+36|0;do{f[A>>2]=0;A=A+4|0}while((A|0)<(B|0));f[ja>>2]=ia;ia=q+48|0;ka=q+44|0;f[ka>>2]=ia;f[ia>>2]=0;f[q+52>>2]=0;f[r>>2]=1124007936;la=r+4|0;ma=r+8|0;na=r+40|0;A=la;B=A+36|0;do{f[A>>2]=0;A=A+4|0}while((A|0)<(B|0));f[na>>2]=ma;ma=r+48|0;oa=r+44|0;f[oa>>2]=ma;f[ma>>2]=0;f[r+52>>2]=0;f[s>>2]=1124007936;pa=s+4|0;qa=s+8|0;ra=s+40|0;A=pa;B=A+36|0;do{f[A>>2]=0;A=A+4|0}while((A|0)<(B|0));f[ra>>2]=qa;qa=s+48|0;sa=s+44|0;f[sa>>2]=qa;f[qa>>2]=0;f[s+52>>2]=0;ta=f[H>>2]&4095;if((f[G>>2]|0)==1){if((ta+-5|0)>>>0>=2)ua=11}else if(!((ta+-5|0)>>>0<2?(f[h+8>>2]|0)==1:0))ua=11;if((ua|0)==11){f[g>>2]=0;f[g+4>>2]=0;A=JV(g,68)|0;va=348819;B=A+68|0;do{b[A>>0]=b[va>>0]|0;A=A+1|0;va=va+1|0}while((A|0)<(B|0));EP(-215,g,348888,348892,97);KV(g)}H=a+8|0;if(!(f[H>>2]|0)){f[g>>2]=0;f[g+4>>2]=0;wa=JV(g,2)|0;b[wa>>0]=99;b[wa+1>>0]=98;EP(-215,g,348888,348892,98);KV(g)}wa=(f[h+8>>2]|0)+-1+(f[G>>2]|0)|0;G=g+8|0;f[G>>2]=0;f[G+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=i;AO(h,g,6,1.0,0.0);G=i+12|0;if((f[G>>2]|0)!=1){f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=i;xa=t+8|0;f[xa>>2]=0;f[xa+4>>2]=0;f[t>>2]=33619968;f[t+4>>2]=i;DD(g,t)}xa=f[H>>2]|0;ya=f[(f[xa>>2]|0)+8>>2]|0;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=i;za=t+8|0;f[za>>2]=0;f[za+4>>2]=0;f[t>>2]=33619968;f[t+4>>2]=k;za=v+8|0;f[za>>2]=0;f[za+4>>2]=0;f[v>>2]=33619968;f[v+4>>2]=m;if(dg[ya&63](xa,g,t,v)|0){f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=k;Aa=+IK(g,5,BK()|0);f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=m;xa=t+8|0;f[xa>>2]=0;f[xa+4>>2]=0;f[t>>2]=33619968;f[t+4>>2]=n;VC(g,t,1,BK()|0,1.0,-1);f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=m;f[t+8>>2]=0;f[t+12>>2]=0;f[t>>2]=16842752;f[t+4>>2]=k;xa=BK()|0;ya=v+8|0;f[ya>>2]=0;f[ya+4>>2]=0;f[v>>2]=33619968;f[v+4>>2]=q;zC(g,t,1.0,xa,0.0,v,1);bP(w,n,0);f[t>>2]=1124007936;xa=t+4|0;ya=t+8|0;za=t+40|0;A=xa;B=A+36|0;do{f[A>>2]=0;A=A+4|0}while((A|0)<(B|0));f[za>>2]=ya;ya=t+48|0;Ba=t+44|0;f[Ba>>2]=ya;f[ya>>2]=0;f[t+52>>2]=0;Ca=g+8|0;f[Ca>>2]=0;f[Ca+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=t;eM(w,g);Ca=w+36|0;Da=f[Ca>>2]|0;if(Da|0?(Ea=Da+12|0,Da=f[Ea>>2]|0,f[Ea>>2]=Da+-1,(Da|0)==1):0)XO(w);f[Ca>>2]=0;Ca=w+16|0;Da=w+4|0;f[Ca>>2]=0;f[Ca+4>>2]=0;f[Ca+8>>2]=0;f[Ca+12>>2]=0;if((f[Da>>2]|0)>0){Ca=f[w+40>>2]|0;Ea=0;do{f[Ca+(Ea<<2)>>2]=0;Ea=Ea+1|0}while((Ea|0)<(f[Da>>2]|0))}Da=f[w+44>>2]|0;if((Da|0)!=(w+48|0))dX(Da);Da=a+36|0;if(f[Da>>2]|0){IFa(348951)|0;IFa(349036)|0;IFa(348951)|0}w=g+8|0;Ea=g+4|0;Ca=(wa|0)>0;Fa=t+16|0;Ga=t+12|0;Ha=o+16|0;Ia=g+8|0;Ja=g+12|0;Ka=g+4|0;La=v+8|0;Ma=v+12|0;Na=v+4|0;Oa=x+8|0;Pa=x+4|0;Qa=g+8|0;Ra=g+12|0;Sa=g+4|0;Ta=v+8|0;Ua=v+12|0;Va=v+4|0;Wa=x+8|0;Xa=x+4|0;Ya=g+8|0;Za=g+12|0;_a=g+4|0;$a=v+8|0;ab=v+4|0;bb=g+8|0;cb=g+12|0;db=g+4|0;eb=g+8|0;fb=g+12|0;gb=g+4|0;hb=v+8|0;ib=v+12|0;jb=v+4|0;kb=x+8|0;lb=x+12|0;mb=x+4|0;nb=y+8|0;ob=y+4|0;pb=g+8|0;qb=g+12|0;rb=g+4|0;sb=g+4|0;tb=g+8|0;ub=g+12|0;vb=g+16|0;wb=i+16|0;xb=g+20|0;yb=i+20|0;zb=g+24|0;Ab=i+24|0;Bb=g+28|0;Cb=i+28|0;Db=g+32|0;Eb=i+32|0;Fb=g+36|0;Gb=i+36|0;Hb=g+40|0;Ib=g+48|0;Jb=g+44|0;Kb=g+52|0;Lb=j+36|0;Mb=j+12|0;Nb=j+16|0;Ob=j+20|0;Pb=j+24|0;Qb=j+28|0;Rb=j+32|0;Sb=g+8|0;Tb=g+12|0;Ub=g+4|0;Vb=v+8|0;Wb=v+4|0;Xb=x+8|0;Yb=x+4|0;Zb=g+8|0;_b=g+12|0;$b=g+4|0;ac=v+8|0;bc=v+4|0;cc=g+8|0;dc=g+12|0;ec=g+4|0;fc=v+8|0;gc=v+12|0;hc=v+4|0;ic=x+8|0;jc=x+4|0;kc=a+32|0;lc=g+8|0;mc=g+12|0;nc=g+4|0;oc=a+16|0;pc=v+8|0;qc=v+12|0;rc=v+4|0;sc=a+24|0;a=s+16|0;tc=g+8|0;uc=g+12|0;vc=g+4|0;wc=g+8|0;xc=g+12|0;yc=g+4|0;zc=v+8|0;Ac=v+4|0;Bc=g+4|0;Cc=Aa;Dc=0;Aa=.75;Ec=1.0;Fc=2;while(1){if(!((f[n>>2]&4095|0)==6?(f[$>>2]|0)==(wa|0):0)){f[g>>2]=0;f[Bc>>2]=0;A=JV(g,29)|0;va=349069;B=A+29|0;do{b[A>>0]=b[va>>0]|0;A=A+1|0;va=va+1|0}while((A|0)<(B|0));EP(-215,g,348888,348892,129);KV(g)}Gc=w;f[Gc>>2]=0;f[Gc+4>>2]=0;f[g>>2]=33619968;f[Ea>>2]=o;eM(n,g);a:do if(Ca){Gc=f[za>>2]|0;Hc=Gc+4|0;Ic=f[Fa>>2]|0;Jc=f[Ba>>2]|0;Kc=f[Ga>>2]|0;Lc=f[Ha>>2]|0;Mc=f[f[ga>>2]>>2]|0;if(f[t>>2]&16384|0){Nc=0;while(1){Oc=Lc+(X(Mc,Nc)|0)+(Nc<<3)|0;p[Oc>>3]=Ec*+p[Ic+(Nc<<3)>>3]+ +p[Oc>>3];Nc=Nc+1|0;if((Nc|0)==(wa|0))break a}}Nc=(f[Gc>>2]|0)==1;Oc=0;do{do if(!Nc)if((f[Hc>>2]|0)==1){Pc=Ic+(X(f[Jc>>2]|0,Oc)|0)|0;break}else{Qc=(Oc|0)/(Kc|0)|0;Rc=Oc-(X(Qc,Kc)|0)|0;Pc=Ic+(X(f[Jc>>2]|0,Qc)|0)+(Rc<<3)|0;break}else Pc=Ic+(Oc<<3)|0;while(0);Rc=Lc+(X(Mc,Oc)|0)+(Oc<<3)|0;p[Rc>>3]=Ec*+p[Pc>>3]+ +p[Rc>>3];Oc=Oc+1|0}while((Oc|0)!=(wa|0))}while(0);f[Ia>>2]=0;f[Ja>>2]=0;f[g>>2]=16842752;f[Ka>>2]=o;f[La>>2]=0;f[Ma>>2]=0;f[v>>2]=16842752;f[Na>>2]=q;Oc=Oa;f[Oc>>2]=0;f[Oc+4>>2]=0;f[x>>2]=33619968;f[Pa>>2]=s;UR(g,v,x,2)|0;f[Qa>>2]=0;f[Ra>>2]=0;f[g>>2]=16842752;f[Sa>>2]=i;f[Ta>>2]=0;f[Ua>>2]=0;f[v>>2]=16842752;f[Va>>2]=s;Oc=Wa;f[Oc>>2]=0;f[Oc+4>>2]=0;f[x>>2]=33619968;f[Xa>>2]=j;aI(g,v,x,BK()|0,-1);Oc=f[H>>2]|0;Mc=f[(f[Oc>>2]|0)+8>>2]|0;f[Ya>>2]=0;f[Za>>2]=0;f[g>>2]=16842752;f[_a>>2]=j;Lc=$a;f[Lc>>2]=0;f[Lc+4>>2]=0;f[v>>2]=33619968;f[ab>>2]=l;Lc=BK()|0;if(!(dg[Mc&63](Oc,g,v,Lc)|0)){Sc=-1;break}Lc=Fc+1|0;f[bb>>2]=0;f[cb>>2]=0;f[g>>2]=16842752;f[db>>2]=l;Tc=+IK(g,5,BK()|0);f[eb>>2]=0;f[fb>>2]=0;f[g>>2]=16842752;f[gb>>2]=n;f[hb>>2]=0;f[ib>>2]=0;f[v>>2]=16842752;f[jb>>2]=s;f[kb>>2]=0;f[lb>>2]=0;f[x>>2]=16842752;f[mb>>2]=q;Oc=nb;f[Oc>>2]=0;f[Oc+4>>2]=0;f[y>>2]=33619968;f[ob>>2]=r;zC(g,v,-1.0,x,2.0,y,0);f[pb>>2]=0;f[qb>>2]=0;f[g>>2]=16842752;f[rb>>2]=r;Uc=+mD(s,g);Oc=+K(+Uc)>2.220446049250313e-16;Vc=(Cc-Tc)/(Oc?Uc:1.0);if(Vc>.75){Uc=Ec*.5;if(Uc>2]=0;f[uc>>2]=0;f[g>>2]=16842752;f[vc>>2]=q;Vc=+mD(s,g);Oc=+K(+Vc)>2.220446049250313e-16;Uc=(Tc-Cc)/(Oc?Vc:1.0)+2.0;Vc=Uc<2.0?2.0:Uc;Uc=Vc>10.0?10.0:Vc;if(Ec==0.0){f[wc>>2]=0;f[xc>>2]=0;f[g>>2]=16842752;f[yc>>2]=n;Oc=zc;f[Oc>>2]=0;f[Oc+4>>2]=0;f[v>>2]=33619968;f[Ac>>2]=o;+KR(g,v,2);if(Ca){Oc=f[Ha>>2]|0;Mc=f[f[ga>>2]>>2]|0;Vc=2.220446049250313e-16;Ic=0;while(1){Jc=Oc+(X(Mc,Ic)|0)+(Ic<<3)|0;Yc=+K(+(+p[Jc>>3]));Zc=Vc>2]=f[i>>2];Mc=f[c>>2]|0;f[sb>>2]=Mc;f[tb>>2]=f[D>>2];f[ub>>2]=f[G>>2];f[vb>>2]=f[wb>>2];f[xb>>2]=f[yb>>2];f[zb>>2]=f[Ab>>2];f[Bb>>2]=f[Cb>>2];f[Db>>2]=f[Eb>>2];Oc=f[Gb>>2]|0;f[Fb>>2]=Oc;f[Hb>>2]=tb;f[Jb>>2]=Ib;f[Ib>>2]=0;f[Kb>>2]=0;if(!Oc)cd=Mc;else{Mc=Oc+12|0;f[Mc>>2]=(f[Mc>>2]|0)+1;cd=f[c>>2]|0}if((cd|0)<3){Mc=f[F>>2]|0;Oc=f[Jb>>2]|0;f[Oc>>2]=f[Mc>>2];f[Oc+4>>2]=f[Mc+4>>2]}else{f[sb>>2]=0;WO(g,i)}Mc=f[Lb>>2]|0;if(Mc|0){Oc=Mc+12|0;f[Oc>>2]=(f[Oc>>2]|0)+1}Oc=f[Gb>>2]|0;do if(Oc|0){Mc=Oc+12|0;Jc=f[Mc>>2]|0;f[Mc>>2]=Jc+-1;if((Jc|0)!=1)break;XO(i)}while(0);f[Gb>>2]=0;f[wb>>2]=0;f[wb+4>>2]=0;f[wb+8>>2]=0;f[wb+12>>2]=0;if((f[c>>2]|0)>0){Oc=f[z>>2]|0;Jc=0;do{f[Oc+(Jc<<2)>>2]=0;Jc=Jc+1|0;dd=f[c>>2]|0}while((Jc|0)<(dd|0));f[i>>2]=f[j>>2];if((dd|0)<3)ua=67;else ua=69}else{f[i>>2]=f[j>>2];ua=67}do if((ua|0)==67){ua=0;Jc=f[E>>2]|0;if((Jc|0)>=3){ua=69;break}f[c>>2]=Jc;f[D>>2]=f[I>>2];f[G>>2]=f[Mb>>2];Jc=f[M>>2]|0;Oc=f[F>>2]|0;f[Oc>>2]=f[Jc>>2];f[Oc+4>>2]=f[Jc+4>>2]}while(0);if((ua|0)==69){ua=0;WO(i,j)}f[wb>>2]=f[Nb>>2];f[yb>>2]=f[Ob>>2];f[Ab>>2]=f[Pb>>2];f[Cb>>2]=f[Qb>>2];f[Eb>>2]=f[Rb>>2];Jc=f[Lb>>2]|0;f[Gb>>2]=Jc;Oc=f[Fb>>2]|0;if(!Oc)ed=Jc;else{Jc=Oc+12|0;f[Jc>>2]=(f[Jc>>2]|0)+1;ed=f[Lb>>2]|0}do if(ed|0){Jc=ed+12|0;Oc=f[Jc>>2]|0;f[Jc>>2]=Oc+-1;if((Oc|0)!=1)break;XO(j)}while(0);f[Lb>>2]=0;f[Nb>>2]=0;f[Nb+4>>2]=0;f[Nb+8>>2]=0;f[Nb+12>>2]=0;if((f[E>>2]|0)>0){Oc=f[J>>2]|0;Jc=0;do{f[Oc+(Jc<<2)>>2]=0;Jc=Jc+1|0;fd=f[E>>2]|0}while((Jc|0)<(fd|0));f[j>>2]=f[g>>2];if((fd|0)<3)ua=80;else ua=82}else{f[j>>2]=f[g>>2];ua=80}do if((ua|0)==80){ua=0;Jc=f[sb>>2]|0;if((Jc|0)>=3){ua=82;break}f[E>>2]=Jc;f[I>>2]=f[tb>>2];f[Mb>>2]=f[ub>>2];Jc=f[Jb>>2]|0;Oc=f[M>>2]|0;f[Oc>>2]=f[Jc>>2];f[Oc+4>>2]=f[Jc+4>>2]}while(0);if((ua|0)==82){ua=0;WO(j,g)}f[Nb>>2]=f[vb>>2];f[Ob>>2]=f[xb>>2];f[Pb>>2]=f[zb>>2];f[Qb>>2]=f[Bb>>2];f[Rb>>2]=f[Db>>2];Jc=f[Fb>>2]|0;f[Lb>>2]=Jc;do if(Jc|0){Oc=Jc+12|0;Mc=f[Oc>>2]|0;f[Oc>>2]=Mc+-1;if((Mc|0)!=1)break;XO(g)}while(0);f[Fb>>2]=0;f[vb>>2]=0;f[vb+4>>2]=0;f[vb+8>>2]=0;f[vb+12>>2]=0;if((f[sb>>2]|0)>0){Jc=f[Hb>>2]|0;Mc=0;do{f[Jc+(Mc<<2)>>2]=0;Mc=Mc+1|0}while((Mc|0)<(f[sb>>2]|0))}Mc=f[Jb>>2]|0;if((Mc|0)!=(Ib|0))dX(Mc);Mc=f[H>>2]|0;Jc=f[(f[Mc>>2]|0)+8>>2]|0;f[Sb>>2]=0;f[Tb>>2]=0;f[g>>2]=16842752;f[Ub>>2]=i;Oc=Vb;f[Oc>>2]=0;f[Oc+4>>2]=0;f[v>>2]=33619968;f[Wb>>2]=k;Oc=Xb;f[Oc>>2]=0;f[Oc+4>>2]=0;f[x>>2]=33619968;f[Yb>>2]=m;if(!(dg[Jc&63](Mc,g,v,x)|0)){Sc=-1;break}f[Zb>>2]=0;f[_b>>2]=0;f[g>>2]=16842752;f[$b>>2]=m;Mc=ac;f[Mc>>2]=0;f[Mc+4>>2]=0;f[v>>2]=33619968;f[bc>>2]=n;VC(g,v,1,BK()|0,1.0,-1);f[cc>>2]=0;f[dc>>2]=0;f[g>>2]=16842752;f[ec>>2]=m;f[fc>>2]=0;f[gc>>2]=0;f[v>>2]=16842752;f[hc>>2]=k;Mc=BK()|0;Jc=ic;f[Jc>>2]=0;f[Jc+4>>2]=0;f[x>>2]=33619968;f[jc>>2]=q;zC(g,v,1.0,Mc,0.0,x,1);gd=Tc;hd=Ic}else{gd=Cc;hd=Lc}id=Dc+1|0;if((id|0)<(f[kc>>2]|0)){f[lc>>2]=0;f[mc>>2]=0;f[g>>2]=16842752;f[nc>>2]=s;Uc=+IK(g,1,BK()|0);if(!(Uc>=+p[oc>>3]))jd=0;else{f[pc>>2]=0;f[qc>>2]=0;f[v>>2]=16842752;f[rc>>2]=k;Uc=+IK(v,1,BK()|0);jd=Uc>=+p[sc>>3]}kd=jd}else kd=0;Mc=f[Da>>2]|0;if(Mc|0?(Dc|0)==0|((id|0)%(Mc|0)|0|0)==0|kd^1:0){Uc=+p[f[wb>>2]>>3];Vc=+p[f[a>>2]>>3];f[e>>2]=kd?32:42;f[e+4>>2]=id;f[e+8>>2]=hd;p[e+16>>3]=gd;p[e+24>>3]=Uc;p[e+32>>3]=Vc;p[e+40>>3]=Xc;p[e+48>>3]=Wc;sFa(349099,e)|0}if(kd){Cc=gd;Dc=id;Aa=Wc;Ec=Xc;Fc=hd}else{ua=101;break}}if((ua|0)==101){hd=f[h+40>>2]|0;Fc=f[hd+-4>>2]|0;kd=f[z>>2]|0;b:do if((Fc|0)==(f[kd+-4>>2]|0)){if((Fc|0)==2){if((f[hd>>2]|0)!=(f[kd>>2]|0)){ua=108;break}if((f[hd+4>>2]|0)==(f[kd+4>>2]|0))break;else{ua=108;break}}if((Fc|0)>0){e=0;do{if((f[hd+(e<<2)>>2]|0)!=(f[kd+(e<<2)>>2]|0)){ua=108;break b}e=e+1|0}while((e|0)<(Fc|0))}}else ua=108;while(0);if((ua|0)==108){f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=i;ua=v+8|0;f[ua>>2]=0;f[ua+4>>2]=0;f[v>>2]=33619968;f[v+4>>2]=i;DD(g,v)}v=g+8|0;f[v>>2]=0;f[v+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=h;AO(i,g,ta,1.0,0.0);Sc=(id|0)==(f[kc>>2]|0)?~Dc:id}id=t+36|0;Dc=f[id>>2]|0;if(Dc|0?(kc=Dc+12|0,Dc=f[kc>>2]|0,f[kc>>2]=Dc+-1,(Dc|0)==1):0)XO(t);f[id>>2]=0;f[Fa>>2]=0;f[Fa+4>>2]=0;f[Fa+8>>2]=0;f[Fa+12>>2]=0;if((f[xa>>2]|0)>0){Fa=f[za>>2]|0;za=0;do{f[Fa+(za<<2)>>2]=0;za=za+1|0}while((za|0)<(f[xa>>2]|0))}xa=f[Ba>>2]|0;if((xa|0)!=(ya|0))dX(xa);ld=Sc}else ld=-1;Sc=s+36|0;xa=f[Sc>>2]|0;if(xa|0?(ya=xa+12|0,xa=f[ya>>2]|0,f[ya>>2]=xa+-1,(xa|0)==1):0)XO(s);f[Sc>>2]=0;Sc=s+16|0;f[Sc>>2]=0;f[Sc+4>>2]=0;f[Sc+8>>2]=0;f[Sc+12>>2]=0;if((f[pa>>2]|0)>0){Sc=f[ra>>2]|0;ra=0;do{f[Sc+(ra<<2)>>2]=0;ra=ra+1|0}while((ra|0)<(f[pa>>2]|0))}pa=f[sa>>2]|0;if((pa|0)!=(qa|0))dX(pa);pa=r+36|0;qa=f[pa>>2]|0;if(qa|0?(sa=qa+12|0,qa=f[sa>>2]|0,f[sa>>2]=qa+-1,(qa|0)==1):0)XO(r);f[pa>>2]=0;pa=r+16|0;f[pa>>2]=0;f[pa+4>>2]=0;f[pa+8>>2]=0;f[pa+12>>2]=0;if((f[la>>2]|0)>0){pa=f[na>>2]|0;na=0;do{f[pa+(na<<2)>>2]=0;na=na+1|0}while((na|0)<(f[la>>2]|0))}la=f[oa>>2]|0;if((la|0)!=(ma|0))dX(la);la=q+36|0;ma=f[la>>2]|0;if(ma|0?(oa=ma+12|0,ma=f[oa>>2]|0,f[oa>>2]=ma+-1,(ma|0)==1):0)XO(q);f[la>>2]=0;la=q+16|0;f[la>>2]=0;f[la+4>>2]=0;f[la+8>>2]=0;f[la+12>>2]=0;if((f[ha>>2]|0)>0){la=f[ja>>2]|0;ja=0;do{f[la+(ja<<2)>>2]=0;ja=ja+1|0}while((ja|0)<(f[ha>>2]|0))}ha=f[ka>>2]|0;if((ha|0)!=(ia|0))dX(ha);ha=o+36|0;ia=f[ha>>2]|0;if(ia|0?(ka=ia+12|0,ia=f[ka>>2]|0,f[ka>>2]=ia+-1,(ia|0)==1):0)XO(o);f[ha>>2]=0;ha=o+16|0;f[ha>>2]=0;f[ha+4>>2]=0;f[ha+8>>2]=0;f[ha+12>>2]=0;if((f[da>>2]|0)>0){ha=f[fa>>2]|0;fa=0;do{f[ha+(fa<<2)>>2]=0;fa=fa+1|0}while((fa|0)<(f[da>>2]|0))}da=f[ga>>2]|0;if((da|0)!=(ea|0))dX(da);da=n+36|0;ea=f[da>>2]|0;if(ea|0?(ga=ea+12|0,ea=f[ga>>2]|0,f[ga>>2]=ea+-1,(ea|0)==1):0)XO(n);f[da>>2]=0;da=n+16|0;f[da>>2]=0;f[da+4>>2]=0;f[da+8>>2]=0;f[da+12>>2]=0;if((f[_>>2]|0)>0){da=f[aa>>2]|0;aa=0;do{f[da+(aa<<2)>>2]=0;aa=aa+1|0}while((aa|0)<(f[_>>2]|0))}_=f[ca>>2]|0;if((_|0)!=(ba|0))dX(_);_=m+36|0;ba=f[_>>2]|0;do if(ba|0){ca=ba+12|0;aa=f[ca>>2]|0;f[ca>>2]=aa+-1;if((aa|0)!=1)break;XO(m)}while(0);f[_>>2]=0;_=m+16|0;f[_>>2]=0;f[_+4>>2]=0;f[_+8>>2]=0;f[_+12>>2]=0;if((f[V>>2]|0)>0){_=f[Y>>2]|0;Y=0;do{f[_+(Y<<2)>>2]=0;Y=Y+1|0}while((Y|0)<(f[V>>2]|0))}V=f[Z>>2]|0;if((V|0)!=(W|0))dX(V);V=l+36|0;W=f[V>>2]|0;do if(W|0){Z=W+12|0;Y=f[Z>>2]|0;f[Z>>2]=Y+-1;if((Y|0)!=1)break;XO(l)}while(0);f[V>>2]=0;V=l+16|0;f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;f[V+12>>2]=0;if((f[R>>2]|0)>0){V=f[T>>2]|0;T=0;do{f[V+(T<<2)>>2]=0;T=T+1|0}while((T|0)<(f[R>>2]|0))}R=f[U>>2]|0;if((R|0)!=(S|0))dX(R);R=k+36|0;S=f[R>>2]|0;do if(S|0){U=S+12|0;T=f[U>>2]|0;f[U>>2]=T+-1;if((T|0)!=1)break;XO(k)}while(0);f[R>>2]=0;R=k+16|0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;f[R+12>>2]=0;if((f[N>>2]|0)>0){R=f[P>>2]|0;P=0;do{f[R+(P<<2)>>2]=0;P=P+1|0}while((P|0)<(f[N>>2]|0))}N=f[Q>>2]|0;if((N|0)!=(O|0))dX(N);N=j+36|0;O=f[N>>2]|0;do if(O|0){Q=O+12|0;P=f[Q>>2]|0;f[Q>>2]=P+-1;if((P|0)!=1)break;XO(j)}while(0);f[N>>2]=0;N=j+16|0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;if((f[E>>2]|0)>0){N=f[J>>2]|0;J=0;do{f[N+(J<<2)>>2]=0;J=J+1|0}while((J|0)<(f[E>>2]|0))}E=f[M>>2]|0;if((E|0)!=(L|0))dX(E);E=i+36|0;L=f[E>>2]|0;do if(L|0){M=L+12|0;J=f[M>>2]|0;f[M>>2]=J+-1;if((J|0)!=1)break;XO(i)}while(0);f[E>>2]=0;E=i+16|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;if((f[c>>2]|0)>0){E=f[z>>2]|0;z=0;do{f[E+(z<<2)>>2]=0;z=z+1|0}while((z|0)<(f[c>>2]|0))}c=f[F>>2]|0;if((c|0)!=(C|0))dX(c);c=h+36|0;C=f[c>>2]|0;do if(C|0){F=C+12|0;z=f[F>>2]|0;f[F>>2]=z+-1;if((z|0)!=1)break;XO(h)}while(0);f[c>>2]=0;c=h+16|0;C=h+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[C>>2]|0)>0){c=f[h+40>>2]|0;z=0;do{f[c+(z<<2)>>2]=0;z=z+1|0}while((z|0)<(f[C>>2]|0))}C=f[h+44>>2]|0;if((C|0)==(h+48|0)){u=d;return ld|0}dX(C);u=d;return ld|0}function lya(a){a=a|0;var b=0,c=0;b=EQa(168)|0;f[b>>2]=3;f[b+4>>2]=23;f[b+8>>2]=10;p[b+16>>3]=7.0;p[b+24>>3]=.03;p[b+32>>3]=4.0;p[b+40>>3]=.03;p[b+48>>3]=.05;f[b+56>>2]=3;p[b+64>>3]=.05;f[b+72>>2]=0;f[b+76>>2]=5;f[b+80>>2]=30;p[b+88>>3]=.1;f[b+96>>2]=1;f[b+100>>2]=4;p[b+104>>3]=.13;p[b+112>>3]=.35;p[b+120>>3]=5.0;p[b+128>>3]=.6;n[b+136>>2]=0.0;n[b+140>>2]=0.0;f[b+144>>2]=5;f[b+148>>2]=10;n[b+152>>2]=.1745329201221466;n[b+156>>2]=10.0;f[b+160>>2]=5;f[b+164>>2]=0;c=EQa(16)|0;f[c+4>>2]=1;f[c>>2]=101252;f[c+8>>2]=b;f[a>>2]=c;f[a+4>>2]=b;return}function mya(a){a=a|0;GQa(a);return}function nya(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)GQa(b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function oya(a,c,d,e,g,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0.0,ba=0,ca=0.0,da=0,ea=0.0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0.0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0.0,Xa=0.0,Ya=0.0,Za=0.0,_a=0.0,$a=0.0,ab=0.0,bb=0.0,cb=0.0,db=0.0,eb=0.0,fb=0.0,gb=0.0,hb=0.0,ib=0.0,jb=0.0,kb=0.0,lb=0.0,mb=0.0,nb=0.0,ob=0.0,pb=0.0,qb=0.0,rb=0.0,sb=0.0,tb=0.0,ub=0.0,vb=0.0,wb=0.0,xb=0.0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0;l=u;u=u+672|0;m=l+608|0;o=l;q=l+552|0;r=l+496|0;s=l+440|0;t=l+384|0;v=l+272|0;w=l+256|0;x=l+168|0;y=l+112|0;z=l+96|0;A=l+84|0;B=l+72|0;C=l+328|0;D=l+56|0;E=l+200|0;if(VJ(a)|0){f[m>>2]=0;f[m+4>>2]=0;F=JV(m,15)|0;G=349266;H=F+15|0;do{b[F>>0]=b[G>>0]|0;F=F+1|0;G=G+1|0}while((F|0)<(H|0));EP(-215,m,349282,349296,1106);KV(m)}f[y>>2]=1124007936;I=y+4|0;J=y+8|0;L=y+40|0;F=I;H=F+36|0;do{f[F>>2]=0;F=F+4|0}while((F|0)<(H|0));f[L>>2]=J;M=y+48|0;N=y+44|0;f[N>>2]=M;f[M>>2]=0;f[y+52>>2]=0;do if((HJ(a)|0)==65536){O=f[a+4>>2]|0;f[o>>2]=f[O>>2];P=o+4|0;Q=O+4|0;f[P>>2]=f[Q>>2];R=o+8|0;f[R>>2]=f[O+8>>2];f[o+12>>2]=f[O+12>>2];f[o+16>>2]=f[O+16>>2];f[o+20>>2]=f[O+20>>2];f[o+24>>2]=f[O+24>>2];f[o+28>>2]=f[O+28>>2];f[o+32>>2]=f[O+32>>2];S=f[O+36>>2]|0;f[o+36>>2]=S;f[o+40>>2]=R;R=o+48|0;T=o+44|0;f[T>>2]=R;f[R>>2]=0;f[o+52>>2]=0;if(S|0){R=S+12|0;f[R>>2]=(f[R>>2]|0)+1}if((f[Q>>2]|0)<3){Q=f[O+44>>2]|0;R=f[T>>2]|0;f[R>>2]=f[Q>>2];f[R+4>>2]=f[Q+4>>2];break}else{f[P>>2]=0;WO(o,O);break}}else DJ(o,a,-1);while(0);f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=o;a=q+8|0;f[a>>2]=0;f[a+4>>2]=0;f[q>>2]=33619968;f[q+4>>2]=y;pya(m,q);a=o+36|0;O=f[a>>2]|0;if(O|0?(P=O+12|0,O=f[P>>2]|0,f[P>>2]=O+-1,(O|0)==1):0)XO(o);f[a>>2]=0;a=o+16|0;O=o+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if((f[O>>2]|0)>0){a=f[o+40>>2]|0;P=0;do{f[a+(P<<2)>>2]=0;P=P+1|0}while((P|0)<(f[O>>2]|0))}O=f[o+44>>2]|0;if((O|0)!=(o+48|0))dX(O);f[z>>2]=0;O=z+4|0;f[O>>2]=0;f[z+8>>2]=0;f[A>>2]=0;P=A+4|0;f[P>>2]=0;f[A+8>>2]=0;f[B>>2]=0;a=B+4|0;f[a>>2]=0;f[B+8>>2]=0;Q=g+4|0;if((f[(f[Q>>2]|0)+72>>2]|0)==3){f[C>>2]=f[y>>2];R=C+4|0;T=f[I>>2]|0;f[R>>2]=T;S=C+8|0;f[S>>2]=f[J>>2];f[C+12>>2]=f[y+12>>2];J=C+16|0;f[J>>2]=f[y+16>>2];f[C+20>>2]=f[y+20>>2];f[C+24>>2]=f[y+24>>2];f[C+28>>2]=f[y+28>>2];f[C+32>>2]=f[y+32>>2];U=C+36|0;V=f[y+36>>2]|0;f[U>>2]=V;W=C+40|0;f[W>>2]=S;S=C+48|0;Y=C+44|0;f[Y>>2]=S;f[S>>2]=0;f[C+52>>2]=0;if(!V)Z=T;else{T=V+12|0;f[T>>2]=(f[T>>2]|0)+1;Z=f[I>>2]|0}if((Z|0)<3){Z=f[N>>2]|0;T=f[Y>>2]|0;f[T>>2]=f[Z>>2];f[T+4>>2]=f[Z+4>>2]}else{f[R>>2]=0;WO(C,y)}f[m>>2]=1124007936;Z=m+4|0;T=m+8|0;V=m+40|0;F=Z;H=F+36|0;do{f[F>>2]=0;F=F+4|0}while((F|0)<(H|0));f[V>>2]=T;T=m+48|0;_=m+44|0;f[_>>2]=T;f[T>>2]=0;f[m+52>>2]=0;$=o+8|0;f[$>>2]=0;f[$+4>>2]=0;f[o>>2]=33619968;f[o+4>>2]=m;eM(C,o);$=f[Q>>2]|0;aa=+n[$+136>>2];if(aa>1.0){f[o+8>>2]=0;f[o+12>>2]=0;f[o>>2]=16842752;f[o+4>>2]=C;ba=q+8|0;f[ba>>2]=0;f[ba+4>>2]=0;f[q>>2]=33619968;f[q+4>>2]=m;f[r>>2]=0;f[r+4>>2]=0;ca=1.0/aa;V5(o,q,r,ca,ca,3);da=f[Q>>2]|0}else da=$;ca=+n[da+140>>2];do if(ca!=0.0?(aa=+K(+ca),ea=aa*4.0,da=~~ea,$=da-(ea<+(da|0)&1)|1,($|0)>1):0){if(ca>0.0){f[o+8>>2]=0;f[o+12>>2]=0;f[o>>2]=16842752;f[o+4>>2]=m;da=q+8|0;f[da>>2]=0;f[da+4>>2]=0;f[q>>2]=33619968;f[q+4>>2]=m;f[s>>2]=$;f[s+4>>2]=$;ea=aa;n1(o,q,s,ea,ea,1);break}f[o>>2]=1124007936;da=o+4|0;ba=o+8|0;fa=o+40|0;F=da;H=F+36|0;do{f[F>>2]=0;F=F+4|0}while((F|0)<(H|0));f[fa>>2]=ba;ga=o+48|0;ha=o+44|0;f[ha>>2]=ga;f[ga>>2]=0;f[o+52>>2]=0;ia=q+8|0;f[ia>>2]=0;f[ia+4>>2]=0;f[q>>2]=33619968;f[q+4>>2]=o;eM(m,q);f[q+8>>2]=0;f[q+12>>2]=0;f[q>>2]=16842752;f[q+4>>2]=m;ia=t+8|0;f[ia>>2]=0;f[ia+4>>2]=0;f[t>>2]=33619968;f[t+4>>2]=m;f[v>>2]=$;f[v+4>>2]=$;ea=aa;n1(q,t,v,ea,ea,1);ia=f[ba>>2]|0;if((ia|0)>0){ja=o+12|0;ka=o+16|0;la=m+16|0;ma=0;na=ia;ia=f[ja>>2]|0;while(1){if((ia|0)>0){oa=0;do{pa=(f[ka>>2]|0)+((X(f[ga>>2]|0,ma)|0)+oa)|0;qa=(f[la>>2]|0)+((X(f[T>>2]|0,ma)|0)+oa)|0;ra=(h[pa>>0]<<1)-(h[qa>>0]|0)|0;pa=(ra|0)>0?ra:0;b[qa>>0]=(pa|0)<255?pa:255;oa=oa+1|0;sa=f[ja>>2]|0}while((oa|0)<(sa|0));ta=sa;ua=f[ba>>2]|0}else{ta=ia;ua=na}ma=ma+1|0;if((ma|0)>=(ua|0))break;else{na=ua;ia=ta}}}ia=o+36|0;na=f[ia>>2]|0;if(na|0?(ma=na+12|0,na=f[ma>>2]|0,f[ma>>2]=na+-1,(na|0)==1):0)XO(o);f[ia>>2]=0;ia=o+16|0;f[ia>>2]=0;f[ia+4>>2]=0;f[ia+8>>2]=0;f[ia+12>>2]=0;if((f[da>>2]|0)>0){ia=f[fa>>2]|0;na=0;do{f[ia+(na<<2)>>2]=0;na=na+1|0}while((na|0)<(f[da>>2]|0))}da=f[ha>>2]|0;if((da|0)!=(ga|0))dX(da)}while(0);ta=gza(g,m,A)|0;if(!ta){f[o>>2]=0;f[o+4>>2]=0;F=JV(o,11)|0;G=349359;H=F+11|0;do{b[F>>0]=b[G>>0]|0;F=F+1|0;G=G+1|0}while((F|0)<(H|0));EP(-215,o,349371,349296,1048);KV(o)}ua=(f[Q>>2]|0)+136|0;ca=+n[ua>>2];sa=ta+4|0;da=f[sa>>2]|0;a:do if(ca>1.0){if((da|0)>0){na=f[ta>>2]|0;ia=f[ta+12>>2]|0;fa=da+-1|0;ma=0;aa=ca;while(1){ba=ia+(X(ma,na)|0)|0;n[ba>>2]=aa*+n[ba>>2];ja=ba+4|0;n[ja>>2]=+n[ua>>2]*+n[ja>>2];ja=ba+8|0;n[ja>>2]=+n[ua>>2]*+n[ja>>2];ja=ba+12|0;n[ja>>2]=+n[ua>>2]*+n[ja>>2];ja=ba+16|0;n[ja>>2]=+n[ua>>2]*+n[ja>>2];ja=ba+20|0;n[ja>>2]=+n[ua>>2]*+n[ja>>2];ja=ba+24|0;n[ja>>2]=+n[ua>>2]*+n[ja>>2];ja=ba+28|0;n[ja>>2]=+n[ua>>2]*+n[ja>>2];if((ma|0)==(fa|0)){va=50;break a}ma=ma+1|0;aa=+n[ua>>2]}}}else va=50;while(0);if((va|0)==50?(da|0)>0:0){da=ta+12|0;ua=o+4|0;ma=o+8|0;fa=q+4|0;na=o+8|0;ia=q+4|0;ga=q+4|0;ha=q+4|0;ja=z+8|0;ba=0;do{la=(f[da>>2]|0)+(X(f[ta>>2]|0,ba)|0)|0;f[o>>2]=0;f[ua>>2]=0;f[ma>>2]=0;ka=f[la+28>>2]|0;f[q>>2]=f[la+24>>2];f[fa>>2]=ka;Qaa(o,q);ka=f[ua>>2]|0;$=f[na>>2]|0;oa=f[la>>2]|0;pa=f[la+4>>2]|0;f[q>>2]=oa;f[ia>>2]=pa;if((ka|0)==($|0)){Qaa(o,q);wa=f[ua>>2]|0;xa=f[na>>2]|0}else{f[ka>>2]=oa;f[ka+4>>2]=pa;pa=ka+8|0;f[ua>>2]=pa;wa=pa;xa=$}$=f[la+8>>2]|0;pa=f[la+12>>2]|0;f[q>>2]=$;f[ga>>2]=pa;if((wa|0)==(xa|0)){Qaa(o,q);ya=f[ua>>2]|0;za=f[na>>2]|0}else{f[wa>>2]=$;f[wa+4>>2]=pa;pa=wa+8|0;f[ua>>2]=pa;ya=pa;za=xa}pa=f[la+16>>2]|0;$=f[la+20>>2]|0;f[q>>2]=pa;f[ha>>2]=$;if((ya|0)==(za|0))Qaa(o,q);else{f[ya>>2]=pa;f[ya+4>>2]=$;f[ua>>2]=ya+8}$=f[O>>2]|0;if(($|0)==(f[ja>>2]|0))rya(z,o);else{qya($,o);f[O>>2]=(f[O>>2]|0)+12}$=f[o>>2]|0;if($|0){pa=f[ua>>2]|0;if((pa|0)!=($|0))f[ua>>2]=pa+(~((pa+-8-$|0)>>>3)<<3);GQa($)}ba=ba+1|0}while((ba|0)<(f[sa>>2]|0))}sa=m+36|0;ba=f[sa>>2]|0;if(ba|0?(ua=ba+12|0,ba=f[ua>>2]|0,f[ua>>2]=ba+-1,(ba|0)==1):0)XO(m);f[sa>>2]=0;sa=m+16|0;f[sa>>2]=0;f[sa+4>>2]=0;f[sa+8>>2]=0;f[sa+12>>2]=0;if((f[Z>>2]|0)>0){sa=f[V>>2]|0;V=0;do{f[sa+(V<<2)>>2]=0;V=V+1|0}while((V|0)<(f[Z>>2]|0))}Z=f[_>>2]|0;if((Z|0)!=(T|0))dX(Z);Z=f[U>>2]|0;if(Z|0?(T=Z+12|0,Z=f[T>>2]|0,f[T>>2]=Z+-1,(Z|0)==1):0)XO(C);f[U>>2]=0;f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[J+12>>2]=0;if((f[R>>2]|0)>0){J=f[W>>2]|0;W=0;do{f[J+(W<<2)>>2]=0;W=W+1|0}while((W|0)<(f[R>>2]|0))}R=f[Y>>2]|0;if((R|0)!=(S|0))dX(R)}else{f[x+8>>2]=0;f[x+12>>2]=0;f[x>>2]=16842752;R=x+4|0;f[R>>2]=y;do if((HJ(x)|0)==65536){S=f[R>>2]|0;f[s>>2]=f[S>>2];Y=s+4|0;W=S+4|0;f[Y>>2]=f[W>>2];J=s+8|0;f[J>>2]=f[S+8>>2];f[s+12>>2]=f[S+12>>2];f[s+16>>2]=f[S+16>>2];f[s+20>>2]=f[S+20>>2];f[s+24>>2]=f[S+24>>2];f[s+28>>2]=f[S+28>>2];f[s+32>>2]=f[S+32>>2];U=f[S+36>>2]|0;f[s+36>>2]=U;f[s+40>>2]=J;J=s+48|0;C=s+44|0;f[C>>2]=J;f[J>>2]=0;f[s+52>>2]=0;if(U|0){J=U+12|0;f[J>>2]=(f[J>>2]|0)+1}if((f[W>>2]|0)<3){W=f[S+44>>2]|0;J=f[C>>2]|0;f[J>>2]=f[W>>2];f[J+4>>2]=f[W+4>>2];Aa=Y;break}else{f[Y>>2]=0;WO(s,S);Aa=Y;break}}else{DJ(s,x,-1);Aa=s+4|0}while(0);R=f[Aa>>2]|0;if((R|0)<3)Ba=X(f[s+12>>2]|0,f[s+8>>2]|0)|0;else{Y=f[s+40>>2]|0;S=0;W=1;while(1){J=X(f[Y+(S<<2)>>2]|0,W)|0;S=S+1|0;if((S|0)==(R|0)){Ba=J;break}else W=J}}if(!Ba){f[m>>2]=0;f[m+4>>2]=0;F=JV(m,18)|0;G=349381;H=F+18|0;do{b[F>>0]=b[G>>0]|0;F=F+1|0;G=G+1|0}while((F|0)<(H|0));EP(-215,m,349400,349296,377);KV(m)}f[t>>2]=1124007936;Ba=t+4|0;W=t+8|0;R=t+40|0;F=Ba;H=F+36|0;do{f[F>>2]=0;F=F+4|0}while((F|0)<(H|0));f[R>>2]=W;W=t+48|0;S=t+44|0;f[S>>2]=W;f[W>>2]=0;f[t+52>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=s;Y=o+8|0;f[Y>>2]=0;f[Y+4>>2]=0;f[o>>2]=33619968;f[o+4>>2]=t;pya(m,o);f[v>>2]=0;Y=v+4|0;f[Y>>2]=0;f[v+8>>2]=0;f[w>>2]=0;J=w+4|0;f[J>>2]=0;f[w+8>>2]=0;C=f[Q>>2]|0;U=f[C>>2]|0;if((U|0)>2?(Z=f[C+4>>2]|0,(Z|0)>2):0){Ca=C;Da=Z;Ea=U}else{f[m>>2]=0;f[m+4>>2]=0;F=JV(m,78)|0;G=349418;H=F+78|0;do{b[F>>0]=b[G>>0]|0;F=F+1|0;G=G+1|0}while((F|0)<(H|0));EP(-215,m,349497,349296,332);KV(m);U=f[Q>>2]|0;Ca=U;Da=f[U+4>>2]|0;Ea=f[U>>2]|0}if((Da|0)<(Ea|0)){f[m>>2]=0;f[m+4>>2]=0;F=JV(m,68)|0;G=349522;H=F+68|0;do{b[F>>0]=b[G>>0]|0;F=F+1|0;G=G+1|0}while((F|0)<(H|0));EP(-215,m,349497,349296,333);KV(m);Fa=f[Q>>2]|0}else Fa=Ca;Ca=f[Fa+8>>2]|0;if((Ca|0)>0){Ga=Fa;Ha=Ca}else{f[m>>2]=0;f[m+4>>2]=0;F=JV(m,37)|0;G=349591;H=F+37|0;do{b[F>>0]=b[G>>0]|0;F=F+1|0;G=G+1|0}while((F|0)<(H|0));EP(-215,m,349497,349296,334);KV(m);Ca=f[Q>>2]|0;Ga=Ca;Ha=f[Ca+8>>2]|0}Ca=((f[Ga+4>>2]|0)-(f[Ga>>2]|0)|0)/(Ha|0)|0;Ha=Ca+1|0;f[m>>2]=0;Ga=m+4|0;f[Ga>>2]=0;f[m+8>>2]=0;Fa=(Ha|0)==0;do if(!Fa)if(Ha>>>0>357913941)ZOa(m);else{Ea=Ha*12|0;Da=EQa(Ea)|0;f[m>>2]=Da;U=Da+(Ha*12|0)|0;f[m+8>>2]=U;FVa(Da|0,0,Ea|0)|0;f[Ga>>2]=U;break}while(0);f[o>>2]=0;U=o+4|0;f[U>>2]=0;f[o+8>>2]=0;if(!Fa){Fa=Ha*12|0;Ea=EQa(Fa)|0;f[o>>2]=Ea;Da=Ea+(Ha*12|0)|0;f[o+8>>2]=Da;FVa(Ea|0,0,Fa|0)|0;f[U>>2]=Da}f[q>>2]=0;f[q+4>>2]=Ha;f[r>>2]=101272;f[r+4>>2]=t;f[r+8>>2]=m;f[r+12>>2]=o;f[r+16>>2]=g;$Z(q,r,-1.0);if((Ca|0)>=0){Ha=v+8|0;Da=w+8|0;Fa=0;Ea=f[m>>2]|0;while(1){if((f[Ea+(Fa*12|0)+4>>2]|0)==(f[Ea+(Fa*12|0)>>2]|0))Ia=Ea;else{Z=0;C=Ea;while(1){T=(f[C+(Fa*12|0)>>2]|0)+(Z*12|0)|0;_=f[Y>>2]|0;if((_|0)==(f[Ha>>2]|0))rya(v,T);else{qya(_,T);f[Y>>2]=(f[Y>>2]|0)+12}T=(f[(f[o>>2]|0)+(Fa*12|0)>>2]|0)+(Z*12|0)|0;_=f[J>>2]|0;if((_|0)==(f[Da>>2]|0))tya(w,T);else{sya(_,T);f[J>>2]=(f[J>>2]|0)+12}Z=Z+1|0;T=f[m>>2]|0;if(Z>>>0>=(((f[T+(Fa*12|0)+4>>2]|0)-(f[T+(Fa*12|0)>>2]|0)|0)/12|0)>>>0){Ia=T;break}else C=T}}if((Fa|0)<(Ca|0)){Fa=Fa+1|0;Ea=Ia}else break}}Ia=f[o>>2]|0;if(Ia|0){Ea=f[U>>2]|0;if((Ea|0)==(Ia|0))Ja=Ia;else{Fa=Ea;while(1){Ea=Fa+-12|0;f[U>>2]=Ea;Ca=f[Ea>>2]|0;if(!Ca)Ka=Ea;else{Da=Fa+-8|0;Ha=f[Da>>2]|0;if((Ha|0)==(Ca|0))La=Ca;else{C=Ha;while(1){Ha=C+-12|0;f[Da>>2]=Ha;Z=f[Ha>>2]|0;if(!Z)Ma=Ha;else{Ha=C+-8|0;T=f[Ha>>2]|0;if((T|0)!=(Z|0))f[Ha>>2]=T+(~((T+-8-Z|0)>>>3)<<3);GQa(Z);Ma=f[Da>>2]|0}if((Ma|0)==(Ca|0))break;else C=Ma}La=f[Ea>>2]|0}GQa(La);Ka=f[U>>2]|0}if((Ka|0)==(Ia|0))break;else Fa=Ka}Ja=f[o>>2]|0}GQa(Ja)}Ja=f[m>>2]|0;if(Ja|0){Ka=f[Ga>>2]|0;if((Ka|0)==(Ja|0))Na=Ja;else{Fa=Ka;while(1){Ka=Fa+-12|0;f[Ga>>2]=Ka;Ia=f[Ka>>2]|0;if(!Ia)Oa=Ka;else{U=Fa+-8|0;La=f[U>>2]|0;if((La|0)==(Ia|0))Pa=Ia;else{Ma=La;while(1){La=Ma+-12|0;f[U>>2]=La;C=f[La>>2]|0;if(!C)Qa=La;else{La=Ma+-8|0;Ca=f[La>>2]|0;if((Ca|0)!=(C|0))f[La>>2]=Ca+(~((Ca+-8-C|0)>>>3)<<3);GQa(C);Qa=f[U>>2]|0}if((Qa|0)==(Ia|0))break;else Ma=Qa}Pa=f[Ka>>2]|0}GQa(Pa);Oa=f[Ga>>2]|0}if((Oa|0)==(Ja|0))break;else Fa=Oa}Na=f[m>>2]|0}GQa(Na)}Na=f[Y>>2]|0;Oa=f[v>>2]|0;Fa=Oa;if((Na|0)!=(Oa|0)){Ja=(Na-Oa|0)/12|0;Ga=0;do{Pa=f[Fa+(Ga*12|0)>>2]|0;Qa=Pa+8|0;ca=+n[Qa>>2];aa=+n[Pa>>2];Ma=Pa+12|0;ea=+n[Ma>>2];Ra=+n[Pa+4>>2];if((ca-aa)*(+n[Pa+20>>2]-Ra)-(ea-Ra)*(+n[Pa+16>>2]-aa)<0.0){Ia=Pa+24|0;f[Qa>>2]=f[Ia>>2];Qa=Pa+28|0;f[Ma>>2]=f[Qa>>2];n[Ia>>2]=ca;n[Qa>>2]=ea}Ga=Ga+1|0}while(Ga>>>0>>0)}ea=+p[(f[Q>>2]|0)+64>>3];if(!(ea>=0.0)){f[m>>2]=0;f[m+4>>2]=0;F=JV(m,26)|0;G=349629;H=F+26|0;do{b[F>>0]=b[G>>0]|0;F=F+1|0;G=G+1|0}while((F|0)<(H|0));EP(-215,m,349656,349296,223);KV(m);Sa=f[Y>>2]|0;Ta=f[v>>2]|0}else{Sa=Na;Ta=Oa}f[m>>2]=0;Oa=m+4|0;f[Oa>>2]=0;f[m+8>>2]=0;if((Sa|0)==(Ta|0)){Ua=Ta;Va=Ta}else{Na=o+4|0;Ja=m+8|0;Ga=0;Fa=Ta;Ta=Sa;while(1){Sa=Ga;Ga=Ga+1|0;if(Ga>>>0<((Ta-Fa|0)/12|0)>>>0){Qa=Ga;Ia=Ta;Ma=Fa;while(1){Pa=Ma;U=f[w>>2]|0;Ea=(f[U+(Sa*12|0)+4>>2]|0)-(f[U+(Sa*12|0)>>2]|0)>>3;C=(f[U+(Qa*12|0)+4>>2]|0)-(f[U+(Qa*12|0)>>2]|0)>>3;U=f[Pa+(Sa*12|0)>>2]|0;Ca=f[Pa+(Qa*12|0)>>2]|0;ca=ea*+(((C|0)<(Ea|0)?C:Ea)|0);aa=ca*ca;ca=+n[U>>2];Ra=+n[Ca>>2];Wa=ca-Ra;Xa=+n[U+4>>2];Ya=+n[Ca+4>>2];Za=Xa-Ya;_a=+n[U+8>>2];$a=+n[Ca+8>>2];ab=_a-$a;bb=+n[U+12>>2];cb=+n[Ca+12>>2];db=bb-cb;eb=+n[U+16>>2];fb=+n[Ca+16>>2];gb=eb-fb;hb=+n[U+20>>2];ib=+n[Ca+20>>2];jb=hb-ib;kb=+n[U+24>>2];lb=+n[Ca+24>>2];mb=kb-lb;nb=+n[U+28>>2];ob=+n[Ca+28>>2];pb=nb-ob;do if(!((Wa*Wa+Za*Za+0.0+(ab*ab+db*db)+(gb*gb+jb*jb)+(mb*mb+pb*pb))*.25>2]=Sa;f[Na>>2]=Qa;Ca=f[Oa>>2]|0;if((Ca|0)==(f[Ja>>2]|0))uya(m,o);else{U=o;Ea=f[U+4>>2]|0;C=Ca;f[C>>2]=f[U>>2];f[C+4>>2]=Ea;f[Oa>>2]=(f[Oa>>2]|0)+8}yb=f[v>>2]|0;zb=f[Y>>2]|0}Qa=Qa+1|0;if(Qa>>>0>=((zb-yb|0)/12|0)>>>0){Ab=yb;Bb=zb;break}else{Ia=zb;Ma=yb}}}else{Ab=Fa;Bb=Ta}if(Ga>>>0>=((Bb-Ab|0)/12|0)>>>0){Ua=Ab;Va=Bb;break}else{Fa=Ab;Ta=Bb}}}Bb=Va-Ua|0;Ua=(Bb|0)/12|0;f[o>>2]=0;Va=o+4|0;f[Va>>2]=0;Ta=o+8|0;f[Ta>>2]=0;do if(!Bb){Cb=0;Db=0}else{if((Bb|0)<0)ZOa(o);Ab=((Ua+-1|0)>>>5)+1|0;Fa=EQa(Ab<<2)|0;f[o>>2]=Fa;f[Ta>>2]=Ab;f[Va>>2]=Ua;Ab=Ua>>>5;FVa(Fa|0,0,Ab<<2|0)|0;Ga=Ua&31;yb=Fa+(Ab<<2)|0;if(!Ga){Cb=Ua;Db=Fa;break}f[yb>>2]=f[yb>>2]&~(-1>>>(32-Ga|0));Cb=Ua;Db=Fa}while(0);Ua=f[Oa>>2]|0;Ta=f[m>>2]|0;Bb=Ta;if((Ua|0)!=(Ta|0)){Fa=f[w>>2]|0;Ga=Ua-Ta>>3;Ta=0;do{Ua=f[Bb+(Ta<<3)>>2]|0;yb=Db+(Ua>>>5<<2)|0;Ab=1<<(Ua&31);zb=f[yb>>2]|0;do if(!(Ab&zb)){Ja=f[Bb+(Ta<<3)+4>>2]|0;Na=Db+(Ja>>>5<<2)|0;Ma=1<<(Ja&31);Ia=f[Na>>2]|0;if(Ma&Ia|0)break;if(((f[Fa+(Ua*12|0)+4>>2]|0)-(f[Fa+(Ua*12|0)>>2]|0)|0)>>>0>((f[Fa+(Ja*12|0)+4>>2]|0)-(f[Fa+(Ja*12|0)>>2]|0)|0)>>>0){f[Na>>2]=Ma|Ia;break}else{f[yb>>2]=Ab|zb;break}}while(0);Ta=Ta+1|0}while(Ta>>>0>>0)}Ga=f[z>>2]|0;Ta=f[O>>2]|0;if((Ta|0)==(Ga|0))Eb=Cb;else{Cb=Ta;while(1){Ta=Cb+-12|0;f[O>>2]=Ta;Fa=f[Ta>>2]|0;if(!Fa)Fb=Ta;else{Ta=Cb+-8|0;Db=f[Ta>>2]|0;if((Db|0)!=(Fa|0))f[Ta>>2]=Db+(~((Db+-8-Fa|0)>>>3)<<3);GQa(Fa);Fb=f[O>>2]|0}if((Fb|0)==(Ga|0))break;else Cb=Fb}Eb=f[Va>>2]|0}Va=Ga;do if(!Eb){Fb=f[z>>2]|0;Gb=0;Hb=Fb;Ib=(Va-Fb|0)/12|0;va=195}else{Fb=f[o>>2]|0;Cb=0;Fa=0;do{Fa=Fa+((f[Fb+(Cb>>>5<<2)>>2]&1<<(Cb&31)|0)==0&1)|0;Cb=Cb+1|0}while((Cb|0)!=(Eb|0));Cb=f[z>>2]|0;Fb=(Va-Cb|0)/12|0;if(Fa>>>0<=Fb>>>0){Gb=Fa;Hb=Cb;Ib=Fb;va=195;break}vya(z,Fa-Fb|0);Jb=Fa}while(0);do if((va|0)==195){if(Gb>>>0>=Ib>>>0){Jb=Gb;break}Va=Hb+(Gb*12|0)|0;if((Va|0)==(Ga|0)){Jb=Gb;break}else Kb=Ga;while(1){Eb=Kb+-12|0;f[O>>2]=Eb;Fb=f[Eb>>2]|0;if(!Fb)Lb=Eb;else{Eb=Kb+-8|0;Cb=f[Eb>>2]|0;if((Cb|0)!=(Fb|0))f[Eb>>2]=Cb+(~((Cb+-8-Fb|0)>>>3)<<3);GQa(Fb);Lb=f[O>>2]|0}if((Lb|0)==(Va|0)){Jb=Gb;break}else Kb=Lb}}while(0);Lb=f[P>>2]|0;Kb=f[A>>2]|0;Gb=(Lb-Kb|0)/12|0;Ga=Kb;Kb=Lb;do if(Jb>>>0>Gb>>>0)wya(A,Jb-Gb|0);else{if(Jb>>>0>=Gb>>>0)break;Lb=Ga+(Jb*12|0)|0;if((Lb|0)==(Kb|0))break;else Mb=Kb;while(1){Hb=Mb+-12|0;f[P>>2]=Hb;Ib=f[Hb>>2]|0;if(!Ib)Nb=Hb;else{Hb=Mb+-8|0;Va=f[Hb>>2]|0;if((Va|0)!=(Ib|0))f[Hb>>2]=Va+(~((Va+-8-Ib|0)>>>3)<<3);GQa(Ib);Nb=f[P>>2]|0}if((Nb|0)==(Lb|0))break;else Mb=Nb}}while(0);Nb=f[Y>>2]|0;Mb=f[v>>2]|0;Kb=f[o>>2]|0;if((Nb|0)==(Mb|0))Ob=Kb;else{Jb=0;Ga=0;Gb=Kb;Kb=Nb;Nb=Mb;while(1){Mb=Nb;if(!(1<<(Jb&31)&f[Gb+(Jb>>>5<<2)>>2])){Lb=Mb+(Jb*12|0)|0;Ib=(f[z>>2]|0)+(Ga*12|0)|0;if((Ib|0)!=(Lb|0))xya(Ib,f[Lb>>2]|0,f[Mb+(Jb*12|0)+4>>2]|0);Mb=f[w>>2]|0;Lb=Mb+(Jb*12|0)|0;Ib=(f[A>>2]|0)+(Ga*12|0)|0;if((Ib|0)!=(Lb|0))yya(Ib,f[Lb>>2]|0,f[Mb+(Jb*12|0)+4>>2]|0);Pb=Ga+1|0;Qb=f[v>>2]|0;Rb=f[Y>>2]|0;Sb=f[o>>2]|0}else{Pb=Ga;Qb=Nb;Rb=Kb;Sb=Gb}Jb=Jb+1|0;if(Jb>>>0>=((Rb-Qb|0)/12|0)>>>0){Ob=Sb;break}else{Ga=Pb;Gb=Sb;Kb=Rb;Nb=Qb}}}if(Ob|0)GQa(Ob);Ob=f[m>>2]|0;if(Ob|0){Qb=f[Oa>>2]|0;if((Qb|0)!=(Ob|0))f[Oa>>2]=Qb+(~((Qb+-8-Ob|0)>>>3)<<3);GQa(Ob)}Ob=f[w>>2]|0;if(Ob|0){Qb=f[J>>2]|0;if((Qb|0)==(Ob|0))Tb=Ob;else{Oa=Qb;while(1){Qb=Oa+-12|0;f[J>>2]=Qb;Nb=f[Qb>>2]|0;if(!Nb)Ub=Qb;else{Qb=Oa+-8|0;Rb=f[Qb>>2]|0;if((Rb|0)!=(Nb|0))f[Qb>>2]=Rb+(~((Rb+-8-Nb|0)>>>3)<<3);GQa(Nb);Ub=f[J>>2]|0}if((Ub|0)==(Ob|0))break;else Oa=Ub}Tb=f[w>>2]|0}GQa(Tb)}Tb=f[v>>2]|0;if(Tb|0){Ub=f[Y>>2]|0;if((Ub|0)==(Tb|0))Vb=Tb;else{Oa=Ub;while(1){Ub=Oa+-12|0;f[Y>>2]=Ub;Ob=f[Ub>>2]|0;if(!Ob)Wb=Ub;else{Ub=Oa+-8|0;J=f[Ub>>2]|0;if((J|0)!=(Ob|0))f[Ub>>2]=J+(~((J+-8-Ob|0)>>>3)<<3);GQa(Ob);Wb=f[Y>>2]|0}if((Wb|0)==(Tb|0))break;else Oa=Wb}Vb=f[v>>2]|0}GQa(Vb)}Vb=t+36|0;Wb=f[Vb>>2]|0;do if(Wb|0){Oa=Wb+12|0;Tb=f[Oa>>2]|0;f[Oa>>2]=Tb+-1;if((Tb|0)!=1)break;XO(t)}while(0);f[Vb>>2]=0;Vb=t+16|0;f[Vb>>2]=0;f[Vb+4>>2]=0;f[Vb+8>>2]=0;f[Vb+12>>2]=0;if((f[Ba>>2]|0)>0){Vb=f[R>>2]|0;R=0;do{f[Vb+(R<<2)>>2]=0;R=R+1|0}while((R|0)<(f[Ba>>2]|0))}Ba=f[S>>2]|0;if((Ba|0)!=(W|0))dX(Ba);Ba=s+36|0;W=f[Ba>>2]|0;do if(W|0){S=W+12|0;R=f[S>>2]|0;f[S>>2]=R+-1;if((R|0)!=1)break;XO(s)}while(0);f[Ba>>2]=0;Ba=s+16|0;f[Ba>>2]=0;f[Ba+4>>2]=0;f[Ba+8>>2]=0;f[Ba+12>>2]=0;if((f[Aa>>2]|0)>0){Ba=f[s+40>>2]|0;W=0;do{f[Ba+(W<<2)>>2]=0;W=W+1|0}while((W|0)<(f[Aa>>2]|0))}Aa=f[s+44>>2]|0;if((Aa|0)!=(s+48|0))dX(Aa)}f[D+8>>2]=0;f[D+12>>2]=0;f[D>>2]=16842752;Aa=D+4|0;f[Aa>>2]=y;W=(f[O>>2]|0)-(f[z>>2]|0)|0;Ba=(W|0)/12|0;f[m>>2]=0;R=m+4|0;f[R>>2]=0;f[m+8>>2]=0;f[o>>2]=0;S=o+4|0;f[S>>2]=0;f[o+8>>2]=0;f[q>>2]=0;Vb=q+4|0;f[Vb>>2]=0;f[q+8>>2]=0;do if((HJ(D)|0)==65536){Wb=f[Aa>>2]|0;f[r>>2]=f[Wb>>2];Tb=r+4|0;Oa=Wb+4|0;f[Tb>>2]=f[Oa>>2];Y=r+8|0;f[Y>>2]=f[Wb+8>>2];f[r+12>>2]=f[Wb+12>>2];f[r+16>>2]=f[Wb+16>>2];f[r+20>>2]=f[Wb+20>>2];f[r+24>>2]=f[Wb+24>>2];f[r+28>>2]=f[Wb+28>>2];f[r+32>>2]=f[Wb+32>>2];Ob=f[Wb+36>>2]|0;f[r+36>>2]=Ob;f[r+40>>2]=Y;Y=r+48|0;J=r+44|0;f[J>>2]=Y;f[Y>>2]=0;f[r+52>>2]=0;if(Ob|0){Y=Ob+12|0;f[Y>>2]=(f[Y>>2]|0)+1}if((f[Oa>>2]|0)<3){Oa=f[Wb+44>>2]|0;Y=f[J>>2]|0;f[Y>>2]=f[Oa>>2];f[Y+4>>2]=f[Oa+4>>2];Xb=Tb;break}else{f[Tb>>2]=0;WO(r,Wb);Xb=Tb;break}}else{DJ(r,D,-1);Xb=r+4|0}while(0);Tb=f[Xb>>2]|0;if((Tb|0)<3)Yb=X(f[r+12>>2]|0,f[r+8>>2]|0)|0;else{Wb=f[r+40>>2]|0;Oa=0;Y=1;while(1){J=X(f[Wb+(Oa<<2)>>2]|0,Y)|0;Oa=Oa+1|0;if((Oa|0)==(Tb|0)){Yb=J;break}else Y=J}}Y=r+36|0;Tb=f[Y>>2]|0;if(Tb|0?(Oa=Tb+12|0,Tb=f[Oa>>2]|0,f[Oa>>2]=Tb+-1,(Tb|0)==1):0)XO(r);f[Y>>2]=0;Y=r+16|0;f[Y>>2]=0;f[Y+4>>2]=0;f[Y+8>>2]=0;f[Y+12>>2]=0;if((f[Xb>>2]|0)>0){Y=f[r+40>>2]|0;Tb=0;do{f[Y+(Tb<<2)>>2]=0;Tb=Tb+1|0}while((Tb|0)<(f[Xb>>2]|0))}Xb=f[r+44>>2]|0;if((Xb|0)!=(r+48|0))dX(Xb);if(!Yb){f[s>>2]=0;f[s+4>>2]=0;F=JV(s,28)|0;G=349682;H=F+28|0;do{b[F>>0]=b[G>>0]|0;F=F+1|0;G=G+1|0}while((F|0)<(H|0));EP(-215,s,349711,349296,627);KV(s)}f[s>>2]=1124007936;Yb=s+4|0;Xb=s+8|0;Tb=s+40|0;F=Yb;H=F+36|0;do{f[F>>2]=0;F=F+4|0}while((F|0)<(H|0));f[Tb>>2]=Xb;Xb=s+48|0;Y=s+44|0;f[Y>>2]=Xb;f[Xb>>2]=0;f[s+52>>2]=0;do if((HJ(D)|0)==65536){Oa=f[Aa>>2]|0;f[v>>2]=f[Oa>>2];Wb=v+4|0;J=Oa+4|0;f[Wb>>2]=f[J>>2];Ob=v+8|0;f[Ob>>2]=f[Oa+8>>2];f[v+12>>2]=f[Oa+12>>2];f[v+16>>2]=f[Oa+16>>2];f[v+20>>2]=f[Oa+20>>2];f[v+24>>2]=f[Oa+24>>2];f[v+28>>2]=f[Oa+28>>2];f[v+32>>2]=f[Oa+32>>2];Ub=f[Oa+36>>2]|0;f[v+36>>2]=Ub;f[v+40>>2]=Ob;Ob=v+48|0;Nb=v+44|0;f[Nb>>2]=Ob;f[Ob>>2]=0;f[v+52>>2]=0;if(Ub|0){Ob=Ub+12|0;f[Ob>>2]=(f[Ob>>2]|0)+1}if((f[J>>2]|0)<3){J=f[Oa+44>>2]|0;Ob=f[Nb>>2]|0;f[Ob>>2]=f[J>>2];f[Ob+4>>2]=f[J+4>>2];break}else{f[Wb>>2]=0;WO(v,Oa);break}}else DJ(v,D,-1);while(0);f[t+8>>2]=0;f[t+12>>2]=0;f[t>>2]=16842752;f[t+4>>2]=v;D=w+8|0;f[D>>2]=0;f[D+4>>2]=0;f[w>>2]=33619968;f[w+4>>2]=s;pya(t,w);D=v+36|0;Aa=f[D>>2]|0;if(Aa|0?(Oa=Aa+12|0,Aa=f[Oa>>2]|0,f[Oa>>2]=Aa+-1,(Aa|0)==1):0)XO(v);f[D>>2]=0;D=v+16|0;Aa=v+4|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;if((f[Aa>>2]|0)>0){D=f[v+40>>2]|0;Oa=0;do{f[D+(Oa<<2)>>2]=0;Oa=Oa+1|0}while((Oa|0)<(f[Aa>>2]|0))}Aa=f[v+44>>2]|0;if((Aa|0)!=(v+48|0))dX(Aa);f[t>>2]=0;Aa=t+4|0;f[Aa>>2]=0;f[t+8>>2]=0;Oa=(W|0)==0;do if(!Oa)if(Ba>>>0>1073741823)ZOa(t);else{D=Ba<<2;Wb=EQa(D)|0;f[t>>2]=Wb;J=Wb+(Ba<<2)|0;f[t+8>>2]=J;FVa(Wb|0,-1,D|0)|0;f[Aa>>2]=J;break}while(0);f[v>>2]=0;J=v+4|0;f[J>>2]=0;f[v+8>>2]=0;if(!Oa){if((W|0)<0)ZOa(v);Oa=EQa(Ba)|0;f[J>>2]=Oa;f[v>>2]=Oa;f[v+8>>2]=Oa+Ba;D=Ba;Wb=Oa;do{b[Wb>>0]=0;Wb=(f[J>>2]|0)+1|0;f[J>>2]=Wb;D=D+-1|0}while((D|0)!=0)}f[w>>2]=0;f[w+4>>2]=Ba;f[x>>2]=101292;f[x+4>>2]=s;f[x+8>>2]=z;f[x+12>>2]=c;f[x+16>>2]=t;f[x+20>>2]=v;f[x+24>>2]=g;$Z(w,x,-1.0);if((W|0)>0){W=m+8|0;x=B+8|0;w=q+8|0;c=o+8|0;D=0;do{Wb=(f[z>>2]|0)+(D*12|0)|0;do if((b[(f[v>>2]|0)+D>>0]|0)==1){Oa=f[R>>2]|0;if((Oa|0)==(f[W>>2]|0))rya(m,Wb);else{qya(Oa,Wb);f[R>>2]=(f[R>>2]|0)+12}Oa=(f[t>>2]|0)+(D<<2)|0;Ob=f[a>>2]|0;if((Ob|0)==(f[x>>2]|0))jQ(B,Oa);else{f[Ob>>2]=f[Oa>>2];f[a>>2]=Ob+4}Ob=(f[A>>2]|0)+(D*12|0)|0;Oa=f[Vb>>2]|0;if((Oa|0)==(f[w>>2]|0)){tya(q,Ob);break}else{sya(Oa,Ob);f[Vb>>2]=(f[Vb>>2]|0)+12;break}}else{Ob=f[S>>2]|0;if((Ob|0)==(f[c>>2]|0)){rya(o,Wb);break}else{qya(Ob,Wb);f[S>>2]=(f[S>>2]|0)+12;break}}while(0);D=D+1|0}while((D|0)<(Ba|0))}zya(z,f[m>>2]|0,f[R>>2]|0);Aya(A,f[q>>2]|0,f[Vb>>2]|0);if(yK(i)|0)Bya(o,i);i=f[v>>2]|0;if(i|0){if((f[J>>2]|0)!=(i|0))f[J>>2]=i;GQa(i)}i=f[t>>2]|0;if(i|0){t=f[Aa>>2]|0;if((t|0)!=(i|0))f[Aa>>2]=t+(~((t+-4-i|0)>>>2)<<2);GQa(i)}i=s+36|0;t=f[i>>2]|0;do if(t|0){Aa=t+12|0;J=f[Aa>>2]|0;f[Aa>>2]=J+-1;if((J|0)!=1)break;XO(s)}while(0);f[i>>2]=0;i=s+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[Yb>>2]|0)>0){i=f[Tb>>2]|0;Tb=0;do{f[i+(Tb<<2)>>2]=0;Tb=Tb+1|0}while((Tb|0)<(f[Yb>>2]|0))}Yb=f[Y>>2]|0;if((Yb|0)!=(Xb|0))dX(Yb);Yb=f[q>>2]|0;if(Yb|0){Xb=f[Vb>>2]|0;if((Xb|0)==(Yb|0))Zb=Yb;else{Y=Xb;while(1){Xb=Y+-12|0;f[Vb>>2]=Xb;Tb=f[Xb>>2]|0;if(!Tb)_b=Xb;else{Xb=Y+-8|0;i=f[Xb>>2]|0;if((i|0)!=(Tb|0))f[Xb>>2]=i+(~((i+-8-Tb|0)>>>3)<<3);GQa(Tb);_b=f[Vb>>2]|0}if((_b|0)==(Yb|0))break;else Y=_b}Zb=f[q>>2]|0}GQa(Zb)}Zb=f[o>>2]|0;if(Zb|0){_b=f[S>>2]|0;if((_b|0)==(Zb|0))$b=Zb;else{Y=_b;while(1){_b=Y+-12|0;f[S>>2]=_b;Yb=f[_b>>2]|0;if(!Yb)ac=_b;else{_b=Y+-8|0;Vb=f[_b>>2]|0;if((Vb|0)!=(Yb|0))f[_b>>2]=Vb+(~((Vb+-8-Yb|0)>>>3)<<3);GQa(Yb);ac=f[S>>2]|0}if((ac|0)==(Zb|0))break;else Y=ac}$b=f[o>>2]|0}GQa($b)}$b=f[m>>2]|0;if($b|0){ac=f[R>>2]|0;if((ac|0)==($b|0))bc=$b;else{Y=ac;while(1){ac=Y+-12|0;f[R>>2]=ac;Zb=f[ac>>2]|0;if(!Zb)cc=ac;else{ac=Y+-8|0;S=f[ac>>2]|0;if((S|0)!=(Zb|0))f[ac>>2]=S+(~((S+-8-Zb|0)>>>3)<<3);GQa(Zb);cc=f[R>>2]|0}if((cc|0)==($b|0))break;else Y=cc}bc=f[m>>2]|0}GQa(bc)}bc=f[O>>2]|0;cc=f[z>>2]|0;if(((bc-cc|0)/12|0|0)==((f[a>>2]|0)-(f[B>>2]|0)>>2|0)){dc=cc;ec=bc;fc=cc;gc=bc}else{f[m>>2]=0;f[m+4>>2]=0;F=JV(m,30)|0;G=349731;H=F+30|0;do{b[F>>0]=b[G>>0]|0;F=F+1|0;G=G+1|0}while((F|0)<(H|0));EP(-215,m,349762,349296,678);KV(m);bc=f[z>>2]|0;cc=f[O>>2]|0;dc=bc;ec=cc;fc=bc;gc=cc}if((dc|0)!=(ec|0)){ec=gc-fc|0;cc=(ec|0)/12|0;f[m>>2]=0;bc=m+4|0;f[bc>>2]=0;Y=m+8|0;f[Y>>2]=0;if(ec){if((ec|0)<0)ZOa(m);$b=((cc+-1|0)>>>5)+1|0;R=EQa($b<<2)|0;f[m>>2]=R;f[Y>>2]=$b;f[bc>>2]=cc;$b=cc>>>5;FVa(R|0,0,$b<<2|0)|0;Y=cc&31;cc=R+($b<<2)|0;if(Y|0)f[cc>>2]=f[cc>>2]&~(-1>>>(32-Y|0));if((ec|0)!=12)va=379}else va=379;do if((va|0)==379){ec=o+8|0;Y=o+12|0;cc=o+4|0;$b=q+4|0;R=o+8|0;Zb=o+12|0;S=o+4|0;ac=r+4|0;Yb=0;Vb=0;_b=fc;Tb=gc;i=dc;Xb=fc;while(1){s=Vb;Vb=Vb+1|0;if(Vb>>>0<((Tb-_b|0)/12|0)>>>0){t=s>>>5;J=1<<(s&31);Aa=Vb;v=Yb;Ba=i;while(1){D=f[B>>2]|0;b:do if((f[D+(s<<2)>>2]|0)==(f[D+(Aa<<2)>>2]|0)){c=f[Ba+(Aa*12|0)>>2]|0;w=f[c>>2]|0;x=f[c+4>>2]|0;f[ec>>2]=0;f[Y>>2]=0;f[o>>2]=-2130509811;f[cc>>2]=Ba+(s*12|0);f[q>>2]=w;f[$b>>2]=x;x=+uca(o,q,0)<0.0;w=x^1;do if(!x){c=f[z>>2]|0;W=f[c+(Aa*12|0)>>2]|0;Wb=f[W+8>>2]|0;Ob=f[W+12>>2]|0;f[ec>>2]=0;f[Y>>2]=0;f[o>>2]=-2130509811;f[cc>>2]=c+(s*12|0);f[q>>2]=Wb;f[$b>>2]=Ob;Ob=+uca(o,q,0)<0.0;Wb=w&(Ob^1);if(Ob){hc=Wb;va=387;break}Ob=f[z>>2]|0;c=f[Ob+(Aa*12|0)>>2]|0;W=f[c+16>>2]|0;Oa=f[c+20>>2]|0;f[ec>>2]=0;f[Y>>2]=0;f[o>>2]=-2130509811;f[cc>>2]=Ob+(s*12|0);f[q>>2]=W;f[$b>>2]=Oa;Oa=+uca(o,q,0)<0.0;W=Wb&(Oa^1);if(Oa){hc=W;va=387;break}Oa=f[z>>2]|0;Wb=f[Oa+(Aa*12|0)>>2]|0;Ob=f[Wb+24>>2]|0;c=f[Wb+28>>2]|0;f[ec>>2]=0;f[Y>>2]=0;f[o>>2]=-2130509811;f[cc>>2]=Oa+(s*12|0);f[q>>2]=Ob;f[$b>>2]=c;c=+uca(o,q,0)<0.0;Ob=W&(c^1);if(c){hc=Ob;va=387;break}if(Ob)va=389}else{hc=w;va=387}while(0);if((va|0)==387?(va=0,hc):0)va=389;if((va|0)==389){va=0;w=(f[m>>2]|0)+(Aa>>>5<<2)|0;f[w>>2]=f[w>>2]|1<<(Aa&31);ic=1;break}w=f[z>>2]|0;x=f[w+(s*12|0)>>2]|0;Ob=f[x>>2]|0;c=f[x+4>>2]|0;f[R>>2]=0;f[Zb>>2]=0;f[o>>2]=-2130509811;f[S>>2]=w+(Aa*12|0);f[r>>2]=Ob;f[ac>>2]=c;c=+uca(o,r,0)<0.0;Ob=c^1;do if(!c){w=f[z>>2]|0;x=f[w+(s*12|0)>>2]|0;W=f[x+8>>2]|0;Oa=f[x+12>>2]|0;f[R>>2]=0;f[Zb>>2]=0;f[o>>2]=-2130509811;f[S>>2]=w+(Aa*12|0);f[r>>2]=W;f[ac>>2]=Oa;Oa=+uca(o,r,0)<0.0;W=Ob&(Oa^1);if(Oa){jc=W;va=391;break}Oa=f[z>>2]|0;w=f[Oa+(s*12|0)>>2]|0;x=f[w+16>>2]|0;Wb=f[w+20>>2]|0;f[R>>2]=0;f[Zb>>2]=0;f[o>>2]=-2130509811;f[S>>2]=Oa+(Aa*12|0);f[r>>2]=x;f[ac>>2]=Wb;Wb=+uca(o,r,0)<0.0;x=W&(Wb^1);if(Wb){jc=x;va=391;break}Wb=f[z>>2]|0;W=f[Wb+(s*12|0)>>2]|0;Oa=f[W+24>>2]|0;w=f[W+28>>2]|0;f[R>>2]=0;f[Zb>>2]=0;f[o>>2]=-2130509811;f[S>>2]=Wb+(Aa*12|0);f[r>>2]=Oa;f[ac>>2]=w;w=+uca(o,r,0)<0.0;Oa=x&(w^1);if(w){jc=Oa;va=391;break}if(!Oa){ic=v;break b}}else{jc=Ob;va=391}while(0);if((va|0)==391?(va=0,!jc):0){ic=v;break}Ob=(f[m>>2]|0)+(t<<2)|0;f[Ob>>2]=f[Ob>>2]|J;ic=1}else ic=v;while(0);Aa=Aa+1|0;D=f[O>>2]|0;Ob=f[z>>2]|0;c=Ob;if(Aa>>>0>=((D-Ob|0)/12|0)>>>0){kc=ic;lc=Ob;mc=D;nc=c;oc=Ob;break}else{v=ic;Ba=c}}}else{kc=Yb;lc=_b;mc=Tb;nc=i;oc=Xb}if(Vb>>>0>=(((mc-lc|0)/12|0)+-1|0)>>>0)break;else{Yb=kc;_b=lc;Tb=mc;i=nc;Xb=oc}}if(!kc)break;Xb=f[B>>2]|0;i=f[A>>2]|0;if(!(f[bc>>2]|0)){pc=i;qc=Xb;rc=oc;sc=Xb}else{Tb=0;_b=i;i=Xb;Xb=oc;while(1){do if(!(f[(f[m>>2]|0)+(Tb>>>5<<2)>>2]&1<<(Tb&31))){Yb=f[z>>2]|0;Vb=Yb+(Tb*12|0)|0;ac=Xb;S=ac+12|0;if((Vb|0)!=(ac|0))xya(ac,f[Vb>>2]|0,f[Yb+(Tb*12|0)+4>>2]|0);Yb=i;Vb=Yb+4|0;f[Yb>>2]=f[(f[B>>2]|0)+(Tb<<2)>>2];Yb=f[A>>2]|0;ac=Yb+(Tb*12|0)|0;Zb=_b;R=Zb+12|0;if((ac|0)==(Zb|0)){tc=R;uc=Vb;vc=S;break}yya(Zb,f[ac>>2]|0,f[Yb+(Tb*12|0)+4>>2]|0);tc=R;uc=Vb;vc=S}else{tc=_b;uc=i;vc=Xb}while(0);Tb=Tb+1|0;if(Tb>>>0>=(f[bc>>2]|0)>>>0)break;else{_b=tc;i=uc;Xb=vc}}pc=tc;qc=uc;rc=vc;sc=f[B>>2]|0}Xb=f[a>>2]|0;i=sc+(qc-sc>>2<<2)|0;_b=Xb;do if((Xb|0)!=(qc|0)){Tb=i+(_b-qc>>2<<2)|0;S=_b-Tb|0;Vb=S>>2;if(!Vb)wc=Xb;else{EVa(i|0,Tb|0,S|0)|0;wc=f[a>>2]|0}S=i+(Vb<<2)|0;if((wc|0)==(S|0))break;f[a>>2]=wc+(~((wc+-4-S|0)>>>2)<<2)}while(0);i=f[O>>2]|0;Xb=f[z>>2]|0;_b=Xb+(((rc-Xb|0)/12|0)*12|0)|0;do if((i|0)!=(rc|0)){Xb=_b+(((i-rc|0)/12|0)*12|0)|0;if((Xb|0)==(i|0)){xc=_b;yc=i}else{S=Xb;Xb=_b;do{if((Xb|0)!=(S|0))xya(Xb,f[S>>2]|0,f[S+4>>2]|0);S=S+12|0;Xb=Xb+12|0}while((S|0)!=(i|0));xc=Xb;yc=f[O>>2]|0}if((yc|0)==(xc|0))break;else zc=yc;while(1){S=zc+-12|0;f[O>>2]=S;Vb=f[S>>2]|0;if(!Vb)Ac=S;else{S=zc+-8|0;Tb=f[S>>2]|0;if((Tb|0)!=(Vb|0))f[S>>2]=Tb+(~((Tb+-8-Vb|0)>>>3)<<3);GQa(Vb);Ac=f[O>>2]|0}if((Ac|0)==(xc|0))break;else zc=Ac}}while(0);i=f[P>>2]|0;_b=f[A>>2]|0;Xb=_b+(((pc-_b|0)/12|0)*12|0)|0;if((i|0)==(pc|0))break;_b=Xb+(((i-pc|0)/12|0)*12|0)|0;if((_b|0)==(i|0)){Bc=Xb;Cc=i}else{Vb=_b;_b=Xb;do{if((_b|0)!=(Vb|0))yya(_b,f[Vb>>2]|0,f[Vb+4>>2]|0);Vb=Vb+12|0;_b=_b+12|0}while((Vb|0)!=(i|0));Bc=_b;Cc=f[P>>2]|0}if((Cc|0)==(Bc|0))break;else Dc=Cc;while(1){i=Dc+-12|0;f[P>>2]=i;Vb=f[i>>2]|0;if(!Vb)Ec=i;else{i=Dc+-8|0;Xb=f[i>>2]|0;if((Xb|0)!=(Vb|0))f[i>>2]=Xb+(~((Xb+-8-Vb|0)>>>3)<<3);GQa(Vb);Ec=f[P>>2]|0}if((Ec|0)==(Bc|0))break;else Dc=Ec}}while(0);Ec=f[m>>2]|0;if(Ec|0)GQa(Ec)}Bya(z,d);f[E>>2]=1124024324;Ec=E+4|0;f[Ec>>2]=2;Dc=E+8|0;Bc=f[a>>2]|0;Cc=f[B>>2]|0;pc=Bc-Cc|0;f[Dc>>2]=pc>>2;f[E+12>>2]=1;Ac=E+16|0;zc=E+40|0;f[Ac>>2]=0;f[Ac+4>>2]=0;f[Ac+8>>2]=0;f[Ac+12>>2]=0;f[Ac+16>>2]=0;f[Ac+20>>2]=0;f[zc>>2]=Dc;Dc=E+48|0;xc=E+44|0;f[xc>>2]=Dc;f[Dc>>2]=0;yc=E+52|0;f[yc>>2]=0;rc=Cc;if((rc|0)!=(Bc|0)){f[yc>>2]=4;f[Dc>>2]=4;f[Ac>>2]=rc;f[E+20>>2]=rc;rc=Cc+pc|0;f[E+24>>2]=rc;f[E+28>>2]=rc}eM(E,e);rc=E+36|0;pc=f[rc>>2]|0;do if(pc|0){Cc=pc+12|0;yc=f[Cc>>2]|0;f[Cc>>2]=yc+-1;if((yc|0)!=1)break;XO(E)}while(0);f[rc>>2]=0;f[Ac>>2]=0;f[Ac+4>>2]=0;f[Ac+8>>2]=0;f[Ac+12>>2]=0;if((f[Ec>>2]|0)>0){Ac=f[zc>>2]|0;zc=0;do{f[Ac+(zc<<2)>>2]=0;zc=zc+1|0}while((zc|0)<(f[Ec>>2]|0))}Ec=f[xc>>2]|0;if((Ec|0)!=(Dc|0))dX(Ec);Ec=f[Q>>2]|0;Dc=f[Ec+72>>2]|0;if((Dc|0)==1){do if((f[Ec+76>>2]|0)>0){if((f[Ec+80>>2]|0)<=0){va=454;break}if(!(+p[Ec+88>>3]>0.0))va=454}else va=454;while(0);if((va|0)==454){f[m>>2]=0;f[m+4>>2]=0;F=JV(m,126)|0;G=349785;H=F+126|0;do{b[F>>0]=b[G>>0]|0;F=F+1|0;G=G+1|0}while((F|0)<(H|0));EP(-215,m,349282,349296,1138);KV(m)}G=OJ(d,-1)|0;f[m>>2]=0;f[m+4>>2]=G;f[o>>2]=101312;f[o+4>>2]=y;f[o+8>>2]=d;f[o+12>>2]=g;$Z(m,o,-1.0);Fc=f[(f[Q>>2]|0)+72>>2]|0}else Fc=Dc;do if((Fc|0)==2){if(VJ(e)|0)break;Dc=OJ(d,-1)|0;f[m>>2]=0;f[m+4>>2]=Dc;do if((HJ(j)|0)==65536){Dc=f[j+4>>2]|0;f[q>>2]=f[Dc>>2];Q=q+4|0;g=Dc+4|0;f[Q>>2]=f[g>>2];G=q+8|0;f[G>>2]=f[Dc+8>>2];f[q+12>>2]=f[Dc+12>>2];f[q+16>>2]=f[Dc+16>>2];f[q+20>>2]=f[Dc+20>>2];f[q+24>>2]=f[Dc+24>>2];f[q+28>>2]=f[Dc+28>>2];f[q+32>>2]=f[Dc+32>>2];F=f[Dc+36>>2]|0;f[q+36>>2]=F;f[q+40>>2]=G;G=q+48|0;H=q+44|0;f[H>>2]=G;f[G>>2]=0;f[q+52>>2]=0;if(F|0){G=F+12|0;f[G>>2]=(f[G>>2]|0)+1}if((f[g>>2]|0)<3){g=f[Dc+44>>2]|0;G=f[H>>2]|0;f[G>>2]=f[g>>2];f[G+4>>2]=f[g+4>>2];break}else{f[Q>>2]=0;WO(q,Dc);break}}else DJ(q,j,-1);while(0);do if((HJ(k)|0)==65536){Dc=f[k+4>>2]|0;f[r>>2]=f[Dc>>2];Q=r+4|0;g=Dc+4|0;f[Q>>2]=f[g>>2];G=r+8|0;f[G>>2]=f[Dc+8>>2];f[r+12>>2]=f[Dc+12>>2];f[r+16>>2]=f[Dc+16>>2];f[r+20>>2]=f[Dc+20>>2];f[r+24>>2]=f[Dc+24>>2];f[r+28>>2]=f[Dc+28>>2];f[r+32>>2]=f[Dc+32>>2];H=f[Dc+36>>2]|0;f[r+36>>2]=H;f[r+40>>2]=G;G=r+48|0;F=r+44|0;f[F>>2]=G;f[G>>2]=0;f[r+52>>2]=0;if(H|0){G=H+12|0;f[G>>2]=(f[G>>2]|0)+1}if((f[g>>2]|0)<3){g=f[Dc+44>>2]|0;G=f[F>>2]|0;f[G>>2]=f[g>>2];f[G+4>>2]=f[g+4>>2];break}else{f[Q>>2]=0;WO(r,Dc);break}}else DJ(r,k,-1);while(0);f[o>>2]=101332;f[o+4>>2]=A;f[o+8>>2]=z;f[o+12>>2]=q;f[o+16>>2]=r;$Z(m,o,-1.0);Dc=r+36|0;Q=f[Dc>>2]|0;do if(Q|0){g=Q+12|0;G=f[g>>2]|0;f[g>>2]=G+-1;if((G|0)!=1)break;XO(r)}while(0);f[Dc>>2]=0;Q=r+16|0;G=r+4|0;f[Q>>2]=0;f[Q+4>>2]=0;f[Q+8>>2]=0;f[Q+12>>2]=0;if((f[G>>2]|0)>0){Q=f[r+40>>2]|0;g=0;do{f[Q+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[G>>2]|0))}G=f[r+44>>2]|0;if((G|0)!=(r+48|0))dX(G);G=q+36|0;g=f[G>>2]|0;do if(g|0){Q=g+12|0;Dc=f[Q>>2]|0;f[Q>>2]=Dc+-1;if((Dc|0)!=1)break;XO(q)}while(0);f[G>>2]=0;g=q+16|0;Dc=q+4|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;if((f[Dc>>2]|0)>0){g=f[q+40>>2]|0;Q=0;do{f[g+(Q<<2)>>2]=0;Q=Q+1|0}while((Q|0)<(f[Dc>>2]|0))}Dc=f[q+44>>2]|0;if((Dc|0)!=(q+48|0))dX(Dc);Bya(z,d)}while(0);d=f[B>>2]|0;if(d|0){B=f[a>>2]|0;if((B|0)!=(d|0))f[a>>2]=B+(~((B+-4-d|0)>>>2)<<2);GQa(d)}d=f[A>>2]|0;if(d|0){B=f[P>>2]|0;if((B|0)==(d|0))Gc=d;else{a=B;while(1){B=a+-12|0;f[P>>2]=B;q=f[B>>2]|0;if(!q)Hc=B;else{B=a+-8|0;r=f[B>>2]|0;if((r|0)!=(q|0))f[B>>2]=r+(~((r+-8-q|0)>>>3)<<3);GQa(q);Hc=f[P>>2]|0}if((Hc|0)==(d|0))break;else a=Hc}Gc=f[A>>2]|0}GQa(Gc)}Gc=f[z>>2]|0;if(Gc|0){A=f[O>>2]|0;if((A|0)==(Gc|0))Ic=Gc;else{Hc=A;while(1){A=Hc+-12|0;f[O>>2]=A;a=f[A>>2]|0;if(!a)Jc=A;else{A=Hc+-8|0;d=f[A>>2]|0;if((d|0)!=(a|0))f[A>>2]=d+(~((d+-8-a|0)>>>3)<<3);GQa(a);Jc=f[O>>2]|0}if((Jc|0)==(Gc|0))break;else Hc=Jc}Ic=f[z>>2]|0}GQa(Ic)}Ic=y+36|0;z=f[Ic>>2]|0;do if(z|0){Jc=z+12|0;Hc=f[Jc>>2]|0;f[Jc>>2]=Hc+-1;if((Hc|0)!=1)break;XO(y)}while(0);f[Ic>>2]=0;Ic=y+16|0;f[Ic>>2]=0;f[Ic+4>>2]=0;f[Ic+8>>2]=0;f[Ic+12>>2]=0;if((f[I>>2]|0)>0){Ic=f[L>>2]|0;L=0;do{f[Ic+(L<<2)>>2]=0;L=L+1|0}while((L|0)<(f[I>>2]|0))}I=f[N>>2]|0;if((I|0)==(M|0)){u=l;return}dX(I);u=l;return} +function ZGa(a){a=a|0;VGa(a+(f[(f[a>>2]|0)+-12>>2]|0)|0);return}function _Ga(a,b){a=a|0;b=b|0;OGa(a+8|0,b+12|0);EGa(a,b+4|0);return}function $Ga(a){a=a|0;return nCa(a)|0}function aHa(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function bHa(a,b){a=a|0;b=b|0;f[a+16>>2]=(f[a+24>>2]|0)==0|b;return}function cHa(a,b){a=a|0;b=b|0;var c=0;f[a+24>>2]=b;f[a+16>>2]=(b|0)==0&1;f[a+20>>2]=0;f[a+4>>2]=4098;f[a+12>>2]=0;f[a+8>>2]=6;b=a+28|0;c=a+32|0;a=c+40|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(a|0));wQa(b);return}function dHa(a,b){a=a|0;b=b|0;return (a|0)==(b|0)|0}function eHa(a,b){a=a|0;b=b|0;uQa(a,b+28|0);return}function fHa(a,b){a=a|0;b=b|0;return (a|0)==(b|0)|0}function gHa(a,b){a=a|0;b=b|0;return a<<24>>24==b<<24>>24|0}function hHa(a){a=a|0;var b=0;f[a>>2]=114724;wQa(a+4|0);b=a+8|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function iHa(a){a=a|0;var b=0;f[a>>2]=114788;wQa(a+4|0);b=a+8|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function jHa(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=u;u=u+16|0;h=g;b[a>>0]=0;i=c+(f[(f[c>>2]|0)+-12>>2]|0)|0;j=f[i+16>>2]|0;if(!j){k=f[i+72>>2]|0;if(k|0)kHa(k)|0;do if(!e?(k=c+(f[(f[c>>2]|0)+-12>>2]|0)|0,f[k+4>>2]&4096|0):0){eHa(h,k);k=yIa(h,810368)|0;zIa(h);l=f[c+(f[(f[c>>2]|0)+-12>>2]|0)+24>>2]|0;m=k+8|0;k=l;n=(l|0)==0;o=k+12|0;p=k+16|0;q=l;while(1){if(n){r=0;s=0;break}t=f[o>>2]|0;if((t|0)==(f[p>>2]|0))v=Wf[f[(f[q>>2]|0)+36>>2]&255](k)|0;else v=fGa(b[t>>0]|0)|0;t=dHa(v,eGa()|0)|0;w=t?0:l;if(t){r=0;s=0;break}t=w;x=t+12|0;y=f[x>>2]|0;z=t+16|0;if((y|0)==(f[z>>2]|0))A=Wf[f[(f[w>>2]|0)+36>>2]&255](t)|0;else A=fGa(b[y>>0]|0)|0;if((A&255)<<24>>24<=-1){r=t;s=l;break}if(!(d[(f[m>>2]|0)+(A<<24>>24<<1)>>1]&8192)){r=t;s=l;break}y=f[x>>2]|0;if((y|0)==(f[z>>2]|0)){Wf[f[(f[w>>2]|0)+40>>2]&255](t)|0;continue}else{f[x>>2]=y+1;fGa(b[y>>0]|0)|0;continue}}if(s|0){l=f[r+12>>2]|0;if((l|0)==(f[r+16>>2]|0))B=Wf[f[(f[s>>2]|0)+36>>2]&255](r)|0;else B=fGa(b[l>>0]|0)|0;if(!(dHa(B,eGa()|0)|0))break}l=c+(f[(f[c>>2]|0)+-12>>2]|0)|0;bHa(l,f[l+16>>2]|6)}while(0);b[a>>0]=(f[c+(f[(f[c>>2]|0)+-12>>2]|0)+16>>2]|0)==0&1}else bHa(i,j|4);u=g;return}function kHa(a){a=a|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;if(f[a+(f[(f[a>>2]|0)+-12>>2]|0)+24>>2]|0){lHa(d,a);if(b[d>>0]|0?(e=f[a+(f[(f[a>>2]|0)+-12>>2]|0)+24>>2]|0,(Wf[f[(f[e>>2]|0)+24>>2]&255](e)|0)==-1):0){e=a+(f[(f[a>>2]|0)+-12>>2]|0)|0;bHa(e,f[e+16>>2]|1)}mHa(d)}u=c;return a|0}function lHa(a,c){a=a|0;c=c|0;var d=0;b[a>>0]=0;f[a+4>>2]=c;d=c+(f[(f[c>>2]|0)+-12>>2]|0)|0;if(!(f[d+16>>2]|0)){c=f[d+72>>2]|0;if(c|0)kHa(c)|0;b[a>>0]=1}return}function mHa(a){a=a|0;var b=0,c=0;b=a+4|0;a=f[b>>2]|0;c=a+(f[(f[a>>2]|0)+-12>>2]|0)|0;if((((f[c+24>>2]|0?(f[c+16>>2]|0)==0:0)?f[c+4>>2]&8192|0:0)?!(fd()|0):0)?(c=f[b>>2]|0,a=f[c+(f[(f[c>>2]|0)+-12>>2]|0)+24>>2]|0,(Wf[f[(f[a>>2]|0)+24>>2]&255](a)|0)==-1):0){a=f[b>>2]|0;b=a+(f[(f[a>>2]|0)+-12>>2]|0)|0;bHa(b,f[b+16>>2]|1)}return}function nHa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+32|0;e=d+20|0;g=d+16|0;h=d+12|0;i=d+8|0;j=d+24|0;k=d+4|0;l=d;jHa(j,a,0);if(b[j>>0]|0){f[k>>2]=0;eHa(l,a+(f[(f[a>>2]|0)+-12>>2]|0)|0);j=yIa(l,810392)|0;m=a+(f[(f[a>>2]|0)+-12>>2]|0)|0;n=f[(f[j>>2]|0)+28>>2]|0;f[h>>2]=f[m+24>>2];f[i>>2]=0;f[g>>2]=f[h>>2];f[e>>2]=f[i>>2];ig[n&127](j,g,e,m,k,c)|0;zIa(l);l=a+(f[(f[a>>2]|0)+-12>>2]|0)|0;bHa(l,f[l+16>>2]|f[k>>2])}u=d;return a|0}function oHa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+16|0;e=d+12|0;g=d+8|0;h=d;lHa(h,a);if(b[h>>0]|0){eHa(e,a+(f[(f[a>>2]|0)+-12>>2]|0)|0);i=yIa(e,810424)|0;zIa(e);j=a+(f[(f[a>>2]|0)+-12>>2]|0)|0;k=f[j+24>>2]|0;l=eGa()|0;m=j+76|0;if(dHa(l,f[m>>2]|0)|0){eHa(e,j);l=yIa(e,810368)|0;n=Zf[f[(f[l>>2]|0)+28>>2]&127](l,32)|0;zIa(e);l=n<<24>>24;f[m>>2]=l;o=l}else o=f[m>>2]|0;m=f[(f[i>>2]|0)+16>>2]|0;f[g>>2]=k;f[e>>2]=f[g>>2];if(!(fg[m&63](i,e,j,o&255,c)|0)){c=a+(f[(f[a>>2]|0)+-12>>2]|0)|0;bHa(c,f[c+16>>2]|5)}}mHa(h);u=d;return a|0}function pHa(a){a=a|0;var b=0;b=a+16|0;f[b>>2]=f[b>>2]|1;return}function qHa(){sHa();return}function rHa(){return}function sHa(){tHa(0);return}function tHa(a){a=a|0;var b=0;a=f[27738]|0;uHa(81e4,a,810056);f[202330]=114856;f[202332]=114876;f[202331]=0;cHa(809328,81e4);f[202350]=0;b=eGa()|0;f[202351]=b;vHa(810064,a,810120);f[202352]=114904;f[202354]=114924;f[202353]=0;cHa(809416,810064);f[202372]=0;a=wGa()|0;f[202373]=a;a=f[27705]|0;wHa(810128,a,810176);f[202374]=8220;f[202375]=8240;cHa(809500,810128);f[202393]=0;b=eGa()|0;f[202394]=b;xHa(810184,a,810232);f[202395]=114960;f[202396]=114980;cHa(809584,810184);f[202414]=0;a=wGa()|0;f[202415]=a;a=f[27770]|0;wHa(810240,a,810288);f[202416]=8220;f[202417]=8240;cHa(809668,810240);f[202435]=0;b=eGa()|0;f[202436]=b;b=f[809664+(f[(f[202416]|0)+-12>>2]|0)+24>>2]|0;f[202458]=8220;f[202459]=8240;cHa(809836,b);f[202477]=0;b=eGa()|0;f[202478]=b;xHa(810296,a,810344);f[202437]=114960;f[202438]=114980;cHa(809752,810296);f[202456]=0;a=wGa()|0;f[202457]=a;a=f[809748+(f[(f[202437]|0)+-12>>2]|0)+24>>2]|0;f[202479]=114960;f[202480]=114980;cHa(809920,a);f[202498]=0;a=wGa()|0;f[202499]=a;f[809320+(f[(f[202330]|0)+-12>>2]|0)+72>>2]=809496;f[809408+(f[(f[202352]|0)+-12>>2]|0)+72>>2]=809580;a=809664+(f[(f[202416]|0)+-12>>2]|0)+4|0;f[a>>2]=f[a>>2]|8192;a=809748+(f[(f[202437]|0)+-12>>2]|0)+4|0;f[a>>2]=f[a>>2]|8192;f[809664+(f[(f[202416]|0)+-12>>2]|0)+72>>2]=809496;f[809748+(f[(f[202437]|0)+-12>>2]|0)+72>>2]=809580;return}function uHa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;hHa(a);f[a>>2]=115284;f[a+32>>2]=c;f[a+40>>2]=d;d=eGa()|0;f[a+48>>2]=d;b[a+52>>0]=0;d=f[(f[a>>2]|0)+8>>2]|0;uQa(g,a+4|0);zg[d&511](a,g);zIa(g);u=e;return}function vHa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;iHa(a);f[a>>2]=115220;f[a+32>>2]=c;f[a+40>>2]=d;d=wGa()|0;f[a+48>>2]=d;b[a+52>>0]=0;d=f[(f[a>>2]|0)+8>>2]|0;uQa(g,a+4|0);zg[d&511](a,g);zIa(g);u=e;return}function wHa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;hHa(a);f[a>>2]=115156;f[a+32>>2]=c;uQa(g,a+4|0);c=yIa(g,812160)|0;zIa(g);f[a+36>>2]=c;f[a+40>>2]=d;d=(Wf[f[(f[c>>2]|0)+28>>2]&255](c)|0)&1;b[a+44>>0]=d;u=e;return}function xHa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;iHa(a);f[a>>2]=115092;f[a+32>>2]=c;uQa(g,a+4|0);c=yIa(g,812168)|0;zIa(g);f[a+36>>2]=c;f[a+40>>2]=d;d=(Wf[f[(f[c>>2]|0)+28>>2]&255](c)|0)&1;b[a+44>>0]=d;u=e;return}function yHa(a){a=a|0;iGa(a);return}function zHa(a){a=a|0;yHa(a);GQa(a);return}function AHa(a,c){a=a|0;c=c|0;var d=0;Wf[f[(f[a>>2]|0)+24>>2]&255](a)|0;d=yIa(c,812168)|0;f[a+36>>2]=d;c=(Wf[f[(f[d>>2]|0)+28>>2]&255](d)|0)&1;b[a+44>>0]=c;return}function BHa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=u;u=u+16|0;c=b+8|0;d=b;e=a+36|0;g=a+40|0;h=c+8|0;i=c;j=a+32|0;a:while(1){a=f[e>>2]|0;k=fg[f[(f[a>>2]|0)+20>>2]&63](a,f[g>>2]|0,c,h,d)|0;a=(f[d>>2]|0)-i|0;if((rFa(c,1,a,f[j>>2]|0)|0)!=(a|0)){l=-1;break}switch(k|0){case 1:break;case 2:{l=-1;break a;break}default:{m=4;break a}}}if((m|0)==4)l=((GFa(f[j>>2]|0)|0)!=0)<<31>>31;u=b;return l|0}function CHa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;a:do if(!(b[a+44>>0]|0)){e=0;g=c;while(1){if((e|0)>=(d|0)){h=e;break a}i=f[(f[a>>2]|0)+52>>2]|0;j=xGa(f[g>>2]|0)|0;k=Zf[i&127](a,j)|0;if((k|0)==(wGa()|0)){h=e;break a}e=e+1|0;g=g+4|0}}else h=rFa(c,4,d,f[a+32>>2]|0)|0;while(0);return h|0}function DHa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+32|0;e=d+16|0;g=d+8|0;h=d+4|0;i=d;do if(!(fHa(c,wGa()|0)|0)){j=zGa(c)|0;f[g>>2]=j;if(b[a+44>>0]|0){if((rFa(g,4,1,f[a+32>>2]|0)|0)==1){k=15;break}l=wGa()|0;break}f[h>>2]=e;j=g+4|0;m=a+36|0;n=a+40|0;o=e+8|0;p=e;q=a+32|0;r=g;while(1){s=f[m>>2]|0;t=lg[f[(f[s>>2]|0)+12>>2]&15](s,f[n>>2]|0,r,j,i,e,o,h)|0;if((f[i>>2]|0)==(r|0)){k=14;break}if((t|0)==3){k=8;break}if(t>>>0>=2){k=14;break}s=(f[h>>2]|0)-p|0;if((rFa(e,1,s,f[q>>2]|0)|0)!=(s|0)){k=14;break}if((t|0)==1)r=f[i>>2]|0;else{k=13;break}}if((k|0)==8)if((rFa(r,1,1,f[q>>2]|0)|0)==1)k=13;else k=14;if((k|0)==13){k=15;break}else if((k|0)==14){l=wGa()|0;break}}else k=15;while(0);if((k|0)==15)l=EHa(c)|0;u=d;return l|0}function EHa(a){a=a|0;var b=0;if(fHa(a,wGa()|0)|0)b=~(wGa()|0);else b=a;return b|0}function FHa(a){a=a|0;SFa(a);return}function GHa(a){a=a|0;FHa(a);GQa(a);return}function HHa(a,c){a=a|0;c=c|0;var d=0;Wf[f[(f[a>>2]|0)+24>>2]&255](a)|0;d=yIa(c,812160)|0;f[a+36>>2]=d;c=(Wf[f[(f[d>>2]|0)+28>>2]&255](d)|0)&1;b[a+44>>0]=c;return}function IHa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=u;u=u+16|0;c=b+8|0;d=b;e=a+36|0;g=a+40|0;h=c+8|0;i=c;j=a+32|0;a:while(1){a=f[e>>2]|0;k=fg[f[(f[a>>2]|0)+20>>2]&63](a,f[g>>2]|0,c,h,d)|0;a=(f[d>>2]|0)-i|0;if((rFa(c,1,a,f[j>>2]|0)|0)!=(a|0)){l=-1;break}switch(k|0){case 1:break;case 2:{l=-1;break a;break}default:{m=4;break a}}}if((m|0)==4)l=((GFa(f[j>>2]|0)|0)!=0)<<31>>31;u=b;return l|0}function JHa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;a:do if(!(b[a+44>>0]|0)){e=0;g=c;while(1){if((e|0)>=(d|0)){h=e;break a}i=f[(f[a>>2]|0)+52>>2]|0;j=fGa(b[g>>0]|0)|0;k=Zf[i&127](a,j)|0;if((k|0)==(eGa()|0)){h=e;break a}e=e+1|0;g=g+1|0}}else h=rFa(c,1,d,f[a+32>>2]|0)|0;while(0);return h|0}function KHa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+32|0;e=d+16|0;g=d+8|0;h=d+4|0;i=d;do if(!(dHa(c,eGa()|0)|0)){j=hGa(c)|0;b[g>>0]=j;if(b[a+44>>0]|0){if((rFa(g,1,1,f[a+32>>2]|0)|0)==1){k=15;break}l=eGa()|0;break}f[h>>2]=e;j=g+1|0;m=a+36|0;n=a+40|0;o=e+8|0;p=e;q=a+32|0;r=g;while(1){s=f[m>>2]|0;t=lg[f[(f[s>>2]|0)+12>>2]&15](s,f[n>>2]|0,r,j,i,e,o,h)|0;if((f[i>>2]|0)==(r|0)){k=14;break}if((t|0)==3){k=8;break}if(t>>>0>=2){k=14;break}s=(f[h>>2]|0)-p|0;if((rFa(e,1,s,f[q>>2]|0)|0)!=(s|0)){k=14;break}if((t|0)==1)r=f[i>>2]|0;else{k=13;break}}if((k|0)==8)if((rFa(r,1,1,f[q>>2]|0)|0)==1)k=13;else k=14;if((k|0)==13){k=15;break}else if((k|0)==14){l=eGa()|0;break}}else k=15;while(0);if((k|0)==15)l=LHa(c)|0;u=d;return l|0}function LHa(a){a=a|0;var b=0;if(dHa(a,eGa()|0)|0)b=~(eGa()|0);else b=a;return b|0}function MHa(a){a=a|0;iGa(a);return}function NHa(a){a=a|0;MHa(a);GQa(a);return}function OHa(a,c){a=a|0;c=c|0;var d=0,e=0;d=yIa(c,812168)|0;c=a+36|0;f[c>>2]=d;e=Wf[f[(f[d>>2]|0)+24>>2]&255](d)|0;d=a+44|0;f[d>>2]=e;e=f[c>>2]|0;c=(Wf[f[(f[e>>2]|0)+28>>2]&255](e)|0)&1;b[a+53>>0]=c;if((f[d>>2]|0)>8)NLa(448295);else return}function PHa(a){a=a|0;return SHa(a,0)|0}function QHa(a){a=a|0;return SHa(a,1)|0}function RHa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d+16|0;g=d+8|0;h=d+4|0;i=d;j=fHa(c,wGa()|0)|0;k=a+52|0;l=(b[k>>0]|0)!=0;do if(j)if(l)m=c;else{n=f[a+48>>2]|0;o=((fHa(n,wGa()|0)|0)^1)&1;b[k>>0]=o;m=n}else{if(l){n=a+48|0;o=zGa(f[n>>2]|0)|0;f[h>>2]=o;o=f[a+36>>2]|0;switch(lg[f[(f[o>>2]|0)+12>>2]&15](o,f[a+40>>2]|0,h,h+4|0,i,e,e+8|0,g)|0){case 1:case 2:{p=11;break}case 3:{b[e>>0]=f[n>>2];f[g>>2]=e+1;p=8;break}default:p=8}a:do if((p|0)==8){o=a+32|0;while(1){q=f[g>>2]|0;if(q>>>0<=e>>>0){r=1;s=0;break a}t=q+-1|0;f[g>>2]=t;if((BFa(b[t>>0]|0,f[o>>2]|0)|0)==-1){p=11;break}}}while(0);if((p|0)==11){r=0;s=wGa()|0}if(r)v=n;else{m=s;break}}else v=a+48|0;f[v>>2]=c;b[k>>0]=1;m=c}while(0);u=d;return m|0}function SHa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+32|0;e=d+16|0;g=d+8|0;h=d+4|0;i=d;j=a+52|0;if(b[j>>0]|0){k=a+48|0;l=f[k>>2]|0;if(c){m=wGa()|0;f[k>>2]=m;b[j>>0]=0;n=l}else n=l}else{l=f[a+44>>2]|0;j=(l|0)>1?l:1;l=a+32|0;m=0;while(1){if((m|0)>=(j|0)){o=9;break}k=DDa(f[l>>2]|0)|0;if((k|0)==-1){o=8;break}b[e+m>>0]=k;m=m+1|0}if((o|0)==8)p=wGa()|0;else if((o|0)==9){do if(!(b[a+53>>0]|0)){m=a+40|0;k=a+36|0;q=g+4|0;r=j;a:while(1){s=f[m>>2]|0;t=s;v=f[t>>2]|0;w=f[t+4>>2]|0;t=f[k>>2]|0;x=e+r|0;switch(lg[f[(f[t>>2]|0)+16>>2]&15](t,s,e,x,h,g,q,i)|0){case 3:{o=16;break a;break}case 2:{o=18;break a;break}case 1:break;default:break a}s=f[m>>2]|0;f[s>>2]=v;f[s+4>>2]=w;if((r|0)==8){o=18;break}w=DDa(f[l>>2]|0)|0;if((w|0)==-1){o=18;break}b[x>>0]=w;r=r+1|0}if((o|0)==16)f[g>>2]=b[e>>0];else if((o|0)==18){y=wGa()|0;break}z=r;o=19}else{f[g>>2]=b[e>>0];z=j;o=19}while(0);b:do if((o|0)==19){c:do if(c){j=xGa(f[g>>2]|0)|0;f[a+48>>2]=j}else{j=z;do{if((j|0)<=0)break c;j=j+-1|0;i=xGa(b[e+j>>0]|0)|0}while((BFa(i,f[l>>2]|0)|0)!=-1);y=wGa()|0;break b}while(0);y=xGa(f[g>>2]|0)|0}while(0);p=y}n=p}u=d;return n|0}function THa(a){a=a|0;SFa(a);return}function UHa(a){a=a|0;THa(a);GQa(a);return}function VHa(a,c){a=a|0;c=c|0;var d=0,e=0;d=yIa(c,812160)|0;c=a+36|0;f[c>>2]=d;e=Wf[f[(f[d>>2]|0)+24>>2]&255](d)|0;d=a+44|0;f[d>>2]=e;e=f[c>>2]|0;c=(Wf[f[(f[e>>2]|0)+28>>2]&255](e)|0)&1;b[a+53>>0]=c;if((f[d>>2]|0)>8)NLa(448295);else return}function WHa(a){a=a|0;return ZHa(a,0)|0}function XHa(a){a=a|0;return ZHa(a,1)|0}function YHa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d+16|0;g=d+4|0;h=d+8|0;i=d;j=dHa(c,eGa()|0)|0;k=a+52|0;l=(b[k>>0]|0)!=0;do if(j)if(l)m=c;else{n=f[a+48>>2]|0;o=((dHa(n,eGa()|0)|0)^1)&1;b[k>>0]=o;m=n}else{if(l){n=a+48|0;o=hGa(f[n>>2]|0)|0;b[h>>0]=o;o=f[a+36>>2]|0;switch(lg[f[(f[o>>2]|0)+12>>2]&15](o,f[a+40>>2]|0,h,h+1|0,i,e,e+8|0,g)|0){case 1:case 2:{p=11;break}case 3:{b[e>>0]=f[n>>2];f[g>>2]=e+1;p=8;break}default:p=8}a:do if((p|0)==8){o=a+32|0;while(1){q=f[g>>2]|0;if(q>>>0<=e>>>0){r=1;s=0;break a}t=q+-1|0;f[g>>2]=t;if((BFa(b[t>>0]|0,f[o>>2]|0)|0)==-1){p=11;break}}}while(0);if((p|0)==11){r=0;s=eGa()|0}if(r)v=n;else{m=s;break}}else v=a+48|0;f[v>>2]=c;b[k>>0]=1;m=c}while(0);u=d;return m|0}function ZHa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+32|0;e=d+16|0;g=d+8|0;h=d+4|0;i=d;j=a+52|0;if(b[j>>0]|0){k=a+48|0;l=f[k>>2]|0;if(c){m=eGa()|0;f[k>>2]=m;b[j>>0]=0;n=l}else n=l}else{l=f[a+44>>2]|0;j=(l|0)>1?l:1;l=a+32|0;m=0;while(1){if((m|0)>=(j|0)){o=9;break}k=DDa(f[l>>2]|0)|0;if((k|0)==-1){o=8;break}b[e+m>>0]=k;m=m+1|0}if((o|0)==8)p=eGa()|0;else if((o|0)==9){do if(!(b[a+53>>0]|0)){m=a+40|0;k=a+36|0;q=g+1|0;r=j;a:while(1){s=f[m>>2]|0;t=s;v=f[t>>2]|0;w=f[t+4>>2]|0;t=f[k>>2]|0;x=e+r|0;switch(lg[f[(f[t>>2]|0)+16>>2]&15](t,s,e,x,h,g,q,i)|0){case 3:{o=16;break a;break}case 2:{o=18;break a;break}case 1:break;default:break a}s=f[m>>2]|0;f[s>>2]=v;f[s+4>>2]=w;if((r|0)==8){o=18;break}w=DDa(f[l>>2]|0)|0;if((w|0)==-1){o=18;break}b[x>>0]=w;r=r+1|0}if((o|0)==16)b[g>>0]=b[e>>0]|0;else if((o|0)==18){y=eGa()|0;break}z=r;o=19}else{b[g>>0]=b[e>>0]|0;z=j;o=19}while(0);b:do if((o|0)==19){c:do if(c){j=fGa(b[g>>0]|0)|0;f[a+48>>2]=j}else{j=z;do{if((j|0)<=0)break c;j=j+-1|0;i=fGa(b[e+j>>0]|0)|0}while((BFa(i,f[l>>2]|0)|0)!=-1);y=eGa()|0;break b}while(0);y=fGa(b[g>>0]|0)|0}while(0);p=y}n=p}u=d;return n|0}function _Ha(a){a=a|0;eIa(a);return}function $Ha(a){a=a|0;_Ha(a);GQa(a);return}function aIa(a){a=a|0;if(a|0)qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function bIa(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=e;e=c;while(1){if((a|0)==(f|0)){g=7;break}if((e|0)==(d|0)){h=-1;break}c=b[e>>0]|0;i=b[a>>0]|0;if(c<<24>>24>24){h=-1;break}if(i<<24>>24>24){h=1;break}a=a+1|0;e=e+1|0}if((g|0)==7)h=(e|0)!=(d|0)&1;return h|0}function cIa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;g=c;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;h=e-d|0;if(h>>>0>4294967279)NQa(a);if(h>>>0<11){b[a+11>>0]=h;i=a}else{j=h+16&-16;k=EQa(j)|0;f[a>>2]=k;f[a+8>>2]=j|-2147483648;f[a+4>>2]=h;i=k}k=d;d=i;while(1){if((k|0)==(e|0))break;aHa(d,k);k=k+1|0;d=d+1|0}b[g>>0]=0;aHa(i+h|0,g);u=c;return}function dIa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;a=0;e=c;while(1){if((e|0)==(d|0))break;c=(a<<4)+(b[e>>0]|0)|0;f=c&-268435456;a=(f>>>24|f)^c;e=e+1|0}return a|0}function eIa(a){a=a|0;return}function fIa(a){a=a|0;eIa(a);return}function gIa(a){a=a|0;fIa(a);GQa(a);return}function hIa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;a=d;d=b;while(1){if((a|0)==(e|0)){g=7;break}if((d|0)==(c|0)){h=-1;break}b=f[d>>2]|0;i=f[a>>2]|0;if((b|0)<(i|0)){h=-1;break}if((i|0)<(b|0)){h=1;break}a=a+4|0;d=d+4|0}if((g|0)==7)h=(d|0)!=(c|0)&1;return h|0}function iIa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+16|0;g=c;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;h=e-d>>2;if(h>>>0>1073741807)NQa(a);do if(h>>>0>=2){i=h+4&-4;if(i>>>0>1073741823)ne();else{j=EQa(i<<2)|0;f[a>>2]=j;f[a+8>>2]=i|-2147483648;f[a+4>>2]=h;k=d;l=j;break}}else{b[a+8+3>>0]=h;k=d;l=a}while(0);while(1){if((k|0)==(e|0))break;kIa(l,k);k=k+4|0;l=l+4|0}f[g>>2]=0;kIa(l,g);u=c;return}function jIa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a=0;d=b;while(1){if((d|0)==(c|0))break;b=(f[d>>2]|0)+(a<<4)|0;e=b&-268435456;a=(e>>>24|e)^b;d=d+4|0}return a|0}function kIa(a,b){a=a|0;b=b|0;f[a>>2]=f[b>>2];return}function lIa(a){a=a|0;eIa(a);return}function mIa(a){a=a|0;eIa(a);GQa(a);return}function nIa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=u;u=u+48|0;j=i+40|0;k=i+16|0;l=i+8|0;m=i+12|0;n=i+4|0;o=i;if(!(f[e+4>>2]&1)){f[l>>2]=-1;p=f[(f[a>>2]|0)+16>>2]|0;f[m>>2]=f[c>>2];f[n>>2]=f[d>>2];f[k>>2]=f[m>>2];f[j>>2]=f[n>>2];n=ig[p&127](a,k,j,e,g,l)|0;f[c>>2]=n;switch(f[l>>2]|0){case 0:{b[h>>0]=0;break}case 1:{b[h>>0]=1;break}default:{b[h>>0]=1;f[g>>2]=4}}q=f[c>>2]|0}else{eHa(j,e);l=yIa(j,810368)|0;zIa(j);eHa(j,e);e=yIa(j,810384)|0;zIa(j);zg[f[(f[e>>2]|0)+24>>2]&511](k,e);zg[f[(f[e>>2]|0)+28>>2]&511](k+12|0,e);f[o>>2]=f[d>>2];d=k+24|0;f[j>>2]=f[o>>2];o=(eJa(c,j,k,d,l,g,1)|0)==(k|0)&1;b[h>>0]=o;o=f[c>>2]|0;c=d;do{c=c+-12|0;RQa(c)}while((c|0)!=(k|0));q=o}u=i;return q|0}function oIa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=u;u=u+16|0;i=h+12|0;j=h+8|0;k=h+4|0;l=h;f[k>>2]=f[b>>2];f[l>>2]=f[c>>2];f[j>>2]=f[k>>2];f[i>>2]=f[l>>2];l=cJa(a,j,i,d,e,g)|0;u=h;return l|0}function pIa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=u;u=u+16|0;i=h+12|0;j=h+8|0;k=h+4|0;l=h;f[k>>2]=f[b>>2];f[l>>2]=f[c>>2];f[j>>2]=f[k>>2];f[i>>2]=f[l>>2];l=aJa(a,j,i,d,e,g)|0;u=h;return l|0}function qIa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=u;u=u+16|0;i=h+12|0;j=h+8|0;k=h+4|0;l=h;f[k>>2]=f[b>>2];f[l>>2]=f[c>>2];f[j>>2]=f[k>>2];f[i>>2]=f[l>>2];l=_Ia(a,j,i,d,e,g)|0;u=h;return l|0}function rIa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=u;u=u+16|0;i=h+12|0;j=h+8|0;k=h+4|0;l=h;f[k>>2]=f[b>>2];f[l>>2]=f[c>>2];f[j>>2]=f[k>>2];f[i>>2]=f[l>>2];l=YIa(a,j,i,d,e,g)|0;u=h;return l|0}function sIa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=u;u=u+16|0;i=h+12|0;j=h+8|0;k=h+4|0;l=h;f[k>>2]=f[b>>2];f[l>>2]=f[c>>2];f[j>>2]=f[k>>2];f[i>>2]=f[l>>2];l=WIa(a,j,i,d,e,g)|0;u=h;return l|0}function tIa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=u;u=u+16|0;i=h+12|0;j=h+8|0;k=h+4|0;l=h;f[k>>2]=f[b>>2];f[l>>2]=f[c>>2];f[j>>2]=f[k>>2];f[i>>2]=f[l>>2];l=SIa(a,j,i,d,e,g)|0;u=h;return l|0}function uIa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=u;u=u+16|0;i=h+12|0;j=h+8|0;k=h+4|0;l=h;f[k>>2]=f[b>>2];f[l>>2]=f[c>>2];f[j>>2]=f[k>>2];f[i>>2]=f[l>>2];l=QIa(a,j,i,d,e,g)|0;u=h;return l|0}function vIa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=u;u=u+16|0;i=h+12|0;j=h+8|0;k=h+4|0;l=h;f[k>>2]=f[b>>2];f[l>>2]=f[c>>2];f[j>>2]=f[k>>2];f[i>>2]=f[l>>2];l=OIa(a,j,i,d,e,g)|0;u=h;return l|0}function wIa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=u;u=u+16|0;i=h+12|0;j=h+8|0;k=h+4|0;l=h;f[k>>2]=f[b>>2];f[l>>2]=f[c>>2];f[j>>2]=f[k>>2];f[i>>2]=f[l>>2];l=JIa(a,j,i,d,e,g)|0;u=h;return l|0}function xIa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;a=u;u=u+240|0;i=a;j=a+204|0;k=a+192|0;l=a+180|0;m=a+176|0;n=a+16|0;o=a+8|0;p=a+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;q=0;while(1){if((q|0)==3)break;f[k+(q<<2)>>2]=0;q=q+1|0}eHa(l,e);e=yIa(l,810368)|0;dg[f[(f[e>>2]|0)+32>>2]&63](e,448443,448469,j)|0;zIa(l);f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;e=0;while(1){if((e|0)==3)break;f[l+(e<<2)>>2]=0;e=e+1|0}e=l+11|0;q=l+8|0;if((b[e>>0]|0)<0)r=(f[q>>2]&2147483647)+-1|0;else r=10;YQa(l,r,0);r=(b[e>>0]|0)<0?f[l>>2]|0:l;f[m>>2]=r;f[o>>2]=n;f[p>>2]=0;s=l+4|0;t=f[c>>2]|0;v=r;r=t;w=t;a:while(1){if(r){t=f[r+12>>2]|0;if((t|0)==(f[r+16>>2]|0))x=Wf[f[(f[r>>2]|0)+36>>2]&255](r)|0;else x=fGa(b[t>>0]|0)|0;if(dHa(x,eGa()|0)|0){f[c>>2]=0;y=0;z=0;A=1}else{y=r;z=w;A=0}}else{y=0;z=0;A=1}t=f[d>>2]|0;do if(t){B=f[t+12>>2]|0;if((B|0)==(f[t+16>>2]|0))C=Wf[f[(f[t>>2]|0)+36>>2]&255](t)|0;else C=fGa(b[B>>0]|0)|0;if(!(dHa(C,eGa()|0)|0))if(A){D=t;break}else{E=v;F=t;break a}else{f[d>>2]=0;G=22;break}}else G=22;while(0);if((G|0)==22){G=0;if(A){E=v;F=0;break}else D=0}t=b[e>>0]|0;B=t<<24>>24<0?f[s>>2]|0:t&255;if((f[m>>2]|0)==(v+B|0)){YQa(l,B<<1,0);if((b[e>>0]|0)<0)H=(f[q>>2]&2147483647)+-1|0;else H=10;YQa(l,H,0);t=(b[e>>0]|0)<0?f[l>>2]|0:l;f[m>>2]=t+B;I=t}else I=v;t=y+12|0;B=f[t>>2]|0;J=y+16|0;if((B|0)==(f[J>>2]|0))K=Wf[f[(f[y>>2]|0)+36>>2]&255](y)|0;else K=fGa(b[B>>0]|0)|0;if(AIa(K&255,16,I,m,p,0,k,n,o,j)|0){E=I;F=D;break}B=f[t>>2]|0;if((B|0)==(f[J>>2]|0)){Wf[f[(f[y>>2]|0)+40>>2]&255](y)|0;v=I;r=y;w=z;continue}else{f[t>>2]=B+1;fGa(b[B>>0]|0)|0;v=I;r=y;w=z;continue}}YQa(l,(f[m>>2]|0)-E|0,0);E=(b[e>>0]|0)<0?f[l>>2]|0:l;e=BIa()|0;f[i>>2]=h;if((CIa(E,e,448476,i)|0)!=1)f[g>>2]=4;if(y){i=f[y+12>>2]|0;if((i|0)==(f[y+16>>2]|0))L=Wf[f[(f[z>>2]|0)+36>>2]&255](y)|0;else L=fGa(b[i>>0]|0)|0;if(dHa(L,eGa()|0)|0){f[c>>2]=0;M=1}else M=0}else M=1;do if(F){L=f[F+12>>2]|0;if((L|0)==(f[F+16>>2]|0))N=Wf[f[(f[F>>2]|0)+36>>2]&255](F)|0;else N=fGa(b[L>>0]|0)|0;if(!(dHa(N,eGa()|0)|0))if(M)break;else{G=51;break}else{f[d>>2]=0;G=49;break}}else G=49;while(0);if((G|0)==49?M:0)G=51;if((G|0)==51)f[g>>2]=f[g>>2]|2;g=f[c>>2]|0;RQa(l);RQa(k);u=a;return g|0}function yIa(a,b){a=a|0;b=b|0;var c=0;c=f[a>>2]|0;return EIa(c,DIa(b)|0)|0}function zIa(a){a=a|0;BQa(f[a>>2]|0)|0;return}function AIa(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=f[e>>2]|0;n=(m|0)==(d|0);do if(n){o=(b[l+24>>0]|0)==a<<24>>24;if(!o?(b[l+25>>0]|0)!=a<<24>>24:0){p=5;break}f[e>>2]=d+1;b[d>>0]=o?43:45;f[g>>2]=0;q=0}else p=5;while(0);a:do if((p|0)==5){o=b[i+11>>0]|0;if(a<<24>>24==h<<24>>24?((o<<24>>24<0?f[i+4>>2]|0:o&255)|0)!=0:0){o=f[k>>2]|0;if((o-j|0)>=160){q=0;break}r=f[g>>2]|0;f[k>>2]=o+4;f[o>>2]=r;f[g>>2]=0;q=0;break}r=l+26|0;o=0;while(1){s=l+o|0;if((o|0)==26){t=r;break}if((b[s>>0]|0)==a<<24>>24){t=s;break}else o=o+1|0}o=t-l|0;if((o|0)>23)q=-1;else{switch(c|0){case 10:case 8:{if((o|0)>=(c|0)){q=-1;break a}break}case 16:{if((o|0)>=22){if(n){q=-1;break a}if((m-d|0)>=3){q=-1;break a}if((b[m+-1>>0]|0)!=48){q=-1;break a}f[g>>2]=0;r=b[448443+o>>0]|0;f[e>>2]=m+1;b[m>>0]=r;q=0;break a}break}default:{}}r=b[448443+o>>0]|0;f[e>>2]=m+1;b[m>>0]=r;f[g>>2]=(f[g>>2]|0)+1;q=0}}while(0);return q|0}function BIa(){var a=0;if((b[454288]|0)==0?jVa(454288)|0:0){a=eEa(2147483647,448479,0)|0;f[202594]=a}return f[202594]|0}function CIa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=iEa(b)|0;b=zFa(a,c,g)|0;if(d|0)iEa(d)|0;u=e;return b|0}function DIa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;b=u;u=u+48|0;c=b+32|0;d=b+24|0;e=b;g=b+16|0;f[g>>2]=928;f[g+4>>2]=0;f[c>>2]=f[g>>2];f[c+4>>2]=f[g+4>>2];GIa(e,c,a);if((f[a>>2]|0)!=-1){f[c>>2]=e;f[d>>2]=c;DQa(a,d,929)}u=b;return (f[a+4>>2]|0)+-1|0}function EIa(a,b){a=a|0;b=b|0;return f[(f[a+8>>2]|0)+(b<<2)>>2]|0}function FIa(a){a=a|0;var b=0;b=f[202595]|0;f[202595]=b+1;f[a+4>>2]=b+1;return}function GIa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=f[b>>2]|0;e=f[b+4>>2]|0;f[a>>2]=c;f[a+4>>2]=d;f[a+8>>2]=e;return}function HIa(a){a=a|0;IIa(f[f[a>>2]>>2]|0);return}function IIa(a){a=a|0;var b=0,c=0,d=0,e=0;b=f[a+4>>2]|0;c=f[a+8>>2]|0;d=(f[a>>2]|0)+(c>>1)|0;if(!(c&1))e=b;else e=f[(f[d>>2]|0)+b>>2]|0;qg[e&1023](d);return}function JIa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0,Q=0,R=0,S=0;a=u;u=u+240|0;i=a+200|0;j=a+199|0;k=a+198|0;l=a+184|0;m=a+172|0;n=a+168|0;o=a+8|0;q=a+4|0;r=a;s=a+197|0;t=a+196|0;KIa(l,e,i,j,k);f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;e=0;while(1){if((e|0)==3)break;f[m+(e<<2)>>2]=0;e=e+1|0}e=m+11|0;v=m+8|0;if((b[e>>0]|0)<0)w=(f[v>>2]&2147483647)+-1|0;else w=10;YQa(m,w,0);w=(b[e>>0]|0)<0?f[m>>2]|0:m;f[n>>2]=w;f[q>>2]=o;f[r>>2]=0;b[s>>0]=1;b[t>>0]=69;x=m+4|0;y=f[c>>2]|0;z=w;w=y;A=y;a:while(1){if(w){y=f[w+12>>2]|0;if((y|0)==(f[w+16>>2]|0))B=Wf[f[(f[w>>2]|0)+36>>2]&255](w)|0;else B=fGa(b[y>>0]|0)|0;if(dHa(B,eGa()|0)|0){f[c>>2]=0;C=0;D=0;E=1}else{C=w;D=A;E=0}}else{C=0;D=0;E=1}y=f[d>>2]|0;do if(y){F=f[y+12>>2]|0;if((F|0)==(f[y+16>>2]|0))G=Wf[f[(f[y>>2]|0)+36>>2]&255](y)|0;else G=fGa(b[F>>0]|0)|0;if(!(dHa(G,eGa()|0)|0))if(E){H=y;break}else{I=z;J=y;break a}else{f[d>>2]=0;K=19;break}}else K=19;while(0);if((K|0)==19){K=0;if(E){I=z;J=0;break}else H=0}y=b[e>>0]|0;F=y<<24>>24<0?f[x>>2]|0:y&255;if((f[n>>2]|0)==(z+F|0)){YQa(m,F<<1,0);if((b[e>>0]|0)<0)L=(f[v>>2]&2147483647)+-1|0;else L=10;YQa(m,L,0);y=(b[e>>0]|0)<0?f[m>>2]|0:m;f[n>>2]=y+F;M=y}else M=z;y=C+12|0;F=f[y>>2]|0;N=C+16|0;if((F|0)==(f[N>>2]|0))O=Wf[f[(f[C>>2]|0)+36>>2]&255](C)|0;else O=fGa(b[F>>0]|0)|0;if(LIa(O&255,s,t,M,n,b[j>>0]|0,b[k>>0]|0,l,o,q,r,i)|0){I=M;J=H;break}F=f[y>>2]|0;if((F|0)==(f[N>>2]|0)){Wf[f[(f[C>>2]|0)+40>>2]&255](C)|0;z=M;w=C;A=D;continue}else{f[y>>2]=F+1;fGa(b[F>>0]|0)|0;z=M;w=C;A=D;continue}}A=b[l+11>>0]|0;if(!((b[s>>0]|0)==0?1:((A<<24>>24<0?f[l+4>>2]|0:A&255)|0)==0)?(A=f[q>>2]|0,(A-o|0)<160):0){s=f[r>>2]|0;f[q>>2]=A+4;f[A>>2]=s}P=+MIa(I,f[n>>2]|0,g);p[h>>3]=P;NIa(l,o,f[q>>2]|0,g);if(C){q=f[C+12>>2]|0;if((q|0)==(f[C+16>>2]|0))Q=Wf[f[(f[D>>2]|0)+36>>2]&255](C)|0;else Q=fGa(b[q>>0]|0)|0;if(dHa(Q,eGa()|0)|0){f[c>>2]=0;R=1}else R=0}else R=1;do if(J){Q=f[J+12>>2]|0;if((Q|0)==(f[J+16>>2]|0))S=Wf[f[(f[J>>2]|0)+36>>2]&255](J)|0;else S=fGa(b[Q>>0]|0)|0;if(!(dHa(S,eGa()|0)|0))if(R)break;else{K=49;break}else{f[d>>2]=0;K=47;break}}else K=47;while(0);if((K|0)==47?R:0)K=49;if((K|0)==49)f[g>>2]=f[g>>2]|2;g=f[c>>2]|0;RQa(m);RQa(l);u=a;return g|0}function KIa(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;h=u;u=u+16|0;i=h;eHa(i,c);c=yIa(i,810368)|0;dg[f[(f[c>>2]|0)+32>>2]&63](c,448443,448475,d)|0;d=yIa(i,810384)|0;c=Wf[f[(f[d>>2]|0)+12>>2]&255](d)|0;b[e>>0]=c;c=Wf[f[(f[d>>2]|0)+16>>2]&255](d)|0;b[g>>0]=c;zg[f[(f[d>>2]|0)+20>>2]&511](a,d);zIa(i);u=h;return}function LIa(a,c,d,e,g,h,i,j,k,l,m,n){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0;a:do if(a<<24>>24==h<<24>>24)if(b[c>>0]|0){b[c>>0]=0;o=f[g>>2]|0;f[g>>2]=o+1;b[o>>0]=46;o=b[j+11>>0]|0;if(((o<<24>>24<0?f[j+4>>2]|0:o&255)|0)!=0?(o=f[l>>2]|0,(o-k|0)<160):0){p=f[m>>2]|0;f[l>>2]=o+4;f[o>>2]=p;q=0}else q=0}else q=-1;else{if(a<<24>>24==i<<24>>24?(p=b[j+11>>0]|0,(p<<24>>24<0?f[j+4>>2]|0:p&255)|0):0){if(!(b[c>>0]|0)){q=-1;break}p=f[l>>2]|0;if((p-k|0)>=160){q=0;break}o=f[m>>2]|0;f[l>>2]=p+4;f[p>>2]=o;f[m>>2]=0;q=0;break}o=n+32|0;p=0;while(1){r=n+p|0;if((p|0)==32){s=o;break}if((b[r>>0]|0)==a<<24>>24){s=r;break}else p=p+1|0}p=s-n|0;if((p|0)>31)q=-1;else{o=b[448443+p>>0]|0;switch(p|0){case 24:case 25:{r=f[g>>2]|0;if((r|0)!=(e|0)?(b[r+-1>>0]&95)!=(b[d>>0]&127):0){q=-1;break a}f[g>>2]=r+1;b[r>>0]=o;q=0;break a;break}case 23:case 22:{b[d>>0]=80;r=f[g>>2]|0;f[g>>2]=r+1;b[r>>0]=o;q=0;break a;break}default:{r=o&95;if((((r|0)==(b[d>>0]|0)?(b[d>>0]=r|128,b[c>>0]|0):0)?(b[c>>0]=0,r=b[j+11>>0]|0,(r<<24>>24<0?f[j+4>>2]|0:r&255)|0):0)?(r=f[l>>2]|0,(r-k|0)<160):0){t=f[m>>2]|0;f[l>>2]=r+4;f[r>>2]=t}t=f[g>>2]|0;f[g>>2]=t+1;b[t>>0]=o;if((p|0)>21){q=0;break a}f[m>>2]=(f[m>>2]|0)+1;q=0;break a}}}}while(0);return q|0}function MIa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0.0,h=0,i=0,j=0.0,k=0.0,l=0,m=0.0;d=u;u=u+16|0;e=d;if((a|0)==(b|0)){f[c>>2]=4;g=0.0}else{h=iCa()|0;i=f[h>>2]|0;h=iCa()|0;f[h>>2]=0;j=+YEa(a,e,BIa()|0);a=iCa()|0;h=f[a>>2]|0;if(!h){a=iCa()|0;f[a>>2]=i}if((f[e>>2]|0)==(b|0))if((h|0)==34){k=j;l=6}else m=j;else{k=0.0;l=6}if((l|0)==6){f[c>>2]=4;m=k}g=m}u=d;return +g}function NIa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=a+11|0;h=b[g>>0]|0;i=a+4|0;j=f[i>>2]|0;do if((h<<24>>24<0?j:h&255)|0){if((c|0)==(d|0)){k=h;l=j}else{m=d;n=c;while(1){o=m+-4|0;if(n>>>0>=o>>>0)break;p=f[n>>2]|0;f[n>>2]=f[o>>2];f[o>>2]=p;m=o;n=n+4|0}k=b[g>>0]|0;l=f[i>>2]|0}n=k<<24>>24<0;m=n?f[a>>2]|0:a;o=d+-4|0;p=m+(n?l:k&255)|0;n=c;q=m;while(1){r=b[q>>0]|0;s=r<<24>>24>0&r<<24>>24!=127;if(n>>>0>=o>>>0)break;if(s?(f[n>>2]|0)!=(r<<24>>24|0):0){t=10;break}n=n+4|0;q=(p-q|0)>1?q+1|0:q}if((t|0)==10){f[e>>2]=4;break}if(s?((f[o>>2]|0)+-1|0)>>>0>=r<<24>>24>>>0:0)f[e>>2]=4}while(0);return}function OIa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0,Q=0,R=0,S=0;a=u;u=u+240|0;i=a+200|0;j=a+199|0;k=a+198|0;l=a+184|0;m=a+172|0;n=a+168|0;o=a+8|0;q=a+4|0;r=a;s=a+197|0;t=a+196|0;KIa(l,e,i,j,k);f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;e=0;while(1){if((e|0)==3)break;f[m+(e<<2)>>2]=0;e=e+1|0}e=m+11|0;v=m+8|0;if((b[e>>0]|0)<0)w=(f[v>>2]&2147483647)+-1|0;else w=10;YQa(m,w,0);w=(b[e>>0]|0)<0?f[m>>2]|0:m;f[n>>2]=w;f[q>>2]=o;f[r>>2]=0;b[s>>0]=1;b[t>>0]=69;x=m+4|0;y=f[c>>2]|0;z=w;w=y;A=y;a:while(1){if(w){y=f[w+12>>2]|0;if((y|0)==(f[w+16>>2]|0))B=Wf[f[(f[w>>2]|0)+36>>2]&255](w)|0;else B=fGa(b[y>>0]|0)|0;if(dHa(B,eGa()|0)|0){f[c>>2]=0;C=0;D=0;E=1}else{C=w;D=A;E=0}}else{C=0;D=0;E=1}y=f[d>>2]|0;do if(y){F=f[y+12>>2]|0;if((F|0)==(f[y+16>>2]|0))G=Wf[f[(f[y>>2]|0)+36>>2]&255](y)|0;else G=fGa(b[F>>0]|0)|0;if(!(dHa(G,eGa()|0)|0))if(E){H=y;break}else{I=z;J=y;break a}else{f[d>>2]=0;K=19;break}}else K=19;while(0);if((K|0)==19){K=0;if(E){I=z;J=0;break}else H=0}y=b[e>>0]|0;F=y<<24>>24<0?f[x>>2]|0:y&255;if((f[n>>2]|0)==(z+F|0)){YQa(m,F<<1,0);if((b[e>>0]|0)<0)L=(f[v>>2]&2147483647)+-1|0;else L=10;YQa(m,L,0);y=(b[e>>0]|0)<0?f[m>>2]|0:m;f[n>>2]=y+F;M=y}else M=z;y=C+12|0;F=f[y>>2]|0;N=C+16|0;if((F|0)==(f[N>>2]|0))O=Wf[f[(f[C>>2]|0)+36>>2]&255](C)|0;else O=fGa(b[F>>0]|0)|0;if(LIa(O&255,s,t,M,n,b[j>>0]|0,b[k>>0]|0,l,o,q,r,i)|0){I=M;J=H;break}F=f[y>>2]|0;if((F|0)==(f[N>>2]|0)){Wf[f[(f[C>>2]|0)+40>>2]&255](C)|0;z=M;w=C;A=D;continue}else{f[y>>2]=F+1;fGa(b[F>>0]|0)|0;z=M;w=C;A=D;continue}}A=b[l+11>>0]|0;if(!((b[s>>0]|0)==0?1:((A<<24>>24<0?f[l+4>>2]|0:A&255)|0)==0)?(A=f[q>>2]|0,(A-o|0)<160):0){s=f[r>>2]|0;f[q>>2]=A+4;f[A>>2]=s}P=+PIa(I,f[n>>2]|0,g);p[h>>3]=P;NIa(l,o,f[q>>2]|0,g);if(C){q=f[C+12>>2]|0;if((q|0)==(f[C+16>>2]|0))Q=Wf[f[(f[D>>2]|0)+36>>2]&255](C)|0;else Q=fGa(b[q>>0]|0)|0;if(dHa(Q,eGa()|0)|0){f[c>>2]=0;R=1}else R=0}else R=1;do if(J){Q=f[J+12>>2]|0;if((Q|0)==(f[J+16>>2]|0))S=Wf[f[(f[J>>2]|0)+36>>2]&255](J)|0;else S=fGa(b[Q>>0]|0)|0;if(!(dHa(S,eGa()|0)|0))if(R)break;else{K=49;break}else{f[d>>2]=0;K=47;break}}else K=47;while(0);if((K|0)==47?R:0)K=49;if((K|0)==49)f[g>>2]=f[g>>2]|2;g=f[c>>2]|0;RQa(m);RQa(l);u=a;return g|0}function PIa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0.0,h=0,i=0,j=0.0,k=0.0,l=0,m=0.0;d=u;u=u+16|0;e=d;if((a|0)==(b|0)){f[c>>2]=4;g=0.0}else{h=iCa()|0;i=f[h>>2]|0;h=iCa()|0;f[h>>2]=0;j=+XEa(a,e,BIa()|0);a=iCa()|0;h=f[a>>2]|0;if(!h){a=iCa()|0;f[a>>2]=i}if((f[e>>2]|0)==(b|0))if((h|0)==34){k=j;l=6}else m=j;else{k=0.0;l=6}if((l|0)==6){f[c>>2]=4;m=k}g=m}u=d;return +g}function QIa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0,Q=0,R=0,S=0;a=u;u=u+240|0;i=a+200|0;j=a+199|0;k=a+198|0;l=a+184|0;m=a+172|0;o=a+168|0;p=a+8|0;q=a+4|0;r=a;s=a+197|0;t=a+196|0;KIa(l,e,i,j,k);f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;e=0;while(1){if((e|0)==3)break;f[m+(e<<2)>>2]=0;e=e+1|0}e=m+11|0;v=m+8|0;if((b[e>>0]|0)<0)w=(f[v>>2]&2147483647)+-1|0;else w=10;YQa(m,w,0);w=(b[e>>0]|0)<0?f[m>>2]|0:m;f[o>>2]=w;f[q>>2]=p;f[r>>2]=0;b[s>>0]=1;b[t>>0]=69;x=m+4|0;y=f[c>>2]|0;z=w;w=y;A=y;a:while(1){if(w){y=f[w+12>>2]|0;if((y|0)==(f[w+16>>2]|0))B=Wf[f[(f[w>>2]|0)+36>>2]&255](w)|0;else B=fGa(b[y>>0]|0)|0;if(dHa(B,eGa()|0)|0){f[c>>2]=0;C=0;D=0;E=1}else{C=w;D=A;E=0}}else{C=0;D=0;E=1}y=f[d>>2]|0;do if(y){F=f[y+12>>2]|0;if((F|0)==(f[y+16>>2]|0))G=Wf[f[(f[y>>2]|0)+36>>2]&255](y)|0;else G=fGa(b[F>>0]|0)|0;if(!(dHa(G,eGa()|0)|0))if(E){H=y;break}else{I=z;J=y;break a}else{f[d>>2]=0;K=19;break}}else K=19;while(0);if((K|0)==19){K=0;if(E){I=z;J=0;break}else H=0}y=b[e>>0]|0;F=y<<24>>24<0?f[x>>2]|0:y&255;if((f[o>>2]|0)==(z+F|0)){YQa(m,F<<1,0);if((b[e>>0]|0)<0)L=(f[v>>2]&2147483647)+-1|0;else L=10;YQa(m,L,0);y=(b[e>>0]|0)<0?f[m>>2]|0:m;f[o>>2]=y+F;M=y}else M=z;y=C+12|0;F=f[y>>2]|0;N=C+16|0;if((F|0)==(f[N>>2]|0))O=Wf[f[(f[C>>2]|0)+36>>2]&255](C)|0;else O=fGa(b[F>>0]|0)|0;if(LIa(O&255,s,t,M,o,b[j>>0]|0,b[k>>0]|0,l,p,q,r,i)|0){I=M;J=H;break}F=f[y>>2]|0;if((F|0)==(f[N>>2]|0)){Wf[f[(f[C>>2]|0)+40>>2]&255](C)|0;z=M;w=C;A=D;continue}else{f[y>>2]=F+1;fGa(b[F>>0]|0)|0;z=M;w=C;A=D;continue}}A=b[l+11>>0]|0;if(!((b[s>>0]|0)==0?1:((A<<24>>24<0?f[l+4>>2]|0:A&255)|0)==0)?(A=f[q>>2]|0,(A-p|0)<160):0){s=f[r>>2]|0;f[q>>2]=A+4;f[A>>2]=s}P=+RIa(I,f[o>>2]|0,g);n[h>>2]=P;NIa(l,p,f[q>>2]|0,g);if(C){q=f[C+12>>2]|0;if((q|0)==(f[C+16>>2]|0))Q=Wf[f[(f[D>>2]|0)+36>>2]&255](C)|0;else Q=fGa(b[q>>0]|0)|0;if(dHa(Q,eGa()|0)|0){f[c>>2]=0;R=1}else R=0}else R=1;do if(J){Q=f[J+12>>2]|0;if((Q|0)==(f[J+16>>2]|0))S=Wf[f[(f[J>>2]|0)+36>>2]&255](J)|0;else S=fGa(b[Q>>0]|0)|0;if(!(dHa(S,eGa()|0)|0))if(R)break;else{K=49;break}else{f[d>>2]=0;K=47;break}}else K=47;while(0);if((K|0)==47?R:0)K=49;if((K|0)==49)f[g>>2]=f[g>>2]|2;g=f[c>>2]|0;RQa(m);RQa(l);u=a;return g|0}function RIa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0.0,h=0,i=0,j=0.0,k=0.0,l=0,m=0.0;d=u;u=u+16|0;e=d;if((a|0)==(b|0)){f[c>>2]=4;g=0.0}else{h=iCa()|0;i=f[h>>2]|0;h=iCa()|0;f[h>>2]=0;j=+WEa(a,e,BIa()|0);a=iCa()|0;h=f[a>>2]|0;if(!h){a=iCa()|0;f[a>>2]=i}if((f[e>>2]|0)==(b|0))if((h|0)==34){k=j;l=6}else m=j;else{k=0.0;l=6}if((l|0)==6){f[c>>2]=4;m=k}g=m}u=d;return +g}function SIa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;a=u;u=u+224|0;i=a+198|0;j=a+196|0;k=a+184|0;l=a+172|0;m=a+168|0;n=a+8|0;o=a+4|0;p=a;q=TIa(e)|0;UIa(k,e,i,j);f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;e=0;while(1){if((e|0)==3)break;f[l+(e<<2)>>2]=0;e=e+1|0}e=l+11|0;r=l+8|0;if((b[e>>0]|0)<0)s=(f[r>>2]&2147483647)+-1|0;else s=10;YQa(l,s,0);s=(b[e>>0]|0)<0?f[l>>2]|0:l;f[m>>2]=s;f[o>>2]=n;f[p>>2]=0;t=l+4|0;v=f[c>>2]|0;w=s;s=v;x=v;a:while(1){if(s){v=f[s+12>>2]|0;if((v|0)==(f[s+16>>2]|0))y=Wf[f[(f[s>>2]|0)+36>>2]&255](s)|0;else y=fGa(b[v>>0]|0)|0;if(dHa(y,eGa()|0)|0){f[c>>2]=0;z=0;A=0;B=1}else{z=s;A=x;B=0}}else{z=0;A=0;B=1}v=f[d>>2]|0;do if(v){C=f[v+12>>2]|0;if((C|0)==(f[v+16>>2]|0))D=Wf[f[(f[v>>2]|0)+36>>2]&255](v)|0;else D=fGa(b[C>>0]|0)|0;if(!(dHa(D,eGa()|0)|0))if(B){E=v;break}else{F=w;G=v;break a}else{f[d>>2]=0;H=19;break}}else H=19;while(0);if((H|0)==19){H=0;if(B){F=w;G=0;break}else E=0}v=b[e>>0]|0;C=v<<24>>24<0?f[t>>2]|0:v&255;if((f[m>>2]|0)==(w+C|0)){YQa(l,C<<1,0);if((b[e>>0]|0)<0)J=(f[r>>2]&2147483647)+-1|0;else J=10;YQa(l,J,0);v=(b[e>>0]|0)<0?f[l>>2]|0:l;f[m>>2]=v+C;K=v}else K=w;v=z+12|0;C=f[v>>2]|0;L=z+16|0;if((C|0)==(f[L>>2]|0))M=Wf[f[(f[z>>2]|0)+36>>2]&255](z)|0;else M=fGa(b[C>>0]|0)|0;if(AIa(M&255,q,K,m,p,b[j>>0]|0,k,n,o,i)|0){F=K;G=E;break}C=f[v>>2]|0;if((C|0)==(f[L>>2]|0)){Wf[f[(f[z>>2]|0)+40>>2]&255](z)|0;w=K;s=z;x=A;continue}else{f[v>>2]=C+1;fGa(b[C>>0]|0)|0;w=K;s=z;x=A;continue}}x=b[k+11>>0]|0;if((x<<24>>24<0?f[k+4>>2]|0:x&255)|0?(x=f[o>>2]|0,(x-n|0)<160):0){s=f[p>>2]|0;f[o>>2]=x+4;f[x>>2]=s}s=VIa(F,f[m>>2]|0,g,q)|0;q=h;f[q>>2]=s;f[q+4>>2]=I;NIa(k,n,f[o>>2]|0,g);if(z){o=f[z+12>>2]|0;if((o|0)==(f[z+16>>2]|0))N=Wf[f[(f[A>>2]|0)+36>>2]&255](z)|0;else N=fGa(b[o>>0]|0)|0;if(dHa(N,eGa()|0)|0){f[c>>2]=0;O=1}else O=0}else O=1;do if(G){N=f[G+12>>2]|0;if((N|0)==(f[G+16>>2]|0))P=Wf[f[(f[G>>2]|0)+36>>2]&255](G)|0;else P=fGa(b[N>>0]|0)|0;if(!(dHa(P,eGa()|0)|0))if(O)break;else{H=49;break}else{f[d>>2]=0;H=47;break}}else H=47;while(0);if((H|0)==47?O:0)H=49;if((H|0)==49)f[g>>2]=f[g>>2]|2;g=f[c>>2]|0;RQa(l);RQa(k);u=a;return g|0}function TIa(a){a=a|0;var b=0;switch(f[a+4>>2]&74){case 64:{b=8;break}case 8:{b=16;break}case 0:{b=0;break}default:b=10}return b|0}function UIa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;g=u;u=u+16|0;h=g;eHa(h,c);c=yIa(h,810368)|0;dg[f[(f[c>>2]|0)+32>>2]&63](c,448443,448469,d)|0;d=yIa(h,810384)|0;c=Wf[f[(f[d>>2]|0)+16>>2]&255](d)|0;b[e>>0]=c;zg[f[(f[d>>2]|0)+20>>2]&511](a,d);zIa(h);u=g;return}function VIa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=u;u=u+16|0;h=g;do if((a|0)==(c|0)){f[d>>2]=4;i=0;j=0}else{if((b[a>>0]|0)==45){f[d>>2]=4;i=0;j=0;break}k=iCa()|0;l=f[k>>2]|0;k=iCa()|0;f[k>>2]=0;k=XDa(a,h,e,BIa()|0)|0;m=I;n=iCa()|0;o=f[n>>2]|0;if(!o){n=iCa()|0;f[n>>2]=l}if((f[h>>2]|0)==(c|0))if((o|0)==34){p=-1;q=-1;r=8}else{s=k;t=m}else{p=0;q=0;r=8}if((r|0)==8){f[d>>2]=4;s=p;t=q}i=t;j=s}while(0);I=i;u=g;return j|0}function WIa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;a=u;u=u+224|0;i=a+198|0;j=a+196|0;k=a+184|0;l=a+172|0;m=a+168|0;n=a+8|0;o=a+4|0;p=a;q=TIa(e)|0;UIa(k,e,i,j);f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;e=0;while(1){if((e|0)==3)break;f[l+(e<<2)>>2]=0;e=e+1|0}e=l+11|0;r=l+8|0;if((b[e>>0]|0)<0)s=(f[r>>2]&2147483647)+-1|0;else s=10;YQa(l,s,0);s=(b[e>>0]|0)<0?f[l>>2]|0:l;f[m>>2]=s;f[o>>2]=n;f[p>>2]=0;t=l+4|0;v=f[c>>2]|0;w=s;s=v;x=v;a:while(1){if(s){v=f[s+12>>2]|0;if((v|0)==(f[s+16>>2]|0))y=Wf[f[(f[s>>2]|0)+36>>2]&255](s)|0;else y=fGa(b[v>>0]|0)|0;if(dHa(y,eGa()|0)|0){f[c>>2]=0;z=0;A=0;B=1}else{z=s;A=x;B=0}}else{z=0;A=0;B=1}v=f[d>>2]|0;do if(v){C=f[v+12>>2]|0;if((C|0)==(f[v+16>>2]|0))D=Wf[f[(f[v>>2]|0)+36>>2]&255](v)|0;else D=fGa(b[C>>0]|0)|0;if(!(dHa(D,eGa()|0)|0))if(B){E=v;break}else{F=w;G=v;break a}else{f[d>>2]=0;H=19;break}}else H=19;while(0);if((H|0)==19){H=0;if(B){F=w;G=0;break}else E=0}v=b[e>>0]|0;C=v<<24>>24<0?f[t>>2]|0:v&255;if((f[m>>2]|0)==(w+C|0)){YQa(l,C<<1,0);if((b[e>>0]|0)<0)I=(f[r>>2]&2147483647)+-1|0;else I=10;YQa(l,I,0);v=(b[e>>0]|0)<0?f[l>>2]|0:l;f[m>>2]=v+C;J=v}else J=w;v=z+12|0;C=f[v>>2]|0;K=z+16|0;if((C|0)==(f[K>>2]|0))L=Wf[f[(f[z>>2]|0)+36>>2]&255](z)|0;else L=fGa(b[C>>0]|0)|0;if(AIa(L&255,q,J,m,p,b[j>>0]|0,k,n,o,i)|0){F=J;G=E;break}C=f[v>>2]|0;if((C|0)==(f[K>>2]|0)){Wf[f[(f[z>>2]|0)+40>>2]&255](z)|0;w=J;s=z;x=A;continue}else{f[v>>2]=C+1;fGa(b[C>>0]|0)|0;w=J;s=z;x=A;continue}}x=b[k+11>>0]|0;if((x<<24>>24<0?f[k+4>>2]|0:x&255)|0?(x=f[o>>2]|0,(x-n|0)<160):0){s=f[p>>2]|0;f[o>>2]=x+4;f[x>>2]=s}s=XIa(F,f[m>>2]|0,g,q)|0;f[h>>2]=s;NIa(k,n,f[o>>2]|0,g);if(z){o=f[z+12>>2]|0;if((o|0)==(f[z+16>>2]|0))M=Wf[f[(f[A>>2]|0)+36>>2]&255](z)|0;else M=fGa(b[o>>0]|0)|0;if(dHa(M,eGa()|0)|0){f[c>>2]=0;N=1}else N=0}else N=1;do if(G){M=f[G+12>>2]|0;if((M|0)==(f[G+16>>2]|0))O=Wf[f[(f[G>>2]|0)+36>>2]&255](G)|0;else O=fGa(b[M>>0]|0)|0;if(!(dHa(O,eGa()|0)|0))if(N)break;else{H=49;break}else{f[d>>2]=0;H=47;break}}else H=47;while(0);if((H|0)==47?N:0)H=49;if((H|0)==49)f[g>>2]=f[g>>2]|2;g=f[c>>2]|0;RQa(l);RQa(k);u=a;return g|0}function XIa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=u;u=u+16|0;h=g;do if((a|0)==(c|0)){f[d>>2]=4;i=0}else{if((b[a>>0]|0)==45){f[d>>2]=4;i=0;break}j=iCa()|0;k=f[j>>2]|0;j=iCa()|0;f[j>>2]=0;j=XDa(a,h,e,BIa()|0)|0;l=I;m=iCa()|0;n=f[m>>2]|0;if(!n){m=iCa()|0;f[m>>2]=k}do if((f[h>>2]|0)==(c|0))if(l>>>0>0|(l|0)==0&j>>>0>4294967295|(n|0)==34){f[d>>2]=4;o=-1;break}else{o=j;break}else{f[d>>2]=4;o=0}while(0);i=o}while(0);u=g;return i|0}function YIa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;a=u;u=u+224|0;i=a+198|0;j=a+196|0;k=a+184|0;l=a+172|0;m=a+168|0;n=a+8|0;o=a+4|0;p=a;q=TIa(e)|0;UIa(k,e,i,j);f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;e=0;while(1){if((e|0)==3)break;f[l+(e<<2)>>2]=0;e=e+1|0}e=l+11|0;r=l+8|0;if((b[e>>0]|0)<0)s=(f[r>>2]&2147483647)+-1|0;else s=10;YQa(l,s,0);s=(b[e>>0]|0)<0?f[l>>2]|0:l;f[m>>2]=s;f[o>>2]=n;f[p>>2]=0;t=l+4|0;v=f[c>>2]|0;w=s;s=v;x=v;a:while(1){if(s){v=f[s+12>>2]|0;if((v|0)==(f[s+16>>2]|0))y=Wf[f[(f[s>>2]|0)+36>>2]&255](s)|0;else y=fGa(b[v>>0]|0)|0;if(dHa(y,eGa()|0)|0){f[c>>2]=0;z=0;A=0;B=1}else{z=s;A=x;B=0}}else{z=0;A=0;B=1}v=f[d>>2]|0;do if(v){C=f[v+12>>2]|0;if((C|0)==(f[v+16>>2]|0))D=Wf[f[(f[v>>2]|0)+36>>2]&255](v)|0;else D=fGa(b[C>>0]|0)|0;if(!(dHa(D,eGa()|0)|0))if(B){E=v;break}else{F=w;G=v;break a}else{f[d>>2]=0;H=19;break}}else H=19;while(0);if((H|0)==19){H=0;if(B){F=w;G=0;break}else E=0}v=b[e>>0]|0;C=v<<24>>24<0?f[t>>2]|0:v&255;if((f[m>>2]|0)==(w+C|0)){YQa(l,C<<1,0);if((b[e>>0]|0)<0)I=(f[r>>2]&2147483647)+-1|0;else I=10;YQa(l,I,0);v=(b[e>>0]|0)<0?f[l>>2]|0:l;f[m>>2]=v+C;J=v}else J=w;v=z+12|0;C=f[v>>2]|0;K=z+16|0;if((C|0)==(f[K>>2]|0))L=Wf[f[(f[z>>2]|0)+36>>2]&255](z)|0;else L=fGa(b[C>>0]|0)|0;if(AIa(L&255,q,J,m,p,b[j>>0]|0,k,n,o,i)|0){F=J;G=E;break}C=f[v>>2]|0;if((C|0)==(f[K>>2]|0)){Wf[f[(f[z>>2]|0)+40>>2]&255](z)|0;w=J;s=z;x=A;continue}else{f[v>>2]=C+1;fGa(b[C>>0]|0)|0;w=J;s=z;x=A;continue}}x=b[k+11>>0]|0;if((x<<24>>24<0?f[k+4>>2]|0:x&255)|0?(x=f[o>>2]|0,(x-n|0)<160):0){s=f[p>>2]|0;f[o>>2]=x+4;f[x>>2]=s}s=ZIa(F,f[m>>2]|0,g,q)|0;f[h>>2]=s;NIa(k,n,f[o>>2]|0,g);if(z){o=f[z+12>>2]|0;if((o|0)==(f[z+16>>2]|0))M=Wf[f[(f[A>>2]|0)+36>>2]&255](z)|0;else M=fGa(b[o>>0]|0)|0;if(dHa(M,eGa()|0)|0){f[c>>2]=0;N=1}else N=0}else N=1;do if(G){M=f[G+12>>2]|0;if((M|0)==(f[G+16>>2]|0))O=Wf[f[(f[G>>2]|0)+36>>2]&255](G)|0;else O=fGa(b[M>>0]|0)|0;if(!(dHa(O,eGa()|0)|0))if(N)break;else{H=49;break}else{f[d>>2]=0;H=47;break}}else H=47;while(0);if((H|0)==47?N:0)H=49;if((H|0)==49)f[g>>2]=f[g>>2]|2;g=f[c>>2]|0;RQa(l);RQa(k);u=a;return g|0}function ZIa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=u;u=u+16|0;h=g;do if((a|0)==(c|0)){f[d>>2]=4;i=0}else{if((b[a>>0]|0)==45){f[d>>2]=4;i=0;break}j=iCa()|0;k=f[j>>2]|0;j=iCa()|0;f[j>>2]=0;j=XDa(a,h,e,BIa()|0)|0;l=I;m=iCa()|0;n=f[m>>2]|0;if(!n){m=iCa()|0;f[m>>2]=k}do if((f[h>>2]|0)==(c|0))if(l>>>0>0|(l|0)==0&j>>>0>4294967295|(n|0)==34){f[d>>2]=4;o=-1;break}else{o=j;break}else{f[d>>2]=4;o=0}while(0);i=o}while(0);u=g;return i|0}function _Ia(a,c,e,g,h,i){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;a=u;u=u+224|0;j=a+198|0;k=a+196|0;l=a+184|0;m=a+172|0;n=a+168|0;o=a+8|0;p=a+4|0;q=a;r=TIa(g)|0;UIa(l,g,j,k);f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;g=0;while(1){if((g|0)==3)break;f[m+(g<<2)>>2]=0;g=g+1|0}g=m+11|0;s=m+8|0;if((b[g>>0]|0)<0)t=(f[s>>2]&2147483647)+-1|0;else t=10;YQa(m,t,0);t=(b[g>>0]|0)<0?f[m>>2]|0:m;f[n>>2]=t;f[p>>2]=o;f[q>>2]=0;v=m+4|0;w=f[c>>2]|0;x=t;t=w;y=w;a:while(1){if(t){w=f[t+12>>2]|0;if((w|0)==(f[t+16>>2]|0))z=Wf[f[(f[t>>2]|0)+36>>2]&255](t)|0;else z=fGa(b[w>>0]|0)|0;if(dHa(z,eGa()|0)|0){f[c>>2]=0;A=0;B=0;C=1}else{A=t;B=y;C=0}}else{A=0;B=0;C=1}w=f[e>>2]|0;do if(w){D=f[w+12>>2]|0;if((D|0)==(f[w+16>>2]|0))E=Wf[f[(f[w>>2]|0)+36>>2]&255](w)|0;else E=fGa(b[D>>0]|0)|0;if(!(dHa(E,eGa()|0)|0))if(C){F=w;break}else{G=x;H=w;break a}else{f[e>>2]=0;I=19;break}}else I=19;while(0);if((I|0)==19){I=0;if(C){G=x;H=0;break}else F=0}w=b[g>>0]|0;D=w<<24>>24<0?f[v>>2]|0:w&255;if((f[n>>2]|0)==(x+D|0)){YQa(m,D<<1,0);if((b[g>>0]|0)<0)J=(f[s>>2]&2147483647)+-1|0;else J=10;YQa(m,J,0);w=(b[g>>0]|0)<0?f[m>>2]|0:m;f[n>>2]=w+D;K=w}else K=x;w=A+12|0;D=f[w>>2]|0;L=A+16|0;if((D|0)==(f[L>>2]|0))M=Wf[f[(f[A>>2]|0)+36>>2]&255](A)|0;else M=fGa(b[D>>0]|0)|0;if(AIa(M&255,r,K,n,q,b[k>>0]|0,l,o,p,j)|0){G=K;H=F;break}D=f[w>>2]|0;if((D|0)==(f[L>>2]|0)){Wf[f[(f[A>>2]|0)+40>>2]&255](A)|0;x=K;t=A;y=B;continue}else{f[w>>2]=D+1;fGa(b[D>>0]|0)|0;x=K;t=A;y=B;continue}}y=b[l+11>>0]|0;if((y<<24>>24<0?f[l+4>>2]|0:y&255)|0?(y=f[p>>2]|0,(y-o|0)<160):0){t=f[q>>2]|0;f[p>>2]=y+4;f[y>>2]=t}t=$Ia(G,f[n>>2]|0,h,r)|0;d[i>>1]=t;NIa(l,o,f[p>>2]|0,h);if(A){p=f[A+12>>2]|0;if((p|0)==(f[A+16>>2]|0))N=Wf[f[(f[B>>2]|0)+36>>2]&255](A)|0;else N=fGa(b[p>>0]|0)|0;if(dHa(N,eGa()|0)|0){f[c>>2]=0;O=1}else O=0}else O=1;do if(H){N=f[H+12>>2]|0;if((N|0)==(f[H+16>>2]|0))P=Wf[f[(f[H>>2]|0)+36>>2]&255](H)|0;else P=fGa(b[N>>0]|0)|0;if(!(dHa(P,eGa()|0)|0))if(O)break;else{I=49;break}else{f[e>>2]=0;I=47;break}}else I=47;while(0);if((I|0)==47?O:0)I=49;if((I|0)==49)f[h>>2]=f[h>>2]|2;h=f[c>>2]|0;RQa(m);RQa(l);u=a;return h|0}function $Ia(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=u;u=u+16|0;h=g;do if((a|0)==(c|0)){f[d>>2]=4;i=0}else{if((b[a>>0]|0)==45){f[d>>2]=4;i=0;break}j=iCa()|0;k=f[j>>2]|0;j=iCa()|0;f[j>>2]=0;j=XDa(a,h,e,BIa()|0)|0;l=I;m=iCa()|0;n=f[m>>2]|0;if(!n){m=iCa()|0;f[m>>2]=k}do if((f[h>>2]|0)==(c|0))if(l>>>0>0|(l|0)==0&j>>>0>65535|(n|0)==34){f[d>>2]=4;o=-1;break}else{o=j&65535;break}else{f[d>>2]=4;o=0}while(0);i=o}while(0);u=g;return i|0}function aJa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;a=u;u=u+224|0;i=a+198|0;j=a+196|0;k=a+184|0;l=a+172|0;m=a+168|0;n=a+8|0;o=a+4|0;p=a;q=TIa(e)|0;UIa(k,e,i,j);f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;e=0;while(1){if((e|0)==3)break;f[l+(e<<2)>>2]=0;e=e+1|0}e=l+11|0;r=l+8|0;if((b[e>>0]|0)<0)s=(f[r>>2]&2147483647)+-1|0;else s=10;YQa(l,s,0);s=(b[e>>0]|0)<0?f[l>>2]|0:l;f[m>>2]=s;f[o>>2]=n;f[p>>2]=0;t=l+4|0;v=f[c>>2]|0;w=s;s=v;x=v;a:while(1){if(s){v=f[s+12>>2]|0;if((v|0)==(f[s+16>>2]|0))y=Wf[f[(f[s>>2]|0)+36>>2]&255](s)|0;else y=fGa(b[v>>0]|0)|0;if(dHa(y,eGa()|0)|0){f[c>>2]=0;z=0;A=0;B=1}else{z=s;A=x;B=0}}else{z=0;A=0;B=1}v=f[d>>2]|0;do if(v){C=f[v+12>>2]|0;if((C|0)==(f[v+16>>2]|0))D=Wf[f[(f[v>>2]|0)+36>>2]&255](v)|0;else D=fGa(b[C>>0]|0)|0;if(!(dHa(D,eGa()|0)|0))if(B){E=v;break}else{F=w;G=v;break a}else{f[d>>2]=0;H=19;break}}else H=19;while(0);if((H|0)==19){H=0;if(B){F=w;G=0;break}else E=0}v=b[e>>0]|0;C=v<<24>>24<0?f[t>>2]|0:v&255;if((f[m>>2]|0)==(w+C|0)){YQa(l,C<<1,0);if((b[e>>0]|0)<0)J=(f[r>>2]&2147483647)+-1|0;else J=10;YQa(l,J,0);v=(b[e>>0]|0)<0?f[l>>2]|0:l;f[m>>2]=v+C;K=v}else K=w;v=z+12|0;C=f[v>>2]|0;L=z+16|0;if((C|0)==(f[L>>2]|0))M=Wf[f[(f[z>>2]|0)+36>>2]&255](z)|0;else M=fGa(b[C>>0]|0)|0;if(AIa(M&255,q,K,m,p,b[j>>0]|0,k,n,o,i)|0){F=K;G=E;break}C=f[v>>2]|0;if((C|0)==(f[L>>2]|0)){Wf[f[(f[z>>2]|0)+40>>2]&255](z)|0;w=K;s=z;x=A;continue}else{f[v>>2]=C+1;fGa(b[C>>0]|0)|0;w=K;s=z;x=A;continue}}x=b[k+11>>0]|0;if((x<<24>>24<0?f[k+4>>2]|0:x&255)|0?(x=f[o>>2]|0,(x-n|0)<160):0){s=f[p>>2]|0;f[o>>2]=x+4;f[x>>2]=s}s=bJa(F,f[m>>2]|0,g,q)|0;q=h;f[q>>2]=s;f[q+4>>2]=I;NIa(k,n,f[o>>2]|0,g);if(z){o=f[z+12>>2]|0;if((o|0)==(f[z+16>>2]|0))N=Wf[f[(f[A>>2]|0)+36>>2]&255](z)|0;else N=fGa(b[o>>0]|0)|0;if(dHa(N,eGa()|0)|0){f[c>>2]=0;O=1}else O=0}else O=1;do if(G){N=f[G+12>>2]|0;if((N|0)==(f[G+16>>2]|0))P=Wf[f[(f[G>>2]|0)+36>>2]&255](G)|0;else P=fGa(b[N>>0]|0)|0;if(!(dHa(P,eGa()|0)|0))if(O)break;else{H=49;break}else{f[d>>2]=0;H=47;break}}else H=47;while(0);if((H|0)==47?O:0)H=49;if((H|0)==49)f[g>>2]=f[g>>2]|2;g=f[c>>2]|0;RQa(l);RQa(k);u=a;return g|0}function bJa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e;if((a|0)==(b|0)){f[c>>2]=4;h=0;i=0}else{j=iCa()|0;k=f[j>>2]|0;j=iCa()|0;f[j>>2]=0;j=YDa(a,g,d,BIa()|0)|0;d=I;a=iCa()|0;l=f[a>>2]|0;if(!l){a=iCa()|0;f[a>>2]=k}if((f[g>>2]|0)==(b|0))if((l|0)==34){f[c>>2]=4;l=(d|0)>0|(d|0)==0&j>>>0>0;m=l?-1:0;n=l?2147483647:-2147483648}else{m=j;n=d}else{f[c>>2]=4;m=0;n=0}h=n;i=m}I=h;u=e;return i|0}function cJa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;a=u;u=u+224|0;i=a+198|0;j=a+196|0;k=a+184|0;l=a+172|0;m=a+168|0;n=a+8|0;o=a+4|0;p=a;q=TIa(e)|0;UIa(k,e,i,j);f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;e=0;while(1){if((e|0)==3)break;f[l+(e<<2)>>2]=0;e=e+1|0}e=l+11|0;r=l+8|0;if((b[e>>0]|0)<0)s=(f[r>>2]&2147483647)+-1|0;else s=10;YQa(l,s,0);s=(b[e>>0]|0)<0?f[l>>2]|0:l;f[m>>2]=s;f[o>>2]=n;f[p>>2]=0;t=l+4|0;v=f[c>>2]|0;w=s;s=v;x=v;a:while(1){if(s){v=f[s+12>>2]|0;if((v|0)==(f[s+16>>2]|0))y=Wf[f[(f[s>>2]|0)+36>>2]&255](s)|0;else y=fGa(b[v>>0]|0)|0;if(dHa(y,eGa()|0)|0){f[c>>2]=0;z=0;A=0;B=1}else{z=s;A=x;B=0}}else{z=0;A=0;B=1}v=f[d>>2]|0;do if(v){C=f[v+12>>2]|0;if((C|0)==(f[v+16>>2]|0))D=Wf[f[(f[v>>2]|0)+36>>2]&255](v)|0;else D=fGa(b[C>>0]|0)|0;if(!(dHa(D,eGa()|0)|0))if(B){E=v;break}else{F=w;G=v;break a}else{f[d>>2]=0;H=19;break}}else H=19;while(0);if((H|0)==19){H=0;if(B){F=w;G=0;break}else E=0}v=b[e>>0]|0;C=v<<24>>24<0?f[t>>2]|0:v&255;if((f[m>>2]|0)==(w+C|0)){YQa(l,C<<1,0);if((b[e>>0]|0)<0)I=(f[r>>2]&2147483647)+-1|0;else I=10;YQa(l,I,0);v=(b[e>>0]|0)<0?f[l>>2]|0:l;f[m>>2]=v+C;J=v}else J=w;v=z+12|0;C=f[v>>2]|0;K=z+16|0;if((C|0)==(f[K>>2]|0))L=Wf[f[(f[z>>2]|0)+36>>2]&255](z)|0;else L=fGa(b[C>>0]|0)|0;if(AIa(L&255,q,J,m,p,b[j>>0]|0,k,n,o,i)|0){F=J;G=E;break}C=f[v>>2]|0;if((C|0)==(f[K>>2]|0)){Wf[f[(f[z>>2]|0)+40>>2]&255](z)|0;w=J;s=z;x=A;continue}else{f[v>>2]=C+1;fGa(b[C>>0]|0)|0;w=J;s=z;x=A;continue}}x=b[k+11>>0]|0;if((x<<24>>24<0?f[k+4>>2]|0:x&255)|0?(x=f[o>>2]|0,(x-n|0)<160):0){s=f[p>>2]|0;f[o>>2]=x+4;f[x>>2]=s}s=dJa(F,f[m>>2]|0,g,q)|0;f[h>>2]=s;NIa(k,n,f[o>>2]|0,g);if(z){o=f[z+12>>2]|0;if((o|0)==(f[z+16>>2]|0))M=Wf[f[(f[A>>2]|0)+36>>2]&255](z)|0;else M=fGa(b[o>>0]|0)|0;if(dHa(M,eGa()|0)|0){f[c>>2]=0;N=1}else N=0}else N=1;do if(G){M=f[G+12>>2]|0;if((M|0)==(f[G+16>>2]|0))O=Wf[f[(f[G>>2]|0)+36>>2]&255](G)|0;else O=fGa(b[M>>0]|0)|0;if(!(dHa(O,eGa()|0)|0))if(N)break;else{H=49;break}else{f[d>>2]=0;H=47;break}}else H=47;while(0);if((H|0)==47?N:0)H=49;if((H|0)==49)f[g>>2]=f[g>>2]|2;g=f[c>>2]|0;RQa(l);RQa(k);u=a;return g|0}function dJa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=u;u=u+16|0;g=e;if((a|0)==(b|0)){f[c>>2]=4;h=0}else{i=iCa()|0;j=f[i>>2]|0;i=iCa()|0;f[i>>2]=0;i=YDa(a,g,d,BIa()|0)|0;d=I;a=iCa()|0;k=f[a>>2]|0;if(!k){a=iCa()|0;f[a>>2]=j}a:do if((f[g>>2]|0)==(b|0)){do if((k|0)==34){f[c>>2]=4;if((d|0)>0|(d|0)==0&i>>>0>0){l=2147483647;break a}}else{if((d|0)<-1|(d|0)==-1&i>>>0<2147483648){f[c>>2]=4;break}if((d|0)>0|(d|0)==0&i>>>0>2147483647){f[c>>2]=4;l=2147483647;break a}else{l=i;break a}}while(0);l=-2147483648}else{f[c>>2]=4;l=0}while(0);h=l}u=e;return h|0}function eJa(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;j=u;u=u+112|0;k=j;l=(e-d|0)/12|0;if(l>>>0>100){m=YBa(l)|0;if(!m)IQa();else{n=m;o=m}}else{n=k;o=0}k=l;l=d;m=n;p=0;while(1){if((l|0)==(e|0))break;q=b[l+11>>0]|0;if(q<<24>>24<0)r=f[l+4>>2]|0;else r=q&255;if(!r){b[m>>0]=2;s=k+-1|0;t=p+1|0}else{b[m>>0]=1;s=k;t=p}k=s;l=l+12|0;m=m+1|0;p=t}t=0;m=k;k=p;a:while(1){p=f[a>>2]|0;do if(p){l=f[p+12>>2]|0;if((l|0)==(f[p+16>>2]|0))v=Wf[f[(f[p>>2]|0)+36>>2]&255](p)|0;else v=fGa(b[l>>0]|0)|0;if(dHa(v,eGa()|0)|0){f[a>>2]=0;w=1;break}else{w=(f[a>>2]|0)==0;break}}else w=1;while(0);p=f[c>>2]|0;if(p){l=f[p+12>>2]|0;if((l|0)==(f[p+16>>2]|0))x=Wf[f[(f[p>>2]|0)+36>>2]&255](p)|0;else x=fGa(b[l>>0]|0)|0;if(dHa(x,eGa()|0)|0){f[c>>2]=0;y=0;z=1}else{y=p;z=0}}else{y=0;z=1}A=f[a>>2]|0;if(!((m|0)!=0&(w^z)))break;p=f[A+12>>2]|0;if((p|0)==(f[A+16>>2]|0))B=Wf[f[(f[A>>2]|0)+36>>2]&255](A)|0;else B=fGa(b[p>>0]|0)|0;p=B&255;if(i)C=p;else C=Zf[f[(f[g>>2]|0)+12>>2]&127](g,p)|0;p=t+1|0;l=d;s=0;r=n;q=k;D=m;while(1){if((l|0)==(e|0))break;do if((b[r>>0]|0)==1){E=l+11|0;if((b[E>>0]|0)<0)F=f[l>>2]|0;else F=l;G=b[F+t>>0]|0;if(i)H=G;else H=Zf[f[(f[g>>2]|0)+12>>2]&127](g,G)|0;if(C<<24>>24!=H<<24>>24){b[r>>0]=0;I=s;J=q;K=D+-1|0;break}G=b[E>>0]|0;if(G<<24>>24<0)L=f[l+4>>2]|0;else L=G&255;if((L|0)==(p|0)){b[r>>0]=2;I=1;J=q+1|0;K=D+-1|0}else{I=1;J=q;K=D}}else{I=s;J=q;K=D}while(0);l=l+12|0;s=I;r=r+1|0;q=J;D=K}if(!s){t=p;m=D;k=q;continue}r=f[a>>2]|0;l=r+12|0;G=f[l>>2]|0;if((G|0)==(f[r+16>>2]|0))Wf[f[(f[r>>2]|0)+40>>2]&255](r)|0;else{f[l>>2]=G+1;fGa(b[G>>0]|0)|0}if((q+D|0)>>>0>1){M=d;N=n;O=q}else{t=p;m=D;k=q;continue}while(1){if((M|0)==(e|0)){t=p;m=D;k=O;continue a}if((b[N>>0]|0)==2){G=b[M+11>>0]|0;if(G<<24>>24<0)P=f[M+4>>2]|0;else P=G&255;if((P|0)!=(p|0)){b[N>>0]=0;Q=O+-1|0}else Q=O}else Q=O;M=M+12|0;N=N+1|0;O=Q}}do if(A){Q=f[A+12>>2]|0;if((Q|0)==(f[A+16>>2]|0))R=Wf[f[(f[A>>2]|0)+36>>2]&255](A)|0;else R=fGa(b[Q>>0]|0)|0;if(dHa(R,eGa()|0)|0){f[a>>2]=0;S=1;break}else{S=(f[a>>2]|0)==0;break}}else S=1;while(0);do if(y){a=f[y+12>>2]|0;if((a|0)==(f[y+16>>2]|0))T=Wf[f[(f[y>>2]|0)+36>>2]&255](y)|0;else T=fGa(b[a>>0]|0)|0;if(!(dHa(T,eGa()|0)|0))if(S){U=d;V=n;break}else{W=77;break}else{f[c>>2]=0;W=41;break}}else W=41;while(0);if((W|0)==41)if(S)W=77;else{U=d;V=n}if((W|0)==77){f[h>>2]=f[h>>2]|2;U=d;V=n}while(1){if((U|0)==(e|0)){W=81;break}if((b[V>>0]|0)==2){X=U;break}U=U+12|0;V=V+1|0}if((W|0)==81){f[h>>2]=f[h>>2]|4;X=e}ZBa(o);u=j;return X|0}function fJa(a){a=a|0;eIa(a);return}function gJa(a){a=a|0;eIa(a);GQa(a);return}function hJa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=u;u=u+48|0;j=i+40|0;k=i+16|0;l=i+8|0;m=i+12|0;n=i+4|0;o=i;if(!(f[e+4>>2]&1)){f[l>>2]=-1;p=f[(f[a>>2]|0)+16>>2]|0;f[m>>2]=f[c>>2];f[n>>2]=f[d>>2];f[k>>2]=f[m>>2];f[j>>2]=f[n>>2];n=ig[p&127](a,k,j,e,g,l)|0;f[c>>2]=n;switch(f[l>>2]|0){case 0:{b[h>>0]=0;break}case 1:{b[h>>0]=1;break}default:{b[h>>0]=1;f[g>>2]=4}}q=f[c>>2]|0}else{eHa(j,e);l=yIa(j,810400)|0;zIa(j);eHa(j,e);e=yIa(j,810408)|0;zIa(j);zg[f[(f[e>>2]|0)+24>>2]&511](k,e);zg[f[(f[e>>2]|0)+28>>2]&511](k+12|0,e);f[o>>2]=f[d>>2];d=k+24|0;f[j>>2]=f[o>>2];o=(FJa(c,j,k,d,l,g,1)|0)==(k|0)&1;b[h>>0]=o;o=f[c>>2]|0;c=d;do{c=c+-12|0;hRa(c)}while((c|0)!=(k|0));q=o}u=i;return q|0}function iJa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=u;u=u+16|0;i=h+12|0;j=h+8|0;k=h+4|0;l=h;f[k>>2]=f[b>>2];f[l>>2]=f[c>>2];f[j>>2]=f[k>>2];f[i>>2]=f[l>>2];l=EJa(a,j,i,d,e,g)|0;u=h;return l|0}function jJa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=u;u=u+16|0;i=h+12|0;j=h+8|0;k=h+4|0;l=h;f[k>>2]=f[b>>2];f[l>>2]=f[c>>2];f[j>>2]=f[k>>2];f[i>>2]=f[l>>2];l=DJa(a,j,i,d,e,g)|0;u=h;return l|0}function kJa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=u;u=u+16|0;i=h+12|0;j=h+8|0;k=h+4|0;l=h;f[k>>2]=f[b>>2];f[l>>2]=f[c>>2];f[j>>2]=f[k>>2];f[i>>2]=f[l>>2];l=CJa(a,j,i,d,e,g)|0;u=h;return l|0}function lJa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=u;u=u+16|0;i=h+12|0;j=h+8|0;k=h+4|0;l=h;f[k>>2]=f[b>>2];f[l>>2]=f[c>>2];f[j>>2]=f[k>>2];f[i>>2]=f[l>>2];l=BJa(a,j,i,d,e,g)|0;u=h;return l|0}function mJa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=u;u=u+16|0;i=h+12|0;j=h+8|0;k=h+4|0;l=h;f[k>>2]=f[b>>2];f[l>>2]=f[c>>2];f[j>>2]=f[k>>2];f[i>>2]=f[l>>2];l=AJa(a,j,i,d,e,g)|0;u=h;return l|0}function nJa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=u;u=u+16|0;i=h+12|0;j=h+8|0;k=h+4|0;l=h;f[k>>2]=f[b>>2];f[l>>2]=f[c>>2];f[j>>2]=f[k>>2];f[i>>2]=f[l>>2];l=yJa(a,j,i,d,e,g)|0;u=h;return l|0}function oJa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=u;u=u+16|0;i=h+12|0;j=h+8|0;k=h+4|0;l=h;f[k>>2]=f[b>>2];f[l>>2]=f[c>>2];f[j>>2]=f[k>>2];f[i>>2]=f[l>>2];l=xJa(a,j,i,d,e,g)|0;u=h;return l|0}function pJa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=u;u=u+16|0;i=h+12|0;j=h+8|0;k=h+4|0;l=h;f[k>>2]=f[b>>2];f[l>>2]=f[c>>2];f[j>>2]=f[k>>2];f[i>>2]=f[l>>2];l=wJa(a,j,i,d,e,g)|0;u=h;return l|0}function qJa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=u;u=u+16|0;i=h+12|0;j=h+8|0;k=h+4|0;l=h;f[k>>2]=f[b>>2];f[l>>2]=f[c>>2];f[j>>2]=f[k>>2];f[i>>2]=f[l>>2];l=tJa(a,j,i,d,e,g)|0;u=h;return l|0}function rJa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;a=u;u=u+320|0;i=a;j=a+208|0;k=a+192|0;l=a+180|0;m=a+176|0;n=a+16|0;o=a+8|0;p=a+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;q=0;while(1){if((q|0)==3)break;f[k+(q<<2)>>2]=0;q=q+1|0}eHa(l,e);e=yIa(l,810400)|0;dg[f[(f[e>>2]|0)+48>>2]&63](e,448443,448469,j)|0;zIa(l);f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;e=0;while(1){if((e|0)==3)break;f[l+(e<<2)>>2]=0;e=e+1|0}e=l+11|0;q=l+8|0;if((b[e>>0]|0)<0)r=(f[q>>2]&2147483647)+-1|0;else r=10;YQa(l,r,0);r=(b[e>>0]|0)<0?f[l>>2]|0:l;f[m>>2]=r;f[o>>2]=n;f[p>>2]=0;s=l+4|0;t=f[c>>2]|0;v=r;r=t;w=t;a:while(1){if(r){t=f[r+12>>2]|0;if((t|0)==(f[r+16>>2]|0))x=Wf[f[(f[r>>2]|0)+36>>2]&255](r)|0;else x=xGa(f[t>>2]|0)|0;if(fHa(x,wGa()|0)|0){f[c>>2]=0;y=0;z=0;A=1}else{y=r;z=w;A=0}}else{y=0;z=0;A=1}t=f[d>>2]|0;do if(t){B=f[t+12>>2]|0;if((B|0)==(f[t+16>>2]|0))C=Wf[f[(f[t>>2]|0)+36>>2]&255](t)|0;else C=xGa(f[B>>2]|0)|0;if(!(fHa(C,wGa()|0)|0))if(A){D=t;break}else{E=v;F=t;break a}else{f[d>>2]=0;G=22;break}}else G=22;while(0);if((G|0)==22){G=0;if(A){E=v;F=0;break}else D=0}t=b[e>>0]|0;B=t<<24>>24<0?f[s>>2]|0:t&255;if((f[m>>2]|0)==(v+B|0)){YQa(l,B<<1,0);if((b[e>>0]|0)<0)H=(f[q>>2]&2147483647)+-1|0;else H=10;YQa(l,H,0);t=(b[e>>0]|0)<0?f[l>>2]|0:l;f[m>>2]=t+B;I=t}else I=v;t=y+12|0;B=f[t>>2]|0;J=y+16|0;if((B|0)==(f[J>>2]|0))K=Wf[f[(f[y>>2]|0)+36>>2]&255](y)|0;else K=xGa(f[B>>2]|0)|0;if(sJa(K,16,I,m,p,0,k,n,o,j)|0){E=I;F=D;break}B=f[t>>2]|0;if((B|0)==(f[J>>2]|0)){Wf[f[(f[y>>2]|0)+40>>2]&255](y)|0;v=I;r=y;w=z;continue}else{f[t>>2]=B+4;xGa(f[B>>2]|0)|0;v=I;r=y;w=z;continue}}YQa(l,(f[m>>2]|0)-E|0,0);E=(b[e>>0]|0)<0?f[l>>2]|0:l;e=BIa()|0;f[i>>2]=h;if((CIa(E,e,448476,i)|0)!=1)f[g>>2]=4;if(y){i=f[y+12>>2]|0;if((i|0)==(f[y+16>>2]|0))L=Wf[f[(f[z>>2]|0)+36>>2]&255](y)|0;else L=xGa(f[i>>2]|0)|0;if(fHa(L,wGa()|0)|0){f[c>>2]=0;M=1}else M=0}else M=1;do if(F){L=f[F+12>>2]|0;if((L|0)==(f[F+16>>2]|0))N=Wf[f[(f[F>>2]|0)+36>>2]&255](F)|0;else N=xGa(f[L>>2]|0)|0;if(!(fHa(N,wGa()|0)|0))if(M)break;else{G=51;break}else{f[d>>2]=0;G=49;break}}else G=49;while(0);if((G|0)==49?M:0)G=51;if((G|0)==51)f[g>>2]=f[g>>2]|2;g=f[c>>2]|0;RQa(l);RQa(k);u=a;return g|0}function sJa(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=f[e>>2]|0;n=(m|0)==(d|0);do if(n){o=(f[l+96>>2]|0)==(a|0);if(!o?(f[l+100>>2]|0)!=(a|0):0){p=5;break}f[e>>2]=d+1;b[d>>0]=o?43:45;f[g>>2]=0;q=0}else p=5;while(0);a:do if((p|0)==5){o=b[i+11>>0]|0;if((a|0)==(h|0)?((o<<24>>24<0?f[i+4>>2]|0:o&255)|0)!=0:0){o=f[k>>2]|0;if((o-j|0)>=160){q=0;break}r=f[g>>2]|0;f[k>>2]=o+4;f[o>>2]=r;f[g>>2]=0;q=0;break}r=l+104|0;o=0;while(1){s=l+(o<<2)|0;if((o|0)==26){t=r;break}if((f[s>>2]|0)==(a|0)){t=s;break}else o=o+1|0}o=t-l|0;r=o>>2;if((o|0)>92)q=-1;else{switch(c|0){case 10:case 8:{if((r|0)>=(c|0)){q=-1;break a}break}case 16:{if((o|0)>=88){if(n){q=-1;break a}if((m-d|0)>=3){q=-1;break a}if((b[m+-1>>0]|0)!=48){q=-1;break a}f[g>>2]=0;o=b[448443+r>>0]|0;f[e>>2]=m+1;b[m>>0]=o;q=0;break a}break}default:{}}o=b[448443+r>>0]|0;f[e>>2]=m+1;b[m>>0]=o;f[g>>2]=(f[g>>2]|0)+1;q=0}}while(0);return q|0}function tJa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0,Q=0,R=0,S=0;a=u;u=u+352|0;i=a+208|0;j=a+200|0;k=a+196|0;l=a+184|0;m=a+172|0;n=a+168|0;o=a+8|0;q=a+4|0;r=a;s=a+337|0;t=a+336|0;uJa(l,e,i,j,k);f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;e=0;while(1){if((e|0)==3)break;f[m+(e<<2)>>2]=0;e=e+1|0}e=m+11|0;v=m+8|0;if((b[e>>0]|0)<0)w=(f[v>>2]&2147483647)+-1|0;else w=10;YQa(m,w,0);w=(b[e>>0]|0)<0?f[m>>2]|0:m;f[n>>2]=w;f[q>>2]=o;f[r>>2]=0;b[s>>0]=1;b[t>>0]=69;x=m+4|0;y=f[c>>2]|0;z=w;w=y;A=y;a:while(1){if(w){y=f[w+12>>2]|0;if((y|0)==(f[w+16>>2]|0))B=Wf[f[(f[w>>2]|0)+36>>2]&255](w)|0;else B=xGa(f[y>>2]|0)|0;if(fHa(B,wGa()|0)|0){f[c>>2]=0;C=0;D=0;E=1}else{C=w;D=A;E=0}}else{C=0;D=0;E=1}y=f[d>>2]|0;do if(y){F=f[y+12>>2]|0;if((F|0)==(f[y+16>>2]|0))G=Wf[f[(f[y>>2]|0)+36>>2]&255](y)|0;else G=xGa(f[F>>2]|0)|0;if(!(fHa(G,wGa()|0)|0))if(E){H=y;break}else{I=z;J=y;break a}else{f[d>>2]=0;K=19;break}}else K=19;while(0);if((K|0)==19){K=0;if(E){I=z;J=0;break}else H=0}y=b[e>>0]|0;F=y<<24>>24<0?f[x>>2]|0:y&255;if((f[n>>2]|0)==(z+F|0)){YQa(m,F<<1,0);if((b[e>>0]|0)<0)L=(f[v>>2]&2147483647)+-1|0;else L=10;YQa(m,L,0);y=(b[e>>0]|0)<0?f[m>>2]|0:m;f[n>>2]=y+F;M=y}else M=z;y=C+12|0;F=f[y>>2]|0;N=C+16|0;if((F|0)==(f[N>>2]|0))O=Wf[f[(f[C>>2]|0)+36>>2]&255](C)|0;else O=xGa(f[F>>2]|0)|0;if(vJa(O,s,t,M,n,f[j>>2]|0,f[k>>2]|0,l,o,q,r,i)|0){I=M;J=H;break}F=f[y>>2]|0;if((F|0)==(f[N>>2]|0)){Wf[f[(f[C>>2]|0)+40>>2]&255](C)|0;z=M;w=C;A=D;continue}else{f[y>>2]=F+4;xGa(f[F>>2]|0)|0;z=M;w=C;A=D;continue}}A=b[l+11>>0]|0;if(!((b[s>>0]|0)==0?1:((A<<24>>24<0?f[l+4>>2]|0:A&255)|0)==0)?(A=f[q>>2]|0,(A-o|0)<160):0){s=f[r>>2]|0;f[q>>2]=A+4;f[A>>2]=s}P=+MIa(I,f[n>>2]|0,g);p[h>>3]=P;NIa(l,o,f[q>>2]|0,g);if(C){q=f[C+12>>2]|0;if((q|0)==(f[C+16>>2]|0))Q=Wf[f[(f[D>>2]|0)+36>>2]&255](C)|0;else Q=xGa(f[q>>2]|0)|0;if(fHa(Q,wGa()|0)|0){f[c>>2]=0;R=1}else R=0}else R=1;do if(J){Q=f[J+12>>2]|0;if((Q|0)==(f[J+16>>2]|0))S=Wf[f[(f[J>>2]|0)+36>>2]&255](J)|0;else S=xGa(f[Q>>2]|0)|0;if(!(fHa(S,wGa()|0)|0))if(R)break;else{K=49;break}else{f[d>>2]=0;K=47;break}}else K=47;while(0);if((K|0)==47?R:0)K=49;if((K|0)==49)f[g>>2]=f[g>>2]|2;g=f[c>>2]|0;RQa(m);RQa(l);u=a;return g|0}function uJa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;g=u;u=u+16|0;h=g;eHa(h,b);b=yIa(h,810400)|0;dg[f[(f[b>>2]|0)+48>>2]&63](b,448443,448475,c)|0;c=yIa(h,810408)|0;b=Wf[f[(f[c>>2]|0)+12>>2]&255](c)|0;f[d>>2]=b;b=Wf[f[(f[c>>2]|0)+16>>2]&255](c)|0;f[e>>2]=b;zg[f[(f[c>>2]|0)+20>>2]&511](a,c);zIa(h);u=g;return}function vJa(a,c,d,e,g,h,i,j,k,l,m,n){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0;a:do if((a|0)==(h|0))if(b[c>>0]|0){b[c>>0]=0;o=f[g>>2]|0;f[g>>2]=o+1;b[o>>0]=46;o=b[j+11>>0]|0;if(((o<<24>>24<0?f[j+4>>2]|0:o&255)|0)!=0?(o=f[l>>2]|0,(o-k|0)<160):0){p=f[m>>2]|0;f[l>>2]=o+4;f[o>>2]=p;q=0}else q=0}else q=-1;else{if((a|0)==(i|0)?(p=b[j+11>>0]|0,(p<<24>>24<0?f[j+4>>2]|0:p&255)|0):0){if(!(b[c>>0]|0)){q=-1;break}p=f[l>>2]|0;if((p-k|0)>=160){q=0;break}o=f[m>>2]|0;f[l>>2]=p+4;f[p>>2]=o;f[m>>2]=0;q=0;break}o=n+128|0;p=0;while(1){r=n+(p<<2)|0;if((p|0)==32){s=o;break}if((f[r>>2]|0)==(a|0)){s=r;break}else p=p+1|0}p=s-n|0;o=p>>2;if((p|0)<=124){r=b[448443+o>>0]|0;switch(o|0){case 24:case 25:{o=f[g>>2]|0;if((o|0)!=(e|0)?(b[o+-1>>0]&95)!=(b[d>>0]&127):0){q=-1;break a}f[g>>2]=o+1;b[o>>0]=r;q=0;break a;break}case 23:case 22:{b[d>>0]=80;break}default:{o=r&95;if((((o|0)==(b[d>>0]|0)?(b[d>>0]=o|128,b[c>>0]|0):0)?(b[c>>0]=0,o=b[j+11>>0]|0,(o<<24>>24<0?f[j+4>>2]|0:o&255)|0):0)?(o=f[l>>2]|0,(o-k|0)<160):0){t=f[m>>2]|0;f[l>>2]=o+4;f[o>>2]=t}}}t=f[g>>2]|0;f[g>>2]=t+1;b[t>>0]=r;if((p|0)>84)q=0;else{f[m>>2]=(f[m>>2]|0)+1;q=0}}else q=-1}while(0);return q|0}function wJa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0,Q=0,R=0,S=0;a=u;u=u+352|0;i=a+208|0;j=a+200|0;k=a+196|0;l=a+184|0;m=a+172|0;n=a+168|0;o=a+8|0;q=a+4|0;r=a;s=a+337|0;t=a+336|0;uJa(l,e,i,j,k);f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;e=0;while(1){if((e|0)==3)break;f[m+(e<<2)>>2]=0;e=e+1|0}e=m+11|0;v=m+8|0;if((b[e>>0]|0)<0)w=(f[v>>2]&2147483647)+-1|0;else w=10;YQa(m,w,0);w=(b[e>>0]|0)<0?f[m>>2]|0:m;f[n>>2]=w;f[q>>2]=o;f[r>>2]=0;b[s>>0]=1;b[t>>0]=69;x=m+4|0;y=f[c>>2]|0;z=w;w=y;A=y;a:while(1){if(w){y=f[w+12>>2]|0;if((y|0)==(f[w+16>>2]|0))B=Wf[f[(f[w>>2]|0)+36>>2]&255](w)|0;else B=xGa(f[y>>2]|0)|0;if(fHa(B,wGa()|0)|0){f[c>>2]=0;C=0;D=0;E=1}else{C=w;D=A;E=0}}else{C=0;D=0;E=1}y=f[d>>2]|0;do if(y){F=f[y+12>>2]|0;if((F|0)==(f[y+16>>2]|0))G=Wf[f[(f[y>>2]|0)+36>>2]&255](y)|0;else G=xGa(f[F>>2]|0)|0;if(!(fHa(G,wGa()|0)|0))if(E){H=y;break}else{I=z;J=y;break a}else{f[d>>2]=0;K=19;break}}else K=19;while(0);if((K|0)==19){K=0;if(E){I=z;J=0;break}else H=0}y=b[e>>0]|0;F=y<<24>>24<0?f[x>>2]|0:y&255;if((f[n>>2]|0)==(z+F|0)){YQa(m,F<<1,0);if((b[e>>0]|0)<0)L=(f[v>>2]&2147483647)+-1|0;else L=10;YQa(m,L,0);y=(b[e>>0]|0)<0?f[m>>2]|0:m;f[n>>2]=y+F;M=y}else M=z;y=C+12|0;F=f[y>>2]|0;N=C+16|0;if((F|0)==(f[N>>2]|0))O=Wf[f[(f[C>>2]|0)+36>>2]&255](C)|0;else O=xGa(f[F>>2]|0)|0;if(vJa(O,s,t,M,n,f[j>>2]|0,f[k>>2]|0,l,o,q,r,i)|0){I=M;J=H;break}F=f[y>>2]|0;if((F|0)==(f[N>>2]|0)){Wf[f[(f[C>>2]|0)+40>>2]&255](C)|0;z=M;w=C;A=D;continue}else{f[y>>2]=F+4;xGa(f[F>>2]|0)|0;z=M;w=C;A=D;continue}}A=b[l+11>>0]|0;if(!((b[s>>0]|0)==0?1:((A<<24>>24<0?f[l+4>>2]|0:A&255)|0)==0)?(A=f[q>>2]|0,(A-o|0)<160):0){s=f[r>>2]|0;f[q>>2]=A+4;f[A>>2]=s}P=+PIa(I,f[n>>2]|0,g);p[h>>3]=P;NIa(l,o,f[q>>2]|0,g);if(C){q=f[C+12>>2]|0;if((q|0)==(f[C+16>>2]|0))Q=Wf[f[(f[D>>2]|0)+36>>2]&255](C)|0;else Q=xGa(f[q>>2]|0)|0;if(fHa(Q,wGa()|0)|0){f[c>>2]=0;R=1}else R=0}else R=1;do if(J){Q=f[J+12>>2]|0;if((Q|0)==(f[J+16>>2]|0))S=Wf[f[(f[J>>2]|0)+36>>2]&255](J)|0;else S=xGa(f[Q>>2]|0)|0;if(!(fHa(S,wGa()|0)|0))if(R)break;else{K=49;break}else{f[d>>2]=0;K=47;break}}else K=47;while(0);if((K|0)==47?R:0)K=49;if((K|0)==49)f[g>>2]=f[g>>2]|2;g=f[c>>2]|0;RQa(m);RQa(l);u=a;return g|0}function xJa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0,Q=0,R=0,S=0;a=u;u=u+352|0;i=a+208|0;j=a+200|0;k=a+196|0;l=a+184|0;m=a+172|0;o=a+168|0;p=a+8|0;q=a+4|0;r=a;s=a+337|0;t=a+336|0;uJa(l,e,i,j,k);f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;e=0;while(1){if((e|0)==3)break;f[m+(e<<2)>>2]=0;e=e+1|0}e=m+11|0;v=m+8|0;if((b[e>>0]|0)<0)w=(f[v>>2]&2147483647)+-1|0;else w=10;YQa(m,w,0);w=(b[e>>0]|0)<0?f[m>>2]|0:m;f[o>>2]=w;f[q>>2]=p;f[r>>2]=0;b[s>>0]=1;b[t>>0]=69;x=m+4|0;y=f[c>>2]|0;z=w;w=y;A=y;a:while(1){if(w){y=f[w+12>>2]|0;if((y|0)==(f[w+16>>2]|0))B=Wf[f[(f[w>>2]|0)+36>>2]&255](w)|0;else B=xGa(f[y>>2]|0)|0;if(fHa(B,wGa()|0)|0){f[c>>2]=0;C=0;D=0;E=1}else{C=w;D=A;E=0}}else{C=0;D=0;E=1}y=f[d>>2]|0;do if(y){F=f[y+12>>2]|0;if((F|0)==(f[y+16>>2]|0))G=Wf[f[(f[y>>2]|0)+36>>2]&255](y)|0;else G=xGa(f[F>>2]|0)|0;if(!(fHa(G,wGa()|0)|0))if(E){H=y;break}else{I=z;J=y;break a}else{f[d>>2]=0;K=19;break}}else K=19;while(0);if((K|0)==19){K=0;if(E){I=z;J=0;break}else H=0}y=b[e>>0]|0;F=y<<24>>24<0?f[x>>2]|0:y&255;if((f[o>>2]|0)==(z+F|0)){YQa(m,F<<1,0);if((b[e>>0]|0)<0)L=(f[v>>2]&2147483647)+-1|0;else L=10;YQa(m,L,0);y=(b[e>>0]|0)<0?f[m>>2]|0:m;f[o>>2]=y+F;M=y}else M=z;y=C+12|0;F=f[y>>2]|0;N=C+16|0;if((F|0)==(f[N>>2]|0))O=Wf[f[(f[C>>2]|0)+36>>2]&255](C)|0;else O=xGa(f[F>>2]|0)|0;if(vJa(O,s,t,M,o,f[j>>2]|0,f[k>>2]|0,l,p,q,r,i)|0){I=M;J=H;break}F=f[y>>2]|0;if((F|0)==(f[N>>2]|0)){Wf[f[(f[C>>2]|0)+40>>2]&255](C)|0;z=M;w=C;A=D;continue}else{f[y>>2]=F+4;xGa(f[F>>2]|0)|0;z=M;w=C;A=D;continue}}A=b[l+11>>0]|0;if(!((b[s>>0]|0)==0?1:((A<<24>>24<0?f[l+4>>2]|0:A&255)|0)==0)?(A=f[q>>2]|0,(A-p|0)<160):0){s=f[r>>2]|0;f[q>>2]=A+4;f[A>>2]=s}P=+RIa(I,f[o>>2]|0,g);n[h>>2]=P;NIa(l,p,f[q>>2]|0,g);if(C){q=f[C+12>>2]|0;if((q|0)==(f[C+16>>2]|0))Q=Wf[f[(f[D>>2]|0)+36>>2]&255](C)|0;else Q=xGa(f[q>>2]|0)|0;if(fHa(Q,wGa()|0)|0){f[c>>2]=0;R=1}else R=0}else R=1;do if(J){Q=f[J+12>>2]|0;if((Q|0)==(f[J+16>>2]|0))S=Wf[f[(f[J>>2]|0)+36>>2]&255](J)|0;else S=xGa(f[Q>>2]|0)|0;if(!(fHa(S,wGa()|0)|0))if(R)break;else{K=49;break}else{f[d>>2]=0;K=47;break}}else K=47;while(0);if((K|0)==47?R:0)K=49;if((K|0)==49)f[g>>2]=f[g>>2]|2;g=f[c>>2]|0;RQa(m);RQa(l);u=a;return g|0}function yJa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;a=u;u=u+304|0;i=a+200|0;j=a+196|0;k=a+184|0;l=a+172|0;m=a+168|0;n=a+8|0;o=a+4|0;p=a;q=TIa(e)|0;zJa(k,e,i,j);f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;e=0;while(1){if((e|0)==3)break;f[l+(e<<2)>>2]=0;e=e+1|0}e=l+11|0;r=l+8|0;if((b[e>>0]|0)<0)s=(f[r>>2]&2147483647)+-1|0;else s=10;YQa(l,s,0);s=(b[e>>0]|0)<0?f[l>>2]|0:l;f[m>>2]=s;f[o>>2]=n;f[p>>2]=0;t=l+4|0;v=f[c>>2]|0;w=s;s=v;x=v;a:while(1){if(s){v=f[s+12>>2]|0;if((v|0)==(f[s+16>>2]|0))y=Wf[f[(f[s>>2]|0)+36>>2]&255](s)|0;else y=xGa(f[v>>2]|0)|0;if(fHa(y,wGa()|0)|0){f[c>>2]=0;z=0;A=0;B=1}else{z=s;A=x;B=0}}else{z=0;A=0;B=1}v=f[d>>2]|0;do if(v){C=f[v+12>>2]|0;if((C|0)==(f[v+16>>2]|0))D=Wf[f[(f[v>>2]|0)+36>>2]&255](v)|0;else D=xGa(f[C>>2]|0)|0;if(!(fHa(D,wGa()|0)|0))if(B){E=v;break}else{F=w;G=v;break a}else{f[d>>2]=0;H=19;break}}else H=19;while(0);if((H|0)==19){H=0;if(B){F=w;G=0;break}else E=0}v=b[e>>0]|0;C=v<<24>>24<0?f[t>>2]|0:v&255;if((f[m>>2]|0)==(w+C|0)){YQa(l,C<<1,0);if((b[e>>0]|0)<0)J=(f[r>>2]&2147483647)+-1|0;else J=10;YQa(l,J,0);v=(b[e>>0]|0)<0?f[l>>2]|0:l;f[m>>2]=v+C;K=v}else K=w;v=z+12|0;C=f[v>>2]|0;L=z+16|0;if((C|0)==(f[L>>2]|0))M=Wf[f[(f[z>>2]|0)+36>>2]&255](z)|0;else M=xGa(f[C>>2]|0)|0;if(sJa(M,q,K,m,p,f[j>>2]|0,k,n,o,i)|0){F=K;G=E;break}C=f[v>>2]|0;if((C|0)==(f[L>>2]|0)){Wf[f[(f[z>>2]|0)+40>>2]&255](z)|0;w=K;s=z;x=A;continue}else{f[v>>2]=C+4;xGa(f[C>>2]|0)|0;w=K;s=z;x=A;continue}}x=b[k+11>>0]|0;if((x<<24>>24<0?f[k+4>>2]|0:x&255)|0?(x=f[o>>2]|0,(x-n|0)<160):0){s=f[p>>2]|0;f[o>>2]=x+4;f[x>>2]=s}s=VIa(F,f[m>>2]|0,g,q)|0;q=h;f[q>>2]=s;f[q+4>>2]=I;NIa(k,n,f[o>>2]|0,g);if(z){o=f[z+12>>2]|0;if((o|0)==(f[z+16>>2]|0))N=Wf[f[(f[A>>2]|0)+36>>2]&255](z)|0;else N=xGa(f[o>>2]|0)|0;if(fHa(N,wGa()|0)|0){f[c>>2]=0;O=1}else O=0}else O=1;do if(G){N=f[G+12>>2]|0;if((N|0)==(f[G+16>>2]|0))P=Wf[f[(f[G>>2]|0)+36>>2]&255](G)|0;else P=xGa(f[N>>2]|0)|0;if(!(fHa(P,wGa()|0)|0))if(O)break;else{H=49;break}else{f[d>>2]=0;H=47;break}}else H=47;while(0);if((H|0)==47?O:0)H=49;if((H|0)==49)f[g>>2]=f[g>>2]|2;g=f[c>>2]|0;RQa(l);RQa(k);u=a;return g|0}function zJa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;eHa(g,b);b=yIa(g,810400)|0;dg[f[(f[b>>2]|0)+48>>2]&63](b,448443,448469,c)|0;c=yIa(g,810408)|0;b=Wf[f[(f[c>>2]|0)+16>>2]&255](c)|0;f[d>>2]=b;zg[f[(f[c>>2]|0)+20>>2]&511](a,c);zIa(g);u=e;return}function AJa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;a=u;u=u+304|0;i=a+200|0;j=a+196|0;k=a+184|0;l=a+172|0;m=a+168|0;n=a+8|0;o=a+4|0;p=a;q=TIa(e)|0;zJa(k,e,i,j);f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;e=0;while(1){if((e|0)==3)break;f[l+(e<<2)>>2]=0;e=e+1|0}e=l+11|0;r=l+8|0;if((b[e>>0]|0)<0)s=(f[r>>2]&2147483647)+-1|0;else s=10;YQa(l,s,0);s=(b[e>>0]|0)<0?f[l>>2]|0:l;f[m>>2]=s;f[o>>2]=n;f[p>>2]=0;t=l+4|0;v=f[c>>2]|0;w=s;s=v;x=v;a:while(1){if(s){v=f[s+12>>2]|0;if((v|0)==(f[s+16>>2]|0))y=Wf[f[(f[s>>2]|0)+36>>2]&255](s)|0;else y=xGa(f[v>>2]|0)|0;if(fHa(y,wGa()|0)|0){f[c>>2]=0;z=0;A=0;B=1}else{z=s;A=x;B=0}}else{z=0;A=0;B=1}v=f[d>>2]|0;do if(v){C=f[v+12>>2]|0;if((C|0)==(f[v+16>>2]|0))D=Wf[f[(f[v>>2]|0)+36>>2]&255](v)|0;else D=xGa(f[C>>2]|0)|0;if(!(fHa(D,wGa()|0)|0))if(B){E=v;break}else{F=w;G=v;break a}else{f[d>>2]=0;H=19;break}}else H=19;while(0);if((H|0)==19){H=0;if(B){F=w;G=0;break}else E=0}v=b[e>>0]|0;C=v<<24>>24<0?f[t>>2]|0:v&255;if((f[m>>2]|0)==(w+C|0)){YQa(l,C<<1,0);if((b[e>>0]|0)<0)I=(f[r>>2]&2147483647)+-1|0;else I=10;YQa(l,I,0);v=(b[e>>0]|0)<0?f[l>>2]|0:l;f[m>>2]=v+C;J=v}else J=w;v=z+12|0;C=f[v>>2]|0;K=z+16|0;if((C|0)==(f[K>>2]|0))L=Wf[f[(f[z>>2]|0)+36>>2]&255](z)|0;else L=xGa(f[C>>2]|0)|0;if(sJa(L,q,J,m,p,f[j>>2]|0,k,n,o,i)|0){F=J;G=E;break}C=f[v>>2]|0;if((C|0)==(f[K>>2]|0)){Wf[f[(f[z>>2]|0)+40>>2]&255](z)|0;w=J;s=z;x=A;continue}else{f[v>>2]=C+4;xGa(f[C>>2]|0)|0;w=J;s=z;x=A;continue}}x=b[k+11>>0]|0;if((x<<24>>24<0?f[k+4>>2]|0:x&255)|0?(x=f[o>>2]|0,(x-n|0)<160):0){s=f[p>>2]|0;f[o>>2]=x+4;f[x>>2]=s}s=XIa(F,f[m>>2]|0,g,q)|0;f[h>>2]=s;NIa(k,n,f[o>>2]|0,g);if(z){o=f[z+12>>2]|0;if((o|0)==(f[z+16>>2]|0))M=Wf[f[(f[A>>2]|0)+36>>2]&255](z)|0;else M=xGa(f[o>>2]|0)|0;if(fHa(M,wGa()|0)|0){f[c>>2]=0;N=1}else N=0}else N=1;do if(G){M=f[G+12>>2]|0;if((M|0)==(f[G+16>>2]|0))O=Wf[f[(f[G>>2]|0)+36>>2]&255](G)|0;else O=xGa(f[M>>2]|0)|0;if(!(fHa(O,wGa()|0)|0))if(N)break;else{H=49;break}else{f[d>>2]=0;H=47;break}}else H=47;while(0);if((H|0)==47?N:0)H=49;if((H|0)==49)f[g>>2]=f[g>>2]|2;g=f[c>>2]|0;RQa(l);RQa(k);u=a;return g|0}function BJa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;a=u;u=u+304|0;i=a+200|0;j=a+196|0;k=a+184|0;l=a+172|0;m=a+168|0;n=a+8|0;o=a+4|0;p=a;q=TIa(e)|0;zJa(k,e,i,j);f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;e=0;while(1){if((e|0)==3)break;f[l+(e<<2)>>2]=0;e=e+1|0}e=l+11|0;r=l+8|0;if((b[e>>0]|0)<0)s=(f[r>>2]&2147483647)+-1|0;else s=10;YQa(l,s,0);s=(b[e>>0]|0)<0?f[l>>2]|0:l;f[m>>2]=s;f[o>>2]=n;f[p>>2]=0;t=l+4|0;v=f[c>>2]|0;w=s;s=v;x=v;a:while(1){if(s){v=f[s+12>>2]|0;if((v|0)==(f[s+16>>2]|0))y=Wf[f[(f[s>>2]|0)+36>>2]&255](s)|0;else y=xGa(f[v>>2]|0)|0;if(fHa(y,wGa()|0)|0){f[c>>2]=0;z=0;A=0;B=1}else{z=s;A=x;B=0}}else{z=0;A=0;B=1}v=f[d>>2]|0;do if(v){C=f[v+12>>2]|0;if((C|0)==(f[v+16>>2]|0))D=Wf[f[(f[v>>2]|0)+36>>2]&255](v)|0;else D=xGa(f[C>>2]|0)|0;if(!(fHa(D,wGa()|0)|0))if(B){E=v;break}else{F=w;G=v;break a}else{f[d>>2]=0;H=19;break}}else H=19;while(0);if((H|0)==19){H=0;if(B){F=w;G=0;break}else E=0}v=b[e>>0]|0;C=v<<24>>24<0?f[t>>2]|0:v&255;if((f[m>>2]|0)==(w+C|0)){YQa(l,C<<1,0);if((b[e>>0]|0)<0)I=(f[r>>2]&2147483647)+-1|0;else I=10;YQa(l,I,0);v=(b[e>>0]|0)<0?f[l>>2]|0:l;f[m>>2]=v+C;J=v}else J=w;v=z+12|0;C=f[v>>2]|0;K=z+16|0;if((C|0)==(f[K>>2]|0))L=Wf[f[(f[z>>2]|0)+36>>2]&255](z)|0;else L=xGa(f[C>>2]|0)|0;if(sJa(L,q,J,m,p,f[j>>2]|0,k,n,o,i)|0){F=J;G=E;break}C=f[v>>2]|0;if((C|0)==(f[K>>2]|0)){Wf[f[(f[z>>2]|0)+40>>2]&255](z)|0;w=J;s=z;x=A;continue}else{f[v>>2]=C+4;xGa(f[C>>2]|0)|0;w=J;s=z;x=A;continue}}x=b[k+11>>0]|0;if((x<<24>>24<0?f[k+4>>2]|0:x&255)|0?(x=f[o>>2]|0,(x-n|0)<160):0){s=f[p>>2]|0;f[o>>2]=x+4;f[x>>2]=s}s=ZIa(F,f[m>>2]|0,g,q)|0;f[h>>2]=s;NIa(k,n,f[o>>2]|0,g);if(z){o=f[z+12>>2]|0;if((o|0)==(f[z+16>>2]|0))M=Wf[f[(f[A>>2]|0)+36>>2]&255](z)|0;else M=xGa(f[o>>2]|0)|0;if(fHa(M,wGa()|0)|0){f[c>>2]=0;N=1}else N=0}else N=1;do if(G){M=f[G+12>>2]|0;if((M|0)==(f[G+16>>2]|0))O=Wf[f[(f[G>>2]|0)+36>>2]&255](G)|0;else O=xGa(f[M>>2]|0)|0;if(!(fHa(O,wGa()|0)|0))if(N)break;else{H=49;break}else{f[d>>2]=0;H=47;break}}else H=47;while(0);if((H|0)==47?N:0)H=49;if((H|0)==49)f[g>>2]=f[g>>2]|2;g=f[c>>2]|0;RQa(l);RQa(k);u=a;return g|0}function CJa(a,c,e,g,h,i){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;a=u;u=u+304|0;j=a+200|0;k=a+196|0;l=a+184|0;m=a+172|0;n=a+168|0;o=a+8|0;p=a+4|0;q=a;r=TIa(g)|0;zJa(l,g,j,k);f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;g=0;while(1){if((g|0)==3)break;f[m+(g<<2)>>2]=0;g=g+1|0}g=m+11|0;s=m+8|0;if((b[g>>0]|0)<0)t=(f[s>>2]&2147483647)+-1|0;else t=10;YQa(m,t,0);t=(b[g>>0]|0)<0?f[m>>2]|0:m;f[n>>2]=t;f[p>>2]=o;f[q>>2]=0;v=m+4|0;w=f[c>>2]|0;x=t;t=w;y=w;a:while(1){if(t){w=f[t+12>>2]|0;if((w|0)==(f[t+16>>2]|0))z=Wf[f[(f[t>>2]|0)+36>>2]&255](t)|0;else z=xGa(f[w>>2]|0)|0;if(fHa(z,wGa()|0)|0){f[c>>2]=0;A=0;B=0;C=1}else{A=t;B=y;C=0}}else{A=0;B=0;C=1}w=f[e>>2]|0;do if(w){D=f[w+12>>2]|0;if((D|0)==(f[w+16>>2]|0))E=Wf[f[(f[w>>2]|0)+36>>2]&255](w)|0;else E=xGa(f[D>>2]|0)|0;if(!(fHa(E,wGa()|0)|0))if(C){F=w;break}else{G=x;H=w;break a}else{f[e>>2]=0;I=19;break}}else I=19;while(0);if((I|0)==19){I=0;if(C){G=x;H=0;break}else F=0}w=b[g>>0]|0;D=w<<24>>24<0?f[v>>2]|0:w&255;if((f[n>>2]|0)==(x+D|0)){YQa(m,D<<1,0);if((b[g>>0]|0)<0)J=(f[s>>2]&2147483647)+-1|0;else J=10;YQa(m,J,0);w=(b[g>>0]|0)<0?f[m>>2]|0:m;f[n>>2]=w+D;K=w}else K=x;w=A+12|0;D=f[w>>2]|0;L=A+16|0;if((D|0)==(f[L>>2]|0))M=Wf[f[(f[A>>2]|0)+36>>2]&255](A)|0;else M=xGa(f[D>>2]|0)|0;if(sJa(M,r,K,n,q,f[k>>2]|0,l,o,p,j)|0){G=K;H=F;break}D=f[w>>2]|0;if((D|0)==(f[L>>2]|0)){Wf[f[(f[A>>2]|0)+40>>2]&255](A)|0;x=K;t=A;y=B;continue}else{f[w>>2]=D+4;xGa(f[D>>2]|0)|0;x=K;t=A;y=B;continue}}y=b[l+11>>0]|0;if((y<<24>>24<0?f[l+4>>2]|0:y&255)|0?(y=f[p>>2]|0,(y-o|0)<160):0){t=f[q>>2]|0;f[p>>2]=y+4;f[y>>2]=t}t=$Ia(G,f[n>>2]|0,h,r)|0;d[i>>1]=t;NIa(l,o,f[p>>2]|0,h);if(A){p=f[A+12>>2]|0;if((p|0)==(f[A+16>>2]|0))N=Wf[f[(f[B>>2]|0)+36>>2]&255](A)|0;else N=xGa(f[p>>2]|0)|0;if(fHa(N,wGa()|0)|0){f[c>>2]=0;O=1}else O=0}else O=1;do if(H){N=f[H+12>>2]|0;if((N|0)==(f[H+16>>2]|0))P=Wf[f[(f[H>>2]|0)+36>>2]&255](H)|0;else P=xGa(f[N>>2]|0)|0;if(!(fHa(P,wGa()|0)|0))if(O)break;else{I=49;break}else{f[e>>2]=0;I=47;break}}else I=47;while(0);if((I|0)==47?O:0)I=49;if((I|0)==49)f[h>>2]=f[h>>2]|2;h=f[c>>2]|0;RQa(m);RQa(l);u=a;return h|0}function DJa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;a=u;u=u+304|0;i=a+200|0;j=a+196|0;k=a+184|0;l=a+172|0;m=a+168|0;n=a+8|0;o=a+4|0;p=a;q=TIa(e)|0;zJa(k,e,i,j);f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;e=0;while(1){if((e|0)==3)break;f[l+(e<<2)>>2]=0;e=e+1|0}e=l+11|0;r=l+8|0;if((b[e>>0]|0)<0)s=(f[r>>2]&2147483647)+-1|0;else s=10;YQa(l,s,0);s=(b[e>>0]|0)<0?f[l>>2]|0:l;f[m>>2]=s;f[o>>2]=n;f[p>>2]=0;t=l+4|0;v=f[c>>2]|0;w=s;s=v;x=v;a:while(1){if(s){v=f[s+12>>2]|0;if((v|0)==(f[s+16>>2]|0))y=Wf[f[(f[s>>2]|0)+36>>2]&255](s)|0;else y=xGa(f[v>>2]|0)|0;if(fHa(y,wGa()|0)|0){f[c>>2]=0;z=0;A=0;B=1}else{z=s;A=x;B=0}}else{z=0;A=0;B=1}v=f[d>>2]|0;do if(v){C=f[v+12>>2]|0;if((C|0)==(f[v+16>>2]|0))D=Wf[f[(f[v>>2]|0)+36>>2]&255](v)|0;else D=xGa(f[C>>2]|0)|0;if(!(fHa(D,wGa()|0)|0))if(B){E=v;break}else{F=w;G=v;break a}else{f[d>>2]=0;H=19;break}}else H=19;while(0);if((H|0)==19){H=0;if(B){F=w;G=0;break}else E=0}v=b[e>>0]|0;C=v<<24>>24<0?f[t>>2]|0:v&255;if((f[m>>2]|0)==(w+C|0)){YQa(l,C<<1,0);if((b[e>>0]|0)<0)J=(f[r>>2]&2147483647)+-1|0;else J=10;YQa(l,J,0);v=(b[e>>0]|0)<0?f[l>>2]|0:l;f[m>>2]=v+C;K=v}else K=w;v=z+12|0;C=f[v>>2]|0;L=z+16|0;if((C|0)==(f[L>>2]|0))M=Wf[f[(f[z>>2]|0)+36>>2]&255](z)|0;else M=xGa(f[C>>2]|0)|0;if(sJa(M,q,K,m,p,f[j>>2]|0,k,n,o,i)|0){F=K;G=E;break}C=f[v>>2]|0;if((C|0)==(f[L>>2]|0)){Wf[f[(f[z>>2]|0)+40>>2]&255](z)|0;w=K;s=z;x=A;continue}else{f[v>>2]=C+4;xGa(f[C>>2]|0)|0;w=K;s=z;x=A;continue}}x=b[k+11>>0]|0;if((x<<24>>24<0?f[k+4>>2]|0:x&255)|0?(x=f[o>>2]|0,(x-n|0)<160):0){s=f[p>>2]|0;f[o>>2]=x+4;f[x>>2]=s}s=bJa(F,f[m>>2]|0,g,q)|0;q=h;f[q>>2]=s;f[q+4>>2]=I;NIa(k,n,f[o>>2]|0,g);if(z){o=f[z+12>>2]|0;if((o|0)==(f[z+16>>2]|0))N=Wf[f[(f[A>>2]|0)+36>>2]&255](z)|0;else N=xGa(f[o>>2]|0)|0;if(fHa(N,wGa()|0)|0){f[c>>2]=0;O=1}else O=0}else O=1;do if(G){N=f[G+12>>2]|0;if((N|0)==(f[G+16>>2]|0))P=Wf[f[(f[G>>2]|0)+36>>2]&255](G)|0;else P=xGa(f[N>>2]|0)|0;if(!(fHa(P,wGa()|0)|0))if(O)break;else{H=49;break}else{f[d>>2]=0;H=47;break}}else H=47;while(0);if((H|0)==47?O:0)H=49;if((H|0)==49)f[g>>2]=f[g>>2]|2;g=f[c>>2]|0;RQa(l);RQa(k);u=a;return g|0}function EJa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;a=u;u=u+304|0;i=a+200|0;j=a+196|0;k=a+184|0;l=a+172|0;m=a+168|0;n=a+8|0;o=a+4|0;p=a;q=TIa(e)|0;zJa(k,e,i,j);f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;e=0;while(1){if((e|0)==3)break;f[l+(e<<2)>>2]=0;e=e+1|0}e=l+11|0;r=l+8|0;if((b[e>>0]|0)<0)s=(f[r>>2]&2147483647)+-1|0;else s=10;YQa(l,s,0);s=(b[e>>0]|0)<0?f[l>>2]|0:l;f[m>>2]=s;f[o>>2]=n;f[p>>2]=0;t=l+4|0;v=f[c>>2]|0;w=s;s=v;x=v;a:while(1){if(s){v=f[s+12>>2]|0;if((v|0)==(f[s+16>>2]|0))y=Wf[f[(f[s>>2]|0)+36>>2]&255](s)|0;else y=xGa(f[v>>2]|0)|0;if(fHa(y,wGa()|0)|0){f[c>>2]=0;z=0;A=0;B=1}else{z=s;A=x;B=0}}else{z=0;A=0;B=1}v=f[d>>2]|0;do if(v){C=f[v+12>>2]|0;if((C|0)==(f[v+16>>2]|0))D=Wf[f[(f[v>>2]|0)+36>>2]&255](v)|0;else D=xGa(f[C>>2]|0)|0;if(!(fHa(D,wGa()|0)|0))if(B){E=v;break}else{F=w;G=v;break a}else{f[d>>2]=0;H=19;break}}else H=19;while(0);if((H|0)==19){H=0;if(B){F=w;G=0;break}else E=0}v=b[e>>0]|0;C=v<<24>>24<0?f[t>>2]|0:v&255;if((f[m>>2]|0)==(w+C|0)){YQa(l,C<<1,0);if((b[e>>0]|0)<0)I=(f[r>>2]&2147483647)+-1|0;else I=10;YQa(l,I,0);v=(b[e>>0]|0)<0?f[l>>2]|0:l;f[m>>2]=v+C;J=v}else J=w;v=z+12|0;C=f[v>>2]|0;K=z+16|0;if((C|0)==(f[K>>2]|0))L=Wf[f[(f[z>>2]|0)+36>>2]&255](z)|0;else L=xGa(f[C>>2]|0)|0;if(sJa(L,q,J,m,p,f[j>>2]|0,k,n,o,i)|0){F=J;G=E;break}C=f[v>>2]|0;if((C|0)==(f[K>>2]|0)){Wf[f[(f[z>>2]|0)+40>>2]&255](z)|0;w=J;s=z;x=A;continue}else{f[v>>2]=C+4;xGa(f[C>>2]|0)|0;w=J;s=z;x=A;continue}}x=b[k+11>>0]|0;if((x<<24>>24<0?f[k+4>>2]|0:x&255)|0?(x=f[o>>2]|0,(x-n|0)<160):0){s=f[p>>2]|0;f[o>>2]=x+4;f[x>>2]=s}s=dJa(F,f[m>>2]|0,g,q)|0;f[h>>2]=s;NIa(k,n,f[o>>2]|0,g);if(z){o=f[z+12>>2]|0;if((o|0)==(f[z+16>>2]|0))M=Wf[f[(f[A>>2]|0)+36>>2]&255](z)|0;else M=xGa(f[o>>2]|0)|0;if(fHa(M,wGa()|0)|0){f[c>>2]=0;N=1}else N=0}else N=1;do if(G){M=f[G+12>>2]|0;if((M|0)==(f[G+16>>2]|0))O=Wf[f[(f[G>>2]|0)+36>>2]&255](G)|0;else O=xGa(f[M>>2]|0)|0;if(!(fHa(O,wGa()|0)|0))if(N)break;else{H=49;break}else{f[d>>2]=0;H=47;break}}else H=47;while(0);if((H|0)==47?N:0)H=49;if((H|0)==49)f[g>>2]=f[g>>2]|2;g=f[c>>2]|0;RQa(l);RQa(k);u=a;return g|0}function FJa(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;j=u;u=u+112|0;k=j;l=(e-d|0)/12|0;if(l>>>0>100){m=YBa(l)|0;if(!m)IQa();else{n=m;o=m}}else{n=k;o=0}k=0;m=l;l=d;p=n;while(1){if((l|0)==(e|0))break;q=b[l+8+3>>0]|0;if(q<<24>>24<0)r=f[l+4>>2]|0;else r=q&255;if(!r){b[p>>0]=2;s=k+1|0;t=m+-1|0}else{b[p>>0]=1;s=k;t=m}k=s;m=t;l=l+12|0;p=p+1|0}p=0;l=k;k=m;a:while(1){m=f[a>>2]|0;do if(m){t=f[m+12>>2]|0;if((t|0)==(f[m+16>>2]|0))v=Wf[f[(f[m>>2]|0)+36>>2]&255](m)|0;else v=xGa(f[t>>2]|0)|0;if(fHa(v,wGa()|0)|0){f[a>>2]=0;w=1;break}else{w=(f[a>>2]|0)==0;break}}else w=1;while(0);m=f[c>>2]|0;if(m){t=f[m+12>>2]|0;if((t|0)==(f[m+16>>2]|0))x=Wf[f[(f[m>>2]|0)+36>>2]&255](m)|0;else x=xGa(f[t>>2]|0)|0;if(fHa(x,wGa()|0)|0){f[c>>2]=0;y=0;z=1}else{y=m;z=0}}else{y=0;z=1}A=f[a>>2]|0;if(!((k|0)!=0&(w^z)))break;m=f[A+12>>2]|0;if((m|0)==(f[A+16>>2]|0))B=Wf[f[(f[A>>2]|0)+36>>2]&255](A)|0;else B=xGa(f[m>>2]|0)|0;if(i)C=B;else C=Zf[f[(f[g>>2]|0)+28>>2]&127](g,B)|0;m=p+1|0;t=d;s=0;r=n;q=l;D=k;while(1){if((t|0)==(e|0))break;do if((b[r>>0]|0)==1){E=t+8+3|0;if((b[E>>0]|0)<0)F=f[t>>2]|0;else F=t;G=f[F+(p<<2)>>2]|0;if(i)H=G;else H=Zf[f[(f[g>>2]|0)+28>>2]&127](g,G)|0;if((C|0)!=(H|0)){b[r>>0]=0;I=s;J=q;K=D+-1|0;break}G=b[E>>0]|0;if(G<<24>>24<0)L=f[t+4>>2]|0;else L=G&255;if((L|0)==(m|0)){b[r>>0]=2;I=1;J=q+1|0;K=D+-1|0}else{I=1;J=q;K=D}}else{I=s;J=q;K=D}while(0);t=t+12|0;s=I;r=r+1|0;q=J;D=K}if(!s){p=m;l=q;k=D;continue}r=f[a>>2]|0;t=r+12|0;G=f[t>>2]|0;if((G|0)==(f[r+16>>2]|0))Wf[f[(f[r>>2]|0)+40>>2]&255](r)|0;else{f[t>>2]=G+4;xGa(f[G>>2]|0)|0}if((q+D|0)>>>0>1){M=d;N=n;O=q}else{p=m;l=q;k=D;continue}while(1){if((M|0)==(e|0)){p=m;l=O;k=D;continue a}if((b[N>>0]|0)==2){G=b[M+8+3>>0]|0;if(G<<24>>24<0)P=f[M+4>>2]|0;else P=G&255;if((P|0)!=(m|0)){b[N>>0]=0;Q=O+-1|0}else Q=O}else Q=O;M=M+12|0;N=N+1|0;O=Q}}do if(A){Q=f[A+12>>2]|0;if((Q|0)==(f[A+16>>2]|0))R=Wf[f[(f[A>>2]|0)+36>>2]&255](A)|0;else R=xGa(f[Q>>2]|0)|0;if(fHa(R,wGa()|0)|0){f[a>>2]=0;S=1;break}else{S=(f[a>>2]|0)==0;break}}else S=1;while(0);do if(y){a=f[y+12>>2]|0;if((a|0)==(f[y+16>>2]|0))T=Wf[f[(f[y>>2]|0)+36>>2]&255](y)|0;else T=xGa(f[a>>2]|0)|0;if(!(fHa(T,wGa()|0)|0))if(S){U=d;V=n;break}else{W=77;break}else{f[c>>2]=0;W=41;break}}else W=41;while(0);if((W|0)==41)if(S)W=77;else{U=d;V=n}if((W|0)==77){f[h>>2]=f[h>>2]|2;U=d;V=n}while(1){if((U|0)==(e|0)){W=81;break}if((b[V>>0]|0)==2){X=U;break}U=U+12|0;V=V+1|0}if((W|0)==81){f[h>>2]=f[h>>2]|4;X=e}ZBa(o);u=j;return X|0}function GJa(a){a=a|0;eIa(a);return}function HJa(a){a=a|0;eIa(a);GQa(a);return}function IJa(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=u;u=u+16|0;i=h+4|0;j=h;if(!(f[d+4>>2]&1)){k=f[(f[a>>2]|0)+24>>2]|0;f[j>>2]=f[c>>2];f[i>>2]=f[j>>2];l=fg[k&63](a,i,d,e,g&1)|0}else{eHa(i,d);d=yIa(i,810384)|0;zIa(i);e=f[d>>2]|0;if(g)zg[f[e+24>>2]&511](i,d);else zg[f[e+28>>2]&511](i,d);d=i+11|0;e=b[d>>0]|0;g=f[i>>2]|0;a=i+4|0;k=e<<24>>24<0?g:i;j=e;e=g;while(1){g=j<<24>>24<0;if((k|0)==((g?e:i)+(g?f[a>>2]|0:j&255)|0))break;g=b[k>>0]|0;m=f[c>>2]|0;if(m|0){n=m+24|0;o=f[n>>2]|0;if((o|0)==(f[m+28>>2]|0)){p=f[(f[m>>2]|0)+52>>2]|0;q=fGa(g)|0;r=Zf[p&127](m,q)|0}else{f[n>>2]=o+1;b[o>>0]=g;r=fGa(g)|0}if(dHa(r,eGa()|0)|0)f[c>>2]=0}k=k+1|0;j=b[d>>0]|0;e=f[i>>2]|0}e=f[c>>2]|0;RQa(i);l=e}u=h;return l|0}function JJa(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;a=u;u=u+64|0;h=a;i=a+52|0;j=a+39|0;k=a+16|0;l=a+12|0;m=a+4|0;n=a+8|0;b[i>>0]=b[448694]|0;b[i+1>>0]=b[448695]|0;b[i+2>>0]=b[448696]|0;b[i+3>>0]=b[448697]|0;b[i+4>>0]=b[448698]|0;b[i+5>>0]=b[448699]|0;VJa(i+1|0,452587,1,f[d+4>>2]|0);o=BIa()|0;f[h>>2]=g;g=j+(QJa(j,13,o,i,h)|0)|0;i=RJa(j,g,d)|0;eHa(h,d);WJa(j,i,g,k,l,m,h);zIa(h);f[n>>2]=f[c>>2];c=f[l>>2]|0;l=f[m>>2]|0;f[h>>2]=f[n>>2];n=qX(h,k,c,l,d,e)|0;u=a;return n|0}function KJa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a=u;u=u+96|0;h=a+8|0;i=a;j=a+71|0;k=a+28|0;l=a+24|0;m=a+16|0;n=a+20|0;o=i;f[o>>2]=37;f[o+4>>2]=0;VJa(i+1|0,452592,1,f[c+4>>2]|0);o=BIa()|0;p=h;f[p>>2]=e;f[p+4>>2]=g;g=j+(QJa(j,23,o,i,h)|0)|0;i=RJa(j,g,c)|0;eHa(h,c);WJa(j,i,g,k,l,m,h);zIa(h);f[n>>2]=f[b>>2];b=f[l>>2]|0;l=f[m>>2]|0;f[h>>2]=f[n>>2];n=qX(h,k,b,l,c,d)|0;u=a;return n|0}function LJa(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;a=u;u=u+64|0;h=a;i=a+52|0;j=a+40|0;k=a+16|0;l=a+12|0;m=a+4|0;n=a+8|0;b[i>>0]=b[448694]|0;b[i+1>>0]=b[448695]|0;b[i+2>>0]=b[448696]|0;b[i+3>>0]=b[448697]|0;b[i+4>>0]=b[448698]|0;b[i+5>>0]=b[448699]|0;VJa(i+1|0,452587,0,f[d+4>>2]|0);o=BIa()|0;f[h>>2]=g;g=j+(QJa(j,12,o,i,h)|0)|0;i=RJa(j,g,d)|0;eHa(h,d);WJa(j,i,g,k,l,m,h);zIa(h);f[n>>2]=f[c>>2];c=f[l>>2]|0;l=f[m>>2]|0;f[h>>2]=f[n>>2];n=qX(h,k,c,l,d,e)|0;u=a;return n|0}function MJa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a=u;u=u+96|0;h=a+8|0;i=a;j=a+71|0;k=a+28|0;l=a+24|0;m=a+16|0;n=a+20|0;o=i;f[o>>2]=37;f[o+4>>2]=0;VJa(i+1|0,452592,0,f[c+4>>2]|0);o=BIa()|0;p=h;f[p>>2]=e;f[p+4>>2]=g;g=j+(QJa(j,23,o,i,h)|0)|0;i=RJa(j,g,c)|0;eHa(h,c);WJa(j,i,g,k,l,m,h);zIa(h);f[n>>2]=f[b>>2];b=f[l>>2]|0;l=f[m>>2]|0;f[h>>2]=f[n>>2];n=qX(h,k,b,l,c,d)|0;u=a;return n|0}function NJa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;a=u;u=u+176|0;g=a+72|0;h=a+48|0;i=a+32|0;j=a+24|0;k=a+8|0;l=a;m=a+134|0;n=a+68|0;o=a+76|0;q=a+64|0;r=a+60|0;s=a+56|0;t=l;f[t>>2]=37;f[t+4>>2]=0;t=SJa(l+1|0,1079437,f[c+4>>2]|0)|0;f[n>>2]=m;v=BIa()|0;if(t){f[k>>2]=f[c+8>>2];p[k+8>>3]=e;w=QJa(m,30,v,l,k)|0}else{p[j>>3]=e;w=QJa(m,30,v,l,j)|0}if((w|0)>29){j=BIa()|0;if(t){f[i>>2]=f[c+8>>2];p[i+8>>3]=e;x=TJa(n,j,l,i)|0}else{p[h>>3]=e;x=TJa(n,j,l,h)|0}h=f[n>>2]|0;if(!h)IQa();else{y=x;z=h;A=h}}else{y=w;z=0;A=f[n>>2]|0}n=A+y|0;w=RJa(A,n,c)|0;if((A|0)!=(m|0)){m=YBa(y<<1)|0;if(!m)IQa();else{B=m;C=m}}else{B=o;C=0}eHa(g,c);UJa(A,w,n,B,q,r,g);zIa(g);f[s>>2]=f[b>>2];b=f[q>>2]|0;q=f[r>>2]|0;f[g>>2]=f[s>>2];s=qX(g,B,b,q,c,d)|0;ZBa(C);ZBa(z);u=a;return s|0}function OJa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;a=u;u=u+176|0;g=a+72|0;h=a+48|0;i=a+32|0;j=a+24|0;k=a+8|0;l=a;m=a+134|0;n=a+68|0;o=a+76|0;q=a+64|0;r=a+60|0;s=a+56|0;t=l;f[t>>2]=37;f[t+4>>2]=0;t=SJa(l+1|0,448692,f[c+4>>2]|0)|0;f[n>>2]=m;v=BIa()|0;if(t){f[k>>2]=f[c+8>>2];p[k+8>>3]=e;w=QJa(m,30,v,l,k)|0}else{p[j>>3]=e;w=QJa(m,30,v,l,j)|0}if((w|0)>29){j=BIa()|0;if(t){f[i>>2]=f[c+8>>2];p[i+8>>3]=e;x=TJa(n,j,l,i)|0}else{p[h>>3]=e;x=TJa(n,j,l,h)|0}h=f[n>>2]|0;if(!h)IQa();else{y=x;z=h;A=h}}else{y=w;z=0;A=f[n>>2]|0}n=A+y|0;w=RJa(A,n,c)|0;if((A|0)!=(m|0)){m=YBa(y<<1)|0;if(!m)IQa();else{B=m;C=m}}else{B=o;C=0}eHa(g,c);UJa(A,w,n,B,q,r,g);zIa(g);f[s>>2]=f[b>>2];b=f[q>>2]|0;q=f[r>>2]|0;f[g>>2]=f[s>>2];s=qX(g,B,b,q,c,d)|0;ZBa(C);ZBa(z);u=a;return s|0}function PJa(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=u;u=u+80|0;h=a;i=a+68|0;j=a+48|0;k=a+8|0;l=a+4|0;b[i>>0]=b[448686]|0;b[i+1>>0]=b[448687]|0;b[i+2>>0]=b[448688]|0;b[i+3>>0]=b[448689]|0;b[i+4>>0]=b[448690]|0;b[i+5>>0]=b[448691]|0;m=BIa()|0;f[h>>2]=g;g=QJa(j,20,m,i,h)|0;i=j+g|0;m=RJa(j,i,d)|0;eHa(h,d);n=yIa(h,810368)|0;zIa(h);dg[f[(f[n>>2]|0)+32>>2]&63](n,j,i,k)|0;n=k+g|0;f[l>>2]=f[c>>2];f[h>>2]=f[l>>2];l=qX(h,k,(m|0)==(i|0)?n:k+(m-j)|0,n,d,e)|0;u=a;return l|0}function QJa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;g=u;u=u+16|0;h=g;f[h>>2]=e;e=iEa(c)|0;c=nDa(a,b,d,h)|0;if(e|0)iEa(e)|0;u=g;return c|0}function RJa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;a:do switch((f[d+4>>2]&176)<<24>>24){case 16:{e=b[a>>0]|0;switch(e<<24>>24){case 43:case 45:{g=a+1|0;break a;break}default:{}}if((c-a|0)>1&e<<24>>24==48){switch(b[a+1>>0]|0){case 88:case 120:break;default:{h=7;break a}}g=a+2|0}else h=7;break}case 32:{g=c;break}default:h=7}while(0);if((h|0)==7)g=a;return g|0}function SJa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(!(d&2048))e=a;else{b[a>>0]=43;e=a+1|0}if(!(d&1024))f=e;else{b[e>>0]=35;f=e+1|0}e=d&260;a=(d&16384|0)!=0;d=(e|0)==260;if(d){g=0;h=f}else{b[f>>0]=46;b[f+1>>0]=42;g=1;h=f+2|0}f=c;c=h;while(1){h=b[f>>0]|0;if(!(h<<24>>24))break;b[c>>0]=h;f=f+1|0;c=c+1|0}a:do switch(e&511){case 4:{i=a?70:102;break}case 256:{i=a?69:101;break}default:if(d){i=a?65:97;break a}else{i=a?71:103;break a}}while(0);b[c>>0]=i;return g|0}function TJa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=iEa(b)|0;b=mFa(a,c,g)|0;if(d|0)iEa(d)|0;u=e;return b|0}function UJa(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;j=u;u=u+16|0;k=j;l=yIa(i,810368)|0;m=yIa(i,810384)|0;zg[f[(f[m>>2]|0)+20>>2]&511](k,m);f[h>>2]=e;i=b[a>>0]|0;switch(i<<24>>24){case 43:case 45:{n=Zf[f[(f[l>>2]|0)+28>>2]&127](l,i)|0;i=f[h>>2]|0;f[h>>2]=i+1;b[i>>0]=n;o=a+1|0;break}default:o=a}n=d;a:do if((n-o|0)>1?(b[o>>0]|0)==48:0){i=o+1|0;switch(b[i>>0]|0){case 88:case 120:break;default:{p=o;q=10;break a}}r=Zf[f[(f[l>>2]|0)+28>>2]&127](l,48)|0;s=f[h>>2]|0;f[h>>2]=s+1;b[s>>0]=r;r=o+2|0;s=Zf[f[(f[l>>2]|0)+28>>2]&127](l,b[i>>0]|0)|0;i=f[h>>2]|0;f[h>>2]=i+1;b[i>>0]=s;s=r;while(1){if(s>>>0>=d>>>0){t=r;v=s;break a}i=b[s>>0]|0;if(!(hEa(i,BIa()|0)|0)){t=r;v=s;break a}s=s+1|0}}else{p=o;q=10}while(0);b:do if((q|0)==10)while(1){q=0;if(p>>>0>=d>>>0){t=o;v=p;break b}s=b[p>>0]|0;if(!(gEa(s,BIa()|0)|0)){t=o;v=p;break b}p=p+1|0;q=10}while(0);p=k+11|0;o=b[p>>0]|0;s=k+4|0;c:do if((o<<24>>24<0?f[s>>2]|0:o&255)|0){d:do if((t|0)!=(v|0)){r=v;i=t;while(1){w=r+-1|0;if(i>>>0>=w>>>0)break d;x=b[i>>0]|0;b[i>>0]=b[w>>0]|0;b[w>>0]=x;r=w;i=i+1|0}}while(0);i=Wf[f[(f[m>>2]|0)+16>>2]&255](m)|0;r=t;w=0;x=0;while(1){if(r>>>0>=v>>>0)break;y=b[((b[p>>0]|0)<0?f[k>>2]|0:k)+x>>0]|0;if(y<<24>>24>0&(w|0)==(y<<24>>24|0)){y=f[h>>2]|0;f[h>>2]=y+1;b[y>>0]=i;y=b[p>>0]|0;z=x+(x>>>0<((y<<24>>24<0?f[s>>2]|0:y&255)+-1|0)>>>0&1)|0;A=0}else{z=x;A=w}y=Zf[f[(f[l>>2]|0)+28>>2]&127](l,b[r>>0]|0)|0;B=f[h>>2]|0;f[h>>2]=B+1;b[B>>0]=y;r=r+1|0;w=A+1|0;x=z}x=e+(t-a)|0;w=f[h>>2]|0;if((x|0)==(w|0))C=l;else{r=w;w=x;while(1){x=r+-1|0;if(w>>>0>=x>>>0){C=l;break c}i=b[w>>0]|0;b[w>>0]=b[x>>0]|0;b[x>>0]=i;r=x;w=w+1|0}}}else{dg[f[(f[l>>2]|0)+32>>2]&63](l,t,v,f[h>>2]|0)|0;f[h>>2]=(f[h>>2]|0)+(v-t);C=l}while(0);t=v;while(1){if(t>>>0>=d>>>0){D=t;break}v=b[t>>0]|0;if(v<<24>>24==46){q=29;break}z=Zf[f[(f[C>>2]|0)+28>>2]&127](l,v)|0;v=f[h>>2]|0;f[h>>2]=v+1;b[v>>0]=z;t=t+1|0}if((q|0)==29){q=Wf[f[(f[m>>2]|0)+12>>2]&255](m)|0;m=f[h>>2]|0;f[h>>2]=m+1;b[m>>0]=q;D=t+1|0}dg[f[(f[l>>2]|0)+32>>2]&63](l,D,d,f[h>>2]|0)|0;l=(f[h>>2]|0)+(n-D)|0;f[h>>2]=l;f[g>>2]=(c|0)==(d|0)?l:e+(c-a)|0;RQa(k);u=j;return}function VJa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if(!(e&2048))f=a;else{b[a>>0]=43;f=a+1|0}if(!(e&512)){g=c;h=f}else{b[f>>0]=35;g=c;h=f+1|0}while(1){f=b[g>>0]|0;if(!(f<<24>>24))break;b[h>>0]=f;g=g+1|0;h=h+1|0}switch(e&74){case 64:{i=111;break}case 8:{i=e&16384|0?88:120;break}default:i=d?100:117}b[h>>0]=i;return}function WJa(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;j=u;u=u+16|0;k=j;l=yIa(i,810368)|0;m=yIa(i,810384)|0;zg[f[(f[m>>2]|0)+20>>2]&511](k,m);i=k+11|0;n=b[i>>0]|0;o=k+4|0;if((n<<24>>24<0?f[o>>2]|0:n&255)|0){f[h>>2]=e;n=b[a>>0]|0;switch(n<<24>>24){case 43:case 45:{p=Zf[f[(f[l>>2]|0)+28>>2]&127](l,n)|0;n=f[h>>2]|0;f[h>>2]=n+1;b[n>>0]=p;q=a+1|0;break}default:q=a}a:do if((d-q|0)>1?(b[q>>0]|0)==48:0){p=q+1|0;switch(b[p>>0]|0){case 88:case 120:break;default:{r=q;break a}}n=Zf[f[(f[l>>2]|0)+28>>2]&127](l,48)|0;s=f[h>>2]|0;f[h>>2]=s+1;b[s>>0]=n;n=Zf[f[(f[l>>2]|0)+28>>2]&127](l,b[p>>0]|0)|0;p=f[h>>2]|0;f[h>>2]=p+1;b[p>>0]=n;r=q+2|0}else r=q;while(0);b:do if((r|0)!=(d|0)){q=d;n=r;while(1){p=q+-1|0;if(n>>>0>=p>>>0)break b;s=b[n>>0]|0;b[n>>0]=b[p>>0]|0;b[p>>0]=s;q=p;n=n+1|0}}while(0);n=Wf[f[(f[m>>2]|0)+16>>2]&255](m)|0;m=r;q=0;p=0;while(1){if(m>>>0>=d>>>0)break;s=b[((b[i>>0]|0)<0?f[k>>2]|0:k)+q>>0]|0;if(s<<24>>24!=0&(p|0)==(s<<24>>24|0)){s=f[h>>2]|0;f[h>>2]=s+1;b[s>>0]=n;s=b[i>>0]|0;t=q+(q>>>0<((s<<24>>24<0?f[o>>2]|0:s&255)+-1|0)>>>0&1)|0;v=0}else{t=q;v=p}s=Zf[f[(f[l>>2]|0)+28>>2]&127](l,b[m>>0]|0)|0;w=f[h>>2]|0;f[h>>2]=w+1;b[w>>0]=s;m=m+1|0;q=t;p=v+1|0}v=a;p=e+(r-v)|0;r=f[h>>2]|0;if((p|0)==(r|0)){x=v;y=p}else{t=r;r=p;while(1){p=t+-1|0;if(r>>>0>=p>>>0)break;q=b[r>>0]|0;b[r>>0]=b[p>>0]|0;b[p>>0]=q;t=p;r=r+1|0}x=v;y=f[h>>2]|0}}else{dg[f[(f[l>>2]|0)+32>>2]&63](l,a,d,e)|0;l=a;a=e+(d-l)|0;f[h>>2]=a;x=l;y=a}f[g>>2]=(c|0)==(d|0)?y:e+(c-x)|0;RQa(k);u=j;return}function XJa(a){a=a|0;eIa(a);return}function YJa(a){a=a|0;eIa(a);GQa(a);return}function ZJa(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=u;u=u+16|0;i=h+4|0;j=h;if(!(f[d+4>>2]&1)){k=f[(f[a>>2]|0)+24>>2]|0;f[j>>2]=f[c>>2];f[i>>2]=f[j>>2];l=fg[k&63](a,i,d,e,g&1)|0}else{eHa(i,d);d=yIa(i,810408)|0;zIa(i);e=f[d>>2]|0;if(g)zg[f[e+24>>2]&511](i,d);else zg[f[e+28>>2]&511](i,d);d=i+8+3|0;e=b[d>>0]|0;g=f[i>>2]|0;a=i+4|0;k=e<<24>>24<0?g:i;j=e;e=g;while(1){g=j<<24>>24<0;if((k|0)==((g?e:i)+((g?f[a>>2]|0:j&255)<<2)|0))break;g=f[k>>2]|0;m=f[c>>2]|0;if(m|0){n=m+24|0;o=f[n>>2]|0;if((o|0)==(f[m+28>>2]|0)){p=f[(f[m>>2]|0)+52>>2]|0;q=xGa(g)|0;r=Zf[p&127](m,q)|0}else{f[n>>2]=o+4;f[o>>2]=g;r=xGa(g)|0}if(fHa(r,wGa()|0)|0)f[c>>2]=0}k=k+4|0;j=b[d>>0]|0;e=f[i>>2]|0}e=f[c>>2]|0;hRa(i);l=e}u=h;return l|0}function _Ja(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;a=u;u=u+128|0;h=a;i=a+122|0;j=a+108|0;k=a+16|0;l=a+12|0;m=a+4|0;n=a+8|0;b[i>>0]=b[448694]|0;b[i+1>>0]=b[448695]|0;b[i+2>>0]=b[448696]|0;b[i+3>>0]=b[448697]|0;b[i+4>>0]=b[448698]|0;b[i+5>>0]=b[448699]|0;VJa(i+1|0,452587,1,f[d+4>>2]|0);o=BIa()|0;f[h>>2]=g;g=j+(QJa(j,13,o,i,h)|0)|0;i=RJa(j,g,d)|0;eHa(h,d);iKa(j,i,g,k,l,m,h);zIa(h);f[n>>2]=f[c>>2];c=f[l>>2]|0;l=f[m>>2]|0;f[h>>2]=f[n>>2];n=fKa(h,k,c,l,d,e)|0;u=a;return n|0}function $Ja(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a=u;u=u+224|0;h=a+8|0;i=a;j=a+200|0;k=a+28|0;l=a+24|0;m=a+16|0;n=a+20|0;o=i;f[o>>2]=37;f[o+4>>2]=0;VJa(i+1|0,452592,1,f[c+4>>2]|0);o=BIa()|0;p=h;f[p>>2]=e;f[p+4>>2]=g;g=j+(QJa(j,23,o,i,h)|0)|0;i=RJa(j,g,c)|0;eHa(h,c);iKa(j,i,g,k,l,m,h);zIa(h);f[n>>2]=f[b>>2];b=f[l>>2]|0;l=f[m>>2]|0;f[h>>2]=f[n>>2];n=fKa(h,k,b,l,c,d)|0;u=a;return n|0}function aKa(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;a=u;u=u+128|0;h=a;i=a+112|0;j=a+100|0;k=a+16|0;l=a+12|0;m=a+4|0;n=a+8|0;b[i>>0]=b[448694]|0;b[i+1>>0]=b[448695]|0;b[i+2>>0]=b[448696]|0;b[i+3>>0]=b[448697]|0;b[i+4>>0]=b[448698]|0;b[i+5>>0]=b[448699]|0;VJa(i+1|0,452587,0,f[d+4>>2]|0);o=BIa()|0;f[h>>2]=g;g=j+(QJa(j,12,o,i,h)|0)|0;i=RJa(j,g,d)|0;eHa(h,d);iKa(j,i,g,k,l,m,h);zIa(h);f[n>>2]=f[c>>2];c=f[l>>2]|0;l=f[m>>2]|0;f[h>>2]=f[n>>2];n=fKa(h,k,c,l,d,e)|0;u=a;return n|0}function bKa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a=u;u=u+224|0;h=a+8|0;i=a;j=a+200|0;k=a+28|0;l=a+24|0;m=a+16|0;n=a+20|0;o=i;f[o>>2]=37;f[o+4>>2]=0;VJa(i+1|0,452592,0,f[c+4>>2]|0);o=BIa()|0;p=h;f[p>>2]=e;f[p+4>>2]=g;g=j+(QJa(j,23,o,i,h)|0)|0;i=RJa(j,g,c)|0;eHa(h,c);iKa(j,i,g,k,l,m,h);zIa(h);f[n>>2]=f[b>>2];b=f[l>>2]|0;l=f[m>>2]|0;f[h>>2]=f[n>>2];n=fKa(h,k,b,l,c,d)|0;u=a;return n|0}function cKa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;a=u;u=u+336|0;g=a+300|0;h=a+48|0;i=a+32|0;j=a+24|0;k=a+8|0;l=a;m=a+304|0;n=a+296|0;o=a+68|0;q=a+64|0;r=a+60|0;s=a+56|0;t=l;f[t>>2]=37;f[t+4>>2]=0;t=SJa(l+1|0,1079437,f[c+4>>2]|0)|0;f[n>>2]=m;v=BIa()|0;if(t){f[k>>2]=f[c+8>>2];p[k+8>>3]=e;w=QJa(m,30,v,l,k)|0}else{p[j>>3]=e;w=QJa(m,30,v,l,j)|0}if((w|0)>29){j=BIa()|0;if(t){f[i>>2]=f[c+8>>2];p[i+8>>3]=e;x=TJa(n,j,l,i)|0}else{p[h>>3]=e;x=TJa(n,j,l,h)|0}h=f[n>>2]|0;if(!h)IQa();else{y=x;z=h;A=h}}else{y=w;z=0;A=f[n>>2]|0}n=A+y|0;w=RJa(A,n,c)|0;do if((A|0)!=(m|0)){h=YBa(y<<3)|0;if(!h)IQa();else{B=h;C=0;D=h;break}}else{B=o;C=1;D=0}while(0);eHa(g,c);hKa(A,w,n,B,q,r,g);zIa(g);f[s>>2]=f[b>>2];n=f[q>>2]|0;q=f[r>>2]|0;f[g>>2]=f[s>>2];s=fKa(g,B,n,q,c,d)|0;f[b>>2]=s;if(!C)ZBa(D);ZBa(z);u=a;return s|0}function dKa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;a=u;u=u+336|0;g=a+300|0;h=a+48|0;i=a+32|0;j=a+24|0;k=a+8|0;l=a;m=a+304|0;n=a+296|0;o=a+68|0;q=a+64|0;r=a+60|0;s=a+56|0;t=l;f[t>>2]=37;f[t+4>>2]=0;t=SJa(l+1|0,448692,f[c+4>>2]|0)|0;f[n>>2]=m;v=BIa()|0;if(t){f[k>>2]=f[c+8>>2];p[k+8>>3]=e;w=QJa(m,30,v,l,k)|0}else{p[j>>3]=e;w=QJa(m,30,v,l,j)|0}if((w|0)>29){j=BIa()|0;if(t){f[i>>2]=f[c+8>>2];p[i+8>>3]=e;x=TJa(n,j,l,i)|0}else{p[h>>3]=e;x=TJa(n,j,l,h)|0}h=f[n>>2]|0;if(!h)IQa();else{y=x;z=h;A=h}}else{y=w;z=0;A=f[n>>2]|0}n=A+y|0;w=RJa(A,n,c)|0;do if((A|0)!=(m|0)){h=YBa(y<<3)|0;if(!h)IQa();else{B=h;C=0;D=h;break}}else{B=o;C=1;D=0}while(0);eHa(g,c);hKa(A,w,n,B,q,r,g);zIa(g);f[s>>2]=f[b>>2];n=f[q>>2]|0;q=f[r>>2]|0;f[g>>2]=f[s>>2];s=fKa(g,B,n,q,c,d)|0;f[b>>2]=s;if(!C)ZBa(D);ZBa(z);u=a;return s|0}function eKa(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=u;u=u+192|0;h=a;i=a+176|0;j=a+156|0;k=a+4|0;l=a+152|0;b[i>>0]=b[448686]|0;b[i+1>>0]=b[448687]|0;b[i+2>>0]=b[448688]|0;b[i+3>>0]=b[448689]|0;b[i+4>>0]=b[448690]|0;b[i+5>>0]=b[448691]|0;m=BIa()|0;f[h>>2]=g;g=QJa(j,20,m,i,h)|0;i=j+g|0;m=RJa(j,i,d)|0;eHa(h,d);n=yIa(h,810400)|0;zIa(h);dg[f[(f[n>>2]|0)+48>>2]&63](n,j,i,k)|0;n=k+(g<<2)|0;f[l>>2]=f[c>>2];f[h>>2]=f[l>>2];l=fKa(h,k,(m|0)==(i|0)?n:k+(m-j<<2)|0,n,d,e)|0;u=a;return l|0}function fKa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;i=u;u=u+16|0;j=i+12|0;k=i;l=f[a>>2]|0;a:do if(!l)m=0;else{n=e;o=c;p=n-o>>2;q=g+12|0;r=f[q>>2]|0;s=(r|0)>(p|0)?r-p|0:0;p=d;r=p-o|0;o=r>>2;if((r|0)>0?(bg[f[(f[l>>2]|0)+48>>2]&127](l,c,o)|0)!=(o|0):0){f[a>>2]=0;m=0;break}do if((s|0)>0){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;if(s>>>0>1073741807)NQa(k);do if(s>>>0>=2){o=s+4&-4;if(o>>>0>1073741823)ne();else{r=EQa(o<<2)|0;f[k>>2]=r;t=k+8|0;f[t>>2]=o|-2147483648;f[k+4>>2]=s;v=r;w=t+3|0;x=k;break}}else{t=k+8+3|0;b[t>>0]=s;v=k;w=t;x=k}while(0);gKa(v,s,h)|0;f[j>>2]=0;kIa(v+(s<<2)|0,j);if((bg[f[(f[l>>2]|0)+48>>2]&127](l,(b[w>>0]|0)<0?f[k>>2]|0:x,s)|0)==(s|0)){hRa(k);break}else{f[a>>2]=0;hRa(k);m=0;break a}}while(0);s=n-p|0;t=s>>2;if((s|0)>0?(bg[f[(f[l>>2]|0)+48>>2]&127](l,d,t)|0)!=(t|0):0){f[a>>2]=0;m=0;break}f[q>>2]=0;m=l}while(0);u=i;return m|0}function gKa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!b)d=a;else{UDa(a,c,b)|0;d=a}return d|0}function hKa(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;j=u;u=u+16|0;k=j;l=yIa(i,810400)|0;m=yIa(i,810408)|0;zg[f[(f[m>>2]|0)+20>>2]&511](k,m);f[h>>2]=e;i=b[a>>0]|0;switch(i<<24>>24){case 43:case 45:{n=Zf[f[(f[l>>2]|0)+44>>2]&127](l,i)|0;i=f[h>>2]|0;f[h>>2]=i+4;f[i>>2]=n;o=a+1|0;break}default:o=a}n=d;a:do if((n-o|0)>1?(b[o>>0]|0)==48:0){i=o+1|0;switch(b[i>>0]|0){case 88:case 120:break;default:{p=o;q=10;break a}}r=Zf[f[(f[l>>2]|0)+44>>2]&127](l,48)|0;s=f[h>>2]|0;f[h>>2]=s+4;f[s>>2]=r;r=o+2|0;s=Zf[f[(f[l>>2]|0)+44>>2]&127](l,b[i>>0]|0)|0;i=f[h>>2]|0;f[h>>2]=i+4;f[i>>2]=s;s=r;while(1){if(s>>>0>=d>>>0){t=r;v=s;break a}i=b[s>>0]|0;if(!(hEa(i,BIa()|0)|0)){t=r;v=s;break a}s=s+1|0}}else{p=o;q=10}while(0);b:do if((q|0)==10)while(1){q=0;if(p>>>0>=d>>>0){t=o;v=p;break b}s=b[p>>0]|0;if(!(gEa(s,BIa()|0)|0)){t=o;v=p;break b}p=p+1|0;q=10}while(0);p=k+11|0;o=b[p>>0]|0;s=k+4|0;c:do if((o<<24>>24<0?f[s>>2]|0:o&255)|0){d:do if((t|0)!=(v|0)){r=v;i=t;while(1){w=r+-1|0;if(i>>>0>=w>>>0)break d;x=b[i>>0]|0;b[i>>0]=b[w>>0]|0;b[w>>0]=x;r=w;i=i+1|0}}while(0);i=Wf[f[(f[m>>2]|0)+16>>2]&255](m)|0;r=t;w=0;x=0;while(1){if(r>>>0>=v>>>0)break;y=b[((b[p>>0]|0)<0?f[k>>2]|0:k)+w>>0]|0;if(y<<24>>24>0&(x|0)==(y<<24>>24|0)){y=f[h>>2]|0;f[h>>2]=y+4;f[y>>2]=i;y=b[p>>0]|0;z=w+(w>>>0<((y<<24>>24<0?f[s>>2]|0:y&255)+-1|0)>>>0&1)|0;A=0}else{z=w;A=x}y=Zf[f[(f[l>>2]|0)+44>>2]&127](l,b[r>>0]|0)|0;B=f[h>>2]|0;f[h>>2]=B+4;f[B>>2]=y;r=r+1|0;w=z;x=A+1|0}x=e+(t-a<<2)|0;w=f[h>>2]|0;if((x|0)==(w|0)){C=l;D=x}else{r=w;i=x;while(1){x=r+-4|0;if(i>>>0>=x>>>0){C=l;D=w;break c}y=f[i>>2]|0;f[i>>2]=f[x>>2];f[x>>2]=y;r=x;i=i+4|0}}}else{dg[f[(f[l>>2]|0)+48>>2]&63](l,t,v,f[h>>2]|0)|0;i=(f[h>>2]|0)+(v-t<<2)|0;f[h>>2]=i;C=l;D=i}while(0);t=v;v=D;while(1){if(t>>>0>=d>>>0){E=t;F=v;break}D=b[t>>0]|0;if(D<<24>>24==46){q=29;break}A=Zf[f[(f[C>>2]|0)+44>>2]&127](l,D)|0;D=f[h>>2]|0;z=D+4|0;f[h>>2]=z;f[D>>2]=A;t=t+1|0;v=z}if((q|0)==29){q=Wf[f[(f[m>>2]|0)+12>>2]&255](m)|0;m=f[h>>2]|0;v=m+4|0;f[h>>2]=v;f[m>>2]=q;E=t+1|0;F=v}dg[f[(f[l>>2]|0)+48>>2]&63](l,E,d,F)|0;F=(f[h>>2]|0)+(n-E<<2)|0;f[h>>2]=F;f[g>>2]=(c|0)==(d|0)?F:e+(c-a<<2)|0;RQa(k);u=j;return}function iKa(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;j=u;u=u+16|0;k=j;l=yIa(i,810400)|0;m=yIa(i,810408)|0;zg[f[(f[m>>2]|0)+20>>2]&511](k,m);i=k+11|0;n=b[i>>0]|0;o=k+4|0;if((n<<24>>24<0?f[o>>2]|0:n&255)|0){f[h>>2]=e;n=b[a>>0]|0;switch(n<<24>>24){case 43:case 45:{p=Zf[f[(f[l>>2]|0)+44>>2]&127](l,n)|0;n=f[h>>2]|0;f[h>>2]=n+4;f[n>>2]=p;q=a+1|0;break}default:q=a}a:do if((d-q|0)>1?(b[q>>0]|0)==48:0){p=q+1|0;switch(b[p>>0]|0){case 88:case 120:break;default:{r=q;break a}}n=Zf[f[(f[l>>2]|0)+44>>2]&127](l,48)|0;s=f[h>>2]|0;f[h>>2]=s+4;f[s>>2]=n;n=Zf[f[(f[l>>2]|0)+44>>2]&127](l,b[p>>0]|0)|0;p=f[h>>2]|0;f[h>>2]=p+4;f[p>>2]=n;r=q+2|0}else r=q;while(0);b:do if((r|0)!=(d|0)){q=d;n=r;while(1){p=q+-1|0;if(n>>>0>=p>>>0)break b;s=b[n>>0]|0;b[n>>0]=b[p>>0]|0;b[p>>0]=s;q=p;n=n+1|0}}while(0);n=Wf[f[(f[m>>2]|0)+16>>2]&255](m)|0;m=r;q=0;p=0;while(1){if(m>>>0>=d>>>0)break;s=b[((b[i>>0]|0)<0?f[k>>2]|0:k)+q>>0]|0;if(s<<24>>24!=0&(p|0)==(s<<24>>24|0)){s=f[h>>2]|0;f[h>>2]=s+4;f[s>>2]=n;s=b[i>>0]|0;t=q+(q>>>0<((s<<24>>24<0?f[o>>2]|0:s&255)+-1|0)>>>0&1)|0;v=0}else{t=q;v=p}s=Zf[f[(f[l>>2]|0)+44>>2]&127](l,b[m>>0]|0)|0;w=f[h>>2]|0;f[h>>2]=w+4;f[w>>2]=s;m=m+1|0;q=t;p=v+1|0}v=a;p=e+(r-v<<2)|0;r=f[h>>2]|0;if((p|0)==(r|0)){x=v;y=p}else{t=r;r=p;while(1){p=t+-4|0;if(r>>>0>=p>>>0)break;q=f[r>>2]|0;f[r>>2]=f[p>>2];f[p>>2]=q;t=p;r=r+4|0}x=v;y=f[h>>2]|0}}else{dg[f[(f[l>>2]|0)+48>>2]&63](l,a,d,e)|0;l=a;a=e+(d-l<<2)|0;f[h>>2]=a;x=l;y=a}f[g>>2]=(c|0)==(d|0)?y:e+(c-x<<2)|0;RQa(k);u=j;return}function jKa(a){a=a|0;eIa(a);return}function kKa(a){a=a|0;eIa(a);GQa(a);return}function lKa(a){a=a|0;return 2}function mKa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=u;u=u+16|0;i=h+12|0;j=h+8|0;k=h+4|0;l=h;f[k>>2]=f[b>>2];f[l>>2]=f[c>>2];f[j>>2]=f[k>>2];f[i>>2]=f[l>>2];l=EKa(a,j,i,d,e,g,449217,449225)|0;u=h;return l|0}function nKa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;i=u;u=u+16|0;j=i+12|0;k=i+8|0;l=i+4|0;m=i;n=a+8|0;o=Wf[f[(f[n>>2]|0)+20>>2]&255](n)|0;f[l>>2]=f[c>>2];f[m>>2]=f[d>>2];d=b[o+11>>0]|0;c=d<<24>>24<0;n=c?f[o>>2]|0:o;p=n+(c?f[o+4>>2]|0:d&255)|0;f[k>>2]=f[l>>2];f[j>>2]=f[m>>2];m=EKa(a,k,j,e,g,h,n,p)|0;u=i;return m|0}function oKa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;h=u;u=u+16|0;i=h+4|0;j=h;eHa(i,d);d=yIa(i,810368)|0;zIa(i);f[j>>2]=f[c>>2];f[i>>2]=f[j>>2];CKa(a,g+24|0,b,i,e,d);u=h;return f[b>>2]|0}function pKa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;h=u;u=u+16|0;i=h+4|0;j=h;eHa(i,d);d=yIa(i,810368)|0;zIa(i);f[j>>2]=f[c>>2];f[i>>2]=f[j>>2];DKa(a,g+16|0,b,i,e,d);u=h;return f[b>>2]|0}function qKa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;h=u;u=u+16|0;i=h+4|0;j=h;eHa(i,d);d=yIa(i,810368)|0;zIa(i);f[j>>2]=f[c>>2];f[i>>2]=f[j>>2];PKa(a,g+20|0,b,i,e,d);u=h;return f[b>>2]|0}function rKa(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;j=u;u=u+144|0;k=j+128|0;l=j+112|0;m=j+124|0;n=j+120|0;o=j+116|0;p=j+108|0;q=j+104|0;r=j+100|0;s=j+96|0;t=j+92|0;v=j+88|0;w=j+84|0;x=j+80|0;y=j+76|0;z=j+72|0;A=j+68|0;B=j+64|0;C=j+60|0;D=j+56|0;E=j+52|0;F=j+48|0;G=j+44|0;H=j+40|0;I=j+36|0;J=j+32|0;K=j+28|0;L=j+24|0;M=j+20|0;N=j+16|0;O=j+12|0;P=j+8|0;Q=j+4|0;R=j;f[g>>2]=0;eHa(k,e);S=yIa(k,810368)|0;zIa(k);do switch(i<<24>>24|0){case 65:case 97:{f[m>>2]=f[d>>2];f[k>>2]=f[m>>2];CKa(a,h+24|0,c,k,g,S);T=26;break}case 104:case 66:case 98:{f[n>>2]=f[d>>2];f[k>>2]=f[n>>2];DKa(a,h+16|0,c,k,g,S);T=26;break}case 99:{U=a+8|0;V=Wf[f[(f[U>>2]|0)+12>>2]&255](U)|0;f[o>>2]=f[c>>2];f[p>>2]=f[d>>2];U=b[V+11>>0]|0;W=U<<24>>24<0;X=W?f[V>>2]|0:V;Y=X+(W?f[V+4>>2]|0:U&255)|0;f[l>>2]=f[o>>2];f[k>>2]=f[p>>2];U=EKa(a,l,k,e,g,h,X,Y)|0;f[c>>2]=U;T=26;break}case 101:case 100:{f[q>>2]=f[d>>2];f[k>>2]=f[q>>2];FKa(a,h+12|0,c,k,g,S);T=26;break}case 68:{f[r>>2]=f[c>>2];f[s>>2]=f[d>>2];f[l>>2]=f[r>>2];f[k>>2]=f[s>>2];U=EKa(a,l,k,e,g,h,449177,449185)|0;f[c>>2]=U;T=26;break}case 70:{f[t>>2]=f[c>>2];f[v>>2]=f[d>>2];f[l>>2]=f[t>>2];f[k>>2]=f[v>>2];U=EKa(a,l,k,e,g,h,449185,449193)|0;f[c>>2]=U;T=26;break}case 72:{f[w>>2]=f[d>>2];f[k>>2]=f[w>>2];GKa(a,h+8|0,c,k,g,S);T=26;break}case 73:{f[x>>2]=f[d>>2];f[k>>2]=f[x>>2];HKa(a,h+8|0,c,k,g,S);T=26;break}case 106:{f[y>>2]=f[d>>2];f[k>>2]=f[y>>2];IKa(a,h+28|0,c,k,g,S);T=26;break}case 109:{f[z>>2]=f[d>>2];f[k>>2]=f[z>>2];JKa(a,h+16|0,c,k,g,S);T=26;break}case 77:{f[A>>2]=f[d>>2];f[k>>2]=f[A>>2];KKa(a,h+4|0,c,k,g,S);T=26;break}case 116:case 110:{f[B>>2]=f[d>>2];f[k>>2]=f[B>>2];LKa(a,c,k,g,S);T=26;break}case 112:{f[C>>2]=f[d>>2];f[k>>2]=f[C>>2];MKa(a,h+8|0,c,k,g,S);T=26;break}case 114:{f[D>>2]=f[c>>2];f[E>>2]=f[d>>2];f[l>>2]=f[D>>2];f[k>>2]=f[E>>2];U=EKa(a,l,k,e,g,h,449193,449204)|0;f[c>>2]=U;T=26;break}case 82:{f[F>>2]=f[c>>2];f[G>>2]=f[d>>2];f[l>>2]=f[F>>2];f[k>>2]=f[G>>2];U=EKa(a,l,k,e,g,h,449204,449209)|0;f[c>>2]=U;T=26;break}case 83:{f[H>>2]=f[d>>2];f[k>>2]=f[H>>2];NKa(a,h,c,k,g,S);T=26;break}case 84:{f[I>>2]=f[c>>2];f[J>>2]=f[d>>2];f[l>>2]=f[I>>2];f[k>>2]=f[J>>2];U=EKa(a,l,k,e,g,h,449209,449217)|0;f[c>>2]=U;T=26;break}case 119:{f[K>>2]=f[d>>2];f[k>>2]=f[K>>2];OKa(a,h+24|0,c,k,g,S);T=26;break}case 120:{U=f[(f[a>>2]|0)+20>>2]|0;f[L>>2]=f[c>>2];f[M>>2]=f[d>>2];f[l>>2]=f[L>>2];f[k>>2]=f[M>>2];Z=ig[U&127](a,l,k,e,g,h)|0;break}case 88:{U=a+8|0;Y=Wf[f[(f[U>>2]|0)+24>>2]&255](U)|0;f[N>>2]=f[c>>2];f[O>>2]=f[d>>2];U=b[Y+11>>0]|0;X=U<<24>>24<0;V=X?f[Y>>2]|0:Y;W=V+(X?f[Y+4>>2]|0:U&255)|0;f[l>>2]=f[N>>2];f[k>>2]=f[O>>2];U=EKa(a,l,k,e,g,h,V,W)|0;f[c>>2]=U;T=26;break}case 121:{f[P>>2]=f[d>>2];f[k>>2]=f[P>>2];PKa(a,h+20|0,c,k,g,S);T=26;break}case 89:{f[Q>>2]=f[d>>2];f[k>>2]=f[Q>>2];QKa(a,h+20|0,c,k,g,S);T=26;break}case 37:{f[R>>2]=f[d>>2];f[k>>2]=f[R>>2];RKa(a,c,k,g,S);T=26;break}default:{f[g>>2]=f[g>>2]|4;T=26}}while(0);if((T|0)==26)Z=f[c>>2]|0;u=j;return Z|0}function sKa(a){a=a|0;if((b[454360]|0)==0?jVa(454360)|0:0){BKa();f[202810]=811072}return f[202810]|0}function tKa(a){a=a|0;if((b[454344]|0)==0?jVa(454344)|0:0){AKa();f[202767]=810780}return f[202767]|0}function uKa(a){a=a|0;if((b[454328]|0)==0?jVa(454328)|0:0){zKa();f[202694]=810488}return f[202694]|0}function vKa(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;a=u;u=u+16|0;c=a;if((b[454320]|0)==0?jVa(454320)|0:0){f[202619]=0;f[202620]=0;f[202621]=0;d=$Ga(448935)|0;if(d>>>0>4294967279)NQa(810476);if(d>>>0<11){b[810487]=d;e=810476}else{g=d+16&-16;h=EQa(g)|0;f[202619]=h;f[202621]=g|-2147483648;f[202620]=d;e=h}gGa(e,448935,d)|0;b[c>>0]=0;aHa(e+d|0,c)}u=a;return 810476}function wKa(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;a=u;u=u+16|0;c=a;if((b[454312]|0)==0?jVa(454312)|0:0){f[202616]=0;f[202617]=0;f[202618]=0;d=$Ga(448923)|0;if(d>>>0>4294967279)NQa(810464);if(d>>>0<11){b[810475]=d;e=810464}else{g=d+16&-16;h=EQa(g)|0;f[202616]=h;f[202618]=g|-2147483648;f[202617]=d;e=h}gGa(e,448923,d)|0;b[c>>0]=0;aHa(e+d|0,c)}u=a;return 810464}function xKa(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;a=u;u=u+16|0;c=a;if((b[454304]|0)==0?jVa(454304)|0:0){f[202613]=0;f[202614]=0;f[202615]=0;d=$Ga(448914)|0;if(d>>>0>4294967279)NQa(810452);if(d>>>0<11){b[810463]=d;e=810452}else{g=d+16&-16;h=EQa(g)|0;f[202613]=h;f[202615]=g|-2147483648;f[202614]=d;e=h}gGa(e,448914,d)|0;b[c>>0]=0;aHa(e+d|0,c)}u=a;return 810452}function yKa(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;a=u;u=u+16|0;c=a;if((b[454296]|0)==0?jVa(454296)|0:0){f[202610]=0;f[202611]=0;f[202612]=0;d=$Ga(448905)|0;if(d>>>0>4294967279)NQa(810440);if(d>>>0<11){b[810451]=d;e=810440}else{g=d+16&-16;h=EQa(g)|0;f[202610]=h;f[202612]=g|-2147483648;f[202611]=d;e=h}gGa(e,448905,d)|0;b[c>>0]=0;aHa(e+d|0,c)}u=a;return 810440}function zKa(){var a=0,c=0;if((b[454336]|0)==0?jVa(454336)|0:0){a=810488;do{f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}a=a+12|0}while((a|0)!=810776)}XQa(810488,448956)|0;XQa(810500,448959)|0;return}function AKa(){var a=0,c=0;if((b[454352]|0)==0?jVa(454352)|0:0){a=810780;do{f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}a=a+12|0}while((a|0)!=811068)}XQa(810780,448962)|0;XQa(810792,448970)|0;XQa(810804,448979)|0;XQa(810816,448985)|0;XQa(810828,448991)|0;XQa(810840,448995)|0;XQa(810852,449e3)|0;XQa(810864,449005)|0;XQa(810876,449012)|0;XQa(810888,449022)|0;XQa(810900,449030)|0;XQa(810912,449039)|0;XQa(810924,449048)|0;XQa(810936,449052)|0;XQa(810948,449056)|0;XQa(810960,449060)|0;XQa(810972,448991)|0;XQa(810984,449064)|0;XQa(810996,449068)|0;XQa(811008,449072)|0;XQa(811020,449076)|0;XQa(811032,449080)|0;XQa(811044,449084)|0;XQa(811056,449088)|0;return}function BKa(){var a=0,c=0;if((b[454368]|0)==0?jVa(454368)|0:0){a=811072;do{f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}a=a+12|0}while((a|0)!=811240)}XQa(811072,449092)|0;XQa(811084,449099)|0;XQa(811096,449106)|0;XQa(811108,449114)|0;XQa(811120,449124)|0;XQa(811132,449133)|0;XQa(811144,449140)|0;XQa(811156,449149)|0;XQa(811168,449153)|0;XQa(811180,449157)|0;XQa(811192,449161)|0;XQa(811204,449165)|0;XQa(811216,449169)|0;XQa(811228,449173)|0;return}function CKa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;h=u;u=u+16|0;i=h+4|0;j=h;k=a+8|0;a=Wf[f[f[k>>2]>>2]&255](k)|0;f[j>>2]=f[d>>2];f[i>>2]=f[j>>2];j=(eJa(c,i,a,a+168|0,g,e,0)|0)-a|0;if((j|0)<168)f[b>>2]=((j|0)/12|0|0)%7|0;u=h;return}function DKa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;h=u;u=u+16|0;i=h+4|0;j=h;k=a+8|0;a=Wf[f[(f[k>>2]|0)+4>>2]&255](k)|0;f[j>>2]=f[d>>2];f[i>>2]=f[j>>2];j=(eJa(c,i,a,a+288|0,g,e,0)|0)-a|0;if((j|0)<288)f[b>>2]=((j|0)/12|0|0)%12|0;u=h;return}function EKa(a,c,e,g,h,i,j,k){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;l=u;u=u+16|0;m=l+12|0;n=l+8|0;o=l+4|0;p=l;eHa(m,g);q=yIa(m,810368)|0;zIa(m);f[h>>2]=0;r=q+8|0;s=j;j=0;a:while(1){t=(s|0)!=(k|0);v=j;while(1){w=f[c>>2]|0;if(!(t&(v|0)==0)){x=w;break a}y=w;if(w){z=f[w+12>>2]|0;if((z|0)==(f[w+16>>2]|0))A=Wf[f[(f[w>>2]|0)+36>>2]&255](w)|0;else A=fGa(b[z>>0]|0)|0;if(dHa(A,eGa()|0)|0){f[c>>2]=0;B=0;C=1;D=0}else{B=w;C=0;D=y}}else{B=0;C=1;D=y}y=f[e>>2]|0;w=y;do if(y){z=f[y+12>>2]|0;if((z|0)==(f[y+16>>2]|0))E=Wf[f[(f[y>>2]|0)+36>>2]&255](y)|0;else E=fGa(b[z>>0]|0)|0;if(!(dHa(E,eGa()|0)|0))if(C){F=y;G=w;break}else{H=62;break a}else{f[e>>2]=0;I=0;H=16;break}}else{I=w;H=16}while(0);if((H|0)==16){H=0;if(C){H=62;break a}else{F=0;G=I}}if((bg[f[(f[q>>2]|0)+36>>2]&127](q,b[s>>0]|0,0)|0)<<24>>24==37){H=19;break}w=b[s>>0]|0;if(w<<24>>24>-1?(J=f[r>>2]|0,d[J+(w<<24>>24<<1)>>1]&8192):0){K=s;H=26;break}L=B+12|0;w=f[L>>2]|0;M=B+16|0;if((w|0)==(f[M>>2]|0))N=Wf[f[(f[B>>2]|0)+36>>2]&255](B)|0;else N=fGa(b[w>>0]|0)|0;w=Zf[f[(f[q>>2]|0)+12>>2]&127](q,N&255)|0;if(w<<24>>24==(Zf[f[(f[q>>2]|0)+12>>2]&127](q,b[s>>0]|0)|0)<<24>>24){H=56;break}f[h>>2]=4;v=4}b:do if((H|0)==19){H=0;v=s+1|0;if((v|0)==(k|0)){H=62;break a}t=bg[f[(f[q>>2]|0)+36>>2]&127](q,b[v>>0]|0,0)|0;switch(t<<24>>24){case 48:case 69:{w=s+2|0;if((w|0)==(k|0)){H=62;break a}O=t;P=bg[f[(f[q>>2]|0)+36>>2]&127](q,b[w>>0]|0,0)|0;Q=v;break}default:{O=0;P=t;Q=s}}t=f[(f[a>>2]|0)+36>>2]|0;f[o>>2]=D;f[p>>2]=G;f[n>>2]=f[o>>2];f[m>>2]=f[p>>2];v=lg[t&15](a,n,m,g,h,i,P,O)|0;f[c>>2]=v;R=Q+2|0}else if((H|0)==26){while(1){H=0;v=K+1|0;if((v|0)==(k|0)){S=k;break}t=b[v>>0]|0;if(t<<24>>24<=-1){S=v;break}if(!(d[J+(t<<24>>24<<1)>>1]&8192)){S=v;break}else{K=v;H=26}}v=B;t=F;w=F;while(1){if(v){y=f[v+12>>2]|0;if((y|0)==(f[v+16>>2]|0))T=Wf[f[(f[v>>2]|0)+36>>2]&255](v)|0;else T=fGa(b[y>>0]|0)|0;if(dHa(T,eGa()|0)|0){f[c>>2]=0;U=1;V=0}else{U=0;V=v}}else{U=1;V=0}do if(w){y=f[w+12>>2]|0;if((y|0)==(f[w+16>>2]|0))W=Wf[f[(f[w>>2]|0)+36>>2]&255](w)|0;else W=fGa(b[y>>0]|0)|0;if(!(dHa(W,eGa()|0)|0))if(U^(t|0)==0){X=t;Y=t;break}else{R=S;break b}else{f[e>>2]=0;Z=0;H=42;break}}else{Z=t;H=42}while(0);if((H|0)==42){H=0;if(U){R=S;break b}else{X=Z;Y=0}}y=V+12|0;z=f[y>>2]|0;_=V+16|0;if((z|0)==(f[_>>2]|0))$=Wf[f[(f[V>>2]|0)+36>>2]&255](V)|0;else $=fGa(b[z>>0]|0)|0;if(($&255)<<24>>24<=-1){R=S;break b}if(!(d[(f[r>>2]|0)+($<<24>>24<<1)>>1]&8192)){R=S;break b}z=f[y>>2]|0;if((z|0)==(f[_>>2]|0)){Wf[f[(f[V>>2]|0)+40>>2]&255](V)|0;v=V;t=X;w=Y;continue}else{f[y>>2]=z+1;fGa(b[z>>0]|0)|0;v=V;t=X;w=Y;continue}}}else if((H|0)==56){H=0;w=f[L>>2]|0;if((w|0)==(f[M>>2]|0))Wf[f[(f[B>>2]|0)+40>>2]&255](B)|0;else{f[L>>2]=w+1;fGa(b[w>>0]|0)|0}R=s+1|0}while(0);s=R;j=f[h>>2]|0}if((H|0)==62){f[h>>2]=4;x=B}if(x){B=f[x+12>>2]|0;if((B|0)==(f[x+16>>2]|0))aa=Wf[f[(f[x>>2]|0)+36>>2]&255](x)|0;else aa=fGa(b[B>>0]|0)|0;if(dHa(aa,eGa()|0)|0){f[c>>2]=0;ba=0;ca=1}else{ba=x;ca=0}}else{ba=0;ca=1}x=f[e>>2]|0;do if(x){c=f[x+12>>2]|0;if((c|0)==(f[x+16>>2]|0))da=Wf[f[(f[x>>2]|0)+36>>2]&255](x)|0;else da=fGa(b[c>>0]|0)|0;if(!(dHa(da,eGa()|0)|0))if(ca)break;else{H=77;break}else{f[e>>2]=0;H=75;break}}else H=75;while(0);if((H|0)==75?ca:0)H=77;if((H|0)==77)f[h>>2]=f[h>>2]|2;u=l;return ba|0}function FKa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;a=u;u=u+16|0;h=a+4|0;i=a;f[i>>2]=f[d>>2];f[h>>2]=f[i>>2];i=SKa(c,h,e,g,2)|0;g=f[e>>2]|0;if((i+-1|0)>>>0<31&(g&4|0)==0)f[b>>2]=i;else f[e>>2]=g|4;u=a;return}function GKa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;a=u;u=u+16|0;h=a+4|0;i=a;f[i>>2]=f[d>>2];f[h>>2]=f[i>>2];i=SKa(c,h,e,g,2)|0;g=f[e>>2]|0;if((i|0)<24&(g&4|0)==0)f[b>>2]=i;else f[e>>2]=g|4;u=a;return}function HKa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;a=u;u=u+16|0;h=a+4|0;i=a;f[i>>2]=f[d>>2];f[h>>2]=f[i>>2];i=SKa(c,h,e,g,2)|0;g=f[e>>2]|0;if((i+-1|0)>>>0<12&(g&4|0)==0)f[b>>2]=i;else f[e>>2]=g|4;u=a;return}function IKa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;a=u;u=u+16|0;h=a+4|0;i=a;f[i>>2]=f[d>>2];f[h>>2]=f[i>>2];i=SKa(c,h,e,g,3)|0;g=f[e>>2]|0;if((i|0)<366&(g&4|0)==0)f[b>>2]=i;else f[e>>2]=g|4;u=a;return}function JKa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;a=u;u=u+16|0;h=a+4|0;i=a;f[i>>2]=f[d>>2];f[h>>2]=f[i>>2];i=SKa(c,h,e,g,2)|0;g=f[e>>2]|0;if((i|0)<13&(g&4|0)==0)f[b>>2]=i+-1;else f[e>>2]=g|4;u=a;return}function KKa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;a=u;u=u+16|0;h=a+4|0;i=a;f[i>>2]=f[d>>2];f[h>>2]=f[i>>2];i=SKa(c,h,e,g,2)|0;g=f[e>>2]|0;if((i|0)<60&(g&4|0)==0)f[b>>2]=i;else f[e>>2]=g|4;u=a;return}function LKa(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a=h+8|0;a:while(1){h=f[c>>2]|0;do if(h){i=f[h+12>>2]|0;if((i|0)==(f[h+16>>2]|0))j=Wf[f[(f[h>>2]|0)+36>>2]&255](h)|0;else j=fGa(b[i>>0]|0)|0;if(dHa(j,eGa()|0)|0){f[c>>2]=0;k=1;break}else{k=(f[c>>2]|0)==0;break}}else k=1;while(0);h=f[e>>2]|0;do if(h){i=f[h+12>>2]|0;if((i|0)==(f[h+16>>2]|0))l=Wf[f[(f[h>>2]|0)+36>>2]&255](h)|0;else l=fGa(b[i>>0]|0)|0;if(!(dHa(l,eGa()|0)|0))if(k){m=h;break}else{n=h;break a}else{f[e>>2]=0;o=15;break}}else o=15;while(0);if((o|0)==15){o=0;if(k){n=0;break}else m=0}h=f[c>>2]|0;i=f[h+12>>2]|0;if((i|0)==(f[h+16>>2]|0))p=Wf[f[(f[h>>2]|0)+36>>2]&255](h)|0;else p=fGa(b[i>>0]|0)|0;if((p&255)<<24>>24<=-1){n=m;break}if(!(d[(f[a>>2]|0)+(p<<24>>24<<1)>>1]&8192)){n=m;break}i=f[c>>2]|0;h=i+12|0;q=f[h>>2]|0;if((q|0)==(f[i+16>>2]|0)){Wf[f[(f[i>>2]|0)+40>>2]&255](i)|0;continue}else{f[h>>2]=q+1;fGa(b[q>>0]|0)|0;continue}}m=f[c>>2]|0;do if(m){p=f[m+12>>2]|0;if((p|0)==(f[m+16>>2]|0))r=Wf[f[(f[m>>2]|0)+36>>2]&255](m)|0;else r=fGa(b[p>>0]|0)|0;if(dHa(r,eGa()|0)|0){f[c>>2]=0;s=1;break}else{s=(f[c>>2]|0)==0;break}}else s=1;while(0);do if(n){c=f[n+12>>2]|0;if((c|0)==(f[n+16>>2]|0))t=Wf[f[(f[n>>2]|0)+36>>2]&255](n)|0;else t=fGa(b[c>>0]|0)|0;if(!(dHa(t,eGa()|0)|0))if(s)break;else{o=40;break}else{f[e>>2]=0;o=38;break}}else o=38;while(0);if((o|0)==38?s:0)o=40;if((o|0)==40)f[g>>2]=f[g>>2]|2;return}function MKa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=u;u=u+16|0;j=i+4|0;k=i;l=a+8|0;a=Wf[f[(f[l>>2]|0)+8>>2]&255](l)|0;l=b[a+11>>0]|0;if(l<<24>>24<0)m=f[a+4>>2]|0;else m=l&255;l=b[a+12+11>>0]|0;if(l<<24>>24<0)n=f[a+16>>2]|0;else n=l&255;do if((m|0)!=(0-n|0)){f[k>>2]=f[e>>2];f[j>>2]=f[k>>2];l=(eJa(d,j,a,a+24|0,h,g,0)|0)-a|0;o=f[c>>2]|0;if((o|0)==12&(l|0)==0){f[c>>2]=0;break}if((o|0)<12&(l|0)==12)f[c>>2]=o+12}else f[g>>2]=f[g>>2]|4;while(0);u=i;return}function NKa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;a=u;u=u+16|0;h=a+4|0;i=a;f[i>>2]=f[d>>2];f[h>>2]=f[i>>2];i=SKa(c,h,e,g,2)|0;g=f[e>>2]|0;if((i|0)<61&(g&4|0)==0)f[b>>2]=i;else f[e>>2]=g|4;u=a;return}function OKa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;a=u;u=u+16|0;h=a+4|0;i=a;f[i>>2]=f[d>>2];f[h>>2]=f[i>>2];i=SKa(c,h,e,g,1)|0;g=f[e>>2]|0;if((i|0)<7&(g&4|0)==0)f[b>>2]=i;else f[e>>2]=g|4;u=a;return}function PKa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;a=u;u=u+16|0;h=a+4|0;i=a;f[i>>2]=f[d>>2];f[h>>2]=f[i>>2];i=SKa(c,h,e,g,4)|0;if(!(f[e>>2]&4)){if((i|0)<69)j=i+2e3|0;else j=(i|0)<100?i+1900|0:i;f[b>>2]=j+-1900}u=a;return}function QKa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;a=u;u=u+16|0;h=a+4|0;i=a;f[i>>2]=f[d>>2];f[h>>2]=f[i>>2];i=SKa(c,h,e,g,4)|0;if(!(f[e>>2]&4))f[b>>2]=i+-1900;u=a;return}function RKa(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=f[c>>2]|0;do if(a){h=f[a+12>>2]|0;if((h|0)==(f[a+16>>2]|0))i=Wf[f[(f[a>>2]|0)+36>>2]&255](a)|0;else i=fGa(b[h>>0]|0)|0;if(dHa(i,eGa()|0)|0){f[c>>2]=0;j=1;break}else{j=(f[c>>2]|0)==0;break}}else j=1;while(0);i=f[d>>2]|0;do if(i){a=f[i+12>>2]|0;if((a|0)==(f[i+16>>2]|0))k=Wf[f[(f[i>>2]|0)+36>>2]&255](i)|0;else k=fGa(b[a>>0]|0)|0;if(!(dHa(k,eGa()|0)|0))if(j){l=i;m=16;break}else{n=6;m=38;break}else{f[d>>2]=0;m=14;break}}else m=14;while(0);if((m|0)==14)if(j){n=6;m=38}else{l=0;m=16}a:do if((m|0)==16){j=f[c>>2]|0;i=f[j+12>>2]|0;if((i|0)==(f[j+16>>2]|0))o=Wf[f[(f[j>>2]|0)+36>>2]&255](j)|0;else o=fGa(b[i>>0]|0)|0;if((bg[f[(f[g>>2]|0)+36>>2]&127](g,o&255,0)|0)<<24>>24==37){i=f[c>>2]|0;j=i+12|0;k=f[j>>2]|0;if((k|0)==(f[i+16>>2]|0))Wf[f[(f[i>>2]|0)+40>>2]&255](i)|0;else{f[j>>2]=k+1;fGa(b[k>>0]|0)|0}k=f[c>>2]|0;do if(k){j=f[k+12>>2]|0;if((j|0)==(f[k+16>>2]|0))p=Wf[f[(f[k>>2]|0)+36>>2]&255](k)|0;else p=fGa(b[j>>0]|0)|0;if(dHa(p,eGa()|0)|0){f[c>>2]=0;q=1;break}else{q=(f[c>>2]|0)==0;break}}else q=1;while(0);do if(l|0){k=f[l+12>>2]|0;if((k|0)==(f[l+16>>2]|0))r=Wf[f[(f[l>>2]|0)+36>>2]&255](l)|0;else r=fGa(b[k>>0]|0)|0;if(!(dHa(r,eGa()|0)|0))if(q)break a;else{n=2;m=38;break a}else{f[d>>2]=0;break}}while(0);if(q){n=2;m=38}}else{n=4;m=38}}while(0);if((m|0)==38)f[e>>2]=f[e>>2]|n;return}function SKa(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;i=f[a>>2]|0;do if(i){j=f[i+12>>2]|0;if((j|0)==(f[i+16>>2]|0))k=Wf[f[(f[i>>2]|0)+36>>2]&255](i)|0;else k=fGa(b[j>>0]|0)|0;if(dHa(k,eGa()|0)|0){f[a>>2]=0;l=1;break}else{l=(f[a>>2]|0)==0;break}}else l=1;while(0);k=f[c>>2]|0;do if(k){i=f[k+12>>2]|0;if((i|0)==(f[k+16>>2]|0))m=Wf[f[(f[k>>2]|0)+36>>2]&255](k)|0;else m=fGa(b[i>>0]|0)|0;if(!(dHa(m,eGa()|0)|0))if(l){n=k;o=17;break}else{o=16;break}else{f[c>>2]=0;o=14;break}}else o=14;while(0);if((o|0)==14)if(l)o=16;else{n=0;o=17}a:do if((o|0)==16){f[e>>2]=f[e>>2]|6;p=0}else if((o|0)==17){l=f[a>>2]|0;k=f[l+12>>2]|0;if((k|0)==(f[l+16>>2]|0))q=Wf[f[(f[l>>2]|0)+36>>2]&255](l)|0;else q=fGa(b[k>>0]|0)|0;k=q&255;if(k<<24>>24>-1?(l=g+8|0,d[(f[l>>2]|0)+(q<<24>>24<<1)>>1]&2048):0){m=(bg[f[(f[g>>2]|0)+36>>2]&127](g,k,0)|0)<<24>>24;k=f[a>>2]|0;i=k+12|0;j=f[i>>2]|0;if((j|0)==(f[k+16>>2]|0)){Wf[f[(f[k>>2]|0)+40>>2]&255](k)|0;r=m;s=h;t=n;u=n}else{f[i>>2]=j+1;fGa(b[j>>0]|0)|0;r=m;s=h;t=n;u=n}while(1){v=r+-48|0;m=s+-1|0;j=f[a>>2]|0;do if(j){i=f[j+12>>2]|0;if((i|0)==(f[j+16>>2]|0))w=Wf[f[(f[j>>2]|0)+36>>2]&255](j)|0;else w=fGa(b[i>>0]|0)|0;if(dHa(w,eGa()|0)|0){f[a>>2]=0;x=1;break}else{x=(f[a>>2]|0)==0;break}}else x=1;while(0);do if(u){j=f[u+12>>2]|0;if((j|0)==(f[u+16>>2]|0))y=Wf[f[(f[u>>2]|0)+36>>2]&255](u)|0;else y=fGa(b[j>>0]|0)|0;if(dHa(y,eGa()|0)|0){f[c>>2]=0;z=0;A=1;B=0;break}else{z=t;A=(t|0)==0;B=t;break}}else{z=t;A=1;B=0}while(0);C=f[a>>2]|0;if(!((s|0)>1&(x^A)))break;j=f[C+12>>2]|0;if((j|0)==(f[C+16>>2]|0))D=Wf[f[(f[C>>2]|0)+36>>2]&255](C)|0;else D=fGa(b[j>>0]|0)|0;j=D&255;if(j<<24>>24<=-1){p=v;break a}if(!(d[(f[l>>2]|0)+(D<<24>>24<<1)>>1]&2048)){p=v;break a}i=(v*10|0)+((bg[f[(f[g>>2]|0)+36>>2]&127](g,j,0)|0)<<24>>24)|0;j=f[a>>2]|0;k=j+12|0;E=f[k>>2]|0;if((E|0)==(f[j+16>>2]|0)){Wf[f[(f[j>>2]|0)+40>>2]&255](j)|0;r=i;s=m;t=z;u=B;continue}else{f[k>>2]=E+1;fGa(b[E>>0]|0)|0;r=i;s=m;t=z;u=B;continue}}do if(C){l=f[C+12>>2]|0;if((l|0)==(f[C+16>>2]|0))F=Wf[f[(f[C>>2]|0)+36>>2]&255](C)|0;else F=fGa(b[l>>0]|0)|0;if(dHa(F,eGa()|0)|0){f[a>>2]=0;G=1;break}else{G=(f[a>>2]|0)==0;break}}else G=1;while(0);do if(z){l=f[z+12>>2]|0;if((l|0)==(f[z+16>>2]|0))H=Wf[f[(f[z>>2]|0)+36>>2]&255](z)|0;else H=fGa(b[l>>0]|0)|0;if(!(dHa(H,eGa()|0)|0))if(G){p=v;break a}else break;else{f[c>>2]=0;o=62;break}}else o=62;while(0);if((o|0)==62?!G:0){p=v;break}f[e>>2]=f[e>>2]|2;p=v;break}f[e>>2]=f[e>>2]|4;p=0}while(0);return p|0}function TKa(a){a=a|0;eIa(a);return}function UKa(a){a=a|0;eIa(a);GQa(a);return}function VKa(a){a=a|0;return 2}function WKa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=u;u=u+16|0;i=h+12|0;j=h+8|0;k=h+4|0;l=h;f[k>>2]=f[b>>2];f[l>>2]=f[c>>2];f[j>>2]=f[k>>2];f[i>>2]=f[l>>2];l=nLa(a,j,i,d,e,g,117052,117084)|0;u=h;return l|0}function XKa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;i=u;u=u+16|0;j=i+12|0;k=i+8|0;l=i+4|0;m=i;n=a+8|0;o=Wf[f[(f[n>>2]|0)+20>>2]&255](n)|0;f[l>>2]=f[c>>2];f[m>>2]=f[d>>2];d=b[o+8+3>>0]|0;c=d<<24>>24<0;n=c?f[o>>2]|0:o;p=n+((c?f[o+4>>2]|0:d&255)<<2)|0;f[k>>2]=f[l>>2];f[j>>2]=f[m>>2];m=nLa(a,k,j,e,g,h,n,p)|0;u=i;return m|0}function YKa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;h=u;u=u+16|0;i=h+4|0;j=h;eHa(i,d);d=yIa(i,810400)|0;zIa(i);f[j>>2]=f[c>>2];f[i>>2]=f[j>>2];lLa(a,g+24|0,b,i,e,d);u=h;return f[b>>2]|0}function ZKa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;h=u;u=u+16|0;i=h+4|0;j=h;eHa(i,d);d=yIa(i,810400)|0;zIa(i);f[j>>2]=f[c>>2];f[i>>2]=f[j>>2];mLa(a,g+16|0,b,i,e,d);u=h;return f[b>>2]|0}function _Ka(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;h=u;u=u+16|0;i=h+4|0;j=h;eHa(i,d);d=yIa(i,810400)|0;zIa(i);f[j>>2]=f[c>>2];f[i>>2]=f[j>>2];yLa(a,g+20|0,b,i,e,d);u=h;return f[b>>2]|0}function $Ka(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;j=u;u=u+144|0;k=j+128|0;l=j+112|0;m=j+124|0;n=j+120|0;o=j+116|0;p=j+108|0;q=j+104|0;r=j+100|0;s=j+96|0;t=j+92|0;v=j+88|0;w=j+84|0;x=j+80|0;y=j+76|0;z=j+72|0;A=j+68|0;B=j+64|0;C=j+60|0;D=j+56|0;E=j+52|0;F=j+48|0;G=j+44|0;H=j+40|0;I=j+36|0;J=j+32|0;K=j+28|0;L=j+24|0;M=j+20|0;N=j+16|0;O=j+12|0;P=j+8|0;Q=j+4|0;R=j;f[g>>2]=0;eHa(k,e);S=yIa(k,810400)|0;zIa(k);do switch(i<<24>>24|0){case 65:case 97:{f[m>>2]=f[d>>2];f[k>>2]=f[m>>2];lLa(a,h+24|0,c,k,g,S);T=26;break}case 104:case 66:case 98:{f[n>>2]=f[d>>2];f[k>>2]=f[n>>2];mLa(a,h+16|0,c,k,g,S);T=26;break}case 99:{U=a+8|0;V=Wf[f[(f[U>>2]|0)+12>>2]&255](U)|0;f[o>>2]=f[c>>2];f[p>>2]=f[d>>2];U=b[V+8+3>>0]|0;W=U<<24>>24<0;X=W?f[V>>2]|0:V;Y=X+((W?f[V+4>>2]|0:U&255)<<2)|0;f[l>>2]=f[o>>2];f[k>>2]=f[p>>2];U=nLa(a,l,k,e,g,h,X,Y)|0;f[c>>2]=U;T=26;break}case 101:case 100:{f[q>>2]=f[d>>2];f[k>>2]=f[q>>2];oLa(a,h+12|0,c,k,g,S);T=26;break}case 68:{f[r>>2]=f[c>>2];f[s>>2]=f[d>>2];f[l>>2]=f[r>>2];f[k>>2]=f[s>>2];U=nLa(a,l,k,e,g,h,116892,116924)|0;f[c>>2]=U;T=26;break}case 70:{f[t>>2]=f[c>>2];f[v>>2]=f[d>>2];f[l>>2]=f[t>>2];f[k>>2]=f[v>>2];U=nLa(a,l,k,e,g,h,116924,116956)|0;f[c>>2]=U;T=26;break}case 72:{f[w>>2]=f[d>>2];f[k>>2]=f[w>>2];pLa(a,h+8|0,c,k,g,S);T=26;break}case 73:{f[x>>2]=f[d>>2];f[k>>2]=f[x>>2];qLa(a,h+8|0,c,k,g,S);T=26;break}case 106:{f[y>>2]=f[d>>2];f[k>>2]=f[y>>2];rLa(a,h+28|0,c,k,g,S);T=26;break}case 109:{f[z>>2]=f[d>>2];f[k>>2]=f[z>>2];sLa(a,h+16|0,c,k,g,S);T=26;break}case 77:{f[A>>2]=f[d>>2];f[k>>2]=f[A>>2];tLa(a,h+4|0,c,k,g,S);T=26;break}case 116:case 110:{f[B>>2]=f[d>>2];f[k>>2]=f[B>>2];uLa(a,c,k,g,S);T=26;break}case 112:{f[C>>2]=f[d>>2];f[k>>2]=f[C>>2];vLa(a,h+8|0,c,k,g,S);T=26;break}case 114:{f[D>>2]=f[c>>2];f[E>>2]=f[d>>2];f[l>>2]=f[D>>2];f[k>>2]=f[E>>2];U=nLa(a,l,k,e,g,h,116956,117e3)|0;f[c>>2]=U;T=26;break}case 82:{f[F>>2]=f[c>>2];f[G>>2]=f[d>>2];f[l>>2]=f[F>>2];f[k>>2]=f[G>>2];U=nLa(a,l,k,e,g,h,117e3,117020)|0;f[c>>2]=U;T=26;break}case 83:{f[H>>2]=f[d>>2];f[k>>2]=f[H>>2];wLa(a,h,c,k,g,S);T=26;break}case 84:{f[I>>2]=f[c>>2];f[J>>2]=f[d>>2];f[l>>2]=f[I>>2];f[k>>2]=f[J>>2];U=nLa(a,l,k,e,g,h,117020,117052)|0;f[c>>2]=U;T=26;break}case 119:{f[K>>2]=f[d>>2];f[k>>2]=f[K>>2];xLa(a,h+24|0,c,k,g,S);T=26;break}case 120:{U=f[(f[a>>2]|0)+20>>2]|0;f[L>>2]=f[c>>2];f[M>>2]=f[d>>2];f[l>>2]=f[L>>2];f[k>>2]=f[M>>2];Z=ig[U&127](a,l,k,e,g,h)|0;break}case 88:{U=a+8|0;Y=Wf[f[(f[U>>2]|0)+24>>2]&255](U)|0;f[N>>2]=f[c>>2];f[O>>2]=f[d>>2];U=b[Y+8+3>>0]|0;X=U<<24>>24<0;V=X?f[Y>>2]|0:Y;W=V+((X?f[Y+4>>2]|0:U&255)<<2)|0;f[l>>2]=f[N>>2];f[k>>2]=f[O>>2];U=nLa(a,l,k,e,g,h,V,W)|0;f[c>>2]=U;T=26;break}case 121:{f[P>>2]=f[d>>2];f[k>>2]=f[P>>2];yLa(a,h+20|0,c,k,g,S);T=26;break}case 89:{f[Q>>2]=f[d>>2];f[k>>2]=f[Q>>2];zLa(a,h+20|0,c,k,g,S);T=26;break}case 37:{f[R>>2]=f[d>>2];f[k>>2]=f[R>>2];ALa(a,c,k,g,S);T=26;break}default:{f[g>>2]=f[g>>2]|4;T=26}}while(0);if((T|0)==26)Z=f[c>>2]|0;u=j;return Z|0}function aLa(a){a=a|0;if((b[454440]|0)==0?jVa(454440)|0:0){kLa();f[203013]=811884}return f[203013]|0}function bLa(a){a=a|0;if((b[454424]|0)==0?jVa(454424)|0:0){jLa();f[202970]=811592}return f[202970]|0}function cLa(a){a=a|0;if((b[454408]|0)==0?jVa(454408)|0:0){iLa();f[202897]=811300}return f[202897]|0}function dLa(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;a=u;u=u+16|0;c=a;if((b[454400]|0)==0?jVa(454400)|0:0){f[202822]=0;f[202823]=0;f[202824]=0;d=hLa(115924)|0;if(d>>>0>1073741807)NQa(811288);do if(d>>>0>=2){e=d+4&-4;if(e>>>0>1073741823)ne();else{g=EQa(e<<2)|0;f[202822]=g;f[202824]=e|-2147483648;f[202823]=d;h=g;break}}else{b[811299]=d;h=811288}while(0);yGa(h,115924,d)|0;f[c>>2]=0;kIa(h+(d<<2)|0,c)}u=a;return 811288}function eLa(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;a=u;u=u+16|0;c=a;if((b[454392]|0)==0?jVa(454392)|0:0){f[202819]=0;f[202820]=0;f[202821]=0;d=hLa(115876)|0;if(d>>>0>1073741807)NQa(811276);do if(d>>>0>=2){e=d+4&-4;if(e>>>0>1073741823)ne();else{g=EQa(e<<2)|0;f[202819]=g;f[202821]=e|-2147483648;f[202820]=d;h=g;break}}else{b[811287]=d;h=811276}while(0);yGa(h,115876,d)|0;f[c>>2]=0;kIa(h+(d<<2)|0,c)}u=a;return 811276}function fLa(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;a=u;u=u+16|0;c=a;if((b[454384]|0)==0?jVa(454384)|0:0){f[202816]=0;f[202817]=0;f[202818]=0;d=hLa(115840)|0;if(d>>>0>1073741807)NQa(811264);do if(d>>>0>=2){e=d+4&-4;if(e>>>0>1073741823)ne();else{g=EQa(e<<2)|0;f[202816]=g;f[202818]=e|-2147483648;f[202817]=d;h=g;break}}else{b[811275]=d;h=811264}while(0);yGa(h,115840,d)|0;f[c>>2]=0;kIa(h+(d<<2)|0,c)}u=a;return 811264}function gLa(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;a=u;u=u+16|0;c=a;if((b[454376]|0)==0?jVa(454376)|0:0){f[202813]=0;f[202814]=0;f[202815]=0;d=hLa(115804)|0;if(d>>>0>1073741807)NQa(811252);do if(d>>>0>=2){e=d+4&-4;if(e>>>0>1073741823)ne();else{g=EQa(e<<2)|0;f[202813]=g;f[202815]=e|-2147483648;f[202814]=d;h=g;break}}else{b[811263]=d;h=811252}while(0);yGa(h,115804,d)|0;f[c>>2]=0;kIa(h+(d<<2)|0,c)}u=a;return 811252}function hLa(a){a=a|0;return NDa(a)|0}function iLa(){var a=0,c=0;if((b[454416]|0)==0?jVa(454416)|0:0){a=811300;do{f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}a=a+12|0}while((a|0)!=811588)}mRa(811300,116008)|0;mRa(811312,116020)|0;return}function jLa(){var a=0,c=0;if((b[454432]|0)==0?jVa(454432)|0:0){a=811592;do{f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}a=a+12|0}while((a|0)!=811880)}mRa(811592,116032)|0;mRa(811604,116064)|0;mRa(811616,116100)|0;mRa(811628,116124)|0;mRa(811640,116148)|0;mRa(811652,116164)|0;mRa(811664,116184)|0;mRa(811676,116204)|0;mRa(811688,116232)|0;mRa(811700,116272)|0;mRa(811712,116304)|0;mRa(811724,116340)|0;mRa(811736,116376)|0;mRa(811748,116392)|0;mRa(811760,116408)|0;mRa(811772,116424)|0;mRa(811784,116148)|0;mRa(811796,116440)|0;mRa(811808,116456)|0;mRa(811820,116472)|0;mRa(811832,116488)|0;mRa(811844,116504)|0;mRa(811856,116520)|0;mRa(811868,116536)|0;return}function kLa(){var a=0,c=0;if((b[454448]|0)==0?jVa(454448)|0:0){a=811884;do{f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}a=a+12|0}while((a|0)!=812052)}mRa(811884,116552)|0;mRa(811896,116580)|0;mRa(811908,116608)|0;mRa(811920,116640)|0;mRa(811932,116680)|0;mRa(811944,116716)|0;mRa(811956,116744)|0;mRa(811968,116780)|0;mRa(811980,116796)|0;mRa(811992,116812)|0;mRa(812004,116828)|0;mRa(812016,116844)|0;mRa(812028,116860)|0;mRa(812040,116876)|0;return}function lLa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;h=u;u=u+16|0;i=h+4|0;j=h;k=a+8|0;a=Wf[f[f[k>>2]>>2]&255](k)|0;f[j>>2]=f[d>>2];f[i>>2]=f[j>>2];j=(FJa(c,i,a,a+168|0,g,e,0)|0)-a|0;if((j|0)<168)f[b>>2]=((j|0)/12|0|0)%7|0;u=h;return}function mLa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;h=u;u=u+16|0;i=h+4|0;j=h;k=a+8|0;a=Wf[f[(f[k>>2]|0)+4>>2]&255](k)|0;f[j>>2]=f[d>>2];f[i>>2]=f[j>>2];j=(FJa(c,i,a,a+288|0,g,e,0)|0)-a|0;if((j|0)<288)f[b>>2]=((j|0)/12|0|0)%12|0;u=h;return}function nLa(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;j=u;u=u+16|0;k=j+12|0;l=j+8|0;m=j+4|0;n=j;eHa(k,d);o=yIa(k,810400)|0;zIa(k);f[e>>2]=0;p=h;h=0;a:while(1){q=(p|0)!=(i|0);r=h;while(1){s=f[b>>2]|0;if(!(q&(r|0)==0)){t=s;break a}v=s;if(s){w=f[s+12>>2]|0;if((w|0)==(f[s+16>>2]|0))x=Wf[f[(f[s>>2]|0)+36>>2]&255](s)|0;else x=xGa(f[w>>2]|0)|0;if(fHa(x,wGa()|0)|0){f[b>>2]=0;y=0;z=1;A=0}else{y=s;z=0;A=v}}else{y=0;z=1;A=v}v=f[c>>2]|0;s=v;do if(v){w=f[v+12>>2]|0;if((w|0)==(f[v+16>>2]|0))B=Wf[f[(f[v>>2]|0)+36>>2]&255](v)|0;else B=xGa(f[w>>2]|0)|0;if(!(fHa(B,wGa()|0)|0))if(z){C=v;D=s;break}else{E=59;break a}else{f[c>>2]=0;F=0;E=16;break}}else{F=s;E=16}while(0);if((E|0)==16){E=0;if(z){E=59;break a}else{C=0;D=F}}if((bg[f[(f[o>>2]|0)+52>>2]&127](o,f[p>>2]|0,0)|0)<<24>>24==37){E=19;break}if(bg[f[(f[o>>2]|0)+12>>2]&127](o,8192,f[p>>2]|0)|0){G=p;E=25;break}H=y+12|0;s=f[H>>2]|0;I=y+16|0;if((s|0)==(f[I>>2]|0))J=Wf[f[(f[y>>2]|0)+36>>2]&255](y)|0;else J=xGa(f[s>>2]|0)|0;s=Zf[f[(f[o>>2]|0)+28>>2]&127](o,J)|0;if((s|0)==(Zf[f[(f[o>>2]|0)+28>>2]&127](o,f[p>>2]|0)|0)){E=53;break}f[e>>2]=4;r=4}b:do if((E|0)==19){E=0;r=p+4|0;if((r|0)==(i|0)){E=59;break a}q=bg[f[(f[o>>2]|0)+52>>2]&127](o,f[r>>2]|0,0)|0;switch(q<<24>>24){case 48:case 69:{s=p+8|0;if((s|0)==(i|0)){E=59;break a}K=q;L=bg[f[(f[o>>2]|0)+52>>2]&127](o,f[s>>2]|0,0)|0;M=r;break}default:{K=0;L=q;M=p}}q=f[(f[a>>2]|0)+36>>2]|0;f[m>>2]=A;f[n>>2]=D;f[l>>2]=f[m>>2];f[k>>2]=f[n>>2];r=lg[q&15](a,l,k,d,e,g,L,K)|0;f[b>>2]=r;N=M+8|0}else if((E|0)==25){while(1){E=0;r=G+4|0;if((r|0)==(i|0)){O=i;break}if(bg[f[(f[o>>2]|0)+12>>2]&127](o,8192,f[r>>2]|0)|0){G=r;E=25}else{O=r;break}}r=y;q=C;s=C;while(1){if(r){v=f[r+12>>2]|0;if((v|0)==(f[r+16>>2]|0))P=Wf[f[(f[r>>2]|0)+36>>2]&255](r)|0;else P=xGa(f[v>>2]|0)|0;if(fHa(P,wGa()|0)|0){f[b>>2]=0;Q=1;R=0}else{Q=0;R=r}}else{Q=1;R=0}do if(s){v=f[s+12>>2]|0;if((v|0)==(f[s+16>>2]|0))S=Wf[f[(f[s>>2]|0)+36>>2]&255](s)|0;else S=xGa(f[v>>2]|0)|0;if(!(fHa(S,wGa()|0)|0))if(Q^(q|0)==0){T=q;U=q;break}else{N=O;break b}else{f[c>>2]=0;V=0;E=40;break}}else{V=q;E=40}while(0);if((E|0)==40){E=0;if(Q){N=O;break b}else{T=V;U=0}}v=R+12|0;w=f[v>>2]|0;W=R+16|0;if((w|0)==(f[W>>2]|0))X=Wf[f[(f[R>>2]|0)+36>>2]&255](R)|0;else X=xGa(f[w>>2]|0)|0;if(!(bg[f[(f[o>>2]|0)+12>>2]&127](o,8192,X)|0)){N=O;break b}w=f[v>>2]|0;if((w|0)==(f[W>>2]|0)){Wf[f[(f[R>>2]|0)+40>>2]&255](R)|0;r=R;q=T;s=U;continue}else{f[v>>2]=w+4;xGa(f[w>>2]|0)|0;r=R;q=T;s=U;continue}}}else if((E|0)==53){E=0;s=f[H>>2]|0;if((s|0)==(f[I>>2]|0))Wf[f[(f[y>>2]|0)+40>>2]&255](y)|0;else{f[H>>2]=s+4;xGa(f[s>>2]|0)|0}N=p+4|0}while(0);p=N;h=f[e>>2]|0}if((E|0)==59){f[e>>2]=4;t=y}if(t){y=f[t+12>>2]|0;if((y|0)==(f[t+16>>2]|0))Y=Wf[f[(f[t>>2]|0)+36>>2]&255](t)|0;else Y=xGa(f[y>>2]|0)|0;if(fHa(Y,wGa()|0)|0){f[b>>2]=0;Z=0;_=1}else{Z=t;_=0}}else{Z=0;_=1}t=f[c>>2]|0;do if(t){b=f[t+12>>2]|0;if((b|0)==(f[t+16>>2]|0))$=Wf[f[(f[t>>2]|0)+36>>2]&255](t)|0;else $=xGa(f[b>>2]|0)|0;if(!(fHa($,wGa()|0)|0))if(_)break;else{E=74;break}else{f[c>>2]=0;E=72;break}}else E=72;while(0);if((E|0)==72?_:0)E=74;if((E|0)==74)f[e>>2]=f[e>>2]|2;u=j;return Z|0}function oLa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;a=u;u=u+16|0;h=a+4|0;i=a;f[i>>2]=f[d>>2];f[h>>2]=f[i>>2];i=BLa(c,h,e,g,2)|0;g=f[e>>2]|0;if((i+-1|0)>>>0<31&(g&4|0)==0)f[b>>2]=i;else f[e>>2]=g|4;u=a;return}function pLa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;a=u;u=u+16|0;h=a+4|0;i=a;f[i>>2]=f[d>>2];f[h>>2]=f[i>>2];i=BLa(c,h,e,g,2)|0;g=f[e>>2]|0;if((i|0)<24&(g&4|0)==0)f[b>>2]=i;else f[e>>2]=g|4;u=a;return}function qLa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;a=u;u=u+16|0;h=a+4|0;i=a;f[i>>2]=f[d>>2];f[h>>2]=f[i>>2];i=BLa(c,h,e,g,2)|0;g=f[e>>2]|0;if((i+-1|0)>>>0<12&(g&4|0)==0)f[b>>2]=i;else f[e>>2]=g|4;u=a;return}function rLa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;a=u;u=u+16|0;h=a+4|0;i=a;f[i>>2]=f[d>>2];f[h>>2]=f[i>>2];i=BLa(c,h,e,g,3)|0;g=f[e>>2]|0;if((i|0)<366&(g&4|0)==0)f[b>>2]=i;else f[e>>2]=g|4;u=a;return}function sLa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;a=u;u=u+16|0;h=a+4|0;i=a;f[i>>2]=f[d>>2];f[h>>2]=f[i>>2];i=BLa(c,h,e,g,2)|0;g=f[e>>2]|0;if((i|0)<13&(g&4|0)==0)f[b>>2]=i+-1;else f[e>>2]=g|4;u=a;return}function tLa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;a=u;u=u+16|0;h=a+4|0;i=a;f[i>>2]=f[d>>2];f[h>>2]=f[i>>2];i=BLa(c,h,e,g,2)|0;g=f[e>>2]|0;if((i|0)<60&(g&4|0)==0)f[b>>2]=i;else f[e>>2]=g|4;u=a;return}function uLa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:while(1){a=f[b>>2]|0;do if(a){g=f[a+12>>2]|0;if((g|0)==(f[a+16>>2]|0))h=Wf[f[(f[a>>2]|0)+36>>2]&255](a)|0;else h=xGa(f[g>>2]|0)|0;if(fHa(h,wGa()|0)|0){f[b>>2]=0;i=1;break}else{i=(f[b>>2]|0)==0;break}}else i=1;while(0);a=f[c>>2]|0;do if(a){g=f[a+12>>2]|0;if((g|0)==(f[a+16>>2]|0))j=Wf[f[(f[a>>2]|0)+36>>2]&255](a)|0;else j=xGa(f[g>>2]|0)|0;if(!(fHa(j,wGa()|0)|0))if(i){k=a;break}else{l=a;break a}else{f[c>>2]=0;m=15;break}}else m=15;while(0);if((m|0)==15){m=0;if(i){l=0;break}else k=0}a=f[b>>2]|0;g=f[a+12>>2]|0;if((g|0)==(f[a+16>>2]|0))n=Wf[f[(f[a>>2]|0)+36>>2]&255](a)|0;else n=xGa(f[g>>2]|0)|0;if(!(bg[f[(f[e>>2]|0)+12>>2]&127](e,8192,n)|0)){l=k;break}g=f[b>>2]|0;a=g+12|0;o=f[a>>2]|0;if((o|0)==(f[g+16>>2]|0)){Wf[f[(f[g>>2]|0)+40>>2]&255](g)|0;continue}else{f[a>>2]=o+4;xGa(f[o>>2]|0)|0;continue}}k=f[b>>2]|0;do if(k){n=f[k+12>>2]|0;if((n|0)==(f[k+16>>2]|0))p=Wf[f[(f[k>>2]|0)+36>>2]&255](k)|0;else p=xGa(f[n>>2]|0)|0;if(fHa(p,wGa()|0)|0){f[b>>2]=0;q=1;break}else{q=(f[b>>2]|0)==0;break}}else q=1;while(0);do if(l){b=f[l+12>>2]|0;if((b|0)==(f[l+16>>2]|0))r=Wf[f[(f[l>>2]|0)+36>>2]&255](l)|0;else r=xGa(f[b>>2]|0)|0;if(!(fHa(r,wGa()|0)|0))if(q)break;else{m=39;break}else{f[c>>2]=0;m=37;break}}else m=37;while(0);if((m|0)==37?q:0)m=39;if((m|0)==39)f[d>>2]=f[d>>2]|2;return}function vLa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=u;u=u+16|0;j=i+4|0;k=i;l=a+8|0;a=Wf[f[(f[l>>2]|0)+8>>2]&255](l)|0;l=b[a+8+3>>0]|0;if(l<<24>>24<0)m=f[a+4>>2]|0;else m=l&255;l=b[a+20+3>>0]|0;if(l<<24>>24<0)n=f[a+16>>2]|0;else n=l&255;do if((m|0)!=(0-n|0)){f[k>>2]=f[e>>2];f[j>>2]=f[k>>2];l=(FJa(d,j,a,a+24|0,h,g,0)|0)-a|0;o=f[c>>2]|0;if((o|0)==12&(l|0)==0){f[c>>2]=0;break}if((o|0)<12&(l|0)==12)f[c>>2]=o+12}else f[g>>2]=f[g>>2]|4;while(0);u=i;return}function wLa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;a=u;u=u+16|0;h=a+4|0;i=a;f[i>>2]=f[d>>2];f[h>>2]=f[i>>2];i=BLa(c,h,e,g,2)|0;g=f[e>>2]|0;if((i|0)<61&(g&4|0)==0)f[b>>2]=i;else f[e>>2]=g|4;u=a;return}function xLa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;a=u;u=u+16|0;h=a+4|0;i=a;f[i>>2]=f[d>>2];f[h>>2]=f[i>>2];i=BLa(c,h,e,g,1)|0;g=f[e>>2]|0;if((i|0)<7&(g&4|0)==0)f[b>>2]=i;else f[e>>2]=g|4;u=a;return}function yLa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;a=u;u=u+16|0;h=a+4|0;i=a;f[i>>2]=f[d>>2];f[h>>2]=f[i>>2];i=BLa(c,h,e,g,4)|0;if(!(f[e>>2]&4)){if((i|0)<69)j=i+2e3|0;else j=(i|0)<100?i+1900|0:i;f[b>>2]=j+-1900}u=a;return}function zLa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;a=u;u=u+16|0;h=a+4|0;i=a;f[i>>2]=f[d>>2];f[h>>2]=f[i>>2];i=BLa(c,h,e,g,4)|0;if(!(f[e>>2]&4))f[b>>2]=i+-1900;u=a;return}function ALa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a=f[b>>2]|0;do if(a){g=f[a+12>>2]|0;if((g|0)==(f[a+16>>2]|0))h=Wf[f[(f[a>>2]|0)+36>>2]&255](a)|0;else h=xGa(f[g>>2]|0)|0;if(fHa(h,wGa()|0)|0){f[b>>2]=0;i=1;break}else{i=(f[b>>2]|0)==0;break}}else i=1;while(0);h=f[c>>2]|0;do if(h){a=f[h+12>>2]|0;if((a|0)==(f[h+16>>2]|0))j=Wf[f[(f[h>>2]|0)+36>>2]&255](h)|0;else j=xGa(f[a>>2]|0)|0;if(!(fHa(j,wGa()|0)|0))if(i){k=h;l=16;break}else{m=6;l=38;break}else{f[c>>2]=0;l=14;break}}else l=14;while(0);if((l|0)==14)if(i){m=6;l=38}else{k=0;l=16}a:do if((l|0)==16){i=f[b>>2]|0;h=f[i+12>>2]|0;if((h|0)==(f[i+16>>2]|0))n=Wf[f[(f[i>>2]|0)+36>>2]&255](i)|0;else n=xGa(f[h>>2]|0)|0;if((bg[f[(f[e>>2]|0)+52>>2]&127](e,n,0)|0)<<24>>24==37){h=f[b>>2]|0;i=h+12|0;j=f[i>>2]|0;if((j|0)==(f[h+16>>2]|0))Wf[f[(f[h>>2]|0)+40>>2]&255](h)|0;else{f[i>>2]=j+4;xGa(f[j>>2]|0)|0}j=f[b>>2]|0;do if(j){i=f[j+12>>2]|0;if((i|0)==(f[j+16>>2]|0))o=Wf[f[(f[j>>2]|0)+36>>2]&255](j)|0;else o=xGa(f[i>>2]|0)|0;if(fHa(o,wGa()|0)|0){f[b>>2]=0;p=1;break}else{p=(f[b>>2]|0)==0;break}}else p=1;while(0);do if(k|0){j=f[k+12>>2]|0;if((j|0)==(f[k+16>>2]|0))q=Wf[f[(f[k>>2]|0)+36>>2]&255](k)|0;else q=xGa(f[j>>2]|0)|0;if(!(fHa(q,wGa()|0)|0))if(p)break a;else{m=2;l=38;break a}else{f[c>>2]=0;break}}while(0);if(p){m=2;l=38}}else{m=4;l=38}}while(0);if((l|0)==38)f[d>>2]=f[d>>2]|m;return}function BLa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;g=f[a>>2]|0;do if(g){h=f[g+12>>2]|0;if((h|0)==(f[g+16>>2]|0))i=Wf[f[(f[g>>2]|0)+36>>2]&255](g)|0;else i=xGa(f[h>>2]|0)|0;if(fHa(i,wGa()|0)|0){f[a>>2]=0;j=1;break}else{j=(f[a>>2]|0)==0;break}}else j=1;while(0);i=f[b>>2]|0;do if(i){g=f[i+12>>2]|0;if((g|0)==(f[i+16>>2]|0))k=Wf[f[(f[i>>2]|0)+36>>2]&255](i)|0;else k=xGa(f[g>>2]|0)|0;if(!(fHa(k,wGa()|0)|0))if(j){l=i;m=17;break}else{m=16;break}else{f[b>>2]=0;m=14;break}}else m=14;while(0);if((m|0)==14)if(j)m=16;else{l=0;m=17}a:do if((m|0)==16){f[c>>2]=f[c>>2]|6;n=0}else if((m|0)==17){j=f[a>>2]|0;i=f[j+12>>2]|0;if((i|0)==(f[j+16>>2]|0))o=Wf[f[(f[j>>2]|0)+36>>2]&255](j)|0;else o=xGa(f[i>>2]|0)|0;if(!(bg[f[(f[d>>2]|0)+12>>2]&127](d,2048,o)|0)){f[c>>2]=f[c>>2]|4;n=0;break}i=(bg[f[(f[d>>2]|0)+52>>2]&127](d,o,0)|0)<<24>>24;j=f[a>>2]|0;k=j+12|0;g=f[k>>2]|0;if((g|0)==(f[j+16>>2]|0)){Wf[f[(f[j>>2]|0)+40>>2]&255](j)|0;p=i;q=e;r=l;s=l}else{f[k>>2]=g+4;xGa(f[g>>2]|0)|0;p=i;q=e;r=l;s=l}while(1){t=p+-48|0;i=q+-1|0;g=f[a>>2]|0;do if(g){k=f[g+12>>2]|0;if((k|0)==(f[g+16>>2]|0))u=Wf[f[(f[g>>2]|0)+36>>2]&255](g)|0;else u=xGa(f[k>>2]|0)|0;if(fHa(u,wGa()|0)|0){f[a>>2]=0;v=1;break}else{v=(f[a>>2]|0)==0;break}}else v=1;while(0);do if(s){g=f[s+12>>2]|0;if((g|0)==(f[s+16>>2]|0))w=Wf[f[(f[s>>2]|0)+36>>2]&255](s)|0;else w=xGa(f[g>>2]|0)|0;if(fHa(w,wGa()|0)|0){f[b>>2]=0;x=0;y=1;z=0;break}else{x=r;y=(r|0)==0;z=r;break}}else{x=r;y=1;z=0}while(0);A=f[a>>2]|0;if(!((q|0)>1&(v^y)))break;g=f[A+12>>2]|0;if((g|0)==(f[A+16>>2]|0))B=Wf[f[(f[A>>2]|0)+36>>2]&255](A)|0;else B=xGa(f[g>>2]|0)|0;if(!(bg[f[(f[d>>2]|0)+12>>2]&127](d,2048,B)|0)){n=t;break a}g=(t*10|0)+((bg[f[(f[d>>2]|0)+52>>2]&127](d,B,0)|0)<<24>>24)|0;k=f[a>>2]|0;j=k+12|0;h=f[j>>2]|0;if((h|0)==(f[k+16>>2]|0)){Wf[f[(f[k>>2]|0)+40>>2]&255](k)|0;p=g;q=i;r=x;s=z;continue}else{f[j>>2]=h+4;xGa(f[h>>2]|0)|0;p=g;q=i;r=x;s=z;continue}}do if(A){g=f[A+12>>2]|0;if((g|0)==(f[A+16>>2]|0))C=Wf[f[(f[A>>2]|0)+36>>2]&255](A)|0;else C=xGa(f[g>>2]|0)|0;if(fHa(C,wGa()|0)|0){f[a>>2]=0;D=1;break}else{D=(f[a>>2]|0)==0;break}}else D=1;while(0);do if(x){g=f[x+12>>2]|0;if((g|0)==(f[x+16>>2]|0))E=Wf[f[(f[x>>2]|0)+36>>2]&255](x)|0;else E=xGa(f[g>>2]|0)|0;if(!(fHa(E,wGa()|0)|0))if(D){n=t;break a}else break;else{f[b>>2]=0;m=60;break}}else m=60;while(0);if((m|0)==60?!D:0){n=t;break}f[c>>2]=f[c>>2]|2;n=t}while(0);return n|0}function CLa(a){a=a|0;HLa(a+8|0);eIa(a);return}function DLa(a){a=a|0;HLa(a+8|0);eIa(a);GQa(a);return}function ELa(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;e=u;u=u+112|0;d=e+4|0;j=e;f[j>>2]=d+100;FLa(a+8|0,d,j,g,h,i);i=f[j>>2]|0;j=d;d=f[c>>2]|0;while(1){if((j|0)==(i|0))break;c=b[j>>0]|0;if(!d)k=0;else{h=d+24|0;g=f[h>>2]|0;if((g|0)==(f[d+28>>2]|0)){a=f[(f[d>>2]|0)+52>>2]|0;l=fGa(c)|0;m=Zf[a&127](d,l)|0}else{f[h>>2]=g+1;b[g>>0]=c;m=fGa(c)|0}c=dHa(m,eGa()|0)|0;k=c?0:d}j=j+1|0;d=k}u=e;return d|0}function FLa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;i=u;u=u+16|0;j=i;b[j>>0]=37;k=j+1|0;b[k>>0]=g;l=j+2|0;b[l>>0]=h;b[j+3>>0]=0;if(h<<24>>24){b[k>>0]=h;b[l>>0]=g}g=GLa(c,f[d>>2]|0)|0;l=c+(Le(c|0,g|0,j|0,e|0,f[a>>2]|0)|0)|0;f[d>>2]=l;u=i;return}function GLa(a,b){a=a|0;b=b|0;return b-a|0}function HLa(a){a=a|0;var b=0;b=f[a>>2]|0;if((b|0)!=(BIa()|0))nEa(f[a>>2]|0);return}function ILa(a){a=a|0;HLa(a+8|0);eIa(a);return}function JLa(a){a=a|0;HLa(a+8|0);eIa(a);GQa(a);return}function KLa(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;d=u;u=u+416|0;c=d+8|0;i=d;f[i>>2]=c+400;LLa(a+8|0,c,i,e,g,h);h=f[i>>2]|0;i=c;c=f[b>>2]|0;while(1){if((i|0)==(h|0))break;b=f[i>>2]|0;if(!c)j=0;else{g=c+24|0;e=f[g>>2]|0;if((e|0)==(f[c+28>>2]|0)){a=f[(f[c>>2]|0)+52>>2]|0;k=xGa(b)|0;l=Zf[a&127](c,k)|0}else{f[g>>2]=e+4;f[e>>2]=b;l=xGa(b)|0}b=fHa(l,wGa()|0)|0;j=b?0:c}i=i+4|0;c=j}u=d;return c|0}function LLa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=u;u=u+128|0;i=h+16|0;j=h+12|0;k=h;l=h+8|0;f[j>>2]=i+100;FLa(a,i,j,d,e,g);g=k;f[g>>2]=0;f[g+4>>2]=0;f[l>>2]=i;i=MLa(b,f[c>>2]|0)|0;g=iEa(f[a>>2]|0)|0;a=BDa(b,l,i,k)|0;if(g|0)iEa(g)|0;if((a|0)==-1)NLa(0);else{f[c>>2]=b+(a<<2);u=h;return}}function MLa(a,b){a=a|0;b=b|0;return b-a>>2|0}function NLa(a){a=a|0;ne()}function OLa(a){a=a|0;eIa(a);return}function PLa(a){a=a|0;eIa(a);GQa(a);return}function QLa(a){a=a|0;return 127}function RLa(a){a=a|0;return 127}function SLa(a,b){a=a|0;b=b|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;f[a+(b<<2)>>2]=0;b=b+1|0}return}function TLa(a,b){a=a|0;b=b|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;f[a+(b<<2)>>2]=0;b=b+1|0}return}function ULa(a,b){a=a|0;b=b|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;f[a+(b<<2)>>2]=0;b=b+1|0}return}function VLa(a,c){a=a|0;c=c|0;var d=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b[a+11>>0]=1;ZLa(a,1,45)|0;b[d>>0]=0;aHa(a+1|0,d);u=c;return}function WLa(a){a=a|0;return 0}function XLa(a,c){a=a|0;c=c|0;b[a>>0]=2;b[a+1>>0]=3;b[a+2>>0]=0;b[a+3>>0]=4;return}function YLa(a,c){a=a|0;c=c|0;b[a>>0]=2;b[a+1>>0]=3;b[a+2>>0]=0;b[a+3>>0]=4;return}function ZLa(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)FVa(a|0,(fGa(c)|0)&255|0,b|0)|0;return a|0}function _La(a){a=a|0;eIa(a);return}function $La(a){a=a|0;eIa(a);GQa(a);return}function aMa(a){a=a|0;return 127}function bMa(a){a=a|0;return 127}function cMa(a,b){a=a|0;b=b|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;f[a+(b<<2)>>2]=0;b=b+1|0}return}function dMa(a,b){a=a|0;b=b|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;f[a+(b<<2)>>2]=0;b=b+1|0}return}function eMa(a,b){a=a|0;b=b|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;f[a+(b<<2)>>2]=0;b=b+1|0}return}function fMa(a,c){a=a|0;c=c|0;var d=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b[a+11>>0]=1;ZLa(a,1,45)|0;b[d>>0]=0;aHa(a+1|0,d);u=c;return}function gMa(a){a=a|0;return 0}function hMa(a,c){a=a|0;c=c|0;b[a>>0]=2;b[a+1>>0]=3;b[a+2>>0]=0;b[a+3>>0]=4;return}function iMa(a,c){a=a|0;c=c|0;b[a>>0]=2;b[a+1>>0]=3;b[a+2>>0]=0;b[a+3>>0]=4;return}function jMa(a){a=a|0;eIa(a);return}function kMa(a){a=a|0;eIa(a);GQa(a);return}function lMa(a){a=a|0;return 2147483647}function mMa(a){a=a|0;return 2147483647}function nMa(a,b){a=a|0;b=b|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;f[a+(b<<2)>>2]=0;b=b+1|0}return}function oMa(a,b){a=a|0;b=b|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;f[a+(b<<2)>>2]=0;b=b+1|0}return}function pMa(a,b){a=a|0;b=b|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;f[a+(b<<2)>>2]=0;b=b+1|0}return}function qMa(a,c){a=a|0;c=c|0;var d=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b[a+8+3>>0]=1;gKa(a,1,45)|0;f[d>>2]=0;kIa(a+4|0,d);u=c;return}function rMa(a){a=a|0;return 0}function sMa(a,c){a=a|0;c=c|0;b[a>>0]=2;b[a+1>>0]=3;b[a+2>>0]=0;b[a+3>>0]=4;return}function tMa(a,c){a=a|0;c=c|0;b[a>>0]=2;b[a+1>>0]=3;b[a+2>>0]=0;b[a+3>>0]=4;return}function uMa(a){a=a|0;eIa(a);return}function vMa(a){a=a|0;eIa(a);GQa(a);return}function wMa(a){a=a|0;return 2147483647}function xMa(a){a=a|0;return 2147483647}function yMa(a,b){a=a|0;b=b|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;f[a+(b<<2)>>2]=0;b=b+1|0}return}function zMa(a,b){a=a|0;b=b|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;f[a+(b<<2)>>2]=0;b=b+1|0}return}function AMa(a,b){a=a|0;b=b|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;f[a+(b<<2)>>2]=0;b=b+1|0}return}function BMa(a,c){a=a|0;c=c|0;var d=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b[a+8+3>>0]=1;gKa(a,1,45)|0;f[d>>2]=0;kIa(a+4|0,d);u=c;return}function CMa(a){a=a|0;return 0}function DMa(a,c){a=a|0;c=c|0;b[a>>0]=2;b[a+1>>0]=3;b[a+2>>0]=0;b[a+3>>0]=4;return}function EMa(a,c){a=a|0;c=c|0;b[a>>0]=2;b[a+1>>0]=3;b[a+2>>0]=0;b[a+3>>0]=4;return}function FMa(a){a=a|0;eIa(a);return}function GMa(a){a=a|0;eIa(a);GQa(a);return}function HMa(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;a=u;u=u+240|0;j=a+24|0;k=a;l=a+140|0;m=a+16|0;n=a+12|0;o=a+8|0;p=a+136|0;q=a+4|0;r=a+36|0;f[m>>2]=l;s=m+4|0;f[s>>2]=930;eHa(o,g);t=yIa(o,810368)|0;b[p>>0]=0;f[q>>2]=f[d>>2];v=f[g+4>>2]|0;f[j>>2]=f[q>>2];if(KMa(c,j,e,o,v,h,p,t,m,n,l+100|0)|0){dg[f[(f[t>>2]|0)+32>>2]&63](t,449742,449752,j)|0;t=f[n>>2]|0;l=f[m>>2]|0;v=t-l|0;e=l;l=t;if((v|0)>98){t=YBa(v+2|0)|0;if(!t)IQa();else{w=t;x=t}}else{w=r;x=0}if(!(b[p>>0]|0))y=w;else{b[w>>0]=45;y=w+1|0}w=j+10|0;p=j;t=e;e=y;y=l;while(1){if(t>>>0>=y>>>0)break;l=b[t>>0]|0;v=j;while(1){if((v|0)==(w|0)){z=w;break}if((b[v>>0]|0)==l<<24>>24){z=v;break}v=v+1|0}b[e>>0]=b[449742+(z-p)>>0]|0;t=t+1|0;e=e+1|0;y=f[n>>2]|0}b[e>>0]=0;f[k>>2]=i;if((yFa(r,449753,k)|0)!=1)NLa(0);if(x|0)ZBa(x)}x=f[c>>2]|0;do if(x){k=f[x+12>>2]|0;if((k|0)==(f[x+16>>2]|0))A=Wf[f[(f[x>>2]|0)+36>>2]&255](x)|0;else A=fGa(b[k>>0]|0)|0;if(dHa(A,eGa()|0)|0){f[c>>2]=0;B=1;break}else{B=(f[c>>2]|0)==0;break}}else B=1;while(0);A=f[d>>2]|0;do if(A){x=f[A+12>>2]|0;if((x|0)==(f[A+16>>2]|0))C=Wf[f[(f[A>>2]|0)+36>>2]&255](A)|0;else C=fGa(b[x>>0]|0)|0;if(!(dHa(C,eGa()|0)|0))if(B)break;else{D=34;break}else{f[d>>2]=0;D=32;break}}else D=32;while(0);if((D|0)==32?B:0)D=34;if((D|0)==34)f[h>>2]=f[h>>2]|2;h=f[c>>2]|0;zIa(o);o=f[m>>2]|0;f[m>>2]=0;if(o|0)qg[f[s>>2]&1023](o);u=a;return h|0}function IMa(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;a=u;u=u+144|0;j=a+24|0;k=a+32|0;l=a+16|0;m=a+8|0;n=a;o=a+28|0;p=a+4|0;f[l>>2]=k;q=l+4|0;f[q>>2]=930;eHa(n,g);r=yIa(n,810368)|0;b[o>>0]=0;s=f[d>>2]|0;f[p>>2]=s;t=f[g+4>>2]|0;f[j>>2]=f[p>>2];p=s;if(KMa(c,j,e,n,t,h,o,r,l,m,k+100|0)|0){k=i+11|0;if((b[k>>0]|0)<0){t=f[i>>2]|0;b[j>>0]=0;aHa(t,j);f[i+4>>2]=0}else{b[j>>0]=0;aHa(i,j);b[k>>0]=0}if(b[o>>0]|0)bRa(i,Zf[f[(f[r>>2]|0)+28>>2]&127](r,45)|0);o=Zf[f[(f[r>>2]|0)+28>>2]&127](r,48)|0;r=f[m>>2]|0;m=r+-1|0;k=f[l>>2]|0;while(1){if(k>>>0>=m>>>0)break;if((b[k>>0]|0)!=o<<24>>24)break;k=k+1|0}bZ(i,k,r)|0}r=f[c>>2]|0;do if(r){k=f[r+12>>2]|0;if((k|0)==(f[r+16>>2]|0))v=Wf[f[(f[r>>2]|0)+36>>2]&255](r)|0;else v=fGa(b[k>>0]|0)|0;if(dHa(v,eGa()|0)|0){f[c>>2]=0;w=1;break}else{w=(f[c>>2]|0)==0;break}}else w=1;while(0);do if(s){v=f[p+12>>2]|0;if((v|0)==(f[p+16>>2]|0))x=Wf[f[(f[s>>2]|0)+36>>2]&255](p)|0;else x=fGa(b[v>>0]|0)|0;if(!(dHa(x,eGa()|0)|0))if(w)break;else{y=27;break}else{f[d>>2]=0;y=25;break}}else y=25;while(0);if((y|0)==25?w:0)y=27;if((y|0)==27)f[h>>2]=f[h>>2]|2;h=f[c>>2]|0;zIa(n);n=f[l>>2]|0;f[l>>2]=0;if(n|0)qg[f[q>>2]&1023](n);u=a;return h|0}function JMa(a){a=a|0;return}function KMa(a,c,e,g,i,j,k,l,m,n,o){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0;p=u;u=u+512|0;q=p+88|0;r=p+96|0;s=p+80|0;t=p+72|0;v=p+68|0;w=p+500|0;x=p+497|0;y=p+496|0;z=p+56|0;A=p+44|0;B=p+32|0;C=p+20|0;D=p+8|0;E=p+4|0;F=p;f[q>>2]=o;f[s>>2]=r;o=s+4|0;f[o>>2]=930;f[t>>2]=r;f[v>>2]=r+400;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;r=0;while(1){if((r|0)==3)break;f[z+(r<<2)>>2]=0;r=r+1|0}f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;r=0;while(1){if((r|0)==3)break;f[A+(r<<2)>>2]=0;r=r+1|0}f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;r=0;while(1){if((r|0)==3)break;f[B+(r<<2)>>2]=0;r=r+1|0}f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;r=0;while(1){if((r|0)==3)break;f[C+(r<<2)>>2]=0;r=r+1|0}f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;r=0;while(1){if((r|0)==3)break;f[D+(r<<2)>>2]=0;r=r+1|0}LMa(e,g,w,x,y,z,A,B,C,E);f[n>>2]=f[m>>2];g=l+8|0;l=B+11|0;e=B+4|0;r=C+11|0;G=C+4|0;H=(i&512|0)!=0;i=A+11|0;I=A+4|0;J=D+11|0;K=D+4|0;L=w+3|0;M=z+11|0;N=z+4|0;O=0;P=0;a:while(1){if(P>>>0>=4){Q=234;break}R=f[a>>2]|0;do if(R){S=f[R+12>>2]|0;if((S|0)==(f[R+16>>2]|0))T=Wf[f[(f[R>>2]|0)+36>>2]&255](R)|0;else T=fGa(b[S>>0]|0)|0;if(dHa(T,eGa()|0)|0){f[a>>2]=0;U=1;break}else{U=(f[a>>2]|0)==0;break}}else U=1;while(0);R=f[c>>2]|0;do if(R){S=f[R+12>>2]|0;if((S|0)==(f[R+16>>2]|0))V=Wf[f[(f[R>>2]|0)+36>>2]&255](R)|0;else V=fGa(b[S>>0]|0)|0;if(!(dHa(V,eGa()|0)|0))if(U){W=R;break}else{Q=234;break a}else{f[c>>2]=0;Q=31;break}}else Q=31;while(0);if((Q|0)==31){Q=0;if(U){Q=234;break}else W=0}b:do switch(b[w+P>>0]|0){case 1:{if((P|0)==3)X=O;else{R=f[a>>2]|0;S=f[R+12>>2]|0;if((S|0)==(f[R+16>>2]|0))Y=Wf[f[(f[R>>2]|0)+36>>2]&255](R)|0;else Y=fGa(b[S>>0]|0)|0;if((Y&255)<<24>>24<=-1){Q=44;break a}if(!(d[(f[g>>2]|0)+(Y<<24>>24<<1)>>1]&8192)){Q=44;break a}S=f[a>>2]|0;R=S+12|0;Z=f[R>>2]|0;if((Z|0)==(f[S+16>>2]|0))_=Wf[f[(f[S>>2]|0)+40>>2]&255](S)|0;else{f[R>>2]=Z+1;_=fGa(b[Z>>0]|0)|0}bRa(D,_&255);$=W;aa=W;Q=46}break}case 0:{if((P|0)==3)X=O;else{$=W;aa=W;Q=46}break}case 3:{Z=b[l>>0]|0;R=Z<<24>>24<0?f[e>>2]|0:Z&255;Z=b[r>>0]|0;S=Z<<24>>24<0?f[G>>2]|0:Z&255;if((R|0)==(0-S|0))X=O;else{Z=(R|0)==0;R=f[a>>2]|0;ba=f[R+12>>2]|0;ca=(ba|0)==(f[R+16>>2]|0);if(Z|(S|0)==0){if(ca)da=Wf[f[(f[R>>2]|0)+36>>2]&255](R)|0;else da=fGa(b[ba>>0]|0)|0;S=da&255;if(Z){if((b[((b[r>>0]|0)<0?f[C>>2]|0:C)>>0]|0)!=S<<24>>24){X=O;break b}Z=f[a>>2]|0;ea=Z+12|0;fa=f[ea>>2]|0;if((fa|0)==(f[Z+16>>2]|0))Wf[f[(f[Z>>2]|0)+40>>2]&255](Z)|0;else{f[ea>>2]=fa+1;fGa(b[fa>>0]|0)|0}b[k>>0]=1;fa=b[r>>0]|0;X=(fa<<24>>24<0?f[G>>2]|0:fa&255)>>>0>1?C:O;break b}if((b[((b[l>>0]|0)<0?f[B>>2]|0:B)>>0]|0)!=S<<24>>24){b[k>>0]=1;X=O;break b}S=f[a>>2]|0;fa=S+12|0;ea=f[fa>>2]|0;if((ea|0)==(f[S+16>>2]|0))Wf[f[(f[S>>2]|0)+40>>2]&255](S)|0;else{f[fa>>2]=ea+1;fGa(b[ea>>0]|0)|0}ea=b[l>>0]|0;X=(ea<<24>>24<0?f[e>>2]|0:ea&255)>>>0>1?B:O;break b}if(ca)ga=Wf[f[(f[R>>2]|0)+36>>2]&255](R)|0;else ga=fGa(b[ba>>0]|0)|0;ba=f[a>>2]|0;R=ba+12|0;ca=f[R>>2]|0;ea=(ca|0)==(f[ba+16>>2]|0);if((b[((b[l>>0]|0)<0?f[B>>2]|0:B)>>0]|0)==(ga&255)<<24>>24){if(ea)Wf[f[(f[ba>>2]|0)+40>>2]&255](ba)|0;else{f[R>>2]=ca+1;fGa(b[ca>>0]|0)|0}R=b[l>>0]|0;X=(R<<24>>24<0?f[e>>2]|0:R&255)>>>0>1?B:O;break b}if(ea)ha=Wf[f[(f[ba>>2]|0)+36>>2]&255](ba)|0;else ha=fGa(b[ca>>0]|0)|0;if((b[((b[r>>0]|0)<0?f[C>>2]|0:C)>>0]|0)!=(ha&255)<<24>>24){Q=103;break a}ca=f[a>>2]|0;ba=ca+12|0;ea=f[ba>>2]|0;if((ea|0)==(f[ca+16>>2]|0))Wf[f[(f[ca>>2]|0)+40>>2]&255](ca)|0;else{f[ba>>2]=ea+1;fGa(b[ea>>0]|0)|0}b[k>>0]=1;ea=b[r>>0]|0;X=(ea<<24>>24<0?f[G>>2]|0:ea&255)>>>0>1?C:O}break}case 2:{if(!(P>>>0<2|(O|0)!=0)?!(H|(P|0)==2&(b[L>>0]|0)!=0):0){X=0;break b}ea=b[i>>0]|0;ba=ea<<24>>24<0;ca=f[A>>2]|0;R=ba?ca:A;fa=R;c:do if((P|0)!=0?(h[w+(P+-1)>>0]|0)<2:0){S=R+(ba?f[I>>2]|0:ea&255)|0;Z=fa;while(1){ia=Z;if((S|0)==(ia|0))break;ja=b[ia>>0]|0;if(ja<<24>>24<=-1)break;if(!(d[(f[g>>2]|0)+(ja<<24>>24<<1)>>1]&8192))break;Z=ia+1|0}S=Z-fa|0;ia=b[J>>0]|0;ja=ia<<24>>24<0;ka=f[K>>2]|0;la=ia&255;if(S>>>0<=(ja?ka:la)>>>0){ia=f[D>>2]|0;ma=(ja?ia:D)+(ja?ka:la)|0;na=R;oa=(ja?ia+ka|0:D+la|0)+(0-S)|0;while(1){if((oa|0)==(ma|0)){pa=W;qa=Z;ra=ea;sa=ca;ta=W;break c}if((b[oa>>0]|0)!=(b[na>>0]|0)){pa=W;qa=fa;ra=ea;sa=ca;ta=W;break c}na=na+1|0;oa=oa+1|0}}else{pa=W;qa=fa;ra=ea;sa=ca;ta=W}}else{pa=W;qa=fa;ra=ea;sa=ca;ta=W}while(0);d:while(1){ca=ra<<24>>24<0;ea=(ca?sa:A)+(ca?f[I>>2]|0:ra&255)|0;ca=qa;if((ea|0)==(ca|0)){ua=ea;break}ea=f[a>>2]|0;do if(ea){fa=f[ea+12>>2]|0;if((fa|0)==(f[ea+16>>2]|0))va=Wf[f[(f[ea>>2]|0)+36>>2]&255](ea)|0;else va=fGa(b[fa>>0]|0)|0;if(dHa(va,eGa()|0)|0){f[a>>2]=0;wa=1;break}else{wa=(f[a>>2]|0)==0;break}}else wa=1;while(0);do if(ta){ea=f[ta+12>>2]|0;if((ea|0)==(f[ta+16>>2]|0))xa=Wf[f[(f[ta>>2]|0)+36>>2]&255](ta)|0;else xa=fGa(b[ea>>0]|0)|0;if(!(dHa(xa,eGa()|0)|0))if(wa^(pa|0)==0){ya=pa;za=pa;break}else{ua=ca;break d}else{f[c>>2]=0;Aa=0;Q=132;break}}else{Aa=pa;Q=132}while(0);if((Q|0)==132){Q=0;if(wa){ua=ca;break}else{ya=Aa;za=0}}ea=f[a>>2]|0;fa=f[ea+12>>2]|0;if((fa|0)==(f[ea+16>>2]|0))Ba=Wf[f[(f[ea>>2]|0)+36>>2]&255](ea)|0;else Ba=fGa(b[fa>>0]|0)|0;if((b[ca>>0]|0)!=(Ba&255)<<24>>24){ua=ca;break}fa=f[a>>2]|0;ea=fa+12|0;R=f[ea>>2]|0;if((R|0)==(f[fa+16>>2]|0))Wf[f[(f[fa>>2]|0)+40>>2]&255](fa)|0;else{f[ea>>2]=R+1;fGa(b[R>>0]|0)|0}pa=ya;qa=ca+1|0;ra=b[i>>0]|0;sa=f[A>>2]|0;ta=za}if(H?(R=b[i>>0]|0,ea=R<<24>>24<0,((ea?f[A>>2]|0:A)+(ea?f[I>>2]|0:R&255)|0)!=(ua|0)):0){Q=144;break a}else X=O;break}case 4:{R=0;ea=W;fa=W;e:while(1){ba=f[a>>2]|0;do if(ba){oa=f[ba+12>>2]|0;if((oa|0)==(f[ba+16>>2]|0))Ca=Wf[f[(f[ba>>2]|0)+36>>2]&255](ba)|0;else Ca=fGa(b[oa>>0]|0)|0;if(dHa(Ca,eGa()|0)|0){f[a>>2]=0;Da=1;break}else{Da=(f[a>>2]|0)==0;break}}else Da=1;while(0);do if(fa){ba=f[fa+12>>2]|0;if((ba|0)==(f[fa+16>>2]|0))Ea=Wf[f[(f[fa>>2]|0)+36>>2]&255](fa)|0;else Ea=fGa(b[ba>>0]|0)|0;if(!(dHa(Ea,eGa()|0)|0))if(Da^(ea|0)==0){Fa=ea;Ga=ea;break}else{Ha=ea;break e}else{f[c>>2]=0;Ia=0;Q=158;break}}else{Ia=ea;Q=158}while(0);if((Q|0)==158){Q=0;if(Da){Ha=Ia;break}else{Fa=Ia;Ga=0}}ba=f[a>>2]|0;ca=f[ba+12>>2]|0;if((ca|0)==(f[ba+16>>2]|0))Ja=Wf[f[(f[ba>>2]|0)+36>>2]&255](ba)|0;else Ja=fGa(b[ca>>0]|0)|0;ca=Ja&255;if(ca<<24>>24>-1?(d[(f[g>>2]|0)+(Ja<<24>>24<<1)>>1]&2048)!=0:0){ba=f[n>>2]|0;if((ba|0)==(f[q>>2]|0)){MMa(m,n,q);Ka=f[n>>2]|0}else Ka=ba;f[n>>2]=Ka+1;b[Ka>>0]=ca;La=R+1|0}else{ba=b[M>>0]|0;if(!((b[y>>0]|0)==ca<<24>>24&(R|0?((ba<<24>>24<0?f[N>>2]|0:ba&255)|0)!=0:0))){Ha=Fa;break}ba=f[t>>2]|0;if((ba|0)==(f[v>>2]|0)){NMa(s,t,v);Ma=f[t>>2]|0}else Ma=ba;f[t>>2]=Ma+4;f[Ma>>2]=R;La=0}ba=f[a>>2]|0;ca=ba+12|0;oa=f[ca>>2]|0;if((oa|0)==(f[ba+16>>2]|0)){Wf[f[(f[ba>>2]|0)+40>>2]&255](ba)|0;R=La;ea=Fa;fa=Ga;continue}else{f[ca>>2]=oa+1;fGa(b[oa>>0]|0)|0;R=La;ea=Fa;fa=Ga;continue}}fa=f[t>>2]|0;if(R|0?(f[s>>2]|0)!=(fa|0):0){if((fa|0)==(f[v>>2]|0)){NMa(s,t,v);Na=f[t>>2]|0}else Na=fa;f[t>>2]=Na+4;f[Na>>2]=R}f:do if((f[E>>2]|0)>0){fa=f[a>>2]|0;do if(fa){ea=f[fa+12>>2]|0;if((ea|0)==(f[fa+16>>2]|0))Oa=Wf[f[(f[fa>>2]|0)+36>>2]&255](fa)|0;else Oa=fGa(b[ea>>0]|0)|0;if(dHa(Oa,eGa()|0)|0){f[a>>2]=0;Pa=1;break}else{Pa=(f[a>>2]|0)==0;break}}else Pa=1;while(0);do if(Ha){fa=f[Ha+12>>2]|0;if((fa|0)==(f[Ha+16>>2]|0))Qa=Wf[f[(f[Ha>>2]|0)+36>>2]&255](Ha)|0;else Qa=fGa(b[fa>>0]|0)|0;if(!(dHa(Qa,eGa()|0)|0))if(Pa){Ra=Ha;break}else{Q=232;break a}else{f[c>>2]=0;Q=193;break}}else Q=193;while(0);if((Q|0)==193){Q=0;if(Pa){Q=232;break a}else Ra=0}fa=f[a>>2]|0;ea=f[fa+12>>2]|0;if((ea|0)==(f[fa+16>>2]|0))Sa=Wf[f[(f[fa>>2]|0)+36>>2]&255](fa)|0;else Sa=fGa(b[ea>>0]|0)|0;if((b[x>>0]|0)!=(Sa&255)<<24>>24){Q=232;break a}ea=f[a>>2]|0;fa=ea+12|0;oa=f[fa>>2]|0;if((oa|0)==(f[ea+16>>2]|0)){Wf[f[(f[ea>>2]|0)+40>>2]&255](ea)|0;Ta=Ra;Ua=Ra}else{f[fa>>2]=oa+1;fGa(b[oa>>0]|0)|0;Ta=Ra;Ua=Ra}while(1){if((f[E>>2]|0)<=0)break f;oa=f[a>>2]|0;do if(oa){fa=f[oa+12>>2]|0;if((fa|0)==(f[oa+16>>2]|0))Va=Wf[f[(f[oa>>2]|0)+36>>2]&255](oa)|0;else Va=fGa(b[fa>>0]|0)|0;if(dHa(Va,eGa()|0)|0){f[a>>2]=0;Wa=1;break}else{Wa=(f[a>>2]|0)==0;break}}else Wa=1;while(0);do if(Ua){oa=f[Ua+12>>2]|0;if((oa|0)==(f[Ua+16>>2]|0))Xa=Wf[f[(f[Ua>>2]|0)+36>>2]&255](Ua)|0;else Xa=fGa(b[oa>>0]|0)|0;if(!(dHa(Xa,eGa()|0)|0))if(Wa^(Ta|0)==0){Ya=Ta;Za=Ta;break}else{Q=232;break a}else{f[c>>2]=0;_a=0;Q=216;break}}else{_a=Ta;Q=216}while(0);if((Q|0)==216){Q=0;if(Wa){Q=232;break a}else{Ya=_a;Za=0}}oa=f[a>>2]|0;fa=f[oa+12>>2]|0;if((fa|0)==(f[oa+16>>2]|0))$a=Wf[f[(f[oa>>2]|0)+36>>2]&255](oa)|0;else $a=fGa(b[fa>>0]|0)|0;if(($a&255)<<24>>24<=-1){Q=232;break a}if(!(d[(f[g>>2]|0)+($a<<24>>24<<1)>>1]&2048)){Q=232;break a}if((f[n>>2]|0)==(f[q>>2]|0))MMa(m,n,q);fa=f[a>>2]|0;oa=f[fa+12>>2]|0;if((oa|0)==(f[fa+16>>2]|0))ab=Wf[f[(f[fa>>2]|0)+36>>2]&255](fa)|0;else ab=fGa(b[oa>>0]|0)|0;oa=f[n>>2]|0;f[n>>2]=oa+1;b[oa>>0]=ab;f[E>>2]=(f[E>>2]|0)+-1;oa=f[a>>2]|0;fa=oa+12|0;ea=f[fa>>2]|0;if((ea|0)==(f[oa+16>>2]|0)){Wf[f[(f[oa>>2]|0)+40>>2]&255](oa)|0;Ta=Ya;Ua=Za;continue}else{f[fa>>2]=ea+1;fGa(b[ea>>0]|0)|0;Ta=Ya;Ua=Za;continue}}}while(0);if((f[n>>2]|0)==(f[m>>2]|0)){Q=232;break a}else X=O;break}default:X=O}while(0);g:do if((Q|0)==46)while(1){Q=0;R=f[a>>2]|0;do if(R){ea=f[R+12>>2]|0;if((ea|0)==(f[R+16>>2]|0))bb=Wf[f[(f[R>>2]|0)+36>>2]&255](R)|0;else bb=fGa(b[ea>>0]|0)|0;if(dHa(bb,eGa()|0)|0){f[a>>2]=0;cb=1;break}else{cb=(f[a>>2]|0)==0;break}}else cb=1;while(0);do if(aa){R=f[aa+12>>2]|0;if((R|0)==(f[aa+16>>2]|0))db=Wf[f[(f[aa>>2]|0)+36>>2]&255](aa)|0;else db=fGa(b[R>>0]|0)|0;if(!(dHa(db,eGa()|0)|0))if(cb^($|0)==0){eb=$;fb=$;break}else{X=O;break g}else{f[c>>2]=0;gb=0;Q=59;break}}else{gb=$;Q=59}while(0);if((Q|0)==59){Q=0;if(cb){X=O;break g}else{eb=gb;fb=0}}R=f[a>>2]|0;ea=f[R+12>>2]|0;if((ea|0)==(f[R+16>>2]|0))hb=Wf[f[(f[R>>2]|0)+36>>2]&255](R)|0;else hb=fGa(b[ea>>0]|0)|0;if((hb&255)<<24>>24<=-1){X=O;break g}if(!(d[(f[g>>2]|0)+(hb<<24>>24<<1)>>1]&8192)){X=O;break g}ea=f[a>>2]|0;R=ea+12|0;fa=f[R>>2]|0;if((fa|0)==(f[ea+16>>2]|0))ib=Wf[f[(f[ea>>2]|0)+40>>2]&255](ea)|0;else{f[R>>2]=fa+1;ib=fGa(b[fa>>0]|0)|0}bRa(D,ib&255);$=eb;aa=fb;Q=46}while(0);O=X;P=P+1|0}h:do if((Q|0)==44){f[j>>2]=f[j>>2]|4;jb=0}else if((Q|0)==103){f[j>>2]=f[j>>2]|4;jb=0}else if((Q|0)==144){f[j>>2]=f[j>>2]|4;jb=0}else if((Q|0)==232){f[j>>2]=f[j>>2]|4;jb=0}else if((Q|0)==234){i:do if(O|0){P=O+11|0;X=O+4|0;fb=1;j:while(1){aa=b[P>>0]|0;if(aa<<24>>24<0)kb=f[X>>2]|0;else kb=aa&255;if(fb>>>0>=kb>>>0)break i;aa=f[a>>2]|0;do if(aa){eb=f[aa+12>>2]|0;if((eb|0)==(f[aa+16>>2]|0))lb=Wf[f[(f[aa>>2]|0)+36>>2]&255](aa)|0;else lb=fGa(b[eb>>0]|0)|0;if(dHa(lb,eGa()|0)|0){f[a>>2]=0;mb=1;break}else{mb=(f[a>>2]|0)==0;break}}else mb=1;while(0);aa=f[c>>2]|0;do if(aa){eb=f[aa+12>>2]|0;if((eb|0)==(f[aa+16>>2]|0))nb=Wf[f[(f[aa>>2]|0)+36>>2]&255](aa)|0;else nb=fGa(b[eb>>0]|0)|0;if(!(dHa(nb,eGa()|0)|0))if(mb)break;else break j;else{f[c>>2]=0;Q=253;break}}else Q=253;while(0);if((Q|0)==253?(Q=0,mb):0)break;aa=f[a>>2]|0;eb=f[aa+12>>2]|0;if((eb|0)==(f[aa+16>>2]|0))ob=Wf[f[(f[aa>>2]|0)+36>>2]&255](aa)|0;else ob=fGa(b[eb>>0]|0)|0;if((b[P>>0]|0)<0)pb=f[O>>2]|0;else pb=O;if((b[pb+fb>>0]|0)!=(ob&255)<<24>>24)break;eb=fb+1|0;aa=f[a>>2]|0;$=aa+12|0;ib=f[$>>2]|0;if((ib|0)==(f[aa+16>>2]|0)){Wf[f[(f[aa>>2]|0)+40>>2]&255](aa)|0;fb=eb;continue}else{f[$>>2]=ib+1;fGa(b[ib>>0]|0)|0;fb=eb;continue}}f[j>>2]=f[j>>2]|4;jb=0;break h}while(0);fb=f[s>>2]|0;P=f[t>>2]|0;if((fb|0)!=(P|0)){f[F>>2]=0;NIa(z,fb,P,F);if(!(f[F>>2]|0)){jb=1;break}else{f[j>>2]=f[j>>2]|4;jb=0;break}}else jb=1}while(0);RQa(D);RQa(C);RQa(B);RQa(A);RQa(z);z=f[s>>2]|0;f[s>>2]=0;if(z|0)qg[f[o>>2]&1023](z);u=p;return jb|0}function LMa(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;m=u;u=u+16|0;n=m+12|0;o=m;if(a){a=yIa(c,812088)|0;zg[f[(f[a>>2]|0)+44>>2]&511](n,a);p=f[n>>2]|0;b[d>>0]=p;b[d+1>>0]=p>>8;b[d+2>>0]=p>>16;b[d+3>>0]=p>>24;zg[f[(f[a>>2]|0)+32>>2]&511](o,a);p=k+11|0;if((b[p>>0]|0)<0){q=f[k>>2]|0;b[n>>0]=0;aHa(q,n);f[k+4>>2]=0;r=k}else{b[n>>0]=0;aHa(k,n);b[p>>0]=0;r=k}WQa(k,0);f[r>>2]=f[o>>2];f[r+4>>2]=f[o+4>>2];f[r+8>>2]=f[o+8>>2];r=0;while(1){if((r|0)==3)break;f[o+(r<<2)>>2]=0;r=r+1|0}RQa(o);zg[f[(f[a>>2]|0)+28>>2]&511](o,a);r=j+11|0;if((b[r>>0]|0)<0){p=f[j>>2]|0;b[n>>0]=0;aHa(p,n);f[j+4>>2]=0;s=j}else{b[n>>0]=0;aHa(j,n);b[r>>0]=0;s=j}WQa(j,0);f[s>>2]=f[o>>2];f[s+4>>2]=f[o+4>>2];f[s+8>>2]=f[o+8>>2];s=0;while(1){if((s|0)==3)break;f[o+(s<<2)>>2]=0;s=s+1|0}RQa(o);s=Wf[f[(f[a>>2]|0)+12>>2]&255](a)|0;b[e>>0]=s;s=Wf[f[(f[a>>2]|0)+16>>2]&255](a)|0;b[g>>0]=s;zg[f[(f[a>>2]|0)+20>>2]&511](o,a);s=h+11|0;if((b[s>>0]|0)<0){r=f[h>>2]|0;b[n>>0]=0;aHa(r,n);f[h+4>>2]=0;t=h}else{b[n>>0]=0;aHa(h,n);b[s>>0]=0;t=h}WQa(h,0);f[t>>2]=f[o>>2];f[t+4>>2]=f[o+4>>2];f[t+8>>2]=f[o+8>>2];t=0;while(1){if((t|0)==3)break;f[o+(t<<2)>>2]=0;t=t+1|0}RQa(o);zg[f[(f[a>>2]|0)+24>>2]&511](o,a);t=i+11|0;if((b[t>>0]|0)<0){s=f[i>>2]|0;b[n>>0]=0;aHa(s,n);f[i+4>>2]=0;v=i}else{b[n>>0]=0;aHa(i,n);b[t>>0]=0;v=i}WQa(i,0);f[v>>2]=f[o>>2];f[v+4>>2]=f[o+4>>2];f[v+8>>2]=f[o+8>>2];v=0;while(1){if((v|0)==3)break;f[o+(v<<2)>>2]=0;v=v+1|0}RQa(o);w=Wf[f[(f[a>>2]|0)+36>>2]&255](a)|0}else{a=yIa(c,812080)|0;zg[f[(f[a>>2]|0)+44>>2]&511](n,a);c=f[n>>2]|0;b[d>>0]=c;b[d+1>>0]=c>>8;b[d+2>>0]=c>>16;b[d+3>>0]=c>>24;zg[f[(f[a>>2]|0)+32>>2]&511](o,a);c=k+11|0;if((b[c>>0]|0)<0){d=f[k>>2]|0;b[n>>0]=0;aHa(d,n);f[k+4>>2]=0;x=k}else{b[n>>0]=0;aHa(k,n);b[c>>0]=0;x=k}WQa(k,0);f[x>>2]=f[o>>2];f[x+4>>2]=f[o+4>>2];f[x+8>>2]=f[o+8>>2];x=0;while(1){if((x|0)==3)break;f[o+(x<<2)>>2]=0;x=x+1|0}RQa(o);zg[f[(f[a>>2]|0)+28>>2]&511](o,a);x=j+11|0;if((b[x>>0]|0)<0){k=f[j>>2]|0;b[n>>0]=0;aHa(k,n);f[j+4>>2]=0;y=j}else{b[n>>0]=0;aHa(j,n);b[x>>0]=0;y=j}WQa(j,0);f[y>>2]=f[o>>2];f[y+4>>2]=f[o+4>>2];f[y+8>>2]=f[o+8>>2];y=0;while(1){if((y|0)==3)break;f[o+(y<<2)>>2]=0;y=y+1|0}RQa(o);y=Wf[f[(f[a>>2]|0)+12>>2]&255](a)|0;b[e>>0]=y;y=Wf[f[(f[a>>2]|0)+16>>2]&255](a)|0;b[g>>0]=y;zg[f[(f[a>>2]|0)+20>>2]&511](o,a);y=h+11|0;if((b[y>>0]|0)<0){g=f[h>>2]|0;b[n>>0]=0;aHa(g,n);f[h+4>>2]=0;z=h}else{b[n>>0]=0;aHa(h,n);b[y>>0]=0;z=h}WQa(h,0);f[z>>2]=f[o>>2];f[z+4>>2]=f[o+4>>2];f[z+8>>2]=f[o+8>>2];z=0;while(1){if((z|0)==3)break;f[o+(z<<2)>>2]=0;z=z+1|0}RQa(o);zg[f[(f[a>>2]|0)+24>>2]&511](o,a);z=i+11|0;if((b[z>>0]|0)<0){h=f[i>>2]|0;b[n>>0]=0;aHa(h,n);f[i+4>>2]=0;A=i}else{b[n>>0]=0;aHa(i,n);b[z>>0]=0;A=i}WQa(i,0);f[A>>2]=f[o>>2];f[A+4>>2]=f[o+4>>2];f[A+8>>2]=f[o+8>>2];A=0;while(1){if((A|0)==3)break;f[o+(A<<2)>>2]=0;A=A+1|0}RQa(o);w=Wf[f[(f[a>>2]|0)+36>>2]&255](a)|0}f[l>>2]=w;u=m;return}function MMa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=a+4|0;e=(f[d>>2]|0)!=930;g=f[a>>2]|0;h=(f[c>>2]|0)-g|0;i=h>>>0<2147483647?h<<1:-1;h=(i|0)==0?1:i;i=(f[b>>2]|0)-g|0;j=$Ba(e?g:0,h)|0;if(!j)IQa();if(!e){e=f[a>>2]|0;f[a>>2]=j;if(!e)k=j;else{qg[f[d>>2]&1023](e);k=f[a>>2]|0}}else{f[a>>2]=j;k=j}f[d>>2]=931;f[b>>2]=k+i;f[c>>2]=(f[a>>2]|0)+h;return}function NMa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=a+4|0;e=(f[d>>2]|0)!=930;g=f[a>>2]|0;h=(f[c>>2]|0)-g|0;i=h>>>0<2147483647?h<<1:-1;h=(i|0)==0?4:i;i=(f[b>>2]|0)-g>>2;j=$Ba(e?g:0,h)|0;if(!j)IQa();if(!e){e=f[a>>2]|0;f[a>>2]=j;if(!e)k=j;else{qg[f[d>>2]&1023](e);k=f[a>>2]|0}}else{f[a>>2]=j;k=j}f[d>>2]=931;f[b>>2]=k+(i<<2);f[c>>2]=(f[a>>2]|0)+(h>>>2<<2);return}function OMa(a){a=a|0;eIa(a);return}function PMa(a){a=a|0;eIa(a);GQa(a);return}function QMa(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;a=u;u=u+576|0;j=a+424|0;k=a;l=a+24|0;m=a+16|0;n=a+12|0;o=a+8|0;p=a+564|0;q=a+4|0;r=a+464|0;f[m>>2]=l;s=m+4|0;f[s>>2]=930;eHa(o,g);t=yIa(o,810400)|0;b[p>>0]=0;f[q>>2]=f[d>>2];v=f[g+4>>2]|0;f[j>>2]=f[q>>2];if(SMa(c,j,e,o,v,h,p,t,m,n,l+400|0)|0){dg[f[(f[t>>2]|0)+48>>2]&63](t,449852,449862,j)|0;t=f[n>>2]|0;l=f[m>>2]|0;v=t-l|0;e=l;l=t;if((v|0)>392){t=YBa((v>>>2)+2|0)|0;if(!t)IQa();else{w=t;x=t}}else{w=r;x=0}if(!(b[p>>0]|0))y=w;else{b[w>>0]=45;y=w+1|0}w=j+40|0;p=j;t=e;e=y;y=l;while(1){if(t>>>0>=y>>>0)break;l=f[t>>2]|0;v=j;while(1){if((v|0)==(w|0)){z=w;break}if((f[v>>2]|0)==(l|0)){z=v;break}v=v+4|0}b[e>>0]=b[449852+(z-p>>2)>>0]|0;t=t+4|0;e=e+1|0;y=f[n>>2]|0}b[e>>0]=0;f[k>>2]=i;if((yFa(r,449753,k)|0)!=1)NLa(0);if(x|0)ZBa(x)}x=f[c>>2]|0;do if(x){k=f[x+12>>2]|0;if((k|0)==(f[x+16>>2]|0))A=Wf[f[(f[x>>2]|0)+36>>2]&255](x)|0;else A=xGa(f[k>>2]|0)|0;if(fHa(A,wGa()|0)|0){f[c>>2]=0;B=1;break}else{B=(f[c>>2]|0)==0;break}}else B=1;while(0);A=f[d>>2]|0;do if(A){x=f[A+12>>2]|0;if((x|0)==(f[A+16>>2]|0))C=Wf[f[(f[A>>2]|0)+36>>2]&255](A)|0;else C=xGa(f[x>>2]|0)|0;if(!(fHa(C,wGa()|0)|0))if(B)break;else{D=34;break}else{f[d>>2]=0;D=32;break}}else D=32;while(0);if((D|0)==32?B:0)D=34;if((D|0)==34)f[h>>2]=f[h>>2]|2;h=f[c>>2]|0;zIa(o);o=f[m>>2]|0;f[m>>2]=0;if(o|0)qg[f[s>>2]&1023](o);u=a;return h|0}function RMa(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;a=u;u=u+432|0;j=a+424|0;k=a+24|0;l=a+16|0;m=a+8|0;n=a;o=a+428|0;p=a+4|0;f[l>>2]=k;q=l+4|0;f[q>>2]=930;eHa(n,g);r=yIa(n,810400)|0;b[o>>0]=0;s=f[d>>2]|0;f[p>>2]=s;t=f[g+4>>2]|0;f[j>>2]=f[p>>2];p=s;if(SMa(c,j,e,n,t,h,o,r,l,m,k+400|0)|0){k=i+8+3|0;if((b[k>>0]|0)<0){t=f[i>>2]|0;f[j>>2]=0;kIa(t,j);f[i+4>>2]=0}else{f[j>>2]=0;kIa(i,j);b[k>>0]=0}if(b[o>>0]|0)pRa(i,Zf[f[(f[r>>2]|0)+44>>2]&127](r,45)|0);o=Zf[f[(f[r>>2]|0)+44>>2]&127](r,48)|0;r=f[m>>2]|0;m=r+-4|0;k=f[l>>2]|0;while(1){if(k>>>0>=m>>>0)break;if((f[k>>2]|0)!=(o|0))break;k=k+4|0}TMa(i,k,r)|0}r=f[c>>2]|0;do if(r){k=f[r+12>>2]|0;if((k|0)==(f[r+16>>2]|0))v=Wf[f[(f[r>>2]|0)+36>>2]&255](r)|0;else v=xGa(f[k>>2]|0)|0;if(fHa(v,wGa()|0)|0){f[c>>2]=0;w=1;break}else{w=(f[c>>2]|0)==0;break}}else w=1;while(0);do if(s){v=f[p+12>>2]|0;if((v|0)==(f[p+16>>2]|0))x=Wf[f[(f[s>>2]|0)+36>>2]&255](p)|0;else x=xGa(f[v>>2]|0)|0;if(!(fHa(x,wGa()|0)|0))if(w)break;else{y=27;break}else{f[d>>2]=0;y=25;break}}else y=25;while(0);if((y|0)==25?w:0)y=27;if((y|0)==27)f[h>>2]=f[h>>2]|2;h=f[c>>2]|0;zIa(n);n=f[l>>2]|0;f[l>>2]=0;if(n|0)qg[f[q>>2]&1023](n);u=a;return h|0}function SMa(a,c,d,e,g,i,j,k,l,m,n){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0;o=u;u=u+512|0;p=o+96|0;q=o+104|0;r=o+88|0;s=o+80|0;t=o+76|0;v=o+504|0;w=o+72|0;x=o+68|0;y=o+56|0;z=o+44|0;A=o+32|0;B=o+20|0;C=o+8|0;D=o+4|0;E=o;f[p>>2]=n;f[r>>2]=q;n=r+4|0;f[n>>2]=930;f[s>>2]=q;f[t>>2]=q+400;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;q=0;while(1){if((q|0)==3)break;f[y+(q<<2)>>2]=0;q=q+1|0}f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;q=0;while(1){if((q|0)==3)break;f[z+(q<<2)>>2]=0;q=q+1|0}f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;q=0;while(1){if((q|0)==3)break;f[A+(q<<2)>>2]=0;q=q+1|0}f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;q=0;while(1){if((q|0)==3)break;f[B+(q<<2)>>2]=0;q=q+1|0}f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;q=0;while(1){if((q|0)==3)break;f[C+(q<<2)>>2]=0;q=q+1|0}VMa(d,e,v,w,x,y,z,A,B,D);f[m>>2]=f[l>>2];e=A+8+3|0;d=A+4|0;q=B+8+3|0;F=B+4|0;G=(g&512|0)!=0;g=z+8+3|0;H=z+4|0;I=C+8+3|0;J=C+4|0;K=v+3|0;L=y+11|0;M=y+4|0;N=0;O=0;a:while(1){if(O>>>0>=4){P=229;break}Q=f[a>>2]|0;do if(Q){R=f[Q+12>>2]|0;if((R|0)==(f[Q+16>>2]|0))S=Wf[f[(f[Q>>2]|0)+36>>2]&255](Q)|0;else S=xGa(f[R>>2]|0)|0;if(fHa(S,wGa()|0)|0){f[a>>2]=0;T=1;break}else{T=(f[a>>2]|0)==0;break}}else T=1;while(0);Q=f[c>>2]|0;do if(Q){R=f[Q+12>>2]|0;if((R|0)==(f[Q+16>>2]|0))U=Wf[f[(f[Q>>2]|0)+36>>2]&255](Q)|0;else U=xGa(f[R>>2]|0)|0;if(!(fHa(U,wGa()|0)|0))if(T){V=Q;break}else{P=229;break a}else{f[c>>2]=0;P=31;break}}else P=31;while(0);if((P|0)==31){P=0;if(T){P=229;break}else V=0}b:do switch(b[v+O>>0]|0){case 1:{if((O|0)==3)W=N;else{Q=f[a>>2]|0;R=f[Q+12>>2]|0;if((R|0)==(f[Q+16>>2]|0))X=Wf[f[(f[Q>>2]|0)+36>>2]&255](Q)|0;else X=xGa(f[R>>2]|0)|0;if(!(bg[f[(f[k>>2]|0)+12>>2]&127](k,8192,X)|0)){P=43;break a}R=f[a>>2]|0;Q=R+12|0;Y=f[Q>>2]|0;if((Y|0)==(f[R+16>>2]|0))Z=Wf[f[(f[R>>2]|0)+40>>2]&255](R)|0;else{f[Q>>2]=Y+4;Z=xGa(f[Y>>2]|0)|0}pRa(C,Z);_=V;$=V;P=45}break}case 0:{if((O|0)==3)W=N;else{_=V;$=V;P=45}break}case 3:{Y=b[e>>0]|0;Q=Y<<24>>24<0?f[d>>2]|0:Y&255;Y=b[q>>0]|0;R=Y<<24>>24<0?f[F>>2]|0:Y&255;if((Q|0)==(0-R|0))W=N;else{Y=(Q|0)==0;Q=f[a>>2]|0;aa=f[Q+12>>2]|0;ba=(aa|0)==(f[Q+16>>2]|0);if(Y|(R|0)==0){if(ba)ca=Wf[f[(f[Q>>2]|0)+36>>2]&255](Q)|0;else ca=xGa(f[aa>>2]|0)|0;if(Y){if((ca|0)!=(f[((b[q>>0]|0)<0?f[B>>2]|0:B)>>2]|0)){W=N;break b}Y=f[a>>2]|0;R=Y+12|0;da=f[R>>2]|0;if((da|0)==(f[Y+16>>2]|0))Wf[f[(f[Y>>2]|0)+40>>2]&255](Y)|0;else{f[R>>2]=da+4;xGa(f[da>>2]|0)|0}b[j>>0]=1;da=b[q>>0]|0;W=(da<<24>>24<0?f[F>>2]|0:da&255)>>>0>1?B:N;break b}if((ca|0)!=(f[((b[e>>0]|0)<0?f[A>>2]|0:A)>>2]|0)){b[j>>0]=1;W=N;break b}da=f[a>>2]|0;R=da+12|0;Y=f[R>>2]|0;if((Y|0)==(f[da+16>>2]|0))Wf[f[(f[da>>2]|0)+40>>2]&255](da)|0;else{f[R>>2]=Y+4;xGa(f[Y>>2]|0)|0}Y=b[e>>0]|0;W=(Y<<24>>24<0?f[d>>2]|0:Y&255)>>>0>1?A:N;break b}if(ba)ea=Wf[f[(f[Q>>2]|0)+36>>2]&255](Q)|0;else ea=xGa(f[aa>>2]|0)|0;aa=f[a>>2]|0;Q=aa+12|0;ba=f[Q>>2]|0;Y=(ba|0)==(f[aa+16>>2]|0);if((ea|0)==(f[((b[e>>0]|0)<0?f[A>>2]|0:A)>>2]|0)){if(Y)Wf[f[(f[aa>>2]|0)+40>>2]&255](aa)|0;else{f[Q>>2]=ba+4;xGa(f[ba>>2]|0)|0}Q=b[e>>0]|0;W=(Q<<24>>24<0?f[d>>2]|0:Q&255)>>>0>1?A:N;break b}if(Y)fa=Wf[f[(f[aa>>2]|0)+36>>2]&255](aa)|0;else fa=xGa(f[ba>>2]|0)|0;if((fa|0)!=(f[((b[q>>0]|0)<0?f[B>>2]|0:B)>>2]|0)){P=101;break a}ba=f[a>>2]|0;aa=ba+12|0;Y=f[aa>>2]|0;if((Y|0)==(f[ba+16>>2]|0))Wf[f[(f[ba>>2]|0)+40>>2]&255](ba)|0;else{f[aa>>2]=Y+4;xGa(f[Y>>2]|0)|0}b[j>>0]=1;Y=b[q>>0]|0;W=(Y<<24>>24<0?f[F>>2]|0:Y&255)>>>0>1?B:N}break}case 2:{if(!(O>>>0<2|(N|0)!=0)?!(G|(O|0)==2&(b[K>>0]|0)!=0):0){W=0;break b}Y=b[g>>0]|0;aa=f[z>>2]|0;ba=Y<<24>>24<0?aa:z;c:do if((O|0)!=0?(h[v+(O+-1)>>0]|0)<2:0){Q=ba;R=Y;da=aa;while(1){ga=R<<24>>24<0;ha=Q;if(((ga?da:z)+((ga?f[H>>2]|0:R&255)<<2)|0)==(ha|0)){ia=R;ja=da;break}if(!(bg[f[(f[k>>2]|0)+12>>2]&127](k,8192,f[ha>>2]|0)|0)){P=108;break}Q=ha+4|0;R=b[g>>0]|0;da=f[z>>2]|0}if((P|0)==108){P=0;ia=b[g>>0]|0;ja=f[z>>2]|0}da=ia<<24>>24<0?ja:z;R=da;ha=Q-R>>2;ga=b[I>>0]|0;ka=ga<<24>>24<0;la=f[J>>2]|0;ma=ga&255;if(ha>>>0>(ka?la:ma)>>>0){na=V;oa=R;pa=ia;qa=ja;ra=V}else{ga=f[C>>2]|0;sa=(ka?ga:C)+((ka?la:ma)<<2)|0;ta=da;da=(ka?ga+(la<<2)|0:C+(ma<<2)|0)+(0-ha<<2)|0;while(1){if((da|0)==(sa|0)){na=V;oa=Q;pa=ia;qa=ja;ra=V;break c}if((f[da>>2]|0)!=(f[ta>>2]|0)){na=V;oa=R;pa=ia;qa=ja;ra=V;break c}ta=ta+4|0;da=da+4|0}}}else{na=V;oa=ba;pa=Y;qa=aa;ra=V}while(0);d:while(1){aa=pa<<24>>24<0;Y=(aa?qa:z)+((aa?f[H>>2]|0:pa&255)<<2)|0;aa=oa;if((Y|0)==(aa|0)){ua=Y;break}Y=f[a>>2]|0;do if(Y){ba=f[Y+12>>2]|0;if((ba|0)==(f[Y+16>>2]|0))va=Wf[f[(f[Y>>2]|0)+36>>2]&255](Y)|0;else va=xGa(f[ba>>2]|0)|0;if(fHa(va,wGa()|0)|0){f[a>>2]=0;wa=1;break}else{wa=(f[a>>2]|0)==0;break}}else wa=1;while(0);do if(ra){Y=f[ra+12>>2]|0;if((Y|0)==(f[ra+16>>2]|0))xa=Wf[f[(f[ra>>2]|0)+36>>2]&255](ra)|0;else xa=xGa(f[Y>>2]|0)|0;if(!(fHa(xa,wGa()|0)|0))if(wa^(na|0)==0){ya=na;za=na;break}else{ua=aa;break d}else{f[c>>2]=0;Aa=0;P=129;break}}else{Aa=na;P=129}while(0);if((P|0)==129){P=0;if(wa){ua=aa;break}else{ya=Aa;za=0}}Y=f[a>>2]|0;ba=f[Y+12>>2]|0;if((ba|0)==(f[Y+16>>2]|0))Ba=Wf[f[(f[Y>>2]|0)+36>>2]&255](Y)|0;else Ba=xGa(f[ba>>2]|0)|0;if((Ba|0)!=(f[aa>>2]|0)){ua=aa;break}ba=f[a>>2]|0;Y=ba+12|0;da=f[Y>>2]|0;if((da|0)==(f[ba+16>>2]|0))Wf[f[(f[ba>>2]|0)+40>>2]&255](ba)|0;else{f[Y>>2]=da+4;xGa(f[da>>2]|0)|0}na=ya;oa=aa+4|0;pa=b[g>>0]|0;qa=f[z>>2]|0;ra=za}if(G?(da=b[g>>0]|0,Y=da<<24>>24<0,((Y?f[z>>2]|0:z)+((Y?f[H>>2]|0:da&255)<<2)|0)!=(ua|0)):0){P=141;break a}else W=N;break}case 4:{da=0;Y=V;ba=V;e:while(1){ta=f[a>>2]|0;do if(ta){R=f[ta+12>>2]|0;if((R|0)==(f[ta+16>>2]|0))Ca=Wf[f[(f[ta>>2]|0)+36>>2]&255](ta)|0;else Ca=xGa(f[R>>2]|0)|0;if(fHa(Ca,wGa()|0)|0){f[a>>2]=0;Da=1;break}else{Da=(f[a>>2]|0)==0;break}}else Da=1;while(0);do if(ba){ta=f[ba+12>>2]|0;if((ta|0)==(f[ba+16>>2]|0))Ea=Wf[f[(f[ba>>2]|0)+36>>2]&255](ba)|0;else Ea=xGa(f[ta>>2]|0)|0;if(!(fHa(Ea,wGa()|0)|0))if(Da^(Y|0)==0){Fa=Y;Ga=Y;break}else{Ha=Y;break e}else{f[c>>2]=0;Ia=0;P=155;break}}else{Ia=Y;P=155}while(0);if((P|0)==155){P=0;if(Da){Ha=Ia;break}else{Fa=Ia;Ga=0}}ta=f[a>>2]|0;aa=f[ta+12>>2]|0;if((aa|0)==(f[ta+16>>2]|0))Ja=Wf[f[(f[ta>>2]|0)+36>>2]&255](ta)|0;else Ja=xGa(f[aa>>2]|0)|0;if(bg[f[(f[k>>2]|0)+12>>2]&127](k,2048,Ja)|0){aa=f[m>>2]|0;if((aa|0)==(f[p>>2]|0)){WMa(l,m,p);Ka=f[m>>2]|0}else Ka=aa;f[m>>2]=Ka+4;f[Ka>>2]=Ja;La=da+1|0}else{aa=b[L>>0]|0;if(!((Ja|0)==(f[x>>2]|0)&(da|0?((aa<<24>>24<0?f[M>>2]|0:aa&255)|0)!=0:0))){Ha=Fa;break}aa=f[s>>2]|0;if((aa|0)==(f[t>>2]|0)){NMa(r,s,t);Ma=f[s>>2]|0}else Ma=aa;f[s>>2]=Ma+4;f[Ma>>2]=da;La=0}aa=f[a>>2]|0;ta=aa+12|0;R=f[ta>>2]|0;if((R|0)==(f[aa+16>>2]|0)){Wf[f[(f[aa>>2]|0)+40>>2]&255](aa)|0;da=La;Y=Fa;ba=Ga;continue}else{f[ta>>2]=R+4;xGa(f[R>>2]|0)|0;da=La;Y=Fa;ba=Ga;continue}}ba=f[s>>2]|0;if(da|0?(f[r>>2]|0)!=(ba|0):0){if((ba|0)==(f[t>>2]|0)){NMa(r,s,t);Na=f[s>>2]|0}else Na=ba;f[s>>2]=Na+4;f[Na>>2]=da}f:do if((f[D>>2]|0)>0){ba=f[a>>2]|0;do if(ba){Y=f[ba+12>>2]|0;if((Y|0)==(f[ba+16>>2]|0))Oa=Wf[f[(f[ba>>2]|0)+36>>2]&255](ba)|0;else Oa=xGa(f[Y>>2]|0)|0;if(fHa(Oa,wGa()|0)|0){f[a>>2]=0;Pa=1;break}else{Pa=(f[a>>2]|0)==0;break}}else Pa=1;while(0);do if(Ha){ba=f[Ha+12>>2]|0;if((ba|0)==(f[Ha+16>>2]|0))Qa=Wf[f[(f[Ha>>2]|0)+36>>2]&255](Ha)|0;else Qa=xGa(f[ba>>2]|0)|0;if(!(fHa(Qa,wGa()|0)|0))if(Pa){Ra=Ha;break}else{P=227;break a}else{f[c>>2]=0;P=189;break}}else P=189;while(0);if((P|0)==189){P=0;if(Pa){P=227;break a}else Ra=0}ba=f[a>>2]|0;Y=f[ba+12>>2]|0;if((Y|0)==(f[ba+16>>2]|0))Sa=Wf[f[(f[ba>>2]|0)+36>>2]&255](ba)|0;else Sa=xGa(f[Y>>2]|0)|0;if((Sa|0)!=(f[w>>2]|0)){P=227;break a}Y=f[a>>2]|0;ba=Y+12|0;R=f[ba>>2]|0;if((R|0)==(f[Y+16>>2]|0)){Wf[f[(f[Y>>2]|0)+40>>2]&255](Y)|0;Ta=Ra;Ua=Ra}else{f[ba>>2]=R+4;xGa(f[R>>2]|0)|0;Ta=Ra;Ua=Ra}while(1){if((f[D>>2]|0)<=0)break f;R=f[a>>2]|0;do if(R){ba=f[R+12>>2]|0;if((ba|0)==(f[R+16>>2]|0))Va=Wf[f[(f[R>>2]|0)+36>>2]&255](R)|0;else Va=xGa(f[ba>>2]|0)|0;if(fHa(Va,wGa()|0)|0){f[a>>2]=0;Wa=1;break}else{Wa=(f[a>>2]|0)==0;break}}else Wa=1;while(0);do if(Ua){R=f[Ua+12>>2]|0;if((R|0)==(f[Ua+16>>2]|0))Xa=Wf[f[(f[Ua>>2]|0)+36>>2]&255](Ua)|0;else Xa=xGa(f[R>>2]|0)|0;if(!(fHa(Xa,wGa()|0)|0))if(Wa^(Ta|0)==0){Ya=Ta;Za=Ta;break}else{P=227;break a}else{f[c>>2]=0;_a=0;P=212;break}}else{_a=Ta;P=212}while(0);if((P|0)==212){P=0;if(Wa){P=227;break a}else{Ya=_a;Za=0}}R=f[a>>2]|0;ba=f[R+12>>2]|0;if((ba|0)==(f[R+16>>2]|0))$a=Wf[f[(f[R>>2]|0)+36>>2]&255](R)|0;else $a=xGa(f[ba>>2]|0)|0;if(!(bg[f[(f[k>>2]|0)+12>>2]&127](k,2048,$a)|0)){P=227;break a}if((f[m>>2]|0)==(f[p>>2]|0))WMa(l,m,p);ba=f[a>>2]|0;R=f[ba+12>>2]|0;if((R|0)==(f[ba+16>>2]|0))ab=Wf[f[(f[ba>>2]|0)+36>>2]&255](ba)|0;else ab=xGa(f[R>>2]|0)|0;R=f[m>>2]|0;f[m>>2]=R+4;f[R>>2]=ab;f[D>>2]=(f[D>>2]|0)+-1;R=f[a>>2]|0;ba=R+12|0;Y=f[ba>>2]|0;if((Y|0)==(f[R+16>>2]|0)){Wf[f[(f[R>>2]|0)+40>>2]&255](R)|0;Ta=Ya;Ua=Za;continue}else{f[ba>>2]=Y+4;xGa(f[Y>>2]|0)|0;Ta=Ya;Ua=Za;continue}}}while(0);if((f[m>>2]|0)==(f[l>>2]|0)){P=227;break a}else W=N;break}default:W=N}while(0);g:do if((P|0)==45)while(1){P=0;da=f[a>>2]|0;do if(da){Y=f[da+12>>2]|0;if((Y|0)==(f[da+16>>2]|0))bb=Wf[f[(f[da>>2]|0)+36>>2]&255](da)|0;else bb=xGa(f[Y>>2]|0)|0;if(fHa(bb,wGa()|0)|0){f[a>>2]=0;cb=1;break}else{cb=(f[a>>2]|0)==0;break}}else cb=1;while(0);do if($){da=f[$+12>>2]|0;if((da|0)==(f[$+16>>2]|0))db=Wf[f[(f[$>>2]|0)+36>>2]&255]($)|0;else db=xGa(f[da>>2]|0)|0;if(!(fHa(db,wGa()|0)|0))if(cb^(_|0)==0){eb=_;fb=_;break}else{W=N;break g}else{f[c>>2]=0;gb=0;P=58;break}}else{gb=_;P=58}while(0);if((P|0)==58){P=0;if(cb){W=N;break g}else{eb=gb;fb=0}}da=f[a>>2]|0;Y=f[da+12>>2]|0;if((Y|0)==(f[da+16>>2]|0))hb=Wf[f[(f[da>>2]|0)+36>>2]&255](da)|0;else hb=xGa(f[Y>>2]|0)|0;if(!(bg[f[(f[k>>2]|0)+12>>2]&127](k,8192,hb)|0)){W=N;break g}Y=f[a>>2]|0;da=Y+12|0;ba=f[da>>2]|0;if((ba|0)==(f[Y+16>>2]|0))ib=Wf[f[(f[Y>>2]|0)+40>>2]&255](Y)|0;else{f[da>>2]=ba+4;ib=xGa(f[ba>>2]|0)|0}pRa(C,ib);_=eb;$=fb;P=45}while(0);N=W;O=O+1|0}h:do if((P|0)==43){f[i>>2]=f[i>>2]|4;jb=0}else if((P|0)==101){f[i>>2]=f[i>>2]|4;jb=0}else if((P|0)==141){f[i>>2]=f[i>>2]|4;jb=0}else if((P|0)==227){f[i>>2]=f[i>>2]|4;jb=0}else if((P|0)==229){i:do if(N|0){O=N+8+3|0;W=N+4|0;fb=1;j:while(1){$=b[O>>0]|0;if($<<24>>24<0)kb=f[W>>2]|0;else kb=$&255;if(fb>>>0>=kb>>>0)break i;$=f[a>>2]|0;do if($){eb=f[$+12>>2]|0;if((eb|0)==(f[$+16>>2]|0))lb=Wf[f[(f[$>>2]|0)+36>>2]&255]($)|0;else lb=xGa(f[eb>>2]|0)|0;if(fHa(lb,wGa()|0)|0){f[a>>2]=0;mb=1;break}else{mb=(f[a>>2]|0)==0;break}}else mb=1;while(0);$=f[c>>2]|0;do if($){eb=f[$+12>>2]|0;if((eb|0)==(f[$+16>>2]|0))nb=Wf[f[(f[$>>2]|0)+36>>2]&255]($)|0;else nb=xGa(f[eb>>2]|0)|0;if(!(fHa(nb,wGa()|0)|0))if(mb)break;else break j;else{f[c>>2]=0;P=248;break}}else P=248;while(0);if((P|0)==248?(P=0,mb):0)break;$=f[a>>2]|0;eb=f[$+12>>2]|0;if((eb|0)==(f[$+16>>2]|0))ob=Wf[f[(f[$>>2]|0)+36>>2]&255]($)|0;else ob=xGa(f[eb>>2]|0)|0;if((b[O>>0]|0)<0)pb=f[N>>2]|0;else pb=N;if((ob|0)!=(f[pb+(fb<<2)>>2]|0))break;eb=fb+1|0;$=f[a>>2]|0;_=$+12|0;ib=f[_>>2]|0;if((ib|0)==(f[$+16>>2]|0)){Wf[f[(f[$>>2]|0)+40>>2]&255]($)|0;fb=eb;continue}else{f[_>>2]=ib+4;xGa(f[ib>>2]|0)|0;fb=eb;continue}}f[i>>2]=f[i>>2]|4;jb=0;break h}while(0);fb=f[r>>2]|0;O=f[s>>2]|0;if((fb|0)!=(O|0)){f[E>>2]=0;NIa(y,fb,O,E);if(!(f[E>>2]|0)){jb=1;break}else{f[i>>2]=f[i>>2]|4;jb=0;break}}else jb=1}while(0);hRa(C);hRa(B);hRa(A);hRa(z);RQa(y);y=f[r>>2]|0;f[r>>2]=0;if(y|0)qg[f[n>>2]&1023](y);u=o;return jb|0}function TMa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;e=u;u=u+16|0;g=e+12|0;h=e;i=a+8|0;j=i+3|0;k=b[j>>0]|0;l=k<<24>>24<0;if(l){m=f[a+4>>2]|0;n=(f[i>>2]&2147483647)+-1|0}else{m=k&255;n=1}i=d-c>>2;do if(i|0){if(l){o=f[a>>2]|0;p=f[a+4>>2]|0}else{o=a;p=k&255}if(UMa(c,o,o+(p<<2)|0)|0){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;if(i>>>0>1073741807)NQa(h);do if(i>>>0>=2){q=i+4&-4;if(q>>>0>1073741823)ne();else{r=EQa(q<<2)|0;f[h>>2]=r;f[h+8>>2]=q|-2147483648;f[h+4>>2]=i;s=c;t=r;break}}else{b[h+8+3>>0]=i;s=c;t=h}while(0);while(1){if((s|0)==(d|0))break;kIa(t,s);s=s+4|0;t=t+4|0}f[g>>2]=0;kIa(t,g);r=b[h+8+3>>0]|0;q=r<<24>>24<0;oRa(a,q?f[h>>2]|0:h,q?f[h+4>>2]|0:r&255)|0;hRa(h);break}if((n-m|0)>>>0>>0)nRa(a,n,m+i-n|0,m,m,0,0);if((b[j>>0]|0)<0)v=f[a>>2]|0;else v=a;r=v+(m<<2)|0;q=c;while(1){if((q|0)==(d|0))break;kIa(r,q);r=r+4|0;q=q+4|0}f[g>>2]=0;kIa(r,g);q=m+i|0;if((b[j>>0]|0)<0){f[a+4>>2]=q;break}else{b[j>>0]=q;break}}while(0);u=e;return a|0}function UMa(a,b,c){a=a|0;b=b|0;c=c|0;return b>>>0<=a>>>0&a>>>0>>0|0}function VMa(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=u;u=u+16|0;n=m+12|0;o=m;if(a){a=yIa(c,812104)|0;zg[f[(f[a>>2]|0)+44>>2]&511](n,a);p=f[n>>2]|0;b[d>>0]=p;b[d+1>>0]=p>>8;b[d+2>>0]=p>>16;b[d+3>>0]=p>>24;zg[f[(f[a>>2]|0)+32>>2]&511](o,a);p=k+8+3|0;if((b[p>>0]|0)<0){q=f[k>>2]|0;f[n>>2]=0;kIa(q,n);f[k+4>>2]=0}else{f[n>>2]=0;kIa(k,n);b[p>>0]=0}lRa(k,0);f[k>>2]=f[o>>2];f[k+4>>2]=f[o+4>>2];f[k+8>>2]=f[o+8>>2];p=0;while(1){if((p|0)==3)break;f[o+(p<<2)>>2]=0;p=p+1|0}hRa(o);zg[f[(f[a>>2]|0)+28>>2]&511](o,a);p=j+8+3|0;if((b[p>>0]|0)<0){q=f[j>>2]|0;f[n>>2]=0;kIa(q,n);f[j+4>>2]=0}else{f[n>>2]=0;kIa(j,n);b[p>>0]=0}lRa(j,0);f[j>>2]=f[o>>2];f[j+4>>2]=f[o+4>>2];f[j+8>>2]=f[o+8>>2];p=0;while(1){if((p|0)==3)break;f[o+(p<<2)>>2]=0;p=p+1|0}hRa(o);p=Wf[f[(f[a>>2]|0)+12>>2]&255](a)|0;f[e>>2]=p;p=Wf[f[(f[a>>2]|0)+16>>2]&255](a)|0;f[g>>2]=p;zg[f[(f[a>>2]|0)+20>>2]&511](o,a);p=h+11|0;if((b[p>>0]|0)<0){q=f[h>>2]|0;b[n>>0]=0;aHa(q,n);f[h+4>>2]=0;r=h}else{b[n>>0]=0;aHa(h,n);b[p>>0]=0;r=h}WQa(h,0);f[r>>2]=f[o>>2];f[r+4>>2]=f[o+4>>2];f[r+8>>2]=f[o+8>>2];r=0;while(1){if((r|0)==3)break;f[o+(r<<2)>>2]=0;r=r+1|0}RQa(o);zg[f[(f[a>>2]|0)+24>>2]&511](o,a);r=i+8+3|0;if((b[r>>0]|0)<0){p=f[i>>2]|0;f[n>>2]=0;kIa(p,n);f[i+4>>2]=0}else{f[n>>2]=0;kIa(i,n);b[r>>0]=0}lRa(i,0);f[i>>2]=f[o>>2];f[i+4>>2]=f[o+4>>2];f[i+8>>2]=f[o+8>>2];r=0;while(1){if((r|0)==3)break;f[o+(r<<2)>>2]=0;r=r+1|0}hRa(o);s=Wf[f[(f[a>>2]|0)+36>>2]&255](a)|0}else{a=yIa(c,812096)|0;zg[f[(f[a>>2]|0)+44>>2]&511](n,a);c=f[n>>2]|0;b[d>>0]=c;b[d+1>>0]=c>>8;b[d+2>>0]=c>>16;b[d+3>>0]=c>>24;zg[f[(f[a>>2]|0)+32>>2]&511](o,a);c=k+8+3|0;if((b[c>>0]|0)<0){d=f[k>>2]|0;f[n>>2]=0;kIa(d,n);f[k+4>>2]=0}else{f[n>>2]=0;kIa(k,n);b[c>>0]=0}lRa(k,0);f[k>>2]=f[o>>2];f[k+4>>2]=f[o+4>>2];f[k+8>>2]=f[o+8>>2];k=0;while(1){if((k|0)==3)break;f[o+(k<<2)>>2]=0;k=k+1|0}hRa(o);zg[f[(f[a>>2]|0)+28>>2]&511](o,a);k=j+8+3|0;if((b[k>>0]|0)<0){c=f[j>>2]|0;f[n>>2]=0;kIa(c,n);f[j+4>>2]=0}else{f[n>>2]=0;kIa(j,n);b[k>>0]=0}lRa(j,0);f[j>>2]=f[o>>2];f[j+4>>2]=f[o+4>>2];f[j+8>>2]=f[o+8>>2];j=0;while(1){if((j|0)==3)break;f[o+(j<<2)>>2]=0;j=j+1|0}hRa(o);j=Wf[f[(f[a>>2]|0)+12>>2]&255](a)|0;f[e>>2]=j;j=Wf[f[(f[a>>2]|0)+16>>2]&255](a)|0;f[g>>2]=j;zg[f[(f[a>>2]|0)+20>>2]&511](o,a);j=h+11|0;if((b[j>>0]|0)<0){g=f[h>>2]|0;b[n>>0]=0;aHa(g,n);f[h+4>>2]=0;t=h}else{b[n>>0]=0;aHa(h,n);b[j>>0]=0;t=h}WQa(h,0);f[t>>2]=f[o>>2];f[t+4>>2]=f[o+4>>2];f[t+8>>2]=f[o+8>>2];t=0;while(1){if((t|0)==3)break;f[o+(t<<2)>>2]=0;t=t+1|0}RQa(o);zg[f[(f[a>>2]|0)+24>>2]&511](o,a);t=i+8+3|0;if((b[t>>0]|0)<0){h=f[i>>2]|0;f[n>>2]=0;kIa(h,n);f[i+4>>2]=0}else{f[n>>2]=0;kIa(i,n);b[t>>0]=0}lRa(i,0);f[i>>2]=f[o>>2];f[i+4>>2]=f[o+4>>2];f[i+8>>2]=f[o+8>>2];i=0;while(1){if((i|0)==3)break;f[o+(i<<2)>>2]=0;i=i+1|0}hRa(o);s=Wf[f[(f[a>>2]|0)+36>>2]&255](a)|0}f[l>>2]=s;u=m;return}function WMa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=a+4|0;e=(f[d>>2]|0)!=930;g=f[a>>2]|0;h=(f[c>>2]|0)-g|0;i=h>>>0<2147483647?h<<1:-1;h=(i|0)==0?4:i;i=(f[b>>2]|0)-g>>2;j=$Ba(e?g:0,h)|0;if(!j)IQa();if(!e){e=f[a>>2]|0;f[a>>2]=j;if(!e)k=j;else{qg[f[d>>2]&1023](e);k=f[a>>2]|0}}else{f[a>>2]=j;k=j}f[d>>2]=931;f[b>>2]=k+(i<<2);f[c>>2]=(f[a>>2]|0)+(h>>>2<<2);return}function XMa(a){a=a|0;eIa(a);return}function YMa(a){a=a|0;eIa(a);GQa(a);return}function ZMa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=+h;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;a=u;u=u+384|0;i=a+8|0;j=a;k=a+284|0;l=a+72|0;m=a+184|0;n=a+68|0;o=a+180|0;q=a+177|0;r=a+176|0;s=a+56|0;t=a+44|0;v=a+32|0;w=a+28|0;x=a+76|0;y=a+24|0;z=a+16|0;A=a+20|0;f[l>>2]=k;p[i>>3]=h;B=qDa(k,100,449958,i)|0;if(B>>>0>99){k=BIa()|0;p[j>>3]=h;C=TJa(l,k,449958,j)|0;j=f[l>>2]|0;if(!j)IQa();k=YBa(C)|0;if(!k)IQa();else{D=k;E=C;F=k;G=j}}else{D=m;E=B;F=0;G=0}eHa(n,e);B=yIa(n,810368)|0;m=f[l>>2]|0;dg[f[(f[B>>2]|0)+32>>2]&63](B,m,m+E|0,D)|0;if(!E)H=0;else H=(b[f[l>>2]>>0]|0)==45;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;l=0;while(1){if((l|0)==3)break;f[s+(l<<2)>>2]=0;l=l+1|0}f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;l=0;while(1){if((l|0)==3)break;f[t+(l<<2)>>2]=0;l=l+1|0}f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;l=0;while(1){if((l|0)==3)break;f[v+(l<<2)>>2]=0;l=l+1|0}$Ma(d,H,n,o,q,r,s,t,v,w);d=f[w>>2]|0;if((E|0)>(d|0)){w=b[v+11>>0]|0;l=b[t+11>>0]|0;I=1;J=(w<<24>>24<0?f[v+4>>2]|0:w&255)+(E-d<<1)|0;K=l<<24>>24<0?f[t+4>>2]|0:l&255}else{l=b[v+11>>0]|0;w=b[t+11>>0]|0;I=2;J=w<<24>>24<0?f[t+4>>2]|0:w&255;K=l<<24>>24<0?f[v+4>>2]|0:l&255}l=K+d+J+I|0;if(l>>>0>100){I=YBa(l)|0;if(!I)IQa();else{L=I;M=I}}else{L=x;M=0}aNa(L,y,z,f[e+4>>2]|0,D,D+E|0,B,H,o,b[q>>0]|0,b[r>>0]|0,s,t,v,d);f[A>>2]=f[c>>2];c=f[y>>2]|0;y=f[z>>2]|0;f[i>>2]=f[A>>2];A=qX(i,L,c,y,e,g)|0;if(M|0)ZBa(M);RQa(v);RQa(t);RQa(s);zIa(n);if(F|0)ZBa(F);if(G|0)ZBa(G);u=a;return A|0}function _Ma(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;a=u;u=u+176|0;i=a+56|0;j=a+52|0;k=a+164|0;l=a+161|0;m=a+160|0;n=a+40|0;o=a+28|0;p=a+16|0;q=a+12|0;r=a+60|0;s=a+8|0;t=a+4|0;v=a;eHa(j,e);w=yIa(j,810368)|0;x=h+11|0;y=b[x>>0]|0;z=y<<24>>24<0;A=h+4|0;if(!((z?f[A>>2]|0:y&255)|0))B=0;else{y=b[(z?f[h>>2]|0:h)>>0]|0;B=y<<24>>24==(Zf[f[(f[w>>2]|0)+28>>2]&127](w,45)|0)<<24>>24};f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;y=0;while(1){if((y|0)==3)break;f[n+(y<<2)>>2]=0;y=y+1|0}f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;y=0;while(1){if((y|0)==3)break;f[o+(y<<2)>>2]=0;y=y+1|0}f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;y=0;while(1){if((y|0)==3)break;f[p+(y<<2)>>2]=0;y=y+1|0}$Ma(d,B,j,k,l,m,n,o,p,q);d=b[x>>0]|0;x=d<<24>>24<0;y=x?f[A>>2]|0:d&255;d=f[q>>2]|0;if((y|0)>(d|0)){q=b[p+11>>0]|0;A=b[o+11>>0]|0;C=1;D=(q<<24>>24<0?f[p+4>>2]|0:q&255)+(y-d<<1)|0;E=A<<24>>24<0?f[o+4>>2]|0:A&255}else{A=b[p+11>>0]|0;q=b[o+11>>0]|0;C=2;D=q<<24>>24<0?f[o+4>>2]|0:q&255;E=A<<24>>24<0?f[p+4>>2]|0:A&255}A=E+d+D+C|0;if(A>>>0>100){C=YBa(A)|0;if(!C)IQa();else{F=C;G=C}}else{F=r;G=0}r=x?f[h>>2]|0:h;aNa(F,s,t,f[e+4>>2]|0,r,r+y|0,w,B,k,b[l>>0]|0,b[m>>0]|0,n,o,p,d);f[v>>2]=f[c>>2];c=f[s>>2]|0;s=f[t>>2]|0;f[i>>2]=f[v>>2];v=qX(i,F,c,s,e,g)|0;if(G|0)ZBa(G);RQa(p);RQa(o);RQa(n);zIa(j);u=a;return v|0}function $Ma(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;m=u;u=u+16|0;n=m+12|0;o=m;if(a){a=yIa(d,812088)|0;if(c){zg[f[(f[a>>2]|0)+44>>2]&511](n,a);p=f[n>>2]|0;b[e>>0]=p;b[e+1>>0]=p>>8;b[e+2>>0]=p>>16;b[e+3>>0]=p>>24;zg[f[(f[a>>2]|0)+32>>2]&511](o,a);p=k+11|0;if((b[p>>0]|0)<0){q=f[k>>2]|0;b[n>>0]=0;aHa(q,n);f[k+4>>2]=0;r=k}else{b[n>>0]=0;aHa(k,n);b[p>>0]=0;r=k}WQa(k,0);f[r>>2]=f[o>>2];f[r+4>>2]=f[o+4>>2];f[r+8>>2]=f[o+8>>2];r=0;while(1){if((r|0)==3)break;f[o+(r<<2)>>2]=0;r=r+1|0}RQa(o);s=a}else{zg[f[(f[a>>2]|0)+40>>2]&511](n,a);r=f[n>>2]|0;b[e>>0]=r;b[e+1>>0]=r>>8;b[e+2>>0]=r>>16;b[e+3>>0]=r>>24;zg[f[(f[a>>2]|0)+28>>2]&511](o,a);r=k+11|0;if((b[r>>0]|0)<0){p=f[k>>2]|0;b[n>>0]=0;aHa(p,n);f[k+4>>2]=0;t=k}else{b[n>>0]=0;aHa(k,n);b[r>>0]=0;t=k}WQa(k,0);f[t>>2]=f[o>>2];f[t+4>>2]=f[o+4>>2];f[t+8>>2]=f[o+8>>2];t=0;while(1){if((t|0)==3)break;f[o+(t<<2)>>2]=0;t=t+1|0}RQa(o);s=a}t=Wf[f[(f[a>>2]|0)+12>>2]&255](a)|0;b[g>>0]=t;t=Wf[f[(f[a>>2]|0)+16>>2]&255](a)|0;b[h>>0]=t;zg[f[(f[s>>2]|0)+20>>2]&511](o,a);t=i+11|0;if((b[t>>0]|0)<0){r=f[i>>2]|0;b[n>>0]=0;aHa(r,n);f[i+4>>2]=0;v=i}else{b[n>>0]=0;aHa(i,n);b[t>>0]=0;v=i}WQa(i,0);f[v>>2]=f[o>>2];f[v+4>>2]=f[o+4>>2];f[v+8>>2]=f[o+8>>2];v=0;while(1){if((v|0)==3)break;f[o+(v<<2)>>2]=0;v=v+1|0}RQa(o);zg[f[(f[s>>2]|0)+24>>2]&511](o,a);s=j+11|0;if((b[s>>0]|0)<0){v=f[j>>2]|0;b[n>>0]=0;aHa(v,n);f[j+4>>2]=0;w=j}else{b[n>>0]=0;aHa(j,n);b[s>>0]=0;w=j}WQa(j,0);f[w>>2]=f[o>>2];f[w+4>>2]=f[o+4>>2];f[w+8>>2]=f[o+8>>2];w=0;while(1){if((w|0)==3)break;f[o+(w<<2)>>2]=0;w=w+1|0}RQa(o);x=Wf[f[(f[a>>2]|0)+36>>2]&255](a)|0}else{a=yIa(d,812080)|0;if(c){zg[f[(f[a>>2]|0)+44>>2]&511](n,a);c=f[n>>2]|0;b[e>>0]=c;b[e+1>>0]=c>>8;b[e+2>>0]=c>>16;b[e+3>>0]=c>>24;zg[f[(f[a>>2]|0)+32>>2]&511](o,a);c=k+11|0;if((b[c>>0]|0)<0){d=f[k>>2]|0;b[n>>0]=0;aHa(d,n);f[k+4>>2]=0;y=k}else{b[n>>0]=0;aHa(k,n);b[c>>0]=0;y=k}WQa(k,0);f[y>>2]=f[o>>2];f[y+4>>2]=f[o+4>>2];f[y+8>>2]=f[o+8>>2];y=0;while(1){if((y|0)==3)break;f[o+(y<<2)>>2]=0;y=y+1|0}RQa(o);z=a}else{zg[f[(f[a>>2]|0)+40>>2]&511](n,a);y=f[n>>2]|0;b[e>>0]=y;b[e+1>>0]=y>>8;b[e+2>>0]=y>>16;b[e+3>>0]=y>>24;zg[f[(f[a>>2]|0)+28>>2]&511](o,a);y=k+11|0;if((b[y>>0]|0)<0){e=f[k>>2]|0;b[n>>0]=0;aHa(e,n);f[k+4>>2]=0;A=k}else{b[n>>0]=0;aHa(k,n);b[y>>0]=0;A=k}WQa(k,0);f[A>>2]=f[o>>2];f[A+4>>2]=f[o+4>>2];f[A+8>>2]=f[o+8>>2];A=0;while(1){if((A|0)==3)break;f[o+(A<<2)>>2]=0;A=A+1|0}RQa(o);z=a}A=Wf[f[(f[a>>2]|0)+12>>2]&255](a)|0;b[g>>0]=A;A=Wf[f[(f[a>>2]|0)+16>>2]&255](a)|0;b[h>>0]=A;zg[f[(f[z>>2]|0)+20>>2]&511](o,a);A=i+11|0;if((b[A>>0]|0)<0){h=f[i>>2]|0;b[n>>0]=0;aHa(h,n);f[i+4>>2]=0;B=i}else{b[n>>0]=0;aHa(i,n);b[A>>0]=0;B=i}WQa(i,0);f[B>>2]=f[o>>2];f[B+4>>2]=f[o+4>>2];f[B+8>>2]=f[o+8>>2];B=0;while(1){if((B|0)==3)break;f[o+(B<<2)>>2]=0;B=B+1|0}RQa(o);zg[f[(f[z>>2]|0)+24>>2]&511](o,a);z=j+11|0;if((b[z>>0]|0)<0){B=f[j>>2]|0;b[n>>0]=0;aHa(B,n);f[j+4>>2]=0;C=j}else{b[n>>0]=0;aHa(j,n);b[z>>0]=0;C=j}WQa(j,0);f[C>>2]=f[o>>2];f[C+4>>2]=f[o+4>>2];f[C+8>>2]=f[o+8>>2];C=0;while(1){if((C|0)==3)break;f[o+(C<<2)>>2]=0;C=C+1|0}RQa(o);x=Wf[f[(f[a>>2]|0)+36>>2]&255](a)|0}f[l>>2]=x;u=m;return}function aNa(a,c,e,g,h,i,j,k,l,m,n,o,p,q,r){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;f[e>>2]=a;s=q+11|0;t=q+4|0;u=p+11|0;v=p+4|0;w=(g&512|0)==0;x=j+8|0;y=(r|0)>0;z=o+11|0;A=o+4|0;B=0;C=h;while(1){if((B|0)==4)break;a:do switch(b[l+B>>0]|0){case 0:{f[c>>2]=f[e>>2];D=C;break}case 1:{f[c>>2]=f[e>>2];h=Zf[f[(f[j>>2]|0)+28>>2]&127](j,32)|0;E=f[e>>2]|0;f[e>>2]=E+1;b[E>>0]=h;D=C;break}case 3:{h=b[s>>0]|0;E=h<<24>>24<0;if(!((E?f[t>>2]|0:h&255)|0))D=C;else{h=b[(E?f[q>>2]|0:q)>>0]|0;E=f[e>>2]|0;f[e>>2]=E+1;b[E>>0]=h;D=C}break}case 2:{h=b[u>>0]|0;E=h<<24>>24<0;F=E?f[v>>2]|0:h&255;if(w|(F|0)==0)D=C;else{h=E?f[p>>2]|0:p;E=h+F|0;F=f[e>>2]|0;G=h;while(1){if((G|0)==(E|0))break;b[F>>0]=b[G>>0]|0;F=F+1|0;G=G+1|0}f[e>>2]=F;D=C}break}case 4:{G=f[e>>2]|0;E=k?C+1|0:C;h=E;while(1){if(h>>>0>=i>>>0)break;H=b[h>>0]|0;if(H<<24>>24<=-1)break;if(!(d[(f[x>>2]|0)+(H<<24>>24<<1)>>1]&2048))break;h=h+1|0}if(y){F=r;H=h;while(1){I=(F|0)>0;if(!(H>>>0>E>>>0&I))break;J=H+-1|0;K=b[J>>0]|0;L=f[e>>2]|0;f[e>>2]=L+1;b[L>>0]=K;F=F+-1|0;H=J}if(I)M=Zf[f[(f[j>>2]|0)+28>>2]&127](j,48)|0;else M=0;J=F;while(1){N=f[e>>2]|0;f[e>>2]=N+1;if((J|0)<=0)break;b[N>>0]=M;J=J+-1|0}b[N>>0]=m;O=H}else O=h;b:do if((O|0)==(E|0)){J=Zf[f[(f[j>>2]|0)+28>>2]&127](j,48)|0;F=f[e>>2]|0;f[e>>2]=F+1;b[F>>0]=J}else{J=b[z>>0]|0;F=J<<24>>24<0;if(!((F?f[A>>2]|0:J&255)|0)){P=-1;Q=0;R=0;S=O}else{P=b[(F?f[o>>2]|0:o)>>0]|0;Q=0;R=0;S=O}while(1){if((S|0)==(E|0))break b;if((R|0)==(P|0)){F=f[e>>2]|0;f[e>>2]=F+1;b[F>>0]=n;F=Q+1|0;J=b[z>>0]|0;K=J<<24>>24<0;if(F>>>0<(K?f[A>>2]|0:J&255)>>>0){J=b[(K?f[o>>2]|0:o)+F>>0]|0;T=J<<24>>24==127?-1:J<<24>>24;U=F;V=0}else{T=R;U=F;V=0}}else{T=P;U=Q;V=R}F=S+-1|0;J=b[F>>0]|0;K=f[e>>2]|0;f[e>>2]=K+1;b[K>>0]=J;P=T;Q=U;R=V+1|0;S=F}}while(0);h=f[e>>2]|0;if((G|0)==(h|0))D=E;else{H=h;h=G;while(1){F=H+-1|0;if(h>>>0>=F>>>0){D=E;break a}J=b[h>>0]|0;b[h>>0]=b[F>>0]|0;b[F>>0]=J;H=F;h=h+1|0}}break}default:D=C}while(0);B=B+1|0;C=D}D=b[s>>0]|0;s=D<<24>>24<0;C=s?f[t>>2]|0:D&255;if(C>>>0>1){D=s?f[q>>2]|0:q;q=D+C|0;C=f[e>>2]|0;s=D;while(1){D=s+1|0;if((D|0)==(q|0))break;b[C>>0]=b[D>>0]|0;C=C+1|0;s=D}f[e>>2]=C}switch((g&176)<<24>>24){case 32:{f[c>>2]=f[e>>2];break}case 16:break;default:f[c>>2]=a}return}function bNa(a){a=a|0;eIa(a);return}function cNa(a){a=a|0;eIa(a);GQa(a);return}function dNa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=+h;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;a=u;u=u+1008|0;i=a+8|0;j=a;k=a+896|0;l=a+888|0;m=a+488|0;n=a+480|0;o=a+892|0;q=a+476|0;r=a+472|0;s=a+460|0;t=a+448|0;v=a+436|0;w=a+432|0;x=a+32|0;y=a+24|0;z=a+16|0;A=a+20|0;f[l>>2]=k;p[i>>3]=h;B=qDa(k,100,449958,i)|0;if(B>>>0>99){k=BIa()|0;p[j>>3]=h;C=TJa(l,k,449958,j)|0;j=f[l>>2]|0;if(!j)IQa();k=YBa(C<<2)|0;if(!k)IQa();else{D=k;E=C;F=k;G=j}}else{D=m;E=B;F=0;G=0}eHa(n,e);B=yIa(n,810400)|0;m=f[l>>2]|0;dg[f[(f[B>>2]|0)+48>>2]&63](B,m,m+E|0,D)|0;if(!E)H=0;else H=(b[f[l>>2]>>0]|0)==45;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;l=0;while(1){if((l|0)==3)break;f[s+(l<<2)>>2]=0;l=l+1|0}f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;l=0;while(1){if((l|0)==3)break;f[t+(l<<2)>>2]=0;l=l+1|0}f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;l=0;while(1){if((l|0)==3)break;f[v+(l<<2)>>2]=0;l=l+1|0}fNa(d,H,n,o,q,r,s,t,v,w);d=f[w>>2]|0;if((E|0)>(d|0)){w=b[v+8+3>>0]|0;l=b[t+8+3>>0]|0;I=1;J=(w<<24>>24<0?f[v+4>>2]|0:w&255)+(E-d<<1)|0;K=l<<24>>24<0?f[t+4>>2]|0:l&255}else{l=b[v+8+3>>0]|0;w=b[t+8+3>>0]|0;I=2;J=w<<24>>24<0?f[t+4>>2]|0:w&255;K=l<<24>>24<0?f[v+4>>2]|0:l&255}l=K+d+J+I|0;if(l>>>0>100){I=YBa(l<<2)|0;if(!I)IQa();else{L=I;M=I}}else{L=x;M=0}gNa(L,y,z,f[e+4>>2]|0,D,D+(E<<2)|0,B,H,o,f[q>>2]|0,f[r>>2]|0,s,t,v,d);f[A>>2]=f[c>>2];c=f[y>>2]|0;y=f[z>>2]|0;f[i>>2]=f[A>>2];A=fKa(i,L,c,y,e,g)|0;if(M|0)ZBa(M);hRa(v);hRa(t);RQa(s);zIa(n);if(F|0)ZBa(F);if(G|0)ZBa(G);u=a;return A|0}function eNa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;a=u;u=u+480|0;i=a+468|0;j=a+464|0;k=a+472|0;l=a+460|0;m=a+456|0;n=a+444|0;o=a+432|0;p=a+420|0;q=a+416|0;r=a+16|0;s=a+8|0;t=a+4|0;v=a;eHa(j,e);w=yIa(j,810400)|0;x=h+8+3|0;y=b[x>>0]|0;z=y<<24>>24<0;A=h+4|0;if(!((z?f[A>>2]|0:y&255)|0))B=0;else{y=f[(z?f[h>>2]|0:h)>>2]|0;B=(y|0)==(Zf[f[(f[w>>2]|0)+44>>2]&127](w,45)|0)};f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;y=0;while(1){if((y|0)==3)break;f[n+(y<<2)>>2]=0;y=y+1|0}f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;y=0;while(1){if((y|0)==3)break;f[o+(y<<2)>>2]=0;y=y+1|0}f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;y=0;while(1){if((y|0)==3)break;f[p+(y<<2)>>2]=0;y=y+1|0}fNa(d,B,j,k,l,m,n,o,p,q);d=b[x>>0]|0;x=d<<24>>24<0;y=x?f[A>>2]|0:d&255;d=f[q>>2]|0;if((y|0)>(d|0)){q=b[p+8+3>>0]|0;A=b[o+8+3>>0]|0;C=1;D=(q<<24>>24<0?f[p+4>>2]|0:q&255)+(y-d<<1)|0;E=A<<24>>24<0?f[o+4>>2]|0:A&255}else{A=b[p+8+3>>0]|0;q=b[o+8+3>>0]|0;C=2;D=q<<24>>24<0?f[o+4>>2]|0:q&255;E=A<<24>>24<0?f[p+4>>2]|0:A&255}A=E+d+D+C|0;if(A>>>0>100){C=YBa(A<<2)|0;if(!C)IQa();else{F=C;G=C}}else{F=r;G=0}r=x?f[h>>2]|0:h;gNa(F,s,t,f[e+4>>2]|0,r,r+(y<<2)|0,w,B,k,f[l>>2]|0,f[m>>2]|0,n,o,p,d);f[v>>2]=f[c>>2];c=f[s>>2]|0;s=f[t>>2]|0;f[i>>2]=f[v>>2];v=fKa(i,F,c,s,e,g)|0;if(G|0)ZBa(G);hRa(p);hRa(o);RQa(n);zIa(j);u=a;return v|0}function fNa(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=u;u=u+16|0;n=m+12|0;o=m;if(a){a=yIa(d,812104)|0;if(c){zg[f[(f[a>>2]|0)+44>>2]&511](n,a);p=f[n>>2]|0;b[e>>0]=p;b[e+1>>0]=p>>8;b[e+2>>0]=p>>16;b[e+3>>0]=p>>24;zg[f[(f[a>>2]|0)+32>>2]&511](o,a);p=k+8+3|0;if((b[p>>0]|0)<0){q=f[k>>2]|0;f[n>>2]=0;kIa(q,n);f[k+4>>2]=0}else{f[n>>2]=0;kIa(k,n);b[p>>0]=0}lRa(k,0);f[k>>2]=f[o>>2];f[k+4>>2]=f[o+4>>2];f[k+8>>2]=f[o+8>>2];p=0;while(1){if((p|0)==3)break;f[o+(p<<2)>>2]=0;p=p+1|0}hRa(o)}else{zg[f[(f[a>>2]|0)+40>>2]&511](n,a);p=f[n>>2]|0;b[e>>0]=p;b[e+1>>0]=p>>8;b[e+2>>0]=p>>16;b[e+3>>0]=p>>24;zg[f[(f[a>>2]|0)+28>>2]&511](o,a);p=k+8+3|0;if((b[p>>0]|0)<0){q=f[k>>2]|0;f[n>>2]=0;kIa(q,n);f[k+4>>2]=0}else{f[n>>2]=0;kIa(k,n);b[p>>0]=0}lRa(k,0);f[k>>2]=f[o>>2];f[k+4>>2]=f[o+4>>2];f[k+8>>2]=f[o+8>>2];p=0;while(1){if((p|0)==3)break;f[o+(p<<2)>>2]=0;p=p+1|0}hRa(o)}p=Wf[f[(f[a>>2]|0)+12>>2]&255](a)|0;f[g>>2]=p;p=Wf[f[(f[a>>2]|0)+16>>2]&255](a)|0;f[h>>2]=p;zg[f[(f[a>>2]|0)+20>>2]&511](o,a);p=i+11|0;if((b[p>>0]|0)<0){q=f[i>>2]|0;b[n>>0]=0;aHa(q,n);f[i+4>>2]=0;r=i}else{b[n>>0]=0;aHa(i,n);b[p>>0]=0;r=i}WQa(i,0);f[r>>2]=f[o>>2];f[r+4>>2]=f[o+4>>2];f[r+8>>2]=f[o+8>>2];r=0;while(1){if((r|0)==3)break;f[o+(r<<2)>>2]=0;r=r+1|0}RQa(o);zg[f[(f[a>>2]|0)+24>>2]&511](o,a);r=j+8+3|0;if((b[r>>0]|0)<0){p=f[j>>2]|0;f[n>>2]=0;kIa(p,n);f[j+4>>2]=0}else{f[n>>2]=0;kIa(j,n);b[r>>0]=0}lRa(j,0);f[j>>2]=f[o>>2];f[j+4>>2]=f[o+4>>2];f[j+8>>2]=f[o+8>>2];r=0;while(1){if((r|0)==3)break;f[o+(r<<2)>>2]=0;r=r+1|0}hRa(o);s=Wf[f[(f[a>>2]|0)+36>>2]&255](a)|0}else{a=yIa(d,812096)|0;if(c){zg[f[(f[a>>2]|0)+44>>2]&511](n,a);c=f[n>>2]|0;b[e>>0]=c;b[e+1>>0]=c>>8;b[e+2>>0]=c>>16;b[e+3>>0]=c>>24;zg[f[(f[a>>2]|0)+32>>2]&511](o,a);c=k+8+3|0;if((b[c>>0]|0)<0){d=f[k>>2]|0;f[n>>2]=0;kIa(d,n);f[k+4>>2]=0}else{f[n>>2]=0;kIa(k,n);b[c>>0]=0}lRa(k,0);f[k>>2]=f[o>>2];f[k+4>>2]=f[o+4>>2];f[k+8>>2]=f[o+8>>2];c=0;while(1){if((c|0)==3)break;f[o+(c<<2)>>2]=0;c=c+1|0}hRa(o)}else{zg[f[(f[a>>2]|0)+40>>2]&511](n,a);c=f[n>>2]|0;b[e>>0]=c;b[e+1>>0]=c>>8;b[e+2>>0]=c>>16;b[e+3>>0]=c>>24;zg[f[(f[a>>2]|0)+28>>2]&511](o,a);c=k+8+3|0;if((b[c>>0]|0)<0){e=f[k>>2]|0;f[n>>2]=0;kIa(e,n);f[k+4>>2]=0}else{f[n>>2]=0;kIa(k,n);b[c>>0]=0}lRa(k,0);f[k>>2]=f[o>>2];f[k+4>>2]=f[o+4>>2];f[k+8>>2]=f[o+8>>2];k=0;while(1){if((k|0)==3)break;f[o+(k<<2)>>2]=0;k=k+1|0}hRa(o)}k=Wf[f[(f[a>>2]|0)+12>>2]&255](a)|0;f[g>>2]=k;k=Wf[f[(f[a>>2]|0)+16>>2]&255](a)|0;f[h>>2]=k;zg[f[(f[a>>2]|0)+20>>2]&511](o,a);k=i+11|0;if((b[k>>0]|0)<0){h=f[i>>2]|0;b[n>>0]=0;aHa(h,n);f[i+4>>2]=0;t=i}else{b[n>>0]=0;aHa(i,n);b[k>>0]=0;t=i}WQa(i,0);f[t>>2]=f[o>>2];f[t+4>>2]=f[o+4>>2];f[t+8>>2]=f[o+8>>2];t=0;while(1){if((t|0)==3)break;f[o+(t<<2)>>2]=0;t=t+1|0}RQa(o);zg[f[(f[a>>2]|0)+24>>2]&511](o,a);t=j+8+3|0;if((b[t>>0]|0)<0){i=f[j>>2]|0;f[n>>2]=0;kIa(i,n);f[j+4>>2]=0}else{f[n>>2]=0;kIa(j,n);b[t>>0]=0}lRa(j,0);f[j>>2]=f[o>>2];f[j+4>>2]=f[o+4>>2];f[j+8>>2]=f[o+8>>2];j=0;while(1){if((j|0)==3)break;f[o+(j<<2)>>2]=0;j=j+1|0}hRa(o);s=Wf[f[(f[a>>2]|0)+36>>2]&255](a)|0}f[l>>2]=s;u=m;return}function gNa(a,c,d,e,g,h,i,j,k,l,m,n,o,p,q){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;f[d>>2]=a;r=p+8+3|0;s=p+4|0;t=o+8+3|0;u=o+4|0;v=(e&512|0)==0;w=(q|0)>0;x=n+11|0;y=n+4|0;z=0;A=g;while(1){if((z|0)==4)break;a:do switch(b[k+z>>0]|0){case 0:{f[c>>2]=f[d>>2];B=A;break}case 1:{f[c>>2]=f[d>>2];g=Zf[f[(f[i>>2]|0)+44>>2]&127](i,32)|0;C=f[d>>2]|0;f[d>>2]=C+4;f[C>>2]=g;B=A;break}case 3:{g=b[r>>0]|0;C=g<<24>>24<0;if(!((C?f[s>>2]|0:g&255)|0))B=A;else{g=f[(C?f[p>>2]|0:p)>>2]|0;C=f[d>>2]|0;f[d>>2]=C+4;f[C>>2]=g;B=A}break}case 2:{g=b[t>>0]|0;C=g<<24>>24<0;D=C?f[u>>2]|0:g&255;if(v|(D|0)==0)B=A;else{g=C?f[o>>2]|0:o;C=g+(D<<2)|0;E=f[d>>2]|0;F=E;G=g;while(1){if((G|0)==(C|0))break;f[F>>2]=f[G>>2];F=F+4|0;G=G+4|0}f[d>>2]=E+(D<<2);B=A}break}case 4:{G=f[d>>2]|0;F=j?A+4|0:A;C=F;while(1){if(C>>>0>=h>>>0)break;if(!(bg[f[(f[i>>2]|0)+12>>2]&127](i,2048,f[C>>2]|0)|0))break;C=C+4|0}if(w){D=q;E=C;while(1){H=(D|0)>0;if(!(E>>>0>F>>>0&H))break;g=E+-4|0;I=f[g>>2]|0;J=f[d>>2]|0;f[d>>2]=J+4;f[J>>2]=I;D=D+-1|0;E=g}if(H)K=Zf[f[(f[i>>2]|0)+44>>2]&127](i,48)|0;else K=0;g=D;I=f[d>>2]|0;while(1){L=I+4|0;if((g|0)<=0)break;f[I>>2]=K;g=g+-1|0;I=L}f[d>>2]=L;f[I>>2]=l;M=E}else M=C;if((M|0)==(F|0)){g=Zf[f[(f[i>>2]|0)+44>>2]&127](i,48)|0;D=f[d>>2]|0;J=D+4|0;f[d>>2]=J;f[D>>2]=g;N=J}else{J=b[x>>0]|0;g=J<<24>>24<0;if(!((g?f[y>>2]|0:J&255)|0)){O=-1;P=0;Q=0;R=M}else{O=b[(g?f[n>>2]|0:n)>>0]|0;P=0;Q=0;R=M}while(1){if((R|0)==(F|0))break;g=f[d>>2]|0;if((Q|0)==(O|0)){J=g+4|0;f[d>>2]=J;f[g>>2]=m;D=P+1|0;S=b[x>>0]|0;T=S<<24>>24<0;if(D>>>0<(T?f[y>>2]|0:S&255)>>>0){S=b[(T?f[n>>2]|0:n)+D>>0]|0;U=S<<24>>24==127?-1:S<<24>>24;V=D;W=0;X=J}else{U=Q;V=D;W=0;X=J}}else{U=O;V=P;W=Q;X=g}g=R+-4|0;J=f[g>>2]|0;f[d>>2]=X+4;f[X>>2]=J;O=U;P=V;Q=W+1|0;R=g}N=f[d>>2]|0}if((G|0)==(N|0))B=F;else{C=N;E=G;while(1){I=C+-4|0;if(E>>>0>=I>>>0){B=F;break a}g=f[E>>2]|0;f[E>>2]=f[I>>2];f[I>>2]=g;C=I;E=E+4|0}}break}default:B=A}while(0);z=z+1|0;A=B}B=b[r>>0]|0;r=B<<24>>24<0;A=r?f[s>>2]|0:B&255;if(A>>>0>1){B=f[p>>2]|0;z=r?B+4|0:s;s=(r?B:p)+(A<<2)|0;A=f[d>>2]|0;p=s-z|0;B=A;r=z;while(1){if((r|0)==(s|0))break;f[B>>2]=f[r>>2];B=B+4|0;r=r+4|0}f[d>>2]=A+(p>>>2<<2)}switch((e&176)<<24>>24){case 32:{f[c>>2]=f[d>>2];break}case 16:break;default:f[c>>2]=a}return}function hNa(a){a=a|0;eIa(a);return}function iNa(a){a=a|0;eIa(a);GQa(a);return}function jNa(a,c,d){a=a|0;c=c|0;d=d|0;d=mEa((b[c+11>>0]|0)<0?f[c>>2]|0:c,1)|0;return d>>>((d|0)!=(-1|0)&1)|0}function kNa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;i=c;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;j=0;while(1){if((j|0)==3)break;f[i+(j<<2)>>2]=0;j=j+1|0}j=b[h+11>>0]|0;k=j<<24>>24<0;l=k?f[h>>2]|0:h;m=l+(k?f[h+4>>2]|0:j&255)|0;j=l;while(1){if(j>>>0>=m>>>0)break;bRa(i,b[j>>0]|0);j=j+1|0}j=(b[i+11>>0]|0)<0?f[i>>2]|0:i;m=cEa((d|0)==-1?-1:d<<1,e,g,j)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;g=0;while(1){if((g|0)==3)break;f[a+(g<<2)>>2]=0;g=g+1|0}g=j+(nCa(m)|0)|0;m=j;while(1){if(m>>>0>=g>>>0)break;bRa(a,b[m>>0]|0);m=m+1|0}RQa(i);u=c;return}function lNa(a,b){a=a|0;b=b|0;return}function mNa(a){a=a|0;eIa(a);return}function nNa(a){a=a|0;eIa(a);GQa(a);return}function oNa(a,c,d){a=a|0;c=c|0;d=d|0;d=mEa((b[c+11>>0]|0)<0?f[c>>2]|0:c,1)|0;return d>>>((d|0)!=(-1|0)&1)|0}function pNa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;c=u;u=u+176|0;i=c+168|0;j=c+40|0;k=c+36|0;l=c+32|0;m=c;n=c+24|0;o=c+16|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;p=0;while(1){if((p|0)==3)break;f[m+(p<<2)>>2]=0;p=p+1|0}f[n+4>>2]=0;f[n>>2]=117540;p=b[h+8+3>>0]|0;q=p<<24>>24<0;r=q?f[h>>2]|0:h;s=r+((q?f[h+4>>2]|0:p&255)<<2)|0;p=j+32|0;h=r;r=0;while(1){if(!((r|0)!=2&h>>>0>>0))break;f[l>>2]=h;q=lg[f[(f[n>>2]|0)+12>>2]&15](n,i,h,s,l,j,p,k)|0;if((q|0)==2?1:(f[l>>2]|0)==(h|0)){t=7;break}else v=j;while(1){if(v>>>0>=(f[k>>2]|0)>>>0)break;bRa(m,b[v>>0]|0);v=v+1|0}h=f[l>>2]|0;r=q}if((t|0)==7)NLa(0);eIa(n);n=(b[m+11>>0]|0)<0?f[m>>2]|0:m;r=cEa((d|0)==-1?-1:d<<1,e,g,n)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;g=0;while(1){if((g|0)==3)break;f[a+(g<<2)>>2]=0;g=g+1|0}f[o+4>>2]=0;f[o>>2]=117588;g=n+(nCa(r)|0)|0;r=g;e=j+128|0;d=n;n=0;while(1){if(!((n|0)!=2&d>>>0>>0)){t=21;break}f[l>>2]=d;h=lg[f[(f[o>>2]|0)+16>>2]&15](o,i,d,(r-d|0)>32?d+32|0:g,l,j,e,k)|0;if((h|0)==2?1:(f[l>>2]|0)==(d|0)){t=17;break}else w=j;while(1){if(w>>>0>=(f[k>>2]|0)>>>0)break;pRa(a,f[w>>2]|0);w=w+4|0}d=f[l>>2]|0;n=h}if((t|0)==17)NLa(0);else if((t|0)==21){eIa(o);RQa(m);u=c;return}}function qNa(a,b){a=a|0;b=b|0;return}function rNa(a){a=a|0;eIa(a);GQa(a);return}function sNa(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;b=u;u=u+16|0;a=b+4|0;j=b;f[a>>2]=c;f[j>>2]=g;k=BNa(c,d,a,g,h,j,1114111,0)|0;f[e>>2]=f[a>>2];f[i>>2]=f[j>>2];u=b;return k|0}function tNa(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;b=u;u=u+16|0;a=b+4|0;j=b;f[a>>2]=c;f[j>>2]=g;k=ANa(c,d,a,g,h,j,1114111,0)|0;f[e>>2]=f[a>>2];f[i>>2]=f[j>>2];u=b;return k|0}function uNa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f[e>>2]=c;return 3}function vNa(a){a=a|0;return 0}function wNa(a){a=a|0;return 0}function xNa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return zNa(c,d,e,1114111,0)|0}function yNa(a){a=a|0;return 4}function zNa(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=c;if((((f&4|0)!=0?(g-a|0)>2:0)?(b[a>>0]|0)==-17:0)?(b[a+1>>0]|0)==-69:0){i=0;j=(b[a+2>>0]|0)==-65?a+3|0:a}else{i=0;j=a}a:while(1){if(!(i>>>0>>0&j>>>0>>0)){k=34;break}f=b[j>>0]|0;l=f&255;do if(f<<24>>24<=-1){if((f&255)<194){k=34;break a}if((f&255)<224){if((g-j|0)<2){k=34;break a}m=h[j+1>>0]|0;if((m&192|0)!=128){k=34;break a}if((m&63|l<<6&1984)>>>0>e>>>0){k=34;break a}n=j+2|0;break}if((f&255)<240){m=j;if((g-m|0)<3){k=34;break a}o=b[j+1>>0]|0;p=b[j+2>>0]|0;switch(f<<24>>24){case -32:{if((o&-32)<<24>>24!=-96){q=m;break a}break}case -19:{if((o&-32)<<24>>24!=-128){q=m;break a}break}default:if((o&-64)<<24>>24!=-128){q=m;break a}}m=p&255;if((m&192|0)!=128){k=34;break a}if(((o&63)<<6|l<<12&61440|m&63)>>>0>e>>>0){k=34;break a}else{n=j+3|0;break}}if((f&255)>=245){k=34;break a}m=j;if((g-m|0)<4){k=34;break a}o=b[j+1>>0]|0;p=b[j+2>>0]|0;r=b[j+3>>0]|0;switch(f<<24>>24){case -16:{if((o+112&255)>=48){q=m;break a}break}case -12:{if((o&-16)<<24>>24!=-128){q=m;break a}break}default:if((o&-64)<<24>>24!=-128){q=m;break a}}m=p&255;if((m&192|0)!=128){k=34;break a}p=r&255;if((p&192|0)!=128){k=34;break a}if(((o&63)<<12|l<<18&1835008|m<<6&4032|p&63)>>>0>e>>>0){k=34;break a}else n=j+4|0}else{if(l>>>0>e>>>0){k=34;break a}n=j+1|0}while(0);i=i+1|0;j=n}if((k|0)==34)q=j;return q-a|0}function ANa(a,c,d,e,g,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;f[d>>2]=a;f[i>>2]=e;if(k&4){k=f[d>>2]|0;e=c;if((((e-k|0)>2?(b[k>>0]|0)==-17:0)?(b[k+1>>0]|0)==-69:0)?(b[k+2>>0]|0)==-65:0){f[d>>2]=k+3;l=e}else l=e}else l=c;a:while(1){e=f[d>>2]|0;m=e>>>0>>0;if(!m){n=36;break}k=f[i>>2]|0;if(k>>>0>=g>>>0){n=36;break}a=b[e>>0]|0;o=a&255;do if(a<<24>>24>-1)if(o>>>0>j>>>0){p=2;break a}else{q=o;r=1}else{if((a&255)<194){p=2;break a}if((a&255)<224){if((l-e|0)<2){p=1;break a}s=h[e+1>>0]|0;if((s&192|0)!=128){p=2;break a}t=s&63|o<<6&1984;if(t>>>0>j>>>0){p=2;break a}else{q=t;r=2;break}}if((a&255)<240){if((l-e|0)<3){p=1;break a}t=b[e+1>>0]|0;s=b[e+2>>0]|0;switch(a<<24>>24){case -32:{if((t&-32)<<24>>24!=-96){p=2;break a}break}case -19:{if((t&-32)<<24>>24!=-128){p=2;break a}break}default:if((t&-64)<<24>>24!=-128){p=2;break a}}u=s&255;if((u&192|0)!=128){p=2;break a}s=(t&63)<<6|o<<12&61440|u&63;if(s>>>0>j>>>0){p=2;break a}else{q=s;r=3;break}}if((a&255)>=245){p=2;break a}if((l-e|0)<4){p=1;break a}s=b[e+1>>0]|0;u=b[e+2>>0]|0;t=b[e+3>>0]|0;switch(a<<24>>24){case -16:{if((s+112&255)>=48){p=2;break a}break}case -12:{if((s&-16)<<24>>24!=-128){p=2;break a}break}default:if((s&-64)<<24>>24!=-128){p=2;break a}}v=u&255;if((v&192|0)!=128){p=2;break a}u=t&255;if((u&192|0)!=128){p=2;break a}t=(s&63)<<12|o<<18&1835008|v<<6&4032|u&63;if(t>>>0>j>>>0){p=2;break a}else{q=t;r=4}}while(0);f[k>>2]=q;f[d>>2]=e+r;f[i>>2]=(f[i>>2]|0)+4}if((n|0)==36)p=m&1;return p|0}function BNa(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;f[d>>2]=a;f[h>>2]=e;a=g;if(j&2)if((a-e|0)<3)k=1;else{f[h>>2]=e+1;b[e>>0]=-17;e=f[h>>2]|0;f[h>>2]=e+1;b[e>>0]=-69;e=f[h>>2]|0;f[h>>2]=e+1;b[e>>0]=-65;l=4}else l=4;a:do if((l|0)==4){e=f[d>>2]|0;while(1){if(e>>>0>=c>>>0){k=0;break a}j=f[e>>2]|0;if(j>>>0>i>>>0|(j&-2048|0)==55296){k=2;break a}do if(j>>>0>=128){if(j>>>0<2048){g=f[h>>2]|0;if((a-g|0)<2){k=1;break a}f[h>>2]=g+1;b[g>>0]=j>>>6|192;g=f[h>>2]|0;f[h>>2]=g+1;b[g>>0]=j&63|128;break}g=f[h>>2]|0;m=a-g|0;if(j>>>0<65536){if((m|0)<3){k=1;break a}f[h>>2]=g+1;b[g>>0]=j>>>12|224;n=f[h>>2]|0;f[h>>2]=n+1;b[n>>0]=j>>>6&63|128;n=f[h>>2]|0;f[h>>2]=n+1;b[n>>0]=j&63|128;break}else{if((m|0)<4){k=1;break a}f[h>>2]=g+1;b[g>>0]=j>>>18|240;g=f[h>>2]|0;f[h>>2]=g+1;b[g>>0]=j>>>12&63|128;g=f[h>>2]|0;f[h>>2]=g+1;b[g>>0]=j>>>6&63|128;g=f[h>>2]|0;f[h>>2]=g+1;b[g>>0]=j&63|128;break}}else{g=f[h>>2]|0;if((a-g|0)<1){k=1;break a}f[h>>2]=g+1;b[g>>0]=j}while(0);j=(f[d>>2]|0)+4|0;f[d>>2]=j;e=j}}while(0);return k|0}function CNa(a){a=a|0;eIa(a);GQa(a);return}function DNa(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;f[e>>2]=c;f[i>>2]=g;return 3}function ENa(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;f[e>>2]=c;f[i>>2]=g;return 3}function FNa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f[e>>2]=c;return 3}function GNa(a){a=a|0;return 1}function HNa(a){a=a|0;return 1}function INa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;b=d-c|0;return (b>>>0>>0?b:e)|0}function JNa(a){a=a|0;return 1}function KNa(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;k=u;u=u+16|0;l=k;m=k+8|0;n=d;while(1){if((n|0)==(e|0)){o=e;break}if(!(f[n>>2]|0)){o=n;break}n=n+4|0}f[j>>2]=h;f[g>>2]=d;n=i;p=a+8|0;a=d;d=h;h=o;a:while(1){if((d|0)==(i|0)|(a|0)==(e|0)){q=a;r=35;break}o=c;s=f[o+4>>2]|0;t=l;f[t>>2]=f[o>>2];f[t+4>>2]=s;s=iEa(f[p>>2]|0)|0;t=_Ea(d,g,h-a>>2,n-d|0,c)|0;if(s|0)iEa(s)|0;switch(t|0){case -1:{r=10;break a;break}case 0:{v=1;r=32;break a;break}default:{}}s=(f[j>>2]|0)+t|0;f[j>>2]=s;if((s|0)==(i|0)){r=33;break}if((h|0)==(e|0)){w=e;x=s;y=f[g>>2]|0}else{s=iEa(f[p>>2]|0)|0;t=ZCa(m,0,c)|0;if(s|0)iEa(s)|0;if((t|0)==-1){z=2;r=31;break}if(t>>>0>(n-(f[j>>2]|0)|0)>>>0){z=1;r=31;break}else{A=m;B=t}while(1){if(!B)break;t=b[A>>0]|0;s=f[j>>2]|0;f[j>>2]=s+1;b[s>>0]=t;A=A+1|0;B=B+-1|0}t=(f[g>>2]|0)+4|0;f[g>>2]=t;s=t;while(1){if((s|0)==(e|0)){C=e;break}if(!(f[s>>2]|0)){C=s;break}s=s+4|0}w=C;x=f[j>>2]|0;y=t}a=y;d=x;h=w}if((r|0)==10){f[j>>2]=d;w=a;a=d;while(1){if((w|0)==(f[g>>2]|0))break;d=f[w>>2]|0;h=iEa(f[p>>2]|0)|0;x=ZCa(a,d,l)|0;if(h|0)iEa(h)|0;if((x|0)==-1)break;h=(f[j>>2]|0)+x|0;f[j>>2]=h;w=w+4|0;a=h}f[g>>2]=w;v=2;r=32}else if((r|0)==31){v=z;r=32}else if((r|0)==33){q=f[g>>2]|0;r=35}if((r|0)==32)D=v;else if((r|0)==35)D=(q|0)!=(e|0)&1;u=k;return D|0}function LNa(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;k=u;u=u+16|0;l=k;m=d;while(1){if((m|0)==(e|0)){n=e;break}if(!(b[m>>0]|0)){n=m;break}m=m+1|0}f[j>>2]=h;f[g>>2]=d;m=i;o=a+8|0;a=d;d=h;h=n;while(1){if((d|0)==(i|0)|(a|0)==(e|0)){p=a;q=32;break}n=c;r=f[n+4>>2]|0;s=l;f[s>>2]=f[n>>2];f[s+4>>2]=r;t=h;r=iEa(f[o>>2]|0)|0;s=ZEa(d,g,t-a|0,m-d>>2,c)|0;if(r|0)iEa(r)|0;if((s|0)==-1){v=a;w=d;q=10;break}r=(f[j>>2]|0)+(s<<2)|0;f[j>>2]=r;if((r|0)==(i|0)){q=29;break}s=f[g>>2]|0;if((h|0)==(e|0)){x=e;y=r;z=s}else{n=iEa(f[o>>2]|0)|0;A=kEa(r,s,1,c)|0;if(n|0)iEa(n)|0;if(A|0){B=2;q=28;break}f[j>>2]=(f[j>>2]|0)+4;A=(f[g>>2]|0)+1|0;f[g>>2]=A;n=A;while(1){if((n|0)==(e|0)){C=e;break}if(!(b[n>>0]|0)){C=n;break}n=n+1|0}x=C;y=f[j>>2]|0;z=A}a=z;d=y;h=x}do if((q|0)==10){a:while(1){q=0;f[j>>2]=w;if((v|0)==(f[g>>2]|0)){q=18;break}x=iEa(f[o>>2]|0)|0;h=kEa(w,v,t-v|0,l)|0;if(x|0)iEa(x)|0;switch(h|0){case -1:{q=15;break a;break}case -2:{q=16;break a;break}case 0:{D=1;break}default:D=h}v=v+D|0;w=(f[j>>2]|0)+4|0;q=10}if((q|0)==15){f[g>>2]=v;B=2;q=28;break}else if((q|0)==16){f[g>>2]=v;B=1;q=28;break}else if((q|0)==18){f[g>>2]=v;B=(v|0)!=(e|0)&1;q=28;break}}else if((q|0)==29){p=f[g>>2]|0;q=32}while(0);if((q|0)==28)E=B;else if((q|0)==32)E=(p|0)!=(e|0)&1;u=k;return E|0}function MNa(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=u;u=u+16|0;i=h;f[g>>2]=d;d=iEa(f[a+8>>2]|0)|0;a=ZCa(i,0,c)|0;if(d|0)iEa(d)|0;a:do if((a+1|0)>>>0>=2){d=a+-1|0;if(d>>>0>(e-(f[g>>2]|0)|0)>>>0)j=1;else{c=i;k=d;while(1){if(!k){j=0;break a}d=b[c>>0]|0;l=f[g>>2]|0;f[g>>2]=l+1;b[l>>0]=d;c=c+1|0;k=k+-1|0}}}else j=2;while(0);u=h;return j|0}function NNa(a){a=a|0;var b=0,c=0,d=0;b=a+8|0;a=iEa(f[b>>2]|0)|0;c=aFa(0,0,4)|0;if(a|0)iEa(a)|0;if(!c){c=f[b>>2]|0;if(!c)d=1;else{b=iEa(c)|0;c=PDa()|0;if(b|0)iEa(b)|0;return (c|0)==1|0}}else d=-1;return d|0}function ONa(a){a=a|0;return 0}function PNa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;g=d;h=a+8|0;a=0;i=0;j=c;a:while(1){if((j|0)==(d|0)|a>>>0>=e>>>0)break;c=iEa(f[h>>2]|0)|0;k=dFa(j,g-j|0,b)|0;if(c|0)iEa(c)|0;switch(k|0){case -2:case -1:{break a;break}case 0:{l=1;break}default:l=k}a=a+1|0;i=l+i|0;j=j+l|0}return i|0}function QNa(a){a=a|0;var b=0,c=0;b=f[a+8>>2]|0;if(b){a=iEa(b)|0;b=PDa()|0;if(!a)c=b;else{iEa(a)|0;c=b}}else c=1;return c|0}function RNa(a){a=a|0;var b=0,c=0;f[a>>2]=117636;b=a+8|0;c=f[b>>2]|0;if((c|0)!=(BIa()|0))nEa(f[b>>2]|0);eIa(a);return}function SNa(a){a=a|0;RNa(a);GQa(a);return}function TNa(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;b=u;u=u+16|0;a=b+4|0;j=b;f[a>>2]=c;f[j>>2]=g;k=aOa(c,d,a,g,h,j,1114111,0)|0;f[e>>2]=f[a>>2];f[i>>2]=f[j>>2];u=b;return k|0}function UNa(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;b=u;u=u+16|0;a=b+4|0;j=b;f[a>>2]=c;f[j>>2]=g;k=$Na(c,d,a,g,h,j,1114111,0)|0;f[e>>2]=f[a>>2];f[i>>2]=f[j>>2];u=b;return k|0}function VNa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f[e>>2]=c;return 3}function WNa(a){a=a|0;return 0}function XNa(a){a=a|0;return 0}function YNa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return _Na(c,d,e,1114111,0)|0}function ZNa(a){a=a|0;return 4}function _Na(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=c;if((((f&4|0)!=0?(g-a|0)>2:0)?(b[a>>0]|0)==-17:0)?(b[a+1>>0]|0)==-69:0){i=0;j=(b[a+2>>0]|0)==-65?a+3|0:a}else{i=0;j=a}a:while(1){if(!(i>>>0>>0&j>>>0>>0)){k=33;break}f=b[j>>0]|0;l=f&255;if(l>>>0>e>>>0){k=33;break}do if(f<<24>>24<=-1){if((f&255)<194){k=33;break a}if((f&255)<224){if((g-j|0)<2){k=33;break a}m=h[j+1>>0]|0;if((m&192|0)!=128){k=33;break a}if((m&63|l<<6&1984)>>>0>e>>>0){k=33;break a}else{n=i;o=j+2|0;break}}if((f&255)<240){m=j;if((g-m|0)<3){k=33;break a}p=b[j+1>>0]|0;q=b[j+2>>0]|0;switch(f<<24>>24){case -32:{if((p&-32)<<24>>24!=-96){r=m;break a}break}case -19:{if((p&-32)<<24>>24!=-128){r=m;break a}break}default:if((p&-64)<<24>>24!=-128){r=m;break a}}m=q&255;if((m&192|0)!=128){k=33;break a}if(((p&63)<<6|l<<12&61440|m&63)>>>0>e>>>0){k=33;break a}else{n=i;o=j+3|0;break}}if((f&255)>=245){k=33;break a}m=j;if((d-i|0)>>>0<2|(g-m|0)<4){k=33;break a}p=b[j+1>>0]|0;q=b[j+2>>0]|0;s=b[j+3>>0]|0;switch(f<<24>>24){case -16:{if((p+112&255)>=48){r=m;break a}break}case -12:{if((p&-16)<<24>>24!=-128){r=m;break a}break}default:if((p&-64)<<24>>24!=-128){r=m;break a}}m=q&255;if((m&192|0)!=128){k=33;break a}q=s&255;if((q&192|0)!=128){k=33;break a}if(((p&63)<<12|l<<18&1835008|m<<6&4032|q&63)>>>0>e>>>0){k=33;break a}else{n=i+1|0;o=j+4|0}}else{n=i;o=j+1|0}while(0);i=n+1|0;j=o}if((k|0)==33)r=j;return r-a|0}function $Na(a,c,e,g,i,j,k,l){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;f[e>>2]=a;f[j>>2]=g;if(l&4){l=f[e>>2]|0;g=c;if((((g-l|0)>2?(b[l>>0]|0)==-17:0)?(b[l+1>>0]|0)==-69:0)?(b[l+2>>0]|0)==-65:0){f[e>>2]=l+3;m=g}else m=g}else m=c;g=i;a:while(1){l=f[e>>2]|0;n=l>>>0>>0;if(!n){o=41;break}a=f[j>>2]|0;if(a>>>0>=i>>>0){o=41;break}p=b[l>>0]|0;q=p&255;if(q>>>0>k>>>0){r=2;break}do if(p<<24>>24>-1){d[a>>1]=p&255;s=1;t=l}else{if((p&255)<194){r=2;break a}if((p&255)<224){if((m-l|0)<2){r=1;break a}u=h[l+1>>0]|0;if((u&192|0)!=128){r=2;break a}v=u&63|q<<6&1984;if(v>>>0>k>>>0){r=2;break a}d[a>>1]=v;s=2;t=l;break}if((p&255)<240){if((m-l|0)<3){r=1;break a}v=b[l+1>>0]|0;u=b[l+2>>0]|0;switch(p<<24>>24){case -32:{if((v&-32)<<24>>24!=-96){r=2;break a}break}case -19:{if((v&-32)<<24>>24!=-128){r=2;break a}break}default:if((v&-64)<<24>>24!=-128){r=2;break a}}w=u&255;if((w&192|0)!=128){r=2;break a}u=(v&63)<<6|q<<12|w&63;if((u&65535)>>>0>k>>>0){r=2;break a}d[a>>1]=u;s=3;t=l;break}if((p&255)>=245){r=2;break a}if((m-l|0)<4){r=1;break a}u=b[l+1>>0]|0;w=b[l+2>>0]|0;v=b[l+3>>0]|0;switch(p<<24>>24){case -16:{if((u+112&255)>=48){r=2;break a}break}case -12:{if((u&-16)<<24>>24!=-128){r=2;break a}break}default:if((u&-64)<<24>>24!=-128){r=2;break a}}x=w&255;if((x&192|0)!=128){r=2;break a}w=v&255;if((w&192|0)!=128){r=2;break a}if((g-a|0)<4){r=1;break a}v=q&7;y=u&255;u=x<<6;z=w&63;if((y<<12&258048|v<<18|u&4032|z)>>>0>k>>>0){r=2;break a}d[a>>1]=y<<2&60|x>>>4&3|((y>>>4&3|v<<2)<<6)+16320|55296;v=a+2|0;f[j>>2]=v;d[v>>1]=z|u&960|56320;s=4;t=f[e>>2]|0}while(0);f[e>>2]=t+s;f[j>>2]=(f[j>>2]|0)+2}if((o|0)==41)r=n&1;return r|0}function aOa(a,c,e,g,h,i,k,l){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0;f[e>>2]=a;f[i>>2]=g;a=h;if(l&2)if((a-g|0)<3)m=1;else{f[i>>2]=g+1;b[g>>0]=-17;g=f[i>>2]|0;f[i>>2]=g+1;b[g>>0]=-69;g=f[i>>2]|0;f[i>>2]=g+1;b[g>>0]=-65;n=4}else n=4;a:do if((n|0)==4){g=c;l=f[e>>2]|0;while(1){if(l>>>0>=c>>>0){m=0;break a}h=d[l>>1]|0;o=h&65535;if(o>>>0>k>>>0){m=2;break a}do if((h&65535)<128){p=f[i>>2]|0;if((a-p|0)<1){m=1;break a}f[i>>2]=p+1;b[p>>0]=h}else{if((h&65535)<2048){p=f[i>>2]|0;if((a-p|0)<2){m=1;break a}f[i>>2]=p+1;b[p>>0]=o>>>6|192;p=f[i>>2]|0;f[i>>2]=p+1;b[p>>0]=o&63|128;break}if((h&65535)<55296){p=f[i>>2]|0;if((a-p|0)<3){m=1;break a}f[i>>2]=p+1;b[p>>0]=o>>>12|224;p=f[i>>2]|0;f[i>>2]=p+1;b[p>>0]=o>>>6&63|128;p=f[i>>2]|0;f[i>>2]=p+1;b[p>>0]=o&63|128;break}if((h&65535)>=56320){if((h&65535)<57344){m=2;break a}p=f[i>>2]|0;if((a-p|0)<3){m=1;break a}f[i>>2]=p+1;b[p>>0]=o>>>12|224;p=f[i>>2]|0;f[i>>2]=p+1;b[p>>0]=o>>>6&63|128;p=f[i>>2]|0;f[i>>2]=p+1;b[p>>0]=o&63|128;break}if((g-l|0)<4){m=1;break a}p=l+2|0;q=j[p>>1]|0;if((q&64512|0)!=56320){m=2;break a}if((a-(f[i>>2]|0)|0)<4){m=1;break a}r=o&960;if(((r<<10)+65536|o<<10&64512|q&1023)>>>0>k>>>0){m=2;break a}f[e>>2]=p;p=(r>>>6)+1|0;r=f[i>>2]|0;f[i>>2]=r+1;b[r>>0]=p>>>2|240;r=f[i>>2]|0;f[i>>2]=r+1;b[r>>0]=o>>>2&15|p<<4&48|128;p=f[i>>2]|0;f[i>>2]=p+1;b[p>>0]=o<<4&48|q>>>6&15|128;p=f[i>>2]|0;f[i>>2]=p+1;b[p>>0]=q&63|128}while(0);o=(f[e>>2]|0)+2|0;f[e>>2]=o;l=o}}while(0);return m|0}function bOa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=117684;b=a+8|0;c=a+12|0;d=0;while(1){e=f[b>>2]|0;if(d>>>0>=(f[c>>2]|0)-e>>2>>>0)break;g=f[e+(d<<2)>>2]|0;if(g|0)BQa(g)|0;d=d+1|0}RQa(a+144|0);dOa(b);eIa(a);return}function cOa(a){a=a|0;bOa(a);GQa(a);return}function dOa(a){a=a|0;var c=0,d=0,e=0,g=0;c=f[a>>2]|0;do if(c|0){d=a+4|0;e=f[d>>2]|0;while(1){if((e|0)==(c|0))break;g=e+-4|0;f[d>>2]=g;e=g}if((c|0)==(a+16|0)){b[a+128>>0]=0;break}else{GQa(c);break}}while(0);return}function eOa(a){a=a|0;var c=0;f[a>>2]=117704;c=f[a+8>>2]|0;if(c|0?b[a+12>>0]|0:0)HQa(c);eIa(a);return}function fOa(a){a=a|0;eOa(a);GQa(a);return}function gOa(a,b){a=a|0;b=b|0;var c=0;if(b<<24>>24>-1){a=(pOa()|0)+((b&255)<<2)|0;c=f[a>>2]&255}else c=b;return c|0}function hOa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;a=c;while(1){if((a|0)==(d|0))break;c=b[a>>0]|0;if(c<<24>>24>-1){e=pOa()|0;g=f[e+(b[a>>0]<<2)>>2]&255}else g=c;b[a>>0]=g;a=a+1|0}return d|0}function iOa(a,b){a=a|0;b=b|0;var c=0;if(b<<24>>24>-1){a=(oOa()|0)+(b<<24>>24<<2)|0;c=f[a>>2]&255}else c=b;return c|0}function jOa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;a=c;while(1){if((a|0)==(d|0))break;c=b[a>>0]|0;if(c<<24>>24>-1){e=oOa()|0;g=f[e+(b[a>>0]<<2)>>2]&255}else g=c;b[a>>0]=g;a=a+1|0}return d|0}function kOa(a,b){a=a|0;b=b|0;return b|0}function lOa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;a=e;e=c;while(1){if((e|0)==(d|0))break;b[a>>0]=b[e>>0]|0;a=a+1|0;e=e+1|0}return d|0}function mOa(a,b,c){a=a|0;b=b|0;c=c|0;return (b<<24>>24>-1?b:c)|0}function nOa(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;a=f;f=c;while(1){if((f|0)==(d|0))break;c=b[f>>0]|0;b[a>>0]=c<<24>>24>-1?c:e;a=a+1|0;f=f+1|0}return d|0}function oOa(){var a=0;a=KDa()|0;return f[a>>2]|0}function pOa(){var a=0;a=HDa()|0;return f[a>>2]|0}function qOa(){var a=0;a=GDa()|0;return f[a>>2]|0}function rOa(a){a=a|0;f[a>>2]=117756;RQa(a+12|0);eIa(a);return}function sOa(a){a=a|0;rOa(a);GQa(a);return}function tOa(a){a=a|0;return b[a+8>>0]|0}function uOa(a){a=a|0;return b[a+9>>0]|0}function vOa(a,b){a=a|0;b=b|0;PQa(a,b+12|0);return}function wOa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;e=$Ga(452528)|0;if(e>>>0>4294967279)NQa(a);if(e>>>0<11){b[a+11>>0]=e;g=a}else{h=e+16&-16;i=EQa(h)|0;f[a>>2]=i;f[a+8>>2]=h|-2147483648;f[a+4>>2]=e;g=i}gGa(g,452528,e)|0;b[d>>0]=0;aHa(g+e|0,d);u=c;return}function xOa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;e=$Ga(452522)|0;if(e>>>0>4294967279)NQa(a);if(e>>>0<11){b[a+11>>0]=e;g=a}else{h=e+16&-16;i=EQa(h)|0;f[a>>2]=i;f[a+8>>2]=h|-2147483648;f[a+4>>2]=e;g=i}gGa(g,452522,e)|0;b[d>>0]=0;aHa(g+e|0,d);u=c;return}function yOa(a){a=a|0;f[a>>2]=117796;RQa(a+16|0);eIa(a);return}function zOa(a){a=a|0;yOa(a);GQa(a);return}function AOa(a){a=a|0;return f[a+8>>2]|0}function BOa(a){a=a|0;return f[a+12>>2]|0}function COa(a,b){a=a|0;b=b|0;PQa(a,b+16|0);return}function DOa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;e=hLa(117852)|0;if(e>>>0>1073741807)NQa(a);do if(e>>>0>=2){g=e+4&-4;if(g>>>0>1073741823)ne();else{h=EQa(g<<2)|0;f[a>>2]=h;f[a+8>>2]=g|-2147483648;f[a+4>>2]=e;i=h;break}}else{b[a+8+3>>0]=e;i=a}while(0);yGa(i,117852,e)|0;f[d>>2]=0;kIa(i+(e<<2)|0,d);u=c;return}function EOa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;e=hLa(117828)|0;if(e>>>0>1073741807)NQa(a);do if(e>>>0>=2){g=e+4&-4;if(g>>>0>1073741823)ne();else{h=EQa(g<<2)|0;f[a>>2]=h;f[a+8>>2]=g|-2147483648;f[a+4>>2]=e;i=h;break}}else{b[a+8+3>>0]=e;i=a}while(0);yGa(i,117828,e)|0;f[d>>2]=0;kIa(i+(e<<2)|0,d);u=c;return}function FOa(a){a=a|0;eIa(a);GQa(a);return}function GOa(a){a=a|0;eIa(a);GQa(a);return}function HOa(a,b,c){a=a|0;b=b|0;c=c|0;var e=0;if(c>>>0<128){a=(qOa()|0)+(c<<1)|0;e=(d[a>>1]&b)<<16>>16!=0}else e=0;return e|0}function IOa(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;var g=0;a=e;e=b;while(1){if((e|0)==(c|0))break;if((f[e>>2]|0)>>>0<128){b=qOa()|0;g=j[b+(f[e>>2]<<1)>>1]|0}else g=0;d[a>>1]=g;a=a+2|0;e=e+4|0}return c|0}function JOa(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;var g=0;a=c;while(1){if((a|0)==(e|0)){g=e;break}if((f[a>>2]|0)>>>0<128?(c=qOa()|0,(d[c+(f[a>>2]<<1)>>1]&b)<<16>>16):0){g=a;break}a=a+4|0}return g|0}function KOa(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;var g=0;a=c;while(1){if((a|0)==(e|0)){g=e;break}if((f[a>>2]|0)>>>0>=128){g=a;break}c=qOa()|0;if(!((d[c+(f[a>>2]<<1)>>1]&b)<<16>>16)){g=a;break}a=a+4|0}return g|0}function LOa(a,b){a=a|0;b=b|0;var c=0;if(b>>>0<128){a=(pOa()|0)+(b<<2)|0;c=f[a>>2]|0}else c=b;return c|0}function MOa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a=b;while(1){if((a|0)==(c|0))break;b=f[a>>2]|0;if(b>>>0<128){d=pOa()|0;e=f[d+(f[a>>2]<<2)>>2]|0}else e=b;f[a>>2]=e;a=a+4|0}return c|0}function NOa(a,b){a=a|0;b=b|0;var c=0;if(b>>>0<128){a=(oOa()|0)+(b<<2)|0;c=f[a>>2]|0}else c=b;return c|0}function OOa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a=b;while(1){if((a|0)==(c|0))break;b=f[a>>2]|0;if(b>>>0<128){d=oOa()|0;e=f[d+(f[a>>2]<<2)>>2]|0}else e=b;f[a>>2]=e;a=a+4|0}return c|0}function POa(a,b){a=a|0;b=b|0;return b<<24>>24|0}function QOa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;a=e;e=c;while(1){if((e|0)==(d|0))break;f[a>>2]=b[e>>0];a=a+4|0;e=e+1|0}return d|0}function ROa(a,b,c){a=a|0;b=b|0;c=c|0;return (b>>>0<128?b&255:c)|0}function SOa(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;a=(d-c|0)>>>2;h=g;g=c;while(1){if((g|0)==(d|0))break;i=f[g>>2]|0;b[h>>0]=i>>>0<128?i&255:e;h=h+1|0;g=g+4|0}return c+(a<<2)|0}function TOa(a){a=a|0;eIa(a);GQa(a);return}function UOa(a){a=a|0;eIa(a);GQa(a);return}function VOa(a){a=a|0;eIa(a);GQa(a);return}function WOa(a){a=a|0;f[a>>2]=118112;return}function XOa(a){a=a|0;f[a>>2]=118148;return}function YOa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;f[a+4>>2]=e+-1;f[a>>2]=117704;e=a+8|0;f[e>>2]=c;b[a+12>>0]=d&1;if(!c){c=qOa()|0;f[e>>2]=c}return}function ZOa(a){a=a|0;ne()}function _Oa(a){a=a|0;ne()}function $Oa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;f[a+4>>2]=c+-1;f[a>>2]=117684;c=a+8|0;aPa(c,28);g=a+144|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=$Ga(448479)|0;if(h>>>0>4294967279)NQa(g);if(h>>>0<11){b[g+11>>0]=h;i=g}else{j=h+16&-16;k=EQa(j)|0;f[g>>2]=k;f[a+152>>2]=j|-2147483648;f[a+148>>2]=h;i=k}gGa(i,448479,h)|0;b[e>>0]=0;aHa(i+h|0,e);e=f[c>>2]|0;c=a+12|0;h=f[c>>2]|0;while(1){if((h|0)==(e|0))break;i=h+-4|0;f[c>>2]=i;h=i}bPa();cPa(a,454456);dPa();ePa(a,454464);fPa();gPa(a,454472);hPa();iPa(a,454488);jPa();kPa(a,454496);lPa();mPa(a,454504);nPa();oPa(a,454520);pPa();qPa(a,454528);rPa();sPa(a,454536);tPa();uPa(a,454560);vPa();wPa(a,454592);xPa();yPa(a,454600);zPa();APa(a,454608);BPa();CPa(a,454616);DPa();EPa(a,454624);FPa();GPa(a,454632);HPa();IPa(a,454640);JPa();KPa(a,454648);LPa();MPa(a,454656);NPa();OPa(a,454664);PPa();QPa(a,454672);RPa();SPa(a,454680);TPa();UPa(a,454688);VPa();WPa(a,454704);XPa();YPa(a,454720);ZPa();_Pa(a,454736);$Pa();aQa(a,454752);bQa();cQa(a,454760);u=d;return}function aPa(a,c){a=a|0;c=c|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b[a+128>>0]=0;if(c|0){pQa(a,c);gQa(a,c)}return}function bPa(){f[113615]=0;f[113614]=115348;return}function cPa(a,b){a=a|0;b=b|0;dQa(a,b,DIa(810352)|0);return}function dPa(){f[113617]=0;f[113616]=115380;return}function ePa(a,b){a=a|0;b=b|0;dQa(a,b,DIa(810360)|0);return}function fPa(){YOa(454472,0,0,1);return}function gPa(a,b){a=a|0;b=b|0;dQa(a,b,DIa(810368)|0);return}function hPa(){f[113623]=0;f[113622]=117900;return}function iPa(a,b){a=a|0;b=b|0;dQa(a,b,DIa(810400)|0);return}function jPa(){f[113625]=0;f[113624]=117968;return}function kPa(a,b){a=a|0;b=b|0;dQa(a,b,DIa(812160)|0);return}function lPa(){oQa(454504,1);return}function mPa(a,b){a=a|0;b=b|0;dQa(a,b,DIa(812168)|0);return}function nPa(){f[113631]=0;f[113630]=118016;return}function oPa(a,b){a=a|0;b=b|0;dQa(a,b,DIa(812176)|0);return}function pPa(){f[113633]=0;f[113632]=118064;return}function qPa(a,b){a=a|0;b=b|0;dQa(a,b,DIa(812184)|0);return}function rPa(){nQa(454536,1);return}function sPa(a,b){a=a|0;b=b|0;dQa(a,b,DIa(810384)|0);return}function tPa(){mQa(454560,1);return}function uPa(a,b){a=a|0;b=b|0;dQa(a,b,DIa(810408)|0);return}function vPa(){f[113649]=0;f[113648]=115412;return}function wPa(a,b){a=a|0;b=b|0;dQa(a,b,DIa(810392)|0);return}function xPa(){f[113651]=0;f[113650]=115476;return}function yPa(a,b){a=a|0;b=b|0;dQa(a,b,DIa(810416)|0);return}function zPa(){f[113653]=0;f[113652]=115540;return}function APa(a,b){a=a|0;b=b|0;dQa(a,b,DIa(810424)|0);return}function BPa(){f[113655]=0;f[113654]=115592;return}function CPa(a,b){a=a|0;b=b|0;dQa(a,b,DIa(810432)|0);return}function DPa(){f[113657]=0;f[113656]=117140;return}function EPa(a,b){a=a|0;b=b|0;dQa(a,b,DIa(812080)|0);return}function FPa(){f[113659]=0;f[113658]=117196;return}function GPa(a,b){a=a|0;b=b|0;dQa(a,b,DIa(812088)|0);return}function HPa(){f[113661]=0;f[113660]=117252;return}function IPa(a,b){a=a|0;b=b|0;dQa(a,b,DIa(812096)|0);return}function JPa(){f[113663]=0;f[113662]=117308;return}function KPa(a,b){a=a|0;b=b|0;dQa(a,b,DIa(812104)|0);return}function LPa(){f[113665]=0;f[113664]=117364;return}function MPa(a,b){a=a|0;b=b|0;dQa(a,b,DIa(812112)|0);return}function NPa(){f[113667]=0;f[113666]=117392;return}function OPa(a,b){a=a|0;b=b|0;dQa(a,b,DIa(812120)|0);return}function PPa(){f[113669]=0;f[113668]=117420;return}function QPa(a,b){a=a|0;b=b|0;dQa(a,b,DIa(812128)|0);return}function RPa(){f[113671]=0;f[113670]=117448;return}function SPa(a,b){a=a|0;b=b|0;dQa(a,b,DIa(812136)|0);return}function TPa(){f[113673]=0;f[113672]=117880;WOa(454696);f[113672]=115644;f[113674]=115692;return}function UPa(a,b){a=a|0;b=b|0;dQa(a,b,DIa(811244)|0);return}function VPa(){f[113677]=0;f[113676]=117880;XOa(454712);f[113676]=115728;f[113678]=115776;return}function WPa(a,b){a=a|0;b=b|0;dQa(a,b,DIa(812056)|0);return}function XPa(){var a=0;f[113681]=0;f[113680]=117880;a=BIa()|0;f[113682]=a;f[113680]=117092;return}function YPa(a,b){a=a|0;b=b|0;dQa(a,b,DIa(812064)|0);return}function ZPa(){var a=0;f[113685]=0;f[113684]=117880;a=BIa()|0;f[113686]=a;f[113684]=117116;return}function _Pa(a,b){a=a|0;b=b|0;dQa(a,b,DIa(812072)|0);return}function $Pa(){f[113689]=0;f[113688]=117476;return}function aQa(a,b){a=a|0;b=b|0;dQa(a,b,DIa(812144)|0);return}function bQa(){f[113691]=0;f[113690]=117508;return}function cQa(a,b){a=a|0;b=b|0;dQa(a,b,DIa(812152)|0);return}function dQa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;zQa(b);d=a+8|0;e=f[d>>2]|0;if((f[a+12>>2]|0)-e>>2>>>0>c>>>0){g=d;h=e}else{eQa(d,c+1|0);g=d;h=f[d>>2]|0}d=f[h+(c<<2)>>2]|0;if(d|0)BQa(d)|0;f[(f[g>>2]|0)+(c<<2)>>2]=b;return}function eQa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e>>2;h=e;e=d;a:do if(g>>>0>=b>>>0){if(g>>>0>b>>>0){d=h+(b<<2)|0;i=e;while(1){if((i|0)==(d|0))break a;j=i+-4|0;f[c>>2]=j;i=j}}}else fQa(a,b-g|0);while(0);return}function fQa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+32|0;d=c;e=a+8|0;g=a+4|0;h=f[g>>2]|0;do if((f[e>>2]|0)-h>>2>>>0>>0){i=(h-(f[a>>2]|0)>>2)+b|0;j=hQa(a)|0;if(j>>>0>>0)ZOa(a);else{k=f[a>>2]|0;l=(f[e>>2]|0)-k|0;m=l>>1;iQa(d,l>>2>>>0>>1>>>0?(m>>>0>>0?i:m):j,(f[g>>2]|0)-k>>2,a+16|0);jQa(d,b);kQa(a,d);lQa(d);break}}else gQa(a,b);while(0);u=c;return}function gQa(a,b){a=a|0;b=b|0;var c=0;c=a+4|0;a=b;b=f[c>>2]|0;do{f[b>>2]=0;b=(f[c>>2]|0)+4|0;f[c>>2]=b;a=a+-1|0}while((a|0)!=0);return}function hQa(a){a=a|0;return 1073741823}function iQa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;f[a+12>>2]=0;f[a+16>>2]=e;do if(c){g=e+112|0;if(c>>>0<29&(b[g>>0]|0)==0){b[g>>0]=1;h=e;break}else{h=EQa(c<<2)|0;break}}else h=0;while(0);f[a>>2]=h;e=h+(d<<2)|0;f[a+8>>2]=e;f[a+4>>2]=e;f[a+12>>2]=h+(c<<2);return}function jQa(a,b){a=a|0;b=b|0;var c=0;c=a+8|0;a=b;b=f[c>>2]|0;do{f[b>>2]=0;b=(f[c>>2]|0)+4|0;f[c>>2]=b;a=a+-1|0}while((a|0)!=0);return}function kQa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=f[a>>2]|0;d=a+4|0;e=b+4|0;g=(f[d>>2]|0)-c|0;h=(f[e>>2]|0)+(0-(g>>2)<<2)|0;f[e>>2]=h;if((g|0)>0){DVa(h|0,c|0,g|0)|0;i=e;j=f[e>>2]|0}else{i=e;j=h}h=f[a>>2]|0;f[a>>2]=j;f[i>>2]=h;h=b+8|0;j=f[d>>2]|0;f[d>>2]=f[h>>2];f[h>>2]=j;j=a+8|0;a=b+12|0;h=f[j>>2]|0;f[j>>2]=f[a>>2];f[a>>2]=h;f[b>>2]=f[i>>2];return}function lQa(a){a=a|0;var c=0,d=0,e=0,g=0;c=f[a+4>>2]|0;d=a+8|0;e=f[d>>2]|0;while(1){if((e|0)==(c|0))break;g=e+-4|0;f[d>>2]=g;e=g}e=f[a>>2]|0;do if(e|0){d=f[a+16>>2]|0;if((e|0)==(d|0)){b[d+112>>0]=0;break}else{GQa(e);break}}while(0);return}function mQa(a,b){a=a|0;b=b|0;f[a+4>>2]=b+-1;f[a>>2]=117796;f[a+8>>2]=46;f[a+12>>2]=44;b=a+16|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[b+(a<<2)>>2]=0;a=a+1|0}return}function nQa(a,c){a=a|0;c=c|0;f[a+4>>2]=c+-1;f[a>>2]=117756;b[a+8>>0]=46;b[a+9>>0]=44;c=a+12|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[c+(a<<2)>>2]=0;a=a+1|0}return}function oQa(a,b){a=a|0;b=b|0;f[a+4>>2]=b+-1;f[a>>2]=117636;b=BIa()|0;f[a+8>>2]=b;return}function pQa(a,c){a=a|0;c=c|0;var d=0,e=0;if((hQa(a)|0)>>>0>>0)ZOa(a);d=a+128|0;if(c>>>0<29&(b[d>>0]|0)==0){b[d>>0]=1;e=a+16|0}else e=EQa(c<<2)|0;f[a+4>>2]=e;f[a>>2]=e;f[a+8>>2]=e+(c<<2);return}function qQa(){if((b[454768]|0)==0?jVa(454768)|0:0){rQa()|0;f[203049]=812192}return f[203049]|0}function rQa(){sQa();f[203048]=454776;return 812192}function sQa(){$Oa(454776,1);return}function tQa(){uQa(812200,qQa()|0);return 812200}function uQa(a,b){a=a|0;b=b|0;var c=0;c=f[b>>2]|0;f[a>>2]=c;zQa(c);return}function vQa(){if((b[454936]|0)==0?jVa(454936)|0:0){tQa()|0;f[203051]=812200}return f[203051]|0}function wQa(a){a=a|0;var b=0,c=0;b=vQa()|0;c=f[b>>2]|0;f[a>>2]=c;zQa(c);return}function xQa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!c)d=0;else d=xCa(a,b,c)|0;return d|0}function yQa(a){a=a|0;return}function zQa(a){a=a|0;AQa(a+4|0);return}function AQa(a){a=a|0;f[a>>2]=(f[a>>2]|0)+1;return}function BQa(a){a=a|0;var b=0;if((CQa(a+4|0)|0)==-1){qg[f[(f[a>>2]|0)+8>>2]&1023](a);b=1}else b=0;return b|0}function CQa(a){a=a|0;var b=0;b=f[a>>2]|0;f[a>>2]=b+-1;return b+-1|0}function DQa(a,b,c){a=a|0;b=b|0;c=c|0;HVa(812208)|0;while(1){if((f[a>>2]|0)!=1)break;ze(812236,812208)|0}if(!(f[a>>2]|0)){f[a>>2]=1;IVa(812208)|0;qg[c&1023](b);HVa(812208)|0;f[a>>2]=-1;IVa(812208)|0;GVa(812236)|0}else IVa(812208)|0;return}function EQa(a){a=a|0;var b=0,c=0;b=(a|0)==0?1:a;while(1){a=YBa(b)|0;if(a|0){c=a;break}a=mVa()|0;if(!a){c=0;break}ng[a&3]()}return c|0}function FQa(a){a=a|0;return EQa(a)|0}function GQa(a){a=a|0;ZBa(a);return}function HQa(a){a=a|0;GQa(a);return}function IQa(){ne()}function JQa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=nCa(b)|0;d=EQa(c+13|0)|0;f[d>>2]=c;f[d+4>>2]=c;f[d+8>>2]=0;e=KQa(d)|0;DVa(e|0,b|0,c+1|0)|0;f[a>>2]=e;return}function KQa(a){a=a|0;return a+12|0}function LQa(a,b){a=a|0;b=b|0;f[a>>2]=118268;JQa(a+4|0,b);return}function MQa(a){a=a|0;return 1}function NQa(a){a=a|0;ne()}function OQa(a){a=a|0;ne()}function PQa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if((b[c+11>>0]|0)<0){g=f[c>>2]|0;h=f[c+4>>2]|0;if(h>>>0>4294967279)NQa(a);if(h>>>0<11){b[a+11>>0]=h;i=a}else{j=h+16&-16;k=EQa(j)|0;f[a>>2]=k;f[a+8>>2]=j|-2147483648;f[a+4>>2]=h;i=k}gGa(i,g,h)|0;b[e>>0]=0;aHa(i+h|0,e)}else{f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2]}u=d;return}function QQa(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;g=u;u=u+16|0;h=g;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;i=b[c+11>>0]|0;j=i<<24>>24<0;k=j?f[c+4>>2]|0:i&255;if(k>>>0>>0)OQa(a);i=(j?f[c>>2]|0:c)+d|0;c=k-d|0;d=c>>>0>>0?c:e;if(d>>>0>4294967279)NQa(a);if(d>>>0<11){b[a+11>>0]=d;l=a}else{e=d+16&-16;c=EQa(e)|0;f[a>>2]=c;f[a+8>>2]=e|-2147483648;f[a+4>>2]=d;l=c}gGa(l,i,d)|0;b[h>>0]=0;aHa(l+d|0,h);u=g;return}function RQa(a){a=a|0;if((b[a+11>>0]|0)<0)GQa(f[a>>2]|0);return}function SQa(a,c){a=a|0;c=c|0;var d=0,e=0;if((a|0)!=(c|0)){d=b[c+11>>0]|0;e=d<<24>>24<0;TQa(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function TQa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=(f[a+8>>2]&2147483647)+-1|0;else k=10;do if(k>>>0>=d>>>0){if(j)l=f[a>>2]|0;else l=a;UQa(l,c,d)|0;b[g>>0]=0;aHa(l+d|0,g);if((b[h>>0]|0)<0){f[a+4>>2]=d;break}else{b[h>>0]=d;break}}else{if(j)m=f[a+4>>2]|0;else m=i&255;VQa(a,k,d-k|0,m,0,m,d,c)}while(0);u=e;return a|0}function UQa(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)EVa(a|0,b|0,c|0)|0;return a|0}function VQa(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;k=u;u=u+16|0;l=k;if((-18-c|0)>>>0>>0)NQa(a);if((b[a+11>>0]|0)<0)m=f[a>>2]|0;else m=a;if(c>>>0<2147483623){n=d+c|0;d=c<<1;o=n>>>0>>0?d:n;p=o>>>0<11?11:o+16&-16}else p=-17;o=EQa(p)|0;if(g|0)gGa(o,m,g)|0;if(i|0)gGa(o+g|0,j,i)|0;j=e-h|0;e=j-g|0;if(e|0)gGa(o+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)GQa(m);f[a>>2]=o;f[a+8>>2]=p|-2147483648;p=j+i|0;f[a+4>>2]=p;b[l>>0]=0;aHa(o+p|0,l);u=k;return}function WQa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(c>>>0>4294967279)NQa(a);d=a+11|0;e=b[d>>0]|0;g=e<<24>>24<0;if(g){h=f[a+4>>2]|0;i=(f[a+8>>2]&2147483647)+-1|0}else{h=e&255;i=10}j=h>>>0>c>>>0?h:c;c=j>>>0<11;k=c?10:(j+16&-16)+-1|0;do if((k|0)!=(i|0)){do if(c){j=f[a>>2]|0;if(g){l=0;m=j;n=a;o=13}else{gGa(a,j,(e&255)+1|0)|0;GQa(j);o=16}}else{j=k+1|0;p=EQa(j)|0;if(g){l=1;m=f[a>>2]|0;n=p;o=13;break}else{gGa(p,a,(e&255)+1|0)|0;q=p;r=j;s=a+4|0;o=15;break}}while(0);if((o|0)==13){j=a+4|0;gGa(n,m,(f[j>>2]|0)+1|0)|0;GQa(m);if(l){q=n;r=k+1|0;s=j;o=15}else o=16}if((o|0)==15){f[a+8>>2]=r|-2147483648;f[s>>2]=h;f[a>>2]=q;break}else if((o|0)==16){b[d>>0]=h;break}}while(0);return}function XQa(a,b){a=a|0;b=b|0;return TQa(a,b,$Ga(b)|0)|0}function YQa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=f[a+4>>2]|0;else k=i&255;do if(k>>>0>=c>>>0)if(j){i=(f[a>>2]|0)+c|0;b[g>>0]=0;aHa(i,g);f[a+4>>2]=c;break}else{b[g>>0]=0;aHa(a+c|0,g);b[h>>0]=c;break}else ZQa(a,c-k|0,d)|0;while(0);u=e;return}function ZQa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;if(c|0){h=a+11|0;i=b[h>>0]|0;if(i<<24>>24<0){j=f[a+4>>2]|0;k=(f[a+8>>2]&2147483647)+-1|0}else{j=i&255;k=10}if((k-j|0)>>>0>>0){_Qa(a,k,c-k+j|0,j,j,0,0);l=b[h>>0]|0}else l=i;if(l<<24>>24<0)m=f[a>>2]|0;else m=a;ZLa(m+j|0,c,d)|0;d=j+c|0;if((b[h>>0]|0)<0)f[a+4>>2]=d;else b[h>>0]=d;b[g>>0]=0;aHa(m+d|0,g)}u=e;return a|0}function _Qa(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;if((-17-c|0)>>>0>>0)NQa(a);if((b[a+11>>0]|0)<0)j=f[a>>2]|0;else j=a;if(c>>>0<2147483623){k=d+c|0;d=c<<1;l=k>>>0>>0?d:k;m=l>>>0<11?11:l+16&-16}else m=-17;l=EQa(m)|0;if(g|0)gGa(l,j,g)|0;k=e-h-g|0;if(k|0)gGa(l+g+i|0,j+g+h|0,k)|0;if((c|0)!=10)GQa(j);f[a>>2]=l;f[a+8>>2]=m|-2147483648;return}function $Qa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=b[a+11>>0]|0;e=d<<24>>24<0;if(e)g=f[a+4>>2]|0;else g=d&255;if(g>>>0<=c>>>0)OQa(a);if(e)h=f[a>>2]|0;else h=a;return h+c|0}function aRa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j){k=f[a+4>>2]|0;l=(f[a+8>>2]&2147483647)+-1|0}else{k=i&255;l=10}if((l-k|0)>>>0>=d>>>0){if(d|0){if(j)m=f[a>>2]|0;else m=a;gGa(m+k|0,c,d)|0;j=k+d|0;if((b[h>>0]|0)<0)f[a+4>>2]=j;else b[h>>0]=j;b[g>>0]=0;aHa(m+j|0,g)}}else VQa(a,l,d-l+k|0,k,k,0,d,c);u=e;return a|0}function bRa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=u;u=u+16|0;e=d;g=d+1|0;b[e>>0]=c;c=a+11|0;h=b[c>>0]|0;i=h<<24>>24<0;if(i){j=f[a+4>>2]|0;k=(f[a+8>>2]&2147483647)+-1|0}else{j=h&255;k=10}if((j|0)==(k|0)){_Qa(a,k,1,k,k,0,0);if((b[c>>0]|0)<0)l=8;else l=7}else if(i)l=8;else l=7;if((l|0)==7){b[c>>0]=j+1;m=a}else if((l|0)==8){l=f[a>>2]|0;f[a+4>>2]=j+1;m=l}l=m+j|0;aHa(l,e);b[g>>0]=0;aHa(l+1|0,g);u=d;return}function cRa(a,b,c){a=a|0;b=b|0;c=c|0;return b>>>0<=a>>>0&a>>>0>>0|0}function dRa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(!c)e=0;else e=yCa(a,fGa(b[d>>0]|0)|0,c)|0;return e|0}function eRa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e;h=b[a+11>>0]|0;if(h<<24>>24<0){i=f[a+4>>2]|0;j=f[a>>2]|0}else{i=h&255;j=a}b[g>>0]=c;if(i>>>0>d>>>0){c=dRa(j+d|0,i-d|0,g)|0;k=(c|0)==0?-1:c-j|0}else k=-1;u=e;return k|0}function fRa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=b[a+11>>0]|0;if(e<<24>>24<0){g=f[a+4>>2]|0;h=f[a>>2]|0}else{g=e&255;h=a}a:do if(!g)i=-1;else{a=h+(g>>>0>d>>>0?d+1|0:g)|0;do{if((a|0)==(h|0)){i=-1;break a}a=a+-1|0}while(!(gHa(b[a>>0]|0,c)|0));i=a-h|0}while(0);return i|0}function gRa(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;h=b[a+11>>0]|0;i=h<<24>>24<0;if(i)j=f[a+4>>2]|0;else j=h&255;if((g|0)==-1|j>>>0>>0)OQa(a);h=j-c|0;j=h>>>0>>0?h:d;if(i)k=f[a>>2]|0;else k=a;a=j>>>0>g>>>0;i=xQa(k+c|0,e,a?g:j)|0;if(!i)return (j>>>0>>0?-1:a&1)|0;else return i|0;return 0}function hRa(a){a=a|0;if((b[a+8+3>>0]|0)<0)GQa(f[a>>2]|0);return}function iRa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e;h=a+8|0;i=h+3|0;j=b[i>>0]|0;k=j<<24>>24<0;if(k)l=(f[h>>2]&2147483647)+-1|0;else l=1;do if(l>>>0>=d>>>0){if(k)m=f[a>>2]|0;else m=a;jRa(m,c,d)|0;f[g>>2]=0;kIa(m+(d<<2)|0,g);if((b[i>>0]|0)<0){f[a+4>>2]=d;break}else{b[i>>0]=d;break}}else{if(k)n=f[a+4>>2]|0;else n=j&255;kRa(a,l,d-l|0,n,0,n,d,c)}while(0);u=e;return a|0}function jRa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!c)d=a;else{TDa(a,b,c)|0;d=a}return d|0}function kRa(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=u;u=u+16|0;l=k;if((1073741806-c|0)>>>0>>0)NQa(a);m=a+8|0;if((b[m+3>>0]|0)<0)n=f[a>>2]|0;else n=a;if(c>>>0<536870887){o=d+c|0;d=c<<1;p=o>>>0>>0?d:o;o=p>>>0<2?2:p+4&-4;if(o>>>0>1073741823)ne();else q=o}else q=1073741807;o=EQa(q<<2)|0;if(g|0)yGa(o,n,g)|0;if(i|0)yGa(o+(g<<2)|0,j,i)|0;j=e-h|0;e=j-g|0;if(e|0)yGa(o+(g<<2)+(i<<2)|0,n+(g<<2)+(h<<2)|0,e)|0;if((c|0)!=1)GQa(n);f[a>>2]=o;f[m>>2]=q|-2147483648;q=j+i|0;f[a+4>>2]=q;f[l>>2]=0;kIa(o+(q<<2)|0,l);u=k;return}function lRa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;if(c>>>0>1073741807)NQa(a);d=a+8|0;e=d+3|0;g=b[e>>0]|0;h=g<<24>>24<0;if(h){i=f[a+4>>2]|0;j=(f[d>>2]&2147483647)+-1|0}else{i=g&255;j=1}k=i>>>0>c>>>0?i:c;c=k>>>0<2;l=c?1:(k+4&-4)+-1|0;do if((l|0)!=(j|0)){do if(c){k=f[a>>2]|0;if(h){m=0;n=k;o=a;p=15}else{yGa(a,k,(g&255)+1|0)|0;GQa(k);p=18}}else{k=l+1|0;if(k>>>0>1073741823)ne();q=EQa(k<<2)|0;if(h){m=1;n=f[a>>2]|0;o=q;p=15;break}else{yGa(q,a,(g&255)+1|0)|0;r=q;s=k;t=a+4|0;p=17;break}}while(0);if((p|0)==15){k=a+4|0;yGa(o,n,(f[k>>2]|0)+1|0)|0;GQa(n);if(m){r=o;s=l+1|0;t=k;p=17}else p=18}if((p|0)==17){f[d>>2]=s|-2147483648;f[t>>2]=i;f[a>>2]=r;break}else if((p|0)==18){b[e>>0]=i;break}}while(0);return}function mRa(a,b){a=a|0;b=b|0;return iRa(a,b,hLa(b)|0)|0}function nRa(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0;if((1073741807-c|0)>>>0>>0)NQa(a);j=a+8|0;if((b[j+3>>0]|0)<0)k=f[a>>2]|0;else k=a;if(c>>>0<536870887){l=d+c|0;d=c<<1;m=l>>>0>>0?d:l;l=m>>>0<2?2:m+4&-4;if(l>>>0>1073741823)ne();else n=l}else n=1073741807;l=EQa(n<<2)|0;if(g|0)yGa(l,k,g)|0;m=e-h-g|0;if(m|0)yGa(l+(g<<2)+(i<<2)|0,k+(g<<2)+(h<<2)|0,m)|0;if((c|0)!=1)GQa(k);f[a>>2]=l;f[j>>2]=n|-2147483648;return}function oRa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e;h=a+8|0;i=h+3|0;j=b[i>>0]|0;k=j<<24>>24<0;if(k){l=f[a+4>>2]|0;m=(f[h>>2]&2147483647)+-1|0}else{l=j&255;m=1}if((m-l|0)>>>0>=d>>>0){if(d|0){if(k)n=f[a>>2]|0;else n=a;yGa(n+(l<<2)|0,c,d)|0;k=l+d|0;if((b[i>>0]|0)<0)f[a+4>>2]=k;else b[i>>0]=k;f[g>>2]=0;kIa(n+(k<<2)|0,g)}}else kRa(a,m,d-m+l|0,l,l,0,d,c);u=e;return a|0}function pRa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+16|0;e=d;g=d+4|0;f[e>>2]=c;c=a+8|0;h=c+3|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j){k=f[a+4>>2]|0;l=(f[c>>2]&2147483647)+-1|0}else{k=i&255;l=1}if((k|0)==(l|0)){nRa(a,l,1,l,l,0,0);if((b[h>>0]|0)<0)m=8;else m=7}else if(j)m=8;else m=7;if((m|0)==7){b[h>>0]=k+1;n=a}else if((m|0)==8){m=f[a>>2]|0;f[a+4>>2]=k+1;n=m}m=n+(k<<2)|0;kIa(m,e);f[g>>2]=0;kIa(m+4|0,g);u=d;return}function qRa(){var a=0,b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;a=u;u=u+48|0;b=a+32|0;c=a+24|0;d=a+16|0;e=a;g=a+36|0;a=rRa()|0;if(a|0?(h=f[a>>2]|0,h|0):0){a=h+48|0;i=f[a>>2]|0;j=f[a+4>>2]|0;if(!((i&-256|0)==1126902528&(j|0)==1129074247)){f[c>>2]=450732;sRa(450682,c)}if((i|0)==1126902529&(j|0)==1129074247)k=f[h+44>>2]|0;else k=h+80|0;f[g>>2]=k;k=f[h>>2]|0;h=f[k+4>>2]|0;if(bg[f[(f[5152]|0)+16>>2]&127](20608,k,g)|0){k=f[g>>2]|0;g=Wf[f[(f[k>>2]|0)+8>>2]&255](k)|0;f[e>>2]=450732;f[e+4>>2]=h;f[e+8>>2]=g;sRa(450596,e)}else{f[d>>2]=450732;f[d+4>>2]=h;sRa(450641,d)}}sRa(450720,b)}function rRa(){var a=0,b=0;a=u;u=u+16|0;if(!(Ie(812284,3)|0)){b=Ae(f[203072]|0)|0;u=a;return b|0}else sRa(450871,a);return 0}function sRa(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d>>2]=b;b=f[27770]|0;JCa(b,a,d)|0;CFa(10,b)|0;ne()}function tRa(a){a=a|0;return}function uRa(a){a=a|0;tRa(a);GQa(a);return}function vRa(a){a=a|0;return}function wRa(a){a=a|0;return}function xRa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+64|0;e=d;if(!(BRa(a,b,0)|0))if((b|0)!=0?(g=FRa(b,20632,20616,0)|0,(g|0)!=0):0){b=e+4|0;h=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(h|0));f[e>>2]=g;f[e+8>>2]=a;f[e+12>>2]=-1;f[e+48>>2]=1;th[f[(f[g>>2]|0)+28>>2]&255](g,e,f[c>>2]|0,1);if((f[e+24>>2]|0)==1){f[c>>2]=f[e+16>>2];i=1}else i=0;j=i}else j=0;else j=1;u=d;return j|0}function yRa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(BRa(a,f[b+8>>2]|0,g)|0)ERa(0,b,c,d,e);return}function zRa(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;do if(!(BRa(a,f[c+8>>2]|0,g)|0)){if(BRa(a,f[c>>2]|0,g)|0){if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[c+32>>2]=e;f[h>>2]=d;h=c+40|0;f[h>>2]=(f[h>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1;f[c+44>>2]=4;break}if((e|0)==1)f[c+32>>2]=1}}else DRa(0,c,d,e);while(0);return}function ARa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(BRa(a,f[b+8>>2]|0,0)|0)CRa(0,b,c,d);return}function BRa(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function CRa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;a=c+16|0;g=f[a>>2]|0;do if(g){if((g|0)!=(d|0)){h=c+36|0;f[h>>2]=(f[h>>2]|0)+1;f[c+24>>2]=2;b[c+54>>0]=1;break}h=c+24|0;if((f[h>>2]|0)==2)f[h>>2]=e}else{f[a>>2]=d;f[c+24>>2]=e;f[c+36>>2]=1}while(0);return}function DRa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((f[b+4>>2]|0)==(c|0)?(c=b+28|0,(f[c>>2]|0)!=1):0)f[c>>2]=d;return}function ERa(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;b[c+53>>0]=1;do if((f[c+4>>2]|0)==(e|0)){b[c+52>>0]=1;a=c+16|0;h=f[a>>2]|0;if(!h){f[a>>2]=d;f[c+24>>2]=g;f[c+36>>2]=1;if(!((g|0)==1?(f[c+48>>2]|0)==1:0))break;b[c+54>>0]=1;break}if((h|0)!=(d|0)){h=c+36|0;f[h>>2]=(f[h>>2]|0)+1;b[c+54>>0]=1;break}h=c+24|0;a=f[h>>2]|0;if((a|0)==2){f[h>>2]=g;i=g}else i=a;if((i|0)==1?(f[c+48>>2]|0)==1:0)b[c+54>>0]=1}while(0);return}function FRa(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=u;u=u+64|0;i=h;j=f[a>>2]|0;k=a+(f[j+-8>>2]|0)|0;l=f[j+-4>>2]|0;f[i>>2]=e;f[i+4>>2]=a;f[i+8>>2]=c;f[i+12>>2]=g;g=i+16|0;c=i+20|0;a=i+24|0;j=i+28|0;m=i+32|0;n=i+40|0;o=g;p=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));d[g+36>>1]=0;b[g+38>>0]=0;a:do if(BRa(l,e,0)|0){f[i+48>>2]=1;ci[f[(f[l>>2]|0)+20>>2]&127](l,i,k,k,1,0);q=(f[a>>2]|0)==1?k:0}else{Sh[f[(f[l>>2]|0)+24>>2]&255](l,i,k,1,0);switch(f[i+36>>2]|0){case 0:{q=(f[n>>2]|0)==1&(f[j>>2]|0)==1&(f[m>>2]|0)==1?f[c>>2]|0:0;break a;break}case 1:break;default:{q=0;break a}}if((f[a>>2]|0)!=1?!((f[n>>2]|0)==0&(f[j>>2]|0)==1&(f[m>>2]|0)==1):0){q=0;break}q=f[g>>2]|0}while(0);u=h;return q|0}function GRa(a){a=a|0;tRa(a);GQa(a);return}function HRa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;if(BRa(a,f[b+8>>2]|0,g)|0)ERa(0,b,c,d,e);else{h=f[a+8>>2]|0;ci[f[(f[h>>2]|0)+20>>2]&127](h,b,c,d,e,g)}return}function IRa(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;do if(!(BRa(a,f[c+8>>2]|0,g)|0)){if(!(BRa(a,f[c>>2]|0,g)|0)){h=f[a+8>>2]|0;Sh[f[(f[h>>2]|0)+24>>2]&255](h,c,d,e,g);break}if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[c+32>>2]=e;i=c+44|0;if((f[i>>2]|0)==4)break;j=c+52|0;b[j>>0]=0;k=c+53|0;b[k>>0]=0;l=f[a+8>>2]|0;ci[f[(f[l>>2]|0)+20>>2]&127](l,c,d,d,1,g);if(b[k>>0]|0)if(!(b[j>>0]|0)){m=3;n=11}else o=3;else{m=4;n=11}if((n|0)==11){f[h>>2]=d;h=c+40|0;f[h>>2]=(f[h>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0){b[c+54>>0]=1;o=m}else o=m}f[i>>2]=o;break}if((e|0)==1)f[c+32>>2]=1}else DRa(0,c,d,e);while(0);return}function JRa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if(BRa(a,f[b+8>>2]|0,0)|0)CRa(0,b,c,d);else{e=f[a+8>>2]|0;th[f[(f[e>>2]|0)+28>>2]&255](e,b,c,d)}return}function KRa(a){a=a|0;return}function LRa(){var a=0;a=u;u=u+16|0;if(!(Be(812288,932)|0)){u=a;return}else sRa(450920,a)}function MRa(a){a=a|0;var b=0;b=u;u=u+16|0;ZBa(a);if(!(Je(f[203072]|0,0)|0)){u=b;return}else sRa(450970,b)}function NRa(){var a=0,b=0;a=rRa()|0;if((a|0?(b=f[a>>2]|0,b|0):0)?(a=b+48|0,(f[a>>2]&-256|0)==1126902528?(f[a+4>>2]|0)==1129074247:0):0)ORa(f[b+12>>2]|0);ORa(PRa()|0)}function ORa(a){a=a|0;var b=0;b=u;u=u+16|0;ng[a&3]();sRa(451023,b)}function PRa(){var a=0;a=f[29544]|0;f[29544]=a+0;return a|0}function QRa(a){a=a|0;return}function RRa(a){a=a|0;f[a>>2]=118268;VRa(a+4|0);return}function SRa(a){a=a|0;RRa(a);GQa(a);return}function TRa(a){a=a|0;return URa(a+4|0)|0}function URa(a){a=a|0;return f[a>>2]|0}function VRa(a){a=a|0;var b=0,c=0;if(MQa(a)|0?(b=WRa(f[a>>2]|0)|0,a=b+8|0,c=f[a>>2]|0,f[a>>2]=c+-1,(c+-1|0)<0):0)GQa(b);return}function WRa(a){a=a|0;return a+-12|0}function XRa(a){a=a|0;RRa(a);GQa(a);return}function YRa(a){a=a|0;tRa(a);GQa(a);return}function ZRa(a,b,c){a=a|0;b=b|0;c=c|0;return BRa(a,b,0)|0}function _Ra(a){a=a|0;tRa(a);GQa(a);return}function $Ra(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+64|0;e=d;f[c>>2]=f[f[c>>2]>>2];if(!(aSa(a,b,0)|0))if(((b|0)!=0?(g=FRa(b,20632,20720,0)|0,(g|0)!=0):0)?(f[g+8>>2]&~f[a+8>>2]|0)==0:0){b=a+12|0;a=g+12|0;if(!(BRa(f[b>>2]|0,f[a>>2]|0,0)|0)?!(BRa(f[b>>2]|0,20752,0)|0):0){g=f[b>>2]|0;if((((g|0)!=0?(b=FRa(g,20632,20616,0)|0,(b|0)!=0):0)?(g=f[a>>2]|0,(g|0)!=0):0)?(a=FRa(g,20632,20616,0)|0,(a|0)!=0):0){g=e+4|0;h=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[e>>2]=a;f[e+8>>2]=b;f[e+12>>2]=-1;f[e+48>>2]=1;th[f[(f[a>>2]|0)+28>>2]&255](a,e,f[c>>2]|0,1);if((f[e+24>>2]|0)==1){f[c>>2]=f[e+16>>2];i=1}else i=0;j=i}else j=0}else j=1}else j=0;else j=1;u=d;return j|0}function aSa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(BRa(a,b,0)|0)d=1;else d=BRa(b,20760,0)|0;return d|0}function bSa(a){a=a|0;tRa(a);GQa(a);return}function cSa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(BRa(a,f[c+8>>2]|0,h)|0)ERa(0,c,d,e,g);else{i=c+52|0;j=b[i>>0]|0;k=c+53|0;l=b[k>>0]|0;m=f[a+12>>2]|0;n=a+16+(m<<3)|0;b[i>>0]=0;b[k>>0]=0;gSa(a+16|0,c,d,e,g,h);a:do if((m|0)>1){o=c+24|0;p=a+8|0;q=c+54|0;r=a+24|0;do{if(b[q>>0]|0)break a;if(!(b[i>>0]|0)){if(b[k>>0]|0?(f[p>>2]&1|0)==0:0)break a}else{if((f[o>>2]|0)==1)break a;if(!(f[p>>2]&2))break a}b[i>>0]=0;b[k>>0]=0;gSa(r,c,d,e,g,h);r=r+8|0}while(r>>>0>>0)}while(0);b[i>>0]=j;b[k>>0]=l}return}function dSa(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;a:do if(!(BRa(a,f[c+8>>2]|0,g)|0)){if(!(BRa(a,f[c>>2]|0,g)|0)){h=f[a+12>>2]|0;i=a+16+(h<<3)|0;hSa(a+16|0,c,d,e,g);j=a+24|0;if((h|0)<=1)break;h=f[a+8>>2]|0;if((h&2|0)==0?(k=c+36|0,(f[k>>2]|0)!=1):0){if(!(h&1)){h=c+54|0;l=j;while(1){if(b[h>>0]|0)break a;if((f[k>>2]|0)==1)break a;hSa(l,c,d,e,g);l=l+8|0;if(l>>>0>=i>>>0)break a}}l=c+24|0;h=c+54|0;m=j;while(1){if(b[h>>0]|0)break a;if((f[k>>2]|0)==1?(f[l>>2]|0)==1:0)break a;hSa(m,c,d,e,g);m=m+8|0;if(m>>>0>=i>>>0)break a}}m=c+54|0;l=j;while(1){if(b[m>>0]|0)break a;hSa(l,c,d,e,g);l=l+8|0;if(l>>>0>=i>>>0)break a}}if((f[c+16>>2]|0)!=(d|0)?(i=c+20|0,(f[i>>2]|0)!=(d|0)):0){f[c+32>>2]=e;l=c+44|0;if((f[l>>2]|0)==4)break;m=a+16+(f[a+12>>2]<<3)|0;j=c+52|0;k=c+53|0;h=c+54|0;n=a+8|0;o=c+24|0;p=0;q=a+16|0;r=0;b:while(1){if(q>>>0>=m>>>0){s=p;t=18;break}b[j>>0]=0;b[k>>0]=0;gSa(q,c,d,d,1,g);if(b[h>>0]|0){s=p;t=18;break}do if(b[k>>0]|0){if(!(b[j>>0]|0))if(!(f[n>>2]&1)){s=1;t=18;break b}else{u=1;v=r;break}if((f[o>>2]|0)==1){t=23;break b}if(!(f[n>>2]&2)){t=23;break b}else{u=1;v=1}}else{u=p;v=r}while(0);p=u;q=q+8|0;r=v}do if((t|0)==18){if((!r?(f[i>>2]=d,q=c+40|0,f[q>>2]=(f[q>>2]|0)+1,(f[c+36>>2]|0)==1):0)?(f[o>>2]|0)==2:0){b[h>>0]=1;if(s){t=23;break}else{w=4;break}}if(s)t=23;else w=4}while(0);if((t|0)==23)w=3;f[l>>2]=w;break}if((e|0)==1)f[c+32>>2]=1}else DRa(0,c,d,e);while(0);return}function eSa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;a:do if(!(BRa(a,f[c+8>>2]|0,0)|0)){g=f[a+12>>2]|0;h=a+16+(g<<3)|0;fSa(a+16|0,c,d,e);if((g|0)>1){g=c+54|0;i=a+24|0;do{fSa(i,c,d,e);if(b[g>>0]|0)break a;i=i+8|0}while(i>>>0>>0)}}else CRa(0,c,d,e);while(0);return}function fSa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=f[a+4>>2]|0;g=e>>8;if(!(e&1))h=g;else h=f[(f[c>>2]|0)+g>>2]|0;g=f[a>>2]|0;th[f[(f[g>>2]|0)+28>>2]&255](g,b,c+h|0,e&2|0?d:2);return}function gSa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;h=f[a+4>>2]|0;i=h>>8;if(!(h&1))j=i;else j=f[(f[d>>2]|0)+i>>2]|0;i=f[a>>2]|0;ci[f[(f[i>>2]|0)+20>>2]&127](i,b,c,d+j|0,h&2|0?e:2,g);return}function hSa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=f[a+4>>2]|0;h=g>>8;if(!(g&1))i=h;else i=f[(f[c>>2]|0)+h>>2]|0;h=f[a>>2]|0;Sh[f[(f[h>>2]|0)+24>>2]&255](h,b,c+i|0,g&2|0?d:2,e);return}function iSa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;g=u;u=u+4192|0;h=g+4176|0;i=g;j=g+4112|0;if((a|0)!=0?(k=(c|0)!=0,l=(d|0)==0,!(k&l)):0){if(k)m=f[d>>2]|0;else m=0;jSa(i);kSa(j,i);k=j+48|0;n=j+61|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;b[k+12>>0]=0;b[n>>0]=1;k=j+32|0;o=j+36|0;p=f[o>>2]|0;if(p>>>0<(f[j+40>>2]|0)>>>0){lSa(h,i);f[p>>2]=0;f[p+4>>2]=0;q=f[h>>2]|0;f[p+8>>2]=0;f[p+12>>2]=q;f[o>>2]=(f[o>>2]|0)+16}else mSa(k,i);q=j+62|0;b[q>>0]=0;b[j+63>>0]=1;f[h>>2]=0;p=a+(nCa(a)|0)|0;nSa(a,p,j,h);r=f[h>>2]|0;do if(!((r|0)!=0|(b[q>>0]|0)==0)){s=f[k>>2]|0;if((s|0)!=(f[o>>2]|0)?(f[s>>2]|0)!=(f[s+4>>2]|0):0){b[q>>0]=0;b[n>>0]=0;s=f[j>>2]|0;t=j+4|0;while(1){v=f[t>>2]|0;if((v|0)==(s|0))break;w=v+-24|0;f[t>>2]=w;oSa(w)}t=f[j+16>>2]|0;s=j+20|0;while(1){w=f[s>>2]|0;if((w|0)==(t|0))break;v=w+-16|0;f[s>>2]=v;pSa(v)}nSa(a,p,j,h);if(!(b[q>>0]|0)){x=f[h>>2]|0;y=22;break}else{f[h>>2]=-2;z=0;A=-2;break}}else y=23}else{x=r;y=22}while(0);if((y|0)==22)if(!x)y=23;else{z=0;A=x}do if((y|0)==23){x=j+4|0;r=qSa((f[x>>2]|0)+-24|0)|0;q=r+1|0;if(q>>>0>m>>>0){p=$Ba(c,q)|0;if(!p){f[h>>2]=-1;z=0;A=-1;break}if(l)B=p;else{f[d>>2]=q;B=p}}else if(!c){z=0;A=0;break}else B=c;p=f[x>>2]|0;q=p+-12|0;a=b[q+11>>0]|0;n=a<<24>>24<0;rSa(p+-24|0,n?f[q>>2]|0:q,n?f[p+-8>>2]|0:a&255)|0;a=(f[x>>2]|0)+-24|0;if((b[a+11>>0]|0)<0)C=f[a>>2]|0;else C=a;DVa(B|0,C|0,r|0)|0;b[B+r>>0]=0;z=B;A=0}while(0);if(e|0)f[e>>2]=A;sSa(j);tSa(i);D=z}else if(!e)D=0;else{f[e>>2]=-3;D=0}u=g;return D|0}function jSa(a){a=a|0;f[a+4096>>2]=a;return}function kSa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;fVa(d,b);f[a>>2]=0;f[a+4>>2]=0;e=f[d>>2]|0;f[a+8>>2]=0;f[a+12>>2]=e;lSa(d,b);gVa(a+16|0,d);hVa(d,b);iVa(a+32|0,d);u=c;return}function lSa(a,b){a=a|0;b=b|0;f[a>>2]=b;return}function mSa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+32|0;d=c+20|0;e=c;g=a+4|0;h=((f[g>>2]|0)-(f[a>>2]|0)>>4)+1|0;i=HUa(a)|0;if(i>>>0>>0)ZOa(a);else{j=f[a>>2]|0;k=(f[a+8>>2]|0)-j|0;l=k>>3;IUa(e,k>>4>>>0>>1>>>0?(l>>>0>>0?h:l):i,(f[g>>2]|0)-j>>4,a+12|0);j=e+8|0;g=f[j>>2]|0;lSa(d,b);f[g>>2]=0;f[g+4>>2]=0;b=f[d>>2]|0;f[g+8>>2]=0;f[g+12>>2]=b;f[j>>2]=g+16;JUa(a,e);KUa(e);u=c;return}}function nSa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;a:do if(a>>>0>>0){b:do if((b[a>>0]|0)!=95){if((JSa(a,c,d)|0)!=(c|0)){f[e>>2]=-2;break a}}else{if((c-a|0)<=3){f[e>>2]=-2;break a}switch(b[a+1>>0]|0){case 90:{g=a+2|0;h=GSa(g,c,d)|0;if(!((h|0)==(g|0)|(h|0)==(c|0))?(b[h>>0]|0)==46:0)i=HSa(h,c,d)|0;else i=h;if((i|0)==(c|0))break b;f[e>>2]=-2;break a;break}case 95:{if((b[a+2>>0]|0)==95?(b[a+3>>0]|0)==90:0){h=a+4|0;g=GSa(h,c,d)|0;if(!((g|0)==(h|0)|(g|0)==(c|0))?(ISa(g,c,d)|0)==(c|0):0)break b;f[e>>2]=-2;break a}break}default:{}}f[e>>2]=-2;break a}while(0);if((f[e>>2]|0)==0?(f[d>>2]|0)==(f[d+4>>2]|0):0)f[e>>2]=-2}else f[e>>2]=-2;while(0);return}function oSa(a){a=a|0;FSa(a+12|0);FSa(a);return}function pSa(a){a=a|0;var b=0,c=0,d=0,e=0;b=f[a>>2]|0;if(b|0){c=a+4|0;while(1){d=f[c>>2]|0;if((d|0)==(b|0))break;e=d+-24|0;f[c>>2]=e;oSa(e)}c=f[a>>2]|0;ESa(a+12|0,c,((f[a+8>>2]|0)-c|0)/24|0)}return}function qSa(a){a=a|0;var c=0,d=0,e=0;c=b[a+11>>0]|0;if(c<<24>>24<0)d=f[a+4>>2]|0;else d=c&255;c=b[a+12+11>>0]|0;if(c<<24>>24<0)e=f[a+16>>2]|0;else e=c&255;return e+d|0}function rSa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j){k=f[a+4>>2]|0;l=(f[a+8>>2]&2147483647)+-1|0}else{k=i&255;l=10}if((l-k|0)>>>0>=d>>>0){if(d|0){if(j)m=f[a>>2]|0;else m=a;gGa(m+k|0,c,d)|0;j=k+d|0;if((b[h>>0]|0)<0)f[a+4>>2]=j;else b[h>>0]=j;b[g>>0]=0;aHa(m+j|0,g)}}else BSa(a,l,d-l+k|0,k,k,0,d,c);u=e;return a|0}function sSa(a){a=a|0;uSa(a+32|0);vSa(a+16|0);pSa(a);return}function tSa(a){a=a|0;f[a+4096>>2]=0;return}function uSa(a){a=a|0;var b=0,c=0,d=0,e=0;b=f[a>>2]|0;if(b|0){c=a+4|0;while(1){d=f[c>>2]|0;if((d|0)==(b|0))break;e=d+-16|0;f[c>>2]=e;vSa(e)}c=f[a>>2]|0;ASa(a+12|0,c,(f[a+8>>2]|0)-c>>4)}return}function vSa(a){a=a|0;var b=0,c=0,d=0,e=0;b=f[a>>2]|0;if(b|0){c=a+4|0;while(1){d=f[c>>2]|0;if((d|0)==(b|0))break;e=d+-16|0;f[c>>2]=e;pSa(e)}c=f[a>>2]|0;wSa(a+12|0,c,(f[a+8>>2]|0)-c>>4)}return}function wSa(a,b,c){a=a|0;b=b|0;c=c|0;xSa(f[a>>2]|0,b,c<<4);return}function xSa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(ySa(a,b)|0){d=b+(zSa(c)|0)|0;c=a+4096|0;if((d|0)==(f[c>>2]|0))f[c>>2]=b}else ZBa(b);return}function ySa(a,b){a=a|0;b=b|0;return a>>>0<=b>>>0&(a+4096|0)>>>0>=b>>>0|0}function zSa(a){a=a|0;return a+15&-16|0}function ASa(a,b,c){a=a|0;b=b|0;c=c|0;xSa(f[a>>2]|0,b,c<<4);return}function BSa(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;k=u;u=u+16|0;l=k;if((-18-c|0)>>>0>>0)NQa(a);if((b[a+11>>0]|0)<0)m=f[a>>2]|0;else m=a;if(c>>>0<2147483623){n=d+c|0;d=c<<1;o=n>>>0>>0?d:n;p=o>>>0<11?11:o+16&-16}else p=-17;o=CSa(p)|0;if(g|0)gGa(o,m,g)|0;if(i|0)gGa(o+g|0,j,i)|0;j=e-h|0;e=j-g|0;if(e|0)gGa(o+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)DSa(m);f[a>>2]=o;f[a+8>>2]=p|-2147483648;p=j+i|0;f[a+4>>2]=p;b[l>>0]=0;aHa(o+p|0,l);u=k;return}function CSa(a){a=a|0;return YBa(a)|0}function DSa(a){a=a|0;ZBa(a);return}function ESa(a,b,c){a=a|0;b=b|0;c=c|0;xSa(f[a>>2]|0,b,c*24|0);return}function FSa(a){a=a|0;if((b[a+11>>0]|0)<0)DSa(f[a>>2]|0);return}function GSa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;e=u;u=u+64|0;g=e+48|0;h=e+40|0;i=e+32|0;j=e+24|0;k=e+12|0;l=e;if((a|0)!=(c|0)){m=d+56|0;$Ua(h,m);f[m>>2]=(f[m>>2]|0)+1;n=d+61|0;aVa(i,n);if((f[m>>2]|0)>>>0>1)b[n>>0]=1;a:do switch(b[a>>0]|0){case 84:case 71:{o=bVa(a,c,d)|0;p=1;break}default:{m=gTa(a,c,d)|0;q=f[d+48>>2]|0;r=f[d+52>>2]|0;b:do if((m|0)!=(a|0))if((m|0)!=(c|0)){switch(b[m>>0]|0){case 46:case 69:{s=m;break b;break}default:{}}aVa(j,n);b[n>>0]=0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;t=0;while(1){if((t|0)==3)break;f[k+(t<<2)>>2]=0;t=t+1|0}t=d+4|0;v=f[t>>2]|0;c:do if((f[d>>2]|0)!=(v|0)){w=v+-24|0;x=b[w+11>>0]|0;y=x<<24>>24<0;if(y)z=f[v+-20>>2]|0;else z=x&255;if(z){if(!(b[d+60>>0]|0)){if(y){A=f[w>>2]|0;B=f[v+-20>>2]|0}else{A=w;B=x&255}if((b[A+B+-1>>0]|0)==62){if(y){C=f[v+-20>>2]|0;D=f[w>>2]|0}else{C=x&255;D=w}if((b[D+(C+-2)>>0]|0)!=45){if(y){E=f[v+-20>>2]|0;F=f[w>>2]|0}else{E=x&255;F=w}if((b[F+(E+-2)>>0]|0)!=62){w=JSa(m,c,d)|0;if((w|0)==(m|0)){G=a;H=0;break}x=f[t>>2]|0;y=x;if(((x-(f[d>>2]|0)|0)/24|0)>>>0<2){G=a;H=0;break}x=y+-24|0;f[l>>2]=f[x>>2];f[l+4>>2]=f[x+4>>2];f[l+8>>2]=f[x+8>>2];I=0;while(1){if((I|0)==3)break;f[x+(I<<2)>>2]=0;I=I+1|0}I=y+-12|0;x=k+11|0;if((b[x>>0]|0)<0){J=f[k>>2]|0;b[g>>0]=0;aHa(J,g);f[k+4>>2]=0}else{b[g>>0]=0;aHa(k,g);b[x>>0]=0}mTa(k);f[k>>2]=f[I>>2];f[k+4>>2]=f[I+4>>2];f[k+8>>2]=f[I+8>>2];J=0;while(1){if((J|0)==3)break;f[I+(J<<2)>>2]=0;J=J+1|0}J=b[x>>0]|0;if(!((J<<24>>24<0?f[k+4>>2]|0:J&255)|0))eUa(l,32);J=f[t>>2]|0;I=J+-24|0;y=J;while(1){if((y|0)==(I|0))break;K=y+-24|0;f[t>>2]=K;oSa(K);y=f[t>>2]|0}y=b[l+11>>0]|0;I=y<<24>>24<0;OUa(J+-48|0,0,I?f[l>>2]|0:l,I?f[l+4>>2]|0:y&255)|0;FSa(l);L=w;M=f[t>>2]|0}else{L=m;M=v}}else{L=m;M=v}}else{L=m;M=v}}else{L=m;M=v}eUa(M+-24|0,40);if((L|0)!=(c|0)?(b[L>>0]|0)==118:0){N=L+1|0;O=f[d>>2]|0;P=f[t>>2]|0}else Q=49;do if((Q|0)==49){y=g+11|0;I=g+4|0;x=l+11|0;K=l+4|0;R=1;S=L;d:while(1){T=S;U=f[d>>2]|0;V=f[t>>2]|0;while(1){W=(V-U|0)/24|0;X=JSa(T,c,d)|0;V=f[t>>2]|0;U=f[d>>2]|0;Y=(V-U|0)/24|0;if((X|0)==(T|0)){Q=72;break d}if(Y>>>0>W>>>0)break;else T=X}f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;Z=0;while(1){if((Z|0)==3){_=W;break}f[g+(Z<<2)>>2]=0;Z=Z+1|0}while(1){if(_>>>0>=Y>>>0){$=W;break}Z=b[y>>0]|0;if((Z<<24>>24<0?f[I>>2]|0:Z&255)|0)NSa(g,451544)|0;$Sa(l,(f[d>>2]|0)+(_*24|0)|0);Z=b[x>>0]|0;aa=Z<<24>>24<0;rSa(g,aa?f[l>>2]|0:l,aa?f[K>>2]|0:Z&255)|0;FSa(l);_=_+1|0}while(1){if($>>>0>=Y>>>0)break;Z=f[t>>2]|0;aa=Z+-24|0;ba=Z;while(1){if((ba|0)==(aa|0))break;Z=ba+-24|0;f[t>>2]=Z;oSa(Z);ba=f[t>>2]|0}$=$+1|0}ba=b[y>>0]|0;aa=f[I>>2]|0;if(!((ba<<24>>24<0?aa:ba&255)|0))ca=R;else{Z=f[t>>2]|0;if((f[d>>2]|0)==(Z|0)){Q=84;break}if(R){da=Z;ea=ba;fa=aa}else{NSa(Z+-24|0,451544)|0;da=f[t>>2]|0;ea=b[y>>0]|0;fa=f[I>>2]|0}Z=ea<<24>>24<0;rSa(da+-24|0,Z?f[g>>2]|0:g,Z?fa:ea&255)|0;ca=0}FSa(g);R=ca;S=X}if((Q|0)==72){N=T;O=U;P=V;break}else if((Q|0)==84){FSa(g);G=a;H=0;break c}}while(0);if((O|0)!=(P|0)){eUa(P+-24|0,41);if(q&1|0)NSa((f[t>>2]|0)+-24|0,451267)|0;if(q&2|0)NSa((f[t>>2]|0)+-24|0,451274)|0;if(q&4|0)NSa((f[t>>2]|0)+-24|0,451284)|0;switch(r|0){case 1:{NSa((f[t>>2]|0)+-24|0,452748)|0;break}case 2:{NSa((f[t>>2]|0)+-24|0,452751)|0;break}default:{}}w=b[k+11>>0]|0;J=w<<24>>24<0;rSa((f[t>>2]|0)+-24|0,J?f[k>>2]|0:k,J?f[k+4>>2]|0:w&255)|0;G=N;H=1}else{G=a;H=0}}else{G=a;H=0}}else{G=a;H=0}while(0);FSa(k);cVa(j);if(H)s=G;else{o=G;p=0;break a}}else s=c;else s=a;while(0);o=s;p=1}}while(0);cVa(i);dVa(h);if(p){ga=o;Q=88}else ha=a}else{ga=a;Q=88}if((Q|0)==88)ha=ga;u=e;return ha|0}function HSa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+48|0;g=e+36|0;h=e+24|0;i=e+12|0;j=e;if(((a|0)!=(c|0)?(b[a>>0]|0)==46:0)?(k=d+4|0,(f[d>>2]|0)!=(f[k>>2]|0)):0){f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;d=c-a|0;if(d>>>0>4294967279)NQa(j);if(d>>>0<11){b[j+11>>0]=d;l=j}else{m=d+16&-16;n=CSa(m)|0;f[j>>2]=n;f[j+8>>2]=m|-2147483648;f[j+4>>2]=d;l=n}n=a;m=l;while(1){if((n|0)==(c|0))break;aHa(m,n);n=n+1|0;m=m+1|0}b[g>>0]=0;aHa(l+d|0,g);MSa(j,0,451317)|0;f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];f[i+8>>2]=f[j+8>>2];g=0;while(1){if((g|0)==3)break;f[j+(g<<2)>>2]=0;g=g+1|0}NSa(i,451320)|0;f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];f[h+8>>2]=f[i+8>>2];g=0;while(1){if((g|0)==3)break;f[i+(g<<2)>>2]=0;g=g+1|0}g=b[h+11>>0]|0;d=g<<24>>24<0;rSa((f[k>>2]|0)+-24|0,d?f[h>>2]|0:h,d?f[h+4>>2]|0:g&255)|0;FSa(h);FSa(i);FSa(j);o=c}else o=a;u=e;return o|0}function ISa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;a:do if((c-a|0)>12){e=0;g=a;while(1){if((e|0)>=13)break;if((b[g>>0]|0)!=(b[452953+e>>0]|0)){h=a;break a}e=e+1|0;g=g+1|0}b:do if((g|0)==(c|0))i=c;else{if((b[g>>0]|0)==95){e=g+1|0;if((e|0)==(c|0)){h=a;break a}if(((b[e>>0]|0)+-48|0)>>>0>=10){h=a;break a}j=g+2|0}else j=g;while(1){if((j|0)==(c|0)){i=c;break b}if(((b[j>>0]|0)+-48|0)>>>0>=10){i=j;break b}j=j+1|0}}while(0);g=f[d+4>>2]|0;if((f[d>>2]|0)!=(g|0)){MSa(g+-24|0,0,452967)|0;h=i}else h=a}else h=a;while(0);return h|0}function JSa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;e=u;u=u+144|0;g=e+128|0;h=e+104|0;i=e+40|0;j=e+88|0;k=e+24|0;l=e+76|0;m=e+12|0;n=e;o=e+64|0;a:do if((a|0)!=(c|0)){switch(b[a>>0]|0){case 75:case 86:case 114:{f[g>>2]=0;p=KSa(a,c,g)|0;b:do if((p|0)!=(a|0)?(q=(b[p>>0]|0)==70,r=d+4|0,s=((f[r>>2]|0)-(f[d>>2]|0)|0)/24|0,t=JSa(p,c,d)|0,v=((f[r>>2]|0)-(f[d>>2]|0)|0)/24|0,(t|0)!=(p|0)):0){r=d+20|0;w=f[r>>2]|0;c:do if(q){x=w+-16|0;y=w;while(1){if((y|0)==(x|0)){z=x;break c}A=y+-16|0;f[r>>2]=A;pSa(A);y=f[r>>2]|0}}else z=w;while(0);f[h>>2]=f[d+12>>2];if(z>>>0<(f[d+24>>2]|0)>>>0){f[z>>2]=0;f[z+4>>2]=0;w=f[h>>2]|0;f[z+8>>2]=0;f[z+12>>2]=w;f[r>>2]=(f[r>>2]|0)+16}else LSa(d+16|0,h);w=f[g>>2]|0;y=(w&1|0)==0;x=(w&2|0)==0;A=(w&4|0)==0;w=s;while(1){if(w>>>0>=v>>>0){B=t;break b}if(q){C=f[d>>2]|0;D=C+(w*24|0)+12|0;E=b[D+11>>0]|0;F=E<<24>>24<0;if(F){G=f[C+(w*24|0)+16>>2]|0;H=f[D>>2]|0}else{G=E&255;H=D}I=G+-2|0;if((b[H+I>>0]|0)==38)J=G+-3|0;else{if(F){K=f[D>>2]|0;L=f[C+(w*24|0)+16>>2]|0}else{K=D;L=E&255}J=(b[K+L+-1>>0]|0)==38?I:G}if(y)M=J;else{MSa(D,J,451267)|0;M=J+6|0}if(x)N=M;else{MSa((f[d>>2]|0)+(w*24|0)+12|0,M,451274)|0;N=M+9|0}if(!A)MSa((f[d>>2]|0)+(w*24|0)+12|0,N,451284)|0}else{if(!y)NSa((f[d>>2]|0)+(w*24|0)|0,451267)|0;if(!x)NSa((f[d>>2]|0)+(w*24|0)|0,451274)|0;if(!A)NSa((f[d>>2]|0)+(w*24|0)|0,451284)|0}D=f[r>>2]|0;I=(f[d>>2]|0)+(w*24|0)|0;E=D+-12|0;C=f[E>>2]|0;if((C|0)==(f[D+-8>>2]|0))PSa(D+-16|0,I);else{OSa(C,I);f[E>>2]=(f[E>>2]|0)+24}w=w+1|0}}else B=a;while(0);O=B;break a;break}default:{}}p=QSa(a,c,d)|0;if((p|0)==(a|0)){d:do switch(b[a>>0]|0){case 65:{w=RSa(a,c,d)|0;if((w|0)==(a|0)){O=a;break a}r=f[d+4>>2]|0;if((f[d>>2]|0)==(r|0)){O=a;break a}f[h>>2]=f[d+12>>2];SSa(g,r+-24|0,h);r=d+20|0;A=f[r>>2]|0;if(A>>>0<(f[d+24>>2]|0)>>>0){f[A>>2]=0;x=A+4|0;f[x>>2]=0;y=f[g+12>>2]|0;f[A+8>>2]=0;f[A+12>>2]=y;f[A>>2]=f[g>>2];y=g+4|0;f[x>>2]=f[y>>2];x=g+8|0;f[A+8>>2]=f[x>>2];f[x>>2]=0;f[y>>2]=0;f[g>>2]=0;f[r>>2]=(f[r>>2]|0)+16}else TSa(d+16|0,g);pSa(g);O=w;break a;break}case 67:{w=a+1|0;r=JSa(w,c,d)|0;if((r|0)==(w|0)){O=a;break a}w=d+4|0;y=f[w>>2]|0;if((f[d>>2]|0)==(y|0)){O=a;break a}NSa(y+-24|0,451294)|0;y=(f[w>>2]|0)+-24|0;f[h>>2]=f[d+12>>2];SSa(g,y,h);y=d+20|0;w=f[y>>2]|0;if(w>>>0<(f[d+24>>2]|0)>>>0){f[w>>2]=0;x=w+4|0;f[x>>2]=0;A=f[g+12>>2]|0;f[w+8>>2]=0;f[w+12>>2]=A;f[w>>2]=f[g>>2];A=g+4|0;f[x>>2]=f[A>>2];x=g+8|0;f[w+8>>2]=f[x>>2];f[x>>2]=0;f[A>>2]=0;f[g>>2]=0;f[y>>2]=(f[y>>2]|0)+16}else TSa(d+16|0,g);pSa(g);O=r;break a;break}case 70:{r=USa(a,c,d)|0;if((r|0)==(a|0)){O=a;break a}y=f[d+4>>2]|0;if((f[d>>2]|0)==(y|0)){O=a;break a}f[h>>2]=f[d+12>>2];SSa(g,y+-24|0,h);y=d+20|0;A=f[y>>2]|0;if(A>>>0<(f[d+24>>2]|0)>>>0){f[A>>2]=0;x=A+4|0;f[x>>2]=0;w=f[g+12>>2]|0;f[A+8>>2]=0;f[A+12>>2]=w;f[A>>2]=f[g>>2];w=g+4|0;f[x>>2]=f[w>>2];x=g+8|0;f[A+8>>2]=f[x>>2];f[x>>2]=0;f[w>>2]=0;f[g>>2]=0;f[y>>2]=(f[y>>2]|0)+16}else TSa(d+16|0,g);pSa(g);O=r;break a;break}case 71:{r=a+1|0;y=JSa(r,c,d)|0;if((y|0)==(r|0)){O=a;break a}r=d+4|0;w=f[r>>2]|0;if((f[d>>2]|0)==(w|0)){O=a;break a}NSa(w+-24|0,451303)|0;w=(f[r>>2]|0)+-24|0;f[h>>2]=f[d+12>>2];SSa(g,w,h);w=d+20|0;r=f[w>>2]|0;if(r>>>0<(f[d+24>>2]|0)>>>0){f[r>>2]=0;x=r+4|0;f[x>>2]=0;A=f[g+12>>2]|0;f[r+8>>2]=0;f[r+12>>2]=A;f[r>>2]=f[g>>2];A=g+4|0;f[x>>2]=f[A>>2];x=g+8|0;f[r+8>>2]=f[x>>2];f[x>>2]=0;f[A>>2]=0;f[g>>2]=0;f[w>>2]=(f[w>>2]|0)+16}else TSa(d+16|0,g);pSa(g);O=y;break a;break}case 77:{y=VSa(a,c,d)|0;if((y|0)==(a|0)){O=a;break a}w=f[d+4>>2]|0;if((f[d>>2]|0)==(w|0)){O=a;break a}f[h>>2]=f[d+12>>2];SSa(g,w+-24|0,h);w=d+20|0;A=f[w>>2]|0;if(A>>>0<(f[d+24>>2]|0)>>>0){f[A>>2]=0;x=A+4|0;f[x>>2]=0;r=f[g+12>>2]|0;f[A+8>>2]=0;f[A+12>>2]=r;f[A>>2]=f[g>>2];r=g+4|0;f[x>>2]=f[r>>2];x=g+8|0;f[A+8>>2]=f[x>>2];f[x>>2]=0;f[r>>2]=0;f[g>>2]=0;f[w>>2]=(f[w>>2]|0)+16}else TSa(d+16|0,g);pSa(g);O=y;break a;break}case 79:{y=d+4|0;w=((f[y>>2]|0)-(f[d>>2]|0)|0)/24|0;r=a+1|0;x=JSa(r,c,d)|0;A=((f[y>>2]|0)-(f[d>>2]|0)|0)/24|0;if((x|0)==(r|0)){O=a;break a}r=f[d+12>>2]|0;f[g>>2]=r;y=d+20|0;q=f[y>>2]|0;if(q>>>0<(f[d+24>>2]|0)>>>0){f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=r;f[y>>2]=(f[y>>2]|0)+16}else LSa(d+16|0,g);r=g+11|0;q=g+4|0;t=w;while(1){if(t>>>0>=A>>>0){O=x;break a}WSa(g,(f[d>>2]|0)+(t*24|0)+12|0,2);w=$Ga(451314)|0;v=b[r>>0]|0;if((w|0)==((v<<24>>24<0?f[q>>2]|0:v&255)|0))P=(XSa(g,451314,w)|0)==0;else P=0;FSa(g);w=f[d>>2]|0;if(!P){v=w+(t*24|0)+12|0;if((b[v+11>>0]|0)<0)Q=f[v>>2]|0;else Q=v;if((b[Q>>0]|0)==40){NSa(w+(t*24|0)|0,451322)|0;MSa((f[d>>2]|0)+(t*24|0)+12|0,0,451320)|0}}else{NSa(w+(t*24|0)|0,451317)|0;MSa((f[d>>2]|0)+(t*24|0)+12|0,0,451320)|0}NSa((f[d>>2]|0)+(t*24|0)|0,451324)|0;w=f[y>>2]|0;v=(f[d>>2]|0)+(t*24|0)|0;s=w+-12|0;E=f[s>>2]|0;if((E|0)==(f[w+-8>>2]|0))PSa(w+-16|0,v);else{OSa(E,v);f[s>>2]=(f[s>>2]|0)+24}t=t+1|0}break}case 80:{t=d+4|0;y=((f[t>>2]|0)-(f[d>>2]|0)|0)/24|0;q=a+1|0;r=JSa(q,c,d)|0;x=((f[t>>2]|0)-(f[d>>2]|0)|0)/24|0;if((r|0)==(q|0)){O=a;break a}t=f[d+12>>2]|0;f[g>>2]=t;A=d+20|0;s=f[A>>2]|0;if(s>>>0<(f[d+24>>2]|0)>>>0){f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=t;f[A>>2]=(f[A>>2]|0)+16}else LSa(d+16|0,g);t=g+11|0;s=g+4|0;v=g+11|0;E=g+4|0;w=y;while(1){if(w>>>0>=x>>>0){O=r;break a}WSa(g,(f[d>>2]|0)+(w*24|0)+12|0,2);y=$Ga(451314)|0;I=b[t>>0]|0;if((y|0)==((I<<24>>24<0?f[s>>2]|0:I&255)|0))R=(XSa(g,451314,y)|0)==0;else R=0;FSa(g);y=f[d>>2]|0;if(!R){I=y+(w*24|0)+12|0;if((b[I+11>>0]|0)<0)S=f[I>>2]|0;else S=I;if((b[S>>0]|0)==40){NSa(y+(w*24|0)|0,451322)|0;MSa((f[d>>2]|0)+(w*24|0)+12|0,0,451320)|0}}else{NSa(y+(w*24|0)|0,451317)|0;MSa((f[d>>2]|0)+(w*24|0)+12|0,0,451320)|0}if((b[q>>0]|0)==85){WSa(g,(f[d>>2]|0)+(w*24|0)|0,12);y=$Ga(451327)|0;I=b[v>>0]|0;if((y|0)==((I<<24>>24<0?f[E>>2]|0:I&255)|0))T=(XSa(g,451327,y)|0)!=0;else T=1;FSa(g);y=(f[d>>2]|0)+(w*24|0)|0;if(T){U=y;V=112}else YSa(y)}else{U=(f[d>>2]|0)+(w*24|0)|0;V=112}if((V|0)==112){V=0;NSa(U,451340)|0}y=f[A>>2]|0;I=(f[d>>2]|0)+(w*24|0)|0;C=y+-12|0;D=f[C>>2]|0;if((D|0)==(f[y+-8>>2]|0))PSa(y+-16|0,I);else{OSa(D,I);f[C>>2]=(f[C>>2]|0)+24}w=w+1|0}break}case 82:{w=d+4|0;A=((f[w>>2]|0)-(f[d>>2]|0)|0)/24|0;E=a+1|0;v=JSa(E,c,d)|0;q=((f[w>>2]|0)-(f[d>>2]|0)|0)/24|0;if((v|0)==(E|0)){O=a;break a}E=f[d+12>>2]|0;f[g>>2]=E;w=d+20|0;s=f[w>>2]|0;if(s>>>0<(f[d+24>>2]|0)>>>0){f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=E;f[w>>2]=(f[w>>2]|0)+16}else LSa(d+16|0,g);E=g+11|0;s=g+4|0;t=A;while(1){if(t>>>0>=q>>>0){O=v;break a}WSa(g,(f[d>>2]|0)+(t*24|0)+12|0,2);A=$Ga(451314)|0;r=b[E>>0]|0;if((A|0)==((r<<24>>24<0?f[s>>2]|0:r&255)|0))W=(XSa(g,451314,A)|0)==0;else W=0;FSa(g);A=f[d>>2]|0;if(!W){r=A+(t*24|0)+12|0;if((b[r+11>>0]|0)<0)X=f[r>>2]|0;else X=r;if((b[X>>0]|0)==40){NSa(A+(t*24|0)|0,451322)|0;MSa((f[d>>2]|0)+(t*24|0)+12|0,0,451320)|0}}else{NSa(A+(t*24|0)|0,451317)|0;MSa((f[d>>2]|0)+(t*24|0)+12|0,0,451320)|0}NSa((f[d>>2]|0)+(t*24|0)|0,451342)|0;A=f[w>>2]|0;r=(f[d>>2]|0)+(t*24|0)|0;x=A+-12|0;C=f[x>>2]|0;if((C|0)==(f[A+-8>>2]|0))PSa(A+-16|0,r);else{OSa(C,r);f[x>>2]=(f[x>>2]|0)+24}t=t+1|0}break}case 84:{t=d+4|0;w=((f[t>>2]|0)-(f[d>>2]|0)|0)/24|0;s=ZSa(a,c,d)|0;E=((f[t>>2]|0)-(f[d>>2]|0)|0)/24|0;if((s|0)==(a|0)){O=a;break a}v=d+16|0;q=d+12|0;x=f[q>>2]|0;f[g>>2]=x;r=d+20|0;C=f[r>>2]|0;A=d+24|0;if(C>>>0<(f[A>>2]|0)>>>0){f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;f[C+12>>2]=x;f[r>>2]=(f[r>>2]|0)+16}else LSa(v,g);x=w;while(1){if(x>>>0>=E>>>0)break;C=f[r>>2]|0;I=(f[d>>2]|0)+(x*24|0)|0;D=C+-12|0;y=f[D>>2]|0;if((y|0)==(f[C+-8>>2]|0))PSa(C+-16|0,I);else{OSa(y,I);f[D>>2]=(f[D>>2]|0)+24}x=x+1|0}if(!((E|0)==(w+1|0)&(b[d+63>>0]|0)!=0)){O=s;break a}x=_Sa(s,c,d)|0;if((x|0)==(s|0)){O=s;break a}$Sa(g,(f[t>>2]|0)+-24|0);D=f[t>>2]|0;I=D+-24|0;y=D;while(1){if((y|0)==(I|0))break;C=y+-24|0;f[t>>2]=C;oSa(C);y=f[t>>2]|0}y=b[g+11>>0]|0;I=y<<24>>24<0;rSa(D+-48|0,I?f[g>>2]|0:g,I?f[g+4>>2]|0:y&255)|0;y=(f[t>>2]|0)+-24|0;f[i>>2]=f[q>>2];SSa(h,y,i);y=f[r>>2]|0;if(y>>>0<(f[A>>2]|0)>>>0){f[y>>2]=0;I=y+4|0;f[I>>2]=0;s=f[h+12>>2]|0;f[y+8>>2]=0;f[y+12>>2]=s;f[y>>2]=f[h>>2];s=h+4|0;f[I>>2]=f[s>>2];I=h+8|0;f[y+8>>2]=f[I>>2];f[I>>2]=0;f[s>>2]=0;f[h>>2]=0;f[r>>2]=(f[r>>2]|0)+16}else TSa(v,h);pSa(h);FSa(g);O=x;break a;break}case 85:{s=a+1|0;if((s|0)==(c|0)){O=a;break a}I=aTa(s,c,d)|0;if((I|0)==(s|0)){O=a;break a}s=JSa(I,c,d)|0;if((s|0)==(I|0)){O=a;break a}I=d+4|0;y=f[I>>2]|0;if(((y-(f[d>>2]|0)|0)/24|0)>>>0<2){O=a;break a}$Sa(g,y+-24|0);y=f[I>>2]|0;w=y+-24|0;E=y;while(1){if((E|0)==(w|0))break;C=E+-24|0;f[I>>2]=C;oSa(C);E=f[I>>2]|0}WSa(h,y+-48|0,9);E=$Ga(451344)|0;w=b[h+11>>0]|0;if((E|0)==((w<<24>>24<0?f[h+4>>2]|0:w&255)|0)){w=(XSa(h,451344,E)|0)==0;FSa(h);if(w){$Sa(h,(f[I>>2]|0)+-24|0);w=f[I>>2]|0;E=w+-24|0;x=w;while(1){if((x|0)==(E|0))break;w=x+-24|0;f[I>>2]=w;oSa(w);x=f[I>>2]|0}x=h+11|0;E=b[x>>0]|0;y=E<<24>>24<0;w=f[h>>2]|0;v=h+4|0;r=aTa(y?w+9|0:h+9|0,(y?w:h)+(y?f[v>>2]|0:E&255)|0,d)|0;if((r|0)==(((b[x>>0]|0)<0?f[h>>2]|0:h)+9|0)){bTa(k,g,451354);r=b[x>>0]|0;x=r<<24>>24<0;rSa(k,x?f[h>>2]|0:h,x?f[v>>2]|0:r&255)|0;f[o>>2]=f[k>>2];f[o+4>>2]=f[k+4>>2];f[o+8>>2]=f[k+8>>2];r=0;while(1){if((r|0)==3)break;f[k+(r<<2)>>2]=0;r=r+1|0}cTa(i,o);r=f[I>>2]|0;if(r>>>0<(f[d+8>>2]|0)>>>0){eTa(r,i);f[I>>2]=(f[I>>2]|0)+24}else fTa(d,i);oSa(i);FSa(o);FSa(k)}else{bTa(m,g,451356);$Sa(n,(f[I>>2]|0)+-24|0);r=b[n+11>>0]|0;v=r<<24>>24<0;rSa(m,v?f[n>>2]|0:n,v?f[n+4>>2]|0:r&255)|0;f[k>>2]=f[m>>2];f[k+4>>2]=f[m+4>>2];f[k+8>>2]=f[m+8>>2];r=0;while(1){if((r|0)==3)break;f[m+(r<<2)>>2]=0;r=r+1|0}NSa(k,451358)|0;f[l>>2]=f[k>>2];f[l+4>>2]=f[k+4>>2];f[l+8>>2]=f[k+8>>2];r=0;while(1){if((r|0)==3)break;f[k+(r<<2)>>2]=0;r=r+1|0}cTa(i,l);dTa((f[I>>2]|0)+-24|0,i);oSa(i);FSa(l);FSa(k);FSa(n);FSa(m)}FSa(h)}else V=166}else{FSa(h);V=166}if((V|0)==166){bTa(i,g,451354);$Sa(k,(f[I>>2]|0)+-24|0);r=b[k+11>>0]|0;v=r<<24>>24<0;rSa(i,v?f[k>>2]|0:k,v?f[k+4>>2]|0:r&255)|0;f[j>>2]=f[i>>2];f[j+4>>2]=f[i+4>>2];f[j+8>>2]=f[i+8>>2];r=0;while(1){if((r|0)==3)break;f[i+(r<<2)>>2]=0;r=r+1|0}cTa(h,j);dTa((f[I>>2]|0)+-24|0,h);oSa(h);FSa(j);FSa(k);FSa(i)}r=(f[I>>2]|0)+-24|0;f[i>>2]=f[d+12>>2];SSa(h,r,i);r=d+20|0;v=f[r>>2]|0;if(v>>>0<(f[d+24>>2]|0)>>>0){f[v>>2]=0;x=v+4|0;f[x>>2]=0;E=f[h+12>>2]|0;f[v+8>>2]=0;f[v+12>>2]=E;f[v>>2]=f[h>>2];E=h+4|0;f[x>>2]=f[E>>2];x=h+8|0;f[v+8>>2]=f[x>>2];f[x>>2]=0;f[E>>2]=0;f[h>>2]=0;f[r>>2]=(f[r>>2]|0)+16}else TSa(d+16|0,h);pSa(h);FSa(g);O=s;break a;break}case 83:{r=a+1|0;if((r|0)!=(c|0)?(b[r>>0]|0)==116:0){r=gTa(a,c,d)|0;if((r|0)==(a|0)){O=a;break a}E=f[d+4>>2]|0;if((f[d>>2]|0)==(E|0)){O=a;break a}f[h>>2]=f[d+12>>2];SSa(g,E+-24|0,h);E=d+20|0;x=f[E>>2]|0;if(x>>>0<(f[d+24>>2]|0)>>>0){f[x>>2]=0;v=x+4|0;f[v>>2]=0;y=f[g+12>>2]|0;f[x+8>>2]=0;f[x+12>>2]=y;f[x>>2]=f[g>>2];y=g+4|0;f[v>>2]=f[y>>2];v=g+8|0;f[x+8>>2]=f[v>>2];f[v>>2]=0;f[y>>2]=0;f[g>>2]=0;f[E>>2]=(f[E>>2]|0)+16}else TSa(d+16|0,g);pSa(g);O=r;break a}r=hTa(a,c,d)|0;if((r|0)==(a|0)){O=a;break a}E=_Sa(r,c,d)|0;if((E|0)==(r|0)){O=r;break a}y=d+4|0;v=f[y>>2]|0;if(((v-(f[d>>2]|0)|0)/24|0)>>>0<2){O=r;break a}$Sa(g,v+-24|0);v=f[y>>2]|0;r=v+-24|0;x=v;while(1){if((x|0)==(r|0))break;w=x+-24|0;f[y>>2]=w;oSa(w);x=f[y>>2]|0}x=b[g+11>>0]|0;r=x<<24>>24<0;rSa(v+-48|0,r?f[g>>2]|0:g,r?f[g+4>>2]|0:x&255)|0;x=(f[y>>2]|0)+-24|0;f[i>>2]=f[d+12>>2];SSa(h,x,i);x=d+20|0;r=f[x>>2]|0;if(r>>>0<(f[d+24>>2]|0)>>>0){f[r>>2]=0;s=r+4|0;f[s>>2]=0;I=f[h+12>>2]|0;f[r+8>>2]=0;f[r+12>>2]=I;f[r>>2]=f[h>>2];I=h+4|0;f[s>>2]=f[I>>2];s=h+8|0;f[r+8>>2]=f[s>>2];f[s>>2]=0;f[I>>2]=0;f[h>>2]=0;f[x>>2]=(f[x>>2]|0)+16}else TSa(d+16|0,h);pSa(h);FSa(g);O=E;break a;break}case 68:{x=a+1|0;if((x|0)!=(c|0))switch(b[x>>0]|0){case 112:{x=d+4|0;I=((f[x>>2]|0)-(f[d>>2]|0)|0)/24|0;s=a+2|0;r=JSa(s,c,d)|0;w=((f[x>>2]|0)-(f[d>>2]|0)|0)/24|0;if((r|0)==(s|0))break d;s=f[d+12>>2]|0;f[g>>2]=s;x=d+20|0;A=f[x>>2]|0;if(A>>>0<(f[d+24>>2]|0)>>>0){f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;f[A+12>>2]=s;f[x>>2]=(f[x>>2]|0)+16}else LSa(d+16|0,g);s=I;while(1){if(s>>>0>=w>>>0){O=r;break a}I=f[x>>2]|0;A=(f[d>>2]|0)+(s*24|0)|0;q=I+-12|0;t=f[q>>2]|0;if((t|0)==(f[I+-8>>2]|0))PSa(I+-16|0,A);else{OSa(t,A);f[q>>2]=(f[q>>2]|0)+24}s=s+1|0}break}case 84:case 116:{s=iTa(a,c,d)|0;if((s|0)==(a|0))break d;x=f[d+4>>2]|0;if((f[d>>2]|0)==(x|0)){O=a;break a}f[h>>2]=f[d+12>>2];SSa(g,x+-24|0,h);x=d+20|0;r=f[x>>2]|0;if(r>>>0<(f[d+24>>2]|0)>>>0){f[r>>2]=0;w=r+4|0;f[w>>2]=0;E=f[g+12>>2]|0;f[r+8>>2]=0;f[r+12>>2]=E;f[r>>2]=f[g>>2];E=g+4|0;f[w>>2]=f[E>>2];w=g+8|0;f[r+8>>2]=f[w>>2];f[w>>2]=0;f[E>>2]=0;f[g>>2]=0;f[x>>2]=(f[x>>2]|0)+16}else TSa(d+16|0,g);pSa(g);O=s;break a;break}case 118:{s=jTa(a,c,d)|0;if((s|0)==(a|0))break d;x=f[d+4>>2]|0;if((f[d>>2]|0)==(x|0)){O=a;break a}f[h>>2]=f[d+12>>2];SSa(g,x+-24|0,h);x=d+20|0;E=f[x>>2]|0;if(E>>>0<(f[d+24>>2]|0)>>>0){f[E>>2]=0;w=E+4|0;f[w>>2]=0;r=f[g+12>>2]|0;f[E+8>>2]=0;f[E+12>>2]=r;f[E>>2]=f[g>>2];r=g+4|0;f[w>>2]=f[r>>2];w=g+8|0;f[E+8>>2]=f[w>>2];f[w>>2]=0;f[r>>2]=0;f[g>>2]=0;f[x>>2]=(f[x>>2]|0)+16}else TSa(d+16|0,g);pSa(g);O=s;break a;break}default:break d}break}default:{}}while(0);s=QSa(a,c,d)|0;if((s|0)==(a|0)){x=gTa(a,c,d)|0;if((x|0)!=(a|0)?(r=f[d+4>>2]|0,(f[d>>2]|0)!=(r|0)):0){f[h>>2]=f[d+12>>2];SSa(g,r+-24|0,h);r=d+20|0;w=f[r>>2]|0;if(w>>>0<(f[d+24>>2]|0)>>>0){f[w>>2]=0;E=w+4|0;f[E>>2]=0;y=f[g+12>>2]|0;f[w+8>>2]=0;f[w+12>>2]=y;f[w>>2]=f[g>>2];y=g+4|0;f[E>>2]=f[y>>2];E=g+8|0;f[w+8>>2]=f[E>>2];f[E>>2]=0;f[y>>2]=0;f[g>>2]=0;f[r>>2]=(f[r>>2]|0)+16}else TSa(d+16|0,g);pSa(g);O=x}else O=a}else O=s}else O=p}else O=a;while(0);u=e;return O|0}function KSa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f[d>>2]=0;if((a|0)!=(c|0)){c=b[a>>0]|0;if(c<<24>>24==114){f[d>>2]=4;e=a+1|0;g=e;h=4;i=b[e>>0]|0}else{g=a;h=0;i=c}if(i<<24>>24==86){c=h|2;f[d>>2]=c;e=g+1|0;j=e;k=b[e>>0]|0;l=c}else{j=g;k=i;l=h}if(k<<24>>24==75){f[d>>2]=l|1;m=j+1|0}else m=j}else m=a;return m|0}function LSa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+32|0;d=c;e=a+4|0;g=((f[e>>2]|0)-(f[a>>2]|0)>>4)+1|0;h=PUa(a)|0;if(h>>>0>>0)ZOa(a);else{i=f[a>>2]|0;j=(f[a+8>>2]|0)-i|0;k=j>>3;QUa(d,j>>4>>>0>>1>>>0?(k>>>0>>0?g:k):h,(f[e>>2]|0)-i>>4,a+12|0);i=d+8|0;e=f[i>>2]|0;f[e>>2]=0;f[e+4>>2]=0;h=f[b>>2]|0;f[e+8>>2]=0;f[e+12>>2]=h;f[i>>2]=e+16;RUa(a,d);SUa(d);u=c;return}}function MSa(a,b,c){a=a|0;b=b|0;c=c|0;return OUa(a,b,c,$Ga(c)|0)|0}function NSa(a,b){a=a|0;b=b|0;return rSa(a,b,$Ga(b)|0)|0}function OSa(a,b){a=a|0;b=b|0;iUa(a,b);iUa(a+12|0,b+12|0);return}function PSa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+32|0;d=c;e=a+4|0;g=(((f[e>>2]|0)-(f[a>>2]|0)|0)/24|0)+1|0;h=mUa(a)|0;if(h>>>0>>0)ZOa(a);else{i=f[a>>2]|0;j=((f[a+8>>2]|0)-i|0)/24|0;k=j<<1;nUa(d,j>>>0>>1>>>0?(k>>>0>>0?g:k):h,((f[e>>2]|0)-i|0)/24|0,a+12|0);i=d+8|0;e=f[i>>2]|0;OSa(e,b);f[i>>2]=e+24;oUa(a,d);pUa(d);u=c;return}}function QSa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+32|0;g=e;a:do if((a|0)==(c|0))h=a;else do switch(b[a>>0]|0){case 118:{tUa(g,452759);i=d+4|0;j=f[i>>2]|0;if(j>>>0<(f[d+8>>2]|0)>>>0){eTa(j,g);f[i>>2]=(f[i>>2]|0)+24}else fTa(d,g);oSa(g);h=a+1|0;break a;break}case 119:{WUa(g);i=d+4|0;j=f[i>>2]|0;if(j>>>0<(f[d+8>>2]|0)>>>0){eTa(j,g);f[i>>2]=(f[i>>2]|0)+24}else fTa(d,g);oSa(g);h=a+1|0;break a;break}case 98:{tUa(g,452764);i=d+4|0;j=f[i>>2]|0;if(j>>>0<(f[d+8>>2]|0)>>>0){eTa(j,g);f[i>>2]=(f[i>>2]|0)+24}else fTa(d,g);oSa(g);h=a+1|0;break a;break}case 99:{tUa(g,452533);i=d+4|0;j=f[i>>2]|0;if(j>>>0<(f[d+8>>2]|0)>>>0){eTa(j,g);f[i>>2]=(f[i>>2]|0)+24}else fTa(d,g);oSa(g);h=a+1|0;break a;break}case 97:{aUa(g,452538);i=d+4|0;j=f[i>>2]|0;if(j>>>0<(f[d+8>>2]|0)>>>0){eTa(j,g);f[i>>2]=(f[i>>2]|0)+24}else fTa(d,g);oSa(g);h=a+1|0;break a;break}case 104:{xUa(g,452550);i=d+4|0;j=f[i>>2]|0;if(j>>>0<(f[d+8>>2]|0)>>>0){eTa(j,g);f[i>>2]=(f[i>>2]|0)+24}else fTa(d,g);oSa(g);h=a+1|0;break a;break}case 115:{MTa(g,452564);i=d+4|0;j=f[i>>2]|0;if(j>>>0<(f[d+8>>2]|0)>>>0){eTa(j,g);f[i>>2]=(f[i>>2]|0)+24}else fTa(d,g);oSa(g);h=a+1|0;break a;break}case 116:{bUa(g,452570);i=d+4|0;j=f[i>>2]|0;if(j>>>0<(f[d+8>>2]|0)>>>0){eTa(j,g);f[i>>2]=(f[i>>2]|0)+24}else fTa(d,g);oSa(g);h=a+1|0;break a;break}case 105:{XUa(g,452769);i=d+4|0;j=f[i>>2]|0;if(j>>>0<(f[d+8>>2]|0)>>>0){eTa(j,g);f[i>>2]=(f[i>>2]|0)+24}else fTa(d,g);oSa(g);h=a+1|0;break a;break}case 106:{cUa(g,452773);i=d+4|0;j=f[i>>2]|0;if(j>>>0<(f[d+8>>2]|0)>>>0){eTa(j,g);f[i>>2]=(f[i>>2]|0)+24}else fTa(d,g);oSa(g);h=a+1|0;break a;break}case 108:{tUa(g,452786);i=d+4|0;j=f[i>>2]|0;if(j>>>0<(f[d+8>>2]|0)>>>0){eTa(j,g);f[i>>2]=(f[i>>2]|0)+24}else fTa(d,g);oSa(g);h=a+1|0;break a;break}case 109:{xUa(g,452791);i=d+4|0;j=f[i>>2]|0;if(j>>>0<(f[d+8>>2]|0)>>>0){eTa(j,g);f[i>>2]=(f[i>>2]|0)+24}else fTa(d,g);oSa(g);h=a+1|0;break a;break}case 120:{ZTa(g,452805);i=d+4|0;j=f[i>>2]|0;if(j>>>0<(f[d+8>>2]|0)>>>0){eTa(j,g);f[i>>2]=(f[i>>2]|0)+24}else fTa(d,g);oSa(g);h=a+1|0;break a;break}case 121:{YUa(g);i=d+4|0;j=f[i>>2]|0;if(j>>>0<(f[d+8>>2]|0)>>>0){eTa(j,g);f[i>>2]=(f[i>>2]|0)+24}else fTa(d,g);oSa(g);h=a+1|0;break a;break}case 110:{ZUa(g,452599);i=d+4|0;j=f[i>>2]|0;if(j>>>0<(f[d+8>>2]|0)>>>0){eTa(j,g);f[i>>2]=(f[i>>2]|0)+24}else fTa(d,g);oSa(g);h=a+1|0;break a;break}case 111:{_Ta(g,452608);i=d+4|0;j=f[i>>2]|0;if(j>>>0<(f[d+8>>2]|0)>>>0){eTa(j,g);f[i>>2]=(f[i>>2]|0)+24}else fTa(d,g);oSa(g);h=a+1|0;break a;break}case 102:{MTa(g,452815);i=d+4|0;j=f[i>>2]|0;if(j>>>0<(f[d+8>>2]|0)>>>0){eTa(j,g);f[i>>2]=(f[i>>2]|0)+24}else fTa(d,g);oSa(g);h=a+1|0;break a;break}case 100:{_Ua(g);i=d+4|0;j=f[i>>2]|0;if(j>>>0<(f[d+8>>2]|0)>>>0){eTa(j,g);f[i>>2]=(f[i>>2]|0)+24}else fTa(d,g);oSa(g);h=a+1|0;break a;break}case 101:{aUa(g,452821);i=d+4|0;j=f[i>>2]|0;if(j>>>0<(f[d+8>>2]|0)>>>0){eTa(j,g);f[i>>2]=(f[i>>2]|0)+24}else fTa(d,g);oSa(g);h=a+1|0;break a;break}case 103:{YTa(g,452833);i=d+4|0;j=f[i>>2]|0;if(j>>>0<(f[d+8>>2]|0)>>>0){eTa(j,g);f[i>>2]=(f[i>>2]|0)+24}else fTa(d,g);oSa(g);h=a+1|0;break a;break}case 122:{XUa(g,452844);i=d+4|0;j=f[i>>2]|0;if(j>>>0<(f[d+8>>2]|0)>>>0){eTa(j,g);f[i>>2]=(f[i>>2]|0)+24}else fTa(d,g);oSa(g);h=a+1|0;break a;break}case 117:{i=a+1|0;j=aTa(i,c,d)|0;h=(j|0)==(i|0)?a:j;break a;break}case 68:{j=a+1|0;if((j|0)==(c|0)){h=a;break a}switch(b[j>>0]|0){case 100:{ZTa(g,452848);j=d+4|0;i=f[j>>2]|0;if(i>>>0<(f[d+8>>2]|0)>>>0){eTa(i,g);f[j>>2]=(f[j>>2]|0)+24}else fTa(d,g);oSa(g);h=a+2|0;break a;break}case 101:{YTa(g,452858);j=d+4|0;i=f[j>>2]|0;if(i>>>0<(f[d+8>>2]|0)>>>0){eTa(i,g);f[j>>2]=(f[j>>2]|0)+24}else fTa(d,g);oSa(g);h=a+2|0;break a;break}case 102:{ZTa(g,452869);j=d+4|0;i=f[j>>2]|0;if(i>>>0<(f[d+8>>2]|0)>>>0){eTa(i,g);f[j>>2]=(f[j>>2]|0)+24}else fTa(d,g);oSa(g);h=a+2|0;break a;break}case 104:{ZTa(g,452879);j=d+4|0;i=f[j>>2]|0;if(i>>>0<(f[d+8>>2]|0)>>>0){eTa(i,g);f[j>>2]=(f[j>>2]|0)+24}else fTa(d,g);oSa(g);h=a+2|0;break a;break}case 105:{ZUa(g,452889);j=d+4|0;i=f[j>>2]|0;if(i>>>0<(f[d+8>>2]|0)>>>0){eTa(i,g);f[j>>2]=(f[j>>2]|0)+24}else fTa(d,g);oSa(g);h=a+2|0;break a;break}case 115:{ZUa(g,452898);j=d+4|0;i=f[j>>2]|0;if(i>>>0<(f[d+8>>2]|0)>>>0){eTa(i,g);f[j>>2]=(f[j>>2]|0)+24}else fTa(d,g);oSa(g);h=a+2|0;break a;break}case 97:{tUa(g,452907);j=d+4|0;i=f[j>>2]|0;if(i>>>0<(f[d+8>>2]|0)>>>0){eTa(i,g);f[j>>2]=(f[j>>2]|0)+24}else fTa(d,g);oSa(g);h=a+2|0;break a;break}case 110:{bUa(g,452912);j=d+4|0;i=f[j>>2]|0;if(i>>>0<(f[d+8>>2]|0)>>>0){eTa(i,g);f[j>>2]=(f[j>>2]|0)+24}else fTa(d,g);oSa(g);h=a+2|0;break a;break}default:{h=a;break a}}break}default:{h=a;break a}}while(0);while(0);u=e;return h|0} +function Laa(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=+h;i=i|0;var j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0.0,$=0.0,aa=0.0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0;j=u;u=u+224|0;k=j+200|0;l=j+144|0;m=j+88|0;o=j+24|0;p=j;q=j+80|0;r=j+16|0;s=f[a>>2]|0;t=(e|0)>0;v=(t?+(1<>2]=0;f[k+4>>2]=0;x=JV(k,114)|0;s=213855;y=x+114|0;do{b[x>>0]=b[s>>0]|0;x=x+1|0;s=s+1|0}while((x|0)<(y|0));EP(-215,k,213970,213990,269);KV(k)}}f[l>>2]=1124007936;s=l+4|0;z=l+8|0;A=l+40|0;x=s;y=x+36|0;do{f[x>>2]=0;x=x+4|0}while((x|0)<(y|0));f[A>>2]=z;z=l+48|0;B=l+44|0;f[B>>2]=z;f[z>>2]=0;f[l+52>>2]=0;f[m>>2]=1124007936;C=m+4|0;D=m+8|0;E=m+40|0;x=C;y=x+36|0;do{f[x>>2]=0;x=x+4|0}while((x|0)<(y|0));f[E>>2]=D;D=m+48|0;F=m+44|0;f[F>>2]=D;f[D>>2]=0;f[m+52>>2]=0;if(t){f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=a;t=o+8|0;f[t>>2]=0;f[t+4>>2]=0;f[o>>2]=33619968;f[o+4>>2]=l;Z5(k,o,5,1,0,e,v,0.0,i);f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=a;t=o+8|0;f[t>>2]=0;f[t+4>>2]=0;f[o>>2]=33619968;f[o+4>>2]=m;Z5(k,o,5,0,1,e,v,0.0,i)}else{f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=a;e=o+8|0;f[e>>2]=0;f[e+4>>2]=0;f[o>>2]=33619968;f[o+4>>2]=l;_5(k,o,5,1,0,v,0.0,i);f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=a;e=o+8|0;f[e>>2]=0;f[e+4>>2]=0;f[o>>2]=33619968;f[o+4>>2]=m;_5(k,o,5,0,1,v,0.0,i)}e=f[a+40>>2]|0;a=f[e+4>>2]|0;t=f[e>>2]|0;f[o>>2]=1124007936;e=o+4|0;G=o+8|0;H=o+40|0;x=e;y=x+36|0;do{f[x>>2]=0;x=x+4|0}while((x|0)<(y|0));f[H>>2]=G;G=o+48|0;x=o+44|0;f[x>>2]=G;f[G>>2]=0;f[o+52>>2]=0;f[k>>2]=t;f[k+4>>2]=a;VO(o,2,k,21);if((t|0)>0?(y=f[o+16>>2]|0,I=f[f[x>>2]>>2]|0,J=f[l+16>>2]|0,M=f[f[B>>2]>>2]|0,N=f[m+16>>2]|0,O=f[f[F>>2]>>2]|0,(a|0)>0):0){P=0;do{Q=y+(X(I,P)|0)|0;R=J+(X(M,P)|0)|0;S=N+(X(O,P)|0)|0;T=0;do{v=+n[R+(T<<2)>>2];w=+n[S+(T<<2)>>2];U=T*3|0;n[Q+(U<<2)>>2]=v*v;n[Q+(U+1<<2)>>2]=v*w;n[Q+(U+2<<2)>>2]=w*w;T=T+1|0}while((T|0)!=(a|0));P=P+1|0}while((P|0)!=(t|0))}f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=o;t=p+8|0;f[t>>2]=0;f[t+4>>2]=0;f[p>>2]=33619968;f[p+4>>2]=o;t=f[o>>2]&7;f[q>>2]=d;f[q+4>>2]=d;f[r>>2]=-1;f[r+4>>2]=-1;j1(k,p,t,q,r,0,i);a:do switch(g|0){case 0:{i=f[c+16>>2]|0;r=f[c+44>>2]|0;q=f[H>>2]|0;t=f[q+4>>2]|0;p=f[q>>2]|0;if(f[o>>2]&16384){q=(f[c>>2]&16384|0)!=0;k=X(q?p:1,t)|0;if(q){V=k;W=1}else{Y=k;Z=14}}else{Y=t;Z=14}if((Z|0)==14)if((p|0)>0){V=Y;W=p}else break a;p=f[o+16>>2]|0;t=f[f[x>>2]>>2]|0;k=f[r>>2]|0;if((V|0)>0){r=0;do{q=p+(X(r,t)|0)|0;d=i+(X(r,k)|0)|0;P=0;do{a=P*3|0;w=+n[q+(a<<2)>>2]*.5;v=+n[q+(a+1<<2)>>2];_=+n[q+(a+2<<2)>>2]*.5;$=w-_;aa=w+_-+L(+(v*v+$*$));n[d+(P<<2)>>2]=aa;P=P+1|0}while((P|0)!=(V|0));r=r+1|0}while((r|0)!=(W|0))}break}case 1:{r=f[c+16>>2]|0;k=f[c+44>>2]|0;i=f[H>>2]|0;t=f[i+4>>2]|0;p=f[i>>2]|0;if(f[o>>2]&16384){i=(f[c>>2]&16384|0)!=0;P=X(i?p:1,t)|0;if(i){ba=P;ca=1}else{da=P;Z=21}}else{da=t;Z=21}if((Z|0)==21)if((p|0)>0){ba=da;ca=p}else break a;p=f[o+16>>2]|0;t=f[f[x>>2]>>2]|0;P=f[k>>2]|0;if((ba|0)>0){k=0;do{i=p+(X(k,t)|0)|0;d=r+(X(k,P)|0)|0;q=0;do{a=q*3|0;aa=+n[i+(a<<2)>>2];$=+n[i+(a+1<<2)>>2];v=+n[i+(a+2<<2)>>2];_=aa+v;n[d+(q<<2)>>2]=aa*v-$*$-_*h*_;q=q+1|0}while((q|0)!=(ba|0));k=k+1|0}while((k|0)!=(ca|0))}break}case 2:{k=f[c+16>>2]|0;P=f[c+44>>2]|0;r=f[H>>2]|0;t=f[r+4>>2]|0;p=f[r>>2]|0;if(f[o>>2]&16384){r=(f[c>>2]&16384|0)!=0;q=X(r?p:1,t)|0;if(r){ea=q;fa=1}else{ga=q;Z=28}}else{ga=t;Z=28}if((Z|0)==28)if((p|0)>0){ea=ga;fa=p}else break a;p=f[o+16>>2]|0;t=f[f[x>>2]>>2]|0;q=f[P>>2]|0;P=(ea|0)>0;r=0;do{d=p+(X(r,t)|0)|0;i=k+(X(r,q)|0)|0;if(P){a=0;do{O=a*3|0;_=+n[d+(O<<2)>>2];$=+n[d+(O+1<<2)>>2];v=+n[d+(O+2<<2)>>2];aa=(_+v)*.5;w=_-v;ha=+L(+($*$+w*w*.25));w=ha+aa;ia=aa-ha;ha=w-_;aa=+K(+$);if(aa+ +K(+ha)<.0001){ja=w-v;ka=aa+ +K(+ja);la=1.0/(ka+1.1920928955078125e-07);if(ka<.0001){ma=la*$;na=ja*la}else{ma=$;na=ja}}else{ma=ha;na=$}ha=1.0/+L(+(na*na+ma*ma+2.220446049250313e-16));O=a*6|0;n[i+(O<<2)>>2]=w;n[i+(O+2<<2)>>2]=na*ha;n[i+(O+3<<2)>>2]=ma*ha;ha=ia-_;if(aa+ +K(+ha)<.0001){_=ia-v;v=aa+ +K(+_);aa=1.0/(v+1.1920928955078125e-07);if(v<.0001){oa=aa*$;pa=_*aa}else{oa=$;pa=_}}else{oa=ha;pa=$}$=1.0/+L(+(pa*pa+oa*oa+2.220446049250313e-16));n[i+((O|1)<<2)>>2]=ia;n[i+(O+4<<2)>>2]=pa*$;n[i+(O+5<<2)>>2]=oa*$;a=a+1|0}while((a|0)!=(ea|0))}r=r+1|0}while((r|0)!=(fa|0));break}default:{}}while(0);fa=o+36|0;ea=f[fa>>2]|0;if(ea|0?(ga=ea+12|0,ea=f[ga>>2]|0,f[ga>>2]=ea+-1,(ea|0)==1):0)XO(o);f[fa>>2]=0;fa=o+16|0;f[fa>>2]=0;f[fa+4>>2]=0;f[fa+8>>2]=0;f[fa+12>>2]=0;if((f[e>>2]|0)>0){fa=f[H>>2]|0;H=0;do{f[fa+(H<<2)>>2]=0;H=H+1|0}while((H|0)<(f[e>>2]|0))}e=f[x>>2]|0;if((e|0)!=(G|0))dX(e);e=m+36|0;G=f[e>>2]|0;if(G|0?(x=G+12|0,G=f[x>>2]|0,f[x>>2]=G+-1,(G|0)==1):0)XO(m);f[e>>2]=0;e=m+16|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;if((f[C>>2]|0)>0){e=f[E>>2]|0;E=0;do{f[e+(E<<2)>>2]=0;E=E+1|0}while((E|0)<(f[C>>2]|0))}C=f[F>>2]|0;if((C|0)!=(D|0))dX(C);C=l+36|0;D=f[C>>2]|0;if(D|0?(F=D+12|0,D=f[F>>2]|0,f[F>>2]=D+-1,(D|0)==1):0)XO(l);f[C>>2]=0;C=l+16|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;f[C+12>>2]=0;if((f[s>>2]|0)>0){C=f[A>>2]|0;A=0;do{f[C+(A<<2)>>2]=0;A=A+1|0}while((A|0)<(f[s>>2]|0))}s=f[B>>2]|0;if((s|0)==(z|0)){u=j;return}dX(s);u=j;return}function Maa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=u;u=u+128|0;i=h+120|0;j=h+64|0;k=h;l=h+8|0;yV(i,48444);do if((HJ(a)|0)==65536){m=f[a+4>>2]|0;f[j>>2]=f[m>>2];n=j+4|0;o=m+4|0;f[n>>2]=f[o>>2];p=j+8|0;f[p>>2]=f[m+8>>2];f[j+12>>2]=f[m+12>>2];f[j+16>>2]=f[m+16>>2];f[j+20>>2]=f[m+20>>2];f[j+24>>2]=f[m+24>>2];f[j+28>>2]=f[m+28>>2];f[j+32>>2]=f[m+32>>2];q=f[m+36>>2]|0;f[j+36>>2]=q;r=j+40|0;f[r>>2]=p;p=j+48|0;s=j+44|0;f[s>>2]=p;f[p>>2]=0;f[j+52>>2]=0;if(q|0){p=q+12|0;f[p>>2]=(f[p>>2]|0)+1}if((f[o>>2]|0)<3){o=f[m+44>>2]|0;p=f[s>>2]|0;f[p>>2]=f[o>>2];f[p+4>>2]=f[o+4>>2];t=r;break}else{f[n>>2]=0;WO(j,m);t=r;break}}else{DJ(j,a,-1);t=j+40|0}while(0);a=f[t>>2]|0;r=f[a>>2]|0;f[k>>2]=f[a+4>>2];f[k+4>>2]=r;_J(b,k,5,-1,0,0);do if((HJ(b)|0)==65536){k=f[b+4>>2]|0;f[l>>2]=f[k>>2];r=l+4|0;a=k+4|0;f[r>>2]=f[a>>2];m=l+8|0;f[m>>2]=f[k+8>>2];f[l+12>>2]=f[k+12>>2];f[l+16>>2]=f[k+16>>2];f[l+20>>2]=f[k+20>>2];f[l+24>>2]=f[k+24>>2];f[l+28>>2]=f[k+28>>2];f[l+32>>2]=f[k+32>>2];n=f[k+36>>2]|0;f[l+36>>2]=n;f[l+40>>2]=m;m=l+48|0;o=l+44|0;f[o>>2]=m;f[m>>2]=0;f[l+52>>2]=0;if(n|0){m=n+12|0;f[m>>2]=(f[m>>2]|0)+1}if((f[a>>2]|0)<3){a=f[k+44>>2]|0;m=f[o>>2]|0;f[m>>2]=f[a>>2];f[m+4>>2]=f[a+4>>2];break}else{f[r>>2]=0;WO(l,k);break}}else DJ(l,b,-1);while(0);Laa(j,l,c,d,1,e,g);g=l+36|0;d=f[g>>2]|0;if(d|0?(c=d+12|0,d=f[c>>2]|0,f[c>>2]=d+-1,(d|0)==1):0)XO(l);f[g>>2]=0;g=l+16|0;d=l+4|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;if((f[d>>2]|0)>0){g=f[l+40>>2]|0;c=0;do{f[g+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[d>>2]|0))}d=f[l+44>>2]|0;if((d|0)!=(l+48|0))dX(d);d=j+36|0;l=f[d>>2]|0;if(l|0?(c=l+12|0,l=f[c>>2]|0,f[c>>2]=l+-1,(l|0)==1):0)XO(j);f[d>>2]=0;d=j+16|0;l=j+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[l>>2]|0)>0){d=f[t>>2]|0;t=0;do{f[d+(t<<2)>>2]=0;t=t+1|0}while((t|0)<(f[l>>2]|0))}l=f[j+44>>2]|0;if((l|0)!=(j+48|0))dX(l);if(!(f[i+4>>2]|0)){u=h;return}u=h;return}function Naa(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=+e;g=+g;h=h|0;i=i|0;j=j|0;k=k|0;l=+l;var m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0.0,da=0.0,ea=0.0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0.0,sa=0.0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0;m=u;u=u+432|0;o=m+48|0;q=m+424|0;r=m+368|0;s=m+312|0;t=m+256|0;v=m+32|0;w=m+176|0;x=m+120|0;y=m+64|0;z=m+248|0;A=m;B=m+192|0;yV(q,48464);if(!((d|0)>-1&(e>0.0&g>=0.0))){f[o>>2]=0;f[o+4>>2]=0;C=JV(o,55)|0;D=214201;E=C+55|0;do{b[C>>0]=b[D>>0]|0;C=C+1|0;D=D+1|0}while((C|0)<(E|0));EP(-215,o,214257,214277,368);KV(o)}do if(!(VJ(h)|0)){if((GJ(h,-1)|0)==0?QJ(h,a)|0:0)break;f[o>>2]=0;f[o+4>>2]=0;C=JV(o,102)|0;D=214342;E=C+102|0;do{b[C>>0]=b[D>>0]|0;C=C+1|0;D=D+1|0}while((C|0)<(E|0));EP(-215,o,214257,214277,369);KV(o)}while(0);do if((HJ(a)|0)==65536){D=f[a+4>>2]|0;f[r>>2]=f[D>>2];F=r+4|0;G=D+4|0;f[F>>2]=f[G>>2];H=r+8|0;f[H>>2]=f[D+8>>2];f[r+12>>2]=f[D+12>>2];I=r+16|0;f[I>>2]=f[D+16>>2];f[r+20>>2]=f[D+20>>2];f[r+24>>2]=f[D+24>>2];f[r+28>>2]=f[D+28>>2];f[r+32>>2]=f[D+32>>2];J=f[D+36>>2]|0;f[r+36>>2]=J;f[r+40>>2]=H;H=r+48|0;K=r+44|0;f[K>>2]=H;f[H>>2]=0;f[r+52>>2]=0;if(J|0){H=J+12|0;f[H>>2]=(f[H>>2]|0)+1}if((f[G>>2]|0)<3){G=f[D+44>>2]|0;H=f[K>>2]|0;f[H>>2]=f[G>>2];f[H+4>>2]=f[G+4>>2];L=I;break}else{f[F>>2]=0;WO(r,D);L=I;break}}else{DJ(r,a,-1);L=r+16|0}while(0);f[s>>2]=1124007936;a=s+4|0;I=s+8|0;D=s+40|0;C=a;E=C+36|0;do{f[C>>2]=0;C=C+4|0}while((C|0)<(E|0));f[D>>2]=I;I=s+48|0;F=s+44|0;f[F>>2]=I;f[I>>2]=0;f[s+52>>2]=0;f[t>>2]=1124007936;G=t+4|0;H=t+8|0;K=t+40|0;C=G;E=C+36|0;do{f[C>>2]=0;C=C+4|0}while((C|0)<(E|0));f[K>>2]=H;H=t+48|0;J=t+44|0;f[J>>2]=H;f[H>>2]=0;f[t+52>>2]=0;if(f[L>>2]|0){M=f[r+4>>2]|0;if((M|0)<3)N=X(f[r+12>>2]|0,f[r+8>>2]|0)|0;else{O=f[r+40>>2]|0;P=0;Q=1;while(1){R=X(f[O+(P<<2)>>2]|0,Q)|0;P=P+1|0;if((P|0)==(M|0)){N=R;break}else Q=R}}if(!((M|0)==0|(N|0)==0)){if(k){f[o+8>>2]=0;f[o+12>>2]=0;f[o>>2]=16842752;f[o+4>>2]=r;k=v+8|0;f[k>>2]=0;f[k+4>>2]=0;f[v>>2]=33619968;f[v+4>>2]=s;Maa(o,v,i,j,l,4)}else{f[o+8>>2]=0;f[o+12>>2]=0;f[o>>2]=16842752;f[o+4>>2]=r;k=v+8|0;f[k>>2]=0;f[k+4>>2]=0;f[v>>2]=33619968;f[v+4>>2]=s;Kaa(o,v,i,j,4)}p[v>>3]=0.0;f[o+8>>2]=0;f[o+12>>2]=0;f[o>>2]=16842752;f[o+4>>2]=s;yP(o,0,v,0,0,h);f[o+8>>2]=0;f[o+12>>2]=0;f[o>>2]=16842752;f[o+4>>2]=s;j=w+8|0;f[j>>2]=0;f[j+4>>2]=0;f[w>>2]=33619968;f[w+4>>2]=s;+T_(o,w,+p[v>>3]*e,0.0,3);f[o+8>>2]=0;f[o+12>>2]=0;f[o>>2]=16842752;f[o+4>>2]=s;v=w+8|0;f[v>>2]=0;f[v+4>>2]=0;f[w>>2]=33619968;f[w+4>>2]=t;f[y>>2]=1124007936;v=y+4|0;j=y+8|0;i=y+40|0;C=v;E=C+36|0;do{f[C>>2]=0;C=C+4|0}while((C|0)<(E|0));f[i>>2]=j;j=y+48|0;C=y+44|0;f[C>>2]=j;f[j>>2]=0;f[y+52>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;f[x>>2]=16842752;f[x+4>>2]=y;f[z>>2]=-1;f[z+4>>2]=-1;p[A>>3]=1797693134862315708145274.0e284;p[A+8>>3]=1797693134862315708145274.0e284;p[A+16>>3]=1797693134862315708145274.0e284;p[A+24>>3]=1797693134862315708145274.0e284;P8(o,w,x,z,1,0,A);z=y+36|0;E=f[z>>2]|0;if(E|0?(k=E+12|0,E=f[k>>2]|0,f[k>>2]=E+-1,(E|0)==1):0)XO(y);f[z>>2]=0;z=y+16|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;if((f[v>>2]|0)>0){z=f[i>>2]|0;i=0;do{f[z+(i<<2)>>2]=0;i=i+1|0}while((i|0)<(f[v>>2]|0))}v=f[C>>2]|0;if((v|0)!=(j|0))dX(v);v=f[r+40>>2]|0;j=f[v+4>>2]|0;C=f[v>>2]|0;f[w>>2]=0;v=w+4|0;f[v>>2]=0;f[w+8>>2]=0;do if((HJ(h)|0)==65536){i=f[h+4>>2]|0;f[x>>2]=f[i>>2];z=x+4|0;E=i+4|0;f[z>>2]=f[E>>2];k=x+8|0;f[k>>2]=f[i+8>>2];f[x+12>>2]=f[i+12>>2];f[x+16>>2]=f[i+16>>2];f[x+20>>2]=f[i+20>>2];f[x+24>>2]=f[i+24>>2];f[x+28>>2]=f[i+28>>2];f[x+32>>2]=f[i+32>>2];N=f[i+36>>2]|0;f[x+36>>2]=N;f[x+40>>2]=k;k=x+48|0;M=x+44|0;f[M>>2]=k;f[k>>2]=0;f[x+52>>2]=0;if(N|0){k=N+12|0;f[k>>2]=(f[k>>2]|0)+1}if((f[E>>2]|0)<3){E=f[i+44>>2]|0;k=f[M>>2]|0;f[k>>2]=f[E>>2];f[k+4>>2]=f[E+4>>2];break}else{f[z>>2]=0;WO(x,i);break}}else DJ(x,h,-1);while(0);h=C+-1|0;if((C|0)>2?(C=s+16|0,i=t+16|0,z=x+16|0,E=j+-1|0,k=w+8|0,M=x+44|0,(j|0)>2):0){j=1;do{N=(f[C>>2]|0)+(X(f[f[F>>2]>>2]|0,j)|0)|0;Q=(f[i>>2]|0)+(X(f[f[J>>2]>>2]|0,j)|0)|0;P=f[z>>2]|0;if(!P){O=1;do{R=N+(O<<2)|0;e=+n[R>>2];do if(e!=0.0){if(!(e==+n[Q+(O<<2)>>2]))break;f[o>>2]=R;S=f[v>>2]|0;if((S|0)==(f[k>>2]|0))Oaa(w,o);else{f[S>>2]=R;f[v>>2]=(f[v>>2]|0)+4}}while(0);O=O+1|0}while((O|0)<(E|0))}else{O=P+(X(f[f[M>>2]>>2]|0,j)|0)|0;R=1;do{S=N+(R<<2)|0;e=+n[S>>2];do if(e!=0.0){if(!(e==+n[Q+(R<<2)>>2]))break;if(!(b[O+R>>0]|0))break;f[o>>2]=S;T=f[v>>2]|0;if((T|0)==(f[k>>2]|0))Oaa(w,o);else{f[T>>2]=S;f[v>>2]=(f[v>>2]|0)+4}}while(0);R=R+1|0}while((R|0)<(E|0))}j=j+1|0}while((j|0)<(h|0))}f[y>>2]=0;h=y+4|0;f[h>>2]=0;f[y+8>>2]=0;j=f[v>>2]|0;E=f[w>>2]|0;k=j-E>>2;do if(!k)YJ(c);else{Paa(E,j,o);if(!(g>=1.0)){M=s+16|0;z=o+4|0;i=y+8|0;if((d|0)>0){C=0;do{R=(f[(f[w>>2]|0)+(C<<2)>>2]|0)-(f[M>>2]|0)|0;O=f[I>>2]|0;Q=(R>>>0)/(O>>>0)|0;e=+((R-(X(Q,O)|0)|0)>>>2|0);l=+(Q|0);n[o>>2]=e;n[z>>2]=l;Q=f[h>>2]|0;if((Q|0)==(f[i>>2]|0))Qaa(y,o);else{n[Q>>2]=e;n[Q+4>>2]=l;f[h>>2]=Q+8}C=C+1|0}while((C|0)!=(d|0)&C>>>0>>0)}else{C=0;do{Q=(f[(f[w>>2]|0)+(C<<2)>>2]|0)-(f[M>>2]|0)|0;O=f[I>>2]|0;R=(Q>>>0)/(O>>>0)|0;l=+((Q-(X(R,O)|0)|0)>>>2|0);e=+(R|0);n[o>>2]=l;n[z>>2]=e;R=f[h>>2]|0;if((R|0)==(f[i>>2]|0))Qaa(y,o);else{n[R>>2]=l;n[R+4>>2]=e;f[h>>2]=R+8}C=C+1|0}while(C>>>0>>0)}}else{C=f[r+12>>2]|0;i=f[r+8>>2]|0;z=AEa(g)|0;M=(C+-1+z|0)/(z|0)|0;C=(i+-1+z|0)/(z|0)|0;Raa(o,X(C,M)|0);e=g*g;i=s+16|0;R=M+-1|0;O=C+-1|0;C=A+4|0;Q=A+4|0;N=y+8|0;P=(d|0)>0;S=0;T=0;while(1){U=(f[(f[w>>2]|0)+(S<<2)>>2]|0)-(f[i>>2]|0)|0;V=f[I>>2]|0;W=(U>>>0)/(V>>>0)|0;Y=(U-(X(W,V)|0)|0)>>>2;V=(Y|0)/(z|0)|0;U=(W|0)/(z|0)|0;Z=V+-1|0;_=U+-1|0;$=V+1|0;aa=U+1|0;ba=(Z|0)>0?Z:0;Z=(_|0)>0?_:0;_=($|0)<(R|0)?$:R;$=(aa|0)<(O|0)?aa:O;do if((Z|0)<=($|0)){aa=f[o>>2]|0;l=+(Y|0);ca=+(W|0);if((ba|0)>(_|0)){da=l;ea=ca;fa=aa;ga=80;break}else{ha=Z;ia=1}a:while(1){ja=X(ha,M)|0;ka=ba;la=ia;while(1){ma=ka+ja|0;na=f[aa+(ma*12|0)+4>>2]|0;oa=f[aa+(ma*12|0)>>2]|0;ma=oa;if((na|0)==(oa|0))pa=la;else{qa=na-oa>>3;oa=0;na=la;while(1){ra=l-+n[ma+(oa<<3)>>2];sa=ca-+n[ma+(oa<<3)+4>>2];ta=e>ra*ra+sa*sa;ua=na&(ta^1);oa=oa+1|0;if(ta){ga=79;break a}if(oa>>>0>=qa>>>0){pa=ua;break}else na=ua}}if((ka|0)<(_|0)){ka=ka+1|0;la=pa}else break}if((ha|0)<($|0)){ha=ha+1|0;ia=pa}else{ga=72;break}}if((ga|0)==72){ga=0;if(pa){da=l;ea=ca;fa=aa;ga=80;break}else{va=T;break}}else if((ga|0)==79){ga=0;if(ua){da=l;ea=ca;fa=aa;ga=80;break}else{va=T;break}}}else{da=+(Y|0);ea=+(W|0);fa=f[o>>2]|0;ga=80}while(0);if((ga|0)==80){ga=0;W=(X(U,M)|0)+V|0;n[A>>2]=da;n[C>>2]=ea;Y=fa+(W*12|0)+4|0;$=f[Y>>2]|0;if(($|0)==(f[fa+(W*12|0)+8>>2]|0))Qaa(fa+(W*12|0)|0,A);else{n[$>>2]=da;n[$+4>>2]=ea;f[Y>>2]=$+8}n[A>>2]=da;n[Q>>2]=ea;$=f[h>>2]|0;if(($|0)==(f[N>>2]|0))Qaa(y,A);else{n[$>>2]=da;n[$+4>>2]=ea;f[h>>2]=$+8}$=T+1|0;if(P&($|0)==(d|0))break;else va=$}S=S+1|0;if(S>>>0>=k>>>0)break;else T=va}T=f[o>>2]|0;if(T|0){S=o+4|0;P=f[S>>2]|0;if((P|0)==(T|0))wa=T;else{N=P;while(1){P=N+-12|0;f[S>>2]=P;Q=f[P>>2]|0;if(!Q)xa=P;else{P=N+-8|0;C=f[P>>2]|0;if((C|0)!=(Q|0))f[P>>2]=C+(~((C+-8-Q|0)>>>3)<<3);GQa(Q);xa=f[S>>2]|0}if((xa|0)==(T|0))break;else N=xa}wa=f[o>>2]|0}GQa(wa)}}f[B>>2]=1124024333;N=B+4|0;f[N>>2]=2;T=B+8|0;S=f[h>>2]|0;Q=f[y>>2]|0;C=S-Q|0;f[T>>2]=C>>3;f[B+12>>2]=1;P=B+16|0;M=B+40|0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;f[P+16>>2]=0;f[P+20>>2]=0;f[M>>2]=T;T=B+48|0;O=B+44|0;f[O>>2]=T;f[T>>2]=0;R=B+52|0;f[R>>2]=0;z=Q;if((z|0)!=(S|0)){f[R>>2]=8;f[T>>2]=8;f[P>>2]=z;f[B+20>>2]=z;z=Q+C|0;f[B+24>>2]=z;f[B+28>>2]=z}if(uK(c)|0)ya=GJ(c,-1)|0;else ya=5;AO(B,c,ya,1.0,0.0);z=B+36|0;C=f[z>>2]|0;do if(C|0){Q=C+12|0;R=f[Q>>2]|0;f[Q>>2]=R+-1;if((R|0)!=1)break;XO(B)}while(0);f[z>>2]=0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;if((f[N>>2]|0)>0){C=f[M>>2]|0;R=0;do{f[C+(R<<2)>>2]=0;R=R+1|0}while((R|0)<(f[N>>2]|0))}N=f[O>>2]|0;if((N|0)==(T|0))break;dX(N)}while(0);B=f[y>>2]|0;if(B|0){y=f[h>>2]|0;if((y|0)!=(B|0))f[h>>2]=y+(~((y+-8-B|0)>>>3)<<3);GQa(B)}B=x+36|0;y=f[B>>2]|0;if(y|0?(h=y+12|0,y=f[h>>2]|0,f[h>>2]=y+-1,(y|0)==1):0)XO(x);f[B>>2]=0;B=x+16|0;y=x+4|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;if((f[y>>2]|0)>0){B=f[x+40>>2]|0;h=0;do{f[B+(h<<2)>>2]=0;h=h+1|0}while((h|0)<(f[y>>2]|0))}y=f[x+44>>2]|0;if((y|0)!=(x+48|0))dX(y);y=f[w>>2]|0;if(y|0){w=f[v>>2]|0;if((w|0)!=(y|0))f[v>>2]=w+(~((w+-4-y|0)>>>2)<<2);GQa(y)}}else ga=20}else ga=20;if((ga|0)==20)YJ(c);c=t+36|0;ga=f[c>>2]|0;if(ga|0?(y=ga+12|0,ga=f[y>>2]|0,f[y>>2]=ga+-1,(ga|0)==1):0)XO(t);f[c>>2]=0;c=t+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[G>>2]|0)>0){c=f[K>>2]|0;K=0;do{f[c+(K<<2)>>2]=0;K=K+1|0}while((K|0)<(f[G>>2]|0))}G=f[J>>2]|0;if((G|0)!=(H|0))dX(G);G=s+36|0;H=f[G>>2]|0;if(H|0?(J=H+12|0,H=f[J>>2]|0,f[J>>2]=H+-1,(H|0)==1):0)XO(s);f[G>>2]=0;G=s+16|0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;if((f[a>>2]|0)>0){G=f[D>>2]|0;D=0;do{f[G+(D<<2)>>2]=0;D=D+1|0}while((D|0)<(f[a>>2]|0))}a=f[F>>2]|0;if((a|0)!=(I|0))dX(a);a=r+36|0;I=f[a>>2]|0;if(I|0?(F=I+12|0,I=f[F>>2]|0,f[F>>2]=I+-1,(I|0)==1):0)XO(r);f[a>>2]=0;a=r+4|0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;if((f[a>>2]|0)>0){L=f[r+40>>2]|0;I=0;do{f[L+(I<<2)>>2]=0;I=I+1|0}while((I|0)<(f[a>>2]|0))}a=f[r+44>>2]|0;if((a|0)!=(r+48|0))dX(a);if(!(f[q+4>>2]|0)){u=m;return}u=m;return}function Oaa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=e>>2;h=g+1|0;if(h>>>0>1073741823)ZOa(a);i=a+8|0;j=(f[i>>2]|0)-d|0;k=j>>1;l=j>>2>>>0<536870911?(k>>>0>>0?h:k):1073741823;do if(l)if(l>>>0>1073741823){k=hd(8)|0;LQa(k,349912);f[k>>2]=118288;ld(k|0,20688,857)}else{k=EQa(l<<2)|0;m=k;n=k;break}else{m=0;n=0}while(0);k=m+(g<<2)|0;f[k>>2]=f[b>>2];if((e|0)>0)DVa(n|0,d|0,e|0)|0;f[a>>2]=m;f[c>>2]=k+4;f[i>>2]=m+(l<<2);if(!d)return;GQa(d);return}function Paa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=8;break a;break}case 4:{l=24;break a;break}case 5:{l=25;break a;break}case 1:case 0:{l=89;break a;break}default:{}}if((j|0)<124){l=27;break a}m=h+(((k|0)/2|0)<<2)|0;do if((j|0)>3996){o=(k|0)/4|0;p=Taa(h,h+(o<<2)|0,m,m+(o<<2)|0,e,c)|0}else{o=f[m>>2]|0;q=f[h>>2]|0;r=+n[o>>2];s=+n[q>>2];t=o;u=q;if(!(r>s))if(r>>0>q>>>0;else v=1;w=f[e>>2]|0;x=+n[w>>2];y=w;if(!(x>r))if(x>>0>o>>>0;else z=1;if(!v){if(!z){p=0;break}f[m>>2]=y;f[e>>2]=t;o=f[m>>2]|0;w=f[h>>2]|0;r=+n[o>>2];x=+n[w>>2];A=w;B=o;if(!(r>x)?o>>>0<=w>>>0|r>2]=B;f[m>>2]=A;p=2;break}if(z){f[h>>2]=y;f[e>>2]=u;p=1;break}f[h>>2]=t;f[m>>2]=u;t=f[e>>2]|0;x=+n[t>>2];y=t;if(!(x>s)?t>>>0<=q>>>0|x>2]=y;f[e>>2]=u;p=2}while(0);C=f[h>>2]|0;k=f[m>>2]|0;s=+n[C>>2];x=+n[k>>2];if(s>x){D=e;E=p;break}if(C>>>0<=k>>>0|s>2]|0;r=+n[G>>2];if(r>x){l=67;break b}if(!(G>>>0<=k>>>0|r>2]|0;x=+n[j>>2];u=j;if(!(s>x)?C>>>0<=j>>>0|s>2]|0;x=+n[I>>2];if(s>x)break;if(!(C>>>0<=I>>>0|s>2]=u;f[e>>2]=I;J=H+4|0}else J=k;if((J|0)==(e|0)){l=89;break a}else{K=e;L=J}while(1){j=f[h>>2]|0;y=f[L>>2]|0;s=+n[j>>2];x=+n[y>>2];c:do if(s>x)M=L;else{q=L;r=x;t=y;while(1){if(!(j>>>0<=t>>>0|s>2]|0;r=+n[t>>2];if(s>r){M=A;break}else q=A}}while(0);y=K;while(1){q=y;y=y+-4|0;N=f[y>>2]|0;x=+n[N>>2];if(s>x){y=y;continue}if(j>>>0<=N>>>0|s>>0>=y>>>0){h=M;continue b}j=f[M>>2]|0;f[M>>2]=N;f[y>>2]=j;K=y;L=M+4|0}}if((l|0)==67){l=0;f[h>>2]=G;f[F>>2]=C;D=F;E=p+1|0}k=h+4|0;d:do if(k>>>0>>0){u=m;j=D;q=k;t=E;while(1){A=f[u>>2]|0;s=+n[A>>2];B=q;while(1){O=f[B>>2]|0;x=+n[O>>2];if(!(x>s)?O>>>0<=A>>>0|x>2]|0;x=+n[P>>2];if(x>s)break}while(P>>>0<=A>>>0|x>>0>w>>>0){Q=u;R=t;S=B;break d}f[B>>2]=P;f[w>>2]=y;u=(u|0)==(B|0)?w:u;j=w;q=B+4|0;t=t+1|0}}else{Q=m;R=E;S=k}while(0);do if((S|0)==(Q|0))T=R;else{k=f[Q>>2]|0;t=f[S>>2]|0;s=+n[k>>2];x=+n[t>>2];q=t;j=k;if(!(s>x)?!(k>>>0>t>>>0&!(s>2]=j;f[Q>>2]=q;T=R+1|0}while(0);if(!T){U=Vaa(h,S,c)|0;q=S+4|0;if(Vaa(q,a,c)|0){l=88;break}if(U){g=q;continue}}q=S;if((q-i|0)>=(b-q|0)){l=87;break}Paa(h,S,c);g=S+4|0}if((l|0)==87){l=0;Paa(S+4|0,a,c);d=h;a=S;continue}else if((l|0)==88){l=0;if(U){l=89;break}else{d=h;a=S;continue}}}if((l|0)==5){S=f[e>>2]|0;d=f[h>>2]|0;x=+n[S>>2];s=+n[d>>2];U=d;i=S;if(!(x>s)?S>>>0<=d>>>0|x>2]=i;f[e>>2]=U;return}else if((l|0)==8){U=h+4|0;i=f[U>>2]|0;d=f[h>>2]|0;s=+n[i>>2];x=+n[d>>2];S=i;T=d;if(!(s>x))if(s>>0>d>>>0;else V=1;R=f[e>>2]|0;r=+n[R>>2];Q=R;if(!(r>s))if(r>>0>i>>>0;else W=1;if(!V){if(!W)return;f[U>>2]=Q;f[e>>2]=S;V=f[U>>2]|0;i=f[h>>2]|0;s=+n[V>>2];r=+n[i>>2];R=i;E=V;if(!(s>r)?V>>>0<=i>>>0|s>2]=E;f[U>>2]=R;return}if(W){f[h>>2]=Q;f[e>>2]=T;return}f[h>>2]=S;f[U>>2]=T;S=f[e>>2]|0;r=+n[S>>2];Q=S;if(!(r>x)?S>>>0<=d>>>0|r>2]=Q;f[e>>2]=T;return}else if((l|0)==24){Saa(h,h+4|0,h+8|0,e,c)|0;return}else if((l|0)==25){Taa(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}else if((l|0)==27){Uaa(h,a,c);return}else if((l|0)==89)return}function Qaa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e>>3;h=g+1|0;i=e;j=d;if(h>>>0>536870911)ZOa(a);d=a+8|0;k=(f[d>>2]|0)-e|0;l=k>>2;m=k>>3>>>0<268435455?(l>>>0>>0?h:l):536870911;do if(m)if(m>>>0>536870911){l=hd(8)|0;LQa(l,349912);f[l>>2]=118288;ld(l|0,20688,857)}else{n=EQa(m<<3)|0;break}else n=0;while(0);l=n+(g<<3)|0;h=n+(m<<3)|0;f[l>>2]=f[b>>2];f[n+(g<<3)+4>>2]=f[b+4>>2];b=l+8|0;if((j|0)==(i|0))o=l;else{g=j+-8-e|0;n=j;j=l;do{m=j;j=j+-8|0;k=n;n=n+-8|0;f[j>>2]=f[n>>2];f[m+-4>>2]=f[k+-4>>2]}while((n|0)!=(i|0));o=l+(~(g>>>3)<<3)|0}f[a>>2]=o;f[c>>2]=b;f[d>>2]=h;if(!e)return;GQa(e);return}function Raa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>357913941)ZOa(a);d=b*12|0;e=EQa(d)|0;f[a>>2]=e;g=e+(b*12|0)|0;f[a+8>>2]=g;FVa(e|0,0,d|0)|0;f[c>>2]=g;return}function Saa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0.0,i=0.0,j=0,k=0,l=0,m=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=f[b>>2]|0;g=f[a>>2]|0;h=+n[e>>2];i=+n[g>>2];j=e;k=g;if(!(h>i))if(h>>0>g>>>0;else l=1;m=f[c>>2]|0;o=+n[m>>2];p=m;if(!(o>h))if(o>>0>e>>>0;else q=1;do if(!l)if(q){f[b>>2]=p;f[c>>2]=j;r=f[b>>2]|0;s=f[a>>2]|0;h=+n[r>>2];o=+n[s>>2];t=s;u=r;if(!(h>o)?r>>>0<=s>>>0|h>2]=u;f[b>>2]=t;t=f[c>>2]|0;v=2;w=t;x=t}else{v=0;w=m;x=p}else{if(q){f[a>>2]=p;f[c>>2]=k;v=1;w=g;x=k;break}f[a>>2]=j;f[b>>2]=k;t=f[c>>2]|0;o=+n[t>>2];u=t;if(!(o>i)?t>>>0<=g>>>0|o>2]=u;f[c>>2]=k;v=2;w=g;x=k}while(0);k=f[d>>2]|0;i=+n[k>>2];o=+n[w>>2];g=k;if(!(i>o)?k>>>0<=w>>>0|i>2]=g;f[d>>2]=x;x=f[c>>2]|0;d=f[b>>2]|0;o=+n[x>>2];i=+n[d>>2];g=d;w=x;if(!(o>i)?x>>>0<=d>>>0|o>2]=w;f[c>>2]=g;g=f[b>>2]|0;c=f[a>>2]|0;i=+n[g>>2];o=+n[c>>2];w=c;d=g;if(!(i>o)?!(g>>>0>c>>>0&!(i>2]=d;f[b>>2]=w;y=v+3|0;return y|0}function Taa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0.0,k=0.0,l=0,m=0,o=0;h=Saa(a,b,c,d,g)|0;g=f[e>>2]|0;i=f[d>>2]|0;j=+n[g>>2];k=+n[i>>2];l=i;m=g;if(!(j>k)?g>>>0<=i>>>0|j>2]=m;f[e>>2]=l;l=f[d>>2]|0;e=f[c>>2]|0;k=+n[l>>2];j=+n[e>>2];m=e;i=l;if(!(k>j)?l>>>0<=e>>>0|k>2]=i;f[d>>2]=m;m=f[c>>2]|0;d=f[b>>2]|0;j=+n[m>>2];k=+n[d>>2];i=d;e=m;if(!(j>k)?m>>>0<=d>>>0|j>2]=e;f[c>>2]=i;i=f[b>>2]|0;c=f[a>>2]|0;k=+n[i>>2];j=+n[c>>2];e=c;d=i;if(!(k>j)?!(i>>>0>c>>>0&!(k>2]=d;f[b>>2]=e;o=h+4|0;return o|0}function Uaa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0.0,i=0.0,j=0,k=0,l=0,m=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;c=a+8|0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=+n[e>>2];i=+n[g>>2];j=e;k=g;if(!(h>i))if(h>>0>g>>>0;else l=1;m=f[c>>2]|0;o=+n[m>>2];p=m;if(!(o>h))if(o>>0>e>>>0;else q=1;do if(!l)if(q){f[d>>2]=p;f[c>>2]=j;if(!(o>i)?m>>>0<=g>>>0|o>2]=p;f[d>>2]=k;r=j;s=e}else{r=p;s=m}else{if(q){f[a>>2]=p;f[c>>2]=k;r=k;s=g;break}f[a>>2]=j;f[d>>2]=k;if(!(o>i)?m>>>0<=g>>>0|o>2]=p;f[c>>2]=k;r=k;s=g}while(0);g=a+12|0;if((g|0)==(b|0))return;else{t=g;u=c;v=s;w=r}while(1){r=f[t>>2]|0;i=+n[r>>2];o=+n[v>>2];s=r;if(!(!(i>o)?r>>>0<=v>>>0|i>2]=w;a:do if((u|0)==(a|0))x=u;else{c=u;g=u;while(1){k=g;g=c+-4|0;p=f[g>>2]|0;o=+n[p>>2];d=p;if(!(i>o)?p>>>0>=r>>>0|i>2]=d;if((g|0)==(a|0)){x=g;break}else c=g}}while(0);f[x>>2]=s}r=t+4|0;if((r|0)==(b|0))break;g=f[t>>2]|0;c=t;t=r;v=g;w=g;u=c}return}function Vaa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0.0,i=0.0,j=0,k=0,l=0,m=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;switch(b-a>>2|0){case 2:{d=b+-4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=+n[e>>2];i=+n[g>>2];j=g;k=e;if(!(h>i)?e>>>0<=g>>>0|h>2]=k;f[d>>2]=j;l=1;return l|0}case 3:{j=a+4|0;d=b+-4|0;k=f[j>>2]|0;g=f[a>>2]|0;i=+n[k>>2];h=+n[g>>2];e=k;m=g;if(!(i>h))if(i>>0>g>>>0;else o=1;p=f[d>>2]|0;q=+n[p>>2];r=p;if(!(q>i))if(q>>0>k>>>0;else s=1;if(!o){if(!s){l=1;return l|0}f[j>>2]=r;f[d>>2]=e;o=f[j>>2]|0;k=f[a>>2]|0;i=+n[o>>2];q=+n[k>>2];p=k;t=o;if(!(i>q)?o>>>0<=k>>>0|i>2]=t;f[j>>2]=p;l=1;return l|0}if(s){f[a>>2]=r;f[d>>2]=m;l=1;return l|0}f[a>>2]=e;f[j>>2]=m;e=f[d>>2]|0;q=+n[e>>2];r=e;if(!(q>h)?e>>>0<=g>>>0|q>2]=r;f[d>>2]=m;l=1;return l|0}case 4:{Saa(a,a+4|0,a+8|0,b+-4|0,c)|0;l=1;return l|0}case 5:{Taa(a,a+4|0,a+8|0,a+12|0,b+-4|0,c)|0;l=1;return l|0}case 1:case 0:{l=1;return l|0}default:{c=a+8|0;m=a+4|0;d=f[m>>2]|0;r=f[a>>2]|0;h=+n[d>>2];q=+n[r>>2];j=d;g=r;if(!(h>q))if(h>>0>r>>>0;else u=1;e=f[c>>2]|0;i=+n[e>>2];s=e;if(!(i>h))if(i>>0>d>>>0;else v=1;do if(!u)if(v){f[m>>2]=s;f[c>>2]=j;if(!(i>q)?e>>>0<=r>>>0|i>2]=s;f[m>>2]=g;w=d}else w=e;else{if(v){f[a>>2]=s;f[c>>2]=g;w=r;break}f[a>>2]=j;f[m>>2]=g;if(!(i>q)?e>>>0<=r>>>0|i>2]=s;f[c>>2]=g;w=r}while(0);r=a+12|0;a:do if((r|0)==(b|0)){x=1;y=0}else{g=r;s=0;m=c;e=w;while(1){j=f[g>>2]|0;q=+n[j>>2];i=+n[e>>2];v=j;if(!(q>i)?j>>>0<=e>>>0|q>2]=f[m>>2];b:do if((m|0)==(a|0))A=m;else{d=m;u=m;while(1){p=u;u=d+-4|0;t=f[u>>2]|0;i=+n[t>>2];k=t;if(!(q>i)?t>>>0>=j>>>0|q>2]=k;if((u|0)==(a|0)){A=u;break}else d=u}}while(0);f[A>>2]=v;j=s+1|0;if((j|0)==8){x=0;y=(g+4|0)==(b|0);break a}else z=j}j=g+4|0;if((j|0)==(b|0)){x=1;y=0;break a}u=f[g>>2]|0;d=g;g=j;s=z;e=u;m=d}}while(0);l=y|x;return l|0}}return 0}function Waa(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;g=g|0;h=h|0;i=+i;Naa(a,b,c,d,e,f,g,3,h,i);return}function Xaa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+48|0;e=d+32|0;g=d;f[a>>2]=1124007936;h=a+4|0;i=a+8|0;j=a+40|0;k=h;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[j>>2]=i;m=a+48|0;n=a+44|0;f[n>>2]=m;f[m>>2]=0;f[a+52>>2]=0;m=c+16|0;o=(f[m>>2]|0)==0;q=f[c+4>>2]|0;do if(!o){if((q|0)<3)r=X(f[c+12>>2]|0,f[c+8>>2]|0)|0;else{s=f[c+40>>2]|0;t=0;v=1;while(1){w=X(f[s+(t<<2)>>2]|0,v)|0;t=t+1|0;if((t|0)==(q|0)){r=w;break}else v=w}}if(!((q|0)==0|(r|0)==0)){if(((f[c>>2]&4095|0)==6?(f[c+8>>2]|0)==1:0)?(f[c+12>>2]|0)==65:0)break;f[e>>2]=0;f[e+4>>2]=0;k=JV(e,72)|0;v=214568;l=k+72|0;do{b[k>>0]=b[v>>0]|0;k=k+1|0;v=v+1|0}while((k|0)<(l|0));EP(-5,e,214641,214645,96);KV(e)}else x=7}else x=7;while(0);if((x|0)==7){if(!((((q|0)<3?(f[c+8>>2]|0)==1:0)?(f[c+12>>2]|0)==65:0)?!((f[c>>2]&4095|0)!=6|o):0)){f[e>>2]=1;f[e+4>>2]=65;VO(c,2,e,6)}f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;f[e>>2]=-1056833530;f[e+4>>2]=g;f[e+8>>2]=1;f[e+12>>2]=4;hM(c,e,BK()|0)|0}if((a|0)==(c|0))y=f[a+16>>2]|0;else{e=c+36|0;g=f[e>>2]|0;if(g|0){o=g+12|0;f[o>>2]=(f[o>>2]|0)+1}o=a+36|0;g=f[o>>2]|0;if(g|0?(q=g+12|0,g=f[q>>2]|0,f[q>>2]=g+-1,(g|0)==1):0)XO(a);f[o>>2]=0;g=a+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;if((f[h>>2]|0)>0){q=f[j>>2]|0;j=0;do{f[q+(j<<2)>>2]=0;j=j+1|0;z=f[h>>2]|0}while((j|0)<(z|0));f[a>>2]=f[c>>2];if((z|0)<3)x=29;else x=31}else{f[a>>2]=f[c>>2];x=29}if((x|0)==29){z=f[c+4>>2]|0;if((z|0)<3){f[h>>2]=z;f[i>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];i=f[c+44>>2]|0;z=f[n>>2]|0;f[z>>2]=f[i>>2];f[z+4>>2]=f[i+4>>2]}else x=31}if((x|0)==31)WO(a,c);x=f[m>>2]|0;f[g>>2]=x;f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[o>>2]=f[e>>2];y=x}x=a+56|0;f[x>>2]=y;f[a+60>>2]=y+40;f[a+64>>2]=y+160;if(+p[y>>3]>0.0){Yaa(a,0);A=f[x>>2]|0}else A=y;if(+p[A+8>>3]>0.0){Yaa(a,1);B=f[x>>2]|0}else B=A;if(+p[B+16>>3]>0.0){Yaa(a,2);C=f[x>>2]|0}else C=B;if(+p[C+24>>3]>0.0){Yaa(a,3);D=f[x>>2]|0}else D=C;if(!(+p[D+32>>3]>0.0)){E=a+972|0;f[E>>2]=0;u=d;return}Yaa(a,4);E=a+972|0;f[E>>2]=0;u=d;return}function Yaa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0.0,j=0,k=0.0,l=0,m=0.0,n=0,o=0.0,q=0,r=0,s=0.0,t=0,v=0.0,w=0,x=0.0,y=0,z=0,A=0;d=u;u=u+16|0;e=d;if(!(+p[(f[a+56>>2]|0)+(c<<3)>>3]>0.0)){u=d;return}g=(f[a+64>>2]|0)+(c*9<<3)|0;h=g+32|0;i=+p[h>>3];j=g+64|0;k=+p[j>>3];l=g+40|0;m=+p[l>>3];n=g+56|0;o=+p[n>>3];q=g+8|0;r=g+24|0;s=+p[r>>3];t=g+48|0;v=+p[t>>3];w=g+16|0;x=+p[w>>3]*(o*s-i*v)+(+p[g>>3]*(i*k-m*o)-+p[q>>3]*(k*s-m*v));p[a+432+(c<<3)>>3]=x;if(!(x>2.220446049250313e-16)){f[e>>2]=0;f[e+4>>2]=0;y=JV(e,45)|0;z=214704;A=y+45|0;do{b[y>>0]=b[z>>0]|0;y=y+1|0;z=z+1|0}while((y|0)<(A|0));EP(-215,e,214750,214645,217);KV(e)}p[a+72+(c*72|0)>>3]=(+p[h>>3]*+p[j>>3]-+p[l>>3]*+p[n>>3])/x;p[a+72+(c*72|0)+24>>3]=-(+p[r>>3]*+p[j>>3]-+p[l>>3]*+p[t>>3])/x;p[a+72+(c*72|0)+48>>3]=(+p[r>>3]*+p[n>>3]-+p[h>>3]*+p[t>>3])/x;p[a+72+(c*72|0)+8>>3]=-(+p[q>>3]*+p[j>>3]-+p[w>>3]*+p[n>>3])/x;p[a+72+(c*72|0)+32>>3]=(+p[g>>3]*+p[j>>3]-+p[w>>3]*+p[t>>3])/x;p[a+72+(c*72|0)+56>>3]=-(+p[g>>3]*+p[n>>3]-+p[q>>3]*+p[t>>3])/x;p[a+72+(c*72|0)+16>>3]=(+p[q>>3]*+p[l>>3]-+p[w>>3]*+p[h>>3])/x;p[a+72+(c*72|0)+40>>3]=-(+p[g>>3]*+p[l>>3]-+p[w>>3]*+p[r>>3])/x;p[a+72+(c*72|0)+64>>3]=(+p[g>>3]*+p[h>>3]-+p[q>>3]*+p[r>>3])/x;u=d;return}function Zaa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0.0,i=0,j=0.0,k=0.0,l=0,m=0,n=0,o=0.0,q=0.0;e=u;u=u+16|0;g=e;if(!(+p[(f[a+56>>2]|0)+(c<<3)>>3]>0.0)){h=0.0;u=e;return +h}i=a+432+(c<<3)|0;j=+p[i>>3];if(j>2.220446049250313e-16)k=j;else{f[g>>2]=0;f[g+4>>2]=0;l=JV(g,55)|0;m=214774;n=l+55|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-215,g,451664,214645,123);KV(g);k=+p[i>>3]}i=(f[a+60>>2]|0)+(c*3<<3)|0;j=+p[d>>3]-+p[i>>3];o=+p[d+8>>3]-+p[i+8>>3];q=+p[d+16>>3]-+p[i+16>>3];h=1.0/+L(+k)*+U(+((j*(j*+p[a+72+(c*72|0)>>3]+o*+p[a+72+(c*72|0)+24>>3]+q*+p[a+72+(c*72|0)+48>>3])+o*(j*+p[a+72+(c*72|0)+8>>3]+o*+p[a+72+(c*72|0)+32>>3]+q*+p[a+72+(c*72|0)+56>>3])+q*(j*+p[a+72+(c*72|0)+16>>3]+o*+p[a+72+(c*72|0)+40>>3]+q*+p[a+72+(c*72|0)+64>>3]))*-.5));u=e;return +h}function _aa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0.0,o=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0.0,v=0.0,w=0.0,x=0.0;b=a+56|0;c=a+972|0;d=a+60|0;e=a+64|0;g=0;do{h=f[a+952+(g<<2)>>2]|0;if(!h)p[(f[b>>2]|0)+(g<<3)>>3]=0.0;else{i=+(h|0);p[(f[b>>2]|0)+(g<<3)>>3]=i/+(f[c>>2]|0);h=(f[d>>2]|0)+(g*3<<3)|0;j=+p[a+472+(g*24|0)>>3]/i;p[h>>3]=j;k=h+8|0;p[k>>3]=+p[a+472+(g*24|0)+8>>3]/i;l=h+16|0;p[l>>3]=+p[a+472+(g*24|0)+16>>3]/i;m=(f[e>>2]|0)+(g*9<<3)|0;n=+p[a+592+(g*72|0)>>3]/i-j*j;p[m>>3]=n;j=+p[a+592+(g*72|0)+8>>3]/i-+p[h>>3]*+p[k>>3];p[m+8>>3]=j;o=+p[a+592+(g*72|0)+16>>3]/i-+p[h>>3]*+p[l>>3];p[m+16>>3]=o;q=+p[a+592+(g*72|0)+24>>3]/i-+p[k>>3]*+p[h>>3];p[m+24>>3]=q;r=+p[k>>3];s=+p[a+592+(g*72|0)+32>>3]/i-r*r;t=m+32|0;p[t>>3]=s;r=+p[a+592+(g*72|0)+40>>3]/i-+p[k>>3]*+p[l>>3];p[m+40>>3]=r;u=+p[a+592+(g*72|0)+48>>3]/i-+p[l>>3]*+p[h>>3];p[m+48>>3]=u;v=+p[a+592+(g*72|0)+56>>3]/i-+p[l>>3]*+p[k>>3];p[m+56>>3]=v;w=+p[l>>3];x=+p[a+592+(g*72|0)+64>>3]/i-w*w;l=m+64|0;p[l>>3]=x;if(o*(v*q-s*u)+(n*(x*s-r*v)-j*(x*q-r*u))<=2.220446049250313e-16){p[m>>3]=n+.01;p[t>>3]=s+.01;p[l>>3]=x+.01}Yaa(a,g)}g=g+1|0}while((g|0)!=5);return}function $aa(a,c,d,e,g,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;var k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0.0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0.0,Da=0.0,Ea=0.0,Fa=0.0,Ga=0,Ha=0.0,Ia=0.0,Ja=0.0,Ka=0.0,La=0.0,Ma=0.0,Na=0.0,Oa=0.0,Pa=0.0,Qa=0.0,Ra=0.0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0.0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0.0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0.0,Lb=0.0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0;k=u;u=u+2544|0;l=k+2072|0;m=k+2016|0;o=k+2488|0;q=k+2432|0;r=k+2376|0;s=k+2304|0;t=k+2248|0;v=k+1984|0;w=k+1968|0;x=k+2232|0;y=k+1952|0;z=k+2224|0;A=k+2168|0;B=k+976|0;C=k;D=k+2112|0;E=k+2360|0;yV(z,48484);do if((HJ(a)|0)==65536){F=f[a+4>>2]|0;f[A>>2]=f[F>>2];G=A+4|0;H=F+4|0;f[G>>2]=f[H>>2];I=A+8|0;f[I>>2]=f[F+8>>2];f[A+12>>2]=f[F+12>>2];f[A+16>>2]=f[F+16>>2];f[A+20>>2]=f[F+20>>2];f[A+24>>2]=f[F+24>>2];f[A+28>>2]=f[F+28>>2];f[A+32>>2]=f[F+32>>2];J=f[F+36>>2]|0;f[A+36>>2]=J;f[A+40>>2]=I;I=A+48|0;K=A+44|0;f[K>>2]=I;f[I>>2]=0;f[A+52>>2]=0;if(J|0){I=J+12|0;f[I>>2]=(f[I>>2]|0)+1}if((f[H>>2]|0)<3){H=f[F+44>>2]|0;I=f[K>>2]|0;f[I>>2]=f[H>>2];f[I+4>>2]=f[H+4>>2];break}else{f[G>>2]=0;WO(A,F);break}}else DJ(A,a,-1);while(0);a=ZJ(c,-1)|0;c=ZJ(e,-1)|0;e=ZJ(g,-1)|0;g=A+16|0;if(f[g>>2]|0){F=f[A+4>>2]|0;if((F|0)<3)L=X(f[A+12>>2]|0,f[A+8>>2]|0)|0;else{G=f[A+40>>2]|0;H=0;I=1;while(1){K=X(f[G+(H<<2)>>2]|0,I)|0;H=H+1|0;if((H|0)==(F|0)){L=K;break}else I=K}}if((F|0)==0|(L|0)==0)M=14}else M=14;if((M|0)==14){f[l>>2]=0;f[l+4>>2]=0;N=JV(l,14)|0;O=214830;P=N+14|0;do{b[N>>0]=b[O>>0]|0;N=N+1|0;O=O+1|0}while((N|0)<(P|0));EP(-5,l,214845,214645,541);KV(l)}if((f[A>>2]&4095|0)!=16){f[l>>2]=0;f[l+4>>2]=0;N=JV(l,28)|0;O=214853;P=N+28|0;do{b[N>>0]=b[O>>0]|0;N=N+1|0;O=O+1|0}while((N|0)<(P|0));EP(-5,l,214845,214645,543);KV(l)}Xaa(B,c);Xaa(C,e);e=A+40|0;c=f[e>>2]|0;L=f[c+4>>2]|0;F=f[c>>2]|0;f[D>>2]=1124007936;c=D+4|0;I=D+8|0;H=D+40|0;N=c;P=N+36|0;do{f[N>>2]=0;N=N+4|0}while((N|0)<(P|0));f[H>>2]=I;I=D+48|0;G=D+44|0;f[G>>2]=I;f[I>>2]=0;f[D+52>>2]=0;f[l>>2]=F;F=l+4|0;f[F>>2]=L;VO(D,2,l,4);if(j>>>0<2){if(!j){L=f[e>>2]|0;K=f[L+4>>2]|0;J=f[L>>2]|0;f[E>>2]=f[d>>2];L=E+4|0;f[L>>2]=f[d+4>>2];Q=E+8|0;f[Q>>2]=f[d+8>>2];R=E+12|0;f[R>>2]=f[d+12>>2];if(!(((((f[a+4>>2]|0)<3?(f[a+8>>2]|0)==(J|0):0)?(f[a+12>>2]|0)==(K|0):0)?(f[a>>2]&4095|0)==0:0)?(f[a+16>>2]|0)!=0:0)){f[l>>2]=J;f[F>>2]=K;VO(a,2,l,0)}p[m>>3]=0.0;f[l>>2]=-1056833530;f[l+4>>2]=m;f[l+8>>2]=1;f[l+12>>2]=1;hM(a,l,BK()|0)|0;d=f[E>>2]|0;S=(d|0)>0?d:0;f[E>>2]=S;d=f[L>>2]|0;T=(d|0)>0?d:0;f[L>>2]=T;L=K-S|0;S=f[Q>>2]|0;f[Q>>2]=(L|0)<(S|0)?L:S;S=J-T|0;T=f[R>>2]|0;f[R>>2]=(S|0)<(T|0)?S:T;$O(o,a,E);p[m>>3]=3.0;E=m+8|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;f[E+16>>2]=0;f[E+20>>2]=0;f[l>>2]=-1056833530;f[l+4>>2]=m;f[l+8>>2]=1;f[l+12>>2]=4;hM(o,l,BK()|0)|0;E=o+36|0;T=f[E>>2]|0;if(T|0?(S=T+12|0,T=f[S>>2]|0,f[S>>2]=T+-1,(T|0)==1):0)XO(o);f[E>>2]=0;E=o+16|0;T=o+4|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;if((f[T>>2]|0)>0){E=f[o+40>>2]|0;S=0;do{f[E+(S<<2)>>2]=0;S=S+1|0}while((S|0)<(f[T>>2]|0))}T=f[o+44>>2]|0;if((T|0)!=(o+48|0))dX(T)}else aba(A,a);f[m>>2]=1124007936;T=m+4|0;S=m+8|0;E=m+40|0;N=T;P=N+36|0;do{f[N>>2]=0;N=N+4|0}while((N|0)<(P|0));f[E>>2]=S;S=m+48|0;R=m+44|0;f[R>>2]=S;f[S>>2]=0;f[m+52>>2]=0;f[o>>2]=1124007936;J=o+4|0;L=o+8|0;Q=o+40|0;N=J;P=N+36|0;do{f[N>>2]=0;N=N+4|0}while((N|0)<(P|0));f[Q>>2]=L;L=o+48|0;K=o+44|0;f[K>>2]=L;f[L>>2]=0;f[o+52>>2]=0;f[q>>2]=0;d=q+4|0;f[d>>2]=0;f[q+8>>2]=0;f[r>>2]=0;W=r+4|0;f[W>>2]=0;f[r+8>>2]=0;Y=A+8|0;Z=f[Y>>2]|0;if((Z|0)>0){_=A+12|0;$=a+16|0;aa=a+44|0;ba=A+44|0;ca=l+4|0;da=l+8|0;ea=r+8|0;fa=l+4|0;ga=l+8|0;ha=q+8|0;ia=Z;Z=f[_>>2]|0;ja=0;while(1){if((Z|0)>0){ka=0;do{la=(f[$>>2]|0)+(X(f[f[aa>>2]>>2]|0,ja)|0)+ka|0;switch(b[la>>0]|0){case 2:case 0:{la=(f[g>>2]|0)+(X(f[f[ba>>2]>>2]|0,ja)|0)|0;ma=+(h[la+(ka*3|0)>>0]|0);n[l>>2]=ma;n[fa>>2]=+(h[la+(ka*3|0)+1>>0]|0);n[ga>>2]=+(h[la+(ka*3|0)+2>>0]|0);la=f[d>>2]|0;if((la|0)==(f[ha>>2]|0))bba(q,l);else{n[la>>2]=ma;f[la+4>>2]=f[fa>>2];f[la+8>>2]=f[ga>>2];f[d>>2]=la+12}break}default:{la=(f[g>>2]|0)+(X(f[f[ba>>2]>>2]|0,ja)|0)|0;ma=+(h[la+(ka*3|0)>>0]|0);n[l>>2]=ma;n[ca>>2]=+(h[la+(ka*3|0)+1>>0]|0);n[da>>2]=+(h[la+(ka*3|0)+2>>0]|0);la=f[W>>2]|0;if((la|0)==(f[ea>>2]|0))bba(r,l);else{n[la>>2]=ma;f[la+4>>2]=f[ca>>2];f[la+8>>2]=f[da>>2];f[W>>2]=la+12}}}ka=ka+1|0;na=f[_>>2]|0}while((ka|0)<(na|0));oa=na;pa=f[Y>>2]|0}else{oa=Z;pa=ia}ja=ja+1|0;if((ja|0)>=(pa|0))break;else{ia=pa;Z=oa}}oa=f[q>>2]|0;Z=f[d>>2]|0;pa=Z;ia=oa;if((oa|0)!=(Z|0)?(f[r>>2]|0)!=(f[W>>2]|0):0){qa=d;ra=q;sa=ia;ta=pa}else M=53}else M=53;if((M|0)==53){f[l>>2]=0;f[l+4>>2]=0;N=JV(l,42)|0;O=214882;P=N+42|0;do{b[N>>0]=b[O>>0]|0;N=N+1|0;O=O+1|0}while((N|0)<(P|0));EP(-215,l,214925,214645,380);KV(l);qa=d;ra=q;sa=f[q>>2]|0;ta=f[d>>2]|0}pa=ta-sa|0;ta=sa;f[s>>2]=1124007941;ia=s+4|0;f[ia>>2]=2;Z=s+8|0;f[Z>>2]=(pa|0)/12|0;oa=s+12|0;f[oa>>2]=3;ja=s+16|0;f[ja>>2]=ta;Y=s+20|0;f[Y>>2]=ta;na=s+24|0;_=s+28|0;da=s+40|0;f[na>>2]=0;f[na+4>>2]=0;f[na+8>>2]=0;f[na+12>>2]=0;f[da>>2]=Z;ca=s+48|0;ea=s+44|0;f[ea>>2]=ca;f[s+52>>2]=0;f[ca>>2]=0;if((sa|0)==0&(pa|0)!=0){f[l>>2]=0;f[l+4>>2]=0;N=JV(l,26)|0;O=346743;P=N+26|0;do{b[N>>0]=b[O>>0]|0;N=N+1|0;O=O+1|0}while((N|0)<(P|0));EP(-215,l,346770,346774,500);KV(l);ua=f[oa>>2]|0;va=f[s>>2]|0;wa=f[ea>>2]|0;xa=f[Y>>2]|0}else{ua=3;va=1124007941;wa=ca;xa=ta}ta=ua<<2;f[s>>2]=va|16384;f[wa>>2]=ta;f[wa+4>>2]=4;wa=xa+(X(f[Z>>2]|0,ta)|0)|0;f[_>>2]=wa;f[na>>2]=wa+(0-ta)+ta;f[t+8>>2]=0;f[t+12>>2]=0;f[t>>2]=16842752;f[t+4>>2]=s;ta=v+8|0;f[ta>>2]=0;f[ta+4>>2]=0;f[v>>2]=50397184;f[v+4>>2]=m;f[w>>2]=1;f[w+4>>2]=10;p[w+8>>3]=0.0;ta=BK()|0;f[l>>2]=f[w>>2];f[l+4>>2]=f[w+4>>2];f[l+8>>2]=f[w+8>>2];f[l+12>>2]=f[w+12>>2];+wW(t,5,v,l,0,2,ta);ta=f[r>>2]|0;w=(f[W>>2]|0)-ta|0;wa=ta;f[t>>2]=1124007941;na=t+4|0;f[na>>2]=2;_=t+8|0;f[_>>2]=(w|0)/12|0;Z=t+12|0;f[Z>>2]=3;xa=t+16|0;f[xa>>2]=wa;va=t+20|0;f[va>>2]=wa;ua=t+24|0;Y=t+28|0;oa=t+40|0;f[ua>>2]=0;f[ua+4>>2]=0;f[ua+8>>2]=0;f[ua+12>>2]=0;f[oa>>2]=_;pa=t+48|0;sa=t+44|0;f[sa>>2]=pa;f[t+52>>2]=0;f[pa>>2]=0;if((ta|0)==0&(w|0)!=0){f[l>>2]=0;f[l+4>>2]=0;N=JV(l,26)|0;O=346743;P=N+26|0;do{b[N>>0]=b[O>>0]|0;N=N+1|0;O=O+1|0}while((N|0)<(P|0));EP(-215,l,346770,346774,500);KV(l);ya=f[Z>>2]|0;za=f[t>>2]|0;Aa=f[sa>>2]|0;Ba=f[va>>2]|0}else{ya=3;za=1124007941;Aa=pa;Ba=wa}wa=ya<<2;f[t>>2]=za|16384;f[Aa>>2]=wa;f[Aa+4>>2]=4;Aa=Ba+(X(f[_>>2]|0,wa)|0)|0;f[Y>>2]=Aa;f[ua>>2]=Aa+(0-wa)+wa;f[v+8>>2]=0;f[v+12>>2]=0;f[v>>2]=16842752;f[v+4>>2]=t;wa=x+8|0;f[wa>>2]=0;f[wa+4>>2]=0;f[x>>2]=50397184;f[x+4>>2]=o;f[y>>2]=1;f[y+4>>2]=10;p[y+8>>3]=0.0;wa=BK()|0;f[l>>2]=f[y>>2];f[l+4>>2]=f[y+4>>2];f[l+8>>2]=f[y+8>>2];f[l+12>>2]=f[y+12>>2];+wW(v,5,x,l,0,2,wa);FVa(B+472|0,0,504)|0;wa=f[ra>>2]|0;ra=(f[qa>>2]|0)-wa|0;qa=wa;if((ra|0)>0){wa=f[m+16>>2]|0;x=f[R>>2]|0;y=B+972|0;Aa=(ra>>>0)/12|0;ra=0;do{ua=wa+(X(f[x>>2]|0,ra)|0)|0;Y=f[ua>>2]|0;ma=+n[qa+(ra*12|0)>>2];Ca=+n[qa+(ra*12|0)+4>>2];Da=+n[qa+(ra*12|0)+8>>2];ua=B+472+(Y*24|0)|0;p[ua>>3]=+p[ua>>3]+ma;ua=B+472+(Y*24|0)+8|0;p[ua>>3]=+p[ua>>3]+Ca;ua=B+472+(Y*24|0)+16|0;p[ua>>3]=+p[ua>>3]+Da;ua=B+592+(Y*72|0)|0;p[ua>>3]=ma*ma+ +p[ua>>3];Ea=ma*Ca;ua=B+592+(Y*72|0)+8|0;p[ua>>3]=Ea+ +p[ua>>3];Fa=ma*Da;ua=B+592+(Y*72|0)+16|0;p[ua>>3]=Fa+ +p[ua>>3];ua=B+592+(Y*72|0)+24|0;p[ua>>3]=Ea+ +p[ua>>3];ua=B+592+(Y*72|0)+32|0;p[ua>>3]=Ca*Ca+ +p[ua>>3];Ea=Ca*Da;ua=B+592+(Y*72|0)+40|0;p[ua>>3]=Ea+ +p[ua>>3];ua=B+592+(Y*72|0)+48|0;p[ua>>3]=Fa+ +p[ua>>3];ua=B+592+(Y*72|0)+56|0;p[ua>>3]=Ea+ +p[ua>>3];ua=B+592+(Y*72|0)+64|0;p[ua>>3]=Da*Da+ +p[ua>>3];ua=B+952+(Y<<2)|0;f[ua>>2]=(f[ua>>2]|0)+1;f[y>>2]=(f[y>>2]|0)+1;ra=ra+1|0}while((ra|0)<(Aa|0))}_aa(B);FVa(C+472|0,0,504)|0;Aa=f[r>>2]|0;ra=(f[W>>2]|0)-Aa|0;y=Aa;if((ra|0)>0){Aa=f[o+16>>2]|0;qa=f[K>>2]|0;x=C+972|0;wa=(ra>>>0)/12|0;ra=0;do{ua=Aa+(X(f[qa>>2]|0,ra)|0)|0;Y=f[ua>>2]|0;Da=+n[y+(ra*12|0)>>2];Ea=+n[y+(ra*12|0)+4>>2];Fa=+n[y+(ra*12|0)+8>>2];ua=C+472+(Y*24|0)|0;p[ua>>3]=+p[ua>>3]+Da;ua=C+472+(Y*24|0)+8|0;p[ua>>3]=+p[ua>>3]+Ea;ua=C+472+(Y*24|0)+16|0;p[ua>>3]=+p[ua>>3]+Fa;ua=C+592+(Y*72|0)|0;p[ua>>3]=Da*Da+ +p[ua>>3];Ca=Da*Ea;ua=C+592+(Y*72|0)+8|0;p[ua>>3]=Ca+ +p[ua>>3];ma=Da*Fa;ua=C+592+(Y*72|0)+16|0;p[ua>>3]=ma+ +p[ua>>3];ua=C+592+(Y*72|0)+24|0;p[ua>>3]=Ca+ +p[ua>>3];ua=C+592+(Y*72|0)+32|0;p[ua>>3]=Ea*Ea+ +p[ua>>3];Ca=Ea*Fa;ua=C+592+(Y*72|0)+40|0;p[ua>>3]=Ca+ +p[ua>>3];ua=C+592+(Y*72|0)+48|0;p[ua>>3]=ma+ +p[ua>>3];ua=C+592+(Y*72|0)+56|0;p[ua>>3]=Ca+ +p[ua>>3];ua=C+592+(Y*72|0)+64|0;p[ua>>3]=Fa*Fa+ +p[ua>>3];ua=C+952+(Y<<2)|0;f[ua>>2]=(f[ua>>2]|0)+1;f[x>>2]=(f[x>>2]|0)+1;ra=ra+1|0}while((ra|0)<(wa|0))}_aa(C);wa=t+36|0;ra=f[wa>>2]|0;if(ra|0?(x=ra+12|0,ra=f[x>>2]|0,f[x>>2]=ra+-1,(ra|0)==1):0)XO(t);f[wa>>2]=0;f[xa>>2]=0;f[xa+4>>2]=0;f[xa+8>>2]=0;f[xa+12>>2]=0;if((f[na>>2]|0)>0){xa=f[oa>>2]|0;oa=0;do{f[xa+(oa<<2)>>2]=0;oa=oa+1|0}while((oa|0)<(f[na>>2]|0))}na=f[sa>>2]|0;if((na|0)!=(pa|0))dX(na);na=s+36|0;pa=f[na>>2]|0;if(pa|0?(sa=pa+12|0,pa=f[sa>>2]|0,f[sa>>2]=pa+-1,(pa|0)==1):0)XO(s);f[na>>2]=0;f[ja>>2]=0;f[ja+4>>2]=0;f[ja+8>>2]=0;f[ja+12>>2]=0;if((f[ia>>2]|0)>0){ja=f[da>>2]|0;da=0;do{f[ja+(da<<2)>>2]=0;da=da+1|0}while((da|0)<(f[ia>>2]|0))}ia=f[ea>>2]|0;if((ia|0)!=(ca|0))dX(ia);ia=f[r>>2]|0;if(ia|0){ca=f[W>>2]|0;if((ca|0)!=(ia|0))f[W>>2]=ca+(~(((ca+-12-ia|0)>>>0)/12|0)*12|0);GQa(ia)}ia=f[q>>2]|0;if(ia|0){ca=f[d>>2]|0;if((ca|0)!=(ia|0))f[d>>2]=ca+(~(((ca+-12-ia|0)>>>0)/12|0)*12|0);GQa(ia)}ia=o+36|0;ca=f[ia>>2]|0;do if(ca|0){d=ca+12|0;W=f[d>>2]|0;f[d>>2]=W+-1;if((W|0)!=1)break;XO(o)}while(0);f[ia>>2]=0;ia=o+16|0;f[ia>>2]=0;f[ia+4>>2]=0;f[ia+8>>2]=0;f[ia+12>>2]=0;if((f[J>>2]|0)>0){ia=f[Q>>2]|0;Q=0;do{f[ia+(Q<<2)>>2]=0;Q=Q+1|0}while((Q|0)<(f[J>>2]|0))}J=f[K>>2]|0;if((J|0)!=(L|0))dX(J);J=m+36|0;L=f[J>>2]|0;do if(L|0){K=L+12|0;Q=f[K>>2]|0;f[K>>2]=Q+-1;if((Q|0)!=1)break;XO(m)}while(0);f[J>>2]=0;J=m+16|0;f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[J+12>>2]=0;if((f[T>>2]|0)>0){J=f[E>>2]|0;E=0;do{f[J+(E<<2)>>2]=0;E=E+1|0}while((E|0)<(f[T>>2]|0))}T=f[R>>2]|0;if((T|0)!=(S|0))dX(T)}if((i|0)>=1){if((j|0)==2)aba(A,a);j=A+8|0;T=f[j>>2]|0;S=A+12|0;R=f[S>>2]|0;if((T|0)>0){E=(R|0)>0;J=f[g>>2]|0;L=f[A+44>>2]|0;Q=R+-1|0;K=0;Fa=0.0;while(1){a:do if(E){ia=f[L>>2]|0;ca=J+(X(ia,K)|0)|0;W=J+(X(ia,K+-1|0)|0)|0;if((K|0)>0){Ga=0;Ha=Fa}else{ia=0;Ca=Fa;while(1){if((ia|0)>0){d=ia+-1|0;ma=+(h[ca+(ia*3|0)>>0]|0)-+(h[ca+(d*3|0)>>0]|0);Ea=+(h[ca+(ia*3|0)+1>>0]|0)-+(h[ca+(d*3|0)+1>>0]|0);Da=+(h[ca+(ia*3|0)+2>>0]|0)-+(h[ca+(d*3|0)+2>>0]|0);Ia=Ca+(ma*ma+0.0+Ea*Ea+Da*Da)}else Ia=Ca;ia=ia+1|0;if((ia|0)==(R|0)){Ja=Ia;break a}else Ca=Ia}}while(1){Ca=+(h[ca+(Ga*3|0)>>0]|0);Da=+(h[ca+(Ga*3|0)+1>>0]|0);Ea=+(h[ca+(Ga*3|0)+2>>0]|0);if((Ga|0)>0){ia=Ga+-1|0;ma=Ca-+(h[ca+(ia*3|0)>>0]|0);Ka=Da-+(h[ca+(ia*3|0)+1>>0]|0);La=Ea-+(h[ca+(ia*3|0)+2>>0]|0);Ma=Ca-+(h[W+(ia*3|0)>>0]|0);Na=Da-+(h[W+(ia*3|0)+1>>0]|0);Oa=Ea-+(h[W+(ia*3|0)+2>>0]|0);Pa=Ha+(ma*ma+0.0+Ka*Ka+La*La)+(Ma*Ma+0.0+Na*Na+Oa*Oa)}else Pa=Ha;Oa=Ca-+(h[W+(Ga*3|0)>>0]|0);Na=Da-+(h[W+(Ga*3|0)+1>>0]|0);Ma=Ea-+(h[W+(Ga*3|0)+2>>0]|0);La=Pa+(Oa*Oa+0.0+Na*Na+Ma*Ma);ia=Ga;Ga=Ga+1|0;if((ia|0)<(Q|0)){Ma=Ca-+(h[W+(Ga*3|0)>>0]|0);Ca=Da-+(h[W+(Ga*3|0)+1>>0]|0);Da=Ea-+(h[W+(Ga*3|0)+2>>0]|0);Qa=La+(Ma*Ma+0.0+Ca*Ca+Da*Da)}else Qa=La;if((Ga|0)==(R|0)){Ja=Qa;break}else Ha=Qa}}else Ja=Fa;while(0);K=K+1|0;if((K|0)==(T|0))break;else Fa=Ja}if(!(Ja<=2.220446049250313e-16))Ra=1.0/(Ja*2.0/+((X(T,-3)|0)+2+(X(R,(T<<2)+-3|0)|0)|0));else Ra=0.0}else Ra=0.0;f[q>>2]=1124007936;K=q+4|0;Ga=q+8|0;Q=q+40|0;N=K;P=N+36|0;do{f[N>>2]=0;N=N+4|0}while((N|0)<(P|0));f[Q>>2]=Ga;Ga=q+48|0;J=q+44|0;f[J>>2]=Ga;f[Ga>>2]=0;f[q+52>>2]=0;f[r>>2]=1124007936;L=r+4|0;E=r+8|0;W=r+40|0;N=L;P=N+36|0;do{f[N>>2]=0;N=N+4|0}while((N|0)<(P|0));f[W>>2]=E;ca=r+48|0;ia=r+44|0;f[ia>>2]=ca;f[ca>>2]=0;f[r+52>>2]=0;f[s>>2]=1124007936;d=s+4|0;ea=s+8|0;da=s+40|0;N=d;P=N+36|0;do{f[N>>2]=0;N=N+4|0}while((N|0)<(P|0));f[da>>2]=ea;ja=s+48|0;na=s+44|0;f[na>>2]=ja;f[ja>>2]=0;f[s+52>>2]=0;f[t>>2]=1124007936;pa=t+4|0;sa=t+8|0;oa=t+40|0;N=pa;P=N+36|0;do{f[N>>2]=0;N=N+4|0}while((N|0)<(P|0));f[oa>>2]=sa;xa=t+48|0;wa=t+44|0;f[wa>>2]=xa;f[xa>>2]=0;f[t+52>>2]=0;f[l>>2]=T;f[F>>2]=R;VO(q,2,l,6);R=f[j>>2]|0;T=f[S>>2]|0;ra=f[E>>2]|0;if((((f[L>>2]|0)<3&(ra|0)==(R|0)?(f[r+12>>2]|0)==(T|0):0)?(f[r>>2]&4095|0)==6:0)?(f[r+16>>2]|0)!=0:0){Sa=R;Ta=ra;Ua=T}else{f[l>>2]=R;f[F>>2]=T;VO(r,2,l,6);T=f[j>>2]|0;Sa=T;Ta=T;Ua=f[S>>2]|0}if(((((f[d>>2]|0)<3?(f[ea>>2]|0)==(Ta|0):0)?(f[s+12>>2]|0)==(Ua|0):0)?(f[s>>2]&4095|0)==6:0)?(f[s+16>>2]|0)!=0:0){Va=Sa;Wa=Ta;Xa=Ua}else{f[l>>2]=Ta;f[F>>2]=Ua;VO(s,2,l,6);Ua=f[j>>2]|0;Va=Ua;Wa=Ua;Xa=f[S>>2]|0}if(((((f[pa>>2]|0)<3?(f[sa>>2]|0)==(Wa|0):0)?(f[t+12>>2]|0)==(Xa|0):0)?(f[t>>2]&4095|0)==6:0)?(f[t+16>>2]|0)!=0:0){Ya=Va;Za=Wa}else{f[l>>2]=Wa;f[F>>2]=Xa;VO(t,2,l,6);Xa=f[j>>2]|0;Ya=Xa;Za=Xa}if((Za|0)>0){Xa=A+44|0;F=q+16|0;Wa=r+16|0;Va=s+16|0;sa=t+16|0;Ua=f[S>>2]|0;Ta=(Ua|0)>0;Sa=0;do{if(Ta){ea=(Sa|0)>0;T=f[g>>2]|0;R=f[f[Xa>>2]>>2]|0;ra=T+(X(R,Sa)|0)|0;E=T+(X(R,Sa+-1|0)|0)|0;R=0;while(1){Ja=+(h[ra+(R*3|0)>>0]|0);Fa=+(h[ra+(R*3|0)+1>>0]|0);Qa=+(h[ra+(R*3|0)+2>>0]|0);T=R+-1|0;do if((R|0)>0){Ha=Ja-+(h[ra+(T*3|0)>>0]|0);Pa=Fa-+(h[ra+(T*3|0)+1>>0]|0);Ia=Qa-+(h[ra+(T*3|0)+2>>0]|0);La=+U(+-(Ra*(Ha*Ha+0.0+Pa*Pa+Ia*Ia)))*50.0;x=(f[F>>2]|0)+(X(f[f[J>>2]>>2]|0,Sa)|0)+(R<<3)|0;p[x>>3]=La;if(ea){La=Ja-+(h[E+(T*3|0)>>0]|0);Ia=Fa-+(h[E+(T*3|0)+1>>0]|0);Pa=Qa-+(h[E+(T*3|0)+2>>0]|0);Ha=+U(+-(Ra*(La*La+0.0+Ia*Ia+Pa*Pa)))*35.35533966440824;x=(f[Wa>>2]|0)+(X(f[f[ia>>2]>>2]|0,Sa)|0)+(R<<3)|0;p[x>>3]=Ha;M=152;break}else{x=(f[Wa>>2]|0)+(X(f[f[ia>>2]>>2]|0,Sa)|0)+(R<<3)|0;p[x>>3]=0.0;M=151;break}}else{x=(f[F>>2]|0)+(X(f[f[J>>2]>>2]|0,Sa)|0)+(R<<3)|0;p[x>>3]=0.0;x=(f[Wa>>2]|0)+(X(f[f[ia>>2]>>2]|0,Sa)|0)+(R<<3)|0;p[x>>3]=0.0;if(ea)M=152;else M=151}while(0);if((M|0)==151){M=0;T=(f[Va>>2]|0)+(X(f[f[na>>2]>>2]|0,Sa)|0)+(R<<3)|0;p[T>>3]=0.0;_a=R+1|0;$a=0.0}else if((M|0)==152){M=0;Ha=Ja-+(h[E+(R*3|0)>>0]|0);Pa=Fa-+(h[E+(R*3|0)+1>>0]|0);Ia=Qa-+(h[E+(R*3|0)+2>>0]|0);La=+U(+-(Ra*(Ha*Ha+0.0+Pa*Pa+Ia*Ia)))*50.0;T=(f[Va>>2]|0)+(X(f[f[na>>2]>>2]|0,Sa)|0)+(R<<3)|0;p[T>>3]=La;T=R+1|0;if((T|0)<(Ua|0)){La=Ja-+(h[E+(T*3|0)>>0]|0);Ia=Fa-+(h[E+(T*3|0)+1>>0]|0);Pa=Qa-+(h[E+(T*3|0)+2>>0]|0);_a=T;$a=+U(+-(Ra*(La*La+0.0+Ia*Ia+Pa*Pa)))*35.35533966440824}else{_a=T;$a=0.0}}T=(f[sa>>2]|0)+(X(f[f[wa>>2]>>2]|0,Sa)|0)+(R<<3)|0;p[T>>3]=$a;if((_a|0)<(Ua|0))R=_a;else break}}Sa=Sa+1|0}while((Sa|0)!=(Za|0))}b:do if((i|0)>0){Za=A+44|0;Sa=a+16|0;_a=a+44|0;Ua=l+8|0;sa=l+16|0;Va=D+16|0;Wa=l+8|0;F=l+16|0;Xa=B+472|0;Ta=C+472|0;R=v+12|0;E=v+24|0;ea=v+4|0;ra=v+8|0;T=B+56|0;x=l+8|0;y=l+16|0;qa=C+56|0;Aa=l+8|0;ua=l+16|0;Y=q+16|0;_=r+16|0;Ba=s+16|0;za=t+16|0;ya=a+8|0;va=a+12|0;Z=l+4|0;w=v+12|0;ta=v+16|0;ba=0;ga=Ya;while(1){f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;f[v+16>>2]=0;f[v+20>>2]=0;f[v+24>>2]=0;f[v+28>>2]=0;if((ga|0)>0){fa=f[S>>2]|0;ha=ga;aa=0;while(1){if((fa|0)>0){$=0;do{ka=(f[g>>2]|0)+(X(f[f[Za>>2]>>2]|0,aa)|0)|0;$a=+(h[ka+($*3|0)>>0]|0);Ra=+(h[ka+($*3|0)+1>>0]|0);Pa=+(h[ka+($*3|0)+2>>0]|0);ka=(f[Sa>>2]|0)+(X(f[f[_a>>2]>>2]|0,aa)|0)+$|0;switch(b[ka>>0]|0){case 2:case 0:{p[l>>3]=$a;p[Wa>>3]=Ra;p[F>>3]=Pa;Ia=+Zaa(B,0,l);La=Ia>0.0?Ia:0.0;p[l>>3]=$a;p[Wa>>3]=Ra;p[F>>3]=Pa;Ia=+Zaa(B,1,l);ka=Ia>La;Ha=ka?Ia:La;p[l>>3]=$a;p[Wa>>3]=Ra;p[F>>3]=Pa;La=+Zaa(B,2,l);la=La>Ha;Ia=la?La:Ha;p[l>>3]=$a;p[Wa>>3]=Ra;p[F>>3]=Pa;Ha=+Zaa(B,3,l);ab=Ha>Ia;p[l>>3]=$a;p[Wa>>3]=Ra;p[F>>3]=Pa;La=+Zaa(B,4,l);bb=La>(ab?Ha:Ia)?4:ab?3:la?2:ka&1;break}default:{p[l>>3]=$a;p[Ua>>3]=Ra;p[sa>>3]=Pa;Ia=+Zaa(C,0,l);Ha=Ia>0.0?Ia:0.0;p[l>>3]=$a;p[Ua>>3]=Ra;p[sa>>3]=Pa;Ia=+Zaa(C,1,l);ka=Ia>Ha;La=ka?Ia:Ha;p[l>>3]=$a;p[Ua>>3]=Ra;p[sa>>3]=Pa;Ha=+Zaa(C,2,l);la=Ha>La;Ia=la?Ha:La;p[l>>3]=$a;p[Ua>>3]=Ra;p[sa>>3]=Pa;La=+Zaa(C,3,l);ab=La>Ia;p[l>>3]=$a;p[Ua>>3]=Ra;p[sa>>3]=Pa;Pa=+Zaa(C,4,l);bb=Pa>(ab?La:Ia)?4:ab?3:la?2:ka&1}}ka=(f[Va>>2]|0)+(X(f[f[G>>2]>>2]|0,aa)|0)+($<<2)|0;f[ka>>2]=bb;$=$+1|0;cb=f[S>>2]|0}while(($|0)<(cb|0));db=f[j>>2]|0;eb=cb}else{db=ha;eb=fa}aa=aa+1|0;if((aa|0)>=(db|0)){fb=db;break}else{fa=eb;ha=db}}}else fb=ga;FVa(Xa|0,0,504)|0;FVa(Ta|0,0,504)|0;ha=0;fa=fb;while(1){if((fa|0)>0){aa=C+472+(ha*24|0)|0;$=C+472+(ha*24|0)+8|0;ka=C+472+(ha*24|0)+16|0;la=C+592+(ha*72|0)|0;ab=C+592+(ha*72|0)+8|0;gb=C+592+(ha*72|0)+16|0;hb=C+592+(ha*72|0)+24|0;ib=C+592+(ha*72|0)+32|0;jb=C+592+(ha*72|0)+40|0;kb=C+592+(ha*72|0)+48|0;lb=C+592+(ha*72|0)+56|0;mb=B+472+(ha*24|0)|0;nb=B+472+(ha*24|0)+8|0;ob=B+472+(ha*24|0)+16|0;pb=B+592+(ha*72|0)|0;qb=B+592+(ha*72|0)+8|0;rb=B+592+(ha*72|0)+16|0;sb=B+592+(ha*72|0)+24|0;tb=B+592+(ha*72|0)+32|0;ub=B+592+(ha*72|0)+40|0;vb=B+592+(ha*72|0)+48|0;wb=B+592+(ha*72|0)+56|0;xb=f[S>>2]|0;yb=(xb|0)>0;zb=fa;Ab=0;while(1){if(yb){Bb=f[Va>>2]|0;Cb=f[G>>2]|0;Db=0;while(1){Eb=Bb+(X(f[Cb>>2]|0,Ab)|0)+(Db<<2)|0;if((f[Eb>>2]|0)==(ha|0)){Eb=(f[Sa>>2]|0)+(X(f[f[_a>>2]>>2]|0,Ab)|0)+Db|0;switch(b[Eb>>0]|0){case 2:case 0:{Eb=(f[g>>2]|0)+(X(f[f[Za>>2]>>2]|0,Ab)|0)|0;Qa=+(h[Eb+(Db*3|0)>>0]|0);Fa=+(h[Eb+(Db*3|0)+1>>0]|0);Ja=+(h[Eb+(Db*3|0)+2>>0]|0);p[mb>>3]=+p[mb>>3]+Qa;p[nb>>3]=+p[nb>>3]+Fa;p[ob>>3]=+p[ob>>3]+Ja;p[pb>>3]=Qa*Qa+ +p[pb>>3];Ia=Qa*Fa;p[qb>>3]=Ia+ +p[qb>>3];La=Qa*Ja;p[rb>>3]=La+ +p[rb>>3];p[sb>>3]=Ia+ +p[sb>>3];p[tb>>3]=Fa*Fa+ +p[tb>>3];Ia=Fa*Ja;p[ub>>3]=Ia+ +p[ub>>3];p[vb>>3]=La+ +p[vb>>3];p[wb>>3]=Ia+ +p[wb>>3];Fb=Ja*Ja;Gb=B;break}default:{Eb=(f[g>>2]|0)+(X(f[f[Za>>2]>>2]|0,Ab)|0)|0;Ja=+(h[Eb+(Db*3|0)>>0]|0);Ia=+(h[Eb+(Db*3|0)+1>>0]|0);La=+(h[Eb+(Db*3|0)+2>>0]|0);p[aa>>3]=+p[aa>>3]+Ja;p[$>>3]=+p[$>>3]+Ia;p[ka>>3]=+p[ka>>3]+La;p[la>>3]=Ja*Ja+ +p[la>>3];Fa=Ja*Ia;p[ab>>3]=Fa+ +p[ab>>3];Qa=Ja*La;p[gb>>3]=Qa+ +p[gb>>3];p[hb>>3]=Fa+ +p[hb>>3];p[ib>>3]=Ia*Ia+ +p[ib>>3];Fa=Ia*La;p[jb>>3]=Fa+ +p[jb>>3];p[kb>>3]=Qa+ +p[kb>>3];p[lb>>3]=Fa+ +p[lb>>3];Fb=La*La;Gb=C}}Eb=Gb+592+(ha*72|0)+64|0;p[Eb>>3]=Fb+ +p[Eb>>3];Eb=Gb+952+(ha<<2)|0;f[Eb>>2]=(f[Eb>>2]|0)+1;Eb=Gb+972|0;f[Eb>>2]=(f[Eb>>2]|0)+1}Db=Db+1|0;if((Db|0)>=(xb|0)){Hb=fb;break}}}else Hb=zb;Ab=Ab+1|0;if((Ab|0)>=(Hb|0)){Ib=Hb;break}else zb=Hb}}else Ib=fa;ha=ha+1|0;if((ha|0)==5)break;else fa=Ib}_aa(B);_aa(C);fa=f[S>>2]|0;ha=f[j>>2]|0;cba(v,X(ha,fa)|0);dba(R,((X(ha+fa|0,-3)|0)+(X(fa<<2,ha)|0)<<1)+6|0);p[E>>3]=0.0;ha=f[j>>2]|0;if((ha|0)>0){fa=f[S>>2]|0;zb=ha;ha=0;while(1){if((fa|0)>0){Ab=(ha|0)>0;xb=0;do{N=l;P=N+40|0;do{f[N>>2]=0;N=N+4|0}while((N|0)<(P|0));lb=f[ea>>2]|0;if((lb|0)==(f[ra>>2]|0)){eba(v,l);Jb=f[ea>>2]|0}else{N=lb;O=l;P=N+40|0;do{f[N>>2]=f[O>>2];N=N+4|0;O=O+4|0}while((N|0)<(P|0));kb=lb+40|0;f[ea>>2]=kb;Jb=kb}kb=(Jb-(f[v>>2]|0)|0)/40|0;jb=kb+-1|0;ib=(f[g>>2]|0)+(X(f[f[Za>>2]>>2]|0,ha)|0)|0;hb=(f[Sa>>2]|0)+(X(f[f[_a>>2]>>2]|0,ha)|0)+xb|0;gb=b[hb>>0]|0;if((gb&-2)<<24>>24==2){La=+(h[ib+(xb*3|0)>>0]|0);Fa=+(h[ib+(xb*3|0)+1>>0]|0);Qa=+(h[ib+(xb*3|0)+2>>0]|0);Ia=+p[f[T>>2]>>3];p[l>>3]=La;p[x>>3]=Fa;p[y>>3]=Qa;Ja=+Zaa(B,0,l);Pa=+p[(f[T>>2]|0)+8>>3];p[l>>3]=La;p[x>>3]=Fa;p[y>>3]=Qa;Ra=+Zaa(B,1,l);$a=+p[(f[T>>2]|0)+16>>3];p[l>>3]=La;p[x>>3]=Fa;p[y>>3]=Qa;Ha=+Zaa(B,2,l);Da=+p[(f[T>>2]|0)+24>>3];p[l>>3]=La;p[x>>3]=Fa;p[y>>3]=Qa;Ca=+Zaa(B,3,l);Ma=+p[(f[T>>2]|0)+32>>3];p[l>>3]=La;p[x>>3]=Fa;p[y>>3]=Qa;Ea=-+V(+(Ia*Ja+0.0+Pa*Ra+$a*Ha+Da*Ca+Ma*+Zaa(B,4,l)));Ma=+p[f[qa>>2]>>3];p[l>>3]=La;p[Aa>>3]=Fa;p[ua>>3]=Qa;Ca=+Zaa(C,0,l);Da=+p[(f[qa>>2]|0)+8>>3];p[l>>3]=La;p[Aa>>3]=Fa;p[ua>>3]=Qa;Ha=+Zaa(C,1,l);$a=+p[(f[qa>>2]|0)+16>>3];p[l>>3]=La;p[Aa>>3]=Fa;p[ua>>3]=Qa;Ra=+Zaa(C,2,l);Pa=+p[(f[qa>>2]|0)+24>>3];p[l>>3]=La;p[Aa>>3]=Fa;p[ua>>3]=Qa;Ja=+Zaa(C,3,l);Ia=+p[(f[qa>>2]|0)+32>>3];p[l>>3]=La;p[Aa>>3]=Fa;p[ua>>3]=Qa;Kb=Ea;Lb=-+V(+(Ma*Ca+0.0+Da*Ha+$a*Ra+Pa*Ja+Ia*+Zaa(C,4,l)))}else{ib=gb<<24>>24==0;Kb=ib?0.0:450.0;Lb=ib?450.0:0.0}fba(v,jb,Kb,Lb);do if((xb|0)<=0){if(Ab)M=198}else{ib=(f[Y>>2]|0)+(X(f[f[J>>2]>>2]|0,ha)|0)+(xb<<3)|0;Ia=+p[ib>>3];ib=kb+-2|0;gba(v,jb,ib,Ia,Ia);if(!Ab)break;gb=(f[_>>2]|0)+(X(f[f[ia>>2]>>2]|0,ha)|0)+(xb<<3)|0;Ia=+p[gb>>3];gba(v,jb,ib-(f[S>>2]|0)|0,Ia,Ia);M=198}while(0);do if((M|0)==198){M=0;lb=(f[Ba>>2]|0)+(X(f[f[na>>2]>>2]|0,ha)|0)+(xb<<3)|0;Ia=+p[lb>>3];gba(v,jb,jb-(f[S>>2]|0)|0,Ia,Ia);lb=f[S>>2]|0;if((xb|0)>=(lb+-1|0))break;ib=(f[za>>2]|0)+(X(f[f[wa>>2]>>2]|0,ha)|0)+(xb<<3)|0;Ia=+p[ib>>3];gba(v,jb,kb-lb|0,Ia,Ia)}while(0);xb=xb+1|0;Mb=f[S>>2]|0}while((xb|0)<(Mb|0));Nb=f[j>>2]|0;Ob=Mb}else{Nb=zb;Ob=fa}ha=ha+1|0;if((ha|0)>=(Nb|0))break;else{fa=Ob;zb=Nb}}}+hba(v);zb=f[ya>>2]|0;if((zb|0)>0){fa=f[va>>2]|0;ha=zb;zb=0;while(1){if((fa|0)>0){xb=fa;Ab=0;while(1){kb=f[Sa>>2]|0;jb=f[f[_a>>2]>>2]|0;lb=kb+(X(jb,zb)|0)+Ab|0;if((b[lb>>0]&-2)<<24>>24==2){lb=(X(xb,zb)|0)+Ab|0;do if((lb|0)>-1){ib=f[v>>2]|0;if((((f[ea>>2]|0)-ib|0)/40|0|0)<=(lb|0)){M=210;break}Pb=ib;Qb=jb;Rb=kb}else M=210;while(0);if((M|0)==210){M=0;f[l>>2]=0;f[Z>>2]=0;N=JV(l,26)|0;O=214934;P=N+26|0;do{b[N>>0]=b[O>>0]|0;N=N+1|0;O=O+1|0}while((N|0)<(P|0));EP(-215,l,214961,214977,381);KV(l);Pb=f[v>>2]|0;Qb=f[f[_a>>2]>>2]|0;Rb=f[Sa>>2]|0}kb=(b[Pb+(lb*40|0)+32>>0]|0)==0;jb=kb?m:o;f[jb>>2]=Ab;f[jb+4>>2]=zb;jb=Rb+(X(Qb,zb)|0)+Ab|0;b[jb>>0]=kb?3:2;Sb=f[va>>2]|0}else Sb=xb;Ab=Ab+1|0;if((Ab|0)>=(Sb|0))break;else xb=Sb}Tb=f[ya>>2]|0;Ub=Sb}else{Tb=ha;Ub=fa}zb=zb+1|0;if((zb|0)>=(Tb|0))break;else{fa=Ub;ha=Tb}}}ha=f[w>>2]|0;if(ha|0){fa=f[ta>>2]|0;if((fa|0)!=(ha|0))f[ta>>2]=fa+(~((fa+-16-ha|0)>>>4)<<4);GQa(ha)}ha=f[v>>2]|0;if(ha|0){fa=f[ea>>2]|0;if((fa|0)!=(ha|0))f[ea>>2]=fa+(~(((fa+-40-ha|0)>>>0)/40|0)*40|0);GQa(ha)}ha=ba+1|0;if((ha|0)>=(i|0))break b;ba=ha;ga=f[j>>2]|0}}while(0);j=t+36|0;i=f[j>>2]|0;if(i|0?(v=i+12|0,i=f[v>>2]|0,f[v>>2]=i+-1,(i|0)==1):0)XO(t);f[j>>2]=0;j=t+16|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;if((f[pa>>2]|0)>0){j=f[oa>>2]|0;oa=0;do{f[j+(oa<<2)>>2]=0;oa=oa+1|0}while((oa|0)<(f[pa>>2]|0))}pa=f[wa>>2]|0;if((pa|0)!=(xa|0))dX(pa);pa=s+36|0;xa=f[pa>>2]|0;if(xa|0?(wa=xa+12|0,xa=f[wa>>2]|0,f[wa>>2]=xa+-1,(xa|0)==1):0)XO(s);f[pa>>2]=0;pa=s+16|0;f[pa>>2]=0;f[pa+4>>2]=0;f[pa+8>>2]=0;f[pa+12>>2]=0;if((f[d>>2]|0)>0){pa=f[da>>2]|0;da=0;do{f[pa+(da<<2)>>2]=0;da=da+1|0}while((da|0)<(f[d>>2]|0))}d=f[na>>2]|0;if((d|0)!=(ja|0))dX(d);d=r+36|0;ja=f[d>>2]|0;do if(ja|0){na=ja+12|0;da=f[na>>2]|0;f[na>>2]=da+-1;if((da|0)!=1)break;XO(r)}while(0);f[d>>2]=0;d=r+16|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[L>>2]|0)>0){d=f[W>>2]|0;W=0;do{f[d+(W<<2)>>2]=0;W=W+1|0}while((W|0)<(f[L>>2]|0))}L=f[ia>>2]|0;if((L|0)!=(ca|0))dX(L);L=q+36|0;ca=f[L>>2]|0;do if(ca|0){ia=ca+12|0;W=f[ia>>2]|0;f[ia>>2]=W+-1;if((W|0)!=1)break;XO(q)}while(0);f[L>>2]=0;L=q+16|0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;if((f[K>>2]|0)>0){L=f[Q>>2]|0;Q=0;do{f[L+(Q<<2)>>2]=0;Q=Q+1|0}while((Q|0)<(f[K>>2]|0))}K=f[J>>2]|0;if((K|0)!=(Ga|0))dX(K)}K=D+36|0;Ga=f[K>>2]|0;if(Ga|0?(J=Ga+12|0,Ga=f[J>>2]|0,f[J>>2]=Ga+-1,(Ga|0)==1):0)XO(D);f[K>>2]=0;K=D+16|0;f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0;f[K+12>>2]=0;if((f[c>>2]|0)>0){K=f[H>>2]|0;H=0;do{f[K+(H<<2)>>2]=0;H=H+1|0}while((H|0)<(f[c>>2]|0))}c=f[G>>2]|0;if((c|0)!=(I|0))dX(c);c=C+36|0;I=f[c>>2]|0;if(I|0?(G=I+12|0,I=f[G>>2]|0,f[G>>2]=I+-1,(I|0)==1):0)XO(C);f[c>>2]=0;c=C+16|0;I=C+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[I>>2]|0)>0){c=f[C+40>>2]|0;G=0;do{f[c+(G<<2)>>2]=0;G=G+1|0}while((G|0)<(f[I>>2]|0))}I=f[C+44>>2]|0;if((I|0)!=(C+48|0))dX(I);I=B+36|0;C=f[I>>2]|0;if(C|0?(G=C+12|0,C=f[G>>2]|0,f[G>>2]=C+-1,(C|0)==1):0)XO(B);f[I>>2]=0;I=B+16|0;C=B+4|0;f[I>>2]=0;f[I+4>>2]=0;f[I+8>>2]=0;f[I+12>>2]=0;if((f[C>>2]|0)>0){I=f[B+40>>2]|0;G=0;do{f[I+(G<<2)>>2]=0;G=G+1|0}while((G|0)<(f[C>>2]|0))}C=f[B+44>>2]|0;if((C|0)!=(B+48|0))dX(C);C=A+36|0;B=f[C>>2]|0;if(B|0?(G=B+12|0,B=f[G>>2]|0,f[G>>2]=B+-1,(B|0)==1):0)XO(A);f[C>>2]=0;C=A+4|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;if((f[C>>2]|0)>0){g=f[e>>2]|0;e=0;do{f[g+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(f[C>>2]|0))}C=f[A+44>>2]|0;if((C|0)!=(A+48|0))dX(C);if(!(f[z+4>>2]|0)){u=k;return}u=k;return}function aba(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;d=u;u=u+16|0;e=d;g=c+16|0;if(f[g>>2]|0){i=f[c+4>>2]|0;if((i|0)<3)j=X(f[c+12>>2]|0,f[c+8>>2]|0)|0;else{k=f[c+40>>2]|0;l=0;m=1;while(1){n=X(f[k+(l<<2)>>2]|0,m)|0;l=l+1|0;if((l|0)==(i|0)){j=n;break}else m=n}}if((i|0)==0|(j|0)==0)o=7}else o=7;if((o|0)==7){f[e>>2]=0;f[e+4>>2]=0;p=JV(e,13)|0;q=215132;r=p+13|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));EP(-5,e,215146,214645,326);KV(e)}if(f[c>>2]&4095|0){f[e>>2]=0;f[e+4>>2]=0;p=JV(e,27)|0;q=215156;r=p+27|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));EP(-5,e,215146,214645,328);KV(e)}o=c+12|0;if((f[o>>2]|0)==(f[a+12>>2]|0)?(j=c+8|0,i=f[j>>2]|0,(i|0)==(f[a+8>>2]|0)):0){s=j;t=i}else{f[e>>2]=0;f[e+4>>2]=0;p=JV(e,43)|0;q=215184;r=p+43|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));EP(-5,e,215146,214645,330);KV(e);i=c+8|0;s=i;t=f[i>>2]|0}if((t|0)<=0){u=d;return}t=c+44|0;c=e+4|0;i=0;j=f[o>>2]|0;while(1){if((j|0)>0){a=0;m=j;while(1){l=(f[g>>2]|0)+(X(f[f[t>>2]>>2]|0,i)|0)+a|0;if((h[l>>0]|0)<4)v=m;else{f[e>>2]=0;f[c>>2]=0;p=JV(e,75)|0;q=215228;r=p+75|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));EP(-5,e,215146,214645,338);KV(e);v=f[o>>2]|0}a=a+1|0;if((a|0)>=(v|0)){w=v;break}else m=v}}else w=j;i=i+1|0;if((i|0)>=(f[s>>2]|0))break;else j=w}u=d;return}function bba(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=(d-e|0)/12|0;h=g+1|0;i=e;j=d;if(h>>>0>357913941)ZOa(a);d=a+8|0;k=((f[d>>2]|0)-e|0)/12|0;l=k<<1;m=k>>>0<178956970?(l>>>0>>0?h:l):357913941;do if(m)if(m>>>0>357913941){l=hd(8)|0;LQa(l,349912);f[l>>2]=118288;ld(l|0,20688,857)}else{n=EQa(m*12|0)|0;break}else n=0;while(0);l=n+(g*12|0)|0;h=n+(m*12|0)|0;f[l>>2]=f[b>>2];f[n+(g*12|0)+4>>2]=f[b+4>>2];f[n+(g*12|0)+8>>2]=f[b+8>>2];b=l+12|0;if((j|0)==(i|0))o=l;else{g=j;j=l;while(1){l=j+-12|0;n=g;g=g+-12|0;f[l>>2]=f[g>>2];f[j+-8>>2]=f[n+-8>>2];f[j+-4>>2]=f[n+-4>>2];if((g|0)==(i|0)){o=l;break}else j=l}}f[a>>2]=o;f[c>>2]=b;f[d>>2]=h;if(!e)return;GQa(e);return}function cba(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=a+8|0;d=f[a>>2]|0;if((((f[c>>2]|0)-d|0)/40|0)>>>0>=b>>>0)return;e=a+4|0;if(b>>>0>107374182){g=hd(8)|0;LQa(g,349912);f[g>>2]=118288;ld(g|0,20688,857)}g=(f[e>>2]|0)-d|0;h=EQa(b*40|0)|0;i=h+(((g|0)/40|0)*40|0)|0;j=i+(((g|0)/-40|0)*40|0)|0;if((g|0)>0)DVa(j|0,d|0,g|0)|0;f[a>>2]=j;f[e>>2]=i;f[c>>2]=h+(b*40|0);if(!d)return;GQa(d);return}function dba(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=a+8|0;d=f[a>>2]|0;if((f[c>>2]|0)-d>>4>>>0>=b>>>0)return;e=a+4|0;if(b>>>0>268435455){g=hd(8)|0;LQa(g,349912);f[g>>2]=118288;ld(g|0,20688,857)}g=(f[e>>2]|0)-d|0;h=EQa(b<<4)|0;if((g|0)>0)DVa(h|0,d|0,g|0)|0;f[a>>2]=h;f[e>>2]=h+(g>>4<<4);f[c>>2]=h+(b<<4);if(!d)return;GQa(d);return}function eba(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=(e|0)/40|0;h=g+1|0;if(h>>>0>107374182)ZOa(a);i=a+8|0;j=((f[i>>2]|0)-d|0)/40|0;k=j<<1;l=j>>>0<53687091?(k>>>0>>0?h:k):107374182;do if(l)if(l>>>0>107374182){k=hd(8)|0;LQa(k,349912);f[k>>2]=118288;ld(k|0,20688,857)}else{m=EQa(l*40|0)|0;break}else m=0;while(0);k=m+(g*40|0)|0;g=m+(l*40|0)|0;l=k;m=b;b=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(b|0));m=k+(((e|0)/-40|0)*40|0)|0;if((e|0)>0)DVa(m|0,d|0,e|0)|0;f[a>>2]=m;f[c>>2]=k+40;f[i>>2]=g;if(!d)return;GQa(d);return}function fba(a,c,d,e){a=a|0;c=c|0;d=+d;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0;g=u;u=u+16|0;h=g;if((c|0)>-1?(i=f[a>>2]|0,(((f[a+4>>2]|0)-i|0)/40|0|0)>(c|0)):0)j=i;else{f[h>>2]=0;f[h+4>>2]=0;i=JV(h,26)|0;k=214934;l=i+26|0;do{b[i>>0]=b[k>>0]|0;i=i+1|0;k=k+1|0}while((i|0)<(l|0));EP(-215,h,215117,214977,141);KV(h);j=f[a>>2]|0}m=+p[j+(c*40|0)+24>>3];h=m>0.0;n=h?e:e-m;e=h?m+d:d;h=a+24|0;p[h>>3]=+p[h>>3]+(e>3]=e-n;u=g;return}function gba(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=+e;g=+g;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0;h=u;u=u+32|0;i=h+16|0;j=h;if(!((c|0)>-1?(((f[a+4>>2]|0)-(f[a>>2]|0)|0)/40|0|0)>(c|0):0)){f[i>>2]=0;f[i+4>>2]=0;k=JV(i,26)|0;l=214934;m=k+26|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-215,i,215058,214977,116);KV(i)}if(!((d|0)>-1?(((f[a+4>>2]|0)-(f[a>>2]|0)|0)/40|0|0)>(d|0):0)){f[i>>2]=0;f[i+4>>2]=0;k=JV(i,26)|0;l=215067;m=k+26|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-215,i,215058,214977,117);KV(i)}if(!(e>=0.0&g>=0.0)){f[i>>2]=0;f[i+4>>2]=0;k=JV(i,15)|0;l=215094;m=k+15|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-215,i,215058,214977,118);KV(i)}if((c|0)==(d|0)){f[i>>2]=0;f[i+4>>2]=0;l=JV(i,6)|0;b[l>>0]=b[215110]|0;b[l+1>>0]=b[215111]|0;b[l+2>>0]=b[215112]|0;b[l+3>>0]=b[215113]|0;b[l+4>>0]=b[215114]|0;b[l+5>>0]=b[215115]|0;EP(-215,i,215058,214977,119);KV(i)}l=a+12|0;k=a+16|0;m=f[k>>2]|0;n=f[l>>2]|0;if((m|0)==(n|0)){jba(l,2);o=f[k>>2]|0;q=f[l>>2]|0}else{o=m;q=n}f[i>>2]=d;n=(f[a>>2]|0)+(c*40|0)+8|0;f[i+4>>2]=f[n>>2];p[i+8>>3]=e;f[n>>2]=o-q>>4;q=a+20|0;if((f[q>>2]|0)==(o|0)){kba(l,i);n=f[k>>2]|0;r=n;s=n}else{n=o;f[n>>2]=f[i>>2];f[n+4>>2]=f[i+4>>2];f[n+8>>2]=f[i+8>>2];f[n+12>>2]=f[i+12>>2];i=(f[k>>2]|0)+16|0;f[k>>2]=i;r=i;s=i}f[j>>2]=c;c=(f[a>>2]|0)+(d*40|0)+8|0;f[j+4>>2]=f[c>>2];p[j+8>>3]=g;f[c>>2]=r-(f[l>>2]|0)>>4;if((s|0)==(f[q>>2]|0)){kba(l,j);u=h;return}else{f[s>>2]=f[j>>2];f[s+4>>2]=f[j+4>>2];f[s+8>>2]=f[j+8>>2];f[s+12>>2]=f[j+12>>2];f[k>>2]=(f[k>>2]|0)+16;u=h;return}}function hba(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0.0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0.0,ba=0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0,ha=0.0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0;c=u;u=u+80|0;d=c;e=c+56|0;g=c+52|0;h=c+48|0;i=c+40|0;f[d>>2]=d;j=f[a>>2]|0;k=f[a+12>>2]|0;f[e>>2]=0;l=e+4|0;f[l>>2]=0;f[e+8>>2]=0;m=(f[a+4>>2]|0)-j|0;if((m|0)>0){n=(m>>>0)/40|0;m=d;o=0;while(1){q=j+(o*40|0)|0;f[j+(o*40|0)+12>>2]=0;r=+p[j+(o*40|0)+24>>3];if(r!=0.0){f[m>>2]=q;f[j+(o*40|0)+16>>2]=1;b[j+(o*40|0)+32>>0]=r<0.0&1;s=q;t=-1}else{s=m;t=0}f[j+(o*40|0)+4>>2]=t;o=o+1|0;if((o|0)>=(n|0))break;else m=s}v=s;w=f[d>>2]|0}else{v=d;w=d}f[v>>2]=d;f[d>>2]=0;s=i+4|0;m=i+4|0;n=i+4|0;o=a+24|0;a=e+8|0;a:do if((w|0)==(d|0))x=0;else{t=w;q=0;y=v;z=0;while(1){A=-1;B=t;C=y;while(1){f[g>>2]=B;if(!(f[B+4>>2]|0)){D=A;E=C;F=B}else{G=b[B+32>>0]|0;H=f[B+8>>2]|0;b:do if(!H){I=A;J=C}else{L=G&255;M=H;N=C;while(1){O=M^L;do if(!(+p[k+(O<<4)+8>>3]==0.0)){P=f[k+(M<<4)>>2]|0;Q=j+(P*40|0)|0;f[h>>2]=Q;R=j+(P*40|0)+4|0;S=j+(P*40|0)+32|0;if(!(f[R>>2]|0)){b[S>>0]=G;f[j+(P*40|0)+4>>2]=M^1;T=f[g>>2]|0;f[j+(P*40|0)+12>>2]=f[T+12>>2];f[j+(P*40|0)+16>>2]=(f[T+16>>2]|0)+1;if(f[Q>>2]|0){U=N;break}f[Q>>2]=d;Q=f[h>>2]|0;f[N>>2]=Q;U=Q;break}if((b[S>>0]|0)!=G<<24>>24){I=O;J=N;break b}S=f[g>>2]|0;Q=(f[S+16>>2]|0)+1|0;if((f[j+(P*40|0)+16>>2]|0)>(Q|0)?(T=f[S+12>>2]|0,(f[j+(P*40|0)+12>>2]|0)<=(T|0)):0){f[R>>2]=M^1;f[j+(P*40|0)+12>>2]=T;f[j+(P*40|0)+16>>2]=Q;U=N}else U=N}else U=N;while(0);M=f[k+(M<<4)+4>>2]|0;if(!M){I=A;J=U;break}else N=U}}while(0);if((I|0)>0){V=B;W=I;X=J;break}D=I;E=J;F=f[g>>2]|0}B=f[B>>2]|0;f[F>>2]=0;if((B|0)==(d|0)){Y=24;break}else{A=D;C=E}}if((Y|0)==24){Y=0;if((D|0)<1){x=z;break a}else{V=d;W=D;X=E}}C=k+(W<<4)+8|0;r=+p[C>>3];if(!(r>0.0)){f[i>>2]=0;f[s>>2]=0;Z=JV(i,13)|0;_=215036;$=Z+13|0;do{b[Z>>0]=b[_>>0]|0;Z=Z+1|0;_=_+1|0}while((Z|0)<($|0));EP(-215,i,215050,214977,244);KV(i)}A=W^1;B=k+(A<<4)|0;G=f[B>>2]|0;f[g>>2]=j+(G*40|0);H=f[j+(G*40|0)+4>>2]|0;if((H|0)<0){aa=r;ba=G}else{ca=r;G=H;while(1){da=+p[k+((G^1)<<4)+8>>3];ea=ca>da?da:ca;if(!(ea>0.0)){f[i>>2]=0;f[n>>2]=0;Z=JV(i,13)|0;_=215036;$=Z+13|0;do{b[Z>>0]=b[_>>0]|0;Z=Z+1|0;_=_+1|0}while((Z|0)<($|0));EP(-215,i,215050,214977,254);KV(i)}H=f[k+(G<<4)>>2]|0;f[g>>2]=j+(H*40|0);G=f[j+(H*40|0)+4>>2]|0;if((G|0)<0){aa=ea;ba=H;break}else ca=ea}}ca=+K(+(+p[j+(ba*40|0)+24>>3]));r=aa>ca?ca:aa;if(!(r>0.0)){f[i>>2]=0;f[m>>2]=0;Z=JV(i,13)|0;_=215036;$=Z+13|0;do{b[Z>>0]=b[_>>0]|0;Z=Z+1|0;_=_+1|0}while((Z|0)<($|0));EP(-215,i,215050,214977,258);KV(i)}G=k+(W<<4)|0;H=f[G>>2]|0;f[g>>2]=j+(H*40|0);N=f[j+(H*40|0)+4>>2]|0;if((N|0)<0){fa=r;ga=H}else{ca=r;H=N;while(1){da=+p[k+(H<<4)+8>>3];ha=ca>da?da:ca;if(!(ha>0.0)){f[i>>2]=0;f[n>>2]=0;Z=JV(i,13)|0;_=215036;$=Z+13|0;do{b[Z>>0]=b[_>>0]|0;Z=Z+1|0;_=_+1|0}while((Z|0)<($|0));EP(-215,i,215050,214977,254);KV(i)}N=f[k+(H<<4)>>2]|0;f[g>>2]=j+(N*40|0);H=f[j+(N*40|0)+4>>2]|0;if((H|0)<0){fa=ha;ga=N;break}else ca=ha}}ca=+K(+(+p[j+(ga*40|0)+24>>3]));r=fa>ca?ca:fa;if(!(r>0.0)){f[i>>2]=0;f[m>>2]=0;Z=JV(i,13)|0;_=215036;$=Z+13|0;do{b[Z>>0]=b[_>>0]|0;Z=Z+1|0;_=_+1|0}while((Z|0)<($|0));EP(-215,i,215050,214977,258);KV(i)}p[C>>3]=+p[C>>3]-r;H=k+(A<<4)+8|0;p[H>>3]=r+ +p[H>>3];p[o>>3]=r+ +p[o>>3];H=f[B>>2]|0;N=j+(H*40|0)|0;f[g>>2]=N;M=f[j+(H*40|0)+4>>2]|0;L=N;if((M|0)<0){ia=H;ja=L}else{H=M;M=L;while(1){L=k+(H<<4)+8|0;p[L>>3]=r+ +p[L>>3];L=k+((H^1)<<4)+8|0;ca=+p[L>>3]-r;p[L>>3]=ca;if(ca==0.0){L=f[l>>2]|0;if((L|0)==(f[a>>2]|0))iba(e,g);else{f[L>>2]=M;f[l>>2]=(f[l>>2]|0)+4}f[(f[g>>2]|0)+4>>2]=-2}L=f[k+(H<<4)>>2]|0;N=j+(L*40|0)|0;f[g>>2]=N;H=f[j+(L*40|0)+4>>2]|0;O=N;if((H|0)<0){ia=L;ja=O;break}else M=O}}M=j+(ia*40|0)+24|0;ca=+p[M>>3]-r;p[M>>3]=ca;if(ca==0.0){M=f[l>>2]|0;if((M|0)==(f[a>>2]|0))iba(e,g);else{f[M>>2]=ja;f[l>>2]=(f[l>>2]|0)+4}f[(f[g>>2]|0)+4>>2]=-2}M=f[G>>2]|0;H=j+(M*40|0)|0;f[g>>2]=H;B=f[j+(M*40|0)+4>>2]|0;A=H;if((B|0)<0){ka=M;la=A}else{M=B;B=A;while(1){A=k+((M^1)<<4)+8|0;p[A>>3]=r+ +p[A>>3];A=k+(M<<4)+8|0;ca=+p[A>>3]-r;p[A>>3]=ca;if(ca==0.0){A=f[l>>2]|0;if((A|0)==(f[a>>2]|0))iba(e,g);else{f[A>>2]=B;f[l>>2]=(f[l>>2]|0)+4}f[(f[g>>2]|0)+4>>2]=-2}A=f[k+(M<<4)>>2]|0;H=j+(A*40|0)|0;f[g>>2]=H;M=f[j+(A*40|0)+4>>2]|0;C=H;if((M|0)<0){ka=A;la=C;break}else B=C}}B=j+(ka*40|0)+24|0;ca=r+ +p[B>>3];p[B>>3]=ca;if(ca==0.0){B=f[l>>2]|0;if((B|0)==(f[a>>2]|0))iba(e,g);else{f[B>>2]=la;f[l>>2]=(f[l>>2]|0)+4}f[(f[g>>2]|0)+4>>2]=-2}q=q+1|0;B=f[e>>2]|0;M=f[l>>2]|0;c:do if((B|0)==(M|0)){ma=X;na=B}else{G=X;C=B;A=M;while(1){H=A;while(1){H=H+-4|0;oa=f[H>>2]|0;f[l>>2]=H;pa=b[oa+32>>0]|0;qa=oa+8|0;O=f[qa>>2]|0;if(!O){Y=51;break}L=(pa^1)&255;N=2147483647;Q=O;O=0;while(1){d:do if(+p[k+((Q^L)<<4)+8>>3]==0.0){ra=N;sa=O}else{P=f[k+(Q<<4)>>2]|0;T=j+(P*40|0)|0;f[h>>2]=T;if((b[j+(P*40|0)+32>>0]|0)!=pa<<24>>24){ra=N;sa=O;break}if(!(f[j+(P*40|0)+4>>2]|0)){ra=N;sa=O;break}R=j+(P*40|0)+12|0;e:do if((f[R>>2]|0)==(q|0)){ta=0;ua=P;Y=57}else{S=0;va=T;wa=R;while(1){xa=f[va+4>>2]|0;ya=S+1|0;if((xa|0)<0)break;za=f[k+(xa<<4)>>2]|0;Aa=j+(za*40|0)|0;f[h>>2]=Aa;Ba=j+(za*40|0)+12|0;if((f[Ba>>2]|0)==(q|0)){ta=ya;ua=za;Y=57;break e}else{S=ya;va=Aa;wa=Ba}}if((xa|0)==-2){ra=N;sa=O;break d}f[wa>>2]=q;f[va+16>>2]=1;Ca=ya}while(0);if((Y|0)==57){Y=0;Ca=(f[j+(ua*40|0)+16>>2]|0)+ta|0}R=Ca+1|0;if((R|0)==2147483647){ra=N;sa=O;break}S=(R|0)<(N|0);Ba=S?Q:O;Aa=S?R:N;f[h>>2]=T;S=j+(P*40|0)+12|0;if((f[S>>2]|0)==(q|0)){ra=Aa;sa=Ba;break}else{Da=R;Ea=S;Fa=T}do{f[Ea>>2]=q;Da=Da+-1|0;f[Fa+16>>2]=Da;S=f[k+(f[Fa+4>>2]<<4)>>2]|0;Fa=j+(S*40|0)|0;Ea=j+(S*40|0)+12|0}while((f[Ea>>2]|0)!=(q|0));f[h>>2]=Fa;ra=Aa;sa=Ba}while(0);Q=f[k+(Q<<4)+4>>2]|0;if(!Q)break;else{N=ra;O=sa}}f[oa+4>>2]=sa;O=oa+12|0;if((sa|0)<=0){Ga=O;break}f[O>>2]=q;f[oa+16>>2]=ra;if((C|0)==(H|0)){ma=G;na=C;break c}}if((Y|0)==51){Y=0;f[oa+4>>2]=0;Ga=oa+12|0}f[Ga>>2]=0;O=f[qa>>2]|0;if(!O){Ha=G;Ia=H}else{N=(pa^1)&255;Q=O;O=G;while(1){L=f[k+(Q<<4)>>2]|0;T=j+(L*40|0)|0;f[h>>2]=T;P=f[j+(L*40|0)+4>>2]|0;do if(P|0?(b[j+(L*40|0)+32>>0]|0)==pa<<24>>24:0){do if(+p[k+((Q^N)<<4)+8>>3]!=0.0){if(f[T>>2]|0){Ja=O;break}f[T>>2]=d;S=f[h>>2]|0;f[O>>2]=S;Ja=S}else Ja=O;while(0);if((P|0)<=0){Ka=Ja;break}if((j+((f[k+(P<<4)>>2]|0)*40|0)|0)!=(oa|0)){Ka=Ja;break}S=f[l>>2]|0;if((S|0)==(f[a>>2]|0))iba(e,h);else{f[S>>2]=f[h>>2];f[l>>2]=(f[l>>2]|0)+4}f[(f[h>>2]|0)+4>>2]=-2;Ka=Ja}else Ka=O;while(0);Q=f[k+(Q<<4)+4>>2]|0;if(!Q)break;else O=Ka}Ha=Ka;Ia=f[l>>2]|0}C=f[e>>2]|0;if((C|0)==(Ia|0)){ma=Ha;na=Ia;break}else{G=Ha;A=Ia}}}while(0);if((V|0)==(d|0)){x=na;break}else{t=V;y=ma;z=na}}}while(0);fa=+p[o>>3];if(!x){u=c;return +fa}o=f[l>>2]|0;if((o|0)!=(x|0))f[l>>2]=o+(~((o+-4-x|0)>>>2)<<2);GQa(x);u=c;return +fa}function iba(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=e>>2;h=g+1|0;if(h>>>0>1073741823)ZOa(a);i=a+8|0;j=(f[i>>2]|0)-d|0;k=j>>1;l=j>>2>>>0<536870911?(k>>>0>>0?h:k):1073741823;do if(l)if(l>>>0>1073741823){k=hd(8)|0;LQa(k,349912);f[k>>2]=118288;ld(k|0,20688,857)}else{k=EQa(l<<2)|0;m=k;n=k;break}else{m=0;n=0}while(0);k=m+(g<<2)|0;f[k>>2]=f[b>>2];if((e|0)>0)DVa(n|0,d|0,e|0)|0;f[a>>2]=m;f[c>>2]=k+4;f[i>>2]=m+(l<<2);if(!d)return;GQa(d);return}function jba(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>4>>>0>=b>>>0){h=b;i=g;do{f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;i=(f[e>>2]|0)+16|0;f[e>>2]=i;h=h+-1|0}while((h|0)!=0);return}h=f[a>>2]|0;i=g-h>>4;g=i+b|0;if(g>>>0>268435455)ZOa(a);j=d-h|0;h=j>>3;d=j>>4>>>0<134217727?(h>>>0>>0?g:h):268435455;do if(d)if(d>>>0>268435455){h=hd(8)|0;LQa(h,349912);f[h>>2]=118288;ld(h|0,20688,857)}else{k=EQa(d<<4)|0;break}else k=0;while(0);h=k+(i<<4)|0;i=k+(d<<4)|0;d=b;b=h;k=h;do{f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;b=k+16|0;k=b;d=d+-1|0}while((d|0)!=0);d=f[a>>2]|0;b=(f[e>>2]|0)-d|0;g=h+(0-(b>>4)<<4)|0;if((b|0)>0)DVa(g|0,d|0,b|0)|0;f[a>>2]=g;f[e>>2]=k;f[c>>2]=i;if(!d)return;GQa(d);return}function kba(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=e>>4;h=g+1|0;if(h>>>0>268435455)ZOa(a);i=a+8|0;j=(f[i>>2]|0)-d|0;k=j>>3;l=j>>4>>>0<134217727?(k>>>0>>0?h:k):268435455;do if(l)if(l>>>0>268435455){k=hd(8)|0;LQa(k,349912);f[k>>2]=118288;ld(k|0,20688,857)}else{k=EQa(l<<4)|0;m=k;n=k;break}else{m=0;n=0}while(0);k=m+(g<<4)|0;f[k>>2]=f[b>>2];f[k+4>>2]=f[b+4>>2];f[k+8>>2]=f[b+8>>2];f[k+12>>2]=f[b+12>>2];if((e|0)>0)DVa(n|0,d|0,e|0)|0;f[a>>2]=m;f[c>>2]=k+16;f[i>>2]=m+(l<<4);if(!d)return;GQa(d);return}function lba(a){a=a|0;var b=0;switch(a|0){case 120:case 119:case 122:case 121:case 112:case 111:case 104:case 105:case 102:case 103:case 94:case 95:case 96:case 97:case 9:case 29:case 19:case 28:case 18:case 5:case 2:case 0:{b=4;break}case 116:case 115:case 118:case 117:case 108:case 107:case 100:case 101:case 98:case 99:case 90:case 91:case 92:case 93:case 8:case 25:case 15:case 24:case 14:case 4:case 3:case 1:{b=3;break}default:b=0}return b|0}function mba(a){a=a|0;var b=0;switch(a|0){case 134:case 132:case 130:case 128:case 122:case 118:case 120:case 116:case 112:case 108:case 72:case 70:case 60:case 54:case 76:case 74:case 50:case 44:case 80:case 78:case 58:case 56:case 95:case 91:case 97:case 93:case 105:case 101:case 103:case 99:case 68:case 66:case 52:case 40:case 34:case 32:case 84:case 38:case 82:case 36:case 10:case 6:case 28:case 18:case 24:case 14:case 26:case 16:case 22:case 12:case 1:case 0:{b=0;break}default:b=1}return b|0}function nba(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;g=u;u=u+128|0;h=g+112|0;i=g+56|0;j=g;yV(h,48504);if((e|0)<1)k=lba(d)|0;else k=e;do switch(d|0){case 5:case 4:case 3:case 1:case 2:case 0:{kda(a,c,k,mba(d)|0);break}case 27:case 17:case 23:case 13:case 26:case 16:case 22:case 12:{e=mba(d)|0;switch(d|0){case 20:case 21:case 19:case 18:case 15:case 14:case 17:case 16:case 13:case 12:{l=6;break}case 25:case 24:case 27:case 26:case 23:case 22:{l=5;break}default:l=0}nda(a,c,e,l);break}case 29:case 19:case 25:case 15:case 28:case 18:case 24:case 14:{e=mba(d)|0;switch(d|0){case 25:case 24:case 27:case 26:case 23:case 22:case 28:case 29:{m=5;break}case 20:case 21:case 19:case 18:case 15:case 14:case 17:case 16:{m=6;break}default:m=0}qda(a,c,k,e,m);break}case 11:case 7:case 10:case 6:{tda(a,c,mba(d)|0);break}case 31:case 21:{switch(d|0){case 22:case 23:case 26:case 27:case 24:case 25:case 28:case 29:case 31:case 30:{n=5;break}case 21:{n=6;break}default:n=0}zda(a,c,n);break}case 9:case 8:{wda(a,c,k);break}case 30:case 20:{switch(d|0){case 22:case 23:case 26:case 27:case 24:case 25:case 28:case 29:case 30:{o=5;break}case 20:case 21:{o=6;break}default:o=0}Cda(a,c,o);break}case 83:case 82:case 37:case 36:{Ofa(a,c,mba(d)|0,(d|1|0)==37);break}case 85:case 84:case 39:case 38:{Rfa(a,c,k,mba(d)|0,(d|1|0)==39);break}case 33:case 32:{lra(a,c,mba(d)|0);break}case 35:case 34:{mra(a,c,k,mba(d)|0);break}case 67:case 41:case 66:case 40:{Wpa(a,c,mba(d)|0,(d+-66|0)>>>0<8);break}case 69:case 53:case 68:case 52:{Tpa(a,c,mba(d)|0,(d+-66|0)>>>0<8);break}case 71:case 55:case 70:case 54:{_pa(a,c,k,mba(d)|0,(d+-66|0)>>>0<8);break}case 73:case 61:case 72:case 60:{Xpa(a,c,k,mba(d)|0,(d+-66|0)>>>0<8);break}case 75:case 45:case 74:case 44:{e=mba(d)|0;p=d+-44|0;if(p>>>0<16)q=((-3901&65535)>>>(p&65535)&1)!=0;else q=0;hra(a,c,e,q);break}case 77:case 51:case 76:case 50:{e=mba(d)|0;p=d+-50|0;if(p>>>0<10)r=(963>>>(p&1023)&1)!=0;else r=0;ira(a,c,e,r);break}case 79:case 57:case 78:case 56:{jra(a,c,k,mba(d)|0,(d&-4|0)==56);break}case 81:case 59:case 80:case 58:{kra(a,c,k,mba(d)|0,(d&-2|0)==58);break}case 142:case 141:case 140:case 139:case 138:case 137:case 136:case 135:case 65:case 64:case 63:case 62:case 49:case 48:case 47:case 46:case 89:case 88:case 87:case 86:{f[i>>2]=1124007936;e=i+4|0;p=i+8|0;s=i+40|0;t=e;v=t+36|0;do{f[t>>2]=0;t=t+4|0}while((t|0)<(v|0));f[s>>2]=p;w=i+48|0;x=i+44|0;f[x>>2]=w;f[w>>2]=0;f[i+52>>2]=0;y=a+4|0;if((f[y>>2]|0)!=(f[c+4>>2]|0)){do if((HJ(a)|0)==65536){z=f[y>>2]|0;f[j>>2]=f[z>>2];A=j+4|0;B=z+4|0;f[A>>2]=f[B>>2];C=j+8|0;f[C>>2]=f[z+8>>2];f[j+12>>2]=f[z+12>>2];f[j+16>>2]=f[z+16>>2];f[j+20>>2]=f[z+20>>2];f[j+24>>2]=f[z+24>>2];f[j+28>>2]=f[z+28>>2];f[j+32>>2]=f[z+32>>2];D=j+36|0;E=f[z+36>>2]|0;f[D>>2]=E;f[j+40>>2]=C;C=j+48|0;F=j+44|0;f[F>>2]=C;f[C>>2]=0;f[j+52>>2]=0;if(E|0){C=E+12|0;f[C>>2]=(f[C>>2]|0)+1}if((f[B>>2]|0)<3){B=f[z+44>>2]|0;C=f[F>>2]|0;f[C>>2]=f[B>>2];f[C+4>>2]=f[B+4>>2];G=D;break}else{f[A>>2]=0;WO(j,z);G=D;break}}else{DJ(j,a,-1);G=j+36|0}while(0);y=f[G>>2]|0;if(y|0){D=y+12|0;f[D>>2]=(f[D>>2]|0)+1}D=i+36|0;y=f[D>>2]|0;if(y|0?(z=y+12|0,y=f[z>>2]|0,f[z>>2]=y+-1,(y|0)==1):0)XO(i);f[D>>2]=0;y=i+16|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;if((f[e>>2]|0)>0){z=f[s>>2]|0;A=0;do{f[z+(A<<2)>>2]=0;A=A+1|0;H=f[e>>2]|0}while((A|0)<(H|0));f[i>>2]=f[j>>2];if((H|0)<3)I=58;else I=60}else{f[i>>2]=f[j>>2];I=58}if((I|0)==58){A=f[j+4>>2]|0;if((A|0)<3){f[e>>2]=A;f[p>>2]=f[j+8>>2];f[i+12>>2]=f[j+12>>2];A=f[j+44>>2]|0;z=f[x>>2]|0;f[z>>2]=f[A>>2];f[z+4>>2]=f[A+4>>2]}else I=60}if((I|0)==60)WO(i,j);A=j+16|0;f[y>>2]=f[A>>2];f[i+20>>2]=f[j+20>>2];f[i+24>>2]=f[j+24>>2];f[i+28>>2]=f[j+28>>2];f[i+32>>2]=f[j+32>>2];z=f[G>>2]|0;f[D>>2]=z;if(z|0?(B=z+12|0,z=f[B>>2]|0,f[B>>2]=z+-1,(z|0)==1):0)XO(j);f[G>>2]=0;z=j+4|0;f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;f[A+12>>2]=0;if((f[z>>2]|0)>0){A=f[j+40>>2]|0;B=0;do{f[A+(B<<2)>>2]=0;B=B+1|0}while((B|0)<(f[z>>2]|0))}z=f[j+44>>2]|0;if((z|0)!=(j+48|0))dX(z)}else{z=j+8|0;f[z>>2]=0;f[z+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=i;XJ(a,j)}f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=i;kaa(j,c,d,k);z=i+36|0;B=f[z>>2]|0;if(B|0?(A=B+12|0,B=f[A>>2]|0,f[A>>2]=B+-1,(B|0)==1):0)XO(i);f[z>>2]=0;z=i+16|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;if((f[e>>2]|0)>0){z=f[s>>2]|0;B=0;do{f[z+(B<<2)>>2]=0;B=B+1|0}while((B|0)<(f[e>>2]|0))}e=f[x>>2]|0;if((e|0)!=(w|0))dX(e);break}case 94:case 95:case 96:case 97:case 90:case 91:case 92:case 93:{e=mba(d)|0;switch(d|0){case 91:case 90:case 95:case 94:{J=0;break}case 93:case 92:case 97:case 96:{J=1;break}default:J=-1}dga(a,c,k,e,J);break}case 104:case 105:case 100:case 101:case 102:case 103:case 98:case 99:{e=mba(d)|0;switch(d|0){case 101:case 100:case 105:case 104:{K=0;break}case 99:case 98:case 103:case 102:{K=1;break}default:K=-1}aga(a,c,k,e,K);break}case 106:{Zfa(a,c);break}case 130:case 129:case 128:case 127:case 134:case 133:case 132:case 131:{e=mba(d)|0;switch(d|0){case 134:case 133:case 132:case 131:{L=2;break}case 127:case 128:case 129:case 130:{L=1;break}default:L=-1}Wfa(a,c,e,L);break}case 122:case 121:case 120:case 119:case 118:case 117:case 116:case 115:case 112:case 111:case 108:case 107:{switch(d|0){case 107:case 108:case 111:{M=1;break}default:M=(d|0)==112&1}e=mba(d)|0;switch(d|0){case 107:case 108:case 111:case 112:case 115:case 116:case 119:case 120:{N=0;break}case 122:case 121:case 118:case 117:{N=1;break}default:N=-1}Ufa(a,c,k,e,N,M);break}case 124:case 123:{Vfa(a,c,(d|0)==123&1);break}case 125:{Fda(a,c);break}case 126:{Ida(a,c);break}default:{f[i>>2]=0;f[i+4>>2]=0;t=JV(i,41)|0;e=227515;v=t+41|0;do{b[t>>0]=b[e>>0]|0;t=t+1|0;e=e+1|0}while((t|0)<(v|0));EP(-206,i,215480,215423,349);KV(i)}}while(0);if(!(f[h+4>>2]|0)){u=g;return}u=g;return}function oba(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;e=u;u=u+208|0;g=e+144|0;h=e+88|0;i=e+32|0;j=e+16|0;k=e;NY(g,a,0,1,0,0);NY(h,c,0,1,0,0);f[i>>2]=f[h>>2];c=i+4|0;a=h+4|0;l=f[a>>2]|0;f[c>>2]=l;m=i+8|0;f[m>>2]=f[h+8>>2];f[i+12>>2]=f[h+12>>2];n=i+16|0;o=h+16|0;f[n>>2]=f[o>>2];f[i+20>>2]=f[h+20>>2];f[i+24>>2]=f[h+24>>2];f[i+28>>2]=f[h+28>>2];f[i+32>>2]=f[h+32>>2];p=i+36|0;q=h+36|0;r=f[q>>2]|0;f[p>>2]=r;s=i+40|0;f[s>>2]=m;m=i+48|0;t=i+44|0;f[t>>2]=m;f[m>>2]=0;f[i+52>>2]=0;if(!r)v=l;else{l=r+12|0;f[l>>2]=(f[l>>2]|0)+1;v=f[a>>2]|0}if((v|0)<3){v=f[h+44>>2]|0;l=f[t>>2]|0;f[l>>2]=f[v>>2];f[l+4>>2]=f[v+4>>2]}else{f[c>>2]=0;WO(i,h)}v=f[i>>2]|0;if(!((v^f[g>>2])&7))w=v;else{f[j>>2]=0;f[j+4>>2]=0;x=JV(j,26)|0;y=215550;z=x+26|0;do{b[x>>0]=b[y>>0]|0;x=x+1|0;y=y+1|0}while((x|0)<(z|0));EP(-215,j,215577,215423,359);KV(j);w=f[i>>2]|0}f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=g;v=k+8|0;f[v>>2]=0;f[v+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=i;nba(j,k,d,(w>>>3&511)+1|0);if((f[n>>2]|0)!=(f[o>>2]|0)){f[j>>2]=0;f[j+4>>2]=0;x=JV(j,21)|0;y=215588;z=x+21|0;do{b[x>>0]=b[y>>0]|0;x=x+1|0;y=y+1|0}while((x|0)<(z|0));EP(-215,j,215577,215423,362);KV(j)}j=f[p>>2]|0;if(j|0?(y=j+12|0,j=f[y>>2]|0,f[y>>2]=j+-1,(j|0)==1):0)XO(i);f[p>>2]=0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;if((f[c>>2]|0)>0){n=f[s>>2]|0;s=0;do{f[n+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[c>>2]|0))}c=f[t>>2]|0;if((c|0)!=(m|0))dX(c);c=f[q>>2]|0;if(c|0?(m=c+12|0,c=f[m>>2]|0,f[m>>2]=c+-1,(c|0)==1):0)XO(h);f[q>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;if((f[a>>2]|0)>0){o=f[h+40>>2]|0;q=0;do{f[o+(q<<2)>>2]=0;q=q+1|0}while((q|0)<(f[a>>2]|0))}a=f[h+44>>2]|0;if((a|0)!=(h+48|0))dX(a);a=g+36|0;h=f[a>>2]|0;if(h|0?(q=h+12|0,h=f[q>>2]|0,f[q>>2]=h+-1,(h|0)==1):0)XO(g);f[a>>2]=0;a=g+16|0;h=g+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if((f[h>>2]|0)>0){a=f[g+40>>2]|0;q=0;do{f[a+(q<<2)>>2]=0;q=q+1|0}while((q|0)<(f[h>>2]|0))}h=f[g+44>>2]|0;if((h|0)==(g+48|0)){u=e;return}dX(h);u=e;return}function pba(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0;g=u;u=u+1312|0;i=g+112|0;j=g+92|0;k=g+32|0;l=g+8|0;m=g;o=a+24|0;p=(f[o>>2]|0)+8|0;q=i+8|0;f[q>>2]=0;f[i+12>>2]=0;f[i+28>>2]=0;f[i+32>>2]=0;f[i+48>>2]=0;f[i+52>>2]=0;f[i+68>>2]=0;f[i+72>>2]=0;f[i+88>>2]=0;f[i+92>>2]=0;f[i+108>>2]=0;f[i+112>>2]=0;f[i+128>>2]=0;f[i+132>>2]=0;f[i+148>>2]=0;f[i+152>>2]=0;f[i+168>>2]=0;f[i+172>>2]=0;f[i+188>>2]=0;f[i+192>>2]=0;f[i+208>>2]=0;f[i+212>>2]=0;f[i+228>>2]=0;f[i+232>>2]=0;f[i+248>>2]=0;f[i+252>>2]=0;f[i+268>>2]=0;f[i+272>>2]=0;f[i+288>>2]=0;f[i+292>>2]=0;f[i+308>>2]=0;f[i+312>>2]=0;f[i+328>>2]=0;f[i+332>>2]=0;f[i+348>>2]=0;f[i+352>>2]=0;f[i+368>>2]=0;f[i+372>>2]=0;f[i+388>>2]=0;f[i+392>>2]=0;f[i+408>>2]=0;f[i+412>>2]=0;f[i+428>>2]=0;f[i+432>>2]=0;f[i+448>>2]=0;f[i+452>>2]=0;f[i+468>>2]=0;f[i+472>>2]=0;f[i+488>>2]=0;f[i+492>>2]=0;f[i+508>>2]=0;f[i+512>>2]=0;f[i+528>>2]=0;f[i+532>>2]=0;f[i+548>>2]=0;f[i+552>>2]=0;f[i+568>>2]=0;f[i+572>>2]=0;f[i+588>>2]=0;f[i+592>>2]=0;f[i+608>>2]=0;f[i+612>>2]=0;f[i+628>>2]=0;f[i+632>>2]=0;f[i+648>>2]=0;f[i+652>>2]=0;f[i+668>>2]=0;f[i+672>>2]=0;f[i+688>>2]=0;f[i+692>>2]=0;f[i+708>>2]=0;f[i+712>>2]=0;f[i+728>>2]=0;f[i+732>>2]=0;f[i+748>>2]=0;f[i+752>>2]=0;f[i+768>>2]=0;f[i+772>>2]=0;f[i+788>>2]=0;f[i+792>>2]=0;f[i+808>>2]=0;f[i+812>>2]=0;f[i+828>>2]=0;f[i+832>>2]=0;f[i+848>>2]=0;f[i+852>>2]=0;f[i+868>>2]=0;f[i+872>>2]=0;f[i+888>>2]=0;f[i+892>>2]=0;f[i+908>>2]=0;f[i+912>>2]=0;f[i+928>>2]=0;f[i+932>>2]=0;f[i+948>>2]=0;f[i+952>>2]=0;f[i+968>>2]=0;f[i+972>>2]=0;f[i+988>>2]=0;f[i+992>>2]=0;f[i+1008>>2]=0;f[i+1012>>2]=0;f[i+1028>>2]=0;f[i+1032>>2]=0;f[i+1048>>2]=0;f[i+1052>>2]=0;f[i+1068>>2]=0;f[i+1072>>2]=0;f[i+1088>>2]=0;f[i+1092>>2]=0;f[i+1108>>2]=0;f[i+1112>>2]=0;f[i+1128>>2]=0;f[i+1132>>2]=0;f[i+1148>>2]=0;f[i+1152>>2]=0;f[i+1168>>2]=0;f[i+1172>>2]=0;f[i>>2]=q;r=i+4|0;f[r>>2]=p;if(p>>>0>59){t=FQa(p>>>0>214748364?-1:p*20|0)|0;v=t+(p*20|0)|0;p=t;do{f[p>>2]=0;f[p+4>>2]=0;p=p+20|0}while((p|0)!=(v|0));f[i>>2]=t;w=t}else w=q;f[j>>2]=0;f[j+4>>2]=0;t=f[o>>2]|0;f[k+36>>2]=0;v=k+40|0;f[v>>2]=0;p=a+56|0;x=f[p>>2]|0;y=f[p+4>>2]|0;p=f[a>>2]|0;if(!((p&12288|0)==4096?!((p&16384|0)==0?1:(f[a+28>>2]|0)!=1):0)){f[m>>2]=0;f[m+4>>2]=0;DVa(JV(m,129)|0,215610,129)|0;EP(-215,m,215740,215764,74);KV(m)}if((c|0)<=87){f[m>>2]=0;f[m+4>>2]=0;p=JV(m,37)|0;z=215822;A=p+37|0;do{b[p>>0]=b[z>>0]|0;p=p+1|0;z=z+1|0}while((p|0)<(A|0));EP(-215,m,215740,215764,75);KV(m)}HM(f[a>>2]&-4096|12,c,8,d,l);if(f[o>>2]|0){o=k+32|0;b[o>>0]=0;mea(a,k);a=j+16|0;f[a>>2]=0;a:do if((t|0)>0){d=k+28|0;c=k+12|0;m=k+36|0;z=(e|0)==1;p=l+12|0;A=l+20|0;B=k+20|0;if((e|0)<3)C=0;else{D=j;E=0;while(1){F=b[f[d>>2]>>0]|0;G=f[c>>2]|0;f[d>>2]=G;H=m;I=f[H>>2]|0;J=f[H+4>>2]|0;H=G;if(!G)K=b[o>>0]|0;else{G=b[H>>0]|0;b[o>>0]=G;M=H+1|0;f[c>>2]=M;if(M>>>0<(f[B>>2]|0)>>>0){N=G;O=I}else{MM(k,1);N=b[o>>0]|0;O=f[m>>2]|0}G=N<<24>>24;f[m>>2]=O+(b[k+44+(G<<1)>>0]|0);f[v>>2]=(f[v>>2]|0)+(b[k+44+(G<<1)+1>>0]|0);K=N}G=(K<<24>>24)-F|0;F=f[48524+(G+7<<2)>>2]|0;M=w+(E*20|0)|0;if(!G)P=D;else{f[D+16>>2]=M;P=M}f[w+(E*20|0)+12>>2]=F;F=w+(E*20|0)|0;f[F>>2]=I;f[F+4>>2]=J;J=E+1|0;if((J|0)<(t|0)){D=P;E=J}else{Q=P;R=J;break a}}}while(1){E=b[f[d>>2]>>0]|0;D=f[c>>2]|0;f[d>>2]=D;J=m;F=f[J>>2]|0;I=f[J+4>>2]|0;J=D;if(!D)S=b[o>>0]|0;else{D=b[J>>0]|0;b[o>>0]=D;M=J+1|0;f[c>>2]=M;if(M>>>0<(f[B>>2]|0)>>>0){T=D;U=F}else{MM(k,1);T=b[o>>0]|0;U=f[m>>2]|0}D=T<<24>>24;f[m>>2]=U+(b[k+44+(D<<1)>>0]|0);f[v>>2]=(f[v>>2]|0)+(b[k+44+(D<<1)+1>>0]|0);S=T}if(z|S<<24>>24!=E<<24>>24){E=f[p>>2]|0;if(E>>>0<(f[A>>2]|0)>>>0)V=E;else{KM(l);V=f[p>>2]|0}E=V;D=E;b[D>>0]=F;b[D+1>>0]=F>>8;b[D+2>>0]=F>>16;b[D+3>>0]=F>>24;F=E+4|0;b[F>>0]=I;b[F+1>>0]=I>>8;b[F+2>>0]=I>>16;b[F+3>>0]=I>>24;f[p>>2]=(f[p>>2]|0)+8}I=C+1|0;if((I|0)<(t|0))C=I;else{Q=j;R=I;break}}}else{Q=j;R=0}while(0);if((e|0)>=3){f[Q+16>>2]=0;Q=f[a>>2]|0;C=w;t=(e|0)==4;e=Q;do{V=(e-C|0)/20|0;S=e;T=f[S>>2]|0;k=f[S+4>>2]|0;S=1;v=0;U=0;while(1){o=V-S|0;P=((o|0)<0?R:0)+o|0;o=S+V|0;K=o-((o|0)>=(R|0)?R:0)|0;o=f[w+(P*20|0)>>2]|0;N=(f[w+(K*20|0)>>2]|0)-o|0;O=f[w+(P*20|0)+4>>2]|0;P=(f[w+(K*20|0)+4>>2]|0)-O|0;K=(X(P,P)|0)+(X(N,N)|0)|0;p=(X(P,T-o|0)|0)-(X(k-O|0,N)|0)|0;N=(n[s>>2]=+(v|0)*+(K|0)-+(U|0)*+(p|0),f[s>>2]|0);if((S|0)>1){if((U|0)>=(K|0))break;if((v|0)>0&(N|0)<1)break;if((v|0)<0&(N|0)>-1)break}S=S+1|0;v=p;U=K}U=S+-1|0;f[e+8>>2]=U;if(t){v=U;K=0;while(1){p=V-v|0;N=((p|0)<0?R:0)+p|0;p=v+V|0;O=p-((p|0)>=(R|0)?R:0)|0;p=(f[w+(N*20|0)>>2]|0)-T|0;o=(f[w+(N*20|0)+4>>2]|0)-k|0;N=(f[w+(O*20|0)>>2]|0)-T|0;P=(f[w+(O*20|0)+4>>2]|0)-k|0;if((o|p|0)==0|(P|N|0)==0){W=K;break}Y=+(p|0);Z=+(o|0);_=+(N|0);$=+(P|0);aa=+((X(P,o)|0)+(X(N,p)|0)|0)/+L(+((Y*Y+Z*Z)*(_*_+$*$)))+1.1;p=(n[s>>2]=aa,f[s>>2]|0);if(!((v|0)>=(U|0)|(K|0)<(p|0))){W=K;break}if((v|0)>1){v=v+-1|0;K=p}else{W=p;break}}f[e+12>>2]=W}e=f[e+16>>2]|0}while((e|0)!=0);ba=j;ca=Q;while(1){Q=f[ca+8>>2]>>1;e=ca+12|0;W=f[e>>2]|0;K=(ca-C|0)/20|0;b:do if((Q|0)<1)da=ca;else{v=1;while(1){U=K-v|0;if((f[w+((((U|0)<0?R:0)+U|0)*20|0)+12>>2]|0)>(W|0))break;U=v+K|0;if((f[w+((U-((U|0)>=(R|0)?R:0)|0)*20|0)+12>>2]|0)>(W|0))break;if((v|0)<(Q|0))v=v+1|0;else{da=ca;break b}}f[ba+16>>2]=f[ca+16>>2];f[e>>2]=0;da=ba}while(0);ca=f[ca+16>>2]|0;if(!ca)break;else ba=da}da=j;ba=f[a>>2]|0;while(1){do if((f[ba+8>>2]|0)==1){ca=ba+12|0;e=f[ca>>2]|0;Q=ba-C|0;W=(Q|0)/20|0;K=W+1|0;if((e|0)>(f[w+((W+-1+((Q|0)<20?R:0)|0)*20|0)+12>>2]|0)?(e|0)>(f[w+((K-((K|0)>=(R|0)?R:0)|0)*20|0)+12>>2]|0):0){ea=ba;break}f[da+16>>2]=f[ba+16>>2];f[ca>>2]=0;ea=da}else ea=ba;while(0);ba=f[ba+16>>2]|0;if(!ba)break;else da=ea}do if(!t){if(f[w+12>>2]|0?(ea=R+-1|0,f[w+(ea*20|0)+12>>2]|0):0){c:do if((R|0)>1){da=1;while(1){if(!(f[w+(da*20|0)+12>>2]|0)){fa=da;break c}f[w+((da+-1|0)*20|0)+12>>2]=0;ba=da+1|0;if((ba|0)<(R|0))da=ba;else{fa=ba;break}}}else fa=1;while(0);if((fa|0)==(R|0))break;da=fa+-1|0;ba=R+-2|0;d:do if((R|0)>2){ca=ba;while(1){if(!(f[w+(ca*20|0)+12>>2]|0)){ga=ca;break d}f[w+(ca*20|0)+16>>2]=0;f[w+((ca+1|0)*20|0)+12>>2]=0;K=ca+-1|0;if((ca|0)>1)ca=K;else{ga=K;break}}}else ga=ba;while(0);if((da|0)==0&(ga+1|0)==(ea|0)){ba=((f[w+16>>2]|0)-C|0)/20|0;ca=w+(R*20|0)|0;f[ca>>2]=f[w>>2];f[ca+4>>2]=f[w+4>>2];f[ca+8>>2]=f[w+8>>2];f[ca+12>>2]=f[w+12>>2];f[ca+16>>2]=f[w+16>>2];f[w+(R*20|0)+16>>2]=0;f[w+(ea*20|0)+16>>2]=ca;ha=ba}else ha=da;f[a>>2]=w+(ha*20|0)}ba=j;ca=f[a>>2]|0;while(1){K=ca+16|0;e=f[K>>2]|0;e:do if(!e){ia=1;ja=ba;ka=ca;la=e;ma=K}else{Q=1;W=ba;v=ca;U=e;k=K;while(1){if((U-v|0)!=20){ia=Q;ja=W;ka=v;la=U;ma=k;break e}T=Q+1|0;V=U+16|0;S=f[V>>2]|0;if(!S){ia=T;ja=v;ka=U;la=S;ma=V;break}else{p=U;N=v;Q=T;U=S;k=V;v=p;W=N}}}while(0);if((ia|0)>1){do if((ia|0)==2){K=f[ja+12>>2]|0;e=f[ka+12>>2]|0;if((K|0)<=(e|0)){if((K|0)!=(e|0)){na=ka;oa=ba;break}if((f[ja+8>>2]|0)>(f[ka+8>>2]|0)){na=ka;oa=ba;break}}na=la;oa=ja}else{na=ka;oa=f[ba+16>>2]|0}while(0);f[oa+16>>2]=na;pa=f[ma>>2]|0}else pa=la;if(!pa)break;else{ba=ka;ca=pa}}}while(0);pa=l+12|0;ka=l+20|0;la=f[a>>2]|0;a=f[pa>>2]|0;do{if(a>>>0<(f[ka>>2]|0)>>>0)qa=a;else{KM(l);qa=f[pa>>2]|0}ma=la;na=ma;oa=h[na>>0]|h[na+1>>0]<<8|h[na+2>>0]<<16|h[na+3>>0]<<24;na=ma+4|0;ma=h[na>>0]|h[na+1>>0]<<8|h[na+2>>0]<<16|h[na+3>>0]<<24;na=qa;ja=na;b[ja>>0]=oa;b[ja+1>>0]=oa>>8;b[ja+2>>0]=oa>>16;b[ja+3>>0]=oa>>24;oa=na+4|0;b[oa>>0]=ma;b[oa+1>>0]=ma>>8;b[oa+2>>0]=ma>>16;b[oa+3>>0]=ma>>24;a=(f[pa>>2]|0)+8|0;f[pa>>2]=a;la=f[la+16>>2]|0}while((la|0)!=0)}}else{la=l+12|0;a=f[la>>2]|0;if(a>>>0<(f[l+20>>2]|0)>>>0)ra=a;else{KM(l);ra=f[la>>2]|0}a=ra;ra=a;b[ra>>0]=x;b[ra+1>>0]=x>>8;b[ra+2>>0]=x>>16;b[ra+3>>0]=x>>24;x=a+4|0;b[x>>0]=y;b[x+1>>0]=y>>8;b[x+2>>0]=y>>16;b[x+3>>0]=y>>24;f[la>>2]=(f[la>>2]|0)+8}la=JM(l)|0;l=f[i>>2]|0;if((l|0)==(q|0)){u=g;return la|0}if(l|0)HQa(l);f[i>>2]=q;f[r>>2]=59;u=g;return la|0}function qba(a,c,d,e){a=a|0;c=c|0;d=+d;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;g=u;u=u+2320|0;h=g+2312|0;i=g+2256|0;j=g+1160|0;k=g+64|0;l=g;m=g+8|0;yV(h,48584);do if((HJ(a)|0)==65536){n=f[a+4>>2]|0;f[i>>2]=f[n>>2];o=i+4|0;p=n+4|0;f[o>>2]=f[p>>2];q=i+8|0;f[q>>2]=f[n+8>>2];f[i+12>>2]=f[n+12>>2];f[i+16>>2]=f[n+16>>2];f[i+20>>2]=f[n+20>>2];f[i+24>>2]=f[n+24>>2];f[i+28>>2]=f[n+28>>2];f[i+32>>2]=f[n+32>>2];r=f[n+36>>2]|0;f[i+36>>2]=r;f[i+40>>2]=q;q=i+48|0;s=i+44|0;f[s>>2]=q;f[q>>2]=0;f[i+52>>2]=0;if(r|0){q=r+12|0;f[q>>2]=(f[q>>2]|0)+1}if((f[p>>2]|0)<3){p=f[n+44>>2]|0;q=f[s>>2]|0;f[q>>2]=f[p>>2];f[q+4>>2]=f[p+4>>2];break}else{f[o>>2]=0;WO(i,n);break}}else DJ(i,a,-1);while(0);a=jP(i,2,-1,1)|0;n=f[i>>2]|0;o=n&7;if(!((a|0)>-1&(o|1|0)==5)){f[j>>2]=0;f[j+4>>2]=0;p=JV(j,42)|0;q=215860;s=p+42|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(s|0));EP(-215,j,215903,215764,682);KV(j)}if(a){q=j+8|0;FVa(q|0,0,1088)|0;f[j>>2]=q;p=j+4|0;s=a>>>0>136;f[p>>2]=a;if(s){r=FQa(a>>>0>536870911?-1:a<<3)|0;FVa(r|0,0,a<<3|0)|0;f[j>>2]=r;t=r}else t=q;r=k+8|0;FVa(r|0,0,1088)|0;f[k>>2]=r;v=k+4|0;f[v>>2]=a;if(s){s=FQa(a>>>0>536870911?-1:a<<3)|0;FVa(s|0,0,a<<3|0)|0;f[k>>2]=s}switch(n&7){case 4:{w=rba(f[i+16>>2]|0,a,t,e,d,k)|0;break}case 5:{w=sba(f[i+16>>2]|0,a,t,e,d,k)|0;break}default:{f[l>>2]=0;f[l+4>>2]=0;EP(-210,l,215903,215764,700);KV(l);w=0}}l=m+4|0;f[l>>2]=2;e=m+8|0;f[e>>2]=w;f[m+12>>2]=1;w=m+16|0;f[w>>2]=t;f[m+20>>2]=t;a=m+24|0;n=m+40|0;s=a+8|0;f[s>>2]=0;f[s+4>>2]=0;f[n>>2]=e;s=m+48|0;x=m+44|0;f[x>>2]=s;y=2<<(47696>>>(o<<1)&3);f[m>>2]=o|1124024328;f[s>>2]=y;f[m+52>>2]=y;o=t+(X(f[e>>2]|0,y)|0)|0;f[m+28>>2]=o;f[a>>2]=o+(0-y)+y;eM(m,c);y=m+36|0;o=f[y>>2]|0;if(o|0?(a=o+12|0,o=f[a>>2]|0,f[a>>2]=o+-1,(o|0)==1):0)XO(m);f[y>>2]=0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;if((f[l>>2]|0)>0){w=f[n>>2]|0;n=0;do{f[w+(n<<2)>>2]=0;n=n+1|0}while((n|0)<(f[l>>2]|0))}l=f[x>>2]|0;if((l|0)!=(s|0))dX(l);l=f[k>>2]|0;if((l|0)!=(r|0)){if(l|0)HQa(l);f[k>>2]=r;f[v>>2]=136}v=f[j>>2]|0;if((v|0)!=(q|0)){if(v|0)HQa(v);f[j>>2]=q;f[p>>2]=136}}else YJ(c);c=i+36|0;p=f[c>>2]|0;if(p|0?(q=p+12|0,p=f[q>>2]|0,f[q>>2]=p+-1,(p|0)==1):0)XO(i);f[c>>2]=0;c=i+16|0;p=i+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[p>>2]|0)>0){c=f[i+40>>2]|0;q=0;do{f[c+(q<<2)>>2]=0;q=q+1|0}while((q|0)<(f[p>>2]|0))}p=f[i+44>>2]|0;if((p|0)!=(i+48|0))dX(p);if(!(f[h+4>>2]|0)){u=g;return}u=g;return}function rba(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;g=g|0;var h=0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0,G=0,H=0.0,I=0,J=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0.0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0;h=g+4|0;i=f[h>>2]|0;j=f[g>>2]|0;if(!b){k=0;return k|0}l=e*e;if(!d){m=b+-1|0;if((f[a+(m<<3)>>2]|0)==(f[a>>2]|0)?(f[a+(m<<3)+4>>2]|0)==(f[a+4>>2]|0):0){n=1;o=7}else{if(!i){f[h>>2]=0;p=0}else p=i;q=j;f[q>>2]=0;f[q+4>>2]=m;r=1;s=j;t=p;u=0;v=b;o=44}}else{n=3;o=7}do if((o|0)==7){if((b|0)>1){p=0;m=0;q=0;while(1){w=(m+q|0)%(b|0)|0;x=f[a+(w<<3)>>2]|0;y=f[a+(w<<3)+4>>2]|0;z=w+1|0;w=1;e=0.0;A=(z|0)>=(b|0)?0:z;z=q;do{B=A+1|0;C=A;A=(B|0)>=(b|0)?0:B;D=+((f[a+(C<<3)>>2]|0)-x|0);E=+((f[a+(C<<3)+4>>2]|0)-y|0);F=D*D+E*E;C=F>e;z=C?w:z;e=C?F:e;w=w+1|0}while((w|0)!=(b|0));p=p+1|0;if((p|0)>=(n|0)){G=A;H=e;I=x;J=z;L=y;break}else{m=A;q=z}}}else{q=0;m=0;do{M=(m|0)%(b|0)|0;p=M+1|0;m=(p|0)>=(b|0)?0:p;q=q+1|0}while((q|0)<(n|0));G=m;H=0.0;I=f[a+(M<<3)>>2]|0;J=0;L=f[a+(M<<3)+4>>2]|0}if(H<=l){f[c>>2]=I;f[c+4>>2]=L;N=1;break}q=(G|0)%(b|0)|0;p=(q+J|0)%(b|0)|0;if(!i){w=i*3|0;C=w>>>1;B=f[h>>2]|0;if(B>>>0>>0){O=f[g>>2]|0;if(w>>>0>273){w=FQa(C>>>0>536870911?-1:C<<3)|0;FVa(w|0,0,C<<3|0)|0;P=w}else P=g+8|0;f[g>>2]=P;f[h>>2]=C;if((B|0)!=0&(P|0)!=(O|0)){w=O;Q=f[w+4>>2]|0;R=P;f[R>>2]=f[w>>2];f[R+4>>2]=Q;if((B|0)!=1){Q=O+8|0;R=f[Q+4>>2]|0;w=P+8|0;f[w>>2]=f[Q>>2];f[w+4>>2]=R;if((B|0)==2)S=B;else{R=2;do{w=O+(R<<3)|0;Q=f[w+4>>2]|0;T=(f[g>>2]|0)+(R<<3)|0;f[T>>2]=f[w>>2];f[T+4>>2]=Q;R=R+1|0}while((R|0)!=(B|0));S=B}}else S=1}else S=B;do{R=(f[g>>2]|0)+(S<<3)|0;f[R>>2]=0;f[R+4>>2]=0;S=S+1|0}while((S|0)!=(C|0));if(!((O|0)==(g+8|0)|(O|0)==0))HQa(O)}else f[h>>2]=C;U=f[g>>2]|0;V=f[h>>2]|0}else{U=j;V=i}B=U;f[B>>2]=p;f[B+4>>2]=q;if(V>>>0>1){W=U;Y=V}else{B=V*3|0;R=B>>>1;m=f[h>>2]|0;if(m>>>0>>0){Q=f[g>>2]|0;if(B>>>0>273){B=FQa(R>>>0>536870911?-1:R<<3)|0;FVa(B|0,0,R<<3|0)|0;Z=B}else Z=g+8|0;f[g>>2]=Z;f[h>>2]=R;if((m|0)!=0&(Z|0)!=(Q|0)){B=Q;T=f[B+4>>2]|0;w=Z;f[w>>2]=f[B>>2];f[w+4>>2]=T;if((m|0)!=1){T=Q+8|0;w=f[T+4>>2]|0;B=Z+8|0;f[B>>2]=f[T>>2];f[B+4>>2]=w;if((m|0)==2)_=m;else{w=2;do{B=Q+(w<<3)|0;T=f[B+4>>2]|0;$=(f[g>>2]|0)+(w<<3)|0;f[$>>2]=f[B>>2];f[$+4>>2]=T;w=w+1|0}while((w|0)!=(m|0));_=m}}else _=1}else _=m;do{w=(f[g>>2]|0)+(_<<3)|0;f[w>>2]=0;f[w+4>>2]=0;_=_+1|0}while((_|0)!=(R|0));if(!((Q|0)==(g+8|0)|(Q|0)==0))HQa(Q)}else f[h>>2]=R;W=f[g>>2]|0;Y=f[h>>2]|0}m=W+8|0;f[m>>2]=q;f[m+4>>2]=p;r=2;s=W;t=Y;u=1;v=p;o=44}while(0);if((o|0)==44){o=b+-1|0;Y=g+8|0;W=0;_=r;r=s;s=t;t=v;a:while(1){v=W;Z=_;V=t;while(1){aa=Z+-1|0;U=r+(aa<<3)|0;ba=f[U>>2]|0;ca=f[U+4>>2]|0;U=f[a+(ba<<3)>>2]|0;i=f[a+(ba<<3)+4>>2]|0;j=ba+1|0;S=(j|0)>=(b|0)?0:j;if((S|0)!=(ca|0)){H=+((f[a+(ca<<3)>>2]|0)-U|0);F=+((f[a+(ca<<3)+4>>2]|0)-i|0);E=0.0;j=S;da=V;b:while(1){S=j;do{if((S|0)==(ca|0))break b;P=S+1|0;J=S;S=(P|0)>=(b|0)?0:P;ea=+K(+(H*+((f[a+(J<<3)+4>>2]|0)-i|0)-F*+((f[a+(J<<3)>>2]|0)-U|0)))}while(!(ea>E));E=ea;j=S;da=(o+S|0)%(b|0)|0}if(!(E*E<=l*(F*F+H*H)))break;else fa=da}else fa=V;j=v+1|0;f[c+(v<<3)>>2]=U;f[c+(v<<3)+4>>2]=i;if(!aa){ga=j;break a}else{v=j;Z=aa;V=fa}}if(aa>>>0>>0){ha=r;ia=s}else{V=s*3|0;p=V>>>1;q=f[h>>2]|0;if(q>>>0

>>0){R=f[g>>2]|0;if(V>>>0>273){V=FQa(p>>>0>536870911?-1:p<<3)|0;FVa(V|0,0,p<<3|0)|0;ja=V}else ja=Y;f[g>>2]=ja;f[h>>2]=p;if((q|0)!=0&(ja|0)!=(R|0)){V=R;Q=f[V+4>>2]|0;j=ja;f[j>>2]=f[V>>2];f[j+4>>2]=Q;if((q|0)!=1){Q=R+8|0;j=f[Q+4>>2]|0;V=ja+8|0;f[V>>2]=f[Q>>2];f[V+4>>2]=j;if((q|0)==2)ka=q;else{j=2;do{V=R+(j<<3)|0;Q=f[V+4>>2]|0;z=(f[g>>2]|0)+(j<<3)|0;f[z>>2]=f[V>>2];f[z+4>>2]=Q;j=j+1|0}while((j|0)!=(q|0));ka=q}}else ka=1}else ka=q;do{j=(f[g>>2]|0)+(ka<<3)|0;f[j>>2]=0;f[j+4>>2]=0;ka=ka+1|0}while((ka|0)!=(p|0));if(!((R|0)==(Y|0)|(R|0)==0))HQa(R)}else f[h>>2]=p;ha=f[g>>2]|0;ia=f[h>>2]|0}q=ha+(aa<<3)|0;f[q>>2]=da;f[q+4>>2]=ca;if(Z>>>0>>0){la=ha;ma=ia}else{q=ia*3|0;j=q>>>1;Q=f[h>>2]|0;if(Q>>>0>>0){z=f[g>>2]|0;if(q>>>0>273){q=FQa(j>>>0>536870911?-1:j<<3)|0;FVa(q|0,0,j<<3|0)|0;na=q}else na=Y;f[g>>2]=na;f[h>>2]=j;if((Q|0)!=0&(na|0)!=(z|0)){q=z;V=f[q+4>>2]|0;A=na;f[A>>2]=f[q>>2];f[A+4>>2]=V;if((Q|0)!=1){V=z+8|0;A=f[V+4>>2]|0;q=na+8|0;f[q>>2]=f[V>>2];f[q+4>>2]=A;if((Q|0)==2)oa=Q;else{A=2;do{q=z+(A<<3)|0;V=f[q+4>>2]|0;y=(f[g>>2]|0)+(A<<3)|0;f[y>>2]=f[q>>2];f[y+4>>2]=V;A=A+1|0}while((A|0)!=(Q|0));oa=Q}}else oa=1}else oa=Q;do{A=(f[g>>2]|0)+(oa<<3)|0;f[A>>2]=0;f[A+4>>2]=0;oa=oa+1|0}while((oa|0)!=(j|0));if(!((z|0)==(Y|0)|(z|0)==0))HQa(z)}else f[h>>2]=j;la=f[g>>2]|0;ma=f[h>>2]|0}_=Z+1|0;Q=la+(Z<<3)|0;f[Q>>2]=ba;f[Q+4>>2]=da;if(!_){ga=v;break}else{W=v;r=la;s=ma;t=da}}if(u)N=ga;else{f[c+(ga<<3)>>2]=f[a+(o<<3)>>2];f[c+(ga<<3)+4>>2]=f[a+(o<<3)+4>>2];N=ga+1|0}}ga=d?N+-1|0:0;o=ga+1|0;a=(o|0)>=(N|0)?0:o;o=f[c+(a<<3)>>2]|0;u=f[c+(a<<3)+4>>2]|0;da=a+1|0;t=(d^1)&1;ma=N-t|0;if((N|0)>2&(ma|0)>(t|0)){ea=l*.5;s=a;la=t;t=N;r=(da|0)>=(N|0)?0:da;da=o;W=f[c+(ga<<3)>>2]|0;_=u;ba=f[c+(ga<<3)+4>>2]|0;while(1){ga=f[c+(r<<3)>>2]|0;h=f[c+(r<<3)+4>>2]|0;g=r+1|0;Y=(g|0)>=(N|0)?0:g;g=ga-W|0;l=+(g|0);oa=h-ba|0;e=+(oa|0);na=da-W|0;ia=_-ba|0;D=+(na|0)*e-+(ia|0)*l;if(((X(h-_|0,ia)|0)+(X(ga-da|0,na)|0)|0)>-1&((oa|0)!=0&(g|0?D*D<=ea*(l*l+e*e):0))){f[c+(s<<3)>>2]=ga;f[c+(s<<3)+4>>2]=h;g=s+1|0;oa=Y+1|0;pa=(g|0)>=(N|0)?0:g;qa=la+1|0;ra=t+-1|0;sa=(oa|0)>=(N|0)?0:oa;ta=f[c+(Y<<3)>>2]|0;ua=ga;va=f[c+(Y<<3)+4>>2]|0;wa=h}else{f[c+(s<<3)>>2]=da;f[c+(s<<3)+4>>2]=_;oa=s+1|0;pa=(oa|0)>=(N|0)?0:oa;qa=la;ra=t;sa=Y;ta=ga;ua=da;va=h;wa=_}la=qa+1|0;if(!((ra|0)>2&(la|0)<(ma|0))){xa=pa;ya=ra;za=ta;Aa=va;break}else{s=pa;t=ra;r=sa;da=ta;W=ua;_=va;ba=wa}}}else{xa=a;ya=N;za=o;Aa=u}if(d){k=ya;return k|0}f[c+(xa<<3)>>2]=za;f[c+(xa<<3)+4>>2]=Aa;k=ya;return k|0}function sba(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;g=g|0;var h=0,i=0,j=0,k=0,l=0.0,m=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0,F=0,G=0,H=0.0,I=0.0,J=0.0,L=0,M=0.0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0.0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0.0,ta=0.0,ua=0.0,va=0.0,wa=0.0,xa=0.0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0;h=g+4|0;i=f[h>>2]|0;j=f[g>>2]|0;if(!b){k=0;return k|0}l=e*e;do if(d){m=3;o=8}else{p=b+-1|0;if(!(+n[a>>2]!=+n[a+(p<<3)>>2])?!(+n[a+4>>2]!=+n[a+(p<<3)+4>>2]):0){m=1;o=8;break}if(!i){f[h>>2]=0;q=0}else q=i;r=j;f[r>>2]=0;f[r+4>>2]=p;t=1;u=j;v=q;w=0;x=b;o=45}while(0);do if((o|0)==8){if((b|0)>1){q=0;p=0;r=0;while(1){y=(p+r|0)%(b|0)|0;z=f[a+(y<<3)>>2]|0;A=f[a+(y<<3)+4>>2]|0;B=y+1|0;e=(f[s>>2]=z,+n[s>>2]);C=(f[s>>2]=A,+n[s>>2]);y=1;D=0.0;E=(B|0)>=(b|0)?0:B;B=r;do{F=E+1|0;G=E;E=(F|0)>=(b|0)?0:F;H=+n[a+(G<<3)>>2]-e;I=+n[a+(G<<3)+4>>2]-C;J=H*H+I*I;G=J>D;B=G?y:B;D=G?J:D;y=y+1|0}while((y|0)!=(b|0));q=q+1|0;if((q|0)>=(m|0)){L=E;M=D;N=z;O=B;P=A;break}else{p=E;r=B}}}else{r=0;p=0;do{Q=(p|0)%(b|0)|0;q=Q+1|0;p=(q|0)>=(b|0)?0:q;r=r+1|0}while((r|0)<(m|0));L=p;M=0.0;N=f[a+(Q<<3)>>2]|0;O=0;P=f[a+(Q<<3)+4>>2]|0}if(M<=l){f[c>>2]=N;f[c+4>>2]=P;R=1;break}r=(L|0)%(b|0)|0;q=(r+O|0)%(b|0)|0;if(!i){y=i*3|0;G=y>>>1;F=f[h>>2]|0;if(F>>>0>>0){S=f[g>>2]|0;if(y>>>0>273){y=FQa(G>>>0>536870911?-1:G<<3)|0;FVa(y|0,0,G<<3|0)|0;T=y}else T=g+8|0;f[g>>2]=T;f[h>>2]=G;if((F|0)!=0&(T|0)!=(S|0)){y=S;U=f[y+4>>2]|0;V=T;f[V>>2]=f[y>>2];f[V+4>>2]=U;if((F|0)!=1){U=S+8|0;V=f[U+4>>2]|0;y=T+8|0;f[y>>2]=f[U>>2];f[y+4>>2]=V;if((F|0)==2)W=F;else{V=2;do{y=S+(V<<3)|0;U=f[y+4>>2]|0;X=(f[g>>2]|0)+(V<<3)|0;f[X>>2]=f[y>>2];f[X+4>>2]=U;V=V+1|0}while((V|0)!=(F|0));W=F}}else W=1}else W=F;do{V=(f[g>>2]|0)+(W<<3)|0;f[V>>2]=0;f[V+4>>2]=0;W=W+1|0}while((W|0)!=(G|0));if(!((S|0)==(g+8|0)|(S|0)==0))HQa(S)}else f[h>>2]=G;Y=f[g>>2]|0;Z=f[h>>2]|0}else{Y=j;Z=i}F=Y;f[F>>2]=q;f[F+4>>2]=r;if(Z>>>0>1){_=Y;$=Z}else{F=Z*3|0;V=F>>>1;p=f[h>>2]|0;if(p>>>0>>0){U=f[g>>2]|0;if(F>>>0>273){F=FQa(V>>>0>536870911?-1:V<<3)|0;FVa(F|0,0,V<<3|0)|0;aa=F}else aa=g+8|0;f[g>>2]=aa;f[h>>2]=V;if((p|0)!=0&(aa|0)!=(U|0)){F=U;X=f[F+4>>2]|0;y=aa;f[y>>2]=f[F>>2];f[y+4>>2]=X;if((p|0)!=1){X=U+8|0;y=f[X+4>>2]|0;F=aa+8|0;f[F>>2]=f[X>>2];f[F+4>>2]=y;if((p|0)==2)ba=p;else{y=2;do{F=U+(y<<3)|0;X=f[F+4>>2]|0;ca=(f[g>>2]|0)+(y<<3)|0;f[ca>>2]=f[F>>2];f[ca+4>>2]=X;y=y+1|0}while((y|0)!=(p|0));ba=p}}else ba=1}else ba=p;do{y=(f[g>>2]|0)+(ba<<3)|0;f[y>>2]=0;f[y+4>>2]=0;ba=ba+1|0}while((ba|0)!=(V|0));if(!((U|0)==(g+8|0)|(U|0)==0))HQa(U)}else f[h>>2]=V;_=f[g>>2]|0;$=f[h>>2]|0}p=_+8|0;f[p>>2]=r;f[p+4>>2]=q;t=2;u=_;v=$;w=1;x=q;o=45}while(0);if((o|0)==45){o=b+-1|0;$=g+8|0;_=0;ba=t;t=u;u=v;v=x;a:while(1){x=_;aa=ba;Z=v;while(1){da=aa+-1|0;Y=t+(da<<3)|0;ea=f[Y>>2]|0;fa=f[Y+4>>2]|0;Y=f[a+(ea<<3)>>2]|0;i=f[a+(ea<<3)+4>>2]|0;j=ea+1|0;W=(j|0)>=(b|0)?0:j;if((W|0)!=(fa|0)){M=(f[s>>2]=Y,+n[s>>2]);C=+n[a+(fa<<3)>>2]-M;e=(f[s>>2]=i,+n[s>>2]);J=+n[a+(fa<<3)+4>>2]-e;I=0.0;j=W;ga=Z;b:while(1){W=j;do{if((W|0)==(fa|0))break b;T=W+1|0;O=W;W=(T|0)>=(b|0)?0:T;ha=+K(+(C*(+n[a+(O<<3)+4>>2]-e)-J*(+n[a+(O<<3)>>2]-M)))}while(!(ha>I));I=ha;j=W;ga=(o+W|0)%(b|0)|0}if(!(I*I<=l*(J*J+C*C)))break;else ia=ga}else ia=Z;j=x+1|0;f[c+(x<<3)>>2]=Y;f[c+(x<<3)+4>>2]=i;if(!da){ja=j;break a}else{x=j;aa=da;Z=ia}}if(da>>>0>>0){ka=t;la=u}else{Z=u*3|0;q=Z>>>1;r=f[h>>2]|0;if(r>>>0>>0){V=f[g>>2]|0;if(Z>>>0>273){Z=FQa(q>>>0>536870911?-1:q<<3)|0;FVa(Z|0,0,q<<3|0)|0;ma=Z}else ma=$;f[g>>2]=ma;f[h>>2]=q;if((r|0)!=0&(ma|0)!=(V|0)){Z=V;U=f[Z+4>>2]|0;j=ma;f[j>>2]=f[Z>>2];f[j+4>>2]=U;if((r|0)!=1){U=V+8|0;j=f[U+4>>2]|0;Z=ma+8|0;f[Z>>2]=f[U>>2];f[Z+4>>2]=j;if((r|0)==2)na=r;else{j=2;do{Z=V+(j<<3)|0;U=f[Z+4>>2]|0;B=(f[g>>2]|0)+(j<<3)|0;f[B>>2]=f[Z>>2];f[B+4>>2]=U;j=j+1|0}while((j|0)!=(r|0));na=r}}else na=1}else na=r;do{j=(f[g>>2]|0)+(na<<3)|0;f[j>>2]=0;f[j+4>>2]=0;na=na+1|0}while((na|0)!=(q|0));if(!((V|0)==($|0)|(V|0)==0))HQa(V)}else f[h>>2]=q;ka=f[g>>2]|0;la=f[h>>2]|0}r=ka+(da<<3)|0;f[r>>2]=ga;f[r+4>>2]=fa;if(aa>>>0>>0){oa=ka;pa=la}else{r=la*3|0;j=r>>>1;U=f[h>>2]|0;if(U>>>0>>0){B=f[g>>2]|0;if(r>>>0>273){r=FQa(j>>>0>536870911?-1:j<<3)|0;FVa(r|0,0,j<<3|0)|0;qa=r}else qa=$;f[g>>2]=qa;f[h>>2]=j;if((U|0)!=0&(qa|0)!=(B|0)){r=B;Z=f[r+4>>2]|0;E=qa;f[E>>2]=f[r>>2];f[E+4>>2]=Z;if((U|0)!=1){Z=B+8|0;E=f[Z+4>>2]|0;r=qa+8|0;f[r>>2]=f[Z>>2];f[r+4>>2]=E;if((U|0)==2)ra=U;else{E=2;do{r=B+(E<<3)|0;Z=f[r+4>>2]|0;A=(f[g>>2]|0)+(E<<3)|0;f[A>>2]=f[r>>2];f[A+4>>2]=Z;E=E+1|0}while((E|0)!=(U|0));ra=U}}else ra=1}else ra=U;do{E=(f[g>>2]|0)+(ra<<3)|0;f[E>>2]=0;f[E+4>>2]=0;ra=ra+1|0}while((ra|0)!=(j|0));if(!((B|0)==($|0)|(B|0)==0))HQa(B)}else f[h>>2]=j;oa=f[g>>2]|0;pa=f[h>>2]|0}ba=aa+1|0;U=oa+(aa<<3)|0;f[U>>2]=ea;f[U+4>>2]=ga;if(!ba){ja=x;break}else{_=x;t=oa;u=pa;v=ga}}if(w)R=ja;else{f[c+(ja<<3)>>2]=f[a+(o<<3)>>2];f[c+(ja<<3)+4>>2]=f[a+(o<<3)+4>>2];R=ja+1|0}}ja=d?R+-1|0:0;o=ja+1|0;a=(o|0)>=(R|0)?0:o;o=f[c+(a<<3)>>2]|0;w=f[c+(a<<3)+4>>2]|0;ga=a+1|0;v=(d^1)&1;pa=R-v|0;if((R|0)>2&(pa|0)>(v|0)){ha=l*.5;u=a;oa=v;v=R;t=(ga|0)>=(R|0)?0:ga;ga=o;_=f[c+(ja<<3)>>2]|0;ba=w;ea=f[c+(ja<<3)+4>>2]|0;while(1){ja=f[c+(t<<3)>>2]|0;h=f[c+(t<<3)+4>>2]|0;g=t+1|0;$=(g|0)>=(R|0)?0:g;l=(f[s>>2]=ja,+n[s>>2]);M=(f[s>>2]=_,+n[s>>2]);e=l-M;D=e;H=(f[s>>2]=h,+n[s>>2]);sa=(f[s>>2]=ea,+n[s>>2]);ta=H-sa;ua=ta;va=(f[s>>2]=ga,+n[s>>2]);wa=va-M;M=(f[s>>2]=ba,+n[s>>2]);xa=M-sa;sa=wa*ua-xa*D;if(wa*(l-va)+xa*(H-M)>=0.0&(ta!=0.0&(e!=0.0?sa*sa<=ha*(D*D+ua*ua):0))){f[c+(u<<3)>>2]=ja;f[c+(u<<3)+4>>2]=h;g=u+1|0;ra=$+1|0;ya=(g|0)>=(R|0)?0:g;za=oa+1|0;Aa=v+-1|0;Ba=(ra|0)>=(R|0)?0:ra;Ca=f[c+($<<3)>>2]|0;Da=ja;Ea=f[c+($<<3)+4>>2]|0;Fa=h}else{f[c+(u<<3)>>2]=ga;f[c+(u<<3)+4>>2]=ba;ra=u+1|0;ya=(ra|0)>=(R|0)?0:ra;za=oa;Aa=v;Ba=$;Ca=ja;Da=ga;Ea=h;Fa=ba}oa=za+1|0;if(!((Aa|0)>2&(oa|0)<(pa|0))){Ga=ya;Ha=Aa;Ia=Ca;Ja=Ea;break}else{u=ya;v=Aa;t=Ba;ga=Ca;_=Da;ba=Ea;ea=Fa}}}else{Ga=a;Ha=R;Ia=o;Ja=w}if(d){k=Ha;return k|0}f[c+(Ga<<3)>>2]=Ia;f[c+(Ga<<3)+4>>2]=Ja;k=Ha;return k|0}function tba(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,L=0.0,M=0.0,N=0,O=0,P=0;d=u;u=u+16|0;e=d;yV(e,48604);g=a;h=f[g>>2]|0;i=f[g+4>>2]|0;g=qVa(h|0,i|0,-1,-1)|0;j=I;k=a+8|0;a=f[k>>2]|0;l=f[k+4>>2]|0;k=qVa(a|0,l|0,-1,-1)|0;m=I;if((i|0)<0|(i|0)==0&h>>>0<1|((l|0)<0|(l|0)==0&a>>>0<1))n=0;else{o=b+8|0;p=c+8|0;q=b;r=f[q>>2]|0;s=f[q+4>>2]|0;q=AVa(r|0,s|0,63)|0;t=o;v=f[t>>2]|0;w=f[t+4>>2]|0;t=AVa(v|0,w|0,61)|0;x=(((s|0)>(i|0)|(s|0)==(i|0)&r>>>0>=h>>>0)&1)<<1|q|t&4|(((w|0)>(l|0)|(w|0)==(l|0)&v>>>0>=a>>>0)&1)<<3;t=c;q=f[t>>2]|0;y=f[t+4>>2]|0;t=AVa(q|0,y|0,63)|0;z=p;A=f[z>>2]|0;B=f[z+4>>2]|0;z=AVa(A|0,B|0,61)|0;C=(((y|0)>(i|0)|(y|0)==(i|0)&q>>>0>=h>>>0)&1)<<1|t|z&4|(((B|0)>(l|0)|(B|0)==(l|0)&A>>>0>=a>>>0)&1)<<3;if(!((C&x|0)!=0|(C|x|0)==0)){if(!(x&12)){D=x;E=r;F=s;G=v;H=w}else{a=(x|0)<8;l=a?0:k;z=a?0:m;a=rVa(l|0,z|0,v|0,w|0)|0;L=+(a>>>0)+4294967296.0*+(I|0);a=rVa(q|0,y|0,r|0,s|0)|0;M=(+(a>>>0)+4294967296.0*+(I|0))*L;a=rVa(A|0,B|0,v|0,w|0)|0;L=M/(+(a>>>0)+4294967296.0*+(I|0));a=qVa(r|0,s|0,~~L>>>0|0,(+K(L)>=1.0?(L>0.0?~~+Y(+J(L/4294967296.0),4294967295.0)>>>0:~~+W((L-+(~~L>>>0))/4294967296.0)>>>0):0)|0)|0;s=I;r=b;f[r>>2]=a;f[r+4>>2]=s;r=o;f[r>>2]=l;f[r+4>>2]=z;r=AVa(a|0,s|0,63)|0;D=(((s|0)>(i|0)|(s|0)==(i|0)&a>>>0>=h>>>0)&1)<<1|r;E=a;F=s;G=l;H=z}if(!(C&12))N=C;else{z=(C|0)<8;l=z?0:k;k=z?0:m;m=p;z=f[m>>2]|0;s=f[m+4>>2]|0;m=rVa(l|0,k|0,z|0,s|0)|0;L=+(m>>>0)+4294967296.0*+(I|0);m=c;a=f[m>>2]|0;r=f[m+4>>2]|0;m=rVa(a|0,r|0,E|0,F|0)|0;M=L*(+(m>>>0)+4294967296.0*+(I|0));m=rVa(z|0,s|0,G|0,H|0)|0;L=M/(+(m>>>0)+4294967296.0*+(I|0));m=qVa(a|0,r|0,~~L>>>0|0,(+K(L)>=1.0?(L>0.0?~~+Y(+J(L/4294967296.0),4294967295.0)>>>0:~~+W((L-+(~~L>>>0))/4294967296.0)>>>0):0)|0)|0;r=I;a=c;f[a>>2]=m;f[a+4>>2]=r;a=p;f[a>>2]=l;f[a+4>>2]=k;k=AVa(m|0,r|0,63)|0;N=(((r|0)>(i|0)|(r|0)==(i|0)&m>>>0>=h>>>0)&1)<<1|k}if(!((N&D|0)!=0|(N|D|0)==0)){if(D|0){k=(D|0)==1;h=k?0:g;m=k?0:j;k=b;i=f[k>>2]|0;r=f[k+4>>2]|0;k=rVa(h|0,m|0,i|0,r|0)|0;L=+(k>>>0)+4294967296.0*+(I|0);k=p;a=o;l=f[a>>2]|0;H=f[a+4>>2]|0;a=rVa(f[k>>2]|0,f[k+4>>2]|0,l|0,H|0)|0;M=L*(+(a>>>0)+4294967296.0*+(I|0));a=c;k=rVa(f[a>>2]|0,f[a+4>>2]|0,i|0,r|0)|0;L=M/(+(k>>>0)+4294967296.0*+(I|0));k=qVa(l|0,H|0,~~L>>>0|0,(+K(L)>=1.0?(L>0.0?~~+Y(+J(L/4294967296.0),4294967295.0)>>>0:~~+W((L-+(~~L>>>0))/4294967296.0)>>>0):0)|0)|0;H=o;f[H>>2]=k;f[H+4>>2]=I;H=b;f[H>>2]=h;f[H+4>>2]=m}if(!N){O=0;P=0}else{m=(N|0)==1;H=m?0:g;g=m?0:j;j=c;m=f[j>>2]|0;h=f[j+4>>2]|0;j=rVa(H|0,g|0,m|0,h|0)|0;L=+(j>>>0)+4294967296.0*+(I|0);j=p;k=f[j>>2]|0;l=f[j+4>>2]|0;j=o;o=rVa(k|0,l|0,f[j>>2]|0,f[j+4>>2]|0)|0;M=L*(+(o>>>0)+4294967296.0*+(I|0));o=b;b=rVa(m|0,h|0,f[o>>2]|0,f[o+4>>2]|0)|0;L=M/(+(b>>>0)+4294967296.0*+(I|0));b=qVa(k|0,l|0,~~L>>>0|0,(+K(L)>=1.0?(L>0.0?~~+Y(+J(L/4294967296.0),4294967295.0)>>>0:~~+W((L-+(~~L>>>0))/4294967296.0)>>>0):0)|0)|0;l=p;f[l>>2]=b;f[l+4>>2]=I;l=c;f[l>>2]=H;f[l+4>>2]=g;O=0;P=0}}else{O=N;P=D}}else{O=C;P=x}n=(P|O|0)==0}if(!(f[e+4>>2]|0)){u=d;return n|0}u=d;return n|0}function uba(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;i=u;u=u+48|0;j=i+32|0;k=i+16|0;l=i;m=a+20|0;f[m>>2]=-1;n=(g|0)==8;switch(g|0){case 4:case 8:break;default:{f[j>>2]=0;f[j+4>>2]=0;g=JV(j,38)|0;o=231219;p=g+38|0;do{b[g>>0]=b[o>>0]|0;g=g+1|0;o=o+1|0}while((g|0)<(p|0));EP(-215,j,216104,216045,168);KV(j)}}o=f[d>>2]|0;g=f[c+12>>2]|0;p=f[e>>2]|0;if((o>>>0>>0&p>>>0>>0?(g=f[c+8>>2]|0,(f[d+4>>2]|0)>>>0>>0):0)?(q=f[e+4>>2]|0,q>>>0>>0):0){r=p;s=q}else{q=f[c+40>>2]|0;g=f[q+4>>2]|0;t=f[q>>2]|0;q=d+4|0;v=f[q>>2]|0;w=j;f[w>>2]=o;f[w+4>>2]=((o|0)<0)<<31>>31;o=j+8|0;w=o;f[w>>2]=v;f[w+4>>2]=((v|0)<0)<<31>>31;v=e+4|0;w=f[v>>2]|0;x=k;f[x>>2]=p;f[x+4>>2]=((p|0)<0)<<31>>31;p=k+8|0;x=p;f[x>>2]=w;f[x+4>>2]=((w|0)<0)<<31>>31;w=l;f[w>>2]=g;f[w+4>>2]=((g|0)<0)<<31>>31;g=l+8|0;f[g>>2]=t;f[g+4>>2]=((t|0)<0)<<31>>31;t=tba(l,j,k)|0;f[d>>2]=f[j>>2];f[q>>2]=f[o>>2];o=f[k>>2]|0;f[e>>2]=o;e=f[p>>2]|0;f[v>>2]=e;if(t){r=o;s=e}else{f[a>>2]=f[c+16>>2];e=a+16|0;f[a+4>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;y=0;z=0;A=a+8|0;f[A>>2]=z;B=a+12|0;f[B>>2]=y;u=i;return}}e=f[c+4>>2]|0;if((e|0)>0)C=f[(f[c+44>>2]|0)+(e+-1<<2)>>2]|0;else C=0;e=c+48|0;o=f[e>>2]|0;t=f[d>>2]|0;v=r-t|0;p=d+4|0;k=f[p>>2]|0;q=s-k|0;j=v>>31;l=(j^v)-j|0;if(h){h=j&(t^r)^t;f[d>>2]=h;d=(s^k)&j^k;f[p>>2]=d;D=(q^j)-j|0;E=C;F=d;G=h}else{D=q;E=(j^C)-j|0;F=k;G=t}t=c+16|0;c=(f[t>>2]|0)+(X(F,o)|0)+(X(G,C)|0)|0;f[a>>2]=c;c=D>>31;G=(c^D)-c|0;D=(c^o)-c|0;c=(G|0)>(l|0);o=(c?G:0)^l;l=(c?o:0)^G;G=(c?l:0)^o;o=(c?D:0)^E;E=(c?o:0)^D;D=(c?E:0)^o;if(n){n=l<<1;H=n;I=G<<1;J=G-n|0;K=G;L=E}else{n=l<<1;H=n;I=(G<<1)+n|0;J=0;K=G+l|0;L=E-D|0}f[a+16>>2]=J;f[a+28>>2]=I;f[a+24>>2]=0-H;f[a+36>>2]=L;f[a+32>>2]=D;f[m>>2]=K+1;f[a+4>>2]=f[t>>2];y=C;z=f[e>>2]|0;A=a+8|0;f[A>>2]=z;B=a+12|0;f[B>>2]=y;u=i;return}function vba(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;i=u;u=u+64|0;j=i+40|0;k=i+16|0;l=i;m=i+32|0;f[j>>2]=0;n=j+4|0;f[n>>2]=0;f[j+8>>2]=0;o=+(f[a+4>>2]|0);p[k>>3]=+(f[a>>2]|0);p[k+8>>3]=o;o=+(f[b+4>>2]|0);p[l>>3]=+(f[b>>2]|0);p[l+8>>3]=o;wba(k,l,c,d,e,g,j);g=h+4|0;e=f[g>>2]|0;d=f[h>>2]|0;c=e;if((e|0)==(d|0)|(d|0)==(c|0))q=e;else{e=c+(~((c+-8-d|0)>>>3)<<3)|0;f[g>>2]=e;q=e}e=f[n>>2]|0;c=f[j>>2]|0;l=c;if((e|0)==(c|0)){r=d;s=q;t=l}else{q=m+4|0;d=h+8|0;k=0;b=-2147483648;v=-2147483648;w=l;x=l;l=c;c=e;while(1){e=AEa(+p[w+(k<<4)>>3])|0;f[m>>2]=e;y=AEa(+p[w+(k<<4)+8>>3])|0;f[q>>2]=y;if((e|0)!=(b|0)|(y|0)!=(v|0)){z=f[g>>2]|0;if((z|0)==(f[d>>2]|0)){xba(h,m);A=f[n>>2]|0;B=f[j>>2]|0}else{f[z>>2]=e;f[z+4>>2]=y;f[g>>2]=z+8;A=c;B=l}C=f[m>>2]|0;D=f[q>>2]|0;E=B;F=A;G=B}else{C=b;D=v;E=l;F=c;G=x}k=k+1|0;if(k>>>0>=F-E>>4>>>0)break;else{b=C;v=D;w=E;x=G;l=E;c=F}}r=f[h>>2]|0;s=f[g>>2]|0;t=G}if((s-r|0)==8){yba(h,2,a);H=f[j>>2]|0}else H=t;if(!H){u=i;return}t=f[n>>2]|0;if((t|0)!=(H|0))f[n>>2]=t+(~((t+-16-H|0)>>>4)<<4);GQa(H);u=i;return}function wba(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0.0,w=0.0,x=0,y=0,z=0.0,A=0,B=0.0,C=0.0,D=0.0,E=0,F=0;i=u;u=u+32|0;j=i+16|0;k=i;yV(j,48624);l=((c|0)>0?c:0)+359-c|0;m=l-((l>>>0)%360|0)+c|0;c=~m;l=m+((c|0)>-361?c:-361)+360|0;c=m+(((l>>>0)%360|0)-l)|0;l=(d|0)>(e|0);m=l?d:e;o=l?e:d;if((o|0)<0){l=~((e|0)<(d|0)?e:d);d=((o|0)>-360?o:-360)+l+360|0;e=d-((d>>>0)%360|0)|0;q=e+359-l|0;r=m+e+360|0}else{q=o;r=m}if((r|0)>360){m=~r;o=r+((m|0)>-721?m:-721)+360|0;m=o-((o>>>0)%360|0)|0;s=q+-360-m|0;t=r+-360-m|0}else{s=q;t=r}r=(t-s|0)>360;q=r?360:t;t=r?0:s;s=(c>>31&360)+c|0;v=+n[48644+(s<<2)>>2];w=+n[48644+(450-s<<2)>>2];s=h+4|0;c=f[s>>2]|0;r=f[h>>2]|0;m=c;if((c|0)==(r|0)|(r|0)==(m|0)){x=c;y=m}else{c=m+(~((m+-16-r|0)>>>4)<<4)|0;f[s>>2]=c;x=c;y=c}c=q+g|0;if((t|0)<(c|0)){m=b+8|0;z=w;w=v;o=a+8|0;e=k+8|0;l=h+8|0;d=t;t=y;while(1){y=(d|0)>(q|0)?q:d;A=(y|0)<0?y+360|0:y;v=+p[b>>3]*+n[48644+(450-A<<2)>>2];B=+p[m>>3]*+n[48644+(A<<2)>>2];C=v*z+ +p[a>>3]-B*w;p[k>>3]=C;D=B*z+(v*w+ +p[o>>3]);p[e>>3]=D;if((t|0)==(f[l>>2]|0))zba(h,k);else{p[t>>3]=C;p[t+8>>3]=D;f[s>>2]=t+16}A=d+g|0;if((A|0)>=(c|0))break;d=A;t=f[s>>2]|0}E=f[h>>2]|0;F=f[s>>2]|0}else{E=r;F=x}if((F-E|0)==16)Aba(h,2,a);if(!(f[j+4>>2]|0)){u=i;return}u=i;return}function xba(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e>>3;h=g+1|0;i=e;j=d;if(h>>>0>536870911)ZOa(a);d=a+8|0;k=(f[d>>2]|0)-e|0;l=k>>2;m=k>>3>>>0<268435455?(l>>>0>>0?h:l):536870911;do if(m)if(m>>>0>536870911){l=hd(8)|0;LQa(l,349912);f[l>>2]=118288;ld(l|0,20688,857)}else{n=EQa(m<<3)|0;break}else n=0;while(0);l=n+(g<<3)|0;h=n+(m<<3)|0;f[l>>2]=f[b>>2];f[n+(g<<3)+4>>2]=f[b+4>>2];b=l+8|0;if((j|0)==(i|0))o=l;else{g=j+-8-e|0;n=j;j=l;while(1){m=n;n=n+-8|0;f[j+-8>>2]=f[n>>2];f[j+-4>>2]=f[m+-4>>2];if((n|0)==(i|0))break;else j=j+-8|0}o=l+(~(g>>>3)<<3)|0}f[a>>2]=o;f[c>>2]=b;f[d>>2]=h;if(!e)return;GQa(e);return}function yba(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=a+8|0;e=f[d>>2]|0;g=f[a>>2]|0;h=g;do if(e-g>>3>>>0>=b>>>0){i=a+4|0;j=f[i>>2]|0;k=j-g>>3;l=k>>>0>>0;m=l?k:b;n=j;if(m|0){j=c+4|0;o=m;m=h;while(1){f[m>>2]=f[c>>2];f[m+4>>2]=f[j>>2];o=o+-1|0;if(!o)break;else m=m+8|0}}if(!l){m=h+(b<<3)|0;if((m|0)==(n|0))return;else{p=i;q=n+(~((n+-8-m|0)>>>3)<<3)|0;break}}else{m=b-k|0;o=c+4|0;j=m;r=n;while(1){f[r>>2]=f[c>>2];f[r+4>>2]=f[o>>2];j=j+-1|0;if(!j)break;else r=r+8|0}p=i;q=n+(m<<3)|0;break}}else{r=g;if(!g)s=e;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(h|0))f[j>>2]=o+(~((o+-8-g|0)>>>3)<<3);GQa(r);f[d>>2]=0;f[j>>2]=0;f[a>>2]=0;s=0}if(b>>>0>536870911)ZOa(a);j=s>>2;r=s>>3>>>0<268435455?(j>>>0>>0?b:j):536870911;if(r>>>0>536870911)ZOa(a);j=EQa(r<<3)|0;o=a+4|0;f[o>>2]=j;f[a>>2]=j;f[d>>2]=j+(r<<3);r=c+4|0;k=b;l=j;while(1){f[l>>2]=f[c>>2];f[l+4>>2]=f[r>>2];k=k+-1|0;if(!k)break;else l=l+8|0}p=o;q=j+(b<<3)|0}while(0);f[p>>2]=q;return}function zba(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e>>4;h=g+1|0;i=e;j=d;if(h>>>0>268435455)ZOa(a);d=a+8|0;k=(f[d>>2]|0)-e|0;l=k>>3;m=k>>4>>>0<134217727?(l>>>0>>0?h:l):268435455;do if(m)if(m>>>0>268435455){l=hd(8)|0;LQa(l,349912);f[l>>2]=118288;ld(l|0,20688,857)}else{n=EQa(m<<4)|0;break}else n=0;while(0);l=n+(g<<4)|0;h=n+(m<<4)|0;p[l>>3]=+p[b>>3];p[n+(g<<4)+8>>3]=+p[b+8>>3];b=l+16|0;if((j|0)==(i|0))o=l;else{g=j+-16-e|0;n=j;j=l;while(1){m=n;n=n+-16|0;p[j+-16>>3]=+p[n>>3];p[j+-8>>3]=+p[m+-8>>3];if((n|0)==(i|0))break;else j=j+-16|0}o=l+(~(g>>>4)<<4)|0}f[a>>2]=o;f[c>>2]=b;f[d>>2]=h;if(!e)return;GQa(e);return}function Aba(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0;d=a+8|0;e=f[d>>2]|0;g=f[a>>2]|0;h=g;do if(e-g>>4>>>0>=b>>>0){i=a+4|0;j=f[i>>2]|0;k=j-g>>4;l=k>>>0>>0;m=l?k:b;n=j;if(m|0){j=c+8|0;o=m;m=h;while(1){p[m>>3]=+p[c>>3];p[m+8>>3]=+p[j>>3];o=o+-1|0;if(!o)break;else m=m+16|0}}if(!l){m=h+(b<<4)|0;if((m|0)==(n|0))return;else{q=i;r=n+(~((n+-16-m|0)>>>4)<<4)|0;break}}else{m=b-k|0;o=c+8|0;j=m;s=n;while(1){p[s>>3]=+p[c>>3];p[s+8>>3]=+p[o>>3];j=j+-1|0;if(!j)break;else s=s+16|0}q=i;r=n+(m<<4)|0;break}}else{s=g;if(!g)t=e;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(h|0))f[j>>2]=o+(~((o+-16-g|0)>>>4)<<4);GQa(s);f[d>>2]=0;f[j>>2]=0;f[a>>2]=0;t=0}if(b>>>0>268435455)ZOa(a);j=t>>3;s=t>>4>>>0<134217727?(j>>>0>>0?b:j):268435455;if(s>>>0>268435455)ZOa(a);j=EQa(s<<4)|0;o=a+4|0;f[o>>2]=j;f[a>>2]=j;f[d>>2]=j+(s<<4);s=c+8|0;k=b;l=j;while(1){p[l>>3]=+p[c>>3];p[l+8>>3]=+p[s>>3];k=k+-1|0;if(!k)break;else l=l+16|0}q=o;r=j+(b<<4)|0}while(0);f[q>>2]=r;return}function Bba(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;j=u;u=u+128|0;k=j+120|0;l=j+64|0;m=j+32|0;n=j+16|0;o=j;yV(k,50448);do if((HJ(a)|0)==65536){p=f[a+4>>2]|0;f[l>>2]=f[p>>2];q=l+4|0;r=p+4|0;f[q>>2]=f[r>>2];s=l+8|0;f[s>>2]=f[p+8>>2];f[l+12>>2]=f[p+12>>2];f[l+16>>2]=f[p+16>>2];f[l+20>>2]=f[p+20>>2];f[l+24>>2]=f[p+24>>2];f[l+28>>2]=f[p+28>>2];f[l+32>>2]=f[p+32>>2];t=f[p+36>>2]|0;f[l+36>>2]=t;f[l+40>>2]=s;s=l+48|0;v=l+44|0;f[v>>2]=s;f[s>>2]=0;f[l+52>>2]=0;if(t|0){s=t+12|0;f[s>>2]=(f[s>>2]|0)+1}if((f[r>>2]|0)<3){r=f[p+44>>2]|0;s=f[v>>2]|0;f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2];break}else{f[q>>2]=0;WO(l,p);break}}else DJ(l,a,-1);while(0);if((h|0)==16)w=(f[l>>2]&7|0)==0?16:8;else w=h;if((g+-1|0)>>>0>=32767){f[m>>2]=0;f[m+4>>2]=0;x=JV(m,43)|0;y=216208;z=x+43|0;do{b[x>>0]=b[y>>0]|0;x=x+1|0;y=y+1|0}while((x|0)<(z|0));EP(-215,m,216252,216045,1815);KV(m)}if(i>>>0>=17){f[m>>2]=0;f[m+4>>2]=0;x=JV(m,31)|0;y=216257;z=x+31|0;do{b[x>>0]=b[y>>0]|0;x=x+1|0;y=y+1|0}while((x|0)<(z|0));EP(-215,m,216252,216045,1816);KV(m)}uW(e,m,f[l>>2]&4095,0);e=f[c>>2]|0;y=f[c+4>>2]|0;c=n;f[c>>2]=e;f[c+4>>2]=((e|0)<0)<<31>>31;e=n+8|0;f[e>>2]=y;f[e+4>>2]=((y|0)<0)<<31>>31;y=f[d>>2]|0;e=f[d+4>>2]|0;d=o;f[d>>2]=y;f[d+4>>2]=((y|0)<0)<<31>>31;y=o+8|0;f[y>>2]=e;f[y+4>>2]=((e|0)<0)<<31>>31;Cba(l,n,o,m,g,w,3,i);i=l+36|0;w=f[i>>2]|0;if(w|0?(g=w+12|0,w=f[g>>2]|0,f[g>>2]=w+-1,(w|0)==1):0)XO(l);f[i>>2]=0;i=l+16|0;w=l+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[w>>2]|0)>0){i=f[l+40>>2]|0;g=0;do{f[i+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[w>>2]|0))}w=f[l+44>>2]|0;if((w|0)!=(l+48|0))dX(w);if(!(f[k+4>>2]|0)){u=j;return}u=j;return}function Cba(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,M=0,N=0.0,O=0.0,P=0.0,Q=0.0;j=u;u=u+176|0;k=j+80|0;l=j+64|0;m=j+48|0;n=j+32|0;o=j+96|0;p=j+160|0;q=j+16|0;r=j;s=16-i|0;t=b;v=BVa(f[t>>2]|0,f[t+4>>2]|0,s|0)|0;t=b;f[t>>2]=v;f[t+4>>2]=I;t=b+8|0;v=t;w=BVa(f[v>>2]|0,f[v+4>>2]|0,s|0)|0;v=t;f[v>>2]=w;f[v+4>>2]=I;v=c;w=BVa(f[v>>2]|0,f[v+4>>2]|0,s|0)|0;v=I;x=c;f[x>>2]=w;f[x+4>>2]=v;x=c+8|0;y=x;z=BVa(f[y>>2]|0,f[y+4>>2]|0,s|0)|0;s=I;y=x;f[y>>2]=z;f[y+4>>2]=s;if((e|0)<2){if((g|0)>=16){y=b;A=f[y+4>>2]|0;B=m;f[B>>2]=f[y>>2];f[B+4>>2]=A;A=t;B=f[A+4>>2]|0;y=m+8|0;f[y>>2]=f[A>>2];f[y+4>>2]=B;B=n;f[B>>2]=w;f[B+4>>2]=v;B=n+8|0;f[B>>2]=z;f[B+4>>2]=s;Fba(a,m,n,d);u=j;return}a:do if(i|0){switch(g|0){case 1:case 4:{break a;break}default:{}}n=b;m=f[n+4>>2]|0;B=k;f[B>>2]=f[n>>2];f[B+4>>2]=m;m=t;B=f[m+4>>2]|0;n=k+8|0;f[n>>2]=f[m>>2];f[n+4>>2]=B;B=l;f[B>>2]=w;f[B+4>>2]=v;B=l+8|0;f[B>>2]=z;f[B+4>>2]=s;Eba(a,k,l,d);u=j;return}while(0);l=b;k=qVa(f[l>>2]|0,f[l+4>>2]|0,32768,0)|0;l=zVa(k|0,I|0,16)|0;k=b;f[k>>2]=l;f[k+4>>2]=I;k=t;l=qVa(f[k>>2]|0,f[k+4>>2]|0,32768,0)|0;k=zVa(l|0,I|0,16)|0;l=t;f[l>>2]=k;f[l+4>>2]=I;l=c;k=qVa(f[l>>2]|0,f[l+4>>2]|0,32768,0)|0;l=zVa(k|0,I|0,16)|0;k=I;i=c;f[i>>2]=l;f[i+4>>2]=k;i=x;B=qVa(f[i>>2]|0,f[i+4>>2]|0,32768,0)|0;i=zVa(B|0,I|0,16)|0;B=I;n=x;f[n>>2]=i;f[n+4>>2]=B;n=b;m=f[n>>2]|0;y=f[n+4>>2]|0;n=qVa(m|0,y|0,-2147483648,0)|0;A=I;C=t;D=f[C>>2]|0;E=f[C+4>>2]|0;C=qVa(D|0,E|0,-2147483648,0)|0;F=I;G=qVa(l|0,k|0,-2147483648,0)|0;H=I;J=qVa(i|0,B|0,-2147483648,0)|0;M=I;Dba(a,A>>>0<1|(A|0)==1&n>>>0<0?m:(y|0)>0|(y|0)==0&m>>>0>0?2147483647:-2147483648,F>>>0<1|(F|0)==1&C>>>0<0?D:(E|0)>0|(E|0)==0&D>>>0>0?2147483647:-2147483648,H>>>0<1|(H|0)==1&G>>>0<0?l:(k|0)>0|(k|0)==0&l>>>0>0?2147483647:-2147483648,M>>>0<1|(M|0)==1&J>>>0<0?i:(B|0)>0|(B|0)==0&i>>>0>0?2147483647:-2147483648,d,g);u=j;return}i=o;B=i+64|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(B|0));i=b;B=f[i>>2]|0;J=f[i+4>>2]|0;i=rVa(B|0,J|0,w|0,v|0)|0;N=(+(i>>>0)+4294967296.0*+(I|0))*.0000152587890625;i=t;M=f[i>>2]|0;l=f[i+4>>2]|0;i=rVa(z|0,s|0,M|0,l|0)|0;O=(+(i>>>0)+4294967296.0*+(I|0))*.0000152587890625;P=N*N+O*O;i=e<<15;if(+K(+P)>2.220446049250313e-16){Q=(+(e<<16&65536|0)*.5+ +(i|0))/+L(+P);e=AEa(O*Q)|0;k=((e|0)<0)<<31>>31;G=AEa(N*Q)|0;H=((G|0)<0)<<31>>31;D=qVa(B|0,J|0,e|0,k|0)|0;E=o;f[E>>2]=D;f[E+4>>2]=I;E=qVa(M|0,l|0,G|0,H|0)|0;D=o+8|0;f[D>>2]=E;f[D+4>>2]=I;D=rVa(B|0,J|0,e|0,k|0)|0;J=o+16|0;f[J>>2]=D;f[J+4>>2]=I;J=rVa(M|0,l|0,G|0,H|0)|0;l=o+24|0;f[l>>2]=J;f[l+4>>2]=I;l=rVa(w|0,v|0,e|0,k|0)|0;J=o+32|0;f[J>>2]=l;f[J+4>>2]=I;J=rVa(z|0,s|0,G|0,H|0)|0;l=o+40|0;f[l>>2]=J;f[l+4>>2]=I;l=qVa(w|0,v|0,e|0,k|0)|0;k=o+48|0;f[k>>2]=l;f[k+4>>2]=I;k=qVa(z|0,s|0,G|0,H|0)|0;H=o+56|0;f[H>>2]=k;f[H+4>>2]=I;Gba(a,o,4,d,g,16)}o=p+4|0;H=i+32768>>16;k=q+8|0;G=((i|0)<0)<<31>>31;s=r+8|0;z=(h&1|0)==0;if((g|0)<16){if(!z){l=b;e=qVa(f[l>>2]|0,f[l+4>>2]|0,32768,0)|0;l=AVa(e|0,I|0,16)|0;e=t;v=qVa(f[e>>2]|0,f[e+4>>2]|0,32768,0)|0;e=AVa(v|0,I|0,16)|0;f[p>>2]=l;f[o>>2]=e;Hba(a,p,H,d,1)}e=c;l=f[e>>2]|0;v=f[e+4>>2]|0;e=b;f[e>>2]=l;f[e+4>>2]=v;e=x;w=f[e>>2]|0;J=f[e+4>>2]|0;e=t;f[e>>2]=w;f[e+4>>2]=J;if(h&2|0){e=qVa(l|0,v|0,32768,0)|0;v=AVa(e|0,I|0,16)|0;e=qVa(w|0,J|0,32768,0)|0;J=AVa(e|0,I|0,16)|0;f[p>>2]=v;f[o>>2]=J;Hba(a,p,H,d,1)}}else{if(!z){z=b;H=f[z+4>>2]|0;p=q;f[p>>2]=f[z>>2];f[p+4>>2]=H;H=t;p=f[H+4>>2]|0;z=k;f[z>>2]=f[H>>2];f[z+4>>2]=p;p=r;f[p>>2]=i;f[p+4>>2]=G;p=s;f[p>>2]=i;f[p+4>>2]=G;Iba(a,q,r,0,0,360,d,-1,g)}p=c;z=f[p>>2]|0;H=f[p+4>>2]|0;p=b;f[p>>2]=z;f[p+4>>2]=H;p=x;J=f[p>>2]|0;o=f[p+4>>2]|0;p=t;f[p>>2]=J;f[p+4>>2]=o;if(h&2|0){h=q;f[h>>2]=z;f[h+4>>2]=H;H=k;f[H>>2]=J;f[H+4>>2]=o;o=r;f[o>>2]=i;f[o+4>>2]=G;o=s;f[o>>2]=i;f[o+4>>2]=G;Iba(a,q,r,0,0,360,d,-1,g)}}g=c;c=f[g+4>>2]|0;d=b;f[d>>2]=f[g>>2];f[d+4>>2]=c;c=x;x=f[c+4>>2]|0;d=t;f[d>>2]=f[c>>2];f[d+4>>2]=x;u=j;return}function Dba(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;j=u;u=u+64|0;k=j+16|0;l=j+8|0;m=j;switch(i|0){case 0:{n=8;break}case 1:{n=4;break}default:n=i}f[l>>2]=c;f[l+4>>2]=d;f[m>>2]=e;f[m+4>>2]=g;uba(k,a,l,m,n,1);n=f[k+20>>2]|0;m=f[a+4>>2]|0;if((m|0)>0)o=f[(f[a+44>>2]|0)+(m+-1<<2)>>2]|0;else o=0;if((n|0)<=0){u=j;return}m=k+16|0;a=k+24|0;l=k+28|0;g=k+32|0;e=k+36|0;d=h+1|0;c=h+2|0;switch(o|0){case 1:{i=0;p=f[k>>2]|0;do{b[p>>0]=b[h>>0]|0;i=i+1|0;q=f[m>>2]|0;r=q>>31;f[m>>2]=(f[a>>2]|0)+q+(f[l>>2]&r);p=(f[k>>2]|0)+((f[e>>2]&r)+(f[g>>2]|0))|0;f[k>>2]=p}while((i|0)!=(n|0));u=j;return}case 3:{i=0;p=f[k>>2]|0;do{b[p>>0]=b[h>>0]|0;b[p+1>>0]=b[d>>0]|0;b[p+2>>0]=b[c>>0]|0;i=i+1|0;r=f[m>>2]|0;q=r>>31;f[m>>2]=(f[a>>2]|0)+r+(f[l>>2]&q);p=(f[k>>2]|0)+((f[e>>2]&q)+(f[g>>2]|0))|0;f[k>>2]=p}while((i|0)!=(n|0));u=j;return}default:{i=0;p=f[k>>2]|0;do{DVa(p|0,h|0,o|0)|0;i=i+1|0;c=f[m>>2]|0;d=c>>31;f[m>>2]=(f[a>>2]|0)+c+(f[l>>2]&d);p=(f[k>>2]|0)+((f[e>>2]&d)+(f[g>>2]|0))|0;f[k>>2]=p}while((i|0)!=(n|0));u=j;return}}}function Eba(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0;g=u;u=u+16|0;h=g;i=b[e>>0]|0;j=b[e+1>>0]|0;k=b[e+2>>0]|0;l=f[a+4>>2]|0;if((l|0)>0)m=f[(f[a+44>>2]|0)+(l+-1<<2)>>2]|0;else m=0;l=f[a+16>>2]|0;n=f[a+48>>2]|0;o=f[a+40>>2]|0;a=f[o+4>>2]|0;p=f[o>>2]|0;o=BVa(a|0,((a|0)<0)<<31>>31|0,16)|0;q=I;r=BVa(p|0,((p|0)<0)<<31>>31|0,16)|0;s=h;f[s>>2]=o;f[s+4>>2]=q;q=h+8|0;f[q>>2]=r;f[q+4>>2]=I;if(!(tba(h,c,d)|0)){u=g;return}h=d;q=f[h>>2]|0;r=f[h+4>>2]|0;h=c;s=f[h>>2]|0;o=f[h+4>>2]|0;h=rVa(q|0,r|0,s|0,o|0)|0;t=I;v=d+8|0;w=v;x=f[w>>2]|0;y=f[w+4>>2]|0;w=c+8|0;z=w;A=f[z>>2]|0;B=f[z+4>>2]|0;z=rVa(x|0,y|0,A|0,B|0)|0;C=I;D=zVa(h|0,t|0,63)|0;E=I;F=rVa(D^h|0,E^t|0,D|0,E|0)|0;G=I;H=zVa(z|0,C|0,63)|0;J=I;K=rVa(H^z|0,J^C|0,H|0,J|0)|0;L=I;M=(G|0)>(L|0)|(G|0)==(L|0)&F>>>0>K>>>0;if(M){N=rVa(z^D|0,C^E|0,D|0,E|0)|0;C=D&q^s;z=E&r^o;O=c;f[O>>2]=C;f[O+4>>2]=z;O=d;P=f[O>>2]^C&D;C=f[O+4>>2]^z&E;z=d;f[z>>2]=P;f[z+4>>2]=C;z=c;O=f[z>>2]^P&D;P=f[z+4>>2]^C&E;C=c;f[C>>2]=O;f[C+4>>2]=P;C=A^x&D;z=B^y&E;Q=w;f[Q>>2]=C;f[Q+4>>2]=z;Q=v;R=f[Q>>2]^C&D;C=f[Q+4>>2]^z&E;z=v;f[z>>2]=R;f[z+4>>2]=C;z=w;Q=f[z>>2]^R&D;D=f[z+4>>2]^C&E;E=w;f[E>>2]=Q;f[E+4>>2]=D;E=BVa(N|0,I|0,16)|0;N=uVa(E|0,I|0,F|1|0,G|0)|0;S=d;T=O;U=P;V=O;W=P;Y=Q;Z=D;_=N;$=I;aa=65536;ba=0}else{N=rVa(H^h|0,J^t|0,H|0,J|0)|0;t=H&q^s;s=J&r^o;o=c;f[o>>2]=t;f[o+4>>2]=s;o=d;r=f[o>>2]^t&H;t=f[o+4>>2]^s&J;s=d;f[s>>2]=r;f[s+4>>2]=t;s=c;o=f[s>>2]^r&H;r=f[s+4>>2]^t&J;t=c;f[t>>2]=o;f[t+4>>2]=r;t=A^x&H;x=B^y&J;y=w;f[y>>2]=t;f[y+4>>2]=x;y=v;B=f[y>>2]^t&H;t=f[y+4>>2]^x&J;x=v;f[x>>2]=B;f[x+4>>2]=t;x=w;y=f[x>>2]^B&H;H=f[x+4>>2]^t&J;J=w;f[J>>2]=y;f[J+4>>2]=H;J=BVa(N|0,I|0,16)|0;N=uVa(J|0,I|0,K|1|0,L|0)|0;S=v;T=y;U=H;V=o;W=r;Y=y;Z=H;_=65536;$=0;aa=N;ba=I}N=S;S=rVa(f[N>>2]|0,f[N+4>>2]|0,T|0,U|0)|0;U=AVa(S|0,I|0,16)|0;S=qVa(V|0,W|0,32768,0)|0;W=c;f[W>>2]=S;f[W+4>>2]=I;W=qVa(Y|0,Z|0,32768,0)|0;Z=w;f[Z>>2]=W;f[Z+4>>2]=I;if((m|0)==3){Z=d;W=qVa(f[Z>>2]|0,f[Z+4>>2]|0,32768,0)|0;Z=AVa(W|0,I|0,16)|0;W=v;Y=qVa(f[W>>2]|0,f[W+4>>2]|0,32768,0)|0;W=AVa(Y|0,I|0,16)|0;if((Z|0)>-1?(Y=l+(X(n,W)|0)+(Z*3|0)|0,(p|0)>(W|0)&((a|0)>(Z|0)&(W|0)>-1)):0){b[Y>>0]=i;b[Y+1>>0]=j;b[Y+2>>0]=k}if(M){Y=c;W=zVa(f[Y>>2]|0,f[Y+4>>2]|0,16)|0;Y=I;Z=c;f[Z>>2]=W;f[Z+4>>2]=Y;if((U|0)<=-1){u=g;return}Z=w;S=U;V=f[Z>>2]|0;T=f[Z+4>>2]|0;Z=W;W=Y;while(1){Y=AVa(V|0,T|0,16)|0;if((Z|0)>-1?(N=l+(X(n,Y)|0)+(Z*3|0)|0,(p|0)>(Y|0)&((a|0)>(Z|0)&(Y|0)>-1)):0){b[N>>0]=i;b[N+1>>0]=j;b[N+2>>0]=k;N=c;Y=w;ca=f[N>>2]|0;da=f[N+4>>2]|0;ea=f[Y>>2]|0;fa=f[Y+4>>2]|0}else{ca=Z;da=W;ea=V;fa=T}Z=qVa(ca|0,da|0,1,0)|0;W=I;Y=c;f[Y>>2]=Z;f[Y+4>>2]=W;V=qVa(ea|0,fa|0,_|0,$|0)|0;T=I;Y=w;f[Y>>2]=V;f[Y+4>>2]=T;if((S|0)<=0)break;else S=S+-1|0}u=g;return}else{S=w;T=zVa(f[S>>2]|0,f[S+4>>2]|0,16)|0;S=I;V=w;f[V>>2]=T;f[V+4>>2]=S;if((U|0)<=-1){u=g;return}V=c;fa=U;ea=f[V>>2]|0;W=f[V+4>>2]|0;V=T;T=S;while(1){S=AVa(ea|0,W|0,16)|0;if((S|0)>-1?(Z=l+(X(n,V)|0)+(S*3|0)|0,(p|0)>(V|0)&((a|0)>(S|0)&(V|0)>-1)):0){b[Z>>0]=i;b[Z+1>>0]=j;b[Z+2>>0]=k;Z=c;S=w;ga=f[Z>>2]|0;ha=f[Z+4>>2]|0;ia=f[S>>2]|0;ja=f[S+4>>2]|0}else{ga=ea;ha=W;ia=V;ja=T}ea=qVa(ga|0,ha|0,aa|0,ba|0)|0;W=I;S=c;f[S>>2]=ea;f[S+4>>2]=W;V=qVa(ia|0,ja|0,1,0)|0;T=I;S=w;f[S>>2]=V;f[S+4>>2]=T;if((fa|0)<=0)break;else fa=fa+-1|0}u=g;return}}fa=d;d=qVa(f[fa>>2]|0,f[fa+4>>2]|0,32768,0)|0;fa=AVa(d|0,I|0,16)|0;d=v;v=qVa(f[d>>2]|0,f[d+4>>2]|0,32768,0)|0;d=AVa(v|0,I|0,16)|0;v=(fa|0)>-1;if((m|0)==1){if(v?(p|0)>(d|0)&((a|0)>(fa|0)&(d|0)>-1):0){T=l+(X(n,d)|0)+fa|0;b[T>>0]=i}if(M){T=c;V=zVa(f[T>>2]|0,f[T+4>>2]|0,16)|0;T=I;ja=c;f[ja>>2]=V;f[ja+4>>2]=T;if((U|0)<=-1){u=g;return}ja=w;ia=U;W=f[ja>>2]|0;ea=f[ja+4>>2]|0;ja=V;V=T;while(1){T=AVa(W|0,ea|0,16)|0;if((ja|0)>-1?(p|0)>(T|0)&((a|0)>(ja|0)&(T|0)>-1):0){ha=l+(X(n,T)|0)+ja|0;b[ha>>0]=i;ha=c;T=w;ka=f[ha>>2]|0;la=f[ha+4>>2]|0;ma=f[T>>2]|0;na=f[T+4>>2]|0}else{ka=ja;la=V;ma=W;na=ea}ja=qVa(ka|0,la|0,1,0)|0;V=I;T=c;f[T>>2]=ja;f[T+4>>2]=V;W=qVa(ma|0,na|0,_|0,$|0)|0;ea=I;T=w;f[T>>2]=W;f[T+4>>2]=ea;if((ia|0)<=0)break;else ia=ia+-1|0}u=g;return}else{ia=w;ea=zVa(f[ia>>2]|0,f[ia+4>>2]|0,16)|0;ia=I;W=w;f[W>>2]=ea;f[W+4>>2]=ia;if((U|0)<=-1){u=g;return}W=c;na=U;ma=f[W>>2]|0;V=f[W+4>>2]|0;W=ea;ea=ia;while(1){ia=AVa(ma|0,V|0,16)|0;if((ia|0)>-1?(p|0)>(W|0)&((a|0)>(ia|0)&(W|0)>-1):0){ja=l+(X(n,W)|0)+ia|0;b[ja>>0]=i;ja=c;ia=w;oa=f[ja>>2]|0;pa=f[ja+4>>2]|0;qa=f[ia>>2]|0;ra=f[ia+4>>2]|0}else{oa=ma;pa=V;qa=W;ra=ea}ma=qVa(oa|0,pa|0,aa|0,ba|0)|0;V=I;ia=c;f[ia>>2]=ma;f[ia+4>>2]=V;W=qVa(qa|0,ra|0,1,0)|0;ea=I;ia=w;f[ia>>2]=W;f[ia+4>>2]=ea;if((na|0)<=0)break;else na=na+-1|0}u=g;return}}if((v?(p|0)>(d|0)&((a|0)>(fa|0)&(d|0)>-1):0)?(v=l+(X(n,d)|0)+(X(m,fa)|0)|0,fa=((m|0)<0)<<31>>31,(m|0)>0):0){d=0;na=0;do{b[v+d>>0]=b[e+d>>0]|0;d=qVa(d|0,na|0,1,0)|0;na=I}while((na|0)<(fa|0)|(na|0)==(fa|0)&d>>>0>>0)}if(M){M=c;d=zVa(f[M>>2]|0,f[M+4>>2]|0,16)|0;M=I;fa=c;f[fa>>2]=d;f[fa+4>>2]=M;if((U|0)<=-1){u=g;return}fa=((m|0)<0)<<31>>31;na=w;v=f[na>>2]|0;ea=f[na+4>>2]|0;if((m|0)>0){sa=U;ta=v;ua=ea;va=d;wa=M}else{na=U;W=d;d=M;M=v;v=ea;while(1){W=qVa(W|0,d|0,1,0)|0;d=I;M=qVa(M|0,v|0,_|0,$|0)|0;v=I;if((na|0)<=0)break;else na=na+-1|0}na=c;f[na>>2]=W;f[na+4>>2]=d;d=w;f[d>>2]=M;f[d+4>>2]=v;u=g;return}while(1){v=AVa(ta|0,ua|0,16)|0;if((va|0)>-1?(p|0)>(v|0)&((a|0)>(va|0)&(v|0)>-1):0){d=l+(X(n,v)|0)+(X(m,va)|0)|0;v=0;M=0;do{b[d+v>>0]=b[e+v>>0]|0;v=qVa(v|0,M|0,1,0)|0;M=I}while((M|0)<(fa|0)|(M|0)==(fa|0)&v>>>0>>0);v=c;M=w;xa=f[v>>2]|0;ya=f[v+4>>2]|0;za=f[M>>2]|0;Aa=f[M+4>>2]|0}else{xa=va;ya=wa;za=ta;Aa=ua}va=qVa(xa|0,ya|0,1,0)|0;wa=I;M=c;f[M>>2]=va;f[M+4>>2]=wa;ta=qVa(za|0,Aa|0,_|0,$|0)|0;ua=I;M=w;f[M>>2]=ta;f[M+4>>2]=ua;if((sa|0)<=0)break;else sa=sa+-1|0}u=g;return}else{sa=w;ua=zVa(f[sa>>2]|0,f[sa+4>>2]|0,16)|0;sa=I;ta=w;f[ta>>2]=ua;f[ta+4>>2]=sa;if((U|0)<=-1){u=g;return}ta=((m|0)<0)<<31>>31;$=c;_=f[$>>2]|0;Aa=f[$+4>>2]|0;if((m|0)>0){Ba=U;Ca=_;Da=Aa;Ea=ua;Fa=sa}else{$=U;U=_;_=Aa;Aa=ua;ua=sa;while(1){U=qVa(U|0,_|0,aa|0,ba|0)|0;_=I;Aa=qVa(Aa|0,ua|0,1,0)|0;ua=I;if(($|0)<=0)break;else $=$+-1|0}$=c;f[$>>2]=U;f[$+4>>2]=_;_=w;f[_>>2]=Aa;f[_+4>>2]=ua;u=g;return}while(1){ua=AVa(Ca|0,Da|0,16)|0;if((ua|0)>-1?(p|0)>(Ea|0)&((a|0)>(ua|0)&(Ea|0)>-1):0){_=l+(X(n,Ea)|0)+(X(m,ua)|0)|0;ua=0;Aa=0;do{b[_+ua>>0]=b[e+ua>>0]|0;ua=qVa(ua|0,Aa|0,1,0)|0;Aa=I}while((Aa|0)<(ta|0)|(Aa|0)==(ta|0)&ua>>>0>>0);ua=c;Aa=w;Ga=f[ua>>2]|0;Ha=f[ua+4>>2]|0;Ia=f[Aa>>2]|0;Ja=f[Aa+4>>2]|0}else{Ga=Ca;Ha=Da;Ia=Ea;Ja=Fa}Ca=qVa(Ga|0,Ha|0,aa|0,ba|0)|0;Da=I;Aa=c;f[Aa>>2]=Ca;f[Aa+4>>2]=Da;Ea=qVa(Ia|0,Ja|0,1,0)|0;Fa=I;Aa=w;f[Aa>>2]=Ea;f[Aa+4>>2]=Fa;if((Ba|0)<=0)break;else Ba=Ba+-1|0}u=g;return}}function Fba(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;g=u;u=u+64|0;i=g+16|0;j=g;k=h[e>>0]|0;l=h[e+1>>0]|0;m=h[e+2>>0]|0;n=h[e+3>>0]|0;o=f[a>>2]|0;p=o>>>3;q=f[a+16>>2]|0;r=f[a+48>>2]|0;s=f[a+40>>2]|0;t=f[s+4>>2]|0;v=f[s>>2]|0;s=p&65535;switch(s&511){case 0:case 2:case 3:{if(!(o&7)){o=c;w=qVa(f[o>>2]|0,f[o+4>>2]|0,-131072,-1)|0;o=c;f[o>>2]=w;f[o+4>>2]=I;o=c+8|0;w=o;x=qVa(f[w>>2]|0,f[w+4>>2]|0,-131072,-1)|0;w=o;f[w>>2]=x;f[w+4>>2]=I;w=d;x=qVa(f[w>>2]|0,f[w+4>>2]|0,-131072,-1)|0;w=d;f[w>>2]=x;f[w+4>>2]=I;w=d+8|0;x=w;y=qVa(f[x>>2]|0,f[x+4>>2]|0,-131072,-1)|0;x=w;f[x>>2]=y;f[x+4>>2]=I;x=q+((p&511)+1+r<<1)|0;p=BVa(t|0,((t|0)<0)<<31>>31|0,16)|0;t=qVa(p|0,I|0,-327679,-1)|0;p=I;q=BVa(v|0,((v|0)<0)<<31>>31|0,16)|0;v=qVa(q|0,I|0,-327679,-1)|0;q=j;f[q>>2]=t;f[q+4>>2]=p;p=j+8|0;f[p>>2]=v;f[p+4>>2]=I;if(!(tba(j,c,d)|0)){u=g;return}j=d;p=f[j>>2]|0;v=f[j+4>>2]|0;j=c;q=f[j>>2]|0;t=f[j+4>>2]|0;j=rVa(p|0,v|0,q|0,t|0)|0;y=I;z=w;A=f[z>>2]|0;B=f[z+4>>2]|0;z=o;C=f[z>>2]|0;D=f[z+4>>2]|0;z=rVa(A|0,B|0,C|0,D|0)|0;E=I;F=zVa(j|0,y|0,63)|0;G=I;H=rVa(F^j|0,G^y|0,F|0,G|0)|0;J=I;K=zVa(z|0,E|0,63)|0;L=I;M=rVa(K^z|0,L^E|0,K|0,L|0)|0;N=I;O=(J|0)>(N|0)|(J|0)==(N|0)&H>>>0>M>>>0;if(O){P=rVa(z^F|0,E^G|0,F|0,G|0)|0;E=F&p^q;z=G&v^t;Q=c;f[Q>>2]=E;f[Q+4>>2]=z;Q=d;R=f[Q>>2]^E&F;E=f[Q+4>>2]^z&G;z=d;f[z>>2]=R;f[z+4>>2]=E;z=c;Q=f[z+4>>2]^E&G;E=c;f[E>>2]=f[z>>2]^R&F;f[E+4>>2]=Q;Q=C^A&F;E=D^B&G;R=o;f[R>>2]=Q;f[R+4>>2]=E;R=w;z=f[R>>2]^Q&F;Q=f[R+4>>2]^E&G;E=w;f[E>>2]=z;f[E+4>>2]=Q;E=o;R=f[E>>2]^z&F;F=f[E+4>>2]^Q&G;G=BVa(P|0,I|0,16)|0;P=uVa(G|0,I|0,H|1|0,J|0)|0;J=I;H=d;G=qVa(f[H>>2]|0,f[H+4>>2]|0,65536,0)|0;H=I;Q=d;f[Q>>2]=G;f[Q+4>>2]=H;Q=AVa(G|0,H|0,16)|0;E=I;z=c;S=f[z>>2]|0;T=f[z+4>>2]|0;z=AVa(S|0,T|0,16)|0;U=rVa(Q|0,E|0,z|0,I|0)|0;z=rVa(0,0,P|0,J|0)|0;E=wVa(S&65535|0,0,z|0,I|0)|0;z=zVa(E|0,I|0,16)|0;E=I;Q=qVa(R|0,F|0,32768,0)|0;F=qVa(Q|0,I|0,z|0,E|0)|0;E=I;z=o;f[z>>2]=F;f[z+4>>2]=E;z=AVa(P|0,J|0,11)|0;Q=zVa(S|0,T|0,9)|0;R=I;V=zVa(G|0,H|0,9)|0;W=U;Y=z&63^((J|0)<0?63:0);Z=I;_=R;$=Q;aa=V;ba=S;ca=T;da=P;ea=J;fa=F;ga=E;ha=65536;ia=0}else{E=rVa(K^j|0,L^y|0,K|0,L|0)|0;y=K&p^q;q=L&v^t;t=c;f[t>>2]=y;f[t+4>>2]=q;t=d;v=f[t>>2]^y&K;y=f[t+4>>2]^q&L;q=d;f[q>>2]=v;f[q+4>>2]=y;q=c;t=f[q>>2]^v&K;v=f[q+4>>2]^y&L;y=C^A&K;A=D^B&L;B=o;f[B>>2]=y;f[B+4>>2]=A;B=w;D=f[B>>2]^y&K;y=f[B+4>>2]^A&L;A=w;f[A>>2]=D;f[A+4>>2]=y;A=o;B=f[A+4>>2]^y&L;L=o;f[L>>2]=f[A>>2]^D&K;f[L+4>>2]=B;B=BVa(E|0,I|0,16)|0;E=uVa(B|0,I|0,M|1|0,N|0)|0;N=I;M=w;B=qVa(f[M>>2]|0,f[M+4>>2]|0,65536,0)|0;M=I;L=w;f[L>>2]=B;f[L+4>>2]=M;L=AVa(B|0,M|0,16)|0;w=I;K=o;D=f[K>>2]|0;A=f[K+4>>2]|0;K=AVa(D|0,A|0,16)|0;y=rVa(L|0,w|0,K|0,I|0)|0;K=rVa(0,0,E|0,N|0)|0;w=wVa(D&65535|0,0,K|0,I|0)|0;K=zVa(w|0,I|0,16)|0;w=I;L=qVa(t|0,v|0,32768,0)|0;v=qVa(L|0,I|0,K|0,w|0)|0;w=I;K=c;f[K>>2]=v;f[K+4>>2]=w;K=AVa(E|0,N|0,11)|0;L=AVa(D|0,A|0,9)|0;t=I;C=AVa(B|0,M|0,9)|0;W=y;Y=K&63^((N|0)<0?63:0);Z=I;_=t;$=L;aa=C;ba=v;ca=w;da=65536;ea=0;fa=D;ga=A;ha=E;ia=N}N=$&120;$=aa&120;if(!(Y&32))ja=h[216348+Y>>0]|0;else ja=256;Y=ja<<7;aa=X(ja,120-N|4)|0;E=X(ja,$|4)|0;f[i>>2]=0;f[i+32>>2]=ja;A=rVa($|0,0,N|0,0)|0;N=I;$=wVa(A&120|4|0,0,ja|0,0)|0;D=AVa($|0,I|0,8)|0;f[i+12>>2]=D;f[i+4>>2]=D;f[i+8>>2]=aa>>>8&511;D=qVa(A|0,N|0,128,0)|0;N=wVa(D|4|0,I|0,ja|0,0)|0;ja=AVa(N|0,I|0,8)|0;f[i+16>>2]=ja&511;f[i+20>>2]=(aa+Y|0)>>>8&511;f[i+24>>2]=E>>>8;f[i+28>>2]=(E+Y|0)>>>8&511;switch(s&511){case 2:{s=(W|0)>-1;if(O){if(!s){u=g;return}Y=zVa(ba|0,ca|0,16)|0;E=wVa(Y|0,I|0,3,0)|0;Y=0;aa=x+E|0;E=W;ja=fa;N=ga;while(1){D=zVa(ja|0,N|0,16)|0;A=qVa(D|0,I|0,-1,-1)|0;D=wVa(A|0,I|0,r|0,0)|0;A=aa+D|0;D=f[i+(((((Y|0)>1?2:1)&(Y|2))*3|0)+(((E|0)>1?2:1)&(E|2))<<2)>>2]|0;$=AVa(ja|0,N|0,11)|0;w=$&31;$=(X(f[50468+((w|32)<<2)>>2]|0,D)|0)>>>8&255;v=h[A>>0]|0;C=(((X(k-v|0,$)|0)+127|0)>>>8)+v|0;v=A+1|0;L=h[v>>0]|0;t=(((X(l-L|0,$)|0)+127|0)>>>8)+L|0;L=A+2|0;_=h[L>>0]|0;Z=(((X(m-_|0,$)|0)+127|0)>>>8)+_|0;_=(((X(l-(t&255)|0,$)|0)+127|0)>>>8)+t|0;t=(((X(m-(Z&255)|0,$)|0)+127|0)>>>8)+Z|0;Z=(((X(k-(C&255)|0,$)|0)+127|0)>>>8)+C&255;b[A>>0]=Z;b[v>>0]=_;b[L>>0]=t;t=A+r|0;A=(X(f[50468+(w<<2)>>2]|0,D)|0)>>>8&255;L=h[t>>0]|0;_=(((X(k-L|0,A)|0)+127|0)>>>8)+L|0;L=t+1|0;v=h[L>>0]|0;Z=(((X(l-v|0,A)|0)+127|0)>>>8)+v|0;v=t+2|0;C=h[v>>0]|0;$=(((X(m-C|0,A)|0)+127|0)>>>8)+C|0;C=(((X(l-(Z&255)|0,A)|0)+127|0)>>>8)+Z|0;Z=(((X(m-($&255)|0,A)|0)+127|0)>>>8)+$|0;$=(((X(k-(_&255)|0,A)|0)+127|0)>>>8)+_&255;b[t>>0]=$;b[L>>0]=C;b[v>>0]=Z;Z=t+r|0;t=(X(f[50468+((w^63)<<2)>>2]|0,D)|0)>>>8&255;D=h[Z>>0]|0;w=(((X(k-D|0,t)|0)+127|0)>>>8)+D|0;D=Z+1|0;v=h[D>>0]|0;C=(((X(l-v|0,t)|0)+127|0)>>>8)+v|0;v=Z+2|0;L=h[v>>0]|0;$=(((X(m-L|0,t)|0)+127|0)>>>8)+L|0;L=(((X(l-(C&255)|0,t)|0)+127|0)>>>8)+C|0;C=(((X(m-($&255)|0,t)|0)+127|0)>>>8)+$|0;$=(((X(k-(w&255)|0,t)|0)+127|0)>>>8)+w&255;b[Z>>0]=$;b[D>>0]=L;b[v>>0]=C;C=o;ja=qVa(f[C>>2]|0,f[C+4>>2]|0,da|0,ea|0)|0;N=I;C=o;f[C>>2]=ja;f[C+4>>2]=N;if((E|0)<=0)break;else{Y=Y+1|0;aa=aa+3|0;E=E+-1|0}}u=g;return}else{if(!s){u=g;return}s=zVa(fa|0,ga|0,16)|0;E=wVa(s|0,I|0,r|0,0)|0;s=0;aa=x+E|0;E=W;Y=ba;N=ca;while(1){ja=zVa(Y|0,N|0,16)|0;C=wVa(ja|0,I|0,3,0)|0;ja=qVa(C|0,I|0,-3,0)|0;C=aa+ja|0;ja=f[i+(((((s|0)>1?2:1)&(s|2))*3|0)+(((E|0)>1?2:1)&(E|2))<<2)>>2]|0;v=AVa(Y|0,N|0,11)|0;L=v&31;v=(X(f[50468+((L|32)<<2)>>2]|0,ja)|0)>>>8&255;D=h[C>>0]|0;$=(((X(k-D|0,v)|0)+127|0)>>>8)+D|0;D=C+1|0;Z=h[D>>0]|0;w=(((X(l-Z|0,v)|0)+127|0)>>>8)+Z|0;Z=C+2|0;t=h[Z>>0]|0;_=(((X(m-t|0,v)|0)+127|0)>>>8)+t|0;t=(((X(l-(w&255)|0,v)|0)+127|0)>>>8)+w|0;w=(((X(m-(_&255)|0,v)|0)+127|0)>>>8)+_|0;_=(((X(k-($&255)|0,v)|0)+127|0)>>>8)+$&255;b[C>>0]=_;b[D>>0]=t;b[Z>>0]=w;w=C+3|0;C=(X(f[50468+(L<<2)>>2]|0,ja)|0)>>>8&255;Z=h[w>>0]|0;t=(((X(k-Z|0,C)|0)+127|0)>>>8)+Z|0;Z=w+1|0;D=h[Z>>0]|0;_=(((X(l-D|0,C)|0)+127|0)>>>8)+D|0;D=w+2|0;$=h[D>>0]|0;v=(((X(m-$|0,C)|0)+127|0)>>>8)+$|0;$=(((X(l-(_&255)|0,C)|0)+127|0)>>>8)+_|0;_=(((X(m-(v&255)|0,C)|0)+127|0)>>>8)+v|0;v=(((X(k-(t&255)|0,C)|0)+127|0)>>>8)+t&255;b[w>>0]=v;b[Z>>0]=$;b[D>>0]=_;_=w+3|0;w=(X(f[50468+((L^63)<<2)>>2]|0,ja)|0)>>>8&255;ja=h[_>>0]|0;L=(((X(k-ja|0,w)|0)+127|0)>>>8)+ja|0;ja=_+1|0;D=h[ja>>0]|0;$=(((X(l-D|0,w)|0)+127|0)>>>8)+D|0;D=_+2|0;Z=h[D>>0]|0;v=(((X(m-Z|0,w)|0)+127|0)>>>8)+Z|0;Z=(((X(l-($&255)|0,w)|0)+127|0)>>>8)+$|0;$=(((X(m-(v&255)|0,w)|0)+127|0)>>>8)+v|0;v=(((X(k-(L&255)|0,w)|0)+127|0)>>>8)+L&255;b[_>>0]=v;b[ja>>0]=Z;b[D>>0]=$;$=c;Y=qVa(f[$>>2]|0,f[$+4>>2]|0,ha|0,ia|0)|0;N=I;$=c;f[$>>2]=Y;f[$+4>>2]=N;if((E|0)<=0)break;else{s=s+1|0;aa=aa+r|0;E=E+-1|0}}u=g;return}break}case 0:{E=(W|0)>-1;if(O){if(!E){u=g;return}aa=AVa(ba|0,ca|0,16)|0;s=x+aa|0;aa=0;N=W;Y=fa;$=ga;while(1){D=zVa(Y|0,$|0,16)|0;Z=qVa(D|0,I|0,-1,-1)|0;D=wVa(Z|0,I|0,r|0,0)|0;Z=s+D|0;D=f[i+(((((aa|0)>1?2:1)&(aa|2))*3|0)+(((N|0)>1?2:1)&(N|2))<<2)>>2]|0;ja=AVa(Y|0,$|0,11)|0;v=ja&31;ja=(X(f[50468+((v|32)<<2)>>2]|0,D)|0)>>>8&255;_=h[Z>>0]|0;L=(((X(k-_|0,ja)|0)+127|0)>>>8)+_|0;_=(((X(k-(L&255)|0,ja)|0)+127|0)>>>8)+L&255;b[Z>>0]=_;_=Z+r|0;Z=(X(f[50468+(v<<2)>>2]|0,D)|0)>>>8&255;L=h[_>>0]|0;ja=(((X(k-L|0,Z)|0)+127|0)>>>8)+L|0;L=(((X(k-(ja&255)|0,Z)|0)+127|0)>>>8)+ja&255;b[_>>0]=L;L=_+r|0;_=(X(f[50468+((v^63)<<2)>>2]|0,D)|0)>>>8&255;D=h[L>>0]|0;v=(((X(k-D|0,_)|0)+127|0)>>>8)+D|0;D=(((X(k-(v&255)|0,_)|0)+127|0)>>>8)+v&255;b[L>>0]=D;D=o;Y=qVa(f[D>>2]|0,f[D+4>>2]|0,da|0,ea|0)|0;$=I;D=o;f[D>>2]=Y;f[D+4>>2]=$;if((N|0)<=0)break;else{s=s+1|0;aa=aa+1|0;N=N+-1|0}}u=g;return}else{if(!E){u=g;return}E=zVa(fa|0,ga|0,16)|0;N=wVa(E|0,I|0,r|0,0)|0;E=x+N|0;N=0;aa=W;s=ba;$=ca;while(1){Y=AVa(s|0,$|0,16)|0;D=qVa(Y|0,I|0,-1,0)|0;Y=E+D|0;D=f[i+(((((N|0)>1?2:1)&(N|2))*3|0)+(((aa|0)>1?2:1)&(aa|2))<<2)>>2]|0;L=AVa(s|0,$|0,11)|0;v=L&31;L=(X(f[50468+((v|32)<<2)>>2]|0,D)|0)>>>8&255;_=h[Y>>0]|0;ja=(((X(k-_|0,L)|0)+127|0)>>>8)+_|0;_=(((X(k-(ja&255)|0,L)|0)+127|0)>>>8)+ja&255;b[Y>>0]=_;_=Y+1|0;Y=(X(f[50468+(v<<2)>>2]|0,D)|0)>>>8&255;ja=h[_>>0]|0;L=(((X(k-ja|0,Y)|0)+127|0)>>>8)+ja|0;ja=(((X(k-(L&255)|0,Y)|0)+127|0)>>>8)+L&255;b[_>>0]=ja;ja=_+1|0;_=(X(f[50468+((v^63)<<2)>>2]|0,D)|0)>>>8&255;D=h[ja>>0]|0;v=(((X(k-D|0,_)|0)+127|0)>>>8)+D|0;D=(((X(k-(v&255)|0,_)|0)+127|0)>>>8)+v&255;b[ja>>0]=D;D=c;s=qVa(f[D>>2]|0,f[D+4>>2]|0,ha|0,ia|0)|0;$=I;D=c;f[D>>2]=s;f[D+4>>2]=$;if((aa|0)<=0)break;else{E=E+r|0;N=N+1|0;aa=aa+-1|0}}u=g;return}break}default:{aa=(W|0)>-1;if(O){if(!aa){u=g;return}O=zVa(ba|0,ca|0,16)|0;N=BVa(O|0,I|0,2)|0;O=x+N|0;N=0;E=W;$=fa;s=ga;while(1){D=zVa($|0,s|0,16)|0;ja=qVa(D|0,I|0,-1,-1)|0;D=wVa(ja|0,I|0,r|0,0)|0;ja=O+D|0;D=f[i+(((((N|0)>1?2:1)&(N|2))*3|0)+(((E|0)>1?2:1)&(E|2))<<2)>>2]|0;v=AVa($|0,s|0,11)|0;_=v&31;v=(X(f[50468+((_|32)<<2)>>2]|0,D)|0)>>>8&255;L=h[ja>>0]|0;Y=(((X(k-L|0,v)|0)+127|0)>>>8)+L|0;L=ja+1|0;Z=h[L>>0]|0;w=(((X(l-Z|0,v)|0)+127|0)>>>8)+Z|0;Z=ja+2|0;t=h[Z>>0]|0;C=(((X(m-t|0,v)|0)+127|0)>>>8)+t|0;t=ja+3|0;A=h[t>>0]|0;K=(((X(n-A|0,v)|0)+127|0)>>>8)+A|0;A=(((X(l-(w&255)|0,v)|0)+127|0)>>>8)+w|0;w=(((X(m-(C&255)|0,v)|0)+127|0)>>>8)+C|0;C=(((X(n-(K&255)|0,v)|0)+127|0)>>>8)+K|0;K=(((X(k-(Y&255)|0,v)|0)+127|0)>>>8)+Y&255;b[ja>>0]=K;b[L>>0]=A;b[Z>>0]=w;b[t>>0]=C;C=ja+r|0;ja=(X(f[50468+(_<<2)>>2]|0,D)|0)>>>8&255;t=h[C>>0]|0;w=(((X(k-t|0,ja)|0)+127|0)>>>8)+t|0;t=C+1|0;Z=h[t>>0]|0;A=(((X(l-Z|0,ja)|0)+127|0)>>>8)+Z|0;Z=C+2|0;L=h[Z>>0]|0;K=(((X(m-L|0,ja)|0)+127|0)>>>8)+L|0;L=C+3|0;Y=h[L>>0]|0;v=(((X(n-Y|0,ja)|0)+127|0)>>>8)+Y|0;Y=(((X(l-(A&255)|0,ja)|0)+127|0)>>>8)+A|0;A=(((X(m-(K&255)|0,ja)|0)+127|0)>>>8)+K|0;K=(((X(n-(v&255)|0,ja)|0)+127|0)>>>8)+v|0;v=(((X(k-(w&255)|0,ja)|0)+127|0)>>>8)+w&255;b[C>>0]=v;b[t>>0]=Y;b[Z>>0]=A;b[L>>0]=K;K=C+r|0;C=(X(f[50468+((_^63)<<2)>>2]|0,D)|0)>>>8&255;D=h[K>>0]|0;_=(((X(k-D|0,C)|0)+127|0)>>>8)+D|0;D=K+1|0;L=h[D>>0]|0;A=(((X(l-L|0,C)|0)+127|0)>>>8)+L|0;L=K+2|0;Z=h[L>>0]|0;Y=(((X(m-Z|0,C)|0)+127|0)>>>8)+Z|0;Z=K+3|0;t=h[Z>>0]|0;v=(((X(n-t|0,C)|0)+127|0)>>>8)+t|0;t=(((X(l-(A&255)|0,C)|0)+127|0)>>>8)+A|0;A=(((X(m-(Y&255)|0,C)|0)+127|0)>>>8)+Y|0;Y=(((X(n-(v&255)|0,C)|0)+127|0)>>>8)+v|0;v=(((X(k-(_&255)|0,C)|0)+127|0)>>>8)+_&255;b[K>>0]=v;b[D>>0]=t;b[L>>0]=A;b[Z>>0]=Y;Y=o;$=qVa(f[Y>>2]|0,f[Y+4>>2]|0,da|0,ea|0)|0;s=I;Y=o;f[Y>>2]=$;f[Y+4>>2]=s;if((E|0)<=0)break;else{O=O+4|0;N=N+1|0;E=E+-1|0}}u=g;return}else{if(!aa){u=g;return}aa=zVa(fa|0,ga|0,16)|0;ga=wVa(aa|0,I|0,r|0,0)|0;aa=x+ga|0;ga=0;x=W;W=ba;ba=ca;while(1){ca=zVa(W|0,ba|0,16)|0;fa=BVa(ca|0,I|0,2)|0;ca=qVa(fa|0,I|0,-4,0)|0;fa=aa+ca|0;ca=f[i+(((((ga|0)>1?2:1)&(ga|2))*3|0)+(((x|0)>1?2:1)&(x|2))<<2)>>2]|0;E=AVa(W|0,ba|0,11)|0;N=E&31;E=(X(f[50468+((N|32)<<2)>>2]|0,ca)|0)>>>8&255;O=h[fa>>0]|0;s=(((X(k-O|0,E)|0)+127|0)>>>8)+O|0;O=fa+1|0;$=h[O>>0]|0;o=(((X(l-$|0,E)|0)+127|0)>>>8)+$|0;$=fa+2|0;ea=h[$>>0]|0;da=(((X(m-ea|0,E)|0)+127|0)>>>8)+ea|0;ea=fa+3|0;Y=h[ea>>0]|0;Z=(((X(n-Y|0,E)|0)+127|0)>>>8)+Y|0;Y=(((X(l-(o&255)|0,E)|0)+127|0)>>>8)+o|0;o=(((X(m-(da&255)|0,E)|0)+127|0)>>>8)+da|0;da=(((X(n-(Z&255)|0,E)|0)+127|0)>>>8)+Z|0;Z=(((X(k-(s&255)|0,E)|0)+127|0)>>>8)+s&255;b[fa>>0]=Z;b[O>>0]=Y;b[$>>0]=o;b[ea>>0]=da;da=fa+4|0;fa=(X(f[50468+(N<<2)>>2]|0,ca)|0)>>>8&255;ea=h[da>>0]|0;o=(((X(k-ea|0,fa)|0)+127|0)>>>8)+ea|0;ea=da+1|0;$=h[ea>>0]|0;Y=(((X(l-$|0,fa)|0)+127|0)>>>8)+$|0;$=da+2|0;O=h[$>>0]|0;Z=(((X(m-O|0,fa)|0)+127|0)>>>8)+O|0;O=da+3|0;s=h[O>>0]|0;E=(((X(n-s|0,fa)|0)+127|0)>>>8)+s|0;s=(((X(l-(Y&255)|0,fa)|0)+127|0)>>>8)+Y|0;Y=(((X(m-(Z&255)|0,fa)|0)+127|0)>>>8)+Z|0;Z=(((X(n-(E&255)|0,fa)|0)+127|0)>>>8)+E|0;E=(((X(k-(o&255)|0,fa)|0)+127|0)>>>8)+o&255;b[da>>0]=E;b[ea>>0]=s;b[$>>0]=Y;b[O>>0]=Z;Z=da+4|0;da=(X(f[50468+((N^63)<<2)>>2]|0,ca)|0)>>>8&255;ca=h[Z>>0]|0;N=(((X(k-ca|0,da)|0)+127|0)>>>8)+ca|0;ca=Z+1|0;O=h[ca>>0]|0;Y=(((X(l-O|0,da)|0)+127|0)>>>8)+O|0;O=Z+2|0;$=h[O>>0]|0;s=(((X(m-$|0,da)|0)+127|0)>>>8)+$|0;$=Z+3|0;ea=h[$>>0]|0;E=(((X(n-ea|0,da)|0)+127|0)>>>8)+ea|0;ea=(((X(l-(Y&255)|0,da)|0)+127|0)>>>8)+Y|0;Y=(((X(m-(s&255)|0,da)|0)+127|0)>>>8)+s|0;s=(((X(n-(E&255)|0,da)|0)+127|0)>>>8)+E|0;E=(((X(k-(N&255)|0,da)|0)+127|0)>>>8)+N&255;b[Z>>0]=E;b[ca>>0]=ea;b[O>>0]=Y;b[$>>0]=s;s=c;W=qVa(f[s>>2]|0,f[s+4>>2]|0,ha|0,ia|0)|0;ba=I;s=c;f[s>>2]=W;f[s+4>>2]=ba;if((x|0)<=0)break;else{aa=aa+r|0;ga=ga+1|0;x=x+-1|0}}u=g;return}}}}break}default:{}}x=c;ga=AVa(f[x>>2]|0,f[x+4>>2]|0,16)|0;x=c+8|0;c=AVa(f[x>>2]|0,f[x+4>>2]|0,16)|0;x=d;r=AVa(f[x>>2]|0,f[x+4>>2]|0,16)|0;x=d+8|0;d=AVa(f[x>>2]|0,f[x+4>>2]|0,16)|0;Dba(a,ga,c,r,d,e,8);u=g;return}function Gba(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0;i=u;u=u+128|0;j=i+64|0;k=i+48|0;l=i+32|0;m=i+16|0;n=i;o=1<>1;p=f[a+16>>2]|0;q=f[a+40>>2]|0;r=f[q+4>>2]|0;s=f[q>>2]|0;q=f[a+4>>2]|0;if((q|0)>0)t=f[(f[a+44>>2]|0)+(q+-1<<2)>>2]|0;else t=0;q=(g|0)<16;v=q?32768:65535;w=q?0:0;x=q?32768:0;y=q?0:0;z=d+-1|0;A=c+(z<<4)|0;B=c+(z<<4)+8|0;C=f[B>>2]|0;D=f[B+4>>2]|0;B=16-h|0;E=BVa(f[A>>2]|0,f[A+4>>2]|0,B|0)|0;A=I;F=BVa(C|0,D|0,B|0)|0;D=I;C=c;G=f[C>>2]|0;H=f[C+4>>2]|0;C=c+8|0;J=f[C>>2]|0;K=f[C+4>>2]|0;a:do if((d|0)>0){C=(h|0)==0;L=k+8|0;M=l+8|0;N=m+8|0;O=n+8|0;if((g|0)<9){P=0;Q=0;R=H;S=G;T=E;U=A;V=F;W=D;Y=K;Z=K;_=J;$=J;aa=K;ba=J;ca=H;da=H;ea=G;fa=G}else{ga=0;ha=0;ia=K;ja=K;ka=J;la=J;ma=K;na=J;oa=H;pa=H;qa=G;ra=G;sa=H;ta=G;ua=E;va=A;wa=F;xa=D;while(1){ya=(ia|0)<(ja|0)|(ia|0)==(ja|0)&ka>>>0>>0;za=ya?ga:ha;Aa=ya?ka:la;Ba=ya?ia:ja;ya=(ma|0)<(ia|0)|(ma|0)==(ia|0)&na>>>0>>0;Ca=ya?ka:na;Da=ya?ia:ma;ya=(oa|0)<(pa|0)|(oa|0)==(pa|0)&qa>>>0>>0;Ea=ya?ra:qa;Fa=ya?pa:oa;ya=(sa|0)>(pa|0)|(sa|0)==(pa|0)&ta>>>0>ra>>>0;Ga=ya?ra:ta;Ha=ya?pa:sa;ya=BVa(ra|0,pa|0,B|0)|0;Ia=I;Ja=BVa(ka|0,ia|0,B|0)|0;Ka=I;La=m;f[La>>2]=ua;f[La+4>>2]=va;La=N;f[La>>2]=wa;f[La+4>>2]=xa;La=n;f[La>>2]=ya;f[La+4>>2]=Ia;La=O;f[La>>2]=Ja;f[La+4>>2]=Ka;Fba(a,m,n,e);La=ga+1|0;if((La|0)==(d|0)){Ma=za;Na=Aa;Oa=Ba;Pa=Ca;Qa=Da;Ra=Ea;Sa=Fa;Ta=Ga;Ua=Ha;break a}Va=c+(La<<4)|0;Wa=c+(La<<4)+8|0;ga=La;ha=za;ia=f[Wa+4>>2]|0;ja=Ba;ka=f[Wa>>2]|0;la=Aa;ma=Da;na=Ca;oa=Fa;pa=f[Va+4>>2]|0;qa=Ea;ra=f[Va>>2]|0;sa=Ha;ta=Ga;ua=ya;va=Ia;wa=Ja;xa=Ka}}while(1){xa=(Y|0)<(Z|0)|(Y|0)==(Z|0)&_>>>0<$>>>0;wa=xa?P:Q;va=xa?_:$;ua=xa?Y:Z;xa=(aa|0)<(Y|0)|(aa|0)==(Y|0)&ba>>>0<_>>>0;ta=xa?_:ba;sa=xa?Y:aa;xa=(ca|0)<(da|0)|(ca|0)==(da|0)&ea>>>0>>0;ra=xa?fa:ea;qa=xa?da:ca;xa=(R|0)>(da|0)|(R|0)==(da|0)&S>>>0>fa>>>0;pa=xa?fa:S;oa=xa?da:R;xa=BVa(fa|0,da|0,B|0)|0;na=I;ma=BVa(_|0,Y|0,B|0)|0;la=I;if(C){ka=AVa(T|0,U|0,16)|0;ja=AVa(V|0,W|0,16)|0;ia=AVa(xa|0,na|0,16)|0;ha=AVa(ma|0,la|0,16)|0;Dba(a,ka,ja,ia,ha,e,g)}else{ha=k;f[ha>>2]=T;f[ha+4>>2]=U;ha=L;f[ha>>2]=V;f[ha+4>>2]=W;ha=l;f[ha>>2]=xa;f[ha+4>>2]=na;ha=M;f[ha>>2]=ma;f[ha+4>>2]=la;Eba(a,k,l,e)}ha=P+1|0;if((ha|0)==(d|0)){Ma=wa;Na=va;Oa=ua;Pa=ta;Qa=sa;Ra=ra;Sa=qa;Ta=pa;Ua=oa;break a}ia=c+(ha<<4)|0;ja=c+(ha<<4)+8|0;P=ha;Q=wa;R=oa;S=pa;T=xa;U=na;V=ma;W=la;Y=f[ja+4>>2]|0;Z=ua;_=f[ja>>2]|0;$=va;aa=sa;ba=ta;ca=qa;da=f[ia+4>>2]|0;ea=ra;fa=f[ia>>2]|0}}else{Ma=0;Na=J;Oa=K;Pa=J;Qa=K;Ra=G;Sa=H;Ta=G;Ua=H}while(0);H=((o|0)<0)<<31>>31;G=qVa(Na|0,Oa|0,o|0,H|0)|0;Oa=zVa(G|0,I|0,h|0)|0;G=qVa(Pa|0,Qa|0,o|0,H|0)|0;Qa=zVa(G|0,I|0,h|0)|0;G=I;if((d|0)<3){u=i;return}Pa=qVa(Ra|0,Sa|0,o|0,H|0)|0;Sa=zVa(Pa|0,I|0,h|0)|0;Pa=I;Pa=qVa(Ta|0,Ua|0,o|0,H|0)|0;Ua=zVa(Pa|0,I|0,h|0)|0;if(!((Sa|Qa|0)>-1&(r|0)>(Ua|0))){u=i;return}if((s|0)<=(Oa|0)){u=i;return}Ua=s+-1|0;s=((Ua|0)<0)<<31>>31;Sa=(G|0)>(s|0)|(G|0)==(s|0)&Qa>>>0>Ua>>>0;s=Sa?Ua:Qa;Qa=j+32|0;f[Qa>>2]=Ma;f[j>>2]=Ma;Ma=j+56|0;f[Ma>>2]=Oa;Ua=j+24|0;f[Ua>>2]=Oa;Sa=j+4|0;f[Sa>>2]=1;G=j+36|0;f[G>>2]=z;z=j+40|0;Pa=z;f[Pa>>2]=-65536;f[Pa+4>>2]=-1;Pa=j+8|0;Ta=Pa;f[Ta>>2]=-65536;f[Ta+4>>2]=-1;Ta=j+48|0;Ra=Ta;f[Ra>>2]=0;f[Ra+4>>2]=0;Ra=j+16|0;Na=Ra;f[Na>>2]=0;f[Na+4>>2]=0;Na=a+48|0;a=p+(X(f[Na>>2]|0,Oa)|0)|0;p=r+-1|0;K=(t|0)==1;J=(h|0)==16?0:B;B=Oa;fa=a;a=d;ea=-65536;da=-1;ca=-65536;ba=-1;while(1){if(!q?!((B|0)<(s|0)|(B|0)==(Oa|0)):0){Xa=a;Ya=ba;Za=da;_a=ca;$a=ea}else ab=18;b:do if((ab|0)==18){ab=0;c:do if((B|0)<(f[Ua>>2]|0)){bb=a;cb=ca;db=ba}else{aa=f[Sa>>2]|0;$=f[j>>2]|0;_=a;while(1){Z=$+aa|0;eb=Z-((Z|0)<(d|0)?0:d)|0;Z=_;_=_+-1|0;if((Z|0)<=0){bb=_;cb=ca;db=ba;break c}Z=c+(eb<<4)+8|0;Y=qVa(f[Z>>2]|0,f[Z+4>>2]|0,o|0,H|0)|0;fb=zVa(Y|0,I|0,h|0)|0;if((B|0)<(fb|0))break;else $=eb}aa=c+($<<4)|0;Y=c+(eb<<4)|0;Z=f[Y>>2]|0;W=f[Y+4>>2]|0;Y=BVa(f[aa>>2]|0,f[aa+4>>2]|0,J|0)|0;aa=I;V=BVa(Z|0,W|0,J|0)|0;f[Ua>>2]=fb;W=rVa(V|0,I|0,Y|0,aa|0)|0;V=BVa(W|0,I|0,1)|0;W=fb-B|0;Z=qVa(V|0,I|0,W|0,((W|0)<0)<<31>>31|0)|0;V=W<<1;W=uVa(Z|0,I|0,V|0,((V|0)<0)<<31>>31|0)|0;V=Ra;f[V>>2]=W;f[V+4>>2]=I;V=Pa;f[V>>2]=Y;f[V+4>>2]=aa;f[j>>2]=eb;bb=_;cb=Y;db=aa}while(0);if((B|0)<(f[Ma>>2]|0)){Xa=bb;Ya=db;Za=da;_a=cb;$a=ea}else{aa=f[G>>2]|0;Y=f[Qa>>2]|0;V=bb;while(1){W=Y+aa|0;gb=W-((W|0)<(d|0)?0:d)|0;W=V;V=V+-1|0;if((W|0)<=0){Xa=V;Ya=db;Za=da;_a=cb;$a=ea;break b}W=c+(gb<<4)+8|0;Z=qVa(f[W>>2]|0,f[W+4>>2]|0,o|0,H|0)|0;hb=zVa(Z|0,I|0,h|0)|0;if((B|0)<(hb|0))break;else Y=gb}aa=c+(Y<<4)|0;Z=c+(gb<<4)|0;W=f[Z>>2]|0;U=f[Z+4>>2]|0;Z=BVa(f[aa>>2]|0,f[aa+4>>2]|0,J|0)|0;aa=I;T=BVa(W|0,U|0,J|0)|0;f[Ma>>2]=hb;U=rVa(T|0,I|0,Z|0,aa|0)|0;T=BVa(U|0,I|0,1)|0;U=hb-B|0;W=qVa(T|0,I|0,U|0,((U|0)<0)<<31>>31|0)|0;T=U<<1;U=uVa(W|0,I|0,T|0,((T|0)<0)<<31>>31|0)|0;T=Ta;f[T>>2]=U;f[T+4>>2]=I;T=z;f[T>>2]=Z;f[T+4>>2]=aa;f[Qa>>2]=gb;Xa=V;Ya=db;Za=aa;_a=cb;$a=Z}}while(0);if((Xa|0)<0){ab=35;break}do if((B|0)>-1?(Z=(Ya|0)>(Za|0)|(Ya|0)==(Za|0)&_a>>>0>$a>>>0,aa=j+((Z&1)<<5)+8|0,T=qVa(f[aa>>2]|0,f[aa+4>>2]|0,v|0,w|0)|0,aa=AVa(T|0,I|0,16)|0,T=j+(((Z^1)&1)<<5)+8|0,Z=qVa(f[T>>2]|0,f[T+4>>2]|0,x|0,y|0)|0,T=AVa(Z|0,I|0,16)|0,(r|0)>(aa|0)&(T|0)>-1):0){Z=X((aa|0)>0?aa:0,t)|0;aa=fa+Z|0;U=X(((r|0)>(T|0)?T:p)+1|0,t)|0;T=fa+U|0;if(K){FVa(aa|0,b[e>>0]|0,T-aa|0)|0;break}if((Z|0)<(U|0)){DVa(aa|0,e|0,t|0)|0;ib=aa+t|0}else ib=aa;if(ib>>>0>>0){U=T;Z=t;W=ib;while(1){DVa(W|0,aa|0,Z|0)|0;W=W+Z|0;S=Z<<1;R=U-W|0;if(W>>>0>=T>>>0)break;else Z=R>>>0>>0?R:S}}}while(0);Z=Ra;T=Pa;ca=qVa(f[T>>2]|0,f[T+4>>2]|0,f[Z>>2]|0,f[Z+4>>2]|0)|0;ba=I;Z=Pa;f[Z>>2]=ca;f[Z+4>>2]=ba;Z=Ta;T=z;ea=qVa(f[T>>2]|0,f[T+4>>2]|0,f[Z>>2]|0,f[Z+4>>2]|0)|0;da=I;Z=z;f[Z>>2]=ea;f[Z+4>>2]=da;if((B|0)>=(s|0)){ab=35;break}else{B=B+1|0;fa=fa+(f[Na>>2]|0)|0;a=Xa}}if((ab|0)==35){u=i;return}}function Hba(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0;h=f[a+40>>2]|0;i=f[h+4>>2]|0;j=f[h>>2]|0;h=f[a+48>>2]|0;k=f[a+4>>2]|0;if((k|0)>0)l=f[(f[a+44>>2]|0)+(k+-1<<2)>>2]|0;else l=0;k=f[a+16>>2]|0;a=f[c>>2]|0;if((a|0)>=(d|0)&(a|0)<(i-d|0)){m=f[c+4>>2]|0;n=(m|0)<(j-d|0)&(m|0)>=(d|0)}else n=0;if((d|0)<0)return;m=c+4|0;o=(g|0)!=0;g=(l|0)==1;p=i+-1|0;q=d;r=0;s=1;t=(d<<1)+-1|0;d=0;u=a;while(1){a=f[m>>2]|0;v=a-r|0;w=a+r|0;x=a-q|0;y=a+q|0;a=u-q|0;z=u+q|0;A=u-r|0;B=u+r|0;do if(n){C=k+(X(v,h)|0)|0;D=k+(X(w,h)|0)|0;E=X(a,l)|0;F=C+E|0;if(!o){DVa(F|0,e|0,l|0)|0;DVa(D+E|0,e|0,l|0)|0;G=X(z,l)|0;DVa(C+G|0,e|0,l|0)|0;DVa(D+G|0,e|0,l|0)|0;G=k+(X(x,h)|0)|0;H=k+(X(y,h)|0)|0;I=X(A,l)|0;DVa(G+I|0,e|0,l|0)|0;DVa(H+I|0,e|0,l|0)|0;I=X(B,l)|0;DVa(G+I|0,e|0,l|0)|0;DVa(H+I|0,e|0,l|0)|0;break}I=X(z+1|0,l)|0;H=C+I|0;if(!g){C=(I|0)>(E|0);if(C){DVa(F|0,e|0,l|0)|0;J=F+l|0}else J=F;if(J>>>0>>0){G=H;K=l;L=J;while(1){DVa(L|0,F|0,K|0)|0;L=L+K|0;M=K<<1;N=G-L|0;if(L>>>0>=H>>>0)break;else K=N>>>0>>0?N:M}}K=D+E|0;L=D+I|0;if(C){DVa(K|0,e|0,l|0)|0;O=D+E+l|0}else O=K;if(O>>>0>>0){G=L;M=l;N=O;while(1){DVa(N|0,K|0,M|0)|0;N=N+M|0;P=M<<1;Q=G-N|0;if(N>>>0>=L>>>0)break;else M=Q>>>0

>>0?Q:P}}}else{FVa(F|0,b[e>>0]|0,H-F|0)|0;FVa(D+E|0,b[e>>0]|0,I-E|0)|0}M=k+(X(x,h)|0)|0;L=k+(X(y,h)|0)|0;N=X(A,l)|0;G=M+N|0;K=X(B+1|0,l)|0;C=M+K|0;if(g){FVa(G|0,b[e>>0]|0,C-G|0)|0;FVa(L+N|0,b[e>>0]|0,K-N|0)|0;break}M=(K|0)>(N|0);if(M){DVa(G|0,e|0,l|0)|0;R=G+l|0}else R=G;if(R>>>0>>0){P=C;Q=l;S=R;while(1){DVa(S|0,G|0,Q|0)|0;S=S+Q|0;T=Q<<1;U=P-S|0;if(S>>>0>=C>>>0)break;else Q=U>>>0>>0?U:T}}Q=L+N|0;C=L+K|0;if(M){DVa(Q|0,e|0,l|0)|0;V=L+N+l|0}else V=Q;if(V>>>0>>0){S=C;P=l;G=V;while(1){DVa(G|0,Q|0,P|0)|0;G=G+P|0;E=P<<1;I=S-G|0;if(G>>>0>=C>>>0)break;else P=I>>>0>>0?I:E}}}else if((a|0)<(i|0)&(z|0)>-1?(x|0)<(j|0)&(y|0)>-1:0){P=o?((a|0)>0?a:0):a;C=o&(z|0)>=(i|0)?p:z;do if(v>>>0>>0){G=k+(X(v,h)|0)|0;if(!o){if((P|0)>-1)DVa(G+(X(P,l)|0)|0,e|0,l|0)|0;if((C|0)>=(i|0))break;DVa(G+(X(C,l)|0)|0,e|0,l|0)|0;break}S=X(P,l)|0;Q=G+S|0;N=X(C+1|0,l)|0;L=G+N|0;if(g){FVa(Q|0,b[e>>0]|0,L-Q|0)|0;break}if((S|0)<(N|0)){DVa(Q|0,e|0,l|0)|0;W=Q+l|0}else W=Q;if(W>>>0>>0){N=L;S=l;G=W;while(1){DVa(G|0,Q|0,S|0)|0;G=G+S|0;M=S<<1;K=N-G|0;if(G>>>0>=L>>>0)break;else S=K>>>0>>0?K:M}}}while(0);do if(w>>>0>>0){S=k+(X(w,h)|0)|0;if(!o){if((P|0)>-1)DVa(S+(X(P,l)|0)|0,e|0,l|0)|0;if((C|0)>=(i|0))break;DVa(S+(X(C,l)|0)|0,e|0,l|0)|0;break}L=X(P,l)|0;G=S+L|0;N=X(C+1|0,l)|0;Q=S+N|0;if(g){FVa(G|0,b[e>>0]|0,Q-G|0)|0;break}if((L|0)<(N|0)){DVa(G|0,e|0,l|0)|0;Y=G+l|0}else Y=G;if(Y>>>0>>0){N=Q;L=l;S=Y;while(1){DVa(S|0,G|0,L|0)|0;S=S+L|0;M=L<<1;K=N-S|0;if(S>>>0>=Q>>>0)break;else L=K>>>0>>0?K:M}}}while(0);if((A|0)<(i|0)&(B|0)>-1){C=o?((A|0)>0?A:0):A;P=o&(B|0)>=(i|0)?p:B;do if(x>>>0>>0){L=k+(X(x,h)|0)|0;if(!o){if((C|0)>-1)DVa(L+(X(C,l)|0)|0,e|0,l|0)|0;if((P|0)>=(i|0))break;DVa(L+(X(P,l)|0)|0,e|0,l|0)|0;break}Q=X(C,l)|0;S=L+Q|0;N=X(P+1|0,l)|0;G=L+N|0;if(g){FVa(S|0,b[e>>0]|0,G-S|0)|0;break}if((Q|0)<(N|0)){DVa(S|0,e|0,l|0)|0;Z=S+l|0}else Z=S;if(Z>>>0>>0){N=G;Q=l;L=Z;while(1){DVa(L|0,S|0,Q|0)|0;L=L+Q|0;M=Q<<1;K=N-L|0;if(L>>>0>=G>>>0)break;else Q=K>>>0>>0?K:M}}}while(0);if(y>>>0>>0){Q=k+(X(y,h)|0)|0;if(!o){if((C|0)>-1)DVa(Q+(X(C,l)|0)|0,e|0,l|0)|0;if((P|0)>=(i|0))break;DVa(Q+(X(P,l)|0)|0,e|0,l|0)|0;break}G=X(C,l)|0;L=Q+G|0;N=X(P+1|0,l)|0;S=Q+N|0;if(g){FVa(L|0,b[e>>0]|0,S-L|0)|0;break}if((G|0)<(N|0)){DVa(L|0,e|0,l|0)|0;_=L+l|0}else _=L;if(_>>>0>>0){N=S;G=l;Q=_;while(1){DVa(Q|0,L|0,G|0)|0;Q=Q+G|0;M=G<<1;K=N-Q|0;if(Q>>>0>=S>>>0)break;else G=K>>>0>>0?K:M}}}}}while(0);y=d+s|0;x=(y|0)>0;B=q+(x<<31>>31)|0;if((B|0)<=(r|0))break;A=y-(x?t:0)|0;q=B;r=r+1|0;s=s+2|0;t=t-(x?2:0)|0;d=A;u=f[c>>2]|0}return}function Iba(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;k=u;u=u+80|0;l=k+68|0;m=k+32|0;n=k;o=k+56|0;q=k+16|0;r=k+48|0;s=c;t=f[s>>2]|0;v=f[s+4>>2]|0;s=(v|0)>-1|(v|0)==-1&t>>>0>4294967295;w=rVa(0,0,t|0,v|0)|0;x=s?t:w;w=s?v:I;v=c;f[v>>2]=x;f[v+4>>2]=w;v=c+8|0;c=v;s=f[c>>2]|0;t=f[c+4>>2]|0;c=(t|0)>-1|(t|0)==-1&s>>>0>4294967295;y=rVa(0,0,s|0,t|0)|0;z=c?s:y;y=c?t:I;t=v;f[t>>2]=z;f[t+4>>2]=y;t=(w|0)<(y|0)|(w|0)==(y|0)&x>>>0>>0;v=qVa((t?z:x)|0,(t?y:w)|0,32768,0)|0;t=AVa(v|0,I|0,16)|0;if((t|0)<3)A=90;else A=(t|0)<10?30:(t|0)<15?18:5;f[l>>2]=0;t=l+4|0;f[t>>2]=0;f[l+8>>2]=0;v=b;c=b+8|0;s=c;B=+((f[s>>2]|0)>>>0)+4294967296.0*+(f[s+4>>2]|0);p[m>>3]=+((f[v>>2]|0)>>>0)+4294967296.0*+(f[v+4>>2]|0);p[m+8>>3]=B;p[n>>3]=+(x>>>0)+4294967296.0*+(w|0);p[n+8>>3]=+(z>>>0)+4294967296.0*+(y|0);wba(m,n,d,e,g,A,l);f[o>>2]=0;A=o+4|0;f[A>>2]=0;f[o+8>>2]=0;d=f[t>>2]|0;n=f[l>>2]|0;if((d|0)==(n|0)){C=0;D=0}else{m=q+8|0;y=o+8|0;z=0;w=n;n=-1;x=-1;v=-1;s=-1;E=d;while(1){d=w;F=AEa(+p[d+(z<<4)>>3]*.0000152587890625)|0;G=BVa(F|0,((F|0)<0)<<31>>31|0,16)|0;F=I;H=AEa(+p[d+(z<<4)+8>>3]*.0000152587890625)|0;J=BVa(H|0,((H|0)<0)<<31>>31|0,16)|0;H=I;K=AEa(+p[d+(z<<4)>>3]-(+(G>>>0)+4294967296.0*+(F|0)))|0;L=qVa(G|0,F|0,K|0,((K|0)<0)<<31>>31|0)|0;K=I;F=q;f[F>>2]=L;f[F+4>>2]=K;F=AEa(+p[d+(z<<4)+8>>3]-(+(J>>>0)+4294967296.0*+(H|0)))|0;d=qVa(J|0,H|0,F|0,((F|0)<0)<<31>>31|0)|0;F=I;H=m;f[H>>2]=d;f[H+4>>2]=F;if((L|0)!=(n|0)|(K|0)!=(x|0)|((d|0)!=(v|0)|(F|0)!=(s|0))){H=f[A>>2]|0;if((H|0)==(f[y>>2]|0)){Jba(o,q);M=f[t>>2]|0;N=f[l>>2]|0}else{J=H;f[J>>2]=L;f[J+4>>2]=K;K=H+8|0;f[K>>2]=d;f[K+4>>2]=F;f[A>>2]=H+16;M=E;N=w}H=q;F=m;O=N;P=M;Q=f[F>>2]|0;R=f[F+4>>2]|0;S=f[H>>2]|0;T=f[H+4>>2]|0}else{O=w;P=E;Q=v;R=s;S=n;T=x}z=z+1|0;if(z>>>0>=P-O>>4>>>0)break;else{w=O;n=S;x=T;v=Q;s=R;E=P}}C=f[A>>2]|0;D=f[o>>2]|0}if((C-D|0)==16)Kba(o,2,b);do if((i|0)<=-1){if((g-e|0)>359){D=f[o>>2]|0;Gba(a,D,(f[A>>2]|0)-D>>4,h,j,16);break}D=f[A>>2]|0;if((D|0)==(f[o+8>>2]|0)){Jba(o,b);U=f[A>>2]|0}else{C=b;P=f[C+4>>2]|0;E=D;f[E>>2]=f[C>>2];f[E+4>>2]=P;P=c;E=f[P+4>>2]|0;C=D+8|0;f[C>>2]=f[P>>2];f[C+4>>2]=E;E=D+16|0;f[A>>2]=E;U=E}f[q>>2]=0;E=q+4|0;f[E>>2]=0;f[q+8>>2]=0;D=f[o>>2]|0;f[r>>2]=0;f[r+4>>2]=0;Mba(a,D,U-D>>4,q,h,j,16,r);Nba(a,q,h);D=f[q>>2]|0;if(D|0){C=f[E>>2]|0;if((C|0)!=(D|0))f[E>>2]=C+(~((C+-32-D|0)>>>5)<<5);GQa(D)}}else{D=f[o>>2]|0;Lba(a,D,(f[A>>2]|0)-D>>4,0,h,i,j,16)}while(0);j=f[o>>2]|0;if(j|0){o=f[A>>2]|0;if((o|0)!=(j|0))f[A>>2]=o+(~((o+-16-j|0)>>>4)<<4);GQa(j)}j=f[l>>2]|0;if(!j){u=k;return}l=f[t>>2]|0;if((l|0)!=(j|0))f[t>>2]=l+(~((l+-16-j|0)>>>4)<<4);GQa(j);u=k;return}function Jba(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e>>4;h=g+1|0;i=e;j=d;if(h>>>0>268435455)ZOa(a);d=a+8|0;k=(f[d>>2]|0)-e|0;l=k>>3;m=k>>4>>>0<134217727?(l>>>0>>0?h:l):268435455;do if(m)if(m>>>0>268435455){l=hd(8)|0;LQa(l,349912);f[l>>2]=118288;ld(l|0,20688,857)}else{n=EQa(m<<4)|0;break}else n=0;while(0);l=n+(g<<4)|0;h=n+(m<<4)|0;m=b;k=f[m+4>>2]|0;o=l;f[o>>2]=f[m>>2];f[o+4>>2]=k;k=b+8|0;b=f[k+4>>2]|0;o=n+(g<<4)+8|0;f[o>>2]=f[k>>2];f[o+4>>2]=b;b=l+16|0;if((j|0)==(i|0))p=l;else{o=j+-16-e|0;k=j;j=l;while(1){g=k;k=k+-16|0;n=k;m=f[n+4>>2]|0;q=j+-16|0;f[q>>2]=f[n>>2];f[q+4>>2]=m;m=g+-8|0;g=f[m+4>>2]|0;q=j+-8|0;f[q>>2]=f[m>>2];f[q+4>>2]=g;if((k|0)==(i|0))break;else j=j+-16|0}p=l+(~(o>>>4)<<4)|0}f[a>>2]=p;f[c>>2]=b;f[d>>2]=h;if(!e)return;GQa(e);return}function Kba(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=a+8|0;e=f[d>>2]|0;g=f[a>>2]|0;h=g;do if(e-g>>4>>>0>=b>>>0){i=a+4|0;j=f[i>>2]|0;k=j-g>>4;l=k>>>0>>0;m=l?k:b;n=j;if(m|0){j=c+8|0;o=m;m=h;while(1){p=c;q=f[p+4>>2]|0;r=m;f[r>>2]=f[p>>2];f[r+4>>2]=q;q=j;r=f[q+4>>2]|0;p=m+8|0;f[p>>2]=f[q>>2];f[p+4>>2]=r;o=o+-1|0;if(!o)break;else m=m+16|0}}if(!l){m=h+(b<<4)|0;if((m|0)==(n|0))return;else{s=i;t=n+(~((n+-16-m|0)>>>4)<<4)|0;break}}else{m=b-k|0;o=c+8|0;j=m;r=n;while(1){p=c;q=f[p+4>>2]|0;u=r;f[u>>2]=f[p>>2];f[u+4>>2]=q;q=o;u=f[q+4>>2]|0;p=r+8|0;f[p>>2]=f[q>>2];f[p+4>>2]=u;j=j+-1|0;if(!j)break;else r=r+16|0}s=i;t=n+(m<<4)|0;break}}else{r=g;if(!g)v=e;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(h|0))f[j>>2]=o+(~((o+-16-g|0)>>>4)<<4);GQa(r);f[d>>2]=0;f[j>>2]=0;f[a>>2]=0;v=0}if(b>>>0>268435455)ZOa(a);j=v>>3;r=v>>4>>>0<134217727?(j>>>0>>0?b:j):268435455;if(r>>>0>268435455)ZOa(a);j=EQa(r<<4)|0;o=a+4|0;f[o>>2]=j;f[a>>2]=j;f[d>>2]=j+(r<<4);r=c+8|0;k=b;l=j;while(1){u=c;p=f[u+4>>2]|0;q=l;f[q>>2]=f[u>>2];f[q+4>>2]=p;p=r;q=f[p+4>>2]|0;u=l+8|0;f[u>>2]=f[p>>2];f[u+4>>2]=q;k=k+-1|0;if(!k)break;else l=l+16|0}s=o;t=j+(b<<4)|0}while(0);f[s>>2]=t;return}function Lba(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;k=u;u=u+48|0;l=k+32|0;m=k+16|0;n=k;if((c|0)==0|(d|0)<1){u=k;return}o=e?d+-1|0:0;p=(e^1)&1;q=e?2:3;if(!((h|0)>-1&j>>>0<17)){f[l>>2]=0;f[l+4>>2]=0;r=JV(l,49)|0;s=216289;t=r+49|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));EP(-215,l,216339,216045,1724);KV(l)}if((p|0)>=(d|0)){u=k;return}l=c+(o<<4)+8|0;s=f[l>>2]|0;r=f[l+4>>2]|0;l=c+(o<<4)|0;o=f[l+4>>2]|0;t=m+8|0;v=n+8|0;w=c+(p<<4)|0;x=f[w>>2]|0;y=f[w+4>>2]|0;w=c+(p<<4)+8|0;p=f[w>>2]|0;z=f[w+4>>2]|0;w=m;f[w>>2]=f[l>>2];f[w+4>>2]=o;o=t;f[o>>2]=s;f[o+4>>2]=r;r=n;f[r>>2]=x;f[r+4>>2]=y;r=v;f[r>>2]=p;f[r+4>>2]=z;Cba(a,m,n,g,h,i,q,j);q=e?1:2;if((q|0)==(d|0)){u=k;return}else{A=q;B=x;C=y;D=p;E=z}do{z=c+(A<<4)|0;p=B;B=f[z>>2]|0;y=C;C=f[z+4>>2]|0;z=c+(A<<4)+8|0;x=D;D=f[z>>2]|0;q=E;E=f[z+4>>2]|0;z=m;f[z>>2]=p;f[z+4>>2]=y;y=t;f[y>>2]=x;f[y+4>>2]=q;q=n;f[q>>2]=B;f[q+4>>2]=C;q=v;f[q>>2]=D;f[q+4>>2]=E;Cba(a,m,n,g,h,i,2,j);A=A+1|0}while((A|0)!=(d|0));u=k;return}function Mba(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;j=u;u=u+96|0;k=j+80|0;l=j+64|0;m=j+32|0;n=j+16|0;o=j;p=(f[i+4>>2]|0)+(1<>1)|0;q=c+-1|0;r=b+(q<<4)|0;s=f[r>>2]|0;t=f[r+4>>2]|0;r=k+8|0;v=b+(q<<4)+8|0;q=f[v>>2]|0;w=f[v+4>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;v=f[i>>2]|0;x=qVa(s|0,t|0,v|0,((v|0)<0)<<31>>31|0)|0;v=16-h|0;t=BVa(x|0,I|0,v|0)|0;x=I;s=k;f[s>>2]=t;f[s+4>>2]=x;s=((p|0)<0)<<31>>31;y=qVa(q|0,w|0,p|0,s|0)|0;w=zVa(y|0,I|0,h|0)|0;y=I;q=r;f[q>>2]=w;f[q+4>>2]=y;q=d+4|0;Uba(d,((f[q>>2]|0)-(f[d>>2]|0)>>5)+c|0);if((c|0)<=0){u=j;return}z=l+8|0;A=(g|0)<16;B=m+4|0;C=m+8|0;D=m+16|0;E=d+8|0;F=n+8|0;G=o+8|0;H=0;J=t;t=x;x=w;w=y;do{f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;f[m+24>>2]=0;y=b+(H<<4)|0;K=b+(H<<4)+8|0;L=f[K>>2]|0;M=f[K+4>>2]|0;K=f[i>>2]|0;N=qVa(f[y>>2]|0,f[y+4>>2]|0,K|0,((K|0)<0)<<31>>31|0)|0;K=J;J=BVa(N|0,I|0,v|0)|0;N=t;t=I;y=l;f[y>>2]=J;f[y+4>>2]=t;y=qVa(L|0,M|0,p|0,s|0)|0;M=x;x=zVa(y|0,I|0,h|0)|0;y=w;w=I;L=z;f[L>>2]=x;f[L+4>>2]=w;if(A){L=qVa(K|0,N|0,32768,0)|0;O=zVa(L|0,I|0,16)|0;L=I;P=qVa(J|0,t|0,32768,0)|0;Q=zVa(P|0,I|0,16)|0;P=I;R=qVa(O|0,L|0,-2147483648,0)|0;S=I;T=qVa(M|0,y|0,-2147483648,0)|0;U=I;V=qVa(Q|0,P|0,-2147483648,0)|0;W=I;X=qVa(x|0,w|0,-2147483648,0)|0;Y=I;Dba(a,S>>>0<1|(S|0)==1&R>>>0<0?O:(L|0)>0|(L|0)==0&O>>>0>0?2147483647:-2147483648,U>>>0<1|(U|0)==1&T>>>0<0?M:(y|0)>0|(y|0)==0&M>>>0>0?2147483647:-2147483648,W>>>0<1|(W|0)==1&V>>>0<0?Q:(P|0)>0|(P|0)==0&Q>>>0>0?2147483647:-2147483648,Y>>>0<1|(Y|0)==1&X>>>0<0?x:(w|0)>0|(w|0)==0&x>>>0>0?2147483647:-2147483648,e,g)}else{X=BVa(M|0,y|0,16)|0;Y=I;Q=BVa(x|0,w|0,16)|0;P=n;f[P>>2]=K;f[P+4>>2]=N;P=F;f[P>>2]=X;f[P+4>>2]=Y;Y=o;f[Y>>2]=J;f[Y+4>>2]=t;Y=G;f[Y>>2]=Q;f[Y+4>>2]=I;Fba(a,n,o,e)}do if(!((x|0)==(M|0)&(w|0)==(y|0))){Y=(w|0)>(y|0)|(w|0)==(y|0)&x>>>0>M>>>0;Q=Y?k:l;f[m>>2]=f[Q+8>>2];f[B>>2]=f[(Y?l:k)+8>>2];Y=Q;Q=f[Y+4>>2]|0;P=C;f[P>>2]=f[Y>>2];f[P+4>>2]=Q;Q=rVa(J|0,t|0,K|0,N|0)|0;P=I;Y=rVa(x|0,w|0,M|0,y|0)|0;X=uVa(Q|0,P|0,Y|0,I|0)|0;Y=D;f[Y>>2]=X;f[Y+4>>2]=I;Y=f[q>>2]|0;if((Y|0)==(f[E>>2]|0)){Pba(d,m);break}else{f[Y>>2]=f[m>>2];f[Y+4>>2]=f[m+4>>2];f[Y+8>>2]=f[m+8>>2];f[Y+12>>2]=f[m+12>>2];f[Y+16>>2]=f[m+16>>2];f[Y+20>>2]=f[m+20>>2];f[Y+24>>2]=f[m+24>>2];f[Y+28>>2]=f[m+28>>2];f[q>>2]=(f[q>>2]|0)+32;break}}while(0);H=H+1|0;y=k;f[y>>2]=J;f[y+4>>2]=t;y=r;f[y>>2]=x;f[y+4>>2]=w}while((H|0)!=(c|0));u=j;return}function Nba(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0;e=u;u=u+48|0;g=e+32|0;h=e;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;i=c+4|0;j=f[i>>2]|0;k=f[c>>2]|0;l=j-k|0;m=l>>5;n=f[a+40>>2]|0;o=f[n+4>>2]|0;p=f[n>>2]|0;n=f[a+4>>2]|0;q=k;k=j;if((n|0)>0)r=f[(f[a+44>>2]|0)+(n+-1<<2)>>2]|0;else r=0;if((l|0)<64){u=e;return}else{s=-2147483648;t=2147483647;v=0;w=2147483647;x=-1;y=-1;z=-1}while(1){l=q+(v<<5)+8|0;n=f[l>>2]|0;j=f[l+4>>2]|0;l=f[q+(v<<5)+4>>2]|0;A=f[q+(v<<5)>>2]|0;B=l-A|0;C=q+(v<<5)+16|0;D=wVa(f[C>>2]|0,f[C+4>>2]|0,B|0,((B|0)<0)<<31>>31|0)|0;B=qVa(D|0,I|0,n|0,j|0)|0;D=I;t=(A|0)<(t|0)?A:t;s=(s|0)<(l|0)?l:s;l=(j|0)<(w|0)|(j|0)==(w|0)&n>>>0>>0;A=l?n:x;C=l?j:w;l=(y|0)<(j|0)|(y|0)==(j|0)&z>>>0>>0;E=l?n:z;n=l?j:y;j=(D|0)<(C|0)|(D|0)==(C|0)&B>>>0>>0;x=j?B:A;w=j?D:C;C=(n|0)<(D|0)|(n|0)==(D|0)&E>>>0>>0;y=C?D:n;v=v+1|0;if((v|0)>=(m|0))break;else z=C?B:E}if((s|0)<0){u=e;return}if((y|0)<0|(t|0)>=(p|0)){u=e;return}t=BVa(o|0,((o|0)<0)<<31>>31|0,16)|0;y=I;if(!((w|0)<(y|0)|(w|0)==(y|0)&x>>>0>>0)){u=e;return}Oba(q,k,g);f[h>>2]=2147483647;g=f[i>>2]|0;if((g|0)==(f[c+8>>2]|0))Pba(c,h);else{f[g>>2]=f[h>>2];f[g+4>>2]=f[h+4>>2];f[g+8>>2]=f[h+8>>2];f[g+12>>2]=f[h+12>>2];f[g+16>>2]=f[h+16>>2];f[g+20>>2]=f[h+20>>2];f[g+24>>2]=f[h+24>>2];f[g+28>>2]=f[h+28>>2];f[i>>2]=(f[i>>2]|0)+32}i=h+24|0;f[i>>2]=0;g=f[c>>2]|0;k=(s|0)>(p|0)?p:s;s=f[g>>2]|0;if((s|0)>=(k|0)){u=e;return}p=a+16|0;q=a+44|0;a=o+-1|0;t=(r|0)==1;x=s;s=g;g=0;y=0;while(1){a:do if((x|0)<0){w=f[c>>2]|0;z=0;v=h;E=y;B=s;C=g;while(1){b:do if(!E)F=22;else{n=v+24|0;D=E;while(1){if((f[D+4>>2]|0)!=(x|0))break;j=D+24|0;f[n>>2]=f[j>>2];A=f[j>>2]|0;if(!A){F=22;break b}else D=A}if((f[B>>2]|0)<=(x|0)?(A=D+8|0,j=f[A+4>>2]|0,l=B+8|0,G=f[l+4>>2]|0,!((j|0)<(G|0)|((j|0)==(G|0)?(f[A>>2]|0)>>>0<(f[l>>2]|0)>>>0:0))):0)if((C|0)<(m|0)){H=D;J=n;F=24;break}else{K=B;L=C;break a}M=D;N=f[D+24>>2]|0;O=B;P=C}while(0);if((F|0)==22){F=0;if(!((C|0)<(m|0)?(f[B>>2]|0)==(x|0):0)){K=B;L=C;break a}H=0;J=v+24|0;F=24}if((F|0)==24){F=0;f[J>>2]=B;f[B+24>>2]=H;l=C+1|0;M=B;N=H;O=w+(l<<5)|0;P=l}if(z|0){l=v+16|0;A=v+8|0;G=A;j=qVa(f[G>>2]|0,f[G+4>>2]|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=A;f[l>>2]=j;f[l+4>>2]=I;l=M+16|0;j=M+8|0;A=j;G=qVa(f[A>>2]|0,f[A+4>>2]|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=j;f[l>>2]=G;f[l+4>>2]=I}z=z^1;v=M;E=N;B=O;C=P}}else{C=0;B=h;E=y;v=s;z=g;while(1){c:do if(!E)F=31;else{w=B+24|0;l=E;while(1){if((f[l+4>>2]|0)!=(x|0))break;G=l+24|0;f[w>>2]=f[G>>2];j=f[G>>2]|0;if(!j){F=31;break c}else l=j}if((f[v>>2]|0)<=(x|0)?(D=l+8|0,n=f[D+4>>2]|0,j=v+8|0,G=f[j+4>>2]|0,!((n|0)<(G|0)|((n|0)==(G|0)?(f[D>>2]|0)>>>0<(f[j>>2]|0)>>>0:0))):0)if((z|0)<(m|0)){Q=l;R=w;F=40;break}else{K=v;L=z;break a}S=l;T=f[l+24>>2]|0;U=v;V=z}while(0);if((F|0)==31){F=0;if(!((z|0)<(m|0)?(f[v>>2]|0)==(x|0):0)){K=v;L=z;break a}Q=0;R=B+24|0;F=40}if((F|0)==40){F=0;f[R>>2]=v;f[v+24>>2]=Q;j=z+1|0;S=v;T=Q;U=(f[c>>2]|0)+(j<<5)|0;V=j}if(C|0){j=(f[p>>2]|0)+(X(f[f[q>>2]>>2]|0,x)|0)|0;D=B+8|0;G=D;n=f[G>>2]|0;A=f[G+4>>2]|0;G=S+8|0;W=G;Y=f[W>>2]|0;Z=f[W+4>>2]|0;W=(A|0)>(Z|0)|(A|0)==(Z|0)&n>>>0>Y>>>0;_=qVa((W?Y:n)|0,(W?Z:A)|0,65535,0)|0;$=AVa(_|0,I|0,16)|0;_=AVa((W?n:Y)|0,(W?A:Z)|0,16)|0;do if((_|0)>-1&(o|0)>($|0)){Z=X(($|0)>0?$:0,r)|0;A=j+Z|0;W=X(((o|0)>(_|0)?_:a)+1|0,r)|0;Y=j+W|0;if(t){FVa(A|0,b[d>>0]|0,Y-A|0)|0;break}if((Z|0)<(W|0)){DVa(A|0,d|0,r|0)|0;aa=A+r|0}else aa=A;if(aa>>>0>>0){W=Y;Z=r;n=aa;while(1){DVa(n|0,A|0,Z|0)|0;n=n+Z|0;ba=Z<<1;ca=W-n|0;if(n>>>0>=Y>>>0)break;else Z=ca>>>0>>0?ca:ba}}}while(0);j=B+16|0;_=D;$=qVa(f[_>>2]|0,f[_+4>>2]|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=D;f[j>>2]=$;f[j+4>>2]=I;j=S+16|0;$=G;_=qVa(f[$>>2]|0,f[$+4>>2]|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=G;f[j>>2]=_;f[j+4>>2]=I}C=C^1;B=S;E=T;v=U;z=V}}while(0);z=0;v=0;E=f[i>>2]|0;while(1){d:do if((E|0)==(v|0)){da=z;ea=h}else{B=z;C=h;j=E;while(1){_=j+24|0;$=f[_>>2]|0;if(!$){da=B;ea=C;break d}Z=j+8|0;Y=f[Z>>2]|0;n=f[Z+4>>2]|0;Z=B;W=C;A=$;while(1){$=A+8|0;l=f[$+4>>2]|0;if(!((n|0)>(l|0)|((n|0)==(l|0)?Y>>>0>(f[$>>2]|0)>>>0:0)))break;f[W+24>>2]=A;$=A+24|0;f[_>>2]=f[$>>2];f[$>>2]=j;$=f[_>>2]|0;if(!$){da=1;ea=A;break d}else{l=A;Z=1;A=$;W=l}}if((A|0)==(v|0)){da=Z;ea=j;break}else{W=j;B=Z;j=A;C=W}}}while(0);if(!da)break;E=f[i>>2]|0;if(!((ea|0)!=(h|0)&(ea|0)!=(E|0)))break;else{z=da;v=ea}}v=x+1|0;if((v|0)>=(k|0))break;x=v;s=K;g=L;y=f[i>>2]|0}u=e;return}function Oba(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0;d=u;u=u+32|0;e=d;g=a;a=b;a:while(1){b=a;h=a+-32|0;i=a+-64|0;j=a+-24|0;k=a+-16|0;l=g;while(1){m=l;b:while(1){n=m;o=b-n|0;p=o>>5;switch(p|0){case 2:{q=5;break a;break}case 3:{q=11;break a;break}case 4:{q=12;break a;break}case 5:{q=13;break a;break}case 1:case 0:{q=107;break a;break}default:{}}if((o|0)<992){q=15;break a}r=(p|0)/2|0;s=m+(r<<5)|0;if((o|0)>31968){o=(p|0)/4|0;t=Sba(m,m+(o<<5)|0,s,s+(o<<5)|0,h,c)|0}else t=Qba(m,s,h,c)|0;o=f[m>>2]|0;p=f[s>>2]|0;if((o|0)==(p|0)){v=m+8|0;w=f[v>>2]|0;x=f[v+4>>2]|0;v=m+(r<<5)+8|0;y=f[v>>2]|0;z=f[v+4>>2]|0;if((w|0)==(y|0)&(x|0)==(z|0)){v=m+16|0;A=m+(r<<5)+16|0;B=f[v+4>>2]|0;C=f[A+4>>2]|0;D=f[v>>2]|0;E=f[A>>2]|0}else{B=x;C=z;D=w;E=y}if((B|0)<(C|0)|(B|0)==(C|0)&D>>>0>>0){F=h;G=t;break}}else if((o|0)<(p|0)){F=h;G=t;break}if((m|0)!=(i|0)){y=m+(r<<5)+8|0;w=m+(r<<5)+16|0;r=h;H=i;while(1){z=f[H>>2]|0;if((z|0)==(p|0)){x=r+-24|0;A=f[x>>2]|0;v=f[x+4>>2]|0;x=y;I=f[x>>2]|0;J=f[x+4>>2]|0;if((A|0)==(I|0)&(v|0)==(J|0)){x=r+-16|0;K=w;L=f[x+4>>2]|0;M=f[K+4>>2]|0;N=f[x>>2]|0;O=f[K>>2]|0}else{L=v;M=J;N=A;O=I}if((L|0)<(M|0)|(L|0)==(M|0)&N>>>0>>0){q=77;break b}}else if((z|0)<(p|0)){q=77;break b}z=H+-32|0;if((m|0)==(z|0))break;else{I=H;H=z;r=I}}}r=m+32|0;p=f[h>>2]|0;if((o|0)==(p|0)){w=m+8|0;y=f[w>>2]|0;I=f[w+4>>2]|0;w=j;z=f[w>>2]|0;A=f[w+4>>2]|0;if((y|0)==(z|0)&(I|0)==(A|0)){w=m+16|0;J=k;P=f[w+4>>2]|0;Q=f[J+4>>2]|0;R=f[w>>2]|0;S=f[J>>2]|0}else{P=I;Q=A;R=y;S=z}if((P|0)<(Q|0)|(P|0)==(Q|0)&R>>>0>>0)T=r;else q=46}else if((o|0)<(p|0))T=r;else q=46;if((q|0)==46){q=0;if((r|0)==(h|0)){q=107;break a}p=m+8|0;z=m+16|0;y=r;while(1){r=f[y>>2]|0;if((o|0)==(r|0)){A=p;I=f[A>>2]|0;J=f[A+4>>2]|0;A=y+8|0;w=f[A>>2]|0;v=f[A+4>>2]|0;if((I|0)==(w|0)&(J|0)==(v|0)){A=z;K=y+16|0;U=f[A+4>>2]|0;V=f[K+4>>2]|0;W=f[A>>2]|0;X=f[K>>2]|0}else{U=J;V=v;W=I;X=w}if((U|0)<(V|0)|(U|0)==(V|0)&W>>>0>>0)break}else if((o|0)<(r|0))break;r=y+32|0;if((r|0)==(h|0)){q=107;break a}else y=r}f[e>>2]=f[y>>2];f[e+4>>2]=f[y+4>>2];f[e+8>>2]=f[y+8>>2];f[e+12>>2]=f[y+12>>2];f[e+16>>2]=f[y+16>>2];f[e+20>>2]=f[y+20>>2];f[e+24>>2]=f[y+24>>2];f[e+28>>2]=f[y+28>>2];f[y>>2]=f[h>>2];f[y+4>>2]=f[h+4>>2];f[y+8>>2]=f[h+8>>2];f[y+12>>2]=f[h+12>>2];f[y+16>>2]=f[h+16>>2];f[y+20>>2]=f[h+20>>2];f[y+24>>2]=f[h+24>>2];f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];f[h+24>>2]=f[e+24>>2];T=y+32|0}if((T|0)==(h|0)){q=107;break a}o=m+8|0;z=m+16|0;p=h;r=T;while(1){w=f[m>>2]|0;I=r;while(1){v=f[I>>2]|0;if((w|0)==(v|0)){J=o;K=f[J>>2]|0;A=f[J+4>>2]|0;J=I+8|0;x=f[J>>2]|0;Y=f[J+4>>2]|0;if((K|0)==(x|0)&(A|0)==(Y|0)){J=z;Z=I+16|0;_=f[J+4>>2]|0;$=f[Z+4>>2]|0;aa=f[J>>2]|0;ba=f[Z>>2]|0}else{_=A;$=Y;aa=K;ba=x}if((_|0)<($|0)|(_|0)==($|0)&aa>>>0>>0){ca=p;break}}else if((w|0)<(v|0)){ca=p;break}I=I+32|0}while(1){v=ca;ca=ca+-32|0;x=f[ca>>2]|0;if((w|0)!=(x|0))if((w|0)<(x|0)){ca=ca;continue}else break;x=o;K=f[x>>2]|0;Y=f[x+4>>2]|0;x=v+-24|0;A=f[x>>2]|0;Z=f[x+4>>2]|0;if((K|0)==(A|0)&(Y|0)==(Z|0)){x=z;J=v+-16|0;da=f[x+4>>2]|0;ea=f[J+4>>2]|0;fa=f[x>>2]|0;ga=f[J>>2]|0}else{da=Y;ea=Z;fa=K;ga=A}if(!((da|0)<(ea|0)|(da|0)==(ea|0)&fa>>>0>>0))break}if(I>>>0>=ca>>>0){m=I;continue b};f[e>>2]=f[I>>2];f[e+4>>2]=f[I+4>>2];f[e+8>>2]=f[I+8>>2];f[e+12>>2]=f[I+12>>2];f[e+16>>2]=f[I+16>>2];f[e+20>>2]=f[I+20>>2];f[e+24>>2]=f[I+24>>2];f[e+28>>2]=f[I+28>>2];f[I>>2]=f[ca>>2];f[I+4>>2]=f[ca+4>>2];f[I+8>>2]=f[ca+8>>2];f[I+12>>2]=f[ca+12>>2];f[I+16>>2]=f[ca+16>>2];f[I+20>>2]=f[ca+20>>2];f[I+24>>2]=f[ca+24>>2];f[ca>>2]=f[e>>2];f[ca+4>>2]=f[e+4>>2];f[ca+8>>2]=f[e+8>>2];f[ca+12>>2]=f[e+12>>2];f[ca+16>>2]=f[e+16>>2];f[ca+20>>2]=f[e+20>>2];f[ca+24>>2]=f[e+24>>2];p=ca;r=I+32|0}}if((q|0)==77){q=0;f[e>>2]=f[m>>2];f[e+4>>2]=f[m+4>>2];f[e+8>>2]=f[m+8>>2];f[e+12>>2]=f[m+12>>2];f[e+16>>2]=f[m+16>>2];f[e+20>>2]=f[m+20>>2];f[e+24>>2]=f[m+24>>2];f[e+28>>2]=f[m+28>>2];f[m>>2]=f[H>>2];f[m+4>>2]=f[H+4>>2];f[m+8>>2]=f[H+8>>2];f[m+12>>2]=f[H+12>>2];f[m+16>>2]=f[H+16>>2];f[m+20>>2]=f[H+20>>2];f[m+24>>2]=f[H+24>>2];f[H>>2]=f[e>>2];f[H+4>>2]=f[e+4>>2];f[H+8>>2]=f[e+8>>2];f[H+12>>2]=f[e+12>>2];f[H+16>>2]=f[e+16>>2];f[H+20>>2]=f[e+20>>2];f[H+24>>2]=f[e+24>>2];F=H;G=t+1|0}r=m+32|0;c:do if(r>>>0>>0){p=s;z=F;o=r;y=G;while(1){w=f[p>>2]|0;A=p+8|0;K=p+16|0;Z=o;while(1){Y=f[Z>>2]|0;if((Y|0)==(w|0)){J=Z+8|0;x=f[J>>2]|0;v=f[J+4>>2]|0;J=A;ha=f[J>>2]|0;ia=f[J+4>>2]|0;if((x|0)==(ha|0)&(v|0)==(ia|0)){J=Z+16|0;ja=K;ka=f[J+4>>2]|0;la=f[ja+4>>2]|0;ma=f[J>>2]|0;na=f[ja>>2]|0}else{ka=v;la=ia;ma=x;na=ha}if(!((ka|0)<(la|0)|(ka|0)==(la|0)&ma>>>0>>0)){oa=z;break}}else if((Y|0)>=(w|0)){oa=z;break}Z=Z+32|0}while(1){I=oa;oa=oa+-32|0;Y=f[oa>>2]|0;if((Y|0)!=(w|0))if((Y|0)<(w|0))break;else{oa=oa;continue}Y=I+-24|0;ha=f[Y>>2]|0;x=f[Y+4>>2]|0;Y=A;ia=f[Y>>2]|0;v=f[Y+4>>2]|0;if((ha|0)==(ia|0)&(x|0)==(v|0)){Y=I+-16|0;I=K;pa=f[Y+4>>2]|0;qa=f[I+4>>2]|0;ra=f[Y>>2]|0;sa=f[I>>2]|0}else{pa=x;qa=v;ra=ha;sa=ia}if((pa|0)<(qa|0)|(pa|0)==(qa|0)&ra>>>0>>0)break}if(Z>>>0>oa>>>0){ta=p;ua=y;va=Z;break c};f[e>>2]=f[Z>>2];f[e+4>>2]=f[Z+4>>2];f[e+8>>2]=f[Z+8>>2];f[e+12>>2]=f[Z+12>>2];f[e+16>>2]=f[Z+16>>2];f[e+20>>2]=f[Z+20>>2];f[e+24>>2]=f[Z+24>>2];f[e+28>>2]=f[Z+28>>2];f[Z>>2]=f[oa>>2];f[Z+4>>2]=f[oa+4>>2];f[Z+8>>2]=f[oa+8>>2];f[Z+12>>2]=f[oa+12>>2];f[Z+16>>2]=f[oa+16>>2];f[Z+20>>2]=f[oa+20>>2];f[Z+24>>2]=f[oa+24>>2];f[oa>>2]=f[e>>2];f[oa+4>>2]=f[e+4>>2];f[oa+8>>2]=f[e+8>>2];f[oa+12>>2]=f[e+12>>2];f[oa+16>>2]=f[e+16>>2];f[oa+20>>2]=f[e+20>>2];f[oa+24>>2]=f[e+24>>2];p=(p|0)==(Z|0)?oa:p;z=oa;o=Z+32|0;y=y+1|0}}else{ta=s;ua=G;va=r}while(0);do if((va|0)==(ta|0))wa=ua;else{r=f[ta>>2]|0;y=f[va>>2]|0;if((r|0)==(y|0)){o=ta+8|0;z=f[o>>2]|0;p=f[o+4>>2]|0;o=va+8|0;K=f[o>>2]|0;A=f[o+4>>2]|0;if((z|0)==(K|0)&(p|0)==(A|0)){o=ta+16|0;w=va+16|0;xa=f[o+4>>2]|0;ya=f[w+4>>2]|0;za=f[o>>2]|0;Aa=f[w>>2]|0}else{xa=p;ya=A;za=z;Aa=K}if(!((xa|0)<(ya|0)|(xa|0)==(ya|0)&za>>>0>>0)){wa=ua;break}}else if((r|0)>=(y|0)){wa=ua;break};f[e>>2]=f[va>>2];f[e+4>>2]=f[va+4>>2];f[e+8>>2]=f[va+8>>2];f[e+12>>2]=f[va+12>>2];f[e+16>>2]=f[va+16>>2];f[e+20>>2]=f[va+20>>2];f[e+24>>2]=f[va+24>>2];f[e+28>>2]=f[va+28>>2];f[va>>2]=f[ta>>2];f[va+4>>2]=f[ta+4>>2];f[va+8>>2]=f[ta+8>>2];f[va+12>>2]=f[ta+12>>2];f[va+16>>2]=f[ta+16>>2];f[va+20>>2]=f[ta+20>>2];f[va+24>>2]=f[ta+24>>2];f[ta>>2]=f[e>>2];f[ta+4>>2]=f[e+4>>2];f[ta+8>>2]=f[e+8>>2];f[ta+12>>2]=f[e+12>>2];f[ta+16>>2]=f[e+16>>2];f[ta+20>>2]=f[e+20>>2];f[ta+24>>2]=f[e+24>>2];wa=ua+1|0}while(0);if(!wa){Ba=Tba(m,va,c)|0;y=va+32|0;if(Tba(y,a,c)|0){q=106;break}if(Ba){l=y;continue}}y=va;if((y-n|0)>=(b-y|0)){q=105;break}Oba(m,va,c);l=va+32|0}if((q|0)==105){q=0;Oba(va+32|0,a,c);g=m;a=va;continue}else if((q|0)==106){q=0;if(Ba){q=107;break}else{g=m;a=va;continue}}}if((q|0)==5){va=f[h>>2]|0;g=f[m>>2]|0;if((va|0)==(g|0)){Ba=j;j=f[Ba>>2]|0;n=f[Ba+4>>2]|0;Ba=m+8|0;wa=f[Ba>>2]|0;ua=f[Ba+4>>2]|0;if((j|0)==(wa|0)&(n|0)==(ua|0)){Ba=k;k=m+16|0;Ca=f[Ba+4>>2]|0;Da=f[k+4>>2]|0;Ea=f[Ba>>2]|0;Fa=f[k>>2]|0}else{Ca=n;Da=ua;Ea=j;Fa=wa}if(!((Ca|0)<(Da|0)|(Ca|0)==(Da|0)&Ea>>>0>>0)){u=d;return}}else if((va|0)>=(g|0)){u=d;return};f[e>>2]=f[m>>2];f[e+4>>2]=f[m+4>>2];f[e+8>>2]=f[m+8>>2];f[e+12>>2]=f[m+12>>2];f[e+16>>2]=f[m+16>>2];f[e+20>>2]=f[m+20>>2];f[e+24>>2]=f[m+24>>2];f[e+28>>2]=f[m+28>>2];f[m>>2]=f[h>>2];f[m+4>>2]=f[h+4>>2];f[m+8>>2]=f[h+8>>2];f[m+12>>2]=f[h+12>>2];f[m+16>>2]=f[h+16>>2];f[m+20>>2]=f[h+20>>2];f[m+24>>2]=f[h+24>>2];f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];f[h+24>>2]=f[e+24>>2];u=d;return}else if((q|0)==11){Qba(m,m+32|0,h,c)|0;u=d;return}else if((q|0)==12){Rba(m,m+32|0,m+64|0,h,c)|0;u=d;return}else if((q|0)==13){Sba(m,m+32|0,m+64|0,m+96|0,h,c)|0;u=d;return}else if((q|0)==15){h=m+64|0;Qba(m,m+32|0,h,c)|0;c=m+96|0;if((c|0)==(a|0)){u=d;return}else{Ga=c;Ha=h}while(1){h=f[Ga>>2]|0;c=f[Ha>>2]|0;if((h|0)==(c|0)){e=Ga+8|0;g=f[e>>2]|0;va=f[e+4>>2]|0;e=Ha+8|0;Fa=f[e>>2]|0;Ea=f[e+4>>2]|0;if((g|0)==(Fa|0)&(va|0)==(Ea|0)){e=Ga+16|0;Da=Ha+16|0;Ia=f[e+4>>2]|0;Ja=f[Da+4>>2]|0;Ka=f[e>>2]|0;La=f[Da>>2]|0}else{Ia=va;Ja=Ea;Ka=g;La=Fa}if((Ia|0)<(Ja|0)|(Ia|0)==(Ja|0)&Ka>>>0>>0){Ma=g;Na=va;q=22}}else if((h|0)<(c|0)){c=Ga+8|0;Ma=f[c>>2]|0;Na=f[c+4>>2]|0;q=22}if((q|0)==22){q=0;c=f[Ga+4>>2]|0;va=Ga+16|0;g=f[va>>2]|0;Fa=f[va+4>>2]|0;va=f[Ga+24>>2]|0;f[Ga>>2]=f[Ha>>2];f[Ga+4>>2]=f[Ha+4>>2];f[Ga+8>>2]=f[Ha+8>>2];f[Ga+12>>2]=f[Ha+12>>2];f[Ga+16>>2]=f[Ha+16>>2];f[Ga+20>>2]=f[Ha+20>>2];f[Ga+24>>2]=f[Ha+24>>2];d:do if((Ha|0)==(m|0))Oa=m;else{Ea=Ha;while(1){Da=Ea;Ea=Ea+-32|0;e=f[Ea>>2]|0;if((h|0)==(e|0)){Ca=Da+-24|0;wa=f[Ca>>2]|0;j=f[Ca+4>>2]|0;if((Ma|0)==(wa|0)&(Na|0)==(j|0)){Ca=Da+-16|0;Pa=Fa;Qa=f[Ca+4>>2]|0;Ra=g;Sa=f[Ca>>2]|0}else{Pa=Na;Qa=j;Ra=Ma;Sa=wa}if(!((Pa|0)<(Qa|0)|(Pa|0)==(Qa|0)&Ra>>>0>>0)){Oa=Da;break d}}else if((h|0)>=(e|0)){Oa=Da;break d};f[Da>>2]=f[Ea>>2];f[Da+4>>2]=f[Ea+4>>2];f[Da+8>>2]=f[Ea+8>>2];f[Da+12>>2]=f[Ea+12>>2];f[Da+16>>2]=f[Ea+16>>2];f[Da+20>>2]=f[Ea+20>>2];f[Da+24>>2]=f[Ea+24>>2];if((Ea|0)==(m|0)){Oa=m;break}}}while(0);f[Oa>>2]=h;f[Oa+4>>2]=c;Ea=Oa+8|0;f[Ea>>2]=Ma;f[Ea+4>>2]=Na;Ea=Oa+16|0;f[Ea>>2]=g;f[Ea+4>>2]=Fa;f[Oa+24>>2]=va}Ea=Ga+32|0;if((Ea|0)==(a|0))break;else{Da=Ga;Ga=Ea;Ha=Da}}u=d;return}else if((q|0)==107){u=d;return}}function Pba(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=e>>5;h=g+1|0;if(h>>>0>134217727)ZOa(a);i=a+8|0;j=(f[i>>2]|0)-d|0;k=j>>4;l=j>>5>>>0<67108863?(k>>>0>>0?h:k):134217727;do if(l)if(l>>>0>134217727){k=hd(8)|0;LQa(k,349912);f[k>>2]=118288;ld(k|0,20688,857)}else{k=EQa(l<<5)|0;m=k;n=k;break}else{m=0;n=0}while(0);k=m+(g<<5)|0;f[k>>2]=f[b>>2];f[k+4>>2]=f[b+4>>2];f[k+8>>2]=f[b+8>>2];f[k+12>>2]=f[b+12>>2];f[k+16>>2]=f[b+16>>2];f[k+20>>2]=f[b+20>>2];f[k+24>>2]=f[b+24>>2];f[k+28>>2]=f[b+28>>2];if((e|0)>0)DVa(n|0,d|0,e|0)|0;f[a>>2]=m;f[c>>2]=k+32;f[i>>2]=m+(l<<5);if(!d)return;GQa(d);return}function Qba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;d=u;u=u+32|0;e=d;g=f[b>>2]|0;h=f[a>>2]|0;if((g|0)==(h|0)){i=b+8|0;j=f[i>>2]|0;k=f[i+4>>2]|0;i=a+8|0;l=f[i>>2]|0;m=f[i+4>>2]|0;if((j|0)==(l|0)&(k|0)==(m|0)){i=b+16|0;n=a+16|0;o=f[i+4>>2]|0;p=f[n+4>>2]|0;q=f[i>>2]|0;r=f[n>>2]|0}else{o=k;p=m;q=j;r=l}s=(o|0)<(p|0)|(o|0)==(p|0)&q>>>0>>0}else s=(g|0)<(h|0);h=f[c>>2]|0;if((h|0)==(g|0)){r=c+8|0;q=f[r>>2]|0;p=f[r+4>>2]|0;r=b+8|0;o=f[r>>2]|0;l=f[r+4>>2]|0;if((q|0)==(o|0)&(p|0)==(l|0)){r=c+16|0;j=b+16|0;t=f[r+4>>2]|0;v=f[j+4>>2]|0;w=f[r>>2]|0;x=f[j>>2]|0}else{t=p;v=l;w=q;x=o}y=(t|0)<(v|0)|(t|0)==(v|0)&w>>>0>>0}else y=(h|0)<(g|0);if(!s){if(!y){z=0;u=d;return z|0};f[e>>2]=f[b>>2];f[e+4>>2]=f[b+4>>2];f[e+8>>2]=f[b+8>>2];f[e+12>>2]=f[b+12>>2];f[e+16>>2]=f[b+16>>2];f[e+20>>2]=f[b+20>>2];f[e+24>>2]=f[b+24>>2];f[e+28>>2]=f[b+28>>2];f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];f[b+12>>2]=f[c+12>>2];f[b+16>>2]=f[c+16>>2];f[b+20>>2]=f[c+20>>2];f[b+24>>2]=f[c+24>>2];f[c>>2]=f[e>>2];f[c+4>>2]=f[e+4>>2];f[c+8>>2]=f[e+8>>2];f[c+12>>2]=f[e+12>>2];f[c+16>>2]=f[e+16>>2];f[c+20>>2]=f[e+20>>2];f[c+24>>2]=f[e+24>>2];s=f[b>>2]|0;g=f[a>>2]|0;if((s|0)==(g|0)){h=b+8|0;x=f[h>>2]|0;w=f[h+4>>2]|0;h=a+8|0;v=f[h>>2]|0;t=f[h+4>>2]|0;if((x|0)==(v|0)&(w|0)==(t|0)){h=b+16|0;o=a+16|0;A=f[h+4>>2]|0;B=f[o+4>>2]|0;C=f[h>>2]|0;D=f[o>>2]|0}else{A=w;B=t;C=x;D=v}if(!((A|0)<(B|0)|(A|0)==(B|0)&C>>>0>>0)){z=1;u=d;return z|0}}else if((s|0)>=(g|0)){z=1;u=d;return z|0};f[e>>2]=f[a>>2];f[e+4>>2]=f[a+4>>2];f[e+8>>2]=f[a+8>>2];f[e+12>>2]=f[a+12>>2];f[e+16>>2]=f[a+16>>2];f[e+20>>2]=f[a+20>>2];f[e+24>>2]=f[a+24>>2];f[e+28>>2]=f[a+28>>2];f[a>>2]=f[b>>2];f[a+4>>2]=f[b+4>>2];f[a+8>>2]=f[b+8>>2];f[a+12>>2]=f[b+12>>2];f[a+16>>2]=f[b+16>>2];f[a+20>>2]=f[b+20>>2];f[a+24>>2]=f[b+24>>2];f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];f[b+24>>2]=f[e+24>>2];z=2;u=d;return z|0};f[e>>2]=f[a>>2];f[e+4>>2]=f[a+4>>2];f[e+8>>2]=f[a+8>>2];f[e+12>>2]=f[a+12>>2];f[e+16>>2]=f[a+16>>2];f[e+20>>2]=f[a+20>>2];f[e+24>>2]=f[a+24>>2];f[e+28>>2]=f[a+28>>2];if(y){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[c>>2]=f[e>>2];f[c+4>>2]=f[e+4>>2];f[c+8>>2]=f[e+8>>2];f[c+12>>2]=f[e+12>>2];f[c+16>>2]=f[e+16>>2];f[c+20>>2]=f[e+20>>2];f[c+24>>2]=f[e+24>>2];z=1;u=d;return z|0};f[a>>2]=f[b>>2];f[a+4>>2]=f[b+4>>2];f[a+8>>2]=f[b+8>>2];f[a+12>>2]=f[b+12>>2];f[a+16>>2]=f[b+16>>2];f[a+20>>2]=f[b+20>>2];f[a+24>>2]=f[b+24>>2];f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];f[b+24>>2]=f[e+24>>2];a=f[c>>2]|0;y=f[b>>2]|0;if((a|0)==(y|0)){g=c+8|0;s=f[g>>2]|0;D=f[g+4>>2]|0;g=b+8|0;C=f[g>>2]|0;B=f[g+4>>2]|0;if((s|0)==(C|0)&(D|0)==(B|0)){g=c+16|0;A=b+16|0;E=f[g+4>>2]|0;F=f[A+4>>2]|0;G=f[g>>2]|0;H=f[A>>2]|0}else{E=D;F=B;G=s;H=C}if(!((E|0)<(F|0)|(E|0)==(F|0)&G>>>0>>0)){z=1;u=d;return z|0}}else if((a|0)>=(y|0)){z=1;u=d;return z|0};f[e>>2]=f[b>>2];f[e+4>>2]=f[b+4>>2];f[e+8>>2]=f[b+8>>2];f[e+12>>2]=f[b+12>>2];f[e+16>>2]=f[b+16>>2];f[e+20>>2]=f[b+20>>2];f[e+24>>2]=f[b+24>>2];f[e+28>>2]=f[b+28>>2];f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];f[b+12>>2]=f[c+12>>2];f[b+16>>2]=f[c+16>>2];f[b+20>>2]=f[c+20>>2];f[b+24>>2]=f[c+24>>2];f[c>>2]=f[e>>2];f[c+4>>2]=f[e+4>>2];f[c+8>>2]=f[e+8>>2];f[c+12>>2]=f[e+12>>2];f[c+16>>2]=f[e+16>>2];f[c+20>>2]=f[e+20>>2];f[c+24>>2]=f[e+24>>2];z=2;u=d;return z|0}function Rba(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;g=u;u=u+32|0;h=g;i=Qba(a,b,c,e)|0;e=f[d>>2]|0;j=f[c>>2]|0;if((e|0)==(j|0)){k=d+8|0;l=f[k>>2]|0;m=f[k+4>>2]|0;k=c+8|0;n=f[k>>2]|0;o=f[k+4>>2]|0;if((l|0)==(n|0)&(m|0)==(o|0)){k=d+16|0;p=c+16|0;q=f[k+4>>2]|0;r=f[p+4>>2]|0;s=f[k>>2]|0;t=f[p>>2]|0}else{q=m;r=o;s=l;t=n}if(!((q|0)<(r|0)|(q|0)==(r|0)&s>>>0>>0)){v=i;u=g;return v|0}}else if((e|0)>=(j|0)){v=i;u=g;return v|0};f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];f[h+12>>2]=f[c+12>>2];f[h+16>>2]=f[c+16>>2];f[h+20>>2]=f[c+20>>2];f[h+24>>2]=f[c+24>>2];f[h+28>>2]=f[c+28>>2];f[c>>2]=f[d>>2];f[c+4>>2]=f[d+4>>2];f[c+8>>2]=f[d+8>>2];f[c+12>>2]=f[d+12>>2];f[c+16>>2]=f[d+16>>2];f[c+20>>2]=f[d+20>>2];f[c+24>>2]=f[d+24>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];f[d+8>>2]=f[h+8>>2];f[d+12>>2]=f[h+12>>2];f[d+16>>2]=f[h+16>>2];f[d+20>>2]=f[h+20>>2];f[d+24>>2]=f[h+24>>2];d=i+1|0;j=f[c>>2]|0;e=f[b>>2]|0;if((j|0)==(e|0)){t=c+8|0;s=f[t>>2]|0;r=f[t+4>>2]|0;t=b+8|0;q=f[t>>2]|0;n=f[t+4>>2]|0;if((s|0)==(q|0)&(r|0)==(n|0)){t=c+16|0;l=b+16|0;w=f[t+4>>2]|0;x=f[l+4>>2]|0;y=f[t>>2]|0;z=f[l>>2]|0}else{w=r;x=n;y=s;z=q}if(!((w|0)<(x|0)|(w|0)==(x|0)&y>>>0>>0)){v=d;u=g;return v|0}}else if((j|0)>=(e|0)){v=d;u=g;return v|0};f[h>>2]=f[b>>2];f[h+4>>2]=f[b+4>>2];f[h+8>>2]=f[b+8>>2];f[h+12>>2]=f[b+12>>2];f[h+16>>2]=f[b+16>>2];f[h+20>>2]=f[b+20>>2];f[h+24>>2]=f[b+24>>2];f[h+28>>2]=f[b+28>>2];f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];f[b+12>>2]=f[c+12>>2];f[b+16>>2]=f[c+16>>2];f[b+20>>2]=f[c+20>>2];f[b+24>>2]=f[c+24>>2];f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];f[c+12>>2]=f[h+12>>2];f[c+16>>2]=f[h+16>>2];f[c+20>>2]=f[h+20>>2];f[c+24>>2]=f[h+24>>2];c=i+2|0;d=f[b>>2]|0;e=f[a>>2]|0;if((d|0)==(e|0)){j=b+8|0;z=f[j>>2]|0;y=f[j+4>>2]|0;j=a+8|0;x=f[j>>2]|0;w=f[j+4>>2]|0;if((z|0)==(x|0)&(y|0)==(w|0)){j=b+16|0;q=a+16|0;A=f[j+4>>2]|0;B=f[q+4>>2]|0;C=f[j>>2]|0;D=f[q>>2]|0}else{A=y;B=w;C=z;D=x}if(!((A|0)<(B|0)|(A|0)==(B|0)&C>>>0>>0)){v=c;u=g;return v|0}}else if((d|0)>=(e|0)){v=c;u=g;return v|0};f[h>>2]=f[a>>2];f[h+4>>2]=f[a+4>>2];f[h+8>>2]=f[a+8>>2];f[h+12>>2]=f[a+12>>2];f[h+16>>2]=f[a+16>>2];f[h+20>>2]=f[a+20>>2];f[h+24>>2]=f[a+24>>2];f[h+28>>2]=f[a+28>>2];f[a>>2]=f[b>>2];f[a+4>>2]=f[b+4>>2];f[a+8>>2]=f[b+8>>2];f[a+12>>2]=f[b+12>>2];f[a+16>>2]=f[b+16>>2];f[a+20>>2]=f[b+20>>2];f[a+24>>2]=f[b+24>>2];f[b>>2]=f[h>>2];f[b+4>>2]=f[h+4>>2];f[b+8>>2]=f[h+8>>2];f[b+12>>2]=f[h+12>>2];f[b+16>>2]=f[h+16>>2];f[b+20>>2]=f[h+20>>2];f[b+24>>2]=f[h+24>>2];v=i+3|0;u=g;return v|0}function Sba(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;h=u;u=u+32|0;i=h;j=Rba(a,b,c,d,g)|0;g=f[e>>2]|0;k=f[d>>2]|0;if((g|0)==(k|0)){l=e+8|0;m=f[l>>2]|0;n=f[l+4>>2]|0;l=d+8|0;o=f[l>>2]|0;p=f[l+4>>2]|0;if((m|0)==(o|0)&(n|0)==(p|0)){l=e+16|0;q=d+16|0;r=f[l+4>>2]|0;s=f[q+4>>2]|0;t=f[l>>2]|0;v=f[q>>2]|0}else{r=n;s=p;t=m;v=o}if(!((r|0)<(s|0)|(r|0)==(s|0)&t>>>0>>0)){w=j;u=h;return w|0}}else if((g|0)>=(k|0)){w=j;u=h;return w|0};f[i>>2]=f[d>>2];f[i+4>>2]=f[d+4>>2];f[i+8>>2]=f[d+8>>2];f[i+12>>2]=f[d+12>>2];f[i+16>>2]=f[d+16>>2];f[i+20>>2]=f[d+20>>2];f[i+24>>2]=f[d+24>>2];f[i+28>>2]=f[d+28>>2];f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];f[d+24>>2]=f[e+24>>2];f[e>>2]=f[i>>2];f[e+4>>2]=f[i+4>>2];f[e+8>>2]=f[i+8>>2];f[e+12>>2]=f[i+12>>2];f[e+16>>2]=f[i+16>>2];f[e+20>>2]=f[i+20>>2];f[e+24>>2]=f[i+24>>2];e=j+1|0;k=f[d>>2]|0;g=f[c>>2]|0;if((k|0)==(g|0)){v=d+8|0;t=f[v>>2]|0;s=f[v+4>>2]|0;v=c+8|0;r=f[v>>2]|0;o=f[v+4>>2]|0;if((t|0)==(r|0)&(s|0)==(o|0)){v=d+16|0;m=c+16|0;x=f[v+4>>2]|0;y=f[m+4>>2]|0;z=f[v>>2]|0;A=f[m>>2]|0}else{x=s;y=o;z=t;A=r}if(!((x|0)<(y|0)|(x|0)==(y|0)&z>>>0>>0)){w=e;u=h;return w|0}}else if((k|0)>=(g|0)){w=e;u=h;return w|0};f[i>>2]=f[c>>2];f[i+4>>2]=f[c+4>>2];f[i+8>>2]=f[c+8>>2];f[i+12>>2]=f[c+12>>2];f[i+16>>2]=f[c+16>>2];f[i+20>>2]=f[c+20>>2];f[i+24>>2]=f[c+24>>2];f[i+28>>2]=f[c+28>>2];f[c>>2]=f[d>>2];f[c+4>>2]=f[d+4>>2];f[c+8>>2]=f[d+8>>2];f[c+12>>2]=f[d+12>>2];f[c+16>>2]=f[d+16>>2];f[c+20>>2]=f[d+20>>2];f[c+24>>2]=f[d+24>>2];f[d>>2]=f[i>>2];f[d+4>>2]=f[i+4>>2];f[d+8>>2]=f[i+8>>2];f[d+12>>2]=f[i+12>>2];f[d+16>>2]=f[i+16>>2];f[d+20>>2]=f[i+20>>2];f[d+24>>2]=f[i+24>>2];d=j+2|0;e=f[c>>2]|0;g=f[b>>2]|0;if((e|0)==(g|0)){k=c+8|0;A=f[k>>2]|0;z=f[k+4>>2]|0;k=b+8|0;y=f[k>>2]|0;x=f[k+4>>2]|0;if((A|0)==(y|0)&(z|0)==(x|0)){k=c+16|0;r=b+16|0;B=f[k+4>>2]|0;C=f[r+4>>2]|0;D=f[k>>2]|0;E=f[r>>2]|0}else{B=z;C=x;D=A;E=y}if(!((B|0)<(C|0)|(B|0)==(C|0)&D>>>0>>0)){w=d;u=h;return w|0}}else if((e|0)>=(g|0)){w=d;u=h;return w|0};f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];f[i+8>>2]=f[b+8>>2];f[i+12>>2]=f[b+12>>2];f[i+16>>2]=f[b+16>>2];f[i+20>>2]=f[b+20>>2];f[i+24>>2]=f[b+24>>2];f[i+28>>2]=f[b+28>>2];f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];f[b+12>>2]=f[c+12>>2];f[b+16>>2]=f[c+16>>2];f[b+20>>2]=f[c+20>>2];f[b+24>>2]=f[c+24>>2];f[c>>2]=f[i>>2];f[c+4>>2]=f[i+4>>2];f[c+8>>2]=f[i+8>>2];f[c+12>>2]=f[i+12>>2];f[c+16>>2]=f[i+16>>2];f[c+20>>2]=f[i+20>>2];f[c+24>>2]=f[i+24>>2];c=j+3|0;d=f[b>>2]|0;g=f[a>>2]|0;if((d|0)==(g|0)){e=b+8|0;E=f[e>>2]|0;D=f[e+4>>2]|0;e=a+8|0;C=f[e>>2]|0;B=f[e+4>>2]|0;if((E|0)==(C|0)&(D|0)==(B|0)){e=b+16|0;y=a+16|0;F=f[e+4>>2]|0;G=f[y+4>>2]|0;H=f[e>>2]|0;I=f[y>>2]|0}else{F=D;G=B;H=E;I=C}if(!((F|0)<(G|0)|(F|0)==(G|0)&H>>>0>>0)){w=c;u=h;return w|0}}else if((d|0)>=(g|0)){w=c;u=h;return w|0};f[i>>2]=f[a>>2];f[i+4>>2]=f[a+4>>2];f[i+8>>2]=f[a+8>>2];f[i+12>>2]=f[a+12>>2];f[i+16>>2]=f[a+16>>2];f[i+20>>2]=f[a+20>>2];f[i+24>>2]=f[a+24>>2];f[i+28>>2]=f[a+28>>2];f[a>>2]=f[b>>2];f[a+4>>2]=f[b+4>>2];f[a+8>>2]=f[b+8>>2];f[a+12>>2]=f[b+12>>2];f[a+16>>2]=f[b+16>>2];f[a+20>>2]=f[b+20>>2];f[a+24>>2]=f[b+24>>2];f[b>>2]=f[i>>2];f[b+4>>2]=f[i+4>>2];f[b+8>>2]=f[i+8>>2];f[b+12>>2]=f[i+12>>2];f[b+16>>2]=f[i+16>>2];f[b+20>>2]=f[i+20>>2];f[b+24>>2]=f[i+24>>2];w=j+4|0;u=h;return w|0}function Tba(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;d=u;u=u+32|0;e=d;switch(b-a>>5|0){case 2:{g=b+-32|0;h=f[g>>2]|0;i=f[a>>2]|0;if((h|0)==(i|0)){j=b+-24|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=a+8|0;m=f[j>>2]|0;n=f[j+4>>2]|0;if((k|0)==(m|0)&(l|0)==(n|0)){j=b+-16|0;o=a+16|0;p=f[j+4>>2]|0;q=f[o+4>>2]|0;r=f[j>>2]|0;s=f[o>>2]|0}else{p=l;q=n;r=k;s=m}if(!((p|0)<(q|0)|(p|0)==(q|0)&r>>>0>>0)){t=1;u=d;return t|0}}else if((h|0)>=(i|0)){t=1;u=d;return t|0};f[e>>2]=f[a>>2];f[e+4>>2]=f[a+4>>2];f[e+8>>2]=f[a+8>>2];f[e+12>>2]=f[a+12>>2];f[e+16>>2]=f[a+16>>2];f[e+20>>2]=f[a+20>>2];f[e+24>>2]=f[a+24>>2];f[e+28>>2]=f[a+28>>2];f[a>>2]=f[g>>2];f[a+4>>2]=f[g+4>>2];f[a+8>>2]=f[g+8>>2];f[a+12>>2]=f[g+12>>2];f[a+16>>2]=f[g+16>>2];f[a+20>>2]=f[g+20>>2];f[a+24>>2]=f[g+24>>2];f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[g+16>>2]=f[e+16>>2];f[g+20>>2]=f[e+20>>2];f[g+24>>2]=f[e+24>>2];t=1;u=d;return t|0}case 3:{Qba(a,a+32|0,b+-32|0,c)|0;t=1;u=d;return t|0}case 4:{Rba(a,a+32|0,a+64|0,b+-32|0,c)|0;t=1;u=d;return t|0}case 5:{Sba(a,a+32|0,a+64|0,a+96|0,b+-32|0,c)|0;t=1;u=d;return t|0}case 1:case 0:{t=1;u=d;return t|0}default:{g=a+64|0;Qba(a,a+32|0,g,c)|0;c=a+96|0;a:do if((c|0)==(b|0)){v=1;w=0}else{i=c;h=0;s=g;while(1){r=f[i>>2]|0;q=f[s>>2]|0;if((r|0)==(q|0)){p=i+8|0;m=f[p>>2]|0;k=f[p+4>>2]|0;p=s+8|0;n=f[p>>2]|0;l=f[p+4>>2]|0;if((m|0)==(n|0)&(k|0)==(l|0)){p=i+16|0;o=s+16|0;x=f[p+4>>2]|0;y=f[o+4>>2]|0;z=f[p>>2]|0;A=f[o>>2]|0}else{x=k;y=l;z=m;A=n}if((x|0)<(y|0)|(x|0)==(y|0)&z>>>0>>0){B=m;C=k;D=19}else E=h}else if((r|0)<(q|0)){q=i+8|0;B=f[q>>2]|0;C=f[q+4>>2]|0;D=19}else E=h;if((D|0)==19){D=0;q=f[i+4>>2]|0;k=i+16|0;m=f[k>>2]|0;n=f[k+4>>2]|0;k=i+24|0;l=f[k+4>>2]|0;o=e;f[o>>2]=f[k>>2];f[o+4>>2]=l;f[i>>2]=f[s>>2];f[i+4>>2]=f[s+4>>2];f[i+8>>2]=f[s+8>>2];f[i+12>>2]=f[s+12>>2];f[i+16>>2]=f[s+16>>2];f[i+20>>2]=f[s+20>>2];f[i+24>>2]=f[s+24>>2];b:do if((s|0)==(a|0))F=a;else{l=s;while(1){o=l;l=l+-32|0;k=f[l>>2]|0;if((r|0)==(k|0)){p=o+-24|0;j=f[p>>2]|0;G=f[p+4>>2]|0;if((B|0)==(j|0)&(C|0)==(G|0)){p=o+-16|0;H=n;I=f[p+4>>2]|0;J=m;K=f[p>>2]|0}else{H=C;I=G;J=B;K=j}if(!((H|0)<(I|0)|(H|0)==(I|0)&J>>>0>>0)){F=o;break b}}else if((r|0)>=(k|0)){F=o;break b};f[o>>2]=f[l>>2];f[o+4>>2]=f[l+4>>2];f[o+8>>2]=f[l+8>>2];f[o+12>>2]=f[l+12>>2];f[o+16>>2]=f[l+16>>2];f[o+20>>2]=f[l+20>>2];f[o+24>>2]=f[l+24>>2];if((l|0)==(a|0)){F=a;break}}}while(0);f[F>>2]=r;f[F+4>>2]=q;l=F+8|0;f[l>>2]=B;f[l+4>>2]=C;l=F+16|0;f[l>>2]=m;f[l+4>>2]=n;f[F+24>>2]=f[e>>2];l=h+1|0;if((l|0)==8){v=0;w=(i+32|0)==(b|0);break a}else E=l}l=i+32|0;if((l|0)==(b|0)){v=1;w=0;break}else{o=i;i=l;h=E;s=o}}}while(0);t=w|v;u=d;return t|0}}return 0}function Uba(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=a+8|0;d=f[a>>2]|0;if((f[c>>2]|0)-d>>5>>>0>=b>>>0)return;e=a+4|0;if(b>>>0>134217727){g=hd(8)|0;LQa(g,349912);f[g>>2]=118288;ld(g|0,20688,857)}g=(f[e>>2]|0)-d|0;h=EQa(b<<5)|0;if((g|0)>0)DVa(h|0,d|0,g|0)|0;f[a>>2]=h;f[e>>2]=h+(g>>5<<5);f[c>>2]=h+(b<<5);if(!d)return;GQa(d);return}function Vba(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;j=u;u=u+160|0;k=j+152|0;l=j+96|0;m=j+64|0;n=j;yV(k,50724);do if((HJ(a)|0)==65536){o=f[a+4>>2]|0;f[l>>2]=f[o>>2];p=l+4|0;q=o+4|0;f[p>>2]=f[q>>2];r=l+8|0;f[r>>2]=f[o+8>>2];f[l+12>>2]=f[o+12>>2];f[l+16>>2]=f[o+16>>2];f[l+20>>2]=f[o+20>>2];f[l+24>>2]=f[o+24>>2];f[l+28>>2]=f[o+28>>2];f[l+32>>2]=f[o+32>>2];s=f[o+36>>2]|0;f[l+36>>2]=s;f[l+40>>2]=r;r=l+48|0;t=l+44|0;f[t>>2]=r;f[r>>2]=0;f[l+52>>2]=0;if(s|0){r=s+12|0;f[r>>2]=(f[r>>2]|0)+1}if((f[q>>2]|0)<3){q=f[o+44>>2]|0;r=f[t>>2]|0;f[r>>2]=f[q>>2];f[r+4>>2]=f[q+4>>2];break}else{f[p>>2]=0;WO(l,o);break}}else DJ(l,a,-1);while(0);if((h|0)==16)v=(f[l>>2]&7|0)==0?16:8;else v=h;if((g|0)>=32768){f[m>>2]=0;f[m+4>>2]=0;w=JV(m,26)|0;x=216473;y=w+26|0;do{b[w>>0]=b[x>>0]|0;w=w+1|0;x=x+1|0}while((w|0)<(y|0));EP(-215,m,216500,216045,1854);KV(m)}if(i>>>0>=17){f[m>>2]=0;f[m+4>>2]=0;w=JV(m,31)|0;x=216257;y=w+31|0;do{b[w>>0]=b[x>>0]|0;w=w+1|0;x=x+1|0}while((w|0)<(y|0));EP(-215,m,216500,216045,1855);KV(m)}uW(e,m,f[l>>2]&4095,0);e=f[c>>2]|0;x=((e|0)<0)<<31>>31;w=f[c+4>>2]|0;c=((w|0)<0)<<31>>31;y=n;f[y>>2]=e;f[y+4>>2]=x;y=n+8|0;f[y>>2]=w;f[y+4>>2]=c;y=f[d>>2]|0;h=((y|0)<0)<<31>>31;a=n+16|0;f[a>>2]=y;f[a+4>>2]=h;a=n+24|0;f[a>>2]=w;f[a+4>>2]=c;c=f[d+4>>2]|0;d=((c|0)<0)<<31>>31;a=n+32|0;f[a>>2]=y;f[a+4>>2]=h;h=n+40|0;f[h>>2]=c;f[h+4>>2]=d;h=n+48|0;f[h>>2]=e;f[h+4>>2]=x;x=n+56|0;f[x>>2]=c;f[x+4>>2]=d;if((g|0)>-1)Lba(l,n,4,1,m,g,v,i);else Gba(l,n,4,m,v,i);i=l+36|0;v=f[i>>2]|0;if(v|0?(m=v+12|0,v=f[m>>2]|0,f[m>>2]=v+-1,(v|0)==1):0)XO(l);f[i>>2]=0;i=l+16|0;v=l+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[v>>2]|0)>0){i=f[l+40>>2]|0;m=0;do{f[i+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[v>>2]|0))}v=f[l+44>>2]|0;if((v|0)!=(l+48|0))dX(v);if(!(f[k+4>>2]|0)){u=j;return}u=j;return}function Wba(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;j=u;u=u+144|0;k=j+128|0;l=j+72|0;m=j+32|0;n=j+16|0;o=j;p=j+64|0;yV(k,50744);do if((HJ(a)|0)==65536){q=f[a+4>>2]|0;f[l>>2]=f[q>>2];r=l+4|0;s=q+4|0;f[r>>2]=f[s>>2];t=l+8|0;f[t>>2]=f[q+8>>2];f[l+12>>2]=f[q+12>>2];f[l+16>>2]=f[q+16>>2];f[l+20>>2]=f[q+20>>2];f[l+24>>2]=f[q+24>>2];f[l+28>>2]=f[q+28>>2];f[l+32>>2]=f[q+32>>2];v=f[q+36>>2]|0;f[l+36>>2]=v;f[l+40>>2]=t;t=l+48|0;w=l+44|0;f[w>>2]=t;f[t>>2]=0;f[l+52>>2]=0;if(v|0){t=v+12|0;f[t>>2]=(f[t>>2]|0)+1}if((f[s>>2]|0)<3){s=f[q+44>>2]|0;t=f[w>>2]|0;f[t>>2]=f[s>>2];f[t+4>>2]=f[s+4>>2];break}else{f[r>>2]=0;WO(l,q);break}}else DJ(l,a,-1);while(0);if((h|0)==16)x=(f[l>>2]&7|0)==0?16:8;else x=h;if(!((i|0)<17&((g|0)<32768&(i|d|0)>-1))){f[m>>2]=0;f[m+4>>2]=0;h=JV(m,76)|0;a=216608;q=h+76|0;do{b[h>>0]=b[a>>0]|0;h=h+1|0;a=a+1|0}while((h|0)<(q|0));EP(-215,m,216685,216045,1900);KV(m)}uW(e,m,f[l>>2]&4095,0);if((i|0)>0|((g|0)>1|(x|0)!=8)){e=f[c>>2]|0;a=f[c+4>>2]|0;h=16-i|0;i=BVa(e|0,((e|0)<0)<<31>>31|0,h|0)|0;e=I;q=BVa(a|0,((a|0)<0)<<31>>31|0,h|0)|0;a=I;r=BVa(d|0,((d|0)<0)<<31>>31|0,h|0)|0;h=I;s=n;f[s>>2]=i;f[s+4>>2]=e;e=n+8|0;f[e>>2]=q;f[e+4>>2]=a;a=o;f[a>>2]=r;f[a+4>>2]=h;a=o+8|0;f[a>>2]=r;f[a+4>>2]=h;Iba(l,n,o,0,0,360,m,g,x)}else{f[p>>2]=f[c>>2];f[p+4>>2]=f[c+4>>2];Hba(l,p,d,m,g>>>31)}g=l+36|0;m=f[g>>2]|0;if(m|0?(d=m+12|0,m=f[d>>2]|0,f[d>>2]=m+-1,(m|0)==1):0)XO(l);f[g>>2]=0;g=l+16|0;m=l+4|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;if((f[m>>2]|0)>0){g=f[l+40>>2]|0;d=0;do{f[g+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[m>>2]|0))}m=f[l+44>>2]|0;if((m|0)!=(l+48|0))dX(m);if(!(f[k+4>>2]|0)){u=j;return}u=j;return}function Xba(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=+e;g=+g;h=+h;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;m=u;u=u+128|0;n=m+120|0;o=m+64|0;p=m+32|0;q=m+16|0;r=m;yV(n,50764);do if((HJ(a)|0)==65536){s=f[a+4>>2]|0;f[o>>2]=f[s>>2];t=o+4|0;v=s+4|0;f[t>>2]=f[v>>2];w=o+8|0;f[w>>2]=f[s+8>>2];f[o+12>>2]=f[s+12>>2];f[o+16>>2]=f[s+16>>2];f[o+20>>2]=f[s+20>>2];f[o+24>>2]=f[s+24>>2];f[o+28>>2]=f[s+28>>2];f[o+32>>2]=f[s+32>>2];x=f[s+36>>2]|0;f[o+36>>2]=x;f[o+40>>2]=w;w=o+48|0;y=o+44|0;f[y>>2]=w;f[w>>2]=0;f[o+52>>2]=0;if(x|0){w=x+12|0;f[w>>2]=(f[w>>2]|0)+1}if((f[v>>2]|0)<3){v=f[s+44>>2]|0;w=f[y>>2]|0;f[w>>2]=f[v>>2];f[w+4>>2]=f[v+4>>2];break}else{f[t>>2]=0;WO(o,s);break}}else DJ(o,a,-1);while(0);if((k|0)==16)z=(f[o>>2]&7|0)==0?16:8;else z=k;if(!((f[d>>2]|0)>-1?(l|0)<17&((j|0)<32768?(f[d+4>>2]|l|0)>-1:0):0)){f[p>>2]=0;f[p+4>>2]=0;k=JV(p,100)|0;a=216781;s=k+100|0;do{b[k>>0]=b[a>>0]|0;k=k+1|0;a=a+1|0}while((k|0)<(s|0));EP(-215,p,216882,216045,1932);KV(p)}uW(i,p,f[o>>2]&4095,0);i=AEa(e)|0;a=AEa(g)|0;k=AEa(h)|0;s=f[c>>2]|0;t=f[c+4>>2]|0;c=f[d>>2]|0;v=f[d+4>>2]|0;d=16-l|0;l=BVa(s|0,((s|0)<0)<<31>>31|0,d|0)|0;s=I;w=BVa(t|0,((t|0)<0)<<31>>31|0,d|0)|0;t=I;y=BVa(c|0,((c|0)<0)<<31>>31|0,d|0)|0;c=I;x=BVa(v|0,((v|0)<0)<<31>>31|0,d|0)|0;d=q;f[d>>2]=l;f[d+4>>2]=s;s=q+8|0;f[s>>2]=w;f[s+4>>2]=t;t=r;f[t>>2]=y;f[t+4>>2]=c;c=r+8|0;f[c>>2]=x;f[c+4>>2]=I;Iba(o,q,r,i,a,k,p,j,z);z=o+36|0;j=f[z>>2]|0;if(j|0?(p=j+12|0,j=f[p>>2]|0,f[p>>2]=j+-1,(j|0)==1):0)XO(o);f[z>>2]=0;z=o+16|0;j=o+4|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;if((f[j>>2]|0)>0){z=f[o+40>>2]|0;p=0;do{f[z+(p<<2)>>2]=0;p=p+1|0}while((p|0)<(f[j>>2]|0))}j=f[o+44>>2]|0;if((j|0)!=(o+48|0))dX(j);if(!(f[n+4>>2]|0)){u=m;return}u=m;return}function Yba(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0.0,x=0.0,y=0;h=u;u=u+128|0;i=h+120|0;j=h+64|0;k=h+32|0;l=h+16|0;m=h;yV(i,50784);do if((HJ(a)|0)==65536){o=f[a+4>>2]|0;f[j>>2]=f[o>>2];p=j+4|0;q=o+4|0;f[p>>2]=f[q>>2];r=j+8|0;f[r>>2]=f[o+8>>2];f[j+12>>2]=f[o+12>>2];f[j+16>>2]=f[o+16>>2];f[j+20>>2]=f[o+20>>2];f[j+24>>2]=f[o+24>>2];f[j+28>>2]=f[o+28>>2];f[j+32>>2]=f[o+32>>2];s=f[o+36>>2]|0;f[j+36>>2]=s;f[j+40>>2]=r;r=j+48|0;t=j+44|0;f[t>>2]=r;f[r>>2]=0;f[j+52>>2]=0;if(s|0){r=s+12|0;f[r>>2]=(f[r>>2]|0)+1}if((f[q>>2]|0)<3){q=f[o+44>>2]|0;r=f[t>>2]|0;f[r>>2]=f[q>>2];f[r+4>>2]=f[q+4>>2];break}else{f[p>>2]=0;WO(j,o);break}}else DJ(j,a,-1);while(0);if((g|0)==16)v=(f[j>>2]&7|0)==0?16:8;else v=g;g=c+8|0;if(!(+n[g>>2]>=0.0?((e|0)<32768?+n[c+12>>2]>=0.0:0):0)){f[k>>2]=0;f[k+4>>2]=0;a=JV(k,73)|0;o=217009;p=a+73|0;do{b[a>>0]=b[o>>0]|0;a=a+1|0;o=o+1|0}while((a|0)<(p|0));EP(-215,k,216882,216045,1962);KV(k)}uW(d,k,f[j>>2]&4095,0);d=HEa(+n[c+16>>2])|0;w=+n[c>>2];o=HEa(w)|0;x=+n[c+4>>2];a=HEa(x)|0;p=BVa(o|0,((o|0)<0)<<31>>31|0,16)|0;q=I;r=HEa((w-+(o|0))*65536.0)|0;o=qVa(p|0,q|0,r|0,((r|0)<0)<<31>>31|0)|0;r=I;q=BVa(a|0,((a|0)<0)<<31>>31|0,16)|0;p=I;t=HEa((x-+(a|0))*65536.0)|0;a=qVa(q|0,p|0,t|0,((t|0)<0)<<31>>31|0)|0;t=I;x=+n[g>>2];g=HEa(x)|0;w=+n[c+12>>2];c=HEa(w)|0;p=BVa(g|0,((g|0)<0)<<31>>31|0,15)|0;q=I;s=HEa((x-+(g|0))*32768.0)|0;g=qVa(p|0,q|0,s|0,((s|0)<0)<<31>>31|0)|0;s=I;q=BVa(c|0,((c|0)<0)<<31>>31|0,15)|0;p=I;y=HEa((w-+(c|0))*32768.0)|0;c=qVa(q|0,p|0,y|0,((y|0)<0)<<31>>31|0)|0;y=l;f[y>>2]=o;f[y+4>>2]=r;r=l+8|0;f[r>>2]=a;f[r+4>>2]=t;t=m;f[t>>2]=g;f[t+4>>2]=s;s=m+8|0;f[s>>2]=c;f[s+4>>2]=I;Iba(j,l,m,d,0,360,k,e,v);v=j+36|0;e=f[v>>2]|0;if(e|0?(k=e+12|0,e=f[k>>2]|0,f[k>>2]=e+-1,(e|0)==1):0)XO(j);f[v>>2]=0;v=j+16|0;e=j+4|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;if((f[e>>2]|0)>0){v=f[j+40>>2]|0;k=0;do{f[v+(k<<2)>>2]=0;k=k+1|0}while((k|0)<(f[e>>2]|0))}e=f[j+44>>2]|0;if((e|0)!=(j+48|0))dX(e);if(!(f[i+4>>2]|0)){u=h;return}u=h;return}function Zba(a,c,d,e,g,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|0;g=+g;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0;m=u;u=u+128|0;n=m+120|0;o=m+64|0;p=m+16|0;q=m+48|0;r=m;yV(n,50804);s=c+4|0;if(f[s>>2]|0){do if((HJ(a)|0)==65536){t=f[a+4>>2]|0;f[o>>2]=f[t>>2];v=o+4|0;w=t+4|0;f[v>>2]=f[w>>2];x=o+8|0;f[x>>2]=f[t+8>>2];f[o+12>>2]=f[t+12>>2];f[o+16>>2]=f[t+16>>2];f[o+20>>2]=f[t+20>>2];f[o+24>>2]=f[t+24>>2];f[o+28>>2]=f[t+28>>2];f[o+32>>2]=f[t+32>>2];y=f[t+36>>2]|0;f[o+36>>2]=y;f[o+40>>2]=x;x=o+48|0;z=o+44|0;f[z>>2]=x;f[x>>2]=0;f[o+52>>2]=0;if(y|0){x=y+12|0;f[x>>2]=(f[x>>2]|0)+1}if((f[w>>2]|0)<3){w=f[t+44>>2]|0;x=f[z>>2]|0;f[x>>2]=f[w>>2];f[x+4>>2]=f[w+4>>2];break}else{f[v>>2]=0;WO(o,t);break}}else DJ(o,a,-1);while(0);a=_ba(e)|0;uW(i,p,f[o>>2]&4095,0);i=0-(f[a>>2]&15)|0;t=AEa(g*65536.0)|0;if((k|0)==16)A=(f[o>>2]&7|0)==0?16:8;else A=k;k=l?0-t|0:t;l=f[d>>2]|0;v=BVa(l|0,((l|0)<0)<<31>>31|0,16)|0;l=I;w=f[d+4>>2]|0;d=BVa(w|0,((w|0)<0)<<31>>31|0,16)|0;w=X(k,i)|0;i=qVa(d|0,I|0,w|0,((w|0)<0)<<31>>31|0)|0;w=I;f[q>>2]=0;d=q+4|0;f[d>>2]=0;f[q+8>>2]=0;x=q+8|0;z=EQa(16384)|0;y=z;f[q>>2]=y;f[d>>2]=y;f[x>>2]=z+16384;if((f[s>>2]|0)>0){y=(e|0)==3;e=((t|0)<0)<<31>>31;B=((k|0)<0)<<31>>31;C=r+8|0;D=v;v=l;l=0;while(1){E=f[c>>2]|0;F=b[E+l>>0]|0;G=F&255;a:do if(y&F<<24>>24<0){switch(F<<24>>24){case -48:{H=l+1|0;J=b[E+H>>0]|0;if((J+112&255)<48){K=175;L=(J&255)+-17|0;M=127;N=H;break a}else{O=J;P=H}break}case -47:{H=l+1|0;J=b[E+H>>0]|0;if(J<<24>>24<0&(J&255)<144){K=191;L=(J&255)+47|0;M=175;N=H;break a}else{O=J;P=H}break}default:{if((F&255)<=191){K=127;L=63;M=32;N=l;break a}H=l+1|0;J=(b[E+H>>0]|0)==0?l:H;if((F&255)<=223){K=127;L=63;M=32;N=J;break a}H=J+1|0;Q=(b[E+H>>0]|0)==0?J:H;if((F&255)<=239){K=127;L=63;M=32;N=Q;break a}H=Q+1|0;J=(b[E+H>>0]|0)==0?Q:H;if((F&255)<=247){K=127;L=63;M=32;N=J;break a}H=J+1|0;Q=(b[E+H>>0]|0)==0?J:H;if((F&255)<=251){K=127;L=63;M=32;N=Q;break a}H=Q+1|0;K=127;L=63;M=32;N=(b[E+H>>0]|0)==0?Q:H;break a}}K=127;L=63;M=32;N=O<<24>>24==0?l:P}else{K=127;L=G;M=32;N=l}while(0);G=f[62480+(f[a+(((L|0)<(M|0)|(L|0)>=(K|0)?32:L+-31|0)<<2)>>2]<<2)>>2]|0;E=(h[G>>0]|0)+-82|0;F=(h[G+1>>0]|0)+-82|0;H=wVa(F|0,((F|0)<0)<<31>>31|0,t|0,e|0)|0;F=I;Q=wVa(E|0,((E|0)<0)<<31>>31|0,t|0,e|0)|0;E=rVa(D|0,v|0,Q|0,I|0)|0;Q=I;J=f[d>>2]|0;R=f[q>>2]|0;S=J;if(!((J|0)==(R|0)|(R|0)==(S|0)))f[d>>2]=S+(~((S+-16-R|0)>>>4)<<4);R=G+2|0;b:while(1){G=b[R>>0]|0;switch(G<<24>>24){case 0:case 32:break;default:{S=(G&255)+-82|0;J=(h[R+1>>0]|0)+-82|0;T=qVa(wVa(S|0,((S|0)<0)<<31>>31|0,t|0,e|0)|0,I|0,E|0,Q|0)|0;S=I;U=qVa(i|0,w|0,wVa(J|0,((J|0)<0)<<31>>31|0,k|0,B|0)|0,I|0)|0;J=I;V=r;f[V>>2]=T;f[V+4>>2]=S;V=C;f[V>>2]=U;f[V+4>>2]=J;V=f[d>>2]|0;if((V|0)==(f[x>>2]|0))Jba(q,r);else{W=V;f[W>>2]=T;f[W+4>>2]=S;S=V+8|0;f[S>>2]=U;f[S+4>>2]=J;f[d>>2]=V+16}R=R+2|0;continue b}}V=f[q>>2]|0;J=(f[d>>2]|0)-V>>4;if(J>>>0>1){Lba(o,V,J,0,p,j,A,16);Y=b[R>>0]|0}else Y=G;if(!(Y<<24>>24))break;G=R+1|0;J=f[d>>2]|0;V=f[q>>2]|0;S=J;if((J|0)==(V|0)|(V|0)==(S|0)){R=G;continue}f[d>>2]=S+(~((S+-16-V|0)>>>4)<<4);R=G}D=qVa(E|0,Q|0,H|0,F|0)|0;l=N+1|0;if((l|0)>=(f[s>>2]|0))break;else v=I}v=f[q>>2]|0;if(v|0){Z=v;_=v;$=14}}else{Z=z;_=z;$=14}if(($|0)==14){$=f[d>>2]|0;if(($|0)!=(Z|0))f[d>>2]=$+(~(($+-16-Z|0)>>>4)<<4);GQa(_)}_=o+36|0;Z=f[_>>2]|0;if(Z|0?($=Z+12|0,Z=f[$>>2]|0,f[$>>2]=Z+-1,(Z|0)==1):0)XO(o);f[_>>2]=0;_=o+16|0;Z=o+4|0;f[_>>2]=0;f[_+4>>2]=0;f[_+8>>2]=0;f[_+12>>2]=0;if((f[Z>>2]|0)>0){_=f[o+40>>2]|0;$=0;do{f[_+($<<2)>>2]=0;$=$+1|0}while(($|0)<(f[Z>>2]|0))}Z=f[o+44>>2]|0;if((Z|0)!=(o+48|0))dX(Z)}if(!(f[n+4>>2]|0)){u=m;return}u=m;return}function _ba(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=u;u=u+16|0;d=c;e=(a&16|0)!=0;switch(a&15){case 0:{g=55304;break}case 1:{g=e?50824:51208;break}case 2:{g=54920;break}case 3:{g=e?51592:51976;break}case 4:{g=e?52616:53e3;break}case 5:{g=e?53384:53768;break}case 6:{g=54536;break}case 7:{g=54152;break}default:{f[d>>2]=0;f[d+4>>2]=0;e=JV(d,17)|0;a=217177;h=e+17|0;do{b[e>>0]=b[a>>0]|0;e=e+1|0;a=a+1|0}while((e|0)<(h|0));EP(-211,d,217195,216045,2216);KV(d);g=0}}u=c;return g|0}function $ba(a,c,d,e,g,h,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0.0,ka=0.0,la=0.0,ma=0.0;l=u;u=u+368|0;m=l+312|0;n=l+96|0;o=l+64|0;q=l+304|0;r=l+248|0;s=l+192|0;t=l+160|0;v=l+148|0;w=l+136|0;x=l+32|0;y=l;z=l+128|0;yV(q,55688);do if((HJ(a)|0)==65536){A=f[a+4>>2]|0;f[r>>2]=f[A>>2];B=r+4|0;C=A+4|0;f[B>>2]=f[C>>2];D=r+8|0;f[D>>2]=f[A+8>>2];f[r+12>>2]=f[A+12>>2];f[r+16>>2]=f[A+16>>2];f[r+20>>2]=f[A+20>>2];f[r+24>>2]=f[A+24>>2];f[r+28>>2]=f[A+28>>2];f[r+32>>2]=f[A+32>>2];E=f[A+36>>2]|0;f[r+36>>2]=E;f[r+40>>2]=D;D=r+48|0;F=r+44|0;f[F>>2]=D;f[D>>2]=0;f[r+52>>2]=0;if(E|0){D=E+12|0;f[D>>2]=(f[D>>2]|0)+1}if((f[C>>2]|0)<3){C=f[A+44>>2]|0;D=f[F>>2]|0;f[D>>2]=f[C>>2];f[D+4>>2]=f[C+4>>2];break}else{f[B>>2]=0;WO(r,A);break}}else DJ(r,a,-1);while(0);do if((HJ(i)|0)==65536){a=f[i+4>>2]|0;f[s>>2]=f[a>>2];A=s+4|0;B=a+4|0;f[A>>2]=f[B>>2];C=s+8|0;f[C>>2]=f[a+8>>2];f[s+12>>2]=f[a+12>>2];f[s+16>>2]=f[a+16>>2];f[s+20>>2]=f[a+20>>2];f[s+24>>2]=f[a+24>>2];f[s+28>>2]=f[a+28>>2];f[s+32>>2]=f[a+32>>2];D=f[a+36>>2]|0;f[s+36>>2]=D;f[s+40>>2]=C;C=s+48|0;F=s+44|0;f[F>>2]=C;f[C>>2]=0;f[s+52>>2]=0;if(D|0){C=D+12|0;f[C>>2]=(f[C>>2]|0)+1}if((f[B>>2]|0)<3){B=f[a+44>>2]|0;C=f[F>>2]|0;f[C>>2]=f[B>>2];f[C+4>>2]=f[B+4>>2];break}else{f[A>>2]=0;WO(s,a);break}}else DJ(s,i,-1);while(0);i=f[r+8>>2]|0;a=r+4|0;A=(f[a>>2]|0)==1?1:f[r+12>>2]|0;B=f[r>>2]|0;C=B&4095;F=r+16|0;D=f[F>>2]|0;E=X((B>>>3&511)+1<<(47696>>>(C<<1&14)&3),A)|0;f[t>>2]=C|1111638016;C=t+4|0;f[C>>2]=E;f[t+8>>2]=0;f[t+12>>2]=0;f[t+16>>2]=D;f[t+20>>2]=i;f[t+24>>2]=A;A=r+44|0;f[C>>2]=f[f[A>>2]>>2];f[t>>2]=B&20479|1111621632;B=SJ(c,-1)|0;f[v>>2]=0;C=v+4|0;f[C>>2]=0;f[v+8>>2]=0;f[w>>2]=0;i=w+4|0;f[i>>2]=0;f[w+8>>2]=0;if(B|0){aca(v,B);D=f[i>>2]|0;E=f[w>>2]|0;G=(D-E|0)/20|0;H=E;E=D;if(B>>>0<=G>>>0){if(B>>>0>>0?(D=H+(B*20|0)|0,(D|0)!=(E|0)):0)f[i>>2]=E+(~(((E+-20-D|0)>>>0)/20|0)*20|0)}else bca(w,B-G|0);G=f[v>>2]|0;D=0;do{f[G+(D*56|0)+52>>2]=0;D=D+1|0}while((D|0)!=(B|0));D=(d|0)>-1;if(D){if((B|0)<=(d|0)){f[m>>2]=0;f[m+4>>2]=0;I=JV(m,41)|0;J=217318;K=I+41|0;do{b[I>>0]=b[J>>0]|0;I=I+1|0;J=J+1|0}while((I|0)<(K|0));EP(-215,m,217360,216045,2504);KV(m)}L=d;M=d+1|0}else{L=0;M=B}d=M>>>0>L>>>0;if(d){G=c+4|0;E=m+4|0;H=m+8|0;N=m+12|0;O=m+16|0;P=m+20|0;Q=m+24|0;R=m+28|0;S=m+32|0;T=m+36|0;U=m+40|0;V=m+48|0;W=m+44|0;Y=m+52|0;Z=n+4|0;_=L;do{do if((_|0)<0&(HJ(c)|0)==65536){$=f[G>>2]|0;f[m>>2]=f[$>>2];aa=$+4|0;f[E>>2]=f[aa>>2];f[H>>2]=f[$+8>>2];f[N>>2]=f[$+12>>2];f[O>>2]=f[$+16>>2];f[P>>2]=f[$+20>>2];f[Q>>2]=f[$+24>>2];f[R>>2]=f[$+28>>2];f[S>>2]=f[$+32>>2];ba=f[$+36>>2]|0;f[T>>2]=ba;f[U>>2]=H;f[W>>2]=V;f[V>>2]=0;f[Y>>2]=0;if(ba|0){ca=ba+12|0;f[ca>>2]=(f[ca>>2]|0)+1}if((f[aa>>2]|0)<3){aa=f[$+44>>2]|0;ca=f[W>>2]|0;f[ca>>2]=f[aa>>2];f[ca+4>>2]=f[aa+4>>2];break}else{f[E>>2]=0;WO(m,$);break}}else DJ(m,c,_);while(0);if(f[O>>2]|0){$=f[E>>2]|0;if(($|0)<3)da=X(f[N>>2]|0,f[H>>2]|0)|0;else{aa=f[U>>2]|0;ca=0;ba=1;while(1){ea=X(f[aa+(ca<<2)>>2]|0,ba)|0;ca=ca+1|0;if((ca|0)==($|0)){da=ea;break}else ba=ea}}if(!(($|0)==0|(da|0)==0)){ba=jP(m,2,4,1)|0;if((ba|0)<=0){f[n>>2]=0;f[Z>>2]=0;I=JV(n,11)|0;J=217373;K=I+11|0;do{b[I>>0]=b[J>>0]|0;I=I+1|0;J=J+1|0}while((I|0)<(K|0));EP(-215,n,217360,216045,2515);KV(n)}FM(20492,56,8,f[O>>2]|0,ba,(f[v>>2]|0)+(_*56|0)|0,(f[w>>2]|0)+(_*20|0)|0)|0}}$=f[T>>2]|0;if($|0?(ca=$+12|0,$=f[ca>>2]|0,f[ca>>2]=$+-1,($|0)==1):0)XO(m);f[T>>2]=0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[O+12>>2]=0;if((f[E>>2]|0)>0){$=f[U>>2]|0;ca=0;do{f[$+(ca<<2)>>2]=0;ca=ca+1|0}while((ca|0)<(f[E>>2]|0))}ca=f[W>>2]|0;if((ca|0)!=(V|0))dX(ca);_=_+1|0}while(_>>>0>>0)}_=s+16|0;V=f[_>>2]|0;do if(V){W=f[s+4>>2]|0;E=(W|0)<3;if(E)fa=X(f[s+12>>2]|0,f[s+8>>2]|0)|0;else{U=f[s+40>>2]|0;O=0;T=1;while(1){Z=X(f[U+(O<<2)>>2]|0,T)|0;O=O+1|0;if((O|0)==(W|0)){fa=Z;break}else T=Z}}if(!((j|0)==0|((W|0)==0|(fa|0)==0))){T=M-L|0;if(E)ga=X(f[s+12>>2]|0,f[s+8>>2]|0)|0;else{O=f[s+40>>2]|0;U=0;Z=1;while(1){da=X(f[O+(U<<2)>>2]|0,Z)|0;U=U+1|0;if((U|0)==(W|0)){ga=da;break}else Z=da}}if((ga|0)==(B|0)?(f[s>>2]&4095|0)==28:0)ha=V;else{f[m>>2]=0;f[m+4>>2]=0;I=JV(m,95)|0;J=217385;K=I+95|0;do{b[I>>0]=b[J>>0]|0;I=I+1|0;J=J+1|0}while((I|0)<(K|0));EP(-215,m,217360,216045,2529);KV(m);ha=f[_>>2]|0}if((T|0)!=(B|0)){Z=f[ha+(L<<4)+8>>2]|0;if((Z|0)<=-1)break;cca(c,B,ha,Z,v,w);W=f[v>>2]|0;f[W+(L*56|0)+20>>2]=W+(Z*56|0);break}if(d){Z=f[v>>2]|0;W=L;do{U=f[ha+(W<<4)>>2]|0;O=f[ha+(W<<4)+4>>2]|0;E=f[ha+(W<<4)+8>>2]|0;da=f[ha+(W<<4)+12>>2]|0;f[Z+(W*56|0)+12>>2]=U>>>0>>0?Z+(U*56|0)|0:0;f[Z+(W*56|0)+8>>2]=O>>>0>>0?Z+(O*56|0)|0:0;f[Z+(W*56|0)+20>>2]=E>>>0>>0?Z+(E*56|0)|0:0;f[Z+(W*56|0)+16>>2]=da>>>0>>0?Z+(da*56|0)|0:0;W=W+1|0}while((W|0)!=(M|0))}}else ia=60}else ia=60;while(0);if((ia|0)==60?d:0){d=M+-1|0;ia=f[v>>2]|0;B=L;do{ha=B;B=B+1|0;f[ia+(ha*56|0)+12>>2]=ha>>>0>>0?ia+(B*56|0)|0:0;f[ia+(ha*56|0)+8>>2]=ha>>>0>L>>>0?ia+((ha+-1|0)*56|0)|0:0}while((B|0)!=(M|0))}M=(f[v>>2]|0)+(L*56|0)|0;ja=+p[e>>3];p[x>>3]=ja;ka=+p[e+8>>3];p[x+8>>3]=ka;la=+p[e+16>>3];p[x+16>>3]=la;ma=+p[e+24>>3];p[x+24>>3]=ma;p[y>>3]=ja;p[y+8>>3]=ka;p[y+16>>3]=la;p[y+24>>3]=ma;f[z>>2]=f[k>>2];f[z+4>>2]=f[k+4>>2];f[o>>2]=f[x>>2];f[o+4>>2]=f[x+4>>2];f[o+8>>2]=f[x+8>>2];f[o+12>>2]=f[x+12>>2];f[o+16>>2]=f[x+16>>2];f[o+20>>2]=f[x+20>>2];f[o+24>>2]=f[x+24>>2];f[o+28>>2]=f[x+28>>2];f[n>>2]=f[y>>2];f[n+4>>2]=f[y+4>>2];f[n+8>>2]=f[y+8>>2];f[n+12>>2]=f[y+12>>2];f[n+16>>2]=f[y+16>>2];f[n+20>>2]=f[y+20>>2];f[n+24>>2]=f[y+24>>2];f[n+28>>2]=f[y+28>>2];f[m>>2]=f[z>>2];f[m+4>>2]=f[z+4>>2];dca(t,M,o,n,D?0-j|0:j,g,h,m);m=f[w>>2]|0;if(m|0){w=f[i>>2]|0;if((w|0)!=(m|0))f[i>>2]=w+(~(((w+-20-m|0)>>>0)/20|0)*20|0);GQa(m)}}m=f[v>>2]|0;if(m|0){v=f[C>>2]|0;if((v|0)!=(m|0))f[C>>2]=v+(~(((v+-56-m|0)>>>0)/56|0)*56|0);GQa(m)}m=s+36|0;v=f[m>>2]|0;if(v|0?(C=v+12|0,v=f[C>>2]|0,f[C>>2]=v+-1,(v|0)==1):0)XO(s);f[m>>2]=0;m=s+16|0;v=s+4|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;if((f[v>>2]|0)>0){m=f[s+40>>2]|0;C=0;do{f[m+(C<<2)>>2]=0;C=C+1|0}while((C|0)<(f[v>>2]|0))}v=f[s+44>>2]|0;if((v|0)!=(s+48|0))dX(v);v=r+36|0;s=f[v>>2]|0;if(s|0?(C=s+12|0,s=f[C>>2]|0,f[C>>2]=s+-1,(s|0)==1):0)XO(r);f[v>>2]=0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;f[F+12>>2]=0;if((f[a>>2]|0)>0){F=f[r+40>>2]|0;v=0;do{f[F+(v<<2)>>2]=0;v=v+1|0}while((v|0)<(f[a>>2]|0))}a=f[A>>2]|0;if((a|0)!=(r+48|0))dX(a);if(!(f[q+4>>2]|0)){u=l;return}u=l;return}function aca(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(((d-g|0)/56|0)>>>0>=b>>>0){h=b;i=g;do{j=i;k=j+56|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));i=(f[e>>2]|0)+56|0;f[e>>2]=i;h=h+-1|0}while((h|0)!=0);return}h=f[a>>2]|0;i=(g-h|0)/56|0;g=i+b|0;if(g>>>0>76695844)ZOa(a);l=(d-h|0)/56|0;h=l<<1;d=l>>>0<38347922?(h>>>0>>0?g:h):76695844;do if(d)if(d>>>0>76695844){h=hd(8)|0;LQa(h,349912);f[h>>2]=118288;ld(h|0,20688,857)}else{m=EQa(d*56|0)|0;break}else m=0;while(0);h=m+(i*56|0)|0;i=m+(d*56|0)|0;d=b;b=h;m=h;do{j=b;k=j+56|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));b=m+56|0;m=b;d=d+-1|0}while((d|0)!=0);d=f[a>>2]|0;b=(f[e>>2]|0)-d|0;j=h+(((b|0)/-56|0)*56|0)|0;if((b|0)>0)DVa(j|0,d|0,b|0)|0;f[a>>2]=j;f[e>>2]=m;f[c>>2]=i;if(!d)return;GQa(d);return}function bca(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(((d-g|0)/20|0)>>>0>=b>>>0){h=b;i=g;do{f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;i=(f[e>>2]|0)+20|0;f[e>>2]=i;h=h+-1|0}while((h|0)!=0);return}h=f[a>>2]|0;i=(g-h|0)/20|0;g=i+b|0;if(g>>>0>214748364)ZOa(a);j=(d-h|0)/20|0;h=j<<1;d=j>>>0<107374182?(h>>>0>>0?g:h):214748364;do if(d)if(d>>>0>214748364){h=hd(8)|0;LQa(h,349912);f[h>>2]=118288;ld(h|0,20688,857)}else{k=EQa(d*20|0)|0;break}else k=0;while(0);h=k+(i*20|0)|0;i=k+(d*20|0)|0;d=b;b=h;k=h;do{f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;b=k+20|0;k=b;d=d+-1|0}while((d|0)!=0);d=f[a>>2]|0;b=(f[e>>2]|0)-d|0;g=h+(((b|0)/-20|0)*20|0)|0;if((b|0)>0)DVa(g|0,d|0,b|0)|0;f[a>>2]=g;f[e>>2]=k;f[c>>2]=i;if(!d)return;GQa(d);return}function cca(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;h=u;u=u+64|0;i=h;if((d|0)<=-1){u=h;return}j=i+16|0;k=i+4|0;l=i+8|0;m=i+12|0;n=i+36|0;o=i+40|0;p=i+44|0;q=i+48|0;r=d;do{DJ(i,a,r);d=f[j>>2]|0;s=f[k>>2]|0;if(!d)t=0;else{if((s|0)<3)v=X(f[m>>2]|0,f[l>>2]|0)|0;else{w=f[o>>2]|0;x=0;y=1;while(1){z=X(f[w+(x<<2)>>2]|0,y)|0;x=x+1|0;if((x|0)==(s|0)){v=z;break}else y=z}}t=(s|0)==0|(v|0)==0?0:d}if((s|0)<3)A=X(f[m>>2]|0,f[l>>2]|0)|0;else{y=f[o>>2]|0;x=0;w=1;while(1){z=X(f[y+(x<<2)>>2]|0,w)|0;x=x+1|0;if((x|0)==(s|0)){A=z;break}else w=z}}FM(20492,56,8,t,A,(f[e>>2]|0)+(r*56|0)|0,(f[g>>2]|0)+(r*20|0)|0)|0;w=c+(r<<4)|0;s=f[w>>2]|0;x=f[c+(r<<4)+4>>2]|0;y=f[c+(r<<4)+8>>2]|0;d=f[c+(r<<4)+12>>2]|0;z=f[e>>2]|0;f[z+(r*56|0)+12>>2]=(s|0)>-1&(s|0)<(b|0)?z+(s*56|0)|0:0;s=f[e>>2]|0;f[s+(r*56|0)+8>>2]=(x|0)>-1&(x|0)<(b|0)?s+(x*56|0)|0:0;x=(y|0)>-1;s=f[e>>2]|0;f[s+(r*56|0)+20>>2]=x&(y|0)<(b|0)?s+(y*56|0)|0:0;s=f[e>>2]|0;f[s+(r*56|0)+16>>2]=(d|0)>-1&(d|0)<(b|0)?s+(d*56|0)|0:0;if(x)cca(a,b,c,y,e,g);y=f[n>>2]|0;if(y|0?(x=y+12|0,y=f[x>>2]|0,f[x>>2]=y+-1,(y|0)==1):0)XO(i);f[n>>2]=0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;if((f[k>>2]|0)>0){y=f[o>>2]|0;x=0;do{f[y+(x<<2)>>2]=0;x=x+1|0}while((x|0)<(f[k>>2]|0))}x=f[p>>2]|0;if((x|0)!=(q|0))dX(x);r=f[w>>2]|0}while((r|0)>-1);u=h;return}function dca(a,c,d,e,g,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0.0,K=0.0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0;l=u;u=u+384|0;m=l+368|0;n=l+356|0;o=l+344|0;q=l+208|0;r=l+176|0;s=l+288|0;t=l+144|0;v=l+112|0;w=l+256|0;x=l+80|0;y=l+96|0;z=l+64|0;A=l+48|0;B=l+32|0;C=l+248|0;D=l+16|0;E=l;F=l+240|0;f[n>>2]=0;G=n+4|0;f[G>>2]=0;f[n+8>>2]=0;f[o>>2]=0;H=o+4|0;f[H>>2]=0;f[o+8>>2]=0;I=+p[d+8>>3];J=+p[d+16>>3];K=+p[d+24>>3];p[q>>3]=+p[d>>3];p[q+8>>3]=I;p[q+16>>3]=J;p[q+24>>3]=K;K=+p[e+8>>3];J=+p[e+16>>3];I=+p[e+24>>3];p[r>>3]=+p[e>>3];p[r+8>>3]=K;p[r+16>>3]=J;p[r+24>>3]=I;NY(s,a,0,1,0,0);a=f[k>>2]|0;e=f[k+4>>2]|0;if((j|0)==16)L=(f[s>>2]&7|0)==0?16:8;else L=j;if(c|0){if((i|0)>=32768){f[w>>2]=0;f[w+4>>2]=0;M=JV(w,26)|0;N=216473;O=M+26|0;do{b[M>>0]=b[N>>0]|0;M=M+1|0;N=N+1|0}while((M|0)<(O|0));EP(-215,w,217481,216045,2588);KV(w)}uW(q,t,f[s>>2]&4095,0);uW(r,v,f[s>>2]&4095,0);r=(g|0)>-2147483646?g:-2147483646;g=(r|0)==2147483647?2147483646:r;r=c+12|0;if((g|0)<0){q=f[r>>2]|0;f[r>>2]=0;P=1-g|0;Q=q}else{P=g;Q=0}bN(m,c,P);P=w+12|0;c=x+4|0;g=(i|0)<0;q=w+20|0;j=(i|0)>-1;k=y+8|0;d=z+8|0;R=x+8|0;S=o+8|0;T=A+8|0;U=B+8|0;V=C+4|0;W=x+8|0;X=D+8|0;Y=E+8|0;Z=x+8|0;_=F+4|0;$=x+4|0;while(1){aa=cN(m)|0;if(!aa)break;ba=f[aa+24>>2]|0;ca=f[aa>>2]|0;da=ca&4095;ea=(ca&32768|0)==0?t:v;EM(aa,w,0);if(!(f[P>>2]|0)){f[x>>2]=0;f[c>>2]=0;M=JV(x,16)|0;N=217496;O=M+16|0;do{b[M>>0]=b[N>>0]|0;M=M+1|0;N=N+1|0}while((M|0)<(O|0));EP(-215,x,217481,216045,2612);KV(x)}if(g?(ca=f[H>>2]|0,fa=f[o>>2]|0,ga=ca,!((ca|0)==(fa|0)|(fa|0)==(ga|0))):0)f[H>>2]=ga+(~((ga+-16-fa|0)>>>4)<<4);fa=f[aa>>2]|0;do if((fa&12288|0)==4096?!((fa&16384|0)==0?1:(f[aa+28>>2]|0)!=1):0){ga=aa+56|0;ca=f[ga>>2]|0;ha=aa+60|0;ia=f[ha>>2]|0;ja=f[P>>2]|0;if(!ja)ka=0;else ka=b[ja>>0]|0;la=ka&255;ma=ca+a|0;na=ia+e|0;a:do if((ba|0)>0){if(j){oa=la;pa=0;qa=ma;ra=ca;sa=ia;ta=na;ua=ja;while(1){va=b[ua>>0]|0;wa=ua+1|0;f[P>>2]=wa;if(wa>>>0>=(f[q>>2]|0)>>>0)MM(w,1);wa=va<<24>>24;if(va<<24>>24==oa<<24>>24){xa=oa;ya=qa;za=ta}else{Aa=y;f[Aa>>2]=qa;f[Aa+4>>2]=((qa|0)<0)<<31>>31;Aa=k;f[Aa>>2]=ta;f[Aa+4>>2]=((ta|0)<0)<<31>>31;Aa=z;f[Aa>>2]=ra;f[Aa+4>>2]=((ra|0)<0)<<31>>31;Aa=d;f[Aa>>2]=sa;f[Aa+4>>2]=((sa|0)<0)<<31>>31;Cba(s,y,z,ea,i,L,2,0);xa=va;ya=ra;za=sa}va=pa+1|0;if((va|0)>=(ba|0)){Ba=ya;Ca=za;break a}oa=xa;pa=va;qa=ya;ra=(f[55708+(wa<<3)>>2]|0)+ra|0;sa=(f[55708+(wa<<3)+4>>2]|0)+sa|0;ta=za;ua=f[P>>2]|0}}else{Da=la;Ea=0;Fa=ma;Ga=ca;Ha=ia;Ia=na;Ja=ja}while(1){ua=b[Ja>>0]|0;ta=Ja+1|0;f[P>>2]=ta;if(ta>>>0>=(f[q>>2]|0)>>>0)MM(w,1);ta=ua<<24>>24;if(ua<<24>>24==Da<<24>>24){Ka=Da;La=Fa;Ma=Ia}else{sa=((Ga|0)<0)<<31>>31;ra=((Ha|0)<0)<<31>>31;qa=x;f[qa>>2]=Ga;f[qa+4>>2]=sa;qa=R;f[qa>>2]=Ha;f[qa+4>>2]=ra;qa=f[H>>2]|0;if((qa|0)==(f[S>>2]|0))Jba(o,x);else{pa=qa;f[pa>>2]=Ga;f[pa+4>>2]=sa;sa=qa+8|0;f[sa>>2]=Ha;f[sa+4>>2]=ra;f[H>>2]=qa+16}Ka=ua;La=Ga;Ma=Ha}ua=Ea+1|0;if((ua|0)>=(ba|0)){Ba=La;Ca=Ma;break a}Da=Ka;Ea=ua;Fa=La;Ga=(f[55708+(ta<<3)>>2]|0)+Ga|0;Ha=(f[55708+(ta<<3)+4>>2]|0)+Ha|0;Ia=Ma;Ja=f[P>>2]|0}}else{Ba=ma;Ca=na}while(0);if(j){na=A;f[na>>2]=Ba;f[na+4>>2]=((Ba|0)<0)<<31>>31;na=T;f[na>>2]=Ca;f[na+4>>2]=((Ca|0)<0)<<31>>31;na=(f[ga>>2]|0)+a|0;ma=(f[ha>>2]|0)+e|0;ja=B;f[ja>>2]=na;f[ja+4>>2]=((na|0)<0)<<31>>31;na=U;f[na>>2]=ma;f[na+4>>2]=((ma|0)<0)<<31>>31;Cba(s,A,B,ea,i,L,2,0);break}else{ma=f[o>>2]|0;na=(f[H>>2]|0)-ma>>4;f[C>>2]=a;f[V>>2]=e;Mba(s,ma,na,n,t,L,0,C);break}}else Na=39;while(0);if((Na|0)==39?(Na=0,(fa&16382|0)==4108):0){if((da|0)==12)Oa=fa;else{f[x>>2]=0;f[$>>2]=0;M=JV(x,54)|0;N=217513;O=M+54|0;do{b[M>>0]=b[N>>0]|0;M=M+1|0;N=N+1|0}while((M|0)<(O|0));EP(-215,x,217481,216045,2655);KV(x);Oa=f[aa>>2]|0}fa=ba-(Oa>>>14&1^1)|0;da=f[P>>2]|0;na=da;ma=na;ja=h[ma>>0]|h[ma+1>>0]<<8|h[ma+2>>0]<<16|h[ma+3>>0]<<24;ma=na+4|0;na=h[ma>>0]|h[ma+1>>0]<<8|h[ma+2>>0]<<16|h[ma+3>>0]<<24;ma=da+8|0;f[P>>2]=ma;if((f[q>>2]|0)>>>0<=ma>>>0)MM(w,1);ma=a+ja|0;ja=e+na|0;if(g){na=((ma|0)<0)<<31>>31;da=((ja|0)<0)<<31>>31;ia=x;f[ia>>2]=ma;f[ia+4>>2]=na;ia=W;f[ia>>2]=ja;f[ia+4>>2]=da;ia=f[H>>2]|0;if((ia|0)==(f[S>>2]|0))Jba(o,x);else{ca=ia;f[ca>>2]=ma;f[ca+4>>2]=na;na=ia+8|0;f[na>>2]=ja;f[na+4>>2]=da;f[H>>2]=ia+16}}b:do if((fa|0)>0){if(j){ia=0;da=ma;na=ja;while(1){ca=f[P>>2]|0;la=ca;ta=la;ua=h[ta>>0]|h[ta+1>>0]<<8|h[ta+2>>0]<<16|h[ta+3>>0]<<24;ta=la+4|0;la=h[ta>>0]|h[ta+1>>0]<<8|h[ta+2>>0]<<16|h[ta+3>>0]<<24;ta=ca+8|0;f[P>>2]=ta;if((f[q>>2]|0)>>>0<=ta>>>0)MM(w,1);ta=da;da=a+ua|0;ua=D;f[ua>>2]=ta;f[ua+4>>2]=((ta|0)<0)<<31>>31;ta=X;f[ta>>2]=na;f[ta+4>>2]=((na|0)<0)<<31>>31;na=e+la|0;la=E;f[la>>2]=da;f[la+4>>2]=((da|0)<0)<<31>>31;la=Y;f[la>>2]=na;f[la+4>>2]=((na|0)<0)<<31>>31;Cba(s,D,E,ea,i,L,2,0);ia=ia+1|0;if((ia|0)>=(fa|0))break b}}else Pa=0;do{ia=f[P>>2]|0;na=ia;da=na;ha=h[da>>0]|h[da+1>>0]<<8|h[da+2>>0]<<16|h[da+3>>0]<<24;da=na+4|0;na=h[da>>0]|h[da+1>>0]<<8|h[da+2>>0]<<16|h[da+3>>0]<<24;da=ia+8|0;f[P>>2]=da;if((f[q>>2]|0)>>>0<=da>>>0)MM(w,1);da=a+ha|0;ha=e+na|0;na=((da|0)<0)<<31>>31;ia=((ha|0)<0)<<31>>31;ga=x;f[ga>>2]=da;f[ga+4>>2]=na;ga=Z;f[ga>>2]=ha;f[ga+4>>2]=ia;ga=f[H>>2]|0;if((ga|0)==(f[S>>2]|0))Jba(o,x);else{la=ga;f[la>>2]=da;f[la+4>>2]=na;na=ga+8|0;f[na>>2]=ha;f[na+4>>2]=ia;f[H>>2]=ga+16}Pa=Pa+1|0}while((Pa|0)<(fa|0))}while(0);if(g){fa=f[o>>2]|0;ea=(f[H>>2]|0)-fa>>4;f[F>>2]=0;f[_>>2]=0;Mba(s,fa,ea,n,t,L,0,F)}}}if(g)Nba(s,n,t);if(Q|0)f[r>>2]=Q}Q=s+36|0;r=f[Q>>2]|0;if(r|0?(t=r+12|0,r=f[t>>2]|0,f[t>>2]=r+-1,(r|0)==1):0)XO(s);f[Q>>2]=0;Q=s+16|0;r=s+4|0;f[Q>>2]=0;f[Q+4>>2]=0;f[Q+8>>2]=0;f[Q+12>>2]=0;if((f[r>>2]|0)>0){Q=f[s+40>>2]|0;t=0;do{f[Q+(t<<2)>>2]=0;t=t+1|0}while((t|0)<(f[r>>2]|0))}r=f[s+44>>2]|0;if((r|0)!=(s+48|0))dX(r);r=f[o>>2]|0;if(r|0){o=f[H>>2]|0;if((o|0)!=(r|0))f[H>>2]=o+(~((o+-16-r|0)>>>4)<<4);GQa(r)}r=f[n>>2]|0;if(!r){u=l;return}n=f[G>>2]|0;if((n|0)!=(r|0))f[G>>2]=n+(~((n+-32-r|0)>>>5)<<5);GQa(r);u=l;return}function eca(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;g=u;u=u+3376|0;h=g;i=g+3360|0;j=g+3304|0;k=g+2184|0;l=g+1120|0;m=g+56|0;o=g+3248|0;yV(i,55772);p=a+4|0;q=c+4|0;if((f[p>>2]|0)==(f[q>>2]|0)){f[h>>2]=0;f[h+4>>2]=0;r=JV(h,34)|0;s=217703;t=r+34|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));EP(-215,h,217738,217749,133);KV(h)}do if((HJ(a)|0)==65536){v=f[p>>2]|0;f[j>>2]=f[v>>2];w=j+4|0;x=v+4|0;f[w>>2]=f[x>>2];y=j+8|0;f[y>>2]=f[v+8>>2];f[j+12>>2]=f[v+12>>2];f[j+16>>2]=f[v+16>>2];f[j+20>>2]=f[v+20>>2];f[j+24>>2]=f[v+24>>2];f[j+28>>2]=f[v+28>>2];f[j+32>>2]=f[v+32>>2];z=f[v+36>>2]|0;f[j+36>>2]=z;f[j+40>>2]=y;y=j+48|0;A=j+44|0;f[A>>2]=y;f[y>>2]=0;f[j+52>>2]=0;if(z|0){y=z+12|0;f[y>>2]=(f[y>>2]|0)+1}if((f[x>>2]|0)<3){x=f[v+44>>2]|0;y=f[A>>2]|0;f[y>>2]=f[x>>2];f[y+4>>2]=f[x+4>>2];break}else{f[w>>2]=0;WO(j,v);break}}else DJ(j,a,-1);while(0);a=jP(j,2,-1,1)|0;p=f[j>>2]&7;if(!((a|0)>-1&(p|1|0)==5)){f[h>>2]=0;f[h+4>>2]=0;r=JV(h,40)|0;s=217809;t=r+40|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));EP(-215,h,217738,217749,137);KV(h)}if(a){if(uK(c)|0)B=(GJ(c,-1)|0)!=4;else B=e;e=(p|0)==5;v=k+8|0;f[k>>2]=v;w=k+4|0;x=a>>>0>264;f[w>>2]=a;if(x){y=FQa(a>>>0>1073741823?-1:a<<2)|0;f[k>>2]=y;C=y}else C=v;y=a+2|0;A=l+8|0;f[l>>2]=A;z=l+4|0;f[z>>2]=y;if(y>>>0>264){D=FQa(y>>>0>1073741823?-1:y<<2)|0;f[l>>2]=D;E=D}else E=A;D=m+8|0;f[m>>2]=D;y=m+4|0;f[y>>2]=a;if(x){x=FQa(a>>>0>1073741823?-1:a<<2)|0;f[m>>2]=x;F=x}else F=D;x=f[j+16>>2]|0;if(!(f[j>>2]&16384)){f[h>>2]=0;f[h+4>>2]=0;r=JV(h,21)|0;s=217850;t=r+21|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));EP(-215,h,217738,217749,156);KV(h)}if((a|0)>0){s=0;do{f[C+(s<<2)>>2]=x+(s<<3);s=s+1|0}while((s|0)!=(a|0))}s=C+(a<<2)|0;if(e){gca(C,s,h);if((a|0)>1){r=1;t=0;G=0;while(1){H=+n[(f[C+(r<<2)>>2]|0)+4>>2];I=+n[(f[C+(t<<2)>>2]|0)+4>>2]>H?r:t;J=+n[(f[C+(G<<2)>>2]|0)+4>>2]1){s=0;G=0;t=1;while(1){r=f[(f[C+(t<<2)>>2]|0)+4>>2]|0;J=(f[(f[C+(s<<2)>>2]|0)+4>>2]|0)>(r|0)?t:s;I=(f[(f[C+(G<<2)>>2]|0)+4>>2]|0)<(r|0)?t:G;t=t+1|0;if((t|0)==(a|0)){K=J;L=I;break}else{s=J;G=I}}}else{K=0;L=0}}G=f[C>>2]|0;s=a+-1|0;a=f[C+(s<<2)>>2]|0;if((f[G>>2]|0)==(f[a>>2]|0)?(f[G+4>>2]|0)==(f[a+4>>2]|0):0){f[F>>2]=0;M=1}else{a=E;if(e){G=ica(C,0,L,E,-1,1)|0;t=E+(G<<2)|0;N=t;O=ica(C,s,L,t,-1,-1)|0;P=G}else{G=hca(C,0,L,E,-1,1)|0;t=E+(G<<2)|0;N=t;O=hca(C,s,L,t,-1,-1)|0;P=G}G=N;N=d?a:G;t=d?P:O;L=d?G:a;G=d?O:P;P=t+-1|0;if((t|0)>1){O=N;I=x;J=0;do{f[F+(J<<2)>>2]=(f[C+(f[O+(J<<2)>>2]<<2)>>2]|0)-I>>3;J=J+1|0}while((J|0)!=(P|0));Q=P}else Q=0;if((G|0)>1){P=L;J=x;I=Q;O=G;do{r=O;O=O+-1|0;R=I;I=I+1|0;f[F+(R<<2)>>2]=(f[C+(f[P+(O<<2)>>2]<<2)>>2]|0)-J>>3}while((r|0)>2);if((G|0)>2){S=I;T=L+4|0;U=47}else{V=I;U=45}}else{V=Q;U=45}if((U|0)==45)if((t|0)>2){S=V;T=N+(t+-2<<2)|0;U=47}else{W=V;Y=-1}if((U|0)==47){W=S;Y=f[T>>2]|0}if(e){e=ica(C,0,K,E,1,-1)|0;T=E+(e<<2)|0;Z=T;_=e;$=ica(C,s,K,T,1,1)|0}else{T=hca(C,0,K,E,1,-1)|0;e=E+(T<<2)|0;Z=e;_=T;$=hca(C,s,K,e,1,1)|0}e=Z;Z=d?e:a;K=d?$:_;s=d?a:e;e=d?_:$;do if((Y|0)>-1){do if((K|0)>2){aa=Z+4|0;U=56}else{if((K+e|0)<=2){ba=-1;break}aa=s+(2-K<<2)|0;U=56}while(0);if((U|0)==56)ba=f[aa>>2]|0;if((ba|0)!=(Y|0)){if((ba|0)<=-1){U=62;break}$=f[C+(ba<<2)>>2]|0;_=f[C+(Y<<2)>>2]|0;if((f[$>>2]|0)!=(f[_>>2]|0)){U=62;break}if((f[$+4>>2]|0)!=(f[_+4>>2]|0)){U=62;break}}_=(e|0)<2?e:2;if((K|0)<2){ca=_;da=W}else{ea=_;fa=2;ga=1;U=63}}else U=62;while(0);if((U|0)==62)if((K|0)>1){ea=e;fa=K;ga=K+-1|0;U=63}else{ca=e;da=W}if((U|0)==63){U=Z;Z=x;e=fa+W|0;fa=W;W=0;while(1){f[F+(fa<<2)>>2]=(f[C+(f[U+(W<<2)>>2]<<2)>>2]|0)-Z>>3;W=W+1|0;if((W|0)==(ga|0))break;else fa=fa+1|0}ca=ea;da=e+-1|0}if((ca|0)>1){e=s;s=x;ea=da;fa=ca;while(1){ca=fa;fa=fa+-1|0;ga=ea+1|0;f[F+(ea<<2)>>2]=(f[C+(f[e+(fa<<2)>>2]<<2)>>2]|0)-s>>3;if((ca|0)<=2){M=ga;break}else ea=ga}}else M=da}if(B){vK(c,M,1,p|8,-1,0,0);do if((HJ(c)|0)==65536){p=f[q>>2]|0;f[h>>2]=f[p>>2];B=h+4|0;da=p+4|0;f[B>>2]=f[da>>2];ea=h+8|0;f[ea>>2]=f[p+8>>2];f[h+12>>2]=f[p+12>>2];f[h+16>>2]=f[p+16>>2];f[h+20>>2]=f[p+20>>2];f[h+24>>2]=f[p+24>>2];f[h+28>>2]=f[p+28>>2];f[h+32>>2]=f[p+32>>2];s=f[p+36>>2]|0;f[h+36>>2]=s;f[h+40>>2]=ea;ea=h+48|0;fa=h+44|0;f[fa>>2]=ea;f[ea>>2]=0;f[h+52>>2]=0;if(s|0){ea=s+12|0;f[ea>>2]=(f[ea>>2]|0)+1}if((f[da>>2]|0)<3){da=f[p+44>>2]|0;ea=f[fa>>2]|0;f[ea>>2]=f[da>>2];f[ea+4>>2]=f[da+4>>2];ha=h;break}else{f[B>>2]=0;WO(h,p);ha=h;break}}else{DJ(h,c,-1);ha=h}while(0);if(!(f[ha>>2]&16384))ia=f[f[h+44>>2]>>2]|0;else ia=8;if((M|0)>0){ha=f[h+16>>2]|0;q=0;do{p=f[F+(q<<2)>>2]|0;B=ha+(X(q,ia)|0)|0;f[B>>2]=f[x+(p<<3)>>2];f[B+4>>2]=f[x+(p<<3)+4>>2];q=q+1|0}while((q|0)!=(M|0))}q=h+36|0;x=f[q>>2]|0;do if(x|0){ia=x+12|0;ha=f[ia>>2]|0;f[ia>>2]=ha+-1;if((ha|0)!=1)break;XO(h)}while(0);f[q>>2]=0;q=h+16|0;x=h+4|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;if((f[x>>2]|0)>0){q=f[h+40>>2]|0;ha=0;do{f[q+(ha<<2)>>2]=0;ha=ha+1|0}while((ha|0)<(f[x>>2]|0))}x=f[h+44>>2]|0;if((x|0)!=(h+48|0))dX(x)}else{x=o+4|0;f[x>>2]=2;h=o+8|0;f[h>>2]=M;f[o+12>>2]=1;M=o+16|0;f[M>>2]=F;f[o+20>>2]=F;ha=o+24|0;q=o+40|0;ia=ha+8|0;f[ia>>2]=0;f[ia+4>>2]=0;f[q>>2]=h;ia=o+48|0;p=o+44|0;f[p>>2]=ia;f[o>>2]=1124024324;f[ia>>2]=4;f[o+52>>2]=4;B=F+(f[h>>2]<<2)|0;f[o+28>>2]=B;f[ha>>2]=B+-4+4;eM(o,c);B=o+36|0;ha=f[B>>2]|0;if(ha|0?(h=ha+12|0,ha=f[h>>2]|0,f[h>>2]=ha+-1,(ha|0)==1):0)XO(o);f[B>>2]=0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;if((f[x>>2]|0)>0){M=f[q>>2]|0;q=0;do{f[M+(q<<2)>>2]=0;q=q+1|0}while((q|0)<(f[x>>2]|0))}x=f[p>>2]|0;if((x|0)!=(ia|0))dX(x)}x=f[m>>2]|0;if((x|0)!=(D|0)){if(x|0)HQa(x);f[m>>2]=D;f[y>>2]=264}y=f[l>>2]|0;if((y|0)!=(A|0)){if(y|0)HQa(y);f[l>>2]=A;f[z>>2]=264}z=f[k>>2]|0;if((z|0)!=(v|0)){if(z|0)HQa(z);f[k>>2]=v;f[w>>2]=264}}else YJ(c);c=j+36|0;w=f[c>>2]|0;if(w|0?(v=w+12|0,w=f[v>>2]|0,f[v>>2]=w+-1,(w|0)==1):0)XO(j);f[c>>2]=0;c=j+16|0;w=j+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[w>>2]|0)>0){c=f[j+40>>2]|0;v=0;do{f[c+(v<<2)>>2]=0;v=v+1|0}while((v|0)<(f[w>>2]|0))}w=f[j+44>>2]|0;if((w|0)!=(j+48|0))dX(w);if(!(f[i+4>>2]|0)){u=g;return}u=g;return}function fca(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=a+-8|0;h=d;while(1){i=h;b:while(1){j=i;k=b-j|0;l=k>>2;switch(l|0){case 2:{m=5;break a;break}case 3:{m=9;break a;break}case 4:{m=27;break a;break}case 5:{m=28;break a;break}case 1:case 0:{m=107;break a;break}default:{}}if((k|0)<124){m=30;break a}n=i+(((l|0)/2|0)<<2)|0;do if((k|0)>3996){o=(l|0)/4|0;p=oca(i,i+(o<<2)|0,n,n+(o<<2)|0,e,c)|0}else{o=f[n>>2]|0;q=f[i>>2]|0;r=f[o>>2]|0;s=f[q>>2]|0;t=o;u=q;if((r|0)>=(s|0))if((r|0)==(s|0))v=(f[o+4>>2]|0)<(f[q+4>>2]|0);else v=0;else v=1;w=f[e>>2]|0;x=f[w>>2]|0;y=w;if((x|0)>=(r|0))if((x|0)==(r|0))z=(f[w+4>>2]|0)<(f[o+4>>2]|0);else z=0;else z=1;if(!v){if(!z){p=0;break}f[n>>2]=y;f[e>>2]=t;o=f[n>>2]|0;w=f[i>>2]|0;r=f[o>>2]|0;x=f[w>>2]|0;A=w;B=o;if((r|0)>=(x|0)){if((r|0)!=(x|0)){p=1;break}if((f[o+4>>2]|0)>=(f[w+4>>2]|0)){p=1;break}}f[i>>2]=B;f[n>>2]=A;p=2;break}if(z){f[i>>2]=y;f[e>>2]=u;p=1;break}f[i>>2]=t;f[n>>2]=u;t=f[e>>2]|0;y=f[t>>2]|0;A=t;if((y|0)>=(s|0)){if((y|0)!=(s|0)){p=1;break}if((f[t+4>>2]|0)>=(f[q+4>>2]|0)){p=1;break}}f[n>>2]=A;f[e>>2]=u;p=2}while(0);C=f[i>>2]|0;l=f[n>>2]|0;k=f[C>>2]|0;u=f[l>>2]|0;if((k|0)<(u|0)){D=e;E=p;break}if((k|0)==(u|0)?(f[C+4>>2]|0)<(f[l+4>>2]|0):0){D=e;E=p;break}if((i|0)!=(g|0)){A=l+4|0;F=g;while(1){G=f[F>>2]|0;l=f[G>>2]|0;if((l|0)<(u|0)){m=82;break b}if((l|0)==(u|0)?(f[G+4>>2]|0)<(f[A>>2]|0):0){m=82;break b}l=F+-4|0;if((i|0)==(l|0))break;else F=l}}A=i+4|0;u=f[e>>2]|0;l=f[u>>2]|0;q=u;do if((k|0)<(l|0))H=A;else{if((k|0)==(l|0)?(f[C+4>>2]|0)<(f[u+4>>2]|0):0){H=A;break}if((A|0)==(e|0)){m=107;break a}t=C+4|0;s=A;while(1){I=f[s>>2]|0;y=f[I>>2]|0;if((k|0)<(y|0))break;if((k|0)==(y|0)?(f[t>>2]|0)<(f[I+4>>2]|0):0)break;y=s+4|0;if((y|0)==(e|0)){m=107;break a}else s=y}f[s>>2]=q;f[e>>2]=I;H=s+4|0}while(0);if((H|0)==(e|0)){m=107;break a}else{J=e;K=H}while(1){q=f[i>>2]|0;k=f[K>>2]|0;A=f[q>>2]|0;u=f[k>>2]|0;c:do if((A|0)<(u|0))L=K;else{l=q+4|0;t=K;y=u;B=k;while(1){if((A|0)==(y|0)?(f[l>>2]|0)<(f[B+4>>2]|0):0){L=t;break c}w=t+4|0;B=f[w>>2]|0;y=f[B>>2]|0;if((A|0)<(y|0)){L=w;break}else t=w}}while(0);k=q+4|0;u=J;while(1){s=u;u=u+-4|0;M=f[u>>2]|0;s=f[M>>2]|0;if((A|0)<(s|0)){u=u;continue}if((A|0)!=(s|0))break;if((f[k>>2]|0)>=(f[M+4>>2]|0))break}if(L>>>0>=u>>>0){i=L;continue b}k=f[L>>2]|0;f[L>>2]=M;f[u>>2]=k;J=u;K=L+4|0}}if((m|0)==82){m=0;f[i>>2]=G;f[F>>2]=C;D=F;E=p+1|0}k=i+4|0;d:do if(k>>>0>>0){A=n;q=D;s=k;t=E;while(1){y=f[A>>2]|0;B=f[y>>2]|0;l=y+4|0;y=s;while(1){N=f[y>>2]|0;w=f[N>>2]|0;if((w|0)>=(B|0)){if((w|0)!=(B|0))break;if((f[N+4>>2]|0)>=(f[l>>2]|0))break}y=y+4|0}u=N;w=q+-4|0;o=f[w>>2]|0;x=f[o>>2]|0;e:do if((x|0)<(B|0))O=w;else{r=x;P=o;Q=w;while(1){if((r|0)==(B|0)?(f[P+4>>2]|0)<(f[l>>2]|0):0){O=Q;break e}R=Q+-4|0;P=f[R>>2]|0;r=f[P>>2]|0;if((r|0)<(B|0)){O=R;break}else Q=R}}while(0);if(y>>>0>O>>>0){S=A;T=t;U=y;break d}f[y>>2]=f[O>>2];f[O>>2]=u;A=(A|0)==(y|0)?O:A;q=O;s=y+4|0;t=t+1|0}}else{S=n;T=E;U=k}while(0);do if((U|0)==(S|0))V=T;else{k=f[S>>2]|0;t=f[U>>2]|0;s=f[k>>2]|0;q=f[t>>2]|0;A=t;B=k;if((s|0)>=(q|0)){if((s|0)!=(q|0)){V=T;break}if((f[k+4>>2]|0)>=(f[t+4>>2]|0)){V=T;break}}f[U>>2]=B;f[S>>2]=A;V=T+1|0}while(0);if(!V){W=qca(i,U,c)|0;A=U+4|0;if(qca(A,a,c)|0){m=106;break}if(W){h=A;continue}}A=U;if((A-j|0)>=(b-A|0)){m=105;break}fca(i,U,c);h=U+4|0}if((m|0)==105){m=0;fca(U+4|0,a,c);d=i;a=U;continue}else if((m|0)==106){m=0;if(W){m=107;break}else{d=i;a=U;continue}}}if((m|0)==5){U=f[e>>2]|0;d=f[i>>2]|0;W=f[U>>2]|0;j=f[d>>2]|0;V=d;T=U;if((W|0)>=(j|0)){if((W|0)!=(j|0))return;if((f[U+4>>2]|0)>=(f[d+4>>2]|0))return}f[i>>2]=T;f[e>>2]=V;return}else if((m|0)==9){V=i+4|0;T=f[V>>2]|0;d=f[i>>2]|0;U=f[T>>2]|0;j=f[d>>2]|0;W=T;S=d;if((U|0)>=(j|0))if((U|0)==(j|0))X=(f[T+4>>2]|0)<(f[d+4>>2]|0);else X=0;else X=1;E=f[e>>2]|0;n=f[E>>2]|0;O=E;if((n|0)>=(U|0))if((n|0)==(U|0))Y=(f[E+4>>2]|0)<(f[T+4>>2]|0);else Y=0;else Y=1;if(!X){if(!Y)return;f[V>>2]=O;f[e>>2]=W;X=f[V>>2]|0;T=f[i>>2]|0;E=f[X>>2]|0;U=f[T>>2]|0;n=T;N=X;if((E|0)>=(U|0)){if((E|0)!=(U|0))return;if((f[X+4>>2]|0)>=(f[T+4>>2]|0))return}f[i>>2]=N;f[V>>2]=n;return}if(Y){f[i>>2]=O;f[e>>2]=S;return}f[i>>2]=W;f[V>>2]=S;W=f[e>>2]|0;O=f[W>>2]|0;Y=W;if((O|0)>=(j|0)){if((O|0)!=(j|0))return;if((f[W+4>>2]|0)>=(f[d+4>>2]|0))return}f[V>>2]=Y;f[e>>2]=S;return}else if((m|0)==27){nca(i,i+4|0,i+8|0,e,c)|0;return}else if((m|0)==28){oca(i,i+4|0,i+8|0,i+12|0,e,c)|0;return}else if((m|0)==30){pca(i,a,c);return}else if((m|0)==107)return}function gca(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=a+-8|0;h=d;while(1){i=h;b:while(1){j=i;k=b-j|0;l=k>>2;switch(l|0){case 2:{m=5;break a;break}case 3:{m=9;break a;break}case 4:{m=27;break a;break}case 5:{m=28;break a;break}case 1:case 0:{m=107;break a;break}default:{}}if((k|0)<124){m=30;break a}o=i+(((l|0)/2|0)<<2)|0;do if((k|0)>3996){p=(l|0)/4|0;q=kca(i,i+(p<<2)|0,o,o+(p<<2)|0,e,c)|0}else{p=f[o>>2]|0;r=f[i>>2]|0;s=+n[p>>2];t=+n[r>>2];u=p;v=r;if(!(s>2]<+n[r+4>>2];else w=0;else w=1;x=f[e>>2]|0;y=+n[x>>2];z=x;if(!(y>2]<+n[p+4>>2];else A=0;else A=1;if(!w){if(!A){q=0;break}f[o>>2]=z;f[e>>2]=u;p=f[o>>2]|0;x=f[i>>2]|0;s=+n[p>>2];y=+n[x>>2];B=x;C=p;if(!(s>2]<+n[x+4>>2])){q=1;break}}f[i>>2]=C;f[o>>2]=B;q=2;break}if(A){f[i>>2]=z;f[e>>2]=v;q=1;break}f[i>>2]=u;f[o>>2]=v;u=f[e>>2]|0;y=+n[u>>2];z=u;if(!(y>2]<+n[r+4>>2])){q=1;break}}f[o>>2]=z;f[e>>2]=v;q=2}while(0);D=f[i>>2]|0;l=f[o>>2]|0;t=+n[D>>2];y=+n[l>>2];if(t>2]<+n[l+4>>2]:0){E=e;F=q;break}if((i|0)!=(g|0)){k=l+4|0;G=g;while(1){H=f[G>>2]|0;s=+n[H>>2];if(s>2]<+n[k>>2]:0){m=82;break b}l=G+-4|0;if((i|0)==(l|0))break;else G=l}}k=i+4|0;l=f[e>>2]|0;y=+n[l>>2];v=l;do if(t>2]<+n[l+4>>2]:0){I=k;break}if((k|0)==(e|0)){m=107;break a}z=D+4|0;r=k;while(1){J=f[r>>2]|0;s=+n[J>>2];if(t>2]<+n[J+4>>2]:0)break;u=r+4|0;if((u|0)==(e|0)){m=107;break a}else r=u}f[r>>2]=v;f[e>>2]=J;I=r+4|0}while(0);if((I|0)==(e|0)){m=107;break a}else{K=e;L=I}while(1){v=f[i>>2]|0;k=f[L>>2]|0;t=+n[v>>2];y=+n[k>>2];c:do if(t>2]<+n[u+4>>2]:0){M=z;break c}B=z+4|0;u=f[B>>2]|0;s=+n[u>>2];if(t>2]|0;y=+n[N>>2];if(t>2]<+n[N+4>>2]))break}if(M>>>0>=r>>>0){i=M;continue b}k=f[M>>2]|0;f[M>>2]=N;f[r>>2]=k;K=r;L=M+4|0}}if((m|0)==82){m=0;f[i>>2]=H;f[G>>2]=D;E=G;F=q+1|0}k=i+4|0;d:do if(k>>>0>>0){v=o;z=E;u=k;l=F;while(1){B=f[v>>2]|0;t=+n[B>>2];C=B+4|0;B=u;while(1){O=f[B>>2]|0;y=+n[O>>2];if(!(y>2]<+n[C>>2]))break}B=B+4|0}r=O;x=z+-4|0;p=f[x>>2]|0;y=+n[p>>2];e:do if(y>2]<+n[C>>2]:0){P=R;break e}S=R+-4|0;Q=f[S>>2]|0;s=+n[Q>>2];if(s>>0>P>>>0){T=v;U=l;V=B;break d}f[B>>2]=f[P>>2];f[P>>2]=r;v=(v|0)==(B|0)?P:v;z=P;u=B+4|0;l=l+1|0}}else{T=o;U=F;V=k}while(0);do if((V|0)==(T|0))W=U;else{k=f[T>>2]|0;l=f[V>>2]|0;t=+n[k>>2];y=+n[l>>2];u=l;z=k;if(!(t>2]<+n[l+4>>2])){W=U;break}}f[V>>2]=z;f[T>>2]=u;W=U+1|0}while(0);if(!W){X=mca(i,V,c)|0;u=V+4|0;if(mca(u,a,c)|0){m=106;break}if(X){h=u;continue}}u=V;if((u-j|0)>=(b-u|0)){m=105;break}gca(i,V,c);h=V+4|0}if((m|0)==105){m=0;gca(V+4|0,a,c);d=i;a=V;continue}else if((m|0)==106){m=0;if(X){m=107;break}else{d=i;a=V;continue}}}if((m|0)==5){V=f[e>>2]|0;d=f[i>>2]|0;y=+n[V>>2];t=+n[d>>2];X=d;j=V;if(!(y>2]<+n[d+4>>2]))return}f[i>>2]=j;f[e>>2]=X;return}else if((m|0)==9){X=i+4|0;j=f[X>>2]|0;d=f[i>>2]|0;t=+n[j>>2];y=+n[d>>2];V=j;W=d;if(!(t>2]<+n[d+4>>2];else Y=0;else Y=1;U=f[e>>2]|0;s=+n[U>>2];T=U;if(!(s>2]<+n[j+4>>2];else Z=0;else Z=1;if(!Y){if(!Z)return;f[X>>2]=T;f[e>>2]=V;Y=f[X>>2]|0;j=f[i>>2]|0;t=+n[Y>>2];s=+n[j>>2];U=j;F=Y;if(!(t>2]<+n[j+4>>2]))return}f[i>>2]=F;f[X>>2]=U;return}if(Z){f[i>>2]=T;f[e>>2]=W;return}f[i>>2]=V;f[X>>2]=W;V=f[e>>2]|0;s=+n[V>>2];T=V;if(!(s>2]<+n[d+4>>2]))return}f[X>>2]=T;f[e>>2]=W;return}else if((m|0)==27){jca(i,i+4|0,i+8|0,e,c)|0;return}else if((m|0)==28){kca(i,i+4|0,i+8|0,i+12|0,e,c)|0;return}else if((m|0)==30){lca(i,a,c);return}else if((m|0)==107)return}function hca(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;h=(c|0)>(b|0)?1:-1;i=h+b|0;j=i+h|0;do if((b|0)!=(c|0)){k=f[a+(b<<2)>>2]|0;l=f[a+(c<<2)>>2]|0;if((f[k>>2]|0)==(f[l>>2]|0)?(f[k+4>>2]|0)==(f[l+4>>2]|0):0)break;f[d>>2]=b;l=d+4|0;f[l>>2]=i;k=d+8|0;f[k>>2]=j;m=h+c|0;a:do if((j|0)==(m|0))n=3;else{o=b;p=i;q=j;r=3;while(1){s=d+(r+-1<<2)|0;t=a+(o<<2)|0;u=f[a+(p<<2)>>2]|0;b:do if((o|0)!=(b|0)){v=u+4|0;w=q;while(1){x=f[v>>2]|0;y=f[a+(w<<2)>>2]|0;z=(f[y+4>>2]|0)-x|0;if((((z|0)>0&1)-(z>>>31)|0)!=(e|0))break;A=w+h|0;f[s>>2]=A;if((A|0)==(m|0)){n=r;break a}else w=A}v=f[u>>2]|0;A=f[t>>2]|0;B=v-(f[A>>2]|0)|0;C=x-(f[A+4>>2]|0)|0;A=(X(C,(f[y>>2]|0)-v|0)|0)-(X(B,z)|0)|0;if((C|B|0)==0?1:(((A|0)>0&1)-(A>>>31)|0)!=(g|0)){f[d+(r+-2<<2)>>2]=w;D=f[d+(r+-4<<2)>>2]|0;E=o;F=w;G=-1}else{H=p;I=w;J=15}}else{A=p;B=q;C=u;while(1){v=C+4|0;K=B;while(1){L=f[v>>2]|0;M=f[a+(K<<2)>>2]|0;N=(f[M+4>>2]|0)-L|0;if((((N|0)>0&1)-(N>>>31)|0)!=(e|0))break;O=K+h|0;f[s>>2]=O;if((O|0)==(m|0)){n=r;break a}else K=O}v=f[C>>2]|0;O=f[t>>2]|0;P=v-(f[O>>2]|0)|0;Q=L-(f[O+4>>2]|0)|0;O=(X(Q,(f[M>>2]|0)-v|0)|0)-(X(P,N)|0)|0;if(!((Q|P|0)==0?1:(((O|0)>0&1)-(O>>>31)|0)!=(g|0))){H=A;I=K;J=15;break b}f[l>>2]=K;O=K+h|0;f[k>>2]=O;if((O|0)==(m|0)){n=r;break a}else{A=K;B=O;C=M}}}while(0);if((J|0)==15){J=0;t=I+h|0;f[d+(r<<2)>>2]=t;D=H;E=I;F=t;G=1}t=r+G|0;if((F|0)==(m|0)){n=t;break}else{o=D;p=E;q=F;r=t}}}while(0);R=n+-1|0;return R|0}while(0);f[d>>2]=b;R=1;return R|0}function ica(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0,y=0,z=0.0,A=0,B=0,C=0,D=0.0,E=0.0,F=0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0.0,P=0,Q=0,R=0,S=0,T=0;h=(c|0)>(b|0)?1:-1;i=h+b|0;j=i+h|0;do if((b|0)!=(c|0)){k=f[a+(b<<2)>>2]|0;l=f[a+(c<<2)>>2]|0;if(+n[k>>2]==+n[l>>2]?+n[k+4>>2]==+n[l+4>>2]:0)break;f[d>>2]=b;l=d+4|0;f[l>>2]=i;k=d+8|0;f[k>>2]=j;m=h+c|0;a:do if((j|0)==(m|0))o=3;else{p=b;q=i;r=j;s=3;while(1){t=d+(s+-1<<2)|0;u=a+(p<<2)|0;v=f[a+(q<<2)>>2]|0;w=+n[v+4>>2];b:do if((p|0)==(b|0)){x=q;y=r;z=w;A=v;while(1){B=y;while(1){C=f[a+(B<<2)>>2]|0;D=+n[C+4>>2];E=D-z;if(((E>0.0&1)-(E<0.0&1)|0)!=(e|0))break;F=B+h|0;f[t>>2]=F;if((F|0)==(m|0)){o=s;break a}else B=F}G=+n[A>>2];F=f[u>>2]|0;H=G-+n[F>>2];I=z-+n[F+4>>2];J=(+n[C>>2]-G)*I-E*H;if(((J>0.0&1)-(J<0.0&1)|0)==(g|0)?H!=0.0|I!=0.0:0){K=x;L=B;M=16;break b}f[l>>2]=B;F=B+h|0;f[k>>2]=F;if((F|0)==(m|0)){o=s;break a}else{x=B;y=F;z=D;A=C}}}else{A=r;while(1){N=f[a+(A<<2)>>2]|0;O=+n[N+4>>2]-w;if(((O>0.0&1)-(O<0.0&1)|0)!=(e|0))break;y=A+h|0;f[t>>2]=y;if((y|0)==(m|0)){o=s;break a}else A=y}z=+n[v>>2];y=f[u>>2]|0;I=z-+n[y>>2];H=w-+n[y+4>>2];J=(+n[N>>2]-z)*H-O*I;if(((J>0.0&1)-(J<0.0&1)|0)==(g|0)?I!=0.0|H!=0.0:0){K=q;L=A;M=16;break}f[d+(s+-2<<2)>>2]=A;P=f[d+(s+-4<<2)>>2]|0;Q=p;R=A;S=-1}while(0);if((M|0)==16){M=0;u=L+h|0;f[d+(s<<2)>>2]=u;P=K;Q=L;R=u;S=1}u=s+S|0;if((R|0)==(m|0)){o=u;break}else{p=P;q=Q;r=R;s=u}}}while(0);T=o+-1|0;return T|0}while(0);f[d>>2]=b;T=1;return T|0}function jca(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0.0,i=0.0,j=0,k=0,l=0,m=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=f[b>>2]|0;g=f[a>>2]|0;h=+n[e>>2];i=+n[g>>2];j=e;k=g;if(!(h>2]<+n[g+4>>2];else l=0;else l=1;m=f[c>>2]|0;o=+n[m>>2];p=m;if(!(o>2]<+n[e+4>>2];else q=0;else q=1;do if(!l)if(q){f[b>>2]=p;f[c>>2]=j;r=f[b>>2]|0;s=f[a>>2]|0;h=+n[r>>2];o=+n[s>>2];t=s;u=r;if(!(h>2]<+n[s+4>>2])){v=1;w=e;x=j;break}}f[a>>2]=u;f[b>>2]=t;t=f[c>>2]|0;v=2;w=t;x=t}else{v=0;w=m;x=p}else{if(q){f[a>>2]=p;f[c>>2]=k;v=1;w=g;x=k;break}f[a>>2]=j;f[b>>2]=k;t=f[c>>2]|0;o=+n[t>>2];u=t;if(!(o>2]<+n[g+4>>2])){v=1;w=t;x=u;break}}f[b>>2]=u;f[c>>2]=k;v=2;w=g;x=k}while(0);k=f[d>>2]|0;i=+n[k>>2];o=+n[w>>2];g=k;if(!(i>2]<+n[w+4>>2])){y=v;return y|0}}f[c>>2]=g;f[d>>2]=x;x=v+1|0;d=f[c>>2]|0;g=f[b>>2]|0;o=+n[d>>2];i=+n[g>>2];w=g;k=d;if(!(o>2]<+n[g+4>>2])){y=x;return y|0}}f[b>>2]=k;f[c>>2]=w;w=v+2|0;c=f[b>>2]|0;k=f[a>>2]|0;i=+n[c>>2];o=+n[k>>2];x=k;g=c;if(!(i>2]<+n[k+4>>2])){y=w;return y|0}}f[a>>2]=g;f[b>>2]=x;y=v+3|0;return y|0}function kca(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0.0,k=0.0,l=0,m=0,o=0;h=jca(a,b,c,d,g)|0;g=f[e>>2]|0;i=f[d>>2]|0;j=+n[g>>2];k=+n[i>>2];l=i;m=g;if(!(j>2]<+n[i+4>>2])){o=h;return o|0}}f[d>>2]=m;f[e>>2]=l;l=h+1|0;e=f[d>>2]|0;m=f[c>>2]|0;k=+n[e>>2];j=+n[m>>2];i=m;g=e;if(!(k>2]<+n[m+4>>2])){o=l;return o|0}}f[c>>2]=g;f[d>>2]=i;i=h+2|0;d=f[c>>2]|0;g=f[b>>2]|0;j=+n[d>>2];k=+n[g>>2];l=g;m=d;if(!(j>2]<+n[g+4>>2])){o=i;return o|0}}f[b>>2]=m;f[c>>2]=l;l=h+3|0;c=f[b>>2]|0;m=f[a>>2]|0;k=+n[c>>2];j=+n[m>>2];i=m;g=c;if(!(k>2]<+n[m+4>>2])){o=l;return o|0}}f[a>>2]=g;f[b>>2]=i;o=h+4|0;return o|0}function lca(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0.0,i=0.0,j=0,k=0,l=0,m=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;c=a+8|0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=+n[e>>2];i=+n[g>>2];j=e;k=g;if(!(h>2]<+n[g+4>>2];else l=0;else l=1;m=f[c>>2]|0;o=+n[m>>2];p=m;if(!(o>2]<+n[e+4>>2];else q=0;else q=1;do if(!l)if(q){f[d>>2]=p;f[c>>2]=j;if(!(o>2]<+n[g+4>>2])){r=j;s=e;break}}f[a>>2]=p;f[d>>2]=k;r=j;s=e}else{r=p;s=m}else{if(q){f[a>>2]=p;f[c>>2]=k;r=k;s=g;break}f[a>>2]=j;f[d>>2]=k;if(!(o>2]<+n[g+4>>2])){r=p;s=m;break}}f[d>>2]=p;f[c>>2]=k;r=k;s=g}while(0);g=a+12|0;if((g|0)==(b|0))return;else{t=g;u=c;v=s;w=r}while(1){r=f[t>>2]|0;i=+n[r>>2];o=+n[v>>2];s=r;if(!(i>2]<+n[v+4>>2]):0){x=c;y=25}}else{x=r+4|0;y=25}if((y|0)==25){y=0;f[t>>2]=w;a:do if((u|0)==(a|0))z=u;else{r=u;c=u;while(1){g=c;c=r+-4|0;k=f[c>>2]|0;o=+n[k>>2];p=k;if(!(i>2]<+n[k+4>>2])){z=g;break a}}f[g>>2]=p;if((c|0)==(a|0)){z=c;break}else r=c}}while(0);f[z>>2]=s}c=t+4|0;if((c|0)==(b|0))break;r=f[t>>2]|0;p=t;t=c;v=r;w=r;u=p}return}function mca(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0.0,i=0.0,j=0,k=0,l=0,m=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;switch(b-a>>2|0){case 2:{d=b+-4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=+n[e>>2];i=+n[g>>2];j=g;k=e;if(!(h>2]<+n[g+4>>2])){l=1;return l|0}}f[a>>2]=k;f[d>>2]=j;l=1;return l|0}case 3:{j=a+4|0;d=b+-4|0;k=f[j>>2]|0;g=f[a>>2]|0;i=+n[k>>2];h=+n[g>>2];e=k;m=g;if(!(i>2]<+n[g+4>>2];else o=0;else o=1;p=f[d>>2]|0;q=+n[p>>2];r=p;if(!(q>2]<+n[k+4>>2];else s=0;else s=1;if(!o){if(!s){l=1;return l|0}f[j>>2]=r;f[d>>2]=e;o=f[j>>2]|0;k=f[a>>2]|0;i=+n[o>>2];q=+n[k>>2];p=k;t=o;if(!(i>2]<+n[k+4>>2])){l=1;return l|0}}f[a>>2]=t;f[j>>2]=p;l=1;return l|0}if(s){f[a>>2]=r;f[d>>2]=m;l=1;return l|0}f[a>>2]=e;f[j>>2]=m;e=f[d>>2]|0;q=+n[e>>2];r=e;if(!(q>2]<+n[g+4>>2])){l=1;return l|0}}f[j>>2]=r;f[d>>2]=m;l=1;return l|0}case 4:{jca(a,a+4|0,a+8|0,b+-4|0,c)|0;l=1;return l|0}case 5:{kca(a,a+4|0,a+8|0,a+12|0,b+-4|0,c)|0;l=1;return l|0}case 1:case 0:{l=1;return l|0}default:{c=a+8|0;m=a+4|0;d=f[m>>2]|0;r=f[a>>2]|0;h=+n[d>>2];q=+n[r>>2];j=d;g=r;if(!(h>2]<+n[r+4>>2];else u=0;else u=1;e=f[c>>2]|0;i=+n[e>>2];s=e;if(!(i>2]<+n[d+4>>2];else v=0;else v=1;do if(!u)if(v){f[m>>2]=s;f[c>>2]=j;if(!(i>2]<+n[r+4>>2])){w=d;break}}f[a>>2]=s;f[m>>2]=g;w=d}else w=e;else{if(v){f[a>>2]=s;f[c>>2]=g;w=r;break}f[a>>2]=j;f[m>>2]=g;if(!(i>2]<+n[r+4>>2])){w=e;break}}f[m>>2]=s;f[c>>2]=g;w=r}while(0);r=a+12|0;a:do if((r|0)==(b|0)){x=1;y=0}else{g=r;s=0;m=c;e=w;while(1){j=f[g>>2]|0;q=+n[j>>2];i=+n[e>>2];v=j;if(!(q>2]<+n[e+4>>2]):0){z=d;A=49}else B=s;else{z=j+4|0;A=49}if((A|0)==49){A=0;f[g>>2]=f[m>>2];b:do if((m|0)==(a|0))C=m;else{j=m;d=m;while(1){u=d;d=j+-4|0;p=f[d>>2]|0;i=+n[p>>2];t=p;if(!(q>2]<+n[p+4>>2])){C=u;break b}}f[u>>2]=t;if((d|0)==(a|0)){C=d;break}else j=d}}while(0);f[C>>2]=v;d=s+1|0;if((d|0)==8){x=0;y=(g+4|0)==(b|0);break a}else B=d}d=g+4|0;if((d|0)==(b|0)){x=1;y=0;break a}j=f[g>>2]|0;t=g;g=d;s=B;e=j;m=t}}while(0);l=y|x;return l|0}}return 0}function nca(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=f[b>>2]|0;g=f[a>>2]|0;h=f[e>>2]|0;i=f[g>>2]|0;j=e;k=g;if((h|0)>=(i|0))if((h|0)==(i|0))l=(f[e+4>>2]|0)<(f[g+4>>2]|0);else l=0;else l=1;m=f[c>>2]|0;n=f[m>>2]|0;o=m;if((n|0)>=(h|0))if((n|0)==(h|0))p=(f[m+4>>2]|0)<(f[e+4>>2]|0);else p=0;else p=1;do if(!l)if(p){f[b>>2]=o;f[c>>2]=j;h=f[b>>2]|0;n=f[a>>2]|0;q=f[h>>2]|0;r=f[n>>2]|0;s=n;t=h;if((q|0)>=(r|0)){if((q|0)!=(r|0)){u=1;v=e;w=j;break}if((f[h+4>>2]|0)>=(f[n+4>>2]|0)){u=1;v=e;w=j;break}}f[a>>2]=t;f[b>>2]=s;s=f[c>>2]|0;u=2;v=s;w=s}else{u=0;v=m;w=o}else{if(p){f[a>>2]=o;f[c>>2]=k;u=1;v=g;w=k;break}f[a>>2]=j;f[b>>2]=k;s=f[c>>2]|0;t=f[s>>2]|0;n=s;if((t|0)>=(i|0)){if((t|0)!=(i|0)){u=1;v=s;w=n;break}if((f[s+4>>2]|0)>=(f[g+4>>2]|0)){u=1;v=s;w=n;break}}f[b>>2]=n;f[c>>2]=k;u=2;v=g;w=k}while(0);k=f[d>>2]|0;g=f[k>>2]|0;i=f[v>>2]|0;j=k;if((g|0)>=(i|0)){if((g|0)!=(i|0)){x=u;return x|0}if((f[k+4>>2]|0)>=(f[v+4>>2]|0)){x=u;return x|0}}f[c>>2]=j;f[d>>2]=w;w=u+1|0;d=f[c>>2]|0;j=f[b>>2]|0;v=f[d>>2]|0;k=f[j>>2]|0;i=j;g=d;if((v|0)>=(k|0)){if((v|0)!=(k|0)){x=w;return x|0}if((f[d+4>>2]|0)>=(f[j+4>>2]|0)){x=w;return x|0}}f[b>>2]=g;f[c>>2]=i;i=u+2|0;c=f[b>>2]|0;g=f[a>>2]|0;w=f[c>>2]|0;j=f[g>>2]|0;d=g;k=c;if((w|0)>=(j|0)){if((w|0)!=(j|0)){x=i;return x|0}if((f[c+4>>2]|0)>=(f[g+4>>2]|0)){x=i;return x|0}}f[a>>2]=k;f[b>>2]=d;x=u+3|0;return x|0}function oca(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=nca(a,b,c,d,g)|0;g=f[e>>2]|0;i=f[d>>2]|0;j=f[g>>2]|0;k=f[i>>2]|0;l=i;m=g;if((j|0)>=(k|0)){if((j|0)!=(k|0)){n=h;return n|0}if((f[g+4>>2]|0)>=(f[i+4>>2]|0)){n=h;return n|0}}f[d>>2]=m;f[e>>2]=l;l=h+1|0;e=f[d>>2]|0;m=f[c>>2]|0;i=f[e>>2]|0;g=f[m>>2]|0;k=m;j=e;if((i|0)>=(g|0)){if((i|0)!=(g|0)){n=l;return n|0}if((f[e+4>>2]|0)>=(f[m+4>>2]|0)){n=l;return n|0}}f[c>>2]=j;f[d>>2]=k;k=h+2|0;d=f[c>>2]|0;j=f[b>>2]|0;l=f[d>>2]|0;m=f[j>>2]|0;e=j;g=d;if((l|0)>=(m|0)){if((l|0)!=(m|0)){n=k;return n|0}if((f[d+4>>2]|0)>=(f[j+4>>2]|0)){n=k;return n|0}}f[b>>2]=g;f[c>>2]=e;e=h+3|0;c=f[b>>2]|0;g=f[a>>2]|0;k=f[c>>2]|0;j=f[g>>2]|0;d=g;m=c;if((k|0)>=(j|0)){if((k|0)!=(j|0)){n=e;return n|0}if((f[c+4>>2]|0)>=(f[g+4>>2]|0)){n=e;return n|0}}f[a>>2]=m;f[b>>2]=d;n=h+4|0;return n|0}function pca(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;c=a+8|0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=f[e>>2]|0;i=f[g>>2]|0;j=e;k=g;if((h|0)>=(i|0))if((h|0)==(i|0))l=(f[e+4>>2]|0)<(f[g+4>>2]|0);else l=0;else l=1;m=f[c>>2]|0;n=f[m>>2]|0;o=m;if((n|0)>=(h|0))if((n|0)==(h|0))p=(f[m+4>>2]|0)<(f[e+4>>2]|0);else p=0;else p=1;do if(!l)if(p){f[d>>2]=o;f[c>>2]=j;if((n|0)>=(i|0)){if((n|0)!=(i|0)){q=j;r=e;break}if((f[m+4>>2]|0)>=(f[g+4>>2]|0)){q=j;r=e;break}}f[a>>2]=o;f[d>>2]=k;q=j;r=e}else{q=o;r=m}else{if(p){f[a>>2]=o;f[c>>2]=k;q=k;r=g;break}f[a>>2]=j;f[d>>2]=k;if((n|0)>=(i|0)){if((n|0)!=(i|0)){q=o;r=m;break}if((f[m+4>>2]|0)>=(f[g+4>>2]|0)){q=o;r=m;break}}f[d>>2]=o;f[c>>2]=k;q=k;r=g}while(0);g=a+12|0;if((g|0)==(b|0))return;else{s=g;t=c;u=r;v=q}while(1){q=f[s>>2]|0;r=f[q>>2]|0;c=f[u>>2]|0;g=q;if((r|0)>=(c|0)){if((r|0)==(c|0)?(c=q+4|0,(f[c>>2]|0)<(f[u+4>>2]|0)):0){w=c;x=25}}else{w=q+4|0;x=25}if((x|0)==25){x=0;f[s>>2]=v;a:do if((t|0)==(a|0))y=t;else{q=t;c=t;while(1){k=c;c=q+-4|0;o=f[c>>2]|0;d=f[o>>2]|0;m=o;if((r|0)>=(d|0)){if((r|0)!=(d|0)){y=k;break a}if((f[w>>2]|0)>=(f[o+4>>2]|0)){y=k;break a}}f[k>>2]=m;if((c|0)==(a|0)){y=c;break}else q=c}}while(0);f[y>>2]=g}r=s+4|0;if((r|0)==(b|0))break;c=f[s>>2]|0;q=s;s=r;u=c;v=c;t=q}return}function qca(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;switch(b-a>>2|0){case 2:{d=b+-4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=f[e>>2]|0;i=f[g>>2]|0;j=g;k=e;if((h|0)>=(i|0)){if((h|0)!=(i|0)){l=1;return l|0}if((f[e+4>>2]|0)>=(f[g+4>>2]|0)){l=1;return l|0}}f[a>>2]=k;f[d>>2]=j;l=1;return l|0}case 3:{j=a+4|0;d=b+-4|0;k=f[j>>2]|0;g=f[a>>2]|0;e=f[k>>2]|0;i=f[g>>2]|0;h=k;m=g;if((e|0)>=(i|0))if((e|0)==(i|0))n=(f[k+4>>2]|0)<(f[g+4>>2]|0);else n=0;else n=1;o=f[d>>2]|0;p=f[o>>2]|0;q=o;if((p|0)>=(e|0))if((p|0)==(e|0))r=(f[o+4>>2]|0)<(f[k+4>>2]|0);else r=0;else r=1;if(!n){if(!r){l=1;return l|0}f[j>>2]=q;f[d>>2]=h;n=f[j>>2]|0;k=f[a>>2]|0;o=f[n>>2]|0;e=f[k>>2]|0;p=k;s=n;if((o|0)>=(e|0)){if((o|0)!=(e|0)){l=1;return l|0}if((f[n+4>>2]|0)>=(f[k+4>>2]|0)){l=1;return l|0}}f[a>>2]=s;f[j>>2]=p;l=1;return l|0}if(r){f[a>>2]=q;f[d>>2]=m;l=1;return l|0}f[a>>2]=h;f[j>>2]=m;h=f[d>>2]|0;q=f[h>>2]|0;r=h;if((q|0)>=(i|0)){if((q|0)!=(i|0)){l=1;return l|0}if((f[h+4>>2]|0)>=(f[g+4>>2]|0)){l=1;return l|0}}f[j>>2]=r;f[d>>2]=m;l=1;return l|0}case 4:{nca(a,a+4|0,a+8|0,b+-4|0,c)|0;l=1;return l|0}case 5:{oca(a,a+4|0,a+8|0,a+12|0,b+-4|0,c)|0;l=1;return l|0}case 1:case 0:{l=1;return l|0}default:{c=a+8|0;m=a+4|0;d=f[m>>2]|0;r=f[a>>2]|0;j=f[d>>2]|0;g=f[r>>2]|0;h=d;i=r;if((j|0)>=(g|0))if((j|0)==(g|0))t=(f[d+4>>2]|0)<(f[r+4>>2]|0);else t=0;else t=1;q=f[c>>2]|0;p=f[q>>2]|0;s=q;if((p|0)>=(j|0))if((p|0)==(j|0))u=(f[q+4>>2]|0)<(f[d+4>>2]|0);else u=0;else u=1;do if(!t)if(u){f[m>>2]=s;f[c>>2]=h;if((p|0)>=(g|0)){if((p|0)!=(g|0)){v=d;break}if((f[q+4>>2]|0)>=(f[r+4>>2]|0)){v=d;break}}f[a>>2]=s;f[m>>2]=i;v=d}else v=q;else{if(u){f[a>>2]=s;f[c>>2]=i;v=r;break}f[a>>2]=h;f[m>>2]=i;if((p|0)>=(g|0)){if((p|0)!=(g|0)){v=q;break}if((f[q+4>>2]|0)>=(f[r+4>>2]|0)){v=q;break}}f[m>>2]=s;f[c>>2]=i;v=r}while(0);r=a+12|0;a:do if((r|0)==(b|0)){w=1;x=0}else{i=r;s=0;m=c;q=v;while(1){g=f[i>>2]|0;p=f[g>>2]|0;h=f[q>>2]|0;u=g;if((p|0)>=(h|0))if((p|0)==(h|0)?(h=g+4|0,(f[h>>2]|0)<(f[q+4>>2]|0)):0){y=h;z=49}else A=s;else{y=g+4|0;z=49}if((z|0)==49){z=0;f[i>>2]=f[m>>2];b:do if((m|0)==(a|0))B=m;else{g=m;h=m;while(1){d=h;h=g+-4|0;t=f[h>>2]|0;j=f[t>>2]|0;k=t;if((p|0)>=(j|0)){if((p|0)!=(j|0)){B=d;break b}if((f[y>>2]|0)>=(f[t+4>>2]|0)){B=d;break b}}f[d>>2]=k;if((h|0)==(a|0)){B=h;break}else g=h}}while(0);f[B>>2]=u;p=s+1|0;if((p|0)==8){w=0;x=(i+4|0)==(b|0);break a}else A=p}p=i+4|0;if((p|0)==(b|0)){w=1;x=0;break a}h=f[i>>2]|0;g=i;i=p;s=A;q=h;m=g}}while(0);l=x|w;return l|0}}return 0}function rca(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0,M=0.0,N=0.0,O=0.0,P=0,Q=0,R=0.0,S=0;e=u;u=u+208|0;g=e+200|0;h=e+144|0;i=e+88|0;j=e+72|0;k=e;l=e+16|0;yV(g,55792);do if((HJ(a)|0)==65536){m=f[a+4>>2]|0;f[h>>2]=f[m>>2];n=h+4|0;o=m+4|0;f[n>>2]=f[o>>2];p=h+8|0;f[p>>2]=f[m+8>>2];f[h+12>>2]=f[m+12>>2];f[h+16>>2]=f[m+16>>2];f[h+20>>2]=f[m+20>>2];f[h+24>>2]=f[m+24>>2];f[h+28>>2]=f[m+28>>2];f[h+32>>2]=f[m+32>>2];q=f[m+36>>2]|0;f[h+36>>2]=q;f[h+40>>2]=p;p=h+48|0;r=h+44|0;f[r>>2]=p;f[p>>2]=0;f[h+52>>2]=0;if(q|0){p=q+12|0;f[p>>2]=(f[p>>2]|0)+1}if((f[o>>2]|0)<3){o=f[m+44>>2]|0;p=f[r>>2]|0;f[p>>2]=f[o>>2];f[p+4>>2]=f[o+4>>2];break}else{f[n>>2]=0;WO(h,m);break}}else DJ(h,a,-1);while(0);a=jP(h,2,4,1)|0;if((a|0)>-1)if((a|0)>=4){do if((HJ(c)|0)==65536){m=f[c+4>>2]|0;f[i>>2]=f[m>>2];n=i+4|0;o=m+4|0;f[n>>2]=f[o>>2];p=i+8|0;f[p>>2]=f[m+8>>2];f[i+12>>2]=f[m+12>>2];f[i+16>>2]=f[m+16>>2];f[i+20>>2]=f[m+20>>2];f[i+24>>2]=f[m+24>>2];f[i+28>>2]=f[m+28>>2];f[i+32>>2]=f[m+32>>2];r=f[m+36>>2]|0;f[i+36>>2]=r;f[i+40>>2]=p;p=i+48|0;q=i+44|0;f[q>>2]=p;f[p>>2]=0;f[i+52>>2]=0;if(r|0){p=r+12|0;f[p>>2]=(f[p>>2]|0)+1}if((f[o>>2]|0)<3){o=f[m+44>>2]|0;p=f[q>>2]|0;f[p>>2]=f[o>>2];f[p+4>>2]=f[o+4>>2];break}else{f[n>>2]=0;WO(i,m);break}}else DJ(i,c,-1);while(0);c=jP(i,1,4,1)|0;if((c|0)<=0){f[j>>2]=0;f[j+4>>2]=0;s=JV(j,11)|0;t=217954;v=s+11|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,j,217937,217749,284);KV(j)}m=f[h+16>>2]|0;n=i+16|0;o=f[n>>2]|0;p=i+44|0;f[j>>2]=0;q=j+4|0;f[q>>2]=0;f[j+8>>2]=0;if((c|0)>=3){r=f[o+4>>2]|0;w=f[o>>2]|0;x=f[o+8>>2]|0;y=(((x|0)>(r|0)&1)+((r|0)>(w|0)&1)+((w|0)>(x|0)&1)|0)!=2;x=c+-1|0;w=f[o+((y?0:x)<<2)>>2]|0;if(!((w|0)>-1&(w|0)<(a|0))){f[k>>2]=0;f[k+4>>2]=0;s=JV(k,29)|0;t=217966;v=s+29|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,k,217937,217749,300);KV(k)}r=k+4|0;z=k+8|0;A=k+12|0;B=j+8|0;C=k+4|0;D=0;E=w;do{w=E;E=f[o+((y?x-D|0:D)<<2)>>2]|0;if(!((E|0)>-1&(E|0)<(a|0))){f[k>>2]=0;f[C>>2]=0;s=JV(k,29)|0;t=217996;v=s+29|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,k,217937,217749,305);KV(k)}F=f[m+(w<<3)>>2]|0;G=f[m+(w<<3)+4>>2]|0;H=(f[m+(E<<3)>>2]|0)-F|0;I=+(H|0);J=(f[m+(E<<3)+4>>2]|0)-G|0;M=+(J|0);if(!(J|H))N=0.0;else N=1.0/+L(+(I*I+M*M));H=w+1|0;J=(H|0)<(a|0)?H:0;if((J|0)!=(E|0)){H=0;O=0.0;P=-1;Q=J;do{R=N*+K(+(I*+((f[m+(Q<<3)+4>>2]|0)-G|0)-M*+((f[m+(Q<<3)>>2]|0)-F|0)));J=R>O;P=J?Q:P;O=J?R:O;H=H|J;J=Q+1|0;Q=(J|0)<(a|0)?J:0}while((Q|0)!=(E|0));if(H){Q=AEa(O*256.0)|0;f[k>>2]=w;f[r>>2]=E;f[z>>2]=P;f[A>>2]=Q;Q=f[q>>2]|0;if((Q|0)==(f[B>>2]|0))sca(j,k);else{f[Q>>2]=w;f[Q+4>>2]=f[r>>2];f[Q+8>>2]=f[z>>2];f[Q+12>>2]=f[A>>2];f[q>>2]=Q+16}}}D=D+1|0}while((c|0)>(D|0));f[l>>2]=1124024348;D=l+4|0;f[D>>2]=2;c=l+8|0;A=f[q>>2]|0;z=f[j>>2]|0;r=A-z|0;f[c>>2]=r>>4;f[l+12>>2]=1;k=l+16|0;B=l+40|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[B>>2]=c;c=l+48|0;E=l+44|0;f[E>>2]=c;f[c>>2]=0;a=l+52|0;f[a>>2]=0;m=z;if((m|0)!=(A|0)){f[a>>2]=16;f[c>>2]=16;f[k>>2]=m;f[l+20>>2]=m;m=z+r|0;f[l+24>>2]=m;f[l+28>>2]=m}eM(l,d);m=l+36|0;r=f[m>>2]|0;if(r|0?(z=r+12|0,r=f[z>>2]|0,f[z>>2]=r+-1,(r|0)==1):0)XO(l);f[m>>2]=0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;if((f[D>>2]|0)>0){k=f[B>>2]|0;B=0;do{f[k+(B<<2)>>2]=0;B=B+1|0}while((B|0)<(f[D>>2]|0))}D=f[E>>2]|0;if((D|0)!=(c|0))dX(D)}else YJ(d);D=f[j>>2]|0;if(D|0){j=f[q>>2]|0;if((j|0)!=(D|0))f[q>>2]=j+(~((j+-16-D|0)>>>4)<<4);GQa(D)}D=i+36|0;j=f[D>>2]|0;if(j|0?(q=j+12|0,j=f[q>>2]|0,f[q>>2]=j+-1,(j|0)==1):0)XO(i);f[D>>2]=0;D=i+4|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;if((f[D>>2]|0)>0){n=f[i+40>>2]|0;j=0;do{f[n+(j<<2)>>2]=0;j=j+1|0}while((j|0)<(f[D>>2]|0))}D=f[p>>2]|0;if((D|0)!=(i+48|0))dX(D)}else S=11;else{f[i>>2]=0;f[i+4>>2]=0;s=JV(i,12)|0;t=347185;v=s+12|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,i,217937,217749,274);KV(i);S=11}if((S|0)==11)YJ(d);d=h+36|0;S=f[d>>2]|0;if(S|0?(i=S+12|0,S=f[i>>2]|0,f[i>>2]=S+-1,(S|0)==1):0)XO(h);f[d>>2]=0;d=h+16|0;S=h+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[S>>2]|0)>0){d=f[h+40>>2]|0;i=0;do{f[d+(i<<2)>>2]=0;i=i+1|0}while((i|0)<(f[S>>2]|0))}S=f[h+44>>2]|0;if((S|0)!=(h+48|0))dX(S);if(!(f[g+4>>2]|0)){u=e;return}u=e;return}function sca(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e>>4;h=g+1|0;i=e;j=d;if(h>>>0>268435455)ZOa(a);d=a+8|0;k=(f[d>>2]|0)-e|0;l=k>>3;m=k>>4>>>0<134217727?(l>>>0>>0?h:l):268435455;do if(m)if(m>>>0>268435455){l=hd(8)|0;LQa(l,349912);f[l>>2]=118288;ld(l|0,20688,857)}else{n=EQa(m<<4)|0;break}else n=0;while(0);l=n+(g<<4)|0;h=n+(m<<4)|0;f[l>>2]=f[b>>2];f[n+(g<<4)+4>>2]=f[b+4>>2];f[n+(g<<4)+8>>2]=f[b+8>>2];f[n+(g<<4)+12>>2]=f[b+12>>2];b=l+16|0;if((j|0)==(i|0))o=l;else{g=j+-16-e|0;n=j;j=l;while(1){m=n;n=n+-16|0;f[j+-16>>2]=f[n>>2];f[j+-12>>2]=f[m+-12>>2];f[j+-8>>2]=f[m+-8>>2];f[j+-4>>2]=f[m+-4>>2];if((n|0)==(i|0))break;else j=j+-16|0}o=l+(~(g>>>4)<<4)|0}f[a>>2]=o;f[c>>2]=b;f[d>>2]=h;if(!e)return;GQa(e);return}function tca(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,t=0.0,v=0.0,w=0.0,x=0.0,y=0.0;c=u;u=u+64|0;d=c+8|0;e=c;do if((HJ(a)|0)==65536){g=f[a+4>>2]|0;f[d>>2]=f[g>>2];h=d+4|0;i=g+4|0;f[h>>2]=f[i>>2];j=d+8|0;f[j>>2]=f[g+8>>2];f[d+12>>2]=f[g+12>>2];f[d+16>>2]=f[g+16>>2];f[d+20>>2]=f[g+20>>2];f[d+24>>2]=f[g+24>>2];f[d+28>>2]=f[g+28>>2];f[d+32>>2]=f[g+32>>2];k=f[g+36>>2]|0;f[d+36>>2]=k;f[d+40>>2]=j;j=d+48|0;l=d+44|0;f[l>>2]=j;f[j>>2]=0;f[d+52>>2]=0;if(k|0){j=k+12|0;f[j>>2]=(f[j>>2]|0)+1}if((f[i>>2]|0)<3){i=f[g+44>>2]|0;j=f[l>>2]|0;f[j>>2]=f[i>>2];f[j+4>>2]=f[i+4>>2];break}else{f[h>>2]=0;WO(d,g);break}}else DJ(d,a,-1);while(0);a=jP(d,2,-1,1)|0;g=f[d>>2]&7;if(!((a|0)>-1&(g|1|0)==5)){f[e>>2]=0;f[e+4>>2]=0;h=JV(e,40)|0;i=217809;j=h+40|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));EP(-215,e,218101,217749,392);KV(e)}a:do if(a){e=f[d+16>>2]|0;if((g|0)==4){i=((a<<1)+-2|0)%(a|0)|0;h=a+-1|0;j=f[e+(h<<3)>>2]|0;l=f[e+(h<<3)+4>>2]|0;if((a|0)<=0){m=1;break}h=j-(f[e+(i<<3)>>2]|0)|0;k=l-(f[e+(i<<3)+4>>2]|0)|0;i=0;o=0;p=j;j=l;while(1){l=p;p=f[e+(o<<3)>>2]|0;q=j;j=f[e+(o<<3)+4>>2]|0;r=h;h=p-l|0;l=k;k=j-q|0;q=X(h,l)|0;l=X(k,r)|0;i=((l|0)>(q|0)?1:(l|0)<(q|0)?2:3)|i;o=o+1|0;if((i|0)==3){m=0;break a}if((o|0)>=(a|0)){m=1;break}}}else{o=((a<<1)+-2|0)%(a|0)|0;i=a+-1|0;k=f[e+(i<<3)>>2]|0;h=f[e+(i<<3)+4>>2]|0;if((a|0)<=0){m=1;break}t=(f[s>>2]=h,+n[s>>2])-+n[e+(o<<3)+4>>2];v=(f[s>>2]=k,+n[s>>2])-+n[e+(o<<3)>>2];w=t;o=0;i=0;j=k;k=h;while(1){h=j;j=f[e+(i<<3)>>2]|0;p=k;k=f[e+(i<<3)+4>>2]|0;t=(f[s>>2]=j,+n[s>>2]);x=v;v=t-(f[s>>2]=h,+n[s>>2]);t=(f[s>>2]=k,+n[s>>2]);y=w;w=t-(f[s>>2]=p,+n[s>>2]);t=y*v;y=x*w;o=(y>t?1:y=(a|0)){m=1;break}}}}else m=0;while(0);a=d+36|0;g=f[a>>2]|0;if(g|0?(i=g+12|0,g=f[i>>2]|0,f[i>>2]=g+-1,(g|0)==1):0)XO(d);f[a>>2]=0;a=d+16|0;g=d+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if((f[g>>2]|0)>0){a=f[d+40>>2]|0;i=0;do{f[a+(i<<2)>>2]=0;i=i+1|0}while((i|0)<(f[g>>2]|0))}g=f[d+44>>2]|0;if((g|0)==(d+48|0)){u=c;return m|0}dX(g);u=c;return m|0}function uca(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0.0,r=0.0,t=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0,S=0,T=0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0,ga=0.0,ha=0.0,ia=0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0.0,ta=0.0,ua=0.0,va=0.0,wa=0;e=u;u=u+80|0;g=e+64|0;h=e+8|0;i=e;yV(g,55812);do if((HJ(a)|0)==65536){j=f[a+4>>2]|0;f[h>>2]=f[j>>2];k=h+4|0;l=j+4|0;f[k>>2]=f[l>>2];m=h+8|0;f[m>>2]=f[j+8>>2];f[h+12>>2]=f[j+12>>2];f[h+16>>2]=f[j+16>>2];f[h+20>>2]=f[j+20>>2];f[h+24>>2]=f[j+24>>2];f[h+28>>2]=f[j+28>>2];f[h+32>>2]=f[j+32>>2];o=f[j+36>>2]|0;f[h+36>>2]=o;f[h+40>>2]=m;m=h+48|0;p=h+44|0;f[p>>2]=m;f[m>>2]=0;f[h+52>>2]=0;if(o|0){m=o+12|0;f[m>>2]=(f[m>>2]|0)+1}if((f[l>>2]|0)<3){l=f[j+44>>2]|0;m=f[p>>2]|0;f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];break}else{f[k>>2]=0;WO(h,j);break}}else DJ(h,a,-1);while(0);a=jP(h,2,-1,1)|0;j=f[h>>2]&7;if(!((a|0)>-1&(j|1|0)==5)){f[i>>2]=0;f[i+4>>2]=0;k=JV(i,40)|0;l=218177;m=k+40|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-215,i,218218,218117,103);KV(i)}i=(j|0)==5;q=+n[c>>2];j=HEa(q)|0;r=+n[c+4>>2];c=HEa(r)|0;a:do if(!a)t=d?-1797693134862315708145274.0e284:-1.0;else{l=f[h+16>>2]|0;k=a+-1|0;m=f[l+(k<<3)>>2]|0;if(q==+(j|0)&((i|d)^1)&r==+(c|0)){if((a|0)>0){p=0;o=0;v=m;w=f[l+(k<<3)+4>>2]|0;while(1){x=v;v=f[l+(p<<3)>>2]|0;y=w;w=f[l+(p<<3)+4>>2]|0;z=(w|0)>(c|0);if((c|0)<(y|0))if(z)A=19;else A=18;else if(z)A=18;else A=19;if((A|0)==18){A=0;if(!((j|0)>(x|0)&(v|0)<(j|0))){z=c-y|0;B=v-x|0;C=wVa(B|0,((B|0)<0)<<31>>31|0,z|0,((z|0)<0)<<31>>31|0)|0;z=I;B=j-x|0;D=w-y|0;E=wVa(D|0,((D|0)<0)<<31>>31|0,B|0,((B|0)<0)<<31>>31|0)|0;B=rVa(C|0,z|0,E|0,I|0)|0;E=I;z=(w|0)<(y|0);C=rVa(0,0,B|0,E|0)|0;D=z?I:E;if((B|0)==0&(E|0)==0){t=0.0;break a}else F=o+(((D|0)>0|(D|0)==0&(z?C:B)>>>0>0)&1)|0}else A=19}if((A|0)==19){A=0;if((c|0)==(w|0)){if((j|0)==(v|0)){t=0.0;break a}if((c|0)==(y|0)){if(!((j|0)<(x|0)|(j|0)>(v|0))){t=0.0;break a}if(!((j|0)>(x|0)|(v|0)>(j|0))){t=0.0;break a}else F=o}else F=o}else F=o}p=p+1|0;if((p|0)>=(a|0)){G=F;break}else o=F}}else G=0;t=+((G<<1&2)+-1|0);break}if(i){o=f[l+(k<<3)+4>>2]|0;H=m;J=o;K=(f[s>>2]=o,+n[s>>2])}else{M=+(f[l+(k<<3)+4>>2]|0);o=(n[s>>2]=+(m|0),f[s>>2]|0);H=o;J=(n[s>>2]=M,f[s>>2]|0);K=M}o=(a|0)>0;if(!d){if(o)if(i){p=0;v=0;w=H;M=K;while(1){x=w;w=f[l+(p<<3)>>2]|0;N=(f[s>>2]=w,+n[s>>2]);O=M;M=+n[l+(p<<3)+4>>2];if((!(O<=r)|!(r>=M)?!(O>r&r>2]=x,+n[s>>2]),!(q>P&q>N)):0){Q=(N-P)*(r-O)-(M-O)*(q-P);if(Q==0.0){t=0.0;break a}R=v+((O>M?-Q:Q)>0.0&1)|0}else if(r==M){if(q==N){t=0.0;break a}if(r==O){O=(f[s>>2]=x,+n[s>>2]);if(!(!(q>=O)|!(q<=N))){t=0.0;break a}if(!(!(q>=N)|!(q<=O))){t=0.0;break a}else R=v}else R=v}else R=v;p=p+1|0;if((p|0)>=(a|0)){S=R;break}else v=R}}else{v=0;p=0;w=H;M=K;while(1){O=+(f[l+(v<<3)>>2]|0);N=M;M=+(f[l+(v<<3)+4>>2]|0);m=w;w=(n[s>>2]=O,f[s>>2]|0);if((!(N<=r)|!(r>=M)?!(N>r&r>2]=m,+n[s>>2]),!(q>Q&q>O)):0){P=(O-Q)*(r-N)-(M-N)*(q-Q);if(P==0.0){t=0.0;break a}T=p+((N>M?-P:P)>0.0&1)|0}else if(r==M){if(q==O){t=0.0;break a}if(r==N){N=(f[s>>2]=m,+n[s>>2]);if(!(!(q>=N)|!(q<=O))){t=0.0;break a}if(!(!(q>=O)|!(q<=N))){t=0.0;break a}else T=p}else T=p}else T=p;v=v+1|0;if((v|0)>=(a|0)){S=T;break}else p=T}}else S=0;t=+((S<<1&2)+-1|0);break}b:do if(o)if(i){M=3402823466385288598117041.0e14;N=1.0;p=0;v=0;w=H;m=J;while(1){k=w;w=f[l+(p<<3)>>2]|0;O=(f[s>>2]=w,+n[s>>2]);x=m;m=f[l+(p<<3)+4>>2]|0;P=(f[s>>2]=m,+n[s>>2]);Q=(f[s>>2]=k,+n[s>>2]);U=O-Q;V=(f[s>>2]=x,+n[s>>2]);W=P-V;X=W;Y=q-Q;Z=r-V;_=q-O;$=r-P;do if(!(U*Y+X*Z<=0.0))if(!(U*_+X*$>=0.0)){aa=U*Z-X*Y;ba=U*U+X*X;ca=aa*aa;break}else{ba=1.0;ca=_*_+$*$;break}else{ba=1.0;ca=Y*Y+Z*Z}while(0);if(N*ca=V)|!(r>=P)?!(rQ&q>O):0){$=U*Z-X*Y;ia=v+((W<0.0?-$:$)>0.0&1)|0}else ia=v;p=p+1|0;if((p|0)>=(a|0)){da=ga;ea=ha;fa=ia;break}else{M=ga;N=ha;v=ia}}}else{N=3402823466385288598117041.0e14;M=1.0;v=0;p=0;m=H;w=J;while(1){$=+(f[l+(v<<3)>>2]|0);_=+(f[l+(v<<3)+4>>2]|0);x=m;m=(n[s>>2]=$,f[s>>2]|0);k=w;w=(n[s>>2]=_,f[s>>2]|0);aa=(f[s>>2]=x,+n[s>>2]);ja=$-aa;ka=(f[s>>2]=k,+n[s>>2]);la=_-ka;ma=la;na=q-aa;oa=r-ka;pa=q-$;qa=r-_;do if(!(ja*na+ma*oa<=0.0))if(!(ja*pa+ma*qa>=0.0)){ra=ja*oa-ma*na;sa=ja*ja+ma*ma;ta=ra*ra;break}else{sa=1.0;ta=pa*pa+qa*qa;break}else{sa=1.0;ta=na*na+oa*oa}while(0);if(M*ta=ka)|!(r>=_)?!(raa&q>$):0){qa=ja*oa-ma*na;wa=p+((la<0.0?-qa:qa)>0.0&1)|0}else wa=p;v=v+1|0;if((v|0)>=(a|0)){da=ua;ea=va;fa=wa;break}else{N=ua;M=va;p=wa}}}else{da=3402823466385288598117041.0e14;ea=1.0;fa=0}while(0);M=+L(+(da/ea));t=(fa&1|0)==0?-M:M}while(0);fa=h+36|0;wa=f[fa>>2]|0;if(wa|0?(a=wa+12|0,wa=f[a>>2]|0,f[a>>2]=wa+-1,(wa|0)==1):0)XO(h);f[fa>>2]=0;fa=h+16|0;wa=h+4|0;f[fa>>2]=0;f[fa+4>>2]=0;f[fa+8>>2]=0;f[fa+12>>2]=0;if((f[wa>>2]|0)>0){fa=f[h+40>>2]|0;a=0;do{f[fa+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[wa>>2]|0))}wa=f[h+44>>2]|0;if((wa|0)!=(h+48|0))dX(wa);if(!(f[g+4>>2]|0)){u=e;return +t}u=e;return +t}function vca(a,b,c,d,e,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0;l=u;u=u+64|0;m=l+56|0;n=l+24|0;o=l+16|0;p=l;yV(o,55832);q=k?2:0;switch(h|0){case 0:{f[p>>2]=i;f[p+4>>2]=j;f[p+8>>2]=q;f[m>>2]=0;f[m+4>>2]=g;f[n>>2]=55860;f[n+4>>2]=a;f[n+8>>2]=b;f[n+12>>2]=c;f[n+16>>2]=d;f[n+20>>2]=e;f[n+24>>2]=p;$Z(m,n,+(X(g,e)|0)*.0000152587890625);break}case 2:{f[p>>2]=i;f[p+4>>2]=j;f[p+8>>2]=q;f[m>>2]=0;f[m+4>>2]=g;f[n>>2]=55880;f[n+4>>2]=a;f[n+8>>2]=b;f[n+12>>2]=c;f[n+16>>2]=d;f[n+20>>2]=e;f[n+24>>2]=p;$Z(m,n,+(X(g,e)|0)*.0000152587890625);break}default:{f[p>>2]=i;f[p+4>>2]=j;f[p+8>>2]=q;f[m>>2]=0;f[m+4>>2]=g;f[n>>2]=55900;f[n+4>>2]=a;f[n+8>>2]=b;f[n+12>>2]=c;f[n+16>>2]=d;f[n+20>>2]=e;f[n+24>>2]=p;$Z(m,n,+(X(g,e)|0)*.0000152587890625)}}if(!(f[o+4>>2]|0)){u=l;return}u=l;return}function wca(a){a=a|0;GQa(a);return}function xca(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c;yV(d,55912);e=f[b>>2]|0;g=a+8|0;h=a+16|0;i=b+4|0;if((e|0)<(f[i>>2]|0)){b=(f[a+12>>2]|0)+(X(f[h>>2]|0,e)|0)|0;j=a+24|0;k=a+20|0;l=b;b=e;m=(f[a+4>>2]|0)+(X(f[g>>2]|0,e)|0)|0;while(1){yca(f[j>>2]|0,m,l,f[k>>2]|0);b=b+1|0;if((b|0)>=(f[i>>2]|0))break;else{l=l+(f[h>>2]|0)|0;m=m+(f[g>>2]|0)|0}}}if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function yca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=f[a>>2]|0;g=f[a+8>>2]|0;if((f[a+4>>2]|0)==3){a=d*3|0;if((d|0)<=0)return;h=g^2;i=0;j=b;while(1){k=f[j+4>>2]|0;l=f[j+(h<<2)>>2]|0;f[c+(i<<2)>>2]=f[j+(g<<2)>>2];f[c+(i+1<<2)>>2]=k;f[c+(i+2<<2)>>2]=l;i=i+3|0;if((i|0)>=(a|0))break;else j=j+(e<<2)|0}return}if((e|0)==3){e=d*3|0;if((d|0)<=0)return;j=g^2;a=c;i=0;while(1){h=f[b+(i+1<<2)>>2]|0;l=f[b+(i+2<<2)>>2]|0;f[a+(g<<2)>>2]=f[b+(i<<2)>>2];f[a+4>>2]=h;f[a+(j<<2)>>2]=l;n[a+12>>2]=1.0;i=i+3|0;if((i|0)>=(e|0))break;else a=a+16|0}return}else{a=d<<2;if((d|0)<=0)return;d=g^2;e=0;do{i=e|1;j=f[b+(i<<2)>>2]|0;l=f[b+((e|2)<<2)>>2]|0;h=e|3;k=f[b+(h<<2)>>2]|0;f[c+(e+g<<2)>>2]=f[b+(e<<2)>>2];f[c+(i<<2)>>2]=j;f[c+(e+d<<2)>>2]=l;f[c+(h<<2)>>2]=k;e=e+4|0}while((e|0)<(a|0));return}}function zca(a){a=a|0;GQa(a);return}function Aca(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c;yV(d,55932);e=f[b>>2]|0;g=a+8|0;h=a+16|0;i=b+4|0;if((e|0)<(f[i>>2]|0)){b=(f[a+12>>2]|0)+(X(f[h>>2]|0,e)|0)|0;j=a+24|0;k=a+20|0;l=b;b=e;m=(f[a+4>>2]|0)+(X(f[g>>2]|0,e)|0)|0;while(1){Bca(f[j>>2]|0,m,l,f[k>>2]|0);b=b+1|0;if((b|0)>=(f[i>>2]|0))break;else{l=l+(f[h>>2]|0)|0;m=m+(f[g>>2]|0)|0}}}if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function Bca(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=f[a>>2]|0;h=f[a+8>>2]|0;if((f[a+4>>2]|0)==3){a=e*3|0;if((e|0)<=0)return;i=h^2;j=0;k=b;while(1){l=d[k+2>>1]|0;m=d[k+(i<<1)>>1]|0;d[c+(j<<1)>>1]=d[k+(h<<1)>>1]|0;d[c+(j+1<<1)>>1]=l;d[c+(j+2<<1)>>1]=m;j=j+3|0;if((j|0)>=(a|0))break;else k=k+(g<<1)|0}return}if((g|0)==3){g=e*3|0;if((e|0)<=0)return;k=h^2;a=c;j=0;while(1){i=d[b+(j+1<<1)>>1]|0;m=d[b+(j+2<<1)>>1]|0;d[a+(h<<1)>>1]=d[b+(j<<1)>>1]|0;d[a+2>>1]=i;d[a+(k<<1)>>1]=m;d[a+6>>1]=-1;j=j+3|0;if((j|0)>=(g|0))break;else a=a+8|0}return}else{a=e<<2;if((e|0)<=0)return;e=h^2;g=0;do{j=g|1;k=d[b+(j<<1)>>1]|0;m=d[b+((g|2)<<1)>>1]|0;i=g|3;l=d[b+(i<<1)>>1]|0;d[c+(g+h<<1)>>1]=d[b+(g<<1)>>1]|0;d[c+(j<<1)>>1]=k;d[c+(g+e<<1)>>1]=m;d[c+(i<<1)>>1]=l;g=g+4|0}while((g|0)<(a|0));return}}function Cca(a){a=a|0;GQa(a);return}function Dca(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+16|0;e=d;yV(e,55952);g=f[c>>2]|0;h=a+8|0;i=a+16|0;j=c+4|0;if((g|0)<(f[j>>2]|0)){c=(f[a+12>>2]|0)+(X(f[i>>2]|0,g)|0)|0;k=a+24|0;l=a+20|0;m=c;c=g;n=(f[a+4>>2]|0)+(X(f[h>>2]|0,g)|0)|0;while(1){g=f[k>>2]|0;a=f[l>>2]|0;o=f[g>>2]|0;p=f[g+8>>2]|0;do if((f[g+4>>2]|0)==3){q=a*3|0;if((a|0)>0){r=p^2;s=0;t=n;while(1){v=b[t+1>>0]|0;w=b[t+r>>0]|0;b[m+s>>0]=b[t+p>>0]|0;b[m+(s+1)>>0]=v;b[m+(s+2)>>0]=w;s=s+3|0;if((s|0)>=(q|0))break;else t=t+o|0}}}else if((o|0)==3){t=a*3|0;if((a|0)<=0)break;q=p^2;s=m;r=0;while(1){w=b[n+(r+1)>>0]|0;v=b[n+(r+2)>>0]|0;b[s+p>>0]=b[n+r>>0]|0;b[s+1>>0]=w;b[s+q>>0]=v;b[s+3>>0]=-1;r=r+3|0;if((r|0)>=(t|0))break;else s=s+4|0}}else{s=a<<2;if((a|0)<=0)break;t=p^2;r=0;do{q=r|1;v=b[n+q>>0]|0;w=b[n+(r|2)>>0]|0;x=r|3;y=b[n+x>>0]|0;b[m+(r+p)>>0]=b[n+r>>0]|0;b[m+q>>0]=v;b[m+(r+t)>>0]=w;b[m+x>>0]=y;r=r+4|0}while((r|0)<(s|0))}while(0);c=c+1|0;if((c|0)>=(f[j>>2]|0))break;else{m=m+(f[i>>2]|0)|0;n=n+(f[h>>2]|0)|0}}}if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function Eca(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;k=u;u=u+64|0;l=k+56|0;m=k+24|0;n=k+16|0;o=k;yV(n,55972);f[o>>2]=h;f[o+4>>2]=i?2:0;f[o+8>>2]=j;f[l>>2]=0;f[l+4>>2]=g;f[m>>2]=56e3;f[m+4>>2]=a;f[m+8>>2]=b;f[m+12>>2]=c;f[m+16>>2]=d;f[m+20>>2]=e;f[m+24>>2]=o;$Z(l,m,+(X(g,e)|0)*.0000152587890625);if(!(f[n+4>>2]|0)){u=k;return}u=k;return}function Fca(a){a=a|0;GQa(a);return}function Gca(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+16|0;d=c;yV(d,56012);e=f[b>>2]|0;g=a+8|0;h=a+16|0;i=b+4|0;if((e|0)<(f[i>>2]|0)){b=(f[a+12>>2]|0)+(X(f[h>>2]|0,e)|0)|0;j=a+24|0;k=a+20|0;l=b;b=(f[a+4>>2]|0)+(X(f[g>>2]|0,e)|0)|0;a=e;while(1){Hca(f[j>>2]|0,b,l,f[k>>2]|0);a=a+1|0;if((a|0)>=(f[i>>2]|0))break;else{l=l+(f[h>>2]|0)|0;b=b+(f[g>>2]|0)|0}}}if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function Hca(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0;i=f[a+4>>2]|0;j=(f[a>>2]|0)==3;k=(g|0)>0;if((f[a+8>>2]|0)==6)if(j){if(!k)return;a=i^2;l=c;m=0;while(1){d[e+(m<<1)>>1]=(b[l+1>>0]&-4&255)<<3|(h[l+i>>0]|0)>>>3|(b[l+a>>0]&-8&255)<<8;m=m+1|0;if((m|0)==(g|0))break;else l=l+3|0}return}else{if(!k)return;l=i^2;m=c;a=0;while(1){d[e+(a<<1)>>1]=(b[m+1>>0]&-4&255)<<3|(h[m+i>>0]|0)>>>3|(b[m+l>>0]&-8&255)<<8;a=a+1|0;if((a|0)==(g|0))break;else m=m+4|0}return}else if(j){if(!k)return;j=i^2;m=c;a=0;while(1){d[e+(a<<1)>>1]=(b[m+1>>0]&-8&255)<<2|(h[m+i>>0]|0)>>>3|(b[m+j>>0]&-8&255)<<7;a=a+1|0;if((a|0)==(g|0))break;else m=m+3|0}return}else{if(!k)return;k=i^2;m=c;c=0;while(1){d[e+(c<<1)>>1]=(b[m+1>>0]&-8&255)<<2|(h[m+i>>0]|0)>>>3|(b[m+k>>0]&-8&255)<<7|(b[m+3>>0]|0?32768:0);c=c+1|0;if((c|0)==(g|0))break;else m=m+4|0}return}}function Ica(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;k=u;u=u+64|0;l=k+56|0;m=k+24|0;n=k+16|0;o=k;yV(n,56032);f[o>>2]=h;f[o+4>>2]=i?2:0;f[o+8>>2]=j;f[l>>2]=0;f[l+4>>2]=g;f[m>>2]=56060;f[m+4>>2]=a;f[m+8>>2]=b;f[m+12>>2]=c;f[m+16>>2]=d;f[m+20>>2]=e;f[m+24>>2]=o;$Z(l,m,+(X(g,e)|0)*.0000152587890625);if(!(f[n+4>>2]|0)){u=k;return}u=k;return}function Jca(a){a=a|0;GQa(a);return}function Kca(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+16|0;d=c;yV(d,56072);e=f[b>>2]|0;g=a+8|0;h=a+16|0;i=b+4|0;if((e|0)<(f[i>>2]|0)){b=(f[a+12>>2]|0)+(X(f[h>>2]|0,e)|0)|0;j=a+24|0;k=a+20|0;l=b;b=(f[a+4>>2]|0)+(X(f[g>>2]|0,e)|0)|0;a=e;while(1){Lca(f[j>>2]|0,b,l,f[k>>2]|0);a=a+1|0;if((a|0)>=(f[i>>2]|0))break;else{l=l+(f[h>>2]|0)|0;b=b+(f[g>>2]|0)|0}}}if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function Lca(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0;g=f[a>>2]|0;h=f[a+4>>2]|0;i=(e|0)>0;if((f[a+8>>2]|0)==6){if(!i)return;a=h^2;if((g|0)==4){k=0;l=d;while(1){m=j[c+(k<<1)>>1]|0;b[l+h>>0]=m<<3;b[l+1>>0]=m>>>3&252;b[l+a>>0]=m>>>8&248;b[l+3>>0]=-1;k=k+1|0;if((k|0)==(e|0))break;else l=l+4|0}return}else{l=0;k=d;while(1){m=j[c+(l<<1)>>1]|0;b[k+h>>0]=m<<3;b[k+1>>0]=m>>>3&252;b[k+a>>0]=m>>>8&248;l=l+1|0;if((l|0)==(e|0))break;else k=k+g|0}return}}else{if(!i)return;i=h^2;if((g|0)==4){k=0;l=d;while(1){a=j[c+(k<<1)>>1]|0;b[l+h>>0]=a<<3;b[l+1>>0]=a>>>2&248;b[l+i>>0]=a>>>7&248;b[l+3>>0]=a<<16>>31;k=k+1|0;if((k|0)==(e|0))break;else l=l+4|0}return}else{l=0;k=d;while(1){d=j[c+(l<<1)>>1]|0;b[k+h>>0]=d<<3;b[k+1>>0]=d>>>2&248;b[k+i>>0]=d>>>7&248;l=l+1|0;if((l|0)==(e|0))break;else k=k+g|0}return}}}function Mca(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;k=u;u=u+3136|0;l=k+3120|0;m=k+3088|0;n=k+3080|0;o=k;yV(n,56092);p=j?2:0;switch(h|0){case 0:{f[o>>2]=i;h=f[56132+((p^2)<<2)>>2]|0;q=f[56132+(p<<2)>>2]|0;p=0;r=0;s=8192;t=0;while(1){f[o+4+(t<<2)>>2]=p;f[o+4+(t+256<<2)>>2]=r;f[o+4+(t+512<<2)>>2]=s;t=t+1|0;if((t|0)==256)break;else{p=p+h|0;r=r+9617|0;s=s+q|0}}f[l>>2]=0;f[l+4>>2]=g;f[m>>2]=56120;f[m+4>>2]=a;f[m+8>>2]=b;f[m+12>>2]=c;f[m+16>>2]=d;f[m+20>>2]=e;f[m+24>>2]=o;$Z(l,m,+(X(g,e)|0)*.0000152587890625);break}case 2:{f[o>>2]=i;q=o+4|0;f[q>>2]=f[14033];f[q+4>>2]=f[14034];f[q+8>>2]=f[14035];if(!j){f[q>>2]=1868;f[o+12>>2]=4899}f[l>>2]=0;f[l+4>>2]=g;f[m>>2]=56152;f[m+4>>2]=a;f[m+8>>2]=b;f[m+12>>2]=c;f[m+16>>2]=d;f[m+20>>2]=e;f[m+24>>2]=o;$Z(l,m,+(X(g,e)|0)*.0000152587890625);break}default:{f[o>>2]=i;i=o+4|0;f[i>>2]=f[14041];f[i+4>>2]=f[14042];f[i+8>>2]=f[14043];if(!j){f[i>>2]=1038710997;f[o+12>>2]=1050220167}f[l>>2]=0;f[l+4>>2]=g;f[m>>2]=56184;f[m+4>>2]=a;f[m+8>>2]=b;f[m+12>>2]=c;f[m+16>>2]=d;f[m+20>>2]=e;f[m+24>>2]=o;$Z(l,m,+(X(g,e)|0)*.0000152587890625)}}if(!(f[n+4>>2]|0)){u=k;return}u=k;return}function Nca(a){a=a|0;GQa(a);return}function Oca(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0;c=u;u=u+16|0;d=c;yV(d,56196);e=f[b>>2]|0;g=f[b+4>>2]|0;a:do if((e|0)<(g|0)){b=f[a+16>>2]|0;h=f[a+8>>2]|0;i=a+24|0;j=f[a+20>>2]|0;if((j|0)<=0){k=e;while(1){k=k+1|0;if((k|0)>=(g|0))break a}}k=(f[a+4>>2]|0)+(X(h,e)|0)|0;l=(f[a+12>>2]|0)+(X(b,e)|0)|0;m=e;o=k;while(1){k=f[i>>2]|0;p=f[k>>2]|0;q=+n[k+4>>2];r=+n[k+8>>2];s=+n[k+12>>2];k=o;t=0;while(1){n[l+(t<<2)>>2]=q*+n[k>>2]+r*+n[k+4>>2]+s*+n[k+8>>2];t=t+1|0;if((t|0)==(j|0))break;else k=k+(p<<2)|0}m=m+1|0;if((m|0)>=(g|0))break;else{l=l+b|0;o=o+h|0}}}while(0);if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function Pca(a){a=a|0;GQa(a);return}function Qca(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;c=u;u=u+16|0;e=c;yV(e,56216);g=f[b>>2]|0;h=f[b+4>>2]|0;if((g|0)<(h|0)){b=f[a+16>>2]|0;i=(f[a+12>>2]|0)+(X(b,g)|0)|0;k=f[a+8>>2]|0;l=(f[a+4>>2]|0)+(X(k,g)|0)|0;m=a+24|0;n=f[a+20>>2]|0;a=(n|0)>0;o=i;i=l;l=g;while(1){g=f[m>>2]|0;p=f[g>>2]|0;q=f[g+4>>2]|0;r=f[g+8>>2]|0;s=f[g+12>>2]|0;if(a){g=i;t=0;while(1){v=X(q,j[g>>1]|0)|0;w=X(r,j[g+2>>1]|0)|0;x=(v+8192+w+(X(s,j[g+4>>1]|0)|0)|0)>>>14&65535;d[o+(t<<1)>>1]=x;t=t+1|0;if((t|0)==(n|0))break;else g=g+(p<<1)|0}}l=l+1|0;if((l|0)>=(h|0))break;else{o=o+b|0;i=i+k|0}}}if(!(f[e+4>>2]|0)){u=c;return}u=c;return}function Rca(a){a=a|0;GQa(a);return}function Sca(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+16|0;e=d;yV(e,56236);g=f[c>>2]|0;i=a+8|0;j=a+16|0;k=c+4|0;c=f[k>>2]|0;if((g|0)<(c|0)){l=f[j>>2]|0;m=(f[a+12>>2]|0)+(X(l,g)|0)|0;n=f[i>>2]|0;o=a+24|0;p=a+20|0;q=m;m=(f[a+4>>2]|0)+(X(n,g)|0)|0;a=g;g=c;c=l;l=n;while(1){n=f[o>>2]|0;r=f[p>>2]|0;s=f[n>>2]|0;if((r|0)>0){t=m;v=0;while(1){b[q+v>>0]=((f[n+4+((h[t+1>>0]|0|256)<<2)>>2]|0)+(f[n+4+((h[t>>0]|0)<<2)>>2]|0)+(f[n+4+((h[t+2>>0]|0|512)<<2)>>2]|0)|0)>>>14;v=v+1|0;if((v|0)==(r|0))break;else t=t+s|0}w=f[i>>2]|0;x=f[j>>2]|0;y=f[k>>2]|0}else{w=l;x=c;y=g}a=a+1|0;if((a|0)>=(y|0))break;else{q=q+x|0;m=m+w|0;g=y;c=x;l=w}}}if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function Tca(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0;j=u;u=u+64|0;k=j+48|0;l=j+16|0;m=j+8|0;n=j;yV(m,56256);switch(h|0){case 0:{f[n>>2]=i;f[k>>2]=0;f[k+4>>2]=g;f[l>>2]=56284;f[l+4>>2]=a;f[l+8>>2]=b;f[l+12>>2]=c;f[l+16>>2]=d;f[l+20>>2]=e;f[l+24>>2]=n;$Z(k,l,+(X(g,e)|0)*.0000152587890625);break}case 2:{f[n>>2]=i;f[k>>2]=0;f[k+4>>2]=g;f[l>>2]=56304;f[l+4>>2]=a;f[l+8>>2]=b;f[l+12>>2]=c;f[l+16>>2]=d;f[l+20>>2]=e;f[l+24>>2]=n;$Z(k,l,+(X(g,e)|0)*.0000152587890625);break}default:{f[n>>2]=i;f[k>>2]=0;f[k+4>>2]=g;f[l>>2]=56324;f[l+4>>2]=a;f[l+8>>2]=b;f[l+12>>2]=c;f[l+16>>2]=d;f[l+20>>2]=e;f[l+24>>2]=n;$Z(k,l,+(X(g,e)|0)*.0000152587890625)}}if(!(f[m+4>>2]|0)){u=j;return}u=j;return}function Uca(a){a=a|0;GQa(a);return}function Vca(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0;c=u;u=u+16|0;d=c;yV(d,56336);e=f[b>>2]|0;g=f[b+4>>2]|0;a:do if((e|0)<(g|0)){b=f[a+8>>2]|0;h=f[a+16>>2]|0;i=a+24|0;j=f[a+20>>2]|0;if((j|0)<=0){k=e;while(1){k=k+1|0;if((k|0)>=(g|0))break a}}k=(f[a+12>>2]|0)+(X(h,e)|0)|0;l=k;k=(f[a+4>>2]|0)+(X(b,e)|0)|0;m=e;while(1){if((f[f[i>>2]>>2]|0)==3){o=l;p=0;while(1){q=f[k+(p<<2)>>2]|0;f[o+8>>2]=q;f[o+4>>2]=q;f[o>>2]=q;p=p+1|0;if((p|0)==(j|0))break;else o=o+12|0}}else{o=0;p=l;while(1){q=f[k+(o<<2)>>2]|0;f[p+8>>2]=q;f[p+4>>2]=q;f[p>>2]=q;n[p+12>>2]=1.0;o=o+1|0;if((o|0)==(j|0))break;else p=p+16|0}}m=m+1|0;if((m|0)>=(g|0))break;else{l=l+h|0;k=k+b|0}}}while(0);if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function Wca(a){a=a|0;GQa(a);return}function Xca(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=u;u=u+16|0;e=c;yV(e,56356);g=f[b>>2]|0;h=f[b+4>>2]|0;a:do if((g|0)<(h|0)){b=f[a+8>>2]|0;i=f[a+16>>2]|0;j=a+24|0;k=f[a+20>>2]|0;if((k|0)<=0){l=g;while(1){l=l+1|0;if((l|0)>=(h|0))break a}}l=(f[a+12>>2]|0)+(X(i,g)|0)|0;m=l;l=(f[a+4>>2]|0)+(X(b,g)|0)|0;n=g;while(1){if((f[f[j>>2]>>2]|0)==3){o=m;p=0;while(1){q=d[l+(p<<1)>>1]|0;d[o+4>>1]=q;d[o+2>>1]=q;d[o>>1]=q;p=p+1|0;if((p|0)==(k|0))break;else o=o+6|0}}else{o=0;p=m;while(1){q=d[l+(o<<1)>>1]|0;d[p+4>>1]=q;d[p+2>>1]=q;d[p>>1]=q;d[p+6>>1]=-1;o=o+1|0;if((o|0)==(k|0))break;else p=p+8|0}}n=n+1|0;if((n|0)>=(h|0))break;else{m=m+i|0;l=l+b|0}}}while(0);if(!(f[e+4>>2]|0)){u=c;return}u=c;return}function Yca(a){a=a|0;GQa(a);return}function Zca(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=u;u=u+16|0;e=d;yV(e,56376);g=f[c>>2]|0;h=a+8|0;i=a+16|0;j=c+4|0;if((g|0)<(f[j>>2]|0)){c=(f[a+12>>2]|0)+(X(f[i>>2]|0,g)|0)|0;k=a+24|0;l=a+20|0;m=c;c=(f[a+4>>2]|0)+(X(f[h>>2]|0,g)|0)|0;a=g;while(1){g=f[l>>2]|0;n=(g|0)>0;if((f[f[k>>2]>>2]|0)==3){if(n){o=m;p=0;while(1){q=b[c+p>>0]|0;b[o+2>>0]=q;b[o+1>>0]=q;b[o>>0]=q;p=p+1|0;if((p|0)==(g|0))break;else o=o+3|0}}}else if(n){o=0;p=m;while(1){q=b[c+o>>0]|0;b[p+2>>0]=q;b[p+1>>0]=q;b[p>>0]=q;b[p+3>>0]=-1;o=o+1|0;if((o|0)==(g|0))break;else p=p+4|0}}a=a+1|0;if((a|0)>=(f[j>>2]|0))break;else{m=m+(f[i>>2]|0)|0;c=c+(f[h>>2]|0)|0}}}if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function _ca(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=u;u=u+64|0;j=i+48|0;k=i+16|0;l=i+8|0;m=i;yV(l,56396);f[m>>2]=h;f[j>>2]=0;f[j+4>>2]=g;f[k>>2]=56424;f[k+4>>2]=a;f[k+8>>2]=b;f[k+12>>2]=c;f[k+16>>2]=d;f[k+20>>2]=e;f[k+24>>2]=m;$Z(j,k,+(X(g,e)|0)*.0000152587890625);if(!(f[l+4>>2]|0)){u=i;return}u=i;return}function $ca(a){a=a|0;GQa(a);return}function ada(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=u;u=u+16|0;e=d;yV(e,56436);g=f[c>>2]|0;h=a+8|0;i=a+16|0;k=c+4|0;if((g|0)<(f[k>>2]|0)){c=(f[a+12>>2]|0)+(X(f[i>>2]|0,g)|0)|0;l=a+24|0;m=a+20|0;n=c;c=(f[a+4>>2]|0)+(X(f[h>>2]|0,g)|0)|0;a=g;while(1){g=f[m>>2]|0;o=(g|0)>0;if((f[f[l>>2]>>2]|0)==6){if(o){p=0;do{q=j[c+(p<<1)>>1]|0;b[n+p>>0]=(((q>>>3&252)*9617|0)+8192+((q<<3&248)*1868|0)+((q>>>8&248)*4899|0)|0)>>>14;p=p+1|0}while((p|0)!=(g|0))}}else if(o){p=0;do{q=j[c+(p<<1)>>1]|0;b[n+p>>0]=(((q>>>2&248)*9617|0)+8192+((q<<3&248)*1868|0)+((q>>>7&248)*4899|0)|0)>>>14;p=p+1|0}while((p|0)!=(g|0))}a=a+1|0;if((a|0)>=(f[k>>2]|0))break;else{n=n+(f[i>>2]|0)|0;c=c+(f[h>>2]|0)|0}}}if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function bda(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=u;u=u+64|0;j=i+48|0;k=i+16|0;l=i+8|0;m=i;yV(l,56456);f[m>>2]=h;f[j>>2]=0;f[j+4>>2]=g;f[k>>2]=56484;f[k+4>>2]=a;f[k+8>>2]=b;f[k+12>>2]=c;f[k+16>>2]=d;f[k+20>>2]=e;f[k+24>>2]=m;$Z(j,k,+(X(g,e)|0)*.0000152587890625);if(!(f[l+4>>2]|0)){u=i;return}u=i;return}function cda(a){a=a|0;GQa(a);return}function dda(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+16|0;e=c;yV(e,56496);g=f[b>>2]|0;i=f[b+4>>2]|0;if((g|0)<(i|0)){b=f[a+16>>2]|0;j=(f[a+12>>2]|0)+(X(b,g)|0)|0;k=f[a+8>>2]|0;l=(f[a+4>>2]|0)+(X(k,g)|0)|0;m=a+24|0;n=f[a+20>>2]|0;a=(n|0)>0;o=j;j=l;l=g;while(1){if((f[f[m>>2]>>2]|0)==6){if(a){g=0;do{p=h[j+g>>0]|0;d[o+(g<<1)>>1]=p<<3&2016|p>>>3|p<<8&63488;g=g+1|0}while((g|0)!=(n|0))}}else if(a){g=0;do{p=(h[j+g>>0]|0)>>>3;d[o+(g<<1)>>1]=p<<5|p|p<<10;g=g+1|0}while((g|0)!=(n|0))}l=l+1|0;if((l|0)>=(i|0))break;else{o=o+b|0;j=j+k|0}}}if(!(f[e+4>>2]|0)){u=c;return}u=c;return}function eda(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;h=u;u=u+64|0;i=h+40|0;j=h+8|0;k=h;yV(k,56516);f[i>>2]=0;f[i+4>>2]=g;f[j>>2]=56544;f[j+4>>2]=a;f[j+8>>2]=b;f[j+12>>2]=c;f[j+16>>2]=d;f[j+20>>2]=e;f[j+24>>2]=h+48;$Z(i,j,+(X(g,e)|0)*.0000152587890625);if(!(f[k+4>>2]|0)){u=h;return}u=h;return}function fda(a){a=a|0;GQa(a);return}function gda(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;d=u;u=u+16|0;e=d;yV(e,56556);g=f[c>>2]|0;i=a+8|0;j=a+16|0;k=c+4|0;c=f[k>>2]|0;if((g|0)<(c|0)){l=f[j>>2]|0;m=(f[a+12>>2]|0)+(X(l,g)|0)|0;n=f[i>>2]|0;o=a+20|0;p=m;m=g;q=(f[a+4>>2]|0)+(X(n,g)|0)|0;g=c;c=l;l=n;while(1){n=f[o>>2]|0;if((n|0)>0){a=p;r=0;s=q;while(1){t=b[s+1>>0]|0;v=b[s+2>>0]|0;w=b[s+3>>0]|0;x=w&255;y=((((X(x,h[s>>0]|0)|0)+128|0)>>>0)/255|0)&255;b[a>>0]=y;y=((((X(x,t&255)|0)+128|0)>>>0)/255|0)&255;b[a+1>>0]=y;y=((((X(x,v&255)|0)+128|0)>>>0)/255|0)&255;b[a+2>>0]=y;b[a+3>>0]=w;r=r+1|0;if((r|0)==(n|0))break;else{a=a+4|0;s=s+4|0}}z=f[i>>2]|0;A=f[j>>2]|0;B=f[k>>2]|0}else{z=l;A=c;B=g}m=m+1|0;if((m|0)>=(B|0))break;else{p=p+A|0;q=q+z|0;g=B;c=A;l=z}}}if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function hda(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;h=u;u=u+64|0;i=h+40|0;j=h+8|0;k=h;yV(k,56576);f[i>>2]=0;f[i+4>>2]=g;f[j>>2]=56604;f[j+4>>2]=a;f[j+8>>2]=b;f[j+12>>2]=c;f[j+16>>2]=d;f[j+20>>2]=e;f[j+24>>2]=h+48;$Z(i,j,+(X(g,e)|0)*.0000152587890625);if(!(f[k+4>>2]|0)){u=h;return}u=h;return}function ida(a){a=a|0;GQa(a);return}function jda(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;d=u;u=u+16|0;e=d;yV(e,56616);g=f[c>>2]|0;i=a+8|0;j=a+16|0;k=c+4|0;c=f[k>>2]|0;if((g|0)<(c|0)){l=f[j>>2]|0;m=(f[a+12>>2]|0)+(X(l,g)|0)|0;n=f[i>>2]|0;o=a+20|0;p=m;m=(f[a+4>>2]|0)+(X(n,g)|0)|0;a=g;g=c;c=l;l=n;while(1){n=f[o>>2]|0;if((n|0)>0){q=p;r=0;s=m;while(1){t=b[s+3>>0]|0;v=t&255;if(!(t<<24>>24)){b[q>>0]=0;w=0;x=0}else{y=b[s+2>>0]|0;z=b[s+1>>0]|0;A=(t&255)>>>1&255;b[q>>0]=((((h[s>>0]|0)*255|0)+A|0)>>>0)/(v>>>0)|0;w=(((((z&255)*255|0)+A|0)>>>0)/(v>>>0)|0)&255;x=((((y&255)*255|0)+A|0)>>>0)/(v>>>0)|0}b[q+1>>0]=w;b[q+2>>0]=x;b[q+3>>0]=t;r=r+1|0;if((r|0)==(n|0))break;else{q=q+4|0;s=s+4|0}}B=f[i>>2]|0;C=f[j>>2]|0;D=f[k>>2]|0}else{B=l;C=c;D=g}a=a+1|0;if((a|0)>=(D|0))break;else{p=p+C|0;m=m+B|0;g=D;c=C;l=B}}}if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function kda(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+128|0;g=e;lda(g,a,b,c);vca(f[g+16>>2]|0,f[g+48>>2]|0,f[g+72>>2]|0,f[g+104>>2]|0,f[g+12>>2]|0,f[g+8>>2]|0,f[g+112>>2]|0,f[g+116>>2]|0,c,d);mda(g);u=e;return}function lda(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;g=u;u=u+64|0;h=g+8|0;i=g;f[a>>2]=1124007936;j=a+4|0;k=a+8|0;l=a+40|0;m=j;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[l>>2]=k;o=a+48|0;p=a+44|0;f[p>>2]=o;f[o>>2]=0;f[a+52>>2]=0;o=a+56|0;f[o>>2]=1124007936;q=a+60|0;r=a+64|0;s=a+96|0;m=q;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[s>>2]=r;t=a+104|0;v=a+100|0;f[v>>2]=t;f[t>>2]=0;f[a+108>>2]=0;t=a+120|0;f[t>>2]=0;w=a+124|0;f[w>>2]=0;x=GJ(c,-1)|0;y=x>>>3;f[a+116>>2]=(y&511)+1;z=a+112|0;f[z>>2]=x&7;if((e+-3|0)>>>0<2&(y&510|0)==2)switch(x&7){case 0:case 2:case 5:break;default:A=3}else A=3;if((A|0)==3){f[h>>2]=0;f[h+4>>2]=0;m=JV(h,69)|0;x=247788;n=m+69|0;do{b[m>>0]=b[x>>0]|0;m=m+1|0;x=x+1|0}while((m|0)<(n|0));EP(-215,h,247858,247995,253);KV(h)}x=c+4|0;m=d+4|0;if((f[x>>2]|0)!=(f[m>>2]|0)){do if((HJ(c)|0)==65536){n=f[x>>2]|0;f[h>>2]=f[n>>2];y=h+4|0;B=n+4|0;f[y>>2]=f[B>>2];C=h+8|0;f[C>>2]=f[n+8>>2];f[h+12>>2]=f[n+12>>2];f[h+16>>2]=f[n+16>>2];f[h+20>>2]=f[n+20>>2];f[h+24>>2]=f[n+24>>2];f[h+28>>2]=f[n+28>>2];f[h+32>>2]=f[n+32>>2];D=f[n+36>>2]|0;f[h+36>>2]=D;f[h+40>>2]=C;C=h+48|0;E=h+44|0;f[E>>2]=C;f[C>>2]=0;f[h+52>>2]=0;if(D|0){C=D+12|0;f[C>>2]=(f[C>>2]|0)+1}if((f[B>>2]|0)<3){B=f[n+44>>2]|0;C=f[E>>2]|0;f[C>>2]=f[B>>2];f[C+4>>2]=f[B+4>>2];break}else{f[y>>2]=0;WO(h,n);break}}else DJ(h,c,-1);while(0);x=h+36|0;n=f[x>>2]|0;if((a|0)==(h|0))F=n;else{if(n|0){y=n+12|0;f[y>>2]=(f[y>>2]|0)+1}y=a+36|0;n=f[y>>2]|0;if(n|0?(B=n+12|0,n=f[B>>2]|0,f[B>>2]=n+-1,(n|0)==1):0)XO(a);f[y>>2]=0;n=a+16|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;if((f[j>>2]|0)>0){B=f[l>>2]|0;C=0;do{f[B+(C<<2)>>2]=0;C=C+1|0;G=f[j>>2]|0}while((C|0)<(G|0));f[a>>2]=f[h>>2];if((G|0)<3)A=24;else A=26}else{f[a>>2]=f[h>>2];A=24}if((A|0)==24){G=f[h+4>>2]|0;if((G|0)<3){f[j>>2]=G;f[k>>2]=f[h+8>>2];f[a+12>>2]=f[h+12>>2];k=f[h+44>>2]|0;G=f[p>>2]|0;f[G>>2]=f[k>>2];f[G+4>>2]=f[k+4>>2]}else A=26}if((A|0)==26)WO(a,h);f[n>>2]=f[h+16>>2];f[a+20>>2]=f[h+20>>2];f[a+24>>2]=f[h+24>>2];f[a+28>>2]=f[h+28>>2];f[a+32>>2]=f[h+32>>2];n=f[x>>2]|0;f[y>>2]=n;F=n}if(F|0?(n=F+12|0,F=f[n>>2]|0,f[n>>2]=F+-1,(F|0)==1):0)XO(h);f[x>>2]=0;x=h+16|0;F=h+4|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;if((f[F>>2]|0)>0){x=f[h+40>>2]|0;n=0;do{f[x+(n<<2)>>2]=0;n=n+1|0}while((n|0)<(f[F>>2]|0))}F=f[h+44>>2]|0;if((F|0)!=(h+48|0))dX(F)}else{F=h+8|0;f[F>>2]=0;f[F+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=a;XJ(c,h)}c=f[l>>2]|0;l=f[c+4>>2]|0;F=f[c>>2]|0;f[t>>2]=l;f[w>>2]=F;f[i>>2]=l;f[i+4>>2]=F;_J(d,i,f[z>>2]&7|(e<<3)+-8,-1,0,0);do if((HJ(d)|0)==65536){e=f[m>>2]|0;f[h>>2]=f[e>>2];z=h+4|0;i=e+4|0;f[z>>2]=f[i>>2];F=h+8|0;f[F>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];f[h+24>>2]=f[e+24>>2];f[h+28>>2]=f[e+28>>2];f[h+32>>2]=f[e+32>>2];l=f[e+36>>2]|0;f[h+36>>2]=l;f[h+40>>2]=F;F=h+48|0;w=h+44|0;f[w>>2]=F;f[F>>2]=0;f[h+52>>2]=0;if(l|0){F=l+12|0;f[F>>2]=(f[F>>2]|0)+1}if((f[i>>2]|0)<3){i=f[e+44>>2]|0;F=f[w>>2]|0;f[F>>2]=f[i>>2];f[F+4>>2]=f[i+4>>2];break}else{f[z>>2]=0;WO(h,e);break}}else DJ(h,d,-1);while(0);d=h+36|0;m=f[d>>2]|0;if((o|0)==(h|0))H=m;else{if(m|0){e=m+12|0;f[e>>2]=(f[e>>2]|0)+1}e=a+92|0;m=f[e>>2]|0;if(m|0?(z=m+12|0,m=f[z>>2]|0,f[z>>2]=m+-1,(m|0)==1):0)XO(o);f[e>>2]=0;m=a+72|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;if((f[q>>2]|0)>0){z=f[s>>2]|0;s=0;do{f[z+(s<<2)>>2]=0;s=s+1|0;I=f[q>>2]|0}while((s|0)<(I|0));f[o>>2]=f[h>>2];if((I|0)<3)A=55;else A=57}else{f[o>>2]=f[h>>2];A=55}if((A|0)==55){I=f[h+4>>2]|0;if((I|0)<3){f[q>>2]=I;f[r>>2]=f[h+8>>2];f[a+68>>2]=f[h+12>>2];r=f[h+44>>2]|0;I=f[v>>2]|0;f[I>>2]=f[r>>2];f[I+4>>2]=f[r+4>>2]}else A=57}if((A|0)==57)WO(o,h);f[m>>2]=f[h+16>>2];f[a+76>>2]=f[h+20>>2];f[a+80>>2]=f[h+24>>2];f[a+84>>2]=f[h+28>>2];f[a+88>>2]=f[h+32>>2];a=f[d>>2]|0;f[e>>2]=a;H=a}if(H|0?(a=H+12|0,H=f[a>>2]|0,f[a>>2]=H+-1,(H|0)==1):0)XO(h);f[d>>2]=0;d=h+16|0;H=h+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[H>>2]|0)>0){d=f[h+40>>2]|0;a=0;do{f[d+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[H>>2]|0))}H=f[h+44>>2]|0;if((H|0)==(h+48|0)){u=g;return}dX(H);u=g;return}function mda(a){a=a|0;var b=0,c=0,d=0,e=0;b=a+56|0;c=a+92|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+72|0;b=a+60|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+96>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+100>>2]|0;if((b|0)!=(a+104|0))dX(b);b=a+36|0;d=f[b>>2]|0;if(d|0?(c=d+12|0,d=f[c>>2]|0,f[c>>2]=d+-1,(d|0)==1):0)XO(a);f[b>>2]=0;b=a+16|0;d=a+4|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[d>>2]|0)>0){b=f[a+40>>2]|0;c=0;do{f[b+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[d>>2]|0))}d=f[a+44>>2]|0;if((d|0)==(a+48|0))return;dX(d);return}function nda(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+128|0;g=e;oda(g,a,b,2);Eca(f[g+16>>2]|0,f[g+48>>2]|0,f[g+72>>2]|0,f[g+104>>2]|0,f[g+12>>2]|0,f[g+8>>2]|0,f[g+116>>2]|0,c,d);pda(g);u=e;return}function oda(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;g=u;u=u+64|0;h=g+8|0;i=g;f[a>>2]=1124007936;j=a+4|0;k=a+8|0;l=a+40|0;m=j;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[l>>2]=k;o=a+48|0;p=a+44|0;f[p>>2]=o;f[o>>2]=0;f[a+52>>2]=0;o=a+56|0;f[o>>2]=1124007936;q=a+60|0;r=a+64|0;s=a+96|0;m=q;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[s>>2]=r;t=a+104|0;v=a+100|0;f[v>>2]=t;f[t>>2]=0;f[a+108>>2]=0;t=a+120|0;f[t>>2]=0;w=a+124|0;f[w>>2]=0;x=GJ(c,-1)|0;y=x>>>3;f[a+116>>2]=(y&511)+1;z=x&7;x=a+112|0;f[x>>2]=z;if(!((z|0)==0&((e|0)==2&(y&510|0)==2))){f[h>>2]=0;f[h+4>>2]=0;m=JV(h,69)|0;y=247788;n=m+69|0;do{b[m>>0]=b[y>>0]|0;m=m+1|0;y=y+1|0}while((m|0)<(n|0));EP(-215,h,247858,247995,253);KV(h)}y=c+4|0;m=d+4|0;if((f[y>>2]|0)!=(f[m>>2]|0)){do if((HJ(c)|0)==65536){n=f[y>>2]|0;f[h>>2]=f[n>>2];z=h+4|0;A=n+4|0;f[z>>2]=f[A>>2];B=h+8|0;f[B>>2]=f[n+8>>2];f[h+12>>2]=f[n+12>>2];f[h+16>>2]=f[n+16>>2];f[h+20>>2]=f[n+20>>2];f[h+24>>2]=f[n+24>>2];f[h+28>>2]=f[n+28>>2];f[h+32>>2]=f[n+32>>2];C=f[n+36>>2]|0;f[h+36>>2]=C;f[h+40>>2]=B;B=h+48|0;D=h+44|0;f[D>>2]=B;f[B>>2]=0;f[h+52>>2]=0;if(C|0){B=C+12|0;f[B>>2]=(f[B>>2]|0)+1}if((f[A>>2]|0)<3){A=f[n+44>>2]|0;B=f[D>>2]|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];break}else{f[z>>2]=0;WO(h,n);break}}else DJ(h,c,-1);while(0);y=h+36|0;n=f[y>>2]|0;if((a|0)==(h|0))E=n;else{if(n|0){z=n+12|0;f[z>>2]=(f[z>>2]|0)+1}z=a+36|0;n=f[z>>2]|0;if(n|0?(A=n+12|0,n=f[A>>2]|0,f[A>>2]=n+-1,(n|0)==1):0)XO(a);f[z>>2]=0;n=a+16|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;if((f[j>>2]|0)>0){A=f[l>>2]|0;B=0;do{f[A+(B<<2)>>2]=0;B=B+1|0;F=f[j>>2]|0}while((B|0)<(F|0));f[a>>2]=f[h>>2];if((F|0)<3)G=23;else G=25}else{f[a>>2]=f[h>>2];G=23}if((G|0)==23){F=f[h+4>>2]|0;if((F|0)<3){f[j>>2]=F;f[k>>2]=f[h+8>>2];f[a+12>>2]=f[h+12>>2];k=f[h+44>>2]|0;F=f[p>>2]|0;f[F>>2]=f[k>>2];f[F+4>>2]=f[k+4>>2]}else G=25}if((G|0)==25)WO(a,h);f[n>>2]=f[h+16>>2];f[a+20>>2]=f[h+20>>2];f[a+24>>2]=f[h+24>>2];f[a+28>>2]=f[h+28>>2];f[a+32>>2]=f[h+32>>2];n=f[y>>2]|0;f[z>>2]=n;E=n}if(E|0?(n=E+12|0,E=f[n>>2]|0,f[n>>2]=E+-1,(E|0)==1):0)XO(h);f[y>>2]=0;y=h+16|0;E=h+4|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;if((f[E>>2]|0)>0){y=f[h+40>>2]|0;n=0;do{f[y+(n<<2)>>2]=0;n=n+1|0}while((n|0)<(f[E>>2]|0))}E=f[h+44>>2]|0;if((E|0)!=(h+48|0))dX(E)}else{E=h+8|0;f[E>>2]=0;f[E+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=a;XJ(c,h)}c=f[l>>2]|0;l=f[c+4>>2]|0;E=f[c>>2]|0;f[t>>2]=l;f[w>>2]=E;f[i>>2]=l;f[i+4>>2]=E;_J(d,i,f[x>>2]&7|(e<<3)+-8,-1,0,0);do if((HJ(d)|0)==65536){e=f[m>>2]|0;f[h>>2]=f[e>>2];x=h+4|0;i=e+4|0;f[x>>2]=f[i>>2];E=h+8|0;f[E>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];f[h+24>>2]=f[e+24>>2];f[h+28>>2]=f[e+28>>2];f[h+32>>2]=f[e+32>>2];l=f[e+36>>2]|0;f[h+36>>2]=l;f[h+40>>2]=E;E=h+48|0;w=h+44|0;f[w>>2]=E;f[E>>2]=0;f[h+52>>2]=0;if(l|0){E=l+12|0;f[E>>2]=(f[E>>2]|0)+1}if((f[i>>2]|0)<3){i=f[e+44>>2]|0;E=f[w>>2]|0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];break}else{f[x>>2]=0;WO(h,e);break}}else DJ(h,d,-1);while(0);d=h+36|0;m=f[d>>2]|0;if((o|0)==(h|0))H=m;else{if(m|0){e=m+12|0;f[e>>2]=(f[e>>2]|0)+1}e=a+92|0;m=f[e>>2]|0;if(m|0?(x=m+12|0,m=f[x>>2]|0,f[x>>2]=m+-1,(m|0)==1):0)XO(o);f[e>>2]=0;m=a+72|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;if((f[q>>2]|0)>0){x=f[s>>2]|0;s=0;do{f[x+(s<<2)>>2]=0;s=s+1|0;I=f[q>>2]|0}while((s|0)<(I|0));f[o>>2]=f[h>>2];if((I|0)<3)G=54;else G=56}else{f[o>>2]=f[h>>2];G=54}if((G|0)==54){I=f[h+4>>2]|0;if((I|0)<3){f[q>>2]=I;f[r>>2]=f[h+8>>2];f[a+68>>2]=f[h+12>>2];r=f[h+44>>2]|0;I=f[v>>2]|0;f[I>>2]=f[r>>2];f[I+4>>2]=f[r+4>>2]}else G=56}if((G|0)==56)WO(o,h);f[m>>2]=f[h+16>>2];f[a+76>>2]=f[h+20>>2];f[a+80>>2]=f[h+24>>2];f[a+84>>2]=f[h+28>>2];f[a+88>>2]=f[h+32>>2];a=f[d>>2]|0;f[e>>2]=a;H=a}if(H|0?(a=H+12|0,H=f[a>>2]|0,f[a>>2]=H+-1,(H|0)==1):0)XO(h);f[d>>2]=0;d=h+16|0;H=h+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[H>>2]|0)>0){d=f[h+40>>2]|0;a=0;do{f[d+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[H>>2]|0))}H=f[h+44>>2]|0;if((H|0)==(h+48|0)){u=g;return}dX(H);u=g;return}function pda(a){a=a|0;var b=0,c=0,d=0,e=0;b=a+56|0;c=a+92|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+72|0;b=a+60|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+96>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+100>>2]|0;if((b|0)!=(a+104|0))dX(b);b=a+36|0;d=f[b>>2]|0;if(d|0?(c=d+12|0,d=f[c>>2]|0,f[c>>2]=d+-1,(d|0)==1):0)XO(a);f[b>>2]=0;b=a+16|0;d=a+4|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[d>>2]|0)>0){b=f[a+40>>2]|0;c=0;do{f[b+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[d>>2]|0))}d=f[a+44>>2]|0;if((d|0)==(a+48|0))return;dX(d);return}function qda(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=u;u=u+128|0;h=g;i=(c|0)<1?3:c;rda(h,a,b,i);Ica(f[h+16>>2]|0,f[h+48>>2]|0,f[h+72>>2]|0,f[h+104>>2]|0,f[h+12>>2]|0,f[h+8>>2]|0,i,d,e);sda(h);u=g;return} +function pya(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;d=u;u=u+432|0;e=d+360|0;g=d+304|0;h=d+416|0;i=d+224|0;j=d+112|0;k=d+56|0;l=d+248|0;m=d+232|0;n=d+168|0;o=d;do if((HJ(a)|0)==65536){p=f[a+4>>2]|0;f[e>>2]=f[p>>2];q=e+4|0;r=p+4|0;f[q>>2]=f[r>>2];s=e+8|0;f[s>>2]=f[p+8>>2];f[e+12>>2]=f[p+12>>2];f[e+16>>2]=f[p+16>>2];f[e+20>>2]=f[p+20>>2];f[e+24>>2]=f[p+24>>2];f[e+28>>2]=f[p+28>>2];f[e+32>>2]=f[p+32>>2];t=f[p+36>>2]|0;f[e+36>>2]=t;f[e+40>>2]=s;s=e+48|0;v=e+44|0;f[v>>2]=s;f[s>>2]=0;f[e+52>>2]=0;if(t|0){s=t+12|0;f[s>>2]=(f[s>>2]|0)+1}if((f[r>>2]|0)<3){r=f[p+44>>2]|0;s=f[v>>2]|0;f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2];w=e;break}else{f[q>>2]=0;WO(e,p);w=e;break}}else{DJ(e,a,-1);w=e}while(0);if(f[w>>2]&4088){do if((HJ(a)|0)==65536){w=f[a+4>>2]|0;f[g>>2]=f[w>>2];p=g+4|0;q=w+4|0;f[p>>2]=f[q>>2];r=g+8|0;f[r>>2]=f[w+8>>2];f[g+12>>2]=f[w+12>>2];f[g+16>>2]=f[w+16>>2];f[g+20>>2]=f[w+20>>2];f[g+24>>2]=f[w+24>>2];f[g+28>>2]=f[w+28>>2];f[g+32>>2]=f[w+32>>2];s=g+36|0;v=f[w+36>>2]|0;f[s>>2]=v;f[g+40>>2]=r;r=g+48|0;t=g+44|0;f[t>>2]=r;f[r>>2]=0;f[g+52>>2]=0;if(v|0){r=v+12|0;f[r>>2]=(f[r>>2]|0)+1}if((f[q>>2]|0)<3){q=f[w+44>>2]|0;r=f[t>>2]|0;f[r>>2]=f[q>>2];f[r+4>>2]=f[q+4>>2];x=g;y=s;break}else{f[p>>2]=0;WO(g,w);x=g;y=s;break}}else{DJ(g,a,-1);x=g;y=g+36|0}while(0);s=(f[x>>2]&4088|0)==16;x=f[y>>2]|0;if(x|0?(w=x+12|0,x=f[w>>2]|0,f[w>>2]=x+-1,(x|0)==1):0)XO(g);f[y>>2]=0;y=g+16|0;x=g+4|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;if((f[x>>2]|0)>0){y=f[g+40>>2]|0;w=0;do{f[y+(w<<2)>>2]=0;w=w+1|0}while((w|0)<(f[x>>2]|0))}x=f[g+44>>2]|0;if((x|0)==(g+48|0))z=s;else{dX(x);z=s}}else z=1;s=e+36|0;x=f[s>>2]|0;if(x|0?(g=x+12|0,x=f[g>>2]|0,f[g>>2]=x+-1,(x|0)==1):0)XO(e);f[s>>2]=0;s=e+16|0;x=e+4|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if((f[x>>2]|0)>0){s=f[e+40>>2]|0;g=0;do{f[s+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[x>>2]|0))}x=f[e+44>>2]|0;if((x|0)!=(e+48|0))dX(x);if(!z){f[h>>2]=0;f[h+4>>2]=0;z=JV(h,60)|0;x=350746;e=z+60|0;do{b[z>>0]=b[x>>0]|0;z=z+1|0;x=x+1|0}while((z|0)<(e|0));EP(-215,h,350807,349296,106);KV(h)}do if((HJ(a)|0)==65536){x=f[a+4>>2]|0;f[j>>2]=f[x>>2];z=j+4|0;e=x+4|0;f[z>>2]=f[e>>2];g=j+8|0;f[g>>2]=f[x+8>>2];f[j+12>>2]=f[x+12>>2];f[j+16>>2]=f[x+16>>2];f[j+20>>2]=f[x+20>>2];f[j+24>>2]=f[x+24>>2];f[j+28>>2]=f[x+28>>2];f[j+32>>2]=f[x+32>>2];s=f[x+36>>2]|0;f[j+36>>2]=s;w=j+40|0;f[w>>2]=g;g=j+48|0;y=j+44|0;f[y>>2]=g;f[g>>2]=0;f[j+52>>2]=0;if(s|0){g=s+12|0;f[g>>2]=(f[g>>2]|0)+1}if((f[e>>2]|0)<3){e=f[x+44>>2]|0;g=f[y>>2]|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];A=w;break}else{f[z>>2]=0;WO(j,x);A=w;break}}else{DJ(j,a,-1);A=j+40|0}while(0);w=f[A>>2]|0;x=f[w>>2]|0;f[i>>2]=f[w+4>>2];f[i+4>>2]=x;_J(c,i,0,-1,0,0);i=j+36|0;x=f[i>>2]|0;if(x|0?(w=x+12|0,x=f[w>>2]|0,f[w>>2]=x+-1,(x|0)==1):0)XO(j);f[i>>2]=0;i=j+16|0;x=j+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[x>>2]|0)>0){i=f[A>>2]|0;A=0;do{f[i+(A<<2)>>2]=0;A=A+1|0}while((A|0)<(f[x>>2]|0))}x=f[j+44>>2]|0;if((x|0)!=(j+48|0))dX(x);do if((HJ(a)|0)==65536){x=f[a+4>>2]|0;f[k>>2]=f[x>>2];j=k+4|0;A=x+4|0;f[j>>2]=f[A>>2];i=k+8|0;f[i>>2]=f[x+8>>2];f[k+12>>2]=f[x+12>>2];f[k+16>>2]=f[x+16>>2];f[k+20>>2]=f[x+20>>2];f[k+24>>2]=f[x+24>>2];f[k+28>>2]=f[x+28>>2];f[k+32>>2]=f[x+32>>2];w=k+36|0;z=f[x+36>>2]|0;f[w>>2]=z;f[k+40>>2]=i;i=k+48|0;e=k+44|0;f[e>>2]=i;f[i>>2]=0;f[k+52>>2]=0;if(z|0){i=z+12|0;f[i>>2]=(f[i>>2]|0)+1}if((f[A>>2]|0)<3){A=f[x+44>>2]|0;i=f[e>>2]|0;f[i>>2]=f[A>>2];f[i+4>>2]=f[A+4>>2];B=k;C=w;break}else{f[j>>2]=0;WO(k,x);B=k;C=w;break}}else{DJ(k,a,-1);B=k;C=k+36|0}while(0);w=(f[B>>2]&4095|0)==16;B=f[C>>2]|0;if(B|0?(x=B+12|0,B=f[x>>2]|0,f[x>>2]=B+-1,(B|0)==1):0)XO(k);f[C>>2]=0;C=k+16|0;B=k+4|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;f[C+12>>2]=0;if((f[B>>2]|0)>0){C=f[k+40>>2]|0;x=0;do{f[C+(x<<2)>>2]=0;x=x+1|0}while((x|0)<(f[B>>2]|0))}B=f[k+44>>2]|0;if((B|0)!=(k+48|0))dX(B);if(!w){do if((HJ(a)|0)==65536){w=f[a+4>>2]|0;f[o>>2]=f[w>>2];B=o+4|0;k=w+4|0;f[B>>2]=f[k>>2];x=o+8|0;f[x>>2]=f[w+8>>2];f[o+12>>2]=f[w+12>>2];f[o+16>>2]=f[w+16>>2];f[o+20>>2]=f[w+20>>2];f[o+24>>2]=f[w+24>>2];f[o+28>>2]=f[w+28>>2];f[o+32>>2]=f[w+32>>2];C=f[w+36>>2]|0;f[o+36>>2]=C;f[o+40>>2]=x;x=o+48|0;j=o+44|0;f[j>>2]=x;f[x>>2]=0;f[o+52>>2]=0;if(C|0){x=C+12|0;f[x>>2]=(f[x>>2]|0)+1}if((f[k>>2]|0)<3){k=f[w+44>>2]|0;x=f[j>>2]|0;f[x>>2]=f[k>>2];f[x+4>>2]=f[k+4>>2];break}else{f[B>>2]=0;WO(o,w);break}}else DJ(o,a,-1);while(0);eM(o,c);w=o+36|0;B=f[w>>2]|0;if(B|0?(k=B+12|0,B=f[k>>2]|0,f[k>>2]=B+-1,(B|0)==1):0)XO(o);f[w>>2]=0;w=o+16|0;B=o+4|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;if((f[B>>2]|0)>0){w=f[o+40>>2]|0;k=0;do{f[w+(k<<2)>>2]=0;k=k+1|0}while((k|0)<(f[B>>2]|0))}B=f[o+44>>2]|0;if((B|0)==(o+48|0)){u=d;return}dX(B);u=d;return}do if((HJ(a)|0)==65536){B=f[a+4>>2]|0;f[l>>2]=f[B>>2];o=l+4|0;k=B+4|0;f[o>>2]=f[k>>2];w=l+8|0;f[w>>2]=f[B+8>>2];f[l+12>>2]=f[B+12>>2];f[l+16>>2]=f[B+16>>2];f[l+20>>2]=f[B+20>>2];f[l+24>>2]=f[B+24>>2];f[l+28>>2]=f[B+28>>2];f[l+32>>2]=f[B+32>>2];x=f[B+36>>2]|0;f[l+36>>2]=x;f[l+40>>2]=w;w=l+48|0;j=l+44|0;f[j>>2]=w;f[w>>2]=0;f[l+52>>2]=0;if(x|0){w=x+12|0;f[w>>2]=(f[w>>2]|0)+1}if((f[k>>2]|0)<3){k=f[B+44>>2]|0;w=f[j>>2]|0;f[w>>2]=f[k>>2];f[w+4>>2]=f[k+4>>2];break}else{f[o>>2]=0;WO(l,B);break}}else DJ(l,a,-1);while(0);f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=l;do if((HJ(c)|0)==65536){a=f[c+4>>2]|0;f[n>>2]=f[a>>2];B=n+4|0;o=a+4|0;f[B>>2]=f[o>>2];k=n+8|0;f[k>>2]=f[a+8>>2];f[n+12>>2]=f[a+12>>2];f[n+16>>2]=f[a+16>>2];f[n+20>>2]=f[a+20>>2];f[n+24>>2]=f[a+24>>2];f[n+28>>2]=f[a+28>>2];f[n+32>>2]=f[a+32>>2];w=f[a+36>>2]|0;f[n+36>>2]=w;f[n+40>>2]=k;k=n+48|0;j=n+44|0;f[j>>2]=k;f[k>>2]=0;f[n+52>>2]=0;if(w|0){k=w+12|0;f[k>>2]=(f[k>>2]|0)+1}if((f[o>>2]|0)<3){o=f[a+44>>2]|0;k=f[j>>2]|0;f[k>>2]=f[o>>2];f[k+4>>2]=f[o+4>>2];break}else{f[B>>2]=0;WO(n,a);break}}else DJ(n,c,-1);while(0);c=m+8|0;f[c>>2]=0;f[c+4>>2]=0;f[m>>2]=-1040121856;f[m+4>>2]=n;nba(h,m,6,0);m=n+36|0;h=f[m>>2]|0;if(h|0?(c=h+12|0,h=f[c>>2]|0,f[c>>2]=h+-1,(h|0)==1):0)XO(n);f[m>>2]=0;m=n+16|0;h=n+4|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;if((f[h>>2]|0)>0){m=f[n+40>>2]|0;c=0;do{f[m+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[h>>2]|0))}h=f[n+44>>2]|0;if((h|0)!=(n+48|0))dX(h);h=l+36|0;n=f[h>>2]|0;do if(n|0){c=n+12|0;m=f[c>>2]|0;f[c>>2]=m+-1;if((m|0)!=1)break;XO(l)}while(0);f[h>>2]=0;h=l+16|0;n=l+4|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;if((f[n>>2]|0)>0){h=f[l+40>>2]|0;m=0;do{f[h+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[n>>2]|0))}n=f[l+44>>2]|0;if((n|0)!=(l+48|0))dX(n);u=d;return}function qya(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;d=b+4|0;e=(f[d>>2]|0)-(f[b>>2]|0)|0;g=e>>3;if(!g)return;if(g>>>0>536870911)ZOa(a);h=EQa(e)|0;f[c>>2]=h;f[a>>2]=h;f[a+8>>2]=h+(g<<3);g=f[b>>2]|0;b=f[d>>2]|0;if((g|0)==(b|0))return;d=b+-8-g|0;a=g;g=h;while(1){f[g>>2]=f[a>>2];f[g+4>>2]=f[a+4>>2];a=a+8|0;if((a|0)==(b|0))break;else g=g+8|0}f[c>>2]=h+((d>>>3)+1<<3);return}function rya(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=((f[c>>2]|0)-d|0)/12|0;g=e+1|0;if(g>>>0>357913941)ZOa(a);h=a+8|0;i=((f[h>>2]|0)-d|0)/12|0;d=i<<1;j=i>>>0<178956970?(d>>>0>>0?g:d):357913941;do if(j)if(j>>>0>357913941){d=hd(8)|0;LQa(d,349912);f[d>>2]=118288;ld(d|0,20688,857)}else{k=EQa(j*12|0)|0;break}else k=0;while(0);d=k+(e*12|0)|0;e=d;g=k+(j*12|0)|0;qya(d,b);b=d+12|0;j=f[a>>2]|0;k=f[c>>2]|0;if((k|0)==(j|0)){l=e;m=j;n=j}else{i=k;k=e;e=d;do{i=i+-12|0;qya(e+-12|0,i);e=k+-12|0;k=e}while((i|0)!=(j|0));l=k;m=f[a>>2]|0;n=f[c>>2]|0}f[a>>2]=l;f[c>>2]=b;f[h>>2]=g;g=m;if((n|0)!=(g|0)){h=n;do{n=h;h=h+-12|0;b=f[h>>2]|0;if(b|0){c=n+-8|0;n=f[c>>2]|0;if((n|0)!=(b|0))f[c>>2]=n+(~((n+-8-b|0)>>>3)<<3);GQa(b)}}while((h|0)!=(g|0))}if(!m)return;GQa(m);return}function sya(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;d=b+4|0;e=(f[d>>2]|0)-(f[b>>2]|0)|0;g=e>>3;if(!g)return;if(g>>>0>536870911)ZOa(a);h=EQa(e)|0;f[c>>2]=h;f[a>>2]=h;f[a+8>>2]=h+(g<<3);g=f[b>>2]|0;b=f[d>>2]|0;if((g|0)==(b|0))return;d=b+-8-g|0;a=g;g=h;while(1){f[g>>2]=f[a>>2];f[g+4>>2]=f[a+4>>2];a=a+8|0;if((a|0)==(b|0))break;else g=g+8|0}f[c>>2]=h+((d>>>3)+1<<3);return}function tya(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=((f[c>>2]|0)-d|0)/12|0;g=e+1|0;if(g>>>0>357913941)ZOa(a);h=a+8|0;i=((f[h>>2]|0)-d|0)/12|0;d=i<<1;j=i>>>0<178956970?(d>>>0>>0?g:d):357913941;do if(j)if(j>>>0>357913941){d=hd(8)|0;LQa(d,349912);f[d>>2]=118288;ld(d|0,20688,857)}else{k=EQa(j*12|0)|0;break}else k=0;while(0);d=k+(e*12|0)|0;e=d;g=k+(j*12|0)|0;sya(d,b);b=d+12|0;j=f[a>>2]|0;k=f[c>>2]|0;if((k|0)==(j|0)){l=e;m=j;n=j}else{i=k;k=e;e=d;do{i=i+-12|0;sya(e+-12|0,i);e=k+-12|0;k=e}while((i|0)!=(j|0));l=k;m=f[a>>2]|0;n=f[c>>2]|0}f[a>>2]=l;f[c>>2]=b;f[h>>2]=g;g=m;if((n|0)!=(g|0)){h=n;do{n=h;h=h+-12|0;b=f[h>>2]|0;if(b|0){c=n+-8|0;n=f[c>>2]|0;if((n|0)!=(b|0))f[c>>2]=n+(~((n+-8-b|0)>>>3)<<3);GQa(b)}}while((h|0)!=(g|0))}if(!m)return;GQa(m);return}function uya(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=e>>3;h=g+1|0;if(h>>>0>536870911)ZOa(a);i=a+8|0;j=(f[i>>2]|0)-d|0;k=j>>2;l=j>>3>>>0<268435455?(k>>>0>>0?h:k):536870911;do if(l)if(l>>>0>536870911){k=hd(8)|0;LQa(k,349912);f[k>>2]=118288;ld(k|0,20688,857)}else{k=EQa(l<<3)|0;m=k;n=k;break}else{m=0;n=0}while(0);k=m+(g<<3)|0;g=b;b=f[g+4>>2]|0;h=k;f[h>>2]=f[g>>2];f[h+4>>2]=b;if((e|0)>0)DVa(n|0,d|0,e|0)|0;f[a>>2]=m;f[c>>2]=k+8;f[i>>2]=m+(l<<3);if(!d)return;GQa(d);return}function vya(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(((d-g|0)/12|0)>>>0>=b>>>0){FVa(g|0,0,b*12|0)|0;f[e>>2]=h+(b*12|0);return}i=f[a>>2]|0;j=(g-i|0)/12|0;k=j+b|0;l=i;if(k>>>0>357913941)ZOa(a);m=(d-i|0)/12|0;i=m<<1;d=m>>>0<178956970?(i>>>0>>0?k:i):357913941;do if(d)if(d>>>0>357913941){i=hd(8)|0;LQa(i,349912);f[i>>2]=118288;ld(i|0,20688,857)}else{n=EQa(d*12|0)|0;break}else n=0;while(0);i=n+(j*12|0)|0;j=i;k=n+(d*12|0)|0;FVa(i|0,0,b*12|0)|0;d=i+(b*12|0)|0;if((h|0)==(l|0)){o=j;p=g;q=h}else{g=h;h=j;j=i;do{g=g+-12|0;qya(j+-12|0,g);j=h+-12|0;h=j}while((g|0)!=(l|0));o=h;p=f[a>>2]|0;q=f[e>>2]|0}f[a>>2]=o;f[e>>2]=d;f[c>>2]=k;k=p;if((q|0)!=(k|0)){c=q;do{q=c;c=c+-12|0;d=f[c>>2]|0;if(d|0){e=q+-8|0;q=f[e>>2]|0;if((q|0)!=(d|0))f[e>>2]=q+(~((q+-8-d|0)>>>3)<<3);GQa(d)}}while((c|0)!=(k|0))}if(!p)return;GQa(p);return}function wya(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(((d-g|0)/12|0)>>>0>=b>>>0){FVa(g|0,0,b*12|0)|0;f[e>>2]=h+(b*12|0);return}i=f[a>>2]|0;j=(g-i|0)/12|0;k=j+b|0;l=i;if(k>>>0>357913941)ZOa(a);m=(d-i|0)/12|0;i=m<<1;d=m>>>0<178956970?(i>>>0>>0?k:i):357913941;do if(d)if(d>>>0>357913941){i=hd(8)|0;LQa(i,349912);f[i>>2]=118288;ld(i|0,20688,857)}else{n=EQa(d*12|0)|0;break}else n=0;while(0);i=n+(j*12|0)|0;j=i;k=n+(d*12|0)|0;FVa(i|0,0,b*12|0)|0;d=i+(b*12|0)|0;if((h|0)==(l|0)){o=j;p=g;q=h}else{g=h;h=j;j=i;do{g=g+-12|0;sya(j+-12|0,g);j=h+-12|0;h=j}while((g|0)!=(l|0));o=h;p=f[a>>2]|0;q=f[e>>2]|0}f[a>>2]=o;f[e>>2]=d;f[c>>2]=k;k=p;if((q|0)!=(k|0)){c=q;do{q=c;c=c+-12|0;d=f[c>>2]|0;if(d|0){e=q+-8|0;q=f[e>>2]|0;if((q|0)!=(d|0))f[e>>2]=q+(~((q+-8-d|0)>>>3)<<3);GQa(d)}}while((c|0)!=(k|0))}if(!p)return;GQa(p);return}function xya(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=b;e=c-d>>3;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;if(e>>>0>h-i>>3>>>0){k=i;if(!i)l=h;else{h=a+4|0;m=f[h>>2]|0;if((m|0)!=(j|0))f[h>>2]=m+(~((m+-8-i|0)>>>3)<<3);GQa(k);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;l=0}if(e>>>0>536870911)ZOa(a);h=l>>2;k=l>>3>>>0<268435455?(h>>>0>>0?e:h):536870911;if(k>>>0>536870911)ZOa(a);h=EQa(k<<3)|0;l=a+4|0;f[l>>2]=h;f[a>>2]=h;f[g>>2]=h+(k<<3);if((b|0)==(c|0))return;k=c+-8-d|0;g=b;m=h;while(1){f[m>>2]=f[g>>2];f[m+4>>2]=f[g+4>>2];g=g+8|0;if((g|0)==(c|0))break;else m=m+8|0}f[l>>2]=h+((k>>>3)+1<<3);return}k=a+4|0;a=f[k>>2]|0;h=a-i>>3;i=e>>>0>h>>>0;e=b+(h<<3)|0;h=i?e:c;l=a;if((h|0)==(b|0))n=j;else{a=h+-8-d|0;d=b;b=j;while(1){f[b>>2]=f[d>>2];f[b+4>>2]=f[d+4>>2];d=d+8|0;if((d|0)==(h|0))break;else b=b+8|0}n=j+((a>>>3)+1<<3)|0}if(!i){if((n|0)==(l|0))return;f[k>>2]=l+(~((l+-8-n|0)>>>3)<<3);return}if((h|0)==(c|0))return;n=f[k>>2]|0;l=c+-8-h|0;h=e;e=n;while(1){f[e>>2]=f[h>>2];f[e+4>>2]=f[h+4>>2];h=h+8|0;if((h|0)==(c|0))break;else e=e+8|0}f[k>>2]=n+((l>>>3)+1<<3);return}function yya(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=b;e=c-d>>3;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;if(e>>>0>h-i>>3>>>0){k=i;if(!i)l=h;else{h=a+4|0;m=f[h>>2]|0;if((m|0)!=(j|0))f[h>>2]=m+(~((m+-8-i|0)>>>3)<<3);GQa(k);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;l=0}if(e>>>0>536870911)ZOa(a);h=l>>2;k=l>>3>>>0<268435455?(h>>>0>>0?e:h):536870911;if(k>>>0>536870911)ZOa(a);h=EQa(k<<3)|0;l=a+4|0;f[l>>2]=h;f[a>>2]=h;f[g>>2]=h+(k<<3);if((b|0)==(c|0))return;k=c+-8-d|0;g=b;m=h;while(1){f[m>>2]=f[g>>2];f[m+4>>2]=f[g+4>>2];g=g+8|0;if((g|0)==(c|0))break;else m=m+8|0}f[l>>2]=h+((k>>>3)+1<<3);return}k=a+4|0;a=f[k>>2]|0;h=a-i>>3;i=e>>>0>h>>>0;e=b+(h<<3)|0;h=i?e:c;l=a;if((h|0)==(b|0))n=j;else{a=h+-8-d|0;d=b;b=j;while(1){f[b>>2]=f[d>>2];f[b+4>>2]=f[d+4>>2];d=d+8|0;if((d|0)==(h|0))break;else b=b+8|0}n=j+((a>>>3)+1<<3)|0}if(!i){if((n|0)==(l|0))return;f[k>>2]=l+(~((l+-8-n|0)>>>3)<<3);return}if((h|0)==(c|0))return;n=f[k>>2]|0;l=c+-8-h|0;h=e;e=n;while(1){f[e>>2]=f[h>>2];f[e+4>>2]=f[h+4>>2];h=h+8|0;if((h|0)==(c|0))break;else e=e+8|0}f[k>>2]=n+((l>>>3)+1<<3);return}function zya(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=(c-b|0)/12|0;e=a+8|0;g=f[e>>2]|0;h=f[a>>2]|0;i=h;if(d>>>0>((g-h|0)/12|0)>>>0){if(!h)j=g;else{g=a+4|0;k=f[g>>2]|0;if((k|0)==(i|0))l=h;else{m=k;while(1){k=m+-12|0;f[g>>2]=k;n=f[k>>2]|0;if(!n)o=k;else{k=m+-8|0;p=f[k>>2]|0;if((p|0)!=(n|0))f[k>>2]=p+(~((p+-8-n|0)>>>3)<<3);GQa(n);o=f[g>>2]|0}if((o|0)==(i|0))break;else m=o}l=f[a>>2]|0}GQa(l);f[e>>2]=0;f[g>>2]=0;f[a>>2]=0;j=0}if(d>>>0>357913941)ZOa(a);g=(j|0)/12|0;j=g<<1;l=g>>>0<178956970?(j>>>0>>0?d:j):357913941;if(l>>>0>357913941)ZOa(a);j=EQa(l*12|0)|0;g=a+4|0;f[g>>2]=j;f[a>>2]=j;f[e>>2]=j+(l*12|0);if((b|0)==(c|0))return;else{q=b;r=j}do{qya(r,q);q=q+12|0;r=(f[g>>2]|0)+12|0;f[g>>2]=r}while((q|0)!=(c|0));return}q=a+4|0;a=((f[q>>2]|0)-h|0)/12|0;h=d>>>0>a>>>0;d=b+(a*12|0)|0;a=h?d:c;if((a|0)==(b|0))s=i;else{r=b;b=i;while(1){if((b|0)!=(r|0))xya(b,f[r>>2]|0,f[r+4>>2]|0);r=r+12|0;i=b+12|0;if((r|0)==(a|0)){s=i;break}else b=i}}if(h){if((a|0)==(c|0))return;a=d;d=f[q>>2]|0;do{qya(d,a);a=a+12|0;d=(f[q>>2]|0)+12|0;f[q>>2]=d}while((a|0)!=(c|0));return}c=f[q>>2]|0;if((c|0)==(s|0))return;else t=c;while(1){c=t+-12|0;f[q>>2]=c;a=f[c>>2]|0;if(!a)u=c;else{c=t+-8|0;d=f[c>>2]|0;if((d|0)!=(a|0))f[c>>2]=d+(~((d+-8-a|0)>>>3)<<3);GQa(a);u=f[q>>2]|0}if((u|0)==(s|0))break;else t=u}return}function Aya(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=(c-b|0)/12|0;e=a+8|0;g=f[e>>2]|0;h=f[a>>2]|0;i=h;if(d>>>0>((g-h|0)/12|0)>>>0){if(!h)j=g;else{g=a+4|0;k=f[g>>2]|0;if((k|0)==(i|0))l=h;else{m=k;while(1){k=m+-12|0;f[g>>2]=k;n=f[k>>2]|0;if(!n)o=k;else{k=m+-8|0;p=f[k>>2]|0;if((p|0)!=(n|0))f[k>>2]=p+(~((p+-8-n|0)>>>3)<<3);GQa(n);o=f[g>>2]|0}if((o|0)==(i|0))break;else m=o}l=f[a>>2]|0}GQa(l);f[e>>2]=0;f[g>>2]=0;f[a>>2]=0;j=0}if(d>>>0>357913941)ZOa(a);g=(j|0)/12|0;j=g<<1;l=g>>>0<178956970?(j>>>0>>0?d:j):357913941;if(l>>>0>357913941)ZOa(a);j=EQa(l*12|0)|0;g=a+4|0;f[g>>2]=j;f[a>>2]=j;f[e>>2]=j+(l*12|0);if((b|0)==(c|0))return;else{q=b;r=j}do{sya(r,q);q=q+12|0;r=(f[g>>2]|0)+12|0;f[g>>2]=r}while((q|0)!=(c|0));return}q=a+4|0;a=((f[q>>2]|0)-h|0)/12|0;h=d>>>0>a>>>0;d=b+(a*12|0)|0;a=h?d:c;if((a|0)==(b|0))s=i;else{r=b;b=i;while(1){if((b|0)!=(r|0))yya(b,f[r>>2]|0,f[r+4>>2]|0);r=r+12|0;i=b+12|0;if((r|0)==(a|0)){s=i;break}else b=i}}if(h){if((a|0)==(c|0))return;a=d;d=f[q>>2]|0;do{sya(d,a);a=a+12|0;d=(f[q>>2]|0)+12|0;f[q>>2]=d}while((a|0)!=(c|0));return}c=f[q>>2]|0;if((c|0)==(s|0))return;else t=c;while(1){c=t+-12|0;f[q>>2]=c;a=f[c>>2]|0;if(!a)u=c;else{c=t+-8|0;d=f[c>>2]|0;if((d|0)!=(a|0))f[c>>2]=d+(~((d+-8-a|0)>>>3)<<3);GQa(a);u=f[q>>2]|0}if((u|0)==(s|0))break;else t=u}return}function Bya(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;d=u;u=u+1088|0;e=d+968|0;g=d+448|0;h=d+912|0;i=d+1024|0;j=d+840|0;k=d+224|0;l=d+784|0;m=d+728|0;n=d;o=d+672|0;p=d+896|0;q=a+4|0;vK(c,((f[q>>2]|0)-(f[a>>2]|0)|0)/12|0,1,13,-1,0,0);if((HJ(c)|0)==327680){if((f[q>>2]|0)==(f[a>>2]|0)){u=d;return}r=h+4|0;s=h+8|0;t=h+12|0;v=h+16|0;w=h+40|0;x=h+48|0;y=h+44|0;z=h+52|0;A=e+4|0;B=e+8|0;C=e+40|0;D=e+48|0;E=e+44|0;F=e+52|0;G=i+8|0;H=i+4|0;I=e+36|0;J=e+16|0;K=h+36|0;L=h+28|0;M=h+24|0;N=h+20|0;O=0;do{vK(c,4,1,13,O,0,0);P=ZJ(c,O)|0;Q=f[a>>2]|0;f[h>>2]=1124024333;f[r>>2]=2;R=f[Q+(O*12|0)+4>>2]|0;S=f[Q+(O*12|0)>>2]|0;Q=R-S|0;f[s>>2]=Q>>3;f[t>>2]=1;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;f[v+16>>2]=0;f[v+20>>2]=0;f[w>>2]=s;f[y>>2]=x;f[x>>2]=0;f[z>>2]=0;T=S;if((T|0)!=(R|0)){f[z>>2]=8;f[x>>2]=8;f[v>>2]=T;f[N>>2]=T;T=S+Q|0;f[M>>2]=T;f[L>>2]=T}QG(g,h);f[e>>2]=1124007936;U=A;V=U+36|0;do{f[U>>2]=0;U=U+4|0}while((U|0)<(V|0));f[C>>2]=B;f[E>>2]=D;f[D>>2]=0;f[F>>2]=0;T=f[g>>2]|0;th[f[(f[T>>2]|0)+12>>2]&255](T,g,e,-1);T=G;f[T>>2]=0;f[T+4>>2]=0;f[i>>2]=33619968;f[H>>2]=P;eM(e,i);T=f[I>>2]|0;if(T|0?(Q=T+12|0,T=f[Q>>2]|0,f[Q>>2]=T+-1,(T|0)==1):0)XO(e);f[I>>2]=0;f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[J+12>>2]=0;if((f[A>>2]|0)>0){T=f[C>>2]|0;Q=0;do{f[T+(Q<<2)>>2]=0;Q=Q+1|0}while((Q|0)<(f[A>>2]|0))}Q=f[E>>2]|0;if((Q|0)!=(D|0))dX(Q);Mi(g);Q=f[K>>2]|0;if(Q|0?(T=Q+12|0,Q=f[T>>2]|0,f[T>>2]=Q+-1,(Q|0)==1):0)XO(h);f[K>>2]=0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;if((f[r>>2]|0)>0){Q=f[w>>2]|0;T=0;do{f[Q+(T<<2)>>2]=0;T=T+1|0}while((T|0)<(f[r>>2]|0))}T=f[y>>2]|0;if((T|0)!=(x|0))dX(T);O=O+1|0}while(O>>>0<(((f[q>>2]|0)-(f[a>>2]|0)|0)/12|0)>>>0);u=d;return}if((HJ(c)|0)==720896){if((f[q>>2]|0)==(f[a>>2]|0)){u=d;return}O=l+4|0;x=l+8|0;y=l+12|0;r=l+16|0;w=l+40|0;v=l+48|0;K=l+44|0;h=l+52|0;g=j+4|0;D=j+8|0;E=j+40|0;A=j+48|0;C=j+44|0;J=j+52|0;I=i+8|0;e=i+4|0;H=j+36|0;G=j+16|0;F=l+36|0;B=l+28|0;L=l+24|0;M=l+20|0;N=0;do{vK(c,4,1,13,N,0,0);z=zK(c,N)|0;s=f[a>>2]|0;f[l>>2]=1124024333;f[O>>2]=2;t=f[s+(N*12|0)+4>>2]|0;T=f[s+(N*12|0)>>2]|0;s=t-T|0;f[x>>2]=s>>3;f[y>>2]=1;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;f[r+16>>2]=0;f[r+20>>2]=0;f[w>>2]=x;f[K>>2]=v;f[v>>2]=0;f[h>>2]=0;Q=T;if((Q|0)!=(t|0)){f[h>>2]=8;f[v>>2]=8;f[r>>2]=Q;f[M>>2]=Q;Q=T+s|0;f[L>>2]=Q;f[B>>2]=Q}QG(k,l);f[j>>2]=1124007936;U=g;V=U+36|0;do{f[U>>2]=0;U=U+4|0}while((U|0)<(V|0));f[E>>2]=D;f[C>>2]=A;f[A>>2]=0;f[J>>2]=0;Q=f[k>>2]|0;th[f[(f[Q>>2]|0)+12>>2]&255](Q,k,j,-1);Q=I;f[Q>>2]=0;f[Q+4>>2]=0;f[i>>2]=34209792;f[e>>2]=z;eM(j,i);Q=f[H>>2]|0;if(Q|0?(s=Q+12|0,Q=f[s>>2]|0,f[s>>2]=Q+-1,(Q|0)==1):0)XO(j);f[H>>2]=0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;if((f[g>>2]|0)>0){Q=f[E>>2]|0;s=0;do{f[Q+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[g>>2]|0))}s=f[C>>2]|0;if((s|0)!=(A|0))dX(s);Mi(k);s=f[F>>2]|0;if(s|0?(Q=s+12|0,s=f[Q>>2]|0,f[Q>>2]=s+-1,(s|0)==1):0)XO(l);f[F>>2]=0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;if((f[O>>2]|0)>0){s=f[w>>2]|0;Q=0;do{f[s+(Q<<2)>>2]=0;Q=Q+1|0}while((Q|0)<(f[O>>2]|0))}Q=f[K>>2]|0;if((Q|0)!=(v|0))dX(Q);N=N+1|0}while(N>>>0<(((f[q>>2]|0)-(f[a>>2]|0)|0)/12|0)>>>0);u=d;return}if((HJ(c)|0)!=262144){f[i>>2]=0;f[i+4>>2]=0;U=JV(i,86)|0;N=350051;V=U+86|0;do{b[U>>0]=b[N>>0]|0;U=U+1|0;N=N+1|0}while((U|0)<(V|0));EP(-213,i,350138,349296,605);KV(i);u=d;return}if((f[q>>2]|0)==(f[a>>2]|0)){u=d;return}N=c+4|0;v=i+4|0;K=i+8|0;O=i+12|0;w=i+16|0;r=i+20|0;F=i+24|0;l=i+28|0;k=i+32|0;A=i+36|0;C=i+40|0;g=i+48|0;E=i+44|0;G=i+52|0;H=o+4|0;j=o+8|0;e=o+12|0;I=o+16|0;J=o+40|0;D=o+48|0;B=o+44|0;L=o+52|0;M=m+4|0;h=m+8|0;x=m+40|0;y=m+48|0;Q=m+44|0;s=m+52|0;z=p+8|0;T=p+4|0;t=m+36|0;P=m+16|0;S=o+36|0;R=o+28|0;W=o+24|0;X=o+20|0;Y=0;do{vK(c,4,1,13,Y,0,0);do if((Y|0)<0&(HJ(c)|0)==65536){Z=f[N>>2]|0;f[i>>2]=f[Z>>2];_=Z+4|0;f[v>>2]=f[_>>2];f[K>>2]=f[Z+8>>2];f[O>>2]=f[Z+12>>2];f[w>>2]=f[Z+16>>2];f[r>>2]=f[Z+20>>2];f[F>>2]=f[Z+24>>2];f[l>>2]=f[Z+28>>2];f[k>>2]=f[Z+32>>2];$=f[Z+36>>2]|0;f[A>>2]=$;f[C>>2]=K;f[E>>2]=g;f[g>>2]=0;f[G>>2]=0;if($|0){aa=$+12|0;f[aa>>2]=(f[aa>>2]|0)+1}if((f[_>>2]|0)<3){_=f[Z+44>>2]|0;aa=f[E>>2]|0;f[aa>>2]=f[_>>2];f[aa+4>>2]=f[_+4>>2];break}else{f[v>>2]=0;WO(i,Z);break}}else DJ(i,c,Y);while(0);Z=f[a>>2]|0;f[o>>2]=1124024333;f[H>>2]=2;_=f[Z+(Y*12|0)+4>>2]|0;aa=f[Z+(Y*12|0)>>2]|0;Z=_-aa|0;f[j>>2]=Z>>3;f[e>>2]=1;f[I>>2]=0;f[I+4>>2]=0;f[I+8>>2]=0;f[I+12>>2]=0;f[I+16>>2]=0;f[I+20>>2]=0;f[J>>2]=j;f[B>>2]=D;f[D>>2]=0;f[L>>2]=0;$=aa;if(($|0)!=(_|0)){f[L>>2]=8;f[D>>2]=8;f[I>>2]=$;f[X>>2]=$;$=aa+Z|0;f[W>>2]=$;f[R>>2]=$}QG(n,o);f[m>>2]=1124007936;U=M;V=U+36|0;do{f[U>>2]=0;U=U+4|0}while((U|0)<(V|0));f[x>>2]=h;f[Q>>2]=y;f[y>>2]=0;f[s>>2]=0;$=f[n>>2]|0;th[f[(f[$>>2]|0)+12>>2]&255]($,n,m,-1);$=z;f[$>>2]=0;f[$+4>>2]=0;f[p>>2]=33619968;f[T>>2]=i;eM(m,p);$=f[t>>2]|0;if($|0?(Z=$+12|0,$=f[Z>>2]|0,f[Z>>2]=$+-1,($|0)==1):0)XO(m);f[t>>2]=0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;if((f[M>>2]|0)>0){$=f[x>>2]|0;Z=0;do{f[$+(Z<<2)>>2]=0;Z=Z+1|0}while((Z|0)<(f[M>>2]|0))}Z=f[Q>>2]|0;if((Z|0)!=(y|0))dX(Z);Mi(n);Z=f[S>>2]|0;if(Z|0?($=Z+12|0,Z=f[$>>2]|0,f[$>>2]=Z+-1,(Z|0)==1):0)XO(o);f[S>>2]=0;f[I>>2]=0;f[I+4>>2]=0;f[I+8>>2]=0;f[I+12>>2]=0;if((f[H>>2]|0)>0){Z=f[J>>2]|0;$=0;do{f[Z+($<<2)>>2]=0;$=$+1|0}while(($|0)<(f[H>>2]|0))}$=f[B>>2]|0;if(($|0)!=(D|0))dX($);$=f[A>>2]|0;if($|0?(Z=$+12|0,$=f[Z>>2]|0,f[Z>>2]=$+-1,($|0)==1):0)XO(i);f[A>>2]=0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;if((f[v>>2]|0)>0){$=f[C>>2]|0;Z=0;do{f[$+(Z<<2)>>2]=0;Z=Z+1|0}while((Z|0)<(f[v>>2]|0))}Z=f[E>>2]|0;if((Z|0)!=(g|0))dX(Z);Y=Y+1|0}while(Y>>>0<(((f[q>>2]|0)-(f[a>>2]|0)|0)/12|0)>>>0);u=d;return}function Cya(a){a=a|0;GQa(a);return}function Dya(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0.0,Pb=0.0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0.0,gc=0.0,hc=0.0,ic=0.0,jc=0.0,kc=0.0,lc=0.0,mc=0.0,nc=0.0,oc=0.0,pc=0.0,qc=0.0,rc=0.0,sc=0,tc=0.0,uc=0.0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0.0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0;c=u;u=u+608|0;d=c+544|0;e=c+488|0;g=c;h=c+432|0;i=c+416|0;j=c+400|0;k=c+384|0;l=c+368|0;m=c+352|0;o=c+340|0;q=c+336|0;r=c+332|0;t=c+272|0;v=c+224|0;w=f[b>>2]|0;x=b+4|0;if((w|0)>=(f[x>>2]|0)){u=c;return}b=a+4|0;y=a+8|0;z=a+12|0;A=a+16|0;a=e+4|0;B=e+8|0;C=e+40|0;D=e+48|0;E=e+44|0;F=e+52|0;G=h+4|0;H=h+8|0;I=h+40|0;J=h+48|0;K=h+44|0;L=h+52|0;M=d+4|0;N=d+4|0;O=d+8|0;P=d+40|0;Q=d+48|0;R=d+44|0;S=d+52|0;T=e+16|0;U=h+16|0;V=i+8|0;W=i+12|0;Y=i+4|0;Z=j+8|0;_=j+12|0;$=j+4|0;aa=k+8|0;ba=k+4|0;ca=d+16|0;da=d+36|0;ea=h+36|0;fa=e+36|0;ga=i+8|0;ha=i+12|0;ia=i+4|0;ja=j+8|0;ka=j+12|0;la=j+4|0;ma=k+8|0;na=k+4|0;oa=v+4|0;pa=v+8|0;qa=v+12|0;ra=v+16|0;sa=v+20|0;ta=v+24|0;ua=v+28|0;va=v+32|0;wa=v+36|0;xa=v+40|0;ya=v+44|0;za=t+48|0;Aa=t+36|0;Ba=t+24|0;Ca=t+12|0;Da=o+4|0;Ea=t+4|0;Fa=t+16|0;Ga=t+28|0;Ha=t+40|0;Ia=t+52|0;Ja=d+4|0;Ka=d+8|0;La=e+4|0;Ma=e+8|0;Na=g+4|0;Oa=g+8|0;Pa=h+8|0;Qa=h+12|0;Ra=h+4|0;Sa=i+8|0;Ta=i+12|0;Ua=i+4|0;Va=j+8|0;Wa=j+12|0;Xa=j+4|0;Ya=k+8|0;Za=k+12|0;_a=k+4|0;$a=l+8|0;ab=l+12|0;bb=l+4|0;cb=m+8|0;db=m+4|0;eb=h+4|0;fb=h+8|0;gb=g+8|0;hb=t+48|0;ib=d+8|0;jb=d+12|0;kb=d+4|0;lb=e+8|0;mb=e+4|0;nb=g+8|0;ob=g+12|0;pb=g+4|0;qb=h+8|0;rb=h+12|0;sb=h+4|0;tb=w;do{w=f[f[b>>2]>>2]|0;ub=w+(tb*12|0)|0;vb=f[f[y>>2]>>2]|0;wb=vb+(tb*12|0)|0;xb=f[z>>2]|0;yb=f[A>>2]|0;f[q>>2]=f[ub>>2];zb=w+(tb*12|0)+4|0;f[r>>2]=f[zb>>2];f[e>>2]=f[q>>2];f[d>>2]=f[r>>2];Eya(o,e,d);w=xb+16|0;if(f[w>>2]|0){Ab=f[xb+4>>2]|0;if((Ab|0)<3)Bb=X(f[xb+12>>2]|0,f[xb+8>>2]|0)|0;else{Cb=f[xb+40>>2]|0;Db=0;Eb=1;while(1){Fb=X(f[Cb+(Db<<2)>>2]|0,Eb)|0;Db=Db+1|0;if((Db|0)==(Ab|0)){Bb=Fb;break}else Eb=Fb}}if(!((Ab|0)==0|(Bb|0)==0)?f[yb+16>>2]|0:0){Eb=f[yb+4>>2]|0;if((Eb|0)<3)Gb=X(f[yb+12>>2]|0,f[yb+8>>2]|0)|0;else{Db=f[yb+40>>2]|0;Cb=0;Fb=1;while(1){Hb=X(f[Db+(Cb<<2)>>2]|0,Fb)|0;Cb=Cb+1|0;if((Cb|0)==(Eb|0)){Gb=Hb;break}else Fb=Hb}}if(!((Eb|0)==0|(Gb|0)==0)){f[ib>>2]=0;f[jb>>2]=0;f[d>>2]=-2130509811;f[kb>>2]=o;Fb=lb;f[Fb>>2]=0;f[Fb+4>>2]=0;f[e>>2]=-2113732595;f[mb>>2]=o;f[nb>>2]=0;f[ob>>2]=0;f[g>>2]=16842752;f[pb>>2]=xb;f[qb>>2]=0;f[rb>>2]=0;f[h>>2]=16842752;f[sb>>2]=yb;Fb=BK()|0;gaa(d,e,g,h,Fb,BK()|0)}}}Fb=t;Cb=Fb+60|0;do{f[Fb>>2]=0;Fb=Fb+4|0}while((Fb|0)<(Cb|0));Eb=f[zb>>2]|0;Db=f[ub>>2]|0;if((Eb|0)!=(Db|0)){Ab=0;Hb=4;Ib=-1;Jb=0;Kb=0;Lb=0;Mb=Db;Db=Eb;while(1){Eb=f[wb>>2]|0;Nb=f[o>>2]|0;Ob=+n[Nb+(Ab<<3)>>2];Pb=+n[Nb+(Ab<<3)+4>>2];Qb=+n[Eb>>2]==Ob?+n[Eb+4>>2]==Pb:0;Ib=Qb?Ab:Ib;Rb=+n[Eb+8>>2]==Ob?+n[Eb+12>>2]==Pb:0;Jb=Rb?Ab:Jb;Sb=+n[Eb+16>>2]==Ob?+n[Eb+20>>2]==Pb:0;Kb=Sb?Ab:Kb;Tb=+n[Eb+24>>2]==Ob?+n[Eb+28>>2]==Pb:0;Lb=Tb?Ab:Lb;Hb=Tb?3:Sb?2:Rb?1:Qb?0:Hb;Ub=t+(Hb*12|0)+4|0;Qb=f[Ub>>2]|0;Vb=t+(Hb*12|0)+8|0;if((Qb|0)==(f[Vb>>2]|0)){Qaa(t+(Hb*12|0)|0,Nb+(Ab<<3)|0);Wb=f[ub>>2]|0;Xb=f[zb>>2]|0}else{n[Qb>>2]=Ob;n[Qb+4>>2]=Pb;f[Ub>>2]=Qb+8;Wb=Mb;Xb=Db}Ab=Ab+1|0;if(Ab>>>0>=Xb-Wb>>3>>>0)break;else{Mb=Wb;Db=Xb}}Db=f[hb>>2]|0;if((Db|0)!=(f[Ia>>2]|0)){Mb=t+(Hb*12|0)|0;Ab=0;zb=Db;do{Db=zb;ub=Db+(Ab<<3)|0;Qb=f[Ub>>2]|0;if((Qb|0)==(f[Vb>>2]|0))Qaa(Mb,ub);else{f[Qb>>2]=f[ub>>2];f[Qb+4>>2]=f[Db+(Ab<<3)+4>>2];f[Ub>>2]=Qb+8}Ab=Ab+1|0;Yb=f[Ia>>2]|0;zb=f[hb>>2]|0}while(Ab>>>0>3>>>0);Ab=Yb;if((Ab|0)!=(zb|0))f[Ia>>2]=Ab+(~((Ab+-8-zb|0)>>>3)<<3)}if((Ib|0)>(Jb|0)&(Lb|0)>(Ib|0)){Zb=Jb;_b=Kb;$b=Lb;ac=-1}else{bc=Kb;cc=Lb;dc=Jb;ec=32}}else{bc=0;cc=0;dc=0;ec=32}if((ec|0)==32){ec=0;Zb=dc;_b=bc;$b=cc;ac=1}Ab=(Zb|0)>(_b|0);Fb=v;Cb=Fb+48|0;do{f[Fb>>2]=0;Fb=Fb+4|0}while((Fb|0)<(Cb|0));Jb=(_b|0)>($b|0)&Ab;Lb=0;while(1){Kb=t+(Lb*12|0)|0;Ib=f[Kb>>2]|0;Pb=+n[Ib>>2];Ob=+n[Ib+4>>2];zb=t+(Lb*12|0)+4|0;Mb=f[zb>>2]|0;Hb=Ib;Qb=Mb-Hb>>3;if((Mb|0)!=(Hb|0)&Qb>>>0>1){Hb=1;fc=Pb;gc=Ob;hc=Pb;ic=Ob;while(1){jc=+n[Ib+(Hb<<3)>>2];kc=+n[Ib+(Hb<<3)+4>>2];lc=jchc?jc:hc;jc=kc>ic?kc:ic;Hb=Hb+1|0;if((Hb|0)==(Qb|0)){oc=jc;pc=nc;qc=mc;rc=lc;break}else{fc=lc;gc=mc;hc=nc;ic=jc}}}else{oc=Ob;pc=Pb;qc=Ob;rc=Pb}WG(g,Qb,2,5);f[e>>2]=1124007936;Fb=a;Cb=Fb+36|0;do{f[Fb>>2]=0;Fb=Fb+4|0}while((Fb|0)<(Cb|0));f[C>>2]=B;f[E>>2]=D;f[D>>2]=0;f[F>>2]=0;Qb=f[g>>2]|0;th[f[(f[Qb>>2]|0)+12>>2]&255](Qb,g,e,-1);Mi(g);Qb=(f[zb>>2]|0)-(f[Kb>>2]|0)>>3;f[h>>2]=1124007936;Fb=G;Cb=Fb+36|0;do{f[Fb>>2]=0;Fb=Fb+4|0}while((Fb|0)<(Cb|0));f[I>>2]=H;f[K>>2]=J;f[J>>2]=0;f[L>>2]=0;f[d>>2]=Qb;f[M>>2]=1;VO(h,2,d,5);f[d>>2]=1124007936;Fb=N;Cb=Fb+36|0;do{f[Fb>>2]=0;Fb=Fb+4|0}while((Fb|0)<(Cb|0));f[P>>2]=O;f[R>>2]=Q;f[Q>>2]=0;f[S>>2]=0;Qb=f[zb>>2]|0;Hb=f[Kb>>2]|0;Ib=(Qb|0)!=(Hb|0);Mb=Hb;if(pc-rc>oc-qc){if(Ib){Db=f[T>>2]|0;ub=f[f[E>>2]>>2]|0;Nb=f[U>>2]|0;Rb=f[f[K>>2]>>2]|0;Sb=Qb-Hb>>3;Tb=0;do{Eb=Db+(X(Tb,ub)|0)|0;f[Eb>>2]=f[Mb+(Tb<<3)>>2];Eb=Nb+(X(Tb,Rb)|0)|0;f[Eb>>2]=f[Mb+(Tb<<3)+4>>2];Tb=Tb+1|0}while(Tb>>>0>>0)}f[V>>2]=0;f[W>>2]=0;f[i>>2]=16842752;f[Y>>2]=e;f[Z>>2]=0;f[_>>2]=0;f[j>>2]=16842752;f[$>>2]=h;Sb=aa;f[Sb>>2]=0;f[Sb+4>>2]=0;f[k>>2]=33619968;f[ba>>2]=d;UR(i,j,k,16)|0;Sb=f[ca>>2]|0;sc=f[R>>2]|0;tc=-1.0;uc=+n[Sb>>2];vc=Sb}else{if(Ib){Sb=f[T>>2]|0;Tb=f[f[E>>2]>>2]|0;Rb=f[U>>2]|0;Nb=f[f[K>>2]>>2]|0;ub=Qb-Hb>>3;Db=0;do{Kb=Sb+(X(Db,Tb)|0)|0;f[Kb>>2]=f[Mb+(Db<<3)+4>>2];Kb=Rb+(X(Db,Nb)|0)|0;f[Kb>>2]=f[Mb+(Db<<3)>>2];Db=Db+1|0}while(Db>>>0>>0)}f[ga>>2]=0;f[ha>>2]=0;f[i>>2]=16842752;f[ia>>2]=e;f[ja>>2]=0;f[ka>>2]=0;f[j>>2]=16842752;f[la>>2]=h;ub=ma;f[ub>>2]=0;f[ub+4>>2]=0;f[k>>2]=33619968;f[na>>2]=d;UR(i,j,k,16)|0;ub=f[ca>>2]|0;sc=f[R>>2]|0;tc=+n[ub>>2];uc=-1.0;vc=ub}ub=f[vc+(f[sc>>2]|0)>>2]|0;Db=f[da>>2]|0;if(Db|0?(Mb=Db+12|0,Db=f[Mb>>2]|0,f[Mb>>2]=Db+-1,(Db|0)==1):0)XO(d);f[da>>2]=0;f[ca>>2]=0;f[ca+4>>2]=0;f[ca+8>>2]=0;f[ca+12>>2]=0;if((f[N>>2]|0)>0){Db=f[P>>2]|0;Mb=0;do{f[Db+(Mb<<2)>>2]=0;Mb=Mb+1|0}while((Mb|0)<(f[N>>2]|0))}Mb=f[R>>2]|0;if((Mb|0)!=(Q|0))dX(Mb);Mb=f[ea>>2]|0;if(Mb|0?(Db=Mb+12|0,Mb=f[Db>>2]|0,f[Db>>2]=Mb+-1,(Mb|0)==1):0)XO(h);f[ea>>2]=0;f[U>>2]=0;f[U+4>>2]=0;f[U+8>>2]=0;f[U+12>>2]=0;if((f[G>>2]|0)>0){Mb=f[I>>2]|0;Db=0;do{f[Mb+(Db<<2)>>2]=0;Db=Db+1|0}while((Db|0)<(f[G>>2]|0))}Db=f[K>>2]|0;if((Db|0)!=(J|0))dX(Db);Db=f[fa>>2]|0;if(Db|0?(Mb=Db+12|0,Db=f[Mb>>2]|0,f[Mb>>2]=Db+-1,(Db|0)==1):0)XO(e);f[fa>>2]=0;f[T>>2]=0;f[T+4>>2]=0;f[T+8>>2]=0;f[T+12>>2]=0;if((f[a>>2]|0)>0){Db=f[C>>2]|0;Mb=0;do{f[Db+(Mb<<2)>>2]=0;Mb=Mb+1|0}while((Mb|0)<(f[a>>2]|0))}Mb=f[E>>2]|0;if((Mb|0)!=(D|0))dX(Mb);n[v+(Lb*12|0)>>2]=uc;n[v+(Lb*12|0)+4>>2]=tc;f[v+(Lb*12|0)+8>>2]=ub;if((Lb|0)<3)Lb=Lb+1|0;else break}Lb=f[wb>>2]|0;Fb=Lb;Pb=+n[v>>2];Ob=+n[oa>>2];ic=+n[pa>>2];if((ac|0)<0|Jb){hc=+n[qa>>2];gc=+n[ra>>2];fc=-ic;jc=-+n[sa>>2];nc=Pb*gc-Ob*hc;if(nc==0.0){wc=0;xc=0}else{mc=1.0/nc;Cb=(n[s>>2]=mc*(gc*fc-Ob*jc),f[s>>2]|0);wc=Cb;xc=(n[s>>2]=mc*(Pb*jc-hc*fc),f[s>>2]|0)}f[Lb>>2]=wc;f[Lb+4>>2]=xc;mc=+n[ta>>2];nc=+n[ua>>2];lc=-+n[va>>2];kc=hc*nc-gc*mc;if(kc==0.0){yc=0;zc=0}else{Ac=1.0/kc;Cb=(n[s>>2]=Ac*(nc*jc-gc*lc),f[s>>2]|0);yc=Cb;zc=(n[s>>2]=Ac*(hc*lc-mc*jc),f[s>>2]|0)}f[Lb+8>>2]=yc;f[Lb+12>>2]=zc;jc=+n[wa>>2];hc=+n[xa>>2];Ac=-+n[ya>>2];gc=mc*hc-nc*jc;if(gc==0.0){Bc=0;Cc=0}else{kc=1.0/gc;Cb=(n[s>>2]=kc*(hc*lc-nc*Ac),f[s>>2]|0);Bc=Cb;Cc=(n[s>>2]=kc*(mc*Ac-jc*lc),f[s>>2]|0)}f[Lb+16>>2]=Bc;f[Lb+20>>2]=Cc;lc=Ob*jc-Pb*hc;if(lc==0.0){Dc=0;Ec=0}else{mc=1.0/lc;Cb=(n[s>>2]=mc*(Ob*Ac-hc*fc),f[s>>2]|0);Dc=Cb;Ec=(n[s>>2]=mc*(jc*fc-Pb*Ac),f[s>>2]|0)}}else{Ac=+n[wa>>2];fc=+n[xa>>2];jc=-ic;ic=-+n[ya>>2];mc=Pb*fc-Ob*Ac;if(mc==0.0){Fc=0;Gc=0}else{hc=1.0/mc;Cb=(n[s>>2]=hc*(fc*jc-Ob*ic),f[s>>2]|0);Fc=Cb;Gc=(n[s>>2]=hc*(Pb*ic-Ac*jc),f[s>>2]|0)}f[Lb>>2]=Fc;f[Lb+4>>2]=Gc;hc=+n[qa>>2];mc=+n[ra>>2];lc=-+n[sa>>2];kc=Ob*hc-Pb*mc;if(kc==0.0){Hc=0;Ic=0}else{nc=1.0/kc;Cb=(n[s>>2]=nc*(Ob*lc-mc*jc),f[s>>2]|0);Hc=Cb;Ic=(n[s>>2]=nc*(hc*jc-Pb*lc),f[s>>2]|0)}f[Lb+8>>2]=Hc;f[Lb+12>>2]=Ic;Pb=+n[ta>>2];jc=+n[ua>>2];nc=-+n[va>>2];Ob=mc*Pb-hc*jc;if(Ob==0.0){Jc=0;Kc=0}else{kc=1.0/Ob;Cb=(n[s>>2]=kc*(mc*nc-jc*lc),f[s>>2]|0);Jc=Cb;Kc=(n[s>>2]=kc*(Pb*lc-hc*nc),f[s>>2]|0)}f[Lb+16>>2]=Jc;f[Lb+20>>2]=Kc;hc=Ac*jc-fc*Pb;if(hc==0.0){Dc=0;Ec=0}else{lc=1.0/hc;Cb=(n[s>>2]=lc*(jc*ic-fc*nc),f[s>>2]|0);Dc=Cb;Ec=(n[s>>2]=lc*(Ac*nc-Pb*ic),f[s>>2]|0)}}f[Lb+24>>2]=Dc;f[Lb+28>>2]=Ec;Lb=f[w>>2]|0;if(Lb|0){Cb=f[xb+4>>2]|0;if((Cb|0)<3)Lc=X(f[xb+12>>2]|0,f[xb+8>>2]|0)|0;else{Ab=f[xb+40>>2]|0;Mb=0;Db=1;while(1){Nb=X(f[Ab+(Mb<<2)>>2]|0,Db)|0;Mb=Mb+1|0;if((Mb|0)==(Cb|0)){Lc=Nb;break}else Db=Nb}}if(!((Cb|0)==0|(Lc|0)==0)?f[yb+16>>2]|0:0){Db=f[yb+4>>2]|0;if((Db|0)<3)Mc=X(f[yb+12>>2]|0,f[yb+8>>2]|0)|0;else{Mb=f[yb+40>>2]|0;Ab=0;Jb=1;while(1){Nb=X(f[Mb+(Ab<<2)>>2]|0,Jb)|0;Ab=Ab+1|0;if((Ab|0)==(Db|0)){Mc=Nb;break}else Jb=Nb}}if(!((Db|0)==0|(Mc|0)==0)){n[d>>2]=0.0;n[Ja>>2]=0.0;n[Ka>>2]=0.0;n[e>>2]=0.0;n[La>>2]=0.0;n[Ma>>2]=0.0;f[g>>2]=0;f[Na>>2]=0;f[Oa>>2]=0;Jb=vb+(tb*12|0)+4|0;Ab=f[Jb>>2]|0;a:do if((Ab|0)!=(Fb|0)){Mb=xb+44|0;Cb=0;Nb=Fb;Rb=Lb;Tb=0;Sb=0;Hb=0;Qb=Ab;while(1){Ib=Nb;ic=(+n[Ib+(Cb<<3)>>2]-+p[Rb+16>>3])/+p[Rb>>3];Kb=Rb+(f[f[Mb>>2]>>2]|0)|0;Pb=(+n[Ib+(Cb<<3)+4>>2]-+p[Kb+16>>3])/+p[Kb+8>>3];n[h>>2]=ic;n[eb>>2]=Pb;n[fb>>2]=1.0;if((Tb|0)==(Sb|0)){Fya(g,h);Nc=f[wb>>2]|0;Oc=f[Jb>>2]|0}else{n[Hb>>2]=ic;n[Tb+4>>2]=Pb;f[Tb+8>>2]=1065353216;f[Na>>2]=Tb+12;Nc=Nb;Oc=Qb}Kb=Cb+1|0;if(Kb>>>0>=Oc-Nc>>3>>>0)break a;Ib=f[Na>>2]|0;Cb=Kb;Nb=Nc;Rb=f[w>>2]|0;Tb=Ib;Sb=f[gb>>2]|0;Hb=Ib;Qb=Oc}}while(0);f[Pa>>2]=0;f[Qa>>2]=0;f[h>>2]=-2130509803;f[Ra>>2]=g;f[i>>2]=-1056833531;f[Ua>>2]=d;f[Sa>>2]=1;f[Ta>>2]=3;f[j>>2]=-1056833531;f[Xa>>2]=e;f[Va>>2]=1;f[Wa>>2]=3;f[Ya>>2]=0;f[Za>>2]=0;f[k>>2]=16842752;f[_a>>2]=xb;f[$a>>2]=0;f[ab>>2]=0;f[l>>2]=16842752;f[bb>>2]=yb;w=cb;f[w>>2]=0;f[w+4>>2]=0;f[m>>2]=-2113732595;f[db>>2]=wb;Vwa(h,i,j,k,l,m,BK()|0,0.0);w=f[g>>2]|0;if(w|0){Jb=f[Na>>2]|0;if((Jb|0)!=(w|0))f[Na>>2]=Jb+(~(((Jb+-12-w|0)>>>0)/12|0)*12|0);GQa(w)}}}}w=f[za>>2]|0;if(w|0){Jb=f[Ia>>2]|0;if((Jb|0)!=(w|0))f[Ia>>2]=Jb+(~((Jb+-8-w|0)>>>3)<<3);GQa(w)}w=f[Aa>>2]|0;if(w|0){Jb=f[Ha>>2]|0;if((Jb|0)!=(w|0))f[Ha>>2]=Jb+(~((Jb+-8-w|0)>>>3)<<3);GQa(w)}w=f[Ba>>2]|0;if(w|0){Jb=f[Ga>>2]|0;if((Jb|0)!=(w|0))f[Ga>>2]=Jb+(~((Jb+-8-w|0)>>>3)<<3);GQa(w)}w=f[Ca>>2]|0;if(w|0){Jb=f[Fa>>2]|0;if((Jb|0)!=(w|0))f[Fa>>2]=Jb+(~((Jb+-8-w|0)>>>3)<<3);GQa(w)}w=f[t>>2]|0;if(w|0){Jb=f[Ea>>2]|0;if((Jb|0)!=(w|0))f[Ea>>2]=Jb+(~((Jb+-8-w|0)>>>3)<<3);GQa(w)}w=f[o>>2]|0;if(w|0){Jb=f[Da>>2]|0;if((Jb|0)!=(w|0))f[Da>>2]=Jb+(~((Jb+-8-w|0)>>>3)<<3);GQa(w)}tb=tb+1|0}while((tb|0)<(f[x>>2]|0));u=c;return}function Eya(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0.0;f[a>>2]=0;d=a+4|0;f[d>>2]=0;f[a+8>>2]=0;e=f[b>>2]|0;b=f[c>>2]|0;c=b-e|0;g=c>>3;h=b;if(!g)return;if(g>>>0>536870911)ZOa(a);b=EQa(c)|0;f[d>>2]=b;f[a>>2]=b;f[a+8>>2]=b+(g<<3);g=e;if((h|0)==(g|0))return;a=h+-8-e|0;e=g;g=b;while(1){i=+(f[e+4>>2]|0);n[g>>2]=+(f[e>>2]|0);n[g+4>>2]=i;e=e+8|0;if((e|0)==(h|0))break;else g=g+8|0}f[d>>2]=b+((a>>>3)+1<<3);return}function Fya(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=(d-e|0)/12|0;h=g+1|0;i=e;j=d;if(h>>>0>357913941)ZOa(a);d=a+8|0;k=((f[d>>2]|0)-e|0)/12|0;l=k<<1;m=k>>>0<178956970?(l>>>0>>0?h:l):357913941;do if(m)if(m>>>0>357913941){l=hd(8)|0;LQa(l,349912);f[l>>2]=118288;ld(l|0,20688,857)}else{n=EQa(m*12|0)|0;break}else n=0;while(0);l=n+(g*12|0)|0;h=n+(m*12|0)|0;f[l>>2]=f[b>>2];f[n+(g*12|0)+4>>2]=f[b+4>>2];f[n+(g*12|0)+8>>2]=f[b+8>>2];b=l+12|0;if((j|0)==(i|0))o=l;else{g=j;j=l;while(1){l=j+-12|0;n=g;g=g+-12|0;f[l>>2]=f[g>>2];f[j+-8>>2]=f[n+-8>>2];f[j+-4>>2]=f[n+-4>>2];if((g|0)==(i|0)){o=l;break}else j=l}}f[a>>2]=o;f[c>>2]=b;f[d>>2]=h;if(!e)return;GQa(e);return}function Gya(a){a=a|0;GQa(a);return}function Hya(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0.0;c=u;u=u+144|0;d=c+16|0;e=c+120|0;g=c+104|0;h=c+48|0;i=c+40|0;j=c+32|0;k=c;l=f[b>>2]|0;m=f[b+4>>2]|0;if((l|0)>=(m|0)){u=c;return}b=a+4|0;n=e+8|0;o=e+12|0;q=e+4|0;r=a+8|0;s=h+4|0;t=h+8|0;v=h+12|0;w=h+16|0;x=h+20|0;y=h+24|0;z=h+28|0;A=h+32|0;B=h+36|0;C=h+40|0;D=h+48|0;E=h+44|0;F=h+52|0;G=g+8|0;H=g+4|0;I=a+12|0;a=i+4|0;J=j+4|0;K=k+4|0;L=k+8|0;M=l;do{l=f[b>>2]|0;f[n>>2]=0;f[o>>2]=0;f[e>>2]=16842752;f[q>>2]=l;l=f[r>>2]|0;do if((M|0)<0&(HJ(l)|0)==65536){N=f[l+4>>2]|0;f[h>>2]=f[N>>2];O=N+4|0;f[s>>2]=f[O>>2];f[t>>2]=f[N+8>>2];f[v>>2]=f[N+12>>2];f[w>>2]=f[N+16>>2];f[x>>2]=f[N+20>>2];f[y>>2]=f[N+24>>2];f[z>>2]=f[N+28>>2];f[A>>2]=f[N+32>>2];P=f[N+36>>2]|0;f[B>>2]=P;f[C>>2]=t;f[E>>2]=D;f[D>>2]=0;f[F>>2]=0;if(P|0){Q=P+12|0;f[Q>>2]=(f[Q>>2]|0)+1}if((f[O>>2]|0)<3){O=f[N+44>>2]|0;Q=f[E>>2]|0;f[Q>>2]=f[O>>2];f[Q+4>>2]=f[O+4>>2];break}else{f[s>>2]=0;WO(h,N);break}}else DJ(h,l,M);while(0);l=G;f[l>>2]=0;f[l+4>>2]=0;f[g>>2]=-1023344640;f[H>>2]=h;l=f[(f[I>>2]|0)+4>>2]|0;N=f[l+76>>2]|0;f[i>>2]=N;f[a>>2]=N;f[j>>2]=-1;f[J>>2]=-1;N=f[l+80>>2]|0;R=+p[l+88>>3];f[k>>2]=3;f[K>>2]=N;p[L>>3]=R;f[d>>2]=f[k>>2];f[d+4>>2]=f[k+4>>2];f[d+8>>2]=f[k+8>>2];f[d+12>>2]=f[k+12>>2];mAa(e,g,i,j,d);N=f[B>>2]|0;if(N|0?(l=N+12|0,N=f[l>>2]|0,f[l>>2]=N+-1,(N|0)==1):0)XO(h);f[B>>2]=0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;if((f[s>>2]|0)>0){N=f[C>>2]|0;l=0;do{f[N+(l<<2)>>2]=0;l=l+1|0}while((l|0)<(f[s>>2]|0))}l=f[E>>2]|0;if((l|0)!=(D|0))dX(l);M=M+1|0}while((M|0)<(m|0));u=c;return}function Iya(a){a=a|0;GQa(a);return}function Jya(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0.0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0;d=u;u=u+272|0;e=d+256|0;g=d;h=d+200|0;i=d+144|0;j=d+88|0;k=d+32|0;l=d+28|0;m=d+24|0;n=d+8|0;o=f[c>>2]|0;q=f[c+4>>2]|0;if((o|0)>=(q|0)){u=d;return}c=a+12|0;r=a+4|0;s=n+8|0;t=n+12|0;v=n+4|0;w=a+8|0;x=a+24|0;y=h+4|0;z=h+8|0;A=h+12|0;B=h+16|0;C=h+20|0;D=h+24|0;E=h+28|0;F=h+32|0;G=h+36|0;H=h+40|0;I=h+48|0;J=h+44|0;K=h+52|0;L=e+4|0;M=e+8|0;N=e+12|0;O=e+4|0;P=i+12|0;Q=i+8|0;R=i+16|0;S=i+44|0;T=i+36|0;U=i+4|0;V=i+40|0;W=i+48|0;Y=a+20|0;Z=a+16|0;a=e+4|0;_=g+4|0;$=e+4|0;aa=g+4|0;ba=k+36|0;ca=k+16|0;da=k+4|0;ea=k+40|0;fa=k+44|0;ga=k+48|0;ha=j+36|0;ia=j+16|0;ja=j+4|0;ka=j+40|0;la=j+44|0;ma=j+48|0;na=e+4|0;oa=e+4|0;pa=e+4|0;qa=o;do{o=f[c>>2]|0;ra=f[r>>2]|0;f[s>>2]=0;f[t>>2]=0;f[n>>2]=16842752;f[v>>2]=ra;ra=f[f[w>>2]>>2]|0;sa=ra+(qa*12|0)|0;ta=f[x>>2]|0;ua=ra+(qa*12|0)+4|0;if(((f[ua>>2]|0)-(f[sa>>2]|0)|0)!=32){f[e>>2]=0;f[pa>>2]=0;va=JV(e,20)|0;wa=350157;xa=va+20|0;do{b[va>>0]=b[wa>>0]|0;va=va+1|0;wa=wa+1|0}while((va|0)<(xa|0));EP(-215,e,350178,349296,501);KV(e)}do if((HJ(n)|0)==65536){ra=f[v>>2]|0;f[h>>2]=f[ra>>2];ya=ra+4|0;f[y>>2]=f[ya>>2];f[z>>2]=f[ra+8>>2];f[A>>2]=f[ra+12>>2];f[B>>2]=f[ra+16>>2];f[C>>2]=f[ra+20>>2];f[D>>2]=f[ra+24>>2];f[E>>2]=f[ra+28>>2];f[F>>2]=f[ra+32>>2];za=f[ra+36>>2]|0;f[G>>2]=za;f[H>>2]=z;f[J>>2]=I;f[I>>2]=0;f[K>>2]=0;if(za|0){Aa=za+12|0;f[Aa>>2]=(f[Aa>>2]|0)+1}if((f[ya>>2]|0)<3){ya=f[ra+44>>2]|0;Aa=f[J>>2]|0;f[Aa>>2]=f[ya>>2];f[Aa+4>>2]=f[ya+4>>2];break}else{f[y>>2]=0;WO(h,ra);break}}else DJ(h,n,-1);while(0);ra=f[y>>2]|0;if((ra|0)<3)Ba=X(f[A>>2]|0,f[z>>2]|0)|0;else{ya=f[H>>2]|0;Aa=0;za=1;while(1){Ca=X(f[ya+(Aa<<2)>>2]|0,za)|0;Aa=Aa+1|0;if((Aa|0)==(ra|0)){Ba=Ca;break}else za=Ca}}za=(Ba|0)==0;ra=f[G>>2]|0;if(ra|0?(Aa=ra+12|0,ra=f[Aa>>2]|0,f[Aa>>2]=ra+-1,(ra|0)==1):0)XO(h);f[G>>2]=0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;if((f[y>>2]|0)>0){ra=f[H>>2]|0;Aa=0;do{f[ra+(Aa<<2)>>2]=0;Aa=Aa+1|0}while((Aa|0)<(f[y>>2]|0))}Aa=f[J>>2]|0;if((Aa|0)!=(I|0))dX(Aa);if(za){f[e>>2]=0;f[L>>2]=0;va=JV(e,28)|0;wa=349682;xa=va+28|0;do{b[va>>0]=b[wa>>0]|0;va=va+1|0;wa=wa+1|0}while((va|0)<(xa|0));EP(-215,e,350178,349296,502);KV(e)}za=ta+4|0;Aa=f[za>>2]|0;ra=f[Aa+96>>2]|0;if((ra|0)>0){Da=Aa;Ea=ra}else{f[e>>2]=0;f[oa>>2]=0;va=JV(e,28)|0;wa=350200;xa=va+28|0;do{b[va>>0]=b[wa>>0]|0;va=va+1|0;wa=wa+1|0}while((va|0)<(xa|0));EP(-215,e,350178,349296,503);KV(e);ta=f[za>>2]|0;Da=ta;Ea=f[ta+96>>2]|0}f[M>>2]=0;f[N>>2]=0;f[e>>2]=-2130509811;f[O>>2]=sa;ta=o+4|0;Kya(i,n,e,f[(f[ta>>2]|0)+56>>2]|0,Ea,f[Da+100>>2]|0,+p[Da+104>>3],+p[Da+120>>3]);ra=f[(f[ta>>2]|0)+56>>2]|0;Aa=f[za>>2]|0;Fa=+p[Aa+112>>3];ya=f[Aa+96>>2]|0;Aa=(ya<<1)+ra|0;if(!(((ra|0)>0?(f[P>>2]|0)==(Aa|0):0)&(f[Q>>2]|0)==(Aa|0))){f[e>>2]=0;f[na>>2]=0;va=JV(e,78)|0;wa=350229;xa=va+78|0;do{b[va>>0]=b[wa>>0]|0;va=va+1|0;wa=wa+1|0}while((va|0)<(xa|0));EP(-215,e,350308,349296,475);KV(e)}if((Aa|0)>0?(o=f[R>>2]|0,Ca=Aa+-1|0,(ya|0)>0):0){Ga=f[f[S>>2]>>2]|0;Ha=0;Ia=0;while(1){Ja=o+(X(Ha,Ga)|0)|0;Ka=0;La=Ia;do{La=La+((b[Ja+Ka>>0]|0)!=0&1)+((b[Ja+(Ca-Ka)>>0]|0)!=0&1)|0;Ka=Ka+1|0}while((Ka|0)!=(ya|0));Ha=Ha+1|0;if((Ha|0)==(Aa|0)){Ma=La;break}else Ia=La}}else Ma=0;Ia=Aa-ya|0;if((Ia|0)>(ya|0)?(Ha=f[R>>2]|0,Ca=Aa+-1|0,(ya|0)>0):0){Ga=f[f[S>>2]>>2]|0;o=ya;Ka=Ma;while(1){Ja=0;Na=Ka;do{Oa=Ha+(X(Ja,Ga)|0)+o|0;Pa=Ha+(X(Ca-Ja|0,Ga)|0)+o|0;Na=Na+((b[Oa>>0]|0)!=0&1)+((b[Pa>>0]|0)!=0&1)|0;Ja=Ja+1|0}while((Ja|0)!=(ya|0));o=o+1|0;if((o|0)==(Ia|0)){Qa=Na;break}else Ka=Na}}else Qa=Ma;if((Qa|0)>(~~(Fa*+(X(ra,ra)|0))|0))Ra=0;else{Ka=f[(f[za>>2]|0)+96>>2]|0;Ia=(f[Q>>2]|0)-Ka|0;f[e>>2]=Ka;f[a>>2]=Ia;f[g>>2]=-2147483648;f[_>>2]=2147483647;YO(k,i,e,g);Ia=f[(f[za>>2]|0)+96>>2]|0;Ka=(f[Q>>2]|0)-Ia|0;f[e>>2]=-2147483648;f[$>>2]=2147483647;f[g>>2]=Ia;f[aa>>2]=Ka;YO(j,k,e,g);Ka=f[ba>>2]|0;if(Ka|0?(Ia=Ka+12|0,Ka=f[Ia>>2]|0,f[Ia>>2]=Ka+-1,(Ka|0)==1):0)XO(k);f[ba>>2]=0;f[ca>>2]=0;f[ca+4>>2]=0;f[ca+8>>2]=0;f[ca+12>>2]=0;if((f[da>>2]|0)>0){Ka=f[ea>>2]|0;Ia=0;do{f[Ka+(Ia<<2)>>2]=0;Ia=Ia+1|0}while((Ia|0)<(f[da>>2]|0))}Ia=f[fa>>2]|0;if((Ia|0)!=(ga|0))dX(Ia);do if(tza(f[ta>>2]|0,j,m,l,+p[(f[za>>2]|0)+128>>3])|0){Ia=f[l>>2]|0;if(!Ia){Sa=1;break}Ka=f[sa>>2]|0;ra=Ka+32+(0-Ia<<3)|0;Ia=f[ua>>2]|0;if((Ka|0)==(ra|0)|(ra|0)==(Ia|0)){Sa=1;break}f[g>>2]=ra;ra=Ka;Ka=e;o=g;a:while(1){f[Ka>>2]=f[o>>2];ya=f[g>>2]|0;Ga=f[e>>2]|0;Ta=ra;do{Ca=f[Ta>>2]|0;Ha=Ta+4|0;Aa=f[Ha>>2]|0;f[Ta>>2]=f[Ga>>2];Ja=Ga+4|0;f[Ha>>2]=f[Ja>>2];f[Ga>>2]=Ca;f[Ja>>2]=Aa;Ta=Ta+8|0;Ga=Ga+8|0;Ua=(Ta|0)==(ya|0);if((Ga|0)==(Ia|0))break a}while(!Ua);f[e>>2]=Ga;ra=ya;Ka=g;o=e}f[e>>2]=Ia;if(!Ua){o=e;Ka=g;ra=Ta;while(1){f[o>>2]=f[Ka>>2];Na=f[g>>2]|0;Aa=Na;Ja=f[e>>2]|0;Ca=ra;while(1){Ha=f[Ca>>2]|0;La=Ca+4|0;Pa=f[La>>2]|0;f[Ca>>2]=f[Ja>>2];Oa=Ja+4|0;f[La>>2]=f[Oa>>2];f[Ja>>2]=Ha;f[Oa>>2]=Pa;Ca=Ca+8|0;Ja=Ja+8|0;Va=(Ca|0)==(Aa|0);if((Ja|0)==(Ia|0)){Wa=65;break}if(Va){Wa=62;break}}if((Wa|0)==62){Wa=0;f[e>>2]=Ja;o=g;Ka=e;ra=Na;continue}else if((Wa|0)==65){Wa=0;f[e>>2]=Ia;if(Va)break;else{o=e;Ka=g;ra=Ca;continue}}}}Sa=1}else Sa=0;while(0);ua=f[ha>>2]|0;do if(ua|0){sa=ua+12|0;za=f[sa>>2]|0;f[sa>>2]=za+-1;if((za|0)!=1)break;XO(j)}while(0);f[ha>>2]=0;f[ia>>2]=0;f[ia+4>>2]=0;f[ia+8>>2]=0;f[ia+12>>2]=0;if((f[ja>>2]|0)>0){ua=f[ka>>2]|0;za=0;do{f[ua+(za<<2)>>2]=0;za=za+1|0}while((za|0)<(f[ja>>2]|0))}za=f[la>>2]|0;if((za|0)!=(ma|0))dX(za);Ra=Sa}za=f[T>>2]|0;if(za|0?(ua=za+12|0,za=f[ua>>2]|0,f[ua>>2]=za+-1,(za|0)==1):0)XO(i);f[T>>2]=0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;f[R+12>>2]=0;if((f[U>>2]|0)>0){za=f[V>>2]|0;ua=0;do{f[za+(ua<<2)>>2]=0;ua=ua+1|0}while((ua|0)<(f[U>>2]|0))}ua=f[S>>2]|0;if((ua|0)!=(W|0))dX(ua);if(Ra){b[(f[f[Y>>2]>>2]|0)+qa>>0]=1;f[(f[f[Z>>2]>>2]|0)+(qa<<2)>>2]=f[m>>2]}qa=qa+1|0}while((qa|0)<(q|0));u=d;return}function Kya(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=+i;j=+j;var k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;k=u;u=u+560|0;l=k+504|0;m=k+56|0;o=k+448|0;q=k+384|0;r=k+272|0;s=k+216|0;t=k+440|0;v=k;w=k+160|0;x=k+104|0;y=k+328|0;z=k+88|0;do if((HJ(c)|0)==65536){A=f[c+4>>2]|0;f[o>>2]=f[A>>2];B=o+4|0;C=A+4|0;f[B>>2]=f[C>>2];D=o+8|0;f[D>>2]=f[A+8>>2];f[o+12>>2]=f[A+12>>2];f[o+16>>2]=f[A+16>>2];f[o+20>>2]=f[A+20>>2];f[o+24>>2]=f[A+24>>2];f[o+28>>2]=f[A+28>>2];f[o+32>>2]=f[A+32>>2];E=o+36|0;F=f[A+36>>2]|0;f[E>>2]=F;f[o+40>>2]=D;D=o+48|0;G=o+44|0;f[G>>2]=D;f[D>>2]=0;f[o+52>>2]=0;if(F|0){D=F+12|0;f[D>>2]=(f[D>>2]|0)+1}if((f[C>>2]|0)<3){C=f[A+44>>2]|0;D=f[G>>2]|0;f[D>>2]=f[C>>2];f[D+4>>2]=f[C+4>>2];H=E;I=o;break}else{f[B>>2]=0;WO(o,A);H=E;I=o;break}}else{DJ(o,c,-1);H=o+36|0;I=o}while(0);E=(f[I>>2]&4088|0)==0;I=f[H>>2]|0;if(I|0?(A=I+12|0,I=f[A>>2]|0,f[A>>2]=I+-1,(I|0)==1):0)XO(o);f[H>>2]=0;H=o+16|0;I=o+4|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;if((f[I>>2]|0)>0){H=f[o+40>>2]|0;A=0;do{f[H+(A<<2)>>2]=0;A=A+1|0}while((A|0)<(f[I>>2]|0))}I=f[o+44>>2]|0;if((I|0)!=(o+48|0))dX(I);if(!E){f[l>>2]=0;f[l+4>>2]=0;J=JV(l,31)|0;K=350325;L=J+31|0;do{b[J>>0]=b[K>>0]|0;J=J+1|0;K=K+1|0}while((J|0)<(L|0));EP(-215,l,350357,349296,405);KV(l)}if((SJ(d,-1)|0)!=4){f[l>>2]=0;f[l+4>>2]=0;J=JV(l,21)|0;K=350370;L=J+21|0;do{b[J>>0]=b[K>>0]|0;J=J+1|0;K=K+1|0}while((J|0)<(L|0));EP(-215,l,350357,349296,406);KV(l)}if(!(i<=1.0&((g|0)>0&(h|0)>0&i>=0.0))){f[l>>2]=0;f[l+4>>2]=0;J=JV(l,82)|0;K=350392;L=J+82|0;do{b[J>>0]=b[K>>0]|0;J=J+1|0;K=K+1|0}while((J|0)<(L|0));EP(-215,l,350357,349296,407);KV(l)}if(!(j>=0.0)){f[l>>2]=0;f[l+4>>2]=0;J=JV(l,18)|0;K=350475;L=J+18|0;do{b[J>>0]=b[K>>0]|0;J=J+1|0;K=K+1|0}while((J|0)<(L|0));EP(-215,l,350357,349296,408);KV(l)}K=(g<<1)+e|0;e=~~(+(h|0)*i);f[q>>2]=1124007936;g=q+4|0;E=q+8|0;I=q+40|0;J=g;L=J+36|0;do{f[J>>2]=0;J=J+4|0}while((J|0)<(L|0));f[I>>2]=E;o=q+48|0;A=q+44|0;f[A>>2]=o;f[o>>2]=0;f[q+52>>2]=0;H=X(K,h)|0;f[r>>2]=1124007936;B=r+4|0;C=r+8|0;D=r+40|0;J=B;L=J+36|0;do{f[J>>2]=0;J=J+4|0}while((J|0)<(L|0));f[D>>2]=C;C=r+48|0;G=r+44|0;f[G>>2]=C;f[C>>2]=0;f[r+52>>2]=0;f[l>>2]=4;F=l+4|0;f[F>>2]=1;VO(r,2,l,13);M=r+16|0;N=f[M>>2]|0;f[N>>2]=0;f[N+4>>2]=0;i=+(H|0)+-1.0;n[N+8>>2]=i;f[N+12>>2]=0;n[N+16>>2]=i;n[N+20>>2]=i;f[N+24>>2]=0;n[N+28>>2]=i;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=r;Uga(s,d,l);d=l+8|0;f[d>>2]=0;f[d+4>>2]=0;f[l>>2]=33619968;f[l+4>>2]=q;f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=s;f[t>>2]=H;f[t+4>>2]=H;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;f[v+16>>2]=0;f[v+20>>2]=0;f[v+24>>2]=0;f[v+28>>2]=0;Qga(c,l,m,t,0,0,v);f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;f[m+24>>2]=0;f[m+28>>2]=0;f[a>>2]=1124007936;t=a+8|0;c=a+40|0;J=a+4|0;L=J+36|0;do{f[J>>2]=0;J=J+4|0}while((J|0)<(L|0));f[c>>2]=t;t=a+48|0;c=a+44|0;f[c>>2]=t;f[t>>2]=0;f[a+52>>2]=0;f[l>>2]=K;f[F>>2]=K;VO(a,2,l,0);gM(a,m)|0;f[v>>2]=1124007936;F=v+4|0;t=v+8|0;H=v+40|0;J=F;L=J+36|0;do{f[J>>2]=0;J=J+4|0}while((J|0)<(L|0));f[H>>2]=t;t=v+48|0;d=v+44|0;f[d>>2]=t;f[t>>2]=0;f[v+52>>2]=0;f[w>>2]=1124007936;N=w+4|0;O=w+8|0;P=w+40|0;J=N;L=J+36|0;do{f[J>>2]=0;J=J+4|0}while((J|0)<(L|0));f[P>>2]=O;O=w+48|0;J=w+44|0;f[J>>2]=O;f[O>>2]=0;f[w+52>>2]=0;L=(h|0)/2|0;Q=(f[q+12>>2]|0)-L|0;f[l>>2]=-2147483648;f[l+4>>2]=2147483647;f[m>>2]=L;f[m+4>>2]=Q;YO(y,q,l,m);Q=(f[E>>2]|0)-L|0;f[l>>2]=L;f[l+4>>2]=Q;f[m>>2]=-2147483648;f[m+4>>2]=2147483647;YO(x,y,l,m);Q=y+36|0;L=f[Q>>2]|0;if(L|0?(E=L+12|0,L=f[E>>2]|0,f[E>>2]=L+-1,(L|0)==1):0)XO(y);f[Q>>2]=0;Q=y+16|0;L=y+4|0;f[Q>>2]=0;f[Q+4>>2]=0;f[Q+8>>2]=0;f[Q+12>>2]=0;if((f[L>>2]|0)>0){Q=f[y+40>>2]|0;E=0;do{f[Q+(E<<2)>>2]=0;E=E+1|0}while((E|0)<(f[L>>2]|0))}L=f[y+44>>2]|0;if((L|0)!=(y+48|0))dX(L);f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=x;L=m+8|0;f[L>>2]=0;f[L+4>>2]=0;f[m>>2]=33619968;f[m+4>>2]=v;L=z+8|0;f[L>>2]=0;f[L+4>>2]=0;f[z>>2]=33619968;f[z+4>>2]=w;OE(l,m,z,BK()|0);z=w+16|0;do if(+p[f[z>>2]>>3]>2]>>3]>127.0){p[m>>3]=1.0;f[l>>2]=-1056833530;f[l+4>>2]=m;f[l+8>>2]=1;f[l+12>>2]=1;hM(a,l,BK()|0)|0;break}else{p[m>>3]=0.0;f[l>>2]=-1056833530;f[l+4>>2]=m;f[l+8>>2]=1;f[l+12>>2]=1;hM(a,l,BK()|0)|0;break}else{f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=q;L=m+8|0;f[L>>2]=0;f[L+4>>2]=0;f[m>>2]=33619968;f[m+4>>2]=q;+T_(l,m,125.0,255.0,8);if((K|0)>0){L=h-(e<<1)|0;y=m+4|0;E=m+8|0;Q=m+12|0;R=m+8|0;S=m+12|0;T=m+4|0;U=l+4|0;V=l+8|0;W=l+12|0;Y=a+16|0;Z=l+36|0;_=l+16|0;$=l+40|0;aa=l+44|0;ba=l+48|0;ca=0;do{da=(X(ca,h)|0)+e|0;ea=0;do{fa=(X(ea,h)|0)+e|0;f[m>>2]=fa;f[y>>2]=da;f[E>>2]=L;f[Q>>2]=L;$O(l,q,m);f[R>>2]=0;f[S>>2]=0;f[m>>2]=16842752;f[T>>2]=l;fa=WE(m)|0;ga=f[U>>2]|0;if((ga|0)<3)ha=X(f[W>>2]|0,f[V>>2]|0)|0;else{ia=f[$>>2]|0;ja=0;ka=1;while(1){la=X(f[ia+(ja<<2)>>2]|0,ka)|0;ja=ja+1|0;if((ja|0)==(ga|0)){ha=la;break}else ka=la}}if(fa>>>0>ha>>>1>>>0){ka=(f[Y>>2]|0)+(X(f[f[c>>2]>>2]|0,ca)|0)+ea|0;b[ka>>0]=1}ka=f[Z>>2]|0;do if(ka|0){ga=ka+12|0;ja=f[ga>>2]|0;f[ga>>2]=ja+-1;if((ja|0)!=1)break;XO(l)}while(0);f[Z>>2]=0;f[_>>2]=0;f[_+4>>2]=0;f[_+8>>2]=0;f[_+12>>2]=0;if((f[U>>2]|0)>0){ka=f[$>>2]|0;fa=0;do{f[ka+(fa<<2)>>2]=0;fa=fa+1|0}while((fa|0)<(f[U>>2]|0))}fa=f[aa>>2]|0;if((fa|0)!=(ba|0))dX(fa);ea=ea+1|0}while((ea|0)<(K|0));ca=ca+1|0}while((ca|0)<(K|0))}}while(0);K=x+36|0;l=f[K>>2]|0;if(l|0?(c=l+12|0,l=f[c>>2]|0,f[c>>2]=l+-1,(l|0)==1):0)XO(x);f[K>>2]=0;K=x+16|0;l=x+4|0;f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0;f[K+12>>2]=0;if((f[l>>2]|0)>0){K=f[x+40>>2]|0;c=0;do{f[K+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[l>>2]|0))}l=f[x+44>>2]|0;if((l|0)!=(x+48|0))dX(l);l=w+36|0;x=f[l>>2]|0;if(x|0?(c=x+12|0,x=f[c>>2]|0,f[c>>2]=x+-1,(x|0)==1):0)XO(w);f[l>>2]=0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;if((f[N>>2]|0)>0){z=f[P>>2]|0;P=0;do{f[z+(P<<2)>>2]=0;P=P+1|0}while((P|0)<(f[N>>2]|0))}N=f[J>>2]|0;if((N|0)!=(O|0))dX(N);N=v+36|0;O=f[N>>2]|0;do if(O|0){J=O+12|0;P=f[J>>2]|0;f[J>>2]=P+-1;if((P|0)!=1)break;XO(v)}while(0);f[N>>2]=0;N=v+16|0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;if((f[F>>2]|0)>0){N=f[H>>2]|0;H=0;do{f[N+(H<<2)>>2]=0;H=H+1|0}while((H|0)<(f[F>>2]|0))}F=f[d>>2]|0;if((F|0)!=(t|0))dX(F);F=s+36|0;t=f[F>>2]|0;do if(t|0){d=t+12|0;H=f[d>>2]|0;f[d>>2]=H+-1;if((H|0)!=1)break;XO(s)}while(0);f[F>>2]=0;F=s+16|0;t=s+4|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;f[F+12>>2]=0;if((f[t>>2]|0)>0){F=f[s+40>>2]|0;H=0;do{f[F+(H<<2)>>2]=0;H=H+1|0}while((H|0)<(f[t>>2]|0))}t=f[s+44>>2]|0;if((t|0)!=(s+48|0))dX(t);t=r+36|0;s=f[t>>2]|0;do if(s|0){H=s+12|0;F=f[H>>2]|0;f[H>>2]=F+-1;if((F|0)!=1)break;XO(r)}while(0);f[t>>2]=0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;if((f[B>>2]|0)>0){M=f[D>>2]|0;D=0;do{f[M+(D<<2)>>2]=0;D=D+1|0}while((D|0)<(f[B>>2]|0))}B=f[G>>2]|0;if((B|0)!=(C|0))dX(B);B=q+36|0;C=f[B>>2]|0;do if(C|0){G=C+12|0;D=f[G>>2]|0;f[G>>2]=D+-1;if((D|0)!=1)break;XO(q)}while(0);f[B>>2]=0;B=q+16|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;if((f[g>>2]|0)>0){B=f[I>>2]|0;I=0;do{f[B+(I<<2)>>2]=0;I=I+1|0}while((I|0)<(f[g>>2]|0))}g=f[A>>2]|0;if((g|0)==(o|0)){u=k;return}dX(g);u=k;return}function Lya(a){a=a|0;GQa(a);return}function Mya(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0.0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0.0,Mb=0.0,Nb=0.0,Ob=0.0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0.0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0;d=u;u=u+304|0;e=d+240|0;g=d+184|0;h=d+128|0;i=d+112|0;j=d+96|0;k=d+88|0;l=d+72|0;m=d+16|0;o=d;q=f[c>>2]|0;r=f[c+4>>2]|0;if((q|0)>=(r|0)){u=d;return}c=a+16|0;s=m+4|0;t=m+8|0;v=m+40|0;w=m+48|0;x=m+44|0;y=m+52|0;z=a+4|0;A=g+8|0;B=g+12|0;C=g+4|0;D=h+8|0;E=h+4|0;F=o+8|0;G=o+12|0;H=o+4|0;I=a+8|0;J=a+12|0;a=e+4|0;K=e+8|0;L=e+12|0;M=e+16|0;N=e+20|0;O=e+24|0;P=e+28|0;Q=e+32|0;R=e+36|0;S=e+40|0;T=e+48|0;U=e+44|0;V=e+52|0;W=g+4|0;Y=g+8|0;Z=g+12|0;_=g+16|0;$=g+20|0;aa=g+24|0;ba=g+28|0;ca=g+32|0;da=g+36|0;ea=g+40|0;fa=g+48|0;ga=g+44|0;ha=g+52|0;ia=e+4|0;ja=e+8|0;ka=e+12|0;la=e+16|0;ma=e+20|0;na=e+24|0;oa=e+28|0;pa=e+32|0;qa=e+36|0;ra=e+40|0;sa=e+48|0;ta=e+44|0;ua=e+52|0;va=g+4|0;wa=g+8|0;xa=g+12|0;ya=g+16|0;za=g+20|0;Aa=g+24|0;Ba=g+28|0;Ca=g+32|0;Da=g+36|0;Ea=g+40|0;Fa=g+48|0;Ga=g+44|0;Ha=g+52|0;Ia=e+4|0;Ja=e+8|0;Ka=e+40|0;La=e+48|0;Ma=e+44|0;Na=e+52|0;Oa=h+4|0;Pa=h+8|0;Qa=h+12|0;Ra=h+16|0;Sa=h+20|0;Ta=h+24|0;Ua=h+28|0;Va=h+32|0;Wa=h+36|0;Xa=h+40|0;Ya=h+48|0;Za=h+44|0;_a=h+52|0;$a=g+8|0;ab=g+4|0;bb=g+4|0;cb=g+8|0;db=i+8|0;eb=i+4|0;fb=j+8|0;gb=j+4|0;hb=k+4|0;ib=e+36|0;jb=e+16|0;kb=m+36|0;lb=m+16|0;mb=i+4|0;nb=i+8|0;ob=j+8|0;pb=j+12|0;qb=j+4|0;rb=l+8|0;sb=l+4|0;tb=j+8|0;ub=j+12|0;vb=j+4|0;wb=e+12|0;xb=j+4|0;yb=j+8|0;zb=e+4|0;Ab=e+4|0;Bb=q;do{q=(f[c>>2]|0)+4|0;Cb=f[q>>2]|0;Db=(X(f[Cb+8>>2]|0,Bb)|0)+(f[Cb>>2]|0)|0;f[m>>2]=1124007936;Cb=s;Eb=Cb+36|0;do{f[Cb>>2]=0;Cb=Cb+4|0}while((Cb|0)<(Eb|0));f[v>>2]=t;f[x>>2]=w;f[w>>2]=0;f[y>>2]=0;Fb=f[z>>2]|0;f[A>>2]=0;f[B>>2]=0;f[g>>2]=16842752;f[C>>2]=Fb;Fb=D;f[Fb>>2]=0;f[Fb+4>>2]=0;f[h>>2]=33619968;f[E>>2]=m;Gb=+p[(f[q>>2]|0)+16>>3];if((Db|0)<=2){f[e>>2]=0;f[Ab>>2]=0;Cb=JV(e,12)|0;Hb=350534;Eb=Cb+12|0;do{b[Cb>>0]=b[Hb>>0]|0;Cb=Cb+1|0;Hb=Hb+1|0}while((Cb|0)<(Eb|0));EP(-215,e,350547,349296,121);KV(e)}Y_(g,h,255.0,0,1,(Db&1^1)+Db|0,Gb);f[F>>2]=0;f[G>>2]=0;f[o>>2]=16842752;f[H>>2]=m;q=f[f[I>>2]>>2]|0;Fb=q+(Bb*12|0)|0;Ib=f[f[J>>2]>>2]|0;Jb=Ib+(Bb*12|0)|0;Kb=f[(f[c>>2]|0)+4>>2]|0;Lb=+p[Kb+24>>3];Mb=+p[Kb+32>>3];Nb=+p[Kb+40>>3];Ob=+p[Kb+48>>3];Pb=f[Kb+56>>2]|0;if(!(Lb>0.0&Mb>0.0&Nb>0.0&Ob>=0.0&(Pb|0)>-1)){f[e>>2]=0;f[zb>>2]=0;Cb=JV(e,122)|0;Hb=350558;Eb=Cb+122|0;do{b[Cb>>0]=b[Hb>>0]|0;Cb=Cb+1|0;Hb=Hb+1|0}while((Cb|0)<(Eb|0));EP(-215,e,350681,349296,137);KV(e)}do if((HJ(o)|0)==65536){Db=f[H>>2]|0;f[e>>2]=f[Db>>2];Kb=Db+4|0;f[a>>2]=f[Kb>>2];f[K>>2]=f[Db+8>>2];f[L>>2]=f[Db+12>>2];f[M>>2]=f[Db+16>>2];f[N>>2]=f[Db+20>>2];f[O>>2]=f[Db+24>>2];f[P>>2]=f[Db+28>>2];f[Q>>2]=f[Db+32>>2];Qb=f[Db+36>>2]|0;f[R>>2]=Qb;f[S>>2]=K;f[U>>2]=T;f[T>>2]=0;f[V>>2]=0;if(Qb|0){Rb=Qb+12|0;f[Rb>>2]=(f[Rb>>2]|0)+1}if((f[Kb>>2]|0)<3){Kb=f[Db+44>>2]|0;Rb=f[U>>2]|0;f[Rb>>2]=f[Kb>>2];f[Rb+4>>2]=f[Kb+4>>2];break}else{f[a>>2]=0;WO(e,Db);break}}else DJ(e,o,-1);while(0);do if((HJ(o)|0)==65536){Db=f[H>>2]|0;f[g>>2]=f[Db>>2];Kb=Db+4|0;f[W>>2]=f[Kb>>2];f[Y>>2]=f[Db+8>>2];f[Z>>2]=f[Db+12>>2];f[_>>2]=f[Db+16>>2];f[$>>2]=f[Db+20>>2];f[aa>>2]=f[Db+24>>2];f[ba>>2]=f[Db+28>>2];f[ca>>2]=f[Db+32>>2];Rb=f[Db+36>>2]|0;f[da>>2]=Rb;f[ea>>2]=Y;f[ga>>2]=fa;f[fa>>2]=0;f[ha>>2]=0;if(Rb|0){Qb=Rb+12|0;f[Qb>>2]=(f[Qb>>2]|0)+1}if((f[Kb>>2]|0)<3){Kb=f[Db+44>>2]|0;Qb=f[ga>>2]|0;f[Qb>>2]=f[Kb>>2];f[Qb+4>>2]=f[Kb+4>>2];break}else{f[W>>2]=0;WO(g,Db);break}}else DJ(g,o,-1);while(0);Db=f[L>>2]|0;Kb=f[Y>>2]|0;Qb=~~(Lb*+(((Db|0)<(Kb|0)?Kb:Db)|0))>>>0;Db=f[da>>2]|0;if(Db|0?(Kb=Db+12|0,Db=f[Kb>>2]|0,f[Kb>>2]=Db+-1,(Db|0)==1):0)XO(g);f[da>>2]=0;f[_>>2]=0;f[_+4>>2]=0;f[_+8>>2]=0;f[_+12>>2]=0;if((f[W>>2]|0)>0){Db=f[ea>>2]|0;Kb=0;do{f[Db+(Kb<<2)>>2]=0;Kb=Kb+1|0}while((Kb|0)<(f[W>>2]|0))}Kb=f[ga>>2]|0;if((Kb|0)!=(fa|0))dX(Kb);Kb=f[R>>2]|0;if(Kb|0?(Db=Kb+12|0,Kb=f[Db>>2]|0,f[Db>>2]=Kb+-1,(Kb|0)==1):0)XO(e);f[R>>2]=0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;if((f[a>>2]|0)>0){Kb=f[S>>2]|0;Db=0;do{f[Kb+(Db<<2)>>2]=0;Db=Db+1|0}while((Db|0)<(f[a>>2]|0))}Db=f[U>>2]|0;if((Db|0)!=(T|0))dX(Db);do if((HJ(o)|0)==65536){Db=f[H>>2]|0;f[e>>2]=f[Db>>2];Kb=Db+4|0;f[ia>>2]=f[Kb>>2];f[ja>>2]=f[Db+8>>2];f[ka>>2]=f[Db+12>>2];f[la>>2]=f[Db+16>>2];f[ma>>2]=f[Db+20>>2];f[na>>2]=f[Db+24>>2];f[oa>>2]=f[Db+28>>2];f[pa>>2]=f[Db+32>>2];Rb=f[Db+36>>2]|0;f[qa>>2]=Rb;f[ra>>2]=ja;f[ta>>2]=sa;f[sa>>2]=0;f[ua>>2]=0;if(Rb|0){Sb=Rb+12|0;f[Sb>>2]=(f[Sb>>2]|0)+1}if((f[Kb>>2]|0)<3){Kb=f[Db+44>>2]|0;Sb=f[ta>>2]|0;f[Sb>>2]=f[Kb>>2];f[Sb+4>>2]=f[Kb+4>>2];break}else{f[ia>>2]=0;WO(e,Db);break}}else DJ(e,o,-1);while(0);do if((HJ(o)|0)==65536){Db=f[H>>2]|0;f[g>>2]=f[Db>>2];Kb=Db+4|0;f[va>>2]=f[Kb>>2];f[wa>>2]=f[Db+8>>2];f[xa>>2]=f[Db+12>>2];f[ya>>2]=f[Db+16>>2];f[za>>2]=f[Db+20>>2];f[Aa>>2]=f[Db+24>>2];f[Ba>>2]=f[Db+28>>2];f[Ca>>2]=f[Db+32>>2];Sb=f[Db+36>>2]|0;f[Da>>2]=Sb;f[Ea>>2]=wa;f[Ga>>2]=Fa;f[Fa>>2]=0;f[Ha>>2]=0;if(Sb|0){Rb=Sb+12|0;f[Rb>>2]=(f[Rb>>2]|0)+1}if((f[Kb>>2]|0)<3){Kb=f[Db+44>>2]|0;Rb=f[Ga>>2]|0;f[Rb>>2]=f[Kb>>2];f[Rb+4>>2]=f[Kb+4>>2];break}else{f[va>>2]=0;WO(g,Db);break}}else DJ(g,o,-1);while(0);Db=f[ka>>2]|0;Kb=f[wa>>2]|0;Rb=~~(Mb*+(((Db|0)<(Kb|0)?Kb:Db)|0))>>>0;Db=f[Da>>2]|0;if(Db|0?(Kb=Db+12|0,Db=f[Kb>>2]|0,f[Kb>>2]=Db+-1,(Db|0)==1):0)XO(g);f[Da>>2]=0;f[ya>>2]=0;f[ya+4>>2]=0;f[ya+8>>2]=0;f[ya+12>>2]=0;if((f[va>>2]|0)>0){Db=f[Ea>>2]|0;Kb=0;do{f[Db+(Kb<<2)>>2]=0;Kb=Kb+1|0}while((Kb|0)<(f[va>>2]|0))}Kb=f[Ga>>2]|0;if((Kb|0)!=(Fa|0))dX(Kb);Kb=f[qa>>2]|0;if(Kb|0?(Db=Kb+12|0,Kb=f[Db>>2]|0,f[Db>>2]=Kb+-1,(Kb|0)==1):0)XO(e);f[qa>>2]=0;f[la>>2]=0;f[la+4>>2]=0;f[la+8>>2]=0;f[la+12>>2]=0;if((f[ia>>2]|0)>0){Kb=f[ra>>2]|0;Db=0;do{f[Kb+(Db<<2)>>2]=0;Db=Db+1|0}while((Db|0)<(f[ia>>2]|0))}Db=f[ta>>2]|0;if((Db|0)!=(sa|0))dX(Db);f[e>>2]=1124007936;Cb=Ia;Eb=Cb+36|0;do{f[Cb>>2]=0;Cb=Cb+4|0}while((Cb|0)<(Eb|0));f[Ka>>2]=Ja;f[Ma>>2]=La;f[La>>2]=0;f[Na>>2]=0;do if((HJ(o)|0)==65536){Cb=f[H>>2]|0;f[h>>2]=f[Cb>>2];Eb=Cb+4|0;f[Oa>>2]=f[Eb>>2];f[Pa>>2]=f[Cb+8>>2];f[Qa>>2]=f[Cb+12>>2];f[Ra>>2]=f[Cb+16>>2];f[Sa>>2]=f[Cb+20>>2];f[Ta>>2]=f[Cb+24>>2];f[Ua>>2]=f[Cb+28>>2];f[Va>>2]=f[Cb+32>>2];Db=f[Cb+36>>2]|0;f[Wa>>2]=Db;f[Xa>>2]=Pa;f[Za>>2]=Ya;f[Ya>>2]=0;f[_a>>2]=0;if(Db|0){Kb=Db+12|0;f[Kb>>2]=(f[Kb>>2]|0)+1}if((f[Eb>>2]|0)<3){Eb=f[Cb+44>>2]|0;Kb=f[Za>>2]|0;f[Kb>>2]=f[Eb>>2];f[Kb+4>>2]=f[Eb+4>>2];break}else{f[Oa>>2]=0;WO(h,Cb);break}}else DJ(h,o,-1);while(0);Cb=$a;f[Cb>>2]=0;f[Cb+4>>2]=0;f[g>>2]=33619968;f[ab>>2]=e;eM(h,g);Cb=f[Wa>>2]|0;do if(Cb|0){Eb=Cb+12|0;Kb=f[Eb>>2]|0;f[Eb>>2]=Kb+-1;if((Kb|0)!=1)break;XO(h)}while(0);f[Wa>>2]=0;f[Ra>>2]=0;f[Ra+4>>2]=0;f[Ra+8>>2]=0;f[Ra+12>>2]=0;if((f[Oa>>2]|0)>0){Cb=f[Xa>>2]|0;Kb=0;do{f[Cb+(Kb<<2)>>2]=0;Kb=Kb+1|0}while((Kb|0)<(f[Oa>>2]|0))}Kb=f[Za>>2]|0;if((Kb|0)!=(Ya|0))dX(Kb);f[g>>2]=0;f[bb>>2]=0;f[cb>>2]=0;Kb=db;f[Kb>>2]=0;f[Kb+4>>2]=0;f[i>>2]=50397184;f[eb>>2]=e;Kb=fb;f[Kb>>2]=0;f[Kb+4>>2]=0;f[j>>2]=-2113667060;f[gb>>2]=g;f[k>>2]=0;f[hb>>2]=0;uea(i,j,1,1,k);Kb=f[bb>>2]|0;Cb=f[g>>2]|0;Eb=Cb;Db=Kb;if((Kb|0)==(Cb|0)){Tb=Eb;Ub=Db}else{Sb=~Pb;Vb=q+(Bb*12|0)+4|0;Wb=q+(Bb*12|0)+8|0;Xb=Ib+(Bb*12|0)+4|0;Yb=Ib+(Bb*12|0)+8|0;Zb=0;_b=Eb;$b=Db;Db=Eb;Eb=Cb;Cb=Kb;while(1){Kb=_b+(Zb*12|0)|0;ac=_b+(Zb*12|0)+4|0;bc=(f[ac>>2]|0)-(f[Kb>>2]|0)>>3;if(bc>>>0>>0|bc>>>0>Rb>>>0){cc=Eb;dc=Cb;ec=$b;fc=Db}else{f[i>>2]=0;f[mb>>2]=0;f[nb>>2]=0;f[ob>>2]=0;f[pb>>2]=0;f[j>>2]=-2130509812;f[qb>>2]=Kb;bc=rb;f[bc>>2]=0;f[bc+4>>2]=0;f[l>>2]=-2113732596;f[sb>>2]=i;qba(j,l,Nb*+((f[ac>>2]|0)-(f[Kb>>2]|0)>>3>>>0),1);Kb=f[i>>2]|0;ac=Kb;if(((f[mb>>2]|0)-Kb|0)==32){f[tb>>2]=0;f[ub>>2]=0;f[j>>2]=-2130509812;f[vb>>2]=i;do if(tca(j)|0){Kb=f[wb>>2]|0;bc=f[Ja>>2]|0;gc=(Kb|0)<(bc|0)?bc:Kb;Mb=+(X(gc,gc)|0);gc=f[i>>2]|0;hc=f[gc>>2]|0;ic=f[gc+8>>2]|0;Lb=+(hc-ic|0);jc=f[gc+4>>2]|0;kc=f[gc+12>>2]|0;Gb=+(jc-kc|0);lc=Lb*Lb+Gb*Gb;Gb=lc>2]|0;Mb=+(ic-mc|0);nc=f[gc+20>>2]|0;lc=+(kc-nc|0);Lb=Mb*Mb+lc*lc;lc=Lb>2]|0;Gb=+(mc-oc|0);pc=f[gc+28>>2]|0;Lb=+(nc-pc|0);Mb=Gb*Gb+Lb*Lb;Lb=Mb>2]|0;Mb=Ob*+((f[gc+(Zb*12|0)+4>>2]|0)-(f[gc+(Zb*12|0)>>2]|0)>>3>>>0);if((Gb=(Pb|0)?!((jc|0)>(Kb|0)|((hc|0)>(gc|0)|(jc|0)<(Pb|0))):0)qc=0;else qc=1;if((ic|0)>=(Pb|0)?!((kc|0)>(Kb|0)|((ic|0)>(gc|0)|(kc|0)<(Pb|0))):0)rc=qc;else rc=1;if((mc|0)>=(Pb|0)?!((nc|0)>(Kb|0)|((mc|0)>(gc|0)|(nc|0)<(Pb|0))):0)sc=rc;else sc=1;if((oc|0)<(Pb|0))break;if((pc|0)>(Kb|0)|((oc|0)>(gc|0)|(pc|0)<(Pb|0))|sc)break;f[j>>2]=0;f[xb>>2]=0;f[yb>>2]=0;zJ(j,4);pc=f[i>>2]|0;gc=f[j>>2]|0;oc=f[pc+8>>2]|0;Kb=f[pc+12>>2]|0;nc=f[pc+16>>2]|0;mc=f[pc+20>>2]|0;kc=f[pc+24>>2]|0;ic=f[pc+28>>2]|0;Mb=+(f[pc+4>>2]|0);n[gc>>2]=+(f[pc>>2]|0);n[gc+4>>2]=Mb;n[gc+8>>2]=+(oc|0);n[gc+12>>2]=+(Kb|0);n[gc+16>>2]=+(nc|0);n[gc+20>>2]=+(mc|0);n[gc+24>>2]=+(kc|0);n[gc+28>>2]=+(ic|0);ic=f[Vb>>2]|0;if((ic|0)==(f[Wb>>2]|0))rya(Fb,j);else{qya(ic,j);f[Vb>>2]=(f[Vb>>2]|0)+12}ic=(f[g>>2]|0)+(Zb*12|0)|0;gc=f[Xb>>2]|0;if((gc|0)==(f[Yb>>2]|0))tya(Jb,ic);else{sya(gc,ic);f[Xb>>2]=(f[Xb>>2]|0)+12}ic=f[j>>2]|0;if(ic|0){gc=f[xb>>2]|0;if((gc|0)!=(ic|0))f[xb>>2]=gc+(~((gc+-8-ic|0)>>>3)<<3);GQa(ic)}}while(0);tc=f[i>>2]|0}else tc=ac;if(tc|0){ic=f[mb>>2]|0;if((ic|0)!=(tc|0))f[mb>>2]=ic+(~((ic+-8-tc|0)>>>3)<<3);GQa(tc)}ic=f[bb>>2]|0;gc=f[g>>2]|0;cc=gc;dc=ic;ec=ic;fc=gc}Zb=Zb+1|0;if(Zb>>>0>=((dc-cc|0)/12|0)>>>0){Tb=fc;Ub=ec;break}else{_b=cc;$b=ec;Db=fc;Eb=cc;Cb=dc}}}if(Tb|0){if((Ub|0)==(Tb|0))uc=Tb;else{Cb=Ub;while(1){Eb=Cb+-12|0;f[bb>>2]=Eb;Db=f[Eb>>2]|0;if(!Db)vc=Eb;else{Eb=Cb+-8|0;$b=f[Eb>>2]|0;if(($b|0)!=(Db|0))f[Eb>>2]=$b+(~(($b+-8-Db|0)>>>3)<<3);GQa(Db);vc=f[bb>>2]|0}if((vc|0)==(Tb|0))break;else Cb=vc}uc=f[g>>2]|0}GQa(uc)}Cb=f[ib>>2]|0;do if(Cb|0){Db=Cb+12|0;$b=f[Db>>2]|0;f[Db>>2]=$b+-1;if(($b|0)!=1)break;XO(e)}while(0);f[ib>>2]=0;f[jb>>2]=0;f[jb+4>>2]=0;f[jb+8>>2]=0;f[jb+12>>2]=0;if((f[Ia>>2]|0)>0){Cb=f[Ka>>2]|0;$b=0;do{f[Cb+($b<<2)>>2]=0;$b=$b+1|0}while(($b|0)<(f[Ia>>2]|0))}$b=f[Ma>>2]|0;if(($b|0)!=(La|0))dX($b);$b=f[kb>>2]|0;do if($b|0){Cb=$b+12|0;Db=f[Cb>>2]|0;f[Cb>>2]=Db+-1;if((Db|0)!=1)break;XO(m)}while(0);f[kb>>2]=0;f[lb>>2]=0;f[lb+4>>2]=0;f[lb+8>>2]=0;f[lb+12>>2]=0;if((f[s>>2]|0)>0){$b=f[v>>2]|0;Db=0;do{f[$b+(Db<<2)>>2]=0;Db=Db+1|0}while((Db|0)<(f[s>>2]|0))}Db=f[x>>2]|0;if((Db|0)!=(w|0))dX(Db);Bb=Bb+1|0}while((Bb|0)<(r|0));u=d;return}function Nya(a,c,d,e,g,h,i){a=a|0;c=+c;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;j=u;u=u+256|0;k=j+200|0;l=j+144|0;m=j+88|0;o=j+80|0;p=j;q=c>0.0;if(!q){f[k>>2]=0;f[k+4>>2]=0;r=JV(k,16)|0;s=350822;t=r+16|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));EP(-215,k,350839,349296,1210);KV(k)}f[l>>2]=1124007936;v=l+4|0;w=l+8|0;x=l+40|0;r=v;t=r+36|0;do{f[r>>2]=0;r=r+4|0}while((r|0)<(t|0));f[x>>2]=w;w=l+48|0;y=l+44|0;f[y>>2]=w;f[w>>2]=0;f[l+52>>2]=0;z=m+8|0;f[z>>2]=0;f[z+4>>2]=0;f[m>>2]=33619968;z=m+4|0;f[z>>2]=l;if(!q){f[k>>2]=0;f[k+4>>2]=0;r=JV(k,16)|0;s=350822;t=r+16|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));EP(-215,k,350865,349296,752);KV(k)}vK(m,4,1,21,-1,0,0);do if((HJ(m)|0)==65536){s=f[z>>2]|0;f[k>>2]=f[s>>2];r=k+4|0;t=s+4|0;f[r>>2]=f[t>>2];q=k+8|0;f[q>>2]=f[s+8>>2];f[k+12>>2]=f[s+12>>2];A=k+16|0;f[A>>2]=f[s+16>>2];f[k+20>>2]=f[s+20>>2];f[k+24>>2]=f[s+24>>2];f[k+28>>2]=f[s+28>>2];f[k+32>>2]=f[s+32>>2];B=k+36|0;C=f[s+36>>2]|0;f[B>>2]=C;f[k+40>>2]=q;q=k+48|0;D=k+44|0;f[D>>2]=q;f[q>>2]=0;f[k+52>>2]=0;if(C|0){q=C+12|0;f[q>>2]=(f[q>>2]|0)+1}if((f[t>>2]|0)<3){t=f[s+44>>2]|0;q=f[D>>2]|0;f[q>>2]=f[t>>2];f[q+4>>2]=f[t+4>>2];E=A;F=D;G=B;break}else{f[r>>2]=0;WO(k,s);E=A;F=D;G=B;break}}else{DJ(k,m,-1);E=k+16|0;F=k+44|0;G=k+36|0}while(0);H=c*-.5;I=c*.5;z=f[E>>2]|0;n[z>>2]=H;n[z+4>>2]=I;n[z+8>>2]=0.0;z=f[E>>2]|0;n[z+12>>2]=I;n[z+16>>2]=I;n[z+20>>2]=0.0;z=f[E>>2]|0;n[z+24>>2]=I;n[z+28>>2]=H;n[z+32>>2]=0.0;n[z+36>>2]=H;n[z+40>>2]=H;n[z+44>>2]=0.0;z=f[G>>2]|0;if(z|0?(B=z+12|0,z=f[B>>2]|0,f[B>>2]=z+-1,(z|0)==1):0)XO(k);f[G>>2]=0;G=k+4|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;if((f[G>>2]|0)>0){E=f[k+40>>2]|0;z=0;do{f[E+(z<<2)>>2]=0;z=z+1|0}while((z|0)<(f[G>>2]|0))}G=f[F>>2]|0;if((G|0)!=(k+48|0))dX(G);G=SJ(a,-1)|0;vK(g,G,1,22,-1,0,0);vK(h,G,1,22,-1,0,0);do if((HJ(g)|0)==65536){F=f[g+4>>2]|0;f[k>>2]=f[F>>2];z=k+4|0;E=F+4|0;f[z>>2]=f[E>>2];B=k+8|0;f[B>>2]=f[F+8>>2];f[k+12>>2]=f[F+12>>2];f[k+16>>2]=f[F+16>>2];f[k+20>>2]=f[F+20>>2];f[k+24>>2]=f[F+24>>2];f[k+28>>2]=f[F+28>>2];f[k+32>>2]=f[F+32>>2];D=f[F+36>>2]|0;f[k+36>>2]=D;f[k+40>>2]=B;B=k+48|0;A=k+44|0;f[A>>2]=B;f[B>>2]=0;f[k+52>>2]=0;if(D|0){B=D+12|0;f[B>>2]=(f[B>>2]|0)+1}if((f[E>>2]|0)<3){E=f[F+44>>2]|0;B=f[A>>2]|0;f[B>>2]=f[E>>2];f[B+4>>2]=f[E+4>>2];break}else{f[z>>2]=0;WO(k,F);break}}else DJ(k,g,-1);while(0);do if((HJ(h)|0)==65536){g=f[h+4>>2]|0;f[m>>2]=f[g>>2];F=m+4|0;z=g+4|0;f[F>>2]=f[z>>2];E=m+8|0;f[E>>2]=f[g+8>>2];B=m+12|0;f[B>>2]=f[g+12>>2];A=m+16|0;f[A>>2]=f[g+16>>2];D=m+20|0;f[D>>2]=f[g+20>>2];s=m+24|0;f[s>>2]=f[g+24>>2];r=m+28|0;f[r>>2]=f[g+28>>2];t=m+32|0;f[t>>2]=f[g+32>>2];q=m+36|0;C=f[g+36>>2]|0;f[q>>2]=C;f[m+40>>2]=E;J=m+48|0;K=m+44|0;f[K>>2]=J;f[J>>2]=0;f[m+52>>2]=0;if(C|0){J=C+12|0;f[J>>2]=(f[J>>2]|0)+1}if((f[z>>2]|0)<3){z=f[g+44>>2]|0;J=f[K>>2]|0;f[J>>2]=f[z>>2];f[J+4>>2]=f[z+4>>2];L=D;M=s;N=r;O=t;P=q;Q=q;R=F;S=E;T=B;U=A;V=A;W=m;break}else{f[F>>2]=0;WO(m,g);L=D;M=s;N=r;O=t;P=q;Q=q;R=F;S=E;T=B;U=A;V=A;W=m;break}}else{DJ(m,h,-1);A=m+16|0;B=m+36|0;L=m+20|0;M=m+24|0;N=m+28|0;O=m+32|0;P=B;Q=B;R=m+4|0;S=m+8|0;T=m+12|0;U=A;V=A;W=m}while(0);f[o>>2]=0;f[o+4>>2]=G;f[p>>2]=101352;f[p+4>>2]=l;f[p+8>>2]=a;f[p+12>>2]=d;f[p+16>>2]=e;f[p+20>>2]=k;e=p+24|0;f[e>>2]=f[W>>2];W=p+28|0;d=f[R>>2]|0;f[W>>2]=d;a=p+32|0;f[a>>2]=f[S>>2];f[p+36>>2]=f[T>>2];T=p+40|0;f[T>>2]=f[V>>2];f[p+44>>2]=f[L>>2];f[p+48>>2]=f[M>>2];f[p+52>>2]=f[N>>2];f[p+56>>2]=f[O>>2];O=p+60|0;N=f[Q>>2]|0;f[O>>2]=N;Q=p+64|0;f[Q>>2]=a;a=p+72|0;M=p+68|0;f[M>>2]=a;f[a>>2]=0;f[p+76>>2]=0;if(!N)X=d;else{d=N+12|0;f[d>>2]=(f[d>>2]|0)+1;X=f[R>>2]|0}if((X|0)<3){X=f[m+44>>2]|0;d=f[M>>2]|0;f[d>>2]=f[X>>2];f[d+4>>2]=f[X+4>>2]}else{f[W>>2]=0;WO(e,m)}$Z(o,p,-1.0);f[p>>2]=101352;p=f[O>>2]|0;if(p|0?(o=p+12|0,p=f[o>>2]|0,f[o>>2]=p+-1,(p|0)==1):0)XO(e);f[O>>2]=0;f[T>>2]=0;f[T+4>>2]=0;f[T+8>>2]=0;f[T+12>>2]=0;if((f[W>>2]|0)>0){T=f[Q>>2]|0;Q=0;do{f[T+(Q<<2)>>2]=0;Q=Q+1|0}while((Q|0)<(f[W>>2]|0))}W=f[M>>2]|0;if((W|0)!=(a|0))dX(W);if(yK(i)|0)AO(l,i,-1,1.0,0.0);i=f[P>>2]|0;if(i|0?(W=i+12|0,i=f[W>>2]|0,f[W>>2]=i+-1,(i|0)==1):0)XO(m);f[P>>2]=0;f[U>>2]=0;f[U+4>>2]=0;f[U+8>>2]=0;f[U+12>>2]=0;if((f[R>>2]|0)>0){U=f[m+40>>2]|0;P=0;do{f[U+(P<<2)>>2]=0;P=P+1|0}while((P|0)<(f[R>>2]|0))}R=f[m+44>>2]|0;if((R|0)!=(m+48|0))dX(R);R=k+36|0;m=f[R>>2]|0;if(m|0?(P=m+12|0,m=f[P>>2]|0,f[P>>2]=m+-1,(m|0)==1):0)XO(k);f[R>>2]=0;R=k+16|0;m=k+4|0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;f[R+12>>2]=0;if((f[m>>2]|0)>0){R=f[k+40>>2]|0;P=0;do{f[R+(P<<2)>>2]=0;P=P+1|0}while((P|0)<(f[m>>2]|0))}m=f[k+44>>2]|0;if((m|0)!=(k+48|0))dX(m);m=l+36|0;k=f[m>>2]|0;do if(k|0){P=k+12|0;R=f[P>>2]|0;f[P>>2]=R+-1;if((R|0)!=1)break;XO(l)}while(0);f[m>>2]=0;m=l+16|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;if((f[v>>2]|0)>0){m=f[x>>2]|0;x=0;do{f[m+(x<<2)>>2]=0;x=x+1|0}while((x|0)<(f[v>>2]|0))}v=f[y>>2]|0;if((v|0)==(w|0)){u=j;return}dX(v);u=j;return}function Oya(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=101352;b=a+24|0;c=a+60|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+40|0;b=a+28|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+64>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+68>>2]|0;if((b|0)==(a+72|0))return;dX(b);return}function Pya(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=101352;b=a+24|0;c=a+60|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+40|0;b=a+28|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+64>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+68>>2]|0;if((b|0)==(a+72|0)){GQa(a);return}dX(b);GQa(a);return}function Qya(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0;c=u;u=u+128|0;d=c+104|0;e=c+88|0;g=c+32|0;h=c+16|0;i=c;j=f[b>>2]|0;k=f[b+4>>2]|0;if((j|0)>=(k|0)){u=c;return}b=a+4|0;l=d+8|0;m=d+12|0;n=d+4|0;o=a+8|0;p=g+4|0;q=g+8|0;r=g+12|0;s=g+16|0;t=g+20|0;v=g+24|0;w=g+28|0;x=g+32|0;y=g+36|0;z=g+40|0;A=g+48|0;B=g+44|0;C=g+52|0;D=e+8|0;E=e+12|0;F=e+4|0;G=a+12|0;H=a+16|0;I=a+20|0;J=h+4|0;K=h+8|0;L=h+12|0;M=a+24|0;N=a+64|0;O=a+40|0;P=a+68|0;Q=a+36|0;a=i+4|0;R=i+8|0;S=i+12|0;T=j;do{j=f[b>>2]|0;f[l>>2]=0;f[m>>2]=0;f[d>>2]=16842752;f[n>>2]=j;j=f[o>>2]|0;do if((T|0)<0&(HJ(j)|0)==65536){U=f[j+4>>2]|0;f[g>>2]=f[U>>2];V=U+4|0;f[p>>2]=f[V>>2];f[q>>2]=f[U+8>>2];f[r>>2]=f[U+12>>2];f[s>>2]=f[U+16>>2];f[t>>2]=f[U+20>>2];f[v>>2]=f[U+24>>2];f[w>>2]=f[U+28>>2];f[x>>2]=f[U+32>>2];W=f[U+36>>2]|0;f[y>>2]=W;f[z>>2]=q;f[B>>2]=A;f[A>>2]=0;f[C>>2]=0;if(W|0){Y=W+12|0;f[Y>>2]=(f[Y>>2]|0)+1}if((f[V>>2]|0)<3){V=f[U+44>>2]|0;Y=f[B>>2]|0;f[Y>>2]=f[V>>2];f[Y+4>>2]=f[V+4>>2];break}else{f[p>>2]=0;WO(g,U);break}}else DJ(g,j,T);while(0);f[D>>2]=0;f[E>>2]=0;f[e>>2]=16842752;f[F>>2]=g;j=f[G>>2]|0;U=f[H>>2]|0;V=f[I>>2]|0;do if((f[V>>2]&16384|0)==0?(Y=f[V+40>>2]|0,(f[Y>>2]|0)!=1):0)if((f[Y+4>>2]|0)==1){Z=(f[V+16>>2]|0)+(X(f[f[V+44>>2]>>2]|0,T)|0)|0;break}else{Y=f[V+12>>2]|0;W=(T|0)/(Y|0)|0;_=T-(X(W,Y)|0)|0;Z=(f[V+16>>2]|0)+(X(f[f[V+44>>2]>>2]|0,W)|0)+(_*24|0)|0;break}else $=13;while(0);if(($|0)==13){$=0;Z=(f[V+16>>2]|0)+(T*24|0)|0}f[h>>2]=-1040056314;f[J>>2]=Z;f[K>>2]=1;f[L>>2]=3;do if((f[M>>2]&16384|0)==0?(_=f[N>>2]|0,(f[_>>2]|0)!=1):0)if((f[_+4>>2]|0)==1){aa=(f[O>>2]|0)+(X(f[f[P>>2]>>2]|0,T)|0)|0;break}else{_=f[Q>>2]|0;W=(T|0)/(_|0)|0;Y=T-(X(W,_)|0)|0;aa=(f[O>>2]|0)+(X(f[f[P>>2]>>2]|0,W)|0)+(Y*24|0)|0;break}else $=19;while(0);if(($|0)==19){$=0;aa=(f[O>>2]|0)+(T*24|0)|0}f[i>>2]=-1040056314;f[a>>2]=aa;f[R>>2]=1;f[S>>2]=3;vza(d,e,j,U,h,i,0,0)|0;V=f[y>>2]|0;if(V|0?(Y=V+12|0,V=f[Y>>2]|0,f[Y>>2]=V+-1,(V|0)==1):0)XO(g);f[y>>2]=0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if((f[p>>2]|0)>0){V=f[z>>2]|0;Y=0;do{f[V+(Y<<2)>>2]=0;Y=Y+1|0}while((Y|0)<(f[p>>2]|0))}Y=f[B>>2]|0;if((Y|0)!=(A|0))dX(Y);T=T+1|0}while((T|0)<(k|0));u=c;return}function Rya(a){a=a|0;GQa(a);return}function Sya(a){a=a|0;var b=0,c=0,d=0,e=0;b=f[a+8>>2]|0;if(b|0){c=b+36|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=b+16|0;d=b+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[d>>2]|0)>0){c=f[b+40>>2]|0;e=0;do{f[c+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(f[d>>2]|0))}d=f[b+44>>2]|0;if((d|0)!=(b+48|0))dX(d);GQa(b);if(!a)return}qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function Tya(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0.0,Ga=0.0,Ha=0.0;g=u;u=u+560|0;h=g+544|0;i=g+488|0;j=g+432|0;k=g+376|0;l=g+32|0;m=g+320|0;o=g+168|0;q=g+160|0;r=g+136|0;s=g+128|0;t=g+176|0;v=g+72|0;w=g+144|0;x=g+64|0;y=g;do if((HJ(a)|0)==65536){z=f[a+4>>2]|0;f[i>>2]=f[z>>2];A=i+4|0;B=z+4|0;f[A>>2]=f[B>>2];C=i+8|0;f[C>>2]=f[z+8>>2];f[i+12>>2]=f[z+12>>2];f[i+16>>2]=f[z+16>>2];f[i+20>>2]=f[z+20>>2];f[i+24>>2]=f[z+24>>2];f[i+28>>2]=f[z+28>>2];f[i+32>>2]=f[z+32>>2];D=f[z+36>>2]|0;f[i+36>>2]=D;f[i+40>>2]=C;C=i+48|0;E=i+44|0;f[E>>2]=C;f[C>>2]=0;f[i+52>>2]=0;if(D|0){C=D+12|0;f[C>>2]=(f[C>>2]|0)+1}if((f[B>>2]|0)<3){B=f[z+44>>2]|0;C=f[E>>2]|0;f[C>>2]=f[B>>2];f[C+4>>2]=f[B+4>>2];F=A;break}else{f[A>>2]=0;WO(i,z);F=A;break}}else{DJ(i,a,-1);F=i+4|0}while(0);A=f[F>>2]|0;if((A|0)<3)G=X(f[i+12>>2]|0,f[i+8>>2]|0)|0;else{z=f[i+40>>2]|0;B=0;C=1;while(1){E=X(f[z+(B<<2)>>2]|0,C)|0;B=B+1|0;if((B|0)==(A|0)){G=E;break}else C=E}}if(G){do if((HJ(a)|0)==65536){G=f[a+4>>2]|0;f[j>>2]=f[G>>2];C=j+4|0;A=G+4|0;f[C>>2]=f[A>>2];B=j+8|0;f[B>>2]=f[G+8>>2];f[j+12>>2]=f[G+12>>2];f[j+16>>2]=f[G+16>>2];f[j+20>>2]=f[G+20>>2];f[j+24>>2]=f[G+24>>2];f[j+28>>2]=f[G+28>>2];f[j+32>>2]=f[G+32>>2];z=f[G+36>>2]|0;f[j+36>>2]=z;f[j+40>>2]=B;B=j+48|0;E=j+44|0;f[E>>2]=B;f[B>>2]=0;f[j+52>>2]=0;if(z|0){B=z+12|0;f[B>>2]=(f[B>>2]|0)+1}if((f[A>>2]|0)<3){A=f[G+44>>2]|0;B=f[E>>2]|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];H=j;break}else{f[C>>2]=0;WO(j,G);H=j;break}}else{DJ(j,a,-1);H=j}while(0);if(f[H>>2]&4088){do if((HJ(a)|0)==65536){H=f[a+4>>2]|0;f[k>>2]=f[H>>2];G=k+4|0;C=H+4|0;f[G>>2]=f[C>>2];A=k+8|0;f[A>>2]=f[H+8>>2];f[k+12>>2]=f[H+12>>2];f[k+16>>2]=f[H+16>>2];f[k+20>>2]=f[H+20>>2];f[k+24>>2]=f[H+24>>2];f[k+28>>2]=f[H+28>>2];f[k+32>>2]=f[H+32>>2];B=k+36|0;E=f[H+36>>2]|0;f[B>>2]=E;f[k+40>>2]=A;A=k+48|0;z=k+44|0;f[z>>2]=A;f[A>>2]=0;f[k+52>>2]=0;if(E|0){A=E+12|0;f[A>>2]=(f[A>>2]|0)+1}if((f[C>>2]|0)<3){C=f[H+44>>2]|0;A=f[z>>2]|0;f[A>>2]=f[C>>2];f[A+4>>2]=f[C+4>>2];I=k;J=B;break}else{f[G>>2]=0;WO(k,H);I=k;J=B;break}}else{DJ(k,a,-1);I=k;J=k+36|0}while(0);B=(f[I>>2]&4088|0)==16;I=f[J>>2]|0;if(I|0?(H=I+12|0,I=f[H>>2]|0,f[H>>2]=I+-1,(I|0)==1):0)XO(k);f[J>>2]=0;J=k+16|0;I=k+4|0;f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[J+12>>2]=0;if((f[I>>2]|0)>0){J=f[k+40>>2]|0;H=0;do{f[J+(H<<2)>>2]=0;H=H+1|0}while((H|0)<(f[I>>2]|0))}I=f[k+44>>2]|0;if((I|0)==(k+48|0))K=B;else{dX(I);K=B}}else K=1;B=j+36|0;I=f[B>>2]|0;if(I|0?(k=I+12|0,I=f[k>>2]|0,f[k>>2]=I+-1,(I|0)==1):0)XO(j);f[B>>2]=0;B=j+16|0;I=j+4|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;if((f[I>>2]|0)>0){B=f[j+40>>2]|0;k=0;do{f[B+(k<<2)>>2]=0;k=k+1|0}while((k|0)<(f[I>>2]|0))}I=f[j+44>>2]|0;if((I|0)==(j+48|0))L=K;else{dX(I);L=K}}else L=0;K=i+36|0;I=f[K>>2]|0;if(I|0?(j=I+12|0,I=f[j>>2]|0,f[j>>2]=I+-1,(I|0)==1):0)XO(i);f[K>>2]=0;K=i+16|0;f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0;f[K+12>>2]=0;if((f[F>>2]|0)>0){K=f[i+40>>2]|0;I=0;do{f[K+(I<<2)>>2]=0;I=I+1|0}while((I|0)<(f[F>>2]|0))}F=f[i+44>>2]|0;if((F|0)!=(i+48|0))dX(F);if(!L){f[h>>2]=0;f[h+4>>2]=0;M=JV(h,100)|0;N=351012;O=M+100|0;do{b[M>>0]=b[N>>0]|0;M=M+1|0;N=N+1|0}while((M|0)<(O|0));EP(-215,h,351113,349296,1691);KV(h)}L=SJ(c,-1)|0;if((L|0)!=(SJ(d,-1)|0)?SJ(d,-1)|0:0){f[h>>2]=0;f[h+4>>2]=0;M=JV(h,55)|0;N=351133;O=M+55|0;do{b[M>>0]=b[N>>0]|0;M=M+1|0;N=N+1|0}while((M|0)<(O|0));EP(-215,h,351113,349296,1692);KV(h)};f[l>>2]=f[e>>2];f[l+4>>2]=f[e+4>>2];f[l+8>>2]=f[e+8>>2];f[l+12>>2]=f[e+12>>2];f[l+16>>2]=f[e+16>>2];f[l+20>>2]=f[e+20>>2];f[l+24>>2]=f[e+24>>2];f[l+28>>2]=f[e+28>>2];P=+p[l>>3];L=l+8|0;Q=+p[L>>3];F=l+16|0;R=+p[F>>3];S=+p[l+24>>3];p[L>>3]=R;p[F>>3]=Q;F=SJ(c,-1)|0;if((F|0)<=0){u=g;return}L=m+4|0;i=m+8|0;I=m+12|0;K=m+16|0;j=m+36|0;k=m+40|0;B=m+48|0;H=m+44|0;J=h+4|0;G=o+4|0;C=q+4|0;A=r+4|0;z=s+4|0;E=t+64|0;D=t+8|0;T=t+12|0;U=t+4|0;V=t+64|0;W=t+136|0;Y=t+140|0;Z=t+44|0;_=t+60|0;$=h+11|0;aa=t+8|0;ba=d+4|0;ca=v+4|0;da=v+8|0;ea=v+12|0;fa=v+16|0;ga=v+20|0;ha=v+24|0;ia=v+28|0;ja=v+32|0;ka=v+36|0;la=v+40|0;ma=v+48|0;na=v+44|0;oa=v+52|0;pa=h+4|0;qa=w+11|0;ra=w+4|0;sa=x+4|0;ta=y+8|0;ua=y+16|0;va=y+24|0;wa=0;do{DJ(m,c,wa);xa=f[L>>2]|0;if((xa|0)<3)ya=X(f[I>>2]|0,f[i>>2]|0)|0;else{za=f[k>>2]|0;Aa=0;Ba=1;while(1){Ca=X(f[za+(Aa<<2)>>2]|0,Ba)|0;Aa=Aa+1|0;if((Aa|0)==(xa|0)){ya=Ca;break}else Ba=Ca}}if((ya|0)==4?(f[m>>2]&4095|0)==13:0)Da=0;else{f[h>>2]=0;f[J>>2]=0;M=JV(h,95)|0;N=351189;O=M+95|0;do{b[M>>0]=b[N>>0]|0;M=M+1|0;N=N+1|0}while((M|0)<(O|0));EP(-215,h,351113,349296,1703);KV(h);Da=0}while(1){Ea=f[K>>2]|0;if((Da|0)>=4)break;Fa=+n[Ea+(Da<<3)+4>>2];Ba=Da+1|0;xa=(Ba|0)%4|0;Ga=+n[Ea+(xa<<3)>>2];Ha=+n[Ea+(xa<<3)+4>>2];xa=HEa(+n[Ea+(Da<<3)>>2])|0;Aa=HEa(Fa)|0;f[o>>2]=xa;f[G>>2]=Aa;Aa=HEa(Ga)|0;xa=HEa(Ha)|0;f[q>>2]=Aa;f[C>>2]=xa;Bba(a,o,q,e,1,8,0);Da=Ba}Ha=+n[Ea>>2];Ga=+n[Ea+4>>2];Ba=HEa(Ha+-3.0)|0;xa=HEa(Ga+-3.0)|0;f[r>>2]=Ba;f[A>>2]=xa;xa=HEa(Ha+3.0)|0;Ba=HEa(Ga+3.0)|0;f[s>>2]=xa;f[z>>2]=Ba;Vba(a,r,s,l,1,16,0);if(SJ(d,-1)|0){Ba=f[K>>2]|0;Ga=(+n[Ba>>2]+0.0+ +n[Ba+8>>2]+ +n[Ba+16>>2]+ +n[Ba+24>>2])*.25;Ha=(+n[Ba+4>>2]+0.0+ +n[Ba+12>>2]+ +n[Ba+20>>2]+ +n[Ba+28>>2])*.25;f[D>>2]=101416;f[t>>2]=18412;f[E>>2]=18432;f[U>>2]=0;cHa(V,T);f[W>>2]=0;f[Y>>2]=-1;f[t>>2]=101396;f[E>>2]=101436;f[D>>2]=101416;hHa(T);f[T>>2]=41984;f[Z>>2]=0;f[Z+4>>2]=0;f[Z+8>>2]=0;f[Z+12>>2]=0;f[_>>2]=24;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;mX(T,h);if((b[$>>0]|0)<0)GQa(f[h>>2]|0);Ba=nX(aa,351285,3)|0;do if((HJ(d)|0)==65536){xa=f[ba>>2]|0;f[v>>2]=f[xa>>2];Aa=xa+4|0;f[ca>>2]=f[Aa>>2];f[da>>2]=f[xa+8>>2];f[ea>>2]=f[xa+12>>2];f[fa>>2]=f[xa+16>>2];f[ga>>2]=f[xa+20>>2];f[ha>>2]=f[xa+24>>2];f[ia>>2]=f[xa+28>>2];f[ja>>2]=f[xa+32>>2];za=f[xa+36>>2]|0;f[ka>>2]=za;f[la>>2]=da;f[na>>2]=ma;f[ma>>2]=0;f[oa>>2]=0;if(za|0){Ca=za+12|0;f[Ca>>2]=(f[Ca>>2]|0)+1}if((f[Aa>>2]|0)<3){Aa=f[xa+44>>2]|0;Ca=f[na>>2]|0;f[Ca>>2]=f[Aa>>2];f[Ca+4>>2]=f[Aa+4>>2];break}else{f[ca>>2]=0;WO(v,xa);break}}else DJ(v,d,-1);while(0);oHa(Ba,f[(f[fa>>2]|0)+(wa<<2)>>2]|0)|0;xa=f[ka>>2]|0;if(xa|0?(Aa=xa+12|0,xa=f[Aa>>2]|0,f[Aa>>2]=xa+-1,(xa|0)==1):0)XO(v);f[ka>>2]=0;f[fa>>2]=0;f[fa+4>>2]=0;f[fa+8>>2]=0;f[fa+12>>2]=0;if((f[ca>>2]|0)>0){xa=f[la>>2]|0;Aa=0;do{f[xa+(Aa<<2)>>2]=0;Aa=Aa+1|0}while((Aa|0)<(f[ca>>2]|0))}Aa=f[na>>2]|0;if((Aa|0)!=(ma|0))dX(Aa);oX(w,T);f[h>>2]=0;f[pa>>2]=0;Aa=b[qa>>0]|0;xa=Aa<<24>>24<0?f[ra>>2]|0:Aa&255;if(xa|0){Aa=JV(h,xa)|0;DVa(Aa|0,((b[qa>>0]|0)<0?f[w>>2]|0:w)|0,xa|0)|0}xa=HEa(Ga)|0;Aa=HEa(Ha)|0;f[x>>2]=xa;f[sa>>2]=Aa;p[y>>3]=Q;p[ta>>3]=P;p[ua>>3]=R;p[va>>3]=S;Zba(a,h,x,0,.5,y,2,8,0);KV(h);if((b[qa>>0]|0)<0)GQa(f[w>>2]|0);Uya(t)}Aa=f[j>>2]|0;if(Aa|0?(xa=Aa+12|0,Aa=f[xa>>2]|0,f[xa>>2]=Aa+-1,(Aa|0)==1):0)XO(m);f[j>>2]=0;f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0;f[K+12>>2]=0;if((f[L>>2]|0)>0){Aa=f[k>>2]|0;xa=0;do{f[Aa+(xa<<2)>>2]=0;xa=xa+1|0}while((xa|0)<(f[L>>2]|0))}xa=f[H>>2]|0;if((xa|0)!=(B|0))dX(xa);wa=wa+1|0}while((wa|0)<(F|0));u=g;return}function Uya(a){a=a|0;var c=0,d=0,e=0;f[a>>2]=101396;c=a+64|0;f[c>>2]=101436;f[a+8>>2]=101416;d=a+12|0;f[d>>2]=41984;e=a+44|0;if((b[e+11>>0]|0)<0)GQa(f[e>>2]|0);SFa(d);_Ga(a,101448);NFa(c);return}function Vya(a){a=a|0;Uya(a);GQa(a);return}function Wya(a){a=a|0;Uya(a+-8|0);return}function Xya(a){a=a|0;var b=0;b=a+-8|0;Uya(b);GQa(b);return}function Yya(a){a=a|0;Uya(a+(f[(f[a>>2]|0)+-12>>2]|0)|0);return}function Zya(a){a=a|0;var b=0;b=a+(f[(f[a>>2]|0)+-12>>2]|0)|0;Uya(b);GQa(b);return}function _ya(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=+h;var i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;i=u;u=u+304|0;j=i+224|0;k=i+168|0;l=i+112|0;m=i+280|0;o=i+96|0;q=i;r=i+56|0;s=i+88|0;t=i+80|0;v=i+72|0;w=i+48|0;x=i+40|0;y=i+32|0;do if((HJ(a)|0)==65536){z=f[a+4>>2]|0;f[j>>2]=f[z>>2];A=j+4|0;B=z+4|0;f[A>>2]=f[B>>2];C=j+8|0;f[C>>2]=f[z+8>>2];f[j+12>>2]=f[z+12>>2];f[j+16>>2]=f[z+16>>2];f[j+20>>2]=f[z+20>>2];f[j+24>>2]=f[z+24>>2];f[j+28>>2]=f[z+28>>2];f[j+32>>2]=f[z+32>>2];D=f[z+36>>2]|0;f[j+36>>2]=D;f[j+40>>2]=C;C=j+48|0;E=j+44|0;f[E>>2]=C;f[C>>2]=0;f[j+52>>2]=0;if(D|0){C=D+12|0;f[C>>2]=(f[C>>2]|0)+1}if((f[B>>2]|0)<3){B=f[z+44>>2]|0;C=f[E>>2]|0;f[C>>2]=f[B>>2];f[C+4>>2]=f[B+4>>2];F=A;break}else{f[A>>2]=0;WO(j,z);F=A;break}}else{DJ(j,a,-1);F=j+4|0}while(0);A=f[F>>2]|0;if((A|0)<3)G=X(f[j+12>>2]|0,f[j+8>>2]|0)|0;else{z=f[j+40>>2]|0;B=0;C=1;while(1){E=X(f[z+(B<<2)>>2]|0,C)|0;B=B+1|0;if((B|0)==(A|0)){G=E;break}else C=E}}if(G){do if((HJ(a)|0)==65536){G=f[a+4>>2]|0;f[k>>2]=f[G>>2];C=k+4|0;A=G+4|0;f[C>>2]=f[A>>2];B=k+8|0;f[B>>2]=f[G+8>>2];f[k+12>>2]=f[G+12>>2];f[k+16>>2]=f[G+16>>2];f[k+20>>2]=f[G+20>>2];f[k+24>>2]=f[G+24>>2];f[k+28>>2]=f[G+28>>2];f[k+32>>2]=f[G+32>>2];z=f[G+36>>2]|0;f[k+36>>2]=z;f[k+40>>2]=B;B=k+48|0;E=k+44|0;f[E>>2]=B;f[B>>2]=0;f[k+52>>2]=0;if(z|0){B=z+12|0;f[B>>2]=(f[B>>2]|0)+1}if((f[A>>2]|0)<3){A=f[G+44>>2]|0;B=f[E>>2]|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];H=k;break}else{f[C>>2]=0;WO(k,G);H=k;break}}else{DJ(k,a,-1);H=k}while(0);if(f[H>>2]&4088){do if((HJ(a)|0)==65536){H=f[a+4>>2]|0;f[l>>2]=f[H>>2];G=l+4|0;C=H+4|0;f[G>>2]=f[C>>2];A=l+8|0;f[A>>2]=f[H+8>>2];f[l+12>>2]=f[H+12>>2];f[l+16>>2]=f[H+16>>2];f[l+20>>2]=f[H+20>>2];f[l+24>>2]=f[H+24>>2];f[l+28>>2]=f[H+28>>2];f[l+32>>2]=f[H+32>>2];B=l+36|0;E=f[H+36>>2]|0;f[B>>2]=E;f[l+40>>2]=A;A=l+48|0;z=l+44|0;f[z>>2]=A;f[A>>2]=0;f[l+52>>2]=0;if(E|0){A=E+12|0;f[A>>2]=(f[A>>2]|0)+1}if((f[C>>2]|0)<3){C=f[H+44>>2]|0;A=f[z>>2]|0;f[A>>2]=f[C>>2];f[A+4>>2]=f[C+4>>2];I=l;J=B;break}else{f[G>>2]=0;WO(l,H);I=l;J=B;break}}else{DJ(l,a,-1);I=l;J=l+36|0}while(0);B=(f[I>>2]&4088|0)==16;I=f[J>>2]|0;if(I|0?(H=I+12|0,I=f[H>>2]|0,f[H>>2]=I+-1,(I|0)==1):0)XO(l);f[J>>2]=0;J=l+16|0;I=l+4|0;f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[J+12>>2]=0;if((f[I>>2]|0)>0){J=f[l+40>>2]|0;H=0;do{f[J+(H<<2)>>2]=0;H=H+1|0}while((H|0)<(f[I>>2]|0))}I=f[l+44>>2]|0;if((I|0)==(l+48|0))K=B;else{dX(I);K=B}}else K=1;B=k+36|0;I=f[B>>2]|0;if(I|0?(l=I+12|0,I=f[l>>2]|0,f[l>>2]=I+-1,(I|0)==1):0)XO(k);f[B>>2]=0;B=k+16|0;I=k+4|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;if((f[I>>2]|0)>0){B=f[k+40>>2]|0;l=0;do{f[B+(l<<2)>>2]=0;l=l+1|0}while((l|0)<(f[I>>2]|0))}I=f[k+44>>2]|0;if((I|0)==(k+48|0))L=K;else{dX(I);L=K}}else L=0;K=j+36|0;I=f[K>>2]|0;if(I|0?(k=I+12|0,I=f[k>>2]|0,f[k>>2]=I+-1,(I|0)==1):0)XO(j);f[K>>2]=0;K=j+16|0;f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0;f[K+12>>2]=0;if((f[F>>2]|0)>0){K=f[j+40>>2]|0;I=0;do{f[K+(I<<2)>>2]=0;I=I+1|0}while((I|0)<(f[F>>2]|0))}F=f[j+44>>2]|0;if((F|0)!=(j+48|0))dX(F);if(!L){f[m>>2]=0;f[m+4>>2]=0;M=JV(m,100)|0;N=351012;O=M+100|0;do{b[M>>0]=b[N>>0]|0;M=M+1|0;N=N+1|0}while((M|0)<(O|0));EP(-215,m,351358,349296,1737);KV(m)}if(!(h>0.0)){f[m>>2]=0;f[m+4>>2]=0;M=JV(m,10)|0;N=351367;O=M+10|0;do{b[M>>0]=b[N>>0]|0;M=M+1|0;N=N+1|0}while((M|0)<(O|0));EP(-215,m,351358,349296,1738);KV(m)}f[m>>2]=0;N=m+4|0;f[N>>2]=0;f[m+8>>2]=0;n[o>>2]=0.0;n[o+4>>2]=0.0;n[o+8>>2]=0.0;M=m+8|0;Fya(m,o);O=f[N>>2]|0;L=f[M>>2]|0;n[o>>2]=h;n[o+4>>2]=0.0;n[o+8>>2]=0.0;if((O|0)==(L|0)){Fya(m,o);P=f[N>>2]|0;Q=f[M>>2]|0}else{n[O>>2]=h;f[O+4>>2]=0;f[O+8>>2]=0;F=O+12|0;f[N>>2]=F;P=F;Q=L}n[o>>2]=0.0;n[o+4>>2]=h;n[o+8>>2]=0.0;if((P|0)==(Q|0)){Fya(m,o);R=f[N>>2]|0;S=f[M>>2]|0}else{f[P>>2]=0;n[P+4>>2]=h;f[P+8>>2]=0;M=P+12|0;f[N>>2]=M;R=M;S=Q}n[o>>2]=0.0;n[o+4>>2]=0.0;n[o+8>>2]=h;if((R|0)==(S|0))Fya(m,o);else{f[R>>2]=0;f[R+4>>2]=0;n[R+8>>2]=h;f[N>>2]=R+12}f[o>>2]=0;R=o+4|0;f[R>>2]=0;f[o+8>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;f[q>>2]=-2130509803;f[q+4>>2]=m;S=r+8|0;f[S>>2]=0;f[S+4>>2]=0;f[r>>2]=-2113732595;f[r+4>>2]=o;Vwa(q,e,g,c,d,r,BK()|0,0.0);r=f[o>>2]|0;d=HEa(+n[r>>2])|0;c=HEa(+n[r+4>>2])|0;f[s>>2]=d;f[s+4>>2]=c;c=HEa(+n[r+8>>2])|0;d=HEa(+n[r+12>>2])|0;f[t>>2]=c;f[t+4>>2]=d;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;p[q+16>>3]=255.0;p[q+24>>3]=0.0;Bba(a,s,t,q,3,8,0);t=f[o>>2]|0;s=HEa(+n[t>>2])|0;d=HEa(+n[t+4>>2])|0;f[v>>2]=s;f[v+4>>2]=d;d=HEa(+n[t+16>>2])|0;s=HEa(+n[t+20>>2])|0;f[w>>2]=d;f[w+4>>2]=s;p[q>>3]=0.0;p[q+8>>3]=255.0;s=q+16|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;Bba(a,v,w,q,3,8,0);w=f[o>>2]|0;v=HEa(+n[w>>2])|0;s=HEa(+n[w+4>>2])|0;f[x>>2]=v;f[x+4>>2]=s;s=HEa(+n[w+24>>2])|0;v=HEa(+n[w+28>>2])|0;f[y>>2]=s;f[y+4>>2]=v;p[q>>3]=255.0;v=q+8|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;f[v+16>>2]=0;f[v+20>>2]=0;Bba(a,x,y,q,3,8,0);q=f[o>>2]|0;if(q|0){o=f[R>>2]|0;if((o|0)!=(q|0))f[R>>2]=o+(~((o+-8-q|0)>>>3)<<3);GQa(q)}q=f[m>>2]|0;if(!q){u=i;return}m=f[N>>2]|0;if((m|0)!=(q|0))f[N>>2]=m+(~(((m+-12-q|0)>>>0)/12|0)*12|0);GQa(q);u=i;return}function $ya(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;uza(f[a+4>>2]|0,b,c,d,e);return}function aza(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0;j=u;u=u+16|0;k=j;if((e|0)==(d|0)){f[k>>2]=0;f[k+4>>2]=0;l=JV(k,8)|0;m=l;b[m>>0]=105;b[m+1>>0]=48;b[m+2>>0]=32;b[m+3>>0]=33;m=l+4|0;b[m>>0]=61;b[m+1>>0]=32;b[m+2>>0]=105;b[m+3>>0]=49;EP(-215,k,351378,351387,139);KV(k)}if(!((e|0)<(c|0)&((c|0)>(d|0)&(e|d|0)>-1))){f[k>>2]=0;f[k+4>>2]=0;m=JV(k,40)|0;l=351465;n=m+40|0;do{b[m>>0]=b[l>>0]|0;m=m+1|0;l=l+1|0}while((m|0)<(n|0));EP(-215,k,351378,351387,140);KV(k)}if((e|0)>(d|0)){l=e-d+1|0;o=+p[a+(e*48|0)>>3];q=+p[a+(e*48|0)+8>>3];r=+p[a+(e*48|0)+16>>3];s=+p[a+(e*48|0)+32>>3];t=+p[a+(e*48|0)+24>>3];v=+p[a+(e*48|0)+40>>3];if((d|0)>0){m=d+-1|0;w=o-+p[a+(m*48|0)>>3];x=q-+p[a+(m*48|0)+8>>3];y=r-+p[a+(m*48|0)+16>>3];z=t-+p[a+(m*48|0)+24>>3];A=s-+p[a+(m*48|0)+32>>3];B=v-+p[a+(m*48|0)+40>>3];C=l}else{w=o;x=q;y=r;z=t;A=s;B=v;C=l}}else{if((d|0)<=0){f[k>>2]=0;f[k+4>>2]=0;l=JV(k,6)|0;b[l>>0]=b[351506]|0;b[l+1>>0]=b[351507]|0;b[l+2>>0]=b[351508]|0;b[l+3>>0]=b[351509]|0;b[l+4>>0]=b[351510]|0;b[l+5>>0]=b[351511]|0;EP(-215,k,351378,351387,166);KV(k)}l=c+-1|0;m=d+-1|0;w=+p[a+(l*48|0)>>3]-+p[a+(m*48|0)>>3]+ +p[a+(e*48|0)>>3];x=+p[a+(l*48|0)+8>>3]-+p[a+(m*48|0)+8>>3]+ +p[a+(e*48|0)+8>>3];y=+p[a+(l*48|0)+16>>3]-+p[a+(m*48|0)+16>>3]+ +p[a+(e*48|0)+16>>3];z=+p[a+(l*48|0)+24>>3]-+p[a+(m*48|0)+24>>3]+ +p[a+(e*48|0)+24>>3];A=+p[a+(l*48|0)+32>>3]-+p[a+(m*48|0)+32>>3]+ +p[a+(e*48|0)+32>>3];B=+p[a+(l*48|0)+40>>3]-+p[a+(m*48|0)+40>>3]+ +p[a+(e*48|0)+40>>3];C=c+1-d+e|0}if((C|0)<=1){f[k>>2]=0;f[k+4>>2]=0;e=JV(k,6)|0;b[e>>0]=b[351513]|0;b[e+1>>0]=b[351514]|0;b[e+2>>0]=b[351515]|0;b[e+3>>0]=b[351516]|0;b[e+4>>0]=b[351517]|0;b[e+5>>0]=b[351518]|0;EP(-215,k,351378,351387,185);KV(k)}v=w/B;w=x/B;x=y/B-v*v;y=A/B-w*v;A=z/B-w*w;B=+eU(y*-2.0,A-x)*.008726646192371845;z=+N(+B);s=+O(+B);if(g|0){p[g>>3]=v;p[g+8>>3]=w;p[g+16>>3]=z;p[g+24>>3]=s}if(h|0){w=+(C|0);p[h>>3]=A*(s*s*w)+(x*(z*z*w)+y*(z*2.0*s*w))}if(!i){u=j;return}p[i>>3]=A*(s*s)+(x*(z*z)+y*(z*2.0*s));u=j;return}function bza(a,b){a=a|0;b=b|0;return (+p[a>>3]<+p[b>>3]?1:-1)|0}function cza(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0.0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0.0,aa=0,ba=0,ca=0.0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0.0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0.0,xa=0,ya=0,za=0,Aa=0,Ba=0.0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0.0,Ha=0,Ia=0,Ja=0,Ka=0,La=0.0,Ma=0.0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0.0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0;e=u;u=u+256|0;g=e+232|0;h=e+220|0;i=e+208|0;j=e+192|0;k=e+184|0;l=e+176|0;m=e+168|0;o=e+160|0;q=e+152|0;r=e+144|0;s=e+136|0;t=e+128|0;v=e+96|0;w=e+64|0;x=e+32|0;y=e;z=(b|0)>251?20:(b|0)/12|0;if((z|0)<2){A=0;u=e;return A|0}f[g>>2]=0;B=g+4|0;f[B>>2]=0;f[g+8>>2]=0;D=(b|0)==0;a:do if(D)E=0;else{if(b>>>0>536870911)ZOa(g);F=b<<3;G=EQa(F)|0;f[g>>2]=G;H=G+(b<<3)|0;f[g+8>>2]=H;FVa(G|0,0,F|0)|0;f[B>>2]=H;H=b-z|0;F=0;I=G;while(1){aza(c,b,(H+F|0)%(b|0)|0,(F+z|0)%(b|0)|0,0,I+(F<<3)|0,0);G=F+1|0;if((G|0)>=(b|0)){E=1;break a}F=G;I=f[g>>2]|0}}while(0);f[h>>2]=0;z=h+4|0;f[z>>2]=0;f[h+8>>2]=0;do if(!D)if(b>>>0>536870911)ZOa(h);else{I=b<<3;F=EQa(I)|0;f[h>>2]=F;H=F+(b<<3)|0;f[h+8>>2]=H;FVa(F|0,0,I|0)|0;f[z>>2]=H;J=H;L=F;M=F;O=F;P=H;break}else{J=0;L=0;M=0;O=0;P=0}while(0);if(E){H=b+-3|0;F=f[g>>2]|0;I=0;do{G=H+I|0;p[M+(I<<3)>>3]=+p[F+(((G|0)%(b|0)|0)<<3)>>3]*.011108996346592903+0.0+ +p[F+(((G+1|0)%(b|0)|0)<<3)>>3]*.1353352814912796+ +p[F+(((G+2|0)%(b|0)|0)<<3)>>3]*.6065306663513184+ +p[F+(((I+b|0)%(b|0)|0)<<3)>>3]+ +p[F+(((G+4|0)%(b|0)|0)<<3)>>3]*.6065306663513184+ +p[F+(((G+5|0)%(b|0)|0)<<3)>>3]*.1353352814912796+ +p[F+(((G+6|0)%(b|0)|0)<<3)>>3]*.011108996346592903;I=I+1|0}while((I|0)!=(b|0))}I=P-O|0;if(I|0)EVa(f[g>>2]|0,O|0,I|0)|0;if(M|0){if((J|0)!=(M|0))f[z>>2]=J+(~((J+-8-M|0)>>>3)<<3);GQa(L)}f[h>>2]=0;L=h+4|0;f[L>>2]=0;f[h+8>>2]=0;do if(!D)if(b>>>0>1073741823)ZOa(h);else{M=b<<2;J=EQa(M)|0;f[h>>2]=J;z=J+(b<<2)|0;f[h+8>>2]=z;FVa(J|0,0,M|0)|0;f[L>>2]=z;Q=J;break}else Q=0;while(0);f[i>>2]=0;J=i+4|0;f[J>>2]=0;f[i+8>>2]=0;do if(!D)if(b>>>0>536870911)ZOa(i);else{z=b<<3;M=EQa(z)|0;f[i>>2]=M;I=M+(b<<3)|0;f[i+8>>2]=I;FVa(M|0,0,z|0)|0;f[J>>2]=I;R=M;S=M;break}else{R=0;S=0}while(0);if(E){E=f[g>>2]|0;D=b+-1|0;M=0;I=0;b:while(1){z=M;while(1){T=+p[E+(z<<3)>>3];U=z+1|0;if(T>+p[E+(((U|0)%(b|0)|0)<<3)>>3]?T>+p[E+(((D+z|0)%(b|0)|0)<<3)>>3]:0)break;if((U|0)<(b|0))z=U;else{V=I;break b}}f[Q+(I<<2)>>2]=z;p[R+(I<<3)>>3]=T;O=I+1|0;if((U|0)<(b|0)){M=U;I=O}else{V=O;break}}if((V|0)>=4){I=a+4|0;a=f[I>>2]|0;U=f[a+148>>2]|0;if((V|0)>(U|0)){M=R+(V<<3)|0;Q=R;f[j>>2]=0;D=j+4|0;f[D>>2]=0;f[j+8>>2]=0;E=V<<3;O=E>>3;if(!O)W=0;else{if(O>>>0>536870911)ZOa(j);P=EQa(E)|0;f[D>>2]=P;f[j>>2]=P;f[j+8>>2]=P+(O<<3);O=M+-8|0;E=R;F=P;while(1){p[F>>3]=+p[E>>3];E=E+8|0;if((E|0)==(M|0))break;else F=F+8|0}f[D>>2]=P+(((O-Q|0)>>>3)+1<<3);W=P}tDa(W,V,8,127);W=f[j>>2]|0;T=+p[W+(U<<3)>>3];if((V|0)>0){U=f[i>>2]|0;P=f[h>>2]|0;Q=0;O=0;while(1){if(!(+p[U+(Q<<3)>>3]<=T)){f[P+(O<<2)>>2]=f[P+(Q<<2)>>2];X=O+1|0}else X=O;Q=Q+1|0;if((Q|0)==(V|0)){Y=X;break}else O=X}}else Y=0;if(W|0){X=f[D>>2]|0;if((X|0)!=(W|0))f[D>>2]=X+(~((X+-8-W|0)>>>3)<<3);GQa(W)}Z=Y;_=f[I>>2]|0}else{Z=V;_=a}T=+N(+(+n[_+152>>2]));_=Z+-3|0;if((Z|0)>3){a=Z+-2|0;V=Z+-1|0;Y=v+16|0;W=w+16|0;X=v+24|0;D=w+24|0;O=j+4|0;Q=j+8|0;P=j+12|0;U=0;$=C;F=0;M=0;E=0;H=0;while(1){G=f[h>>2]|0;aa=f[G+(U<<2)>>2]|0;U=U+1|0;c:do if((U|0)<(a|0)){ba=U;ca=$;da=F;ea=M;fa=E;ga=H;ha=G;while(1){ia=f[ha+(ba<<2)>>2]|0;aza(c,b,aa,ia,v,k,q);ja=ba+1|0;d:do if((ja|0)<(V|0)?!(+p[q>>3]>+n[(f[I>>2]|0)+156>>2]):0){ka=ba;la=ja;ma=ca;na=da;oa=ea;pa=fa;qa=ga;while(1){ra=ka;sa=la;while(1){ta=f[(f[h>>2]|0)+(sa<<2)>>2]|0;aza(c,b,ia,ta,w,l,r);if(!(+p[r>>3]>+n[(f[I>>2]|0)+156>>2])?!(+K(+(+p[Y>>3]*+p[W>>3]+ +p[X>>3]*+p[D>>3]))>T):0)break;ua=sa+1|0;if((ua|0)<(V|0)){va=sa;sa=ua;ra=va}else{wa=ma;xa=na;ya=oa;za=pa;Aa=qa;break d}}va=ra+2|0;if((va|0)<(Z|0)){ua=va;Ba=ma;va=na;Ca=qa;Da=pa;Ea=oa;while(1){Fa=f[(f[h>>2]|0)+(ua<<2)>>2]|0;aza(c,b,ta,Fa,x,m,s);do if(+p[s>>3]>+n[(f[I>>2]|0)+156>>2]){Ga=Ba;Ha=va;Ia=Ca;Ja=Da;Ka=Ea}else{aza(c,b,Fa,aa,y,o,t);if(+p[t>>3]>+n[(f[I>>2]|0)+156>>2]){Ga=Ba;Ha=va;Ia=Ca;Ja=Da;Ka=Ea;break}La=+p[k>>3]+ +p[l>>3]+ +p[m>>3]+ +p[o>>3];if(!(La=(Z|0)){Ma=Ga;Na=Ha;Oa=Ka;Pa=Ja;Qa=Ia;break}else{Ba=Ga;va=Ha;Ca=Ia;Da=Ja;Ea=Ka}}}else{Ma=ma;Na=na;Oa=oa;Pa=pa;Qa=qa}la=sa+1|0;if((la|0)>=(V|0)){wa=Ma;xa=Na;ya=Oa;za=Pa;Aa=Qa;break}else{ka=sa;ma=Ma;na=Na;oa=Oa;pa=Pa;qa=Qa}}}else{wa=ca;xa=da;ya=ea;za=fa;Aa=ga}while(0);if((ja|0)>=(a|0)){Ra=wa;Sa=xa;Ta=ya;Ua=za;Va=Aa;break c}ba=ja;ca=wa;da=xa;ea=ya;fa=za;ga=Aa;ha=f[h>>2]|0}}else{Ra=$;Sa=F;Ta=M;Ua=E;Va=H}while(0);if((U|0)>=(_|0))break;else{$=Ra;F=Sa;M=Ta;E=Ua;H=Va}}f[j>>2]=Ta;f[O>>2]=Ua;f[Q>>2]=Sa;f[P>>2]=Va;if(!(Ra==C)){f[d>>2]=f[j>>2];f[d+4>>2]=f[j+4>>2];f[d+8>>2]=f[j+8>>2];f[d+12>>2]=f[j+12>>2];Wa=Ra/+(b|0)<+n[(f[I>>2]|0)+156>>2]&1}else Wa=0}else Wa=0;I=f[i>>2]|0;Xa=Wa;Ya=I;Za=I}else{Xa=0;Ya=R;Za=S}}else{Xa=0;Ya=R;Za=S}if(Ya|0){S=f[J>>2]|0;if((S|0)!=(Ya|0))f[J>>2]=S+(~((S+-8-Ya|0)>>>3)<<3);GQa(Za)}Za=f[h>>2]|0;if(Za|0){h=f[L>>2]|0;if((h|0)!=(Za|0))f[L>>2]=h+(~((h+-4-Za|0)>>>2)<<2);GQa(Za)}Za=f[g>>2]|0;if(Za|0){g=f[B>>2]|0;if((g|0)!=(Za|0))f[B>>2]=g+(~((g+-8-Za|0)>>>3)<<3);GQa(Za)}A=Xa;u=e;return A|0}function dza(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0.0,I=0.0,J=0.0,M=0.0,N=0.0,O=0,P=0,Q=0,R=0,S=0,U=0.0,V=0,W=0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0;i=u;u=u+3232|0;k=i+136|0;l=i+3216|0;m=i+8|0;o=i;if(!e){f[k>>2]=0;f[k+4>>2]=0;q=JV(k,13)|0;r=351520;s=q+13|0;do{b[q>>0]=b[r>>0]|0;q=q+1|0;r=r+1|0}while((q|0)<(s|0));EP(-215,k,351534,351387,604);KV(k)}t=e+4|0;v=f[t>>2]|0;if((v|0)<4){w=0;u=i;return w|0}x=f[e>>2]|0;y=f[e+12>>2]|0;z=0;A=2147483647;B=0;C=2147483647;D=0;do{E=y+(X(x,D)|0)|0;F=j[E>>1]|0;z=(z|0)>(F|0)?z:F;A=(A|0)<(F|0)?A:F;F=j[E+2>>1]|0;B=(B|0)>(F|0)?B:F;C=(C|0)<(F|0)?C:F;D=D+1|0}while((D|0)!=(v|0));G=+(z+A|0)*.5+.05118;H=+(B+C|0)*.5+-.028581;if((v|0)>0){C=e+12|0;I=0.0;B=0;do{A=(f[C>>2]|0)+(X(f[e>>2]|0,B)|0)|0;J=+(j[A>>1]|0)-G;M=+(j[A+2>>1]|0)-H;N=+eU(M,J)*.01745329238474369;n[A+4>>2]=N;I=I+(J*+(d[A+8>>1]|0)+M*+(d[A+10>>1]|0));B=B+1|0}while((B|0)!=(v|0));if(I<0.0){w=0;u=i;return w|0}}B=e+12|0;eza(f[B>>2]|0,v);C=f[B>>2]|0;if((v|0)<=1){f[t>>2]=1;w=0;u=i;return w|0}A=1;z=1;D=C;x=C;while(1){C=f[e>>2]|0;y=D+(X(C,z)|0)|0;F=y;E=x;if((d[y>>1]|0)==(d[E>>1]|0)?(d[y+2>>1]|0)==(d[E+2>>1]|0):0)O=A;else{if((z|0)!=(A|0)){E=D+(X(C,A)|0)|0;f[E>>2]=f[y>>2];f[E+4>>2]=f[y+4>>2];f[E+8>>2]=f[y+8>>2]}O=A+1|0}y=z+1|0;if((y|0)==(v|0))break;A=O;z=y;D=f[B>>2]|0;x=F}f[t>>2]=O;if((O|0)<4){w=0;u=i;return w|0}t=k+8|0;f[k>>2]=t;x=k+4|0;f[x>>2]=O;if(O>>>0>64){D=O*48|0;z=FQa(O>>>0>89478485?-1:D)|0;f[k>>2]=z;P=D;Q=z;R=z}else{P=O*48|0;Q=t;R=t}FVa(Q|0,0,P|0)|0;P=c+12|0;Q=c+8|0;z=c+16|0;c=f[e>>2]|0;e=f[B>>2]|0;B=0;do{D=e+(X(c,B)|0)|0;if((B|0)>0){q=R+(B*48|0)|0;r=R+((B+-1|0)*48|0)|0;s=q+48|0;do{f[q>>2]=f[r>>2];q=q+4|0;r=r+4|0}while((q|0)<(s|0))}I=+(j[D>>1]|0)*.5+.5;H=+(j[D+2>>1]|0)*.5+.5;A=~~I;v=A-(I<+(A|0)&1)|0;A=~~H;F=A-(H<+(A|0)&1)|0;if(((v|0)>0?(A=f[P>>2]|0,(F|0)>0&(v+1|0)<(A|0)):0)?(y=F+1|0,(y|0)<(f[Q>>2]|0)):0){E=f[z>>2]|0;C=(X(A,F)|0)+v|0;S=(h[E+(C+1)>>0]|0)-(h[E+(C+-1)>>0]|0)|0;C=E+((X(A,y)|0)+v)|0;y=E+((X(A,F+-1|0)|0)+v)|0;v=(h[C>>0]|0)-(h[y>>0]|0)|0;U=+L(+(+((X(v,v)|0)+(X(S,S)|0)|0)))+1.0}else U=1.0;G=I*U;S=R+(B*48|0)|0;p[S>>3]=+p[S>>3]+G;M=H*U;S=R+(B*48|0)+8|0;p[S>>3]=M+ +p[S>>3];S=R+(B*48|0)+16|0;p[S>>3]=I*G+ +p[S>>3];S=R+(B*48|0)+32|0;p[S>>3]=H*G+ +p[S>>3];S=R+(B*48|0)+24|0;p[S>>3]=H*M+ +p[S>>3];S=R+(B*48|0)+40|0;p[S>>3]=U+ +p[S>>3];B=B+1|0}while((B|0)!=(O|0));do if(!(cza(a,O,R,l)|0))V=0;else{B=a+4|0;z=0;do{if((z|0)>=4){W=35;break}Q=z;z=z+1|0;aza(R,O,f[l+(Q<<2)>>2]|0,f[l+((z&3)<<2)>>2]|0,m+(Q<<5)|0,0,o)}while(!(+p[o>>3]>+n[(f[B>>2]|0)+156>>2]));if(((((W|0)==35?(U=+p[m+24>>3],M=+p[m+56>>3],H=+p[m+16>>3],G=+p[m+48>>3],I=+p[m>>3],J=U*G-M*H,!(+K(+J)<.001)):0)?(N=+p[m+8>>3],Y=+p[m+40>>3],Z=+p[m+32>>3],_=1.0/J,J=M*_*(Y-N)+G*_*(Z-I),_=I+U*J,n[g>>2]=_,$=N-H*J,z=g+4|0,n[z>>2]=$,J=+p[m+88>>3],aa=+p[m+80>>3],ba=M*aa-J*G,!(+K(+ba)<.001)):0)?(ca=+p[m+72>>3],da=+p[m+64>>3],ea=1.0/ba,ba=J*ea*(ca-Y)+aa*ea*(da-Z),ea=Z+M*ba,D=g+8|0,n[D>>2]=ea,M=Y-G*ba,Q=g+12|0,n[Q>>2]=M,ba=+p[m+120>>3],G=+p[m+112>>3],Y=J*G-ba*aa,!(+K(+Y)<.001)):0)?(Z=+p[m+104>>3],fa=+p[m+96>>3],ga=1.0/Y,Y=ba*ga*(Z-ca)+G*ga*(fa-da),ga=da+J*Y,P=g+16|0,n[P>>2]=ga,J=ca-aa*Y,r=g+20|0,n[r>>2]=J,Y=ba*H-U*G,!(+K(+Y)<.001)):0){aa=1.0/Y;Y=U*aa*(N-Z)+H*aa*(I-fa);I=fa+ba*Y;n[g+24>>2]=I;ba=Z-G*Y;n[g+28>>2]=ba;Y=ea-_;G=M-$;Z=+L(+(Y*Y+G*G));G=ga-ea;ea=J-M;M=+L(+(G*G+ea*ea));ea=_-ga;G=$-J;Y=+L(+(ea*ea+G*G));G=(Z+M+Y)*.5;ea=I-ga;fa=ba-J;aa=+L(+(ea*ea+fa*fa));fa=_-I;ea=$-ba;H=+L(+(fa*fa+ea*ea));ea=ga-_;_=J-$;$=+L(+(ea*ea+_*_));_=(aa+H+$)*.5;q=+L(+((G-Y)*((G-M)*(G*(G-Z)))))+0.0+ +L(+((_-$)*((_-H)*(_*(_-aa)))))<64.0;s=q^1;if(q){V=s;break}aa=+n[(f[B>>2]|0)+152>>2];_=3.141592653589793-aa;H=+n[z>>2];$=+n[Q>>2];Z=+n[g>>2];G=+n[D>>2];M=+T(+(H-$),+(Z-G));Y=+n[r>>2];ea=+n[P>>2];J=M-+T(+(Y-$),+(ea-G));M=J<0.0?J+6.283185307179586:J;J=+T(+($-Y),+(G-ea))-+T(+(ba-Y),+(I-ea));ga=J<0.0?J+6.283185307179586:J;J=+T(+(Y-ba),+(ea-I))-+T(+(H-ba),+(Z-I));ea=J<0.0?J+6.283185307179586:J;J=+T(+(ba-H),+(I-Z))-+T(+($-H),+(G-Z));Z=J<0.0?J+6.283185307179586:J;J=M+0.0+ga+ea+Z;V=!(M>_)&!(M_)&!(ga_)&!(ea_)&!(Z6.4)&!(J<6.2));break}V=0}while(0);g=V&1;V=f[k>>2]|0;if((V|0)!=(t|0)){if(V|0)HQa(V);f[k>>2]=t;f[x>>2]=64}w=g;u=i;return w|0}function eza(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0.0,j=0.0,k=0,l=0.0,m=0,o=0,p=0,q=0.0,r=0.0,s=0,t=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0,B=0,C=0,D=0,E=0,F=0.0,G=0.0,H=0,I=0,J=0.0,K=0.0,L=0,M=0,N=0.0,O=0.0,P=0,Q=0,R=0.0,S=0.0,T=0,U=0,V=0.0,W=0.0,X=0,Y=0,Z=0.0,_=0.0,$=0,aa=0,ba=0.0,ca=0.0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;c=u;u=u+12304|0;d=c;if((b|0)<2){u=c;return}switch(b|0){case 2:{if(+n[a+4>>2]>+n[a+16>>2]){e=a+12|0;f[d>>2]=f[a>>2];f[d+4>>2]=f[a+4>>2];f[d+8>>2]=f[a+8>>2];f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];f[e>>2]=f[d>>2];f[e+4>>2]=f[d+4>>2];f[e+8>>2]=f[d+8>>2]}u=c;return}case 3:{e=a+4|0;g=a+12|0;h=a+16|0;i=+n[h>>2];if(+n[e>>2]>i){f[d>>2]=f[a>>2];f[d+4>>2]=f[a+4>>2];f[d+8>>2]=f[a+8>>2];f[a>>2]=f[g>>2];f[a+4>>2]=f[g+4>>2];f[a+8>>2]=f[g+8>>2];f[g>>2]=f[d>>2];f[g+4>>2]=f[d+4>>2];f[g+8>>2]=f[d+8>>2];j=+n[h>>2]}else j=i;if(j>+n[a+28>>2]){k=a+24|0;f[d>>2]=f[g>>2];f[d+4>>2]=f[g+4>>2];f[d+8>>2]=f[g+8>>2];f[g>>2]=f[k>>2];f[g+4>>2]=f[k+4>>2];f[g+8>>2]=f[k+8>>2];f[k>>2]=f[d>>2];f[k+4>>2]=f[d+4>>2];f[k+8>>2]=f[d+8>>2];l=+n[h>>2]}else l=j;if(+n[e>>2]>l){f[d>>2]=f[a>>2];f[d+4>>2]=f[a+4>>2];f[d+8>>2]=f[a+8>>2];f[a>>2]=f[g>>2];f[a+4>>2]=f[g+4>>2];f[a+8>>2]=f[g+8>>2];f[g>>2]=f[d>>2];f[g+4>>2]=f[d+4>>2];f[g+8>>2]=f[d+8>>2]}u=c;return}case 4:{g=a+4|0;e=a+12|0;h=a+16|0;if(+n[g>>2]>+n[h>>2]){f[d>>2]=f[a>>2];f[d+4>>2]=f[a+4>>2];f[d+8>>2]=f[a+8>>2];f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];f[e>>2]=f[d>>2];f[e+4>>2]=f[d+4>>2];f[e+8>>2]=f[d+8>>2]}k=a+24|0;m=a+28|0;l=+n[m>>2];o=a+36|0;p=a+40|0;if(l>+n[p>>2]){f[d>>2]=f[k>>2];f[d+4>>2]=f[k+4>>2];f[d+8>>2]=f[k+8>>2];f[k>>2]=f[o>>2];f[k+4>>2]=f[o+4>>2];f[k+8>>2]=f[o+8>>2];f[o>>2]=f[d>>2];f[o+4>>2]=f[d+4>>2];f[o+8>>2]=f[d+8>>2];q=+n[m>>2]}else q=l;if(+n[g>>2]>q){f[d>>2]=f[a>>2];f[d+4>>2]=f[a+4>>2];f[d+8>>2]=f[a+8>>2];f[a>>2]=f[k>>2];f[a+4>>2]=f[k+4>>2];f[a+8>>2]=f[k+8>>2];f[k>>2]=f[d>>2];f[k+4>>2]=f[d+4>>2];f[k+8>>2]=f[d+8>>2]}q=+n[h>>2];if(q>+n[p>>2]){f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[e>>2]=f[o>>2];f[e+4>>2]=f[o+4>>2];f[e+8>>2]=f[o+8>>2];f[o>>2]=f[d>>2];f[o+4>>2]=f[d+4>>2];f[o+8>>2]=f[d+8>>2];r=+n[h>>2]}else r=q;if(r>+n[m>>2]){f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[e>>2]=f[k>>2];f[e+4>>2]=f[k+4>>2];f[e+8>>2]=f[k+8>>2];f[k>>2]=f[d>>2];f[k+4>>2]=f[d+4>>2];f[k+8>>2]=f[d+8>>2]}u=c;return}case 5:{k=a+4|0;e=a+12|0;m=a+16|0;if(+n[k>>2]>+n[m>>2]){f[d>>2]=f[a>>2];f[d+4>>2]=f[a+4>>2];f[d+8>>2]=f[a+8>>2];f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];f[e>>2]=f[d>>2];f[e+4>>2]=f[d+4>>2];f[e+8>>2]=f[d+8>>2]}h=a+36|0;o=a+40|0;p=a+48|0;g=a+52|0;if(+n[o>>2]>+n[g>>2]){f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];f[d+8>>2]=f[h+8>>2];f[h>>2]=f[p>>2];f[h+4>>2]=f[p+4>>2];f[h+8>>2]=f[p+8>>2];f[p>>2]=f[d>>2];f[p+4>>2]=f[d+4>>2];f[p+8>>2]=f[d+8>>2]}r=+n[m>>2];s=a+24|0;t=a+28|0;if(r>+n[t>>2]){f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[e>>2]=f[s>>2];f[e+4>>2]=f[s+4>>2];f[e+8>>2]=f[s+8>>2];f[s>>2]=f[d>>2];f[s+4>>2]=f[d+4>>2];f[s+8>>2]=f[d+8>>2];v=+n[m>>2]}else v=r;r=+n[k>>2];if(r>v){f[d>>2]=f[a>>2];f[d+4>>2]=f[a+4>>2];f[d+8>>2]=f[a+8>>2];f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];f[e>>2]=f[d>>2];f[e+4>>2]=f[d+4>>2];f[e+8>>2]=f[d+8>>2];w=+n[k>>2]}else w=r;if(w>+n[o>>2]){f[d>>2]=f[a>>2];f[d+4>>2]=f[a+4>>2];f[d+8>>2]=f[a+8>>2];f[a>>2]=f[h>>2];f[a+4>>2]=f[h+4>>2];f[a+8>>2]=f[h+8>>2];f[h>>2]=f[d>>2];f[h+4>>2]=f[d+4>>2];f[h+8>>2]=f[d+8>>2]}w=+n[t>>2];if(w>+n[g>>2]){f[d>>2]=f[s>>2];f[d+4>>2]=f[s+4>>2];f[d+8>>2]=f[s+8>>2];f[s>>2]=f[p>>2];f[s+4>>2]=f[p+4>>2];f[s+8>>2]=f[p+8>>2];f[p>>2]=f[d>>2];f[p+4>>2]=f[d+4>>2];f[p+8>>2]=f[d+8>>2];x=+n[t>>2]}else x=w;if(+n[m>>2]>x){f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[e>>2]=f[s>>2];f[e+4>>2]=f[s+4>>2];f[e+8>>2]=f[s+8>>2];f[s>>2]=f[d>>2];f[s+4>>2]=f[d+4>>2];f[s+8>>2]=f[d+8>>2];y=+n[t>>2]}else y=x;if(y>+n[o>>2]){f[d>>2]=f[s>>2];f[d+4>>2]=f[s+4>>2];f[d+8>>2]=f[s+8>>2];f[s>>2]=f[h>>2];f[s+4>>2]=f[h+4>>2];f[s+8>>2]=f[h+8>>2];f[h>>2]=f[d>>2];f[h+4>>2]=f[d+4>>2];f[h+8>>2]=f[d+8>>2];z=+n[t>>2]}else z=y;if(+n[m>>2]>z){f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[e>>2]=f[s>>2];f[e+4>>2]=f[s+4>>2];f[e+8>>2]=f[s+8>>2];f[s>>2]=f[d>>2];f[s+4>>2]=f[d+4>>2];f[s+8>>2]=f[d+8>>2]}u=c;return}default:{s=d+8|0;f[d>>2]=s;e=d+4|0;f[e>>2]=b;if(b>>>0>1024){m=b*12|0;t=FQa(b>>>0>357913941?-1:m)|0;f[d>>2]=t;A=m;B=t;C=t}else{A=b*12|0;B=s;C=s}DVa(B|0,a|0,A|0)|0;A=b>>>1;B=b-A|0;t=C+(A*12|0)|0;eza(C,A);eza(t,B);if(b>>>0>17&(B|0)>8){b=0;m=0;h=0;while(1){z=+n[C+(h*12|0)+4>>2];o=t+(m*12|0)|0;y=+n[o+4>>2];if(z>2]=f[p>>2];f[k+4>>2]=f[p+4>>2];f[k+8>>2]=f[p+8>>2];D=m;E=g;F=y;G=+n[C+(g*12|0)+4>>2]}else{g=m+1|0;p=a+(b*12|0)|0;f[p>>2]=f[o>>2];f[p+4>>2]=f[o+4>>2];f[p+8>>2]=f[o+8>>2];D=g;E=h;F=+n[t+(g*12|0)+4>>2];G=z}g=b|1;if(G>2]=f[o>>2];f[k+4>>2]=f[o+4>>2];f[k+8>>2]=f[o+8>>2];H=D;I=p;J=F;K=+n[C+(p*12|0)+4>>2]}else{p=t+(D*12|0)|0;o=D+1|0;k=a+(g*12|0)|0;f[k>>2]=f[p>>2];f[k+4>>2]=f[p+4>>2];f[k+8>>2]=f[p+8>>2];H=o;I=E;J=+n[t+(o*12|0)+4>>2];K=G}o=b|2;if(K>2]=f[p>>2];f[g+4>>2]=f[p+4>>2];f[g+8>>2]=f[p+8>>2];L=H;M=k;N=J;O=+n[C+(k*12|0)+4>>2]}else{k=t+(H*12|0)|0;p=H+1|0;g=a+(o*12|0)|0;f[g>>2]=f[k>>2];f[g+4>>2]=f[k+4>>2];f[g+8>>2]=f[k+8>>2];L=p;M=I;N=+n[t+(p*12|0)+4>>2];O=K}p=b|3;if(O>2]=f[k>>2];f[o+4>>2]=f[k+4>>2];f[o+8>>2]=f[k+8>>2];P=L;Q=g;R=N;S=+n[C+(g*12|0)+4>>2]}else{g=t+(L*12|0)|0;k=L+1|0;o=a+(p*12|0)|0;f[o>>2]=f[g>>2];f[o+4>>2]=f[g+4>>2];f[o+8>>2]=f[g+8>>2];P=k;Q=M;R=+n[t+(k*12|0)+4>>2];S=O}k=b|4;if(S>2]=f[g>>2];f[p+4>>2]=f[g+4>>2];f[p+8>>2]=f[g+8>>2];T=P;U=o;V=R;W=+n[C+(o*12|0)+4>>2]}else{o=t+(P*12|0)|0;g=P+1|0;p=a+(k*12|0)|0;f[p>>2]=f[o>>2];f[p+4>>2]=f[o+4>>2];f[p+8>>2]=f[o+8>>2];T=g;U=Q;V=+n[t+(g*12|0)+4>>2];W=S}g=b|5;if(W>2]=f[o>>2];f[k+4>>2]=f[o+4>>2];f[k+8>>2]=f[o+8>>2];X=T;Y=p;Z=V;_=+n[C+(p*12|0)+4>>2]}else{p=t+(T*12|0)|0;o=T+1|0;k=a+(g*12|0)|0;f[k>>2]=f[p>>2];f[k+4>>2]=f[p+4>>2];f[k+8>>2]=f[p+8>>2];X=o;Y=U;Z=+n[t+(o*12|0)+4>>2];_=W}o=b|6;if(_>2]=f[p>>2];f[g+4>>2]=f[p+4>>2];f[g+8>>2]=f[p+8>>2];$=X;aa=k;ba=Z;ca=+n[C+(k*12|0)+4>>2]}else{k=t+(X*12|0)|0;p=X+1|0;g=a+(o*12|0)|0;f[g>>2]=f[k>>2];f[g+4>>2]=f[k+4>>2];f[g+8>>2]=f[k+8>>2];$=p;aa=Y;ba=+n[t+(p*12|0)+4>>2];ca=_}p=b|7;if(ca>2]=f[k>>2];f[g+4>>2]=f[k+4>>2];f[g+8>>2]=f[k+8>>2];da=$;ea=aa+1|0}else{k=t+($*12|0)|0;g=a+(p*12|0)|0;f[g>>2]=f[k>>2];f[g+4>>2]=f[k+4>>2];f[g+8>>2]=f[k+8>>2];da=$+1|0;ea=aa}k=b+8|0;if((ea+8|0)<(A|0)&(da+8|0)<(B|0)){b=k;m=da;h=ea}else{fa=k;ga=da;ha=ea;break}}}else{fa=0;ga=0;ha=0}ea=(A|0)>(ha|0);da=(B|0)>(ga|0);a:do if(ea&da){h=fa;m=ga;b=ha;b:while(1){ba=+n[C+(b*12|0)+4>>2];aa=h;$=m;while(1){Y=t+($*12|0)|0;if(ba<+n[Y+4>>2])break;X=$+1|0;ia=aa+1|0;U=a+(aa*12|0)|0;f[U>>2]=f[Y>>2];f[U+4>>2]=f[Y+4>>2];f[U+8>>2]=f[Y+8>>2];if((B|0)>(X|0)){aa=ia;$=X}else break b}X=C+(b*12|0)|0;Y=b+1|0;U=aa+1|0;T=a+(aa*12|0)|0;f[T>>2]=f[X>>2];f[T+4>>2]=f[X+4>>2];f[T+8>>2]=f[X+8>>2];X=(A|0)>(Y|0);T=(B|0)>($|0);if(X&T){h=U;m=$;b=Y}else{ja=U;ka=$;la=Y;ma=T;na=X;oa=78;break a}}DVa(a+(ia*12|0)|0,C+(b*12|0)|0,(A-b|0)*12|0)|0}else{ja=fa;ka=ga;la=ha;ma=da;na=ea;oa=78}while(0);do if((oa|0)==78){if(na){DVa(a+(ja*12|0)|0,C+(la*12|0)|0,(A-la|0)*12|0)|0;if(!ma)break}else if(!ma)break;DVa(a+(ja*12|0)|0,t+(ka*12|0)|0,(B-ka|0)*12|0)|0}while(0);ka=f[d>>2]|0;if((ka|0)!=(s|0)){if(ka|0)HQa(ka);f[d>>2]=s;f[e>>2]=1024}u=c;return}}}function fza(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0;e=u;u=u+64|0;g=e+56|0;i=e;j=f[a+12>>2]|0;k=f[a+8>>2]|0;l=f[a+48>>2]|0;if((j|0)>=32768){f[g>>2]=0;f[g+4>>2]=0;m=JV(g,9)|0;n=351543;o=m+9|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,g,351553,351387,1090);KV(g)}if((k|0)>=32768){f[g>>2]=0;f[g+4>>2]=0;m=JV(g,9)|0;n=351563;o=m+9|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,g,351553,351387,1091);KV(g)}if((f[d+48>>2]|0)!=(l|0)){f[g>>2]=0;f[g+4>>2]=0;m=JV(g,27)|0;n=351573;o=m+27|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,g,351553,351387,1093);KV(g)}n=(j|0)/4|0;p=(k|0)/4|0;q=X(p,n)|0;r=_Ba(q,1)|0;s=_Ba(q,1)|0;t=(k|0)>3;if(t&(j|0)>3){v=f[a+16>>2]|0;w=0;do{x=w<<2;y=X(w,n)|0;z=X(x|3,l)|0;A=X(x,l)|0;B=X(x|1,l)|0;C=X(x|2,l)|0;x=0;do{D=x<<2;E=A+D|0;F=b[v+E>>0]|0;G=b[v+(E|1)>>0]|0;H=(G&255)<(F&255)?G:F;I=(G&255)>(F&255)?G:F;F=b[v+(E|2)>>0]|0;G=(F&255)<(H&255)?F:H;H=(F&255)>(I&255)?F:I;I=b[v+(E|3)>>0]|0;E=(I&255)<(G&255)?I:G;G=(I&255)>(H&255)?I:H;H=B+D|0;I=b[v+H>>0]|0;F=(I&255)<(E&255)?I:E;E=(I&255)>(G&255)?I:G;G=b[v+(H+1)>>0]|0;I=(G&255)<(F&255)?G:F;F=(G&255)>(E&255)?G:E;E=b[v+(H+2)>>0]|0;G=(E&255)<(I&255)?E:I;I=(E&255)>(F&255)?E:F;F=b[v+(H+3)>>0]|0;H=(F&255)<(G&255)?F:G;G=(F&255)>(I&255)?F:I;I=C+D|0;F=b[v+I>>0]|0;E=(F&255)<(H&255)?F:H;H=(F&255)>(G&255)?F:G;G=b[v+(I|1)>>0]|0;F=(G&255)<(E&255)?G:E;E=(G&255)>(H&255)?G:H;H=b[v+(I+2)>>0]|0;G=(H&255)<(F&255)?H:F;F=(H&255)>(E&255)?H:E;E=b[v+(I+3)>>0]|0;I=(E&255)<(G&255)?E:G;G=(E&255)>(F&255)?E:F;F=z+D|0;D=b[v+F>>0]|0;E=(D&255)<(I&255)?D:I;I=(D&255)>(G&255)?D:G;G=b[v+(F+1)>>0]|0;D=(G&255)<(E&255)?G:E;E=(G&255)>(I&255)?G:I;I=b[v+(F+2)>>0]|0;G=(I&255)<(D&255)?I:D;D=(I&255)>(E&255)?I:E;E=b[v+(F+3)>>0]|0;F=x+y|0;b[r+F>>0]=(E&255)>(D&255)?E:D;b[s+F>>0]=(E&255)<(G&255)?E:G;x=x+1|0}while((x|0)!=(n|0));w=w+1|0}while((w|0)!=(p|0))}w=_Ba(q,1)|0;v=_Ba(q,1)|0;if(t&(j|0)>3){q=0;do{x=X(q,n)|0;y=(q|0)>0;z=X(q+-1|0,n)|0;q=q+1|0;C=(q|0)<(p|0);B=X(q,n)|0;A=0;while(1){if(y){G=z+A|0;if((A|0)>0){E=G+-1|0;J=b[r+E>>0]|0;K=b[s+E>>0]|0}else{J=0;K=-1}E=b[r+G>>0]|0;F=(E&255)>(J&255)?E:J;E=b[s+G>>0]|0;D=(E&255)<(K&255)?E:K;if((A+1|0)<(n|0)){E=G+1|0;G=b[r+E>>0]|0;I=b[s+E>>0]|0;L=(G&255)>(F&255)?G:F;M=(I&255)<(D&255)?I:D}else{L=F;M=D}}else{L=0;M=-1}D=x+A|0;if((A|0)>0){F=D+-1|0;I=b[r+F>>0]|0;G=b[s+F>>0]|0;N=(I&255)>(L&255)?I:L;O=(G&255)<(M&255)?G:M}else{N=L;O=M}G=b[r+D>>0]|0;I=(G&255)>(N&255)?G:N;G=b[s+D>>0]|0;F=(G&255)<(O&255)?G:O;if((A+1|0)<(n|0)){G=D+1|0;D=b[r+G>>0]|0;E=b[s+G>>0]|0;P=(D&255)>(I&255)?D:I;Q=(E&255)<(F&255)?E:F}else{P=I;Q=F}if(C){F=B+A|0;if((A|0)>0){I=F+-1|0;E=b[r+I>>0]|0;D=b[s+I>>0]|0;R=(E&255)>(P&255)?E:P;S=(D&255)<(Q&255)?D:Q}else{R=P;S=Q}D=b[r+F>>0]|0;E=(D&255)>(R&255)?D:R;D=b[s+F>>0]|0;I=(D&255)<(S&255)?D:S;D=A+1|0;if((D|0)<(n|0)){G=F+1|0;F=b[r+G>>0]|0;H=b[s+G>>0]|0;T=(F&255)>(E&255)?F:E;U=(H&255)<(I&255)?H:I;V=D}else{T=E;U=I;V=D}}else{T=P;U=Q;V=A+1|0}D=A+x|0;b[w+D>>0]=T;b[v+D>>0]=U;if((V|0)==(n|0))break;else A=V}}while((q|0)!=(p|0))}ZBa(r);ZBa(s);if(t){t=c+4|0;s=d+16|0;r=a+16|0;if((j|0)>3){q=0;do{V=X(q,n)|0;U=q<<2;T=X(U,l)|0;Q=X(U|1,l)|0;P=X(U|2,l)|0;S=X(U|3,l)|0;R=X(U,l)|0;O=X(U|1,l)|0;N=X(U|2,l)|0;M=X(U|3,l)|0;U=0;do{L=U+V|0;K=h[v+L>>0]|0;J=h[w+L>>0]|0;if((J-K|0)<(f[(f[t>>2]|0)+160>>2]|0)){L=U<<2;A=T+L|0;b[(f[s>>2]|0)+A>>0]=127;b[(f[s>>2]|0)+(A|1)>>0]=127;b[(f[s>>2]|0)+(A|2)>>0]=127;b[(f[s>>2]|0)+(A|3)>>0]=127;A=Q+L|0;b[(f[s>>2]|0)+A>>0]=127;b[(f[s>>2]|0)+(A+1)>>0]=127;b[(f[s>>2]|0)+(A+2)>>0]=127;b[(f[s>>2]|0)+(A+3)>>0]=127;A=P+L|0;b[(f[s>>2]|0)+A>>0]=127;b[(f[s>>2]|0)+(A|1)>>0]=127;b[(f[s>>2]|0)+(A+2)>>0]=127;b[(f[s>>2]|0)+(A+3)>>0]=127;A=S+L|0;b[(f[s>>2]|0)+A>>0]=127;b[(f[s>>2]|0)+(A+1)>>0]=127;b[(f[s>>2]|0)+(A+2)>>0]=127;W=127;Y=(f[s>>2]|0)+(A+3)|0}else{A=(J+K|0)>>>1&255;K=U<<2;J=R+K|0;b[(f[s>>2]|0)+J>>0]=((h[(f[r>>2]|0)+J>>0]|0)>(A&255))<<31>>31;L=J|1;b[(f[s>>2]|0)+L>>0]=((h[(f[r>>2]|0)+L>>0]|0)>(A&255))<<31>>31;L=J|2;b[(f[s>>2]|0)+L>>0]=((h[(f[r>>2]|0)+L>>0]|0)>(A&255))<<31>>31;L=J|3;b[(f[s>>2]|0)+L>>0]=((h[(f[r>>2]|0)+L>>0]|0)>(A&255))<<31>>31;L=O+K|0;b[(f[s>>2]|0)+L>>0]=((h[(f[r>>2]|0)+L>>0]|0)>(A&255))<<31>>31;J=L+1|0;b[(f[s>>2]|0)+J>>0]=((h[(f[r>>2]|0)+J>>0]|0)>(A&255))<<31>>31;J=L+2|0;b[(f[s>>2]|0)+J>>0]=((h[(f[r>>2]|0)+J>>0]|0)>(A&255))<<31>>31;J=L+3|0;b[(f[s>>2]|0)+J>>0]=((h[(f[r>>2]|0)+J>>0]|0)>(A&255))<<31>>31;J=N+K|0;b[(f[s>>2]|0)+J>>0]=((h[(f[r>>2]|0)+J>>0]|0)>(A&255))<<31>>31;L=J|1;b[(f[s>>2]|0)+L>>0]=((h[(f[r>>2]|0)+L>>0]|0)>(A&255))<<31>>31;L=J+2|0;b[(f[s>>2]|0)+L>>0]=((h[(f[r>>2]|0)+L>>0]|0)>(A&255))<<31>>31;L=J+3|0;b[(f[s>>2]|0)+L>>0]=((h[(f[r>>2]|0)+L>>0]|0)>(A&255))<<31>>31;L=M+K|0;b[(f[s>>2]|0)+L>>0]=((h[(f[r>>2]|0)+L>>0]|0)>(A&255))<<31>>31;K=L+1|0;b[(f[s>>2]|0)+K>>0]=((h[(f[r>>2]|0)+K>>0]|0)>(A&255))<<31>>31;K=L+2|0;b[(f[s>>2]|0)+K>>0]=((h[(f[r>>2]|0)+K>>0]|0)>(A&255))<<31>>31;K=L+3|0;W=((h[(f[r>>2]|0)+K>>0]|0)>(A&255))<<31>>31;Y=(f[s>>2]|0)+K|0}b[Y>>0]=W;U=U+1|0}while((U|0)!=(n|0));q=q+1|0}while((q|0)!=(p|0));Z=26}else Z=27}else Z=26;if((Z|0)==26?(k|0)>0:0)Z=27;if((Z|0)==27){Z=p<<2;q=n<<2;W=p+-1|0;Y=n+-1|0;s=a+16|0;r=d+16|0;t=0;do{U=(t|0)<(Z|0)?q:0;M=t>>>2;if((U|0)<(j|0)){N=X((M|0)<(p|0)?M:W,n)|0;M=X(t,l)|0;O=U;do{U=(O|0)/4|0;R=((U|0)<(n|0)?U:Y)+N|0;U=h[v+R>>0]|0;S=O+M|0;b[(f[r>>2]|0)+S>>0]=(((((h[w+R>>0]|0)-U|0)/2|0)+U|0)<(h[(f[s>>2]|0)+S>>0]|0|0))<<31>>31;O=O+1|0}while((O|0)!=(j|0))}t=t+1|0}while((t|0)!=(k|0))}ZBa(v);ZBa(w);if(!(f[(f[c+4>>2]|0)+164>>2]|0)){u=e;return}c=f[a>>2]&4095;f[i>>2]=1124007936;a=i+4|0;w=i+8|0;v=i+40|0;m=a;o=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(o|0));f[v>>2]=w;w=i+48|0;m=i+44|0;f[m>>2]=w;f[w>>2]=0;f[i+52>>2]=0;f[g>>2]=k;f[g+4>>2]=j;VO(i,2,g,c);c=(k|0)>2;if(c?(g=d+16|0,o=i+16|0,(j|0)>2):0){t=1;s=2;while(1){r=X(t,l)|0;Y=X(t+1|0,l)|0;n=X(t+-1|0,l)|0;W=1;p=2;while(1){q=f[g>>2]|0;Z=n+W|0;O=b[q+(Z+-1)>>0]|0;M=b[q+Z>>0]|0;N=(M&255)>(O&255)?M:O;O=b[q+(Z+1)>>0]|0;Z=(O&255)>(N&255)?O:N;N=r+W|0;O=b[q+(N+-1)>>0]|0;M=(O&255)>(Z&255)?O:Z;Z=b[q+N>>0]|0;O=(Z&255)>(M&255)?Z:M;M=b[q+(N+1)>>0]|0;Z=(M&255)>(O&255)?M:O;O=Y+W|0;M=b[q+(O+-1)>>0]|0;S=(M&255)>(Z&255)?M:Z;Z=b[q+O>>0]|0;M=(Z&255)>(S&255)?Z:S;S=b[q+(O+1)>>0]|0;b[(f[o>>2]|0)+N>>0]=(S&255)>(M&255)?S:M;M=p+1|0;if((M|0)==(j|0))break;else{S=p;p=M;W=S}}W=s+1|0;if((W|0)==(k|0))break;else{p=s;s=W;t=p}}if(c?(c=i+16|0,t=d+16|0,(j|0)>2):0){d=1;s=2;while(1){o=X(d,l)|0;g=X(d+1|0,l)|0;p=X(d+-1|0,l)|0;W=1;Y=2;while(1){r=f[c>>2]|0;n=p+W|0;S=b[r+(n+-1)>>0]|0;M=b[r+n>>0]|0;N=(M&255)<(S&255)?M:S;S=b[r+(n+1)>>0]|0;n=(S&255)<(N&255)?S:N;N=o+W|0;S=b[r+(N+-1)>>0]|0;M=(S&255)<(n&255)?S:n;n=b[r+N>>0]|0;S=(n&255)<(M&255)?n:M;M=b[r+(N+1)>>0]|0;n=(M&255)<(S&255)?M:S;S=g+W|0;M=b[r+(S+-1)>>0]|0;O=(M&255)<(n&255)?M:n;n=b[r+S>>0]|0;M=(n&255)<(O&255)?n:O;O=b[r+(S+1)>>0]|0;b[(f[t>>2]|0)+N>>0]=(O&255)<(M&255)?O:M;M=Y+1|0;if((M|0)==(j|0))break;else{O=Y;Y=M;W=O}}W=s+1|0;if((W|0)==(k|0))break;else{Y=s;s=W;d=Y}}}}d=i+36|0;s=f[d>>2]|0;if(s|0?(k=s+12|0,s=f[k>>2]|0,f[k>>2]=s+-1,(s|0)==1):0)XO(i);f[d>>2]=0;d=i+16|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[a>>2]|0)>0){d=f[v>>2]|0;v=0;do{f[d+(v<<2)>>2]=0;v=v+1|0}while((v|0)<(f[a>>2]|0))}a=f[m>>2]|0;if((a|0)!=(w|0))dX(a);u=e;return}function gza(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0;g=u;u=u+272|0;i=g+256|0;k=g+224|0;l=g+168|0;m=g;n=g+112|0;o=g+56|0;p=c+12|0;q=f[p>>2]|0;r=c+8|0;s=f[r>>2]|0;t=f[c>>2]&4095;f[m>>2]=1124007936;v=m+4|0;w=m+8|0;x=m+40|0;y=v;z=y+36|0;do{f[y>>2]=0;y=y+4|0}while((y|0)<(z|0));f[x>>2]=w;A=m+48|0;B=m+44|0;f[B>>2]=A;f[A>>2]=0;f[m+52>>2]=0;f[i>>2]=s;f[i+4>>2]=q;VO(m,2,i,t);f[n>>2]=f[c>>2];t=n+4|0;C=c+4|0;D=f[C>>2]|0;f[t>>2]=D;E=n+8|0;f[E>>2]=f[r>>2];f[n+12>>2]=f[p>>2];F=n+16|0;G=c+16|0;f[F>>2]=f[G>>2];H=c+20|0;f[n+20>>2]=f[H>>2];J=c+24|0;f[n+24>>2]=f[J>>2];K=c+28|0;f[n+28>>2]=f[K>>2];L=c+32|0;f[n+32>>2]=f[L>>2];M=n+36|0;N=c+36|0;O=f[N>>2]|0;f[M>>2]=O;P=n+40|0;f[P>>2]=E;E=n+48|0;Q=n+44|0;f[Q>>2]=E;f[E>>2]=0;f[n+52>>2]=0;if(!O)R=D;else{D=O+12|0;f[D>>2]=(f[D>>2]|0)+1;R=f[C>>2]|0}if((R|0)<3){R=f[c+44>>2]|0;D=f[Q>>2]|0;f[D>>2]=f[R>>2];f[D+4>>2]=f[R+4>>2]}else{f[t>>2]=0;WO(n,c)}fza(n,a,m);R=f[M>>2]|0;if(R|0?(D=R+12|0,R=f[D>>2]|0,f[D>>2]=R+-1,(R|0)==1):0)XO(n);f[M>>2]=0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;f[F+12>>2]=0;if((f[t>>2]|0)>0){F=f[P>>2]|0;P=0;do{f[F+(P<<2)>>2]=0;P=P+1|0}while((P|0)<(f[t>>2]|0))}t=f[Q>>2]|0;if((t|0)!=(E|0))dX(t);t=m+12|0;E=f[t>>2]|0;Q=X(s,q)|0;P=_Ba(1,8)|0;f[P>>2]=Q;F=YBa((Q<<3)+8|0)|0;M=P+4|0;f[M>>2]=F;n=0;do{f[F+(n<<3)+4>>2]=1;f[F+(n<<3)>>2]=n;n=n+1|0}while(n>>>0<=Q>>>0);Q=s+-1|0;if((s|0)>1){n=m+16|0;R=i+4|0;D=q+-1|0;O=(q|0)>2;S=q+1|0;T=i+4|0;U=0;do{V=U;U=U+1|0;if((U|0)>=(f[w>>2]|0)){f[i>>2]=0;f[T>>2]=0;y=JV(i,13)|0;W=351601;z=y+13|0;do{b[y>>0]=b[W>>0]|0;y=y+1|0;W=W+1|0}while((y|0)<(z|0));EP(-215,i,351615,351387,576);KV(i)}if(f[n>>2]|0){Y=f[v>>2]|0;if((Y|0)<3)Z=X(f[t>>2]|0,f[w>>2]|0)|0;else{_=f[x>>2]|0;$=0;aa=1;while(1){ba=X(f[_+($<<2)>>2]|0,aa)|0;$=$+1|0;if(($|0)==(Y|0)){Z=ba;break}else aa=ba}}if((Y|0)==0|(Z|0)==0)ca=31}else ca=31;if((ca|0)==31){ca=0;f[i>>2]=0;f[R>>2]=0;y=JV(i,11)|0;W=351633;z=y+11|0;do{b[y>>0]=b[W>>0]|0;y=y+1|0;W=W+1|0}while((y|0)<(z|0));EP(-215,i,351615,351387,577);KV(i)}if(O){Y=X(V,E)|0;aa=X(V,q)|0;$=Y+E|0;_=aa+q|0;ba=aa+D|0;da=S+aa|0;ea=f[n>>2]|0;fa=1;do{ga=fa+Y|0;ha=b[ea+ga>>0]|0;do if(ha<<24>>24!=127){if((b[ea+(ga+1)>>0]|0)==ha<<24>>24){ia=fa+aa|0;ja=ia;while(1){ka=f[F+(ja<<3)>>2]|0;if((ka|0)==(ja|0))break;else ja=ka}ka=ia+1|0;la=F+(ia<<3)|0;ma=f[la>>2]|0;if((ma|0)==(ja|0))na=ka;else{oa=la;la=ma;do{f[oa>>2]=ja;oa=F+(la<<3)|0;la=f[oa>>2]|0}while((la|0)!=(ja|0));na=ka}while(1){la=f[F+(na<<3)>>2]|0;if((la|0)==(na|0))break;else na=la}la=F+(ka<<3)|0;oa=f[la>>2]|0;if((oa|0)!=(na|0)){ia=la;la=oa;do{f[ia>>2]=na;ia=F+(la<<3)|0;la=f[ia>>2]|0}while((la|0)!=(na|0))}if((ja|0)!=(na|0)){la=f[F+(ja<<3)+4>>2]|0;ia=f[F+(na<<3)+4>>2]|0;ka=la>>>0>ia>>>0;oa=ka?ja:na;f[F+((ka?na:ja)<<3)>>2]=oa;ma=F+(oa<<3)+4|0;f[ma>>2]=(f[ma>>2]|0)+(ka?ia:la)}}la=$+fa|0;do if((b[ea+la>>0]|0)==ha<<24>>24){ia=fa+aa|0;ka=ia;while(1){ma=f[F+(ka<<3)>>2]|0;if((ma|0)==(ka|0))break;else ka=ma}ma=_+fa|0;oa=F+(ia<<3)|0;pa=f[oa>>2]|0;if((pa|0)==(ka|0))qa=ma;else{ra=oa;oa=pa;do{f[ra>>2]=ka;ra=F+(oa<<3)|0;oa=f[ra>>2]|0}while((oa|0)!=(ka|0));qa=ma}while(1){oa=f[F+(qa<<3)>>2]|0;if((oa|0)==(qa|0))break;else qa=oa}oa=F+(ma<<3)|0;ra=f[oa>>2]|0;if((ra|0)!=(qa|0)){ia=oa;oa=ra;do{f[ia>>2]=qa;ia=F+(oa<<3)|0;oa=f[ia>>2]|0}while((oa|0)!=(qa|0))}if((ka|0)==(qa|0))break;oa=f[F+(ka<<3)+4>>2]|0;ia=f[F+(qa<<3)+4>>2]|0;ma=oa>>>0>ia>>>0;ra=ma?ka:qa;f[F+((ma?qa:ka)<<3)>>2]=ra;pa=F+(ra<<3)+4|0;f[pa>>2]=(f[pa>>2]|0)+(ma?ia:oa)}while(0);if(ha<<24>>24==-1){do if((b[ea+(la+-1)>>0]|0)==-1){ja=fa+aa|0;oa=ja;while(1){ia=f[F+(oa<<3)>>2]|0;if((ia|0)==(oa|0))break;else oa=ia}ka=ba+fa|0;ia=F+(ja<<3)|0;ma=f[ia>>2]|0;if((ma|0)==(oa|0))sa=ka;else{pa=ia;ia=ma;do{f[pa>>2]=oa;pa=F+(ia<<3)|0;ia=f[pa>>2]|0}while((ia|0)!=(oa|0));sa=ka}while(1){ia=f[F+(sa<<3)>>2]|0;if((ia|0)==(sa|0))break;else sa=ia}ia=F+(ka<<3)|0;pa=f[ia>>2]|0;if((pa|0)!=(sa|0)){ja=ia;ia=pa;do{f[ja>>2]=sa;ja=F+(ia<<3)|0;ia=f[ja>>2]|0}while((ia|0)!=(sa|0))}if((oa|0)==(sa|0))break;ia=f[F+(oa<<3)+4>>2]|0;ja=f[F+(sa<<3)+4>>2]|0;ka=ia>>>0>ja>>>0;pa=ka?oa:sa;f[F+((ka?sa:oa)<<3)>>2]=pa;ma=F+(pa<<3)+4|0;f[ma>>2]=(f[ma>>2]|0)+(ka?ja:ia)}while(0);if((b[ea+(la+1)>>0]|0)==-1){ia=fa+aa|0;ja=ia;while(1){ka=f[F+(ja<<3)>>2]|0;if((ka|0)==(ja|0))break;else ja=ka}la=da+fa|0;ka=F+(ia<<3)|0;ma=f[ka>>2]|0;if((ma|0)==(ja|0))ta=la;else{pa=ka;ka=ma;do{f[pa>>2]=ja;pa=F+(ka<<3)|0;ka=f[pa>>2]|0}while((ka|0)!=(ja|0));ta=la}while(1){ka=f[F+(ta<<3)>>2]|0;if((ka|0)==(ta|0))break;else ta=ka}ka=F+(la<<3)|0;pa=f[ka>>2]|0;if((pa|0)!=(ta|0)){ia=ka;ka=pa;do{f[ia>>2]=ta;ia=F+(ka<<3)|0;ka=f[ia>>2]|0}while((ka|0)!=(ta|0))}if((ja|0)==(ta|0))break;ka=f[F+(ja<<3)+4>>2]|0;ia=f[F+(ta<<3)+4>>2]|0;la=ka>>>0>ia>>>0;pa=la?ja:ta;f[F+((la?ta:ja)<<3)>>2]=pa;ma=F+(pa<<3)+4|0;f[ma>>2]=(f[ma>>2]|0)+(la?ia:ka)}}}while(0);fa=fa+1|0}while((fa|0)!=(D|0))}}while((U|0)<(Q|0))}U=X(q<<1,s)|0;D=U+-1|0;ta=_Ba(D,4)|0;if((s|0)>2){sa=q+-1|0;qa=(q|0)>2;na=m+16|0;n=i+2|0;S=i+8|0;O=i+10|0;R=i+2|0;Z=i+8|0;w=i+10|0;t=i+2|0;T=i+8|0;fa=i+10|0;da=q+1|0;aa=i+2|0;ea=i+8|0;ba=i+10|0;_=1;do{if(qa){$=X(_,E)|0;Y=X(_,q)|0;V=_<<1;ha=(V>>>0<65535?V:65535)&65535;ga=$+E|0;ka=Y+q|0;ia=V|1;V=(ia>>>0<65536?ia:(ia|0)>0?65535:0)&65535;ia=sa+Y|0;la=da+Y|0;ma=1;do{pa=f[na>>2]|0;ra=ma+$|0;ua=b[pa+ra>>0]|0;va=ua&255;if(ua<<24>>24!=127){ua=ma+Y|0;wa=ua;while(1){xa=f[F+(wa<<3)>>2]|0;if((xa|0)==(wa|0))break;else wa=xa}xa=F+(ua<<3)|0;ya=f[xa>>2]|0;if((ya|0)!=(wa|0)){za=xa;xa=ya;do{f[za>>2]=wa;za=F+(xa<<3)|0;xa=f[za>>2]|0}while((xa|0)!=(wa|0))}xa=h[pa+(ra+1)>>0]|0;if((xa+va|0)==255){za=ua+1|0;ya=za;while(1){Aa=f[F+(ya<<3)>>2]|0;if((Aa|0)==(ya|0))break;else ya=Aa}ua=F+(za<<3)|0;ra=f[ua>>2]|0;if((ra|0)!=(ya|0)){Aa=ua;ua=ra;do{f[Aa>>2]=ya;Aa=F+(ua<<3)|0;ua=f[Aa>>2]|0}while((ua|0)!=(ya|0))}ua=wa>>>0>ya>>>0?wa:ya;Aa=wa>>>0>>0?wa:ya;wVa(Aa|0,ua|0,-1640531535,0)|0;za=ta+(((I>>>0)%(D>>>0)|0)<<2)|0;ra=f[za>>2]|0;Ba=ra;a:do if(!ra)ca=91;else{Ca=ra;while(1){Da=Ca;if((f[Da>>2]|0)==(Aa|0)?(f[Da+4>>2]|0)==(ua|0):0){Ea=Ca;break a}Ca=f[Ca+12>>2]|0;if(!Ca){ca=91;break}}}while(0);if((ca|0)==91){ca=0;ra=_Ba(1,16)|0;ya=ra;f[ya>>2]=Aa;f[ya+4>>2]=ua;ya=_Ba(1,16)|0;f[ya>>2]=12;f[ra+8>>2]=ya;f[ra+12>>2]=Ba;f[za>>2]=ra;Ea=ra}ra=ma<<1|1;d[i>>1]=ra>>>0<65536?ra:(ra|0)>0?65535:0;d[n>>1]=ha;ra=xa-va|0;d[S>>1]=ra>>>0<65536?ra:(ra|0)>0?65535:0;d[O>>1]=0;ra=f[Ea+8>>2]|0;ya=ra+4|0;Ca=f[ya>>2]|0;ja=ra+8|0;Da=f[ja>>2]|0;if((Da|0)>(Ca|0)){Fa=ra;Ga=Ca;Ha=f[ra+12>>2]|0}else{Ia=Da;do Ia=(Ia|0)<4?8:Ia<<1;while((Ia|0)<=(Ca|0));f[ja>>2]=Ia;Ca=ra+12|0;xa=$Ba(f[Ca>>2]|0,X(f[ra>>2]|0,Ia)|0)|0;f[Ca>>2]=xa;Fa=ra;Ga=f[ya>>2]|0;Ha=xa}xa=f[Fa>>2]|0;DVa(Ha+(X(xa,Ga)|0)|0,i|0,xa|0)|0;f[ya>>2]=(f[ya>>2]|0)+1;Ja=f[na>>2]|0}else Ja=pa;xa=ga+ma|0;Ca=h[Ja+xa>>0]|0;if((Ca+va|0)==255){za=ka+ma|0;Ba=za;while(1){ua=f[F+(Ba<<3)>>2]|0;if((ua|0)==(Ba|0))break;else Ba=ua}pa=F+(za<<3)|0;ya=f[pa>>2]|0;if((ya|0)!=(Ba|0)){ra=pa;pa=ya;do{f[ra>>2]=Ba;ra=F+(pa<<3)|0;pa=f[ra>>2]|0}while((pa|0)!=(Ba|0))}pa=wa>>>0>Ba>>>0?wa:Ba;ra=wa>>>0>>0?wa:Ba;wVa(ra|0,pa|0,-1640531535,0)|0;za=ta+(((I>>>0)%(D>>>0)|0)<<2)|0;ya=f[za>>2]|0;Ia=ya;b:do if(!ya)ca=105;else{ja=ya;while(1){ua=ja;if((f[ua>>2]|0)==(ra|0)?(f[ua+4>>2]|0)==(pa|0):0){Ka=ja;break b}ja=f[ja+12>>2]|0;if(!ja){ca=105;break}}}while(0);if((ca|0)==105){ca=0;ya=_Ba(1,16)|0;Ba=ya;f[Ba>>2]=ra;f[Ba+4>>2]=pa;Ba=_Ba(1,16)|0;f[Ba>>2]=12;f[ya+8>>2]=Ba;f[ya+12>>2]=Ia;f[za>>2]=ya;Ka=ya}ya=ma<<1;d[i>>1]=ya>>>0<65535?ya:65535;d[R>>1]=V;ya=Ca-va|0;d[Z>>1]=0;d[w>>1]=ya>>>0<65536?ya:(ya|0)>0?65535:0;ya=f[Ka+8>>2]|0;Ba=ya+4|0;ja=f[Ba>>2]|0;ua=ya+8|0;Aa=f[ua>>2]|0;if((Aa|0)>(ja|0)){La=ya;Ma=ja;Na=f[ya+12>>2]|0}else{Da=Aa;do Da=(Da|0)<4?8:Da<<1;while((Da|0)<=(ja|0));f[ua>>2]=Da;ja=ya+12|0;Ca=$Ba(f[ja>>2]|0,X(f[ya>>2]|0,Da)|0)|0;f[ja>>2]=Ca;La=ya;Ma=f[Ba>>2]|0;Na=Ca}Ca=f[La>>2]|0;DVa(Na+(X(Ca,Ma)|0)|0,i|0,Ca|0)|0;f[Ba>>2]=(f[Ba>>2]|0)+1;Oa=f[na>>2]|0}else Oa=Ja;Ca=h[Oa+(xa+-1)>>0]|0;if((Ca+va|0)==255){ja=ia+ma|0;za=ja;while(1){Ia=f[F+(za<<3)>>2]|0;if((Ia|0)==(za|0))break;else za=Ia}Ba=F+(ja<<3)|0;ya=f[Ba>>2]|0;if((ya|0)!=(za|0)){Da=Ba;Ba=ya;do{f[Da>>2]=za;Da=F+(Ba<<3)|0;Ba=f[Da>>2]|0}while((Ba|0)!=(za|0))}Ba=wa>>>0>za>>>0?wa:za;Da=wa>>>0>>0?wa:za;wVa(Da|0,Ba|0,-1640531535,0)|0;ja=ta+(((I>>>0)%(D>>>0)|0)<<2)|0;ya=f[ja>>2]|0;ua=ya;c:do if(!ya)ca=119;else{Ia=ya;while(1){pa=Ia;if((f[pa>>2]|0)==(Da|0)?(f[pa+4>>2]|0)==(Ba|0):0){Pa=Ia;break c}Ia=f[Ia+12>>2]|0;if(!Ia){ca=119;break}}}while(0);if((ca|0)==119){ca=0;ya=_Ba(1,16)|0;za=ya;f[za>>2]=Da;f[za+4>>2]=Ba;za=_Ba(1,16)|0;f[za>>2]=12;f[ya+8>>2]=za;f[ya+12>>2]=ua;f[ja>>2]=ya;Pa=ya}ya=(ma<<1)+-1|0;d[i>>1]=ya>>>0<65535?ya:65535;d[t>>1]=V;ya=Ca-va|0;za=0-ya|0;d[T>>1]=za>>>0<65536?za:ya>>31;d[fa>>1]=ya>>>0<65536?ya:(ya|0)>0?65535:0;ya=f[Pa+8>>2]|0;za=ya+4|0;Ia=f[za>>2]|0;pa=ya+8|0;ra=f[pa>>2]|0;if((ra|0)>(Ia|0)){Qa=ya;Ra=Ia;Sa=f[ya+12>>2]|0}else{Aa=ra;do Aa=(Aa|0)<4?8:Aa<<1;while((Aa|0)<=(Ia|0));f[pa>>2]=Aa;Ia=ya+12|0;Ca=$Ba(f[Ia>>2]|0,X(f[ya>>2]|0,Aa)|0)|0;f[Ia>>2]=Ca;Qa=ya;Ra=f[za>>2]|0;Sa=Ca}Ca=f[Qa>>2]|0;DVa(Sa+(X(Ca,Ra)|0)|0,i|0,Ca|0)|0;f[za>>2]=(f[za>>2]|0)+1;Ta=f[na>>2]|0}else Ta=Oa;Ca=h[Ta+(xa+1)>>0]|0;if((Ca+va|0)==255){Ia=la+ma|0;ja=Ia;while(1){ua=f[F+(ja<<3)>>2]|0;if((ua|0)==(ja|0))break;else ja=ua}xa=F+(Ia<<3)|0;za=f[xa>>2]|0;if((za|0)!=(ja|0)){ya=xa;xa=za;do{f[ya>>2]=ja;ya=F+(xa<<3)|0;xa=f[ya>>2]|0}while((xa|0)!=(ja|0))}xa=wa>>>0>ja>>>0?wa:ja;ya=wa>>>0>>0?wa:ja;wVa(ya|0,xa|0,-1640531535,0)|0;Ia=ta+(((I>>>0)%(D>>>0)|0)<<2)|0;za=f[Ia>>2]|0;Aa=za;d:do if(!za)ca=133;else{pa=za;while(1){ua=pa;if((f[ua>>2]|0)==(ya|0)?(f[ua+4>>2]|0)==(xa|0):0){Ua=pa;break d}pa=f[pa+12>>2]|0;if(!pa){ca=133;break}}}while(0);if((ca|0)==133){ca=0;za=_Ba(1,16)|0;ja=za;f[ja>>2]=ya;f[ja+4>>2]=xa;ja=_Ba(1,16)|0;f[ja>>2]=12;f[za+8>>2]=ja;f[za+12>>2]=Aa;f[Ia>>2]=za;Ua=za}za=ma<<1|1;d[i>>1]=za>>>0<65536?za:(za|0)>0?65535:0;d[aa>>1]=V;za=Ca-va|0;ja=(za>>>0<65536?za:(za|0)>0?65535:0)&65535;d[ea>>1]=ja;d[ba>>1]=ja;ja=f[Ua+8>>2]|0;za=ja+4|0;wa=f[za>>2]|0;pa=ja+8|0;ua=f[pa>>2]|0;if((ua|0)>(wa|0)){Va=ja;Wa=wa;Xa=f[ja+12>>2]|0}else{Ba=ua;do Ba=(Ba|0)<4?8:Ba<<1;while((Ba|0)<=(wa|0));f[pa>>2]=Ba;wa=ja+12|0;va=$Ba(f[wa>>2]|0,X(f[ja>>2]|0,Ba)|0)|0;f[wa>>2]=va;Va=ja;Wa=f[za>>2]|0;Xa=va}va=f[Va>>2]|0;DVa(Xa+(X(va,Wa)|0)|0,i|0,va|0)|0;f[za>>2]=(f[za>>2]|0)+1}}ma=ma+1|0}while((ma|0)!=(sa|0))}_=_+1|0}while((_|0)!=(Q|0))}Q=_Ba(1,16)|0;f[Q>>2]=4;if(!Q){f[i>>2]=0;f[i+4>>2]=0;y=JV(i,14)|0;W=351645;z=y+14|0;do{b[y>>0]=b[W>>0]|0;y=y+1|0;W=W+1|0}while((y|0)<(z|0));EP(-215,i,351660,351387,1461);KV(i)}_=(U|0)>1;U=Q+4|0;if(_){sa=Q+8|0;Wa=Q+12|0;Xa=0;Va=0;Ua=0;ba=0;while(1){ea=f[ta+(Xa<<2)>>2]|0;if(!ea){Ya=Va;Za=Ua;_a=ba}else{aa=ea;ea=Ua;ca=ba;F=Va;while(1){Ta=aa+8|0;if((ca|0)>(F|0)){$a=ea;ab=ca}else{Oa=ca;do Oa=(Oa|0)<4?8:Oa<<1;while((Oa|0)<=(F|0));f[sa>>2]=Oa;za=$Ba(ea,X(f[Q>>2]|0,Oa)|0)|0;f[Wa>>2]=za;$a=za;ab=Oa}za=f[Q>>2]|0;DVa($a+(X(za,F)|0)|0,Ta|0,za|0)|0;F=F+1|0;aa=f[aa+12>>2]|0;if(!aa)break;else{ea=$a;ca=ab}}b[U>>0]=F;b[U+1>>0]=F>>8;b[U+2>>0]=F>>16;b[U+3>>0]=F>>24;Ya=F;Za=$a;_a=ab}Xa=Xa+1|0;if((Xa|0)==(D|0))break;else{Va=Ya;Ua=Za;ba=_a}}_a=(Ya|0)>0;if(_a){ba=f[Q>>2]|0;Za=f[Q+12>>2]|0;Ua=k+4|0;Va=k+8|0;Xa=e+4|0;ab=e+8|0;$a=l+4|0;Wa=k+8|0;sa=0;while(1){DVa(i|0,Za+(X(ba,sa)|0)|0,ba|0)|0;f[k>>2]=0;f[Ua>>2]=0;f[Va>>2]=0;ca=f[i>>2]|0;ea=ca+4|0;e:do if((f[ea>>2]|0)>0){aa=ca+12|0;za=0;ja=0;Ba=0;while(1){pa=(f[aa>>2]|0)+(X(f[ca>>2]|0,za)|0)|0;na=j[pa>>1]|0;Ra=j[pa+2>>1]|0;f[l>>2]=na;f[$a>>2]=Ra;if((ja|0)==(Ba|0))xba(k,l);else{f[ja>>2]=na;f[ja+4>>2]=Ra;f[Ua>>2]=ja+8}Ra=za+1|0;if((Ra|0)>=(f[ea>>2]|0))break e;za=Ra;ja=f[Ua>>2]|0;Ba=f[Wa>>2]|0}}while(0);ea=f[Xa>>2]|0;if((ea|0)==(f[ab>>2]|0))tya(e,k);else{sya(ea,k);f[Xa>>2]=(f[Xa>>2]|0)+12}ea=f[k>>2]|0;if(ea|0){ca=f[Ua>>2]|0;if((ca|0)!=(ea|0))f[Ua>>2]=ca+(~((ca+-8-ea|0)>>>3)<<3);GQa(ea)}sa=sa+1|0;if((sa|0)>=(Ya|0)){bb=_a;break}}}else bb=0;if(_){_=0;do{_a=f[ta+(_<<2)>>2]|0;if(_a|0){sa=_a;do{_a=sa;sa=f[sa+12>>2]|0;ZBa(_a)}while((sa|0)!=0)}_=_+1|0}while((_|0)!=(D|0));cb=Ya;db=bb}else{cb=Ya;db=bb}}else{cb=0;db=0}ZBa(ta);ta=_Ba(1,16)|0;f[ta>>2]=32;bb=(s|0)/((a_()|0)*10|0)|0;if(db){db=o+4|0;Ya=o+8|0;D=o+12|0;_=o+16|0;sa=o+20|0;_a=o+24|0;Ua=o+28|0;Xa=o+32|0;e=o+36|0;ab=o+40|0;Wa=o+48|0;$a=o+44|0;Va=o+52|0;ba=c+44|0;Za=(ta|0)==0;ea=i+4|0;ca=Q+12|0;F=a+4|0;Ba=(s+q|0)*6|0;q=l+4|0;s=l+8|0;ja=l+12|0;za=l+16|0;aa=l+20|0;Ta=l+24|0;Oa=l+28|0;Ra=l+32|0;na=l+36|0;pa=l+40|0;Sa=l+48|0;Qa=l+44|0;Pa=l+52|0;fa=ta+4|0;T=ta+8|0;t=ta+12|0;Ja=0;do{Ma=Ja;Ja=Ja+bb|0;Na=(cb|0)<(Ja|0)?cb:Ja;f[o>>2]=f[c>>2];La=f[C>>2]|0;f[db>>2]=La;f[Ya>>2]=f[r>>2];f[D>>2]=f[p>>2];f[_>>2]=f[G>>2];f[sa>>2]=f[H>>2];f[_a>>2]=f[J>>2];f[Ua>>2]=f[K>>2];f[Xa>>2]=f[L>>2];Ka=f[N>>2]|0;f[e>>2]=Ka;f[ab>>2]=Ya;f[$a>>2]=Wa;f[Wa>>2]=0;f[Va>>2]=0;if(!Ka)eb=La;else{La=Ka+12|0;f[La>>2]=(f[La>>2]|0)+1;eb=f[C>>2]|0}if((eb|0)<3){La=f[ba>>2]|0;Ka=f[$a>>2]|0;f[Ka>>2]=f[La>>2];f[Ka+4>>2]=f[La+4>>2]}else{f[db>>2]=0;WO(o,c)}if(Za){f[i>>2]=0;f[ea>>2]=0;y=JV(i,12)|0;W=351681;z=y+12|0;do{b[y>>0]=b[W>>0]|0;y=y+1|0;W=W+1|0}while((y|0)<(z|0));EP(-215,i,351694,351387,1044);KV(i)}if((Ma|0)<(Na|0)){La=Ma;do{Ka=f[Q>>2]|0;DVa(i|0,(f[ca>>2]|0)+(X(Ka,La)|0)|0,Ka|0)|0;Ka=f[(f[i>>2]|0)+4>>2]|0;if(!((Ka|0)>(Ba|0)?1:(Ka|0)<(f[(f[F>>2]|0)+144>>2]|0))){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[k+24>>2]=0;f[k+28>>2]=0;f[l>>2]=f[o>>2];Ka=f[db>>2]|0;f[q>>2]=Ka;f[s>>2]=f[Ya>>2];f[ja>>2]=f[D>>2];f[za>>2]=f[_>>2];f[aa>>2]=f[sa>>2];f[Ta>>2]=f[_a>>2];f[Oa>>2]=f[Ua>>2];f[Ra>>2]=f[Xa>>2];w=f[e>>2]|0;f[na>>2]=w;f[pa>>2]=s;f[Qa>>2]=Sa;f[Sa>>2]=0;f[Pa>>2]=0;if(!w)fb=Ka;else{Ka=w+12|0;f[Ka>>2]=(f[Ka>>2]|0)+1;fb=f[db>>2]|0}if((fb|0)<3){Ka=f[$a>>2]|0;w=f[Qa>>2]|0;f[w>>2]=f[Ka>>2];f[w+4>>2]=f[Ka+4>>2]}else{f[q>>2]=0;WO(l,o)}Ka=(dza(a,l,f[i>>2]|0,k)|0)==0;w=f[na>>2]|0;do if(w|0){Z=w+12|0;R=f[Z>>2]|0;f[Z>>2]=R+-1;if((R|0)!=1)break;XO(l)}while(0);f[na>>2]=0;f[za>>2]=0;f[za+4>>2]=0;f[za+8>>2]=0;f[za+12>>2]=0;if((f[q>>2]|0)>0){w=f[pa>>2]|0;R=0;do{f[w+(R<<2)>>2]=0;R=R+1|0}while((R|0)<(f[q>>2]|0))}R=f[Qa>>2]|0;if((R|0)!=(Sa|0))dX(R);if(!Ka){R=f[fa>>2]|0;w=f[T>>2]|0;if((w|0)>(R|0)){gb=f[ta>>2]|0;hb=f[t>>2]|0}else{Z=w;do Z=(Z|0)<4?8:Z<<1;while((Z|0)<=(R|0));f[T>>2]=Z;Ka=f[ta>>2]|0;w=$Ba(f[t>>2]|0,X(Ka,Z)|0)|0;f[t>>2]=w;gb=Ka;hb=w}DVa(hb+(X(gb,R)|0)|0,k|0,gb|0)|0;f[fa>>2]=R+1}}La=La+1|0}while((La|0)<(Na|0))}Na=f[e>>2]|0;if(Na|0?(La=Na+12|0,Na=f[La>>2]|0,f[La>>2]=Na+-1,(Na|0)==1):0)XO(o);f[e>>2]=0;f[_>>2]=0;f[_+4>>2]=0;f[_+8>>2]=0;f[_+12>>2]=0;if((f[db>>2]|0)>0){Na=f[ab>>2]|0;La=0;do{f[Na+(La<<2)>>2]=0;La=La+1|0}while((La|0)<(f[db>>2]|0))}La=f[$a>>2]|0;if((La|0)!=(Wa|0))dX(La)}while((Ja|0)<(cb|0));ib=f[U>>2]|0}else ib=cb;ZBa(f[M>>2]|0);ZBa(P);if((ib|0)>0){P=f[Q>>2]|0;M=f[Q+12>>2]|0;cb=0;do{DVa(i|0,M+(X(P,cb)|0)|0,P|0)|0;U=f[i>>2]|0;if(U|0){Ja=f[U+12>>2]|0;if(Ja|0)ZBa(Ja);ZBa(U)}cb=cb+1|0}while((cb|0)<(ib|0));jb=M}else jb=f[Q+12>>2]|0;if(jb|0)ZBa(jb);ZBa(Q);Q=m+36|0;jb=f[Q>>2]|0;if(jb|0?(M=jb+12|0,jb=f[M>>2]|0,f[M>>2]=jb+-1,(jb|0)==1):0)XO(m);f[Q>>2]=0;Q=m+16|0;f[Q>>2]=0;f[Q+4>>2]=0;f[Q+8>>2]=0;f[Q+12>>2]=0;if((f[v>>2]|0)>0){Q=f[x>>2]|0;x=0;do{f[Q+(x<<2)>>2]=0;x=x+1|0}while((x|0)<(f[v>>2]|0))}v=f[B>>2]|0;if((v|0)==(A|0)){u=g;return ta|0}dX(v);u=g;return ta|0}function hza(){var a=0,b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;a=u;u=u+64|0;b=a;c=b+4|0;f[c>>2]=2;d=b+8|0;f[d>>2]=1024;f[b+12>>2]=4;e=b+16|0;f[e>>2]=351702;f[b+20>>2]=351702;g=b+24|0;h=b+40|0;i=g+8|0;f[i>>2]=0;f[i+4>>2]=0;f[h>>2]=d;d=b+48|0;i=b+44|0;f[i>>2]=d;f[b>>2]=1124024344;f[d>>2]=16;f[b+52>>2]=4;f[b+28>>2]=368086;f[g>>2]=368086;iza(807592,b,5,0);g=b+36|0;j=f[g>>2]|0;if(j|0?(k=j+12|0,j=f[k>>2]|0,f[k>>2]=j+-1,(j|0)==1):0)XO(b);f[g>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;if((f[c>>2]|0)>0){e=f[h>>2]|0;h=0;do{f[e+(h<<2)>>2]=0;h=h+1|0}while((h|0)<(f[c>>2]|0))}c=f[i>>2]|0;if((c|0)!=(d|0))dX(c);c=b+4|0;f[c>>2]=2;d=b+8|0;f[d>>2]=50;f[b+12>>2]=2;i=b+16|0;f[i>>2]=368086;f[b+20>>2]=368086;h=b+24|0;e=b+40|0;g=h+8|0;f[g>>2]=0;f[g+4>>2]=0;f[e>>2]=d;d=b+48|0;g=b+44|0;f[g>>2]=d;f[b>>2]=1124024344;f[d>>2]=8;f[b+52>>2]=4;f[b+28>>2]=368486;f[h>>2]=368486;iza(807656,b,4,1);h=b+36|0;j=f[h>>2]|0;if(j|0?(k=j+12|0,j=f[k>>2]|0,f[k>>2]=j+-1,(j|0)==1):0)XO(b);f[h>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[c>>2]|0)>0){i=f[e>>2]|0;e=0;do{f[i+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(f[c>>2]|0))}c=f[g>>2]|0;if((c|0)!=(d|0))dX(c);c=b+4|0;f[c>>2]=2;d=b+8|0;f[d>>2]=100;f[b+12>>2]=2;g=b+16|0;f[g>>2]=368086;f[b+20>>2]=368086;e=b+24|0;i=b+40|0;h=e+8|0;f[h>>2]=0;f[h+4>>2]=0;f[i>>2]=d;d=b+48|0;h=b+44|0;f[h>>2]=d;f[b>>2]=1124024344;f[d>>2]=8;f[b+52>>2]=4;f[b+28>>2]=368886;f[e>>2]=368886;iza(807720,b,4,1);e=b+36|0;j=f[e>>2]|0;if(j|0?(k=j+12|0,j=f[k>>2]|0,f[k>>2]=j+-1,(j|0)==1):0)XO(b);f[e>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;if((f[c>>2]|0)>0){g=f[i>>2]|0;i=0;do{f[g+(i<<2)>>2]=0;i=i+1|0}while((i|0)<(f[c>>2]|0))}c=f[h>>2]|0;if((c|0)!=(d|0))dX(c);c=b+4|0;f[c>>2]=2;d=b+8|0;f[d>>2]=250;f[b+12>>2]=2;h=b+16|0;f[h>>2]=368086;f[b+20>>2]=368086;i=b+24|0;g=b+40|0;e=i+8|0;f[e>>2]=0;f[e+4>>2]=0;f[g>>2]=d;d=b+48|0;e=b+44|0;f[e>>2]=d;f[b>>2]=1124024344;f[d>>2]=8;f[b+52>>2]=4;f[b+28>>2]=370086;f[i>>2]=370086;iza(807784,b,4,1);i=b+36|0;j=f[i>>2]|0;if(j|0?(k=j+12|0,j=f[k>>2]|0,f[k>>2]=j+-1,(j|0)==1):0)XO(b);f[i>>2]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;if((f[c>>2]|0)>0){h=f[g>>2]|0;g=0;do{f[h+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[c>>2]|0))}c=f[e>>2]|0;if((c|0)!=(d|0))dX(c);c=b+4|0;f[c>>2]=2;d=b+8|0;f[d>>2]=1e3;f[b+12>>2]=2;e=b+16|0;f[e>>2]=368086;f[b+20>>2]=368086;g=b+24|0;h=b+40|0;i=g+8|0;f[i>>2]=0;f[i+4>>2]=0;f[h>>2]=d;d=b+48|0;i=b+44|0;f[i>>2]=d;f[b>>2]=1124024344;f[d>>2]=8;f[b+52>>2]=4;f[b+28>>2]=376086;f[g>>2]=376086;iza(807848,b,4,0);g=b+36|0;j=f[g>>2]|0;if(j|0?(k=j+12|0,j=f[k>>2]|0,f[k>>2]=j+-1,(j|0)==1):0)XO(b);f[g>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;if((f[c>>2]|0)>0){e=f[h>>2]|0;h=0;do{f[e+(h<<2)>>2]=0;h=h+1|0}while((h|0)<(f[c>>2]|0))}c=f[i>>2]|0;if((c|0)!=(d|0))dX(c);c=b+4|0;f[c>>2]=2;d=b+8|0;f[d>>2]=50;f[b+12>>2]=4;i=b+16|0;f[i>>2]=376086;f[b+20>>2]=376086;h=b+24|0;e=b+40|0;g=h+8|0;f[g>>2]=0;f[g+4>>2]=0;f[e>>2]=d;d=b+48|0;g=b+44|0;f[g>>2]=d;f[b>>2]=1124024344;f[d>>2]=16;f[b+52>>2]=4;f[b+28>>2]=376886;f[h>>2]=376886;iza(807912,b,5,3);h=b+36|0;j=f[h>>2]|0;if(j|0?(k=j+12|0,j=f[k>>2]|0,f[k>>2]=j+-1,(j|0)==1):0)XO(b);f[h>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[c>>2]|0)>0){i=f[e>>2]|0;e=0;do{f[i+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(f[c>>2]|0))}c=f[g>>2]|0;if((c|0)!=(d|0))dX(c);c=b+4|0;f[c>>2]=2;d=b+8|0;f[d>>2]=100;f[b+12>>2]=4;g=b+16|0;f[g>>2]=376086;f[b+20>>2]=376086;e=b+24|0;i=b+40|0;h=e+8|0;f[h>>2]=0;f[h+4>>2]=0;f[i>>2]=d;d=b+48|0;h=b+44|0;f[h>>2]=d;f[b>>2]=1124024344;f[d>>2]=16;f[b+52>>2]=4;f[b+28>>2]=377686;f[e>>2]=377686;iza(807976,b,5,3);e=b+36|0;j=f[e>>2]|0;do if(j|0){k=j+12|0;l=f[k>>2]|0;f[k>>2]=l+-1;if((l|0)!=1)break;XO(b)}while(0);f[e>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;if((f[c>>2]|0)>0){g=f[i>>2]|0;i=0;do{f[g+(i<<2)>>2]=0;i=i+1|0}while((i|0)<(f[c>>2]|0))}c=f[h>>2]|0;if((c|0)!=(d|0))dX(c);c=b+4|0;f[c>>2]=2;d=b+8|0;f[d>>2]=250;f[b+12>>2]=4;h=b+16|0;f[h>>2]=376086;f[b+20>>2]=376086;i=b+24|0;g=b+40|0;e=i+8|0;f[e>>2]=0;f[e+4>>2]=0;f[g>>2]=d;d=b+48|0;e=b+44|0;f[e>>2]=d;f[b>>2]=1124024344;f[d>>2]=16;f[b+52>>2]=4;f[b+28>>2]=380086;f[i>>2]=380086;iza(808040,b,5,2);i=b+36|0;j=f[i>>2]|0;do if(j|0){l=j+12|0;k=f[l>>2]|0;f[l>>2]=k+-1;if((k|0)!=1)break;XO(b)}while(0);f[i>>2]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;if((f[c>>2]|0)>0){h=f[g>>2]|0;g=0;do{f[h+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[c>>2]|0))}c=f[e>>2]|0;if((c|0)!=(d|0))dX(c);c=b+4|0;f[c>>2]=2;d=b+8|0;f[d>>2]=1e3;f[b+12>>2]=4;e=b+16|0;f[e>>2]=376086;f[b+20>>2]=376086;g=b+24|0;h=b+40|0;i=g+8|0;f[i>>2]=0;f[i+4>>2]=0;f[h>>2]=d;d=b+48|0;i=b+44|0;f[i>>2]=d;f[b>>2]=1124024344;f[d>>2]=16;f[b+52>>2]=4;f[b+28>>2]=392086;f[g>>2]=392086;iza(808104,b,5,2);g=b+36|0;j=f[g>>2]|0;do if(j|0){k=j+12|0;l=f[k>>2]|0;f[k>>2]=l+-1;if((l|0)!=1)break;XO(b)}while(0);f[g>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;if((f[c>>2]|0)>0){e=f[h>>2]|0;h=0;do{f[e+(h<<2)>>2]=0;h=h+1|0}while((h|0)<(f[c>>2]|0))}c=f[i>>2]|0;if((c|0)!=(d|0))dX(c);c=b+4|0;f[c>>2]=2;d=b+8|0;f[d>>2]=50;f[b+12>>2]=5;i=b+16|0;f[i>>2]=392086;f[b+20>>2]=392086;h=b+24|0;e=b+40|0;g=h+8|0;f[g>>2]=0;f[g+4>>2]=0;f[e>>2]=d;d=b+48|0;g=b+44|0;f[g>>2]=d;f[b>>2]=1124024344;f[d>>2]=20;f[b+52>>2]=4;f[b+28>>2]=393086;f[h>>2]=393086;iza(808168,b,6,6);h=b+36|0;j=f[h>>2]|0;do if(j|0){l=j+12|0;k=f[l>>2]|0;f[l>>2]=k+-1;if((k|0)!=1)break;XO(b)}while(0);f[h>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[c>>2]|0)>0){i=f[e>>2]|0;e=0;do{f[i+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(f[c>>2]|0))}c=f[g>>2]|0;if((c|0)!=(d|0))dX(c);c=b+4|0;f[c>>2]=2;d=b+8|0;f[d>>2]=100;f[b+12>>2]=5;g=b+16|0;f[g>>2]=392086;f[b+20>>2]=392086;e=b+24|0;i=b+40|0;h=e+8|0;f[h>>2]=0;f[h+4>>2]=0;f[i>>2]=d;d=b+48|0;h=b+44|0;f[h>>2]=d;f[b>>2]=1124024344;f[d>>2]=20;f[b+52>>2]=4;f[b+28>>2]=394086;f[e>>2]=394086;iza(808232,b,6,5);e=b+36|0;j=f[e>>2]|0;do if(j|0){k=j+12|0;l=f[k>>2]|0;f[k>>2]=l+-1;if((l|0)!=1)break;XO(b)}while(0);f[e>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;if((f[c>>2]|0)>0){g=f[i>>2]|0;i=0;do{f[g+(i<<2)>>2]=0;i=i+1|0}while((i|0)<(f[c>>2]|0))}c=f[h>>2]|0;if((c|0)!=(d|0))dX(c);c=b+4|0;f[c>>2]=2;d=b+8|0;f[d>>2]=250;f[b+12>>2]=5;h=b+16|0;f[h>>2]=392086;f[b+20>>2]=392086;i=b+24|0;g=b+40|0;e=i+8|0;f[e>>2]=0;f[e+4>>2]=0;f[g>>2]=d;d=b+48|0;e=b+44|0;f[e>>2]=d;f[b>>2]=1124024344;f[d>>2]=20;f[b+52>>2]=4;f[b+28>>2]=397086;f[i>>2]=397086;iza(808296,b,6,5);i=b+36|0;j=f[i>>2]|0;do if(j|0){l=j+12|0;k=f[l>>2]|0;f[l>>2]=k+-1;if((k|0)!=1)break;XO(b)}while(0);f[i>>2]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;if((f[c>>2]|0)>0){h=f[g>>2]|0;g=0;do{f[h+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[c>>2]|0))}c=f[e>>2]|0;if((c|0)!=(d|0))dX(c);c=b+4|0;f[c>>2]=2;d=b+8|0;f[d>>2]=1e3;f[b+12>>2]=5;e=b+16|0;f[e>>2]=392086;f[b+20>>2]=392086;g=b+24|0;h=b+40|0;i=g+8|0;f[i>>2]=0;f[i+4>>2]=0;f[h>>2]=d;d=b+48|0;i=b+44|0;f[i>>2]=d;f[b>>2]=1124024344;f[d>>2]=20;f[b+52>>2]=4;f[b+28>>2]=412086;f[g>>2]=412086;iza(808360,b,6,4);g=b+36|0;j=f[g>>2]|0;do if(j|0){k=j+12|0;l=f[k>>2]|0;f[k>>2]=l+-1;if((l|0)!=1)break;XO(b)}while(0);f[g>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;if((f[c>>2]|0)>0){e=f[h>>2]|0;h=0;do{f[e+(h<<2)>>2]=0;h=h+1|0}while((h|0)<(f[c>>2]|0))}c=f[i>>2]|0;if((c|0)!=(d|0))dX(c);c=b+4|0;f[c>>2]=2;d=b+8|0;f[d>>2]=50;f[b+12>>2]=7;i=b+16|0;f[i>>2]=412086;f[b+20>>2]=412086;h=b+24|0;e=b+40|0;g=h+8|0;f[g>>2]=0;f[g+4>>2]=0;f[e>>2]=d;d=b+48|0;g=b+44|0;f[g>>2]=d;f[b>>2]=1124024344;f[d>>2]=28;f[b+52>>2]=4;f[b+28>>2]=413486;f[h>>2]=413486;iza(808424,b,7,9);h=b+36|0;j=f[h>>2]|0;do if(j|0){l=j+12|0;k=f[l>>2]|0;f[l>>2]=k+-1;if((k|0)!=1)break;XO(b)}while(0);f[h>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[c>>2]|0)>0){i=f[e>>2]|0;e=0;do{f[i+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(f[c>>2]|0))}c=f[g>>2]|0;if((c|0)!=(d|0))dX(c);c=b+4|0;f[c>>2]=2;d=b+8|0;f[d>>2]=100;f[b+12>>2]=7;g=b+16|0;f[g>>2]=412086;f[b+20>>2]=412086;e=b+24|0;i=b+40|0;h=e+8|0;f[h>>2]=0;f[h+4>>2]=0;f[i>>2]=d;d=b+48|0;h=b+44|0;f[h>>2]=d;f[b>>2]=1124024344;f[d>>2]=28;f[b+52>>2]=4;f[b+28>>2]=414886;f[e>>2]=414886;iza(808488,b,7,8);e=b+36|0;j=f[e>>2]|0;do if(j|0){k=j+12|0;l=f[k>>2]|0;f[k>>2]=l+-1;if((l|0)!=1)break;XO(b)}while(0);f[e>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;if((f[c>>2]|0)>0){g=f[i>>2]|0;i=0;do{f[g+(i<<2)>>2]=0;i=i+1|0}while((i|0)<(f[c>>2]|0))}c=f[h>>2]|0;if((c|0)!=(d|0))dX(c);c=b+4|0;f[c>>2]=2;d=b+8|0;f[d>>2]=250;f[b+12>>2]=7;h=b+16|0;f[h>>2]=412086;f[b+20>>2]=412086;i=b+24|0;g=b+40|0;e=i+8|0;f[e>>2]=0;f[e+4>>2]=0;f[g>>2]=d;d=b+48|0;e=b+44|0;f[e>>2]=d;f[b>>2]=1124024344;f[d>>2]=28;f[b+52>>2]=4;f[b+28>>2]=419086;f[i>>2]=419086;iza(808552,b,7,8);i=b+36|0;j=f[i>>2]|0;do if(j|0){l=j+12|0;k=f[l>>2]|0;f[l>>2]=k+-1;if((k|0)!=1)break;XO(b)}while(0);f[i>>2]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;if((f[c>>2]|0)>0){h=f[g>>2]|0;g=0;do{f[h+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[c>>2]|0))}c=f[e>>2]|0;if((c|0)!=(d|0))dX(c);c=b+4|0;f[c>>2]=2;d=b+8|0;f[d>>2]=1e3;f[b+12>>2]=7;e=b+16|0;f[e>>2]=412086;f[b+20>>2]=412086;g=b+24|0;h=b+40|0;i=g+8|0;f[i>>2]=0;f[i+4>>2]=0;f[h>>2]=d;d=b+48|0;i=b+44|0;f[i>>2]=d;f[b>>2]=1124024344;f[d>>2]=28;f[b+52>>2]=4;f[b+28>>2]=440086;f[g>>2]=440086;iza(808616,b,7,6);g=b+36|0;j=f[g>>2]|0;do if(j|0){k=j+12|0;l=f[k>>2]|0;f[k>>2]=l+-1;if((l|0)!=1)break;XO(b)}while(0);f[g>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;if((f[c>>2]|0)>0){e=f[h>>2]|0;h=0;do{f[e+(h<<2)>>2]=0;h=h+1|0}while((h|0)<(f[c>>2]|0))}c=f[i>>2]|0;if((c|0)==(d|0)){u=a;return}dX(c);u=a;return}function iza(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f[a>>2]=1124007936;e=a+4|0;g=a+8|0;h=a+40|0;i=e;j=i+36|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));f[h>>2]=g;i=a+48|0;j=a+44|0;f[j>>2]=i;f[i>>2]=0;f[a+52>>2]=0;f[a+56>>2]=c;f[a+60>>2]=d;if((a|0)==(b|0))return;d=b+36|0;c=f[d>>2]|0;if(c){i=c+12|0;f[i>>2]=(f[i>>2]|0)+1;i=a+36|0;c=f[i>>2]|0;if((c|0)!=0?(k=c+12|0,c=f[k>>2]|0,f[k>>2]=c+-1,(c|0)==1):0){XO(a);l=i}else l=i}else l=a+36|0;f[l>>2]=0;i=a+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[e>>2]|0)>0){c=f[h>>2]|0;h=0;do{f[c+(h<<2)>>2]=0;h=h+1|0;m=f[e>>2]|0}while((h|0)<(m|0));f[a>>2]=f[b>>2];if((m|0)<3)n=12;else n=14}else{f[a>>2]=f[b>>2];n=12}if((n|0)==12){m=f[b+4>>2]|0;if((m|0)<3){f[e>>2]=m;f[g>>2]=f[b+8>>2];f[a+12>>2]=f[b+12>>2];g=f[b+44>>2]|0;m=f[j>>2]|0;f[m>>2]=f[g>>2];f[m+4>>2]=f[g+4>>2]}else n=14}if((n|0)==14)WO(a,b);f[i>>2]=f[b+16>>2];f[a+20>>2]=f[b+20>>2];f[a+24>>2]=f[b+24>>2];f[a+28>>2]=f[b+28>>2];f[a+32>>2]=f[b+32>>2];f[l>>2]=f[d>>2];return}function jza(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;kza(g);lza(a,b,c,g,d);d=f[g>>2]|0;if(!d){u=e;return}g=d+4|0;c=f[g>>2]|0;f[g>>2]=c+-1;if((c|0)!=1){u=e;return}qg[f[(f[d>>2]|0)+8>>2]&1023](d);u=e;return}function kza(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=u;u=u+64|0;c=b;d=EQa(64)|0;f[c>>2]=1124007936;e=c+4|0;g=c+8|0;h=c+40|0;i=e;j=i+36|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));f[h>>2]=g;g=c+48|0;i=c+44|0;f[i>>2]=g;f[g>>2]=0;f[c+52>>2]=0;iza(d,c,0,0);j=EQa(16)|0;f[j+4>>2]=1;f[j>>2]=101372;f[j+8>>2]=d;f[a>>2]=j;f[a+4>>2]=d;d=c+36|0;a=f[d>>2]|0;if(a|0?(j=a+12|0,a=f[j>>2]|0,f[j>>2]=a+-1,(a|0)==1):0)XO(c);f[d>>2]=0;d=c+16|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[e>>2]|0)>0){d=f[h>>2]|0;h=0;do{f[d+(h<<2)>>2]=0;h=h+1|0}while((h|0)<(f[e>>2]|0))}e=f[i>>2]|0;if((e|0)==(g|0)){u=b;return}dX(e);u=b;return}function lza(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;h=u;u=u+224|0;i=h+168|0;j=h;k=h+112|0;l=h+56|0;m=(g|0)!=0;n=m?g:-1;o=m?((g|0)<0)<<31>>31:0;kza(a);g=a+4|0;a=f[g>>2]|0;f[a+56>>2]=d;m=X(d,d)|0;p=~~+J(+(+(~~+J(+(+(m|0)*.25))|0)*4.0/3.0))<<1;q=e+4|0;e=f[q>>2]|0;if((f[e+8>>2]|0)>0){if((f[e+56>>2]|0)==(d|0))r=e;else{f[i>>2]=0;f[i+4>>2]=0;s=JV(i,40)|0;e=440086;t=s+40|0;do{b[s>>0]=b[e>>0]|0;s=s+1|0;e=e+1|0}while((s|0)<(t|0));EP(-215,i,440127,440152,396);KV(i);r=f[q>>2]|0}f[j>>2]=1124007936;q=j+4|0;e=j+8|0;v=j+40|0;s=q;t=s+36|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(t|0));f[v>>2]=e;w=j+48|0;x=j+44|0;f[x>>2]=w;f[w>>2]=0;f[j+52>>2]=0;y=i+8|0;f[y>>2]=0;f[y+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=j;eM(r,i);r=f[g>>2]|0;y=j+36|0;if((r|0)!=(j|0)){z=f[y>>2]|0;if(z|0){A=z+12|0;f[A>>2]=(f[A>>2]|0)+1}A=r+36|0;z=f[A>>2]|0;if(z|0?(B=z+12|0,z=f[B>>2]|0,f[B>>2]=z+-1,(z|0)==1):0)XO(r);f[A>>2]=0;z=r+16|0;B=r+4|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;if((f[B>>2]|0)>0){C=f[r+40>>2]|0;D=0;do{f[C+(D<<2)>>2]=0;D=D+1|0;E=f[B>>2]|0}while((D|0)<(E|0));f[r>>2]=f[j>>2];if((E|0)<3)F=15;else F=17}else{f[r>>2]=f[j>>2];F=15}if((F|0)==15){E=f[q>>2]|0;if((E|0)<3){f[B>>2]=E;f[r+8>>2]=f[e>>2];f[r+12>>2]=f[j+12>>2];e=f[x>>2]|0;E=f[r+44>>2]|0;f[E>>2]=f[e>>2];f[E+4>>2]=f[e+4>>2]}else F=17}if((F|0)==17)WO(r,j);f[z>>2]=f[j+16>>2];f[r+20>>2]=f[j+20>>2];f[r+24>>2]=f[j+24>>2];f[r+28>>2]=f[j+28>>2];f[r+32>>2]=f[j+32>>2];f[A>>2]=f[y>>2]}A=f[y>>2]|0;if(A|0?(r=A+12|0,A=f[r>>2]|0,f[r>>2]=A+-1,(A|0)==1):0)XO(j);f[y>>2]=0;y=j+16|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;if((f[q>>2]|0)>0){y=f[v>>2]|0;v=0;do{f[y+(v<<2)>>2]=0;v=v+1|0}while((v|0)<(f[q>>2]|0))}q=f[x>>2]|0;if((q|0)!=(w|0))dX(q);q=m+1|0;m=f[g>>2]|0;if((f[m+8>>2]|0)>0){w=i+4|0;x=j+4|0;v=i+36|0;y=i+16|0;A=i+4|0;r=i+40|0;z=i+44|0;e=i+48|0;E=k+36|0;B=k+16|0;D=k+4|0;C=k+40|0;G=k+44|0;H=k+48|0;K=j+8|0;L=j+12|0;M=j+4|0;N=q;O=0;P=m;while(1){f[i>>2]=O;O=O+1|0;f[w>>2]=O;f[j>>2]=-2147483648;f[x>>2]=2147483647;YO(k,P,i,j);mza(i,k,d);Q=nza(i)|0;R=(Q|0)<(N|0)?Q:N;Q=f[g>>2]|0;if((O|0)<(f[Q+8>>2]|0)){S=O;T=R;U=Q;while(1){f[K>>2]=0;f[L>>2]=0;f[j>>2]=16842752;f[M>>2]=i;Q=oza(U,j,S,1)|0;V=(Q|0)<(T|0)?Q:T;S=S+1|0;U=f[g>>2]|0;if((S|0)>=(f[U+8>>2]|0)){W=V;break}else T=V}}else W=R;T=f[v>>2]|0;if(T|0?(U=T+12|0,T=f[U>>2]|0,f[U>>2]=T+-1,(T|0)==1):0)XO(i);f[v>>2]=0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;if((f[A>>2]|0)>0){T=f[r>>2]|0;U=0;do{f[T+(U<<2)>>2]=0;U=U+1|0}while((U|0)<(f[A>>2]|0))}U=f[z>>2]|0;if((U|0)!=(e|0))dX(U);U=f[E>>2]|0;if(U|0?(T=U+12|0,U=f[T>>2]|0,f[T>>2]=U+-1,(U|0)==1):0)XO(k);f[E>>2]=0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;if((f[D>>2]|0)>0){U=f[C>>2]|0;T=0;do{f[U+(T<<2)>>2]=0;T=T+1|0}while((T|0)<(f[D>>2]|0))}T=f[G>>2]|0;if((T|0)!=(H|0))dX(T);T=f[g>>2]|0;if((O|0)>=(f[T+8>>2]|0)){Y=W;Z=T;break}else{N=W;P=T}}}else{Y=q;Z=m}}else{Y=p;Z=a}f[k>>2]=1124007936;a=k+4|0;p=k+8|0;m=k+40|0;s=a;t=s+36|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(t|0));f[m>>2]=p;q=k+48|0;P=k+44|0;f[P>>2]=q;f[q>>2]=0;f[k+52>>2]=0;if((f[Z+8>>2]|0)<(c|0)){W=l+4|0;N=l+8|0;O=l+40|0;H=l+48|0;G=l+44|0;D=l+52|0;C=i+4|0;B=(d|0)>0;E=l+16|0;e=l+36|0;z=k+36|0;A=k+16|0;r=l+12|0;y=k+12|0;v=l+20|0;M=k+20|0;L=l+24|0;K=k+24|0;x=l+28|0;w=k+28|0;T=l+32|0;U=k+32|0;R=i+36|0;S=i+16|0;V=i+4|0;Q=i+40|0;_=i+44|0;$=i+48|0;aa=i+36|0;ba=i+16|0;ca=i+4|0;da=i+40|0;ea=i+44|0;fa=i+48|0;ga=i+8|0;ha=i+12|0;ia=i+4|0;ja=0;ka=0;la=Y;ma=n;n=o;while(1){f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[j+24>>2]=0;f[j+28>>2]=0;f[l>>2]=1124007936;s=W;t=s+36|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(t|0));f[O>>2]=N;f[G>>2]=H;f[H>>2]=0;f[D>>2]=0;f[i>>2]=d;f[C>>2]=d;VO(l,2,i,0);gM(l,j)|0;if(B){o=0;na=ma;oa=n;while(1){pa=0;qa=na;ra=oa;do{sa=wVa(qa|0,0,-130063606,0)|0;qa=qVa(sa|0,I|0,ra|0,0)|0;ra=I;sa=(f[E>>2]|0)+(X(f[f[G>>2]>>2]|0,o)|0)+pa|0;b[sa>>0]=qa&1;pa=pa+1|0}while((pa|0)!=(d|0));o=o+1|0;if((o|0)==(d|0)){ta=qa;ua=ra;break}else{na=qa;oa=ra}}}else{ta=ma;ua=n}oa=nza(l)|0;a:do if((oa|0)>=(ka|0)?(na=f[g>>2]|0,(f[na+8>>2]|0)>0):0){o=oa;pa=0;sa=na;while(1){f[ga>>2]=0;f[ha>>2]=0;f[i>>2]=16842752;f[ia>>2]=l;na=oza(sa,i,pa,1)|0;va=(o|0)<(na|0)?o:na;pa=pa+1|0;if((va|0)<=(ka|0)){wa=va;break a}sa=f[g>>2]|0;if((pa|0)>=(f[sa+8>>2]|0)){wa=va;break}else o=va}}else wa=oa;while(0);if((wa|0)<(la|0)){oa=ja+1|0;if((wa|0)>(ka|0)){o=f[e>>2]|0;if(o|0){sa=o+12|0;f[sa>>2]=(f[sa>>2]|0)+1}sa=f[z>>2]|0;if(sa|0?(o=sa+12|0,sa=f[o>>2]|0,f[o>>2]=sa+-1,(sa|0)==1):0)XO(k);f[z>>2]=0;f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;f[A+12>>2]=0;if((f[a>>2]|0)>0){sa=f[m>>2]|0;o=0;do{f[sa+(o<<2)>>2]=0;o=o+1|0;xa=f[a>>2]|0}while((o|0)<(xa|0));f[k>>2]=f[l>>2];if((xa|0)<3)F=80;else F=82}else{f[k>>2]=f[l>>2];F=80}if((F|0)==80){F=0;o=f[W>>2]|0;if((o|0)<3){f[a>>2]=o;f[p>>2]=f[N>>2];f[y>>2]=f[r>>2];o=f[G>>2]|0;sa=f[P>>2]|0;f[sa>>2]=f[o>>2];f[sa+4>>2]=f[o+4>>2]}else F=82}if((F|0)==82){F=0;WO(k,l)}f[A>>2]=f[E>>2];f[M>>2]=f[v>>2];f[K>>2]=f[L>>2];f[w>>2]=f[x>>2];f[U>>2]=f[T>>2];f[z>>2]=f[e>>2];ya=wa}else ya=ka;if((oa|0)==5e3){pza(i,k);eP(f[g>>2]|0,i);o=f[R>>2]|0;if(o|0?(sa=o+12|0,o=f[sa>>2]|0,f[sa>>2]=o+-1,(o|0)==1):0)XO(i);f[R>>2]=0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;f[S+12>>2]=0;if((f[V>>2]|0)>0){o=f[Q>>2]|0;sa=0;do{f[o+(sa<<2)>>2]=0;sa=sa+1|0}while((sa|0)<(f[V>>2]|0))}sa=f[_>>2]|0;if((sa|0)!=($|0))dX(sa);za=0;Aa=0;Ba=ya}else{za=oa;Aa=ya;Ba=la}}else{pza(i,l);eP(f[g>>2]|0,i);sa=f[aa>>2]|0;if(sa|0?(o=sa+12|0,sa=f[o>>2]|0,f[o>>2]=sa+-1,(sa|0)==1):0)XO(i);f[aa>>2]=0;f[ba>>2]=0;f[ba+4>>2]=0;f[ba+8>>2]=0;f[ba+12>>2]=0;if((f[ca>>2]|0)>0){sa=f[da>>2]|0;o=0;do{f[sa+(o<<2)>>2]=0;o=o+1|0}while((o|0)<(f[ca>>2]|0))}o=f[ea>>2]|0;if((o|0)!=(fa|0))dX(o);za=0;Aa=0;Ba=la}o=f[e>>2]|0;if(o|0?(sa=o+12|0,o=f[sa>>2]|0,f[sa>>2]=o+-1,(o|0)==1):0)XO(l);f[e>>2]=0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;if((f[W>>2]|0)>0){o=f[O>>2]|0;sa=0;do{f[o+(sa<<2)>>2]=0;sa=sa+1|0}while((sa|0)<(f[W>>2]|0))}sa=f[G>>2]|0;if((sa|0)!=(H|0))dX(sa);Ca=f[g>>2]|0;if((f[Ca+8>>2]|0)<(c|0)){ja=za;ka=Aa;la=Ba;ma=ta;n=ua}else break}ua=f[z>>2]|0;f[Ca+60>>2]=(Ba+-1|0)/2|0;if((ua|0)!=0?(Ba=ua+12|0,ua=f[Ba>>2]|0,f[Ba>>2]=ua+-1,(ua|0)==1):0){XO(k);Da=z}else Da=z}else{f[Z+60>>2]=(Y+-1|0)/2|0;Da=k+36|0}f[Da>>2]=0;Da=k+16|0;f[Da>>2]=0;f[Da+4>>2]=0;f[Da+8>>2]=0;f[Da+12>>2]=0;if((f[a>>2]|0)>0){Da=f[m>>2]|0;m=0;do{f[Da+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[a>>2]|0))}a=f[P>>2]|0;if((a|0)==(q|0)){u=h;return}dX(a);u=h;return}function mza(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;e=u;u=u+48|0;g=e+32|0;h=e;i=f[c+4>>2]|0;j=(i|0)<3;if(j)k=X(f[c+12>>2]|0,f[c+8>>2]|0)|0;else{l=f[c+40>>2]|0;m=0;n=1;while(1){o=X(f[l+(m<<2)>>2]|0,n)|0;m=m+1|0;if((m|0)==(i|0)){k=o;break}else n=o}}if(k){if(j)p=X(f[c+12>>2]|0,f[c+8>>2]|0)|0;else{k=f[c+40>>2]|0;n=0;m=1;while(1){l=X(f[k+(n<<2)>>2]|0,m)|0;n=n+1|0;if((n|0)==(i|0)){p=l;break}else m=l}}m=(X(d,d)|0)>>>3;if(p>>>0>=m>>>0){if(j)q=X(f[c+12>>2]|0,f[c+8>>2]|0)|0;else{j=f[c+40>>2]|0;p=0;n=1;while(1){k=X(f[j+(p<<2)>>2]|0,n)|0;p=p+1|0;if((p|0)==(i|0)){q=k;break}else n=k}}if(q>>>0>(m+1|0)>>>0)r=16}else r=16}else r=16;if((r|0)==16){f[g>>2]=0;f[g+4>>2]=0;DVa(JV(g,154)|0,440267,154)|0;EP(-215,g,440422,440152,238);KV(g)};f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;f[h+28>>2]=0;f[a>>2]=1124007936;r=a+4|0;m=a+8|0;q=a+40|0;n=r;i=n+36|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(i|0));f[q>>2]=m;n=a+48|0;i=a+44|0;f[i>>2]=n;f[n>>2]=0;f[a+52>>2]=0;f[g>>2]=d;f[g+4>>2]=d;VO(a,2,g,0);gM(a,h)|0;h=c+16|0;if((f[m>>2]|0)<=0){u=e;return}c=a+12|0;g=a+16|0;a=0;d=0;n=b[f[h>>2]>>0]|0;p=0;j=f[c>>2]|0;while(1){if((j|0)>0){k=0;l=n;o=p;s=d;while(1){t=b[440442+s>>0]|0;if((l&255)<(t&255))v=l;else{w=(f[g>>2]|0)+(X(f[f[i>>2]>>2]|0,a)|0)+k|0;b[w>>0]=1;v=(l&255)-(t&255)&255}t=s+1|0;if((t|0)==8){w=o+1|0;x=b[(f[h>>2]|0)+w>>0]|0;y=(o<<3)+16|0;z=f[r>>2]|0;A=(z|0)<3;if(A)B=X(f[c>>2]|0,f[m>>2]|0)|0;else{C=f[q>>2]|0;D=0;E=1;while(1){F=X(f[C+(D<<2)>>2]|0,E)|0;D=D+1|0;if((D|0)==(z|0)){B=F;break}else E=F}}if((y|0)>(B|0)){if(A)G=X(f[c>>2]|0,f[m>>2]|0)|0;else{E=f[q>>2]|0;D=0;C=1;while(1){F=X(f[E+(D<<2)>>2]|0,C)|0;D=D+1|0;if((D|0)==(z|0)){G=F;break}else C=F}}H=y-G|0;I=w;J=x}else{H=0;I=w;J=x}}else{H=t;I=o;J=v}k=k+1|0;C=f[c>>2]|0;if((k|0)>=(C|0)){K=H;L=J;M=I;N=C;break}else{l=J;o=I;s=H}}}else{K=d;L=n;M=p;N=j}a=a+1|0;if((a|0)>=(f[m>>2]|0))break;else{d=K;n=L;p=M;j=N}}u=e;return}function nza(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=u;u=u+64|0;c=b;pza(c,a);d=f[a+4>>2]|0;if((d|0)<3)e=X(f[a+12>>2]|0,f[a+8>>2]|0)|0;else{g=f[a+40>>2]|0;a=0;h=1;while(1){i=X(f[g+(a<<2)>>2]|0,h)|0;a=a+1|0;if((a|0)==(d|0)){e=i;break}else h=i}}h=e+1|0;e=c+16|0;d=c+12|0;a=f[e>>2]|0;g=f[d>>2]|0;i=YY(a,a+g|0,g)|0;g=(i|0)<(h|0)?i:h;h=f[e>>2]|0;i=f[d>>2]|0;a=YY(h,h+(i<<1)|0,i)|0;i=(a|0)<(g|0)?a:g;g=f[e>>2]|0;a=f[d>>2]|0;d=YY(g,g+(a*3|0)|0,a)|0;a=(d|0)<(i|0)?d:i;i=c+36|0;d=f[i>>2]|0;if(d|0?(g=d+12|0,d=f[g>>2]|0,f[g>>2]=d+-1,(d|0)==1):0)XO(c);f[i>>2]=0;i=c+4|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;if((f[i>>2]|0)>0){e=f[c+40>>2]|0;d=0;do{f[e+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[i>>2]|0))}i=f[c+44>>2]|0;if((i|0)==(c+48|0)){u=b;return a|0}dX(i);u=b;return a|0}function oza(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=u;u=u+112|0;h=g+56|0;i=g;if(!((d|0)>-1?(f[a+8>>2]|0)>(d|0):0)){f[h>>2]=0;f[h+4>>2]=0;j=JV(h,30)|0;k=440220;l=j+30|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-215,h,440251,440152,140);KV(h)}k=e?4:1;do if((HJ(c)|0)==65536){e=f[c+4>>2]|0;f[i>>2]=f[e>>2];j=i+4|0;l=e+4|0;f[j>>2]=f[l>>2];m=i+8|0;f[m>>2]=f[e+8>>2];f[i+12>>2]=f[e+12>>2];f[i+16>>2]=f[e+16>>2];f[i+20>>2]=f[e+20>>2];f[i+24>>2]=f[e+24>>2];f[i+28>>2]=f[e+28>>2];f[i+32>>2]=f[e+32>>2];n=f[e+36>>2]|0;f[i+36>>2]=n;f[i+40>>2]=m;m=i+48|0;o=i+44|0;f[o>>2]=m;f[m>>2]=0;f[i+52>>2]=0;if(n|0){m=n+12|0;f[m>>2]=(f[m>>2]|0)+1}if((f[l>>2]|0)<3){l=f[e+44>>2]|0;m=f[o>>2]|0;f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];break}else{f[j>>2]=0;WO(i,e);break}}else DJ(i,c,-1);while(0);pza(h,i);e=i+36|0;j=f[e>>2]|0;if(j|0?(l=j+12|0,j=f[l>>2]|0,f[l>>2]=j+-1,(j|0)==1):0)XO(i);f[e>>2]=0;e=i+16|0;j=i+4|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;if((f[j>>2]|0)>0){e=f[i+40>>2]|0;l=0;do{f[e+(l<<2)>>2]=0;l=l+1|0}while((l|0)<(f[j>>2]|0))}j=f[i+44>>2]|0;if((j|0)!=(i+48|0))dX(j);j=SJ(c,-1)|0;i=a+16|0;l=a+44|0;a=h+12|0;e=h+16|0;m=0;o=X(SJ(c,-1)|0,j)|0;do{j=(f[i>>2]|0)+(X(f[f[l>>2]>>2]|0,d)|0)|0;c=f[a>>2]|0;n=j+(X(c,m)|0)|0;j=YY(n,f[e>>2]|0,c)|0;o=(j|0)<(o|0)?j:o;m=m+1|0}while(m>>>0>>0);k=h+36|0;m=f[k>>2]|0;if(m|0?(a=m+12|0,m=f[a>>2]|0,f[a>>2]=m+-1,(m|0)==1):0)XO(h);f[k>>2]=0;k=h+4|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;if((f[k>>2]|0)>0){e=f[h+40>>2]|0;m=0;do{f[e+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[k>>2]|0))}k=f[h+44>>2]|0;if((k|0)==(h+48|0)){u=g;return o|0}dX(k);u=g;return o|0}function pza(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;d=u;u=u+48|0;e=d+32|0;g=d;i=c+12|0;j=c+8|0;k=((X(f[j>>2]|0,f[i>>2]|0)|0)+7|0)/8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;f[a>>2]=1124007936;l=a+8|0;m=a+40|0;n=a+4|0;o=n+36|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[m>>2]=l;l=a+48|0;f[a+44>>2]=l;f[l>>2]=0;f[a+52>>2]=0;f[e>>2]=1;f[e+4>>2]=k;VO(a,2,e,24);gM(a,g)|0;g=f[a+16>>2]|0;a=g+k|0;e=g+(k<<1)|0;l=g+(k*3|0)|0;k=f[j>>2]|0;if((k|0)<=0){u=d;return}m=c+16|0;n=c+44|0;c=0;o=0;p=0;q=0;r=k;k=f[i>>2]|0;while(1){if((k|0)>0){s=c+-1|0;t=0;v=0;w=q;x=p;while(1){y=g+w|0;b[y>>0]=(h[y>>0]|0)<<1;z=a+w|0;b[z>>0]=(h[z>>0]|0)<<1;A=e+w|0;b[A>>0]=(h[A>>0]|0)<<1;B=l+w|0;b[B>>0]=(h[B>>0]|0)<<1;C=(f[m>>2]|0)+(X(f[f[n>>2]>>2]|0,o)|0)+v|0;b[y>>0]=b[y>>0]|b[C>>0];C=(f[m>>2]|0)+(X(f[f[n>>2]>>2]|0,v)|0)+(s+(f[i>>2]|0))|0;b[z>>0]=b[z>>0]|b[C>>0];C=t+-1|0;z=(f[m>>2]|0)+(X(f[f[n>>2]>>2]|0,s+(f[j>>2]|0)|0)|0)+(C+(f[i>>2]|0))|0;b[A>>0]=b[A>>0]|b[z>>0];z=(f[m>>2]|0)+(X(f[f[n>>2]>>2]|0,C+(f[j>>2]|0)|0)|0)+o|0;b[B>>0]=b[B>>0]|b[z>>0];z=x+1<<24>>24;B=z<<24>>24==8;w=w+(B&1)|0;x=B?0:z;z=v+1|0;D=f[i>>2]|0;if((z|0)>=(D|0))break;else{t=~v;v=z}}E=x;F=w;G=D;H=f[j>>2]|0}else{E=p;F=q;G=k;H=r}v=o+1|0;if((v|0)<(H|0)){c=~o;o=v;p=E;q=F;r=H;k=G}else break}u=d;return}function qza(a,b){a=a|0;b=b|0;rza(a,b);return}function rza(a,b){a=a|0;b=b|0;do switch(b|0){case 16:{sza(a,807592);return}case 0:{sza(a,807656);return}case 1:{sza(a,807720);return}case 2:{sza(a,807784);return}case 3:{sza(a,807848);return}case 4:{sza(a,807912);return}case 5:{sza(a,807976);return}case 6:{sza(a,808040);return}case 7:{sza(a,808104);return}case 8:{sza(a,808168);return}case 9:{sza(a,808232);return}case 10:{sza(a,808296);return}case 11:{sza(a,808360);return}case 12:{sza(a,808424);return}case 13:{sza(a,808488);return}case 14:{sza(a,808552);return}case 15:{sza(a,808616);return}default:{sza(a,807656);return}}while(0)}function sza(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=EQa(64)|0;f[c>>2]=f[b>>2];d=c+4|0;e=b+4|0;g=f[e>>2]|0;f[d>>2]=g;h=c+8|0;f[h>>2]=f[b+8>>2];f[c+12>>2]=f[b+12>>2];f[c+16>>2]=f[b+16>>2];f[c+20>>2]=f[b+20>>2];f[c+24>>2]=f[b+24>>2];f[c+28>>2]=f[b+28>>2];f[c+32>>2]=f[b+32>>2];i=f[b+36>>2]|0;f[c+36>>2]=i;f[c+40>>2]=h;h=c+48|0;j=c+44|0;f[j>>2]=h;f[h>>2]=0;f[c+52>>2]=0;if(!i)k=g;else{g=i+12|0;f[g>>2]=(f[g>>2]|0)+1;k=f[e>>2]|0}if((k|0)<3){k=f[b+44>>2]|0;e=f[j>>2]|0;f[e>>2]=f[k>>2];f[e+4>>2]=f[k+4>>2]}else{f[d>>2]=0;WO(c,b)}d=b+56|0;b=f[d+4>>2]|0;k=c+56|0;f[k>>2]=f[d>>2];f[k+4>>2]=b;b=EQa(16)|0;f[b+4>>2]=1;f[b>>2]=101372;f[b+8>>2]=c;f[a>>2]=b;f[a+4>>2]=c;return}function tza(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=+g;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;h=u;u=u+64|0;i=h;j=f[c+8>>2]|0;k=a+56|0;if(!((j|0)==(f[k>>2]|0)?(f[c+12>>2]|0)==(j|0):0)){f[i>>2]=0;f[i+4>>2]=0;j=JV(i,58)|0;l=440450;m=j+58|0;do{b[j>>0]=b[l>>0]|0;j=j+1|0;l=l+1|0}while((j|0)<(m|0));EP(-215,i,440509,440152,99);KV(i)}l=~~(+(f[a+60>>2]|0)*g);pza(i,c);f[d>>2]=-1;c=a+8|0;a:do if((f[c>>2]|0)>0){j=a+16|0;m=a+44|0;n=i+12|0;o=i+16|0;p=0;while(1){q=f[k>>2]|0;r=X(q,q)|0;q=(f[j>>2]|0)+(X(f[f[m>>2]>>2]|0,p)|0)|0;s=YY(q,f[o>>2]|0,f[n>>2]|0)|0;t=(s|0)<=(r|0);q=t?s:r+1|0;r=(f[j>>2]|0)+(X(f[f[m>>2]>>2]|0,p)|0)|0;s=f[n>>2]|0;v=YY(r+s|0,f[o>>2]|0,s)|0;w=(v|0)<(q|0);s=w?v:q;q=(f[j>>2]|0)+(X(f[f[m>>2]>>2]|0,p)|0)|0;v=f[n>>2]|0;r=YY(q+(v<<1)|0,f[o>>2]|0,v)|0;x=(r|0)<(s|0);v=x?r:s;s=(f[j>>2]|0)+(X(f[f[m>>2]>>2]|0,p)|0)|0;r=f[n>>2]|0;q=YY(s+(r*3|0)|0,f[o>>2]|0,r)|0;y=(q|0)<(v|0);if(((y?q:v)|0)<=(l|0))break;v=p+1|0;if((v|0)<(f[c>>2]|0))p=v;else break a}f[d>>2]=p;f[e>>2]=y?3:x?2:w?1:(t^1)<<31>>31}while(0);t=(f[d>>2]|0)!=-1;d=i+36|0;w=f[d>>2]|0;if(w|0?(x=w+12|0,w=f[x>>2]|0,f[x>>2]=w+-1,(w|0)==1):0)XO(i);f[d>>2]=0;d=i+16|0;w=i+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[w>>2]|0)>0){d=f[i+40>>2]|0;x=0;do{f[d+(x<<2)>>2]=0;x=x+1|0}while((x|0)<(f[w>>2]|0))}w=f[i+44>>2]|0;if((w|0)==(i+48|0)){u=h;return t|0}dX(w);u=h;return t|0}function uza(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;h=u;u=u+672|0;i=h+656|0;j=h+224|0;k=h+480|0;l=h+424|0;m=h+600|0;n=h+368|0;o=h;p=h+312|0;q=h+256|0;r=h+592|0;s=h+536|0;t=a+56|0;v=g<<1;if(((f[t>>2]|0)+v|0)>(d|0)){f[i>>2]=0;f[i+4>>2]=0;w=JV(i,41)|0;x=440518;y=w+41|0;do{b[w>>0]=b[x>>0]|0;w=w+1|0;x=x+1|0}while((w|0)<(y|0));EP(-215,i,440560,440152,167);KV(i)}if((f[a+8>>2]|0)<=(c|0)){f[i>>2]=0;f[i+4>>2]=0;w=JV(i,19)|0;x=440571;y=w+19|0;do{b[w>>0]=b[x>>0]|0;w=w+1|0;x=x+1|0}while((w|0)<(y|0));EP(-215,i,440560,440152,168);KV(i)}if((g|0)<=0){f[i>>2]=0;f[i+4>>2]=0;w=JV(i,14)|0;x=440591;y=w+14|0;do{b[w>>0]=b[x>>0]|0;w=w+1|0;x=x+1|0}while((w|0)<(y|0));EP(-215,i,440560,440152,169);KV(i)}vK(e,d,d,0,-1,0,0);d=(f[t>>2]|0)+v|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[j+24>>2]=0;f[j+28>>2]=0;f[k>>2]=1124007936;v=k+4|0;z=k+8|0;A=k+40|0;w=v;y=w+36|0;do{f[w>>2]=0;w=w+4|0}while((w|0)<(y|0));f[A>>2]=z;B=k+48|0;C=k+44|0;f[C>>2]=B;f[B>>2]=0;f[k+52>>2]=0;f[i>>2]=d;f[i+4>>2]=d;VO(k,2,i,0);gM(k,j)|0;d=(f[z>>2]|0)-g|0;f[i>>2]=g;f[i+4>>2]=d;f[j>>2]=-2147483648;f[j+4>>2]=2147483647;YO(m,k,i,j);d=(f[k+12>>2]|0)-g|0;f[i>>2]=-2147483648;f[i+4>>2]=2147483647;f[j>>2]=g;f[j+4>>2]=d;YO(l,m,i,j);d=m+36|0;g=f[d>>2]|0;if(g|0?(z=g+12|0,g=f[z>>2]|0,f[z>>2]=g+-1,(g|0)==1):0)XO(m);f[d>>2]=0;d=m+16|0;g=m+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[g>>2]|0)>0){d=f[m+40>>2]|0;z=0;do{f[d+(z<<2)>>2]=0;z=z+1|0}while((z|0)<(f[g>>2]|0))}g=f[m+44>>2]|0;if((g|0)!=(m+48|0))dX(g);f[i>>2]=c;f[i+4>>2]=c+1;f[j>>2]=-2147483648;f[j+4>>2]=2147483647;YO(q,a,i,j);mza(p,q,f[t>>2]|0);IG(o,255.0,p);f[n>>2]=1124007936;t=n+4|0;a=n+8|0;c=n+40|0;w=t;y=w+36|0;do{f[w>>2]=0;w=w+4|0}while((w|0)<(y|0));f[c>>2]=a;g=n+48|0;m=n+44|0;f[m>>2]=g;f[g>>2]=0;f[n+52>>2]=0;z=f[o>>2]|0;th[f[(f[z>>2]|0)+12>>2]&255](z,o,n,-1);Mi(o);o=p+36|0;z=f[o>>2]|0;if(z|0?(d=z+12|0,z=f[d>>2]|0,f[d>>2]=z+-1,(z|0)==1):0)XO(p);f[o>>2]=0;o=p+16|0;z=p+4|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;if((f[z>>2]|0)>0){o=f[p+40>>2]|0;d=0;do{f[o+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[z>>2]|0))}z=f[p+44>>2]|0;if((z|0)!=(p+48|0))dX(z);z=q+36|0;d=f[z>>2]|0;if(d|0?(o=d+12|0,d=f[o>>2]|0,f[o>>2]=d+-1,(d|0)==1):0)XO(q);f[z>>2]=0;z=q+16|0;d=q+4|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;if((f[d>>2]|0)>0){z=f[q+40>>2]|0;o=0;do{f[z+(o<<2)>>2]=0;o=o+1|0}while((o|0)<(f[d>>2]|0))}d=f[q+44>>2]|0;if((d|0)!=(q+48|0))dX(d);d=l+4|0;q=f[d>>2]|0;if((q|0)<3)D=X(f[l+12>>2]|0,f[l+8>>2]|0)|0;else{o=f[l+40>>2]|0;z=0;E=1;while(1){F=X(f[o+(z<<2)>>2]|0,E)|0;z=z+1|0;if((z|0)==(q|0)){D=F;break}else E=F}}E=f[t>>2]|0;if((E|0)<3)G=X(f[n+12>>2]|0,f[a>>2]|0)|0;else{a=f[c>>2]|0;q=0;z=1;while(1){o=X(f[a+(q<<2)>>2]|0,z)|0;q=q+1|0;if((q|0)==(E|0)){G=o;break}else z=o}}if((D|0)!=(G|0)){f[i>>2]=0;f[i+4>>2]=0;w=JV(i,35)|0;x=440606;y=w+35|0;do{b[w>>0]=b[x>>0]|0;w=w+1|0;x=x+1|0}while((w|0)<(y|0));EP(-215,i,440560,440152,180);KV(i)}x=i+8|0;f[x>>2]=0;f[x+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=l;eM(n,i);f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=k;do if((HJ(e)|0)==65536){x=f[e+4>>2]|0;f[p>>2]=f[x>>2];w=p+4|0;y=x+4|0;f[w>>2]=f[y>>2];G=p+8|0;f[G>>2]=f[x+8>>2];f[p+12>>2]=f[x+12>>2];f[p+16>>2]=f[x+16>>2];f[p+20>>2]=f[x+20>>2];f[p+24>>2]=f[x+24>>2];f[p+28>>2]=f[x+28>>2];f[p+32>>2]=f[x+32>>2];D=f[x+36>>2]|0;f[p+36>>2]=D;f[p+40>>2]=G;G=p+48|0;z=p+44|0;f[z>>2]=G;f[G>>2]=0;f[p+52>>2]=0;if(D|0){G=D+12|0;f[G>>2]=(f[G>>2]|0)+1}if((f[y>>2]|0)<3){y=f[x+44>>2]|0;G=f[z>>2]|0;f[G>>2]=f[y>>2];f[G+4>>2]=f[y+4>>2];break}else{f[w>>2]=0;WO(p,x);break}}else DJ(p,e,-1);while(0);x=j+8|0;f[x>>2]=0;f[x+4>>2]=0;f[j>>2]=-1040121856;f[j+4>>2]=p;do if((HJ(e)|0)==65536){x=f[e+4>>2]|0;f[s>>2]=f[x>>2];w=s+4|0;y=x+4|0;f[w>>2]=f[y>>2];G=s+8|0;f[G>>2]=f[x+8>>2];f[s+12>>2]=f[x+12>>2];f[s+16>>2]=f[x+16>>2];f[s+20>>2]=f[x+20>>2];f[s+24>>2]=f[x+24>>2];f[s+28>>2]=f[x+28>>2];f[s+32>>2]=f[x+32>>2];z=f[x+36>>2]|0;f[s+36>>2]=z;D=s+40|0;f[D>>2]=G;G=s+48|0;E=s+44|0;f[E>>2]=G;f[G>>2]=0;f[s+52>>2]=0;if(z|0){G=z+12|0;f[G>>2]=(f[G>>2]|0)+1}if((f[y>>2]|0)<3){y=f[x+44>>2]|0;G=f[E>>2]|0;f[G>>2]=f[y>>2];f[G+4>>2]=f[y+4>>2];H=D;break}else{f[w>>2]=0;WO(s,x);H=D;break}}else{DJ(s,e,-1);H=s+40|0}while(0);e=f[H>>2]|0;D=f[e>>2]|0;f[r>>2]=f[e+4>>2];f[r+4>>2]=D;V5(i,j,r,0.0,0.0,0);r=s+36|0;j=f[r>>2]|0;if(j|0?(i=j+12|0,j=f[i>>2]|0,f[i>>2]=j+-1,(j|0)==1):0)XO(s);f[r>>2]=0;r=s+16|0;j=s+4|0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;if((f[j>>2]|0)>0){r=f[H>>2]|0;H=0;do{f[r+(H<<2)>>2]=0;H=H+1|0}while((H|0)<(f[j>>2]|0))}j=f[s+44>>2]|0;if((j|0)!=(s+48|0))dX(j);j=p+36|0;s=f[j>>2]|0;do if(s|0){H=s+12|0;r=f[H>>2]|0;f[H>>2]=r+-1;if((r|0)!=1)break;XO(p)}while(0);f[j>>2]=0;j=p+16|0;s=p+4|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;if((f[s>>2]|0)>0){j=f[p+40>>2]|0;r=0;do{f[j+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[s>>2]|0))}s=f[p+44>>2]|0;if((s|0)!=(p+48|0))dX(s);s=n+36|0;p=f[s>>2]|0;do if(p|0){r=p+12|0;j=f[r>>2]|0;f[r>>2]=j+-1;if((j|0)!=1)break;XO(n)}while(0);f[s>>2]=0;s=n+16|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if((f[t>>2]|0)>0){s=f[c>>2]|0;c=0;do{f[s+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[t>>2]|0))}t=f[m>>2]|0;if((t|0)!=(g|0))dX(t);t=l+36|0;g=f[t>>2]|0;do if(g|0){m=g+12|0;c=f[m>>2]|0;f[m>>2]=c+-1;if((c|0)!=1)break;XO(l)}while(0);f[t>>2]=0;t=l+16|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;if((f[d>>2]|0)>0){t=f[l+40>>2]|0;g=0;do{f[t+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[d>>2]|0))}d=f[l+44>>2]|0;if((d|0)!=(l+48|0))dX(d);d=k+36|0;l=f[d>>2]|0;do if(l|0){g=l+12|0;t=f[g>>2]|0;f[g>>2]=t+-1;if((t|0)!=1)break;XO(k)}while(0);f[d>>2]=0;d=k+16|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[v>>2]|0)>0){d=f[A>>2]|0;A=0;do{f[d+(A<<2)>>2]=0;A=A+1|0}while((A|0)<(f[v>>2]|0))}v=f[C>>2]|0;if((v|0)==(B|0)){u=h;return}dX(v);u=h;return}function vza(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0;k=u;u=u+1072|0;l=k+1056|0;m=k+1e3|0;n=k+944|0;o=k+888|0;p=k+832|0;q=k+776|0;r=k+720|0;s=k+664|0;t=k+496|0;v=k+440|0;w=k;x=k+384|0;y=k+352|0;z=k+324|0;A=k+608|0;B=k+552|0;C=k+296|0;yV(l,101484);do if((HJ(a)|0)==65536){D=f[a+4>>2]|0;f[m>>2]=f[D>>2];E=m+4|0;F=D+4|0;f[E>>2]=f[F>>2];G=m+8|0;f[G>>2]=f[D+8>>2];f[m+12>>2]=f[D+12>>2];f[m+16>>2]=f[D+16>>2];f[m+20>>2]=f[D+20>>2];f[m+24>>2]=f[D+24>>2];f[m+28>>2]=f[D+28>>2];f[m+32>>2]=f[D+32>>2];H=f[D+36>>2]|0;f[m+36>>2]=H;f[m+40>>2]=G;G=m+48|0;I=m+44|0;f[I>>2]=G;f[G>>2]=0;f[m+52>>2]=0;if(H|0){G=H+12|0;f[G>>2]=(f[G>>2]|0)+1}if((f[F>>2]|0)<3){F=f[D+44>>2]|0;G=f[I>>2]|0;f[G>>2]=f[F>>2];f[G+4>>2]=f[F+4>>2];break}else{f[E>>2]=0;WO(m,D);break}}else DJ(m,a,-1);while(0);do if((HJ(c)|0)==65536){D=f[c+4>>2]|0;f[n>>2]=f[D>>2];E=n+4|0;F=D+4|0;f[E>>2]=f[F>>2];G=n+8|0;f[G>>2]=f[D+8>>2];f[n+12>>2]=f[D+12>>2];f[n+16>>2]=f[D+16>>2];f[n+20>>2]=f[D+20>>2];f[n+24>>2]=f[D+24>>2];f[n+28>>2]=f[D+28>>2];f[n+32>>2]=f[D+32>>2];I=f[D+36>>2]|0;f[n+36>>2]=I;f[n+40>>2]=G;G=n+48|0;H=n+44|0;f[H>>2]=G;f[G>>2]=0;f[n+52>>2]=0;if(I|0){G=I+12|0;f[G>>2]=(f[G>>2]|0)+1}if((f[F>>2]|0)<3){F=f[D+44>>2]|0;G=f[H>>2]|0;f[G>>2]=f[F>>2];f[G+4>>2]=f[F+4>>2];break}else{f[E>>2]=0;WO(n,D);break}}else DJ(n,c,-1);while(0);D=jP(m,3,5,1)|0;E=jP(m,3,6,1)|0;F=(D|0)<(E|0)?E:D;if((F|0)<=3?(j|0)!=0|(F|0)!=3|i^1:0)J=18;else J=17;if((J|0)==17?(D=jP(n,2,5,1)|0,E=jP(n,2,6,1)|0,(F|0)!=(((D|0)<(E|0)?E:D)|0)):0)J=18;if((J|0)==18){f[o>>2]=0;f[o+4>>2]=0;DVa(JV(o,165)|0,440642,165)|0;EP(-215,o,440808,440817,65);KV(o)}f[o>>2]=1124007936;D=o+4|0;E=o+8|0;G=o+40|0;H=D;I=H+36|0;do{f[H>>2]=0;H=H+4|0}while((H|0)<(I|0));f[G>>2]=E;K=o+48|0;L=o+44|0;f[L>>2]=K;f[K>>2]=0;f[o+52>>2]=0;f[p>>2]=1124007936;M=p+4|0;N=p+8|0;O=p+40|0;H=M;I=H+36|0;do{f[H>>2]=0;H=H+4|0}while((H|0)<(I|0));f[O>>2]=N;P=p+48|0;Q=p+44|0;f[Q>>2]=P;f[P>>2]=0;f[p+52>>2]=0;R=(j|0)==0&i;if(R){i=GJ(g,-1)|0;S=GJ(h,-1)|0;FJ(q,g,-1);FJ(r,h,-1);if((S+-5|i+-5)>>>0>=2){f[s>>2]=0;f[s+4>>2]=0;H=JV(s,56)|0;T=440877;I=H+56|0;do{b[H>>0]=b[T>>0]|0;H=H+1|0;T=T+1|0}while((H|0)<(I|0));EP(-215,s,440808,440817,76);KV(s)}i=f[q>>2]|0;S=f[q+4>>2]|0;if(!((i|0)==1&(S|0)==3)?!((i|0)==3&(S|0)==1):0)J=25;else J=24;if((J|0)==24?(S=f[r>>2]|0,i=f[r+4>>2]|0,!((S|0)==1&(i|0)==3|(S|0)==3&(i|0)==1)):0)J=25;if((J|0)==25){f[s>>2]=0;f[s+4>>2]=0;H=JV(s,92)|0;T=440934;I=H+92|0;do{b[H>>0]=b[T>>0]|0;H=H+1|0;T=T+1|0}while((H|0)<(I|0));EP(-215,s,440808,440817,78);KV(s)}U=g}else{i=TJ(c,-1)|0;if((((i|0)==(TJ(d,-1)|0)?(i=TJ(c,-1)|0,(i|0)==(TJ(a,-1)|0)):0)?VJ(g)|0:0)?VJ(h)|0:0)V=TJ(a,-1)|0;else V=6;vK(g,3,1,V,-1,0,0);vK(h,3,1,V,-1,0,0);U=g}do if((HJ(U)|0)==65536){V=f[g+4>>2]|0;f[q>>2]=f[V>>2];a=q+4|0;i=V+4|0;f[a>>2]=f[i>>2];c=q+8|0;f[c>>2]=f[V+8>>2];f[q+12>>2]=f[V+12>>2];f[q+16>>2]=f[V+16>>2];f[q+20>>2]=f[V+20>>2];f[q+24>>2]=f[V+24>>2];f[q+28>>2]=f[V+28>>2];f[q+32>>2]=f[V+32>>2];S=q+36|0;W=f[V+36>>2]|0;f[S>>2]=W;f[q+40>>2]=c;c=q+48|0;Y=q+44|0;f[Y>>2]=c;f[c>>2]=0;f[q+52>>2]=0;if(W|0){c=W+12|0;f[c>>2]=(f[c>>2]|0)+1}if((f[i>>2]|0)<3){i=f[V+44>>2]|0;c=f[Y>>2]|0;f[c>>2]=f[i>>2];f[c+4>>2]=f[i+4>>2];Z=S;break}else{f[a>>2]=0;WO(q,V);Z=S;break}}else{DJ(q,U,-1);Z=q+36|0}while(0);U=f[Z>>2]|0;if(U|0){g=U+12|0;f[g>>2]=(f[g>>2]|0)+1}g=o+36|0;U=f[g>>2]|0;if(U|0?(S=U+12|0,U=f[S>>2]|0,f[S>>2]=U+-1,(U|0)==1):0)XO(o);f[g>>2]=0;U=o+16|0;f[U>>2]=0;f[U+4>>2]=0;f[U+8>>2]=0;f[U+12>>2]=0;if((f[D>>2]|0)>0){S=f[G>>2]|0;V=0;do{f[S+(V<<2)>>2]=0;V=V+1|0;_=f[D>>2]|0}while((V|0)<(_|0));f[o>>2]=f[q>>2];if((_|0)<3)J=50;else J=52}else{f[o>>2]=f[q>>2];J=50}if((J|0)==50){_=f[q+4>>2]|0;if((_|0)<3){f[D>>2]=_;f[E>>2]=f[q+8>>2];f[o+12>>2]=f[q+12>>2];_=f[q+44>>2]|0;V=f[L>>2]|0;f[V>>2]=f[_>>2];f[V+4>>2]=f[_+4>>2]}else J=52}if((J|0)==52)WO(o,q);_=q+16|0;f[U>>2]=f[_>>2];f[o+20>>2]=f[q+20>>2];f[o+24>>2]=f[q+24>>2];f[o+28>>2]=f[q+28>>2];f[o+32>>2]=f[q+32>>2];V=f[Z>>2]|0;f[g>>2]=V;if(V|0?(S=V+12|0,V=f[S>>2]|0,f[S>>2]=V+-1,(V|0)==1):0)XO(q);f[Z>>2]=0;Z=q+4|0;f[_>>2]=0;f[_+4>>2]=0;f[_+8>>2]=0;f[_+12>>2]=0;if((f[Z>>2]|0)>0){_=f[q+40>>2]|0;V=0;do{f[_+(V<<2)>>2]=0;V=V+1|0}while((V|0)<(f[Z>>2]|0))}Z=f[q+44>>2]|0;if((Z|0)!=(q+48|0))dX(Z);do if((HJ(h)|0)==65536){Z=f[h+4>>2]|0;f[q>>2]=f[Z>>2];V=q+4|0;_=Z+4|0;f[V>>2]=f[_>>2];S=q+8|0;f[S>>2]=f[Z+8>>2];f[q+12>>2]=f[Z+12>>2];f[q+16>>2]=f[Z+16>>2];f[q+20>>2]=f[Z+20>>2];f[q+24>>2]=f[Z+24>>2];f[q+28>>2]=f[Z+28>>2];f[q+32>>2]=f[Z+32>>2];a=q+36|0;i=f[Z+36>>2]|0;f[a>>2]=i;f[q+40>>2]=S;S=q+48|0;c=q+44|0;f[c>>2]=S;f[S>>2]=0;f[q+52>>2]=0;if(i|0){S=i+12|0;f[S>>2]=(f[S>>2]|0)+1}if((f[_>>2]|0)<3){_=f[Z+44>>2]|0;S=f[c>>2]|0;f[S>>2]=f[_>>2];f[S+4>>2]=f[_+4>>2];$=a;break}else{f[V>>2]=0;WO(q,Z);$=a;break}}else{DJ(q,h,-1);$=q+36|0}while(0);h=f[$>>2]|0;if(h|0){a=h+12|0;f[a>>2]=(f[a>>2]|0)+1}a=p+36|0;h=f[a>>2]|0;if(h|0?(Z=h+12|0,h=f[Z>>2]|0,f[Z>>2]=h+-1,(h|0)==1):0)XO(p);f[a>>2]=0;h=p+16|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;if((f[M>>2]|0)>0){Z=f[O>>2]|0;V=0;do{f[Z+(V<<2)>>2]=0;V=V+1|0;aa=f[M>>2]|0}while((V|0)<(aa|0));f[p>>2]=f[q>>2];if((aa|0)<3)J=78;else J=80}else{f[p>>2]=f[q>>2];J=78}if((J|0)==78){aa=f[q+4>>2]|0;if((aa|0)<3){f[M>>2]=aa;f[N>>2]=f[q+8>>2];f[p+12>>2]=f[q+12>>2];aa=f[q+44>>2]|0;V=f[Q>>2]|0;f[V>>2]=f[aa>>2];f[V+4>>2]=f[aa+4>>2]}else J=80}if((J|0)==80)WO(p,q);J=q+16|0;f[h>>2]=f[J>>2];f[p+20>>2]=f[q+20>>2];f[p+24>>2]=f[q+24>>2];f[p+28>>2]=f[q+28>>2];f[p+32>>2]=f[q+32>>2];aa=f[$>>2]|0;f[a>>2]=aa;if(aa|0?(V=aa+12|0,aa=f[V>>2]|0,f[V>>2]=aa+-1,(aa|0)==1):0)XO(q);f[$>>2]=0;$=q+4|0;f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[J+12>>2]=0;if((f[$>>2]|0)>0){J=f[q+40>>2]|0;aa=0;do{f[J+(aa<<2)>>2]=0;aa=aa+1|0}while((aa|0)<(f[$>>2]|0))}$=f[q+44>>2]|0;if(($|0)!=(q+48|0))dX($);do if((HJ(d)|0)==65536){$=f[d+4>>2]|0;f[q>>2]=f[$>>2];aa=q+4|0;J=$+4|0;f[aa>>2]=f[J>>2];V=q+8|0;f[V>>2]=f[$+8>>2];f[q+12>>2]=f[$+12>>2];f[q+16>>2]=f[$+16>>2];f[q+20>>2]=f[$+20>>2];f[q+24>>2]=f[$+24>>2];f[q+28>>2]=f[$+28>>2];f[q+32>>2]=f[$+32>>2];Z=f[$+36>>2]|0;f[q+36>>2]=Z;f[q+40>>2]=V;V=q+48|0;_=q+44|0;f[_>>2]=V;f[V>>2]=0;f[q+52>>2]=0;if(Z|0){V=Z+12|0;f[V>>2]=(f[V>>2]|0)+1}if((f[J>>2]|0)<3){J=f[$+44>>2]|0;V=f[_>>2]|0;f[V>>2]=f[J>>2];f[V+4>>2]=f[J+4>>2];break}else{f[aa>>2]=0;WO(q,$);break}}else DJ(q,d,-1);while(0);do if((HJ(e)|0)==65536){d=f[e+4>>2]|0;f[r>>2]=f[d>>2];$=r+4|0;aa=d+4|0;f[$>>2]=f[aa>>2];J=r+8|0;f[J>>2]=f[d+8>>2];f[r+12>>2]=f[d+12>>2];f[r+16>>2]=f[d+16>>2];f[r+20>>2]=f[d+20>>2];f[r+24>>2]=f[d+24>>2];f[r+28>>2]=f[d+28>>2];f[r+32>>2]=f[d+32>>2];V=f[d+36>>2]|0;f[r+36>>2]=V;f[r+40>>2]=J;J=r+48|0;_=r+44|0;f[_>>2]=J;f[J>>2]=0;f[r+52>>2]=0;if(V|0){J=V+12|0;f[J>>2]=(f[J>>2]|0)+1}if((f[aa>>2]|0)<3){aa=f[d+44>>2]|0;J=f[_>>2]|0;f[J>>2]=f[aa>>2];f[J+4>>2]=f[aa+4>>2];break}else{f[$>>2]=0;WO(r,d);break}}else DJ(r,e,-1);while(0);_9(t,q);f[s>>2]=f[t>>2];e=s+4|0;d=t+4|0;$=f[d>>2]|0;f[e>>2]=$;aa=s+8|0;f[aa>>2]=f[t+8>>2];J=s+12|0;f[J>>2]=f[t+12>>2];_=s+16|0;V=t+16|0;f[_>>2]=f[V>>2];Z=s+20|0;f[Z>>2]=f[t+20>>2];S=s+24|0;f[S>>2]=f[t+24>>2];c=s+28|0;f[c>>2]=f[t+28>>2];i=s+32|0;f[i>>2]=f[t+32>>2];Y=s+36|0;W=t+36|0;ba=f[W>>2]|0;f[Y>>2]=ba;ca=s+40|0;f[ca>>2]=aa;da=s+48|0;ea=s+44|0;f[ea>>2]=da;f[da>>2]=0;f[s+52>>2]=0;if(!ba)fa=$;else{$=ba+12|0;f[$>>2]=(f[$>>2]|0)+1;fa=f[d>>2]|0}if((fa|0)<3){fa=f[t+44>>2]|0;$=f[ea>>2]|0;f[$>>2]=f[fa>>2];f[$+4>>2]=f[fa+4>>2]}else{f[e>>2]=0;WO(s,t)}fa=f[W>>2]|0;do if(fa|0){$=fa+12|0;ba=f[$>>2]|0;f[$>>2]=ba+-1;if((ba|0)!=1)break;XO(t)}while(0);f[W>>2]=0;f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;f[V+12>>2]=0;if((f[d>>2]|0)>0){V=f[t+40>>2]|0;W=0;do{f[V+(W<<2)>>2]=0;W=W+1|0}while((W|0)<(f[d>>2]|0))}d=f[t+44>>2]|0;if((d|0)!=(t+48|0))dX(d);_9(v,r);f[t>>2]=f[v>>2];d=t+4|0;W=v+4|0;V=f[W>>2]|0;f[d>>2]=V;fa=t+8|0;f[fa>>2]=f[v+8>>2];ba=t+12|0;f[ba>>2]=f[v+12>>2];$=t+16|0;ga=v+16|0;f[$>>2]=f[ga>>2];f[t+20>>2]=f[v+20>>2];f[t+24>>2]=f[v+24>>2];f[t+28>>2]=f[v+28>>2];f[t+32>>2]=f[v+32>>2];ha=t+36|0;ia=v+36|0;ja=f[ia>>2]|0;f[ha>>2]=ja;ka=t+40|0;f[ka>>2]=fa;la=t+48|0;ma=t+44|0;f[ma>>2]=la;f[la>>2]=0;f[t+52>>2]=0;if(!ja)na=V;else{V=ja+12|0;f[V>>2]=(f[V>>2]|0)+1;na=f[W>>2]|0}if((na|0)<3){na=f[v+44>>2]|0;V=f[ma>>2]|0;f[V>>2]=f[na>>2];f[V+4>>2]=f[na+4>>2]}else{f[d>>2]=0;WO(t,v)}na=f[ia>>2]|0;do if(na|0){V=na+12|0;ja=f[V>>2]|0;f[V>>2]=ja+-1;if((ja|0)!=1)break;XO(v)}while(0);f[ia>>2]=0;f[ga>>2]=0;f[ga+4>>2]=0;f[ga+8>>2]=0;f[ga+12>>2]=0;if((f[W>>2]|0)>0){ga=f[v+40>>2]|0;ia=0;do{f[ga+(ia<<2)>>2]=0;ia=ia+1|0}while((ia|0)<(f[W>>2]|0))}W=f[v+44>>2]|0;if((W|0)!=(v+48|0))dX(W);switch(j|0){case 1:case 3:case 4:{f[v>>2]=1124007936;j=v+4|0;W=v+8|0;ia=v+40|0;H=j;I=H+36|0;do{f[H>>2]=0;H=H+4|0}while((H|0)<(I|0));f[ia>>2]=W;W=v+48|0;ga=v+44|0;f[ga>>2]=W;f[W>>2]=0;f[v+52>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;f[w>>2]=16842752;f[w+4>>2]=n;na=x+8|0;f[na>>2]=0;f[na+4>>2]=0;f[x>>2]=33619968;f[x+4>>2]=v;f[y+8>>2]=0;f[y+12>>2]=0;f[y>>2]=16842752;f[y+4>>2]=s;f[z+8>>2]=0;f[z+12>>2]=0;f[z>>2]=16842752;f[z+4>>2]=t;gaa(w,x,y,z,BK()|0,BK()|0);Tza(w,s,m,v);f[x>>2]=1124007936;na=x+4|0;ja=x+8|0;V=x+40|0;H=na;I=H+36|0;do{f[H>>2]=0;H=H+4|0}while((H|0)<(I|0));f[V>>2]=ja;ja=x+48|0;oa=x+44|0;f[oa>>2]=ja;f[ja>>2]=0;f[x+52>>2]=0;bAa(w,x,p);f[y+8>>2]=0;f[y+12>>2]=0;f[y>>2]=16842752;f[y+4>>2]=x;pa=z+8|0;f[pa>>2]=0;f[pa+4>>2]=0;f[z>>2]=33619968;f[z+4>>2]=o;Uwa(y,z,BK()|0);pa=x+36|0;qa=f[pa>>2]|0;do if(qa|0){ra=qa+12|0;sa=f[ra>>2]|0;f[ra>>2]=sa+-1;if((sa|0)!=1)break;XO(x)}while(0);f[pa>>2]=0;pa=x+16|0;f[pa>>2]=0;f[pa+4>>2]=0;f[pa+8>>2]=0;f[pa+12>>2]=0;if((f[na>>2]|0)>0){pa=f[V>>2]|0;V=0;do{f[pa+(V<<2)>>2]=0;V=V+1|0}while((V|0)<(f[na>>2]|0))}na=f[oa>>2]|0;if((na|0)!=(ja|0))dX(na);Yza(w);na=v+36|0;ja=f[na>>2]|0;do if(ja|0){oa=ja+12|0;V=f[oa>>2]|0;f[oa>>2]=V+-1;if((V|0)!=1)break;XO(v)}while(0);f[na>>2]=0;na=v+16|0;f[na>>2]=0;f[na+4>>2]=0;f[na+8>>2]=0;f[na+12>>2]=0;if((f[j>>2]|0)>0){na=f[ia>>2]|0;ia=0;do{f[na+(ia<<2)>>2]=0;ia=ia+1|0}while((ia|0)<(f[j>>2]|0))}j=f[ga>>2]|0;if((j|0)!=(W|0))dX(j);ta=1;break}case 2:{if((F|0)!=4){f[v>>2]=0;f[v+4>>2]=0;H=JV(v,12)|0;T=441027;I=H+12|0;do{b[H>>0]=b[T>>0]|0;H=H+1|0;T=T+1|0}while((H|0)<(I|0));EP(-215,v,440808,440817,113);KV(v)}f[v>>2]=1124007936;j=v+4|0;W=v+8|0;ga=v+40|0;H=j;I=H+36|0;do{f[H>>2]=0;H=H+4|0}while((H|0)<(I|0));f[ga>>2]=W;W=v+48|0;ia=v+44|0;f[ia>>2]=W;f[W>>2]=0;f[v+52>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;f[w>>2]=16842752;f[w+4>>2]=n;na=x+8|0;f[na>>2]=0;f[na+4>>2]=0;f[x>>2]=33619968;f[x+4>>2]=v;f[y+8>>2]=0;f[y+12>>2]=0;f[y>>2]=16842752;f[y+4>>2]=s;f[z+8>>2]=0;f[z+12>>2]=0;f[z>>2]=16842752;f[z+4>>2]=t;na=BK()|0;gaa(w,x,y,z,na,BK()|0);f[A>>2]=f[s>>2];na=A+4|0;ja=f[e>>2]|0;f[na>>2]=ja;V=A+8|0;f[V>>2]=f[aa>>2];f[A+12>>2]=f[J>>2];oa=A+16|0;f[oa>>2]=f[_>>2];f[A+20>>2]=f[Z>>2];f[A+24>>2]=f[S>>2];f[A+28>>2]=f[c>>2];f[A+32>>2]=f[i>>2];pa=A+36|0;qa=f[Y>>2]|0;f[pa>>2]=qa;sa=A+40|0;f[sa>>2]=V;V=A+48|0;ra=A+44|0;f[ra>>2]=V;f[V>>2]=0;f[A+52>>2]=0;if(!qa)ua=ja;else{ja=qa+12|0;f[ja>>2]=(f[ja>>2]|0)+1;ua=f[e>>2]|0}if((ua|0)<3){ua=f[ea>>2]|0;ja=f[ra>>2]|0;f[ja>>2]=f[ua>>2];f[ja+4>>2]=f[ua+4>>2]}else{f[na>>2]=0;WO(A,s)}wza(w,A);ua=f[pa>>2]|0;do if(ua|0){ja=ua+12|0;qa=f[ja>>2]|0;f[ja>>2]=qa+-1;if((qa|0)!=1)break;XO(A)}while(0);f[pa>>2]=0;f[oa>>2]=0;f[oa+4>>2]=0;f[oa+8>>2]=0;f[oa+12>>2]=0;if((f[na>>2]|0)>0){oa=f[sa>>2]|0;sa=0;do{f[oa+(sa<<2)>>2]=0;sa=sa+1|0}while((sa|0)<(f[na>>2]|0))}na=f[ra>>2]|0;if((na|0)!=(V|0))dX(na);f[x>>2]=1124007936;na=x+4|0;V=x+8|0;ra=x+40|0;H=na;I=H+36|0;do{f[H>>2]=0;H=H+4|0}while((H|0)<(I|0));f[ra>>2]=V;V=x+48|0;sa=x+44|0;f[sa>>2]=V;f[V>>2]=0;f[x+52>>2]=0;oa=xza(w,x,p,m,v)|0;if(oa){f[y+8>>2]=0;f[y+12>>2]=0;f[y>>2]=16842752;f[y+4>>2]=x;pa=z+8|0;f[pa>>2]=0;f[pa+4>>2]=0;f[z>>2]=33619968;f[z+4>>2]=o;Uwa(y,z,BK()|0)}pa=x+36|0;A=f[pa>>2]|0;do if(A|0){ua=A+12|0;qa=f[ua>>2]|0;f[ua>>2]=qa+-1;if((qa|0)!=1)break;XO(x)}while(0);f[pa>>2]=0;pa=x+16|0;f[pa>>2]=0;f[pa+4>>2]=0;f[pa+8>>2]=0;f[pa+12>>2]=0;if((f[na>>2]|0)>0){pa=f[ra>>2]|0;ra=0;do{f[pa+(ra<<2)>>2]=0;ra=ra+1|0}while((ra|0)<(f[na>>2]|0))}na=f[sa>>2]|0;if((na|0)!=(V|0))dX(na);na=v+36|0;V=f[na>>2]|0;do if(V|0){sa=V+12|0;ra=f[sa>>2]|0;f[sa>>2]=ra+-1;if((ra|0)!=1)break;XO(v)}while(0);f[na>>2]=0;na=v+16|0;f[na>>2]=0;f[na+4>>2]=0;f[na+8>>2]=0;f[na+12>>2]=0;if((f[j>>2]|0)>0){na=f[ga>>2]|0;ga=0;do{f[na+(ga<<2)>>2]=0;ga=ga+1|0}while((ga|0)<(f[j>>2]|0))}j=f[ia>>2]|0;if((j|0)!=(W|0))dX(j);ta=oa;break}case 5:{if((F|0)!=4){f[v>>2]=0;f[v+4>>2]=0;H=JV(v,12)|0;T=441027;I=H+12|0;do{b[H>>0]=b[T>>0]|0;H=H+1|0;T=T+1|0}while((H|0)<(I|0));EP(-215,v,440808,440817,125);KV(v)}f[v>>2]=1124007936;F=v+4|0;oa=v+8|0;j=v+40|0;H=F;I=H+36|0;do{f[H>>2]=0;H=H+4|0}while((H|0)<(I|0));f[j>>2]=oa;oa=v+48|0;W=v+44|0;f[W>>2]=oa;f[oa>>2]=0;f[v+52>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;f[w>>2]=16842752;f[w+4>>2]=n;ia=x+8|0;f[ia>>2]=0;f[ia+4>>2]=0;f[x>>2]=33619968;f[x+4>>2]=v;f[y+8>>2]=0;f[y+12>>2]=0;f[y>>2]=16842752;f[y+4>>2]=s;f[z+8>>2]=0;f[z+12>>2]=0;f[z>>2]=16842752;f[z+4>>2]=t;ia=BK()|0;gaa(w,x,y,z,ia,BK()|0);f[B>>2]=f[s>>2];ia=B+4|0;ga=f[e>>2]|0;f[ia>>2]=ga;na=B+8|0;f[na>>2]=f[aa>>2];f[B+12>>2]=f[J>>2];V=B+16|0;f[V>>2]=f[_>>2];f[B+20>>2]=f[Z>>2];f[B+24>>2]=f[S>>2];f[B+28>>2]=f[c>>2];f[B+32>>2]=f[i>>2];i=B+36|0;c=f[Y>>2]|0;f[i>>2]=c;S=B+40|0;f[S>>2]=na;na=B+48|0;Z=B+44|0;f[Z>>2]=na;f[na>>2]=0;f[B+52>>2]=0;if(!c)va=ga;else{ga=c+12|0;f[ga>>2]=(f[ga>>2]|0)+1;va=f[e>>2]|0}if((va|0)<3){va=f[ea>>2]|0;ga=f[Z>>2]|0;f[ga>>2]=f[va>>2];f[ga+4>>2]=f[va+4>>2]}else{f[ia>>2]=0;WO(B,s)}Hza(w,B);va=f[i>>2]|0;do if(va|0){ga=va+12|0;c=f[ga>>2]|0;f[ga>>2]=c+-1;if((c|0)!=1)break;XO(B)}while(0);f[i>>2]=0;f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;f[V+12>>2]=0;if((f[ia>>2]|0)>0){V=f[S>>2]|0;S=0;do{f[V+(S<<2)>>2]=0;S=S+1|0}while((S|0)<(f[ia>>2]|0))}ia=f[Z>>2]|0;if((ia|0)!=(na|0))dX(ia);f[x>>2]=1124007936;ia=x+4|0;na=x+8|0;Z=x+40|0;H=ia;I=H+36|0;do{f[H>>2]=0;H=H+4|0}while((H|0)<(I|0));f[Z>>2]=na;na=x+48|0;S=x+44|0;f[S>>2]=na;f[na>>2]=0;f[x+52>>2]=0;V=Lza(w,x,p,m,v)|0;if(V){f[y+8>>2]=0;f[y+12>>2]=0;f[y>>2]=16842752;f[y+4>>2]=x;i=z+8|0;f[i>>2]=0;f[i+4>>2]=0;f[z>>2]=33619968;f[z+4>>2]=o;Uwa(y,z,BK()|0)}i=x+36|0;B=f[i>>2]|0;do if(B|0){va=B+12|0;c=f[va>>2]|0;f[va>>2]=c+-1;if((c|0)!=1)break;XO(x)}while(0);f[i>>2]=0;i=x+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[ia>>2]|0)>0){i=f[Z>>2]|0;Z=0;do{f[i+(Z<<2)>>2]=0;Z=Z+1|0}while((Z|0)<(f[ia>>2]|0))}ia=f[S>>2]|0;if((ia|0)!=(na|0))dX(ia);ia=v+36|0;na=f[ia>>2]|0;do if(na|0){S=na+12|0;Z=f[S>>2]|0;f[S>>2]=Z+-1;if((Z|0)!=1)break;XO(v)}while(0);f[ia>>2]=0;ia=v+16|0;f[ia>>2]=0;f[ia+4>>2]=0;f[ia+8>>2]=0;f[ia+12>>2]=0;if((f[F>>2]|0)>0){ia=f[j>>2]|0;j=0;do{f[ia+(j<<2)>>2]=0;j=j+1|0}while((j|0)<(f[F>>2]|0))}F=f[W>>2]|0;if((F|0)!=(oa|0))dX(F);ta=V;break}case 0:{V=f[m+8>>2]|0;F=(f[m+4>>2]|0)==1?1:f[m+12>>2]|0;oa=f[m>>2]|0;W=oa&4095;j=f[m+16>>2]|0;ia=X((oa>>>3&511)+1<<(47696>>>(W<<1&14)&3),F)|0;f[v>>2]=W|1111638016;W=v+4|0;f[W>>2]=ia;f[v+8>>2]=0;f[v+12>>2]=0;f[v+16>>2]=j;f[v+20>>2]=V;f[v+24>>2]=F;f[W>>2]=f[f[m+44>>2]>>2];f[v>>2]=oa&20479|1111621632;oa=f[n+8>>2]|0;W=(f[n+4>>2]|0)==1?1:f[n+12>>2]|0;F=f[n>>2]|0;V=F&4095;j=f[n+16>>2]|0;ia=X((F>>>3&511)+1<<(47696>>>(V<<1&14)&3),W)|0;f[w>>2]=V|1111638016;V=w+4|0;f[V>>2]=ia;f[w+8>>2]=0;f[w+12>>2]=0;f[w+16>>2]=j;f[w+20>>2]=oa;f[w+24>>2]=W;f[V>>2]=f[f[n+44>>2]>>2];f[w>>2]=F&20479|1111621632;F=f[aa>>2]|0;aa=(f[e>>2]|0)==1?1:f[J>>2]|0;J=f[s>>2]|0;V=J&4095;W=f[_>>2]|0;oa=X((J>>>3&511)+1<<(47696>>>(V<<1&14)&3),aa)|0;f[x>>2]=V|1111638016;V=x+4|0;f[V>>2]=oa;f[x+8>>2]=0;f[x+12>>2]=0;f[x+16>>2]=W;f[x+20>>2]=F;f[x+24>>2]=aa;f[V>>2]=f[f[ea>>2]>>2];f[x>>2]=J&20479|1111621632;J=f[fa>>2]|0;fa=(f[d>>2]|0)==1?1:f[ba>>2]|0;ba=f[t>>2]|0;V=ba&4095;aa=f[$>>2]|0;F=X((ba>>>3&511)+1<<(47696>>>(V<<1&14)&3),fa)|0;f[y>>2]=V|1111638016;V=y+4|0;f[V>>2]=F;f[y+8>>2]=0;f[y+12>>2]=0;f[y+16>>2]=aa;f[y+20>>2]=J;f[y+24>>2]=fa;f[V>>2]=f[f[ma>>2]>>2];f[y>>2]=ba&20479|1111621632;ba=f[E>>2]|0;E=(f[D>>2]|0)==1?1:f[o+12>>2]|0;V=f[o>>2]|0;aa=V&4095;F=f[U>>2]|0;W=X((V>>>3&511)+1<<(47696>>>(aa<<1&14)&3),E)|0;f[z>>2]=aa|1111638016;aa=z+4|0;f[aa>>2]=W;f[z+8>>2]=0;f[z+12>>2]=0;f[z+16>>2]=F;f[z+20>>2]=ba;f[z+24>>2]=E;f[aa>>2]=f[f[L>>2]>>2];f[z>>2]=V&20479|1111621632;V=f[N>>2]|0;N=(f[M>>2]|0)==1?1:f[p+12>>2]|0;aa=f[p>>2]|0;E=aa&4095;ba=f[h>>2]|0;F=X((aa>>>3&511)+1<<(47696>>>(E<<1&14)&3),N)|0;f[C>>2]=E|1111638016;E=C+4|0;f[E>>2]=F;f[C+8>>2]=0;f[C+12>>2]=0;f[C+16>>2]=ba;f[C+20>>2]=V;f[C+24>>2]=N;f[E>>2]=f[f[Q>>2]>>2];f[C>>2]=aa&20479|1111621632;Twa(v,w,x,(J|0)==0|(fa|0)==0?0:y,z,C,R&1);ta=1;break}default:{f[v>>2]=0;f[v+4>>2]=0;H=JV(v,97)|0;T=441040;I=H+97|0;do{b[H>>0]=b[T>>0]|0;H=H+1|0;T=T+1|0}while((H|0)<(I|0));EP(-5,v,440808,440817,168);KV(v);ta=0}}v=f[ha>>2]|0;do if(v|0){T=v+12|0;H=f[T>>2]|0;f[T>>2]=H+-1;if((H|0)!=1)break;XO(t)}while(0);f[ha>>2]=0;f[$>>2]=0;f[$+4>>2]=0;f[$+8>>2]=0;f[$+12>>2]=0;if((f[d>>2]|0)>0){$=f[ka>>2]|0;ka=0;do{f[$+(ka<<2)>>2]=0;ka=ka+1|0}while((ka|0)<(f[d>>2]|0))}d=f[ma>>2]|0;if((d|0)!=(la|0))dX(d);d=f[Y>>2]|0;do if(d|0){la=d+12|0;ma=f[la>>2]|0;f[la>>2]=ma+-1;if((ma|0)!=1)break;XO(s)}while(0);f[Y>>2]=0;f[_>>2]=0;f[_+4>>2]=0;f[_+8>>2]=0;f[_+12>>2]=0;if((f[e>>2]|0)>0){_=f[ca>>2]|0;ca=0;do{f[_+(ca<<2)>>2]=0;ca=ca+1|0}while((ca|0)<(f[e>>2]|0))}e=f[ea>>2]|0;if((e|0)!=(da|0))dX(e);e=r+36|0;da=f[e>>2]|0;do if(da|0){ea=da+12|0;ca=f[ea>>2]|0;f[ea>>2]=ca+-1;if((ca|0)!=1)break;XO(r)}while(0);f[e>>2]=0;e=r+16|0;da=r+4|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;if((f[da>>2]|0)>0){e=f[r+40>>2]|0;ca=0;do{f[e+(ca<<2)>>2]=0;ca=ca+1|0}while((ca|0)<(f[da>>2]|0))}da=f[r+44>>2]|0;if((da|0)!=(r+48|0))dX(da);da=q+36|0;r=f[da>>2]|0;do if(r|0){ca=r+12|0;e=f[ca>>2]|0;f[ca>>2]=e+-1;if((e|0)!=1)break;XO(q)}while(0);f[da>>2]=0;da=q+16|0;r=q+4|0;f[da>>2]=0;f[da+4>>2]=0;f[da+8>>2]=0;f[da+12>>2]=0;if((f[r>>2]|0)>0){da=f[q+40>>2]|0;e=0;do{f[da+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(f[r>>2]|0))}r=f[q+44>>2]|0;if((r|0)!=(q+48|0))dX(r);r=f[a>>2]|0;do if(r|0){q=r+12|0;e=f[q>>2]|0;f[q>>2]=e+-1;if((e|0)!=1)break;XO(p)}while(0);f[a>>2]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;if((f[M>>2]|0)>0){h=f[O>>2]|0;O=0;do{f[h+(O<<2)>>2]=0;O=O+1|0}while((O|0)<(f[M>>2]|0))}M=f[Q>>2]|0;if((M|0)!=(P|0))dX(M);M=f[g>>2]|0;do if(M|0){P=M+12|0;Q=f[P>>2]|0;f[P>>2]=Q+-1;if((Q|0)!=1)break;XO(o)}while(0);f[g>>2]=0;f[U>>2]=0;f[U+4>>2]=0;f[U+8>>2]=0;f[U+12>>2]=0;if((f[D>>2]|0)>0){U=f[G>>2]|0;G=0;do{f[U+(G<<2)>>2]=0;G=G+1|0}while((G|0)<(f[D>>2]|0))}D=f[L>>2]|0;if((D|0)!=(K|0))dX(D);D=n+36|0;K=f[D>>2]|0;do if(K|0){L=K+12|0;G=f[L>>2]|0;f[L>>2]=G+-1;if((G|0)!=1)break;XO(n)}while(0);f[D>>2]=0;D=n+16|0;K=n+4|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;if((f[K>>2]|0)>0){D=f[n+40>>2]|0;G=0;do{f[D+(G<<2)>>2]=0;G=G+1|0}while((G|0)<(f[K>>2]|0))}K=f[n+44>>2]|0;if((K|0)!=(n+48|0))dX(K);K=m+36|0;n=f[K>>2]|0;do if(n|0){G=n+12|0;D=f[G>>2]|0;f[G>>2]=D+-1;if((D|0)!=1)break;XO(m)}while(0);f[K>>2]=0;K=m+16|0;n=m+4|0;f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0;f[K+12>>2]=0;if((f[n>>2]|0)>0){K=f[m+40>>2]|0;D=0;do{f[K+(D<<2)>>2]=0;D=D+1|0}while((D|0)<(f[n>>2]|0))}n=f[m+44>>2]|0;if((n|0)!=(m+48|0))dX(n);if(!(f[l+4>>2]|0)){u=k;return ta|0}u=k;return ta|0}function wza(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0,g=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;c=b+16|0;if((f[b>>2]&7|0)==5){d=f[c>>2]|0;e=+n[d+8>>2];p[a+16>>3]=e;g=d+(f[f[b+44>>2]>>2]|0)|0;h=+n[g+8>>2];p[a+24>>3]=h;i=+n[d>>2];p[a>>3]=i;j=+n[g+4>>2];k=i;l=e;m=h}else{g=f[c>>2]|0;h=+p[g+16>>3];p[a+16>>3]=h;c=g+(f[f[b+44>>2]>>2]|0)|0;e=+p[c+16>>3];p[a+24>>3]=e;i=+p[g>>3];p[a>>3]=i;j=+p[c+8>>3];k=i;l=h;m=e}p[a+8>>3]=j;p[a+32>>3]=1.0/k;p[a+40>>3]=1.0/j;p[a+48>>3]=l/k;p[a+56>>3]=m/j;return}function xza(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0;g=u;u=u+256|0;h=g+240|0;i=g+24|0;j=g;k=g+224|0;l=g+152|0;m=g+208|0;n=g+96|0;yV(h,101504);f[k>>2]=0;o=k+4|0;f[o>>2]=0;f[k+8>>2]=0;q=f[d>>2]&7;r=(q|0)==5;do if((q|0)==(f[e>>2]&7|0))if(r){yza(a,d,e,k);break}else{zza(a,d,e,k);break}else if(r){Aza(a,d,e,k);break}else{Bza(a,d,e,k);break}while(0);e=f[k>>2]|0;d=Cza(a,i,j,+p[e>>3],+p[e+8>>3],+p[e+16>>3],+p[e+24>>3],+p[e+32>>3],+p[e+40>>3],+p[e+48>>3],+p[e+56>>3],+p[e+64>>3],+p[e+72>>3],+p[e+80>>3],+p[e+88>>3],+p[e+96>>3],+p[e+104>>3],+p[e+112>>3],+p[e+120>>3],+p[e+128>>3],+p[e+136>>3],+p[e+144>>3],+p[e+152>>3])|0;e=l+4|0;f[e>>2]=2;a=l+8|0;f[a>>2]=3;f[l+12>>2]=1;r=l+16|0;f[r>>2]=j;f[l+20>>2]=j;q=l+24|0;s=l+40|0;t=q+8|0;f[t>>2]=0;f[t+4>>2]=0;f[s>>2]=a;a=l+48|0;t=l+44|0;f[t>>2]=a;f[l>>2]=1124024326;f[a>>2]=8;f[l+52>>2]=8;f[l+28>>2]=j+24;f[q>>2]=j+24;j=m+8|0;f[j>>2]=0;f[j+4>>2]=0;f[m>>2]=33619968;f[m+4>>2]=c;eM(l,m);c=l+36|0;j=f[c>>2]|0;if(j|0?(q=j+12|0,j=f[q>>2]|0,f[q>>2]=j+-1,(j|0)==1):0)XO(l);f[c>>2]=0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;if((f[e>>2]|0)>0){r=f[s>>2]|0;s=0;do{f[r+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[e>>2]|0))}e=f[t>>2]|0;if((e|0)!=(a|0))dX(e);e=n+4|0;f[e>>2]=2;a=n+8|0;f[a>>2]=3;f[n+12>>2]=3;t=n+16|0;f[t>>2]=i;f[n+20>>2]=i;s=n+24|0;r=n+40|0;c=s+8|0;f[c>>2]=0;f[c+4>>2]=0;f[r>>2]=a;a=n+48|0;c=n+44|0;f[c>>2]=a;f[n>>2]=1124024326;f[a>>2]=24;f[n+52>>2]=8;f[n+28>>2]=i+72;f[s>>2]=i+72;i=m+8|0;f[i>>2]=0;f[i+4>>2]=0;f[m>>2]=33619968;f[m+4>>2]=b;eM(n,m);m=n+36|0;b=f[m>>2]|0;if(b|0?(i=b+12|0,b=f[i>>2]|0,f[i>>2]=b+-1,(b|0)==1):0)XO(n);f[m>>2]=0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;if((f[e>>2]|0)>0){t=f[r>>2]|0;r=0;do{f[t+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[e>>2]|0))}e=f[c>>2]|0;if((e|0)!=(a|0))dX(e);e=f[k>>2]|0;if(e|0){k=f[o>>2]|0;if((k|0)!=(e|0))f[o>>2]=k+(~((k+-8-e|0)>>>3)<<3);GQa(e)}if(!(f[h+4>>2]|0)){u=g;return d|0}u=g;return d|0}function yza(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;e=f[d>>2]|0;g=d+4|0;h=f[g>>2]|0;if((h|0)!=(e|0))f[g>>2]=h+(~((h+-8-e|0)>>>3)<<3);e=jP(b,3,5,1)|0;h=jP(b,3,6,1)|0;i=(e|0)<(h|0)?h:e;e=i*5|0;h=f[g>>2]|0;j=f[d>>2]|0;k=h-j>>3;l=j;j=h;if(e>>>0<=k>>>0){if(e>>>0>>0?(h=l+(e<<3)|0,(h|0)!=(j|0)):0)f[g>>2]=j+(~((j+-8-h|0)>>>3)<<3)}else U$(d,e-k|0);if((i|0)<=0)return;k=(f[c>>2]&16384|0)==0;e=f[c+40>>2]|0;h=e+4|0;j=f[c+16>>2]|0;g=f[c+44>>2]|0;l=f[c+12>>2]|0;c=a+16|0;m=f[d>>2]|0;d=a+8|0;o=a+24|0;q=(f[b>>2]&16384|0)==0;r=f[b+40>>2]|0;s=r+4|0;t=f[b+16>>2]|0;u=f[b+44>>2]|0;v=f[b+12>>2]|0;b=0;do{do if(k?(f[e>>2]|0)!=1:0)if((f[h>>2]|0)==1){w=j+(X(f[g>>2]|0,b)|0)|0;break}else{x=(b|0)/(l|0)|0;y=b-(X(x,l)|0)|0;w=j+(X(f[g>>2]|0,x)|0)+(y<<3)|0;break}else z=13;while(0);if((z|0)==13){z=0;w=j+(b<<3)|0}y=b*5|0;p[m+(y<<3)>>3]=+p[a>>3]*+n[w>>2]+ +p[c>>3];do if(k?(f[e>>2]|0)!=1:0)if((f[h>>2]|0)==1){A=j+(X(f[g>>2]|0,b)|0)|0;break}else{x=(b|0)/(l|0)|0;B=b-(X(x,l)|0)|0;A=j+(X(f[g>>2]|0,x)|0)+(B<<3)|0;break}else z=19;while(0);if((z|0)==19){z=0;A=j+(b<<3)|0}p[m+(y+1<<3)>>3]=+p[d>>3]*+n[A+4>>2]+ +p[o>>3];do if(q){if((f[r>>2]|0)==1){p[m+(y+2<<3)>>3]=+n[t+(b*12|0)>>2];if(!q){p[m+(y+3<<3)>>3]=+n[t+(b*12|0)+4>>2];z=39;break}}else{if((f[s>>2]|0)==1)C=t+(X(f[u>>2]|0,b)|0)|0;else{B=(b|0)/(v|0)|0;x=b-(X(B,v)|0)|0;C=t+(X(f[u>>2]|0,B)|0)+(x*12|0)|0}p[m+(y+2<<3)>>3]=+n[C>>2]}if((f[r>>2]|0)==1)z=36;else{if((f[s>>2]|0)==1)D=t+(X(f[u>>2]|0,b)|0)|0;else{x=(b|0)/(v|0)|0;B=b-(X(x,v)|0)|0;D=t+(X(f[u>>2]|0,x)|0)+(B*12|0)|0}p[m+(y+3<<3)>>3]=+n[D+4>>2];z=37}}else{p[m+(y+2<<3)>>3]=+n[t+(b*12|0)>>2];z=36}while(0);if((z|0)==36){z=0;p[m+(y+3<<3)>>3]=+n[t+(b*12|0)+4>>2];if(q)z=37;else z=39}do if((z|0)==37){z=0;if((f[r>>2]|0)!=1)if((f[s>>2]|0)==1){E=t+(X(f[u>>2]|0,b)|0)|0;break}else{B=(b|0)/(v|0)|0;x=b-(X(B,v)|0)|0;E=t+(X(f[u>>2]|0,B)|0)+(x*12|0)|0;break}else z=39}while(0);if((z|0)==39){z=0;E=t+(b*12|0)|0}p[m+(y+4<<3)>>3]=+n[E+8>>2];b=b+1|0}while((b|0)<(i|0));return}function zza(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;e=f[d>>2]|0;g=d+4|0;h=f[g>>2]|0;if((h|0)!=(e|0))f[g>>2]=h+(~((h+-8-e|0)>>>3)<<3);e=jP(b,3,5,1)|0;h=jP(b,3,6,1)|0;i=(e|0)<(h|0)?h:e;e=i*5|0;h=f[g>>2]|0;j=f[d>>2]|0;k=h-j>>3;l=j;j=h;if(e>>>0<=k>>>0){if(e>>>0>>0?(h=l+(e<<3)|0,(h|0)!=(j|0)):0)f[g>>2]=j+(~((j+-8-h|0)>>>3)<<3)}else U$(d,e-k|0);if((i|0)<=0)return;k=(f[c>>2]&16384|0)==0;e=f[c+40>>2]|0;h=e+4|0;j=f[c+16>>2]|0;g=f[c+44>>2]|0;l=f[c+12>>2]|0;c=a+16|0;m=f[d>>2]|0;d=a+8|0;n=a+24|0;o=(f[b>>2]&16384|0)==0;q=f[b+40>>2]|0;r=q+4|0;s=f[b+16>>2]|0;t=f[b+44>>2]|0;u=f[b+12>>2]|0;b=0;do{do if(k?(f[e>>2]|0)!=1:0)if((f[h>>2]|0)==1){v=j+(X(f[g>>2]|0,b)|0)|0;break}else{w=(b|0)/(l|0)|0;x=b-(X(w,l)|0)|0;v=j+(X(f[g>>2]|0,w)|0)+(x<<4)|0;break}else y=13;while(0);if((y|0)==13){y=0;v=j+(b<<4)|0}x=b*5|0;p[m+(x<<3)>>3]=+p[v>>3]*+p[a>>3]+ +p[c>>3];do if(k?(f[e>>2]|0)!=1:0)if((f[h>>2]|0)==1){z=j+(X(f[g>>2]|0,b)|0)|0;break}else{w=(b|0)/(l|0)|0;A=b-(X(w,l)|0)|0;z=j+(X(f[g>>2]|0,w)|0)+(A<<4)|0;break}else y=19;while(0);if((y|0)==19){y=0;z=j+(b<<4)|0}p[m+(x+1<<3)>>3]=+p[z+8>>3]*+p[d>>3]+ +p[n>>3];do if(o){do if((f[q>>2]|0)!=1)if((f[r>>2]|0)==1){B=s+(X(f[t>>2]|0,b)|0)|0;break}else{A=(b|0)/(u|0)|0;w=b-(X(A,u)|0)|0;B=s+(X(f[t>>2]|0,A)|0)+(w*24|0)|0;break}else B=s+(b*24|0)|0;while(0);p[m+(x+2<<3)>>3]=+p[B>>3];do if((f[q>>2]|0)!=1)if((f[r>>2]|0)==1){C=s+(X(f[t>>2]|0,b)|0)|0;break}else{w=(b|0)/(u|0)|0;A=b-(X(w,u)|0)|0;C=s+(X(f[t>>2]|0,w)|0)+(A*24|0)|0;break}else C=s+(b*24|0)|0;while(0);p[m+(x+3<<3)>>3]=+p[C+8>>3];if((f[q>>2]|0)!=1)if((f[r>>2]|0)==1){D=s+(X(f[t>>2]|0,b)|0)|0;break}else{A=(b|0)/(u|0)|0;w=b-(X(A,u)|0)|0;D=s+(X(f[t>>2]|0,A)|0)+(w*24|0)|0;break}else y=36}else{p[m+(x+2<<3)>>3]=+p[s+(b*24|0)>>3];p[m+(x+3<<3)>>3]=+p[s+(b*24|0)+8>>3];y=36}while(0);if((y|0)==36){y=0;D=s+(b*24|0)|0}p[m+(x+4<<3)>>3]=+p[D+16>>3];b=b+1|0}while((b|0)<(i|0));return}function Aza(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;e=f[d>>2]|0;g=d+4|0;h=f[g>>2]|0;if((h|0)!=(e|0))f[g>>2]=h+(~((h+-8-e|0)>>>3)<<3);e=jP(b,3,5,1)|0;h=jP(b,3,6,1)|0;i=(e|0)<(h|0)?h:e;e=i*5|0;h=f[g>>2]|0;j=f[d>>2]|0;k=h-j>>3;l=j;j=h;if(e>>>0<=k>>>0){if(e>>>0>>0?(h=l+(e<<3)|0,(h|0)!=(j|0)):0)f[g>>2]=j+(~((j+-8-h|0)>>>3)<<3)}else U$(d,e-k|0);if((i|0)<=0)return;k=(f[c>>2]&16384|0)==0;e=f[c+40>>2]|0;h=e+4|0;j=f[c+16>>2]|0;g=f[c+44>>2]|0;l=f[c+12>>2]|0;c=a+16|0;m=f[d>>2]|0;d=a+8|0;o=a+24|0;q=(f[b>>2]&16384|0)==0;r=f[b+40>>2]|0;s=r+4|0;t=f[b+16>>2]|0;u=f[b+44>>2]|0;v=f[b+12>>2]|0;b=0;do{do if(k?(f[e>>2]|0)!=1:0)if((f[h>>2]|0)==1){w=j+(X(f[g>>2]|0,b)|0)|0;break}else{x=(b|0)/(l|0)|0;y=b-(X(x,l)|0)|0;w=j+(X(f[g>>2]|0,x)|0)+(y<<4)|0;break}else z=13;while(0);if((z|0)==13){z=0;w=j+(b<<4)|0}y=b*5|0;p[m+(y<<3)>>3]=+p[w>>3]*+p[a>>3]+ +p[c>>3];do if(k?(f[e>>2]|0)!=1:0)if((f[h>>2]|0)==1){A=j+(X(f[g>>2]|0,b)|0)|0;break}else{x=(b|0)/(l|0)|0;B=b-(X(x,l)|0)|0;A=j+(X(f[g>>2]|0,x)|0)+(B<<4)|0;break}else z=19;while(0);if((z|0)==19){z=0;A=j+(b<<4)|0}p[m+(y+1<<3)>>3]=+p[A+8>>3]*+p[d>>3]+ +p[o>>3];do if(q){if((f[r>>2]|0)==1){p[m+(y+2<<3)>>3]=+n[t+(b*12|0)>>2];if(!q){p[m+(y+3<<3)>>3]=+n[t+(b*12|0)+4>>2];z=39;break}}else{if((f[s>>2]|0)==1)C=t+(X(f[u>>2]|0,b)|0)|0;else{B=(b|0)/(v|0)|0;x=b-(X(B,v)|0)|0;C=t+(X(f[u>>2]|0,B)|0)+(x*12|0)|0}p[m+(y+2<<3)>>3]=+n[C>>2]}if((f[r>>2]|0)==1)z=36;else{if((f[s>>2]|0)==1)D=t+(X(f[u>>2]|0,b)|0)|0;else{x=(b|0)/(v|0)|0;B=b-(X(x,v)|0)|0;D=t+(X(f[u>>2]|0,x)|0)+(B*12|0)|0}p[m+(y+3<<3)>>3]=+n[D+4>>2];z=37}}else{p[m+(y+2<<3)>>3]=+n[t+(b*12|0)>>2];z=36}while(0);if((z|0)==36){z=0;p[m+(y+3<<3)>>3]=+n[t+(b*12|0)+4>>2];if(q)z=37;else z=39}do if((z|0)==37){z=0;if((f[r>>2]|0)!=1)if((f[s>>2]|0)==1){E=t+(X(f[u>>2]|0,b)|0)|0;break}else{B=(b|0)/(v|0)|0;x=b-(X(B,v)|0)|0;E=t+(X(f[u>>2]|0,B)|0)+(x*12|0)|0;break}else z=39}while(0);if((z|0)==39){z=0;E=t+(b*12|0)|0}p[m+(y+4<<3)>>3]=+n[E+8>>2];b=b+1|0}while((b|0)<(i|0));return}function Bza(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;e=f[d>>2]|0;g=d+4|0;h=f[g>>2]|0;if((h|0)!=(e|0))f[g>>2]=h+(~((h+-8-e|0)>>>3)<<3);e=jP(b,3,5,1)|0;h=jP(b,3,6,1)|0;i=(e|0)<(h|0)?h:e;e=i*5|0;h=f[g>>2]|0;j=f[d>>2]|0;k=h-j>>3;l=j;j=h;if(e>>>0<=k>>>0){if(e>>>0>>0?(h=l+(e<<3)|0,(h|0)!=(j|0)):0)f[g>>2]=j+(~((j+-8-h|0)>>>3)<<3)}else U$(d,e-k|0);if((i|0)<=0)return;k=(f[c>>2]&16384|0)==0;e=f[c+40>>2]|0;h=e+4|0;j=f[c+16>>2]|0;g=f[c+44>>2]|0;l=f[c+12>>2]|0;c=a+16|0;m=f[d>>2]|0;d=a+8|0;o=a+24|0;q=(f[b>>2]&16384|0)==0;r=f[b+40>>2]|0;s=r+4|0;t=f[b+16>>2]|0;u=f[b+44>>2]|0;v=f[b+12>>2]|0;b=0;do{do if(k?(f[e>>2]|0)!=1:0)if((f[h>>2]|0)==1){w=j+(X(f[g>>2]|0,b)|0)|0;break}else{x=(b|0)/(l|0)|0;y=b-(X(x,l)|0)|0;w=j+(X(f[g>>2]|0,x)|0)+(y<<3)|0;break}else z=13;while(0);if((z|0)==13){z=0;w=j+(b<<3)|0}y=b*5|0;p[m+(y<<3)>>3]=+p[a>>3]*+n[w>>2]+ +p[c>>3];do if(k?(f[e>>2]|0)!=1:0)if((f[h>>2]|0)==1){A=j+(X(f[g>>2]|0,b)|0)|0;break}else{x=(b|0)/(l|0)|0;B=b-(X(x,l)|0)|0;A=j+(X(f[g>>2]|0,x)|0)+(B<<3)|0;break}else z=19;while(0);if((z|0)==19){z=0;A=j+(b<<3)|0}p[m+(y+1<<3)>>3]=+p[d>>3]*+n[A+4>>2]+ +p[o>>3];do if(q){do if((f[r>>2]|0)!=1)if((f[s>>2]|0)==1){C=t+(X(f[u>>2]|0,b)|0)|0;break}else{B=(b|0)/(v|0)|0;x=b-(X(B,v)|0)|0;C=t+(X(f[u>>2]|0,B)|0)+(x*24|0)|0;break}else C=t+(b*24|0)|0;while(0);p[m+(y+2<<3)>>3]=+p[C>>3];do if((f[r>>2]|0)!=1)if((f[s>>2]|0)==1){D=t+(X(f[u>>2]|0,b)|0)|0;break}else{x=(b|0)/(v|0)|0;B=b-(X(x,v)|0)|0;D=t+(X(f[u>>2]|0,x)|0)+(B*24|0)|0;break}else D=t+(b*24|0)|0;while(0);p[m+(y+3<<3)>>3]=+p[D+8>>3];if((f[r>>2]|0)!=1)if((f[s>>2]|0)==1){E=t+(X(f[u>>2]|0,b)|0)|0;break}else{B=(b|0)/(v|0)|0;x=b-(X(B,v)|0)|0;E=t+(X(f[u>>2]|0,B)|0)+(x*24|0)|0;break}else z=36}else{p[m+(y+2<<3)>>3]=+p[t+(b*24|0)>>3];p[m+(y+3<<3)>>3]=+p[t+(b*24|0)+8>>3];z=36}while(0);if((z|0)==36){z=0;E=t+(b*24|0)|0}p[m+(y+4<<3)>>3]=+p[E+16>>3];b=b+1|0}while((b|0)<(i|0));return}function Cza(a,b,c,d,e,g,h,i,j,k,l,m,n,o,q,r,s,t,v,w,x,y,z){a=a|0;b=b|0;c=c|0;d=+d;e=+e;g=+g;h=+h;i=+i;j=+j;k=+k;l=+l;m=+m;n=+n;o=+o;q=+q;r=+r;s=+s;t=+t;v=+v;w=+w;x=+x;y=+y;z=+z;var A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;A=u;u=u+384|0;B=A+96|0;C=A;D=Dza(a,B,C,d,e,g,h,i,j,k,l,m,n,o,q,r,s,t)|0;if(!D){E=0;u=A;return E|0}if((D|0)>0){t=+p[a+16>>3];s=+p[a>>3];r=+p[a+24>>3];q=+p[a+8>>3];a=0;F=0;o=0.0;while(1){n=+p[C+(a*24|0)+16>>3]+(+p[B+(a*72|0)+48>>3]*x+ +p[B+(a*72|0)+56>>3]*y+ +p[B+(a*72|0)+64>>3]*z);m=t+(+p[C+(a*24|0)>>3]+(+p[B+(a*72|0)>>3]*x+ +p[B+(a*72|0)+8>>3]*y+ +p[B+(a*72|0)+16>>3]*z))*s/n-v;l=r+(+p[C+(a*24|0)+8>>3]+(+p[B+(a*72|0)+24>>3]*x+ +p[B+(a*72|0)+32>>3]*y+ +p[B+(a*72|0)+40>>3]*z))*q/n-w;n=m*m+l*l;G=(a|0)==0|o>n;H=G?a:F;a=a+1|0;if((a|0)==(D|0)){I=H;break}else{F=H;o=G?n:o}}}else I=0;F=B+(I*72|0)|0;f[b>>2]=f[F>>2];f[b+4>>2]=f[F+4>>2];f[b+8>>2]=f[F+8>>2];f[b+12>>2]=f[F+12>>2];f[b+16>>2]=f[F+16>>2];f[b+20>>2]=f[F+20>>2];p[c>>3]=+p[C+(I*24|0)>>3];F=b+24|0;D=B+(I*72|0)+24|0;f[F>>2]=f[D>>2];f[F+4>>2]=f[D+4>>2];f[F+8>>2]=f[D+8>>2];f[F+12>>2]=f[D+12>>2];f[F+16>>2]=f[D+16>>2];f[F+20>>2]=f[D+20>>2];p[c+8>>3]=+p[C+(I*24|0)+8>>3];D=b+48|0;b=B+(I*72|0)+48|0;f[D>>2]=f[b>>2];f[D+4>>2]=f[b+4>>2];f[D+8>>2]=f[b+8>>2];f[D+12>>2]=f[b+12>>2];f[D+16>>2]=f[b+16>>2];f[D+20>>2]=f[b+20>>2];p[c+16>>3]=+p[C+(I*24|0)+16>>3];E=1;u=A;return E|0}function Dza(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q,r,s){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;j=+j;k=+k;l=+l;m=+m;n=+n;o=+o;q=+q;r=+r;s=+s;var t=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0;t=u;u=u+224|0;v=t+192|0;w=t+168|0;x=t+72|0;y=t;z=+p[a+32>>3];A=+p[a+48>>3];B=z*d-A;d=+p[a+40>>3];C=+p[a+56>>3];D=d*e-C;e=1.0/+L(+(B*B+D*D+1.0));E=B*e;B=D*e;D=z*i-A;i=d*j-C;j=1.0/+L(+(D*D+i*i+1.0));F=D*j;D=i*j;i=z*n-A;A=d*o-C;C=1.0/+L(+(i*i+A*A+1.0));o=i*C;i=A*C;A=k-q;d=l-r;n=m-s;z=+L(+(A*A+d*d+n*n));p[v>>3]=z;z=f-q;n=g-r;d=h-s;A=+L(+(z*z+n*n+d*d));p[v+8>>3]=A;A=f-k;d=g-l;n=h-m;z=+L(+(A*A+d*d+n*n));p[v+16>>3]=z;p[w>>3]=j*C+(F*o+D*i);p[w+8>>3]=e*C+(E*o+B*i);p[w+16>>3]=e*j+(E*F+B*D);G=Eza(0,x,v,w)|0;if((G|0)<=0){H=0;u=t;return H|0}w=y+8|0;v=y+16|0;I=y+24|0;J=y+32|0;K=y+40|0;M=y+48|0;N=y+56|0;O=y+64|0;P=0;do{z=+p[x+(P*24|0)>>3];p[y>>3]=E*z;p[w>>3]=B*z;p[v>>3]=e*z;z=+p[x+(P*24|0)+8>>3];p[I>>3]=F*z;p[J>>3]=D*z;p[K>>3]=j*z;z=+p[x+(P*24|0)+16>>3];p[M>>3]=o*z;p[N>>3]=i*z;p[O>>3]=C*z;Fza(a,y,f,g,h,k,l,m,q,r,s,b+(P*72|0)|0,c+(P*24|0)|0)|0;P=P+1|0}while((P|0)!=(G|0));H=G;u=t;return H|0}function Eza(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,q=0.0,r=0.0,s=0,t=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0,J=0,K=0,M=0;a=u;u=u+32|0;e=a;f=+p[d>>3]*2.0;g=+p[d+8>>3]*2.0;h=+p[d+16>>3]*2.0;d=c+16|0;i=+p[d>>3];j=1.0/(i*i);i=+p[c>>3];k=j*(i*i);i=+p[c+8>>3];l=j*(i*i);i=k*k;j=l*l;m=f*f;n=g*g;o=h*h;q=f*h;r=g*q;if(m+n+o-r+-1.0==0.0){s=0;u=a;return s|0}t=k*l;v=k*2.0;w=l*2.0;x=(2.0-o)*t;y=x+(i+(j-w)+1.0)-v;if(y==0.0){s=0;u=a;return s|0}z=k*4.0;A=l-j;B=i-v;C=k+-1.0;D=r+(m*(C+l)+o*(C-l))-r*k;C=D*(l*D);if(C==0.0){s=0;u=a;return s|0}c=Sza(y,q*(t+A)+g*(z+(o*t-(i+t+1.0-l)*2.0)),(n+2.0)*B+(n+(m+o+-2.0)*j-(m+r)*l-(o+r)*t)+2.0,q*(l+(t-j))+g*(z+((m+-2.0)*l+(t-i)*2.0)+-2.0),i+(j+((l-k-t)*2.0+1.0)-m*l),e,e+8|0,e+16|0,e+24|0)|0;if((c|0)!=0?(q=h*o,r=f*o,y=g*q,D=1.0/C,(c|0)>0):0){C=1.0-k-l;E=g*k-g;F=q*(j+(i+x-v)-w+1.0);w=(t-k-l)*2.0;x=y*((o+-2.0)*t+(z+(l-i)*2.0)+-2.0)+r*(j+(o*A+(i+1.0+w)));A=(i-j)*2.0;G=o*l;H=g*r*(z+(l-t-i)*2.0+-2.0-G)+(q*(A+(n*(i+(1.0-v))+o*(j-t)-z)+2.0)+m*h*(i+(j+(t-l-k)*2.0+1.0)));o=y*2.0*(t+(v-l-i)+-1.0);y=r*(n*B+(G+(n-z+A))+2.0);A=m*(g*2.0*h*(l+v-i-t+-1.0)+f*(j+(i+w)+1.0));I=0;J=0;while(1){w=+p[e+(J<<3)>>3];if((!(w<=0.0)?(i=w*w,j=(l+(E*w+C*i+1.0-k))*(A+(y+(o+(H*w+i*(x+F*w))))),!(j<=0.0)):0)?(f=D*j,j=i+f*f-h*(w*f),!(j<=0.0)):0){i=+p[d>>3]/+L(+j);p[b+(I*24|0)>>3]=w*i;p[b+(I*24|0)+8>>3]=f*i;p[b+(I*24|0)+16>>3]=i;K=I+1|0}else K=I;J=J+1|0;if((J|0)==(c|0)){M=K;break}else I=K}}else M=0;s=M;u=a;return s|0}function Fza(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;j=+j;k=+k;l=l|0;m=m|0;var n=0,o=0,q=0,r=0,s=0,t=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0.0,F=0,G=0.0,H=0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0,P=0.0,Q=0;a=u;u=u+384|0;n=a+360|0;o=a+288|0;q=a+160|0;r=a+128|0;s=a;t=+p[b>>3];v=+p[b+24>>3];w=+p[b+48>>3];x=(t+v+w)/3.0;p[n>>3]=x;y=+p[b+8>>3];z=+p[b+32>>3];A=+p[b+56>>3];B=(y+z+A)/3.0;C=n+8|0;p[C>>3]=B;D=b+16|0;E=+p[D>>3];F=b+40|0;G=+p[F>>3];H=b+64|0;I=+p[H>>3];J=(E+G+I)/3.0;b=n+16|0;p[b>>3]=J;K=(c+f+i)/3.0;L=(d+g+j)/3.0;M=(e+h+k)/3.0;N=(t*c+v*f+w*i)/3.0-K*x;p[o>>3]=N;O=o+24|0;p[O>>3]=(t*d+v*g+w*j)/3.0-L*x;P=(t*e+v*h+w*k)/3.0-M*x;Q=o+48|0;p[Q>>3]=P;x=(y*c+z*f+A*i)/3.0-K*B;p[o+8>>3]=x;w=(y*d+z*g+A*j)/3.0-L*B;p[o+32>>3]=w;v=(y*e+z*h+A*k)/3.0-M*B;p[o+56>>3]=v;B=(E*c+G*f+I*i)/3.0-K*J;p[o+16>>3]=B;i=(E*d+G*g+I*j)/3.0-L*J;p[o+40>>3]=i;J=(+p[D>>3]*e+ +p[F>>3]*h+ +p[H>>3]*k)/3.0-M*+p[b>>3];p[o+64>>3]=J;p[q>>3]=N+w+J;p[q+40>>3]=N-w-J;N=+p[o>>3];p[q+80>>3]=w-J-N;p[q+120>>3]=J-N-w;w=i-v;p[q+8>>3]=w;p[q+32>>3]=w;w=P-B;p[q+16>>3]=w;p[q+64>>3]=w;w=+p[O>>3];P=x-w;p[q+24>>3]=P;p[q+96>>3]=P;P=w+x;p[q+48>>3]=P;p[q+72>>3]=P;P=+p[Q>>3]+B;p[q+56>>3]=P;p[q+104>>3]=P;P=v+i;p[q+88>>3]=P;p[q+112>>3]=P;Gza(0,q,r,s)|0;P=+p[r>>3];i=+p[r+8>>3];q=i>P;v=q?i:P;P=+p[r+16>>3];Q=P>v;O=+p[r+24>>3]>(Q?P:v)?3:Q?2:q&1;v=+p[s+(O<<3)>>3];P=+p[s+((O|4)<<3)>>3];i=+p[s+((O|8)<<3)>>3];B=+p[s+((O|12)<<3)>>3];x=v*v;w=P*P;N=i*i;J=B*B;k=v*P;h=v*i;e=v*B;v=P*i;j=P*B;P=i*B;B=x+w-N-J;p[l>>3]=B;i=(v-e)*2.0;p[l+8>>3]=i;I=(h+j)*2.0;p[l+16>>3]=I;O=l+24|0;p[O>>3]=(v+e)*2.0;s=l+32|0;p[s>>3]=x+N-w-J;q=l+40|0;p[q>>3]=(P-k)*2.0;Q=l+48|0;p[Q>>3]=(j-h)*2.0;r=l+56|0;p[r>>3]=(k+P)*2.0;o=l+64|0;p[o>>3]=x+J-w-N;p[m>>3]=+p[n>>3]-(K*B+L*i+M*I);p[m+8>>3]=+p[C>>3]-(K*+p[O>>3]+L*+p[s>>3]+M*+p[q>>3]);p[m+16>>3]=+p[b>>3]-(K*+p[Q>>3]+L*+p[r>>3]+M*+p[o>>3]);u=a;return 1}function Gza(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0.0,T=0.0,U=0.0,V=0,W=0.0,X=0.0,Y=0,Z=0,_=0,$=0;a=u;u=u+64|0;e=a+32|0;g=a;p[d>>3]=1.0;h=d+8|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;f[h+28>>2]=0;p[d+40>>3]=1.0;h=d+48|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;f[h+28>>2]=0;p[d+80>>3]=1.0;h=d+88|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;f[h+28>>2]=0;p[d+120>>3]=1.0;i=+p[b>>3];p[e>>3]=i;j=+p[b+40>>3];h=e+8|0;p[h>>3]=j;k=e+16|0;p[k>>3]=+p[b+80>>3];l=e+24|0;p[l>>3]=+p[b+120>>3];f[c>>2]=f[e>>2];f[c+4>>2]=f[e+4>>2];f[c+8>>2]=f[e+8>>2];f[c+12>>2]=f[e+12>>2];f[c+16>>2]=f[e+16>>2];f[c+20>>2]=f[e+20>>2];f[c+24>>2]=f[e+24>>2];f[c+28>>2]=f[e+28>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;m=b+8|0;n=b+16|0;o=b+24|0;q=b+48|0;r=b+56|0;s=b+88|0;t=g+8|0;v=g+16|0;w=g+24|0;x=0;y=i;i=j;while(1){j=+K(+(+p[m>>3]));z=j+ +K(+(+p[n>>3]));j=z+ +K(+(+p[o>>3]));z=j+ +K(+(+p[q>>3]));j=z+ +K(+(+p[r>>3]));z=j+ +K(+(+p[s>>3]));if(z==0.0){A=1;B=24;break}j=(x|0)<3?z*.2*.0625:0.0;C=(x|0)>3;D=0;E=1;while(1){F=D;D=D+1|0;G=c+(F<<3)|0;H=g+(F<<3)|0;I=(F|0)>0;J=F<<2;M=d+(F<<3)|0;N=d+(F+4<<3)|0;O=d+(F+8<<3)|0;P=d+(F+12<<3)|0;Q=b+(F*5<<3)|0;R=E;do{Q=Q+8|0;z=+p[Q>>3];S=+K(+z);T=S*100.0;if((C?(U=+K(+(+p[G>>3])),T+U==U):0)?(U=+K(+(+p[c+(R<<3)>>3])),T+U==U):0)p[Q>>3]=0.0;else B=11;if((B|0)==11?(B=0,S>j):0){V=c+(R<<3)|0;S=+p[G>>3];U=+p[V>>3]-S;W=+K(+U);if(T+W==W)X=z/U;else{W=U*.5/z;U=1.0/(+K(+W)+ +L(+(W*W+1.0)));X=W<0.0?-U:U}U=z*X;p[H>>3]=+p[H>>3]-U;Y=g+(R<<3)|0;p[Y>>3]=U+ +p[Y>>3];p[G>>3]=S-U;p[V>>3]=U+ +p[V>>3];p[Q>>3]=0.0;U=1.0/+L(+(X*X+1.0));S=X*U;z=S/(U+1.0);if(I){V=0;do{Y=V<<2;Z=b+(Y+F<<3)|0;U=+p[Z>>3];_=b+(Y+R<<3)|0;W=+p[_>>3];p[Z>>3]=U-S*(W+z*U);p[_>>3]=W+S*(U-z*W);V=V+1|0}while((V|0)!=(F|0))}if((D|0)<(R|0)){V=D;do{_=b+(V+J<<3)|0;W=+p[_>>3];Z=b+((V<<2)+R<<3)|0;U=+p[Z>>3];p[_>>3]=W-S*(U+z*W);p[Z>>3]=U+S*(W-z*U);V=V+1|0}while((V|0)!=(R|0))}if((R|0)<3){V=R<<2;Z=R;do{_=Z;Z=Z+1|0;Y=b+(Z+J<<3)|0;U=+p[Y>>3];$=b+(Z+V<<3)|0;W=+p[$>>3];p[Y>>3]=U-S*(W+z*U);p[$>>3]=W+S*(U-z*W)}while((_|0)<2)}W=+p[M>>3];V=d+(R<<3)|0;U=+p[V>>3];p[M>>3]=W-S*(U+z*W);p[V>>3]=U+S*(W-z*U);U=+p[N>>3];V=d+(R+4<<3)|0;W=+p[V>>3];p[N>>3]=U-S*(W+z*U);p[V>>3]=W+S*(U-z*W);W=+p[O>>3];V=d+(R+8<<3)|0;U=+p[V>>3];p[O>>3]=W-S*(U+z*W);p[V>>3]=U+S*(W-z*U);U=+p[P>>3];V=d+(R+12<<3)|0;W=+p[V>>3];p[P>>3]=U-S*(W+z*U);p[V>>3]=W+S*(U-z*W)}R=R+1|0}while((R|0)!=4);if((D|0)==3)break;else E=E+1|0}y=+p[g>>3]+y;p[e>>3]=y;i=+p[t>>3]+i;p[h>>3]=i;p[k>>3]=+p[v>>3]+ +p[k>>3];p[l>>3]=+p[w>>3]+ +p[l>>3];f[c>>2]=f[e>>2];f[c+4>>2]=f[e+4>>2];f[c+8>>2]=f[e+8>>2];f[c+12>>2]=f[e+12>>2];f[c+16>>2]=f[e+16>>2];f[c+20>>2]=f[e+20>>2];f[c+24>>2]=f[e+24>>2];f[c+28>>2]=f[e+28>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;if((x|0)>=49){A=0;B=24;break}else x=x+1|0}if((B|0)==24){u=a;return A|0}return 0}function Hza(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0,g=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;c=b+16|0;if((f[b>>2]&7|0)==5){d=f[c>>2]|0;e=+n[d+8>>2];p[a+16>>3]=e;g=d+(f[f[b+44>>2]>>2]|0)|0;h=+n[g+8>>2];p[a+24>>3]=h;i=+n[d>>2];p[a>>3]=i;j=+n[g+4>>2];k=i;l=e;m=h}else{g=f[c>>2]|0;h=+p[g+16>>3];p[a+16>>3]=h;c=g+(f[f[b+44>>2]>>2]|0)|0;e=+p[c+16>>3];p[a+24>>3]=e;i=+p[g>>3];p[a>>3]=i;j=+p[c+8>>3];k=i;l=h;m=e}p[a+8>>3]=j;p[a+32>>3]=1.0/k;p[a+40>>3]=1.0/j;p[a+48>>3]=l/k;p[a+56>>3]=m/j;return}function Iza(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,q=0.0,r=0.0,t=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,M=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0.0,ta=0.0,ua=0.0,va=0.0,wa=0.0,xa=0.0,ya=0.0,za=0.0,Aa=0.0,Ba=0.0,Ca=0;a=u;u=u+80|0;g=a+64|0;h=a+48|0;i=a+32|0;j=a;k=+p[c>>3];l=+p[c+24>>3];m=+p[c+48>>3];n=+p[c+16>>3];o=+p[c+40>>3];q=+p[c+64>>3];r=k-+p[c+8>>3];t=l-+p[c+32>>3];v=m-+p[c+56>>3];w=+L(+(r*r+t*t+v*v));x=r/w;r=t/w;t=v/w;v=+p[b>>3];y=+p[b+24>>3];z=+p[b+48>>3];A=+p[b+8>>3];D=+p[b+32>>3];E=+p[b+56>>3];F=+p[b+16>>3];G=+p[b+40>>3];H=+p[b+64>>3];I=y*E-z*D;J=v*E-z*A;M=v*D-y*A;P=+L(+(M*M+(I*I+J*J)));Q=I/P;I=-J/P;J=M/P;M=y*J-z*I;R=v*J-z*Q;S=-R;W=v*I-y*Q;X=D*H-E*G;Y=A*H-E*F;E=A*G-D*F;D=k-n;k=l-o;l=m-q;m=l*t+(D*x+k*r);A=H*J+(F*Q+G*I);Z=m*A;_=-Z;$=k*t-l*r;aa=D*t-l*x;l=D*r-k*x;k=+L(+(l*l+($*$+aa*aa)));D=$/k;$=-aa/k;aa=l/k;l=k*A;ba=k*((v*G-y*F)*J+(Q*(y*H-z*G)-(v*H-z*F)*I));ca=m-w;w=E*W+(X*M+Y*R);R=P*A;P=ca*R;m=-(ca*w);ca=k*w;w=k*R;R=k*(E*J+(Q*X-Y*I));Y=ba*w;X=ba*m-R*_;E=l*R-ba*ca;R=ba*P;ba=l*w;w=l*m-ca*_;_=Z*P;P=Y*Y;Z=E*E;ca=ba*ba+P+Z;m=Y*X;l=R*E;da=(ba*w+m-l)*2.0;ea=X*X;fa=R*R;ga=fa+(ea+(_*(ba*2.0)+w*w))-P-Z;Z=(l+(_*w-m))*2.0;m=_*_-ea-fa;fa=ca*ca;ea=da*da;l=ca*fa;P=ca*ga;ha=(P*8.0-ea*3.0)/(fa*8.0);ia=(fa*(Z*8.0)+(da*ea-da*(P*4.0)))/(l*8.0);ja=(ea*(P*16.0)+(l*(m*256.0)-ea*ea*3.0-fa*(da*(Z*64.0))))/(ca*l*256.0);l=(ja+ha*ha/12.0)/3.0;fa=(ha*(ja*72.0)-ha*(ha*(ha*2.0))-ia*(ia*27.0))/432.0;ja=fa*fa-l*(l*l);b=+K(+ja)==C;a:do if(!(fa>=0.0)){if(b)if(ja>0.0){ka=ja;la=+GEa(0.0,0.0);ma=25;break}else{ka=0.0;la=+vEa(ja,0.0);ma=25;break}ea=+L(+(+EEa(ja,0.0)));P=+T(0.0,+ja)*.5;p[s>>3]=ea;do if(ea!=ea|0.0!=0.0|(f[s+4>>2]|0)<0)na=B;else{if(P!=P|0.0!=0.0){c=+K(+ea)==C;ka=c?ea:P;la=P;ma=25;break a}if(+K(+P)==C){c=+K(+ea)==C;na=c?ea:B;break}oa=ea*+N(+P);pa=oa==oa&0.0==0.0?oa:0.0;oa=ea*+O(+P);if(oa==oa&0.0==0.0){ka=pa;la=oa;ma=25;break a}qa=pa-fa;ma=26;break a}while(0);ra=B;sa=na-fa;ma=27}else{do if(b)if(ja>0.0){ta=ja;ua=+GEa(0.0,0.0);break}else{ta=0.0;ua=+vEa(ja,0.0);break}else{P=+L(+(+EEa(ja,0.0)));ea=+T(0.0,+ja)*.5;p[s>>3]=P;if(!(P!=P|0.0!=0.0|(f[s+4>>2]|0)<0)){if(ea!=ea|0.0!=0.0){c=+K(+P)==C;ta=c?P:ea;ua=ea;break}if(+K(+ea)==C){c=+K(+P)==C;ta=c?P:B;ua=B;break}else{pa=P*+N(+ea);oa=P*+O(+ea);ta=pa==pa&0.0==0.0?pa:0.0;ua=oa==oa&0.0==0.0?oa:0.0;break}}else{ta=B;ua=B}}while(0);ka=-ta;la=-ua;ma=25}while(0);if((ma|0)==25){ua=ka-fa;if(la==0.0){qa=ua;ma=26}else{ra=la;sa=ua;ma=27}}if((ma|0)==26){ua=+oEa(qa);va=(ua+l/ua)*2.0}else if((ma|0)==27){p[i>>3]=.3333333333333333;p[i+8>>3]=0.0;ua=+V(+(+EEa(sa,ra)));l=+T(+ra,+sa);p[h>>3]=ua;p[h+8>>3]=l;Jza(g,i,h);l=+p[g+8>>3];ua=+p[g>>3];do if(+K(+ua)==C)if(!(ua<0.0)){sa=+K(+l);if(l!=0.0&(sa==sa&C==C&sa!=C)){wa=l;ma=32;break}else{xa=ua;break}}else{sa=+K(+l);wa=sa==sa&C==C&sa!=C?l:1.0;ma=32;break}else if(l==0.0&(ua!=ua|0.0!=0.0))xa=ua;else{wa=l;ma=32}while(0);if((ma|0)==32)xa=+U(+ua)*+N(+wa);va=xa*4.0}xa=ha*-2.0/3.0+va;do if(+K(+xa)==C)if(xa>0.0){ya=xa;za=+GEa(0.0,0.0);break}else{ya=0.0;za=+vEa(xa,0.0);break}else{wa=+L(+(+EEa(xa,0.0)));ua=+T(0.0,+xa)*.5;p[s>>3]=wa;if(!(wa!=wa|0.0!=0.0|(f[s+4>>2]|0)<0)){if(ua!=ua|0.0!=0.0){ma=+K(+wa)==C;ya=ma?wa:ua;za=ua;break}if(+K(+ua)==C){ma=+K(+wa)==C;ya=ma?wa:B;za=B;break}else{l=wa*+N(+ua);sa=wa*+O(+ua);ya=l==l&0.0==0.0?l:0.0;za=sa==sa&0.0==0.0?sa:0.0;break}}else{ya=B;za=B}}while(0);xa=ca*4.0;sa=-da/xa;l=ha*4.0/3.0+va;p[i>>3]=ia*2.0;ma=i+8|0;p[ma>>3]=0.0;p[h>>3]=ya;p[h+8>>3]=za;Kza(g,i,h);f[i>>2]=f[g>>2];f[i+4>>2]=f[g+4>>2];f[i+8>>2]=f[g+8>>2];f[i+12>>2]=f[g+12>>2];za=ya*.5;ya=+p[i>>3];ia=+p[ma>>3];va=l+ya;ha=-va;ua=-ia;do if(!(+K(+ua)==C)){if(+K(+ha)==C){if(va<-0.0){Aa=ha;break}Aa=ua==ua&0.0==0.0?0.0:ua;break}wa=+L(+(+EEa(ha,ua)));ra=+T(+ua,+ha)*.5;p[s>>3]=wa;if(!(wa!=wa|0.0!=0.0|(f[s+4>>2]|0)<0)){if(ra!=ra|0.0!=0.0){ma=+K(+wa)==C;Aa=ma?wa:ra;break}if(+K(+ra)==C){ma=+K(+wa)==C;Aa=ma?wa:B;break}else{qa=wa*+N(+ra);Aa=qa==qa&0.0==0.0?qa:0.0;break}}else Aa=B}else Aa=C;while(0);ha=Aa*.5;Aa=sa+za;ua=Aa+ha;p[j>>3]=ua;va=Aa-ha;ma=j+8|0;p[ma>>3]=va;ha=l-ya;ya=-ha;do if(!(+K(+ia)==C)){if(+K(+ya)==C){if(ha<-0.0){Ba=ya;break}Ba=ia==ia&0.0==0.0?0.0:ia;break}l=+L(+(+EEa(ya,ia)));Aa=+T(+ia,+ya)*.5;p[s>>3]=l;if(!(l!=l|0.0!=0.0|(f[s+4>>2]|0)<0)){if(Aa!=Aa|0.0!=0.0){i=+K(+l)==C;Ba=i?l:Aa;break}if(+K(+Aa)==C){i=+K(+l)==C;Ba=i?l:B;break}else{qa=l*+N(+Aa);Ba=qa==qa&0.0==0.0?qa:0.0;break}}else Ba=B}else Ba=C;while(0);ya=Ba*.5;Ba=sa-za;za=Ba+ya;sa=Ba-ya;ya=da*3.0;Ba=ga*2.0;ia=ua-(m+ua*(Z+ua*(ga+ua*(da+ca*ua))))/(Z+ua*(Ba+ua*(ya+xa*ua)));ua=va-(m+va*(Z+va*(ga+va*(da+ca*va))))/(Z+va*(Ba+va*(ya+xa*va)));va=za-(m+za*(Z+za*(ga+za*(da+ca*za))))/(Z+za*(Ba+za*(ya+xa*za)));za=sa-(m+sa*(Z+sa*(ga+sa*(da+ca*sa))))/(Z+sa*(Ba+sa*(ya+xa*sa)));sa=ia-(m+ia*(Z+ia*(ga+ia*(da+ca*ia))))/(Z+ia*(Ba+ia*(ya+xa*ia)));p[j>>3]=sa;p[ma>>3]=ua-(m+ua*(Z+ua*(ga+ua*(da+ca*ua))))/(Z+ua*(Ba+ua*(ya+xa*ua)));p[j+16>>3]=va-(m+va*(Z+va*(ga+va*(da+ca*va))))/(Z+va*(Ba+va*(ya+xa*va)));p[j+24>>3]=za-(m+za*(Z+za*(ga+za*(da+ca*za))))/(Z+za*(Ba+za*(ya+xa*za)));za=r*aa-t*$;xa=x*aa-t*D;ya=-xa;Ba=x*$-r*D;Z=k/A;k=F*Z;F=G*Z;G=H*Z;ma=A>0.0;A=x*0.0;Z=r*0.0;H=t*0.0;i=0;g=0;ca=sa;while(1){if(+K(+ca)>1.0)Ca=g;else{sa=+L(+(1.0-ca*ca));da=ma?sa:-sa;sa=da/(_+ca*(w+ba*ca));ga=(X+Y*ca)*sa;m=(E*ca-R)*sa;sa=-m;va=da*m;ua=da*ga;ia=ca*m;m=-da;ha=ca*ga;qa=za*ia+(x*ga+D*va);Aa=A+D*ca+za*m;l=za*ha+(x*sa+D*ua);ra=ia*ya+(r*ga+$*va);wa=Z+$*ca+xa*da;la=ha*ya+(r*sa+$*ua);fa=Ba*ia+(t*ga+aa*va);va=H+aa*ca+Ba*m;m=Ba*ha+(t*sa+aa*ua);ua=M*l+(Q*Aa+v*qa);sa=l*S+(I*Aa+y*qa);ha=W*l+(J*Aa+z*qa);qa=M*la+(Q*wa+v*ra);Aa=la*S+(I*wa+y*ra);l=W*la+(J*wa+z*ra);ra=M*m+(Q*va+v*fa);wa=m*S+(I*va+y*fa);la=W*m+(J*va+z*fa);p[e+(g*24|0)>>3]=k*da-(q*ra+(n*ua+o*qa));p[e+(g*24|0)+8>>3]=F*da-(q*wa+(n*sa+o*Aa));p[e+(g*24|0)+16>>3]=G*da-(q*la+(n*ha+o*l));p[d+(g*72|0)>>3]=ua;p[d+(g*72|0)+24>>3]=sa;p[d+(g*72|0)+48>>3]=ha;p[d+(g*72|0)+8>>3]=qa;p[d+(g*72|0)+32>>3]=Aa;p[d+(g*72|0)+56>>3]=l;p[d+(g*72|0)+16>>3]=ra;p[d+(g*72|0)+40>>3]=wa;p[d+(g*72|0)+64>>3]=la;Ca=g+1|0}h=i+1|0;if((h|0)==4)break;i=h;g=Ca;ca=+p[j+(h<<3)>>3]}u=a;return Ca|0}function Jza(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0;d=+p[b>>3];e=+p[b+8>>3];f=+p[c>>3];g=+p[c+8>>3];h=d*f;i=e*g;j=d*g;k=e*f;l=h-i;m=k+j;if(!((l!=l|0.0!=0.0)&(m!=m|0.0!=0.0))){n=m;o=l;p[a>>3]=o;q=a+8|0;p[q>>3]=n;return}c=+K(+d)==C;b=+K(+e)==C;if(c|b){r=+vEa(c?1.0:0.0,d);s=+vEa(b?1.0:0.0,e);if(f!=f|0.0!=0.0)t=+vEa(0.0,f);else t=f;if(g!=g|0.0!=0.0){u=1;v=r;w=s;x=t;y=+vEa(0.0,g)}else{u=1;v=r;w=s;x=t;y=g}}else{u=0;v=d;w=e;x=f;y=g}b=+K(+x)==C;c=+K(+y)==C;if(c|b){g=+vEa(b?1.0:0.0,x);f=+vEa(c?1.0:0.0,y);if(v!=v|0.0!=0.0)z=+vEa(0.0,v);else z=v;if(w!=w|0.0!=0.0){A=z;B=f;D=+vEa(0.0,w);E=g}else{A=z;B=f;D=w;E=g}}else if(!u){u=+K(+h)==C;c=u|+K(+i)==C;u=+K(+j)==C|c;if(!(+K(+k)==C|u)){n=m;o=l;p[a>>3]=o;q=a+8|0;p[q>>3]=n;return}if(v!=v|0.0!=0.0)F=+vEa(0.0,v);else F=v;if(w!=w|0.0!=0.0)G=+vEa(0.0,w);else G=w;if(x!=x|0.0!=0.0)H=+vEa(0.0,x);else H=x;if(y!=y|0.0!=0.0){A=F;B=+vEa(0.0,y);D=G;E=H}else{A=F;B=y;D=G;E=H}}else{A=v;B=y;D=w;E=x}n=(E*D+B*A)*C;o=(E*A-B*D)*C;p[a>>3]=o;q=a+8|0;p[q>>3]=n;return}function Kza(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0,h=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0;d=+p[b>>3];e=+p[b+8>>3];f=+p[c>>3];g=+p[c+8>>3];h=+IEa(+sEa(+K(+f),+K(+g)));i=+K(+h);c=0-~~h|0;if(i!=i|C!=C|i==C){j=0;k=g;l=f}else{m=+pEa(f,c);j=c;k=+pEa(g,c);l=m}m=l*l+k*k;g=+pEa((d*l+e*k)/m,j);f=+pEa((e*l-d*k)/m,j);if(!((g!=g|0.0!=0.0)&(f!=f|0.0!=0.0))){n=f;o=g;p[a>>3]=o;q=a+8|0;p[q>>3]=n;return}if(m==0.0?!((d!=d|0.0!=0.0)&(e!=e|0.0!=0.0)):0){m=+vEa(C,l);n=e*m;o=d*m;p[a>>3]=o;q=a+8|0;p[q>>3]=n;return}m=+K(+d);j=m==C;r=+K(+e);c=r==C;s=+K(+l);t=+K(+k);if((j|c)&(s==s&C==C&s!=C)&(t==t&C==C&t!=C)){u=+vEa(j?1.0:0.0,d);v=+vEa(c?1.0:0.0,e);n=(l*v-k*u)*C;o=(l*u+k*v)*C;p[a>>3]=o;q=a+8|0;p[q>>3]=n;return}if(!(r==r&C==C&r!=C&(m==m&C==C&m!=C&(h>0.0&i==C)))){n=f;o=g;p[a>>3]=o;q=a+8|0;p[q>>3]=n;return}g=+vEa(s==C?1.0:0.0,l);l=+vEa(t==C?1.0:0.0,k);n=(e*g-d*l)*0.0;o=(d*g+e*l)*0.0;p[a>>3]=o;q=a+8|0;p[q>>3]=n;return}function Lza(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0;g=u;u=u+256|0;h=g+240|0;i=g+24|0;j=g;k=g+224|0;l=g+152|0;m=g+208|0;n=g+96|0;yV(h,101524);f[k>>2]=0;o=k+4|0;f[o>>2]=0;f[k+8>>2]=0;q=f[d>>2]&7;r=(q|0)==5;do if((q|0)==(f[e>>2]&7|0))if(r){Mza(a,d,e,k);break}else{Nza(a,d,e,k);break}else if(r){Oza(a,d,e,k);break}else{Pza(a,d,e,k);break}while(0);e=f[k>>2]|0;d=Qza(a,i,j,+p[e>>3],+p[e+8>>3],+p[e+16>>3],+p[e+24>>3],+p[e+32>>3],+p[e+40>>3],+p[e+48>>3],+p[e+56>>3],+p[e+64>>3],+p[e+72>>3],+p[e+80>>3],+p[e+88>>3],+p[e+96>>3],+p[e+104>>3],+p[e+112>>3],+p[e+120>>3],+p[e+128>>3],+p[e+136>>3],+p[e+144>>3],+p[e+152>>3])|0;e=l+4|0;f[e>>2]=2;a=l+8|0;f[a>>2]=3;f[l+12>>2]=1;r=l+16|0;f[r>>2]=j;f[l+20>>2]=j;q=l+24|0;s=l+40|0;t=q+8|0;f[t>>2]=0;f[t+4>>2]=0;f[s>>2]=a;a=l+48|0;t=l+44|0;f[t>>2]=a;f[l>>2]=1124024326;f[a>>2]=8;f[l+52>>2]=8;f[l+28>>2]=j+24;f[q>>2]=j+24;j=m+8|0;f[j>>2]=0;f[j+4>>2]=0;f[m>>2]=33619968;f[m+4>>2]=c;eM(l,m);c=l+36|0;j=f[c>>2]|0;if(j|0?(q=j+12|0,j=f[q>>2]|0,f[q>>2]=j+-1,(j|0)==1):0)XO(l);f[c>>2]=0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;if((f[e>>2]|0)>0){r=f[s>>2]|0;s=0;do{f[r+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[e>>2]|0))}e=f[t>>2]|0;if((e|0)!=(a|0))dX(e);e=n+4|0;f[e>>2]=2;a=n+8|0;f[a>>2]=3;f[n+12>>2]=3;t=n+16|0;f[t>>2]=i;f[n+20>>2]=i;s=n+24|0;r=n+40|0;c=s+8|0;f[c>>2]=0;f[c+4>>2]=0;f[r>>2]=a;a=n+48|0;c=n+44|0;f[c>>2]=a;f[n>>2]=1124024326;f[a>>2]=24;f[n+52>>2]=8;f[n+28>>2]=i+72;f[s>>2]=i+72;i=m+8|0;f[i>>2]=0;f[i+4>>2]=0;f[m>>2]=33619968;f[m+4>>2]=b;eM(n,m);m=n+36|0;b=f[m>>2]|0;if(b|0?(i=b+12|0,b=f[i>>2]|0,f[i>>2]=b+-1,(b|0)==1):0)XO(n);f[m>>2]=0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;if((f[e>>2]|0)>0){t=f[r>>2]|0;r=0;do{f[t+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[e>>2]|0))}e=f[c>>2]|0;if((e|0)!=(a|0))dX(e);e=f[k>>2]|0;if(e|0){k=f[o>>2]|0;if((k|0)!=(e|0))f[o>>2]=k+(~((k+-8-e|0)>>>3)<<3);GQa(e)}if(!(f[h+4>>2]|0)){u=g;return d|0}u=g;return d|0}function Mza(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;e=f[d>>2]|0;g=d+4|0;h=f[g>>2]|0;if((h|0)!=(e|0))f[g>>2]=h+(~((h+-8-e|0)>>>3)<<3);e=jP(b,3,5,1)|0;h=jP(b,3,6,1)|0;i=(e|0)<(h|0)?h:e;e=i*5|0;h=f[g>>2]|0;j=f[d>>2]|0;k=h-j>>3;l=j;j=h;if(e>>>0<=k>>>0){if(e>>>0>>0?(h=l+(e<<3)|0,(h|0)!=(j|0)):0)f[g>>2]=j+(~((j+-8-h|0)>>>3)<<3)}else U$(d,e-k|0);if((i|0)<=0)return;k=(f[c>>2]&16384|0)==0;e=f[c+40>>2]|0;h=e+4|0;j=f[c+16>>2]|0;g=f[c+44>>2]|0;l=f[c+12>>2]|0;c=a+16|0;m=f[d>>2]|0;d=a+8|0;o=a+24|0;q=(f[b>>2]&16384|0)==0;r=f[b+40>>2]|0;s=r+4|0;t=f[b+16>>2]|0;u=f[b+44>>2]|0;v=f[b+12>>2]|0;b=0;do{do if(k?(f[e>>2]|0)!=1:0)if((f[h>>2]|0)==1){w=j+(X(f[g>>2]|0,b)|0)|0;break}else{x=(b|0)/(l|0)|0;y=b-(X(x,l)|0)|0;w=j+(X(f[g>>2]|0,x)|0)+(y<<3)|0;break}else z=13;while(0);if((z|0)==13){z=0;w=j+(b<<3)|0}y=b*5|0;p[m+(y<<3)>>3]=+p[a>>3]*+n[w>>2]+ +p[c>>3];do if(k?(f[e>>2]|0)!=1:0)if((f[h>>2]|0)==1){A=j+(X(f[g>>2]|0,b)|0)|0;break}else{x=(b|0)/(l|0)|0;B=b-(X(x,l)|0)|0;A=j+(X(f[g>>2]|0,x)|0)+(B<<3)|0;break}else z=19;while(0);if((z|0)==19){z=0;A=j+(b<<3)|0}p[m+(y+1<<3)>>3]=+p[d>>3]*+n[A+4>>2]+ +p[o>>3];do if(q){if((f[r>>2]|0)==1){p[m+(y+2<<3)>>3]=+n[t+(b*12|0)>>2];if(!q){p[m+(y+3<<3)>>3]=+n[t+(b*12|0)+4>>2];z=39;break}}else{if((f[s>>2]|0)==1)C=t+(X(f[u>>2]|0,b)|0)|0;else{B=(b|0)/(v|0)|0;x=b-(X(B,v)|0)|0;C=t+(X(f[u>>2]|0,B)|0)+(x*12|0)|0}p[m+(y+2<<3)>>3]=+n[C>>2]}if((f[r>>2]|0)==1)z=36;else{if((f[s>>2]|0)==1)D=t+(X(f[u>>2]|0,b)|0)|0;else{x=(b|0)/(v|0)|0;B=b-(X(x,v)|0)|0;D=t+(X(f[u>>2]|0,x)|0)+(B*12|0)|0}p[m+(y+3<<3)>>3]=+n[D+4>>2];z=37}}else{p[m+(y+2<<3)>>3]=+n[t+(b*12|0)>>2];z=36}while(0);if((z|0)==36){z=0;p[m+(y+3<<3)>>3]=+n[t+(b*12|0)+4>>2];if(q)z=37;else z=39}do if((z|0)==37){z=0;if((f[r>>2]|0)!=1)if((f[s>>2]|0)==1){E=t+(X(f[u>>2]|0,b)|0)|0;break}else{B=(b|0)/(v|0)|0;x=b-(X(B,v)|0)|0;E=t+(X(f[u>>2]|0,B)|0)+(x*12|0)|0;break}else z=39}while(0);if((z|0)==39){z=0;E=t+(b*12|0)|0}p[m+(y+4<<3)>>3]=+n[E+8>>2];b=b+1|0}while((b|0)<(i|0));return}function Nza(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;e=f[d>>2]|0;g=d+4|0;h=f[g>>2]|0;if((h|0)!=(e|0))f[g>>2]=h+(~((h+-8-e|0)>>>3)<<3);e=jP(b,3,5,1)|0;h=jP(b,3,6,1)|0;i=(e|0)<(h|0)?h:e;e=i*5|0;h=f[g>>2]|0;j=f[d>>2]|0;k=h-j>>3;l=j;j=h;if(e>>>0<=k>>>0){if(e>>>0>>0?(h=l+(e<<3)|0,(h|0)!=(j|0)):0)f[g>>2]=j+(~((j+-8-h|0)>>>3)<<3)}else U$(d,e-k|0);if((i|0)<=0)return;k=(f[c>>2]&16384|0)==0;e=f[c+40>>2]|0;h=e+4|0;j=f[c+16>>2]|0;g=f[c+44>>2]|0;l=f[c+12>>2]|0;c=a+16|0;m=f[d>>2]|0;d=a+8|0;n=a+24|0;o=(f[b>>2]&16384|0)==0;q=f[b+40>>2]|0;r=q+4|0;s=f[b+16>>2]|0;t=f[b+44>>2]|0;u=f[b+12>>2]|0;b=0;do{do if(k?(f[e>>2]|0)!=1:0)if((f[h>>2]|0)==1){v=j+(X(f[g>>2]|0,b)|0)|0;break}else{w=(b|0)/(l|0)|0;x=b-(X(w,l)|0)|0;v=j+(X(f[g>>2]|0,w)|0)+(x<<4)|0;break}else y=13;while(0);if((y|0)==13){y=0;v=j+(b<<4)|0}x=b*5|0;p[m+(x<<3)>>3]=+p[v>>3]*+p[a>>3]+ +p[c>>3];do if(k?(f[e>>2]|0)!=1:0)if((f[h>>2]|0)==1){z=j+(X(f[g>>2]|0,b)|0)|0;break}else{w=(b|0)/(l|0)|0;A=b-(X(w,l)|0)|0;z=j+(X(f[g>>2]|0,w)|0)+(A<<4)|0;break}else y=19;while(0);if((y|0)==19){y=0;z=j+(b<<4)|0}p[m+(x+1<<3)>>3]=+p[z+8>>3]*+p[d>>3]+ +p[n>>3];do if(o){do if((f[q>>2]|0)!=1)if((f[r>>2]|0)==1){B=s+(X(f[t>>2]|0,b)|0)|0;break}else{A=(b|0)/(u|0)|0;w=b-(X(A,u)|0)|0;B=s+(X(f[t>>2]|0,A)|0)+(w*24|0)|0;break}else B=s+(b*24|0)|0;while(0);p[m+(x+2<<3)>>3]=+p[B>>3];do if((f[q>>2]|0)!=1)if((f[r>>2]|0)==1){C=s+(X(f[t>>2]|0,b)|0)|0;break}else{w=(b|0)/(u|0)|0;A=b-(X(w,u)|0)|0;C=s+(X(f[t>>2]|0,w)|0)+(A*24|0)|0;break}else C=s+(b*24|0)|0;while(0);p[m+(x+3<<3)>>3]=+p[C+8>>3];if((f[q>>2]|0)!=1)if((f[r>>2]|0)==1){D=s+(X(f[t>>2]|0,b)|0)|0;break}else{A=(b|0)/(u|0)|0;w=b-(X(A,u)|0)|0;D=s+(X(f[t>>2]|0,A)|0)+(w*24|0)|0;break}else y=36}else{p[m+(x+2<<3)>>3]=+p[s+(b*24|0)>>3];p[m+(x+3<<3)>>3]=+p[s+(b*24|0)+8>>3];y=36}while(0);if((y|0)==36){y=0;D=s+(b*24|0)|0}p[m+(x+4<<3)>>3]=+p[D+16>>3];b=b+1|0}while((b|0)<(i|0));return}function Oza(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;e=f[d>>2]|0;g=d+4|0;h=f[g>>2]|0;if((h|0)!=(e|0))f[g>>2]=h+(~((h+-8-e|0)>>>3)<<3);e=jP(b,3,5,1)|0;h=jP(b,3,6,1)|0;i=(e|0)<(h|0)?h:e;e=i*5|0;h=f[g>>2]|0;j=f[d>>2]|0;k=h-j>>3;l=j;j=h;if(e>>>0<=k>>>0){if(e>>>0>>0?(h=l+(e<<3)|0,(h|0)!=(j|0)):0)f[g>>2]=j+(~((j+-8-h|0)>>>3)<<3)}else U$(d,e-k|0);if((i|0)<=0)return;k=(f[c>>2]&16384|0)==0;e=f[c+40>>2]|0;h=e+4|0;j=f[c+16>>2]|0;g=f[c+44>>2]|0;l=f[c+12>>2]|0;c=a+16|0;m=f[d>>2]|0;d=a+8|0;o=a+24|0;q=(f[b>>2]&16384|0)==0;r=f[b+40>>2]|0;s=r+4|0;t=f[b+16>>2]|0;u=f[b+44>>2]|0;v=f[b+12>>2]|0;b=0;do{do if(k?(f[e>>2]|0)!=1:0)if((f[h>>2]|0)==1){w=j+(X(f[g>>2]|0,b)|0)|0;break}else{x=(b|0)/(l|0)|0;y=b-(X(x,l)|0)|0;w=j+(X(f[g>>2]|0,x)|0)+(y<<4)|0;break}else z=13;while(0);if((z|0)==13){z=0;w=j+(b<<4)|0}y=b*5|0;p[m+(y<<3)>>3]=+p[w>>3]*+p[a>>3]+ +p[c>>3];do if(k?(f[e>>2]|0)!=1:0)if((f[h>>2]|0)==1){A=j+(X(f[g>>2]|0,b)|0)|0;break}else{x=(b|0)/(l|0)|0;B=b-(X(x,l)|0)|0;A=j+(X(f[g>>2]|0,x)|0)+(B<<4)|0;break}else z=19;while(0);if((z|0)==19){z=0;A=j+(b<<4)|0}p[m+(y+1<<3)>>3]=+p[A+8>>3]*+p[d>>3]+ +p[o>>3];do if(q){if((f[r>>2]|0)==1){p[m+(y+2<<3)>>3]=+n[t+(b*12|0)>>2];if(!q){p[m+(y+3<<3)>>3]=+n[t+(b*12|0)+4>>2];z=39;break}}else{if((f[s>>2]|0)==1)C=t+(X(f[u>>2]|0,b)|0)|0;else{B=(b|0)/(v|0)|0;x=b-(X(B,v)|0)|0;C=t+(X(f[u>>2]|0,B)|0)+(x*12|0)|0}p[m+(y+2<<3)>>3]=+n[C>>2]}if((f[r>>2]|0)==1)z=36;else{if((f[s>>2]|0)==1)D=t+(X(f[u>>2]|0,b)|0)|0;else{x=(b|0)/(v|0)|0;B=b-(X(x,v)|0)|0;D=t+(X(f[u>>2]|0,x)|0)+(B*12|0)|0}p[m+(y+3<<3)>>3]=+n[D+4>>2];z=37}}else{p[m+(y+2<<3)>>3]=+n[t+(b*12|0)>>2];z=36}while(0);if((z|0)==36){z=0;p[m+(y+3<<3)>>3]=+n[t+(b*12|0)+4>>2];if(q)z=37;else z=39}do if((z|0)==37){z=0;if((f[r>>2]|0)!=1)if((f[s>>2]|0)==1){E=t+(X(f[u>>2]|0,b)|0)|0;break}else{B=(b|0)/(v|0)|0;x=b-(X(B,v)|0)|0;E=t+(X(f[u>>2]|0,B)|0)+(x*12|0)|0;break}else z=39}while(0);if((z|0)==39){z=0;E=t+(b*12|0)|0}p[m+(y+4<<3)>>3]=+n[E+8>>2];b=b+1|0}while((b|0)<(i|0));return}function Pza(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;e=f[d>>2]|0;g=d+4|0;h=f[g>>2]|0;if((h|0)!=(e|0))f[g>>2]=h+(~((h+-8-e|0)>>>3)<<3);e=jP(b,3,5,1)|0;h=jP(b,3,6,1)|0;i=(e|0)<(h|0)?h:e;e=i*5|0;h=f[g>>2]|0;j=f[d>>2]|0;k=h-j>>3;l=j;j=h;if(e>>>0<=k>>>0){if(e>>>0>>0?(h=l+(e<<3)|0,(h|0)!=(j|0)):0)f[g>>2]=j+(~((j+-8-h|0)>>>3)<<3)}else U$(d,e-k|0);if((i|0)<=0)return;k=(f[c>>2]&16384|0)==0;e=f[c+40>>2]|0;h=e+4|0;j=f[c+16>>2]|0;g=f[c+44>>2]|0;l=f[c+12>>2]|0;c=a+16|0;m=f[d>>2]|0;d=a+8|0;o=a+24|0;q=(f[b>>2]&16384|0)==0;r=f[b+40>>2]|0;s=r+4|0;t=f[b+16>>2]|0;u=f[b+44>>2]|0;v=f[b+12>>2]|0;b=0;do{do if(k?(f[e>>2]|0)!=1:0)if((f[h>>2]|0)==1){w=j+(X(f[g>>2]|0,b)|0)|0;break}else{x=(b|0)/(l|0)|0;y=b-(X(x,l)|0)|0;w=j+(X(f[g>>2]|0,x)|0)+(y<<3)|0;break}else z=13;while(0);if((z|0)==13){z=0;w=j+(b<<3)|0}y=b*5|0;p[m+(y<<3)>>3]=+p[a>>3]*+n[w>>2]+ +p[c>>3];do if(k?(f[e>>2]|0)!=1:0)if((f[h>>2]|0)==1){A=j+(X(f[g>>2]|0,b)|0)|0;break}else{x=(b|0)/(l|0)|0;B=b-(X(x,l)|0)|0;A=j+(X(f[g>>2]|0,x)|0)+(B<<3)|0;break}else z=19;while(0);if((z|0)==19){z=0;A=j+(b<<3)|0}p[m+(y+1<<3)>>3]=+p[d>>3]*+n[A+4>>2]+ +p[o>>3];do if(q){do if((f[r>>2]|0)!=1)if((f[s>>2]|0)==1){C=t+(X(f[u>>2]|0,b)|0)|0;break}else{B=(b|0)/(v|0)|0;x=b-(X(B,v)|0)|0;C=t+(X(f[u>>2]|0,B)|0)+(x*24|0)|0;break}else C=t+(b*24|0)|0;while(0);p[m+(y+2<<3)>>3]=+p[C>>3];do if((f[r>>2]|0)!=1)if((f[s>>2]|0)==1){D=t+(X(f[u>>2]|0,b)|0)|0;break}else{x=(b|0)/(v|0)|0;B=b-(X(x,v)|0)|0;D=t+(X(f[u>>2]|0,x)|0)+(B*24|0)|0;break}else D=t+(b*24|0)|0;while(0);p[m+(y+3<<3)>>3]=+p[D+8>>3];if((f[r>>2]|0)!=1)if((f[s>>2]|0)==1){E=t+(X(f[u>>2]|0,b)|0)|0;break}else{B=(b|0)/(v|0)|0;x=b-(X(B,v)|0)|0;E=t+(X(f[u>>2]|0,B)|0)+(x*24|0)|0;break}else z=36}else{p[m+(y+2<<3)>>3]=+p[t+(b*24|0)>>3];p[m+(y+3<<3)>>3]=+p[t+(b*24|0)+8>>3];z=36}while(0);if((z|0)==36){z=0;E=t+(b*24|0)|0}p[m+(y+4<<3)>>3]=+p[E+16>>3];b=b+1|0}while((b|0)<(i|0));return}function Qza(a,b,c,d,e,g,h,i,j,k,l,m,n,o,q,r,s,t,v,w,x,y,z){a=a|0;b=b|0;c=c|0;d=+d;e=+e;g=+g;h=+h;i=+i;j=+j;k=+k;l=+l;m=+m;n=+n;o=+o;q=+q;r=+r;s=+s;t=+t;v=+v;w=+w;x=+x;y=+y;z=+z;var A=0,B=0,C=0,D=0,E=0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,M=0.0,N=0,O=0,P=0,Q=0;A=u;u=u+528|0;B=A+456|0;C=A+384|0;D=A+96|0;E=A;F=+p[a+32>>3];G=+p[a+48>>3];H=F*d-G;d=+p[a+40>>3];I=+p[a+56>>3];J=d*e-I;e=1.0/+L(+(H*H+J*J+1.0));K=F*j-G;j=d*k-I;k=1.0/+L(+(K*K+j*j+1.0));M=F*o-G;G=d*q-I;I=1.0/+L(+(M*M+G*G+1.0));p[B>>3]=H*e;p[B+8>>3]=K*k;p[B+16>>3]=M*I;p[B+24>>3]=J*e;p[B+32>>3]=j*k;p[B+40>>3]=G*I;p[B+48>>3]=e;p[B+56>>3]=k;p[B+64>>3]=I;p[C>>3]=g;p[C+8>>3]=l;p[C+16>>3]=r;p[C+24>>3]=h;p[C+32>>3]=m;p[C+40>>3]=s;p[C+48>>3]=i;p[C+56>>3]=n;p[C+64>>3]=t;N=Iza(0,B,C,D,E)|0;if(!N){O=0;u=A;return O|0}if((N|0)>0){t=+p[a+16>>3];n=+p[a>>3];i=+p[a+24>>3];s=+p[a+8>>3];a=0;C=0;m=0.0;while(1){h=+p[E+(a*24|0)+16>>3]+(+p[D+(a*72|0)+48>>3]*x+ +p[D+(a*72|0)+56>>3]*y+ +p[D+(a*72|0)+64>>3]*z);r=t+(+p[E+(a*24|0)>>3]+(+p[D+(a*72|0)>>3]*x+ +p[D+(a*72|0)+8>>3]*y+ +p[D+(a*72|0)+16>>3]*z))*n/h-v;l=i+(+p[E+(a*24|0)+8>>3]+(+p[D+(a*72|0)+24>>3]*x+ +p[D+(a*72|0)+32>>3]*y+ +p[D+(a*72|0)+40>>3]*z))*s/h-w;h=r*r+l*l;B=(a|0)==0|m>h;P=B?a:C;a=a+1|0;if((a|0)==(N|0)){Q=P;break}else{C=P;m=B?h:m}}}else Q=0;C=D+(Q*72|0)|0;f[b>>2]=f[C>>2];f[b+4>>2]=f[C+4>>2];f[b+8>>2]=f[C+8>>2];f[b+12>>2]=f[C+12>>2];f[b+16>>2]=f[C+16>>2];f[b+20>>2]=f[C+20>>2];p[c>>3]=+p[E+(Q*24|0)>>3];C=b+24|0;N=D+(Q*72|0)+24|0;f[C>>2]=f[N>>2];f[C+4>>2]=f[N+4>>2];f[C+8>>2]=f[N+8>>2];f[C+12>>2]=f[N+12>>2];f[C+16>>2]=f[N+16>>2];f[C+20>>2]=f[N+20>>2];p[c+8>>3]=+p[E+(Q*24|0)+8>>3];N=b+48|0;b=D+(Q*72|0)+48|0;f[N>>2]=f[b>>2];f[N+4>>2]=f[b+4>>2];f[N+8>>2]=f[b+8>>2];f[N+12>>2]=f[b+12>>2];f[N+16>>2]=f[b+16>>2];f[N+20>>2]=f[b+20>>2];p[c+16>>3]=+p[E+(Q*24|0)+16>>3];O=1;u=A;return O|0}function Rza(a,b,c,d,e,f,g){a=+a;b=+b;c=+c;d=+d;e=e|0;f=f|0;g=g|0;var h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0,o=0.0;if(!(a==0.0)){h=1.0/a;a=h*b;i=a*a;j=h*c;k=(j*3.0-i)/9.0;l=(a*9.0*j-h*d*27.0-a*2.0*i)/54.0;i=k*(k*k);h=i+l*l;j=a*.3333333333333333;if(k==0.0)if(l==0.0){a=-j;p[g>>3]=a;p[f>>3]=a;p[e>>3]=a;m=3;return m|0}else{a=+M(+(l*2.0),.3333333333333333)-j;p[e>>3]=a;m=1;return m|0}else if(!(h<=0.0)){a=+M(+(+K(+l)+ +L(+h)),.3333333333333333);h=(l>0.0?1.0:+((l<0.0)<<31>>31))*a;p[e>>3]=h+(h==0.0?0.0:-k/h)-j;m=1;return m|0}else{h=+Q(+(l/+L(+-i)));i=+L(+-k)*2.0;k=i*+N(+(h/3.0))-j;p[e>>3]=k;k=i*+N(+((h+6.283185307179586)/3.0))-j;p[f>>3]=k;k=i*+N(+((h+12.566370614359172)/3.0))-j;p[g>>3]=k;m=3;return m|0}}if(b==0.0){if(c==0.0){m=0;return m|0}p[e>>3]=-d/c;m=1;return m|0}p[g>>3]=0.0;k=c*c-b*4.0*d;if(k<0.0){m=0;return m|0}d=.5/b;if(k==0.0){b=-(d*c);p[e>>3]=b;n=1;o=b}else{b=+L(+k);p[e>>3]=d*(b-c);n=2;o=d*(-c-b)}p[f>>3]=o;m=n;return m|0}function Sza(a,b,c,d,e,f,g,h,i){a=+a;b=+b;c=+c;d=+d;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0,w=0.0,x=0.0,y=0,z=0;j=u;u=u+32|0;k=j+16|0;if(a==0.0){p[i>>3]=0.0;l=Rza(b,c,d,e,f,g,h)|0;u=j;return l|0}m=1.0/a;a=m*b;b=m*c;c=m*d;d=m*e;e=a*a;m=a*b;n=a*e;o=d*4.0;do if((Rza(1.0,-b,a*c-o,b*4.0*d-c*c-e*d,k,j+8|0,j)|0)!=0?(q=+p[k>>3],r=e*.25-b+q,!(r<0.0)):0){s=+L(+r);if(s<1.0e-11){t=q*q-o;if(t<0.0){v=0;break}q=+L(+t);t=e*.75-b*2.0+q*2.0;w=t;x=t-q*4.0}else{q=e*.75-b*2.0-r;r=(m*4.0-c*8.0-n)*(1.0/s*.25);w=q+r;x=q-r}r=a*.25;q=s*.5;if(!(w>=0.0))y=0;else{s=+L(+w);t=q+s*.5-r;p[f>>3]=t;p[g>>3]=t-s;y=2}if(!(x>=0.0))v=y;else{s=+L(+x);z=(y|0)==0;t=s*.5-q-r;p[(z?f:h)>>3]=t;p[(z?g:i)>>3]=t-s;v=z?2:4}}else v=0;while(0);l=v;u=j;return l|0}function Tza(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;e=a+32|0;g=a+36|0;h=a+44|0;i=a+48|0;j=a+56|0;k=a+60|0;l=a+68|0;m=a+72|0;o=e;q=o+48|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(q|0));o=b+16|0;if((f[b>>2]&7|0)==5){q=f[o>>2]|0;p[a>>3]=+n[q+8>>2];r=q+(f[f[b+44>>2]>>2]|0)|0;p[a+8>>3]=+n[r+8>>2];p[a+16>>3]=+n[q>>2];s=+n[r+4>>2]}else{r=f[o>>2]|0;p[a>>3]=+p[r+16>>3];o=r+(f[f[b+44>>2]>>2]|0)|0;p[a+8>>3]=+p[o+16>>3];p[a+16>>3]=+p[r>>3];s=+p[o+8>>3]}p[a+24>>3]=s;o=jP(c,3,5,1)|0;r=jP(c,3,6,1)|0;b=(o|0)<(r|0)?r:o;o=a+80|0;f[o>>2]=b;r=b*3|0;q=f[g>>2]|0;t=f[e>>2]|0;u=q-t>>3;v=t;t=q;if(r>>>0<=u>>>0)if(r>>>0>>0?(q=v+(r<<3)|0,(q|0)!=(t|0)):0){f[g>>2]=t+(~((t+-8-q|0)>>>3)<<3);w=b}else w=b;else{U$(e,r-u|0);w=f[o>>2]|0}u=w<<1;w=f[i>>2]|0;r=f[h>>2]|0;e=w-r>>3;b=r;r=w;if(u>>>0<=e>>>0){if(u>>>0>>0?(w=b+(u<<3)|0,(w|0)!=(r|0)):0)f[i>>2]=r+(~((r+-8-w|0)>>>3)<<3)}else U$(h,u-e|0);e=f[c>>2]&7;u=(e|0)==5;do if((e|0)==(f[d>>2]&7|0))if(u){Uza(a,c,d);break}else{Vza(a,c,d);break}else if(u){Wza(a,c,d);break}else{Xza(a,c,d);break}while(0);d=f[o>>2]|0;c=d<<2;u=f[k>>2]|0;e=f[j>>2]|0;h=u-e>>3;w=e;e=u;if(c>>>0<=h>>>0)if(c>>>0>>0?(u=w+(c<<3)|0,(u|0)!=(e|0)):0){f[k>>2]=e+(~((e+-8-u|0)>>>3)<<3);x=d}else x=d;else{U$(j,c-h|0);x=f[o>>2]|0}o=x*3|0;x=f[m>>2]|0;h=f[l>>2]|0;c=x-h>>3;j=x;if(o>>>0>c>>>0){U$(l,o-c|0);y=a+280|0;f[y>>2]=0;z=a+284|0;f[z>>2]=0;A=a+288|0;f[A>>2]=0;return}if(o>>>0>=c>>>0){y=a+280|0;f[y>>2]=0;z=a+284|0;f[z>>2]=0;A=a+288|0;f[A>>2]=0;return}c=h+(o<<3)|0;if((c|0)==(j|0)){y=a+280|0;f[y>>2]=0;z=a+284|0;f[z>>2]=0;A=a+288|0;f[A>>2]=0;return}f[m>>2]=j+(~((j+-8-c|0)>>>3)<<3);y=a+280|0;f[y>>2]=0;z=a+284|0;f[z>>2]=0;A=a+288|0;f[A>>2]=0;return}function Uza(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;d=f[a+80>>2]|0;if((d|0)<=0)return;e=(f[b>>2]&16384|0)==0;g=f[b+40>>2]|0;h=g+4|0;i=f[b+16>>2]|0;j=f[b+44>>2]|0;k=f[b+12>>2]|0;b=f[a+32>>2]|0;l=(f[c>>2]&16384|0)==0;m=f[c+40>>2]|0;o=m+4|0;q=f[c+16>>2]|0;r=f[c+44>>2]|0;s=f[c+12>>2]|0;c=a+16|0;t=f[a+44>>2]|0;u=a+24|0;v=a+8|0;w=0;do{if(e?(f[g>>2]|0)!=1:0){if((f[h>>2]|0)==1)x=i+(X(f[j>>2]|0,w)|0)|0;else{y=(w|0)/(k|0)|0;z=w-(X(y,k)|0)|0;x=i+(X(f[j>>2]|0,y)|0)+(z*12|0)|0}z=w*3|0;p[b+(z<<3)>>3]=+n[x>>2];A=z;B=11}else{z=w*3|0;p[b+(z<<3)>>3]=+n[i+(w*12|0)>>2];if(e){A=z;B=11}else{C=z;B=16}}if((B|0)==11){B=0;if((f[g>>2]|0)==1){C=A;B=16}else{if((f[h>>2]|0)==1)D=i+(X(f[j>>2]|0,w)|0)|0;else{z=(w|0)/(k|0)|0;y=w-(X(z,k)|0)|0;D=i+(X(f[j>>2]|0,z)|0)+(y*12|0)|0}p[b+(A+1<<3)>>3]=+n[D+4>>2];E=A;B=17}}if((B|0)==16){B=0;p[b+(C+1<<3)>>3]=+n[i+(w*12|0)+4>>2];if(e){E=C;B=17}else{F=C;B=18}}do if((B|0)==17){B=0;if((f[g>>2]|0)!=1)if((f[h>>2]|0)==1){G=i+(X(f[j>>2]|0,w)|0)|0;H=E;break}else{y=(w|0)/(k|0)|0;z=w-(X(y,k)|0)|0;G=i+(X(f[j>>2]|0,y)|0)+(z*12|0)|0;H=E;break}else{F=E;B=18}}while(0);if((B|0)==18){B=0;G=i+(w*12|0)|0;H=F}p[b+(H+2<<3)>>3]=+n[G+8>>2];do if(l?(f[m>>2]|0)!=1:0)if((f[o>>2]|0)==1){I=q+(X(f[r>>2]|0,w)|0)|0;break}else{z=(w|0)/(s|0)|0;y=w-(X(z,s)|0)|0;I=q+(X(f[r>>2]|0,z)|0)+(y<<3)|0;break}else B=24;while(0);if((B|0)==24){B=0;I=q+(w<<3)|0}y=w<<1;p[t+(y<<3)>>3]=+p[c>>3]*+n[I>>2]+ +p[a>>3];do if(l?(f[m>>2]|0)!=1:0)if((f[o>>2]|0)==1){J=q+(X(f[r>>2]|0,w)|0)|0;break}else{z=(w|0)/(s|0)|0;K=w-(X(z,s)|0)|0;J=q+(X(f[r>>2]|0,z)|0)+(K<<3)|0;break}else B=30;while(0);if((B|0)==30){B=0;J=q+(w<<3)|0}p[t+((y|1)<<3)>>3]=+p[u>>3]*+n[J+4>>2]+ +p[v>>3];w=w+1|0}while((w|0)<(d|0));return}function Vza(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;d=f[a+80>>2]|0;if((d|0)<=0)return;e=(f[b>>2]&16384|0)==0;g=f[b+40>>2]|0;h=g+4|0;i=f[b+16>>2]|0;j=f[b+44>>2]|0;k=f[b+12>>2]|0;b=f[a+32>>2]|0;l=(f[c>>2]&16384|0)==0;m=f[c+40>>2]|0;n=m+4|0;o=f[c+16>>2]|0;q=f[c+44>>2]|0;r=f[c+12>>2]|0;c=a+16|0;s=f[a+44>>2]|0;t=a+24|0;u=a+8|0;v=0;do{do if(e){if((f[g>>2]|0)==1)w=i+(v*24|0)|0;else{if((f[h>>2]|0)==1)x=i+(X(f[j>>2]|0,v)|0)|0;else{y=(v|0)/(k|0)|0;z=v-(X(y,k)|0)|0;x=i+(X(f[j>>2]|0,y)|0)+(z*24|0)|0}w=x}z=v*3|0;p[b+(z<<3)>>3]=+p[w>>3];do if((f[g>>2]|0)!=1)if((f[h>>2]|0)==1){A=i+(X(f[j>>2]|0,v)|0)|0;break}else{y=(v|0)/(k|0)|0;B=v-(X(y,k)|0)|0;A=i+(X(f[j>>2]|0,y)|0)+(B*24|0)|0;break}else A=i+(v*24|0)|0;while(0);p[b+(z+1<<3)>>3]=+p[A+8>>3];if((f[g>>2]|0)!=1)if((f[h>>2]|0)==1){C=i+(X(f[j>>2]|0,v)|0)|0;D=z;break}else{B=(v|0)/(k|0)|0;y=v-(X(B,k)|0)|0;C=i+(X(f[j>>2]|0,B)|0)+(y*24|0)|0;D=z;break}else{E=z;F=18}}else{y=v*3|0;p[b+(y<<3)>>3]=+p[i+(v*24|0)>>3];p[b+(y+1<<3)>>3]=+p[i+(v*24|0)+8>>3];E=y;F=18}while(0);if((F|0)==18){F=0;C=i+(v*24|0)|0;D=E}p[b+(D+2<<3)>>3]=+p[C+16>>3];do if(l?(f[m>>2]|0)!=1:0)if((f[n>>2]|0)==1){G=o+(X(f[q>>2]|0,v)|0)|0;break}else{y=(v|0)/(r|0)|0;B=v-(X(y,r)|0)|0;G=o+(X(f[q>>2]|0,y)|0)+(B<<4)|0;break}else F=24;while(0);if((F|0)==24){F=0;G=o+(v<<4)|0}B=v<<1;p[s+(B<<3)>>3]=+p[G>>3]*+p[c>>3]+ +p[a>>3];do if(l?(f[m>>2]|0)!=1:0)if((f[n>>2]|0)==1){H=o+(X(f[q>>2]|0,v)|0)|0;break}else{y=(v|0)/(r|0)|0;I=v-(X(y,r)|0)|0;H=o+(X(f[q>>2]|0,y)|0)+(I<<4)|0;break}else F=30;while(0);if((F|0)==30){F=0;H=o+(v<<4)|0}p[s+((B|1)<<3)>>3]=+p[H+8>>3]*+p[t>>3]+ +p[u>>3];v=v+1|0}while((v|0)<(d|0));return}function Wza(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;d=f[a+80>>2]|0;if((d|0)<=0)return;e=(f[b>>2]&16384|0)==0;g=f[b+40>>2]|0;h=g+4|0;i=f[b+16>>2]|0;j=f[b+44>>2]|0;k=f[b+12>>2]|0;b=f[a+32>>2]|0;l=(f[c>>2]&16384|0)==0;m=f[c+40>>2]|0;o=m+4|0;q=f[c+16>>2]|0;r=f[c+44>>2]|0;s=f[c+12>>2]|0;c=a+16|0;t=f[a+44>>2]|0;u=a+24|0;v=a+8|0;w=0;do{if(e?(f[g>>2]|0)!=1:0){if((f[h>>2]|0)==1)x=i+(X(f[j>>2]|0,w)|0)|0;else{y=(w|0)/(k|0)|0;z=w-(X(y,k)|0)|0;x=i+(X(f[j>>2]|0,y)|0)+(z*12|0)|0}z=w*3|0;p[b+(z<<3)>>3]=+n[x>>2];A=z;B=11}else{z=w*3|0;p[b+(z<<3)>>3]=+n[i+(w*12|0)>>2];if(e){A=z;B=11}else{C=z;B=16}}if((B|0)==11){B=0;if((f[g>>2]|0)==1){C=A;B=16}else{if((f[h>>2]|0)==1)D=i+(X(f[j>>2]|0,w)|0)|0;else{z=(w|0)/(k|0)|0;y=w-(X(z,k)|0)|0;D=i+(X(f[j>>2]|0,z)|0)+(y*12|0)|0}p[b+(A+1<<3)>>3]=+n[D+4>>2];E=A;B=17}}if((B|0)==16){B=0;p[b+(C+1<<3)>>3]=+n[i+(w*12|0)+4>>2];if(e){E=C;B=17}else{F=C;B=18}}do if((B|0)==17){B=0;if((f[g>>2]|0)!=1)if((f[h>>2]|0)==1){G=i+(X(f[j>>2]|0,w)|0)|0;H=E;break}else{y=(w|0)/(k|0)|0;z=w-(X(y,k)|0)|0;G=i+(X(f[j>>2]|0,y)|0)+(z*12|0)|0;H=E;break}else{F=E;B=18}}while(0);if((B|0)==18){B=0;G=i+(w*12|0)|0;H=F}p[b+(H+2<<3)>>3]=+n[G+8>>2];do if(l?(f[m>>2]|0)!=1:0)if((f[o>>2]|0)==1){I=q+(X(f[r>>2]|0,w)|0)|0;break}else{z=(w|0)/(s|0)|0;y=w-(X(z,s)|0)|0;I=q+(X(f[r>>2]|0,z)|0)+(y<<4)|0;break}else B=24;while(0);if((B|0)==24){B=0;I=q+(w<<4)|0}y=w<<1;p[t+(y<<3)>>3]=+p[I>>3]*+p[c>>3]+ +p[a>>3];do if(l?(f[m>>2]|0)!=1:0)if((f[o>>2]|0)==1){J=q+(X(f[r>>2]|0,w)|0)|0;break}else{z=(w|0)/(s|0)|0;K=w-(X(z,s)|0)|0;J=q+(X(f[r>>2]|0,z)|0)+(K<<4)|0;break}else B=30;while(0);if((B|0)==30){B=0;J=q+(w<<4)|0}p[t+((y|1)<<3)>>3]=+p[J+8>>3]*+p[u>>3]+ +p[v>>3];w=w+1|0}while((w|0)<(d|0));return}function Xza(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;d=f[a+80>>2]|0;if((d|0)<=0)return;e=(f[b>>2]&16384|0)==0;g=f[b+40>>2]|0;h=g+4|0;i=f[b+16>>2]|0;j=f[b+44>>2]|0;k=f[b+12>>2]|0;b=f[a+32>>2]|0;l=(f[c>>2]&16384|0)==0;m=f[c+40>>2]|0;o=m+4|0;q=f[c+16>>2]|0;r=f[c+44>>2]|0;s=f[c+12>>2]|0;c=a+16|0;t=f[a+44>>2]|0;u=a+24|0;v=a+8|0;w=0;do{do if(e){if((f[g>>2]|0)==1)x=i+(w*24|0)|0;else{if((f[h>>2]|0)==1)y=i+(X(f[j>>2]|0,w)|0)|0;else{z=(w|0)/(k|0)|0;A=w-(X(z,k)|0)|0;y=i+(X(f[j>>2]|0,z)|0)+(A*24|0)|0}x=y}A=w*3|0;p[b+(A<<3)>>3]=+p[x>>3];do if((f[g>>2]|0)!=1)if((f[h>>2]|0)==1){B=i+(X(f[j>>2]|0,w)|0)|0;break}else{z=(w|0)/(k|0)|0;C=w-(X(z,k)|0)|0;B=i+(X(f[j>>2]|0,z)|0)+(C*24|0)|0;break}else B=i+(w*24|0)|0;while(0);p[b+(A+1<<3)>>3]=+p[B+8>>3];if((f[g>>2]|0)!=1)if((f[h>>2]|0)==1){D=i+(X(f[j>>2]|0,w)|0)|0;E=A;break}else{C=(w|0)/(k|0)|0;z=w-(X(C,k)|0)|0;D=i+(X(f[j>>2]|0,C)|0)+(z*24|0)|0;E=A;break}else{F=A;G=18}}else{z=w*3|0;p[b+(z<<3)>>3]=+p[i+(w*24|0)>>3];p[b+(z+1<<3)>>3]=+p[i+(w*24|0)+8>>3];F=z;G=18}while(0);if((G|0)==18){G=0;D=i+(w*24|0)|0;E=F}p[b+(E+2<<3)>>3]=+p[D+16>>3];do if(l?(f[m>>2]|0)!=1:0)if((f[o>>2]|0)==1){H=q+(X(f[r>>2]|0,w)|0)|0;break}else{z=(w|0)/(s|0)|0;C=w-(X(z,s)|0)|0;H=q+(X(f[r>>2]|0,z)|0)+(C<<3)|0;break}else G=24;while(0);if((G|0)==24){G=0;H=q+(w<<3)|0}C=w<<1;p[t+(C<<3)>>3]=+p[c>>3]*+n[H>>2]+ +p[a>>3];do if(l?(f[m>>2]|0)!=1:0)if((f[o>>2]|0)==1){I=q+(X(f[r>>2]|0,w)|0)|0;break}else{z=(w|0)/(s|0)|0;J=w-(X(z,s)|0)|0;I=q+(X(f[r>>2]|0,z)|0)+(J<<3)|0;break}else G=30;while(0);if((G|0)==30){G=0;I=q+(w<<3)|0}p[t+((C|1)<<3)>>3]=+p[u>>3]*+n[I+4>>2]+ +p[v>>3];w=w+1|0}while((w|0)<(d|0));return}function Yza(a){a=a|0;var b=0,c=0,d=0;b=f[a+284>>2]|0;if(b|0)HQa(b);b=f[a+288>>2]|0;if(b|0)HQa(b);b=f[a+68>>2]|0;if(b|0){c=a+72|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-8-b|0)>>>3)<<3);GQa(b)}b=f[a+56>>2]|0;if(b|0){d=a+60|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-8-b|0)>>>3)<<3);GQa(b)}b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-8-b|0)>>>3)<<3);GQa(b)}b=f[a+32>>2]|0;if(!b)return;d=a+36|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-8-b|0)>>>3)<<3);GQa(b);return}function Zza(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0.0,t=0.0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0;b=u;u=u+256|0;c=b+252|0;d=b+96|0;e=b+72|0;g=b;h=b+224|0;i=b+196|0;j=b+168|0;k=a+104|0;l=a+96|0;m=a+88|0;n=a+80|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;o=f[n>>2]|0;if((o|0)>0){q=f[a+32>>2]|0;r=0;s=0.0;t=0.0;v=0.0;while(1){w=r*3|0;x=+p[q+(w<<3)>>3]+s;p[m>>3]=x;y=+p[q+(w+1<<3)>>3]+t;p[l>>3]=y;z=+p[q+(w+2<<3)>>3]+v;p[k>>3]=z;r=r+1|0;if((r|0)>=(o|0)){A=x;B=y;C=z;break}else{s=x;t=y;v=z}}}else{A=0.0;B=0.0;C=0.0}v=+(o|0);p[m>>3]=A/v;p[l>>3]=B/v;p[k>>3]=C/v;r=LV(o,3,6)|0;f[c>>2]=r;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;o=g;q=o+72|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(q|0));f[h>>2]=1111638022;f[h+24>>2]=3;f[h+20>>2]=3;f[h+4>>2]=24;f[h+16>>2]=d;f[h+8>>2]=0;f[h+12>>2]=0;f[i>>2]=1111638022;f[i+24>>2]=1;f[i+20>>2]=3;f[i+4>>2]=8;f[i+16>>2]=e;f[i+8>>2]=0;f[i+12>>2]=0;f[j>>2]=1111638022;f[j+24>>2]=3;f[j+20>>2]=3;f[j+4>>2]=24;f[j+16>>2]=g;f[j+8>>2]=0;f[j+12>>2]=0;d=f[n>>2]|0;if((d|0)>0){o=r+16|0;q=f[a+32>>2]|0;w=0;do{D=w*3|0;p[(f[o>>2]|0)+(D<<3)>>3]=+p[q+(D<<3)>>3]-+p[m>>3];E=D+1|0;p[(f[o>>2]|0)+(E<<3)>>3]=+p[q+(E<<3)>>3]-+p[l>>3];E=D+2|0;p[(f[o>>2]|0)+(E<<3)>>3]=+p[q+(E<<3)>>3]-+p[k>>3];w=w+1|0}while((w|0)<(d|0))}vD(r,h,1,0,1.0);YR(h,i,j,0,3);PV(c);v=+(f[n>>2]|0);C=+L(+(+p[e>>3]/v));B=+p[m>>3];p[a+112>>3]=B+C*+p[g>>3];A=+p[l>>3];p[a+120>>3]=A+C*+p[g+8>>3];t=+p[k>>3];p[a+128>>3]=t+C*+p[g+16>>3];C=+L(+(+p[e+8>>3]/v));p[a+136>>3]=B+C*+p[g+24>>3];p[a+144>>3]=A+C*+p[g+32>>3];p[a+152>>3]=t+C*+p[g+40>>3];C=+L(+(+p[e+16>>3]/v));p[a+160>>3]=B+C*+p[g+48>>3];p[a+168>>3]=A+C*+p[g+56>>3];p[a+176>>3]=t+C*+p[g+64>>3];u=b;return}function _za(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0;b=u;u=u+208|0;c=b+72|0;d=b;e=b+172|0;g=b+144|0;f[e>>2]=1111638022;f[e+24>>2]=3;f[e+20>>2]=3;f[e+4>>2]=24;f[e+16>>2]=c;f[e+8>>2]=0;f[e+12>>2]=0;f[g>>2]=1111638022;f[g+24>>2]=3;f[g+20>>2]=3;f[g+4>>2]=24;f[g+16>>2]=d;f[g+8>>2]=0;f[g+12>>2]=0;h=a+88|0;i=+p[h>>3];p[c>>3]=+p[a+112>>3]-i;p[c+8>>3]=+p[a+136>>3]-i;p[c+16>>3]=+p[a+160>>3]-i;j=a+96|0;i=+p[j>>3];p[c+24>>3]=+p[a+120>>3]-i;p[c+32>>3]=+p[a+144>>3]-i;p[c+40>>3]=+p[a+168>>3]-i;k=a+104|0;i=+p[k>>3];p[c+48>>3]=+p[a+128>>3]-i;p[c+56>>3]=+p[a+152>>3]-i;p[c+64>>3]=+p[a+176>>3]-i;+WR(e,g,1);g=f[a+80>>2]|0;if((g|0)<=0){u=b;return}e=f[a+32>>2]|0;c=f[a+56>>2]|0;a=d+8|0;l=d+16|0;m=d+24|0;n=d+32|0;o=d+40|0;q=d+48|0;r=d+56|0;s=d+64|0;t=0;do{v=e+(t*3<<3)|0;w=c+(t<<2<<3)|0;x=v+8|0;y=v+16|0;i=+p[d>>3]*(+p[v>>3]-+p[h>>3])+ +p[a>>3]*(+p[x>>3]-+p[j>>3])+ +p[l>>3]*(+p[y>>3]-+p[k>>3]);p[w+8>>3]=i;z=+p[m>>3]*(+p[v>>3]-+p[h>>3])+ +p[n>>3]*(+p[x>>3]-+p[j>>3])+ +p[o>>3]*(+p[y>>3]-+p[k>>3]);p[w+16>>3]=z;A=+p[q>>3]*(+p[v>>3]-+p[h>>3])+ +p[r>>3]*(+p[x>>3]-+p[j>>3])+ +p[s>>3]*(+p[y>>3]-+p[k>>3]);p[w+24>>3]=A;p[w>>3]=1.0-i-z-A;t=t+1|0}while((t|0)<(g|0));u=b;return}function $za(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0.0,i=0.0,j=0.0,k=0,l=0.0,m=0,n=0.0,o=0,q=0.0,r=0,s=0.0,t=0,u=0.0,v=0,w=0.0,x=0,y=0.0,z=0,A=0.0,B=0,C=0.0,D=0.0;d=a+184|0;e=d;g=e+96|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));h=+p[b>>3]*+p[c+1056>>3]+0.0;p[d>>3]=h;e=a+192|0;i=+p[b>>3]*+p[c+1064>>3]+0.0;p[e>>3]=i;g=a+200|0;j=+p[b>>3]*+p[c+1072>>3]+0.0;p[g>>3]=j;k=a+208|0;l=+p[b>>3]*+p[c+1080>>3]+0.0;p[k>>3]=l;m=a+216|0;n=+p[b>>3]*+p[c+1088>>3]+0.0;p[m>>3]=n;o=a+224|0;q=+p[b>>3]*+p[c+1096>>3]+0.0;p[o>>3]=q;r=a+232|0;s=+p[b>>3]*+p[c+1104>>3]+0.0;p[r>>3]=s;t=a+240|0;u=+p[b>>3]*+p[c+1112>>3]+0.0;p[t>>3]=u;v=a+248|0;w=+p[b>>3]*+p[c+1120>>3]+0.0;p[v>>3]=w;x=a+256|0;y=+p[b>>3]*+p[c+1128>>3]+0.0;p[x>>3]=y;z=a+264|0;A=+p[b>>3]*+p[c+1136>>3]+0.0;p[z>>3]=A;B=a+272|0;C=+p[b>>3]*+p[c+1144>>3]+0.0;p[B>>3]=C;a=b+8|0;D=h+ +p[a>>3]*+p[c+960>>3];p[d>>3]=D;h=i+ +p[a>>3]*+p[c+968>>3];p[e>>3]=h;i=j+ +p[a>>3]*+p[c+976>>3];p[g>>3]=i;j=l+ +p[a>>3]*+p[c+984>>3];p[k>>3]=j;l=n+ +p[a>>3]*+p[c+992>>3];p[m>>3]=l;n=q+ +p[a>>3]*+p[c+1e3>>3];p[o>>3]=n;q=s+ +p[a>>3]*+p[c+1008>>3];p[r>>3]=q;s=u+ +p[a>>3]*+p[c+1016>>3];p[t>>3]=s;u=w+ +p[a>>3]*+p[c+1024>>3];p[v>>3]=u;w=y+ +p[a>>3]*+p[c+1032>>3];p[x>>3]=w;y=A+ +p[a>>3]*+p[c+1040>>3];p[z>>3]=y;A=C+ +p[a>>3]*+p[c+1048>>3];p[B>>3]=A;a=b+16|0;C=D+ +p[a>>3]*+p[c+864>>3];p[d>>3]=C;D=h+ +p[a>>3]*+p[c+872>>3];p[e>>3]=D;h=i+ +p[a>>3]*+p[c+880>>3];p[g>>3]=h;i=j+ +p[a>>3]*+p[c+888>>3];p[k>>3]=i;j=l+ +p[a>>3]*+p[c+896>>3];p[m>>3]=j;l=n+ +p[a>>3]*+p[c+904>>3];p[o>>3]=l;n=q+ +p[a>>3]*+p[c+912>>3];p[r>>3]=n;q=s+ +p[a>>3]*+p[c+920>>3];p[t>>3]=q;s=u+ +p[a>>3]*+p[c+928>>3];p[v>>3]=s;u=w+ +p[a>>3]*+p[c+936>>3];p[x>>3]=u;w=y+ +p[a>>3]*+p[c+944>>3];p[z>>3]=w;y=A+ +p[a>>3]*+p[c+952>>3];p[B>>3]=y;a=b+24|0;p[d>>3]=C+ +p[a>>3]*+p[c+768>>3];p[e>>3]=D+ +p[a>>3]*+p[c+776>>3];p[g>>3]=h+ +p[a>>3]*+p[c+784>>3];p[k>>3]=i+ +p[a>>3]*+p[c+792>>3];p[m>>3]=j+ +p[a>>3]*+p[c+800>>3];p[o>>3]=l+ +p[a>>3]*+p[c+808>>3];p[r>>3]=n+ +p[a>>3]*+p[c+816>>3];p[t>>3]=q+ +p[a>>3]*+p[c+824>>3];p[v>>3]=s+ +p[a>>3]*+p[c+832>>3];p[x>>3]=u+ +p[a>>3]*+p[c+840>>3];p[z>>3]=w+ +p[a>>3]*+p[c+848>>3];p[B>>3]=y+ +p[a>>3]*+p[c+856>>3];return}function aAa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=f[a+80>>2]|0;if((b|0)<=0)return;c=f[a+56>>2]|0;d=f[a+68>>2]|0;e=a+184|0;g=a+208|0;h=a+232|0;i=a+256|0;j=a+192|0;k=a+216|0;l=a+240|0;m=a+264|0;n=a+200|0;o=a+224|0;q=a+248|0;r=a+272|0;a=0;do{s=c+(a<<2<<3)|0;t=d+(a*3<<3)|0;u=s+8|0;v=s+16|0;w=s+24|0;p[t>>3]=+p[s>>3]*+p[e>>3]+ +p[u>>3]*+p[g>>3]+ +p[v>>3]*+p[h>>3]+ +p[w>>3]*+p[i>>3];p[t+8>>3]=+p[s>>3]*+p[j>>3]+ +p[u>>3]*+p[k>>3]+ +p[v>>3]*+p[l>>3]+ +p[w>>3]*+p[m>>3];p[t+16>>3]=+p[s>>3]*+p[n>>3]+ +p[u>>3]*+p[o>>3]+ +p[v>>3]*+p[q>>3]+ +p[w>>3]*+p[r>>3];a=a+1|0}while((a|0)<(b|0));return}function bAa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0.0,N=0.0,O=0,P=0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0;d=u;u=u+3744|0;e=d+3740|0;g=d+2320|0;h=d+2224|0;i=d+1072|0;j=d+3712|0;k=d+3684|0;l=d+3656|0;m=d+592|0;n=d+544|0;o=d+3628|0;q=d+3600|0;r=d+416|0;s=d+384|0;t=d+96|0;v=d;w=d+3528|0;x=d+3584|0;y=d+3472|0;Zza(a);_za(a);z=a+80|0;A=LV(f[z>>2]<<1,12,6)|0;f[e>>2]=A;if((f[z>>2]|0)>0){B=a+56|0;C=a+44|0;D=A+16|0;E=a+16|0;F=a+24|0;G=a+8|0;H=0;do{I=H<<1;J=(f[B>>2]|0)+(H<<2<<3)|0;K=f[C>>2]|0;M=+p[K+(I<<3)>>3];N=+p[K+((I|1)<<3)>>3];I=(f[D>>2]|0)+(H*24<<3)|0;K=I+96|0;p[I>>3]=+p[J>>3]*+p[E>>3];p[I+8>>3]=0.0;p[I+16>>3]=+p[J>>3]*(+p[a>>3]-M);p[K>>3]=0.0;p[K+8>>3]=+p[J>>3]*+p[F>>3];p[K+16>>3]=+p[J>>3]*(+p[G>>3]-N);O=J+8|0;p[I+24>>3]=+p[O>>3]*+p[E>>3];p[I+32>>3]=0.0;p[I+40>>3]=+p[O>>3]*(+p[a>>3]-M);p[K+24>>3]=0.0;p[K+32>>3]=+p[O>>3]*+p[F>>3];p[K+40>>3]=+p[O>>3]*(+p[G>>3]-N);O=J+16|0;p[I+48>>3]=+p[O>>3]*+p[E>>3];p[I+56>>3]=0.0;p[I+64>>3]=+p[O>>3]*(+p[a>>3]-M);p[K+48>>3]=0.0;p[K+56>>3]=+p[O>>3]*+p[F>>3];p[K+64>>3]=+p[O>>3]*(+p[G>>3]-N);O=J+24|0;p[I+72>>3]=+p[O>>3]*+p[E>>3];p[I+80>>3]=0.0;p[I+88>>3]=+p[O>>3]*(+p[a>>3]-M);p[K+72>>3]=0.0;p[K+80>>3]=+p[O>>3]*+p[F>>3];p[K+88>>3]=+p[O>>3]*(+p[G>>3]-N);H=H+1|0}while((H|0)<(f[z>>2]|0));P=f[e>>2]|0}else P=A;f[j>>2]=1111638022;f[j+24>>2]=12;f[j+20>>2]=12;f[j+4>>2]=96;f[j+16>>2]=g;f[j+8>>2]=0;f[j+12>>2]=0;f[k>>2]=1111638022;f[k+24>>2]=1;f[k+20>>2]=12;f[k+4>>2]=8;f[k+16>>2]=h;f[k+8>>2]=0;f[k+12>>2]=0;f[l>>2]=1111638022;f[l+24>>2]=12;f[l+20>>2]=12;f[l+4>>2]=96;f[l+16>>2]=i;f[l+8>>2]=0;f[l+12>>2]=0;vD(P,j,1,0,1.0);YR(j,k,l,0,3);PV(e);f[o>>2]=1111638022;f[o+24>>2]=10;f[o+20>>2]=6;f[o+4>>2]=80;f[o+16>>2]=m;f[o+8>>2]=0;f[o+12>>2]=0;f[q>>2]=1111638022;f[q+24>>2]=1;f[q+20>>2]=6;f[q+4>>2]=8;f[q+16>>2]=n;f[q+8>>2]=0;f[q+12>>2]=0;cAa(a,i,m);dAa(a,n);n=r+32|0;eAa(0,o,q,n);fAa(a,o,q,n);m=t+72|0;e=v+24|0;$za(a,n,i);aAa(a);gAa(a);hAa(a,m,e);n=f[z>>2]|0;if((n|0)>0){l=f[a+32>>2]|0;N=+p[m>>3];M=+p[t+80>>3];Q=+p[t+88>>3];R=+p[e>>3];S=+p[t+96>>3];T=+p[t+104>>3];U=+p[t+112>>3];V=+p[v+32>>3];W=+p[t+120>>3];X=+p[t+128>>3];Y=+p[t+136>>3];Z=+p[v+40>>3];_=+p[a>>3];$=+p[a+16>>3];aa=+p[a+8>>3];ba=+p[a+24>>3];e=f[a+44>>2]|0;m=0;ca=0.0;while(1){k=l+(m*3<<3)|0;da=+p[k>>3];ea=+p[k+8>>3];fa=+p[k+16>>3];ga=1.0/(Z+(W*da+X*ea+Y*fa));k=m<<1;ha=+p[e+(k<<3)>>3]-(_+$*(R+(N*da+M*ea+Q*fa))*ga);ia=+p[e+((k|1)<<3)>>3]-(aa+ga*(ba*(V+(S*da+T*ea+U*fa))));fa=ca+ +L(+(ha*ha+ia*ia));m=m+1|0;if((m|0)==(n|0)){ja=fa;break}else ca=fa}}else ja=0.0;ca=ja/+(n|0);p[s+8>>3]=ca;n=r+64|0;iAa(0,o,q,n);fAa(a,o,q,n);m=t+144|0;e=v+48|0;$za(a,n,i);aAa(a);gAa(a);hAa(a,m,e);n=f[z>>2]|0;if((n|0)>0){l=f[a+32>>2]|0;ja=+p[m>>3];U=+p[t+152>>3];T=+p[t+160>>3];S=+p[e>>3];V=+p[t+168>>3];ba=+p[t+176>>3];aa=+p[t+184>>3];Q=+p[v+56>>3];M=+p[t+192>>3];N=+p[t+200>>3];R=+p[t+208>>3];$=+p[v+64>>3];_=+p[a>>3];Y=+p[a+16>>3];X=+p[a+8>>3];W=+p[a+24>>3];e=f[a+44>>2]|0;m=0;Z=0.0;while(1){k=l+(m*3<<3)|0;fa=+p[k>>3];ia=+p[k+8>>3];ha=+p[k+16>>3];ea=1.0/($+(M*fa+N*ia+R*ha));k=m<<1;da=+p[e+(k<<3)>>3]-(_+Y*(S+(ja*fa+U*ia+T*ha))*ea);ga=+p[e+((k|1)<<3)>>3]-(X+ea*(W*(Q+(V*fa+ba*ia+aa*ha))));ha=Z+ +L(+(da*da+ga*ga));m=m+1|0;if((m|0)==(n|0)){ka=ha;break}else Z=ha}}else ka=0.0;Z=ka/+(n|0);p[s+16>>3]=Z;n=r+96|0;jAa(0,o,q,n);fAa(a,o,q,n);q=t+216|0;o=v+72|0;$za(a,n,i);aAa(a);gAa(a);hAa(a,q,o);i=f[z>>2]|0;if((i|0)>0){z=f[a+32>>2]|0;ka=+p[q>>3];aa=+p[t+224>>3];ba=+p[t+232>>3];V=+p[o>>3];Q=+p[t+240>>3];W=+p[t+248>>3];X=+p[t+256>>3];T=+p[v+80>>3];U=+p[t+264>>3];ja=+p[t+272>>3];S=+p[t+280>>3];Y=+p[v+88>>3];_=+p[a>>3];R=+p[a+16>>3];N=+p[a+8>>3];M=+p[a+24>>3];o=f[a+44>>2]|0;a=0;$=0.0;while(1){q=z+(a*3<<3)|0;ha=+p[q>>3];ga=+p[q+8>>3];da=+p[q+16>>3];ia=1.0/(Y+(U*ha+ja*ga+S*da));q=a<<1;fa=+p[o+(q<<3)>>3]-(_+R*(V+(ka*ha+aa*ga+ba*da))*ia);ea=+p[o+((q|1)<<3)>>3]-(N+ia*(M*(T+(Q*ha+W*ga+X*da))));da=$+ +L(+(fa*fa+ea*ea));a=a+1|0;if((a|0)==(i|0)){la=da;break}else $=da}}else la=0.0;$=la/+(i|0);p[s+24>>3]=$;i=Z>3]?3:i;i=v+(a*24|0)|0;s=w+4|0;f[s>>2]=2;o=w+8|0;f[o>>2]=3;f[w+12>>2]=1;z=w+16|0;f[z>>2]=i;f[w+20>>2]=i;i=w+24|0;q=w+40|0;n=i+8|0;f[n>>2]=0;f[n+4>>2]=0;f[q>>2]=o;o=w+48|0;n=w+44|0;f[n>>2]=o;f[w>>2]=1124024326;f[o>>2]=8;f[w+52>>2]=8;f[w+28>>2]=v+(a*24|0)+24;f[i>>2]=v+(a*24|0)+24;v=x+8|0;f[v>>2]=0;f[v+4>>2]=0;f[x>>2]=33619968;f[x+4>>2]=c;eM(w,x);c=w+36|0;v=f[c>>2]|0;if(v|0?(i=v+12|0,v=f[i>>2]|0,f[i>>2]=v+-1,(v|0)==1):0)XO(w);f[c>>2]=0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;if((f[s>>2]|0)>0){z=f[q>>2]|0;q=0;do{f[z+(q<<2)>>2]=0;q=q+1|0}while((q|0)<(f[s>>2]|0))}s=f[n>>2]|0;if((s|0)!=(o|0))dX(s);s=t+(a*72|0)|0;o=y+4|0;f[o>>2]=2;n=y+8|0;f[n>>2]=3;f[y+12>>2]=3;q=y+16|0;f[q>>2]=s;f[y+20>>2]=s;s=y+24|0;z=y+40|0;c=s+8|0;f[c>>2]=0;f[c+4>>2]=0;f[z>>2]=n;n=y+48|0;c=y+44|0;f[c>>2]=n;f[y>>2]=1124024326;f[n>>2]=24;f[y+52>>2]=8;f[y+28>>2]=t+(a*72|0)+72;f[s>>2]=t+(a*72|0)+72;a=x+8|0;f[a>>2]=0;f[a+4>>2]=0;f[x>>2]=33619968;f[x+4>>2]=b;eM(y,x);x=y+36|0;b=f[x>>2]|0;if(b|0?(a=b+12|0,b=f[a>>2]|0,f[a>>2]=b+-1,(b|0)==1):0)XO(y);f[x>>2]=0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;if((f[o>>2]|0)>0){q=f[z>>2]|0;z=0;do{f[q+(z<<2)>>2]=0;z=z+1|0}while((z|0)<(f[o>>2]|0))}o=f[c>>2]|0;if((o|0)==(n|0)){u=d;return}dX(o);u=d;return}function cAa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0;a=u;u=u+592|0;d=a+576|0;e=a;g=b+1056|0;f[d>>2]=g;f[d+4>>2]=b+960;f[d+8>>2]=b+864;f[d+12>>2]=b+768;b=0;h=g;while(1){g=h+24|0;p[e+(b*144|0)>>3]=+p[h>>3]-+p[g>>3];i=h+8|0;j=h+32|0;p[e+(b*144|0)+8>>3]=+p[i>>3]-+p[j>>3];k=h+16|0;l=h+40|0;p[e+(b*144|0)+16>>3]=+p[k>>3]-+p[l>>3];m=h+48|0;p[e+(b*144|0)+24>>3]=+p[h>>3]-+p[m>>3];n=h+56|0;p[e+(b*144|0)+32>>3]=+p[i>>3]-+p[n>>3];o=h+64|0;p[e+(b*144|0)+40>>3]=+p[k>>3]-+p[o>>3];q=h+72|0;p[e+(b*144|0)+48>>3]=+p[h>>3]-+p[q>>3];r=h+80|0;p[e+(b*144|0)+56>>3]=+p[i>>3]-+p[r>>3];i=h+88|0;p[e+(b*144|0)+64>>3]=+p[k>>3]-+p[i>>3];p[e+(b*144|0)+72>>3]=+p[g>>3]-+p[m>>3];p[e+(b*144|0)+80>>3]=+p[j>>3]-+p[n>>3];p[e+(b*144|0)+88>>3]=+p[l>>3]-+p[o>>3];p[e+(b*144|0)+96>>3]=+p[g>>3]-+p[q>>3];p[e+(b*144|0)+104>>3]=+p[j>>3]-+p[r>>3];p[e+(b*144|0)+112>>3]=+p[l>>3]-+p[i>>3];p[e+(b*144|0)+120>>3]=+p[m>>3]-+p[q>>3];p[e+(b*144|0)+128>>3]=+p[n>>3]-+p[r>>3];p[e+(b*144|0)+136>>3]=+p[o>>3]-+p[i>>3];i=b+1|0;if((i|0)==4){s=0;break}b=i;h=f[d+(i<<2)>>2]|0}do{d=c+(s*10<<3)|0;t=+p[e+(s*24|0)>>3];v=+p[e+(s*24|0)+8>>3];w=+p[e+(s*24|0)+16>>3];p[d>>3]=t*t+v*v+w*w;x=+p[e+144+(s*24|0)>>3];y=+p[e+144+(s*24|0)+8>>3];z=+p[e+144+(s*24|0)+16>>3];p[d+8>>3]=(t*x+v*y+w*z)*2.0;p[d+16>>3]=x*x+y*y+z*z;A=+p[e+288+(s*24|0)>>3];B=+p[e+288+(s*24|0)+8>>3];C=+p[e+288+(s*24|0)+16>>3];p[d+24>>3]=(t*A+v*B+w*C)*2.0;p[d+32>>3]=(x*A+y*B+z*C)*2.0;p[d+40>>3]=A*A+B*B+C*C;D=+p[e+432+(s*24|0)>>3];E=+p[e+432+(s*24|0)+8>>3];F=+p[e+432+(s*24|0)+16>>3];p[d+48>>3]=(t*D+v*E+w*F)*2.0;p[d+56>>3]=(x*D+y*E+z*F)*2.0;p[d+64>>3]=(A*D+B*E+C*F)*2.0;p[d+72>>3]=D*D+E*E+F*F;s=s+1|0}while((s|0)!=6);u=a;return}function dAa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0,f=0,g=0,h=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0;c=a+88|0;d=a+112|0;e=+p[c>>3]-+p[d>>3];f=a+96|0;g=a+120|0;h=+p[f>>3]-+p[g>>3];i=a+104|0;j=a+128|0;k=+p[i>>3]-+p[j>>3];p[b>>3]=e*e+h*h+k*k;l=a+136|0;k=+p[c>>3]-+p[l>>3];m=a+144|0;h=+p[f>>3]-+p[m>>3];n=a+152|0;e=+p[i>>3]-+p[n>>3];p[b+8>>3]=k*k+h*h+e*e;o=a+160|0;e=+p[c>>3]-+p[o>>3];c=a+168|0;h=+p[f>>3]-+p[c>>3];f=a+176|0;k=+p[i>>3]-+p[f>>3];p[b+16>>3]=e*e+h*h+k*k;k=+p[d>>3]-+p[l>>3];h=+p[g>>3]-+p[m>>3];e=+p[j>>3]-+p[n>>3];p[b+24>>3]=k*k+h*h+e*e;e=+p[d>>3]-+p[o>>3];h=+p[g>>3]-+p[c>>3];k=+p[j>>3]-+p[f>>3];p[b+32>>3]=e*e+h*h+k*k;k=+p[l>>3]-+p[o>>3];h=+p[m>>3]-+p[c>>3];e=+p[n>>3]-+p[f>>3];p[b+40>>3]=k*k+h*h+e*e;return}function eAa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0.0,m=0.0,o=0.0,q=0.0,r=0.0,s=0.0,t=0,v=0,w=0.0,x=0;a=u;u=u+288|0;e=a;g=a+252|0;h=a+224|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;f[e+28>>2]=0;f[g>>2]=1111638022;f[g+24>>2]=4;f[g+20>>2]=6;f[g+4>>2]=32;i=g+16|0;f[i>>2]=a+32;f[g+8>>2]=0;f[g+12>>2]=0;f[h>>2]=1111638022;f[h+24>>2]=1;f[h+20>>2]=4;f[h+4>>2]=8;f[h+16>>2]=e;f[h+8>>2]=0;f[h+12>>2]=0;j=f[b+4>>2]|0;k=b+16|0;if((f[b>>2]&4095|0)==5){p[f[i>>2]>>3]=+n[f[k>>2]>>2];p[(f[i>>2]|0)+8>>3]=+n[(f[k>>2]|0)+4>>2];p[(f[i>>2]|0)+16>>3]=+n[(f[k>>2]|0)+12>>2];p[(f[i>>2]|0)+24>>3]=+n[(f[k>>2]|0)+24>>2];p[(f[i>>2]|0)+32>>3]=+n[(f[k>>2]|0)+j>>2];p[(f[i>>2]|0)+40>>3]=+n[(f[k>>2]|0)+j+4>>2];p[(f[i>>2]|0)+48>>3]=+n[(f[k>>2]|0)+j+12>>2];p[(f[i>>2]|0)+56>>3]=+n[(f[k>>2]|0)+j+24>>2];b=j<<1;p[(f[i>>2]|0)+64>>3]=+n[(f[k>>2]|0)+b>>2];p[(f[i>>2]|0)+72>>3]=+n[(f[k>>2]|0)+b+4>>2];p[(f[i>>2]|0)+80>>3]=+n[(f[k>>2]|0)+b+12>>2];p[(f[i>>2]|0)+88>>3]=+n[(f[k>>2]|0)+b+24>>2];b=j*3|0;p[(f[i>>2]|0)+96>>3]=+n[(f[k>>2]|0)+b>>2];p[(f[i>>2]|0)+104>>3]=+n[(f[k>>2]|0)+b+4>>2];p[(f[i>>2]|0)+112>>3]=+n[(f[k>>2]|0)+b+12>>2];p[(f[i>>2]|0)+120>>3]=+n[(f[k>>2]|0)+b+24>>2];b=j<<2;p[(f[i>>2]|0)+128>>3]=+n[(f[k>>2]|0)+b>>2];p[(f[i>>2]|0)+136>>3]=+n[(f[k>>2]|0)+b+4>>2];p[(f[i>>2]|0)+144>>3]=+n[(f[k>>2]|0)+b+12>>2];p[(f[i>>2]|0)+152>>3]=+n[(f[k>>2]|0)+b+24>>2];b=j*5|0;p[(f[i>>2]|0)+160>>3]=+n[(f[k>>2]|0)+b>>2];p[(f[i>>2]|0)+168>>3]=+n[(f[k>>2]|0)+b+4>>2];p[(f[i>>2]|0)+176>>3]=+n[(f[k>>2]|0)+b+12>>2];l=+n[(f[k>>2]|0)+b+24>>2]}else{p[f[i>>2]>>3]=+p[f[k>>2]>>3];p[(f[i>>2]|0)+8>>3]=+p[(f[k>>2]|0)+8>>3];p[(f[i>>2]|0)+16>>3]=+p[(f[k>>2]|0)+24>>3];p[(f[i>>2]|0)+24>>3]=+p[(f[k>>2]|0)+48>>3];p[(f[i>>2]|0)+32>>3]=+p[(f[k>>2]|0)+j>>3];p[(f[i>>2]|0)+40>>3]=+p[(f[k>>2]|0)+j+8>>3];p[(f[i>>2]|0)+48>>3]=+p[(f[k>>2]|0)+j+24>>3];p[(f[i>>2]|0)+56>>3]=+p[(f[k>>2]|0)+j+48>>3];b=j<<1;p[(f[i>>2]|0)+64>>3]=+p[(f[k>>2]|0)+b>>3];p[(f[i>>2]|0)+72>>3]=+p[(f[k>>2]|0)+b+8>>3];p[(f[i>>2]|0)+80>>3]=+p[(f[k>>2]|0)+b+24>>3];p[(f[i>>2]|0)+88>>3]=+p[(f[k>>2]|0)+b+48>>3];b=j*3|0;p[(f[i>>2]|0)+96>>3]=+p[(f[k>>2]|0)+b>>3];p[(f[i>>2]|0)+104>>3]=+p[(f[k>>2]|0)+b+8>>3];p[(f[i>>2]|0)+112>>3]=+p[(f[k>>2]|0)+b+24>>3];p[(f[i>>2]|0)+120>>3]=+p[(f[k>>2]|0)+b+48>>3];b=j<<2;p[(f[i>>2]|0)+128>>3]=+p[(f[k>>2]|0)+b>>3];p[(f[i>>2]|0)+136>>3]=+p[(f[k>>2]|0)+b+8>>3];p[(f[i>>2]|0)+144>>3]=+p[(f[k>>2]|0)+b+24>>3];p[(f[i>>2]|0)+152>>3]=+p[(f[k>>2]|0)+b+48>>3];b=j*5|0;p[(f[i>>2]|0)+160>>3]=+p[(f[k>>2]|0)+b>>3];p[(f[i>>2]|0)+168>>3]=+p[(f[k>>2]|0)+b+8>>3];p[(f[i>>2]|0)+176>>3]=+p[(f[k>>2]|0)+b+24>>3];l=+p[(f[k>>2]|0)+b+48>>3]}p[(f[i>>2]|0)+184>>3]=l;XR(g,c,h,1)|0;l=+p[e>>3];if(l<0.0){m=+L(+-l);p[d>>3]=m;o=-+p[e+16>>3]/m;q=-+p[e+24>>3];r=m;s=-+p[e+8>>3]/m;t=d+8|0;p[t>>3]=s;v=d+16|0;p[v>>3]=o;w=q/r;x=d+24|0;p[x>>3]=w;u=a;return}else{m=+L(+l);p[d>>3]=m;o=+p[e+16>>3]/m;q=+p[e+24>>3];r=m;s=+p[e+8>>3]/m;t=d+8|0;p[t>>3]=s;v=d+16|0;p[v>>3]=o;w=q/r;x=d+24|0;p[x>>3]=w;u=a;return}}function fAa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0;e=u;u=u+368|0;g=e;h=e+328|0;i=e+300|0;j=e+272|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;f[h>>2]=1111638022;f[h+24>>2]=4;f[h+20>>2]=6;f[h+4>>2]=32;f[h+16>>2]=e+80;f[h+8>>2]=0;f[h+12>>2]=0;f[i>>2]=1111638022;f[i+24>>2]=1;f[i+20>>2]=6;f[i+4>>2]=8;f[i+16>>2]=e+32;f[i+8>>2]=0;f[i+12>>2]=0;f[j>>2]=1111638022;f[j+24>>2]=1;f[j+20>>2]=4;f[j+4>>2]=8;f[j+16>>2]=g;f[j+8>>2]=0;f[j+12>>2]=0;k=b+16|0;b=c+16|0;kAa(0,f[k>>2]|0,f[b>>2]|0,d,h,i);lAa(a,h,i,j);p[d>>3]=+p[g>>3]+ +p[d>>3];c=g+8|0;l=d+8|0;p[l>>3]=+p[c>>3]+ +p[l>>3];m=g+16|0;n=d+16|0;p[n>>3]=+p[m>>3]+ +p[n>>3];o=g+24|0;q=d+24|0;p[q>>3]=+p[o>>3]+ +p[q>>3];kAa(0,f[k>>2]|0,f[b>>2]|0,d,h,i);lAa(a,h,i,j);p[d>>3]=+p[g>>3]+ +p[d>>3];p[l>>3]=+p[c>>3]+ +p[l>>3];p[n>>3]=+p[m>>3]+ +p[n>>3];p[q>>3]=+p[o>>3]+ +p[q>>3];kAa(0,f[k>>2]|0,f[b>>2]|0,d,h,i);lAa(a,h,i,j);p[d>>3]=+p[g>>3]+ +p[d>>3];p[l>>3]=+p[c>>3]+ +p[l>>3];p[n>>3]=+p[m>>3]+ +p[n>>3];p[q>>3]=+p[o>>3]+ +p[q>>3];kAa(0,f[k>>2]|0,f[b>>2]|0,d,h,i);lAa(a,h,i,j);p[d>>3]=+p[g>>3]+ +p[d>>3];p[l>>3]=+p[c>>3]+ +p[l>>3];p[n>>3]=+p[m>>3]+ +p[n>>3];p[q>>3]=+p[o>>3]+ +p[q>>3];kAa(0,f[k>>2]|0,f[b>>2]|0,d,h,i);lAa(a,h,i,j);p[d>>3]=+p[g>>3]+ +p[d>>3];p[l>>3]=+p[c>>3]+ +p[l>>3];p[n>>3]=+p[m>>3]+ +p[n>>3];p[q>>3]=+p[o>>3]+ +p[q>>3];u=e;return}function gAa(a){a=a|0;var b=0,c=0,d=0,e=0;b=f[a+68>>2]|0;if(!(+p[b+16>>3]<0.0))return;c=a+184|0;p[c>>3]=-+p[c>>3];c=a+192|0;p[c>>3]=-+p[c>>3];c=a+200|0;p[c>>3]=-+p[c>>3];c=a+208|0;p[c>>3]=-+p[c>>3];c=a+216|0;p[c>>3]=-+p[c>>3];c=a+224|0;p[c>>3]=-+p[c>>3];c=a+232|0;p[c>>3]=-+p[c>>3];c=a+240|0;p[c>>3]=-+p[c>>3];c=a+248|0;p[c>>3]=-+p[c>>3];c=a+256|0;p[c>>3]=-+p[c>>3];c=a+264|0;p[c>>3]=-+p[c>>3];c=a+272|0;p[c>>3]=-+p[c>>3];c=f[a+80>>2]|0;if((c|0)>0)d=0;else return;do{a=d*3|0;e=b+(a<<3)|0;p[e>>3]=-+p[e>>3];e=b+(a+1<<3)|0;p[e>>3]=-+p[e>>3];e=b+(a+2<<3)|0;p[e>>3]=-+p[e>>3];d=d+1|0}while((d|0)<(c|0));return}function hAa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0,Q=0,R=0.0,S=0.0,T=0.0,U=0,V=0,W=0,X=0,Y=0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0.0,ta=0.0,ua=0.0,va=0.0,wa=0,xa=0.0,ya=0.0,za=0.0,Aa=0.0,Ba=0.0,Ca=0.0,Da=0.0,Ea=0.0,Fa=0.0,Ga=0.0,Ha=0;d=u;u=u+400|0;e=d+264|0;g=d+240|0;h=d+168|0;i=d+144|0;j=d+72|0;k=d;l=d+372|0;m=d+344|0;n=d+316|0;o=d+288|0;q=e+16|0;r=e+8|0;s=g+16|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;t=g+8|0;v=a+80|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;w=f[v>>2]|0;if((w|0)>0){x=f[a+68>>2]|0;y=f[a+32>>2]|0;z=0;A=0.0;B=0.0;C=0.0;D=0.0;E=0.0;F=0.0;do{G=z*3|0;H=x+(G<<3)|0;I=y+(G<<3)|0;A=+p[H>>3]+A;B=+p[I>>3]+B;C=+p[H+8>>3]+C;D=+p[I+8>>3]+D;E=+p[H+16>>3]+E;F=+p[I+16>>3]+F;z=z+1|0}while((z|0)<(w|0));p[e>>3]=A;p[g>>3]=B;p[r>>3]=C;p[t>>3]=D;p[q>>3]=E;p[s>>3]=F;J=A;K=B;L=C;M=D;N=E;O=F}else{J=0.0;K=0.0;L=0.0;M=0.0;N=0.0;O=0.0}F=+(w|0);E=J/F;p[e>>3]=E;J=K/F;p[g>>3]=J;K=L/F;p[r>>3]=K;L=M/F;p[t>>3]=L;M=N/F;p[q>>3]=M;N=O/F;p[s>>3]=N;w=h;z=w+72|0;do{f[w>>2]=0;w=w+4|0}while((w|0)<(z|0));f[l>>2]=1111638022;f[l+24>>2]=3;f[l+20>>2]=3;f[l+4>>2]=24;f[l+16>>2]=h;f[l+8>>2]=0;f[l+12>>2]=0;f[m>>2]=1111638022;f[m+24>>2]=1;f[m+20>>2]=3;f[m+4>>2]=8;f[m+16>>2]=i;f[m+8>>2]=0;f[m+12>>2]=0;f[n>>2]=1111638022;f[n+24>>2]=3;f[n+20>>2]=3;f[n+4>>2]=24;f[n+16>>2]=j;f[n+8>>2]=0;f[n+12>>2]=0;f[o>>2]=1111638022;f[o+24>>2]=3;f[o+20>>2]=3;f[o+4>>2]=24;f[o+16>>2]=k;f[o+8>>2]=0;f[o+12>>2]=0;pM(l);i=f[v>>2]|0;if((i|0)>0){v=f[a+68>>2]|0;w=f[a+32>>2]|0;a=h+8|0;z=h+16|0;y=h+24|0;x=h+32|0;I=h+40|0;H=h+48|0;G=h+56|0;P=h+64|0;Q=0;F=+p[h>>3];O=+p[a>>3];D=+p[z>>3];C=+p[y>>3];B=+p[x>>3];A=+p[I>>3];R=+p[H>>3];S=+p[G>>3];T=+p[P>>3];do{U=Q*3|0;V=v+(U<<3)|0;W=w+(U<<3)|0;U=W+8|0;X=W+16|0;F=F+(+p[V>>3]-E)*(+p[W>>3]-J);p[h>>3]=F;O=O+(+p[V>>3]-E)*(+p[U>>3]-L);p[a>>3]=O;D=D+(+p[V>>3]-E)*(+p[X>>3]-N);p[z>>3]=D;Y=V+8|0;C=C+(+p[Y>>3]-K)*(+p[W>>3]-J);p[y>>3]=C;B=B+(+p[Y>>3]-K)*(+p[U>>3]-L);p[x>>3]=B;A=A+(+p[Y>>3]-K)*(+p[X>>3]-N);p[I>>3]=A;Y=V+16|0;R=R+(+p[Y>>3]-M)*(+p[W>>3]-J);p[H>>3]=R;S=S+(+p[Y>>3]-M)*(+p[U>>3]-L);p[G>>3]=S;T=T+(+p[Y>>3]-M)*(+p[X>>3]-N);p[P>>3]=T;Q=Q+1|0}while((Q|0)<(i|0))}YR(l,m,n,o,1);T=+p[j>>3];N=+p[j+8>>3];M=+p[j+16>>3];S=+p[k>>3];L=+p[k+8>>3];R=+p[k+16>>3];J=T*S+N*L+M*R;p[b>>3]=J;A=+p[k+24>>3];K=+p[k+32>>3];B=+p[k+40>>3];C=T*A+N*K+M*B;p[b+8>>3]=C;D=+p[k+48>>3];E=+p[k+56>>3];O=+p[k+64>>3];F=T*D+N*E+M*O;p[b+16>>3]=F;M=+p[j+24>>3];N=+p[j+32>>3];T=+p[j+40>>3];Z=M*S+N*L+T*R;k=b+24|0;p[k>>3]=Z;_=M*A+N*K+T*B;o=b+32|0;p[o>>3]=_;$=M*D+N*E+T*O;n=b+40|0;p[n>>3]=$;T=+p[j+48>>3];N=+p[j+56>>3];M=+p[j+64>>3];aa=T*S+N*L+M*R;j=b+48|0;p[j>>3]=aa;R=T*A+N*K+M*B;m=b+56|0;p[m>>3]=R;B=T*D+N*E+M*O;l=b+64|0;p[l>>3]=B;if(!(J*_*B+C*$*aa+F*Z*R-aa*(_*F)-B*(C*Z)-J*$*R<0.0)){ba=+p[e>>3];ca=+p[b>>3];da=+p[g>>3];ea=ca*da;fa=+p[t>>3];ga=C*fa;ha=ea+ga;ia=+p[s>>3];ja=F*ia;ka=ha+ja;la=ba-ka;p[c>>3]=la;ma=+p[r>>3];na=+p[k>>3];oa=na*da;pa=+p[o>>3];qa=pa*fa;ra=oa+qa;sa=+p[n>>3];ta=sa*ia;ua=ra+ta;va=ma-ua;wa=c+8|0;p[wa>>3]=va;xa=+p[q>>3];ya=+p[j>>3];za=ya*da;Aa=+p[m>>3];Ba=Aa*fa;Ca=za+Ba;Da=+p[l>>3];Ea=Da*ia;Fa=Ca+Ea;Ga=xa-Fa;Ha=c+16|0;p[Ha>>3]=Ga;u=d;return}p[j>>3]=-aa;p[m>>3]=-R;p[l>>3]=-B;ba=+p[e>>3];ca=+p[b>>3];da=+p[g>>3];ea=ca*da;fa=+p[t>>3];ga=C*fa;ha=ea+ga;ia=+p[s>>3];ja=F*ia;ka=ha+ja;la=ba-ka;p[c>>3]=la;ma=+p[r>>3];na=+p[k>>3];oa=na*da;pa=+p[o>>3];qa=pa*fa;ra=oa+qa;sa=+p[n>>3];ta=sa*ia;ua=ra+ta;va=ma-ua;wa=c+8|0;p[wa>>3]=va;xa=+p[q>>3];ya=+p[j>>3];za=ya*da;Aa=+p[m>>3];Ba=Aa*fa;Ca=za+Ba;Da=+p[l>>3];Ea=Da*ia;Fa=Ca+Ea;Ga=xa-Fa;Ha=c+16|0;p[Ha>>3]=Ga;u=d;return}function iAa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0.0,r=0,s=0.0,t=0.0,v=0.0,w=0.0,x=0;a=u;u=u+224|0;e=a+24|0;g=a;h=a+196|0;i=a+168|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[h>>2]=1111638022;f[h+24>>2]=3;f[h+20>>2]=6;f[h+4>>2]=24;j=h+16|0;f[j>>2]=e;f[h+8>>2]=0;f[h+12>>2]=0;f[i>>2]=1111638022;f[i+24>>2]=1;f[i+20>>2]=3;f[i+4>>2]=8;f[i+16>>2]=g;f[i+8>>2]=0;f[i+12>>2]=0;k=f[b+4>>2]|0;l=b+16|0;m=f[l>>2]|0;if((f[b>>2]&4095|0)==5){p[e>>3]=+n[m>>2];p[e+8>>3]=+n[m+4>>2];p[e+16>>3]=+n[m+8>>2];b=f[j>>2]|0;p[b+24>>3]=+n[m+k>>2];p[b+32>>3]=+n[(f[l>>2]|0)+k+4>>2];p[b+40>>3]=+n[(f[l>>2]|0)+k+8>>2];o=k<<1;p[b+48>>3]=+n[(f[l>>2]|0)+o>>2];p[b+56>>3]=+n[(f[l>>2]|0)+o+4>>2];p[b+64>>3]=+n[(f[l>>2]|0)+o+8>>2];o=k*3|0;p[b+72>>3]=+n[(f[l>>2]|0)+o>>2];p[b+80>>3]=+n[(f[l>>2]|0)+o+4>>2];p[b+88>>3]=+n[(f[l>>2]|0)+o+8>>2];o=k<<2;p[b+96>>3]=+n[(f[l>>2]|0)+o>>2];p[b+104>>3]=+n[(f[l>>2]|0)+o+4>>2];p[b+112>>3]=+n[(f[l>>2]|0)+o+8>>2];o=k*5|0;p[b+120>>3]=+n[(f[l>>2]|0)+o>>2];p[b+128>>3]=+n[(f[l>>2]|0)+o+4>>2];q=+n[(f[l>>2]|0)+o+8>>2];r=b}else{p[e>>3]=+p[m>>3];p[e+8>>3]=+p[m+8>>3];p[e+16>>3]=+p[m+16>>3];e=f[j>>2]|0;p[e+24>>3]=+p[m+k>>3];p[e+32>>3]=+p[(f[l>>2]|0)+k+8>>3];p[e+40>>3]=+p[(f[l>>2]|0)+k+16>>3];m=k<<1;p[e+48>>3]=+p[(f[l>>2]|0)+m>>3];p[e+56>>3]=+p[(f[l>>2]|0)+m+8>>3];p[e+64>>3]=+p[(f[l>>2]|0)+m+16>>3];m=k*3|0;p[e+72>>3]=+p[(f[l>>2]|0)+m>>3];p[e+80>>3]=+p[(f[l>>2]|0)+m+8>>3];p[e+88>>3]=+p[(f[l>>2]|0)+m+16>>3];m=k<<2;p[e+96>>3]=+p[(f[l>>2]|0)+m>>3];p[e+104>>3]=+p[(f[l>>2]|0)+m+8>>3];p[e+112>>3]=+p[(f[l>>2]|0)+m+16>>3];m=k*5|0;p[e+120>>3]=+p[(f[l>>2]|0)+m>>3];p[e+128>>3]=+p[(f[l>>2]|0)+m+8>>3];q=+p[(f[l>>2]|0)+m+16>>3];r=e}p[r+136>>3]=q;XR(h,c,i,1)|0;q=+p[g>>3];if(q<0.0){s=+L(+-q);p[d>>3]=s;t=+p[g+16>>3];if(t<0.0){v=+L(+-t);w=s}else{v=0.0;w=s}}else{s=+L(+q);p[d>>3]=s;q=+p[g+16>>3];if(q>0.0){v=+L(+q);w=s}else{v=0.0;w=s}}p[d+8>>3]=v;if(!(+p[g+8>>3]<0.0)){x=d+16|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;u=a;return}p[d>>3]=-w;x=d+16|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;u=a;return}function jAa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0.0,m=0.0,o=0.0,q=0.0,r=0.0,s=0.0,t=0,v=0.0,w=0.0,x=0,y=0;a=u;u=u+336|0;e=a+40|0;g=a;h=a+308|0;i=a+280|0;j=g;k=j+40|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[h>>2]=1111638022;f[h+24>>2]=5;f[h+20>>2]=6;f[h+4>>2]=40;j=h+16|0;f[j>>2]=e;f[h+8>>2]=0;f[h+12>>2]=0;f[i>>2]=1111638022;f[i+24>>2]=1;f[i+20>>2]=5;f[i+4>>2]=8;f[i+16>>2]=g;f[i+8>>2]=0;f[i+12>>2]=0;e=f[b+4>>2]|0;k=b+16|0;if((f[b>>2]&4095|0)==5){p[f[j>>2]>>3]=+n[f[k>>2]>>2];p[(f[j>>2]|0)+8>>3]=+n[(f[k>>2]|0)+4>>2];p[(f[j>>2]|0)+16>>3]=+n[(f[k>>2]|0)+8>>2];p[(f[j>>2]|0)+24>>3]=+n[(f[k>>2]|0)+12>>2];p[(f[j>>2]|0)+32>>3]=+n[(f[k>>2]|0)+16>>2];p[(f[j>>2]|0)+40>>3]=+n[(f[k>>2]|0)+e>>2];p[(f[j>>2]|0)+48>>3]=+n[(f[k>>2]|0)+e+4>>2];p[(f[j>>2]|0)+56>>3]=+n[(f[k>>2]|0)+e+8>>2];p[(f[j>>2]|0)+64>>3]=+n[(f[k>>2]|0)+e+12>>2];p[(f[j>>2]|0)+72>>3]=+n[(f[k>>2]|0)+e+16>>2];b=e<<1;p[(f[j>>2]|0)+80>>3]=+n[(f[k>>2]|0)+b>>2];p[(f[j>>2]|0)+88>>3]=+n[(f[k>>2]|0)+b+4>>2];p[(f[j>>2]|0)+96>>3]=+n[(f[k>>2]|0)+b+8>>2];p[(f[j>>2]|0)+104>>3]=+n[(f[k>>2]|0)+b+12>>2];p[(f[j>>2]|0)+112>>3]=+n[(f[k>>2]|0)+b+16>>2];b=e*3|0;p[(f[j>>2]|0)+120>>3]=+n[(f[k>>2]|0)+b>>2];p[(f[j>>2]|0)+128>>3]=+n[(f[k>>2]|0)+b+4>>2];p[(f[j>>2]|0)+136>>3]=+n[(f[k>>2]|0)+b+8>>2];p[(f[j>>2]|0)+144>>3]=+n[(f[k>>2]|0)+b+12>>2];p[(f[j>>2]|0)+152>>3]=+n[(f[k>>2]|0)+b+16>>2];b=e<<2;p[(f[j>>2]|0)+160>>3]=+n[(f[k>>2]|0)+b>>2];p[(f[j>>2]|0)+168>>3]=+n[(f[k>>2]|0)+b+4>>2];p[(f[j>>2]|0)+176>>3]=+n[(f[k>>2]|0)+b+8>>2];p[(f[j>>2]|0)+184>>3]=+n[(f[k>>2]|0)+b+12>>2];p[(f[j>>2]|0)+192>>3]=+n[(f[k>>2]|0)+b+16>>2];b=e*5|0;p[(f[j>>2]|0)+200>>3]=+n[(f[k>>2]|0)+b>>2];p[(f[j>>2]|0)+208>>3]=+n[(f[k>>2]|0)+b+4>>2];p[(f[j>>2]|0)+216>>3]=+n[(f[k>>2]|0)+b+8>>2];p[(f[j>>2]|0)+224>>3]=+n[(f[k>>2]|0)+b+12>>2];l=+n[(f[k>>2]|0)+b+16>>2]}else{p[f[j>>2]>>3]=+p[f[k>>2]>>3];p[(f[j>>2]|0)+8>>3]=+p[(f[k>>2]|0)+8>>3];p[(f[j>>2]|0)+16>>3]=+p[(f[k>>2]|0)+16>>3];p[(f[j>>2]|0)+24>>3]=+p[(f[k>>2]|0)+24>>3];p[(f[j>>2]|0)+32>>3]=+p[(f[k>>2]|0)+32>>3];p[(f[j>>2]|0)+40>>3]=+p[(f[k>>2]|0)+e>>3];p[(f[j>>2]|0)+48>>3]=+p[(f[k>>2]|0)+e+8>>3];p[(f[j>>2]|0)+56>>3]=+p[(f[k>>2]|0)+e+16>>3];p[(f[j>>2]|0)+64>>3]=+p[(f[k>>2]|0)+e+24>>3];p[(f[j>>2]|0)+72>>3]=+p[(f[k>>2]|0)+e+32>>3];b=e<<1;p[(f[j>>2]|0)+80>>3]=+p[(f[k>>2]|0)+b>>3];p[(f[j>>2]|0)+88>>3]=+p[(f[k>>2]|0)+b+8>>3];p[(f[j>>2]|0)+96>>3]=+p[(f[k>>2]|0)+b+16>>3];p[(f[j>>2]|0)+104>>3]=+p[(f[k>>2]|0)+b+24>>3];p[(f[j>>2]|0)+112>>3]=+p[(f[k>>2]|0)+b+32>>3];b=e*3|0;p[(f[j>>2]|0)+120>>3]=+p[(f[k>>2]|0)+b>>3];p[(f[j>>2]|0)+128>>3]=+p[(f[k>>2]|0)+b+8>>3];p[(f[j>>2]|0)+136>>3]=+p[(f[k>>2]|0)+b+16>>3];p[(f[j>>2]|0)+144>>3]=+p[(f[k>>2]|0)+b+24>>3];p[(f[j>>2]|0)+152>>3]=+p[(f[k>>2]|0)+b+32>>3];b=e<<2;p[(f[j>>2]|0)+160>>3]=+p[(f[k>>2]|0)+b>>3];p[(f[j>>2]|0)+168>>3]=+p[(f[k>>2]|0)+b+8>>3];p[(f[j>>2]|0)+176>>3]=+p[(f[k>>2]|0)+b+16>>3];p[(f[j>>2]|0)+184>>3]=+p[(f[k>>2]|0)+b+24>>3];p[(f[j>>2]|0)+192>>3]=+p[(f[k>>2]|0)+b+32>>3];b=e*5|0;p[(f[j>>2]|0)+200>>3]=+p[(f[k>>2]|0)+b>>3];p[(f[j>>2]|0)+208>>3]=+p[(f[k>>2]|0)+b+8>>3];p[(f[j>>2]|0)+216>>3]=+p[(f[k>>2]|0)+b+16>>3];p[(f[j>>2]|0)+224>>3]=+p[(f[k>>2]|0)+b+24>>3];l=+p[(f[k>>2]|0)+b+32>>3]}p[(f[j>>2]|0)+232>>3]=l;XR(h,c,i,1)|0;l=+p[g>>3];if(l<0.0){m=+L(+-l);p[d>>3]=m;o=+p[g+16>>3];if(o<0.0){q=+L(+-o);r=m}else{q=0.0;r=m}}else{m=+L(+l);p[d>>3]=m;l=+p[g+16>>3];if(l>0.0){q=+L(+l);r=m}else{q=0.0;r=m}}p[d+8>>3]=q;if(!(+p[g+8>>3]<0.0)){s=r;t=g+24|0;v=+p[t>>3];w=v/s;x=d+16|0;p[x>>3]=w;y=d+24|0;p[y>>3]=0.0;u=a;return}q=-r;p[d>>3]=q;s=q;t=g+24|0;v=+p[t>>3];w=v/s;x=d+16|0;p[x>>3]=w;y=d+24|0;p[y>>3]=0.0;u=a;return}function kAa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;a=e+16|0;e=d+8|0;h=d+16|0;i=d+24|0;j=g+16|0;k=g+4|0;l=0;do{m=b+(l*10<<3)|0;o=(f[a>>2]|0)+(l<<2<<3)|0;q=m+8|0;r=m+24|0;s=m+48|0;p[o>>3]=+p[m>>3]*2.0*+p[d>>3]+ +p[q>>3]*+p[e>>3]+ +p[r>>3]*+p[h>>3]+ +p[s>>3]*+p[i>>3];t=m+16|0;u=m+32|0;v=m+56|0;p[o+8>>3]=+p[q>>3]*+p[d>>3]+ +p[t>>3]*2.0*+p[e>>3]+ +p[u>>3]*+p[h>>3]+ +p[v>>3]*+p[i>>3];w=m+40|0;x=m+64|0;p[o+16>>3]=+p[r>>3]*+p[d>>3]+ +p[u>>3]*+p[e>>3]+ +p[w>>3]*2.0*+p[h>>3]+ +p[x>>3]*+p[i>>3];y=m+72|0;p[o+24>>3]=+p[s>>3]*+p[d>>3]+ +p[v>>3]*+p[e>>3]+ +p[x>>3]*+p[h>>3]+ +p[y>>3]*2.0*+p[i>>3];z=+p[d>>3];A=+p[e>>3];B=+p[h>>3];C=+p[i>>3];D=+p[c+(l<<3)>>3]-(z*(+p[m>>3]*z)+z*+p[q>>3]*A+A*(A*+p[t>>3])+z*+p[r>>3]*B+B*(A*+p[u>>3])+B*(B*+p[w>>3])+z*+p[s>>3]*C+C*(A*+p[v>>3])+C*(B*+p[x>>3])+C*(C*+p[y>>3]));if((f[g>>2]&4095|0)==5){y=(f[j>>2]|0)+(X(f[k>>2]|0,l)|0)|0;n[y>>2]=D}else{y=(f[j>>2]|0)+(X(f[k>>2]|0,l)|0)|0;p[y>>3]=D}l=l+1|0}while((l|0)!=6);return}function lAa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,q=0,r=0.0,s=0.0,t=0,u=0.0,v=0,w=0,x=0.0,y=0,z=0.0,A=0,B=0.0,C=0.0,D=0.0,E=0,F=0,G=0,H=0,I=0,J=0.0;e=f[b+20>>2]|0;g=f[b+24>>2]|0;if((e|0)<1|(g|0)<1)return;h=a+280|0;i=f[h>>2]|0;if((i|0)!=0&(i|0)<(e|0)){i=f[a+284>>2]|0;if(i|0)HQa(i);i=f[a+288>>2]|0;if(i|0)HQa(i)}if((f[h>>2]|0)<(e|0)){f[h>>2]=e;h=e>>>0>536870911?-1:e<<3;i=FQa(h)|0;f[a+284>>2]=i;i=FQa(h)|0;f[a+288>>2]=i}i=f[b+16>>2]|0;b=(g|0)>0;if(b){h=a+284|0;j=a+288|0;k=g+1|0;l=i;m=0;while(1){n=+p[l>>3];o=+K(+n);q=m+1|0;if((q|0)<(e|0)){r=+K(+n);s=o>3]));x=r>3]=x;s=x*x+0.0;v=m+1|0;if((v|0)==(e|0))z=s;else{t=l;x=s;A=v;while(1){t=t+(g<<3)|0;s=r*+p[t>>3];p[t>>3]=s;B=x+s*s;A=A+1|0;if((A|0)==(e|0)){z=B;break}else x=B}}C=z;D=+p[l>>3]}else{C=0.0;D=n}x=+L(+C);r=D<0.0?-x:x;x=D+r;p[l>>3]=x;A=(f[h>>2]|0)+(m<<3)|0;p[A>>3]=r*x;p[(f[j>>2]|0)+(m<<3)>>3]=-(u*r);t=(q|0)<(g|0);if(!t)break;if(w){v=q;do{E=v-m|0;F=m;r=0.0;G=l;while(1){r=r+ +p[G>>3]*+p[G+(E<<3)>>3];F=F+1|0;if((F|0)==(e|0))break;else G=G+(g<<3)|0}x=r/+p[A>>3];G=m;F=l;while(1){H=F+(E<<3)|0;p[H>>3]=+p[H>>3]-x*+p[F>>3];G=G+1|0;if((G|0)==(e|0))break;else F=F+(g<<3)|0}v=v+1|0}while((v|0)!=(g|0));if(!t)break}l=l+(k<<3)|0;m=q}if((y|0)==29){p[(f[j>>2]|0)+(m<<3)>>3]=0.0;p[(f[h>>2]|0)+(m<<3)>>3]=0.0;return}m=f[c+16>>2]|0;if(b){b=f[a+284>>2]|0;h=g+1|0;j=0;y=i;while(1){k=(j|0)<(e|0);if(k){l=j;u=0.0;v=y;while(1){u=u+ +p[v>>3]*+p[m+(l<<3)>>3];l=l+1|0;if((l|0)==(e|0))break;else v=v+(g<<3)|0}D=u/+p[b+(j<<3)>>3];if(k){v=j;l=y;while(1){q=m+(v<<3)|0;p[q>>3]=+p[q>>3]-D*+p[l>>3];v=v+1|0;if((v|0)==(e|0))break;else l=l+(g<<3)|0}}}j=j+1|0;if((j|0)==(g|0)){I=m;break}else y=y+(h<<3)|0}}else I=m}else I=f[c+16>>2]|0;c=f[d+16>>2]|0;d=g+-1|0;m=f[a+288>>2]|0;p[c+(d<<3)>>3]=+p[I+(d<<3)>>3]/+p[m+(d<<3)>>3];if((g|0)<=1)return;d=g+-2|0;while(1){a=d+1|0;if((a|0)<(g|0)){D=0.0;h=i+((X(d,g)|0)<<3)+(a<<3)|0;y=a;while(1){u=D+ +p[h>>3]*+p[c+(y<<3)>>3];y=y+1|0;if((y|0)==(g|0)){J=u;break}else{D=u;h=h+8|0}}}else J=0.0;p[c+(d<<3)>>3]=(+p[I+(d<<3)>>3]-J)/+p[m+(d<<3)>>3];if((d|0)>0)d=d+-1|0;else break}return}function mAa(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0,H=0,I=0,J=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,V=0,W=0,Y=0,Z=0.0,_=0,$=0.0,aa=0.0,ba=0,ca=0,da=0.0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0.0,wa=0,xa=0.0,ya=0.0,za=0.0,Aa=0.0,Ba=0.0,Ca=0,Da=0.0,Ea=0,Fa=0.0,Ga=0.0,Ha=0.0,Ia=0.0,Ja=0.0,Ka=0.0,La=0.0,Ma=0.0,Na=0.0,Oa=0,Pa=0,Qa=0,Ra=0;h=u;u=u+288|0;i=h+264|0;j=h+256|0;k=h+200|0;l=h+144|0;m=h+72|0;o=h+16|0;q=h+136|0;r=h+128|0;t=h;yV(j,101544);v=f[d>>2]|0;w=v<<1;x=w|1;y=d+4|0;z=f[y>>2]<<1|1;A=f[g>>2]|0;if(!(A&1))B=100;else{C=f[g+4>>2]|0;D=(C|0)>1?C:1;B=(D|0)<100?D:100}if((A&2|0)!=0?(E=+p[g+8>>3],!(E<0.0)):0)F=E;else F=0.0;E=F*F;do if((HJ(a)|0)==65536){g=f[a+4>>2]|0;f[k>>2]=f[g>>2];A=k+4|0;D=g+4|0;f[A>>2]=f[D>>2];C=k+8|0;f[C>>2]=f[g+8>>2];f[k+12>>2]=f[g+12>>2];f[k+16>>2]=f[g+16>>2];f[k+20>>2]=f[g+20>>2];f[k+24>>2]=f[g+24>>2];f[k+28>>2]=f[g+28>>2];f[k+32>>2]=f[g+32>>2];G=f[g+36>>2]|0;f[k+36>>2]=G;f[k+40>>2]=C;C=k+48|0;H=k+44|0;f[H>>2]=C;f[C>>2]=0;f[k+52>>2]=0;if(G|0){C=G+12|0;f[C>>2]=(f[C>>2]|0)+1}if((f[D>>2]|0)<3){D=f[g+44>>2]|0;C=f[H>>2]|0;f[C>>2]=f[D>>2];f[C+4>>2]=f[D+4>>2];break}else{f[A>>2]=0;WO(k,g);break}}else DJ(k,a,-1);while(0);do if((HJ(c)|0)==65536){a=f[c+4>>2]|0;f[l>>2]=f[a>>2];g=l+4|0;A=a+4|0;f[g>>2]=f[A>>2];D=l+8|0;f[D>>2]=f[a+8>>2];f[l+12>>2]=f[a+12>>2];f[l+16>>2]=f[a+16>>2];f[l+20>>2]=f[a+20>>2];f[l+24>>2]=f[a+24>>2];f[l+28>>2]=f[a+28>>2];f[l+32>>2]=f[a+32>>2];C=f[a+36>>2]|0;f[l+36>>2]=C;f[l+40>>2]=D;D=l+48|0;H=l+44|0;f[H>>2]=D;f[D>>2]=0;f[l+52>>2]=0;if(C|0){D=C+12|0;f[D>>2]=(f[D>>2]|0)+1}if((f[A>>2]|0)<3){A=f[a+44>>2]|0;D=f[H>>2]|0;f[D>>2]=f[A>>2];f[D+4>>2]=f[A+4>>2];break}else{f[g>>2]=0;WO(l,a);break}}else DJ(l,c,-1);while(0);c=jP(l,2,5,1)|0;if((c|0)>-1){a=l+16|0;g=l+44|0;if(!c){I=a;J=g}else{L=a;M=g;N=23}}else{f[i>>2]=0;f[i+4>>2]=0;O=JV(i,10)|0;P=441525;Q=O+10|0;do{b[O>>0]=b[P>>0]|0;O=O+1|0;P=P+1|0}while((O|0)<(Q|0));EP(-215,i,441536,441549,58);KV(i);L=l+16|0;M=l+44|0;N=23}if((N|0)==23){N=f[L>>2]|0;g=f[d>>2]|0;if((g|0)>0?(f[y>>2]|0)>0:0)R=g;else{f[i>>2]=0;f[i+4>>2]=0;O=JV(i,31)|0;P=441613;Q=O+31|0;do{b[O>>0]=b[P>>0]|0;O=O+1|0;P=P+1|0}while((O|0)<(Q|0));EP(-215,i,441536,441549,64);KV(i);R=f[d>>2]|0}g=k+12|0;if(!((f[g>>2]|0)>=((R<<1)+5|0)?(f[k+8>>2]|0)>=((f[y>>2]<<1)+5|0):0)){f[i>>2]=0;f[i+4>>2]=0;O=JV(i,59)|0;P=441645;Q=O+59|0;do{b[O>>0]=b[P>>0]|0;O=O+1|0;P=P+1|0}while((O|0)<(Q|0));EP(-215,i,441536,441549,65);KV(i)}if(f[k>>2]&4088|0){f[i>>2]=0;f[i+4>>2]=0;O=JV(i,19)|0;P=441705;Q=O+19|0;do{b[O>>0]=b[P>>0]|0;O=O+1|0;P=P+1|0}while((O|0)<(Q|0));EP(-215,i,441536,441549,66);KV(i)}f[m>>2]=1124007936;P=m+4|0;R=m+8|0;a=m+40|0;O=P;Q=O+36|0;do{f[O>>2]=0;O=O+4|0}while((O|0)<(Q|0));f[a>>2]=R;R=m+48|0;A=m+44|0;f[A>>2]=R;f[R>>2]=0;f[m+52>>2]=0;f[i>>2]=z;D=i+4|0;f[D>>2]=x;VO(m,2,i,5);H=z+2|0;C=x+2|0;f[o>>2]=1124007936;G=o+4|0;S=o+8|0;T=o+40|0;O=G;Q=O+36|0;do{f[O>>2]=0;O=O+4|0}while((O|0)<(Q|0));f[T>>2]=S;S=o+48|0;O=o+44|0;f[O>>2]=S;f[S>>2]=0;f[o+52>>2]=0;f[i>>2]=H;f[D>>2]=C;VO(o,2,i,5);D=m+16|0;Q=f[D>>2]|0;V=(z|0)>0;if(V?(W=f[y>>2]|0,F=+(W|0),(x|0)>0):0){Y=f[d>>2]|0;Z=+(Y|0);_=0;do{$=+(_-W|0)/F;aa=+U(+-($*$));ba=X(_,x)|0;ca=0;do{$=+(ca-Y|0)/Z;da=aa*+U(+-($*$));n[Q+(ca+ba<<2)>>2]=da;ca=ca+1|0}while((ca|0)!=(x|0));_=_+1|0}while((_|0)!=(z|0))}_=f[e>>2]|0;if(((((((_|0)>-1?(Y=f[e+4>>2]|0,(Y|0)>-1):0)?(_<<1|1|0)<(x|0):0)?(Y<<1|1|0)<(z|0):0)?(W=f[y>>2]|0,ca=W-Y|0,ba=Y+W|0,(ca|0)<=(ba|0)):0)?(W=f[d>>2]|0,Y=W-_|0,(Y|0)<=(_+W|0)):0)?(ea=Q+(W+(X(ca,x)|0)-_<<2)|0,fa=v<<3|4,v=_+1-W|0,ga=_+W|0,FVa(ea|0,0,v+((ga|0)>(Y|0)?ga:Y)<<2|0)|0,(ca|0)<(ba|0)):0){ga=ca;ca=0;do{ca=ca+1|0;ga=ga+1|0;W=ea+(X(fa,ca)|0)|0;_=(f[e>>2]|0)+(f[d>>2]|0)|0;FVa(W|0,0,v+((_|0)>(Y|0)?_:Y)<<2|0)|0}while((ga|0)<(ba|0))}if((c|0)>0){ba=i+8|0;ga=i+12|0;Y=i+4|0;v=q+4|0;e=r+4|0;ca=t+8|0;fa=t+4|0;ea=o+16|0;_=(x|0)>0;W=-2-x|0;ha=k+8|0;ia=w|1;w=0;do{ja=N+(w<<3)|0;ka=f[ja>>2]|0;la=N+(w<<3)+4|0;ma=f[la>>2]|0;na=0;oa=ka;pa=ma;while(1){f[ba>>2]=0;f[ga>>2]=0;f[i>>2]=16842752;f[Y>>2]=k;f[q>>2]=C;f[v>>2]=H;f[r>>2]=oa;f[e>>2]=pa;qa=ca;f[qa>>2]=0;f[qa+4>>2]=0;f[t>>2]=33619968;f[fa>>2]=o;nAa(i,q,r,t,f[o>>2]&4095);if(V?(qa=f[y>>2]|0,_):0){ra=f[d>>2]|0;sa=0;ta=(f[ea>>2]|0)+(f[f[O>>2]>>2]|0)+4|0;Z=0.0;F=0.0;aa=0.0;da=0.0;$=0.0;ua=0;while(1){va=+(ua-qa|0);wa=sa;xa=Z;ya=F;za=aa;Aa=da;Ba=$;Ca=0;while(1){Da=+n[Q+(wa<<2)>>2];Ea=Ca;Ca=Ca+1|0;Fa=+n[ta+(Ca<<2)>>2]-+n[ta+(Ea+-1<<2)>>2];Ga=+n[ta+(C+Ea<<2)>>2]-+n[ta+(W+Ea<<2)>>2];Ha=Fa*Fa*Da;Ia=Fa*Ga*Da;Fa=Ga*Ga*Da;Da=+(Ea-ra|0);Ba=Ba+Ha;Aa=Aa+Ia;za=za+Fa;ya=ya+(Ha*Da+Ia*va);xa=xa+(Ia*Da+Fa*va);if((Ca|0)==(x|0))break;else wa=wa+1|0}ua=ua+1|0;if((ua|0)==(z|0)){Ja=xa;Ka=ya;La=za;Ma=Aa;Na=Ba;break}else{sa=ia+sa|0;ta=ta+(C<<2)|0;Z=xa;F=ya;aa=za;da=Aa;$=Ba}}}else{Ja=0.0;Ka=0.0;La=0.0;Ma=0.0;Na=0.0}$=Na*La-Ma*Ma;if(+K(+$)<=4.930380657631324e-32){Oa=oa;Pa=pa;break}da=1.0/$;$=(f[s>>2]=oa,+n[s>>2]);aa=Ma*da;F=Ka*(La*da)+$-Ja*aa;ta=(n[s>>2]=F,f[s>>2]|0);Z=(f[s>>2]=pa,+n[s>>2]);va=Ja*(Na*da)+(Z-Ka*aa);sa=(n[s>>2]=va,f[s>>2]|0);aa=F-$;$=va-Z;if(F<0.0){Oa=ta;Pa=sa;break}if(va<0.0?1:F>=+(f[g>>2]|0)){Oa=ta;Pa=sa;break}if(va>=+(f[ha>>2]|0)){Oa=ta;Pa=sa;break}na=na+1|0;if(!((na|0)<(B|0)?E>2]=Oa,+n[s>>2]);aa=+K(+($-(f[s>>2]=ka,+n[s>>2])));if(!(aa>+(f[d>>2]|0))?(aa=(f[s>>2]=Pa,+n[s>>2]),$=+K(+(aa-(f[s>>2]=ma,+n[s>>2]))),!($>+(f[y>>2]|0))):0){Qa=Oa;Ra=Pa}else{Qa=ka;Ra=ma}f[ja>>2]=Qa;f[la>>2]=Ra;w=w+1|0}while((w|0)<(c|0))}c=o+36|0;w=f[c>>2]|0;if(w|0?(Ra=w+12|0,w=f[Ra>>2]|0,f[Ra>>2]=w+-1,(w|0)==1):0)XO(o);f[c>>2]=0;c=o+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[G>>2]|0)>0){c=f[T>>2]|0;T=0;do{f[c+(T<<2)>>2]=0;T=T+1|0}while((T|0)<(f[G>>2]|0))}G=f[O>>2]|0;if((G|0)!=(S|0))dX(G);G=m+36|0;S=f[G>>2]|0;if(S|0?(O=S+12|0,S=f[O>>2]|0,f[O>>2]=S+-1,(S|0)==1):0)XO(m);f[G>>2]=0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;if((f[P>>2]|0)>0){D=f[a>>2]|0;a=0;do{f[D+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[P>>2]|0))}P=f[A>>2]|0;if((P|0)!=(R|0))dX(P);I=L;J=M}M=l+36|0;L=f[M>>2]|0;if(L|0?(P=L+12|0,L=f[P>>2]|0,f[P>>2]=L+-1,(L|0)==1):0)XO(l);f[M>>2]=0;M=l+4|0;f[I>>2]=0;f[I+4>>2]=0;f[I+8>>2]=0;f[I+12>>2]=0;if((f[M>>2]|0)>0){I=f[l+40>>2]|0;L=0;do{f[I+(L<<2)>>2]=0;L=L+1|0}while((L|0)<(f[M>>2]|0))}M=f[J>>2]|0;if((M|0)!=(l+48|0))dX(M);M=k+36|0;l=f[M>>2]|0;if(l|0?(J=l+12|0,l=f[J>>2]|0,f[J>>2]=l+-1,(l|0)==1):0)XO(k);f[M>>2]=0;M=k+16|0;l=k+4|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;if((f[l>>2]|0)>0){M=f[k+40>>2]|0;J=0;do{f[M+(J<<2)>>2]=0;J=J+1|0}while((J|0)<(f[l>>2]|0))}l=f[k+44>>2]|0;if((l|0)!=(k+48|0))dX(l);if(!(f[j+4>>2]|0)){u=h;return}u=h;return}function nAa(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0.0,L=0.0,M=0.0,N=0,O=0,P=0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0,W=0,Y=0,Z=0.0;i=u;u=u+208|0;j=i+192|0;k=i+184|0;l=i+176|0;m=i+168|0;o=i+112|0;p=i+104|0;q=i+48|0;r=i+40|0;s=i+32|0;t=i+24|0;v=i+16|0;w=i+8|0;x=i;yV(m,101564);do if((HJ(a)|0)==65536){y=f[a+4>>2]|0;f[o>>2]=f[y>>2];z=o+4|0;A=y+4|0;f[z>>2]=f[A>>2];B=o+8|0;f[B>>2]=f[y+8>>2];f[o+12>>2]=f[y+12>>2];f[o+16>>2]=f[y+16>>2];f[o+20>>2]=f[y+20>>2];f[o+24>>2]=f[y+24>>2];f[o+28>>2]=f[y+28>>2];f[o+32>>2]=f[y+32>>2];C=f[y+36>>2]|0;f[o+36>>2]=C;f[o+40>>2]=B;B=o+48|0;D=o+44|0;f[D>>2]=B;f[B>>2]=0;f[o+52>>2]=0;if(C|0){B=C+12|0;f[B>>2]=(f[B>>2]|0)+1}if((f[A>>2]|0)<3){A=f[y+44>>2]|0;B=f[D>>2]|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];E=o;break}else{f[z>>2]=0;WO(o,y);E=o;break}}else{DJ(o,a,-1);E=o}while(0);a=f[E>>2]|0;E=a&7;y=a>>>3&511;a=y+1|0;z=(g|0)<0?E:g&7;if((a|2|0)!=3){f[j>>2]=0;f[j+4>>2]=0;F=JV(j,18)|0;G=441823;H=F+18|0;do{b[F>>0]=b[G>>0]|0;F=F+1|0;G=G+1|0}while((F|0)<(H|0));EP(-215,j,441842,441856,374);KV(j)}f[p>>2]=f[c>>2];f[p+4>>2]=f[c+4>>2];_J(e,p,(a<<3)+-8|z,-1,0,0);do if((HJ(e)|0)==65536){p=f[e+4>>2]|0;f[q>>2]=f[p>>2];c=q+4|0;g=p+4|0;f[c>>2]=f[g>>2];A=q+8|0;f[A>>2]=f[p+8>>2];f[q+12>>2]=f[p+12>>2];f[q+16>>2]=f[p+16>>2];f[q+20>>2]=f[p+20>>2];f[q+24>>2]=f[p+24>>2];f[q+28>>2]=f[p+28>>2];f[q+32>>2]=f[p+32>>2];B=f[p+36>>2]|0;f[q+36>>2]=B;f[q+40>>2]=A;A=q+48|0;D=q+44|0;f[D>>2]=A;f[A>>2]=0;f[q+52>>2]=0;if(B|0){A=B+12|0;f[A>>2]=(f[A>>2]|0)+1}if((f[g>>2]|0)<3){g=f[p+44>>2]|0;A=f[D>>2]|0;f[A>>2]=f[g>>2];f[A+4>>2]=f[g+4>>2];break}else{f[c>>2]=0;WO(q,p);break}}else DJ(q,e,-1);while(0);do if(z|E){e=(z|0)==5;if(!((E|0)==0&e))if((E|0)==5&e){e=f[o+16>>2]|0;p=f[o+48>>2]|0;c=f[o+40>>2]|0;g=f[c>>2]|0;f[v>>2]=f[c+4>>2];f[v+4>>2]=g;g=f[q+16>>2]|0;c=f[q+48>>2]|0;A=f[q+40>>2]|0;D=f[A>>2]|0;f[w>>2]=f[A+4>>2];f[w+4>>2]=D;f[x>>2]=f[d>>2];f[x+4>>2]=f[d+4>>2];qAa(e,p,v,g,c,w,x,a);break}else{f[j>>2]=0;f[j+4>>2]=0;F=JV(j,51)|0;G=441916;H=F+51|0;do{b[F>>0]=b[G>>0]|0;F=F+1|0;G=G+1|0}while((F|0)<(H|0));EP(-210,j,441842,441856,420);KV(j);break}c=f[o+16>>2]|0;g=f[o+48>>2]|0;p=f[o+40>>2]|0;e=f[p+4>>2]|0;D=f[p>>2]|0;p=f[q+16>>2]|0;A=f[q+48>>2]|0;B=f[q+40>>2]|0;C=f[B+4>>2]|0;I=f[B>>2]|0;J=+n[d>>2];K=+n[d+4>>2];L=J-+(C+-1|0)*.5;B=I+-1|0;M=K-+(B|0)*.5;N=~~L;O=N-(L<+(N|0)&1)|0;N=~~M;P=N-(M<+(N|0)&1)|0;if(((y|0)==0&(O|0)>-1?(O+C|0)<(e|0)&(P|0)>-1:0)?(I|0)>0&((C|0)>0&(P+I|0)<(D|0)):0){Q=L-+(O|0);L=M-+(P|0);M=Q<9.999999747378752e-05?9.999999747378752e-05:Q;Q=1.0-L;R=M*Q;S=L*M;T=M;U=(1.0-T)/T;N=A>>>2;T=1.0-M;V=c+((X(P,g)|0)+O)|0;O=p;P=B;while(1){B=V;V=V+g|0;W=0;M=T*(Q*+(h[B>>0]|0)+L*+(h[V>>0]|0));while(1){Y=W;W=W+1|0;Z=R*+(h[B+W>>0]|0)+S*+(h[B+(W+g)>>0]|0);n[O+(Y<<2)>>2]=M+Z;if((W|0)==(C|0))break;else M=U*Z}if(!P)break;else{O=O+(N<<2)|0;P=P+-1|0}}}else{f[j>>2]=e;f[j+4>>2]=D;f[k>>2]=C;f[k+4>>2]=I;n[l>>2]=J;n[l+4>>2]=K;pAa(c,g,j,p,A,k,l,a)}}else{P=f[o+16>>2]|0;N=f[o+48>>2]|0;O=f[o+40>>2]|0;V=f[O>>2]|0;f[r>>2]=f[O+4>>2];f[r+4>>2]=V;V=f[q+16>>2]|0;O=f[q+48>>2]|0;W=f[q+40>>2]|0;B=f[W>>2]|0;f[s>>2]=f[W+4>>2];f[s+4>>2]=B;f[t>>2]=f[d>>2];f[t+4>>2]=f[d+4>>2];oAa(P,N,r,V,O,s,t,a)}while(0);a=q+36|0;t=f[a>>2]|0;if(t|0?(s=t+12|0,t=f[s>>2]|0,f[s>>2]=t+-1,(t|0)==1):0)XO(q);f[a>>2]=0;a=q+16|0;t=q+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if((f[t>>2]|0)>0){a=f[q+40>>2]|0;s=0;do{f[a+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[t>>2]|0))}t=f[q+44>>2]|0;if((t|0)!=(q+48|0))dX(t);t=o+36|0;q=f[t>>2]|0;if(q|0?(s=q+12|0,q=f[s>>2]|0,f[s>>2]=q+-1,(q|0)==1):0)XO(o);f[t>>2]=0;t=o+16|0;q=o+4|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;if((f[q>>2]|0)>0){t=f[o+40>>2]|0;s=0;do{f[t+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[q>>2]|0))}q=f[o+44>>2]|0;if((q|0)!=(o+48|0))dX(q);if(!(f[m+4>>2]|0)){u=i;return}u=i;return}function oAa(a,c,d,e,g,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0,m=0.0,o=0,p=0,q=0,r=0.0,s=0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;l=f[i>>2]|0;m=+n[j>>2]-+(l+-1|0)*.5;n[j>>2]=m;o=i+4|0;p=f[o>>2]|0;q=j+4|0;r=+n[q>>2]-+(p+-1|0)*.5;n[q>>2]=r;q=~~m;j=q-(m<+(q|0)&1)|0;q=~~r;s=q-(r<+(q|0)&1)|0;t=m-+(j|0);m=r-+(s|0);r=1.0-t;u=1.0-m;q=HEa(r*u*65536.0)|0;v=HEa(t*u*65536.0)|0;w=HEa(r*m*65536.0)|0;x=HEa(t*m*65536.0)|0;y=HEa(u*65536.0)|0;z=HEa(m*65536.0)|0;A=f[d>>2]|0;do if((j|0)<=-1){B=f[d+4>>2]|0;C=0-j|0;if((l|0)<(C|0)){D=a;E=l;F=B;G=12}else{H=a;I=C;J=B}}else{B=f[d+4>>2]|0;if(!((s|0)>-1&(j|0)<(A-l|0)&(s|0)<(B-p|0))){D=a+(X(j,k)|0)|0;E=0;F=B;G=12;break}B=X(l,k)|0;f[i>>2]=B;if((p|0)<=0)return;C=a+((X(s,c)|0)+(X(j,k)|0))|0;K=e;L=0;M=B;while(1){if((M|0)<2){N=0;O=M}else{B=0;while(1){P=X(q,h[C+B>>0]|0)|0;Q=B+k|0;R=X(v,h[C+Q>>0]|0)|0;S=B+c|0;T=X(w,h[C+S>>0]|0)|0;U=S+k|0;V=X(x,h[C+U>>0]|0)|0;W=B|1;Y=X(q,h[C+W>>0]|0)|0;Z=X(v,h[C+(Q+1)>>0]|0)|0;Q=X(w,h[C+(S+1)>>0]|0)|0;S=X(x,h[C+(U+1)>>0]|0)|0;b[K+B>>0]=(P+32768+R+T+V|0)>>>16;b[K+W>>0]=(Y+32768+Z+Q+S|0)>>>16;S=B+2|0;Q=f[i>>2]|0;if((S|0)>(Q+-2|0)){N=S;O=Q;break}else B=S}}if((N|0)<(O|0)){B=N;do{S=X(q,h[C+B>>0]|0)|0;Q=X(v,h[C+(B+k)>>0]|0)|0;Z=B+c|0;Y=X(w,h[C+Z>>0]|0)|0;W=(S+32768+Q+Y+(X(x,h[C+(Z+k)>>0]|0)|0)|0)>>>16&255;b[K+B>>0]=W;B=B+1|0;W=f[i>>2]|0}while((B|0)<(W|0));_=W}else _=O;L=L+1|0;if((L|0)>=(f[o>>2]|0))break;else{C=C+c|0;K=K+g|0;M=_}}return}while(0);if((G|0)==12){H=D;I=E;J=F}if((A-l|0)>(j|0)){$=H;aa=l}else{l=A-j|0;j=l+-1|0;A=(l|0)<1;l=H+(X(j,k)|0)|0;$=A?l:H;aa=A?0:j}j=(s|0)>-1;A=$+(X(s,c)|0)|0;H=j?A:$;$=j?0:0-s|0;if((J-p|0)>(s|0)){ba=H;ca=p}else{j=J-s|0;s=j+-1|0;J=(j|0)<1;j=H+(X(s,c)|0)|0;ba=J?j:H;ca=J?0:s}if((p|0)<=0)return;p=(k|0)>0;s=X(I,k)|0;J=(I|0)>0;H=X(aa,k)|0;j=(s|0)<(H|0);A=e;e=0;l=ba+(X(I,0-k|0)|0)|0;while(1){if((e|0)>=($|0)?(e|0)<(ca|0):0)da=l+c|0;else da=l;a:do if(p){if(J)ea=0;else{ba=0;F=f[i>>2]|0;while(1){E=ba+H|0;if((aa|0)<(F|0)){D=X(z,h[da+E>>0]|0)|0;G=((X(y,h[l+E>>0]|0)|0)+32768+D|0)>>>16&255;D=aa;do{E=A+((X(D,k)|0)+ba)|0;b[E>>0]=G;D=D+1|0;E=f[i>>2]|0}while((D|0)<(E|0));fa=E}else fa=F;ba=ba+1|0;if((ba|0)==(k|0))break a;else F=fa}}do{F=ea+s|0;ba=X(y,h[l+F>>0]|0)|0;D=(ba+32768+(X(z,h[da+F>>0]|0)|0)|0)>>>16&255;F=0;do{ba=A+((X(F,k)|0)+ea)|0;b[ba>>0]=D;F=F+1|0}while((F|0)!=(I|0));F=ea+H|0;if((aa|0)<(f[i>>2]|0)){D=X(z,h[da+F>>0]|0)|0;ba=((X(y,h[l+F>>0]|0)|0)+32768+D|0)>>>16&255;D=aa;do{F=A+((X(D,k)|0)+ea)|0;b[F>>0]=ba;D=D+1|0}while((D|0)<(f[i>>2]|0))}ea=ea+1|0}while((ea|0)!=(k|0))}while(0);if(j){D=s;do{ba=X(q,h[l+D>>0]|0)|0;F=D+k|0;G=X(v,h[l+F>>0]|0)|0;E=X(w,h[da+D>>0]|0)|0;_=(ba+32768+G+E+(X(x,h[da+F>>0]|0)|0)|0)>>>16&255;b[A+D>>0]=_;D=D+1|0}while((D|0)!=(H|0))}l=(e|0)<(ca|0)?da:l;e=e+1|0;if((e|0)>=(f[o>>2]|0))break;else A=A+g|0}return}function pAa(a,b,c,d,e,g,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;var k=0,l=0.0,m=0,o=0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;k=f[g>>2]|0;l=+n[i>>2]-+(k+-1|0)*.5;n[i>>2]=l;m=f[g+4>>2]|0;o=i+4|0;p=+n[o>>2]-+(m+-1|0)*.5;n[o>>2]=p;o=~~l;i=o-(l<+(o|0)&1)|0;o=~~p;q=o-(p<+(o|0)&1)|0;r=l-+(i|0);l=p-+(q|0);p=1.0-r;s=1.0-l;t=p*s;u=r*s;v=p*l;p=r*l;o=e>>>2;e=f[c>>2]|0;do if((i|0)<=-1){w=f[c+4>>2]|0;x=0-i|0;if((k|0)<(x|0)){y=a;z=k;A=w;B=12}else{C=a;D=x;E=w}}else{w=f[c+4>>2]|0;if(!((q|0)>-1&(i|0)<(e-k|0)&(q|0)<(w-m|0))){y=a+(X(i,j)|0)|0;z=0;A=w;B=12;break}w=X(k,j)|0;f[g>>2]=w;if((m|0)<=0)return;x=(w|0)<2;F=w+-2|0;G=a+((X(q,b)|0)+(X(i,j)|0))|0;H=d;I=0;while(1){if(x)J=0;else{K=0;while(1){L=K+j|0;M=K+b|0;N=M+j|0;O=K|1;r=t*+(h[G+O>>0]|0)+u*+(h[G+(L+1)>>0]|0)+v*+(h[G+(M+1)>>0]|0)+p*+(h[G+(N+1)>>0]|0);n[H+(K<<2)>>2]=t*+(h[G+K>>0]|0)+u*+(h[G+L>>0]|0)+v*+(h[G+M>>0]|0)+p*+(h[G+N>>0]|0);n[H+(O<<2)>>2]=r;O=K+2|0;if((O|0)>(F|0)){J=O;break}else K=O}}if((J|0)<(w|0)){K=J;do{O=K+b|0;n[H+(K<<2)>>2]=t*+(h[G+K>>0]|0)+u*+(h[G+(K+j)>>0]|0)+v*+(h[G+O>>0]|0)+p*+(h[G+(O+j)>>0]|0);K=K+1|0}while((K|0)<(w|0))}I=I+1|0;if((I|0)>=(m|0))break;else{G=G+b|0;H=H+(o<<2)|0}}return}while(0);if((B|0)==12){C=y;D=z;E=A}if((e-k|0)>(i|0)){P=C;Q=k}else{A=e-i|0;i=A+-1|0;e=(A|0)<1;A=C+(X(i,j)|0)|0;P=e?A:C;Q=e?0:i}i=(q|0)>-1;e=P+(X(q,b)|0)|0;C=i?e:P;P=i?0:0-q|0;if((E-m|0)>(q|0)){R=C;S=m}else{i=E-q|0;q=i+-1|0;E=(i|0)<1;i=C+(X(q,b)|0)|0;R=E?i:C;S=E?0:q}if((m|0)<=0)return;q=(j|0)>0;E=X(D,j)|0;C=(D|0)>0;i=X(Q,j)|0;e=(Q|0)<(k|0);A=(Q|0)<(k|0);z=(E|0)<(i|0);y=d;d=0;B=R+(X(D,0-j|0)|0)|0;while(1){if((d|0)>=(P|0)?(d|0)<(S|0):0)T=B+b|0;else T=B;a:do if(q){if(C)U=0;else{R=0;while(1){J=R+i|0;r=s*+(h[B+J>>0]|0)+l*+(h[T+J>>0]|0);if(A){J=Q;do{a=y+((X(J,j)|0)+R<<2)|0;n[a>>2]=r;J=J+1|0}while((J|0)<(k|0))}R=R+1|0;if((R|0)==(j|0))break a}}do{R=U+E|0;r=s*+(h[B+R>>0]|0)+l*+(h[T+R>>0]|0);R=0;do{J=y+((X(R,j)|0)+U<<2)|0;n[J>>2]=r;R=R+1|0}while((R|0)!=(D|0));R=U+i|0;r=s*+(h[B+R>>0]|0)+l*+(h[T+R>>0]|0);if(e){R=Q;do{J=y+((X(R,j)|0)+U<<2)|0;n[J>>2]=r;R=R+1|0}while((R|0)<(k|0))}U=U+1|0}while((U|0)!=(j|0))}while(0);if(z){R=E;do{J=R+j|0;n[y+(R<<2)>>2]=t*+(h[B+R>>0]|0)+u*+(h[B+J>>0]|0)+v*+(h[T+R>>0]|0)+p*+(h[T+J>>0]|0);R=R+1|0}while((R|0)!=(i|0))}B=(d|0)<(S|0)?T:B;d=d+1|0;if((d|0)>=(m|0))break;else y=y+(o<<2)|0}return}function qAa(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0.0,l=0,m=0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0;j=f[g>>2]|0;k=+n[h>>2]-+(j+-1|0)*.5;n[h>>2]=k;l=f[g+4>>2]|0;m=h+4|0;o=+n[m>>2]-+(l+-1|0)*.5;n[m>>2]=o;m=~~k;h=m-(k<+(m|0)&1)|0;m=~~o;p=m-(o<+(m|0)&1)|0;q=k-+(h|0);k=o-+(p|0);o=1.0-q;r=1.0-k;s=o*r;t=q*r;u=o*k;o=q*k;m=b>>>2;v=e>>>2;e=f[c>>2]|0;if((h|0)<=-1){w=b&-4;x=i<<2;y=f[c+4>>2]|0;z=0-h|0;if((j|0)<(z|0)){A=a;B=j;C=y;D=x;E=w;F=18}else{G=a;H=z;I=x;J=w;K=y}}else{if((p|0)>-1&(h|0)<(e-j|0)?(p|0)<((f[c+4>>2]|0)-l|0):0){y=a+((X(p,m)|0)+(X(h,i)|0)<<2)|0;w=X(j,i)|0;f[g>>2]=w;if((l|0)<=0)return;if((w|0)<2){g=(w|0)==1;x=y;z=d;L=0;while(1){if(g){M=0;do{N=M+m|0;n[z+(M<<2)>>2]=s*+n[x+(M<<2)>>2]+t*+n[x+(M+i<<2)>>2]+u*+n[x+(N<<2)>>2]+o*+n[x+(N+i<<2)>>2];M=M+1|0}while((M|0)<(w|0))}L=L+1|0;if((L|0)>=(l|0))break;else{x=x+(m<<2)|0;z=z+(v<<2)|0}}return}z=w+-2|0;x=(((z|0)>1?z:1)&2147483646)+2|0;L=(x|0)<(w|0);g=y;y=d;M=0;while(1){N=0;do{O=N+i|0;P=N+m|0;Q=P+i|0;R=N|1;q=s*+n[g+(R<<2)>>2]+t*+n[g+(O+1<<2)>>2]+u*+n[g+(P+1<<2)>>2]+o*+n[g+(Q+1<<2)>>2];n[y+(N<<2)>>2]=s*+n[g+(N<<2)>>2]+t*+n[g+(O<<2)>>2]+u*+n[g+(P<<2)>>2]+o*+n[g+(Q<<2)>>2];n[y+(R<<2)>>2]=q;N=N+2|0}while((N|0)<=(z|0));if(L){N=x;do{R=N+m|0;n[y+(N<<2)>>2]=s*+n[g+(N<<2)>>2]+t*+n[g+(N+i<<2)>>2]+u*+n[g+(R<<2)>>2]+o*+n[g+(R+i<<2)>>2];N=N+1|0}while((N|0)<(w|0))}M=M+1|0;if((M|0)>=(l|0))break;else{g=g+(m<<2)|0;y=y+(v<<2)|0}}return}y=i<<2;A=a+(X(h,y)|0)|0;B=0;C=f[c+4>>2]|0;D=y;E=b&-4;F=18}if((F|0)==18){G=A;H=B;I=D;J=E;K=C}if((e-j|0)>(h|0)){S=G;T=j}else{C=e-h|0;h=C+-1|0;e=(C|0)<1;C=G+(X(h,I)|0)|0;S=e?C:G;T=e?0:h}h=(p|0)>-1;e=S+(X(p,J)|0)|0;G=h?e:S;S=h?0:0-p|0;if((K-l|0)>(p|0)){U=G;V=l}else{h=K-p|0;p=h+-1|0;K=(h|0)<1;h=G+(X(p,J)|0)|0;U=K?h:G;V=K?0:p}if((l|0)<=0)return;p=(i|0)>0;K=X(H,i)|0;G=(H|0)>0;h=X(T,i)|0;J=(T|0)<(j|0);e=(K|0)<(h|0);C=d;d=0;E=U+(X(H,0-I|0)|0)|0;while(1){if((d|0)>=(S|0)?(d|0)<(V|0):0)W=E+(m<<2)|0;else W=E;a:do if(p){if(G)Y=0;else{if(J)Z=0;else break;while(1){I=Z+h|0;q=r*+n[E+(I<<2)>>2]+k*+n[W+(I<<2)>>2];I=T;do{U=C+((X(I,i)|0)+Z<<2)|0;n[U>>2]=q;I=I+1|0}while((I|0)<(j|0));Z=Z+1|0;if((Z|0)==(i|0))break a}}do{I=Y+K|0;q=r*+n[E+(I<<2)>>2]+k*+n[W+(I<<2)>>2];I=0;do{U=C+((X(I,i)|0)+Y<<2)|0;n[U>>2]=q;I=I+1|0}while((I|0)!=(H|0));I=Y+h|0;q=r*+n[E+(I<<2)>>2]+k*+n[W+(I<<2)>>2];if(J){I=T;do{U=C+((X(I,i)|0)+Y<<2)|0;n[U>>2]=q;I=I+1|0}while((I|0)<(j|0))}Y=Y+1|0}while((Y|0)!=(i|0))}while(0);if(e){I=K;do{U=I+i|0;n[C+(I<<2)>>2]=s*+n[E+(I<<2)>>2]+t*+n[E+(U<<2)>>2]+u*+n[W+(I<<2)>>2]+o*+n[W+(U<<2)>>2];I=I+1|0}while((I|0)!=(h|0))}E=(d|0)<(V|0)?W:E;d=d+1|0;if((d|0)>=(l|0))break;else C=C+(v<<2)|0}return}function rAa(a,c,d,e){a=a|0;c=c|0;d=+d;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=u;u=u+128|0;h=g+72|0;i=g+16|0;j=g;NY(h,a,0,1,0,0);NY(i,c,0,1,0,0);c=h+40|0;a=f[c>>2]|0;k=f[a+-4>>2]|0;l=i+40|0;m=f[l>>2]|0;a:do if((k|0)==(f[m+-4>>2]|0)){if((k|0)==2){if((f[a>>2]|0)!=(f[m>>2]|0)){n=9;break}if((f[a+4>>2]|0)!=(f[m+4>>2]|0)){n=9;break}}else if((k|0)>0){o=0;do{if((f[a+(o<<2)>>2]|0)!=(f[m+(o<<2)>>2]|0)){n=9;break a}o=o+1|0}while((o|0)<(k|0))}o=f[i>>2]|0;if(!((o^f[h>>2])&4088))p=o;else n=9}else n=9;while(0);if((n|0)==9){f[j>>2]=0;f[j+4>>2]=0;n=JV(j,56)|0;k=442110;m=n+56|0;do{b[n>>0]=b[k>>0]|0;n=n+1|0;k=k+1|0}while((n|0)<(m|0));EP(-215,j,442167,442052,112);KV(j);p=f[i>>2]|0}k=j+8|0;f[k>>2]=0;f[k+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=i;AO(h,j,p&4095,d,e);p=i+36|0;j=f[p>>2]|0;if(j|0?(k=j+12|0,j=f[k>>2]|0,f[k>>2]=j+-1,(j|0)==1):0)XO(i);f[p>>2]=0;p=i+16|0;j=i+4|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;if((f[j>>2]|0)>0){p=f[l>>2]|0;l=0;do{f[p+(l<<2)>>2]=0;l=l+1|0}while((l|0)<(f[j>>2]|0))}j=f[i+44>>2]|0;if((j|0)!=(i+48|0))dX(j);j=h+36|0;i=f[j>>2]|0;if(i|0?(l=i+12|0,i=f[l>>2]|0,f[l>>2]=i+-1,(i|0)==1):0)XO(h);f[j>>2]=0;j=h+16|0;i=h+4|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;if((f[i>>2]|0)>0){j=f[c>>2]|0;c=0;do{f[j+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[i>>2]|0))}i=f[h+44>>2]|0;if((i|0)==(h+48|0)){u=g;return}dX(i);u=g;return}function sAa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!(b&2147483647)){c=b>>31&-822083584;f[a>>2]=c;return}d=(b|0)<0?0-b|0:b;e=d>>>0<65536;g=e?d<<16:d;i=e?16:0;e=g>>>0<16777216;j=((h[442182+((e?g<<8:g)>>>24)>>0]|0)+((e?i|8:i)&255)<<24)+-16777216|0;i=j>>24;e=156-i|0;if((j|0)>100663296&e>>>0<253){c=(d<>2]=c;return}j=d<>>0>252){if((e|0)>=0){if(!((e|0)>253|(j+64|0)<0)){k=e;l=i;m=j;break}c=b&-2147483648|2139095040;f[a>>2]=c;return}d=0-e|0;if(d>>>0<31)n=j>>>d|(j<<(e&31)|0)!=0;else n=(j|0)!=0&1;k=0;l=n&127;m=n}else{k=e;l=i;m=j}while(0);j=(m+64|0)>>>7&~(l<<24>>24==64);c=((j|0)==0?0:k<<23)+(j|b&-2147483648)|0;f[a>>2]=c;return}function tAa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=f[b>>2]|0;b=c>>>23;d=c&8388607;a:do switch((b&255)<<24>>24){case -1:{e=c>>>31;if(!d){g=BVa(e|0,0,63)|0;i=g;j=I|2146435072;break a}else{g=BVa(e|0,0,63)|0;e=I;k=BVa(c|0,0,29)|0;i=k|g;j=I|e|2146959360;break a}break}case 0:{if(!d){e=BVa(c>>>31|0,0,63)|0;i=e;j=I;break a}else{e=d>>>0<65536;g=e?c<<16:d;k=e?16:0;e=g>>>0<16777216;l=((h[442182+((e?g<<8:g)>>>24)>>0]|0)+((e?k|8:k)&255)<<24)+-134217728>>24;m=0-l|0;n=d<>>31|0,0,63)|0;c=I;d=BVa(m+896|0,0,52)|0;m=I;b=BVa(n|0,0,29)|0;n=qVa(d|0,m|0,b|o|0,I|c|0)|0;i=n;j=I}n=a;f[n>>2]=i;f[n+4>>2]=j;return}function uAa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=f[b>>2]|0;b=f[c>>2]|0;if((b^d|0)<0){vAa(a,d,b);return}else{wAa(a,d,b);return}}function vAa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;d=b>>>23&255;e=b&8388607;g=c>>>23&255;i=c&8388607;j=d-g|0;a:do if(!j){if((d|0)==255){if(!(i|e))k=-4194304;else break;f[a>>2]=k;return}l=e-i|0;if(!l){k=0;f[a>>2]=k;return}m=(d|0)==0?0:d+-1|0;n=(l|0)<0;o=n?0-l|0:l;l=o>>>0<65536;p=l?o<<16:o;q=l?16:0;l=p>>>0<16777216;r=((h[442182+((l?p<<8:p)>>>24)>>0]|0)+((l?q|8:q)&255)&255)+248|0;q=m-(r<<24>>24)|0;l=(q|0)<0;k=(l?0:q<<23)+(((n?(b|0)>-1:(b|0)<0)&1)<<31)+(o<<((l?m:r)<<24>>24))|0;f[a>>2]=k;return}else{r=e<<7;m=i<<7;do if((j|0)<0){if((g|0)!=255){s=(d|0?1073741824:r)+r|0;t=m;u=0-j|0;v=g;w=(b|0)>-1;break}if(i|0)break a;k=(b&-2147483648)+-8388608|0;f[a>>2]=k;return}else{if((d|0)!=255){s=(g|0?1073741824:m)+m|0;t=r;u=j;v=d;w=(b|0)<0;break}if(!e)k=b;else break a;f[a>>2]=k;return}while(0);if(u>>>0<31)x=s>>>u|(s<<(0-u&31)|0)!=0;else x=(s|0)!=0&1;r=(t|1073741824)-x|0;m=r>>>0<65536;l=m?r<<16:r;o=m?16:0;m=l>>>0<16777216;n=(((m?o|8:o)&255)+(h[442182+((m?l<<8:l)>>>24)>>0]|0)<<24)+-16777216|0;l=n>>24;m=v+-1-l|0;if((n|0)>100663296&m>>>0<253){k=(r<>2]=k;return}n=r<>>0>252){if((m|0)>=0){if(!((m|0)>253|(n+64|0)<0)){y=m;z=l;A=n;break}k=(w&1)<<31|2139095040;f[a>>2]=k;return}r=0-m|0;if(r>>>0<31)B=n>>>r|(n<<(m&31)|0)!=0;else B=(n|0)!=0&1;y=0;z=B&127;A=B}else{y=m;z=l;A=n}while(0);n=(A+64|0)>>>7&~(z<<24>>24==64);k=((n|0)==0?0:y<<23)+(n|(w&1)<<31)|0;f[a>>2]=k;return}while(0);k=((b&2143289344|0)==2139095040&(b&4194303|0)!=0?b:(b&2139095040|0)!=2139095040|(e|0)==0?c:b)|4194304;f[a>>2]=k;return} +function rda(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;g=u;u=u+64|0;h=g+8|0;i=g;f[a>>2]=1124007936;j=a+4|0;k=a+8|0;l=a+40|0;m=j;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[l>>2]=k;o=a+48|0;p=a+44|0;f[p>>2]=o;f[o>>2]=0;f[a+52>>2]=0;o=a+56|0;f[o>>2]=1124007936;q=a+60|0;r=a+64|0;s=a+96|0;m=q;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[s>>2]=r;t=a+104|0;v=a+100|0;f[v>>2]=t;f[t>>2]=0;f[a+108>>2]=0;t=a+120|0;f[t>>2]=0;w=a+124|0;f[w>>2]=0;x=GJ(c,-1)|0;y=(x>>>3&511)+1|0;f[a+116>>2]=y;z=x&7;x=a+112|0;f[x>>2]=z;if(!((z|0)==0&((e+-3|0)>>>0<2&(y|0)==2))){f[h>>2]=0;f[h+4>>2]=0;m=JV(h,69)|0;y=247788;n=m+69|0;do{b[m>>0]=b[y>>0]|0;m=m+1|0;y=y+1|0}while((m|0)<(n|0));EP(-215,h,247858,247995,253);KV(h)}y=c+4|0;m=d+4|0;if((f[y>>2]|0)!=(f[m>>2]|0)){do if((HJ(c)|0)==65536){n=f[y>>2]|0;f[h>>2]=f[n>>2];z=h+4|0;A=n+4|0;f[z>>2]=f[A>>2];B=h+8|0;f[B>>2]=f[n+8>>2];f[h+12>>2]=f[n+12>>2];f[h+16>>2]=f[n+16>>2];f[h+20>>2]=f[n+20>>2];f[h+24>>2]=f[n+24>>2];f[h+28>>2]=f[n+28>>2];f[h+32>>2]=f[n+32>>2];C=f[n+36>>2]|0;f[h+36>>2]=C;f[h+40>>2]=B;B=h+48|0;D=h+44|0;f[D>>2]=B;f[B>>2]=0;f[h+52>>2]=0;if(C|0){B=C+12|0;f[B>>2]=(f[B>>2]|0)+1}if((f[A>>2]|0)<3){A=f[n+44>>2]|0;B=f[D>>2]|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];break}else{f[z>>2]=0;WO(h,n);break}}else DJ(h,c,-1);while(0);y=h+36|0;n=f[y>>2]|0;if((a|0)==(h|0))E=n;else{if(n|0){z=n+12|0;f[z>>2]=(f[z>>2]|0)+1}z=a+36|0;n=f[z>>2]|0;if(n|0?(A=n+12|0,n=f[A>>2]|0,f[A>>2]=n+-1,(n|0)==1):0)XO(a);f[z>>2]=0;n=a+16|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;if((f[j>>2]|0)>0){A=f[l>>2]|0;B=0;do{f[A+(B<<2)>>2]=0;B=B+1|0;F=f[j>>2]|0}while((B|0)<(F|0));f[a>>2]=f[h>>2];if((F|0)<3)G=23;else G=25}else{f[a>>2]=f[h>>2];G=23}if((G|0)==23){F=f[h+4>>2]|0;if((F|0)<3){f[j>>2]=F;f[k>>2]=f[h+8>>2];f[a+12>>2]=f[h+12>>2];k=f[h+44>>2]|0;F=f[p>>2]|0;f[F>>2]=f[k>>2];f[F+4>>2]=f[k+4>>2]}else G=25}if((G|0)==25)WO(a,h);f[n>>2]=f[h+16>>2];f[a+20>>2]=f[h+20>>2];f[a+24>>2]=f[h+24>>2];f[a+28>>2]=f[h+28>>2];f[a+32>>2]=f[h+32>>2];n=f[y>>2]|0;f[z>>2]=n;E=n}if(E|0?(n=E+12|0,E=f[n>>2]|0,f[n>>2]=E+-1,(E|0)==1):0)XO(h);f[y>>2]=0;y=h+16|0;E=h+4|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;if((f[E>>2]|0)>0){y=f[h+40>>2]|0;n=0;do{f[y+(n<<2)>>2]=0;n=n+1|0}while((n|0)<(f[E>>2]|0))}E=f[h+44>>2]|0;if((E|0)!=(h+48|0))dX(E)}else{E=h+8|0;f[E>>2]=0;f[E+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=a;XJ(c,h)}c=f[l>>2]|0;l=f[c+4>>2]|0;E=f[c>>2]|0;f[t>>2]=l;f[w>>2]=E;f[i>>2]=l;f[i+4>>2]=E;_J(d,i,f[x>>2]&7|(e<<3)+-8,-1,0,0);do if((HJ(d)|0)==65536){e=f[m>>2]|0;f[h>>2]=f[e>>2];x=h+4|0;i=e+4|0;f[x>>2]=f[i>>2];E=h+8|0;f[E>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];f[h+24>>2]=f[e+24>>2];f[h+28>>2]=f[e+28>>2];f[h+32>>2]=f[e+32>>2];l=f[e+36>>2]|0;f[h+36>>2]=l;f[h+40>>2]=E;E=h+48|0;w=h+44|0;f[w>>2]=E;f[E>>2]=0;f[h+52>>2]=0;if(l|0){E=l+12|0;f[E>>2]=(f[E>>2]|0)+1}if((f[i>>2]|0)<3){i=f[e+44>>2]|0;E=f[w>>2]|0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];break}else{f[x>>2]=0;WO(h,e);break}}else DJ(h,d,-1);while(0);d=h+36|0;m=f[d>>2]|0;if((o|0)==(h|0))H=m;else{if(m|0){e=m+12|0;f[e>>2]=(f[e>>2]|0)+1}e=a+92|0;m=f[e>>2]|0;if(m|0?(x=m+12|0,m=f[x>>2]|0,f[x>>2]=m+-1,(m|0)==1):0)XO(o);f[e>>2]=0;m=a+72|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;if((f[q>>2]|0)>0){x=f[s>>2]|0;s=0;do{f[x+(s<<2)>>2]=0;s=s+1|0;I=f[q>>2]|0}while((s|0)<(I|0));f[o>>2]=f[h>>2];if((I|0)<3)G=54;else G=56}else{f[o>>2]=f[h>>2];G=54}if((G|0)==54){I=f[h+4>>2]|0;if((I|0)<3){f[q>>2]=I;f[r>>2]=f[h+8>>2];f[a+68>>2]=f[h+12>>2];r=f[h+44>>2]|0;I=f[v>>2]|0;f[I>>2]=f[r>>2];f[I+4>>2]=f[r+4>>2]}else G=56}if((G|0)==56)WO(o,h);f[m>>2]=f[h+16>>2];f[a+76>>2]=f[h+20>>2];f[a+80>>2]=f[h+24>>2];f[a+84>>2]=f[h+28>>2];f[a+88>>2]=f[h+32>>2];a=f[d>>2]|0;f[e>>2]=a;H=a}if(H|0?(a=H+12|0,H=f[a>>2]|0,f[a>>2]=H+-1,(H|0)==1):0)XO(h);f[d>>2]=0;d=h+16|0;H=h+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[H>>2]|0)>0){d=f[h+40>>2]|0;a=0;do{f[d+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[H>>2]|0))}H=f[h+44>>2]|0;if((H|0)==(h+48|0)){u=g;return}dX(H);u=g;return}function sda(a){a=a|0;var b=0,c=0,d=0,e=0;b=a+56|0;c=a+92|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+72|0;b=a+60|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+96>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+100>>2]|0;if((b|0)!=(a+104|0))dX(b);b=a+36|0;d=f[b>>2]|0;if(d|0?(c=d+12|0,d=f[c>>2]|0,f[c>>2]=d+-1,(d|0)==1):0)XO(a);f[b>>2]=0;b=a+16|0;d=a+4|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[d>>2]|0)>0){b=f[a+40>>2]|0;c=0;do{f[b+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[d>>2]|0))}d=f[a+44>>2]|0;if((d|0)==(a+48|0))return;dX(d);return}function tda(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+128|0;e=d;uda(e,a,b,1);Mca(f[e+16>>2]|0,f[e+48>>2]|0,f[e+72>>2]|0,f[e+104>>2]|0,f[e+12>>2]|0,f[e+8>>2]|0,f[e+112>>2]|0,f[e+116>>2]|0,c);vda(e);u=d;return}function uda(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;g=u;u=u+64|0;h=g+8|0;i=g;f[a>>2]=1124007936;j=a+4|0;k=a+8|0;l=a+40|0;m=j;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[l>>2]=k;o=a+48|0;p=a+44|0;f[p>>2]=o;f[o>>2]=0;f[a+52>>2]=0;o=a+56|0;f[o>>2]=1124007936;q=a+60|0;r=a+64|0;s=a+96|0;m=q;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[s>>2]=r;t=a+104|0;v=a+100|0;f[v>>2]=t;f[t>>2]=0;f[a+108>>2]=0;t=a+120|0;f[t>>2]=0;w=a+124|0;f[w>>2]=0;x=GJ(c,-1)|0;y=x>>>3;f[a+116>>2]=(y&511)+1;z=a+112|0;f[z>>2]=x&7;if((e|0)==1&(y&510|0)==2)switch(x&7){case 0:case 2:case 5:break;default:A=3}else A=3;if((A|0)==3){f[h>>2]=0;f[h+4>>2]=0;m=JV(h,69)|0;x=247788;n=m+69|0;do{b[m>>0]=b[x>>0]|0;m=m+1|0;x=x+1|0}while((m|0)<(n|0));EP(-215,h,247858,247995,253);KV(h)}x=c+4|0;m=d+4|0;if((f[x>>2]|0)!=(f[m>>2]|0)){do if((HJ(c)|0)==65536){n=f[x>>2]|0;f[h>>2]=f[n>>2];y=h+4|0;B=n+4|0;f[y>>2]=f[B>>2];C=h+8|0;f[C>>2]=f[n+8>>2];f[h+12>>2]=f[n+12>>2];f[h+16>>2]=f[n+16>>2];f[h+20>>2]=f[n+20>>2];f[h+24>>2]=f[n+24>>2];f[h+28>>2]=f[n+28>>2];f[h+32>>2]=f[n+32>>2];D=f[n+36>>2]|0;f[h+36>>2]=D;f[h+40>>2]=C;C=h+48|0;E=h+44|0;f[E>>2]=C;f[C>>2]=0;f[h+52>>2]=0;if(D|0){C=D+12|0;f[C>>2]=(f[C>>2]|0)+1}if((f[B>>2]|0)<3){B=f[n+44>>2]|0;C=f[E>>2]|0;f[C>>2]=f[B>>2];f[C+4>>2]=f[B+4>>2];break}else{f[y>>2]=0;WO(h,n);break}}else DJ(h,c,-1);while(0);x=h+36|0;n=f[x>>2]|0;if((a|0)==(h|0))F=n;else{if(n|0){y=n+12|0;f[y>>2]=(f[y>>2]|0)+1}y=a+36|0;n=f[y>>2]|0;if(n|0?(B=n+12|0,n=f[B>>2]|0,f[B>>2]=n+-1,(n|0)==1):0)XO(a);f[y>>2]=0;n=a+16|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;if((f[j>>2]|0)>0){B=f[l>>2]|0;C=0;do{f[B+(C<<2)>>2]=0;C=C+1|0;G=f[j>>2]|0}while((C|0)<(G|0));f[a>>2]=f[h>>2];if((G|0)<3)A=24;else A=26}else{f[a>>2]=f[h>>2];A=24}if((A|0)==24){G=f[h+4>>2]|0;if((G|0)<3){f[j>>2]=G;f[k>>2]=f[h+8>>2];f[a+12>>2]=f[h+12>>2];k=f[h+44>>2]|0;G=f[p>>2]|0;f[G>>2]=f[k>>2];f[G+4>>2]=f[k+4>>2]}else A=26}if((A|0)==26)WO(a,h);f[n>>2]=f[h+16>>2];f[a+20>>2]=f[h+20>>2];f[a+24>>2]=f[h+24>>2];f[a+28>>2]=f[h+28>>2];f[a+32>>2]=f[h+32>>2];n=f[x>>2]|0;f[y>>2]=n;F=n}if(F|0?(n=F+12|0,F=f[n>>2]|0,f[n>>2]=F+-1,(F|0)==1):0)XO(h);f[x>>2]=0;x=h+16|0;F=h+4|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;if((f[F>>2]|0)>0){x=f[h+40>>2]|0;n=0;do{f[x+(n<<2)>>2]=0;n=n+1|0}while((n|0)<(f[F>>2]|0))}F=f[h+44>>2]|0;if((F|0)!=(h+48|0))dX(F)}else{F=h+8|0;f[F>>2]=0;f[F+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=a;XJ(c,h)}c=f[l>>2]|0;l=f[c+4>>2]|0;F=f[c>>2]|0;f[t>>2]=l;f[w>>2]=F;f[i>>2]=l;f[i+4>>2]=F;_J(d,i,f[z>>2]&7|(e<<3)+-8,-1,0,0);do if((HJ(d)|0)==65536){e=f[m>>2]|0;f[h>>2]=f[e>>2];z=h+4|0;i=e+4|0;f[z>>2]=f[i>>2];F=h+8|0;f[F>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];f[h+24>>2]=f[e+24>>2];f[h+28>>2]=f[e+28>>2];f[h+32>>2]=f[e+32>>2];l=f[e+36>>2]|0;f[h+36>>2]=l;f[h+40>>2]=F;F=h+48|0;w=h+44|0;f[w>>2]=F;f[F>>2]=0;f[h+52>>2]=0;if(l|0){F=l+12|0;f[F>>2]=(f[F>>2]|0)+1}if((f[i>>2]|0)<3){i=f[e+44>>2]|0;F=f[w>>2]|0;f[F>>2]=f[i>>2];f[F+4>>2]=f[i+4>>2];break}else{f[z>>2]=0;WO(h,e);break}}else DJ(h,d,-1);while(0);d=h+36|0;m=f[d>>2]|0;if((o|0)==(h|0))H=m;else{if(m|0){e=m+12|0;f[e>>2]=(f[e>>2]|0)+1}e=a+92|0;m=f[e>>2]|0;if(m|0?(z=m+12|0,m=f[z>>2]|0,f[z>>2]=m+-1,(m|0)==1):0)XO(o);f[e>>2]=0;m=a+72|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;if((f[q>>2]|0)>0){z=f[s>>2]|0;s=0;do{f[z+(s<<2)>>2]=0;s=s+1|0;I=f[q>>2]|0}while((s|0)<(I|0));f[o>>2]=f[h>>2];if((I|0)<3)A=55;else A=57}else{f[o>>2]=f[h>>2];A=55}if((A|0)==55){I=f[h+4>>2]|0;if((I|0)<3){f[q>>2]=I;f[r>>2]=f[h+8>>2];f[a+68>>2]=f[h+12>>2];r=f[h+44>>2]|0;I=f[v>>2]|0;f[I>>2]=f[r>>2];f[I+4>>2]=f[r+4>>2]}else A=57}if((A|0)==57)WO(o,h);f[m>>2]=f[h+16>>2];f[a+76>>2]=f[h+20>>2];f[a+80>>2]=f[h+24>>2];f[a+84>>2]=f[h+28>>2];f[a+88>>2]=f[h+32>>2];a=f[d>>2]|0;f[e>>2]=a;H=a}if(H|0?(a=H+12|0,H=f[a>>2]|0,f[a>>2]=H+-1,(H|0)==1):0)XO(h);f[d>>2]=0;d=h+16|0;H=h+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[H>>2]|0)>0){d=f[h+40>>2]|0;a=0;do{f[d+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[H>>2]|0))}H=f[h+44>>2]|0;if((H|0)==(h+48|0)){u=g;return}dX(H);u=g;return}function vda(a){a=a|0;var b=0,c=0,d=0,e=0;b=a+56|0;c=a+92|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+72|0;b=a+60|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+96>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+100>>2]|0;if((b|0)!=(a+104|0))dX(b);b=a+36|0;d=f[b>>2]|0;if(d|0?(c=d+12|0,d=f[c>>2]|0,f[c>>2]=d+-1,(d|0)==1):0)XO(a);f[b>>2]=0;b=a+16|0;d=a+4|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[d>>2]|0)>0){b=f[a+40>>2]|0;c=0;do{f[b+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[d>>2]|0))}d=f[a+44>>2]|0;if((d|0)==(a+48|0))return;dX(d);return}function wda(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+128|0;e=d;g=(c|0)<1?3:c;xda(e,a,b,g);Tca(f[e+16>>2]|0,f[e+48>>2]|0,f[e+72>>2]|0,f[e+104>>2]|0,f[e+12>>2]|0,f[e+8>>2]|0,f[e+112>>2]|0,g);yda(e);u=d;return}function xda(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;g=u;u=u+64|0;h=g+8|0;i=g;f[a>>2]=1124007936;j=a+4|0;k=a+8|0;l=a+40|0;m=j;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[l>>2]=k;o=a+48|0;p=a+44|0;f[p>>2]=o;f[o>>2]=0;f[a+52>>2]=0;o=a+56|0;f[o>>2]=1124007936;q=a+60|0;r=a+64|0;s=a+96|0;m=q;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[s>>2]=r;t=a+104|0;v=a+100|0;f[v>>2]=t;f[t>>2]=0;f[a+108>>2]=0;t=a+120|0;f[t>>2]=0;w=a+124|0;f[w>>2]=0;x=GJ(c,-1)|0;y=x>>>3&511;f[a+116>>2]=y+1;z=a+112|0;f[z>>2]=x&7;if((e+-3|0)>>>0<2&(y|0)==0)switch(x&7){case 0:case 2:case 5:break;default:A=3}else A=3;if((A|0)==3){f[h>>2]=0;f[h+4>>2]=0;m=JV(h,69)|0;x=247788;n=m+69|0;do{b[m>>0]=b[x>>0]|0;m=m+1|0;x=x+1|0}while((m|0)<(n|0));EP(-215,h,247858,247995,253);KV(h)}x=c+4|0;m=d+4|0;if((f[x>>2]|0)!=(f[m>>2]|0)){do if((HJ(c)|0)==65536){n=f[x>>2]|0;f[h>>2]=f[n>>2];y=h+4|0;B=n+4|0;f[y>>2]=f[B>>2];C=h+8|0;f[C>>2]=f[n+8>>2];f[h+12>>2]=f[n+12>>2];f[h+16>>2]=f[n+16>>2];f[h+20>>2]=f[n+20>>2];f[h+24>>2]=f[n+24>>2];f[h+28>>2]=f[n+28>>2];f[h+32>>2]=f[n+32>>2];D=f[n+36>>2]|0;f[h+36>>2]=D;f[h+40>>2]=C;C=h+48|0;E=h+44|0;f[E>>2]=C;f[C>>2]=0;f[h+52>>2]=0;if(D|0){C=D+12|0;f[C>>2]=(f[C>>2]|0)+1}if((f[B>>2]|0)<3){B=f[n+44>>2]|0;C=f[E>>2]|0;f[C>>2]=f[B>>2];f[C+4>>2]=f[B+4>>2];break}else{f[y>>2]=0;WO(h,n);break}}else DJ(h,c,-1);while(0);x=h+36|0;n=f[x>>2]|0;if((a|0)==(h|0))F=n;else{if(n|0){y=n+12|0;f[y>>2]=(f[y>>2]|0)+1}y=a+36|0;n=f[y>>2]|0;if(n|0?(B=n+12|0,n=f[B>>2]|0,f[B>>2]=n+-1,(n|0)==1):0)XO(a);f[y>>2]=0;n=a+16|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;if((f[j>>2]|0)>0){B=f[l>>2]|0;C=0;do{f[B+(C<<2)>>2]=0;C=C+1|0;G=f[j>>2]|0}while((C|0)<(G|0));f[a>>2]=f[h>>2];if((G|0)<3)A=24;else A=26}else{f[a>>2]=f[h>>2];A=24}if((A|0)==24){G=f[h+4>>2]|0;if((G|0)<3){f[j>>2]=G;f[k>>2]=f[h+8>>2];f[a+12>>2]=f[h+12>>2];k=f[h+44>>2]|0;G=f[p>>2]|0;f[G>>2]=f[k>>2];f[G+4>>2]=f[k+4>>2]}else A=26}if((A|0)==26)WO(a,h);f[n>>2]=f[h+16>>2];f[a+20>>2]=f[h+20>>2];f[a+24>>2]=f[h+24>>2];f[a+28>>2]=f[h+28>>2];f[a+32>>2]=f[h+32>>2];n=f[x>>2]|0;f[y>>2]=n;F=n}if(F|0?(n=F+12|0,F=f[n>>2]|0,f[n>>2]=F+-1,(F|0)==1):0)XO(h);f[x>>2]=0;x=h+16|0;F=h+4|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;if((f[F>>2]|0)>0){x=f[h+40>>2]|0;n=0;do{f[x+(n<<2)>>2]=0;n=n+1|0}while((n|0)<(f[F>>2]|0))}F=f[h+44>>2]|0;if((F|0)!=(h+48|0))dX(F)}else{F=h+8|0;f[F>>2]=0;f[F+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=a;XJ(c,h)}c=f[l>>2]|0;l=f[c+4>>2]|0;F=f[c>>2]|0;f[t>>2]=l;f[w>>2]=F;f[i>>2]=l;f[i+4>>2]=F;_J(d,i,f[z>>2]&7|(e<<3)+-8,-1,0,0);do if((HJ(d)|0)==65536){e=f[m>>2]|0;f[h>>2]=f[e>>2];z=h+4|0;i=e+4|0;f[z>>2]=f[i>>2];F=h+8|0;f[F>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];f[h+24>>2]=f[e+24>>2];f[h+28>>2]=f[e+28>>2];f[h+32>>2]=f[e+32>>2];l=f[e+36>>2]|0;f[h+36>>2]=l;f[h+40>>2]=F;F=h+48|0;w=h+44|0;f[w>>2]=F;f[F>>2]=0;f[h+52>>2]=0;if(l|0){F=l+12|0;f[F>>2]=(f[F>>2]|0)+1}if((f[i>>2]|0)<3){i=f[e+44>>2]|0;F=f[w>>2]|0;f[F>>2]=f[i>>2];f[F+4>>2]=f[i+4>>2];break}else{f[z>>2]=0;WO(h,e);break}}else DJ(h,d,-1);while(0);d=h+36|0;m=f[d>>2]|0;if((o|0)==(h|0))H=m;else{if(m|0){e=m+12|0;f[e>>2]=(f[e>>2]|0)+1}e=a+92|0;m=f[e>>2]|0;if(m|0?(z=m+12|0,m=f[z>>2]|0,f[z>>2]=m+-1,(m|0)==1):0)XO(o);f[e>>2]=0;m=a+72|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;if((f[q>>2]|0)>0){z=f[s>>2]|0;s=0;do{f[z+(s<<2)>>2]=0;s=s+1|0;I=f[q>>2]|0}while((s|0)<(I|0));f[o>>2]=f[h>>2];if((I|0)<3)A=55;else A=57}else{f[o>>2]=f[h>>2];A=55}if((A|0)==55){I=f[h+4>>2]|0;if((I|0)<3){f[q>>2]=I;f[r>>2]=f[h+8>>2];f[a+68>>2]=f[h+12>>2];r=f[h+44>>2]|0;I=f[v>>2]|0;f[I>>2]=f[r>>2];f[I+4>>2]=f[r+4>>2]}else A=57}if((A|0)==57)WO(o,h);f[m>>2]=f[h+16>>2];f[a+76>>2]=f[h+20>>2];f[a+80>>2]=f[h+24>>2];f[a+84>>2]=f[h+28>>2];f[a+88>>2]=f[h+32>>2];a=f[d>>2]|0;f[e>>2]=a;H=a}if(H|0?(a=H+12|0,H=f[a>>2]|0,f[a>>2]=H+-1,(H|0)==1):0)XO(h);f[d>>2]=0;d=h+16|0;H=h+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[H>>2]|0)>0){d=f[h+40>>2]|0;a=0;do{f[d+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[H>>2]|0))}H=f[h+44>>2]|0;if((H|0)==(h+48|0)){u=g;return}dX(H);u=g;return}function yda(a){a=a|0;var b=0,c=0,d=0,e=0;b=a+56|0;c=a+92|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+72|0;b=a+60|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+96>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+100>>2]|0;if((b|0)!=(a+104|0))dX(b);b=a+36|0;d=f[b>>2]|0;if(d|0?(c=d+12|0,d=f[c>>2]|0,f[c>>2]=d+-1,(d|0)==1):0)XO(a);f[b>>2]=0;b=a+16|0;d=a+4|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[d>>2]|0)>0){b=f[a+40>>2]|0;c=0;do{f[b+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[d>>2]|0))}d=f[a+44>>2]|0;if((d|0)==(a+48|0))return;dX(d);return}function zda(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+128|0;e=d;Ada(e,a,b,1);_ca(f[e+16>>2]|0,f[e+48>>2]|0,f[e+72>>2]|0,f[e+104>>2]|0,f[e+12>>2]|0,f[e+8>>2]|0,c);Bda(e);u=d;return}function Ada(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;g=u;u=u+64|0;h=g+8|0;i=g;f[a>>2]=1124007936;j=a+4|0;k=a+8|0;l=a+40|0;m=j;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[l>>2]=k;o=a+48|0;p=a+44|0;f[p>>2]=o;f[o>>2]=0;f[a+52>>2]=0;o=a+56|0;f[o>>2]=1124007936;q=a+60|0;r=a+64|0;s=a+96|0;m=q;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[s>>2]=r;t=a+104|0;v=a+100|0;f[v>>2]=t;f[t>>2]=0;f[a+108>>2]=0;t=a+120|0;f[t>>2]=0;w=a+124|0;f[w>>2]=0;x=GJ(c,-1)|0;y=(x>>>3&511)+1|0;f[a+116>>2]=y;z=x&7;x=a+112|0;f[x>>2]=z;if(!((z|0)==0&((e|0)==1&(y|0)==2))){f[h>>2]=0;f[h+4>>2]=0;m=JV(h,69)|0;y=247788;n=m+69|0;do{b[m>>0]=b[y>>0]|0;m=m+1|0;y=y+1|0}while((m|0)<(n|0));EP(-215,h,247858,247995,253);KV(h)}y=c+4|0;m=d+4|0;if((f[y>>2]|0)!=(f[m>>2]|0)){do if((HJ(c)|0)==65536){n=f[y>>2]|0;f[h>>2]=f[n>>2];z=h+4|0;A=n+4|0;f[z>>2]=f[A>>2];B=h+8|0;f[B>>2]=f[n+8>>2];f[h+12>>2]=f[n+12>>2];f[h+16>>2]=f[n+16>>2];f[h+20>>2]=f[n+20>>2];f[h+24>>2]=f[n+24>>2];f[h+28>>2]=f[n+28>>2];f[h+32>>2]=f[n+32>>2];C=f[n+36>>2]|0;f[h+36>>2]=C;f[h+40>>2]=B;B=h+48|0;D=h+44|0;f[D>>2]=B;f[B>>2]=0;f[h+52>>2]=0;if(C|0){B=C+12|0;f[B>>2]=(f[B>>2]|0)+1}if((f[A>>2]|0)<3){A=f[n+44>>2]|0;B=f[D>>2]|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];break}else{f[z>>2]=0;WO(h,n);break}}else DJ(h,c,-1);while(0);y=h+36|0;n=f[y>>2]|0;if((a|0)==(h|0))E=n;else{if(n|0){z=n+12|0;f[z>>2]=(f[z>>2]|0)+1}z=a+36|0;n=f[z>>2]|0;if(n|0?(A=n+12|0,n=f[A>>2]|0,f[A>>2]=n+-1,(n|0)==1):0)XO(a);f[z>>2]=0;n=a+16|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;if((f[j>>2]|0)>0){A=f[l>>2]|0;B=0;do{f[A+(B<<2)>>2]=0;B=B+1|0;F=f[j>>2]|0}while((B|0)<(F|0));f[a>>2]=f[h>>2];if((F|0)<3)G=23;else G=25}else{f[a>>2]=f[h>>2];G=23}if((G|0)==23){F=f[h+4>>2]|0;if((F|0)<3){f[j>>2]=F;f[k>>2]=f[h+8>>2];f[a+12>>2]=f[h+12>>2];k=f[h+44>>2]|0;F=f[p>>2]|0;f[F>>2]=f[k>>2];f[F+4>>2]=f[k+4>>2]}else G=25}if((G|0)==25)WO(a,h);f[n>>2]=f[h+16>>2];f[a+20>>2]=f[h+20>>2];f[a+24>>2]=f[h+24>>2];f[a+28>>2]=f[h+28>>2];f[a+32>>2]=f[h+32>>2];n=f[y>>2]|0;f[z>>2]=n;E=n}if(E|0?(n=E+12|0,E=f[n>>2]|0,f[n>>2]=E+-1,(E|0)==1):0)XO(h);f[y>>2]=0;y=h+16|0;E=h+4|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;if((f[E>>2]|0)>0){y=f[h+40>>2]|0;n=0;do{f[y+(n<<2)>>2]=0;n=n+1|0}while((n|0)<(f[E>>2]|0))}E=f[h+44>>2]|0;if((E|0)!=(h+48|0))dX(E)}else{E=h+8|0;f[E>>2]=0;f[E+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=a;XJ(c,h)}c=f[l>>2]|0;l=f[c+4>>2]|0;E=f[c>>2]|0;f[t>>2]=l;f[w>>2]=E;f[i>>2]=l;f[i+4>>2]=E;_J(d,i,f[x>>2]&7|(e<<3)+-8,-1,0,0);do if((HJ(d)|0)==65536){e=f[m>>2]|0;f[h>>2]=f[e>>2];x=h+4|0;i=e+4|0;f[x>>2]=f[i>>2];E=h+8|0;f[E>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];f[h+24>>2]=f[e+24>>2];f[h+28>>2]=f[e+28>>2];f[h+32>>2]=f[e+32>>2];l=f[e+36>>2]|0;f[h+36>>2]=l;f[h+40>>2]=E;E=h+48|0;w=h+44|0;f[w>>2]=E;f[E>>2]=0;f[h+52>>2]=0;if(l|0){E=l+12|0;f[E>>2]=(f[E>>2]|0)+1}if((f[i>>2]|0)<3){i=f[e+44>>2]|0;E=f[w>>2]|0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];break}else{f[x>>2]=0;WO(h,e);break}}else DJ(h,d,-1);while(0);d=h+36|0;m=f[d>>2]|0;if((o|0)==(h|0))H=m;else{if(m|0){e=m+12|0;f[e>>2]=(f[e>>2]|0)+1}e=a+92|0;m=f[e>>2]|0;if(m|0?(x=m+12|0,m=f[x>>2]|0,f[x>>2]=m+-1,(m|0)==1):0)XO(o);f[e>>2]=0;m=a+72|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;if((f[q>>2]|0)>0){x=f[s>>2]|0;s=0;do{f[x+(s<<2)>>2]=0;s=s+1|0;I=f[q>>2]|0}while((s|0)<(I|0));f[o>>2]=f[h>>2];if((I|0)<3)G=54;else G=56}else{f[o>>2]=f[h>>2];G=54}if((G|0)==54){I=f[h+4>>2]|0;if((I|0)<3){f[q>>2]=I;f[r>>2]=f[h+8>>2];f[a+68>>2]=f[h+12>>2];r=f[h+44>>2]|0;I=f[v>>2]|0;f[I>>2]=f[r>>2];f[I+4>>2]=f[r+4>>2]}else G=56}if((G|0)==56)WO(o,h);f[m>>2]=f[h+16>>2];f[a+76>>2]=f[h+20>>2];f[a+80>>2]=f[h+24>>2];f[a+84>>2]=f[h+28>>2];f[a+88>>2]=f[h+32>>2];a=f[d>>2]|0;f[e>>2]=a;H=a}if(H|0?(a=H+12|0,H=f[a>>2]|0,f[a>>2]=H+-1,(H|0)==1):0)XO(h);f[d>>2]=0;d=h+16|0;H=h+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[H>>2]|0)>0){d=f[h+40>>2]|0;a=0;do{f[d+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[H>>2]|0))}H=f[h+44>>2]|0;if((H|0)==(h+48|0)){u=g;return}dX(H);u=g;return}function Bda(a){a=a|0;var b=0,c=0,d=0,e=0;b=a+56|0;c=a+92|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+72|0;b=a+60|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+96>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+100>>2]|0;if((b|0)!=(a+104|0))dX(b);b=a+36|0;d=f[b>>2]|0;if(d|0?(c=d+12|0,d=f[c>>2]|0,f[c>>2]=d+-1,(d|0)==1):0)XO(a);f[b>>2]=0;b=a+16|0;d=a+4|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[d>>2]|0)>0){b=f[a+40>>2]|0;c=0;do{f[b+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[d>>2]|0))}d=f[a+44>>2]|0;if((d|0)==(a+48|0))return;dX(d);return}function Cda(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+128|0;e=d;Dda(e,a,b,2);bda(f[e+16>>2]|0,f[e+48>>2]|0,f[e+72>>2]|0,f[e+104>>2]|0,f[e+12>>2]|0,f[e+8>>2]|0,c);Eda(e);u=d;return}function Dda(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;g=u;u=u+64|0;h=g+8|0;i=g;f[a>>2]=1124007936;j=a+4|0;k=a+8|0;l=a+40|0;m=j;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[l>>2]=k;o=a+48|0;p=a+44|0;f[p>>2]=o;f[o>>2]=0;f[a+52>>2]=0;o=a+56|0;f[o>>2]=1124007936;q=a+60|0;r=a+64|0;s=a+96|0;m=q;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[s>>2]=r;t=a+104|0;v=a+100|0;f[v>>2]=t;f[t>>2]=0;f[a+108>>2]=0;t=a+120|0;f[t>>2]=0;w=a+124|0;f[w>>2]=0;x=GJ(c,-1)|0;y=x>>>3&511;f[a+116>>2]=y+1;z=x&7;x=a+112|0;f[x>>2]=z;if(!((e|0)==2&(y|z|0)==0)){f[h>>2]=0;f[h+4>>2]=0;m=JV(h,69)|0;z=247788;n=m+69|0;do{b[m>>0]=b[z>>0]|0;m=m+1|0;z=z+1|0}while((m|0)<(n|0));EP(-215,h,247858,247995,253);KV(h)}z=c+4|0;m=d+4|0;if((f[z>>2]|0)!=(f[m>>2]|0)){do if((HJ(c)|0)==65536){n=f[z>>2]|0;f[h>>2]=f[n>>2];y=h+4|0;A=n+4|0;f[y>>2]=f[A>>2];B=h+8|0;f[B>>2]=f[n+8>>2];f[h+12>>2]=f[n+12>>2];f[h+16>>2]=f[n+16>>2];f[h+20>>2]=f[n+20>>2];f[h+24>>2]=f[n+24>>2];f[h+28>>2]=f[n+28>>2];f[h+32>>2]=f[n+32>>2];C=f[n+36>>2]|0;f[h+36>>2]=C;f[h+40>>2]=B;B=h+48|0;D=h+44|0;f[D>>2]=B;f[B>>2]=0;f[h+52>>2]=0;if(C|0){B=C+12|0;f[B>>2]=(f[B>>2]|0)+1}if((f[A>>2]|0)<3){A=f[n+44>>2]|0;B=f[D>>2]|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];break}else{f[y>>2]=0;WO(h,n);break}}else DJ(h,c,-1);while(0);z=h+36|0;n=f[z>>2]|0;if((a|0)==(h|0))E=n;else{if(n|0){y=n+12|0;f[y>>2]=(f[y>>2]|0)+1}y=a+36|0;n=f[y>>2]|0;if(n|0?(A=n+12|0,n=f[A>>2]|0,f[A>>2]=n+-1,(n|0)==1):0)XO(a);f[y>>2]=0;n=a+16|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;if((f[j>>2]|0)>0){A=f[l>>2]|0;B=0;do{f[A+(B<<2)>>2]=0;B=B+1|0;F=f[j>>2]|0}while((B|0)<(F|0));f[a>>2]=f[h>>2];if((F|0)<3)G=23;else G=25}else{f[a>>2]=f[h>>2];G=23}if((G|0)==23){F=f[h+4>>2]|0;if((F|0)<3){f[j>>2]=F;f[k>>2]=f[h+8>>2];f[a+12>>2]=f[h+12>>2];k=f[h+44>>2]|0;F=f[p>>2]|0;f[F>>2]=f[k>>2];f[F+4>>2]=f[k+4>>2]}else G=25}if((G|0)==25)WO(a,h);f[n>>2]=f[h+16>>2];f[a+20>>2]=f[h+20>>2];f[a+24>>2]=f[h+24>>2];f[a+28>>2]=f[h+28>>2];f[a+32>>2]=f[h+32>>2];n=f[z>>2]|0;f[y>>2]=n;E=n}if(E|0?(n=E+12|0,E=f[n>>2]|0,f[n>>2]=E+-1,(E|0)==1):0)XO(h);f[z>>2]=0;z=h+16|0;E=h+4|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;if((f[E>>2]|0)>0){z=f[h+40>>2]|0;n=0;do{f[z+(n<<2)>>2]=0;n=n+1|0}while((n|0)<(f[E>>2]|0))}E=f[h+44>>2]|0;if((E|0)!=(h+48|0))dX(E)}else{E=h+8|0;f[E>>2]=0;f[E+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=a;XJ(c,h)}c=f[l>>2]|0;l=f[c+4>>2]|0;E=f[c>>2]|0;f[t>>2]=l;f[w>>2]=E;f[i>>2]=l;f[i+4>>2]=E;_J(d,i,f[x>>2]&7|(e<<3)+-8,-1,0,0);do if((HJ(d)|0)==65536){e=f[m>>2]|0;f[h>>2]=f[e>>2];x=h+4|0;i=e+4|0;f[x>>2]=f[i>>2];E=h+8|0;f[E>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];f[h+24>>2]=f[e+24>>2];f[h+28>>2]=f[e+28>>2];f[h+32>>2]=f[e+32>>2];l=f[e+36>>2]|0;f[h+36>>2]=l;f[h+40>>2]=E;E=h+48|0;w=h+44|0;f[w>>2]=E;f[E>>2]=0;f[h+52>>2]=0;if(l|0){E=l+12|0;f[E>>2]=(f[E>>2]|0)+1}if((f[i>>2]|0)<3){i=f[e+44>>2]|0;E=f[w>>2]|0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];break}else{f[x>>2]=0;WO(h,e);break}}else DJ(h,d,-1);while(0);d=h+36|0;m=f[d>>2]|0;if((o|0)==(h|0))H=m;else{if(m|0){e=m+12|0;f[e>>2]=(f[e>>2]|0)+1}e=a+92|0;m=f[e>>2]|0;if(m|0?(x=m+12|0,m=f[x>>2]|0,f[x>>2]=m+-1,(m|0)==1):0)XO(o);f[e>>2]=0;m=a+72|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;if((f[q>>2]|0)>0){x=f[s>>2]|0;s=0;do{f[x+(s<<2)>>2]=0;s=s+1|0;I=f[q>>2]|0}while((s|0)<(I|0));f[o>>2]=f[h>>2];if((I|0)<3)G=54;else G=56}else{f[o>>2]=f[h>>2];G=54}if((G|0)==54){I=f[h+4>>2]|0;if((I|0)<3){f[q>>2]=I;f[r>>2]=f[h+8>>2];f[a+68>>2]=f[h+12>>2];r=f[h+44>>2]|0;I=f[v>>2]|0;f[I>>2]=f[r>>2];f[I+4>>2]=f[r+4>>2]}else G=56}if((G|0)==56)WO(o,h);f[m>>2]=f[h+16>>2];f[a+76>>2]=f[h+20>>2];f[a+80>>2]=f[h+24>>2];f[a+84>>2]=f[h+28>>2];f[a+88>>2]=f[h+32>>2];a=f[d>>2]|0;f[e>>2]=a;H=a}if(H|0?(a=H+12|0,H=f[a>>2]|0,f[a>>2]=H+-1,(H|0)==1):0)XO(h);f[d>>2]=0;d=h+16|0;H=h+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[H>>2]|0)>0){d=f[h+40>>2]|0;a=0;do{f[d+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[H>>2]|0))}H=f[h+44>>2]|0;if((H|0)==(h+48|0)){u=g;return}dX(H);u=g;return}function Eda(a){a=a|0;var b=0,c=0,d=0,e=0;b=a+56|0;c=a+92|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+72|0;b=a+60|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+96>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+100>>2]|0;if((b|0)!=(a+104|0))dX(b);b=a+36|0;d=f[b>>2]|0;if(d|0?(c=d+12|0,d=f[c>>2]|0,f[c>>2]=d+-1,(d|0)==1):0)XO(a);f[b>>2]=0;b=a+16|0;d=a+4|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[d>>2]|0)>0){b=f[a+40>>2]|0;c=0;do{f[b+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[d>>2]|0))}d=f[a+44>>2]|0;if((d|0)==(a+48|0))return;dX(d);return}function Fda(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+128|0;d=c;Gda(d,a,b,4);eda(f[d+16>>2]|0,f[d+48>>2]|0,f[d+72>>2]|0,f[d+104>>2]|0,f[d+12>>2]|0,f[d+8>>2]|0);Hda(d);u=c;return}function Gda(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;g=u;u=u+64|0;h=g+8|0;i=g;f[a>>2]=1124007936;j=a+4|0;k=a+8|0;l=a+40|0;m=j;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[l>>2]=k;o=a+48|0;p=a+44|0;f[p>>2]=o;f[o>>2]=0;f[a+52>>2]=0;o=a+56|0;f[o>>2]=1124007936;q=a+60|0;r=a+64|0;s=a+96|0;m=q;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[s>>2]=r;t=a+104|0;v=a+100|0;f[v>>2]=t;f[t>>2]=0;f[a+108>>2]=0;t=a+120|0;f[t>>2]=0;w=a+124|0;f[w>>2]=0;x=GJ(c,-1)|0;y=(x>>>3&511)+1|0;f[a+116>>2]=y;z=x&7;x=a+112|0;f[x>>2]=z;if(!((z|0)==0&((e|0)==4&(y|0)==4))){f[h>>2]=0;f[h+4>>2]=0;m=JV(h,69)|0;y=247788;n=m+69|0;do{b[m>>0]=b[y>>0]|0;m=m+1|0;y=y+1|0}while((m|0)<(n|0));EP(-215,h,247858,247995,253);KV(h)}y=c+4|0;m=d+4|0;if((f[y>>2]|0)!=(f[m>>2]|0)){do if((HJ(c)|0)==65536){n=f[y>>2]|0;f[h>>2]=f[n>>2];z=h+4|0;A=n+4|0;f[z>>2]=f[A>>2];B=h+8|0;f[B>>2]=f[n+8>>2];f[h+12>>2]=f[n+12>>2];f[h+16>>2]=f[n+16>>2];f[h+20>>2]=f[n+20>>2];f[h+24>>2]=f[n+24>>2];f[h+28>>2]=f[n+28>>2];f[h+32>>2]=f[n+32>>2];C=f[n+36>>2]|0;f[h+36>>2]=C;f[h+40>>2]=B;B=h+48|0;D=h+44|0;f[D>>2]=B;f[B>>2]=0;f[h+52>>2]=0;if(C|0){B=C+12|0;f[B>>2]=(f[B>>2]|0)+1}if((f[A>>2]|0)<3){A=f[n+44>>2]|0;B=f[D>>2]|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];break}else{f[z>>2]=0;WO(h,n);break}}else DJ(h,c,-1);while(0);y=h+36|0;n=f[y>>2]|0;if((a|0)==(h|0))E=n;else{if(n|0){z=n+12|0;f[z>>2]=(f[z>>2]|0)+1}z=a+36|0;n=f[z>>2]|0;if(n|0?(A=n+12|0,n=f[A>>2]|0,f[A>>2]=n+-1,(n|0)==1):0)XO(a);f[z>>2]=0;n=a+16|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;if((f[j>>2]|0)>0){A=f[l>>2]|0;B=0;do{f[A+(B<<2)>>2]=0;B=B+1|0;F=f[j>>2]|0}while((B|0)<(F|0));f[a>>2]=f[h>>2];if((F|0)<3)G=23;else G=25}else{f[a>>2]=f[h>>2];G=23}if((G|0)==23){F=f[h+4>>2]|0;if((F|0)<3){f[j>>2]=F;f[k>>2]=f[h+8>>2];f[a+12>>2]=f[h+12>>2];k=f[h+44>>2]|0;F=f[p>>2]|0;f[F>>2]=f[k>>2];f[F+4>>2]=f[k+4>>2]}else G=25}if((G|0)==25)WO(a,h);f[n>>2]=f[h+16>>2];f[a+20>>2]=f[h+20>>2];f[a+24>>2]=f[h+24>>2];f[a+28>>2]=f[h+28>>2];f[a+32>>2]=f[h+32>>2];n=f[y>>2]|0;f[z>>2]=n;E=n}if(E|0?(n=E+12|0,E=f[n>>2]|0,f[n>>2]=E+-1,(E|0)==1):0)XO(h);f[y>>2]=0;y=h+16|0;E=h+4|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;if((f[E>>2]|0)>0){y=f[h+40>>2]|0;n=0;do{f[y+(n<<2)>>2]=0;n=n+1|0}while((n|0)<(f[E>>2]|0))}E=f[h+44>>2]|0;if((E|0)!=(h+48|0))dX(E)}else{E=h+8|0;f[E>>2]=0;f[E+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=a;XJ(c,h)}c=f[l>>2]|0;l=f[c+4>>2]|0;E=f[c>>2]|0;f[t>>2]=l;f[w>>2]=E;f[i>>2]=l;f[i+4>>2]=E;_J(d,i,f[x>>2]&7|(e<<3)+-8,-1,0,0);do if((HJ(d)|0)==65536){e=f[m>>2]|0;f[h>>2]=f[e>>2];x=h+4|0;i=e+4|0;f[x>>2]=f[i>>2];E=h+8|0;f[E>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];f[h+24>>2]=f[e+24>>2];f[h+28>>2]=f[e+28>>2];f[h+32>>2]=f[e+32>>2];l=f[e+36>>2]|0;f[h+36>>2]=l;f[h+40>>2]=E;E=h+48|0;w=h+44|0;f[w>>2]=E;f[E>>2]=0;f[h+52>>2]=0;if(l|0){E=l+12|0;f[E>>2]=(f[E>>2]|0)+1}if((f[i>>2]|0)<3){i=f[e+44>>2]|0;E=f[w>>2]|0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];break}else{f[x>>2]=0;WO(h,e);break}}else DJ(h,d,-1);while(0);d=h+36|0;m=f[d>>2]|0;if((o|0)==(h|0))H=m;else{if(m|0){e=m+12|0;f[e>>2]=(f[e>>2]|0)+1}e=a+92|0;m=f[e>>2]|0;if(m|0?(x=m+12|0,m=f[x>>2]|0,f[x>>2]=m+-1,(m|0)==1):0)XO(o);f[e>>2]=0;m=a+72|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;if((f[q>>2]|0)>0){x=f[s>>2]|0;s=0;do{f[x+(s<<2)>>2]=0;s=s+1|0;I=f[q>>2]|0}while((s|0)<(I|0));f[o>>2]=f[h>>2];if((I|0)<3)G=54;else G=56}else{f[o>>2]=f[h>>2];G=54}if((G|0)==54){I=f[h+4>>2]|0;if((I|0)<3){f[q>>2]=I;f[r>>2]=f[h+8>>2];f[a+68>>2]=f[h+12>>2];r=f[h+44>>2]|0;I=f[v>>2]|0;f[I>>2]=f[r>>2];f[I+4>>2]=f[r+4>>2]}else G=56}if((G|0)==56)WO(o,h);f[m>>2]=f[h+16>>2];f[a+76>>2]=f[h+20>>2];f[a+80>>2]=f[h+24>>2];f[a+84>>2]=f[h+28>>2];f[a+88>>2]=f[h+32>>2];a=f[d>>2]|0;f[e>>2]=a;H=a}if(H|0?(a=H+12|0,H=f[a>>2]|0,f[a>>2]=H+-1,(H|0)==1):0)XO(h);f[d>>2]=0;d=h+16|0;H=h+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[H>>2]|0)>0){d=f[h+40>>2]|0;a=0;do{f[d+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[H>>2]|0))}H=f[h+44>>2]|0;if((H|0)==(h+48|0)){u=g;return}dX(H);u=g;return}function Hda(a){a=a|0;var b=0,c=0,d=0,e=0;b=a+56|0;c=a+92|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+72|0;b=a+60|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+96>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+100>>2]|0;if((b|0)!=(a+104|0))dX(b);b=a+36|0;d=f[b>>2]|0;if(d|0?(c=d+12|0,d=f[c>>2]|0,f[c>>2]=d+-1,(d|0)==1):0)XO(a);f[b>>2]=0;b=a+16|0;d=a+4|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[d>>2]|0)>0){b=f[a+40>>2]|0;c=0;do{f[b+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[d>>2]|0))}d=f[a+44>>2]|0;if((d|0)==(a+48|0))return;dX(d);return}function Ida(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+128|0;d=c;Gda(d,a,b,4);hda(f[d+16>>2]|0,f[d+48>>2]|0,f[d+72>>2]|0,f[d+104>>2]|0,f[d+12>>2]|0,f[d+8>>2]|0);Hda(d);u=c;return}function Jda(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=+e;g=+g;h=+h;var i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,M=0,P=0.0,R=0.0,S=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0.0,Aa=0.0,Ba=0.0,Ca=0.0,Da=0.0,Ea=0.0,Fa=0.0,Ga=0.0,Ha=0.0,Ia=0.0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0.0,Qa=0.0,Ra=0.0,Sa=0.0,Ta=0.0,Ua=0.0,Va=0.0,Wa=0.0,Xa=0.0,Ya=0.0,Za=0.0,_a=0.0;i=u;u=u+1232|0;j=i+168|0;k=i+144|0;l=i+80|0;m=i+24|0;o=i;p=i+88|0;yV(l,56636);do if((HJ(a)|0)==65536){q=f[a+4>>2]|0;f[m>>2]=f[q>>2];r=m+4|0;s=q+4|0;f[r>>2]=f[s>>2];t=m+8|0;f[t>>2]=f[q+8>>2];f[m+12>>2]=f[q+12>>2];f[m+16>>2]=f[q+16>>2];f[m+20>>2]=f[q+20>>2];f[m+24>>2]=f[q+24>>2];f[m+28>>2]=f[q+28>>2];f[m+32>>2]=f[q+32>>2];v=f[q+36>>2]|0;f[m+36>>2]=v;f[m+40>>2]=t;t=m+48|0;w=m+44|0;f[w>>2]=t;f[t>>2]=0;f[m+52>>2]=0;if(v|0){t=v+12|0;f[t>>2]=(f[t>>2]|0)+1}if((f[s>>2]|0)<3){s=f[q+44>>2]|0;t=f[w>>2]|0;f[t>>2]=f[s>>2];f[t+4>>2]=f[s+4>>2];break}else{f[r>>2]=0;WO(m,q);break}}else DJ(m,a,-1);while(0);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;a=jP(m,2,-1,0)|0;q=jP(m,3,-1,0)|0;r=(a|0)>-1;if((q&a|0)<=-1){f[j>>2]=0;f[j+4>>2]=0;x=JV(j,30)|0;y=221806;z=x+30|0;do{b[x>>0]=b[y>>0]|0;x=x+1|0;y=y+1|0}while((x|0)<(z|0));EP(-215,j,221837,221845,605);KV(j)}if((f[m>>2]&16391|0)==16389)A=m+16|0;else{f[j>>2]=1124007936;s=j+4|0;t=j+8|0;w=j+40|0;x=s;z=x+36|0;do{f[x>>2]=0;x=x+4|0}while((x|0)<(z|0));f[w>>2]=t;v=j+48|0;B=j+44|0;f[B>>2]=v;f[v>>2]=0;f[j+52>>2]=0;C=k+8|0;f[C>>2]=0;f[C+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=j;AO(m,k,5,1.0,0.0);C=j+36|0;D=f[C>>2]|0;if(D|0){E=D+12|0;f[E>>2]=(f[E>>2]|0)+1}E=m+36|0;D=f[E>>2]|0;if(D|0?(F=D+12|0,D=f[F>>2]|0,f[F>>2]=D+-1,(D|0)==1):0)XO(m);f[E>>2]=0;D=m+16|0;F=m+4|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;if((f[F>>2]|0)>0){G=f[m+40>>2]|0;H=0;do{f[G+(H<<2)>>2]=0;H=H+1|0;J=f[F>>2]|0}while((H|0)<(J|0));f[m>>2]=f[j>>2];if((J|0)<3)M=22;else M=24}else{f[m>>2]=f[j>>2];M=22}if((M|0)==22){J=f[s>>2]|0;if((J|0)<3){f[F>>2]=J;f[m+8>>2]=f[t>>2];f[m+12>>2]=f[j+12>>2];t=f[B>>2]|0;J=f[m+44>>2]|0;f[J>>2]=f[t>>2];f[J+4>>2]=f[t+4>>2]}else M=24}if((M|0)==24)WO(m,j);t=j+16|0;f[D>>2]=f[t>>2];f[m+20>>2]=f[j+20>>2];f[m+24>>2]=f[j+24>>2];f[m+28>>2]=f[j+28>>2];f[m+32>>2]=f[j+32>>2];J=f[C>>2]|0;f[E>>2]=J;if(J|0?(E=J+12|0,J=f[E>>2]|0,f[E>>2]=J+-1,(J|0)==1):0)XO(j);f[C>>2]=0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;if((f[s>>2]|0)>0){t=f[w>>2]|0;w=0;do{f[t+(w<<2)>>2]=0;w=w+1|0}while((w|0)<(f[s>>2]|0))}s=f[B>>2]|0;if((s|0)!=(v|0))dX(s);A=D}D=f[A>>2]|0;if(r){P=e;R=g;S=h;U=+(a|0);V=U*1.1920928955078125e-07;W=R!=0.0?R:1.0;r=S!=0.0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;switch(d|0){case 2:{if((a|0)>0){s=0;R=0.0;X=0.0;Y=0.0;Z=0.0;_=0.0;while(1){$=+n[D+(s<<3)>>2];aa=_+$;ba=+n[D+(s<<3)+4>>2];ca=R+ba;da=X+$*$;ea=Y+ba*ba;fa=Z+$*ba;s=s+1|0;if((s|0)==(a|0)){ga=aa;ha=ca;ia=da;ja=ea;ka=fa;break}else{R=ca;X=da;Y=ea;Z=fa;_=aa}}}else{ga=0.0;ha=0.0;ia=0.0;ja=0.0;ka=0.0}_=U;U=ga/_;ga=ha/_;ha=+T(+((ka/_-ga*U)*2.0),+(ia/_-U*U-(ja/_-ga*ga)))*.5;_=+N(+ha);n[o>>2]=_;_=+O(+ha);n[o+4>>2]=_;n[o+8>>2]=U;n[o+12>>2]=ga;break}case 1:{la=182;ma=0;M=44;break}case 4:{la=183;ma=0;M=44;break}case 5:{la=0;ma=33;M=44;break}case 6:{la=0;ma=34;M=44;break}case 7:{la=0;ma=35;M=44;break}default:{f[j>>2]=0;f[j+4>>2]=0;x=JV(j,21)|0;y=221904;z=x+21|0;do{b[x>>0]=b[y>>0]|0;x=x+1|0;y=y+1|0}while((x|0)<(z|0));EP(-5,j,221926,221845,359);KV(j);la=0;ma=0;M=44}}if((M|0)==44){s=a<<1;v=j+8|0;f[j>>2]=v;B=j+4|0;f[B>>2]=s;if(s>>>0>264){w=FQa(s>>>0>1073741823?-1:s<<2)|0;f[j>>2]=w;na=w}else na=v;w=na+(a<<2)|0;s=(a|0)>0;t=(a|0)<10?a:10;C=k+4|0;ga=r?S:.009999999776482582;r=k+8|0;J=k+12|0;E=(la|0)==0;F=a<<2;H=(a|0)==0|s^1;G=0;S=0.0;U=1797693134862315708145274.0e284;_=0.0;ha=0.0;ja=0.0;ia=0.0;oa=-1;pa=-1;while(1){if(s)FVa(na|0,0,F|0)|0;if(H){qa=oa;ra=pa}else{sa=0;ta=oa;ua=pa;while(1){va=ta;wa=ua;do{xa=wVa(va|0,0,-130063606,0)|0;va=qVa(xa|0,I|0,wa|0,0)|0;wa=I;ya=na+(((va>>>0)%(a>>>0)|0)<<2)|0}while(!(+n[ya>>2]<1.1920928955078125e-07));sa=sa+1|0;n[ya>>2]=1.0;if((sa|0)>=(t|0)){qa=va;ra=wa;break}else{ta=va;ua=wa}}}Pda(D,a,na,k);ua=0;ka=S;ta=0;Z=_;Y=ha;X=ja;R=ia;while(1){if(ua){aa=+n[k>>2];fa=+n[C>>2];ea=Z*aa+Y*fa;da=ea<-1.0?-1.0:ea;if(+K(+(+Q(+(da>1.0?1.0:da))))>2]-X)),ea=+K(+(+n[J>>2]-R)),(da>ea?da:ea)>2];Fa=+n[C>>2]}fa=+n[r>>2];aa=+n[J>>2];if(s){ea=0.0;sa=0;while(1){da=+K(+(Fa*(+n[D+(sa<<3)>>2]-fa)-Ea*(+n[D+(sa<<3)+4>>2]-aa)));n[w+(sa<<2)>>2]=da;ca=ea+da;sa=sa+1|0;if((sa|0)==(a|0)){Ga=ca;break}else ea=ca}}else Ga=0.0;if(Ga>2];sa=sa+1|0;if((sa|0)==(a|0)){Ha=ca;break}else ea=ca}}else Ha=0.0;if(+K(+Ha)>1.1920928955078125e-07){ea=1.0/Ha;if(s){sa=0;do{wa=na+(sa<<2)|0;n[wa>>2]=ea*+n[wa>>2];sa=sa+1|0}while((sa|0)!=(a|0))}}else if(s){sa=0;do{n[na+(sa<<2)>>2]=1.0;sa=sa+1|0}while((sa|0)!=(a|0))}Pda(D,a,na,k);if((ta|0)<29){ua=1;ka=Ga;ta=ta+1|0;Z=Ea;Y=Fa;X=fa;R=aa}else{za=Ga;Aa=Ea;Ba=Fa;Ca=fa;Da=aa;break}}if(za>2]=f[k>>2];f[o+4>>2]=f[k+4>>2];f[o+8>>2]=f[k+8>>2];f[o+12>>2]=f[k+12>>2];if(za>2]|0;if((ra|0)!=(v|0)){if(ra|0)HQa(ra);f[j>>2]=v;f[B>>2]=264}}}else{Da=e;e=g;g=h;h=+(q|0)*1.1920928955078125e-07;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;ia=e!=0.0?e:1.0;B=g!=0.0;switch(d|0){case 2:{Qda(D,q,0,o);break}case 1:{Ja=182;Ka=0;M=88;break}case 4:{Ja=183;Ka=0;M=88;break}case 5:{Ja=0;Ka=33;M=88;break}case 6:{Ja=0;Ka=34;M=88;break}case 7:{Ja=0;Ka=35;M=88;break}default:{f[j>>2]=0;f[j+4>>2]=0;x=JV(j,16)|0;y=221936;z=x+16|0;do{b[x>>0]=b[y>>0]|0;x=x+1|0;y=y+1|0}while((x|0)<(z|0));EP(-5,j,221953,221845,494);KV(j);Ja=0;Ka=0;M=88}}if((M|0)==88){M=q<<1;y=j+8|0;f[j>>2]=y;x=j+4|0;f[x>>2]=M;if(M>>>0>264){z=FQa(M>>>0>1073741823?-1:M<<2)|0;f[j>>2]=z;La=z}else La=y;z=La+(q<<2)|0;M=(q|0)>0;d=(q|0)<10?q:10;v=k+4|0;ra=k+8|0;e=B?g:.009999999776482582;B=k+12|0;pa=k+16|0;qa=k+20|0;oa=(Ja|0)==0;G=q<<2;na=(q|0)==0|M^1;s=0;g=1797693134862315708145274.0e284;Ca=0.0;ja=0.0;Ba=0.0;ha=0.0;Aa=0.0;_=0.0;Ia=0.0;w=-1;la=-1;while(1){if(M)FVa(La|0,0,G|0)|0;if(na){Ma=w;Na=la}else{ma=0;E=w;J=la;while(1){r=E;C=J;do{t=wVa(r|0,0,-130063606,0)|0;r=qVa(t|0,I|0,C|0,0)|0;C=I;Oa=La+(((r>>>0)%(q>>>0)|0)<<2)|0}while(!(+n[Oa>>2]<1.1920928955078125e-07));ma=ma+1|0;n[Oa>>2]=1.0;if((ma|0)>=(d|0)){Ma=r;Na=C;break}else{E=r;J=C}}}Qda(D,q,La,k);J=0;aa=Ca;E=0;fa=ja;U=Ba;za=ha;S=Aa;V=_;Fa=Ia;while(1){Ea=+n[k>>2];if(J){Ga=+n[v>>2];Ha=+n[ra>>2];P=fa*Ea+V*Ga+Fa*Ha;W=P<-1.0?-1.0:P;if(+K(+(+Q(+(W>1.0?1.0:W))))>2]-U,P=+n[pa>>2]-za,ga=+n[qa>>2]-S,R=Ea-fa,X=Ga-V,Y=Ha-Fa,Z=+K(+(Y*P-X*ga)),ka=+K(+(R*ga-Y*W)),Y=+K(+(X*W-R*P)),P=Z>ka?Z:ka,(P>Y?P:Y)>2];Xa=+n[ra>>2]}Ha=+n[B>>2];Ga=+n[pa>>2];Y=+n[qa>>2];if(M){P=0.0;ma=0;while(1){ka=+n[D+(ma*12|0)>>2]-Ha;Z=+n[D+(ma*12|0)+4>>2]-Ga;R=+n[D+(ma*12|0)+8>>2]-Y;W=Wa*R-Xa*Z;X=Xa*ka-Ea*R;R=Ea*Z-Wa*ka;ka=+L(+(R*R+(W*W+X*X)));n[z+(ma<<2)>>2]=ka;X=P+ka;ma=ma+1|0;if((ma|0)==(q|0)){Ya=X;break}else P=X}}else Ya=0.0;if(oa)Sg[Ka&63](z,q,La,Da);else Rg[Ja&255](z,q,La);if(M){ma=0;P=0.0;while(1){X=P+ +n[La+(ma<<2)>>2];ma=ma+1|0;if((ma|0)==(q|0)){Za=X;break}else P=X}}else Za=0.0;if(+K(+Za)>1.1920928955078125e-07){P=1.0/Za;if(M){ma=0;do{C=La+(ma<<2)|0;n[C>>2]=P*+n[C>>2];ma=ma+1|0}while((ma|0)!=(q|0))}}else if(M){ma=0;do{n[La+(ma<<2)>>2]=1.0;ma=ma+1|0}while((ma|0)!=(q|0))}Qda(D,q,La,k);if((E|0)<29){J=1;aa=Ya;E=E+1|0;fa=Ea;U=Ha;za=Ga;S=Y;V=Wa;Fa=Xa}else{Pa=Ya;Qa=Ea;Ra=Ha;Sa=Ga;Ta=Y;Ua=Wa;Va=Xa;break}}if(Pa>2]=f[k>>2];f[o+4>>2]=f[k+4>>2];f[o+8>>2]=f[k+8>>2];f[o+12>>2]=f[k+12>>2];f[o+16>>2]=f[k+16>>2];f[o+20>>2]=f[k+20>>2];if(Pa>2]|0;if((Na|0)!=(y|0)){if(Na|0)HQa(Na);f[j>>2]=y;f[x>>2]=264}}}x=a>>31&2|4;a=p+4|0;f[a>>2]=2;y=p+8|0;f[y>>2]=x;f[p+12>>2]=1;j=p+16|0;f[j>>2]=o;f[p+20>>2]=o;Na=p+24|0;la=p+40|0;Ma=Na+8|0;f[Ma>>2]=0;f[Ma+4>>2]=0;f[la>>2]=y;y=p+48|0;Ma=p+44|0;f[Ma>>2]=y;f[p>>2]=1124024325;f[y>>2]=4;f[p+52>>2]=4;w=o+(x<<2)|0;f[p+28>>2]=w;f[Na>>2]=w;eM(p,c);c=p+36|0;w=f[c>>2]|0;if(w|0?(Na=w+12|0,w=f[Na>>2]|0,f[Na>>2]=w+-1,(w|0)==1):0)XO(p);f[c>>2]=0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;if((f[a>>2]|0)>0){j=f[la>>2]|0;la=0;do{f[j+(la<<2)>>2]=0;la=la+1|0}while((la|0)<(f[a>>2]|0))}a=f[Ma>>2]|0;if((a|0)!=(y|0))dX(a);a=m+36|0;y=f[a>>2]|0;if(y|0?(Ma=y+12|0,y=f[Ma>>2]|0,f[Ma>>2]=y+-1,(y|0)==1):0)XO(m);f[a>>2]=0;a=m+4|0;f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;f[A+12>>2]=0;if((f[a>>2]|0)>0){A=f[m+40>>2]|0;y=0;do{f[A+(y<<2)>>2]=0;y=y+1|0}while((y|0)<(f[a>>2]|0))}a=f[m+44>>2]|0;if((a|0)!=(m+48|0))dX(a);if(!(f[l+4>>2]|0)){u=i;return}u=i;return}function Kda(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0.0,f=0;e=d<=0.0?1.3450000286102295:d;if((b|0)>0)f=0;else return;do{d=+n[a+(f<<2)>>2];n[c+(f<<2)>>2]=d0)f=0;else return;do{d=+n[a+(f<<2)>>2];g=+U(+-(e*(e*(d*d))));n[c+(f<<2)>>2]=g;f=f+1|0}while((f|0)!=(b|0));return}function Mda(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0.0,f=0;e=d==0.0?.7143877744674683:1.0/d;if((b|0)>0)f=0;else return;do{n[c+(f<<2)>>2]=1.0/(e*+n[a+(f<<2)>>2]+1.0);f=f+1|0}while((f|0)!=(b|0));return}function Nda(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,f=0.0;if((b|0)>0)d=0;else return;do{e=+n[a+(d<<2)>>2];f=1.0/+L(+(e*e*.5+1.0));n[c+(d<<2)>>2]=f;d=d+1|0}while((d|0)!=(b|0));return}function Oda(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0;if((b|0)>0)d=0;else return;do{e=+K(+(+n[a+(d<<2)>>2]));n[c+(d<<2)>>2]=1.0/(e<1.0e-06?1.0e-06:e);d=d+1|0}while((d|0)!=(b|0));return}function Pda(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0;e=(b|0)>0;if(c)if(e){f=0.0;g=0;h=0.0;i=0.0;j=0.0;k=0.0;l=0.0;while(1){m=+n[c+(g<<2)>>2];o=+n[a+(g<<3)>>2];p=m*o;q=l+p;r=+n[a+(g<<3)+4>>2];s=m*r;t=h+s;u=i+o*p;o=j+r*s;s=k+p*r;r=f+m;g=g+1|0;if((g|0)==(b|0)){v=r;w=q;x=t;y=u;z=o;A=s;break}else{f=r;h=t;i=u;j=o;k=s;l=q}}}else{v=0.0;w=0.0;x=0.0;y=0.0;z=0.0;A=0.0}else{if(e){e=0;l=0.0;k=0.0;j=0.0;i=0.0;h=0.0;while(1){f=+n[a+(e<<3)>>2];q=h+f;s=+n[a+(e<<3)+4>>2];o=l+s;u=k+f*f;t=j+s*s;r=i+f*s;e=e+1|0;if((e|0)==(b|0)){B=q;C=o;D=u;E=t;F=r;break}else{l=o;k=u;j=t;i=r;h=q}}}else{B=0.0;C=0.0;D=0.0;E=0.0;F=0.0}v=+(b|0);w=B;x=C;y=D;z=E;A=F}F=w/v;w=x/v;x=+T(+((A/v-w*F)*2.0),+(y/v-F*F-(z/v-w*w)))*.5;v=+N(+x);n[d>>2]=v;v=+O(+x);n[d+4>>2]=v;n[d+8>>2]=F;n[d+12>>2]=w;return}function Qda(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;e=u;u=u+304|0;g=e+264|0;h=e+228|0;i=e+216|0;j=e+160|0;k=e+104|0;l=e+48|0;m=e+32|0;o=e+16|0;p=e;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;q=h;r=q+36|0;do{f[q>>2]=0;q=q+4|0}while((q|0)<(r|0));q=(b|0)>0;if(c)if(q){r=0;s=0.0;t=0.0;v=0.0;w=0.0;x=0.0;y=0.0;z=0.0;A=0.0;B=0.0;C=0.0;while(1){D=+n[a+(r*12|0)>>2];E=+n[a+(r*12|0)+4>>2];F=+n[a+(r*12|0)+8>>2];G=+n[c+(r<<2)>>2];H=x+D*D*G;I=A+D*E*G;J=C+D*F*G;K=y+E*E*G;M=B+E*F*G;N=z+F*F*G;O=t+D*G;D=v+E*G;E=w+F*G;F=s+G;r=r+1|0;if((r|0)==(b|0)){P=F;Q=O;R=D;S=E;T=H;U=K;V=N;W=I;X=M;Y=J;break}else{s=F;t=O;v=D;w=E;x=H;y=K;z=N;A=I;B=M;C=J}}}else{P=0.0;Q=0.0;R=0.0;S=0.0;T=0.0;U=0.0;V=0.0;W=0.0;X=0.0;Y=0.0}else{if(q){q=0;C=0.0;B=0.0;A=0.0;z=0.0;y=0.0;x=0.0;w=0.0;v=0.0;t=0.0;while(1){s=+n[a+(q*12|0)>>2];J=+n[a+(q*12|0)+4>>2];M=+n[a+(q*12|0)+8>>2];I=z+s*s;N=w+s*J;K=t+s*M;H=y+J*J;E=v+J*M;D=x+M*M;O=C+s;s=B+J;J=A+M;q=q+1|0;if((q|0)==(b|0)){Z=O;_=s;$=J;aa=I;ba=H;ca=D;da=N;ea=E;fa=K;break}else{C=O;B=s;A=J;z=I;y=H;x=D;w=N;v=E;t=K}}}else{Z=0.0;_=0.0;$=0.0;aa=0.0;ba=0.0;ca=0.0;da=0.0;ea=0.0;fa=0.0}P=+(b|0);Q=Z;R=_;S=$;T=aa;U=ba;V=ca;W=da;X=ea;Y=fa}fa=Q/P;Q=R/P;R=S/P;S=T/P-fa*fa;T=U/P-Q*Q;U=V/P-R*R;n[g>>2]=U+T;V=-(W/P-fa*Q);n[g+4>>2]=V;W=-(Y/P-fa*R);n[g+8>>2]=W;n[g+12>>2]=V;n[g+16>>2]=S+U;U=-(X/P-Q*R);n[g+20>>2]=U;n[g+24>>2]=W;n[g+28>>2]=U;n[g+32>>2]=T+S;b=j+4|0;f[b>>2]=2;q=j+8|0;f[q>>2]=3;f[j+12>>2]=3;a=j+16|0;f[a>>2]=g;f[j+20>>2]=g;r=j+24|0;c=j+40|0;ga=r+8|0;f[ga>>2]=0;f[ga+4>>2]=0;f[c>>2]=q;q=j+48|0;ga=j+44|0;f[ga>>2]=q;f[j>>2]=1124024325;f[q>>2]=12;f[j+52>>2]=4;f[j+28>>2]=g+36;f[r>>2]=g+36;g=k+4|0;f[g>>2]=2;r=k+8|0;f[r>>2]=3;f[k+12>>2]=3;ha=k+16|0;f[ha>>2]=h;f[k+20>>2]=h;ia=k+24|0;ja=k+40|0;ka=ia+8|0;f[ka>>2]=0;f[ka+4>>2]=0;f[ja>>2]=r;r=k+48|0;ka=k+44|0;f[ka>>2]=r;f[k>>2]=1124024325;f[r>>2]=12;f[k+52>>2]=4;f[k+28>>2]=h+36;f[ia>>2]=h+36;ia=l+4|0;f[ia>>2]=2;la=l+8|0;f[la>>2]=3;f[l+12>>2]=1;ma=l+16|0;f[ma>>2]=i;f[l+20>>2]=i;na=l+24|0;oa=l+40|0;pa=na+8|0;f[pa>>2]=0;f[pa+4>>2]=0;f[oa>>2]=la;la=l+48|0;pa=l+44|0;f[pa>>2]=la;f[l>>2]=1124024325;f[la>>2]=4;f[l+52>>2]=4;f[l+28>>2]=i+12;f[na>>2]=i+12;f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=j;na=o+8|0;f[na>>2]=0;f[na+4>>2]=0;f[o>>2]=33619968;f[o+4>>2]=l;na=p+8|0;f[na>>2]=0;f[na+4>>2]=0;f[p>>2]=33619968;f[p+4>>2]=k;NR(m,o,p)|0;S=+n[i>>2];T=+n[i+4>>2];p=S>2]?(p?0:3):6)<<2)|0;T=+n[o>>2];S=T;U=+n[o+4>>2];W=U;P=+n[o+8>>2];X=P;V=+L(+(S*S+W*W+X*X));X=V<1.0e-06?1.0e-06:V;n[d>>2]=T/X;n[d+4>>2]=U/X;n[d+8>>2]=P/X;n[d+12>>2]=fa;n[d+16>>2]=Q;n[d+20>>2]=R;d=l+36|0;o=f[d>>2]|0;if(o|0?(p=o+12|0,o=f[p>>2]|0,f[p>>2]=o+-1,(o|0)==1):0)XO(l);f[d>>2]=0;f[ma>>2]=0;f[ma+4>>2]=0;f[ma+8>>2]=0;f[ma+12>>2]=0;if((f[ia>>2]|0)>0){ma=f[oa>>2]|0;oa=0;do{f[ma+(oa<<2)>>2]=0;oa=oa+1|0}while((oa|0)<(f[ia>>2]|0))}ia=f[pa>>2]|0;if((ia|0)!=(la|0))dX(ia);ia=k+36|0;la=f[ia>>2]|0;if(la|0?(pa=la+12|0,la=f[pa>>2]|0,f[pa>>2]=la+-1,(la|0)==1):0)XO(k);f[ia>>2]=0;f[ha>>2]=0;f[ha+4>>2]=0;f[ha+8>>2]=0;f[ha+12>>2]=0;if((f[g>>2]|0)>0){ha=f[ja>>2]|0;ja=0;do{f[ha+(ja<<2)>>2]=0;ja=ja+1|0}while((ja|0)<(f[g>>2]|0))}g=f[ka>>2]|0;if((g|0)!=(r|0))dX(g);g=j+36|0;r=f[g>>2]|0;if(r|0?(ka=r+12|0,r=f[ka>>2]|0,f[ka>>2]=r+-1,(r|0)==1):0)XO(j);f[g>>2]=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if((f[b>>2]|0)>0){a=f[c>>2]|0;c=0;do{f[a+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[ga>>2]|0;if((b|0)==(q|0)){u=e;return}dX(b);u=e;return}function Rda(){G_(459744,222042,168,925,123,142,169);return}function Sda(a){a=a|0;var b=0;if(!a){b=0;return b|0}if((f[a>>2]&-65536|0)!=1111818240){b=0;return b|0}b=(f[a+4>>2]|0)!=0&1;return b|0}function Tda(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=u;u=u+16|0;d=c;if(!a){f[d>>2]=0;f[d+4>>2]=0;EP(-27,d,222543,222100,2904);KV(d)}e=f[a>>2]|0;if(!e){u=c;return}if((f[e>>2]&-65536|0)==1111818240?(g=e+4|0,(f[g>>2]|0)!=0):0)h=g;else{f[d>>2]=0;f[d+4>>2]=0;g=JV(d,24)|0;i=222228;j=g+24|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));EP(-5,d,222543,222100,2911);KV(d);h=e+4|0}f[a>>2]=0;a=f[h>>2]|0;if((a|0)!=0?(f[a>>2]&-65536|0)==1111752704:0)_V(h);else{bW(a);f[h>>2]=0}h=e+264|0;a=f[h>>2]|0;if(a|0){fX(a);f[h>>2]=0}fX(e);u=c;return}function Uda(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+272|0;e=d+136|0;g=d+8|0;h=d;i=eX(544)|0;j=IW(a,c,222420)|0;a:do if(!j)k=0;else switch(f[j>>2]&7){case 1:{k=f[j+8>>2]|0;break a;break}case 2:{k=AEa(+p[j+8>>3])|0;break a;break}default:{k=2147483647;break a}}while(0);j=IW(a,c,222425)|0;b:do if(!j)l=0;else switch(f[j>>2]&7){case 1:{l=f[j+8>>2]|0;break b;break}case 2:{l=AEa(+p[j+8>>3])|0;break b;break}default:{l=2147483647;break b}}while(0);j=IW(a,c,222436)|0;c:do if(!j)m=0;else switch(f[j>>2]&7){case 1:{m=f[j+8>>2]|0;break c;break}case 2:{m=AEa(+p[j+8>>3])|0;break c;break}default:{m=2147483647;break c}}while(0);j=(l|0)!=0;l=(m|0)!=0;f[i>>2]=k|(j?1024:0)|(l?2048:0)|1111818240;do if(!k){m=JW(a,IW(a,c,222448)|0,0)|0;f[e>>2]=m;if(((m|0)!=0?(f[m>>2]&-65536|0)==1111687168:0)?(f[m+16>>2]|0)!=0:0){n=m;o=m}else{f[h>>2]=0;f[h+4>>2]=0;q=JV(h,16)|0;r=222466;s=q+16|0;do{b[q>>0]=b[r>>0]|0;q=q+1|0;r=r+1|0}while((q|0)<(s|0));EP(-2,h,222483,222100,4009);KV(h);m=f[e>>2]|0;n=m;o=m}m=f[n+4>>2]|0;if((m|0)>0){t=n+4|0;f[g>>2]=f[n+20>>2];v=f[t>>2]|0;if((v|0)>1){w=1;do{f[g+(w<<2)>>2]=f[n+20+(w<<3)>>2];w=w+1|0;x=f[t>>2]|0}while((w|0)<(x|0));y=x;z=g}else{y=v;z=g}}else{y=m;z=g}w=i+268|0;RV(w,y,z,f[n>>2]|0,f[n+16>>2]|0)|0;f[i+4>>2]=w;f[i+276>>2]=f[n+8>>2];d:do if(o|0){w=f[o>>2]&-65536;if((w|0)>=1111687168){switch(w|0){case 1111687168:break;default:break d}if(!(f[o+16>>2]|0))break;t=f[o+8>>2]|0;if(!t)break;f[t>>2]=(f[t>>2]|0)+1;break}switch(w|0){case 1111621632:break;default:break d}if((((f[o+24>>2]|0)>0?(f[o+20>>2]|0)>0:0)?f[o+16>>2]|0:0)?(w=f[o+8>>2]|0,w|0):0)f[w>>2]=(f[w>>2]|0)+1}while(0);PV(e)}else{m=JW(a,IW(a,c,222452)|0,0)|0;f[i+4>>2]=m;if(m|0?(f[m>>2]&-65536|0)==1111752704:0)break;f[e>>2]=0;f[e+4>>2]=0;q=JV(e,22)|0;r=222495;s=q+22|0;do{b[q>>0]=b[r>>0]|0;q=q+1|0;r=r+1|0}while((q|0)<(s|0));EP(-2,e,222483,222100,4030);KV(e)}while(0);if(!l){u=d;return i|0}l=fW(f[i+4>>2]|0,e)|0;o=(l|0)>0;if(o){n=0;z=0;while(1){y=n+1+(f[e+(z<<2)>>2]|0)|0;z=z+1|0;if((z|0)==(l|0)){A=y;break}else n=y}}else A=0;n=IW(a,c,222457)|0;if(!n){f[h>>2]=0;f[h+4>>2]=0;q=JV(h,24)|0;r=222518;s=q+24|0;do{b[q>>0]=b[r>>0]|0;q=q+1|0;r=r+1|0}while((q|0)<(s|0));EP(-2,h,222483,222100,4047);KV(h)}WW(a,n,g);if(!j){j=eX(A+l<<2)|0;A=i+264|0;f[A>>2]=j;if(o?(n=j+(l<<2)|0,f[j>>2]=n,XW(a,g,(f[e>>2]|0)+1|0,n,222464),(l|0)!=1):0){j=n;n=e;h=1;do{j=j+((f[n>>2]|0)+1<<2)|0;f[(f[A>>2]|0)+(h<<2)>>2]=j;n=e+(h<<2)|0;XW(a,g,(f[n>>2]|0)+1|0,j,222464);h=h+1|0}while((h|0)!=(l|0))}}else{if(o){o=i+8|0;h=0;do{XW(a,g,2,o+(h<<3)|0,222464);h=h+1|0}while((h|0)!=(l|0))}f[i+264>>2]=0}u=d;return i|0}function Vda(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+176|0;e=d+160|0;g=d+8|0;h=d+152|0;i=d+144|0;j=d+136|0;k=d;f[h>>2]=0;f[h+4>>2]=0;f[e>>2]=f[h>>2];f[e+4>>2]=f[h+4>>2];PW(a,b,6,222042,e);b=f[c>>2]|0;h=b&1024;l=(h|0)==0;m=b&2048;n=(m|0)==0;RW(a,222420,b&1);RW(a,222425,h>>>10);RW(a,222436,m>>>11);m=c+4|0;h=f[m>>2]|0;if((h|0)!=0?(f[h>>2]&-65536|0)==1111752704:0){f[j>>2]=0;f[j+4>>2]=0;f[e>>2]=f[j>>2];f[e+4>>2]=f[j+4>>2];$W(a,222452,h,e)}else{f[i>>2]=0;f[i+4>>2]=0;f[e>>2]=f[i>>2];f[e+4>>2]=f[i+4>>2];$W(a,222448,c+268|0,e)}if(n){QW(a);u=d;return}n=fW(f[m>>2]|0,g)|0;f[k>>2]=0;f[k+4>>2]=0;f[e>>2]=f[k>>2];f[e+4>>2]=f[k+4>>2];PW(a,222457,13,0,e);e=(n|0)>0;if(l){if(e){l=c+264|0;k=0;do{VW(a,f[(f[l>>2]|0)+(k<<2)>>2]|0,(f[g+(k<<2)>>2]|0)+1|0,222464);k=k+1|0}while((k|0)!=(n|0))}}else if(e){e=c+8|0;c=0;do{VW(a,e+(c<<3)|0,2,222464);c=c+1|0}while((c|0)!=(n|0))}QW(a);QW(a);u=d;return}function Wda(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;f[c>>2]=0;Xda(a,c);u=b;return f[c>>2]|0}function Xda(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;d=u;u=u+256|0;e=d+128|0;g=d;if(!c){f[e>>2]=0;f[e+4>>2]=0;h=JV(e,34)|0;i=222054;j=h+34|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));EP(-27,e,222089,222100,3294);KV(e)}k=f[c>>2]|0;do if(((a|0)!=0?(f[a>>2]&-65536|0)==1111818240:0)?(l=a+4|0,m=f[l>>2]|0,(m|0)!=0):0){if(k|0){if((f[k>>2]&-65536|0)!=1111818240){n=9;break}if(!(f[k+4>>2]|0)){n=9;break}}o=l;p=m;q=e;n=11}else n=9;while(0);if((n|0)==9){f[e>>2]=0;f[e+4>>2]=0;h=JV(e,27)|0;i=222161;j=h+27|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));EP(-5,e,222089,222100,3299);KV(e);i=a+4|0;h=f[i>>2]|0;if(!h){r=i;s=0;t=e}else{o=i;p=h;q=e;n=11}}if((n|0)==11){r=o;s=(f[p>>2]&-65536|0)==1111752704&1;t=q}q=fW(f[r>>2]|0,e)|0;do if(k){t=f[k+4>>2]|0;if(!t)v=0;else v=(f[t>>2]&-65536|0)==1111752704&1;if((v|0)==(s|0)){if((q|0)!=(fW(t,g)|0)){n=22;break}a:do if((q|0)>0){t=0;while(1){if((f[e+(t<<2)>>2]|0)!=(f[g+(t<<2)>>2]|0)){w=t;break a}p=t+1|0;if((p|0)<(q|0))t=p;else{w=p;break}}}else w=0;while(0);if((w|0)==(q|0))x=k;else n=22}else n=22}else n=22;while(0);if((n|0)==22){Tda(c);n=Yda(q,e,s,0,0)|0;f[c>>2]=n;x=n}n=f[a>>2]|0;if(!(n&2048)){y=f[r>>2]|0;z=x+4|0;A=f[z>>2]|0;nM(y,A,0);u=d;return}if(!(n&1024))B=f[a+264>>2]|0;else{if((q|0)>0){c=0;do{f[g+(c<<2)>>2]=a+8+(c<<3);c=c+1|0}while((c|0)!=(q|0))}B=g}Zda(x,B,n>>>10&1);y=f[r>>2]|0;z=x+4|0;A=f[z>>2]|0;nM(y,A,0);u=d;return}function Yda(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=u;u=u+16|0;i=h;if(a>>>0>32){f[i>>2]=0;f[i+4>>2]=0;j=JV(i,36)|0;k=222326;l=j+36|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-19,i,222363,222100,2845);KV(i)}if(!c){f[i>>2]=0;f[i+4>>2]=0;j=JV(i,20)|0;k=222376;l=j+20|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-9,i,222363,222100,2848);KV(i)}m=eX(544)|0;f[m>>2]=((g|0)==0?1111818240:1111819264)|d&1;f[m+264>>2]=0;n=m+4|0;f[n>>2]=0;switch(d|0){case 0:{d=m+268|0;o=RV(d,a,c,5,0)|0;f[n>>2]=o;NV(d);break}case 1:{d=ZV(a,c,5)|0;f[n>>2]=d;break}default:{f[i>>2]=0;f[i+4>>2]=0;j=JV(i,22)|0;k=222397;l=j+22|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-5,i,222363,222100,2864);KV(i)}}if(!e){u=h;return m|0}Zda(m,e,g);u=h;return m|0}function Zda(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0;e=u;u=u+144|0;g=e+8|0;h=e;if(!c){f[h>>2]=0;f[h+4>>2]=0;i=JV(h,19)|0;j=222189;k=i+19|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-27,h,222209,222100,3364);KV(h)}if(((a|0)!=0?(f[a>>2]&-65536|0)==1111818240:0)?(l=f[a+4>>2]|0,(l|0)!=0):0)m=l;else{f[h>>2]=0;f[h+4>>2]=0;i=JV(h,24)|0;j=222228;k=i+24|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-5,h,222209,222100,3367);KV(h);m=f[a+4>>2]|0}l=fW(m,g)|0;m=(l|0)>0;if(m){o=0;p=0;while(1){q=o+1+(f[g+(p<<2)>>2]|0)|0;p=p+1|0;if((p|0)==(l|0)){r=q;break}else o=q}}else r=0;if(d|0){if(m){d=h+4|0;o=0;do{p=c+(o<<2)|0;q=f[p>>2]|0;if(!q){f[h>>2]=0;f[d>>2]=0;i=JV(h,32)|0;j=222253;k=i+32|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-27,h,222209,222100,3378);KV(h);s=f[p>>2]|0;t=s;v=s}else{t=q;v=q}f[a+8+(o<<3)>>2]=f[t>>2];f[a+8+(o<<3)+4>>2]=f[v+4>>2];o=o+1|0}while((o|0)<(l|0))}w=f[a>>2]|3072;x=a;f[x>>2]=w;u=e;return}o=a+264|0;v=f[o>>2]|0;if(!v){t=eX(r+l<<2)|0;f[o>>2]=t;y=t}else y=v;if(m){m=h+4|0;v=h+4|0;t=y+(l<<2)|0;y=0;while(1){r=c+(y<<2)|0;if(!(f[r>>2]|0)){f[h>>2]=0;f[m>>2]=0;i=JV(h,32)|0;j=222253;k=i+32|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-27,h,222209,222100,3402);KV(h)}q=g+(y<<2)|0;p=f[q>>2]|0;if((p|0)<0)z=p;else{A=-3402823466385288598117041.0e14;d=0;s=p;while(1){B=A;A=+n[(f[r>>2]|0)+(d<<2)>>2];if(!(A<=B))C=s;else{f[h>>2]=0;f[v>>2]=0;i=JV(h,39)|0;j=222286;k=i+39|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-211,h,222209,222100,3408);KV(h);C=f[q>>2]|0}n[t+(d<<2)>>2]=A;if((d|0)>=(C|0)){z=C;break}else{d=d+1|0;s=C}}}f[(f[o>>2]|0)+(y<<2)>>2]=t;y=y+1|0;if((y|0)>=(l|0))break;else t=t+(z+1<<2)|0}}w=f[a>>2]&-3073|2048;x=a;f[x>>2]=w;u=e;return}function _da(a,c,d,e,g,i,k,l,m,o){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;m=m|0;o=o|0;var q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0.0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0.0,Za=0.0,_a=0.0,$a=0.0,ab=0.0,bb=0,cb=0,db=0,eb=0.0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0;q=u;u=u+1568|0;r=q;s=q+536|0;t=q+408|0;v=q+344|0;w=q+288|0;x=q+352|0;y=q+232|0;z=q+176|0;A=q+160|0;B=q+148|0;C=q+136|0;D=q+128|0;yV(v,56656);do if((HJ(e)|0)==65536){E=f[e+4>>2]|0;f[w>>2]=f[E>>2];F=w+4|0;G=E+4|0;f[F>>2]=f[G>>2];H=w+8|0;f[H>>2]=f[E+8>>2];f[w+12>>2]=f[E+12>>2];f[w+16>>2]=f[E+16>>2];f[w+20>>2]=f[E+20>>2];f[w+24>>2]=f[E+24>>2];f[w+28>>2]=f[E+28>>2];f[w+32>>2]=f[E+32>>2];I=f[E+36>>2]|0;f[w+36>>2]=I;f[w+40>>2]=H;H=w+48|0;J=w+44|0;f[J>>2]=H;f[H>>2]=0;f[w+52>>2]=0;if(I|0){H=I+12|0;f[H>>2]=(f[H>>2]|0)+1}if((f[G>>2]|0)<3){G=f[E+44>>2]|0;H=f[J>>2]|0;f[H>>2]=f[G>>2];f[H+4>>2]=f[G+4>>2];break}else{f[F>>2]=0;WO(w,E);break}}else DJ(w,e,-1);while(0);e=(i|0)>0;if(!(e&(k|0)!=0)){f[r>>2]=0;f[r+4>>2]=0;K=JV(r,20)|0;L=222557;M=K+20|0;do{b[K>>0]=b[L>>0]|0;K=K+1|0;L=L+1|0}while((K|0)<(M|0));EP(-215,r,222578,222100,1457);KV(r)}do if((HJ(g)|0)==65536){E=f[g+4>>2]|0;f[x>>2]=f[E>>2];F=x+4|0;G=E+4|0;f[F>>2]=f[G>>2];H=x+8|0;f[H>>2]=f[E+8>>2];f[x+12>>2]=f[E+12>>2];J=x+16|0;f[J>>2]=f[E+16>>2];f[x+20>>2]=f[E+20>>2];f[x+24>>2]=f[E+24>>2];f[x+28>>2]=f[E+28>>2];f[x+32>>2]=f[E+32>>2];I=x+36|0;N=f[E+36>>2]|0;f[I>>2]=N;f[x+40>>2]=H;H=x+48|0;O=x+44|0;f[O>>2]=H;f[H>>2]=0;f[x+52>>2]=0;if(N|0){H=N+12|0;f[H>>2]=(f[H>>2]|0)+1}if((f[G>>2]|0)<3){G=f[E+44>>2]|0;H=f[O>>2]|0;f[H>>2]=f[G>>2];f[H+4>>2]=f[G+4>>2];P=O;Q=I;R=J;break}else{f[F>>2]=0;WO(x,E);P=O;Q=I;R=J;break}}else{DJ(x,g,-1);P=x+44|0;Q=x+36|0;R=x+16|0}while(0);J=f[R>>2]|0;I=f[Q>>2]|0;if(I|0?(O=I+12|0,I=f[O>>2]|0,f[O>>2]=I+-1,(I|0)==1):0)XO(x);f[Q>>2]=0;Q=x+4|0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;f[R+12>>2]=0;if((f[Q>>2]|0)>0){R=f[x+40>>2]|0;I=0;do{f[R+(I<<2)>>2]=0;I=I+1|0}while((I|0)<(f[Q>>2]|0))}Q=f[P>>2]|0;if((Q|0)!=(x+48|0))dX(Q);$J(g,i,k,5,-1,0,0);do if((HJ(g)|0)==65536){k=f[g+4>>2]|0;f[y>>2]=f[k>>2];Q=y+4|0;x=k+4|0;f[Q>>2]=f[x>>2];P=y+8|0;f[P>>2]=f[k+8>>2];I=y+12|0;f[I>>2]=f[k+12>>2];R=y+16|0;f[R>>2]=f[k+16>>2];O=y+20|0;f[O>>2]=f[k+20>>2];E=y+24|0;f[E>>2]=f[k+24>>2];F=y+28|0;f[F>>2]=f[k+28>>2];G=y+32|0;f[G>>2]=f[k+32>>2];H=y+36|0;N=f[k+36>>2]|0;f[H>>2]=N;f[y+40>>2]=P;S=y+48|0;T=y+44|0;f[T>>2]=S;f[S>>2]=0;f[y+52>>2]=0;if(N|0){S=N+12|0;f[S>>2]=(f[S>>2]|0)+1}if((f[x>>2]|0)<3){x=f[k+44>>2]|0;S=f[T>>2]|0;f[S>>2]=f[x>>2];f[S+4>>2]=f[x+4>>2];U=R;V=y;W=Q;Y=P;Z=I;_=O;$=E;aa=F;ba=G;ca=H;da=H;break}else{f[Q>>2]=0;WO(y,k);U=R;V=y;W=Q;Y=P;Z=I;_=O;$=E;aa=F;ba=G;ca=H;da=H;break}}else{DJ(y,g,-1);H=y+36|0;U=y+16|0;V=y;W=y+4|0;Y=y+8|0;Z=y+12|0;_=y+20|0;$=y+24|0;aa=y+28|0;ba=y+32|0;ca=H;da=H}while(0);g=f[U>>2]|0;f[z>>2]=f[V>>2];V=z+4|0;H=f[W>>2]|0;f[V>>2]=H;G=z+8|0;f[G>>2]=f[Y>>2];f[z+12>>2]=f[Z>>2];Z=z+16|0;f[Z>>2]=g;f[z+20>>2]=f[_>>2];f[z+24>>2]=f[$>>2];f[z+28>>2]=f[aa>>2];f[z+32>>2]=f[ba>>2];ba=z+36|0;aa=f[da>>2]|0;f[ba>>2]=aa;da=z+40|0;f[da>>2]=G;G=z+48|0;$=z+44|0;f[$>>2]=G;f[G>>2]=0;f[z+52>>2]=0;if(!aa)ea=H;else{H=aa+12|0;f[H>>2]=(f[H>>2]|0)+1;ea=f[W>>2]|0}if((ea|0)<3){ea=f[y+44>>2]|0;H=f[$>>2]|0;f[H>>2]=f[ea>>2];f[H+4>>2]=f[ea+4>>2]}else{f[V>>2]=0;WO(z,y)}f[z>>2]=f[z>>2]&-4096|4;if((J|0)==(g|0)&o){o=r+8|0;f[o>>2]=0;f[o+4>>2]=0;f[r>>2]=33619968;f[r+4>>2]=z;AO(y,r,4,1.0,0.0)}else{f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;f[r+16>>2]=0;f[r+20>>2]=0;f[r+24>>2]=0;f[r+28>>2]=0;gM(y,r)|0}f[A>>2]=0;o=A+4|0;f[o>>2]=0;f[A+8>>2]=0;f[B>>2]=0;g=B+4|0;f[g>>2]=0;f[B+8>>2]=0;f[C>>2]=0;J=C+4|0;f[J>>2]=0;f[C+8>>2]=0;f[D>>2]=0;ea=D+4|0;f[ea>>2]=0;H=w+16|0;if(f[H>>2]|0){aa=f[w+4>>2]|0;if((aa|0)<3)fa=X(f[w+12>>2]|0,f[w+8>>2]|0)|0;else{_=f[w+40>>2]|0;Y=0;F=1;while(1){E=X(f[_+(Y<<2)>>2]|0,F)|0;Y=Y+1|0;if((Y|0)==(aa|0)){fa=E;break}else F=E}}if(!((aa|0)==0|(fa|0)==0)?f[w>>2]&4095|0:0){f[r>>2]=0;f[r+4>>2]=0;K=JV(r,72)|0;L=222587;M=K+72|0;do{b[K>>0]=b[L>>0]|0;K=K+1|0;L=L+1|0}while((K|0)<(M|0));EP(-215,r,222578,222100,1484);KV(r)}}fa=y+40|0;$da(a,c,d,w,i,f[fa>>2]|0,l,m,A,B,D,C);d=m?f[C>>2]|0:0;switch(f[a>>2]&7){case 0:{a=f[D>>2]|0;c=f[ea>>2]|0;aa=f[A>>2]|0;F=f[B>>2]|0;Y=f[Z>>2]|0;_=f[aa+(i<<2)>>2]|0;E=f[F+((i<<1|1)<<2)>>2]|0;f[r>>2]=0;O=r+4|0;f[O>>2]=0;f[r+8>>2]=0;f[s>>2]=1123876864;f[s+4>>2]=0;aea(z,s,i,l,d,m,0,r);I=f[r>>2]|0;switch(i|0){case 1:{P=f[F>>2]|0;Q=f[F+4>>2]|0;FVa(s|0,0,1024)|0;a:do if(!c)ga=0;else{R=f[aa>>2]|0;k=(P|0)==1;x=P<<1;S=(a|0)<4;T=a+-4|0;if((a|0)<=0){N=a&-4;ha=X(P,N)|0;ia=_;ja=R;ka=c;while(1){ka=ka+-1|0;do if(!ia){do if(k){if(S){la=0;ma=ja;break}else{na=0;oa=ja}while(1){pa=h[ja+(na|1)>>0]|0;qa=s+(h[oa>>0]<<2)|0;f[qa>>2]=(f[qa>>2]|0)+1;qa=s+(pa<<2)|0;f[qa>>2]=(f[qa>>2]|0)+1;qa=h[ja+(na|3)>>0]|0;pa=s+(h[ja+(na|2)>>0]<<2)|0;f[pa>>2]=(f[pa>>2]|0)+1;pa=s+(qa<<2)|0;f[pa>>2]=(f[pa>>2]|0)+1;pa=na+4|0;if((pa|0)>(T|0))break;else{na=pa;oa=ja+pa|0}}la=N;ma=ja+N|0}else{if(S){la=0;ma=ja;break}else{ra=ja;sa=0}while(1){pa=h[ra+P>>0]|0;qa=s+(h[ra>>0]<<2)|0;f[qa>>2]=(f[qa>>2]|0)+1;qa=s+(pa<<2)|0;f[qa>>2]=(f[qa>>2]|0)+1;qa=ra+x|0;pa=h[qa+P>>0]|0;ta=s+(h[qa>>0]<<2)|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=s+(pa<<2)|0;f[ta>>2]=(f[ta>>2]|0)+1;sa=sa+4|0;if((sa|0)>(T|0))break;else ra=qa+x|0}la=N;ma=ja+ha|0}while(0);if((a|0)<=(la|0)){ua=ma;break}qa=X(P,a-la|0)|0;ta=ma;pa=la;while(1){va=s+(h[ta>>0]<<2)|0;f[va>>2]=(f[va>>2]|0)+1;pa=pa+1|0;if((pa|0)==(a|0))break;else ta=ta+P|0}ua=ma+qa|0}else ua=ja;while(0);if(!ka){ga=0;break a}else{ia=ia+E|0;ja=ua+Q|0}}}ja=X(a,P)|0;ia=a&-4;ka=X(P,ia)|0;ha=_;N=R;ta=c;while(1){ta=ta+-1|0;do if(!ha){do if(k){if(S){wa=0;xa=N;break}else{ya=0;za=N}while(1){pa=h[N+(ya|1)>>0]|0;va=s+(h[za>>0]<<2)|0;f[va>>2]=(f[va>>2]|0)+1;va=s+(pa<<2)|0;f[va>>2]=(f[va>>2]|0)+1;va=h[N+(ya|3)>>0]|0;pa=s+(h[N+(ya|2)>>0]<<2)|0;f[pa>>2]=(f[pa>>2]|0)+1;pa=s+(va<<2)|0;f[pa>>2]=(f[pa>>2]|0)+1;pa=ya+4|0;if((pa|0)>(T|0))break;else{ya=pa;za=N+pa|0}}wa=ia;xa=N+ia|0}else{if(S){wa=0;xa=N;break}else{Aa=N;Ba=0}while(1){pa=h[Aa+P>>0]|0;va=s+(h[Aa>>0]<<2)|0;f[va>>2]=(f[va>>2]|0)+1;va=s+(pa<<2)|0;f[va>>2]=(f[va>>2]|0)+1;va=Aa+x|0;pa=h[va+P>>0]|0;Ca=s+(h[va>>0]<<2)|0;f[Ca>>2]=(f[Ca>>2]|0)+1;Ca=s+(pa<<2)|0;f[Ca>>2]=(f[Ca>>2]|0)+1;Ba=Ba+4|0;if((Ba|0)>(T|0))break;else Aa=va+x|0}wa=ia;xa=N+ka|0}while(0);if((a|0)<=(wa|0)){Da=xa;break}qa=X(P,a-wa|0)|0;va=xa;Ca=wa;while(1){pa=s+(h[va>>0]<<2)|0;f[pa>>2]=(f[pa>>2]|0)+1;Ca=Ca+1|0;if((Ca|0)==(a|0))break;else va=va+P|0}Da=xa+qa|0}else{va=N;Ca=0;while(1){if(b[ha+Ca>>0]|0){pa=s+(h[va>>0]<<2)|0;f[pa>>2]=(f[pa>>2]|0)+1}Ca=Ca+1|0;if((Ca|0)==(a|0))break;else va=va+P|0}Da=N+ja|0}while(0);if(!ta){ga=0;break}else{ha=ha+E|0;N=Da+Q|0}}}while(0);do{Q=f[I+(ga<<2)>>2]|0;Da=Y+Q|0;if(Q>>>0<1073741824)f[Da>>2]=(f[Da>>2]|0)+(f[s+(ga<<2)>>2]|0);ga=ga+1|0}while((ga|0)!=256);Ea=145;break}case 2:{ga=f[F>>2]|0;Da=f[F+4>>2]|0;Q=f[F+8>>2]|0;P=f[F+12>>2]|0;if((c|0)!=0&(a|0)>0){xa=a+-1|0;wa=X(ga,xa)|0;Aa=X(Q,xa)|0;xa=f[aa>>2]|0;Ba=f[aa+4>>2]|0;za=_;ya=c;while(1){ya=ya+-1|0;if(!za){ua=xa;ma=Ba;la=0;while(1){ra=(f[I+((h[ma>>0]|256)<<2)>>2]|0)+(f[I+(h[ua>>0]<<2)>>2]|0)|0;if(ra>>>0<1073741824){sa=Y+ra|0;f[sa>>2]=(f[sa>>2]|0)+1}la=la+1|0;if((la|0)==(a|0))break;else{ua=ua+ga|0;ma=ma+Q|0}}}else{ma=xa;ua=Ba;la=0;while(1){do if(b[za+la>>0]|0){sa=(f[I+((h[ua>>0]|256)<<2)>>2]|0)+(f[I+(h[ma>>0]<<2)>>2]|0)|0;if(sa>>>0>=1073741824)break;ra=Y+sa|0;f[ra>>2]=(f[ra>>2]|0)+1}while(0);la=la+1|0;if((la|0)==(a|0))break;else{ma=ma+ga|0;ua=ua+Q|0}}}if(!ya){Ea=144;break}else{xa=xa+wa+ga+Da|0;Ba=Ba+Aa+Q+P|0;za=za+E|0}}}else Ea=144;break}case 3:{za=f[F>>2]|0;P=f[F+4>>2]|0;Q=f[F+8>>2]|0;Aa=f[F+12>>2]|0;Ba=f[F+16>>2]|0;Da=f[F+20>>2]|0;if((c|0)!=0&(a|0)>0){ga=a+-1|0;wa=X(Ba,ga)|0;xa=X(Q,ga)|0;ya=X(za,ga)|0;ga=f[aa+8>>2]|0;ua=f[aa+4>>2]|0;ma=f[aa>>2]|0;la=_;ra=c;while(1){ra=ra+-1|0;if(!la){sa=ga;oa=ua;na=ma;N=0;while(1){ha=(f[I+((h[oa>>0]|256)<<2)>>2]|0)+(f[I+(h[na>>0]<<2)>>2]|0)+(f[I+((h[sa>>0]|512)<<2)>>2]|0)|0;if(ha>>>0<1073741824){ta=Y+ha|0;f[ta>>2]=(f[ta>>2]|0)+1}N=N+1|0;if((N|0)==(a|0))break;else{sa=sa+Ba|0;oa=oa+Q|0;na=na+za|0}}}else{na=ga;oa=ua;sa=ma;N=0;while(1){do if(b[la+N>>0]|0){ta=(f[I+((h[oa>>0]|256)<<2)>>2]|0)+(f[I+(h[sa>>0]<<2)>>2]|0)+(f[I+((h[na>>0]|512)<<2)>>2]|0)|0;if(ta>>>0>=1073741824)break;ha=Y+ta|0;f[ha>>2]=(f[ha>>2]|0)+1}while(0);N=N+1|0;if((N|0)==(a|0))break;else{na=na+Ba|0;oa=oa+Q|0;sa=sa+za|0}}}if(!ra){Ea=144;break}else{ga=ga+wa+Ba+Da|0;ua=ua+xa+Q+Aa|0;ma=ma+ya+za+P|0;la=la+E|0}}}else Ea=144;break}default:if(!c)Ea=144;else{la=(i|0)==0;P=(a|0)>0;za=_;_=c;while(1){_=_+-1|0;do if(!za)if(P){if(e)Fa=0;else{if(!la)break;c=0;ya=f[Y>>2]|0;do{ya=ya+1|0;c=c+1|0}while((c|0)!=(a|0));f[Y>>2]=ya;Ea=141;break}do{c=0;ma=Y;while(1){Aa=aa+(c<<2)|0;Q=f[Aa>>2]|0;xa=f[I+((c<<8|h[Q>>0])<<2)>>2]|0;if(xa>>>0>1073741823){Ga=c;Ha=ma;break}ua=ma+xa|0;f[Aa>>2]=Q+(f[F+(c<<1<<2)>>2]|0);Q=c+1|0;if((Q|0)<(i|0)){c=Q;ma=ua}else{Ga=Q;Ha=ua;break}}do if((Ga|0)==(i|0))f[Ha>>2]=(f[Ha>>2]|0)+1;else{if((Ga|0)<(i|0))Ia=Ga;else break;do{ma=aa+(Ia<<2)|0;f[ma>>2]=(f[ma>>2]|0)+(f[F+(Ia<<1<<2)>>2]|0);Ia=Ia+1|0}while((Ia|0)!=(i|0))}while(0);Fa=Fa+1|0}while((Fa|0)!=(a|0));Ea=141}else Ea=141;else if(P){if(e)Ja=0;else{if(!la)break;ya=0;ma=f[Y>>2]|0;do{ma=ma+1|0;ya=ya+1|0}while((ya|0)!=(a|0));f[Y>>2]=ma;Ea=141;break}while(1){b:do if(!(b[za+Ja>>0]|0)){Ka=0;La=Y}else{ya=0;c=Y;while(1){ua=aa+(ya<<2)|0;Q=f[ua>>2]|0;Aa=f[I+((ya<<8|h[Q>>0])<<2)>>2]|0;if(Aa>>>0>1073741823){Ka=ya;La=c;break b}xa=c+Aa|0;f[ua>>2]=Q+(f[F+(ya<<1<<2)>>2]|0);Q=ya+1|0;if((Q|0)<(i|0)){ya=Q;c=xa}else{Ka=Q;La=xa;break}}}while(0);do if((Ka|0)==(i|0))f[La>>2]=(f[La>>2]|0)+1;else{if((Ka|0)<(i|0))Ma=Ka;else break;do{c=aa+(Ma<<2)|0;f[c>>2]=(f[c>>2]|0)+(f[F+(Ma<<1<<2)>>2]|0);Ma=Ma+1|0}while((Ma|0)!=(i|0))}while(0);Ja=Ja+1|0;if((Ja|0)==(a|0)){Ea=141;break}}}else Ea=141;while(0);if((Ea|0)==141?(Ea=0,e):0){ma=0;do{c=aa+(ma<<2)|0;f[c>>2]=(f[c>>2]|0)+(f[F+((ma<<1|1)<<2)>>2]|0);ma=ma+1|0}while((ma|0)!=(i|0))}if(!_){Ea=144;break}else za=za+E|0}}}if((Ea|0)==144?I|0:0)Ea=145;if((Ea|0)==145){E=f[O>>2]|0;if((E|0)!=(I|0))f[O>>2]=E+(~((E+-4-I|0)>>>2)<<2);GQa(I)}break}case 2:{I=f[D>>2]|0;E=f[ea>>2]|0;O=f[A>>2]|0;za=f[B>>2]|0;_=f[Z>>2]|0;F=f[O+(i<<2)>>2]|0;aa=f[za+((i<<1|1)<<2)>>2]|0;a=i<<2;if(e){Ja=f[$>>2]|0;DVa(s|0,f[da>>2]|0,a|0)|0;DVa(t|0,Ja|0,a|0)|0}c:do if(!m){if(!l){f[r>>2]=0;f[r+4>>2]=0;K=JV(r,55)|0;L=222660;M=K+55|0;do{b[K>>0]=b[L>>0]|0;K=K+1|0;L=L+1|0}while((K|0)<(M|0));EP(-5,r,222716,222100,989);KV(r);break}if(e)DVa(r|0,l|0,a|0)|0;if(E|0){Ja=(I|0)>0;Ma=(i|0)==0;Ka=(i|0)==0;La=F;Y=E;while(1){Y=Y+-1|0;d:do if(Ja)if(!La){if(e)Na=0;else{la=0;while(1){if(Ma)f[_>>2]=(f[_>>2]|0)+1;la=la+1|0;if((la|0)==(I|0))break d}}do{la=_;P=0;while(1){Fa=O+(P<<2)|0;Ia=f[Fa>>2]|0;Oa=+(j[Ia>>1]|0);Ga=f[r+(P<<2)>>2]|0;Ha=f[s+(P<<2)>>2]|0;ma=-1;while(1){c=ma+1|0;if(!(+n[Ga+(c<<2)>>2]<=Oa)){Pa=ma;break}if((c|0)<(Ha|0))ma=c;else{Pa=c;break}}if(Pa>>>0>=Ha>>>0){Qa=la;Ra=P;break}f[Fa>>2]=Ia+(f[za+(P<<1<<2)>>2]<<1);ma=la+(X(f[t+(P<<2)>>2]|0,Pa)|0)|0;Ga=P+1|0;if((Ga|0)<(i|0)){la=ma;P=Ga}else{Qa=ma;Ra=Ga;break}}do if((Ra|0)==(i|0))f[Qa>>2]=(f[Qa>>2]|0)+1;else{if((Ra|0)<(i|0))Sa=Ra;else break;do{P=O+(Sa<<2)|0;f[P>>2]=(f[P>>2]|0)+(f[za+(Sa<<1<<2)>>2]<<1);Sa=Sa+1|0}while((Sa|0)!=(i|0))}while(0);Na=Na+1|0}while((Na|0)!=(I|0))}else{if(e)Ta=0;else{Ia=0;while(1){if(Ka)f[_>>2]=(f[_>>2]|0)+1;Ia=Ia+1|0;if((Ia|0)==(I|0))break d}}do{e:do if(!(b[La+Ta>>0]|0)){Ua=_;Va=0}else{Ia=_;Fa=0;while(1){Ha=O+(Fa<<2)|0;P=f[Ha>>2]|0;Oa=+(j[P>>1]|0);la=f[r+(Fa<<2)>>2]|0;Ga=f[s+(Fa<<2)>>2]|0;ma=-1;while(1){c=ma+1|0;if(!(+n[la+(c<<2)>>2]<=Oa)){Wa=ma;break}if((c|0)<(Ga|0))ma=c;else{Wa=c;break}}if(Wa>>>0>=Ga>>>0){Ua=Ia;Va=Fa;break e}f[Ha>>2]=P+(f[za+(Fa<<1<<2)>>2]<<1);ma=Ia+(X(f[t+(Fa<<2)>>2]|0,Wa)|0)|0;la=Fa+1|0;if((la|0)<(i|0)){Ia=ma;Fa=la}else{Ua=ma;Va=la;break}}}while(0);do if((Va|0)==(i|0))f[Ua>>2]=(f[Ua>>2]|0)+1;else{if((Va|0)<(i|0))Xa=Va;else break;do{Fa=O+(Xa<<2)|0;f[Fa>>2]=(f[Fa>>2]|0)+(f[za+(Xa<<1<<2)>>2]<<1);Xa=Xa+1|0}while((Xa|0)!=(i|0))}while(0);Ta=Ta+1|0}while((Ta|0)!=(I|0))}while(0);if(e){Fa=0;do{Ia=O+(Fa<<2)|0;f[Ia>>2]=(f[Ia>>2]|0)+(f[za+((Fa<<1|1)<<2)>>2]<<1);Fa=Fa+1|0}while((Fa|0)!=(i|0))}if(!Y)break;else La=La+aa|0}}}else switch(i|0){case 1:{Oa=+p[d>>3];Ya=+p[d+8>>3];La=f[s>>2]|0;Y=f[za>>2]|0;Ka=f[za+4>>2]|0;if(!E)break c;if((I|0)<=0)break c;Ma=X(Y,I+-1|0)|0;Ja=F;Fa=f[O>>2]|0;Ia=E;while(1){Ia=Ia+-1|0;if(!Ja){la=0;ma=Fa;while(1){Za=Ya+Oa*+(j[ma>>1]|0);c=~~Za;ya=c-(Za<+(c|0)&1)|0;c=_+(ya<<2)|0;if(ya>>>0>>0)f[c>>2]=(f[c>>2]|0)+1;la=la+1|0;if((la|0)==(I|0))break;else ma=ma+(Y<<1)|0}}else{ma=0;la=Fa;while(1){do if(b[Ja+ma>>0]|0){Za=Ya+Oa*+(j[la>>1]|0);c=~~Za;ya=c-(Za<+(c|0)&1)|0;c=_+(ya<<2)|0;if(ya>>>0>=La>>>0)break;f[c>>2]=(f[c>>2]|0)+1}while(0);ma=ma+1|0;if((ma|0)==(I|0))break;else la=la+(Y<<1)|0}}if(!Ia)break;else{Ja=Ja+aa|0;Fa=Fa+(Ma<<1)+(Y<<1)+(Ka<<1)|0}}break}case 2:{Oa=+p[d>>3];Ya=+p[d+8>>3];Za=+p[d+16>>3];_a=+p[d+24>>3];Ka=f[s>>2]|0;Y=f[s+4>>2]|0;Ma=f[za>>2]|0;Fa=f[za+4>>2]|0;Ja=f[za+8>>2]|0;Ia=f[za+12>>2]|0;La=f[t>>2]|0;if(!((E|0)!=0&(I|0)>0))break c;la=I+-1|0;ma=X(Ma,la)|0;c=X(Ja,la)|0;la=f[O>>2]|0;ya=f[O+4>>2]|0;xa=F;Q=E;while(1){Q=Q+-1|0;if(!xa){ua=la;Aa=ya;Da=0;while(1){$a=Ya+Oa*+(j[ua>>1]|0);Ba=~~$a;wa=Ba-($a<+(Ba|0)&1)|0;$a=_a+Za*+(j[Aa>>1]|0);Ba=~~$a;ga=Ba-($a<+(Ba|0)&1)|0;Ba=_+(X(wa,La)|0)+(ga<<2)|0;if(wa>>>0>>0&ga>>>0>>0)f[Ba>>2]=(f[Ba>>2]|0)+1;Da=Da+1|0;if((Da|0)==(I|0))break;else{ua=ua+(Ma<<1)|0;Aa=Aa+(Ja<<1)|0}}}else{Aa=la;ua=ya;Da=0;while(1){do if(b[xa+Da>>0]|0){$a=Ya+Oa*+(j[Aa>>1]|0);Ba=~~$a;ga=Ba-($a<+(Ba|0)&1)|0;$a=_a+Za*+(j[ua>>1]|0);Ba=~~$a;wa=Ba-($a<+(Ba|0)&1)|0;Ba=_+(X(ga,La)|0)+(wa<<2)|0;if(!(ga>>>0>>0&wa>>>0>>0))break;f[Ba>>2]=(f[Ba>>2]|0)+1}while(0);Da=Da+1|0;if((Da|0)==(I|0))break;else{Aa=Aa+(Ma<<1)|0;ua=ua+(Ja<<1)|0}}}if(!Q)break;else{la=la+(ma<<1)+(Ma<<1)+(Fa<<1)|0;ya=ya+(c<<1)+(Ja<<1)+(Ia<<1)|0;xa=xa+aa|0}}break}case 3:{Za=+p[d>>3];_a=+p[d+8>>3];Oa=+p[d+16>>3];Ya=+p[d+24>>3];$a=+p[d+32>>3];ab=+p[d+40>>3];xa=f[s>>2]|0;Ia=f[s+4>>2]|0;Ja=f[s+8>>2]|0;c=f[za>>2]|0;ya=f[za+4>>2]|0;Fa=f[za+8>>2]|0;Ma=f[za+12>>2]|0;ma=f[za+16>>2]|0;la=f[za+20>>2]|0;Q=f[t>>2]|0;Y=f[t+4>>2]|0;if(!E)break c;Ka=(I|0)>0;La=X(I,c)|0;ua=X(I,Fa)|0;Aa=X(I,ma)|0;Da=f[O>>2]|0;Ba=f[O+4>>2]|0;wa=f[O+8>>2]|0;ga=F;ra=E;while(1){ra=ra+-1|0;do if(!ga){if(!Ka){bb=Da;cb=Ba;db=wa;break}sa=Ba+(ua<<1)|0;oa=Da;na=Ba;N=wa;ha=0;while(1){eb=_a+Za*+(j[oa>>1]|0);ta=~~eb;ja=ta-(eb<+(ta|0)&1)|0;eb=Ya+Oa*+(j[na>>1]|0);ta=~~eb;ka=ta-(eb<+(ta|0)&1)|0;eb=ab+$a*+(j[N>>1]|0);ta=~~eb;ia=ta-(eb<+(ta|0)&1)|0;ta=_+(X(ja,Q)|0)+(X(ka,Y)|0)+(ia<<2)|0;if(ja>>>0>>0&ka>>>0>>0&ia>>>0>>0)f[ta>>2]=(f[ta>>2]|0)+1;ha=ha+1|0;if((ha|0)==(I|0))break;else{oa=oa+(c<<1)|0;na=na+(Fa<<1)|0;N=N+(ma<<1)|0}}bb=Da+(La<<1)|0;cb=sa;db=wa+(Aa<<1)|0}else{if(!Ka){bb=Da;cb=Ba;db=wa;break}N=Ba+(ua<<1)|0;na=Da;oa=Ba;ha=wa;ta=0;while(1){do if(b[ga+ta>>0]|0){eb=_a+Za*+(j[na>>1]|0);ia=~~eb;ka=ia-(eb<+(ia|0)&1)|0;eb=Ya+Oa*+(j[oa>>1]|0);ia=~~eb;ja=ia-(eb<+(ia|0)&1)|0;eb=ab+$a*+(j[ha>>1]|0);ia=~~eb;x=ia-(eb<+(ia|0)&1)|0;ia=_+(X(ka,Q)|0)+(X(ja,Y)|0)+(x<<2)|0;if(!(ka>>>0>>0&ja>>>0>>0&x>>>0>>0))break;f[ia>>2]=(f[ia>>2]|0)+1}while(0);ta=ta+1|0;if((ta|0)==(I|0))break;else{na=na+(c<<1)|0;oa=oa+(Fa<<1)|0;ha=ha+(ma<<1)|0}}bb=Da+(La<<1)|0;cb=N;db=wa+(Aa<<1)|0}while(0);if(!ra)break;else{Da=bb+(ya<<1)|0;Ba=cb+(Ma<<1)|0;wa=db+(la<<1)|0;ga=ga+aa|0}}break}default:{if(!E)break c;ga=(i|0)==0;la=(I|0)>0;wa=F;Ma=E;while(1){Ma=Ma+-1|0;do if(!wa){if(!la){Ea=224;break}if(e)fb=0;else{if(!ga)break;Ba=0;ya=f[_>>2]|0;do{ya=ya+1|0;Ba=Ba+1|0}while((Ba|0)!=(I|0));f[_>>2]=ya;Ea=224;break}do{Ba=_;N=0;while(1){Da=O+(N<<2)|0;ra=f[Da>>2]|0;Aa=N<<1;$a=+p[d+(Aa<<3)>>3]*+(j[ra>>1]|0)+ +p[d+((Aa|1)<<3)>>3];La=~~$a;ma=La-($a<+(La|0)&1)|0;if(ma>>>0>=(f[s+(N<<2)>>2]|0)>>>0){gb=Ba;hb=N;break}f[Da>>2]=ra+(f[za+(Aa<<2)>>2]<<1);Aa=Ba+(X(f[t+(N<<2)>>2]|0,ma)|0)|0;ma=N+1|0;if((ma|0)<(i|0)){Ba=Aa;N=ma}else{gb=Aa;hb=ma;break}}do if((hb|0)==(i|0))f[gb>>2]=(f[gb>>2]|0)+1;else{if((hb|0)<(i|0))ib=hb;else break;do{N=O+(ib<<2)|0;f[N>>2]=(f[N>>2]|0)+(f[za+(ib<<1<<2)>>2]<<1);ib=ib+1|0}while((ib|0)!=(i|0))}while(0);fb=fb+1|0}while((fb|0)!=(I|0));Ea=224}else{if(!la){Ea=224;break}if(e)jb=0;else{if(!ga)break;ya=0;N=f[_>>2]|0;do{N=N+1|0;ya=ya+1|0}while((ya|0)!=(I|0));f[_>>2]=N;Ea=224;break}while(1){f:do if(!(b[wa+jb>>0]|0)){kb=_;lb=0}else{ya=_;Ba=0;while(1){ma=O+(Ba<<2)|0;Aa=f[ma>>2]|0;ra=Ba<<1;$a=+p[d+(ra<<3)>>3]*+(j[Aa>>1]|0)+ +p[d+((ra|1)<<3)>>3];Da=~~$a;La=Da-($a<+(Da|0)&1)|0;if(La>>>0>=(f[s+(Ba<<2)>>2]|0)>>>0){kb=ya;lb=Ba;break f}f[ma>>2]=Aa+(f[za+(ra<<2)>>2]<<1);ra=ya+(X(f[t+(Ba<<2)>>2]|0,La)|0)|0;La=Ba+1|0;if((La|0)<(i|0)){ya=ra;Ba=La}else{kb=ra;lb=La;break}}}while(0);do if((lb|0)==(i|0))f[kb>>2]=(f[kb>>2]|0)+1;else{if((lb|0)<(i|0))mb=lb;else break;do{Ba=O+(mb<<2)|0;f[Ba>>2]=(f[Ba>>2]|0)+(f[za+(mb<<1<<2)>>2]<<1);mb=mb+1|0}while((mb|0)!=(i|0))}while(0);jb=jb+1|0;if((jb|0)==(I|0)){Ea=224;break}}}while(0);do if((Ea|0)==224){Ea=0;if(e)nb=0;else break;do{N=O+(nb<<2)|0;f[N>>2]=(f[N>>2]|0)+(f[za+((nb<<1|1)<<2)>>2]<<1);nb=nb+1|0}while((nb|0)!=(i|0))}while(0);if(!Ma)break;else wa=wa+aa|0}}}while(0);break}case 5:{aa=f[D>>2]|0;D=f[ea>>2]|0;ea=f[A>>2]|0;nb=f[B>>2]|0;za=f[Z>>2]|0;O=f[ea+(i<<2)>>2]|0;I=f[nb+((i<<1|1)<<2)>>2]|0;jb=i<<2;if(e){mb=f[$>>2]|0;DVa(s|0,f[da>>2]|0,jb|0)|0;DVa(t|0,mb|0,jb|0)|0}g:do if(!m){if(!l){f[r>>2]=0;f[r+4>>2]=0;K=JV(r,55)|0;L=222660;M=K+55|0;do{b[K>>0]=b[L>>0]|0;K=K+1|0;L=L+1|0}while((K|0)<(M|0));EP(-5,r,222716,222100,989);KV(r);break}if(e)DVa(r|0,l|0,jb|0)|0;if(D|0){mb=(aa|0)>0;lb=(i|0)==0;kb=(i|0)==0;_=O;fb=D;while(1){fb=fb+-1|0;h:do if(mb)if(!_){if(e)ob=0;else{ib=0;while(1){if(lb)f[za>>2]=(f[za>>2]|0)+1;ib=ib+1|0;if((ib|0)==(aa|0))break h}}do{ib=za;hb=0;while(1){gb=ea+(hb<<2)|0;E=f[gb>>2]|0;$a=+n[E>>2];F=f[r+(hb<<2)>>2]|0;db=f[s+(hb<<2)>>2]|0;cb=-1;while(1){bb=cb+1|0;if(!($a>=+n[F+(bb<<2)>>2])){pb=cb;break}if((bb|0)<(db|0))cb=bb;else{pb=bb;break}}if(pb>>>0>=db>>>0){qb=ib;rb=hb;break}f[gb>>2]=E+(f[nb+(hb<<1<<2)>>2]<<2);cb=ib+(X(f[t+(hb<<2)>>2]|0,pb)|0)|0;F=hb+1|0;if((F|0)<(i|0)){ib=cb;hb=F}else{qb=cb;rb=F;break}}do if((rb|0)==(i|0))f[qb>>2]=(f[qb>>2]|0)+1;else{if((rb|0)<(i|0))sb=rb;else break;do{hb=ea+(sb<<2)|0;f[hb>>2]=(f[hb>>2]|0)+(f[nb+(sb<<1<<2)>>2]<<2);sb=sb+1|0}while((sb|0)!=(i|0))}while(0);ob=ob+1|0}while((ob|0)!=(aa|0))}else{if(e)tb=0;else{E=0;while(1){if(kb)f[za>>2]=(f[za>>2]|0)+1;E=E+1|0;if((E|0)==(aa|0))break h}}do{i:do if(!(b[_+tb>>0]|0)){ub=za;vb=0}else{E=za;gb=0;while(1){db=ea+(gb<<2)|0;hb=f[db>>2]|0;$a=+n[hb>>2];ib=f[r+(gb<<2)>>2]|0;F=f[s+(gb<<2)>>2]|0;cb=-1;while(1){bb=cb+1|0;if(!($a>=+n[ib+(bb<<2)>>2])){wb=cb;break}if((bb|0)<(F|0))cb=bb;else{wb=bb;break}}if(wb>>>0>=F>>>0){ub=E;vb=gb;break i}f[db>>2]=hb+(f[nb+(gb<<1<<2)>>2]<<2);cb=E+(X(f[t+(gb<<2)>>2]|0,wb)|0)|0;ib=gb+1|0;if((ib|0)<(i|0)){E=cb;gb=ib}else{ub=cb;vb=ib;break}}}while(0);do if((vb|0)==(i|0))f[ub>>2]=(f[ub>>2]|0)+1;else{if((vb|0)<(i|0))xb=vb;else break;do{gb=ea+(xb<<2)|0;f[gb>>2]=(f[gb>>2]|0)+(f[nb+(xb<<1<<2)>>2]<<2);xb=xb+1|0}while((xb|0)!=(i|0))}while(0);tb=tb+1|0}while((tb|0)!=(aa|0))}while(0);if(e){gb=0;do{E=ea+(gb<<2)|0;f[E>>2]=(f[E>>2]|0)+(f[nb+((gb<<1|1)<<2)>>2]<<2);gb=gb+1|0}while((gb|0)!=(i|0))}if(!fb)break;else _=_+I|0}}}else switch(i|0){case 1:{$a=+p[d>>3];ab=+p[d+8>>3];_=f[s>>2]|0;fb=f[nb>>2]|0;kb=f[nb+4>>2]|0;if(!D)break g;if((aa|0)<=0)break g;lb=X(fb,aa+-1|0)|0;mb=O;gb=f[ea>>2]|0;E=D;while(1){E=E+-1|0;if(!mb){ib=0;cb=gb;while(1){Oa=ab+$a*+n[cb>>2];P=~~Oa;Ha=P-(Oa<+(P|0)&1)|0;P=za+(Ha<<2)|0;if(Ha>>>0<_>>>0)f[P>>2]=(f[P>>2]|0)+1;ib=ib+1|0;if((ib|0)==(aa|0))break;else cb=cb+(fb<<2)|0}}else{cb=0;ib=gb;while(1){do if(b[mb+cb>>0]|0){Oa=ab+$a*+n[ib>>2];P=~~Oa;Ha=P-(Oa<+(P|0)&1)|0;P=za+(Ha<<2)|0;if(Ha>>>0>=_>>>0)break;f[P>>2]=(f[P>>2]|0)+1}while(0);cb=cb+1|0;if((cb|0)==(aa|0))break;else ib=ib+(fb<<2)|0}}if(!E)break;else{mb=mb+I|0;gb=gb+(lb<<2)+(fb<<2)+(kb<<2)|0}}break}case 2:{$a=+p[d>>3];ab=+p[d+8>>3];Oa=+p[d+16>>3];Ya=+p[d+24>>3];kb=f[s>>2]|0;fb=f[s+4>>2]|0;lb=f[nb>>2]|0;gb=f[nb+4>>2]|0;mb=f[nb+8>>2]|0;E=f[nb+12>>2]|0;_=f[t>>2]|0;if(!((D|0)!=0&(aa|0)>0))break g;ib=aa+-1|0;cb=X(lb,ib)|0;P=X(mb,ib)|0;ib=f[ea>>2]|0;Ha=f[ea+4>>2]|0;Ga=O;bb=D;while(1){bb=bb+-1|0;if(!Ga){Ta=ib;Xa=Ha;Va=0;while(1){Za=ab+$a*+n[Ta>>2];Ua=~~Za;Wa=Ua-(Za<+(Ua|0)&1)|0;Za=Ya+Oa*+n[Xa>>2];Ua=~~Za;Na=Ua-(Za<+(Ua|0)&1)|0;Ua=za+(X(Wa,_)|0)+(Na<<2)|0;if(Wa>>>0>>0&Na>>>0>>0)f[Ua>>2]=(f[Ua>>2]|0)+1;Va=Va+1|0;if((Va|0)==(aa|0))break;else{Ta=Ta+(lb<<2)|0;Xa=Xa+(mb<<2)|0}}}else{Xa=ib;Ta=Ha;Va=0;while(1){do if(b[Ga+Va>>0]|0){Za=ab+$a*+n[Xa>>2];Ua=~~Za;Na=Ua-(Za<+(Ua|0)&1)|0;Za=Ya+Oa*+n[Ta>>2];Ua=~~Za;Wa=Ua-(Za<+(Ua|0)&1)|0;Ua=za+(X(Na,_)|0)+(Wa<<2)|0;if(!(Na>>>0>>0&Wa>>>0>>0))break;f[Ua>>2]=(f[Ua>>2]|0)+1}while(0);Va=Va+1|0;if((Va|0)==(aa|0))break;else{Xa=Xa+(lb<<2)|0;Ta=Ta+(mb<<2)|0}}}if(!bb)break;else{ib=ib+(cb<<2)+(lb<<2)+(gb<<2)|0;Ha=Ha+(P<<2)+(mb<<2)+(E<<2)|0;Ga=Ga+I|0}}break}case 3:{Oa=+p[d>>3];Ya=+p[d+8>>3];$a=+p[d+16>>3];ab=+p[d+24>>3];Za=+p[d+32>>3];_a=+p[d+40>>3];Ga=f[s>>2]|0;E=f[s+4>>2]|0;mb=f[s+8>>2]|0;P=f[nb>>2]|0;Ha=f[nb+4>>2]|0;gb=f[nb+8>>2]|0;lb=f[nb+12>>2]|0;cb=f[nb+16>>2]|0;ib=f[nb+20>>2]|0;bb=f[t>>2]|0;fb=f[t+4>>2]|0;if(!D)break g;kb=(aa|0)>0;_=X(aa,P)|0;Ta=X(aa,gb)|0;Xa=X(aa,cb)|0;Va=f[ea>>2]|0;Ua=f[ea+4>>2]|0;Wa=f[ea+8>>2]|0;Na=O;Sa=D;while(1){Sa=Sa+-1|0;do if(!Na){if(!kb){yb=Va;zb=Ua;Ab=Wa;break}Ra=Ua+(Ta<<2)|0;Qa=Va;Pa=Ua;a=Wa;wa=0;while(1){eb=Ya+Oa*+n[Qa>>2];Ma=~~eb;ga=Ma-(eb<+(Ma|0)&1)|0;eb=ab+$a*+n[Pa>>2];Ma=~~eb;la=Ma-(eb<+(Ma|0)&1)|0;eb=_a+Za*+n[a>>2];Ma=~~eb;N=Ma-(eb<+(Ma|0)&1)|0;Ma=za+(X(ga,bb)|0)+(X(la,fb)|0)+(N<<2)|0;if(ga>>>0>>0&la>>>0>>0&N>>>0>>0)f[Ma>>2]=(f[Ma>>2]|0)+1;wa=wa+1|0;if((wa|0)==(aa|0))break;else{Qa=Qa+(P<<2)|0;Pa=Pa+(gb<<2)|0;a=a+(cb<<2)|0}}yb=Va+(_<<2)|0;zb=Ra;Ab=Wa+(Xa<<2)|0}else{if(!kb){yb=Va;zb=Ua;Ab=Wa;break}a=Ua+(Ta<<2)|0;Pa=Va;Qa=Ua;wa=Wa;Ma=0;while(1){do if(b[Na+Ma>>0]|0){eb=Ya+Oa*+n[Pa>>2];N=~~eb;la=N-(eb<+(N|0)&1)|0;eb=ab+$a*+n[Qa>>2];N=~~eb;ga=N-(eb<+(N|0)&1)|0;eb=_a+Za*+n[wa>>2];N=~~eb;Ba=N-(eb<+(N|0)&1)|0;N=za+(X(la,bb)|0)+(X(ga,fb)|0)+(Ba<<2)|0;if(!(la>>>0>>0&ga>>>0>>0&Ba>>>0>>0))break;f[N>>2]=(f[N>>2]|0)+1}while(0);Ma=Ma+1|0;if((Ma|0)==(aa|0))break;else{Pa=Pa+(P<<2)|0;Qa=Qa+(gb<<2)|0;wa=wa+(cb<<2)|0}}yb=Va+(_<<2)|0;zb=a;Ab=Wa+(Xa<<2)|0}while(0);if(!Sa)break;else{Va=yb+(Ha<<2)|0;Ua=zb+(lb<<2)|0;Wa=Ab+(ib<<2)|0;Na=Na+I|0}}break}default:{if(!D)break g;Na=(i|0)==0;ib=(aa|0)>0;Wa=O;lb=D;while(1){lb=lb+-1|0;do if(!Wa){if(!ib){Ea=345;break}if(e)Bb=0;else{if(!Na)break;Ua=0;Ha=f[za>>2]|0;do{Ha=Ha+1|0;Ua=Ua+1|0}while((Ua|0)!=(aa|0));f[za>>2]=Ha;Ea=345;break}do{Ua=za;a=0;while(1){Va=ea+(a<<2)|0;Sa=f[Va>>2]|0;Xa=a<<1;Za=+p[d+(Xa<<3)>>3]*+n[Sa>>2]+ +p[d+((Xa|1)<<3)>>3];_=~~Za;cb=_-(Za<+(_|0)&1)|0;if(cb>>>0>=(f[s+(a<<2)>>2]|0)>>>0){Cb=Ua;Db=a;break}f[Va>>2]=Sa+(f[nb+(Xa<<2)>>2]<<2);Xa=Ua+(X(f[t+(a<<2)>>2]|0,cb)|0)|0;cb=a+1|0;if((cb|0)<(i|0)){Ua=Xa;a=cb}else{Cb=Xa;Db=cb;break}}do if((Db|0)==(i|0))f[Cb>>2]=(f[Cb>>2]|0)+1;else{if((Db|0)<(i|0))Eb=Db;else break;do{a=ea+(Eb<<2)|0;f[a>>2]=(f[a>>2]|0)+(f[nb+(Eb<<1<<2)>>2]<<2);Eb=Eb+1|0}while((Eb|0)!=(i|0))}while(0);Bb=Bb+1|0}while((Bb|0)!=(aa|0));Ea=345}else{if(!ib){Ea=345;break}if(e)Fb=0;else{if(!Na)break;Ha=0;a=f[za>>2]|0;do{a=a+1|0;Ha=Ha+1|0}while((Ha|0)!=(aa|0));f[za>>2]=a;Ea=345;break}while(1){j:do if(!(b[Wa+Fb>>0]|0)){Gb=za;Hb=0}else{Ha=za;Ua=0;while(1){cb=ea+(Ua<<2)|0;Xa=f[cb>>2]|0;Sa=Ua<<1;Za=+p[d+(Sa<<3)>>3]*+n[Xa>>2]+ +p[d+((Sa|1)<<3)>>3];Va=~~Za;_=Va-(Za<+(Va|0)&1)|0;if(_>>>0>=(f[s+(Ua<<2)>>2]|0)>>>0){Gb=Ha;Hb=Ua;break j}f[cb>>2]=Xa+(f[nb+(Sa<<2)>>2]<<2);Sa=Ha+(X(f[t+(Ua<<2)>>2]|0,_)|0)|0;_=Ua+1|0;if((_|0)<(i|0)){Ha=Sa;Ua=_}else{Gb=Sa;Hb=_;break}}}while(0);do if((Hb|0)==(i|0))f[Gb>>2]=(f[Gb>>2]|0)+1;else{if((Hb|0)<(i|0))Ib=Hb;else break;do{Ua=ea+(Ib<<2)|0;f[Ua>>2]=(f[Ua>>2]|0)+(f[nb+(Ib<<1<<2)>>2]<<2);Ib=Ib+1|0}while((Ib|0)!=(i|0))}while(0);Fb=Fb+1|0;if((Fb|0)==(aa|0)){Ea=345;break}}}while(0);do if((Ea|0)==345){Ea=0;if(e)Jb=0;else break;do{a=ea+(Jb<<2)|0;f[a>>2]=(f[a>>2]|0)+(f[nb+((Jb<<1|1)<<2)>>2]<<2);Jb=Jb+1|0}while((Jb|0)!=(i|0))}while(0);if(!lb)break;else Wa=Wa+I|0}}}while(0);break}default:{f[r>>2]=0;f[r+4>>2]=0;EP(-210,r,222578,222100,1498);KV(r)}}I=r+8|0;f[I>>2]=0;f[I+4>>2]=0;f[r>>2]=33619968;f[r+4>>2]=y;AO(z,r,5,1.0,0.0);r=f[C>>2]|0;if(r|0){C=f[J>>2]|0;if((C|0)!=(r|0))f[J>>2]=C+(~((C+-8-r|0)>>>3)<<3);GQa(r)}r=f[B>>2]|0;if(r|0){B=f[g>>2]|0;if((B|0)!=(r|0))f[g>>2]=B+(~((B+-4-r|0)>>>2)<<2);GQa(r)}r=f[A>>2]|0;if(r|0){A=f[o>>2]|0;if((A|0)!=(r|0))f[o>>2]=A+(~((A+-4-r|0)>>>2)<<2);GQa(r)}r=f[ba>>2]|0;if(r|0?(A=r+12|0,r=f[A>>2]|0,f[A>>2]=r+-1,(r|0)==1):0)XO(z);f[ba>>2]=0;f[Z>>2]=0;f[Z+4>>2]=0;f[Z+8>>2]=0;f[Z+12>>2]=0;if((f[V>>2]|0)>0){Z=f[da>>2]|0;da=0;do{f[Z+(da<<2)>>2]=0;da=da+1|0}while((da|0)<(f[V>>2]|0))}V=f[$>>2]|0;if((V|0)!=(G|0))dX(V);V=f[ca>>2]|0;if(V|0?(G=V+12|0,V=f[G>>2]|0,f[G>>2]=V+-1,(V|0)==1):0)XO(y);f[ca>>2]=0;f[U>>2]=0;f[U+4>>2]=0;f[U+8>>2]=0;f[U+12>>2]=0;if((f[W>>2]|0)>0){U=f[fa>>2]|0;fa=0;do{f[U+(fa<<2)>>2]=0;fa=fa+1|0}while((fa|0)<(f[W>>2]|0))}W=f[y+44>>2]|0;if((W|0)!=(y+48|0))dX(W);W=w+36|0;y=f[W>>2]|0;do if(y|0){fa=y+12|0;U=f[fa>>2]|0;f[fa>>2]=U+-1;if((U|0)!=1)break;XO(w)}while(0);f[W>>2]=0;W=w+4|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;if((f[W>>2]|0)>0){H=f[w+40>>2]|0;y=0;do{f[H+(y<<2)>>2]=0;y=y+1|0}while((y|0)<(f[W>>2]|0))}W=f[w+44>>2]|0;if((W|0)!=(w+48|0))dX(W);if(!(f[v+4>>2]|0)){u=q;return}u=q;return}function $da(a,c,d,e,g,h,i,j,k,l,m,o){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;o=o|0;var q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0.0,Z=0.0,_=0.0,$=0.0;q=u;u=u+16|0;r=q;s=(d|0)!=0;if(!(s|(c|0)==(g|0))){f[r>>2]=0;f[r+4>>2]=0;t=JV(r,32)|0;v=222750;w=t+32|0;do{b[t>>0]=b[v>>0]|0;t=t+1|0;v=v+1|0}while((t|0)<(w|0));EP(-215,r,222783,222100,128);KV(r)}x=f[a+40>>2]|0;y=f[x>>2]|0;f[m>>2]=f[x+4>>2];x=m+4|0;f[x>>2]=y;y=f[a>>2]|0;z=y&7;A=1212424721>>>(y<<2&28)&15;y=g+1|0;B=k+4|0;C=f[B>>2]|0;D=f[k>>2]|0;E=C-D>>2;F=D;D=C;if(y>>>0<=E>>>0){if(y>>>0>>0?(C=F+(y<<2)|0,(C|0)!=(D|0)):0)f[B>>2]=D+(~((D+-4-C|0)>>>2)<<2)}else P7(k,y-E|0);E=y<<1;y=l+4|0;C=f[y>>2]|0;D=f[l>>2]|0;B=C-D>>2;F=D;D=C;if(E>>>0<=B>>>0){if(E>>>0>>0?(C=F+(E<<2)|0,(C|0)!=(D|0)):0)f[y>>2]=D+(~((D+-4-C|0)>>>2)<<2)}else eK(l,E-B|0);B=(g|0)>0;if(B){E=r+4|0;C=(c|0)>0;D=r+4|0;y=r+4|0;F=r+4|0;G=0;H=1;while(1){a:do if(!s)if(!(f[a+(G*56|0)>>2]&4088)){I=G;J=0}else{f[r>>2]=0;f[F>>2]=0;t=JV(r,25)|0;v=222801;w=t+25|0;do{b[t>>0]=b[v>>0]|0;t=t+1|0;v=v+1|0}while((t|0)<(w|0));EP(-215,r,222783,222100,143);KV(r);I=G;J=0}else{K=f[d+(G<<2)>>2]|0;if((K|0)<=-1){f[r>>2]=0;f[E>>2]=0;L=JV(r,6)|0;b[L>>0]=b[222827]|0;b[L+1>>0]=b[222828]|0;b[L+2>>0]=b[222829]|0;b[L+3>>0]=b[222830]|0;b[L+4>>0]=b[222831]|0;b[L+5>>0]=b[222832]|0;EP(-215,r,222783,222100,148);KV(r)}if(C){L=0;M=K;while(1){N=(f[a+(L*56|0)>>2]|0)>>>3&511;if((M|0)<=(N|0)){I=L;J=M;break a}O=M+-1-N|0;N=L+1|0;if((N|0)<(c|0)){L=N;M=O}else{P=N;Q=O;break}}}else{P=0;Q=K}f[r>>2]=0;f[D>>2]=0;t=JV(r,11)|0;v=222834;w=t+11|0;do{b[t>>0]=b[v>>0]|0;t=t+1|0;v=v+1|0}while((t|0)<(w|0));EP(-215,r,222783,222100,152);KV(r);I=P;J=Q}while(0);K=a+(I*56|0)|0;M=f[a+(I*56|0)+40>>2]|0;if(((f[M>>2]|0)==(f[x>>2]|0)?(f[M+4>>2]|0)==(f[m>>2]|0):0)?(M=f[K>>2]|0,(M&7|0)==(z|0)):0)R=M;else{f[r>>2]=0;f[y>>2]=0;t=JV(r,56)|0;v=222846;w=t+56|0;do{b[t>>0]=b[v>>0]|0;t=t+1|0;v=v+1|0}while((t|0)<(w|0));EP(-215,r,222783,222100,155);KV(r);R=f[K>>2]|0}M=H&(R&16384|0)!=0;L=(f[a+(I*56|0)+16>>2]|0)+(X(J,A)|0)|0;f[(f[k>>2]|0)+(G<<2)>>2]=L;L=(R>>>3&511)+1|0;O=G<<1;N=f[l>>2]|0;f[N+(O<<2)>>2]=L;S=(((f[a+(I*56|0)+48>>2]|0)>>>0)/(A>>>0)|0)-(X(L,f[m>>2]|0)|0)|0;f[N+((O|1)<<2)>>2]=S;G=G+1|0;if((G|0)>=(g|0)){T=M;break}else H=M}}else T=1;H=e+16|0;do if(!(f[H>>2]|0)){if(T)U=42}else{G=f[e+4>>2]|0;if((G|0)<3)V=X(f[e+12>>2]|0,f[e+8>>2]|0)|0;else{A=f[e+40>>2]|0;I=0;a=1;while(1){R=X(f[A+(I<<2)>>2]|0,a)|0;I=I+1|0;if((I|0)==(G|0)){V=R;break}else a=R}}if((G|0)==0|(V|0)==0)if(T){U=42;break}else break;a=f[e+40>>2]|0;if(!(((f[a>>2]|0)==(f[x>>2]|0)?(f[a+4>>2]|0)==(f[m>>2]|0):0)?!(f[e>>2]&4088|0):0)){f[r>>2]=0;f[r+4>>2]=0;t=JV(r,45)|0;v=222903;w=t+45|0;do{b[t>>0]=b[v>>0]|0;t=t+1|0;v=v+1|0}while((t|0)<(w|0));EP(-215,r,222783,222100,165);KV(r)}if(T)W=(f[e>>2]&16384|0)!=0;else W=0;f[(f[k>>2]|0)+(g<<2)>>2]=f[H>>2];G=g<<1;a=f[l>>2]|0;f[a+(G<<2)>>2]=1;f[a+((G|1)<<2)>>2]=((f[e+48>>2]|0)>>>0)/((1212424721>>>(f[e>>2]<<2&28)&15)>>>0)|0;if(W)U=42}while(0);if((U|0)==42){U=X(f[m>>2]|0,f[x>>2]|0)|0;f[m>>2]=U;f[x>>2]=1}if(!i){if(z|0){f[r>>2]=0;f[r+4>>2]=0;t=JV(r,10)|0;v=337473;w=t+10|0;do{b[t>>0]=b[v>>0]|0;t=t+1|0;v=v+1|0}while((t|0)<(w|0));EP(-215,r,222783,222100,182);KV(r)}z=g<<1;x=o+4|0;U=f[x>>2]|0;m=f[o>>2]|0;W=U-m>>3;e=m;m=U;if(z>>>0<=W>>>0){if(z>>>0>>0?(U=e+(z<<3)|0,(U|0)!=(m|0)):0)f[x>>2]=m+(~((m+-8-U|0)>>>3)<<3)}else U$(o,z-W|0);if(!B){u=q;return}W=f[o>>2]|0;z=0;do{U=z<<1;p[W+(U<<3)>>3]=+(f[h+(z<<2)>>2]|0)*.00390625;p[W+((U|1)<<3)>>3]=0.0;z=z+1|0}while((z|0)!=(g|0));u=q;return}if(!j){if(!B){u=q;return}j=r+4|0;z=0;do{W=f[h+(z<<2)>>2]|0;if(W|0){U=i+(z<<2)|0;m=0;do{x=f[U>>2]|0;e=m;m=m+1|0;if(!(+n[x+(e<<2)>>2]<+n[x+(m<<2)>>2])){f[r>>2]=0;f[j>>2]=0;t=JV(r,29)|0;v=222990;w=t+29|0;do{b[t>>0]=b[v>>0]|0;t=t+1|0;v=v+1|0}while((t|0)<(w|0));EP(-215,r,222783,222100,209);KV(r)}}while(m>>>0>>0)}z=z+1|0}while((z|0)<(g|0));u=q;return}z=g<<1;j=o+4|0;W=f[j>>2]|0;m=f[o>>2]|0;U=W-m>>3;x=m;m=W;if(z>>>0<=U>>>0){if(z>>>0>>0?(W=x+(z<<3)|0,(W|0)!=(m|0)):0)f[j>>2]=m+(~((m+-8-W|0)>>>3)<<3)}else U$(o,z-U|0);if(!B){u=q;return}B=r+4|0;U=0;do{z=i+(U<<2)|0;W=f[z>>2]|0;if((W|0)!=0?(Y=+n[W>>2],Z=+n[W+4>>2],Y>2]=0;f[B>>2]=0;t=JV(r,40)|0;v=222949;w=t+40|0;do{b[t>>0]=b[v>>0]|0;t=t+1|0;v=v+1|0}while((t|0)<(w|0));EP(-215,r,222783,222100,196);KV(r);W=f[z>>2]|0;_=+n[W>>2];$=+n[W+4>>2]}Z=_;Y=+(f[h+(U<<2)>>2]|0)/($-Z);W=U<<1;m=f[o>>2]|0;p[m+(W<<3)>>3]=Y;p[m+((W|1)<<3)>>3]=-(Y*Z);U=U+1|0}while((U|0)<(g|0));u=q;return}function aea(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0,y=0.0,z=0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;k=u;u=u+16|0;l=k;m=d<<8;o=j+4|0;q=f[o>>2]|0;r=f[j>>2]|0;s=q-r>>2;t=r;r=q;if(m>>>0<=s>>>0)if(m>>>0>>0?(q=t+(m<<2)|0,(q|0)!=(r|0)):0){f[o>>2]=r+(~((r+-4-q|0)>>>2)<<2);v=t}else v=t;else{lZ(j,m-s|0);v=f[j>>2]|0}if(h){if((d|0)<=0){u=k;return}h=f[c+4>>2]|0;j=(h|0)==0;s=f[a+40>>2]|0;m=f[a+44>>2]|0;if(i)w=0;else{t=0;do{q=t<<1;x=+p[g+(q<<3)>>3];y=+p[g+((q|1)<<3)>>3];q=f[s+(t<<2)>>2]|0;r=f[m+(t<<2)>>2]|0;o=t<<8;z=0;do{A=y+x*+(z|0);B=~~A;C=B-(A<+(B|0)&1)|0;B=X(C,r)|0;f[v+(z+o<<2)>>2]=C>>>0>>0?B:1073741824;z=z+1|0}while((z|0)!=256);t=t+1|0}while((t|0)!=(d|0));u=k;return}do{t=w<<1;x=+p[g+(t<<3)>>3];y=+p[g+((t|1)<<3)>>3];if(j)D=0;else D=f[h+48+(w<<2)>>2]|0;t=w<<8;m=0;do{A=y+x*+(m|0);s=~~A;z=s-(A<+(s|0)&1)|0;f[v+(m+t<<2)>>2]=z>>>0>>0?z:1073741824;m=m+1|0}while((m|0)!=256);w=w+1|0}while((w|0)!=(d|0));u=k;return}if(!e){f[l>>2]=0;f[l+4>>2]=0;w=JV(l,55)|0;D=222660;h=w+55|0;do{b[w>>0]=b[D>>0]|0;w=w+1|0;D=D+1|0}while((w|0)<(h|0));EP(-5,l,222726,222100,116);KV(l);u=k;return}if((d|0)<=0){u=k;return}l=f[c+4>>2]|0;c=(l|0)==0;D=f[a+40>>2]|0;w=f[a+44>>2]|0;if(i)E=0;else{i=0;do{a=f[e+(i<<2)>>2]|0;x=+n[a>>2];h=~~x;j=(x>+(h|0)&1)+h|0;h=f[D+(i<<2)>>2]|0;g=f[w+(i<<2)>>2]|0;m=i<<8;t=1073741824;z=(j|0)<256?j:256;j=-1;s=0;while(1){if((s|0)<(z|0)){q=s;do{f[v+(q+m<<2)>>2]=t;q=q+1|0}while((q|0)!=(z|0));F=z}else F=s;q=j+1|0;if(q>>>0>=h>>>0)break;x=+n[a+(j+2<<2)>>2];o=~~x;r=(x>+(o|0)&1)+o|0;t=X(q,g)|0;z=(r|0)<256?r:256;j=q;s=F}if((F|0)<256){s=F;while(1){f[v+(s+m<<2)>>2]=1073741824;if((s|0)<255)s=s+1|0;else break}}i=i+1|0}while((i|0)!=(d|0));u=k;return}do{i=f[e+(E<<2)>>2]|0;x=+n[i>>2];F=~~x;w=(x>+(F|0)&1)+F|0;if(c)G=0;else G=f[l+48+(E<<2)>>2]|0;F=E<<8;D=1073741824;s=(w|0)<256?w:256;w=-1;m=0;while(1){if((m|0)<(s|0)){j=m;do{f[v+(j+F<<2)>>2]=D;j=j+1|0}while((j|0)!=(s|0));H=s}else H=m;j=w+1|0;if(j>>>0>=G>>>0)break;x=+n[i+(w+2<<2)>>2];z=~~x;g=(x>+(z|0)&1)+z|0;D=j;s=(g|0)<256?g:256;w=j;m=H}if((H|0)<256){m=H;while(1){f[v+(m+F<<2)>>2]=1073741824;if((m|0)<255)m=m+1|0;else break}}E=E+1|0}while((E|0)!=(d|0));u=k;return}function bea(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;j=u;u=u+1664|0;k=j+1648|0;l=j+1520|0;m=j+56|0;n=j;yV(k,56676);o=(f[g+4>>2]|0)-(f[g>>2]|0)|0;p=o>>2;q=(f[h+4>>2]|0)-(f[h>>2]|0)|0;r=q>>2;s=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;t=SJ(a,-1)|0;v=(t|0)>0;if(!((o|0)>0&v)){f[l>>2]=0;f[l+4>>2]=0;w=JV(l,23)|0;x=223152;y=w+23|0;do{b[w>>0]=b[x>>0]|0;w=w+1|0;x=x+1|0}while((w|0)<(y|0));EP(-215,l,222578,222100,1780);KV(l)}do if((r|0)!=(o>>1|0)){if((r|0)==0?(TJ(a,0)|0)==0:0)break;f[l>>2]=0;f[l+4>>2]=0;w=JV(l,51)|0;x=223176;y=w+51|0;do{b[w>>0]=b[x>>0]|0;w=w+1|0;x=x+1|0}while((w|0)<(y|0));EP(-215,l,222578,222100,1781);KV(l)}while(0);o=(s|0)==0;if(!(o|(s|0)==(p|0))){f[l>>2]=0;f[l+4>>2]=0;w=JV(l,23)|0;x=223228;y=w+23|0;do{b[w>>0]=b[x>>0]|0;w=w+1|0;x=x+1|0}while((w|0)<(y|0));EP(-215,l,222578,222100,1782);KV(l)}if((q|0)>0?(x=(r|0)/2|0,(q|0)>4):0){q=f[h>>2]|0;h=0;do{f[l+(h<<2)>>2]=q+(h<<1<<2);h=h+1|0}while((h|0)<(x|0))}oY(m,t);if(v){v=n+4|0;x=n+8|0;h=n+12|0;q=n+16|0;w=n+20|0;y=n+24|0;s=n+28|0;z=n+32|0;A=n+36|0;B=n+40|0;C=n+48|0;D=n+44|0;E=0;do{DJ(n,a,E);F=f[m>>2]|0;G=F+(E*56|0)|0;if((G|0)!=(n|0)){H=f[A>>2]|0;if(H|0){I=H+12|0;f[I>>2]=(f[I>>2]|0)+1}I=F+(E*56|0)+36|0;H=f[I>>2]|0;if(H|0?(J=H+12|0,H=f[J>>2]|0,f[J>>2]=H+-1,(H|0)==1):0)XO(G);f[I>>2]=0;H=F+(E*56|0)+16|0;J=F+(E*56|0)+4|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;if((f[J>>2]|0)>0){K=f[F+(E*56|0)+40>>2]|0;L=0;do{f[K+(L<<2)>>2]=0;L=L+1|0;M=f[J>>2]|0}while((L|0)<(M|0));f[G>>2]=f[n>>2];if((M|0)<3)N=27;else N=29}else{f[G>>2]=f[n>>2];N=27}if((N|0)==27){N=0;L=f[v>>2]|0;if((L|0)<3){f[J>>2]=L;f[F+(E*56|0)+8>>2]=f[x>>2];f[F+(E*56|0)+12>>2]=f[h>>2];L=f[D>>2]|0;K=f[F+(E*56|0)+44>>2]|0;f[K>>2]=f[L>>2];f[K+4>>2]=f[L+4>>2]}else N=29}if((N|0)==29){N=0;WO(G,n)}f[H>>2]=f[q>>2];f[F+(E*56|0)+20>>2]=f[w>>2];f[F+(E*56|0)+24>>2]=f[y>>2];f[F+(E*56|0)+28>>2]=f[s>>2];f[F+(E*56|0)+32>>2]=f[z>>2];f[I>>2]=f[A>>2]}L=f[A>>2]|0;if(L|0?(K=L+12|0,L=f[K>>2]|0,f[K>>2]=L+-1,(L|0)==1):0)XO(n);f[A>>2]=0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;if((f[v>>2]|0)>0){L=f[B>>2]|0;K=0;do{f[L+(K<<2)>>2]=0;K=K+1|0}while((K|0)<(f[v>>2]|0))}K=f[D>>2]|0;if((K|0)!=(C|0))dX(K);E=E+1|0}while((E|0)<(t|0));O=m}else O=m;_da(f[O>>2]|0,t,o?0:f[c>>2]|0,d,e,p,f[g>>2]|0,r|0?l:0,1,i);pY(m);if(!(f[k+4>>2]|0)){u=j;return}u=j;return}function cea(a,c,e,g,i,k,l,m){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=+l;m=m|0;var o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0.0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0.0,va=0,wa=0,xa=0,ya=0.0,za=0.0,Aa=0,Ba=0.0,Ca=0.0,Da=0,Ea=0.0,Fa=0.0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0.0,Ua=0.0,Va=0.0,Wa=0,Xa=0,Ya=0,Za=0;o=u;u=u+688|0;q=o+560|0;r=o+304|0;s=o+176|0;t=o+168|0;v=o+104|0;w=o+88|0;x=o+76|0;y=o+64|0;z=o+56|0;A=o+160|0;B=o;yV(t,56696);do if((HJ(g)|0)==65536){C=f[g+4>>2]|0;f[v>>2]=f[C>>2];D=v+4|0;E=C+4|0;f[D>>2]=f[E>>2];F=v+8|0;f[F>>2]=f[C+8>>2];f[v+12>>2]=f[C+12>>2];f[v+16>>2]=f[C+16>>2];f[v+20>>2]=f[C+20>>2];f[v+24>>2]=f[C+24>>2];f[v+28>>2]=f[C+28>>2];f[v+32>>2]=f[C+32>>2];G=f[C+36>>2]|0;f[v+36>>2]=G;f[v+40>>2]=F;F=v+48|0;H=v+44|0;f[H>>2]=F;f[F>>2]=0;f[v+52>>2]=0;if(G|0){F=G+12|0;f[F>>2]=(f[F>>2]|0)+1}if((f[E>>2]|0)<3){E=f[C+44>>2]|0;F=f[H>>2]|0;f[F>>2]=f[E>>2];f[F+4>>2]=f[E+4>>2];I=D;break}else{f[D>>2]=0;WO(v,C);I=D;break}}else{DJ(v,g,-1);I=v+4|0}while(0);f[w>>2]=0;g=w+4|0;f[g>>2]=0;f[w+8>>2]=0;f[x>>2]=0;D=x+4|0;f[D>>2]=0;f[x+8>>2]=0;f[y>>2]=0;C=y+4|0;f[C>>2]=0;f[y+8>>2]=0;f[z>>2]=0;E=z+4|0;f[E>>2]=0;F=f[I>>2]|0;if((F|0)!=2)if((F|0)>0){J=F;K=11}else{L=0;M=F;K=17}else{J=(f[(f[v+40>>2]|0)+4>>2]|0)==1?1:2;K=11}if((K|0)==11)if(f[v+16>>2]|0){if((F|0)<3)N=X(f[v+12>>2]|0,f[v+8>>2]|0)|0;else{H=f[v+40>>2]|0;G=0;O=1;while(1){P=X(f[H+(G<<2)>>2]|0,O)|0;G=G+1|0;if((G|0)==(F|0)){N=P;break}else O=P}}if(!((F|0)==0|(N|0)==0)){Q=1;R=J}else{L=1;M=J;K=17}}else{L=1;M=J;K=17}if((K|0)==17){f[q>>2]=0;f[q+4>>2]=0;S=JV(q,25)|0;T=223413;U=S+25|0;do{b[S>>0]=b[T>>0]|0;S=S+1|0;T=T+1|0}while((S|0)<(U|0));EP(-215,q,223439,222100,2111);KV(q);Q=L;R=M}M=f[a+40>>2]|0;L=f[M>>2]|0;f[A>>2]=f[M+4>>2];f[A+4>>2]=L;_J(i,A,f[a>>2]&7,-1,0,0);do if((HJ(i)|0)==65536){A=f[i+4>>2]|0;f[B>>2]=f[A>>2];L=B+4|0;M=A+4|0;f[L>>2]=f[M>>2];J=B+8|0;f[J>>2]=f[A+8>>2];f[B+12>>2]=f[A+12>>2];f[B+16>>2]=f[A+16>>2];f[B+20>>2]=f[A+20>>2];f[B+24>>2]=f[A+24>>2];f[B+28>>2]=f[A+28>>2];f[B+32>>2]=f[A+32>>2];N=f[A+36>>2]|0;f[B+36>>2]=N;f[B+40>>2]=J;J=B+48|0;F=B+44|0;f[F>>2]=J;f[J>>2]=0;f[B+52>>2]=0;if(N|0){J=N+12|0;f[J>>2]=(f[J>>2]|0)+1}if((f[M>>2]|0)<3){M=f[A+44>>2]|0;J=f[F>>2]|0;f[J>>2]=f[M>>2];f[J+4>>2]=f[M+4>>2];break}else{f[L>>2]=0;WO(B,A);break}}else DJ(B,i,-1);while(0);i=v+40|0;$da(a,c,e,B,R,f[i>>2]|0,k,m,w,x,z,y);e=m?f[y>>2]|0:0;switch(f[a>>2]&7){case 0:{a=f[z>>2]|0;c=f[E>>2]|0;V=l;A=f[w>>2]|0;L=f[x>>2]|0;M=f[v+16>>2]|0;J=f[A+(R<<2)>>2]|0;F=f[L+((R<<1|1)<<2)>>2]|0;f[q>>2]=0;N=q+4|0;f[N>>2]=0;f[q+8>>2]=0;f[r>>2]=1123876864;f[r+4>>2]=0;aea(v,r,R,k,e,m,0,q);O=f[q>>2]|0;switch(R|0){case 1:{G=f[L>>2]|0;H=f[L+4>>2]|0;FVa(r|0,0,256)|0;P=f[A>>2]|0;W=0;do{Y=f[O+(W<<2)>>2]|0;if(Y>>>0<1073741824){Z=HEa(+n[M+Y>>2]*V)|0;b[r+W>>0]=Z>>>0<256?Z:(Z|0)>0?255:0}W=W+1|0}while((W|0)!=256);W=c+-1|0;a:do if(c|0){Z=G<<1;Y=(a|0)<4;_=a+-4|0;if((G|0)==1){if(Y){$=(a|0)>0;aa=J;ba=P;ca=W;while(1){if($){da=0;ea=ba;while(1){b[aa+da>>0]=b[r+(h[ea>>0]|0)>>0]|0;da=da+1|0;if((da|0)==(a|0))break;else ea=ea+1|0}fa=ba+a|0}else fa=ba;if(!ca)break a;else{aa=aa+F|0;ba=fa+H|0;ca=ca+-1|0}}}ca=a&-4;ba=(ca|0)<(a|0);aa=J;$=P;ea=W;while(1){da=0;ga=$;while(1){ha=da|1;ia=b[r+(h[$+ha>>0]|0)>>0]|0;b[aa+da>>0]=b[r+(h[ga>>0]|0)>>0]|0;b[aa+ha>>0]=ia;ia=da|2;ha=da|3;ja=b[r+(h[$+ha>>0]|0)>>0]|0;b[aa+ia>>0]=b[r+(h[$+ia>>0]|0)>>0]|0;b[aa+ha>>0]=ja;ja=da+4|0;if((ja|0)>(_|0))break;else{da=ja;ga=$+ja|0}}if(ba){ga=ca;da=$+ca|0;while(1){b[aa+ga>>0]=b[r+(h[da>>0]|0)>>0]|0;ga=ga+1|0;if((ga|0)==(a|0)){ka=a;break}else da=da+1|0}}else ka=ca;if(!ea)break;else{aa=aa+F|0;$=$+ka+H|0;ea=ea+-1|0}}}else{if(Y){ea=X(a,G)|0;$=(a|0)>0;aa=J;ca=P;ba=W;while(1){if($){da=0;ga=ca;while(1){b[aa+da>>0]=b[r+(h[ga>>0]|0)>>0]|0;da=da+1|0;if((da|0)==(a|0))break;else ga=ga+G|0}la=ca+ea|0}else la=ca;if(!ba)break a;else{aa=aa+F|0;ca=la+H|0;ba=ba+-1|0}}}ba=a&-4;ca=X(G,ba)|0;aa=X(a,G)|0;ea=(ba|0)<(a|0);$=J;Y=P;ga=W;while(1){da=0;ja=Y;while(1){ha=b[r+(h[ja+G>>0]|0)>>0]|0;b[$+da>>0]=b[r+(h[ja>>0]|0)>>0]|0;b[$+(da|1)>>0]=ha;ha=ja+Z|0;ia=b[r+(h[ha+G>>0]|0)>>0]|0;b[$+(da|2)>>0]=b[r+(h[ha>>0]|0)>>0]|0;b[$+(da|3)>>0]=ia;da=da+4|0;if((da|0)>(_|0))break;else ja=ha+Z|0}if(ea){ja=ba;da=Y+ca|0;while(1){b[$+ja>>0]=b[r+(h[da>>0]|0)>>0]|0;ja=ja+1|0;if((ja|0)==(a|0)){ma=aa;break}else da=da+G|0}}else ma=ca;if(!ga)break;else{$=$+F|0;Y=Y+ma+H|0;ga=ga+-1|0}}}}while(0);K=92;break}case 2:{H=f[L>>2]|0;ma=f[L+4>>2]|0;G=f[L+8>>2]|0;W=f[L+12>>2]|0;if((c|0)!=0&(a|0)>0){P=X(a,H)|0;la=X(a,G)|0;ka=f[A>>2]|0;fa=f[A+4>>2]|0;ga=J;Y=c;while(1){$=ka+P|0;ca=ka;aa=fa;ba=0;while(1){ea=(f[O+((h[aa>>0]|0|256)<<2)>>2]|0)+(f[O+((h[ca>>0]|0)<<2)>>2]|0)|0;if(ea>>>0<1073741824){Z=HEa(+n[M+ea>>2]*V)|0;na=(Z>>>0<256?Z:(Z|0)>0?255:0)&255}else na=0;b[ga+ba>>0]=na;ba=ba+1|0;if((ba|0)==(a|0))break;else{ca=ca+H|0;aa=aa+G|0}}Y=Y+-1|0;if(!Y){K=92;break}else{ka=$+ma|0;fa=fa+la+W|0;ga=ga+F|0}}}else K=92;break}case 3:{ga=f[L>>2]|0;W=f[L+4>>2]|0;la=f[L+8>>2]|0;fa=f[L+12>>2]|0;ma=f[L+16>>2]|0;ka=f[L+20>>2]|0;if((c|0)!=0&(a|0)>0){Y=X(a,ga)|0;G=X(a,la)|0;H=X(a,ma)|0;na=f[A+8>>2]|0;P=f[A+4>>2]|0;aa=f[A>>2]|0;ca=J;ba=c;while(1){ba=ba+-1|0;Z=P+G|0;ea=na;_=P;da=aa;ja=0;while(1){ha=(f[O+((h[_>>0]|0|256)<<2)>>2]|0)+(f[O+((h[da>>0]|0)<<2)>>2]|0)+(f[O+((h[ea>>0]|0|512)<<2)>>2]|0)|0;if(ha>>>0<1073741824){ia=HEa(+n[M+ha>>2]*V)|0;oa=(ia>>>0<256?ia:(ia|0)>0?255:0)&255}else oa=0;b[ca+ja>>0]=oa;ja=ja+1|0;if((ja|0)==(a|0))break;else{ea=ea+ma|0;_=_+la|0;da=da+ga|0}}if(!ba){K=92;break}else{na=na+H+ka|0;P=Z+fa|0;aa=aa+Y+W|0;ca=ca+F|0}}}else K=92;break}default:if(!c)pa=O;else{ca=(R|0)==0;W=(a|0)>0;Y=J;aa=c;c=0;while(1){fa=J+(X(F,c)|0)|0;aa=aa+-1|0;b:do if(W){if(!Q)if(ca){P=0;while(1){ka=HEa(+n[M>>2]*V)|0;b[Y+P>>0]=ka>>>0<256?ka:(ka|0)>0?255:0;P=P+1|0;if((P|0)==(a|0)){K=89;break b}}}else{FVa(fa|0,0,a|0)|0;break}else qa=0;do{P=M;ka=0;while(1){H=A+(ka<<2)|0;na=f[H>>2]|0;ba=f[O+((ka<<8|(h[na>>0]|0))<<2)>>2]|0;if(ba>>>0>1073741823){ra=P;sa=ka;break}ga=P+ba|0;f[H>>2]=na+(f[L+(ka<<1<<2)>>2]|0);na=ka+1|0;if((na|0)<(R|0)){P=ga;ka=na}else{ra=ga;sa=na;break}}if((sa|0)!=(R|0)){b[Y+qa>>0]=0;if((sa|0)<(R|0)){ka=sa;do{P=A+(ka<<2)|0;f[P>>2]=(f[P>>2]|0)+(f[L+(ka<<1<<2)>>2]|0);ka=ka+1|0}while((ka|0)!=(R|0))}}else{ka=HEa(+n[ra>>2]*V)|0;b[Y+qa>>0]=ka>>>0<256?ka:(ka|0)>0?255:0}qa=qa+1|0}while((qa|0)!=(a|0));K=89}else K=89;while(0);if((K|0)==89?(K=0,Q):0){fa=0;do{Z=A+(fa<<2)|0;f[Z>>2]=(f[Z>>2]|0)+(f[L+((fa<<1|1)<<2)>>2]|0);fa=fa+1|0}while((fa|0)!=(R|0))}if(!aa){K=92;break}else{Y=Y+F|0;c=c+1|0}}}}if((K|0)==92)pa=f[q>>2]|0;if(pa|0){c=f[N>>2]|0;if((c|0)!=(pa|0))f[N>>2]=c+(~((c+-4-pa|0)>>>2)<<2);GQa(pa)}break}case 2:{pa=f[z>>2]|0;c=f[E>>2]|0;V=l;N=f[w>>2]|0;F=f[x>>2]|0;Y=f[v+16>>2]|0;aa=f[N+(R<<2)>>2]|0;L=f[F+((R<<1|1)<<2)>>2]|0;A=R<<2;if(Q){a=f[v+44>>2]|0;DVa(r|0,f[i>>2]|0,A|0)|0;DVa(s|0,a|0,A|0)|0}c:do if(!m){if(!k){f[q>>2]=0;f[q+4>>2]=0;S=JV(q,55)|0;T=222660;U=S+55|0;do{b[S>>0]=b[T>>0]|0;S=S+1|0;T=T+1|0}while((S|0)<(U|0));EP(-5,q,223455,222100,1969);KV(q);break}if(Q)DVa(q|0,k|0,A|0)|0;if(c|0){a=(pa|0)>0;qa=(R|0)==0;ra=pa<<1;sa=aa;O=c;M=0;while(1){ca=aa+((X(L,M)|0)<<1)|0;O=O+-1|0;d:do if(a){if(Q)ta=0;else{if(!qa){FVa(ca|0,0,ra|0)|0;break}W=HEa(+n[Y>>2]*V)|0;J=(W>>>0<65536?W:(W|0)>0?65535:0)&65535;W=0;while(1){d[sa+(W<<1)>>1]=J;W=W+1|0;if((W|0)==(pa|0)){K=164;break d}}}do{W=Y;J=0;while(1){fa=N+(J<<2)|0;Z=f[fa>>2]|0;ua=+(j[Z>>1]|0);ka=f[q+(J<<2)>>2]|0;P=f[r+(J<<2)>>2]|0;na=-1;while(1){ga=na+1|0;if(!(+n[ka+(ga<<2)>>2]<=ua)){va=na;break}if((ga|0)<(P|0))na=ga;else{va=ga;break}}if(va>>>0>=P>>>0){wa=W;xa=J;break}f[fa>>2]=Z+(f[F+(J<<1<<2)>>2]<<1);na=W+(X(f[s+(J<<2)>>2]|0,va)|0)|0;ka=J+1|0;if((ka|0)<(R|0)){W=na;J=ka}else{wa=na;xa=ka;break}}if((xa|0)!=(R|0)){d[sa+(ta<<1)>>1]=0;if((xa|0)<(R|0)){J=xa;do{W=N+(J<<2)|0;f[W>>2]=(f[W>>2]|0)+(f[F+(J<<1<<2)>>2]<<1);J=J+1|0}while((J|0)!=(R|0))}}else{J=HEa(+n[wa>>2]*V)|0;d[sa+(ta<<1)>>1]=J>>>0<65536?J:(J|0)>0?65535:0}ta=ta+1|0}while((ta|0)!=(pa|0));K=164}else K=164;while(0);if((K|0)==164?(K=0,Q):0){ca=0;do{J=N+(ca<<2)|0;f[J>>2]=(f[J>>2]|0)+(f[F+((ca<<1|1)<<2)>>2]<<1);ca=ca+1|0}while((ca|0)!=(R|0))}if(!O)break;else{sa=sa+(L<<1)|0;M=M+1|0}}}}else switch(R|0){case 1:{ua=+p[e>>3];ya=+p[e+8>>3];M=f[r>>2]|0;sa=f[F>>2]|0;O=f[F+4>>2]|0;if(!c)break c;if((pa|0)<=0)break c;ra=X(pa,sa)|0;qa=aa;a=f[N>>2]|0;ca=c;while(1){ca=ca+-1|0;J=0;W=a;while(1){za=ya+ua*+(j[W>>1]|0);ka=~~za;na=ka-(za<+(ka|0)&1)|0;if(na>>>0>>0){ka=HEa(+n[Y+(na<<2)>>2]*V)|0;Aa=(ka>>>0<65536?ka:(ka|0)>0?65535:0)&65535}else Aa=0;d[qa+(J<<1)>>1]=Aa;J=J+1|0;if((J|0)==(pa|0))break;else W=W+(sa<<1)|0}if(!ca)break;else{qa=qa+(L<<1)|0;a=a+(ra<<1)+(O<<1)|0}}break}case 2:{ua=+p[e>>3];ya=+p[e+8>>3];za=+p[e+16>>3];Ba=+p[e+24>>3];O=f[r>>2]|0;ra=f[r+4>>2]|0;a=f[F>>2]|0;qa=f[F+4>>2]|0;ca=f[F+8>>2]|0;sa=f[F+12>>2]|0;M=f[s>>2]|0;if(!((pa|0)>0&(c|0)!=0))break c;W=X(pa,a)|0;J=X(pa,ca)|0;ka=f[N>>2]|0;na=f[N+4>>2]|0;ga=aa;H=c;while(1){ba=ka+(W<<1)|0;la=0;ma=ka;oa=na;while(1){Ca=ya+ua*+(j[ma>>1]|0);G=~~Ca;da=G-(Ca<+(G|0)&1)|0;Ca=Ba+za*+(j[oa>>1]|0);G=~~Ca;_=G-(Ca<+(G|0)&1)|0;if(da>>>0>>0&_>>>0>>0){G=Y+(X(da,M)|0)+(_<<2)|0;_=HEa(+n[G>>2]*V)|0;Da=(_>>>0<65536?_:(_|0)>0?65535:0)&65535}else Da=0;d[ga+(la<<1)>>1]=Da;la=la+1|0;if((la|0)==(pa|0))break;else{ma=ma+(a<<1)|0;oa=oa+(ca<<1)|0}}H=H+-1|0;if(!H)break;else{ka=ba+(qa<<1)|0;na=na+(J<<1)+(sa<<1)|0;ga=ga+(L<<1)|0}}break}case 3:{za=+p[e>>3];Ba=+p[e+8>>3];ua=+p[e+16>>3];ya=+p[e+24>>3];Ca=+p[e+32>>3];Ea=+p[e+40>>3];ga=f[r>>2]|0;sa=f[r+4>>2]|0;J=f[r+8>>2]|0;na=f[F>>2]|0;qa=f[F+4>>2]|0;ka=f[F+8>>2]|0;H=f[F+12>>2]|0;ca=f[F+16>>2]|0;a=f[F+20>>2]|0;M=f[s>>2]|0;ra=f[s+4>>2]|0;if(!((pa|0)>0&(c|0)!=0))break c;O=X(pa,na)|0;W=X(pa,ka)|0;oa=X(pa,ca)|0;ma=f[N>>2]|0;la=f[N+4>>2]|0;_=f[N+8>>2]|0;G=aa;da=c;while(1){da=da+-1|0;ea=la+(W<<1)|0;ja=ma;$=la;ia=_;ha=0;while(1){Fa=Ba+za*+(j[ja>>1]|0);Ga=~~Fa;Ha=Ga-(Fa<+(Ga|0)&1)|0;Fa=ya+ua*+(j[$>>1]|0);Ga=~~Fa;Ia=Ga-(Fa<+(Ga|0)&1)|0;Fa=Ea+Ca*+(j[ia>>1]|0);Ga=~~Fa;Ja=Ga-(Fa<+(Ga|0)&1)|0;if(Ha>>>0>>0&Ia>>>0>>0&Ja>>>0>>0){Ga=Y+(X(Ha,M)|0)+(X(Ia,ra)|0)+(Ja<<2)|0;Ja=HEa(+n[Ga>>2]*V)|0;Ka=(Ja>>>0<65536?Ja:(Ja|0)>0?65535:0)&65535}else Ka=0;d[G+(ha<<1)>>1]=Ka;ha=ha+1|0;if((ha|0)==(pa|0))break;else{ja=ja+(na<<1)|0;$=$+(ka<<1)|0;ia=ia+(ca<<1)|0}}if(!da)break;else{ma=ma+(O<<1)+(qa<<1)|0;la=ea+(H<<1)|0;_=_+(oa<<1)+(a<<1)|0;G=G+(L<<1)|0}}break}default:{if(!c)break c;G=(k|0)==0;a=(pa|0)>0;oa=aa;_=c;while(1){_=_+-1|0;if(a){H=0;do{e:do if(Q){if(G){la=Y;qa=0;while(1){O=N+(qa<<2)|0;ma=f[O>>2]|0;da=qa<<1;Ca=+p[e+(da<<3)>>3]*+(j[ma>>1]|0)+ +p[e+((da|1)<<3)>>3];ca=~~Ca;ka=ca-(Ca<+(ca|0)&1)|0;if(ka>>>0>=(f[r+(qa<<2)>>2]|0)>>>0){La=la;Ma=qa;break e}f[O>>2]=ma+(f[F+(da<<2)>>2]<<1);da=la+(X(f[s+(qa<<2)>>2]|0,ka)|0)|0;ka=qa+1|0;if((ka|0)<(R|0)){la=da;qa=ka}else{La=da;Ma=ka;break e}}}else{Na=Y;Oa=0}while(1){qa=N+(Oa<<2)|0;la=f[qa>>2]|0;ka=d[la>>1]|0;da=Oa<<1;Ca=+p[e+(da<<3)>>3]*+(ka&65535)+ +p[e+((da|1)<<3)>>3];ma=~~Ca;O=ma-(Ca<+(ma|0)&1)|0;if(O>>>0>=(f[r+(Oa<<2)>>2]|0)>>>0){La=Na;Ma=Oa;break e}if(+n[(f[k+(Oa<<2)>>2]|0)+4>>2]<=+(ka&65535)){La=Na;Ma=Oa;break e}f[qa>>2]=la+(f[F+(da<<2)>>2]<<1);da=Na+(X(f[s+(Oa<<2)>>2]|0,O)|0)|0;O=Oa+1|0;if((O|0)<(R|0)){Na=da;Oa=O}else{La=da;Ma=O;break}}}else{La=Y;Ma=0}while(0);if((Ma|0)!=(R|0)){d[oa+(H<<1)>>1]=0;if((Ma|0)<(R|0)){O=Ma;do{da=N+(O<<2)|0;f[da>>2]=(f[da>>2]|0)+(f[F+(O<<1<<2)>>2]<<1);O=O+1|0}while((O|0)!=(R|0))}}else{O=HEa(+n[La>>2]*V)|0;d[oa+(H<<1)>>1]=O>>>0<65536?O:(O|0)>0?65535:0}H=H+1|0}while((H|0)!=(pa|0))}if(Q){H=0;do{ea=N+(H<<2)|0;f[ea>>2]=(f[ea>>2]|0)+(f[F+((H<<1|1)<<2)>>2]<<1);H=H+1|0}while((H|0)!=(R|0))}if(!_)break;else oa=oa+(L<<1)|0}}}while(0);break}case 5:{L=f[z>>2]|0;z=f[E>>2]|0;V=l;E=f[w>>2]|0;F=f[x>>2]|0;N=f[v+16>>2]|0;pa=f[E+(R<<2)>>2]|0;La=f[F+((R<<1|1)<<2)>>2]|0;Ma=R<<2;if(Q){Y=f[v+44>>2]|0;DVa(r|0,f[i>>2]|0,Ma|0)|0;DVa(s|0,Y|0,Ma|0)|0}f:do if(!m){if(!k){f[q>>2]=0;f[q+4>>2]=0;S=JV(q,55)|0;T=222660;U=S+55|0;do{b[S>>0]=b[T>>0]|0;S=S+1|0;T=T+1|0}while((S|0)<(U|0));EP(-5,q,223455,222100,1969);KV(q);break}if(Q)DVa(q|0,k|0,Ma|0)|0;if(z|0){Y=(L|0)>0;Oa=(R|0)==0;Na=L<<2;c=pa;aa=z;Ka=0;while(1){Da=pa+((X(La,Ka)|0)<<2)|0;aa=aa+-1|0;g:do if(Y){if(!Q)if(Oa){Aa=0;while(1){n[c+(Aa<<2)>>2]=+n[N>>2]*V;Aa=Aa+1|0;if((Aa|0)==(L|0)){K=235;break g}}}else{FVa(Da|0,0,Na|0)|0;break}else Pa=0;do{Aa=N;ta=0;while(1){wa=E+(ta<<2)|0;xa=f[wa>>2]|0;l=+n[xa>>2];va=f[q+(ta<<2)>>2]|0;A=f[r+(ta<<2)>>2]|0;oa=-1;while(1){_=oa+1|0;if(!(l>=+n[va+(_<<2)>>2])){Qa=oa;break}if((_|0)<(A|0))oa=_;else{Qa=_;break}}if(Qa>>>0>=A>>>0){Ra=Aa;Sa=ta;break}f[wa>>2]=xa+(f[F+(ta<<1<<2)>>2]<<2);oa=Aa+(X(f[s+(ta<<2)>>2]|0,Qa)|0)|0;va=ta+1|0;if((va|0)<(R|0)){Aa=oa;ta=va}else{Ra=oa;Sa=va;break}}if((Sa|0)!=(R|0)){n[c+(Pa<<2)>>2]=0.0;if((Sa|0)<(R|0)){ta=Sa;do{Aa=E+(ta<<2)|0;f[Aa>>2]=(f[Aa>>2]|0)+(f[F+(ta<<1<<2)>>2]<<2);ta=ta+1|0}while((ta|0)!=(R|0))}}else n[c+(Pa<<2)>>2]=+n[Ra>>2]*V;Pa=Pa+1|0}while((Pa|0)!=(L|0));K=235}else K=235;while(0);if((K|0)==235?(K=0,Q):0){Da=0;do{ta=E+(Da<<2)|0;f[ta>>2]=(f[ta>>2]|0)+(f[F+((Da<<1|1)<<2)>>2]<<2);Da=Da+1|0}while((Da|0)!=(R|0))}if(!aa)break;else{c=c+(La<<2)|0;Ka=Ka+1|0}}}}else switch(R|0){case 1:{l=+p[e>>3];Ca=+p[e+8>>3];Ka=f[r>>2]|0;c=f[F>>2]|0;aa=f[F+4>>2]|0;if(!z)break f;if((L|0)<=0)break f;Na=X(L,c)|0;Oa=pa;Y=f[E>>2]|0;Da=z;while(1){Da=Da+-1|0;ta=0;Aa=Y;while(1){Ea=Ca+l*+n[Aa>>2];va=~~Ea;oa=va-(Ea<+(va|0)&1)|0;if(oa>>>0>>0)Ta=+n[N+(oa<<2)>>2]*V;else Ta=0.0;n[Oa+(ta<<2)>>2]=Ta;ta=ta+1|0;if((ta|0)==(L|0))break;else Aa=Aa+(c<<2)|0}if(!Da)break;else{Oa=Oa+(La<<2)|0;Y=Y+(Na<<2)+(aa<<2)|0}}break}case 2:{l=+p[e>>3];Ca=+p[e+8>>3];Ea=+p[e+16>>3];ua=+p[e+24>>3];aa=f[r>>2]|0;Na=f[r+4>>2]|0;Y=f[F>>2]|0;Oa=f[F+4>>2]|0;Da=f[F+8>>2]|0;c=f[F+12>>2]|0;Ka=f[s>>2]|0;if(!((L|0)>0&(z|0)!=0))break f;Aa=X(L,Y)|0;ta=X(L,Da)|0;oa=f[E>>2]|0;va=f[E+4>>2]|0;Z=pa;fa=z;while(1){P=oa+(Aa<<2)|0;_=0;G=oa;a=va;while(1){ya=Ca+l*+n[G>>2];H=~~ya;ea=H-(ya<+(H|0)&1)|0;ya=ua+Ea*+n[a>>2];H=~~ya;O=H-(ya<+(H|0)&1)|0;if(ea>>>0>>0&O>>>0>>0){H=N+(X(ea,Ka)|0)+(O<<2)|0;Ua=+n[H>>2]*V}else Ua=0.0;n[Z+(_<<2)>>2]=Ua;_=_+1|0;if((_|0)==(L|0))break;else{G=G+(Y<<2)|0;a=a+(Da<<2)|0}}fa=fa+-1|0;if(!fa)break;else{oa=P+(Oa<<2)|0;va=va+(ta<<2)+(c<<2)|0;Z=Z+(La<<2)|0}}break}case 3:{Ea=+p[e>>3];ua=+p[e+8>>3];l=+p[e+16>>3];Ca=+p[e+24>>3];ya=+p[e+32>>3];za=+p[e+40>>3];Z=f[r>>2]|0;c=f[r+4>>2]|0;ta=f[r+8>>2]|0;va=f[F>>2]|0;Oa=f[F+4>>2]|0;oa=f[F+8>>2]|0;fa=f[F+12>>2]|0;Da=f[F+16>>2]|0;Y=f[F+20>>2]|0;Ka=f[s>>2]|0;Na=f[s+4>>2]|0;if(!((L|0)>0&(z|0)!=0))break f;aa=X(L,va)|0;Aa=X(L,oa)|0;a=X(L,Da)|0;G=f[E>>2]|0;_=f[E+4>>2]|0;H=f[E+8>>2]|0;O=pa;ea=z;while(1){ea=ea+-1|0;da=_+(Aa<<2)|0;la=G;qa=_;ka=H;ma=0;while(1){Ba=ua+Ea*+n[la>>2];ca=~~Ba;na=ca-(Ba<+(ca|0)&1)|0;Ba=Ca+l*+n[qa>>2];ca=~~Ba;ra=ca-(Ba<+(ca|0)&1)|0;Ba=za+ya*+n[ka>>2];ca=~~Ba;M=ca-(Ba<+(ca|0)&1)|0;if(na>>>0>>0&ra>>>0>>0&M>>>0>>0){ca=N+(X(na,Ka)|0)+(X(ra,Na)|0)+(M<<2)|0;Va=+n[ca>>2]*V}else Va=0.0;n[O+(ma<<2)>>2]=Va;ma=ma+1|0;if((ma|0)==(L|0))break;else{la=la+(va<<2)|0;qa=qa+(oa<<2)|0;ka=ka+(Da<<2)|0}}if(!ea)break;else{G=G+(aa<<2)+(Oa<<2)|0;_=da+(fa<<2)|0;H=H+(a<<2)+(Y<<2)|0;O=O+(La<<2)|0}}break}default:{if(!z)break f;O=(k|0)==0;Y=(L|0)>0;a=pa;H=z;while(1){H=H+-1|0;if(Y){fa=0;do{h:do if(Q){if(O){_=N;Oa=0;while(1){aa=E+(Oa<<2)|0;G=f[aa>>2]|0;ea=Oa<<1;ya=+p[e+(ea<<3)>>3]*+n[G>>2]+ +p[e+((ea|1)<<3)>>3];Da=~~ya;oa=Da-(ya<+(Da|0)&1)|0;if(oa>>>0>=(f[r+(Oa<<2)>>2]|0)>>>0){Wa=_;Xa=Oa;break h}f[aa>>2]=G+(f[F+(ea<<2)>>2]<<2);ea=_+(X(f[s+(Oa<<2)>>2]|0,oa)|0)|0;oa=Oa+1|0;if((oa|0)<(R|0)){_=ea;Oa=oa}else{Wa=ea;Xa=oa;break h}}}else{Ya=N;Za=0}while(1){Oa=E+(Za<<2)|0;_=f[Oa>>2]|0;ya=+n[_>>2];oa=Za<<1;za=+p[e+(oa<<3)>>3]*ya+ +p[e+((oa|1)<<3)>>3];ea=~~za;G=ea-(za<+(ea|0)&1)|0;if(G>>>0>=(f[r+(Za<<2)>>2]|0)>>>0){Wa=Ya;Xa=Za;break h}if(ya>=+n[(f[k+(Za<<2)>>2]|0)+4>>2]){Wa=Ya;Xa=Za;break h}f[Oa>>2]=_+(f[F+(oa<<2)>>2]<<2);oa=Ya+(X(f[s+(Za<<2)>>2]|0,G)|0)|0;G=Za+1|0;if((G|0)<(R|0)){Ya=oa;Za=G}else{Wa=oa;Xa=G;break}}}else{Wa=N;Xa=0}while(0);if((Xa|0)!=(R|0)){n[a+(fa<<2)>>2]=0.0;if((Xa|0)<(R|0)){G=Xa;do{oa=E+(G<<2)|0;f[oa>>2]=(f[oa>>2]|0)+(f[F+(G<<1<<2)>>2]<<2);G=G+1|0}while((G|0)!=(R|0))}}else n[a+(fa<<2)>>2]=+n[Wa>>2]*V;fa=fa+1|0}while((fa|0)!=(L|0))}if(Q){fa=0;do{da=E+(fa<<2)|0;f[da>>2]=(f[da>>2]|0)+(f[F+((fa<<1|1)<<2)>>2]<<2);fa=fa+1|0}while((fa|0)!=(R|0))}if(!H)break;else a=a+(La<<2)|0}}}while(0);break}default:{f[q>>2]=0;f[q+4>>2]=0;EP(-210,q,223439,222100,2126);KV(q)}}q=B+36|0;La=f[q>>2]|0;if(La|0?(R=La+12|0,La=f[R>>2]|0,f[R>>2]=La+-1,(La|0)==1):0)XO(B);f[q>>2]=0;q=B+16|0;La=B+4|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;if((f[La>>2]|0)>0){q=f[B+40>>2]|0;R=0;do{f[q+(R<<2)>>2]=0;R=R+1|0}while((R|0)<(f[La>>2]|0))}La=f[B+44>>2]|0;if((La|0)!=(B+48|0))dX(La);La=f[y>>2]|0;if(La|0){y=f[C>>2]|0;if((y|0)!=(La|0))f[C>>2]=y+(~((y+-8-La|0)>>>3)<<3);GQa(La)}La=f[x>>2]|0;if(La|0){x=f[D>>2]|0;if((x|0)!=(La|0))f[D>>2]=x+(~((x+-4-La|0)>>>2)<<2);GQa(La)}La=f[w>>2]|0;if(La|0){w=f[g>>2]|0;if((w|0)!=(La|0))f[g>>2]=w+(~((w+-4-La|0)>>>2)<<2);GQa(La)}La=v+36|0;w=f[La>>2]|0;if(w|0?(g=w+12|0,w=f[g>>2]|0,f[g>>2]=w+-1,(w|0)==1):0)XO(v);f[La>>2]=0;La=v+16|0;f[La>>2]=0;f[La+4>>2]=0;f[La+8>>2]=0;f[La+12>>2]=0;if((f[I>>2]|0)>0){La=f[i>>2]|0;i=0;do{f[La+(i<<2)>>2]=0;i=i+1|0}while((i|0)<(f[I>>2]|0))}I=f[v+44>>2]|0;if((I|0)!=(v+48|0))dX(I);if(!(f[t+4>>2]|0)){u=o;return}u=o;return}function dea(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=+h;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;i=u;u=u+3696|0;j=i+3688|0;k=i+3632|0;l=i+3576|0;m=i+1520|0;n=i+56|0;o=i;yV(j,56716);RJ(d,-1)|0;do if((HJ(d)|0)==65536){p=f[d+4>>2]|0;f[k>>2]=f[p>>2];q=k+4|0;r=p+4|0;f[q>>2]=f[r>>2];s=k+8|0;f[s>>2]=f[p+8>>2];f[k+12>>2]=f[p+12>>2];f[k+16>>2]=f[p+16>>2];f[k+20>>2]=f[p+20>>2];f[k+24>>2]=f[p+24>>2];f[k+28>>2]=f[p+28>>2];f[k+32>>2]=f[p+32>>2];t=f[p+36>>2]|0;f[k+36>>2]=t;f[k+40>>2]=s;s=k+48|0;v=k+44|0;f[v>>2]=s;f[s>>2]=0;f[k+52>>2]=0;if(t|0){s=t+12|0;f[s>>2]=(f[s>>2]|0)+1}if((f[r>>2]|0)<3){r=f[p+44>>2]|0;s=f[v>>2]|0;f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2];w=k;break}else{f[q>>2]=0;WO(k,p);w=k;break}}else{DJ(k,d,-1);w=k}while(0);f[l>>2]=1124007936;p=l+4|0;q=l+8|0;r=l+40|0;s=p;v=s+36|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(v|0));f[r>>2]=q;t=l+48|0;x=l+44|0;f[x>>2]=t;f[t>>2]=0;f[l+52>>2]=0;y=f[w>>2]|0;z=y>>>3&511;A=z+1|0;if(z){if(!(y&16384)){f[m>>2]=0;f[m+4>>2]=0;s=JV(m,17)|0;B=223592;v=s+17|0;do{b[s>>0]=b[B>>0]|0;s=s+1|0;B=B+1|0}while((s|0)<(v|0));EP(-215,m,223439,222100,2469);KV(m);C=f[w>>2]|0}else C=y;y=f[k+4>>2]|0;DVa(m|0,f[k+40>>2]|0,y<<2|0)|0;f[m+(y<<2)>>2]=A;aP(n,y+1|0,m,C&7,f[k+16>>2]|0,0);C=n+36|0;y=f[C>>2]|0;if(y|0){A=y+12|0;f[A>>2]=(f[A>>2]|0)+1}A=l+36|0;y=f[A>>2]|0;if(y|0?(z=y+12|0,y=f[z>>2]|0,f[z>>2]=y+-1,(y|0)==1):0)XO(l);f[A>>2]=0;y=l+16|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;if((f[p>>2]|0)>0){z=f[r>>2]|0;D=0;do{f[z+(D<<2)>>2]=0;D=D+1|0;E=f[p>>2]|0}while((D|0)<(E|0));f[l>>2]=f[n>>2];if((E|0)<3)F=21;else F=23}else{f[l>>2]=f[n>>2];F=21}if((F|0)==21){E=f[n+4>>2]|0;if((E|0)<3){f[p>>2]=E;f[q>>2]=f[n+8>>2];f[l+12>>2]=f[n+12>>2];E=f[n+44>>2]|0;D=f[x>>2]|0;f[D>>2]=f[E>>2];f[D+4>>2]=f[E+4>>2]}else F=23}if((F|0)==23)WO(l,n);E=n+16|0;f[y>>2]=f[E>>2];f[l+20>>2]=f[n+20>>2];f[l+24>>2]=f[n+24>>2];f[l+28>>2]=f[n+28>>2];f[l+32>>2]=f[n+32>>2];y=f[C>>2]|0;f[A>>2]=y;if(y|0?(A=y+12|0,y=f[A>>2]|0,f[A>>2]=y+-1,(y|0)==1):0)XO(n);f[C>>2]=0;C=n+4|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;if((f[C>>2]|0)>0){E=f[n+40>>2]|0;y=0;do{f[E+(y<<2)>>2]=0;y=y+1|0}while((y|0)<(f[C>>2]|0))}C=f[n+44>>2]|0;if((C|0)!=(n+48|0))dX(C)}else{C=k+36|0;y=f[C>>2]|0;if(y){E=y+12|0;f[E>>2]=(f[E>>2]|0)+1;E=l+36|0;y=f[E>>2]|0;if((y|0)!=0?(A=y+12|0,y=f[A>>2]|0,f[A>>2]=y+-1,(y|0)==1):0){XO(l);G=E}else G=E}else G=l+36|0;f[G>>2]=0;E=l+16|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;if((f[p>>2]|0)>0){y=f[r>>2]|0;A=0;do{f[y+(A<<2)>>2]=0;A=A+1|0;H=f[p>>2]|0}while((A|0)<(H|0));f[l>>2]=f[w>>2];if((H|0)<3)F=43;else F=45}else{f[l>>2]=f[w>>2];F=43}if((F|0)==43){w=f[k+4>>2]|0;if((w|0)<3){f[p>>2]=w;f[q>>2]=f[k+8>>2];f[l+12>>2]=f[k+12>>2];w=f[k+44>>2]|0;H=f[x>>2]|0;f[H>>2]=f[w>>2];f[H+4>>2]=f[w+4>>2]}else F=45}if((F|0)==45)WO(l,k);f[E>>2]=f[k+16>>2];f[l+20>>2]=f[k+20>>2];f[l+24>>2]=f[k+24>>2];f[l+28>>2]=f[k+28>>2];f[l+32>>2]=f[k+32>>2];f[G>>2]=f[C>>2]}C=(f[q>>2]|0)==1;q=(f[l+12>>2]|0)==1;G=C|q;E=f[p>>2]|0;w=(f[g+4>>2]|0)-(f[g>>2]|0)|0;H=w>>2;A=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;y=SJ(a,-1)|0;D=(y|0)>0;if(!D){f[m>>2]=0;f[m+4>>2]=0;s=JV(m,11)|0;B=223610;v=s+11|0;do{b[s>>0]=b[B>>0]|0;s=s+1|0;B=B+1|0}while((s|0)<(v|0));EP(-215,m,223439,222100,2482);KV(m)}do if((H|0)!=(E<<1|0)?(H|0)!=2|(C|q)^1:0){if((H|0)==0?(TJ(a,0)|0)==0:0)break;f[m>>2]=0;f[m+4>>2]=0;s=JV(m,72)|0;B=223622;v=s+72|0;do{b[s>>0]=b[B>>0]|0;s=s+1|0;B=B+1|0}while((s|0)<(v|0));EP(-215,m,223439,222100,2483);KV(m)}while(0);q=(A|0)==0;if(!(q|(A|0)==(E|0))?(A|0)!=1|G^1:0){f[m>>2]=0;f[m+4>>2]=0;s=JV(m,44)|0;B=223695;v=s+44|0;do{b[s>>0]=b[B>>0]|0;s=s+1|0;B=B+1|0}while((s|0)<(v|0));EP(-215,m,223439,222100,2484);KV(m)}if((w|0)>0?(B=(H|0)/2|0,(w|0)>4):0){w=f[g>>2]|0;g=0;do{f[m+(g<<2)>>2]=w+(g<<1<<2);g=g+1|0}while((g|0)<(B|0))}oY(n,y);if(D){D=o+4|0;B=o+8|0;g=o+12|0;w=o+16|0;s=o+20|0;v=o+24|0;G=o+28|0;A=o+32|0;E=o+36|0;C=o+40|0;z=o+48|0;I=o+44|0;J=0;do{DJ(o,a,J);K=f[n>>2]|0;L=K+(J*56|0)|0;if((L|0)!=(o|0)){M=f[E>>2]|0;if(M|0){N=M+12|0;f[N>>2]=(f[N>>2]|0)+1}N=K+(J*56|0)+36|0;M=f[N>>2]|0;if(M|0?(O=M+12|0,M=f[O>>2]|0,f[O>>2]=M+-1,(M|0)==1):0)XO(L);f[N>>2]=0;M=K+(J*56|0)+16|0;O=K+(J*56|0)+4|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;if((f[O>>2]|0)>0){P=f[K+(J*56|0)+40>>2]|0;Q=0;do{f[P+(Q<<2)>>2]=0;Q=Q+1|0;R=f[O>>2]|0}while((Q|0)<(R|0));f[L>>2]=f[o>>2];if((R|0)<3)F=75;else F=77}else{f[L>>2]=f[o>>2];F=75}if((F|0)==75){F=0;Q=f[D>>2]|0;if((Q|0)<3){f[O>>2]=Q;f[K+(J*56|0)+8>>2]=f[B>>2];f[K+(J*56|0)+12>>2]=f[g>>2];Q=f[I>>2]|0;P=f[K+(J*56|0)+44>>2]|0;f[P>>2]=f[Q>>2];f[P+4>>2]=f[Q+4>>2]}else F=77}if((F|0)==77){F=0;WO(L,o)}f[M>>2]=f[w>>2];f[K+(J*56|0)+20>>2]=f[s>>2];f[K+(J*56|0)+24>>2]=f[v>>2];f[K+(J*56|0)+28>>2]=f[G>>2];f[K+(J*56|0)+32>>2]=f[A>>2];f[N>>2]=f[E>>2]}Q=f[E>>2]|0;if(Q|0?(P=Q+12|0,Q=f[P>>2]|0,f[P>>2]=Q+-1,(Q|0)==1):0)XO(o);f[E>>2]=0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;if((f[D>>2]|0)>0){Q=f[C>>2]|0;P=0;do{f[Q+(P<<2)>>2]=0;P=P+1|0}while((P|0)<(f[D>>2]|0))}P=f[I>>2]|0;if((P|0)!=(z|0))dX(P);J=J+1|0}while((J|0)<(y|0));S=n}else S=n;cea(f[S>>2]|0,y,q?0:f[c>>2]|0,d,e,H|0?m:0,h,1);pY(n);n=l+36|0;m=f[n>>2]|0;if(m|0?(H=m+12|0,m=f[H>>2]|0,f[H>>2]=m+-1,(m|0)==1):0)XO(l);f[n>>2]=0;n=l+16|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;if((f[p>>2]|0)>0){n=f[r>>2]|0;r=0;do{f[n+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[p>>2]|0))}p=f[x>>2]|0;if((p|0)!=(t|0))dX(p);p=k+36|0;t=f[p>>2]|0;if(t|0?(x=t+12|0,t=f[x>>2]|0,f[x>>2]=t+-1,(t|0)==1):0)XO(k);f[p>>2]=0;p=k+16|0;t=k+4|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;if((f[t>>2]|0)>0){p=f[k+40>>2]|0;x=0;do{f[p+(x<<2)>>2]=0;x=x+1|0}while((x|0)<(f[t>>2]|0))}t=f[k+44>>2]|0;if((t|0)!=(k+48|0))dX(t);if(!(f[j+4>>2]|0)){u=i;return}u=i;return}function eea(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0,J=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,W=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0,ba=0.0;e=u;u=u+288|0;g=e+280|0;h=e+224|0;i=e+168|0;j=e+152|0;k=e+40|0;l=e+8|0;m=e;yV(g,56736);do if((HJ(a)|0)==65536){o=f[a+4>>2]|0;f[h>>2]=f[o>>2];p=h+4|0;q=o+4|0;f[p>>2]=f[q>>2];r=h+8|0;f[r>>2]=f[o+8>>2];f[h+12>>2]=f[o+12>>2];f[h+16>>2]=f[o+16>>2];f[h+20>>2]=f[o+20>>2];f[h+24>>2]=f[o+24>>2];f[h+28>>2]=f[o+28>>2];f[h+32>>2]=f[o+32>>2];s=f[o+36>>2]|0;f[h+36>>2]=s;f[h+40>>2]=r;r=h+48|0;t=h+44|0;f[t>>2]=r;f[r>>2]=0;f[h+52>>2]=0;if(s|0){r=s+12|0;f[r>>2]=(f[r>>2]|0)+1}if((f[q>>2]|0)<3){q=f[o+44>>2]|0;r=f[t>>2]|0;f[r>>2]=f[q>>2];f[r+4>>2]=f[q+4>>2];break}else{f[p>>2]=0;WO(h,o);break}}else DJ(h,a,-1);while(0);do if((HJ(c)|0)==65536){a=f[c+4>>2]|0;f[i>>2]=f[a>>2];o=i+4|0;p=a+4|0;f[o>>2]=f[p>>2];q=i+8|0;f[q>>2]=f[a+8>>2];f[i+12>>2]=f[a+12>>2];f[i+16>>2]=f[a+16>>2];f[i+20>>2]=f[a+20>>2];f[i+24>>2]=f[a+24>>2];f[i+28>>2]=f[a+28>>2];f[i+32>>2]=f[a+32>>2];r=f[a+36>>2]|0;f[i+36>>2]=r;f[i+40>>2]=q;q=i+48|0;t=i+44|0;f[t>>2]=q;f[q>>2]=0;f[i+52>>2]=0;if(r|0){q=r+12|0;f[q>>2]=(f[q>>2]|0)+1}if((f[p>>2]|0)<3){p=f[a+44>>2]|0;q=f[t>>2]|0;f[q>>2]=f[p>>2];f[q+4>>2]=f[p+4>>2];break}else{f[o>>2]=0;WO(i,a);break}}else DJ(i,c,-1);while(0);f[j>>2]=h;f[j+4>>2]=i;f[j+8>>2]=0;f[k>>2]=1124007936;c=k+8|0;a=k+40|0;o=k+4|0;p=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));f[a>>2]=c;c=k+48|0;f[k+44>>2]=c;f[c>>2]=0;f[k+52>>2]=0;f[k+56>>2]=1124007936;c=k+64|0;a=k+96|0;o=k+60|0;p=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));f[a>>2]=c;c=k+104|0;f[k+100>>2]=c;f[c>>2]=0;f[k+108>>2]=0;DN(l,j,k,-1);j=f[h>>2]|0;if(!((j&7|0)==5?((f[i>>2]^j)&4095|0)==0:0)){f[m>>2]=0;f[m+4>>2]=0;o=JV(m,41)|0;v=223884;p=o+41|0;do{b[o>>0]=b[v>>0]|0;o=o+1|0;v=v+1|0}while((o|0)<(p|0));EP(-215,m,223926,222100,2515);KV(m)}j=l+4|0;c=f[j>>2]|0;if(!((f[c>>2]&16384|0)!=0?(f[c+56>>2]&16384|0)!=0:0)){f[m>>2]=0;f[m+4>>2]=0;o=JV(m,58)|0;v=223938;p=o+58|0;do{b[o>>0]=b[v>>0]|0;o=o+1|0;v=v+1|0}while((o|0)<(p|0));EP(-215,m,223926,222100,2519);KV(m)}c=l+16|0;a=(d|0)==1;q=m+4|0;w=0.0;x=0.0;y=0.0;z=0.0;A=0.0;B=0.0;t=0;while(1){if(t>>>0>=(f[c>>2]|0)>>>0)break;r=f[j>>2]|0;s=f[r+16>>2]|0;C=f[r+72>>2]|0;D=X(f[r+12>>2]|0,f[r+8>>2]|0)|0;r=X(D,((f[h>>2]|0)>>>3&511)+1|0)|0;switch(d|0){case 1:case 4:{if((r|0)>0)if(a){D=0;E=w;while(1){F=+n[s+(D<<2)>>2];G=F-+n[C+(D<<2)>>2];H=F;I=+K(+H)>2.220446049250313e-16;F=I?E+G*G/H:E;D=D+1|0;if((D|0)==(r|0)){J=z;M=A;N=B;O=x;P=y;Q=F;break}else E=F}}else{D=0;E=w;while(1){F=+n[s+(D<<2)>>2];H=+n[C+(D<<2)>>2];G=F-H;R=F+H;I=+K(+R)>2.220446049250313e-16;H=I?E+G*G/R:E;D=D+1|0;if((D|0)==(r|0)){J=z;M=A;N=B;O=x;P=y;Q=H;break}else E=H}}else{J=z;M=A;N=B;O=x;P=y;Q=w}break}case 0:{if((r|0)>0){D=0;E=x;H=y;R=z;G=A;F=B;while(1){S=+n[s+(D<<2)>>2];T=+n[C+(D<<2)>>2];U=G+S*T;W=E+S;Y=R+S*S;S=H+T;Z=F+T*T;D=D+1|0;if((D|0)==(r|0)){J=Y;M=U;N=Z;O=W;P=S;Q=w;break}else{E=W;H=S;R=Y;G=U;F=Z}}}else{J=z;M=A;N=B;O=x;P=y;Q=w}break}case 2:{if((r|0)>0){D=0;F=w;while(1){G=+n[C+(D<<2)>>2];R=+n[s+(D<<2)>>2];H=F+(G0){F=x;H=y;D=0;R=w;while(1){G=+n[s+(D<<2)>>2];E=+n[C+(D<<2)>>2];Z=R+ +L(+(G*E));U=F+G;G=H+E;D=D+1|0;if((D|0)==(r|0)){J=z;M=A;N=B;O=U;P=G;Q=Z;break}else{F=U;H=G;R=Z}}}else{J=z;M=A;N=B;O=x;P=y;Q=w}break}case 5:{if((r|0)>0){D=0;R=w;while(1){H=+n[s+(D<<2)>>2];F=+n[C+(D<<2)>>2];if(!(+K(+H)<=2.220446049250313e-16)){I=!(+K(+F)<=2.220446049250313e-16);_=R+ +V(+(H/(I?F:1.0e-10)))*H}else _=R;D=D+1|0;if((D|0)==(r|0)){J=z;M=A;N=B;O=x;P=y;Q=_;break}else R=_}}else{J=z;M=A;N=B;O=x;P=y;Q=w}break}default:{f[m>>2]=0;f[q>>2]=0;o=JV(m,25)|0;v=244513;p=o+25|0;do{b[o>>0]=b[v>>0]|0;o=o+1|0;v=v+1|0}while((o|0)<(p|0));EP(-5,m,223926,222100,2688);KV(m);J=z;M=A;N=B;O=x;P=y;Q=w}}GN(l)|0;w=Q;x=O;y=P;z=J;A=M;B=N;t=t+1|0}switch(d|0){case 4:{$=w*2.0;break}case 0:{d=f[h+4>>2]|0;if((d|0)<3)aa=X(f[h+12>>2]|0,f[h+8>>2]|0)|0;else{t=f[h+40>>2]|0;l=0;m=1;while(1){v=X(f[t+(l<<2)>>2]|0,m)|0;l=l+1|0;if((l|0)==(d|0)){aa=v;break}else m=v}}N=1.0/+(aa>>>0);M=(z-x*x*N)*(B-y*y*N);if(+K(+M)>2.220446049250313e-16)$=(A-y*x*N)/+L(+M);else $=1.0;break}case 3:{M=y*x;if(+K(+M)>1.1920928955078125e-07)ba=1.0/+L(+M);else ba=1.0;M=1.0-w*ba;$=+L(+(M<0.0?0.0:M));break}default:$=w}aa=k+56|0;m=k+92|0;d=f[m>>2]|0;if(d|0?(l=d+12|0,d=f[l>>2]|0,f[l>>2]=d+-1,(d|0)==1):0)XO(aa);f[m>>2]=0;m=k+72|0;aa=k+60|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;if((f[aa>>2]|0)>0){m=f[k+96>>2]|0;d=0;do{f[m+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[aa>>2]|0))}aa=f[k+100>>2]|0;if((aa|0)!=(k+104|0))dX(aa);aa=k+36|0;d=f[aa>>2]|0;if(d|0?(m=d+12|0,d=f[m>>2]|0,f[m>>2]=d+-1,(d|0)==1):0)XO(k);f[aa>>2]=0;aa=k+16|0;d=k+4|0;f[aa>>2]=0;f[aa+4>>2]=0;f[aa+8>>2]=0;f[aa+12>>2]=0;if((f[d>>2]|0)>0){aa=f[k+40>>2]|0;m=0;do{f[aa+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[d>>2]|0))}d=f[k+44>>2]|0;if((d|0)!=(k+48|0))dX(d);d=i+36|0;k=f[d>>2]|0;if(k|0?(m=k+12|0,k=f[m>>2]|0,f[m>>2]=k+-1,(k|0)==1):0)XO(i);f[d>>2]=0;d=i+16|0;k=i+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[k>>2]|0)>0){d=f[i+40>>2]|0;m=0;do{f[d+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[k>>2]|0))}k=f[i+44>>2]|0;if((k|0)!=(i+48|0))dX(k);k=h+36|0;i=f[k>>2]|0;if(i|0?(m=i+12|0,i=f[m>>2]|0,f[m>>2]=i+-1,(i|0)==1):0)XO(h);f[k>>2]=0;k=h+16|0;i=h+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;if((f[i>>2]|0)>0){k=f[h+40>>2]|0;m=0;do{f[k+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[i>>2]|0))}i=f[h+44>>2]|0;if((i|0)!=(h+48|0))dX(i);if(!(f[g+4>>2]|0)){u=e;return +$}u=e;return +$}function fea(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0;d=u;u=u+2256|0;e=d+2240|0;g=d+2184|0;h=d+2176|0;i=d+2120|0;j=d+2112|0;k=d+1088|0;l=d+64|0;m=d+48|0;n=d+32|0;o=d+24|0;q=d+8|0;r=d;yV(e,56756);if(GJ(a,-1)|0){f[g>>2]=0;f[g+4>>2]=0;s=JV(g,56)|0;t=224057;v=s+56|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,g,224114,222100,3914);KV(g)}if(!(VJ(a)|0)){do if((HJ(a)|0)==65536){t=f[a+4>>2]|0;f[g>>2]=f[t>>2];s=g+4|0;v=t+4|0;f[s>>2]=f[v>>2];w=g+8|0;f[w>>2]=f[t+8>>2];f[g+12>>2]=f[t+12>>2];f[g+16>>2]=f[t+16>>2];f[g+20>>2]=f[t+20>>2];f[g+24>>2]=f[t+24>>2];f[g+28>>2]=f[t+28>>2];f[g+32>>2]=f[t+32>>2];x=f[t+36>>2]|0;f[g+36>>2]=x;y=g+40|0;f[y>>2]=w;w=g+48|0;z=g+44|0;f[z>>2]=w;f[w>>2]=0;f[g+52>>2]=0;if(x|0){w=x+12|0;f[w>>2]=(f[w>>2]|0)+1}if((f[v>>2]|0)<3){v=f[t+44>>2]|0;w=f[z>>2]|0;f[w>>2]=f[v>>2];f[w+4>>2]=f[v+4>>2];A=g;B=y;break}else{f[s>>2]=0;WO(g,t);A=g;B=y;break}}else{DJ(g,a,-1);A=g;B=g+40|0}while(0);a=f[B>>2]|0;y=f[a>>2]|0;f[h>>2]=f[a+4>>2];f[h+4>>2]=y;_J(c,h,f[A>>2]&4095,-1,0,0);do if((HJ(c)|0)==65536){A=f[c+4>>2]|0;f[i>>2]=f[A>>2];h=i+4|0;y=A+4|0;f[h>>2]=f[y>>2];a=i+8|0;f[a>>2]=f[A+8>>2];f[i+12>>2]=f[A+12>>2];f[i+16>>2]=f[A+16>>2];f[i+20>>2]=f[A+20>>2];f[i+24>>2]=f[A+24>>2];f[i+28>>2]=f[A+28>>2];f[i+32>>2]=f[A+32>>2];t=f[A+36>>2]|0;f[i+36>>2]=t;f[i+40>>2]=a;a=i+48|0;s=i+44|0;f[s>>2]=a;f[a>>2]=0;f[i+52>>2]=0;if(t|0){a=t+12|0;f[a>>2]=(f[a>>2]|0)+1}if((f[y>>2]|0)<3){y=f[A+44>>2]|0;a=f[s>>2]|0;f[a>>2]=f[y>>2];f[a+4>>2]=f[y+4>>2];break}else{f[h>>2]=0;WO(i,A);break}}else DJ(i,c,-1);while(0);nQ(j);FVa(k|0,0,1024)|0;f[m>>2]=56784;f[m+4>>2]=g;f[m+8>>2]=k;f[m+12>>2]=j;f[n>>2]=56804;f[n+4>>2]=g;f[n+8>>2]=i;f[n+12>>2]=l;c=g+8|0;A=f[c>>2]|0;f[o>>2]=0;f[o+4>>2]=A;h=g+4|0;y=f[h>>2]|0;if((y|0)<3)C=X(f[g+12>>2]|0,A)|0;else{A=f[B>>2]|0;a=0;s=1;while(1){t=X(f[A+(a<<2)>>2]|0,s)|0;a=a+1|0;if((a|0)==(y|0)){C=t;break}else s=t}}if(C>>>0>307199){$Z(o,m,-1.0);D=0}else{gea(m,o);D=0}while(1){E=f[k+(D<<2)>>2]|0;if(!E)D=D+1|0;else break}m=f[h>>2]|0;C=(m|0)<3;if(C)F=X(f[g+12>>2]|0,f[c>>2]|0)|0;else{s=f[B>>2]|0;y=0;a=1;while(1){A=X(f[s+(y<<2)>>2]|0,a)|0;y=y+1|0;if((y|0)==(m|0)){F=A;break}else a=A}}do if((F|0)!=(E|0)){G=255.0/+(F-E|0);f[l+(D<<2)>>2]=0;if((D|0)<255){a=0;y=D;do{s=y;y=y+1|0;a=(f[k+(y<<2)>>2]|0)+a|0;A=HEa(G*+(a|0))|0;f[l+(y<<2)>>2]=(A>>>0<256?A:(A|0)>0?255:0)&255}while((s|0)<254)}if(C)H=X(f[g+12>>2]|0,f[c>>2]|0)|0;else{y=f[B>>2]|0;a=0;s=1;while(1){A=X(f[y+(a<<2)>>2]|0,s)|0;a=a+1|0;if((a|0)==(m|0)){H=A;break}else s=A}}if(H>>>0>307199){$Z(o,n,-1.0);break}else{hea(n,o);break}}else{p[r>>3]=+(D|0);f[q>>2]=-1056833530;f[q+4>>2]=r;f[q+8>>2]=1;f[q+12>>2]=1;hM(i,q,BK()|0)|0}while(0);oQ(j);j=i+36|0;q=f[j>>2]|0;if(q|0?(r=q+12|0,q=f[r>>2]|0,f[r>>2]=q+-1,(q|0)==1):0)XO(i);f[j>>2]=0;j=i+16|0;q=i+4|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;if((f[q>>2]|0)>0){j=f[i+40>>2]|0;r=0;do{f[j+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[q>>2]|0))}q=f[i+44>>2]|0;if((q|0)!=(i+48|0))dX(q);q=g+36|0;i=f[q>>2]|0;if(i|0?(r=i+12|0,i=f[r>>2]|0,f[r>>2]=i+-1,(i|0)==1):0)XO(g);f[q>>2]=0;q=g+16|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;if((f[h>>2]|0)>0){q=f[B>>2]|0;B=0;do{f[q+(B<<2)>>2]=0;B=B+1|0}while((B|0)<(f[h>>2]|0))}h=f[g+44>>2]|0;if((h|0)!=(g+48|0))dX(h)}if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function gea(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+1024|0;d=c;FVa(d|0,0,1024)|0;e=f[a+4>>2]|0;g=f[e+48>>2]|0;i=f[b>>2]|0;j=(f[b+4>>2]|0)-i|0;b=(f[e>>2]&16384|0)!=0;k=X(b?j:1,f[e+12>>2]|0)|0;l=(f[e+16>>2]|0)+(X(f[f[e+44>>2]>>2]|0,i)|0)|0;i=b?1:j;j=i+-1|0;a:do if(i|0){b=k+-4|0;if((k|0)<4){e=(k|0)>0;m=l;n=j;while(1){if(e){o=0;do{p=d+((h[m+o>>0]|0)<<2)|0;f[p>>2]=(f[p>>2]|0)+1;o=o+1|0}while((o|0)!=(k|0))}if(!n)break a;else{m=m+g|0;n=n+-1|0}}}n=k&-4;m=(n|0)<(k|0);e=l;o=j;while(1){p=0;do{q=h[e+(p|1)>>0]|0;r=d+((h[e+p>>0]|0)<<2)|0;f[r>>2]=(f[r>>2]|0)+1;r=d+(q<<2)|0;f[r>>2]=(f[r>>2]|0)+1;r=h[e+(p|3)>>0]|0;q=d+((h[e+(p|2)>>0]|0)<<2)|0;f[q>>2]=(f[q>>2]|0)+1;q=d+(r<<2)|0;f[q>>2]=(f[q>>2]|0)+1;p=p+4|0}while((p|0)<=(b|0));if(m){p=n;do{q=d+((h[e+p>>0]|0)<<2)|0;f[q>>2]=(f[q>>2]|0)+1;p=p+1|0}while((p|0)!=(k|0))}if(!o)break;else{e=e+g|0;o=o+-1|0}}}while(0);g=f[a+12>>2]|0;pQ(g);k=f[a+8>>2]|0;a=0;do{j=k+(a<<2)|0;f[j>>2]=(f[j>>2]|0)+(f[d+(a<<2)>>2]|0);a=a+1|0}while((a|0)!=256);qQ(g);u=c;return}function hea(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=f[a+4>>2]|0;e=f[d+48>>2]|0;g=f[a+8>>2]|0;i=f[g+48>>2]|0;j=f[d+12>>2]|0;k=f[c>>2]|0;l=(f[c+4>>2]|0)-k|0;c=f[a+12>>2]|0;if(!(f[d>>2]&16384)){m=j;n=l}else{a=(f[g>>2]&16384|0)!=0;o=X(a?l:1,j)|0;m=o;n=a?1:l}l=(f[d+16>>2]|0)+(X(f[f[d+44>>2]>>2]|0,k)|0)|0;d=(f[g+16>>2]|0)+(X(f[f[g+44>>2]>>2]|0,k)|0)|0;k=n+-1|0;if(!n)return;n=m+-4|0;if((m|0)<4){g=(m|0)>0;a=l;o=d;j=k;while(1){if(g){p=0;do{b[o+p>>0]=f[c+((h[a+p>>0]|0)<<2)>>2];p=p+1|0}while((p|0)!=(m|0))}if(!j)break;else{a=a+e|0;o=o+i|0;j=j+-1|0}}return}j=m&-4;o=(j|0)<(m|0);a=l;l=d;d=k;while(1){k=0;do{g=k|1;p=f[c+((h[a+g>>0]|0)<<2)>>2]|0;b[l+k>>0]=f[c+((h[a+k>>0]|0)<<2)>>2];b[l+g>>0]=p;p=k|2;g=k|3;q=f[c+((h[a+g>>0]|0)<<2)>>2]|0;b[l+p>>0]=f[c+((h[a+p>>0]|0)<<2)>>2];b[l+g>>0]=q;k=k+4|0}while((k|0)<=(n|0));if(o){k=j;do{b[l+k>>0]=f[c+((h[a+k>>0]|0)<<2)>>2];k=k+1|0}while((k|0)!=(m|0))}if(!d)break;else{a=a+e|0;l=l+i|0;d=d+-1|0}}return}function iea(a){a=a|0;GQa(a);return}function jea(a){a=a|0;GQa(a);return}function kea(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=+i;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0;k=u;u=u+816|0;l=k+88|0;m=k+792|0;n=k+736|0;o=k+732|0;p=k+728|0;q=k+672|0;r=k+616|0;s=k+608|0;t=k+552|0;v=k+496|0;w=k+440|0;x=k+32|0;y=k+384|0;z=k+328|0;A=k+272|0;B=k+216|0;C=k+160|0;D=k;E=k+144|0;f[m>>2]=0;F=m+4|0;f[F>>2]=0;f[m+8>>2]=0;f[n>>2]=f[c>>2];G=n+4|0;H=c+4|0;I=f[H>>2]|0;f[G>>2]=I;J=n+8|0;f[J>>2]=f[c+8>>2];K=n+12|0;f[K>>2]=f[c+12>>2];L=n+16|0;f[L>>2]=f[c+16>>2];M=n+20|0;f[M>>2]=f[c+20>>2];N=n+24|0;f[N>>2]=f[c+24>>2];O=n+28|0;f[O>>2]=f[c+28>>2];P=n+32|0;f[P>>2]=f[c+32>>2];Q=n+36|0;R=f[c+36>>2]|0;f[Q>>2]=R;S=n+40|0;f[S>>2]=J;T=n+48|0;U=n+44|0;f[U>>2]=T;f[T>>2]=0;f[n+52>>2]=0;if(!R)V=I;else{I=R+12|0;f[I>>2]=(f[I>>2]|0)+1;V=f[H>>2]|0}if((V|0)<3){V=f[c+44>>2]|0;H=f[U>>2]|0;f[H>>2]=f[V>>2];f[H+4>>2]=f[V+4>>2]}else{f[G>>2]=0;WO(n,c)}V=f[a>>2]|0;H=V&7;I=V>>>3;V=I&511;R=f[n>>2]|0;W=R&7;f[o>>2]=W;Y=R>>>3&511;R=Y+1|0;Z=g&7;f[p>>2]=Z;_=g>>>3;$=_&511;aa=a+4|0;if(!((f[aa>>2]|0)<3&(f[G>>2]|0)<3?(f[d+4>>2]|0)<3:0)){f[l>>2]=0;f[l+4>>2]=0;ba=JV(l,50)|0;ca=224239;da=ba+50|0;do{b[ba>>0]=b[ca>>0]|0;ba=ba+1|0;ca=ca+1|0}while((ba|0)<(da|0));EP(-215,l,224290,224300,579);KV(l)}if((H|0)!=(W|0)){ea=H>>>0>5?H:5;if((W|0)==(ea|0))fa=W;else{W=l+8|0;f[W>>2]=0;f[W+4>>2]=0;f[l>>2]=33619968;f[l+4>>2]=n;AO(c,l,ea,1.0,0.0);ea=f[n>>2]&7;f[o>>2]=ea;fa=ea}}else fa=H;if(!((H|0)==(fa|0)|(fa|0)==5)){f[l>>2]=0;f[l+4>>2]=0;ba=JV(l,30)|0;ca=224362;da=ba+30|0;do{b[ba>>0]=b[ca>>0]|0;ba=ba+1|0;ca=ca+1|0}while((ba|0)<(da|0));EP(-215,l,224290,224300,587);KV(l)}ea=e+4|0;c=a+8|0;if(!((f[ea>>2]|0)<((f[J>>2]|0)+(f[c>>2]|0)|0)?(f[e>>2]|0)<((f[K>>2]|0)+(f[a+12>>2]|0)|0):0)){f[l>>2]=0;f[l+4>>2]=0;ba=JV(l,91)|0;ca=224393;da=ba+91|0;do{b[ba>>0]=b[ca>>0]|0;ba=ba+1|0;ca=ca+1|0}while((ba|0)<(da|0));EP(-215,l,224290,224300,589);KV(l)}W=($|0)==0;if(!(W|i==0.0)){f[l>>2]=0;f[l+4>>2]=0;ba=JV(l,22)|0;ca=224485;da=ba+22|0;do{b[ba>>0]=b[ca>>0]|0;ba=ba+1|0;ca=ca+1|0}while((ba|0)<(da|0));EP(-215,l,224290,224300,591);KV(l)}$=f[e>>2]|0;e=f[ea>>2]|0;ea=g&4095;if(!(((((f[d+4>>2]|0)<3?(f[d+8>>2]|0)==(e|0):0)?(f[d+12>>2]|0)==($|0):0)?(f[d>>2]&4095|0)==(ea|0):0)?(f[d+16>>2]|0)!=0:0)){f[l>>2]=e;f[l+4>>2]=$;VO(d,2,l,ea)}if(H>>>0>1)ga=6;else{ea=fa>>>0>5?fa:5;ga=(ea|0)<(Z|0)?Z:ea}ea=f[K>>2]|0;$=AEa(+(ea|0)*4.5)|0;e=256-ea+1|0;g=($|0)<(e|0)?e:$;$=d+12|0;e=f[$>>2]|0;ha=f[J>>2]|0;ia=AEa(+(ha|0)*4.5)|0;ja=256-ha+1|0;ha=(ia|0)<(ja|0)?ja:ia;ia=d+8|0;ja=f[ia>>2]|0;ka=GR(ea+-1+((e|0)<(g|0)?e:g)|0)|0;g=(ka|0)>2?ka:2;ka=GR(((ja|0)<(ha|0)?ja:ha)+-1+(f[J>>2]|0)|0)|0;if((g|0)<1|(ka|0)<1){f[l>>2]=0;f[l+4>>2]=0;ba=JV(l,28)|0;ca=224508;da=ba+28|0;do{b[ba>>0]=b[ca>>0]|0;ba=ba+1|0;ca=ca+1|0}while((ba|0)<(da|0));EP(-211,l,224290,224300,608);KV(l)}ha=g-(f[K>>2]|0)|0;ja=f[$>>2]|0;e=(ha|0)>=(ja|0)?ja:ha+1|0;ha=ka-(f[J>>2]|0)|0;ja=f[ia>>2]|0;ea=(ha|0)>=(ja|0)?ja:ha+1|0;ha=X(ka,R)|0;f[q>>2]=1124007936;R=q+4|0;ja=q+8|0;la=q+40|0;ba=R;da=ba+36|0;do{f[ba>>2]=0;ba=ba+4|0}while((ba|0)<(da|0));f[la>>2]=ja;ja=q+48|0;ma=q+44|0;f[ma>>2]=ja;f[ja>>2]=0;f[q+52>>2]=0;na=ga&4095;f[l>>2]=ha;ha=l+4|0;f[ha>>2]=g;VO(q,2,l,na);f[r>>2]=1124007936;oa=r+4|0;pa=r+8|0;qa=r+40|0;ba=oa;da=ba+36|0;do{f[ba>>2]=0;ba=ba+4|0}while((ba|0)<(da|0));f[qa>>2]=pa;pa=r+48|0;ra=r+44|0;f[ra>>2]=pa;f[pa>>2]=0;f[r+52>>2]=0;f[l>>2]=ka;f[ha>>2]=g;VO(r,2,l,na);na=(Y|0)!=0;if((fa|0)==(ga|0)|na^1)sa=0;else sa=X(f[K>>2]<<(47696>>>(fa<<1)&3),f[J>>2]|0)|0;fa=(V|0)!=0;ha=(H|0)==(ga|0);if(ha|fa^1)ta=sa;else{ua=(X(ea+-1+(f[J>>2]|0)|0,e+-1+(f[K>>2]|0)|0)|0)<<(47696>>>(H<<1)&3);ta=(sa|0)<(ua|0)?ua:sa}if(((I|_)&511|0)==0|(Z|0)==(ga|0))va=ta;else{_=(X(ea,e)|0)<<(47696>>>(Z<<1)&3);va=(ta|0)<(_|0)?_:ta}ta=f[F>>2]|0;_=f[m>>2]|0;Z=ta-_|0;I=_;_=ta;if(va>>>0<=Z>>>0){if(va>>>0>>0?(ta=I+va|0,(ta|0)!=(_|0)):0)f[F>>2]=ta}else bK(m,va-Z|0);rR(s,g,ka,f[q>>2]&7,1,1,1024,f[J>>2]|0);Z=t+4|0;va=t+8|0;ta=t+12|0;_=t+16|0;I=t+20|0;sa=t+24|0;ua=t+28|0;wa=t+32|0;xa=t+36|0;ya=t+40|0;za=t+48|0;Aa=t+44|0;Ba=t+52|0;Ca=l+4|0;Da=l+8|0;Ea=l+12|0;Fa=l+4|0;Ga=l+8|0;Ha=l+12|0;Ia=x+4|0;Ja=w+4|0;Ka=x+8|0;La=w+8|0;Ma=x+12|0;Na=w+12|0;Oa=x+16|0;Pa=w+16|0;Qa=x+20|0;Ra=w+20|0;Sa=x+24|0;Ta=w+24|0;Ua=x+28|0;Va=w+28|0;Wa=x+32|0;Xa=w+32|0;Ya=x+36|0;Za=w+36|0;_a=x+40|0;$a=x+48|0;ab=x+44|0;bb=x+52|0;cb=w+44|0;db=l+4|0;eb=l+4|0;fb=v+12|0;gb=x+4|0;hb=y+4|0;ib=l+36|0;jb=l+16|0;kb=l+4|0;lb=l+40|0;mb=l+44|0;nb=l+48|0;ob=s+4|0;pb=v+16|0;qb=v+48|0;rb=w+40|0;sb=w+48|0;tb=v+36|0;ub=v+4|0;vb=v+40|0;wb=v+44|0;xb=l+8|0;yb=l+4|0;zb=0;while(1){Ab=X(zb,ka)|0;f[t>>2]=f[n>>2];Bb=f[G>>2]|0;f[Z>>2]=Bb;f[va>>2]=f[J>>2];f[ta>>2]=f[K>>2];f[_>>2]=f[L>>2];f[I>>2]=f[M>>2];f[sa>>2]=f[N>>2];f[ua>>2]=f[O>>2];f[wa>>2]=f[P>>2];Cb=f[Q>>2]|0;f[xa>>2]=Cb;f[ya>>2]=va;f[Aa>>2]=za;f[za>>2]=0;f[Ba>>2]=0;if(!Cb)Db=Bb;else{Bb=Cb+12|0;f[Bb>>2]=(f[Bb>>2]|0)+1;Db=f[G>>2]|0}if((Db|0)<3){Bb=f[U>>2]|0;Cb=f[Aa>>2]|0;f[Cb>>2]=f[Bb>>2];f[Cb+4>>2]=f[Bb+4>>2]}else{f[Z>>2]=0;WO(t,n)}f[l>>2]=0;f[Ca>>2]=Ab;f[Da>>2]=g;f[Ea>>2]=ka;$O(v,q,l);Bb=f[K>>2]|0;Cb=f[J>>2]|0;f[l>>2]=0;f[Fa>>2]=Ab;f[Ga>>2]=Bb;f[Ha>>2]=Cb;$O(w,q,l);if(na){Cb=f[o>>2]|0;do if((Cb|0)==(ga|0)){f[x>>2]=f[w>>2];Bb=f[Ja>>2]|0;f[Ia>>2]=Bb;f[Ka>>2]=f[La>>2];f[Ma>>2]=f[Na>>2];f[Oa>>2]=f[Pa>>2];f[Qa>>2]=f[Ra>>2];f[Sa>>2]=f[Ta>>2];f[Ua>>2]=f[Va>>2];f[Wa>>2]=f[Xa>>2];Ab=f[Za>>2]|0;f[Ya>>2]=Ab;f[_a>>2]=Ka;f[ab>>2]=$a;f[$a>>2]=0;f[bb>>2]=0;if(!Ab)Eb=Bb;else{Bb=Ab+12|0;f[Bb>>2]=(f[Bb>>2]|0)+1;Eb=f[Ja>>2]|0}if((Eb|0)<3){Bb=f[cb>>2]|0;Ab=f[ab>>2]|0;f[Ab>>2]=f[Bb>>2];f[Ab+4>>2]=f[Bb+4>>2];break}else{f[Ia>>2]=0;WO(x,w);break}}else{Bb=f[S>>2]|0;Ab=f[Bb+4>>2]|0;Fb=f[Bb>>2]|0;Bb=f[m>>2]|0;Gb=Cb&4095|1124007936;f[x>>2]=Gb;f[Ia>>2]=2;f[Ka>>2]=Fb;f[Ma>>2]=Ab;f[Oa>>2]=Bb;f[Qa>>2]=Bb;f[Sa>>2]=0;f[Sa+4>>2]=0;f[Sa+8>>2]=0;f[Sa+12>>2]=0;f[_a>>2]=Ka;f[ab>>2]=$a;f[bb>>2]=0;f[$a>>2]=0;if((X(Fb,Ab)|0)!=0&(Bb|0)==0){f[l>>2]=0;f[eb>>2]=0;ba=JV(l,26)|0;ca=346743;da=ba+26|0;do{b[ba>>0]=b[ca>>0]|0;ba=ba+1|0;ca=ca+1|0}while((ba|0)<(da|0));EP(-215,l,346770,346774,533);KV(l);Hb=f[Ma>>2]|0;Ib=f[x>>2]|0;Jb=f[ab>>2]|0;Kb=f[Qa>>2]|0}else{Hb=Ab;Ib=Gb;Jb=$a;Kb=Bb}Fb=(Cb>>>3&511)+1<<(47696>>>(Cb<<1&14)&3);Lb=X(Hb,Fb)|0;f[x>>2]=Ib|16384;f[Jb>>2]=Lb;f[Jb+4>>2]=Fb;Fb=Kb+(X(f[Ka>>2]|0,Lb)|0)|0;f[Ua>>2]=Fb;f[Sa>>2]=Fb+(0-Lb)+Lb}while(0);Cb=f[Ya>>2]|0;if(Cb|0){Lb=Cb+12|0;f[Lb>>2]=(f[Lb>>2]|0)+1}Lb=f[xa>>2]|0;do if(Lb|0){Cb=Lb+12|0;Fb=f[Cb>>2]|0;f[Cb>>2]=Fb+-1;if((Fb|0)!=1)break;XO(t)}while(0);f[xa>>2]=0;f[_>>2]=0;f[_+4>>2]=0;f[_+8>>2]=0;f[_+12>>2]=0;if((f[Z>>2]|0)>0){Lb=f[ya>>2]|0;Fb=0;do{f[Lb+(Fb<<2)>>2]=0;Fb=Fb+1|0;Mb=f[Z>>2]|0}while((Fb|0)<(Mb|0));f[t>>2]=f[x>>2];if((Mb|0)<3)Nb=66;else Nb=68}else{f[t>>2]=f[x>>2];Nb=66}do if((Nb|0)==66){Nb=0;Fb=f[Ia>>2]|0;if((Fb|0)>=3){Nb=68;break}f[Z>>2]=Fb;f[va>>2]=f[Ka>>2];f[ta>>2]=f[Ma>>2];Fb=f[ab>>2]|0;Lb=f[Aa>>2]|0;f[Lb>>2]=f[Fb>>2];f[Lb+4>>2]=f[Fb+4>>2]}while(0);if((Nb|0)==68){Nb=0;WO(t,x)}f[_>>2]=f[Oa>>2];f[I>>2]=f[Qa>>2];f[sa>>2]=f[Sa>>2];f[ua>>2]=f[Ua>>2];f[wa>>2]=f[Wa>>2];Fb=f[Ya>>2]|0;f[xa>>2]=Fb;do if(Fb|0){Lb=Fb+12|0;Cb=f[Lb>>2]|0;f[Lb>>2]=Cb+-1;if((Cb|0)!=1)break;XO(x)}while(0);f[Ya>>2]=0;f[Oa>>2]=0;f[Oa+4>>2]=0;f[Oa+8>>2]=0;f[Oa+12>>2]=0;if((f[Ia>>2]|0)>0){Fb=f[_a>>2]|0;Cb=0;do{f[Fb+(Cb<<2)>>2]=0;Cb=Cb+1|0}while((Cb|0)<(f[Ia>>2]|0))}Cb=f[ab>>2]|0;if((Cb|0)!=($a|0))dX(Cb);f[l>>2]=zb;f[db>>2]=0;jY(n,1,t,1,l,1)}if((f[Pa>>2]|0)!=(f[_>>2]|0)){Cb=xb;f[Cb>>2]=0;f[Cb+4>>2]=0;f[l>>2]=33619968;f[yb>>2]=w;AO(t,l,f[w>>2]&7,1.0,0.0)}Cb=f[fb>>2]|0;Fb=f[K>>2]|0;if((Cb|0)>(Fb|0)){Lb=f[J>>2]|0;f[x>>2]=0;f[gb>>2]=Lb;f[y>>2]=Fb;f[hb>>2]=Cb;YO(l,v,x,y);f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;f[x+16>>2]=0;f[x+20>>2]=0;f[x+24>>2]=0;f[x+28>>2]=0;gM(l,x)|0;Cb=f[ib>>2]|0;do if(Cb|0){Fb=Cb+12|0;Lb=f[Fb>>2]|0;f[Fb>>2]=Lb+-1;if((Lb|0)!=1)break;XO(l)}while(0);f[ib>>2]=0;f[jb>>2]=0;f[jb+4>>2]=0;f[jb+8>>2]=0;f[jb+12>>2]=0;if((f[kb>>2]|0)>0){Cb=f[lb>>2]|0;Lb=0;do{f[Cb+(Lb<<2)>>2]=0;Lb=Lb+1|0}while((Lb|0)<(f[kb>>2]|0))}Lb=f[mb>>2]|0;if((Lb|0)!=(nb|0))dX(Lb)}Lb=f[ob>>2]|0;Cb=f[pb>>2]|0;Fb=f[qb>>2]|0;Sh[f[f[Lb>>2]>>2]&255](Lb,Cb,Fb,Cb,Fb);Fb=f[Za>>2]|0;do if(Fb|0){Cb=Fb+12|0;Lb=f[Cb>>2]|0;f[Cb>>2]=Lb+-1;if((Lb|0)!=1)break;XO(w)}while(0);f[Za>>2]=0;f[Pa>>2]=0;f[Pa+4>>2]=0;f[Pa+8>>2]=0;f[Pa+12>>2]=0;if((f[Ja>>2]|0)>0){Fb=f[rb>>2]|0;Lb=0;do{f[Fb+(Lb<<2)>>2]=0;Lb=Lb+1|0}while((Lb|0)<(f[Ja>>2]|0))}Lb=f[cb>>2]|0;if((Lb|0)!=(sb|0))dX(Lb);Lb=f[tb>>2]|0;do if(Lb|0){Fb=Lb+12|0;Cb=f[Fb>>2]|0;f[Fb>>2]=Cb+-1;if((Cb|0)!=1)break;XO(v)}while(0);f[tb>>2]=0;f[pb>>2]=0;f[pb+4>>2]=0;f[pb+8>>2]=0;f[pb+12>>2]=0;if((f[ub>>2]|0)>0){Lb=f[vb>>2]|0;Cb=0;do{f[Lb+(Cb<<2)>>2]=0;Cb=Cb+1|0}while((Cb|0)<(f[ub>>2]|0))}Cb=f[wb>>2]|0;if((Cb|0)!=(qb|0))dX(Cb);Cb=f[xa>>2]|0;do if(Cb|0){Lb=Cb+12|0;Fb=f[Lb>>2]|0;f[Lb>>2]=Fb+-1;if((Fb|0)!=1)break;XO(t)}while(0);f[xa>>2]=0;f[_>>2]=0;f[_+4>>2]=0;f[_+8>>2]=0;f[_+12>>2]=0;if((f[Z>>2]|0)>0){Cb=f[ya>>2]|0;Fb=0;do{f[Cb+(Fb<<2)>>2]=0;Fb=Fb+1|0}while((Fb|0)<(f[Z>>2]|0))}Fb=f[Aa>>2]|0;if((Fb|0)!=(za|0))dX(Fb);if((zb|0)<(Y|0))zb=zb+1|0;else break}zb=(e+-1+(f[$>>2]|0)|0)/(e|0)|0;Y=ea+-1|0;za=X((Y+(f[ia>>2]|0)|0)/(ea|0)|0,zb)|0;Aa=f[a+40>>2]|0;Z=f[Aa>>2]|0;f[t>>2]=f[Aa+4>>2];Aa=t+4|0;f[Aa>>2]=Z;f[v>>2]=0;Z=v+4|0;f[Z>>2]=0;f[w>>2]=f[a>>2];ya=w+4|0;_=f[aa>>2]|0;f[ya>>2]=_;xa=w+8|0;f[xa>>2]=f[c>>2];qb=w+12|0;wb=a+12|0;f[qb>>2]=f[wb>>2];ub=w+16|0;f[ub>>2]=f[a+16>>2];f[w+20>>2]=f[a+20>>2];f[w+24>>2]=f[a+24>>2];f[w+28>>2]=f[a+28>>2];f[w+32>>2]=f[a+32>>2];vb=w+36|0;pb=f[a+36>>2]|0;f[vb>>2]=pb;tb=w+40|0;f[tb>>2]=xa;sb=w+48|0;cb=w+44|0;f[cb>>2]=sb;f[sb>>2]=0;f[w+52>>2]=0;if(!pb)Ob=_;else{_=pb+12|0;f[_>>2]=(f[_>>2]|0)+1;Ob=f[aa>>2]|0}if((Ob|0)<3){Ob=f[a+44>>2]|0;aa=f[cb>>2]|0;f[aa>>2]=f[Ob>>2];f[aa+4>>2]=f[Ob+4>>2]}else{f[ya>>2]=0;WO(w,a)}if(!(j&16)){fP(a,t,v);a=f[Z>>2]|0;Ob=f[v>>2]|0;gP(w,a,(f[Aa>>2]|0)-a-(f[c>>2]|0)|0,Ob,(f[t>>2]|0)-Ob-(f[wb>>2]|0)|0)|0}wb=j|16;rR(l,g,ka,ga,1,1,1024,Y+(f[J>>2]|0)|0);Y=f[l>>2]|0;j=f[l+4>>2]|0;Ob=(Y|0)==0;t=Y;if(Ob){Pb=l;Qb=t}else{c=t+4|0;f[c>>2]=(f[c>>2]|0)+1;Pb=l;Qb=f[l>>2]|0}do if(Qb|0){c=Qb+4|0;a=f[c>>2]|0;f[c>>2]=a+-1;if((a|0)!=1)break;qg[f[(f[Qb>>2]|0)+8>>2]&1023](Qb)}while(0);f[Pb>>2]=0;rR(l,g,ka,ga,1,1,1027,ea);Pb=f[l>>2]|0;Qb=f[l+4>>2]|0;a=(Pb|0)==0;c=Pb;if(a){Rb=l;Sb=c}else{Aa=c+4|0;f[Aa>>2]=(f[Aa>>2]|0)+1;Rb=l;Sb=f[l>>2]|0}do if(Sb|0){Aa=Sb+4|0;aa=f[Aa>>2]|0;f[Aa>>2]=aa+-1;if((aa|0)!=1)break;qg[f[(f[Sb>>2]|0)+8>>2]&1023](Sb)}while(0);f[Rb>>2]=0;if((za|0)>0){Rb=h+4|0;Sb=l+4|0;aa=y+4|0;Aa=l+4|0;_=l+8|0;pb=l+12|0;Ja=l+4|0;rb=l+8|0;Pa=l+12|0;Za=l+4|0;ob=l+8|0;nb=l+12|0;mb=B+4|0;kb=x+4|0;lb=B+8|0;jb=x+8|0;ib=B+12|0;hb=x+12|0;gb=B+16|0;fb=x+16|0;yb=B+20|0;xb=x+20|0;db=B+24|0;$a=x+24|0;ab=B+28|0;Ia=x+28|0;_a=B+32|0;Oa=x+32|0;Ya=B+36|0;Wa=x+36|0;wa=B+40|0;Ua=B+48|0;ua=B+44|0;Sa=B+52|0;sa=x+44|0;Qa=C+4|0;I=z+4|0;Ma=C+8|0;ta=z+8|0;Ka=C+12|0;va=z+12|0;Mb=C+16|0;Kb=z+16|0;Jb=C+20|0;Ib=z+20|0;Hb=C+24|0;eb=z+24|0;bb=C+28|0;Eb=z+28|0;Xa=C+32|0;Va=z+32|0;Ta=C+36|0;Ra=z+36|0;Na=C+40|0;La=C+48|0;o=C+44|0;Ha=C+52|0;Ga=z+44|0;Fa=l+4|0;Ea=H|1124007936;Da=l+4|0;Ca=47696>>>(H<<1)&3;H=1<>2]|0)-Od|0;Rd=(Qd|0)<(e|0)?Qd:e;Qd=(f[ia>>2]|0)-Pd|0;Sd=(Qd|0)<(ea|0)?Qd:ea;Td=(f[K>>2]|0)+-1+Rd|0;Ud=(f[J>>2]|0)+-1+Sd|0;Vd=Od-(f[h>>2]|0)+(f[v>>2]|0)|0;Wd=Pd-(f[Rb>>2]|0)+(f[Z>>2]|0)|0;Xd=(Vd|0)>0?Vd:0;Yd=(Wd|0)>0?Wd:0;Zd=Vd+Td|0;_d=f[qb>>2]|0;$d=(Zd|0)<(_d|0)?Zd:_d;_d=Wd+Ud|0;Zd=f[xa>>2]|0;ae=(_d|0)<(Zd|0)?_d:Zd;f[l>>2]=Yd;f[Sb>>2]=ae;f[y>>2]=Xd;f[aa>>2]=$d;YO(x,w,l,y);f[l>>2]=0;f[Aa>>2]=0;f[_>>2]=Td;f[pb>>2]=Ud;$O(y,r,l);Zd=Xd-Vd|0;Vd=Yd-Wd|0;Wd=$d-Xd|0;Xd=ae-Yd|0;f[l>>2]=Zd;f[Ja>>2]=Vd;f[rb>>2]=Wd;f[Pa>>2]=Xd;$O(z,r,l);f[l>>2]=Od;f[Za>>2]=Pd;f[ob>>2]=Rd;f[nb>>2]=Sd;$O(A,d,l);Pd=(X(Xd,Wd)|0)!=0;Od=(Wd|0)<(Td|0)|(Xd|0)<(Ud|0);Td=(ea|0)<=(Qd|0);Qd=0;while(1){f[B>>2]=f[x>>2];Yd=f[kb>>2]|0;f[mb>>2]=Yd;f[lb>>2]=f[jb>>2];f[ib>>2]=f[hb>>2];f[gb>>2]=f[fb>>2];f[yb>>2]=f[xb>>2];f[db>>2]=f[$a>>2];f[ab>>2]=f[Ia>>2];f[_a>>2]=f[Oa>>2];ae=f[Wa>>2]|0;f[Ya>>2]=ae;f[wa>>2]=lb;f[ua>>2]=Ua;f[Ua>>2]=0;f[Sa>>2]=0;if(!ae)be=Yd;else{Yd=ae+12|0;f[Yd>>2]=(f[Yd>>2]|0)+1;be=f[kb>>2]|0}if((be|0)<3){Yd=f[sa>>2]|0;ae=f[ua>>2]|0;f[ae>>2]=f[Yd>>2];f[ae+4>>2]=f[Yd+4>>2]}else{f[mb>>2]=0;WO(B,x)};f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[l+24>>2]=0;f[l+28>>2]=0;gM(r,l)|0;if(fa){do if(ha){f[C>>2]=f[z>>2];Yd=f[I>>2]|0;f[Qa>>2]=Yd;f[Ma>>2]=f[ta>>2];f[Ka>>2]=f[va>>2];f[Mb>>2]=f[Kb>>2];f[Jb>>2]=f[Ib>>2];f[Hb>>2]=f[eb>>2];f[bb>>2]=f[Eb>>2];f[Xa>>2]=f[Va>>2];ae=f[Ra>>2]|0;f[Ta>>2]=ae;f[Na>>2]=Ma;f[o>>2]=La;f[La>>2]=0;f[Ha>>2]=0;if(!ae)ce=Yd;else{Yd=ae+12|0;f[Yd>>2]=(f[Yd>>2]|0)+1;ce=f[I>>2]|0}if((ce|0)<3){Yd=f[Ga>>2]|0;ae=f[o>>2]|0;f[ae>>2]=f[Yd>>2];f[ae+4>>2]=f[Yd+4>>2];break}else{f[Qa>>2]=0;WO(C,z);break}}else{Yd=f[m>>2]|0;f[C>>2]=Ea;f[Qa>>2]=2;f[Ma>>2]=Xd;f[Ka>>2]=Wd;f[Mb>>2]=Yd;f[Jb>>2]=Yd;f[Hb>>2]=0;f[Hb+4>>2]=0;f[Hb+8>>2]=0;f[Hb+12>>2]=0;f[Na>>2]=Ma;f[o>>2]=La;f[Ha>>2]=0;f[La>>2]=0;if(Pd&(Yd|0)==0){f[l>>2]=0;f[Da>>2]=0;ba=JV(l,26)|0;ca=346743;da=ba+26|0;do{b[ba>>0]=b[ca>>0]|0;ba=ba+1|0;ca=ca+1|0}while((ba|0)<(da|0));EP(-215,l,346770,346774,500);KV(l);de=f[Ka>>2]|0;ee=f[C>>2]|0;fe=f[o>>2]|0;ge=f[Jb>>2]|0}else{de=Wd;ee=Ea;fe=La;ge=Yd}ae=de<>2]=ee|16384;f[fe>>2]=ae;f[fe+4>>2]=H;$d=ge+(X(f[Ma>>2]|0,ae)|0)|0;f[bb>>2]=$d;f[Hb>>2]=$d+(0-ae)+ae}while(0);Bb=f[Ta>>2]|0;if(Bb|0){Gb=Bb+12|0;f[Gb>>2]=(f[Gb>>2]|0)+1}Gb=f[Ya>>2]|0;do if(Gb|0){Bb=Gb+12|0;Ab=f[Bb>>2]|0;f[Bb>>2]=Ab+-1;if((Ab|0)!=1)break;XO(B)}while(0);f[Ya>>2]=0;f[gb>>2]=0;f[gb+4>>2]=0;f[gb+8>>2]=0;f[gb+12>>2]=0;if((f[mb>>2]|0)>0){Gb=f[wa>>2]|0;Ab=0;do{f[Gb+(Ab<<2)>>2]=0;Ab=Ab+1|0;he=f[mb>>2]|0}while((Ab|0)<(he|0));f[B>>2]=f[C>>2];if((he|0)<3)Nb=162;else Nb=164}else{f[B>>2]=f[C>>2];Nb=162}do if((Nb|0)==162){Nb=0;Ab=f[Qa>>2]|0;if((Ab|0)>=3){Nb=164;break}f[mb>>2]=Ab;f[lb>>2]=f[Ma>>2];f[ib>>2]=f[Ka>>2];Ab=f[o>>2]|0;Gb=f[ua>>2]|0;f[Gb>>2]=f[Ab>>2];f[Gb+4>>2]=f[Ab+4>>2]}while(0);if((Nb|0)==164){Nb=0;WO(B,C)}f[gb>>2]=f[Mb>>2];f[yb>>2]=f[Jb>>2];f[db>>2]=f[Hb>>2];f[ab>>2]=f[bb>>2];f[_a>>2]=f[Xa>>2];Ab=f[Ta>>2]|0;f[Ya>>2]=Ab;do if(Ab|0){Gb=Ab+12|0;Bb=f[Gb>>2]|0;f[Gb>>2]=Bb+-1;if((Bb|0)!=1)break;XO(C)}while(0);f[Ta>>2]=0;f[Mb>>2]=0;f[Mb+4>>2]=0;f[Mb+8>>2]=0;f[Mb+12>>2]=0;if((f[Qa>>2]|0)>0){Ab=f[Na>>2]|0;Bb=0;do{f[Ab+(Bb<<2)>>2]=0;Bb=Bb+1|0}while((Bb|0)<(f[Qa>>2]|0))}Bb=f[o>>2]|0;if((Bb|0)!=(La|0))dX(Bb);f[l>>2]=Qd;f[Fa>>2]=0;jY(x,1,B,1,l,1)}if((f[Kb>>2]|0)!=(f[gb>>2]|0)){Bb=rd;f[Bb>>2]=0;f[Bb+4>>2]=0;f[l>>2]=33619968;f[sd>>2]=z;AO(B,l,f[z>>2]&7,1.0,0.0)}if(Od){f[Db>>2]=0;f[Ba>>2]=0;f[l>>2]=16842752;f[P>>2]=z;Bb=O;f[Bb>>2]=0;f[Bb+4>>2]=0;f[C>>2]=33619968;f[N>>2]=y;Bb=f[M>>2]|0;Ab=f[ta>>2]|0;Gb=f[Fb>>2]|0;ae=f[va>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=0;f[D+20>>2]=0;f[D+24>>2]=0;f[D+28>>2]=0;mM(l,C,Vd,Bb-Vd-Ab|0,Zd,Gb-Zd-ae|0,wb,D)}if(Td){ae=f[Cb>>2]|0;Gb=f[pa>>2]|0;Sh[f[f[j>>2]>>2]&255](j,ae,Gb,ae,Gb)}else{f[md>>2]=0;f[nd>>2]=0;f[l>>2]=16842752;f[od>>2]=r;Gb=pd;f[Gb>>2]=0;f[Gb+4>>2]=0;f[C>>2]=33619968;f[qd>>2]=r;ER(l,C,0,Ud)}Gb=X(Qd,ka)|0;f[C>>2]=0;f[Lb>>2]=na?Gb:0;f[Tb>>2]=g;f[Ub>>2]=ka;$O(l,q,C);f[Vb>>2]=0;f[Wb>>2]=0;f[C>>2]=16842752;f[Xb>>2]=r;f[Yb>>2]=0;f[Zb>>2]=0;f[D>>2]=16842752;f[_b>>2]=l;Gb=$b;f[Gb>>2]=0;f[Gb+4>>2]=0;f[E>>2]=33619968;f[ac>>2]=r;FR(C,D,E,0,1);if(Td){Gb=f[Cb>>2]|0;ae=f[pa>>2]|0;Sh[f[f[Qb>>2]>>2]&255](Qb,Gb,ae,Gb,ae)}else{f[hd>>2]=0;f[id>>2]=0;f[C>>2]=16842752;f[jd>>2]=r;ae=kd;f[ae>>2]=0;f[ae+4>>2]=0;f[D>>2]=33619968;f[ld>>2]=r;ER(C,D,3,Sd)}f[D>>2]=0;f[bc>>2]=0;f[cc>>2]=Rd;f[dc>>2]=Sd;$O(C,r,D);ae=f[ec>>2]|0;if(ae|0){Gb=ae+12|0;f[Gb>>2]=(f[Gb>>2]|0)+1}Gb=f[Ya>>2]|0;do if(Gb|0){ae=Gb+12|0;Ab=f[ae>>2]|0;f[ae>>2]=Ab+-1;if((Ab|0)!=1)break;XO(B)}while(0);f[Ya>>2]=0;f[gb>>2]=0;f[gb+4>>2]=0;f[gb+8>>2]=0;f[gb+12>>2]=0;if((f[mb>>2]|0)>0){Gb=f[wa>>2]|0;Ab=0;do{f[Gb+(Ab<<2)>>2]=0;Ab=Ab+1|0;ie=f[mb>>2]|0}while((Ab|0)<(ie|0));f[B>>2]=f[C>>2];if((ie|0)<3)Nb=194;else Nb=196}else{f[B>>2]=f[C>>2];Nb=194}do if((Nb|0)==194){Nb=0;Ab=f[fc>>2]|0;if((Ab|0)>=3){Nb=196;break}f[mb>>2]=Ab;f[lb>>2]=f[gc>>2];f[ib>>2]=f[hc>>2];Ab=f[ic>>2]|0;Gb=f[ua>>2]|0;f[Gb>>2]=f[Ab>>2];f[Gb+4>>2]=f[Ab+4>>2]}while(0);if((Nb|0)==196){Nb=0;WO(B,C)}f[gb>>2]=f[jc>>2];f[yb>>2]=f[kc>>2];f[db>>2]=f[lc>>2];f[ab>>2]=f[mc>>2];f[_a>>2]=f[nc>>2];Ab=f[ec>>2]|0;f[Ya>>2]=Ab;do if(Ab|0){Gb=Ab+12|0;ae=f[Gb>>2]|0;f[Gb>>2]=ae+-1;if((ae|0)!=1)break;XO(C)}while(0);f[ec>>2]=0;f[jc>>2]=0;f[jc+4>>2]=0;f[jc+8>>2]=0;f[jc+12>>2]=0;if((f[fc>>2]|0)>0){Ab=f[oc>>2]|0;ae=0;do{f[Ab+(ae<<2)>>2]=0;ae=ae+1|0}while((ae|0)<(f[fc>>2]|0))}ae=f[ic>>2]|0;if((ae|0)!=(pc|0))dX(ae);do if(W){if(!Qd){ae=qc;f[ae>>2]=0;f[ae+4>>2]=0;f[C>>2]=33619968;f[rc>>2]=A;AO(B,C,f[p>>2]|0,1.0,i);break}ae=f[p>>2]|0;if((ga|0)!=(ae|0)){Ab=f[m>>2]|0;f[Ac>>2]=2;f[Bc>>2]=Sd;f[Cc>>2]=Rd;f[Dc>>2]=Ab;f[Ec>>2]=Ab;Gb=Jd;f[Gb>>2]=0;f[Gb+4>>2]=0;f[Hc>>2]=Bc;f[Jc>>2]=Ic;Gb=(ae>>>3&511)+1<<(47696>>>(ae<<1&14)&3);Bb=X(Gb,Rd)|0;f[C>>2]=ae&4095|1124024320;f[Ic>>2]=Bb;f[Kd>>2]=Gb;Gb=Ab+(X(Sd,Bb)|0)|0;f[Gc>>2]=Gb;f[Fc>>2]=Gb+(0-Bb)+Bb;Bb=Kc;f[Bb>>2]=0;f[Bb+4>>2]=0;f[D>>2]=33619968;f[Lc>>2]=C;AO(B,D,ae,1.0,0.0);ae=f[Mc>>2]|0;if(ae|0){Bb=ae+12|0;f[Bb>>2]=(f[Bb>>2]|0)+1}Bb=f[Ya>>2]|0;do if(Bb|0){ae=Bb+12|0;Gb=f[ae>>2]|0;f[ae>>2]=Gb+-1;if((Gb|0)!=1)break;XO(B)}while(0);f[Ya>>2]=0;f[gb>>2]=0;f[gb+4>>2]=0;f[gb+8>>2]=0;f[gb+12>>2]=0;if((f[mb>>2]|0)>0){Bb=f[wa>>2]|0;Yd=0;do{f[Bb+(Yd<<2)>>2]=0;Yd=Yd+1|0;je=f[mb>>2]|0}while((Yd|0)<(je|0));f[B>>2]=f[C>>2];if((je|0)<3)Nb=243;else Nb=245}else{f[B>>2]=f[C>>2];Nb=243}do if((Nb|0)==243){Nb=0;Yd=f[Ac>>2]|0;if((Yd|0)>=3){Nb=245;break}f[mb>>2]=Yd;f[lb>>2]=f[Bc>>2];f[ib>>2]=f[Cc>>2];Yd=f[Jc>>2]|0;Bb=f[ua>>2]|0;f[Bb>>2]=f[Yd>>2];f[Bb+4>>2]=f[Yd+4>>2]}while(0);if((Nb|0)==245){Nb=0;WO(B,C)}f[gb>>2]=f[Dc>>2];f[yb>>2]=f[Ec>>2];f[db>>2]=f[Fc>>2];f[ab>>2]=f[Gc>>2];f[_a>>2]=f[Nc>>2];Yd=f[Mc>>2]|0;f[Ya>>2]=Yd;do if(Yd|0){Bb=Yd+12|0;Gb=f[Bb>>2]|0;f[Bb>>2]=Gb+-1;if((Gb|0)!=1)break;XO(C)}while(0);f[Mc>>2]=0;f[Dc>>2]=0;f[Dc+4>>2]=0;f[Dc+8>>2]=0;f[Dc+12>>2]=0;if((f[Ac>>2]|0)>0){Yd=f[Hc>>2]|0;Gb=0;do{f[Yd+(Gb<<2)>>2]=0;Gb=Gb+1|0}while((Gb|0)<(f[Ac>>2]|0))}Gb=f[Jc>>2]|0;if((Gb|0)!=(Ic|0))dX(Gb)}f[sc>>2]=0;f[tc>>2]=0;f[C>>2]=16842752;f[uc>>2]=B;f[vc>>2]=0;f[wc>>2]=0;f[D>>2]=16842752;f[xc>>2]=A;Gb=yc;f[Gb>>2]=0;f[Gb+4>>2]=0;f[E>>2]=33619968;f[zc>>2]=A;MH(C,D,E,BK()|0,-1)}else{Gb=f[p>>2]|0;if((Gb|0)!=(ga|0)){Yd=f[m>>2]|0;f[Vc>>2]=2;f[Wc>>2]=Sd;f[Xc>>2]=Rd;f[Yc>>2]=Yd;f[Zc>>2]=Yd;Bb=Ld;f[Bb>>2]=0;f[Bb+4>>2]=0;f[ad>>2]=Wc;f[cd>>2]=bd;Bb=(Gb>>>3&511)+1<<(47696>>>(Gb<<1&14)&3);ae=X(Bb,Rd)|0;f[C>>2]=Gb&4095|1124024320;f[bd>>2]=ae;f[Md>>2]=Bb;Bb=Yd+(X(Sd,ae)|0)|0;f[$c>>2]=Bb;f[_c>>2]=Bb+(0-ae)+ae;ae=dd;f[ae>>2]=0;f[ae+4>>2]=0;f[D>>2]=33619968;f[ed>>2]=C;AO(B,D,Gb,1.0,i);Gb=f[fd>>2]|0;if(Gb|0){ae=Gb+12|0;f[ae>>2]=(f[ae>>2]|0)+1}ae=f[Ya>>2]|0;do if(ae|0){Gb=ae+12|0;Bb=f[Gb>>2]|0;f[Gb>>2]=Bb+-1;if((Bb|0)!=1)break;XO(B)}while(0);f[Ya>>2]=0;f[gb>>2]=0;f[gb+4>>2]=0;f[gb+8>>2]=0;f[gb+12>>2]=0;if((f[mb>>2]|0)>0){ae=f[wa>>2]|0;Bb=0;do{f[ae+(Bb<<2)>>2]=0;Bb=Bb+1|0;ke=f[mb>>2]|0}while((Bb|0)<(ke|0));f[B>>2]=f[C>>2];if((ke|0)<3)Nb=217;else Nb=219}else{f[B>>2]=f[C>>2];Nb=217}do if((Nb|0)==217){Nb=0;Bb=f[Vc>>2]|0;if((Bb|0)>=3){Nb=219;break}f[mb>>2]=Bb;f[lb>>2]=f[Wc>>2];f[ib>>2]=f[Xc>>2];Bb=f[cd>>2]|0;ae=f[ua>>2]|0;f[ae>>2]=f[Bb>>2];f[ae+4>>2]=f[Bb+4>>2]}while(0);if((Nb|0)==219){Nb=0;WO(B,C)}f[gb>>2]=f[Yc>>2];f[yb>>2]=f[Zc>>2];f[db>>2]=f[_c>>2];f[ab>>2]=f[$c>>2];f[_a>>2]=f[gd>>2];Bb=f[fd>>2]|0;f[Ya>>2]=Bb;do if(Bb|0){ae=Bb+12|0;Gb=f[ae>>2]|0;f[ae>>2]=Gb+-1;if((Gb|0)!=1)break;XO(C)}while(0);f[fd>>2]=0;f[Yc>>2]=0;f[Yc+4>>2]=0;f[Yc+8>>2]=0;f[Yc+12>>2]=0;if((f[Vc>>2]|0)>0){Bb=f[ad>>2]|0;Gb=0;do{f[Bb+(Gb<<2)>>2]=0;Gb=Gb+1|0}while((Gb|0)<(f[Vc>>2]|0))}Gb=f[cd>>2]|0;if((Gb|0)!=(bd|0))dX(Gb)}f[C>>2]=0;f[Uc>>2]=Qd;jY(B,1,A,1,C,1)}while(0);Gb=f[Oc>>2]|0;do if(Gb|0){Bb=Gb+12|0;ae=f[Bb>>2]|0;f[Bb>>2]=ae+-1;if((ae|0)!=1)break;XO(l)}while(0);f[Oc>>2]=0;f[Pc>>2]=0;f[Pc+4>>2]=0;f[Pc+8>>2]=0;f[Pc+12>>2]=0;if((f[Qc>>2]|0)>0){Gb=f[Rc>>2]|0;ae=0;do{f[Gb+(ae<<2)>>2]=0;ae=ae+1|0}while((ae|0)<(f[Qc>>2]|0))}ae=f[Sc>>2]|0;if((ae|0)!=(Tc|0))dX(ae);ae=f[Ya>>2]|0;do if(ae|0){Gb=ae+12|0;Bb=f[Gb>>2]|0;f[Gb>>2]=Bb+-1;if((Bb|0)!=1)break;XO(B)}while(0);f[Ya>>2]=0;f[gb>>2]=0;f[gb+4>>2]=0;f[gb+8>>2]=0;f[gb+12>>2]=0;if((f[mb>>2]|0)>0){ae=f[wa>>2]|0;Bb=0;do{f[ae+(Bb<<2)>>2]=0;Bb=Bb+1|0}while((Bb|0)<(f[mb>>2]|0))}Bb=f[ua>>2]|0;if((Bb|0)!=(Ua|0))dX(Bb);if((Qd|0)<(V|0))Qd=Qd+1|0;else break}Qd=f[td>>2]|0;do if(Qd|0){Sd=Qd+12|0;Rd=f[Sd>>2]|0;f[Sd>>2]=Rd+-1;if((Rd|0)!=1)break;XO(A)}while(0);f[td>>2]=0;f[ud>>2]=0;f[ud+4>>2]=0;f[ud+8>>2]=0;f[ud+12>>2]=0;if((f[vd>>2]|0)>0){Qd=f[wd>>2]|0;Rd=0;do{f[Qd+(Rd<<2)>>2]=0;Rd=Rd+1|0}while((Rd|0)<(f[vd>>2]|0))}Rd=f[xd>>2]|0;if((Rd|0)!=(yd|0))dX(Rd);Rd=f[Ra>>2]|0;do if(Rd|0){Qd=Rd+12|0;Sd=f[Qd>>2]|0;f[Qd>>2]=Sd+-1;if((Sd|0)!=1)break;XO(z)}while(0);f[Ra>>2]=0;f[Kb>>2]=0;f[Kb+4>>2]=0;f[Kb+8>>2]=0;f[Kb+12>>2]=0;if((f[I>>2]|0)>0){Rd=f[zd>>2]|0;Sd=0;do{f[Rd+(Sd<<2)>>2]=0;Sd=Sd+1|0}while((Sd|0)<(f[I>>2]|0))}Sd=f[Ga>>2]|0;if((Sd|0)!=(Ad|0))dX(Sd);Sd=f[Bd>>2]|0;do if(Sd|0){Rd=Sd+12|0;Qd=f[Rd>>2]|0;f[Rd>>2]=Qd+-1;if((Qd|0)!=1)break;XO(y)}while(0);f[Bd>>2]=0;f[Cd>>2]=0;f[Cd+4>>2]=0;f[Cd+8>>2]=0;f[Cd+12>>2]=0;if((f[Dd>>2]|0)>0){Sd=f[Ed>>2]|0;Qd=0;do{f[Sd+(Qd<<2)>>2]=0;Qd=Qd+1|0}while((Qd|0)<(f[Dd>>2]|0))}Qd=f[Fd>>2]|0;if((Qd|0)!=(Gd|0))dX(Qd);Qd=f[Wa>>2]|0;do if(Qd|0){Sd=Qd+12|0;Rd=f[Sd>>2]|0;f[Sd>>2]=Rd+-1;if((Rd|0)!=1)break;XO(x)}while(0);f[Wa>>2]=0;f[fb>>2]=0;f[fb+4>>2]=0;f[fb+8>>2]=0;f[fb+12>>2]=0;if((f[kb>>2]|0)>0){Qd=f[Hd>>2]|0;Rd=0;do{f[Qd+(Rd<<2)>>2]=0;Rd=Rd+1|0}while((Rd|0)<(f[kb>>2]|0))}Rd=f[sa>>2]|0;if((Rd|0)!=(Id|0))dX(Rd);Nd=Nd+1|0}while((Nd|0)<(za|0))}do if(!a){za=c+4|0;Nd=f[za>>2]|0;f[za>>2]=Nd+-1;if((Nd|0)!=1)break;qg[f[(f[Pb>>2]|0)+8>>2]&1023](c)}while(0);do if(!Ob){c=t+4|0;Pb=f[c>>2]|0;f[c>>2]=Pb+-1;if((Pb|0)!=1)break;qg[f[(f[Y>>2]|0)+8>>2]&1023](t)}while(0);t=f[vb>>2]|0;do if(t|0){Y=t+12|0;Ob=f[Y>>2]|0;f[Y>>2]=Ob+-1;if((Ob|0)!=1)break;XO(w)}while(0);f[vb>>2]=0;f[ub>>2]=0;f[ub+4>>2]=0;f[ub+8>>2]=0;f[ub+12>>2]=0;if((f[ya>>2]|0)>0){ub=f[tb>>2]|0;tb=0;do{f[ub+(tb<<2)>>2]=0;tb=tb+1|0}while((tb|0)<(f[ya>>2]|0))}ya=f[cb>>2]|0;if((ya|0)!=(sb|0))dX(ya);ya=f[s>>2]|0;do if(ya|0){s=ya+4|0;sb=f[s>>2]|0;f[s>>2]=sb+-1;if((sb|0)!=1)break;qg[f[(f[ya>>2]|0)+8>>2]&1023](ya)}while(0);ya=r+36|0;sb=f[ya>>2]|0;do if(sb|0){s=sb+12|0;cb=f[s>>2]|0;f[s>>2]=cb+-1;if((cb|0)!=1)break;XO(r)}while(0);f[ya>>2]=0;ya=r+16|0;f[ya>>2]=0;f[ya+4>>2]=0;f[ya+8>>2]=0;f[ya+12>>2]=0;if((f[oa>>2]|0)>0){ya=f[qa>>2]|0;qa=0;do{f[ya+(qa<<2)>>2]=0;qa=qa+1|0}while((qa|0)<(f[oa>>2]|0))}oa=f[ra>>2]|0;if((oa|0)!=(pa|0))dX(oa);oa=q+36|0;pa=f[oa>>2]|0;do if(pa|0){ra=pa+12|0;qa=f[ra>>2]|0;f[ra>>2]=qa+-1;if((qa|0)!=1)break;XO(q)}while(0);f[oa>>2]=0;oa=q+16|0;f[oa>>2]=0;f[oa+4>>2]=0;f[oa+8>>2]=0;f[oa+12>>2]=0;if((f[R>>2]|0)>0){oa=f[la>>2]|0;la=0;do{f[oa+(la<<2)>>2]=0;la=la+1|0}while((la|0)<(f[R>>2]|0))}R=f[ma>>2]|0;if((R|0)!=(ja|0))dX(R);R=f[Q>>2]|0;do if(R|0){ja=R+12|0;ma=f[ja>>2]|0;f[ja>>2]=ma+-1;if((ma|0)!=1)break;XO(n)}while(0);f[Q>>2]=0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;if((f[G>>2]|0)>0){L=f[S>>2]|0;S=0;do{f[L+(S<<2)>>2]=0;S=S+1|0}while((S|0)<(f[G>>2]|0))}G=f[U>>2]|0;if((G|0)!=(T|0))dX(G);G=f[m>>2]|0;if(!G){u=k;return}if((f[F>>2]|0)!=(G|0))f[F>>2]=G;GQa(G);u=k;return}function lea(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0.0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0.0,Ja=0.0,Ka=0.0,La=0.0,Ma=0.0,Na=0.0,Oa=0.0,Pa=0.0,Qa=0.0,Ra=0,Sa=0,Ta=0.0,Ua=0.0,Va=0.0,Wa=0.0,Xa=0.0,Ya=0.0;h=u;u=u+2192|0;i=h+1360|0;j=h+2136|0;k=h+1328|0;l=h+1272|0;m=h+1216|0;o=h+2080|0;q=h+2024|0;r=h+1912|0;s=h+1840|0;t=h+992|0;v=h+1768|0;w=h+768|0;x=h+1712|0;y=h+544|0;z=h+512|0;A=h+480|0;B=h+256|0;C=h+32|0;D=h+1656|0;E=h+1648|0;F=h+1640|0;G=h+1632|0;H=h+1624|0;I=h;J=h+1616|0;M=h+1608|0;N=h+1600|0;O=h+1592|0;P=h+1584|0;Q=h+2016|0;R=h+2008|0;S=h+2e3|0;T=h+1992|0;U=h+1984|0;V=h+1976|0;W=h+1968|0;Y=h+1904|0;Z=h+1896|0;_=h+1832|0;$=h+1824|0;yV(P,56816);if(VJ(g)|0){aa=GJ(a,-1)|0;ba=(aa>>>3&511)+1|0;if(e>>>0>=6){f[i>>2]=0;f[i+4>>2]=0;ca=JV(i,55)|0;da=224537;ea=ca+55|0;do{b[ca>>0]=b[da>>0]|0;ca=ca+1|0;da=da+1|0}while((ca|0)<(ea|0));EP(-215,i,224683,224300,1101);KV(i)}switch(aa&7){case 0:case 5:{if(!((aa|0)==(GJ(c,-1)|0)?(RJ(a,-1)|0)<3:0))fa=134;break}default:fa=134}if((fa|0)==134){f[i>>2]=0;f[i+4>>2]=0;ca=JV(i,71)|0;da=224611;ea=ca+71|0;do{b[ca>>0]=b[da>>0]|0;ca=ca+1|0;da=da+1|0}while((ca|0)<(ea|0));EP(-215,i,224683,224300,1102);KV(i)}FJ(Q,a,-1);aa=f[Q+4>>2]|0;FJ(R,c,-1);if((aa|0)>=(f[R+4>>2]|0)?(FJ(S,a,-1),R=f[S>>2]|0,FJ(T,c,-1),(R|0)>=(f[T>>2]|0)):0)ga=0;else fa=137;do if((fa|0)==137){FJ(U,a,-1);T=f[U+4>>2]|0;FJ(V,c,-1);if((T|0)<=(f[V+4>>2]|0)?(FJ(W,a,-1),T=f[W>>2]|0,FJ(Y,c,-1),(T|0)<=(f[Y>>2]|0)):0){ga=1;break}f[i>>2]=0;f[i+4>>2]=0;ca=JV(i,86)|0;da=224697;ea=ca+86|0;do{b[ca>>0]=b[da>>0]|0;ca=ca+1|0;da=da+1|0}while((ca|0)<(ea|0));EP(-215,i,224683,224300,1107);KV(i);ga=1}while(0);do if((HJ(a)|0)==65536){Y=f[a+4>>2]|0;f[r>>2]=f[Y>>2];W=r+4|0;V=Y+4|0;f[W>>2]=f[V>>2];U=r+8|0;f[U>>2]=f[Y+8>>2];f[r+12>>2]=f[Y+12>>2];f[r+16>>2]=f[Y+16>>2];f[r+20>>2]=f[Y+20>>2];f[r+24>>2]=f[Y+24>>2];f[r+28>>2]=f[Y+28>>2];f[r+32>>2]=f[Y+32>>2];T=f[Y+36>>2]|0;f[r+36>>2]=T;f[r+40>>2]=U;U=r+48|0;R=r+44|0;f[R>>2]=U;f[U>>2]=0;f[r+52>>2]=0;if(T|0){U=T+12|0;f[U>>2]=(f[U>>2]|0)+1}if((f[V>>2]|0)<3){V=f[Y+44>>2]|0;U=f[R>>2]|0;f[U>>2]=f[V>>2];f[U+4>>2]=f[V+4>>2];break}else{f[W>>2]=0;WO(r,Y);break}}else DJ(r,a,-1);while(0);do if((HJ(c)|0)==65536){Y=f[c+4>>2]|0;f[s>>2]=f[Y>>2];W=s+4|0;V=Y+4|0;f[W>>2]=f[V>>2];U=s+8|0;f[U>>2]=f[Y+8>>2];f[s+12>>2]=f[Y+12>>2];f[s+16>>2]=f[Y+16>>2];f[s+20>>2]=f[Y+20>>2];f[s+24>>2]=f[Y+24>>2];f[s+28>>2]=f[Y+28>>2];f[s+32>>2]=f[Y+32>>2];R=f[Y+36>>2]|0;f[s+36>>2]=R;f[s+40>>2]=U;U=s+48|0;T=s+44|0;f[T>>2]=U;f[U>>2]=0;f[s+52>>2]=0;if(R|0){U=R+12|0;f[U>>2]=(f[U>>2]|0)+1}if((f[V>>2]|0)<3){V=f[Y+44>>2]|0;U=f[T>>2]|0;f[U>>2]=f[V>>2];f[U+4>>2]=f[V+4>>2];break}else{f[W>>2]=0;WO(s,Y);break}}else DJ(s,c,-1);while(0);if(ga){f[i>>2]=f[r>>2];ga=i+4|0;Y=r+4|0;W=f[Y>>2]|0;f[ga>>2]=W;V=i+8|0;U=r+8|0;f[V>>2]=f[U>>2];T=i+12|0;R=r+12|0;f[T>>2]=f[R>>2];S=i+16|0;aa=r+16|0;f[S>>2]=f[aa>>2];Q=i+20|0;ha=r+20|0;f[Q>>2]=f[ha>>2];ia=i+24|0;ja=r+24|0;f[ia>>2]=f[ja>>2];ka=i+28|0;la=r+28|0;f[ka>>2]=f[la>>2];ma=i+32|0;na=r+32|0;f[ma>>2]=f[na>>2];oa=i+36|0;pa=r+36|0;qa=f[pa>>2]|0;f[oa>>2]=qa;ra=i+40|0;f[ra>>2]=V;sa=i+48|0;ta=i+44|0;f[ta>>2]=sa;f[sa>>2]=0;f[i+52>>2]=0;if(!qa)ua=W;else{W=qa+12|0;f[W>>2]=(f[W>>2]|0)+1;ua=f[Y>>2]|0}if((ua|0)<3){ua=f[r+44>>2]|0;W=f[ta>>2]|0;f[W>>2]=f[ua>>2];f[W+4>>2]=f[ua+4>>2]}else{f[ga>>2]=0;WO(i,r)}ua=s+36|0;W=f[ua>>2]|0;if(W|0){qa=W+12|0;f[qa>>2]=(f[qa>>2]|0)+1}qa=f[pa>>2]|0;if(qa|0?(W=qa+12|0,qa=f[W>>2]|0,f[W>>2]=qa+-1,(qa|0)==1):0)XO(r);f[pa>>2]=0;f[aa>>2]=0;f[aa+4>>2]=0;f[aa+8>>2]=0;f[aa+12>>2]=0;if((f[Y>>2]|0)>0){qa=f[r+40>>2]|0;W=0;do{f[qa+(W<<2)>>2]=0;W=W+1|0;va=f[Y>>2]|0}while((W|0)<(va|0));f[r>>2]=f[s>>2];if((va|0)<3)fa=171;else fa=173}else{f[r>>2]=f[s>>2];fa=171}if((fa|0)==171){va=f[s+4>>2]|0;if((va|0)<3){f[Y>>2]=va;f[U>>2]=f[s+8>>2];f[R>>2]=f[s+12>>2];va=f[s+44>>2]|0;Y=f[r+44>>2]|0;f[Y>>2]=f[va>>2];f[Y+4>>2]=f[va+4>>2]}else fa=173}if((fa|0)==173)WO(r,s);va=s+16|0;f[aa>>2]=f[va>>2];aa=s+20|0;f[ha>>2]=f[aa>>2];ha=s+24|0;f[ja>>2]=f[ha>>2];ja=s+28|0;f[la>>2]=f[ja>>2];la=s+32|0;f[na>>2]=f[la>>2];na=f[ua>>2]|0;f[pa>>2]=na;pa=f[oa>>2]|0;if(!pa)wa=na;else{na=pa+12|0;f[na>>2]=(f[na>>2]|0)+1;wa=f[ua>>2]|0}if(wa|0?(na=wa+12|0,wa=f[na>>2]|0,f[na>>2]=wa+-1,(wa|0)==1):0)XO(s);f[ua>>2]=0;wa=s+4|0;f[va>>2]=0;f[va+4>>2]=0;f[va+8>>2]=0;f[va+12>>2]=0;if((f[wa>>2]|0)>0){na=f[s+40>>2]|0;pa=0;do{f[na+(pa<<2)>>2]=0;pa=pa+1|0;xa=f[wa>>2]|0}while((pa|0)<(xa|0));f[s>>2]=f[i>>2];if((xa|0)<3)fa=184;else fa=186}else{f[s>>2]=f[i>>2];fa=184}if((fa|0)==184){xa=f[ga>>2]|0;if((xa|0)<3){f[wa>>2]=xa;f[s+8>>2]=f[V>>2];f[s+12>>2]=f[T>>2];T=f[ta>>2]|0;V=f[s+44>>2]|0;f[V>>2]=f[T>>2];f[V+4>>2]=f[T+4>>2]}else fa=186}if((fa|0)==186)WO(s,i);f[va>>2]=f[S>>2];f[aa>>2]=f[Q>>2];f[ha>>2]=f[ia>>2];f[ja>>2]=f[ka>>2];f[la>>2]=f[ma>>2];ma=f[oa>>2]|0;f[ua>>2]=ma;if(ma|0?(ua=ma+12|0,ma=f[ua>>2]|0,f[ua>>2]=ma+-1,(ma|0)==1):0)XO(i);f[oa>>2]=0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;f[S+12>>2]=0;if((f[ga>>2]|0)>0){S=f[ra>>2]|0;ra=0;do{f[S+(ra<<2)>>2]=0;ra=ra+1|0}while((ra|0)<(f[ga>>2]|0))}ga=f[ta>>2]|0;if((ga|0)!=(sa|0))dX(ga);ya=U;za=R}else{ya=r+8|0;za=r+12|0}R=s+12|0;U=s+8|0;ga=(f[ya>>2]|0)+1-(f[U>>2]|0)|0;f[Z>>2]=(f[za>>2]|0)+1-(f[R>>2]|0);f[Z+4>>2]=ga;_J(d,Z,5,-1,0,0);do if((HJ(d)|0)==65536){Z=f[d+4>>2]|0;f[t>>2]=f[Z>>2];ga=t+4|0;za=Z+4|0;f[ga>>2]=f[za>>2];ya=t+8|0;f[ya>>2]=f[Z+8>>2];f[t+12>>2]=f[Z+12>>2];f[t+16>>2]=f[Z+16>>2];f[t+20>>2]=f[Z+20>>2];f[t+24>>2]=f[Z+24>>2];f[t+28>>2]=f[Z+28>>2];f[t+32>>2]=f[Z+32>>2];sa=f[Z+36>>2]|0;f[t+36>>2]=sa;ta=t+40|0;f[ta>>2]=ya;ya=t+48|0;ra=t+44|0;f[ra>>2]=ya;f[ya>>2]=0;f[t+52>>2]=0;if(sa|0){ya=sa+12|0;f[ya>>2]=(f[ya>>2]|0)+1}if((f[za>>2]|0)<3){za=f[Z+44>>2]|0;ya=f[ra>>2]|0;f[ya>>2]=f[za>>2];f[ya+4>>2]=f[za+4>>2];Aa=ta;Ba=t;break}else{f[ga>>2]=0;WO(t,Z);Aa=ta;Ba=t;break}}else{DJ(t,d,-1);Aa=t+40|0;Ba=t}while(0);ta=f[Aa>>2]|0;Z=f[ta>>2]|0;f[_>>2]=f[ta+4>>2];f[_+4>>2]=Z;Z=f[Ba>>2]&4095;f[$>>2]=0;f[$+4>>2]=0;kea(r,s,t,_,Z,$,0.0,0);switch(e|0){case 2:break;case 3:{Ca=0;fa=205;break}default:{Ca=(e|1|0)==5?1:2;fa=205}}if((fa|0)==205){$=(e|0)==5;Da=1.0/(+(f[U>>2]|0)*+(f[R>>2]|0));f[i>>2]=1124007936;Z=i+4|0;_=i+8|0;Ba=i+40|0;ca=Z;ea=ca+36|0;do{f[ca>>2]=0;ca=ca+4|0}while((ca|0)<(ea|0));f[Ba>>2]=_;_=i+48|0;ta=i+44|0;f[ta>>2]=_;f[_>>2]=0;f[i+52>>2]=0;f[j>>2]=1124007936;ga=j+4|0;za=j+8|0;ya=j+40|0;ca=ga;ea=ca+36|0;do{f[ca>>2]=0;ca=ca+4|0}while((ca|0)<(ea|0));f[ya>>2]=za;za=j+48|0;ra=j+44|0;f[ra>>2]=za;f[za>>2]=0;f[j+52>>2]=0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[k+24>>2]=0;f[k+28>>2]=0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[l+24>>2]=0;f[l+28>>2]=0;do if((e|0)==4){f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=r;sa=o+8|0;f[sa>>2]=0;f[sa+4>>2]=0;f[o>>2]=33619968;f[o+4>>2]=i;Foa(m,o,6);f[o+8>>2]=0;f[o+12>>2]=0;f[o>>2]=16842752;f[o+4>>2]=s;NE(m,o,BK()|0);f[k>>2]=f[m>>2];f[k+4>>2]=f[m+4>>2];f[k+8>>2]=f[m+8>>2];f[k+12>>2]=f[m+12>>2];f[k+16>>2]=f[m+16>>2];f[k+20>>2]=f[m+20>>2];f[k+24>>2]=f[m+24>>2];f[k+28>>2]=f[m+28>>2];Ea=0;Fa=0;Ga=0;Ha=0;Ia=0.0;Ja=0.0;fa=214}else{f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=r;sa=o+8|0;f[sa>>2]=0;f[sa+4>>2]=0;f[o>>2]=33619968;f[o+4>>2]=i;sa=q+8|0;f[sa>>2]=0;f[sa+4>>2]=0;f[q>>2]=33619968;f[q+4>>2]=j;Goa(m,o,q,6,-1);f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=s;f[o>>2]=-1040056314;f[o+4>>2]=k;f[o+8>>2]=1;f[o+12>>2]=4;f[q>>2]=-1040056314;f[q+4>>2]=l;f[q+8>>2]=1;f[q+12>>2]=4;OE(m,o,q,BK()|0);Ka=+p[l>>3];La=+p[l+8>>3];Ma=+p[l+16>>3];Na=+p[l+24>>3];Oa=Ka*Ka+La*La+Ma*Ma+Na*Na;if($&Oa<2.220446049250313e-16){p[m>>3]=1.0;p[m+8>>3]=1.0;p[m+16>>3]=1.0;p[m+24>>3]=1.0;gM(t,m)|0;break}Na=+p[k>>3];Ma=+p[k+8>>3];La=+p[k+16>>3];Ka=+p[k+24>>3];Pa=Oa+Na*Na+Ma*Ma+La*La+Ka*Ka;if((Ca|0)==1)Qa=Oa;else{f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[k+24>>2]=0;f[k+28>>2]=0;Qa=Pa}Oa=Pa/Da;Pa=+L(+Qa)/+L(+Da);sa=j+16|0;S=f[sa>>2]|0;if(!S){f[m>>2]=0;f[m+4>>2]=0;ca=JV(m,16)|0;da=224784;ea=ca+16|0;do{b[ca>>0]=b[da>>0]|0;ca=ca+1|0;da=da+1|0}while((ca|0)<(ea|0));EP(-215,m,224801,224300,892);KV(m);Ra=f[sa>>2]|0}else Ra=S;oa=X(f[R>>2]|0,ba)|0;ma=Ra+(X(f[za>>2]|0,f[U>>2]|0)|0)|0;Ea=Ra;Fa=Ra+(oa<<3)|0;Ga=ma;Ha=ma+(oa<<3)|0;Ia=Oa;Ja=Pa;fa=214}while(0);if((fa|0)==214){Ra=i+16|0;$=f[Ra>>2]|0;if(!$){f[m>>2]=0;f[m+4>>2]=0;ca=JV(m,14)|0;da=224822;ea=ca+14|0;do{b[ca>>0]=b[da>>0]|0;ca=ca+1|0;da=da+1|0}while((ca|0)<(ea|0));EP(-215,m,224801,224300,899);KV(m);Sa=f[Ra>>2]|0}else Sa=$;$=X(f[R>>2]|0,ba)|0;R=Sa+($<<3)|0;Ra=f[_>>2]|0;oa=Sa+(X(Ra,f[U>>2]|0)|0)|0;U=oa+($<<3)|0;$=(Sa|0)==0?0:Ra>>>3;Ra=(f[j+16>>2]|0)==0?0:(f[za>>2]|0)>>>3;ma=f[t+8>>2]|0;if((ma|0)>0){ua=f[t+16>>2]|0;la=f[f[t+44>>2]>>2]|0;ka=f[t+12>>2]|0;ja=(ka|0)>0;Qa=+((e|0)==1&1);ia=Ca&255;Ca=0;do{ha=ua+(X(Ca,la)|0)|0;Q=X(Ca,Ra)|0;a:do if(ja)switch(ia&3){case 1:{aa=Q;va=X(Ca,$)|0;T=0;while(1){V=ha+(T<<2)|0;Ka=0.0;La=+n[V>>2];xa=0;do{wa=xa+va|0;Ma=+p[Sa+(wa<<3)>>3]-+p[R+(wa<<3)>>3]-+p[oa+(wa<<3)>>3]+ +p[U+(wa<<3)>>3];Ka=Ka+Ma*Ma;La=La-Ma*+p[k+(xa<<3)>>3];xa=xa+1|0}while((xa|0)!=(ba|0));Ma=Da*Ka;switch(e|0){case 1:case 3:case 5:{Na=0.0;xa=0;while(1){wa=xa+aa|0;Ta=Na+(+p[Ea+(wa<<3)>>3]-+p[Fa+(wa<<3)>>3]-+p[Ga+(wa<<3)>>3]+ +p[Ha+(wa<<3)>>3]);xa=xa+1|0;if((xa|0)==(ba|0)){Ua=Ta;break}else Na=Ta}break}default:Ua=0.0}b:do switch(e|0){case 1:case 3:case 5:{Na=Ua-Ma;Ka=Ja*+L(+(Na<0.0?0.0:Na));Na=+K(+La);if(Na0.0?1.0:-1.0;break}default:Va=La}while(0);n[V>>2]=Va;T=T+1|0;if((T|0)==(ka|0))break a;else{aa=aa+ba|0;va=va+ba|0}}break}case 2:{va=Q;aa=0;while(1){T=ha+(aa<<2)|0;La=+n[T>>2];Ma=0.0;xa=0;do{wa=xa+va|0;Ma=Ma+(+p[Ea+(wa<<3)>>3]-+p[Fa+(wa<<3)>>3]-+p[Ga+(wa<<3)>>3]+ +p[Ha+(wa<<3)>>3]);xa=xa+1|0}while((xa|0)!=(ba|0));Ka=Ia+(Ma-La*2.0);Na=Ka<0.0?0.0:Ka;c:do switch(e|0){case 1:case 3:case 5:{Ka=Ja*+L(+(Ma<0.0?0.0:Ma));Ta=+K(+Na);if(Ta0.0?1.0:-1.0;break}default:Wa=Na}while(0);n[T>>2]=Wa;aa=aa+1|0;if((aa|0)==(ka|0))break a;else va=va+ba|0}break}default:{va=Q;aa=0;while(1){xa=ha+(aa<<2)|0;Na=+n[xa>>2];Ma=Na;switch(e|0){case 1:case 3:case 5:{La=0.0;V=0;while(1){wa=V+va|0;Ka=La+(+p[Ea+(wa<<3)>>3]-+p[Fa+(wa<<3)>>3]-+p[Ga+(wa<<3)>>3]+ +p[Ha+(wa<<3)>>3]);V=V+1|0;if((V|0)==(ba|0)){Xa=Ka;break}else La=Ka}break}default:Xa=0.0}d:do switch(e|0){case 1:case 3:case 5:{La=Ja*+L(+(Xa<0.0?0.0:Xa));Ka=+K(+Ma);if(Ka0.0?1.0:-1.0;break}default:Ya=Ma}while(0);n[xa>>2]=Ya;aa=aa+1|0;if((aa|0)==(ka|0))break a;else va=va+ba|0}}}while(0);Ca=Ca+1|0}while((Ca|0)!=(ma|0))}}ma=j+36|0;Ca=f[ma>>2]|0;if(Ca|0?(ba=Ca+12|0,Ca=f[ba>>2]|0,f[ba>>2]=Ca+-1,(Ca|0)==1):0)XO(j);f[ma>>2]=0;ma=j+16|0;f[ma>>2]=0;f[ma+4>>2]=0;f[ma+8>>2]=0;f[ma+12>>2]=0;if((f[ga>>2]|0)>0){ma=f[ya>>2]|0;ya=0;do{f[ma+(ya<<2)>>2]=0;ya=ya+1|0}while((ya|0)<(f[ga>>2]|0))}ga=f[ra>>2]|0;if((ga|0)!=(za|0))dX(ga);ga=i+36|0;za=f[ga>>2]|0;if(za|0?(ra=za+12|0,za=f[ra>>2]|0,f[ra>>2]=za+-1,(za|0)==1):0)XO(i);f[ga>>2]=0;ga=i+16|0;f[ga>>2]=0;f[ga+4>>2]=0;f[ga+8>>2]=0;f[ga+12>>2]=0;if((f[Z>>2]|0)>0){ga=f[Ba>>2]|0;Ba=0;do{f[ga+(Ba<<2)>>2]=0;Ba=Ba+1|0}while((Ba|0)<(f[Z>>2]|0))}Z=f[ta>>2]|0;if((Z|0)!=(_|0))dX(Z)}Z=t+36|0;_=f[Z>>2]|0;if(_|0?(ta=_+12|0,_=f[ta>>2]|0,f[ta>>2]=_+-1,(_|0)==1):0)XO(t);f[Z>>2]=0;Z=t+16|0;_=t+4|0;f[Z>>2]=0;f[Z+4>>2]=0;f[Z+8>>2]=0;f[Z+12>>2]=0;if((f[_>>2]|0)>0){Z=f[Aa>>2]|0;Aa=0;do{f[Z+(Aa<<2)>>2]=0;Aa=Aa+1|0}while((Aa|0)<(f[_>>2]|0))}_=f[t+44>>2]|0;if((_|0)!=(t+48|0))dX(_);_=s+36|0;Aa=f[_>>2]|0;if(Aa|0?(Z=Aa+12|0,Aa=f[Z>>2]|0,f[Z>>2]=Aa+-1,(Aa|0)==1):0)XO(s);f[_>>2]=0;_=s+16|0;Aa=s+4|0;f[_>>2]=0;f[_+4>>2]=0;f[_+8>>2]=0;f[_+12>>2]=0;if((f[Aa>>2]|0)>0){_=f[s+40>>2]|0;Z=0;do{f[_+(Z<<2)>>2]=0;Z=Z+1|0}while((Z|0)<(f[Aa>>2]|0))}Aa=f[s+44>>2]|0;if((Aa|0)!=(s+48|0))dX(Aa);Aa=r+36|0;Z=f[Aa>>2]|0;if(Z|0?(_=Z+12|0,Z=f[_>>2]|0,f[_>>2]=Z+-1,(Z|0)==1):0)XO(r);f[Aa>>2]=0;Aa=r+16|0;Z=r+4|0;f[Aa>>2]=0;f[Aa+4>>2]=0;f[Aa+8>>2]=0;f[Aa+12>>2]=0;if((f[Z>>2]|0)>0){Aa=f[r+40>>2]|0;_=0;do{f[Aa+(_<<2)>>2]=0;_=_+1|0}while((_|0)<(f[Z>>2]|0))}Z=f[r+44>>2]|0;if((Z|0)!=(r+48|0))dX(Z)}else{Z=GJ(a,-1)|0;_=Z&7;Aa=Z&4088;if(e>>>0>=6){f[i>>2]=0;f[i+4>>2]=0;ca=JV(i,55)|0;da=224537;ea=ca+55|0;do{b[ca>>0]=b[da>>0]|0;ca=ca+1|0;da=da+1|0}while((ca|0)<(ea|0));EP(-215,i,224593,224300,768);KV(i)}ta=(_|0)==0;switch(Z&7){case 0:case 5:{if(!((Z|0)==(GJ(c,-1)|0)?(RJ(a,-1)|0)<3:0))fa=7;break}default:fa=7}if((fa|0)==7){f[i>>2]=0;f[i+4>>2]=0;ca=JV(i,71)|0;da=224611;ea=ca+71|0;do{b[ca>>0]=b[da>>0]|0;ca=ca+1|0;da=da+1|0}while((ca|0)<(ea|0));EP(-215,i,224593,224300,769);KV(i)}do if((HJ(a)|0)==65536){da=f[a+4>>2]|0;f[l>>2]=f[da>>2];fa=l+4|0;Z=da+4|0;f[fa>>2]=f[Z>>2];_=l+8|0;f[_>>2]=f[da+8>>2];f[l+12>>2]=f[da+12>>2];f[l+16>>2]=f[da+16>>2];f[l+20>>2]=f[da+20>>2];f[l+24>>2]=f[da+24>>2];f[l+28>>2]=f[da+28>>2];f[l+32>>2]=f[da+32>>2];Ba=f[da+36>>2]|0;f[l+36>>2]=Ba;f[l+40>>2]=_;_=l+48|0;ga=l+44|0;f[ga>>2]=_;f[_>>2]=0;f[l+52>>2]=0;if(Ba|0){_=Ba+12|0;f[_>>2]=(f[_>>2]|0)+1}if((f[Z>>2]|0)<3){Z=f[da+44>>2]|0;_=f[ga>>2]|0;f[_>>2]=f[Z>>2];f[_+4>>2]=f[Z+4>>2];break}else{f[fa>>2]=0;WO(l,da);break}}else DJ(l,a,-1);while(0);do if((HJ(c)|0)==65536){a=f[c+4>>2]|0;f[m>>2]=f[a>>2];da=m+4|0;fa=a+4|0;f[da>>2]=f[fa>>2];Z=m+8|0;f[Z>>2]=f[a+8>>2];f[m+12>>2]=f[a+12>>2];f[m+16>>2]=f[a+16>>2];f[m+20>>2]=f[a+20>>2];f[m+24>>2]=f[a+24>>2];f[m+28>>2]=f[a+28>>2];f[m+32>>2]=f[a+32>>2];_=f[a+36>>2]|0;f[m+36>>2]=_;f[m+40>>2]=Z;Z=m+48|0;ga=m+44|0;f[ga>>2]=Z;f[Z>>2]=0;f[m+52>>2]=0;if(_|0){Z=_+12|0;f[Z>>2]=(f[Z>>2]|0)+1}if((f[fa>>2]|0)<3){fa=f[a+44>>2]|0;Z=f[ga>>2]|0;f[Z>>2]=f[fa>>2];f[Z+4>>2]=f[fa+4>>2];break}else{f[da>>2]=0;WO(m,a);break}}else DJ(m,c,-1);while(0);do if((HJ(g)|0)==65536){c=f[g+4>>2]|0;f[o>>2]=f[c>>2];a=o+4|0;da=c+4|0;f[a>>2]=f[da>>2];fa=o+8|0;f[fa>>2]=f[c+8>>2];f[o+12>>2]=f[c+12>>2];f[o+16>>2]=f[c+16>>2];f[o+20>>2]=f[c+20>>2];f[o+24>>2]=f[c+24>>2];f[o+28>>2]=f[c+28>>2];f[o+32>>2]=f[c+32>>2];Z=f[c+36>>2]|0;f[o+36>>2]=Z;f[o+40>>2]=fa;fa=o+48|0;ga=o+44|0;f[ga>>2]=fa;f[fa>>2]=0;f[o+52>>2]=0;if(Z|0){fa=Z+12|0;f[fa>>2]=(f[fa>>2]|0)+1}if((f[da>>2]|0)<3){da=f[c+44>>2]|0;fa=f[ga>>2]|0;f[fa>>2]=f[da>>2];f[fa+4>>2]=f[da+4>>2];break}else{f[a>>2]=0;WO(o,c);break}}else DJ(o,g,-1);while(0);g=f[m>>2]|0;c=f[l>>2]&4088;if(ta){a=i+8|0;f[a>>2]=0;f[a+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=l;AO(l,i,Aa|5,.00392156862745098,0.0)}if(!(g&7)){Aa=i+8|0;f[Aa>>2]=0;f[Aa+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=m;AO(m,i,g&4088|5,.00392156862745098,0.0)}if(ta){f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=o;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[k+24>>2]=0;f[k+28>>2]=0;f[j>>2]=-1056833530;f[j+4>>2]=k;f[j+8>>2]=1;f[j+12>>2]=4;ta=q+8|0;f[ta>>2]=0;f[ta+4>>2]=0;f[q>>2]=33619968;f[q+4>>2]=o;iJ(i,j,q,5);ta=i+8|0;f[ta>>2]=0;f[ta+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=o;AO(o,i,c|5,.00392156862745098,0.0)}c=m+12|0;ta=(f[l+12>>2]|0)-(f[c>>2]|0)+1|0;g=m+8|0;Aa=(f[l+8>>2]|0)-(f[g>>2]|0)+1|0;f[r>>2]=ta;f[r+4>>2]=Aa;_J(d,r,5,-1,0,0);do if((HJ(d)|0)==65536){r=f[d+4>>2]|0;f[q>>2]=f[r>>2];a=q+4|0;da=r+4|0;f[a>>2]=f[da>>2];fa=q+8|0;f[fa>>2]=f[r+8>>2];f[q+12>>2]=f[r+12>>2];f[q+16>>2]=f[r+16>>2];f[q+20>>2]=f[r+20>>2];f[q+24>>2]=f[r+24>>2];f[q+28>>2]=f[r+28>>2];f[q+32>>2]=f[r+32>>2];ga=f[r+36>>2]|0;f[q+36>>2]=ga;f[q+40>>2]=fa;fa=q+48|0;Z=q+44|0;f[Z>>2]=fa;f[fa>>2]=0;f[q+52>>2]=0;if(ga|0){fa=ga+12|0;f[fa>>2]=(f[fa>>2]|0)+1}if((f[da>>2]|0)<3){da=f[r+44>>2]|0;fa=f[Z>>2]|0;f[fa>>2]=f[da>>2];f[fa+4>>2]=f[da+4>>2];break}else{f[a>>2]=0;WO(q,r);break}}else DJ(q,d,-1);while(0);f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=l;SG(t,l,i,1.0);f[s>>2]=1124007936;d=s+4|0;r=s+8|0;a=s+40|0;ca=d;ea=ca+36|0;do{f[ca>>2]=0;ca=ca+4|0}while((ca|0)<(ea|0));f[a>>2]=r;r=s+48|0;da=s+44|0;f[da>>2]=r;f[r>>2]=0;f[s+52>>2]=0;fa=f[t>>2]|0;th[f[(f[fa>>2]|0)+12>>2]&255](fa,t,s,-1);Mi(t);f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=o;SG(w,o,i,1.0);f[v>>2]=1124007936;t=v+4|0;fa=v+8|0;Z=v+40|0;ca=t;ea=ca+36|0;do{f[ca>>2]=0;ca=ca+4|0}while((ca|0)<(ea|0));f[Z>>2]=fa;fa=v+48|0;ga=v+44|0;f[ga>>2]=fa;f[fa>>2]=0;f[v+52>>2]=0;_=f[w>>2]|0;th[f[(f[_>>2]|0)+12>>2]&255](_,w,v,-1);Mi(w);f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=o;SG(y,m,i,1.0);f[x>>2]=1124007936;w=x+4|0;_=x+8|0;Ba=x+40|0;ca=w;ea=ca+36|0;do{f[ca>>2]=0;ca=ca+4|0}while((ca|0)<(ea|0));f[Ba>>2]=_;_=x+48|0;za=x+44|0;f[za>>2]=_;f[_>>2]=0;f[x+52>>2]=0;ra=f[y>>2]|0;th[f[(f[ra>>2]|0)+12>>2]&255](ra,y,x,-1);Mi(y);f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;f[z+16>>2]=0;f[z+20>>2]=0;f[z+24>>2]=0;f[z+28>>2]=0;f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;f[A+12>>2]=0;f[A+16>>2]=0;f[A+20>>2]=0;f[A+24>>2]=0;f[A+28>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=x;f[j>>2]=-1040056314;f[j+4>>2]=z;f[j+8>>2]=1;f[j+12>>2]=4;f[k>>2]=-1040056314;f[k+4>>2]=A;f[k+8>>2]=1;f[k+12>>2]=4;OE(i,j,k,BK()|0);Ya=+p[A>>3];Qa=+p[A+8>>3];Xa=+p[A+16>>3];Ja=+p[A+24>>3];Wa=+p[z>>3];Ia=+p[z+8>>3];Va=+p[z+16>>3];Ua=+p[z+24>>3];Da=(Ya*Ya+Qa*Qa+Xa*Xa+Ja*Ja+(Wa*Wa+Ia*Ia+Va*Va+Ua*Ua))*(+(f[g>>2]|0)*+(f[c>>2]|0));e:do switch(e|0){case 0:{f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=v;SG(C,m,i,1.0);f[B>>2]=1124007936;c=B+4|0;g=B+8|0;z=B+40|0;ca=c;ea=ca+36|0;do{f[ca>>2]=0;ca=ca+4|0}while((ca|0)<(ea|0));f[z>>2]=g;A=B+48|0;y=B+44|0;f[y>>2]=A;f[A>>2]=0;f[B+52>>2]=0;ra=f[C>>2]|0;th[f[(f[ra>>2]|0)+12>>2]&255](ra,C,B,-1);Mi(C);f[D>>2]=1124007936;ra=D+4|0;ya=D+8|0;ma=D+40|0;ca=ra;ea=ca+36|0;do{f[ca>>2]=0;ca=ca+4|0}while((ca|0)<(ea|0));f[ma>>2]=ya;g=D+48|0;Ca=D+44|0;f[Ca>>2]=g;f[g>>2]=0;f[D+52>>2]=0;f[i>>2]=Aa;f[i+4>>2]=ta;VO(D,2,i,5);ba=f[ma>>2]|0;ka=f[ba>>2]|0;f[E>>2]=f[ba+4>>2];f[E+4>>2]=ka;ka=f[D>>2]&4095;f[F>>2]=0;f[F+4>>2]=0;kea(l,B,D,E,ka,F,0.0,0);ka=f[q+40>>2]|0;ba=f[ka>>2]|0;f[G>>2]=f[ka+4>>2];f[G+4>>2]=ba;ba=f[q>>2]&4095;f[H>>2]=0;f[H+4>>2]=0;kea(s,o,q,G,ba,H,0.0,0);HG(i,D,2.0);ba=f[i>>2]|0;Rg[f[(f[ba>>2]|0)+28>>2]&255](ba,i,q);Mi(i);p[I>>3]=Da;ba=I+8|0;f[ba>>2]=0;f[ba+4>>2]=0;f[ba+8>>2]=0;f[ba+12>>2]=0;f[ba+16>>2]=0;f[ba+20>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=q;f[j>>2]=-1056833530;f[j+4>>2]=I;f[j+8>>2]=1;f[j+12>>2]=4;ba=k+8|0;f[ba>>2]=0;f[ba+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=q;MH(i,j,k,BK()|0,-1);ba=D+36|0;ka=f[ba>>2]|0;if(ka|0?(Ha=ka+12|0,ka=f[Ha>>2]|0,f[Ha>>2]=ka+-1,(ka|0)==1):0)XO(D);f[ba>>2]=0;ba=D+16|0;f[ba>>2]=0;f[ba+4>>2]=0;f[ba+8>>2]=0;f[ba+12>>2]=0;if((f[ra>>2]|0)>0){ba=f[ma>>2]|0;ka=0;do{f[ba+(ka<<2)>>2]=0;ka=ka+1|0}while((ka|0)<(f[ra>>2]|0))}ra=f[Ca>>2]|0;if((ra|0)!=(g|0))dX(ra);ra=B+36|0;ka=f[ra>>2]|0;if(ka|0?(ba=ka+12|0,ka=f[ba>>2]|0,f[ba>>2]=ka+-1,(ka|0)==1):0)XO(B);f[ra>>2]=0;ra=B+16|0;f[ra>>2]=0;f[ra+4>>2]=0;f[ra+8>>2]=0;f[ra+12>>2]=0;if((f[c>>2]|0)>0){ra=f[z>>2]|0;ka=0;do{f[ra+(ka<<2)>>2]=0;ka=ka+1|0}while((ka|0)<(f[c>>2]|0))}c=f[y>>2]|0;if((c|0)!=(A|0))dX(c);break}case 3:{if(Da<2.220446049250313e-16){p[i>>3]=1.0;p[i+8>>3]=1.0;p[i+16>>3]=1.0;p[i+24>>3]=1.0;gM(q,i)|0;break e}f[j>>2]=1124007936;c=j+4|0;ka=j+8|0;ra=j+40|0;ca=c;ea=ca+36|0;do{f[ca>>2]=0;ca=ca+4|0}while((ca|0)<(ea|0));f[ra>>2]=ka;A=j+48|0;y=j+44|0;f[y>>2]=A;f[A>>2]=0;f[j+52>>2]=0;f[i>>2]=Aa;f[i+4>>2]=ta;VO(j,2,i,5);z=f[ra>>2]|0;g=f[z>>2]|0;f[J>>2]=f[z+4>>2];f[J+4>>2]=g;g=f[j>>2]&4095;f[M>>2]=0;f[M+4>>2]=0;kea(s,v,j,J,g,M,0.0,0);g=f[q+40>>2]|0;z=f[g>>2]|0;f[N>>2]=f[g+4>>2];f[N+4>>2]=z;z=f[q>>2]&4095;f[O>>2]=0;f[O+4>>2]=0;kea(l,x,q,N,z,O,0.0,0);f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=j;z=k+8|0;f[z>>2]=0;f[z+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=j;NQ(i,k);KG(B,1.0,j);f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=-1056571392;f[k+4>>2]=B;SG(i,q,k,1.0);z=f[i>>2]|0;th[f[(f[z>>2]|0)+12>>2]&255](z,i,q,-1);Mi(i);Mi(B);Ua=+L(+Da);z=i+8|0;f[z>>2]=0;f[z+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=q;AO(q,i,-1,1.0/Ua,0.0);z=j+36|0;g=f[z>>2]|0;if(g|0?(Ca=g+12|0,g=f[Ca>>2]|0,f[Ca>>2]=g+-1,(g|0)==1):0)XO(j);f[z>>2]=0;z=j+16|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;if((f[c>>2]|0)>0){z=f[ra>>2]|0;g=0;do{f[z+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[c>>2]|0))}c=f[y>>2]|0;if((c|0)!=(A|0))dX(c);break}default:{f[i>>2]=0;f[i+4>>2]=0;EP(-213,i,224593,224300,841);KV(i)}}while(0);i=x+36|0;j=f[i>>2]|0;if(j|0?(B=j+12|0,j=f[B>>2]|0,f[B>>2]=j+-1,(j|0)==1):0)XO(x);f[i>>2]=0;i=x+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[w>>2]|0)>0){i=f[Ba>>2]|0;Ba=0;do{f[i+(Ba<<2)>>2]=0;Ba=Ba+1|0}while((Ba|0)<(f[w>>2]|0))}w=f[za>>2]|0;if((w|0)!=(_|0))dX(w);w=v+36|0;_=f[w>>2]|0;if(_|0?(za=_+12|0,_=f[za>>2]|0,f[za>>2]=_+-1,(_|0)==1):0)XO(v);f[w>>2]=0;w=v+16|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;if((f[t>>2]|0)>0){w=f[Z>>2]|0;Z=0;do{f[w+(Z<<2)>>2]=0;Z=Z+1|0}while((Z|0)<(f[t>>2]|0))}t=f[ga>>2]|0;if((t|0)!=(fa|0))dX(t);t=s+36|0;fa=f[t>>2]|0;if(fa|0?(ga=fa+12|0,fa=f[ga>>2]|0,f[ga>>2]=fa+-1,(fa|0)==1):0)XO(s);f[t>>2]=0;t=s+16|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;if((f[d>>2]|0)>0){t=f[a>>2]|0;a=0;do{f[t+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[d>>2]|0))}d=f[da>>2]|0;if((d|0)!=(r|0))dX(d);d=q+36|0;r=f[d>>2]|0;do if(r|0){da=r+12|0;a=f[da>>2]|0;f[da>>2]=a+-1;if((a|0)!=1)break;XO(q)}while(0);f[d>>2]=0;d=q+16|0;r=q+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[r>>2]|0)>0){d=f[q+40>>2]|0;a=0;do{f[d+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[r>>2]|0))}r=f[q+44>>2]|0;if((r|0)!=(q+48|0))dX(r);r=o+36|0;q=f[r>>2]|0;do if(q|0){a=q+12|0;d=f[a>>2]|0;f[a>>2]=d+-1;if((d|0)!=1)break;XO(o)}while(0);f[r>>2]=0;r=o+16|0;q=o+4|0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;if((f[q>>2]|0)>0){r=f[o+40>>2]|0;d=0;do{f[r+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[q>>2]|0))}q=f[o+44>>2]|0;if((q|0)!=(o+48|0))dX(q);q=m+36|0;o=f[q>>2]|0;do if(o|0){d=o+12|0;r=f[d>>2]|0;f[d>>2]=r+-1;if((r|0)!=1)break;XO(m)}while(0);f[q>>2]=0;q=m+16|0;o=m+4|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;if((f[o>>2]|0)>0){q=f[m+40>>2]|0;r=0;do{f[q+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[o>>2]|0))}o=f[m+44>>2]|0;if((o|0)!=(m+48|0))dX(o);o=l+36|0;m=f[o>>2]|0;do if(m|0){r=m+12|0;q=f[r>>2]|0;f[r>>2]=q+-1;if((q|0)!=1)break;XO(l)}while(0);f[o>>2]=0;o=l+16|0;m=l+4|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;if((f[m>>2]|0)>0){o=f[l+40>>2]|0;q=0;do{f[o+(q<<2)>>2]=0;q=q+1|0}while((q|0)<(f[m>>2]|0))}m=f[l+44>>2]|0;if((m|0)!=(l+48|0))dX(m)}if(!(f[P+4>>2]|0)){u=h;return}u=h;return}function mea(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;e=d;if(!((a|0)!=0&(c|0)!=0)){f[e>>2]=0;f[e+4>>2]=0;EP(-27,e,224930,224953,60);KV(e)}if(!((f[a+28>>2]|0)==1?(f[a+4>>2]|0)>=64:0)){f[e>>2]=0;f[e+4>>2]=0;EP(-201,e,224930,224953,63);KV(e)}EM(a,c,0);e=a+56|0;a=f[e+4>>2]|0;g=c+36|0;f[g>>2]=f[e>>2];f[g+4>>2]=a;b[c+44>>0]=1;b[c+45>>0]=0;b[c+46>>0]=1;b[c+47>>0]=-1;b[c+48>>0]=0;a=c+49|0;b[a>>0]=-1;b[a+1>>0]=-1>>8;b[a+2>>0]=-1>>16;b[a+3>>0]=-1>>24;b[c+53>>0]=0;b[c+54>>0]=-1;b[c+55>>0]=1;b[c+56>>0]=0;b[c+57>>0]=1;b[c+58>>0]=1;b[c+59>>0]=1;u=d;return}function nea(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;k=u;u=u+48|0;l=k+8|0;m=k;if(!c){f[l>>2]=0;f[l+4>>2]=0;EP(-27,l,225013,224953,188);KV(l)}n=XV(a,l,0,0)|0;l=f[n>>2]|0;a=(l&4095|0)==4;o=(e|0)==2&a?4:e;if(!((l&4094|0)==0&(o|0)<4|a&(o|0)==4)){f[m>>2]=0;f[m+4>>2]=0;p=JV(m,119)|0;q=225038;r=p+119|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));EP(-210,m,225013,224953,199);KV(m)}a=f[n+24>>2]|0;l=f[n+20>>2]|0;e=f[n+4>>2]|0;s=f[n+16>>2]|0;if(g>>>0>4){f[m>>2]=0;f[m+4>>2]=0;EP(-211,m,225013,224953,206);KV(m)}t=(g|0)==0;if(((t?64:88)|0)>(d|0)){f[m>>2]=0;f[m+4>>2]=0;EP(-201,m,225013,224953,209);KV(m)}v=eX(788)|0;FVa(v+8|0,0,780)|0;w=v+4|0;f[w>>2]=c;f[v>>2]=c;f[v+40>>2]=s;x=s+e|0;f[v+44>>2]=x;f[v+48>>2]=e;y=a+-1|0;f[v+52>>2]=y;z=l+-1|0;f[v+56>>2]=z;f[v+244>>2]=o;A=v+60|0;f[A>>2]=h;f[A+4>>2]=i;f[v+72>>2]=1;f[v+68>>2]=1;f[v+76>>2]=0;f[v+80>>2]=1;f[v+84>>2]=2;i=v+180|0;f[v+148>>2]=i;f[v+176>>2]=1;f[v+140>>2]=0;f[v+144>>2]=0;A=v+152|0;f[A>>2]=0;f[A+4>>2]=0;f[v+160>>2]=a;f[v+164>>2]=l;f[v+88>>2]=0;f[v+248>>2]=0;f[i>>2]=32768;i=v+236|0;f[i>>2]=g;f[v+240>>2]=g;if((g+-3|0)>>>0<2){f[i>>2]=0;B=0}else B=g;i=(B|0)==0;A=v+252|0;h=i?20480:20492;C=i?1:8;f[A>>2]=h;f[v+256>>2]=(B|0)==(g|0)?d:i?64:88;f[v+260>>2]=C;f[v+268>>2]=d;d=v+264|0;f[d>>2]=t?h:20492;f[v+272>>2]=t?C:8;f[A>>2]=h;f[d>>2]=t?20480:20492;uM(c,v+16|0);if((g|0)>2){g=rM(f[w>>2]|0)|0;f[v>>2]=g}if((o|0)>1){o=rM(f[w>>2]|0)|0;f[v+8>>2]=o;w=UM(0,64,44,o)|0;f[v+12>>2]=w}if((e|0)<=-1){f[m>>2]=0;f[m+4>>2]=0;p=JV(m,9)|0;q=225158;r=p+9|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));EP(-215,m,225013,224953,289);KV(m)}if((l|0)<=0){f[m>>2]=0;f[m+4>>2]=0;p=JV(m,16)|0;q=225168;r=p+16|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));EP(-215,m,225013,224953,290);KV(m)}if((j|0?(j=f[n>>2]|0,m=(j>>>3&511)+1<<(47696>>>(j<<1&14)&3),j=X(m,a)|0,FVa(s|0,0,j|0)|0,FVa(s+(X(e,z)|0)|0,0,j|0)|0,(l|0)>2):0)?(l=X(m,y)|0,(m|0)>0):0){y=1;j=x;while(1){x=0;do{b[j+(x+l)>>0]=0;b[j+x>>0]=0;x=x+1|0}while((x|0)!=(m|0));y=y+1|0;if((y|0)==(z|0))break;else j=j+e|0}}if((f[n>>2]&4095|0)==4){u=k;return v|0}+Z_(n,n,0.0,1.0,0);u=k;return v|0}function oea(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0;c=u;u=u+128|0;d=c+104|0;e=c+88|0;g=c+80|0;h=c+72|0;i=c+8|0;j=c;if(!a){f[d>>2]=0;f[d+4>>2]=0;EP(-27,d,225185,224953,1012);KV(d)}k=a+48|0;if((f[k>>2]|0)<=-1){f[d>>2]=0;f[d+4>>2]=0;l=JV(d,22)|0;m=225203;n=l+22|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-215,d,225185,224953,1018);KV(d)}o=a+88|0;p=f[o>>2]|0;if(p|0){q=a+248|0;if(f[q>>2]|0){r=a+4|0;uM(f[r>>2]|0,d);if((f[d>>2]|0)==(f[a+32>>2]|0)?(f[d+4>>2]|0)==(f[a+36>>2]|0):0)vM(f[r>>2]|0,a+24|0);f[q>>2]=0}q=f[p+12>>2]|0;if(q|0)dN(q,f[(f[p+8>>2]|0)+12>>2]|0,a+180|0);f[o>>2]=0}p=f[a+40>>2]|0;q=a+44|0;r=f[q>>2]|0;s=f[k>>2]|0;k=s>>>2;t=a+68|0;v=f[t>>2]|0;w=a+72|0;x=f[w>>2]|0;y=f[a+52>>2]|0;z=f[a+56>>2]|0;A=f[a+244>>2]|0;B=a+76|0;C=a+80|0;D=a+84|0;E=v+-1|0;F=(A|0)==4;if(F){G=-1073741824;H=f[r+(E<<2)>>2]|0}else{G=-2;H=b[r+E>>0]|0}if((x|0)>=(z|0)){I=0;u=c;return I|0}E=~G;J=(A|0)==0;K=a+136|0;L=a+4|0;M=a+24|0;N=a+252|0;O=a+256|0;P=a+260|0;Q=a+92|0;R=a+60|0;S=a+64|0;T=a+236|0;U=0-s|0;V=1-s|0;W=i+4|0;Y=i+8|0;Z=~s;_=i+12|0;$=i+16|0;aa=s+-1|0;ba=i+20|0;ca=i+24|0;da=s+1|0;ea=i+28|0;fa=i+32|0;ga=d+12|0;ha=d+20|0;ia=e+4|0;ja=a+240|0;ka=a+268|0;la=a+12|0;ma=0-k|0;na=1-k|0;oa=~k;pa=k+-1|0;qa=k+1|0;ra=d+12|0;sa=d+20|0;ta=h+4|0;ua=d+12|0;va=d+20|0;wa=h+4|0;xa=(A|0)<2;ya=d+4|0;za=d+4|0;Aa=d+4|0;Ba=F?p:0;Ca=(Ba|0)!=0;Da=H;H=f[D>>2]|0;Ea=r;r=x;x=v;v=f[B>>2]|0;Fa=f[C>>2]|0;a:while(1){Ga=F?Ea:0;b:do if((x|0)<(y|0)){Ha=(Ga|0)!=0;Ia=X(Fa,s)|0;Ja=X(Fa,k)|0;Ka=0;La=Da;Ma=H;Na=x;Oa=v;while(1){Pa=(Na|0)<(y|0);c:do if(Ha)if(Pa){Qa=La;Ra=Na;while(1){Sa=f[Ga+(Ra<<2)>>2]|0;if((Sa|0)!=(Qa|0)?(Sa^Qa)&E|0:0){Ta=Sa;Ua=Qa;Va=Ra;break c}Wa=Ra+1|0;if((Wa|0)<(y|0)){Qa=Sa;Ra=Wa}else{Ta=Sa;Ua=Sa;Va=Wa;break}}}else{Ta=Ka;Ua=La;Va=Na}else if(Pa){Ra=Na;while(1){Qa=b[Ea+Ra>>0]|0;if((La|0)!=(Qa|0)){Ta=Qa;Ua=La;Va=Ra;break c}Qa=Ra+1|0;if((Qa|0)<(y|0))Ra=Qa;else{Ta=La;Ua=La;Va=Qa;break}}}else{Ta=Ka;Ua=La;Va=Na}while(0);if((Va|0)>=(y|0)){Xa=Ma;break b}if(Ha){Pa=Ua&G;if(!(((Ua|0)==0|(Pa|0)!=0)&(Ta&G|0)==0))if(!((Ta|Ua)&G)){Ya=Pa;Za=35}else{_a=Ta;$a=Ma;ab=Oa}else{bb=0;cb=Oa;Za=36}}else if(!((Ua|0)==0&(Ta|0)==1))if((Ua|0)<1|(Ta|0)!=0){_a=Ta;$a=Ma;ab=Oa}else{Ya=Ua&G;Za=35}else{bb=0;cb=Oa;Za=36}if((Za|0)==35){Za=0;bb=1;cb=(Ya|0)==0?Oa:Va+-1|0;Za=36}d:do if((Za|0)==36){Za=0;e:do if(J){if(bb|0){_a=Ta;$a=Ma;ab=cb;break d}if((b[p+(cb+Ia)>>0]|0)>0){_a=Ta;$a=Ma;ab=cb;break d}else{db=K;eb=Va;fb=1}}else{Pa=Va-bb|0;if(!xa){if(!bb)switch(A|0){case 2:case 4:{db=K;eb=Pa;fb=0;break e;break}default:{}}if((cb|0)>=1){if(Ca)gb=f[Ba+(cb+Ja<<2)>>2]|0;else gb=b[p+(cb+Ia)>>0]|0;Ra=f[a+276+((gb&127)<<2)>>2]|0;if(!Ra){Za=78;break a}Qa=Ga+(cb<<2)|0;Wa=Ea+cb|0;Sa=Ra;Ra=0;f:while(1){do if((cb-(f[Sa+16>>2]|0)|0)>>>0<(f[Sa+24>>2]|0)>>>0){if((Fa-(f[Sa+20>>2]|0)|0)>>>0>=(f[Sa+28>>2]|0)>>>0){hb=Ra;break}if(!Ra){hb=Sa;break}ib=f[Ra+36>>2]|0;if(Ca){jb=Ba+((X(ib,k)|0)<<2)|0;kb=jb+(f[Ra+32>>2]<<2)|0;jb=f[Ra+40>>2]|0;lb=f[kb>>2]&1073741823;f[i>>2]=1;f[W>>2]=na;f[Y>>2]=ma;f[_>>2]=oa;f[$>>2]=-1;f[ba>>2]=pa;f[ca>>2]=k;f[ea>>2]=qa;f[fa>>2]=f[i>>2];f[fa+4>>2]=f[i+4>>2];f[fa+8>>2]=f[i+8>>2];f[fa+12>>2]=f[i+12>>2];f[fa+16>>2]=f[i+16>>2];f[fa+20>>2]=f[i+20>>2];f[fa+24>>2]=f[i+24>>2];f[fa+28>>2]=f[i+28>>2];mb=jb|0?0:4;jb=mb;do{jb=jb+7&7;nb=kb+(f[i+(jb<<2)>>2]<<2)|0;ob=(jb|0)==(mb|0)}while(!(ob|(f[nb>>2]&1073741823|0)==(lb|0)));g:do if(ob)pb=kb;else{mb=kb;qb=jb;while(1){rb=qb;while(1){sb=rb+1|0;tb=mb+(f[i+(sb<<2)>>2]<<2)|0;if(!tb){f[d>>2]=0;f[za>>2]=0;ub=JV(d,8)|0;vb=ub;b[vb>>0]=105;b[vb+1>>0]=52;b[vb+2>>0]=32;b[vb+3>>0]=33;vb=ub+4|0;b[vb>>0]=61;b[vb+1>>0]=32;b[vb+2>>0]=48;b[vb+3>>0]=76;EP(-215,d,225226,224953,857);KV(d)}if((rb|0)<14?(f[tb>>2]&1073741823|0)!=(lb|0):0)rb=sb;else break}if((mb|0)==(Qa|0)){Za=60;break f}if((mb|0)==(nb|0)&(tb|0)==(kb|0)){pb=nb;break g}mb=tb;qb=rb+5&7}}while(0);if((pb|0)==(Qa|0)){wb=Ra;break f}else{hb=Sa;break}}else{kb=p+(X(ib,s)|0)|0;lb=kb+(f[Ra+32>>2]|0)|0;kb=f[Ra+40>>2]|0;f[i>>2]=1;f[W>>2]=V;f[Y>>2]=U;f[_>>2]=Z;f[$>>2]=-1;f[ba>>2]=aa;f[ca>>2]=s;f[ea>>2]=da;f[fa>>2]=f[i>>2];f[fa+4>>2]=f[i+4>>2];f[fa+8>>2]=f[i+8>>2];f[fa+12>>2]=f[i+12>>2];f[fa+16>>2]=f[i+16>>2];f[fa+20>>2]=f[i+20>>2];f[fa+24>>2]=f[i+24>>2];f[fa+28>>2]=f[i+28>>2];jb=kb|0?0:4;kb=jb;do{kb=kb+7&7;xb=lb+(f[i+(kb<<2)>>2]|0)|0;yb=(kb|0)==(jb|0)}while(!((b[xb>>0]|0)!=0|yb));h:do if(yb)zb=lb;else{jb=lb;ib=kb;while(1){qb=ib;while(1){mb=qb+1|0;Ab=jb+(f[i+(mb<<2)>>2]|0)|0;if(!Ab){f[d>>2]=0;f[Aa>>2]=0;sb=JV(d,8)|0;vb=sb;b[vb>>0]=105;b[vb+1>>0]=52;b[vb+2>>0]=32;b[vb+3>>0]=33;vb=sb+4|0;b[vb>>0]=61;b[vb+1>>0]=32;b[vb+2>>0]=48;b[vb+3>>0]=76;EP(-215,d,225246,224953,668);KV(d)}if((qb|0)<14&(b[Ab>>0]|0)==0)qb=mb;else break}if((jb|0)==(Wa|0)){Za=72;break f}if((jb|0)==(xb|0)&(Ab|0)==(lb|0)){zb=xb;break h}jb=Ab;ib=qb+5&7}}while(0);if((zb|0)==(Wa|0)){wb=Ra;break f}else{hb=Sa;break}}}else hb=Ra;while(0);Sa=f[Sa+4>>2]|0;if(!Sa){wb=hb;break}else Ra=hb}if((Za|0)==60){Za=0;wb=Ra}else if((Za|0)==72){Za=0;wb=Ra}if(!wb){Za=78;break a}if((f[wb+40>>2]|0)==(bb|0)){Sa=f[wb+8>>2]|0;Bb=(Sa|0)==0?K:Sa}else Bb=wb;if(!(f[Bb+12>>2]|0)){_a=Ta;$a=Ma;ab=cb;break d}else{db=Bb;eb=Pa;fb=0}}else{db=K;eb=Pa;fb=0}}else{db=K;eb=Pa;fb=1}}while(0);uM(f[L>>2]|0,M);Sa=zM(f[N>>2]|0,f[O>>2]|0,f[P>>2]|0,f[a>>2]|0)|0;f[Sa>>2]=f[Sa>>2]|(bb|0?32768:0);if(fb){Wa=Ea+Va+(0-bb)|0;Qa=(f[R>>2]|0)+eb|0;lb=(f[S>>2]|0)+r|0;kb=f[T>>2]|0;f[i>>2]=1;f[W>>2]=V;f[Y>>2]=U;f[_>>2]=Z;f[$>>2]=-1;f[ba>>2]=aa;f[ca>>2]=s;f[ea>>2]=da;f[fa>>2]=f[i>>2];f[fa+4>>2]=f[i+4>>2];f[fa+8>>2]=f[i+8>>2];f[fa+12>>2]=f[i+12>>2];f[fa+16>>2]=f[i+16>>2];f[fa+20>>2]=f[i+20>>2];f[fa+24>>2]=f[i+24>>2];f[fa+28>>2]=f[i+28>>2];GM(Sa,d);ib=(kb|0)<1;if(ib){jb=Sa+56|0;f[jb>>2]=Qa;f[jb+4>>2]=lb}jb=(f[Sa>>2]|0)>>>13&4^4;rb=jb;do{rb=rb+7&7;Cb=Wa+(f[i+(rb<<2)>>2]|0)|0;Db=(rb|0)==(jb|0)}while(!((b[Cb>>0]|0)!=0|Db));i:do if(Db){b[Wa>>0]=-126;if((kb|0)>0){jb=f[ga>>2]|0;if(jb>>>0<(f[ha>>2]|0)>>>0)Eb=jb;else{KM(d);Eb=f[ga>>2]|0}jb=Eb;mb=jb;b[mb>>0]=Qa;b[mb+1>>0]=Qa>>8;b[mb+2>>0]=Qa>>16;b[mb+3>>0]=Qa>>24;mb=jb+4|0;b[mb>>0]=lb;b[mb+1>>0]=lb>>8;b[mb+2>>0]=lb>>16;b[mb+3>>0]=lb>>24;f[ga>>2]=(f[ga>>2]|0)+8;JM(d)|0;Za=132}else Za=131}else{if(ib){mb=Wa;jb=rb;while(1){vb=jb;while(1){Fb=vb+1|0;Gb=mb+(f[i+(Fb<<2)>>2]|0)|0;if(!Gb){f[e>>2]=0;f[ia>>2]=0;sb=JV(e,8)|0;ub=sb;b[ub>>0]=105;b[ub+1>>0]=52;b[ub+2>>0]=32;b[ub+3>>0]=33;ub=sb+4|0;b[ub>>0]=61;b[ub+1>>0]=32;b[ub+2>>0]=48;b[ub+3>>0]=76;EP(-215,e,225276,224953,572);KV(e)}if((vb|0)<14&(b[Gb>>0]|0)==0)vb=Fb;else break}ub=Fb&7;if((ub+-1|0)>>>0>=jb>>>0){if((b[mb>>0]|0)==1){Hb=2;Za=113}}else{Hb=-126;Za=113}if((Za|0)==113){Za=0;b[mb>>0]=Hb}sb=f[ga>>2]|0;if(sb>>>0<(f[ha>>2]|0)>>>0)Ib=sb;else{KM(d);Ib=f[ga>>2]|0}b[Ib>>0]=ub;f[ga>>2]=(f[ga>>2]|0)+1;if((mb|0)==(Cb|0)&(Gb|0)==(Wa|0)){Za=131;break i}mb=Gb;jb=vb+5&7}}if((kb|0)==1){jb=Wa;mb=rb;Pa=Qa;Ra=lb;while(1){ub=mb;while(1){Jb=ub+1|0;Kb=jb+(f[i+(Jb<<2)>>2]|0)|0;if(!Kb){f[e>>2]=0;f[ia>>2]=0;sb=JV(e,8)|0;Lb=sb;b[Lb>>0]=105;b[Lb+1>>0]=52;b[Lb+2>>0]=32;b[Lb+3>>0]=33;Lb=sb+4|0;b[Lb>>0]=61;b[Lb+1>>0]=32;b[Lb+2>>0]=48;b[Lb+3>>0]=76;EP(-215,e,225276,224953,572);KV(e)}if((ub|0)<14&(b[Kb>>0]|0)==0)ub=Jb;else break}vb=Jb&7;if((vb+-1|0)>>>0>=mb>>>0){if((b[jb>>0]|0)==1){Mb=2;Za=102}}else{Mb=-126;Za=102}if((Za|0)==102){Za=0;b[jb>>0]=Mb}Lb=f[ga>>2]|0;if(Lb>>>0<(f[ha>>2]|0)>>>0)Nb=Lb;else{KM(d);Nb=f[ga>>2]|0}Lb=Nb;sb=Lb;b[sb>>0]=Pa;b[sb+1>>0]=Pa>>8;b[sb+2>>0]=Pa>>16;b[sb+3>>0]=Pa>>24;sb=Lb+4|0;b[sb>>0]=Ra;b[sb+1>>0]=Ra>>8;b[sb+2>>0]=Ra>>16;b[sb+3>>0]=Ra>>24;f[ga>>2]=(f[ga>>2]|0)+8;if((jb|0)==(Cb|0)&(Kb|0)==(Wa|0)){Za=131;break i}jb=Kb;mb=ub+5&7;Pa=(f[56836+(vb<<3)>>2]|0)+Pa|0;Ra=(f[56836+(vb<<3)+4>>2]|0)+Ra|0}}Ra=Wa;Pa=rb^4;mb=rb;jb=Qa;vb=lb;while(1){sb=mb;while(1){Ob=sb+1|0;Pb=Ra+(f[i+(Ob<<2)>>2]|0)|0;if(!Pb){f[e>>2]=0;f[ia>>2]=0;Lb=JV(e,8)|0;Qb=Lb;b[Qb>>0]=105;b[Qb+1>>0]=52;b[Qb+2>>0]=32;b[Qb+3>>0]=33;Qb=Lb+4|0;b[Qb>>0]=61;b[Qb+1>>0]=32;b[Qb+2>>0]=48;b[Qb+3>>0]=76;EP(-215,e,225276,224953,572);KV(e)}if((sb|0)<14&(b[Pb>>0]|0)==0)sb=Ob;else break}ub=Ob&7;if((ub+-1|0)>>>0>=mb>>>0){if((b[Ra>>0]|0)==1){Rb=2;Za=124}}else{Rb=-126;Za=124}if((Za|0)==124){Za=0;b[Ra>>0]=Rb}if((ub|0)==(Pa|0))Sb=Pa;else{Qb=f[ga>>2]|0;if(Qb>>>0<(f[ha>>2]|0)>>>0)Tb=Qb;else{KM(d);Tb=f[ga>>2]|0}Qb=Tb;Lb=Qb;b[Lb>>0]=jb;b[Lb+1>>0]=jb>>8;b[Lb+2>>0]=jb>>16;b[Lb+3>>0]=jb>>24;Lb=Qb+4|0;b[Lb>>0]=vb;b[Lb+1>>0]=vb>>8;b[Lb+2>>0]=vb>>16;b[Lb+3>>0]=vb>>24;f[ga>>2]=(f[ga>>2]|0)+8;Sb=ub}if((Ra|0)==(Cb|0)&(Pb|0)==(Wa|0)){Za=131;break i}Ra=Pb;Pa=Sb;mb=sb+5&7;jb=(f[56836+(ub<<3)>>2]|0)+jb|0;vb=(f[56836+(ub<<3)+4>>2]|0)+vb|0}}while(0);if((Za|0)==131?(Za=0,JM(d)|0,kb|0):0)Za=132;if((Za|0)==132){Za=0;J9(e,Sa,1)}Ub=Q;Vb=Ma}else{f[j>>2]=0;VM(f[la>>2]|0,0,j)|0;Wa=f[j>>2]|0;if(Ha){lb=f[Ga+(eb<<2)>>2]&127;Qa=Ga+(Va<<2)+(0-bb<<2)|0;rb=(f[R>>2]|0)+eb|0;ib=(f[S>>2]|0)+r|0;vb=f[T>>2]|0;f[e>>2]=0;f[g>>2]=0;jb=f[Qa>>2]|0;mb=jb&1073741823;Pa=mb|1073741824;Ra=jb|-1073741824;f[i>>2]=1;f[W>>2]=na;f[Y>>2]=ma;f[_>>2]=oa;f[$>>2]=-1;f[ba>>2]=pa;f[ca>>2]=k;f[ea>>2]=qa;f[fa>>2]=f[i>>2];f[fa+4>>2]=f[i+4>>2];f[fa+8>>2]=f[i+8>>2];f[fa+12>>2]=f[i+12>>2];f[fa+16>>2]=f[i+16>>2];f[fa+20>>2]=f[i+20>>2];f[fa+24>>2]=f[i+24>>2];f[fa+28>>2]=f[i+28>>2];GM(Sa,d);jb=(vb|0)<1;if(jb){ub=Sa+56|0;f[ub>>2]=rb;f[ub+4>>2]=ib}f[g>>2]=rb;f[e>>2]=rb;ub=(f[Sa>>2]|0)>>>13&4^4;Lb=ub;do{Lb=Lb+7&7;Wb=Qa+(f[i+(Lb<<2)>>2]<<2)|0;Xb=(Lb|0)==(ub|0)}while(!(Xb|(f[Wb>>2]&1073741823|0)==(mb|0)));j:do if(!Xb){ub=Lb^4;if(jb){kb=Qa;Qb=ub;Yb=Lb;Zb=rb;_b=ib;$b=ib;ac=ib;while(1){bc=Yb;while(1){cc=bc+1|0;dc=kb+(f[i+(cc<<2)>>2]<<2)|0;if(!dc){f[h>>2]=0;f[ta>>2]=0;ec=JV(h,8)|0;fc=ec;b[fc>>0]=105;b[fc+1>>0]=52;b[fc+2>>0]=32;b[fc+3>>0]=33;fc=ec+4|0;b[fc>>0]=61;b[fc+1>>0]=32;b[fc+2>>0]=48;b[fc+3>>0]=76;EP(-215,h,225292,224953,941);KV(h)}if((bc|0)<14?(f[dc>>2]&1073741823|0)!=(mb|0):0)bc=cc;else break}sb=cc&7;if((sb+-1|0)>>>0>=Yb>>>0){if((f[kb>>2]|0)==(mb|0)){gc=Pa;Za=169}}else{gc=Ra;Za=169}if((Za|0)==169){Za=0;f[kb>>2]=gc}fc=f[ra>>2]|0;if(fc>>>0<(f[sa>>2]|0)>>>0)hc=fc;else{KM(d);hc=f[ra>>2]|0}b[hc>>0]=sb;f[ra>>2]=(f[ra>>2]|0)+1;if((sb|0)==(Qb|0)){ic=_b;jc=$b}else{if((Zb|0)>=(f[e>>2]|0)){if((Zb|0)>(f[g>>2]|0)){kc=g;Za=175}}else{kc=e;Za=175}if((Za|0)==175){Za=0;f[kc>>2]=Zb}fc=(ac|0)<(_b|0);ic=fc?ac:_b;jc=fc?$b:(ac|0)>($b|0)?ac:$b}if((kb|0)==(Wb|0)&(dc|0)==(Qa|0)){lc=ic;mc=jc;break j}kb=dc;Qb=sb;Yb=bc+5&7;Zb=(f[56836+(sb<<3)>>2]|0)+Zb|0;_b=ic;$b=jc;ac=(f[56836+(sb<<3)+4>>2]|0)+ac|0}}if((vb|0)==1){ac=Qa;$b=ub;_b=Lb;Zb=rb;Yb=ib;Qb=ib;kb=ib;while(1){sb=_b;while(1){nc=sb+1|0;oc=ac+(f[i+(nc<<2)>>2]<<2)|0;if(!oc){f[h>>2]=0;f[ta>>2]=0;fc=JV(h,8)|0;ec=fc;b[ec>>0]=105;b[ec+1>>0]=52;b[ec+2>>0]=32;b[ec+3>>0]=33;ec=fc+4|0;b[ec>>0]=61;b[ec+1>>0]=32;b[ec+2>>0]=48;b[ec+3>>0]=76;EP(-215,h,225292,224953,941);KV(h)}if((sb|0)<14?(f[oc>>2]&1073741823|0)!=(mb|0):0)sb=nc;else break}bc=nc&7;if((bc+-1|0)>>>0>=_b>>>0){if((f[ac>>2]|0)==(mb|0)){pc=Pa;Za=153}}else{pc=Ra;Za=153}if((Za|0)==153){Za=0;f[ac>>2]=pc}ec=f[ra>>2]|0;if(ec>>>0<(f[sa>>2]|0)>>>0)qc=ec;else{KM(d);qc=f[ra>>2]|0}ec=qc;fc=ec;b[fc>>0]=Zb;b[fc+1>>0]=Zb>>8;b[fc+2>>0]=Zb>>16;b[fc+3>>0]=Zb>>24;fc=ec+4|0;b[fc>>0]=kb;b[fc+1>>0]=kb>>8;b[fc+2>>0]=kb>>16;b[fc+3>>0]=kb>>24;f[ra>>2]=(f[ra>>2]|0)+8;if((bc|0)==($b|0)){rc=Yb;sc=Qb}else{if((Zb|0)>=(f[e>>2]|0)){if((Zb|0)>(f[g>>2]|0)){tc=g;Za=159}}else{tc=e;Za=159}if((Za|0)==159){Za=0;f[tc>>2]=Zb}fc=(kb|0)<(Yb|0);rc=fc?kb:Yb;sc=fc?Qb:(kb|0)>(Qb|0)?kb:Qb}if((ac|0)==(Wb|0)&(oc|0)==(Qa|0)){lc=rc;mc=sc;break j}ac=oc;$b=bc;_b=sb+5&7;Zb=(f[56836+(bc<<3)>>2]|0)+Zb|0;Yb=rc;Qb=sc;kb=(f[56836+(bc<<3)+4>>2]|0)+kb|0}}else{kb=Qa;Qb=ub;Yb=Lb;Zb=rb;_b=ib;$b=ib;ac=ib;while(1){bc=Yb;while(1){uc=bc+1|0;vc=kb+(f[i+(uc<<2)>>2]<<2)|0;if(!vc){f[h>>2]=0;f[ta>>2]=0;fc=JV(h,8)|0;ec=fc;b[ec>>0]=105;b[ec+1>>0]=52;b[ec+2>>0]=32;b[ec+3>>0]=33;ec=fc+4|0;b[ec>>0]=61;b[ec+1>>0]=32;b[ec+2>>0]=48;b[ec+3>>0]=76;EP(-215,h,225292,224953,941);KV(h)}if((bc|0)<14?(f[vc>>2]&1073741823|0)!=(mb|0):0)bc=uc;else break}sb=uc&7;if((sb+-1|0)>>>0>=Yb>>>0){if((f[kb>>2]|0)==(mb|0)){wc=Pa;Za=185}}else{wc=Ra;Za=185}if((Za|0)==185){Za=0;f[kb>>2]=wc}if((sb|0)==(Qb|0)){xc=_b;yc=$b}else{ec=f[ra>>2]|0;if(ec>>>0<(f[sa>>2]|0)>>>0)zc=ec;else{KM(d);zc=f[ra>>2]|0}ec=zc;fc=ec;b[fc>>0]=Zb;b[fc+1>>0]=Zb>>8;b[fc+2>>0]=Zb>>16;b[fc+3>>0]=Zb>>24;fc=ec+4|0;b[fc>>0]=ac;b[fc+1>>0]=ac>>8;b[fc+2>>0]=ac>>16;b[fc+3>>0]=ac>>24;f[ra>>2]=(f[ra>>2]|0)+8;if((Zb|0)>=(f[e>>2]|0)){if((Zb|0)>(f[g>>2]|0)){Ac=g;Za=191}}else{Ac=e;Za=191}if((Za|0)==191){Za=0;f[Ac>>2]=Zb}fc=(ac|0)<(_b|0);xc=fc?ac:_b;yc=fc?$b:(ac|0)>($b|0)?ac:$b}if((kb|0)==(Wb|0)&(vc|0)==(Qa|0)){lc=xc;mc=yc;break j}kb=vc;Qb=sb;Yb=bc+5&7;Zb=(f[56836+(sb<<3)>>2]|0)+Zb|0;_b=xc;$b=yc;ac=(f[56836+(sb<<3)+4>>2]|0)+ac|0}}}else{f[Qa>>2]=Ra;if((vb|0)<=0){lc=ib;mc=ib;break}ac=f[ra>>2]|0;if(ac>>>0<(f[sa>>2]|0)>>>0)Bc=ac;else{KM(d);Bc=f[ra>>2]|0}ac=Bc;$b=ac;b[$b>>0]=rb;b[$b+1>>0]=rb>>8;b[$b+2>>0]=rb>>16;b[$b+3>>0]=rb>>24;$b=ac+4|0;b[$b>>0]=ib;b[$b+1>>0]=ib>>8;b[$b+2>>0]=ib>>16;b[$b+3>>0]=ib>>24;f[ra>>2]=(f[ra>>2]|0)+8;lc=ib;mc=ib}while(0);ib=f[e>>2]|0;rb=1-ib+(f[g>>2]|0)|0;f[g>>2]=rb;Ra=mc+1-lc|0;JM(d)|0;if(vb|0){f[Sa+56>>2]=ib;f[Sa+60>>2]=lc;f[Sa+64>>2]=rb;f[Sa+68>>2]=Ra}Qa=Wa+16|0;f[Qa>>2]=ib;ib=Wa+20|0;f[ib>>2]=lc;f[Wa+24>>2]=rb;f[Wa+28>>2]=Ra;Cc=lb;Dc=Ma;Ec=ib;Fc=Qa}else{Qa=Ma+1&127;ib=((Qa|0)==0?3:0)+Qa|0;Qa=Ea+Va+(0-bb)|0;Ra=(f[R>>2]|0)+eb|0;rb=(f[S>>2]|0)+r|0;Pa=f[T>>2]|0;f[e>>2]=0;f[g>>2]=0;f[i>>2]=1;f[W>>2]=V;f[Y>>2]=U;f[_>>2]=Z;f[$>>2]=-1;f[ba>>2]=aa;f[ca>>2]=s;f[ea>>2]=da;f[fa>>2]=f[i>>2];f[fa+4>>2]=f[i+4>>2];f[fa+8>>2]=f[i+8>>2];f[fa+12>>2]=f[i+12>>2];f[fa+16>>2]=f[i+16>>2];f[fa+20>>2]=f[i+20>>2];f[fa+24>>2]=f[i+24>>2];f[fa+28>>2]=f[i+28>>2];GM(Sa,d);mb=(Pa|0)<1;if(mb){Lb=Sa+56|0;f[Lb>>2]=Ra;f[Lb+4>>2]=rb}f[g>>2]=Ra;f[e>>2]=Ra;Lb=(f[Sa>>2]|0)>>>13&4^4;jb=Lb;do{jb=jb+7&7;Gc=Qa+(f[i+(jb<<2)>>2]|0)|0;Hc=(jb|0)==(Lb|0)}while(!((b[Gc>>0]|0)!=0|Hc));k:do if(!Hc){Lb=jb^4;lb=Ma|128;if(mb){vb=Qa;$b=Lb;ac=jb;_b=Ra;Zb=rb;Yb=rb;Qb=rb;while(1){kb=ac;while(1){Ic=kb+1|0;Jc=vb+(f[i+(Ic<<2)>>2]|0)|0;if(!Jc){f[h>>2]=0;f[wa>>2]=0;ub=JV(h,8)|0;sb=ub;b[sb>>0]=105;b[sb+1>>0]=52;b[sb+2>>0]=32;b[sb+3>>0]=33;sb=ub+4|0;b[sb>>0]=61;b[sb+1>>0]=32;b[sb+2>>0]=48;b[sb+3>>0]=76;EP(-215,h,225314,224953,749);KV(h)}if((kb|0)<14&(b[Jc>>0]|0)==0)kb=Ic;else break}bc=Ic&7;if((bc+-1|0)>>>0>=ac>>>0){if((b[vb>>0]|0)==1){Kc=Ma;Za=232}}else{Kc=lb;Za=232}if((Za|0)==232){Za=0;b[vb>>0]=Kc}sb=f[ua>>2]|0;if(sb>>>0<(f[va>>2]|0)>>>0)Lc=sb;else{KM(d);Lc=f[ua>>2]|0}b[Lc>>0]=bc;f[ua>>2]=(f[ua>>2]|0)+1;if((bc|0)==($b|0)){Mc=Zb;Nc=Yb}else{if((_b|0)>=(f[e>>2]|0)){if((_b|0)>(f[g>>2]|0)){Oc=g;Za=238}}else{Oc=e;Za=238}if((Za|0)==238){Za=0;f[Oc>>2]=_b}sb=(Qb|0)<(Zb|0);Mc=sb?Qb:Zb;Nc=sb?Yb:(Qb|0)>(Yb|0)?Qb:Yb}if((vb|0)==(Gc|0)&(Jc|0)==(Qa|0)){Pc=Mc;Qc=Nc;break k}vb=Jc;$b=bc;ac=kb+5&7;_b=(f[56836+(bc<<3)>>2]|0)+_b|0;Zb=Mc;Yb=Nc;Qb=(f[56836+(bc<<3)+4>>2]|0)+Qb|0}}if((Pa|0)==1){Qb=Qa;Yb=Lb;Zb=jb;_b=Ra;ac=rb;$b=rb;vb=rb;while(1){bc=Zb;while(1){Rc=bc+1|0;Sc=Qb+(f[i+(Rc<<2)>>2]|0)|0;if(!Sc){f[h>>2]=0;f[wa>>2]=0;sb=JV(h,8)|0;ub=sb;b[ub>>0]=105;b[ub+1>>0]=52;b[ub+2>>0]=32;b[ub+3>>0]=33;ub=sb+4|0;b[ub>>0]=61;b[ub+1>>0]=32;b[ub+2>>0]=48;b[ub+3>>0]=76;EP(-215,h,225314,224953,749);KV(h)}if((bc|0)<14&(b[Sc>>0]|0)==0)bc=Rc;else break}kb=Rc&7;if((kb+-1|0)>>>0>=Zb>>>0){if((b[Qb>>0]|0)==1){Tc=Ma;Za=216}}else{Tc=lb;Za=216}if((Za|0)==216){Za=0;b[Qb>>0]=Tc}ub=f[ua>>2]|0;if(ub>>>0<(f[va>>2]|0)>>>0)Uc=ub;else{KM(d);Uc=f[ua>>2]|0}ub=Uc;sb=ub;b[sb>>0]=_b;b[sb+1>>0]=_b>>8;b[sb+2>>0]=_b>>16;b[sb+3>>0]=_b>>24;sb=ub+4|0;b[sb>>0]=vb;b[sb+1>>0]=vb>>8;b[sb+2>>0]=vb>>16;b[sb+3>>0]=vb>>24;f[ua>>2]=(f[ua>>2]|0)+8;if((kb|0)==(Yb|0)){Vc=ac;Wc=$b}else{if((_b|0)>=(f[e>>2]|0)){if((_b|0)>(f[g>>2]|0)){Xc=g;Za=222}}else{Xc=e;Za=222}if((Za|0)==222){Za=0;f[Xc>>2]=_b}sb=(vb|0)<(ac|0);Vc=sb?vb:ac;Wc=sb?$b:(vb|0)>($b|0)?vb:$b}if((Qb|0)==(Gc|0)&(Sc|0)==(Qa|0)){Pc=Vc;Qc=Wc;break k}Qb=Sc;Yb=kb;Zb=bc+5&7;_b=(f[56836+(kb<<3)>>2]|0)+_b|0;ac=Vc;$b=Wc;vb=(f[56836+(kb<<3)+4>>2]|0)+vb|0}}else{vb=Qa;$b=Lb;ac=jb;_b=Ra;Zb=rb;Yb=rb;Qb=rb;while(1){kb=ac;while(1){Yc=kb+1|0;Zc=vb+(f[i+(Yc<<2)>>2]|0)|0;if(!Zc){f[h>>2]=0;f[wa>>2]=0;sb=JV(h,8)|0;ub=sb;b[ub>>0]=105;b[ub+1>>0]=52;b[ub+2>>0]=32;b[ub+3>>0]=33;ub=sb+4|0;b[ub>>0]=61;b[ub+1>>0]=32;b[ub+2>>0]=48;b[ub+3>>0]=76;EP(-215,h,225314,224953,749);KV(h)}if((kb|0)<14&(b[Zc>>0]|0)==0)kb=Yc;else break}bc=Yc&7;if((bc+-1|0)>>>0>=ac>>>0){if((b[vb>>0]|0)==1){_c=Ma;Za=248}}else{_c=lb;Za=248}if((Za|0)==248){Za=0;b[vb>>0]=_c}if((bc|0)==($b|0)){$c=Zb;ad=Yb}else{ub=f[ua>>2]|0;if(ub>>>0<(f[va>>2]|0)>>>0)bd=ub;else{KM(d);bd=f[ua>>2]|0}ub=bd;sb=ub;b[sb>>0]=_b;b[sb+1>>0]=_b>>8;b[sb+2>>0]=_b>>16;b[sb+3>>0]=_b>>24;sb=ub+4|0;b[sb>>0]=Qb;b[sb+1>>0]=Qb>>8;b[sb+2>>0]=Qb>>16;b[sb+3>>0]=Qb>>24;f[ua>>2]=(f[ua>>2]|0)+8;if((_b|0)>=(f[e>>2]|0)){if((_b|0)>(f[g>>2]|0)){cd=g;Za=254}}else{cd=e;Za=254}if((Za|0)==254){Za=0;f[cd>>2]=_b}sb=(Qb|0)<(Zb|0);$c=sb?Qb:Zb;ad=sb?Yb:(Qb|0)>(Yb|0)?Qb:Yb}if((vb|0)==(Gc|0)&(Zc|0)==(Qa|0)){Pc=$c;Qc=ad;break k}vb=Zc;$b=bc;ac=kb+5&7;_b=(f[56836+(bc<<3)>>2]|0)+_b|0;Zb=$c;Yb=ad;Qb=(f[56836+(bc<<3)+4>>2]|0)+Qb|0}}}else{b[Qa>>0]=Ma|128;if((Pa|0)<=0){Pc=rb;Qc=rb;break}Qb=f[ua>>2]|0;if(Qb>>>0<(f[va>>2]|0)>>>0)dd=Qb;else{KM(d);dd=f[ua>>2]|0}Qb=dd;Yb=Qb;b[Yb>>0]=Ra;b[Yb+1>>0]=Ra>>8;b[Yb+2>>0]=Ra>>16;b[Yb+3>>0]=Ra>>24;Yb=Qb+4|0;b[Yb>>0]=rb;b[Yb+1>>0]=rb>>8;b[Yb+2>>0]=rb>>16;b[Yb+3>>0]=rb>>24;f[ua>>2]=(f[ua>>2]|0)+8;Pc=rb;Qc=rb}while(0);rb=f[e>>2]|0;Ra=1-rb+(f[g>>2]|0)|0;f[g>>2]=Ra;Qa=Qc+1-Pc|0;JM(d)|0;if(Pa|0){f[Sa+56>>2]=rb;f[Sa+60>>2]=Pc;f[Sa+64>>2]=Ra;f[Sa+68>>2]=Qa}jb=Wa+16|0;f[jb>>2]=rb;rb=Wa+20|0;f[rb>>2]=Pc;f[Wa+24>>2]=Ra;f[Wa+28>>2]=Qa;Cc=Ma;Dc=ib;Ec=rb;Fc=jb}f[Fc>>2]=(f[Fc>>2]|0)-(f[R>>2]|0);f[Ec>>2]=(f[Ec>>2]|0)-(f[S>>2]|0);jb=a+276+(Cc<<2)|0;f[Wa+4>>2]=f[jb>>2];f[jb>>2]=Wa;Ub=Wa;Vb=Dc}f[Ub+40>>2]=bb;ed=Ub+12|0;f[ed>>2]=Sa;jb=Ub+32|0;f[jb>>2]=eb;f[jb+4>>2]=r;jb=Ub+8|0;f[jb>>2]=db;rb=f[ja>>2]|0;if((f[T>>2]|0)==(rb|0)){fd=db;gd=Sa}else{Qa=pba(Sa,f[ka>>2]|0,f[L>>2]|0,rb)|0;f[ed>>2]=Qa;tM(f[a>>2]|0);fd=f[jb>>2]|0;gd=f[ed>>2]|0}f[gd+16>>2]=f[fd+12>>2];if(f[db+12>>2]|0){Za=270;break a}f[ed>>2]=0;jb=f[a>>2]|0;if((jb|0)==(f[L>>2]|0))vM(jb,M);else tM(jb);_a=b[Ea+Va>>0]|0;$a=Vb;ab=eb}while(0);Na=Va+1|0;if((Na|0)>=(y|0)){Xa=$a;break}else{Ka=_a;La=_a;Ma=$a;Oa=_a>>>0>1?Va:ab}}}else Xa=H;while(0);Ga=r+1|0;if((Ga|0)<(z|0)){Da=0;H=Xa;Ea=Ea+s|0;r=Ga;x=1;v=0;Fa=Ga}else{I=0;Za=272;break}}if((Za|0)==78){f[d>>2]=0;f[ya>>2]=0;l=JV(d,13)|0;m=225262;n=l+13|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-215,d,225185,224953,1182);KV(d)}else if((Za|0)==270){uM(f[L>>2]|0,a+32|0);f[o>>2]=Ub;f[t>>2]=Va+1+(Ha?0-bb|0:0);f[w>>2]=r;f[B>>2]=eb;f[C>>2]=Fa;f[q>>2]=Ea;f[D>>2]=Vb;I=f[ed>>2]|0;u=c;return I|0}else if((Za|0)==272){u=c;return I|0}return 0}function pea(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=u;u=u+16|0;c=b;if(!a){f[c>>2]=0;f[c+4>>2]=0;EP(-27,c,225332,224953,1328);KV(c)}d=f[a>>2]|0;if(!d){e=0;u=b;return e|0}g=d+88|0;h=f[g>>2]|0;if(h|0){i=d+248|0;if(f[i>>2]|0){j=d+4|0;uM(f[j>>2]|0,c);if((f[c>>2]|0)==(f[d+32>>2]|0)?(f[c+4>>2]|0)==(f[d+36>>2]|0):0)vM(f[j>>2]|0,d+24|0);f[i>>2]=0}i=f[h+12>>2]|0;if(i|0)dN(i,f[(f[h+8>>2]|0)+12>>2]|0,d+180|0);f[g>>2]=0}if((f[d>>2]|0)!=(f[d+4>>2]|0))sM(d);g=d+8|0;if(f[g>>2]|0)sM(g);g=f[d+200>>2]|0;fX(f[a>>2]|0);f[a>>2]=0;e=g;u=b;return e|0}function qea(a,c,d,e,g,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0;m=u;u=u+160|0;n=m+136|0;o=m+112|0;p=m+88|0;q=m+56|0;r=m+24|0;s=m+8|0;t=m;f[t>>2]=0;if(!d){f[n>>2]=0;f[n+4>>2]=0;v=JV(n,25)|0;w=225350;x=v+25|0;do{b[v>>0]=b[w>>0]|0;v=v+1|0;w=w+1|0}while((v|0)<(x|0));EP(-27,n,225376,224953,1817);KV(n)}f[d>>2]=0;if((i|0)!=5){y=nea(a,c,e,g,i,j,k,l)|0;f[t>>2]=y;l=-1;i=y;while(1){z=l+1|0;if(!(oea(i)|0))break;l=z;i=f[t>>2]|0}i=pea(t)|0;f[d>>2]=i;A=z;u=m;return A|0}if(k|j|0){f[n>>2]=0;f[n+4>>2]=0;v=JV(n,51)|0;w=225396;x=v+51|0;do{b[v>>0]=b[w>>0]|0;v=v+1|0;w=w+1|0}while((v|0)<(x|0));EP(-211,n,225376,224953,1825);KV(n)}if(!c){f[r>>2]=0;f[r+4>>2]=0;v=JV(r,20)|0;w=225448;x=v+20|0;do{b[v>>0]=b[w>>0]|0;v=v+1|0;w=w+1|0}while((v|0)<(x|0));EP(-27,r,225469,224953,1508);KV(r)}if((e|0)<88){f[r>>2]=0;f[r+4>>2]=0;v=JV(r,48)|0;w=225495;x=v+48|0;do{b[v>>0]=b[w>>0]|0;v=v+1|0;w=w+1|0}while((v|0)<(x|0));EP(-201,r,225469,224953,1514);KV(r)}j=rM(c)|0;if(!j)B=0;else{k=EQa(16)|0;f[k+4>>2]=1;f[k>>2]=56908;f[k+8>>2]=j;B=k}k=rM(c)|0;if(!k)C=0;else{z=EQa(16)|0;f[z+4>>2]=1;f[z>>2]=56908;f[z+8>>2]=k;C=z}z=XV(a,r,0,0)|0;if(f[z>>2]&4094|0){f[s>>2]=0;f[s+4>>2]=0;v=JV(s,32)|0;w=225544;x=v+32|0;do{b[v>>0]=b[w>>0]|0;v=v+1|0;w=w+1|0}while((v|0)<(x|0));EP(-5,s,225469,224953,1525);KV(s)}w=f[z+16>>2]|0;r=f[z+4>>2]|0;a=f[z+20>>2]|0;i=f[z+24>>2]|0;z=zM(0,56,16,j)|0;GM(z,p);HM(0,56,4,k,n);HM(0,56,4,k,o);k=p+12|0;j=f[k>>2]|0;t=p+20|0;if(j>>>0<(f[t>>2]|0)>>>0)D=j;else{KM(p);D=f[k>>2]|0}v=D;x=v+16|0;do{b[v>>0]=0;v=v+1|0}while((v|0)<(x|0));v=(f[k>>2]|0)+16|0;f[k>>2]=v;x=p+4|0;D=v+(0-(f[(f[x>>2]|0)+28>>2]|0))|0;v=(i|0)>0;a:do if(v){j=n+12|0;l=n+20|0;y=0;g=D;while(1){E=y;while(1){if(b[w+E>>0]|0){F=E;break}G=E+1|0;if((G|0)<(i|0))E=G;else{F=G;break}}if((F|0)==(i|0)){H=g;break a}E=f[k>>2]|0;if(E>>>0<(f[t>>2]|0)>>>0)I=E;else{KM(p);I=f[k>>2]|0}b[I>>0]=0;b[I+1>>0]=0;b[I+2>>0]=0;b[I+3>>0]=0;E=I+4|0;b[E>>0]=0;b[E+1>>0]=0;b[E+2>>0]=0;b[E+3>>0]=0;E=I+8|0;b[E>>0]=F;b[E+1>>0]=F>>8;b[E+2>>0]=F>>16;b[E+3>>0]=F>>24;E=I+12|0;b[E>>0]=0;b[E+1>>0]=0;b[E+2>>0]=0;b[E+3>>0]=0;E=(f[k>>2]|0)+16|0;f[k>>2]=E;G=E+(0-(f[(f[x>>2]|0)+28>>2]|0))|0;f[g+4>>2]=G;J=F+1|0;b:do if((i|0)>(J|0)){K=J;while(1){if(!(b[w+K>>0]|0)){L=K;break b}M=K+1|0;if((M|0)<(i|0))K=M;else{L=M;break}}}else L=J;while(0);J=L+-1|0;if(E>>>0<(f[t>>2]|0)>>>0)N=E;else{KM(p);N=f[k>>2]|0}b[N>>0]=0;b[N+1>>0]=0;b[N+2>>0]=0;b[N+3>>0]=0;K=N+4|0;b[K>>0]=0;b[K+1>>0]=0;b[K+2>>0]=0;b[K+3>>0]=0;K=N+8|0;b[K>>0]=J;b[K+1>>0]=J>>8;b[K+2>>0]=J>>16;b[K+3>>0]=J>>24;J=N+12|0;b[J>>0]=0;b[J+1>>0]=0;b[J+2>>0]=0;b[J+3>>0]=0;J=(f[k>>2]|0)+16|0;f[k>>2]=J;K=J+(0-(f[(f[x>>2]|0)+28>>2]|0))|0;J=G+4|0;f[J>>2]=K;f[G>>2]=K;K=f[j>>2]|0;if(K>>>0<(f[l>>2]|0)>>>0)O=K;else{KM(n);O=f[j>>2]|0}b[O>>0]=G;b[O+1>>0]=G>>8;b[O+2>>0]=G>>16;b[O+3>>0]=G>>24;f[j>>2]=(f[j>>2]|0)+4;K=f[J>>2]|0;if((L|0)<(i|0)){y=L;g=K}else{H=K;break}}}else H=D;while(0);IM(p);L=f[D+4>>2]|0;D=z+24|0;z=f[D>>2]|0;O=z+-1|0;f[H+4>>2]=0;c:do if((a|0)>1){N=n+12|0;F=n+20|0;I=o+12|0;g=o+20|0;y=1;j=0;l=L;K=w;J=O;M=H;P=z;while(1){Q=K+r|0;d:do if(v){R=0;S=M;while(1){T=R;while(1){if(b[Q+T>>0]|0){U=T;break}V=T+1|0;if((V|0)<(i|0))T=V;else{U=V;break}}if((U|0)==(i|0)){W=S;break d}T=f[k>>2]|0;if(T>>>0<(f[t>>2]|0)>>>0)X=T;else{KM(p);X=f[k>>2]|0}b[X>>0]=0;b[X+1>>0]=0;b[X+2>>0]=0;b[X+3>>0]=0;T=X+4|0;b[T>>0]=0;b[T+1>>0]=0;b[T+2>>0]=0;b[T+3>>0]=0;T=X+8|0;b[T>>0]=U;b[T+1>>0]=U>>8;b[T+2>>0]=U>>16;b[T+3>>0]=U>>24;T=X+12|0;b[T>>0]=y;b[T+1>>0]=y>>8;b[T+2>>0]=y>>16;b[T+3>>0]=y>>24;T=(f[k>>2]|0)+16|0;f[k>>2]=T;V=T+(0-(f[(f[x>>2]|0)+28>>2]|0))|0;f[S+4>>2]=V;Y=U+1|0;e:do if((i|0)>(Y|0)){Z=Y;while(1){if(!(b[Q+Z>>0]|0)){_=Z;break e}$=Z+1|0;if(($|0)<(i|0))Z=$;else{_=$;break}}}else _=Y;while(0);Y=_+-1|0;if(T>>>0<(f[t>>2]|0)>>>0)aa=T;else{KM(p);aa=f[k>>2]|0}b[aa>>0]=0;b[aa+1>>0]=0;b[aa+2>>0]=0;b[aa+3>>0]=0;Z=aa+4|0;b[Z>>0]=0;b[Z+1>>0]=0;b[Z+2>>0]=0;b[Z+3>>0]=0;Z=aa+8|0;b[Z>>0]=Y;b[Z+1>>0]=Y>>8;b[Z+2>>0]=Y>>16;b[Z+3>>0]=Y>>24;Y=aa+12|0;b[Y>>0]=y;b[Y+1>>0]=y>>8;b[Y+2>>0]=y>>16;b[Y+3>>0]=y>>24;Y=(f[k>>2]|0)+16|0;f[k>>2]=Y;Z=Y+(0-(f[(f[x>>2]|0)+28>>2]|0))|0;f[V+4>>2]=Z;if((_|0)<(i|0)){R=_;S=Z}else{W=Z;break}}}else W=M;while(0);IM(p);G=f[M+4>>2]|0;E=(f[D>>2]|0)-P|0;f[W+4>>2]=0;S=(J|0)/2|0;R=(E|0)/2|0;f:do if((J|0)>1&(E|0)>1){Z=0;Y=G;$=l;ba=0;ca=0;da=j;while(1){g:do switch(ca|0){case 0:{ea=f[$+4>>2]|0;fa=f[ea+8>>2]|0;ga=Y+4|0;ha=f[ga>>2]|0;ia=f[ha+8>>2]|0;if((fa|0)<(ia|0)){ja=(fa|0)<((f[Y+8>>2]|0)+-1|0);f[(ja?ea:Y)>>2]=$;ka=Z+1|0;la=Y;ma=f[ea+4>>2]|0;na=ba;oa=(ja^1)&1;pa=ja?da:ea;break g}if((f[$+8>>2]|0)>(ia+1|0)){f[Y>>2]=ha;ia=f[N>>2]|0;if(ia>>>0<(f[F>>2]|0)>>>0)qa=ia;else{KM(n);qa=f[N>>2]|0}b[qa>>0]=Y;b[qa+1>>0]=Y>>8;b[qa+2>>0]=Y>>16;b[qa+3>>0]=Y>>24;f[N>>2]=(f[N>>2]|0)+4;ra=0;sa=da;ta=f[ga>>2]|0}else{f[Y>>2]=$;ra=-1;sa=ha;ta=ha}ka=Z;la=f[ta+4>>2]|0;ma=$;na=ba+1|0;oa=ra;pa=sa;break}case 1:{ha=f[Y+4>>2]|0;ga=f[ha+8>>2]|0;if((f[$+8>>2]|0)>(ga+1|0)){f[da>>2]=ha;ka=Z;la=f[ha+4>>2]|0;ma=$;na=ba+1|0;oa=0;pa=da;break g}f[da>>2]=$;ia=f[$+4>>2]|0;if((f[ia+8>>2]|0)<(ga|0)){ka=Z+1|0;la=Y;ma=f[ia+4>>2]|0;na=ba;oa=1;pa=ia;break g}else{ka=Z;la=f[ha+4>>2]|0;ma=$;na=ba+1|0;oa=-1;pa=ha;break g}break}case -1:{ha=$+4|0;ia=f[ha>>2]|0;if((f[Y+8>>2]|0)>((f[ia+8>>2]|0)+1|0)){f[ia>>2]=da;ka=Z+1|0;la=Y;ma=f[ia+4>>2]|0;na=ba;oa=0;pa=da;break g}ia=f[I>>2]|0;if(ia>>>0<(f[g>>2]|0)>>>0)ua=ia;else{KM(o);ua=f[I>>2]|0}b[ua>>0]=Y;b[ua+1>>0]=Y>>8;b[ua+2>>0]=Y>>16;b[ua+3>>0]=Y>>24;f[I>>2]=(f[I>>2]|0)+4;f[Y>>2]=da;ia=f[Y+4>>2]|0;ga=f[ha>>2]|0;if((f[ia+8>>2]|0)<(f[ga+8>>2]|0)){ka=Z;la=f[ia+4>>2]|0;ma=$;na=ba+1|0;oa=-1;pa=ia;break g}else{ka=Z+1|0;la=Y;ma=f[ga+4>>2]|0;na=ba;oa=1;pa=ga;break g}break}default:{ka=Z;la=Y;ma=$;na=ba;oa=ca;pa=da}}while(0);if((na|0)<(R|0)&(ka|0)<(S|0)){Z=ka;Y=la;$=ma;ba=na;ca=oa;da=pa}else{va=ka;wa=la;xa=ma;ya=na;za=oa;Aa=pa;break f}}}else{va=0;wa=G;xa=l;ya=0;za=0;Aa=j}while(0);if((ya|0)<(R|0)){da=wa;ca=ya;ba=za;while(1){$=da+4|0;Y=f[$>>2]|0;if(!ba){f[da>>2]=Y;Z=f[N>>2]|0;if(Z>>>0<(f[F>>2]|0)>>>0)Ba=Z;else{KM(n);Ba=f[N>>2]|0}b[Ba>>0]=da;b[Ba+1>>0]=da>>8;b[Ba+2>>0]=da>>16;b[Ba+3>>0]=da>>24;f[N>>2]=(f[N>>2]|0)+4;Ca=f[$>>2]|0}else{f[Aa>>2]=Y;Ca=Y}ca=ca+1|0;if((ca|0)>=(R|0)){Da=0;break}else{da=f[Ca+4>>2]|0;ba=0}}}else Da=za;if((va|0)<(S|0)?(ba=f[xa+4>>2]|0,f[ba>>2]=(Da|0)==0?xa:Aa,da=va+1|0,(da|0)!=(S|0)):0){R=da;da=ba;do{ba=f[da+4>>2]|0;da=f[ba+4>>2]|0;f[da>>2]=ba;R=R+1|0}while((R|0)!=(S|0))}S=y+1|0;if((S|0)>=(a|0)){Ea=G;Fa=E;break c}y=S;j=Aa;l=G;K=Q;J=E;M=W;P=f[D>>2]|0}}else{Ea=L;Fa=O}while(0);O=(Fa|0)/2|0;if((Fa|0)>1){Fa=0;L=Ea;while(1){Ea=f[L+4>>2]|0;f[Ea>>2]=L;Fa=Fa+1|0;if((Fa|0)==(O|0))break;else L=f[Ea+4>>2]|0}}L=JM(n)|0;n=JM(o)|0;o=q+12|0;O=q+20|0;EM(L,q,0);Fa=L+24|0;if((f[Fa>>2]|0)>0){L=0;Ea=0;D=0;while(1){W=f[o>>2]|0;Aa=h[W>>0]|h[W+1>>0]<<8|h[W+2>>0]<<16|h[W+3>>0]<<24;a=W+4|0;f[o>>2]=a;if(a>>>0>=(f[O>>2]|0)>>>0)MM(q,1);if(f[Aa>>2]|0){HM(20492,e,8,c,p);a=Aa;W=f[k>>2]|0;do{if(W>>>0<(f[t>>2]|0)>>>0)Ga=W;else{KM(p);Ga=f[k>>2]|0}va=a+8|0;xa=va;Da=h[xa>>0]|h[xa+1>>0]<<8|h[xa+2>>0]<<16|h[xa+3>>0]<<24;xa=va+4|0;va=h[xa>>0]|h[xa+1>>0]<<8|h[xa+2>>0]<<16|h[xa+3>>0]<<24;xa=Ga;za=xa;b[za>>0]=Da;b[za+1>>0]=Da>>8;b[za+2>>0]=Da>>16;b[za+3>>0]=Da>>24;Da=xa+4|0;b[Da>>0]=va;b[Da+1>>0]=va>>8;b[Da+2>>0]=va>>16;b[Da+3>>0]=va>>24;W=(f[k>>2]|0)+8|0;f[k>>2]=W;va=a;a=f[a>>2]|0;f[va>>2]=0}while((a|0)!=(Aa|0));Aa=JM(p)|0;J9(s,Aa,1);if(!L){Ha=Aa;Ia=Aa}else{f[Aa+8>>2]=Ea;f[Ea+12>>2]=Aa;Ha=L;Ia=Aa}}else{Ha=L;Ia=Ea}Aa=D+1|0;if((Aa|0)<(f[Fa>>2]|0)){L=Ha;Ea=Ia;D=Aa}else{Ja=Aa;Ka=Ha;La=Ia;break}}}else{Ja=0;Ka=0;La=0}EM(n,q,0);Ia=n+24|0;if((f[Ia>>2]|0)>0){n=Ka;Ha=La;La=Ja;D=0;while(1){Ea=f[o>>2]|0;L=h[Ea>>0]|h[Ea+1>>0]<<8|h[Ea+2>>0]<<16|h[Ea+3>>0]<<24;Fa=Ea+4|0;f[o>>2]=Fa;if(Fa>>>0>=(f[O>>2]|0)>>>0)MM(q,1);if(f[L>>2]|0){HM(20492,e,8,c,p);Fa=L;Ea=f[k>>2]|0;do{if(Ea>>>0<(f[t>>2]|0)>>>0)Ma=Ea;else{KM(p);Ma=f[k>>2]|0}Ga=Fa+8|0;Aa=Ga;a=h[Aa>>0]|h[Aa+1>>0]<<8|h[Aa+2>>0]<<16|h[Aa+3>>0]<<24;Aa=Ga+4|0;Ga=h[Aa>>0]|h[Aa+1>>0]<<8|h[Aa+2>>0]<<16|h[Aa+3>>0]<<24;Aa=Ma;W=Aa;b[W>>0]=a;b[W+1>>0]=a>>8;b[W+2>>0]=a>>16;b[W+3>>0]=a>>24;a=Aa+4|0;b[a>>0]=Ga;b[a+1>>0]=Ga>>8;b[a+2>>0]=Ga>>16;b[a+3>>0]=Ga>>24;Ea=(f[k>>2]|0)+8|0;f[k>>2]=Ea;Ga=Fa;Fa=f[Fa>>2]|0;f[Ga>>2]=0}while((Fa|0)!=(L|0));L=JM(p)|0;J9(s,L,1);f[L>>2]=f[L>>2]|32768;if(!n){Na=L;Oa=L}else{f[L+8>>2]=Ha;f[Ha+12>>2]=L;Na=n;Oa=L}}else{Na=n;Oa=Ha}D=D+1|0;L=La+1|0;if((D|0)>=(f[Ia>>2]|0)){Pa=L;Qa=Na;break}else{n=Na;Ha=Oa;La=L}}}else{Pa=Ja;Qa=Ka}Ka=(Qa|0)==0?-1:Pa;f[d>>2]=Qa;Qa=C;if(C|0?(d=Qa+4|0,Pa=f[d>>2]|0,f[d>>2]=Pa+-1,(Pa|0)==1):0)qg[f[(f[C>>2]|0)+8>>2]&1023](Qa);Qa=B;if(!B){A=Ka;u=m;return A|0}C=Qa+4|0;Pa=f[C>>2]|0;f[C>>2]=Pa+-1;if((Pa|0)!=1){A=Ka;u=m;return A|0}qg[f[(f[B>>2]|0)+8>>2]&1023](Qa);A=Ka;u=m;return A|0}function rea(a){a=a|0;GQa(a);return}function sea(a){a=a|0;sW(a+12|0,f[a+8>>2]|0);if(!a)return;qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function tea(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;i=u;u=u+384|0;j=i+344|0;k=i+336|0;l=i+280|0;m=i+224|0;n=i+192|0;o=i;p=i+96|0;q=i+40|0;r=i+32|0;s=i+136|0;yV(k,56920);if(((HJ(c)|0)!=262144?(HJ(c)|0)!=327680:0)?(HJ(c)|0)!=720896:0){f[j>>2]=0;f[j+4>>2]=0;DVa(JV(j,155)|0,225645,155)|0;EP(-215,j,225801,224953,1892);KV(j)}do if(!(VJ(c)|0)){if((UJ(c,-1)|0)==2?(TJ(c,-1)|0)==4:0)break;f[j>>2]=0;f[j+4>>2]=0;t=JV(j,74)|0;v=225814;w=t+74|0;do{b[t>>0]=b[v>>0]|0;t=t+1|0;v=v+1|0}while((t|0)<(w|0));EP(-215,j,225801,224953,1894);KV(j)}while(0);do if((HJ(a)|0)==65536){x=f[a+4>>2]|0;f[l>>2]=f[x>>2];y=l+4|0;z=x+4|0;f[y>>2]=f[z>>2];A=l+8|0;f[A>>2]=f[x+8>>2];f[l+12>>2]=f[x+12>>2];f[l+16>>2]=f[x+16>>2];f[l+20>>2]=f[x+20>>2];f[l+24>>2]=f[x+24>>2];f[l+28>>2]=f[x+28>>2];f[l+32>>2]=f[x+32>>2];B=f[x+36>>2]|0;f[l+36>>2]=B;f[l+40>>2]=A;A=l+48|0;C=l+44|0;f[C>>2]=A;f[A>>2]=0;f[l+52>>2]=0;if(B|0){A=B+12|0;f[A>>2]=(f[A>>2]|0)+1}if((f[z>>2]|0)<3){z=f[x+44>>2]|0;A=f[C>>2]|0;f[A>>2]=f[z>>2];f[A+4>>2]=f[z+4>>2];break}else{f[y>>2]=0;WO(l,x);break}}else DJ(l,a,-1);while(0);f[m>>2]=1124007936;a=m+4|0;x=m+8|0;y=m+40|0;t=a;w=t+36|0;do{f[t>>2]=0;t=t+4|0}while((t|0)<(w|0));f[y>>2]=x;z=m+48|0;A=m+44|0;f[A>>2]=z;f[z>>2]=0;f[m+52>>2]=0;if((g|0)==5){C=l+36|0;B=f[C>>2]|0;if(B){D=B+12|0;f[D>>2]=(f[D>>2]|0)+1;D=m+36|0;B=f[D>>2]|0;if((B|0)!=0?(E=B+12|0,B=f[E>>2]|0,f[E>>2]=B+-1,(B|0)==1):0){XO(m);F=D}else F=D}else F=m+36|0;f[F>>2]=0;D=m+16|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;if((f[a>>2]|0)>0){B=f[y>>2]|0;E=0;do{f[B+(E<<2)>>2]=0;E=E+1|0;G=f[a>>2]|0}while((E|0)<(G|0));f[m>>2]=f[l>>2];if((G|0)<3)H=28;else H=30}else{f[m>>2]=f[l>>2];H=28}if((H|0)==28){G=f[l+4>>2]|0;if((G|0)<3){f[a>>2]=G;f[x>>2]=f[l+8>>2];f[m+12>>2]=f[l+12>>2];G=f[l+44>>2]|0;E=f[A>>2]|0;f[E>>2]=f[G>>2];f[E+4>>2]=f[G+4>>2]}else H=30}if((H|0)==30)WO(m,l);f[D>>2]=f[l+16>>2];f[m+20>>2]=f[l+20>>2];f[m+24>>2]=f[l+24>>2];f[m+28>>2]=f[l+28>>2];f[m+32>>2]=f[l+32>>2];f[F>>2]=f[C>>2];I=0}else{f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=l;C=n+8|0;f[C>>2]=0;f[C+4>>2]=0;f[n>>2]=33619968;f[n+4>>2]=m;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=0;mM(j,n,1,1,1,1,16,o);I=-1}C=qM(0)|0;if(!C)J=0;else{F=EQa(16)|0;f[F+4>>2]=1;f[F>>2]=56908;f[F+8>>2]=C;J=F}F=f[x>>2]|0;x=(f[a>>2]|0)==1?1:f[m+12>>2]|0;D=f[m>>2]|0;H=D&4095;G=m+16|0;E=f[G>>2]|0;B=X((D>>>3&511)+1<<(47696>>>(H<<1&14)&3),x)|0;f[n>>2]=H|1111638016;H=n+4|0;f[H>>2]=B;f[n+8>>2]=0;f[n+12>>2]=0;f[n+16>>2]=E;f[n+20>>2]=F;f[n+24>>2]=x;f[H>>2]=f[f[A>>2]>>2];f[n>>2]=D&20479|1111621632;f[o>>2]=0;if(yK(d)|0)xK(d);qea(n,C,o,88,e,g,(f[h>>2]|0)+I|0,(f[h+4>>2]|0)+I|0,0)|0;I=f[o>>2]|0;if(I){o=aN(I,56,C)|0;if(!o)K=0;else{if((f[o+28>>2]|0)!=4){f[j>>2]=0;f[j+4>>2]=0;t=JV(j,39)|0;v=329488;w=t+39|0;do{b[t>>0]=b[v>>0]|0;t=t+1|0;v=v+1|0}while((t|0)<(w|0));EP(-215,j,329528,329532,2965);KV(j)}K=f[o+24>>2]|0}vK(c,K,1,0,-1,1,0);EM(o,p,0);C=p+32|0;f[C>>2]=0;I=(K|0)>0;if(I){h=p+12|0;g=q+4|0;e=q+16|0;n=q+36|0;D=q+40|0;H=q+48|0;x=q+44|0;F=j+4|0;E=r+4|0;B=p+20|0;L=p+4|0;M=0;do{N=f[f[h>>2]>>2]|0;f[N+72>>2]=M;vK(c,f[N+24>>2]|0,1,12,M,1,0);DJ(q,c,M);if(!(f[q>>2]&16384)){f[j>>2]=0;f[F>>2]=0;t=JV(j,17)|0;v=225889;w=t+17|0;do{b[t>>0]=b[v>>0]|0;t=t+1|0;v=v+1|0}while((t|0)<(w|0));EP(-215,j,225801,224953,1928);KV(j)}O=f[e>>2]|0;P=r;f[P>>2]=0;f[P+4>>2]=0;f[E>>2]=1073741823;f[j>>2]=f[r>>2];f[j+4>>2]=f[r+4>>2];CM(N,O,j)|0;O=f[n>>2]|0;if(O|0?(P=O+12|0,O=f[P>>2]|0,f[P>>2]=O+-1,(O|0)==1):0)XO(q);f[n>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;if((f[g>>2]|0)>0){O=f[D>>2]|0;P=0;do{f[O+(P<<2)>>2]=0;P=P+1|0}while((P|0)<(f[g>>2]|0))}P=f[x>>2]|0;if((P|0)!=(H|0))dX(P);M=M+1|0;P=(f[h>>2]|0)+4|0;f[h>>2]=P;if(P>>>0>=(f[B>>2]|0)>>>0)MM(p,1);P=(f[C>>2]|0)+1|0;f[C>>2]=P;f[C>>2]=(P|0)<(f[(f[L>>2]|0)+24>>2]<<1|0)?P:0}while((M|0)<(K|0))}if(yK(d)|0){vK(d,1,K,28,-1,1,0);do if((HJ(d)|0)==65536){M=f[d+4>>2]|0;f[s>>2]=f[M>>2];L=s+4|0;B=M+4|0;f[L>>2]=f[B>>2];h=s+8|0;f[h>>2]=f[M+8>>2];f[s+12>>2]=f[M+12>>2];H=s+16|0;f[H>>2]=f[M+16>>2];f[s+20>>2]=f[M+20>>2];f[s+24>>2]=f[M+24>>2];f[s+28>>2]=f[M+28>>2];f[s+32>>2]=f[M+32>>2];x=s+36|0;g=f[M+36>>2]|0;f[x>>2]=g;f[s+40>>2]=h;h=s+48|0;D=s+44|0;f[D>>2]=h;f[h>>2]=0;f[s+52>>2]=0;if(g|0){h=g+12|0;f[h>>2]=(f[h>>2]|0)+1}if((f[B>>2]|0)<3){B=f[M+44>>2]|0;h=f[D>>2]|0;f[h>>2]=f[B>>2];f[h+4>>2]=f[B+4>>2];Q=H;R=D;S=x;break}else{f[L>>2]=0;WO(s,M);Q=H;R=D;S=x;break}}else{DJ(s,d,-1);Q=s+16|0;R=s+44|0;S=s+36|0}while(0);d=f[Q>>2]|0;x=f[S>>2]|0;if(x|0?(D=x+12|0,x=f[D>>2]|0,f[D>>2]=x+-1,(x|0)==1):0)XO(s);f[S>>2]=0;S=s+4|0;f[Q>>2]=0;f[Q+4>>2]=0;f[Q+8>>2]=0;f[Q+12>>2]=0;if((f[S>>2]|0)>0){Q=f[s+40>>2]|0;x=0;do{f[Q+(x<<2)>>2]=0;x=x+1|0}while((x|0)<(f[S>>2]|0))}S=f[R>>2]|0;if((S|0)!=(s+48|0))dX(S);EM(o,j,0);f[j+32>>2]=0;t=p;v=j;w=t+36|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));if(I){I=p+12|0;v=p+20|0;t=p+4|0;w=0;do{j=f[f[I>>2]>>2]|0;o=f[j+12>>2]|0;if(!o)T=-1;else T=f[o+72>>2]|0;o=f[j+8>>2]|0;if(!o)U=-1;else U=f[o+72>>2]|0;o=f[j+20>>2]|0;if(!o)V=-1;else V=f[o+72>>2]|0;o=f[j+16>>2]|0;if(!o)W=-1;else W=f[o+72>>2]|0;f[d+(w<<4)>>2]=T;f[d+(w<<4)+4>>2]=U;f[d+(w<<4)+8>>2]=V;f[d+(w<<4)+12>>2]=W;w=w+1|0;o=(f[I>>2]|0)+4|0;f[I>>2]=o;if(o>>>0>=(f[v>>2]|0)>>>0)MM(p,1);o=(f[C>>2]|0)+1|0;f[C>>2]=o;f[C>>2]=(o|0)<(f[(f[t>>2]|0)+24>>2]<<1|0)?o:0}while((w|0)<(K|0))}}}else xK(c);if(J|0?(c=J+4|0,K=f[c>>2]|0,f[c>>2]=K+-1,(K|0)==1):0)qg[f[(f[J>>2]|0)+8>>2]&1023](J);J=m+36|0;K=f[J>>2]|0;if(K|0?(c=K+12|0,K=f[c>>2]|0,f[c>>2]=K+-1,(K|0)==1):0)XO(m);f[J>>2]=0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;if((f[a>>2]|0)>0){G=f[y>>2]|0;y=0;do{f[G+(y<<2)>>2]=0;y=y+1|0}while((y|0)<(f[a>>2]|0))}a=f[A>>2]|0;if((a|0)!=(z|0))dX(a);a=l+36|0;z=f[a>>2]|0;if(z|0?(A=z+12|0,z=f[A>>2]|0,f[A>>2]=z+-1,(z|0)==1):0)XO(l);f[a>>2]=0;a=l+16|0;z=l+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if((f[z>>2]|0)>0){a=f[l+40>>2]|0;A=0;do{f[a+(A<<2)>>2]=0;A=A+1|0}while((A|0)<(f[z>>2]|0))}z=f[l+44>>2]|0;if((z|0)!=(l+48|0))dX(z);if(!(f[k+4>>2]|0)){u=i;return}u=i;return}function uea(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0;g=u;u=u+16|0;h=g+8|0;i=g;yV(h,56940);j=BK()|0;f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];tea(a,b,j,c,d,i);if(!(f[h+4>>2]|0)){u=g;return}u=g;return}function vea(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=u;u=u+80|0;n=m+72|0;o=m+40|0;p=m+32|0;q=m;yV(p,56960);r=k?2:0;switch(i|0){case 0:{f[q>>2]=j;f[q+4>>2]=r;b[q+8>>0]=l&1;i=q+12|0;s=l?57e3:57020;f[i>>2]=f[s>>2];f[i+4>>2]=f[s+4>>2];f[i+8>>2]=f[s+8>>2];f[i+12>>2]=f[s+12>>2];f[i+16>>2]=f[s+16>>2];if(!k){s=q+20|0;t=f[i>>2]|0;f[i>>2]=f[s>>2];f[s>>2]=t}f[n>>2]=0;f[n+4>>2]=h;f[o>>2]=56988;f[o+4>>2]=a;f[o+8>>2]=c;f[o+12>>2]=d;f[o+16>>2]=e;f[o+20>>2]=g;f[o+24>>2]=q;$Z(n,o,+(X(h,g)|0)*.0000152587890625);break}case 2:{f[q>>2]=j;f[q+4>>2]=r;b[q+8>>0]=l&1;t=q+12|0;s=l?57e3:57020;f[t>>2]=f[s>>2];f[t+4>>2]=f[s+4>>2];f[t+8>>2]=f[s+8>>2];f[t+12>>2]=f[s+12>>2];f[t+16>>2]=f[s+16>>2];if(!k){s=q+20|0;i=f[t>>2]|0;f[t>>2]=f[s>>2];f[s>>2]=i}f[n>>2]=0;f[n+4>>2]=h;f[o>>2]=57048;f[o+4>>2]=a;f[o+8>>2]=c;f[o+12>>2]=d;f[o+16>>2]=e;f[o+20>>2]=g;f[o+24>>2]=q;$Z(n,o,+(X(h,g)|0)*.0000152587890625);break}default:{f[q>>2]=j;f[q+4>>2]=r;b[q+8>>0]=l&1;r=q+12|0;j=l?57060:57080;f[r>>2]=f[j>>2];f[r+4>>2]=f[j+4>>2];f[r+8>>2]=f[j+8>>2];f[r+12>>2]=f[j+12>>2];f[r+16>>2]=f[j+16>>2];if(!k){k=q+20|0;j=f[r>>2]|0;f[r>>2]=f[k>>2];f[k>>2]=j}f[n>>2]=0;f[n+4>>2]=h;f[o>>2]=57108;f[o+4>>2]=a;f[o+8>>2]=c;f[o+12>>2]=d;f[o+16>>2]=e;f[o+20>>2]=g;f[o+24>>2]=q;$Z(n,o,+(X(h,g)|0)*.0000152587890625)}}if(!(f[p+4>>2]|0)){u=m;return}u=m;return}function wea(a){a=a|0;GQa(a);return}function xea(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0;d=u;u=u+16|0;e=d;yV(e,57120);g=f[c>>2]|0;h=f[c+4>>2]|0;a:do if((g|0)<(h|0)){c=f[a+16>>2]|0;i=f[a+8>>2]|0;j=a+24|0;k=f[a+20>>2]|0;l=k*3|0;if((k|0)<=0){k=g;while(1){k=k+1|0;if((k|0)>=(h|0))break a}}k=(f[a+4>>2]|0)+(X(i,g)|0)|0;m=(f[a+12>>2]|0)+(X(c,g)|0)|0;o=g;p=k;while(1){k=f[j>>2]|0;q=f[k>>2]|0;r=f[k+4>>2]|0;s=(b[k+8>>0]^1)&255;t=+n[k+12>>2];v=+n[k+16>>2];w=+n[k+20>>2];x=+n[k+24>>2];y=+n[k+28>>2];k=r^2;z=s+1|0;A=2-s|0;s=0;B=p;while(1){C=t*+n[B>>2]+v*+n[B+4>>2]+w*+n[B+8>>2];D=x*(+n[B+(k<<2)>>2]-C)+.5;E=y*(+n[B+(r<<2)>>2]-C)+.5;n[m+(s<<2)>>2]=C;n[m+(z+s<<2)>>2]=D;n[m+(A+s<<2)>>2]=E;s=s+3|0;if((s|0)>=(l|0))break;else B=B+(q<<2)|0}o=o+1|0;if((o|0)>=(h|0))break;else{m=m+c|0;p=p+i|0}}}while(0);if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function yea(a){a=a|0;GQa(a);return}function zea(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c;yV(d,57140);e=f[b>>2]|0;g=a+8|0;h=a+16|0;i=b+4|0;if((e|0)<(f[i>>2]|0)){b=(f[a+12>>2]|0)+(X(f[h>>2]|0,e)|0)|0;j=a+24|0;k=a+20|0;l=b;b=e;m=(f[a+4>>2]|0)+(X(f[g>>2]|0,e)|0)|0;while(1){Aea(f[j>>2]|0,m,l,f[k>>2]|0);b=b+1|0;if((b|0)>=(f[i>>2]|0))break;else{l=l+(f[h>>2]|0)|0;m=m+(f[g>>2]|0)|0}}}if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function Aea(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;h=f[a>>2]|0;i=f[a+4>>2]|0;k=(b[a+8>>0]^1)&255;l=f[a+12>>2]|0;m=f[a+16>>2]|0;n=f[a+20>>2]|0;o=f[a+24>>2]|0;p=f[a+28>>2]|0;a=g*3|0;if((g|0)<=0)return;g=i^2;q=k+1|0;r=2-k|0;k=0;s=c;while(1){c=X(l,j[s>>1]|0)|0;t=X(m,j[s+2>>1]|0)|0;u=c+8192+t+(X(n,j[s+4>>1]|0)|0)>>14;t=(X((j[s+(g<<1)>>1]|0)-u|0,o)|0)+536879104>>14;c=(X((j[s+(i<<1)>>1]|0)-u|0,p)|0)+536879104>>14;d[e+(k<<1)>>1]=u>>>0<65536?u:(u|0)>0?65535:0;d[e+(q+k<<1)>>1]=t>>>0<65536?t:(t|0)>0?65535:0;d[e+(r+k<<1)>>1]=c>>>0<65536?c:(c|0)>0?65535:0;k=k+3|0;if((k|0)>=(a|0))break;else s=s+(h<<1)|0}return}function Bea(a){a=a|0;GQa(a);return}function Cea(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c;yV(d,57160);e=f[b>>2]|0;g=a+8|0;h=a+16|0;i=b+4|0;if((e|0)<(f[i>>2]|0)){b=(f[a+12>>2]|0)+(X(f[h>>2]|0,e)|0)|0;j=a+24|0;k=a+20|0;l=b;b=e;m=(f[a+4>>2]|0)+(X(f[g>>2]|0,e)|0)|0;while(1){Dea(f[j>>2]|0,m,l,f[k>>2]|0);b=b+1|0;if((b|0)>=(f[i>>2]|0))break;else{l=l+(f[h>>2]|0)|0;m=m+(f[g>>2]|0)|0}}}if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function Dea(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=f[a>>2]|0;i=f[a+4>>2]|0;j=(b[a+8>>0]^1)&255;k=f[a+12>>2]|0;l=f[a+16>>2]|0;m=f[a+20>>2]|0;n=f[a+24>>2]|0;o=f[a+28>>2]|0;a=e*3|0;if((e|0)<=0)return;e=i^2;p=j+1|0;q=2-j|0;j=0;r=c;while(1){c=X(k,h[r>>0]|0)|0;s=X(l,h[r+1>>0]|0)|0;t=c+8192+s+(X(m,h[r+2>>0]|0)|0)>>14;s=(X((h[r+e>>0]|0)-t|0,n)|0)+2105344>>14;c=(X((h[r+i>>0]|0)-t|0,o)|0)+2105344>>14;b[d+j>>0]=t>>>0<256?t:(t|0)>0?255:0;b[d+(p+j)>>0]=s>>>0<256?s:(s|0)>0?255:0;b[d+(q+j)>>0]=c>>>0<256?c:(c|0)>0?255:0;j=j+3|0;if((j|0)>=(a|0))break;else r=r+g|0}return}function Eea(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0;m=u;u=u+80|0;n=m+72|0;o=m+40|0;p=m+32|0;q=m;yV(p,57180);r=k?2:0;switch(i|0){case 0:{f[q>>2]=j;f[q+4>>2]=r;b[q+8>>0]=l&1;i=q+12|0;k=l?57220:57236;f[i>>2]=f[k>>2];f[i+4>>2]=f[k+4>>2];f[i+8>>2]=f[k+8>>2];f[i+12>>2]=f[k+12>>2];f[n>>2]=0;f[n+4>>2]=h;f[o>>2]=57208;f[o+4>>2]=a;f[o+8>>2]=c;f[o+12>>2]=d;f[o+16>>2]=e;f[o+20>>2]=g;f[o+24>>2]=q;$Z(n,o,+(X(h,g)|0)*.0000152587890625);break}case 2:{f[q>>2]=j;f[q+4>>2]=r;b[q+8>>0]=l&1;k=q+12|0;i=l?57220:57236;f[k>>2]=f[i>>2];f[k+4>>2]=f[i+4>>2];f[k+8>>2]=f[i+8>>2];f[k+12>>2]=f[i+12>>2];f[n>>2]=0;f[n+4>>2]=h;f[o>>2]=57260;f[o+4>>2]=a;f[o+8>>2]=c;f[o+12>>2]=d;f[o+16>>2]=e;f[o+20>>2]=g;f[o+24>>2]=q;$Z(n,o,+(X(h,g)|0)*.0000152587890625);break}default:{f[q>>2]=j;f[q+4>>2]=r;b[q+8>>0]=l&1;r=q+12|0;j=l?57272:57288;f[r>>2]=f[j>>2];f[r+4>>2]=f[j+4>>2];f[r+8>>2]=f[j+8>>2];f[r+12>>2]=f[j+12>>2];f[n>>2]=0;f[n+4>>2]=h;f[o>>2]=57312;f[o+4>>2]=a;f[o+8>>2]=c;f[o+12>>2]=d;f[o+16>>2]=e;f[o+20>>2]=g;f[o+24>>2]=q;$Z(n,o,+(X(h,g)|0)*.0000152587890625)}}if(!(f[p+4>>2]|0)){u=m;return}u=m;return}function Fea(a){a=a|0;GQa(a);return}function Gea(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c;yV(d,57324);e=f[b>>2]|0;g=a+8|0;h=a+16|0;i=b+4|0;if((e|0)<(f[i>>2]|0)){b=(f[a+12>>2]|0)+(X(f[h>>2]|0,e)|0)|0;j=a+24|0;k=a+20|0;l=b;b=e;m=(f[a+4>>2]|0)+(X(f[g>>2]|0,e)|0)|0;while(1){Hea(f[j>>2]|0,m,l,f[k>>2]|0);b=b+1|0;if((b|0)>=(f[i>>2]|0))break;else{l=l+(f[h>>2]|0)|0;m=m+(f[g>>2]|0)|0}}}if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function Hea(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0;g=f[a>>2]|0;h=f[a+4>>2]|0;i=(b[a+8>>0]^1)&255;j=+n[a+12>>2];k=+n[a+16>>2];l=+n[a+20>>2];m=+n[a+24>>2];a=e*3|0;if((e|0)<=0)return;e=i+1|0;o=2-i|0;i=h^2;if((g|0)==4){p=0;q=d;while(1){r=+n[c+(p<<2)>>2];s=+n[c+(o+p<<2)>>2]+-.5;t=+n[c+(e+p<<2)>>2]+-.5;n[q+(h<<2)>>2]=r+m*s;n[q+4>>2]=k*t+(r+l*s);n[q+(i<<2)>>2]=r+j*t;n[q+12>>2]=1.0;p=p+3|0;if((p|0)>=(a|0))break;else q=q+16|0}return}else{q=0;p=d;while(1){t=+n[c+(q<<2)>>2];r=+n[c+(o+q<<2)>>2]+-.5;s=+n[c+(e+q<<2)>>2]+-.5;n[p+(h<<2)>>2]=t+m*r;n[p+4>>2]=k*s+(t+l*r);n[p+(i<<2)>>2]=t+j*s;q=q+3|0;if((q|0)>=(a|0))break;else p=p+(g<<2)|0}return}}function Iea(a){a=a|0;GQa(a);return}function Jea(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c;yV(d,57344);e=f[b>>2]|0;g=a+8|0;h=a+16|0;i=b+4|0;if((e|0)<(f[i>>2]|0)){b=(f[a+12>>2]|0)+(X(f[h>>2]|0,e)|0)|0;j=a+24|0;k=a+20|0;l=b;b=e;m=(f[a+4>>2]|0)+(X(f[g>>2]|0,e)|0)|0;while(1){Kea(f[j>>2]|0,m,l,f[k>>2]|0);b=b+1|0;if((b|0)>=(f[i>>2]|0))break;else{l=l+(f[h>>2]|0)|0;m=m+(f[g>>2]|0)|0}}}if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function Kea(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=f[a>>2]|0;i=f[a+4>>2]|0;k=(b[a+8>>0]^1)&255;l=f[a+12>>2]|0;m=f[a+16>>2]|0;n=f[a+20>>2]|0;o=f[a+24>>2]|0;a=g*3|0;if((g|0)<=0)return;g=k+1|0;p=2-k|0;k=i^2;if((h|0)==4){q=0;r=e;while(1){s=j[c+(q<<1)>>1]|0;t=(j[c+(p+q<<1)>>1]|0)+-32768|0;u=((X(t,o)|0)+8192>>14)+s|0;v=(j[c+(g+q<<1)>>1]|0)+-32768|0;w=((X(v,m)|0)+8192+(X(t,n)|0)>>14)+s|0;t=((X(v,l)|0)+8192>>14)+s|0;d[r+(i<<1)>>1]=u>>>0<65536?u:(u|0)>0?65535:0;d[r+2>>1]=w>>>0<65536?w:(w|0)>0?65535:0;d[r+(k<<1)>>1]=t>>>0<65536?t:(t|0)>0?65535:0;d[r+6>>1]=-1;q=q+3|0;if((q|0)>=(a|0))break;else r=r+8|0}return}else{r=0;q=e;while(1){e=j[c+(r<<1)>>1]|0;t=(j[c+(p+r<<1)>>1]|0)+-32768|0;w=((X(t,o)|0)+8192>>14)+e|0;u=(j[c+(g+r<<1)>>1]|0)+-32768|0;s=((X(u,m)|0)+8192+(X(t,n)|0)>>14)+e|0;t=((X(u,l)|0)+8192>>14)+e|0;d[q+(i<<1)>>1]=w>>>0<65536?w:(w|0)>0?65535:0;d[q+2>>1]=s>>>0<65536?s:(s|0)>0?65535:0;d[q+(k<<1)>>1]=t>>>0<65536?t:(t|0)>0?65535:0;r=r+3|0;if((r|0)>=(a|0))break;else q=q+(h<<1)|0}return}}function Lea(a){a=a|0;GQa(a);return}function Mea(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c;yV(d,57364);e=f[b>>2]|0;g=a+8|0;h=a+16|0;i=b+4|0;if((e|0)<(f[i>>2]|0)){b=(f[a+12>>2]|0)+(X(f[h>>2]|0,e)|0)|0;j=a+24|0;k=a+20|0;l=b;b=e;m=(f[a+4>>2]|0)+(X(f[g>>2]|0,e)|0)|0;while(1){Nea(f[j>>2]|0,m,l,f[k>>2]|0);b=b+1|0;if((b|0)>=(f[i>>2]|0))break;else{l=l+(f[h>>2]|0)|0;m=m+(f[g>>2]|0)|0}}}if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function Nea(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;g=f[a>>2]|0;i=f[a+4>>2]|0;j=(b[a+8>>0]^1)&255;k=f[a+12>>2]|0;l=f[a+16>>2]|0;m=f[a+20>>2]|0;n=f[a+24>>2]|0;a=e*3|0;if((e|0)<=0)return;e=j+1|0;o=2-j|0;j=i^2;if((g|0)==4){p=0;q=d;while(1){r=h[c+p>>0]|0;s=(h[c+(o+p)>>0]|0)+-128|0;t=((X(s,n)|0)+8192>>14)+r|0;u=(h[c+(e+p)>>0]|0)+-128|0;v=((X(u,l)|0)+8192+(X(s,m)|0)>>14)+r|0;s=((X(u,k)|0)+8192>>14)+r|0;b[q+i>>0]=t>>>0<256?t:(t|0)>0?255:0;b[q+1>>0]=v>>>0<256?v:(v|0)>0?255:0;b[q+j>>0]=s>>>0<256?s:(s|0)>0?255:0;b[q+3>>0]=-1;p=p+3|0;if((p|0)>=(a|0))break;else q=q+4|0}return}else{q=0;p=d;while(1){d=h[c+q>>0]|0;s=(h[c+(o+q)>>0]|0)+-128|0;v=((X(s,n)|0)+8192>>14)+d|0;t=(h[c+(e+q)>>0]|0)+-128|0;r=((X(t,l)|0)+8192+(X(s,m)|0)>>14)+d|0;s=((X(t,k)|0)+8192>>14)+d|0;b[p+i>>0]=v>>>0<256?v:(v|0)>0?255:0;b[p+1>>0]=r>>>0<256?r:(r|0)>0?255:0;b[p+j>>0]=s>>>0<256?s:(s|0)>0?255:0;q=q+3|0;if((q|0)>=(a|0))break;else p=p+g|0}return}}function Oea(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;m=u;u=u+48|0;n=m+16|0;o=m+8|0;p=m;yV(p,57404);switch((k?20:0)+(j*100|0)+l|0){case 300:{f[n>>2]=57432;f[n+4>>2]=e;f[n+8>>2]=g;f[n+12>>2]=h;f[n+16>>2]=a;f[n+20>>2]=c;f[n+24>>2]=d;if((X(i,h)|0)>76799){f[o>>2]=0;f[o+4>>2]=(i|0)/2|0;$Z(o,n,-1.0)}else{f[o>>2]=0;f[o+4>>2]=(i|0)/2|0;Pea(n,o)}break}case 301:{f[n>>2]=57452;f[n+4>>2]=e;f[n+8>>2]=g;f[n+12>>2]=h;f[n+16>>2]=a;f[n+20>>2]=c;f[n+24>>2]=d;if((X(i,h)|0)>76799){f[o>>2]=0;f[o+4>>2]=(i|0)/2|0;$Z(o,n,-1.0)}else{f[o>>2]=0;f[o+4>>2]=(i|0)/2|0;Qea(n,o)}break}case 320:{f[n>>2]=57472;f[n+4>>2]=e;f[n+8>>2]=g;f[n+12>>2]=h;f[n+16>>2]=a;f[n+20>>2]=c;f[n+24>>2]=d;if((X(i,h)|0)>76799){f[o>>2]=0;f[o+4>>2]=(i|0)/2|0;$Z(o,n,-1.0)}else{f[o>>2]=0;f[o+4>>2]=(i|0)/2|0;Rea(n,o)}break}case 321:{f[n>>2]=57492;f[n+4>>2]=e;f[n+8>>2]=g;f[n+12>>2]=h;f[n+16>>2]=a;f[n+20>>2]=c;f[n+24>>2]=d;if((X(i,h)|0)>76799){f[o>>2]=0;f[o+4>>2]=(i|0)/2|0;$Z(o,n,-1.0)}else{f[o>>2]=0;f[o+4>>2]=(i|0)/2|0;Sea(n,o)}break}case 400:{f[n>>2]=57512;f[n+4>>2]=e;f[n+8>>2]=g;f[n+12>>2]=h;f[n+16>>2]=a;f[n+20>>2]=c;f[n+24>>2]=d;if((X(i,h)|0)>76799){f[o>>2]=0;f[o+4>>2]=(i|0)/2|0;$Z(o,n,-1.0)}else{f[o>>2]=0;f[o+4>>2]=(i|0)/2|0;Tea(n,o)}break}case 401:{f[n>>2]=57532;f[n+4>>2]=e;f[n+8>>2]=g;f[n+12>>2]=h;f[n+16>>2]=a;f[n+20>>2]=c;f[n+24>>2]=d;if((X(i,h)|0)>76799){f[o>>2]=0;f[o+4>>2]=(i|0)/2|0;$Z(o,n,-1.0)}else{f[o>>2]=0;f[o+4>>2]=(i|0)/2|0;Uea(n,o)}break}case 420:{f[n>>2]=57552;f[n+4>>2]=e;f[n+8>>2]=g;f[n+12>>2]=h;f[n+16>>2]=a;f[n+20>>2]=c;f[n+24>>2]=d;if((X(i,h)|0)>76799){f[o>>2]=0;f[o+4>>2]=(i|0)/2|0;$Z(o,n,-1.0)}else{f[o>>2]=0;f[o+4>>2]=(i|0)/2|0;Vea(n,o)}break}case 421:{f[n>>2]=57572;f[n+4>>2]=e;f[n+8>>2]=g;f[n+12>>2]=h;f[n+16>>2]=a;f[n+20>>2]=c;f[n+24>>2]=d;if((X(i,h)|0)>76799){f[o>>2]=0;f[o+4>>2]=(i|0)/2|0;$Z(o,n,-1.0)}else{f[o>>2]=0;f[o+4>>2]=(i|0)/2|0;Wea(n,o)}break}default:{f[n>>2]=0;f[n+4>>2]=0;o=JV(n,41)|0;i=227515;h=o+41|0;do{b[o>>0]=b[i>>0]|0;o=o+1|0;i=i+1|0}while((o|0)<(h|0));EP(-206,n,227557,226779,2404);KV(n)}}if(!(f[p+4>>2]|0)){u=m;return}u=m;return}function Pea(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;d=f[c>>2]<<1;e=f[c+4>>2]<<1;c=a+24|0;g=f[c>>2]|0;i=X(g,d)|0;if((d|0)>=(e|0))return;j=a+4|0;k=a+8|0;l=a+12|0;m=(f[a+20>>2]|0)+(i>>>1)|0;n=d;d=(f[a+16>>2]|0)+i|0;i=g;g=f[l>>2]|0;while(1){a=f[j>>2]|0;o=f[k>>2]|0;p=d+i|0;if((g|0)>0){q=a+(X(o,n)|0)|0;r=a+(X(o,n|1)|0)|0;o=0;while(1){a=(h[m+o>>0]|0)+-128|0;s=o|1;t=(h[m+s>>0]|0)+-128|0;u=(X(t,1673527)|0)+524288|0;v=(X(a,-409993)|0)+524288+(X(t,-852492)|0)|0;t=(X(a,2116026)|0)+524288|0;a=(h[d+o>>0]|0)+-16|0;w=X((a|0)>0?a:0,1220542)|0;a=w+u>>20;b[q+2>>0]=a>>>0<256?a:(a|0)>0?255:0;a=w+v>>20;b[q+1>>0]=a>>>0<256?a:(a|0)>0?255:0;a=w+t>>20;b[q>>0]=a>>>0<256?a:(a|0)>0?255:0;a=(h[d+s>>0]|0)+-16|0;w=X((a|0)>0?a:0,1220542)|0;a=w+u>>20;b[q+5>>0]=a>>>0<256?a:(a|0)>0?255:0;a=w+v>>20;b[q+4>>0]=a>>>0<256?a:(a|0)>0?255:0;a=w+t>>20;b[q+3>>0]=a>>>0<256?a:(a|0)>0?255:0;a=(h[p+o>>0]|0)+-16|0;w=X((a|0)>0?a:0,1220542)|0;a=w+u>>20;b[r+2>>0]=a>>>0<256?a:(a|0)>0?255:0;a=w+v>>20;b[r+1>>0]=a>>>0<256?a:(a|0)>0?255:0;a=w+t>>20;b[r>>0]=a>>>0<256?a:(a|0)>0?255:0;a=(h[p+s>>0]|0)+-16|0;s=X((a|0)>0?a:0,1220542)|0;a=s+u>>20;b[r+5>>0]=a>>>0<256?a:(a|0)>0?255:0;a=s+v>>20;b[r+4>>0]=a>>>0<256?a:(a|0)>0?255:0;a=s+t>>20;b[r+3>>0]=a>>>0<256?a:(a|0)>0?255:0;o=o+2|0;x=f[l>>2]|0;if((o|0)>=(x|0))break;else{q=q+6|0;r=r+6|0}}y=x;z=f[c>>2]|0}else{y=g;z=i}n=n+2|0;if((n|0)>=(e|0))break;else{m=m+z|0;d=d+(z<<1)|0;i=z;g=y}}return}function Qea(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;d=f[c>>2]<<1;e=f[c+4>>2]<<1;c=a+24|0;g=f[c>>2]|0;i=X(g,d)|0;if((d|0)>=(e|0))return;j=a+4|0;k=a+8|0;l=a+12|0;m=(f[a+20>>2]|0)+(i>>>1)|0;n=d;d=(f[a+16>>2]|0)+i|0;i=g;g=f[l>>2]|0;while(1){a=f[j>>2]|0;o=f[k>>2]|0;p=d+i|0;if((g|0)>0){q=a+(X(o,n)|0)|0;r=a+(X(o,n|1)|0)|0;o=0;while(1){a=o|1;s=(h[m+a>>0]|0)+-128|0;t=(h[m+o>>0]|0)+-128|0;u=(X(t,1673527)|0)+524288|0;v=(X(s,-409993)|0)+524288+(X(t,-852492)|0)|0;t=(X(s,2116026)|0)+524288|0;s=(h[d+o>>0]|0)+-16|0;w=X((s|0)>0?s:0,1220542)|0;s=w+u>>20;b[q+2>>0]=s>>>0<256?s:(s|0)>0?255:0;s=w+v>>20;b[q+1>>0]=s>>>0<256?s:(s|0)>0?255:0;s=w+t>>20;b[q>>0]=s>>>0<256?s:(s|0)>0?255:0;s=(h[d+a>>0]|0)+-16|0;w=X((s|0)>0?s:0,1220542)|0;s=w+u>>20;b[q+5>>0]=s>>>0<256?s:(s|0)>0?255:0;s=w+v>>20;b[q+4>>0]=s>>>0<256?s:(s|0)>0?255:0;s=w+t>>20;b[q+3>>0]=s>>>0<256?s:(s|0)>0?255:0;s=(h[p+o>>0]|0)+-16|0;w=X((s|0)>0?s:0,1220542)|0;s=w+u>>20;b[r+2>>0]=s>>>0<256?s:(s|0)>0?255:0;s=w+v>>20;b[r+1>>0]=s>>>0<256?s:(s|0)>0?255:0;s=w+t>>20;b[r>>0]=s>>>0<256?s:(s|0)>0?255:0;s=(h[p+a>>0]|0)+-16|0;a=X((s|0)>0?s:0,1220542)|0;s=a+u>>20;b[r+5>>0]=s>>>0<256?s:(s|0)>0?255:0;s=a+v>>20;b[r+4>>0]=s>>>0<256?s:(s|0)>0?255:0;s=a+t>>20;b[r+3>>0]=s>>>0<256?s:(s|0)>0?255:0;o=o+2|0;x=f[l>>2]|0;if((o|0)>=(x|0))break;else{q=q+6|0;r=r+6|0}}y=x;z=f[c>>2]|0}else{y=g;z=i}n=n+2|0;if((n|0)>=(e|0))break;else{m=m+z|0;d=d+(z<<1)|0;i=z;g=y}}return}function Rea(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;d=f[c>>2]<<1;e=f[c+4>>2]<<1;c=a+24|0;g=f[c>>2]|0;i=X(g,d)|0;if((d|0)>=(e|0))return;j=a+4|0;k=a+8|0;l=a+12|0;m=(f[a+20>>2]|0)+(i>>>1)|0;n=d;d=(f[a+16>>2]|0)+i|0;i=g;g=f[l>>2]|0;while(1){a=f[j>>2]|0;o=f[k>>2]|0;p=d+i|0;if((g|0)>0){q=a+(X(o,n)|0)|0;r=a+(X(o,n|1)|0)|0;o=0;while(1){a=(h[m+o>>0]|0)+-128|0;s=o|1;t=(h[m+s>>0]|0)+-128|0;u=(X(t,1673527)|0)+524288|0;v=(X(a,-409993)|0)+524288+(X(t,-852492)|0)|0;t=(X(a,2116026)|0)+524288|0;a=(h[d+o>>0]|0)+-16|0;w=X((a|0)>0?a:0,1220542)|0;a=w+u>>20;b[q>>0]=a>>>0<256?a:(a|0)>0?255:0;a=w+v>>20;b[q+1>>0]=a>>>0<256?a:(a|0)>0?255:0;a=w+t>>20;b[q+2>>0]=a>>>0<256?a:(a|0)>0?255:0;a=(h[d+s>>0]|0)+-16|0;w=X((a|0)>0?a:0,1220542)|0;a=w+u>>20;b[q+3>>0]=a>>>0<256?a:(a|0)>0?255:0;a=w+v>>20;b[q+4>>0]=a>>>0<256?a:(a|0)>0?255:0;a=w+t>>20;b[q+5>>0]=a>>>0<256?a:(a|0)>0?255:0;a=(h[p+o>>0]|0)+-16|0;w=X((a|0)>0?a:0,1220542)|0;a=w+u>>20;b[r>>0]=a>>>0<256?a:(a|0)>0?255:0;a=w+v>>20;b[r+1>>0]=a>>>0<256?a:(a|0)>0?255:0;a=w+t>>20;b[r+2>>0]=a>>>0<256?a:(a|0)>0?255:0;a=(h[p+s>>0]|0)+-16|0;s=X((a|0)>0?a:0,1220542)|0;a=s+u>>20;b[r+3>>0]=a>>>0<256?a:(a|0)>0?255:0;a=s+v>>20;b[r+4>>0]=a>>>0<256?a:(a|0)>0?255:0;a=s+t>>20;b[r+5>>0]=a>>>0<256?a:(a|0)>0?255:0;o=o+2|0;x=f[l>>2]|0;if((o|0)>=(x|0))break;else{q=q+6|0;r=r+6|0}}y=x;z=f[c>>2]|0}else{y=g;z=i}n=n+2|0;if((n|0)>=(e|0))break;else{m=m+z|0;d=d+(z<<1)|0;i=z;g=y}}return}function Sea(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;d=f[c>>2]<<1;e=f[c+4>>2]<<1;c=a+24|0;g=f[c>>2]|0;i=X(g,d)|0;if((d|0)>=(e|0))return;j=a+4|0;k=a+8|0;l=a+12|0;m=(f[a+20>>2]|0)+(i>>>1)|0;n=d;d=(f[a+16>>2]|0)+i|0;i=g;g=f[l>>2]|0;while(1){a=f[j>>2]|0;o=f[k>>2]|0;p=d+i|0;if((g|0)>0){q=a+(X(o,n)|0)|0;r=a+(X(o,n|1)|0)|0;o=0;while(1){a=o|1;s=(h[m+a>>0]|0)+-128|0;t=(h[m+o>>0]|0)+-128|0;u=(X(t,1673527)|0)+524288|0;v=(X(s,-409993)|0)+524288+(X(t,-852492)|0)|0;t=(X(s,2116026)|0)+524288|0;s=(h[d+o>>0]|0)+-16|0;w=X((s|0)>0?s:0,1220542)|0;s=w+u>>20;b[q>>0]=s>>>0<256?s:(s|0)>0?255:0;s=w+v>>20;b[q+1>>0]=s>>>0<256?s:(s|0)>0?255:0;s=w+t>>20;b[q+2>>0]=s>>>0<256?s:(s|0)>0?255:0;s=(h[d+a>>0]|0)+-16|0;w=X((s|0)>0?s:0,1220542)|0;s=w+u>>20;b[q+3>>0]=s>>>0<256?s:(s|0)>0?255:0;s=w+v>>20;b[q+4>>0]=s>>>0<256?s:(s|0)>0?255:0;s=w+t>>20;b[q+5>>0]=s>>>0<256?s:(s|0)>0?255:0;s=(h[p+o>>0]|0)+-16|0;w=X((s|0)>0?s:0,1220542)|0;s=w+u>>20;b[r>>0]=s>>>0<256?s:(s|0)>0?255:0;s=w+v>>20;b[r+1>>0]=s>>>0<256?s:(s|0)>0?255:0;s=w+t>>20;b[r+2>>0]=s>>>0<256?s:(s|0)>0?255:0;s=(h[p+a>>0]|0)+-16|0;a=X((s|0)>0?s:0,1220542)|0;s=a+u>>20;b[r+3>>0]=s>>>0<256?s:(s|0)>0?255:0;s=a+v>>20;b[r+4>>0]=s>>>0<256?s:(s|0)>0?255:0;s=a+t>>20;b[r+5>>0]=s>>>0<256?s:(s|0)>0?255:0;o=o+2|0;x=f[l>>2]|0;if((o|0)>=(x|0))break;else{q=q+6|0;r=r+6|0}}y=x;z=f[c>>2]|0}else{y=g;z=i}n=n+2|0;if((n|0)>=(e|0))break;else{m=m+z|0;d=d+(z<<1)|0;i=z;g=y}}return}function Tea(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;d=f[c>>2]<<1;e=f[c+4>>2]<<1;c=a+24|0;g=f[c>>2]|0;i=X(g,d)|0;if((d|0)>=(e|0))return;j=a+4|0;k=a+8|0;l=a+12|0;m=(f[a+20>>2]|0)+(i>>>1)|0;n=d;d=(f[a+16>>2]|0)+i|0;i=g;g=f[l>>2]|0;while(1){a=f[j>>2]|0;o=f[k>>2]|0;p=d+i|0;if((g|0)>0){q=a+(X(o,n)|0)|0;r=a+(X(o,n|1)|0)|0;o=0;while(1){a=(h[m+o>>0]|0)+-128|0;s=o|1;t=(h[m+s>>0]|0)+-128|0;u=(X(t,1673527)|0)+524288|0;v=(X(a,-409993)|0)+524288+(X(t,-852492)|0)|0;t=(X(a,2116026)|0)+524288|0;a=(h[d+o>>0]|0)+-16|0;w=X((a|0)>0?a:0,1220542)|0;a=w+u>>20;b[q+2>>0]=a>>>0<256?a:(a|0)>0?255:0;a=w+v>>20;b[q+1>>0]=a>>>0<256?a:(a|0)>0?255:0;a=w+t>>20;b[q>>0]=a>>>0<256?a:(a|0)>0?255:0;b[q+3>>0]=-1;a=(h[d+s>>0]|0)+-16|0;w=X((a|0)>0?a:0,1220542)|0;a=w+u>>20;b[q+6>>0]=a>>>0<256?a:(a|0)>0?255:0;a=w+v>>20;b[q+5>>0]=a>>>0<256?a:(a|0)>0?255:0;a=w+t>>20;b[q+4>>0]=a>>>0<256?a:(a|0)>0?255:0;b[q+7>>0]=-1;a=(h[p+o>>0]|0)+-16|0;w=X((a|0)>0?a:0,1220542)|0;a=w+u>>20;b[r+2>>0]=a>>>0<256?a:(a|0)>0?255:0;a=w+v>>20;b[r+1>>0]=a>>>0<256?a:(a|0)>0?255:0;a=w+t>>20;b[r>>0]=a>>>0<256?a:(a|0)>0?255:0;b[r+3>>0]=-1;a=(h[p+s>>0]|0)+-16|0;s=X((a|0)>0?a:0,1220542)|0;a=s+u>>20;b[r+6>>0]=a>>>0<256?a:(a|0)>0?255:0;a=s+v>>20;b[r+5>>0]=a>>>0<256?a:(a|0)>0?255:0;a=s+t>>20;b[r+4>>0]=a>>>0<256?a:(a|0)>0?255:0;b[r+7>>0]=-1;o=o+2|0;x=f[l>>2]|0;if((o|0)>=(x|0))break;else{q=q+8|0;r=r+8|0}}y=x;z=f[c>>2]|0}else{y=g;z=i}n=n+2|0;if((n|0)>=(e|0))break;else{m=m+z|0;d=d+(z<<1)|0;i=z;g=y}}return}function Uea(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;d=f[c>>2]<<1;e=f[c+4>>2]<<1;c=a+24|0;g=f[c>>2]|0;i=X(g,d)|0;if((d|0)>=(e|0))return;j=a+4|0;k=a+8|0;l=a+12|0;m=(f[a+20>>2]|0)+(i>>>1)|0;n=d;d=(f[a+16>>2]|0)+i|0;i=g;g=f[l>>2]|0;while(1){a=f[j>>2]|0;o=f[k>>2]|0;p=d+i|0;if((g|0)>0){q=a+(X(o,n)|0)|0;r=a+(X(o,n|1)|0)|0;o=0;while(1){a=o|1;s=(h[m+a>>0]|0)+-128|0;t=(h[m+o>>0]|0)+-128|0;u=(X(t,1673527)|0)+524288|0;v=(X(s,-409993)|0)+524288+(X(t,-852492)|0)|0;t=(X(s,2116026)|0)+524288|0;s=(h[d+o>>0]|0)+-16|0;w=X((s|0)>0?s:0,1220542)|0;s=w+u>>20;b[q+2>>0]=s>>>0<256?s:(s|0)>0?255:0;s=w+v>>20;b[q+1>>0]=s>>>0<256?s:(s|0)>0?255:0;s=w+t>>20;b[q>>0]=s>>>0<256?s:(s|0)>0?255:0;b[q+3>>0]=-1;s=(h[d+a>>0]|0)+-16|0;w=X((s|0)>0?s:0,1220542)|0;s=w+u>>20;b[q+6>>0]=s>>>0<256?s:(s|0)>0?255:0;s=w+v>>20;b[q+5>>0]=s>>>0<256?s:(s|0)>0?255:0;s=w+t>>20;b[q+4>>0]=s>>>0<256?s:(s|0)>0?255:0;b[q+7>>0]=-1;s=(h[p+o>>0]|0)+-16|0;w=X((s|0)>0?s:0,1220542)|0;s=w+u>>20;b[r+2>>0]=s>>>0<256?s:(s|0)>0?255:0;s=w+v>>20;b[r+1>>0]=s>>>0<256?s:(s|0)>0?255:0;s=w+t>>20;b[r>>0]=s>>>0<256?s:(s|0)>0?255:0;b[r+3>>0]=-1;s=(h[p+a>>0]|0)+-16|0;a=X((s|0)>0?s:0,1220542)|0;s=a+u>>20;b[r+6>>0]=s>>>0<256?s:(s|0)>0?255:0;s=a+v>>20;b[r+5>>0]=s>>>0<256?s:(s|0)>0?255:0;s=a+t>>20;b[r+4>>0]=s>>>0<256?s:(s|0)>0?255:0;b[r+7>>0]=-1;o=o+2|0;x=f[l>>2]|0;if((o|0)>=(x|0))break;else{q=q+8|0;r=r+8|0}}y=x;z=f[c>>2]|0}else{y=g;z=i}n=n+2|0;if((n|0)>=(e|0))break;else{m=m+z|0;d=d+(z<<1)|0;i=z;g=y}}return}function Vea(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;d=f[c>>2]<<1;e=f[c+4>>2]<<1;c=a+24|0;g=f[c>>2]|0;i=X(g,d)|0;if((d|0)>=(e|0))return;j=a+4|0;k=a+8|0;l=a+12|0;m=(f[a+20>>2]|0)+(i>>>1)|0;n=d;d=(f[a+16>>2]|0)+i|0;i=g;g=f[l>>2]|0;while(1){a=f[j>>2]|0;o=f[k>>2]|0;p=d+i|0;if((g|0)>0){q=a+(X(o,n)|0)|0;r=a+(X(o,n|1)|0)|0;o=0;while(1){a=(h[m+o>>0]|0)+-128|0;s=o|1;t=(h[m+s>>0]|0)+-128|0;u=(X(t,1673527)|0)+524288|0;v=(X(a,-409993)|0)+524288+(X(t,-852492)|0)|0;t=(X(a,2116026)|0)+524288|0;a=(h[d+o>>0]|0)+-16|0;w=X((a|0)>0?a:0,1220542)|0;a=w+u>>20;b[q>>0]=a>>>0<256?a:(a|0)>0?255:0;a=w+v>>20;b[q+1>>0]=a>>>0<256?a:(a|0)>0?255:0;a=w+t>>20;b[q+2>>0]=a>>>0<256?a:(a|0)>0?255:0;b[q+3>>0]=-1;a=(h[d+s>>0]|0)+-16|0;w=X((a|0)>0?a:0,1220542)|0;a=w+u>>20;b[q+4>>0]=a>>>0<256?a:(a|0)>0?255:0;a=w+v>>20;b[q+5>>0]=a>>>0<256?a:(a|0)>0?255:0;a=w+t>>20;b[q+6>>0]=a>>>0<256?a:(a|0)>0?255:0;b[q+7>>0]=-1;a=(h[p+o>>0]|0)+-16|0;w=X((a|0)>0?a:0,1220542)|0;a=w+u>>20;b[r>>0]=a>>>0<256?a:(a|0)>0?255:0;a=w+v>>20;b[r+1>>0]=a>>>0<256?a:(a|0)>0?255:0;a=w+t>>20;b[r+2>>0]=a>>>0<256?a:(a|0)>0?255:0;b[r+3>>0]=-1;a=(h[p+s>>0]|0)+-16|0;s=X((a|0)>0?a:0,1220542)|0;a=s+u>>20;b[r+4>>0]=a>>>0<256?a:(a|0)>0?255:0;a=s+v>>20;b[r+5>>0]=a>>>0<256?a:(a|0)>0?255:0;a=s+t>>20;b[r+6>>0]=a>>>0<256?a:(a|0)>0?255:0;b[r+7>>0]=-1;o=o+2|0;x=f[l>>2]|0;if((o|0)>=(x|0))break;else{q=q+8|0;r=r+8|0}}y=x;z=f[c>>2]|0}else{y=g;z=i}n=n+2|0;if((n|0)>=(e|0))break;else{m=m+z|0;d=d+(z<<1)|0;i=z;g=y}}return}function Wea(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;d=f[c>>2]<<1;e=f[c+4>>2]<<1;c=a+24|0;g=f[c>>2]|0;i=X(g,d)|0;if((d|0)>=(e|0))return;j=a+4|0;k=a+8|0;l=a+12|0;m=(f[a+20>>2]|0)+(i>>>1)|0;n=d;d=(f[a+16>>2]|0)+i|0;i=g;g=f[l>>2]|0;while(1){a=f[j>>2]|0;o=f[k>>2]|0;p=d+i|0;if((g|0)>0){q=a+(X(o,n)|0)|0;r=a+(X(o,n|1)|0)|0;o=0;while(1){a=o|1;s=(h[m+a>>0]|0)+-128|0;t=(h[m+o>>0]|0)+-128|0;u=(X(t,1673527)|0)+524288|0;v=(X(s,-409993)|0)+524288+(X(t,-852492)|0)|0;t=(X(s,2116026)|0)+524288|0;s=(h[d+o>>0]|0)+-16|0;w=X((s|0)>0?s:0,1220542)|0;s=w+u>>20;b[q>>0]=s>>>0<256?s:(s|0)>0?255:0;s=w+v>>20;b[q+1>>0]=s>>>0<256?s:(s|0)>0?255:0;s=w+t>>20;b[q+2>>0]=s>>>0<256?s:(s|0)>0?255:0;b[q+3>>0]=-1;s=(h[d+a>>0]|0)+-16|0;w=X((s|0)>0?s:0,1220542)|0;s=w+u>>20;b[q+4>>0]=s>>>0<256?s:(s|0)>0?255:0;s=w+v>>20;b[q+5>>0]=s>>>0<256?s:(s|0)>0?255:0;s=w+t>>20;b[q+6>>0]=s>>>0<256?s:(s|0)>0?255:0;b[q+7>>0]=-1;s=(h[p+o>>0]|0)+-16|0;w=X((s|0)>0?s:0,1220542)|0;s=w+u>>20;b[r>>0]=s>>>0<256?s:(s|0)>0?255:0;s=w+v>>20;b[r+1>>0]=s>>>0<256?s:(s|0)>0?255:0;s=w+t>>20;b[r+2>>0]=s>>>0<256?s:(s|0)>0?255:0;b[r+3>>0]=-1;s=(h[p+a>>0]|0)+-16|0;a=X((s|0)>0?s:0,1220542)|0;s=a+u>>20;b[r+4>>0]=s>>>0<256?s:(s|0)>0?255:0;s=a+v>>20;b[r+5>>0]=s>>>0<256?s:(s|0)>0?255:0;s=a+t>>20;b[r+6>>0]=s>>>0<256?s:(s|0)>0?255:0;b[r+7>>0]=-1;o=o+2|0;x=f[l>>2]|0;if((o|0)>=(x|0))break;else{q=q+8|0;r=r+8|0}}y=x;z=f[c>>2]|0}else{y=g;z=i}n=n+2|0;if((n|0)>=(e|0))break;else{m=m+z|0;d=d+(z<<1)|0;i=z;g=y}}return}function Xea(a){a=a|0;GQa(a);return}function Yea(a){a=a|0;GQa(a);return}function Zea(a){a=a|0;GQa(a);return}function _ea(a){a=a|0;GQa(a);return}function $ea(a){a=a|0;GQa(a);return}function afa(a){a=a|0;GQa(a);return}function bfa(a){a=a|0;GQa(a);return}function cfa(a){a=a|0;GQa(a);return}function dfa(a,c,d,e,g,h,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;l=u;u=u+64|0;m=l+16|0;n=l+8|0;o=l;yV(o,57584);p=a+(X(h,c)|0)|0;q=(h|0)%4|0;r=a+(X(((h|0)/4|0)+h|0,c)|0)+(X((q|0)/2|0,(g|0)/2|0)|0)|0;s=(q|0)==2;q=(k|0)==1;k=q?r:p;t=q?p:r;r=s&q&1;p=s&(q^1)&1;switch(((i*10|0)+-30+(j?2:0)|0)>>>1&2147483647|0){case 0:{f[m>>2]=57612;f[m+4>>2]=d;f[m+8>>2]=e;f[m+12>>2]=g;f[m+16>>2]=a;f[m+20>>2]=k;f[m+24>>2]=t;f[m+28>>2]=c;f[m+32>>2]=r;f[m+36>>2]=p;if((X(h,g)|0)>76799){f[n>>2]=0;f[n+4>>2]=(h|0)/2|0;$Z(n,m,-1.0)}else{f[n>>2]=0;f[n+4>>2]=(h|0)/2|0;efa(m,n)}break}case 1:{f[m>>2]=57632;f[m+4>>2]=d;f[m+8>>2]=e;f[m+12>>2]=g;f[m+16>>2]=a;f[m+20>>2]=k;f[m+24>>2]=t;f[m+28>>2]=c;f[m+32>>2]=r;f[m+36>>2]=p;if((X(h,g)|0)>76799){f[n>>2]=0;f[n+4>>2]=(h|0)/2|0;$Z(n,m,-1.0)}else{f[n>>2]=0;f[n+4>>2]=(h|0)/2|0;ffa(m,n)}break}case 5:{f[m>>2]=57652;f[m+4>>2]=d;f[m+8>>2]=e;f[m+12>>2]=g;f[m+16>>2]=a;f[m+20>>2]=k;f[m+24>>2]=t;f[m+28>>2]=c;f[m+32>>2]=r;f[m+36>>2]=p;if((X(h,g)|0)>76799){f[n>>2]=0;f[n+4>>2]=(h|0)/2|0;$Z(n,m,-1.0)}else{f[n>>2]=0;f[n+4>>2]=(h|0)/2|0;gfa(m,n)}break}case 6:{f[m>>2]=57672;f[m+4>>2]=d;f[m+8>>2]=e;f[m+12>>2]=g;f[m+16>>2]=a;f[m+20>>2]=k;f[m+24>>2]=t;f[m+28>>2]=c;f[m+32>>2]=r;f[m+36>>2]=p;if((X(h,g)|0)>76799){f[n>>2]=0;f[n+4>>2]=(h|0)/2|0;$Z(n,m,-1.0)}else{f[n>>2]=0;f[n+4>>2]=(h|0)/2|0;hfa(m,n)}break}default:{f[m>>2]=0;f[m+4>>2]=0;n=JV(m,41)|0;h=227515;g=n+41|0;do{b[n>>0]=b[h>>0]|0;n=n+1|0;h=h+1|0}while((n|0)<(g|0));EP(-206,m,228120,226779,2431);KV(m)}}if(!(f[o+4>>2]|0)){u=l;return}u=l;return}function efa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;d=u;u=u+16|0;e=d;g=f[c>>2]|0;i=g<<1;j=f[c+4>>2]<<1;c=a+12|0;k=f[c>>2]|0;l=(k|0)/2|0;f[e>>2]=l;m=a+28|0;n=f[m>>2]|0;f[e+4>>2]=n-l;l=f[a+32>>2]|0;o=f[a+36>>2]|0;p=(f[a+16>>2]|0)+(X(n,i)|0)|0;q=X((g|0)/2|0,n)|0;r=(f[a+20>>2]|0)+q|0;s=(f[a+24>>2]|0)+q|0;if(((g|0)%2|0|0)==1){t=p;v=i;w=s;x=o;y=r;z=l;A=k;B=n;C=2}else{D=p;E=i;F=l;G=o;H=r;I=s;J=n;K=k}while(1){if((C|0)==2){C=0;D=t;E=v;F=z+1|0;G=x+1|0;H=y+(f[e+((z&1)<<2)>>2]|0)|0;I=w+(f[e+((x&1)<<2)>>2]|0)|0;J=B;K=A}if((E|0)>=(j|0))break;k=f[a+4>>2]|0;n=f[a+8>>2]|0;s=D+J|0;if((K|0)>1){r=k+(X(n,E)|0)|0;o=k+(X(n,E|1)|0)|0;n=0;while(1){k=(h[H+n>>0]|0)+-128|0;l=(h[I+n>>0]|0)+-128|0;i=(X(l,1673527)|0)+524288|0;p=(X(k,-409993)|0)+524288+(X(l,-852492)|0)|0;l=(X(k,2116026)|0)+524288|0;k=n<<1;g=(h[D+k>>0]|0)+-16|0;q=X((g|0)>0?g:0,1220542)|0;g=q+i>>20;b[r+2>>0]=g>>>0<256?g:(g|0)>0?255:0;g=q+p>>20;b[r+1>>0]=g>>>0<256?g:(g|0)>0?255:0;g=q+l>>20;b[r>>0]=g>>>0<256?g:(g|0)>0?255:0;g=k|1;q=(h[D+g>>0]|0)+-16|0;L=X((q|0)>0?q:0,1220542)|0;q=L+i>>20;b[r+5>>0]=q>>>0<256?q:(q|0)>0?255:0;q=L+p>>20;b[r+4>>0]=q>>>0<256?q:(q|0)>0?255:0;q=L+l>>20;b[r+3>>0]=q>>>0<256?q:(q|0)>0?255:0;q=(h[s+k>>0]|0)+-16|0;k=X((q|0)>0?q:0,1220542)|0;q=k+i>>20;b[o+2>>0]=q>>>0<256?q:(q|0)>0?255:0;q=k+p>>20;b[o+1>>0]=q>>>0<256?q:(q|0)>0?255:0;q=k+l>>20;b[o>>0]=q>>>0<256?q:(q|0)>0?255:0;q=(h[s+g>>0]|0)+-16|0;g=X((q|0)>0?q:0,1220542)|0;q=g+i>>20;b[o+5>>0]=q>>>0<256?q:(q|0)>0?255:0;q=g+p>>20;b[o+4>>0]=q>>>0<256?q:(q|0)>0?255:0;q=g+l>>20;b[o+3>>0]=q>>>0<256?q:(q|0)>0?255:0;n=n+1|0;M=f[c>>2]|0;if((n|0)>=((M|0)/2|0|0))break;else{r=r+6|0;o=o+6|0}}N=M;O=f[m>>2]|0}else{N=K;O=J}t=D+(O<<1)|0;v=E+2|0;w=I;x=G;y=H;z=F;A=N;B=O;C=2}u=d;return}function ffa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;d=u;u=u+16|0;e=d;g=f[c>>2]|0;i=g<<1;j=f[c+4>>2]<<1;c=a+12|0;k=f[c>>2]|0;l=(k|0)/2|0;f[e>>2]=l;m=a+28|0;n=f[m>>2]|0;f[e+4>>2]=n-l;l=f[a+32>>2]|0;o=f[a+36>>2]|0;p=(f[a+16>>2]|0)+(X(n,i)|0)|0;q=X((g|0)/2|0,n)|0;r=(f[a+20>>2]|0)+q|0;s=(f[a+24>>2]|0)+q|0;if(((g|0)%2|0|0)==1){t=p;v=i;w=s;x=o;y=r;z=l;A=k;B=n;C=2}else{D=p;E=i;F=l;G=o;H=r;I=s;J=n;K=k}while(1){if((C|0)==2){C=0;D=t;E=v;F=z+1|0;G=x+1|0;H=y+(f[e+((z&1)<<2)>>2]|0)|0;I=w+(f[e+((x&1)<<2)>>2]|0)|0;J=B;K=A}if((E|0)>=(j|0))break;k=f[a+4>>2]|0;n=f[a+8>>2]|0;s=D+J|0;if((K|0)>1){r=k+(X(n,E)|0)|0;o=k+(X(n,E|1)|0)|0;n=0;while(1){k=(h[H+n>>0]|0)+-128|0;l=(h[I+n>>0]|0)+-128|0;i=(X(l,1673527)|0)+524288|0;p=(X(k,-409993)|0)+524288+(X(l,-852492)|0)|0;l=(X(k,2116026)|0)+524288|0;k=n<<1;g=(h[D+k>>0]|0)+-16|0;q=X((g|0)>0?g:0,1220542)|0;g=q+i>>20;b[r>>0]=g>>>0<256?g:(g|0)>0?255:0;g=q+p>>20;b[r+1>>0]=g>>>0<256?g:(g|0)>0?255:0;g=q+l>>20;b[r+2>>0]=g>>>0<256?g:(g|0)>0?255:0;g=k|1;q=(h[D+g>>0]|0)+-16|0;L=X((q|0)>0?q:0,1220542)|0;q=L+i>>20;b[r+3>>0]=q>>>0<256?q:(q|0)>0?255:0;q=L+p>>20;b[r+4>>0]=q>>>0<256?q:(q|0)>0?255:0;q=L+l>>20;b[r+5>>0]=q>>>0<256?q:(q|0)>0?255:0;q=(h[s+k>>0]|0)+-16|0;k=X((q|0)>0?q:0,1220542)|0;q=k+i>>20;b[o>>0]=q>>>0<256?q:(q|0)>0?255:0;q=k+p>>20;b[o+1>>0]=q>>>0<256?q:(q|0)>0?255:0;q=k+l>>20;b[o+2>>0]=q>>>0<256?q:(q|0)>0?255:0;q=(h[s+g>>0]|0)+-16|0;g=X((q|0)>0?q:0,1220542)|0;q=g+i>>20;b[o+3>>0]=q>>>0<256?q:(q|0)>0?255:0;q=g+p>>20;b[o+4>>0]=q>>>0<256?q:(q|0)>0?255:0;q=g+l>>20;b[o+5>>0]=q>>>0<256?q:(q|0)>0?255:0;n=n+1|0;M=f[c>>2]|0;if((n|0)>=((M|0)/2|0|0))break;else{r=r+6|0;o=o+6|0}}N=M;O=f[m>>2]|0}else{N=K;O=J}t=D+(O<<1)|0;v=E+2|0;w=I;x=G;y=H;z=F;A=N;B=O;C=2}u=d;return}function gfa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;d=u;u=u+16|0;e=d;g=f[c>>2]|0;i=g<<1;j=f[c+4>>2]<<1;c=a+12|0;k=f[c>>2]|0;l=(k|0)/2|0;f[e>>2]=l;m=a+28|0;n=f[m>>2]|0;f[e+4>>2]=n-l;l=f[a+32>>2]|0;o=f[a+36>>2]|0;p=(f[a+16>>2]|0)+(X(n,i)|0)|0;q=X((g|0)/2|0,n)|0;r=(f[a+20>>2]|0)+q|0;s=(f[a+24>>2]|0)+q|0;if(((g|0)%2|0|0)==1){t=p;v=i;w=s;x=o;y=r;z=l;A=k;B=n;C=2}else{D=p;E=i;F=l;G=o;H=r;I=s;J=n;K=k}while(1){if((C|0)==2){C=0;D=t;E=v;F=z+1|0;G=x+1|0;H=y+(f[e+((z&1)<<2)>>2]|0)|0;I=w+(f[e+((x&1)<<2)>>2]|0)|0;J=B;K=A}if((E|0)>=(j|0))break;k=f[a+4>>2]|0;n=f[a+8>>2]|0;s=D+J|0;if((K|0)>1){r=k+(X(n,E)|0)|0;o=k+(X(n,E|1)|0)|0;n=0;while(1){k=(h[H+n>>0]|0)+-128|0;l=(h[I+n>>0]|0)+-128|0;i=(X(l,1673527)|0)+524288|0;p=(X(k,-409993)|0)+524288+(X(l,-852492)|0)|0;l=(X(k,2116026)|0)+524288|0;k=n<<1;g=(h[D+k>>0]|0)+-16|0;q=X((g|0)>0?g:0,1220542)|0;g=q+i>>20;b[r+2>>0]=g>>>0<256?g:(g|0)>0?255:0;g=q+p>>20;b[r+1>>0]=g>>>0<256?g:(g|0)>0?255:0;g=q+l>>20;b[r>>0]=g>>>0<256?g:(g|0)>0?255:0;b[r+3>>0]=-1;g=k|1;q=(h[D+g>>0]|0)+-16|0;L=X((q|0)>0?q:0,1220542)|0;q=L+i>>20;b[r+6>>0]=q>>>0<256?q:(q|0)>0?255:0;q=L+p>>20;b[r+5>>0]=q>>>0<256?q:(q|0)>0?255:0;q=L+l>>20;b[r+4>>0]=q>>>0<256?q:(q|0)>0?255:0;b[r+7>>0]=-1;q=(h[s+k>>0]|0)+-16|0;k=X((q|0)>0?q:0,1220542)|0;q=k+i>>20;b[o+2>>0]=q>>>0<256?q:(q|0)>0?255:0;q=k+p>>20;b[o+1>>0]=q>>>0<256?q:(q|0)>0?255:0;q=k+l>>20;b[o>>0]=q>>>0<256?q:(q|0)>0?255:0;b[o+3>>0]=-1;q=(h[s+g>>0]|0)+-16|0;g=X((q|0)>0?q:0,1220542)|0;q=g+i>>20;b[o+6>>0]=q>>>0<256?q:(q|0)>0?255:0;q=g+p>>20;b[o+5>>0]=q>>>0<256?q:(q|0)>0?255:0;q=g+l>>20;b[o+4>>0]=q>>>0<256?q:(q|0)>0?255:0;b[o+7>>0]=-1;n=n+1|0;M=f[c>>2]|0;if((n|0)>=((M|0)/2|0|0))break;else{r=r+8|0;o=o+8|0}}N=M;O=f[m>>2]|0}else{N=K;O=J}t=D+(O<<1)|0;v=E+2|0;w=I;x=G;y=H;z=F;A=N;B=O;C=2}u=d;return}function hfa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;d=u;u=u+16|0;e=d;g=f[c>>2]|0;i=g<<1;j=f[c+4>>2]<<1;c=a+12|0;k=f[c>>2]|0;l=(k|0)/2|0;f[e>>2]=l;m=a+28|0;n=f[m>>2]|0;f[e+4>>2]=n-l;l=f[a+32>>2]|0;o=f[a+36>>2]|0;p=(f[a+16>>2]|0)+(X(n,i)|0)|0;q=X((g|0)/2|0,n)|0;r=(f[a+20>>2]|0)+q|0;s=(f[a+24>>2]|0)+q|0;if(((g|0)%2|0|0)==1){t=p;v=i;w=s;x=o;y=r;z=l;A=k;B=n;C=2}else{D=p;E=i;F=l;G=o;H=r;I=s;J=n;K=k}while(1){if((C|0)==2){C=0;D=t;E=v;F=z+1|0;G=x+1|0;H=y+(f[e+((z&1)<<2)>>2]|0)|0;I=w+(f[e+((x&1)<<2)>>2]|0)|0;J=B;K=A}if((E|0)>=(j|0))break;k=f[a+4>>2]|0;n=f[a+8>>2]|0;s=D+J|0;if((K|0)>1){r=k+(X(n,E)|0)|0;o=k+(X(n,E|1)|0)|0;n=0;while(1){k=(h[H+n>>0]|0)+-128|0;l=(h[I+n>>0]|0)+-128|0;i=(X(l,1673527)|0)+524288|0;p=(X(k,-409993)|0)+524288+(X(l,-852492)|0)|0;l=(X(k,2116026)|0)+524288|0;k=n<<1;g=(h[D+k>>0]|0)+-16|0;q=X((g|0)>0?g:0,1220542)|0;g=q+i>>20;b[r>>0]=g>>>0<256?g:(g|0)>0?255:0;g=q+p>>20;b[r+1>>0]=g>>>0<256?g:(g|0)>0?255:0;g=q+l>>20;b[r+2>>0]=g>>>0<256?g:(g|0)>0?255:0;b[r+3>>0]=-1;g=k|1;q=(h[D+g>>0]|0)+-16|0;L=X((q|0)>0?q:0,1220542)|0;q=L+i>>20;b[r+4>>0]=q>>>0<256?q:(q|0)>0?255:0;q=L+p>>20;b[r+5>>0]=q>>>0<256?q:(q|0)>0?255:0;q=L+l>>20;b[r+6>>0]=q>>>0<256?q:(q|0)>0?255:0;b[r+7>>0]=-1;q=(h[s+k>>0]|0)+-16|0;k=X((q|0)>0?q:0,1220542)|0;q=k+i>>20;b[o>>0]=q>>>0<256?q:(q|0)>0?255:0;q=k+p>>20;b[o+1>>0]=q>>>0<256?q:(q|0)>0?255:0;q=k+l>>20;b[o+2>>0]=q>>>0<256?q:(q|0)>0?255:0;b[o+3>>0]=-1;q=(h[s+g>>0]|0)+-16|0;g=X((q|0)>0?q:0,1220542)|0;q=g+i>>20;b[o+4>>0]=q>>>0<256?q:(q|0)>0?255:0;q=g+p>>20;b[o+5>>0]=q>>>0<256?q:(q|0)>0?255:0;q=g+l>>20;b[o+6>>0]=q>>>0<256?q:(q|0)>0?255:0;b[o+7>>0]=-1;n=n+1|0;M=f[c>>2]|0;if((n|0)>=((M|0)/2|0|0))break;else{r=r+8|0;o=o+8|0}}N=M;O=f[m>>2]|0}else{N=K;O=J}t=D+(O<<1)|0;v=E+2|0;w=I;x=G;y=H;z=F;A=N;B=O;C=2}u=d;return}function ifa(a){a=a|0;GQa(a);return}function jfa(a){a=a|0;GQa(a);return}function kfa(a){a=a|0;GQa(a);return}function lfa(a){a=a|0;GQa(a);return}function mfa(a,c,d,e,g,h,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0;l=u;u=u+64|0;m=l+48|0;n=l;o=l+8|0;yV(n,57684);p=d+(X(h,e)|0)|0;f[o>>2]=57712;f[o+4>>2]=a;f[o+8>>2]=c;f[o+12>>2]=d;f[o+16>>2]=p;f[o+20>>2]=e;f[o+24>>2]=g;f[o+28>>2]=h;f[o+32>>2]=i;b[o+36>>0]=j&1;b[o+37>>0]=(k|0)==2&1;b[o+38>>0]=0;if((X(h,g)|0)>76799){f[m>>2]=0;f[m+4>>2]=(h|0)/2|0;$Z(m,o,-1.0)}else{f[m>>2]=0;f[m+4>>2]=(h|0)/2|0;nfa(o,m)}if(!(f[n+4>>2]|0)){u=l;return}u=l;return}function nfa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;d=f[a+24>>2]|0;e=f[a+32>>2]|0;g=f[c>>2]|0;i=c+4|0;c=f[i>>2]|0;if((g|0)>=(c|0))return;j=a+4|0;k=a+8|0;l=a+36|0;m=a+12|0;n=a+20|0;o=a+38|0;p=a+16|0;q=(d|0)/2|0;r=(f[a+28>>2]|0)/2|0;s=a+37|0;a=X(e,d)|0;d=(a|0)>0;t=e<<1;u=g;g=c;while(1){c=f[j>>2]|0;v=f[k>>2]|0;w=u<<1;x=c+(X(v,w)|0)|0;y=x;z=x+1|0;A=x+2|0;x=c+(X(v,w|1)|0)|0;v=x;c=x+1|0;B=x+2|0;x=(b[l>>0]|0)==0;C=f[n>>2]|0;D=(f[m>>2]|0)+(X(C,w)|0)|0;w=f[p>>2]|0;if(!(b[o>>0]|0)){E=u+r|0;F=w+(X(C,(u|0)/2|0)|0)+(X((u|0)%2|0,q)|0)|0;G=w+(X(C,(E|0)/2|0)|0)+(X((E|0)%2|0,q)|0)|0}else{E=w+(X(C,u)|0)|0;F=E;G=E+1|0}E=F;C=G;w=(b[s>>0]|0)==0;if(d){H=x?A:y;I=x?y:A;A=x?B:v;y=x?v:B;B=w?E:C;v=w?C:E;E=0;C=0;while(1){w=h[H+E>>0]|0;x=h[z+E>>0]|0;J=h[I+E>>0]|0;K=E+e|0;L=(w*269484|0)+17301504+(x*528482|0)+(J*102760|0)|0;M=((h[H+K>>0]|0)*269484|0)+17301504+((h[z+K>>0]|0)*528482|0)+((h[I+K>>0]|0)*102760|0)|0;N=((h[A+E>>0]|0)*269484|0)+17301504+((h[c+E>>0]|0)*528482|0)+((h[y+E>>0]|0)*102760|0)|0;O=((h[A+K>>0]|0)*269484|0)+17301504+((h[c+K>>0]|0)*528482|0)+((h[y+K>>0]|0)*102760|0)|0;K=L>>>20;P=C<<1;b[D+P>>0]=L>>>0<268435456?K:K|0?255:0;K=M>>>20;L=P|1;b[D+L>>0]=M>>>0<268435456?K:K|0?255:0;K=N>>>20;b[D+((f[n>>2]|0)+P)>>0]=N>>>0<268435456?K:K|0?255:0;K=O>>>20;b[D+(L+(f[n>>2]|0))>>0]=O>>>0<268435456?K:K|0?255:0;K=(X(w,-155188)|0)+134742016+(X(x,-305135)|0)+(J*460324|0)|0;O=(w*460324|0)+134742016+(X(x,-385875)|0)+(X(J,-74448)|0)|0;J=K>>20;K=(b[o>>0]|0)==0?C:P;b[B+K>>0]=J>>>0<256?J:(J|0)>0?255:0;J=O>>20;b[v+K>>0]=J>>>0<256?J:(J|0)>0?255:0;E=E+t|0;if((E|0)>=(a|0))break;else C=C+1|0}Q=f[i>>2]|0}else Q=g;u=u+1|0;if((u|0)>=(Q|0))break;else g=Q}return}function ofa(a){a=a|0;GQa(a);return}function pfa(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0;m=u;u=u+48|0;n=m+16|0;o=m+8|0;p=m;yV(p,57724);do switch((j?200:0)+(i*1e3|0)+(k*10|0)+l|0){case 3e3:{f[n>>2]=57752;f[n+4>>2]=d;f[n+8>>2]=e;f[n+12>>2]=a;f[n+16>>2]=c;f[n+20>>2]=g;if((X(h,g)|0)>76799){f[o>>2]=0;f[o+4>>2]=h;$Z(o,n,-1.0)}else{f[o>>2]=0;f[o+4>>2]=h;qfa(n,o)}break}case 3001:{f[n>>2]=57772;f[n+4>>2]=d;f[n+8>>2]=e;f[n+12>>2]=a;f[n+16>>2]=c;f[n+20>>2]=g;if((X(h,g)|0)>76799){f[o>>2]=0;f[o+4>>2]=h;$Z(o,n,-1.0)}else{f[o>>2]=0;f[o+4>>2]=h;rfa(n,o)}break}case 3010:{f[n>>2]=57792;f[n+4>>2]=d;f[n+8>>2]=e;f[n+12>>2]=a;f[n+16>>2]=c;f[n+20>>2]=g;if((X(h,g)|0)>76799){f[o>>2]=0;f[o+4>>2]=h;$Z(o,n,-1.0)}else{f[o>>2]=0;f[o+4>>2]=h;sfa(n,o)}break}case 3200:{f[n>>2]=57812;f[n+4>>2]=d;f[n+8>>2]=e;f[n+12>>2]=a;f[n+16>>2]=c;f[n+20>>2]=g;if((X(h,g)|0)>76799){f[o>>2]=0;f[o+4>>2]=h;$Z(o,n,-1.0)}else{f[o>>2]=0;f[o+4>>2]=h;tfa(n,o)}break}case 3201:{f[n>>2]=57832;f[n+4>>2]=d;f[n+8>>2]=e;f[n+12>>2]=a;f[n+16>>2]=c;f[n+20>>2]=g;if((X(h,g)|0)>76799){f[o>>2]=0;f[o+4>>2]=h;$Z(o,n,-1.0)}else{f[o>>2]=0;f[o+4>>2]=h;ufa(n,o)}break}case 3210:{f[n>>2]=57852;f[n+4>>2]=d;f[n+8>>2]=e;f[n+12>>2]=a;f[n+16>>2]=c;f[n+20>>2]=g;if((X(h,g)|0)>76799){f[o>>2]=0;f[o+4>>2]=h;$Z(o,n,-1.0)}else{f[o>>2]=0;f[o+4>>2]=h;vfa(n,o)}break}case 4e3:{f[n>>2]=57872;f[n+4>>2]=d;f[n+8>>2]=e;f[n+12>>2]=a;f[n+16>>2]=c;f[n+20>>2]=g;if((X(h,g)|0)>76799){f[o>>2]=0;f[o+4>>2]=h;$Z(o,n,-1.0)}else{f[o>>2]=0;f[o+4>>2]=h;wfa(n,o)}break}case 4001:{f[n>>2]=57892;f[n+4>>2]=d;f[n+8>>2]=e;f[n+12>>2]=a;f[n+16>>2]=c;f[n+20>>2]=g;if((X(h,g)|0)>76799){f[o>>2]=0;f[o+4>>2]=h;$Z(o,n,-1.0)}else{f[o>>2]=0;f[o+4>>2]=h;xfa(n,o)}break}case 4010:{f[n>>2]=57912;f[n+4>>2]=d;f[n+8>>2]=e;f[n+12>>2]=a;f[n+16>>2]=c;f[n+20>>2]=g;if((X(h,g)|0)>76799){f[o>>2]=0;f[o+4>>2]=h;$Z(o,n,-1.0)}else{f[o>>2]=0;f[o+4>>2]=h;yfa(n,o)}break}case 4200:{f[n>>2]=57932;f[n+4>>2]=d;f[n+8>>2]=e;f[n+12>>2]=a;f[n+16>>2]=c;f[n+20>>2]=g;if((X(h,g)|0)>76799){f[o>>2]=0;f[o+4>>2]=h;$Z(o,n,-1.0)}else{f[o>>2]=0;f[o+4>>2]=h;zfa(n,o)}break}case 4201:{f[n>>2]=57952;f[n+4>>2]=d;f[n+8>>2]=e;f[n+12>>2]=a;f[n+16>>2]=c;f[n+20>>2]=g;if((X(h,g)|0)>76799){f[o>>2]=0;f[o+4>>2]=h;$Z(o,n,-1.0)}else{f[o>>2]=0;f[o+4>>2]=h;Afa(n,o)}break}case 4210:{f[n>>2]=57972;f[n+4>>2]=d;f[n+8>>2]=e;f[n+12>>2]=a;f[n+16>>2]=c;f[n+20>>2]=g;if((X(h,g)|0)>76799){f[o>>2]=0;f[o+4>>2]=h;$Z(o,n,-1.0)}else{f[o>>2]=0;f[o+4>>2]=h;Bfa(n,o)}break}default:{f[n>>2]=0;f[n+4>>2]=0;q=JV(n,41)|0;r=227515;s=q+41|0;do{b[q>>0]=b[r>>0]|0;q=q+1|0;r=r+1|0}while((q|0)<(s|0));EP(-206,n,228520,226779,2481);KV(n)}}while(0);if(!(f[p+4>>2]|0)){u=m;return}u=m;return}function qfa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=a+16|0;if((d|0)>=(e|0))return;g=f[c>>2]|0;i=(f[a+12>>2]|0)+(X(g,d)|0)|0;j=a+4|0;k=a+8|0;l=a+20|0;a=d;d=i;i=g;g=f[l>>2]|0;while(1){if((g|0)>0){m=(f[j>>2]|0)+(X(f[k>>2]|0,a)|0)|0;n=0;while(1){o=(h[d+(n|1)>>0]|0)+-128|0;p=(h[d+(n|3)>>0]|0)+-128|0;q=(X(p,1673527)|0)+524288|0;r=(X(o,-409993)|0)+524288+(X(p,-852492)|0)|0;p=(X(o,2116026)|0)+524288|0;o=(h[d+n>>0]|0)+-16|0;s=X((o|0)>0?o:0,1220542)|0;o=s+q>>20;b[m+2>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+r>>20;b[m+1>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+p>>20;b[m>>0]=o>>>0<256?o:(o|0)>0?255:0;o=(h[d+(n|2)>>0]|0)+-16|0;s=X((o|0)>0?o:0,1220542)|0;o=s+q>>20;b[m+5>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+r>>20;b[m+4>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+p>>20;b[m+3>>0]=o>>>0<256?o:(o|0)>0?255:0;n=n+4|0;t=f[l>>2]|0;if((n|0)>=(t<<1|0))break;else m=m+6|0}u=t;v=f[c>>2]|0}else{u=g;v=i}a=a+1|0;if((a|0)==(e|0))break;else{d=d+v|0;i=v;g=u}}return}function rfa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=a+16|0;if((d|0)>=(e|0))return;g=f[c>>2]|0;i=(f[a+12>>2]|0)+(X(g,d)|0)|0;j=a+4|0;k=a+8|0;l=a+20|0;a=d;d=i;i=g;g=f[l>>2]|0;while(1){if((g|0)>0){m=(f[j>>2]|0)+(X(f[k>>2]|0,a)|0)|0;n=0;while(1){o=(h[d+n>>0]|0)+-128|0;p=(h[d+(n|2)>>0]|0)+-128|0;q=(X(p,1673527)|0)+524288|0;r=(X(o,-409993)|0)+524288+(X(p,-852492)|0)|0;p=(X(o,2116026)|0)+524288|0;o=(h[d+(n|1)>>0]|0)+-16|0;s=X((o|0)>0?o:0,1220542)|0;o=s+q>>20;b[m+2>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+r>>20;b[m+1>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+p>>20;b[m>>0]=o>>>0<256?o:(o|0)>0?255:0;o=(h[d+(n|3)>>0]|0)+-16|0;s=X((o|0)>0?o:0,1220542)|0;o=s+q>>20;b[m+5>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+r>>20;b[m+4>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+p>>20;b[m+3>>0]=o>>>0<256?o:(o|0)>0?255:0;n=n+4|0;t=f[l>>2]|0;if((n|0)>=(t<<1|0))break;else m=m+6|0}u=t;v=f[c>>2]|0}else{u=g;v=i}a=a+1|0;if((a|0)==(e|0))break;else{d=d+v|0;i=v;g=u}}return}function sfa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=a+16|0;if((d|0)>=(e|0))return;g=f[c>>2]|0;i=(f[a+12>>2]|0)+(X(g,d)|0)|0;j=a+4|0;k=a+8|0;l=a+20|0;a=d;d=i;i=g;g=f[l>>2]|0;while(1){if((g|0)>0){m=(f[j>>2]|0)+(X(f[k>>2]|0,a)|0)|0;n=0;while(1){o=(h[d+(n|3)>>0]|0)+-128|0;p=(h[d+(n|1)>>0]|0)+-128|0;q=(X(p,1673527)|0)+524288|0;r=(X(o,-409993)|0)+524288+(X(p,-852492)|0)|0;p=(X(o,2116026)|0)+524288|0;o=(h[d+n>>0]|0)+-16|0;s=X((o|0)>0?o:0,1220542)|0;o=s+q>>20;b[m+2>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+r>>20;b[m+1>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+p>>20;b[m>>0]=o>>>0<256?o:(o|0)>0?255:0;o=(h[d+(n|2)>>0]|0)+-16|0;s=X((o|0)>0?o:0,1220542)|0;o=s+q>>20;b[m+5>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+r>>20;b[m+4>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+p>>20;b[m+3>>0]=o>>>0<256?o:(o|0)>0?255:0;n=n+4|0;t=f[l>>2]|0;if((n|0)>=(t<<1|0))break;else m=m+6|0}u=t;v=f[c>>2]|0}else{u=g;v=i}a=a+1|0;if((a|0)==(e|0))break;else{d=d+v|0;i=v;g=u}}return}function tfa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=a+16|0;if((d|0)>=(e|0))return;g=f[c>>2]|0;i=(f[a+12>>2]|0)+(X(g,d)|0)|0;j=a+4|0;k=a+8|0;l=a+20|0;a=d;d=i;i=g;g=f[l>>2]|0;while(1){if((g|0)>0){m=(f[j>>2]|0)+(X(f[k>>2]|0,a)|0)|0;n=0;while(1){o=(h[d+(n|1)>>0]|0)+-128|0;p=(h[d+(n|3)>>0]|0)+-128|0;q=(X(p,1673527)|0)+524288|0;r=(X(o,-409993)|0)+524288+(X(p,-852492)|0)|0;p=(X(o,2116026)|0)+524288|0;o=(h[d+n>>0]|0)+-16|0;s=X((o|0)>0?o:0,1220542)|0;o=s+q>>20;b[m>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+r>>20;b[m+1>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+p>>20;b[m+2>>0]=o>>>0<256?o:(o|0)>0?255:0;o=(h[d+(n|2)>>0]|0)+-16|0;s=X((o|0)>0?o:0,1220542)|0;o=s+q>>20;b[m+3>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+r>>20;b[m+4>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+p>>20;b[m+5>>0]=o>>>0<256?o:(o|0)>0?255:0;n=n+4|0;t=f[l>>2]|0;if((n|0)>=(t<<1|0))break;else m=m+6|0}u=t;v=f[c>>2]|0}else{u=g;v=i}a=a+1|0;if((a|0)==(e|0))break;else{d=d+v|0;i=v;g=u}}return}function ufa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=a+16|0;if((d|0)>=(e|0))return;g=f[c>>2]|0;i=(f[a+12>>2]|0)+(X(g,d)|0)|0;j=a+4|0;k=a+8|0;l=a+20|0;a=d;d=i;i=g;g=f[l>>2]|0;while(1){if((g|0)>0){m=(f[j>>2]|0)+(X(f[k>>2]|0,a)|0)|0;n=0;while(1){o=(h[d+n>>0]|0)+-128|0;p=(h[d+(n|2)>>0]|0)+-128|0;q=(X(p,1673527)|0)+524288|0;r=(X(o,-409993)|0)+524288+(X(p,-852492)|0)|0;p=(X(o,2116026)|0)+524288|0;o=(h[d+(n|1)>>0]|0)+-16|0;s=X((o|0)>0?o:0,1220542)|0;o=s+q>>20;b[m>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+r>>20;b[m+1>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+p>>20;b[m+2>>0]=o>>>0<256?o:(o|0)>0?255:0;o=(h[d+(n|3)>>0]|0)+-16|0;s=X((o|0)>0?o:0,1220542)|0;o=s+q>>20;b[m+3>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+r>>20;b[m+4>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+p>>20;b[m+5>>0]=o>>>0<256?o:(o|0)>0?255:0;n=n+4|0;t=f[l>>2]|0;if((n|0)>=(t<<1|0))break;else m=m+6|0}u=t;v=f[c>>2]|0}else{u=g;v=i}a=a+1|0;if((a|0)==(e|0))break;else{d=d+v|0;i=v;g=u}}return}function vfa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=a+16|0;if((d|0)>=(e|0))return;g=f[c>>2]|0;i=(f[a+12>>2]|0)+(X(g,d)|0)|0;j=a+4|0;k=a+8|0;l=a+20|0;a=d;d=i;i=g;g=f[l>>2]|0;while(1){if((g|0)>0){m=(f[j>>2]|0)+(X(f[k>>2]|0,a)|0)|0;n=0;while(1){o=(h[d+(n|3)>>0]|0)+-128|0;p=(h[d+(n|1)>>0]|0)+-128|0;q=(X(p,1673527)|0)+524288|0;r=(X(o,-409993)|0)+524288+(X(p,-852492)|0)|0;p=(X(o,2116026)|0)+524288|0;o=(h[d+n>>0]|0)+-16|0;s=X((o|0)>0?o:0,1220542)|0;o=s+q>>20;b[m>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+r>>20;b[m+1>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+p>>20;b[m+2>>0]=o>>>0<256?o:(o|0)>0?255:0;o=(h[d+(n|2)>>0]|0)+-16|0;s=X((o|0)>0?o:0,1220542)|0;o=s+q>>20;b[m+3>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+r>>20;b[m+4>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+p>>20;b[m+5>>0]=o>>>0<256?o:(o|0)>0?255:0;n=n+4|0;t=f[l>>2]|0;if((n|0)>=(t<<1|0))break;else m=m+6|0}u=t;v=f[c>>2]|0}else{u=g;v=i}a=a+1|0;if((a|0)==(e|0))break;else{d=d+v|0;i=v;g=u}}return}function wfa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=a+16|0;if((d|0)>=(e|0))return;g=f[c>>2]|0;i=(f[a+12>>2]|0)+(X(g,d)|0)|0;j=a+4|0;k=a+8|0;l=a+20|0;a=d;d=i;i=g;g=f[l>>2]|0;while(1){if((g|0)>0){m=(f[j>>2]|0)+(X(f[k>>2]|0,a)|0)|0;n=0;while(1){o=(h[d+(n|1)>>0]|0)+-128|0;p=(h[d+(n|3)>>0]|0)+-128|0;q=(X(p,1673527)|0)+524288|0;r=(X(o,-409993)|0)+524288+(X(p,-852492)|0)|0;p=(X(o,2116026)|0)+524288|0;o=(h[d+n>>0]|0)+-16|0;s=X((o|0)>0?o:0,1220542)|0;o=s+q>>20;b[m+2>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+r>>20;b[m+1>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+p>>20;b[m>>0]=o>>>0<256?o:(o|0)>0?255:0;b[m+3>>0]=-1;o=(h[d+(n|2)>>0]|0)+-16|0;s=X((o|0)>0?o:0,1220542)|0;o=s+q>>20;b[m+6>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+r>>20;b[m+5>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+p>>20;b[m+4>>0]=o>>>0<256?o:(o|0)>0?255:0;b[m+7>>0]=-1;n=n+4|0;t=f[l>>2]|0;if((n|0)>=(t<<1|0))break;else m=m+8|0}u=t;v=f[c>>2]|0}else{u=g;v=i}a=a+1|0;if((a|0)==(e|0))break;else{d=d+v|0;i=v;g=u}}return}function xfa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=a+16|0;if((d|0)>=(e|0))return;g=f[c>>2]|0;i=(f[a+12>>2]|0)+(X(g,d)|0)|0;j=a+4|0;k=a+8|0;l=a+20|0;a=d;d=i;i=g;g=f[l>>2]|0;while(1){if((g|0)>0){m=(f[j>>2]|0)+(X(f[k>>2]|0,a)|0)|0;n=0;while(1){o=(h[d+n>>0]|0)+-128|0;p=(h[d+(n|2)>>0]|0)+-128|0;q=(X(p,1673527)|0)+524288|0;r=(X(o,-409993)|0)+524288+(X(p,-852492)|0)|0;p=(X(o,2116026)|0)+524288|0;o=(h[d+(n|1)>>0]|0)+-16|0;s=X((o|0)>0?o:0,1220542)|0;o=s+q>>20;b[m+2>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+r>>20;b[m+1>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+p>>20;b[m>>0]=o>>>0<256?o:(o|0)>0?255:0;b[m+3>>0]=-1;o=(h[d+(n|3)>>0]|0)+-16|0;s=X((o|0)>0?o:0,1220542)|0;o=s+q>>20;b[m+6>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+r>>20;b[m+5>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+p>>20;b[m+4>>0]=o>>>0<256?o:(o|0)>0?255:0;b[m+7>>0]=-1;n=n+4|0;t=f[l>>2]|0;if((n|0)>=(t<<1|0))break;else m=m+8|0}u=t;v=f[c>>2]|0}else{u=g;v=i}a=a+1|0;if((a|0)==(e|0))break;else{d=d+v|0;i=v;g=u}}return}function yfa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=a+16|0;if((d|0)>=(e|0))return;g=f[c>>2]|0;i=(f[a+12>>2]|0)+(X(g,d)|0)|0;j=a+4|0;k=a+8|0;l=a+20|0;a=d;d=i;i=g;g=f[l>>2]|0;while(1){if((g|0)>0){m=(f[j>>2]|0)+(X(f[k>>2]|0,a)|0)|0;n=0;while(1){o=(h[d+(n|3)>>0]|0)+-128|0;p=(h[d+(n|1)>>0]|0)+-128|0;q=(X(p,1673527)|0)+524288|0;r=(X(o,-409993)|0)+524288+(X(p,-852492)|0)|0;p=(X(o,2116026)|0)+524288|0;o=(h[d+n>>0]|0)+-16|0;s=X((o|0)>0?o:0,1220542)|0;o=s+q>>20;b[m+2>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+r>>20;b[m+1>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+p>>20;b[m>>0]=o>>>0<256?o:(o|0)>0?255:0;b[m+3>>0]=-1;o=(h[d+(n|2)>>0]|0)+-16|0;s=X((o|0)>0?o:0,1220542)|0;o=s+q>>20;b[m+6>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+r>>20;b[m+5>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+p>>20;b[m+4>>0]=o>>>0<256?o:(o|0)>0?255:0;b[m+7>>0]=-1;n=n+4|0;t=f[l>>2]|0;if((n|0)>=(t<<1|0))break;else m=m+8|0}u=t;v=f[c>>2]|0}else{u=g;v=i}a=a+1|0;if((a|0)==(e|0))break;else{d=d+v|0;i=v;g=u}}return}function zfa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=a+16|0;if((d|0)>=(e|0))return;g=f[c>>2]|0;i=(f[a+12>>2]|0)+(X(g,d)|0)|0;j=a+4|0;k=a+8|0;l=a+20|0;a=d;d=i;i=g;g=f[l>>2]|0;while(1){if((g|0)>0){m=(f[j>>2]|0)+(X(f[k>>2]|0,a)|0)|0;n=0;while(1){o=(h[d+(n|1)>>0]|0)+-128|0;p=(h[d+(n|3)>>0]|0)+-128|0;q=(X(p,1673527)|0)+524288|0;r=(X(o,-409993)|0)+524288+(X(p,-852492)|0)|0;p=(X(o,2116026)|0)+524288|0;o=(h[d+n>>0]|0)+-16|0;s=X((o|0)>0?o:0,1220542)|0;o=s+q>>20;b[m>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+r>>20;b[m+1>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+p>>20;b[m+2>>0]=o>>>0<256?o:(o|0)>0?255:0;b[m+3>>0]=-1;o=(h[d+(n|2)>>0]|0)+-16|0;s=X((o|0)>0?o:0,1220542)|0;o=s+q>>20;b[m+4>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+r>>20;b[m+5>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+p>>20;b[m+6>>0]=o>>>0<256?o:(o|0)>0?255:0;b[m+7>>0]=-1;n=n+4|0;t=f[l>>2]|0;if((n|0)>=(t<<1|0))break;else m=m+8|0}u=t;v=f[c>>2]|0}else{u=g;v=i}a=a+1|0;if((a|0)==(e|0))break;else{d=d+v|0;i=v;g=u}}return}function Afa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=a+16|0;if((d|0)>=(e|0))return;g=f[c>>2]|0;i=(f[a+12>>2]|0)+(X(g,d)|0)|0;j=a+4|0;k=a+8|0;l=a+20|0;a=d;d=i;i=g;g=f[l>>2]|0;while(1){if((g|0)>0){m=(f[j>>2]|0)+(X(f[k>>2]|0,a)|0)|0;n=0;while(1){o=(h[d+n>>0]|0)+-128|0;p=(h[d+(n|2)>>0]|0)+-128|0;q=(X(p,1673527)|0)+524288|0;r=(X(o,-409993)|0)+524288+(X(p,-852492)|0)|0;p=(X(o,2116026)|0)+524288|0;o=(h[d+(n|1)>>0]|0)+-16|0;s=X((o|0)>0?o:0,1220542)|0;o=s+q>>20;b[m>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+r>>20;b[m+1>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+p>>20;b[m+2>>0]=o>>>0<256?o:(o|0)>0?255:0;b[m+3>>0]=-1;o=(h[d+(n|3)>>0]|0)+-16|0;s=X((o|0)>0?o:0,1220542)|0;o=s+q>>20;b[m+4>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+r>>20;b[m+5>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+p>>20;b[m+6>>0]=o>>>0<256?o:(o|0)>0?255:0;b[m+7>>0]=-1;n=n+4|0;t=f[l>>2]|0;if((n|0)>=(t<<1|0))break;else m=m+8|0}u=t;v=f[c>>2]|0}else{u=g;v=i}a=a+1|0;if((a|0)==(e|0))break;else{d=d+v|0;i=v;g=u}}return}function Bfa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=a+16|0;if((d|0)>=(e|0))return;g=f[c>>2]|0;i=(f[a+12>>2]|0)+(X(g,d)|0)|0;j=a+4|0;k=a+8|0;l=a+20|0;a=d;d=i;i=g;g=f[l>>2]|0;while(1){if((g|0)>0){m=(f[j>>2]|0)+(X(f[k>>2]|0,a)|0)|0;n=0;while(1){o=(h[d+(n|3)>>0]|0)+-128|0;p=(h[d+(n|1)>>0]|0)+-128|0;q=(X(p,1673527)|0)+524288|0;r=(X(o,-409993)|0)+524288+(X(p,-852492)|0)|0;p=(X(o,2116026)|0)+524288|0;o=(h[d+n>>0]|0)+-16|0;s=X((o|0)>0?o:0,1220542)|0;o=s+q>>20;b[m>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+r>>20;b[m+1>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+p>>20;b[m+2>>0]=o>>>0<256?o:(o|0)>0?255:0;b[m+3>>0]=-1;o=(h[d+(n|2)>>0]|0)+-16|0;s=X((o|0)>0?o:0,1220542)|0;o=s+q>>20;b[m+4>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+r>>20;b[m+5>>0]=o>>>0<256?o:(o|0)>0?255:0;o=s+p>>20;b[m+6>>0]=o>>>0<256?o:(o|0)>0?255:0;b[m+7>>0]=-1;n=n+4|0;t=f[l>>2]|0;if((n|0)>=(t<<1|0))break;else m=m+8|0}u=t;v=f[c>>2]|0}else{u=g;v=i}a=a+1|0;if((a|0)==(e|0))break;else{d=d+v|0;i=v;g=u}}return}function Cfa(a){a=a|0;GQa(a);return}function Dfa(a){a=a|0;GQa(a);return}function Efa(a){a=a|0;GQa(a);return}function Ffa(a){a=a|0;GQa(a);return}function Gfa(a){a=a|0;GQa(a);return}function Hfa(a){a=a|0;GQa(a);return}function Ifa(a){a=a|0;GQa(a);return}function Jfa(a){a=a|0;GQa(a);return}function Kfa(a){a=a|0;GQa(a);return}function Lfa(a){a=a|0;GQa(a);return}function Mfa(a){a=a|0;GQa(a);return}function Nfa(a){a=a|0;GQa(a);return}function Ofa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+128|0;g=e;Pfa(g,a,b,3);vea(f[g+16>>2]|0,f[g+48>>2]|0,f[g+72>>2]|0,f[g+104>>2]|0,f[g+12>>2]|0,f[g+8>>2]|0,f[g+112>>2]|0,f[g+116>>2]|0,c,d);Qfa(g);u=e;return}function Pfa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;g=u;u=u+64|0;h=g+8|0;i=g;f[a>>2]=1124007936;j=a+4|0;k=a+8|0;l=a+40|0;m=j;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[l>>2]=k;o=a+48|0;p=a+44|0;f[p>>2]=o;f[o>>2]=0;f[a+52>>2]=0;o=a+56|0;f[o>>2]=1124007936;q=a+60|0;r=a+64|0;s=a+96|0;m=q;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[s>>2]=r;t=a+104|0;v=a+100|0;f[v>>2]=t;f[t>>2]=0;f[a+108>>2]=0;t=a+120|0;f[t>>2]=0;w=a+124|0;f[w>>2]=0;x=GJ(c,-1)|0;y=x>>>3;f[a+116>>2]=(y&511)+1;z=a+112|0;f[z>>2]=x&7;if((e|0)==3&(y&510|0)==2)switch(x&7){case 0:case 2:case 5:break;default:A=3}else A=3;if((A|0)==3){f[h>>2]=0;f[h+4>>2]=0;m=JV(h,69)|0;x=247788;n=m+69|0;do{b[m>>0]=b[x>>0]|0;m=m+1|0;x=x+1|0}while((m|0)<(n|0));EP(-215,h,247858,247995,253);KV(h)}x=c+4|0;m=d+4|0;if((f[x>>2]|0)!=(f[m>>2]|0)){do if((HJ(c)|0)==65536){n=f[x>>2]|0;f[h>>2]=f[n>>2];y=h+4|0;B=n+4|0;f[y>>2]=f[B>>2];C=h+8|0;f[C>>2]=f[n+8>>2];f[h+12>>2]=f[n+12>>2];f[h+16>>2]=f[n+16>>2];f[h+20>>2]=f[n+20>>2];f[h+24>>2]=f[n+24>>2];f[h+28>>2]=f[n+28>>2];f[h+32>>2]=f[n+32>>2];D=f[n+36>>2]|0;f[h+36>>2]=D;f[h+40>>2]=C;C=h+48|0;E=h+44|0;f[E>>2]=C;f[C>>2]=0;f[h+52>>2]=0;if(D|0){C=D+12|0;f[C>>2]=(f[C>>2]|0)+1}if((f[B>>2]|0)<3){B=f[n+44>>2]|0;C=f[E>>2]|0;f[C>>2]=f[B>>2];f[C+4>>2]=f[B+4>>2];break}else{f[y>>2]=0;WO(h,n);break}}else DJ(h,c,-1);while(0);x=h+36|0;n=f[x>>2]|0;if((a|0)==(h|0))F=n;else{if(n|0){y=n+12|0;f[y>>2]=(f[y>>2]|0)+1}y=a+36|0;n=f[y>>2]|0;if(n|0?(B=n+12|0,n=f[B>>2]|0,f[B>>2]=n+-1,(n|0)==1):0)XO(a);f[y>>2]=0;n=a+16|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;if((f[j>>2]|0)>0){B=f[l>>2]|0;C=0;do{f[B+(C<<2)>>2]=0;C=C+1|0;G=f[j>>2]|0}while((C|0)<(G|0));f[a>>2]=f[h>>2];if((G|0)<3)A=24;else A=26}else{f[a>>2]=f[h>>2];A=24}if((A|0)==24){G=f[h+4>>2]|0;if((G|0)<3){f[j>>2]=G;f[k>>2]=f[h+8>>2];f[a+12>>2]=f[h+12>>2];k=f[h+44>>2]|0;G=f[p>>2]|0;f[G>>2]=f[k>>2];f[G+4>>2]=f[k+4>>2]}else A=26}if((A|0)==26)WO(a,h);f[n>>2]=f[h+16>>2];f[a+20>>2]=f[h+20>>2];f[a+24>>2]=f[h+24>>2];f[a+28>>2]=f[h+28>>2];f[a+32>>2]=f[h+32>>2];n=f[x>>2]|0;f[y>>2]=n;F=n}if(F|0?(n=F+12|0,F=f[n>>2]|0,f[n>>2]=F+-1,(F|0)==1):0)XO(h);f[x>>2]=0;x=h+16|0;F=h+4|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;if((f[F>>2]|0)>0){x=f[h+40>>2]|0;n=0;do{f[x+(n<<2)>>2]=0;n=n+1|0}while((n|0)<(f[F>>2]|0))}F=f[h+44>>2]|0;if((F|0)!=(h+48|0))dX(F)}else{F=h+8|0;f[F>>2]=0;f[F+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=a;XJ(c,h)}c=f[l>>2]|0;l=f[c+4>>2]|0;F=f[c>>2]|0;f[t>>2]=l;f[w>>2]=F;f[i>>2]=l;f[i+4>>2]=F;_J(d,i,f[z>>2]&7|(e<<3)+-8,-1,0,0);do if((HJ(d)|0)==65536){e=f[m>>2]|0;f[h>>2]=f[e>>2];z=h+4|0;i=e+4|0;f[z>>2]=f[i>>2];F=h+8|0;f[F>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];f[h+24>>2]=f[e+24>>2];f[h+28>>2]=f[e+28>>2];f[h+32>>2]=f[e+32>>2];l=f[e+36>>2]|0;f[h+36>>2]=l;f[h+40>>2]=F;F=h+48|0;w=h+44|0;f[w>>2]=F;f[F>>2]=0;f[h+52>>2]=0;if(l|0){F=l+12|0;f[F>>2]=(f[F>>2]|0)+1}if((f[i>>2]|0)<3){i=f[e+44>>2]|0;F=f[w>>2]|0;f[F>>2]=f[i>>2];f[F+4>>2]=f[i+4>>2];break}else{f[z>>2]=0;WO(h,e);break}}else DJ(h,d,-1);while(0);d=h+36|0;m=f[d>>2]|0;if((o|0)==(h|0))H=m;else{if(m|0){e=m+12|0;f[e>>2]=(f[e>>2]|0)+1}e=a+92|0;m=f[e>>2]|0;if(m|0?(z=m+12|0,m=f[z>>2]|0,f[z>>2]=m+-1,(m|0)==1):0)XO(o);f[e>>2]=0;m=a+72|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;if((f[q>>2]|0)>0){z=f[s>>2]|0;s=0;do{f[z+(s<<2)>>2]=0;s=s+1|0;I=f[q>>2]|0}while((s|0)<(I|0));f[o>>2]=f[h>>2];if((I|0)<3)A=55;else A=57}else{f[o>>2]=f[h>>2];A=55}if((A|0)==55){I=f[h+4>>2]|0;if((I|0)<3){f[q>>2]=I;f[r>>2]=f[h+8>>2];f[a+68>>2]=f[h+12>>2];r=f[h+44>>2]|0;I=f[v>>2]|0;f[I>>2]=f[r>>2];f[I+4>>2]=f[r+4>>2]}else A=57}if((A|0)==57)WO(o,h);f[m>>2]=f[h+16>>2];f[a+76>>2]=f[h+20>>2];f[a+80>>2]=f[h+24>>2];f[a+84>>2]=f[h+28>>2];f[a+88>>2]=f[h+32>>2];a=f[d>>2]|0;f[e>>2]=a;H=a}if(H|0?(a=H+12|0,H=f[a>>2]|0,f[a>>2]=H+-1,(H|0)==1):0)XO(h);f[d>>2]=0;d=h+16|0;H=h+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[H>>2]|0)>0){d=f[h+40>>2]|0;a=0;do{f[d+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[H>>2]|0))}H=f[h+44>>2]|0;if((H|0)==(h+48|0)){u=g;return}dX(H);u=g;return}function Qfa(a){a=a|0;var b=0,c=0,d=0,e=0;b=a+56|0;c=a+92|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+72|0;b=a+60|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+96>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+100>>2]|0;if((b|0)!=(a+104|0))dX(b);b=a+36|0;d=f[b>>2]|0;if(d|0?(c=d+12|0,d=f[c>>2]|0,f[c>>2]=d+-1,(d|0)==1):0)XO(a);f[b>>2]=0;b=a+16|0;d=a+4|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[d>>2]|0)>0){b=f[a+40>>2]|0;c=0;do{f[b+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[d>>2]|0))}d=f[a+44>>2]|0;if((d|0)==(a+48|0))return;dX(d);return}function Rfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=u;u=u+128|0;h=g;i=(c|0)<1?3:c;Sfa(h,a,b,i);Eea(f[h+16>>2]|0,f[h+48>>2]|0,f[h+72>>2]|0,f[h+104>>2]|0,f[h+12>>2]|0,f[h+8>>2]|0,f[h+112>>2]|0,i,d,e);Tfa(h);u=g;return}function Sfa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;g=u;u=u+64|0;h=g+8|0;i=g;f[a>>2]=1124007936;j=a+4|0;k=a+8|0;l=a+40|0;m=j;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[l>>2]=k;o=a+48|0;p=a+44|0;f[p>>2]=o;f[o>>2]=0;f[a+52>>2]=0;o=a+56|0;f[o>>2]=1124007936;q=a+60|0;r=a+64|0;s=a+96|0;m=q;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[s>>2]=r;t=a+104|0;v=a+100|0;f[v>>2]=t;f[t>>2]=0;f[a+108>>2]=0;t=a+120|0;f[t>>2]=0;w=a+124|0;f[w>>2]=0;x=GJ(c,-1)|0;y=(x>>>3&511)+1|0;f[a+116>>2]=y;z=a+112|0;f[z>>2]=x&7;if((e+-3|0)>>>0<2&(y|0)==3)switch(x&7){case 0:case 2:case 5:break;default:A=3}else A=3;if((A|0)==3){f[h>>2]=0;f[h+4>>2]=0;m=JV(h,69)|0;x=247788;n=m+69|0;do{b[m>>0]=b[x>>0]|0;m=m+1|0;x=x+1|0}while((m|0)<(n|0));EP(-215,h,247858,247995,253);KV(h)}x=c+4|0;m=d+4|0;if((f[x>>2]|0)!=(f[m>>2]|0)){do if((HJ(c)|0)==65536){n=f[x>>2]|0;f[h>>2]=f[n>>2];y=h+4|0;B=n+4|0;f[y>>2]=f[B>>2];C=h+8|0;f[C>>2]=f[n+8>>2];f[h+12>>2]=f[n+12>>2];f[h+16>>2]=f[n+16>>2];f[h+20>>2]=f[n+20>>2];f[h+24>>2]=f[n+24>>2];f[h+28>>2]=f[n+28>>2];f[h+32>>2]=f[n+32>>2];D=f[n+36>>2]|0;f[h+36>>2]=D;f[h+40>>2]=C;C=h+48|0;E=h+44|0;f[E>>2]=C;f[C>>2]=0;f[h+52>>2]=0;if(D|0){C=D+12|0;f[C>>2]=(f[C>>2]|0)+1}if((f[B>>2]|0)<3){B=f[n+44>>2]|0;C=f[E>>2]|0;f[C>>2]=f[B>>2];f[C+4>>2]=f[B+4>>2];break}else{f[y>>2]=0;WO(h,n);break}}else DJ(h,c,-1);while(0);x=h+36|0;n=f[x>>2]|0;if((a|0)==(h|0))F=n;else{if(n|0){y=n+12|0;f[y>>2]=(f[y>>2]|0)+1}y=a+36|0;n=f[y>>2]|0;if(n|0?(B=n+12|0,n=f[B>>2]|0,f[B>>2]=n+-1,(n|0)==1):0)XO(a);f[y>>2]=0;n=a+16|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;if((f[j>>2]|0)>0){B=f[l>>2]|0;C=0;do{f[B+(C<<2)>>2]=0;C=C+1|0;G=f[j>>2]|0}while((C|0)<(G|0));f[a>>2]=f[h>>2];if((G|0)<3)A=24;else A=26}else{f[a>>2]=f[h>>2];A=24}if((A|0)==24){G=f[h+4>>2]|0;if((G|0)<3){f[j>>2]=G;f[k>>2]=f[h+8>>2];f[a+12>>2]=f[h+12>>2];k=f[h+44>>2]|0;G=f[p>>2]|0;f[G>>2]=f[k>>2];f[G+4>>2]=f[k+4>>2]}else A=26}if((A|0)==26)WO(a,h);f[n>>2]=f[h+16>>2];f[a+20>>2]=f[h+20>>2];f[a+24>>2]=f[h+24>>2];f[a+28>>2]=f[h+28>>2];f[a+32>>2]=f[h+32>>2];n=f[x>>2]|0;f[y>>2]=n;F=n}if(F|0?(n=F+12|0,F=f[n>>2]|0,f[n>>2]=F+-1,(F|0)==1):0)XO(h);f[x>>2]=0;x=h+16|0;F=h+4|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;if((f[F>>2]|0)>0){x=f[h+40>>2]|0;n=0;do{f[x+(n<<2)>>2]=0;n=n+1|0}while((n|0)<(f[F>>2]|0))}F=f[h+44>>2]|0;if((F|0)!=(h+48|0))dX(F)}else{F=h+8|0;f[F>>2]=0;f[F+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=a;XJ(c,h)}c=f[l>>2]|0;l=f[c+4>>2]|0;F=f[c>>2]|0;f[t>>2]=l;f[w>>2]=F;f[i>>2]=l;f[i+4>>2]=F;_J(d,i,f[z>>2]&7|(e<<3)+-8,-1,0,0);do if((HJ(d)|0)==65536){e=f[m>>2]|0;f[h>>2]=f[e>>2];z=h+4|0;i=e+4|0;f[z>>2]=f[i>>2];F=h+8|0;f[F>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];f[h+24>>2]=f[e+24>>2];f[h+28>>2]=f[e+28>>2];f[h+32>>2]=f[e+32>>2];l=f[e+36>>2]|0;f[h+36>>2]=l;f[h+40>>2]=F;F=h+48|0;w=h+44|0;f[w>>2]=F;f[F>>2]=0;f[h+52>>2]=0;if(l|0){F=l+12|0;f[F>>2]=(f[F>>2]|0)+1}if((f[i>>2]|0)<3){i=f[e+44>>2]|0;F=f[w>>2]|0;f[F>>2]=f[i>>2];f[F+4>>2]=f[i+4>>2];break}else{f[z>>2]=0;WO(h,e);break}}else DJ(h,d,-1);while(0);d=h+36|0;m=f[d>>2]|0;if((o|0)==(h|0))H=m;else{if(m|0){e=m+12|0;f[e>>2]=(f[e>>2]|0)+1}e=a+92|0;m=f[e>>2]|0;if(m|0?(z=m+12|0,m=f[z>>2]|0,f[z>>2]=m+-1,(m|0)==1):0)XO(o);f[e>>2]=0;m=a+72|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;if((f[q>>2]|0)>0){z=f[s>>2]|0;s=0;do{f[z+(s<<2)>>2]=0;s=s+1|0;I=f[q>>2]|0}while((s|0)<(I|0));f[o>>2]=f[h>>2];if((I|0)<3)A=55;else A=57}else{f[o>>2]=f[h>>2];A=55}if((A|0)==55){I=f[h+4>>2]|0;if((I|0)<3){f[q>>2]=I;f[r>>2]=f[h+8>>2];f[a+68>>2]=f[h+12>>2];r=f[h+44>>2]|0;I=f[v>>2]|0;f[I>>2]=f[r>>2];f[I+4>>2]=f[r+4>>2]}else A=57}if((A|0)==57)WO(o,h);f[m>>2]=f[h+16>>2];f[a+76>>2]=f[h+20>>2];f[a+80>>2]=f[h+24>>2];f[a+84>>2]=f[h+28>>2];f[a+88>>2]=f[h+32>>2];a=f[d>>2]|0;f[e>>2]=a;H=a}if(H|0?(a=H+12|0,H=f[a>>2]|0,f[a>>2]=H+-1,(H|0)==1):0)XO(h);f[d>>2]=0;d=h+16|0;H=h+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[H>>2]|0)>0){d=f[h+40>>2]|0;a=0;do{f[d+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[H>>2]|0))}H=f[h+44>>2]|0;if((H|0)==(h+48|0)){u=g;return}dX(H);u=g;return}function Tfa(a){a=a|0;var b=0,c=0,d=0,e=0;b=a+56|0;c=a+92|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+72|0;b=a+60|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+96>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+100>>2]|0;if((b|0)!=(a+104|0))dX(b);b=a+36|0;d=f[b>>2]|0;if(d|0?(c=d+12|0,d=f[c>>2]|0,f[c>>2]=d+-1,(d|0)==1):0)XO(a);f[b>>2]=0;b=a+16|0;d=a+4|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[d>>2]|0)>0){b=f[a+40>>2]|0;c=0;do{f[b+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[d>>2]|0))}d=f[a+44>>2]|0;if((d|0)==(a+48|0))return;dX(d);return}function Ufa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;h=u;u=u+128|0;i=h;rda(i,a,b,c);pfa(f[i+16>>2]|0,f[i+48>>2]|0,f[i+72>>2]|0,f[i+104>>2]|0,f[i+12>>2]|0,f[i+8>>2]|0,c,d,e,g);sda(i);u=h;return}function Vfa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+16|0;g=e;if((UJ(a,-1)|0)==2?(TJ(a,-1)|0)==0:0){sY(a,c,d);u=e;return}f[g>>2]=0;f[g+4>>2]=0;h=JV(g,41)|0;i=229173;j=h+41|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));EP(-215,g,229215,226779,2641);KV(g);sY(a,c,d);u=e;return}function Wfa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+128|0;g=e;Xfa(g,a,b,1);mfa(f[g+16>>2]|0,f[g+48>>2]|0,f[g+72>>2]|0,f[g+104>>2]|0,f[g+12>>2]|0,f[g+8>>2]|0,f[g+116>>2]|0,c,d);Yfa(g);u=e;return}function Xfa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;g=u;u=u+64|0;h=g+8|0;i=g;f[a>>2]=1124007936;j=a+4|0;k=a+8|0;l=a+40|0;m=j;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[l>>2]=k;o=a+48|0;p=a+44|0;f[p>>2]=o;f[o>>2]=0;f[a+52>>2]=0;o=a+56|0;f[o>>2]=1124007936;q=a+60|0;r=a+64|0;s=a+96|0;m=q;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[s>>2]=r;t=a+104|0;v=a+100|0;f[v>>2]=t;f[t>>2]=0;f[a+108>>2]=0;t=a+120|0;f[t>>2]=0;w=a+124|0;f[w>>2]=0;x=GJ(c,-1)|0;y=x>>>3;f[a+116>>2]=(y&511)+1;z=x&7;x=a+112|0;f[x>>2]=z;if(!((z|0)==0&((e|0)==1&(y&510|0)==2))){f[h>>2]=0;f[h+4>>2]=0;m=JV(h,69)|0;A=247788;n=m+69|0;do{b[m>>0]=b[A>>0]|0;m=m+1|0;A=A+1|0}while((m|0)<(n|0));EP(-215,h,247858,247995,253);KV(h)}y=c+4|0;z=d+4|0;if((f[y>>2]|0)!=(f[z>>2]|0)){do if((HJ(c)|0)==65536){B=f[y>>2]|0;f[h>>2]=f[B>>2];C=h+4|0;D=B+4|0;f[C>>2]=f[D>>2];E=h+8|0;f[E>>2]=f[B+8>>2];f[h+12>>2]=f[B+12>>2];f[h+16>>2]=f[B+16>>2];f[h+20>>2]=f[B+20>>2];f[h+24>>2]=f[B+24>>2];f[h+28>>2]=f[B+28>>2];f[h+32>>2]=f[B+32>>2];F=f[B+36>>2]|0;f[h+36>>2]=F;f[h+40>>2]=E;E=h+48|0;G=h+44|0;f[G>>2]=E;f[E>>2]=0;f[h+52>>2]=0;if(F|0){E=F+12|0;f[E>>2]=(f[E>>2]|0)+1}if((f[D>>2]|0)<3){D=f[B+44>>2]|0;E=f[G>>2]|0;f[E>>2]=f[D>>2];f[E+4>>2]=f[D+4>>2];break}else{f[C>>2]=0;WO(h,B);break}}else DJ(h,c,-1);while(0);y=h+36|0;B=f[y>>2]|0;if((a|0)==(h|0))H=B;else{if(B|0){C=B+12|0;f[C>>2]=(f[C>>2]|0)+1}C=a+36|0;B=f[C>>2]|0;if(B|0?(D=B+12|0,B=f[D>>2]|0,f[D>>2]=B+-1,(B|0)==1):0)XO(a);f[C>>2]=0;B=a+16|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;if((f[j>>2]|0)>0){D=f[l>>2]|0;E=0;do{f[D+(E<<2)>>2]=0;E=E+1|0;I=f[j>>2]|0}while((E|0)<(I|0));f[a>>2]=f[h>>2];if((I|0)<3)J=23;else J=25}else{f[a>>2]=f[h>>2];J=23}if((J|0)==23){I=f[h+4>>2]|0;if((I|0)<3){f[j>>2]=I;f[k>>2]=f[h+8>>2];f[a+12>>2]=f[h+12>>2];k=f[h+44>>2]|0;I=f[p>>2]|0;f[I>>2]=f[k>>2];f[I+4>>2]=f[k+4>>2]}else J=25}if((J|0)==25)WO(a,h);f[B>>2]=f[h+16>>2];f[a+20>>2]=f[h+20>>2];f[a+24>>2]=f[h+24>>2];f[a+28>>2]=f[h+28>>2];f[a+32>>2]=f[h+32>>2];B=f[y>>2]|0;f[C>>2]=B;H=B}if(H|0?(B=H+12|0,H=f[B>>2]|0,f[B>>2]=H+-1,(H|0)==1):0)XO(h);f[y>>2]=0;y=h+16|0;H=h+4|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;if((f[H>>2]|0)>0){y=f[h+40>>2]|0;B=0;do{f[y+(B<<2)>>2]=0;B=B+1|0}while((B|0)<(f[H>>2]|0))}H=f[h+44>>2]|0;if((H|0)!=(h+48|0))dX(H)}else{H=h+8|0;f[H>>2]=0;f[H+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=a;XJ(c,h)}c=f[l>>2]|0;l=f[c+4>>2]|0;H=f[c>>2]|0;if((H|l)&1|0){f[h>>2]=0;f[h+4>>2]=0;m=JV(h,39)|0;A=229235;n=m+39|0;do{b[m>>0]=b[A>>0]|0;m=m+1|0;A=A+1|0}while((m|0)<(n|0));EP(-215,h,247858,247995,263);KV(h)}A=((H|0)/2|0)*3|0;f[t>>2]=l;f[w>>2]=A;f[i>>2]=l;f[i+4>>2]=A;_J(d,i,f[x>>2]&7|(e<<3)+-8,-1,0,0);do if((HJ(d)|0)==65536){e=f[z>>2]|0;f[h>>2]=f[e>>2];x=h+4|0;i=e+4|0;f[x>>2]=f[i>>2];A=h+8|0;f[A>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];f[h+24>>2]=f[e+24>>2];f[h+28>>2]=f[e+28>>2];f[h+32>>2]=f[e+32>>2];l=f[e+36>>2]|0;f[h+36>>2]=l;f[h+40>>2]=A;A=h+48|0;w=h+44|0;f[w>>2]=A;f[A>>2]=0;f[h+52>>2]=0;if(l|0){A=l+12|0;f[A>>2]=(f[A>>2]|0)+1}if((f[i>>2]|0)<3){i=f[e+44>>2]|0;A=f[w>>2]|0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];break}else{f[x>>2]=0;WO(h,e);break}}else DJ(h,d,-1);while(0);d=h+36|0;z=f[d>>2]|0;if((o|0)==(h|0))K=z;else{if(z|0){e=z+12|0;f[e>>2]=(f[e>>2]|0)+1}e=a+92|0;z=f[e>>2]|0;if(z|0?(x=z+12|0,z=f[x>>2]|0,f[x>>2]=z+-1,(z|0)==1):0)XO(o);f[e>>2]=0;z=a+72|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;if((f[q>>2]|0)>0){x=f[s>>2]|0;s=0;do{f[x+(s<<2)>>2]=0;s=s+1|0;L=f[q>>2]|0}while((s|0)<(L|0));f[o>>2]=f[h>>2];if((L|0)<3)J=56;else J=58}else{f[o>>2]=f[h>>2];J=56}if((J|0)==56){L=f[h+4>>2]|0;if((L|0)<3){f[q>>2]=L;f[r>>2]=f[h+8>>2];f[a+68>>2]=f[h+12>>2];r=f[h+44>>2]|0;L=f[v>>2]|0;f[L>>2]=f[r>>2];f[L+4>>2]=f[r+4>>2]}else J=58}if((J|0)==58)WO(o,h);f[z>>2]=f[h+16>>2];f[a+76>>2]=f[h+20>>2];f[a+80>>2]=f[h+24>>2];f[a+84>>2]=f[h+28>>2];f[a+88>>2]=f[h+32>>2];a=f[d>>2]|0;f[e>>2]=a;K=a}if(K|0?(a=K+12|0,K=f[a>>2]|0,f[a>>2]=K+-1,(K|0)==1):0)XO(h);f[d>>2]=0;d=h+16|0;K=h+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[K>>2]|0)>0){d=f[h+40>>2]|0;a=0;do{f[d+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[K>>2]|0))}K=f[h+44>>2]|0;if((K|0)==(h+48|0)){u=g;return}dX(K);u=g;return} +function BI(a,b,c,e,f,g,h,i){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;j=i+-1|0;if(!i)return;i=h+-4|0;if((h|0)<4){k=(h|0)>0;l=c;m=f;n=a;o=j;while(1){if(k){p=0;do{q=d[n+(p<<1)>>1]|0;r=d[l+(p<<1)>>1]|0;s=(q&65535)>(r&65535);d[m+(p<<1)>>1]=((s?q:r)&65535)-((s?r:q)&65535);p=p+1|0}while((p|0)!=(h|0))}if(!o)break;else{l=l+e|0;m=m+g|0;n=n+b|0;o=o+-1|0}}return}o=h&-4;n=(o|0)<(h|0);m=c;c=f;f=a;a=j;while(1){j=0;do{l=d[f+(j<<1)>>1]|0;k=d[m+(j<<1)>>1]|0;p=(l&65535)>(k&65535);q=j|1;r=d[f+(q<<1)>>1]|0;s=d[m+(q<<1)>>1]|0;t=(r&65535)>(s&65535);d[c+(j<<1)>>1]=((p?l:k)&65535)-((p?k:l)&65535);d[c+(q<<1)>>1]=((t?r:s)&65535)-((t?s:r)&65535);r=j|2;s=d[f+(r<<1)>>1]|0;t=d[m+(r<<1)>>1]|0;q=(s&65535)>(t&65535);l=j|3;k=d[f+(l<<1)>>1]|0;p=d[m+(l<<1)>>1]|0;u=(k&65535)>(p&65535);d[c+(r<<1)>>1]=((q?s:t)&65535)-((q?t:s)&65535);d[c+(l<<1)>>1]=((u?k:p)&65535)-((u?p:k)&65535);j=j+4|0}while((j|0)<=(i|0));if(n){j=o;do{k=d[f+(j<<1)>>1]|0;p=d[m+(j<<1)>>1]|0;u=(k&65535)>(p&65535);d[c+(j<<1)>>1]=((u?k:p)&65535)-((u?p:k)&65535);j=j+1|0}while((j|0)!=(h|0))}if(!a)break;else{m=m+e|0;c=c+g|0;f=f+b|0;a=a+-1|0}}return}function CI(a,c,d,e,f,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;j=i+-1|0;if(!i)return;i=h+-4|0;if((h|0)<4){k=(h|0)>0;l=d;m=f;n=a;o=j;while(1){if(k){p=0;do{q=(b[n+p>>0]|0)-(b[l+p>>0]|0)|0;r=(q|0)>-1?q:0-q|0;b[m+p>>0]=(r+128|0)>>>0<256?r:(r|0)>0?127:128;p=p+1|0}while((p|0)!=(h|0))}if(!o)break;else{l=l+e|0;m=m+g|0;n=n+c|0;o=o+-1|0}}return}o=h&-4;n=(o|0)<(h|0);m=d;d=f;f=a;a=j;while(1){j=0;do{l=(b[f+j>>0]|0)-(b[m+j>>0]|0)|0;k=(l|0)>-1?l:0-l|0;l=j|1;p=(b[f+l>>0]|0)-(b[m+l>>0]|0)|0;r=(p|0)>-1?p:0-p|0;b[d+j>>0]=(k+128|0)>>>0<256?k:(k|0)>0?127:128;b[d+l>>0]=(r+128|0)>>>0<256?r:(r|0)>0?127:128;r=j|2;l=(b[f+r>>0]|0)-(b[m+r>>0]|0)|0;k=(l|0)>-1?l:0-l|0;l=j|3;p=(b[f+l>>0]|0)-(b[m+l>>0]|0)|0;q=(p|0)>-1?p:0-p|0;b[d+r>>0]=(k+128|0)>>>0<256?k:(k|0)>0?127:128;b[d+l>>0]=(q+128|0)>>>0<256?q:(q|0)>0?127:128;j=j+4|0}while((j|0)<=(i|0));if(n){j=o;do{q=(b[f+j>>0]|0)-(b[m+j>>0]|0)|0;l=(q|0)>-1?q:0-q|0;b[d+j>>0]=(l+128|0)>>>0<256?l:(l|0)>0?127:128;j=j+1|0}while((j|0)!=(h|0))}if(!a)break;else{m=m+e|0;d=d+g|0;f=f+c|0;a=a+-1|0}}return}function DI(a,c,d,e,f,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;j=i+-1|0;if(!i)return;i=h+-4|0;if((h|0)<4){k=(h|0)>0;l=d;m=f;n=a;o=j;while(1){if(k){p=0;do{q=b[n+p>>0]|0;r=b[l+p>>0]|0;s=(q&255)>(r&255);b[m+p>>0]=((s?q:r)&255)-((s?r:q)&255);p=p+1|0}while((p|0)!=(h|0))}if(!o)break;else{l=l+e|0;m=m+g|0;n=n+c|0;o=o+-1|0}}return}o=h&-4;n=(o|0)<(h|0);m=d;d=f;f=a;a=j;while(1){j=0;do{l=b[f+j>>0]|0;k=b[m+j>>0]|0;p=(l&255)>(k&255);q=j|1;r=b[f+q>>0]|0;s=b[m+q>>0]|0;t=(r&255)>(s&255);b[d+j>>0]=((p?l:k)&255)-((p?k:l)&255);b[d+q>>0]=((t?r:s)&255)-((t?s:r)&255);r=j|2;s=b[f+r>>0]|0;t=b[m+r>>0]|0;q=(s&255)>(t&255);l=j|3;k=b[f+l>>0]|0;p=b[m+l>>0]|0;u=(k&255)>(p&255);b[d+r>>0]=((q?s:t)&255)-((q?t:s)&255);b[d+l>>0]=((u?k:p)&255)-((u?p:k)&255);j=j+4|0}while((j|0)<=(i|0));if(n){j=o;do{k=b[f+j>>0]|0;p=b[m+j>>0]|0;u=(k&255)>(p&255);b[d+j>>0]=((u?k:p)&255)-((u?p:k)&255);j=j+1|0}while((j|0)!=(h|0))}if(!a)break;else{m=m+e|0;d=d+g|0;f=f+c|0;a=a+-1|0}}return}function EI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=u;u=u+16|0;h=g;i=g+8|0;p[h>>3]=d;yV(i,31500);j=BK()|0;k=+K(+(d+-1.0))<2.220446049250313e-16;NH(a,b,c,j,e,31520,1,h,k?4:5);if(!(f[i+4>>2]|0)){u=g;return}u=g;return}function FI(a,c,d,e,f,g,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0.0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;l=+p[k>>3];k=j+-1|0;m=(j|0)==0;if(l==1.0){if(m)return;j=i+-4|0;if((i|0)<4){if((i|0)>0){n=d;o=f;q=a;r=k}else return;while(1){s=0;do{t=X(h[n+s>>0]|0,h[q+s>>0]|0)|0;b[o+s>>0]=t>>>0<256?t:t|0?255:0;s=s+1|0}while((s|0)!=(i|0));if(!r)break;else{n=n+e|0;o=o+g|0;q=q+c|0;r=r+-1|0}}return}r=i&-4;q=(r|0)<(i|0);o=d;n=f;s=a;t=k;while(1){u=0;do{v=X(h[o+u>>0]|0,h[s+u>>0]|0)|0;w=u|1;x=X(h[o+w>>0]|0,h[s+w>>0]|0)|0;b[n+u>>0]=v>>>0<256?v:v|0?255:0;b[n+w>>0]=x>>>0<256?x:x|0?255:0;x=u|2;w=X(h[o+x>>0]|0,h[s+x>>0]|0)|0;v=u|3;y=X(h[o+v>>0]|0,h[s+v>>0]|0)|0;b[n+x>>0]=w>>>0<256?w:w|0?255:0;b[n+v>>0]=y>>>0<256?y:y|0?255:0;u=u+4|0}while((u|0)<=(j|0));if(q){u=r;do{y=X(h[o+u>>0]|0,h[s+u>>0]|0)|0;b[n+u>>0]=y>>>0<256?y:y|0?255:0;u=u+1|0}while((u|0)!=(i|0))}if(!t)break;else{o=o+e|0;n=n+g|0;s=s+c|0;t=t+-1|0}}return}else{if(m)return;m=i+-4|0;if((i|0)<4){if((i|0)>0){z=d;A=f;B=a;C=k}else return;while(1){t=0;do{s=HEa(l*+(h[B+t>>0]|0)*+(h[z+t>>0]|0))|0;b[A+t>>0]=s>>>0<256?s:(s|0)>0?255:0;t=t+1|0}while((t|0)!=(i|0));if(!C)break;else{z=z+e|0;A=A+g|0;B=B+c|0;C=C+-1|0}}return}C=i&-4;B=(C|0)<(i|0);A=d;d=f;f=a;a=k;while(1){k=0;do{z=HEa(l*+(h[f+k>>0]|0)*+(h[A+k>>0]|0))|0;t=k|1;s=HEa(l*+(h[f+t>>0]|0)*+(h[A+t>>0]|0))|0;b[d+k>>0]=z>>>0<256?z:(z|0)>0?255:0;b[d+t>>0]=s>>>0<256?s:(s|0)>0?255:0;s=k|2;t=HEa(l*+(h[f+s>>0]|0)*+(h[A+s>>0]|0))|0;z=k|3;n=HEa(l*+(h[f+z>>0]|0)*+(h[A+z>>0]|0))|0;b[d+s>>0]=t>>>0<256?t:(t|0)>0?255:0;b[d+z>>0]=n>>>0<256?n:(n|0)>0?255:0;k=k+4|0}while((k|0)<=(m|0));if(B){k=C;do{n=HEa(l*+(h[f+k>>0]|0)*+(h[A+k>>0]|0))|0;b[d+k>>0]=n>>>0<256?n:(n|0)>0?255:0;k=k+1|0}while((k|0)!=(i|0))}if(!a)break;else{A=A+e|0;d=d+g|0;f=f+c|0;a=a+-1|0}}return}}function GI(a,c,d,e,f,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;k=+p[j>>3];j=i+-1|0;l=(i|0)==0;if(!(k==1.0)){if(l)return;i=h+-4|0;if((h|0)<4){if((h|0)>0){m=d;n=f;o=a;q=j}else return;while(1){r=0;do{s=HEa(k*+(b[o+r>>0]|0)*+(b[m+r>>0]|0))|0;b[n+r>>0]=(s+128|0)>>>0<256?s:(s|0)>0?127:128;r=r+1|0}while((r|0)!=(h|0));if(!q)break;else{m=m+e|0;n=n+g|0;o=o+c|0;q=q+-1|0}}return}q=h&-4;o=(q|0)<(h|0);n=d;m=f;r=a;s=j;while(1){t=0;do{u=HEa(k*+(b[r+t>>0]|0)*+(b[n+t>>0]|0))|0;v=t|1;w=HEa(k*+(b[r+v>>0]|0)*+(b[n+v>>0]|0))|0;b[m+t>>0]=(u+128|0)>>>0<256?u:(u|0)>0?127:128;b[m+v>>0]=(w+128|0)>>>0<256?w:(w|0)>0?127:128;w=t|2;v=HEa(k*+(b[r+w>>0]|0)*+(b[n+w>>0]|0))|0;u=t|3;x=HEa(k*+(b[r+u>>0]|0)*+(b[n+u>>0]|0))|0;b[m+w>>0]=(v+128|0)>>>0<256?v:(v|0)>0?127:128;b[m+u>>0]=(x+128|0)>>>0<256?x:(x|0)>0?127:128;t=t+4|0}while((t|0)<=(i|0));if(o){t=q;do{x=HEa(k*+(b[r+t>>0]|0)*+(b[n+t>>0]|0))|0;b[m+t>>0]=(x+128|0)>>>0<256?x:(x|0)>0?127:128;t=t+1|0}while((t|0)!=(h|0))}if(!s)break;else{n=n+e|0;m=m+g|0;r=r+c|0;s=s+-1|0}}return}if(l)return;l=h+-4|0;if((h|0)<4){if((h|0)>0){y=d;z=f;A=a;B=j}else return;while(1){s=0;do{r=X(b[y+s>>0]|0,b[A+s>>0]|0)|0;b[z+s>>0]=(r+128|0)>>>0<256?r:(r|0)>0?127:128;s=s+1|0}while((s|0)!=(h|0));if(!B)break;else{y=y+e|0;z=z+g|0;A=A+c|0;B=B+-1|0}}return}B=h&-4;if((B|0)<(h|0)){C=d;D=f;E=a;F=j}else{A=d;d=f;f=a;a=j;while(1){j=0;do{z=X(b[A+j>>0]|0,b[f+j>>0]|0)|0;y=j|1;s=X(b[A+y>>0]|0,b[f+y>>0]|0)|0;b[d+j>>0]=(z+128|0)>>>0<256?z:(z|0)>0?127:128;b[d+y>>0]=(s+128|0)>>>0<256?s:(s|0)>0?127:128;s=j|2;y=X(b[A+s>>0]|0,b[f+s>>0]|0)|0;z=j|3;r=X(b[A+z>>0]|0,b[f+z>>0]|0)|0;b[d+s>>0]=(y+128|0)>>>0<256?y:(y|0)>0?127:128;b[d+z>>0]=(r+128|0)>>>0<256?r:(r|0)>0?127:128;j=j+4|0}while((j|0)<=(l|0));if(!a)break;else{A=A+e|0;d=d+g|0;f=f+c|0;a=a+-1|0}}return}while(1){a=0;do{f=X(b[C+a>>0]|0,b[E+a>>0]|0)|0;d=a|1;A=X(b[C+d>>0]|0,b[E+d>>0]|0)|0;b[D+a>>0]=(f+128|0)>>>0<256?f:(f|0)>0?127:128;b[D+d>>0]=(A+128|0)>>>0<256?A:(A|0)>0?127:128;A=a|2;d=X(b[C+A>>0]|0,b[E+A>>0]|0)|0;f=a|3;j=X(b[C+f>>0]|0,b[E+f>>0]|0)|0;b[D+A>>0]=(d+128|0)>>>0<256?d:(d|0)>0?127:128;b[D+f>>0]=(j+128|0)>>>0<256?j:(j|0)>0?127:128;a=a+4|0}while((a|0)<=(l|0));G=B;do{a=X(b[C+G>>0]|0,b[E+G>>0]|0)|0;b[D+G>>0]=(a+128|0)>>>0<256?a:(a|0)>0?127:128;G=G+1|0}while((G|0)!=(h|0));if(!F)break;else{C=C+e|0;D=D+g|0;E=E+c|0;F=F+-1|0}}return}function HI(a,b,c,e,f,g,h,i,k){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;k=k|0;var l=0.0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;l=+p[k>>3];k=b>>>1;b=e>>>1;e=g>>>1;g=i+-1|0;m=(i|0)==0;if(!(l==1.0)){if(m)return;i=h+-4|0;n=(h|0)<4;o=h&-4;q=c;r=f;s=a;t=g;while(1){if(n)u=0;else{v=0;do{w=HEa(l*+(j[s+(v<<1)>>1]|0)*+(j[q+(v<<1)>>1]|0))|0;x=v|1;y=HEa(l*+(j[s+(x<<1)>>1]|0)*+(j[q+(x<<1)>>1]|0))|0;d[r+(v<<1)>>1]=w>>>0<65536?w:(w|0)>0?65535:0;d[r+(x<<1)>>1]=y>>>0<65536?y:(y|0)>0?65535:0;y=v|2;x=HEa(l*+(j[s+(y<<1)>>1]|0)*+(j[q+(y<<1)>>1]|0))|0;w=v|3;z=HEa(l*+(j[s+(w<<1)>>1]|0)*+(j[q+(w<<1)>>1]|0))|0;d[r+(y<<1)>>1]=x>>>0<65536?x:(x|0)>0?65535:0;d[r+(w<<1)>>1]=z>>>0<65536?z:(z|0)>0?65535:0;v=v+4|0}while((v|0)<=(i|0));u=o}if((u|0)<(h|0)){v=u;do{z=HEa(l*+(j[s+(v<<1)>>1]|0)*+(j[q+(v<<1)>>1]|0))|0;d[r+(v<<1)>>1]=z>>>0<65536?z:(z|0)>0?65535:0;v=v+1|0}while((v|0)!=(h|0))}if(!t)break;else{q=q+(b<<1)|0;r=r+(e<<1)|0;s=s+(k<<1)|0;t=t+-1|0}}return}if(m)return;m=h+-4|0;if((h|0)<4){if((h|0)>0){A=c;B=f;C=a;D=g}else return;while(1){t=0;do{s=X(j[A+(t<<1)>>1]|0,j[C+(t<<1)>>1]|0)|0;d[B+(t<<1)>>1]=s>>>0<65536?s:s|0?65535:0;t=t+1|0}while((t|0)!=(h|0));if(!D)break;else{A=A+(b<<1)|0;B=B+(e<<1)|0;C=C+(k<<1)|0;D=D+-1|0}}return}D=h&-4;C=(D|0)<(h|0);B=c;c=f;f=a;a=g;while(1){g=0;do{A=X(j[B+(g<<1)>>1]|0,j[f+(g<<1)>>1]|0)|0;t=g|1;s=X(j[B+(t<<1)>>1]|0,j[f+(t<<1)>>1]|0)|0;d[c+(g<<1)>>1]=A>>>0<65536?A:A|0?65535:0;d[c+(t<<1)>>1]=s>>>0<65536?s:s|0?65535:0;s=g|2;t=X(j[B+(s<<1)>>1]|0,j[f+(s<<1)>>1]|0)|0;A=g|3;r=X(j[B+(A<<1)>>1]|0,j[f+(A<<1)>>1]|0)|0;d[c+(s<<1)>>1]=t>>>0<65536?t:t|0?65535:0;d[c+(A<<1)>>1]=r>>>0<65536?r:r|0?65535:0;g=g+4|0}while((g|0)<=(m|0));if(C){g=D;do{r=X(j[B+(g<<1)>>1]|0,j[f+(g<<1)>>1]|0)|0;d[c+(g<<1)>>1]=r>>>0<65536?r:r|0?65535:0;g=g+1|0}while((g|0)!=(h|0))}if(!a)break;else{B=B+(b<<1)|0;c=c+(e<<1)|0;f=f+(k<<1)|0;a=a+-1|0}}return}function II(a,b,c,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;k=+p[j>>3];j=b>>>1;b=e>>>1;e=g>>>1;g=i+-1|0;l=(i|0)==0;if(!(k==1.0)){if(l)return;i=h+-4|0;m=(h|0)<4;n=h&-4;o=c;q=f;r=a;s=g;while(1){if(m)t=0;else{u=0;do{v=HEa(k*+(d[r+(u<<1)>>1]|0)*+(d[o+(u<<1)>>1]|0))|0;w=u|1;x=HEa(k*+(d[r+(w<<1)>>1]|0)*+(d[o+(w<<1)>>1]|0))|0;d[q+(u<<1)>>1]=(v+32768|0)>>>0<65536?v:(v|0)>0?32767:32768;d[q+(w<<1)>>1]=(x+32768|0)>>>0<65536?x:(x|0)>0?32767:32768;x=u|2;w=HEa(k*+(d[r+(x<<1)>>1]|0)*+(d[o+(x<<1)>>1]|0))|0;v=u|3;y=HEa(k*+(d[r+(v<<1)>>1]|0)*+(d[o+(v<<1)>>1]|0))|0;d[q+(x<<1)>>1]=(w+32768|0)>>>0<65536?w:(w|0)>0?32767:32768;d[q+(v<<1)>>1]=(y+32768|0)>>>0<65536?y:(y|0)>0?32767:32768;u=u+4|0}while((u|0)<=(i|0));t=n}if((t|0)<(h|0)){u=t;do{y=HEa(k*+(d[r+(u<<1)>>1]|0)*+(d[o+(u<<1)>>1]|0))|0;d[q+(u<<1)>>1]=(y+32768|0)>>>0<65536?y:(y|0)>0?32767:32768;u=u+1|0}while((u|0)!=(h|0))}if(!s)break;else{o=o+(b<<1)|0;q=q+(e<<1)|0;r=r+(j<<1)|0;s=s+-1|0}}return}if(l)return;l=h+-4|0;if((h|0)<4){if((h|0)>0){z=c;A=f;B=a;C=g}else return;while(1){s=0;do{r=X(d[z+(s<<1)>>1]|0,d[B+(s<<1)>>1]|0)|0;d[A+(s<<1)>>1]=(r+32768|0)>>>0<65536?r:(r|0)>0?32767:32768;s=s+1|0}while((s|0)!=(h|0));if(!C)break;else{z=z+(b<<1)|0;A=A+(e<<1)|0;B=B+(j<<1)|0;C=C+-1|0}}return}C=h&-4;B=(C|0)<(h|0);A=c;c=f;f=a;a=g;while(1){g=0;do{z=X(d[A+(g<<1)>>1]|0,d[f+(g<<1)>>1]|0)|0;s=g|1;r=X(d[A+(s<<1)>>1]|0,d[f+(s<<1)>>1]|0)|0;d[c+(g<<1)>>1]=(z+32768|0)>>>0<65536?z:(z|0)>0?32767:32768;d[c+(s<<1)>>1]=(r+32768|0)>>>0<65536?r:(r|0)>0?32767:32768;r=g|2;s=X(d[A+(r<<1)>>1]|0,d[f+(r<<1)>>1]|0)|0;z=g|3;q=X(d[A+(z<<1)>>1]|0,d[f+(z<<1)>>1]|0)|0;d[c+(r<<1)>>1]=(s+32768|0)>>>0<65536?s:(s|0)>0?32767:32768;d[c+(z<<1)>>1]=(q+32768|0)>>>0<65536?q:(q|0)>0?32767:32768;g=g+4|0}while((g|0)<=(l|0));if(B){g=C;do{q=X(d[A+(g<<1)>>1]|0,d[f+(g<<1)>>1]|0)|0;d[c+(g<<1)>>1]=(q+32768|0)>>>0<65536?q:(q|0)>0?32767:32768;g=g+1|0}while((g|0)!=(h|0))}if(!a)break;else{A=A+(b<<1)|0;c=c+(e<<1)|0;f=f+(j<<1)|0;a=a+-1|0}}return}function JI(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;k=+p[j>>3];j=b>>>2;b=d>>>2;d=g>>>2;g=i+-1|0;l=(i|0)==0;if(!(k==1.0)){if(l)return;i=h+-4|0;if((h|0)<4){if((h|0)>0){m=c;n=e;o=a;q=g}else return;while(1){r=0;do{s=AEa(k*+(f[o+(r<<2)>>2]|0)*+(f[m+(r<<2)>>2]|0))|0;f[n+(r<<2)>>2]=s;r=r+1|0}while((r|0)!=(h|0));if(!q)break;else{m=m+(b<<2)|0;n=n+(d<<2)|0;o=o+(j<<2)|0;q=q+-1|0}}return}q=h&-4;o=(q|0)<(h|0);n=c;m=e;r=a;s=g;while(1){t=0;do{u=AEa(k*+(f[r+(t<<2)>>2]|0)*+(f[n+(t<<2)>>2]|0))|0;v=t|1;w=AEa(k*+(f[r+(v<<2)>>2]|0)*+(f[n+(v<<2)>>2]|0))|0;f[m+(t<<2)>>2]=u;f[m+(v<<2)>>2]=w;w=t|2;v=AEa(k*+(f[r+(w<<2)>>2]|0)*+(f[n+(w<<2)>>2]|0))|0;u=t|3;x=AEa(k*+(f[r+(u<<2)>>2]|0)*+(f[n+(u<<2)>>2]|0))|0;f[m+(w<<2)>>2]=v;f[m+(u<<2)>>2]=x;t=t+4|0}while((t|0)<=(i|0));if(o){t=q;do{x=AEa(k*+(f[r+(t<<2)>>2]|0)*+(f[n+(t<<2)>>2]|0))|0;f[m+(t<<2)>>2]=x;t=t+1|0}while((t|0)!=(h|0))}if(!s)break;else{n=n+(b<<2)|0;m=m+(d<<2)|0;r=r+(j<<2)|0;s=s+-1|0}}return}if(l)return;l=h+-4|0;if((h|0)<4){if((h|0)>0){y=c;z=e;A=a;B=g}else return;while(1){s=0;do{r=X(f[y+(s<<2)>>2]|0,f[A+(s<<2)>>2]|0)|0;f[z+(s<<2)>>2]=r;s=s+1|0}while((s|0)!=(h|0));if(!B)break;else{y=y+(b<<2)|0;z=z+(d<<2)|0;A=A+(j<<2)|0;B=B+-1|0}}return}B=h&-4;if((B|0)<(h|0)){C=c;D=e;E=a;F=g}else{A=c;c=e;e=a;a=g;while(1){g=0;do{z=X(f[A+(g<<2)>>2]|0,f[e+(g<<2)>>2]|0)|0;y=g|1;s=X(f[A+(y<<2)>>2]|0,f[e+(y<<2)>>2]|0)|0;f[c+(g<<2)>>2]=z;f[c+(y<<2)>>2]=s;s=g|2;y=X(f[A+(s<<2)>>2]|0,f[e+(s<<2)>>2]|0)|0;z=g|3;r=X(f[A+(z<<2)>>2]|0,f[e+(z<<2)>>2]|0)|0;f[c+(s<<2)>>2]=y;f[c+(z<<2)>>2]=r;g=g+4|0}while((g|0)<=(l|0));if(!a)break;else{A=A+(b<<2)|0;c=c+(d<<2)|0;e=e+(j<<2)|0;a=a+-1|0}}return}while(1){a=0;do{e=X(f[C+(a<<2)>>2]|0,f[E+(a<<2)>>2]|0)|0;c=a|1;A=X(f[C+(c<<2)>>2]|0,f[E+(c<<2)>>2]|0)|0;f[D+(a<<2)>>2]=e;f[D+(c<<2)>>2]=A;A=a|2;c=X(f[C+(A<<2)>>2]|0,f[E+(A<<2)>>2]|0)|0;e=a|3;g=X(f[C+(e<<2)>>2]|0,f[E+(e<<2)>>2]|0)|0;f[D+(A<<2)>>2]=c;f[D+(e<<2)>>2]=g;a=a+4|0}while((a|0)<=(l|0));G=B;do{a=X(f[C+(G<<2)>>2]|0,f[E+(G<<2)>>2]|0)|0;f[D+(G<<2)>>2]=a;G=G+1|0}while((G|0)!=(h|0));if(!F)break;else{C=C+(b<<2)|0;D=D+(d<<2)|0;E=E+(j<<2)|0;F=F+-1|0}}return}function KI(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0.0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;j=+p[i>>3];i=b>>>2;b=d>>>2;d=f>>>2;f=h+-1|0;k=(h|0)==0;if(!(j==1.0)){if(k)return;h=g+-4|0;if((g|0)<4){if((g|0)>0){l=c;m=e;o=a;q=f}else return;while(1){r=0;do{n[m+(r<<2)>>2]=+n[o+(r<<2)>>2]*j*+n[l+(r<<2)>>2];r=r+1|0}while((r|0)!=(g|0));if(!q)break;else{l=l+(b<<2)|0;m=m+(d<<2)|0;o=o+(i<<2)|0;q=q+-1|0}}return}q=g&-4;o=(q|0)<(g|0);m=c;l=e;r=a;s=f;while(1){t=0;do{u=t|1;v=+n[r+(u<<2)>>2]*j*+n[m+(u<<2)>>2];n[l+(t<<2)>>2]=+n[r+(t<<2)>>2]*j*+n[m+(t<<2)>>2];n[l+(u<<2)>>2]=v;u=t|2;w=t|3;v=+n[r+(w<<2)>>2]*j*+n[m+(w<<2)>>2];n[l+(u<<2)>>2]=+n[r+(u<<2)>>2]*j*+n[m+(u<<2)>>2];n[l+(w<<2)>>2]=v;t=t+4|0}while((t|0)<=(h|0));if(o){t=q;do{n[l+(t<<2)>>2]=+n[r+(t<<2)>>2]*j*+n[m+(t<<2)>>2];t=t+1|0}while((t|0)!=(g|0))}if(!s)break;else{m=m+(b<<2)|0;l=l+(d<<2)|0;r=r+(i<<2)|0;s=s+-1|0}}return}if(k)return;k=g+-4|0;if((g|0)<4){if((g|0)>0){x=c;y=e;z=a;A=f}else return;while(1){s=0;do{n[y+(s<<2)>>2]=+n[z+(s<<2)>>2]*+n[x+(s<<2)>>2];s=s+1|0}while((s|0)!=(g|0));if(!A)break;else{x=x+(b<<2)|0;y=y+(d<<2)|0;z=z+(i<<2)|0;A=A+-1|0}}return}A=g&-4;if((A|0)<(g|0)){B=c;C=e;D=a;E=f}else{z=c;c=e;e=a;a=f;while(1){f=0;do{y=f|1;j=+n[e+(y<<2)>>2]*+n[z+(y<<2)>>2];n[c+(f<<2)>>2]=+n[e+(f<<2)>>2]*+n[z+(f<<2)>>2];n[c+(y<<2)>>2]=j;y=f|2;x=f|3;j=+n[e+(x<<2)>>2]*+n[z+(x<<2)>>2];n[c+(y<<2)>>2]=+n[e+(y<<2)>>2]*+n[z+(y<<2)>>2];n[c+(x<<2)>>2]=j;f=f+4|0}while((f|0)<=(k|0));if(!a)break;else{z=z+(b<<2)|0;c=c+(d<<2)|0;e=e+(i<<2)|0;a=a+-1|0}}return}while(1){a=0;do{e=a|1;j=+n[D+(e<<2)>>2]*+n[B+(e<<2)>>2];n[C+(a<<2)>>2]=+n[D+(a<<2)>>2]*+n[B+(a<<2)>>2];n[C+(e<<2)>>2]=j;e=a|2;c=a|3;j=+n[D+(c<<2)>>2]*+n[B+(c<<2)>>2];n[C+(e<<2)>>2]=+n[D+(e<<2)>>2]*+n[B+(e<<2)>>2];n[C+(c<<2)>>2]=j;a=a+4|0}while((a|0)<=(k|0));F=A;do{n[C+(F<<2)>>2]=+n[D+(F<<2)>>2]*+n[B+(F<<2)>>2];F=F+1|0}while((F|0)!=(g|0));if(!E)break;else{B=B+(b<<2)|0;C=C+(d<<2)|0;D=D+(i<<2)|0;E=E+-1|0}}return}function LI(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0.0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;j=+p[i>>3];i=b>>>3;b=d>>>3;d=f>>>3;f=h+-1|0;k=(h|0)==0;if(!(j==1.0)){if(k)return;h=g+-4|0;if((g|0)<4){if((g|0)>0){l=c;m=e;n=a;o=f}else return;while(1){q=0;do{p[m+(q<<3)>>3]=j*+p[n+(q<<3)>>3]*+p[l+(q<<3)>>3];q=q+1|0}while((q|0)!=(g|0));if(!o)break;else{l=l+(b<<3)|0;m=m+(d<<3)|0;n=n+(i<<3)|0;o=o+-1|0}}return}o=g&-4;n=(o|0)<(g|0);m=c;l=e;q=a;r=f;while(1){s=0;do{t=s|1;u=j*+p[q+(t<<3)>>3]*+p[m+(t<<3)>>3];p[l+(s<<3)>>3]=j*+p[q+(s<<3)>>3]*+p[m+(s<<3)>>3];p[l+(t<<3)>>3]=u;t=s|2;v=s|3;u=j*+p[q+(v<<3)>>3]*+p[m+(v<<3)>>3];p[l+(t<<3)>>3]=j*+p[q+(t<<3)>>3]*+p[m+(t<<3)>>3];p[l+(v<<3)>>3]=u;s=s+4|0}while((s|0)<=(h|0));if(n){s=o;do{p[l+(s<<3)>>3]=j*+p[q+(s<<3)>>3]*+p[m+(s<<3)>>3];s=s+1|0}while((s|0)!=(g|0))}if(!r)break;else{m=m+(b<<3)|0;l=l+(d<<3)|0;q=q+(i<<3)|0;r=r+-1|0}}return}if(k)return;k=g+-4|0;if((g|0)<4){if((g|0)>0){w=c;x=e;y=a;z=f}else return;while(1){r=0;do{p[x+(r<<3)>>3]=+p[y+(r<<3)>>3]*+p[w+(r<<3)>>3];r=r+1|0}while((r|0)!=(g|0));if(!z)break;else{w=w+(b<<3)|0;x=x+(d<<3)|0;y=y+(i<<3)|0;z=z+-1|0}}return}z=g&-4;if((z|0)<(g|0)){A=c;B=e;C=a;D=f}else{y=c;c=e;e=a;a=f;while(1){f=0;do{x=f|1;j=+p[e+(x<<3)>>3]*+p[y+(x<<3)>>3];p[c+(f<<3)>>3]=+p[e+(f<<3)>>3]*+p[y+(f<<3)>>3];p[c+(x<<3)>>3]=j;x=f|2;w=f|3;j=+p[e+(w<<3)>>3]*+p[y+(w<<3)>>3];p[c+(x<<3)>>3]=+p[e+(x<<3)>>3]*+p[y+(x<<3)>>3];p[c+(w<<3)>>3]=j;f=f+4|0}while((f|0)<=(k|0));if(!a)break;else{y=y+(b<<3)|0;c=c+(d<<3)|0;e=e+(i<<3)|0;a=a+-1|0}}return}while(1){a=0;do{e=a|1;j=+p[C+(e<<3)>>3]*+p[A+(e<<3)>>3];p[B+(a<<3)>>3]=+p[C+(a<<3)>>3]*+p[A+(a<<3)>>3];p[B+(e<<3)>>3]=j;e=a|2;c=a|3;j=+p[C+(c<<3)>>3]*+p[A+(c<<3)>>3];p[B+(e<<3)>>3]=+p[C+(e<<3)>>3]*+p[A+(e<<3)>>3];p[B+(c<<3)>>3]=j;a=a+4|0}while((a|0)<=(k|0));E=z;do{p[B+(E<<3)>>3]=+p[C+(E<<3)>>3]*+p[A+(E<<3)>>3];E=E+1|0}while((E|0)!=(g|0));if(!D)break;else{A=A+(b<<3)|0;B=B+(d<<3)|0;C=C+(i<<3)|0;D=D+-1|0}}return}function MI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var g=0,h=0,i=0;g=u;u=u+16|0;h=g;i=g+8|0;p[h>>3]=d;yV(i,31552);NH(a,b,c,BK()|0,e,31572,1,h,6);if(!(f[i+4>>2]|0)){u=g;return}u=g;return}function NI(a,c,d,e,f,g,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0.0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;l=+p[k>>3];k=(i|0)>0&(j|0)!=0;if(!a){if(k){m=f;n=d;o=j}else return;while(1){q=0;do{r=b[n+q>>0]|0;if(!(r<<24>>24))s=0;else{t=HEa(l/+(r&255))|0;s=(t>>>0<256?t:(t|0)>0?255:0)&255}b[m+q>>0]=s;q=q+1|0}while((q|0)!=(i|0));o=o+-1|0;if(!o)break;else{m=m+g|0;n=n+e|0}}return}else{if(k){u=d;v=f;w=a;x=j}else return;while(1){j=0;do{a=b[u+j>>0]|0;if(!(a<<24>>24))y=0;else{f=HEa(l*+(h[w+j>>0]|0)/+(a&255))|0;y=(f>>>0<256?f:(f|0)>0?255:0)&255}b[v+j>>0]=y;j=j+1|0}while((j|0)!=(i|0));x=x+-1|0;if(!x)break;else{u=u+e|0;v=v+g|0;w=w+c|0}}return}}function OI(a,c,d,e,f,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0,m=0,n=0,o=0,q=0;k=+p[j>>3];if((h|0)>0&(i|0)!=0){l=d;m=f;n=a;o=i}else return;while(1){i=0;do{a=b[l+i>>0]|0;if(!(a<<24>>24))q=0;else{f=HEa(k*+(b[n+i>>0]|0)/+(a<<24>>24))|0;q=((f+128|0)>>>0<256?f:(f|0)>0?127:128)&255}b[m+i>>0]=q;i=i+1|0}while((i|0)!=(h|0));o=o+-1|0;if(!o)break;else{l=l+e|0;m=m+g|0;n=n+c|0}}return}function PI(a,b,c,e,f,g,h,i,k){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;k=k|0;var l=0,m=0.0,n=0,o=0,q=0,r=0,s=0;l=b>>>1;b=e>>>1;e=g>>>1;m=+p[k>>3];if((h|0)>0&(i|0)!=0){n=c;o=f;q=a;r=i}else return;while(1){i=0;do{a=d[n+(i<<1)>>1]|0;if(!(a<<16>>16))s=0;else{f=HEa(m*+(j[q+(i<<1)>>1]|0)/+(a&65535))|0;s=(f>>>0<65536?f:(f|0)>0?65535:0)&65535}d[o+(i<<1)>>1]=s;i=i+1|0}while((i|0)!=(h|0));r=r+-1|0;if(!r)break;else{n=n+(b<<1)|0;o=o+(e<<1)|0;q=q+(l<<1)|0}}return}function QI(a,b,c,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0.0,m=0,n=0,o=0,q=0,r=0;k=b>>>1;b=e>>>1;e=g>>>1;l=+p[j>>3];if((h|0)>0&(i|0)!=0){m=c;n=f;o=a;q=i}else return;while(1){i=0;do{a=d[m+(i<<1)>>1]|0;if(!(a<<16>>16))r=0;else{f=HEa(l*+(d[o+(i<<1)>>1]|0)/+(a<<16>>16))|0;r=((f+32768|0)>>>0<65536?f:(f|0)>0?32767:32768)&65535}d[n+(i<<1)>>1]=r;i=i+1|0}while((i|0)!=(h|0));q=q+-1|0;if(!q)break;else{m=m+(b<<1)|0;n=n+(e<<1)|0;o=o+(k<<1)|0}}return}function RI(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0.0,m=0,n=0,o=0,q=0,r=0;k=b>>>2;b=d>>>2;d=g>>>2;l=+p[j>>3];if((h|0)>0&(i|0)!=0){m=c;n=e;o=a;q=i}else return;while(1){i=0;do{a=f[m+(i<<2)>>2]|0;if(!a)r=0;else r=HEa(l*+(f[o+(i<<2)>>2]|0)/+(a|0))|0;f[n+(i<<2)>>2]=r;i=i+1|0}while((i|0)!=(h|0));q=q+-1|0;if(!q)break;else{m=m+(b<<2)|0;n=n+(d<<2)|0;o=o+(k<<2)|0}}return}function SI(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0.0,k=0,l=0,m=0,o=0,q=0.0,r=0.0;j=+p[i>>3];i=b>>>2;b=d>>>2;d=f>>>2;if((g|0)>0&(h|0)!=0){k=c;l=e;m=a;o=h}else return;while(1){h=0;do{q=+n[k+(h<<2)>>2];if(q!=0.0)r=+n[m+(h<<2)>>2]*j/q;else r=0.0;n[l+(h<<2)>>2]=r;h=h+1|0}while((h|0)!=(g|0));o=o+-1|0;if(!o)break;else{k=k+(b<<2)|0;l=l+(d<<2)|0;m=m+(i<<2)|0}}return}function TI(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0.0,k=0,l=0,m=0,n=0,o=0.0,q=0.0;j=+p[i>>3];i=b>>>3;b=d>>>3;d=f>>>3;if((g|0)>0&(h|0)!=0){k=c;l=e;m=a;n=h}else return;while(1){h=0;do{o=+p[k+(h<<3)>>3];if(o!=0.0)q=j*+p[m+(h<<3)>>3]/o;else q=0.0;p[l+(h<<3)>>3]=q;h=h+1|0}while((h|0)!=(g|0));n=n+-1|0;if(!n)break;else{k=k+(b<<3)|0;l=l+(d<<3)|0;m=m+(i<<3)|0}}return}function UI(a,b,c,d){a=+a;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+16|0;g=e;h=e+8|0;p[g>>3]=a;yV(h,31604);NH(b,b,c,BK()|0,d,31624,1,g,7);if(!(f[h+4>>2]|0)){u=e;return}u=e;return}function VI(a,c,d,e,f,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0,m=0,n=0,o=0;k=+p[j>>3];if((h|0)>0&(i|0)!=0){l=f;m=d;n=i}else return;while(1){i=0;do{d=b[m+i>>0]|0;if(!(d<<24>>24))o=0;else{f=HEa(k/+(d&255))|0;o=(f>>>0<256?f:(f|0)>0?255:0)&255}b[l+i>>0]=o;i=i+1|0}while((i|0)!=(h|0));n=n+-1|0;if(!n)break;else{l=l+g|0;m=m+e|0}}return}function WI(a,c,d,e,f,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0,m=0,n=0,o=0;k=+p[j>>3];if((h|0)>0&(i|0)!=0){l=f;m=d;n=i}else return;while(1){i=0;do{d=b[m+i>>0]|0;if(!(d<<24>>24))o=0;else{f=HEa(k/+(d<<24>>24))|0;o=((f+128|0)>>>0<256?f:(f|0)>0?127:128)&255}b[l+i>>0]=o;i=i+1|0}while((i|0)!=(h|0));n=n+-1|0;if(!n)break;else{l=l+g|0;m=m+e|0}}return}function XI(a,b,c,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0,m=0,n=0,o=0;b=e>>>1;e=g>>>1;k=+p[j>>3];if((h|0)>0&(i|0)!=0){l=f;m=c;n=i}else return;while(1){i=0;do{c=d[m+(i<<1)>>1]|0;if(!(c<<16>>16))o=0;else{f=HEa(k/+(c&65535))|0;o=(f>>>0<65536?f:(f|0)>0?65535:0)&65535}d[l+(i<<1)>>1]=o;i=i+1|0}while((i|0)!=(h|0));n=n+-1|0;if(!n)break;else{l=l+(e<<1)|0;m=m+(b<<1)|0}}return}function YI(a,b,c,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0,m=0,n=0,o=0;b=e>>>1;e=g>>>1;k=+p[j>>3];if((h|0)>0&(i|0)!=0){l=f;m=c;n=i}else return;while(1){i=0;do{c=d[m+(i<<1)>>1]|0;if(!(c<<16>>16))o=0;else{f=HEa(k/+(c<<16>>16))|0;o=((f+32768|0)>>>0<65536?f:(f|0)>0?32767:32768)&65535}d[l+(i<<1)>>1]=o;i=i+1|0}while((i|0)!=(h|0));n=n+-1|0;if(!n)break;else{l=l+(e<<1)|0;m=m+(b<<1)|0}}return}function ZI(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0,m=0,n=0,o=0;b=d>>>2;d=g>>>2;k=+p[j>>3];if((h|0)>0&(i|0)!=0){l=e;m=c;n=i}else return;while(1){i=0;do{c=f[m+(i<<2)>>2]|0;if(!c)o=0;else o=HEa(k/+(c|0))|0;f[l+(i<<2)>>2]=o;i=i+1|0}while((i|0)!=(h|0));n=n+-1|0;if(!n)break;else{l=l+(d<<2)|0;m=m+(b<<2)|0}}return}function _I(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0.0,k=0,l=0,m=0,o=0.0;j=+p[i>>3];i=d>>>2;d=f>>>2;if((g|0)>0&(h|0)!=0){k=e;l=c;m=h}else return;while(1){h=0;do{o=+n[l+(h<<2)>>2];n[k+(h<<2)>>2]=o!=0.0?j/o:0.0;h=h+1|0}while((h|0)!=(g|0));m=m+-1|0;if(!m)break;else{k=k+(d<<2)|0;l=l+(i<<2)|0}}return}function $I(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0.0,k=0,l=0,m=0,n=0.0;j=+p[i>>3];i=d>>>3;d=f>>>3;if((g|0)>0&(h|0)!=0){k=e;l=c;m=h}else return;while(1){h=0;do{n=+p[l+(h<<3)>>3];p[k+(h<<3)>>3]=n!=0.0?j/n:0.0;h=h+1|0}while((h|0)!=(g|0));m=m+-1|0;if(!m)break;else{k=k+(d<<3)|0;l=l+(i<<3)|0}}return}function aJ(a,b,c,d,e,g,h){a=a|0;b=+b;c=c|0;d=+d;e=+e;g=g|0;h=h|0;var i=0,j=0,k=0;i=u;u=u+32|0;j=i+24|0;k=i;yV(j,31656);p[k>>3]=b;p[k+8>>3]=d;p[k+16>>3]=e;NH(a,c,g,BK()|0,h,31676,1,k,8);if(!(f[j+4>>2]|0)){u=i;return}u=i;return}function bJ(a,c,d,e,f,g,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0.0,m=0.0,o=0.0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0;l=+p[k>>3];m=+p[k+8>>3];o=+p[k+16>>3];if(!j)return;k=i+-4|0;q=(i|0)<4;r=i&-4;s=d;d=f;f=a;a=j;while(1){a=a+-1|0;if(q)t=0;else{j=0;do{u=j|1;v=+n[42464+((h[f+u>>0]|0)+128<<2)>>2]*l+ +n[42464+((h[s+u>>0]|0)+128<<2)>>2]*m+o;w=HEa(+n[42464+((h[f+j>>0]|0)+128<<2)>>2]*l+ +n[42464+((h[s+j>>0]|0)+128<<2)>>2]*m+o)|0;b[d+j>>0]=w>>>0<256?w:(w|0)>0?255:0;w=HEa(v)|0;b[d+u>>0]=w>>>0<256?w:(w|0)>0?255:0;w=j|2;u=j|3;v=+n[42464+((h[f+u>>0]|0)+128<<2)>>2]*l+ +n[42464+((h[s+u>>0]|0)+128<<2)>>2]*m+o;x=HEa(+n[42464+((h[f+w>>0]|0)+128<<2)>>2]*l+ +n[42464+((h[s+w>>0]|0)+128<<2)>>2]*m+o)|0;b[d+w>>0]=x>>>0<256?x:(x|0)>0?255:0;x=HEa(v)|0;b[d+u>>0]=x>>>0<256?x:(x|0)>0?255:0;j=j+4|0}while((j|0)<=(k|0));t=r}if((t|0)<(i|0)){j=t;do{x=HEa(+n[42464+((h[f+j>>0]|0)+128<<2)>>2]*l+ +n[42464+((h[s+j>>0]|0)+128<<2)>>2]*m+o)|0;b[d+j>>0]=x>>>0<256?x:(x|0)>0?255:0;j=j+1|0}while((j|0)!=(i|0))}if(!a)break;else{s=s+e|0;d=d+g|0;f=f+c|0}}return}function cJ(a,c,d,e,f,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0.0,m=0.0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0;k=+p[j>>3];l=+p[j+8>>3];m=+p[j+16>>3];if(!i)return;j=h+-4|0;n=(h|0)<4;o=h&-4;q=d;d=f;f=a;a=i;while(1){a=a+-1|0;if(n)r=0;else{i=0;do{s=HEa(k*+(b[f+i>>0]|0)+l*+(b[q+i>>0]|0)+m)|0;t=i|1;u=HEa(k*+(b[f+t>>0]|0)+l*+(b[q+t>>0]|0)+m)|0;b[d+i>>0]=(s+128|0)>>>0<256?s:(s|0)>0?127:128;b[d+t>>0]=(u+128|0)>>>0<256?u:(u|0)>0?127:128;u=i|2;t=HEa(k*+(b[f+u>>0]|0)+l*+(b[q+u>>0]|0)+m)|0;s=i|3;v=HEa(k*+(b[f+s>>0]|0)+l*+(b[q+s>>0]|0)+m)|0;b[d+u>>0]=(t+128|0)>>>0<256?t:(t|0)>0?127:128;b[d+s>>0]=(v+128|0)>>>0<256?v:(v|0)>0?127:128;i=i+4|0}while((i|0)<=(j|0));r=o}if((r|0)<(h|0)){i=r;do{v=HEa(k*+(b[f+i>>0]|0)+l*+(b[q+i>>0]|0)+m)|0;b[d+i>>0]=(v+128|0)>>>0<256?v:(v|0)>0?127:128;i=i+1|0}while((i|0)!=(h|0))}if(!a)break;else{q=q+e|0;d=d+g|0;f=f+c|0}}return}function dJ(a,b,c,e,f,g,h,i,k){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;k=k|0;var l=0.0,m=0.0,n=0.0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;l=+p[k>>3];m=+p[k+8>>3];n=+p[k+16>>3];k=b>>>1;b=e>>>1;e=g>>>1;if(!i)return;g=h+-4|0;o=(h|0)<4;q=h&-4;r=c;c=f;f=a;a=i;while(1){a=a+-1|0;if(o)s=0;else{i=0;do{t=HEa(l*+(j[f+(i<<1)>>1]|0)+m*+(j[r+(i<<1)>>1]|0)+n)|0;u=i|1;v=HEa(l*+(j[f+(u<<1)>>1]|0)+m*+(j[r+(u<<1)>>1]|0)+n)|0;d[c+(i<<1)>>1]=t>>>0<65536?t:(t|0)>0?65535:0;d[c+(u<<1)>>1]=v>>>0<65536?v:(v|0)>0?65535:0;v=i|2;u=HEa(l*+(j[f+(v<<1)>>1]|0)+m*+(j[r+(v<<1)>>1]|0)+n)|0;t=i|3;w=HEa(l*+(j[f+(t<<1)>>1]|0)+m*+(j[r+(t<<1)>>1]|0)+n)|0;d[c+(v<<1)>>1]=u>>>0<65536?u:(u|0)>0?65535:0;d[c+(t<<1)>>1]=w>>>0<65536?w:(w|0)>0?65535:0;i=i+4|0}while((i|0)<=(g|0));s=q}if((s|0)<(h|0)){i=s;do{w=HEa(l*+(j[f+(i<<1)>>1]|0)+m*+(j[r+(i<<1)>>1]|0)+n)|0;d[c+(i<<1)>>1]=w>>>0<65536?w:(w|0)>0?65535:0;i=i+1|0}while((i|0)!=(h|0))}if(!a)break;else{r=r+(b<<1)|0;c=c+(e<<1)|0;f=f+(k<<1)|0}}return}function eJ(a,b,c,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0.0,m=0.0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0;k=+p[j>>3];l=+p[j+8>>3];m=+p[j+16>>3];j=b>>>1;b=e>>>1;e=g>>>1;if(!i)return;g=h+-4|0;n=(h|0)<4;o=h&-4;q=c;c=f;f=a;a=i;while(1){a=a+-1|0;if(n)r=0;else{i=0;do{s=HEa(k*+(d[f+(i<<1)>>1]|0)+l*+(d[q+(i<<1)>>1]|0)+m)|0;t=i|1;u=HEa(k*+(d[f+(t<<1)>>1]|0)+l*+(d[q+(t<<1)>>1]|0)+m)|0;d[c+(i<<1)>>1]=(s+32768|0)>>>0<65536?s:(s|0)>0?32767:32768;d[c+(t<<1)>>1]=(u+32768|0)>>>0<65536?u:(u|0)>0?32767:32768;u=i|2;t=HEa(k*+(d[f+(u<<1)>>1]|0)+l*+(d[q+(u<<1)>>1]|0)+m)|0;s=i|3;v=HEa(k*+(d[f+(s<<1)>>1]|0)+l*+(d[q+(s<<1)>>1]|0)+m)|0;d[c+(u<<1)>>1]=(t+32768|0)>>>0<65536?t:(t|0)>0?32767:32768;d[c+(s<<1)>>1]=(v+32768|0)>>>0<65536?v:(v|0)>0?32767:32768;i=i+4|0}while((i|0)<=(g|0));r=o}if((r|0)<(h|0)){i=r;do{v=HEa(k*+(d[f+(i<<1)>>1]|0)+l*+(d[q+(i<<1)>>1]|0)+m)|0;d[c+(i<<1)>>1]=(v+32768|0)>>>0<65536?v:(v|0)>0?32767:32768;i=i+1|0}while((i|0)!=(h|0))}if(!a)break;else{q=q+(b<<1)|0;c=c+(e<<1)|0;f=f+(j<<1)|0}}return}function fJ(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0.0,m=0.0,n=0,o=0,q=0,r=0,s=0,t=0,u=0;k=+p[j>>3];l=+p[j+8>>3];m=+p[j+16>>3];j=b>>>2;b=d>>>2;d=g>>>2;g=i+-1|0;if(!i)return;i=h+-4|0;if((h|0)<4){if((h|0)>0){n=c;o=e;q=a;r=g}else return;while(1){s=0;do{t=AEa(m+(k*+(f[q+(s<<2)>>2]|0)+l*+(f[n+(s<<2)>>2]|0)))|0;f[o+(s<<2)>>2]=t;s=s+1|0}while((s|0)!=(h|0));if(!r)break;else{n=n+(b<<2)|0;o=o+(d<<2)|0;q=q+(j<<2)|0;r=r+-1|0}}return}r=h&-4;q=(r|0)<(h|0);o=c;c=e;e=a;a=g;while(1){g=0;do{n=AEa(m+(k*+(f[e+(g<<2)>>2]|0)+l*+(f[o+(g<<2)>>2]|0)))|0;s=g|1;t=AEa(m+(k*+(f[e+(s<<2)>>2]|0)+l*+(f[o+(s<<2)>>2]|0)))|0;f[c+(g<<2)>>2]=n;f[c+(s<<2)>>2]=t;t=g|2;s=AEa(m+(k*+(f[e+(t<<2)>>2]|0)+l*+(f[o+(t<<2)>>2]|0)))|0;n=g|3;u=AEa(m+(k*+(f[e+(n<<2)>>2]|0)+l*+(f[o+(n<<2)>>2]|0)))|0;f[c+(t<<2)>>2]=s;f[c+(n<<2)>>2]=u;g=g+4|0}while((g|0)<=(i|0));if(q){g=r;do{u=AEa(m+(k*+(f[e+(g<<2)>>2]|0)+l*+(f[o+(g<<2)>>2]|0)))|0;f[c+(g<<2)>>2]=u;g=g+1|0}while((g|0)!=(h|0))}if(!a)break;else{o=o+(b<<2)|0;c=c+(d<<2)|0;e=e+(j<<2)|0;a=a+-1|0}}return}function gJ(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0.0,k=0.0,l=0.0,m=0,o=0,q=0,r=0,s=0,t=0.0;j=+p[i>>3];k=+p[i+8>>3];l=+p[i+16>>3];i=b>>>2;b=d>>>2;d=f>>>2;f=h+-1|0;if(!h)return;h=g+-4|0;if((g|0)<4){if((g|0)>0){m=c;o=e;q=a;r=f}else return;while(1){s=0;do{n[o+(s<<2)>>2]=l+(j*+n[q+(s<<2)>>2]+k*+n[m+(s<<2)>>2]);s=s+1|0}while((s|0)!=(g|0));if(!r)break;else{m=m+(b<<2)|0;o=o+(d<<2)|0;q=q+(i<<2)|0;r=r+-1|0}}return}r=g&-4;q=(r|0)<(g|0);o=c;c=e;e=a;a=f;while(1){f=0;do{m=f|1;t=l+(j*+n[e+(m<<2)>>2]+k*+n[o+(m<<2)>>2]);n[c+(f<<2)>>2]=l+(j*+n[e+(f<<2)>>2]+k*+n[o+(f<<2)>>2]);n[c+(m<<2)>>2]=t;m=f|2;s=f|3;t=l+(j*+n[e+(s<<2)>>2]+k*+n[o+(s<<2)>>2]);n[c+(m<<2)>>2]=l+(j*+n[e+(m<<2)>>2]+k*+n[o+(m<<2)>>2]);n[c+(s<<2)>>2]=t;f=f+4|0}while((f|0)<=(h|0));if(q){f=r;do{n[c+(f<<2)>>2]=l+(j*+n[e+(f<<2)>>2]+k*+n[o+(f<<2)>>2]);f=f+1|0}while((f|0)!=(g|0))}if(!a)break;else{o=o+(b<<2)|0;c=c+(d<<2)|0;e=e+(i<<2)|0;a=a+-1|0}}return}function hJ(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0.0,k=0.0,l=0.0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0;j=+p[i>>3];k=+p[i+8>>3];l=+p[i+16>>3];i=b>>>3;b=d>>>3;d=f>>>3;f=h+-1|0;if(!h)return;h=g+-4|0;if((g|0)<4){if((g|0)>0){m=c;n=e;o=a;q=f}else return;while(1){r=0;do{p[n+(r<<3)>>3]=l+(j*+p[o+(r<<3)>>3]+k*+p[m+(r<<3)>>3]);r=r+1|0}while((r|0)!=(g|0));if(!q)break;else{m=m+(b<<3)|0;n=n+(d<<3)|0;o=o+(i<<3)|0;q=q+-1|0}}return}q=g&-4;if((q|0)<(g|0)){s=c;t=e;u=a;v=f}else{o=c;c=e;e=a;a=f;while(1){f=0;do{n=f|1;w=l+(j*+p[e+(n<<3)>>3]+k*+p[o+(n<<3)>>3]);p[c+(f<<3)>>3]=l+(j*+p[e+(f<<3)>>3]+k*+p[o+(f<<3)>>3]);p[c+(n<<3)>>3]=w;n=f|2;m=f|3;w=l+(j*+p[e+(m<<3)>>3]+k*+p[o+(m<<3)>>3]);p[c+(n<<3)>>3]=l+(j*+p[e+(n<<3)>>3]+k*+p[o+(n<<3)>>3]);p[c+(m<<3)>>3]=w;f=f+4|0}while((f|0)<=(h|0));if(!a)break;else{o=o+(b<<3)|0;c=c+(d<<3)|0;e=e+(i<<3)|0;a=a+-1|0}}return}while(1){a=0;do{e=a|1;w=l+(j*+p[u+(e<<3)>>3]+k*+p[s+(e<<3)>>3]);p[t+(a<<3)>>3]=l+(j*+p[u+(a<<3)>>3]+k*+p[s+(a<<3)>>3]);p[t+(e<<3)>>3]=w;e=a|2;c=a|3;w=l+(j*+p[u+(c<<3)>>3]+k*+p[s+(c<<3)>>3]);p[t+(e<<3)>>3]=l+(j*+p[u+(e<<3)>>3]+k*+p[s+(e<<3)>>3]);p[t+(c<<3)>>3]=w;a=a+4|0}while((a|0)<=(h|0));x=q;do{p[t+(x<<3)>>3]=l+(j*+p[u+(x<<3)>>3]+k*+p[s+(x<<3)>>3]);x=x+1|0}while((x|0)!=(g|0));if(!v)break;else{s=s+(b<<3)|0;t=t+(d<<3)|0;u=u+(i<<3)|0;v=v+-1|0}}return}function iJ(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0.0,aa=0.0,ba=0;g=u;u=u+1456|0;h=g+1400|0;i=g+1392|0;j=g+1384|0;k=g+1264|0;l=g+1376|0;m=g+1208|0;n=g+1320|0;o=g+1192|0;q=g+1168|0;r=g+1136|0;s=g+96|0;t=g+88|0;v=g+1184|0;w=g+56|0;x=g;f[i>>2]=e;yV(j,31708);if(e>>>0>=6){f[h>>2]=0;f[h+4>>2]=0;e=JV(h,92)|0;y=149989;z=e+92|0;do{b[e>>0]=b[y>>0]|0;e=e+1|0;y=y+1|0}while((e|0)<(z|0));EP(-215,h,150082,148090,1234);KV(h)}y=HJ(a)|0;if(((((HJ(c)|0)==131072&1)+((y|0)==131072&1)|0)!=1?QJ(a,c)|0:0)?(y=GJ(a,-1)|0,(y|0)==(GJ(c,-1)|0)):0){A=0;B=32}else B=6;do if((B|0)==6){y=GJ(c,-1)|0;e=HJ(a)|0;z=HJ(c)|0;if((RJ(a,-1)|0)<=2?WJ(a,-1)|0:0){FJ(h,a,-1);C=f[h>>2]|0;D=(C|0)==1;if(!D?(f[h+4>>2]|0)!=1:0)E=0;else{F=(y>>>3&511)+1|0;if(!((e|0)!=131072&(z|0)==131072)){z=f[h+4>>2]|0;e=(z|0)==1;if(!((C|0)==(F|0)&e|D&(e|(z|0)==(F|0))))if(D&(z|0)==4)E=F>>>0<5&(GJ(a,-1)|0)==6;else E=0;else E=1}else E=0}G=E}else G=0;F=GJ(a,-1)|0;z=HJ(c)|0;D=HJ(a)|0;if((RJ(c,-1)|0)<=2?WJ(c,-1)|0:0){FJ(h,c,-1);e=f[h>>2]|0;C=(e|0)==1;if(!C?(f[h+4>>2]|0)!=1:0)H=0;else{y=(F>>>3&511)+1|0;if(!((z|0)!=131072&(D|0)==131072)){D=f[h+4>>2]|0;z=(D|0)==1;if(!((e|0)==(y|0)&z|C&(z|(D|0)==(y|0))))if(C&(D|0)==4)H=y>>>0<5&(GJ(c,-1)|0)==6;else H=0;else H=1}else H=0}J=H}else J=0;y=G^1;if(J|y){if((y|J^1)&(G|J)){A=1;B=32;break}f[h>>2]=0;f[h+4>>2]=0;DVa(JV(h,139)|0,150090,139)|0;EP(-209,h,150082,148090,1256);KV(h);A=1;B=32;break}y=f[i>>2]|0;switch(y|0){case 3:{K=1;break}case 4:{K=2;break}case 2:{K=4;break}default:K=(y|0)==1?3:y}f[i>>2]=K;iJ(c,a,d,K)}while(0);if((B|0)==32){K=HJ(a)|0;J=HJ(c)|0;do if((HJ(a)|0)==65536){G=f[a+4>>2]|0;f[h>>2]=f[G>>2];H=h+4|0;E=G+4|0;f[H>>2]=f[E>>2];y=h+8|0;f[y>>2]=f[G+8>>2];f[h+12>>2]=f[G+12>>2];f[h+16>>2]=f[G+16>>2];f[h+20>>2]=f[G+20>>2];f[h+24>>2]=f[G+24>>2];f[h+28>>2]=f[G+28>>2];f[h+32>>2]=f[G+32>>2];D=f[G+36>>2]|0;f[h+36>>2]=D;f[h+40>>2]=y;y=h+48|0;C=h+44|0;f[C>>2]=y;f[y>>2]=0;f[h+52>>2]=0;if(D|0){y=D+12|0;f[y>>2]=(f[y>>2]|0)+1}if((f[E>>2]|0)<3){E=f[G+44>>2]|0;y=f[C>>2]|0;f[y>>2]=f[E>>2];f[y+4>>2]=f[E+4>>2];break}else{f[H>>2]=0;WO(h,G);break}}else DJ(h,a,-1);while(0);do if((HJ(c)|0)==65536){a=f[c+4>>2]|0;f[k>>2]=f[a>>2];G=k+4|0;H=a+4|0;f[G>>2]=f[H>>2];E=k+8|0;f[E>>2]=f[a+8>>2];f[k+12>>2]=f[a+12>>2];f[k+16>>2]=f[a+16>>2];f[k+20>>2]=f[a+20>>2];f[k+24>>2]=f[a+24>>2];f[k+28>>2]=f[a+28>>2];f[k+32>>2]=f[a+32>>2];y=f[a+36>>2]|0;f[k+36>>2]=y;f[k+40>>2]=E;E=k+48|0;C=k+44|0;f[C>>2]=E;f[E>>2]=0;f[k+52>>2]=0;if(y|0){E=y+12|0;f[E>>2]=(f[E>>2]|0)+1}if((f[H>>2]|0)<3){H=f[a+44>>2]|0;E=f[C>>2]|0;f[E>>2]=f[H>>2];f[E+4>>2]=f[H+4>>2];break}else{f[G>>2]=0;WO(k,a);break}}else DJ(k,c,-1);while(0);c=h+4|0;a=f[c>>2]|0;if(((K|0)==(J|0)&(a|0)<3?(f[k+4>>2]|0)<3:0)?(J=h+40|0,K=f[J>>2]|0,G=f[K+4>>2]|0,H=f[K>>2]|0,E=f[k+40>>2]|0,(H|0)==(f[E>>2]|0)?(G|0)==(f[E+4>>2]|0):0):0){E=f[h>>2]|0;C=f[k>>2]|0;y=(E>>>3&511)+1|0;if(!((C^E)&4095)){f[l>>2]=G;f[l+4>>2]=H;_J(d,l,(y<<3)+-8|0,-1,0,0);do if((HJ(d)|0)==65536){l=f[d+4>>2]|0;f[m>>2]=f[l>>2];H=m+4|0;G=l+4|0;f[H>>2]=f[G>>2];D=m+8|0;f[D>>2]=f[l+8>>2];f[m+12>>2]=f[l+12>>2];f[m+16>>2]=f[l+16>>2];f[m+20>>2]=f[l+20>>2];f[m+24>>2]=f[l+24>>2];f[m+28>>2]=f[l+28>>2];f[m+32>>2]=f[l+32>>2];z=f[l+36>>2]|0;f[m+36>>2]=z;f[m+40>>2]=D;D=m+48|0;e=m+44|0;f[e>>2]=D;f[D>>2]=0;f[m+52>>2]=0;if(z|0){D=z+12|0;f[D>>2]=(f[D>>2]|0)+1}if((f[G>>2]|0)<3){G=f[l+44>>2]|0;D=f[e>>2]|0;f[D>>2]=f[G>>2];f[D+4>>2]=f[G+4>>2];L=m;break}else{f[H>>2]=0;WO(m,l);L=m;break}}else{DJ(m,d,-1);L=m}while(0);l=f[h>>2]|0;H=(l>>>3&511)+1|0;G=f[k>>2]|0;D=f[L>>2]|0;L=f[h+12>>2]|0;e=f[h+8>>2]|0;z=wVa(L|0,((L|0)<0)<<31>>31|0,H|0,0)|0;F=wVa(z|0,I|0,e|0,((e|0)<0)<<31>>31|0)|0;if((l&16384&G&D|0)!=0?(F|0)==(F|0)&(I|0)==(((F|0)<0)<<31>>31|0):0){M=1;N=F}else{M=e;N=X(L,H)|0}H=m+16|0;L=m+44|0;e=m+48|0;ri[f[31728+((l&7)<<2)>>2]&127](f[h+16>>2]|0,f[h+48>>2]|0,f[k+16>>2]|0,f[k+48>>2]|0,f[H>>2]|0,f[e>>2]|0,N,M,i);M=m+36|0;N=f[M>>2]|0;if(N|0?(l=N+12|0,N=f[l>>2]|0,f[l>>2]=N+-1,(N|0)==1):0)XO(m);f[M>>2]=0;M=m+4|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;if((f[M>>2]|0)>0){H=f[m+40>>2]|0;N=0;do{f[H+(N<<2)>>2]=0;N=N+1|0}while((N|0)<(f[M>>2]|0))}M=f[L>>2]|0;if((M|0)!=(e|0))dX(M);O=k+36|0}else{P=k;Q=J;R=E;S=C;T=y;U=K;V=h;B=70}}else{K=f[h>>2]|0;y=h+40|0;P=k;Q=y;R=K;S=f[k>>2]|0;T=(K>>>3&511)+1|0;U=f[y>>2]|0;V=h;B=70}if((B|0)==70){y=R&7;R=S&7;$J(d,a,U,(T<<3)+-8|0,-1,0,0);hP(m,h,1,0);T=m+36|0;U=f[T>>2]|0;if(U|0){a=U+12|0;f[a>>2]=(f[a>>2]|0)+1}a=h+36|0;U=f[a>>2]|0;if(U|0?(S=U+12|0,U=f[S>>2]|0,f[S>>2]=U+-1,(U|0)==1):0)XO(h);f[a>>2]=0;U=h+16|0;f[U>>2]=0;f[U+4>>2]=0;f[U+8>>2]=0;f[U+12>>2]=0;if((f[c>>2]|0)>0){S=f[Q>>2]|0;Q=0;do{f[S+(Q<<2)>>2]=0;Q=Q+1|0;W=f[c>>2]|0}while((Q|0)<(W|0));f[V>>2]=f[m>>2];if((W|0)<3)B=80;else B=82}else{f[V>>2]=f[m>>2];B=80}if((B|0)==80){V=f[m+4>>2]|0;if((V|0)<3){f[c>>2]=V;f[h+8>>2]=f[m+8>>2];f[h+12>>2]=f[m+12>>2];V=f[m+44>>2]|0;W=f[h+44>>2]|0;f[W>>2]=f[V>>2];f[W+4>>2]=f[V+4>>2]}else B=82}if((B|0)==82)WO(h,m);V=m+16|0;f[U>>2]=f[V>>2];f[h+20>>2]=f[m+20>>2];f[h+24>>2]=f[m+24>>2];f[h+28>>2]=f[m+28>>2];f[h+32>>2]=f[m+32>>2];U=f[T>>2]|0;f[a>>2]=U;if(U|0?(a=U+12|0,U=f[a>>2]|0,f[a>>2]=U+-1,(U|0)==1):0)XO(m);f[T>>2]=0;T=m+4|0;f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;f[V+12>>2]=0;if((f[T>>2]|0)>0){V=f[m+40>>2]|0;U=0;do{f[V+(U<<2)>>2]=0;U=U+1|0}while((U|0)<(f[T>>2]|0))}T=f[m+44>>2]|0;if((T|0)!=(m+48|0))dX(T);hP(m,k,1,0);T=m+36|0;U=f[T>>2]|0;if(U|0){V=U+12|0;f[V>>2]=(f[V>>2]|0)+1}V=k+36|0;U=f[V>>2]|0;if(U|0?(a=U+12|0,U=f[a>>2]|0,f[a>>2]=U+-1,(U|0)==1):0)XO(k);f[V>>2]=0;U=k+16|0;a=k+4|0;f[U>>2]=0;f[U+4>>2]=0;f[U+8>>2]=0;f[U+12>>2]=0;if((f[a>>2]|0)>0){W=f[k+40>>2]|0;Q=0;do{f[W+(Q<<2)>>2]=0;Q=Q+1|0;Y=f[a>>2]|0}while((Q|0)<(Y|0));f[P>>2]=f[m>>2];if((Y|0)<3)B=101;else B=103}else{f[P>>2]=f[m>>2];B=101}if((B|0)==101){P=f[m+4>>2]|0;if((P|0)<3){f[a>>2]=P;f[k+8>>2]=f[m+8>>2];f[k+12>>2]=f[m+12>>2];P=f[m+44>>2]|0;a=f[k+44>>2]|0;f[a>>2]=f[P>>2];f[a+4>>2]=f[P+4>>2]}else B=103}if((B|0)==103)WO(k,m);P=m+16|0;f[U>>2]=f[P>>2];f[k+20>>2]=f[m+20>>2];f[k+24>>2]=f[m+24>>2];f[k+28>>2]=f[m+28>>2];f[k+32>>2]=f[m+32>>2];a=f[T>>2]|0;f[V>>2]=a;if(a|0?(Y=a+12|0,a=f[Y>>2]|0,f[Y>>2]=a+-1,(a|0)==1):0)XO(m);f[T>>2]=0;T=m+4|0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;if((f[T>>2]|0)>0){P=f[m+40>>2]|0;a=0;do{f[P+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[T>>2]|0))}T=f[m+44>>2]|0;if((T|0)!=(m+48|0))dX(T);do if((HJ(d)|0)==65536){T=f[d+4>>2]|0;f[n>>2]=f[T>>2];a=n+4|0;P=T+4|0;f[a>>2]=f[P>>2];Y=n+8|0;f[Y>>2]=f[T+8>>2];f[n+12>>2]=f[T+12>>2];f[n+16>>2]=f[T+16>>2];f[n+20>>2]=f[T+20>>2];f[n+24>>2]=f[T+24>>2];f[n+28>>2]=f[T+28>>2];f[n+32>>2]=f[T+32>>2];Q=f[T+36>>2]|0;f[n+36>>2]=Q;f[n+40>>2]=Y;Y=n+48|0;W=n+44|0;f[W>>2]=Y;f[Y>>2]=0;f[n+52>>2]=0;if(Q|0){Y=Q+12|0;f[Y>>2]=(f[Y>>2]|0)+1}if((f[P>>2]|0)<3){P=f[T+44>>2]|0;Y=f[W>>2]|0;f[Y>>2]=f[P>>2];f[Y+4>>2]=f[P+4>>2];break}else{f[a>>2]=0;WO(n,T);break}}else DJ(n,d,-1);while(0);hP(m,n,1,0);d=n+36|0;T=f[d>>2]|0;do if(T|0){a=T+12|0;P=f[a>>2]|0;f[a>>2]=P+-1;if((P|0)!=1)break;XO(n)}while(0);f[d>>2]=0;d=n+16|0;T=n+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[T>>2]|0)>0){d=f[n+40>>2]|0;P=0;do{f[d+(P<<2)>>2]=0;P=P+1|0}while((P|0)<(f[T>>2]|0))}T=f[n+44>>2]|0;if((T|0)!=(n+48|0))dX(T);T=f[c>>2]|0;if((T|0)>0)Z=f[(f[h+44>>2]|0)+(T+-1<<2)>>2]|0;else Z=0;T=(Z|0)==0?1:Z;Z=((T+1023|0)>>>0)/(T>>>0)|0;c=f[31728+(y<<2)>>2]|0;if(A){f[o>>2]=h;f[o+4>>2]=m;f[o+8>>2]=0;FN(r,o,q,-1);A=f[r+20>>2]|0;n=Z>>>0>>0?Z:A;Z=X(n,T)|0;P=s+8|0;f[s>>2]=P;d=s+4|0;f[d>>2]=Z;if(Z>>>0>1032){a=FQa(Z)|0;f[s>>2]=a;_=a}else _=P;a:do if(y>>>0>4){_G(k,y,_,n);B=157}else{p[t>>3]=0.0;a=HN(R,6)|0;Z=f[U>>2]|0;f[v>>2]=1;f[v+4>>2]=1;qi[a&255](Z,1,0,1,t,1,v,0);$=+p[t>>3];do if($<+p[9536+(y<<3)>>3]){Z=f[i>>2]|0;aa=(Z|0)==5|(Z+-1|0)>>>0<2?255.0:0.0;p[w>>3]=aa;p[w+8>>3]=aa;p[w+16>>3]=aa;p[w+24>>3]=aa;gM(m,w)|0}else{if($>+p[9600+(y<<3)>>3]){aa=((f[i>>2]|0)+-3|0)>>>0<3?255.0:0.0;p[w>>3]=aa;p[w+8>>3]=aa;p[w+16>>3]=aa;p[w+24>>3]=aa;gM(m,w)|0;break}Z=AEa($)|0;f[w>>2]=Z;b:do if($!=+(Z|0)){a=f[i>>2]|0;if((a|1|0)==3){Y=~~$;f[w>>2]=($>+(Y|0)&1)+Y;break}switch(a|0){case 1:case 4:{Y=~~$;f[w>>2]=Y-($<+(Y|0)&1);break b;break}default:{aa=(a|0)==5?255.0:0.0;p[x>>3]=aa;p[x+8>>3]=aa;p[x+16>>3]=aa;p[x+24>>3]=aa;gM(m,x)|0;break a}}}while(0);Z=x+4|0;f[Z>>2]=2;a=x+8|0;f[a>>2]=1;f[x+12>>2]=1;Y=x+16|0;f[Y>>2]=w;f[x+20>>2]=w;W=x+24|0;Q=x+40|0;S=W+8|0;f[S>>2]=0;f[S+4>>2]=0;f[Q>>2]=a;a=x+48|0;S=x+44|0;f[S>>2]=a;f[x>>2]=1124024324;f[a>>2]=4;f[x+52>>2]=4;f[x+28>>2]=w+4;f[W>>2]=w+4;_G(x,y,_,n);W=x+36|0;K=f[W>>2]|0;do if(K|0){C=K+12|0;E=f[C>>2]|0;f[C>>2]=E+-1;if((E|0)!=1)break;XO(x)}while(0);f[W>>2]=0;f[Y>>2]=0;f[Y+4>>2]=0;f[Y+8>>2]=0;f[Y+12>>2]=0;if((f[Z>>2]|0)>0){K=f[Q>>2]|0;E=0;do{f[K+(E<<2)>>2]=0;E=E+1|0}while((E|0)<(f[Z>>2]|0))}Z=f[S>>2]|0;if((Z|0)!=(a|0))dX(Z);B=157;break a}while(0)}while(0);c:do if((B|0)==157){x=r+16|0;y=q+4|0;if(!A){w=0;while(1){if(w>>>0>=(f[x>>2]|0)>>>0)break c;GN(r)|0;w=w+1|0}}else ba=0;while(1){if(ba>>>0>=(f[x>>2]|0)>>>0)break c;w=0;t=f[q>>2]|0;v=f[y>>2]|0;do{U=A-w|0;R=U>>>0>n>>>0?n:U;ri[c&127](t,0,_,0,v,0,R,1,i);U=X(R,T)|0;t=(f[q>>2]|0)+U|0;f[q>>2]=t;v=(f[y>>2]|0)+R|0;f[y>>2]=v;w=w+n|0}while(A>>>0>w>>>0);GN(r)|0;ba=ba+1|0}}while(0);ba=f[s>>2]|0;if((ba|0)!=(P|0)){if(ba|0)HQa(ba);f[s>>2]=P;f[d>>2]=1032}}else{f[o>>2]=h;f[o+4>>2]=k;f[o+8>>2]=m;f[o+12>>2]=0;FN(r,o,q,-1);o=f[r+20>>2]|0;d=r+16|0;P=q+4|0;s=q+8|0;ba=0;while(1){if(ba>>>0>=(f[d>>2]|0)>>>0)break;ri[c&127](f[q>>2]|0,0,f[P>>2]|0,0,f[s>>2]|0,0,o,1,i);GN(r)|0;ba=ba+1|0}}ba=m+36|0;r=f[ba>>2]|0;do if(r|0){i=r+12|0;o=f[i>>2]|0;f[i>>2]=o+-1;if((o|0)!=1)break;XO(m)}while(0);f[ba>>2]=0;ba=m+16|0;r=m+4|0;f[ba>>2]=0;f[ba+4>>2]=0;f[ba+8>>2]=0;f[ba+12>>2]=0;if((f[r>>2]|0)>0){ba=f[m+40>>2]|0;o=0;do{f[ba+(o<<2)>>2]=0;o=o+1|0}while((o|0)<(f[r>>2]|0))}r=f[m+44>>2]|0;if((r|0)!=(m+48|0))dX(r);O=V}V=f[O>>2]|0;if(V|0?(r=V+12|0,V=f[r>>2]|0,f[r>>2]=V+-1,(V|0)==1):0)XO(k);f[O>>2]=0;O=k+16|0;V=k+4|0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[O+12>>2]=0;if((f[V>>2]|0)>0){O=f[k+40>>2]|0;r=0;do{f[O+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[V>>2]|0))}V=f[k+44>>2]|0;if((V|0)!=(k+48|0))dX(V);V=h+36|0;k=f[V>>2]|0;if(k|0?(r=k+12|0,k=f[r>>2]|0,f[r>>2]=k+-1,(k|0)==1):0)XO(h);f[V>>2]=0;V=h+16|0;k=h+4|0;f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;f[V+12>>2]=0;if((f[k>>2]|0)>0){V=f[h+40>>2]|0;r=0;do{f[V+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[k>>2]|0))}k=f[h+44>>2]|0;if((k|0)!=(h+48|0))dX(k)}if(!(f[j+4>>2]|0)){u=g;return}u=g;return}function jJ(a,c,d,e,g,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;m=a;a=d;d=f[l>>2]|0;l=(d|1|0)==3;n=l?a:m;o=l?e:c;p=l?m:a;a=l?c:e;e=l?((d|0)==2?4:1):d;switch(e|0){case 1:case 4:{d=(e|0)==1?0:255;if((k|0)!=0&(j|0)>0){q=g;r=k;s=p;t=n}else return;while(1){r=r+-1|0;l=t;c=s;m=0;do{b[q+m>>0]=d^((h[l+m>>0]|0)>(h[c+m>>0]|0))<<31>>31;m=m+1|0}while((m|0)!=(j|0));if(!r)break;else{q=q+i|0;s=c+a|0;t=l+o|0}}return}case 0:case 5:{t=(e|0)==0?0:255;if((k|0)!=0&(j|0)>0){u=g;v=k;w=p;x=n}else return;while(1){v=v+-1|0;n=x;p=w;k=0;do{b[u+k>>0]=t^((b[n+k>>0]|0)==(b[p+k>>0]|0))<<31>>31;k=k+1|0}while((k|0)!=(j|0));if(!v)break;else{u=u+i|0;w=p+a|0;x=n+o|0}}return}default:return}}function kJ(a,c,d,e,g,h,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;l=f[k>>2]|0;k=a;a=d;d=(l|1|0)==3;m=d?e:c;n=d?k:a;o=d?c:e;e=d?a:k;k=d?((l|0)==2?4:1):l;switch(k|0){case 1:case 4:{l=(k|0)==1?0:255;d=j+-1|0;if(!j)return;a=i+-4|0;if((i|0)<4){if((i|0)>0){p=g;q=n;r=e;s=d}else return;while(1){c=r;t=q;u=0;do{b[p+u>>0]=l^((b[c+u>>0]|0)>(b[t+u>>0]|0))<<31>>31;u=u+1|0}while((u|0)!=(i|0));if(!s)break;else{p=p+h|0;q=t+o|0;r=c+m|0;s=s+-1|0}}return}s=i&-4;if((s|0)<(i|0)){v=g;w=n;x=e;y=d}else{r=g;q=n;p=e;u=d;while(1){d=p;z=q;A=0;do{B=A|1;C=l^((b[d+B>>0]|0)>(b[z+B>>0]|0))<<31>>31;b[r+A>>0]=l^((b[d+A>>0]|0)>(b[z+A>>0]|0))<<31>>31;b[r+B>>0]=C;C=A|2;B=A|3;D=l^((b[d+B>>0]|0)>(b[z+B>>0]|0))<<31>>31;b[r+C>>0]=l^((b[d+C>>0]|0)>(b[z+C>>0]|0))<<31>>31;b[r+B>>0]=D;A=A+4|0}while((A|0)<=(a|0));if(!u)break;else{r=r+h|0;q=z+o|0;p=d+m|0;u=u+-1|0}}return}while(1){u=x;p=w;q=0;do{r=q|1;A=l^((b[u+r>>0]|0)>(b[p+r>>0]|0))<<31>>31;b[v+q>>0]=l^((b[u+q>>0]|0)>(b[p+q>>0]|0))<<31>>31;b[v+r>>0]=A;A=q|2;r=q|3;c=l^((b[u+r>>0]|0)>(b[p+r>>0]|0))<<31>>31;b[v+A>>0]=l^((b[u+A>>0]|0)>(b[p+A>>0]|0))<<31>>31;b[v+r>>0]=c;q=q+4|0}while((q|0)<=(a|0));E=s;do{b[v+E>>0]=l^((b[u+E>>0]|0)>(b[p+E>>0]|0))<<31>>31;E=E+1|0}while((E|0)!=(i|0));if(!y)break;else{v=v+h|0;w=p+o|0;x=u+m|0;y=y+-1|0}}return}case 0:case 5:{y=(k|0)==0?0:255;k=j+-1|0;if(!j)return;j=i+-4|0;if((i|0)<4){if((i|0)>0){F=g;G=n;H=e;I=k}else return;while(1){x=H;w=G;v=0;do{b[F+v>>0]=y^((b[x+v>>0]|0)==(b[w+v>>0]|0))<<31>>31;v=v+1|0}while((v|0)!=(i|0));if(!I)break;else{F=F+h|0;G=w+o|0;H=x+m|0;I=I+-1|0}}return}I=i&-4;if((I|0)<(i|0)){J=g;K=n;L=e;M=k}else{H=g;g=n;n=e;e=k;while(1){k=n;G=g;F=0;do{v=F|1;u=y^((b[k+v>>0]|0)==(b[G+v>>0]|0))<<31>>31;b[H+F>>0]=y^((b[k+F>>0]|0)==(b[G+F>>0]|0))<<31>>31;b[H+v>>0]=u;u=F|2;v=F|3;p=y^((b[k+v>>0]|0)==(b[G+v>>0]|0))<<31>>31;b[H+u>>0]=y^((b[k+u>>0]|0)==(b[G+u>>0]|0))<<31>>31;b[H+v>>0]=p;F=F+4|0}while((F|0)<=(j|0));if(!e)break;else{H=H+h|0;g=G+o|0;n=k+m|0;e=e+-1|0}}return}while(1){e=L;n=K;g=0;do{H=g|1;F=y^((b[e+H>>0]|0)==(b[n+H>>0]|0))<<31>>31;b[J+g>>0]=y^((b[e+g>>0]|0)==(b[n+g>>0]|0))<<31>>31;b[J+H>>0]=F;F=g|2;H=g|3;x=y^((b[e+H>>0]|0)==(b[n+H>>0]|0))<<31>>31;b[J+F>>0]=y^((b[e+F>>0]|0)==(b[n+F>>0]|0))<<31>>31;b[J+H>>0]=x;g=g+4|0}while((g|0)<=(j|0));N=I;do{b[J+N>>0]=y^((b[e+N>>0]|0)==(b[n+N>>0]|0))<<31>>31;N=N+1|0}while((N|0)!=(i|0));if(!M)break;else{J=J+h|0;K=n+o|0;L=e+m|0;M=M+-1|0}}return}default:return}}function lJ(a,c,e,g,h,i,k,l,m){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;n=f[m>>2]|0;m=a;a=e;e=c>>>1;c=g>>>1;g=(n|1|0)==3;o=g?c:e;p=g?m:a;q=g?e:c;c=g?a:m;m=g?((n|0)==2?4:1):n;switch(m|0){case 1:case 4:{n=(m|0)==1?0:255;g=l+-1|0;if(!l)return;a=k+-4|0;if((k|0)<4){if((k|0)>0){r=h;s=p;t=c;u=g}else return;while(1){e=t;v=s;w=0;do{b[r+w>>0]=n^((j[e+(w<<1)>>1]|0)>(j[v+(w<<1)>>1]|0))<<31>>31;w=w+1|0}while((w|0)!=(k|0));if(!u)break;else{r=r+i|0;s=v+(q<<1)|0;t=e+(o<<1)|0;u=u+-1|0}}return}u=k&-4;if((u|0)<(k|0)){x=h;y=p;z=c;A=g}else{t=h;s=p;r=c;w=g;while(1){g=r;B=s;C=0;do{D=C|1;E=n^((j[g+(D<<1)>>1]|0)>(j[B+(D<<1)>>1]|0))<<31>>31;b[t+C>>0]=n^((j[g+(C<<1)>>1]|0)>(j[B+(C<<1)>>1]|0))<<31>>31;b[t+D>>0]=E;E=C|2;D=C|3;F=n^((j[g+(D<<1)>>1]|0)>(j[B+(D<<1)>>1]|0))<<31>>31;b[t+E>>0]=n^((j[g+(E<<1)>>1]|0)>(j[B+(E<<1)>>1]|0))<<31>>31;b[t+D>>0]=F;C=C+4|0}while((C|0)<=(a|0));if(!w)break;else{t=t+i|0;s=B+(q<<1)|0;r=g+(o<<1)|0;w=w+-1|0}}return}while(1){w=z;r=y;s=0;do{t=s|1;C=n^((j[w+(t<<1)>>1]|0)>(j[r+(t<<1)>>1]|0))<<31>>31;b[x+s>>0]=n^((j[w+(s<<1)>>1]|0)>(j[r+(s<<1)>>1]|0))<<31>>31;b[x+t>>0]=C;C=s|2;t=s|3;e=n^((j[w+(t<<1)>>1]|0)>(j[r+(t<<1)>>1]|0))<<31>>31;b[x+C>>0]=n^((j[w+(C<<1)>>1]|0)>(j[r+(C<<1)>>1]|0))<<31>>31;b[x+t>>0]=e;s=s+4|0}while((s|0)<=(a|0));G=u;do{b[x+G>>0]=n^((j[w+(G<<1)>>1]|0)>(j[r+(G<<1)>>1]|0))<<31>>31;G=G+1|0}while((G|0)!=(k|0));if(!A)break;else{x=x+i|0;y=r+(q<<1)|0;z=w+(o<<1)|0;A=A+-1|0}}return}case 0:case 5:{A=(m|0)==0?0:255;m=l+-1|0;if(!l)return;l=k+-4|0;if((k|0)<4){if((k|0)>0){H=h;I=p;J=c;K=m}else return;while(1){z=J;y=I;x=0;do{b[H+x>>0]=A^((d[z+(x<<1)>>1]|0)==(d[y+(x<<1)>>1]|0))<<31>>31;x=x+1|0}while((x|0)!=(k|0));if(!K)break;else{H=H+i|0;I=y+(q<<1)|0;J=z+(o<<1)|0;K=K+-1|0}}return}K=k&-4;J=(K|0)<(k|0);I=h;h=p;p=c;c=m;while(1){m=p;H=h;x=0;do{w=x|1;r=A^((d[m+(w<<1)>>1]|0)==(d[H+(w<<1)>>1]|0))<<31>>31;b[I+x>>0]=A^((d[m+(x<<1)>>1]|0)==(d[H+(x<<1)>>1]|0))<<31>>31;b[I+w>>0]=r;r=x|2;w=x|3;G=A^((d[m+(w<<1)>>1]|0)==(d[H+(w<<1)>>1]|0))<<31>>31;b[I+r>>0]=A^((d[m+(r<<1)>>1]|0)==(d[H+(r<<1)>>1]|0))<<31>>31;b[I+w>>0]=G;x=x+4|0}while((x|0)<=(l|0));if(J){x=K;do{b[I+x>>0]=A^((d[m+(x<<1)>>1]|0)==(d[H+(x<<1)>>1]|0))<<31>>31;x=x+1|0}while((x|0)!=(k|0))}if(!c)break;else{I=I+i|0;h=H+(q<<1)|0;p=m+(o<<1)|0;c=c+-1|0}}return}default:return}}function mJ(a,c,e,g,h,i,j,k,l){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;m=a;a=e;e=f[l>>2]|0;l=c>>>1;c=g>>>1;g=(e|1|0)==3;n=g?a:m;o=g?c:l;p=g?m:a;a=g?l:c;c=g?((e|0)==2?4:1):e;switch(c|0){case 1:case 4:{e=(c|0)==1?0:255;if((k|0)!=0&(j|0)>0){q=h;r=k;s=p;t=n}else return;while(1){r=r+-1|0;g=t;l=s;m=0;do{b[q+m>>0]=e^((d[g+(m<<1)>>1]|0)>(d[l+(m<<1)>>1]|0))<<31>>31;m=m+1|0}while((m|0)!=(j|0));if(!r)break;else{q=q+i|0;s=l+(a<<1)|0;t=g+(o<<1)|0}}return}case 0:case 5:{t=(c|0)==0?0:255;if((k|0)!=0&(j|0)>0){u=h;v=k;w=p;x=n}else return;while(1){v=v+-1|0;n=x;p=w;k=0;do{b[u+k>>0]=t^((d[n+(k<<1)>>1]|0)==(d[p+(k<<1)>>1]|0))<<31>>31;k=k+1|0}while((k|0)!=(j|0));if(!v)break;else{u=u+i|0;w=p+(a<<1)|0;x=n+(o<<1)|0}}return}default:return}}function nJ(a,c,d,e,g,h,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;l=f[k>>2]|0;k=a;a=d;d=c>>>2;c=e>>>2;e=(l|1|0)==3;m=e?c:d;n=e?k:a;o=e?d:c;c=e?a:k;k=e?((l|0)==2?4:1):l;switch(k|0){case 1:case 4:{l=(k|0)==1?0:255;e=j+-1|0;if(!j)return;a=i+-4|0;if((i|0)<4){if((i|0)>0){p=g;q=n;r=c;s=e}else return;while(1){d=r;t=q;u=0;do{b[p+u>>0]=l^((f[d+(u<<2)>>2]|0)>(f[t+(u<<2)>>2]|0))<<31>>31;u=u+1|0}while((u|0)!=(i|0));if(!s)break;else{p=p+h|0;q=t+(o<<2)|0;r=d+(m<<2)|0;s=s+-1|0}}return}s=i&-4;if((s|0)<(i|0)){v=g;w=n;x=c;y=e}else{r=g;q=n;p=c;u=e;while(1){e=p;z=q;A=0;do{B=A|1;C=l^((f[e+(B<<2)>>2]|0)>(f[z+(B<<2)>>2]|0))<<31>>31;b[r+A>>0]=l^((f[e+(A<<2)>>2]|0)>(f[z+(A<<2)>>2]|0))<<31>>31;b[r+B>>0]=C;C=A|2;B=A|3;D=l^((f[e+(B<<2)>>2]|0)>(f[z+(B<<2)>>2]|0))<<31>>31;b[r+C>>0]=l^((f[e+(C<<2)>>2]|0)>(f[z+(C<<2)>>2]|0))<<31>>31;b[r+B>>0]=D;A=A+4|0}while((A|0)<=(a|0));if(!u)break;else{r=r+h|0;q=z+(o<<2)|0;p=e+(m<<2)|0;u=u+-1|0}}return}while(1){u=x;p=w;q=0;do{r=q|1;A=l^((f[u+(r<<2)>>2]|0)>(f[p+(r<<2)>>2]|0))<<31>>31;b[v+q>>0]=l^((f[u+(q<<2)>>2]|0)>(f[p+(q<<2)>>2]|0))<<31>>31;b[v+r>>0]=A;A=q|2;r=q|3;d=l^((f[u+(r<<2)>>2]|0)>(f[p+(r<<2)>>2]|0))<<31>>31;b[v+A>>0]=l^((f[u+(A<<2)>>2]|0)>(f[p+(A<<2)>>2]|0))<<31>>31;b[v+r>>0]=d;q=q+4|0}while((q|0)<=(a|0));E=s;do{b[v+E>>0]=l^((f[u+(E<<2)>>2]|0)>(f[p+(E<<2)>>2]|0))<<31>>31;E=E+1|0}while((E|0)!=(i|0));if(!y)break;else{v=v+h|0;w=p+(o<<2)|0;x=u+(m<<2)|0;y=y+-1|0}}return}case 0:case 5:{y=(k|0)==0?0:255;k=j+-1|0;if(!j)return;j=i+-4|0;if((i|0)<4){if((i|0)>0){F=g;G=n;H=c;I=k}else return;while(1){x=H;w=G;v=0;do{b[F+v>>0]=y^((f[x+(v<<2)>>2]|0)==(f[w+(v<<2)>>2]|0))<<31>>31;v=v+1|0}while((v|0)!=(i|0));if(!I)break;else{F=F+h|0;G=w+(o<<2)|0;H=x+(m<<2)|0;I=I+-1|0}}return}I=i&-4;H=(I|0)<(i|0);G=g;g=n;n=c;c=k;while(1){k=n;F=g;v=0;do{u=v|1;p=y^((f[k+(u<<2)>>2]|0)==(f[F+(u<<2)>>2]|0))<<31>>31;b[G+v>>0]=y^((f[k+(v<<2)>>2]|0)==(f[F+(v<<2)>>2]|0))<<31>>31;b[G+u>>0]=p;p=v|2;u=v|3;E=y^((f[k+(u<<2)>>2]|0)==(f[F+(u<<2)>>2]|0))<<31>>31;b[G+p>>0]=y^((f[k+(p<<2)>>2]|0)==(f[F+(p<<2)>>2]|0))<<31>>31;b[G+u>>0]=E;v=v+4|0}while((v|0)<=(j|0));if(H){v=I;do{b[G+v>>0]=y^((f[k+(v<<2)>>2]|0)==(f[F+(v<<2)>>2]|0))<<31>>31;v=v+1|0}while((v|0)!=(i|0))}if(!c)break;else{G=G+h|0;g=F+(o<<2)|0;n=k+(m<<2)|0;c=c+-1|0}}return}default:return}}function oJ(a,c,d,e,g,h,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;l=f[k>>2]|0;k=a;a=d;d=c>>>2;c=e>>>2;e=(l|1|0)==3;m=e?c:d;o=e?k:a;p=e?d:c;c=e?a:k;k=e?((l|0)==2?4:1):l;switch(k|0){case 1:case 4:{l=(k|0)==1?0:255;e=j+-1|0;if(!j)return;a=i+-4|0;if((i|0)<4){if((i|0)>0){q=g;r=o;s=c;t=e}else return;while(1){d=s;u=r;v=0;do{b[q+v>>0]=l^(+n[d+(v<<2)>>2]>+n[u+(v<<2)>>2])<<31>>31;v=v+1|0}while((v|0)!=(i|0));if(!t)break;else{q=q+h|0;r=u+(p<<2)|0;s=d+(m<<2)|0;t=t+-1|0}}return}t=i&-4;if((t|0)<(i|0)){w=g;x=o;y=c;z=e}else{s=g;r=o;q=c;v=e;while(1){e=q;A=r;B=0;do{C=B|1;D=l^(+n[e+(C<<2)>>2]>+n[A+(C<<2)>>2])<<31>>31;b[s+B>>0]=l^(+n[e+(B<<2)>>2]>+n[A+(B<<2)>>2])<<31>>31;b[s+C>>0]=D;D=B|2;C=B|3;E=l^(+n[e+(C<<2)>>2]>+n[A+(C<<2)>>2])<<31>>31;b[s+D>>0]=l^(+n[e+(D<<2)>>2]>+n[A+(D<<2)>>2])<<31>>31;b[s+C>>0]=E;B=B+4|0}while((B|0)<=(a|0));if(!v)break;else{s=s+h|0;r=A+(p<<2)|0;q=e+(m<<2)|0;v=v+-1|0}}return}while(1){v=y;q=x;r=0;do{s=r|1;B=l^(+n[v+(s<<2)>>2]>+n[q+(s<<2)>>2])<<31>>31;b[w+r>>0]=l^(+n[v+(r<<2)>>2]>+n[q+(r<<2)>>2])<<31>>31;b[w+s>>0]=B;B=r|2;s=r|3;d=l^(+n[v+(s<<2)>>2]>+n[q+(s<<2)>>2])<<31>>31;b[w+B>>0]=l^(+n[v+(B<<2)>>2]>+n[q+(B<<2)>>2])<<31>>31;b[w+s>>0]=d;r=r+4|0}while((r|0)<=(a|0));F=t;do{b[w+F>>0]=l^(+n[v+(F<<2)>>2]>+n[q+(F<<2)>>2])<<31>>31;F=F+1|0}while((F|0)!=(i|0));if(!z)break;else{w=w+h|0;x=q+(p<<2)|0;y=v+(m<<2)|0;z=z+-1|0}}return}case 0:case 5:{z=(k|0)==0?0:255;k=j+-1|0;if(!j)return;j=i+-4|0;if((i|0)<4){if((i|0)>0){G=g;H=o;I=c;J=k}else return;while(1){y=I;x=H;w=0;do{b[G+w>>0]=z^(+n[y+(w<<2)>>2]==+n[x+(w<<2)>>2])<<31>>31;w=w+1|0}while((w|0)!=(i|0));if(!J)break;else{G=G+h|0;H=x+(p<<2)|0;I=y+(m<<2)|0;J=J+-1|0}}return}J=i&-4;I=(J|0)<(i|0);H=g;g=o;o=c;c=k;while(1){k=o;G=g;w=0;do{v=w|1;q=z^(+n[k+(v<<2)>>2]==+n[G+(v<<2)>>2])<<31>>31;b[H+w>>0]=z^(+n[k+(w<<2)>>2]==+n[G+(w<<2)>>2])<<31>>31;b[H+v>>0]=q;q=w|2;v=w|3;F=z^(+n[k+(v<<2)>>2]==+n[G+(v<<2)>>2])<<31>>31;b[H+q>>0]=z^(+n[k+(q<<2)>>2]==+n[G+(q<<2)>>2])<<31>>31;b[H+v>>0]=F;w=w+4|0}while((w|0)<=(j|0));if(I){w=J;do{b[H+w>>0]=z^(+n[k+(w<<2)>>2]==+n[G+(w<<2)>>2])<<31>>31;w=w+1|0}while((w|0)!=(i|0))}if(!c)break;else{H=H+h|0;g=G+(p<<2)|0;o=k+(m<<2)|0;c=c+-1|0}}return}default:return}}function pJ(a,c,d,e,g,h,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;l=f[k>>2]|0;k=a;a=d;d=c>>>3;c=e>>>3;e=(l|1|0)==3;m=e?c:d;n=e?k:a;o=e?d:c;c=e?a:k;k=e?((l|0)==2?4:1):l;switch(k|0){case 1:case 4:{l=(k|0)==1?0:255;e=j+-1|0;if(!j)return;a=i+-4|0;if((i|0)<4){if((i|0)>0){q=g;r=n;s=c;t=e}else return;while(1){d=s;u=r;v=0;do{b[q+v>>0]=l^(+p[d+(v<<3)>>3]>+p[u+(v<<3)>>3])<<31>>31;v=v+1|0}while((v|0)!=(i|0));if(!t)break;else{q=q+h|0;r=u+(o<<3)|0;s=d+(m<<3)|0;t=t+-1|0}}return}t=i&-4;if((t|0)<(i|0)){w=g;x=n;y=c;z=e}else{s=g;r=n;q=c;v=e;while(1){e=q;A=r;B=0;do{C=B|1;D=l^(+p[e+(C<<3)>>3]>+p[A+(C<<3)>>3])<<31>>31;b[s+B>>0]=l^(+p[e+(B<<3)>>3]>+p[A+(B<<3)>>3])<<31>>31;b[s+C>>0]=D;D=B|2;C=B|3;E=l^(+p[e+(C<<3)>>3]>+p[A+(C<<3)>>3])<<31>>31;b[s+D>>0]=l^(+p[e+(D<<3)>>3]>+p[A+(D<<3)>>3])<<31>>31;b[s+C>>0]=E;B=B+4|0}while((B|0)<=(a|0));if(!v)break;else{s=s+h|0;r=A+(o<<3)|0;q=e+(m<<3)|0;v=v+-1|0}}return}while(1){v=y;q=x;r=0;do{s=r|1;B=l^(+p[v+(s<<3)>>3]>+p[q+(s<<3)>>3])<<31>>31;b[w+r>>0]=l^(+p[v+(r<<3)>>3]>+p[q+(r<<3)>>3])<<31>>31;b[w+s>>0]=B;B=r|2;s=r|3;d=l^(+p[v+(s<<3)>>3]>+p[q+(s<<3)>>3])<<31>>31;b[w+B>>0]=l^(+p[v+(B<<3)>>3]>+p[q+(B<<3)>>3])<<31>>31;b[w+s>>0]=d;r=r+4|0}while((r|0)<=(a|0));F=t;do{b[w+F>>0]=l^(+p[v+(F<<3)>>3]>+p[q+(F<<3)>>3])<<31>>31;F=F+1|0}while((F|0)!=(i|0));if(!z)break;else{w=w+h|0;x=q+(o<<3)|0;y=v+(m<<3)|0;z=z+-1|0}}return}case 0:case 5:{z=(k|0)==0?0:255;k=j+-1|0;if(!j)return;j=i+-4|0;if((i|0)<4){if((i|0)>0){G=g;H=n;I=c;J=k}else return;while(1){y=I;x=H;w=0;do{b[G+w>>0]=z^(+p[y+(w<<3)>>3]==+p[x+(w<<3)>>3])<<31>>31;w=w+1|0}while((w|0)!=(i|0));if(!J)break;else{G=G+h|0;H=x+(o<<3)|0;I=y+(m<<3)|0;J=J+-1|0}}return}J=i&-4;I=(J|0)<(i|0);H=g;g=n;n=c;c=k;while(1){k=n;G=g;w=0;do{v=w|1;q=z^(+p[k+(v<<3)>>3]==+p[G+(v<<3)>>3])<<31>>31;b[H+w>>0]=z^(+p[k+(w<<3)>>3]==+p[G+(w<<3)>>3])<<31>>31;b[H+v>>0]=q;q=w|2;v=w|3;F=z^(+p[k+(v<<3)>>3]==+p[G+(v<<3)>>3])<<31>>31;b[H+q>>0]=z^(+p[k+(q<<3)>>3]==+p[G+(q<<3)>>3])<<31>>31;b[H+v>>0]=F;w=w+4|0}while((w|0)<=(j|0));if(I){w=J;do{b[H+w>>0]=z^(+p[k+(w<<3)>>3]==+p[G+(w<<3)>>3])<<31>>31;w=w+1|0}while((w|0)!=(i|0))}if(!c)break;else{H=H+h|0;g=G+(o<<3)|0;n=k+(m<<3)|0;c=c+-1|0}}return}default:return}}function qJ(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0;g=u;u=u+1488|0;h=g+1432|0;i=g+1424|0;j=g+1368|0;k=g+1312|0;l=g+1256|0;m=g+1200|0;n=g+1188|0;o=g+1168|0;q=g+1144|0;r=g+1104|0;s=g+64|0;t=g+1160|0;v=g+1136|0;w=g;x=g+56|0;yV(i,31760);y=HJ(a)|0;z=HJ(c)|0;A=HJ(d)|0;do if((HJ(a)|0)==65536){B=f[a+4>>2]|0;f[j>>2]=f[B>>2];C=j+4|0;D=B+4|0;f[C>>2]=f[D>>2];E=j+8|0;f[E>>2]=f[B+8>>2];f[j+12>>2]=f[B+12>>2];f[j+16>>2]=f[B+16>>2];f[j+20>>2]=f[B+20>>2];f[j+24>>2]=f[B+24>>2];f[j+28>>2]=f[B+28>>2];f[j+32>>2]=f[B+32>>2];F=f[B+36>>2]|0;f[j+36>>2]=F;f[j+40>>2]=E;E=j+48|0;G=j+44|0;f[G>>2]=E;f[E>>2]=0;f[j+52>>2]=0;if(F|0){E=F+12|0;f[E>>2]=(f[E>>2]|0)+1}if((f[D>>2]|0)<3){D=f[B+44>>2]|0;E=f[G>>2]|0;f[E>>2]=f[D>>2];f[E+4>>2]=f[D+4>>2];break}else{f[C>>2]=0;WO(j,B);break}}else DJ(j,a,-1);while(0);do if((HJ(c)|0)==65536){a=f[c+4>>2]|0;f[k>>2]=f[a>>2];B=k+4|0;C=a+4|0;f[B>>2]=f[C>>2];D=k+8|0;f[D>>2]=f[a+8>>2];f[k+12>>2]=f[a+12>>2];f[k+16>>2]=f[a+16>>2];f[k+20>>2]=f[a+20>>2];f[k+24>>2]=f[a+24>>2];f[k+28>>2]=f[a+28>>2];f[k+32>>2]=f[a+32>>2];E=f[a+36>>2]|0;f[k+36>>2]=E;f[k+40>>2]=D;D=k+48|0;G=k+44|0;f[G>>2]=D;f[D>>2]=0;f[k+52>>2]=0;if(E|0){D=E+12|0;f[D>>2]=(f[D>>2]|0)+1}if((f[C>>2]|0)<3){C=f[a+44>>2]|0;D=f[G>>2]|0;f[D>>2]=f[C>>2];f[D+4>>2]=f[C+4>>2];break}else{f[B>>2]=0;WO(k,a);break}}else DJ(k,c,-1);while(0);do if((HJ(d)|0)==65536){c=f[d+4>>2]|0;f[l>>2]=f[c>>2];a=l+4|0;B=c+4|0;f[a>>2]=f[B>>2];C=l+8|0;f[C>>2]=f[c+8>>2];f[l+12>>2]=f[c+12>>2];f[l+16>>2]=f[c+16>>2];f[l+20>>2]=f[c+20>>2];f[l+24>>2]=f[c+24>>2];f[l+28>>2]=f[c+28>>2];f[l+32>>2]=f[c+32>>2];D=f[c+36>>2]|0;f[l+36>>2]=D;f[l+40>>2]=C;C=l+48|0;G=l+44|0;f[G>>2]=C;f[C>>2]=0;f[l+52>>2]=0;if(D|0){C=D+12|0;f[C>>2]=(f[C>>2]|0)+1}if((f[B>>2]|0)<3){B=f[c+44>>2]|0;C=f[G>>2]|0;f[C>>2]=f[B>>2];f[C+4>>2]=f[B+4>>2];break}else{f[a>>2]=0;WO(l,c);break}}else DJ(l,d,-1);while(0);d=(y|0)!=131072;a:do if(!(d&(z|0)==131072)?(c=f[j+40>>2]|0,a=f[c+-4>>2]|0,B=f[k+40>>2]|0,(a|0)==(f[B+-4>>2]|0)):0){if((a|0)==2){if((f[c>>2]|0)!=(f[B>>2]|0)){H=31;break}if((f[c+4>>2]|0)!=(f[B+4>>2]|0)){H=31;break}}else if((a|0)>0){C=0;do{if((f[c+(C<<2)>>2]|0)!=(f[B+(C<<2)>>2]|0)){H=31;break a}C=C+1|0}while((C|0)<(a|0))}if(!((f[k>>2]^f[j>>2])&4095))I=0;else H=31}else H=31;while(0);do if((H|0)==31){a=f[j>>2]|0;if((((f[k+4>>2]|0)<=2?(C=f[k>>2]|0,C&16384|0):0)?(B=f[k+40>>2]|0,c=f[B+4>>2]|0,G=f[B>>2]|0,B=(c|0)==1,D=(G|0)==1,B|D):0)?(E=a>>>3&511,a=E+1|0,!((y|0)==131072&(z|0)!=131072)):0){if((c|0)==(a|0)&D|B&(D|(G|0)==(a|0))){I=1;break}if(!(E>>>0>3|(C&4095|0)!=6|B&(G|0)==4^1)){I=1;break}}f[h>>2]=0;f[h+4>>2]=0;J=JV(h,90)|0;K=150301;L=J+90|0;do{b[J>>0]=b[K>>0]|0;J=J+1|0;K=K+1|0}while((J|0)<(L|0));EP(-209,h,150392,148090,1769);KV(h);I=1}while(0);b:do if(!(d&(A|0)==131072)?(z=f[j+40>>2]|0,G=f[z+-4>>2]|0,B=f[l+40>>2]|0,(G|0)==(f[B+-4>>2]|0)):0){if((G|0)==2){if((f[z>>2]|0)!=(f[B>>2]|0)){H=47;break}if((f[z+4>>2]|0)!=(f[B+4>>2]|0)){H=47;break}}else if((G|0)>0){C=0;do{if((f[z+(C<<2)>>2]|0)!=(f[B+(C<<2)>>2]|0)){H=47;break b}C=C+1|0}while((C|0)<(G|0))}if(!((f[l>>2]^f[j>>2])&4095)){G=I&1;if(I){M=0;N=0;O=G;H=56}else{P=0;Q=j;R=0;S=G}}else H=47}else H=47;while(0);if((H|0)==47){d=f[j>>2]|0;if((((f[l+4>>2]|0)<=2?(G=f[l>>2]|0,(G&16384|0)!=0):0)?(C=f[l+40>>2]|0,B=f[C+4>>2]|0,z=f[C>>2]|0,C=(B|0)==1,E=(z|0)==1,C|E):0)?(a=d>>>3&511,d=a+1|0,!((y|0)==131072&(A|0)!=131072)):0){if(!((B|0)==(d|0)&E|C&(E|(z|0)==(d|0)))?a>>>0>3|(G&4095|0)!=6|C&(z|0)==4^1:0)H=53}else H=53;if((H|0)==53){f[h>>2]=0;f[h+4>>2]=0;J=JV(h,90)|0;K=150400;L=J+90|0;do{b[J>>0]=b[K>>0]|0;J=J+1|0;K=K+1|0}while((J|0)<(L|0));EP(-209,h,150392,148090,1778);KV(h)}z=I&1;if(I){P=1;Q=j;R=1;S=z}else{M=1;N=1;O=z;H=56}}if((H|0)==56){f[h>>2]=0;f[h+4>>2]=0;J=JV(h,20)|0;K=150491;L=J+20|0;do{b[J>>0]=b[K>>0]|0;J=J+1|0;K=K+1|0}while((J|0)<(L|0));EP(-215,h,150392,148090,1782);KV(h);P=M;Q=j;R=N;S=O}O=f[Q>>2]|0;N=O>>>3&511;M=N+1|0;z=O&7;O=j+4|0;C=f[O>>2]|0;if((C|0)>0)T=f[(f[j+44>>2]|0)+(C+-1<<2)>>2]|0;else T=0;G=((T+1023|0)>>>0)/(T>>>0)|0;a=j+40|0;$J(e,C,f[a>>2]|0,0,-1,0,0);do if((HJ(e)|0)==65536){C=f[e+4>>2]|0;f[m>>2]=f[C>>2];d=m+4|0;E=C+4|0;f[d>>2]=f[E>>2];B=m+8|0;f[B>>2]=f[C+8>>2];f[m+12>>2]=f[C+12>>2];f[m+16>>2]=f[C+16>>2];f[m+20>>2]=f[C+20>>2];f[m+24>>2]=f[C+24>>2];f[m+28>>2]=f[C+28>>2];f[m+32>>2]=f[C+32>>2];A=f[C+36>>2]|0;f[m+36>>2]=A;f[m+40>>2]=B;B=m+48|0;y=m+44|0;f[y>>2]=B;f[B>>2]=0;f[m+52>>2]=0;if(A|0){B=A+12|0;f[B>>2]=(f[B>>2]|0)+1}if((f[E>>2]|0)<3){E=f[C+44>>2]|0;B=f[y>>2]|0;f[B>>2]=f[E>>2];f[B+4>>2]=f[E+4>>2];break}else{f[d>>2]=0;WO(m,C);break}}else DJ(m,e,-1);while(0);e=f[31780+(z<<2)>>2]|0;f[n>>2]=j;f[n+4>>2]=m;f[n+8>>2]=0;f[o>>2]=j;f[o+4>>2]=m;f[o+8>>2]=k;f[o+12>>2]=l;f[o+16>>2]=0;C=I&P;FN(r,C?n:o,q,-1);o=f[r+20>>2]|0;n=G>>>0>>0?G:o;G=(M<<3)+128+(X(n,(X(T,S+R|0)|0)+M|0)|0)|0;R=s+8|0;f[s>>2]=R;S=s+4|0;f[S>>2]=G;if(G>>>0>1032){d=FQa(G)|0;f[s>>2]=d;U=d}else U=R;d=U+(X(n,M)|0)+15&-16;if(C){C=X(n,T)|0;G=d+C+15&-16;E=f[k>>2]|0;if(!((f[l>>2]^E)&4095))V=E;else{f[h>>2]=0;f[h+4>>2]=0;J=JV(h,22)|0;K=150512;L=J+22|0;do{b[J>>0]=b[K>>0]|0;J=J+1|0;K=K+1|0}while((J|0)<(L|0));EP(-215,h,150392,148090,1809);KV(h);V=f[k>>2]|0}E=V&7;if(z>>>0<4&(E|0)!=(z|0)){V=G+C+15&-16;C=V;B=V;y=B+(M<<2)|0;A=HN(E,4)|0;E=k+16|0;D=f[E>>2]|0;c=k+44|0;f[t>>2]=M;f[t+4>>2]=1;qi[A&255](D,1,0,1,C,1,t,0);t=l+16|0;D=f[t>>2]|0;F=l+44|0;f[v>>2]=M;f[v+4>>2]=1;qi[A&255](D,1,0,1,y,1,v,0);v=AEa(+p[9536+(z<<3)>>3])|0;D=AEa(+p[9600+(z<<3)>>3])|0;z=v+1|0;A=0;do{W=B+(A<<2)|0;Y=f[W>>2]|0;Z=y+(A<<2)|0;_=f[Z>>2]|0;if((_|0)<(v|0)|((Y|0)>(D|0)|(Y|0)>(_|0))){f[W>>2]=z;f[Z>>2]=v}A=A+1|0}while((A|0)!=(M|0));f[w>>2]=1124007940;A=w+4|0;f[A>>2]=2;v=w+8|0;f[v>>2]=M;z=w+12|0;f[z>>2]=1;D=w+16|0;f[D>>2]=C;B=w+20|0;f[B>>2]=C;Z=w+24|0;W=w+28|0;_=w+40|0;f[Z>>2]=0;f[Z+4>>2]=0;f[Z+8>>2]=0;f[Z+12>>2]=0;f[_>>2]=v;Y=w+48|0;$=w+44|0;f[$>>2]=Y;f[w+52>>2]=0;f[Y>>2]=0;if(!V){f[h>>2]=0;f[h+4>>2]=0;J=JV(h,26)|0;K=346743;L=J+26|0;do{b[J>>0]=b[K>>0]|0;J=J+1|0;K=K+1|0}while((J|0)<(L|0));EP(-215,h,346770,346774,500);KV(h);K=w+36|0;aa=K;ba=f[z>>2]|0;ca=f[w>>2]|0;da=f[$>>2]|0;ea=f[B>>2]|0;fa=f[K>>2]|0}else{aa=w+36|0;ba=1;ca=1124007940;da=Y;ea=C;fa=0}C=ba<<2;f[w>>2]=ca|16384;f[da>>2]=C;f[da+4>>2]=4;da=ea+(X(f[v>>2]|0,C)|0)|0;f[W>>2]=da;f[Z>>2]=da+(0-C)+C;if(fa|0){C=fa+12|0;f[C>>2]=(f[C>>2]|0)+1}C=k+36|0;fa=f[C>>2]|0;if(fa|0?(da=fa+12|0,fa=f[da>>2]|0,f[da>>2]=fa+-1,(fa|0)==1):0)XO(k);f[C>>2]=0;fa=k+4|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;if((f[fa>>2]|0)>0){da=f[k+40>>2]|0;ea=0;do{f[da+(ea<<2)>>2]=0;ea=ea+1|0;ga=f[fa>>2]|0}while((ea|0)<(ga|0));f[k>>2]=f[w>>2];if((ga|0)<3)H=89;else H=91}else{f[k>>2]=f[w>>2];H=89}if((H|0)==89){ga=f[A>>2]|0;if((ga|0)<3){f[fa>>2]=ga;f[k+8>>2]=f[v>>2];f[k+12>>2]=f[z>>2];z=f[$>>2]|0;v=f[c>>2]|0;f[v>>2]=f[z>>2];f[v+4>>2]=f[z+4>>2]}else H=91}if((H|0)==91)WO(k,w);f[E>>2]=f[D>>2];f[k+20>>2]=f[B>>2];f[k+24>>2]=f[Z>>2];f[k+28>>2]=f[W>>2];f[k+32>>2]=f[w+32>>2];W=f[aa>>2]|0;f[C>>2]=W;if(W|0?(C=W+12|0,W=f[C>>2]|0,f[C>>2]=W+-1,(W|0)==1):0)XO(w);f[aa>>2]=0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;if((f[A>>2]|0)>0){D=f[_>>2]|0;_=0;do{f[D+(_<<2)>>2]=0;_=_+1|0}while((_|0)<(f[A>>2]|0))}A=f[$>>2]|0;if((A|0)!=(Y|0))dX(A);A=h+4|0;f[A>>2]=2;Y=h+8|0;f[Y>>2]=M;$=h+12|0;f[$>>2]=1;_=h+16|0;f[_>>2]=y;D=h+20|0;f[D>>2]=y;aa=h+24|0;w=h+28|0;W=h+40|0;C=aa+8|0;f[C>>2]=0;f[C+4>>2]=0;f[W>>2]=Y;C=h+48|0;Z=h+44|0;f[Z>>2]=C;f[h>>2]=1124024324;f[C>>2]=4;f[h+52>>2]=4;B=y+(M<<2)|0;f[w>>2]=B;f[aa>>2]=B+-4+4;B=h+36|0;y=l+36|0;E=f[y>>2]|0;do if(E|0){z=E+12|0;v=f[z>>2]|0;f[z>>2]=v+-1;if((v|0)!=1)break;XO(l)}while(0);f[y>>2]=0;E=l+4|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;if((f[E>>2]|0)>0){v=f[l+40>>2]|0;z=0;do{f[v+(z<<2)>>2]=0;z=z+1|0;ha=f[E>>2]|0}while((z|0)<(ha|0));f[l>>2]=f[h>>2];if((ha|0)<3)H=108;else H=110}else{f[l>>2]=f[h>>2];H=108}do if((H|0)==108){ha=f[A>>2]|0;if((ha|0)>=3){H=110;break}f[E>>2]=ha;f[l+8>>2]=f[Y>>2];f[l+12>>2]=f[$>>2];ha=f[Z>>2]|0;z=f[F>>2]|0;f[z>>2]=f[ha>>2];f[z+4>>2]=f[ha+4>>2]}while(0);if((H|0)==110)WO(l,h);f[t>>2]=f[_>>2];f[l+20>>2]=f[D>>2];f[l+24>>2]=f[aa>>2];f[l+28>>2]=f[w>>2];f[l+32>>2]=f[h+32>>2];w=f[B>>2]|0;f[y>>2]=w;do if(w|0){y=w+12|0;aa=f[y>>2]|0;f[y>>2]=aa+-1;if((aa|0)!=1)break;XO(h)}while(0);f[B>>2]=0;f[_>>2]=0;f[_+4>>2]=0;f[_+8>>2]=0;f[_+12>>2]=0;if((f[A>>2]|0)>0){_=f[W>>2]|0;W=0;do{f[_+(W<<2)>>2]=0;W=W+1|0}while((W|0)<(f[A>>2]|0))}A=f[Z>>2]|0;if((A|0)!=(C|0))dX(A)}_G(k,f[Q>>2]&4095,d,n);_G(l,f[Q>>2]&4095,G,n);ia=d;ja=G}else{ia=0;ja=0}G=r+16|0;d=(o|0)==0;Q=q+((I?2:3)<<2)|0;A=(N|0)==0;C=q+4|0;Z=x+4|0;W=M&3;_=(W|0)==0?4:W;W=_&255;B=_>>>0>N>>>0;h=q+8|0;w=0;while(1){if(w>>>0>=(f[G>>2]|0)>>>0)break;if(!d){aa=0;do{y=o-aa|0;D=y>>>0>n>>>0?n:y;y=X(D,T)|0;if(I)ka=ia;else{t=f[h>>2]|0;f[h>>2]=t+y;ka=t}if(P)la=ja;else{t=f[Q>>2]|0;f[Q>>2]=t+y;la=t}t=f[q>>2]|0;H=A?f[C>>2]|0:U;F=X(D,M)|0;f[x>>2]=F;f[Z>>2]=1;ri[e&127](t,0,ka,0,la,0,H,0,x);c:do if(!A){H=f[C>>2]|0;switch(W&7){case 1:{if(!D)break c;else{ma=0;na=0}while(1){b[H+ma>>0]=b[U+na>>0]|0;ma=ma+1|0;if((ma|0)==(D|0))break;else na=na+M|0}break}case 2:{if(!D)break c;else{oa=0;pa=0}while(1){b[H+pa>>0]=b[U+(oa+1)>>0]&b[U+oa>>0];pa=pa+1|0;if((pa|0)==(D|0))break;else oa=oa+M|0}break}case 3:{if(!D)break c;else{qa=0;ra=0}while(1){b[H+ra>>0]=b[U+(qa+1)>>0]&b[U+qa>>0]&b[U+(qa+2)>>0];ra=ra+1|0;if((ra|0)==(D|0))break;else qa=qa+M|0}break}default:{if(!D)break c;else{sa=0;ta=0}while(1){b[H+sa>>0]=b[U+(ta+1)>>0]&b[U+ta>>0]&b[U+(ta+2)>>0]&b[U+(ta+3)>>0];sa=sa+1|0;if((sa|0)==(D|0))break;else ta=ta+M|0}}}if(!(B|(D|0)==0)){t=_;do{F=0;$=t;while(1){Y=H+F|0;b[Y>>0]=b[U+($+1)>>0]&b[U+$>>0]&b[U+($+2)>>0]&b[U+($+3)>>0]&b[Y>>0];F=F+1|0;if((F|0)==(D|0))break;else $=$+M|0}t=t+4|0}while((t|0)<=(N|0))}}while(0);f[q>>2]=(f[q>>2]|0)+y;f[C>>2]=(f[C>>2]|0)+D;aa=aa+n|0}while(o>>>0>aa>>>0)}GN(r)|0;w=w+1|0}w=f[s>>2]|0;if((w|0)!=(R|0)){if(w|0)HQa(w);f[s>>2]=R;f[S>>2]=1032}S=m+36|0;R=f[S>>2]|0;if(R|0?(s=R+12|0,R=f[s>>2]|0,f[s>>2]=R+-1,(R|0)==1):0)XO(m);f[S>>2]=0;S=m+16|0;R=m+4|0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;f[S+12>>2]=0;if((f[R>>2]|0)>0){S=f[m+40>>2]|0;s=0;do{f[S+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[R>>2]|0))}R=f[m+44>>2]|0;if((R|0)!=(m+48|0))dX(R);R=l+36|0;m=f[R>>2]|0;if(m|0?(s=m+12|0,m=f[s>>2]|0,f[s>>2]=m+-1,(m|0)==1):0)XO(l);f[R>>2]=0;R=l+16|0;m=l+4|0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;f[R+12>>2]=0;if((f[m>>2]|0)>0){R=f[l+40>>2]|0;s=0;do{f[R+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[m>>2]|0))}m=f[l+44>>2]|0;if((m|0)!=(l+48|0))dX(m);m=k+36|0;l=f[m>>2]|0;if(l|0?(s=l+12|0,l=f[s>>2]|0,f[s>>2]=l+-1,(l|0)==1):0)XO(k);f[m>>2]=0;m=k+16|0;l=k+4|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;if((f[l>>2]|0)>0){m=f[k+40>>2]|0;s=0;do{f[m+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[l>>2]|0))}l=f[k+44>>2]|0;if((l|0)!=(k+48|0))dX(l);l=j+36|0;k=f[l>>2]|0;do if(k|0){s=k+12|0;m=f[s>>2]|0;f[s>>2]=m+-1;if((m|0)!=1)break;XO(j)}while(0);f[l>>2]=0;l=j+16|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;if((f[O>>2]|0)>0){l=f[a>>2]|0;a=0;do{f[l+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[O>>2]|0))}O=f[j+44>>2]|0;if((O|0)!=(j+48|0))dX(O);if(!(f[i+4>>2]|0)){u=g;return}u=g;return}function rJ(a,c,d,e,g,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;m=f[l>>2]|0;n=f[l+4>>2]|0;if(!n)return;l=m+-4|0;if((m|0)<4){o=(m|0)>0;p=a;q=j;r=g;s=d;t=n;while(1){t=t+-1|0;if(o){u=0;do{v=b[p+u>>0]|0;if((h[s+u>>0]|0)>(v&255))w=0;else w=(v&255)<=(h[r+u>>0]|0);b[q+u>>0]=w<<31>>31;u=u+1|0}while((u|0)!=(m|0))}if(!t)break;else{p=p+c|0;q=q+k|0;r=r+i|0;s=s+e|0}}return}s=m&-4;r=(s|0)<(m|0);q=a;a=j;j=g;g=d;d=n;while(1){n=0;do{p=b[q+n>>0]|0;if((h[g+n>>0]|0)>(p&255))x=0;else x=(p&255)<=(h[j+n>>0]|0);p=n|1;t=b[q+p>>0]|0;if((h[g+p>>0]|0)>(t&255))y=0;else y=(t&255)<=(h[j+p>>0]|0);b[a+n>>0]=x<<31>>31;b[a+p>>0]=y<<31>>31;p=n|2;t=b[q+p>>0]|0;if((h[g+p>>0]|0)>(t&255))z=0;else z=(t&255)<=(h[j+p>>0]|0);t=n|3;w=b[q+t>>0]|0;if((h[g+t>>0]|0)>(w&255))A=0;else A=(w&255)<=(h[j+t>>0]|0);b[a+p>>0]=z<<31>>31;b[a+t>>0]=A<<31>>31;n=n+4|0}while((n|0)<=(l|0));d=d+-1|0;if(r){n=s;do{t=b[q+n>>0]|0;if((h[g+n>>0]|0)>(t&255))B=0;else B=(t&255)<=(h[j+n>>0]|0);b[a+n>>0]=B<<31>>31;n=n+1|0}while((n|0)!=(m|0))}if(!d)break;else{q=q+c|0;a=a+k|0;j=j+i|0;g=g+e|0}}return}function sJ(a,c,d,e,g,h,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;l=f[k>>2]|0;m=f[k+4>>2]|0;if(!m)return;k=l+-4|0;if((l|0)<4){n=(l|0)>0;o=a;p=i;q=g;r=d;s=m;while(1){s=s+-1|0;if(n){t=0;do{u=b[o+t>>0]|0;if((b[r+t>>0]|0)>u<<24>>24)v=0;else v=u<<24>>24<=(b[q+t>>0]|0);b[p+t>>0]=v<<31>>31;t=t+1|0}while((t|0)!=(l|0))}if(!s)break;else{o=o+c|0;p=p+j|0;q=q+h|0;r=r+e|0}}return}r=l&-4;q=(r|0)<(l|0);p=a;a=i;i=g;g=d;d=m;while(1){m=0;do{o=b[p+m>>0]|0;if((b[g+m>>0]|0)>o<<24>>24)w=0;else w=o<<24>>24<=(b[i+m>>0]|0);o=m|1;s=b[p+o>>0]|0;if((b[g+o>>0]|0)>s<<24>>24)x=0;else x=s<<24>>24<=(b[i+o>>0]|0);b[a+m>>0]=w<<31>>31;b[a+o>>0]=x<<31>>31;o=m|2;s=b[p+o>>0]|0;if((b[g+o>>0]|0)>s<<24>>24)y=0;else y=s<<24>>24<=(b[i+o>>0]|0);s=m|3;v=b[p+s>>0]|0;if((b[g+s>>0]|0)>v<<24>>24)z=0;else z=v<<24>>24<=(b[i+s>>0]|0);b[a+o>>0]=y<<31>>31;b[a+s>>0]=z<<31>>31;m=m+4|0}while((m|0)<=(k|0));d=d+-1|0;if(q){m=r;do{s=b[p+m>>0]|0;if((b[g+m>>0]|0)>s<<24>>24)A=0;else A=s<<24>>24<=(b[i+m>>0]|0);b[a+m>>0]=A<<31>>31;m=m+1|0}while((m|0)!=(l|0))}if(!d)break;else{p=p+c|0;a=a+j|0;i=i+h|0;g=g+e|0}}return}function tJ(a,c,e,g,h,i,k,l,m){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=c>>>1;c=g>>>1;g=i>>>1;if(!o)return;i=n+-4|0;if((n|0)<4){p=(n|0)>0;q=a;r=k;s=h;t=e;u=o;while(1){u=u+-1|0;if(p){v=0;do{w=d[q+(v<<1)>>1]|0;if((j[t+(v<<1)>>1]|0)>(w&65535))x=0;else x=(w&65535)<=(j[s+(v<<1)>>1]|0);b[r+v>>0]=x<<31>>31;v=v+1|0}while((v|0)!=(n|0))}if(!u)break;else{q=q+(m<<1)|0;r=r+l|0;s=s+(g<<1)|0;t=t+(c<<1)|0}}return}t=n&-4;s=(t|0)<(n|0);r=a;a=k;k=h;h=e;e=o;while(1){o=0;do{q=d[r+(o<<1)>>1]|0;if((j[h+(o<<1)>>1]|0)>(q&65535))y=0;else y=(q&65535)<=(j[k+(o<<1)>>1]|0);q=o|1;u=d[r+(q<<1)>>1]|0;if((j[h+(q<<1)>>1]|0)>(u&65535))z=0;else z=(u&65535)<=(j[k+(q<<1)>>1]|0);b[a+o>>0]=y<<31>>31;b[a+q>>0]=z<<31>>31;q=o|2;u=d[r+(q<<1)>>1]|0;if((j[h+(q<<1)>>1]|0)>(u&65535))A=0;else A=(u&65535)<=(j[k+(q<<1)>>1]|0);u=o|3;x=d[r+(u<<1)>>1]|0;if((j[h+(u<<1)>>1]|0)>(x&65535))B=0;else B=(x&65535)<=(j[k+(u<<1)>>1]|0);b[a+q>>0]=A<<31>>31;b[a+u>>0]=B<<31>>31;o=o+4|0}while((o|0)<=(i|0));e=e+-1|0;if(s){o=t;do{u=d[r+(o<<1)>>1]|0;if((j[h+(o<<1)>>1]|0)>(u&65535))C=0;else C=(u&65535)<=(j[k+(o<<1)>>1]|0);b[a+o>>0]=C<<31>>31;o=o+1|0}while((o|0)!=(n|0))}if(!e)break;else{r=r+(m<<1)|0;a=a+l|0;k=k+(g<<1)|0;h=h+(c<<1)|0}}return}function uJ(a,c,e,g,h,i,j,k,l){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;m=f[l>>2]|0;n=f[l+4>>2]|0;l=c>>>1;c=g>>>1;g=i>>>1;if(!n)return;i=m+-4|0;if((m|0)<4){o=(m|0)>0;p=a;q=j;r=h;s=e;t=n;while(1){t=t+-1|0;if(o){u=0;do{v=d[p+(u<<1)>>1]|0;if((d[s+(u<<1)>>1]|0)>v<<16>>16)w=0;else w=v<<16>>16<=(d[r+(u<<1)>>1]|0);b[q+u>>0]=w<<31>>31;u=u+1|0}while((u|0)!=(m|0))}if(!t)break;else{p=p+(l<<1)|0;q=q+k|0;r=r+(g<<1)|0;s=s+(c<<1)|0}}return}s=m&-4;r=(s|0)<(m|0);q=a;a=j;j=h;h=e;e=n;while(1){n=0;do{p=d[q+(n<<1)>>1]|0;if((d[h+(n<<1)>>1]|0)>p<<16>>16)x=0;else x=p<<16>>16<=(d[j+(n<<1)>>1]|0);p=n|1;t=d[q+(p<<1)>>1]|0;if((d[h+(p<<1)>>1]|0)>t<<16>>16)y=0;else y=t<<16>>16<=(d[j+(p<<1)>>1]|0);b[a+n>>0]=x<<31>>31;b[a+p>>0]=y<<31>>31;p=n|2;t=d[q+(p<<1)>>1]|0;if((d[h+(p<<1)>>1]|0)>t<<16>>16)z=0;else z=t<<16>>16<=(d[j+(p<<1)>>1]|0);t=n|3;w=d[q+(t<<1)>>1]|0;if((d[h+(t<<1)>>1]|0)>w<<16>>16)A=0;else A=w<<16>>16<=(d[j+(t<<1)>>1]|0);b[a+p>>0]=z<<31>>31;b[a+t>>0]=A<<31>>31;n=n+4|0}while((n|0)<=(i|0));e=e+-1|0;if(r){n=s;do{t=d[q+(n<<1)>>1]|0;if((d[h+(n<<1)>>1]|0)>t<<16>>16)B=0;else B=t<<16>>16<=(d[j+(n<<1)>>1]|0);b[a+n>>0]=B<<31>>31;n=n+1|0}while((n|0)!=(m|0))}if(!e)break;else{q=q+(l<<1)|0;a=a+k|0;j=j+(g<<1)|0;h=h+(c<<1)|0}}return}function vJ(a,c,d,e,g,h,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;l=f[k>>2]|0;m=f[k+4>>2]|0;k=c>>>2;c=e>>>2;e=h>>>2;if(!m)return;h=l+-4|0;if((l|0)<4){n=(l|0)>0;o=a;p=i;q=g;r=d;s=m;while(1){s=s+-1|0;if(n){t=0;do{u=f[o+(t<<2)>>2]|0;if((f[r+(t<<2)>>2]|0)>(u|0))v=0;else v=(u|0)<=(f[q+(t<<2)>>2]|0);b[p+t>>0]=v<<31>>31;t=t+1|0}while((t|0)!=(l|0))}if(!s)break;else{o=o+(k<<2)|0;p=p+j|0;q=q+(e<<2)|0;r=r+(c<<2)|0}}return}r=l&-4;q=(r|0)<(l|0);p=a;a=i;i=g;g=d;d=m;while(1){m=0;do{o=f[p+(m<<2)>>2]|0;if((f[g+(m<<2)>>2]|0)>(o|0))w=0;else w=(o|0)<=(f[i+(m<<2)>>2]|0);o=m|1;s=f[p+(o<<2)>>2]|0;if((f[g+(o<<2)>>2]|0)>(s|0))x=0;else x=(s|0)<=(f[i+(o<<2)>>2]|0);b[a+m>>0]=w<<31>>31;b[a+o>>0]=x<<31>>31;o=m|2;s=f[p+(o<<2)>>2]|0;if((f[g+(o<<2)>>2]|0)>(s|0))y=0;else y=(s|0)<=(f[i+(o<<2)>>2]|0);s=m|3;v=f[p+(s<<2)>>2]|0;if((f[g+(s<<2)>>2]|0)>(v|0))z=0;else z=(v|0)<=(f[i+(s<<2)>>2]|0);b[a+o>>0]=y<<31>>31;b[a+s>>0]=z<<31>>31;m=m+4|0}while((m|0)<=(h|0));d=d+-1|0;if(q){m=r;do{s=f[p+(m<<2)>>2]|0;if((f[g+(m<<2)>>2]|0)>(s|0))A=0;else A=(s|0)<=(f[i+(m<<2)>>2]|0);b[a+m>>0]=A<<31>>31;m=m+1|0}while((m|0)!=(l|0))}if(!d)break;else{p=p+(k<<2)|0;a=a+j|0;i=i+(e<<2)|0;g=g+(c<<2)|0}}return}function wJ(a,c,d,e,g,h,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0;l=f[k>>2]|0;m=f[k+4>>2]|0;k=c>>>2;c=e>>>2;e=h>>>2;if(!m)return;h=l+-4|0;if((l|0)<4){o=(l|0)>0;p=a;q=i;r=g;s=d;t=m;while(1){t=t+-1|0;if(o){u=0;do{v=+n[p+(u<<2)>>2];if(!(+n[s+(u<<2)>>2]<=v))w=0;else w=v<=+n[r+(u<<2)>>2];b[q+u>>0]=w<<31>>31;u=u+1|0}while((u|0)!=(l|0))}if(!t)break;else{p=p+(k<<2)|0;q=q+j|0;r=r+(e<<2)|0;s=s+(c<<2)|0}}return}s=l&-4;r=(s|0)<(l|0);q=a;a=i;i=g;g=d;d=m;while(1){m=0;do{v=+n[q+(m<<2)>>2];if(!(+n[g+(m<<2)>>2]<=v))x=0;else x=v<=+n[i+(m<<2)>>2];p=m|1;v=+n[q+(p<<2)>>2];if(!(+n[g+(p<<2)>>2]<=v))y=0;else y=v<=+n[i+(p<<2)>>2];b[a+m>>0]=x<<31>>31;b[a+p>>0]=y<<31>>31;p=m|2;v=+n[q+(p<<2)>>2];if(!(+n[g+(p<<2)>>2]<=v))z=0;else z=v<=+n[i+(p<<2)>>2];t=m|3;v=+n[q+(t<<2)>>2];if(!(+n[g+(t<<2)>>2]<=v))A=0;else A=v<=+n[i+(t<<2)>>2];b[a+p>>0]=z<<31>>31;b[a+t>>0]=A<<31>>31;m=m+4|0}while((m|0)<=(h|0));d=d+-1|0;if(r){m=s;do{v=+n[q+(m<<2)>>2];if(!(+n[g+(m<<2)>>2]<=v))B=0;else B=v<=+n[i+(m<<2)>>2];b[a+m>>0]=B<<31>>31;m=m+1|0}while((m|0)!=(l|0))}if(!d)break;else{q=q+(k<<2)|0;a=a+j|0;i=i+(e<<2)|0;g=g+(c<<2)|0}}return}function xJ(a,c,d,e,g,h,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0;l=f[k>>2]|0;m=f[k+4>>2]|0;k=c>>>3;c=e>>>3;e=h>>>3;if(!m)return;h=l+-4|0;if((l|0)<4){n=(l|0)>0;o=a;q=i;r=g;s=d;t=m;while(1){t=t+-1|0;if(n){u=0;do{v=+p[o+(u<<3)>>3];if(!(+p[s+(u<<3)>>3]<=v))w=0;else w=v<=+p[r+(u<<3)>>3];b[q+u>>0]=w<<31>>31;u=u+1|0}while((u|0)!=(l|0))}if(!t)break;else{o=o+(k<<3)|0;q=q+j|0;r=r+(e<<3)|0;s=s+(c<<3)|0}}return}s=l&-4;r=(s|0)<(l|0);q=a;a=i;i=g;g=d;d=m;while(1){m=0;do{v=+p[q+(m<<3)>>3];if(!(+p[g+(m<<3)>>3]<=v))x=0;else x=v<=+p[i+(m<<3)>>3];o=m|1;v=+p[q+(o<<3)>>3];if(!(+p[g+(o<<3)>>3]<=v))y=0;else y=v<=+p[i+(o<<3)>>3];b[a+m>>0]=x<<31>>31;b[a+o>>0]=y<<31>>31;o=m|2;v=+p[q+(o<<3)>>3];if(!(+p[g+(o<<3)>>3]<=v))z=0;else z=v<=+p[i+(o<<3)>>3];t=m|3;v=+p[q+(t<<3)>>3];if(!(+p[g+(t<<3)>>3]<=v))A=0;else A=v<=+p[i+(t<<3)>>3];b[a+o>>0]=z<<31>>31;b[a+t>>0]=A<<31>>31;m=m+4|0}while((m|0)<=(h|0));d=d+-1|0;if(r){m=s;do{v=+p[q+(m<<3)>>3];if(!(+p[g+(m<<3)>>3]<=v))B=0;else B=v<=+p[i+(m<<3)>>3];b[a+m>>0]=B<<31>>31;m=m+1|0}while((m|0)!=(l|0))}if(!d)break;else{q=q+(k<<3)|0;a=a+j|0;i=i+(e<<3)|0;g=g+(c<<3)|0}}return}function yJ(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;g=u;u=u+352|0;h=g+288|0;i=g+232|0;j=g+176|0;k=g+120|0;l=g+64|0;m=g+48|0;n=g+32|0;o=g+16|0;p=g;NY(i,a,0,1,0,0);NY(j,c,0,1,0,0);NY(k,d,0,1,0,0);f[l>>2]=1124007936;d=l+4|0;c=l+8|0;a=l+40|0;q=d;r=q+36|0;do{f[q>>2]=0;q=q+4|0}while((q|0)<(r|0));f[a>>2]=c;s=l+48|0;t=l+44|0;f[t>>2]=s;f[s>>2]=0;f[l+52>>2]=0;v=i+40|0;w=f[v>>2]|0;x=f[w+-4>>2]|0;y=k+40|0;z=f[y>>2]|0;a:do if((x|0)==(f[z+-4>>2]|0)){if((x|0)==2){if((f[w>>2]|0)!=(f[z>>2]|0)){A=9;break}if((f[w+4>>2]|0)!=(f[z+4>>2]|0)){A=9;break}}else if((x|0)>0){B=0;do{if((f[w+(B<<2)>>2]|0)!=(f[z+(B<<2)>>2]|0)){A=9;break a}B=B+1|0}while((B|0)<(x|0))}if((f[k>>2]^f[i>>2])&4088|0)A=9}else A=9;while(0);if((A|0)==9){f[h>>2]=0;f[h+4>>2]=0;q=JV(h,58)|0;x=150617;r=q+58|0;do{b[q>>0]=b[x>>0]|0;q=q+1|0;x=x+1|0}while((q|0)<(r|0));EP(-215,h,150676,148090,1959);KV(h)}if(e|0){NY(h,e,0,1,0,0);e=h+36|0;x=f[e>>2]|0;if(x|0){q=x+12|0;f[q>>2]=(f[q>>2]|0)+1}q=l+36|0;x=f[q>>2]|0;if(x|0?(r=x+12|0,x=f[r>>2]|0,f[r>>2]=x+-1,(x|0)==1):0)XO(l);f[q>>2]=0;x=l+16|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;if((f[d>>2]|0)>0){r=f[a>>2]|0;z=0;do{f[r+(z<<2)>>2]=0;z=z+1|0;C=f[d>>2]|0}while((z|0)<(C|0));f[l>>2]=f[h>>2];if((C|0)<3)A=21;else A=23}else{f[l>>2]=f[h>>2];A=21}if((A|0)==21){C=f[h+4>>2]|0;if((C|0)<3){f[d>>2]=C;f[c>>2]=f[h+8>>2];f[l+12>>2]=f[h+12>>2];c=f[h+44>>2]|0;C=f[t>>2]|0;f[C>>2]=f[c>>2];f[C+4>>2]=f[c+4>>2]}else A=23}if((A|0)==23)WO(l,h);A=h+16|0;f[x>>2]=f[A>>2];f[l+20>>2]=f[h+20>>2];f[l+24>>2]=f[h+24>>2];f[l+28>>2]=f[h+28>>2];f[l+32>>2]=f[h+32>>2];x=f[e>>2]|0;f[q>>2]=x;if(x|0?(q=x+12|0,x=f[q>>2]|0,f[q>>2]=x+-1,(x|0)==1):0)XO(h);f[e>>2]=0;e=h+4|0;f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;f[A+12>>2]=0;if((f[e>>2]|0)>0){A=f[h+40>>2]|0;x=0;do{f[A+(x<<2)>>2]=0;x=x+1|0}while((x|0)<(f[e>>2]|0))}e=f[h+44>>2]|0;if((e|0)!=(h+48|0))dX(e)}f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=i;f[n+8>>2]=0;f[n+12>>2]=0;f[n>>2]=16842752;f[n+4>>2]=j;e=o+8|0;f[e>>2]=0;f[e+4>>2]=0;f[o>>2]=33619968;f[o+4>>2]=k;f[p+8>>2]=0;f[p+12>>2]=0;f[p>>2]=16842752;f[p+4>>2]=l;e=f[k>>2]|0;yV(h,31396);NH(m,n,o,p,e&4095,31416,0,0,1);e=l+36|0;p=f[e>>2]|0;if(p|0?(o=p+12|0,p=f[o>>2]|0,f[o>>2]=p+-1,(p|0)==1):0)XO(l);f[e>>2]=0;e=l+16|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;if((f[d>>2]|0)>0){e=f[a>>2]|0;a=0;do{f[e+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[d>>2]|0))}d=f[t>>2]|0;if((d|0)!=(s|0))dX(d);d=k+36|0;s=f[d>>2]|0;if(s|0?(t=s+12|0,s=f[t>>2]|0,f[t>>2]=s+-1,(s|0)==1):0)XO(k);f[d>>2]=0;d=k+16|0;s=k+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[s>>2]|0)>0){d=f[y>>2]|0;y=0;do{f[d+(y<<2)>>2]=0;y=y+1|0}while((y|0)<(f[s>>2]|0))}s=f[k+44>>2]|0;if((s|0)!=(k+48|0))dX(s);s=j+36|0;k=f[s>>2]|0;if(k|0?(y=k+12|0,k=f[y>>2]|0,f[y>>2]=k+-1,(k|0)==1):0)XO(j);f[s>>2]=0;s=j+16|0;k=j+4|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if((f[k>>2]|0)>0){s=f[j+40>>2]|0;y=0;do{f[s+(y<<2)>>2]=0;y=y+1|0}while((y|0)<(f[k>>2]|0))}k=f[j+44>>2]|0;if((k|0)!=(j+48|0))dX(k);k=i+36|0;j=f[k>>2]|0;if(j|0?(y=j+12|0,j=f[y>>2]|0,f[y>>2]=j+-1,(j|0)==1):0)XO(i);f[k>>2]=0;k=i+16|0;j=i+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;if((f[j>>2]|0)>0){k=f[v>>2]|0;v=0;do{f[k+(v<<2)>>2]=0;v=v+1|0}while((v|0)<(f[j>>2]|0))}j=f[i+44>>2]|0;if((j|0)==(i+48|0)){u=g;return}dX(j);u=g;return}function zJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>3>>>0>=b>>>0){FVa(g|0,0,b<<3|0)|0;f[e>>2]=h+(b<<3);return}i=f[a>>2]|0;j=g-i>>3;g=j+b|0;k=i;if(g>>>0>536870911)ZOa(a);l=d-i|0;d=l>>2;m=l>>3>>>0<268435455?(d>>>0>>0?g:d):536870911;do if(m)if(m>>>0>536870911){d=hd(8)|0;LQa(d,349912);f[d>>2]=118288;ld(d|0,20688,857)}else{n=EQa(m<<3)|0;break}else n=0;while(0);d=n+(j<<3)|0;j=n+(m<<3)|0;FVa(d|0,0,b<<3|0)|0;m=d+(b<<3)|0;if((h|0)==(k|0)){o=d;p=i}else{b=h+-8-i|0;i=h;h=d;do{n=h;h=h+-8|0;g=i;i=i+-8|0;f[h>>2]=f[i>>2];f[n+-4>>2]=f[g+-4>>2]}while((i|0)!=(k|0));o=d+(~(b>>>3)<<3)|0;p=f[a>>2]|0}f[a>>2]=o;f[e>>2]=m;f[c>>2]=j;if(!p)return;GQa(p);return}function AJ(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0,g=0.0,h=0.0,i=0.0,j=0,k=0.0;c=+n[a+16>>2]*3.141592653589793/180.0;d=+N(+c)*.5;e=+O(+c)*.5;c=+n[a+12>>2];f=e*c;g=+n[a+8>>2];h=d*g;i=+n[a>>2]-f-h;n[b>>2]=i;j=a+4|0;k=d*c;c=e*g;g=+n[j>>2]+k-c;n[b+4>>2]=g;e=+n[a>>2]+f-h;n[b+8>>2]=e;h=+n[j>>2]-k-c;n[b+12>>2]=h;n[b+16>>2]=+n[a>>2]*2.0-i;n[b+20>>2]=+n[j>>2]*2.0-g;n[b+24>>2]=+n[a>>2]*2.0-e;n[b+28>>2]=+n[j>>2]*2.0-h;return}function BJ(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,o=0,p=0,q=0;c=+n[b+16>>2]*3.141592653589793/180.0;d=+N(+c)*.5;e=+O(+c)*.5;c=+n[b>>2];g=+n[b+12>>2];h=e*g;i=+n[b+8>>2];j=d*i;k=c-h-j;l=+n[b+4>>2];m=d*g;g=e*i;i=m+l-g;e=h+c-j;j=l-m-g;g=c*2.0;c=g-k;m=l*2.0;l=m-i;h=g-e;g=m-j;m=e>2]=o;f[a+4>>2]=p;f[a+8>>2]=(m>+(b|0)&1)+b+1-o;f[a+12>>2]=1-p+((k>+(q|0)&1)+q);return}function CJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,o=0.0,p=0.0,q=0.0,r=0.0,t=0.0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;c=u;u=u+48|0;d=c+16|0;e=c+12|0;g=c+8|0;h=c+4|0;i=c;j=+n[b+16>>2]*3.141592653589793/180.0;k=+N(+j)*.5;l=+O(+j)*.5;j=+n[b>>2];m=+n[b+12>>2];o=l*m;p=+n[b+8>>2];q=k*p;r=j-o-q;n[d>>2]=r;t=+n[b+4>>2];v=k*m;m=l*p;p=v+t-m;b=d+4|0;n[b>>2]=p;l=o+j-q;w=d+8|0;n[w>>2]=l;q=t-v-m;x=d+12|0;n[x>>2]=q;m=j*2.0;j=m-r;y=d+16|0;n[y>>2]=j;v=t*2.0;t=v-p;z=d+20|0;n[z>>2]=t;o=m-l;A=d+24|0;n[A>>2]=o;m=v-q;B=d+28|0;n[B>>2]=m;C=l>2]?y:C;C=f[(o<+n[D>>2]?A:D)>>2]|0;D=q>2]?z:D;D=f[(m<+n[E>>2]?B:E)>>2]|0;f[e>>2]=C;f[g>>2]=D;E=r>2]>2]>2]|0;d=p>2]>2]>2]|0;f[h>>2]=E;f[i>>2]=d;m=(f[s>>2]=E,+n[s>>2]);t=(f[s>>2]=C,+n[s>>2]);C=f[(t>m?h:e)>>2]|0;f[a>>2]=C;q=(f[s>>2]=d,+n[s>>2]);p=(f[s>>2]=D,+n[s>>2]);D=f[(q>2]|0;f[a+4>>2]=D;n[a+8>>2]=(t>2]=C,+n[s>>2]);n[a+12>>2]=(p>2]=D,+n[s>>2]);u=c;return}function DJ(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;e=u;u=u+144|0;g=e+136|0;h=e+16|0;i=e+80|0;j=e+72|0;k=e+8|0;l=e;m=f[c>>2]|0;n=m&50331648;do switch(m>>>16&31){case 1:{o=f[c+4>>2]|0;if((d|0)>=0){f[g>>2]=d;f[g+4>>2]=d+1;f[h>>2]=-2147483648;f[h+4>>2]=2147483647;YO(a,o,g,h);u=e;return}f[a>>2]=f[o>>2];p=a+4|0;q=o+4|0;f[p>>2]=f[q>>2];r=a+8|0;f[r>>2]=f[o+8>>2];f[a+12>>2]=f[o+12>>2];f[a+16>>2]=f[o+16>>2];f[a+20>>2]=f[o+20>>2];f[a+24>>2]=f[o+24>>2];f[a+28>>2]=f[o+28>>2];f[a+32>>2]=f[o+32>>2];s=f[o+36>>2]|0;f[a+36>>2]=s;f[a+40>>2]=r;r=a+48|0;t=a+44|0;f[t>>2]=r;f[r>>2]=0;f[a+52>>2]=0;if(s|0){r=s+12|0;f[r>>2]=(f[r>>2]|0)+1}if((f[q>>2]|0)<3){q=f[o+44>>2]|0;r=f[t>>2]|0;f[r>>2]=f[q>>2];f[r+4>>2]=f[q+4>>2];u=e;return}else{f[p>>2]=0;WO(a,o);u=e;return}break}case 10:{o=f[c+4>>2]|0;if((d|0)<0){BN(a,o,n);u=e;return}BN(i,o,n);f[g>>2]=d;f[g+4>>2]=d+1;f[h>>2]=-2147483648;f[h+4>>2]=2147483647;YO(a,i,g,h);o=i+36|0;p=f[o>>2]|0;if(p|0?(q=p+12|0,p=f[q>>2]|0,f[q>>2]=p+-1,(p|0)==1):0)XO(i);f[o>>2]=0;o=i+16|0;p=i+4|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;if((f[p>>2]|0)>0){o=f[i+40>>2]|0;q=0;do{f[o+(q<<2)>>2]=0;q=q+1|0}while((q|0)<(f[p>>2]|0))}p=f[i+44>>2]|0;if((p|0)==(i+48|0)){u=e;return}dX(p);u=e;return}case 6:{if((d|0)>=0){f[g>>2]=0;f[g+4>>2]=0;p=JV(g,5)|0;b[p>>0]=b[150682]|0;b[p+1>>0]=b[150683]|0;b[p+2>>0]=b[150684]|0;b[p+3>>0]=b[150685]|0;b[p+4>>0]=b[150686]|0;EP(-215,g,150688,150696,38);KV(g)}p=f[c+4>>2]|0;f[a>>2]=1124007936;q=a+8|0;o=a+40|0;v=a+4|0;w=v+36|0;do{f[v>>2]=0;v=v+4|0}while((v|0)<(w|0));f[o>>2]=q;r=a+48|0;f[a+44>>2]=r;f[r>>2]=0;f[a+52>>2]=0;r=f[p>>2]|0;th[f[(f[r>>2]|0)+12>>2]&255](r,p,a,-1);u=e;return}case 2:case 14:{if((d|0)<0)x=m;else{f[g>>2]=0;f[g+4>>2]=0;r=JV(g,5)|0;b[r>>0]=b[150682]|0;b[r+1>>0]=b[150683]|0;b[r+2>>0]=b[150684]|0;b[r+3>>0]=b[150685]|0;b[r+4>>0]=b[150686]|0;EP(-215,g,150688,150696,44);KV(g);x=f[c>>2]|0}f[j>>2]=f[c+8>>2];f[j+4>>2]=f[c+12>>2];EJ(a,j,x,f[c+4>>2]|0,0);u=e;return}case 3:{if((d|0)>=0){f[g>>2]=0;f[g+4>>2]=0;r=JV(g,5)|0;b[r>>0]=b[150682]|0;b[r+1>>0]=b[150683]|0;b[r+2>>0]=b[150684]|0;b[r+3>>0]=b[150685]|0;b[r+4>>0]=b[150686]|0;EP(-215,g,150688,150696,50);KV(g)}r=f[c+4>>2]|0;if((f[r>>2]|0)==(f[r+4>>2]|0)){f[a>>2]=1124007936;t=a+8|0;s=a+40|0;v=a+4|0;w=v+36|0;do{f[v>>2]=0;v=v+4|0}while((v|0)<(w|0));f[s>>2]=t;p=a+48|0;f[a+44>>2]=p;f[p>>2]=0;f[a+52>>2]=0;u=e;return}else{p=f[c>>2]&4095;FJ(k,c,-1);EJ(a,k,p,f[r>>2]|0,0);u=e;return}break}case 12:{if((d|0)>=0){f[g>>2]=0;f[g+4>>2]=0;p=JV(g,5)|0;b[p>>0]=b[150682]|0;b[p+1>>0]=b[150683]|0;b[p+2>>0]=b[150684]|0;b[p+3>>0]=b[150685]|0;b[p+4>>0]=b[150686]|0;EP(-215,g,150688,150696,59);KV(g)}p=f[c+4>>2]|0;q=f[p+4>>2]|0;if(!q){f[a>>2]=1124007936;o=a+8|0;y=a+40|0;v=a+4|0;w=v+36|0;do{f[v>>2]=0;v=v+4|0}while((v|0)<(w|0));f[y>>2]=o;r=a+48|0;f[a+44>>2]=r;f[r>>2]=0;f[a+52>>2]=0;u=e;return}f[h>>2]=1124007936;r=h+4|0;t=h+8|0;s=h+40|0;v=r;w=v+36|0;do{f[v>>2]=0;v=v+4|0}while((v|0)<(w|0));f[s>>2]=t;o=h+48|0;y=h+44|0;f[y>>2]=o;f[o>>2]=0;f[h+52>>2]=0;f[g>>2]=1;f[g+4>>2]=q;VO(h,2,g,0);z=h+16|0;A=f[z>>2]|0;if((q|0)>0){B=0;do{b[A+B>>0]=(f[(f[p>>2]|0)+(B>>>5<<2)>>2]&1<<(B&31)|0)!=0&1;B=B+1|0}while((B|0)!=(q|0));C=f[z>>2]|0}else C=A;f[a>>2]=f[h>>2];q=a+4|0;B=f[r>>2]|0;f[q>>2]=B;p=a+8|0;f[p>>2]=f[t>>2];f[a+12>>2]=f[h+12>>2];f[a+16>>2]=C;f[a+20>>2]=f[h+20>>2];f[a+24>>2]=f[h+24>>2];f[a+28>>2]=f[h+28>>2];f[a+32>>2]=f[h+32>>2];D=h+36|0;E=f[D>>2]|0;f[a+36>>2]=E;f[a+40>>2]=p;p=a+48|0;F=a+44|0;f[F>>2]=p;f[p>>2]=0;f[a+52>>2]=0;if(!E)G=B;else{B=E+12|0;f[B>>2]=(f[B>>2]|0)+1;G=f[r>>2]|0}if((G|0)<3){B=f[y>>2]|0;E=f[F>>2]|0;f[E>>2]=f[B>>2];f[E+4>>2]=f[B+4>>2]}else{f[q>>2]=0;WO(a,h)}q=f[D>>2]|0;if(q|0?(B=q+12|0,q=f[B>>2]|0,f[B>>2]=q+-1,(q|0)==1):0)XO(h);f[D>>2]=0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;if((f[r>>2]|0)>0){D=f[s>>2]|0;q=0;do{f[D+(q<<2)>>2]=0;q=q+1|0}while((q|0)<(f[r>>2]|0))}r=f[y>>2]|0;if((r|0)!=(o|0))dX(r);u=e;return}case 0:{f[a>>2]=1124007936;r=a+8|0;q=a+40|0;v=a+4|0;w=v+36|0;do{f[v>>2]=0;v=v+4|0}while((v|0)<(w|0));f[q>>2]=r;o=a+48|0;f[a+44>>2]=o;f[o>>2]=0;f[a+52>>2]=0;u=e;return}case 4:{o=GJ(c,d)|0;y=f[c+4>>2]|0;if((d|0)>-1?(D=f[y>>2]|0,(((f[y+4>>2]|0)-D|0)/12|0|0)>(d|0)):0)H=D;else{f[g>>2]=0;f[g+4>>2]=0;v=JV(g,28)|0;I=150756;w=v+28|0;do{b[v>>0]=b[I>>0]|0;v=v+1|0;I=I+1|0}while((v|0)<(w|0));EP(-215,g,150688,150696,79);KV(g);H=f[y>>2]|0}r=H+(d*12|0)|0;if((f[r>>2]|0)==(f[H+(d*12|0)+4>>2]|0)){f[a>>2]=1124007936;q=a+8|0;D=a+40|0;v=a+4|0;w=v+36|0;do{f[v>>2]=0;v=v+4|0}while((v|0)<(w|0));f[D>>2]=q;y=a+48|0;f[a+44>>2]=y;f[y>>2]=0;f[a+52>>2]=0;u=e;return}else{FJ(l,c,d);EJ(a,l,o,f[r>>2]|0,0);u=e;return}break}case 5:{y=f[c+4>>2]|0;if((d|0)>-1?(s=f[y>>2]|0,(((f[y+4>>2]|0)-s|0)/56|0|0)>(d|0)):0)J=s;else{f[g>>2]=0;f[g+4>>2]=0;v=JV(g,27)|0;I=150785;w=v+27|0;do{b[v>>0]=b[I>>0]|0;v=v+1|0;I=I+1|0}while((v|0)<(w|0));EP(-215,g,150688,150696,88);KV(g);J=f[y>>2]|0}r=J+(d*56|0)|0;f[a>>2]=f[r>>2];o=a+4|0;q=J+(d*56|0)+4|0;f[o>>2]=f[q>>2];D=a+8|0;f[D>>2]=f[J+(d*56|0)+8>>2];f[a+12>>2]=f[J+(d*56|0)+12>>2];f[a+16>>2]=f[J+(d*56|0)+16>>2];f[a+20>>2]=f[J+(d*56|0)+20>>2];f[a+24>>2]=f[J+(d*56|0)+24>>2];f[a+28>>2]=f[J+(d*56|0)+28>>2];f[a+32>>2]=f[J+(d*56|0)+32>>2];s=f[J+(d*56|0)+36>>2]|0;f[a+36>>2]=s;f[a+40>>2]=D;D=a+48|0;z=a+44|0;f[z>>2]=D;f[D>>2]=0;f[a+52>>2]=0;if(s|0){D=s+12|0;f[D>>2]=(f[D>>2]|0)+1}if((f[q>>2]|0)<3){q=f[J+(d*56|0)+44>>2]|0;D=f[z>>2]|0;f[D>>2]=f[q>>2];f[D+4>>2]=f[q+4>>2];u=e;return}else{f[o>>2]=0;WO(a,r);u=e;return}break}case 15:{r=f[c+4>>2]|0;if(!((d|0)>-1?(f[c+12>>2]|0)>(d|0):0)){f[g>>2]=0;f[g+4>>2]=0;v=JV(g,23)|0;I=150813;w=v+23|0;do{b[v>>0]=b[I>>0]|0;v=v+1|0;I=I+1|0}while((v|0)<(w|0));EP(-215,g,150688,150696,96);KV(g)}y=r+(d*56|0)|0;f[a>>2]=f[y>>2];o=a+4|0;q=r+(d*56|0)+4|0;f[o>>2]=f[q>>2];D=a+8|0;f[D>>2]=f[r+(d*56|0)+8>>2];f[a+12>>2]=f[r+(d*56|0)+12>>2];f[a+16>>2]=f[r+(d*56|0)+16>>2];f[a+20>>2]=f[r+(d*56|0)+20>>2];f[a+24>>2]=f[r+(d*56|0)+24>>2];f[a+28>>2]=f[r+(d*56|0)+28>>2];f[a+32>>2]=f[r+(d*56|0)+32>>2];z=f[r+(d*56|0)+36>>2]|0;f[a+36>>2]=z;f[a+40>>2]=D;D=a+48|0;s=a+44|0;f[s>>2]=D;f[D>>2]=0;f[a+52>>2]=0;if(z|0){D=z+12|0;f[D>>2]=(f[D>>2]|0)+1}if((f[q>>2]|0)<3){q=f[r+(d*56|0)+44>>2]|0;D=f[s>>2]|0;f[D>>2]=f[q>>2];f[D+4>>2]=f[q+4>>2];u=e;return}else{f[o>>2]=0;WO(a,y);u=e;return}break}case 11:{y=f[c+4>>2]|0;if((d|0)>-1?(o=f[y>>2]|0,(((f[y+4>>2]|0)-o|0)/48|0|0)>(d|0)):0)K=o;else{f[g>>2]=0;f[g+4>>2]=0;v=JV(g,27)|0;I=150785;w=v+27|0;do{b[v>>0]=b[I>>0]|0;v=v+1|0;I=I+1|0}while((v|0)<(w|0));EP(-215,g,150688,150696,104);KV(g);K=f[y>>2]|0}BN(a,K+(d*48|0)|0,n);u=e;return}case 7:{if((d|0)>=0){f[g>>2]=0;f[g+4>>2]=0;r=JV(g,5)|0;b[r>>0]=b[150682]|0;b[r+1>>0]=b[150683]|0;b[r+2>>0]=b[150684]|0;b[r+3>>0]=b[150685]|0;b[r+4>>0]=b[150686]|0;EP(-215,g,150688,150696,111);KV(g)}f[g>>2]=0;f[g+4>>2]=0;v=JV(g,75)|0;I=150837;w=v+75|0;do{b[v>>0]=b[I>>0]|0;v=v+1|0;I=I+1|0}while((v|0)<(w|0));EP(-213,g,150688,150696,112);KV(g);f[a>>2]=1124007936;y=a+8|0;r=a+40|0;v=a+4|0;w=v+36|0;do{f[v>>2]=0;v=v+4|0}while((v|0)<(w|0));f[r>>2]=y;o=a+48|0;f[a+44>>2]=o;f[o>>2]=0;f[a+52>>2]=0;u=e;return}case 9:{if((d|0)>=0){f[g>>2]=0;f[g+4>>2]=0;o=JV(g,5)|0;b[o>>0]=b[150682]|0;b[o+1>>0]=b[150683]|0;b[o+2>>0]=b[150684]|0;b[o+3>>0]=b[150685]|0;b[o+4>>0]=b[150686]|0;EP(-215,g,150688,150696,118);KV(g)}f[g>>2]=0;f[g+4>>2]=0;v=JV(g,66)|0;I=150913;w=v+66|0;do{b[v>>0]=b[I>>0]|0;v=v+1|0;I=I+1|0}while((v|0)<(w|0));EP(-213,g,150688,150696,119);KV(g);f[a>>2]=1124007936;y=a+8|0;r=a+40|0;v=a+4|0;w=v+36|0;do{f[v>>2]=0;v=v+4|0}while((v|0)<(w|0));f[r>>2]=y;o=a+48|0;f[a+44>>2]=o;f[o>>2]=0;f[a+52>>2]=0;u=e;return}case 8:{if((d|0)>=0){f[g>>2]=0;f[g+4>>2]=0;o=JV(g,5)|0;b[o>>0]=b[150682]|0;b[o+1>>0]=b[150683]|0;b[o+2>>0]=b[150684]|0;b[o+3>>0]=b[150685]|0;b[o+4>>0]=b[150686]|0;EP(-215,g,150688,150696,125);KV(g)}o=f[c+4>>2]|0;q=f[o+4>>2]|0;f[g>>2]=f[o+8>>2];f[g+4>>2]=q;EJ(a,g,f[o>>2]&4095,f[o+16>>2]|0,f[o+12>>2]|0);u=e;return}default:{f[g>>2]=0;f[g+4>>2]=0;v=JV(g,30)|0;I=150980;w=v+30|0;do{b[v>>0]=b[I>>0]|0;v=v+1|0;I=I+1|0}while((v|0)<(w|0));EP(-213,g,150688,150696,132);KV(g);f[a>>2]=1124007936;y=a+8|0;r=a+40|0;v=a+4|0;w=v+36|0;do{f[v>>2]=0;v=v+4|0}while((v|0)<(w|0));f[r>>2]=y;o=a+48|0;f[a+44>>2]=o;f[o>>2]=0;f[a+52>>2]=0;u=e;return}}while(0)}function EJ(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;h=u;u=u+16|0;i=h;f[a>>2]=d&4095|1124007936;f[a+4>>2]=2;j=a+8|0;k=f[c+4>>2]|0;f[j>>2]=k;l=a+12|0;m=f[c>>2]|0;f[l>>2]=m;f[a+16>>2]=e;c=a+20|0;f[c>>2]=e;n=a+24|0;o=a+28|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;f[a+40>>2]=j;p=a+48|0;q=a+44|0;f[q>>2]=p;f[a+52>>2]=0;f[p>>2]=0;if((X(m,k)|0)!=0&(e|0)==0){f[i>>2]=0;f[i+4>>2]=0;r=JV(i,26)|0;s=346743;t=r+26|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));EP(-215,i,346770,346774,533);KV(i);v=f[l>>2]|0}else v=m;m=d&7;l=(d>>>3&511)+1<<(47696>>>(m<<1)&3);d=X(v,l)|0;if(g){if((g>>>0)%((1212424721>>>(m<<2)&15)>>>0)|0|0){f[i>>2]=0;f[i+4>>2]=0;r=JV(i,31)|0;s=158394;t=r+31|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));EP(-13,i,346770,346774,548);KV(i)}if((d|0)!=(g|0)?(f[j>>2]|0)!=1:0){w=g;x=f[q>>2]|0;f[x>>2]=w;y=x+4|0;f[y>>2]=l;z=f[c>>2]|0;A=f[j>>2]|0;B=X(A,w)|0;C=z+B|0;f[o>>2]=C;D=0-w|0;E=C+D|0;F=E+d|0;f[n>>2]=F;u=h;return}else G=g}else G=d;f[a>>2]=f[a>>2]|16384;w=G;x=f[q>>2]|0;f[x>>2]=w;y=x+4|0;f[y>>2]=l;z=f[c>>2]|0;A=f[j>>2]|0;B=X(A,w)|0;C=z+B|0;f[o>>2]=C;D=0-w|0;E=C+D|0;F=E+d|0;f[n>>2]=F;u=h;return}function FJ(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+16|0;g=e;do switch((f[c>>2]|0)>>>16&31){case 1:{if((d|0)>=0){f[g>>2]=0;f[g+4>>2]=0;h=JV(g,5)|0;b[h>>0]=b[150682]|0;b[h+1>>0]=b[150683]|0;b[h+2>>0]=b[150684]|0;b[h+3>>0]=b[150685]|0;b[h+4>>0]=b[150686]|0;EP(-215,g,331370,150696,405);KV(g)}h=f[(f[c+4>>2]|0)+40>>2]|0;i=f[h>>2]|0;f[a>>2]=f[h+4>>2];f[a+4>>2]=i;u=e;return}case 6:{if((d|0)>=0){f[g>>2]=0;f[g+4>>2]=0;i=JV(g,5)|0;b[i>>0]=b[150682]|0;b[i+1>>0]=b[150683]|0;b[i+2>>0]=b[150684]|0;b[i+3>>0]=b[150685]|0;b[i+4>>0]=b[150686]|0;EP(-215,g,331370,150696,411);KV(g)}OG(a,f[c+4>>2]|0);u=e;return}case 10:{if((d|0)>=0){f[g>>2]=0;f[g+4>>2]=0;i=JV(g,5)|0;b[i>>0]=b[150682]|0;b[i+1>>0]=b[150683]|0;b[i+2>>0]=b[150684]|0;b[i+3>>0]=b[150685]|0;b[i+4>>0]=b[150686]|0;EP(-215,g,331370,150696,417);KV(g)}i=f[(f[c+4>>2]|0)+32>>2]|0;h=f[i>>2]|0;f[a>>2]=f[i+4>>2];f[a+4>>2]=h;u=e;return}case 2:case 14:{if((d|0)>=0){f[g>>2]=0;f[g+4>>2]=0;h=JV(g,5)|0;b[h>>0]=b[150682]|0;b[h+1>>0]=b[150683]|0;b[h+2>>0]=b[150684]|0;b[h+3>>0]=b[150685]|0;b[h+4>>0]=b[150686]|0;EP(-215,g,331370,150696,423);KV(g)}f[a>>2]=f[c+8>>2];f[a+4>>2]=f[c+12>>2];u=e;return}case 3:{if((d|0)>=0){f[g>>2]=0;f[g+4>>2]=0;h=JV(g,5)|0;b[h>>0]=b[150682]|0;b[h+1>>0]=b[150683]|0;b[h+2>>0]=b[150684]|0;b[h+3>>0]=b[150685]|0;b[h+4>>0]=b[150686]|0;EP(-215,g,331370,150696,429);KV(g)}h=f[c+4>>2]|0;i=(f[h+4>>2]|0)-(f[h>>2]|0)|0;if((i|0)==(i>>2|0)){f[a>>2]=i;f[a+4>>2]=1;u=e;return}else{h=f[c>>2]|0;f[a>>2]=(i>>>0)/((h>>>3&511)+1<<(47696>>>(h<<1&14)&3)>>>0)|0;f[a+4>>2]=1;u=e;return}break}case 12:{if((d|0)>=0){f[g>>2]=0;f[g+4>>2]=0;h=JV(g,5)|0;b[h>>0]=b[150682]|0;b[h+1>>0]=b[150683]|0;b[h+2>>0]=b[150684]|0;b[h+3>>0]=b[150685]|0;b[h+4>>0]=b[150686]|0;EP(-215,g,331370,150696,438);KV(g)}f[a>>2]=f[(f[c+4>>2]|0)+4>>2];f[a+4>>2]=1;u=e;return}case 0:{f[a>>2]=0;f[a+4>>2]=0;u=e;return}case 4:{h=c+4|0;i=f[h>>2]|0;if((d|0)<0){j=f[i>>2]|0;k=f[i+4>>2]|0;if((j|0)==(k|0)){f[a>>2]=0;f[a+4>>2]=0;u=e;return}else{f[a>>2]=(k-j|0)/12|0;f[a+4>>2]=1;u=e;return}}j=f[i>>2]|0;if((((f[i+4>>2]|0)-j|0)/12|0|0)>(d|0)){l=i;m=j}else{f[g>>2]=0;f[g+4>>2]=0;n=JV(g,18)|0;o=151037;p=n+18|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));EP(-215,g,331370,150696,451);KV(g);l=f[h>>2]|0;m=f[i>>2]|0}j=(f[m+(d*12|0)+4>>2]|0)-(f[m+(d*12|0)>>2]|0)|0;k=f[l>>2]|0;if((j|0)==((f[k+(d*12|0)+4>>2]|0)-(f[k+(d*12|0)>>2]|0)>>2|0)){f[a>>2]=j;f[a+4>>2]=1;u=e;return}else{k=f[c>>2]|0;f[a>>2]=(j>>>0)/((k>>>3&511)+1<<(47696>>>(k<<1&14)&3)>>>0)|0;f[a+4>>2]=1;u=e;return}break}case 5:{k=f[c+4>>2]|0;if((d|0)<0){j=f[k>>2]|0;q=f[k+4>>2]|0;if((j|0)==(q|0)){f[a>>2]=0;f[a+4>>2]=0;u=e;return}else{f[a>>2]=(q-j|0)/56|0;f[a+4>>2]=1;u=e;return}}else{j=f[k>>2]|0;if((((f[k+4>>2]|0)-j|0)/56|0|0)>(d|0))r=j;else{f[g>>2]=0;f[g+4>>2]=0;n=JV(g,18)|0;o=151037;p=n+18|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));EP(-215,g,331370,150696,463);KV(g);r=f[k>>2]|0}i=f[r+(d*56|0)+40>>2]|0;h=f[i>>2]|0;f[a>>2]=f[i+4>>2];f[a+4>>2]=h;u=e;return}break}case 15:{h=f[c+4>>2]|0;i=f[c+12>>2]|0;if((d|0)>=0){if((i|0)<=(d|0)){f[g>>2]=0;f[g+4>>2]=0;n=JV(g,13)|0;o=151056;p=n+13|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));EP(-215,g,331370,150696,473);KV(g)}k=f[h+(d*56|0)+40>>2]|0;j=f[k>>2]|0;f[a>>2]=f[k+4>>2];f[a+4>>2]=j;u=e;return}if(!i){f[a>>2]=0;f[a+4>>2]=0;u=e;return}else{f[a>>2]=i;f[a+4>>2]=1;u=e;return}break}case 13:{j=f[c+4>>2]|0;if((d|0)<0){k=f[j>>2]|0;q=f[j+4>>2]|0;if((k|0)==(q|0)){f[a>>2]=0;f[a+4>>2]=0;u=e;return}else{f[a>>2]=(q-k|0)/36|0;f[a+4>>2]=1;u=e;return}}else{k=f[j>>2]|0;if((((f[j+4>>2]|0)-k|0)/36|0|0)>(d|0))s=k;else{f[g>>2]=0;f[g+4>>2]=0;n=JV(g,18)|0;o=151037;p=n+18|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));EP(-215,g,331370,150696,483);KV(g);s=f[j>>2]|0}i=f[s+(d*36|0)+4>>2]|0;f[a>>2]=f[s+(d*36|0)+8>>2];f[a+4>>2]=i;u=e;return}break}case 11:{i=f[c+4>>2]|0;if((d|0)<0){h=f[i>>2]|0;k=f[i+4>>2]|0;if((h|0)==(k|0)){f[a>>2]=0;f[a+4>>2]=0;u=e;return}else{f[a>>2]=(k-h|0)/48|0;f[a+4>>2]=1;u=e;return}}else{h=f[i>>2]|0;if((((f[i+4>>2]|0)-h|0)/48|0|0)>(d|0))t=h;else{f[g>>2]=0;f[g+4>>2]=0;n=JV(g,18)|0;o=151037;p=n+18|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));EP(-215,g,331370,150696,492);KV(g);t=f[i>>2]|0}j=f[t+(d*48|0)+32>>2]|0;h=f[j>>2]|0;f[a>>2]=f[j+4>>2];f[a+4>>2]=h;u=e;return}break}case 7:{if((d|0)>=0){f[g>>2]=0;f[g+4>>2]=0;h=JV(g,5)|0;b[h>>0]=b[150682]|0;b[h+1>>0]=b[150683]|0;b[h+2>>0]=b[150684]|0;b[h+3>>0]=b[150685]|0;b[h+4>>0]=b[150686]|0;EP(-215,g,331370,150696,499);KV(g)}h=f[c+4>>2]|0;j=f[h+8>>2]|0;f[a>>2]=f[h+12>>2];f[a+4>>2]=j;u=e;return}case 9:{if((d|0)>=0){f[g>>2]=0;f[g+4>>2]=0;j=JV(g,5)|0;b[j>>0]=b[150682]|0;b[j+1>>0]=b[150683]|0;b[j+2>>0]=b[150684]|0;b[j+3>>0]=b[150685]|0;b[j+4>>0]=b[150686]|0;EP(-215,g,331370,150696,506);KV(g)}j=f[c+4>>2]|0;h=f[j+4>>2]|0;f[a>>2]=f[j+8>>2];f[a+4>>2]=h;u=e;return}case 8:{if((d|0)>=0){f[g>>2]=0;f[g+4>>2]=0;h=JV(g,5)|0;b[h>>0]=b[150682]|0;b[h+1>>0]=b[150683]|0;b[h+2>>0]=b[150684]|0;b[h+3>>0]=b[150685]|0;b[h+4>>0]=b[150686]|0;EP(-215,g,331370,150696,513);KV(g)}h=f[c+4>>2]|0;j=f[h+4>>2]|0;f[a>>2]=f[h+8>>2];f[a+4>>2]=j;u=e;return}default:{f[g>>2]=0;f[g+4>>2]=0;n=JV(g,30)|0;o=150980;p=n+30|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));EP(-213,g,331370,150696,518);KV(g);f[a>>2]=0;f[a+4>>2]=0;u=e;return}}while(0)}function GJ(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;d=u;u=u+16|0;e=d;g=f[a>>2]|0;do switch(g>>>16&31){case 1:{h=f[f[a+4>>2]>>2]&4095;u=d;return h|0}case 10:{h=f[f[a+4>>2]>>2]&4095;u=d;return h|0}case 6:{h=PG(f[a+4>>2]|0)|0;u=d;return h|0}case 2:case 3:case 4:case 12:case 14:{h=g&4095;u=d;return h|0}case 11:{i=f[a+4>>2]|0;j=f[i>>2]|0;k=f[i+4>>2]|0;if((j|0)==(k|0)){if((g|0)<0)l=g;else{f[e>>2]=0;f[e+4>>2]=0;m=JV(e,25)|0;n=151011;o=m+25|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,e,222420,150696,795);KV(e);l=f[a>>2]|0}h=l&4095;u=d;return h|0}else{if(((k-j|0)/48|0|0)>(c|0))p=j;else{f[e>>2]=0;f[e+4>>2]=0;m=JV(e,18)|0;n=151037;o=m+18|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,e,222420,150696,798);KV(e);p=f[i>>2]|0}h=f[p+(((c|0)>0?c:0)*48|0)>>2]&4095;u=d;return h|0}break}case 5:{j=f[a+4>>2]|0;k=f[j>>2]|0;q=f[j+4>>2]|0;if((k|0)==(q|0)){if((g|0)<0)r=g;else{f[e>>2]=0;f[e+4>>2]=0;m=JV(e,25)|0;n=151011;o=m+25|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,e,222420,150696,807);KV(e);r=f[a>>2]|0}h=r&4095;u=d;return h|0}else{if(((q-k|0)/56|0|0)>(c|0))s=k;else{f[e>>2]=0;f[e+4>>2]=0;m=JV(e,18)|0;n=151037;o=m+18|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,e,222420,150696,810);KV(e);s=f[j>>2]|0}h=f[s+(((c|0)>0?c:0)*56|0)>>2]&4095;u=d;return h|0}break}case 15:{k=f[a+4>>2]|0;q=f[a+12>>2]|0;if(!q){if((g|0)<0)t=g;else{f[e>>2]=0;f[e+4>>2]=0;m=JV(e,25)|0;n=151011;o=m+25|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,e,222420,150696,819);KV(e);t=f[a>>2]|0}h=t&4095;u=d;return h|0}else{if((q|0)<=(c|0)){f[e>>2]=0;f[e+4>>2]=0;m=JV(e,13)|0;n=151056;o=m+13|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,e,222420,150696,822);KV(e)}h=f[k+(((c|0)>0?c:0)*56|0)>>2]&4095;u=d;return h|0}break}case 13:{q=f[a+4>>2]|0;j=f[q>>2]|0;i=f[q+4>>2]|0;if((j|0)==(i|0)){if((g|0)<0)v=g;else{f[e>>2]=0;f[e+4>>2]=0;m=JV(e,25)|0;n=151011;o=m+25|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,e,222420,150696,831);KV(e);v=f[a>>2]|0}h=v&4095;u=d;return h|0}else{if(((i-j|0)/36|0|0)>(c|0))w=j;else{f[e>>2]=0;f[e+4>>2]=0;m=JV(e,18)|0;n=151037;o=m+18|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,e,222420,150696,834);KV(e);w=f[q>>2]|0}h=f[w+(((c|0)>0?c:0)*36|0)>>2]&4095;u=d;return h|0}break}case 7:{h=f[(f[a+4>>2]|0)+16>>2]|0;u=d;return h|0}case 9:{h=f[f[a+4>>2]>>2]&4095;u=d;return h|0}case 8:{h=f[f[a+4>>2]>>2]&4095;u=d;return h|0}case 0:{h=-1;u=d;return h|0}default:{f[e>>2]=0;f[e+4>>2]=0;m=JV(e,30)|0;n=150980;o=m+30|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-213,e,222420,150696,847);KV(e);h=0;u=d;return h|0}}while(0);return 0}function HJ(a){a=a|0;return f[a>>2]&2031616|0}function IJ(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;e=u;u=u+128|0;g=e+120|0;h=e+112|0;i=e+56|0;j=e;k=f[c>>2]|0;l=k&2031616;m=k&50331648;k=l&2097151;a:do if((k|0)>=655360){if((k|0)<720896){switch(k|0){case 655360:break;default:break a}n=f[c+4>>2]|0;if((d|0)>=0){f[g>>2]=d;f[g+4>>2]=d+1;f[h>>2]=-2147483648;f[h+4>>2]=2147483647;vN(a,n,g,h);u=e;return}f[a>>2]=f[n>>2];o=a+4|0;p=n+4|0;f[o>>2]=f[p>>2];q=a+8|0;f[q>>2]=f[n+8>>2];f[a+12>>2]=f[n+12>>2];f[a+16>>2]=f[n+16>>2];f[a+20>>2]=f[n+20>>2];r=f[n+24>>2]|0;f[a+24>>2]=r;f[a+28>>2]=f[n+28>>2];f[a+32>>2]=q;q=a+40|0;s=a+36|0;f[s>>2]=q;f[a+44>>2]=0;f[q>>2]=0;if(r|0){q=r+8|0;f[q>>2]=(f[q>>2]|0)+1}if((f[p>>2]|0)<3){p=f[n+36>>2]|0;q=f[s>>2]|0;f[q>>2]=f[p>>2];f[q+4>>2]=f[p+4>>2];u=e;return}else{f[o>>2]=0;sN(a,n);u=e;return}}switch(k|0){case 720896:break;default:break a}n=f[c+4>>2]|0;if((d|0)>-1?(o=f[n>>2]|0,(((f[n+4>>2]|0)-o|0)/48|0|0)>(d|0)):0)t=o;else{f[g>>2]=0;f[g+4>>2]=0;o=JV(g,27)|0;p=150785;q=o+27|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));EP(-215,g,157416,150696,152);KV(g);t=f[n>>2]|0}p=t+(d*48|0)|0;f[a>>2]=f[p>>2];o=a+4|0;q=t+(d*48|0)+4|0;f[o>>2]=f[q>>2];s=a+8|0;f[s>>2]=f[t+(d*48|0)+8>>2];f[a+12>>2]=f[t+(d*48|0)+12>>2];f[a+16>>2]=f[t+(d*48|0)+16>>2];f[a+20>>2]=f[t+(d*48|0)+20>>2];r=f[t+(d*48|0)+24>>2]|0;f[a+24>>2]=r;f[a+28>>2]=f[t+(d*48|0)+28>>2];f[a+32>>2]=s;s=a+40|0;v=a+36|0;f[v>>2]=s;f[a+44>>2]=0;f[s>>2]=0;if(r|0){s=r+8|0;f[s>>2]=(f[s>>2]|0)+1}if((f[q>>2]|0)<3){q=f[t+(d*48|0)+36>>2]|0;s=f[v>>2]|0;f[s>>2]=f[q>>2];f[s+4>>2]=f[q+4>>2];u=e;return}else{f[o>>2]=0;sN(a,p);u=e;return}}else{switch(k|0){case 65536:break;default:break a}p=f[c+4>>2]|0;if((d|0)<0){pN(a,p,m,0);u=e;return}f[g>>2]=d;f[g+4>>2]=d+1;f[h>>2]=-2147483648;f[h+4>>2]=2147483647;YO(i,p,g,h);pN(a,i,m,0);p=i+36|0;o=f[p>>2]|0;if(o|0?(q=o+12|0,o=f[q>>2]|0,f[q>>2]=o+-1,(o|0)==1):0)XO(i);f[p>>2]=0;p=i+16|0;o=i+4|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;if((f[o>>2]|0)>0){p=f[i+40>>2]|0;q=0;do{f[p+(q<<2)>>2]=0;q=q+1|0}while((q|0)<(f[o>>2]|0))}o=f[i+44>>2]|0;if((o|0)==(i+48|0)){u=e;return}dX(o);u=e;return}while(0);do if((d|0)<0&(l|0)==65536){i=f[c+4>>2]|0;f[j>>2]=f[i>>2];h=j+4|0;g=i+4|0;f[h>>2]=f[g>>2];k=j+8|0;f[k>>2]=f[i+8>>2];f[j+12>>2]=f[i+12>>2];f[j+16>>2]=f[i+16>>2];f[j+20>>2]=f[i+20>>2];f[j+24>>2]=f[i+24>>2];f[j+28>>2]=f[i+28>>2];f[j+32>>2]=f[i+32>>2];t=f[i+36>>2]|0;f[j+36>>2]=t;f[j+40>>2]=k;k=j+48|0;o=j+44|0;f[o>>2]=k;f[k>>2]=0;f[j+52>>2]=0;if(t|0){k=t+12|0;f[k>>2]=(f[k>>2]|0)+1}if((f[g>>2]|0)<3){g=f[i+44>>2]|0;k=f[o>>2]|0;f[k>>2]=f[g>>2];f[k+4>>2]=f[g+4>>2];break}else{f[h>>2]=0;WO(j,i);break}}else DJ(j,c,d);while(0);pN(a,j,m,0);m=j+36|0;a=f[m>>2]|0;if(a|0?(d=a+12|0,a=f[d>>2]|0,f[d>>2]=a+-1,(a|0)==1):0)XO(j);f[m>>2]=0;m=j+16|0;a=j+4|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;if((f[a>>2]|0)>0){m=f[j+40>>2]|0;d=0;do{f[m+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[a>>2]|0))}a=f[j+44>>2]|0;if((a|0)==(j+48|0)){u=e;return}dX(a);u=e;return}function JJ(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0;d=u;u=u+240|0;e=d+184|0;g=d+120|0;h=d+56|0;i=d;j=d+176|0;k=d+112|0;l=f[a>>2]|0;m=l&50331648;do switch(l>>>16&31){case 1:{n=f[a+4>>2]|0;o=n+40|0;p=f[f[o>>2]>>2]|0;KJ(c,p);if((p|0)<=0){u=d;return}q=n+4|0;r=n+12|0;s=n+16|0;t=n+44|0;v=g+4|0;w=g+8|0;x=g+12|0;y=g+16|0;z=g+20|0;A=g+24|0;B=g+28|0;C=g+40|0;D=g+48|0;E=g+44|0;F=g+52|0;G=e+4|0;H=g+36|0;I=g+32|0;J=0;do{K=f[q>>2]|0;if((K|0)==2){L=f[r>>2]|0;M=f[n>>2]|0;N=(f[s>>2]|0)+(X(f[f[t>>2]>>2]|0,J)|0)|0;O=M&4095|1124007936;f[g>>2]=O;f[v>>2]=2;f[w>>2]=1;f[x>>2]=L;f[y>>2]=N;f[z>>2]=N;f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;f[A+12>>2]=0;f[C>>2]=w;f[E>>2]=D;f[F>>2]=0;f[D>>2]=0;if((L|0)!=0&(N|0)==0){f[e>>2]=0;f[G>>2]=0;P=JV(e,26)|0;Q=346743;R=P+26|0;do{b[P>>0]=b[Q>>0]|0;P=P+1|0;Q=Q+1|0}while((P|0)<(R|0));EP(-215,e,346770,346774,500);KV(e);S=f[x>>2]|0;T=f[g>>2]|0;U=f[E>>2]|0;V=f[z>>2]|0}else{S=L;T=O;U=D;V=N}W=(M>>>3&511)+1<<(47696>>>(M<<1&14)&3);Y=X(S,W)|0;f[g>>2]=T|16384;f[U>>2]=Y;f[U+4>>2]=W;W=V+(X(f[w>>2]|0,Y)|0)|0;f[B>>2]=W;f[A>>2]=W+(0-Y)+Y}else{Y=f[t>>2]|0;aP(g,K+-1|0,(f[o>>2]|0)+4|0,f[n>>2]&4095,(f[s>>2]|0)+(X(f[Y>>2]|0,J)|0)|0,Y+4|0)}Y=f[c>>2]|0;W=Y+(J*56|0)|0;if((W|0)!=(g|0)){Z=f[H>>2]|0;if(Z|0){_=Z+12|0;f[_>>2]=(f[_>>2]|0)+1}_=Y+(J*56|0)+36|0;Z=f[_>>2]|0;if(Z|0?($=Z+12|0,Z=f[$>>2]|0,f[$>>2]=Z+-1,(Z|0)==1):0)XO(W);f[_>>2]=0;Z=Y+(J*56|0)+16|0;$=Y+(J*56|0)+4|0;f[Z>>2]=0;f[Z+4>>2]=0;f[Z+8>>2]=0;f[Z+12>>2]=0;if((f[$>>2]|0)>0){aa=f[Y+(J*56|0)+40>>2]|0;ba=0;do{f[aa+(ba<<2)>>2]=0;ba=ba+1|0;ca=f[$>>2]|0}while((ba|0)<(ca|0));f[W>>2]=f[g>>2];if((ca|0)<3)da=20;else da=22}else{f[W>>2]=f[g>>2];da=20}if((da|0)==20){da=0;ba=f[v>>2]|0;if((ba|0)<3){f[$>>2]=ba;f[Y+(J*56|0)+8>>2]=f[w>>2];f[Y+(J*56|0)+12>>2]=f[x>>2];ba=f[E>>2]|0;aa=f[Y+(J*56|0)+44>>2]|0;f[aa>>2]=f[ba>>2];f[aa+4>>2]=f[ba+4>>2]}else da=22}if((da|0)==22){da=0;WO(W,g)}f[Z>>2]=f[y>>2];f[Y+(J*56|0)+20>>2]=f[z>>2];f[Y+(J*56|0)+24>>2]=f[A>>2];f[Y+(J*56|0)+28>>2]=f[B>>2];f[Y+(J*56|0)+32>>2]=f[I>>2];f[_>>2]=f[H>>2]}ba=f[H>>2]|0;if(ba|0?(aa=ba+12|0,ba=f[aa>>2]|0,f[aa>>2]=ba+-1,(ba|0)==1):0)XO(g);f[H>>2]=0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;if((f[v>>2]|0)>0){ba=f[C>>2]|0;aa=0;do{f[ba+(aa<<2)>>2]=0;aa=aa+1|0}while((aa|0)<(f[v>>2]|0))}aa=f[E>>2]|0;if((aa|0)!=(D|0))dX(aa);J=J+1|0}while((J|0)<(p|0));u=d;return}case 6:{p=f[a+4>>2]|0;f[h>>2]=1124007936;J=h+4|0;D=h+8|0;E=h+40|0;P=J;R=P+36|0;do{f[P>>2]=0;P=P+4|0}while((P|0)<(R|0));f[E>>2]=D;v=h+48|0;C=h+44|0;f[C>>2]=v;f[v>>2]=0;f[h+52>>2]=0;y=f[p>>2]|0;th[f[(f[y>>2]|0)+12>>2]&255](y,p,h,-1);y=f[f[E>>2]>>2]|0;KJ(c,y);if((y|0)>0){H=e+4|0;I=g+4|0;B=i+36|0;A=i+16|0;z=i+4|0;x=i+40|0;w=i+44|0;s=i+48|0;n=i+8|0;o=i+12|0;t=i+20|0;G=i+24|0;F=i+28|0;r=i+32|0;q=0;do{aa=q;q=q+1|0;f[e>>2]=aa;f[H>>2]=q;f[g>>2]=-2147483648;f[I>>2]=2147483647;YO(i,h,e,g);ba=f[c>>2]|0;_=ba+(aa*56|0)|0;if((_|0)!=(i|0)){Y=f[B>>2]|0;if(Y|0){Z=Y+12|0;f[Z>>2]=(f[Z>>2]|0)+1}Z=ba+(aa*56|0)+36|0;Y=f[Z>>2]|0;if(Y|0?(W=Y+12|0,Y=f[W>>2]|0,f[W>>2]=Y+-1,(Y|0)==1):0)XO(_);f[Z>>2]=0;Y=ba+(aa*56|0)+16|0;W=ba+(aa*56|0)+4|0;f[Y>>2]=0;f[Y+4>>2]=0;f[Y+8>>2]=0;f[Y+12>>2]=0;if((f[W>>2]|0)>0){$=f[ba+(aa*56|0)+40>>2]|0;K=0;do{f[$+(K<<2)>>2]=0;K=K+1|0;ea=f[W>>2]|0}while((K|0)<(ea|0));f[_>>2]=f[i>>2];if((ea|0)<3)da=55;else da=57}else{f[_>>2]=f[i>>2];da=55}if((da|0)==55){da=0;K=f[z>>2]|0;if((K|0)<3){f[W>>2]=K;f[ba+(aa*56|0)+8>>2]=f[n>>2];f[ba+(aa*56|0)+12>>2]=f[o>>2];K=f[w>>2]|0;$=f[ba+(aa*56|0)+44>>2]|0;f[$>>2]=f[K>>2];f[$+4>>2]=f[K+4>>2]}else da=57}if((da|0)==57){da=0;WO(_,i)}f[Y>>2]=f[A>>2];f[ba+(aa*56|0)+20>>2]=f[t>>2];f[ba+(aa*56|0)+24>>2]=f[G>>2];f[ba+(aa*56|0)+28>>2]=f[F>>2];f[ba+(aa*56|0)+32>>2]=f[r>>2];f[Z>>2]=f[B>>2]}K=f[B>>2]|0;if(K|0?($=K+12|0,K=f[$>>2]|0,f[$>>2]=K+-1,(K|0)==1):0)XO(i);f[B>>2]=0;f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;f[A+12>>2]=0;if((f[z>>2]|0)>0){K=f[x>>2]|0;$=0;do{f[K+($<<2)>>2]=0;$=$+1|0}while(($|0)<(f[z>>2]|0))}$=f[w>>2]|0;if(($|0)!=(s|0))dX($)}while((q|0)<(y|0))}y=h+36|0;q=f[y>>2]|0;if(q|0?(s=q+12|0,q=f[s>>2]|0,f[s>>2]=q+-1,(q|0)==1):0)XO(h);f[y>>2]=0;y=h+16|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;if((f[J>>2]|0)>0){y=f[E>>2]|0;q=0;do{f[y+(q<<2)>>2]=0;q=q+1|0}while((q|0)<(f[J>>2]|0))}J=f[C>>2]|0;if((J|0)!=(v|0))dX(J);u=d;return}case 2:case 14:{J=f[a+12>>2]|0;q=(l>>>3&511)+1<<(47696>>>(l<<1&14)&3);KJ(c,J);if(!J){u=d;return}y=a+8|0;E=a+4|0;s=g+4|0;w=g+8|0;z=g+12|0;x=g+16|0;A=g+20|0;B=g+24|0;r=g+28|0;F=g+40|0;G=g+48|0;t=g+44|0;o=g+52|0;n=e+4|0;I=g+36|0;H=g+32|0;p=0;do{D=f[y>>2]|0;$=f[a>>2]|0;K=(f[E>>2]|0)+(X(X(p,q)|0,D)|0)|0;Z=$&4095|1124007936;f[g>>2]=Z;f[s>>2]=2;f[w>>2]=1;f[z>>2]=D;f[x>>2]=K;f[A>>2]=K;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;f[F>>2]=w;f[t>>2]=G;f[o>>2]=0;f[G>>2]=0;if((D|0)!=0&(K|0)==0){f[e>>2]=0;f[n>>2]=0;P=JV(e,26)|0;Q=346743;R=P+26|0;do{b[P>>0]=b[Q>>0]|0;P=P+1|0;Q=Q+1|0}while((P|0)<(R|0));EP(-215,e,346770,346774,500);KV(e);fa=f[z>>2]|0;ga=f[g>>2]|0;ha=f[t>>2]|0;ia=f[A>>2]|0}else{fa=D;ga=Z;ha=G;ia=K}aa=($>>>3&511)+1<<(47696>>>($<<1&14)&3);ba=X(fa,aa)|0;f[g>>2]=ga|16384;f[ha>>2]=ba;f[ha+4>>2]=aa;aa=ia+(X(f[w>>2]|0,ba)|0)|0;f[r>>2]=aa;f[B>>2]=aa+(0-ba)+ba;ba=f[c>>2]|0;aa=ba+(p*56|0)|0;if((aa|0)!=(g|0)){Y=f[I>>2]|0;if(Y|0){_=Y+12|0;f[_>>2]=(f[_>>2]|0)+1}_=ba+(p*56|0)+36|0;Y=f[_>>2]|0;if(Y|0?(W=Y+12|0,Y=f[W>>2]|0,f[W>>2]=Y+-1,(Y|0)==1):0)XO(aa);f[_>>2]=0;Y=ba+(p*56|0)+16|0;W=ba+(p*56|0)+4|0;f[Y>>2]=0;f[Y+4>>2]=0;f[Y+8>>2]=0;f[Y+12>>2]=0;if((f[W>>2]|0)>0){M=f[ba+(p*56|0)+40>>2]|0;N=0;do{f[M+(N<<2)>>2]=0;N=N+1|0;ja=f[W>>2]|0}while((N|0)<(ja|0));f[aa>>2]=f[g>>2];if((ja|0)<3)da=83;else da=85}else{f[aa>>2]=f[g>>2];da=83}if((da|0)==83){da=0;N=f[s>>2]|0;if((N|0)<3){f[W>>2]=N;f[ba+(p*56|0)+8>>2]=f[w>>2];f[ba+(p*56|0)+12>>2]=f[z>>2];N=f[t>>2]|0;M=f[ba+(p*56|0)+44>>2]|0;f[M>>2]=f[N>>2];f[M+4>>2]=f[N+4>>2]}else da=85}if((da|0)==85){da=0;WO(aa,g)}f[Y>>2]=f[x>>2];f[ba+(p*56|0)+20>>2]=f[A>>2];f[ba+(p*56|0)+24>>2]=f[B>>2];f[ba+(p*56|0)+28>>2]=f[r>>2];f[ba+(p*56|0)+32>>2]=f[H>>2];f[_>>2]=f[I>>2]}N=f[I>>2]|0;if(N|0?(M=N+12|0,N=f[M>>2]|0,f[M>>2]=N+-1,(N|0)==1):0)XO(g);f[I>>2]=0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;if((f[s>>2]|0)>0){N=f[F>>2]|0;M=0;do{f[N+(M<<2)>>2]=0;M=M+1|0}while((M|0)<(f[s>>2]|0))}M=f[t>>2]|0;if((M|0)!=(G|0))dX(M);p=p+1|0}while(p>>>0>>0);u=d;return}case 3:{J=f[a+4>>2]|0;FJ(j,a,-1);p=f[j>>2]|0;G=f[a>>2]|0;t=(G>>>3&511)+1|0;s=G&7;G=47696>>>(s<<1)&3;F=t<>2]|0)+(X(M,F)|0)|0;f[g>>2]=x;f[s>>2]=2;f[I>>2]=1;f[H>>2]=t;f[r>>2]=N;f[B>>2]=N;f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;f[A+12>>2]=0;f[w>>2]=I;f[o>>2]=n;f[q>>2]=0;f[n>>2]=0;if(!N){f[e>>2]=0;f[E>>2]=0;P=JV(e,26)|0;Q=346743;R=P+26|0;do{b[P>>0]=b[Q>>0]|0;P=P+1|0;Q=Q+1|0}while((P|0)<(R|0));EP(-215,e,346770,346774,500);KV(e);ka=f[H>>2]|0;la=f[g>>2]|0;ma=f[o>>2]|0;na=f[B>>2]|0}else{ka=t;la=x;ma=n;na=N}_=ka<>2]=la|16384;f[ma>>2]=_;f[ma+4>>2]=y;ba=na+(X(f[I>>2]|0,_)|0)|0;f[z>>2]=ba;f[A>>2]=ba+(0-_)+_;_=f[c>>2]|0;ba=_+(M*56|0)|0;if((ba|0)!=(g|0)){Y=f[v>>2]|0;if(Y|0){aa=Y+12|0;f[aa>>2]=(f[aa>>2]|0)+1}aa=_+(M*56|0)+36|0;Y=f[aa>>2]|0;if(Y|0?(W=Y+12|0,Y=f[W>>2]|0,f[W>>2]=Y+-1,(Y|0)==1):0)XO(ba);f[aa>>2]=0;Y=_+(M*56|0)+16|0;W=_+(M*56|0)+4|0;f[Y>>2]=0;f[Y+4>>2]=0;f[Y+8>>2]=0;f[Y+12>>2]=0;if((f[W>>2]|0)>0){$=f[_+(M*56|0)+40>>2]|0;K=0;do{f[$+(K<<2)>>2]=0;K=K+1|0;oa=f[W>>2]|0}while((K|0)<(oa|0));f[ba>>2]=f[g>>2];if((oa|0)<3)da=111;else da=113}else{f[ba>>2]=f[g>>2];da=111}if((da|0)==111){da=0;K=f[s>>2]|0;if((K|0)<3){f[W>>2]=K;f[_+(M*56|0)+8>>2]=f[I>>2];f[_+(M*56|0)+12>>2]=f[H>>2];K=f[o>>2]|0;$=f[_+(M*56|0)+44>>2]|0;f[$>>2]=f[K>>2];f[$+4>>2]=f[K+4>>2]}else da=113}if((da|0)==113){da=0;WO(ba,g)}f[Y>>2]=f[r>>2];f[_+(M*56|0)+20>>2]=f[B>>2];f[_+(M*56|0)+24>>2]=f[A>>2];f[_+(M*56|0)+28>>2]=f[z>>2];f[_+(M*56|0)+32>>2]=f[C>>2];f[aa>>2]=f[v>>2]}K=f[v>>2]|0;if(K|0?($=K+12|0,K=f[$>>2]|0,f[$>>2]=K+-1,(K|0)==1):0)XO(g);f[v>>2]=0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;if((f[s>>2]|0)>0){K=f[w>>2]|0;$=0;do{f[K+($<<2)>>2]=0;$=$+1|0}while(($|0)<(f[s>>2]|0))}$=f[o>>2]|0;if(($|0)!=(n|0))dX($);M=M+1|0}while(M>>>0

>>0);u=d;return}case 0:{p=f[c>>2]|0;M=c+4|0;n=f[M>>2]|0;if((n|0)==(p|0)){u=d;return}else pa=n;do{n=pa+-56|0;f[M>>2]=n;o=pa+-20|0;s=f[o>>2]|0;if(s|0?(w=s+12|0,s=f[w>>2]|0,f[w>>2]=s+-1,(s|0)==1):0)XO(n);f[o>>2]=0;o=pa+-40|0;n=pa+-52|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;if((f[n>>2]|0)>0){o=f[pa+-16>>2]|0;s=0;do{f[o+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[n>>2]|0))}n=f[pa+-12>>2]|0;if((n|0)!=(pa+-8|0))dX(n);pa=f[M>>2]|0}while((pa|0)!=(p|0));u=d;return}case 4:{p=f[a+4>>2]|0;M=(f[p+4>>2]|0)-(f[p>>2]|0)|0;n=(M|0)/12|0;KJ(c,n);if((M|0)<=0){u=d;return}M=l&4095|1124007936;s=g+4|0;o=g+8|0;w=k+4|0;r=g+12|0;v=g+16|0;C=g+20|0;z=g+24|0;A=g+28|0;B=g+40|0;H=g+48|0;I=g+44|0;y=g+52|0;G=e+4|0;x=(l>>>3&511)+1<<(47696>>>(l<<1&14)&3);t=g+36|0;E=g+32|0;q=0;do{F=f[p>>2]|0;FJ(k,a,q);J=f[F+(q*12|0)>>2]|0;f[g>>2]=M;f[s>>2]=2;F=f[w>>2]|0;f[o>>2]=F;$=f[k>>2]|0;f[r>>2]=$;f[v>>2]=J;f[C>>2]=J;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;f[B>>2]=o;f[I>>2]=H;f[y>>2]=0;f[H>>2]=0;if((J|0)==0&(X($,F)|0)!=0){f[e>>2]=0;f[G>>2]=0;P=JV(e,26)|0;Q=346743;R=P+26|0;do{b[P>>0]=b[Q>>0]|0;P=P+1|0;Q=Q+1|0}while((P|0)<(R|0));EP(-215,e,346770,346774,533);KV(e);qa=f[r>>2]|0;ra=f[g>>2]|0;sa=f[I>>2]|0;ta=f[C>>2]|0}else{qa=$;ra=M;sa=H;ta=J}F=X(qa,x)|0;f[g>>2]=ra|16384;f[sa>>2]=F;f[sa+4>>2]=x;K=ta+(X(f[o>>2]|0,F)|0)|0;f[A>>2]=K;f[z>>2]=K+(0-F)+F;F=f[c>>2]|0;K=F+(q*56|0)|0;if((K|0)!=(g|0)){aa=f[t>>2]|0;if(aa|0){_=aa+12|0;f[_>>2]=(f[_>>2]|0)+1}_=F+(q*56|0)+36|0;aa=f[_>>2]|0;if(aa|0?(Y=aa+12|0,aa=f[Y>>2]|0,f[Y>>2]=aa+-1,(aa|0)==1):0)XO(K);f[_>>2]=0;aa=F+(q*56|0)+16|0;Y=F+(q*56|0)+4|0;f[aa>>2]=0;f[aa+4>>2]=0;f[aa+8>>2]=0;f[aa+12>>2]=0;if((f[Y>>2]|0)>0){ba=f[F+(q*56|0)+40>>2]|0;W=0;do{f[ba+(W<<2)>>2]=0;W=W+1|0;ua=f[Y>>2]|0}while((W|0)<(ua|0));f[K>>2]=f[g>>2];if((ua|0)<3)da=149;else da=151}else{f[K>>2]=f[g>>2];da=149}if((da|0)==149){da=0;W=f[s>>2]|0;if((W|0)<3){f[Y>>2]=W;f[F+(q*56|0)+8>>2]=f[o>>2];f[F+(q*56|0)+12>>2]=f[r>>2];W=f[I>>2]|0;ba=f[F+(q*56|0)+44>>2]|0;f[ba>>2]=f[W>>2];f[ba+4>>2]=f[W+4>>2]}else da=151}if((da|0)==151){da=0;WO(K,g)}f[aa>>2]=f[v>>2];f[F+(q*56|0)+20>>2]=f[C>>2];f[F+(q*56|0)+24>>2]=f[z>>2];f[F+(q*56|0)+28>>2]=f[A>>2];f[F+(q*56|0)+32>>2]=f[E>>2];f[_>>2]=f[t>>2]}W=f[t>>2]|0;if(W|0?(ba=W+12|0,W=f[ba>>2]|0,f[ba>>2]=W+-1,(W|0)==1):0)XO(g);f[t>>2]=0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;if((f[s>>2]|0)>0){W=f[B>>2]|0;ba=0;do{f[W+(ba<<2)>>2]=0;ba=ba+1|0}while((ba|0)<(f[s>>2]|0))}ba=f[I>>2]|0;if((ba|0)!=(H|0))dX(ba);q=q+1|0}while((q|0)<(n|0));u=d;return}case 5:{n=f[a+4>>2]|0;q=(f[n+4>>2]|0)-(f[n>>2]|0)|0;H=(q|0)/56|0;KJ(c,H);if(!q){u=d;return}q=0;do{I=f[n>>2]|0;s=I+(q*56|0)|0;B=f[c>>2]|0;v=B+(q*56|0)|0;if((B|0)!=(I|0)){t=I+(q*56|0)+36|0;E=f[t>>2]|0;if(E|0){A=E+12|0;f[A>>2]=(f[A>>2]|0)+1}A=B+(q*56|0)+36|0;E=f[A>>2]|0;if(E|0?(z=E+12|0,E=f[z>>2]|0,f[z>>2]=E+-1,(E|0)==1):0)XO(v);f[A>>2]=0;E=B+(q*56|0)+16|0;z=B+(q*56|0)+4|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;if((f[z>>2]|0)>0){C=f[B+(q*56|0)+40>>2]|0;r=0;do{f[C+(r<<2)>>2]=0;r=r+1|0;va=f[z>>2]|0}while((r|0)<(va|0));f[v>>2]=f[s>>2];if((va|0)<3)da=175;else da=177}else{f[v>>2]=f[s>>2];da=175}if((da|0)==175){da=0;r=f[I+(q*56|0)+4>>2]|0;if((r|0)<3){f[z>>2]=r;f[B+(q*56|0)+8>>2]=f[I+(q*56|0)+8>>2];f[B+(q*56|0)+12>>2]=f[I+(q*56|0)+12>>2];r=f[I+(q*56|0)+44>>2]|0;C=f[B+(q*56|0)+44>>2]|0;f[C>>2]=f[r>>2];f[C+4>>2]=f[r+4>>2]}else da=177}if((da|0)==177){da=0;WO(v,s)}f[E>>2]=f[I+(q*56|0)+16>>2];f[B+(q*56|0)+20>>2]=f[I+(q*56|0)+20>>2];f[B+(q*56|0)+24>>2]=f[I+(q*56|0)+24>>2];f[B+(q*56|0)+28>>2]=f[I+(q*56|0)+28>>2];f[B+(q*56|0)+32>>2]=f[I+(q*56|0)+32>>2];f[A>>2]=f[t>>2]}q=q+1|0}while(q>>>0>>0);u=d;return}case 15:{H=f[a+4>>2]|0;q=f[a+12>>2]|0;KJ(c,q);if(!q){u=d;return}n=0;do{r=H+(n*56|0)|0;C=f[c>>2]|0;o=C+(n*56|0)|0;if((C|0)!=(H|0)){x=H+(n*56|0)+36|0;M=f[x>>2]|0;if(M|0){G=M+12|0;f[G>>2]=(f[G>>2]|0)+1}G=C+(n*56|0)+36|0;M=f[G>>2]|0;if(M|0?(y=M+12|0,M=f[y>>2]|0,f[y>>2]=M+-1,(M|0)==1):0)XO(o);f[G>>2]=0;M=C+(n*56|0)+16|0;y=C+(n*56|0)+4|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;if((f[y>>2]|0)>0){w=f[C+(n*56|0)+40>>2]|0;p=0;do{f[w+(p<<2)>>2]=0;p=p+1|0;wa=f[y>>2]|0}while((p|0)<(wa|0));f[o>>2]=f[r>>2];if((wa|0)<3)da=193;else da=195}else{f[o>>2]=f[r>>2];da=193}if((da|0)==193){da=0;p=f[H+(n*56|0)+4>>2]|0;if((p|0)<3){f[y>>2]=p;f[C+(n*56|0)+8>>2]=f[H+(n*56|0)+8>>2];f[C+(n*56|0)+12>>2]=f[H+(n*56|0)+12>>2];p=f[H+(n*56|0)+44>>2]|0;w=f[C+(n*56|0)+44>>2]|0;f[w>>2]=f[p>>2];f[w+4>>2]=f[p+4>>2]}else da=195}if((da|0)==195){da=0;WO(o,r)}f[M>>2]=f[H+(n*56|0)+16>>2];f[C+(n*56|0)+20>>2]=f[H+(n*56|0)+20>>2];f[C+(n*56|0)+24>>2]=f[H+(n*56|0)+24>>2];f[C+(n*56|0)+28>>2]=f[H+(n*56|0)+28>>2];f[C+(n*56|0)+32>>2]=f[H+(n*56|0)+32>>2];f[G>>2]=f[x>>2]}n=n+1|0}while((n|0)!=(q|0));u=d;return}case 11:{q=f[a+4>>2]|0;n=(f[q+4>>2]|0)-(f[q>>2]|0)|0;H=(n|0)/48|0;KJ(c,H);if(!n){u=d;return}n=e+36|0;p=e+16|0;w=e+4|0;t=e+40|0;A=e+44|0;I=e+48|0;B=e+8|0;E=e+12|0;s=e+20|0;v=e+24|0;z=e+28|0;ba=e+32|0;W=0;do{BN(e,(f[q>>2]|0)+(W*48|0)|0,m);_=f[c>>2]|0;F=_+(W*56|0)|0;if((F|0)!=(e|0)){aa=f[n>>2]|0;if(aa|0){K=aa+12|0;f[K>>2]=(f[K>>2]|0)+1}K=_+(W*56|0)+36|0;aa=f[K>>2]|0;if(aa|0?(Y=aa+12|0,aa=f[Y>>2]|0,f[Y>>2]=aa+-1,(aa|0)==1):0)XO(F);f[K>>2]=0;aa=_+(W*56|0)+16|0;Y=_+(W*56|0)+4|0;f[aa>>2]=0;f[aa+4>>2]=0;f[aa+8>>2]=0;f[aa+12>>2]=0;if((f[Y>>2]|0)>0){J=f[_+(W*56|0)+40>>2]|0;$=0;do{f[J+($<<2)>>2]=0;$=$+1|0;xa=f[Y>>2]|0}while(($|0)<(xa|0));f[F>>2]=f[e>>2];if((xa|0)<3)da=211;else da=213}else{f[F>>2]=f[e>>2];da=211}if((da|0)==211){da=0;$=f[w>>2]|0;if(($|0)<3){f[Y>>2]=$;f[_+(W*56|0)+8>>2]=f[B>>2];f[_+(W*56|0)+12>>2]=f[E>>2];$=f[A>>2]|0;J=f[_+(W*56|0)+44>>2]|0;f[J>>2]=f[$>>2];f[J+4>>2]=f[$+4>>2]}else da=213}if((da|0)==213){da=0;WO(F,e)}f[aa>>2]=f[p>>2];f[_+(W*56|0)+20>>2]=f[s>>2];f[_+(W*56|0)+24>>2]=f[v>>2];f[_+(W*56|0)+28>>2]=f[z>>2];f[_+(W*56|0)+32>>2]=f[ba>>2];f[K>>2]=f[n>>2]}$=f[n>>2]|0;if($|0?(J=$+12|0,$=f[J>>2]|0,f[J>>2]=$+-1,($|0)==1):0)XO(e);f[n>>2]=0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;if((f[w>>2]|0)>0){$=f[t>>2]|0;J=0;do{f[$+(J<<2)>>2]=0;J=J+1|0}while((J|0)<(f[w>>2]|0))}J=f[A>>2]|0;if((J|0)!=(I|0))dX(J);W=W+1|0}while(W>>>0>>0);u=d;return}default:{f[e>>2]=0;f[e+4>>2]=0;P=JV(e,30)|0;Q=150980;R=P+30|0;do{b[P>>0]=b[Q>>0]|0;P=P+1|0;Q=Q+1|0}while((P|0)<(R|0));EP(-213,e,151070,150696,273);KV(e);u=d;return}}while(0)}function KJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=(d-e|0)/56|0;h=d;if(g>>>0>>0){LJ(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b*56|0)|0;if((g|0)==(h|0))return;else i=h;do{h=i+-56|0;f[c>>2]=h;b=i+-20|0;e=f[b>>2]|0;if(e|0?(a=e+12|0,e=f[a>>2]|0,f[a>>2]=e+-1,(e|0)==1):0)XO(h);f[b>>2]=0;b=i+-40|0;h=i+-52|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[h>>2]|0)>0){b=f[i+-16>>2]|0;e=0;do{f[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(f[h>>2]|0))}h=f[i+-12>>2]|0;if((h|0)!=(i+-8|0))dX(h);i=f[c>>2]|0}while((i|0)!=(g|0));return}function LJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+32|0;d=c;e=f[a+8>>2]|0;g=a+4|0;h=f[g>>2]|0;if(((e-h|0)/56|0)>>>0>=b>>>0){i=b;j=h;do{f[j>>2]=1124007936;k=j+8|0;l=j+40|0;m=j+4|0;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[l>>2]=k;o=j+48|0;f[j+44>>2]=o;f[o>>2]=0;f[j+52>>2]=0;j=(f[g>>2]|0)+56|0;f[g>>2]=j;i=i+-1|0}while((i|0)!=0);u=c;return}i=f[a>>2]|0;j=(h-i|0)/56|0;h=j+b|0;if(h>>>0>76695844)ZOa(a);g=(e-i|0)/56|0;i=g<<1;e=g>>>0<38347922?(i>>>0>>0?h:i):76695844;f[d+12>>2]=0;f[d+16>>2]=a+8;do if(e)if(e>>>0>76695844){i=hd(8)|0;LQa(i,349912);f[i>>2]=118288;ld(i|0,20688,857)}else{p=EQa(e*56|0)|0;break}else p=0;while(0);f[d>>2]=p;i=p+(j*56|0)|0;j=d+8|0;f[j>>2]=i;f[d+4>>2]=i;f[d+12>>2]=p+(e*56|0);e=b;b=i;while(1){f[b>>2]=1124007936;i=b+8|0;g=b+40|0;m=b+4|0;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[g>>2]=i;k=b+48|0;f[b+44>>2]=k;f[k>>2]=0;f[b+52>>2]=0;e=e+-1|0;if(!e)break;else b=b+56|0}f[j>>2]=p+(h*56|0);Ms(a,d);Ns(d);u=c;return}function MJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(((d-g|0)/48|0)>>>0>=b>>>0){h=b;i=g;do{f[i>>2]=1124007936;j=i+4|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[j+24>>2]=0;f[i+32>>2]=i+8;j=i+40|0;f[i+36>>2]=j;f[i+44>>2]=0;f[j>>2]=0;i=(f[e>>2]|0)+48|0;f[e>>2]=i;h=h+-1|0}while((h|0)!=0);return}h=f[a>>2]|0;i=(g-h|0)/48|0;g=i+b|0;if(g>>>0>89478485)ZOa(a);j=(d-h|0)/48|0;h=j<<1;d=j>>>0<44739242?(h>>>0>>0?g:h):89478485;do if(d)if(d>>>0>89478485){h=hd(8)|0;LQa(h,349912);f[h>>2]=118288;ld(h|0,20688,857)}else{k=EQa(d*48|0)|0;break}else k=0;while(0);h=k+(i*48|0)|0;i=h;g=k+(d*48|0)|0;d=b;b=i;k=h;do{f[k>>2]=1124007936;j=k+4|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[j+24>>2]=0;f[k+32>>2]=k+8;j=k+40|0;f[k+36>>2]=j;f[k+44>>2]=0;f[j>>2]=0;k=b+48|0;b=k;d=d+-1|0}while((d|0)!=0);d=g;g=f[a>>2]|0;k=f[e>>2]|0;if((k|0)==(g|0)){l=i;m=g;n=k}else{j=k;k=i;i=h;do{h=i+-48|0;o=j;j=j+-48|0;f[h>>2]=f[j>>2];p=i+-44|0;q=o+-44|0;f[p>>2]=f[q>>2];r=i+-40|0;f[r>>2]=f[o+-40>>2];f[i+-36>>2]=f[o+-36>>2];f[i+-32>>2]=f[o+-32>>2];f[i+-28>>2]=f[o+-28>>2];s=f[o+-24>>2]|0;f[i+-24>>2]=s;f[i+-20>>2]=f[o+-20>>2];f[i+-16>>2]=r;r=i+-8|0;t=i+-12|0;f[t>>2]=r;f[i+-4>>2]=0;f[r>>2]=0;if(s|0){r=s+8|0;f[r>>2]=(f[r>>2]|0)+1}if((f[q>>2]|0)<3){q=f[o+-12>>2]|0;o=f[t>>2]|0;f[o>>2]=f[q>>2];f[o+4>>2]=f[q+4>>2]}else{f[p>>2]=0;sN(h,j)}i=k+-48|0;k=i}while((j|0)!=(g|0));l=k;m=f[a>>2]|0;n=f[e>>2]|0}f[a>>2]=l;f[e>>2]=b;f[c>>2]=d;d=m;c=n;while(1){n=c;if((n|0)==(d|0))break;b=n+-48|0;tN(b);c=b}if(!m)return;GQa(m);return}function NJ(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;FJ(d,a,b);u=c;return f[d+4>>2]|0}function OJ(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;FJ(d,a,b);u=c;return f[d>>2]|0}function PJ(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=u;u=u+16|0;g=e;h=f[a>>2]&2031616;i=h&2097151;a:do if((i|0)>=65536)if((i|0)<655360){switch(i|0){case 65536:break;default:break a}if((d|0)>=0){f[g>>2]=0;f[g+4>>2]=0;j=JV(g,5)|0;b[j>>0]=b[150682]|0;b[j+1>>0]=b[150683]|0;b[j+2>>0]=b[150684]|0;b[j+3>>0]=b[150685]|0;b[j+4>>0]=b[150686]|0;EP(-215,g,151083,150696,530);KV(g)}j=f[a+4>>2]|0;k=f[j+4>>2]|0;if(!((c|0)!=0&(k|0)>0)){l=k;u=e;return l|0}m=f[j+40>>2]|0;j=0;do{f[c+(j<<2)>>2]=f[m+(j<<2)>>2];j=j+1|0}while((j|0)!=(k|0));l=k;u=e;return l|0}else{switch(i|0){case 655360:break;default:break a}if((d|0)>=0){f[g>>2]=0;f[g+4>>2]=0;k=JV(g,5)|0;b[k>>0]=b[150682]|0;b[k+1>>0]=b[150683]|0;b[k+2>>0]=b[150684]|0;b[k+3>>0]=b[150685]|0;b[k+4>>0]=b[150686]|0;EP(-215,g,151083,150696,539);KV(g)}k=f[a+4>>2]|0;j=f[k+4>>2]|0;if(!((c|0)!=0&(j|0)>0)){l=j;u=e;return l|0}m=f[k+32>>2]|0;k=0;do{f[c+(k<<2)>>2]=f[m+(k<<2)>>2];k=k+1|0}while((k|0)!=(j|0));l=j;u=e;return l|0}else{switch(i|0){case 0:{l=0;break}default:break a}u=e;return l|0}while(0);i=(d|0)>-1;if(i&(h|0)==327680){j=f[a+4>>2]|0;k=f[j>>2]|0;if((((f[j+4>>2]|0)-k|0)/56|0|0)>(d|0))n=k;else{f[g>>2]=0;f[g+4>>2]=0;o=JV(g,18)|0;p=151037;q=o+18|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));EP(-215,g,151083,150696,549);KV(g);n=f[j>>2]|0}j=f[n+(d*56|0)+4>>2]|0;if(!((c|0)!=0&(j|0)>0)){l=j;u=e;return l|0}k=f[n+(d*56|0)+40>>2]|0;n=0;do{f[c+(n<<2)>>2]=f[k+(n<<2)>>2];n=n+1|0}while((n|0)!=(j|0));l=j;u=e;return l|0}if(i&(h|0)==983040){j=f[a+4>>2]|0;if((f[a+12>>2]|0)<=(d|0)){f[g>>2]=0;f[g+4>>2]=0;o=JV(g,13)|0;p=151056;q=o+13|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));EP(-215,g,151083,150696,559);KV(g)}n=f[j+(d*56|0)+4>>2]|0;if(!((c|0)!=0&(n|0)>0)){l=n;u=e;return l|0}k=f[j+(d*56|0)+40>>2]|0;j=0;do{f[c+(j<<2)>>2]=f[k+(j<<2)>>2];j=j+1|0}while((j|0)!=(n|0));l=n;u=e;return l|0}if(!(i&(h|0)==720896)){FJ(g,a,d);if(c|0){f[c>>2]=f[g+4>>2];f[c+4>>2]=f[g>>2]}l=2;u=e;return l|0}h=f[a+4>>2]|0;a=f[h>>2]|0;if((((f[h+4>>2]|0)-a|0)/48|0|0)>(d|0))r=a;else{f[g>>2]=0;f[g+4>>2]=0;o=JV(g,18)|0;p=151037;q=o+18|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));EP(-215,g,151083,150696,569);KV(g);r=f[h>>2]|0}h=f[r+(d*48|0)+4>>2]|0;if(!((c|0)!=0&(h|0)>0)){l=h;u=e;return l|0}g=f[r+(d*48|0)+32>>2]|0;d=0;do{f[c+(d<<2)>>2]=f[g+(d<<2)>>2];d=d+1|0}while((d|0)!=(h|0));l=h;u=e;return l|0}function QJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;c=u;u=u+16|0;d=c;e=f[b>>2]&2031616;g=f[a>>2]&2031616;a:do if((g|0)<655360){switch(g|0){case 65536:break;default:{h=36;break a}}i=f[a+4>>2]|0;j=e&2097151;b:do if((j|0)<655360){switch(j|0){case 65536:break;default:break b}k=f[i+40>>2]|0;l=f[k+-4>>2]|0;m=f[(f[b+4>>2]|0)+40>>2]|0;if((l|0)!=(f[m+-4>>2]|0)){n=0;break a}if((l|0)==2){if((f[k>>2]|0)!=(f[m>>2]|0)){n=0;break a}n=(f[k+4>>2]|0)==(f[m+4>>2]|0);break a}if((l|0)>0)o=0;else{n=1;break a}while(1){if((f[k+(o<<2)>>2]|0)!=(f[m+(o<<2)>>2]|0)){n=0;break a}o=o+1|0;if((o|0)>=(l|0)){n=1;break a}}}else{switch(j|0){case 655360:break;default:break b}l=f[i+40>>2]|0;m=f[l+-4>>2]|0;k=f[(f[b+4>>2]|0)+32>>2]|0;if((m|0)!=(f[k+-4>>2]|0)){n=0;break a}if((m|0)==2){if((f[l>>2]|0)!=(f[k>>2]|0)){n=0;break a}n=(f[l+4>>2]|0)==(f[k+4>>2]|0);break a}if((m|0)>0)p=0;else{n=1;break a}while(1){if((f[l+(p<<2)>>2]|0)!=(f[k+(p<<2)>>2]|0)){n=0;break a}p=p+1|0;if((p|0)>=(m|0)){n=1;break a}}}while(0);if((f[i+4>>2]|0)>2)n=0;else{j=f[i+40>>2]|0;q=f[j+4>>2]|0;r=f[j>>2]|0;h=37}}else{switch(g|0){case 655360:break;default:{h=36;break a}}j=f[a+4>>2]|0;m=e&2097151;c:do if((m|0)<655360){switch(m|0){case 65536:break;default:break c}k=f[j+32>>2]|0;l=f[k+-4>>2]|0;s=f[(f[b+4>>2]|0)+40>>2]|0;if((l|0)!=(f[s+-4>>2]|0)){n=0;break a}if((l|0)==2){if((f[k>>2]|0)!=(f[s>>2]|0)){n=0;break a}n=(f[k+4>>2]|0)==(f[s+4>>2]|0);break a}if((l|0)>0)t=0;else{n=1;break a}while(1){if((f[k+(t<<2)>>2]|0)!=(f[s+(t<<2)>>2]|0)){n=0;break a}t=t+1|0;if((t|0)>=(l|0)){n=1;break a}}}else{switch(m|0){case 655360:break;default:break c}l=f[j+32>>2]|0;s=f[l+-4>>2]|0;k=f[(f[b+4>>2]|0)+32>>2]|0;if((s|0)!=(f[k+-4>>2]|0)){n=0;break a}if((s|0)==2){if((f[l>>2]|0)!=(f[k>>2]|0)){n=0;break a}n=(f[l+4>>2]|0)==(f[k+4>>2]|0);break a}if((s|0)>0)v=0;else{n=1;break a}while(1){if((f[l+(v<<2)>>2]|0)!=(f[k+(v<<2)>>2]|0)){n=0;break a}v=v+1|0;if((v|0)>=(s|0)){n=1;break a}}}while(0);if((f[j+4>>2]|0)>2)n=0;else{m=f[j+32>>2]|0;q=f[m+4>>2]|0;r=f[m>>2]|0;h=37}}while(0);if((h|0)==36){FJ(d,a,-1);q=f[d>>2]|0;r=f[d+4>>2]|0;h=37}if((h|0)==37)if((RJ(b,-1)|0)>2)n=0;else{FJ(d,b,-1);n=(f[d>>2]|0)==(q|0)?(f[d+4>>2]|0)==(r|0):0}u=c;return n|0}function RJ(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+16|0;e=d;do switch((f[a>>2]|0)>>>16&31){case 1:{if((c|0)>=0){f[e>>2]=0;f[e+4>>2]=0;g=JV(e,5)|0;b[g>>0]=b[150682]|0;b[g+1>>0]=b[150683]|0;b[g+2>>0]=b[150684]|0;b[g+3>>0]=b[150685]|0;b[g+4>>0]=b[150686]|0;EP(-215,e,151090,150696,630);KV(e)}h=f[(f[a+4>>2]|0)+4>>2]|0;u=d;return h|0}case 6:{if((c|0)>=0){f[e>>2]=0;f[e+4>>2]=0;g=JV(e,5)|0;b[g>>0]=b[150682]|0;b[g+1>>0]=b[150683]|0;b[g+2>>0]=b[150684]|0;b[g+3>>0]=b[150685]|0;b[g+4>>0]=b[150686]|0;EP(-215,e,151090,150696,636);KV(e)}h=f[(f[a+4>>2]|0)+12>>2]|0;u=d;return h|0}case 10:{if((c|0)>=0){f[e>>2]=0;f[e+4>>2]=0;g=JV(e,5)|0;b[g>>0]=b[150682]|0;b[g+1>>0]=b[150683]|0;b[g+2>>0]=b[150684]|0;b[g+3>>0]=b[150685]|0;b[g+4>>0]=b[150686]|0;EP(-215,e,151090,150696,642);KV(e)}h=f[(f[a+4>>2]|0)+4>>2]|0;u=d;return h|0}case 2:case 14:{if((c|0)<0){h=2;u=d;return h|0}f[e>>2]=0;f[e+4>>2]=0;g=JV(e,5)|0;b[g>>0]=b[150682]|0;b[g+1>>0]=b[150683]|0;b[g+2>>0]=b[150684]|0;b[g+3>>0]=b[150685]|0;b[g+4>>0]=b[150686]|0;EP(-215,e,151090,150696,648);KV(e);h=2;u=d;return h|0}case 3:case 12:{if((c|0)<0){h=2;u=d;return h|0}f[e>>2]=0;f[e+4>>2]=0;g=JV(e,5)|0;b[g>>0]=b[150682]|0;b[g+1>>0]=b[150683]|0;b[g+2>>0]=b[150684]|0;b[g+3>>0]=b[150685]|0;b[g+4>>0]=b[150686]|0;EP(-215,e,151090,150696,654);KV(e);h=2;u=d;return h|0}case 4:{if((c|0)<0){h=1;u=d;return h|0}g=f[a+4>>2]|0;if((((f[g+4>>2]|0)-(f[g>>2]|0)|0)/12|0|0)>(c|0)){h=2;u=d;return h|0}f[e>>2]=0;f[e+4>>2]=0;i=JV(e,18)|0;j=151037;k=i+18|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-215,e,151090,150696,666);KV(e);h=2;u=d;return h|0}case 5:{g=f[a+4>>2]|0;if((c|0)<0){h=1;u=d;return h|0}l=f[g>>2]|0;if((((f[g+4>>2]|0)-l|0)/56|0|0)>(c|0))m=l;else{f[e>>2]=0;f[e+4>>2]=0;i=JV(e,18)|0;j=151037;k=i+18|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-215,e,151090,150696,675);KV(e);m=f[g>>2]|0}h=f[m+(c*56|0)+4>>2]|0;u=d;return h|0}case 15:{l=f[a+4>>2]|0;if((c|0)<0){h=1;u=d;return h|0}if((f[a+12>>2]|0)<=(c|0)){f[e>>2]=0;f[e+4>>2]=0;i=JV(e,13)|0;j=151056;k=i+13|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-215,e,151090,150696,685);KV(e)}h=f[l+(c*56|0)+4>>2]|0;u=d;return h|0}case 11:{g=f[a+4>>2]|0;if((c|0)<0){h=1;u=d;return h|0}n=f[g>>2]|0;if((((f[g+4>>2]|0)-n|0)/48|0|0)>(c|0))o=n;else{f[e>>2]=0;f[e+4>>2]=0;i=JV(e,18)|0;j=151037;k=i+18|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-215,e,151090,150696,695);KV(e);o=f[g>>2]|0}h=f[o+(c*48|0)+4>>2]|0;u=d;return h|0}case 7:{if((c|0)<0){h=2;u=d;return h|0}f[e>>2]=0;f[e+4>>2]=0;l=JV(e,5)|0;b[l>>0]=b[150682]|0;b[l+1>>0]=b[150683]|0;b[l+2>>0]=b[150684]|0;b[l+3>>0]=b[150685]|0;b[l+4>>0]=b[150686]|0;EP(-215,e,151090,150696,702);KV(e);h=2;u=d;return h|0}case 9:{if((c|0)<0){h=2;u=d;return h|0}f[e>>2]=0;f[e+4>>2]=0;l=JV(e,5)|0;b[l>>0]=b[150682]|0;b[l+1>>0]=b[150683]|0;b[l+2>>0]=b[150684]|0;b[l+3>>0]=b[150685]|0;b[l+4>>0]=b[150686]|0;EP(-215,e,151090,150696,708);KV(e);h=2;u=d;return h|0}case 8:{if((c|0)<0){h=2;u=d;return h|0}f[e>>2]=0;f[e+4>>2]=0;l=JV(e,5)|0;b[l>>0]=b[150682]|0;b[l+1>>0]=b[150683]|0;b[l+2>>0]=b[150684]|0;b[l+3>>0]=b[150685]|0;b[l+4>>0]=b[150686]|0;EP(-215,e,151090,150696,714);KV(e);h=2;u=d;return h|0}case 0:{h=0;u=d;return h|0}default:{f[e>>2]=0;f[e+4>>2]=0;i=JV(e,30)|0;j=150980;k=i+30|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-213,e,151090,150696,718);KV(e);h=0;u=d;return h|0}}while(0);return 0}function SJ(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+16|0;e=d+8|0;g=d;h=f[a>>2]&2031616;a:do if((h|0)>=655360){if((h|0)<720896){switch(h|0){case 655360:break;default:break a}if((c|0)>=0){f[e>>2]=0;f[e+4>>2]=0;i=JV(e,5)|0;b[i>>0]=b[150682]|0;b[i+1>>0]=b[150683]|0;b[i+2>>0]=b[150684]|0;b[i+3>>0]=b[150685]|0;b[i+4>>0]=b[150686]|0;EP(-215,e,151095,150696,734);KV(e)}i=f[a+4>>2]|0;j=f[i+4>>2]|0;if((j|0)<3){k=X(f[i+12>>2]|0,f[i+8>>2]|0)|0;u=d;return k|0}l=f[i+32>>2]|0;i=0;m=1;while(1){n=X(f[l+(i<<2)>>2]|0,m)|0;i=i+1|0;if((i|0)==(j|0)){k=n;break}else m=n}u=d;return k|0}if((h|0)<983040){switch(h|0){case 720896:break;default:break a}m=f[a+4>>2]|0;j=f[m>>2]|0;i=((f[m+4>>2]|0)-j|0)/48|0;if((c|0)<0){k=i;u=d;return k|0}if((i|0)>(c|0))o=j;else{f[e>>2]=0;f[e+4>>2]=0;p=JV(e,18)|0;q=151037;r=p+18|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));EP(-215,e,151095,150696,764);KV(e);o=f[m>>2]|0}j=f[o+(c*48|0)+4>>2]|0;if((j|0)<3){k=X(f[o+(c*48|0)+12>>2]|0,f[o+(c*48|0)+8>>2]|0)|0;u=d;return k|0}i=f[o+(c*48|0)+32>>2]|0;l=0;n=1;while(1){s=X(f[i+(l<<2)>>2]|0,n)|0;l=l+1|0;if((l|0)==(j|0)){k=s;break}else n=s}u=d;return k|0}else{switch(h|0){case 983040:break;default:break a}n=f[a+4>>2]|0;j=f[a+12>>2]|0;if((c|0)<0){k=j;u=d;return k|0}if((j|0)<=(c|0)){f[e>>2]=0;f[e+4>>2]=0;p=JV(e,13)|0;q=151056;r=p+13|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));EP(-215,e,151095,150696,754);KV(e)}j=f[n+(c*56|0)+4>>2]|0;if((j|0)<3){k=X(f[n+(c*56|0)+12>>2]|0,f[n+(c*56|0)+8>>2]|0)|0;u=d;return k|0}l=f[n+(c*56|0)+40>>2]|0;i=0;m=1;while(1){s=X(f[l+(i<<2)>>2]|0,m)|0;i=i+1|0;if((i|0)==(j|0)){k=s;break}else m=s}u=d;return k|0}}else{if((h|0)<327680){switch(h|0){case 65536:break;default:break a}if((c|0)>=0){f[e>>2]=0;f[e+4>>2]=0;m=JV(e,5)|0;b[m>>0]=b[150682]|0;b[m+1>>0]=b[150683]|0;b[m+2>>0]=b[150684]|0;b[m+3>>0]=b[150685]|0;b[m+4>>0]=b[150686]|0;EP(-215,e,151095,150696,728);KV(e)}m=f[a+4>>2]|0;j=f[m+4>>2]|0;if((j|0)<3){k=X(f[m+12>>2]|0,f[m+8>>2]|0)|0;u=d;return k|0}i=f[m+40>>2]|0;m=0;l=1;while(1){n=X(f[i+(m<<2)>>2]|0,l)|0;m=m+1|0;if((m|0)==(j|0)){k=n;break}else l=n}u=d;return k|0}switch(h|0){case 327680:break;default:break a}l=f[a+4>>2]|0;j=f[l>>2]|0;m=((f[l+4>>2]|0)-j|0)/56|0;if((c|0)<0){k=m;u=d;return k|0}if((m|0)>(c|0))t=j;else{f[e>>2]=0;f[e+4>>2]=0;p=JV(e,18)|0;q=151037;r=p+18|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));EP(-215,e,151095,150696,744);KV(e);t=f[l>>2]|0}j=f[t+(c*56|0)+4>>2]|0;if((j|0)<3){k=X(f[t+(c*56|0)+12>>2]|0,f[t+(c*56|0)+8>>2]|0)|0;u=d;return k|0}m=f[t+(c*56|0)+40>>2]|0;i=0;n=1;while(1){s=X(f[m+(i<<2)>>2]|0,n)|0;i=i+1|0;if((i|0)==(j|0)){k=s;break}else n=s}u=d;return k|0}while(0);FJ(g,a,c);k=X(f[g+4>>2]|0,f[g>>2]|0)|0;u=d;return k|0}function TJ(a,b){a=a|0;b=b|0;return (GJ(a,b)|0)&7|0}function UJ(a,b){a=a|0;b=b|0;return ((GJ(a,b)|0)>>>3&511)+1|0}function VJ(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=u;u=u+16|0;d=c;do switch((f[a>>2]|0)>>>16&31){case 1:{e=f[a+4>>2]|0;if(!(f[e+16>>2]|0)){g=1;u=c;return g|0}h=f[e+4>>2]|0;if((h|0)<3)i=X(f[e+12>>2]|0,f[e+8>>2]|0)|0;else{j=f[e+40>>2]|0;e=0;k=1;while(1){l=X(f[j+(e<<2)>>2]|0,k)|0;e=e+1|0;if((e|0)==(h|0)){i=l;break}else k=l}}g=(h|0)==0|(i|0)==0;u=c;return g|0}case 10:{k=f[a+4>>2]|0;if(!(f[k+24>>2]|0)){g=1;u=c;return g|0}e=f[k+4>>2]|0;if((e|0)<3)m=X(f[k+12>>2]|0,f[k+8>>2]|0)|0;else{j=f[k+32>>2]|0;k=0;l=1;while(1){n=X(f[j+(k<<2)>>2]|0,l)|0;k=k+1|0;if((k|0)==(e|0)){m=n;break}else l=n}}g=(e|0)==0|(m|0)==0;u=c;return g|0}case 3:{l=f[a+4>>2]|0;g=(f[l>>2]|0)==(f[l+4>>2]|0);u=c;return g|0}case 12:{g=(f[(f[a+4>>2]|0)+4>>2]|0)==0;u=c;return g|0}case 0:{g=1;u=c;return g|0}case 4:{l=f[a+4>>2]|0;g=(f[l>>2]|0)==(f[l+4>>2]|0);u=c;return g|0}case 5:{l=f[a+4>>2]|0;g=(f[l>>2]|0)==(f[l+4>>2]|0);u=c;return g|0}case 15:{g=(f[a+12>>2]|0)==0;u=c;return g|0}case 11:{l=f[a+4>>2]|0;g=(f[l>>2]|0)==(f[l+4>>2]|0);u=c;return g|0}case 7:{l=f[a+4>>2]|0;if(!(f[l+8>>2]|0)){g=1;u=c;return g|0}g=(f[l+12>>2]|0)==0;u=c;return g|0}case 9:{g=(f[(f[a+4>>2]|0)+16>>2]|0)==0;u=c;return g|0}case 13:{l=f[a+4>>2]|0;g=(f[l>>2]|0)==(f[l+4>>2]|0);u=c;return g|0}case 8:{g=(f[(f[a+4>>2]|0)+16>>2]|0)==0;u=c;return g|0}case 2:case 14:case 6:{g=0;u=c;return g|0}default:{f[d>>2]=0;f[d+4>>2]=0;l=JV(d,30)|0;k=150980;j=l+30|0;do{b[l>>0]=b[k>>0]|0;l=l+1|0;k=k+1|0}while((l|0)<(j|0));EP(-213,d,151101,150696,930);KV(d);g=1;u=c;return g|0}}while(0);return 0}function WJ(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+16|0;e=d;switch((f[a>>2]|0)>>>16&31){case 1:{if((c|0)>=0){g=1;u=d;return g|0}g=(f[f[a+4>>2]>>2]&16384|0)!=0;u=d;return g|0}case 10:{if((c|0)>=0){g=1;u=d;return g|0}g=(f[f[a+4>>2]>>2]&16384|0)!=0;u=d;return g|0}case 5:{h=f[a+4>>2]|0;i=f[h>>2]|0;if((((f[h+4>>2]|0)-i|0)/56|0)>>>0>c>>>0)j=i;else{f[e>>2]=0;f[e+4>>2]=0;k=JV(e,21)|0;l=151107;m=k+21|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-215,e,151129,150696,951);KV(e);j=f[h>>2]|0}g=(f[j+(c*56|0)>>2]&16384|0)!=0;u=d;return g|0}case 15:{j=f[a+4>>2]|0;if(!((c|0)>0?(f[a+12>>2]|0)>(c|0):0)){f[e>>2]=0;f[e+4>>2]=0;k=JV(e,22)|0;l=151142;m=k+22|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-215,e,151129,150696,958);KV(e)}g=(f[j+(c*56|0)>>2]&16384|0)!=0;u=d;return g|0}case 11:{j=f[a+4>>2]|0;h=f[j>>2]|0;if((((f[j+4>>2]|0)-h|0)/48|0)>>>0>c>>>0)n=h;else{f[e>>2]=0;f[e+4>>2]=0;k=JV(e,21)|0;l=151107;m=k+21|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-215,e,151129,150696,965);KV(e);n=f[j>>2]|0}g=(f[n+(c*48|0)>>2]&16384|0)!=0;u=d;return g|0}case 9:{if((c|0)>=0){g=1;u=d;return g|0}g=(f[f[a+4>>2]>>2]&16384|0)!=0;u=d;return g|0}case 0:case 2:case 3:case 4:case 6:case 12:case 14:{g=1;u=d;return g|0}default:{f[e>>2]=0;f[e+4>>2]=0;k=JV(e,30)|0;l=150980;m=k+30|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-213,e,151129,150696,972);KV(e);g=0;u=d;return g|0}}return 0}function XJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+112|0;d=c+56|0;e=c;g=f[a>>2]|0;switch(g>>>16&31){case 0:{YJ(b);u=c;return}case 1:case 2:case 3:case 12:case 14:{do if((g&2031616|0)==65536){h=f[a+4>>2]|0;f[d>>2]=f[h>>2];i=d+4|0;j=h+4|0;f[i>>2]=f[j>>2];k=d+8|0;f[k>>2]=f[h+8>>2];f[d+12>>2]=f[h+12>>2];f[d+16>>2]=f[h+16>>2];f[d+20>>2]=f[h+20>>2];f[d+24>>2]=f[h+24>>2];f[d+28>>2]=f[h+28>>2];f[d+32>>2]=f[h+32>>2];l=f[h+36>>2]|0;f[d+36>>2]=l;f[d+40>>2]=k;k=d+48|0;m=d+44|0;f[m>>2]=k;f[k>>2]=0;f[d+52>>2]=0;if(l|0){k=l+12|0;f[k>>2]=(f[k>>2]|0)+1}if((f[j>>2]|0)<3){j=f[h+44>>2]|0;k=f[m>>2]|0;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];break}else{f[i>>2]=0;WO(d,h);break}}else DJ(d,a,-1);while(0);eM(d,b);g=d+36|0;h=f[g>>2]|0;if(h|0?(i=h+12|0,h=f[i>>2]|0,f[i>>2]=h+-1,(h|0)==1):0)XO(d);f[g>>2]=0;g=d+16|0;h=d+4|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;if((f[h>>2]|0)>0){g=f[d+40>>2]|0;i=0;do{f[g+(i<<2)>>2]=0;i=i+1|0}while((i|0)<(f[h>>2]|0))}h=f[d+44>>2]|0;if((h|0)!=(d+48|0))dX(h);u=c;return}case 6:{h=f[a+4>>2]|0;if((f[b>>2]&2031616|0)==65536){i=ZJ(b,-1)|0;g=f[h>>2]|0;th[f[(f[g>>2]|0)+12>>2]&255](g,h,i,-1);u=c;return}f[e>>2]=1124007936;i=e+4|0;g=e+8|0;j=e+40|0;k=i;m=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(m|0));f[j>>2]=g;g=e+48|0;k=e+44|0;f[k>>2]=g;f[g>>2]=0;f[e+52>>2]=0;m=f[h>>2]|0;th[f[(f[m>>2]|0)+12>>2]&255](m,h,e,-1);eM(e,b);h=e+36|0;m=f[h>>2]|0;if(m|0?(l=m+12|0,m=f[l>>2]|0,f[l>>2]=m+-1,(m|0)==1):0)XO(e);f[h>>2]=0;h=e+16|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;if((f[i>>2]|0)>0){h=f[j>>2]|0;j=0;do{f[h+(j<<2)>>2]=0;j=j+1|0}while((j|0)<(f[i>>2]|0))}i=f[k>>2]|0;if((i|0)==(g|0)){u=c;return}dX(i);u=c;return}case 10:{zN(f[a+4>>2]|0,b);u=c;return}default:{f[d>>2]=0;f[d+4>>2]=0;EP(-213,d,157495,150696,1163);KV(d);u=c;return}}}function YJ(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c=u;u=u+16|0;d=c+8|0;e=c;g=f[a>>2]|0;if(!(g&1073741824))h=g;else{f[d>>2]=0;f[d+4>>2]=0;i=JV(d,12)|0;j=151235;k=i+12|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-215,d,157390,150696,1653);KV(d);h=f[a>>2]|0}do switch(h>>>16&31){case 1:{g=f[a+4>>2]|0;l=g+36|0;m=f[l>>2]|0;if(m|0?(n=m+12|0,m=f[n>>2]|0,f[n>>2]=m+-1,(m|0)==1):0)XO(g);f[l>>2]=0;l=g+16|0;m=g+4|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;if((f[m>>2]|0)<=0){u=c;return}l=f[g+40>>2]|0;g=0;do{f[l+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[m>>2]|0));u=c;return}case 10:{m=f[a+4>>2]|0;g=m+24|0;l=f[g>>2]|0;if(l|0?(n=l+8|0,l=f[n>>2]|0,f[n>>2]=l+-1,(l|0)==1):0)uN(m);l=m+4|0;if((f[l>>2]|0)>0){n=f[m+32>>2]|0;m=0;do{f[n+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[l>>2]|0))}f[g>>2]=0;u=c;return}case 9:{u=c;return}case 8:{u=c;return}case 7:{DK(f[a+4>>2]|0);u=c;return}case 3:{f[e>>2]=0;f[e+4>>2]=0;_J(a,e,h&4095,-1,0,0);u=c;return}case 4:{l=f[a+4>>2]|0;m=f[l>>2]|0;n=l+4|0;l=f[n>>2]|0;if((l|0)==(m|0)){u=c;return}else o=l;while(1){l=o+-12|0;f[n>>2]=l;p=f[l>>2]|0;if(!p)q=l;else{l=o+-8|0;if((f[l>>2]|0)!=(p|0))f[l>>2]=p;GQa(p);q=f[n>>2]|0}if((q|0)==(m|0))break;else o=q}u=c;return}case 5:{m=f[a+4>>2]|0;n=f[m>>2]|0;g=m+4|0;m=f[g>>2]|0;if((m|0)==(n|0)){u=c;return}else r=m;do{m=r+-56|0;f[g>>2]=m;p=r+-20|0;l=f[p>>2]|0;if(l|0?(s=l+12|0,l=f[s>>2]|0,f[s>>2]=l+-1,(l|0)==1):0)XO(m);f[p>>2]=0;p=r+-40|0;m=r+-52|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;if((f[m>>2]|0)>0){p=f[r+-16>>2]|0;l=0;do{f[p+(l<<2)>>2]=0;l=l+1|0}while((l|0)<(f[m>>2]|0))}m=f[r+-12>>2]|0;if((m|0)!=(r+-8|0))dX(m);r=f[g>>2]|0}while((r|0)!=(n|0));u=c;return}case 11:{n=f[a+4>>2]|0;g=f[n>>2]|0;m=n+4|0;while(1){n=f[m>>2]|0;if((n|0)==(g|0))break;l=n+-48|0;f[m>>2]=l;tN(l)}u=c;return}case 13:{m=f[a+4>>2]|0;g=f[m>>2]|0;l=m+4|0;while(1){m=f[l>>2]|0;if((m|0)==(g|0))break;f[l>>2]=m+-36}u=c;return}case 0:{u=c;return}default:{f[d>>2]=0;f[d+4>>2]=0;i=JV(d,30)|0;j=150980;k=i+30|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-213,d,157390,150696,1718);KV(d);u=c;return}}while(0)}function ZJ(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+16|0;e=d;g=f[a>>2]&2031616;if((c|0)<0){if((g|0)!=65536){f[e>>2]=0;f[e+4>>2]=0;h=JV(e,8)|0;i=h;b[i>>0]=107;b[i+1>>0]=32;b[i+2>>0]=61;b[i+3>>0]=61;i=h+4|0;b[i>>0]=32;b[i+1>>0]=77;b[i+2>>0]=65;b[i+3>>0]=84;EP(-215,e,151165,150696,1745);KV(e)}j=f[a+4>>2]|0;u=d;return j|0}i=(g|0)==327680;h=g&2097151;if((h|0)<983040)switch(h|0){case 327680:break;default:k=6}else switch(h|0){case 983040:{k=11;break}default:k=6}if((k|0)==6){f[e>>2]=0;f[e+4>>2]=0;l=JV(e,41)|0;m=151175;n=l+41|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-215,e,151165,150696,1749);KV(e);if(!i)k=11}if((k|0)==11){k=f[a+4>>2]|0;if((f[a+12>>2]|0)<=(c|0)){f[e>>2]=0;f[e+4>>2]=0;l=JV(e,23)|0;m=150813;n=l+23|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-215,e,151165,150696,1760);KV(e)}j=k+(c*56|0)|0;u=d;return j|0}k=f[a+4>>2]|0;a=f[k>>2]|0;if((((f[k+4>>2]|0)-a|0)/56|0|0)>(c|0))o=a;else{f[e>>2]=0;f[e+4>>2]=0;l=JV(e,17)|0;m=151217;n=l+17|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-215,e,151165,150696,1754);KV(e);o=f[k>>2]|0}j=o+(c*56|0)|0;u=d;return j|0}function _J(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;i=u;u=u+16|0;j=i;k=f[a>>2]|0;l=k&2031616;m=(e|0)<0;do if(m&(l|0)==65536){if((h|0)==0&(g^1)){if((k&1073741824|0)!=0?(n=f[(f[a+4>>2]|0)+40>>2]|0,!((f[c>>2]|0)==(f[n+4>>2]|0)?(f[c+4>>2]|0)==(f[n>>2]|0):0)):0){f[j>>2]=0;f[j+4>>2]=0;o=JV(j,53)|0;p=151248;q=o+53|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));EP(-215,j,169501,150696,1198);KV(j);r=f[a>>2]|0}else r=k;n=a+4|0;if((r|0)<0?(f[f[n>>2]>>2]&4095|0)!=(d|0):0){f[j>>2]=0;f[j+4>>2]=0;o=JV(j,44)|0;p=151302;q=o+44|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));EP(-215,j,169501,150696,1199);KV(j)}s=f[n>>2]|0;t=f[c>>2]|0;v=f[c+4>>2]|0;w=d&4095;if(((((f[s+4>>2]|0)<3?(f[s+8>>2]|0)==(v|0):0)?(f[s+12>>2]|0)==(t|0):0)?(f[s>>2]&4095|0)==(w|0):0)?f[s+16>>2]|0:0){u=i;return}f[j>>2]=v;f[j+4>>2]=t;VO(s,2,j,w);u=i;return}}else{if(m&(l|0)==655360){if(!((h|0)==0&(g^1)))break;if((k&1073741824|0)!=0?(w=f[(f[a+4>>2]|0)+32>>2]|0,!((f[c>>2]|0)==(f[w+4>>2]|0)?(f[c+4>>2]|0)==(f[w>>2]|0):0)):0){f[j>>2]=0;f[j+4>>2]=0;o=JV(j,54)|0;p=151347;q=o+54|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));EP(-215,j,169501,150696,1205);KV(j);x=f[a>>2]|0}else x=k;n=a+4|0;if((x|0)<0?(f[f[n>>2]>>2]&4095|0)!=(d|0):0){f[j>>2]=0;f[j+4>>2]=0;o=JV(j,45)|0;p=151402;q=o+45|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));EP(-215,j,169501,150696,1206);KV(j)}w=f[n>>2]|0;s=f[c>>2]|0;t=f[c+4>>2]|0;v=d&4095;if(((((f[w+4>>2]|0)<3?(f[w+8>>2]|0)==(t|0):0)?(f[w+12>>2]|0)==(s|0):0)?(f[w>>2]&4095|0)==(v|0):0)?f[w+24>>2]|0:0){u=i;return}f[j>>2]=t;f[j+4>>2]=s;rN(w,2,j,v,0);u=i;return}if(m&(l|0)==589824){if(!((h|0)==0&(g^1)))break;if((k&1073741824|0)!=0?(v=f[a+4>>2]|0,!((f[c>>2]|0)==(f[v+8>>2]|0)?(f[c+4>>2]|0)==(f[v+4>>2]|0):0)):0){f[j>>2]=0;f[j+4>>2]=0;o=JV(j,51)|0;p=151448;q=o+51|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));EP(-215,j,169501,150696,1212);KV(j);y=f[a>>2]|0}else y=k;n=a+4|0;if((y|0)<0?(f[f[n>>2]>>2]&4095|0)!=(d|0):0){f[j>>2]=0;f[j+4>>2]=0;o=JV(j,53)|0;p=151500;q=o+53|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));EP(-215,j,169501,150696,1213);KV(j)}EK(f[n>>2]|0,f[c+4>>2]|0,f[c>>2]|0,d);u=i;return}if(m&(l|0)==458752){if(!((h|0)==0&(g^1)))break;if((k&1073741824|0)!=0?(v=f[a+4>>2]|0,!((f[c>>2]|0)==(f[v+12>>2]|0)?(f[c+4>>2]|0)==(f[v+8>>2]|0):0)):0){f[j>>2]=0;f[j+4>>2]=0;o=JV(j,50)|0;p=151554;q=o+50|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));EP(-215,j,169501,150696,1219);KV(j);z=f[a>>2]|0}else z=k;n=a+4|0;if((z|0)<0?(f[(f[n>>2]|0)+16>>2]|0)!=(d|0):0){f[j>>2]=0;f[j+4>>2]=0;o=JV(j,52)|0;p=151605;q=o+52|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));EP(-215,j,169501,150696,1220);KV(j)}CK(f[n>>2]|0,f[c+4>>2]|0,f[c>>2]|0,d,34962,0);u=i;return}if(m&(l|0)==524288?(h|0)==0&(g^1):0){if((k&1073741824|0)!=0?(v=f[a+4>>2]|0,!((f[c>>2]|0)==(f[v+8>>2]|0)?(f[c+4>>2]|0)==(f[v+4>>2]|0):0)):0){f[j>>2]=0;f[j+4>>2]=0;o=JV(j,52)|0;p=151658;q=o+52|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));EP(-215,j,169501,150696,1226);KV(j);A=f[a>>2]|0}else A=k;n=a+4|0;if((A|0)<0?(f[f[n>>2]>>2]&4095|0)!=(d|0):0){f[j>>2]=0;f[j+4>>2]=0;o=JV(j,54)|0;p=151711;q=o+54|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));EP(-215,j,169501,150696,1227);KV(j)}SY(f[n>>2]|0,f[c+4>>2]|0,f[c>>2]|0,d);u=i;return}}while(0);f[j>>2]=f[c+4>>2];f[j+4>>2]=f[c>>2];$J(a,2,j,d,e,g,h);u=i;return}function $J(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;j=u;u=u+32|0;k=j;l=j+16|0;m=j+8|0;if((c|0)==1){f[l>>2]=f[d>>2];f[l+4>>2]=1;n=2;o=l}else{n=c;o=d}d=f[a>>2]|0;c=d&2031616;l=e&4095;p=c&2097151;a:do if((p|0)<655360){if((p|0)>=131072){switch(p|0){case 131072:break;default:break a}if((g|0)<0)q=d;else{f[m>>2]=0;f[m+4>>2]=0;r=JV(m,5)|0;b[r>>0]=b[150682]|0;b[r+1>>0]=b[150683]|0;b[r+2>>0]=b[150684]|0;b[r+3>>0]=b[150685]|0;b[r+4>>0]=b[150686]|0;EP(-215,m,169501,150696,1361);KV(m);q=f[a>>2]|0}r=q&4095;do if((l|0)!=(r|0)){if((e&4088|0)==0?1<>2]=0;f[m+4>>2]=0;s=JV(m,106)|0;t=151872;v=s+106|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,m,169501,150696,1363);KV(m)}while(0);if((n|0)==2){r=f[o>>2]|0;w=a+8|0;x=f[a+12>>2]|0;if((r|0)==(x|0)?(f[o+4>>2]|0)==(f[w>>2]|0):0){u=j;return}if((h?(r|0)==(f[w>>2]|0):0)?(f[o+4>>2]|0)==(x|0):0){u=j;return}}f[m>>2]=0;f[m+4>>2]=0;DVa(JV(m,129)|0,151979,129)|0;EP(-215,m,169501,150696,1365);KV(m);u=j;return}switch(p|0){case 65536:break;default:break a}if((g|0)>=0){f[m>>2]=0;f[m+4>>2]=0;x=JV(m,5)|0;b[x>>0]=b[150682]|0;b[x+1>>0]=b[150683]|0;b[x+2>>0]=b[150684]|0;b[x+3>>0]=b[150685]|0;b[x+4>>0]=b[150686]|0;EP(-215,m,169501,150696,1293);KV(m)}x=f[a+4>>2]|0;if(h){if(!(f[x>>2]&16384)){if((f[a>>2]|0)>>>0>1073741823){f[m>>2]=0;f[m+4>>2]=0;s=JV(m,28)|0;t=151766;v=s+28|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,m,169501,150696,1299);KV(m)}w=x+36|0;r=f[w>>2]|0;if(r|0?(y=r+12|0,r=f[y>>2]|0,f[y>>2]=r+-1,(r|0)==1):0)XO(x);f[w>>2]=0;w=x+16|0;r=x+4|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;if((f[r>>2]|0)>0){w=f[x+40>>2]|0;y=0;do{f[w+(y<<2)>>2]=0;y=y+1|0}while((y|0)<(f[r>>2]|0))}}if((((((n|0)==2?(f[x+4>>2]|0)==2:0)?f[x+16>>2]|0:0)?(f[x>>2]&4095|0)==(l|0):0)?(f[x+8>>2]|0)==(f[o+4>>2]|0):0)?(f[x+12>>2]|0)==(f[o>>2]|0):0){u=j;return}}r=f[a>>2]|0;do if((r|0)<0){y=f[x>>2]|0;if(((y^e)&4088|0)==0?1<<(r&4095)&i|0:0){z=y&4095;A=r;break}if((l|0)!=(y&4095|0)){f[m>>2]=0;f[m+4>>2]=0;s=JV(m,42)|0;t=151795;v=s+42|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,m,169501,150696,1313);KV(m);z=l;A=f[a>>2]|0}else{z=l;A=r}}else{z=l;A=r}while(0);if(A&1073741824|0){if((f[x+4>>2]|0)!=(n|0)){f[m>>2]=0;f[m+4>>2]=0;s=JV(m,11)|0;t=151838;v=s+11|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,m,169501,150696,1317);KV(m)}if((n|0)>0){r=x+40|0;y=m+4|0;w=0;do{if((f[(f[r>>2]|0)+(w<<2)>>2]|0)!=(f[o+(w<<2)>>2]|0)){f[m>>2]=0;f[y>>2]=0;s=JV(m,21)|0;t=151850;v=s+21|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,m,169501,150696,1319);KV(m)}w=w+1|0}while((w|0)<(n|0))}}VO(x,n,o,z);u=j;return}else{if((p|0)>=917504){switch(p|0){case 917504:break;default:break a}w=d&4095;do if((l|0)!=(w|0)){if((e&4088|0)==0?1<>2]=0;f[m+4>>2]=0;s=JV(m,106)|0;t=151872;v=s+106|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,m,169501,150696,1372);KV(m)}while(0);if((n|0)==2?(w=X(f[a+12>>2]|0,f[a+8>>2]|0)|0,(w|0)==(X(f[o+4>>2]|0,f[o>>2]|0)|0)):0){u=j;return}f[m>>2]=0;f[m+4>>2]=0;s=JV(m,40)|0;t=152109;v=s+40|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,m,169501,150696,1373);KV(m);u=j;return}switch(p|0){case 655360:break;default:break a}if((g|0)>=0){f[m>>2]=0;f[m+4>>2]=0;w=JV(m,5)|0;b[w>>0]=b[150682]|0;b[w+1>>0]=b[150683]|0;b[w+2>>0]=b[150684]|0;b[w+3>>0]=b[150685]|0;b[w+4>>0]=b[150686]|0;EP(-215,m,169501,150696,1327);KV(m)}w=f[a+4>>2]|0;if(h){if(!(f[w>>2]&16384)){if((f[a>>2]|0)>>>0>1073741823){f[m>>2]=0;f[m+4>>2]=0;s=JV(m,28)|0;t=151766;v=s+28|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,m,169501,150696,1333);KV(m)}x=w+24|0;y=f[x>>2]|0;if(y|0?(r=y+8|0,y=f[r>>2]|0,f[r>>2]=y+-1,(y|0)==1):0)uN(w);y=w+4|0;if((f[y>>2]|0)>0){r=f[w+32>>2]|0;B=0;do{f[r+(B<<2)>>2]=0;B=B+1|0}while((B|0)<(f[y>>2]|0))}f[x>>2]=0}if(((((((n|0)==2?(f[w+4>>2]|0)==2:0)?f[w+24>>2]|0:0)?(y=f[w+8>>2]|0,B=f[w+12>>2]|0,X(B,y)|0):0)?(f[w>>2]&4095|0)==(l|0):0)?(y|0)==(f[o+4>>2]|0):0)?(B|0)==(f[o>>2]|0):0){u=j;return}}B=f[a>>2]|0;do if((B|0)<0){y=f[w>>2]|0;if(((y^e)&4088|0)==0?1<<(B&4095)&i|0:0){C=y&4095;D=B;break}if((l|0)!=(y&4095|0)){f[m>>2]=0;f[m+4>>2]=0;s=JV(m,42)|0;t=151795;v=s+42|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,m,169501,150696,1347);KV(m);C=l;D=f[a>>2]|0}else{C=l;D=B}}else{C=l;D=B}while(0);if(D&1073741824|0){if((f[w+4>>2]|0)!=(n|0)){f[m>>2]=0;f[m+4>>2]=0;s=JV(m,11)|0;t=151838;v=s+11|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,m,169501,150696,1351);KV(m)}if((n|0)>0){B=w+32|0;x=m+4|0;y=0;do{if((f[(f[B>>2]|0)+(y<<2)>>2]|0)!=(f[o+(y<<2)>>2]|0)){f[m>>2]=0;f[x>>2]=0;s=JV(m,21)|0;t=151850;v=s+21|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,m,169501,150696,1353);KV(m)}y=y+1|0}while((y|0)<(n|0))}}rN(w,n,o,C,0);u=j;return}while(0);C=(c|0)==262144;D=c&2097151;b:do if((D|0)<327680){if((D|0)<196608){switch(D|0){case 0:break;default:break b}f[m>>2]=0;f[m+4>>2]=0;s=JV(m,44)|0;t=152547;v=s+44|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-27,m,169501,150696,1461);KV(m);u=j;return}if((D|0)<262144)switch(D|0){case 196608:break;default:break b}else switch(D|0){case 262144:break;default:break b}if((n|0)==2){w=f[o>>2]|0;if((w|0)!=1){c=f[o+4>>2]|0;if((c|0)==1|(X(c,w)|0)==0)E=w;else F=96}else E=1}else F=96;if((F|0)==96){f[m>>2]=0;f[m+4>>2]=0;s=JV(m,68)|0;t=152150;v=s+68|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,m,169501,150696,1379);KV(m);E=f[o>>2]|0}w=f[o+4>>2]|0;c=(X(w,E)|0)>0;p=c?E+-1+w|0:0;w=f[a+4>>2]|0;do if(!C)if((g|0)<0)G=w;else{f[m>>2]=0;f[m+4>>2]=0;c=JV(m,5)|0;b[c>>0]=b[150682]|0;b[c+1>>0]=b[150683]|0;b[c+2>>0]=b[150684]|0;b[c+3>>0]=b[150685]|0;b[c+4>>0]=b[150686]|0;EP(-215,m,169501,150696,1396);KV(m);G=w}else{if((g|0)>=0){c=f[w>>2]|0;if((((f[w+4>>2]|0)-c|0)/12|0|0)>(g|0))H=c;else{f[m>>2]=0;f[m+4>>2]=0;s=JV(m,18)|0;t=151037;v=s+18|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,m,169501,150696,1392);KV(m);H=f[w>>2]|0}G=H+(g*12|0)|0;break}c=w+4|0;if((f[a>>2]&1073741824|0)!=0?(p|0)!=(((f[c>>2]|0)-(f[w>>2]|0)|0)/12|0|0):0){f[m>>2]=0;f[m+4>>2]=0;s=JV(m,32)|0;t=152219;v=s+32|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,m,169501,150696,1388);KV(m);I=w}else I=w;z=f[c>>2]|0;A=f[I>>2]|0;q=(z-A|0)/12|0;y=z;if(p>>>0>q>>>0){aK(w,p-q|0);u=j;return}if(p>>>0>=q>>>0){u=j;return}q=A+(p*12|0)|0;if((q|0)==(y|0)){u=j;return}else J=y;while(1){y=J+-12|0;f[c>>2]=y;A=f[y>>2]|0;if(!A)K=y;else{y=J+-8|0;if((f[y>>2]|0)!=(A|0))f[y>>2]=A;GQa(A);K=f[c>>2]|0}if((K|0)==(q|0))break;else J=K}u=j;return}while(0);w=f[a>>2]|0;q=w&4095;do if((l|0)==(q|0))L=w;else{if(((w^e)&4088|0)==0?1<>2]=0;f[m+4>>2]=0;DVa(JV(m,146)|0,152252,146)|0;EP(-215,m,169501,150696,1399);KV(m);L=f[a>>2]|0}while(0);q=(w>>>3&511)+1<<(47696>>>(w<<1&14)&3);if(L&1073741824|0?(p|0)!=((((f[G+4>>2]|0)-(f[G>>2]|0)|0)>>>0)/(q>>>0)|0|0):0){f[m>>2]=0;f[m+4>>2]=0;s=JV(m,61)|0;t=152399;v=s+61|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,m,169501,150696,1402);KV(m)}do switch(q&8191){case 1:{w=G+4|0;c=f[w>>2]|0;A=f[G>>2]|0;y=c-A|0;if(p>>>0>y>>>0){bK(G,p-y|0);u=j;return}if(p>>>0>=y>>>0){u=j;return}y=A+p|0;if((y|0)==(c|0)){u=j;return}f[w>>2]=y;u=j;return}case 2:{y=G+4|0;w=f[y>>2]|0;c=f[G>>2]|0;A=w-c>>1;z=w;if(p>>>0>A>>>0){cK(G,p-A|0);u=j;return}if(p>>>0>=A>>>0){u=j;return}A=c+(p<<1)|0;if((A|0)==(z|0)){u=j;return}f[y>>2]=z+(~((0-A+(z+-2)|0)>>>1)<<1);u=j;return}case 3:{z=G+4|0;A=f[z>>2]|0;y=f[G>>2]|0;c=(A-y|0)/3|0;w=A;if(p>>>0>c>>>0){dK(G,p-c|0);u=j;return}if(p>>>0>=c>>>0){u=j;return}c=y+(p*3|0)|0;if((c|0)==(w|0)){u=j;return}f[z>>2]=w+(~(((0-c+(w+-3)|0)>>>0)/3|0)*3|0);u=j;return}case 4:{w=G+4|0;c=f[w>>2]|0;z=f[G>>2]|0;y=c-z>>2;A=c;if(p>>>0>y>>>0){eK(G,p-y|0);u=j;return}if(p>>>0>=y>>>0){u=j;return}y=z+(p<<2)|0;if((y|0)==(A|0)){u=j;return}f[w>>2]=A+(~((A+-4-y|0)>>>2)<<2);u=j;return}case 6:{y=G+4|0;A=f[y>>2]|0;w=f[G>>2]|0;z=(A-w|0)/6|0;c=A;if(p>>>0>z>>>0){fK(G,p-z|0);u=j;return}if(p>>>0>=z>>>0){u=j;return}z=w+(p*6|0)|0;if((z|0)==(c|0)){u=j;return}f[y>>2]=c+(~(((c+-6-z|0)>>>0)/6|0)*6|0);u=j;return}case 8:{z=G+4|0;c=f[z>>2]|0;y=f[G>>2]|0;w=c-y>>3;A=c;if(p>>>0>w>>>0){gK(G,p-w|0);u=j;return}if(p>>>0>=w>>>0){u=j;return}w=y+(p<<3)|0;if((w|0)==(A|0)){u=j;return}f[z>>2]=A+(~((A+-8-w|0)>>>3)<<3);u=j;return}case 12:{w=G+4|0;A=f[w>>2]|0;z=f[G>>2]|0;y=(A-z|0)/12|0;c=A;if(p>>>0>y>>>0){hK(G,p-y|0);u=j;return}if(p>>>0>=y>>>0){u=j;return}y=z+(p*12|0)|0;if((y|0)==(c|0)){u=j;return}f[w>>2]=c+(~(((c+-12-y|0)>>>0)/12|0)*12|0);u=j;return}case 16:{y=G+4|0;c=f[y>>2]|0;w=f[G>>2]|0;z=c-w>>4;A=c;if(p>>>0>z>>>0){iK(G,p-z|0);u=j;return}if(p>>>0>=z>>>0){u=j;return}z=w+(p<<4)|0;if((z|0)==(A|0)){u=j;return}f[y>>2]=A+(~((A+-16-z|0)>>>4)<<4);u=j;return}case 24:{z=G+4|0;A=f[z>>2]|0;y=f[G>>2]|0;w=(A-y|0)/24|0;c=A;if(p>>>0>w>>>0){jK(G,p-w|0);u=j;return}if(p>>>0>=w>>>0){u=j;return}w=y+(p*24|0)|0;if((w|0)==(c|0)){u=j;return}f[z>>2]=c+(~(((c+-24-w|0)>>>0)/24|0)*24|0);u=j;return}case 32:{w=G+4|0;c=f[w>>2]|0;z=f[G>>2]|0;y=c-z>>5;A=c;if(p>>>0>y>>>0){kK(G,p-y|0);u=j;return}if(p>>>0>=y>>>0){u=j;return}y=z+(p<<5)|0;if((y|0)==(A|0)){u=j;return}f[w>>2]=A+(~((A+-32-y|0)>>>5)<<5);u=j;return}case 36:{y=G+4|0;A=f[y>>2]|0;w=f[G>>2]|0;z=(A-w|0)/36|0;c=A;if(p>>>0>z>>>0){lK(G,p-z|0);u=j;return}if(p>>>0>=z>>>0){u=j;return}z=w+(p*36|0)|0;if((z|0)==(c|0)){u=j;return}f[y>>2]=c+(~(((c+-36-z|0)>>>0)/36|0)*36|0);u=j;return}case 48:{z=G+4|0;c=f[z>>2]|0;y=f[G>>2]|0;w=(c-y|0)/48|0;A=c;if(p>>>0>w>>>0){mK(G,p-w|0);u=j;return}if(p>>>0>=w>>>0){u=j;return}w=y+(p*48|0)|0;if((w|0)==(A|0)){u=j;return}f[z>>2]=A+(~(((A+-48-w|0)>>>0)/48|0)*48|0);u=j;return}case 64:{w=G+4|0;A=f[w>>2]|0;z=f[G>>2]|0;y=A-z>>6;c=A;if(p>>>0>y>>>0){nK(G,p-y|0);u=j;return}if(p>>>0>=y>>>0){u=j;return}y=z+(p<<6)|0;if((y|0)==(c|0)){u=j;return}f[w>>2]=c+(~((c+-64-y|0)>>>6)<<6);u=j;return}case 128:{y=G+4|0;c=f[y>>2]|0;w=f[G>>2]|0;z=c-w>>7;A=c;if(p>>>0>z>>>0){oK(G,p-z|0);u=j;return}if(p>>>0>=z>>>0){u=j;return}z=w+(p<<7)|0;if((z|0)==(A|0)){u=j;return}f[y>>2]=A+(~((A+-128-z|0)>>>7)<<7);u=j;return}case 256:{z=G+4|0;A=f[z>>2]|0;y=f[G>>2]|0;w=A-y>>8;c=A;if(p>>>0>w>>>0){pK(G,p-w|0);u=j;return}if(p>>>0>=w>>>0){u=j;return}w=y+(p<<8)|0;if((w|0)==(c|0)){u=j;return}f[z>>2]=c+(~((c+-256-w|0)>>>8)<<8);u=j;return}case 512:{w=G+4|0;c=f[w>>2]|0;z=f[G>>2]|0;y=c-z>>9;A=c;if(p>>>0>y>>>0){qK(G,p-y|0);u=j;return}if(p>>>0>=y>>>0){u=j;return}y=z+(p<<9)|0;if((y|0)==(A|0)){u=j;return}f[w>>2]=A+(~((A+-512-y|0)>>>9)<<9);u=j;return}default:{f[k>>2]=q;LP(m,152461,k);EP(-5,m,169501,150696,1454);KV(m);u=j;return}}while(0)}else{if((D|0)<720896){switch(D|0){case 327680:break;default:break b}q=f[a+4>>2]|0;if((g|0)<0){if((n|0)==2){p=f[o>>2]|0;if((p|0)!=1){y=f[o+4>>2]|0;if((y|0)==1|(X(y,p)|0)==0){M=p;N=d}else F=212}else{M=1;N=d}}else F=212;if((F|0)==212){f[m>>2]=0;f[m+4>>2]=0;s=JV(m,68)|0;t=152150;v=s+68|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,m,169501,150696,1471);KV(m);M=f[o>>2]|0;N=f[a>>2]|0}p=f[o+4>>2]|0;y=(X(p,M)|0)>0;A=y?M+-1+p|0:0;p=((f[q+4>>2]|0)-(f[q>>2]|0)|0)/56|0;if(!((N&1073741824|0)==0|(A|0)==(p|0))){f[m>>2]=0;f[m+4>>2]=0;s=JV(m,27)|0;t=152592;v=s+27|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,m,169501,150696,1474);KV(m)}KJ(q,A);y=f[a>>2]|0;if((y|0)>=0){u=j;return}w=y&4095;if(p>>>0>=A>>>0){u=j;return}y=m+4|0;z=p;c=f[q>>2]|0;while(1){x=f[c+(z*56|0)>>2]|0;if((x&4095|0)==(w|0))O=c;else{if(f[c+(z*56|0)+16>>2]|0){B=f[c+(z*56|0)+4>>2]|0;if((B|0)<3)P=X(f[c+(z*56|0)+12>>2]|0,f[c+(z*56|0)+8>>2]|0)|0;else{r=f[c+(z*56|0)+40>>2]|0;Q=0;R=1;while(1){S=X(f[r+(Q<<2)>>2]|0,R)|0;Q=Q+1|0;if((Q|0)==(B|0)){P=S;break}else R=S}}if(!((B|0)==0|(P|0)==0)){f[m>>2]=0;f[y>>2]=0;s=JV(m,12)|0;t=152620;v=s+12|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,m,169501,150696,1483);KV(m);B=f[q>>2]|0;T=B;U=f[B+(z*56|0)>>2]|0}else{T=c;U=x}}else{T=c;U=x}f[T+(z*56|0)>>2]=U&-4096|w;O=T}z=z+1|0;if(z>>>0>=A>>>0)break;else c=O}u=j;return}c=f[q>>2]|0;if((((f[q+4>>2]|0)-c|0)/56|0|0)>(g|0))V=c;else{f[m>>2]=0;f[m+4>>2]=0;s=JV(m,17)|0;t=151217;v=s+17|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,m,169501,150696,1490);KV(m);V=f[q>>2]|0}c=V+(g*56|0)|0;if(h){if(!(f[c>>2]&16384)){if((f[a>>2]|0)>>>0>1073741823){f[m>>2]=0;f[m+4>>2]=0;s=JV(m,28)|0;t=151766;v=s+28|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,m,169501,150696,1497);KV(m)}q=V+(g*56|0)+36|0;A=f[q>>2]|0;if(A|0?(z=A+12|0,A=f[z>>2]|0,f[z>>2]=A+-1,(A|0)==1):0)XO(c);f[q>>2]=0;q=V+(g*56|0)+16|0;A=V+(g*56|0)+4|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;if((f[A>>2]|0)>0){q=f[V+(g*56|0)+40>>2]|0;z=0;do{f[q+(z<<2)>>2]=0;z=z+1|0}while((z|0)<(f[A>>2]|0))}}if((((((n|0)==2?(f[V+(g*56|0)+4>>2]|0)==2:0)?f[V+(g*56|0)+16>>2]|0:0)?(f[c>>2]&4095|0)==(l|0):0)?(f[V+(g*56|0)+8>>2]|0)==(f[o+4>>2]|0):0)?(f[V+(g*56|0)+12>>2]|0)==(f[o>>2]|0):0){u=j;return}}A=f[a>>2]|0;do if((A|0)<0){z=f[c>>2]|0;if(((z^e)&4088|0)==0?1<<(A&4095)&i|0:0){W=z&4095;Y=A;break}if((l|0)!=(z&4095|0)){f[m>>2]=0;f[m+4>>2]=0;s=JV(m,42)|0;t=151795;v=s+42|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,m,169501,150696,1511);KV(m);W=l;Y=f[a>>2]|0}else{W=l;Y=A}}else{W=l;Y=A}while(0);if(Y&1073741824|0){if((f[V+(g*56|0)+4>>2]|0)!=(n|0)){f[m>>2]=0;f[m+4>>2]=0;s=JV(m,11)|0;t=151838;v=s+11|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,m,169501,150696,1515);KV(m)}if((n|0)>0){A=V+(g*56|0)+40|0;x=m+4|0;z=0;do{if((f[(f[A>>2]|0)+(z<<2)>>2]|0)!=(f[o+(z<<2)>>2]|0)){f[m>>2]=0;f[x>>2]=0;s=JV(m,21)|0;t=151850;v=s+21|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,m,169501,150696,1517);KV(m)}z=z+1|0}while((z|0)<(n|0))}}VO(c,n,o,W);u=j;return}if((D|0)>=983040){switch(D|0){case 983040:break;default:break b}z=f[a+4>>2]|0;if((g|0)<0){if((n|0)==2){x=f[o>>2]|0;if((x|0)!=1){A=f[o+4>>2]|0;if((A|0)==1|(X(A,x)|0)==0)Z=x;else F=266}else Z=1}else F=266;if((F|0)==266){f[m>>2]=0;f[m+4>>2]=0;s=JV(m,68)|0;t=152150;v=s+68|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,m,169501,150696,1530);KV(m);Z=f[o>>2]|0}c=f[o+4>>2]|0;x=(X(c,Z)|0)>0;A=x?Z+-1+c|0:0;c=f[a+12>>2]|0;if((A|0)!=(c|0)){f[m>>2]=0;f[m+4>>2]=0;s=JV(m,11)|0;t=152633;v=s+11|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,m,169501,150696,1533);KV(m)}x=f[a>>2]|0;if((x|0)>=0){u=j;return}q=x&4095;if(c>>>0>=A>>>0){u=j;return}x=m+4|0;w=c;do{y=z+(w*56|0)|0;p=f[y>>2]|0;if((p&4095|0)!=(q|0)){if(f[z+(w*56|0)+16>>2]|0){B=f[z+(w*56|0)+4>>2]|0;if((B|0)<3)_=X(f[z+(w*56|0)+12>>2]|0,f[z+(w*56|0)+8>>2]|0)|0;else{R=f[z+(w*56|0)+40>>2]|0;Q=0;r=1;while(1){S=X(f[R+(Q<<2)>>2]|0,r)|0;Q=Q+1|0;if((Q|0)==(B|0)){_=S;break}else r=S}}if(!((B|0)==0|(_|0)==0)){f[m>>2]=0;f[x>>2]=0;s=JV(m,12)|0;t=152620;v=s+12|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,m,169501,150696,1541);KV(m);$=f[y>>2]|0}else $=p}else $=p;f[y>>2]=$&-4096|q}w=w+1|0}while(w>>>0>>0);u=j;return}if((f[a+12>>2]|0)<=(g|0)){f[m>>2]=0;f[m+4>>2]=0;s=JV(m,13)|0;t=151056;v=s+13|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,m,169501,150696,1548);KV(m)}A=z+(g*56|0)|0;if(h){if(!(f[A>>2]&16384)){if((f[a>>2]|0)>>>0>1073741823){f[m>>2]=0;f[m+4>>2]=0;s=JV(m,28)|0;t=151766;v=s+28|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,m,169501,150696,1555);KV(m)}w=z+(g*56|0)+36|0;q=f[w>>2]|0;if(q|0?(x=q+12|0,q=f[x>>2]|0,f[x>>2]=q+-1,(q|0)==1):0)XO(A);f[w>>2]=0;w=z+(g*56|0)+16|0;q=z+(g*56|0)+4|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;if((f[q>>2]|0)>0){w=f[z+(g*56|0)+40>>2]|0;x=0;do{f[w+(x<<2)>>2]=0;x=x+1|0}while((x|0)<(f[q>>2]|0))}}if((((((n|0)==2?(f[z+(g*56|0)+4>>2]|0)==2:0)?f[z+(g*56|0)+16>>2]|0:0)?(f[A>>2]&4095|0)==(l|0):0)?(f[z+(g*56|0)+8>>2]|0)==(f[o+4>>2]|0):0)?(f[z+(g*56|0)+12>>2]|0)==(f[o>>2]|0):0){u=j;return}}q=f[a>>2]|0;do if((q|0)<0){x=f[A>>2]|0;if(((x^e)&4088|0)==0?1<<(q&4095)&i|0:0){aa=x&4095;ba=q;break}if((l|0)!=(x&4095|0)){f[m>>2]=0;f[m+4>>2]=0;s=JV(m,42)|0;t=151795;v=s+42|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,m,169501,150696,1569);KV(m);aa=l;ba=f[a>>2]|0}else{aa=l;ba=q}}else{aa=l;ba=q}while(0);if(ba&1073741824|0){if((f[z+(g*56|0)+4>>2]|0)!=(n|0)){f[m>>2]=0;f[m+4>>2]=0;s=JV(m,11)|0;t=151838;v=s+11|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,m,169501,150696,1574);KV(m)}if((n|0)>0){q=z+(g*56|0)+40|0;y=m+4|0;p=0;do{if((f[(f[q>>2]|0)+(p<<2)>>2]|0)!=(f[o+(p<<2)>>2]|0)){f[m>>2]=0;f[y>>2]=0;s=JV(m,21)|0;t=151850;v=s+21|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,m,169501,150696,1576);KV(m)}p=p+1|0}while((p|0)<(n|0))}}VO(A,n,o,aa);u=j;return}switch(D|0){case 720896:break;default:break b}p=f[a+4>>2]|0;if((g|0)<0){if((n|0)==2){y=f[o>>2]|0;if((y|0)!=1){q=f[o+4>>2]|0;if((q|0)==1|(X(q,y)|0)==0){ca=y;da=d}else F=319}else{ca=1;da=d}}else F=319;if((F|0)==319){f[m>>2]=0;f[m+4>>2]=0;s=JV(m,68)|0;t=152150;v=s+68|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,m,169501,150696,1589);KV(m);ca=f[o>>2]|0;da=f[a>>2]|0}A=f[o+4>>2]|0;y=(X(A,ca)|0)>0;q=y?ca+-1+A|0:0;A=p+4|0;y=f[A>>2]|0;z=f[p>>2]|0;x=(y-z|0)/48|0;if((da&1073741824|0)==0|(q|0)==(x|0)){ea=z;fa=y}else{f[m>>2]=0;f[m+4>>2]=0;s=JV(m,27)|0;t=152592;v=s+27|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,m,169501,150696,1592);KV(m);ea=f[p>>2]|0;fa=f[A>>2]|0}y=(fa-ea|0)/48|0;z=ea;w=fa;if(q>>>0<=y>>>0){if(q>>>0>>0?(c=z+(q*48|0)|0,(c|0)!=(w|0)):0){z=w;do{w=z+-48|0;f[A>>2]=w;tN(w);z=f[A>>2]|0}while((z|0)!=(c|0))}}else MJ(p,q-y|0);c=f[a>>2]|0;if((c|0)>=0){u=j;return}z=c&4095;if(x>>>0>=q>>>0){u=j;return}c=m+4|0;A=x;w=f[p>>2]|0;while(1){B=f[w+(A*48|0)>>2]|0;if((B&4095|0)==(z|0))ga=w;else{if(f[w+(A*48|0)+24>>2]|0){r=f[w+(A*48|0)+4>>2]|0;if((r|0)<3)ha=X(f[w+(A*48|0)+12>>2]|0,f[w+(A*48|0)+8>>2]|0)|0;else{Q=f[w+(A*48|0)+32>>2]|0;R=0;S=1;while(1){ia=X(f[Q+(R<<2)>>2]|0,S)|0;R=R+1|0;if((R|0)==(r|0)){ha=ia;break}else S=ia}}if(!((r|0)==0|(ha|0)==0)){f[m>>2]=0;f[c>>2]=0;s=JV(m,12)|0;t=152620;v=s+12|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,m,169501,150696,1601);KV(m);r=f[p>>2]|0;ja=r;ka=f[r+(A*48|0)>>2]|0}else{ja=w;ka=B}}else{ja=w;ka=B}f[ja+(A*48|0)>>2]=ka&-4096|z;ga=ja}A=A+1|0;if(A>>>0>=q>>>0)break;else w=ga}u=j;return}w=f[p>>2]|0;if((((f[p+4>>2]|0)-w|0)/48|0|0)>(g|0))la=w;else{f[m>>2]=0;f[m+4>>2]=0;s=JV(m,17)|0;t=151217;v=s+17|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,m,169501,150696,1608);KV(m);la=f[p>>2]|0}w=la+(g*48|0)|0;if(h){if(!(f[w>>2]&16384)){if((f[a>>2]|0)>>>0>1073741823){f[m>>2]=0;f[m+4>>2]=0;s=JV(m,28)|0;t=151766;v=s+28|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,m,169501,150696,1615);KV(m)}p=la+(g*48|0)+24|0;q=f[p>>2]|0;if(q|0?(A=q+8|0,q=f[A>>2]|0,f[A>>2]=q+-1,(q|0)==1):0)uN(w);q=la+(g*48|0)+4|0;if((f[q>>2]|0)>0){A=f[la+(g*48|0)+32>>2]|0;z=0;do{f[A+(z<<2)>>2]=0;z=z+1|0}while((z|0)<(f[q>>2]|0))}f[p>>2]=0}if((((((n|0)==2?(f[la+(g*48|0)+4>>2]|0)==2:0)?f[la+(g*48|0)+24>>2]|0:0)?(f[w>>2]&4095|0)==(l|0):0)?(f[la+(g*48|0)+8>>2]|0)==(f[o+4>>2]|0):0)?(f[la+(g*48|0)+12>>2]|0)==(f[o>>2]|0):0){u=j;return}}q=f[a>>2]|0;do if((q|0)<0){z=f[w>>2]|0;if(((z^e)&4088|0)==0?1<<(q&4095)&i|0:0){ma=z&4095;na=q;break}if((l|0)!=(z&4095|0)){f[m>>2]=0;f[m+4>>2]=0;s=JV(m,42)|0;t=151795;v=s+42|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,m,169501,150696,1629);KV(m);ma=l;na=f[a>>2]|0}else{ma=l;na=q}}else{ma=l;na=q}while(0);if(na&1073741824|0){if((f[la+(g*48|0)+4>>2]|0)!=(n|0)){f[m>>2]=0;f[m+4>>2]=0;s=JV(m,11)|0;t=151838;v=s+11|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,m,169501,150696,1633);KV(m)}if((n|0)>0){q=la+(g*48|0)+32|0;p=m+4|0;B=0;do{if((f[(f[q>>2]|0)+(B<<2)>>2]|0)!=(f[o+(B<<2)>>2]|0)){f[m>>2]=0;f[p>>2]=0;s=JV(m,21)|0;t=151850;v=s+21|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,m,169501,150696,1635);KV(m)}B=B+1|0}while((B|0)<(n|0))}}rN(w,n,o,ma,0);u=j;return}while(0);f[m>>2]=0;f[m+4>>2]=0;s=JV(m,30)|0;t=150980;v=s+30|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-213,m,169501,150696,1642);KV(m);u=j;return}function aK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+32|0;d=c;e=f[a+8>>2]|0;g=a+4|0;h=f[g>>2]|0;if(((e-h|0)/12|0)>>>0>=b>>>0){FVa(h|0,0,b*12|0)|0;f[g>>2]=h+(b*12|0);u=c;return}g=f[a>>2]|0;i=(h-g|0)/12|0;h=i+b|0;if(h>>>0>357913941)ZOa(a);j=(e-g|0)/12|0;g=j<<1;e=j>>>0<178956970?(g>>>0>>0?h:g):357913941;f[d+12>>2]=0;f[d+16>>2]=a+8;do if(e)if(e>>>0>357913941){g=hd(8)|0;LQa(g,349912);f[g>>2]=118288;ld(g|0,20688,857)}else{k=EQa(e*12|0)|0;break}else k=0;while(0);f[d>>2]=k;g=k+(i*12|0)|0;i=d+8|0;h=d+4|0;f[h>>2]=g;f[d+12>>2]=k+(e*12|0);FVa(g|0,0,b*12|0)|0;f[i>>2]=g+(b*12|0);sK(a,d);a=f[h>>2]|0;h=f[i>>2]|0;if((h|0)!=(a|0)){b=h;while(1){h=b+-12|0;f[i>>2]=h;g=f[h>>2]|0;if(!g)l=h;else{h=b+-8|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;GQa(g);l=f[i>>2]|0}if((l|0)==(a|0))break;else b=l}}l=f[d>>2]|0;if(l|0)GQa(l);u=c;return}function bK(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if((e-h|0)>>>0>=c>>>0){i=c;j=h;do{b[j>>0]=0;j=(f[g>>2]|0)+1|0;f[g>>2]=j;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;j=h-i|0;h=j+c|0;if((h|0)<0)ZOa(a);k=e-i|0;i=k<<1;e=k>>>0<1073741823?(i>>>0>>0?h:i):2147483647;if(!e)l=0;else l=EQa(e)|0;i=l+j|0;j=l+e|0;e=c;c=i;l=i;do{b[l>>0]=0;l=c+1|0;c=l;e=e+-1|0}while((e|0)!=0);e=f[a>>2]|0;l=(f[g>>2]|0)-e|0;h=i+(0-l)|0;if((l|0)>0)DVa(h|0,e|0,l|0)|0;f[a>>2]=h;f[g>>2]=c;f[d>>2]=j;if(!e)return;GQa(e);return}function cK(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if(e-h>>1>>>0>=c>>>0){i=c;j=h;do{b[j>>0]=0;b[j+1>>0]=0;j=(f[g>>2]|0)+2|0;f[g>>2]=j;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;j=h-i>>1;h=j+c|0;if((h|0)<0)ZOa(a);k=e-i|0;i=k>>1>>>0<1073741823?(k>>>0>>0?h:k):2147483647;do if(i)if((i|0)<0){k=hd(8)|0;LQa(k,349912);f[k>>2]=118288;ld(k|0,20688,857)}else{l=EQa(i<<1)|0;break}else l=0;while(0);k=l+(j<<1)|0;j=k;h=l+(i<<1)|0;i=c;c=k;l=j;do{b[c>>0]=0;b[c+1>>0]=0;c=l+2|0;l=c;i=i+-1|0}while((i|0)!=0);i=h;h=f[a>>2]|0;c=f[g>>2]|0;if((c|0)==(h|0)){m=j;n=h}else{e=c;c=j;j=k;do{k=e;e=e+-2|0;b[j+-2>>0]=b[e>>0]|0;b[j+-1>>0]=b[k+-1>>0]|0;j=c+-2|0;c=j}while((e|0)!=(h|0));m=c;n=f[a>>2]|0}f[a>>2]=m;f[g>>2]=l;f[d>>2]=i;if(!n)return;GQa(n);return}function dK(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if(((e-h|0)/3|0)>>>0>=c>>>0){i=c;j=h;do{b[j>>0]=0;b[j+1>>0]=0;b[j+2>>0]=0;j=(f[g>>2]|0)+3|0;f[g>>2]=j;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;j=(h-i|0)/3|0;h=j+c|0;if(h>>>0>1431655765)ZOa(a);k=(e-i|0)/3|0;i=k<<1;e=k>>>0<715827882?(i>>>0>>0?h:i):1431655765;do if(e)if(e>>>0>1431655765){i=hd(8)|0;LQa(i,349912);f[i>>2]=118288;ld(i|0,20688,857)}else{l=EQa(e*3|0)|0;break}else l=0;while(0);i=l+(j*3|0)|0;j=i;h=l+(e*3|0)|0;e=c;c=j;l=i;do{b[l>>0]=0;b[l+1>>0]=0;b[l+2>>0]=0;l=c+3|0;c=l;e=e+-1|0}while((e|0)!=0);e=h;h=f[a>>2]|0;l=f[g>>2]|0;if((l|0)==(h|0)){m=j;n=h}else{k=l;l=j;j=i;do{i=k;k=k+-3|0;b[j+-3>>0]=b[k>>0]|0;b[j+-2>>0]=b[i+-2>>0]|0;b[j+-1>>0]=b[i+-1>>0]|0;j=l+-3|0;l=j}while((k|0)!=(h|0));m=l;n=f[a>>2]|0}f[a>>2]=m;f[g>>2]=c;f[d>>2]=e;if(!n)return;GQa(n);return}function eK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>2>>>0>=b>>>0){FVa(g|0,0,b<<2|0)|0;f[e>>2]=g+(b<<2);return}h=f[a>>2]|0;i=g-h|0;g=i>>2;j=g+b|0;if(j>>>0>1073741823)ZOa(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0>>0?j:d):1073741823;do if(l)if(l>>>0>1073741823){d=hd(8)|0;LQa(d,349912);f[d>>2]=118288;ld(d|0,20688,857)}else{d=EQa(l<<2)|0;m=d;n=d;break}else{m=0;n=0}while(0);d=m+(g<<2)|0;FVa(d|0,0,b<<2|0)|0;if((i|0)>0)DVa(n|0,h|0,i|0)|0;f[a>>2]=m;f[e>>2]=d+(b<<2);f[c>>2]=m+(l<<2);if(!h)return;GQa(h);return}function fK(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;e=f[c>>2]|0;g=a+4|0;h=f[g>>2]|0;if(((e-h|0)/6|0)>>>0>=b>>>0){i=b;j=h;do{d[j>>1]=0;d[j+2>>1]=0;d[j+4>>1]=0;j=(f[g>>2]|0)+6|0;f[g>>2]=j;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;j=(h-i|0)/6|0;h=j+b|0;if(h>>>0>715827882)ZOa(a);k=(e-i|0)/6|0;i=k<<1;e=k>>>0<357913941?(i>>>0>>0?h:i):715827882;do if(e)if(e>>>0>715827882){i=hd(8)|0;LQa(i,349912);f[i>>2]=118288;ld(i|0,20688,857)}else{l=EQa(e*6|0)|0;break}else l=0;while(0);i=l+(j*6|0)|0;j=i;h=l+(e*6|0)|0;e=b;b=i;l=j;do{d[b>>1]=0;d[b+2>>1]=0;d[b+4>>1]=0;b=l+6|0;l=b;e=e+-1|0}while((e|0)!=0);e=h;h=f[a>>2]|0;b=f[g>>2]|0;if((b|0)==(h|0)){m=j;n=h}else{j=b;b=i;do{i=j;j=j+-6|0;d[b+-6>>1]=d[j>>1]|0;d[b+-4>>1]=d[i+-4>>1]|0;d[b+-2>>1]=d[i+-2>>1]|0;b=b+-6|0}while((j|0)!=(h|0));m=b;n=f[a>>2]|0}f[a>>2]=m;f[g>>2]=l;f[c>>2]=e;if(!n)return;GQa(n);return}function gK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>3>>>0>=b>>>0){h=b;i=g;do{j=i;f[j>>2]=0;f[j+4>>2]=0;i=(f[e>>2]|0)+8|0;f[e>>2]=i;h=h+-1|0}while((h|0)!=0);return}h=f[a>>2]|0;i=g-h>>3;g=i+b|0;if(g>>>0>536870911)ZOa(a);j=d-h|0;h=j>>2;d=j>>3>>>0<268435455?(h>>>0>>0?g:h):536870911;do if(d)if(d>>>0>536870911){h=hd(8)|0;LQa(h,349912);f[h>>2]=118288;ld(h|0,20688,857)}else{k=EQa(d<<3)|0;break}else k=0;while(0);h=k+(i<<3)|0;i=h;g=k+(d<<3)|0;d=b;b=h;k=i;do{j=b;f[j>>2]=0;f[j+4>>2]=0;b=k+8|0;k=b;d=d+-1|0}while((d|0)!=0);d=g;g=f[a>>2]|0;b=f[e>>2]|0;j=g;if((b|0)==(g|0)){l=i;m=j}else{i=b+-8-j|0;j=b;b=h;while(1){n=j;j=j+-8|0;f[b+-8>>2]=f[j>>2];f[b+-4>>2]=f[n+-4>>2];if((j|0)==(g|0))break;else b=b+-8|0}l=h+(~(i>>>3)<<3)|0;m=f[a>>2]|0}f[a>>2]=l;f[e>>2]=k;f[c>>2]=d;if(!m)return;GQa(m);return}function hK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(((d-g|0)/12|0)>>>0>=b>>>0){h=b;i=g;do{f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;i=(f[e>>2]|0)+12|0;f[e>>2]=i;h=h+-1|0}while((h|0)!=0);return}h=f[a>>2]|0;i=(g-h|0)/12|0;g=i+b|0;if(g>>>0>357913941)ZOa(a);j=(d-h|0)/12|0;h=j<<1;d=j>>>0<178956970?(h>>>0>>0?g:h):357913941;do if(d)if(d>>>0>357913941){h=hd(8)|0;LQa(h,349912);f[h>>2]=118288;ld(h|0,20688,857)}else{k=EQa(d*12|0)|0;break}else k=0;while(0);h=k+(i*12|0)|0;i=h;g=k+(d*12|0)|0;d=b;b=h;k=i;do{f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;b=k+12|0;k=b;d=d+-1|0}while((d|0)!=0);d=g;g=f[a>>2]|0;b=f[e>>2]|0;if((b|0)==(g|0)){l=i;m=g}else{i=b;b=h;do{h=i;i=i+-12|0;f[b+-12>>2]=f[i>>2];f[b+-8>>2]=f[h+-8>>2];f[b+-4>>2]=f[h+-4>>2];b=b+-12|0}while((i|0)!=(g|0));l=b;m=f[a>>2]|0}f[a>>2]=l;f[e>>2]=k;f[c>>2]=d;if(!m)return;GQa(m);return}function iK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>4>>>0>=b>>>0){h=b;i=g;do{f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;i=(f[e>>2]|0)+16|0;f[e>>2]=i;h=h+-1|0}while((h|0)!=0);return}h=f[a>>2]|0;i=g-h>>4;g=i+b|0;if(g>>>0>268435455)ZOa(a);j=d-h|0;h=j>>3;d=j>>4>>>0<134217727?(h>>>0>>0?g:h):268435455;do if(d)if(d>>>0>268435455){h=hd(8)|0;LQa(h,349912);f[h>>2]=118288;ld(h|0,20688,857)}else{k=EQa(d<<4)|0;break}else k=0;while(0);h=k+(i<<4)|0;i=h;g=k+(d<<4)|0;d=b;b=h;k=i;do{f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;b=k+16|0;k=b;d=d+-1|0}while((d|0)!=0);d=g;g=f[a>>2]|0;b=f[e>>2]|0;j=g;if((b|0)==(g|0)){l=i;m=j}else{i=b+-16-j|0;j=b;b=h;while(1){n=j;j=j+-16|0;f[b+-16>>2]=f[j>>2];f[b+-12>>2]=f[n+-12>>2];f[b+-8>>2]=f[n+-8>>2];f[b+-4>>2]=f[n+-4>>2];if((j|0)==(g|0))break;else b=b+-16|0}l=h+(~(i>>>4)<<4)|0;m=f[a>>2]|0}f[a>>2]=l;f[e>>2]=k;f[c>>2]=d;if(!m)return;GQa(m);return}function jK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(((d-g|0)/24|0)>>>0>=b>>>0){h=b;i=g;do{f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;i=(f[e>>2]|0)+24|0;f[e>>2]=i;h=h+-1|0}while((h|0)!=0);return}h=f[a>>2]|0;i=(g-h|0)/24|0;g=i+b|0;if(g>>>0>178956970)ZOa(a);j=(d-h|0)/24|0;h=j<<1;d=j>>>0<89478485?(h>>>0>>0?g:h):178956970;do if(d)if(d>>>0>178956970){h=hd(8)|0;LQa(h,349912);f[h>>2]=118288;ld(h|0,20688,857)}else{k=EQa(d*24|0)|0;break}else k=0;while(0);h=k+(i*24|0)|0;i=h;g=k+(d*24|0)|0;d=b;b=h;k=i;do{f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;b=k+24|0;k=b;d=d+-1|0}while((d|0)!=0);d=g;g=f[a>>2]|0;b=f[e>>2]|0;if((b|0)==(g|0)){l=i;m=g}else{i=b;b=h;do{h=i;i=i+-24|0;f[b+-24>>2]=f[i>>2];f[b+-20>>2]=f[h+-20>>2];f[b+-16>>2]=f[h+-16>>2];f[b+-12>>2]=f[h+-12>>2];f[b+-8>>2]=f[h+-8>>2];f[b+-4>>2]=f[h+-4>>2];b=b+-24|0}while((i|0)!=(g|0));l=b;m=f[a>>2]|0}f[a>>2]=l;f[e>>2]=k;f[c>>2]=d;if(!m)return;GQa(m);return}function kK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>5>>>0>=b>>>0){h=b;i=g;do{f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;f[i+28>>2]=0;i=(f[e>>2]|0)+32|0;f[e>>2]=i;h=h+-1|0}while((h|0)!=0);return}h=f[a>>2]|0;i=g-h>>5;g=i+b|0;if(g>>>0>134217727)ZOa(a);j=d-h|0;h=j>>4;d=j>>5>>>0<67108863?(h>>>0>>0?g:h):134217727;do if(d)if(d>>>0>134217727){h=hd(8)|0;LQa(h,349912);f[h>>2]=118288;ld(h|0,20688,857)}else{k=EQa(d<<5)|0;break}else k=0;while(0);h=k+(i<<5)|0;i=h;g=k+(d<<5)|0;d=b;b=h;k=i;do{f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;b=k+32|0;k=b;d=d+-1|0}while((d|0)!=0);d=g;g=f[a>>2]|0;b=f[e>>2]|0;j=g;if((b|0)==(g|0)){l=i;m=j}else{i=b+-32-j|0;j=b;b=h;while(1){n=j;j=j+-32|0;f[b+-32>>2]=f[j>>2];f[b+-28>>2]=f[n+-28>>2];f[b+-24>>2]=f[n+-24>>2];f[b+-20>>2]=f[n+-20>>2];f[b+-16>>2]=f[n+-16>>2];f[b+-12>>2]=f[n+-12>>2];f[b+-8>>2]=f[n+-8>>2];f[b+-4>>2]=f[n+-4>>2];if((j|0)==(g|0))break;else b=b+-32|0}l=h+(~(i>>>5)<<5)|0;m=f[a>>2]|0}f[a>>2]=l;f[e>>2]=k;f[c>>2]=d;if(!m)return;GQa(m);return}function lK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(((d-g|0)/36|0)>>>0>=b>>>0){h=b;i=g;do{j=i;k=j+36|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));i=(f[e>>2]|0)+36|0;f[e>>2]=i;h=h+-1|0}while((h|0)!=0);return}h=f[a>>2]|0;i=(g-h|0)/36|0;g=i+b|0;if(g>>>0>119304647)ZOa(a);l=(d-h|0)/36|0;h=l<<1;d=l>>>0<59652323?(h>>>0>>0?g:h):119304647;do if(d)if(d>>>0>119304647){h=hd(8)|0;LQa(h,349912);f[h>>2]=118288;ld(h|0,20688,857)}else{m=EQa(d*36|0)|0;break}else m=0;while(0);h=m+(i*36|0)|0;i=h;g=m+(d*36|0)|0;d=b;b=h;m=i;do{j=b;k=j+36|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));b=m+36|0;m=b;d=d+-1|0}while((d|0)!=0);d=g;g=f[a>>2]|0;b=f[e>>2]|0;if((b|0)==(g|0)){n=i;o=g}else{i=b;b=h;do{h=i;i=i+-36|0;f[b+-36>>2]=f[i>>2];f[b+-32>>2]=f[h+-32>>2];f[b+-28>>2]=f[h+-28>>2];f[b+-24>>2]=f[h+-24>>2];f[b+-20>>2]=f[h+-20>>2];f[b+-16>>2]=f[h+-16>>2];f[b+-12>>2]=f[h+-12>>2];f[b+-8>>2]=f[h+-8>>2];f[b+-4>>2]=f[h+-4>>2];b=b+-36|0}while((i|0)!=(g|0));n=b;o=f[a>>2]|0}f[a>>2]=n;f[e>>2]=m;f[c>>2]=d;if(!o)return;GQa(o);return}function mK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(((d-g|0)/48|0)>>>0>=b>>>0){h=b;i=g;do{j=i;k=j+48|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));i=(f[e>>2]|0)+48|0;f[e>>2]=i;h=h+-1|0}while((h|0)!=0);return}h=f[a>>2]|0;i=(g-h|0)/48|0;g=i+b|0;if(g>>>0>89478485)ZOa(a);l=(d-h|0)/48|0;h=l<<1;d=l>>>0<44739242?(h>>>0>>0?g:h):89478485;do if(d)if(d>>>0>89478485){h=hd(8)|0;LQa(h,349912);f[h>>2]=118288;ld(h|0,20688,857)}else{m=EQa(d*48|0)|0;break}else m=0;while(0);h=m+(i*48|0)|0;i=h;g=m+(d*48|0)|0;d=b;b=h;m=i;do{j=b;k=j+48|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));b=m+48|0;m=b;d=d+-1|0}while((d|0)!=0);d=g;g=f[a>>2]|0;b=f[e>>2]|0;if((b|0)==(g|0)){n=i;o=g}else{i=b;b=h;do{h=i;i=i+-48|0;f[b+-48>>2]=f[i>>2];f[b+-44>>2]=f[h+-44>>2];f[b+-40>>2]=f[h+-40>>2];f[b+-36>>2]=f[h+-36>>2];f[b+-32>>2]=f[h+-32>>2];f[b+-28>>2]=f[h+-28>>2];f[b+-24>>2]=f[h+-24>>2];f[b+-20>>2]=f[h+-20>>2];f[b+-16>>2]=f[h+-16>>2];f[b+-12>>2]=f[h+-12>>2];f[b+-8>>2]=f[h+-8>>2];f[b+-4>>2]=f[h+-4>>2];b=b+-48|0}while((i|0)!=(g|0));n=b;o=f[a>>2]|0}f[a>>2]=n;f[e>>2]=m;f[c>>2]=d;if(!o)return;GQa(o);return}function nK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>6>>>0>=b>>>0){h=b;i=g;do{j=i;k=j+64|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));i=(f[e>>2]|0)+64|0;f[e>>2]=i;h=h+-1|0}while((h|0)!=0);return}h=f[a>>2]|0;i=g-h>>6;g=i+b|0;if(g>>>0>67108863)ZOa(a);l=d-h|0;h=l>>5;d=l>>6>>>0<33554431?(h>>>0>>0?g:h):67108863;do if(d)if(d>>>0>67108863){h=hd(8)|0;LQa(h,349912);f[h>>2]=118288;ld(h|0,20688,857)}else{m=EQa(d<<6)|0;break}else m=0;while(0);h=m+(i<<6)|0;i=h;g=m+(d<<6)|0;d=b;b=h;m=i;do{j=b;k=j+64|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));b=m+64|0;m=b;d=d+-1|0}while((d|0)!=0);d=g;g=f[a>>2]|0;b=f[e>>2]|0;j=g;if((b|0)==(g|0)){n=i;o=j}else{i=b+-64-j|0;j=b;b=h;while(1){k=j;j=j+-64|0;f[b+-64>>2]=f[j>>2];f[b+-60>>2]=f[k+-60>>2];f[b+-56>>2]=f[k+-56>>2];f[b+-52>>2]=f[k+-52>>2];f[b+-48>>2]=f[k+-48>>2];f[b+-44>>2]=f[k+-44>>2];f[b+-40>>2]=f[k+-40>>2];f[b+-36>>2]=f[k+-36>>2];f[b+-32>>2]=f[k+-32>>2];f[b+-28>>2]=f[k+-28>>2];f[b+-24>>2]=f[k+-24>>2];f[b+-20>>2]=f[k+-20>>2];f[b+-16>>2]=f[k+-16>>2];f[b+-12>>2]=f[k+-12>>2];f[b+-8>>2]=f[k+-8>>2];f[b+-4>>2]=f[k+-4>>2];if((j|0)==(g|0))break;else b=b+-64|0}n=h+(~(i>>>6)<<6)|0;o=f[a>>2]|0}f[a>>2]=n;f[e>>2]=m;f[c>>2]=d;if(!o)return;GQa(o);return}function oK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+32|0;d=c;e=f[a+8>>2]|0;g=a+4|0;h=f[g>>2]|0;if(e-h>>7>>>0>=b>>>0){i=b;j=h;do{k=j;l=k+128|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));j=(f[g>>2]|0)+128|0;f[g>>2]=j;i=i+-1|0}while((i|0)!=0);u=c;return}i=f[a>>2]|0;j=h-i>>7;h=j+b|0;if(h>>>0>33554431)ZOa(a);g=e-i|0;i=g>>6;e=g>>7>>>0<16777215?(i>>>0>>0?h:i):33554431;f[d+12>>2]=0;f[d+16>>2]=a+8;do if(e)if(e>>>0>33554431){i=hd(8)|0;LQa(i,349912);f[i>>2]=118288;ld(i|0,20688,857)}else{m=EQa(e<<7)|0;break}else m=0;while(0);f[d>>2]=m;i=m+(j<<7)|0;j=d+8|0;h=d+4|0;f[h>>2]=i;f[d+12>>2]=m+(e<<7);FVa(i|0,0,b<<7|0)|0;f[j>>2]=i+(b<<7);rK(a,d);a=f[h>>2]|0;h=f[j>>2]|0;if((h|0)!=(a|0))f[j>>2]=h+(~((h+-128-a|0)>>>7)<<7);a=f[d>>2]|0;if(a|0)GQa(a);u=c;return}function pK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>8>>>0>=b>>>0){h=b;i=g;do{FVa(i|0,0,256)|0;i=(f[e>>2]|0)+256|0;f[e>>2]=i;h=h+-1|0}while((h|0)!=0);return}h=f[a>>2]|0;i=g-h>>8;g=i+b|0;if(g>>>0>16777215)ZOa(a);j=d-h|0;h=j>>7;d=j>>8>>>0<8388607?(h>>>0>>0?g:h):16777215;do if(d)if(d>>>0>16777215){h=hd(8)|0;LQa(h,349912);f[h>>2]=118288;ld(h|0,20688,857)}else{k=EQa(d<<8)|0;break}else k=0;while(0);h=k+(i<<8)|0;i=h;g=k+(d<<8)|0;d=b;b=h;k=i;do{FVa(b|0,0,256)|0;b=k+256|0;k=b;d=d+-1|0}while((d|0)!=0);d=g;g=f[a>>2]|0;b=f[e>>2]|0;j=g;if((b|0)==(g|0)){l=i;m=j}else{i=b+-256-j|0;j=b;b=h;while(1){n=0;do{f[b+-256+(n<<2)>>2]=f[j+-256+(n<<2)>>2];n=n+1|0}while((n|0)!=64);j=j+-256|0;if((j|0)==(g|0))break;else b=b+-256|0}l=h+(~(i>>>8)<<8)|0;m=f[a>>2]|0}f[a>>2]=l;f[e>>2]=k;f[c>>2]=d;if(!m)return;GQa(m);return}function qK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>9>>>0>=b>>>0){h=b;i=g;do{FVa(i|0,0,512)|0;i=(f[e>>2]|0)+512|0;f[e>>2]=i;h=h+-1|0}while((h|0)!=0);return}h=f[a>>2]|0;i=g-h>>9;g=i+b|0;if(g>>>0>8388607)ZOa(a);j=d-h|0;h=j>>8;d=j>>9>>>0<4194303?(h>>>0>>0?g:h):8388607;do if(d)if(d>>>0>8388607){h=hd(8)|0;LQa(h,349912);f[h>>2]=118288;ld(h|0,20688,857)}else{k=EQa(d<<9)|0;break}else k=0;while(0);h=k+(i<<9)|0;i=h;g=k+(d<<9)|0;d=b;b=h;k=i;do{FVa(b|0,0,512)|0;b=k+512|0;k=b;d=d+-1|0}while((d|0)!=0);d=g;g=f[a>>2]|0;b=f[e>>2]|0;j=g;if((b|0)==(g|0)){l=i;m=j}else{i=b+-512-j|0;j=b;b=h;while(1){n=0;do{f[b+-512+(n<<2)>>2]=f[j+-512+(n<<2)>>2];n=n+1|0}while((n|0)!=128);j=j+-512|0;if((j|0)==(g|0))break;else b=b+-512|0}l=h+(~(i>>>9)<<9)|0;m=f[a>>2]|0}f[a>>2]=l;f[e>>2]=k;f[c>>2]=d;if(!m)return;GQa(m);return}function rK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;c=f[a>>2]|0;d=a+4|0;e=f[d>>2]|0;g=b+4|0;h=c;if((e|0)==(c|0)){i=g;j=a;k=f[g>>2]|0;l=h;f[j>>2]=k;f[i>>2]=l;m=b+8|0;n=f[d>>2]|0;o=f[m>>2]|0;f[d>>2]=o;f[m>>2]=n;p=a+8|0;q=b+12|0;r=f[p>>2]|0;s=f[q>>2]|0;f[p>>2]=s;f[q>>2]=r;t=f[i>>2]|0;f[b>>2]=t;return}u=f[g>>2]|0;v=(e+-128-h|0)>>>7;h=e;e=u;while(1){w=h;h=h+-128|0;f[e+-128>>2]=f[h>>2];f[e+-124>>2]=f[w+-124>>2];f[e+-120>>2]=f[w+-120>>2];f[e+-116>>2]=f[w+-116>>2];f[e+-112>>2]=f[w+-112>>2];f[e+-108>>2]=f[w+-108>>2];f[e+-104>>2]=f[w+-104>>2];f[e+-100>>2]=f[w+-100>>2];f[e+-96>>2]=f[w+-96>>2];f[e+-92>>2]=f[w+-92>>2];f[e+-88>>2]=f[w+-88>>2];f[e+-84>>2]=f[w+-84>>2];f[e+-80>>2]=f[w+-80>>2];f[e+-76>>2]=f[w+-76>>2];f[e+-72>>2]=f[w+-72>>2];f[e+-68>>2]=f[w+-68>>2];f[e+-64>>2]=f[w+-64>>2];f[e+-60>>2]=f[w+-60>>2];f[e+-56>>2]=f[w+-56>>2];f[e+-52>>2]=f[w+-52>>2];f[e+-48>>2]=f[w+-48>>2];f[e+-44>>2]=f[w+-44>>2];f[e+-40>>2]=f[w+-40>>2];f[e+-36>>2]=f[w+-36>>2];f[e+-32>>2]=f[w+-32>>2];f[e+-28>>2]=f[w+-28>>2];f[e+-24>>2]=f[w+-24>>2];f[e+-20>>2]=f[w+-20>>2];f[e+-16>>2]=f[w+-16>>2];f[e+-12>>2]=f[w+-12>>2];f[e+-8>>2]=f[w+-8>>2];f[e+-4>>2]=f[w+-4>>2];if((h|0)==(c|0))break;else e=e+-128|0}e=u+(~v<<7)|0;f[g>>2]=e;i=g;j=a;k=e;l=f[a>>2]|0;f[j>>2]=k;f[i>>2]=l;m=b+8|0;n=f[d>>2]|0;o=f[m>>2]|0;f[d>>2]=o;f[m>>2]=n;p=a+8|0;q=b+12|0;r=f[p>>2]|0;s=f[q>>2]|0;f[p>>2]=s;f[q>>2]=r;t=f[i>>2]|0;f[b>>2]=t;return}function sK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=f[a>>2]|0;d=a+4|0;e=f[d>>2]|0;g=b+4|0;do if((e|0)!=(c|0)){h=e;i=f[g>>2]|0;while(1){j=i+-12|0;f[j>>2]=0;k=i+-8|0;f[k>>2]=0;f[i+-4>>2]=0;l=h+-8|0;h=h+-12|0;m=(f[l>>2]|0)-(f[h>>2]|0)|0;if(m|0){if((m|0)<0){n=6;break}o=EQa(m)|0;f[k>>2]=o;f[j>>2]=o;f[i+-4>>2]=o+m;m=f[h>>2]|0;p=(f[l>>2]|0)-m|0;if((p|0)>0){DVa(o|0,m|0,p|0)|0;f[k>>2]=o+p}}i=(f[g>>2]|0)+-12|0;f[g>>2]=i;if((h|0)==(c|0)){n=10;break}}if((n|0)==6)ZOa(j);else if((n|0)==10){q=g;r=a;s=i;t=f[a>>2]|0;break}}else{q=g;r=a;s=f[g>>2]|0;t=c}while(0);f[r>>2]=s;f[q>>2]=t;t=b+8|0;s=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=s;s=a+8|0;a=b+12|0;t=f[s>>2]|0;f[s>>2]=f[a>>2];f[a>>2]=t;f[b>>2]=f[q>>2];return}function tK(a){a=a|0;return (f[a>>2]&1073741824|0)!=0|0}function uK(a){a=a|0;return (f[a>>2]|0)<0|0}function vK(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;j=u;u=u+16|0;k=j;l=f[a>>2]|0;m=l&2031616;n=(g|0)<0;do if(n&(m|0)==65536){if((i|0)==0&(h^1)){if((l&1073741824|0)!=0?(o=f[(f[a+4>>2]|0)+40>>2]|0,!((f[o>>2]|0)==(c|0)?(f[o+4>>2]|0)==(d|0):0)):0){f[k>>2]=0;f[k+4>>2]=0;p=JV(k,68)|0;q=152645;r=p+68|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));EP(-215,k,169501,150696,1240);KV(k);s=f[a>>2]|0}else s=l;o=a+4|0;if((s|0)<0?(f[f[o>>2]>>2]&4095|0)!=(e|0):0){f[k>>2]=0;f[k+4>>2]=0;p=JV(k,44)|0;q=151302;r=p+44|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));EP(-215,k,169501,150696,1241);KV(k)}t=f[o>>2]|0;v=e&4095;if(((((f[t+4>>2]|0)<3?(f[t+8>>2]|0)==(c|0):0)?(f[t+12>>2]|0)==(d|0):0)?(f[t>>2]&4095|0)==(v|0):0)?f[t+16>>2]|0:0){u=j;return}f[k>>2]=c;f[k+4>>2]=d;VO(t,2,k,v);u=j;return}}else{if(n&(m|0)==655360){if(!((i|0)==0&(h^1)))break;if((l&1073741824|0)!=0?(v=f[(f[a+4>>2]|0)+32>>2]|0,!((f[v>>2]|0)==(c|0)?(f[v+4>>2]|0)==(d|0):0)):0){f[k>>2]=0;f[k+4>>2]=0;p=JV(k,69)|0;q=152714;r=p+69|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));EP(-215,k,169501,150696,1247);KV(k);w=f[a>>2]|0}else w=l;o=a+4|0;if((w|0)<0?(f[f[o>>2]>>2]&4095|0)!=(e|0):0){f[k>>2]=0;f[k+4>>2]=0;p=JV(k,45)|0;q=151402;r=p+45|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));EP(-215,k,169501,150696,1248);KV(k)}v=f[o>>2]|0;t=e&4095;if(((((f[v+4>>2]|0)<3?(f[v+8>>2]|0)==(c|0):0)?(f[v+12>>2]|0)==(d|0):0)?(f[v>>2]&4095|0)==(t|0):0)?f[v+24>>2]|0:0){u=j;return}f[k>>2]=c;f[k+4>>2]=d;rN(v,2,k,t,0);u=j;return}if(n&(m|0)==589824){if(!((i|0)==0&(h^1)))break;if((l&1073741824|0)!=0?(t=f[a+4>>2]|0,!((f[t+8>>2]|0)==(d|0)?(f[t+4>>2]|0)==(c|0):0)):0){f[k>>2]=0;f[k+4>>2]=0;p=JV(k,66)|0;q=152784;r=p+66|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));EP(-215,k,169501,150696,1254);KV(k);x=f[a>>2]|0}else x=l;o=a+4|0;if((x|0)<0?(f[f[o>>2]>>2]&4095|0)!=(e|0):0){f[k>>2]=0;f[k+4>>2]=0;p=JV(k,53)|0;q=151500;r=p+53|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));EP(-215,k,169501,150696,1255);KV(k)}EK(f[o>>2]|0,c,d,e);u=j;return}if(n&(m|0)==458752){if(!((i|0)==0&(h^1)))break;if((l&1073741824|0)!=0?(t=f[a+4>>2]|0,!((f[t+12>>2]|0)==(d|0)?(f[t+8>>2]|0)==(c|0):0)):0){f[k>>2]=0;f[k+4>>2]=0;p=JV(k,65)|0;q=152851;r=p+65|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));EP(-215,k,169501,150696,1261);KV(k);y=f[a>>2]|0}else y=l;o=a+4|0;if((y|0)<0?(f[(f[o>>2]|0)+16>>2]|0)!=(e|0):0){f[k>>2]=0;f[k+4>>2]=0;p=JV(k,52)|0;q=151605;r=p+52|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));EP(-215,k,169501,150696,1262);KV(k)}CK(f[o>>2]|0,c,d,e,34962,0);u=j;return}if(n&(m|0)==524288?(i|0)==0&(h^1):0){if((l&1073741824|0)!=0?(t=f[a+4>>2]|0,!((f[t+8>>2]|0)==(d|0)?(f[t+4>>2]|0)==(c|0):0)):0){f[k>>2]=0;f[k+4>>2]=0;p=JV(k,67)|0;q=152917;r=p+67|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));EP(-215,k,169501,150696,1268);KV(k);z=f[a>>2]|0}else z=l;o=a+4|0;if((z|0)<0?(f[f[o>>2]>>2]&4095|0)!=(e|0):0){f[k>>2]=0;f[k+4>>2]=0;p=JV(k,54)|0;q=151711;r=p+54|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));EP(-215,k,169501,150696,1269);KV(k)}SY(f[o>>2]|0,c,d,e);u=j;return}}while(0);f[k>>2]=c;f[k+4>>2]=d;$J(a,2,k,e,g,h,i);u=j;return}function wK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+128|0;e=d;$J(a,PJ(b,e,-1)|0,e,c,-1,0,0);u=d;return}function xK(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=u;u=u+16|0;d=c;e=f[a>>2]|0;if((e&2031616|0)!=65536){YJ(a);u=c;return}if(e&1073741824|0){f[d>>2]=0;f[d+4>>2]=0;e=JV(d,12)|0;g=151235;h=e+12|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));EP(-215,d,152985,150696,1727);KV(d)}dP(f[a+4>>2]|0,0);u=c;return}function yK(a){a=a|0;return (f[a>>2]&2031616|0)!=0|0}function zK(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=u;u=u+16|0;e=d;g=f[a>>2]&2031616;if((c|0)<0){if((g|0)!=655360){f[e>>2]=0;f[e+4>>2]=0;h=JV(e,9)|0;i=152991;j=h+9|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));EP(-215,e,153001,150696,1770);KV(e)}k=f[a+4>>2]|0;u=d;return k|0}if((g|0)!=720896){f[e>>2]=0;f[e+4>>2]=0;h=JV(e,20)|0;i=153012;j=h+20|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));EP(-215,e,153001,150696,1775);KV(e)}g=f[a+4>>2]|0;a=f[g>>2]|0;if((((f[g+4>>2]|0)-a|0)/48|0|0)>(c|0))l=a;else{f[e>>2]=0;f[e+4>>2]=0;h=JV(e,17)|0;i=151217;j=h+17|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));EP(-215,e,153001,150696,1777);KV(e);l=f[g>>2]|0}k=l+(c*48|0)|0;u=d;return k|0}function AK(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0.0,s=0.0,t=0.0;e=u;u=u+112|0;g=e;h=e+56|0;i=f[a>>2]|0;switch(i>>>16&31){case 1:case 2:case 3:case 14:{do if((i&2031616|0)==65536){j=f[a+4>>2]|0;f[g>>2]=f[j>>2];k=g+4|0;l=j+4|0;f[k>>2]=f[l>>2];m=g+8|0;f[m>>2]=f[j+8>>2];f[g+12>>2]=f[j+12>>2];f[g+16>>2]=f[j+16>>2];f[g+20>>2]=f[j+20>>2];f[g+24>>2]=f[j+24>>2];f[g+28>>2]=f[j+28>>2];f[g+32>>2]=f[j+32>>2];n=f[j+36>>2]|0;f[g+36>>2]=n;f[g+40>>2]=m;m=g+48|0;o=g+44|0;f[o>>2]=m;f[m>>2]=0;f[g+52>>2]=0;if(n|0){m=n+12|0;f[m>>2]=(f[m>>2]|0)+1}if((f[l>>2]|0)<3){l=f[j+44>>2]|0;m=f[o>>2]|0;f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];break}else{f[k>>2]=0;WO(g,j);break}}else DJ(g,a,-1);while(0);hM(g,c,d)|0;i=g+36|0;j=f[i>>2]|0;if(j|0?(k=j+12|0,j=f[k>>2]|0,f[k>>2]=j+-1,(j|0)==1):0)XO(g);f[i>>2]=0;i=g+16|0;j=g+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[j>>2]|0)>0){i=f[g+40>>2]|0;k=0;do{f[i+(k<<2)>>2]=0;k=k+1|0}while((k|0)<(f[j>>2]|0))}j=f[g+44>>2]|0;if((j|0)!=(g+48|0))dX(j);u=e;return}case 10:{yN(f[a+4>>2]|0,c,d)|0;u=e;return}case 9:{do if((f[c>>2]&2031616|0)==65536){j=f[c+4>>2]|0;f[h>>2]=f[j>>2];k=h+4|0;i=j+4|0;f[k>>2]=f[i>>2];l=h+8|0;f[l>>2]=f[j+8>>2];f[h+12>>2]=f[j+12>>2];f[h+16>>2]=f[j+16>>2];f[h+20>>2]=f[j+20>>2];f[h+24>>2]=f[j+24>>2];f[h+28>>2]=f[j+28>>2];f[h+32>>2]=f[j+32>>2];m=f[j+36>>2]|0;f[h+36>>2]=m;f[h+40>>2]=l;l=h+48|0;o=h+44|0;f[o>>2]=l;f[l>>2]=0;f[h+52>>2]=0;if(m|0){l=m+12|0;f[l>>2]=(f[l>>2]|0)+1}if((f[i>>2]|0)<3){i=f[j+44>>2]|0;l=f[o>>2]|0;f[l>>2]=f[i>>2];f[l+4>>2]=f[i+4>>2];break}else{f[k>>2]=0;WO(h,j);break}}else DJ(h,c,-1);while(0);c=GJ(a,-1)|0;j=h+4|0;if(((f[j>>2]|0)<=2?(k=f[h>>2]|0,(k&16384|0)!=0):0)?(i=f[h+40>>2]|0,l=f[i+4>>2]|0,o=f[i>>2]|0,i=(l|0)==1,m=(o|0)==1,i|m):0){n=c>>>3&511;c=n+1|0;if(!((c|0)==(l|0)&m|i&(m|(c|0)==(o|0)))?n>>>0>3|(k&4095|0)!=6|i&(o|0)==4^1:0)q=31}else q=31;if((q|0)==31){f[g>>2]=0;f[g+4>>2]=0;q=JV(g,65)|0;o=153033;i=q+65|0;do{b[q>>0]=b[o>>0]|0;q=q+1|0;o=o+1|0}while((q|0)<(i|0));EP(-215,g,154986,150696,1825);KV(g)}o=f[a+4>>2]|0;a=h+16|0;q=f[a>>2]|0;i=h+44|0;r=+p[q+8>>3];s=+p[q+16>>3];t=+p[q+24>>3];p[g>>3]=+p[q>>3];p[g+8>>3]=r;p[g+16>>3]=s;p[g+24>>3]=t;GK(o,g,d,bX()|0)|0;d=h+36|0;o=f[d>>2]|0;if(o|0?(q=o+12|0,o=f[q>>2]|0,f[q>>2]=o+-1,(o|0)==1):0)XO(h);f[d>>2]=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if((f[j>>2]|0)>0){a=f[h+40>>2]|0;d=0;do{f[a+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[j>>2]|0))}j=f[i>>2]|0;if((j|0)!=(h+48|0))dX(j);u=e;return}case 0:{u=e;return}default:{f[g>>2]=0;f[g+4>>2]=0;EP(-213,g,154986,150696,1829);KV(g);u=e;return}}}function BK(){return 31812}function CK(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;h=u;u=u+16|0;g=h;f[g>>2]=0;f[g+4>>2]=0;e=JV(g,46)|0;d=153099;c=e+46|0;do{b[e>>0]=b[d>>0]|0;e=e+1|0;d=d+1|0}while((e|0)<(c|0));EP(-218,g,153146,153159,60);KV(g);u=h;return}function DK(a){a=a|0;return}function EK(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0;e=u;u=u+16|0;d=e;f[d>>2]=0;f[d+4>>2]=0;c=JV(d,44)|0;a=184827;g=c+44|0;do{b[c>>0]=b[a>>0]|0;c=c+1|0;a=a+1|0}while((c|0)<(g|0));EP(-216,d,184872,184886,107);KV(d);u=e;return}function FK(a){a=a|0;return}function GK(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;e=u;u=u+16|0;d=e;f[d>>2]=0;f[d+4>>2]=0;c=JV(d,44)|0;g=184827;h=c+44|0;do{b[c>>0]=b[g>>0]|0;c=c+1|0;g=g+1|0}while((c|0)<(h|0));EP(-216,d,184872,184886,107);KV(d);u=e;return a|0}function HK(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;switch(e|0){case 1:{f=YY(a,c,d)|0;return f|0}case 2:{g=153726;break}case 4:{g=153470;break}default:{f=-1;return f|0}}e=d+-4|0;if((d|0)<4){i=0;j=0}else{k=0;l=0;do{m=k|1;n=k|2;o=k|3;l=l+(h[g+((b[c+k>>0]^b[a+k>>0])&255)>>0]|0)+(h[g+((b[c+m>>0]^b[a+m>>0])&255)>>0]|0)+(h[g+((b[c+n>>0]^b[a+n>>0])&255)>>0]|0)+(h[g+((b[c+o>>0]^b[a+o>>0])&255)>>0]|0)|0;k=k+4|0}while((k|0)<=(e|0));i=l;j=d&-4}if((j|0)<(d|0)){p=j;q=i}else{f=i;return f|0}while(1){i=q+(h[g+((b[c+p>>0]^b[a+p>>0])&255)>>0]|0)|0;p=p+1|0;if((p|0)==(d|0)){f=i;break}else q=i}return f|0}function IK(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,M=0.0,N=0,O=0,P=0,Q=0.0,R=0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,Y=0.0,Z=0.0,_=0,$=0.0,aa=0.0,ba=0,ca=0.0,da=0.0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0;e=u;u=u+272|0;g=e+256|0;i=e+200|0;j=e+144|0;k=e+88|0;l=e+72|0;m=e;o=e+40|0;q=e+32|0;yV(g,31828);r=c&7;t=(r|0)==1;v=(r|0)==2;w=(r|0)==4;x=(r|0)==5;y=c&255;a:do switch(y&7){case 1:case 2:case 4:case 5:break;default:{if((r|1|0)==7?(GJ(a,-1)|0)==0:0)break a;f[i>>2]=0;f[i+4>>2]=0;DVa(JV(i,173)|0,153982,173)|0;EP(-215,i,154156,154161,633);KV(i)}}while(0);do if((HJ(a)|0)==65536){c=f[a+4>>2]|0;f[i>>2]=f[c>>2];z=i+4|0;A=c+4|0;f[z>>2]=f[A>>2];B=i+8|0;f[B>>2]=f[c+8>>2];f[i+12>>2]=f[c+12>>2];f[i+16>>2]=f[c+16>>2];f[i+20>>2]=f[c+20>>2];f[i+24>>2]=f[c+24>>2];f[i+28>>2]=f[c+28>>2];f[i+32>>2]=f[c+32>>2];C=f[c+36>>2]|0;f[i+36>>2]=C;f[i+40>>2]=B;B=i+48|0;D=i+44|0;f[D>>2]=B;f[B>>2]=0;f[i+52>>2]=0;if(C|0){B=C+12|0;f[B>>2]=(f[B>>2]|0)+1}if((f[A>>2]|0)<3){A=f[c+44>>2]|0;B=f[D>>2]|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];break}else{f[z>>2]=0;WO(i,c);break}}else DJ(i,a,-1);while(0);do if((HJ(d)|0)==65536){a=f[d+4>>2]|0;f[j>>2]=f[a>>2];c=j+4|0;z=a+4|0;f[c>>2]=f[z>>2];A=j+8|0;f[A>>2]=f[a+8>>2];f[j+12>>2]=f[a+12>>2];f[j+16>>2]=f[a+16>>2];f[j+20>>2]=f[a+20>>2];f[j+24>>2]=f[a+24>>2];f[j+28>>2]=f[a+28>>2];f[j+32>>2]=f[a+32>>2];B=f[a+36>>2]|0;f[j+36>>2]=B;f[j+40>>2]=A;A=j+48|0;D=j+44|0;f[D>>2]=A;f[A>>2]=0;f[j+52>>2]=0;if(B|0){A=B+12|0;f[A>>2]=(f[A>>2]|0)+1}if((f[z>>2]|0)<3){z=f[a+44>>2]|0;A=f[D>>2]|0;f[A>>2]=f[z>>2];f[A+4>>2]=f[z+4>>2];break}else{f[c>>2]=0;WO(j,a);break}}else DJ(j,d,-1);while(0);d=f[i>>2]|0;a=d&7;c=(d>>>3&511)+1|0;z=j+16|0;A=f[z>>2]|0;b:do if(!(d&16384))E=64;else{if(A|0){D=f[j+4>>2]|0;if((D|0)<3)F=X(f[j+12>>2]|0,f[j+8>>2]|0)|0;else{B=f[j+40>>2]|0;C=0;G=1;while(1){H=X(f[B+(C<<2)>>2]|0,G)|0;C=C+1|0;if((C|0)==(D|0)){F=H;break}else G=H}}if(!((D|0)==0|(F|0)==0)){E=64;break}}G=f[i+4>>2]|0;if((G|0)<3)I=X(f[i+12>>2]|0,f[i+8>>2]|0)|0;else{C=f[i+40>>2]|0;B=0;H=1;while(1){J=X(f[C+(B<<2)>>2]|0,H)|0;B=B+1|0;if((B|0)==(G|0)){I=J;break}else H=J}}H=X(I,c)|0;switch(d&7){case 5:break;case 0:{G=f[i+16>>2]|0;switch(y&7){case 6:{M=+(XY(G,H)|0);break b;break}case 7:break;default:{E=64;break b}}B=H+-4|0;if((H|0)<4){N=0;O=0}else{C=0;D=0;do{D=D+(h[153726+(h[G+C>>0]|0)>>0]|0)+(h[153726+(h[G+(C|1)>>0]|0)>>0]|0)+(h[153726+(h[G+(C|2)>>0]|0)>>0]|0)+(h[153726+(h[G+(C|3)>>0]|0)>>0]|0)|0;C=C+4|0}while((C|0)<=(B|0));N=D;O=H&-4}if((O|0)<(H|0)){B=O;C=N;while(1){J=C+(h[153726+(h[G+B>>0]|0)>>0]|0)|0;B=B+1|0;if((B|0)==(H|0)){P=J;break}else C=J}}else P=N;M=+(P|0);break b;break}default:{E=64;break b}}C=f[i+16>>2]|0;if(w){B=H+-4|0;if((H|0)<4){Q=0.0;R=0}else{G=0;S=0.0;do{T=+n[C+(G<<2)>>2];U=+n[C+((G|1)<<2)>>2];V=+n[C+((G|2)<<2)>>2];W=+n[C+((G|3)<<2)>>2];S=S+(T*T+U*U+V*V+W*W);G=G+4|0}while((G|0)<=(B|0));Q=S;R=H&-4}if((R|0)<(H|0)){B=R;W=Q;while(1){V=+n[C+(B<<2)>>2];U=W+V*V;B=B+1|0;if((B|0)==(H|0)){Y=U;break}else W=U}}else Y=Q;M=+L(+(Y+0.0));break}if(x){B=H+-4|0;if((H|0)<4){Z=0.0;_=0}else{G=0;W=0.0;do{S=+n[C+(G<<2)>>2];U=+n[C+((G|1)<<2)>>2];V=+n[C+((G|2)<<2)>>2];T=+n[C+((G|3)<<2)>>2];W=W+(S*S+U*U+V*V+T*T);G=G+4|0}while((G|0)<=(B|0));Z=W;_=H&-4}if((_|0)<(H|0)){B=_;T=Z;while(1){V=+n[C+(B<<2)>>2];U=T+V*V;B=B+1|0;if((B|0)==(H|0)){$=U;break}else T=U}}else $=Z;M=$+0.0;break}if(!v){if(!t){E=64;break}if((H|0)>0){B=0;T=0.0;while(1){W=+K(+(+n[C+(B<<2)>>2]));U=T0.0?aa:0.0;break}B=H+-4|0;if((H|0)<4){ba=0;ca=0.0}else{T=0.0;G=0;do{U=+K(+(+n[C+(G<<2)>>2]));W=U+ +K(+(+n[C+((G|1)<<2)>>2]));U=W+ +K(+(+n[C+((G|2)<<2)>>2]));T=T+(U+ +K(+(+n[C+((G|3)<<2)>>2])));G=G+4|0}while((G|0)<=(B|0));ba=H&-4;ca=T}if((ba|0)<(H|0)){U=ca;B=ba;while(1){W=U+ +K(+(+n[C+(B<<2)>>2]));B=B+1|0;if((B|0)==(H|0)){da=W;break}else U=W}}else da=ca;M=da+0.0}while(0);do if((E|0)==64){if(A|0){ba=f[j+4>>2]|0;if((ba|0)<3)ea=X(f[j+12>>2]|0,f[j+8>>2]|0)|0;else{_=f[j+40>>2]|0;x=0;R=1;while(1){P=X(f[_+(x<<2)>>2]|0,R)|0;x=x+1|0;if((x|0)==(ba|0)){ea=P;break}else R=P}}if(!((ba|0)==0|(ea|0)==0)?f[j>>2]&4095|0:0){f[k>>2]=0;f[k+4>>2]=0;fa=JV(k,32)|0;ga=154214;ha=fa+32|0;do{b[fa>>0]=b[ga>>0]|0;fa=fa+1|0;ga=ga+1|0}while((fa|0)<(ha|0));EP(-215,k,154156,154161,700);KV(k)}}ba=(r|0)==6;R=r|1;if((R|0)==7){if(f[z>>2]|0){x=f[j+4>>2]|0;if((x|0)<3)ia=X(f[j+12>>2]|0,f[j+8>>2]|0)|0;else{_=f[j+40>>2]|0;P=0;N=1;while(1){O=X(f[_+(P<<2)>>2]|0,N)|0;P=P+1|0;if((P|0)==(x|0)){ia=O;break}else N=O}}if(!((x|0)==0|(ia|0)==0)){f[k>>2]=1124007936;N=k+4|0;P=k+8|0;_=k+40|0;fa=N;ha=fa+36|0;do{f[fa>>2]=0;fa=fa+4|0}while((fa|0)<(ha|0));f[_>>2]=P;x=k+48|0;O=k+44|0;f[O>>2]=x;f[x>>2]=0;f[k+52>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=i;f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=j;y=o+8|0;f[y>>2]=0;f[y+4>>2]=0;f[o>>2]=33619968;f[o+4>>2]=k;$G(l,m,o,BK()|0);f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=k;da=+IK(l,r,BK()|0);y=k+36|0;d=f[y>>2]|0;if(d|0?(I=d+12|0,d=f[I>>2]|0,f[I>>2]=d+-1,(d|0)==1):0)XO(k);f[y>>2]=0;y=k+16|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;if((f[N>>2]|0)>0){y=f[_>>2]|0;d=0;do{f[y+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[N>>2]|0))}N=f[O>>2]|0;if((N|0)!=(x|0))dX(N);M=da;break}}f[k>>2]=i;f[k+4>>2]=0;FN(m,k,l,-1);N=f[m+20>>2]|0;d=m+16|0;y=N+-4|0;_=(N|0)<4;P=N&-4;c:do if(ba){I=0;F=0;while(1){if(I>>>0>=(f[d>>2]|0)>>>0){ja=F;break c}H=(XY(f[l>>2]|0,N)|0)+F|0;GN(m)|0;I=I+1|0;F=H}}else{F=0;I=0;while(1){if(F>>>0>=(f[d>>2]|0)>>>0){ja=I;break c}H=f[l>>2]|0;if(_){ka=0;la=0}else{B=0;C=0;while(1){G=C+(h[153726+(h[H+B>>0]|0)>>0]|0)+(h[153726+(h[H+(B|1)>>0]|0)>>0]|0)+(h[153726+(h[H+(B|2)>>0]|0)>>0]|0)+(h[153726+(h[H+(B|3)>>0]|0)>>0]|0)|0;B=B+4|0;if((B|0)>(y|0)){ka=G;la=P;break}else C=G}}if((la|0)<(N|0)){C=la;B=ka;while(1){G=B+(h[153726+(h[H+C>>0]|0)>>0]|0)|0;C=C+1|0;if((C|0)==(N|0)){ma=G;break}else B=G}}else ma=ka;GN(m)|0;F=F+1|0;I=ma+I|0}}while(0);M=+(ja|0);break}N=f[31848+(r>>>1<<5)+(a<<2)>>2]|0;if(!N){f[k>>2]=0;f[k+4>>2]=0;fa=JV(k,9)|0;ga=196746;ha=fa+9|0;do{b[fa>>0]=b[ga>>0]|0;fa=fa+1|0;ga=ga+1|0}while((fa|0)<(ha|0));EP(-215,k,154156,154161,727);KV(k)}f[k>>2]=i;f[k+4>>2]=j;f[k+8>>2]=0;p[m>>3]=0.0;FN(o,k,l,-1);P=f[o+20>>2]|0;y=a>>>0<2;f[q>>2]=0;if(v&a>>>0<4|(R|0)==5&y){_=((v&y?8388608:32768)>>>0)/(c>>>0)|0;y=(_|0)<(P|0)?_:P;d=f[i+4>>2]|0;if((d|0)>0){na=f[(f[i+44>>2]|0)+(d+-1<<2)>>2]|0;oa=q;pa=_;qa=y;ra=1}else{na=0;oa=q;pa=_;qa=y;ra=1}}else{na=0;oa=m;pa=0;qa=P;ra=0}y=o+16|0;_=l+4|0;d:do if((P|0)>0){d=0;ba=0;while(1){if(d>>>0>=(f[y>>2]|0)>>>0)break d;x=d+1|0;O=f[l>>2]|0;I=f[_>>2]|0;if(ra){F=0;B=ba;C=O;H=I;while(1){G=P-F|0;D=(qa|0)<(G|0)?qa:G;fg[N&63](C,H,oa,D,c)|0;G=D+B|0;if((G+qa|0)<(pa|0)?((D+F|0)<(P|0)?1:x>>>0<(f[y>>2]|0)>>>0):0)sa=G;else{p[m>>3]=+p[m>>3]+ +(f[q>>2]|0);f[q>>2]=0;sa=0}G=X(D,na)|0;C=(f[l>>2]|0)+G|0;f[l>>2]=C;G=f[_>>2]|0;if(!G)ta=0;else{J=G+D|0;f[_>>2]=J;ta=J}F=F+qa|0;if((P|0)<=(F|0)){ua=sa;break}else{B=sa;H=ta}}}else{H=0;B=ba;F=O;C=I;while(1){J=P-H|0;D=(qa|0)<(J|0)?qa:J;fg[N&63](F,C,oa,D,c)|0;J=D+B|0;G=X(D,na)|0;F=(f[l>>2]|0)+G|0;f[l>>2]=F;G=f[_>>2]|0;if(!G)va=0;else{wa=G+D|0;f[_>>2]=wa;va=wa}H=H+qa|0;if((P|0)<=(H|0)){ua=J;break}else{B=J;C=va}}}GN(o)|0;d=x;ba=ua}}else{ba=0;while(1){if(ba>>>0>=(f[y>>2]|0)>>>0)break d;GN(o)|0;ba=ba+1|0}}while(0);if(t){if((a|0)!=6){y=f[m>>2]|0;p[m>>3]=(a|0)==5?(f[s>>2]=y,+n[s>>2]):+(y|0)}}else if(w){da=+L(+(+p[m>>3]));p[m>>3]=da}M=+p[m>>3]}while(0);m=j+36|0;w=f[m>>2]|0;if(w|0?(a=w+12|0,w=f[a>>2]|0,f[a>>2]=w+-1,(w|0)==1):0)XO(j);f[m>>2]=0;m=j+16|0;w=j+4|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;if((f[w>>2]|0)>0){m=f[j+40>>2]|0;a=0;do{f[m+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[w>>2]|0))}w=f[j+44>>2]|0;if((w|0)!=(j+48|0))dX(w);w=i+36|0;j=f[w>>2]|0;if(j|0?(a=j+12|0,j=f[a>>2]|0,f[a>>2]=j+-1,(j|0)==1):0)XO(i);f[w>>2]=0;w=i+16|0;j=i+4|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;if((f[j>>2]|0)>0){w=f[i+40>>2]|0;a=0;do{f[w+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[j>>2]|0))}j=f[i+44>>2]|0;if((j|0)!=(i+48|0))dX(j);if(!(f[g+4>>2]|0)){u=e;return +M}u=e;return +M}function JK(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;i=f[d>>2]|0;if(!c){j=X(g,e)|0;if((j|0)>0){k=0;l=0;while(1){m=h[a+l>>0]|0;n=(k|0)<(m|0)?m:k;l=l+1|0;if((l|0)==(j|0)){o=n;break}else k=n}}else o=0;p=(i|0)<(o|0)?o:i;f[d>>2]=p;return 0}if((e|0)>0&(g|0)>0){q=0;r=a;s=i}else{p=i;f[d>>2]=p;return 0}while(1){if(!(b[c+q>>0]|0))t=s;else{i=0;a=s;while(1){o=h[r+i>>0]|0;k=(a|0)<(o|0)?o:a;i=i+1|0;if((i|0)==(g|0)){t=k;break}else a=k}}q=q+1|0;if((q|0)==(e|0)){p=t;break}else{r=r+g|0;s=t}}f[d>>2]=p;return 0}function KK(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=f[d>>2]|0;if(!c){i=X(g,e)|0;if((i|0)>0){j=0;k=0;while(1){l=b[a+k>>0]|0;m=l<<24>>24;n=l<<24>>24>-1?m:0-m|0;m=(j|0)<(n|0)?n:j;k=k+1|0;if((k|0)==(i|0)){o=m;break}else j=m}}else o=0;p=(h|0)<(o|0)?o:h;f[d>>2]=p;return 0}if((e|0)>0&(g|0)>0){q=0;r=a;s=h}else{p=h;f[d>>2]=p;return 0}while(1){if(!(b[c+q>>0]|0))t=s;else{h=0;a=s;while(1){o=b[r+h>>0]|0;j=o<<24>>24;i=o<<24>>24>-1?j:0-j|0;j=(a|0)<(i|0)?i:a;h=h+1|0;if((h|0)==(g|0)){t=j;break}else a=j}}q=q+1|0;if((q|0)==(e|0)){p=t;break}else{r=r+g|0;s=t}}f[d>>2]=p;return 0}function LK(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=f[d>>2]|0;if(!c){i=X(g,e)|0;if((i|0)>0){k=0;l=0;while(1){m=j[a+(l<<1)>>1]|0;n=(k|0)<(m|0)?m:k;l=l+1|0;if((l|0)==(i|0)){o=n;break}else k=n}}else o=0;p=(h|0)<(o|0)?o:h;f[d>>2]=p;return 0}if((e|0)>0&(g|0)>0){q=0;r=a;s=h}else{p=h;f[d>>2]=p;return 0}while(1){if(!(b[c+q>>0]|0))t=s;else{h=0;a=s;while(1){o=j[r+(h<<1)>>1]|0;k=(a|0)<(o|0)?o:a;h=h+1|0;if((h|0)==(g|0)){t=k;break}else a=k}}q=q+1|0;if((q|0)==(e|0)){p=t;break}else{r=r+(g<<1)|0;s=t}}f[d>>2]=p;return 0}function MK(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;i=f[e>>2]|0;if(!c){j=X(h,g)|0;if((j|0)>0){k=0;l=0;while(1){m=d[a+(l<<1)>>1]|0;n=m<<16>>16;o=m<<16>>16>-1?n:0-n|0;n=(k|0)<(o|0)?o:k;l=l+1|0;if((l|0)==(j|0)){p=n;break}else k=n}}else p=0;q=(i|0)<(p|0)?p:i;f[e>>2]=q;return 0}if((g|0)>0&(h|0)>0){r=0;s=a;t=i}else{q=i;f[e>>2]=q;return 0}while(1){if(!(b[c+r>>0]|0))u=t;else{i=0;a=t;while(1){p=d[s+(i<<1)>>1]|0;k=p<<16>>16;j=p<<16>>16>-1?k:0-k|0;k=(a|0)<(j|0)?j:a;i=i+1|0;if((i|0)==(h|0)){u=k;break}else a=k}}r=r+1|0;if((r|0)==(g|0)){q=u;break}else{s=s+(h<<1)|0;t=u}}f[e>>2]=q;return 0}function NK(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=f[d>>2]|0;if(!c){i=X(g,e)|0;if((i|0)>0){j=0;k=0;while(1){l=f[a+(k<<2)>>2]|0;m=(l|0)>-1?l:0-l|0;l=(j|0)<(m|0)?m:j;k=k+1|0;if((k|0)==(i|0)){n=l;break}else j=l}}else n=0;o=(h|0)<(n|0)?n:h;f[d>>2]=o;return 0}if((e|0)>0&(g|0)>0){p=0;q=a;r=h}else{o=h;f[d>>2]=o;return 0}while(1){if(!(b[c+p>>0]|0))s=r;else{h=0;a=r;while(1){n=f[q+(h<<2)>>2]|0;j=(n|0)>-1?n:0-n|0;n=(a|0)<(j|0)?j:a;h=h+1|0;if((h|0)==(g|0)){s=n;break}else a=n}}p=p+1|0;if((p|0)==(e|0)){o=s;break}else{q=q+(g<<2)|0;r=s}}f[d>>2]=o;return 0}function OK(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0.0,j=0,k=0,l=0.0,m=0.0,o=0.0,p=0.0,q=0,r=0,t=0,u=0,v=0.0,w=0,x=0.0;h=f[d>>2]|0;i=(f[s>>2]=h,+n[s>>2]);if(!c){j=X(g,e)|0;if((j|0)>0){k=0;l=0.0;while(1){m=+K(+(+n[a+(k<<2)>>2]));o=l>2]=p>i?p:i,f[s>>2]|0);f[d>>2]=q;return 0}if((e|0)>0&(g|0)>0){r=0;t=a;u=h;v=i}else{q=h;f[d>>2]=q;return 0}while(1){if(!(b[c+r>>0]|0)){w=u;x=v}else{h=0;i=v;do{p=+K(+(+n[t+(h<<2)>>2]));i=i>2]=i,f[s>>2]|0);x=i}r=r+1|0;if((r|0)==(e|0)){q=w;break}else{t=t+(g<<2)|0;u=w;v=x}}f[d>>2]=q;return 0}function PK(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,i=0.0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,q=0,r=0.0,s=0.0;g=+p[d>>3];if(!c){h=X(f,e)|0;if((h|0)>0){i=0.0;j=0;while(1){k=+K(+(+p[a+(j<<3)>>3]));l=i>3]=n;return 0}if((e|0)>0&(f|0)>0){o=0;q=a;r=g}else{n=g;p[d>>3]=n;return 0}while(1){if(!(b[c+o>>0]|0))s=r;else{a=0;g=r;while(1){m=+K(+(+p[q+(a<<3)>>3]));i=g>3]=n;return 0}function QK(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;i=f[d>>2]|0;if(c|0){if((e|0)>0&(g|0)>0){j=0;k=i;l=a}else{m=i;f[d>>2]=m;return 0}while(1){if(!(b[c+j>>0]|0))n=k;else{o=0;p=k;while(1){q=p+(h[l+o>>0]|0)|0;o=o+1|0;if((o|0)==(g|0)){n=q;break}else p=q}}j=j+1|0;if((j|0)==(e|0)){m=n;break}else{k=n;l=l+g|0}}f[d>>2]=m;return 0}l=X(g,e)|0;e=l+-4|0;if((l|0)<4){r=0;s=0}else{g=0;n=0;do{g=g+(h[a+n>>0]|0)+(h[a+(n|1)>>0]|0)+(h[a+(n|2)>>0]|0)+(h[a+(n|3)>>0]|0)|0;n=n+4|0}while((n|0)<=(e|0));r=l&-4;s=g}if((r|0)<(l|0)){g=s;e=r;while(1){r=g+(h[a+e>>0]|0)|0;e=e+1|0;if((e|0)==(l|0)){t=r;break}else g=r}}else t=s;m=t+i|0;f[d>>2]=m;return 0}function RK(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return jL(a,b,c,d,e)|0}function SK(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=f[d>>2]|0;if(c|0){if((e|0)>0&(g|0)>0){i=0;k=h;l=a}else{m=h;f[d>>2]=m;return 0}while(1){if(!(b[c+i>>0]|0))n=k;else{o=0;p=k;while(1){q=p+(j[l+(o<<1)>>1]|0)|0;o=o+1|0;if((o|0)==(g|0)){n=q;break}else p=q}}i=i+1|0;if((i|0)==(e|0)){m=n;break}else{k=n;l=l+(g<<1)|0}}f[d>>2]=m;return 0}l=X(g,e)|0;e=l+-4|0;if((l|0)<4){r=0;s=0}else{g=0;n=0;do{g=g+(j[a+(n<<1)>>1]|0)+(j[a+((n|1)<<1)>>1]|0)+(j[a+((n|2)<<1)>>1]|0)+(j[a+((n|3)<<1)>>1]|0)|0;n=n+4|0}while((n|0)<=(e|0));r=l&-4;s=g}if((r|0)<(l|0)){g=s;e=r;while(1){r=g+(j[a+(e<<1)>>1]|0)|0;e=e+1|0;if((e|0)==(l|0)){t=r;break}else g=r}}else t=s;m=t+h|0;f[d>>2]=m;return 0}function TK(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return iL(a,b,c,d,e)|0}function UK(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return hL(a,b,c,d,e)|0}function VK(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return gL(a,b,c,d,e)|0}function WK(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,i=0.0,j=0,k=0.0,l=0.0,m=0,n=0.0,o=0.0,q=0,r=0.0,s=0.0;g=+p[d>>3];if(c|0){if((e|0)>0&(f|0)>0){h=0;i=g;j=a}else{k=g;p[d>>3]=k;return 0}while(1){if(!(b[c+h>>0]|0))l=i;else{m=0;n=i;while(1){o=n+ +K(+(+p[j+(m<<3)>>3]));m=m+1|0;if((m|0)==(f|0)){l=o;break}else n=o}}h=h+1|0;if((h|0)==(e|0)){k=l;break}else{i=l;j=j+(f<<3)|0}}p[d>>3]=k;return 0}j=X(f,e)|0;e=j+-4|0;if((j|0)<4){q=0;r=0.0}else{l=0.0;f=0;do{i=+K(+(+p[a+(f<<3)>>3]));n=i+ +K(+(+p[a+((f|1)<<3)>>3]));i=n+ +K(+(+p[a+((f|2)<<3)>>3]));l=l+(i+ +K(+(+p[a+((f|3)<<3)>>3])));f=f+4|0}while((f|0)<=(e|0));q=j&-4;r=l}if((q|0)<(j|0)){l=r;e=q;while(1){i=l+ +K(+(+p[a+(e<<3)>>3]));e=e+1|0;if((e|0)==(j|0)){s=i;break}else l=i}}else s=r;k=g+s;p[d>>3]=k;return 0}function XK(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;i=f[d>>2]|0;if(c|0){if((e|0)>0&(g|0)>0){j=0;k=i;l=a}else{m=i;f[d>>2]=m;return 0}while(1){if(!(b[c+j>>0]|0))n=k;else{o=0;p=k;while(1){q=h[l+o>>0]|0;r=(X(q,q)|0)+p|0;o=o+1|0;if((o|0)==(g|0)){n=r;break}else p=r}}j=j+1|0;if((j|0)==(e|0)){m=n;break}else{k=n;l=l+g|0}}f[d>>2]=m;return 0}l=X(g,e)|0;e=l+-4|0;if((l|0)<4){s=0;t=0}else{g=0;n=0;do{k=h[a+g>>0]|0;j=h[a+(g|1)>>0]|0;c=h[a+(g|2)>>0]|0;p=h[a+(g|3)>>0]|0;n=(X(k,k)|0)+n+(X(j,j)|0)+(X(c,c)|0)+(X(p,p)|0)|0;g=g+4|0}while((g|0)<=(e|0));s=n;t=l&-4}if((t|0)<(l|0)){n=t;t=s;while(1){e=h[a+n>>0]|0;g=(X(e,e)|0)+t|0;n=n+1|0;if((n|0)==(l|0)){u=g;break}else t=g}}else u=s;m=u+i|0;f[d>>2]=m;return 0}function YK(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=f[d>>2]|0;if(c|0){if((e|0)>0&(g|0)>0){i=0;j=h;k=a}else{l=h;f[d>>2]=l;return 0}while(1){if(!(b[c+i>>0]|0))m=j;else{n=0;o=j;while(1){p=b[k+n>>0]|0;q=(X(p,p)|0)+o|0;n=n+1|0;if((n|0)==(g|0)){m=q;break}else o=q}}i=i+1|0;if((i|0)==(e|0)){l=m;break}else{j=m;k=k+g|0}}f[d>>2]=l;return 0}k=X(g,e)|0;e=k+-4|0;if((k|0)<4){r=0;s=0}else{g=0;m=0;do{j=b[a+g>>0]|0;i=b[a+(g|1)>>0]|0;c=b[a+(g|2)>>0]|0;o=b[a+(g|3)>>0]|0;m=(X(j,j)|0)+m+(X(i,i)|0)+(X(c,c)|0)+(X(o,o)|0)|0;g=g+4|0}while((g|0)<=(e|0));r=m;s=k&-4}if((s|0)<(k|0)){m=s;s=r;while(1){e=b[a+m>>0]|0;g=(X(e,e)|0)+s|0;m=m+1|0;if((m|0)==(k|0)){t=g;break}else s=g}}else t=r;l=t+h|0;f[d>>2]=l;return 0}function ZK(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return fL(a,b,c,d,e)|0}function _K(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return eL(a,b,c,d,e)|0}function $K(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return dL(a,b,c,d,e)|0}function aL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return cL(a,b,c,d,e)|0}function bL(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,i=0.0,j=0,k=0.0,l=0.0,m=0,n=0.0,o=0.0,q=0.0,r=0.0,s=0,t=0.0;g=+p[d>>3];if(c|0){if((e|0)>0&(f|0)>0){h=0;i=g;j=a}else{k=g;p[d>>3]=k;return 0}while(1){if(!(b[c+h>>0]|0))l=i;else{m=0;n=i;while(1){o=+p[j+(m<<3)>>3];q=n+o*o;m=m+1|0;if((m|0)==(f|0)){l=q;break}else n=q}}h=h+1|0;if((h|0)==(e|0)){k=l;break}else{i=l;j=j+(f<<3)|0}}p[d>>3]=k;return 0}j=X(f,e)|0;e=j+-4|0;if((j|0)<4){r=0.0;s=0}else{f=0;l=0.0;do{i=+p[a+(f<<3)>>3];n=+p[a+((f|1)<<3)>>3];q=+p[a+((f|2)<<3)>>3];o=+p[a+((f|3)<<3)>>3];l=l+(i*i+n*n+q*q+o*o);f=f+4|0}while((f|0)<=(e|0));r=l;s=j&-4}if((s|0)<(j|0)){e=s;l=r;while(1){o=+p[a+(e<<3)>>3];q=l+o*o;e=e+1|0;if((e|0)==(j|0)){t=q;break}else l=q}}else t=r;k=g+t;p[d>>3]=k;return 0}function cL(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,i=0.0,j=0,k=0.0,l=0.0,m=0,o=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0.0;g=+p[d>>3];if(c|0){if((e|0)>0&(f|0)>0){h=0;i=g;j=a}else{k=g;p[d>>3]=k;return 0}while(1){if(!(b[c+h>>0]|0))l=i;else{m=0;o=i;while(1){q=+n[j+(m<<2)>>2];r=o+q*q;m=m+1|0;if((m|0)==(f|0)){l=r;break}else o=r}}h=h+1|0;if((h|0)==(e|0)){k=l;break}else{i=l;j=j+(f<<2)|0}}p[d>>3]=k;return 0}j=X(f,e)|0;e=j+-4|0;if((j|0)<4){s=0.0;t=0}else{f=0;l=0.0;do{i=+n[a+(f<<2)>>2];o=+n[a+((f|1)<<2)>>2];r=+n[a+((f|2)<<2)>>2];q=+n[a+((f|3)<<2)>>2];l=l+(i*i+o*o+r*r+q*q);f=f+4|0}while((f|0)<=(e|0));s=l;t=j&-4}if((t|0)<(j|0)){e=t;l=s;while(1){q=+n[a+(e<<2)>>2];r=l+q*q;e=e+1|0;if((e|0)==(j|0)){u=r;break}else l=r}}else u=s;k=g+u;p[d>>3]=k;return 0}function dL(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0.0,i=0,j=0.0,k=0,l=0.0,m=0.0,n=0,o=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0.0;h=+p[d>>3];if(c|0){if((e|0)>0&(g|0)>0){i=0;j=h;k=a}else{l=h;p[d>>3]=l;return 0}while(1){if(!(b[c+i>>0]|0))m=j;else{n=0;o=j;while(1){q=+(f[k+(n<<2)>>2]|0);r=o+q*q;n=n+1|0;if((n|0)==(g|0)){m=r;break}else o=r}}i=i+1|0;if((i|0)==(e|0)){l=m;break}else{j=m;k=k+(g<<2)|0}}p[d>>3]=l;return 0}k=X(g,e)|0;e=k+-4|0;if((k|0)<4){s=0.0;t=0}else{g=0;m=0.0;do{j=+(f[a+(g<<2)>>2]|0);o=+(f[a+((g|1)<<2)>>2]|0);r=+(f[a+((g|2)<<2)>>2]|0);q=+(f[a+((g|3)<<2)>>2]|0);m=m+(j*j+o*o+r*r+q*q);g=g+4|0}while((g|0)<=(e|0));s=m;t=k&-4}if((t|0)<(k|0)){e=t;m=s;while(1){q=+(f[a+(e<<2)>>2]|0);r=m+q*q;e=e+1|0;if((e|0)==(k|0)){u=r;break}else m=r}}else u=s;l=h+u;p[d>>3]=l;return 0}function eL(a,c,e,f,g){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0.0,i=0,j=0.0,k=0,l=0.0,m=0.0,n=0,o=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0.0;h=+p[e>>3];if(c|0){if((f|0)>0&(g|0)>0){i=0;j=h;k=a}else{l=h;p[e>>3]=l;return 0}while(1){if(!(b[c+i>>0]|0))m=j;else{n=0;o=j;while(1){q=+(d[k+(n<<1)>>1]|0);r=o+q*q;n=n+1|0;if((n|0)==(g|0)){m=r;break}else o=r}}i=i+1|0;if((i|0)==(f|0)){l=m;break}else{j=m;k=k+(g<<1)|0}}p[e>>3]=l;return 0}k=X(g,f)|0;f=k+-4|0;if((k|0)<4){s=0.0;t=0}else{g=0;m=0.0;do{j=+(d[a+(g<<1)>>1]|0);o=+(d[a+((g|1)<<1)>>1]|0);r=+(d[a+((g|2)<<1)>>1]|0);q=+(d[a+((g|3)<<1)>>1]|0);m=m+(j*j+o*o+r*r+q*q);g=g+4|0}while((g|0)<=(f|0));s=m;t=k&-4}if((t|0)<(k|0)){f=t;m=s;while(1){q=+(d[a+(f<<1)>>1]|0);r=m+q*q;f=f+1|0;if((f|0)==(k|0)){u=r;break}else m=r}}else u=s;l=h+u;p[e>>3]=l;return 0}function fL(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,i=0.0,k=0,l=0.0,m=0.0,n=0,o=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0.0;g=+p[d>>3];if(c|0){if((e|0)>0&(f|0)>0){h=0;i=g;k=a}else{l=g;p[d>>3]=l;return 0}while(1){if(!(b[c+h>>0]|0))m=i;else{n=0;o=i;while(1){q=+(j[k+(n<<1)>>1]|0);r=o+q*q;n=n+1|0;if((n|0)==(f|0)){m=r;break}else o=r}}h=h+1|0;if((h|0)==(e|0)){l=m;break}else{i=m;k=k+(f<<1)|0}}p[d>>3]=l;return 0}k=X(f,e)|0;e=k+-4|0;if((k|0)<4){s=0.0;t=0}else{f=0;m=0.0;do{i=+(j[a+(f<<1)>>1]|0);o=+(j[a+((f|1)<<1)>>1]|0);r=+(j[a+((f|2)<<1)>>1]|0);q=+(j[a+((f|3)<<1)>>1]|0);m=m+(i*i+o*o+r*r+q*q);f=f+4|0}while((f|0)<=(e|0));s=m;t=k&-4}if((t|0)<(k|0)){e=t;m=s;while(1){q=+(j[a+(e<<1)>>1]|0);r=m+q*q;e=e+1|0;if((e|0)==(k|0)){u=r;break}else m=r}}else u=s;l=g+u;p[d>>3]=l;return 0}function gL(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,i=0.0,j=0,k=0.0,l=0.0,m=0,o=0.0,q=0.0,r=0,s=0.0,t=0.0;g=+p[d>>3];if(c|0){if((e|0)>0&(f|0)>0){h=0;i=g;j=a}else{k=g;p[d>>3]=k;return 0}while(1){if(!(b[c+h>>0]|0))l=i;else{m=0;o=i;while(1){q=o+ +K(+(+n[j+(m<<2)>>2]));m=m+1|0;if((m|0)==(f|0)){l=q;break}else o=q}}h=h+1|0;if((h|0)==(e|0)){k=l;break}else{i=l;j=j+(f<<2)|0}}p[d>>3]=k;return 0}j=X(f,e)|0;e=j+-4|0;if((j|0)<4){r=0;s=0.0}else{l=0.0;f=0;do{i=+K(+(+n[a+(f<<2)>>2]));o=i+ +K(+(+n[a+((f|1)<<2)>>2]));i=o+ +K(+(+n[a+((f|2)<<2)>>2]));l=l+(i+ +K(+(+n[a+((f|3)<<2)>>2])));f=f+4|0}while((f|0)<=(e|0));r=j&-4;s=l}if((r|0)<(j|0)){l=s;e=r;while(1){i=l+ +K(+(+n[a+(e<<2)>>2]));e=e+1|0;if((e|0)==(j|0)){t=i;break}else l=i}}else t=s;k=g+t;p[d>>3]=k;return 0}function hL(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0.0,i=0,j=0.0,k=0,l=0.0,m=0.0,n=0,o=0.0,q=0,r=0.0,s=0,t=0.0,u=0.0;h=+p[d>>3];if(c|0){if((e|0)>0&(g|0)>0){i=0;j=h;k=a}else{l=h;p[d>>3]=l;return 0}while(1){if(!(b[c+i>>0]|0))m=j;else{n=0;o=j;while(1){q=f[k+(n<<2)>>2]|0;r=o+ +(((q|0)>-1?q:0-q|0)|0);n=n+1|0;if((n|0)==(g|0)){m=r;break}else o=r}}i=i+1|0;if((i|0)==(e|0)){l=m;break}else{j=m;k=k+(g<<2)|0}}p[d>>3]=l;return 0}k=X(g,e)|0;e=k+-4|0;if((k|0)<4){s=0;t=0.0}else{m=0.0;g=0;do{i=f[a+(g<<2)>>2]|0;c=f[a+((g|1)<<2)>>2]|0;n=f[a+((g|2)<<2)>>2]|0;q=f[a+((g|3)<<2)>>2]|0;m=m+(+(((i|0)>-1?i:0-i|0)|0)+ +(((c|0)>-1?c:0-c|0)|0)+ +(((n|0)>-1?n:0-n|0)|0)+ +(((q|0)>-1?q:0-q|0)|0));g=g+4|0}while((g|0)<=(e|0));s=k&-4;t=m}if((s|0)<(k|0)){m=t;e=s;while(1){s=f[a+(e<<2)>>2]|0;j=m+ +(((s|0)>-1?s:0-s|0)|0);e=e+1|0;if((e|0)==(k|0)){u=j;break}else m=j}}else u=t;l=h+u;p[d>>3]=l;return 0}function iL(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;i=f[e>>2]|0;if(c|0){if((g|0)>0&(h|0)>0){j=0;k=i;l=a}else{m=i;f[e>>2]=m;return 0}while(1){if(!(b[c+j>>0]|0))n=k;else{o=0;p=k;while(1){q=d[l+(o<<1)>>1]|0;r=q<<16>>16;s=(q<<16>>16>-1?r:0-r|0)+p|0;o=o+1|0;if((o|0)==(h|0)){n=s;break}else p=s}}j=j+1|0;if((j|0)==(g|0)){m=n;break}else{k=n;l=l+(h<<1)|0}}f[e>>2]=m;return 0}l=X(h,g)|0;g=l+-4|0;if((l|0)<4){t=0;u=0}else{h=0;n=0;do{k=d[a+(n<<1)>>1]|0;j=k<<16>>16;c=d[a+((n|1)<<1)>>1]|0;p=c<<16>>16;o=d[a+((n|2)<<1)>>1]|0;s=o<<16>>16;r=d[a+((n|3)<<1)>>1]|0;q=r<<16>>16;h=(k<<16>>16>-1?j:0-j|0)+h+(c<<16>>16>-1?p:0-p|0)+(o<<16>>16>-1?s:0-s|0)+(r<<16>>16>-1?q:0-q|0)|0;n=n+4|0}while((n|0)<=(g|0));t=l&-4;u=h}if((t|0)<(l|0)){h=u;g=t;while(1){t=d[a+(g<<1)>>1]|0;n=t<<16>>16;q=(t<<16>>16>-1?n:0-n|0)+h|0;g=g+1|0;if((g|0)==(l|0)){v=q;break}else h=q}}else v=u;m=v+i|0;f[e>>2]=m;return 0}function jL(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;h=f[d>>2]|0;if(c|0){if((e|0)>0&(g|0)>0){i=0;j=h;k=a}else{l=h;f[d>>2]=l;return 0}while(1){if(!(b[c+i>>0]|0))m=j;else{n=0;o=j;while(1){p=b[k+n>>0]|0;q=p<<24>>24;r=(p<<24>>24>-1?q:0-q|0)+o|0;n=n+1|0;if((n|0)==(g|0)){m=r;break}else o=r}}i=i+1|0;if((i|0)==(e|0)){l=m;break}else{j=m;k=k+g|0}}f[d>>2]=l;return 0}k=X(g,e)|0;e=k+-4|0;if((k|0)<4){s=0;t=0}else{g=0;m=0;do{j=b[a+m>>0]|0;i=j<<24>>24;c=b[a+(m|1)>>0]|0;o=c<<24>>24;n=b[a+(m|2)>>0]|0;r=n<<24>>24;q=b[a+(m|3)>>0]|0;p=q<<24>>24;g=(j<<24>>24>-1?i:0-i|0)+g+(c<<24>>24>-1?o:0-o|0)+(n<<24>>24>-1?r:0-r|0)+(q<<24>>24>-1?p:0-p|0)|0;m=m+4|0}while((m|0)<=(e|0));s=k&-4;t=g}if((s|0)<(k|0)){g=t;e=s;while(1){s=b[a+e>>0]|0;m=s<<24>>24;p=(s<<24>>24>-1?m:0-m|0)+g|0;e=e+1|0;if((e|0)==(k|0)){u=p;break}else g=p}}else u=t;l=u+h|0;f[d>>2]=l;return 0}function kL(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,M=0,N=0,O=0,P=0,Q=0.0,R=0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,Y=0.0,Z=0.0,_=0.0,$=0,aa=0.0,ba=0.0,ca=0.0,da=0,ea=0,fa=0,ga=0.0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0.0;g=u;u=u+320|0;h=g+312|0;i=g+256|0;j=g+200|0;k=g+144|0;l=g+88|0;m=g+72|0;o=g;q=g+40|0;r=g+32|0;yV(h,31944);if(!(QJ(a,c)|0?(t=GJ(a,-1)|0,(t|0)==(GJ(c,-1)|0)):0)){f[i>>2]=0;f[i+4>>2]=0;v=JV(i,53)|0;w=154300;x=v+53|0;do{b[v>>0]=b[w>>0]|0;v=v+1|0;w=w+1|0}while((v|0)<(x|0));EP(-215,i,154156,154161,1082);KV(i)}if(!(d&8)){do if((HJ(a)|0)==65536){t=f[a+4>>2]|0;f[i>>2]=f[t>>2];y=i+4|0;z=t+4|0;f[y>>2]=f[z>>2];A=i+8|0;f[A>>2]=f[t+8>>2];f[i+12>>2]=f[t+12>>2];f[i+16>>2]=f[t+16>>2];f[i+20>>2]=f[t+20>>2];f[i+24>>2]=f[t+24>>2];f[i+28>>2]=f[t+28>>2];f[i+32>>2]=f[t+32>>2];B=f[t+36>>2]|0;f[i+36>>2]=B;f[i+40>>2]=A;A=i+48|0;C=i+44|0;f[C>>2]=A;f[A>>2]=0;f[i+52>>2]=0;if(B|0){A=B+12|0;f[A>>2]=(f[A>>2]|0)+1}if((f[z>>2]|0)<3){z=f[t+44>>2]|0;A=f[C>>2]|0;f[A>>2]=f[z>>2];f[A+4>>2]=f[z+4>>2];break}else{f[y>>2]=0;WO(i,t);break}}else DJ(i,a,-1);while(0);do if((HJ(c)|0)==65536){t=f[c+4>>2]|0;f[j>>2]=f[t>>2];y=j+4|0;z=t+4|0;f[y>>2]=f[z>>2];A=j+8|0;f[A>>2]=f[t+8>>2];f[j+12>>2]=f[t+12>>2];f[j+16>>2]=f[t+16>>2];f[j+20>>2]=f[t+20>>2];f[j+24>>2]=f[t+24>>2];f[j+28>>2]=f[t+28>>2];f[j+32>>2]=f[t+32>>2];C=f[t+36>>2]|0;f[j+36>>2]=C;f[j+40>>2]=A;A=j+48|0;B=j+44|0;f[B>>2]=A;f[A>>2]=0;f[j+52>>2]=0;if(C|0){A=C+12|0;f[A>>2]=(f[A>>2]|0)+1}if((f[z>>2]|0)<3){z=f[t+44>>2]|0;A=f[B>>2]|0;f[A>>2]=f[z>>2];f[A+4>>2]=f[z+4>>2];break}else{f[y>>2]=0;WO(j,t);break}}else DJ(j,c,-1);while(0);do if((HJ(e)|0)==65536){t=f[e+4>>2]|0;f[k>>2]=f[t>>2];y=k+4|0;z=t+4|0;f[y>>2]=f[z>>2];A=k+8|0;f[A>>2]=f[t+8>>2];f[k+12>>2]=f[t+12>>2];f[k+16>>2]=f[t+16>>2];f[k+20>>2]=f[t+20>>2];f[k+24>>2]=f[t+24>>2];f[k+28>>2]=f[t+28>>2];f[k+32>>2]=f[t+32>>2];B=f[t+36>>2]|0;f[k+36>>2]=B;f[k+40>>2]=A;A=k+48|0;C=k+44|0;f[C>>2]=A;f[A>>2]=0;f[k+52>>2]=0;if(B|0){A=B+12|0;f[A>>2]=(f[A>>2]|0)+1}if((f[z>>2]|0)<3){z=f[t+44>>2]|0;A=f[C>>2]|0;f[A>>2]=f[z>>2];f[A+4>>2]=f[z+4>>2];break}else{f[y>>2]=0;WO(k,t);break}}else DJ(k,e,-1);while(0);t=f[i>>2]|0;y=t&7;z=(t>>>3&511)+1|0;A=d&7;C=(A|0)==1;B=(A|0)==2;D=(A|0)==4;E=(A|0)==5;switch(d&7){case 1:case 2:case 4:case 5:{F=t;break}default:if((A|1|0)==7&(t&4095|0)==0)F=t;else{f[l>>2]=0;f[l+4>>2]=0;DVa(JV(l,173)|0,154354,173)|0;EP(-215,l,154156,154161,1107);KV(l);F=f[i>>2]|0}}do if((F&16384|0)!=0?(f[j>>2]&16384|0)!=0:0){if(f[k+16>>2]|0){t=f[k+4>>2]|0;if((t|0)<3)G=X(f[k+12>>2]|0,f[k+8>>2]|0)|0;else{H=f[k+40>>2]|0;I=0;J=1;while(1){M=X(f[H+(I<<2)>>2]|0,J)|0;I=I+1|0;if((I|0)==(t|0)){G=M;break}else J=M}}if(!((t|0)==0|(G|0)==0)){N=68;break}}J=f[i+4>>2]|0;if((J|0)<3)O=X(f[i+12>>2]|0,f[i+8>>2]|0)|0;else{I=f[i+40>>2]|0;H=0;M=1;while(1){P=X(f[I+(H<<2)>>2]|0,M)|0;H=H+1|0;if((H|0)==(J|0)){O=P;break}else M=P}}M=X((F>>>3&511)+1|0,O)|0;if((F&7|0)==5){J=f[i+16>>2]|0;H=f[j+16>>2]|0;if(D){I=M+-4|0;if((M|0)<4){Q=0.0;R=0}else{t=0;S=0.0;do{T=+n[J+(t<<2)>>2]-+n[H+(t<<2)>>2];P=t|1;U=+n[J+(P<<2)>>2]-+n[H+(P<<2)>>2];P=t|2;V=+n[J+(P<<2)>>2]-+n[H+(P<<2)>>2];P=t|3;W=+n[J+(P<<2)>>2]-+n[H+(P<<2)>>2];S=S+(T*T+U*U+V*V+W*W);t=t+4|0}while((t|0)<=(I|0));Q=S;R=M&-4}if((R|0)<(M|0)){I=R;W=Q;while(1){V=+n[J+(I<<2)>>2]-+n[H+(I<<2)>>2];U=W+V*V;I=I+1|0;if((I|0)==(M|0)){Y=U;break}else W=U}}else Y=Q;Z=+L(+(Y+0.0));break}if(E){I=M+-4|0;if((M|0)<4){_=0.0;$=0}else{t=0;W=0.0;do{S=+n[J+(t<<2)>>2]-+n[H+(t<<2)>>2];P=t|1;U=+n[J+(P<<2)>>2]-+n[H+(P<<2)>>2];P=t|2;V=+n[J+(P<<2)>>2]-+n[H+(P<<2)>>2];P=t|3;T=+n[J+(P<<2)>>2]-+n[H+(P<<2)>>2];W=W+(S*S+U*U+V*V+T*T);t=t+4|0}while((t|0)<=(I|0));_=W;$=M&-4}if(($|0)<(M|0)){I=$;T=_;while(1){V=+n[J+(I<<2)>>2]-+n[H+(I<<2)>>2];U=T+V*V;I=I+1|0;if((I|0)==(M|0)){aa=U;break}else T=U}}else aa=_;Z=aa+0.0;break}if(!B){if(!C){N=68;break}if((M|0)>0){I=0;T=0.0;while(1){W=+K(+(+n[J+(I<<2)>>2]-+n[H+(I<<2)>>2]));U=T0.0?ba:0.0;break}I=M+-4|0;if((M|0)<4){ca=0.0;da=0}else{t=0;T=0.0;do{P=t|1;ea=t|2;fa=t|3;T=T+(+K(+(+n[J+(t<<2)>>2]-+n[H+(t<<2)>>2]))+ +K(+(+n[J+(P<<2)>>2]-+n[H+(P<<2)>>2]))+ +K(+(+n[J+(ea<<2)>>2]-+n[H+(ea<<2)>>2]))+ +K(+(+n[J+(fa<<2)>>2]-+n[H+(fa<<2)>>2])));t=t+4|0}while((t|0)<=(I|0));ca=T;da=M&-4}if((da|0)<(M|0)){I=da;U=ca;while(1){W=U+ +K(+(+n[J+(I<<2)>>2]-+n[H+(I<<2)>>2]));I=I+1|0;if((I|0)==(M|0)){ga=W;break}else U=W}}else ga=ca;Z=ga+0.0}else N=68}else N=68;while(0);do if((N|0)==68){da=k+16|0;if(f[da>>2]|0){$=f[k+4>>2]|0;if(($|0)<3)ha=X(f[k+12>>2]|0,f[k+8>>2]|0)|0;else{E=f[k+40>>2]|0;R=0;F=1;while(1){O=X(f[E+(R<<2)>>2]|0,F)|0;R=R+1|0;if((R|0)==($|0)){ha=O;break}else F=O}}if(!(($|0)==0|(ha|0)==0)?f[k>>2]&4095|0:0){f[l>>2]=0;f[l+4>>2]=0;v=JV(l,32)|0;w=154214;x=v+32|0;do{b[v>>0]=b[w>>0]|0;v=v+1|0;w=w+1|0}while((v|0)<(x|0));EP(-215,l,154156,154161,1147);KV(l)}}$=(A|0)==6;F=A|1;if((F|0)==7){if(f[da>>2]|0){R=f[k+4>>2]|0;if((R|0)<3)ia=X(f[k+12>>2]|0,f[k+8>>2]|0)|0;else{E=f[k+40>>2]|0;O=0;G=1;while(1){M=X(f[E+(O<<2)>>2]|0,G)|0;O=O+1|0;if((O|0)==(R|0)){ia=M;break}else G=M}}if(!((R|0)==0|(ia|0)==0)){f[l>>2]=1124007936;G=l+4|0;O=l+8|0;E=l+40|0;v=G;x=v+36|0;do{f[v>>2]=0;v=v+4|0}while((v|0)<(x|0));f[E>>2]=O;R=l+48|0;da=l+44|0;f[da>>2]=R;f[R>>2]=0;f[l+52>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=i;f[o+8>>2]=0;f[o+12>>2]=0;f[o>>2]=16842752;f[o+4>>2]=j;M=q+8|0;f[M>>2]=0;f[M+4>>2]=0;f[q>>2]=33619968;f[q+4>>2]=l;eH(m,o,q,BK()|0);f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=l;f[o+8>>2]=0;f[o+12>>2]=0;f[o>>2]=16842752;f[o+4>>2]=k;M=q+8|0;f[M>>2]=0;f[M+4>>2]=0;f[q>>2]=33619968;f[q+4>>2]=l;$G(m,o,q,BK()|0);f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=l;ga=+IK(m,A,BK()|0);M=l+36|0;I=f[M>>2]|0;if(I|0?(H=I+12|0,I=f[H>>2]|0,f[H>>2]=I+-1,(I|0)==1):0)XO(l);f[M>>2]=0;M=l+16|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;if((f[G>>2]|0)>0){M=f[E>>2]|0;I=0;do{f[M+(I<<2)>>2]=0;I=I+1|0}while((I|0)<(f[G>>2]|0))}G=f[da>>2]|0;if((G|0)!=(R|0))dX(G);Z=ga;break}}G=$?1:2;f[l>>2]=i;f[l+4>>2]=j;f[l+8>>2]=0;FN(o,l,m,-1);I=f[o+20>>2]|0;M=o+16|0;E=m+4|0;O=0;H=0;while(1){if(O>>>0>=(f[M>>2]|0)>>>0)break;J=(HK(f[m>>2]|0,f[E>>2]|0,I,G)|0)+H|0;GN(o)|0;O=O+1|0;H=J}Z=+(H|0);break}O=f[31964+(A>>>1<<5)+(y<<2)>>2]|0;if(!O){f[l>>2]=0;f[l+4>>2]=0;v=JV(l,9)|0;w=196746;x=v+9|0;do{b[v>>0]=b[w>>0]|0;v=v+1|0;w=w+1|0}while((v|0)<(x|0));EP(-215,l,154156,154161,1175);KV(l)}f[l>>2]=i;f[l+4>>2]=j;f[l+8>>2]=k;f[l+12>>2]=0;p[o>>3]=0.0;FN(q,l,m,-1);H=f[q+20>>2]|0;G=y>>>0<2;f[r>>2]=0;if(B&y>>>0<4|(F|0)==5&G){I=B&G?8388608:32768;G=(I|0)<(H|0)?I:H;E=f[i+4>>2]|0;if((E|0)>0){ja=f[(f[i+44>>2]|0)+(E+-1<<2)>>2]|0;ka=r;la=I;ma=G;na=1}else{ja=0;ka=r;la=I;ma=G;na=1}}else{ja=0;ka=o;la=0;ma=H;na=0}G=q+16|0;I=(H|0)>0;E=m+4|0;M=m+8|0;$=0;R=0;while(1){if($>>>0>=(f[G>>2]|0)>>>0)break;da=$+1|0;a:do if(I){J=f[m>>2]|0;t=f[E>>2]|0;fa=f[M>>2]|0;if(na){oa=0;pa=R;qa=J;ra=t;sa=fa}else{ea=0;P=R;ta=J;J=t;t=fa;while(1){fa=H-ea|0;ua=(ma|0)<(fa|0)?ma:fa;ig[O&127](ta,J,t,ka,ua,z)|0;fa=ua+P|0;va=X(ua,ja)|0;ta=(f[m>>2]|0)+va|0;f[m>>2]=ta;J=(f[E>>2]|0)+va|0;f[E>>2]=J;va=f[M>>2]|0;if(!va)wa=0;else{xa=va+ua|0;f[M>>2]=xa;wa=xa}ea=ea+ma|0;if((H|0)<=(ea|0)){ya=fa;break a}else{P=fa;t=wa}}}while(1){t=H-oa|0;P=(ma|0)<(t|0)?ma:t;ig[O&127](qa,ra,sa,ka,P,z)|0;t=P+pa|0;if((t+ma|0)<(la|0)?((P+oa|0)<(H|0)?1:da>>>0<(f[G>>2]|0)>>>0):0)za=t;else{p[o>>3]=+p[o>>3]+ +((f[r>>2]|0)>>>0);f[r>>2]=0;za=0}t=X(P,ja)|0;qa=(f[m>>2]|0)+t|0;f[m>>2]=qa;ra=(f[E>>2]|0)+t|0;f[E>>2]=ra;t=f[M>>2]|0;if(!t)Aa=0;else{ea=t+P|0;f[M>>2]=ea;Aa=ea}oa=oa+ma|0;if((H|0)<=(oa|0)){ya=za;break}else{pa=za;sa=Aa}}}else ya=R;while(0);GN(q)|0;$=da;R=ya}if(C){if((y|0)!=6){R=f[o>>2]|0;p[o>>3]=(y|0)==5?(f[s>>2]=R,+n[s>>2]):+(R>>>0)}}else if(D){ga=+L(+(+p[o>>3]));p[o>>3]=ga}Z=+p[o>>3]}while(0);o=k+36|0;D=f[o>>2]|0;if(D|0?(y=D+12|0,D=f[y>>2]|0,f[y>>2]=D+-1,(D|0)==1):0)XO(k);f[o>>2]=0;o=k+16|0;D=k+4|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;if((f[D>>2]|0)>0){o=f[k+40>>2]|0;y=0;do{f[o+(y<<2)>>2]=0;y=y+1|0}while((y|0)<(f[D>>2]|0))}D=f[k+44>>2]|0;if((D|0)!=(k+48|0))dX(D);D=j+36|0;k=f[D>>2]|0;if(k|0?(y=k+12|0,k=f[y>>2]|0,f[y>>2]=k+-1,(k|0)==1):0)XO(j);f[D>>2]=0;D=j+16|0;k=j+4|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;if((f[k>>2]|0)>0){D=f[j+40>>2]|0;y=0;do{f[D+(y<<2)>>2]=0;y=y+1|0}while((y|0)<(f[k>>2]|0))}k=f[j+44>>2]|0;if((k|0)!=(j+48|0))dX(k);k=i+36|0;j=f[k>>2]|0;if(j|0?(y=j+12|0,j=f[y>>2]|0,f[y>>2]=j+-1,(j|0)==1):0)XO(i);f[k>>2]=0;k=i+16|0;j=i+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;if((f[j>>2]|0)>0){k=f[i+40>>2]|0;y=0;do{f[k+(y<<2)>>2]=0;y=y+1|0}while((y|0)<(f[j>>2]|0))}j=f[i+44>>2]|0;if((j|0)!=(i+48|0))dX(j);Ba=Z}else{Z=+kL(a,c,d&-9,e);Ba=Z/(+IK(c,d,e)+2.220446049250313e-16)}if(!(f[h+4>>2]|0)){u=g;return +Ba}u=g;return +Ba}function lL(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;j=f[e>>2]|0;if(!d){k=X(i,g)|0;if((k|0)>0){l=0;m=0;while(1){n=(h[a+m>>0]|0)-(h[c+m>>0]|0)|0;o=(n|0)>-1?n:0-n|0;n=(l|0)<(o|0)?o:l;m=m+1|0;if((m|0)==(k|0)){p=n;break}else l=n}}else p=0;q=(j|0)<(p|0)?p:j;f[e>>2]=q;return 0}if((g|0)>0&(i|0)>0){r=0;s=a;t=c;u=j}else{q=j;f[e>>2]=q;return 0}while(1){if(!(b[d+r>>0]|0))v=u;else{j=0;c=u;while(1){a=(h[s+j>>0]|0)-(h[t+j>>0]|0)|0;p=(a|0)>-1?a:0-a|0;a=(c|0)<(p|0)?p:c;j=j+1|0;if((j|0)==(i|0)){v=a;break}else c=a}}r=r+1|0;if((r|0)==(g|0)){q=v;break}else{s=s+i|0;t=t+i|0;u=v}}f[e>>2]=q;return 0}function mL(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;i=f[e>>2]|0;if(!d){j=X(h,g)|0;if((j|0)>0){k=0;l=0;while(1){m=(b[a+l>>0]|0)-(b[c+l>>0]|0)|0;n=(m|0)>-1?m:0-m|0;m=(k|0)<(n|0)?n:k;l=l+1|0;if((l|0)==(j|0)){o=m;break}else k=m}}else o=0;p=(i|0)<(o|0)?o:i;f[e>>2]=p;return 0}if((g|0)>0&(h|0)>0){q=0;r=a;s=c;t=i}else{p=i;f[e>>2]=p;return 0}while(1){if(!(b[d+q>>0]|0))u=t;else{i=0;c=t;while(1){a=(b[r+i>>0]|0)-(b[s+i>>0]|0)|0;o=(a|0)>-1?a:0-a|0;a=(c|0)<(o|0)?o:c;i=i+1|0;if((i|0)==(h|0)){u=a;break}else c=a}}q=q+1|0;if((q|0)==(g|0)){p=u;break}else{r=r+h|0;s=s+h|0;t=u}}f[e>>2]=p;return 0}function nL(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;i=f[e>>2]|0;if(!d){k=X(h,g)|0;if((k|0)>0){l=0;m=0;while(1){n=(j[a+(m<<1)>>1]|0)-(j[c+(m<<1)>>1]|0)|0;o=(n|0)>-1?n:0-n|0;n=(l|0)<(o|0)?o:l;m=m+1|0;if((m|0)==(k|0)){p=n;break}else l=n}}else p=0;q=(i|0)<(p|0)?p:i;f[e>>2]=q;return 0}if((g|0)>0&(h|0)>0){r=0;s=a;t=c;u=i}else{q=i;f[e>>2]=q;return 0}while(1){if(!(b[d+r>>0]|0))v=u;else{i=0;c=u;while(1){a=(j[s+(i<<1)>>1]|0)-(j[t+(i<<1)>>1]|0)|0;p=(a|0)>-1?a:0-a|0;a=(c|0)<(p|0)?p:c;i=i+1|0;if((i|0)==(h|0)){v=a;break}else c=a}}r=r+1|0;if((r|0)==(g|0)){q=v;break}else{s=s+(h<<1)|0;t=t+(h<<1)|0;u=v}}f[e>>2]=q;return 0}function oL(a,c,e,g,h,i){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;j=f[g>>2]|0;if(!e){k=X(i,h)|0;if((k|0)>0){l=0;m=0;while(1){n=(d[a+(m<<1)>>1]|0)-(d[c+(m<<1)>>1]|0)|0;o=(n|0)>-1?n:0-n|0;n=(l|0)<(o|0)?o:l;m=m+1|0;if((m|0)==(k|0)){p=n;break}else l=n}}else p=0;q=(j|0)<(p|0)?p:j;f[g>>2]=q;return 0}if((h|0)>0&(i|0)>0){r=0;s=a;t=c;u=j}else{q=j;f[g>>2]=q;return 0}while(1){if(!(b[e+r>>0]|0))v=u;else{j=0;c=u;while(1){a=(d[s+(j<<1)>>1]|0)-(d[t+(j<<1)>>1]|0)|0;p=(a|0)>-1?a:0-a|0;a=(c|0)<(p|0)?p:c;j=j+1|0;if((j|0)==(i|0)){v=a;break}else c=a}}r=r+1|0;if((r|0)==(h|0)){q=v;break}else{s=s+(i<<1)|0;t=t+(i<<1)|0;u=v}}f[g>>2]=q;return 0}function pL(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;i=f[e>>2]|0;if(!d){j=X(h,g)|0;if((j|0)>0){k=0;l=0;while(1){m=(f[a+(l<<2)>>2]|0)-(f[c+(l<<2)>>2]|0)|0;n=(m|0)>-1?m:0-m|0;m=(k|0)<(n|0)?n:k;l=l+1|0;if((l|0)==(j|0)){o=m;break}else k=m}}else o=0;p=(i|0)<(o|0)?o:i;f[e>>2]=p;return 0}if((g|0)>0&(h|0)>0){q=0;r=a;s=c;t=i}else{p=i;f[e>>2]=p;return 0}while(1){if(!(b[d+q>>0]|0))u=t;else{i=0;c=t;while(1){a=(f[r+(i<<2)>>2]|0)-(f[s+(i<<2)>>2]|0)|0;o=(a|0)>-1?a:0-a|0;a=(c|0)<(o|0)?o:c;i=i+1|0;if((i|0)==(h|0)){u=a;break}else c=a}}q=q+1|0;if((q|0)==(g|0)){p=u;break}else{r=r+(h<<2)|0;s=s+(h<<2)|0;t=u}}f[e>>2]=p;return 0}function qL(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0.0,k=0,l=0,m=0.0,o=0.0,p=0.0,q=0.0,r=0,t=0,u=0,v=0,w=0,x=0.0,y=0,z=0.0;i=f[e>>2]|0;j=(f[s>>2]=i,+n[s>>2]);if(!d){k=X(h,g)|0;if((k|0)>0){l=0;m=0.0;while(1){o=+K(+(+n[a+(l<<2)>>2]-+n[c+(l<<2)>>2]));p=m>2]=q>j?q:j,f[s>>2]|0);f[e>>2]=r;return 0}if((g|0)>0&(h|0)>0){t=0;u=a;v=c;w=i;x=j}else{r=i;f[e>>2]=r;return 0}while(1){if(!(b[d+t>>0]|0)){y=w;z=x}else{i=0;j=x;do{q=+K(+(+n[u+(i<<2)>>2]-+n[v+(i<<2)>>2]));j=j>2]=j,f[s>>2]|0);z=j}t=t+1|0;if((t|0)==(g|0)){r=y;break}else{u=u+(h<<2)|0;v=v+(h<<2)|0;w=y;x=z}}f[e>>2]=r;return 0}function rL(a,c,d,e,f,g){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0.0,i=0,j=0.0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,q=0,r=0,s=0,t=0.0,u=0.0;h=+p[e>>3];if(!d){i=X(g,f)|0;if((i|0)>0){j=0.0;k=0;while(1){l=+K(+(+p[a+(k<<3)>>3]-+p[c+(k<<3)>>3]));m=j>3]=o;return 0}if((f|0)>0&(g|0)>0){q=0;r=a;s=c;t=h}else{o=h;p[e>>3]=o;return 0}while(1){if(!(b[d+q>>0]|0))u=t;else{c=0;h=t;while(1){n=+K(+(+p[r+(c<<3)>>3]-+p[s+(c<<3)>>3]));j=h>3]=o;return 0}function sL(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return TL(a,b,c,d,e,f)|0}function tL(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return SL(a,b,c,d,e,f)|0}function uL(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return RL(a,b,c,d,e,f)|0}function vL(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return QL(a,b,c,d,e,f)|0}function wL(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return PL(a,b,c,d,e,f)|0}function xL(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return OL(a,b,c,d,e,f)|0}function yL(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return NL(a,b,c,d,e,f)|0}function zL(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ML(a,b,c,d,e,f)|0}function AL(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return LL(a,b,c,d,e,f)|0}function BL(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return KL(a,b,c,d,e,f)|0}function CL(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return JL(a,b,c,d,e,f)|0}function DL(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return IL(a,b,c,d,e,f)|0}function EL(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return HL(a,b,c,d,e,f)|0}function FL(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return GL(a,b,c,d,e,f)|0}function GL(a,c,d,e,f,g){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0.0,i=0,j=0.0,k=0,l=0,m=0.0,n=0.0,o=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0;h=+p[e>>3];if(d|0){if((f|0)>0&(g|0)>0){i=0;j=h;k=c;l=a}else{m=h;p[e>>3]=m;return 0}while(1){if(!(b[d+i>>0]|0))n=j;else{o=0;q=j;while(1){r=+p[l+(o<<3)>>3]-+p[k+(o<<3)>>3];s=q+r*r;o=o+1|0;if((o|0)==(g|0)){n=s;break}else q=s}}i=i+1|0;if((i|0)==(f|0)){m=n;break}else{j=n;k=k+(g<<3)|0;l=l+(g<<3)|0}}p[e>>3]=m;return 0}l=X(g,f)|0;f=l+-4|0;if((l|0)<4){t=0.0;u=0}else{g=0;n=0.0;do{j=+p[a+(g<<3)>>3]-+p[c+(g<<3)>>3];k=g|1;q=+p[a+(k<<3)>>3]-+p[c+(k<<3)>>3];k=g|2;s=+p[a+(k<<3)>>3]-+p[c+(k<<3)>>3];k=g|3;r=+p[a+(k<<3)>>3]-+p[c+(k<<3)>>3];n=n+(j*j+q*q+s*s+r*r);g=g+4|0}while((g|0)<=(f|0));t=n;u=l&-4}if((u|0)<(l|0)){f=u;n=t;while(1){r=+p[a+(f<<3)>>3]-+p[c+(f<<3)>>3];s=n+r*r;f=f+1|0;if((f|0)==(l|0)){v=s;break}else n=s}}else v=t;m=h+v;p[e>>3]=m;return 0}function HL(a,c,d,e,f,g){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0.0,i=0,j=0.0,k=0,l=0,m=0.0,o=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0.0;h=+p[e>>3];if(d|0){if((f|0)>0&(g|0)>0){i=0;j=h;k=c;l=a}else{m=h;p[e>>3]=m;return 0}while(1){if(!(b[d+i>>0]|0))o=j;else{q=0;r=j;while(1){s=+n[l+(q<<2)>>2]-+n[k+(q<<2)>>2];t=r+s*s;q=q+1|0;if((q|0)==(g|0)){o=t;break}else r=t}}i=i+1|0;if((i|0)==(f|0)){m=o;break}else{j=o;k=k+(g<<2)|0;l=l+(g<<2)|0}}p[e>>3]=m;return 0}l=X(g,f)|0;f=l+-4|0;if((l|0)<4){u=0.0;v=0}else{g=0;o=0.0;do{j=+n[a+(g<<2)>>2]-+n[c+(g<<2)>>2];k=g|1;r=+n[a+(k<<2)>>2]-+n[c+(k<<2)>>2];k=g|2;t=+n[a+(k<<2)>>2]-+n[c+(k<<2)>>2];k=g|3;s=+n[a+(k<<2)>>2]-+n[c+(k<<2)>>2];o=o+(j*j+r*r+t*t+s*s);g=g+4|0}while((g|0)<=(f|0));u=o;v=l&-4}if((v|0)<(l|0)){f=v;o=u;while(1){s=+n[a+(f<<2)>>2]-+n[c+(f<<2)>>2];t=o+s*s;f=f+1|0;if((f|0)==(l|0)){w=t;break}else o=t}}else w=u;m=h+w;p[e>>3]=m;return 0}function IL(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0.0,j=0,k=0.0,l=0,m=0,n=0.0,o=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0.0;i=+p[e>>3];if(d|0){if((g|0)>0&(h|0)>0){j=0;k=i;l=c;m=a}else{n=i;p[e>>3]=n;return 0}while(1){if(!(b[d+j>>0]|0))o=k;else{q=0;r=k;while(1){s=+((f[m+(q<<2)>>2]|0)-(f[l+(q<<2)>>2]|0)|0);t=r+s*s;q=q+1|0;if((q|0)==(h|0)){o=t;break}else r=t}}j=j+1|0;if((j|0)==(g|0)){n=o;break}else{k=o;l=l+(h<<2)|0;m=m+(h<<2)|0}}p[e>>3]=n;return 0}m=X(h,g)|0;g=m+-4|0;if((m|0)<4){u=0.0;v=0}else{h=0;o=0.0;do{k=+((f[a+(h<<2)>>2]|0)-(f[c+(h<<2)>>2]|0)|0);l=h|1;r=+((f[a+(l<<2)>>2]|0)-(f[c+(l<<2)>>2]|0)|0);l=h|2;t=+((f[a+(l<<2)>>2]|0)-(f[c+(l<<2)>>2]|0)|0);l=h|3;s=+((f[a+(l<<2)>>2]|0)-(f[c+(l<<2)>>2]|0)|0);o=o+(k*k+r*r+t*t+s*s);h=h+4|0}while((h|0)<=(g|0));u=o;v=m&-4}if((v|0)<(m|0)){g=v;o=u;while(1){s=+((f[a+(g<<2)>>2]|0)-(f[c+(g<<2)>>2]|0)|0);t=o+s*s;g=g+1|0;if((g|0)==(m|0)){w=t;break}else o=t}}else w=u;n=i+w;p[e>>3]=n;return 0}function JL(a,c,e,f,g,h){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0.0,j=0,k=0.0,l=0,m=0,n=0.0,o=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0.0;i=+p[f>>3];if(e|0){if((g|0)>0&(h|0)>0){j=0;k=i;l=c;m=a}else{n=i;p[f>>3]=n;return 0}while(1){if(!(b[e+j>>0]|0))o=k;else{q=0;r=k;while(1){s=+((d[m+(q<<1)>>1]|0)-(d[l+(q<<1)>>1]|0)|0);t=r+s*s;q=q+1|0;if((q|0)==(h|0)){o=t;break}else r=t}}j=j+1|0;if((j|0)==(g|0)){n=o;break}else{k=o;l=l+(h<<1)|0;m=m+(h<<1)|0}}p[f>>3]=n;return 0}m=X(h,g)|0;g=m+-4|0;if((m|0)<4){u=0.0;v=0}else{h=0;o=0.0;do{k=+((d[a+(h<<1)>>1]|0)-(d[c+(h<<1)>>1]|0)|0);l=h|1;r=+((d[a+(l<<1)>>1]|0)-(d[c+(l<<1)>>1]|0)|0);l=h|2;t=+((d[a+(l<<1)>>1]|0)-(d[c+(l<<1)>>1]|0)|0);l=h|3;s=+((d[a+(l<<1)>>1]|0)-(d[c+(l<<1)>>1]|0)|0);o=o+(k*k+r*r+t*t+s*s);h=h+4|0}while((h|0)<=(g|0));u=o;v=m&-4}if((v|0)<(m|0)){g=v;o=u;while(1){s=+((d[a+(g<<1)>>1]|0)-(d[c+(g<<1)>>1]|0)|0);t=o+s*s;g=g+1|0;if((g|0)==(m|0)){w=t;break}else o=t}}else w=u;n=i+w;p[f>>3]=n;return 0}function KL(a,c,d,e,f,g){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0.0,i=0,k=0.0,l=0,m=0,n=0.0,o=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0.0;h=+p[e>>3];if(d|0){if((f|0)>0&(g|0)>0){i=0;k=h;l=c;m=a}else{n=h;p[e>>3]=n;return 0}while(1){if(!(b[d+i>>0]|0))o=k;else{q=0;r=k;while(1){s=+((j[m+(q<<1)>>1]|0)-(j[l+(q<<1)>>1]|0)|0);t=r+s*s;q=q+1|0;if((q|0)==(g|0)){o=t;break}else r=t}}i=i+1|0;if((i|0)==(f|0)){n=o;break}else{k=o;l=l+(g<<1)|0;m=m+(g<<1)|0}}p[e>>3]=n;return 0}m=X(g,f)|0;f=m+-4|0;if((m|0)<4){u=0.0;v=0}else{g=0;o=0.0;do{k=+((j[a+(g<<1)>>1]|0)-(j[c+(g<<1)>>1]|0)|0);l=g|1;r=+((j[a+(l<<1)>>1]|0)-(j[c+(l<<1)>>1]|0)|0);l=g|2;t=+((j[a+(l<<1)>>1]|0)-(j[c+(l<<1)>>1]|0)|0);l=g|3;s=+((j[a+(l<<1)>>1]|0)-(j[c+(l<<1)>>1]|0)|0);o=o+(k*k+r*r+t*t+s*s);g=g+4|0}while((g|0)<=(f|0));u=o;v=m&-4}if((v|0)<(m|0)){f=v;o=u;while(1){s=+((j[a+(f<<1)>>1]|0)-(j[c+(f<<1)>>1]|0)|0);t=o+s*s;f=f+1|0;if((f|0)==(m|0)){w=t;break}else o=t}}else w=u;n=h+w;p[e>>3]=n;return 0}function LL(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;i=f[e>>2]|0;if(d|0){if((g|0)>0&(h|0)>0){j=0;k=i;l=c;m=a}else{n=i;f[e>>2]=n;return 0}while(1){if(!(b[d+j>>0]|0))o=k;else{p=0;q=k;while(1){r=(b[m+p>>0]|0)-(b[l+p>>0]|0)|0;s=(X(r,r)|0)+q|0;p=p+1|0;if((p|0)==(h|0)){o=s;break}else q=s}}j=j+1|0;if((j|0)==(g|0)){n=o;break}else{k=o;l=l+h|0;m=m+h|0}}f[e>>2]=n;return 0}m=X(h,g)|0;g=m+-4|0;if((m|0)<4){t=0;u=0}else{h=0;l=0;do{o=(b[a+h>>0]|0)-(b[c+h>>0]|0)|0;k=h|1;j=(b[a+k>>0]|0)-(b[c+k>>0]|0)|0;k=h|2;d=(b[a+k>>0]|0)-(b[c+k>>0]|0)|0;k=h|3;q=(b[a+k>>0]|0)-(b[c+k>>0]|0)|0;l=(X(o,o)|0)+l+(X(j,j)|0)+(X(d,d)|0)+(X(q,q)|0)|0;h=h+4|0}while((h|0)<=(g|0));t=l;u=m&-4}if((u|0)<(m|0)){l=u;u=t;while(1){g=(b[a+l>>0]|0)-(b[c+l>>0]|0)|0;h=(X(g,g)|0)+u|0;l=l+1|0;if((l|0)==(m|0)){v=h;break}else u=h}}else v=t;n=v+i|0;f[e>>2]=n;return 0}function ML(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;j=f[e>>2]|0;if(d|0){if((g|0)>0&(i|0)>0){k=0;l=j;m=c;n=a}else{o=j;f[e>>2]=o;return 0}while(1){if(!(b[d+k>>0]|0))p=l;else{q=0;r=l;while(1){s=(h[n+q>>0]|0)-(h[m+q>>0]|0)|0;t=(X(s,s)|0)+r|0;q=q+1|0;if((q|0)==(i|0)){p=t;break}else r=t}}k=k+1|0;if((k|0)==(g|0)){o=p;break}else{l=p;m=m+i|0;n=n+i|0}}f[e>>2]=o;return 0}n=X(i,g)|0;g=n+-4|0;if((n|0)<4){u=0;v=0}else{i=0;m=0;do{p=(h[a+i>>0]|0)-(h[c+i>>0]|0)|0;l=i|1;k=(h[a+l>>0]|0)-(h[c+l>>0]|0)|0;l=i|2;d=(h[a+l>>0]|0)-(h[c+l>>0]|0)|0;l=i|3;r=(h[a+l>>0]|0)-(h[c+l>>0]|0)|0;m=(X(p,p)|0)+m+(X(k,k)|0)+(X(d,d)|0)+(X(r,r)|0)|0;i=i+4|0}while((i|0)<=(g|0));u=m;v=n&-4}if((v|0)<(n|0)){m=v;v=u;while(1){g=(h[a+m>>0]|0)-(h[c+m>>0]|0)|0;i=(X(g,g)|0)+v|0;m=m+1|0;if((m|0)==(n|0)){w=i;break}else v=i}}else w=u;o=w+j|0;f[e>>2]=o;return 0}function NL(a,c,d,e,f,g){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0.0,i=0,j=0.0,k=0,l=0,m=0.0,n=0.0,o=0,q=0.0,r=0.0,s=0.0,t=0,u=0.0;h=+p[e>>3];if(d|0){if((f|0)>0&(g|0)>0){i=0;j=h;k=a;l=c}else{m=h;p[e>>3]=m;return 0}while(1){if(!(b[d+i>>0]|0))n=j;else{o=0;q=j;while(1){r=q+ +K(+(+p[k+(o<<3)>>3]-+p[l+(o<<3)>>3]));o=o+1|0;if((o|0)==(g|0)){n=r;break}else q=r}}i=i+1|0;if((i|0)==(f|0)){m=n;break}else{j=n;k=k+(g<<3)|0;l=l+(g<<3)|0}}p[e>>3]=m;return 0}l=X(g,f)|0;f=l+-4|0;if((l|0)<4){s=0.0;t=0}else{g=0;n=0.0;do{k=g|1;i=g|2;d=g|3;n=n+(+K(+(+p[a+(g<<3)>>3]-+p[c+(g<<3)>>3]))+ +K(+(+p[a+(k<<3)>>3]-+p[c+(k<<3)>>3]))+ +K(+(+p[a+(i<<3)>>3]-+p[c+(i<<3)>>3]))+ +K(+(+p[a+(d<<3)>>3]-+p[c+(d<<3)>>3])));g=g+4|0}while((g|0)<=(f|0));s=n;t=l&-4}if((t|0)<(l|0)){f=t;n=s;while(1){j=n+ +K(+(+p[a+(f<<3)>>3]-+p[c+(f<<3)>>3]));f=f+1|0;if((f|0)==(l|0)){u=j;break}else n=j}}else u=s;m=h+u;p[e>>3]=m;return 0}function OL(a,c,d,e,f,g){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0.0,i=0,j=0.0,k=0,l=0,m=0.0,o=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0.0;h=+p[e>>3];if(d|0){if((f|0)>0&(g|0)>0){i=0;j=h;k=a;l=c}else{m=h;p[e>>3]=m;return 0}while(1){if(!(b[d+i>>0]|0))o=j;else{q=0;r=j;while(1){s=r+ +K(+(+n[k+(q<<2)>>2]-+n[l+(q<<2)>>2]));q=q+1|0;if((q|0)==(g|0)){o=s;break}else r=s}}i=i+1|0;if((i|0)==(f|0)){m=o;break}else{j=o;k=k+(g<<2)|0;l=l+(g<<2)|0}}p[e>>3]=m;return 0}l=X(g,f)|0;f=l+-4|0;if((l|0)<4){t=0.0;u=0}else{g=0;o=0.0;do{k=g|1;i=g|2;d=g|3;o=o+(+K(+(+n[a+(g<<2)>>2]-+n[c+(g<<2)>>2]))+ +K(+(+n[a+(k<<2)>>2]-+n[c+(k<<2)>>2]))+ +K(+(+n[a+(i<<2)>>2]-+n[c+(i<<2)>>2]))+ +K(+(+n[a+(d<<2)>>2]-+n[c+(d<<2)>>2])));g=g+4|0}while((g|0)<=(f|0));t=o;u=l&-4}if((u|0)<(l|0)){f=u;o=t;while(1){j=o+ +K(+(+n[a+(f<<2)>>2]-+n[c+(f<<2)>>2]));f=f+1|0;if((f|0)==(l|0)){v=j;break}else o=j}}else v=t;m=h+v;p[e>>3]=m;return 0}function PL(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0.0,j=0,k=0.0,l=0,m=0,n=0.0,o=0.0,q=0,r=0.0,s=0,t=0.0,u=0.0,v=0,w=0.0;i=+p[e>>3];if(d|0){if((g|0)>0&(h|0)>0){j=0;k=i;l=a;m=c}else{n=i;p[e>>3]=n;return 0}while(1){if(!(b[d+j>>0]|0))o=k;else{q=0;r=k;while(1){s=(f[l+(q<<2)>>2]|0)-(f[m+(q<<2)>>2]|0)|0;t=r+ +(((s|0)>-1?s:0-s|0)|0);q=q+1|0;if((q|0)==(h|0)){o=t;break}else r=t}}j=j+1|0;if((j|0)==(g|0)){n=o;break}else{k=o;l=l+(h<<2)|0;m=m+(h<<2)|0}}p[e>>3]=n;return 0}m=X(h,g)|0;g=m+-4|0;if((m|0)<4){u=0.0;v=0}else{h=0;o=0.0;do{l=h|1;j=h|2;d=h|3;o=o+(+K(+(+((f[a+(h<<2)>>2]|0)-(f[c+(h<<2)>>2]|0)|0)))+ +K(+(+((f[a+(l<<2)>>2]|0)-(f[c+(l<<2)>>2]|0)|0)))+ +K(+(+((f[a+(j<<2)>>2]|0)-(f[c+(j<<2)>>2]|0)|0)))+ +K(+(+((f[a+(d<<2)>>2]|0)-(f[c+(d<<2)>>2]|0)|0))));h=h+4|0}while((h|0)<=(g|0));u=o;v=m&-4}if((v|0)<(m|0)){g=v;o=u;while(1){k=o+ +K(+(+((f[a+(g<<2)>>2]|0)-(f[c+(g<<2)>>2]|0)|0)));g=g+1|0;if((g|0)==(m|0)){w=k;break}else o=k}}else w=u;n=i+w;p[e>>3]=n;return 0}function QL(a,c,e,g,h,i){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;j=f[g>>2]|0;if(e|0){if((h|0)>0&(i|0)>0){k=0;l=j;m=a;n=c}else{o=j;f[g>>2]=o;return 0}while(1){if(!(b[e+k>>0]|0))p=l;else{q=0;r=l;while(1){s=(d[m+(q<<1)>>1]|0)-(d[n+(q<<1)>>1]|0)|0;t=((s|0)>-1?s:0-s|0)+r|0;q=q+1|0;if((q|0)==(i|0)){p=t;break}else r=t}}k=k+1|0;if((k|0)==(h|0)){o=p;break}else{l=p;m=m+(i<<1)|0;n=n+(i<<1)|0}}f[g>>2]=o;return 0}n=X(i,h)|0;h=n+-4|0;if((n|0)<4){u=0;v=0}else{i=0;m=0;do{p=(d[a+(i<<1)>>1]|0)-(d[c+(i<<1)>>1]|0)|0;l=i|1;k=(d[a+(l<<1)>>1]|0)-(d[c+(l<<1)>>1]|0)|0;l=i|2;e=(d[a+(l<<1)>>1]|0)-(d[c+(l<<1)>>1]|0)|0;l=i|3;r=(d[a+(l<<1)>>1]|0)-(d[c+(l<<1)>>1]|0)|0;m=((p|0)>-1?p:0-p|0)+m+((k|0)>-1?k:0-k|0)+((e|0)>-1?e:0-e|0)+((r|0)>-1?r:0-r|0)|0;i=i+4|0}while((i|0)<=(h|0));u=m;v=n&-4}if((v|0)<(n|0)){m=v;v=u;while(1){h=(d[a+(m<<1)>>1]|0)-(d[c+(m<<1)>>1]|0)|0;i=((h|0)>-1?h:0-h|0)+v|0;m=m+1|0;if((m|0)==(n|0)){w=i;break}else v=i}}else w=u;o=w+j|0;f[g>>2]=o;return 0}function RL(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;i=f[e>>2]|0;if(d|0){if((g|0)>0&(h|0)>0){k=0;l=i;m=a;n=c}else{o=i;f[e>>2]=o;return 0}while(1){if(!(b[d+k>>0]|0))p=l;else{q=0;r=l;while(1){s=(j[m+(q<<1)>>1]|0)-(j[n+(q<<1)>>1]|0)|0;t=((s|0)>-1?s:0-s|0)+r|0;q=q+1|0;if((q|0)==(h|0)){p=t;break}else r=t}}k=k+1|0;if((k|0)==(g|0)){o=p;break}else{l=p;m=m+(h<<1)|0;n=n+(h<<1)|0}}f[e>>2]=o;return 0}n=X(h,g)|0;g=n+-4|0;if((n|0)<4){u=0;v=0}else{h=0;m=0;do{p=(j[a+(h<<1)>>1]|0)-(j[c+(h<<1)>>1]|0)|0;l=h|1;k=(j[a+(l<<1)>>1]|0)-(j[c+(l<<1)>>1]|0)|0;l=h|2;d=(j[a+(l<<1)>>1]|0)-(j[c+(l<<1)>>1]|0)|0;l=h|3;r=(j[a+(l<<1)>>1]|0)-(j[c+(l<<1)>>1]|0)|0;m=((p|0)>-1?p:0-p|0)+m+((k|0)>-1?k:0-k|0)+((d|0)>-1?d:0-d|0)+((r|0)>-1?r:0-r|0)|0;h=h+4|0}while((h|0)<=(g|0));u=m;v=n&-4}if((v|0)<(n|0)){m=v;v=u;while(1){g=(j[a+(m<<1)>>1]|0)-(j[c+(m<<1)>>1]|0)|0;h=((g|0)>-1?g:0-g|0)+v|0;m=m+1|0;if((m|0)==(n|0)){w=h;break}else v=h}}else w=u;o=w+i|0;f[e>>2]=o;return 0}function SL(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;i=f[e>>2]|0;if(d|0){if((g|0)>0&(h|0)>0){j=0;k=i;l=a;m=c}else{n=i;f[e>>2]=n;return 0}while(1){if(!(b[d+j>>0]|0))o=k;else{p=0;q=k;while(1){r=(b[l+p>>0]|0)-(b[m+p>>0]|0)|0;s=((r|0)>-1?r:0-r|0)+q|0;p=p+1|0;if((p|0)==(h|0)){o=s;break}else q=s}}j=j+1|0;if((j|0)==(g|0)){n=o;break}else{k=o;l=l+h|0;m=m+h|0}}f[e>>2]=n;return 0}m=X(h,g)|0;g=m+-4|0;if((m|0)<4){t=0;u=0}else{h=0;l=0;do{o=(b[a+h>>0]|0)-(b[c+h>>0]|0)|0;k=h|1;j=(b[a+k>>0]|0)-(b[c+k>>0]|0)|0;k=h|2;d=(b[a+k>>0]|0)-(b[c+k>>0]|0)|0;k=h|3;q=(b[a+k>>0]|0)-(b[c+k>>0]|0)|0;l=((o|0)>-1?o:0-o|0)+l+((j|0)>-1?j:0-j|0)+((d|0)>-1?d:0-d|0)+((q|0)>-1?q:0-q|0)|0;h=h+4|0}while((h|0)<=(g|0));t=l;u=m&-4}if((u|0)<(m|0)){l=u;u=t;while(1){g=(b[a+l>>0]|0)-(b[c+l>>0]|0)|0;h=((g|0)>-1?g:0-g|0)+u|0;l=l+1|0;if((l|0)==(m|0)){v=h;break}else u=h}}else v=t;n=v+i|0;f[e>>2]=n;return 0}function TL(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;j=f[e>>2]|0;if(d|0){if((g|0)>0&(i|0)>0){k=0;l=j;m=a;n=c}else{o=j;f[e>>2]=o;return 0}while(1){if(!(b[d+k>>0]|0))p=l;else{q=0;r=l;while(1){s=(h[m+q>>0]|0)-(h[n+q>>0]|0)|0;t=((s|0)>-1?s:0-s|0)+r|0;q=q+1|0;if((q|0)==(i|0)){p=t;break}else r=t}}k=k+1|0;if((k|0)==(g|0)){o=p;break}else{l=p;m=m+i|0;n=n+i|0}}f[e>>2]=o;return 0}n=X(i,g)|0;g=n+-4|0;if((n|0)<4){u=0;v=0}else{i=0;m=0;do{p=(h[a+i>>0]|0)-(h[c+i>>0]|0)|0;l=i|1;k=(h[a+l>>0]|0)-(h[c+l>>0]|0)|0;l=i|2;d=(h[a+l>>0]|0)-(h[c+l>>0]|0)|0;l=i|3;r=(h[a+l>>0]|0)-(h[c+l>>0]|0)|0;m=((p|0)>-1?p:0-p|0)+m+((k|0)>-1?k:0-k|0)+((d|0)>-1?d:0-d|0)+((r|0)>-1?r:0-r|0)|0;i=i+4|0}while((i|0)<=(g|0));u=m;v=n&-4}if((v|0)<(n|0)){m=v;v=u;while(1){g=(h[a+m>>0]|0)-(h[c+m>>0]|0)|0;i=((g|0)>-1?g:0-g|0)+v|0;m=m+1|0;if((m|0)==(n|0)){w=i;break}else v=i}}else w=u;o=w+j|0;f[e>>2]=o;return 0}function UL(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;j=f[i>>2]|0;k=f[i+4>>2]|0;if((k|0)!=0&(j|0)>0){l=a;m=d;n=g;o=k}else return;while(1){k=0;do{if(b[m+k>>0]|0)b[n+k>>0]=b[l+k>>0]|0;k=k+1|0}while((k|0)!=(j|0));o=o+-1|0;if(!o)break;else{l=l+c|0;m=m+e|0;n=n+h|0}}return}function VL(a,c,e,g,h,i,j,k){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0;k=f[j>>2]|0;l=f[j+4>>2]|0;if((l|0)!=0&(k|0)>0){m=a;n=e;o=h;p=l}else return;while(1){l=0;do{if(b[n+l>>0]|0)d[o+(l<<1)>>1]=d[m+(l<<1)>>1]|0;l=l+1|0}while((l|0)!=(k|0));p=p+-1|0;if(!p)break;else{m=m+c|0;n=n+g|0;o=o+i|0}}return}function WL(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;j=f[i>>2]|0;k=f[i+4>>2]|0;if(!k)return;i=j+-4|0;if((j|0)<4){l=(j|0)>0;m=a;n=d;o=g;p=k;while(1){p=p+-1|0;if(l){q=0;do{if(b[n+q>>0]|0){r=o+(q*3|0)|0;s=m+(q*3|0)|0;b[r>>0]=b[s>>0]|0;b[r+1>>0]=b[s+1>>0]|0;b[r+2>>0]=b[s+2>>0]|0}q=q+1|0}while((q|0)!=(j|0))}if(!p)break;else{m=m+c|0;n=n+e|0;o=o+h|0}}return}o=j&-4;n=(o|0)<(j|0);m=a;a=d;d=g;g=k;while(1){k=0;do{if(b[a+k>>0]|0){p=d+(k*3|0)|0;l=m+(k*3|0)|0;b[p>>0]=b[l>>0]|0;b[p+1>>0]=b[l+1>>0]|0;b[p+2>>0]=b[l+2>>0]|0}l=k|1;if(b[a+l>>0]|0){p=d+(l*3|0)|0;q=m+(l*3|0)|0;b[p>>0]=b[q>>0]|0;b[p+1>>0]=b[q+1>>0]|0;b[p+2>>0]=b[q+2>>0]|0}q=k|2;if(b[a+q>>0]|0){p=d+(q*3|0)|0;l=m+(q*3|0)|0;b[p>>0]=b[l>>0]|0;b[p+1>>0]=b[l+1>>0]|0;b[p+2>>0]=b[l+2>>0]|0}l=k|3;if(b[a+l>>0]|0){p=d+(l*3|0)|0;q=m+(l*3|0)|0;b[p>>0]=b[q>>0]|0;b[p+1>>0]=b[q+1>>0]|0;b[p+2>>0]=b[q+2>>0]|0}k=k+4|0}while((k|0)<=(i|0));g=g+-1|0;if(n){k=o;do{if(b[a+k>>0]|0){q=d+(k*3|0)|0;p=m+(k*3|0)|0;b[q>>0]=b[p>>0]|0;b[q+1>>0]=b[p+1>>0]|0;b[q+2>>0]=b[p+2>>0]|0}k=k+1|0}while((k|0)!=(j|0))}if(!g)break;else{m=m+c|0;a=a+e|0;d=d+h|0}}return}function XL(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=f[i>>2]|0;k=f[i+4>>2]|0;if(!k)return;i=j+-4|0;if((j|0)<4){l=(j|0)>0;m=a;n=d;o=g;p=k;while(1){p=p+-1|0;if(l){q=0;do{if(b[n+q>>0]|0)f[o+(q<<2)>>2]=f[m+(q<<2)>>2];q=q+1|0}while((q|0)!=(j|0))}if(!p)break;else{m=m+c|0;n=n+e|0;o=o+h|0}}return}o=j&-4;n=(o|0)<(j|0);m=a;a=d;d=g;g=k;while(1){k=0;do{if(b[a+k>>0]|0)f[d+(k<<2)>>2]=f[m+(k<<2)>>2];p=k|1;if(b[a+p>>0]|0)f[d+(p<<2)>>2]=f[m+(p<<2)>>2];p=k|2;if(b[a+p>>0]|0)f[d+(p<<2)>>2]=f[m+(p<<2)>>2];p=k|3;if(b[a+p>>0]|0)f[d+(p<<2)>>2]=f[m+(p<<2)>>2];k=k+4|0}while((k|0)<=(i|0));g=g+-1|0;if(n){k=o;do{if(b[a+k>>0]|0)f[d+(k<<2)>>2]=f[m+(k<<2)>>2];k=k+1|0}while((k|0)!=(j|0))}if(!g)break;else{m=m+c|0;a=a+e|0;d=d+h|0}}return}function YL(a,c,e,g,h,i,j,k){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;k=f[j>>2]|0;l=f[j+4>>2]|0;if(!l)return;j=k+-4|0;if((k|0)<4){m=(k|0)>0;n=a;o=e;p=h;q=l;while(1){q=q+-1|0;if(m){r=0;do{if(b[o+r>>0]|0){s=p+(r*6|0)|0;t=n+(r*6|0)|0;d[s>>1]=d[t>>1]|0;d[s+2>>1]=d[t+2>>1]|0;d[s+4>>1]=d[t+4>>1]|0}r=r+1|0}while((r|0)!=(k|0))}if(!q)break;else{n=n+c|0;o=o+g|0;p=p+i|0}}return}p=k&-4;o=(p|0)<(k|0);n=a;a=e;e=h;h=l;while(1){l=0;do{if(b[a+l>>0]|0){q=e+(l*6|0)|0;m=n+(l*6|0)|0;d[q>>1]=d[m>>1]|0;d[q+2>>1]=d[m+2>>1]|0;d[q+4>>1]=d[m+4>>1]|0}m=l|1;if(b[a+m>>0]|0){q=e+(m*6|0)|0;r=n+(m*6|0)|0;d[q>>1]=d[r>>1]|0;d[q+2>>1]=d[r+2>>1]|0;d[q+4>>1]=d[r+4>>1]|0}r=l|2;if(b[a+r>>0]|0){q=e+(r*6|0)|0;m=n+(r*6|0)|0;d[q>>1]=d[m>>1]|0;d[q+2>>1]=d[m+2>>1]|0;d[q+4>>1]=d[m+4>>1]|0}m=l|3;if(b[a+m>>0]|0){q=e+(m*6|0)|0;r=n+(m*6|0)|0;d[q>>1]=d[r>>1]|0;d[q+2>>1]=d[r+2>>1]|0;d[q+4>>1]=d[r+4>>1]|0}l=l+4|0}while((l|0)<=(j|0));h=h+-1|0;if(o){l=p;do{if(b[a+l>>0]|0){r=e+(l*6|0)|0;q=n+(l*6|0)|0;d[r>>1]=d[q>>1]|0;d[r+2>>1]=d[q+2>>1]|0;d[r+4>>1]=d[q+4>>1]|0}l=l+1|0}while((l|0)!=(k|0))}if(!h)break;else{n=n+c|0;a=a+g|0;e=e+i|0}}return}function ZL(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=f[i>>2]|0;k=f[i+4>>2]|0;if(!k)return;i=j+-4|0;if((j|0)<4){l=(j|0)>0;m=a;n=d;o=g;p=k;while(1){p=p+-1|0;if(l){q=0;do{if(b[n+q>>0]|0){r=m+(q<<3)|0;s=f[r+4>>2]|0;t=o+(q<<3)|0;f[t>>2]=f[r>>2];f[t+4>>2]=s}q=q+1|0}while((q|0)!=(j|0))}if(!p)break;else{m=m+c|0;n=n+e|0;o=o+h|0}}return}o=j&-4;n=(o|0)<(j|0);m=a;a=d;d=g;g=k;while(1){k=0;do{if(b[a+k>>0]|0){p=m+(k<<3)|0;l=f[p+4>>2]|0;q=d+(k<<3)|0;f[q>>2]=f[p>>2];f[q+4>>2]=l}l=k|1;if(b[a+l>>0]|0){q=m+(l<<3)|0;p=f[q+4>>2]|0;s=d+(l<<3)|0;f[s>>2]=f[q>>2];f[s+4>>2]=p}p=k|2;if(b[a+p>>0]|0){s=m+(p<<3)|0;q=f[s+4>>2]|0;l=d+(p<<3)|0;f[l>>2]=f[s>>2];f[l+4>>2]=q}q=k|3;if(b[a+q>>0]|0){l=m+(q<<3)|0;s=f[l+4>>2]|0;p=d+(q<<3)|0;f[p>>2]=f[l>>2];f[p+4>>2]=s}k=k+4|0}while((k|0)<=(i|0));g=g+-1|0;if(n){k=o;do{if(b[a+k>>0]|0){s=m+(k<<3)|0;p=f[s+4>>2]|0;l=d+(k<<3)|0;f[l>>2]=f[s>>2];f[l+4>>2]=p}k=k+1|0}while((k|0)!=(j|0))}if(!g)break;else{m=m+c|0;a=a+e|0;d=d+h|0}}return}function _L(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;j=f[i>>2]|0;k=f[i+4>>2]|0;if(!k)return;i=j+-4|0;if((j|0)<4){l=(j|0)>0;m=a;n=d;o=g;p=k;while(1){p=p+-1|0;if(l){q=0;do{if(b[n+q>>0]|0){r=o+(q*12|0)|0;s=m+(q*12|0)|0;f[r>>2]=f[s>>2];f[r+4>>2]=f[s+4>>2];f[r+8>>2]=f[s+8>>2]}q=q+1|0}while((q|0)!=(j|0))}if(!p)break;else{m=m+c|0;n=n+e|0;o=o+h|0}}return}o=j&-4;n=(o|0)<(j|0);m=a;a=d;d=g;g=k;while(1){k=0;do{if(b[a+k>>0]|0){p=d+(k*12|0)|0;l=m+(k*12|0)|0;f[p>>2]=f[l>>2];f[p+4>>2]=f[l+4>>2];f[p+8>>2]=f[l+8>>2]}l=k|1;if(b[a+l>>0]|0){p=d+(l*12|0)|0;q=m+(l*12|0)|0;f[p>>2]=f[q>>2];f[p+4>>2]=f[q+4>>2];f[p+8>>2]=f[q+8>>2]}q=k|2;if(b[a+q>>0]|0){p=d+(q*12|0)|0;l=m+(q*12|0)|0;f[p>>2]=f[l>>2];f[p+4>>2]=f[l+4>>2];f[p+8>>2]=f[l+8>>2]}l=k|3;if(b[a+l>>0]|0){p=d+(l*12|0)|0;q=m+(l*12|0)|0;f[p>>2]=f[q>>2];f[p+4>>2]=f[q+4>>2];f[p+8>>2]=f[q+8>>2]}k=k+4|0}while((k|0)<=(i|0));g=g+-1|0;if(n){k=o;do{if(b[a+k>>0]|0){q=d+(k*12|0)|0;p=m+(k*12|0)|0;f[q>>2]=f[p>>2];f[q+4>>2]=f[p+4>>2];f[q+8>>2]=f[p+8>>2]}k=k+1|0}while((k|0)!=(j|0))}if(!g)break;else{m=m+c|0;a=a+e|0;d=d+h|0}}return}function $L(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;j=f[i>>2]|0;k=f[i+4>>2]|0;if(!k)return;i=j+-4|0;if((j|0)<4){l=(j|0)>0;m=a;n=d;o=g;p=k;while(1){p=p+-1|0;if(l){q=0;do{if(b[n+q>>0]|0){r=o+(q<<4)|0;s=m+(q<<4)|0;f[r>>2]=f[s>>2];f[r+4>>2]=f[s+4>>2];f[r+8>>2]=f[s+8>>2];f[r+12>>2]=f[s+12>>2]}q=q+1|0}while((q|0)!=(j|0))}if(!p)break;else{m=m+c|0;n=n+e|0;o=o+h|0}}return}o=j&-4;n=(o|0)<(j|0);m=a;a=d;d=g;g=k;while(1){k=0;do{if(b[a+k>>0]|0){p=d+(k<<4)|0;l=m+(k<<4)|0;f[p>>2]=f[l>>2];f[p+4>>2]=f[l+4>>2];f[p+8>>2]=f[l+8>>2];f[p+12>>2]=f[l+12>>2]}l=k|1;if(b[a+l>>0]|0){p=d+(l<<4)|0;q=m+(l<<4)|0;f[p>>2]=f[q>>2];f[p+4>>2]=f[q+4>>2];f[p+8>>2]=f[q+8>>2];f[p+12>>2]=f[q+12>>2]}q=k|2;if(b[a+q>>0]|0){p=d+(q<<4)|0;l=m+(q<<4)|0;f[p>>2]=f[l>>2];f[p+4>>2]=f[l+4>>2];f[p+8>>2]=f[l+8>>2];f[p+12>>2]=f[l+12>>2]}l=k|3;if(b[a+l>>0]|0){p=d+(l<<4)|0;q=m+(l<<4)|0;f[p>>2]=f[q>>2];f[p+4>>2]=f[q+4>>2];f[p+8>>2]=f[q+8>>2];f[p+12>>2]=f[q+12>>2]}k=k+4|0}while((k|0)<=(i|0));g=g+-1|0;if(n){k=o;do{if(b[a+k>>0]|0){q=d+(k<<4)|0;p=m+(k<<4)|0;f[q>>2]=f[p>>2];f[q+4>>2]=f[p+4>>2];f[q+8>>2]=f[p+8>>2];f[q+12>>2]=f[p+12>>2]}k=k+1|0}while((k|0)!=(j|0))}if(!g)break;else{m=m+c|0;a=a+e|0;d=d+h|0}}return}function aM(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;j=f[i>>2]|0;k=f[i+4>>2]|0;if(!k)return;i=j+-4|0;if((j|0)<4){l=(j|0)>0;m=a;n=d;o=g;p=k;while(1){p=p+-1|0;if(l){q=0;do{if(b[n+q>>0]|0){r=o+(q*24|0)|0;s=m+(q*24|0)|0;f[r>>2]=f[s>>2];f[r+4>>2]=f[s+4>>2];f[r+8>>2]=f[s+8>>2];f[r+12>>2]=f[s+12>>2];f[r+16>>2]=f[s+16>>2];f[r+20>>2]=f[s+20>>2]}q=q+1|0}while((q|0)!=(j|0))}if(!p)break;else{m=m+c|0;n=n+e|0;o=o+h|0}}return}o=j&-4;n=(o|0)<(j|0);m=a;a=d;d=g;g=k;while(1){k=0;do{if(b[a+k>>0]|0){p=d+(k*24|0)|0;l=m+(k*24|0)|0;f[p>>2]=f[l>>2];f[p+4>>2]=f[l+4>>2];f[p+8>>2]=f[l+8>>2];f[p+12>>2]=f[l+12>>2];f[p+16>>2]=f[l+16>>2];f[p+20>>2]=f[l+20>>2]}l=k|1;if(b[a+l>>0]|0){p=d+(l*24|0)|0;q=m+(l*24|0)|0;f[p>>2]=f[q>>2];f[p+4>>2]=f[q+4>>2];f[p+8>>2]=f[q+8>>2];f[p+12>>2]=f[q+12>>2];f[p+16>>2]=f[q+16>>2];f[p+20>>2]=f[q+20>>2]}q=k|2;if(b[a+q>>0]|0){p=d+(q*24|0)|0;l=m+(q*24|0)|0;f[p>>2]=f[l>>2];f[p+4>>2]=f[l+4>>2];f[p+8>>2]=f[l+8>>2];f[p+12>>2]=f[l+12>>2];f[p+16>>2]=f[l+16>>2];f[p+20>>2]=f[l+20>>2]}l=k|3;if(b[a+l>>0]|0){p=d+(l*24|0)|0;q=m+(l*24|0)|0;f[p>>2]=f[q>>2];f[p+4>>2]=f[q+4>>2];f[p+8>>2]=f[q+8>>2];f[p+12>>2]=f[q+12>>2];f[p+16>>2]=f[q+16>>2];f[p+20>>2]=f[q+20>>2]}k=k+4|0}while((k|0)<=(i|0));g=g+-1|0;if(n){k=o;do{if(b[a+k>>0]|0){q=d+(k*24|0)|0;p=m+(k*24|0)|0;f[q>>2]=f[p>>2];f[q+4>>2]=f[p+4>>2];f[q+8>>2]=f[p+8>>2];f[q+12>>2]=f[p+12>>2];f[q+16>>2]=f[p+16>>2];f[q+20>>2]=f[p+20>>2]}k=k+1|0}while((k|0)!=(j|0))}if(!g)break;else{m=m+c|0;a=a+e|0;d=d+h|0}}return}function bM(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;j=f[i>>2]|0;k=f[i+4>>2]|0;if(!k)return;i=j+-4|0;if((j|0)<4){l=(j|0)>0;m=a;n=d;o=g;p=k;while(1){p=p+-1|0;if(l){q=0;do{if(b[n+q>>0]|0){r=o+(q<<5)|0;s=m+(q<<5)|0;f[r>>2]=f[s>>2];f[r+4>>2]=f[s+4>>2];f[r+8>>2]=f[s+8>>2];f[r+12>>2]=f[s+12>>2];f[r+16>>2]=f[s+16>>2];f[r+20>>2]=f[s+20>>2];f[r+24>>2]=f[s+24>>2];f[r+28>>2]=f[s+28>>2]}q=q+1|0}while((q|0)!=(j|0))}if(!p)break;else{m=m+c|0;n=n+e|0;o=o+h|0}}return}o=j&-4;n=(o|0)<(j|0);m=a;a=d;d=g;g=k;while(1){k=0;do{if(b[a+k>>0]|0){p=d+(k<<5)|0;l=m+(k<<5)|0;f[p>>2]=f[l>>2];f[p+4>>2]=f[l+4>>2];f[p+8>>2]=f[l+8>>2];f[p+12>>2]=f[l+12>>2];f[p+16>>2]=f[l+16>>2];f[p+20>>2]=f[l+20>>2];f[p+24>>2]=f[l+24>>2];f[p+28>>2]=f[l+28>>2]}l=k|1;if(b[a+l>>0]|0){p=d+(l<<5)|0;q=m+(l<<5)|0;f[p>>2]=f[q>>2];f[p+4>>2]=f[q+4>>2];f[p+8>>2]=f[q+8>>2];f[p+12>>2]=f[q+12>>2];f[p+16>>2]=f[q+16>>2];f[p+20>>2]=f[q+20>>2];f[p+24>>2]=f[q+24>>2];f[p+28>>2]=f[q+28>>2]}q=k|2;if(b[a+q>>0]|0){p=d+(q<<5)|0;l=m+(q<<5)|0;f[p>>2]=f[l>>2];f[p+4>>2]=f[l+4>>2];f[p+8>>2]=f[l+8>>2];f[p+12>>2]=f[l+12>>2];f[p+16>>2]=f[l+16>>2];f[p+20>>2]=f[l+20>>2];f[p+24>>2]=f[l+24>>2];f[p+28>>2]=f[l+28>>2]}l=k|3;if(b[a+l>>0]|0){p=d+(l<<5)|0;q=m+(l<<5)|0;f[p>>2]=f[q>>2];f[p+4>>2]=f[q+4>>2];f[p+8>>2]=f[q+8>>2];f[p+12>>2]=f[q+12>>2];f[p+16>>2]=f[q+16>>2];f[p+20>>2]=f[q+20>>2];f[p+24>>2]=f[q+24>>2];f[p+28>>2]=f[q+28>>2]}k=k+4|0}while((k|0)<=(i|0));g=g+-1|0;if(n){k=o;do{if(b[a+k>>0]|0){q=d+(k<<5)|0;p=m+(k<<5)|0;f[q>>2]=f[p>>2];f[q+4>>2]=f[p+4>>2];f[q+8>>2]=f[p+8>>2];f[q+12>>2]=f[p+12>>2];f[q+16>>2]=f[p+16>>2];f[q+20>>2]=f[p+20>>2];f[q+24>>2]=f[p+24>>2];f[q+28>>2]=f[p+28>>2]}k=k+1|0}while((k|0)!=(j|0))}if(!g)break;else{m=m+c|0;a=a+e|0;d=d+h|0}}return}function cM(a){a=a|0;var b=0;if(a>>>0<33){b=f[32060+(a<<2)>>2]|0;return ((b|0)==0?143:b)|0}else return 143;return 0}function dM(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;k=f[j>>2]|0;j=i+4|0;l=f[j>>2]|0;m=l+-1|0;f[j>>2]=m;if(!l)return;l=f[i>>2]|0;if(!k){n=(l|0)>0;o=m;do{if(n){p=0;do p=p+1|0;while((p|0)<(l|0))}p=o;o=o+-1|0}while((p|0)!=0);f[j>>2]=o;return}else{q=a;r=d;s=g;t=l;u=m}while(1){if((t|0)>0){m=s;l=q;g=0;d=t;while(1){if(!(b[r+g>>0]|0))v=d;else{a=0;do{b[m+a>>0]=b[l+a>>0]|0;a=a+1|0}while((a|0)!=(k|0));v=f[i>>2]|0}g=g+1|0;if((g|0)>=(v|0))break;else{m=m+k|0;l=l+k|0;d=v}}w=f[j>>2]|0;x=v}else{w=u;x=t}u=w+-1|0;f[j>>2]=u;if(!w)break;else{q=q+c|0;r=r+e|0;s=s+h|0;t=x}}return}function eM(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0;d=u;u=u+352|0;e=d+344|0;g=d+288|0;h=d+160|0;i=d+32|0;j=d;yV(e,32192);k=GJ(c,-1)|0;if(uK(c)|0?(l=f[a>>2]|0,(k|0)!=(l&4095|0)):0){if((l^k)&4088|0){f[g>>2]=0;f[g+4>>2]=0;m=JV(g,55)|0;n=157439;o=m+55|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,g,157495,154597,261);KV(g)}AO(a,c,k,1.0,0.0)}else p=6;do if((p|0)==6){if((HJ(c)|0)==655360){k=a+16|0;if(f[k>>2]|0){l=a+4|0;q=f[l>>2]|0;if((q|0)<3)r=X(f[a+12>>2]|0,f[a+8>>2]|0)|0;else{s=f[a+40>>2]|0;t=0;v=1;while(1){w=X(f[s+(t<<2)>>2]|0,v)|0;t=t+1|0;if((t|0)==(q|0)){r=w;break}else v=w}}if(!((q|0)==0|(r|0)==0)){v=a+40|0;$J(c,q,f[v>>2]|0,f[a>>2]&4095,-1,0,0);IJ(g,c,-1);t=g+24|0;if(!(f[t>>2]|0)){f[h>>2]=0;f[h+4>>2]=0;m=JV(h,11)|0;n=154650;o=m+11|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,h,157495,154597,275);KV(h)}m=h;o=m+128|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(o|0));q=f[l>>2]|0;if((q|0)>0)x=f[(f[a+44>>2]|0)+(q+-1<<2)>>2]|0;else x=0;if(q>>>0<32)y=q;else{f[j>>2]=0;f[j+4>>2]=0;m=JV(j,22)|0;n=154662;o=m+22|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,j,157495,154597,277);KV(j);y=f[l>>2]|0}if(!y)z=0;else{q=f[v>>2]|0;s=0;do{f[h+(s<<2)>>2]=f[q+(s<<2)>>2];s=s+1|0}while(s>>>0>>0);z=y}s=h+(z+-1<<2)|0;q=X(f[s>>2]|0,x)|0;f[s>>2]=q;CN(g,i);q=f[l>>2]|0;s=i+(q+-1<<2)|0;v=X(f[s>>2]|0,x)|0;f[s>>2]=v;v=f[t>>2]|0;s=f[v+4>>2]|0;qi[f[(f[s>>2]|0)+32>>2]&255](s,v,f[k>>2]|0,q,h,i,f[g+36>>2]|0,f[a+44>>2]|0);tN(g);break}}YJ(c);break}q=a+4|0;v=f[q>>2]|0;if((v|0)>=3){s=a+40|0;$J(c,v,f[s>>2]|0,f[a>>2]&4095,-1,0,0);do if((HJ(c)|0)==65536){v=f[c+4>>2]|0;f[g>>2]=f[v>>2];w=g+4|0;A=v+4|0;f[w>>2]=f[A>>2];B=g+8|0;f[B>>2]=f[v+8>>2];f[g+12>>2]=f[v+12>>2];C=g+16|0;f[C>>2]=f[v+16>>2];f[g+20>>2]=f[v+20>>2];f[g+24>>2]=f[v+24>>2];f[g+28>>2]=f[v+28>>2];f[g+32>>2]=f[v+32>>2];D=f[v+36>>2]|0;f[g+36>>2]=D;f[g+40>>2]=B;B=g+48|0;E=g+44|0;f[E>>2]=B;f[B>>2]=0;f[g+52>>2]=0;if(D|0){B=D+12|0;f[B>>2]=(f[B>>2]|0)+1}if((f[A>>2]|0)<3){A=f[v+44>>2]|0;B=f[E>>2]|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];F=C;break}else{f[w>>2]=0;WO(g,v);F=C;break}}else{DJ(g,c,-1);F=g+16|0}while(0);if((f[a+16>>2]|0)!=(f[F>>2]|0)){k=f[q>>2]|0;if((k|0)<3)G=X(f[a+12>>2]|0,f[a+8>>2]|0)|0;else{t=f[s>>2]|0;l=0;C=1;while(1){v=X(f[t+(l<<2)>>2]|0,C)|0;l=l+1|0;if((l|0)==(k|0)){G=v;break}else C=v}}if(G|0){f[h>>2]=a;f[h+4>>2]=g;FN(j,h,i,2);C=f[q>>2]|0;if((C|0)>0)H=f[(f[a+44>>2]|0)+(C+-1<<2)>>2]|0;else H=0;C=X(H,f[j+20>>2]|0)|0;k=j+16|0;l=i+4|0;t=0;while(1){if(t>>>0>=(f[k>>2]|0)>>>0)break;DVa(f[l>>2]|0,f[i>>2]|0,C|0)|0;GN(j)|0;t=t+1|0}}}t=g+36|0;C=f[t>>2]|0;if(C|0?(l=C+12|0,C=f[l>>2]|0,f[l>>2]=C+-1,(C|0)==1):0)XO(g);f[t>>2]=0;t=g+4|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;f[F+12>>2]=0;if((f[t>>2]|0)>0){C=f[g+40>>2]|0;l=0;do{f[C+(l<<2)>>2]=0;l=l+1|0}while((l|0)<(f[t>>2]|0))}t=f[g+44>>2]|0;if((t|0)!=(g+48|0))dX(t);break}t=a+8|0;l=a+12|0;vK(c,f[t>>2]|0,f[l>>2]|0,f[a>>2]&4095,-1,0,0);do if((HJ(c)|0)==65536){C=f[c+4>>2]|0;f[g>>2]=f[C>>2];k=g+4|0;s=C+4|0;f[k>>2]=f[s>>2];v=g+8|0;f[v>>2]=f[C+8>>2];f[g+12>>2]=f[C+12>>2];w=g+16|0;f[w>>2]=f[C+16>>2];f[g+20>>2]=f[C+20>>2];f[g+24>>2]=f[C+24>>2];f[g+28>>2]=f[C+28>>2];f[g+32>>2]=f[C+32>>2];A=f[C+36>>2]|0;f[g+36>>2]=A;f[g+40>>2]=v;v=g+48|0;B=g+44|0;f[B>>2]=v;f[v>>2]=0;f[g+52>>2]=0;if(A|0){v=A+12|0;f[v>>2]=(f[v>>2]|0)+1}if((f[s>>2]|0)<3){s=f[C+44>>2]|0;v=f[B>>2]|0;f[v>>2]=f[s>>2];f[v+4>>2]=f[s+4>>2];J=w;break}else{f[k>>2]=0;WO(g,C);J=w;break}}else{DJ(g,c,-1);J=g+16|0}while(0);w=a+16|0;if(((f[w>>2]|0)!=(f[J>>2]|0)?(f[t>>2]|0)>0:0)?(f[l>>2]|0)>0:0){if(!(((HJ(c)|0)!=196608?(HJ(c)|0)!=786432:0)?(HJ(c)|0)!=917504:0)){C=g+4|0;k=f[C>>2]|0;if((k|0)<3)K=X(f[g+12>>2]|0,f[g+8>>2]|0)|0;else{s=f[g+40>>2]|0;v=0;B=1;while(1){A=X(f[s+(v<<2)>>2]|0,B)|0;v=v+1|0;if((v|0)==(k|0)){K=A;break}else B=A}}hP(h,g,0,K);B=h+36|0;k=f[B>>2]|0;if(k|0){v=k+12|0;f[v>>2]=(f[v>>2]|0)+1}v=g+36|0;k=f[v>>2]|0;if(k|0?(s=k+12|0,k=f[s>>2]|0,f[s>>2]=k+-1,(k|0)==1):0)XO(g);f[v>>2]=0;f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[J+12>>2]=0;if((f[C>>2]|0)>0){k=f[g+40>>2]|0;s=0;do{f[k+(s<<2)>>2]=0;s=s+1|0;L=f[C>>2]|0}while((s|0)<(L|0));f[g>>2]=f[h>>2];if((L|0)<3)p=52;else p=54}else{f[g>>2]=f[h>>2];p=52}if((p|0)==52){s=f[h+4>>2]|0;if((s|0)<3){f[C>>2]=s;f[g+8>>2]=f[h+8>>2];f[g+12>>2]=f[h+12>>2];s=f[h+44>>2]|0;k=f[g+44>>2]|0;f[k>>2]=f[s>>2];f[k+4>>2]=f[s+4>>2]}else p=54}if((p|0)==54)WO(g,h);s=h+16|0;f[J>>2]=f[s>>2];f[g+20>>2]=f[h+20>>2];f[g+24>>2]=f[h+24>>2];f[g+28>>2]=f[h+28>>2];f[g+32>>2]=f[h+32>>2];k=f[B>>2]|0;f[v>>2]=k;if(k|0?(A=k+12|0,k=f[A>>2]|0,f[A>>2]=k+-1,(k|0)==1):0)XO(h);f[B>>2]=0;k=h+4|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if((f[k>>2]|0)>0){s=f[h+40>>2]|0;A=0;do{f[s+(A<<2)>>2]=0;A=A+1|0}while((A|0)<(f[k>>2]|0))}k=f[h+44>>2]|0;if((k|0)!=(h+48|0))dX(k)}k=f[w>>2]|0;A=f[J>>2]|0;s=f[a>>2]|0;B=f[g>>2]|0;v=f[l>>2]|0;C=f[t>>2]|0;E=wVa(C|0,((C|0)<0)<<31>>31|0,v|0,((v|0)<0)<<31>>31|0)|0;if((s&16384&B|0)!=0?(E|0)==(E|0)&(I|0)==(((E|0)<0)<<31>>31|0):0){M=1;N=E}else{M=C;N=v}v=f[q>>2]|0;if((v|0)>0)O=f[(f[a+44>>2]|0)+(v+-1<<2)>>2]|0;else O=0;v=X(O,N)|0;if(M|0){C=a+48|0;E=g+48|0;B=A;A=k;k=M;while(1){k=k+-1|0;DVa(B|0,A|0,v|0)|0;if(!k)break;else{B=B+(f[E>>2]|0)|0;A=A+(f[C>>2]|0)|0}}}}C=g+36|0;A=f[C>>2]|0;if(A|0?(E=A+12|0,A=f[E>>2]|0,f[E>>2]=A+-1,(A|0)==1):0)XO(g);f[C>>2]=0;C=g+4|0;f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[J+12>>2]=0;if((f[C>>2]|0)>0){A=f[g+40>>2]|0;E=0;do{f[A+(E<<2)>>2]=0;E=E+1|0}while((E|0)<(f[C>>2]|0))}C=f[g+44>>2]|0;if((C|0)!=(g+48|0))dX(C)}while(0);if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function fM(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;e=u;u=u+304|0;g=e+288|0;h=e+232|0;i=e+176|0;j=e+112|0;k=e;l=e+168|0;m=e+88|0;n=e+56|0;o=e+104|0;yV(g,32212);do if((HJ(d)|0)==65536){p=f[d+4>>2]|0;f[h>>2]=f[p>>2];q=h+4|0;r=p+4|0;f[q>>2]=f[r>>2];s=h+8|0;f[s>>2]=f[p+8>>2];f[h+12>>2]=f[p+12>>2];t=h+16|0;f[t>>2]=f[p+16>>2];f[h+20>>2]=f[p+20>>2];f[h+24>>2]=f[p+24>>2];f[h+28>>2]=f[p+28>>2];f[h+32>>2]=f[p+32>>2];v=f[p+36>>2]|0;f[h+36>>2]=v;f[h+40>>2]=s;s=h+48|0;w=h+44|0;f[w>>2]=s;f[s>>2]=0;f[h+52>>2]=0;if(v|0){s=v+12|0;f[s>>2]=(f[s>>2]|0)+1}if((f[r>>2]|0)<3){r=f[p+44>>2]|0;s=f[w>>2]|0;f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2];x=t;break}else{f[q>>2]=0;WO(h,p);x=t;break}}else{DJ(h,d,-1);x=h+16|0}while(0);if(f[x>>2]|0){d=f[h>>2]|0;t=d>>>3&511;p=t+1|0;if(!((d&7|0)==0?((t|0)==0?1:(t|0)==((f[a>>2]|0)>>>3&511|0)):0)){f[i>>2]=0;f[i+4>>2]=0;y=JV(i,44)|0;z=154729;A=y+44|0;do{b[y>>0]=b[z>>0]|0;y=y+1|0;z=z+1|0}while((y|0)<(A|0));EP(-215,i,157495,154597,382);KV(i)}d=(t|0)==0;t=a+4|0;if((f[t>>2]|0)<3?(q=f[a+40>>2]|0,r=f[h+40>>2]|0,!((f[q>>2]|0)==(f[r>>2]|0)?(f[q+4>>2]|0)==(f[r+4>>2]|0):0)):0){f[i>>2]=0;f[i+4>>2]=0;y=JV(i,21)|0;z=154774;A=y+21|0;do{b[y>>0]=b[z>>0]|0;y=y+1|0;z=z+1|0}while((y|0)<(A|0));EP(-215,i,157495,154597,386);KV(i)}f[i>>2]=1124007936;z=i+4|0;r=i+8|0;q=i+40|0;y=z;A=y+36|0;do{f[y>>2]=0;y=y+4|0}while((y|0)<(A|0));f[q>>2]=r;y=i+48|0;A=i+44|0;f[A>>2]=y;f[y>>2]=0;f[i+52>>2]=0;do if((HJ(c)|0)==65536){s=f[c+4>>2]|0;f[j>>2]=f[s>>2];w=j+4|0;v=s+4|0;f[w>>2]=f[v>>2];B=j+8|0;f[B>>2]=f[s+8>>2];f[j+12>>2]=f[s+12>>2];f[j+16>>2]=f[s+16>>2];f[j+20>>2]=f[s+20>>2];f[j+24>>2]=f[s+24>>2];f[j+28>>2]=f[s+28>>2];f[j+32>>2]=f[s+32>>2];C=f[s+36>>2]|0;f[j+36>>2]=C;f[j+40>>2]=B;B=j+48|0;D=j+44|0;f[D>>2]=B;f[B>>2]=0;f[j+52>>2]=0;if(C|0){B=C+12|0;f[B>>2]=(f[B>>2]|0)+1}if((f[v>>2]|0)<3){v=f[s+44>>2]|0;B=f[D>>2]|0;f[B>>2]=f[v>>2];f[B+4>>2]=f[v+4>>2];break}else{f[w>>2]=0;WO(j,s);break}}else DJ(j,c,-1);while(0);$J(c,f[t>>2]|0,f[a+40>>2]|0,f[a>>2]&4095,-1,0,0);do if((HJ(c)|0)==65536){s=f[c+4>>2]|0;f[k>>2]=f[s>>2];w=k+4|0;v=s+4|0;f[w>>2]=f[v>>2];B=k+8|0;f[B>>2]=f[s+8>>2];f[k+12>>2]=f[s+12>>2];f[k+16>>2]=f[s+16>>2];f[k+20>>2]=f[s+20>>2];f[k+24>>2]=f[s+24>>2];f[k+28>>2]=f[s+28>>2];f[k+32>>2]=f[s+32>>2];D=k+36|0;C=f[s+36>>2]|0;f[D>>2]=C;f[k+40>>2]=B;B=k+48|0;E=k+44|0;f[E>>2]=B;f[B>>2]=0;f[k+52>>2]=0;if(C|0){B=C+12|0;f[B>>2]=(f[B>>2]|0)+1}if((f[v>>2]|0)<3){v=f[s+44>>2]|0;B=f[E>>2]|0;f[B>>2]=f[v>>2];f[B+4>>2]=f[v+4>>2];F=D;break}else{f[w>>2]=0;WO(k,s);F=D;break}}else{DJ(k,c,-1);F=k+36|0}while(0);D=f[F>>2]|0;if(D|0){s=D+12|0;f[s>>2]=(f[s>>2]|0)+1}s=i+36|0;D=f[s>>2]|0;if(D|0?(w=D+12|0,D=f[w>>2]|0,f[w>>2]=D+-1,(D|0)==1):0)XO(i);f[s>>2]=0;D=i+16|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;if((f[z>>2]|0)>0){w=f[q>>2]|0;v=0;do{f[w+(v<<2)>>2]=0;v=v+1|0;G=f[z>>2]|0}while((v|0)<(G|0));f[i>>2]=f[k>>2];if((G|0)<3)H=40;else H=42}else{f[i>>2]=f[k>>2];H=40}if((H|0)==40){G=f[k+4>>2]|0;if((G|0)<3){f[z>>2]=G;f[r>>2]=f[k+8>>2];f[i+12>>2]=f[k+12>>2];r=f[k+44>>2]|0;G=f[A>>2]|0;f[G>>2]=f[r>>2];f[G+4>>2]=f[r+4>>2]}else H=42}if((H|0)==42)WO(i,k);r=k+16|0;f[D>>2]=f[r>>2];f[i+20>>2]=f[k+20>>2];f[i+24>>2]=f[k+24>>2];f[i+28>>2]=f[k+28>>2];f[i+32>>2]=f[k+32>>2];G=f[F>>2]|0;f[s>>2]=G;if(G|0?(v=G+12|0,G=f[v>>2]|0,f[v>>2]=G+-1,(G|0)==1):0)XO(k);f[F>>2]=0;F=k+4|0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;if((f[F>>2]|0)>0){r=f[k+40>>2]|0;G=0;do{f[r+(G<<2)>>2]=0;G=G+1|0}while((G|0)<(f[F>>2]|0))}F=f[k+44>>2]|0;if((F|0)!=(k+48|0))dX(F);F=j+16|0;if((f[D>>2]|0)!=(f[F>>2]|0)){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[k+24>>2]=0;f[k+28>>2]=0;gM(i,k)|0}G=j+36|0;r=f[G>>2]|0;if(r|0?(v=r+12|0,r=f[v>>2]|0,f[v>>2]=r+-1,(r|0)==1):0)XO(j);f[G>>2]=0;G=j+4|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;f[F+12>>2]=0;if((f[G>>2]|0)>0){F=f[j+40>>2]|0;r=0;do{f[F+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[G>>2]|0))}G=f[j+44>>2]|0;if((G|0)!=(j+48|0))dX(G);if(d){d=f[t>>2]|0;if((d|0)>0){G=f[(f[a+44>>2]|0)+(d+-1<<2)>>2]|0;f[j>>2]=G;if(G>>>0<33){J=G;K=d;H=66}else{L=d;M=143}}else{N=0;O=d;H=64}}else{N=1212424721>>>(f[a>>2]<<2&28)&15;O=f[t>>2]|0;H=64}if((H|0)==64){f[j>>2]=N;J=N;K=O;H=66}if((H|0)==66){H=f[32060+(J<<2)>>2]|0;L=K;M=(H|0)==0?143:H}if((L|0)<3){L=f[a>>2]|0;H=f[i>>2]|0;K=f[h>>2]|0;J=f[a+12>>2]|0;O=f[a+8>>2]|0;N=wVa(J|0,((J|0)<0)<<31>>31|0,p|0,0)|0;t=wVa(N|0,I|0,O|0,((O|0)<0)<<31>>31|0)|0;if((L&16384&H&K|0)!=0?(t|0)==(t|0)&(I|0)==(((t|0)<0)<<31>>31|0):0){P=1;Q=t}else{P=O;Q=X(J,p)|0}J=f[a+16>>2]|0;O=f[a+48>>2]|0;t=f[x>>2]|0;K=f[h+48>>2]|0;H=f[D>>2]|0;L=f[y>>2]|0;f[l>>2]=Q;f[l+4>>2]=P;qi[M&255](J,O,t,K,H,L,l,j)}else{f[k>>2]=a;f[k+4>>2]=i;f[k+8>>2]=h;f[k+12>>2]=0;FN(n,k,m,-1);k=X(f[n+20>>2]|0,p)|0;p=n+16|0;l=m+8|0;L=m+4|0;H=o+4|0;K=0;while(1){if(K>>>0>=(f[p>>2]|0)>>>0)break;t=f[m>>2]|0;O=f[l>>2]|0;J=f[L>>2]|0;f[o>>2]=k;f[H>>2]=1;qi[M&255](t,0,O,0,J,0,o,j);GN(n)|0;K=K+1|0}}K=f[s>>2]|0;do if(K|0){n=K+12|0;j=f[n>>2]|0;f[n>>2]=j+-1;if((j|0)!=1)break;XO(i)}while(0);f[s>>2]=0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;if((f[z>>2]|0)>0){D=f[q>>2]|0;q=0;do{f[D+(q<<2)>>2]=0;q=q+1|0}while((q|0)<(f[z>>2]|0))}z=f[A>>2]|0;if((z|0)!=(y|0))dX(z)}else eM(a,c);c=h+36|0;a=f[c>>2]|0;if(a|0?(z=a+12|0,a=f[z>>2]|0,f[z>>2]=a+-1,(a|0)==1):0)XO(h);f[c>>2]=0;c=h+4|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;if((f[c>>2]|0)>0){x=f[h+40>>2]|0;a=0;do{f[x+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[c>>2]|0))}c=f[h+44>>2]|0;if((c|0)!=(h+48|0))dX(c);if(!(f[g+4>>2]|0)){u=e;return}u=e;return}function gM(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+160|0;e=d+144|0;g=d+140|0;h=d+136|0;i=d+104|0;j=d;k=d+96|0;yV(e,32232);f[g>>2]=a;FN(i,g,h,1);g=f[a+4>>2]|0;if((g|0)>0)l=f[(f[a+44>>2]|0)+(g+-1<<2)>>2]|0;else l=0;g=X(l,f[i+20>>2]|0)|0;l=c;a:do if((((f[l>>2]|0)==0&(f[l+4>>2]|0)==0?(m=c+8|0,(f[m>>2]|0)==0&(f[m+4>>2]|0)==0):0)?(m=c+16|0,(f[m>>2]|0)==0&(f[m+4>>2]|0)==0):0)?(m=c+24|0,(f[m>>2]|0)==0&(f[m+4>>2]|0)==0):0){m=i+16|0;n=0;while(1){if(n>>>0>=(f[m>>2]|0)>>>0)break a;FVa(f[h>>2]|0,0,g|0)|0;GN(i)|0;n=n+1|0}}else o=10;while(0);if((o|0)==10?(o=i+16|0,f[o>>2]|0):0){uW(c,j,f[a>>2]&4095,12);c=(1212424721>>>(f[a>>2]<<2&28)&15)*12|0;if(g|0){l=k+4|0;n=0;do{m=g-n|0;p=c>>>0>m>>>0?m:c;if(p>>>0>=97){f[k>>2]=0;f[l>>2]=0;m=JV(k,20)|0;q=154796;r=m+20|0;do{b[m>>0]=b[q>>0]|0;m=m+1|0;q=q+1|0}while((m|0)<(r|0));EP(-215,k,451654,154597,452);KV(k)}DVa((f[h>>2]|0)+n|0,j|0,p|0)|0;n=n+c|0}while(g>>>0>n>>>0)}if((f[o>>2]|0)>>>0>1){n=a+16|0;c=1;do{GN(i)|0;DVa(f[h>>2]|0,f[n>>2]|0,g|0)|0;c=c+1|0}while(c>>>0<(f[o>>2]|0)>>>0)}}if(!(f[e+4>>2]|0)){u=d;return a|0}u=d;return a|0}function hM(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;e=u;u=u+1232|0;g=e+1224|0;h=e+1168|0;i=e+1112|0;j=e+1104|0;k=e+1088|0;l=e;m=e+1048|0;n=e+8|0;o=e+1080|0;yV(g,32252);if(f[a+16>>2]|0){p=a+4|0;q=f[p>>2]|0;if((q|0)<3)r=X(f[a+12>>2]|0,f[a+8>>2]|0)|0;else{s=f[a+40>>2]|0;t=0;v=1;while(1){w=X(f[s+(t<<2)>>2]|0,v)|0;t=t+1|0;if((t|0)==(q|0)){r=w;break}else v=w}}if(!((q|0)==0|(r|0)==0)){do if((HJ(c)|0)==65536){r=f[c+4>>2]|0;f[h>>2]=f[r>>2];q=h+4|0;v=r+4|0;f[q>>2]=f[v>>2];t=h+8|0;f[t>>2]=f[r+8>>2];f[h+12>>2]=f[r+12>>2];f[h+16>>2]=f[r+16>>2];f[h+20>>2]=f[r+20>>2];f[h+24>>2]=f[r+24>>2];f[h+28>>2]=f[r+28>>2];f[h+32>>2]=f[r+32>>2];s=f[r+36>>2]|0;f[h+36>>2]=s;f[h+40>>2]=t;t=h+48|0;w=h+44|0;f[w>>2]=t;f[t>>2]=0;f[h+52>>2]=0;if(s|0){t=s+12|0;f[t>>2]=(f[t>>2]|0)+1}if((f[v>>2]|0)<3){v=f[r+44>>2]|0;t=f[w>>2]|0;f[t>>2]=f[v>>2];f[t+4>>2]=f[v+4>>2];break}else{f[q>>2]=0;WO(h,r);break}}else DJ(h,c,-1);while(0);do if((HJ(d)|0)==65536){c=f[d+4>>2]|0;f[i>>2]=f[c>>2];r=i+4|0;q=c+4|0;f[r>>2]=f[q>>2];v=i+8|0;f[v>>2]=f[c+8>>2];f[i+12>>2]=f[c+12>>2];f[i+16>>2]=f[c+16>>2];f[i+20>>2]=f[c+20>>2];f[i+24>>2]=f[c+24>>2];f[i+28>>2]=f[c+28>>2];f[i+32>>2]=f[c+32>>2];t=f[c+36>>2]|0;f[i+36>>2]=t;f[i+40>>2]=v;v=i+48|0;w=i+44|0;f[w>>2]=v;f[v>>2]=0;f[i+52>>2]=0;if(t|0){v=t+12|0;f[v>>2]=(f[v>>2]|0)+1}if((f[q>>2]|0)<3){q=f[c+44>>2]|0;v=f[w>>2]|0;f[v>>2]=f[q>>2];f[v+4>>2]=f[q+4>>2];break}else{f[r>>2]=0;WO(i,c);break}}else DJ(i,d,-1);while(0);d=f[a>>2]|0;c=h+4|0;if(((f[c>>2]|0)<=2?(r=f[h>>2]|0,(r&16384|0)!=0):0)?(q=f[h+40>>2]|0,v=f[q+4>>2]|0,w=f[q>>2]|0,q=(v|0)==1,t=(w|0)==1,q|t):0){s=d>>>3&511;d=s+1|0;if(!((v|0)==(d|0)&t|q&(t|(w|0)==(d|0)))?s>>>0>3|(r&4095|0)!=6|q&(w|0)==4^1:0)x=26}else x=26;if((x|0)==26){f[j>>2]=0;f[j+4>>2]=0;y=JV(j,60)|0;z=154925;A=y+60|0;do{b[y>>0]=b[z>>0]|0;y=y+1|0;z=z+1|0}while((y|0)<(A|0));EP(-215,j,154986,154597,529);KV(j)}w=(f[a>>2]|0)>>>3&511;q=f[i>>2]|0;r=q>>>3&511;s=r+1|0;d=i+16|0;a:do if(f[d>>2]|0){t=f[i+4>>2]|0;if((t|0)<3)B=X(f[i+12>>2]|0,f[i+8>>2]|0)|0;else{v=f[i+40>>2]|0;C=0;D=1;while(1){E=X(f[v+(C<<2)>>2]|0,D)|0;C=C+1|0;if((C|0)==(t|0)){B=E;break}else D=E}}if(!((t|0)==0|(B|0)==0)){b:do if(((q&7|0)==0?(r|0)==0|(r|0)==(w|0):0)?(D=f[a+40>>2]|0,C=f[D+-4>>2]|0,v=f[i+40>>2]|0,(C|0)==(f[v+-4>>2]|0)):0){if((C|0)==2){if((f[D>>2]|0)!=(f[v>>2]|0))break;if((f[D+4>>2]|0)==(f[v+4>>2]|0))break a;else break}if((C|0)>0)F=0;else break a;while(1){if((f[D+(F<<2)>>2]|0)!=(f[v+(F<<2)>>2]|0))break b;F=F+1|0;if((F|0)>=(C|0))break a}}while(0);f[j>>2]=0;f[j+4>>2]=0;y=JV(j,83)|0;z=154992;A=y+83|0;do{b[y>>0]=b[z>>0]|0;y=y+1|0;z=z+1|0}while((y|0)<(A|0));EP(-215,j,154986,154597,531);KV(j)}}while(0);if(!r){r=f[p>>2]|0;if((r|0)>0){p=f[(f[a+44>>2]|0)+(r+-1<<2)>>2]|0;f[j>>2]=p;if(p>>>0<33){G=p;x=48}else H=143}else{I=0;x=46}}else{I=1212424721>>>(f[a>>2]<<2&28)&15;x=46}if((x|0)==46){f[j>>2]=I;G=I;x=48}if((x|0)==48){I=f[32060+(G<<2)>>2]|0;H=(I|0)==0?143:I}f[k>>2]=a;if(f[d>>2]|0){I=f[i+4>>2]|0;if((I|0)<3)J=X(f[i+12>>2]|0,f[i+8>>2]|0)|0;else{G=f[i+40>>2]|0;p=0;r=1;while(1){z=X(f[G+(p<<2)>>2]|0,r)|0;p=p+1|0;if((p|0)==(I|0)){J=z;break}else r=z}}r=k+4|0;if((I|0)==0|(J|0)==0){K=r;x=56}else{L=i;M=r}}else{K=k+4|0;x=56}if((x|0)==56){L=0;M=K}f[M>>2]=L;f[k+8>>2]=0;L=l;f[L>>2]=0;f[L+4>>2]=0;FN(m,k,l,-1);k=X(f[m+20>>2]|0,s)|0;L=f[j>>2]|0;M=((L+1023|0)>>>0)/(L>>>0)|0;K=(M|0)<(k|0)?M:k;M=K-((K|0)%(s|0)|0)|0;x=(X(M,L)|0)+32|0;L=n+8|0;f[n>>2]=L;r=n+4|0;f[r>>2]=x;if(x>>>0>1032){J=FQa(x)|0;f[n>>2]=J;N=J}else N=L;J=N+7&-8;_G(h,f[a>>2]&4095,J,(K|0)/(s|0)|0);s=m+16|0;K=l+4|0;N=o+4|0;c:do if((k|0)>0){x=0;while(1){if(x>>>0>=(f[s>>2]|0)>>>0)break c;I=0;p=f[l>>2]|0;do{G=k-I|0;z=(G|0)<(M|0)?G:M;G=X(f[j>>2]|0,z)|0;y=f[K>>2]|0;if(!y)DVa(p|0,J|0,G|0)|0;else{f[o>>2]=z;f[N>>2]=1;qi[H&255](J,0,y,0,p,0,o,j);f[K>>2]=(f[K>>2]|0)+z}p=(f[l>>2]|0)+G|0;f[l>>2]=p;I=I+M|0}while((k|0)>(I|0));GN(m)|0;x=x+1|0}}else{x=0;while(1){if(x>>>0>=(f[s>>2]|0)>>>0)break c;GN(m)|0;x=x+1|0}}while(0);m=f[n>>2]|0;if((m|0)!=(L|0)){if(m|0)HQa(m);f[n>>2]=L;f[r>>2]=1032}r=i+36|0;L=f[r>>2]|0;if(L|0?(n=L+12|0,L=f[n>>2]|0,f[n>>2]=L+-1,(L|0)==1):0)XO(i);f[r>>2]=0;r=i+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[r>>2]|0)>0){d=f[i+40>>2]|0;L=0;do{f[d+(L<<2)>>2]=0;L=L+1|0}while((L|0)<(f[r>>2]|0))}r=f[i+44>>2]|0;if((r|0)!=(i+48|0))dX(r);r=h+36|0;i=f[r>>2]|0;if(i|0?(L=i+12|0,i=f[L>>2]|0,f[L>>2]=i+-1,(i|0)==1):0)XO(h);f[r>>2]=0;r=h+16|0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;if((f[c>>2]|0)>0){r=f[h+40>>2]|0;i=0;do{f[r+(i<<2)>>2]=0;i=i+1|0}while((i|0)<(f[c>>2]|0))}c=f[h+44>>2]|0;if((c|0)!=(h+48|0))dX(c)}}if(!(f[g+4>>2]|0)){u=e;return a|0}u=e;return a|0} +function cZ(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=u;u=u+80|0;h=g+48|0;i=g+8|0;j=g;k=d&15|32;if((d&7)>>>0<=4){f[j>>2]=0;f[j+4>>2]=0;l=JV(j,66)|0;m=186309;n=l+66|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-5,j,186376,185191,762);KV(j)}if((e|0)!=0?(b[e>>0]|0)!=0:0){f[i>>2]=187475;f[i+4>>2]=e;o=2}else o=0;f[i+(o<<2)>>2]=0;dZ(a,c,1,i,0);i=a+44|0;f[h+20>>2]=f[i>>2]&-33;o=a+40|0;f[h+16>>2]=f[o>>2];e=a+48|0;m=e;l=f[m+4>>2]|0;n=h+8|0;f[n>>2]=f[m>>2];f[n+4>>2]=l;l=a+24|0;uM(f[l>>2]|0,h);OM(f[a+36>>2]|0,h)|0;f[o>>2]=(f[o>>2]|0)+2;if(!(d&8))MZ(a)|0;f[i>>2]=k;if(!c){f[a+52>>2]=0;f[e>>2]=0;u=g;return}else{yM(j,f[l>>2]|0,c,-1);c=j;j=f[c+4>>2]|0;l=e;f[l>>2]=f[c>>2];f[l+4>>2]=j;u=g;return}}function dZ(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;h=u;u=u+16|0;i=e;j=g;g=h;k=a+72|0;l=f[k>>2]|0;m=a+44|0;n=f[m>>2]|0;if(!c)o=0;else o=(b[c>>0]|0)==0?0:c;c=(d|0)==3;if((d|2|0)==3){p=n&7;if(p>>>0>4)if((p|0)==6^(o|0)!=0){f[g>>2]=0;f[g+4>>2]=0;q=JV(g,85)|0;r=191854;s=q+85|0;do{b[q>>0]=b[r>>0]|0;q=q+1|0;r=r+1|0}while((q|0)<(s|0));EP(-5,g,186399,185191,682);KV(g);t=n}else t=n;else{f[a+12>>2]=0;t=o|0?38:37}if(!(t&32)){v=MZ(a)|0;w=t}else{v=l;w=t}}else{v=l;w=n}if(o)if((b[o>>0]|0)==95?(b[o+1>>0]|0)==0:0){f[g>>2]=0;f[g+4>>2]=0;q=JV(g,33)|0;r=186414;s=q+33|0;do{b[q>>0]=b[r>>0]|0;q=q+1|0;r=r+1|0}while((q|0)<(s|0));EP(-5,g,186399,185191,697);KV(g);x=o}else x=o;else x=186448;o=nCa(x)|0;n=v+1|0;b[v>>0]=60;if((d|0)==2){if(e|0){f[g>>2]=0;f[g+4>>2]=0;q=JV(g,45)|0;r=186450;s=q+45|0;do{b[q>>0]=b[r>>0]|0;q=q+1|0;r=r+1|0}while((q|0)<(s|0));EP(-5,g,186399,185191,704);KV(g)}b[n>>0]=47;y=v+2|0}else y=n;n=b[x>>0]|0;if(!(((n&-33)+-65&255)<26|n<<24>>24==95)){f[g>>2]=0;f[g+4>>2]=0;q=JV(g,35)|0;r=186496;s=q+35|0;do{b[q>>0]=b[r>>0]|0;q=q+1|0;r=r+1|0}while((q|0)<(s|0));EP(-5,g,186399,185191,709);KV(g)}n=LZ(a,y,o)|0;if((o|0)>0){y=g+4|0;v=0;do{e=b[x+v>>0]|0;a:do if(!((e+-48&255)<10|((e&-33)+-65&255)<26)){switch(e<<24>>24){case 45:case 95:{break a;break}default:{}}f[g>>2]=0;f[y>>2]=0;q=JV(g,74)|0;r=186532;s=q+74|0;do{b[q>>0]=b[r>>0]|0;q=q+1|0;r=r+1|0}while((q|0)<(s|0));EP(-5,g,186399,185191,716);KV(g)}while(0);b[n+v>>0]=e;v=v+1|0}while((v|0)<(o|0))}v=n+o|0;o=i;i=j;while(1){if((o|0)!=0?(j=o,n=f[j>>2]|0,(n|0)!=0):0){g=j;j=v;r=n;while(1){n=nCa(r)|0;q=g+4|0;s=nCa(f[q>>2]|0)|0;y=LZ(a,j,n+4+s|0)|0;x=y+1|0;b[y>>0]=32;DVa(x|0,f[g>>2]|0,n|0)|0;y=x+n|0;n=y+1|0;b[y>>0]=61;y=n+1|0;b[n>>0]=34;DVa(y|0,f[q>>2]|0,s|0)|0;q=y+s|0;s=q+1|0;b[q>>0]=34;g=g+8|0;r=f[g>>2]|0;if(!r){z=s;break}else j=s}}else z=v;if(!i)break;v=z;o=f[i>>2]|0;i=f[i+4>>2]|0}if(!c){A=z;B=A+1|0;b[A>>0]=62;f[k>>2]=B;C=w&-33;f[m>>2]=C;u=h;return}b[z>>0]=47;A=z+1|0;B=A+1|0;b[A>>0]=62;f[k>>2]=B;C=w&-33;f[m>>2]=C;u=h;return}function eZ(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=u;u=u+32|0;d=c+8|0;e=c;g=a+36|0;if(!(f[(f[g>>2]|0)+24>>2]|0)){f[e>>2]=0;f[e+4>>2]=0;h=JV(e,20)|0;i=186607;j=h+20|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));EP(-2,e,186628,185191,804);KV(e)}dZ(a,f[a+52>>2]|0,2,0,0);PM(f[g>>2]|0,d);f[a+40>>2]=f[d+16>>2];f[a+44>>2]=f[d+20>>2];g=d+8|0;e=f[g+4>>2]|0;i=a+48|0;f[i>>2]=f[g>>2];f[i+4>>2]=e;vM(f[a+24>>2]|0,d);u=c;return}function fZ(a){a=a|0;var b=0;if(f[a+12>>2]|0)return;b=a+36|0;if((f[(f[b>>2]|0)+24>>2]|0)>0)do eZ(a);while((f[(f[b>>2]|0)+24>>2]|0)>0);f[a+40>>2]=0;MZ(a)|0;AZ(a,186649);f[a+72>>2]=f[a+76>>2];return}function gZ(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=u;u=u+16|0;h=g;SZ(a,0);switch(f[a+280>>2]|0){case 0:{RZ(a,1);break}case 2:{f[h>>2]=0;f[h+4>>2]=0;i=JV(h,38)|0;j=186672;k=i+38|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-2,h,186711,185191,845);KV(h);break}default:{}}l=a+44|0;m=f[l>>2]&7;if((m|0)!=6?(n=(c|0)!=0,!(n&m>>>0<5)):0){m=a+72|0;o=f[m>>2]|0;p=a+76|0;q=o-(f[p>>2]|0)+e|0;if(n){f[h>>2]=0;f[h+4>>2]=0;i=JV(h,49)|0;j=186729;k=i+49|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-5,h,186711,185191,863);KV(h)}f[l>>2]=5;if((q|0)>(f[a+84>>2]|0)?(q-(f[a+40>>2]|0)|0)>10:0)r=13;else r=11;do if((r|0)==11){q=f[p>>2]|0;if(o>>>0>q>>>0?(b[o+-1>>0]|0)==62:0){r=13;break}if(o>>>0>(q+(f[a+40>>2]|0)|0)>>>0?(b[o+-1>>0]|0)!=62:0){b[o>>0]=32;s=o+1|0}else s=o}while(0);if((r|0)==13)s=MZ(a)|0;DVa(s|0,d|0,e|0)|0;f[m>>2]=s+e;u=g;return}dZ(a,c,1,0,0);s=a+72|0;m=LZ(a,f[s>>2]|0,e)|0;DVa(m|0,d|0,e|0)|0;f[s>>2]=m+e;dZ(a,c,2,0,0);u=g;return}function hZ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+128|0;e=zZ(c,d,10)|0;gZ(a,b,e,nCa(e)|0);u=d;return}function iZ(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0;d=u;u=u+128|0;e=d;gZ(a,b,e,nCa(OZ(e,c)|0)|0);u=d;return}function jZ(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;g=u;u=u+24608|0;h=g;i=g+16|0;j=g+8|0;if(!d){f[j>>2]=0;f[j+4>>2]=0;k=JV(j,19)|0;l=192287;m=k+19|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-27,j,186779,185191,904);KV(j)}n=nCa(d)|0;if((n|0)>4096){f[j>>2]=0;f[j+4>>2]=0;k=JV(j,30)|0;l=192325;m=k+30|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-5,j,186779,185191,908);KV(j)}j=(e|0)!=0|(n|0)==0;if((!j?(b[d>>0]|0)==34:0)?(b[d+(n+-1)>>0]|0)==34:0){o=n;p=d;gZ(a,c,p,o);u=g;return}e=j&1;j=i+1|0;b[i>>0]=34;if((n|0)>0){l=e;k=0;m=j;while(1){q=b[d+k>>0]|0;r=q&255;a:do if(q<<24>>24<0|q<<24>>24==32){b[m>>0]=q;s=m;t=1}else{b:do if((q&255)>=32){switch(q<<24>>24){case 34:case 38:case 39:case 60:case 62:{break b;break}default:{}}b[m>>0]=q;s=m;t=l;break a}while(0);v=m+1|0;b[m>>0]=38;switch(q<<24>>24){case 60:{b[v>>0]=108;b[v+1>>0]=116;w=3;break}case 62:{b[v>>0]=103;b[v+1>>0]=116;w=3;break}case 38:{b[v>>0]=b[185840]|0;b[v+1>>0]=b[185841]|0;b[v+2>>0]=b[185842]|0;w=4;break}case 39:{b[v>>0]=97;b[v+1>>0]=112;b[v+2>>0]=111;b[v+3>>0]=115;w=5;break}case 34:{b[v>>0]=113;b[v+1>>0]=117;b[v+2>>0]=111;b[v+3>>0]=116;w=5;break}default:{f[h>>2]=r;lDa(v,186797,h)|0;w=5}}v=m+w|0;b[v>>0]=59;s=v;t=1}while(0);r=s+1|0;k=k+1|0;if((k|0)==(n|0)){x=r;y=t;break}else{l=t;m=r}}}else{x=j;y=e}if(!y){e=b[d>>0]|0;if((e+-48&255)<10){z=1;A=26}else switch(e<<24>>24){case 46:case 45:case 43:{z=1;A=26;break}default:{B=x;C=1}}}else{z=y;A=26}if((A|0)==26){b[x>>0]=34;B=x+1|0;C=(z|0)==0&1}b[B>>0]=0;o=B-(C+i)|0;p=i+C|0;gZ(a,c,p,o);u=g;return}function kZ(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+16|0;g=e;h=e+8|0;i=(c|0)==0;if(i){f[h>>2]=0;f[h+4>>2]=0;j=JV(h,12)|0;k=192362;l=j+12|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-27,h,186804,185191,986);KV(h)}if(qCa(c,451452)|0){f[h>>2]=0;f[h+4>>2]=0;j=JV(h,49)|0;k=186823;l=j+49|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-5,h,186804,185191,989);KV(h)}h=nCa(c)|0;k=pCa(c,10)|0;j=(k|0)!=0;l=a+72|0;m=f[l>>2]|0;if((d|0)!=0&(j^1)?((f[a+80>>2]|0)-m|0)>=(h+5|0):0)if(m>>>0>((f[a+76>>2]|0)+(f[a+40>>2]|0)|0)>>>0){b[m>>0]=32;n=m+1|0}else n=m;else n=MZ(a)|0;if(!j){j=LZ(a,n,h+9|0)|0;f[g>>2]=c;lDa(j,186878,g)|0;g=j+(nCa(j)|0)|0;f[l>>2]=g;MZ(a)|0;u=e;return};b[n>>0]=b[186873]|0;b[n+1>>0]=b[186874]|0;b[n+2>>0]=b[186875]|0;b[n+3>>0]=b[186876]|0;b[n+4>>0]=b[186877]|0;f[l>>2]=n+4;n=MZ(a)|0;if(i)o=n;else{i=k;k=c;c=n;while(1){if(!i)break;n=i-k|0;g=n+1|0;j=LZ(a,c,g)|0;DVa(j|0,k|0,g|0)|0;g=i+1|0;h=pCa(g,10)|0;f[l>>2]=j+n;i=h;k=g;c=MZ(a)|0}i=nCa(k)|0;g=LZ(a,c,i)|0;DVa(g|0,k|0,i|0)|0;f[l>>2]=g+i;o=MZ(a)|0}b[o>>0]=45;b[o+1>>0]=45;b[o+2>>0]=62;b[o+3>>0]=0;f[l>>2]=o+3;MZ(a)|0;u=e;return}function lZ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>2>>>0>=b>>>0){FVa(g|0,0,b<<2|0)|0;f[e>>2]=g+(b<<2);return}h=f[a>>2]|0;i=g-h|0;g=i>>2;j=g+b|0;if(j>>>0>1073741823)ZOa(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0>>0?j:d):1073741823;do if(l)if(l>>>0>1073741823){d=hd(8)|0;LQa(d,349912);f[d>>2]=118288;ld(d|0,20688,857)}else{d=EQa(l<<2)|0;m=d;n=d;break}else{m=0;n=0}while(0);d=m+(g<<2)|0;FVa(d|0,0,b<<2|0)|0;if((i|0)>0)DVa(n|0,h|0,i|0)|0;f[a>>2]=m;f[e>>2]=d+(b<<2);f[c>>2]=m+(l<<2);if(!h)return;GQa(h);return}function mZ(a){a=a|0;var c=0,d=0;c=nZ(a,f[a+76>>2]|0)|0;if(!c)return;d=a+92|0;if(f[d>>2]|0)return;switch(b[c>>0]|0){case 123:{oZ(a,c,OM(f[a+32>>2]|0,0)|0)|0;break}case 91:{pZ(a,c,OM(f[a+32>>2]|0,0)|0)|0;break}default:JZ(a,186890,186903,186938,588)}if(!(f[d>>2]|0))return;JZ(a,186890,187003,186938,592);return}function nZ(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;d=a+76|0;e=a+80|0;g=c;a:while(1){h=b[g>>0]|0;b:do switch(h<<24>>24|0){case 47:{c=g+1|0;i=b[c>>0]|0;if(!(i<<24>>24)){j=f[d>>2]|0;k=EZ(a,j,(f[e>>2]|0)-j|0)|0;if(!k){l=27;break a}m=k;n=b[k>>0]|0}else{m=c;n=i}switch(n<<24>>24){case 47:{i=m;c=47;while(1){switch(c<<24>>24){case 13:case 10:{o=0;p=i;break b;break}case 0:{k=f[d>>2]|0;j=EZ(a,k,(f[e>>2]|0)-k|0)|0;if(!j){l=27;break a}else q=j;break}default:q=i+1|0}i=q;c=b[q>>0]|0}break}case 42:{c=m+1|0;c:while(1){i=c;j=b[c>>0]|0;while(1){if(!(j<<24>>24))break;k=i+1|0;if(j<<24>>24!=42){c=k;continue c}r=b[k>>0]|0;if(!(r<<24>>24)){s=f[d>>2]|0;t=EZ(a,s,(f[e>>2]|0)-s|0)|0;if(!t){l=27;break a}u=t;v=b[t>>0]|0}else{u=k;v=r}if(v<<24>>24==47)break c;else{i=u;j=v}}j=f[d>>2]|0;c=EZ(a,j,(f[e>>2]|0)-j|0)|0;if(!c){l=27;break a}}o=0;p=u+1|0;break b;break}default:{JZ(a,187554,187572,186938,79);o=0;p=m;break b}}break}case 32:case 9:{o=0;p=g+1|0;break}case 13:case 10:case 0:{c=f[d>>2]|0;j=EZ(a,c,(f[e>>2]|0)-c|0)|0;o=(j|0)==0;p=j;break}default:break a}while(0);if(o){l=27;break}else g=p}if((l|0)==27){l=f[d>>2]|0;b[l>>0]=0;f[a+92>>2]=1;w=l;return w|0}if((h&255)>31){w=g;return w|0}JZ(a,187554,187603,186938,97);w=g;return w|0}function oZ(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;e=u;u=u+16|0;g=e;if(!c)JZ(a,187339,187042,186938,491);if((b[c>>0]|0)==123)h=c+1|0;else{JZ(a,187339,187355,186938,494);h=c};f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;KZ(a,6,d);c=nZ(a,h)|0;a:do if(!c)i=46;else{h=a+92|0;j=a+80|0;k=g+4|0;l=g+8+4|0;m=d+4|0;n=c;while(1){if(f[h>>2]|0){o=n;i=47;break a}do if((b[n>>0]|0)==34){p=n+1|0;q=n;while(1){r=q+1|0;s=b[r>>0]|0;if(!(s<<24>>24)){if((r|0)!=((f[j>>2]|0)+-1|0)){i=16;break}f[g>>2]=0;f[k>>2]=0;t=JV(g,98)|0;v=191303;w=t+98|0;do{b[t>>0]=b[v>>0]|0;t=t+1|0;v=v+1|0}while((t|0)<(w|0));EP(-215,g,187390,186938,130);KV(g);x=b[r>>0]|0}else x=s;y=x<<24>>24==34;if((x&255)<32|y){i=15;break}else q=r}if((i|0)==15?(i=0,!y):0)i=16;if((i|0)==16){i=0;JZ(a,187390,187406,186938,134)}v=nZ(a,q+2|0)|0;if(!v){i=46;break a}if(f[h>>2]|0){i=46;break a}if((b[v>>0]|0)!=58)JZ(a,187390,187428,186938,143);if(q>>>0<=n>>>0)JZ(a,187390,187462,186938,147);t=r-p|0;if((t|0)==7?(xCa(p,187475,7)|0)==0:0)z=0;else z=NW(a,d,MW(a,p,t,1)|0,1)|0;t=v+1|0;if(f[h>>2]|0){o=t;i=47;break a}v=nZ(a,t)|0;if(!v){i=46;break a}if(f[h>>2]|0){o=v;i=47;break a}if(!z){t=qZ(a,v,g)|0;do if((f[g>>2]&7|0)==3){w=_W(f[l>>2]|0)|0;f[m>>2]=w;if(!w)break;f[d>>2]=f[d>>2]|16}else JZ(a,187339,187483,186938,530);while(0);A=t;break}else{switch(b[v>>0]|0){case 91:{B=pZ(a,v,z)|0;break}case 123:{B=oZ(a,v,z)|0;break}default:B=qZ(a,v,z)|0}f[z>>2]=f[z>>2]|64;A=B;break}}else A=n;while(0);p=nZ(a,A)|0;if(!p){i=46;break a}if(f[h>>2]|0){o=p;i=47;break a}switch(b[p>>0]|0){case 125:{C=p;break a;break}case 44:{D=p+1|0;break}default:{JZ(a,187339,187089,186938,554);D=p}}n=nZ(a,D)|0;if(!n){i=46;break a}}}while(0);if((i|0)==46){JZ(a,187339,187042,186938,558);o=0;i=47}if((i|0)==47)if((b[o>>0]|0)==125)C=o;else{JZ(a,187339,187518,186938,561);E=o;u=e;return E|0}E=C+1|0;u=e;return E|0}function pZ(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if(!c)JZ(a,187026,187042,186938,437);if((b[c>>0]|0)==91)e=c+1|0;else{JZ(a,187026,187054,186938,440);e=c};f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;KZ(a,5,d);c=nZ(a,e)|0;a:do if(!c)g=20;else{e=a+92|0;h=d+8|0;i=c;while(1){if(f[e>>2]|0){j=i;g=21;break a}b:do if((b[i>>0]|0)==93)k=i;else{l=OM(f[h>>2]|0,0)|0;switch(b[i>>0]|0){case 91:{k=pZ(a,i,l)|0;break b;break}case 123:{k=oZ(a,i,l)|0;break b;break}default:{k=qZ(a,i,l)|0;break b}}}while(0);l=nZ(a,k)|0;if(!l){g=20;break a}if(f[e>>2]|0){j=l;g=21;break a}switch(b[l>>0]|0){case 93:{m=l;break a;break}case 44:{n=l+1|0;break}default:{JZ(a,187026,187089,186938,474);n=l}}i=nZ(a,n)|0;if(!i){g=20;break a}}}while(0);if((g|0)==20){JZ(a,187026,187042,186938,478);j=0;g=21}if((g|0)==21)if((b[j>>0]|0)==93)m=j;else{JZ(a,187026,187110,186938,481);o=j;return o|0}o=m+1|0;return o|0}function qZ(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0,K=0,L=0,M=0;e=u;u=u+96|0;g=e+68|0;h=e+72|0;i=e;j=e+56|0;k=e+12|0;l=nZ(a,c)|0;f[g>>2]=l;if(!((l|0)!=0?!(f[a+92>>2]|0):0))m=3;if((m|0)==3)JZ(a,187146,187003,186938,167);f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;c=b[l>>0]|0;if(c<<24>>24!=34){a:do if((c+-48&255)<10)switch(c<<24>>24){case 45:case 43:{m=86;break}default:{n=c;o=l;m=84}}else{switch(c<<24>>24){case 45:case 43:{m=86;break a;break}case 46:{n=c;o=l;m=84;break a;break}default:{}}if(((c&-33)+-65&255)<26){q=a+80|0;r=h+4|0;s=0;t=l;while(1){v=s+1|0;w=t+1|0;f[g>>2]=w;x=b[w>>0]|0;if(!(x<<24>>24)){if((w|0)!=((f[q>>2]|0)+-1|0))break;f[h>>2]=0;f[r>>2]=0;y=JV(h,98)|0;z=191303;A=y+98|0;do{b[y>>0]=b[z>>0]|0;y=y+1|0;z=z+1|0}while((y|0)<(A|0));EP(-215,h,187146,186938,405);KV(h);B=f[g>>2]|0;C=b[B>>0]|0;D=B}else{C=x;D=w}if(v>>>0<7&((C&-33)+-65&255)<26){s=v;t=D}else break}if(s>>>0>2){if(!(xCa(l,187270,4)|0)){JZ(a,187146,187275,186938,410);E=f[g>>2]|0;u=e;return E|0}if(!(xCa(l,452528,4)|0)){f[d+8>>2]=1;f[d>>2]=1;E=f[g>>2]|0;u=e;return E|0}if(s>>>0>3?(xCa(l,452522,5)|0)==0:0){f[d+8>>2]=0;f[d>>2]=1;E=f[g>>2]|0;u=e;return E|0}}}JZ(a,187146,187320,186938,424);E=f[g>>2]|0;u=e;return E|0}while(0);if((m|0)==86){D=l+1|0;f[g>>2]=D;C=b[D>>0]|0;if(!(C<<24>>24))if((D|0)==((f[a+80>>2]|0)+-1|0)){f[h>>2]=0;f[h+4>>2]=0;y=JV(h,98)|0;z=191303;A=y+98|0;do{b[y>>0]=b[z>>0]|0;y=y+1|0;z=z+1|0}while((y|0)<(A|0));EP(-215,h,187146,186938,374);KV(h);c=f[g>>2]|0;n=b[c>>0]|0;o=c;m=84}else m=97;else{n=C;o=D;m=84}}b:do if((m|0)==84){if((n+-48&255)<10){D=a+80|0;C=h+4|0;c=o;while(1){t=c+1|0;f[g>>2]=t;r=b[t>>0]|0;if(!(r<<24>>24)){if((t|0)!=((f[D>>2]|0)+-1|0)){m=97;break b}f[h>>2]=0;f[C>>2]=0;y=JV(h,98)|0;z=191303;A=y+98|0;do{b[y>>0]=b[z>>0]|0;y=y+1|0;z=z+1|0}while((y|0)<(A|0));EP(-215,h,187146,186938,379);KV(h);v=f[g>>2]|0;F=b[v>>0]|0;G=v}else{F=r;G=t}if((F+-48&255)<10)c=G;else{H=F;break}}}else H=n;switch(H<<24>>24){case 101:case 46:break;default:{m=97;break b}}I=+QZ(a,l,g);p[d+8>>3]=I;c=f[g>>2]|0;if((b[c>>0]|0)==0?(c|0)==((f[a+80>>2]|0)+-1|0):0){f[h>>2]=0;f[h+4>>2]=0;y=JV(h,98)|0;z=191303;A=y+98|0;do{b[y>>0]=b[z>>0]|0;y=y+1|0;z=z+1|0}while((y|0)<(A|0));EP(-215,h,187146,186938,384);KV(h);J=2}else J=2}while(0);if((m|0)==97){H=_Da(l,g,0)|0;f[d+8>>2]=H;H=f[g>>2]|0;if((b[H>>0]|0)==0?(H|0)==((f[a+80>>2]|0)+-1|0):0){f[h>>2]=0;f[h+4>>2]=0;y=JV(h,98)|0;z=191303;A=y+98|0;do{b[y>>0]=b[z>>0]|0;y=y+1|0;z=z+1|0}while((y|0)<(A|0));EP(-215,h,187146,186938,390);KV(h);J=1}else J=1}f[d>>2]=J;if(l>>>0<(f[g>>2]|0)>>>0){E=f[g>>2]|0;u=e;return E|0}JZ(a,187146,191237,186938,395);E=f[g>>2]|0;u=e;return E|0}J=l+1|0;z=0;y=J;while(1){f[g>>2]=y;A=b[y>>0]|0;if((A+-48&255)<10|((A&-33)+-65&255)<26){if(z>>>0>=10){m=11;break}}else if(!(z>>>0<10&A<<24>>24==36)){m=10;break}z=z+1|0;y=y+1|0}if((m|0)==10?z>>>0>7:0)m=11;if((m|0)==11?(xCa(J,187164,8)|0)==0:0){z=l+9|0;f[g>>2]=z;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;WQa(h,131072);l=a+76|0;y=a+80|0;A=z;z=f[g>>2]|0;c:while(1){K=z;d:while(1)switch(b[K>>0]|0){case 34:{break c;break}case 0:{break d;break}case 13:case 10:{JZ(a,187146,187173,186938,212);K=f[g>>2]|0;continue d;break}default:{H=K+1|0;f[g>>2]=H;K=H;continue d}}bZ(h,A,K)|0;H=f[l>>2]|0;n=EZ(a,H,(f[y>>2]|0)-H|0)|0;f[g>>2]=n;if(!n)JZ(a,187146,187173,186938,197);n=f[g>>2]|0;A=n;z=n}bZ(h,A,K)|0;K=f[g>>2]|0;if((b[K>>0]|0)==34)f[g>>2]=K+1;else JZ(a,187146,187173,186938,224);K=h+11|0;A=b[K>>0]|0;z=A<<24>>24<0;y=h+4|0;l=z?f[y>>2]|0:A&255;do if(l>>>0>31){A=z?f[h>>2]|0:h;n=A+l|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[j>>2]=0;H=j+4|0;f[H>>2]=0;f[j+8>>2]=0;F=EQa(25)|0;f[j>>2]=F;f[j+8>>2]=F+25;b[F>>0]=32;b[F+1>>0]=32;b[F+2>>0]=32;b[F+3>>0]=32;b[F+4>>0]=32;b[F+5>>0]=32;b[F+6>>0]=32;b[F+7>>0]=32;b[F+8>>0]=32;b[F+9>>0]=32;b[F+10>>0]=32;b[F+11>>0]=32;b[F+12>>0]=32;b[F+13>>0]=32;b[F+14>>0]=32;b[F+15>>0]=32;b[F+16>>0]=32;b[F+17>>0]=32;b[F+18>>0]=32;b[F+19>>0]=32;b[F+20>>0]=32;b[F+21>>0]=32;b[F+22>>0]=32;b[F+23>>0]=32;b[F+24>>0]=32;f[H>>2]=F+25;hX(A,f[j>>2]|0,0,32)|0;if(!(BX(j,i)|0?(A=b[i+11>>0]|0,((A<<24>>24<0?f[i+4>>2]|0:A&255)|0)!=0):0))JZ(a,187146,191153,186938,239);A=f[j>>2]|0;if(A|0){if((f[H>>2]|0)!=(A|0))f[H>>2]=A;GQa(A)}A=$Qa(h,32)|0;H=b[K>>0]|0;if((H<<24>>24<0?f[y>>2]|0:H&255)>>>0>32){H=n-A|0;if(!(iX(A,0,H)|0))JZ(a,187146,191183,186938,248);F=jX(H,1)|0;f[j>>2]=0;G=j+4|0;f[G>>2]=0;f[j+8>>2]=0;if(F|0){if((F|0)<0)ZOa(j);o=EQa(F)|0;f[G>>2]=o;f[j>>2]=o;f[j+8>>2]=o+F;c=F;F=o;do{b[F>>0]=0;F=(f[G>>2]|0)+1|0;f[G>>2]=F;c=c+-1|0}while((c|0)!=0)}c=kX(H,A,0)|0;F=f[j>>2]|0;HX(k,F,(f[G>>2]|0)-F|0);KX(k,A,n)|0;JX(k)|0;IX(k);F=i+11|0;o=YZ((b[F>>0]|0)<0?f[i>>2]|0:i,0)|0;if((c|0)%(o|0)|0|0)JZ(a,187146,191204,186938,266);KZ(a,13,d);$X(f[j>>2]|0,(c|0)/(o|0)|0,(b[F>>0]|0)<0?f[i>>2]|0:i,f[d+8>>2]|0);o=f[j>>2]|0;if(o|0){if((f[G>>2]|0)!=(o|0))f[G>>2]=o;GQa(o)}L=F}else{KZ(a,13,d);L=i+11|0}if((b[L>>0]|0)<0)GQa(f[i>>2]|0)}else if(!l){KZ(a,13,d);break}else{JZ(a,187146,191126,186938,286);break}while(0);if((b[K>>0]|0)<0)GQa(f[h>>2]|0);E=f[g>>2]|0;u=e;return E|0};f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;WQa(h,131072);f[g>>2]=J;K=a+76|0;l=a+80|0;L=J;e:while(1){M=L;f:while(1)switch(b[M>>0]|0){case 34:{break e;break}case 92:{break f;break}case 0:{m=69;break f;break}case 13:case 10:{JZ(a,187146,187173,186938,343);M=f[g>>2]|0;continue f;break}default:{J=M+1|0;f[g>>2]=J;M=J;continue f}}if((m|0)==69){m=0;bZ(h,L,M)|0;G=f[K>>2]|0;n=EZ(a,G,(f[l>>2]|0)-G|0)|0;f[g>>2]=n;if(n|0){L=n;continue}JZ(a,187146,187173,186938,328);L=f[g>>2]|0;continue}bZ(h,L,M)|0;n=(f[g>>2]|0)+1|0;f[g>>2]=n;G=b[n>>0]|0;switch(G<<24>>24|0){case 39:case 34:case 92:{ZQa(h,1,G)|0;break}case 110:{ZQa(h,1,10)|0;break}case 114:{ZQa(h,1,13)|0;break}case 116:{ZQa(h,1,9)|0;break}case 98:{ZQa(h,1,8)|0;break}case 102:{ZQa(h,1,12)|0;break}case 117:{JZ(a,187146,187212,186938,314);m=67;break}default:m=67}if((m|0)==67){m=0;JZ(a,187146,187245,186938,315)}G=(f[g>>2]|0)+1|0;f[g>>2]=G;L=G}bZ(h,L,M)|0;M=f[g>>2]|0;if((b[M>>0]|0)==34)f[g>>2]=M+1;else JZ(a,187146,187173,186938,355);M=h+11|0;L=b[M>>0]|0;m=L<<24>>24<0;yM(i,f[a+16>>2]|0,m?f[h>>2]|0:h,m?f[h+4>>2]|0:L&255);L=i;i=f[L+4>>2]|0;m=d+8|0;f[m>>2]=f[L>>2];f[m+4>>2]=i;f[d>>2]=3;if((b[M>>0]|0)<0)GQa(f[h>>2]|0);E=f[g>>2]|0;u=e;return E|0}function rZ(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;e=u;u=u+16|0;g=e;SZ(a,0);switch(f[a+280>>2]|0){case 0:{RZ(a,1);break}case 2:{f[g>>2]=0;f[g+4>>2]=0;h=JV(g,36)|0;i=191805;j=h+36|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));EP(-2,g,187635,186938,611);KV(g);break}default:{}}do if((c|0)!=0?(b[c>>0]|0)!=0:0){k=nCa(c)|0;if(!k){f[g>>2]=0;f[g+4>>2]=0;h=JV(g,19)|0;i=191940;j=h+19|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));EP(-5,g,187635,186938,623);KV(g);l=0;m=c;n=1;break}if((k|0)>4096){f[g>>2]=0;f[g+4>>2]=0;h=JV(g,19)|0;i=191960;j=h+19|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));EP(-5,g,187635,186938,625);KV(g);l=k;m=c;n=1}else{l=k;m=c;n=1}}else{l=0;m=0;n=0}while(0);c=(d|0)!=0;if(c)o=nCa(d)|0;else o=0;p=a+44|0;q=f[p>>2]|0;r=q&7;if(r>>>0>4)if(n^(r|0)==6){f[g>>2]=0;f[g+4>>2]=0;h=JV(g,85)|0;i=191854;j=h+85|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));EP(-5,g,187635,186938,637);KV(g);s=q}else s=q;else{f[a+12>>2]=0;s=n?38:37}do if(!(s&8)){if(!(s&32)){q=a+72|0;r=f[q>>2]|0;b[r>>0]=44;b[r+1>>0]=10;b[r+2>>0]=0;r=a+76|0;AZ(a,f[r>>2]|0);f[q>>2]=f[r>>2]}t=MZ(a)|0}else{r=a+72|0;q=f[r>>2]|0;if(!(s&32)){b[q>>0]=44;v=q+1|0}else v=q;q=o+l-(f[a+76>>2]|0)+v|0;if((q|0)>(f[a+84>>2]|0)?(q-(f[a+40>>2]|0)|0)>10:0){f[r>>2]=v;t=MZ(a)|0;break}b[v>>0]=32;t=v+1|0}while(0);if(n){n=b[m>>0]|0;if(!(((n&-33)+-65&255)<26|n<<24>>24==95)){f[g>>2]=0;f[g+4>>2]=0;h=JV(g,33)|0;i=191980;j=h+33|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));EP(-5,g,187635,186938,679);KV(g)}n=LZ(a,t,l)|0;v=n+1|0;b[n>>0]=34;if(l|0){n=g+4|0;r=0;do{q=b[m+r>>0]|0;b[v+r>>0]=q;a:do if(!((q+-48&255)<10|((q&-33)+-65&255)<26)){switch(q<<24>>24){case 32:case 45:case 95:{break a;break}default:{}}f[g>>2]=0;f[n>>2]=0;h=JV(g,80)|0;i=192014;j=h+80|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));EP(-5,g,187635,186938,690);KV(g)}while(0);r=r+1|0}while(r>>>0>>0)}r=v+l|0;l=r+1|0;b[r>>0]=34;r=l+1|0;b[l>>0]=58;b[r>>0]=32;w=r+1|0}else w=t;if(!c){x=w;y=a+72|0;f[y>>2]=x;z=s&-33;f[p>>2]=z;u=e;return}c=LZ(a,w,o)|0;DVa(c|0,d|0,o|0)|0;x=c+o|0;y=a+72|0;f[y>>2]=x;z=s&-33;f[p>>2]=z;u=e;return}function sZ(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;g=u;u=u+5136|0;h=g+8|0;i=g+16|0;j=g;k=d&15|32;l=d&7;if(l>>>0<=4){f[j>>2]=0;f[j+4>>2]=0;d=JV(j,68)|0;m=192095;n=d+68|0;do{b[d>>0]=b[m>>0]|0;d=d+1|0;m=m+1|0}while((d|0)<(n|0));EP(-5,j,187648,186938,719);KV(j)}if((e|0)!=0?(b[e>>0]|0)!=0:0)if(!(xCa(e,191046,6)|0)){o=0;p=e;q=3;r=i}else{s=1;t=e;v=6}else{s=0;t=0;v=6}if((v|0)==6){b[i>>0]=(l|0)==6?123:91;o=s;p=t;q=k;r=i+1|0}b[r>>0]=0;rZ(a,c,i);i=a+44|0;f[h>>2]=f[i>>2];OM(f[a+36>>2]|0,h)|0;f[i>>2]=q;q=a+40|0;f[q>>2]=(f[q>>2]|0)+4;if(!o){u=g;return}th[f[a+244>>2]&255](a,187475,p,1);u=g;return}function tZ(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=u;u=u+16|0;d=c;e=a+36|0;g=f[e>>2]|0;if(!(f[g+24>>2]|0)){f[d>>2]=0;f[d+4>>2]=0;h=JV(d,44)|0;i=192211;j=h+44|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));EP(-2,d,187672,186938,759);KV(d);k=f[e>>2]|0}else k=g;f[d>>2]=0;g=a+44|0;e=f[g>>2]|0;PM(k,d);k=a+40|0;i=(f[k>>2]|0)+-4|0;f[k>>2]=i;f[g>>2]=f[d>>2]&-33;d=e&7;if(d>>>0<=4){u=c;return}g=a+72|0;if(!(e&8)){h=f[g>>2]|0;j=a+76|0;if(h>>>0<=((f[j>>2]|0)+(f[a+56>>2]|0)|0)>>>0){f[g>>2]=h+1;b[h>>0]=10;h=f[g>>2]|0;f[g>>2]=h+1;b[h>>0]=0;AZ(a,f[j>>2]|0);f[g>>2]=f[j>>2]}MZ(a)|0;l=j;m=f[k>>2]|0}else{l=a+76|0;m=i}i=f[g>>2]|0;if((e&32|0)==0?i>>>0>((f[l>>2]|0)+m|0)>>>0:0){b[i>>0]=32;n=i+1|0}else n=i;b[n>>0]=(d|0)==6?125:93;f[g>>2]=n+1;u=c;return}function uZ(a){a=a|0;var b=0;if(f[a+12>>2]|0)return;b=a+36|0;if((f[(f[b>>2]|0)+24>>2]|0)>0)do tZ(a);while((f[(f[b>>2]|0)+24>>2]|0)>0);f[a+40>>2]=4;MZ(a)|0;f[a+72>>2]=f[a+76>>2];return}function vZ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=u;u=u+128|0;rZ(a,b,zZ(c,d,10)|0);u=d;return}function wZ(a,c,d){a=a|0;c=c|0;d=+d;var e=0,f=0,g=0;e=u;u=u+128|0;f=e;g=nCa(OZ(f,d)|0)|0;if(g|0?(b[f+(g+-1)>>0]|0)==46:0){b[f+g>>0]=48;b[f+(g+1)>>0]=0}rZ(a,c,f);u=e;return}function xZ(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=u;u=u+16416|0;h=g+8|0;i=g;if(!d){f[i>>2]=0;f[i+4>>2]=0;j=JV(i,19)|0;k=192287;l=j+19|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-27,i,187694,186938,834);KV(i)}m=nCa(d)|0;if((m|0)>4096){f[i>>2]=0;f[i+4>>2]=0;j=JV(i,30)|0;k=192325;l=j+30|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-5,i,187694,186938,838);KV(i)}a:do if(!((e|0)!=0|(m|0)==0)?(i=b[d>>0]|0,i<<24>>24==(b[d+(m+-1)>>0]|0)):0){switch(i<<24>>24){case 39:case 34:{n=d;break}default:break a}rZ(a,c,n);u=g;return}while(0);e=h+1|0;b[h>>0]=34;b:do if((m|0)>0){i=0;k=e;while(1){j=b[d+i>>0]|0;switch(j<<24>>24|0){case 39:case 34:case 92:{b[k>>0]=92;b[k+1>>0]=j;o=k+2|0;break}case 10:{b[k>>0]=92;b[k+1>>0]=110;o=k+2|0;break}case 13:{b[k>>0]=92;b[k+1>>0]=114;o=k+2|0;break}case 9:{b[k>>0]=92;b[k+1>>0]=116;o=k+2|0;break}case 8:{b[k>>0]=92;b[k+1>>0]=98;o=k+2|0;break}case 12:{b[k>>0]=92;b[k+1>>0]=102;o=k+2|0;break}default:{b[k>>0]=j;o=k+1|0}}i=i+1|0;if((i|0)==(m|0)){p=o;break b}else k=o}}else p=e;while(0);b[p>>0]=34;b[p+1>>0]=0;n=h;rZ(a,c,n);u=g;return}function yZ(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=u;u=u+16|0;g=e;h=(c|0)==0;if(h){f[g>>2]=0;f[g+4>>2]=0;i=JV(g,12)|0;j=192362;k=i+12|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-27,g,187713,186938,876);KV(g)}g=a+72|0;j=f[g>>2]|0;i=pCa(c,10)|0;if(((d|0)!=0&(i|0)==0?(d=nCa(c)|0,((f[a+80>>2]|0)-j|0)>=(d|0)):0)?(j|0)!=(f[a+76>>2]|0):0){b[j>>0]=32;l=0;m=j+1|0}else{l=i;m=MZ(a)|0}if(h){u=e;return}else{n=l;o=m;p=c}while(1){b[o>>0]=47;b[o+1>>0]=47;q=o+3|0;b[o+2>>0]=32;if(!n)break;c=n-p|0;m=c+1|0;l=LZ(a,q,m)|0;DVa(l|0,p|0,m|0)|0;f[g>>2]=l+c;c=n+1|0;l=pCa(c,10)|0;n=l;o=MZ(a)|0;p=c}o=nCa(p)|0;n=LZ(a,q,o)|0;DVa(n|0,p|0,o|0)|0;f[g>>2]=n+o;MZ(a)|0;u=e;return}function zZ(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;d=c+23|0;b[d>>0]=0;c=d;d=(a|0)>-1?a:0-a|0;while(1){e=d;d=(d>>>0)/10|0;f=e+48+(X(d,-10)|0)&255;g=c+-1|0;b[g>>0]=f;if(e>>>0<=9)break;else c=g}if((a|0)>=0){h=g;return h|0}g=c+-2|0;b[g>>0]=45;h=g;return h|0}function AZ(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+16|0;e=d;g=f[a+268>>2]|0;if(g|0){h=nCa(c)|0;i=c+h|0;if(!h){u=d;return}h=g+20|0;j=g+8|0;k=g+4|0;l=g+16|0;m=c;n=f[h>>2]|0;do{o=f[k>>2]|0;p=(f[j>>2]|0)-o|0;q=f[l>>2]|0;if((((p|0)==0?0:(p<<10)+-1|0)|0)==(q+n|0)){BZ(g);r=f[l>>2]|0;s=f[h>>2]|0;t=f[k>>2]|0}else{r=q;s=n;t=o}o=s+r|0;b[(f[t+(o>>>12<<2)>>2]|0)+(o&4095)>>0]=b[m>>0]|0;n=(f[h>>2]|0)+1|0;f[h>>2]=n;m=m+1|0}while((m|0)!=(i|0));u=d;return}i=f[a+64>>2]|0;if(i|0){qFa(c,i)|0;u=d;return}i=f[a+68>>2]|0;if(!i){f[e>>2]=0;f[e+4>>2]=0;a=JV(e,25)|0;m=187733;n=a+25|0;do{b[a>>0]=b[m>>0]|0;a=a+1|0;m=m+1|0}while((a|0)<(n|0));EP(-2,e,187759,187767,41);KV(e);u=d;return}else{nBa(i,c)|0;u=d;return}}function BZ(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;b=u;u=u+32|0;c=b;d=a+16|0;e=f[d>>2]|0;if(e>>>0>4095){f[d>>2]=e+-4096;e=a+4|0;d=f[e>>2]|0;g=f[d>>2]|0;h=d+4|0;f[e>>2]=h;d=a+8|0;i=f[d>>2]|0;j=a+12|0;k=f[j>>2]|0;l=k;do if((i|0)==(k|0)){m=f[a>>2]|0;n=m;if(h>>>0>m>>>0){o=h;p=((o-n>>2)+1|0)/-2|0;q=h+(p<<2)|0;r=i-o|0;o=r>>2;if(!o)s=h;else{EVa(q|0,h|0,r|0)|0;s=f[e>>2]|0}r=q+(o<<2)|0;f[d>>2]=r;f[e>>2]=s+(p<<2);t=r;break}r=l-n>>1;n=(r|0)==0?1:r;if(n>>>0>1073741823){r=hd(8)|0;LQa(r,349912);f[r>>2]=118288;ld(r|0,20688,857)}r=EQa(n<<2)|0;p=r;o=r+(n>>>2<<2)|0;q=o;v=r+(n<<2)|0;if((h|0)==(i|0)){w=q;x=m}else{m=o;o=q;n=h;do{f[m>>2]=f[n>>2];m=o+4|0;o=m;n=n+4|0}while((n|0)!=(i|0));w=o;x=f[a>>2]|0}f[a>>2]=p;f[e>>2]=q;f[d>>2]=w;f[j>>2]=v;if(!x)t=w;else{GQa(x);t=f[d>>2]|0}}else t=i;while(0);f[t>>2]=g;f[d>>2]=(f[d>>2]|0)+4;u=b;return}d=a+8|0;g=f[d>>2]|0;t=a+4|0;i=f[t>>2]|0;x=g-i|0;w=a+12|0;j=f[w>>2]|0;e=f[a>>2]|0;h=j-e|0;l=g;s=j;k=i;n=e;if(x>>>0>=h>>>0){m=h>>1;r=(m|0)==0?1:m;f[c+12>>2]=0;f[c+16>>2]=a+12;if(r>>>0>1073741823){m=hd(8)|0;LQa(m,349912);f[m>>2]=118288;ld(m|0,20688,857)}m=x>>2;y=EQa(r<<2)|0;f[c>>2]=y;z=y+(m<<2)|0;A=c+8|0;f[A>>2]=z;B=c+4|0;f[B>>2]=z;C=y+(r<<2)|0;D=c+12|0;f[D>>2]=C;E=EQa(4096)|0;F=C;do if((m|0)==(r|0)){C=y;if(z>>>0>y>>>0){G=z+((((z-C>>2)+1|0)/-2|0)<<2)|0;f[A>>2]=G;f[B>>2]=G;H=G;break}G=F-C>>1;C=(G|0)==0?1:G;if(C>>>0>1073741823){G=hd(8)|0;LQa(G,349912);f[G>>2]=118288;ld(G|0,20688,857)}else{G=EQa(C<<2)|0;I=G+(C>>>2<<2)|0;J=I;f[c>>2]=G;f[B>>2]=J;f[A>>2]=J;f[D>>2]=G+(C<<2);GQa(y);H=I;break}}else H=z;while(0);f[H>>2]=E;f[A>>2]=(f[A>>2]|0)+4;E=f[d>>2]|0;while(1){K=f[t>>2]|0;if((E|0)==(K|0))break;H=E+-4|0;DZ(c,H);E=H}H=K;K=f[a>>2]|0;f[a>>2]=f[c>>2];f[c>>2]=K;f[t>>2]=f[B>>2];f[B>>2]=H;B=f[d>>2]|0;f[d>>2]=f[A>>2];f[A>>2]=B;z=f[w>>2]|0;f[w>>2]=f[D>>2];f[D>>2]=z;z=B;if((E|0)!=(z|0))f[A>>2]=z+(~((z+-4-H|0)>>>2)<<2);if(K|0)GQa(K);u=b;return}if((j|0)==(g|0)){j=EQa(4096)|0;f[c>>2]=j;CZ(a,c);c=f[t>>2]|0;j=f[c>>2]|0;K=c+4|0;f[t>>2]=K;c=f[d>>2]|0;H=f[w>>2]|0;z=H;do if((c|0)==(H|0)){A=f[a>>2]|0;E=A;if(K>>>0>A>>>0){B=K;D=((B-E>>2)+1|0)/-2|0;y=K+(D<<2)|0;F=c-B|0;B=F>>2;if(!B)L=K;else{EVa(y|0,K|0,F|0)|0;L=f[t>>2]|0}F=y+(B<<2)|0;f[d>>2]=F;f[t>>2]=L+(D<<2);M=F;break}F=z-E>>1;E=(F|0)==0?1:F;if(E>>>0>1073741823){F=hd(8)|0;LQa(F,349912);f[F>>2]=118288;ld(F|0,20688,857)}F=EQa(E<<2)|0;D=F;B=F+(E>>>2<<2)|0;y=B;r=F+(E<<2)|0;if((K|0)==(c|0)){N=y;O=A}else{A=B;B=y;E=K;do{f[A>>2]=f[E>>2];A=B+4|0;B=A;E=E+4|0}while((E|0)!=(c|0));N=B;O=f[a>>2]|0}f[a>>2]=D;f[t>>2]=y;f[d>>2]=N;f[w>>2]=r;if(!O)M=N;else{GQa(O);M=f[d>>2]|0}}else M=c;while(0);f[M>>2]=j;f[d>>2]=(f[d>>2]|0)+4;u=b;return}else{j=EQa(4096)|0;M=g;do if((l|0)==(s|0)){if(k>>>0>n>>>0){g=((i-e>>2)+1|0)/-2|0;c=k+(g<<2)|0;O=x>>2;if(!O)P=k;else{EVa(c|0,i|0,x|0)|0;P=f[t>>2]|0}N=c+(O<<2)|0;f[d>>2]=N;f[t>>2]=P+(g<<2);Q=N;break}N=h>>1;g=(N|0)==0?1:N;if(g>>>0>1073741823){N=hd(8)|0;LQa(N,349912);f[N>>2]=118288;ld(N|0,20688,857)}N=EQa(g<<2)|0;O=N;c=N+(g>>>2<<2)|0;K=c;z=N+(g<<2)|0;if((k|0)==(l|0)){R=K;S=n}else{g=c;c=K;N=k;do{f[g>>2]=f[N>>2];g=c+4|0;c=g;N=N+4|0}while((N|0)!=(l|0));R=c;S=f[a>>2]|0}f[a>>2]=O;f[t>>2]=K;f[d>>2]=R;f[w>>2]=z;if(!S)Q=R;else{GQa(S);Q=f[d>>2]|0}}else Q=M;while(0);f[Q>>2]=j;f[d>>2]=(f[d>>2]|0)+4;u=b;return}}function CZ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=e;do if((d|0)==(e|0)){h=a+8|0;i=f[h>>2]|0;j=a+12|0;k=f[j>>2]|0;l=k;if(i>>>0>>0){k=i;m=((l-k>>2)+1|0)/2|0;n=i+(m<<2)|0;o=k-d|0;k=o>>2;p=n+(0-k<<2)|0;if(!k){q=n;r=i}else{EVa(p|0,d|0,o|0)|0;q=p;r=f[h>>2]|0}f[c>>2]=q;f[h>>2]=r+(m<<2);s=q;break}m=l-g>>1;l=(m|0)==0?1:m;if(l>>>0>1073741823){m=hd(8)|0;LQa(m,349912);f[m>>2]=118288;ld(m|0,20688,857)}m=EQa(l<<2)|0;p=m;o=m+((l+3|0)>>>2<<2)|0;n=o;k=m+(l<<2)|0;if((d|0)==(i|0)){t=n;u=d}else{l=o;m=n;v=d;do{f[l>>2]=f[v>>2];l=m+4|0;m=l;v=v+4|0}while((v|0)!=(i|0));t=m;u=f[a>>2]|0}f[a>>2]=p;f[c>>2]=n;f[h>>2]=t;f[j>>2]=k;if(!u)s=o;else{GQa(u);s=f[c>>2]|0}}else s=d;while(0);f[s+-4>>2]=f[b>>2];f[c>>2]=(f[c>>2]|0)+-4;return}function DZ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=e;do if((d|0)==(e|0)){h=a+8|0;i=f[h>>2]|0;j=a+12|0;k=f[j>>2]|0;l=k;if(i>>>0>>0){k=i;m=((l-k>>2)+1|0)/2|0;n=i+(m<<2)|0;o=k-d|0;k=o>>2;p=n+(0-k<<2)|0;if(!k){q=n;r=i}else{EVa(p|0,d|0,o|0)|0;q=p;r=f[h>>2]|0}f[c>>2]=q;f[h>>2]=r+(m<<2);s=q;break}m=l-g>>1;l=(m|0)==0?1:m;if(l>>>0>1073741823){m=hd(8)|0;LQa(m,349912);f[m>>2]=118288;ld(m|0,20688,857)}m=EQa(l<<2)|0;p=m;o=m+((l+3|0)>>>2<<2)|0;n=o;k=m+(l<<2)|0;if((d|0)==(i|0)){t=n;u=d}else{l=o;m=n;v=d;do{f[l>>2]=f[v>>2];l=m+4|0;m=l;v=v+4|0}while((v|0)!=(i|0));t=m;u=f[a>>2]|0}f[a>>2]=p;f[c>>2]=n;f[h>>2]=t;f[j>>2]=k;if(!u)s=o;else{GQa(u);s=f[c>>2]|0}}else s=d;while(0);f[s+-4>>2]=f[b>>2];f[c>>2]=(f[c>>2]|0)+-4;return}function EZ(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;e=u;u=u+16|0;g=e;h=f[a+256>>2]|0;if(h|0){i=a+264|0;j=f[a+260>>2]|0;k=d+-1|0;l=f[i>>2]|0;m=0;while(1){if(!((m|0)<(k|0)&l>>>0>>0)){n=l;o=m;break}p=l+1|0;q=b[h+l>>0]|0;r=m+1|0;if(!(q<<24>>24)){n=p;o=m;break}b[c+m>>0]=q;if(q<<24>>24==10){n=p;o=r;break}else{l=p;m=r}}b[c+o>>0]=0;f[i>>2]=n;if((d|0)>256?!((o+1|0)<(k|0)|(f[a>>2]&64|0)!=0):0){f[g>>2]=0;f[g+4>>2]=0;s=JV(g,72)|0;t=187827;v=s+72|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,g,187900,187767,63);KV(g)}w=(o|0)>0?c:0;u=e;return w|0}o=f[a+64>>2]|0;if(o|0){k=oCa(c,d,o)|0;if(!((d|0)>256&(k|0)!=0)){w=k;u=e;return w|0}if(f[a>>2]&64|0){w=k;u=e;return w|0}if((pDa(k,d)|0)>>>0<(d+-1|0)>>>0){w=k;u=e;return w|0}f[g>>2]=0;f[g+4>>2]=0;s=JV(g,83)|0;t=187908;v=s+83|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,g,187900,187767,72);KV(g);w=k;u=e;return w|0}k=f[a+68>>2]|0;if(!k){f[g>>2]=0;f[g+4>>2]=0;s=JV(g,25)|0;t=187733;v=s+25|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-2,g,187900,187767,88)}o=iBa(k,c,d)|0;if(!((d|0)>256&(o|0)!=0)){w=o;u=e;return w|0}if(f[a>>2]&64|0){w=o;u=e;return w|0}if((pDa(o,d)|0)>>>0<(d+-1|0)>>>0){w=o;u=e;return w|0}f[g>>2]=0;f[g+4>>2]=0;s=JV(g,83)|0;t=187908;v=s+83|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,g,187900,187767,83);KV(g);w=o;u=e;return w|0}function FZ(a){a=a|0;var b=0,c=0;if(f[a+256>>2]|0){b=(f[a+264>>2]|0)>>>0>=(f[a+260>>2]|0)>>>0&1;return b|0}c=f[a+64>>2]|0;if(c|0){b=MFa(c)|0;return b|0}c=f[a+68>>2]|0;if(!c){b=0;return b|0}b=eBa(c)|0;return b|0}function GZ(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=a+64|0;d=f[c>>2]|0;if(!d){e=a+68|0;g=f[e>>2]|0;if(!g)h=e;else{$Aa(g)|0;h=e}}else{FFa(d)|0;h=a+68|0}f[c>>2]=0;f[h>>2]=0;f[a+256>>2]=0;f[a+264>>2]=0;b[a+300>>0]=0;return}function HZ(a){a=a|0;var b=0,c=0;b=f[a+64>>2]|0;if(!b){c=f[a+68>>2]|0;if(c|0)cBa(c)|0}else KFa(b);f[a+264>>2]=0;return}function IZ(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=u;u=u+16|0;i=h;if((c|0)<72){f[i>>2]=0;f[i+4>>2]=0;j=JV(i,25)|0;k=187992;l=j+25|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-201,i,188018,187767,133);KV(i)}i=(g|0)<1?16:g;g=UM(a,c,d,e)|0;f[g+64>>2]=i;d=i<<2;i=wM(e,d)|0;f[g+68>>2]=i;FVa(i|0,0,d|0)|0;u=h;return g|0}function JZ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0;g=u;u=u+1040|0;h=g;i=g+16|0;j=f[a+88>>2]|0;f[h>>2]=f[a+60>>2];f[h+4>>2]=j;f[h+8>>2]=c;lDa(i,188030,h)|0;mQ(-212,b,i,d,e);u=g;return}function KZ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+1040|0;e=d;g=d+16|0;if((b&7|0)==6){if(f[c>>2]|0){h=f[a+88>>2]|0;f[e>>2]=f[a+60>>2];f[e+4>>2]=h;f[e+8>>2]=188041;lDa(g,188030,e)|0;mQ(-212,188093,g,187767,163)}g=f[a+16>>2]|0;e=UM(0,72,24,g)|0;f[e+64>>2]=16;h=wM(g,64)|0;f[e+68>>2]=h;g=h;h=g+64|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[c+8>>2]=e;i=c;j=e;f[i>>2]=b;AM(j,8);u=d;return}else{e=zM(0,56,16,f[a+16>>2]|0)|0;if(f[c>>2]&7|0)OM(e,c)|0;f[c+8>>2]=e;i=c;j=e;f[i>>2]=b;AM(j,8);u=d;return}}function LZ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=a+80|0;e=f[d>>2]|0;if((b+c|0)>>>0>>0){g=b;return g|0}h=a+76|0;i=f[h>>2]|0;j=b-i|0;b=((e-i|0)*3|0)/2|0;i=j+c|0;c=(i|0)<(b|0)?b:i;i=eX(c+256|0)|0;b=a+72|0;a=f[h>>2]|0;f[b>>2]=i+((f[b>>2]|0)-a);if((j|0)>0)DVa(i|0,a|0,j|0)|0;f[h>>2]=i;f[d>>2]=i+c;g=i+j|0;return g|0}function MZ(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+72|0;d=f[c>>2]|0;e=a+76|0;g=f[e>>2]|0;h=a+56|0;i=f[h>>2]|0;if(d>>>0>(g+i|0)>>>0){b[d>>0]=10;b[d+1>>0]=0;AZ(a,f[e>>2]|0);d=f[e>>2]|0;f[c>>2]=d;j=f[h>>2]|0;k=d}else{j=i;k=g}g=f[a+40>>2]|0;if((j|0)==(g|0)){l=k;m=j;n=l+m|0;f[c>>2]=n;return n|0}FVa(k|0,32,g|0)|0;f[h>>2]=g;l=f[e>>2]|0;m=g;n=l+m|0;f[c>>2]=n;return n|0}function NZ(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+16|0;e=d;g=(c|0)!=0;if(g)KV(c);if(!a){f[e>>2]=0;f[e+4>>2]=0;h=JV(e,35)|0;i=188115;j=h+35|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));EP(-27,e,188151,187767,238);KV(e)}i=a+300|0;if(b[i>>0]|0){h=a+64|0;a:do if(f[a+8>>2]|0){if(((f[h>>2]|0)==0?(f[a+68>>2]|0)==0:0)?(f[a+268>>2]|0)==0:0)break;j=a+36|0;k=f[j>>2]|0;if(k|0?(f[k+24>>2]|0)>0:0)do QW(a);while((f[(f[j>>2]|0)+24>>2]|0)>0);j=a+72|0;k=f[j>>2]|0;l=a+76|0;m=f[l>>2]|0;n=a+56|0;o=f[n>>2]|0;if(k>>>0>(m+o|0)>>>0){b[k>>0]=10;b[k+1>>0]=0;AZ(a,f[l>>2]|0);k=f[l>>2]|0;f[j>>2]=k;p=f[n>>2]|0;q=k}else{p=o;q=m}m=f[a+40>>2]|0;if((p|0)==(m|0)){r=q;s=p}else{FVa(q|0,32,m|0)|0;f[n>>2]=m;r=f[l>>2]|0;s=m}f[j>>2]=r+s;switch(f[a+4>>2]|0){case 8:{AZ(a,188160);break a;break}case 24:{AZ(a,188179);break a;break}default:break a}}while(0);s=f[h>>2]|0;if(!s){r=a+68|0;q=f[r>>2]|0;if(!q)t=r;else{$Aa(q)|0;t=r}}else{FFa(s)|0;t=a+68|0}f[h>>2]=0;f[t>>2]=0;f[a+256>>2]=0;f[a+264>>2]=0;b[i>>0]=0}i=f[a+268>>2]|0;if(!(g&(i|0)!=0)){u=d;return}g=f[i+4>>2]|0;a=f[i+16>>2]|0;t=g+(a>>>12<<2)|0;if((f[i+8>>2]|0)!=(g|0)){h=(f[t>>2]|0)+(a&4095)|0;s=a+(f[i+20>>2]|0)|0;i=g+(s>>>12<<2)|0;g=(f[i>>2]|0)+(s&4095)|0;s=h;f[e>>2]=0;a=e+4|0;f[a>>2]=0;if((g|0)!=(h|0)?(r=(i-t<<10)-s+g-(f[i>>2]|0)+(f[t>>2]|0)|0,(r|0)!=0):0){i=JV(e,r)|0;r=t;t=s;s=h;while(1){b[i>>0]=b[s>>0]|0;h=t+1|0;q=h;if((q-(f[r>>2]|0)|0)==4096){p=r+4|0;j=f[p>>2]|0;v=p;w=j;x=j}else{v=r;w=q;x=h}if((x|0)==(g|0)){y=e;z=a;break}else{i=i+1|0;r=v;t=w;s=x}}}else{y=e;z=a}}else{f[e>>2]=0;a=e+4|0;f[a>>2]=0;y=e;z=a}if((e|0)!=(c|0)){KV(c);a=f[y>>2]|0;if(!a)A=0;else{y=a+-4|0;f[y>>2]=(f[y>>2]|0)+1;A=f[e>>2]|0}f[c>>2]=A;f[c+4>>2]=f[z>>2]}KV(e);u=d;return}function OZ(a,c){a=a|0;c=+c;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=u;u=u+16|0;e=d+8|0;g=d;p[s>>3]=c;h=f[s+4>>2]|0;if((h&2146435072|0)==2146435072)if(((h&2147483647)+((f[s>>2]|0)!=0&1)|0)>>>0>2146435072){b[a>>0]=b[188192]|0;b[a+1>>0]=b[188193]|0;b[a+2>>0]=b[188194]|0;b[a+3>>0]=b[188195]|0;b[a+4>>0]=b[188196]|0;u=d;return a|0}else{iDa(a,(h|0)<0?188197:188203)|0;u=d;return a|0}h=AEa(c)|0;if(+(h|0)==c){f[g>>2]=h;lDa(a,188182,g)|0;u=d;return a|0}p[e>>3]=c;lDa(a,188186,e)|0;e=b[a>>0]|0;switch(e<<24>>24){case 45:case 43:{i=a;j=5;break}default:{k=a;l=e;j=6}}while(1)if((j|0)==5){j=0;e=i+1|0;k=e;l=b[e>>0]|0;j=6;continue}else if((j|0)==6){j=0;if((l+-48&255)<10){i=k;j=5;continue}else break}if(l<<24>>24!=44){u=d;return a|0}b[k>>0]=46;u=d;return a|0}function PZ(a,c){a=a|0;c=+c;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=u;u=u+16|0;e=d+8|0;g=d;h=(n[s>>2]=c,f[s>>2]|0);if((h&2139095040|0)==2139095040)if((h&2147483647|0)==2139095040){iDa(a,(h|0)<0?188197:188203)|0;u=d;return a|0}else{b[a>>0]=b[188192]|0;b[a+1>>0]=b[188193]|0;b[a+2>>0]=b[188194]|0;b[a+3>>0]=b[188195]|0;b[a+4>>0]=b[188196]|0;u=d;return a|0}h=HEa(c)|0;if(+(h|0)==c){f[g>>2]=h;lDa(a,188182,g)|0;u=d;return a|0}p[e>>3]=c;lDa(a,188208,e)|0;e=b[a>>0]|0;switch(e<<24>>24){case 45:case 43:{i=a;j=5;break}default:{k=a;l=e;j=6}}while(1)if((j|0)==5){j=0;e=i+1|0;k=e;l=b[e>>0]|0;j=6;continue}else if((j|0)==6){j=0;if((l+-48&255)<10){i=k;j=5;continue}else break}if(l<<24>>24!=44){u=d;return a|0}b[k>>0]=46;u=d;return a|0}function QZ(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0.0,k=0,l=0.0,m=0,n=0.0,o=0,p=0.0,q=0.0,r=0,s=0,t=0.0,v=0;e=u;u=u+1056|0;g=e+16|0;h=e;i=e+32|0;j=+UEa(c,d);k=f[d>>2]|0;if((b[k>>0]|0)==46){b[k>>0]=44;l=+UEa(c,d);b[k>>0]=46;m=f[d>>2]|0;if(m>>>0>k>>>0){n=l;o=m}else{f[d>>2]=k;n=j;o=k}}else{n=j;o=k}if((o|0)!=(c|0)?((b[o>>0]&-33)+-65&255)>=26:0){p=n;u=e;return +p}o=b[c>>0]|0;switch(o<<24>>24){case 43:case 45:{k=c+1|0;q=o<<24>>24==45?-C:C;r=b[k>>0]|0;s=k;break}default:{q=C;r=o;s=c}}if(r<<24>>24!=46){r=f[a+88>>2]|0;f[h>>2]=f[a+60>>2];f[h+4>>2]=r;f[h+8>>2]=188213;lDa(i,188030,h)|0;mQ(-212,188251,i,187767,351)}h=b[s+1>>0]|0;if(((MDa(h)|0)==73?(MDa(b[s+2>>0]|0)|0)==78:0)?(MDa(b[s+3>>0]|0)|0)==70:0)t=q;else v=13;do if((v|0)==13){if(((MDa(h)|0)==78?(MDa(b[s+2>>0]|0)|0)==65:0)?(MDa(b[s+3>>0]|0)|0)==78:0){t=B;break}r=f[a+88>>2]|0;f[g>>2]=f[a+60>>2];f[g+4>>2]=r;f[g+8>>2]=188213;lDa(i,188030,g)|0;mQ(-212,188251,i,187767,360);t=0.0}while(0);f[d>>2]=s+4;p=t;u=e;return +p}function RZ(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;g=a+280|0;switch(f[g>>2]|0){case 0:{switch(c|0){case 2:{h=EQa(16)|0;LX(h,a);f[a+272>>2]=h;f[g>>2]=c;u=d;return}case 1:case 0:{f[g>>2]=c;u=d;return}default:{f[e>>2]=0;f[e+4>>2]=0;i=JV(e,55)|0;j=188275;k=i+55|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-2,e,188331,187767,408);KV(e);f[g>>2]=c;u=d;return}}break}case 2:{switch(c|0){case 1:case 2:{f[e>>2]=0;f[e+4>>2]=0;i=JV(e,49)|0;j=188354;k=i+49|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-2,e,188331,187767,417);KV(e);f[g>>2]=c;u=d;return}case 0:{h=a+272|0;a=f[h>>2]|0;if(a|0){ZX(a);GQa(a)}f[h>>2]=0;f[g>>2]=c;u=d;return}default:{f[e>>2]=0;f[e+4>>2]=0;i=JV(e,55)|0;j=188275;k=i+55|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-2,e,188331,187767,424);KV(e);f[g>>2]=c;u=d;return}}break}case 1:{switch(c|0){case 1:case 2:{f[e>>2]=0;f[e+4>>2]=0;i=JV(e,49)|0;j=188354;k=i+49|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-2,e,188331,187767,433);KV(e);f[g>>2]=c;u=d;return}case 0:{f[g>>2]=c;u=d;return}default:{f[e>>2]=0;f[e+4>>2]=0;i=JV(e,55)|0;j=188275;k=i+55|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-2,e,188331,187767,438);KV(e);f[g>>2]=c;u=d;return}}break}default:{f[e>>2]=0;f[e+4>>2]=0;i=JV(e,55)|0;j=188275;k=i+55|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-2,e,188331,187767,443);KV(e);f[g>>2]=c;u=d;return}}}function SZ(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+32|0;e=d+12|0;g=d;h=a+284|0;if(!(b[h>>0]|0)){u=d;return};f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;i=a+292|0;j=f[i>>2]|0;k=a+288|0;l=f[k>>2]|0;if(l|0?b[l>>0]|0:0)XQa(e,l)|0;l=a+296|0;m=f[l>>2]|0;if(m|0?b[m>>0]|0:0)XQa(g,m)|0;m=f[k>>2]|0;if(m|0)HQa(m);m=f[l>>2]|0;if(m|0)HQa(m);f[k>>2]=0;f[i>>2]=0;f[l>>2]=0;b[h>>0]=0;h=f[a+228>>2]|0;l=e+11|0;i=(b[l>>0]|0)<0?f[e>>2]|0:e;if(c){th[h&255](a,i,j,191046);if(f[a+280>>2]|0)RZ(a,0);RZ(a,2);n=g+11|0}else{c=g+11|0;th[h&255](a,i,j,(b[c>>0]|0)<0?f[g>>2]|0:g);if(f[a+280>>2]|0)RZ(a,0);RZ(a,1);n=c}if((b[n>>0]|0)<0)GQa(f[g>>2]|0);if((b[l>>0]|0)<0)GQa(f[e>>2]|0);u=d;return}function TZ(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;g=u;u=u+16|0;h=g;i=a+284|0;if(b[i>>0]|0){f[h>>2]=0;f[h+4>>2]=0;j=JV(h,36)|0;k=188404;l=j+36|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-215,h,188441,187767,497);KV(h)}f[a+292>>2]=d;if(c|0){d=FQa((nCa(c)|0)+1|0)|0;f[a+288>>2]=d;iDa(d,c)|0}if(!e){b[i>>0]=1;u=g;return}c=FQa((nCa(e)|0)+1|0)|0;f[a+296>>2]=c;iDa(c,e)|0;b[i>>0]=1;u=g;return}function UZ(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=u;u=u+16|0;d=c;if(a>>>0<9){e=188504+a|0;g=b[e>>0]|0;u=c;return g|0}f[d>>2]=0;f[d+4>>2]=0;h=JV(d,22)|0;i=188467;j=h+22|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));EP(-215,d,188490,187767,523);KV(d);e=188504+a|0;g=b[e>>0]|0;u=c;return g|0}function VZ(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+16|0;e=d;g=b[188504+(a&7)>>0]|0;f[e>>2]=(a>>>3&511)+1;f[e+4>>2]=g;lDa(c,189252,e)|0;if(b[c+2>>0]|0){h=0;i=c+h|0;u=d;return i|0}h=(b[c>>0]|0)==49&1;i=c+h|0;u=d;return i|0}function WZ(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;e=u;u=u+16|0;g=e;if(!a){h=0;u=e;return h|0}i=nCa(a)|0;if(!i){h=0;u=e;return h|0}f[c>>2]=0;j=d<<1;if((i|0)>0){d=~a;k=g+4|0;l=g+4|0;m=g+4|0;n=0;o=0;p=0;while(1){q=a+n|0;r=b[q>>0]|0;s=r<<24>>24;do if((r+-48&255)<10){if(((b[a+(n+1)>>0]|0)+-48&255)<10){f[g>>2]=0;t=_Da(q,g,10)|0;v=t;w=(f[g>>2]|0)+d|0}else{v=s+-48|0;w=n}if((v|0)<1){f[g>>2]=0;f[k>>2]=0;x=JV(g,31)|0;y=188513;z=x+31|0;do{b[x>>0]=b[y>>0]|0;x=x+1|0;y=y+1|0}while((x|0)<(z|0));EP(-5,g,188545,187767,568);KV(g);A=o;B=w;C=v}else{A=o;B=w;C=v}}else{t=yCa(188504,s,9)|0;if(!t){f[g>>2]=0;f[l>>2]=0;x=JV(g,31)|0;y=188513;z=x+31|0;do{b[x>>0]=b[y>>0]|0;x=x+1|0;y=y+1|0}while((x|0)<(z|0));EP(-5,g,188561,187767,531);KV(g);D=c+(o<<2)|0;E=D;F=f[D>>2]|0}else{E=c+(o<<2)|0;F=p}D=t-188504|0;if(!F)f[E>>2]=1;f[c+(o+1<<2)>>2]=D;if((o|0)>0?(D|0)==(f[c+(o+-1<<2)>>2]|0):0){D=c+(o+-2<<2)|0;f[D>>2]=(f[D>>2]|0)+(f[E>>2]|0);A=o;B=n;C=0;break}D=o+2|0;if((D|0)<(j|0)){A=D;B=n;C=0}else{f[g>>2]=0;f[m>>2]=0;x=JV(g,32)|0;y=188577;z=x+32|0;do{b[x>>0]=b[y>>0]|0;x=x+1|0;y=y+1|0}while((x|0)<(z|0));EP(-5,g,188545,187767,584);KV(g);A=D;B=n;C=0}}while(0);f[c+(A<<2)>>2]=C;n=B+1|0;if((n|0)>=(i|0)){G=A;break}else{o=A;p=C}}}else G=0;h=(G|0)/2|0;u=e;return h|0}function XZ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+512|0;d=c;e=WZ(a,d,128)|0;a=e<<1;if((e|0)>0){e=b;g=0;while(1){h=f[d+((g|1)<<2)>>2]|0;i=(h>>>3&511)+1<<(47696>>>(h<<1&14)&3);h=(e+-1+i&0-i)+(X(i,f[d+(g<<2)>>2]|0)|0)|0;g=g+2|0;if((g|0)>=(a|0)){j=h;break}else e=h}}else j=b;if(b|0){k=j;u=c;return k|0}b=f[d+4>>2]|0;d=(b>>>3&511)+1<<(47696>>>(b<<1&14)&3);k=j+-1+d&0-d;u=c;return k|0}function YZ(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;d=u;u=u+512|0;e=d;g=WZ(a,e,128)|0;h=g<<1;if((g|0)>0){g=c;i=0;while(1){j=f[e+((i|1)<<2)>>2]|0;k=(j>>>3&511)+1<<(47696>>>(j<<1&14)&3);j=(g+-1+k&0-k)+(X(k,f[e+(i<<2)>>2]|0)|0)|0;i=i+2|0;if((i|0)>=(h|0)){l=j;break}else g=j}}else l=c;if(!c){c=f[e+4>>2]|0;e=(c>>>3&511)+1<<(47696>>>(c<<1&14)&3);m=l+-1+e&0-e}else m=l;l=b[a>>0]|0;if(!(l<<24>>24)){n=0;o=m+-1|0;p=o+n|0;q=0-n|0;r=p&q;u=d;return r|0}else{s=0;t=a;v=l}while(1){switch(v<<24>>24|0){case 117:{w=(s|0)==0?1:s;break}case 99:{w=(s|0)==0?1:s;break}case 119:{w=s>>>0>2?s:2;break}case 115:{w=s>>>0>2?s:2;break}case 105:{w=s>>>0>4?s:4;break}case 102:{w=s>>>0>4?s:4;break}case 100:{w=s>>>0>8?s:8;break}default:w=s}t=t+1|0;v=b[t>>0]|0;if(!(v<<24>>24)){n=w;break}else s=w}o=m+-1|0;p=o+n|0;q=0-n|0;r=p&q;u=d;return r|0}function ZZ(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=u;u=u+528|0;d=c+8|0;e=c;g=(WZ(a,d,128)|0)!=1;a=f[d>>2]|0;if(g|(a|0)>511){f[e>>2]=0;f[e+4>>2]=0;g=JV(e,33)|0;h=188610;i=g+33|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));EP(-2,e,188644,187767,646);KV(e)}u=c;return (a<<3)+-8|f[d+4>>2]&7|0}function _Z(a){a=a|0;return}function $Z(a,b,c){a=a|0;b=b|0;c=+c;if((f[a>>2]|0)==(f[a+4>>2]|0))return;zg[f[(f[b>>2]|0)+8>>2]&511](b,a);return}function a_(){return 1}function b_(){return 1}function c_(){return 0}function d_(){var a=0,b=0;a=u;u=u+48|0;b=a;f[b>>2]=0;f[b+4>>2]=40;f[b+16>>2]=188690;f[b+12>>2]=0;f[b+8>>2]=0;f[b+20>>2]=156;f[b+24>>2]=919;f[b+36>>2]=157;f[b+28>>2]=116;f[b+32>>2]=136;ZW(b);f[114851]=f[114849];f[b>>2]=0;f[b+4>>2]=40;f[b+16>>2]=188706;f[b+12>>2]=0;f[b+8>>2]=0;f[b+20>>2]=156;f[b+24>>2]=919;f[b+36>>2]=157;f[b+28>>2]=117;f[b+32>>2]=136;ZW(b);f[114852]=f[114849];f[b>>2]=0;f[b+4>>2]=40;f[b+16>>2]=188727;f[b+12>>2]=0;f[b+8>>2]=0;f[b+20>>2]=158;f[b+24>>2]=920;f[b+36>>2]=159;f[b+28>>2]=118;f[b+32>>2]=137;ZW(b);f[114853]=f[114849];f[b>>2]=0;f[b+4>>2]=40;f[b+16>>2]=188740;f[b+12>>2]=0;f[b+8>>2]=0;f[b+20>>2]=160;f[b+24>>2]=921;f[b+36>>2]=161;f[b+28>>2]=119;f[b+32>>2]=138;ZW(b);f[114854]=f[114849];f[b>>2]=0;f[b+4>>2]=40;f[b+16>>2]=188761;f[b+12>>2]=0;f[b+8>>2]=0;f[b+20>>2]=162;f[b+24>>2]=922;f[b+36>>2]=163;f[b+28>>2]=120;f[b+32>>2]=139;ZW(b);f[114855]=f[114849];f[b>>2]=0;f[b+4>>2]=40;f[b+16>>2]=188774;f[b+12>>2]=0;f[b+8>>2]=0;f[b+20>>2]=164;f[b+24>>2]=923;f[b+36>>2]=165;f[b+28>>2]=121;f[b+32>>2]=140;ZW(b);f[114856]=f[114849];f[b>>2]=0;f[b+4>>2]=40;f[b+16>>2]=188788;f[b+12>>2]=0;f[b+8>>2]=0;f[b+20>>2]=166;f[b+24>>2]=924;f[b+36>>2]=167;f[b+28>>2]=122;f[b+32>>2]=141;ZW(b);f[114857]=f[114849];u=a;return}function e_(a){a=a|0;var b=0;if(!a){b=0;return b|0}b=(f[a>>2]&-65536|0)==1117323264&1;return b|0}function f_(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=u;u=u+16|0;d=c;if(a|0){f[a>>2]=0;u=c;return}f[d>>2]=0;f[d+4>>2]=0;e=JV(d,19)|0;g=190192;h=e+19|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));EP(-27,d,190668,188881,510);KV(d);f[a>>2]=0;u=c;return}function g_(a){a=a|0;var b=0,c=0,d=0,e=0;b=u;u=u+16|0;c=b+8|0;d=b;e=d;f[e>>2]=0;f[e+4>>2]=0;f[d+4>>2]=1073741823;f[c>>2]=f[d>>2];f[c+4>>2]=f[d+4>>2];d=SM(a,c,0,1)|0;u=b;return d|0}function h_(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;d=u;u=u+560|0;e=d+528|0;g=d+16|0;h=d+8|0;i=d;f[h>>2]=0;j=IW(a,c,189503)|0;if((j|0)!=0?(f[j>>2]&7|0)==3:0)k=f[j+8+4>>2]|0;else k=0;j=IW(a,c,190453)|0;a:do if(!j)l=-1;else switch(f[j>>2]&7){case 1:{l=f[j+8>>2]|0;break a;break}case 2:{l=AEa(+p[j+8>>3])|0;break a;break}default:{l=2147483647;break a}}while(0);j=IW(a,c,188813)|0;if((j|0)!=0?(f[j>>2]&7|0)==3:0){m=f[j+8+4>>2]|0;if((k|0)!=0&(l|0)!=-1&(m|0)!=0)n=m;else{o=m;q=11}}else{o=0;q=11}if((q|0)==11){f[i>>2]=0;f[i+4>>2]=0;r=JV(i,48)|0;s=190459;t=r+48|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));EP(-2,i,190508,188881,723);KV(i);n=o}if(((b[k>>0]|0)+-48&255)>=10){o=(qCa(k,190519)|0)==0;m=o?1117323264:1117327360;o=(qCa(k,190525)|0)==0;j=o?m:m|16384;m=(qCa(k,190532)|0)==0;o=m?j:j|32768;if(!(qCa(k,190537)|0))v=ZZ(n)|0|o;else v=o}else{o=_Da(k,h,16)|0;if(!((o&-65536|0)==1117323264?(f[h>>2]|0)!=(k|0):0)){f[i>>2]=0;f[i+4>>2]=0;r=JV(i,30)|0;s=189920;t=r+30|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));EP(-2,i,190508,188881,740);KV(i)}v=o&33279|o<<2&16384|((o&3584|0)==512?1117327360:1117323264)}o=IW(a,c,189572)|0;if((o|0)!=0?(f[o>>2]&7|0)==3:0)w=f[o+8+4>>2]|0;else w=0;o=IW(a,c,189690)|0;k=(w|0)!=0;h=(o|0)!=0;j=h&1;if(k^h){f[i>>2]=0;f[i+4>>2]=0;r=JV(i,74)|0;s=189951;t=r+74|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));EP(-2,i,190508,188881,774);KV(i)}m=IW(a,c,328169)|0;x=IW(a,c,189207)|0;y=(m|0)!=0;z=(x|0)!=0;if(((y&1)+j+(z&1)|0)>>>0>1){f[i>>2]=0;f[i+4>>2]=0;r=JV(i,66)|0;s=190545;t=r+66|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));EP(-2,i,190508,188881,780);KV(i)}if(k)A=XZ(w,56)|0;else A=y?88:z?64:56;j=XZ(n,0)|0;B=zM(v,A,j,f[a+20>>2]|0)|0;do if(h){if(!k){f[i>>2]=0;f[i+4>>2]=0;r=JV(i,9)|0;s=189572;t=r+9|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));EP(-215,i,190508,188881,796);KV(i)}YW(a,o,B+56|0,w)}else{if(!y){if(!z)break;j=IW(a,x,189244)|0;b:do if(!j)C=0;else switch(f[j>>2]&7){case 1:{C=f[j+8>>2]|0;break b;break}case 2:{C=AEa(+p[j+8>>3])|0;break b;break}default:{C=2147483647;break b}}while(0);f[B+56>>2]=C;j=IW(a,x,189246)|0;c:do if(!j)D=0;else switch(f[j>>2]&7){case 1:{D=f[j+8>>2]|0;break c;break}case 2:{D=AEa(+p[j+8>>3])|0;break c;break}default:{D=2147483647;break c}}while(0);f[B+60>>2]=D;break}j=IW(a,m,189244)|0;d:do if(!j)E=0;else switch(f[j>>2]&7){case 1:{E=f[j+8>>2]|0;break d;break}case 2:{E=AEa(+p[j+8>>3])|0;break d;break}default:{E=2147483647;break d}}while(0);f[B+56>>2]=E;j=IW(a,m,189246)|0;e:do if(!j)F=0;else switch(f[j>>2]&7){case 1:{F=f[j+8>>2]|0;break e;break}case 2:{F=AEa(+p[j+8>>3])|0;break e;break}default:{F=2147483647;break e}}while(0);f[B+60>>2]=F;j=IW(a,m,330349)|0;f:do if(!j)G=0;else switch(f[j>>2]&7){case 1:{G=f[j+8>>2]|0;break f;break}case 2:{G=AEa(+p[j+8>>3])|0;break f;break}default:{G=2147483647;break f}}while(0);f[B+64>>2]=G;j=IW(a,m,330355)|0;g:do if(!j)H=0;else switch(f[j>>2]&7){case 1:{H=f[j+8>>2]|0;break g;break}case 2:{H=AEa(+p[j+8>>3])|0;break g;break}default:{H=2147483647;break g}}while(0);f[B+68>>2]=H;j=IW(a,c,189676)|0;h:do if(!j)I=0;else switch(f[j>>2]&7){case 1:{I=f[j+8>>2]|0;break h;break}case 2:{I=AEa(+p[j+8>>3])|0;break h;break}default:{I=2147483647;break h}}while(0);f[B+72>>2]=I}while(0);QM(B,0,l,0);I=WZ(n,g,128)|0;H=I<<1;if((I|0)>0){I=0;m=0;while(1){G=(f[g+(I<<2)>>2]|0)+m|0;I=I+2|0;if((I|0)>=(H|0)){J=G;break}else m=G}}else J=0;m=IW(a,c,188816)|0;if(!m){f[i>>2]=0;f[i+4>>2]=0;r=JV(i,43)|0;s=189352;t=r+43|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));EP(-2,i,190508,188881,823);KV(i)}c=f[m>>2]&7;if(c>>>0>4)K=f[(f[m+8>>2]|0)+24>>2]|0;else K=(c|0)!=0&1;if((K|0)!=(X(J,l)|0)){f[i>>2]=0;f[i+4>>2]=0;r=JV(i,55)|0;s=190612;t=r+55|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));EP(-2,i,190508,188881,826);KV(i)}WW(a,m,e);m=B+52|0;i=f[m>>2]|0;if(!i){u=d;return B|0}else L=i;while(1){i=X(f[L+12>>2]|0,J)|0;XW(a,e,i,f[L+16>>2]|0,n);if((L|0)==(f[f[m>>2]>>2]|0)){q=76;break}L=f[L+4>>2]|0;if(!L){q=76;break}}if((q|0)==76){u=d;return B|0}return 0}function i_(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+48|0;g=e+32|0;h=e+8|0;i=e+24|0;j=e;k=LW(d,190407)|0;if((((k|0?mCa(k,190417)|0:0)?mCa(k,452522)|0:0)?mCa(k,190419)|0:0)?mCa(k,190425)|0:0){f[i>>2]=0;f[i+4>>2]=0;f[g>>2]=f[i>>2];f[g+4>>2]=f[i+4>>2];PW(a,b,6,188706,g);f[j>>2]=0;f[j+4>>2]=0;f[g>>2]=f[j>>2];f[g+4>>2]=f[j+4>>2];PW(a,190228,5,0,g);bN(h,c,2147483647);g=f[h>>2]|0;if(g|0){j=d+4|0;i=h+4|0;k=g;do{F_(a,0,k,f[d>>2]|0,f[j>>2]|0,f[i>>2]|0);cN(h)|0;k=f[h>>2]|0}while((k|0)!=0)}QW(a);QW(a);u=e;return}F_(a,b,c,f[d>>2]|0,f[d+4>>2]|0,-1);u=e;return}function j_(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;d=u;u=u+48|0;e=d+8|0;g=d;h=IW(a,c,190228)|0;if(!((h|0)!=0?(f[h>>2]&7|0)==5:0)){f[g>>2]=0;f[g+4>>2]=0;i=JV(g,90)|0;j=190238;k=i+90|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-212,g,190329,188881,856);KV(g)}c=f[h+8>>2]|0;h=f[c+24>>2]|0;EM(c,e,0);if((h|0)<=0){l=0;u=d;return l|0}m=e+12|0;n=g+4|0;o=g+4|0;q=c+28|0;c=e+20|0;r=0;s=0;t=0;v=0;w=0;x=0;while(1){y=f[m>>2]|0;z=v;v=JW(a,y,0)|0;if(!v){f[g>>2]=0;f[n>>2]=0;A=JV(g,3)|0;b[A>>0]=b[191038]|0;b[A+1>>0]=b[191039]|0;b[A+2>>0]=b[191040]|0;EP(-215,g,190329,188881,868);KV(g)}A=IW(a,y,190344)|0;a:do if(A){switch(f[A>>2]&7){case 1:{B=f[A+8>>2]|0;break}case 2:{B=AEa(+p[A+8>>3])|0;break}default:{C=2147483647;break a}}if((B|0)<0){D=B;E=13}else C=B}else{D=-1;E=13}while(0);if((E|0)==13){E=0;f[g>>2]=0;f[o>>2]=0;i=JV(g,56)|0;j=190350;k=i+56|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-212,g,190329,188881,871);KV(g);C=D}A=(r|0)==0;y=A?v:x;r=A?v:r;if((C|0)<=(t|0)){if((C|0)<(t|0)){A=t;F=z;while(1){G=f[F+16>>2]|0;if((A|0)>(C|0)){A=A+-1|0;F=G}else{H=G;I=F;break}}}else{H=s;I=z}f[v+8>>2]=I;if(!I)J=H;else{f[I+12>>2]=v;J=H}}else{if(z|0)f[z+20>>2]=v;f[v+8>>2]=0;J=z}f[v+16>>2]=J;F=(f[m>>2]|0)+(f[q>>2]|0)|0;f[m>>2]=F;if(F>>>0>=(f[c>>2]|0)>>>0)MM(e,1);w=w+1|0;if((w|0)>=(h|0)){l=y;break}else{s=J;t=C;x=y}}u=d;return l|0}function k_(a){a=a|0;if(!a)return 0;else return (f[a>>2]&-53248|0)==1117261824|0;return 0}function l_(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=u;u=u+16|0;d=c;if(a|0){f[a>>2]=0;u=c;return}f[d>>2]=0;f[d+4>>2]=0;e=JV(d,19)|0;g=190192;h=e+19|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));EP(-27,d,190212,188881,912);KV(d);f[a>>2]=0;u=c;return}function m_(a){a=a|0;return $M(a,0)|0}function n_(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0;d=u;u=u+672|0;e=d;g=d+160|0;h=d+152|0;i=d+24|0;j=d+16|0;k=d+8|0;f[h>>2]=0;l=IW(a,c,189503)|0;if((l|0)!=0?(f[l>>2]&7|0)==3:0)m=f[l+8+4>>2]|0;else m=0;l=IW(a,c,189522)|0;if((l|0)!=0?(f[l>>2]&7|0)==3:0)n=f[l+8+4>>2]|0;else n=0;l=IW(a,c,189543)|0;if((l|0)!=0?(f[l>>2]&7|0)==3:0)o=f[l+8+4>>2]|0;else o=0;l=IW(a,c,189509)|0;a:do if(!l)q=-1;else switch(f[l>>2]&7){case 1:{q=f[l+8>>2]|0;break a;break}case 2:{q=AEa(+p[l+8>>3])|0;break a;break}default:{q=2147483647;break a}}while(0);l=IW(a,c,189532)|0;b:do if(!l)r=-1;else switch(f[l>>2]&7){case 1:{r=f[l+8>>2]|0;break b;break}case 2:{r=AEa(+p[l+8>>3])|0;break b;break}default:{r=2147483647;break b}}while(0);if(!((o|0)!=0&(((m|0)==0|(q|0)==-1|(r|0)==-1)^1))){f[i>>2]=0;f[i+4>>2]=0;s=JV(i,45)|0;t=189861;v=s+45|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-2,i,189907,188881,1087);KV(i)}if(!(ODa(b[m>>0]|0)|0))w=(qCa(m,189494)|0)==0;else{l=_Da(m,h,16)|0;if(!((l&-65536|0)==1117257728?(f[h>>2]|0)!=(m|0):0)){f[i>>2]=0;f[i+4>>2]=0;s=JV(i,30)|0;t=189920;v=s+30|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-2,i,189907,188881,1100);KV(i)}w=(l&4096|0)==0}l=w?1117261824:1117278208;w=IW(a,c,189572)|0;if((w|0)!=0?(f[w>>2]&7|0)==3:0)x=f[w+8+4>>2]|0;else x=0;w=IW(a,c,189690)|0;m=(x|0)!=0;y=(w|0)!=0;if(m^y){f[i>>2]=0;f[i+4>>2]=0;s=JV(i,74)|0;t=189951;v=s+74|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-2,i,189907,188881,1115);KV(i)}if(m)z=XZ(x,68)|0;else z=68;A=(n|0)==0;if(!A){B=XZ(n,0)|0;C=XZ(n,8)|0;D=WZ(o,g,128)|0;E=D<<1;if((D|0)>0){D=0;F=0;while(1){G=(f[g+(F<<2)>>2]|0)+D|0;F=F+2|0;if((F|0)>=(E|0)){H=C;I=B;J=G;K=g;break}else D=G}}else{H=C;I=B;J=0;K=g}}else{H=8;I=0;J=0;K=g}B=WZ(o,K,128)|0;if(!((((B|0)>1&(f[K>>2]|0)==2?(f[g+4>>2]|0)==4:0)?(f[g+8>>2]|0)>=1:0)?(f[g+12>>2]|0)==5:0)){f[j>>2]=0;f[j+4>>2]=0;s=JV(j,52)|0;t=190026;v=s+52|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-5,j,189907,188881,1141);KV(j)}if((B|0)<=2)if((B|0)>0){L=4;M=44}else{N=0;O=4}else{K=f[g+20>>2]|0;L=((K>>>3&511)+1<<(47696>>>(K<<1&14)&3)|0)>7?8:4;M=44}if((M|0)==44){K=B<<1;B=0;C=0;while(1){D=(f[g+(C<<2)>>2]|0)+B|0;C=C+2|0;if((C|0)>=(K|0)){N=D;O=L;break}else B=D}}B=o+2|0;L=b[B>>0]|0;switch(L<<24>>24){case 102:{M=48;break}case 49:{if((b[o+3>>0]|0)==102)M=48;else M=49;break}default:M=49}if((M|0)==48)P=o+3+((L+-48&255)<10&1)|0;else if((M|0)==49){M=(_Da(B,h,10)|0)+-1|0;B=f[h>>2]|0;f[e>>2]=M;f[e+4>>2]=B;lDa(i,190079,e)|0;P=i}e=XZ(P,24)|0;P=XZ(o,0)|0;B=XM(l,z,H,e,f[a+20>>2]|0)|0;if(y){if(!m){f[i>>2]=0;f[i+4>>2]=0;s=JV(i,9)|0;t=189572;v=s+9|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,i,189907,188881,1168);KV(i)}YW(a,w,B+68|0,x)}x=I*3|0;w=(x|0)>65536?x:65536;x=P*3|0;m=(x|0)<(w|0)?w:x;x=eX(m)|0;w=eX(q<<2)|0;y=IW(a,c,189557)|0;z=IW(a,c,189566)|0;if(!z){f[i>>2]=0;f[i+4>>2]=0;s=JV(i,13)|0;t=190085;v=s+13|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-5,i,189907,188881,1180);KV(i)}if(!(A|(y|0)!=0)){f[i>>2]=0;f[i+4>>2]=0;s=JV(i,16)|0;t=190099;v=s+16|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-5,i,189907,188881,1182);KV(i)}A=k+4|0;c=O+-1|0;l=0-O|0;O=k+4|0;M=0;while(1){h=(M|0)==0;L=h?n:o;K=h?H:e;C=h?I:P;g=h?J:N;D=h?q:r;E=(m>>>0)/(((C|0)>1?C:1)>>>0)|0;F=(L|0)!=0;if(F)WW(a,h?y:z,i);c:do if((D|0)>0){G=(K|0)>24;Q=K+-24|0;if(F){R=0;S=x;T=0}else{U=x;V=0;while(1){if(!h){f[j>>2]=0;W=f[U>>2]|0;Y=f[U+4>>2]|0;if(!(W>>>0>>0&Y>>>0>>0)){f[k>>2]=0;f[O>>2]=0;s=JV(k,46)|0;t=190116;v=s+46|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-211,k,189907,188881,1227);KV(k)}if(!(_M(B,f[w+(W<<2)>>2]|0,f[w+(Y<<2)>>2]|0,0,j)|0)){f[k>>2]=0;f[A>>2]=0;s=JV(k,28)|0;t=190163;v=s+28|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-5,k,189907,188881,1233);KV(k)}Y=f[j>>2]|0;f[Y+4>>2]=f[U+8>>2];if(G)DVa(Y+24|0,c+(U+12)&l|0,Q|0)|0}else{YM(B,0,j)|0;f[w+(V<<2)>>2]=f[j>>2]}V=V+1|0;if((D|0)<=(V|0))break c;else U=U+C|0}}while(1){U=D-T|0;V=X((U|0)>(E|0)?E:U,g)|0;if(!R){XW(a,i,V,x,L);Z=V;_=x}else{Z=R;_=S}if(!h){f[j>>2]=0;V=f[_>>2]|0;U=f[_+4>>2]|0;if(!(V>>>0>>0&U>>>0>>0)){f[k>>2]=0;f[O>>2]=0;s=JV(k,46)|0;t=190116;v=s+46|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-211,k,189907,188881,1227);KV(k)}if(!(_M(B,f[w+(V<<2)>>2]|0,f[w+(U<<2)>>2]|0,0,j)|0)){f[k>>2]=0;f[A>>2]=0;s=JV(k,28)|0;t=190163;v=s+28|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-5,k,189907,188881,1233);KV(k)}U=f[j>>2]|0;f[U+4>>2]=f[_+8>>2];if(G)DVa(U+24|0,c+(_+12)&l|0,Q|0)|0}else{YM(B,0,j)|0;f[w+(T<<2)>>2]=f[j>>2];DVa((f[j>>2]|0)+8|0,_|0,C|0)|0}T=T+1|0;if((D|0)<=(T|0))break;else{R=Z+-1|0;S=_+C|0}}}while(0);if((M|0)<1)M=M+1|0;else break}fX(x);fX(w);u=d;return B|0}function o_(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;e=u;u=u+960|0;g=e+56|0;h=e;i=e+24|0;j=e+824|0;k=e+696|0;l=e+568|0;m=e+16|0;n=e+8|0;o=f[c+60>>2]|0;p=c+64|0;q=f[(f[p>>2]|0)+60>>2]|0;r=eX(o<<2)|0;EM(c,i,0);s=c+24|0;if((f[s>>2]|0)>0){t=i+12|0;v=c+28|0;w=i+20|0;x=0;y=0;while(1){z=f[t>>2]|0;A=f[z>>2]|0;if((A|0)>-1){f[r+(x<<2)>>2]=A;f[z>>2]=x;B=x+1|0}else B=x;A=z+(f[v>>2]|0)|0;f[t>>2]=A;if(A>>>0>=(f[w>>2]|0)>>>0)MM(i,1);y=y+1|0;if((y|0)>=(f[s>>2]|0))break;else x=B}}f[m>>2]=0;f[m+4>>2]=0;f[g>>2]=f[m>>2];f[g+4>>2]=f[m+4>>2];PW(a,b,6,188727,g);TW(a,189503,f[c>>2]&16384|0?189494:1079437,1);RW(a,189509,o);o=D_(c,189522,d,8,k)|0;if(o|0)TW(a,189522,o,0);RW(a,189532,q);q=D_(f[p>>2]|0,189543,d,24,j)|0;f[h>>2]=q|0?q:1079437;lDa(l,189551,h)|0;TW(a,189543,l,0);E_(a,c,d,68);d=c+28|0;h=(f[d>>2]|0)*3|0;q=(h|0)>65536?h:65536;h=(f[(f[p>>2]|0)+28>>2]|0)*3|0;j=(h|0)<(q|0)?q:h;h=eX(j)|0;q=g+20|0;k=n+4|0;b=i+12|0;m=i+20|0;B=0;do{x=(B|0)==0;y=x?o:l;if(y|0){if(x)C=c;else C=f[p>>2]|0;w=C+28|0;t=f[w>>2]|0;v=XZ(y,0)|0;A=(j|0)/(v|0)|0;if((B|0)==1){if((WZ(y,g,128)|0)>2){z=f[q>>2]|0;D=((z>>>3&511)+1<<(47696>>>(z<<1&14)&3)|0)>7?8:4}else D=4;E=D}else E=4;f[n>>2]=0;f[k>>2]=0;f[g>>2]=f[n>>2];f[g+4>>2]=f[n+4>>2];PW(a,x?189557:189566,13,0,g);EM(C,i,0);z=C+24|0;if((f[z>>2]|0)>0){F=t+-24|0;G=E+-1|0;H=0-E|0;if(!x)if((t|0)>24){t=0;x=h;I=0;while(1){J=f[b>>2]|0;if((f[J>>2]|0)>-1){K=x+3&-4;L=K;f[K>>2]=f[f[J+16>>2]>>2];f[L+4>>2]=f[f[J+20>>2]>>2];f[L+8>>2]=f[J+4>>2];DVa(G+(L+12)&H|0,J+24|0,F|0)|0;J=t+1|0;if((J|0)<(A|0)){M=J;N=L+v|0}else{VW(a,h,J,y);M=0;N=h}}else{M=t;N=x}J=(f[b>>2]|0)+(f[w>>2]|0)|0;f[b>>2]=J;if(J>>>0>=(f[m>>2]|0)>>>0)MM(i,1);I=I+1|0;if((I|0)>=(f[z>>2]|0)){O=M;break}else{t=M;x=N}}}else{x=0;t=h;I=0;while(1){F=f[b>>2]|0;if((f[F>>2]|0)>-1){H=t+3&-4;G=H;f[H>>2]=f[f[F+16>>2]>>2];f[G+4>>2]=f[f[F+20>>2]>>2];f[G+8>>2]=f[F+4>>2];H=x+1|0;if((H|0)<(A|0)){P=H;Q=G+v|0;R=F}else{VW(a,h,H,y);P=0;Q=h;R=f[b>>2]|0}}else{P=x;Q=t;R=F}F=R+(f[w>>2]|0)|0;f[b>>2]=F;if(F>>>0>=(f[m>>2]|0)>>>0)MM(i,1);I=I+1|0;if((I|0)>=(f[z>>2]|0)){O=P;break}else{x=P;t=Q}}}else{t=0;x=h;I=0;while(1){F=f[b>>2]|0;if((f[F>>2]|0)>-1){DVa(x|0,F+8|0,v|0)|0;F=t+1|0;if((F|0)<(A|0)){S=F;T=x+v|0}else{VW(a,h,F,y);S=0;T=h}}else{S=t;T=x}F=(f[b>>2]|0)+(f[w>>2]|0)|0;f[b>>2]=F;if(F>>>0>=(f[m>>2]|0)>>>0)MM(i,1);I=I+1|0;if((I|0)>=(f[z>>2]|0)){O=S;break}else{t=S;x=T}}}if((O|0)>0)VW(a,h,O,y)}QW(a)}B=B+1|0}while((B|0)!=2);QW(a);EM(c,i,0);c=f[s>>2]|0;if((c|0)<=0){fX(h);fX(r);u=e;return}a=0;B=0;O=c;while(1){c=f[b>>2]|0;if((f[c>>2]|0)>-1){f[c>>2]=f[r+(a<<2)>>2];U=a+1|0}else U=a;T=c+(f[d>>2]|0)|0;f[b>>2]=T;if(T>>>0<(f[m>>2]|0)>>>0)V=O;else{MM(i,1);V=f[s>>2]|0}B=B+1|0;if((B|0)>=(V|0))break;else{a=U;O=V}}fX(h);fX(r);u=e;return}function p_(a){a=a|0;var b=0;if(!a){b=0;return b|0}b=(f[a>>2]&-65536|0)==1111752704&1;return b|0}function q_(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;d=u;u=u+8240|0;e=d+8200|0;g=d+4104|0;h=d+8|0;i=d;j=IW(a,c,188805)|0;k=IW(a,c,188813)|0;if((k|0)!=0?(f[k>>2]&7|0)==3:0){l=f[k+8+4>>2]|0;if((j|0)!=0&(l|0)!=0)m=l;else{n=l;o=4}}else{n=0;o=4}if((o|0)==4){f[h>>2]=0;f[h+4>>2]=0;p=JV(h,46)|0;q=188821;r=p+46|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));EP(-2,h,189396,188881,312);KV(h);m=n}n=f[j>>2]&7;if((n|0)==5)s=f[(f[j+8>>2]|0)+24>>2]|0;else s=(n|0)==1?1:-1;n=s+-1|0;if(n>>>0>31){f[h>>2]=0;f[h+4>>2]=0;p=JV(h,48)|0;q=189413;r=p+48|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));EP(-212,h,189396,188881,318);KV(h)}YW(a,j,g,188811);j=ZZ(m)|0;o=IW(a,c,188816)|0;if(!((o|0)!=0?(f[o>>2]&7|0)==5:0)){f[h>>2]=0;f[h+4>>2]=0;p=JV(h,44)|0;q=188993;r=p+44|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));EP(-2,h,189396,188881,325);KV(h)}c=ZV(s,g,j)|0;g=j>>>3&511;j=g+1|0;l=f[o+8>>2]|0;WW(a,o,e);o=l+24|0;if((f[o>>2]|0)<=0){t=c;u=d;return t|0}k=e+12|0;v=h+(n<<2)|0;w=l+28|0;l=e+20|0;x=g+2|0;g=i+4|0;y=i+4|0;z=0;do{A=f[k>>2]|0;if((f[A>>2]&7|0)!=1){f[i>>2]=0;f[y>>2]=0;p=JV(i,31)|0;q=189462;r=p+31|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));EP(-212,i,189396,188881,340);KV(i)}B=f[A+8>>2]|0;C=(z|0)>0;if(!(C&(B|0)>-1)){if(C)D=n+B|0;else{f[h>>2]=B;D=1}if((D|0)<(s|0)){C=D;E=z;while(1){F=(f[k>>2]|0)+(f[w>>2]|0)|0;f[k>>2]=F;if(F>>>0<(f[l>>2]|0)>>>0)G=F;else{MM(e,1);G=f[k>>2]|0}F=E+1|0;if((f[G>>2]&7|0)==1?(H=f[G+8>>2]|0,(H|0)>=0):0)I=H;else{f[i>>2]=0;f[g>>2]=0;p=JV(i,31)|0;q=189462;r=p+31|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));EP(-212,i,189396,188881,356);KV(i);I=f[G+8>>2]|0}f[h+(C<<2)>>2]=I;C=C+1|0;if((C|0)>=(s|0)){J=F;break}else E=F}}else J=z}else{f[v>>2]=B;J=z}E=(f[k>>2]|0)+(f[w>>2]|0)|0;f[k>>2]=E;if(E>>>0>=(f[l>>2]|0)>>>0)MM(e,1);XW(a,e,j,iW(c,h,0,1,0)|0,m);z=x+J|0}while((z|0)<(f[o>>2]|0));t=c;u=d;return t|0}function r_(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+112|0;e=d+80|0;g=d+76|0;i=d+64|0;j=d+32|0;k=d+16|0;l=d+88|0;m=d+24|0;n=d+8|0;o=d;p=qM(0)|0;f[g>>2]=p;f[m>>2]=0;f[m+4>>2]=0;f[e>>2]=f[m>>2];f[e+4>>2]=f[m+4>>2];PW(a,b,6,188740,e);b=fW(c,0)|0;f[k>>2]=b;f[n>>2]=0;f[n+4>>2]=0;f[e>>2]=f[n>>2];f[e+4>>2]=f[n+4>>2];PW(a,188805,13,0,e);VW(a,c+36|0,b,188811);QW(a);TW(a,188813,VZ(f[c>>2]&4095,l)|0,0);f[o>>2]=0;f[o+4>>2]=0;f[e>>2]=f[o>>2];f[e+4>>2]=f[o+4>>2];PW(a,188816,13,0,e);o=zM(7,56,4,p)|0;p=aW(c,i)|0;if(p|0){b=c+32|0;n=i+4|0;m=i+8|0;q=p;a:while(1){f[e>>2]=q+(f[b>>2]|0);OM(o,e)|0;p=f[(f[n>>2]|0)+4>>2]|0;if(!p){r=(f[m>>2]|0)+1|0;f[m>>2]=r;s=f[i>>2]|0;t=f[s+24>>2]|0;if((r|0)>=(t|0))break;v=f[s+20>>2]|0;s=r;while(1){w=f[v+(s<<2)>>2]|0;if(w|0)break;r=s+1|0;if((r|0)<(t|0))s=r;else break a}f[m>>2]=s;x=w}else x=p;f[n>>2]=x;q=x}}TM(o,83,k);EM(o,j,0);x=o+24|0;if((f[x>>2]|0)<=0){QW(a);QW(a);sM(g);u=d;return}o=j+12|0;q=j+20|0;n=c+32|0;w=c+28|0;c=a+236|0;m=0;i=0;do{e=f[o>>2]|0;b=i;i=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;t=e+4|0;f[o>>2]=t;if(t>>>0>=(f[q>>2]|0)>>>0)MM(j,1);if((m|0)>0){t=0;while(1){y=t+1|0;if((f[i+(t<<2)>>2]|0)==(f[b+(t<<2)>>2]|0))t=y;else break}b=f[k>>2]|0;if((t|0)<(b+-1|0)){Rg[f[c>>2]&255](a,0,y-b|0);z=t}else z=t}else z=0;if((z|0)<(f[k>>2]|0)){b=z;do{Rg[f[c>>2]&255](a,0,f[i+(b<<2)>>2]|0);b=b+1|0}while((b|0)<(f[k>>2]|0))}VW(a,i+(0-(f[n>>2]|0))+(f[w>>2]|0)|0,1,l);m=m+1|0}while((m|0)<(f[x>>2]|0));QW(a);QW(a);sM(g);u=d;return}function s_(a){a=a|0;var b=0;if(!a){b=0;return b|0}b=(f[a>>2]|0)==112&1;return b|0}function t_(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;d=u;u=u+80|0;e=d+56|0;g=d+16|0;h=d+48|0;i=d;j=IW(a,c,330349)|0;a:do if(!j)k=0;else switch(f[j>>2]&7){case 1:{k=f[j+8>>2]|0;break a;break}case 2:{k=AEa(+p[j+8>>3])|0;break a;break}default:{k=2147483647;break a}}while(0);j=IW(a,c,330355)|0;b:do if(!j)l=0;else switch(f[j>>2]&7){case 1:{l=f[j+8>>2]|0;break b;break}case 2:{l=AEa(+p[j+8>>3])|0;break b;break}default:{l=2147483647;break b}}while(0);j=IW(a,c,188813)|0;if((j|0)!=0?(f[j>>2]&7|0)==3:0)m=f[j+8+4>>2]|0;else m=0;j=IW(a,c,189207)|0;if((j|0)!=0?(f[j>>2]&7|0)==3:0)n=f[j+8+4>>2]|0;else n=0;if((k|0)==0|(l|0)==0|(m|0)==0|(n|0)==0){f[e>>2]=0;f[e+4>>2]=0;o=JV(e,45)|0;q=189257;r=o+45|0;do{b[o>>0]=b[q>>0]|0;o=o+1|0;q=q+1|0}while((o|0)<(r|0));EP(-2,e,189303,188881,448);KV(e)}n=ZZ(m)|0;j=IW(a,c,189233)|0;if(j)if((f[j>>2]&7|0)==3?(s=f[j+8+4>>2]|0,(s|0)!=0):0){t=s;v=20}else v=21;else{t=189221;v=20}if((v|0)==20?mCa(t,189221)|0:0)v=21;if((v|0)==21){f[e>>2]=0;f[e+4>>2]=0;o=JV(e,35)|0;q=189316;r=o+35|0;do{b[o>>0]=b[q>>0]|0;o=o+1|0;q=q+1|0}while((o|0)<(r|0));EP(-2,e,189303,188881,453);KV(e)}v=IW(a,c,188816)|0;if(!v){f[e>>2]=0;f[e+4>>2]=0;o=JV(e,43)|0;q=189352;r=o+43|0;do{b[o>>0]=b[q>>0]|0;o=o+1|0;q=q+1|0}while((o|0)<(r|0));EP(-2,e,189303,188881,457);KV(e)}t=f[v>>2]&7;if(t>>>0>4)w=f[(f[v+8>>2]|0)+24>>2]|0;else w=(t|0)!=0&1;t=X(l,k)|0;s=(n>>>3&511)+1|0;if((w|0)!=(X(s,t)|0)){f[e>>2]=0;f[e+4>>2]=0;o=JV(e,63)|0;q=189038;r=o+63|0;do{b[o>>0]=b[q>>0]|0;o=o+1|0;q=q+1|0}while((o|0)<(r|0));EP(-209,e,189303,188881,461);KV(e)}q=n&7;f[h>>2]=k;f[h+4>>2]=l;f[e>>2]=f[h>>2];f[e+4>>2]=f[h+4>>2];h=lW(e,1212424721>>>(q<<2)<<3&120|((q|0)==4|(q|2|0)==3?-2147483648:0),s)|0;q=IW(a,c,189240)|0;if(q|0){c=IW(a,q,189244)|0;c:do if(!c)x=0;else switch(f[c>>2]&7){case 1:{x=f[c+8>>2]|0;break c;break}case 2:{x=AEa(+p[c+8>>3])|0;break c;break}default:{x=2147483647;break c}}while(0);c=IW(a,q,189246)|0;d:do if(!c)y=0;else switch(f[c>>2]&7){case 1:{y=f[c+8>>2]|0;break d;break}case 2:{y=AEa(+p[c+8>>3])|0;break d;break}default:{y=2147483647;break d}}while(0);c=IW(a,q,330349)|0;e:do if(!c)z=0;else switch(f[c>>2]&7){case 1:{z=f[c+8>>2]|0;break e;break}case 2:{z=AEa(+p[c+8>>3])|0;break e;break}default:{z=2147483647;break e}}while(0);c=IW(a,q,330355)|0;f:do if(!c)A=0;else switch(f[c>>2]&7){case 1:{A=f[c+8>>2]|0;break f;break}case 2:{A=AEa(+p[c+8>>3])|0;break f;break}default:{A=2147483647;break f}}while(0);c=IW(a,q,189248)|0;g:do if(!c)B=0;else switch(f[c>>2]&7){case 1:{B=f[c+8>>2]|0;break g;break}case 2:{B=AEa(+p[c+8>>3])|0;break g;break}default:{B=2147483647;break g}}while(0);f[i>>2]=x;f[i+4>>2]=y;f[i+8>>2]=z;f[i+12>>2]=A;f[e>>2]=f[i>>2];f[e+4>>2]=f[i+4>>2];f[e+8>>2]=f[i+8>>2];f[e+12>>2]=f[i+12>>2];nW(h,e);oW(h,B)}B=X(s<<(47696>>>(n<<1&14)&3),k)|0;n=h+72|0;e=(B|0)==(f[n>>2]|0);B=e?1:l;l=X(e?t:k,s)|0;WW(a,v,g);if((B|0)<=0){u=d;return h|0}v=h+68|0;s=0;do{XW(a,g,l,(f[v>>2]|0)+(X(f[n>>2]|0,s)|0)|0,m);s=s+1|0}while((s|0)!=(B|0));u=d;return h|0}function u_(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=u;u=u+64|0;g=e+32|0;h=e;i=e+40|0;j=e+24|0;k=e+16|0;l=e+8|0;m=d+28|0;if((f[m>>2]|0)==1){f[g>>2]=0;f[g+4>>2]=0;n=JV(g,48)|0;o=189123;p=n+48|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));EP(-210,g,189172,188881,390);KV(g)}f[j>>2]=0;f[j+4>>2]=0;f[g>>2]=f[j>>2];f[g+4>>2]=f[j+4>>2];PW(a,c,6,188761,g);c=d+40|0;RW(a,330349,f[c>>2]|0);j=d+44|0;RW(a,330355,f[j>>2]|0);TW(a,189207,(f[d+32>>2]|0)==0?189186:189195,0);TW(a,189233,(f[m>>2]|0)==1?189214:189221,0);m=d+48|0;if(f[m>>2]|0){f[k>>2]=0;f[k+4>>2]=0;f[g>>2]=f[k>>2];f[g+4>>2]=f[k+4>>2];PW(a,189240,14,0,g);RW(a,189244,f[(f[m>>2]|0)+4>>2]|0);RW(a,189246,f[(f[m>>2]|0)+8>>2]|0);RW(a,330349,f[(f[m>>2]|0)+12>>2]|0);RW(a,330355,f[(f[m>>2]|0)+16>>2]|0);RW(a,189248,f[f[m>>2]>>2]|0);QW(a)}m=f[d+16>>2]|0;k=1125516576>>>((m>>>2&60)+(m>>31&20)|0);m=d+8|0;o=f[m>>2]|0;n=(UZ(k&15)|0)<<24>>24;f[h>>2]=o;f[h+4>>2]=n;lDa(i,189252,h)|0;h=i+((b[i+2>>0]|0)==0&(b[i>>0]|0)==49&1)|0;TW(a,188813,h,0);i=f[c>>2]|0;c=f[j>>2]|0;j=X(X(f[m>>2]|0,i)|0,(k>>>3&1)+1<<(47696>>>(k<<1&14)&3))|0;k=d+72|0;m=(j|0)==(f[k>>2]|0);j=X(m?c:1,i)|0;i=m?1:c;f[l>>2]=0;f[l+4>>2]=0;f[g>>2]=f[l>>2];f[g+4>>2]=f[l+4>>2];PW(a,188816,13,0,g);if((i|0)<=0){QW(a);QW(a);u=e;return}g=d+68|0;d=0;do{VW(a,(f[g>>2]|0)+(X(f[k>>2]|0,d)|0)|0,j,h);d=d+1|0}while((d|0)!=(i|0));QW(a);QW(a);u=e;return}function v_(a){a=a|0;var b=0;if(!a){b=0;return b|0}if((f[a>>2]&-65536|0)!=1111621632){b=0;return b|0}if((f[a+24>>2]|0)<=-1){b=0;return b|0}b=(f[a+20>>2]|0)>>>31^1;return b|0}function w_(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0;d=u;u=u+16|0;e=d;g=IW(a,c,189102)|0;a:do if(!g)h=-1;else switch(f[g>>2]&7){case 1:{h=f[g+8>>2]|0;break a;break}case 2:{h=AEa(+p[g+8>>3])|0;break a;break}default:{h=2147483647;break a}}while(0);g=IW(a,c,189107)|0;b:do if(!g)i=-1;else switch(f[g>>2]&7){case 1:{i=f[g+8>>2]|0;break b;break}case 2:{i=AEa(+p[g+8>>3])|0;break b;break}default:{i=2147483647;break b}}while(0);g=IW(a,c,188813)|0;if((g|0)!=0?(f[g>>2]&7|0)==3:0){j=f[g+8+4>>2]|0;if((i|h|0)>-1&(j|0)!=0)k=j;else{l=j;m=12}}else{l=0;m=12}if((m|0)==12){f[e>>2]=0;f[e+4>>2]=0;n=JV(e,46)|0;o=188821;q=n+46|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(q|0));EP(-2,e,189112,188881,82);KV(e);k=l}l=ZZ(k)|0;m=IW(a,c,188816)|0;if(!m){f[e>>2]=0;f[e+4>>2]=0;n=JV(e,44)|0;o=188993;q=n+44|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(q|0));EP(-2,e,189112,188881,88);KV(e)}c=f[m>>2]&7;if(c>>>0>4)r=f[(f[m+8>>2]|0)+24>>2]|0;else r=(c|0)!=0&1;if((r|0)<=0){s=MV(h,i,l)|0;u=d;return s|0}if((r|0)!=(X(X(i,h)|0,(l>>>3&511)+1|0)|0)){f[e>>2]=0;f[e+4>>2]=0;n=JV(e,63)|0;o=189038;q=n+63|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(q|0));EP(-209,e,189112,188881,93);KV(e)}e=LV(h,i,l)|0;YW(a,m,f[e+16>>2]|0,k);s=e;u=d;return s|0}function x_(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=u;u=u+48|0;e=d;g=d+24|0;h=d+16|0;i=d+8|0;f[h>>2]=0;f[h+4>>2]=0;f[e>>2]=f[h>>2];f[e+4>>2]=f[h+4>>2];PW(a,b,6,188774,e);RW(a,189102,f[c+20>>2]|0);RW(a,189107,f[c+24>>2]|0);TW(a,188813,VZ(f[c>>2]&4095,g)|0,0);f[i>>2]=0;f[i+4>>2]=0;f[e>>2]=f[i>>2];f[e+4>>2]=f[i+4>>2];PW(a,188816,13,0,e);gW(e,c);i=e;e=f[i>>2]|0;b=f[i+4>>2]|0;if(!((e|0)>0&(b|0)>0)){QW(a);QW(a);u=d;return}i=c+16|0;h=f[i>>2]|0;if(!h){QW(a);QW(a);u=d;return}j=(f[c>>2]&16384|0)==0;k=j?b:1;l=X(j?1:b,e)|0;if((k|0)<=0){QW(a);QW(a);u=d;return}e=c+4|0;VW(a,h,l,g);if((k|0)==1){QW(a);QW(a);u=d;return}else m=1;do{VW(a,(f[i>>2]|0)+(X(f[e>>2]|0,m)|0)|0,l,g);m=m+1|0}while((m|0)!=(k|0));QW(a);QW(a);u=d;return}function y_(a){a=a|0;var b=0;if(!a){b=0;return b|0}b=(f[a>>2]&-65536|0)==1111687168&1;return b|0}function z_(a){a=a|0;PV(a);return}function A_(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+144|0;e=d+8|0;g=d;h=e;i=h+128|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));j=IW(a,c,188805)|0;k=IW(a,c,188813)|0;if((k|0)!=0?(f[k>>2]&7|0)==3:0){l=f[k+8+4>>2]|0;if((j|0)!=0&(l|0)!=0)m=l;else{n=l;o=4}}else{n=0;o=4}if((o|0)==4){f[g>>2]=0;f[g+4>>2]=0;h=JV(g,46)|0;p=188821;i=h+46|0;do{b[h>>0]=b[p>>0]|0;h=h+1|0;p=p+1|0}while((h|0)<(i|0));EP(-2,g,188868,188881,161);KV(g);m=n}n=f[j>>2]&7;if((n|0)==5)q=f[(f[j+8>>2]|0)+24>>2]|0;else q=(n|0)==1?1:-1;if((q+-1|0)>>>0>31){f[g>>2]=0;f[g+4>>2]=0;h=JV(g,45)|0;p=188947;i=h+45|0;do{b[h>>0]=b[p>>0]|0;h=h+1|0;p=p+1|0}while((h|0)<(i|0));EP(-212,g,188868,188881,167);KV(g)}YW(a,j,e,188811);j=ZZ(m)|0;n=IW(a,c,188816)|0;if(!n){f[g>>2]=0;f[g+4>>2]=0;h=JV(g,44)|0;p=188993;i=h+44|0;do{b[h>>0]=b[p>>0]|0;h=h+1|0;p=p+1|0}while((h|0)<(i|0));EP(-2,g,188868,188881,174);KV(g)}c=(j>>>3&511)+1|0;if((q|0)>0){o=g+4|0;l=c;k=0;while(1){r=e+(k<<2)|0;s=f[r>>2]|0;if(!s){f[g>>2]=0;f[o>>2]=0;t=JV(g,8)|0;v=t;b[v>>0]=115;b[v+1>>0]=105;b[v+2>>0]=122;b[v+3>>0]=101;v=t+4|0;b[v>>0]=115;b[v+1>>0]=91;b[v+2>>0]=105;b[v+3>>0]=93;EP(-215,g,188868,188881,180);KV(g);w=f[r>>2]|0}else w=s;s=X(w,l)|0;k=k+1|0;if((k|0)>=(q|0)){x=s;break}else l=s}}else x=c;c=f[n>>2]&7;if(c>>>0>4)y=f[(f[n+8>>2]|0)+24>>2]|0;else y=(c|0)!=0&1;c=(y|0)>0;if(!((y|0)==(x|0)|c^1)){f[g>>2]=0;f[g+4>>2]=0;h=JV(g,63)|0;p=189038;i=h+63|0;do{b[h>>0]=b[p>>0]|0;h=h+1|0;p=p+1|0}while((h|0)<(i|0));EP(-209,g,188868,188881,188);KV(g)}if(c){c=SV(q,e,j)|0;YW(a,n,f[c+16>>2]|0,m);z=c;u=d;return z|0}else{z=TV(q,e,j)|0;u=d;return z|0}return 0}function B_(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+688|0;e=d+656|0;g=d+652|0;h=d+152|0;i=d+16|0;j=d+664|0;k=d+144|0;l=d+8|0;m=d;f[g>>2]=c;n=h+8|0;f[n>>2]=0;f[h+12>>2]=0;f[k>>2]=0;f[k+4>>2]=0;f[e>>2]=f[k>>2];f[e+4>>2]=f[k+4>>2];PW(a,b,6,188788,e);b=fW(c,i)|0;f[l>>2]=0;f[l+4>>2]=0;f[e>>2]=f[l>>2];f[e+4>>2]=f[l+4>>2];PW(a,188805,13,0,e);VW(a,i,b,188811);QW(a);TW(a,188813,VZ(eW(c)|0,j)|0,0);f[m>>2]=0;f[m+4>>2]=0;f[e>>2]=f[m>>2];f[e+4>>2]=f[m+4>>2];PW(a,188816,13,0,e);if((f[c+20>>2]|0)<=0){QW(a);QW(a);u=d;return}if(!(f[c+16>>2]|0)){QW(a);QW(a);u=d;return}VV(1,g,0,d+376|0,h,0)|0;g=h+16|0;do VW(a,f[g>>2]|0,f[n>>2]|0,j);while((YV(h)|0)!=0);QW(a);QW(a);u=d;return}function C_(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=f[c>>2]|0;c=f[a>>2]|0;a=f[b>>2]|0;if((d|0)>0)e=0;else{g=0;return g|0}while(1){b=(f[c+(e<<2)>>2]|0)-(f[a+(e<<2)>>2]|0)|0;e=e+1|0;if(b|0){g=b;h=4;break}if((e|0)>=(d|0)){g=0;h=4;break}}if((h|0)==4)return g|0;return 0}function D_(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=u;u=u+32|0;i=h+8|0;j=h;k=h+16|0;l=LW(d,c)|0;if(l|0){c=XZ(l,e)|0;if((c|0)==(f[a+28>>2]|0)){m=l;u=h;return m|0}f[k>>2]=0;f[k+4>>2]=0;n=JV(k,71)|0;o=189707;p=n+71|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));EP(-209,k,189779,188881,595);KV(k);m=l;u=h;return m|0}l=f[a>>2]|0;c=f[a+28>>2]|0;if(!(l&4095))if((c|0)!=1){if((c|0)<=(e|0)){m=0;u=h;return m|0}d=c-e|0;if(!(d&3)){f[j>>2]=d>>>2;lDa(g,189682,j)|0;m=g;u=h;return m|0}else{f[i>>2]=d;lDa(g,189686,i)|0;m=g;u=h;return m|0}}else q=1;else q=c;if(((l>>>3&511)+1<<(47696>>>(l<<1&14)&3)|0)==(q|0))r=l;else{f[k>>2]=0;f[k+4>>2]=0;n=JV(k,68)|0;o=189792;p=n+68|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));EP(-209,k,189779,188881,601);KV(k);r=f[a>>2]|0}m=VZ(r&4095,g)|0;u=h;return m|0}function E_(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=u;u=u+176|0;h=g+40|0;i=g+8|0;j=g;k=g+48|0;l=g+32|0;m=g+24|0;n=g+16|0;o=LW(d,189572)|0;do if(!o){d=f[c+4>>2]|0;if((d|0)<=(e|0)){u=g;return}p=f[c>>2]|0;if(((p&-65536|0)==1117323264?(d|0)==88&(p&4094|0)==12:0)?(f[c+28>>2]|0)==8:0){f[l>>2]=0;f[l+4>>2]=0;f[h>>2]=f[l>>2];f[h+4>>2]=f[l+4>>2];PW(a,328169,14,0,h);RW(a,189244,f[c+56>>2]|0);RW(a,189246,f[c+60>>2]|0);RW(a,330349,f[c+64>>2]|0);RW(a,330355,f[c+68>>2]|0);QW(a);RW(a,189676,f[c+72>>2]|0);u=g;return}if((p&-53248|0)==1117327360?((p&4095|0)==0?(f[c+28>>2]|0)==1:0):0){f[m>>2]=0;f[m+4>>2]=0;f[h>>2]=f[m>>2];f[h+4>>2]=f[m+4>>2];PW(a,189207,14,0,h);RW(a,189244,f[c+56>>2]|0);RW(a,189246,f[c+60>>2]|0);QW(a);u=g;return}p=d-e|0;if(!(p&3)){f[j>>2]=p>>>2;lDa(k,189682,j)|0;q=k;break}else{f[i>>2]=p;lDa(k,189686,i)|0;q=k;break}}else{p=XZ(o,e)|0;if((p|0)>(f[c+4>>2]|0)){f[h>>2]=0;f[h+4>>2]=0;p=JV(h,74)|0;d=189582;r=p+74|0;do{b[p>>0]=b[d>>0]|0;p=p+1|0;d=d+1|0}while((p|0)<(r|0));EP(-209,h,189657,188881,533);KV(h);q=o}else q=o}while(0);TW(a,189572,q,0);f[n>>2]=0;f[n+4>>2]=0;f[h>>2]=f[n>>2];f[h+4>>2]=f[n+4>>2];PW(a,189690,13,0,h);VW(a,c+56|0,1,q);QW(a);u=g;return}function F_(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=u;u=u+288|0;j=i+24|0;k=i;f[k>>2]=e;f[k+4>>2]=g;g=i+160|0;e=i+16|0;l=i+8|0;f[e>>2]=0;f[e+4>>2]=0;f[j>>2]=f[e>>2];f[j+4>>2]=f[e+4>>2];PW(a,c,6,188690,j);if((h|0)>-1)RW(a,190344,h);h=D_(d,188813,k,0,i+32|0)|0;b[g>>0]=0;c=f[d>>2]|0;if(c&16384|0){e=g+(nCa(g)|0)|0;m=e;b[m>>0]=32;b[m+1>>0]=99;b[m+2>>0]=108;b[m+3>>0]=111;m=e+4|0;b[m>>0]=115;b[m+1>>0]=101;b[m+2>>0]=100;b[m+3>>0]=0}if(c&32768|0){m=g+(nCa(g)|0)|0;b[m>>0]=b[190431]|0;b[m+1>>0]=b[190432]|0;b[m+2>>0]=b[190433]|0;b[m+3>>0]=b[190434]|0;b[m+4>>0]=b[190435]|0;b[m+5>>0]=b[190436]|0}if((c&12288|0)==4096){m=g+(nCa(g)|0)|0;b[m>>0]=b[190437]|0;b[m+1>>0]=b[190438]|0;b[m+2>>0]=b[190439]|0;b[m+3>>0]=b[190440]|0;b[m+4>>0]=b[190441]|0;b[m+5>>0]=b[190442]|0;b[m+6>>0]=b[190443]|0}if((c&4095|0)==0?(f[d+28>>2]|0)!=1:0){c=g+(nCa(g)|0)|0;m=190444;e=c+9|0;do{b[c>>0]=b[m>>0]|0;c=c+1|0;m=m+1|0}while((c|0)<(e|0))}TW(a,189503,g+((b[g>>0]|0)!=0&1)|0,1);RW(a,190453,f[d+24>>2]|0);TW(a,188813,h,0);E_(a,d,k,56);f[l>>2]=0;f[l+4>>2]=0;f[j>>2]=f[l>>2];f[j+4>>2]=f[l+4>>2];PW(a,188816,13,0,j);j=d+52|0;d=f[j>>2]|0;if(!d){QW(a);QW(a);u=i;return}else n=d;while(1){VW(a,f[n+16>>2]|0,f[n+12>>2]|0,h);if((n|0)==(f[f[j>>2]>>2]|0)){o=15;break}n=f[n+4>>2]|0;if(!n){o=15;break}}if((o|0)==15){QW(a);QW(a);u=i;return}}function G_(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;i=u;u=u+48|0;j=i;f[j>>2]=0;f[j+4>>2]=40;f[j+16>>2]=b;f[j+12>>2]=0;f[j+8>>2]=0;f[j+20>>2]=c;f[j+24>>2]=d;f[j+36>>2]=h;f[j+28>>2]=e;f[j+32>>2]=g;ZW(j);f[a>>2]=f[114849];u=i;return}function H_(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=I_(a,f[a+76>>2]|0,0)|0;if(!c)return;d=a+92|0;e=a+32|0;g=0;h=c;a:while(1){b:do if(!g){c=h;c:while(1){i=b[c>>0]|0;switch(i<<24>>24){case 45:{break c;break}case 37:{if(((xCa(c,190686,5)|0)==0?xCa(c,190692,8)|0:0)?xCa(c,190701,8)|0:0)JZ(a,190710,190722,190764,566);b[c>>0]=0;break}default:{if((i+-48&255)<10|((i&-33)+-65&255)<26|i<<24>>24==95){j=c;k=25;break b}if(f[d>>2]|0){l=c;break b}JZ(a,190710,190828,190764,588)}}i=I_(a,c,0)|0;if(!i){k=35;break a}else c=i}if(!(xCa(c,190682,3)|0)){m=c;k=23}else l=c}else{i=h;while(1){n=b[i>>0]|0;switch(n<<24>>24){case 37:{if(((xCa(i,190686,5)|0)==0?xCa(i,190692,8)|0:0)?xCa(i,190701,8)|0:0)JZ(a,190710,190722,190764,566);b[i>>0]=0;break}case 45:{if(!(xCa(i,190682,3)|0)){m=i;k=23;break b}break}default:{if((n+-48&255)<10|((n&-33)+-65&255)<26|n<<24>>24==95){j=i;k=25;break b}if(f[d>>2]|0){l=i;break b}JZ(a,190710,190828,190764,588)}}i=I_(a,i,0)|0;if(!i){k=35;break a}}}while(0);if((k|0)==23){k=0;l=m+3|0}else if((k|0)==25){k=0;if(g){JZ(a,190710,190858,190764,582);l=j}else l=j}i=I_(a,l,0)|0;if(xCa(i,452844,3)|0){c=OM(f[e>>2]|0,0)|0;n=J_(a,i,c,0,0)|0;if((f[c>>2]&7)>>>0<=4)JZ(a,190710,190919,190764,599);c=I_(a,n,0)|0;if(!c){k=35;break}else o=c}else o=i;if(f[d>>2]|0){k=35;break}h=I_(a,o+3|0,0)|0;if(!h){k=35;break}else g=1}if((k|0)==35)return}function I_(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=a+80|0;g=a+76|0;h=a+88|0;i=c;a:while(1){j=i;b:while(1){k=b[j>>0]|0;switch(k<<24>>24){case 35:{l=5;break b;break}case 32:break;default:break b}j=j+1|0}if((l|0)==5){l=0;b[j>>0]=0;i=j;continue}if((k&255)>31)break;switch(k<<24>>24){case 13:case 10:case 0:break;default:{JZ(a,191714,k<<24>>24==9?191776:191402,190764,57);i=j;continue a}}c=f[g>>2]|0;m=EZ(a,c,(f[e>>2]|0)-c|0)|0;if(!m){l=15;break}c=m+((nCa(m)|0)+-1)|0;switch(b[c>>0]|0){case 13:case 10:break;default:if(!(FZ(a)|0))JZ(a,191714,191731,190764,51)}f[h>>2]=(f[h>>2]|0)+1;i=m}if((l|0)==15){l=f[g>>2]|0;b[l+2>>0]=46;b[l+1>>0]=46;b[l>>0]=46;b[l+3>>0]=0;f[a+92>>2]=1;n=l;return n|0}if((j-(f[g>>2]|0)|0)>=(d|0)){n=j;return n|0}JZ(a,191714,191575,190764,31);n=j;return n|0}function J_(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0.0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0;h=u;u=u+5216|0;i=h;j=h+80|0;k=h+68|0;l=h+56|0;m=h+12|0;n=h+96|0;o=h+8|0;FVa(n|0,0,5120)|0;f[o>>2]=0;q=b[c>>0]|0;r=c+1|0;s=b[r>>0]|0;t=(e&8|0)!=0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;a:do if(q<<24>>24==33){switch(s<<24>>24){case 94:case 33:{v=r;w=16;break}default:{v=c;w=0}}b:do if(s<<24>>24==60){e=v+1|0;x=e;c:while(1){y=x+1|0;z=b[y>>0]|0;if((z&255)<32){A=e;B=w;break b}switch(z<<24>>24){case 32:{A=e;B=w;break b;break}case 62:{break c;break}default:x=y}}if((y-e|0)>>>0>19?(xCa(e,190981,19)|0)==0:0){b[y>>0]=32;A=v+19|0;B=16}else{A=e;B=w}}else{A=v;B=w}while(0);f[o>>2]=A;x=A;do{x=x+1|0;f[o>>2]=x;C=b[x>>0]|0}while((C&255)>=33);z=A+1|0;D=x-z|0;do if(!D){JZ(a,191001,191018,190764,233);E=b[x>>0]|0;b[x>>0]=0;if(!(B&16)){F=E;G=0;H=B}else{I=E;J=28}}else{b[x>>0]=0;E=(B&16|0)==0;if(E&(D|0)==3){if(!(xCa(z,191034,3)|0)){F=C;G=0;H=3;break}if(!(xCa(z,452769,3)|0)){F=C;G=0;H=1;break}if(!(xCa(z,191038,3)|0)){F=C;G=0;H=5;break}K=(xCa(z,191042,3)|0)==0;F=C;G=0;H=K?6:B;break}if(E&(D|0)==5){K=(xCa(z,452815,5)|0)==0;F=C;G=0;H=K?2:B;break}if(E|(D|0)!=6)if(E){F=C;G=0;H=B;break}else{I=C;J=28;break}if(!(xCa(z,191046,6)|0)){b[f[o>>2]>>0]=C;E=f[o>>2]|0;while(1){K=E+1|0;f[o>>2]=K;if((b[K>>0]|0)==32)E=K;else break}e=E+2|0;f[o>>2]=e;K=b[e>>0]|0;b[e>>0]=0;F=K;G=1;H=5}else{F=C;G=0;H=B}}while(0);if((J|0)==28){D=_W(z)|0;f[d+4>>2]=D;if(!D){f[d>>2]=f[d>>2]&-17;F=I;G=0;H=B}else{F=I;G=0;H=B}}b[f[o>>2]>>0]=F;D=I_(a,f[o>>2]|0,g)|0;x=b[D>>0]|0;d:do if(!(H&16)){switch(H|0){case 1:{L=D;J=86;break a;break}case 2:{M=D;J=85;break a;break}case 3:break;default:{J=34;break d}}switch(x<<24>>24){case 34:case 39:break;default:{N=D;O=3;J=143;break a}}if(!G){P=x;Q=F;R=D;S=3;J=78;break a}}else J=34;while(0);if((J|0)==34?!G:0){P=x;Q=F;R=D;S=H;J=78;break}z=a+76|0;K=D-(f[z>>2]|0)|0;e=I_(a,D,0)|0;T=e;f[i>>2]=T;U=a+92|0;if((f[U>>2]|0)==0?(T-(f[z>>2]|0)|0)==(K|0):0){V=0;while(1){W=e+V|0;X=b[W>>0]|0;if((X&255)>31)V=V+1|0;else break}if(!(X<<24>>24))JZ(a,191053,191085,190764,79);D=W;f[i>>2]=D;Y=D;Z=W;_=V}else{Y=T;Z=e;_=0}D=e+_|0;if(e>>>0>>0){f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((Y-T|0)<32)JZ(a,191108,191126,190764,97);f[k>>2]=0;x=k+4|0;f[x>>2]=0;f[k+8>>2]=0;$=EQa(25)|0;f[k>>2]=$;aa=$+25|0;f[k+8>>2]=aa;ba=$;ca=ba+25|0;do{b[ba>>0]=32;ba=ba+1|0}while((ba|0)<(ca|0));f[x>>2]=aa;hX(e,$,0,32)|0;if(!(BX(k,j)|0?(T=b[j+11>>0]|0,((T<<24>>24<0?f[j+4>>2]|0:T&255)|0)!=0):0))JZ(a,191108,191153,190764,102);T=e+32|0;V=f[k>>2]|0;if(V|0){if((f[x>>2]|0)!=(V|0))f[x>>2]=V;GQa(V)};f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;WQa(k,131072);e:do if((_|0)>32){V=D;da=T;while(1){bZ(k,da,V)|0;da=I_(a,V,0)|0;ea=da;f[i>>2]=ea;if(f[U>>2]|0)break e;if((ea-(f[z>>2]|0)|0)==(K|0))fa=da;else break e;while(1){ga=b[fa>>0]|0;if((ga&255)>31)fa=fa+1|0;else break}if(!(ga<<24>>24))JZ(a,191053,191085,190764,79);f[i>>2]=fa;if(fa>>>0<=da>>>0)break;else V=fa}}while(0);K=k+11|0;T=b[K>>0]|0;D=T<<24>>24<0;x=k+4|0;e=D?f[x>>2]|0:T&255;if(!((e|0)!=0?iX(D?f[k>>2]|0:k,0,e)|0:0))JZ(a,191108,191183,190764,118);e=b[K>>0]|0;D=jX(e<<24>>24<0?f[x>>2]|0:e&255,1)|0;f[l>>2]=0;e=l+4|0;f[e>>2]=0;f[l+8>>2]=0;if(D|0){if((D|0)<0)ZOa(l);T=EQa(D)|0;f[e>>2]=T;f[l>>2]=T;f[l+8>>2]=T+D;$=D;D=T;do{b[D>>0]=0;D=(f[e>>2]|0)+1|0;f[e>>2]=D;$=$+-1|0}while(($|0)!=0)}$=b[K>>0]|0;D=$<<24>>24<0;T=kX(D?f[x>>2]|0:$&255,D?f[k>>2]|0:k,0)|0;D=f[l>>2]|0;HX(m,D,(f[e>>2]|0)-D|0);D=b[K>>0]|0;$=D<<24>>24<0;aa=$?f[k>>2]|0:k;KX(m,aa,aa+($?f[x>>2]|0:D&255)|0)|0;JX(m)|0;IX(m);D=j+11|0;$=YZ((b[D>>0]|0)<0?f[j>>2]|0:j,0)|0;if((T|0)%($|0)|0|0)JZ(a,191108,191204,190764,136);f[d>>2]=0;KZ(a,13,d);$X(f[l>>2]|0,(T|0)/($|0)|0,(b[D>>0]|0)<0?f[j>>2]|0:j,f[d+8>>2]|0);$=f[((f[U>>2]|0)==0?i:z)>>2]|0;T=f[l>>2]|0;if(T|0){if((f[e>>2]|0)!=(T|0))f[e>>2]=T;GQa(T)}if((b[K>>0]|0)<0)GQa(f[k>>2]|0);if((b[D>>0]|0)<0)GQa(f[j>>2]|0);ha=$}else ha=Z;ia=ha;u=h;return ia|0}else{P=q;Q=s;R=c;S=0;J=78}while(0);f:do if((J|0)==78){g:do if((P+-48&255)<10)ja=P;else{switch(P<<24>>24){case 43:case 45:{if(Q<<24>>24==46|(Q+-48&255)<10){ja=P;break g}else J=116;break}case 46:{if((Q+-48&255)<10|((Q&-33)+-65&255)<26){ja=46;break g}else ka=46;break}case 34:case 39:{f[d>>2]=3;h:do if(P<<24>>24==39){c=0;s=R;while(1){q=s+1|0;ha=b[q>>0]|0;i:do if(!((ha+-48&255)<10|((ha&-33)+-65&255)<26)){Z=s;k=ha;l=q;while(1){if(k<<24>>24!=39&(k&255)>31){la=l;ma=k;break i}if(k<<24>>24==39)break;JZ(a,191001,191402,190764,353);m=l+1|0;fa=b[m>>0]|0;if((fa+-48&255)<10|((fa&-33)+-65&255)<26){la=m;ma=fa;break i}else{ga=l;k=fa;l=m;Z=ga}}l=Z+2|0;if((b[l>>0]|0)==39){la=l;ma=39}else{na=l;oa=c;break h}}else{la=q;ma=ha}while(0);ha=c+1|0;b[n+c>>0]=ma;if((c|0)<4095){c=ha;s=la}else{pa=la;qa=ha;J=114;break}}}else{s=0;c=R;j:while(1){ha=c+1|0;q=b[ha>>0]|0;k:do if(!((q+-48&255)<10|((q&-33)+-65&255)<26)){ra=c;l=q;k=ha;l:while(1){switch(l<<24>>24){case 34:{break j;break}case 92:{sa=ra+2|0;ta=b[sa>>0]|0;switch(ta<<24>>24){case 39:{ua=sa;va=39;break k;break}case 92:case 34:{J=105;break l;break}case 110:{J=106;break l;break}case 114:{J=107;break l;break}case 116:{J=108;break l;break}default:{}}wa=ta<<24>>24==120;if(wa){J=112;break l}if(ta<<24>>24<56&(ta+-48&255)<10){J=112;break l}else xa=sa;break}default:{if((l&255)>31){ua=k;va=l;break k}JZ(a,191001,191402,190764,396);xa=k}}ga=xa+1|0;m=b[ga>>0]|0;if((m+-48&255)<10|((m&-33)+-65&255)<26){ua=ga;va=m;break k}else{ra=xa;l=m;k=ga}}if((J|0)==105){J=0;ua=sa;va=ta;break}else if((J|0)==106){J=0;ua=sa;va=10;break}else if((J|0)==107){J=0;ua=sa;va=13;break}else if((J|0)==108){J=0;ua=sa;va=9;break}else if((J|0)==112){J=0;k=ra+5|0;l=b[k>>0]|0;b[k>>0]=0;Z=sa+(wa&1)|0;ga=_Da(Z,o,wa?8:16)|0;b[k>>0]=l;l=f[o>>2]|0;k=(l|0)==(Z|0);ua=k?sa:l;va=k?120:ga&255;break}}else{ua=ha;va=q}while(0);b[n+s>>0]=va;if((s|0)<4095){s=s+1|0;c=ua}else{pa=ua;qa=4096;J=114;break h}}na=ra+2|0;oa=s}while(0);if((J|0)==114){JZ(a,191001,191420,190764,400);na=pa;oa=qa}yM(i,f[a+16>>2]|0,n,oa);c=i;q=f[c+4>>2]|0;ha=d+8|0;f[ha>>2]=f[c>>2];f[ha+4>>2]=q;ia=na;u=h;return ia|0}default:J=116}m:do if((J|0)==116){q=P<<24>>24==91;switch(P<<24>>24){case 91:case 123:break;default:if(P<<24>>24==45&(t^1)){ya=5;za=R;break f}else{ka=P;break m}}ha=((t^1)&1)+g|0;c=P<<24>>24==123?14:13;ga=c&7;KZ(a,(f[d+4>>2]|0?16:0)|ga,d);k=d+8|0;l=(ga|0)==6;ga=j+4|0;Z=1;m=R+1|0;n:while(1){f[i>>2]=0;Aa=I_(a,m,ha)|0;Ba=b[Aa>>0]|0;switch(Ba<<24>>24){case 93:case 125:{J=119;break n;break}default:{}}if(!(f[(f[k>>2]|0)+24>>2]|0))Ca=Aa;else{if(Ba<<24>>24!=44)JZ(a,191001,191470,190764,431);Ca=I_(a,Aa+1|0,ha)|0}if(l){fa=I_(a,K_(a,Ca,d,i)|0,ha)|0;Da=fa;Ea=f[i>>2]|0}else{if((b[Ca>>0]|0)==93){Fa=Ca;break}fa=OM(f[k>>2]|0,0)|0;f[i>>2]=fa;Da=Ca;Ea=fa}if(!Ea){f[j>>2]=0;f[ga>>2]=0;fa=JV(j,4)|0;b[fa>>0]=101;b[fa+1>>0]=108;b[fa+2>>0]=101;b[fa+3>>0]=109;EP(-215,j,191001,190764,446);KV(j)}fa=J_(a,Da,Ea,c,ha)|0;if(l)f[Ea>>2]=f[Ea>>2]|64;if(Z)Ga=(f[Ea>>2]&7)>>>0<5;else Ga=0;Z=Ga;m=fa}if((J|0)==119){if(((q?93:125)|0)!=(Ba<<24>>24|0))JZ(a,191001,191444,190764,423);Fa=Aa+1|0}m=f[k>>2]|0;f[m>>2]=f[m>>2]|(Z?256:0);ia=Fa;u=h;return ia|0}while(0);if(t){N=R;O=S;J=143;break f}switch(ka<<24>>24){case 63:{JZ(a,191001,191501,190764,465);N=R;O=S;J=143;break f;break}case 62:case 124:{JZ(a,191001,191532,190764,467);N=R;O=S;J=143;break f;break}default:{N=R;O=S;J=143;break f}}}while(0);K=R+((ja<<24>>24==45|ja<<24>>24==43)&1)|0;while(1){f[o>>2]=K;Ha=b[K>>0]|0;if((Ha+-48&255)<10)K=K+1|0;else break}switch(Ha<<24>>24){case 101:case 46:{M=R;J=85;break}default:{L=R;J=86}}}while(0);if((J|0)==85){Ia=+QZ(a,M,o);f[d>>2]=2;p[d+8>>3]=Ia;Ja=M;J=87}else if((J|0)==86){M=_Da(L,o,0)|0;f[d>>2]=1;f[d+8>>2]=M;Ja=L;J=87}else if((J|0)==143){f[o>>2]=N;L=b[N>>0]|0;if((L&255)>31){o:do if(t){M=L;R=N;while(1){switch(M<<24>>24){case 93:case 125:case 44:{Ka=M;La=R;break o;break}default:{}}Ha=R+1|0;f[o>>2]=Ha;ja=b[Ha>>0]|0;if((ja&255)>31){M=ja;R=Ha}else{Ka=ja;La=Ha;break o}}}else{if((O|0)==3){R=N;while(1){M=R+1|0;f[o>>2]=M;Ha=b[M>>0]|0;if((Ha&255)>31)R=M;else{Ka=Ha;La=M;break o}}}else{Ma=L;Na=N}while(1){if(Ma<<24>>24==58){Ka=58;La=Na;break o}R=Na+1|0;f[o>>2]=R;M=b[R>>0]|0;if((M&255)>31){Ma=M;Na=R}else{Ka=M;La=R;break}}}while(0);if((La|0)==(N|0)){Oa=Ka;Pa=La;J=152}else{Qa=Ka;Ra=La}}else{Oa=L;Pa=N;J=152}if((J|0)==152){JZ(a,191001,191402,190764,479);Qa=Oa;Ra=Pa}if(Qa<<24>>24==58&(t^1)){ya=6;za=N}else{f[d>>2]=3;t=Ra;while(1){Ra=t+-1|0;if(Ra>>>0<=N>>>0)break;if((b[Ra>>0]|0)==32)t=Ra;else break}yM(i,f[a+16>>2]|0,N,t-N|0);N=i;t=f[N+4>>2]|0;Ra=d+8|0;f[Ra>>2]=f[N>>2];f[Ra+4>>2]=t;ia=f[o>>2]|0;u=h;return ia|0}}if((J|0)==87){t=f[o>>2]|0;if((t|0)==0|(t|0)==(Ja|0)){JZ(a,191001,191237,190764,331);Sa=f[o>>2]|0}else Sa=t;if(b[Sa>>0]|0){ia=Sa;u=h;return ia|0}if((Sa|0)!=((f[a+80>>2]|0)+-1|0)){ia=Sa;u=h;return ia|0}f[i>>2]=0;f[i+4>>2]=0;ba=JV(i,98)|0;t=191303;ca=ba+98|0;do{b[ba>>0]=b[t>>0]|0;ba=ba+1|0;t=t+1|0}while((ba|0)<(ca|0));EP(-215,i,191001,190764,334);KV(i);ia=Sa;u=h;return ia|0}KZ(a,(f[d+4>>2]|0?16:0)|ya,d);Sa=a+76|0;t=za-(f[Sa>>2]|0)|0;ba=j+4|0;ca=t+1|0;o=d+8|0;p:do if((ya|0)==6){Ja=1;Ra=za;while(1){f[i>>2]=0;N=K_(a,Ra,d,i)|0;Qa=f[i>>2]|0;if(!Qa){f[j>>2]=0;f[ba>>2]=0;Pa=JV(j,4)|0;b[Pa>>0]=101;b[Pa+1>>0]=108;b[Pa+2>>0]=101;b[Pa+3>>0]=109;EP(-215,j,191001,190764,520);KV(j)}Pa=J_(a,I_(a,N,ca)|0,Qa,6,ca)|0;N=f[Qa>>2]|0;f[Qa>>2]=N|64;Qa=Ja&(N&7)>>>0<5;N=I_(a,Pa,0)|0;Pa=N-(f[Sa>>2]|0)|0;if((Pa|0)!=(t|0)){if((Pa|0)<(t|0)){Ta=N;Ua=Qa;J=175;break p}JZ(a,191001,191575,190764,533)}if(!(xCa(N,452844,3)|0)){Va=Qa;Wa=N;break}else{Ja=Qa;Ra=N}}}else{Ra=1;Ja=za;while(1){f[i>>2]=0;if((b[Ja>>0]|0)!=45)JZ(a,191001,191597,190764,516);N=OM(f[o>>2]|0,0)|0;f[i>>2]=N;if(!N){f[j>>2]=0;f[ba>>2]=0;Qa=JV(j,4)|0;b[Qa>>0]=101;b[Qa+1>>0]=108;b[Qa+2>>0]=101;b[Qa+3>>0]=109;EP(-215,j,191001,190764,520);KV(j)}Qa=J_(a,I_(a,Ja+1|0,ca)|0,N,ya,ca)|0;if(Ra)Xa=(f[N>>2]&7)>>>0<5;else Xa=0;N=I_(a,Qa,0)|0;Qa=N-(f[Sa>>2]|0)|0;if((Qa|0)!=(t|0)){if((Qa|0)<(t|0)){Ta=N;Ua=Xa;J=175;break p}JZ(a,191001,191575,190764,533)}if(!(xCa(N,452844,3)|0)){Va=Xa;Wa=N;break}else{Ra=Xa;Ja=N}}}while(0);if((J|0)==175){Va=Ua;Wa=Ta}Ta=f[o>>2]|0;f[Ta>>2]=f[Ta>>2]|(Va?256:0);ia=Wa;u=h;return ia|0}function K_(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=c+-1|0;if((b[c>>0]|0)==45){JZ(a,191647,191662,190764,162);h=g}else h=g;while(1){i=h+1|0;g=b[i>>0]|0;j=g<<24>>24==58;if((g&255)<32|j)break;else h=i}if(j)k=i;else{JZ(a,191647,191689,190764,168);k=i}while(1){i=k+-1|0;if((b[i>>0]|0)==32)k=i;else break}if((k|0)==(c|0))JZ(a,191647,191701,190764,176);i=NW(a,d,MW(a,c,k-c|0,1)|0,1)|0;f[e>>2]=i;return h+2|0}function L_(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;e=u;u=u+16|0;g=e;SZ(a,0);switch(f[a+280>>2]|0){case 0:{RZ(a,1);break}case 2:{f[g>>2]=0;f[g+4>>2]=0;h=JV(g,36)|0;i=191805;j=h+36|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));EP(-2,g,191842,190764,628);KV(g);break}default:{}}k=a+44|0;l=f[k>>2]|0;if(!c)m=0;else m=(b[c>>0]|0)==0?0:c;c=l&7;if(c>>>0>4)if((c|0)==6^(m|0)!=0){f[g>>2]=0;f[g+4>>2]=0;h=JV(g,85)|0;i=191854;j=h+85|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));EP(-5,g,191842,190764,645);KV(g);n=l}else n=l;else{f[a+12>>2]=0;n=m|0?38:37}l=(m|0)!=0;do if(l){c=nCa(m)|0;if(!c){f[g>>2]=0;f[g+4>>2]=0;h=JV(g,19)|0;i=191940;j=h+19|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));EP(-5,g,191842,190764,657);KV(g);o=0;break}if((c|0)>4096){f[g>>2]=0;f[g+4>>2]=0;h=JV(g,19)|0;i=191960;j=h+19|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));EP(-5,g,191842,190764,660);KV(g);o=c}else o=c}else o=0;while(0);p=(d|0)!=0;if(p)q=nCa(d)|0;else q=0;r=(n&8|0)==0;do if(r){s=MZ(a)|0;if((n&7|0)!=6){t=s+1|0;b[s>>0]=45;if(p){b[t>>0]=32;v=s+2|0}else v=t}else v=s}else{s=a+72|0;t=f[s>>2]|0;if(!(n&32)){b[t>>0]=44;w=t+1|0}else w=t;t=q+o-(f[a+76>>2]|0)+w|0;if((t|0)>(f[a+84>>2]|0)?(t-(f[a+40>>2]|0)|0)>10:0){f[s>>2]=w;v=MZ(a)|0;break}b[w>>0]=32;v=w+1|0}while(0);if(l){l=b[m>>0]|0;if(!(((l&-33)+-65&255)<26|l<<24>>24==95)){f[g>>2]=0;f[g+4>>2]=0;h=JV(g,33)|0;i=191980;j=h+33|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));EP(-5,g,191842,190764,695);KV(g)}l=LZ(a,v,o)|0;if((o|0)>0){w=g+4|0;s=0;do{t=b[m+s>>0]|0;b[l+s>>0]=t;a:do if(!((t+-48&255)<10|((t&-33)+-65&255)<26)){switch(t<<24>>24){case 32:case 45:case 95:{break a;break}default:{}}f[g>>2]=0;f[w>>2]=0;h=JV(g,80)|0;i=192014;j=h+80|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));EP(-5,g,191842,190764,705);KV(g)}while(0);s=s+1|0}while((s|0)<(o|0))}s=l+o|0;o=s+1|0;b[s>>0]=58;if(p&r){b[o>>0]=32;x=o+1|0}else x=o}else x=v;if(!p){y=x;z=a+72|0;f[z>>2]=y;A=n&-33;f[k>>2]=A;u=e;return}p=LZ(a,x,q)|0;DVa(p|0,d|0,q|0)|0;y=p+q|0;z=a+72|0;f[z>>2]=y;A=n&-33;f[k>>2]=A;u=e;return}function M_(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;g=u;u=u+5152|0;h=g+8|0;i=g;j=g+24|0;k=g+32|0;l=g+16|0;if(!e)m=0;else m=(b[e>>0]|0)==0?0:e;e=d&15;n=e|32;o=d&7;if(o>>>0<=4){f[l>>2]=0;f[l+4>>2]=0;p=JV(l,68)|0;q=192095;r=p+68|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));EP(-5,l,192164,190764,738);KV(l)}l=(m|0)!=0;if(l?(xCa(m,191046,6)|0)==0:0){p=k;q=192187;r=p+11|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));s=5;t=k}else v=8;do if((v|0)==8){if(!(d&8)){if(!l){s=n;t=0;break}f[h>>2]=m;lDa(k,192206,h)|0;s=n;t=k;break}q=(o|0)==6?123:91;p=e|40;if(l){f[i>>2]=m;f[i+4>>2]=q&255;lDa(k,192198,i)|0;s=p;t=k;break}else{b[k>>0]=q;b[k+1>>0]=0;s=p;t=k;break}}while(0);L_(a,c,t);t=a+44|0;f[j>>2]=f[t>>2];OM(f[a+36>>2]|0,j)|0;f[t>>2]=s;t=a+40|0;if(f[j>>2]&8|0){u=g;return}f[t>>2]=(s>>>3&1)+3+(f[t>>2]|0);u=g;return}function N_(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+16|0;d=c+8|0;e=c;f[d>>2]=0;g=a+44|0;h=f[g>>2]|0;i=a+36|0;j=f[i>>2]|0;if(!(f[j+24>>2]|0)){f[e>>2]=0;f[e+4>>2]=0;k=JV(e,44)|0;l=192211;m=k+44|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-2,e,192256,190764,785);KV(e);n=f[i>>2]|0}else n=j;PM(n,d);n=h&8;if(!n){if(h&32|0){j=MZ(a)|0;i=(h&7|0)==6?32123:23899;b[j>>0]=i;b[j+1>>0]=i>>8;o=a+72|0;p=j+2|0;q=9}}else{j=a+72|0;i=f[j>>2]|0;if((h&32|0)==0?i>>>0>((f[a+76>>2]|0)+(f[a+40>>2]|0)|0)>>>0:0){b[i>>0]=32;r=i+1|0}else r=i;b[r>>0]=(h&7|0)==6?125:93;o=j;p=r+1|0;q=9}if((q|0)==9)f[o>>2]=p;p=f[d>>2]|0;d=a+40|0;if(p&8|0){f[g>>2]=p;u=c;return}f[d>>2]=-3-(n>>>3)+(f[d>>2]|0);f[g>>2]=p;u=c;return}function O_(a){a=a|0;var b=0;if(f[a+12>>2]|0)return;b=a+36|0;if((f[(f[b>>2]|0)+24>>2]|0)>0)do N_(a);while((f[(f[b>>2]|0)+24>>2]|0)>0);f[a+40>>2]=0;MZ(a)|0;AZ(a,192277);AZ(a,192282);f[a+72>>2]=f[a+76>>2];return}function P_(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=u;u=u+128|0;L_(a,b,zZ(c,d,10)|0);u=d;return}function Q_(a,b,c){a=a|0;b=b|0;c=+c;var d=0;d=u;u=u+128|0;L_(a,b,OZ(d,c)|0);u=d;return}function R_(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=u;u=u+16416|0;h=g;i=g+16|0;j=g+8|0;if(!d){f[j>>2]=0;f[j+4>>2]=0;k=JV(j,19)|0;l=192287;m=k+19|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-27,j,192307,190764,849);KV(j)}n=nCa(d)|0;if((n|0)>4096){f[j>>2]=0;f[j+4>>2]=0;k=JV(j,30)|0;l=192325;m=k+30|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-5,j,192307,190764,853);KV(j)}if((e|0)!=0|(n|0)==0)o=1;else{e=b[d>>0]|0;a:do if(e<<24>>24==(b[d+(n+-1)>>0]|0)){switch(e<<24>>24){case 39:case 34:{p=d;break}default:break a}L_(a,c,p);u=g;return}while(0);o=e<<24>>24==32&1}e=i+1|0;b[i>>0]=34;if((n|0)>0){j=e;l=o;k=0;while(1){m=b[d+k>>0]|0;q=m+-48<<24>>24;b:do if(!l){r=(m&-33)+-65<<24>>24;if((q&255)<10|(r&255)<26){s=0;t=r}else{switch(m<<24>>24){case 32:case 40:case 41:case 43:case 45:case 47:case 59:case 95:{s=0;t=r;break b;break}default:{}}s=1;t=r}}else{s=l;t=(m&-33)+-65<<24>>24}while(0);c:do if((q&255)<10|(t&255)<26)v=24;else{if((m&255)>31){switch(m<<24>>24){case 34:case 39:case 92:break;default:{v=24;break c}}b[j>>0]=92;b[j+1>>0]=m;w=j+2|0;break}r=j+1|0;b[j>>0]=92;switch(m<<24>>24){case 10:{b[r>>0]=110;w=j+2|0;break c;break}case 13:{b[r>>0]=114;w=j+2|0;break c;break}case 9:{b[r>>0]=116;w=j+2|0;break c;break}default:{f[h>>2]=m<<24>>24;lDa(r,192356,h)|0;w=j+4|0;break c}}}while(0);if((v|0)==24){v=0;b[j>>0]=m;w=j+1|0}k=k+1|0;if((k|0)==(n|0)){x=w;y=s;break}else{j=w;l=s}}}else{x=e;y=o}if(!y){o=b[d>>0]|0;if((o+-48&255)<10){z=1;v=29}else switch(o<<24>>24){case 46:case 45:case 43:{z=1;v=29;break}default:{A=x;B=1}}}else{z=y;v=29}if((v|0)==29){b[x>>0]=34;A=x+1|0;B=(z|0)==0&1}b[A>>0]=0;p=i+B|0;L_(a,c,p);u=g;return}function S_(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=u;u=u+16|0;g=e;h=(c|0)==0;if(h){f[g>>2]=0;f[g+4>>2]=0;i=JV(g,12)|0;j=192362;k=i+12|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-27,g,192375,190764,910);KV(g)}g=pCa(c,10)|0;j=a+72|0;i=f[j>>2]|0;if((!((d|0)==0|(g|0)!=0)?(d=nCa(c)|0,((f[a+80>>2]|0)-i|0)>=(d|0)):0)?(i|0)!=(f[a+76>>2]|0):0){b[i>>0]=32;l=i+1|0}else l=MZ(a)|0;if(h){u=e;return}else{m=l;n=g;o=c}while(1){b[m>>0]=35;p=m+2|0;b[m+1>>0]=32;if(!n)break;c=n-o|0;g=c+1|0;l=LZ(a,p,g)|0;DVa(l|0,o|0,g|0)|0;f[j>>2]=l+c;c=n+1|0;l=pCa(c,10)|0;m=MZ(a)|0;n=l;o=c}n=nCa(o)|0;m=LZ(a,p,n)|0;DVa(m|0,o|0,n|0)|0;f[j>>2]=m+n;MZ(a)|0;u=e;return}function T_(a,c,d,e,g){a=a|0;c=c|0;d=+d;e=+e;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0,E=0,F=0.0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0.0,ma=0.0,na=0.0,oa=0,pa=0,qa=0.0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0;i=u;u=u+1376|0;j=i+344|0;k=i+336|0;l=i+280|0;m=i+272|0;n=i+144|0;o=i;q=i+216|0;r=i+160|0;yV(k,44040);do if((HJ(a)|0)==65536){s=f[a+4>>2]|0;f[l>>2]=f[s>>2];t=l+4|0;v=s+4|0;f[t>>2]=f[v>>2];w=l+8|0;f[w>>2]=f[s+8>>2];f[l+12>>2]=f[s+12>>2];f[l+16>>2]=f[s+16>>2];f[l+20>>2]=f[s+20>>2];f[l+24>>2]=f[s+24>>2];f[l+28>>2]=f[s+28>>2];f[l+32>>2]=f[s+32>>2];x=f[s+36>>2]|0;f[l+36>>2]=x;f[l+40>>2]=w;w=l+48|0;y=l+44|0;f[y>>2]=w;f[w>>2]=0;f[l+52>>2]=0;if(x|0){w=x+12|0;f[w>>2]=(f[w>>2]|0)+1}if((f[v>>2]|0)<3){v=f[s+44>>2]|0;w=f[y>>2]|0;f[w>>2]=f[v>>2];f[w+4>>2]=f[v+4>>2];break}else{f[t>>2]=0;WO(l,s);break}}else DJ(l,a,-1);while(0);a=g&7;switch(g&-8|0){case 24:{f[j>>2]=0;f[j+4>>2]=0;z=JV(j,57)|0;A=192394;B=z+57|0;do{b[z>>0]=b[A>>0]|0;z=z+1|0;A=A+1|0}while((z|0)<(B|0));EP(-215,j,351553,192452,1403);KV(j);C=d;break}case 8:{s=f[l>>2]|0;if(!(s&4095))D=s;else{f[j>>2]=0;f[j+4>>2]=0;z=JV(j,55)|0;A=206165;B=z+55|0;do{b[z>>0]=b[A>>0]|0;z=z+1|0;A=A+1|0}while((z|0)<(B|0));EP(-215,j,351553,192452,1406);KV(j);D=f[l>>2]|0}s=f[l+40>>2]|0;t=f[s+4>>2]|0;v=f[s>>2]|0;s=(D&16384|0)!=0;D=X(v,t)|0;w=s?D:t;t=s?1:v;v=s?D:f[l+48>>2]|0;FVa(j|0,0,1024)|0;a:do if((t|0)>0){s=f[l+16>>2]|0;y=w+-4|0;if((w|0)<4){if((w|0)>0)E=0;else{F=0.0;G=0;break}while(1){x=s+(X(E,v)|0)|0;H=0;do{I=j+((h[x+H>>0]|0)<<2)|0;f[I>>2]=(f[I>>2]|0)+1;H=H+1|0}while((H|0)!=(w|0));E=E+1|0;if((E|0)==(t|0)){F=0.0;G=0;break a}}}H=w&-4;if((H|0)<(w|0))J=0;else{x=0;while(1){I=s+(X(x,v)|0)|0;K=0;do{L=h[I+(K|1)>>0]|0;M=j+((h[I+K>>0]|0)<<2)|0;f[M>>2]=(f[M>>2]|0)+1;M=j+(L<<2)|0;f[M>>2]=(f[M>>2]|0)+1;M=h[I+(K|3)>>0]|0;L=j+((h[I+(K|2)>>0]|0)<<2)|0;f[L>>2]=(f[L>>2]|0)+1;L=j+(M<<2)|0;f[L>>2]=(f[L>>2]|0)+1;K=K+4|0}while((K|0)<=(y|0));x=x+1|0;if((x|0)==(t|0)){F=0.0;G=0;break a}}}do{x=s+(X(J,v)|0)|0;K=0;do{I=h[x+(K|1)>>0]|0;L=j+((h[x+K>>0]|0)<<2)|0;f[L>>2]=(f[L>>2]|0)+1;L=j+(I<<2)|0;f[L>>2]=(f[L>>2]|0)+1;L=h[x+(K|3)>>0]|0;I=j+((h[x+(K|2)>>0]|0)<<2)|0;f[I>>2]=(f[I>>2]|0)+1;I=j+(L<<2)|0;f[I>>2]=(f[I>>2]|0)+1;K=K+4|0}while((K|0)<=(y|0));N=H;do{K=j+((h[x+N>>0]|0)<<2)|0;f[K>>2]=(f[K>>2]|0)+1;N=N+1|0}while((N|0)!=(w|0));J=J+1|0}while((J|0)!=(t|0));F=0.0;G=0}else{F=0.0;G=0}while(0);do{F=F+ +(G|0)*+(f[j+(G<<2)>>2]|0);G=G+1|0}while((G|0)!=256);O=1.0/+(D|0);P=O*F;F=0.0;Q=0.0;R=0.0;S=0.0;D=0;while(1){T=O*+(f[j+(D<<2)>>2]|0);U=S*F;F=F+T;V=1.0-F;if(!((V.9999998807907104):0){W=+(D|0);Y=(U+T*W)/F;T=Y-(P-F*Y)/V;Z=T*(F*V*T);G=Z>R;_=Y;$=G?W:Q;aa=G?Z:R}else{_=U;$=Q;aa=R}D=D+1|0;if((D|0)==256)break;else{Q=$;R=aa;S=_}}C=$;break}case 16:{D=f[l>>2]|0;if(!(D&4095))ba=D;else{f[j>>2]=0;f[j+4>>2]=0;z=JV(j,55)|0;A=206165;B=z+55|0;do{b[z>>0]=b[A>>0]|0;z=z+1|0;A=A+1|0}while((z|0)<(B|0));EP(-215,j,351553,192452,1411);KV(j);ba=f[l>>2]|0}A=f[l+40>>2]|0;z=f[A+4>>2]|0;B=f[A>>2]|0;A=(ba&16384|0)!=0;ba=X(B,z)|0;D=A?1:B;B=A?ba:z;z=A?ba:f[l+48>>2]|0;FVa(j|0,0,1024)|0;b:do if((D|0)>0){ba=f[l+16>>2]|0;A=B+-4|0;if((B|0)<4){if((B|0)>0)ca=0;else{da=0;break}while(1){G=ba+(X(ca,z)|0)|0;t=0;do{J=j+((h[G+t>>0]|0)<<2)|0;f[J>>2]=(f[J>>2]|0)+1;t=t+1|0}while((t|0)!=(B|0));ca=ca+1|0;if((ca|0)==(D|0)){da=0;break b}}}t=B&-4;if((t|0)<(B|0))ea=0;else{G=0;while(1){J=ba+(X(G,z)|0)|0;w=0;do{N=h[J+(w|1)>>0]|0;v=j+((h[J+w>>0]|0)<<2)|0;f[v>>2]=(f[v>>2]|0)+1;v=j+(N<<2)|0;f[v>>2]=(f[v>>2]|0)+1;v=h[J+(w|3)>>0]|0;N=j+((h[J+(w|2)>>0]|0)<<2)|0;f[N>>2]=(f[N>>2]|0)+1;N=j+(v<<2)|0;f[N>>2]=(f[N>>2]|0)+1;w=w+4|0}while((w|0)<=(A|0));G=G+1|0;if((G|0)==(D|0)){da=0;break b}}}do{G=ba+(X(ea,z)|0)|0;w=0;do{J=h[G+(w|1)>>0]|0;N=j+((h[G+w>>0]|0)<<2)|0;f[N>>2]=(f[N>>2]|0)+1;N=j+(J<<2)|0;f[N>>2]=(f[N>>2]|0)+1;N=h[G+(w|3)>>0]|0;J=j+((h[G+(w|2)>>0]|0)<<2)|0;f[J>>2]=(f[J>>2]|0)+1;J=j+(N<<2)|0;f[J>>2]=(f[J>>2]|0)+1;w=w+4|0}while((w|0)<=(A|0));fa=t;do{w=j+((h[G+fa>>0]|0)<<2)|0;f[w>>2]=(f[w>>2]|0)+1;fa=fa+1|0}while((fa|0)!=(B|0));ea=ea+1|0}while((ea|0)!=(D|0));da=0}else da=0;while(0);while(1){if((f[j+(da<<2)>>2]|0)>0){ga=da;break}if((da|0)<255)da=da+1|0;else{ga=0;break}}da=ga+(((ga|0)>0)<<31>>31)|0;ga=255;while(1){if((f[j+(ga<<2)>>2]|0)>0){ha=ga;break}if((ga|0)>1)ga=ga+-1|0;else{ha=0;break}}ga=(ha|0)<255;D=0;ea=0;B=0;do{fa=f[j+(B<<2)>>2]|0;z=(fa|0)>(D|0);ea=z?B:ea;D=z?fa:D;B=B+1|0}while((B|0)!=256);B=ha+(ga&1)|0;if((ea-da|0)<(B-ea|0)){ga=255;ha=0;do{fa=j+(ha<<2)|0;z=f[fa>>2]|0;ca=j+(ga<<2)|0;f[fa>>2]=f[ca>>2];f[ca>>2]=z;ha=ha+1|0;ga=ga+-1|0}while((ha|0)<(ga|0));ia=1;ja=255-B|0;ka=255-ea|0}else{ia=0;ja=da;ka=ea}$=+(ja|0);_=+(D|0);S=+(ja-ka|0);if((ja|0)<(ka|0)){aa=0.0;R=$;D=ja;while(1){D=D+1|0;Q=+(D|0);F=_*Q+S*+(f[j+(D<<2)>>2]|0);ja=F>aa;P=ja?Q:R;if((D|0)==(ka|0)){la=P;break}else{aa=ja?F:aa;R=P}}}else la=$;$=la+-1.0;C=ia?255.0-$:$;break}default:C=d}ia=l+40|0;ka=f[ia>>2]|0;D=f[ka>>2]|0;f[m>>2]=f[ka+4>>2];f[m+4>>2]=D;_J(c,m,f[l>>2]&4095,-1,0,0);do if((HJ(c)|0)==65536){m=f[c+4>>2]|0;f[j>>2]=f[m>>2];D=j+4|0;ka=m+4|0;f[D>>2]=f[ka>>2];ja=j+8|0;f[ja>>2]=f[m+8>>2];f[j+12>>2]=f[m+12>>2];f[j+16>>2]=f[m+16>>2];f[j+20>>2]=f[m+20>>2];f[j+24>>2]=f[m+24>>2];f[j+28>>2]=f[m+28>>2];f[j+32>>2]=f[m+32>>2];ea=f[m+36>>2]|0;f[j+36>>2]=ea;f[j+40>>2]=ja;ja=j+48|0;da=j+44|0;f[da>>2]=ja;f[ja>>2]=0;f[j+52>>2]=0;if(ea|0){ja=ea+12|0;f[ja>>2]=(f[ja>>2]|0)+1}if((f[ka>>2]|0)<3){ka=f[m+44>>2]|0;ja=f[da>>2]|0;f[ja>>2]=f[ka>>2];f[ja+4>>2]=f[ka+4>>2];break}else{f[D>>2]=0;WO(j,m);break}}else DJ(j,c,-1);while(0);c=f[l>>2]|0;c:do switch(c&7){case 0:{m=~~C;D=m-(C<+(m|0)&1)|0;d=+(D|0);m=AEa(e)|0;ka=(a|0)==2;ja=ka?D:m;m=ja>>>0<256?ja:(ja|0)>0?255:0;ja=m&255;da=(D|0)>254;if(D>>>0<=254){ma=+(m&255);na=d;oa=c;pa=100;break c}if(a>>>0>=2?!((ka|(a|0)==4)&(D|0)<0|(a|0)==3&da):0){D=n+8|0;f[D>>2]=0;f[D+4>>2]=0;f[n>>2]=33619968;f[n+4>>2]=j;eM(l,n);qa=d;break c}switch(g&7){case 0:{ra=da?0:ja;break}case 1:{ra=da?ja:0;break}default:ra=0}p[o>>3]=+(ra|0);f[n>>2]=-1056833530;f[n+4>>2]=o;f[n+8>>2]=1;f[n+12>>2]=1;hM(j,n,BK()|0)|0;qa=d;break}case 3:{ja=~~C;da=ja-(C<+(ja|0)&1)|0;d=+(da|0);ja=AEa(e)|0;D=(a|0)==2;ka=D?da:ja;ja=(ka+32768|0)>>>0<65536?ka:(ka|0)>0?32767:32768;ka=ja<<16>>16;m=(da|0)>32766;if((da+32768|0)>>>0<=65534){ma=+((ja&65535)<<16>>16);na=d;oa=c;pa=100;break c}if(a>>>0>=2?!((D|(a|0)==4)&(da|0)<-32768|(a|0)==3&m):0){da=n+8|0;f[da>>2]=0;f[da+4>>2]=0;f[n>>2]=33619968;f[n+4>>2]=j;eM(l,n);qa=d;break c}switch(g&7){case 0:{sa=m?0:ka;break}case 1:{sa=m?ka:0;break}default:sa=0}p[o>>3]=+(sa|0);f[n>>2]=-1056833530;f[n+4>>2]=o;f[n+8>>2]=1;f[n+12>>2]=1;hM(j,n,BK()|0)|0;qa=d;break}case 2:{ka=~~C;m=ka-(C<+(ka|0)&1)|0;d=+(m|0);ka=AEa(e)|0;da=(a|0)==2?m:ka;ka=da>>>0<65536?da:(da|0)>0?65535:0;da=ka&65535;D=(m|0)>65534;if(m>>>0<=65534){ma=+(ka&65535);na=d;oa=c;pa=100;break c}ka=g&255;d:do if(a>>>0<2)pa=93;else{switch(ka&7){case 2:case 4:{if((a|0)==3&D|(m|0)<0){pa=93;break d}break}default:if((a|0)==3&D){ta=0;break d}}ja=n+8|0;f[ja>>2]=0;f[ja+4>>2]=0;f[n>>2]=33619968;f[n+4>>2]=j;eM(l,n);qa=d;break c}while(0);e:do if((pa|0)==93)switch(ka&7){case 0:{ta=D?0:da;break e;break}case 1:{ta=D?da:0;break e;break}default:{ta=0;break e}}while(0);p[o>>3]=+(ta|0);f[n>>2]=-1056833530;f[n+4>>2]=o;f[n+8>>2]=1;f[n+12>>2]=1;hM(j,n,BK()|0)|0;qa=d;break}case 6:case 5:{ma=e;na=C;oa=c;pa=100;break}default:{f[n>>2]=0;f[n+4>>2]=0;EP(-210,n,351553,192452,1509);KV(n);ma=e;na=C;oa=f[l>>2]|0;pa=100}}while(0);if((pa|0)==100){pa=j+8|0;c=f[pa>>2]|0;f[n>>2]=0;f[n+4>>2]=c;f[q>>2]=oa;oa=q+4|0;c=l+4|0;ta=f[c>>2]|0;f[oa>>2]=ta;g=q+8|0;f[g>>2]=f[l+8>>2];f[q+12>>2]=f[l+12>>2];sa=q+16|0;f[sa>>2]=f[l+16>>2];f[q+20>>2]=f[l+20>>2];f[q+24>>2]=f[l+24>>2];f[q+28>>2]=f[l+28>>2];f[q+32>>2]=f[l+32>>2];ra=q+36|0;da=f[l+36>>2]|0;f[ra>>2]=da;D=q+40|0;f[D>>2]=g;g=q+48|0;ka=q+44|0;f[ka>>2]=g;f[g>>2]=0;f[q+52>>2]=0;if(!da)ua=ta;else{ta=da+12|0;f[ta>>2]=(f[ta>>2]|0)+1;ua=f[c>>2]|0}if((ua|0)<3){ua=f[l+44>>2]|0;c=f[ka>>2]|0;f[c>>2]=f[ua>>2];f[c+4>>2]=f[ua+4>>2]}else{f[oa>>2]=0;WO(q,l)}f[r>>2]=f[j>>2];ua=r+4|0;c=j+4|0;ta=f[c>>2]|0;f[ua>>2]=ta;da=r+8|0;f[da>>2]=f[pa>>2];m=j+12|0;f[r+12>>2]=f[m>>2];ja=r+16|0;f[ja>>2]=f[j+16>>2];f[r+20>>2]=f[j+20>>2];f[r+24>>2]=f[j+24>>2];f[r+28>>2]=f[j+28>>2];f[r+32>>2]=f[j+32>>2];ea=r+36|0;B=f[j+36>>2]|0;f[ea>>2]=B;ga=r+40|0;f[ga>>2]=da;da=r+48|0;ha=r+44|0;f[ha>>2]=da;f[da>>2]=0;f[r+52>>2]=0;if(!B)va=ta;else{ta=B+12|0;f[ta>>2]=(f[ta>>2]|0)+1;va=f[c>>2]|0}if((va|0)<3){va=f[j+44>>2]|0;ta=f[ha>>2]|0;f[ta>>2]=f[va>>2];f[ta+4>>2]=f[va+4>>2]}else{f[ua>>2]=0;WO(r,j)}U_(o,q,r,na,ma,a);a=f[c>>2]|0;if((a|0)<3)wa=X(f[m>>2]|0,f[pa>>2]|0)|0;else{pa=f[j+40>>2]|0;m=0;c=1;while(1){va=X(f[pa+(m<<2)>>2]|0,c)|0;m=m+1|0;if((m|0)==(a|0)){wa=va;break}else c=va}}$Z(n,o,+(wa>>>0)*.0000152587890625);V_(o);o=f[ea>>2]|0;if(o|0?(wa=o+12|0,o=f[wa>>2]|0,f[wa>>2]=o+-1,(o|0)==1):0)XO(r);f[ea>>2]=0;f[ja>>2]=0;f[ja+4>>2]=0;f[ja+8>>2]=0;f[ja+12>>2]=0;if((f[ua>>2]|0)>0){ja=f[ga>>2]|0;ga=0;do{f[ja+(ga<<2)>>2]=0;ga=ga+1|0}while((ga|0)<(f[ua>>2]|0))}ua=f[ha>>2]|0;if((ua|0)!=(da|0))dX(ua);ua=f[ra>>2]|0;if(ua|0?(da=ua+12|0,ua=f[da>>2]|0,f[da>>2]=ua+-1,(ua|0)==1):0)XO(q);f[ra>>2]=0;f[sa>>2]=0;f[sa+4>>2]=0;f[sa+8>>2]=0;f[sa+12>>2]=0;if((f[oa>>2]|0)>0){sa=f[D>>2]|0;D=0;do{f[sa+(D<<2)>>2]=0;D=D+1|0}while((D|0)<(f[oa>>2]|0))}oa=f[ka>>2]|0;if((oa|0)!=(g|0))dX(oa);qa=na}oa=j+36|0;g=f[oa>>2]|0;if(g|0?(ka=g+12|0,g=f[ka>>2]|0,f[ka>>2]=g+-1,(g|0)==1):0)XO(j);f[oa>>2]=0;oa=j+16|0;g=j+4|0;f[oa>>2]=0;f[oa+4>>2]=0;f[oa+8>>2]=0;f[oa+12>>2]=0;if((f[g>>2]|0)>0){oa=f[j+40>>2]|0;ka=0;do{f[oa+(ka<<2)>>2]=0;ka=ka+1|0}while((ka|0)<(f[g>>2]|0))}g=f[j+44>>2]|0;if((g|0)!=(j+48|0))dX(g);g=l+36|0;j=f[g>>2]|0;if(j|0?(ka=j+12|0,j=f[ka>>2]|0,f[ka>>2]=j+-1,(j|0)==1):0)XO(l);f[g>>2]=0;g=l+16|0;j=l+4|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;if((f[j>>2]|0)>0){g=f[ia>>2]|0;ia=0;do{f[g+(ia<<2)>>2]=0;ia=ia+1|0}while((ia|0)<(f[j>>2]|0))}j=f[l+44>>2]|0;if((j|0)!=(l+48|0))dX(j);if(!(f[k+4>>2]|0)){u=i;return +qa}u=i;return +qa}function U_(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=+d;e=+e;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;f[a>>2]=44068;h=a+4|0;f[h>>2]=1124007936;i=a+8|0;j=a+12|0;k=a+44|0;l=i;m=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[k>>2]=j;n=a+52|0;o=a+48|0;f[o>>2]=n;f[n>>2]=0;f[a+56>>2]=0;n=a+60|0;f[n>>2]=1124007936;q=a+64|0;r=a+68|0;s=a+100|0;l=q;m=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[s>>2]=r;l=a+108|0;m=a+104|0;f[m>>2]=l;f[l>>2]=0;f[a+112>>2]=0;if((h|0)!=(b|0)){l=b+36|0;t=f[l>>2]|0;if(t){u=t+12|0;f[u>>2]=(f[u>>2]|0)+1;u=a+40|0;t=f[u>>2]|0;if((t|0)!=0?(v=t+12|0,t=f[v>>2]|0,f[v>>2]=t+-1,(t|0)==1):0){XO(h);w=u}else w=u}else w=a+40|0;f[w>>2]=0;u=a+20|0;f[u>>2]=0;f[u+4>>2]=0;f[u+8>>2]=0;f[u+12>>2]=0;if((f[i>>2]|0)>0){t=f[k>>2]|0;k=0;do{f[t+(k<<2)>>2]=0;k=k+1|0;x=f[i>>2]|0}while((k|0)<(x|0));f[h>>2]=f[b>>2];if((x|0)<3)y=12;else y=14}else{f[h>>2]=f[b>>2];y=12}if((y|0)==12){x=f[b+4>>2]|0;if((x|0)<3){f[i>>2]=x;f[j>>2]=f[b+8>>2];f[a+16>>2]=f[b+12>>2];j=f[b+44>>2]|0;x=f[o>>2]|0;f[x>>2]=f[j>>2];f[x+4>>2]=f[j+4>>2]}else y=14}if((y|0)==14)WO(h,b);f[u>>2]=f[b+16>>2];f[a+24>>2]=f[b+20>>2];f[a+28>>2]=f[b+24>>2];f[a+32>>2]=f[b+28>>2];f[a+36>>2]=f[b+32>>2];f[w>>2]=f[l>>2]}if((n|0)==(c|0)){z=a+120|0;p[z>>3]=d;A=a+128|0;p[A>>3]=e;B=a+136|0;f[B>>2]=g;return}l=c+36|0;w=f[l>>2]|0;if(w|0){b=w+12|0;f[b>>2]=(f[b>>2]|0)+1}b=a+96|0;w=f[b>>2]|0;if(w|0?(u=w+12|0,w=f[u>>2]|0,f[u>>2]=w+-1,(w|0)==1):0)XO(n);f[b>>2]=0;w=a+76|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;if((f[q>>2]|0)>0){u=f[s>>2]|0;s=0;do{f[u+(s<<2)>>2]=0;s=s+1|0;C=f[q>>2]|0}while((s|0)<(C|0));f[n>>2]=f[c>>2];if((C|0)<3)y=27;else y=29}else{f[n>>2]=f[c>>2];y=27}if((y|0)==27){C=f[c+4>>2]|0;if((C|0)<3){f[q>>2]=C;f[r>>2]=f[c+8>>2];f[a+72>>2]=f[c+12>>2];r=f[c+44>>2]|0;C=f[m>>2]|0;f[C>>2]=f[r>>2];f[C+4>>2]=f[r+4>>2]}else y=29}if((y|0)==29)WO(n,c);f[w>>2]=f[c+16>>2];f[a+80>>2]=f[c+20>>2];f[a+84>>2]=f[c+24>>2];f[a+88>>2]=f[c+28>>2];f[a+92>>2]=f[c+32>>2];f[b>>2]=f[l>>2];z=a+120|0;p[z>>3]=d;A=a+128|0;p[A>>3]=e;B=a+136|0;f[B>>2]=g;return}function V_(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=44068;b=a+60|0;c=a+96|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+76|0;b=a+64|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+100>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+104>>2]|0;if((b|0)!=(a+108|0))dX(b);b=a+4|0;d=a+40|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+20|0;b=a+8|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[a+44>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+48>>2]|0;if((b|0)==(a+52|0))return;dX(b);return}function W_(a){a=a|0;V_(a);GQa(a);return}function X_(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0.0,va=0.0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0;e=u;u=u+384|0;g=e+120|0;i=e+112|0;k=e+56|0;l=e;m=f[c>>2]|0;o=f[c+4>>2]|0;f[g>>2]=m;f[g+4>>2]=o;f[i>>2]=-2147483648;f[i+4>>2]=2147483647;YO(k,a+4|0,g,i);f[g>>2]=m;f[g+4>>2]=o;f[i>>2]=-2147483648;f[i+4>>2]=2147483647;YO(l,a+60|0,g,i);i=k+16|0;o=l+16|0;m=a+120|0;c=a+128|0;q=a+136|0;a=f[k>>2]|0;a:do switch(a&7){case 0:{r=~~+p[m>>3]&255;s=~~+p[c>>3]&255;t=f[q>>2]|0;v=f[k+40>>2]|0;w=f[v>>2]|0;x=X(f[v+4>>2]|0,(a>>>3&511)+1|0)|0;v=f[k+48>>2]|0;y=f[l+48>>2]|0;if(!(a&16384)){z=v;A=y;B=x;C=w}else{D=(f[l>>2]&16384|0)!=0;E=X(x,w)|0;z=D?E:v;A=D?E:y;B=D?E:x;C=D?1:w}if((B|0)>0){w=r&255;D=w+1|0;FVa(g|0,0,256)|0;switch(t|0){case 0:{FVa(g|0,0,D|0)|0;if(D>>>0<256)FVa(g+D|0,s|0,w^255|0)|0;break}case 1:{FVa(g|0,s|0,D|0)|0;if(D>>>0<256)FVa(g+D|0,0,w^255|0)|0;break}case 2:{s=0;do{b[g+s>>0]=s;s=s+1|0}while((s|0)!=(D|0));if(D>>>0<256)FVa(g+D|0,r|0,w^255|0)|0;break}case 3:{FVa(g|0,0,D|0)|0;if(D>>>0<256){s=D;while(1){b[g+s>>0]=s;if((s|0)<255)s=s+1|0;else break}}break}case 4:{s=0;do{b[g+s>>0]=s;s=s+1|0}while((s|0)!=(D|0));if(D>>>0<256)FVa(g+D|0,0,w^255|0)|0;break}default:{}}s=f[i>>2]|0;r=f[o>>2]|0;b:do if((C|0)>0){t=B+-4|0;if((B|0)<4){x=0;E=s;y=r;while(1){v=0;do{b[y+v>>0]=b[g+(h[E+v>>0]|0)>>0]|0;v=v+1|0}while((v|0)!=(B|0));x=x+1|0;if((x|0)==(C|0))break b;else{E=E+z|0;y=y+A|0}}}y=B&-4;if((y|0)<(B|0)){F=0;G=s;H=r}else{E=0;x=s;v=r;while(1){I=0;do{J=I|1;K=b[g+(h[x+J>>0]|0)>>0]|0;b[v+I>>0]=b[g+(h[x+I>>0]|0)>>0]|0;b[v+J>>0]=K;K=I|2;J=I|3;L=b[g+(h[x+J>>0]|0)>>0]|0;b[v+K>>0]=b[g+(h[x+K>>0]|0)>>0]|0;b[v+J>>0]=L;I=I+4|0}while((I|0)<=(t|0));E=E+1|0;if((E|0)==(C|0))break b;else{x=x+z|0;v=v+A|0}}}while(1){v=0;do{x=v|1;E=b[g+(h[G+x>>0]|0)>>0]|0;b[H+v>>0]=b[g+(h[G+v>>0]|0)>>0]|0;b[H+x>>0]=E;E=v|2;x=v|3;I=b[g+(h[G+x>>0]|0)>>0]|0;b[H+E>>0]=b[g+(h[G+E>>0]|0)>>0]|0;b[H+x>>0]=I;v=v+4|0}while((v|0)<=(t|0));M=y;do{b[H+M>>0]=b[g+(h[G+M>>0]|0)>>0]|0;M=M+1|0}while((M|0)!=(B|0));F=F+1|0;if((F|0)==(C|0))break;else{G=G+z|0;H=H+A|0}}}while(0)}break}case 3:{r=~~+p[m>>3];s=~~+p[c>>3];w=f[k+40>>2]|0;D=f[w>>2]|0;y=X(f[w+4>>2]|0,(a>>>3&511)+1|0)|0;w=f[i>>2]|0;t=f[o>>2]|0;v=(f[k+48>>2]|0)>>>1;I=(f[l+48>>2]|0)>>>1;if(!(a&16384)){N=I;O=v;P=y;Q=D}else{x=(f[l>>2]&16384|0)!=0;E=X(y,D)|0;N=x?E:I;O=x?E:v;P=x?E:y;Q=x?1:D}switch(f[q>>2]|0){case 0:{if((P|0)>0&(Q|0)>0){R=w;S=t;T=0}else break a;while(1){D=0;do{d[S+(D<<1)>>1]=(d[R+(D<<1)>>1]|0)>r<<16>>16?s:0;D=D+1|0}while((D|0)!=(P|0));T=T+1|0;if((T|0)==(Q|0))break;else{R=R+(O<<1)|0;S=S+(N<<1)|0}}break}case 1:{if((P|0)>0&(Q|0)>0){U=w;V=t;W=0}else break a;while(1){D=0;do{d[V+(D<<1)>>1]=(d[U+(D<<1)>>1]|0)>r<<16>>16?0:s;D=D+1|0}while((D|0)!=(P|0));W=W+1|0;if((W|0)==(Q|0))break;else{U=U+(O<<1)|0;V=V+(N<<1)|0}}break}case 2:{if((P|0)>0&(Q|0)>0){Y=w;Z=t;_=0}else break a;while(1){s=0;do{D=d[Y+(s<<1)>>1]|0;d[Z+(s<<1)>>1]=D<<16>>16>r<<16>>16?r:D;s=s+1|0}while((s|0)!=(P|0));_=_+1|0;if((_|0)==(Q|0))break;else{Y=Y+(O<<1)|0;Z=Z+(N<<1)|0}}break}case 3:{if((P|0)>0&(Q|0)>0){$=w;aa=t;ba=0}else break a;while(1){s=0;do{D=d[$+(s<<1)>>1]|0;d[aa+(s<<1)>>1]=D<<16>>16>r<<16>>16?D:0;s=s+1|0}while((s|0)!=(P|0));ba=ba+1|0;if((ba|0)==(Q|0))break;else{$=$+(O<<1)|0;aa=aa+(N<<1)|0}}break}case 4:{if((P|0)>0&(Q|0)>0){ca=w;da=t;ea=0}else break a;while(1){s=0;do{D=d[ca+(s<<1)>>1]|0;d[da+(s<<1)>>1]=D<<16>>16>r<<16>>16?0:D;s=s+1|0}while((s|0)!=(P|0));ea=ea+1|0;if((ea|0)==(Q|0))break;else{ca=ca+(O<<1)|0;da=da+(N<<1)|0}}break}default:{f[g>>2]=0;f[g+4>>2]=0;EP(-5,g,192510,192452,120);KV(g);break a}}break}case 2:{r=~~+p[m>>3]&65535;t=~~+p[c>>3]&65535;w=f[k+40>>2]|0;s=f[w>>2]|0;D=X(f[w+4>>2]|0,(a>>>3&511)+1|0)|0;w=((f[k+48>>2]|0)>>>0)/((1212424721>>>(a<<2&28)&15)>>>0)|0;x=f[l>>2]|0;y=((f[l+48>>2]|0)>>>0)/((1212424721>>>(x<<2&28)&15)>>>0)|0;E=(a&16384|0)==0;v=(x&16384|0)!=0;x=X(D,s)|0;I=E?D:v?x:D;D=E?s:v?1:s;s=E?y:v?x:y;y=E?w:v?x:w;w=f[i>>2]|0;x=f[o>>2]|0;switch(f[q>>2]|0){case 0:{if((I|0)>0&(D|0)>0){fa=w;ga=x;ha=0}else break a;while(1){v=0;do{d[ga+(v<<1)>>1]=(j[fa+(v<<1)>>1]|0)>(r&65535)?t:0;v=v+1|0}while((v|0)!=(I|0));ha=ha+1|0;if((ha|0)==(D|0))break;else{fa=fa+(y<<1)|0;ga=ga+(s<<1)|0}}break}case 1:{if((I|0)>0&(D|0)>0){ia=w;ja=x;ka=0}else break a;while(1){v=0;do{d[ja+(v<<1)>>1]=(j[ia+(v<<1)>>1]|0)>(r&65535)?0:t;v=v+1|0}while((v|0)!=(I|0));ka=ka+1|0;if((ka|0)==(D|0))break;else{ia=ia+(y<<1)|0;ja=ja+(s<<1)|0}}break}case 2:{if((I|0)>0&(D|0)>0){la=w;ma=x;na=0}else break a;while(1){t=0;do{v=d[la+(t<<1)>>1]|0;d[ma+(t<<1)>>1]=(v&65535)>(r&65535)?r:v;t=t+1|0}while((t|0)!=(I|0));na=na+1|0;if((na|0)==(D|0))break;else{la=la+(y<<1)|0;ma=ma+(s<<1)|0}}break}case 3:{if((I|0)>0&(D|0)>0){oa=w;pa=x;qa=0}else break a;while(1){t=0;do{v=d[oa+(t<<1)>>1]|0;d[pa+(t<<1)>>1]=(v&65535)>(r&65535)?v:0;t=t+1|0}while((t|0)!=(I|0));qa=qa+1|0;if((qa|0)==(D|0))break;else{oa=oa+(y<<1)|0;pa=pa+(s<<1)|0}}break}case 4:{if((I|0)>0&(D|0)>0){ra=w;sa=x;ta=0}else break a;while(1){t=0;do{v=d[ra+(t<<1)>>1]|0;d[sa+(t<<1)>>1]=(v&65535)>(r&65535)?0:v;t=t+1|0}while((t|0)!=(I|0));ta=ta+1|0;if((ta|0)==(D|0))break;else{ra=ra+(y<<1)|0;sa=sa+(s<<1)|0}}break}default:{f[g>>2]=0;f[g+4>>2]=0;EP(-5,g,192510,192452,120);KV(g);break a}}break}case 5:{ua=+p[m>>3];va=+p[c>>3];s=f[k+40>>2]|0;y=f[s>>2]|0;D=X(f[s+4>>2]|0,(a>>>3&511)+1|0)|0;s=f[i>>2]|0;I=f[o>>2]|0;r=(f[k+48>>2]|0)>>>2;x=(f[l+48>>2]|0)>>>2;if(!(a&16384)){wa=D;xa=y}else{w=(f[l>>2]&16384|0)!=0;t=X(w?y:1,D)|0;wa=t;xa=w?1:y}switch(f[q>>2]|0){case 0:{if((wa|0)>0&(xa|0)>0){ya=s;za=I;Aa=0}else break a;while(1){y=0;do{n[za+(y<<2)>>2]=+n[ya+(y<<2)>>2]>ua?va:0.0;y=y+1|0}while((y|0)!=(wa|0));Aa=Aa+1|0;if((Aa|0)==(xa|0))break;else{ya=ya+(r<<2)|0;za=za+(x<<2)|0}}break}case 1:{if((wa|0)>0&(xa|0)>0){Ba=s;Ca=I;Da=0}else break a;while(1){y=0;do{n[Ca+(y<<2)>>2]=!(+n[Ba+(y<<2)>>2]<=ua)?0.0:va;y=y+1|0}while((y|0)!=(wa|0));Da=Da+1|0;if((Da|0)==(xa|0))break;else{Ba=Ba+(r<<2)|0;Ca=Ca+(x<<2)|0}}break}case 2:{if((wa|0)>0&(xa|0)>0){Ea=s;Fa=I;Ga=0}else break a;while(1){y=0;do{va=+n[Ea+(y<<2)>>2];n[Fa+(y<<2)>>2]=va>ua?ua:va;y=y+1|0}while((y|0)!=(wa|0));Ga=Ga+1|0;if((Ga|0)==(xa|0))break;else{Ea=Ea+(r<<2)|0;Fa=Fa+(x<<2)|0}}break}case 3:{if((wa|0)>0&(xa|0)>0){Ha=s;Ia=I;Ja=0}else break a;while(1){y=0;do{va=+n[Ha+(y<<2)>>2];n[Ia+(y<<2)>>2]=va>ua?va:0.0;y=y+1|0}while((y|0)!=(wa|0));Ja=Ja+1|0;if((Ja|0)==(xa|0))break;else{Ha=Ha+(r<<2)|0;Ia=Ia+(x<<2)|0}}break}case 4:{if((wa|0)>0&(xa|0)>0){Ka=s;La=I;Ma=0}else break a;while(1){y=0;do{va=+n[Ka+(y<<2)>>2];n[La+(y<<2)>>2]=!(va<=ua)?0.0:va;y=y+1|0}while((y|0)!=(wa|0));Ma=Ma+1|0;if((Ma|0)==(xa|0))break;else{Ka=Ka+(r<<2)|0;La=La+(x<<2)|0}}break}default:{f[g>>2]=0;f[g+4>>2]=0;EP(-5,g,192510,192452,120);KV(g);break a}}break}case 6:{ua=+p[m>>3];va=+p[c>>3];x=f[k+40>>2]|0;r=f[x>>2]|0;I=X(f[x+4>>2]|0,(a>>>3&511)+1|0)|0;x=f[i>>2]|0;s=f[o>>2]|0;y=(f[k+48>>2]|0)>>>3;w=(f[l+48>>2]|0)>>>3;if(!(a&16384)){Na=I;Oa=r}else{t=(f[l>>2]&16384|0)!=0;D=X(t?r:1,I)|0;Na=D;Oa=t?1:r}switch(f[q>>2]|0){case 0:{if((Na|0)>0&(Oa|0)>0){Pa=x;Qa=s;Ra=0}else break a;while(1){r=0;do{p[Qa+(r<<3)>>3]=+p[Pa+(r<<3)>>3]>ua?va:0.0;r=r+1|0}while((r|0)!=(Na|0));Ra=Ra+1|0;if((Ra|0)==(Oa|0))break;else{Pa=Pa+(y<<3)|0;Qa=Qa+(w<<3)|0}}break}case 1:{if((Na|0)>0&(Oa|0)>0){Sa=x;Ta=s;Ua=0}else break a;while(1){r=0;do{p[Ta+(r<<3)>>3]=!(+p[Sa+(r<<3)>>3]<=ua)?0.0:va;r=r+1|0}while((r|0)!=(Na|0));Ua=Ua+1|0;if((Ua|0)==(Oa|0))break;else{Sa=Sa+(y<<3)|0;Ta=Ta+(w<<3)|0}}break}case 2:{if((Na|0)>0&(Oa|0)>0){Va=x;Wa=s;Xa=0}else break a;while(1){r=0;do{va=+p[Va+(r<<3)>>3];p[Wa+(r<<3)>>3]=va>ua?ua:va;r=r+1|0}while((r|0)!=(Na|0));Xa=Xa+1|0;if((Xa|0)==(Oa|0))break;else{Va=Va+(y<<3)|0;Wa=Wa+(w<<3)|0}}break}case 3:{if((Na|0)>0&(Oa|0)>0){Ya=x;Za=s;_a=0}else break a;while(1){r=0;do{va=+p[Ya+(r<<3)>>3];p[Za+(r<<3)>>3]=va>ua?va:0.0;r=r+1|0}while((r|0)!=(Na|0));_a=_a+1|0;if((_a|0)==(Oa|0))break;else{Ya=Ya+(y<<3)|0;Za=Za+(w<<3)|0}}break}case 4:{if((Na|0)>0&(Oa|0)>0){$a=x;ab=s;bb=0}else break a;while(1){r=0;do{va=+p[$a+(r<<3)>>3];p[ab+(r<<3)>>3]=!(va<=ua)?0.0:va;r=r+1|0}while((r|0)!=(Na|0));bb=bb+1|0;if((bb|0)==(Oa|0))break;else{$a=$a+(y<<3)|0;ab=ab+(w<<3)|0}}break}default:{f[g>>2]=0;f[g+4>>2]=0;EP(-5,g,192510,192452,120);KV(g);break a}}break}default:{}}while(0);g=l+36|0;ab=f[g>>2]|0;if(ab|0?($a=ab+12|0,ab=f[$a>>2]|0,f[$a>>2]=ab+-1,(ab|0)==1):0)XO(l);f[g>>2]=0;g=l+4|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;if((f[g>>2]|0)>0){o=f[l+40>>2]|0;ab=0;do{f[o+(ab<<2)>>2]=0;ab=ab+1|0}while((ab|0)<(f[g>>2]|0))}g=f[l+44>>2]|0;if((g|0)!=(l+48|0))dX(g);g=k+36|0;l=f[g>>2]|0;if(l|0?(ab=l+12|0,l=f[ab>>2]|0,f[ab>>2]=l+-1,(l|0)==1):0)XO(k);f[g>>2]=0;g=k+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[g>>2]|0)>0){i=f[k+40>>2]|0;l=0;do{f[i+(l<<2)>>2]=0;l=l+1|0}while((l|0)<(f[g>>2]|0))}g=f[k+44>>2]|0;if((g|0)==(k+48|0)){u=e;return}dX(g);u=e;return}function Y_(a,c,d,e,g,i,j){a=a|0;c=c|0;d=+d;e=e|0;g=g|0;i=i|0;j=+j;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0;k=u;u=u+1072|0;l=k+1056|0;m=k+1e3|0;n=k+944|0;o=k+936|0;p=k;q=k+160|0;r=k+96|0;s=k+928|0;t=k+152|0;v=k+72|0;w=k+56|0;x=k+88|0;yV(l,44080);do if((HJ(a)|0)==65536){y=f[a+4>>2]|0;f[m>>2]=f[y>>2];z=m+4|0;A=y+4|0;f[z>>2]=f[A>>2];B=m+8|0;f[B>>2]=f[y+8>>2];f[m+12>>2]=f[y+12>>2];f[m+16>>2]=f[y+16>>2];f[m+20>>2]=f[y+20>>2];f[m+24>>2]=f[y+24>>2];f[m+28>>2]=f[y+28>>2];f[m+32>>2]=f[y+32>>2];C=f[y+36>>2]|0;f[m+36>>2]=C;f[m+40>>2]=B;B=m+48|0;D=m+44|0;f[D>>2]=B;f[B>>2]=0;f[m+52>>2]=0;if(C|0){B=C+12|0;f[B>>2]=(f[B>>2]|0)+1}if((f[A>>2]|0)<3){A=f[y+44>>2]|0;B=f[D>>2]|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];E=m;break}else{f[z>>2]=0;WO(m,y);E=m;break}}else{DJ(m,a,-1);E=m}while(0);if(f[E>>2]&4095|0){f[n>>2]=0;f[n+4>>2]=0;F=JV(n,55)|0;G=206165;H=F+55|0;do{b[F>>0]=b[G>>0]|0;F=F+1|0;G=G+1|0}while((F|0)<(H|0));EP(-215,n,192622,192452,1524);KV(n)}if(!((i|0)>1&((i|0)%2|0|0)==1)){f[n>>2]=0;f[n+4>>2]=0;F=JV(n,35)|0;G=192640;H=F+35|0;do{b[F>>0]=b[G>>0]|0;F=F+1|0;G=G+1|0}while((F|0)<(H|0));EP(-215,n,192622,192452,1525);KV(n)}a=m+40|0;y=f[a>>2]|0;z=f[y+4>>2]|0;A=f[y>>2]|0;f[o>>2]=z;f[o+4>>2]=A;_J(c,o,f[E>>2]&4095,-1,0,0);do if((HJ(c)|0)==65536){o=f[c+4>>2]|0;f[n>>2]=f[o>>2];y=n+4|0;B=o+4|0;f[y>>2]=f[B>>2];D=n+8|0;f[D>>2]=f[o+8>>2];f[n+12>>2]=f[o+12>>2];f[n+16>>2]=f[o+16>>2];f[n+20>>2]=f[o+20>>2];f[n+24>>2]=f[o+24>>2];f[n+28>>2]=f[o+28>>2];f[n+32>>2]=f[o+32>>2];C=f[o+36>>2]|0;f[n+36>>2]=C;f[n+40>>2]=D;D=n+48|0;I=n+44|0;f[I>>2]=D;f[D>>2]=0;f[n+52>>2]=0;if(C|0){D=C+12|0;f[D>>2]=(f[D>>2]|0)+1}if((f[B>>2]|0)<3){B=f[o+44>>2]|0;D=f[I>>2]|0;f[D>>2]=f[B>>2];f[D+4>>2]=f[B+4>>2];break}else{f[y>>2]=0;WO(n,o);break}}else DJ(n,c,-1);while(0);if(!(d<0.0)){c=m+16|0;o=n+16|0;f[p>>2]=1124007936;y=p+4|0;B=p+8|0;D=p+40|0;F=y;H=F+36|0;do{f[F>>2]=0;F=F+4|0}while((F|0)<(H|0));f[D>>2]=B;I=p+48|0;C=p+44|0;f[C>>2]=I;f[I>>2]=0;f[p+52>>2]=0;if((f[c>>2]|0)!=(f[o>>2]|0)){J=n+36|0;K=f[J>>2]|0;if(K){L=K+12|0;f[L>>2]=(f[L>>2]|0)+1;L=p+36|0;K=f[L>>2]|0;if((K|0)!=0?(M=K+12|0,K=f[M>>2]|0,f[M>>2]=K+-1,(K|0)==1):0){XO(p);N=L}else N=L}else N=p+36|0;f[N>>2]=0;L=p+16|0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;if((f[y>>2]|0)>0){K=f[D>>2]|0;M=0;do{f[K+(M<<2)>>2]=0;M=M+1|0;O=f[y>>2]|0}while((M|0)<(O|0));f[p>>2]=f[n>>2];if((O|0)<3)P=32;else P=34}else{f[p>>2]=f[n>>2];P=32}if((P|0)==32){O=f[n+4>>2]|0;if((O|0)<3){f[y>>2]=O;f[B>>2]=f[n+8>>2];f[p+12>>2]=f[n+12>>2];B=f[n+44>>2]|0;O=f[C>>2]|0;f[O>>2]=f[B>>2];f[O+4>>2]=f[B+4>>2]}else P=34}if((P|0)==34)WO(p,n);f[L>>2]=f[o>>2];f[p+20>>2]=f[n+20>>2];f[p+24>>2]=f[n+24>>2];f[p+28>>2]=f[n+28>>2];f[p+32>>2]=f[n+32>>2];f[N>>2]=f[J>>2]}switch(e|0){case 0:{f[q+8>>2]=0;f[q+12>>2]=0;f[q>>2]=16842752;f[q+4>>2]=m;e=r+8|0;f[e>>2]=0;f[e+4>>2]=0;f[r>>2]=33619968;f[r+4>>2]=p;e=f[E>>2]&4095;f[s>>2]=i;f[s+4>>2]=i;f[t>>2]=-1;f[t+4>>2]=-1;j1(q,r,e,s,t,1,17);break}case 1:{f[q>>2]=1124007936;t=q+4|0;s=q+8|0;e=q+40|0;F=t;H=F+36|0;do{f[F>>2]=0;F=F+4|0}while((F|0)<(H|0));f[e>>2]=s;J=q+48|0;N=q+44|0;f[N>>2]=J;f[J>>2]=0;f[q+52>>2]=0;f[r>>2]=1124007936;L=r+4|0;B=r+8|0;O=r+40|0;F=L;H=F+36|0;do{f[F>>2]=0;F=F+4|0}while((F|0)<(H|0));f[O>>2]=B;M=r+48|0;K=r+44|0;f[K>>2]=M;f[M>>2]=0;f[r+52>>2]=0;Q=v+8|0;f[Q>>2]=0;f[Q+4>>2]=0;f[v>>2]=33619968;f[v+4>>2]=q;AO(m,v,5,1.0,0.0);Q=q+36|0;R=f[Q>>2]|0;if(R|0){S=R+12|0;f[S>>2]=(f[S>>2]|0)+1}S=r+36|0;R=f[S>>2]|0;if(R|0?(T=R+12|0,R=f[T>>2]|0,f[T>>2]=R+-1,(R|0)==1):0)XO(r);f[S>>2]=0;R=r+16|0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;f[R+12>>2]=0;if((f[L>>2]|0)>0){T=f[O>>2]|0;U=0;do{f[T+(U<<2)>>2]=0;U=U+1|0;V=f[L>>2]|0}while((U|0)<(V|0));f[r>>2]=f[q>>2];if((V|0)<3)P=48;else P=50}else{f[r>>2]=f[q>>2];P=48}if((P|0)==48){V=f[t>>2]|0;if((V|0)<3){f[L>>2]=V;f[B>>2]=f[s>>2];f[r+12>>2]=f[q+12>>2];s=f[N>>2]|0;B=f[K>>2]|0;f[B>>2]=f[s>>2];f[B+4>>2]=f[s+4>>2]}else P=50}if((P|0)==50)WO(r,q);s=q+16|0;f[R>>2]=f[s>>2];f[r+20>>2]=f[q+20>>2];f[r+24>>2]=f[q+24>>2];f[r+28>>2]=f[q+28>>2];f[r+32>>2]=f[q+32>>2];f[S>>2]=f[Q>>2];f[v+8>>2]=0;f[v+12>>2]=0;f[v>>2]=16842752;f[v+4>>2]=q;B=w+8|0;f[B>>2]=0;f[B+4>>2]=0;f[w>>2]=33619968;f[w+4>>2]=r;f[x>>2]=i;f[x+4>>2]=i;n1(v,w,x,0.0,0.0,17);x=v+8|0;f[x>>2]=0;f[x+4>>2]=0;f[v>>2]=33619968;f[v+4>>2]=p;AO(r,v,f[E>>2]&4095,1.0,0.0);v=f[S>>2]|0;if(v|0?(x=v+12|0,v=f[x>>2]|0,f[x>>2]=v+-1,(v|0)==1):0)XO(r);f[S>>2]=0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;f[R+12>>2]=0;if((f[L>>2]|0)>0){R=f[O>>2]|0;O=0;do{f[R+(O<<2)>>2]=0;O=O+1|0}while((O|0)<(f[L>>2]|0))}L=f[K>>2]|0;if((L|0)!=(M|0))dX(L);L=f[Q>>2]|0;if(L|0?(M=L+12|0,L=f[M>>2]|0,f[M>>2]=L+-1,(L|0)==1):0)XO(q);f[Q>>2]=0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if((f[t>>2]|0)>0){s=f[e>>2]|0;e=0;do{f[s+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(f[t>>2]|0))}t=f[N>>2]|0;if((t|0)!=(J|0))dX(t);break}default:{f[q>>2]=0;f[q+4>>2]=0;F=JV(q,45)|0;G=192676;H=F+45|0;do{b[F>>0]=b[G>>0]|0;F=F+1|0;G=G+1|0}while((F|0)<(H|0));EP(-206,q,192622,192452,1557);KV(q)}}t=AEa(d)|0;J=(t>>>0<256?t:(t|0)>0?255:0)&255;t=~~j;d=+(t|0);do if(!g){N=0-(t+(d>0]=(e+-255|0)>(N|0)?J:0;e=e+1|0}while((e|0)!=768);W=q}else{if((g|0)!=1){f[r>>2]=0;f[r+4>>2]=0;F=JV(r,34)|0;G=192722;H=F+34|0;do{b[F>>0]=b[G>>0]|0;F=F+1|0;G=G+1|0}while((F|0)<(H|0));EP(-206,r,192622,192452,1571);KV(r);W=q;break}e=(d>j&1)-t|0;N=0;do{b[q+N>>0]=(N+-255|0)<=(e|0)?J:0;N=N+1|0}while((N|0)!=768);W=q}while(0);if((f[E>>2]&16384|0)!=0?(f[p>>2]&16384|0)!=0:0){E=(f[n>>2]&16384|0)!=0;W=X(E?A:1,z)|0;if(E){Y=W;Z=1;P=80}else{_=W;P=79}}else{_=z;P=79}if((P|0)==79?(A|0)>0:0){Y=_;Z=A;P=80}if((P|0)==80?(P=m+44|0,A=p+16|0,_=n+44|0,(Y|0)>0):0){z=0;do{W=(f[c>>2]|0)+(X(f[f[P>>2]>>2]|0,z)|0)|0;E=(f[A>>2]|0)+(X(f[f[C>>2]>>2]|0,z)|0)|0;J=(f[o>>2]|0)+(X(f[f[_>>2]>>2]|0,z)|0)|0;t=0;do{b[J+t>>0]=b[q+((h[W+t>>0]|0)+255-(h[E+t>>0]|0))>>0]|0;t=t+1|0}while((t|0)!=(Y|0));z=z+1|0}while((z|0)!=(Z|0))}Z=p+36|0;z=f[Z>>2]|0;if(z|0?(Y=z+12|0,z=f[Y>>2]|0,f[Y>>2]=z+-1,(z|0)==1):0)XO(p);f[Z>>2]=0;Z=p+16|0;f[Z>>2]=0;f[Z+4>>2]=0;f[Z+8>>2]=0;f[Z+12>>2]=0;if((f[y>>2]|0)>0){Z=f[D>>2]|0;D=0;do{f[Z+(D<<2)>>2]=0;D=D+1|0}while((D|0)<(f[y>>2]|0))}y=f[C>>2]|0;if((y|0)!=(I|0))dX(y)}else{f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[p+24>>2]=0;f[p+28>>2]=0;gM(n,p)|0}p=n+36|0;y=f[p>>2]|0;if(y|0?(I=y+12|0,y=f[I>>2]|0,f[I>>2]=y+-1,(y|0)==1):0)XO(n);f[p>>2]=0;p=n+16|0;y=n+4|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;if((f[y>>2]|0)>0){p=f[n+40>>2]|0;I=0;do{f[p+(I<<2)>>2]=0;I=I+1|0}while((I|0)<(f[y>>2]|0))}y=f[n+44>>2]|0;if((y|0)!=(n+48|0))dX(y);y=m+36|0;n=f[y>>2]|0;if(n|0?(I=n+12|0,n=f[I>>2]|0,f[I>>2]=n+-1,(n|0)==1):0)XO(m);f[y>>2]=0;y=m+16|0;n=m+4|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;if((f[n>>2]|0)>0){y=f[a>>2]|0;a=0;do{f[y+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[n>>2]|0))}n=f[m+44>>2]|0;if((n|0)!=(m+48|0))dX(n);if(!(f[l+4>>2]|0)){u=k;return}u=k;return}function Z_(a,c,d,e,g){a=a|0;c=c|0;d=+d;e=+e;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0;h=u;u=u+208|0;i=h+144|0;j=h+88|0;k=h+32|0;l=h+16|0;m=h;NY(i,a,0,1,0,0);NY(j,c,0,1,0,0);f[k>>2]=f[j>>2];c=k+4|0;a=j+4|0;n=f[a>>2]|0;f[c>>2]=n;o=k+8|0;f[o>>2]=f[j+8>>2];f[k+12>>2]=f[j+12>>2];p=k+16|0;q=j+16|0;f[p>>2]=f[q>>2];f[k+20>>2]=f[j+20>>2];f[k+24>>2]=f[j+24>>2];f[k+28>>2]=f[j+28>>2];f[k+32>>2]=f[j+32>>2];r=k+36|0;s=j+36|0;t=f[s>>2]|0;f[r>>2]=t;v=k+40|0;f[v>>2]=o;o=k+48|0;w=k+44|0;f[w>>2]=o;f[o>>2]=0;f[k+52>>2]=0;if(!t)x=n;else{n=t+12|0;f[n>>2]=(f[n>>2]|0)+1;x=f[a>>2]|0}if((x|0)<3){x=f[j+44>>2]|0;n=f[w>>2]|0;f[n>>2]=f[x>>2];f[n+4>>2]=f[x+4>>2]}else{f[c>>2]=0;WO(k,j)}x=i+40|0;n=f[x>>2]|0;t=f[n+-4>>2]|0;y=j+40|0;z=f[y>>2]|0;a:do if((t|0)==(f[z+-4>>2]|0)){if((t|0)==2){if((f[n>>2]|0)!=(f[z>>2]|0)){A=15;break}if((f[n+4>>2]|0)!=(f[z+4>>2]|0)){A=15;break}}else if((t|0)>0){B=0;do{if((f[n+(B<<2)>>2]|0)!=(f[z+(B<<2)>>2]|0)){A=15;break a}B=B+1|0}while((B|0)<(t|0))}B=f[i>>2]|0;C=f[j>>2]|0;if(!(((C^B)&4088|0)==0?(D=C&7,(B&7|0)==(D|0)|(D|0)==0):0))A=15}else A=15;while(0);if((A|0)==15){f[l>>2]=0;f[l+4>>2]=0;A=JV(l,108)|0;t=192848;z=A+108|0;do{b[A>>0]=b[t>>0]|0;A=A+1|0;t=t+1|0}while((A|0)<(z|0));EP(-215,l,192957,192452,1596);KV(l)}f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=i;t=m+8|0;f[t>>2]=0;f[t+4>>2]=0;f[m>>2]=33619968;f[m+4>>2]=j;E=+T_(l,m,d,e,g);if((f[p>>2]|0)!=(f[q>>2]|0)){g=l+8|0;f[g>>2]=0;f[g+4>>2]=0;f[l>>2]=33619968;f[l+4>>2]=k;AO(j,l,f[k>>2]&7,1.0,0.0)}l=f[r>>2]|0;if(l|0?(g=l+12|0,l=f[g>>2]|0,f[g>>2]=l+-1,(l|0)==1):0)XO(k);f[r>>2]=0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;if((f[c>>2]|0)>0){p=f[v>>2]|0;v=0;do{f[p+(v<<2)>>2]=0;v=v+1|0}while((v|0)<(f[c>>2]|0))}c=f[w>>2]|0;if((c|0)!=(o|0))dX(c);c=f[s>>2]|0;if(c|0?(o=c+12|0,c=f[o>>2]|0,f[o>>2]=c+-1,(c|0)==1):0)XO(j);f[s>>2]=0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;if((f[a>>2]|0)>0){q=f[y>>2]|0;y=0;do{f[q+(y<<2)>>2]=0;y=y+1|0}while((y|0)<(f[a>>2]|0))}a=f[j+44>>2]|0;if((a|0)!=(j+48|0))dX(a);a=i+36|0;j=f[a>>2]|0;if(j|0?(y=j+12|0,j=f[y>>2]|0,f[y>>2]=j+-1,(j|0)==1):0)XO(i);f[a>>2]=0;a=i+16|0;j=i+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if((f[j>>2]|0)>0){a=f[x>>2]|0;x=0;do{f[a+(x<<2)>>2]=0;x=x+1|0}while((x|0)<(f[j>>2]|0))}j=f[i+44>>2]|0;if((j|0)==(i+48|0)){u=h;return +E}dX(j);u=h;return +E}function __(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=u;u=u+16|0;i=h;j=h+8|0;k=c&7;l=d&7;if((d^c)&4088|0){f[j>>2]=0;f[j+4>>2]=0;m=JV(j,90)|0;n=192969;o=m+90|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,j,193060,193076,1306);KV(j)}n=(g|0)<0?(e|0)/2|0:g;g=(k|0)==0;m=(l|0)==4;if(g&m){o=EQa(12)|0;xia(o);f[o>>2]=44108;f[o+4>>2]=e;f[o+8>>2]=n;p=EQa(16)|0;q=p+4|0;f[q>>2]=1;f[p>>2]=44128;f[p+8>>2]=o;f[a>>2]=p;f[a+4>>2]=o;f[q>>2]=(f[q>>2]|0)+1;o=f[q>>2]|0;f[q>>2]=o+-1;if((o|0)!=1){u=h;return}qg[f[(f[p>>2]|0)+8>>2]&1023](p);u=h;return}if(g&(l|0)==2){p=EQa(12)|0;xia(p);f[p>>2]=44148;f[p+4>>2]=e;f[p+8>>2]=n;o=EQa(16)|0;q=o+4|0;f[q>>2]=1;f[o>>2]=44168;f[o+8>>2]=p;f[a>>2]=o;f[a+4>>2]=p;f[q>>2]=(f[q>>2]|0)+1;p=f[q>>2]|0;f[q>>2]=p+-1;if((p|0)!=1){u=h;return}qg[f[(f[o>>2]|0)+8>>2]&1023](o);u=h;return}o=(l|0)==6;if(g&o){g=EQa(12)|0;xia(g);f[g>>2]=44188;f[g+4>>2]=e;f[g+8>>2]=n;l=EQa(16)|0;p=l+4|0;f[p>>2]=1;f[l>>2]=44208;f[l+8>>2]=g;f[a>>2]=l;f[a+4>>2]=g;f[p>>2]=(f[p>>2]|0)+1;g=f[p>>2]|0;f[p>>2]=g+-1;if((g|0)!=1){u=h;return}qg[f[(f[l>>2]|0)+8>>2]&1023](l);u=h;return}l=(k|0)==2;if(l&m){g=EQa(12)|0;xia(g);f[g>>2]=44228;f[g+4>>2]=e;f[g+8>>2]=n;p=EQa(16)|0;q=p+4|0;f[q>>2]=1;f[p>>2]=44248;f[p+8>>2]=g;f[a>>2]=p;f[a+4>>2]=g;f[q>>2]=(f[q>>2]|0)+1;g=f[q>>2]|0;f[q>>2]=g+-1;if((g|0)!=1){u=h;return}qg[f[(f[p>>2]|0)+8>>2]&1023](p);u=h;return}if(l&o){l=EQa(12)|0;xia(l);f[l>>2]=44268;f[l+4>>2]=e;f[l+8>>2]=n;p=EQa(16)|0;g=p+4|0;f[g>>2]=1;f[p>>2]=44288;f[p+8>>2]=l;f[a>>2]=p;f[a+4>>2]=l;f[g>>2]=(f[g>>2]|0)+1;l=f[g>>2]|0;f[g>>2]=l+-1;if((l|0)!=1){u=h;return}qg[f[(f[p>>2]|0)+8>>2]&1023](p);u=h;return}p=(k|0)==3;if(p&m){l=EQa(12)|0;xia(l);f[l>>2]=44308;f[l+4>>2]=e;f[l+8>>2]=n;g=EQa(16)|0;q=g+4|0;f[q>>2]=1;f[g>>2]=44328;f[g+8>>2]=l;f[a>>2]=g;f[a+4>>2]=l;f[q>>2]=(f[q>>2]|0)+1;l=f[q>>2]|0;f[q>>2]=l+-1;if((l|0)!=1){u=h;return}qg[f[(f[g>>2]|0)+8>>2]&1023](g);u=h;return}if((k|0)==4&m){m=EQa(12)|0;xia(m);f[m>>2]=44348;f[m+4>>2]=e;f[m+8>>2]=n;g=EQa(16)|0;l=g+4|0;f[l>>2]=1;f[g>>2]=44368;f[g+8>>2]=m;f[a>>2]=g;f[a+4>>2]=m;f[l>>2]=(f[l>>2]|0)+1;m=f[l>>2]|0;f[l>>2]=m+-1;if((m|0)!=1){u=h;return}qg[f[(f[g>>2]|0)+8>>2]&1023](g);u=h;return}if(p&o){p=EQa(12)|0;xia(p);f[p>>2]=44388;f[p+4>>2]=e;f[p+8>>2]=n;g=EQa(16)|0;m=g+4|0;f[m>>2]=1;f[g>>2]=44408;f[g+8>>2]=p;f[a>>2]=g;f[a+4>>2]=p;f[m>>2]=(f[m>>2]|0)+1;p=f[m>>2]|0;f[m>>2]=p+-1;if((p|0)!=1){u=h;return}qg[f[(f[g>>2]|0)+8>>2]&1023](g);u=h;return}if((k|0)==5&o){g=EQa(12)|0;xia(g);f[g>>2]=44428;f[g+4>>2]=e;f[g+8>>2]=n;p=EQa(16)|0;m=p+4|0;f[m>>2]=1;f[p>>2]=44448;f[p+8>>2]=g;f[a>>2]=p;f[a+4>>2]=g;f[m>>2]=(f[m>>2]|0)+1;g=f[m>>2]|0;f[m>>2]=g+-1;if((g|0)!=1){u=h;return}qg[f[(f[p>>2]|0)+8>>2]&1023](p);u=h;return}if(!((k|0)==6&o)){f[i>>2]=c;f[i+4>>2]=d;LP(j,234072,i);EP(-213,j,193060,193076,1334);KV(j);f[a>>2]=0;f[a+4>>2]=0;u=h;return}j=EQa(12)|0;xia(j);f[j>>2]=44468;f[j+4>>2]=e;f[j+8>>2]=n;n=EQa(16)|0;e=n+4|0;f[e>>2]=1;f[n>>2]=44488;f[n+8>>2]=j;f[a>>2]=n;f[a+4>>2]=j;f[e>>2]=(f[e>>2]|0)+1;j=f[e>>2]|0;f[e>>2]=j+-1;if((j|0)!=1){u=h;return}qg[f[(f[n>>2]|0)+8>>2]&1023](n);u=h;return}function $_(a){a=a|0;GQa(a);return}function a$(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function b$(a){a=a|0;GQa(a);return}function c$(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0,J=0,K=0,L=0;g=f[a+4>>2]|0;a=X(g,e)|0;h=X(d+-1|0,e)|0;switch(g|0){case 3:{g=X(e,d)|0;if((g|0)<=0)return;i=e<<1;j=0;do{p[c+(j<<3)>>3]=+p[b+(j<<3)>>3]+ +p[b+(j+e<<3)>>3]+ +p[b+(j+i<<3)>>3];j=j+1|0}while((j|0)!=(g|0));return}case 5:{g=X(e,d)|0;if((g|0)<=0)return;d=e<<1;j=e*3|0;i=e<<2;k=0;do{p[c+(k<<3)>>3]=+p[b+(k<<3)>>3]+ +p[b+(k+e<<3)>>3]+ +p[b+(k+d<<3)>>3]+ +p[b+(k+j<<3)>>3]+ +p[b+(k+i<<3)>>3];k=k+1|0}while((k|0)!=(g|0));return}default:switch(e|0){case 1:{if((a|0)>0){l=0.0;g=0;while(1){m=l+ +p[b+(g<<3)>>3];g=g+1|0;if((g|0)==(a|0)){n=m;break}else l=m}}else n=0.0;p[c>>3]=n;if((h|0)>0){o=n;q=0}else return;do{o=o+(+p[b+(q+a<<3)>>3]-+p[b+(q<<3)>>3]);q=q+1|0;p[c+(q<<3)>>3]=o}while((q|0)!=(h|0));return}case 3:{if((a|0)>0){o=0.0;n=0.0;l=0.0;q=0;while(1){m=l+ +p[b+(q<<3)>>3];r=n+ +p[b+(q+1<<3)>>3];s=o+ +p[b+(q+2<<3)>>3];q=q+3|0;if((q|0)>=(a|0)){t=s;u=r;v=m;break}else{o=s;n=r;l=m}}}else{t=0.0;u=0.0;v=0.0}p[c>>3]=v;p[c+8>>3]=u;p[c+16>>3]=t;if((h|0)>0){w=t;x=u;y=v;z=0}else return;do{q=z+a|0;y=y+(+p[b+(q<<3)>>3]-+p[b+(z<<3)>>3]);x=x+(+p[b+(q+1<<3)>>3]-+p[b+(z+1<<3)>>3]);w=w+(+p[b+(q+2<<3)>>3]-+p[b+(z+2<<3)>>3]);q=z;z=z+3|0;p[c+(z<<3)>>3]=y;p[c+(q+4<<3)>>3]=x;p[c+(q+5<<3)>>3]=w}while((z|0)<(h|0));return}case 4:{if((a|0)>0){w=0.0;x=0.0;y=0.0;v=0.0;z=0;while(1){u=v+ +p[b+(z<<3)>>3];t=y+ +p[b+((z|1)<<3)>>3];l=x+ +p[b+((z|2)<<3)>>3];n=w+ +p[b+((z|3)<<3)>>3];z=z+4|0;if((z|0)>=(a|0)){A=n;B=l;C=t;D=u;break}else{w=n;x=l;y=t;v=u}}}else{A=0.0;B=0.0;C=0.0;D=0.0}p[c>>3]=D;p[c+8>>3]=C;p[c+16>>3]=B;p[c+24>>3]=A;if((h|0)>0){E=A;F=B;G=C;H=D;I=0}else return;do{z=I+a|0;H=H+(+p[b+(z<<3)>>3]-+p[b+(I<<3)>>3]);G=G+(+p[b+(z+1<<3)>>3]-+p[b+((I|1)<<3)>>3]);F=F+(+p[b+(z+2<<3)>>3]-+p[b+((I|2)<<3)>>3]);E=E+(+p[b+(z+3<<3)>>3]-+p[b+((I|3)<<3)>>3]);z=I;I=I+4|0;p[c+(I<<3)>>3]=H;p[c+(z+5<<3)>>3]=G;p[c+(z+6<<3)>>3]=F;p[c+(z+7<<3)>>3]=E}while((I|0)<(h|0));return}default:{if((e|0)<=0)return;I=(h|0)>0;if((a|0)>0){z=0;q=c;g=b;while(1){E=0.0;k=0;do{E=E+ +p[g+(k<<3)>>3];k=k+e|0}while((k|0)<(a|0));p[q>>3]=E;if(I){F=E;k=0;do{F=F+(+p[g+(k+a<<3)>>3]-+p[g+(k<<3)>>3]);k=k+e|0;p[q+(k<<3)>>3]=F}while((k|0)<(h|0))}z=z+1|0;if((z|0)==(e|0))break;else{q=q+8|0;g=g+8|0}}return}if(I){J=0;K=c;L=b}else{FVa(c|0,0,e<<3|0)|0;return}while(1){p[K>>3]=0.0;F=0.0;c=0;do{F=F+(+p[L+(c+a<<3)>>3]-+p[L+(c<<3)>>3]);c=c+e|0;p[K+(c<<3)>>3]=F}while((c|0)<(h|0));J=J+1|0;if((J|0)==(e|0))break;else{K=K+8|0;L=L+8|0}}return}}}}function d$(a){a=a|0;GQa(a);return}function e$(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function f$(a){a=a|0;GQa(a);return}function g$(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0.0,m=0.0,o=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,K=0,L=0,M=0;g=f[a+4>>2]|0;a=X(g,e)|0;h=X(d+-1|0,e)|0;switch(g|0){case 3:{g=X(e,d)|0;if((g|0)<=0)return;i=e<<1;j=0;do{p[c+(j<<3)>>3]=+n[b+(j<<2)>>2]+ +n[b+(j+e<<2)>>2]+ +n[b+(j+i<<2)>>2];j=j+1|0}while((j|0)!=(g|0));return}case 5:{g=X(e,d)|0;if((g|0)<=0)return;d=e<<1;j=e*3|0;i=e<<2;k=0;do{p[c+(k<<3)>>3]=+n[b+(k<<2)>>2]+ +n[b+(k+e<<2)>>2]+ +n[b+(k+d<<2)>>2]+ +n[b+(k+j<<2)>>2]+ +n[b+(k+i<<2)>>2];k=k+1|0}while((k|0)!=(g|0));return}default:switch(e|0){case 1:{if((a|0)>0){l=0.0;g=0;while(1){m=l+ +n[b+(g<<2)>>2];g=g+1|0;if((g|0)==(a|0)){o=m;break}else l=m}}else o=0.0;p[c>>3]=o;if((h|0)>0){q=o;r=0}else return;do{q=q+(+n[b+(r+a<<2)>>2]-+n[b+(r<<2)>>2]);r=r+1|0;p[c+(r<<3)>>3]=q}while((r|0)!=(h|0));return}case 3:{if((a|0)>0){q=0.0;o=0.0;l=0.0;r=0;while(1){m=l+ +n[b+(r<<2)>>2];s=o+ +n[b+(r+1<<2)>>2];t=q+ +n[b+(r+2<<2)>>2];r=r+3|0;if((r|0)>=(a|0)){u=t;v=s;w=m;break}else{q=t;o=s;l=m}}}else{u=0.0;v=0.0;w=0.0}p[c>>3]=w;p[c+8>>3]=v;p[c+16>>3]=u;if((h|0)>0){x=u;y=v;z=w;A=0}else return;do{r=A+a|0;z=z+(+n[b+(r<<2)>>2]-+n[b+(A<<2)>>2]);y=y+(+n[b+(r+1<<2)>>2]-+n[b+(A+1<<2)>>2]);x=x+(+n[b+(r+2<<2)>>2]-+n[b+(A+2<<2)>>2]);r=A;A=A+3|0;p[c+(A<<3)>>3]=z;p[c+(r+4<<3)>>3]=y;p[c+(r+5<<3)>>3]=x}while((A|0)<(h|0));return}case 4:{if((a|0)>0){x=0.0;y=0.0;z=0.0;w=0.0;A=0;while(1){v=w+ +n[b+(A<<2)>>2];u=z+ +n[b+((A|1)<<2)>>2];l=y+ +n[b+((A|2)<<2)>>2];o=x+ +n[b+((A|3)<<2)>>2];A=A+4|0;if((A|0)>=(a|0)){B=o;C=l;D=u;E=v;break}else{x=o;y=l;z=u;w=v}}}else{B=0.0;C=0.0;D=0.0;E=0.0}p[c>>3]=E;p[c+8>>3]=D;p[c+16>>3]=C;p[c+24>>3]=B;if((h|0)>0){F=B;G=C;H=D;I=E;J=0}else return;do{A=J+a|0;I=I+(+n[b+(A<<2)>>2]-+n[b+(J<<2)>>2]);H=H+(+n[b+(A+1<<2)>>2]-+n[b+((J|1)<<2)>>2]);G=G+(+n[b+(A+2<<2)>>2]-+n[b+((J|2)<<2)>>2]);F=F+(+n[b+(A+3<<2)>>2]-+n[b+((J|3)<<2)>>2]);A=J;J=J+4|0;p[c+(J<<3)>>3]=I;p[c+(A+5<<3)>>3]=H;p[c+(A+6<<3)>>3]=G;p[c+(A+7<<3)>>3]=F}while((J|0)<(h|0));return}default:{if((e|0)<=0)return;J=(h|0)>0;if((a|0)>0){A=0;r=c;g=b;while(1){F=0.0;k=0;do{F=F+ +n[g+(k<<2)>>2];k=k+e|0}while((k|0)<(a|0));p[r>>3]=F;if(J){G=F;k=0;do{G=G+(+n[g+(k+a<<2)>>2]-+n[g+(k<<2)>>2]);k=k+e|0;p[r+(k<<3)>>3]=G}while((k|0)<(h|0))}A=A+1|0;if((A|0)==(e|0))break;else{r=r+8|0;g=g+4|0}}return}if(J){K=0;L=c;M=b}else{FVa(c|0,0,e<<3|0)|0;return}while(1){p[L>>3]=0.0;G=0.0;c=0;do{G=G+(+n[M+(c+a<<2)>>2]-+n[M+(c<<2)>>2]);c=c+e|0;p[L+(c<<3)>>3]=G}while((c|0)<(h|0));K=K+1|0;if((K|0)==(e|0))break;else{L=L+8|0;M=M+4|0}}return}}}}function h$(a){a=a|0;GQa(a);return}function i$(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function j$(a){a=a|0;GQa(a);return}function k$(a,b,c,e,g){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,K=0,L=0,M=0;h=f[a+4>>2]|0;a=X(h,g)|0;i=X(e+-1|0,g)|0;switch(h|0){case 3:{h=X(g,e)|0;if((h|0)<=0)return;j=g<<1;k=0;do{p[c+(k<<3)>>3]=+(d[b+(k<<1)>>1]|0)+ +(d[b+(k+g<<1)>>1]|0)+ +(d[b+(k+j<<1)>>1]|0);k=k+1|0}while((k|0)!=(h|0));return}case 5:{h=X(g,e)|0;if((h|0)<=0)return;e=g<<1;k=g*3|0;j=g<<2;l=0;do{p[c+(l<<3)>>3]=+(d[b+(l<<1)>>1]|0)+ +(d[b+(l+g<<1)>>1]|0)+ +(d[b+(l+e<<1)>>1]|0)+ +(d[b+(l+k<<1)>>1]|0)+ +(d[b+(l+j<<1)>>1]|0);l=l+1|0}while((l|0)!=(h|0));return}default:switch(g|0){case 1:{if((a|0)>0){m=0.0;h=0;while(1){n=m+ +(d[b+(h<<1)>>1]|0);h=h+1|0;if((h|0)==(a|0)){o=n;break}else m=n}}else o=0.0;p[c>>3]=o;if((i|0)>0){q=o;r=0}else return;do{q=q+(+(d[b+(r+a<<1)>>1]|0)-+(d[b+(r<<1)>>1]|0));r=r+1|0;p[c+(r<<3)>>3]=q}while((r|0)!=(i|0));return}case 3:{if((a|0)>0){q=0.0;o=0.0;m=0.0;r=0;while(1){n=m+ +(d[b+(r<<1)>>1]|0);s=o+ +(d[b+(r+1<<1)>>1]|0);t=q+ +(d[b+(r+2<<1)>>1]|0);r=r+3|0;if((r|0)>=(a|0)){u=t;v=s;w=n;break}else{q=t;o=s;m=n}}}else{u=0.0;v=0.0;w=0.0}p[c>>3]=w;p[c+8>>3]=v;p[c+16>>3]=u;if((i|0)>0){x=u;y=v;z=w;A=0}else return;do{r=A+a|0;z=z+(+(d[b+(r<<1)>>1]|0)-+(d[b+(A<<1)>>1]|0));y=y+(+(d[b+(r+1<<1)>>1]|0)-+(d[b+(A+1<<1)>>1]|0));x=x+(+(d[b+(r+2<<1)>>1]|0)-+(d[b+(A+2<<1)>>1]|0));r=A;A=A+3|0;p[c+(A<<3)>>3]=z;p[c+(r+4<<3)>>3]=y;p[c+(r+5<<3)>>3]=x}while((A|0)<(i|0));return}case 4:{if((a|0)>0){x=0.0;y=0.0;z=0.0;w=0.0;A=0;while(1){v=w+ +(d[b+(A<<1)>>1]|0);u=z+ +(d[b+((A|1)<<1)>>1]|0);m=y+ +(d[b+((A|2)<<1)>>1]|0);o=x+ +(d[b+((A|3)<<1)>>1]|0);A=A+4|0;if((A|0)>=(a|0)){B=o;C=m;D=u;E=v;break}else{x=o;y=m;z=u;w=v}}}else{B=0.0;C=0.0;D=0.0;E=0.0}p[c>>3]=E;p[c+8>>3]=D;p[c+16>>3]=C;p[c+24>>3]=B;if((i|0)>0){F=B;G=C;H=D;I=E;J=0}else return;do{A=J+a|0;I=I+(+(d[b+(A<<1)>>1]|0)-+(d[b+(J<<1)>>1]|0));H=H+(+(d[b+(A+1<<1)>>1]|0)-+(d[b+((J|1)<<1)>>1]|0));G=G+(+(d[b+(A+2<<1)>>1]|0)-+(d[b+((J|2)<<1)>>1]|0));F=F+(+(d[b+(A+3<<1)>>1]|0)-+(d[b+((J|3)<<1)>>1]|0));A=J;J=J+4|0;p[c+(J<<3)>>3]=I;p[c+(A+5<<3)>>3]=H;p[c+(A+6<<3)>>3]=G;p[c+(A+7<<3)>>3]=F}while((J|0)<(i|0));return}default:{if((g|0)<=0)return;J=(i|0)>0;if((a|0)>0){A=0;r=c;h=b;while(1){F=0.0;l=0;do{F=F+ +(d[h+(l<<1)>>1]|0);l=l+g|0}while((l|0)<(a|0));p[r>>3]=F;if(J){G=F;l=0;do{G=G+(+(d[h+(l+a<<1)>>1]|0)-+(d[h+(l<<1)>>1]|0));l=l+g|0;p[r+(l<<3)>>3]=G}while((l|0)<(i|0))}A=A+1|0;if((A|0)==(g|0))break;else{r=r+8|0;h=h+2|0}}return}if(J){K=0;L=c;M=b}else{FVa(c|0,0,g<<3|0)|0;return}while(1){p[L>>3]=0.0;G=0.0;c=0;do{G=G+(+(d[M+(c+a<<1)>>1]|0)-+(d[M+(c<<1)>>1]|0));c=c+g|0;p[L+(c<<3)>>3]=G}while((c|0)<(i|0));K=K+1|0;if((K|0)==(g|0))break;else{L=L+8|0;M=M+2|0}}return}}}}function l$(a){a=a|0;GQa(a);return}function m$(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function n$(a){a=a|0;GQa(a);return}function o$(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=f[a+4>>2]|0;a=X(g,e)|0;h=X(d+-1|0,e)|0;switch(g|0){case 3:{g=X(e,d)|0;if((g|0)<=0)return;i=e<<1;j=0;do{f[c+(j<<2)>>2]=(f[b+(j+e<<2)>>2]|0)+(f[b+(j<<2)>>2]|0)+(f[b+(j+i<<2)>>2]|0);j=j+1|0}while((j|0)!=(g|0));return}case 5:{g=X(e,d)|0;if((g|0)<=0)return;d=e<<1;j=e*3|0;i=e<<2;k=0;do{f[c+(k<<2)>>2]=(f[b+(k+e<<2)>>2]|0)+(f[b+(k<<2)>>2]|0)+(f[b+(k+d<<2)>>2]|0)+(f[b+(k+j<<2)>>2]|0)+(f[b+(k+i<<2)>>2]|0);k=k+1|0}while((k|0)!=(g|0));return}default:switch(e|0){case 1:{if((a|0)>0){g=0;k=0;while(1){i=(f[b+(k<<2)>>2]|0)+g|0;k=k+1|0;if((k|0)==(a|0)){l=i;break}else g=i}}else l=0;f[c>>2]=l;if((h|0)>0){m=l;n=0}else return;do{m=(f[b+(n+a<<2)>>2]|0)-(f[b+(n<<2)>>2]|0)+m|0;n=n+1|0;f[c+(n<<2)>>2]=m}while((n|0)!=(h|0));return}case 3:{if((a|0)>0){n=0;m=0;l=0;g=0;while(1){k=(f[b+(g<<2)>>2]|0)+l|0;i=(f[b+(g+1<<2)>>2]|0)+m|0;j=(f[b+(g+2<<2)>>2]|0)+n|0;g=g+3|0;if((g|0)>=(a|0)){o=j;p=i;q=k;break}else{n=j;m=i;l=k}}}else{o=0;p=0;q=0}f[c>>2]=q;f[c+4>>2]=p;f[c+8>>2]=o;if((h|0)>0){r=o;s=p;t=q;u=0}else return;do{q=u+a|0;t=(f[b+(q<<2)>>2]|0)-(f[b+(u<<2)>>2]|0)+t|0;s=(f[b+(q+1<<2)>>2]|0)-(f[b+(u+1<<2)>>2]|0)+s|0;r=(f[b+(q+2<<2)>>2]|0)-(f[b+(u+2<<2)>>2]|0)+r|0;q=u;u=u+3|0;f[c+(u<<2)>>2]=t;f[c+(q+4<<2)>>2]=s;f[c+(q+5<<2)>>2]=r}while((u|0)<(h|0));return}case 4:{if((a|0)>0){u=0;r=0;s=0;t=0;q=0;while(1){p=(f[b+(q<<2)>>2]|0)+t|0;o=(f[b+((q|1)<<2)>>2]|0)+s|0;l=(f[b+((q|2)<<2)>>2]|0)+r|0;m=(f[b+((q|3)<<2)>>2]|0)+u|0;q=q+4|0;if((q|0)>=(a|0)){v=m;w=l;x=o;y=p;break}else{u=m;r=l;s=o;t=p}}}else{v=0;w=0;x=0;y=0}f[c>>2]=y;f[c+4>>2]=x;f[c+8>>2]=w;f[c+12>>2]=v;if((h|0)>0){z=v;A=w;B=x;C=y;D=0}else return;do{y=D+a|0;C=(f[b+(y<<2)>>2]|0)-(f[b+(D<<2)>>2]|0)+C|0;B=(f[b+(y+1<<2)>>2]|0)-(f[b+((D|1)<<2)>>2]|0)+B|0;A=(f[b+(y+2<<2)>>2]|0)-(f[b+((D|2)<<2)>>2]|0)+A|0;z=(f[b+(y+3<<2)>>2]|0)-(f[b+((D|3)<<2)>>2]|0)+z|0;y=D;D=D+4|0;f[c+(D<<2)>>2]=C;f[c+(y+5<<2)>>2]=B;f[c+(y+6<<2)>>2]=A;f[c+(y+7<<2)>>2]=z}while((D|0)<(h|0));return}default:{if((e|0)<=0)return;D=(h|0)>0;if((a|0)>0){z=0;A=c;B=b;while(1){C=0;y=0;do{C=(f[B+(y<<2)>>2]|0)+C|0;y=y+e|0}while((y|0)<(a|0));f[A>>2]=C;if(D){y=C;x=0;do{y=(f[B+(x+a<<2)>>2]|0)-(f[B+(x<<2)>>2]|0)+y|0;x=x+e|0;f[A+(x<<2)>>2]=y}while((x|0)<(h|0))}z=z+1|0;if((z|0)==(e|0))break;else{A=A+4|0;B=B+4|0}}return}if(D){E=0;F=c;G=b}else{FVa(c|0,0,e<<2|0)|0;return}while(1){f[F>>2]=0;c=0;b=0;do{c=(f[G+(b+a<<2)>>2]|0)-(f[G+(b<<2)>>2]|0)+c|0;b=b+e|0;f[F+(b<<2)>>2]=c}while((b|0)<(h|0));E=E+1|0;if((E|0)==(e|0))break;else{F=F+4|0;G=G+4|0}}return}}}}function p$(a){a=a|0;GQa(a);return}function q$(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function r$(a){a=a|0;GQa(a);return}function s$(a,b,c,e,g){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;h=f[a+4>>2]|0;a=X(h,g)|0;i=X(e+-1|0,g)|0;switch(h|0){case 3:{h=X(g,e)|0;if((h|0)<=0)return;j=g<<1;k=0;do{f[c+(k<<2)>>2]=(d[b+(k+g<<1)>>1]|0)+(d[b+(k<<1)>>1]|0)+(d[b+(k+j<<1)>>1]|0);k=k+1|0}while((k|0)!=(h|0));return}case 5:{h=X(g,e)|0;if((h|0)<=0)return;e=g<<1;k=g*3|0;j=g<<2;l=0;do{f[c+(l<<2)>>2]=(d[b+(l+g<<1)>>1]|0)+(d[b+(l<<1)>>1]|0)+(d[b+(l+e<<1)>>1]|0)+(d[b+(l+k<<1)>>1]|0)+(d[b+(l+j<<1)>>1]|0);l=l+1|0}while((l|0)!=(h|0));return}default:switch(g|0){case 1:{if((a|0)>0){h=0;l=0;while(1){j=h+(d[b+(l<<1)>>1]|0)|0;l=l+1|0;if((l|0)==(a|0)){m=j;break}else h=j}}else m=0;f[c>>2]=m;if((i|0)>0){n=m;o=0}else return;do{n=(d[b+(o+a<<1)>>1]|0)-(d[b+(o<<1)>>1]|0)+n|0;o=o+1|0;f[c+(o<<2)>>2]=n}while((o|0)!=(i|0));return}case 3:{if((a|0)>0){o=0;n=0;m=0;h=0;while(1){l=m+(d[b+(h<<1)>>1]|0)|0;j=n+(d[b+(h+1<<1)>>1]|0)|0;k=o+(d[b+(h+2<<1)>>1]|0)|0;h=h+3|0;if((h|0)>=(a|0)){p=k;q=j;r=l;break}else{o=k;n=j;m=l}}}else{p=0;q=0;r=0}f[c>>2]=r;f[c+4>>2]=q;f[c+8>>2]=p;if((i|0)>0){s=p;t=q;u=r;v=0}else return;do{r=v+a|0;u=(d[b+(r<<1)>>1]|0)-(d[b+(v<<1)>>1]|0)+u|0;t=(d[b+(r+1<<1)>>1]|0)-(d[b+(v+1<<1)>>1]|0)+t|0;s=(d[b+(r+2<<1)>>1]|0)-(d[b+(v+2<<1)>>1]|0)+s|0;r=v;v=v+3|0;f[c+(v<<2)>>2]=u;f[c+(r+4<<2)>>2]=t;f[c+(r+5<<2)>>2]=s}while((v|0)<(i|0));return}case 4:{if((a|0)>0){v=0;s=0;t=0;u=0;r=0;while(1){q=u+(d[b+(r<<1)>>1]|0)|0;p=t+(d[b+((r|1)<<1)>>1]|0)|0;m=s+(d[b+((r|2)<<1)>>1]|0)|0;n=v+(d[b+((r|3)<<1)>>1]|0)|0;r=r+4|0;if((r|0)>=(a|0)){w=n;x=m;y=p;z=q;break}else{v=n;s=m;t=p;u=q}}}else{w=0;x=0;y=0;z=0}f[c>>2]=z;f[c+4>>2]=y;f[c+8>>2]=x;f[c+12>>2]=w;if((i|0)>0){A=w;B=x;C=y;D=z;E=0}else return;do{z=E+a|0;D=(d[b+(z<<1)>>1]|0)-(d[b+(E<<1)>>1]|0)+D|0;C=(d[b+(z+1<<1)>>1]|0)-(d[b+((E|1)<<1)>>1]|0)+C|0;B=(d[b+(z+2<<1)>>1]|0)-(d[b+((E|2)<<1)>>1]|0)+B|0;A=(d[b+(z+3<<1)>>1]|0)-(d[b+((E|3)<<1)>>1]|0)+A|0;z=E;E=E+4|0;f[c+(E<<2)>>2]=D;f[c+(z+5<<2)>>2]=C;f[c+(z+6<<2)>>2]=B;f[c+(z+7<<2)>>2]=A}while((E|0)<(i|0));return}default:{if((g|0)<=0)return;E=(i|0)>0;if((a|0)>0){A=0;B=c;C=b;while(1){D=0;z=0;do{D=D+(d[C+(z<<1)>>1]|0)|0;z=z+g|0}while((z|0)<(a|0));f[B>>2]=D;if(E){z=D;y=0;do{z=(d[C+(y+a<<1)>>1]|0)-(d[C+(y<<1)>>1]|0)+z|0;y=y+g|0;f[B+(y<<2)>>2]=z}while((y|0)<(i|0))}A=A+1|0;if((A|0)==(g|0))break;else{B=B+4|0;C=C+2|0}}return}if(E){F=0;G=c;H=b}else{FVa(c|0,0,g<<2|0)|0;return}while(1){f[G>>2]=0;c=0;b=0;do{c=(d[H+(b+a<<1)>>1]|0)-(d[H+(b<<1)>>1]|0)+c|0;b=b+g|0;f[G+(b<<2)>>2]=c}while((b|0)<(i|0));F=F+1|0;if((F|0)==(g|0))break;else{G=G+4|0;H=H+2|0}}return}}}}function t$(a){a=a|0;GQa(a);return}function u$(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function v$(a){a=a|0;GQa(a);return}function w$(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0.0,n=0.0,o=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,K=0,L=0,M=0;g=f[a+4>>2]|0;a=X(g,e)|0;h=X(d+-1|0,e)|0;switch(g|0){case 3:{g=X(e,d)|0;if((g|0)<=0)return;i=e<<1;k=0;do{p[c+(k<<3)>>3]=+(j[b+(k<<1)>>1]|0)+ +(j[b+(k+e<<1)>>1]|0)+ +(j[b+(k+i<<1)>>1]|0);k=k+1|0}while((k|0)!=(g|0));return}case 5:{g=X(e,d)|0;if((g|0)<=0)return;d=e<<1;k=e*3|0;i=e<<2;l=0;do{p[c+(l<<3)>>3]=+(j[b+(l<<1)>>1]|0)+ +(j[b+(l+e<<1)>>1]|0)+ +(j[b+(l+d<<1)>>1]|0)+ +(j[b+(l+k<<1)>>1]|0)+ +(j[b+(l+i<<1)>>1]|0);l=l+1|0}while((l|0)!=(g|0));return}default:switch(e|0){case 1:{if((a|0)>0){m=0.0;g=0;while(1){n=m+ +(j[b+(g<<1)>>1]|0);g=g+1|0;if((g|0)==(a|0)){o=n;break}else m=n}}else o=0.0;p[c>>3]=o;if((h|0)>0){q=o;r=0}else return;do{q=q+(+(j[b+(r+a<<1)>>1]|0)-+(j[b+(r<<1)>>1]|0));r=r+1|0;p[c+(r<<3)>>3]=q}while((r|0)!=(h|0));return}case 3:{if((a|0)>0){q=0.0;o=0.0;m=0.0;r=0;while(1){n=m+ +(j[b+(r<<1)>>1]|0);s=o+ +(j[b+(r+1<<1)>>1]|0);t=q+ +(j[b+(r+2<<1)>>1]|0);r=r+3|0;if((r|0)>=(a|0)){u=t;v=s;w=n;break}else{q=t;o=s;m=n}}}else{u=0.0;v=0.0;w=0.0}p[c>>3]=w;p[c+8>>3]=v;p[c+16>>3]=u;if((h|0)>0){x=u;y=v;z=w;A=0}else return;do{r=A+a|0;z=z+(+(j[b+(r<<1)>>1]|0)-+(j[b+(A<<1)>>1]|0));y=y+(+(j[b+(r+1<<1)>>1]|0)-+(j[b+(A+1<<1)>>1]|0));x=x+(+(j[b+(r+2<<1)>>1]|0)-+(j[b+(A+2<<1)>>1]|0));r=A;A=A+3|0;p[c+(A<<3)>>3]=z;p[c+(r+4<<3)>>3]=y;p[c+(r+5<<3)>>3]=x}while((A|0)<(h|0));return}case 4:{if((a|0)>0){x=0.0;y=0.0;z=0.0;w=0.0;A=0;while(1){v=w+ +(j[b+(A<<1)>>1]|0);u=z+ +(j[b+((A|1)<<1)>>1]|0);m=y+ +(j[b+((A|2)<<1)>>1]|0);o=x+ +(j[b+((A|3)<<1)>>1]|0);A=A+4|0;if((A|0)>=(a|0)){B=o;C=m;D=u;E=v;break}else{x=o;y=m;z=u;w=v}}}else{B=0.0;C=0.0;D=0.0;E=0.0}p[c>>3]=E;p[c+8>>3]=D;p[c+16>>3]=C;p[c+24>>3]=B;if((h|0)>0){F=B;G=C;H=D;I=E;J=0}else return;do{A=J+a|0;I=I+(+(j[b+(A<<1)>>1]|0)-+(j[b+(J<<1)>>1]|0));H=H+(+(j[b+(A+1<<1)>>1]|0)-+(j[b+((J|1)<<1)>>1]|0));G=G+(+(j[b+(A+2<<1)>>1]|0)-+(j[b+((J|2)<<1)>>1]|0));F=F+(+(j[b+(A+3<<1)>>1]|0)-+(j[b+((J|3)<<1)>>1]|0));A=J;J=J+4|0;p[c+(J<<3)>>3]=I;p[c+(A+5<<3)>>3]=H;p[c+(A+6<<3)>>3]=G;p[c+(A+7<<3)>>3]=F}while((J|0)<(h|0));return}default:{if((e|0)<=0)return;J=(h|0)>0;if((a|0)>0){A=0;r=c;g=b;while(1){F=0.0;l=0;do{F=F+ +(j[g+(l<<1)>>1]|0);l=l+e|0}while((l|0)<(a|0));p[r>>3]=F;if(J){G=F;l=0;do{G=G+(+(j[g+(l+a<<1)>>1]|0)-+(j[g+(l<<1)>>1]|0));l=l+e|0;p[r+(l<<3)>>3]=G}while((l|0)<(h|0))}A=A+1|0;if((A|0)==(e|0))break;else{r=r+8|0;g=g+2|0}}return}if(J){K=0;L=c;M=b}else{FVa(c|0,0,e<<3|0)|0;return}while(1){p[L>>3]=0.0;G=0.0;c=0;do{G=G+(+(j[M+(c+a<<1)>>1]|0)-+(j[M+(c<<1)>>1]|0));c=c+e|0;p[L+(c<<3)>>3]=G}while((c|0)<(h|0));K=K+1|0;if((K|0)==(e|0))break;else{L=L+8|0;M=M+2|0}}return}}}}function x$(a){a=a|0;GQa(a);return}function y$(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function z$(a){a=a|0;GQa(a);return}function A$(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;g=f[a+4>>2]|0;a=X(g,e)|0;h=X(d+-1|0,e)|0;switch(g|0){case 3:{g=X(e,d)|0;if((g|0)<=0)return;i=e<<1;k=0;do{f[c+(k<<2)>>2]=(j[b+(k+e<<1)>>1]|0)+(j[b+(k<<1)>>1]|0)+(j[b+(k+i<<1)>>1]|0);k=k+1|0}while((k|0)!=(g|0));return}case 5:{g=X(e,d)|0;if((g|0)<=0)return;d=e<<1;k=e*3|0;i=e<<2;l=0;do{f[c+(l<<2)>>2]=(j[b+(l+e<<1)>>1]|0)+(j[b+(l<<1)>>1]|0)+(j[b+(l+d<<1)>>1]|0)+(j[b+(l+k<<1)>>1]|0)+(j[b+(l+i<<1)>>1]|0);l=l+1|0}while((l|0)!=(g|0));return}default:switch(e|0){case 1:{if((a|0)>0){g=0;l=0;while(1){i=g+(j[b+(l<<1)>>1]|0)|0;l=l+1|0;if((l|0)==(a|0)){m=i;break}else g=i}}else m=0;f[c>>2]=m;if((h|0)>0){n=m;o=0}else return;do{n=(j[b+(o+a<<1)>>1]|0)-(j[b+(o<<1)>>1]|0)+n|0;o=o+1|0;f[c+(o<<2)>>2]=n}while((o|0)!=(h|0));return}case 3:{if((a|0)>0){o=0;n=0;m=0;g=0;while(1){l=m+(j[b+(g<<1)>>1]|0)|0;i=n+(j[b+(g+1<<1)>>1]|0)|0;k=o+(j[b+(g+2<<1)>>1]|0)|0;g=g+3|0;if((g|0)>=(a|0)){p=k;q=i;r=l;break}else{o=k;n=i;m=l}}}else{p=0;q=0;r=0}f[c>>2]=r;f[c+4>>2]=q;f[c+8>>2]=p;if((h|0)>0){s=p;t=q;u=r;v=0}else return;do{r=v+a|0;u=(j[b+(r<<1)>>1]|0)-(j[b+(v<<1)>>1]|0)+u|0;t=(j[b+(r+1<<1)>>1]|0)-(j[b+(v+1<<1)>>1]|0)+t|0;s=(j[b+(r+2<<1)>>1]|0)-(j[b+(v+2<<1)>>1]|0)+s|0;r=v;v=v+3|0;f[c+(v<<2)>>2]=u;f[c+(r+4<<2)>>2]=t;f[c+(r+5<<2)>>2]=s}while((v|0)<(h|0));return}case 4:{if((a|0)>0){v=0;s=0;t=0;u=0;r=0;while(1){q=u+(j[b+(r<<1)>>1]|0)|0;p=t+(j[b+((r|1)<<1)>>1]|0)|0;m=s+(j[b+((r|2)<<1)>>1]|0)|0;n=v+(j[b+((r|3)<<1)>>1]|0)|0;r=r+4|0;if((r|0)>=(a|0)){w=n;x=m;y=p;z=q;break}else{v=n;s=m;t=p;u=q}}}else{w=0;x=0;y=0;z=0}f[c>>2]=z;f[c+4>>2]=y;f[c+8>>2]=x;f[c+12>>2]=w;if((h|0)>0){A=w;B=x;C=y;D=z;E=0}else return;do{z=E+a|0;D=(j[b+(z<<1)>>1]|0)-(j[b+(E<<1)>>1]|0)+D|0;C=(j[b+(z+1<<1)>>1]|0)-(j[b+((E|1)<<1)>>1]|0)+C|0;B=(j[b+(z+2<<1)>>1]|0)-(j[b+((E|2)<<1)>>1]|0)+B|0;A=(j[b+(z+3<<1)>>1]|0)-(j[b+((E|3)<<1)>>1]|0)+A|0;z=E;E=E+4|0;f[c+(E<<2)>>2]=D;f[c+(z+5<<2)>>2]=C;f[c+(z+6<<2)>>2]=B;f[c+(z+7<<2)>>2]=A}while((E|0)<(h|0));return}default:{if((e|0)<=0)return;E=(h|0)>0;if((a|0)>0){A=0;B=c;C=b;while(1){D=0;z=0;do{D=D+(j[C+(z<<1)>>1]|0)|0;z=z+e|0}while((z|0)<(a|0));f[B>>2]=D;if(E){z=D;y=0;do{z=(j[C+(y+a<<1)>>1]|0)-(j[C+(y<<1)>>1]|0)+z|0;y=y+e|0;f[B+(y<<2)>>2]=z}while((y|0)<(h|0))}A=A+1|0;if((A|0)==(e|0))break;else{B=B+4|0;C=C+2|0}}return}if(E){F=0;G=c;H=b}else{FVa(c|0,0,e<<2|0)|0;return}while(1){f[G>>2]=0;c=0;b=0;do{c=(j[H+(b+a<<1)>>1]|0)-(j[H+(b<<1)>>1]|0)+c|0;b=b+e|0;f[G+(b<<2)>>2]=c}while((b|0)<(h|0));F=F+1|0;if((F|0)==(e|0))break;else{G=G+4|0;H=H+2|0}}return}}}}function B$(a){a=a|0;GQa(a);return}function C$(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function D$(a){a=a|0;GQa(a);return}function E$(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,K=0,L=0,M=0;g=f[a+4>>2]|0;a=X(g,e)|0;i=X(d+-1|0,e)|0;switch(g|0){case 3:{g=X(e,d)|0;if((g|0)<=0)return;j=e<<1;k=0;do{p[c+(k<<3)>>3]=+(h[b+k>>0]|0)+ +(h[b+(k+e)>>0]|0)+ +(h[b+(k+j)>>0]|0);k=k+1|0}while((k|0)!=(g|0));return}case 5:{g=X(e,d)|0;if((g|0)<=0)return;d=e<<1;k=e*3|0;j=e<<2;l=0;do{p[c+(l<<3)>>3]=+(h[b+l>>0]|0)+ +(h[b+(l+e)>>0]|0)+ +(h[b+(l+d)>>0]|0)+ +(h[b+(l+k)>>0]|0)+ +(h[b+(l+j)>>0]|0);l=l+1|0}while((l|0)!=(g|0));return}default:switch(e|0){case 1:{if((a|0)>0){m=0.0;g=0;while(1){n=m+ +(h[b+g>>0]|0);g=g+1|0;if((g|0)==(a|0)){o=n;break}else m=n}}else o=0.0;p[c>>3]=o;if((i|0)>0){q=o;r=0}else return;do{q=q+(+(h[b+(r+a)>>0]|0)-+(h[b+r>>0]|0));r=r+1|0;p[c+(r<<3)>>3]=q}while((r|0)!=(i|0));return}case 3:{if((a|0)>0){q=0.0;o=0.0;m=0.0;r=0;while(1){n=m+ +(h[b+r>>0]|0);s=o+ +(h[b+(r+1)>>0]|0);t=q+ +(h[b+(r+2)>>0]|0);r=r+3|0;if((r|0)>=(a|0)){u=t;v=s;w=n;break}else{q=t;o=s;m=n}}}else{u=0.0;v=0.0;w=0.0}p[c>>3]=w;p[c+8>>3]=v;p[c+16>>3]=u;if((i|0)>0){x=u;y=v;z=w;A=0}else return;do{r=A+a|0;z=z+(+(h[b+r>>0]|0)-+(h[b+A>>0]|0));y=y+(+(h[b+(r+1)>>0]|0)-+(h[b+(A+1)>>0]|0));x=x+(+(h[b+(r+2)>>0]|0)-+(h[b+(A+2)>>0]|0));r=A;A=A+3|0;p[c+(A<<3)>>3]=z;p[c+(r+4<<3)>>3]=y;p[c+(r+5<<3)>>3]=x}while((A|0)<(i|0));return}case 4:{if((a|0)>0){x=0.0;y=0.0;z=0.0;w=0.0;A=0;while(1){v=w+ +(h[b+A>>0]|0);u=z+ +(h[b+(A|1)>>0]|0);m=y+ +(h[b+(A|2)>>0]|0);o=x+ +(h[b+(A|3)>>0]|0);A=A+4|0;if((A|0)>=(a|0)){B=o;C=m;D=u;E=v;break}else{x=o;y=m;z=u;w=v}}}else{B=0.0;C=0.0;D=0.0;E=0.0}p[c>>3]=E;p[c+8>>3]=D;p[c+16>>3]=C;p[c+24>>3]=B;if((i|0)>0){F=B;G=C;H=D;I=E;J=0}else return;do{A=J+a|0;I=I+(+(h[b+A>>0]|0)-+(h[b+J>>0]|0));H=H+(+(h[b+(A+1)>>0]|0)-+(h[b+(J|1)>>0]|0));G=G+(+(h[b+(A+2)>>0]|0)-+(h[b+(J|2)>>0]|0));F=F+(+(h[b+(A+3)>>0]|0)-+(h[b+(J|3)>>0]|0));A=J;J=J+4|0;p[c+(J<<3)>>3]=I;p[c+(A+5<<3)>>3]=H;p[c+(A+6<<3)>>3]=G;p[c+(A+7<<3)>>3]=F}while((J|0)<(i|0));return}default:{if((e|0)<=0)return;J=(i|0)>0;if((a|0)>0){A=0;r=c;g=b;while(1){F=0.0;l=0;do{F=F+ +(h[g+l>>0]|0);l=l+e|0}while((l|0)<(a|0));p[r>>3]=F;if(J){G=F;l=0;do{G=G+(+(h[g+(l+a)>>0]|0)-+(h[g+l>>0]|0));l=l+e|0;p[r+(l<<3)>>3]=G}while((l|0)<(i|0))}A=A+1|0;if((A|0)==(e|0))break;else{r=r+8|0;g=g+1|0}}return}if(J){K=0;L=c;M=b}else{FVa(c|0,0,e<<3|0)|0;return}while(1){p[L>>3]=0.0;G=0.0;c=0;do{G=G+(+(h[M+(c+a)>>0]|0)-+(h[M+c>>0]|0));c=c+e|0;p[L+(c<<3)>>3]=G}while((c|0)<(i|0));K=K+1|0;if((K|0)==(e|0))break;else{L=L+8|0;M=M+1|0}}return}}}}function F$(a){a=a|0;GQa(a);return}function G$(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function H$(a){a=a|0;GQa(a);return}function I$(a,b,c,e,g){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;i=f[a+4>>2]|0;a=X(i,g)|0;j=X(e+-1|0,g)|0;switch(i|0){case 3:{i=X(g,e)|0;if((i|0)<=0)return;k=g<<1;l=0;do{d[c+(l<<1)>>1]=(h[b+(l+g)>>0]|0)+(h[b+l>>0]|0)+(h[b+(l+k)>>0]|0);l=l+1|0}while((l|0)!=(i|0));return}case 5:{i=X(g,e)|0;if((i|0)<=0)return;e=g<<1;l=g*3|0;k=g<<2;m=0;do{d[c+(m<<1)>>1]=(h[b+(m+g)>>0]|0)+(h[b+m>>0]|0)+(h[b+(m+e)>>0]|0)+(h[b+(m+l)>>0]|0)+(h[b+(m+k)>>0]|0);m=m+1|0}while((m|0)!=(i|0));return}default:switch(g|0){case 1:{if((a|0)>0){i=0;m=0;do{i=(i&65535)+(h[b+m>>0]|0)|0;m=m+1|0}while((m|0)!=(a|0));n=i&65535}else n=0;d[c>>1]=n;if((j|0)>0){o=n;p=0}else return;do{o=(h[b+(p+a)>>0]|0)+(o&65535)-(h[b+p>>0]|0)&65535;p=p+1|0;d[c+(p<<1)>>1]=o}while((p|0)!=(j|0));return}case 3:{if((a|0)>0){p=0;o=0;n=0;i=0;do{n=(n&65535)+(h[b+i>>0]|0)|0;o=(o&65535)+(h[b+(i+1)>>0]|0)|0;p=(p&65535)+(h[b+(i+2)>>0]|0)|0;i=i+3|0}while((i|0)<(a|0));q=p&65535;r=o&65535;s=n&65535}else{q=0;r=0;s=0}d[c>>1]=s;d[c+2>>1]=r;d[c+4>>1]=q;if((j|0)>0){t=q;u=r;v=s;w=0}else return;do{s=w+a|0;v=(h[b+s>>0]|0)+(v&65535)-(h[b+w>>0]|0)&65535;u=(h[b+(s+1)>>0]|0)+(u&65535)-(h[b+(w+1)>>0]|0)&65535;t=(h[b+(s+2)>>0]|0)+(t&65535)-(h[b+(w+2)>>0]|0)&65535;s=w;w=w+3|0;d[c+(w<<1)>>1]=v;d[c+(s+4<<1)>>1]=u;d[c+(s+5<<1)>>1]=t}while((w|0)<(j|0));return}case 4:{if((a|0)>0){w=0;t=0;u=0;v=0;s=0;do{v=(v&65535)+(h[b+s>>0]|0)|0;u=(u&65535)+(h[b+(s|1)>>0]|0)|0;t=(t&65535)+(h[b+(s|2)>>0]|0)|0;w=(w&65535)+(h[b+(s|3)>>0]|0)|0;s=s+4|0}while((s|0)<(a|0));x=w&65535;y=t&65535;z=u&65535;A=v&65535}else{x=0;y=0;z=0;A=0}d[c>>1]=A;d[c+2>>1]=z;d[c+4>>1]=y;d[c+6>>1]=x;if((j|0)>0){B=x;C=y;D=z;E=A;F=0}else return;do{A=F+a|0;E=(h[b+A>>0]|0)+(E&65535)-(h[b+F>>0]|0)&65535;D=(h[b+(A+1)>>0]|0)+(D&65535)-(h[b+(F|1)>>0]|0)&65535;C=(h[b+(A+2)>>0]|0)+(C&65535)-(h[b+(F|2)>>0]|0)&65535;B=(h[b+(A+3)>>0]|0)+(B&65535)-(h[b+(F|3)>>0]|0)&65535;A=F;F=F+4|0;d[c+(F<<1)>>1]=E;d[c+(A+5<<1)>>1]=D;d[c+(A+6<<1)>>1]=C;d[c+(A+7<<1)>>1]=B}while((F|0)<(j|0));return}default:{if((g|0)<=0)return;F=(j|0)>0;if((a|0)>0){B=0;C=c;D=b;while(1){E=0;A=0;do{E=(E&65535)+(h[D+A>>0]|0)|0;A=A+g|0}while((A|0)<(a|0));d[C>>1]=E;if(F){A=E;z=0;do{A=(A&65535)+(h[D+(z+a)>>0]|0)-(h[D+z>>0]|0)|0;z=z+g|0;d[C+(z<<1)>>1]=A}while((z|0)<(j|0))}B=B+1|0;if((B|0)==(g|0))break;else{C=C+2|0;D=D+1|0}}return}if(F){G=0;H=c;I=b}else{FVa(c|0,0,g<<1|0)|0;return}while(1){d[H>>1]=0;c=0;b=0;do{c=(c&65535)+(h[I+(b+a)>>0]|0)-(h[I+b>>0]|0)|0;b=b+g|0;d[H+(b<<1)>>1]=c}while((b|0)<(j|0));G=G+1|0;if((G|0)==(g|0))break;else{H=H+2|0;I=I+1|0}}return}}}}function J$(a){a=a|0;GQa(a);return}function K$(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function L$(a){a=a|0;GQa(a);return}function M$(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;g=f[a+4>>2]|0;a=X(g,e)|0;i=X(d+-1|0,e)|0;switch(g|0){case 3:{g=X(e,d)|0;if((g|0)<=0)return;j=e<<1;k=0;do{f[c+(k<<2)>>2]=(h[b+(k+e)>>0]|0)+(h[b+k>>0]|0)+(h[b+(k+j)>>0]|0);k=k+1|0}while((k|0)!=(g|0));return}case 5:{g=X(e,d)|0;if((g|0)<=0)return;d=e<<1;k=e*3|0;j=e<<2;l=0;do{f[c+(l<<2)>>2]=(h[b+(l+e)>>0]|0)+(h[b+l>>0]|0)+(h[b+(l+d)>>0]|0)+(h[b+(l+k)>>0]|0)+(h[b+(l+j)>>0]|0);l=l+1|0}while((l|0)!=(g|0));return}default:switch(e|0){case 1:{if((a|0)>0){g=0;l=0;while(1){j=g+(h[b+l>>0]|0)|0;l=l+1|0;if((l|0)==(a|0)){m=j;break}else g=j}}else m=0;f[c>>2]=m;if((i|0)>0){n=m;o=0}else return;do{n=(h[b+(o+a)>>0]|0)-(h[b+o>>0]|0)+n|0;o=o+1|0;f[c+(o<<2)>>2]=n}while((o|0)!=(i|0));return}case 3:{if((a|0)>0){o=0;n=0;m=0;g=0;while(1){l=m+(h[b+g>>0]|0)|0;j=n+(h[b+(g+1)>>0]|0)|0;k=o+(h[b+(g+2)>>0]|0)|0;g=g+3|0;if((g|0)>=(a|0)){p=k;q=j;r=l;break}else{o=k;n=j;m=l}}}else{p=0;q=0;r=0}f[c>>2]=r;f[c+4>>2]=q;f[c+8>>2]=p;if((i|0)>0){s=p;t=q;u=r;v=0}else return;do{r=v+a|0;u=(h[b+r>>0]|0)-(h[b+v>>0]|0)+u|0;t=(h[b+(r+1)>>0]|0)-(h[b+(v+1)>>0]|0)+t|0;s=(h[b+(r+2)>>0]|0)-(h[b+(v+2)>>0]|0)+s|0;r=v;v=v+3|0;f[c+(v<<2)>>2]=u;f[c+(r+4<<2)>>2]=t;f[c+(r+5<<2)>>2]=s}while((v|0)<(i|0));return}case 4:{if((a|0)>0){v=0;s=0;t=0;u=0;r=0;while(1){q=u+(h[b+r>>0]|0)|0;p=t+(h[b+(r|1)>>0]|0)|0;m=s+(h[b+(r|2)>>0]|0)|0;n=v+(h[b+(r|3)>>0]|0)|0;r=r+4|0;if((r|0)>=(a|0)){w=n;x=m;y=p;z=q;break}else{v=n;s=m;t=p;u=q}}}else{w=0;x=0;y=0;z=0}f[c>>2]=z;f[c+4>>2]=y;f[c+8>>2]=x;f[c+12>>2]=w;if((i|0)>0){A=w;B=x;C=y;D=z;E=0}else return;do{z=E+a|0;D=(h[b+z>>0]|0)-(h[b+E>>0]|0)+D|0;C=(h[b+(z+1)>>0]|0)-(h[b+(E|1)>>0]|0)+C|0;B=(h[b+(z+2)>>0]|0)-(h[b+(E|2)>>0]|0)+B|0;A=(h[b+(z+3)>>0]|0)-(h[b+(E|3)>>0]|0)+A|0;z=E;E=E+4|0;f[c+(E<<2)>>2]=D;f[c+(z+5<<2)>>2]=C;f[c+(z+6<<2)>>2]=B;f[c+(z+7<<2)>>2]=A}while((E|0)<(i|0));return}default:{if((e|0)<=0)return;E=(i|0)>0;if((a|0)>0){A=0;B=c;C=b;while(1){D=0;z=0;do{D=D+(h[C+z>>0]|0)|0;z=z+e|0}while((z|0)<(a|0));f[B>>2]=D;if(E){z=D;y=0;do{z=(h[C+(y+a)>>0]|0)-(h[C+y>>0]|0)+z|0;y=y+e|0;f[B+(y<<2)>>2]=z}while((y|0)<(i|0))}A=A+1|0;if((A|0)==(e|0))break;else{B=B+4|0;C=C+1|0}}return}if(E){F=0;G=c;H=b}else{FVa(c|0,0,e<<2|0)|0;return}while(1){f[G>>2]=0;c=0;b=0;do{c=(h[H+(b+a)>>0]|0)-(h[H+b>>0]|0)+c|0;b=b+e|0;f[G+(b<<2)>>2]=c}while((b|0)<(i|0));F=F+1|0;if((F|0)==(e|0))break;else{G=G+4|0;H=H+1|0}}return}}}}function N$(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=+h;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0;i=u;u=u+16|0;j=i;k=i+8|0;l=c&7;m=d&7;if((d^c)&4088|0){f[k>>2]=0;f[k+4>>2]=0;n=JV(k,90)|0;o=193994;q=n+90|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(q|0));EP(-215,k,194085,193076,1344);KV(k)}o=(g|0)<0?(e|0)/2|0:g;g=(m|0)==0;n=(l|0)==4;if(n&g){q=EQa(40)|0;yia(q);f[q>>2]=44508;f[q+28>>2]=0;f[q+32>>2]=0;f[q+36>>2]=0;f[q+4>>2]=e;f[q+8>>2]=o;p[q+16>>3]=h;f[q+24>>2]=0;r=EQa(16)|0;s=r+4|0;f[s>>2]=1;f[r>>2]=44532;f[r+8>>2]=q;f[a>>2]=r;f[a+4>>2]=q;f[s>>2]=(f[s>>2]|0)+1;q=f[s>>2]|0;f[s>>2]=q+-1;if((q|0)!=1){u=i;return}qg[f[(f[r>>2]|0)+8>>2]&1023](r);u=i;return}if((l|0)==2&g){r=EQa(48)|0;yia(r);f[r>>2]=44552;f[r+36>>2]=0;f[r+40>>2]=0;f[r+44>>2]=0;f[r+4>>2]=e;f[r+8>>2]=o;p[r+16>>3]=h;f[r+24>>2]=0;q=r+28|0;f[q>>2]=0;s=r+32|0;f[s>>2]=1;do if(h!=1.0){t=AEa(1.0/h)|0;v=8388608.0/+(t|0);w=~~v;x=w-(v<+(w|0)&1)|0;f[s>>2]=x;w=(t|0)/2|0;f[q>>2]=w;if(v-+(x|0)<.5){f[q>>2]=w+1;break}else{f[s>>2]=x+1;break}}while(0);s=EQa(16)|0;q=s+4|0;f[q>>2]=1;f[s>>2]=44576;f[s+8>>2]=r;f[a>>2]=s;f[a+4>>2]=r;f[q>>2]=(f[q>>2]|0)+1;r=f[q>>2]|0;f[q>>2]=r+-1;if((r|0)!=1){u=i;return}qg[f[(f[s>>2]|0)+8>>2]&1023](s);u=i;return}s=(l|0)==6;if(s&g){g=EQa(40)|0;yia(g);f[g>>2]=44596;f[g+28>>2]=0;f[g+32>>2]=0;f[g+36>>2]=0;f[g+4>>2]=e;f[g+8>>2]=o;p[g+16>>3]=h;f[g+24>>2]=0;l=EQa(16)|0;r=l+4|0;f[r>>2]=1;f[l>>2]=44620;f[l+8>>2]=g;f[a>>2]=l;f[a+4>>2]=g;f[r>>2]=(f[r>>2]|0)+1;g=f[r>>2]|0;f[r>>2]=g+-1;if((g|0)!=1){u=i;return}qg[f[(f[l>>2]|0)+8>>2]&1023](l);u=i;return}l=(m|0)==2;if(n&l){g=EQa(40)|0;yia(g);f[g>>2]=44640;f[g+28>>2]=0;f[g+32>>2]=0;f[g+36>>2]=0;f[g+4>>2]=e;f[g+8>>2]=o;p[g+16>>3]=h;f[g+24>>2]=0;r=EQa(16)|0;q=r+4|0;f[q>>2]=1;f[r>>2]=44664;f[r+8>>2]=g;f[a>>2]=r;f[a+4>>2]=g;f[q>>2]=(f[q>>2]|0)+1;g=f[q>>2]|0;f[q>>2]=g+-1;if((g|0)!=1){u=i;return}qg[f[(f[r>>2]|0)+8>>2]&1023](r);u=i;return}if(s&l){l=EQa(40)|0;yia(l);f[l>>2]=44684;f[l+28>>2]=0;f[l+32>>2]=0;f[l+36>>2]=0;f[l+4>>2]=e;f[l+8>>2]=o;p[l+16>>3]=h;f[l+24>>2]=0;r=EQa(16)|0;g=r+4|0;f[g>>2]=1;f[r>>2]=44708;f[r+8>>2]=l;f[a>>2]=r;f[a+4>>2]=l;f[g>>2]=(f[g>>2]|0)+1;l=f[g>>2]|0;f[g>>2]=l+-1;if((l|0)!=1){u=i;return}qg[f[(f[r>>2]|0)+8>>2]&1023](r);u=i;return}r=(m|0)==3;if(n&r){l=EQa(40)|0;yia(l);f[l>>2]=44728;f[l+28>>2]=0;f[l+32>>2]=0;f[l+36>>2]=0;f[l+4>>2]=e;f[l+8>>2]=o;p[l+16>>3]=h;f[l+24>>2]=0;g=EQa(16)|0;q=g+4|0;f[q>>2]=1;f[g>>2]=44752;f[g+8>>2]=l;f[a>>2]=g;f[a+4>>2]=l;f[q>>2]=(f[q>>2]|0)+1;l=f[q>>2]|0;f[q>>2]=l+-1;if((l|0)!=1){u=i;return}qg[f[(f[g>>2]|0)+8>>2]&1023](g);u=i;return}if(s&r){r=EQa(40)|0;yia(r);f[r>>2]=44772;f[r+28>>2]=0;f[r+32>>2]=0;f[r+36>>2]=0;f[r+4>>2]=e;f[r+8>>2]=o;p[r+16>>3]=h;f[r+24>>2]=0;g=EQa(16)|0;l=g+4|0;f[l>>2]=1;f[g>>2]=44796;f[g+8>>2]=r;f[a>>2]=g;f[a+4>>2]=r;f[l>>2]=(f[l>>2]|0)+1;r=f[l>>2]|0;f[l>>2]=r+-1;if((r|0)!=1){u=i;return}qg[f[(f[g>>2]|0)+8>>2]&1023](g);u=i;return}if(n&(m|0)==4){g=EQa(40)|0;yia(g);f[g>>2]=44816;f[g+28>>2]=0;f[g+32>>2]=0;f[g+36>>2]=0;f[g+4>>2]=e;f[g+8>>2]=o;p[g+16>>3]=h;f[g+24>>2]=0;r=EQa(16)|0;l=r+4|0;f[l>>2]=1;f[r>>2]=44840;f[r+8>>2]=g;f[a>>2]=r;f[a+4>>2]=g;f[l>>2]=(f[l>>2]|0)+1;g=f[l>>2]|0;f[l>>2]=g+-1;if((g|0)!=1){u=i;return}qg[f[(f[r>>2]|0)+8>>2]&1023](r);u=i;return}r=(m|0)==5;if(n&r){g=EQa(40)|0;yia(g);f[g>>2]=44860;f[g+28>>2]=0;f[g+32>>2]=0;f[g+36>>2]=0;f[g+4>>2]=e;f[g+8>>2]=o;p[g+16>>3]=h;f[g+24>>2]=0;l=EQa(16)|0;q=l+4|0;f[q>>2]=1;f[l>>2]=44884;f[l+8>>2]=g;f[a>>2]=l;f[a+4>>2]=g;f[q>>2]=(f[q>>2]|0)+1;g=f[q>>2]|0;f[q>>2]=g+-1;if((g|0)!=1){u=i;return}qg[f[(f[l>>2]|0)+8>>2]&1023](l);u=i;return}if(s&r){r=EQa(40)|0;yia(r);f[r>>2]=44904;f[r+28>>2]=0;f[r+32>>2]=0;f[r+36>>2]=0;f[r+4>>2]=e;f[r+8>>2]=o;p[r+16>>3]=h;f[r+24>>2]=0;l=EQa(16)|0;g=l+4|0;f[g>>2]=1;f[l>>2]=44928;f[l+8>>2]=r;f[a>>2]=l;f[a+4>>2]=r;f[g>>2]=(f[g>>2]|0)+1;r=f[g>>2]|0;f[g>>2]=r+-1;if((r|0)!=1){u=i;return}qg[f[(f[l>>2]|0)+8>>2]&1023](l);u=i;return}l=(m|0)==6;if(n&l){n=EQa(40)|0;yia(n);f[n>>2]=44948;f[n+28>>2]=0;f[n+32>>2]=0;f[n+36>>2]=0;f[n+4>>2]=e;f[n+8>>2]=o;p[n+16>>3]=h;f[n+24>>2]=0;m=EQa(16)|0;r=m+4|0;f[r>>2]=1;f[m>>2]=44972;f[m+8>>2]=n;f[a>>2]=m;f[a+4>>2]=n;f[r>>2]=(f[r>>2]|0)+1;n=f[r>>2]|0;f[r>>2]=n+-1;if((n|0)!=1){u=i;return}qg[f[(f[m>>2]|0)+8>>2]&1023](m);u=i;return}if(!(s&l)){f[j>>2]=c;f[j+4>>2]=d;LP(k,194104,j);EP(-213,k,194085,193076,1376);KV(k);f[a>>2]=0;f[a+4>>2]=0;u=i;return}k=EQa(40)|0;yia(k);f[k>>2]=44992;f[k+28>>2]=0;f[k+32>>2]=0;f[k+36>>2]=0;f[k+4>>2]=e;f[k+8>>2]=o;p[k+16>>3]=h;f[k+24>>2]=0;o=EQa(16)|0;e=o+4|0;f[e>>2]=1;f[o>>2]=45016;f[o+8>>2]=k;f[a>>2]=o;f[a+4>>2]=k;f[e>>2]=(f[e>>2]|0)+1;k=f[e>>2]|0;f[e>>2]=k+-1;if((k|0)!=1){u=i;return}qg[f[(f[o>>2]|0)+8>>2]&1023](o);u=i;return}function O$(a){a=a|0;GQa(a);return}function P$(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function Q$(a){a=a|0;var b=0,c=0;f[a>>2]=44992;b=f[a+28>>2]|0;if(!b)return;c=a+32|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-8-b|0)>>>3)<<3);GQa(b);return}function R$(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=44992;b=f[a+28>>2]|0;if(!b){GQa(a);return}c=a+32|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-8-b|0)>>>3)<<3);GQa(b);GQa(a);return}function S$(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0.0,K=0.0,L=0;i=u;u=u+16|0;j=i;k=+p[a+16>>3];l=k!=1.0;m=a+28|0;n=a+32|0;o=f[n>>2]|0;q=f[m>>2]|0;r=o-q>>3;s=q;if((r|0)==(h|0)){q=a+24|0;t=f[q>>2]|0;if(!t){v=q;w=s;x=9}else{q=a+4|0;y=f[q>>2]|0;if((t|0)==(y+-1|0))z=y;else{f[j>>2]=0;f[j+4>>2]=0;y=JV(j,19)|0;t=194250;A=y+19|0;do{b[y>>0]=b[t>>0]|0;y=y+1|0;t=t+1|0}while((y|0)<(A|0));EP(-215,j,451664,193076,232);KV(j);z=f[q>>2]|0}B=c+(z+-1<<2)|0;C=z;D=s}}else{z=o;if(r>>>0>=h>>>0)if(r>>>0>h>>>0?(o=s+(h<<3)|0,(o|0)!=(z|0)):0){f[n>>2]=z+(~((z+-8-o|0)>>>3)<<3);E=s}else E=s;else{U$(m,h-r|0);E=f[m>>2]|0}m=a+24|0;f[m>>2]=0;v=m;w=E;x=9}if((x|0)==9){FVa(w|0,0,h<<3|0)|0;x=f[v>>2]|0;E=f[a+4>>2]|0;a=E+-1|0;if((x|0)<(a|0)){if((h|0)>0){m=c;r=x;while(1){s=f[m>>2]|0;o=0;do{z=w+(o<<3)|0;p[z>>3]=+p[s+(o<<3)>>3]+ +p[z>>3];o=o+1|0}while((o|0)!=(h|0));o=r+1|0;s=m+4|0;if((o|0)<(a|0)){m=s;r=o}else{F=o;G=s;break}}}else{r=x+1|0;m=(a|0)>(r|0)?a:r;F=m;G=c+(m-x<<2)|0}f[v>>2]=F;B=G;C=E;D=w}else{B=c;C=E;D=w}}if(!g){u=i;return}w=1-C|0;C=h+-2|0;E=(h|0)<2;c=h&-2;G=d;d=B;B=g;while(1){B=B+-1|0;g=f[d>>2]|0;F=f[d+(w<<2)>>2]|0;if(l){if(E)H=0;else{v=0;do{x=D+(v<<3)|0;I=+p[x>>3]+ +p[g+(v<<3)>>3];m=v|1;r=D+(m<<3)|0;J=+p[r>>3]+ +p[g+(m<<3)>>3];p[G+(v<<3)>>3]=k*I;p[G+(m<<3)>>3]=k*J;K=J-+p[F+(m<<3)>>3];p[x>>3]=I-+p[F+(v<<3)>>3];p[r>>3]=K;v=v+2|0}while((v|0)<=(C|0));H=c}if((H|0)<(h|0)){v=H;do{r=D+(v<<3)|0;K=+p[r>>3]+ +p[g+(v<<3)>>3];p[G+(v<<3)>>3]=k*K;p[r>>3]=K-+p[F+(v<<3)>>3];v=v+1|0}while((v|0)!=(h|0))}}else{if(E)L=0;else{v=0;do{r=D+(v<<3)|0;K=+p[r>>3]+ +p[g+(v<<3)>>3];x=v|1;m=D+(x<<3)|0;I=+p[m>>3]+ +p[g+(x<<3)>>3];p[G+(v<<3)>>3]=K;p[G+(x<<3)>>3]=I;J=I-+p[F+(x<<3)>>3];p[r>>3]=K-+p[F+(v<<3)>>3];p[m>>3]=J;v=v+2|0}while((v|0)<=(C|0));L=c}if((L|0)<(h|0)){v=L;do{m=D+(v<<3)|0;J=+p[m>>3]+ +p[g+(v<<3)>>3];p[G+(v<<3)>>3]=J;p[m>>3]=J-+p[F+(v<<3)>>3];v=v+1|0}while((v|0)!=(h|0))}}if(!B)break;else{G=G+e|0;d=d+4|0}}u=i;return}function T$(a){a=a|0;f[a+24>>2]=0;return}function U$(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>3>>>0>=b>>>0){FVa(g|0,0,b<<3|0)|0;f[e>>2]=g+(b<<3);return}h=f[a>>2]|0;i=g-h|0;g=i>>3;j=g+b|0;if(j>>>0>536870911)ZOa(a);k=d-h|0;d=k>>2;l=k>>3>>>0<268435455?(d>>>0>>0?j:d):536870911;do if(l)if(l>>>0>536870911){d=hd(8)|0;LQa(d,349912);f[d>>2]=118288;ld(d|0,20688,857)}else{d=EQa(l<<3)|0;m=d;n=d;break}else{m=0;n=0}while(0);d=m+(g<<3)|0;FVa(d|0,0,b<<3|0)|0;if((i|0)>0)DVa(n|0,h|0,i|0)|0;f[a>>2]=m;f[e>>2]=d+(b<<3);f[c>>2]=m+(l<<3);if(!h)return;GQa(h);return}function V$(a){a=a|0;GQa(a);return}function W$(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function X$(a){a=a|0;var b=0,c=0;f[a>>2]=44948;b=f[a+28>>2]|0;if(!b)return;c=a+32|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);GQa(b);return}function Y$(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=44948;b=f[a+28>>2]|0;if(!b){GQa(a);return}c=a+32|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b);GQa(a);return}function Z$(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;i=u;u=u+16|0;j=i;k=+p[a+16>>3];l=k!=1.0;m=a+28|0;n=a+32|0;o=f[n>>2]|0;q=f[m>>2]|0;r=o-q>>2;s=q;if((r|0)==(h|0)){q=a+24|0;t=f[q>>2]|0;if(!t){v=q;w=s;x=9}else{q=a+4|0;y=f[q>>2]|0;if((t|0)==(y+-1|0))z=y;else{f[j>>2]=0;f[j+4>>2]=0;y=JV(j,19)|0;t=194250;A=y+19|0;do{b[y>>0]=b[t>>0]|0;y=y+1|0;t=t+1|0}while((y|0)<(A|0));EP(-215,j,451664,193076,232);KV(j);z=f[q>>2]|0}B=c+(z+-1<<2)|0;C=z;D=s}}else{z=o;if(r>>>0>=h>>>0)if(r>>>0>h>>>0?(o=s+(h<<2)|0,(o|0)!=(z|0)):0){f[n>>2]=z+(~((z+-4-o|0)>>>2)<<2);E=s}else E=s;else{eK(m,h-r|0);E=f[m>>2]|0}m=a+24|0;f[m>>2]=0;v=m;w=E;x=9}do if((x|0)==9){FVa(w|0,0,h<<2|0)|0;E=f[v>>2]|0;m=a+4|0;r=f[m>>2]|0;s=r+-1|0;if((E|0)<(s|0)){if((h|0)>0)F=c;else{o=c;z=E;do{z=z+1|0;o=o+4|0}while((z|0)<(s|0));f[v>>2]=z;B=o;C=r;D=w;break}while(1){s=f[F>>2]|0;E=0;do{n=w+(E<<2)|0;f[n>>2]=(f[n>>2]|0)+(f[s+(E<<2)>>2]|0);E=E+1|0}while((E|0)!=(h|0));E=(f[v>>2]|0)+1|0;f[v>>2]=E;s=F+4|0;n=f[m>>2]|0;if((E|0)<(n+-1|0))F=s;else{B=s;C=n;D=w;break}}}else{B=c;C=r;D=w}}while(0);if(!g){u=i;return}w=a+4|0;a=h+-2|0;c=(h|0)<2;F=h&-2;v=d;d=B;B=g;g=C;while(1){C=B+-1|0;x=f[d>>2]|0;m=f[d+(1-g<<2)>>2]|0;if(l){if(c)G=0;else{o=0;do{z=D+(o<<2)|0;n=(f[x+(o<<2)>>2]|0)+(f[z>>2]|0)|0;s=o|1;E=D+(s<<2)|0;q=(f[x+(s<<2)>>2]|0)+(f[E>>2]|0)|0;p[v+(o<<3)>>3]=k*+(n|0);p[v+(s<<3)>>3]=k*+(q|0);j=q-(f[m+(s<<2)>>2]|0)|0;f[z>>2]=n-(f[m+(o<<2)>>2]|0);f[E>>2]=j;o=o+2|0}while((o|0)<=(a|0));G=F}if((G|0)<(h|0)){o=G;do{r=D+(o<<2)|0;j=(f[x+(o<<2)>>2]|0)+(f[r>>2]|0)|0;p[v+(o<<3)>>3]=k*+(j|0);f[r>>2]=j-(f[m+(o<<2)>>2]|0);o=o+1|0}while((o|0)!=(h|0))}}else{if(c)H=0;else{o=0;do{j=D+(o<<2)|0;r=(f[x+(o<<2)>>2]|0)+(f[j>>2]|0)|0;E=o|1;n=D+(E<<2)|0;z=(f[x+(E<<2)>>2]|0)+(f[n>>2]|0)|0;p[v+(o<<3)>>3]=+(r|0);p[v+(E<<3)>>3]=+(z|0);s=z-(f[m+(E<<2)>>2]|0)|0;f[j>>2]=r-(f[m+(o<<2)>>2]|0);f[n>>2]=s;o=o+2|0}while((o|0)<=(a|0));H=F}if((H|0)<(h|0)){o=H;do{s=D+(o<<2)|0;n=(f[x+(o<<2)>>2]|0)+(f[s>>2]|0)|0;p[v+(o<<3)>>3]=+(n|0);f[s>>2]=n-(f[m+(o<<2)>>2]|0);o=o+1|0}while((o|0)!=(h|0))}}if(!C)break;v=v+e|0;d=d+4|0;B=C;g=f[w>>2]|0}u=i;return}function _$(a){a=a|0;f[a+24>>2]=0;return}function $$(a){a=a|0;GQa(a);return}function a0(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function b0(a){a=a|0;var b=0,c=0;f[a>>2]=44904;b=f[a+28>>2]|0;if(!b)return;c=a+32|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-8-b|0)>>>3)<<3);GQa(b);return}function c0(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=44904;b=f[a+28>>2]|0;if(!b){GQa(a);return}c=a+32|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-8-b|0)>>>3)<<3);GQa(b);GQa(a);return}function d0(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0.0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0.0,L=0.0,M=0;i=u;u=u+16|0;j=i;k=+p[a+16>>3];l=k!=1.0;m=a+28|0;o=a+32|0;q=f[o>>2]|0;r=f[m>>2]|0;s=q-r>>3;t=r;if((s|0)==(h|0)){r=a+24|0;v=f[r>>2]|0;if(!v){w=r;x=t;y=9}else{r=a+4|0;z=f[r>>2]|0;if((v|0)==(z+-1|0))A=z;else{f[j>>2]=0;f[j+4>>2]=0;z=JV(j,19)|0;v=194250;B=z+19|0;do{b[z>>0]=b[v>>0]|0;z=z+1|0;v=v+1|0}while((z|0)<(B|0));EP(-215,j,451664,193076,232);KV(j);A=f[r>>2]|0}C=c+(A+-1<<2)|0;D=A;E=t}}else{A=q;if(s>>>0>=h>>>0)if(s>>>0>h>>>0?(q=t+(h<<3)|0,(q|0)!=(A|0)):0){f[o>>2]=A+(~((A+-8-q|0)>>>3)<<3);F=t}else F=t;else{U$(m,h-s|0);F=f[m>>2]|0}m=a+24|0;f[m>>2]=0;w=m;x=F;y=9}if((y|0)==9){FVa(x|0,0,h<<3|0)|0;y=f[w>>2]|0;F=f[a+4>>2]|0;a=F+-1|0;if((y|0)<(a|0)){if((h|0)>0){m=c;s=y;while(1){t=f[m>>2]|0;q=0;do{A=x+(q<<3)|0;p[A>>3]=+p[t+(q<<3)>>3]+ +p[A>>3];q=q+1|0}while((q|0)!=(h|0));q=s+1|0;t=m+4|0;if((q|0)<(a|0)){m=t;s=q}else{G=q;H=t;break}}}else{s=y+1|0;m=(a|0)>(s|0)?a:s;G=m;H=c+(m-y<<2)|0}f[w>>2]=G;C=H;D=F;E=x}else{C=c;D=F;E=x}}if(!g){u=i;return}x=1-D|0;D=h+-2|0;F=(h|0)<2;c=h&-2;H=d;d=C;C=g;while(1){C=C+-1|0;g=f[d>>2]|0;G=f[d+(x<<2)>>2]|0;if(l){if(F)I=0;else{w=0;do{y=E+(w<<3)|0;J=+p[y>>3]+ +p[g+(w<<3)>>3];m=w|1;s=E+(m<<3)|0;K=+p[s>>3]+ +p[g+(m<<3)>>3];n[H+(w<<2)>>2]=k*J;n[H+(m<<2)>>2]=k*K;L=K-+p[G+(m<<3)>>3];p[y>>3]=J-+p[G+(w<<3)>>3];p[s>>3]=L;w=w+2|0}while((w|0)<=(D|0));I=c}if((I|0)<(h|0)){w=I;do{s=E+(w<<3)|0;L=+p[s>>3]+ +p[g+(w<<3)>>3];n[H+(w<<2)>>2]=k*L;p[s>>3]=L-+p[G+(w<<3)>>3];w=w+1|0}while((w|0)!=(h|0))}}else{if(F)M=0;else{w=0;do{s=E+(w<<3)|0;L=+p[s>>3]+ +p[g+(w<<3)>>3];y=w|1;m=E+(y<<3)|0;J=+p[m>>3]+ +p[g+(y<<3)>>3];n[H+(w<<2)>>2]=L;n[H+(y<<2)>>2]=J;K=J-+p[G+(y<<3)>>3];p[s>>3]=L-+p[G+(w<<3)>>3];p[m>>3]=K;w=w+2|0}while((w|0)<=(D|0));M=c}if((M|0)<(h|0)){w=M;do{m=E+(w<<3)|0;K=+p[m>>3]+ +p[g+(w<<3)>>3];n[H+(w<<2)>>2]=K;p[m>>3]=K-+p[G+(w<<3)>>3];w=w+1|0}while((w|0)!=(h|0))}}if(!C)break;else{H=H+e|0;d=d+4|0}}u=i;return}function e0(a){a=a|0;f[a+24>>2]=0;return}function f0(a){a=a|0;GQa(a);return}function g0(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function h0(a){a=a|0;var b=0,c=0;f[a>>2]=44860;b=f[a+28>>2]|0;if(!b)return;c=a+32|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);GQa(b);return}function i0(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=44860;b=f[a+28>>2]|0;if(!b){GQa(a);return}c=a+32|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b);GQa(a);return}function j0(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0.0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;i=u;u=u+16|0;j=i;k=+p[a+16>>3];l=k!=1.0;m=a+28|0;o=a+32|0;q=f[o>>2]|0;r=f[m>>2]|0;s=q-r>>2;t=r;if((s|0)==(h|0)){r=a+24|0;v=f[r>>2]|0;if(!v){w=r;x=t;y=9}else{r=a+4|0;z=f[r>>2]|0;if((v|0)==(z+-1|0))A=z;else{f[j>>2]=0;f[j+4>>2]=0;z=JV(j,19)|0;v=194250;B=z+19|0;do{b[z>>0]=b[v>>0]|0;z=z+1|0;v=v+1|0}while((z|0)<(B|0));EP(-215,j,451664,193076,990);KV(j);A=f[r>>2]|0}C=c+(A+-1<<2)|0;D=A;E=t}}else{A=q;if(s>>>0>=h>>>0)if(s>>>0>h>>>0?(q=t+(h<<2)|0,(q|0)!=(A|0)):0){f[o>>2]=A+(~((A+-4-q|0)>>>2)<<2);F=t}else F=t;else{eK(m,h-s|0);F=f[m>>2]|0}m=a+24|0;f[m>>2]=0;w=m;x=F;y=9}do if((y|0)==9){FVa(x|0,0,h<<2|0)|0;F=f[w>>2]|0;m=a+4|0;s=f[m>>2]|0;t=s+-1|0;if((F|0)<(t|0)){if((h|0)>0)G=c;else{q=c;A=F;do{A=A+1|0;q=q+4|0}while((A|0)<(t|0));f[w>>2]=A;C=q;D=s;E=x;break}while(1){t=f[G>>2]|0;F=0;do{o=x+(F<<2)|0;f[o>>2]=(f[o>>2]|0)+(f[t+(F<<2)>>2]|0);F=F+1|0}while((F|0)!=(h|0));F=(f[w>>2]|0)+1|0;f[w>>2]=F;t=G+4|0;o=f[m>>2]|0;if((F|0)<(o+-1|0))G=t;else{C=t;D=o;E=x;break}}}else{C=c;D=s;E=x}}while(0);x=g+-1|0;if(!g){u=i;return}g=a+4|0;a=(h|0)>0;if(l){l=d;c=C;G=D;w=x;while(1){y=f[c>>2]|0;m=f[c+(1-G<<2)>>2]|0;if(a){q=0;do{A=E+(q<<2)|0;o=(f[y+(q<<2)>>2]|0)+(f[A>>2]|0)|0;n[l+(q<<2)>>2]=k*+(o|0);f[A>>2]=o-(f[m+(q<<2)>>2]|0);q=q+1|0}while((q|0)!=(h|0))}if(!w)break;l=l+e|0;c=c+4|0;G=f[g>>2]|0;w=w+-1|0}u=i;return}if(a){H=d;I=C;J=x;K=D}else{u=i;return}while(1){D=f[I>>2]|0;x=f[I+(1-K<<2)>>2]|0;C=0;do{d=E+(C<<2)|0;a=(f[D+(C<<2)>>2]|0)+(f[d>>2]|0)|0;n[H+(C<<2)>>2]=+(a|0);f[d>>2]=a-(f[x+(C<<2)>>2]|0);C=C+1|0}while((C|0)!=(h|0));if(!J)break;H=H+e|0;I=I+4|0;J=J+-1|0;K=f[g>>2]|0}u=i;return}function k0(a){a=a|0;f[a+24>>2]=0;return}function l0(a){a=a|0;GQa(a);return}function m0(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function n0(a){a=a|0;var b=0,c=0;f[a>>2]=44816;b=f[a+28>>2]|0;if(!b)return;c=a+32|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);GQa(b);return}function o0(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=44816;b=f[a+28>>2]|0;if(!b){GQa(a);return}c=a+32|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b);GQa(a);return}function p0(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;i=u;u=u+16|0;j=i;k=+p[a+16>>3];l=k!=1.0;m=a+28|0;n=a+32|0;o=f[n>>2]|0;q=f[m>>2]|0;r=o-q>>2;s=q;if((r|0)==(h|0)){q=a+24|0;t=f[q>>2]|0;if(!t){v=q;w=s;x=9}else{q=a+4|0;y=f[q>>2]|0;if((t|0)==(y+-1|0))z=y;else{f[j>>2]=0;f[j+4>>2]=0;y=JV(j,19)|0;t=194250;A=y+19|0;do{b[y>>0]=b[t>>0]|0;y=y+1|0;t=t+1|0}while((y|0)<(A|0));EP(-215,j,451664,193076,870);KV(j);z=f[q>>2]|0}B=c+(z+-1<<2)|0;C=z;D=s}}else{z=o;if(r>>>0>=h>>>0)if(r>>>0>h>>>0?(o=s+(h<<2)|0,(o|0)!=(z|0)):0){f[n>>2]=z+(~((z+-4-o|0)>>>2)<<2);E=s}else E=s;else{eK(m,h-r|0);E=f[m>>2]|0}m=a+24|0;f[m>>2]=0;v=m;w=E;x=9}do if((x|0)==9){FVa(w|0,0,h<<2|0)|0;E=f[v>>2]|0;m=a+4|0;r=f[m>>2]|0;s=r+-1|0;if((E|0)<(s|0)){if((h|0)>0)F=c;else{o=c;z=E;do{z=z+1|0;o=o+4|0}while((z|0)<(s|0));f[v>>2]=z;B=o;C=r;D=w;break}while(1){s=f[F>>2]|0;E=0;do{n=w+(E<<2)|0;f[n>>2]=(f[n>>2]|0)+(f[s+(E<<2)>>2]|0);E=E+1|0}while((E|0)!=(h|0));E=(f[v>>2]|0)+1|0;f[v>>2]=E;s=F+4|0;n=f[m>>2]|0;if((E|0)<(n+-1|0))F=s;else{B=s;C=n;D=w;break}}}else{B=c;C=r;D=w}}while(0);w=g+-1|0;if(!g){u=i;return}g=a+4|0;a=(h|0)>0;if(l){l=d;c=B;F=C;v=w;while(1){x=f[c>>2]|0;m=f[c+(1-F<<2)>>2]|0;if(a){o=0;do{z=D+(o<<2)|0;n=(f[x+(o<<2)>>2]|0)+(f[z>>2]|0)|0;s=AEa(k*+(n|0))|0;f[l+(o<<2)>>2]=s;f[z>>2]=n-(f[m+(o<<2)>>2]|0);o=o+1|0}while((o|0)!=(h|0))}if(!v)break;l=l+e|0;c=c+4|0;F=f[g>>2]|0;v=v+-1|0}u=i;return}if(a){G=d;H=B;I=w;J=C}else{u=i;return}while(1){C=f[H>>2]|0;w=f[H+(1-J<<2)>>2]|0;B=0;do{d=D+(B<<2)|0;a=(f[C+(B<<2)>>2]|0)+(f[d>>2]|0)|0;f[G+(B<<2)>>2]=a;f[d>>2]=a-(f[w+(B<<2)>>2]|0);B=B+1|0}while((B|0)!=(h|0));if(!I)break;G=G+e|0;H=H+4|0;I=I+-1|0;J=f[g>>2]|0}u=i;return}function q0(a){a=a|0;f[a+24>>2]=0;return}function r0(a){a=a|0;GQa(a);return}function s0(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function t0(a){a=a|0;var b=0,c=0;f[a>>2]=44772;b=f[a+28>>2]|0;if(!b)return;c=a+32|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-8-b|0)>>>3)<<3);GQa(b);return}function u0(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=44772;b=f[a+28>>2]|0;if(!b){GQa(a);return}c=a+32|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-8-b|0)>>>3)<<3);GQa(b);GQa(a);return}function v0(a,c,e,g,h,i){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0.0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0.0,L=0.0,M=0;j=u;u=u+16|0;k=j;l=+p[a+16>>3];m=l!=1.0;n=a+28|0;o=a+32|0;q=f[o>>2]|0;r=f[n>>2]|0;s=q-r>>3;t=r;if((s|0)==(i|0)){r=a+24|0;v=f[r>>2]|0;if(!v){w=r;x=t;y=9}else{r=a+4|0;z=f[r>>2]|0;if((v|0)==(z+-1|0))A=z;else{f[k>>2]=0;f[k+4>>2]=0;z=JV(k,19)|0;v=194250;B=z+19|0;do{b[z>>0]=b[v>>0]|0;z=z+1|0;v=v+1|0}while((z|0)<(B|0));EP(-215,k,451664,193076,232);KV(k);A=f[r>>2]|0}C=c+(A+-1<<2)|0;D=A;E=t}}else{A=q;if(s>>>0>=i>>>0)if(s>>>0>i>>>0?(q=t+(i<<3)|0,(q|0)!=(A|0)):0){f[o>>2]=A+(~((A+-8-q|0)>>>3)<<3);F=t}else F=t;else{U$(n,i-s|0);F=f[n>>2]|0}n=a+24|0;f[n>>2]=0;w=n;x=F;y=9}if((y|0)==9){FVa(x|0,0,i<<3|0)|0;y=f[w>>2]|0;F=f[a+4>>2]|0;a=F+-1|0;if((y|0)<(a|0)){if((i|0)>0){n=c;s=y;while(1){t=f[n>>2]|0;q=0;do{A=x+(q<<3)|0;p[A>>3]=+p[t+(q<<3)>>3]+ +p[A>>3];q=q+1|0}while((q|0)!=(i|0));q=s+1|0;t=n+4|0;if((q|0)<(a|0)){n=t;s=q}else{G=q;H=t;break}}}else{s=y+1|0;n=(a|0)>(s|0)?a:s;G=n;H=c+(n-y<<2)|0}f[w>>2]=G;C=H;D=F;E=x}else{C=c;D=F;E=x}}if(!h){u=j;return}x=1-D|0;D=i+-2|0;F=(i|0)<2;c=i&-2;H=e;e=C;C=h;while(1){C=C+-1|0;h=f[e>>2]|0;G=f[e+(x<<2)>>2]|0;if(m){if(F)I=0;else{w=0;do{y=E+(w<<3)|0;J=+p[y>>3]+ +p[h+(w<<3)>>3];n=w|1;s=E+(n<<3)|0;K=+p[s>>3]+ +p[h+(n<<3)>>3];a=AEa(l*J)|0;d[H+(w<<1)>>1]=(a+32768|0)>>>0<65536?a:(a|0)>0?32767:32768;a=AEa(l*K)|0;d[H+(n<<1)>>1]=(a+32768|0)>>>0<65536?a:(a|0)>0?32767:32768;L=K-+p[G+(n<<3)>>3];p[y>>3]=J-+p[G+(w<<3)>>3];p[s>>3]=L;w=w+2|0}while((w|0)<=(D|0));I=c}if((I|0)<(i|0)){w=I;do{s=E+(w<<3)|0;L=+p[s>>3]+ +p[h+(w<<3)>>3];y=AEa(l*L)|0;d[H+(w<<1)>>1]=(y+32768|0)>>>0<65536?y:(y|0)>0?32767:32768;p[s>>3]=L-+p[G+(w<<3)>>3];w=w+1|0}while((w|0)!=(i|0))}}else{if(F)M=0;else{w=0;do{s=E+(w<<3)|0;L=+p[s>>3]+ +p[h+(w<<3)>>3];y=w|1;n=E+(y<<3)|0;J=+p[n>>3]+ +p[h+(y<<3)>>3];a=AEa(L)|0;d[H+(w<<1)>>1]=(a+32768|0)>>>0<65536?a:(a|0)>0?32767:32768;a=AEa(J)|0;d[H+(y<<1)>>1]=(a+32768|0)>>>0<65536?a:(a|0)>0?32767:32768;K=J-+p[G+(y<<3)>>3];p[s>>3]=L-+p[G+(w<<3)>>3];p[n>>3]=K;w=w+2|0}while((w|0)<=(D|0));M=c}if((M|0)<(i|0)){w=M;do{n=E+(w<<3)|0;K=+p[n>>3]+ +p[h+(w<<3)>>3];s=AEa(K)|0;d[H+(w<<1)>>1]=(s+32768|0)>>>0<65536?s:(s|0)>0?32767:32768;p[n>>3]=K-+p[G+(w<<3)>>3];w=w+1|0}while((w|0)!=(i|0))}}if(!C)break;else{H=H+g|0;e=e+4|0}}u=j;return}function w0(a){a=a|0;f[a+24>>2]=0;return}function x0(a){a=a|0;GQa(a);return}function y0(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function z0(a){a=a|0;var b=0,c=0;f[a>>2]=44728;b=f[a+28>>2]|0;if(!b)return;c=a+32|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);GQa(b);return}function A0(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=44728;b=f[a+28>>2]|0;if(!b){GQa(a);return}c=a+32|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b);GQa(a);return}function B0(a,c,e,g,h,i){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0.0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;j=u;u=u+16|0;k=j;l=+p[a+16>>3];m=l!=1.0;n=a+28|0;o=a+32|0;q=f[o>>2]|0;r=f[n>>2]|0;s=q-r>>2;t=r;if((s|0)==(i|0)){r=a+24|0;v=f[r>>2]|0;if(!v){w=r;x=t;y=9}else{r=a+4|0;z=f[r>>2]|0;if((v|0)==(z+-1|0))A=z;else{f[k>>2]=0;f[k+4>>2]=0;z=JV(k,19)|0;v=194250;B=z+19|0;do{b[z>>0]=b[v>>0]|0;z=z+1|0;v=v+1|0}while((z|0)<(B|0));EP(-215,k,451664,193076,618);KV(k);A=f[r>>2]|0}C=c+(A+-1<<2)|0;D=A;E=t}}else{A=q;if(s>>>0>=i>>>0)if(s>>>0>i>>>0?(q=t+(i<<2)|0,(q|0)!=(A|0)):0){f[o>>2]=A+(~((A+-4-q|0)>>>2)<<2);F=t}else F=t;else{eK(n,i-s|0);F=f[n>>2]|0}n=a+24|0;f[n>>2]=0;w=n;x=F;y=9}do if((y|0)==9){FVa(x|0,0,i<<2|0)|0;F=f[w>>2]|0;n=a+4|0;s=f[n>>2]|0;t=s+-1|0;if((F|0)<(t|0)){if((i|0)>0)G=c;else{q=c;A=F;do{A=A+1|0;q=q+4|0}while((A|0)<(t|0));f[w>>2]=A;C=q;D=s;E=x;break}while(1){t=f[G>>2]|0;F=0;do{o=x+(F<<2)|0;f[o>>2]=(f[o>>2]|0)+(f[t+(F<<2)>>2]|0);F=F+1|0}while((F|0)!=(i|0));F=(f[w>>2]|0)+1|0;f[w>>2]=F;t=G+4|0;o=f[n>>2]|0;if((F|0)<(o+-1|0))G=t;else{C=t;D=o;E=x;break}}}else{C=c;D=s;E=x}}while(0);x=h+-1|0;if(!h){u=j;return}h=a+4|0;a=(i|0)>0;if(m){m=e;c=C;G=D;w=x;while(1){y=f[c>>2]|0;n=f[c+(1-G<<2)>>2]|0;if(a){q=0;do{A=E+(q<<2)|0;o=(f[y+(q<<2)>>2]|0)+(f[A>>2]|0)|0;t=AEa(l*+(o|0))|0;d[m+(q<<1)>>1]=(t+32768|0)>>>0<65536?t:(t|0)>0?32767:32768;f[A>>2]=o-(f[n+(q<<2)>>2]|0);q=q+1|0}while((q|0)!=(i|0))}if(!w)break;m=m+g|0;c=c+4|0;G=f[h>>2]|0;w=w+-1|0}u=j;return}else{w=e;e=C;C=D;D=x;while(1){x=f[e>>2]|0;G=f[e+(1-C<<2)>>2]|0;if(a){c=0;do{m=E+(c<<2)|0;q=(f[x+(c<<2)>>2]|0)+(f[m>>2]|0)|0;d[w+(c<<1)>>1]=(q+32768|0)>>>0<65536?q:(q|0)>0?32767:32768;f[m>>2]=q-(f[G+(c<<2)>>2]|0);c=c+1|0}while((c|0)!=(i|0))}if(!D)break;w=w+g|0;e=e+4|0;C=f[h>>2]|0;D=D+-1|0}u=j;return}}function C0(a){a=a|0;f[a+24>>2]=0;return}function D0(a){a=a|0;GQa(a);return}function E0(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function F0(a){a=a|0;var b=0,c=0;f[a>>2]=44684;b=f[a+28>>2]|0;if(!b)return;c=a+32|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-8-b|0)>>>3)<<3);GQa(b);return}function G0(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=44684;b=f[a+28>>2]|0;if(!b){GQa(a);return}c=a+32|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-8-b|0)>>>3)<<3);GQa(b);GQa(a);return}function H0(a,c,e,g,h,i){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0.0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0.0,L=0.0,M=0;j=u;u=u+16|0;k=j;l=+p[a+16>>3];m=l!=1.0;n=a+28|0;o=a+32|0;q=f[o>>2]|0;r=f[n>>2]|0;s=q-r>>3;t=r;if((s|0)==(i|0)){r=a+24|0;v=f[r>>2]|0;if(!v){w=r;x=t;y=9}else{r=a+4|0;z=f[r>>2]|0;if((v|0)==(z+-1|0))A=z;else{f[k>>2]=0;f[k+4>>2]=0;z=JV(k,19)|0;v=194250;B=z+19|0;do{b[z>>0]=b[v>>0]|0;z=z+1|0;v=v+1|0}while((z|0)<(B|0));EP(-215,k,451664,193076,232);KV(k);A=f[r>>2]|0}C=c+(A+-1<<2)|0;D=A;E=t}}else{A=q;if(s>>>0>=i>>>0)if(s>>>0>i>>>0?(q=t+(i<<3)|0,(q|0)!=(A|0)):0){f[o>>2]=A+(~((A+-8-q|0)>>>3)<<3);F=t}else F=t;else{U$(n,i-s|0);F=f[n>>2]|0}n=a+24|0;f[n>>2]=0;w=n;x=F;y=9}if((y|0)==9){FVa(x|0,0,i<<3|0)|0;y=f[w>>2]|0;F=f[a+4>>2]|0;a=F+-1|0;if((y|0)<(a|0)){if((i|0)>0){n=c;s=y;while(1){t=f[n>>2]|0;q=0;do{A=x+(q<<3)|0;p[A>>3]=+p[t+(q<<3)>>3]+ +p[A>>3];q=q+1|0}while((q|0)!=(i|0));q=s+1|0;t=n+4|0;if((q|0)<(a|0)){n=t;s=q}else{G=q;H=t;break}}}else{s=y+1|0;n=(a|0)>(s|0)?a:s;G=n;H=c+(n-y<<2)|0}f[w>>2]=G;C=H;D=F;E=x}else{C=c;D=F;E=x}}if(!h){u=j;return}x=1-D|0;D=i+-2|0;F=(i|0)<2;c=i&-2;H=e;e=C;C=h;while(1){C=C+-1|0;h=f[e>>2]|0;G=f[e+(x<<2)>>2]|0;if(m){if(F)I=0;else{w=0;do{y=E+(w<<3)|0;J=+p[y>>3]+ +p[h+(w<<3)>>3];n=w|1;s=E+(n<<3)|0;K=+p[s>>3]+ +p[h+(n<<3)>>3];a=AEa(l*J)|0;d[H+(w<<1)>>1]=a>>>0<65536?a:(a|0)>0?65535:0;a=AEa(l*K)|0;d[H+(n<<1)>>1]=a>>>0<65536?a:(a|0)>0?65535:0;L=K-+p[G+(n<<3)>>3];p[y>>3]=J-+p[G+(w<<3)>>3];p[s>>3]=L;w=w+2|0}while((w|0)<=(D|0));I=c}if((I|0)<(i|0)){w=I;do{s=E+(w<<3)|0;L=+p[s>>3]+ +p[h+(w<<3)>>3];y=AEa(l*L)|0;d[H+(w<<1)>>1]=y>>>0<65536?y:(y|0)>0?65535:0;p[s>>3]=L-+p[G+(w<<3)>>3];w=w+1|0}while((w|0)!=(i|0))}}else{if(F)M=0;else{w=0;do{s=E+(w<<3)|0;L=+p[s>>3]+ +p[h+(w<<3)>>3];y=w|1;n=E+(y<<3)|0;J=+p[n>>3]+ +p[h+(y<<3)>>3];a=AEa(L)|0;d[H+(w<<1)>>1]=a>>>0<65536?a:(a|0)>0?65535:0;a=AEa(J)|0;d[H+(y<<1)>>1]=a>>>0<65536?a:(a|0)>0?65535:0;K=J-+p[G+(y<<3)>>3];p[s>>3]=L-+p[G+(w<<3)>>3];p[n>>3]=K;w=w+2|0}while((w|0)<=(D|0));M=c}if((M|0)<(i|0)){w=M;do{n=E+(w<<3)|0;K=+p[n>>3]+ +p[h+(w<<3)>>3];s=AEa(K)|0;d[H+(w<<1)>>1]=s>>>0<65536?s:(s|0)>0?65535:0;p[n>>3]=K-+p[G+(w<<3)>>3];w=w+1|0}while((w|0)!=(i|0))}}if(!C)break;else{H=H+g|0;e=e+4|0}}u=j;return}function I0(a){a=a|0;f[a+24>>2]=0;return}function J0(a){a=a|0;GQa(a);return}function K0(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function L0(a){a=a|0;var b=0,c=0;f[a>>2]=44640;b=f[a+28>>2]|0;if(!b)return;c=a+32|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);GQa(b);return}function M0(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=44640;b=f[a+28>>2]|0;if(!b){GQa(a);return}c=a+32|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b);GQa(a);return}function N0(a,c,e,g,h,i){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0.0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;j=u;u=u+16|0;k=j;l=+p[a+16>>3];m=l!=1.0;n=a+28|0;o=a+32|0;q=f[o>>2]|0;r=f[n>>2]|0;s=q-r>>2;t=r;if((s|0)==(i|0)){r=a+24|0;v=f[r>>2]|0;if(!v){w=r;x=t;y=9}else{r=a+4|0;z=f[r>>2]|0;if((v|0)==(z+-1|0))A=z;else{f[k>>2]=0;f[k+4>>2]=0;z=JV(k,19)|0;v=194250;B=z+19|0;do{b[z>>0]=b[v>>0]|0;z=z+1|0;v=v+1|0}while((z|0)<(B|0));EP(-215,k,451664,193076,745);KV(k);A=f[r>>2]|0}C=c+(A+-1<<2)|0;D=A;E=t}}else{A=q;if(s>>>0>=i>>>0)if(s>>>0>i>>>0?(q=t+(i<<2)|0,(q|0)!=(A|0)):0){f[o>>2]=A+(~((A+-4-q|0)>>>2)<<2);F=t}else F=t;else{eK(n,i-s|0);F=f[n>>2]|0}n=a+24|0;f[n>>2]=0;w=n;x=F;y=9}do if((y|0)==9){FVa(x|0,0,i<<2|0)|0;F=f[w>>2]|0;n=a+4|0;s=f[n>>2]|0;t=s+-1|0;if((F|0)<(t|0)){if((i|0)>0)G=c;else{q=c;A=F;do{A=A+1|0;q=q+4|0}while((A|0)<(t|0));f[w>>2]=A;C=q;D=s;E=x;break}while(1){t=f[G>>2]|0;F=0;do{o=x+(F<<2)|0;f[o>>2]=(f[o>>2]|0)+(f[t+(F<<2)>>2]|0);F=F+1|0}while((F|0)!=(i|0));F=(f[w>>2]|0)+1|0;f[w>>2]=F;t=G+4|0;o=f[n>>2]|0;if((F|0)<(o+-1|0))G=t;else{C=t;D=o;E=x;break}}}else{C=c;D=s;E=x}}while(0);x=h+-1|0;if(!h){u=j;return}h=a+4|0;a=(i|0)>0;if(m){m=e;c=C;G=D;w=x;while(1){y=f[c>>2]|0;n=f[c+(1-G<<2)>>2]|0;if(a){q=0;do{A=E+(q<<2)|0;o=(f[y+(q<<2)>>2]|0)+(f[A>>2]|0)|0;t=AEa(l*+(o|0))|0;d[m+(q<<1)>>1]=t>>>0<65536?t:(t|0)>0?65535:0;f[A>>2]=o-(f[n+(q<<2)>>2]|0);q=q+1|0}while((q|0)!=(i|0))}if(!w)break;m=m+g|0;c=c+4|0;G=f[h>>2]|0;w=w+-1|0}u=j;return}else{w=e;e=C;C=D;D=x;while(1){x=f[e>>2]|0;G=f[e+(1-C<<2)>>2]|0;if(a){c=0;do{m=E+(c<<2)|0;q=(f[x+(c<<2)>>2]|0)+(f[m>>2]|0)|0;d[w+(c<<1)>>1]=q>>>0<65536?q:(q|0)>0?65535:0;f[m>>2]=q-(f[G+(c<<2)>>2]|0);c=c+1|0}while((c|0)!=(i|0))}if(!D)break;w=w+g|0;e=e+4|0;C=f[h>>2]|0;D=D+-1|0}u=j;return}}function O0(a){a=a|0;f[a+24>>2]=0;return}function P0(a){a=a|0;GQa(a);return}function Q0(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function R0(a){a=a|0;var b=0,c=0;f[a>>2]=44596;b=f[a+28>>2]|0;if(!b)return;c=a+32|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-8-b|0)>>>3)<<3);GQa(b);return}function S0(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=44596;b=f[a+28>>2]|0;if(!b){GQa(a);return}c=a+32|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-8-b|0)>>>3)<<3);GQa(b);GQa(a);return}function T0(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0.0,K=0.0,L=0;i=u;u=u+16|0;j=i;k=+p[a+16>>3];l=k!=1.0;m=a+28|0;n=a+32|0;o=f[n>>2]|0;q=f[m>>2]|0;r=o-q>>3;s=q;if((r|0)==(h|0)){q=a+24|0;t=f[q>>2]|0;if(!t){v=q;w=s;x=9}else{q=a+4|0;y=f[q>>2]|0;if((t|0)==(y+-1|0))z=y;else{f[j>>2]=0;f[j+4>>2]=0;y=JV(j,19)|0;t=194250;A=y+19|0;do{b[y>>0]=b[t>>0]|0;y=y+1|0;t=t+1|0}while((y|0)<(A|0));EP(-215,j,451664,193076,232);KV(j);z=f[q>>2]|0}B=c+(z+-1<<2)|0;C=z;D=s}}else{z=o;if(r>>>0>=h>>>0)if(r>>>0>h>>>0?(o=s+(h<<3)|0,(o|0)!=(z|0)):0){f[n>>2]=z+(~((z+-8-o|0)>>>3)<<3);E=s}else E=s;else{U$(m,h-r|0);E=f[m>>2]|0}m=a+24|0;f[m>>2]=0;v=m;w=E;x=9}if((x|0)==9){FVa(w|0,0,h<<3|0)|0;x=f[v>>2]|0;E=f[a+4>>2]|0;m=E+-1|0;if((x|0)<(m|0)){if((h|0)>0){r=c;s=x;while(1){o=f[r>>2]|0;z=0;do{n=w+(z<<3)|0;p[n>>3]=+p[o+(z<<3)>>3]+ +p[n>>3];z=z+1|0}while((z|0)!=(h|0));z=s+1|0;o=r+4|0;if((z|0)<(m|0)){r=o;s=z}else{F=z;G=o;break}}}else{s=x+1|0;r=(m|0)>(s|0)?m:s;F=r;G=c+(r-x<<2)|0}f[v>>2]=F;B=G;C=E;D=w}else{B=c;C=E;D=w}}if(!g){u=i;return}w=a+4|0;a=h+-2|0;E=(h|0)<2;c=h&-2;G=d;d=B;B=g;g=C;while(1){C=B+-1|0;F=f[d>>2]|0;v=f[d+(1-g<<2)>>2]|0;if(l){if(E)H=0;else{x=0;do{r=D+(x<<3)|0;I=+p[r>>3]+ +p[F+(x<<3)>>3];s=x|1;m=D+(s<<3)|0;J=+p[m>>3]+ +p[F+(s<<3)>>3];o=AEa(k*I)|0;b[G+x>>0]=o>>>0<256?o:(o|0)>0?255:0;o=AEa(k*J)|0;b[G+s>>0]=o>>>0<256?o:(o|0)>0?255:0;K=J-+p[v+(s<<3)>>3];p[r>>3]=I-+p[v+(x<<3)>>3];p[m>>3]=K;x=x+2|0}while((x|0)<=(a|0));H=c}if((H|0)<(h|0)){x=H;do{m=D+(x<<3)|0;K=+p[m>>3]+ +p[F+(x<<3)>>3];r=AEa(k*K)|0;b[G+x>>0]=r>>>0<256?r:(r|0)>0?255:0;p[m>>3]=K-+p[v+(x<<3)>>3];x=x+1|0}while((x|0)!=(h|0))}}else{if(E)L=0;else{x=0;do{m=D+(x<<3)|0;K=+p[m>>3]+ +p[F+(x<<3)>>3];r=x|1;s=D+(r<<3)|0;I=+p[s>>3]+ +p[F+(r<<3)>>3];o=AEa(K)|0;b[G+x>>0]=o>>>0<256?o:(o|0)>0?255:0;o=AEa(I)|0;b[G+r>>0]=o>>>0<256?o:(o|0)>0?255:0;J=I-+p[v+(r<<3)>>3];p[m>>3]=K-+p[v+(x<<3)>>3];p[s>>3]=J;x=x+2|0}while((x|0)<=(a|0));L=c}if((L|0)<(h|0)){x=L;do{s=D+(x<<3)|0;J=+p[s>>3]+ +p[F+(x<<3)>>3];m=AEa(J)|0;b[G+x>>0]=m>>>0<256?m:(m|0)>0?255:0;p[s>>3]=J-+p[v+(x<<3)>>3];x=x+1|0}while((x|0)!=(h|0))}}if(!C)break;G=G+e|0;d=d+4|0;B=C;g=f[w>>2]|0}u=i;return}function U0(a){a=a|0;f[a+24>>2]=0;return}function V0(a){a=a|0;GQa(a);return}function W0(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function X0(a){a=a|0;var b=0,c=0;f[a>>2]=44552;b=f[a+36>>2]|0;if(!b)return;c=a+40|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-2-b|0)>>>1)<<1);GQa(b);return}function Y0(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=44552;b=f[a+36>>2]|0;if(!b){GQa(a);return}c=a+40|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-2-b|0)>>>1)<<1);GQa(b);GQa(a);return}function Z0(a,c,e,g,h,i){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;k=u;u=u+16|0;l=k;m=f[a+32>>2]|0;n=f[a+28>>2]|0;o=+p[a+16>>3]!=1.0;q=a+36|0;r=a+40|0;s=f[r>>2]|0;t=f[q>>2]|0;v=s-t>>1;w=t;if((v|0)==(i|0)){t=a+24|0;x=f[t>>2]|0;if(!x){y=t;z=w;A=9}else{t=a+4|0;B=f[t>>2]|0;if((x|0)==(B+-1|0))C=B;else{f[l>>2]=0;f[l+4>>2]=0;B=JV(l,19)|0;x=194250;D=B+19|0;do{b[B>>0]=b[x>>0]|0;B=B+1|0;x=x+1|0}while((B|0)<(D|0));EP(-215,l,451664,193076,489);KV(l);C=f[t>>2]|0}E=c+(C+-1<<2)|0;F=C;G=w}}else{C=s;if(v>>>0>=i>>>0)if(v>>>0>i>>>0?(s=w+(i<<1)|0,(s|0)!=(C|0)):0){f[r>>2]=C+(~((C+-2-s|0)>>>1)<<1);H=w}else H=w;else{$0(q,i-v|0);H=f[q>>2]|0}q=a+24|0;f[q>>2]=0;y=q;z=H;A=9}if((A|0)==9){FVa(z|0,0,i<<1|0)|0;A=f[y>>2]|0;H=f[a+4>>2]|0;q=H+-1|0;if((A|0)<(q|0)){if((i|0)>0){v=c;w=A;while(1){s=f[v>>2]|0;C=0;do{r=z+(C<<1)|0;d[r>>1]=(j[r>>1]|0)+(j[s+(C<<1)>>1]|0);C=C+1|0}while((C|0)!=(i|0));C=w+1|0;s=v+4|0;if((C|0)<(q|0)){v=s;w=C}else{I=C;J=s;break}}}else{w=A+1|0;v=(q|0)>(w|0)?q:w;I=v;J=c+(v-A<<2)|0}f[y>>2]=I;E=J;F=H;G=z}else{E=c;F=H;G=z}}z=h+-1|0;if(!h){u=k;return}h=a+4|0;a=(i|0)>0;if(o){o=e;H=E;c=F;J=z;while(1){I=f[H>>2]|0;y=f[H+(1-c<<2)>>2]|0;if(a){A=0;do{v=G+(A<<1)|0;w=(j[I+(A<<1)>>1]|0)+(j[v>>1]|0)|0;q=(X(w+n|0,m)|0)>>>23&255;b[o+A>>0]=q;d[v>>1]=w-(j[y+(A<<1)>>1]|0);A=A+1|0}while((A|0)!=(i|0))}if(!J)break;o=o+g|0;H=H+4|0;c=f[h>>2]|0;J=J+-1|0}u=k;return}else{J=e;e=E;E=F;F=z;while(1){z=f[e>>2]|0;c=f[e+(1-E<<2)>>2]|0;if(a){H=0;do{o=G+(H<<1)|0;m=(j[z+(H<<1)>>1]|0)+(j[o>>1]|0)|0;b[J+H>>0]=m>>>0<256?m:m|0?255:0;d[o>>1]=m-(j[c+(H<<1)>>1]|0);H=H+1|0}while((H|0)!=(i|0))}if(!F)break;J=J+g|0;e=e+4|0;E=f[h>>2]|0;F=F+-1|0}u=k;return}}function _0(a){a=a|0;f[a+24>>2]=0;return}function $0(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>1>>>0>=b>>>0){FVa(g|0,0,b<<1|0)|0;f[e>>2]=g+(b<<1);return}h=f[a>>2]|0;i=g-h|0;g=i>>1;j=g+b|0;if((j|0)<0)ZOa(a);k=d-h|0;d=k>>1>>>0<1073741823?(k>>>0>>0?j:k):2147483647;do if(d)if((d|0)<0){k=hd(8)|0;LQa(k,349912);f[k>>2]=118288;ld(k|0,20688,857)}else{k=EQa(d<<1)|0;l=k;m=k;break}else{l=0;m=0}while(0);k=l+(g<<1)|0;FVa(k|0,0,b<<1|0)|0;if((i|0)>0)DVa(m|0,h|0,i|0)|0;f[a>>2]=l;f[e>>2]=k+(b<<1);f[c>>2]=l+(d<<1);if(!h)return;GQa(h);return}function a1(a){a=a|0;GQa(a);return}function b1(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function c1(a){a=a|0;var b=0,c=0;f[a>>2]=44508;b=f[a+28>>2]|0;if(!b)return;c=a+32|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);GQa(b);return}function d1(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=44508;b=f[a+28>>2]|0;if(!b){GQa(a);return}c=a+32|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b);GQa(a);return}function e1(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;i=u;u=u+16|0;j=i;k=+p[a+16>>3];l=k!=1.0;m=a+28|0;n=a+32|0;o=f[n>>2]|0;q=f[m>>2]|0;r=o-q>>2;s=q;if((r|0)==(h|0)){q=a+24|0;t=f[q>>2]|0;if(!t){v=q;w=s;x=9}else{q=a+4|0;y=f[q>>2]|0;if((t|0)==(y+-1|0))z=y;else{f[j>>2]=0;f[j+4>>2]=0;y=JV(j,19)|0;t=194250;A=y+19|0;do{b[y>>0]=b[t>>0]|0;y=y+1|0;t=t+1|0}while((y|0)<(A|0));EP(-215,j,451664,193076,341);KV(j);z=f[q>>2]|0}B=c+(z+-1<<2)|0;C=z;D=s}}else{z=o;if(r>>>0>=h>>>0)if(r>>>0>h>>>0?(o=s+(h<<2)|0,(o|0)!=(z|0)):0){f[n>>2]=z+(~((z+-4-o|0)>>>2)<<2);E=s}else E=s;else{eK(m,h-r|0);E=f[m>>2]|0}m=a+24|0;f[m>>2]=0;v=m;w=E;x=9}do if((x|0)==9){FVa(w|0,0,h<<2|0)|0;E=f[v>>2]|0;m=a+4|0;r=f[m>>2]|0;s=r+-1|0;if((E|0)<(s|0)){if((h|0)>0)F=c;else{o=c;z=E;do{z=z+1|0;o=o+4|0}while((z|0)<(s|0));f[v>>2]=z;B=o;C=r;D=w;break}while(1){s=f[F>>2]|0;E=0;do{n=w+(E<<2)|0;f[n>>2]=(f[n>>2]|0)+(f[s+(E<<2)>>2]|0);E=E+1|0}while((E|0)!=(h|0));E=(f[v>>2]|0)+1|0;f[v>>2]=E;s=F+4|0;n=f[m>>2]|0;if((E|0)<(n+-1|0))F=s;else{B=s;C=n;D=w;break}}}else{B=c;C=r;D=w}}while(0);w=g+-1|0;if(!g){u=i;return}g=a+4|0;a=(h|0)>0;if(l){l=d;c=B;F=C;v=w;while(1){x=f[c>>2]|0;m=f[c+(1-F<<2)>>2]|0;if(a){o=0;do{z=D+(o<<2)|0;n=(f[x+(o<<2)>>2]|0)+(f[z>>2]|0)|0;s=AEa(k*+(n|0))|0;b[l+o>>0]=s>>>0<256?s:(s|0)>0?255:0;f[z>>2]=n-(f[m+(o<<2)>>2]|0);o=o+1|0}while((o|0)!=(h|0))}if(!v)break;l=l+e|0;c=c+4|0;F=f[g>>2]|0;v=v+-1|0}u=i;return}else{v=d;d=B;B=C;C=w;while(1){w=f[d>>2]|0;F=f[d+(1-B<<2)>>2]|0;if(a){c=0;do{l=D+(c<<2)|0;o=(f[w+(c<<2)>>2]|0)+(f[l>>2]|0)|0;b[v+c>>0]=o>>>0<256?o:(o|0)>0?255:0;f[l>>2]=o-(f[F+(c<<2)>>2]|0);c=c+1|0}while((c|0)!=(h|0))}if(!C)break;v=v+e|0;d=d+4|0;B=f[g>>2]|0;C=C+-1|0}u=i;return}}function f1(a){a=a|0;f[a+24>>2]=0;return}function g1(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;i=u;u=u+64|0;j=i;k=i+48|0;l=i+40|0;m=i+32|0;n=b&7;o=b&4088;p=(n|0)==0;if(p)if((c&7|0)==0?(X(f[d+4>>2]|0,f[d>>2]|0)|0)<257:0)q=2;else r=5;else if(n>>>0<5)r=5;else q=6;do if((r|0)==5){if(g?(s=X(f[d+4>>2]|0,f[d>>2]|0)|0,(s|0)>((p?8388608:(n|0)==2?32768:65536)|0)):0){q=6;break}q=4}while(0);n=q|o;__(k,b,n,f[d>>2]|0,f[e>>2]|0);o=f[d+4>>2]|0;if(g)t=1.0/+(X(f[d>>2]|0,o)|0);else t=1.0;N$(l,n,c,o,f[e+4>>2]|0,t);f[m>>2]=0;f[m+4>>2]=0;e=EQa(200)|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[j+24>>2]=0;f[j+28>>2]=0;Aia(e,m,k,l,b,c,n,h,-1,j);j=EQa(16)|0;f[j+4>>2]=1;f[j>>2]=45036;f[j+8>>2]=e;f[a>>2]=j;f[a+4>>2]=e;e=f[m>>2]|0;if(e|0?(m=e+4|0,a=f[m>>2]|0,f[m>>2]=a+-1,(a|0)==1):0)qg[f[(f[e>>2]|0)+8>>2]&1023](e);e=f[l>>2]|0;if(e|0?(l=e+4|0,a=f[l>>2]|0,f[l>>2]=a+-1,(a|0)==1):0)qg[f[(f[e>>2]|0)+8>>2]&1023](e);e=f[k>>2]|0;if(!e){u=i;return}k=e+4|0;a=f[k>>2]|0;f[k>>2]=a+-1;if((a|0)!=1){u=i;return}qg[f[(f[e>>2]|0)+8>>2]&1023](e);u=i;return}function h1(a){a=a|0;GQa(a);return}function i1(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function j1(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;i=u;u=u+176|0;j=i+160|0;k=i+104|0;l=i+40|0;m=i+48|0;n=i+32|0;o=i+24|0;p=i+16|0;q=i+8|0;r=i;yV(j,45048);do if((HJ(a)|0)==65536){s=f[a+4>>2]|0;f[k>>2]=f[s>>2];t=k+4|0;v=s+4|0;f[t>>2]=f[v>>2];w=k+8|0;f[w>>2]=f[s+8>>2];f[k+12>>2]=f[s+12>>2];f[k+16>>2]=f[s+16>>2];f[k+20>>2]=f[s+20>>2];f[k+24>>2]=f[s+24>>2];f[k+28>>2]=f[s+28>>2];f[k+32>>2]=f[s+32>>2];x=f[s+36>>2]|0;f[k+36>>2]=x;y=k+40|0;f[y>>2]=w;w=k+48|0;z=k+44|0;f[z>>2]=w;f[w>>2]=0;f[k+52>>2]=0;if(x|0){w=x+12|0;f[w>>2]=(f[w>>2]|0)+1}if((f[v>>2]|0)<3){v=f[s+44>>2]|0;w=f[z>>2]|0;f[w>>2]=f[v>>2];f[w+4>>2]=f[v+4>>2];A=k;B=y;break}else{f[t>>2]=0;WO(k,s);A=k;B=y;break}}else{DJ(k,a,-1);A=k;B=k+40|0}while(0);a=f[A>>2]|0;y=f[B>>2]|0;s=f[y>>2]|0;f[l>>2]=f[y+4>>2];f[l+4>>2]=s;_J(b,l,((c|0)<0?a:c)&7|a&4088,-1,0,0);do if((HJ(b)|0)==65536){a=f[b+4>>2]|0;f[m>>2]=f[a>>2];c=m+4|0;l=a+4|0;f[c>>2]=f[l>>2];s=m+8|0;f[s>>2]=f[a+8>>2];f[m+12>>2]=f[a+12>>2];f[m+16>>2]=f[a+16>>2];f[m+20>>2]=f[a+20>>2];f[m+24>>2]=f[a+24>>2];f[m+28>>2]=f[a+28>>2];f[m+32>>2]=f[a+32>>2];y=f[a+36>>2]|0;f[m+36>>2]=y;f[m+40>>2]=s;s=m+48|0;t=m+44|0;f[t>>2]=s;f[s>>2]=0;f[m+52>>2]=0;if(y|0){s=y+12|0;f[s>>2]=(f[s>>2]|0)+1}if((f[l>>2]|0)<3){l=f[a+44>>2]|0;s=f[t>>2]|0;f[s>>2]=f[l>>2];f[s+4>>2]=f[l+4>>2];break}else{f[c>>2]=0;WO(m,a);break}}else DJ(m,b,-1);while(0);b=(h&16|0)==0;if(!(b|g^1)){a=f[k+8>>2]|0;if((a|0)==1)f[d+4>>2]=1;c=f[k+12>>2]|0;if((c|0)==1){f[d>>2]=1;C=1;D=a}else{C=c;D=a}}else{C=f[k+12>>2]|0;D=f[k+8>>2]|0}f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=C;f[o+4>>2]=D;if(b)fP(k,o,n);b=k+16|0;D=k+44|0;C=m+16|0;a=m+44|0;c=f[A>>2]&4095;A=f[m>>2]&4095;f[q>>2]=f[d>>2];f[q+4>>2]=f[d+4>>2];f[r>>2]=f[e>>2];f[r+4>>2]=f[e+4>>2];g1(p,c,A,q,r,g,h&-17);h=f[p+4>>2]|0;Sh[f[(f[h>>2]|0)+20>>2]&255](h,k,m,o,n);n=f[p>>2]|0;if(n|0?(p=n+4|0,o=f[p>>2]|0,f[p>>2]=o+-1,(o|0)==1):0)qg[f[(f[n>>2]|0)+8>>2]&1023](n);n=m+36|0;o=f[n>>2]|0;if(o|0?(p=o+12|0,o=f[p>>2]|0,f[p>>2]=o+-1,(o|0)==1):0)XO(m);f[n>>2]=0;n=m+4|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;f[C+12>>2]=0;if((f[n>>2]|0)>0){C=f[m+40>>2]|0;o=0;do{f[C+(o<<2)>>2]=0;o=o+1|0}while((o|0)<(f[n>>2]|0))}n=f[a>>2]|0;if((n|0)!=(m+48|0))dX(n);n=k+36|0;m=f[n>>2]|0;if(m|0?(a=m+12|0,m=f[a>>2]|0,f[a>>2]=m+-1,(m|0)==1):0)XO(k);f[n>>2]=0;n=k+4|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[n>>2]|0)>0){b=f[B>>2]|0;B=0;do{f[b+(B<<2)>>2]=0;B=B+1|0}while((B|0)<(f[n>>2]|0))}n=f[D>>2]|0;if((n|0)!=(k+48|0))dX(n);if(!(f[j+4>>2]|0)){u=i;return}u=i;return}function k1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0;g=u;u=u+32|0;h=g+16|0;i=g+8|0;j=g;yV(h,45068);f[i>>2]=f[c>>2];f[i+4>>2]=f[c+4>>2];f[j>>2]=f[d>>2];f[j+4>>2]=f[d+4>>2];j1(a,b,-1,i,j,1,e);if(!(f[h+4>>2]|0)){u=g;return}u=g;return}function l1(a,c,d,e){a=a|0;c=c|0;d=+d;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0.0;g=u;u=u+16|0;h=g;i=d<=0.0&((c|0)<8&((c|0)%2|0|0)==1)?45088+((c>>1)*28|0)|0:0;j=(e|0)==5;if((e+-5|0)>>>0>=2){f[h>>2]=0;f[h+4>>2]=0;k=JV(h,24)|0;l=199850;m=k+24|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-215,h,195536,193076,1730);KV(h)}f[a>>2]=1124007936;l=a+8|0;o=a+40|0;k=a+4|0;m=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(m|0));f[o>>2]=l;l=a+48|0;f[a+44>>2]=l;f[l>>2]=0;f[a+52>>2]=0;f[h>>2]=c;f[h+4>>2]=1;VO(a,2,h,e&4095);e=f[a+16>>2]|0;q=+(c+-1|0)*.5;r=d>0.0?d:(q+-1.0)*.3+.8;d=-.5/(r*r);a=(c|0)>0;if(!a){u=g;return}if(i)if(j){h=0;r=0.0;while(1){s=+n[i+(h<<2)>>2];n[e+(h<<2)>>2]=s;t=r+s;h=h+1|0;if((h|0)==(c|0)){v=t;break}else r=t}}else{h=0;r=0.0;while(1){t=+n[i+(h<<2)>>2];p[e+(h<<3)>>3]=t;s=r+t;h=h+1|0;if((h|0)==(c|0)){v=s;break}else r=s}}else{h=0;r=0.0;while(1){s=+(h|0)-q;t=+U(+(s*(d*s)));if(j){s=t;n[e+(h<<2)>>2]=s;w=s}else{p[e+(h<<3)>>3]=t;w=t}t=r+w;h=h+1|0;if((h|0)==(c|0)){v=t;break}else r=t}}r=1.0/v;if(!a){u=g;return}if(j){j=0;do{a=e+(j<<2)|0;n[a>>2]=r*+n[a>>2];j=j+1|0}while((j|0)!=(c|0));u=g;return}else{j=0;do{a=e+(j<<3)|0;p[a>>3]=r*+p[a>>3];j=j+1|0}while((j|0)!=(c|0));u=g;return}}function m1(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=+g;h=+h;var i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;i=u;u=u+64|0;j=i;k=d&7;l=!(h<=0.0)?h:g;d=f[e>>2]|0;if(g>0.0&(d|0)<1){m=AEa(((k|0)==0?3.0:4.0)*g*2.0+1.0)|0|1;f[e>>2]=m;n=m}else n=d;d=e+4|0;m=f[d>>2]|0;if(l>0.0&(m|0)<1){o=AEa(((k|0)==0?3.0:4.0)*l*2.0+1.0)|0|1;f[d>>2]=o;p=o}else p=m;if((n|0)>0&((n|0)%2|0|0)==1?(p|0)>0&((p|0)%2|0|0)==1:0)q=n;else{f[j>>2]=0;f[j+4>>2]=0;n=JV(j,84)|0;p=195554;m=n+84|0;do{b[n>>0]=b[p>>0]|0;n=n+1|0;p=p+1|0}while((n|0)<(m|0));EP(-215,j,195639,193076,3186);KV(j);q=f[e>>2]|0}h=g<0.0?0.0:g;g=l<0.0?0.0:l;p=k>>>0>5?k:5;l1(j,q,h,p);if((j|0)==(a|0)){r=j+36|0;s=f[a+36>>2]|0}else{q=j+36|0;k=f[q>>2]|0;if(k|0){n=k+12|0;f[n>>2]=(f[n>>2]|0)+1}n=a+36|0;k=f[n>>2]|0;if(k|0?(m=k+12|0,k=f[m>>2]|0,f[m>>2]=k+-1,(k|0)==1):0)XO(a);f[n>>2]=0;k=a+16|0;m=a+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;if((f[m>>2]|0)>0){o=f[a+40>>2]|0;t=0;do{f[o+(t<<2)>>2]=0;t=t+1|0;v=f[m>>2]|0}while((t|0)<(v|0));f[a>>2]=f[j>>2];if((v|0)<3)w=20;else w=22}else{f[a>>2]=f[j>>2];w=20}if((w|0)==20){v=f[j+4>>2]|0;if((v|0)<3){f[m>>2]=v;f[a+8>>2]=f[j+8>>2];f[a+12>>2]=f[j+12>>2];v=f[j+44>>2]|0;m=f[a+44>>2]|0;f[m>>2]=f[v>>2];f[m+4>>2]=f[v+4>>2]}else w=22}if((w|0)==22)WO(a,j);f[k>>2]=f[j+16>>2];f[a+20>>2]=f[j+20>>2];f[a+24>>2]=f[j+24>>2];f[a+28>>2]=f[j+28>>2];f[a+32>>2]=f[j+32>>2];k=f[q>>2]|0;f[n>>2]=k;r=q;s=k}if(s|0?(k=s+12|0,s=f[k>>2]|0,f[k>>2]=s+-1,(s|0)==1):0)XO(j);f[r>>2]=0;r=j+16|0;s=j+4|0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;if((f[s>>2]|0)>0){r=f[j+40>>2]|0;k=0;do{f[r+(k<<2)>>2]=0;k=k+1|0}while((k|0)<(f[s>>2]|0))}s=f[j+44>>2]|0;if((s|0)!=(j+48|0))dX(s);s=f[d>>2]|0;if((s|0)==(f[e>>2]|0)?+K(+(h-g))<2.220446049250313e-16:0){if((c|0)==(a|0)){u=i;return}e=a+36|0;d=f[e>>2]|0;if(d|0){k=d+12|0;f[k>>2]=(f[k>>2]|0)+1}k=c+36|0;d=f[k>>2]|0;if(d|0?(r=d+12|0,d=f[r>>2]|0,f[r>>2]=d+-1,(d|0)==1):0)XO(c);f[k>>2]=0;d=c+16|0;r=c+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[r>>2]|0)>0){q=f[c+40>>2]|0;n=0;do{f[q+(n<<2)>>2]=0;n=n+1|0;x=f[r>>2]|0}while((n|0)<(x|0));f[c>>2]=f[a>>2];if((x|0)<3)w=45;else w=47}else{f[c>>2]=f[a>>2];w=45}if((w|0)==45){x=f[a+4>>2]|0;if((x|0)<3){f[r>>2]=x;f[c+8>>2]=f[a+8>>2];f[c+12>>2]=f[a+12>>2];x=f[a+44>>2]|0;r=f[c+44>>2]|0;f[r>>2]=f[x>>2];f[r+4>>2]=f[x+4>>2]}else w=47}if((w|0)==47)WO(c,a);f[d>>2]=f[a+16>>2];f[c+20>>2]=f[a+20>>2];f[c+24>>2]=f[a+24>>2];f[c+28>>2]=f[a+28>>2];f[c+32>>2]=f[a+32>>2];f[k>>2]=f[e>>2];u=i;return}l1(j,s,g,p);if((j|0)==(c|0)){y=j+36|0;z=f[c+36>>2]|0}else{p=j+36|0;s=f[p>>2]|0;if(s|0){e=s+12|0;f[e>>2]=(f[e>>2]|0)+1}e=c+36|0;s=f[e>>2]|0;if(s|0?(k=s+12|0,s=f[k>>2]|0,f[k>>2]=s+-1,(s|0)==1):0)XO(c);f[e>>2]=0;s=c+16|0;k=c+4|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if((f[k>>2]|0)>0){a=f[c+40>>2]|0;d=0;do{f[a+(d<<2)>>2]=0;d=d+1|0;A=f[k>>2]|0}while((d|0)<(A|0));f[c>>2]=f[j>>2];if((A|0)<3)w=61;else w=63}else{f[c>>2]=f[j>>2];w=61}if((w|0)==61){A=f[j+4>>2]|0;if((A|0)<3){f[k>>2]=A;f[c+8>>2]=f[j+8>>2];f[c+12>>2]=f[j+12>>2];A=f[j+44>>2]|0;k=f[c+44>>2]|0;f[k>>2]=f[A>>2];f[k+4>>2]=f[A+4>>2]}else w=63}if((w|0)==63)WO(c,j);f[s>>2]=f[j+16>>2];f[c+20>>2]=f[j+20>>2];f[c+24>>2]=f[j+24>>2];f[c+28>>2]=f[j+28>>2];f[c+32>>2]=f[j+32>>2];c=f[p>>2]|0;f[e>>2]=c;y=p;z=c}if(z|0?(c=z+12|0,z=f[c>>2]|0,f[c>>2]=z+-1,(z|0)==1):0)XO(j);f[y>>2]=0;y=j+16|0;z=j+4|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;if((f[z>>2]|0)>0){y=f[j+40>>2]|0;c=0;do{f[y+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[z>>2]|0))}z=f[j+44>>2]|0;if((z|0)!=(j+48|0))dX(z);u=i;return}function n1(a,c,e,g,h,i){a=a|0;c=c|0;e=e|0;g=+g;h=+h;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0.0,T=0,U=0,V=0,W=0,Y=0,Z=0.0,_=0.0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0;k=u;u=u+560|0;l=k+488|0;m=k+480|0;n=k+464|0;o=k+472|0;p=k+352|0;q=k+240|0;r=k+408|0;s=k+296|0;t=k+184|0;v=k+128|0;w=k+72|0;x=k+48|0;y=k+32|0;z=k+16|0;A=k;B=k+64|0;yV(m,45200);C=GJ(a,-1)|0;FJ(n,a,-1);f[o>>2]=f[n>>2];D=n+4|0;f[o+4>>2]=f[D>>2];_J(c,o,C,-1,0,0);o=i&-17;do if(o|0){if(!(i&16)){do if((HJ(a)|0)==65536){E=f[a+4>>2]|0;f[p>>2]=f[E>>2];F=p+4|0;G=E+4|0;f[F>>2]=f[G>>2];H=p+8|0;f[H>>2]=f[E+8>>2];f[p+12>>2]=f[E+12>>2];f[p+16>>2]=f[E+16>>2];f[p+20>>2]=f[E+20>>2];f[p+24>>2]=f[E+24>>2];f[p+28>>2]=f[E+28>>2];f[p+32>>2]=f[E+32>>2];I=p+36|0;J=f[E+36>>2]|0;f[I>>2]=J;f[p+40>>2]=H;H=p+48|0;L=p+44|0;f[L>>2]=H;f[H>>2]=0;f[p+52>>2]=0;if(J|0){H=J+12|0;f[H>>2]=(f[H>>2]|0)+1}if((f[G>>2]|0)<3){G=f[E+44>>2]|0;H=f[L>>2]|0;f[H>>2]=f[G>>2];f[H+4>>2]=f[G+4>>2];M=p;N=I;break}else{f[F>>2]=0;WO(p,E);M=p;N=I;break}}else{DJ(p,a,-1);M=p;N=p+36|0}while(0);I=(f[M>>2]&32768|0)==0;E=f[N>>2]|0;if(E|0?(F=E+12|0,E=f[F>>2]|0,f[F>>2]=E+-1,(E|0)==1):0)XO(p);f[N>>2]=0;E=p+16|0;F=p+4|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;if((f[F>>2]|0)>0){E=f[p+40>>2]|0;G=0;do{f[E+(G<<2)>>2]=0;G=G+1|0}while((G|0)<(f[F>>2]|0))}F=f[p+44>>2]|0;if((F|0)!=(p+48|0))dX(F);if(!I)break}if((f[D>>2]|0)==1)f[e+4>>2]=1;if((f[n>>2]|0)==1)f[e>>2]=1}while(0);n=f[e>>2]|0;if((n|0)==1?(f[e+4>>2]|0)==1:0)XJ(a,c);else O=26;a:do if((O|0)==26){D=C&7;p=(C>>>3&511)+1|0;do if(!D){if(!(i&16)){do if((HJ(a)|0)==65536){N=f[a+4>>2]|0;f[q>>2]=f[N>>2];M=q+4|0;F=N+4|0;f[M>>2]=f[F>>2];G=q+8|0;f[G>>2]=f[N+8>>2];f[q+12>>2]=f[N+12>>2];f[q+16>>2]=f[N+16>>2];f[q+20>>2]=f[N+20>>2];f[q+24>>2]=f[N+24>>2];f[q+28>>2]=f[N+28>>2];f[q+32>>2]=f[N+32>>2];E=q+36|0;H=f[N+36>>2]|0;f[E>>2]=H;f[q+40>>2]=G;G=q+48|0;L=q+44|0;f[L>>2]=G;f[G>>2]=0;f[q+52>>2]=0;if(H|0){G=H+12|0;f[G>>2]=(f[G>>2]|0)+1}if((f[F>>2]|0)<3){F=f[N+44>>2]|0;G=f[L>>2]|0;f[G>>2]=f[F>>2];f[G+4>>2]=f[F+4>>2];P=E;Q=q;break}else{f[M>>2]=0;WO(q,N);P=E;Q=q;break}}else{DJ(q,a,-1);P=q+36|0;Q=q}while(0);E=(f[Q>>2]&32768|0)==0;N=f[P>>2]|0;if(N|0?(M=N+12|0,N=f[M>>2]|0,f[M>>2]=N+-1,(N|0)==1):0)XO(q);f[P>>2]=0;N=q+16|0;M=q+4|0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;if((f[M>>2]|0)>0){N=f[q+40>>2]|0;F=0;do{f[N+(F<<2)>>2]=0;F=F+1|0}while((F|0)<(f[M>>2]|0))}M=f[q+44>>2]|0;if((M|0)!=(q+48|0))dX(M);if(!E)break;R=f[e>>2]|0}else R=n;f[r>>2]=0;M=r+4|0;f[M>>2]=0;f[r+8>>2]=0;f[s>>2]=0;F=s+4|0;f[F>>2]=0;f[s+8>>2]=0;S=!(h<=0.0)?h:g;if(g>0.0&(R|0)<1){N=AEa(g*3.0*2.0+1.0)|0|1;f[e>>2]=N;T=N}else T=R;N=e+4|0;G=f[N>>2]|0;if(S>0.0&(G|0)<1){L=AEa(S*3.0*2.0+1.0)|0|1;f[N>>2]=L;U=L}else U=G;if((T|0)>0&((T|0)%2|0|0)==1?(U|0)>0&((U|0)%2|0|0)==1:0)V=T;else{f[l>>2]=0;f[l+4>>2]=0;W=JV(l,84)|0;G=195554;Y=W+84|0;do{b[W>>0]=b[G>>0]|0;W=W+1|0;G=G+1|0}while((W|0)<(Y|0));EP(-215,l,195639,193076,3186);KV(l);V=f[e>>2]|0}Z=g<0.0?0.0:g;_=S<0.0?0.0:S;o1(V,Z,r);G=f[N>>2]|0;do if((G|0)==(f[e>>2]|0)?+K(+(Z-_))<2.220446049250313e-16:0){E=f[r>>2]|0;L=f[M>>2]|0;H=L;J=E;$=H-J|0;aa=$>>1;ba=s+8|0;ca=f[ba>>2]|0;da=f[s>>2]|0;ea=da;if(aa>>>0<=ca-da>>1>>>0){fa=f[F>>2]|0;ga=fa-da>>1;ha=aa>>>0>ga>>>0;ia=ha?E+(ga<<1)|0:L;L=fa;ga=fa;if((ia|0)==(E|0))ja=ea;else{fa=E;ka=ea;while(1){d[ka>>1]=d[fa>>1]|0;fa=fa+2|0;if((fa|0)==(ia|0))break;else ka=ka+2|0}ja=ea+(((ia+-2-J|0)>>>1)+1<<1)|0}if(ha){ka=H-ia|0;if((ka|0)<=0)break;DVa(ga|0,ia|0,ka|0)|0;f[F>>2]=(f[F>>2]|0)+(ka>>>1<<1);break}else{if((ja|0)==(L|0))break;f[F>>2]=L+(~((L+-2-ja|0)>>>1)<<1);break}}ka=da;if(!da)la=ca;else{fa=f[F>>2]|0;if((fa|0)!=(ea|0))f[F>>2]=fa+(~((fa+-2-da|0)>>>1)<<1);GQa(ka);f[ba>>2]=0;f[F>>2]=0;f[s>>2]=0;la=0}if(($|0)<0)ZOa(s);ka=la>>1>>>0<1073741823?(la>>>0>>0?aa:la):2147483647;if((ka|0)<0)ZOa(s);fa=EQa(ka<<1)|0;f[F>>2]=fa;f[s>>2]=fa;f[ba>>2]=fa+(ka<<1);if(($|0)>0){DVa(fa|0,E|0,$|0)|0;f[F>>2]=fa+($>>>1<<1)}}else O=73;while(0);if((O|0)==73)o1(G,_,s);do if((HJ(a)|0)==65536){N=f[a+4>>2]|0;f[t>>2]=f[N>>2];fa=t+4|0;ka=N+4|0;f[fa>>2]=f[ka>>2];ma=t+8|0;f[ma>>2]=f[N+8>>2];f[t+12>>2]=f[N+12>>2];f[t+16>>2]=f[N+16>>2];f[t+20>>2]=f[N+20>>2];f[t+24>>2]=f[N+24>>2];f[t+28>>2]=f[N+28>>2];f[t+32>>2]=f[N+32>>2];na=f[N+36>>2]|0;f[t+36>>2]=na;f[t+40>>2]=ma;ma=t+48|0;oa=t+44|0;f[oa>>2]=ma;f[ma>>2]=0;f[t+52>>2]=0;if(na|0){ma=na+12|0;f[ma>>2]=(f[ma>>2]|0)+1}if((f[ka>>2]|0)<3){ka=f[N+44>>2]|0;ma=f[oa>>2]|0;f[ma>>2]=f[ka>>2];f[ma+4>>2]=f[ka+4>>2];break}else{f[fa>>2]=0;WO(t,N);break}}else DJ(t,a,-1);while(0);do if((HJ(c)|0)==65536){G=f[c+4>>2]|0;f[v>>2]=f[G>>2];N=v+4|0;fa=G+4|0;f[N>>2]=f[fa>>2];ka=v+8|0;f[ka>>2]=f[G+8>>2];f[v+12>>2]=f[G+12>>2];ma=v+16|0;f[ma>>2]=f[G+16>>2];f[v+20>>2]=f[G+20>>2];f[v+24>>2]=f[G+24>>2];f[v+28>>2]=f[G+28>>2];f[v+32>>2]=f[G+32>>2];oa=f[G+36>>2]|0;f[v+36>>2]=oa;f[v+40>>2]=ka;ka=v+48|0;na=v+44|0;f[na>>2]=ka;f[ka>>2]=0;f[v+52>>2]=0;if(oa|0){ka=oa+12|0;f[ka>>2]=(f[ka>>2]|0)+1}if((f[fa>>2]|0)<3){fa=f[G+44>>2]|0;ka=f[na>>2]|0;f[ka>>2]=f[fa>>2];f[ka+4>>2]=f[fa+4>>2];pa=ma;break}else{f[N>>2]=0;WO(v,G);pa=ma;break}}else{DJ(v,c,-1);pa=v+16|0}while(0);ma=t+16|0;G=f[ma>>2]|0;N=f[pa>>2]|0;if((G|0)==(N|0)){f[w>>2]=1124007936;fa=w+4|0;ka=w+8|0;na=w+40|0;W=fa;Y=W+36|0;do{f[W>>2]=0;W=W+4|0}while((W|0)<(Y|0));f[na>>2]=ka;oa=w+48|0;qa=w+44|0;f[qa>>2]=oa;f[oa>>2]=0;f[w+52>>2]=0;ra=l+8|0;f[ra>>2]=0;f[ra+4>>2]=0;f[l>>2]=33619968;f[l+4>>2]=w;eM(t,l);ra=w+36|0;sa=f[ra>>2]|0;if(sa|0){ta=sa+12|0;f[ta>>2]=(f[ta>>2]|0)+1}ta=t+36|0;sa=f[ta>>2]|0;if(sa|0?(ua=sa+12|0,sa=f[ua>>2]|0,f[ua>>2]=sa+-1,(sa|0)==1):0)XO(t);f[ta>>2]=0;sa=t+4|0;f[ma>>2]=0;f[ma+4>>2]=0;f[ma+8>>2]=0;f[ma+12>>2]=0;if((f[sa>>2]|0)>0){ua=f[t+40>>2]|0;va=0;do{f[ua+(va<<2)>>2]=0;va=va+1|0;wa=f[sa>>2]|0}while((va|0)<(wa|0));f[t>>2]=f[w>>2];if((wa|0)<3)O=100;else O=102}else{f[t>>2]=f[w>>2];O=100}if((O|0)==100){va=f[fa>>2]|0;if((va|0)<3){f[sa>>2]=va;f[t+8>>2]=f[ka>>2];f[t+12>>2]=f[w+12>>2];va=f[qa>>2]|0;ua=f[t+44>>2]|0;f[ua>>2]=f[va>>2];f[ua+4>>2]=f[va+4>>2]}else O=102}if((O|0)==102)WO(t,w);va=w+16|0;f[ma>>2]=f[va>>2];f[t+20>>2]=f[w+20>>2];f[t+24>>2]=f[w+24>>2];f[t+28>>2]=f[w+28>>2];f[t+32>>2]=f[w+32>>2];ua=f[ra>>2]|0;f[ta>>2]=ua;if(ua|0?(xa=ua+12|0,ua=f[xa>>2]|0,f[xa>>2]=ua+-1,(ua|0)==1):0)XO(w);f[ra>>2]=0;f[va>>2]=0;f[va+4>>2]=0;f[va+8>>2]=0;f[va+12>>2]=0;if((f[fa>>2]|0)>0){va=f[na>>2]|0;ua=0;do{f[va+(ua<<2)>>2]=0;ua=ua+1|0}while((ua|0)<(f[fa>>2]|0))}fa=f[qa>>2]|0;if((fa|0)!=(oa|0))dX(fa);ya=f[ma>>2]|0;za=f[pa>>2]|0}else{ya=G;za=N}fa=t+44|0;ua=((f[f[fa>>2]>>2]|0)>>>0)/((1212424721>>>(f[t>>2]<<2&28)&15)>>>0)|0;va=v+44|0;na=f[v>>2]|0;ra=((f[f[va>>2]>>2]|0)>>>0)/((1212424721>>>(na<<2&28)&15)>>>0)|0;ta=f[v+12>>2]|0;ka=f[v+8>>2]|0;sa=f[r>>2]|0;xa=(f[M>>2]|0)-sa>>1;Aa=f[s>>2]|0;Ba=(f[F>>2]|0)-Aa>>1;f[l>>2]=45228;f[l+4>>2]=ya;f[l+8>>2]=za;f[l+12>>2]=ua;f[l+16>>2]=ra;f[l+20>>2]=ta;f[l+24>>2]=ka;f[l+28>>2]=(na>>>3&511)+1;f[l+32>>2]=sa;f[l+36>>2]=Aa;f[l+40>>2]=xa;f[l+44>>2]=Ba;f[l+48>>2]=o;switch(xa|0){case 1:{Ca=((j[sa>>1]|0)+65280&65535)<<16>>16==0?87:86;break}case 3:{if(((j[sa>>1]|0)+65472&65535)<<16>>16==0?((j[sa+2>>1]|0)+65408&65535)<<16>>16==0:0)Ca=((j[sa+4>>1]|0)+65472&65535)<<16>>16==0?89:88;else Ca=88;break}case 5:{if(((((j[sa+4>>1]|0)+65440&65535)<<16>>16==0?((j[sa+2>>1]|0)+65472&65535)<<16>>16==0:0)?((j[sa+6>>1]|0)+65472&65535)<<16>>16==0:0)?((j[sa>>1]|0)+65520&65535)<<16>>16==0:0)Ca=((j[sa+8>>1]|0)+65520&65535)<<16>>16==0?91:90;else Ca=90;break}default:Ca=92}f[l+52>>2]=Ca;switch(Ba|0){case 1:{Da=((j[Aa>>1]|0)+65280&65535)<<16>>16==0?133:132;break}case 3:{if(((j[Aa>>1]|0)+65472&65535)<<16>>16==0?((j[Aa+2>>1]|0)+65408&65535)<<16>>16==0:0)Da=((j[Aa+4>>1]|0)+65472&65535)<<16>>16==0?135:134;else Da=134;break}case 5:{if(((((j[Aa+4>>1]|0)+65440&65535)<<16>>16==0?((j[Aa+2>>1]|0)+65472&65535)<<16>>16==0:0)?((j[Aa+6>>1]|0)+65472&65535)<<16>>16==0:0)?((j[Aa>>1]|0)+65520&65535)<<16>>16==0:0)Da=((j[Aa+8>>1]|0)+65520&65535)<<16>>16==0?137:136;else Da=136;break}default:Da=138}f[l+56>>2]=Da;f[w>>2]=0;f[w+4>>2]=ka;Aa=v+4|0;Ba=f[Aa>>2]|0;if((Ba|0)<3)Ea=X(ta,ka)|0;else{ka=f[v+40>>2]|0;ta=0;sa=1;while(1){xa=X(f[ka+(ta<<2)>>2]|0,sa)|0;ta=ta+1|0;if((ta|0)==(Ba|0)){Ea=xa;break}else sa=xa}}$Z(w,l,+((X(Ea,p)|0)>>>0)*.0001220703125);sa=v+36|0;Ba=f[sa>>2]|0;if(Ba|0?(ta=Ba+12|0,Ba=f[ta>>2]|0,f[ta>>2]=Ba+-1,(Ba|0)==1):0)XO(v);f[sa>>2]=0;f[pa>>2]=0;f[pa+4>>2]=0;f[pa+8>>2]=0;f[pa+12>>2]=0;if((f[Aa>>2]|0)>0){sa=f[v+40>>2]|0;Ba=0;do{f[sa+(Ba<<2)>>2]=0;Ba=Ba+1|0}while((Ba|0)<(f[Aa>>2]|0))}Aa=f[va>>2]|0;if((Aa|0)!=(v+48|0))dX(Aa);Aa=t+36|0;Ba=f[Aa>>2]|0;if(Ba|0?(sa=Ba+12|0,Ba=f[sa>>2]|0,f[sa>>2]=Ba+-1,(Ba|0)==1):0)XO(t);f[Aa>>2]=0;Aa=t+4|0;f[ma>>2]=0;f[ma+4>>2]=0;f[ma+8>>2]=0;f[ma+12>>2]=0;if((f[Aa>>2]|0)>0){Ba=f[t+40>>2]|0;sa=0;do{f[Ba+(sa<<2)>>2]=0;sa=sa+1|0}while((sa|0)<(f[Aa>>2]|0))}Aa=f[fa>>2]|0;if((Aa|0)!=(t+48|0))dX(Aa);Aa=f[s>>2]|0;if(Aa|0){sa=f[F>>2]|0;if((sa|0)!=(Aa|0))f[F>>2]=sa+(~((sa+-2-Aa|0)>>>1)<<1);GQa(Aa)}Aa=f[r>>2]|0;if(Aa|0){sa=f[M>>2]|0;if((sa|0)!=(Aa|0))f[M>>2]=sa+(~((sa+-2-Aa|0)>>>1)<<1);GQa(Aa)}break a}while(0);f[l>>2]=1124007936;p=l+4|0;I=l+8|0;Aa=l+40|0;W=p;Y=W+36|0;do{f[W>>2]=0;W=W+4|0}while((W|0)<(Y|0));f[Aa>>2]=I;sa=l+48|0;Ba=l+44|0;f[Ba>>2]=sa;f[sa>>2]=0;f[l+52>>2]=0;f[r>>2]=1124007936;ma=r+4|0;va=r+8|0;ta=r+40|0;W=ma;Y=W+36|0;do{f[W>>2]=0;W=W+4|0}while((W|0)<(Y|0));f[ta>>2]=va;I=r+48|0;ka=r+44|0;f[ka>>2]=I;f[I>>2]=0;f[r+52>>2]=0;m1(l,r,C,e,g,h);do if((HJ(a)|0)==65536){N=f[a+4>>2]|0;f[s>>2]=f[N>>2];G=s+4|0;oa=N+4|0;f[G>>2]=f[oa>>2];qa=s+8|0;f[qa>>2]=f[N+8>>2];f[s+12>>2]=f[N+12>>2];f[s+16>>2]=f[N+16>>2];f[s+20>>2]=f[N+20>>2];f[s+24>>2]=f[N+24>>2];f[s+28>>2]=f[N+28>>2];f[s+32>>2]=f[N+32>>2];xa=f[N+36>>2]|0;f[s+36>>2]=xa;f[s+40>>2]=qa;qa=s+48|0;na=s+44|0;f[na>>2]=qa;f[qa>>2]=0;f[s+52>>2]=0;if(xa|0){qa=xa+12|0;f[qa>>2]=(f[qa>>2]|0)+1}if((f[oa>>2]|0)<3){oa=f[N+44>>2]|0;qa=f[na>>2]|0;f[qa>>2]=f[oa>>2];f[qa+4>>2]=f[oa+4>>2];break}else{f[G>>2]=0;WO(s,N);break}}else DJ(s,a,-1);while(0);do if((HJ(c)|0)==65536){va=f[c+4>>2]|0;f[t>>2]=f[va>>2];N=t+4|0;G=va+4|0;f[N>>2]=f[G>>2];oa=t+8|0;f[oa>>2]=f[va+8>>2];f[t+12>>2]=f[va+12>>2];f[t+16>>2]=f[va+16>>2];f[t+20>>2]=f[va+20>>2];f[t+24>>2]=f[va+24>>2];f[t+28>>2]=f[va+28>>2];f[t+32>>2]=f[va+32>>2];qa=f[va+36>>2]|0;f[t+36>>2]=qa;f[t+40>>2]=oa;oa=t+48|0;na=t+44|0;f[na>>2]=oa;f[oa>>2]=0;f[t+52>>2]=0;if(qa|0){oa=qa+12|0;f[oa>>2]=(f[oa>>2]|0)+1}if((f[G>>2]|0)<3){G=f[va+44>>2]|0;oa=f[na>>2]|0;f[oa>>2]=f[G>>2];f[oa+4>>2]=f[G+4>>2];break}else{f[N>>2]=0;WO(t,va);break}}else DJ(t,c,-1);while(0);f[v>>2]=0;f[v+4>>2]=0;va=f[s+8>>2]|0;f[w>>2]=f[s+12>>2];f[w+4>>2]=va;if(!(i&16))fP(s,w,v);va=s+16|0;N=s+44|0;G=t+16|0;oa=t+44|0;f[x+8>>2]=0;f[x+12>>2]=0;f[x>>2]=16842752;f[x+4>>2]=s;na=y+8|0;f[na>>2]=0;f[na+4>>2]=0;f[y>>2]=33619968;f[y+4>>2]=t;f[z+8>>2]=0;f[z+12>>2]=0;f[z>>2]=16842752;f[z+4>>2]=l;f[A+8>>2]=0;f[A+12>>2]=0;f[A>>2]=16842752;f[A+4>>2]=r;f[B>>2]=-1;f[B+4>>2]=-1;ioa(x,y,D,z,A,B,0.0,i);na=t+36|0;qa=f[na>>2]|0;if(qa|0?(xa=qa+12|0,qa=f[xa>>2]|0,f[xa>>2]=qa+-1,(qa|0)==1):0)XO(t);f[na>>2]=0;na=t+4|0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;if((f[na>>2]|0)>0){G=f[t+40>>2]|0;qa=0;do{f[G+(qa<<2)>>2]=0;qa=qa+1|0}while((qa|0)<(f[na>>2]|0))}na=f[oa>>2]|0;if((na|0)!=(t+48|0))dX(na);na=s+36|0;qa=f[na>>2]|0;if(qa|0?(G=qa+12|0,qa=f[G>>2]|0,f[G>>2]=qa+-1,(qa|0)==1):0)XO(s);f[na>>2]=0;na=s+4|0;f[va>>2]=0;f[va+4>>2]=0;f[va+8>>2]=0;f[va+12>>2]=0;if((f[na>>2]|0)>0){qa=f[s+40>>2]|0;G=0;do{f[qa+(G<<2)>>2]=0;G=G+1|0}while((G|0)<(f[na>>2]|0))}na=f[N>>2]|0;if((na|0)!=(s+48|0))dX(na);na=r+36|0;G=f[na>>2]|0;if(G|0?(qa=G+12|0,G=f[qa>>2]|0,f[qa>>2]=G+-1,(G|0)==1):0)XO(r);f[na>>2]=0;na=r+16|0;f[na>>2]=0;f[na+4>>2]=0;f[na+8>>2]=0;f[na+12>>2]=0;if((f[ma>>2]|0)>0){na=f[ta>>2]|0;G=0;do{f[na+(G<<2)>>2]=0;G=G+1|0}while((G|0)<(f[ma>>2]|0))}ma=f[ka>>2]|0;if((ma|0)!=(I|0))dX(ma);ma=l+36|0;G=f[ma>>2]|0;if(G|0?(na=G+12|0,G=f[na>>2]|0,f[na>>2]=G+-1,(G|0)==1):0)XO(l);f[ma>>2]=0;ma=l+16|0;f[ma>>2]=0;f[ma+4>>2]=0;f[ma+8>>2]=0;f[ma+12>>2]=0;if((f[p>>2]|0)>0){ma=f[Aa>>2]|0;G=0;do{f[ma+(G<<2)>>2]=0;G=G+1|0}while((G|0)<(f[p>>2]|0))}p=f[Ba>>2]|0;if((p|0)!=(sa|0))dX(p)}while(0);if(!(f[m+4>>2]|0)){u=k;return}u=k;return}function o1(a,b,c){a=a|0;b=+b;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=u;u=u+128|0;g=e+104|0;h=e+96|0;i=e+88|0;j=e+80|0;k=e+64|0;l=e+56|0;m=e+40|0;n=e+32|0;o=e+24|0;q=e+16|0;r=e+8|0;s=e;t=e+112|0;a:do if(!(b<=0.0))v=7;else switch(a|0){case 1:{p[i>>3]=1.0;CAa(h,256);OAa(g,i,h);w=(GAa(g)|0)&65535;x=EQa(2)|0;f[t>>2]=x;y=x+2|0;f[t+8>>2]=y;d[x>>1]=w;f[t+4>>2]=y;break a;break}case 3:{p[i>>3]=.25;CAa(h,256);OAa(g,i,h);y=(GAa(g)|0)&65535;p[j>>3]=.5;CAa(h,256);OAa(g,j,h);w=(GAa(g)|0)&65535;p[k>>3]=.25;CAa(h,256);OAa(g,k,h);x=(GAa(g)|0)&65535;z=EQa(6)|0;f[t>>2]=z;A=z+6|0;f[t+8>>2]=A;d[z>>1]=y;d[z+2>>1]=w;d[z+4>>1]=x;f[t+4>>2]=A;break a;break}case 5:{p[i>>3]=.0625;CAa(h,256);OAa(g,i,h);A=(GAa(g)|0)&65535;p[j>>3]=.25;CAa(h,256);OAa(g,j,h);x=(GAa(g)|0)&65535;p[k>>3]=.375;CAa(h,256);OAa(g,k,h);z=(GAa(g)|0)&65535;p[l>>3]=.25;CAa(h,256);OAa(g,l,h);w=(GAa(g)|0)&65535;p[m>>3]=.0625;CAa(h,256);OAa(g,m,h);y=(GAa(g)|0)&65535;B=EQa(10)|0;f[t>>2]=B;C=B+10|0;f[t+8>>2]=C;d[B>>1]=A;d[B+2>>1]=x;d[B+4>>1]=z;d[B+6>>1]=w;d[B+8>>1]=y;f[t+4>>2]=C;break a;break}case 7:{p[i>>3]=.03125;CAa(h,256);OAa(g,i,h);C=(GAa(g)|0)&65535;p[j>>3]=.109375;CAa(h,256);OAa(g,j,h);y=(GAa(g)|0)&65535;p[k>>3]=.21875;CAa(h,256);OAa(g,k,h);B=(GAa(g)|0)&65535;p[l>>3]=.28125;CAa(h,256);OAa(g,l,h);w=(GAa(g)|0)&65535;p[m>>3]=.21875;CAa(h,256);OAa(g,m,h);z=(GAa(g)|0)&65535;p[n>>3]=.109375;CAa(h,256);OAa(g,n,h);x=(GAa(g)|0)&65535;p[o>>3]=.03125;CAa(h,256);OAa(g,o,h);A=(GAa(g)|0)&65535;D=EQa(14)|0;f[t>>2]=D;E=D+14|0;f[t+8>>2]=E;d[D>>1]=C;d[D+2>>1]=y;d[D+4>>1]=B;d[D+6>>1]=w;d[D+8>>1]=z;d[D+10>>1]=x;d[D+12>>1]=A;f[t+4>>2]=E;break a;break}default:{v=7;break a}}while(0);if((v|0)==7){if(b>0.0)p[i>>3]=b;else{CAa(g,a);p[h>>3]=.15;p[j>>3]=.35;TAa(i,g,h,j)}p[q>>3]=-.125;OAa(g,i,i);PAa(j,q,g);f[k>>2]=0;q=k+4|0;f[q>>2]=0;f[k+8>>2]=0;i=(a|0)==0;if(i){p[l>>3]=0.0;F=0;G=l}else{if(a>>>0>536870911)ZOa(k);v=a<<3;o=EQa(v)|0;f[k>>2]=o;E=o+(a<<3)|0;f[k+8>>2]=E;FVa(o|0,0,v|0)|0;f[q>>2]=E;p[l>>3]=0.0;E=1-a|0;v=0;while(1){CAa(r,X(E,E)|0);OAa(h,r,j);UAa(g,h);o=(f[k>>2]|0)+(v<<3)|0;if((g|0)!=(o|0)){A=g;D=f[A+4>>2]|0;x=o;f[x>>2]=f[A>>2];f[x+4>>2]=D}KAa(g,l,o);o=g;D=f[o+4>>2]|0;x=l;f[x>>2]=f[o>>2];f[x+4>>2]=D;v=v+1|0;if((v|0)>=(a|0)){F=1;G=l;break}else E=E+2|0}}E=s;f[E>>2]=0;f[E+4>>2]=1072693248;PAa(g,s,l);s=g;E=f[s+4>>2]|0;G=l;f[G>>2]=f[s>>2];f[G+4>>2]=E;f[m>>2]=0;E=m+4|0;f[E>>2]=0;f[m+8>>2]=0;do if(!i)if((a|0)<0)ZOa(m);else{G=a<<1;s=EQa(G)|0;f[m>>2]=s;v=s+(a<<1)|0;f[m+8>>2]=v;FVa(s|0,0,G|0)|0;f[E>>2]=v;H=v;I=v;J=s;K=s;break}else{H=0;I=0;J=0;K=0}while(0);if(F){F=0;do{OAa(n,(f[k>>2]|0)+(F<<3)|0,l);i=f[m>>2]|0;if((f[n+4>>2]|0)<0)L=0;else{CAa(h,256);OAa(g,n,h);L=(GAa(g)|0)&65535}d[i+(F<<1)>>1]=L;F=F+1|0}while((F|0)<(a|0));a=f[E>>2]|0;F=f[m>>2]|0;M=F;N=a;O=F;P=a}else{M=K;N=H;O=J;P=I}f[t>>2]=0;I=t+4|0;f[I>>2]=0;f[t+8>>2]=0;J=N-M|0;M=J>>1;if(M){if((J|0)<0)ZOa(t);H=EQa(J)|0;f[I>>2]=H;f[t>>2]=H;f[t+8>>2]=H+(M<<1);M=N-O|0;J=N;if((M|0)>0){DVa(H|0,O|0,M|0)|0;f[I>>2]=H+(M>>>1<<1);Q=J}else Q=J}else Q=P;if(O|0){if((Q|0)!=(O|0))f[E>>2]=Q+(~((Q+-2-O|0)>>>1)<<1);GQa(O)}O=f[k>>2]|0;if(O|0){k=f[q>>2]|0;if((k|0)!=(O|0))f[q>>2]=k+(~((k+-8-O|0)>>>3)<<3);GQa(O)}}do if((t|0)!=(c|0)){O=f[t>>2]|0;k=f[t+4>>2]|0;q=k;Q=O;E=q-Q|0;P=E>>1;J=c+8|0;M=f[J>>2]|0;H=f[c>>2]|0;I=H;if(P>>>0<=M-H>>1>>>0){N=c+4|0;K=f[N>>2]|0;a=K-H>>1;F=P>>>0>a>>>0;m=F?O+(a<<1)|0:k;k=K;a=K;if((m|0)==(O|0))R=I;else{K=m+-2|0;L=O;g=I;while(1){d[g>>1]=d[L>>1]|0;L=L+2|0;if((L|0)==(m|0))break;else g=g+2|0}R=I+(((K-Q|0)>>>1)+1<<1)|0}if(F){g=q-m|0;if((g|0)<=0)break;DVa(a|0,m|0,g|0)|0;f[N>>2]=(f[N>>2]|0)+(g>>>1<<1);break}else{if((R|0)==(k|0))break;f[N>>2]=k+(~((k+-2-R|0)>>>1)<<1);break}}g=H;if(!H)S=M;else{L=c+4|0;h=f[L>>2]|0;if((h|0)!=(I|0))f[L>>2]=h+(~((h+-2-H|0)>>>1)<<1);GQa(g);f[J>>2]=0;f[L>>2]=0;f[c>>2]=0;S=0}if((E|0)<0)ZOa(c);L=S>>1>>>0<1073741823?(S>>>0

>>0?P:S):2147483647;if((L|0)<0)ZOa(c);g=EQa(L<<1)|0;h=c+4|0;f[h>>2]=g;f[c>>2]=g;f[J>>2]=g+(L<<1);if((E|0)>0){DVa(g|0,O|0,E|0)|0;f[h>>2]=g+(E>>>1<<1)}}while(0);c=f[t>>2]|0;if(!c){u=e;return}S=t+4|0;t=f[S>>2]|0;if((t|0)!=(c|0))f[S>>2]=t+(~((t+-2-c|0)>>>1)<<1);GQa(c);u=e;return}function p1(a,c,e,f,g,i,j){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;j=X(i,c)|0;c=j+-15|0;if((j|0)>15){i=0;do{f=a+i|0;e=b[f+8>>0]|0;k=b[f+9>>0]|0;l=b[f+10>>0]|0;m=b[f+11>>0]|0;n=b[f+12>>0]|0;o=b[f+13>>0]|0;p=b[f+14>>0]|0;q=b[f+15>>0]|0;r=g+(i<<1)|0;s=(h[f+1>>0]|0)<<8&65535;t=(h[f+2>>0]|0)<<8&65535;u=(h[f+3>>0]|0)<<8&65535;v=(h[f+4>>0]|0)<<8&65535;w=(h[f+5>>0]|0)<<8&65535;x=(h[f+6>>0]|0)<<8&65535;y=(h[f+7>>0]|0)<<8&65535;d[r>>1]=(h[f>>0]|0)<<8;d[r+2>>1]=s;d[r+4>>1]=t;d[r+6>>1]=u;d[r+8>>1]=v;d[r+10>>1]=w;d[r+12>>1]=x;d[r+14>>1]=y;d[r+16>>1]=(e&255)<<8;d[r+18>>1]=(k&255)<<8;d[r+20>>1]=(l&255)<<8;d[r+22>>1]=(m&255)<<8;d[r+24>>1]=(n&255)<<8;d[r+26>>1]=(o&255)<<8;d[r+28>>1]=(p&255)<<8;d[r+30>>1]=(q&255)<<8;i=i+16|0}while((i|0)<(c|0));z=j&-16}else z=0;if((z|0)<(j+-7|0)){c=a+z|0;i=g+(z<<1)|0;q=(h[c+1>>0]|0)<<8&65535;r=(h[c+2>>0]|0)<<8&65535;p=(h[c+3>>0]|0)<<8&65535;o=(h[c+4>>0]|0)<<8&65535;n=(h[c+5>>0]|0)<<8&65535;m=(h[c+6>>0]|0)<<8&65535;l=(h[c+7>>0]|0)<<8&65535;d[i>>1]=(h[c>>0]|0)<<8;d[i+2>>1]=q;d[i+4>>1]=r;d[i+6>>1]=p;d[i+8>>1]=o;d[i+10>>1]=n;d[i+12>>1]=m;d[i+14>>1]=l;A=z|8}else A=z;if((A|0)<(j|0))B=A;else return;do{d[g+(B<<1)>>1]=(h[a+B>>0]|0)<<8;B=B+1|0}while((B|0)!=(j|0));return}function q1(a,c,e,f,g,i,k){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;i=i|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;k=X(i,c)|0;c=d[e>>1]|0;i=k+-15|0;if((k|0)>15){f=c&65535;l=0;do{m=a+l|0;n=b[m+8>>0]|0;o=b[m+9>>0]|0;p=b[m+10>>0]|0;q=b[m+11>>0]|0;r=b[m+12>>0]|0;s=b[m+13>>0]|0;t=b[m+14>>0]|0;u=b[m+15>>0]|0;v=g+(l<<1)|0;w=X(h[m>>0]|0,f)|0;x=X(h[m+1>>0]|0,f)|0;y=X(h[m+2>>0]|0,f)|0;z=X(h[m+3>>0]|0,f)|0;A=X(h[m+4>>0]|0,f)|0;B=X(h[m+5>>0]|0,f)|0;C=X(h[m+6>>0]|0,f)|0;D=X(h[m+7>>0]|0,f)|0;d[v>>1]=w>>>0<65536?w:w|0?65535:0;d[v+2>>1]=x>>>0<65536?x:x|0?65535:0;d[v+4>>1]=y>>>0<65536?y:y|0?65535:0;d[v+6>>1]=z>>>0<65536?z:z|0?65535:0;d[v+8>>1]=A>>>0<65536?A:A|0?65535:0;d[v+10>>1]=B>>>0<65536?B:B|0?65535:0;d[v+12>>1]=C>>>0<65536?C:C|0?65535:0;d[v+14>>1]=D>>>0<65536?D:D|0?65535:0;D=X(n&255,f)|0;n=X(o&255,f)|0;o=X(p&255,f)|0;p=X(q&255,f)|0;q=X(r&255,f)|0;r=X(s&255,f)|0;s=X(t&255,f)|0;t=X(u&255,f)|0;d[v+16>>1]=D>>>0<65536?D:D|0?65535:0;d[v+18>>1]=n>>>0<65536?n:n|0?65535:0;d[v+20>>1]=o>>>0<65536?o:o|0?65535:0;d[v+22>>1]=p>>>0<65536?p:p|0?65535:0;d[v+24>>1]=q>>>0<65536?q:q|0?65535:0;d[v+26>>1]=r>>>0<65536?r:r|0?65535:0;d[v+28>>1]=s>>>0<65536?s:s|0?65535:0;d[v+30>>1]=t>>>0<65536?t:t|0?65535:0;l=l+16|0}while((l|0)<(i|0));E=k&-16}else E=0;if((E|0)<(k+-7|0)){i=a+E|0;l=g+(E<<1)|0;f=c&65535;c=X(h[i>>0]|0,f)|0;t=X(h[i+1>>0]|0,f)|0;v=X(h[i+2>>0]|0,f)|0;s=X(h[i+3>>0]|0,f)|0;r=X(h[i+4>>0]|0,f)|0;q=X(h[i+5>>0]|0,f)|0;p=X(h[i+6>>0]|0,f)|0;o=X(h[i+7>>0]|0,f)|0;d[l>>1]=c>>>0<65536?c:c|0?65535:0;d[l+2>>1]=t>>>0<65536?t:t|0?65535:0;d[l+4>>1]=v>>>0<65536?v:v|0?65535:0;d[l+6>>1]=s>>>0<65536?s:s|0?65535:0;d[l+8>>1]=r>>>0<65536?r:r|0?65535:0;d[l+10>>1]=q>>>0<65536?q:q|0?65535:0;d[l+12>>1]=p>>>0<65536?p:p|0?65535:0;d[l+14>>1]=o>>>0<65536?o:o|0?65535:0;F=E|8}else F=E;if((F|0)<(k|0))G=F;else return;do{F=(X(h[a+G>>0]|0,j[e>>1]|0)|0)&65535;d[g+(G<<1)>>1]=F;G=G+1|0}while((G|0)!=(k|0));return}function r1(a,c,e,f,g,i,k){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;i=i|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;if((i|0)==1){f=(c|0)>0;if(!k){if(f)l=0;else return;do{d[g+(l<<1)>>1]=(h[a+l>>0]|0)<<7;l=l+1|0}while((l|0)!=(c|0));return}else{if(f)m=0;else return;do{d[g+(m<<1)>>1]=(h[a+m>>0]|0)<<8;m=m+1|0}while((m|0)!=(c|0));return}}m=(c|0)>0;if(m){f=0;do{d[g+(f<<1)>>1]=((h[a+(f+c)>>0]|0)<<6)+((h[a+f>>0]|0)<<7);f=f+1|0}while((f|0)!=(c|0))}f=(k|0)!=0;if(f?(l=lM(-1,i,k)|0,m):0){e=X(l,c)|0;l=0;do{n=g+(l<<1)|0;d[n>>1]=((h[a+(l+e)>>0]|0)<<6)+(j[n>>1]|0);l=l+1|0}while((l|0)!=(c|0))}l=a+c|0;e=g+(c<<1)|0;n=i+-1|0;o=X(n,c)|0;p=o+-15|0;if((p|0)>(c|0)){q=0-c|0;r=((X(i+-2|0,c)|0)+-16&-16)+c+16|0;s=a+r|0;a=l;t=e;u=c;while(1){v=a+q|0;w=b[v+8>>0]|0;x=b[v+9>>0]|0;y=b[v+10>>0]|0;z=b[v+11>>0]|0;A=b[v+12>>0]|0;B=b[v+13>>0]|0;C=b[v+14>>0]|0;D=b[v+15>>0]|0;E=b[a+8>>0]|0;F=b[a+9>>0]|0;G=b[a+10>>0]|0;H=b[a+11>>0]|0;I=b[a+12>>0]|0;J=b[a+13>>0]|0;K=b[a+14>>0]|0;L=b[a+15>>0]|0;M=a+c|0;N=b[M+8>>0]|0;O=b[M+9>>0]|0;P=b[M+10>>0]|0;Q=b[M+11>>0]|0;R=b[M+12>>0]|0;S=b[M+13>>0]|0;T=b[M+14>>0]|0;U=b[M+15>>0]|0;V=((h[a+1>>0]|0)<<1)+(h[v+1>>0]|0)+(h[M+1>>0]|0)<<6&65535;W=((h[a+2>>0]|0)<<1)+(h[v+2>>0]|0)+(h[M+2>>0]|0)<<6&65535;Y=((h[a+3>>0]|0)<<1)+(h[v+3>>0]|0)+(h[M+3>>0]|0)<<6&65535;Z=((h[a+4>>0]|0)<<1)+(h[v+4>>0]|0)+(h[M+4>>0]|0)<<6&65535;_=((h[a+5>>0]|0)<<1)+(h[v+5>>0]|0)+(h[M+5>>0]|0)<<6&65535;$=((h[a+6>>0]|0)<<1)+(h[v+6>>0]|0)+(h[M+6>>0]|0)<<6&65535;aa=((h[a+7>>0]|0)<<1)+(h[v+7>>0]|0)+(h[M+7>>0]|0)<<6&65535;d[t>>1]=((h[a>>0]|0)<<1)+(h[v>>0]|0)+(h[M>>0]|0)<<6;d[t+2>>1]=V;d[t+4>>1]=W;d[t+6>>1]=Y;d[t+8>>1]=Z;d[t+10>>1]=_;d[t+12>>1]=$;d[t+14>>1]=aa;aa=t+16|0;d[aa>>1]=((E&255)<<1)+(w&255)+(N&255)<<6;d[aa+2>>1]=((F&255)<<1)+(x&255)+(O&255)<<6;d[aa+4>>1]=((G&255)<<1)+(y&255)+(P&255)<<6;d[aa+6>>1]=((H&255)<<1)+(z&255)+(Q&255)<<6;d[aa+8>>1]=((I&255)<<1)+(A&255)+(R&255)<<6;d[aa+10>>1]=((J&255)<<1)+(B&255)+(S&255)<<6;d[aa+12>>1]=((K&255)<<1)+(C&255)+(T&255)<<6;d[aa+14>>1]=((L&255)<<1)+(D&255)+(U&255)<<6;u=u+16|0;if((u|0)>=(p|0))break;else{a=a+16|0;t=t+32|0}}ba=s;ca=g+(r<<1)|0;da=r}else{ba=l;ca=e;da=c}if((o|0)>(da|0)){e=0-c|0;l=o-da|0;r=ba+l|0;g=ca;s=da;da=ba;while(1){d[g>>1]=(h[da+c>>0]|0)+(h[da+e>>0]|0)+((h[da>>0]|0)<<1)<<6;s=s+1|0;if((s|0)==(o|0))break;else{g=g+2|0;da=da+1|0}}ea=r;fa=ca+(l<<1)|0}else{ea=ba;fa=ca}if(m){ca=0;do{d[fa+(ca<<1)>>1]=((h[ea+ca>>0]|0)<<7)+((h[ea+(ca-c)>>0]|0)<<6);ca=ca+1|0}while((ca|0)!=(c|0))}if(!f)return;f=X((lM(i,i,k)|0)-n|0,c)|0;if(m)ga=0;else return;do{m=fa+(ga<<1)|0;d[m>>1]=((h[ea+(ga+f)>>0]|0)<<6)+(j[m>>1]|0);ga=ga+1|0}while((ga|0)!=(c|0));return}function s1(a,b,c,e,g,i,k){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;if((i|0)==1){if(!k)l=d[c+2>>1]|0;else l=(j[c+2>>1]|0)+(j[c>>1]|0)+(j[c+4>>1]|0)&65535;if((b|0)<=0)return;e=l&65535;l=0;do{m=(X(h[a+l>>0]|0,e)|0)&65535;d[g+(l<<1)>>1]=m;l=l+1|0}while((l|0)!=(b|0));return}l=(b|0)>0;if(l){e=c+2|0;m=c+4|0;n=0;do{o=X(h[a+n>>0]|0,j[e>>1]|0)|0;p=(X(h[a+(n+b)>>0]|0,j[m>>1]|0)|0)+o&65535;d[g+(n<<1)>>1]=p;n=n+1|0}while((n|0)!=(b|0))}n=(k|0)!=0;if(n?(m=lM(-1,i,k)|0,l):0){e=X(m,b)|0;m=0;do{p=X(h[a+(m+e)>>0]|0,j[c>>1]|0)|0;o=g+(m<<1)|0;d[o>>1]=p+(j[o>>1]|0);m=m+1|0}while((m|0)!=(b|0))}m=a+b|0;e=g+(b<<1)|0;o=i+-1|0;p=X(o,b)|0;q=f[c>>2]|0;r=c+4|0;s=p+-15|0;if((s|0)>(b|0)){t=0-b|0;u=q<<16>>16;v=q>>16;q=d[r>>1]|0;w=((X(i+-2|0,b)|0)+-16&-16)+b+16|0;x=a+w|0;a=m;y=e;z=b;while(1){A=a+t|0;B=(X(v,h[a>>0]|0)|0)+(X(u,h[A>>0]|0)|0)|0;C=(X(v,h[a+1>>0]|0)|0)+(X(u,h[A+1>>0]|0)|0)|0;D=(X(v,h[a+2>>0]|0)|0)+(X(u,h[A+2>>0]|0)|0)|0;E=(X(v,h[a+3>>0]|0)|0)+(X(u,h[A+3>>0]|0)|0)|0;F=(X(v,h[a+4>>0]|0)|0)+(X(u,h[A+4>>0]|0)|0)|0;G=(X(v,h[a+5>>0]|0)|0)+(X(u,h[A+5>>0]|0)|0)|0;H=(X(v,h[a+6>>0]|0)|0)+(X(u,h[A+6>>0]|0)|0)|0;I=(X(v,h[a+7>>0]|0)|0)+(X(u,h[A+7>>0]|0)|0)|0;J=(X(v,h[a+8>>0]|0)|0)+(X(u,h[A+8>>0]|0)|0)|0;K=(X(v,h[a+9>>0]|0)|0)+(X(u,h[A+9>>0]|0)|0)|0;L=(X(v,h[a+10>>0]|0)|0)+(X(u,h[A+10>>0]|0)|0)|0;M=(X(v,h[a+11>>0]|0)|0)+(X(u,h[A+11>>0]|0)|0)|0;N=(X(v,h[a+12>>0]|0)|0)+(X(u,h[A+12>>0]|0)|0)|0;O=(X(v,h[a+13>>0]|0)|0)+(X(u,h[A+13>>0]|0)|0)|0;P=(X(v,h[a+14>>0]|0)|0)+(X(u,h[A+14>>0]|0)|0)|0;Q=(X(v,h[a+15>>0]|0)|0)+(X(u,h[A+15>>0]|0)|0)|0;A=a+b|0;R=B+(X(h[A>>0]|0,q)|0)|0;B=C+(X(h[A+1>>0]|0,q)|0)|0;C=D+(X(h[A+2>>0]|0,q)|0)|0;D=E+(X(h[A+3>>0]|0,q)|0)|0;E=F+(X(h[A+4>>0]|0,q)|0)|0;F=G+(X(h[A+5>>0]|0,q)|0)|0;G=H+(X(h[A+6>>0]|0,q)|0)|0;H=I+(X(h[A+7>>0]|0,q)|0)|0;I=J+(X(h[A+8>>0]|0,q)|0)|0;J=K+(X(h[A+9>>0]|0,q)|0)|0;K=L+(X(h[A+10>>0]|0,q)|0)|0;L=M+(X(h[A+11>>0]|0,q)|0)|0;M=N+(X(h[A+12>>0]|0,q)|0)|0;N=O+(X(h[A+13>>0]|0,q)|0)|0;O=P+(X(h[A+14>>0]|0,q)|0)|0;P=Q+(X(h[A+15>>0]|0,q)|0)|0;d[y>>1]=R>>>0<65535?R:65535;d[y+2>>1]=B>>>0<65535?B:65535;d[y+4>>1]=C>>>0<65535?C:65535;d[y+6>>1]=D>>>0<65535?D:65535;d[y+8>>1]=E>>>0<65535?E:65535;d[y+10>>1]=F>>>0<65535?F:65535;d[y+12>>1]=G>>>0<65535?G:65535;d[y+14>>1]=H>>>0<65535?H:65535;H=y+16|0;d[H>>1]=I>>>0<65535?I:65535;d[H+2>>1]=J>>>0<65535?J:65535;d[H+4>>1]=K>>>0<65535?K:65535;d[H+6>>1]=L>>>0<65535?L:65535;d[H+8>>1]=M>>>0<65535?M:65535;d[H+10>>1]=N>>>0<65535?N:65535;d[H+12>>1]=O>>>0<65535?O:65535;d[H+14>>1]=P>>>0<65535?P:65535;z=z+16|0;if((z|0)>=(s|0))break;else{a=a+16|0;y=y+32|0}}S=x;T=g+(w<<1)|0;U=w}else{S=m;T=e;U=b}if((p|0)>(U|0)){e=0-b|0;m=c+2|0;w=p-U|0;g=S+w|0;x=T;y=U;U=S;while(1){a=X(h[U+e>>0]|0,j[c>>1]|0)|0;s=(X(h[U>>0]|0,j[m>>1]|0)|0)+a|0;a=s+(X(h[U+b>>0]|0,j[r>>1]|0)|0)&65535;d[x>>1]=a;y=y+1|0;if((y|0)==(p|0))break;else{x=x+2|0;U=U+1|0}}V=g;W=T+(w<<1)|0}else{V=S;W=T}if(l){T=c+2|0;S=0;do{w=X(h[V+(S-b)>>0]|0,j[c>>1]|0)|0;g=(X(h[V+S>>0]|0,j[T>>1]|0)|0)+w&65535;d[W+(S<<1)>>1]=g;S=S+1|0}while((S|0)!=(b|0))}if(!n)return;n=X((lM(i,i,k)|0)-o|0,b)|0;if(!l)return;l=0;do{o=X(h[V+(l+n)>>0]|0,j[r>>1]|0)|0;k=W+(l<<1)|0;d[k>>1]=o+(j[k>>1]|0);l=l+1|0}while((l|0)!=(b|0));return}function t1(a,c,e,f,g,i,k){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;i=i|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0;switch(i|0){case 1:{f=(c|0)>0;if(!k){if(f)l=0;else return;do{d[g+(l<<1)>>1]=(h[a+l>>0]|0)*96;l=l+1|0}while((l|0)!=(c|0));return}else{if(f)m=0;else return;do{d[g+(m<<1)>>1]=(h[a+m>>0]|0)<<8;m=m+1|0}while((m|0)!=(c|0));return}break}case 2:{if(!k){if((c|0)>0)n=0;else return;do{m=a+n|0;f=n+c|0;l=a+f|0;d[g+(n<<1)>>1]=((h[l>>0]|0)<<6)+((h[m>>0]|0)*96|0);d[g+(f<<1)>>1]=((h[l>>0]|0)*96|0)+((h[m>>0]|0)<<6);n=n+1|0}while((n|0)!=(c|0));return}else{n=X(lM(-2,2,k)|0,c)|0;m=X(lM(-1,2,k)|0,c)|0;l=X(lM(2,2,k)|0,c)|0;f=X(lM(3,2,k)|0,c)|0;if((c|0)>0)o=0;else return;do{e=a+o|0;p=a+(o+m)|0;q=o+c|0;r=a+q|0;s=a+(o+l)|0;d[g+(o<<1)>>1]=((h[s>>0]|0)<<4)+((h[e>>0]|0)*96|0)+((h[r>>0]|0)+(h[p>>0]|0)<<6)+((h[a+(o+n)>>0]|0)<<4);d[g+(q<<1)>>1]=((h[p>>0]|0)<<4)+((h[r>>0]|0)*96|0)+((h[s>>0]|0)+(h[e>>0]|0)<<6)+((h[a+(o+f)>>0]|0)<<4);o=o+1|0}while((o|0)!=(c|0));return}break}case 3:{if(!k){if((c|0)<=0)return;o=c<<1;f=0;do{n=a+f|0;l=f+c|0;m=a+l|0;e=f+o|0;s=a+e|0;d[g+(f<<1)>>1]=((h[m>>0]|0)<<6)+((h[n>>0]|0)*96|0)+((h[s>>0]|0)<<4);d[g+(l<<1)>>1]=((h[s>>0]|0)+(h[n>>0]|0)<<6)+((h[m>>0]|0)*96|0);d[g+(e<<1)>>1]=((h[m>>0]|0)<<6)+((h[s>>0]|0)*96|0)+((h[n>>0]|0)<<4);f=f+1|0}while((f|0)!=(c|0));return}else{f=X(lM(-2,3,k)|0,c)|0;o=X(lM(-1,3,k)|0,c)|0;n=X(lM(3,3,k)|0,c)|0;s=X(lM(4,3,k)|0,c)|0;if((c|0)<=0)return;m=c<<1;e=0;do{l=a+e|0;r=e+c|0;p=a+r|0;q=a+(e+o)|0;t=e+m|0;u=a+t|0;d[g+(e<<1)>>1]=((h[u>>0]|0)<<4)+((h[l>>0]|0)*96|0)+((h[q>>0]|0)+(h[p>>0]|0)<<6)+((h[a+(e+f)>>0]|0)<<4);v=a+(e+n)|0;d[g+(r<<1)>>1]=((h[q>>0]|0)<<4)+((h[p>>0]|0)*96|0)+((h[u>>0]|0)+(h[l>>0]|0)<<6)+((h[v>>0]|0)<<4);d[g+(t<<1)>>1]=((h[l>>0]|0)<<4)+((h[u>>0]|0)*96|0)+((h[v>>0]|0)+(h[p>>0]|0)<<6)+((h[a+(e+s)>>0]|0)<<4);e=e+1|0}while((e|0)!=(c|0));return}break}default:{e=(c|0)>0;if(e){s=c<<1;n=c*3|0;f=0;do{m=a+f|0;o=f+c|0;p=a+o|0;v=a+(f+s)|0;d[g+(f<<1)>>1]=((h[p>>0]|0)<<6)+((h[m>>0]|0)*96|0)+((h[v>>0]|0)<<4);d[g+(o<<1)>>1]=((h[a+(f+n)>>0]|0)<<4)+((h[p>>0]|0)*96|0)+((h[v>>0]|0)+(h[m>>0]|0)<<6);f=f+1|0}while((f|0)!=(c|0))}f=(k|0)!=0;if(f?(n=X(lM(-2,i,k)|0,c)|0,s=X(lM(-1,i,k)|0,c)|0,e):0){m=0;do{v=g+(m<<1)|0;p=a+(m+s)|0;d[v>>1]=((h[a+(m+n)>>0]|0)<<4)+(j[v>>1]|0)+((h[p>>0]|0)<<6);v=g+(m+c<<1)|0;d[v>>1]=((h[p>>0]|0)<<4)+(j[v>>1]|0);m=m+1|0}while((m|0)!=(c|0))}m=c<<1;n=a+m|0;s=g+(m<<1)|0;v=i+-2|0;p=X(v,c)|0;o=p+-15|0;if((m|0)<(o|0)){u=0-m|0;l=0-c|0;t=((X(i+-4|0,c)|0)+-16&-16)+m+16|0;q=a+t|0;a=n;r=s;w=m;while(1){x=a+u|0;y=b[x+8>>0]|0;z=b[x+9>>0]|0;A=b[x+10>>0]|0;B=b[x+11>>0]|0;C=b[x+12>>0]|0;D=b[x+13>>0]|0;E=b[x+14>>0]|0;F=b[x+15>>0]|0;G=a+l|0;H=b[G+8>>0]|0;I=b[G+9>>0]|0;J=b[G+10>>0]|0;K=b[G+11>>0]|0;L=b[G+12>>0]|0;M=b[G+13>>0]|0;N=b[G+14>>0]|0;O=b[G+15>>0]|0;P=b[a+8>>0]|0;Q=b[a+9>>0]|0;R=b[a+10>>0]|0;S=b[a+11>>0]|0;T=b[a+12>>0]|0;U=b[a+13>>0]|0;V=b[a+14>>0]|0;W=b[a+15>>0]|0;Y=a+c|0;Z=b[Y+8>>0]|0;_=b[Y+9>>0]|0;$=b[Y+10>>0]|0;aa=b[Y+11>>0]|0;ba=b[Y+12>>0]|0;ca=b[Y+13>>0]|0;da=b[Y+14>>0]|0;ea=b[Y+15>>0]|0;fa=a+m|0;ga=b[fa+8>>0]|0;ha=b[fa+9>>0]|0;ia=b[fa+10>>0]|0;ja=b[fa+11>>0]|0;ka=b[fa+12>>0]|0;la=b[fa+13>>0]|0;ma=b[fa+14>>0]|0;na=b[fa+15>>0]|0;oa=((h[a+1>>0]|0)*6|0)+(h[x+1>>0]|0)+((h[Y+1>>0]|0)+(h[G+1>>0]|0)<<2)+(h[fa+1>>0]|0)<<4&65535;pa=((h[a+2>>0]|0)*6|0)+(h[x+2>>0]|0)+((h[Y+2>>0]|0)+(h[G+2>>0]|0)<<2)+(h[fa+2>>0]|0)<<4&65535;qa=((h[a+3>>0]|0)*6|0)+(h[x+3>>0]|0)+((h[Y+3>>0]|0)+(h[G+3>>0]|0)<<2)+(h[fa+3>>0]|0)<<4&65535;ra=((h[a+4>>0]|0)*6|0)+(h[x+4>>0]|0)+((h[Y+4>>0]|0)+(h[G+4>>0]|0)<<2)+(h[fa+4>>0]|0)<<4&65535;sa=((h[a+5>>0]|0)*6|0)+(h[x+5>>0]|0)+((h[Y+5>>0]|0)+(h[G+5>>0]|0)<<2)+(h[fa+5>>0]|0)<<4&65535;ta=((h[a+6>>0]|0)*6|0)+(h[x+6>>0]|0)+((h[Y+6>>0]|0)+(h[G+6>>0]|0)<<2)+(h[fa+6>>0]|0)<<4&65535;ua=((h[a+7>>0]|0)*6|0)+(h[x+7>>0]|0)+((h[Y+7>>0]|0)+(h[G+7>>0]|0)<<2)+(h[fa+7>>0]|0)<<4&65535;d[r>>1]=((h[a>>0]|0)*6|0)+(h[x>>0]|0)+((h[Y>>0]|0)+(h[G>>0]|0)<<2)+(h[fa>>0]|0)<<4;d[r+2>>1]=oa;d[r+4>>1]=pa;d[r+6>>1]=qa;d[r+8>>1]=ra;d[r+10>>1]=sa;d[r+12>>1]=ta;d[r+14>>1]=ua;ua=r+16|0;d[ua>>1]=((P&255)*6|0)+(y&255)+((Z&255)+(H&255)<<2)+(ga&255)<<4;d[ua+2>>1]=((Q&255)*6|0)+(z&255)+((_&255)+(I&255)<<2)+(ha&255)<<4;d[ua+4>>1]=((R&255)*6|0)+(A&255)+(($&255)+(J&255)<<2)+(ia&255)<<4;d[ua+6>>1]=((S&255)*6|0)+(B&255)+((aa&255)+(K&255)<<2)+(ja&255)<<4;d[ua+8>>1]=((T&255)*6|0)+(C&255)+((ba&255)+(L&255)<<2)+(ka&255)<<4;d[ua+10>>1]=((U&255)*6|0)+(D&255)+((ca&255)+(M&255)<<2)+(la&255)<<4;d[ua+12>>1]=((V&255)*6|0)+(E&255)+((da&255)+(N&255)<<2)+(ma&255)<<4;d[ua+14>>1]=((W&255)*6|0)+(F&255)+((ea&255)+(O&255)<<2)+(na&255)<<4;w=w+16|0;if((w|0)>=(o|0))break;else{a=a+16|0;r=r+32|0}}va=q;wa=g+(t<<1)|0;xa=t}else{va=n;wa=s;xa=m}if((p|0)>(xa|0)){s=0-c|0;n=X(c,-2)|0;t=p-xa|0;g=va+t|0;q=va;r=wa;a=xa;while(1){d[r>>1]=((h[q>>0]|0)*6|0)+(h[q+n>>0]|0)+((h[q+c>>0]|0)+(h[q+s>>0]|0)<<2)+(h[q+m>>0]|0)<<4;a=a+1|0;if((a|0)==(p|0))break;else{q=q+1|0;r=r+2|0}}ya=g;za=wa+(t<<1)|0}else{ya=va;za=wa}if(e){wa=0;do{va=ya+wa|0;t=ya+(wa-c)|0;g=wa+c|0;r=ya+g|0;d[za+(wa<<1)>>1]=((h[ya+(wa-m)>>0]|0)<<4)+((h[va>>0]|0)*96|0)+((h[r>>0]|0)+(h[t>>0]|0)<<6);d[za+(g<<1)>>1]=((h[va>>0]|0)<<6)+((h[r>>0]|0)*96|0)+((h[t>>0]|0)<<4);wa=wa+1|0}while((wa|0)!=(c|0))}if(!f)return;f=X((lM(i,i,k)|0)-v|0,c)|0;wa=X((lM(i+1|0,i,k)|0)-v|0,c)|0;if(e)Aa=0;else return;do{e=ya+(Aa+f)|0;v=za+(Aa<<1)|0;d[v>>1]=((h[e>>0]|0)<<4)+(j[v>>1]|0);v=za+(Aa+c<<1)|0;d[v>>1]=((h[e>>0]|0)<<6)+(j[v>>1]|0)+((h[ya+(Aa+wa)>>0]|0)<<4);Aa=Aa+1|0}while((Aa|0)!=(c|0));return}}}function u1(a,b,c,e,g,i,k){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0;switch(i|0){case 1:{if(!k)l=d[c+4>>1]|0;else l=(j[c+2>>1]|0)+(j[c>>1]|0)+(j[c+4>>1]|0)+(j[c+6>>1]|0)+(j[c+8>>1]|0)&65535;if((b|0)<=0)return;e=l&65535;l=0;do{m=(X(h[a+l>>0]|0,e)|0)&65535;d[g+(l<<1)>>1]=m;l=l+1|0}while((l|0)!=(b|0));return}case 2:{if(!k){if((b|0)<=0)return;l=c+4|0;e=c+6|0;m=c+2|0;n=0;do{o=a+n|0;p=X(h[o>>0]|0,j[l>>1]|0)|0;q=n+b|0;r=a+q|0;s=(X(h[r>>0]|0,j[e>>1]|0)|0)+p&65535;d[g+(n<<1)>>1]=s;s=X(h[o>>0]|0,j[m>>1]|0)|0;o=(X(h[r>>0]|0,j[l>>1]|0)|0)+s&65535;d[g+(q<<1)>>1]=o;n=n+1|0}while((n|0)!=(b|0));return}else{n=X(lM(-2,2,k)|0,b)|0;l=X(lM(-1,2,k)|0,b)|0;m=X(lM(2,2,k)|0,b)|0;e=X(lM(3,2,k)|0,b)|0;if((b|0)<=0)return;o=c+2|0;q=c+4|0;s=c+6|0;r=c+8|0;p=0;do{t=a+(p+l)|0;u=X(h[t>>0]|0,j[o>>1]|0)|0;v=a+p|0;w=(X(h[v>>0]|0,j[q>>1]|0)|0)+u|0;u=p+b|0;x=a+u|0;y=w+(X(h[x>>0]|0,j[s>>1]|0)|0)|0;w=a+(p+m)|0;z=y+(X(h[w>>0]|0,j[r>>1]|0)|0)|0;y=z+(X(h[a+(p+n)>>0]|0,j[c>>1]|0)|0)&65535;d[g+(p<<1)>>1]=y;y=X(h[t>>0]|0,j[c>>1]|0)|0;t=(X(h[v>>0]|0,j[o>>1]|0)|0)+y|0;y=t+(X(h[x>>0]|0,j[q>>1]|0)|0)|0;x=y+(X(h[w>>0]|0,j[s>>1]|0)|0)|0;w=x+(X(h[a+(p+e)>>0]|0,j[r>>1]|0)|0)&65535;d[g+(u<<1)>>1]=w;p=p+1|0}while((p|0)!=(b|0));return}break}case 3:{if(!k){if((b|0)<=0)return;p=c+4|0;r=c+6|0;e=b<<1;s=c+8|0;q=c+2|0;o=0;do{n=a+o|0;m=X(h[n>>0]|0,j[p>>1]|0)|0;l=o+b|0;w=a+l|0;u=(X(h[w>>0]|0,j[r>>1]|0)|0)+m|0;m=o+e|0;x=a+m|0;y=u+(X(h[x>>0]|0,j[s>>1]|0)|0)&65535;d[g+(o<<1)>>1]=y;y=X(h[n>>0]|0,j[q>>1]|0)|0;u=(X(h[w>>0]|0,j[p>>1]|0)|0)+y|0;y=u+(X(h[x>>0]|0,j[r>>1]|0)|0)&65535;d[g+(l<<1)>>1]=y;y=X(h[n>>0]|0,j[c>>1]|0)|0;n=(X(h[w>>0]|0,j[q>>1]|0)|0)+y|0;y=n+(X(h[x>>0]|0,j[p>>1]|0)|0)&65535;d[g+(m<<1)>>1]=y;o=o+1|0}while((o|0)!=(b|0));return}else{o=X(lM(-2,3,k)|0,b)|0;p=X(lM(-1,3,k)|0,b)|0;q=X(lM(3,3,k)|0,b)|0;r=X(lM(4,3,k)|0,b)|0;if((b|0)<=0)return;s=c+4|0;e=c+6|0;y=b<<1;m=c+8|0;x=c+2|0;n=0;do{w=a+n|0;l=X(h[w>>0]|0,j[s>>1]|0)|0;u=n+b|0;t=a+u|0;v=(X(h[t>>0]|0,j[e>>1]|0)|0)+l|0;l=n+y|0;z=a+l|0;A=v+(X(h[z>>0]|0,j[m>>1]|0)|0)|0;v=A+(X(h[a+(n+o)>>0]|0,j[c>>1]|0)|0)|0;A=a+(n+p)|0;B=v+(X(h[A>>0]|0,j[x>>1]|0)|0)&65535;d[g+(n<<1)>>1]=B;B=X(h[w>>0]|0,j[x>>1]|0)|0;v=(X(h[t>>0]|0,j[s>>1]|0)|0)+B|0;B=v+(X(h[z>>0]|0,j[e>>1]|0)|0)|0;v=B+(X(h[A>>0]|0,j[c>>1]|0)|0)|0;A=a+(n+q)|0;B=v+(X(h[A>>0]|0,j[m>>1]|0)|0)&65535;d[g+(u<<1)>>1]=B;B=X(h[w>>0]|0,j[c>>1]|0)|0;w=(X(h[t>>0]|0,j[x>>1]|0)|0)+B|0;B=w+(X(h[z>>0]|0,j[s>>1]|0)|0)|0;z=B+(X(h[A>>0]|0,j[e>>1]|0)|0)|0;A=z+(X(h[a+(n+r)>>0]|0,j[m>>1]|0)|0)&65535;d[g+(l<<1)>>1]=A;n=n+1|0}while((n|0)!=(b|0));return}break}default:{n=(b|0)>0;if(n){m=c+4|0;r=c+6|0;e=b<<1;s=c+8|0;x=c+2|0;q=b*3|0;p=0;do{o=a+p|0;y=X(h[o>>0]|0,j[m>>1]|0)|0;A=p+b|0;l=a+A|0;z=(X(h[l>>0]|0,j[r>>1]|0)|0)+y|0;y=a+(p+e)|0;B=z+(X(h[y>>0]|0,j[s>>1]|0)|0)&65535;d[g+(p<<1)>>1]=B;B=X(h[o>>0]|0,j[x>>1]|0)|0;o=(X(h[l>>0]|0,j[m>>1]|0)|0)+B|0;B=o+(X(h[y>>0]|0,j[r>>1]|0)|0)|0;y=B+(X(h[a+(p+q)>>0]|0,j[s>>1]|0)|0)&65535;d[g+(A<<1)>>1]=y;p=p+1|0}while((p|0)!=(b|0))}p=(k|0)!=0;if(p?(s=X(lM(-2,i,k)|0,b)|0,q=X(lM(-1,i,k)|0,b)|0,n):0){r=c+2|0;m=0;do{x=X(h[a+(m+s)>>0]|0,j[c>>1]|0)|0;e=g+(m<<1)|0;y=a+(m+q)|0;A=x+(j[e>>1]|0)+(X(h[y>>0]|0,j[r>>1]|0)|0)&65535;d[e>>1]=A;A=X(h[y>>0]|0,j[c>>1]|0)|0;y=g+(m+b<<1)|0;d[y>>1]=A+(j[y>>1]|0);m=m+1|0}while((m|0)!=(b|0))}m=b<<1;r=a+m|0;q=g+(m<<1)|0;s=i+-2|0;y=X(s,b)|0;A=f[c>>2]|0;e=c+4|0;x=f[e>>2]|0;B=c+8|0;o=y+-15|0;if((m|0)<(o|0)){l=0-m|0;z=0-b|0;w=A<<16>>16;t=A>>16;A=x<<16>>16;u=x>>16;x=d[B>>1]|0;v=((X(i+-4|0,b)|0)+-16&-16)+m+16|0;C=a+v|0;a=r;D=q;E=m;while(1){F=a+l|0;G=a+z|0;H=X(w,h[F>>0]|0)|0;I=X(w,h[F+1>>0]|0)|0;J=X(w,h[F+2>>0]|0)|0;K=X(w,h[F+3>>0]|0)|0;L=X(w,h[F+4>>0]|0)|0;M=X(w,h[F+5>>0]|0)|0;N=X(w,h[F+6>>0]|0)|0;O=X(w,h[F+7>>0]|0)|0;P=a+b|0;Q=X(t,h[G>>0]|0)|0;R=X(t,h[G+2>>0]|0)|0;S=X(t,h[G+4>>0]|0)|0;T=X(t,h[G+6>>0]|0)|0;U=X(w,h[F+8>>0]|0)|0;V=X(w,h[F+9>>0]|0)|0;W=X(w,h[F+10>>0]|0)|0;Y=X(w,h[F+11>>0]|0)|0;Z=X(w,h[F+12>>0]|0)|0;_=X(w,h[F+13>>0]|0)|0;$=X(w,h[F+14>>0]|0)|0;aa=X(w,h[F+15>>0]|0)|0;F=X(t,h[G+1>>0]|0)|0;ba=X(t,h[G+3>>0]|0)|0;ca=X(t,h[G+5>>0]|0)|0;da=X(t,h[G+7>>0]|0)|0;ea=X(t,h[G+8>>0]|0)|0;fa=X(t,h[G+9>>0]|0)|0;ga=X(t,h[G+10>>0]|0)|0;ha=X(t,h[G+11>>0]|0)|0;ia=X(t,h[G+12>>0]|0)|0;ja=X(t,h[G+13>>0]|0)|0;ka=X(t,h[G+14>>0]|0)|0;la=X(t,h[G+15>>0]|0)|0;G=X(A,h[a>>0]|0)|0;ma=X(u,h[P>>0]|0)|0;na=X(A,h[a+1>>0]|0)|0;oa=X(u,h[P+1>>0]|0)|0;pa=X(A,h[a+2>>0]|0)|0;qa=X(u,h[P+2>>0]|0)|0;ra=X(A,h[a+3>>0]|0)|0;sa=X(u,h[P+3>>0]|0)|0;ta=X(A,h[a+4>>0]|0)|0;ua=X(u,h[P+4>>0]|0)|0;va=X(A,h[a+5>>0]|0)|0;wa=X(u,h[P+5>>0]|0)|0;xa=X(A,h[a+6>>0]|0)|0;ya=X(u,h[P+6>>0]|0)|0;za=X(A,h[a+7>>0]|0)|0;Aa=X(u,h[P+7>>0]|0)|0;Ba=X(A,h[a+8>>0]|0)|0;Ca=X(u,h[P+8>>0]|0)|0;Da=X(A,h[a+9>>0]|0)|0;Ea=X(u,h[P+9>>0]|0)|0;Fa=X(A,h[a+10>>0]|0)|0;Ga=X(u,h[P+10>>0]|0)|0;Ha=X(A,h[a+11>>0]|0)|0;Ia=X(u,h[P+11>>0]|0)|0;Ja=X(A,h[a+12>>0]|0)|0;Ka=X(u,h[P+12>>0]|0)|0;La=X(A,h[a+13>>0]|0)|0;Ma=X(u,h[P+13>>0]|0)|0;Na=X(A,h[a+14>>0]|0)|0;Oa=X(u,h[P+14>>0]|0)|0;Pa=X(A,h[a+15>>0]|0)|0;Qa=X(u,h[P+15>>0]|0)|0;P=a+m|0;Ra=Q+H+G+ma+(X(h[P>>0]|0,x)|0)|0;ma=F+I+na+oa+(X(h[P+1>>0]|0,x)|0)|0;oa=R+J+pa+qa+(X(h[P+2>>0]|0,x)|0)|0;qa=ba+K+ra+sa+(X(h[P+3>>0]|0,x)|0)|0;sa=S+L+ta+ua+(X(h[P+4>>0]|0,x)|0)|0;ua=ca+M+va+wa+(X(h[P+5>>0]|0,x)|0)|0;wa=T+N+xa+ya+(X(h[P+6>>0]|0,x)|0)|0;ya=da+O+za+Aa+(X(h[P+7>>0]|0,x)|0)|0;Aa=ea+U+Ba+Ca+(X(h[P+8>>0]|0,x)|0)|0;Ca=fa+V+Da+Ea+(X(h[P+9>>0]|0,x)|0)|0;Ea=ga+W+Fa+Ga+(X(h[P+10>>0]|0,x)|0)|0;Ga=ha+Y+Ha+Ia+(X(h[P+11>>0]|0,x)|0)|0;Ia=ia+Z+Ja+Ka+(X(h[P+12>>0]|0,x)|0)|0;Ka=ja+_+La+Ma+(X(h[P+13>>0]|0,x)|0)|0;Ma=ka+$+Na+Oa+(X(h[P+14>>0]|0,x)|0)|0;Oa=la+aa+Pa+Qa+(X(h[P+15>>0]|0,x)|0)|0;d[D>>1]=Ra>>>0<65535?Ra:65535;d[D+2>>1]=ma>>>0<65535?ma:65535;d[D+4>>1]=oa>>>0<65535?oa:65535;d[D+6>>1]=qa>>>0<65535?qa:65535;d[D+8>>1]=sa>>>0<65535?sa:65535;d[D+10>>1]=ua>>>0<65535?ua:65535;d[D+12>>1]=wa>>>0<65535?wa:65535;d[D+14>>1]=ya>>>0<65535?ya:65535;ya=D+16|0;d[ya>>1]=Aa>>>0<65535?Aa:65535;d[ya+2>>1]=Ca>>>0<65535?Ca:65535;d[ya+4>>1]=Ea>>>0<65535?Ea:65535;d[ya+6>>1]=Ga>>>0<65535?Ga:65535;d[ya+8>>1]=Ia>>>0<65535?Ia:65535;d[ya+10>>1]=Ka>>>0<65535?Ka:65535;d[ya+12>>1]=Ma>>>0<65535?Ma:65535;d[ya+14>>1]=Oa>>>0<65535?Oa:65535;E=E+16|0;if((E|0)>=(o|0))break;else{a=a+16|0;D=D+32|0}}Sa=C;Ta=g+(v<<1)|0;Ua=v}else{Sa=r;Ta=q;Ua=m}if((y|0)>(Ua|0)){q=X(b,-2)|0;r=0-b|0;v=c+2|0;g=c+6|0;C=y-Ua|0;D=Sa+C|0;a=Sa;o=Ta;E=Ua;while(1){Ua=X(h[a+q>>0]|0,j[c>>1]|0)|0;x=(X(h[a+r>>0]|0,j[v>>1]|0)|0)+Ua|0;Ua=x+(X(h[a>>0]|0,j[e>>1]|0)|0)|0;x=Ua+(X(h[a+b>>0]|0,j[g>>1]|0)|0)|0;Ua=x+(X(h[a+m>>0]|0,j[B>>1]|0)|0)&65535;d[o>>1]=Ua;E=E+1|0;if((E|0)==(y|0))break;else{a=a+1|0;o=o+2|0}}Va=D;Wa=Ta+(C<<1)|0}else{Va=Sa;Wa=Ta}if(n){Ta=c+2|0;Sa=c+6|0;C=0;do{D=X(h[Va+(C-m)>>0]|0,j[c>>1]|0)|0;o=Va+(C-b)|0;a=(X(h[o>>0]|0,j[Ta>>1]|0)|0)+D|0;D=Va+C|0;y=a+(X(h[D>>0]|0,j[e>>1]|0)|0)|0;a=C+b|0;E=Va+a|0;g=y+(X(h[E>>0]|0,j[Sa>>1]|0)|0)&65535;d[Wa+(C<<1)>>1]=g;g=X(h[o>>0]|0,j[c>>1]|0)|0;o=(X(h[D>>0]|0,j[Ta>>1]|0)|0)+g|0;g=o+(X(h[E>>0]|0,j[e>>1]|0)|0)&65535;d[Wa+(a<<1)>>1]=g;C=C+1|0}while((C|0)!=(b|0))}if(!p)return;p=X((lM(i,i,k)|0)-s|0,b)|0;C=X((lM(i+1|0,i,k)|0)-s|0,b)|0;if(!n)return;n=c+6|0;c=0;do{s=Va+(c+p)|0;k=X(h[s>>0]|0,j[B>>1]|0)|0;i=Wa+(c<<1)|0;d[i>>1]=k+(j[i>>1]|0);i=X(h[s>>0]|0,j[n>>1]|0)|0;s=Wa+(c+b<<1)|0;k=i+(j[s>>1]|0)+(X(h[Va+(c+C)>>0]|0,j[B>>1]|0)|0)&65535;d[s>>1]=k;c=c+1|0}while((c|0)!=(b|0));return}}}function v1(a,b,c,e,g,i,k){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0;l=(e|0)/2|0;m=e-l|0;n=(l|0)>(i|0)?i:l;if((n|0)>0){o=(b|0)>0;p=(k|0)!=0;q=l+-1|0;r=~i;s=o^1;t=g;u=0;v=q;w=q-e|0;q=m;while(1){x=v-((w|0)>(r|0)?w:r)|0;if(o){y=c+(l-u<<1)|0;z=0;do{A=(X(h[a+z>>0]|0,j[y>>1]|0)|0)&65535;d[t+(z<<1)>>1]=A;z=z+1|0}while((z|0)!=(b|0))}a:do if(p?(z=u-l|0,(z|0)<0):0){if(o){B=0;C=z}else{y=z;while(1){lM(y,i,k)|0;if((y|0)<-1)y=y+1|0;else break a}}while(1){y=X(lM(C,i,k)|0,b)|0;z=c+(B<<1)|0;A=0;do{D=X(h[a+(A+y)>>0]|0,j[z>>1]|0)|0;E=t+(A<<1)|0;d[E>>1]=D+(j[E>>1]|0);A=A+1|0}while((A|0)!=(b|0));if((C|0)<-1){B=B+1|0;C=C+1|0}else break}}while(0);A=l-u+1|0;z=u+m|0;y=(z|0)>(i|0)?i:z;E=(y|0)<2;if(E|s){F=E?A:x;G=E?1:y}else{E=A;A=1;while(1){D=X(A,b)|0;H=c+(E<<1)|0;I=0;do{J=X(h[a+(I+D)>>0]|0,j[H>>1]|0)|0;K=t+(I<<1)|0;d[K>>1]=J+(j[K>>1]|0);I=I+1|0}while((I|0)!=(b|0));A=A+1|0;I=E+1|0;if((A|0)>=(y|0)){F=I;G=y;break}else E=I}}b:do if(p&(G|0)<(z|0)){if(o){L=F;M=G}else{E=G;while(1){lM(E,i,k)|0;E=E+1|0;if((E|0)==(q|0))break b}}while(1){E=X(lM(M,i,k)|0,b)|0;y=c+(L<<1)|0;A=0;do{x=X(h[a+(A+E)>>0]|0,j[y>>1]|0)|0;I=t+(A<<1)|0;d[I>>1]=x+(j[I>>1]|0);A=A+1|0}while((A|0)!=(b|0));M=M+1|0;if((M|0)==(q|0))break;else L=L+1|0}}while(0);u=u+1|0;z=t+(b<<1)|0;if((u|0)>=(n|0)){N=z;O=n;break}else{t=z;v=v+-1|0;w=w+-1|0;q=q+1|0}}}else{N=g;O=0}g=X(O,b)|0;q=X(1-m+i|0,b)|0;m=q+-15|0;if((g|0)<(m|0)){w=e+-1|0;v=(e|0)>3;t=e&-2;n=(X(l+i+1-O-e|0,b)|0)+-16&-16;O=g+n|0;u=n+16|0;n=a+u|0;L=a;M=N;G=g;while(1){F=f[c>>2]|0;o=L+b|0;p=F<<16>>16;s=F>>16;F=(X(s,h[o>>0]|0)|0)+(X(p,h[L>>0]|0)|0)|0;C=(X(s,h[o+1>>0]|0)|0)+(X(p,h[L+1>>0]|0)|0)|0;B=(X(s,h[o+2>>0]|0)|0)+(X(p,h[L+2>>0]|0)|0)|0;r=(X(s,h[o+3>>0]|0)|0)+(X(p,h[L+3>>0]|0)|0)|0;z=(X(s,h[o+4>>0]|0)|0)+(X(p,h[L+4>>0]|0)|0)|0;A=(X(s,h[o+5>>0]|0)|0)+(X(p,h[L+5>>0]|0)|0)|0;y=(X(s,h[o+6>>0]|0)|0)+(X(p,h[L+6>>0]|0)|0)|0;E=(X(s,h[o+7>>0]|0)|0)+(X(p,h[L+7>>0]|0)|0)|0;I=(X(s,h[o+8>>0]|0)|0)+(X(p,h[L+8>>0]|0)|0)|0;x=(X(s,h[o+9>>0]|0)|0)+(X(p,h[L+9>>0]|0)|0)|0;H=(X(s,h[o+10>>0]|0)|0)+(X(p,h[L+10>>0]|0)|0)|0;D=(X(s,h[o+11>>0]|0)|0)+(X(p,h[L+11>>0]|0)|0)|0;K=(X(s,h[o+12>>0]|0)|0)+(X(p,h[L+12>>0]|0)|0)|0;J=(X(s,h[o+13>>0]|0)|0)+(X(p,h[L+13>>0]|0)|0)|0;P=(X(s,h[o+14>>0]|0)|0)+(X(p,h[L+14>>0]|0)|0)|0;Q=(X(s,h[o+15>>0]|0)|0)+(X(p,h[L+15>>0]|0)|0)|0;if(v){p=2;o=K;s=I;R=z;S=F;T=P;U=H;V=y;W=B;Y=Q;Z=D;_=E;$=r;aa=J;ba=x;ca=A;da=C;while(1){ea=f[c+(p<<1)>>2]|0;fa=L+(X(p,b)|0)|0;ga=L+(X(p|1,b)|0)|0;ha=ea<<16>>16;ia=ea>>16;ea=(X(ha,h[fa>>0]|0)|0)+S+(X(ia,h[ga>>0]|0)|0)|0;ja=(X(ha,h[fa+1>>0]|0)|0)+da+(X(ia,h[ga+1>>0]|0)|0)|0;ka=(X(ha,h[fa+2>>0]|0)|0)+W+(X(ia,h[ga+2>>0]|0)|0)|0;la=(X(ha,h[fa+3>>0]|0)|0)+$+(X(ia,h[ga+3>>0]|0)|0)|0;ma=(X(ha,h[fa+4>>0]|0)|0)+R+(X(ia,h[ga+4>>0]|0)|0)|0;na=(X(ha,h[fa+5>>0]|0)|0)+ca+(X(ia,h[ga+5>>0]|0)|0)|0;oa=(X(ha,h[fa+6>>0]|0)|0)+V+(X(ia,h[ga+6>>0]|0)|0)|0;pa=(X(ha,h[fa+7>>0]|0)|0)+_+(X(ia,h[ga+7>>0]|0)|0)|0;qa=(X(ha,h[fa+8>>0]|0)|0)+s+(X(ia,h[ga+8>>0]|0)|0)|0;ra=(X(ha,h[fa+9>>0]|0)|0)+ba+(X(ia,h[ga+9>>0]|0)|0)|0;sa=(X(ha,h[fa+10>>0]|0)|0)+U+(X(ia,h[ga+10>>0]|0)|0)|0;ta=(X(ha,h[fa+11>>0]|0)|0)+Z+(X(ia,h[ga+11>>0]|0)|0)|0;ua=(X(ha,h[fa+12>>0]|0)|0)+o+(X(ia,h[ga+12>>0]|0)|0)|0;va=(X(ha,h[fa+13>>0]|0)|0)+aa+(X(ia,h[ga+13>>0]|0)|0)|0;wa=(X(ha,h[fa+14>>0]|0)|0)+T+(X(ia,h[ga+14>>0]|0)|0)|0;xa=(X(ha,h[fa+15>>0]|0)|0)+Y+(X(ia,h[ga+15>>0]|0)|0)|0;p=p+2|0;if((p|0)>=(w|0)){ya=t;za=ua;Aa=qa;Ba=ma;Ca=ea;Da=wa;Ea=sa;Fa=oa;Ga=ka;Ha=xa;Ia=ta;Ja=pa;Ka=la;La=va;Ma=ra;Na=na;Oa=ja;break}else{o=ua;s=qa;R=ma;S=ea;T=wa;U=sa;V=oa;W=ka;Y=xa;Z=ta;_=pa;$=la;aa=va;ba=ra;ca=na;da=ja}}}else{ya=2;za=K;Aa=I;Ba=z;Ca=F;Da=P;Ea=H;Fa=y;Ga=B;Ha=Q;Ia=D;Ja=E;Ka=r;La=J;Ma=x;Na=A;Oa=C}if((ya|0)<(e|0)){da=L+(X(ya,b)|0)|0;ca=d[c+(ya<<1)>>1]|0;Pa=(X(h[da+12>>0]|0,ca)|0)+za|0;Qa=(X(h[da+8>>0]|0,ca)|0)+Aa|0;Ra=(X(h[da+4>>0]|0,ca)|0)+Ba|0;Sa=(X(h[da>>0]|0,ca)|0)+Ca|0;Ta=(X(h[da+14>>0]|0,ca)|0)+Da|0;Ua=(X(h[da+10>>0]|0,ca)|0)+Ea|0;Va=(X(h[da+6>>0]|0,ca)|0)+Fa|0;Wa=(X(h[da+2>>0]|0,ca)|0)+Ga|0;Xa=(X(h[da+15>>0]|0,ca)|0)+Ha|0;Ya=(X(h[da+11>>0]|0,ca)|0)+Ia|0;Za=(X(h[da+7>>0]|0,ca)|0)+Ja|0;_a=(X(h[da+3>>0]|0,ca)|0)+Ka|0;$a=(X(h[da+13>>0]|0,ca)|0)+La|0;ab=(X(h[da+9>>0]|0,ca)|0)+Ma|0;bb=(X(h[da+5>>0]|0,ca)|0)+Na|0;cb=(X(h[da+1>>0]|0,ca)|0)+Oa|0}else{Pa=za;Qa=Aa;Ra=Ba;Sa=Ca;Ta=Da;Ua=Ea;Va=Fa;Wa=Ga;Xa=Ha;Ya=Ia;Za=Ja;_a=Ka;$a=La;ab=Ma;bb=Na;cb=Oa}d[M>>1]=Sa>>>0<65535?Sa:65535;d[M+2>>1]=cb>>>0<65535?cb:65535;d[M+4>>1]=Wa>>>0<65535?Wa:65535;d[M+6>>1]=_a>>>0<65535?_a:65535;d[M+8>>1]=Ra>>>0<65535?Ra:65535;d[M+10>>1]=bb>>>0<65535?bb:65535;d[M+12>>1]=Va>>>0<65535?Va:65535;d[M+14>>1]=Za>>>0<65535?Za:65535;ca=M+16|0;d[ca>>1]=Qa>>>0<65535?Qa:65535;d[ca+2>>1]=ab>>>0<65535?ab:65535;d[ca+4>>1]=Ua>>>0<65535?Ua:65535;d[ca+6>>1]=Ya>>>0<65535?Ya:65535;d[ca+8>>1]=Pa>>>0<65535?Pa:65535;d[ca+10>>1]=$a>>>0<65535?$a:65535;d[ca+12>>1]=Ta>>>0<65535?Ta:65535;d[ca+14>>1]=Xa>>>0<65535?Xa:65535;G=G+16|0;if((G|0)>=(m|0))break;else{L=L+16|0;M=M+32|0}}db=n;eb=N+(u<<1)|0;fb=O+16|0}else{db=a;eb=N;fb=g}do if((q|0)>(fb|0)){g=q-fb|0;N=db+g|0;if((e|0)>1){gb=db;hb=eb;ib=fb}else{a=db;O=eb;u=fb;while(1){n=(X(h[a>>0]|0,j[c>>1]|0)|0)&65535;d[O>>1]=n;u=u+1|0;if((u|0)==(q|0))break;else{a=a+1|0;O=O+2|0}}jb=N;kb=eb+(g<<1)|0;lb=q;break}while(1){O=X(h[gb>>0]|0,j[c>>1]|0)|0;d[hb>>1]=O;a=1;u=O;do{O=gb+(X(a,b)|0)|0;u=(X(h[O>>0]|0,j[c+(a<<1)>>1]|0)|0)+(u&65535)|0;d[hb>>1]=u;a=a+1|0}while((a|0)!=(e|0));ib=ib+1|0;if((ib|0)==(q|0))break;else{gb=gb+1|0;hb=hb+2|0}}jb=N;kb=eb+(g<<1)|0;lb=q}else{jb=db;kb=eb;lb=fb}while(0);fb=(lb|0)/(b|0)|0;lb=fb-l|0;eb=i-l|0;if((lb|0)>=(eb|0))return;db=(b|0)>0;q=(k|0)!=0;hb=db^1;gb=jb;jb=kb;kb=lb;lb=l+i-fb|0;while(1){if(db){fb=0;do{l=(X(h[gb+fb>>0]|0,j[c>>1]|0)|0)&65535;d[jb+(fb<<1)>>1]=l;fb=fb+1|0}while((fb|0)!=(b|0))}fb=i-kb|0;g=(fb|0)<2;if(g|hb)mb=g?1:fb;else{g=1;do{N=X(g,b)|0;l=c+(g<<1)|0;ib=0;do{a=X(h[gb+(ib+N)>>0]|0,j[l>>1]|0)|0;u=jb+(ib<<1)|0;d[u>>1]=a+(j[u>>1]|0);ib=ib+1|0}while((ib|0)!=(b|0));g=g+1|0}while((g|0)!=(lb|0));mb=fb}c:do if(q&(mb|0)<(e|0)){if(db)nb=mb;else{fb=mb;while(1){lM(fb+kb|0,i,k)|0;fb=fb+1|0;if((fb|0)==(e|0))break c}}do{fb=X((lM(nb+kb|0,i,k)|0)-kb|0,b)|0;g=c+(nb<<1)|0;ib=0;do{l=X(h[gb+(ib+fb)>>0]|0,j[g>>1]|0)|0;N=jb+(ib<<1)|0;d[N>>1]=l+(j[N>>1]|0);ib=ib+1|0}while((ib|0)!=(b|0));nb=nb+1|0}while((nb|0)!=(e|0))}while(0);kb=kb+1|0;if((kb|0)==(eb|0))break;else{gb=gb+b|0;jb=jb+(b<<1)|0;lb=lb+-1|0}}return}function w1(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=f[a>>2]|0;a=h+-7|0;if((h|0)>7){c=0;do{i=g+c|0;k=e+(c<<1)|0;l=d[k+2>>1]|0;m=d[k+4>>1]|0;n=d[k+6>>1]|0;o=d[k+8>>1]|0;p=d[k+10>>1]|0;q=d[k+12>>1]|0;r=d[k+14>>1]|0;s=(j[k>>1]|0)+128|0;k=s>>>8;b[i>>0]=s>>>0<65536?k:k|0?255:0;k=(l&65535)+128|0;l=k>>>8;b[i+1>>0]=k>>>0<65536?l:l|0?255:0;l=(m&65535)+128|0;m=l>>>8;b[i+2>>0]=l>>>0<65536?m:m|0?255:0;m=(n&65535)+128|0;n=m>>>8;b[i+3>>0]=m>>>0<65536?n:n|0?255:0;n=(o&65535)+128|0;o=n>>>8;b[i+4>>0]=n>>>0<65536?o:o|0?255:0;o=(p&65535)+128|0;p=o>>>8;b[i+5>>0]=o>>>0<65536?p:p|0?255:0;p=(q&65535)+128|0;q=p>>>8;b[i+6>>0]=p>>>0<65536?q:q|0?255:0;q=(r&65535)+128|0;r=q>>>8;b[i+7>>0]=q>>>0<65536?r:r|0?255:0;c=c+8|0}while((c|0)<(a|0));t=h&-8}else t=0;if((t|0)<(h|0))u=t;else return;do{b[g+u>>0]=((d[e+(u<<1)>>1]|0)+128&65535)>>>8;u=u+1|0}while((u|0)!=(h|0));return}function x1(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=f[a>>2]|0;a=g+-7|0;if((g|0)>7){h=j[c>>1]|0;i=0;do{k=d+(i<<1)|0;l=e+i|0;m=((X(j[k>>1]|0,h)|0)+32768|0)>>>16;n=((X(j[k+8>>1]|0,h)|0)+32768|0)>>>16;o=((X(j[k+2>>1]|0,h)|0)+32768|0)>>>16;p=((X(j[k+10>>1]|0,h)|0)+32768|0)>>>16;q=((X(j[k+4>>1]|0,h)|0)+32768|0)>>>16;r=((X(j[k+12>>1]|0,h)|0)+32768|0)>>>16;s=((X(j[k+6>>1]|0,h)|0)+32768|0)>>>16;t=((X(j[k+14>>1]|0,h)|0)+32768|0)>>>16;b[l>>0]=m>>>0<255?m:255;b[l+1>>0]=o>>>0<255?o:255;b[l+2>>0]=q>>>0<255?q:255;b[l+3>>0]=s>>>0<255?s:255;b[l+4>>0]=n>>>0<255?n:255;b[l+5>>0]=p>>>0<255?p:255;b[l+6>>0]=r>>>0<255?r:255;b[l+7>>0]=t>>>0<255?t:255;i=i+8|0}while((i|0)<(a|0));u=g&-8}else u=0;if((u|0)>=(g|0))return;a=u;do{u=((X(j[d+(a<<1)>>1]|0,j[c>>1]|0)|0)+32768|0)>>>16;b[e+a>>0]=u>>>0<255?u:255;a=a+1|0}while((a|0)!=(g|0));return}function y1(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=g+-7|0;if((g|0)>7){c=a+4|0;h=a+8|0;i=0;do{k=(f[a>>2]|0)+(i<<1)|0;l=(f[c>>2]|0)+(i<<1)|0;m=(f[h>>2]|0)+(i<<1)|0;n=((j[k>>1]|0)+512+((j[l>>1]|0)<<1)+(j[m>>1]|0)|0)>>>10;o=((j[k+8>>1]|0)+512+((j[l+8>>1]|0)<<1)+(j[m+8>>1]|0)|0)>>>10;p=((j[k+2>>1]|0)+512+((j[l+2>>1]|0)<<1)+(j[m+2>>1]|0)|0)>>>10;q=((j[k+10>>1]|0)+512+((j[l+10>>1]|0)<<1)+(j[m+10>>1]|0)|0)>>>10;r=((j[k+4>>1]|0)+512+((j[l+4>>1]|0)<<1)+(j[m+4>>1]|0)|0)>>>10;s=((j[k+12>>1]|0)+512+((j[l+12>>1]|0)<<1)+(j[m+12>>1]|0)|0)>>>10;t=((j[k+6>>1]|0)+512+((j[l+6>>1]|0)<<1)+(j[m+6>>1]|0)|0)>>>10;u=((j[k+14>>1]|0)+512+((j[l+14>>1]|0)<<1)+(j[m+14>>1]|0)|0)>>>10;m=e+i|0;b[m>>0]=n>>>0<255?n:255;b[m+1>>0]=p>>>0<255?p:255;b[m+2>>0]=r>>>0<255?r:255;b[m+3>>0]=t>>>0<255?t:255;b[m+4>>0]=o>>>0<255?o:255;b[m+5>>0]=q>>>0<255?q:255;b[m+6>>0]=s>>>0<255?s:255;b[m+7>>0]=u>>>0<255?u:255;i=i+8|0}while((i|0)<(d|0));v=g&-8}else v=0;if((v|0)>=(g|0))return;d=a+8|0;i=a+4|0;h=v;do{b[e+h>>0]=((j[(f[a>>2]|0)+(h<<1)>>1]|0)+512+(j[(f[d>>2]|0)+(h<<1)>>1]|0)+((j[(f[i>>2]|0)+(h<<1)>>1]|0)<<1)|0)>>>10;h=h+1|0}while((h|0)!=(g|0));return}function z1(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;if((b[453320]|0)==0?jVa(453320)|0:0){d[406164]=-32768;d[406165]=-32768;d[406166]=-32768;d[406167]=-32768;d[406168]=-32768;d[406169]=-32768;d[406170]=-32768;d[406171]=-32768}if((h|0)>7){e=((j[c+2>>1]|0)+(j[c>>1]|0)+(j[c+4>>1]|0)<<15&2147450880)+32768|0;i=f[c>>2]|0;k=h+-7|0;l=a+4|0;m=i<<16>>16;n=i>>16;i=a+8|0;o=d[c+4>>1]|0;p=0;do{q=(f[a>>2]|0)+(p<<1)|0;r=(f[l>>2]|0)+(p<<1)|0;s=j[406164]|0;t=j[406165]|0;u=j[406166]|0;v=j[406167]|0;w=j[406168]|0;x=j[406169]|0;y=j[406170]|0;z=j[406171]|0;A=X(m,s+(j[q>>1]|0)<<16>>16)|0;B=X(n,s+(j[r>>1]|0)<<16>>16)|0;s=X(m,t+(j[q+2>>1]|0)<<16>>16)|0;C=X(n,t+(j[r+2>>1]|0)<<16>>16)|0;t=X(m,u+(j[q+4>>1]|0)<<16>>16)|0;D=X(n,u+(j[r+4>>1]|0)<<16>>16)|0;u=X(m,v+(j[q+6>>1]|0)<<16>>16)|0;E=X(n,v+(j[r+6>>1]|0)<<16>>16)|0;v=X(m,w+(j[q+8>>1]|0)<<16>>16)|0;F=X(n,w+(j[r+8>>1]|0)<<16>>16)|0;w=X(m,x+(j[q+10>>1]|0)<<16>>16)|0;G=X(n,x+(j[r+10>>1]|0)<<16>>16)|0;x=X(m,y+(j[q+12>>1]|0)<<16>>16)|0;H=X(n,y+(j[r+12>>1]|0)<<16>>16)|0;y=X(m,z+(j[q+14>>1]|0)<<16>>16)|0;q=X(n,z+(j[r+14>>1]|0)<<16>>16)|0;r=(f[i>>2]|0)+(p<<1)|0;z=X((j[406168]|0)+(j[r+8>>1]|0)<<16>>16,o)|0;I=X((j[406165]|0)+(j[r+2>>1]|0)<<16>>16,o)|0;J=X((j[406169]|0)+(j[r+10>>1]|0)<<16>>16,o)|0;K=X((j[406166]|0)+(j[r+4>>1]|0)<<16>>16,o)|0;L=X((j[406170]|0)+(j[r+12>>1]|0)<<16>>16,o)|0;M=X((j[406167]|0)+(j[r+6>>1]|0)<<16>>16,o)|0;N=X((j[406171]|0)+(j[r+14>>1]|0)<<16>>16,o)|0;O=e+A+B+(X((j[406164]|0)+(j[r>>1]|0)<<16>>16,o)|0)>>16;r=e+v+F+z>>16;z=e+s+C+I>>16;I=e+w+G+J>>16;J=e+t+D+K>>16;K=e+x+H+L>>16;L=e+u+E+M>>16;M=e+y+q+N>>16;N=g+p|0;q=((O+32768|0)>>>0<65536?O:(O|0)>0?32767:32768)&65535;b[N>>0]=q>>>0<255?q:255;q=((z+32768|0)>>>0<65536?z:(z|0)>0?32767:32768)&65535;b[N+1>>0]=q>>>0<255?q:255;q=((J+32768|0)>>>0<65536?J:(J|0)>0?32767:32768)&65535;b[N+2>>0]=q>>>0<255?q:255;q=((L+32768|0)>>>0<65536?L:(L|0)>0?32767:32768)&65535;b[N+3>>0]=q>>>0<255?q:255;q=((r+32768|0)>>>0<65536?r:(r|0)>0?32767:32768)&65535;b[N+4>>0]=q>>>0<255?q:255;q=((I+32768|0)>>>0<65536?I:(I|0)>0?32767:32768)&65535;b[N+5>>0]=q>>>0<255?q:255;q=((K+32768|0)>>>0<65536?K:(K|0)>0?32767:32768)&65535;b[N+6>>0]=q>>>0<255?q:255;q=((M+32768|0)>>>0<65536?M:(M|0)>0?32767:32768)&65535;b[N+7>>0]=q>>>0<255?q:255;p=p+8|0}while((p|0)<(k|0));P=h&-8}else P=0;if((P|0)>=(h|0))return;k=a+4|0;p=c+2|0;e=a+8|0;o=c+4|0;i=P;do{P=X(j[(f[a>>2]|0)+(i<<1)>>1]|0,j[c>>1]|0)|0;n=X(j[(f[k>>2]|0)+(i<<1)>>1]|0,j[p>>1]|0)|0;m=(P+32768+n+(X(j[(f[e>>2]|0)+(i<<1)>>1]|0,j[o>>1]|0)|0)|0)>>>16;b[g+i>>0]=m>>>0<255?m:255;i=i+1|0}while((i|0)!=(h|0));return}function A1(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;d=g+-7|0;if((g|0)>7){c=a+4|0;h=a+8|0;i=a+12|0;k=a+16|0;l=0;do{m=(f[a>>2]|0)+(l<<1)|0;n=(f[c>>2]|0)+(l<<1)|0;o=(f[h>>2]|0)+(l<<1)|0;p=(f[i>>2]|0)+(l<<1)|0;q=(f[k>>2]|0)+(l<<1)|0;r=(j[m>>1]|0)+2048+((j[o>>1]|0)*6|0)+((j[p>>1]|0)+(j[n>>1]|0)<<2)+(j[q>>1]|0)|0;s=(j[m+8>>1]|0)+2048+((j[o+8>>1]|0)*6|0)+((j[p+8>>1]|0)+(j[n+8>>1]|0)<<2)+(j[q+8>>1]|0)|0;t=(j[m+2>>1]|0)+2048+((j[o+2>>1]|0)*6|0)+((j[p+2>>1]|0)+(j[n+2>>1]|0)<<2)+(j[q+2>>1]|0)|0;u=(j[m+10>>1]|0)+2048+((j[o+10>>1]|0)*6|0)+((j[p+10>>1]|0)+(j[n+10>>1]|0)<<2)+(j[q+10>>1]|0)|0;v=(j[m+4>>1]|0)+2048+((j[o+4>>1]|0)*6|0)+((j[p+4>>1]|0)+(j[n+4>>1]|0)<<2)+(j[q+4>>1]|0)|0;w=(j[m+12>>1]|0)+2048+((j[o+12>>1]|0)*6|0)+((j[p+12>>1]|0)+(j[n+12>>1]|0)<<2)+(j[q+12>>1]|0)|0;x=(j[m+6>>1]|0)+2048+((j[o+6>>1]|0)*6|0)+((j[p+6>>1]|0)+(j[n+6>>1]|0)<<2)+(j[q+6>>1]|0)|0;y=(j[m+14>>1]|0)+2048+((j[o+14>>1]|0)*6|0)+((j[p+14>>1]|0)+(j[n+14>>1]|0)<<2)+(j[q+14>>1]|0)|0;q=e+l|0;b[q>>0]=r>>>0<1044480?r>>>12&255:-1;b[q+1>>0]=t>>>0<1044480?t>>>12&255:-1;b[q+2>>0]=v>>>0<1044480?v>>>12&255:-1;b[q+3>>0]=x>>>0<1044480?x>>>12&255:-1;b[q+4>>0]=s>>>0<1044480?s>>>12&255:-1;b[q+5>>0]=u>>>0<1044480?u>>>12&255:-1;b[q+6>>0]=w>>>0<1044480?w>>>12&255:-1;b[q+7>>0]=y>>>0<1044480?y>>>12&255:-1;l=l+8|0}while((l|0)<(d|0));z=g&-8}else z=0;if((z|0)>=(g|0))return;d=a+8|0;l=a+4|0;k=a+12|0;i=a+16|0;h=z;do{b[e+h>>0]=(((j[(f[d>>2]|0)+(h<<1)>>1]|0)*6|0)+2048+((j[(f[k>>2]|0)+(h<<1)>>1]|0)+(j[(f[l>>2]|0)+(h<<1)>>1]|0)<<2)+(j[(f[a>>2]|0)+(h<<1)>>1]|0)+(j[(f[i>>2]|0)+(h<<1)>>1]|0)|0)>>>12;h=h+1|0}while((h|0)!=(g|0));return}function B1(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;if((b[453312]|0)==0?jVa(453312)|0:0){d[406156]=-32768;d[406157]=-32768;d[406158]=-32768;d[406159]=-32768;d[406160]=-32768;d[406161]=-32768;d[406162]=-32768;d[406163]=-32768}if((h|0)>7){e=((j[c+2>>1]|0)+(j[c>>1]|0)+(j[c+4>>1]|0)+(j[c+6>>1]|0)+(j[c+8>>1]|0)<<15&2147450880)+32768|0;i=f[c>>2]|0;k=f[c+4>>2]|0;l=h+-7|0;m=a+4|0;n=i<<16>>16;o=i>>16;i=a+8|0;p=a+12|0;q=k<<16>>16;r=k>>16;k=a+16|0;s=d[c+8>>1]|0;t=0;do{u=(f[a>>2]|0)+(t<<1)|0;v=(f[m>>2]|0)+(t<<1)|0;w=j[406156]|0;x=j[406157]|0;y=j[406158]|0;z=j[406159]|0;A=j[406160]|0;B=j[406161]|0;C=j[406162]|0;D=j[406163]|0;E=(f[i>>2]|0)+(t<<1)|0;F=(f[p>>2]|0)+(t<<1)|0;G=j[406156]|0;H=j[406157]|0;I=j[406158]|0;J=j[406159]|0;K=j[406160]|0;L=j[406161]|0;M=j[406162]|0;N=j[406163]|0;O=X(n,w+(j[u>>1]|0)<<16>>16)|0;P=X(o,w+(j[v>>1]|0)<<16>>16)|0;w=X(n,x+(j[u+2>>1]|0)<<16>>16)|0;Q=X(o,x+(j[v+2>>1]|0)<<16>>16)|0;x=X(n,y+(j[u+4>>1]|0)<<16>>16)|0;R=X(o,y+(j[v+4>>1]|0)<<16>>16)|0;y=X(n,z+(j[u+6>>1]|0)<<16>>16)|0;S=X(o,z+(j[v+6>>1]|0)<<16>>16)|0;z=X(n,A+(j[u+8>>1]|0)<<16>>16)|0;T=X(o,A+(j[v+8>>1]|0)<<16>>16)|0;A=X(n,B+(j[u+10>>1]|0)<<16>>16)|0;U=X(o,B+(j[v+10>>1]|0)<<16>>16)|0;B=X(n,C+(j[u+12>>1]|0)<<16>>16)|0;V=X(o,C+(j[v+12>>1]|0)<<16>>16)|0;C=X(n,D+(j[u+14>>1]|0)<<16>>16)|0;u=X(o,D+(j[v+14>>1]|0)<<16>>16)|0;v=X(q,G+(j[E>>1]|0)<<16>>16)|0;D=X(r,G+(j[F>>1]|0)<<16>>16)|0;G=X(q,H+(j[E+2>>1]|0)<<16>>16)|0;W=X(r,H+(j[F+2>>1]|0)<<16>>16)|0;H=X(q,I+(j[E+4>>1]|0)<<16>>16)|0;Y=X(r,I+(j[F+4>>1]|0)<<16>>16)|0;I=X(q,J+(j[E+6>>1]|0)<<16>>16)|0;Z=X(r,J+(j[F+6>>1]|0)<<16>>16)|0;J=X(q,K+(j[E+8>>1]|0)<<16>>16)|0;_=X(r,K+(j[F+8>>1]|0)<<16>>16)|0;K=X(q,L+(j[E+10>>1]|0)<<16>>16)|0;$=X(r,L+(j[F+10>>1]|0)<<16>>16)|0;L=X(q,M+(j[E+12>>1]|0)<<16>>16)|0;aa=X(r,M+(j[F+12>>1]|0)<<16>>16)|0;M=X(q,N+(j[E+14>>1]|0)<<16>>16)|0;E=X(r,N+(j[F+14>>1]|0)<<16>>16)|0;F=(f[k>>2]|0)+(t<<1)|0;N=X((j[406160]|0)+(j[F+8>>1]|0)<<16>>16,s)|0;ba=X((j[406157]|0)+(j[F+2>>1]|0)<<16>>16,s)|0;ca=X((j[406161]|0)+(j[F+10>>1]|0)<<16>>16,s)|0;da=X((j[406158]|0)+(j[F+4>>1]|0)<<16>>16,s)|0;ea=X((j[406162]|0)+(j[F+12>>1]|0)<<16>>16,s)|0;fa=X((j[406159]|0)+(j[F+6>>1]|0)<<16>>16,s)|0;ga=X((j[406163]|0)+(j[F+14>>1]|0)<<16>>16,s)|0;ha=e+O+P+v+D+(X((j[406156]|0)+(j[F>>1]|0)<<16>>16,s)|0)>>16;F=e+z+T+J+_+N>>16;N=e+w+Q+G+W+ba>>16;ba=e+A+U+K+$+ca>>16;ca=e+x+R+H+Y+da>>16;da=e+B+V+L+aa+ea>>16;ea=e+y+S+I+Z+fa>>16;fa=e+C+u+M+E+ga>>16;ga=g+t|0;E=((ha+32768|0)>>>0<65536?ha:(ha|0)>0?32767:32768)&65535;b[ga>>0]=E>>>0<255?E:255;E=((N+32768|0)>>>0<65536?N:(N|0)>0?32767:32768)&65535;b[ga+1>>0]=E>>>0<255?E:255;E=((ca+32768|0)>>>0<65536?ca:(ca|0)>0?32767:32768)&65535;b[ga+2>>0]=E>>>0<255?E:255;E=((ea+32768|0)>>>0<65536?ea:(ea|0)>0?32767:32768)&65535;b[ga+3>>0]=E>>>0<255?E:255;E=((F+32768|0)>>>0<65536?F:(F|0)>0?32767:32768)&65535;b[ga+4>>0]=E>>>0<255?E:255;E=((ba+32768|0)>>>0<65536?ba:(ba|0)>0?32767:32768)&65535;b[ga+5>>0]=E>>>0<255?E:255;E=((da+32768|0)>>>0<65536?da:(da|0)>0?32767:32768)&65535;b[ga+6>>0]=E>>>0<255?E:255;E=((fa+32768|0)>>>0<65536?fa:(fa|0)>0?32767:32768)&65535;b[ga+7>>0]=E>>>0<255?E:255;t=t+8|0}while((t|0)<(l|0));ia=h&-8}else ia=0;if((ia|0)>=(h|0))return;l=a+4|0;t=c+2|0;e=a+8|0;s=c+4|0;k=a+12|0;r=c+6|0;q=a+16|0;o=c+8|0;n=ia;do{ia=X(j[(f[a>>2]|0)+(n<<1)>>1]|0,j[c>>1]|0)|0;p=X(j[(f[l>>2]|0)+(n<<1)>>1]|0,j[t>>1]|0)|0;i=X(j[(f[e>>2]|0)+(n<<1)>>1]|0,j[s>>1]|0)|0;m=X(j[(f[k>>2]|0)+(n<<1)>>1]|0,j[r>>1]|0)|0;E=(ia+32768+p+i+m+(X(j[(f[q>>2]|0)+(n<<1)>>1]|0,j[o>>1]|0)|0)|0)>>>16;b[g+n>>0]=E>>>0<255?E:255;n=n+1|0}while((n|0)!=(h|0));return}function C1(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0;if((b[453304]|0)==0?jVa(453304)|0:0){d[406148]=-32768;d[406149]=-32768;d[406150]=-32768;d[406151]=-32768;d[406152]=-32768;d[406153]=-32768;d[406154]=-32768;d[406155]=-32768}i=(h|0)>7;do if(i){k=(j[c+2>>1]|0)+(j[c>>1]|0)|0;if((e|0)>2){l=2;m=k;do{m=(m&65535)+(j[c+(l<<1)>>1]|0)|0;l=l+1|0}while((l|0)!=(e|0));if(i)n=m;else{o=0;break}}else n=k;l=(n<<15&2147450880)+32768|0;p=h+-7|0;q=a+4|0;r=e+-1|0;s=(e|0)>3;t=e&-2;u=0;do{v=f[c>>2]|0;w=(f[a>>2]|0)+(u<<1)|0;x=(f[q>>2]|0)+(u<<1)|0;y=j[406148]|0;z=j[406149]|0;A=j[406150]|0;B=j[406151]|0;C=j[406152]|0;D=j[406153]|0;E=j[406154]|0;F=j[406155]|0;G=v<<16>>16;H=v>>16;v=(X(H,y+(j[x>>1]|0)<<16>>16)|0)+(X(G,y+(j[w>>1]|0)<<16>>16)|0)|0;y=(X(H,z+(j[x+2>>1]|0)<<16>>16)|0)+(X(G,z+(j[w+2>>1]|0)<<16>>16)|0)|0;z=(X(H,A+(j[x+4>>1]|0)<<16>>16)|0)+(X(G,A+(j[w+4>>1]|0)<<16>>16)|0)|0;A=(X(H,B+(j[x+6>>1]|0)<<16>>16)|0)+(X(G,B+(j[w+6>>1]|0)<<16>>16)|0)|0;B=(X(H,C+(j[x+8>>1]|0)<<16>>16)|0)+(X(G,C+(j[w+8>>1]|0)<<16>>16)|0)|0;C=(X(H,D+(j[x+10>>1]|0)<<16>>16)|0)+(X(G,D+(j[w+10>>1]|0)<<16>>16)|0)|0;D=(X(H,E+(j[x+12>>1]|0)<<16>>16)|0)+(X(G,E+(j[w+12>>1]|0)<<16>>16)|0)|0;I=(X(H,F+(j[x+14>>1]|0)<<16>>16)|0)+(X(G,F+(j[w+14>>1]|0)<<16>>16)|0)|0;if(s){w=j[406148]|0;G=j[406149]|0;x=j[406150]|0;H=j[406151]|0;J=j[406152]|0;K=j[406153]|0;L=2;M=B;N=v;O=C;P=y;Q=D;R=z;S=I;T=A;while(1){U=f[c+(L<<1)>>2]|0;V=(f[a+(L<<2)>>2]|0)+(u<<1)|0;W=(f[a+((L|1)<<2)>>2]|0)+(u<<1)|0;Y=U<<16>>16;Z=U>>16;U=(X(Y,w+(j[V>>1]|0)<<16>>16)|0)+N+(X(Z,w+(j[W>>1]|0)<<16>>16)|0)|0;_=(X(Y,G+(j[V+2>>1]|0)<<16>>16)|0)+P+(X(Z,G+(j[W+2>>1]|0)<<16>>16)|0)|0;$=(X(Y,x+(j[V+4>>1]|0)<<16>>16)|0)+R+(X(Z,x+(j[W+4>>1]|0)<<16>>16)|0)|0;aa=(X(Y,H+(j[V+6>>1]|0)<<16>>16)|0)+T+(X(Z,H+(j[W+6>>1]|0)<<16>>16)|0)|0;ba=(X(Y,J+(j[V+8>>1]|0)<<16>>16)|0)+M+(X(Z,J+(j[W+8>>1]|0)<<16>>16)|0)|0;ca=(X(Y,K+(j[V+10>>1]|0)<<16>>16)|0)+O+(X(Z,K+(j[W+10>>1]|0)<<16>>16)|0)|0;da=(X(Y,E+(j[V+12>>1]|0)<<16>>16)|0)+Q+(X(Z,E+(j[W+12>>1]|0)<<16>>16)|0)|0;ea=(X(Y,F+(j[V+14>>1]|0)<<16>>16)|0)+S+(X(Z,F+(j[W+14>>1]|0)<<16>>16)|0)|0;L=L+2|0;if((L|0)>=(r|0)){fa=t;ga=ba;ha=U;ia=ca;ja=_;ka=da;la=$;ma=ea;na=aa;break}else{M=ba;N=U;O=ca;P=_;Q=da;R=$;S=ea;T=aa}}}else{fa=2;ga=B;ha=v;ia=C;ja=y;ka=D;la=z;ma=I;na=A}if((fa|0)<(e|0)){T=(f[a+(fa<<2)>>2]|0)+(u<<1)|0;S=d[c+(fa<<1)>>1]|0;oa=(X((j[406152]|0)+(j[T+8>>1]|0)<<16>>16,S)|0)+ga|0;pa=(X((j[406148]|0)+(j[T>>1]|0)<<16>>16,S)|0)+ha|0;qa=(X((j[406153]|0)+(j[T+10>>1]|0)<<16>>16,S)|0)+ia|0;ra=(X((j[406149]|0)+(j[T+2>>1]|0)<<16>>16,S)|0)+ja|0;sa=(X((j[406154]|0)+(j[T+12>>1]|0)<<16>>16,S)|0)+ka|0;ta=(X((j[406150]|0)+(j[T+4>>1]|0)<<16>>16,S)|0)+la|0;ua=(X((j[406155]|0)+(j[T+14>>1]|0)<<16>>16,S)|0)+ma|0;va=(X((j[406151]|0)+(j[T+6>>1]|0)<<16>>16,S)|0)+na|0}else{oa=ga;pa=ha;qa=ia;ra=ja;sa=ka;ta=la;ua=ma;va=na}S=l+pa>>16;T=l+oa>>16;R=l+ra>>16;Q=l+qa>>16;P=l+ta>>16;O=l+sa>>16;N=l+va>>16;M=l+ua>>16;L=g+u|0;F=((S+32768|0)>>>0<65536?S:(S|0)>0?32767:32768)&65535;b[L>>0]=F>>>0<255?F:255;F=((R+32768|0)>>>0<65536?R:(R|0)>0?32767:32768)&65535;b[L+1>>0]=F>>>0<255?F:255;F=((P+32768|0)>>>0<65536?P:(P|0)>0?32767:32768)&65535;b[L+2>>0]=F>>>0<255?F:255;F=((N+32768|0)>>>0<65536?N:(N|0)>0?32767:32768)&65535;b[L+3>>0]=F>>>0<255?F:255;F=((T+32768|0)>>>0<65536?T:(T|0)>0?32767:32768)&65535;b[L+4>>0]=F>>>0<255?F:255;F=((Q+32768|0)>>>0<65536?Q:(Q|0)>0?32767:32768)&65535;b[L+5>>0]=F>>>0<255?F:255;F=((O+32768|0)>>>0<65536?O:(O|0)>0?32767:32768)&65535;b[L+6>>0]=F>>>0<255?F:255;F=((M+32768|0)>>>0<65536?M:(M|0)>0?32767:32768)&65535;b[L+7>>0]=F>>>0<255?F:255;u=u+8|0}while((u|0)<(p|0));o=h&-8}else o=0;while(0);if((o|0)>=(h|0))return;if((e|0)>1)wa=o;else{ua=o;do{o=((X(j[(f[a>>2]|0)+(ua<<1)>>1]|0,j[c>>1]|0)|0)+32768|0)>>>16;b[g+ua>>0]=o>>>0<255?o:255;ua=ua+1|0}while((ua|0)!=(h|0));return}do{ua=1;o=X(j[(f[a>>2]|0)+(wa<<1)>>1]|0,j[c>>1]|0)|0;do{o=(X(j[(f[a+(ua<<2)>>2]|0)+(wa<<1)>>1]|0,j[c+(ua<<1)>>1]|0)|0)+o|0;ua=ua+1|0}while((ua|0)!=(e|0));ua=(o+32768|0)>>>16;b[g+wa>>0]=ua>>>0<255?ua:255;wa=wa+1|0}while((wa|0)!=(h|0));return}function D1(a){a=a|0;GQa(a);return} +function sla(a,b,c,e,g,h){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0.0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0.0,G=0.0,H=0,I=0,J=0,K=0;i=f[a+4>>2]|0;j=(i|0)/2|0;k=(f[a+28>>2]|0)+(j<<2)|0;l=+n[a+72>>2];m=b+(j<<2)|0;b=g+-1|0;o=(g|0)==0;if(f[a+76>>2]&1|0){if(o)return;a=h+-4|0;g=(h|0)<4;p=(i|0)<2;q=j+1|0;r=h&-4;s=m;t=c;u=b;while(1){a:do if(g)v=0;else{w=+n[k>>2];x=f[s>>2]|0;if(p){y=0;while(1){z=x+(y<<2)|0;A=l+w*+n[z+4>>2];B=l+w*+n[z+8>>2];C=l+w*+n[z+12>>2];D=HEa(l+w*+n[z>>2])|0;d[t+(y<<1)>>1]=D>>>0<65536?D:(D|0)>0?65535:0;D=HEa(A)|0;d[t+((y|1)<<1)>>1]=D>>>0<65536?D:(D|0)>0?65535:0;D=HEa(B)|0;d[t+((y|2)<<1)>>1]=D>>>0<65536?D:(D|0)>0?65535:0;D=HEa(C)|0;d[t+((y|3)<<1)>>1]=D>>>0<65536?D:(D|0)>0?65535:0;y=y+4|0;if((y|0)>(a|0)){v=r;break a}}}else E=0;do{y=x+(E<<2)|0;C=l+w*+n[y+12>>2];B=l+w*+n[y+8>>2];A=l+w*+n[y+4>>2];F=l+w*+n[y>>2];y=1;do{D=(f[s+(y<<2)>>2]|0)+(E<<2)|0;z=(f[s+(0-y<<2)>>2]|0)+(E<<2)|0;G=+n[k+(y<<2)>>2];F=F+G*(+n[D>>2]+ +n[z>>2]);A=A+G*(+n[D+4>>2]+ +n[z+4>>2]);B=B+G*(+n[D+8>>2]+ +n[z+8>>2]);C=C+G*(+n[D+12>>2]+ +n[z+12>>2]);y=y+1|0}while((y|0)!=(q|0));y=HEa(F)|0;d[t+(E<<1)>>1]=y>>>0<65536?y:(y|0)>0?65535:0;y=HEa(A)|0;d[t+((E|1)<<1)>>1]=y>>>0<65536?y:(y|0)>0?65535:0;y=HEa(B)|0;d[t+((E|2)<<1)>>1]=y>>>0<65536?y:(y|0)>0?65535:0;y=HEa(C)|0;d[t+((E|3)<<1)>>1]=y>>>0<65536?y:(y|0)>0?65535:0;E=E+4|0}while((E|0)<=(a|0));v=r}while(0);b:do if((v|0)<(h|0)){w=+n[k>>2];x=f[s>>2]|0;if(p){y=v;while(1){z=HEa(l+w*+n[x+(y<<2)>>2])|0;d[t+(y<<1)>>1]=z>>>0<65536?z:(z|0)>0?65535:0;y=y+1|0;if((y|0)==(h|0))break b}}else H=v;do{G=l+w*+n[x+(H<<2)>>2];y=1;do{G=G+ +n[k+(y<<2)>>2]*(+n[(f[s+(y<<2)>>2]|0)+(H<<2)>>2]+ +n[(f[s+(0-y<<2)>>2]|0)+(H<<2)>>2]);y=y+1|0}while((y|0)!=(q|0));y=HEa(G)|0;d[t+(H<<1)>>1]=y>>>0<65536?y:(y|0)>0?65535:0;H=H+1|0}while((H|0)!=(h|0))}while(0);if(!u)break;else{s=s+4|0;t=t+e|0;u=u+-1|0}}return}if(o)return;o=h+-4|0;u=(h|0)<4;t=(i|0)<2;i=j+1|0;j=h&-4;s=c;c=m;m=b;while(1){c:do if(u)I=0;else{if(t){b=HEa(l)|0;H=(b>>>0<65536?b:(b|0)>0?65535:0)&65535;b=0;while(1){d[s+(b<<1)>>1]=H;d[s+((b|1)<<1)>>1]=H;d[s+((b|2)<<1)>>1]=H;d[s+((b|3)<<1)>>1]=H;b=b+4|0;if((b|0)>(o|0)){I=j;break c}}}else J=0;do{w=l;C=l;B=l;A=l;b=1;do{H=(f[c+(b<<2)>>2]|0)+(J<<2)|0;q=(f[c+(0-b<<2)>>2]|0)+(J<<2)|0;F=+n[k+(b<<2)>>2];A=A+F*(+n[H>>2]-+n[q>>2]);B=B+F*(+n[H+4>>2]-+n[q+4>>2]);C=C+F*(+n[H+8>>2]-+n[q+8>>2]);w=w+F*(+n[H+12>>2]-+n[q+12>>2]);b=b+1|0}while((b|0)!=(i|0));b=HEa(A)|0;d[s+(J<<1)>>1]=b>>>0<65536?b:(b|0)>0?65535:0;b=HEa(B)|0;d[s+((J|1)<<1)>>1]=b>>>0<65536?b:(b|0)>0?65535:0;b=HEa(C)|0;d[s+((J|2)<<1)>>1]=b>>>0<65536?b:(b|0)>0?65535:0;b=HEa(w)|0;d[s+((J|3)<<1)>>1]=b>>>0<65536?b:(b|0)>0?65535:0;J=J+4|0}while((J|0)<=(o|0));I=j}while(0);d:do if((I|0)<(h|0)){if(t){b=HEa(l)|0;q=(b>>>0<65536?b:(b|0)>0?65535:0)&65535;b=I;while(1){d[s+(b<<1)>>1]=q;b=b+1|0;if((b|0)==(h|0))break d}}else K=I;do{G=l;b=1;do{G=G+ +n[k+(b<<2)>>2]*(+n[(f[c+(b<<2)>>2]|0)+(K<<2)>>2]-+n[(f[c+(0-b<<2)>>2]|0)+(K<<2)>>2]);b=b+1|0}while((b|0)!=(i|0));b=HEa(G)|0;d[s+(K<<1)>>1]=b>>>0<65536?b:(b|0)>0?65535:0;K=K+1|0}while((K|0)!=(h|0))}while(0);if(!m)break;else{s=s+e|0;c=c+4|0;m=m+-1|0}}return}function tla(a){a=a|0;GQa(a);return}function ula(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function vla(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=60180;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0))return;dX(b);return}function wla(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=60180;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0)){GQa(a);return}dX(b);GQa(a);return}function xla(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0.0,t=0,u=0.0,v=0.0,w=0.0,x=0,y=0.0,z=0;i=f[a+28>>2]|0;j=+p[a+72>>3];k=f[a+4>>2]|0;if(!g)return;a=h+-4|0;l=(h|0)<4;m=(k|0)>1;n=h&-4;o=c;c=d;d=g;while(1){d=d+-1|0;a:do if(l)q=0;else{if(m)r=0;else{g=0;while(1){s=+p[i>>3];t=(f[o>>2]|0)+(g<<3)|0;u=j+s*+p[t+8>>3];v=j+s*+p[t+16>>3];w=j+s*+p[t+24>>3];x=AEa(j+s*+p[t>>3])|0;b[c+g>>0]=x>>>0<256?x:(x|0)>0?255:0;x=AEa(u)|0;b[c+(g|1)>>0]=x>>>0<256?x:(x|0)>0?255:0;x=AEa(v)|0;b[c+(g|2)>>0]=x>>>0<256?x:(x|0)>0?255:0;x=AEa(w)|0;b[c+(g|3)>>0]=x>>>0<256?x:(x|0)>0?255:0;g=g+4|0;if((g|0)>(a|0)){q=n;break a}}}do{w=+p[i>>3];g=(f[o>>2]|0)+(r<<3)|0;v=j+w*+p[g+24>>3];u=j+w*+p[g+16>>3];s=j+w*+p[g+8>>3];y=j+w*+p[g>>3];g=1;do{x=(f[o+(g<<2)>>2]|0)+(r<<3)|0;w=+p[i+(g<<3)>>3];y=y+w*+p[x>>3];s=s+w*+p[x+8>>3];u=u+w*+p[x+16>>3];v=v+w*+p[x+24>>3];g=g+1|0}while((g|0)!=(k|0));g=AEa(y)|0;b[c+r>>0]=g>>>0<256?g:(g|0)>0?255:0;g=AEa(s)|0;b[c+(r|1)>>0]=g>>>0<256?g:(g|0)>0?255:0;g=AEa(u)|0;b[c+(r|2)>>0]=g>>>0<256?g:(g|0)>0?255:0;g=AEa(v)|0;b[c+(r|3)>>0]=g>>>0<256?g:(g|0)>0?255:0;r=r+4|0}while((r|0)<=(a|0));q=n}while(0);b:do if((q|0)<(h|0)){if(m)z=q;else{g=q;while(1){x=AEa(j+ +p[i>>3]*+p[(f[o>>2]|0)+(g<<3)>>3])|0;b[c+g>>0]=x>>>0<256?x:(x|0)>0?255:0;g=g+1|0;if((g|0)==(h|0))break b}}do{w=j+ +p[i>>3]*+p[(f[o>>2]|0)+(z<<3)>>3];g=1;do{w=w+ +p[i+(g<<3)>>3]*+p[(f[o+(g<<2)>>2]|0)+(z<<3)>>3];g=g+1|0}while((g|0)!=(k|0));g=AEa(w)|0;b[c+z>>0]=g>>>0<256?g:(g|0)>0?255:0;z=z+1|0}while((z|0)!=(h|0))}while(0);if(!d)break;else{o=o+4|0;c=c+e|0}}return}function yla(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=60180;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0)){GQa(a);return}dX(b);GQa(a);return}function zla(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0.0,F=0,G=0,H=0,I=0.0,J=0;i=f[a+4>>2]|0;j=(i|0)/2|0;k=(f[a+28>>2]|0)+(j<<3)|0;l=+p[a+72>>3];m=c+(j<<2)|0;c=g+-1|0;n=(g|0)==0;if(f[a+80>>2]&1|0){if(n)return;a=h+-4|0;g=(h|0)<4;o=(i|0)<2;q=j+1|0;r=h&-4;s=m;t=d;u=c;while(1){a:do if(g)v=0;else{if(o){w=0;while(1){x=+p[k>>3];y=(f[s>>2]|0)+(w<<3)|0;z=l+x*+p[y+8>>3];A=l+x*+p[y+16>>3];B=l+x*+p[y+24>>3];C=AEa(l+x*+p[y>>3])|0;b[t+w>>0]=C>>>0<256?C:(C|0)>0?255:0;C=AEa(z)|0;b[t+(w|1)>>0]=C>>>0<256?C:(C|0)>0?255:0;C=AEa(A)|0;b[t+(w|2)>>0]=C>>>0<256?C:(C|0)>0?255:0;C=AEa(B)|0;b[t+(w|3)>>0]=C>>>0<256?C:(C|0)>0?255:0;w=w+4|0;if((w|0)>(a|0)){v=r;break a}}}else D=0;do{B=+p[k>>3];w=(f[s>>2]|0)+(D<<3)|0;A=l+B*+p[w+24>>3];z=l+B*+p[w+16>>3];x=l+B*+p[w+8>>3];E=l+B*+p[w>>3];w=1;do{C=(f[s+(w<<2)>>2]|0)+(D<<3)|0;y=(f[s+(0-w<<2)>>2]|0)+(D<<3)|0;B=+p[k+(w<<3)>>3];E=E+B*(+p[C>>3]+ +p[y>>3]);x=x+B*(+p[C+8>>3]+ +p[y+8>>3]);z=z+B*(+p[C+16>>3]+ +p[y+16>>3]);A=A+B*(+p[C+24>>3]+ +p[y+24>>3]);w=w+1|0}while((w|0)!=(q|0));w=AEa(E)|0;b[t+D>>0]=w>>>0<256?w:(w|0)>0?255:0;w=AEa(x)|0;b[t+(D|1)>>0]=w>>>0<256?w:(w|0)>0?255:0;w=AEa(z)|0;b[t+(D|2)>>0]=w>>>0<256?w:(w|0)>0?255:0;w=AEa(A)|0;b[t+(D|3)>>0]=w>>>0<256?w:(w|0)>0?255:0;D=D+4|0}while((D|0)<=(a|0));v=r}while(0);b:do if((v|0)<(h|0)){if(o){w=v;while(1){y=AEa(l+ +p[k>>3]*+p[(f[s>>2]|0)+(w<<3)>>3])|0;b[t+w>>0]=y>>>0<256?y:(y|0)>0?255:0;w=w+1|0;if((w|0)==(h|0))break b}}else F=v;do{B=l+ +p[k>>3]*+p[(f[s>>2]|0)+(F<<3)>>3];w=1;do{B=B+ +p[k+(w<<3)>>3]*(+p[(f[s+(w<<2)>>2]|0)+(F<<3)>>3]+ +p[(f[s+(0-w<<2)>>2]|0)+(F<<3)>>3]);w=w+1|0}while((w|0)!=(q|0));w=AEa(B)|0;b[t+F>>0]=w>>>0<256?w:(w|0)>0?255:0;F=F+1|0}while((F|0)!=(h|0))}while(0);if(!u)break;else{s=s+4|0;t=t+e|0;u=u+-1|0}}return}if(n)return;n=h+-4|0;u=(h|0)<4;t=(i|0)<2;i=j+1|0;j=h&-4;s=d;d=m;m=c;while(1){c:do if(u)G=0;else{if(t){c=AEa(l)|0;F=(c>>>0<256?c:(c|0)>0?255:0)&255;c=0;while(1){b[s+c>>0]=F;b[s+(c|1)>>0]=F;b[s+(c|2)>>0]=F;b[s+(c|3)>>0]=F;c=c+4|0;if((c|0)>(n|0)){G=j;break c}}}else H=0;do{A=l;z=l;x=l;E=l;c=1;do{F=(f[d+(c<<2)>>2]|0)+(H<<3)|0;q=(f[d+(0-c<<2)>>2]|0)+(H<<3)|0;I=+p[k+(c<<3)>>3];E=E+I*(+p[F>>3]-+p[q>>3]);x=x+I*(+p[F+8>>3]-+p[q+8>>3]);z=z+I*(+p[F+16>>3]-+p[q+16>>3]);A=A+I*(+p[F+24>>3]-+p[q+24>>3]);c=c+1|0}while((c|0)!=(i|0));c=AEa(E)|0;b[s+H>>0]=c>>>0<256?c:(c|0)>0?255:0;c=AEa(x)|0;b[s+(H|1)>>0]=c>>>0<256?c:(c|0)>0?255:0;c=AEa(z)|0;b[s+(H|2)>>0]=c>>>0<256?c:(c|0)>0?255:0;c=AEa(A)|0;b[s+(H|3)>>0]=c>>>0<256?c:(c|0)>0?255:0;H=H+4|0}while((H|0)<=(n|0));G=j}while(0);d:do if((G|0)<(h|0)){if(t){c=AEa(l)|0;q=(c>>>0<256?c:(c|0)>0?255:0)&255;c=G;while(1){b[s+c>>0]=q;c=c+1|0;if((c|0)==(h|0))break d}}else J=G;do{B=l;c=1;do{B=B+ +p[k+(c<<3)>>3]*(+p[(f[d+(c<<2)>>2]|0)+(J<<3)>>3]-+p[(f[d+(0-c<<2)>>2]|0)+(J<<3)>>3]);c=c+1|0}while((c|0)!=(i|0));c=AEa(B)|0;b[s+J>>0]=c>>>0<256?c:(c|0)>0?255:0;J=J+1|0}while((J|0)!=(h|0))}while(0);if(!m)break;else{s=s+e|0;d=d+4|0;m=m+-1|0}}return}function Ala(a){a=a|0;GQa(a);return}function Bla(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function Cla(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=60228;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0))return;dX(b);return}function Dla(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=60228;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0)){GQa(a);return}dX(b);GQa(a);return}function Ela(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0.0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0.0,v=0.0,w=0.0,x=0,y=0.0,z=0;i=f[a+28>>2]|0;j=+n[a+72>>2];k=f[a+4>>2]|0;if(!g)return;a=h+-4|0;l=(h|0)<4;m=(k|0)>1;o=h&-4;p=c;c=d;d=g;while(1){d=d+-1|0;a:do if(l)q=0;else{if(m)r=0;else{g=0;while(1){s=+n[i>>2];t=(f[p>>2]|0)+(g<<2)|0;u=j+s*+n[t+4>>2];v=j+s*+n[t+8>>2];w=j+s*+n[t+12>>2];x=HEa(j+s*+n[t>>2])|0;b[c+g>>0]=x>>>0<256?x:(x|0)>0?255:0;x=HEa(u)|0;b[c+(g|1)>>0]=x>>>0<256?x:(x|0)>0?255:0;x=HEa(v)|0;b[c+(g|2)>>0]=x>>>0<256?x:(x|0)>0?255:0;x=HEa(w)|0;b[c+(g|3)>>0]=x>>>0<256?x:(x|0)>0?255:0;g=g+4|0;if((g|0)>(a|0)){q=o;break a}}}do{w=+n[i>>2];g=(f[p>>2]|0)+(r<<2)|0;v=j+w*+n[g+12>>2];u=j+w*+n[g+8>>2];s=j+w*+n[g+4>>2];y=j+w*+n[g>>2];g=1;do{x=(f[p+(g<<2)>>2]|0)+(r<<2)|0;w=+n[i+(g<<2)>>2];y=y+w*+n[x>>2];s=s+w*+n[x+4>>2];u=u+w*+n[x+8>>2];v=v+w*+n[x+12>>2];g=g+1|0}while((g|0)!=(k|0));g=HEa(y)|0;b[c+r>>0]=g>>>0<256?g:(g|0)>0?255:0;g=HEa(s)|0;b[c+(r|1)>>0]=g>>>0<256?g:(g|0)>0?255:0;g=HEa(u)|0;b[c+(r|2)>>0]=g>>>0<256?g:(g|0)>0?255:0;g=HEa(v)|0;b[c+(r|3)>>0]=g>>>0<256?g:(g|0)>0?255:0;r=r+4|0}while((r|0)<=(a|0));q=o}while(0);b:do if((q|0)<(h|0)){if(m)z=q;else{g=q;while(1){x=HEa(j+ +n[i>>2]*+n[(f[p>>2]|0)+(g<<2)>>2])|0;b[c+g>>0]=x>>>0<256?x:(x|0)>0?255:0;g=g+1|0;if((g|0)==(h|0))break b}}do{w=j+ +n[i>>2]*+n[(f[p>>2]|0)+(z<<2)>>2];g=1;do{w=w+ +n[i+(g<<2)>>2]*+n[(f[p+(g<<2)>>2]|0)+(z<<2)>>2];g=g+1|0}while((g|0)!=(k|0));g=HEa(w)|0;b[c+z>>0]=g>>>0<256?g:(g|0)>0?255:0;z=z+1|0}while((z|0)!=(h|0))}while(0);if(!d)break;else{p=p+4|0;c=c+e|0}}return}function Fla(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=60228;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0)){GQa(a);return}dX(b);GQa(a);return}function Gla(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0.0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0.0,F=0,G=0,H=0,I=0.0,J=0;i=f[a+4>>2]|0;j=(i|0)/2|0;k=(f[a+28>>2]|0)+(j<<2)|0;l=+n[a+72>>2];m=c+(j<<2)|0;c=g+-1|0;o=(g|0)==0;if(f[a+76>>2]&1|0){if(o)return;a=h+-4|0;g=(h|0)<4;p=(i|0)<2;q=j+1|0;r=h&-4;s=m;t=d;u=c;while(1){a:do if(g)v=0;else{if(p){w=0;while(1){x=+n[k>>2];y=(f[s>>2]|0)+(w<<2)|0;z=l+x*+n[y+4>>2];A=l+x*+n[y+8>>2];B=l+x*+n[y+12>>2];C=HEa(l+x*+n[y>>2])|0;b[t+w>>0]=C>>>0<256?C:(C|0)>0?255:0;C=HEa(z)|0;b[t+(w|1)>>0]=C>>>0<256?C:(C|0)>0?255:0;C=HEa(A)|0;b[t+(w|2)>>0]=C>>>0<256?C:(C|0)>0?255:0;C=HEa(B)|0;b[t+(w|3)>>0]=C>>>0<256?C:(C|0)>0?255:0;w=w+4|0;if((w|0)>(a|0)){v=r;break a}}}else D=0;do{B=+n[k>>2];w=(f[s>>2]|0)+(D<<2)|0;A=l+B*+n[w+12>>2];z=l+B*+n[w+8>>2];x=l+B*+n[w+4>>2];E=l+B*+n[w>>2];w=1;do{C=(f[s+(w<<2)>>2]|0)+(D<<2)|0;y=(f[s+(0-w<<2)>>2]|0)+(D<<2)|0;B=+n[k+(w<<2)>>2];E=E+B*(+n[C>>2]+ +n[y>>2]);x=x+B*(+n[C+4>>2]+ +n[y+4>>2]);z=z+B*(+n[C+8>>2]+ +n[y+8>>2]);A=A+B*(+n[C+12>>2]+ +n[y+12>>2]);w=w+1|0}while((w|0)!=(q|0));w=HEa(E)|0;b[t+D>>0]=w>>>0<256?w:(w|0)>0?255:0;w=HEa(x)|0;b[t+(D|1)>>0]=w>>>0<256?w:(w|0)>0?255:0;w=HEa(z)|0;b[t+(D|2)>>0]=w>>>0<256?w:(w|0)>0?255:0;w=HEa(A)|0;b[t+(D|3)>>0]=w>>>0<256?w:(w|0)>0?255:0;D=D+4|0}while((D|0)<=(a|0));v=r}while(0);b:do if((v|0)<(h|0)){if(p){w=v;while(1){y=HEa(l+ +n[k>>2]*+n[(f[s>>2]|0)+(w<<2)>>2])|0;b[t+w>>0]=y>>>0<256?y:(y|0)>0?255:0;w=w+1|0;if((w|0)==(h|0))break b}}else F=v;do{B=l+ +n[k>>2]*+n[(f[s>>2]|0)+(F<<2)>>2];w=1;do{B=B+ +n[k+(w<<2)>>2]*(+n[(f[s+(w<<2)>>2]|0)+(F<<2)>>2]+ +n[(f[s+(0-w<<2)>>2]|0)+(F<<2)>>2]);w=w+1|0}while((w|0)!=(q|0));w=HEa(B)|0;b[t+F>>0]=w>>>0<256?w:(w|0)>0?255:0;F=F+1|0}while((F|0)!=(h|0))}while(0);if(!u)break;else{s=s+4|0;t=t+e|0;u=u+-1|0}}return}if(o)return;o=h+-4|0;u=(h|0)<4;t=(i|0)<2;i=j+1|0;j=h&-4;s=d;d=m;m=c;while(1){c:do if(u)G=0;else{if(t){c=HEa(l)|0;F=(c>>>0<256?c:(c|0)>0?255:0)&255;c=0;while(1){b[s+c>>0]=F;b[s+(c|1)>>0]=F;b[s+(c|2)>>0]=F;b[s+(c|3)>>0]=F;c=c+4|0;if((c|0)>(o|0)){G=j;break c}}}else H=0;do{A=l;z=l;x=l;E=l;c=1;do{F=(f[d+(c<<2)>>2]|0)+(H<<2)|0;q=(f[d+(0-c<<2)>>2]|0)+(H<<2)|0;I=+n[k+(c<<2)>>2];E=E+I*(+n[F>>2]-+n[q>>2]);x=x+I*(+n[F+4>>2]-+n[q+4>>2]);z=z+I*(+n[F+8>>2]-+n[q+8>>2]);A=A+I*(+n[F+12>>2]-+n[q+12>>2]);c=c+1|0}while((c|0)!=(i|0));c=HEa(E)|0;b[s+H>>0]=c>>>0<256?c:(c|0)>0?255:0;c=HEa(x)|0;b[s+(H|1)>>0]=c>>>0<256?c:(c|0)>0?255:0;c=HEa(z)|0;b[s+(H|2)>>0]=c>>>0<256?c:(c|0)>0?255:0;c=HEa(A)|0;b[s+(H|3)>>0]=c>>>0<256?c:(c|0)>0?255:0;H=H+4|0}while((H|0)<=(o|0));G=j}while(0);d:do if((G|0)<(h|0)){if(t){c=HEa(l)|0;q=(c>>>0<256?c:(c|0)>0?255:0)&255;c=G;while(1){b[s+c>>0]=q;c=c+1|0;if((c|0)==(h|0))break d}}else J=G;do{B=l;c=1;do{B=B+ +n[k+(c<<2)>>2]*(+n[(f[d+(c<<2)>>2]|0)+(J<<2)>>2]-+n[(f[d+(0-c<<2)>>2]|0)+(J<<2)>>2]);c=c+1|0}while((c|0)!=(i|0));c=HEa(B)|0;b[s+J>>0]=c>>>0<256?c:(c|0)>0?255:0;J=J+1|0}while((J|0)!=(h|0))}while(0);if(!m)break;else{s=s+e|0;d=d+4|0;m=m+-1|0}}return}function Hla(a){a=a|0;GQa(a);return}function Ila(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function Jla(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=60276;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0))return;dX(b);return}function Kla(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=60276;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0)){GQa(a);return}dX(b);GQa(a);return}function Lla(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;i=f[a+28>>2]|0;j=f[a+80>>2]|0;k=f[a+4>>2]|0;l=a+68|0;a=f[l>>2]|0;m=f[l+4>>2]|0;if(!g)return;l=h+-4|0;n=(h|0)<4;o=(k|0)>1;p=h&-4;q=c;c=d;d=g;while(1){d=d+-1|0;a:do if(n)r=0;else{if(o)s=0;else{g=0;while(1){t=f[i>>2]|0;u=(f[q>>2]|0)+(g<<2)|0;v=(X(f[u>>2]|0,t)|0)+j|0;w=(X(f[u+4>>2]|0,t)|0)+j|0;x=(X(f[u+8>>2]|0,t)|0)+j|0;y=(X(f[u+12>>2]|0,t)|0)+j|0;t=v+m>>a;b[c+g>>0]=t>>>0<256?t:(t|0)>0?255:0;t=w+m>>a;b[c+(g|1)>>0]=t>>>0<256?t:(t|0)>0?255:0;t=x+m>>a;b[c+(g|2)>>0]=t>>>0<256?t:(t|0)>0?255:0;t=y+m>>a;b[c+(g|3)>>0]=t>>>0<256?t:(t|0)>0?255:0;g=g+4|0;if((g|0)>(l|0)){r=p;break a}}}do{g=f[i>>2]|0;t=(f[q>>2]|0)+(s<<2)|0;y=(X(f[t>>2]|0,g)|0)+j|0;x=(X(f[t+4>>2]|0,g)|0)+j|0;w=(X(f[t+8>>2]|0,g)|0)+j|0;v=(X(f[t+12>>2]|0,g)|0)+j|0;g=w;w=x;x=y;y=1;do{t=(f[q+(y<<2)>>2]|0)+(s<<2)|0;u=f[i+(y<<2)>>2]|0;x=(X(f[t>>2]|0,u)|0)+x|0;w=(X(f[t+4>>2]|0,u)|0)+w|0;g=(X(f[t+8>>2]|0,u)|0)+g|0;v=(X(f[t+12>>2]|0,u)|0)+v|0;y=y+1|0}while((y|0)!=(k|0));y=x+m>>a;b[c+s>>0]=y>>>0<256?y:(y|0)>0?255:0;y=w+m>>a;b[c+(s|1)>>0]=y>>>0<256?y:(y|0)>0?255:0;y=g+m>>a;b[c+(s|2)>>0]=y>>>0<256?y:(y|0)>0?255:0;y=v+m>>a;b[c+(s|3)>>0]=y>>>0<256?y:(y|0)>0?255:0;s=s+4|0}while((s|0)<=(l|0));r=p}while(0);b:do if((r|0)<(h|0)){if(o)z=r;else{y=r;while(1){u=(X(f[(f[q>>2]|0)+(y<<2)>>2]|0,f[i>>2]|0)|0)+j+m>>a;b[c+y>>0]=u>>>0<256?u:(u|0)>0?255:0;y=y+1|0;if((y|0)==(h|0))break b}}do{y=(X(f[(f[q>>2]|0)+(z<<2)>>2]|0,f[i>>2]|0)|0)+j|0;u=1;do{y=(X(f[(f[q+(u<<2)>>2]|0)+(z<<2)>>2]|0,f[i+(u<<2)>>2]|0)|0)+y|0;u=u+1|0}while((u|0)!=(k|0));u=y+m>>a;b[c+z>>0]=u>>>0<256?u:(u|0)>0?255:0;z=z+1|0}while((z|0)!=(h|0))}while(0);if(!d)break;else{q=q+4|0;c=c+e|0}}return}function Mla(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=60276;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0)){GQa(a);return}dX(b);GQa(a);return}function Nla(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;i=f[a+4>>2]|0;j=(i|0)/2|0;k=(f[a+28>>2]|0)+(j<<2)|0;l=f[a+80>>2]|0;m=a+68|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=c+(j<<2)|0;c=g+-1|0;p=(g|0)==0;if(!(f[a+84>>2]&1)){if(p)return;a=h+-4|0;g=(h|0)<4;q=(i|0)<2;r=j+1|0;s=h&-4;t=l+o>>n;u=(t>>>0<256?t:(t|0)>0?255:0)&255;t=l+o>>n;v=(t>>>0<256?t:(t|0)>0?255:0)&255;t=d;w=m;x=c;while(1){a:do if(g)y=0;else{if(q){z=0;while(1){b[t+z>>0]=v;b[t+(z|1)>>0]=v;b[t+(z|2)>>0]=v;b[t+(z|3)>>0]=v;z=z+4|0;if((z|0)>(a|0)){y=s;break a}}}else A=0;do{z=l;B=l;C=l;D=l;E=1;do{F=(f[w+(E<<2)>>2]|0)+(A<<2)|0;G=(f[w+(0-E<<2)>>2]|0)+(A<<2)|0;H=f[k+(E<<2)>>2]|0;D=(X((f[F>>2]|0)-(f[G>>2]|0)|0,H)|0)+D|0;C=(X((f[F+4>>2]|0)-(f[G+4>>2]|0)|0,H)|0)+C|0;B=(X((f[F+8>>2]|0)-(f[G+8>>2]|0)|0,H)|0)+B|0;z=(X((f[F+12>>2]|0)-(f[G+12>>2]|0)|0,H)|0)+z|0;E=E+1|0}while((E|0)!=(r|0));E=D+o>>n;b[t+A>>0]=E>>>0<256?E:(E|0)>0?255:0;E=C+o>>n;b[t+(A|1)>>0]=E>>>0<256?E:(E|0)>0?255:0;E=B+o>>n;b[t+(A|2)>>0]=E>>>0<256?E:(E|0)>0?255:0;E=z+o>>n;b[t+(A|3)>>0]=E>>>0<256?E:(E|0)>0?255:0;A=A+4|0}while((A|0)<=(a|0));y=s}while(0);b:do if((y|0)<(h|0)){if(q){E=y;while(1){b[t+E>>0]=u;E=E+1|0;if((E|0)==(h|0))break b}}else I=y;do{E=l;H=1;do{E=(X((f[(f[w+(H<<2)>>2]|0)+(I<<2)>>2]|0)-(f[(f[w+(0-H<<2)>>2]|0)+(I<<2)>>2]|0)|0,f[k+(H<<2)>>2]|0)|0)+E|0;H=H+1|0}while((H|0)!=(r|0));H=E+o>>n;b[t+I>>0]=H>>>0<256?H:(H|0)>0?255:0;I=I+1|0}while((I|0)!=(h|0))}while(0);if(!x)break;else{t=t+e|0;w=w+4|0;x=x+-1|0}}return}else{if(p)return;p=h+-4|0;x=(h|0)<4;w=(i|0)<2;i=j+1|0;j=h&-4;t=m;m=d;d=c;while(1){c:do if(x)J=0;else{if(w){c=0;while(1){I=f[k>>2]|0;r=(f[t>>2]|0)+(c<<2)|0;y=(X(f[r>>2]|0,I)|0)+l|0;u=(X(f[r+4>>2]|0,I)|0)+l|0;q=(X(f[r+8>>2]|0,I)|0)+l|0;s=(X(f[r+12>>2]|0,I)|0)+l|0;I=y+o>>n;b[m+c>>0]=I>>>0<256?I:(I|0)>0?255:0;I=u+o>>n;b[m+(c|1)>>0]=I>>>0<256?I:(I|0)>0?255:0;I=q+o>>n;b[m+(c|2)>>0]=I>>>0<256?I:(I|0)>0?255:0;I=s+o>>n;b[m+(c|3)>>0]=I>>>0<256?I:(I|0)>0?255:0;c=c+4|0;if((c|0)>(p|0)){J=j;break c}}}else K=0;do{c=f[k>>2]|0;I=(f[t>>2]|0)+(K<<2)|0;s=(X(f[I>>2]|0,c)|0)+l|0;q=(X(f[I+4>>2]|0,c)|0)+l|0;u=(X(f[I+8>>2]|0,c)|0)+l|0;y=(X(f[I+12>>2]|0,c)|0)+l|0;c=u;u=q;q=s;s=1;do{I=(f[t+(s<<2)>>2]|0)+(K<<2)|0;r=(f[t+(0-s<<2)>>2]|0)+(K<<2)|0;a=f[k+(s<<2)>>2]|0;q=(X((f[r>>2]|0)+(f[I>>2]|0)|0,a)|0)+q|0;u=(X((f[r+4>>2]|0)+(f[I+4>>2]|0)|0,a)|0)+u|0;c=(X((f[r+8>>2]|0)+(f[I+8>>2]|0)|0,a)|0)+c|0;y=(X((f[r+12>>2]|0)+(f[I+12>>2]|0)|0,a)|0)+y|0;s=s+1|0}while((s|0)!=(i|0));s=q+o>>n;b[m+K>>0]=s>>>0<256?s:(s|0)>0?255:0;s=u+o>>n;b[m+(K|1)>>0]=s>>>0<256?s:(s|0)>0?255:0;s=c+o>>n;b[m+(K|2)>>0]=s>>>0<256?s:(s|0)>0?255:0;s=y+o>>n;b[m+(K|3)>>0]=s>>>0<256?s:(s|0)>0?255:0;K=K+4|0}while((K|0)<=(p|0));J=j}while(0);d:do if((J|0)<(h|0)){if(w){s=J;while(1){E=(X(f[(f[t>>2]|0)+(s<<2)>>2]|0,f[k>>2]|0)|0)+l+o>>n;b[m+s>>0]=E>>>0<256?E:(E|0)>0?255:0;s=s+1|0;if((s|0)==(h|0))break d}}else L=J;do{s=(X(f[(f[t>>2]|0)+(L<<2)>>2]|0,f[k>>2]|0)|0)+l|0;E=1;do{s=(X((f[(f[t+(0-E<<2)>>2]|0)+(L<<2)>>2]|0)+(f[(f[t+(E<<2)>>2]|0)+(L<<2)>>2]|0)|0,f[k+(E<<2)>>2]|0)|0)+s|0;E=E+1|0}while((E|0)!=(i|0));E=s+o>>n;b[m+L>>0]=E>>>0<256?E:(E|0)>0?255:0;L=L+1|0}while((L|0)!=(h|0))}while(0);if(!d)break;else{t=t+4|0;m=m+e|0;d=d+-1|0}}return}}function Ola(a){a=a|0;GQa(a);return}function Pla(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function Qla(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=u;u=u+16|0;k=j;Wla(a,c,d,e,h,i);f[a>>2]=60348;f[a+76>>2]=g;if(g&3|0){u=j;return}f[k>>2]=0;f[k+4>>2]=0;g=JV(k,64)|0;a=236235;i=g+64|0;do{b[g>>0]=b[a>>0]|0;g=g+1|0;a=a+1|0}while((g|0)<(i|0));EP(-215,k,236300,233284,3314);KV(k);u=j;return}function Rla(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=60324;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0))return;dX(b);return}function Sla(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=60324;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0)){GQa(a);return}dX(b);GQa(a);return}function Tla(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0.0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0;h=f[a+28>>2]|0;i=+n[a+72>>2];j=f[a+4>>2]|0;if(!e)return;a=g+-4|0;k=(g|0)<4;l=(j|0)>1;m=g&-4;o=b;b=c;c=e;while(1){c=c+-1|0;a:do if(k)p=0;else{e=f[o>>2]|0;if(l)q=0;else{r=0;while(1){s=+n[h>>2];t=e+(r<<2)|0;u=i+s*+n[t+4>>2];v=i+s*+n[t+8>>2];w=i+s*+n[t+12>>2];n[b+(r<<2)>>2]=i+s*+n[t>>2];n[b+((r|1)<<2)>>2]=u;n[b+((r|2)<<2)>>2]=v;n[b+((r|3)<<2)>>2]=w;r=r+4|0;if((r|0)>(a|0)){p=m;break a}}}do{w=+n[h>>2];r=e+(q<<2)|0;v=i+w*+n[r+12>>2];u=i+w*+n[r+8>>2];s=i+w*+n[r+4>>2];x=i+w*+n[r>>2];r=1;do{t=(f[o+(r<<2)>>2]|0)+(q<<2)|0;w=+n[h+(r<<2)>>2];x=x+w*+n[t>>2];s=s+w*+n[t+4>>2];u=u+w*+n[t+8>>2];v=v+w*+n[t+12>>2];r=r+1|0}while((r|0)!=(j|0));n[b+(q<<2)>>2]=x;n[b+((q|1)<<2)>>2]=s;n[b+((q|2)<<2)>>2]=u;n[b+((q|3)<<2)>>2]=v;q=q+4|0}while((q|0)<=(a|0));p=m}while(0);b:do if((p|0)<(g|0)){e=f[o>>2]|0;if(l)y=p;else{r=p;while(1){n[b+(r<<2)>>2]=i+ +n[h>>2]*+n[e+(r<<2)>>2];r=r+1|0;if((r|0)==(g|0))break b}}do{w=i+ +n[h>>2]*+n[e+(y<<2)>>2];r=1;do{w=w+ +n[h+(r<<2)>>2]*+n[(f[o+(r<<2)>>2]|0)+(y<<2)>>2];r=r+1|0}while((r|0)!=(j|0));n[b+(y<<2)>>2]=w;y=y+1|0}while((y|0)!=(g|0))}while(0);if(!c)break;else{o=o+4|0;b=b+d|0}}return}function Ula(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=60324;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0)){GQa(a);return}dX(b);GQa(a);return}function Vla(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0.0,l=0,m=0,o=0.0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0,E=0,F=0,G=0,H=0;h=(f[a+4>>2]|0)/2|0;i=(f[a+28>>2]|0)+(h<<2)|0;j=(f[a+76>>2]&1|0)==0;k=+n[i>>2];if(k==2.0)l=+n[i+4>>2]==1.0;else l=0;if(k==-2.0)m=+n[i+4>>2]==1.0;else m=0;o=+n[i+4>>2];if(k==0.0)if(o==1.0){p=1;q=1.0}else{p=o==-1.0;q=o}else{p=0;q=o}o=+n[a+72>>2];if(!e)return;a=q<0.0;i=g+-4|0;r=(g|0)<4;s=g&-4;t=c;c=b+(h<<2)|0;h=e;while(1){h=h+-1|0;e=f[c+-4>>2]|0;b=f[c>>2]|0;c=c+4|0;u=f[c>>2]|0;a:do if(j)if(p){v=a?u:e;w=a?e:u;if(r)x=0;else{y=w;z=v;A=0;do{B=A|1;C=o+(+n[y+(B<<2)>>2]-+n[z+(B<<2)>>2]);n[t+(A<<2)>>2]=o+(+n[y+(A<<2)>>2]-+n[z+(A<<2)>>2]);n[t+(B<<2)>>2]=C;B=A|2;D=A|3;C=o+(+n[y+(D<<2)>>2]-+n[z+(D<<2)>>2]);n[t+(B<<2)>>2]=o+(+n[y+(B<<2)>>2]-+n[z+(B<<2)>>2]);n[t+(D<<2)>>2]=C;A=A+4|0}while((A|0)<=(i|0));x=s}if((x|0)>=(g|0))break;A=w;z=v;y=x;do{n[t+(y<<2)>>2]=o+(+n[A+(y<<2)>>2]-+n[z+(y<<2)>>2]);y=y+1|0}while((y|0)!=(g|0))}else{if(r)E=0;else{y=u;z=e;A=0;do{v=A|1;C=o+q*(+n[y+(v<<2)>>2]-+n[z+(v<<2)>>2]);n[t+(A<<2)>>2]=o+q*(+n[y+(A<<2)>>2]-+n[z+(A<<2)>>2]);n[t+(v<<2)>>2]=C;v=A|2;w=A|3;C=o+q*(+n[y+(w<<2)>>2]-+n[z+(w<<2)>>2]);n[t+(v<<2)>>2]=o+q*(+n[y+(v<<2)>>2]-+n[z+(v<<2)>>2]);n[t+(w<<2)>>2]=C;A=A+4|0}while((A|0)<=(i|0));E=s}if((E|0)>=(g|0))break;A=u;z=e;y=E;do{n[t+(y<<2)>>2]=o+q*(+n[A+(y<<2)>>2]-+n[z+(y<<2)>>2]);y=y+1|0}while((y|0)!=(g|0))}else{if(l){if(r)F=0;else{y=e;z=u;A=0;do{w=A|1;C=o+(+n[z+(w<<2)>>2]+(+n[y+(w<<2)>>2]+ +n[b+(w<<2)>>2]*2.0));n[t+(A<<2)>>2]=o+(+n[z+(A<<2)>>2]+(+n[y+(A<<2)>>2]+ +n[b+(A<<2)>>2]*2.0));n[t+(w<<2)>>2]=C;w=A|2;v=A|3;C=o+(+n[z+(v<<2)>>2]+(+n[y+(v<<2)>>2]+ +n[b+(v<<2)>>2]*2.0));n[t+(w<<2)>>2]=o+(+n[z+(w<<2)>>2]+(+n[y+(w<<2)>>2]+ +n[b+(w<<2)>>2]*2.0));n[t+(v<<2)>>2]=C;A=A+4|0}while((A|0)<=(i|0));F=s}if((F|0)>=(g|0))break;A=e;y=u;z=F;while(1){n[t+(z<<2)>>2]=o+(+n[y+(z<<2)>>2]+(+n[A+(z<<2)>>2]+ +n[b+(z<<2)>>2]*2.0));z=z+1|0;if((z|0)==(g|0))break a}}if(m){if(r)G=0;else{z=e;A=u;y=0;do{v=y|1;C=o+(+n[A+(v<<2)>>2]+(+n[z+(v<<2)>>2]-+n[b+(v<<2)>>2]*2.0));n[t+(y<<2)>>2]=o+(+n[A+(y<<2)>>2]+(+n[z+(y<<2)>>2]-+n[b+(y<<2)>>2]*2.0));n[t+(v<<2)>>2]=C;v=y|2;w=y|3;C=o+(+n[A+(w<<2)>>2]+(+n[z+(w<<2)>>2]-+n[b+(w<<2)>>2]*2.0));n[t+(v<<2)>>2]=o+(+n[A+(v<<2)>>2]+(+n[z+(v<<2)>>2]-+n[b+(v<<2)>>2]*2.0));n[t+(w<<2)>>2]=C;y=y+4|0}while((y|0)<=(i|0));G=s}if((G|0)>=(g|0))break;y=e;z=u;A=G;do{n[t+(A<<2)>>2]=o+(+n[z+(A<<2)>>2]+(+n[y+(A<<2)>>2]-+n[b+(A<<2)>>2]*2.0));A=A+1|0}while((A|0)!=(g|0))}else{if(r)H=0;else{A=e;y=u;z=0;do{w=z|1;C=o+(q*(+n[A+(w<<2)>>2]+ +n[y+(w<<2)>>2])+k*+n[b+(w<<2)>>2]);n[t+(z<<2)>>2]=o+(q*(+n[A+(z<<2)>>2]+ +n[y+(z<<2)>>2])+k*+n[b+(z<<2)>>2]);n[t+(w<<2)>>2]=C;w=z|2;v=z|3;C=o+(q*(+n[A+(v<<2)>>2]+ +n[y+(v<<2)>>2])+k*+n[b+(v<<2)>>2]);n[t+(w<<2)>>2]=o+(q*(+n[A+(w<<2)>>2]+ +n[y+(w<<2)>>2])+k*+n[b+(w<<2)>>2]);n[t+(v<<2)>>2]=C;z=z+4|0}while((z|0)<=(i|0));H=s}if((H|0)>=(g|0))break;z=e;y=u;A=H;do{n[t+(A<<2)>>2]=o+(q*(+n[z+(A<<2)>>2]+ +n[y+(A<<2)>>2])+k*+n[b+(A<<2)>>2]);A=A+1|0}while((A|0)!=(g|0))}}while(0);if(!h)break;else t=t+d|0}return}function Wla(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;h=u;u=u+16|0;g=h;i=a+8|0;f[i>>2]=-1;j=a+4|0;f[j>>2]=-1;f[a>>2]=60324;k=a+12|0;f[k>>2]=1124007936;l=a+16|0;m=a+20|0;o=a+52|0;p=l;q=p+36|0;do{f[p>>2]=0;p=p+4|0}while((p|0)<(q|0));f[o>>2]=m;r=a+60|0;s=a+56|0;f[s>>2]=r;f[r>>2]=0;f[a+64>>2]=0;if(f[c>>2]&16384){if((k|0)!=(c|0)){r=c+36|0;t=f[r>>2]|0;if(t){v=t+12|0;f[v>>2]=(f[v>>2]|0)+1;v=a+48|0;t=f[v>>2]|0;if((t|0)!=0?(w=t+12|0,t=f[w>>2]|0,f[w>>2]=t+-1,(t|0)==1):0){XO(k);x=v}else x=v}else x=a+48|0;f[x>>2]=0;v=a+28|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;if((f[l>>2]|0)>0){t=f[o>>2]|0;o=0;do{f[t+(o<<2)>>2]=0;o=o+1|0;y=f[l>>2]|0}while((o|0)<(y|0));f[k>>2]=f[c>>2];if((y|0)<3)z=13;else z=15}else{f[k>>2]=f[c>>2];z=13}if((z|0)==13){y=f[c+4>>2]|0;if((y|0)<3){f[l>>2]=y;f[m>>2]=f[c+8>>2];f[a+24>>2]=f[c+12>>2];y=f[c+44>>2]|0;l=f[s>>2]|0;f[l>>2]=f[y>>2];f[l+4>>2]=f[y+4>>2]}else z=15}if((z|0)==15)WO(k,c);f[v>>2]=f[c+16>>2];f[a+32>>2]=f[c+20>>2];f[a+36>>2]=f[c+24>>2];f[a+40>>2]=f[c+28>>2];f[a+44>>2]=f[c+32>>2];f[x>>2]=f[r>>2]}}else{r=g+8|0;f[r>>2]=0;f[r+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=k;eM(c,g)}f[i>>2]=d;d=f[m>>2]|0;m=f[a+24>>2]|0;f[j>>2]=d+-1+m;n[a+72>>2]=e;if((f[k>>2]&4095|0)==5?(d|0)==1|(m|0)==1:0){u=h;return}f[g>>2]=0;f[g+4>>2]=0;p=JV(g,77)|0;m=237289;q=p+77|0;do{b[p>>0]=b[m>>0]|0;p=p+1|0;m=m+1|0}while((p|0)<(q|0));EP(-215,g,237367,233284,3251);KV(g);u=h;return}function Xla(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=60324;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0)){GQa(a);return}dX(b);GQa(a);return}function Yla(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0.0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0.0,E=0,F=0,G=0,H=0.0,I=0;h=f[a+4>>2]|0;i=(h|0)/2|0;j=(f[a+28>>2]|0)+(i<<2)|0;k=+n[a+72>>2];l=b+(i<<2)|0;b=e+-1|0;m=(e|0)==0;if(!(f[a+76>>2]&1)){if(m)return;a=g+-4|0;e=(g|0)<4;o=(h|0)<2;p=i+1|0;q=g&-4;r=c;s=l;t=b;while(1){a:do if(e)u=0;else{if(o){v=0;while(1){n[r+(v<<2)>>2]=k;n[r+((v|1)<<2)>>2]=k;n[r+((v|2)<<2)>>2]=k;n[r+((v|3)<<2)>>2]=k;v=v+4|0;if((v|0)>(a|0)){u=q;break a}}}else w=0;do{x=k;y=k;z=k;A=k;v=1;do{B=(f[s+(v<<2)>>2]|0)+(w<<2)|0;C=(f[s+(0-v<<2)>>2]|0)+(w<<2)|0;D=+n[j+(v<<2)>>2];A=A+D*(+n[B>>2]-+n[C>>2]);z=z+D*(+n[B+4>>2]-+n[C+4>>2]);y=y+D*(+n[B+8>>2]-+n[C+8>>2]);x=x+D*(+n[B+12>>2]-+n[C+12>>2]);v=v+1|0}while((v|0)!=(p|0));n[r+(w<<2)>>2]=A;n[r+((w|1)<<2)>>2]=z;n[r+((w|2)<<2)>>2]=y;n[r+((w|3)<<2)>>2]=x;w=w+4|0}while((w|0)<=(a|0));u=q}while(0);b:do if((u|0)<(g|0)){if(o){v=u;while(1){n[r+(v<<2)>>2]=k;v=v+1|0;if((v|0)==(g|0))break b}}else E=u;do{D=k;v=1;do{D=D+ +n[j+(v<<2)>>2]*(+n[(f[s+(v<<2)>>2]|0)+(E<<2)>>2]-+n[(f[s+(0-v<<2)>>2]|0)+(E<<2)>>2]);v=v+1|0}while((v|0)!=(p|0));n[r+(E<<2)>>2]=D;E=E+1|0}while((E|0)!=(g|0))}while(0);if(!t)break;else{r=r+d|0;s=s+4|0;t=t+-1|0}}return}else{if(m)return;m=g+-4|0;t=(g|0)<4;s=(h|0)<2;h=i+1|0;i=g&-4;r=l;l=c;c=b;while(1){c:do if(t)F=0;else{b=f[r>>2]|0;if(s){E=0;while(1){x=+n[j>>2];p=b+(E<<2)|0;y=k+x*+n[p+4>>2];z=k+x*+n[p+8>>2];A=k+x*+n[p+12>>2];n[l+(E<<2)>>2]=k+x*+n[p>>2];n[l+((E|1)<<2)>>2]=y;n[l+((E|2)<<2)>>2]=z;n[l+((E|3)<<2)>>2]=A;E=E+4|0;if((E|0)>(m|0)){F=i;break c}}}else G=0;do{A=+n[j>>2];E=b+(G<<2)|0;z=k+A*+n[E+12>>2];y=k+A*+n[E+8>>2];x=k+A*+n[E+4>>2];H=k+A*+n[E>>2];E=1;do{p=(f[r+(E<<2)>>2]|0)+(G<<2)|0;u=(f[r+(0-E<<2)>>2]|0)+(G<<2)|0;A=+n[j+(E<<2)>>2];H=H+A*(+n[p>>2]+ +n[u>>2]);x=x+A*(+n[p+4>>2]+ +n[u+4>>2]);y=y+A*(+n[p+8>>2]+ +n[u+8>>2]);z=z+A*(+n[p+12>>2]+ +n[u+12>>2]);E=E+1|0}while((E|0)!=(h|0));n[l+(G<<2)>>2]=H;n[l+((G|1)<<2)>>2]=x;n[l+((G|2)<<2)>>2]=y;n[l+((G|3)<<2)>>2]=z;G=G+4|0}while((G|0)<=(m|0));F=i}while(0);d:do if((F|0)<(g|0)){b=f[r>>2]|0;if(s){E=F;while(1){n[l+(E<<2)>>2]=k+ +n[j>>2]*+n[b+(E<<2)>>2];E=E+1|0;if((E|0)==(g|0))break d}}else I=F;do{D=k+ +n[j>>2]*+n[b+(I<<2)>>2];E=1;do{D=D+ +n[j+(E<<2)>>2]*(+n[(f[r+(E<<2)>>2]|0)+(I<<2)>>2]+ +n[(f[r+(0-E<<2)>>2]|0)+(I<<2)>>2]);E=E+1|0}while((E|0)!=(h|0));n[l+(I<<2)>>2]=D;I=I+1|0}while((I|0)!=(g|0))}while(0);if(!c)break;else{r=r+4|0;l=l+d|0;c=c+-1|0}}return}}function Zla(a){a=a|0;GQa(a);return}function _la(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function $la(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=u;u=u+16|0;k=j;fma(a,c,d,e,h,i);f[a>>2]=60420;f[a+76>>2]=g;if(g&3|0){u=j;return}f[k>>2]=0;f[k+4>>2]=0;g=JV(k,64)|0;a=236235;i=g+64|0;do{b[g>>0]=b[a>>0]|0;g=g+1|0;a=a+1|0}while((g|0)<(i|0));EP(-215,k,236300,233284,3314);KV(k);u=j;return}function ama(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=60396;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0))return;dX(b);return}function bma(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=60396;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0)){GQa(a);return}dX(b);GQa(a);return}function cma(a,b,c,e,g,h){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;i=f[a+28>>2]|0;j=f[a+72>>2]|0;k=f[a+4>>2]|0;if(!g)return;a=h+-4|0;l=(h|0)<4;m=(k|0)>1;n=h&-4;o=b;b=c;c=g;while(1){c=c+-1|0;a:do if(l)p=0;else{g=f[i>>2]|0;q=f[o>>2]|0;if(m)r=0;else{s=0;while(1){t=q+(s<<2)|0;u=(X(f[t>>2]|0,g)|0)+j|0;v=(X(f[t+4>>2]|0,g)|0)+j|0;w=(X(f[t+8>>2]|0,g)|0)+j|0;x=(X(f[t+12>>2]|0,g)|0)+j|0;d[b+(s<<1)>>1]=(u+32768|0)>>>0<65536?u:(u|0)>0?32767:32768;d[b+((s|1)<<1)>>1]=(v+32768|0)>>>0<65536?v:(v|0)>0?32767:32768;d[b+((s|2)<<1)>>1]=(w+32768|0)>>>0<65536?w:(w|0)>0?32767:32768;d[b+((s|3)<<1)>>1]=(x+32768|0)>>>0<65536?x:(x|0)>0?32767:32768;s=s+4|0;if((s|0)>(a|0)){p=n;break a}}}do{s=q+(r<<2)|0;x=(X(f[s>>2]|0,g)|0)+j|0;w=(X(f[s+4>>2]|0,g)|0)+j|0;v=(X(f[s+8>>2]|0,g)|0)+j|0;u=(X(f[s+12>>2]|0,g)|0)+j|0;s=v;v=w;w=x;x=1;do{t=(f[o+(x<<2)>>2]|0)+(r<<2)|0;y=f[i+(x<<2)>>2]|0;w=(X(f[t>>2]|0,y)|0)+w|0;v=(X(f[t+4>>2]|0,y)|0)+v|0;s=(X(f[t+8>>2]|0,y)|0)+s|0;u=(X(f[t+12>>2]|0,y)|0)+u|0;x=x+1|0}while((x|0)!=(k|0));d[b+(r<<1)>>1]=(w+32768|0)>>>0<65536?w:(w|0)>0?32767:32768;d[b+((r|1)<<1)>>1]=(v+32768|0)>>>0<65536?v:(v|0)>0?32767:32768;d[b+((r|2)<<1)>>1]=(s+32768|0)>>>0<65536?s:(s|0)>0?32767:32768;d[b+((r|3)<<1)>>1]=(u+32768|0)>>>0<65536?u:(u|0)>0?32767:32768;r=r+4|0}while((r|0)<=(a|0));p=n}while(0);b:do if((p|0)<(h|0)){g=f[i>>2]|0;q=f[o>>2]|0;if(m)z=p;else{x=p;while(1){y=(X(f[q+(x<<2)>>2]|0,g)|0)+j|0;d[b+(x<<1)>>1]=(y+32768|0)>>>0<65536?y:(y|0)>0?32767:32768;x=x+1|0;if((x|0)==(h|0))break b}}do{x=(X(f[q+(z<<2)>>2]|0,g)|0)+j|0;y=1;do{x=(X(f[(f[o+(y<<2)>>2]|0)+(z<<2)>>2]|0,f[i+(y<<2)>>2]|0)|0)+x|0;y=y+1|0}while((y|0)!=(k|0));d[b+(z<<1)>>1]=(x+32768|0)>>>0<65536?x:(x|0)>0?32767:32768;z=z+1|0}while((z|0)!=(h|0))}while(0);if(!c)break;else{o=o+4|0;b=b+e|0}}return}function dma(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=60396;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0)){GQa(a);return}dX(b);GQa(a);return}function ema(a,b,c,e,g,h){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;i=(f[a+4>>2]|0)/2|0;j=(f[a+28>>2]|0)+(i<<2)|0;k=(f[a+76>>2]&1|0)==0;l=f[j>>2]|0;switch(l|0){case 2:{m=0;n=(f[j+4>>2]|0)==1;o=4;break}case -2:{m=(f[j+4>>2]|0)==1;n=0;o=4;break}case 0:{p=f[j+4>>2]|0;q=p;r=0;s=0;t=(p|0)==1|(p|0)==-1;break}default:{m=0;n=0;o=4}}if((o|0)==4){q=f[j+4>>2]|0;r=m;s=n;t=0}n=f[a+72>>2]|0;if(!g)return;a=(q|0)<0;m=h+-4|0;j=(h|0)<4;o=h&-4;p=c;c=b+(i<<2)|0;i=g;while(1){i=i+-1|0;g=f[c+-4>>2]|0;b=f[c>>2]|0;c=c+4|0;u=f[c>>2]|0;a:do if(k)if(t){v=a?u:g;w=a?g:u;if(j)x=0;else{y=w;z=v;A=0;do{B=(f[y+(A<<2)>>2]|0)-(f[z+(A<<2)>>2]|0)+n|0;C=A|1;D=(f[y+(C<<2)>>2]|0)-(f[z+(C<<2)>>2]|0)+n|0;d[p+(A<<1)>>1]=(B+32768|0)>>>0<65536?B:(B|0)>0?32767:32768;d[p+(C<<1)>>1]=(D+32768|0)>>>0<65536?D:(D|0)>0?32767:32768;D=A|2;C=(f[y+(D<<2)>>2]|0)-(f[z+(D<<2)>>2]|0)+n|0;B=A|3;E=(f[y+(B<<2)>>2]|0)-(f[z+(B<<2)>>2]|0)+n|0;d[p+(D<<1)>>1]=(C+32768|0)>>>0<65536?C:(C|0)>0?32767:32768;d[p+(B<<1)>>1]=(E+32768|0)>>>0<65536?E:(E|0)>0?32767:32768;A=A+4|0}while((A|0)<=(m|0));x=o}if((x|0)>=(h|0))break;A=w;z=v;y=x;do{E=(f[A+(y<<2)>>2]|0)-(f[z+(y<<2)>>2]|0)+n|0;d[p+(y<<1)>>1]=(E+32768|0)>>>0<65536?E:(E|0)>0?32767:32768;y=y+1|0}while((y|0)!=(h|0))}else{if(j)F=0;else{y=u;z=g;A=0;do{v=(X((f[y+(A<<2)>>2]|0)-(f[z+(A<<2)>>2]|0)|0,q)|0)+n|0;w=A|1;E=(X((f[y+(w<<2)>>2]|0)-(f[z+(w<<2)>>2]|0)|0,q)|0)+n|0;d[p+(A<<1)>>1]=(v+32768|0)>>>0<65536?v:(v|0)>0?32767:32768;d[p+(w<<1)>>1]=(E+32768|0)>>>0<65536?E:(E|0)>0?32767:32768;E=A|2;w=(X((f[y+(E<<2)>>2]|0)-(f[z+(E<<2)>>2]|0)|0,q)|0)+n|0;v=A|3;B=(X((f[y+(v<<2)>>2]|0)-(f[z+(v<<2)>>2]|0)|0,q)|0)+n|0;d[p+(E<<1)>>1]=(w+32768|0)>>>0<65536?w:(w|0)>0?32767:32768;d[p+(v<<1)>>1]=(B+32768|0)>>>0<65536?B:(B|0)>0?32767:32768;A=A+4|0}while((A|0)<=(m|0));F=o}if((F|0)>=(h|0))break;A=u;z=g;y=F;do{B=(X((f[A+(y<<2)>>2]|0)-(f[z+(y<<2)>>2]|0)|0,q)|0)+n|0;d[p+(y<<1)>>1]=(B+32768|0)>>>0<65536?B:(B|0)>0?32767:32768;y=y+1|0}while((y|0)!=(h|0))}else{if(s){if(j)G=0;else{y=g;z=u;A=0;do{B=(f[y+(A<<2)>>2]|0)+n+(f[b+(A<<2)>>2]<<1)+(f[z+(A<<2)>>2]|0)|0;v=A|1;w=(f[y+(v<<2)>>2]|0)+n+(f[b+(v<<2)>>2]<<1)+(f[z+(v<<2)>>2]|0)|0;d[p+(A<<1)>>1]=(B+32768|0)>>>0<65536?B:(B|0)>0?32767:32768;d[p+(v<<1)>>1]=(w+32768|0)>>>0<65536?w:(w|0)>0?32767:32768;w=A|2;v=(f[y+(w<<2)>>2]|0)+n+(f[b+(w<<2)>>2]<<1)+(f[z+(w<<2)>>2]|0)|0;B=A|3;E=(f[y+(B<<2)>>2]|0)+n+(f[b+(B<<2)>>2]<<1)+(f[z+(B<<2)>>2]|0)|0;d[p+(w<<1)>>1]=(v+32768|0)>>>0<65536?v:(v|0)>0?32767:32768;d[p+(B<<1)>>1]=(E+32768|0)>>>0<65536?E:(E|0)>0?32767:32768;A=A+4|0}while((A|0)<=(m|0));G=o}if((G|0)>=(h|0))break;A=g;z=u;y=G;while(1){E=(f[A+(y<<2)>>2]|0)+n+(f[b+(y<<2)>>2]<<1)+(f[z+(y<<2)>>2]|0)|0;d[p+(y<<1)>>1]=(E+32768|0)>>>0<65536?E:(E|0)>0?32767:32768;y=y+1|0;if((y|0)==(h|0))break a}}if(r){if(j)H=0;else{y=g;z=u;A=0;do{E=(f[y+(A<<2)>>2]|0)+n-(f[b+(A<<2)>>2]<<1)+(f[z+(A<<2)>>2]|0)|0;B=A|1;v=(f[y+(B<<2)>>2]|0)+n-(f[b+(B<<2)>>2]<<1)+(f[z+(B<<2)>>2]|0)|0;d[p+(A<<1)>>1]=(E+32768|0)>>>0<65536?E:(E|0)>0?32767:32768;d[p+(B<<1)>>1]=(v+32768|0)>>>0<65536?v:(v|0)>0?32767:32768;v=A|2;B=(f[y+(v<<2)>>2]|0)+n-(f[b+(v<<2)>>2]<<1)+(f[z+(v<<2)>>2]|0)|0;E=A|3;w=(f[y+(E<<2)>>2]|0)+n-(f[b+(E<<2)>>2]<<1)+(f[z+(E<<2)>>2]|0)|0;d[p+(v<<1)>>1]=(B+32768|0)>>>0<65536?B:(B|0)>0?32767:32768;d[p+(E<<1)>>1]=(w+32768|0)>>>0<65536?w:(w|0)>0?32767:32768;A=A+4|0}while((A|0)<=(m|0));H=o}if((H|0)>=(h|0))break;A=g;z=u;y=H;do{w=(f[A+(y<<2)>>2]|0)+n-(f[b+(y<<2)>>2]<<1)+(f[z+(y<<2)>>2]|0)|0;d[p+(y<<1)>>1]=(w+32768|0)>>>0<65536?w:(w|0)>0?32767:32768;y=y+1|0}while((y|0)!=(h|0))}else{if(j)I=0;else{y=g;z=u;A=0;do{w=X((f[z+(A<<2)>>2]|0)+(f[y+(A<<2)>>2]|0)|0,q)|0;E=(X(f[b+(A<<2)>>2]|0,l)|0)+n+w|0;w=A|1;B=X((f[z+(w<<2)>>2]|0)+(f[y+(w<<2)>>2]|0)|0,q)|0;v=(X(f[b+(w<<2)>>2]|0,l)|0)+n+B|0;d[p+(A<<1)>>1]=(E+32768|0)>>>0<65536?E:(E|0)>0?32767:32768;d[p+(w<<1)>>1]=(v+32768|0)>>>0<65536?v:(v|0)>0?32767:32768;v=A|2;w=X((f[z+(v<<2)>>2]|0)+(f[y+(v<<2)>>2]|0)|0,q)|0;E=(X(f[b+(v<<2)>>2]|0,l)|0)+n+w|0;w=A|3;B=X((f[z+(w<<2)>>2]|0)+(f[y+(w<<2)>>2]|0)|0,q)|0;C=(X(f[b+(w<<2)>>2]|0,l)|0)+n+B|0;d[p+(v<<1)>>1]=(E+32768|0)>>>0<65536?E:(E|0)>0?32767:32768;d[p+(w<<1)>>1]=(C+32768|0)>>>0<65536?C:(C|0)>0?32767:32768;A=A+4|0}while((A|0)<=(m|0));I=o}if((I|0)>=(h|0))break;A=g;y=u;z=I;do{C=X((f[y+(z<<2)>>2]|0)+(f[A+(z<<2)>>2]|0)|0,q)|0;w=(X(f[b+(z<<2)>>2]|0,l)|0)+n+C|0;d[p+(z<<1)>>1]=(w+32768|0)>>>0<65536?w:(w|0)>0?32767:32768;z=z+1|0}while((z|0)!=(h|0))}}while(0);if(!i)break;else p=p+e|0}return}function fma(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;h=u;u=u+16|0;g=h;i=a+8|0;f[i>>2]=-1;j=a+4|0;f[j>>2]=-1;f[a>>2]=60396;k=a+12|0;f[k>>2]=1124007936;l=a+16|0;m=a+20|0;n=a+52|0;o=l;p=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));f[n>>2]=m;q=a+60|0;r=a+56|0;f[r>>2]=q;f[q>>2]=0;f[a+64>>2]=0;if(f[c>>2]&16384){if((k|0)!=(c|0)){q=c+36|0;s=f[q>>2]|0;if(s){t=s+12|0;f[t>>2]=(f[t>>2]|0)+1;t=a+48|0;s=f[t>>2]|0;if((s|0)!=0?(v=s+12|0,s=f[v>>2]|0,f[v>>2]=s+-1,(s|0)==1):0){XO(k);w=t}else w=t}else w=a+48|0;f[w>>2]=0;t=a+28|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;if((f[l>>2]|0)>0){s=f[n>>2]|0;n=0;do{f[s+(n<<2)>>2]=0;n=n+1|0;x=f[l>>2]|0}while((n|0)<(x|0));f[k>>2]=f[c>>2];if((x|0)<3)y=13;else y=15}else{f[k>>2]=f[c>>2];y=13}if((y|0)==13){x=f[c+4>>2]|0;if((x|0)<3){f[l>>2]=x;f[m>>2]=f[c+8>>2];f[a+24>>2]=f[c+12>>2];x=f[c+44>>2]|0;l=f[r>>2]|0;f[l>>2]=f[x>>2];f[l+4>>2]=f[x+4>>2]}else y=15}if((y|0)==15)WO(k,c);f[t>>2]=f[c+16>>2];f[a+32>>2]=f[c+20>>2];f[a+36>>2]=f[c+24>>2];f[a+40>>2]=f[c+28>>2];f[a+44>>2]=f[c+32>>2];f[w>>2]=f[q>>2]}}else{q=g+8|0;f[q>>2]=0;f[q+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=k;eM(c,g)}f[i>>2]=d;d=f[m>>2]|0;m=f[a+24>>2]|0;f[j>>2]=d+-1+m;j=AEa(e)|0;f[a+72>>2]=j;if((f[k>>2]&4095|0)==4?(d|0)==1|(m|0)==1:0){u=h;return}f[g>>2]=0;f[g+4>>2]=0;o=JV(g,77)|0;m=237289;p=o+77|0;do{b[o>>0]=b[m>>0]|0;o=o+1|0;m=m+1|0}while((o|0)<(p|0));EP(-215,g,237367,233284,3251);KV(g);u=h;return}function gma(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=60396;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0)){GQa(a);return}dX(b);GQa(a);return}function hma(a,b,c,e,g,h){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;i=f[a+4>>2]|0;j=(i|0)/2|0;k=(f[a+28>>2]|0)+(j<<2)|0;l=f[a+72>>2]|0;m=b+(j<<2)|0;b=g+-1|0;n=(g|0)==0;if(!(f[a+76>>2]&1)){if(n)return;a=h+-4|0;g=(h|0)<4;o=(i|0)<2;p=j+1|0;q=h&-4;r=((l+32768|0)>>>0<65536?l:(l|0)>0?32767:32768)&65535;s=((l+32768|0)>>>0<65536?l:(l|0)>0?32767:32768)&65535;t=c;u=m;v=b;while(1){a:do if(g)w=0;else{if(o){x=0;while(1){d[t+(x<<1)>>1]=s;d[t+((x|1)<<1)>>1]=s;d[t+((x|2)<<1)>>1]=s;d[t+((x|3)<<1)>>1]=s;x=x+4|0;if((x|0)>(a|0)){w=q;break a}}}else y=0;do{x=l;z=l;A=l;B=l;C=1;do{D=(f[u+(C<<2)>>2]|0)+(y<<2)|0;E=(f[u+(0-C<<2)>>2]|0)+(y<<2)|0;F=f[k+(C<<2)>>2]|0;B=(X((f[D>>2]|0)-(f[E>>2]|0)|0,F)|0)+B|0;A=(X((f[D+4>>2]|0)-(f[E+4>>2]|0)|0,F)|0)+A|0;z=(X((f[D+8>>2]|0)-(f[E+8>>2]|0)|0,F)|0)+z|0;x=(X((f[D+12>>2]|0)-(f[E+12>>2]|0)|0,F)|0)+x|0;C=C+1|0}while((C|0)!=(p|0));d[t+(y<<1)>>1]=(B+32768|0)>>>0<65536?B:(B|0)>0?32767:32768;d[t+((y|1)<<1)>>1]=(A+32768|0)>>>0<65536?A:(A|0)>0?32767:32768;d[t+((y|2)<<1)>>1]=(z+32768|0)>>>0<65536?z:(z|0)>0?32767:32768;d[t+((y|3)<<1)>>1]=(x+32768|0)>>>0<65536?x:(x|0)>0?32767:32768;y=y+4|0}while((y|0)<=(a|0));w=q}while(0);b:do if((w|0)<(h|0)){if(o){C=w;while(1){d[t+(C<<1)>>1]=r;C=C+1|0;if((C|0)==(h|0))break b}}else G=w;do{C=l;F=1;do{C=(X((f[(f[u+(F<<2)>>2]|0)+(G<<2)>>2]|0)-(f[(f[u+(0-F<<2)>>2]|0)+(G<<2)>>2]|0)|0,f[k+(F<<2)>>2]|0)|0)+C|0;F=F+1|0}while((F|0)!=(p|0));d[t+(G<<1)>>1]=(C+32768|0)>>>0<65536?C:(C|0)>0?32767:32768;G=G+1|0}while((G|0)!=(h|0))}while(0);if(!v)break;else{t=t+e|0;u=u+4|0;v=v+-1|0}}return}else{if(n)return;n=h+-4|0;v=(h|0)<4;u=(i|0)<2;i=j+1|0;j=h&-4;t=m;m=c;c=b;while(1){c:do if(v)H=0;else{b=f[k>>2]|0;G=f[t>>2]|0;if(u){p=0;while(1){w=G+(p<<2)|0;r=(X(f[w>>2]|0,b)|0)+l|0;o=(X(f[w+4>>2]|0,b)|0)+l|0;q=(X(f[w+8>>2]|0,b)|0)+l|0;a=(X(f[w+12>>2]|0,b)|0)+l|0;d[m+(p<<1)>>1]=(r+32768|0)>>>0<65536?r:(r|0)>0?32767:32768;d[m+((p|1)<<1)>>1]=(o+32768|0)>>>0<65536?o:(o|0)>0?32767:32768;d[m+((p|2)<<1)>>1]=(q+32768|0)>>>0<65536?q:(q|0)>0?32767:32768;d[m+((p|3)<<1)>>1]=(a+32768|0)>>>0<65536?a:(a|0)>0?32767:32768;p=p+4|0;if((p|0)>(n|0)){H=j;break c}}}else I=0;do{p=G+(I<<2)|0;a=(X(f[p>>2]|0,b)|0)+l|0;q=(X(f[p+4>>2]|0,b)|0)+l|0;o=(X(f[p+8>>2]|0,b)|0)+l|0;r=(X(f[p+12>>2]|0,b)|0)+l|0;p=o;o=q;q=a;a=1;do{w=(f[t+(a<<2)>>2]|0)+(I<<2)|0;y=(f[t+(0-a<<2)>>2]|0)+(I<<2)|0;s=f[k+(a<<2)>>2]|0;q=(X((f[y>>2]|0)+(f[w>>2]|0)|0,s)|0)+q|0;o=(X((f[y+4>>2]|0)+(f[w+4>>2]|0)|0,s)|0)+o|0;p=(X((f[y+8>>2]|0)+(f[w+8>>2]|0)|0,s)|0)+p|0;r=(X((f[y+12>>2]|0)+(f[w+12>>2]|0)|0,s)|0)+r|0;a=a+1|0}while((a|0)!=(i|0));d[m+(I<<1)>>1]=(q+32768|0)>>>0<65536?q:(q|0)>0?32767:32768;d[m+((I|1)<<1)>>1]=(o+32768|0)>>>0<65536?o:(o|0)>0?32767:32768;d[m+((I|2)<<1)>>1]=(p+32768|0)>>>0<65536?p:(p|0)>0?32767:32768;d[m+((I|3)<<1)>>1]=(r+32768|0)>>>0<65536?r:(r|0)>0?32767:32768;I=I+4|0}while((I|0)<=(n|0));H=j}while(0);d:do if((H|0)<(h|0)){b=f[k>>2]|0;G=f[t>>2]|0;if(u){a=H;while(1){C=(X(f[G+(a<<2)>>2]|0,b)|0)+l|0;d[m+(a<<1)>>1]=(C+32768|0)>>>0<65536?C:(C|0)>0?32767:32768;a=a+1|0;if((a|0)==(h|0))break d}}else J=H;do{a=(X(f[G+(J<<2)>>2]|0,b)|0)+l|0;C=1;do{a=(X((f[(f[t+(0-C<<2)>>2]|0)+(J<<2)>>2]|0)+(f[(f[t+(C<<2)>>2]|0)+(J<<2)>>2]|0)|0,f[k+(C<<2)>>2]|0)|0)+a|0;C=C+1|0}while((C|0)!=(i|0));d[m+(J<<1)>>1]=(a+32768|0)>>>0<65536?a:(a|0)>0?32767:32768;J=J+1|0}while((J|0)!=(h|0))}while(0);if(!c)break;else{t=t+4|0;m=m+e|0;c=c+-1|0}}return}}function ima(a){a=a|0;GQa(a);return}function jma(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function kma(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=60276;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0)){GQa(a);return}dX(b);GQa(a);return}function lma(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;i=(f[a+4>>2]|0)/2|0;j=(f[a+28>>2]|0)+(i<<2)|0;k=(f[a+84>>2]&1|0)==0;l=f[j>>2]|0;switch(l|0){case 2:{m=0;n=(f[j+4>>2]|0)==1;o=4;break}case -2:{m=(f[j+4>>2]|0)==1;n=0;o=4;break}case 0:{p=f[j+4>>2]|0;q=p;r=0;s=0;t=(p|0)==1|(p|0)==-1;break}default:{m=0;n=0;o=4}}if((o|0)==4){q=f[j+4>>2]|0;r=m;s=n;t=0}n=a+68|0;m=f[n>>2]|0;if(!g)return;j=(q|0)<0;o=h+-4|0;p=(h|0)<4;u=(f[a+80>>2]|0)+(f[n+4>>2]|0)|0;n=h&-4;a=d;d=c+(i<<2)|0;i=g;while(1){i=i+-1|0;g=f[d+-4>>2]|0;c=f[d>>2]|0;d=d+4|0;v=f[d>>2]|0;a:do if(k)if(t){w=j?v:g;x=j?g:v;if(p)y=0;else{z=x;A=w;B=0;do{C=B|1;D=f[z+(C<<2)>>2]|0;E=f[A+(C<<2)>>2]|0;F=u+(f[z+(B<<2)>>2]|0)-(f[A+(B<<2)>>2]|0)>>m;b[a+B>>0]=F>>>0<256?F:(F|0)>0?255:0;F=u+D-E>>m;b[a+C>>0]=F>>>0<256?F:(F|0)>0?255:0;F=B|2;C=B|3;E=f[z+(C<<2)>>2]|0;D=f[A+(C<<2)>>2]|0;G=u+(f[z+(F<<2)>>2]|0)-(f[A+(F<<2)>>2]|0)>>m;b[a+F>>0]=G>>>0<256?G:(G|0)>0?255:0;G=u+E-D>>m;b[a+C>>0]=G>>>0<256?G:(G|0)>0?255:0;B=B+4|0}while((B|0)<=(o|0));y=n}if((y|0)>=(h|0))break;B=x;A=w;z=y;do{G=u+(f[B+(z<<2)>>2]|0)-(f[A+(z<<2)>>2]|0)>>m;b[a+z>>0]=G>>>0<256?G:(G|0)>0?255:0;z=z+1|0}while((z|0)!=(h|0))}else{if(p)H=0;else{z=v;A=g;B=0;do{w=X((f[z+(B<<2)>>2]|0)-(f[A+(B<<2)>>2]|0)|0,q)|0;x=B|1;G=X((f[z+(x<<2)>>2]|0)-(f[A+(x<<2)>>2]|0)|0,q)|0;C=u+w>>m;b[a+B>>0]=C>>>0<256?C:(C|0)>0?255:0;C=u+G>>m;b[a+x>>0]=C>>>0<256?C:(C|0)>0?255:0;C=B|2;x=X((f[z+(C<<2)>>2]|0)-(f[A+(C<<2)>>2]|0)|0,q)|0;G=B|3;w=X((f[z+(G<<2)>>2]|0)-(f[A+(G<<2)>>2]|0)|0,q)|0;D=u+x>>m;b[a+C>>0]=D>>>0<256?D:(D|0)>0?255:0;D=u+w>>m;b[a+G>>0]=D>>>0<256?D:(D|0)>0?255:0;B=B+4|0}while((B|0)<=(o|0));H=n}if((H|0)>=(h|0))break;B=v;A=g;z=H;do{D=u+(X((f[B+(z<<2)>>2]|0)-(f[A+(z<<2)>>2]|0)|0,q)|0)>>m;b[a+z>>0]=D>>>0<256?D:(D|0)>0?255:0;z=z+1|0}while((z|0)!=(h|0))}else{if(s){if(p)I=0;else{z=g;A=v;B=0;do{D=B|1;G=f[z+(D<<2)>>2]|0;w=f[c+(D<<2)>>2]<<1;C=f[A+(D<<2)>>2]|0;x=u+(f[z+(B<<2)>>2]|0)+(f[c+(B<<2)>>2]<<1)+(f[A+(B<<2)>>2]|0)>>m;b[a+B>>0]=x>>>0<256?x:(x|0)>0?255:0;x=u+G+w+C>>m;b[a+D>>0]=x>>>0<256?x:(x|0)>0?255:0;x=B|2;D=B|3;C=f[z+(D<<2)>>2]|0;w=f[c+(D<<2)>>2]<<1;G=f[A+(D<<2)>>2]|0;E=u+(f[z+(x<<2)>>2]|0)+(f[c+(x<<2)>>2]<<1)+(f[A+(x<<2)>>2]|0)>>m;b[a+x>>0]=E>>>0<256?E:(E|0)>0?255:0;E=u+C+w+G>>m;b[a+D>>0]=E>>>0<256?E:(E|0)>0?255:0;B=B+4|0}while((B|0)<=(o|0));I=n}if((I|0)>=(h|0))break;B=g;A=v;z=I;while(1){E=u+(f[B+(z<<2)>>2]|0)+(f[c+(z<<2)>>2]<<1)+(f[A+(z<<2)>>2]|0)>>m;b[a+z>>0]=E>>>0<256?E:(E|0)>0?255:0;z=z+1|0;if((z|0)==(h|0))break a}}if(r){if(p)J=0;else{z=g;A=v;B=0;do{E=B|1;D=f[z+(E<<2)>>2]|0;G=f[c+(E<<2)>>2]<<1;w=f[A+(E<<2)>>2]|0;C=u+(f[z+(B<<2)>>2]|0)-(f[c+(B<<2)>>2]<<1)+(f[A+(B<<2)>>2]|0)>>m;b[a+B>>0]=C>>>0<256?C:(C|0)>0?255:0;C=u+D-G+w>>m;b[a+E>>0]=C>>>0<256?C:(C|0)>0?255:0;C=B|2;E=B|3;w=f[z+(E<<2)>>2]|0;G=f[c+(E<<2)>>2]<<1;D=f[A+(E<<2)>>2]|0;x=u+(f[z+(C<<2)>>2]|0)-(f[c+(C<<2)>>2]<<1)+(f[A+(C<<2)>>2]|0)>>m;b[a+C>>0]=x>>>0<256?x:(x|0)>0?255:0;x=u+w-G+D>>m;b[a+E>>0]=x>>>0<256?x:(x|0)>0?255:0;B=B+4|0}while((B|0)<=(o|0));J=n}if((J|0)>=(h|0))break;B=g;A=v;z=J;do{x=u+(f[B+(z<<2)>>2]|0)-(f[c+(z<<2)>>2]<<1)+(f[A+(z<<2)>>2]|0)>>m;b[a+z>>0]=x>>>0<256?x:(x|0)>0?255:0;z=z+1|0}while((z|0)!=(h|0))}else{if(p)K=0;else{z=g;A=v;B=0;do{x=X((f[A+(B<<2)>>2]|0)+(f[z+(B<<2)>>2]|0)|0,q)|0;E=X(f[c+(B<<2)>>2]|0,l)|0;D=B|1;G=X((f[A+(D<<2)>>2]|0)+(f[z+(D<<2)>>2]|0)|0,q)|0;w=X(f[c+(D<<2)>>2]|0,l)|0;C=u+E+x>>m;b[a+B>>0]=C>>>0<256?C:(C|0)>0?255:0;C=u+w+G>>m;b[a+D>>0]=C>>>0<256?C:(C|0)>0?255:0;C=B|2;D=X((f[A+(C<<2)>>2]|0)+(f[z+(C<<2)>>2]|0)|0,q)|0;G=X(f[c+(C<<2)>>2]|0,l)|0;w=B|3;x=X((f[A+(w<<2)>>2]|0)+(f[z+(w<<2)>>2]|0)|0,q)|0;E=X(f[c+(w<<2)>>2]|0,l)|0;F=u+G+D>>m;b[a+C>>0]=F>>>0<256?F:(F|0)>0?255:0;F=u+E+x>>m;b[a+w>>0]=F>>>0<256?F:(F|0)>0?255:0;B=B+4|0}while((B|0)<=(o|0));K=n}if((K|0)>=(h|0))break;B=g;z=v;A=K;do{F=X((f[z+(A<<2)>>2]|0)+(f[B+(A<<2)>>2]|0)|0,q)|0;w=u+(X(f[c+(A<<2)>>2]|0,l)|0)+F>>m;b[a+A>>0]=w>>>0<256?w:(w|0)>0?255:0;A=A+1|0}while((A|0)!=(h|0))}}while(0);if(!i)break;else a=a+e|0}return}function mma(a){a=a|0;GQa(a);return}function nma(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function oma(a){a=a|0;GQa(a);return}function pma(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function qma(a){a=a|0;GQa(a);return}function rma(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function sma(a){a=a|0;GQa(a);return}function tma(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function uma(a){a=a|0;GQa(a);return}function vma(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function wma(a){a=a|0;GQa(a);return}function xma(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function yma(a){a=a|0;GQa(a);return}function zma(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function Ama(a){a=a|0;GQa(a);return}function Bma(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function Cma(a){a=a|0;GQa(a);return}function Dma(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function Ema(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=+i;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0,S=0,T=0.0,U=0,V=0,W=0,X=0,Y=0,Z=0;m=u;u=u+288|0;n=m+232|0;o=m+176|0;p=m+120|0;q=m+112|0;r=m+104|0;s=m+48|0;t=m+32|0;v=m+16|0;w=m;do if((HJ(e)|0)==65536){x=f[e+4>>2]|0;f[n>>2]=f[x>>2];y=n+4|0;z=x+4|0;f[y>>2]=f[z>>2];A=n+8|0;f[A>>2]=f[x+8>>2];f[n+12>>2]=f[x+12>>2];f[n+16>>2]=f[x+16>>2];f[n+20>>2]=f[x+20>>2];f[n+24>>2]=f[x+24>>2];f[n+28>>2]=f[x+28>>2];f[n+32>>2]=f[x+32>>2];B=f[x+36>>2]|0;f[n+36>>2]=B;f[n+40>>2]=A;A=n+48|0;C=n+44|0;f[C>>2]=A;f[A>>2]=0;f[n+52>>2]=0;if(B|0){A=B+12|0;f[A>>2]=(f[A>>2]|0)+1}if((f[z>>2]|0)<3){z=f[x+44>>2]|0;A=f[C>>2]|0;f[A>>2]=f[z>>2];f[A+4>>2]=f[z+4>>2];break}else{f[y>>2]=0;WO(n,x);break}}else DJ(n,e,-1);while(0);do if((HJ(g)|0)==65536){e=f[g+4>>2]|0;f[o>>2]=f[e>>2];x=o+4|0;y=e+4|0;f[x>>2]=f[y>>2];z=o+8|0;f[z>>2]=f[e+8>>2];f[o+12>>2]=f[e+12>>2];f[o+16>>2]=f[e+16>>2];f[o+20>>2]=f[e+20>>2];f[o+24>>2]=f[e+24>>2];f[o+28>>2]=f[e+28>>2];f[o+32>>2]=f[e+32>>2];A=f[e+36>>2]|0;f[o+36>>2]=A;f[o+40>>2]=z;z=o+48|0;C=o+44|0;f[C>>2]=z;f[z>>2]=0;f[o+52>>2]=0;if(A|0){z=A+12|0;f[z>>2]=(f[z>>2]|0)+1}if((f[y>>2]|0)<3){y=f[e+44>>2]|0;z=f[C>>2]|0;f[z>>2]=f[y>>2];f[z+4>>2]=f[y+4>>2];break}else{f[x>>2]=0;WO(o,e);break}}else DJ(o,g,-1);while(0);g=c&4095;e=d&4095;x=c&7;y=d&7;z=c>>>3&511;if((z|0)!=(d>>>3&511|0)){f[p>>2]=0;f[p+4>>2]=0;D=JV(p,50)|0;d=240305;E=D+50|0;do{b[D>>0]=b[d>>0]|0;D=D+1|0;d=d+1|0}while((D|0)<(E|0));EP(-215,p,240356,233284,3759);KV(p)}d=n+8|0;c=o+8|0;C=o+12|0;A=(f[c>>2]|0)+-1+(f[C>>2]|0)|0;B=f[h>>2]|0;if((B|0)<0){F=((f[d>>2]|0)+-1+(f[n+12>>2]|0)|0)/2|0;f[h>>2]=F;G=F}else G=B;B=h+4|0;if((f[B>>2]|0)<0)f[B>>2]=(A|0)/2|0;f[p+8>>2]=0;f[p+12>>2]=0;f[p>>2]=16842752;f[p+4>>2]=n;A=(f[d>>2]|0)==1;f[q>>2]=A?G:0;f[q+4>>2]=A?0:G;G=Cia(p,q)|0;f[p+8>>2]=0;f[p+12>>2]=0;f[p>>2]=16842752;f[p+4>>2]=o;q=(f[c>>2]|0)==1;A=f[B>>2]|0;f[r>>2]=q?A:0;f[r+4>>2]=q?0:A;A=Cia(p,r)|0;f[p>>2]=1124007936;r=p+4|0;q=p+8|0;F=p+40|0;D=r;E=D+36|0;do{f[D>>2]=0;D=D+4|0}while((D|0)<(E|0));f[F>>2]=q;H=p+48|0;I=p+44|0;f[I>>2]=H;f[H>>2]=0;f[p+52>>2]=0;f[s>>2]=1124007936;J=s+4|0;K=s+8|0;L=s+40|0;D=J;E=D+36|0;do{f[D>>2]=0;D=D+4|0}while((D|0)<(E|0));f[L>>2]=K;D=s+48|0;E=s+44|0;f[E>>2]=D;f[D>>2]=0;f[s+52>>2]=0;M=x>>>0>>0?y:x;N=(M|0)>5?M:5;do if(!x){M=(y|0)==0;if(!((G|0)==5&(A|0)==5&M)){if((G&3|0)==0|(A&3|0)==0){O=26;break}if(!((G&8&A|0)!=0&(y|0)==3)){O=26;break}}P=M?8:0;M=t+8|0;f[M>>2]=0;f[M+4>>2]=0;f[t>>2]=33619968;f[t+4>>2]=p;Q=+(1<>2]=0;f[M+4>>2]=0;f[t>>2]=33619968;f[t+4>>2]=s;AO(o,t,4,Q,0.0);M=P<<1;R=M;S=4;T=+(1<>2]&4095|0)==(N|0)){y=n+36|0;x=f[y>>2]|0;if(x){M=x+12|0;f[M>>2]=(f[M>>2]|0)+1;M=p+36|0;x=f[M>>2]|0;if((x|0)!=0?(P=x+12|0,x=f[P>>2]|0,f[P>>2]=x+-1,(x|0)==1):0){XO(p);U=M}else U=M}else U=p+36|0;f[U>>2]=0;M=p+16|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;if((f[r>>2]|0)>0){x=f[F>>2]|0;P=0;do{f[x+(P<<2)>>2]=0;P=P+1|0;V=f[r>>2]|0}while((P|0)<(V|0));f[p>>2]=f[n>>2];if((V|0)<3)O=38;else O=40}else{f[p>>2]=f[n>>2];O=38}if((O|0)==38){P=f[n+4>>2]|0;if((P|0)<3){f[r>>2]=P;f[q>>2]=f[d>>2];f[p+12>>2]=f[n+12>>2];P=f[n+44>>2]|0;x=f[I>>2]|0;f[x>>2]=f[P>>2];f[x+4>>2]=f[P+4>>2]}else O=40}if((O|0)==40)WO(p,n);f[M>>2]=f[n+16>>2];f[p+20>>2]=f[n+20>>2];f[p+24>>2]=f[n+24>>2];f[p+28>>2]=f[n+28>>2];f[p+32>>2]=f[n+32>>2];f[U>>2]=f[y>>2]}else{P=t+8|0;f[P>>2]=0;f[P+4>>2]=0;f[t>>2]=33619968;f[t+4>>2]=p;AO(n,t,N,1.0,0.0)}if((f[o>>2]&4095|0)!=(N|0)){P=t+8|0;f[P>>2]=0;f[P+4>>2]=0;f[t>>2]=33619968;f[t+4>>2]=s;AO(o,t,N,1.0,0.0);R=0;S=N;T=i;break}P=o+36|0;x=f[P>>2]|0;if(x|0){W=x+12|0;f[W>>2]=(f[W>>2]|0)+1}W=s+36|0;x=f[W>>2]|0;if(x|0?(X=x+12|0,x=f[X>>2]|0,f[X>>2]=x+-1,(x|0)==1):0)XO(s);f[W>>2]=0;x=s+16|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;if((f[J>>2]|0)>0){X=f[L>>2]|0;Y=0;do{f[X+(Y<<2)>>2]=0;Y=Y+1|0;Z=f[J>>2]|0}while((Y|0)<(Z|0));f[s>>2]=f[o>>2];if((Z|0)<3)O=54;else O=56}else{f[s>>2]=f[o>>2];O=54}if((O|0)==54){Y=f[o+4>>2]|0;if((Y|0)<3){f[J>>2]=Y;f[K>>2]=f[c>>2];f[s+12>>2]=f[C>>2];Y=f[o+44>>2]|0;X=f[E>>2]|0;f[X>>2]=f[Y>>2];f[X+4>>2]=f[Y+4>>2]}else O=56}if((O|0)==56)WO(s,o);f[x>>2]=f[o+16>>2];f[s+20>>2]=f[o+20>>2];f[s+24>>2]=f[o+24>>2];f[s+28>>2]=f[o+28>>2];f[s+32>>2]=f[o+32>>2];f[W>>2]=f[P>>2];R=0;S=N;T=i}while(0);N=S&7|z<<3;f[v+8>>2]=0;f[v+12>>2]=0;f[v>>2]=16842752;f[v+4>>2]=p;Dia(t,g,N,v,f[h>>2]|0,G);f[w+8>>2]=0;f[w+12>>2]=0;f[w>>2]=16842752;f[w+4>>2]=s;aka(v,N,e,w,f[B>>2]|0,A,T,R);R=EQa(200)|0;f[w>>2]=0;f[w+4>>2]=0;Aia(R,w,t,v,g,e,N,j,k,l);l=EQa(16)|0;f[l+4>>2]=1;f[l>>2]=45036;f[l+8>>2]=R;f[a>>2]=l;f[a+4>>2]=R;R=f[v>>2]|0;if(R|0?(v=R+4|0,a=f[v>>2]|0,f[v>>2]=a+-1,(a|0)==1):0)qg[f[(f[R>>2]|0)+8>>2]&1023](R);R=f[t>>2]|0;if(R|0?(t=R+4|0,a=f[t>>2]|0,f[t>>2]=a+-1,(a|0)==1):0)qg[f[(f[R>>2]|0)+8>>2]&1023](R);R=s+36|0;a=f[R>>2]|0;if(a|0?(t=a+12|0,a=f[t>>2]|0,f[t>>2]=a+-1,(a|0)==1):0)XO(s);f[R>>2]=0;R=s+16|0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;f[R+12>>2]=0;if((f[J>>2]|0)>0){R=f[L>>2]|0;L=0;do{f[R+(L<<2)>>2]=0;L=L+1|0}while((L|0)<(f[J>>2]|0))}J=f[E>>2]|0;if((J|0)!=(D|0))dX(J);J=p+36|0;D=f[J>>2]|0;if(D|0?(E=D+12|0,D=f[E>>2]|0,f[E>>2]=D+-1,(D|0)==1):0)XO(p);f[J>>2]=0;J=p+16|0;f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[J+12>>2]=0;if((f[r>>2]|0)>0){J=f[F>>2]|0;F=0;do{f[J+(F<<2)>>2]=0;F=F+1|0}while((F|0)<(f[r>>2]|0))}r=f[I>>2]|0;if((r|0)!=(H|0))dX(r);r=o+36|0;H=f[r>>2]|0;if(H|0?(I=H+12|0,H=f[I>>2]|0,f[I>>2]=H+-1,(H|0)==1):0)XO(o);f[r>>2]=0;r=o+16|0;H=o+4|0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;if((f[H>>2]|0)>0){r=f[o+40>>2]|0;I=0;do{f[r+(I<<2)>>2]=0;I=I+1|0}while((I|0)<(f[H>>2]|0))}H=f[o+44>>2]|0;if((H|0)!=(o+48|0))dX(H);H=n+36|0;o=f[H>>2]|0;if(o|0?(I=o+12|0,o=f[I>>2]|0,f[I>>2]=o+-1,(o|0)==1):0)XO(n);f[H>>2]=0;H=n+16|0;o=n+4|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;if((f[o>>2]|0)>0){H=f[n+40>>2]|0;I=0;do{f[H+(I<<2)>>2]=0;I=I+1|0}while((I|0)<(f[o>>2]|0))}o=f[n+44>>2]|0;if((o|0)==(n+48|0)){u=m;return}dX(o);u=m;return}function Fma(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0,D=0;e=u;u=u+16|0;g=e;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=a;h=WE(g)|0;i=f[a>>2]|0;j=(h|0)==0?1:h;h=i&65535;switch(h&4095){case 0:case 4:case 5:case 6:break;default:{f[g>>2]=0;f[g+4>>2]=0;k=JV(g,52)|0;l=240384;m=k+52|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-215,g,240437,233284,3826);KV(g)}}g=c+4|0;l=f[g>>2]|0;k=f[c>>2]|0;m=l-k>>3;o=k;k=l;if(j>>>0<=m>>>0){if(j>>>0>>0?(l=o+(j<<3)|0,(l|0)!=(k|0)):0)f[g>>2]=k+(~((k+-8-l|0)>>>3)<<3)}else Gma(c,j-m|0);m=X((i>>>3&511)+1<<(47696>>>(i<<1&14)&3),j)|0;j=d+4|0;i=f[j>>2]|0;l=f[d>>2]|0;k=i-l|0;g=l;l=i;if(m>>>0<=k>>>0)if(m>>>0>>0?(i=g+m|0,(i|0)!=(l|0)):0){f[j>>2]=i;q=g}else q=g;else{bK(d,m-k|0);q=f[d>>2]|0}d=a+8|0;if((f[d>>2]|0)<=0){u=e;return}k=a+16|0;m=a+44|0;g=a+12|0;a=(h&4095)==0;i=0;j=0;l=f[g>>2]|0;while(1){o=(f[k>>2]|0)+(X(f[f[m>>2]>>2]|0,i)|0)|0;a:do if((l|0)>0){if(a){r=0;s=j;t=l;while(1){v=b[o+r>>0]|0;if(!(v<<24>>24)){w=s;x=t}else{y=f[c>>2]|0;f[y+(s<<3)>>2]=r;f[y+(s<<3)+4>>2]=i;b[q+s>>0]=v;w=s+1|0;x=f[g>>2]|0}r=r+1|0;if((r|0)>=(x|0)){z=w;A=x;break a}else{s=w;t=x}}}t=f[c>>2]|0;s=0;r=j;v=l;while(1){switch(h&4095){case 5:{B=+n[o+(s<<2)>>2];if(B==0.0){C=r;D=v}else{f[t+(r<<3)>>2]=s;f[t+(r<<3)+4>>2]=i;n[q+(r<<2)>>2]=B;C=r+1|0;D=v}break}case 4:{y=f[o+(s<<2)>>2]|0;if(!y){C=r;D=v}else{f[t+(r<<3)>>2]=s;f[t+(r<<3)+4>>2]=i;f[q+(r<<2)>>2]=y;C=r+1|0;D=f[g>>2]|0}break}default:{B=+p[o+(s<<3)>>3];if(B==0.0){C=r;D=v}else{f[t+(r<<3)>>2]=s;f[t+(r<<3)+4>>2]=i;p[q+(r<<3)>>3]=B;C=r+1|0;D=v}}}s=s+1|0;if((s|0)>=(D|0)){z=C;A=D;break a}else{r=C;v=D}}}else{z=j;A=l}while(0);i=i+1|0;if((i|0)>=(f[d>>2]|0))break;else{j=z;l=A}}u=e;return}function Gma(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>3>>>0>=b>>>0){FVa(g|0,0,b<<3|0)|0;f[e>>2]=h+(b<<3);return}i=f[a>>2]|0;j=g-i>>3;g=j+b|0;k=i;if(g>>>0>536870911)ZOa(a);l=d-i|0;d=l>>2;m=l>>3>>>0<268435455?(d>>>0>>0?g:d):536870911;do if(m)if(m>>>0>536870911){d=hd(8)|0;LQa(d,349912);f[d>>2]=118288;ld(d|0,20688,857)}else{n=EQa(m<<3)|0;break}else n=0;while(0);d=n+(j<<3)|0;j=n+(m<<3)|0;FVa(d|0,0,b<<3|0)|0;m=d+(b<<3)|0;if((h|0)==(k|0)){o=d;p=i}else{b=h+-8-i|0;i=h;h=d;while(1){n=i;i=i+-8|0;f[h+-8>>2]=f[i>>2];f[h+-4>>2]=f[n+-4>>2];if((i|0)==(k|0))break;else h=h+-8|0}o=d+(~(b>>>3)<<3)|0;p=f[a>>2]|0}f[a>>2]=o;f[e>>2]=m;f[c>>2]=j;if(!p)return;GQa(p);return}function Hma(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=+h;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;j=u;u=u+144|0;k=j;l=j+120|0;m=j+137|0;n=j+136|0;o=j+64|0;p=j+8|0;do if((HJ(e)|0)==65536){q=f[e+4>>2]|0;f[o>>2]=f[q>>2];r=o+4|0;s=q+4|0;f[r>>2]=f[s>>2];t=o+8|0;f[t>>2]=f[q+8>>2];f[o+12>>2]=f[q+12>>2];f[o+16>>2]=f[q+16>>2];f[o+20>>2]=f[q+20>>2];f[o+24>>2]=f[q+24>>2];f[o+28>>2]=f[q+28>>2];f[o+32>>2]=f[q+32>>2];v=f[q+36>>2]|0;f[o+36>>2]=v;f[o+40>>2]=t;t=o+48|0;w=o+44|0;f[w>>2]=t;f[t>>2]=0;f[o+52>>2]=0;if(v|0){t=v+12|0;f[t>>2]=(f[t>>2]|0)+1}if((f[s>>2]|0)<3){s=f[q+44>>2]|0;t=f[w>>2]|0;f[t>>2]=f[s>>2];f[t+4>>2]=f[s+4>>2];x=o;break}else{f[r>>2]=0;WO(o,q);x=o;break}}else{DJ(o,e,-1);x=o}while(0);e=c&7;q=d&7;if(q>>>0>>0|((d^c)&4088|0)!=0){f[l>>2]=0;f[l+4>>2]=0;y=JV(l,69)|0;z=240456;A=y+69|0;do{b[y>>0]=b[z>>0]|0;y=y+1|0;z=z+1|0}while((y|0)<(A|0));EP(-215,l,240526,233284,4428);KV(l)}r=f[g>>2]|0;s=g+4|0;t=f[s>>2]|0;w=o+40|0;v=f[w>>2]|0;B=f[v+4>>2]|0;C=f[v>>2]|0;v=(r|0)==-1?(B|0)/2|0:r;r=(t|0)==-1?(C|0)/2|0:t;if(!((v|0)>-1&(v|0)<(B|0)?!((r|0)<0|(r|0)>=(C|0)):0)){f[l>>2]=0;f[l+4>>2]=0;y=JV(l,52)|0;z=240542;A=y+52|0;do{b[y>>0]=b[z>>0]|0;y=y+1|0;z=z+1|0}while((y|0)<(A|0));EP(-215,l,240595,240611,363);KV(l)}f[g>>2]=v;f[s>>2]=r;r=(e|0)==6;v=(q|0)==6;z=r|v?6:5;f[p>>2]=1124007936;C=p+4|0;B=p+8|0;t=p+40|0;y=C;A=y+36|0;do{f[y>>2]=0;y=y+4|0}while((y|0)<(A|0));f[t>>2]=B;y=p+48|0;A=p+44|0;f[A>>2]=y;f[y>>2]=0;f[p+52>>2]=0;D=f[x>>2]&4095;if((D|0)==(z|0)){E=o+36|0;F=f[E>>2]|0;if(F){G=F+12|0;f[G>>2]=(f[G>>2]|0)+1;G=p+36|0;F=f[G>>2]|0;if((F|0)!=0?(H=F+12|0,F=f[H>>2]|0,f[H>>2]=F+-1,(F|0)==1):0){XO(p);I=G}else I=G}else I=p+36|0;f[I>>2]=0;G=p+16|0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;if((f[C>>2]|0)>0){F=f[t>>2]|0;H=0;do{f[F+(H<<2)>>2]=0;H=H+1|0;J=f[C>>2]|0}while((H|0)<(J|0));f[p>>2]=f[x>>2];if((J|0)<3)K=24;else K=26}else{f[p>>2]=f[x>>2];K=24}if((K|0)==24){x=f[o+4>>2]|0;if((x|0)<3){f[C>>2]=x;f[B>>2]=f[o+8>>2];f[p+12>>2]=f[o+12>>2];B=f[o+44>>2]|0;x=f[A>>2]|0;f[x>>2]=f[B>>2];f[x+4>>2]=f[B+4>>2]}else K=26}if((K|0)==26)WO(p,o);f[G>>2]=f[o+16>>2];f[p+20>>2]=f[o+20>>2];f[p+24>>2]=f[o+24>>2];f[p+28>>2]=f[o+28>>2];f[p+32>>2]=f[o+32>>2];f[I>>2]=f[E>>2]}else{E=l+8|0;f[E>>2]=0;f[E+4>>2]=0;f[l>>2]=33619968;f[l+4>>2]=p;AO(o,l,z,(D|0)==4?1.0/+(1<>2]=f[g>>2];f[l+4>>2]=f[s>>2];Ima(D,p,l,h,m,n);z=EQa(16)|0;E=z+4|0;f[E>>2]=1;f[z>>2]=60468;f[z+8>>2]=D;f[a>>2]=z;f[a+4>>2]=D;f[E>>2]=(f[E>>2]|0)+1;D=f[E>>2]|0;f[E>>2]=D+-1;if((D|0)==1)qg[f[(f[z>>2]|0)+8>>2]&1023](z)}else{z=(q|0)==2;if(i&z){D=EQa(64)|0;f[l>>2]=f[g>>2];f[l+4>>2]=f[s>>2];Jma(D,p,l,h,m,n);E=EQa(16)|0;I=E+4|0;f[I>>2]=1;f[E>>2]=60488;f[E+8>>2]=D;f[a>>2]=E;f[a+4>>2]=D;f[I>>2]=(f[I>>2]|0)+1;D=f[I>>2]|0;f[I>>2]=D+-1;if((D|0)!=1)break;qg[f[(f[E>>2]|0)+8>>2]&1023](E);break}E=(q|0)==3;if(i&E){D=EQa(64)|0;f[l>>2]=f[g>>2];f[l+4>>2]=f[s>>2];Kma(D,p,l,h,m,n);I=EQa(16)|0;G=I+4|0;f[G>>2]=1;f[I>>2]=60508;f[I+8>>2]=D;f[a>>2]=I;f[a+4>>2]=D;f[G>>2]=(f[G>>2]|0)+1;D=f[G>>2]|0;f[G>>2]=D+-1;if((D|0)==1)qg[f[(f[I>>2]|0)+8>>2]&1023](I);break}I=(q|0)==5;if(i&I){D=EQa(64)|0;f[l>>2]=f[g>>2];f[l+4>>2]=f[s>>2];Lma(D,p,l,h,m,n);G=EQa(16)|0;K=G+4|0;f[K>>2]=1;f[G>>2]=60528;f[G+8>>2]=D;f[a>>2]=G;f[a+4>>2]=D;f[K>>2]=(f[K>>2]|0)+1;D=f[K>>2]|0;f[K>>2]=D+-1;if((D|0)!=1)break;qg[f[(f[G>>2]|0)+8>>2]&1023](G);break}if(i&v){G=EQa(72)|0;f[l>>2]=f[g>>2];f[l+4>>2]=f[s>>2];Mma(G,p,l,h,m,n);D=EQa(16)|0;K=D+4|0;f[K>>2]=1;f[D>>2]=60548;f[D+8>>2]=G;f[a>>2]=D;f[a+4>>2]=G;f[K>>2]=(f[K>>2]|0)+1;G=f[K>>2]|0;f[K>>2]=G+-1;if((G|0)!=1)break;qg[f[(f[D>>2]|0)+8>>2]&1023](D);break}D=(e|0)==2;if(D&z){z=EQa(64)|0;f[l>>2]=f[g>>2];f[l+4>>2]=f[s>>2];Nma(z,p,l,h,m,n);G=EQa(16)|0;K=G+4|0;f[K>>2]=1;f[G>>2]=60568;f[G+8>>2]=z;f[a>>2]=G;f[a+4>>2]=z;f[K>>2]=(f[K>>2]|0)+1;z=f[K>>2]|0;f[K>>2]=z+-1;if((z|0)!=1)break;qg[f[(f[G>>2]|0)+8>>2]&1023](G);break}if(D&I){G=EQa(64)|0;f[l>>2]=f[g>>2];f[l+4>>2]=f[s>>2];Oma(G,p,l,h,m,n);z=EQa(16)|0;K=z+4|0;f[K>>2]=1;f[z>>2]=60588;f[z+8>>2]=G;f[a>>2]=z;f[a+4>>2]=G;f[K>>2]=(f[K>>2]|0)+1;G=f[K>>2]|0;f[K>>2]=G+-1;if((G|0)!=1)break;qg[f[(f[z>>2]|0)+8>>2]&1023](z);break}if(D&v){D=EQa(72)|0;f[l>>2]=f[g>>2];f[l+4>>2]=f[s>>2];Pma(D,p,l,h,m,n);z=EQa(16)|0;G=z+4|0;f[G>>2]=1;f[z>>2]=60608;f[z+8>>2]=D;f[a>>2]=z;f[a+4>>2]=D;f[G>>2]=(f[G>>2]|0)+1;D=f[G>>2]|0;f[G>>2]=D+-1;if((D|0)!=1)break;qg[f[(f[z>>2]|0)+8>>2]&1023](z);break}z=(e|0)==3;if(z&E){E=EQa(64)|0;f[l>>2]=f[g>>2];f[l+4>>2]=f[s>>2];Qma(E,p,l,h,m,n);D=EQa(16)|0;G=D+4|0;f[G>>2]=1;f[D>>2]=60628;f[D+8>>2]=E;f[a>>2]=D;f[a+4>>2]=E;f[G>>2]=(f[G>>2]|0)+1;E=f[G>>2]|0;f[G>>2]=E+-1;if((E|0)!=1)break;qg[f[(f[D>>2]|0)+8>>2]&1023](D);break}if(z&I){D=EQa(64)|0;f[l>>2]=f[g>>2];f[l+4>>2]=f[s>>2];Rma(D,p,l,h,m,n);E=EQa(16)|0;G=E+4|0;f[G>>2]=1;f[E>>2]=60648;f[E+8>>2]=D;f[a>>2]=E;f[a+4>>2]=D;f[G>>2]=(f[G>>2]|0)+1;D=f[G>>2]|0;f[G>>2]=D+-1;if((D|0)!=1)break;qg[f[(f[E>>2]|0)+8>>2]&1023](E);break}if(z&v){z=EQa(72)|0;f[l>>2]=f[g>>2];f[l+4>>2]=f[s>>2];Sma(z,p,l,h,m,n);E=EQa(16)|0;D=E+4|0;f[D>>2]=1;f[E>>2]=60668;f[E+8>>2]=z;f[a>>2]=E;f[a+4>>2]=z;f[D>>2]=(f[D>>2]|0)+1;z=f[D>>2]|0;f[D>>2]=z+-1;if((z|0)!=1)break;qg[f[(f[E>>2]|0)+8>>2]&1023](E);break}if((e|0)==5&I){I=EQa(64)|0;f[l>>2]=f[g>>2];f[l+4>>2]=f[s>>2];Tma(I,p,l,h,m,n);E=EQa(16)|0;z=E+4|0;f[z>>2]=1;f[E>>2]=60688;f[E+8>>2]=I;f[a>>2]=E;f[a+4>>2]=I;f[z>>2]=(f[z>>2]|0)+1;I=f[z>>2]|0;f[z>>2]=I+-1;if((I|0)==1)qg[f[(f[E>>2]|0)+8>>2]&1023](E);break}if(!(r&v)){f[k>>2]=c;f[k+4>>2]=d;LP(l,240675,k);EP(-213,l,240526,233284,4493);KV(l);f[a>>2]=0;f[a+4>>2]=0;break}E=EQa(72)|0;f[l>>2]=f[g>>2];f[l+4>>2]=f[s>>2];Uma(E,p,l,h,m,n);I=EQa(16)|0;z=I+4|0;f[z>>2]=1;f[I>>2]=60708;f[I+8>>2]=E;f[a>>2]=I;f[a+4>>2]=E;f[z>>2]=(f[z>>2]|0)+1;E=f[z>>2]|0;f[z>>2]=E+-1;if((E|0)==1)qg[f[(f[I>>2]|0)+8>>2]&1023](I)}while(0);a=p+36|0;n=f[a>>2]|0;if(n|0?(m=n+12|0,n=f[m>>2]|0,f[m>>2]=n+-1,(n|0)==1):0)XO(p);f[a>>2]=0;a=p+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if((f[C>>2]|0)>0){a=f[t>>2]|0;t=0;do{f[a+(t<<2)>>2]=0;t=t+1|0}while((t|0)<(f[C>>2]|0))}C=f[A>>2]|0;if((C|0)!=(y|0))dX(C);C=o+36|0;y=f[C>>2]|0;if(y|0?(A=y+12|0,y=f[A>>2]|0,f[A>>2]=y+-1,(y|0)==1):0)XO(o);f[C>>2]=0;C=o+16|0;y=o+4|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;f[C+12>>2]=0;if((f[y>>2]|0)>0){C=f[w>>2]|0;w=0;do{f[C+(w<<2)>>2]=0;w=w+1|0}while((w|0)<(f[y>>2]|0))}y=f[o+44>>2]|0;if((y|0)==(o+48|0)){u=j;return}dX(y);u=j;return}function Ima(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0;h=u;u=u+16|0;g=h;i=a+4|0;f[i>>2]=-1;f[i+4>>2]=-1;f[i+8>>2]=-1;f[i+12>>2]=-1;f[a>>2]=61016;j=a+20|0;k=a+24|0;l=a+32|0;m=a+44|0;o=a+48|0;p=j;q=p+36|0;do{f[p>>2]=0;p=p+4|0}while((p|0)<(q|0));f[a+12>>2]=f[d>>2];f[a+16>>2]=f[d+4>>2];d=f[c+40>>2]|0;r=f[d>>2]|0;f[i>>2]=f[d+4>>2];f[a+8>>2]=r;n[a+56>>2]=e;if((f[c>>2]&4095|0)!=5){f[g>>2]=0;f[g+4>>2]=0;p=JV(g,36)|0;a=240852;q=p+36|0;do{b[p>>0]=b[a>>0]|0;p=p+1|0;a=a+1|0}while((p|0)<(q|0));EP(-215,g,240889,233284,3887);KV(g)}Fma(c,j,l);l=(f[k>>2]|0)-(f[j>>2]|0)>>3;j=f[o>>2]|0;k=f[m>>2]|0;c=j-k>>2;g=j;if(l>>>0>c>>>0){P7(m,l-c|0);u=h;return}if(l>>>0>=c>>>0){u=h;return}c=k+(l<<2)|0;if((c|0)==(g|0)){u=h;return}f[o>>2]=g+(~((g+-4-c|0)>>>2)<<2);u=h;return}function Jma(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0;h=u;u=u+16|0;g=h;i=a+4|0;f[i>>2]=-1;f[i+4>>2]=-1;f[i+8>>2]=-1;f[i+12>>2]=-1;f[a>>2]=60992;j=a+20|0;k=a+24|0;l=a+32|0;m=a+44|0;o=a+48|0;p=j;q=p+36|0;do{f[p>>2]=0;p=p+4|0}while((p|0)<(q|0));f[a+12>>2]=f[d>>2];f[a+16>>2]=f[d+4>>2];d=f[c+40>>2]|0;r=f[d>>2]|0;f[i>>2]=f[d+4>>2];f[a+8>>2]=r;n[a+56>>2]=e;if((f[c>>2]&4095|0)!=5){f[g>>2]=0;f[g+4>>2]=0;p=JV(g,36)|0;a=240852;q=p+36|0;do{b[p>>0]=b[a>>0]|0;p=p+1|0;a=a+1|0}while((p|0)<(q|0));EP(-215,g,240889,233284,3887);KV(g)}Fma(c,j,l);l=(f[k>>2]|0)-(f[j>>2]|0)>>3;j=f[o>>2]|0;k=f[m>>2]|0;c=j-k>>2;g=j;if(l>>>0>c>>>0){P7(m,l-c|0);u=h;return}if(l>>>0>=c>>>0){u=h;return}c=k+(l<<2)|0;if((c|0)==(g|0)){u=h;return}f[o>>2]=g+(~((g+-4-c|0)>>>2)<<2);u=h;return}function Kma(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0;h=u;u=u+16|0;g=h;i=a+4|0;f[i>>2]=-1;f[i+4>>2]=-1;f[i+8>>2]=-1;f[i+12>>2]=-1;f[a>>2]=60968;j=a+20|0;k=a+24|0;l=a+32|0;m=a+44|0;o=a+48|0;p=j;q=p+36|0;do{f[p>>2]=0;p=p+4|0}while((p|0)<(q|0));f[a+12>>2]=f[d>>2];f[a+16>>2]=f[d+4>>2];d=f[c+40>>2]|0;r=f[d>>2]|0;f[i>>2]=f[d+4>>2];f[a+8>>2]=r;n[a+56>>2]=e;if((f[c>>2]&4095|0)!=5){f[g>>2]=0;f[g+4>>2]=0;p=JV(g,36)|0;a=240852;q=p+36|0;do{b[p>>0]=b[a>>0]|0;p=p+1|0;a=a+1|0}while((p|0)<(q|0));EP(-215,g,240889,233284,3887);KV(g)}Fma(c,j,l);l=(f[k>>2]|0)-(f[j>>2]|0)>>3;j=f[o>>2]|0;k=f[m>>2]|0;c=j-k>>2;g=j;if(l>>>0>c>>>0){P7(m,l-c|0);u=h;return}if(l>>>0>=c>>>0){u=h;return}c=k+(l<<2)|0;if((c|0)==(g|0)){u=h;return}f[o>>2]=g+(~((g+-4-c|0)>>>2)<<2);u=h;return}function Lma(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0;h=u;u=u+16|0;g=h;i=a+4|0;f[i>>2]=-1;f[i+4>>2]=-1;f[i+8>>2]=-1;f[i+12>>2]=-1;f[a>>2]=60944;j=a+20|0;k=a+24|0;l=a+32|0;m=a+44|0;o=a+48|0;p=j;q=p+36|0;do{f[p>>2]=0;p=p+4|0}while((p|0)<(q|0));f[a+12>>2]=f[d>>2];f[a+16>>2]=f[d+4>>2];d=f[c+40>>2]|0;r=f[d>>2]|0;f[i>>2]=f[d+4>>2];f[a+8>>2]=r;n[a+56>>2]=e;if((f[c>>2]&4095|0)!=5){f[g>>2]=0;f[g+4>>2]=0;p=JV(g,36)|0;a=240852;q=p+36|0;do{b[p>>0]=b[a>>0]|0;p=p+1|0;a=a+1|0}while((p|0)<(q|0));EP(-215,g,240889,233284,3887);KV(g)}Fma(c,j,l);l=(f[k>>2]|0)-(f[j>>2]|0)>>3;j=f[o>>2]|0;k=f[m>>2]|0;c=j-k>>2;g=j;if(l>>>0>c>>>0){P7(m,l-c|0);u=h;return}if(l>>>0>=c>>>0){u=h;return}c=k+(l<<2)|0;if((c|0)==(g|0)){u=h;return}f[o>>2]=g+(~((g+-4-c|0)>>>2)<<2);u=h;return}function Mma(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0;h=u;u=u+16|0;g=h;i=a+4|0;f[i>>2]=-1;f[i+4>>2]=-1;f[i+8>>2]=-1;f[i+12>>2]=-1;f[a>>2]=60920;j=a+20|0;k=a+24|0;l=a+32|0;m=a+44|0;n=a+48|0;o=j;q=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(q|0));f[a+12>>2]=f[d>>2];f[a+16>>2]=f[d+4>>2];d=f[c+40>>2]|0;r=f[d>>2]|0;f[i>>2]=f[d+4>>2];f[a+8>>2]=r;p[a+56>>3]=e;if((f[c>>2]&4095|0)!=6){f[g>>2]=0;f[g+4>>2]=0;o=JV(g,36)|0;a=240852;q=o+36|0;do{b[o>>0]=b[a>>0]|0;o=o+1|0;a=a+1|0}while((o|0)<(q|0));EP(-215,g,240889,233284,3887);KV(g)}Fma(c,j,l);l=(f[k>>2]|0)-(f[j>>2]|0)>>3;j=f[n>>2]|0;k=f[m>>2]|0;c=j-k>>2;g=j;if(l>>>0>c>>>0){P7(m,l-c|0);u=h;return}if(l>>>0>=c>>>0){u=h;return}c=k+(l<<2)|0;if((c|0)==(g|0)){u=h;return}f[n>>2]=g+(~((g+-4-c|0)>>>2)<<2);u=h;return}function Nma(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0;h=u;u=u+16|0;g=h;i=a+4|0;f[i>>2]=-1;f[i+4>>2]=-1;f[i+8>>2]=-1;f[i+12>>2]=-1;f[a>>2]=60896;j=a+20|0;k=a+24|0;l=a+32|0;m=a+44|0;o=a+48|0;p=j;q=p+36|0;do{f[p>>2]=0;p=p+4|0}while((p|0)<(q|0));f[a+12>>2]=f[d>>2];f[a+16>>2]=f[d+4>>2];d=f[c+40>>2]|0;r=f[d>>2]|0;f[i>>2]=f[d+4>>2];f[a+8>>2]=r;n[a+56>>2]=e;if((f[c>>2]&4095|0)!=5){f[g>>2]=0;f[g+4>>2]=0;p=JV(g,36)|0;a=240852;q=p+36|0;do{b[p>>0]=b[a>>0]|0;p=p+1|0;a=a+1|0}while((p|0)<(q|0));EP(-215,g,240889,233284,3887);KV(g)}Fma(c,j,l);l=(f[k>>2]|0)-(f[j>>2]|0)>>3;j=f[o>>2]|0;k=f[m>>2]|0;c=j-k>>2;g=j;if(l>>>0>c>>>0){P7(m,l-c|0);u=h;return}if(l>>>0>=c>>>0){u=h;return}c=k+(l<<2)|0;if((c|0)==(g|0)){u=h;return}f[o>>2]=g+(~((g+-4-c|0)>>>2)<<2);u=h;return}function Oma(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0;h=u;u=u+16|0;g=h;i=a+4|0;f[i>>2]=-1;f[i+4>>2]=-1;f[i+8>>2]=-1;f[i+12>>2]=-1;f[a>>2]=60872;j=a+20|0;k=a+24|0;l=a+32|0;m=a+44|0;o=a+48|0;p=j;q=p+36|0;do{f[p>>2]=0;p=p+4|0}while((p|0)<(q|0));f[a+12>>2]=f[d>>2];f[a+16>>2]=f[d+4>>2];d=f[c+40>>2]|0;r=f[d>>2]|0;f[i>>2]=f[d+4>>2];f[a+8>>2]=r;n[a+56>>2]=e;if((f[c>>2]&4095|0)!=5){f[g>>2]=0;f[g+4>>2]=0;p=JV(g,36)|0;a=240852;q=p+36|0;do{b[p>>0]=b[a>>0]|0;p=p+1|0;a=a+1|0}while((p|0)<(q|0));EP(-215,g,240889,233284,3887);KV(g)}Fma(c,j,l);l=(f[k>>2]|0)-(f[j>>2]|0)>>3;j=f[o>>2]|0;k=f[m>>2]|0;c=j-k>>2;g=j;if(l>>>0>c>>>0){P7(m,l-c|0);u=h;return}if(l>>>0>=c>>>0){u=h;return}c=k+(l<<2)|0;if((c|0)==(g|0)){u=h;return}f[o>>2]=g+(~((g+-4-c|0)>>>2)<<2);u=h;return}function Pma(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0;h=u;u=u+16|0;g=h;i=a+4|0;f[i>>2]=-1;f[i+4>>2]=-1;f[i+8>>2]=-1;f[i+12>>2]=-1;f[a>>2]=60848;j=a+20|0;k=a+24|0;l=a+32|0;m=a+44|0;n=a+48|0;o=j;q=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(q|0));f[a+12>>2]=f[d>>2];f[a+16>>2]=f[d+4>>2];d=f[c+40>>2]|0;r=f[d>>2]|0;f[i>>2]=f[d+4>>2];f[a+8>>2]=r;p[a+56>>3]=e;if((f[c>>2]&4095|0)!=6){f[g>>2]=0;f[g+4>>2]=0;o=JV(g,36)|0;a=240852;q=o+36|0;do{b[o>>0]=b[a>>0]|0;o=o+1|0;a=a+1|0}while((o|0)<(q|0));EP(-215,g,240889,233284,3887);KV(g)}Fma(c,j,l);l=(f[k>>2]|0)-(f[j>>2]|0)>>3;j=f[n>>2]|0;k=f[m>>2]|0;c=j-k>>2;g=j;if(l>>>0>c>>>0){P7(m,l-c|0);u=h;return}if(l>>>0>=c>>>0){u=h;return}c=k+(l<<2)|0;if((c|0)==(g|0)){u=h;return}f[n>>2]=g+(~((g+-4-c|0)>>>2)<<2);u=h;return}function Qma(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0;h=u;u=u+16|0;g=h;i=a+4|0;f[i>>2]=-1;f[i+4>>2]=-1;f[i+8>>2]=-1;f[i+12>>2]=-1;f[a>>2]=60824;j=a+20|0;k=a+24|0;l=a+32|0;m=a+44|0;o=a+48|0;p=j;q=p+36|0;do{f[p>>2]=0;p=p+4|0}while((p|0)<(q|0));f[a+12>>2]=f[d>>2];f[a+16>>2]=f[d+4>>2];d=f[c+40>>2]|0;r=f[d>>2]|0;f[i>>2]=f[d+4>>2];f[a+8>>2]=r;n[a+56>>2]=e;if((f[c>>2]&4095|0)!=5){f[g>>2]=0;f[g+4>>2]=0;p=JV(g,36)|0;a=240852;q=p+36|0;do{b[p>>0]=b[a>>0]|0;p=p+1|0;a=a+1|0}while((p|0)<(q|0));EP(-215,g,240889,233284,3887);KV(g)}Fma(c,j,l);l=(f[k>>2]|0)-(f[j>>2]|0)>>3;j=f[o>>2]|0;k=f[m>>2]|0;c=j-k>>2;g=j;if(l>>>0>c>>>0){P7(m,l-c|0);u=h;return}if(l>>>0>=c>>>0){u=h;return}c=k+(l<<2)|0;if((c|0)==(g|0)){u=h;return}f[o>>2]=g+(~((g+-4-c|0)>>>2)<<2);u=h;return}function Rma(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0;h=u;u=u+16|0;g=h;i=a+4|0;f[i>>2]=-1;f[i+4>>2]=-1;f[i+8>>2]=-1;f[i+12>>2]=-1;f[a>>2]=60800;j=a+20|0;k=a+24|0;l=a+32|0;m=a+44|0;o=a+48|0;p=j;q=p+36|0;do{f[p>>2]=0;p=p+4|0}while((p|0)<(q|0));f[a+12>>2]=f[d>>2];f[a+16>>2]=f[d+4>>2];d=f[c+40>>2]|0;r=f[d>>2]|0;f[i>>2]=f[d+4>>2];f[a+8>>2]=r;n[a+56>>2]=e;if((f[c>>2]&4095|0)!=5){f[g>>2]=0;f[g+4>>2]=0;p=JV(g,36)|0;a=240852;q=p+36|0;do{b[p>>0]=b[a>>0]|0;p=p+1|0;a=a+1|0}while((p|0)<(q|0));EP(-215,g,240889,233284,3887);KV(g)}Fma(c,j,l);l=(f[k>>2]|0)-(f[j>>2]|0)>>3;j=f[o>>2]|0;k=f[m>>2]|0;c=j-k>>2;g=j;if(l>>>0>c>>>0){P7(m,l-c|0);u=h;return}if(l>>>0>=c>>>0){u=h;return}c=k+(l<<2)|0;if((c|0)==(g|0)){u=h;return}f[o>>2]=g+(~((g+-4-c|0)>>>2)<<2);u=h;return}function Sma(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0;h=u;u=u+16|0;g=h;i=a+4|0;f[i>>2]=-1;f[i+4>>2]=-1;f[i+8>>2]=-1;f[i+12>>2]=-1;f[a>>2]=60776;j=a+20|0;k=a+24|0;l=a+32|0;m=a+44|0;n=a+48|0;o=j;q=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(q|0));f[a+12>>2]=f[d>>2];f[a+16>>2]=f[d+4>>2];d=f[c+40>>2]|0;r=f[d>>2]|0;f[i>>2]=f[d+4>>2];f[a+8>>2]=r;p[a+56>>3]=e;if((f[c>>2]&4095|0)!=6){f[g>>2]=0;f[g+4>>2]=0;o=JV(g,36)|0;a=240852;q=o+36|0;do{b[o>>0]=b[a>>0]|0;o=o+1|0;a=a+1|0}while((o|0)<(q|0));EP(-215,g,240889,233284,3887);KV(g)}Fma(c,j,l);l=(f[k>>2]|0)-(f[j>>2]|0)>>3;j=f[n>>2]|0;k=f[m>>2]|0;c=j-k>>2;g=j;if(l>>>0>c>>>0){P7(m,l-c|0);u=h;return}if(l>>>0>=c>>>0){u=h;return}c=k+(l<<2)|0;if((c|0)==(g|0)){u=h;return}f[n>>2]=g+(~((g+-4-c|0)>>>2)<<2);u=h;return}function Tma(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0;h=u;u=u+16|0;g=h;i=a+4|0;f[i>>2]=-1;f[i+4>>2]=-1;f[i+8>>2]=-1;f[i+12>>2]=-1;f[a>>2]=60752;j=a+20|0;k=a+24|0;l=a+32|0;m=a+44|0;o=a+48|0;p=j;q=p+36|0;do{f[p>>2]=0;p=p+4|0}while((p|0)<(q|0));f[a+12>>2]=f[d>>2];f[a+16>>2]=f[d+4>>2];d=f[c+40>>2]|0;r=f[d>>2]|0;f[i>>2]=f[d+4>>2];f[a+8>>2]=r;n[a+56>>2]=e;if((f[c>>2]&4095|0)!=5){f[g>>2]=0;f[g+4>>2]=0;p=JV(g,36)|0;a=240852;q=p+36|0;do{b[p>>0]=b[a>>0]|0;p=p+1|0;a=a+1|0}while((p|0)<(q|0));EP(-215,g,240889,233284,3887);KV(g)}Fma(c,j,l);l=(f[k>>2]|0)-(f[j>>2]|0)>>3;j=f[o>>2]|0;k=f[m>>2]|0;c=j-k>>2;g=j;if(l>>>0>c>>>0){P7(m,l-c|0);u=h;return}if(l>>>0>=c>>>0){u=h;return}c=k+(l<<2)|0;if((c|0)==(g|0)){u=h;return}f[o>>2]=g+(~((g+-4-c|0)>>>2)<<2);u=h;return}function Uma(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0;h=u;u=u+16|0;g=h;i=a+4|0;f[i>>2]=-1;f[i+4>>2]=-1;f[i+8>>2]=-1;f[i+12>>2]=-1;f[a>>2]=60728;j=a+20|0;k=a+24|0;l=a+32|0;m=a+44|0;n=a+48|0;o=j;q=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(q|0));f[a+12>>2]=f[d>>2];f[a+16>>2]=f[d+4>>2];d=f[c+40>>2]|0;r=f[d>>2]|0;f[i>>2]=f[d+4>>2];f[a+8>>2]=r;p[a+56>>3]=e;if((f[c>>2]&4095|0)!=6){f[g>>2]=0;f[g+4>>2]=0;o=JV(g,36)|0;a=240852;q=o+36|0;do{b[o>>0]=b[a>>0]|0;o=o+1|0;a=a+1|0}while((o|0)<(q|0));EP(-215,g,240889,233284,3887);KV(g)}Fma(c,j,l);l=(f[k>>2]|0)-(f[j>>2]|0)>>3;j=f[n>>2]|0;k=f[m>>2]|0;c=j-k>>2;g=j;if(l>>>0>c>>>0){P7(m,l-c|0);u=h;return}if(l>>>0>=c>>>0){u=h;return}c=k+(l<<2)|0;if((c|0)==(g|0)){u=h;return}f[n>>2]=g+(~((g+-4-c|0)>>>2)<<2);u=h;return}function Vma(a){a=a|0;GQa(a);return}function Wma(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function Xma(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=60728;b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;GQa(b)}b=f[a+20>>2]|0;if(!b)return;d=a+24|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-8-b|0)>>>3)<<3);GQa(b);return}function Yma(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=60728;b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;GQa(b)}b=f[a+20>>2]|0;if(!b){GQa(a);return}d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-8-b|0)>>>3)<<3);GQa(b);GQa(a);return}function Zma(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0;i=+p[a+56>>3];j=f[a+20>>2]|0;k=f[a+32>>2]|0;l=f[a+44>>2]|0;m=(f[a+24>>2]|0)-j|0;a=m>>3;n=X(h,g)|0;if((e|0)<=0)return;g=(m|0)>0;m=n+-4|0;o=(n|0)<4;q=n&-4;r=b;b=c;c=e;while(1){if(g){e=0;do{s=(f[r+(f[j+(e<<3)+4>>2]<<2)>>2]|0)+((X(f[j+(e<<3)>>2]|0,h)|0)<<3)|0;f[l+(e<<2)>>2]=s;e=e+1|0}while((e|0)<(a|0))}a:do if(o)t=0;else{if(g)u=0;else{e=0;while(1){p[b+(e<<3)>>3]=i;p[b+((e|1)<<3)>>3]=i;p[b+((e|2)<<3)>>3]=i;p[b+((e|3)<<3)>>3]=i;e=e+4|0;if((e|0)>(m|0)){t=q;break a}}}do{v=i;w=i;x=i;y=i;e=0;do{s=(f[l+(e<<2)>>2]|0)+(u<<3)|0;z=+p[k+(e<<3)>>3];y=y+z*+p[s>>3];x=x+z*+p[s+8>>3];w=w+z*+p[s+16>>3];v=v+z*+p[s+24>>3];e=e+1|0}while((e|0)<(a|0));p[b+(u<<3)>>3]=y;p[b+((u|1)<<3)>>3]=x;p[b+((u|2)<<3)>>3]=w;p[b+((u|3)<<3)>>3]=v;u=u+4|0}while((u|0)<=(m|0));t=q}while(0);b:do if((t|0)<(n|0)){if(g)A=t;else{e=t;while(1){p[b+(e<<3)>>3]=i;e=e+1|0;if((e|0)==(n|0))break b}}do{z=i;e=0;do{z=z+ +p[k+(e<<3)>>3]*+p[(f[l+(e<<2)>>2]|0)+(A<<3)>>3];e=e+1|0}while((e|0)<(a|0));p[b+(A<<3)>>3]=z;A=A+1|0}while((A|0)!=(n|0))}while(0);if((c|0)>1){r=r+4|0;b=b+d|0;c=c+-1|0}else break}return}function _ma(a){a=a|0;GQa(a);return}function $ma(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function ana(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=60752;b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;GQa(b)}b=f[a+20>>2]|0;if(!b)return;d=a+24|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-8-b|0)>>>3)<<3);GQa(b);return}function bna(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=60752;b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;GQa(b)}b=f[a+20>>2]|0;if(!b){GQa(a);return}d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-8-b|0)>>>3)<<3);GQa(b);GQa(a);return}function cna(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0.0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0;i=+n[a+56>>2];j=f[a+20>>2]|0;k=f[a+32>>2]|0;l=f[a+44>>2]|0;m=(f[a+24>>2]|0)-j|0;a=m>>3;o=X(h,g)|0;if((e|0)<=0)return;g=(m|0)>0;m=o+-4|0;p=(o|0)<4;q=o&-4;r=b;b=c;c=e;while(1){if(g){e=0;do{s=(f[r+(f[j+(e<<3)+4>>2]<<2)>>2]|0)+((X(f[j+(e<<3)>>2]|0,h)|0)<<2)|0;f[l+(e<<2)>>2]=s;e=e+1|0}while((e|0)<(a|0))}a:do if(p)t=0;else{if(g)u=0;else{e=0;while(1){n[b+(e<<2)>>2]=i;n[b+((e|1)<<2)>>2]=i;n[b+((e|2)<<2)>>2]=i;n[b+((e|3)<<2)>>2]=i;e=e+4|0;if((e|0)>(m|0)){t=q;break a}}}do{v=i;w=i;x=i;y=i;e=0;do{s=(f[l+(e<<2)>>2]|0)+(u<<2)|0;z=+n[k+(e<<2)>>2];y=y+z*+n[s>>2];x=x+z*+n[s+4>>2];w=w+z*+n[s+8>>2];v=v+z*+n[s+12>>2];e=e+1|0}while((e|0)<(a|0));n[b+(u<<2)>>2]=y;n[b+((u|1)<<2)>>2]=x;n[b+((u|2)<<2)>>2]=w;n[b+((u|3)<<2)>>2]=v;u=u+4|0}while((u|0)<=(m|0));t=q}while(0);b:do if((t|0)<(o|0)){if(g)A=t;else{e=t;while(1){n[b+(e<<2)>>2]=i;e=e+1|0;if((e|0)==(o|0))break b}}do{z=i;e=0;do{z=z+ +n[k+(e<<2)>>2]*+n[(f[l+(e<<2)>>2]|0)+(A<<2)>>2];e=e+1|0}while((e|0)<(a|0));n[b+(A<<2)>>2]=z;A=A+1|0}while((A|0)!=(o|0))}while(0);if((c|0)>1){r=r+4|0;b=b+d|0;c=c+-1|0}else break}return}function dna(a){a=a|0;GQa(a);return}function ena(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function fna(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=60776;b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;GQa(b)}b=f[a+20>>2]|0;if(!b)return;d=a+24|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-8-b|0)>>>3)<<3);GQa(b);return}function gna(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=60776;b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;GQa(b)}b=f[a+20>>2]|0;if(!b){GQa(a);return}d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-8-b|0)>>>3)<<3);GQa(b);GQa(a);return}function hna(a,b,c,e,g,h,i){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0.0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0;j=+p[a+56>>3];k=f[a+20>>2]|0;l=f[a+32>>2]|0;m=f[a+44>>2]|0;n=(f[a+24>>2]|0)-k|0;a=n>>3;o=X(i,h)|0;if((g|0)<=0)return;h=(n|0)>0;n=o+-4|0;q=(o|0)<4;r=o&-4;s=b;b=c;c=g;while(1){if(h){g=0;do{t=(f[s+(f[k+(g<<3)+4>>2]<<2)>>2]|0)+((X(f[k+(g<<3)>>2]|0,i)|0)<<1)|0;f[m+(g<<2)>>2]=t;g=g+1|0}while((g|0)<(a|0))}a:do if(q)u=0;else{if(h)v=0;else{g=0;while(1){p[b+(g<<3)>>3]=j;p[b+((g|1)<<3)>>3]=j;p[b+((g|2)<<3)>>3]=j;p[b+((g|3)<<3)>>3]=j;g=g+4|0;if((g|0)>(n|0)){u=r;break a}}}do{w=j;x=j;y=j;z=j;g=0;do{t=(f[m+(g<<2)>>2]|0)+(v<<1)|0;A=+p[l+(g<<3)>>3];z=z+A*+(d[t>>1]|0);y=y+A*+(d[t+2>>1]|0);x=x+A*+(d[t+4>>1]|0);w=w+A*+(d[t+6>>1]|0);g=g+1|0}while((g|0)<(a|0));p[b+(v<<3)>>3]=z;p[b+((v|1)<<3)>>3]=y;p[b+((v|2)<<3)>>3]=x;p[b+((v|3)<<3)>>3]=w;v=v+4|0}while((v|0)<=(n|0));u=r}while(0);b:do if((u|0)<(o|0)){if(h)B=u;else{g=u;while(1){p[b+(g<<3)>>3]=j;g=g+1|0;if((g|0)==(o|0))break b}}do{A=j;g=0;do{A=A+ +p[l+(g<<3)>>3]*+(d[(f[m+(g<<2)>>2]|0)+(B<<1)>>1]|0);g=g+1|0}while((g|0)<(a|0));p[b+(B<<3)>>3]=A;B=B+1|0}while((B|0)!=(o|0))}while(0);if((c|0)>1){s=s+4|0;b=b+e|0;c=c+-1|0}else break}return}function ina(a){a=a|0;GQa(a);return}function jna(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function kna(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=60800;b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;GQa(b)}b=f[a+20>>2]|0;if(!b)return;d=a+24|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-8-b|0)>>>3)<<3);GQa(b);return}function lna(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=60800;b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;GQa(b)}b=f[a+20>>2]|0;if(!b){GQa(a);return}d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-8-b|0)>>>3)<<3);GQa(b);GQa(a);return}function mna(a,b,c,e,g,h,i){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0.0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0;j=+n[a+56>>2];k=f[a+20>>2]|0;l=f[a+32>>2]|0;m=f[a+44>>2]|0;o=(f[a+24>>2]|0)-k|0;a=o>>3;p=X(i,h)|0;if((g|0)<=0)return;h=(o|0)>0;o=p+-4|0;q=(p|0)<4;r=p&-4;s=b;b=c;c=g;while(1){if(h){g=0;do{t=(f[s+(f[k+(g<<3)+4>>2]<<2)>>2]|0)+((X(f[k+(g<<3)>>2]|0,i)|0)<<1)|0;f[m+(g<<2)>>2]=t;g=g+1|0}while((g|0)<(a|0))}a:do if(q)u=0;else{if(h)v=0;else{g=0;while(1){n[b+(g<<2)>>2]=j;n[b+((g|1)<<2)>>2]=j;n[b+((g|2)<<2)>>2]=j;n[b+((g|3)<<2)>>2]=j;g=g+4|0;if((g|0)>(o|0)){u=r;break a}}}do{w=j;x=j;y=j;z=j;g=0;do{t=(f[m+(g<<2)>>2]|0)+(v<<1)|0;A=+n[l+(g<<2)>>2];z=z+A*+(d[t>>1]|0);y=y+A*+(d[t+2>>1]|0);x=x+A*+(d[t+4>>1]|0);w=w+A*+(d[t+6>>1]|0);g=g+1|0}while((g|0)<(a|0));n[b+(v<<2)>>2]=z;n[b+((v|1)<<2)>>2]=y;n[b+((v|2)<<2)>>2]=x;n[b+((v|3)<<2)>>2]=w;v=v+4|0}while((v|0)<=(o|0));u=r}while(0);b:do if((u|0)<(p|0)){if(h)B=u;else{g=u;while(1){n[b+(g<<2)>>2]=j;g=g+1|0;if((g|0)==(p|0))break b}}do{A=j;g=0;do{A=A+ +n[l+(g<<2)>>2]*+(d[(f[m+(g<<2)>>2]|0)+(B<<1)>>1]|0);g=g+1|0}while((g|0)<(a|0));n[b+(B<<2)>>2]=A;B=B+1|0}while((B|0)!=(p|0))}while(0);if((c|0)>1){s=s+4|0;b=b+e|0;c=c+-1|0}else break}return}function nna(a){a=a|0;GQa(a);return}function ona(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function pna(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=60824;b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;GQa(b)}b=f[a+20>>2]|0;if(!b)return;d=a+24|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-8-b|0)>>>3)<<3);GQa(b);return}function qna(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=60824;b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;GQa(b)}b=f[a+20>>2]|0;if(!b){GQa(a);return}d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-8-b|0)>>>3)<<3);GQa(b);GQa(a);return}function rna(a,b,c,e,g,h,i){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0.0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0;j=+n[a+56>>2];k=f[a+20>>2]|0;l=f[a+32>>2]|0;m=f[a+44>>2]|0;o=(f[a+24>>2]|0)-k|0;a=o>>3;p=X(i,h)|0;if((g|0)<=0)return;h=(o|0)>0;o=p+-4|0;q=(p|0)<4;r=p&-4;s=b;b=c;c=g;while(1){if(h){g=0;do{t=(f[s+(f[k+(g<<3)+4>>2]<<2)>>2]|0)+((X(f[k+(g<<3)>>2]|0,i)|0)<<1)|0;f[m+(g<<2)>>2]=t;g=g+1|0}while((g|0)<(a|0))}a:do if(q)u=0;else{if(h)v=0;else{g=HEa(j)|0;t=((g+32768|0)>>>0<65536?g:(g|0)>0?32767:32768)&65535;g=0;while(1){d[b+(g<<1)>>1]=t;d[b+((g|1)<<1)>>1]=t;d[b+((g|2)<<1)>>1]=t;d[b+((g|3)<<1)>>1]=t;g=g+4|0;if((g|0)>(o|0)){u=r;break a}}}do{w=j;x=j;y=j;z=j;g=0;do{t=(f[m+(g<<2)>>2]|0)+(v<<1)|0;A=+n[l+(g<<2)>>2];z=z+A*+(d[t>>1]|0);y=y+A*+(d[t+2>>1]|0);x=x+A*+(d[t+4>>1]|0);w=w+A*+(d[t+6>>1]|0);g=g+1|0}while((g|0)<(a|0));g=HEa(z)|0;d[b+(v<<1)>>1]=(g+32768|0)>>>0<65536?g:(g|0)>0?32767:32768;g=HEa(y)|0;d[b+((v|1)<<1)>>1]=(g+32768|0)>>>0<65536?g:(g|0)>0?32767:32768;g=HEa(x)|0;d[b+((v|2)<<1)>>1]=(g+32768|0)>>>0<65536?g:(g|0)>0?32767:32768;g=HEa(w)|0;d[b+((v|3)<<1)>>1]=(g+32768|0)>>>0<65536?g:(g|0)>0?32767:32768;v=v+4|0}while((v|0)<=(o|0));u=r}while(0);b:do if((u|0)<(p|0)){if(h)B=u;else{g=HEa(j)|0;t=((g+32768|0)>>>0<65536?g:(g|0)>0?32767:32768)&65535;g=u;while(1){d[b+(g<<1)>>1]=t;g=g+1|0;if((g|0)==(p|0))break b}}do{A=j;g=0;do{A=A+ +n[l+(g<<2)>>2]*+(d[(f[m+(g<<2)>>2]|0)+(B<<1)>>1]|0);g=g+1|0}while((g|0)<(a|0));g=HEa(A)|0;d[b+(B<<1)>>1]=(g+32768|0)>>>0<65536?g:(g|0)>0?32767:32768;B=B+1|0}while((B|0)!=(p|0))}while(0);if((c|0)>1){s=s+4|0;b=b+e|0;c=c+-1|0}else break}return}function sna(a){a=a|0;GQa(a);return}function tna(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function una(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=60848;b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;GQa(b)}b=f[a+20>>2]|0;if(!b)return;d=a+24|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-8-b|0)>>>3)<<3);GQa(b);return}function vna(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=60848;b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;GQa(b)}b=f[a+20>>2]|0;if(!b){GQa(a);return}d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-8-b|0)>>>3)<<3);GQa(b);GQa(a);return}function wna(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0.0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0;i=+p[a+56>>3];k=f[a+20>>2]|0;l=f[a+32>>2]|0;m=f[a+44>>2]|0;n=(f[a+24>>2]|0)-k|0;a=n>>3;o=X(h,g)|0;if((e|0)<=0)return;g=(n|0)>0;n=o+-4|0;q=(o|0)<4;r=o&-4;s=b;b=c;c=e;while(1){if(g){e=0;do{t=(f[s+(f[k+(e<<3)+4>>2]<<2)>>2]|0)+((X(f[k+(e<<3)>>2]|0,h)|0)<<1)|0;f[m+(e<<2)>>2]=t;e=e+1|0}while((e|0)<(a|0))}a:do if(q)u=0;else{if(g)v=0;else{e=0;while(1){p[b+(e<<3)>>3]=i;p[b+((e|1)<<3)>>3]=i;p[b+((e|2)<<3)>>3]=i;p[b+((e|3)<<3)>>3]=i;e=e+4|0;if((e|0)>(n|0)){u=r;break a}}}do{w=i;x=i;y=i;z=i;e=0;do{t=(f[m+(e<<2)>>2]|0)+(v<<1)|0;A=+p[l+(e<<3)>>3];z=z+A*+(j[t>>1]|0);y=y+A*+(j[t+2>>1]|0);x=x+A*+(j[t+4>>1]|0);w=w+A*+(j[t+6>>1]|0);e=e+1|0}while((e|0)<(a|0));p[b+(v<<3)>>3]=z;p[b+((v|1)<<3)>>3]=y;p[b+((v|2)<<3)>>3]=x;p[b+((v|3)<<3)>>3]=w;v=v+4|0}while((v|0)<=(n|0));u=r}while(0);b:do if((u|0)<(o|0)){if(g)B=u;else{e=u;while(1){p[b+(e<<3)>>3]=i;e=e+1|0;if((e|0)==(o|0))break b}}do{A=i;e=0;do{A=A+ +p[l+(e<<3)>>3]*+(j[(f[m+(e<<2)>>2]|0)+(B<<1)>>1]|0);e=e+1|0}while((e|0)<(a|0));p[b+(B<<3)>>3]=A;B=B+1|0}while((B|0)!=(o|0))}while(0);if((c|0)>1){s=s+4|0;b=b+d|0;c=c+-1|0}else break}return}function xna(a){a=a|0;GQa(a);return}function yna(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function zna(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=60872;b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;GQa(b)}b=f[a+20>>2]|0;if(!b)return;d=a+24|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-8-b|0)>>>3)<<3);GQa(b);return}function Ana(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=60872;b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;GQa(b)}b=f[a+20>>2]|0;if(!b){GQa(a);return}d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-8-b|0)>>>3)<<3);GQa(b);GQa(a);return}function Bna(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0.0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0;i=+n[a+56>>2];k=f[a+20>>2]|0;l=f[a+32>>2]|0;m=f[a+44>>2]|0;o=(f[a+24>>2]|0)-k|0;a=o>>3;p=X(h,g)|0;if((e|0)<=0)return;g=(o|0)>0;o=p+-4|0;q=(p|0)<4;r=p&-4;s=b;b=c;c=e;while(1){if(g){e=0;do{t=(f[s+(f[k+(e<<3)+4>>2]<<2)>>2]|0)+((X(f[k+(e<<3)>>2]|0,h)|0)<<1)|0;f[m+(e<<2)>>2]=t;e=e+1|0}while((e|0)<(a|0))}a:do if(q)u=0;else{if(g)v=0;else{e=0;while(1){n[b+(e<<2)>>2]=i;n[b+((e|1)<<2)>>2]=i;n[b+((e|2)<<2)>>2]=i;n[b+((e|3)<<2)>>2]=i;e=e+4|0;if((e|0)>(o|0)){u=r;break a}}}do{w=i;x=i;y=i;z=i;e=0;do{t=(f[m+(e<<2)>>2]|0)+(v<<1)|0;A=+n[l+(e<<2)>>2];z=z+A*+(j[t>>1]|0);y=y+A*+(j[t+2>>1]|0);x=x+A*+(j[t+4>>1]|0);w=w+A*+(j[t+6>>1]|0);e=e+1|0}while((e|0)<(a|0));n[b+(v<<2)>>2]=z;n[b+((v|1)<<2)>>2]=y;n[b+((v|2)<<2)>>2]=x;n[b+((v|3)<<2)>>2]=w;v=v+4|0}while((v|0)<=(o|0));u=r}while(0);b:do if((u|0)<(p|0)){if(g)B=u;else{e=u;while(1){n[b+(e<<2)>>2]=i;e=e+1|0;if((e|0)==(p|0))break b}}do{A=i;e=0;do{A=A+ +n[l+(e<<2)>>2]*+(j[(f[m+(e<<2)>>2]|0)+(B<<1)>>1]|0);e=e+1|0}while((e|0)<(a|0));n[b+(B<<2)>>2]=A;B=B+1|0}while((B|0)!=(p|0))}while(0);if((c|0)>1){s=s+4|0;b=b+d|0;c=c+-1|0}else break}return}function Cna(a){a=a|0;GQa(a);return}function Dna(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function Ena(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=60896;b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;GQa(b)}b=f[a+20>>2]|0;if(!b)return;d=a+24|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-8-b|0)>>>3)<<3);GQa(b);return}function Fna(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=60896;b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;GQa(b)}b=f[a+20>>2]|0;if(!b){GQa(a);return}d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-8-b|0)>>>3)<<3);GQa(b);GQa(a);return}function Gna(a,b,c,e,g,h,i){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var k=0.0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0;k=+n[a+56>>2];l=f[a+20>>2]|0;m=f[a+32>>2]|0;o=f[a+44>>2]|0;p=(f[a+24>>2]|0)-l|0;a=p>>3;q=X(i,h)|0;if((g|0)<=0)return;h=(p|0)>0;p=q+-4|0;r=(q|0)<4;s=q&-4;t=b;b=c;c=g;while(1){if(h){g=0;do{u=(f[t+(f[l+(g<<3)+4>>2]<<2)>>2]|0)+((X(f[l+(g<<3)>>2]|0,i)|0)<<1)|0;f[o+(g<<2)>>2]=u;g=g+1|0}while((g|0)<(a|0))}a:do if(r)v=0;else{if(h)w=0;else{g=HEa(k)|0;u=(g>>>0<65536?g:(g|0)>0?65535:0)&65535;g=0;while(1){d[b+(g<<1)>>1]=u;d[b+((g|1)<<1)>>1]=u;d[b+((g|2)<<1)>>1]=u;d[b+((g|3)<<1)>>1]=u;g=g+4|0;if((g|0)>(p|0)){v=s;break a}}}do{x=k;y=k;z=k;A=k;g=0;do{u=(f[o+(g<<2)>>2]|0)+(w<<1)|0;B=+n[m+(g<<2)>>2];A=A+B*+(j[u>>1]|0);z=z+B*+(j[u+2>>1]|0);y=y+B*+(j[u+4>>1]|0);x=x+B*+(j[u+6>>1]|0);g=g+1|0}while((g|0)<(a|0));g=HEa(A)|0;d[b+(w<<1)>>1]=g>>>0<65536?g:(g|0)>0?65535:0;g=HEa(z)|0;d[b+((w|1)<<1)>>1]=g>>>0<65536?g:(g|0)>0?65535:0;g=HEa(y)|0;d[b+((w|2)<<1)>>1]=g>>>0<65536?g:(g|0)>0?65535:0;g=HEa(x)|0;d[b+((w|3)<<1)>>1]=g>>>0<65536?g:(g|0)>0?65535:0;w=w+4|0}while((w|0)<=(p|0));v=s}while(0);b:do if((v|0)<(q|0)){if(h)C=v;else{g=HEa(k)|0;u=(g>>>0<65536?g:(g|0)>0?65535:0)&65535;g=v;while(1){d[b+(g<<1)>>1]=u;g=g+1|0;if((g|0)==(q|0))break b}}do{B=k;g=0;do{B=B+ +n[m+(g<<2)>>2]*+(j[(f[o+(g<<2)>>2]|0)+(C<<1)>>1]|0);g=g+1|0}while((g|0)<(a|0));g=HEa(B)|0;d[b+(C<<1)>>1]=g>>>0<65536?g:(g|0)>0?65535:0;C=C+1|0}while((C|0)!=(q|0))}while(0);if((c|0)>1){t=t+4|0;b=b+e|0;c=c+-1|0}else break}return}function Hna(a){a=a|0;GQa(a);return}function Ina(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function Jna(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=60920;b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;GQa(b)}b=f[a+20>>2]|0;if(!b)return;d=a+24|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-8-b|0)>>>3)<<3);GQa(b);return}function Kna(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=60920;b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;GQa(b)}b=f[a+20>>2]|0;if(!b){GQa(a);return}d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-8-b|0)>>>3)<<3);GQa(b);GQa(a);return}function Lna(a,b,c,d,e,g,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0.0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0;j=+p[a+56>>3];k=f[a+20>>2]|0;l=f[a+32>>2]|0;m=f[a+44>>2]|0;n=(f[a+24>>2]|0)-k|0;a=n>>3;o=X(i,g)|0;if((e|0)<=0)return;g=(n|0)>0;n=o+-4|0;q=(o|0)<4;r=o&-4;s=b;b=c;c=e;while(1){if(g){e=0;do{t=(f[s+(f[k+(e<<3)+4>>2]<<2)>>2]|0)+(X(f[k+(e<<3)>>2]|0,i)|0)|0;f[m+(e<<2)>>2]=t;e=e+1|0}while((e|0)<(a|0))}a:do if(q)u=0;else{if(g)v=0;else{e=0;while(1){p[b+(e<<3)>>3]=j;p[b+((e|1)<<3)>>3]=j;p[b+((e|2)<<3)>>3]=j;p[b+((e|3)<<3)>>3]=j;e=e+4|0;if((e|0)>(n|0)){u=r;break a}}}do{w=j;x=j;y=j;z=j;e=0;do{t=(f[m+(e<<2)>>2]|0)+v|0;A=+p[l+(e<<3)>>3];z=z+A*+(h[t>>0]|0);y=y+A*+(h[t+1>>0]|0);x=x+A*+(h[t+2>>0]|0);w=w+A*+(h[t+3>>0]|0);e=e+1|0}while((e|0)<(a|0));p[b+(v<<3)>>3]=z;p[b+((v|1)<<3)>>3]=y;p[b+((v|2)<<3)>>3]=x;p[b+((v|3)<<3)>>3]=w;v=v+4|0}while((v|0)<=(n|0));u=r}while(0);b:do if((u|0)<(o|0)){if(g)B=u;else{e=u;while(1){p[b+(e<<3)>>3]=j;e=e+1|0;if((e|0)==(o|0))break b}}do{A=j;e=0;do{A=A+ +p[l+(e<<3)>>3]*+(h[(f[m+(e<<2)>>2]|0)+B>>0]|0);e=e+1|0}while((e|0)<(a|0));p[b+(B<<3)>>3]=A;B=B+1|0}while((B|0)!=(o|0))}while(0);if((c|0)>1){s=s+4|0;b=b+d|0;c=c+-1|0}else break}return}function Mna(a){a=a|0;GQa(a);return}function Nna(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function Ona(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=60944;b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;GQa(b)}b=f[a+20>>2]|0;if(!b)return;d=a+24|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-8-b|0)>>>3)<<3);GQa(b);return}function Pna(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=60944;b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;GQa(b)}b=f[a+20>>2]|0;if(!b){GQa(a);return}d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-8-b|0)>>>3)<<3);GQa(b);GQa(a);return}function Qna(a,b,c,d,e,g,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0.0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0;j=+n[a+56>>2];k=f[a+20>>2]|0;l=f[a+32>>2]|0;m=f[a+44>>2]|0;o=(f[a+24>>2]|0)-k|0;a=o>>3;p=X(i,g)|0;if((e|0)<=0)return;g=(o|0)>0;o=p+-4|0;q=(p|0)<4;r=p&-4;s=b;b=c;c=e;while(1){if(g){e=0;do{t=(f[s+(f[k+(e<<3)+4>>2]<<2)>>2]|0)+(X(f[k+(e<<3)>>2]|0,i)|0)|0;f[m+(e<<2)>>2]=t;e=e+1|0}while((e|0)<(a|0))}a:do if(q)u=0;else{if(g)v=0;else{e=0;while(1){n[b+(e<<2)>>2]=j;n[b+((e|1)<<2)>>2]=j;n[b+((e|2)<<2)>>2]=j;n[b+((e|3)<<2)>>2]=j;e=e+4|0;if((e|0)>(o|0)){u=r;break a}}}do{w=j;x=j;y=j;z=j;e=0;do{t=(f[m+(e<<2)>>2]|0)+v|0;A=+n[l+(e<<2)>>2];z=z+A*+(h[t>>0]|0);y=y+A*+(h[t+1>>0]|0);x=x+A*+(h[t+2>>0]|0);w=w+A*+(h[t+3>>0]|0);e=e+1|0}while((e|0)<(a|0));n[b+(v<<2)>>2]=z;n[b+((v|1)<<2)>>2]=y;n[b+((v|2)<<2)>>2]=x;n[b+((v|3)<<2)>>2]=w;v=v+4|0}while((v|0)<=(o|0));u=r}while(0);b:do if((u|0)<(p|0)){if(g)B=u;else{e=u;while(1){n[b+(e<<2)>>2]=j;e=e+1|0;if((e|0)==(p|0))break b}}do{A=j;e=0;do{A=A+ +n[l+(e<<2)>>2]*+(h[(f[m+(e<<2)>>2]|0)+B>>0]|0);e=e+1|0}while((e|0)<(a|0));n[b+(B<<2)>>2]=A;B=B+1|0}while((B|0)!=(p|0))}while(0);if((c|0)>1){s=s+4|0;b=b+d|0;c=c+-1|0}else break}return}function Rna(a){a=a|0;GQa(a);return}function Sna(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function Tna(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=60968;b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;GQa(b)}b=f[a+20>>2]|0;if(!b)return;d=a+24|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-8-b|0)>>>3)<<3);GQa(b);return}function Una(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=60968;b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;GQa(b)}b=f[a+20>>2]|0;if(!b){GQa(a);return}d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-8-b|0)>>>3)<<3);GQa(b);GQa(a);return}function Vna(a,b,c,e,g,i,j){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;i=i|0;j=j|0;var k=0.0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0;k=+n[a+56>>2];l=f[a+20>>2]|0;m=f[a+32>>2]|0;o=f[a+44>>2]|0;p=(f[a+24>>2]|0)-l|0;a=p>>3;q=X(j,i)|0;if((g|0)<=0)return;i=(p|0)>0;p=q+-4|0;r=(q|0)<4;s=q&-4;t=b;b=c;c=g;while(1){if(i){g=0;do{u=(f[t+(f[l+(g<<3)+4>>2]<<2)>>2]|0)+(X(f[l+(g<<3)>>2]|0,j)|0)|0;f[o+(g<<2)>>2]=u;g=g+1|0}while((g|0)<(a|0))}a:do if(r)v=0;else{if(i)w=0;else{g=HEa(k)|0;u=((g+32768|0)>>>0<65536?g:(g|0)>0?32767:32768)&65535;g=0;while(1){d[b+(g<<1)>>1]=u;d[b+((g|1)<<1)>>1]=u;d[b+((g|2)<<1)>>1]=u;d[b+((g|3)<<1)>>1]=u;g=g+4|0;if((g|0)>(p|0)){v=s;break a}}}do{x=k;y=k;z=k;A=k;g=0;do{u=(f[o+(g<<2)>>2]|0)+w|0;B=+n[m+(g<<2)>>2];A=A+B*+(h[u>>0]|0);z=z+B*+(h[u+1>>0]|0);y=y+B*+(h[u+2>>0]|0);x=x+B*+(h[u+3>>0]|0);g=g+1|0}while((g|0)<(a|0));g=HEa(A)|0;d[b+(w<<1)>>1]=(g+32768|0)>>>0<65536?g:(g|0)>0?32767:32768;g=HEa(z)|0;d[b+((w|1)<<1)>>1]=(g+32768|0)>>>0<65536?g:(g|0)>0?32767:32768;g=HEa(y)|0;d[b+((w|2)<<1)>>1]=(g+32768|0)>>>0<65536?g:(g|0)>0?32767:32768;g=HEa(x)|0;d[b+((w|3)<<1)>>1]=(g+32768|0)>>>0<65536?g:(g|0)>0?32767:32768;w=w+4|0}while((w|0)<=(p|0));v=s}while(0);b:do if((v|0)<(q|0)){if(i)C=v;else{g=HEa(k)|0;u=((g+32768|0)>>>0<65536?g:(g|0)>0?32767:32768)&65535;g=v;while(1){d[b+(g<<1)>>1]=u;g=g+1|0;if((g|0)==(q|0))break b}}do{B=k;g=0;do{B=B+ +n[m+(g<<2)>>2]*+(h[(f[o+(g<<2)>>2]|0)+C>>0]|0);g=g+1|0}while((g|0)<(a|0));g=HEa(B)|0;d[b+(C<<1)>>1]=(g+32768|0)>>>0<65536?g:(g|0)>0?32767:32768;C=C+1|0}while((C|0)!=(q|0))}while(0);if((c|0)>1){t=t+4|0;b=b+e|0;c=c+-1|0}else break}return}function Wna(a){a=a|0;GQa(a);return}function Xna(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function Yna(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=60992;b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;GQa(b)}b=f[a+20>>2]|0;if(!b)return;d=a+24|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-8-b|0)>>>3)<<3);GQa(b);return}function Zna(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=60992;b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;GQa(b)}b=f[a+20>>2]|0;if(!b){GQa(a);return}d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-8-b|0)>>>3)<<3);GQa(b);GQa(a);return}function _na(a,b,c,e,g,i,j){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;i=i|0;j=j|0;var k=0.0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0;k=+n[a+56>>2];l=f[a+20>>2]|0;m=f[a+32>>2]|0;o=f[a+44>>2]|0;p=(f[a+24>>2]|0)-l|0;a=p>>3;q=X(j,i)|0;if((g|0)<=0)return;i=(p|0)>0;p=q+-4|0;r=(q|0)<4;s=q&-4;t=b;b=c;c=g;while(1){if(i){g=0;do{u=(f[t+(f[l+(g<<3)+4>>2]<<2)>>2]|0)+(X(f[l+(g<<3)>>2]|0,j)|0)|0;f[o+(g<<2)>>2]=u;g=g+1|0}while((g|0)<(a|0))}a:do if(r)v=0;else{if(i)w=0;else{g=HEa(k)|0;u=(g>>>0<65536?g:(g|0)>0?65535:0)&65535;g=0;while(1){d[b+(g<<1)>>1]=u;d[b+((g|1)<<1)>>1]=u;d[b+((g|2)<<1)>>1]=u;d[b+((g|3)<<1)>>1]=u;g=g+4|0;if((g|0)>(p|0)){v=s;break a}}}do{x=k;y=k;z=k;A=k;g=0;do{u=(f[o+(g<<2)>>2]|0)+w|0;B=+n[m+(g<<2)>>2];A=A+B*+(h[u>>0]|0);z=z+B*+(h[u+1>>0]|0);y=y+B*+(h[u+2>>0]|0);x=x+B*+(h[u+3>>0]|0);g=g+1|0}while((g|0)<(a|0));g=HEa(A)|0;d[b+(w<<1)>>1]=g>>>0<65536?g:(g|0)>0?65535:0;g=HEa(z)|0;d[b+((w|1)<<1)>>1]=g>>>0<65536?g:(g|0)>0?65535:0;g=HEa(y)|0;d[b+((w|2)<<1)>>1]=g>>>0<65536?g:(g|0)>0?65535:0;g=HEa(x)|0;d[b+((w|3)<<1)>>1]=g>>>0<65536?g:(g|0)>0?65535:0;w=w+4|0}while((w|0)<=(p|0));v=s}while(0);b:do if((v|0)<(q|0)){if(i)C=v;else{g=HEa(k)|0;u=(g>>>0<65536?g:(g|0)>0?65535:0)&65535;g=v;while(1){d[b+(g<<1)>>1]=u;g=g+1|0;if((g|0)==(q|0))break b}}do{B=k;g=0;do{B=B+ +n[m+(g<<2)>>2]*+(h[(f[o+(g<<2)>>2]|0)+C>>0]|0);g=g+1|0}while((g|0)<(a|0));g=HEa(B)|0;d[b+(C<<1)>>1]=g>>>0<65536?g:(g|0)>0?65535:0;C=C+1|0}while((C|0)!=(q|0))}while(0);if((c|0)>1){t=t+4|0;b=b+e|0;c=c+-1|0}else break}return}function $na(a){a=a|0;GQa(a);return}function aoa(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function boa(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=61016;b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;GQa(b)}b=f[a+20>>2]|0;if(!b)return;d=a+24|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-8-b|0)>>>3)<<3);GQa(b);return}function coa(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=61016;b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;GQa(b)}b=f[a+20>>2]|0;if(!b){GQa(a);return}d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-8-b|0)>>>3)<<3);GQa(b);GQa(a);return}function doa(a,c,d,e,g,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;var k=0.0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0;k=+n[a+56>>2];l=f[a+20>>2]|0;m=f[a+32>>2]|0;o=f[a+44>>2]|0;p=(f[a+24>>2]|0)-l|0;a=p>>3;q=X(j,i)|0;if((g|0)<=0)return;i=(p|0)>0;p=q+-4|0;r=(q|0)<4;s=q&-4;t=c;c=d;d=g;while(1){if(i){g=0;do{u=(f[t+(f[l+(g<<3)+4>>2]<<2)>>2]|0)+(X(f[l+(g<<3)>>2]|0,j)|0)|0;f[o+(g<<2)>>2]=u;g=g+1|0}while((g|0)<(a|0))}a:do if(r)v=0;else{if(i)w=0;else{g=HEa(k)|0;u=(g>>>0<256?g:(g|0)>0?255:0)&255;g=0;while(1){b[c+g>>0]=u;b[c+(g|1)>>0]=u;b[c+(g|2)>>0]=u;b[c+(g|3)>>0]=u;g=g+4|0;if((g|0)>(p|0)){v=s;break a}}}do{x=k;y=k;z=k;A=k;g=0;do{u=(f[o+(g<<2)>>2]|0)+w|0;B=+n[m+(g<<2)>>2];A=A+B*+(h[u>>0]|0);z=z+B*+(h[u+1>>0]|0);y=y+B*+(h[u+2>>0]|0);x=x+B*+(h[u+3>>0]|0);g=g+1|0}while((g|0)<(a|0));g=HEa(A)|0;b[c+w>>0]=g>>>0<256?g:(g|0)>0?255:0;g=HEa(z)|0;b[c+(w|1)>>0]=g>>>0<256?g:(g|0)>0?255:0;g=HEa(y)|0;b[c+(w|2)>>0]=g>>>0<256?g:(g|0)>0?255:0;g=HEa(x)|0;b[c+(w|3)>>0]=g>>>0<256?g:(g|0)>0?255:0;w=w+4|0}while((w|0)<=(p|0));v=s}while(0);b:do if((v|0)<(q|0)){if(i)C=v;else{g=HEa(k)|0;u=(g>>>0<256?g:(g|0)>0?255:0)&255;g=v;while(1){b[c+g>>0]=u;g=g+1|0;if((g|0)==(q|0))break b}}do{B=k;g=0;do{B=B+ +n[m+(g<<2)>>2]*+(h[(f[o+(g<<2)>>2]|0)+C>>0]|0);g=g+1|0}while((g|0)<(a|0));g=HEa(B)|0;b[c+C>>0]=g>>>0<256?g:(g|0)>0?255:0;C=C+1|0}while((C|0)!=(q|0))}while(0);if((d|0)>1){t=t+4|0;c=c+e|0;d=d+-1|0}else break}return}function eoa(a,c,d,e,g,h,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=+h;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;l=u;u=u+160|0;m=l+96|0;n=l+40|0;o=l+32|0;p=l+8|0;q=l+24|0;r=l;do if((HJ(e)|0)==65536){s=f[e+4>>2]|0;f[m>>2]=f[s>>2];t=m+4|0;v=s+4|0;f[t>>2]=f[v>>2];w=m+8|0;f[w>>2]=f[s+8>>2];f[m+12>>2]=f[s+12>>2];f[m+16>>2]=f[s+16>>2];f[m+20>>2]=f[s+20>>2];f[m+24>>2]=f[s+24>>2];f[m+28>>2]=f[s+28>>2];f[m+32>>2]=f[s+32>>2];x=f[s+36>>2]|0;f[m+36>>2]=x;f[m+40>>2]=w;w=m+48|0;y=m+44|0;f[y>>2]=w;f[w>>2]=0;f[m+52>>2]=0;if(x|0){w=x+12|0;f[w>>2]=(f[w>>2]|0)+1}if((f[v>>2]|0)<3){v=f[s+44>>2]|0;w=f[y>>2]|0;f[w>>2]=f[v>>2];f[w+4>>2]=f[v+4>>2];break}else{f[t>>2]=0;WO(m,s);break}}else DJ(m,e,-1);while(0);e=c&4095;s=d&4095;if((d^c)&4088|0){f[n>>2]=0;f[n+4>>2]=0;c=JV(n,50)|0;d=240305;t=c+50|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(t|0));EP(-215,n,242722,233284,4509);KV(n)}f[n>>2]=f[m>>2];d=n+4|0;c=m+4|0;t=f[c>>2]|0;f[d>>2]=t;v=n+8|0;f[v>>2]=f[m+8>>2];f[n+12>>2]=f[m+12>>2];w=n+16|0;y=m+16|0;f[w>>2]=f[y>>2];f[n+20>>2]=f[m+20>>2];f[n+24>>2]=f[m+24>>2];f[n+28>>2]=f[m+28>>2];f[n+32>>2]=f[m+32>>2];x=n+36|0;z=m+36|0;A=f[z>>2]|0;f[x>>2]=A;B=n+40|0;f[B>>2]=v;v=n+48|0;C=n+44|0;f[C>>2]=v;f[v>>2]=0;f[n+52>>2]=0;if(!A)D=t;else{t=A+12|0;f[t>>2]=(f[t>>2]|0)+1;D=f[c>>2]|0}if((D|0)<3){D=f[m+44>>2]|0;t=f[C>>2]|0;f[t>>2]=f[D>>2];f[t+4>>2]=f[D+4>>2]}else{f[d>>2]=0;WO(n,m)}f[p+8>>2]=0;f[p+12>>2]=0;f[p>>2]=16842752;f[p+4>>2]=n;f[q>>2]=f[g>>2];f[q+4>>2]=f[g+4>>2];Hma(o,e,s,p,q,h,0);f[p>>2]=0;f[p+4>>2]=0;f[r>>2]=0;f[r+4>>2]=0;q=EQa(200)|0;Aia(q,o,p,r,e,s,e,i,j,k);k=EQa(16)|0;f[k+4>>2]=1;f[k>>2]=45036;f[k+8>>2]=q;f[a>>2]=k;f[a+4>>2]=q;q=f[o>>2]|0;if(q|0?(o=q+4|0,a=f[o>>2]|0,f[o>>2]=a+-1,(a|0)==1):0)qg[f[(f[q>>2]|0)+8>>2]&1023](q);q=f[x>>2]|0;if(q|0?(a=q+12|0,q=f[a>>2]|0,f[a>>2]=q+-1,(q|0)==1):0)XO(n);f[x>>2]=0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;if((f[d>>2]|0)>0){w=f[B>>2]|0;B=0;do{f[w+(B<<2)>>2]=0;B=B+1|0}while((B|0)<(f[d>>2]|0))}d=f[C>>2]|0;if((d|0)!=(v|0))dX(d);d=f[z>>2]|0;if(d|0?(v=d+12|0,d=f[v>>2]|0,f[v>>2]=d+-1,(d|0)==1):0)XO(m);f[z>>2]=0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;if((f[c>>2]|0)>0){y=f[m+40>>2]|0;z=0;do{f[y+(z<<2)>>2]=0;z=z+1|0}while((z|0)<(f[c>>2]|0))}c=f[m+44>>2]|0;if((c|0)==(m+48|0)){u=l;return}dX(c);u=l;return}function foa(a,b,c,d,e,g,h,i,j,k,l,m,n,o,q,r,s,t,v,w,x,y){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;q=q|0;r=r|0;s=s|0;t=t|0;v=v|0;w=+w;x=x|0;y=y|0;var z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;y=u;u=u+496|0;z=y+432|0;A=y+56|0;B=y+376|0;C=y+320|0;D=y+264|0;E=y;F=y+208|0;G=y+200|0;H=y+144|0;I=y+136|0;J=y+128|0;K=y+120|0;L=y+104|0;M=y+88|0;N=y+80|0;O=y+72|0;P=y+64|0;p[A>>3]=w;if((X(s,r)|0)<=49){f[A>>2]=r;f[A+4>>2]=s;EJ(z,A,c,o,q);f[C+8>>2]=0;f[C+12>>2]=0;f[C>>2]=16842752;f[C+4>>2]=z;f[D>>2]=t;f[D+4>>2]=v;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;f[E+16>>2]=0;f[E+20>>2]=0;f[E+24>>2]=0;f[E+28>>2]=0;eoa(B,a,b,C,D,w,x&-17,-1,E);f[F>>2]=i;f[F+4>>2]=j;EJ(C,F,a,d,e);f[G>>2]=i;f[G+4>>2]=j;EJ(E,G,b,g,h);Q=f[B+4>>2]|0;R=f[(f[Q>>2]|0)+20>>2]|0;f[H>>2]=k;f[H+4>>2]=l;f[I>>2]=m;f[I+4>>2]=n;Sh[R&255](Q,C,E,H,I);Q=E+36|0;R=f[Q>>2]|0;if(R|0?(n=R+12|0,R=f[n>>2]|0,f[n>>2]=R+-1,(R|0)==1):0)XO(E);f[Q>>2]=0;Q=E+16|0;R=E+4|0;f[Q>>2]=0;f[Q+4>>2]=0;f[Q+8>>2]=0;f[Q+12>>2]=0;if((f[R>>2]|0)>0){Q=f[E+40>>2]|0;n=0;do{f[Q+(n<<2)>>2]=0;n=n+1|0}while((n|0)<(f[R>>2]|0))}R=f[E+44>>2]|0;if((R|0)!=(E+48|0))dX(R);R=C+36|0;n=f[R>>2]|0;if(n|0?(Q=n+12|0,n=f[Q>>2]|0,f[Q>>2]=n+-1,(n|0)==1):0)XO(C);f[R>>2]=0;R=C+16|0;n=C+4|0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;f[R+12>>2]=0;if((f[n>>2]|0)>0){R=f[C+40>>2]|0;Q=0;do{f[R+(Q<<2)>>2]=0;Q=Q+1|0}while((Q|0)<(f[n>>2]|0))}n=f[C+44>>2]|0;if((n|0)!=(C+48|0))dX(n);n=f[B>>2]|0;if(n|0?(Q=n+4|0,R=f[Q>>2]|0,f[Q>>2]=R+-1,(R|0)==1):0)qg[f[(f[n>>2]|0)+8>>2]&1023](n);n=z+36|0;R=f[n>>2]|0;if(R|0?(Q=R+12|0,R=f[Q>>2]|0,f[Q>>2]=R+-1,(R|0)==1):0)XO(z);f[n>>2]=0;n=z+16|0;R=z+4|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;if((f[R>>2]|0)>0){n=f[z+40>>2]|0;Q=0;do{f[n+(Q<<2)>>2]=0;Q=Q+1|0}while((Q|0)<(f[R>>2]|0))}R=f[z+44>>2]|0;if((R|0)!=(z+48|0))dX(R);u=y;return}f[C>>2]=r;f[C+4>>2]=s;EJ(B,C,c,o,q);f[E>>2]=i;f[E+4>>2]=j;EJ(D,E,a,d,e);f[G>>2]=i;f[G+4>>2]=j;EJ(F,G,b,g,h);f[H>>2]=1124007936;G=H+4|0;e=H+8|0;E=H+40|0;q=G;o=q+36|0;do{f[q>>2]=0;q=q+4|0}while((q|0)<(o|0));f[E>>2]=e;q=H+48|0;o=H+44|0;f[o>>2]=q;f[q>>2]=0;f[H+52>>2]=0;c=a>>>3&511;a=b&4088;C=b&7;if((c|0)!=0&+p[A>>3]!=0.0){if((C+-5|0)>>>0>1|(d|0)==(g|0)){s=(C|0)==6?6:5;f[z>>2]=j;f[z+4>>2]=i;VO(H,2,z,s|a);S=s}else{f[I>>2]=i;f[I+4>>2]=j;EJ(z,I,b,g,h);I=z+36|0;s=f[I>>2]|0;if(s|0){a=s+12|0;f[a>>2]=(f[a>>2]|0)+1}a=H+36|0;s=f[a>>2]|0;if(s|0?(r=s+12|0,s=f[r>>2]|0,f[r>>2]=s+-1,(s|0)==1):0)XO(H);f[a>>2]=0;s=H+16|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if((f[G>>2]|0)>0){r=f[E>>2]|0;R=0;do{f[r+(R<<2)>>2]=0;R=R+1|0;T=f[G>>2]|0}while((R|0)<(T|0));f[H>>2]=f[z>>2];if((T|0)<3)U=14;else U=16}else{f[H>>2]=f[z>>2];U=14}if((U|0)==14){T=f[z+4>>2]|0;if((T|0)<3){f[G>>2]=T;f[e>>2]=f[z+8>>2];f[H+12>>2]=f[z+12>>2];T=f[z+44>>2]|0;R=f[o>>2]|0;f[R>>2]=f[T>>2];f[R+4>>2]=f[T+4>>2]}else U=16}if((U|0)==16)WO(H,z);T=z+16|0;f[s>>2]=f[T>>2];f[H+20>>2]=f[z+20>>2];f[H+24>>2]=f[z+24>>2];f[H+28>>2]=f[z+28>>2];f[H+32>>2]=f[z+32>>2];s=f[I>>2]|0;f[a>>2]=s;if(s|0?(a=s+12|0,s=f[a>>2]|0,f[a>>2]=s+-1,(s|0)==1):0)XO(z);f[I>>2]=0;I=z+4|0;f[T>>2]=0;f[T+4>>2]=0;f[T+8>>2]=0;f[T+12>>2]=0;if((f[I>>2]|0)>0){T=f[z+40>>2]|0;s=0;do{f[T+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[I>>2]|0))}I=f[z+44>>2]|0;if((I|0)!=(z+48|0))dX(I);S=C}I=f[D+40>>2]|0;s=f[I>>2]|0;f[J>>2]=f[I+4>>2];f[J+4>>2]=s;f[K>>2]=t;f[K+4>>2]=v;kea(D,B,H,J,S|c<<3,K,0.0,x);f[z+8>>2]=0;f[z+12>>2]=0;f[z>>2]=16842752;f[z+4>>2]=H;f[L>>2]=-1056833530;f[L+4>>2]=A;f[L+8>>2]=1;f[L+12>>2]=1;K=M+8|0;f[K>>2]=0;f[K+4>>2]=0;f[M>>2]=33619968;f[M+4>>2]=H;MH(z,L,M,BK()|0,-1);if((f[H+16>>2]|0)!=(g|0)){M=z+8|0;f[M>>2]=0;f[M+4>>2]=0;f[z>>2]=33619968;f[z+4>>2]=F;AO(H,z,f[F>>2]&4095,1.0,0.0)}}else{if((d|0)!=(g|0)){f[N>>2]=i;f[N+4>>2]=j;EJ(z,N,b,g,h);h=z+36|0;N=f[h>>2]|0;if(N|0){d=N+12|0;f[d>>2]=(f[d>>2]|0)+1}d=H+36|0;N=f[d>>2]|0;if(N|0?(M=N+12|0,N=f[M>>2]|0,f[M>>2]=N+-1,(N|0)==1):0)XO(H);f[d>>2]=0;N=H+16|0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;if((f[G>>2]|0)>0){M=f[E>>2]|0;L=0;do{f[M+(L<<2)>>2]=0;L=L+1|0;V=f[G>>2]|0}while((L|0)<(V|0));f[H>>2]=f[z>>2];if((V|0)<3)U=40;else U=42}else{f[H>>2]=f[z>>2];U=40}if((U|0)==40){V=f[z+4>>2]|0;if((V|0)<3){f[G>>2]=V;f[e>>2]=f[z+8>>2];f[H+12>>2]=f[z+12>>2];e=f[z+44>>2]|0;V=f[o>>2]|0;f[V>>2]=f[e>>2];f[V+4>>2]=f[e+4>>2]}else U=42}if((U|0)==42)WO(H,z);U=z+16|0;f[N>>2]=f[U>>2];f[H+20>>2]=f[z+20>>2];f[H+24>>2]=f[z+24>>2];f[H+28>>2]=f[z+28>>2];f[H+32>>2]=f[z+32>>2];N=f[h>>2]|0;f[d>>2]=N;if(N|0?(d=N+12|0,N=f[d>>2]|0,f[d>>2]=N+-1,(N|0)==1):0)XO(z);f[h>>2]=0;h=z+4|0;f[U>>2]=0;f[U+4>>2]=0;f[U+8>>2]=0;f[U+12>>2]=0;if((f[h>>2]|0)>0){U=f[z+40>>2]|0;N=0;do{f[U+(N<<2)>>2]=0;N=N+1|0}while((N|0)<(f[h>>2]|0))}h=f[z+44>>2]|0;if((h|0)!=(z+48|0))dX(h)}else{f[z>>2]=j;f[z+4>>2]=i;VO(H,2,z,b&4095)}b=f[D+40>>2]|0;i=f[b>>2]|0;f[O>>2]=f[b+4>>2];f[O+4>>2]=i;f[P>>2]=t;f[P+4>>2]=v;kea(D,B,H,O,c<<3|C,P,+p[A>>3],x);if((f[H+16>>2]|0)!=(g|0)){g=z+8|0;f[g>>2]=0;f[g+4>>2]=0;f[z>>2]=33619968;f[z+4>>2]=F;eM(H,z)}}z=H+36|0;g=f[z>>2]|0;if(g|0?(x=g+12|0,g=f[x>>2]|0,f[x>>2]=g+-1,(g|0)==1):0)XO(H);f[z>>2]=0;z=H+16|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;if((f[G>>2]|0)>0){z=f[E>>2]|0;E=0;do{f[z+(E<<2)>>2]=0;E=E+1|0}while((E|0)<(f[G>>2]|0))}G=f[o>>2]|0;if((G|0)!=(q|0))dX(G);G=F+36|0;q=f[G>>2]|0;if(q|0?(o=q+12|0,q=f[o>>2]|0,f[o>>2]=q+-1,(q|0)==1):0)XO(F);f[G>>2]=0;G=F+16|0;q=F+4|0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;if((f[q>>2]|0)>0){G=f[F+40>>2]|0;o=0;do{f[G+(o<<2)>>2]=0;o=o+1|0}while((o|0)<(f[q>>2]|0))}q=f[F+44>>2]|0;if((q|0)!=(F+48|0))dX(q);q=D+36|0;F=f[q>>2]|0;if(F|0?(o=F+12|0,F=f[o>>2]|0,f[o>>2]=F+-1,(F|0)==1):0)XO(D);f[q>>2]=0;q=D+16|0;F=D+4|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;if((f[F>>2]|0)>0){q=f[D+40>>2]|0;o=0;do{f[q+(o<<2)>>2]=0;o=o+1|0}while((o|0)<(f[F>>2]|0))}F=f[D+44>>2]|0;if((F|0)!=(D+48|0))dX(F);F=B+36|0;D=f[F>>2]|0;if(D|0?(o=D+12|0,D=f[o>>2]|0,f[o>>2]=D+-1,(D|0)==1):0)XO(B);f[F>>2]=0;F=B+16|0;D=B+4|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;f[F+12>>2]=0;if((f[D>>2]|0)>0){F=f[B+40>>2]|0;o=0;do{f[F+(o<<2)>>2]=0;o=o+1|0}while((o|0)<(f[D>>2]|0))}D=f[B+44>>2]|0;if((D|0)!=(B+48|0))dX(D);u=y;return}function goa(a,c,d,e,g,h,i,j,k,l,m,n,o,p,q,r,s,t,v,w,x){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;v=v|0;w=+w;x=x|0;var y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;y=u;u=u+304|0;z=y+288|0;A=y+232|0;B=y+176|0;C=y+120|0;D=y+64|0;E=y+56|0;F=y;G=y+48|0;H=y+40|0;I=y+32|0;J=d&4095|1124007936;f[A>>2]=J;K=A+4|0;f[K>>2]=2;L=A+8|0;f[L>>2]=1;M=A+12|0;f[M>>2]=q;N=A+16|0;f[N>>2]=p;O=A+20|0;f[O>>2]=p;P=A+24|0;Q=A+28|0;R=A+40|0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;f[R>>2]=L;S=A+48|0;T=A+44|0;f[T>>2]=S;f[A+52>>2]=0;f[S>>2]=0;if((p|0)==0&(q|0)!=0){f[z>>2]=0;f[z+4>>2]=0;U=JV(z,26)|0;V=346743;W=U+26|0;do{b[U>>0]=b[V>>0]|0;U=U+1|0;V=V+1|0}while((U|0)<(W|0));EP(-215,z,346770,346774,533);KV(z);Y=f[M>>2]|0;Z=f[A>>2]|0;_=f[T>>2]|0;$=f[O>>2]|0}else{Y=q;Z=J;_=S;$=p}p=(d>>>3&511)+1<<(47696>>>(d<<1&14)&3);d=X(Y,p)|0;f[A>>2]=Z|16384;f[_>>2]=d;f[_+4>>2]=p;_=$+(X(f[L>>2]|0,d)|0)|0;f[Q>>2]=_;f[P>>2]=_+(0-d)+d;f[B>>2]=J;d=B+4|0;f[d>>2]=2;_=B+8|0;f[_>>2]=1;P=B+12|0;f[P>>2]=s;Q=B+16|0;f[Q>>2]=r;L=B+20|0;f[L>>2]=r;$=B+24|0;Z=B+28|0;Y=B+40|0;f[$>>2]=0;f[$+4>>2]=0;f[$+8>>2]=0;f[$+12>>2]=0;f[Y>>2]=_;q=B+48|0;O=B+44|0;f[O>>2]=q;f[B+52>>2]=0;f[q>>2]=0;if((r|0)==0&(s|0)!=0){f[z>>2]=0;f[z+4>>2]=0;U=JV(z,26)|0;V=346743;W=U+26|0;do{b[U>>0]=b[V>>0]|0;U=U+1|0;V=V+1|0}while((U|0)<(W|0));EP(-215,z,346770,346774,533);KV(z);aa=f[P>>2]|0;ba=f[B>>2]|0;ca=f[O>>2]|0;da=f[L>>2]|0}else{aa=s;ba=J;ca=q;da=r}r=X(aa,p)|0;f[B>>2]=ba|16384;f[ca>>2]=r;f[ca+4>>2]=p;p=da+(X(f[_>>2]|0,r)|0)|0;f[Z>>2]=p;f[$>>2]=p+(0-r)+r;f[C+8>>2]=0;f[C+12>>2]=0;f[C>>2]=16842752;f[C+4>>2]=A;f[D+8>>2]=0;f[D+12>>2]=0;f[D>>2]=16842752;f[D+4>>2]=B;f[E>>2]=t;f[E+4>>2]=v;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;f[F+12>>2]=0;f[F+16>>2]=0;f[F+20>>2]=0;f[F+24>>2]=0;f[F+28>>2]=0;Ema(z,a,c,C,D,E,w,x&-17,-1,F);f[G>>2]=j;f[G+4>>2]=k;EJ(C,G,a,e,g);f[H>>2]=j;f[H+4>>2]=k;EJ(D,H,c,h,i);i=f[z+4>>2]|0;h=f[(f[i>>2]|0)+20>>2]|0;f[F>>2]=l;f[F+4>>2]=m;f[I>>2]=n;f[I+4>>2]=o;Sh[h&255](i,C,D,F,I);I=D+36|0;F=f[I>>2]|0;if(F|0?(i=F+12|0,F=f[i>>2]|0,f[i>>2]=F+-1,(F|0)==1):0)XO(D);f[I>>2]=0;I=D+16|0;F=D+4|0;f[I>>2]=0;f[I+4>>2]=0;f[I+8>>2]=0;f[I+12>>2]=0;if((f[F>>2]|0)>0){I=f[D+40>>2]|0;i=0;do{f[I+(i<<2)>>2]=0;i=i+1|0}while((i|0)<(f[F>>2]|0))}F=f[D+44>>2]|0;if((F|0)!=(D+48|0))dX(F);F=C+36|0;D=f[F>>2]|0;if(D|0?(i=D+12|0,D=f[i>>2]|0,f[i>>2]=D+-1,(D|0)==1):0)XO(C);f[F>>2]=0;F=C+16|0;D=C+4|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;f[F+12>>2]=0;if((f[D>>2]|0)>0){F=f[C+40>>2]|0;i=0;do{f[F+(i<<2)>>2]=0;i=i+1|0}while((i|0)<(f[D>>2]|0))}D=f[C+44>>2]|0;if((D|0)!=(C+48|0))dX(D);D=f[z>>2]|0;if(D|0?(z=D+4|0,C=f[z>>2]|0,f[z>>2]=C+-1,(C|0)==1):0)qg[f[(f[D>>2]|0)+8>>2]&1023](D);D=B+36|0;C=f[D>>2]|0;if(C|0?(z=C+12|0,C=f[z>>2]|0,f[z>>2]=C+-1,(C|0)==1):0)XO(B);f[D>>2]=0;f[Q>>2]=0;f[Q+4>>2]=0;f[Q+8>>2]=0;f[Q+12>>2]=0;if((f[d>>2]|0)>0){Q=f[Y>>2]|0;Y=0;do{f[Q+(Y<<2)>>2]=0;Y=Y+1|0}while((Y|0)<(f[d>>2]|0))}d=f[O>>2]|0;if((d|0)!=(q|0))dX(d);d=A+36|0;q=f[d>>2]|0;if(q|0?(O=q+12|0,q=f[O>>2]|0,f[O>>2]=q+-1,(q|0)==1):0)XO(A);f[d>>2]=0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;if((f[K>>2]|0)>0){N=f[R>>2]|0;R=0;do{f[N+(R<<2)>>2]=0;R=R+1|0}while((R|0)<(f[K>>2]|0))}K=f[T>>2]|0;if((K|0)==(S|0)){u=y;return}dX(K);u=y;return}function hoa(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=+h;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;j=u;u=u+208|0;k=j+192|0;l=j+184|0;m=j+128|0;n=j+72|0;o=j+8|0;p=j+16|0;q=j;yV(l,61032);do if((HJ(a)|0)==65536){r=f[a+4>>2]|0;f[m>>2]=f[r>>2];s=m+4|0;t=r+4|0;f[s>>2]=f[t>>2];v=m+8|0;f[v>>2]=f[r+8>>2];f[m+12>>2]=f[r+12>>2];f[m+16>>2]=f[r+16>>2];f[m+20>>2]=f[r+20>>2];f[m+24>>2]=f[r+24>>2];f[m+28>>2]=f[r+28>>2];f[m+32>>2]=f[r+32>>2];w=f[r+36>>2]|0;f[m+36>>2]=w;f[m+40>>2]=v;v=m+48|0;x=m+44|0;f[x>>2]=v;f[v>>2]=0;f[m+52>>2]=0;if(w|0){v=w+12|0;f[v>>2]=(f[v>>2]|0)+1}if((f[t>>2]|0)<3){t=f[r+44>>2]|0;v=f[x>>2]|0;f[v>>2]=f[t>>2];f[v+4>>2]=f[t+4>>2];break}else{f[s>>2]=0;WO(m,r);break}}else DJ(m,a,-1);while(0);do if((HJ(e)|0)==65536){a=f[e+4>>2]|0;f[n>>2]=f[a>>2];r=n+4|0;s=a+4|0;f[r>>2]=f[s>>2];t=n+8|0;f[t>>2]=f[a+8>>2];f[n+12>>2]=f[a+12>>2];f[n+16>>2]=f[a+16>>2];f[n+20>>2]=f[a+20>>2];f[n+24>>2]=f[a+24>>2];f[n+28>>2]=f[a+28>>2];f[n+32>>2]=f[a+32>>2];v=f[a+36>>2]|0;f[n+36>>2]=v;f[n+40>>2]=t;t=n+48|0;x=n+44|0;f[x>>2]=t;f[t>>2]=0;f[n+52>>2]=0;if(v|0){t=v+12|0;f[t>>2]=(f[t>>2]|0)+1}if((f[s>>2]|0)<3){s=f[a+44>>2]|0;t=f[x>>2]|0;f[t>>2]=f[s>>2];f[t+4>>2]=f[s+4>>2];break}else{f[r>>2]=0;WO(n,a);break}}else DJ(n,e,-1);while(0);e=f[m>>2]|0;a=m+40|0;r=f[a>>2]|0;s=f[r>>2]|0;f[o>>2]=f[r+4>>2];f[o+4>>2]=s;_J(c,o,e&4088|((d|0)<0?e:d)&7,-1,0,0);do if((HJ(c)|0)==65536){d=f[c+4>>2]|0;f[p>>2]=f[d>>2];e=p+4|0;o=d+4|0;f[e>>2]=f[o>>2];s=p+8|0;f[s>>2]=f[d+8>>2];f[p+12>>2]=f[d+12>>2];f[p+16>>2]=f[d+16>>2];f[p+20>>2]=f[d+20>>2];f[p+24>>2]=f[d+24>>2];f[p+28>>2]=f[d+28>>2];f[p+32>>2]=f[d+32>>2];r=f[d+36>>2]|0;f[p+36>>2]=r;f[p+40>>2]=s;s=p+48|0;t=p+44|0;f[t>>2]=s;f[s>>2]=0;f[p+52>>2]=0;if(r|0){s=r+12|0;f[s>>2]=(f[s>>2]|0)+1}if((f[o>>2]|0)<3){o=f[d+44>>2]|0;s=f[t>>2]|0;f[s>>2]=f[o>>2];f[s+4>>2]=f[o+4>>2];break}else{f[e>>2]=0;WO(p,d);break}}else DJ(p,c,-1);while(0);c=f[g>>2]|0;d=f[g+4>>2]|0;g=n+40|0;e=f[g>>2]|0;o=f[e+4>>2]|0;s=f[e>>2]|0;e=(c|0)==-1?(o|0)/2|0:c;c=(d|0)==-1?(s|0)/2|0:d;if(!((e|0)>-1&(e|0)<(o|0)?!((c|0)<0|(c|0)>=(s|0)):0)){f[k>>2]=0;f[k+4>>2]=0;s=JV(k,52)|0;o=240542;d=s+52|0;do{b[s>>0]=b[o>>0]|0;s=s+1|0;o=o+1|0}while((s|0)<(d|0));EP(-215,k,240595,240611,363);KV(k)}f[k>>2]=0;o=k+4|0;f[o>>2]=0;s=f[m+12>>2]|0;d=f[m+8>>2]|0;f[q>>2]=s;t=q+4|0;f[t>>2]=d;if(!(i&16)){fP(m,q,k);y=f[q>>2]|0;z=f[t>>2]|0;A=f[k>>2]|0;B=f[o>>2]|0}else{y=s;z=d;A=0;B=0}d=f[m>>2]|0;s=m+16|0;o=m+48|0;k=p+16|0;t=p+48|0;q=n+16|0;r=n+48|0;foa(d&4095,f[p>>2]&4095,f[n>>2]&4095,f[s>>2]|0,f[o>>2]|0,f[k>>2]|0,f[t>>2]|0,f[p+12>>2]|0,f[p+8>>2]|0,y,z,A,B,f[q>>2]|0,f[r>>2]|0,f[n+12>>2]|0,f[n+8>>2]|0,e,c,h,i,(d&32768|0)!=0);d=p+36|0;i=f[d>>2]|0;if(i|0?(c=i+12|0,i=f[c>>2]|0,f[c>>2]=i+-1,(i|0)==1):0)XO(p);f[d>>2]=0;d=p+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;if((f[d>>2]|0)>0){k=f[p+40>>2]|0;i=0;do{f[k+(i<<2)>>2]=0;i=i+1|0}while((i|0)<(f[d>>2]|0))}d=f[p+44>>2]|0;if((d|0)!=(t|0))dX(d);d=n+36|0;t=f[d>>2]|0;if(t|0?(p=t+12|0,t=f[p>>2]|0,f[p>>2]=t+-1,(t|0)==1):0)XO(n);f[d>>2]=0;d=n+4|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;if((f[d>>2]|0)>0){q=f[g>>2]|0;g=0;do{f[q+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[d>>2]|0))}d=f[n+44>>2]|0;if((d|0)!=(r|0))dX(d);d=m+36|0;r=f[d>>2]|0;if(r|0?(n=r+12|0,r=f[n>>2]|0,f[n>>2]=r+-1,(r|0)==1):0)XO(m);f[d>>2]=0;d=m+4|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if((f[d>>2]|0)>0){s=f[a>>2]|0;a=0;do{f[s+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[d>>2]|0))}d=f[m+44>>2]|0;if((d|0)!=(o|0))dX(d);if(!(f[l+4>>2]|0)){u=j;return}u=j;return}function ioa(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=+i;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;k=u;u=u+384|0;l=k+368|0;m=k+360|0;n=k+304|0;o=k+248|0;p=k+184|0;q=k+240|0;r=k+128|0;s=k+120|0;t=k+112|0;v=k+56|0;w=k;yV(m,61052);do if((HJ(a)|0)==65536){x=f[a+4>>2]|0;f[n>>2]=f[x>>2];y=n+4|0;z=x+4|0;f[y>>2]=f[z>>2];A=n+8|0;f[A>>2]=f[x+8>>2];f[n+12>>2]=f[x+12>>2];f[n+16>>2]=f[x+16>>2];f[n+20>>2]=f[x+20>>2];f[n+24>>2]=f[x+24>>2];f[n+28>>2]=f[x+28>>2];f[n+32>>2]=f[x+32>>2];B=f[x+36>>2]|0;f[n+36>>2]=B;f[n+40>>2]=A;A=n+48|0;C=n+44|0;f[C>>2]=A;f[A>>2]=0;f[n+52>>2]=0;if(B|0){A=B+12|0;f[A>>2]=(f[A>>2]|0)+1}if((f[z>>2]|0)<3){z=f[x+44>>2]|0;A=f[C>>2]|0;f[A>>2]=f[z>>2];f[A+4>>2]=f[z+4>>2];break}else{f[y>>2]=0;WO(n,x);break}}else DJ(n,a,-1);while(0);do if((HJ(e)|0)==65536){a=f[e+4>>2]|0;f[o>>2]=f[a>>2];x=o+4|0;y=a+4|0;f[x>>2]=f[y>>2];z=o+8|0;f[z>>2]=f[a+8>>2];f[o+12>>2]=f[a+12>>2];f[o+16>>2]=f[a+16>>2];f[o+20>>2]=f[a+20>>2];f[o+24>>2]=f[a+24>>2];f[o+28>>2]=f[a+28>>2];f[o+32>>2]=f[a+32>>2];A=f[a+36>>2]|0;f[o+36>>2]=A;f[o+40>>2]=z;z=o+48|0;C=o+44|0;f[C>>2]=z;f[z>>2]=0;f[o+52>>2]=0;if(A|0){z=A+12|0;f[z>>2]=(f[z>>2]|0)+1}if((f[y>>2]|0)<3){y=f[a+44>>2]|0;z=f[C>>2]|0;f[z>>2]=f[y>>2];f[z+4>>2]=f[y+4>>2];break}else{f[x>>2]=0;WO(o,a);break}}else DJ(o,e,-1);while(0);do if((HJ(g)|0)==65536){e=f[g+4>>2]|0;f[p>>2]=f[e>>2];a=p+4|0;x=e+4|0;f[a>>2]=f[x>>2];y=p+8|0;f[y>>2]=f[e+8>>2];f[p+12>>2]=f[e+12>>2];f[p+16>>2]=f[e+16>>2];f[p+20>>2]=f[e+20>>2];f[p+24>>2]=f[e+24>>2];f[p+28>>2]=f[e+28>>2];f[p+32>>2]=f[e+32>>2];z=f[e+36>>2]|0;f[p+36>>2]=z;f[p+40>>2]=y;y=p+48|0;C=p+44|0;f[C>>2]=y;f[y>>2]=0;f[p+52>>2]=0;if(z|0){y=z+12|0;f[y>>2]=(f[y>>2]|0)+1}if((f[x>>2]|0)<3){x=f[e+44>>2]|0;y=f[C>>2]|0;f[y>>2]=f[x>>2];f[y+4>>2]=f[x+4>>2];break}else{f[a>>2]=0;WO(p,e);break}}else DJ(p,g,-1);while(0);g=f[n>>2]|0;e=n+40|0;a=f[e>>2]|0;x=f[a>>2]|0;f[q>>2]=f[a+4>>2];f[q+4>>2]=x;_J(c,q,g&4088|((d|0)<0?g:d)&7,-1,0,0);do if((HJ(c)|0)==65536){d=f[c+4>>2]|0;f[r>>2]=f[d>>2];g=r+4|0;q=d+4|0;f[g>>2]=f[q>>2];x=r+8|0;f[x>>2]=f[d+8>>2];f[r+12>>2]=f[d+12>>2];f[r+16>>2]=f[d+16>>2];f[r+20>>2]=f[d+20>>2];f[r+24>>2]=f[d+24>>2];f[r+28>>2]=f[d+28>>2];f[r+32>>2]=f[d+32>>2];a=f[d+36>>2]|0;f[r+36>>2]=a;f[r+40>>2]=x;x=r+48|0;y=r+44|0;f[y>>2]=x;f[x>>2]=0;f[r+52>>2]=0;if(a|0){x=a+12|0;f[x>>2]=(f[x>>2]|0)+1}if((f[q>>2]|0)<3){q=f[d+44>>2]|0;x=f[y>>2]|0;f[x>>2]=f[q>>2];f[x+4>>2]=f[q+4>>2];break}else{f[g>>2]=0;WO(r,d);break}}else DJ(r,c,-1);while(0);f[s>>2]=0;c=s+4|0;f[c>>2]=0;d=f[n+8>>2]|0;f[t>>2]=f[n+12>>2];g=t+4|0;f[g>>2]=d;if(!(j&16))fP(n,t,s);d=f[o>>2]|0;do if(!((f[p>>2]^d)&4095)){if((f[o+12>>2]|0)!=1?(f[o+8>>2]|0)!=1:0){D=36;break}if((f[p+12>>2]|0)!=1?(f[p+8>>2]|0)!=1:0)D=36;else E=d}else D=36;while(0);if((D|0)==36){f[l>>2]=0;f[l+4>>2]=0;F=JV(l,120)|0;D=242837;G=F+120|0;do{b[F>>0]=b[D>>0]|0;F=F+1|0;D=D+1|0}while((F|0)<(G|0));EP(-215,l,242958,233284,4949);KV(l);E=f[o>>2]|0}do if(E&16384){f[v>>2]=E;D=v+4|0;d=o+4|0;q=f[d>>2]|0;f[D>>2]=q;x=v+8|0;f[x>>2]=f[o+8>>2];f[v+12>>2]=f[o+12>>2];f[v+16>>2]=f[o+16>>2];f[v+20>>2]=f[o+20>>2];f[v+24>>2]=f[o+24>>2];f[v+28>>2]=f[o+28>>2];f[v+32>>2]=f[o+32>>2];y=f[o+36>>2]|0;f[v+36>>2]=y;f[v+40>>2]=x;x=v+48|0;a=v+44|0;f[a>>2]=x;f[x>>2]=0;f[v+52>>2]=0;if(!y)H=q;else{q=y+12|0;f[q>>2]=(f[q>>2]|0)+1;H=f[d>>2]|0}if((H|0)<3){d=f[o+44>>2]|0;q=f[a>>2]|0;f[q>>2]=f[d>>2];f[q+4>>2]=f[d+4>>2];break}else{f[D>>2]=0;WO(v,o);break}}else{f[v>>2]=1124007936;D=v+8|0;d=v+40|0;F=v+4|0;G=F+36|0;do{f[F>>2]=0;F=F+4|0}while((F|0)<(G|0));f[d>>2]=D;q=v+48|0;f[v+44>>2]=q;f[q>>2]=0;f[v+52>>2]=0;q=l+8|0;f[q>>2]=0;f[q+4>>2]=0;f[l>>2]=33619968;f[l+4>>2]=v;eM(o,l)}while(0);H=f[p>>2]|0;do if(H&16384){f[w>>2]=H;E=w+4|0;q=p+4|0;a=f[q>>2]|0;f[E>>2]=a;y=w+8|0;x=p+8|0;f[y>>2]=f[x>>2];C=p+12|0;f[w+12>>2]=f[C>>2];z=w+16|0;f[z>>2]=f[p+16>>2];f[w+20>>2]=f[p+20>>2];f[w+24>>2]=f[p+24>>2];f[w+28>>2]=f[p+28>>2];f[w+32>>2]=f[p+32>>2];A=f[p+36>>2]|0;f[w+36>>2]=A;f[w+40>>2]=y;y=w+48|0;B=w+44|0;f[B>>2]=y;f[y>>2]=0;f[w+52>>2]=0;if(!A)I=a;else{a=A+12|0;f[a>>2]=(f[a>>2]|0)+1;I=f[q>>2]|0}if((I|0)<3){q=f[p+44>>2]|0;a=f[B>>2]|0;f[a>>2]=f[q>>2];f[a+4>>2]=f[q+4>>2];J=C;K=x;L=z;break}else{f[E>>2]=0;WO(w,p);J=C;K=x;L=z;break}}else{f[w>>2]=1124007936;z=w+8|0;x=w+40|0;F=w+4|0;G=F+36|0;do{f[F>>2]=0;F=F+4|0}while((F|0)<(G|0));f[x>>2]=z;D=w+48|0;f[w+44>>2]=D;f[D>>2]=0;f[w+52>>2]=0;D=l+8|0;f[D>>2]=0;f[D+4>>2]=0;f[l>>2]=33619968;f[l+4>>2]=w;eM(p,l);J=p+12|0;K=p+8|0;L=w+16|0}while(0);l=n+16|0;F=n+48|0;G=r+16|0;I=r+48|0;H=v+16|0;goa(f[n>>2]&4095,f[r>>2]&4095,f[o>>2]&4095,f[l>>2]|0,f[F>>2]|0,f[G>>2]|0,f[I>>2]|0,f[r+12>>2]|0,f[r+8>>2]|0,f[t>>2]|0,f[g>>2]|0,f[s>>2]|0,f[c>>2]|0,f[H>>2]|0,(f[o+12>>2]|0)+-1+(f[o+8>>2]|0)|0,f[L>>2]|0,(f[J>>2]|0)+-1+(f[K>>2]|0)|0,f[h>>2]|0,f[h+4>>2]|0,i,j&-17);j=w+36|0;h=f[j>>2]|0;if(h|0?(K=h+12|0,h=f[K>>2]|0,f[K>>2]=h+-1,(h|0)==1):0)XO(w);f[j>>2]=0;j=w+4|0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;if((f[j>>2]|0)>0){L=f[w+40>>2]|0;h=0;do{f[L+(h<<2)>>2]=0;h=h+1|0}while((h|0)<(f[j>>2]|0))}j=f[w+44>>2]|0;if((j|0)!=(w+48|0))dX(j);j=v+36|0;w=f[j>>2]|0;if(w|0?(h=w+12|0,w=f[h>>2]|0,f[h>>2]=w+-1,(w|0)==1):0)XO(v);f[j>>2]=0;j=v+4|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;if((f[j>>2]|0)>0){H=f[v+40>>2]|0;w=0;do{f[H+(w<<2)>>2]=0;w=w+1|0}while((w|0)<(f[j>>2]|0))}j=f[v+44>>2]|0;if((j|0)!=(v+48|0))dX(j);j=r+36|0;v=f[j>>2]|0;if(v|0?(w=v+12|0,v=f[w>>2]|0,f[w>>2]=v+-1,(v|0)==1):0)XO(r);f[j>>2]=0;j=r+4|0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;if((f[j>>2]|0)>0){G=f[r+40>>2]|0;v=0;do{f[G+(v<<2)>>2]=0;v=v+1|0}while((v|0)<(f[j>>2]|0))}j=f[r+44>>2]|0;if((j|0)!=(I|0))dX(j);j=p+36|0;I=f[j>>2]|0;if(I|0?(r=I+12|0,I=f[r>>2]|0,f[r>>2]=I+-1,(I|0)==1):0)XO(p);f[j>>2]=0;j=p+16|0;I=p+4|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;if((f[I>>2]|0)>0){j=f[p+40>>2]|0;r=0;do{f[j+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[I>>2]|0))}I=f[p+44>>2]|0;if((I|0)!=(p+48|0))dX(I);I=o+36|0;p=f[I>>2]|0;do if(p|0){r=p+12|0;j=f[r>>2]|0;f[r>>2]=j+-1;if((j|0)!=1)break;XO(o)}while(0);f[I>>2]=0;I=o+16|0;p=o+4|0;f[I>>2]=0;f[I+4>>2]=0;f[I+8>>2]=0;f[I+12>>2]=0;if((f[p>>2]|0)>0){I=f[o+40>>2]|0;j=0;do{f[I+(j<<2)>>2]=0;j=j+1|0}while((j|0)<(f[p>>2]|0))}p=f[o+44>>2]|0;if((p|0)!=(o+48|0))dX(p);p=n+36|0;o=f[p>>2]|0;do if(o|0){j=o+12|0;I=f[j>>2]|0;f[j>>2]=I+-1;if((I|0)!=1)break;XO(n)}while(0);f[p>>2]=0;p=n+4|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;if((f[p>>2]|0)>0){l=f[e>>2]|0;e=0;do{f[l+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(f[p>>2]|0))}p=f[n+44>>2]|0;if((p|0)!=(F|0))dX(p);if(!(f[m+4>>2]|0)){u=k;return}u=k;return}function joa(a){a=a|0;FVa(a|0,0,192)|0;return}function koa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0.0,J=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0.0,ta=0.0,ua=0.0,va=0.0,wa=0.0,xa=0.0,ya=0.0,za=0.0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0.0,yb=0.0,zb=0.0,Ab=0.0,Bb=0.0,Cb=0.0,Db=0.0,Eb=0.0,Fb=0.0,Gb=0.0,Hb=0.0,Ib=0.0,Jb=0.0,Kb=0.0,Lb=0.0,Mb=0.0,Nb=0.0,Ob=0.0,Pb=0.0,Qb=0.0,Rb=0,Sb=0,Tb=0.0,Ub=0.0,Vb=0.0,Wb=0.0,Xb=0.0,Yb=0.0,Zb=0.0,_b=0.0,$b=0.0,ac=0.0;e=u;u=u+1344|0;g=e+264|0;h=e+256|0;i=e+320|0;j=e+248|0;k=e+192|0;l=e+136|0;m=e+8|0;o=e+120|0;q=e+104|0;r=e;s=e+88|0;yV(h,61072);t=GJ(c,-1)|0;v=t&7;w=t&4088;FJ(j,c,-1);if((f[j>>2]|0)>=1?(x=j+4|0,(f[x>>2]|0)>=1):0){do if((HJ(c)|0)==65536){y=f[c+4>>2]|0;f[k>>2]=f[y>>2];z=k+4|0;A=y+4|0;f[z>>2]=f[A>>2];B=k+8|0;f[B>>2]=f[y+8>>2];f[k+12>>2]=f[y+12>>2];f[k+16>>2]=f[y+16>>2];f[k+20>>2]=f[y+20>>2];f[k+24>>2]=f[y+24>>2];f[k+28>>2]=f[y+28>>2];f[k+32>>2]=f[y+32>>2];C=f[y+36>>2]|0;f[k+36>>2]=C;f[k+40>>2]=B;B=k+48|0;D=k+44|0;f[D>>2]=B;f[B>>2]=0;f[k+52>>2]=0;if(C|0){B=C+12|0;f[B>>2]=(f[B>>2]|0)+1}if((f[A>>2]|0)<3){A=f[y+44>>2]|0;B=f[D>>2]|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];break}else{f[z>>2]=0;WO(k,y);break}}else DJ(k,c,-1);while(0);if((v|1|0)==5&(jP(k,2,-1,1)|0)>-1){FVa(a|0,0,192)|0;c=jP(k,2,-1,1)|0;y=f[k>>2]|0;z=(y&7|0)==5;A=f[k+16>>2]|0;if((y&6|0)!=4){f[g>>2]=0;f[g+4>>2]=0;E=JV(g,44)|0;F=243085;G=E+44|0;do{b[E>>0]=b[F>>0]|0;E=E+1|0;F=F+1|0}while((E|0)<(G|0));EP(-215,g,243130,243145,101);KV(g)}if(c|0){y=c+-1|0;if(z){H=+n[A+(y<<3)+4>>2];I=+n[A+(y<<3)>>2]}else{H=+(f[A+(y<<3)+4>>2]|0);I=+(f[A+(y<<3)>>2]|0)}J=I*I;M=H*H;if((c|0)>0)if(z){z=0;N=0.0;O=0.0;P=M;Q=J;R=0.0;S=0.0;T=0.0;U=0.0;V=0.0;W=0.0;Y=0.0;Z=0.0;_=I;$=H;while(1){aa=_;_=+n[A+(z<<3)>>2];ba=$;$=+n[A+(z<<3)+4>>2];ca=Q;Q=_*_;da=P;P=$*$;ea=aa*$-ba*_;fa=aa+_;ga=ba+$;ha=N+ea;ia=fa*ea;ja=O+ia;ka=ga*ea;la=R+ka;ma=S+ea*(Q+aa*fa);na=Z+ea*(aa*(ba+ga)+(ga+$)*_);oa=Y+ea*(P+ba*ga);pa=W+(ca+Q)*ia;ia=T+(da+P)*ka;ka=V+ea*(ca*(ba*3.0+$)+aa*(_*2.0)*ga+Q*(ba+$*3.0));ga=U+ea*(P*(aa+_*3.0)+(da*(aa*3.0+_)+fa*(ba*($*2.0))));z=z+1|0;if((z|0)==(c|0)){qa=ha;ra=ja;sa=la;ta=ma;ua=ia;va=ga;wa=ka;xa=pa;ya=oa;za=na;break}else{N=ha;O=ja;R=la;S=ma;T=ia;U=ga;V=ka;W=pa;Y=oa;Z=na}}}else{z=0;Z=0.0;Y=0.0;W=M;M=J;J=0.0;V=0.0;U=0.0;T=0.0;S=0.0;R=0.0;O=0.0;N=0.0;$=I;I=H;while(1){H=$;$=+(f[A+(z<<3)>>2]|0);_=I;I=+(f[A+(z<<3)+4>>2]|0);P=M;M=$*$;Q=W;W=I*I;na=H*I-_*$;oa=H+$;pa=_+I;ka=Z+na;ga=oa*na;ia=Y+ga;ma=pa*na;la=J+ma;ja=V+na*(M+H*oa);ha=N+na*(H*(_+pa)+(pa+I)*$);ba=O+na*(W+_*pa);fa=R+(P+M)*ga;ga=U+(Q+W)*ma;ma=S+na*(P*(_*3.0+I)+H*($*2.0)*pa+M*(_+I*3.0));pa=T+na*(W*(H+$*3.0)+(Q*(H*3.0+$)+oa*(_*(I*2.0))));z=z+1|0;if((z|0)==(c|0)){qa=ka;ra=ia;sa=la;ta=ja;ua=ga;va=pa;wa=ma;xa=fa;ya=ba;za=ha;break}else{Z=ka;Y=ia;J=la;V=ja;U=ga;T=pa;S=ma;R=fa;O=ba;N=ha}}}else{qa=0.0;ra=0.0;sa=0.0;ta=0.0;ua=0.0;va=0.0;wa=0.0;xa=0.0;ya=0.0;za=0.0}if(+K(+qa)>1.1920928955078125e-07){c=qa>0.0;N=c?.16666666666666666:-.16666666666666666;O=c?.08333333333333333:-.08333333333333333;R=c?.05:-.05;S=c?.016666666666666666:-.016666666666666666;T=qa*(c?.5:-.5);p[a>>3]=T;qa=ra*N;p[a+8>>3]=qa;ra=sa*N;p[a+16>>3]=ra;N=ta*O;p[a+24>>3]=N;ta=za*(c?.041666666666666664:-.041666666666666664);p[a+32>>3]=ta;za=ya*O;p[a+40>>3]=za;O=xa*R;p[a+48>>3]=O;xa=wa*S;p[a+56>>3]=xa;wa=va*S;p[a+64>>3]=wa;S=ua*R;p[a+72>>3]=S;c=+K(+T)>2.220446049250313e-16;R=1.0/T;T=c?R:0.0;ua=c?R*ra:0.0;va=c?R*qa:0.0;R=qa*va;ya=N-R;N=qa*ua;qa=ta-N;ta=ra*ua;sa=za-ta;p[a+80>>3]=ya;p[a+88>>3]=qa;p[a+96>>3]=sa;za=O-va*(R+ya*3.0);p[a+104>>3]=za;R=qa+qa;O=xa-va*(ra*va+R)-ua*ya;p[a+112>>3]=O;ra=wa-ua*(N+R)-va*sa;p[a+120>>3]=ra;va=S-ua*(ta+sa*3.0);p[a+128>>3]=va;ta=T*T;ua=ta*+L(+(+K(+T)));p[a+136>>3]=ta*ya;p[a+144>>3]=ta*qa;p[a+152>>3]=ta*sa;p[a+160>>3]=za*ua;p[a+168>>3]=O*ua;p[a+176>>3]=ra*ua;p[a+184>>3]=va*ua}}}else{if(w|0){f[g>>2]=0;f[g+4>>2]=0;E=JV(g,43)|0;F=243204;G=E+43|0;do{b[E>>0]=b[F>>0]|0;E=E+1|0;F=F+1|0}while((E|0)<(G|0));EP(-5,g,243248,243145,678);KV(g)}a:do if((v|0)==0|d)Aa=341;else switch(t&7){case 2:{Aa=342;break a;break}case 3:{Aa=343;break a;break}case 5:{Aa=344;break a;break}case 6:{Aa=345;break a;break}default:{f[g>>2]=0;f[g+4>>2]=0;EP(-210,g,243248,243145,693);KV(g);Aa=0;break a}}while(0);f[g>>2]=f[k>>2];t=g+4|0;v=k+4|0;F=f[v>>2]|0;f[t>>2]=F;E=g+8|0;f[E>>2]=f[k+8>>2];f[g+12>>2]=f[k+12>>2];G=g+16|0;f[G>>2]=f[k+16>>2];f[g+20>>2]=f[k+20>>2];f[g+24>>2]=f[k+24>>2];f[g+28>>2]=f[k+28>>2];f[g+32>>2]=f[k+32>>2];w=g+36|0;c=f[k+36>>2]|0;f[w>>2]=c;z=g+40|0;f[z>>2]=E;E=g+48|0;A=g+44|0;f[A>>2]=E;f[E>>2]=0;f[g+52>>2]=0;if(!c)Ba=F;else{F=c+12|0;f[F>>2]=(f[F>>2]|0)+1;Ba=f[v>>2]|0}if((Ba|0)<3){Ba=f[k+44>>2]|0;v=f[A>>2]|0;f[v>>2]=f[Ba>>2];f[v+4>>2]=f[Ba+4>>2]}else{f[t>>2]=0;WO(g,k)}Ba=f[x>>2]|0;if((Ba|0)>0){v=m+4|0;F=m+8|0;c=m+12|0;y=m+4|0;B=m+8|0;D=m+12|0;C=m+16|0;Ca=m+20|0;Da=m+24|0;Ea=m+28|0;Fa=m+40|0;Ga=m+48|0;Ha=m+44|0;Ia=m+52|0;Ja=o+8|0;Ka=o+12|0;La=o+4|0;Ma=q+8|0;Na=q+12|0;Oa=q+4|0;Pa=s+8|0;Qa=s+4|0;Ra=m+36|0;Sa=l+36|0;Ta=l+16|0;Ua=l+4|0;Va=l+40|0;Wa=l+8|0;Xa=l+12|0;Ya=l+44|0;Za=l+20|0;_a=l+24|0;$a=l+28|0;ab=m+32|0;bb=l+32|0;cb=m+8|0;db=m+16|0;eb=m+24|0;fb=m+32|0;gb=m+40|0;hb=m+48|0;ib=m+56|0;jb=m+64|0;kb=m+72|0;lb=l+48|0;mb=Da+8|0;nb=0;ua=0.0;va=0.0;ra=0.0;O=0.0;za=0.0;sa=0.0;ta=0.0;qa=0.0;ya=0.0;T=0.0;ob=Ba;Ba=f[j>>2]|0;while(1){pb=ob-nb|0;qb=(pb|0)<32?pb:32;if((Ba|0)>0){S=+(nb|0);pb=0;R=ua;N=va;wa=ra;xa=O;U=za;V=sa;J=ta;Y=qa;Z=ya;I=T;rb=Ba;do{sb=rb-pb|0;tb=(sb|0)<32?sb:32;f[m>>2]=pb;f[v>>2]=nb;f[F>>2]=tb;f[c>>2]=qb;$O(l,g,m);if(d){f[y>>2]=2;f[B>>2]=qb;f[D>>2]=tb;f[C>>2]=i;f[Ca>>2]=i;sb=mb;f[sb>>2]=0;f[sb+4>>2]=0;f[Fa>>2]=B;f[Ha>>2]=Ga;f[m>>2]=1124024320;f[Ga>>2]=tb;f[Ia>>2]=1;sb=i+(X(qb,tb)|0)|0;f[Ea>>2]=sb;f[Da>>2]=sb;f[Ja>>2]=0;f[Ka>>2]=0;f[o>>2]=16842752;f[La>>2]=l;p[r>>3]=0.0;f[q>>2]=-1056833530;f[Oa>>2]=r;f[Ma>>2]=1;f[Na>>2]=1;sb=Pa;f[sb>>2]=0;f[sb+4>>2]=0;f[s>>2]=33619968;f[Qa>>2]=m;iJ(o,q,s,5);sb=f[Ra>>2]|0;if(sb|0){tb=sb+12|0;f[tb>>2]=(f[tb>>2]|0)+1}tb=f[Sa>>2]|0;do if(tb|0){sb=tb+12|0;ub=f[sb>>2]|0;f[sb>>2]=ub+-1;if((ub|0)!=1)break;XO(l)}while(0);f[Sa>>2]=0;f[Ta>>2]=0;f[Ta+4>>2]=0;f[Ta+8>>2]=0;f[Ta+12>>2]=0;if((f[Ua>>2]|0)>0){tb=f[Va>>2]|0;ub=0;do{f[tb+(ub<<2)>>2]=0;ub=ub+1|0;vb=f[Ua>>2]|0}while((ub|0)<(vb|0));f[l>>2]=f[m>>2];if((vb|0)<3)wb=62;else wb=64}else{f[l>>2]=f[m>>2];wb=62}do if((wb|0)==62){wb=0;ub=f[y>>2]|0;if((ub|0)>=3){wb=64;break}f[Ua>>2]=ub;f[Wa>>2]=f[B>>2];f[Xa>>2]=f[D>>2];ub=f[Ha>>2]|0;tb=f[Ya>>2]|0;f[tb>>2]=f[ub>>2];f[tb+4>>2]=f[ub+4>>2]}while(0);if((wb|0)==64){wb=0;WO(l,m)}f[Ta>>2]=f[C>>2];f[Za>>2]=f[Ca>>2];f[_a>>2]=f[Da>>2];f[$a>>2]=f[Ea>>2];f[bb>>2]=f[ab>>2];ub=f[Ra>>2]|0;f[Sa>>2]=ub;do if(ub|0){tb=ub+12|0;sb=f[tb>>2]|0;f[tb>>2]=sb+-1;if((sb|0)!=1)break;XO(m)}while(0);f[Ra>>2]=0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;f[C+12>>2]=0;if((f[y>>2]|0)>0){ub=f[Fa>>2]|0;sb=0;do{f[ub+(sb<<2)>>2]=0;sb=sb+1|0}while((sb|0)<(f[y>>2]|0))}sb=f[Ha>>2]|0;if((sb|0)!=(Ga|0))dX(sb)}zg[Aa&511](l,m);$=+p[m>>3];if(d){W=$*.00392156862745098;p[m>>3]=W;M=+p[cb>>3]*.00392156862745098;p[cb>>3]=M;ha=+p[db>>3]*.00392156862745098;p[db>>3]=ha;ba=+p[eb>>3]*.00392156862745098;p[eb>>3]=ba;fa=+p[fb>>3]*.00392156862745098;p[fb>>3]=fa;ma=+p[gb>>3]*.00392156862745098;p[gb>>3]=ma;pa=+p[hb>>3]*.00392156862745098;p[hb>>3]=pa;ga=+p[ib>>3]*.00392156862745098;p[ib>>3]=ga;ja=+p[jb>>3]*.00392156862745098;p[jb>>3]=ja;la=+p[kb>>3]*.00392156862745098;p[kb>>3]=la;xb=W;yb=M;zb=ha;Ab=ba;Bb=fa;Cb=ma;Db=pa;Eb=ga;Fb=ja;Gb=la}else{xb=$;yb=+p[cb>>3];zb=+p[db>>3];Ab=+p[eb>>3];Bb=+p[fb>>3];Cb=+p[gb>>3];Db=+p[hb>>3];Eb=+p[ib>>3];Fb=+p[jb>>3];Gb=+p[kb>>3]}$=+(pb|0);la=xb*$;ja=xb*S;R=R+xb;ga=yb+la;I=I+ga;pa=ja+zb;N=N+pa;wa=wa+(Ab+(la+yb*2.0)*$);ma=pa*$;pa=yb*S;xa=xa+(pa+(Bb+ma));U=U+(Cb+(ja+zb*2.0)*S);V=V+(Db+(Ab*3.0+(la+yb*3.0)*$)*$);J=J+(Ab*S+(Eb+(ma+(pa+Bb)*2.0)*$));Y=Y+(Cb*$+(Fb+(ga*S+(zb*$+Bb)*2.0)*S));Z=Z+(((ja+zb*3.0)*S+Cb*3.0)*S+Gb);sb=f[Sa>>2]|0;do if(sb|0){ub=sb+12|0;tb=f[ub>>2]|0;f[ub>>2]=tb+-1;if((tb|0)!=1)break;XO(l)}while(0);f[Sa>>2]=0;f[Ta>>2]=0;f[Ta+4>>2]=0;f[Ta+8>>2]=0;f[Ta+12>>2]=0;if((f[Ua>>2]|0)>0){sb=f[Va>>2]|0;tb=0;do{f[sb+(tb<<2)>>2]=0;tb=tb+1|0}while((tb|0)<(f[Ua>>2]|0))}tb=f[Ya>>2]|0;if((tb|0)!=(lb|0))dX(tb);pb=pb+32|0;rb=f[j>>2]|0}while((rb|0)>(pb|0));Hb=R;Ib=N;Jb=wa;Kb=xa;Lb=U;Mb=V;Nb=J;Ob=Y;Pb=Z;Qb=I;Rb=f[x>>2]|0;Sb=rb}else{Hb=ua;Ib=va;Jb=ra;Kb=O;Lb=za;Mb=sa;Nb=ta;Ob=qa;Pb=ya;Qb=T;Rb=ob;Sb=Ba}nb=nb+32|0;if((Rb|0)<=(nb|0)){Tb=Hb;Ub=Ib;Vb=Jb;Wb=Kb;Xb=Lb;Yb=Mb;Zb=Nb;_b=Ob;$b=Pb;ac=Qb;break}else{ua=Hb;va=Ib;ra=Jb;O=Kb;za=Lb;sa=Mb;ta=Nb;qa=Ob;ya=Pb;T=Qb;ob=Rb;Ba=Sb}}}else{Tb=0.0;Ub=0.0;Vb=0.0;Wb=0.0;Xb=0.0;Yb=0.0;Zb=0.0;_b=0.0;$b=0.0;ac=0.0}Sb=+K(+Tb)>2.220446049250313e-16;Qb=1.0/Tb;T=Sb?Qb:0.0;Pb=Sb?Ub*Qb:0.0;ya=Sb?ac*Qb:0.0;Qb=ac*ya;Ob=Vb-Qb;qa=ac*Pb;Nb=Wb-qa;ta=Ub*Pb;Mb=Xb-ta;sa=Yb-ya*(Qb+Ob*3.0);Qb=Nb+Nb;Lb=Zb-ya*(Ub*ya+Qb)-Pb*Ob;za=_b-Pb*(qa+Qb)-ya*Mb;ya=$b-Pb*(ta+Mb*3.0);ta=T*T;Pb=ta*+L(+(+K(+T)));p[a>>3]=Tb;p[a+8>>3]=ac;p[a+16>>3]=Ub;p[a+24>>3]=Vb;p[a+32>>3]=Wb;p[a+40>>3]=Xb;p[a+48>>3]=Yb;p[a+56>>3]=Zb;p[a+64>>3]=_b;p[a+72>>3]=$b;p[a+80>>3]=Ob;p[a+88>>3]=Nb;p[a+96>>3]=Mb;p[a+104>>3]=sa;p[a+112>>3]=Lb;p[a+120>>3]=za;p[a+128>>3]=ya;p[a+136>>3]=ta*Ob;p[a+144>>3]=ta*Nb;p[a+152>>3]=ta*Mb;p[a+160>>3]=sa*Pb;p[a+168>>3]=Lb*Pb;p[a+176>>3]=za*Pb;p[a+184>>3]=ya*Pb;Sb=f[w>>2]|0;if(Sb|0?(Ba=Sb+12|0,Sb=f[Ba>>2]|0,f[Ba>>2]=Sb+-1,(Sb|0)==1):0)XO(g);f[w>>2]=0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;if((f[t>>2]|0)>0){G=f[z>>2]|0;z=0;do{f[G+(z<<2)>>2]=0;z=z+1|0}while((z|0)<(f[t>>2]|0))}t=f[A>>2]|0;if((t|0)!=(E|0))dX(t)}t=k+36|0;E=f[t>>2]|0;if(E|0?(A=E+12|0,E=f[A>>2]|0,f[A>>2]=E+-1,(E|0)==1):0)XO(k);f[t>>2]=0;t=k+16|0;E=k+4|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;if((f[E>>2]|0)>0){t=f[k+40>>2]|0;A=0;do{f[t+(A<<2)>>2]=0;A=A+1|0}while((A|0)<(f[E>>2]|0))}E=f[k+44>>2]|0;if((E|0)!=(k+48|0))dX(E)}else FVa(a|0,0,192)|0;if(!(f[h+4>>2]|0)){u=e;return}u=e;return}function loa(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,Y=0.0,Z=0.0;c=f[a+40>>2]|0;e=f[c+4>>2]|0;g=f[c>>2]|0;if((g|0)>0?(c=f[a+16>>2]|0,h=f[f[a+44>>2]>>2]|0,(e|0)>0):0){a=0;i=0;j=0;k=0;l=0;m=0;n=0;o=0;q=0;r=0;s=0;t=0;u=0;v=0;w=0;x=0;y=0;z=0;A=0;B=0;C=0;do{D=c+(X(h,a)|0)|0;E=0;F=0;G=0;H=0;J=0;K=0;do{L=d[D+(H<<1)>>1]|0;M=X(H,L)|0;G=G+L|0;F=M+F|0;L=X(M,H)|0;E=L+E|0;M=X(L,H)|0;J=qVa(J|0,K|0,M|0,((M|0)<0)<<31>>31|0)|0;K=I;H=H+1|0}while((H|0)!=(e|0));H=X(G,a)|0;D=X(a,a)|0;M=((H|0)<0)<<31>>31;L=wVa(H|0,M|0,D|0,0)|0;z=qVa(z|0,A|0,L|0,I|0)|0;A=I;L=((F|0)<0)<<31>>31;N=wVa(F|0,L|0,D|0,0)|0;B=qVa(B|0,C|0,N|0,I|0)|0;C=I;N=((E|0)<0)<<31>>31;O=wVa(E|0,N|0,a|0,((a|0)<0)<<31>>31|0)|0;i=qVa(i|0,j|0,O|0,I|0)|0;j=I;k=qVa(k|0,l|0,J|0,K|0)|0;l=I;O=X(G,D)|0;m=qVa(m|0,n|0,O|0,((O|0)<0)<<31>>31|0)|0;n=I;O=X(F,a)|0;o=qVa(o|0,q|0,O|0,((O|0)<0)<<31>>31|0)|0;q=I;r=qVa(r|0,s|0,E|0,N|0)|0;s=I;t=qVa(t|0,u|0,H|0,M|0)|0;u=I;v=qVa(v|0,w|0,F|0,L|0)|0;w=I;x=qVa(x|0,y|0,G|0,((G|0)<0)<<31>>31|0)|0;y=I;a=a+1|0}while((a|0)!=(g|0));P=+(x>>>0)+4294967296.0*+(y|0);Q=+(v>>>0)+4294967296.0*+(w|0);R=+(t>>>0)+4294967296.0*+(u|0);S=+(r>>>0)+4294967296.0*+(s|0);T=+(o>>>0)+4294967296.0*+(q|0);U=+(m>>>0)+4294967296.0*+(n|0);V=+(k>>>0)+4294967296.0*+(l|0);W=+(i>>>0)+4294967296.0*+(j|0);Y=+(B>>>0)+4294967296.0*+(C|0);Z=+(z>>>0)+4294967296.0*+(A|0)}else{P=0.0;Q=0.0;R=0.0;S=0.0;T=0.0;U=0.0;V=0.0;W=0.0;Y=0.0;Z=0.0}p[b>>3]=P;p[b+8>>3]=Q;p[b+16>>3]=R;p[b+24>>3]=S;p[b+32>>3]=T;p[b+40>>3]=U;p[b+48>>3]=V;p[b+56>>3]=W;p[b+64>>3]=Y;p[b+72>>3]=Z;return}function moa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0,J=0.0,K=0.0,L=0.0,M=0.0,N=0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0;c=u;u=u+80|0;d=c;e=f[a+40>>2]|0;g=f[e+4>>2]|0;h=f[e>>2]|0;e=d;i=e+80|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(i|0));if((h|0)<=0){e=b;j=d;i=e+80|0;do{f[e>>2]=f[j>>2];e=e+4|0;j=j+4|0}while((e|0)<(i|0));u=c;return}k=f[a+16>>2]|0;l=f[f[a+44>>2]>>2]|0;a=d+72|0;m=d+64|0;o=d+56|0;q=d+48|0;r=d+40|0;s=d+32|0;t=d+24|0;v=d+16|0;w=d+8|0;if((g|0)>0){x=0;y=0.0;z=0.0;A=0.0;B=0.0;C=0.0;D=0.0;E=0.0;F=0.0;G=0.0;H=0.0;while(1){I=k+(X(l,x)|0)|0;J=0.0;K=0.0;L=0.0;M=0.0;N=0;do{O=+n[I+(N<<2)>>2];P=+(N|0);Q=P*O;M=M+O;L=L+Q;O=Q*P;K=K+O;J=J+O*P;N=N+1|0}while((N|0)!=(g|0));P=+(x|0);O=M*P;Q=+(X(x,x)|0);R=O*Q+y;S=L*Q+z;T=K*P+A;U=J+B;V=M*Q+C;Q=L*P+D;P=K+E;W=O+F;O=L+G;Y=M+H;x=x+1|0;if((x|0)==(h|0)){Z=R;_=W;$=O;aa=Y;ba=S;ca=T;da=U;ea=V;fa=Q;ga=P;break}else{y=R;z=S;A=T;B=U;C=V;D=Q;E=P;F=W;G=O;H=Y}}}else{x=0;H=0.0;G=0.0;F=0.0;E=0.0;D=0.0;C=0.0;while(1){B=+(x|0)*0.0;A=+(X(x,x)|0);z=B*A+H;y=A*0.0;A=y+G;Y=B+F;O=y+E;y=B+D;W=B+C;x=x+1|0;if((x|0)==(h|0)){Z=z;_=W;$=0.0;aa=0.0;ba=A;ca=Y;da=0.0;ea=O;fa=y;ga=0.0;break}else{H=z;G=A;F=Y;E=O;D=y;C=W}}}p[a>>3]=Z;p[m>>3]=ba;p[o>>3]=ca;p[q>>3]=da;p[r>>3]=ea;p[s>>3]=fa;p[t>>3]=ga;p[v>>3]=_;p[w>>3]=$;p[d>>3]=aa;e=b;j=d;i=e+80|0;do{f[e>>2]=f[j>>2];e=e+4|0;j=j+4|0}while((e|0)<(i|0));u=c;return}function noa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0,I=0.0,J=0.0,K=0.0,L=0.0,M=0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0;c=u;u=u+80|0;d=c;e=f[a+40>>2]|0;g=f[e+4>>2]|0;h=f[e>>2]|0;e=d;i=e+80|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(i|0));if((h|0)<=0){e=b;j=d;i=e+80|0;do{f[e>>2]=f[j>>2];e=e+4|0;j=j+4|0}while((e|0)<(i|0));u=c;return}k=f[a+16>>2]|0;l=f[f[a+44>>2]>>2]|0;a=d+72|0;m=d+64|0;n=d+56|0;o=d+48|0;q=d+40|0;r=d+32|0;s=d+24|0;t=d+16|0;v=d+8|0;if((g|0)>0){w=0;x=0.0;y=0.0;z=0.0;A=0.0;B=0.0;C=0.0;D=0.0;E=0.0;F=0.0;G=0.0;while(1){H=k+(X(l,w)|0)|0;I=0.0;J=0.0;K=0.0;L=0.0;M=0;do{N=+p[H+(M<<3)>>3];O=+(M|0);P=N*O;L=L+N;K=K+P;N=P*O;J=J+N;I=I+N*O;M=M+1|0}while((M|0)!=(g|0));O=+(w|0);N=L*O;P=+(X(w,w)|0);Q=N*P+x;R=K*P+y;S=J*O+z;T=I+A;U=L*P+B;P=K*O+C;O=J+D;V=N+E;N=K+F;W=L+G;w=w+1|0;if((w|0)==(h|0)){Y=Q;Z=V;_=N;$=W;aa=R;ba=S;ca=T;da=U;ea=P;fa=O;break}else{x=Q;y=R;z=S;A=T;B=U;C=P;D=O;E=V;F=N;G=W}}}else{w=0;G=0.0;F=0.0;E=0.0;D=0.0;C=0.0;B=0.0;while(1){A=+(w|0)*0.0;z=+(X(w,w)|0);y=A*z+G;x=z*0.0;z=x+F;W=A+E;N=x+D;x=A+C;V=A+B;w=w+1|0;if((w|0)==(h|0)){Y=y;Z=V;_=0.0;$=0.0;aa=z;ba=W;ca=0.0;da=N;ea=x;fa=0.0;break}else{G=y;F=z;E=W;D=N;C=x;B=V}}}p[a>>3]=Y;p[m>>3]=aa;p[n>>3]=ba;p[o>>3]=ca;p[q>>3]=da;p[r>>3]=ea;p[s>>3]=fa;p[t>>3]=Z;p[v>>3]=_;p[d>>3]=$;e=b;j=d;i=e+80|0;do{f[e>>2]=f[j>>2];e=e+4|0;j=j+4|0}while((e|0)<(i|0));u=c;return}function ooa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0;c=f[a+40>>2]|0;d=f[c+4>>2]|0;e=f[c>>2]|0;if((e|0)>0?(c=f[a+16>>2]|0,g=f[f[a+44>>2]>>2]|0,(d|0)>0):0){a=0;i=0;j=0;k=0;l=0;m=0;n=0;o=0;q=0;r=0;s=0;do{t=c+(X(g,a)|0)|0;u=0;v=0;w=0;x=0;y=0;do{z=h[t+y>>0]|0;A=X(y,z)|0;x=x+z|0;w=A+w|0;z=X(A,y)|0;v=z+v|0;u=(X(z,y)|0)+u|0;y=y+1|0}while((y|0)!=(d|0));y=X(x,a)|0;t=X(a,a)|0;i=i+(X(y,t)|0)|0;j=j+(X(w,t)|0)|0;k=k+(X(v,a)|0)|0;l=l+u|0;m=m+(X(x,t)|0)|0;n=n+(X(w,a)|0)|0;o=o+v|0;q=q+y|0;r=r+w|0;s=s+x|0;a=a+1|0}while((a|0)!=(e|0));B=+(s|0);C=+(r|0);D=+(q|0);E=+(o|0);F=+(n|0);G=+(m|0);H=+(l|0);I=+(k|0);J=+(j|0);K=+(i|0)}else{B=0.0;C=0.0;D=0.0;E=0.0;F=0.0;G=0.0;H=0.0;I=0.0;J=0.0;K=0.0}p[b>>3]=B;p[b+8>>3]=C;p[b+16>>3]=D;p[b+24>>3]=E;p[b+32>>3]=F;p[b+40>>3]=G;p[b+48>>3]=H;p[b+56>>3]=I;p[b+64>>3]=J;p[b+72>>3]=K;return}function poa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,Y=0.0,Z=0.0;c=f[a+40>>2]|0;d=f[c+4>>2]|0;e=f[c>>2]|0;if((e|0)>0?(c=f[a+16>>2]|0,g=f[f[a+44>>2]>>2]|0,(d|0)>0):0){a=0;h=0;i=0;k=0;l=0;m=0;n=0;o=0;q=0;r=0;s=0;t=0;u=0;v=0;w=0;x=0;y=0;z=0;A=0;B=0;C=0;do{D=c+(X(g,a)|0)|0;E=0;F=0;G=0;H=0;J=0;K=0;do{L=j[D+(H<<1)>>1]|0;M=X(H,L)|0;G=G+L|0;F=M+F|0;L=X(M,H)|0;E=L+E|0;M=X(L,H)|0;J=qVa(J|0,K|0,M|0,((M|0)<0)<<31>>31|0)|0;K=I;H=H+1|0}while((H|0)!=(d|0));H=X(G,a)|0;D=X(a,a)|0;M=((H|0)<0)<<31>>31;L=wVa(H|0,M|0,D|0,0)|0;z=qVa(z|0,A|0,L|0,I|0)|0;A=I;L=((F|0)<0)<<31>>31;N=wVa(F|0,L|0,D|0,0)|0;B=qVa(B|0,C|0,N|0,I|0)|0;C=I;N=((E|0)<0)<<31>>31;O=wVa(E|0,N|0,a|0,((a|0)<0)<<31>>31|0)|0;h=qVa(h|0,i|0,O|0,I|0)|0;i=I;k=qVa(k|0,l|0,J|0,K|0)|0;l=I;O=X(G,D)|0;m=qVa(m|0,n|0,O|0,((O|0)<0)<<31>>31|0)|0;n=I;O=X(F,a)|0;o=qVa(o|0,q|0,O|0,((O|0)<0)<<31>>31|0)|0;q=I;r=qVa(r|0,s|0,E|0,N|0)|0;s=I;t=qVa(t|0,u|0,H|0,M|0)|0;u=I;v=qVa(v|0,w|0,F|0,L|0)|0;w=I;x=qVa(x|0,y|0,G|0,((G|0)<0)<<31>>31|0)|0;y=I;a=a+1|0}while((a|0)!=(e|0));P=+(x>>>0)+4294967296.0*+(y|0);Q=+(v>>>0)+4294967296.0*+(w|0);R=+(t>>>0)+4294967296.0*+(u|0);S=+(r>>>0)+4294967296.0*+(s|0);T=+(o>>>0)+4294967296.0*+(q|0);U=+(m>>>0)+4294967296.0*+(n|0);V=+(k>>>0)+4294967296.0*+(l|0);W=+(h>>>0)+4294967296.0*+(i|0);Y=+(B>>>0)+4294967296.0*+(C|0);Z=+(z>>>0)+4294967296.0*+(A|0)}else{P=0.0;Q=0.0;R=0.0;S=0.0;T=0.0;U=0.0;V=0.0;W=0.0;Y=0.0;Z=0.0}p[b>>3]=P;p[b+8>>3]=Q;p[b+16>>3]=R;p[b+24>>3]=S;p[b+32>>3]=T;p[b+40>>3]=U;p[b+48>>3]=V;p[b+56>>3]=W;p[b+64>>3]=Y;p[b+72>>3]=Z;return}function qoa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0,o=0.0,q=0.0,r=0.0,s=0.0;c=u;u=u+16|0;d=c;yV(d,61092);e=a+160|0;g=a+176|0;h=+p[e>>3]+ +p[g>>3];i=a+168|0;j=a+184|0;k=+p[i>>3]+ +p[j>>3];l=h*h;m=k*k;n=a+144|0;o=+p[n>>3]*4.0;q=+p[a+136>>3];r=+p[a+152>>3];s=q-r;p[b>>3]=q+r;p[b+8>>3]=s*s+o*+p[n>>3];p[b+24>>3]=l+m;p[b+40>>3]=k*(h*o)+(l-m)*s;s=h*(l-m*3.0);h=k*(l*3.0-m);m=+p[e>>3]-+p[g>>3]*3.0;l=+p[i>>3]*3.0-+p[j>>3];p[b+16>>3]=m*m+l*l;p[b+32>>3]=s*m+h*l;p[b+48>>3]=s*l-h*m;if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function roa(a,b,c,d,e,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,v=0;p=u;u=u+16|0;q=p;r=(a|0)==0;s=r&(b|0)==4;t=(c|0)==6;if(s&t){soa(d,e,g,h,i,j,k,l,m,n,o);u=p;return}v=(c|0)==5;if(s&v){toa(d,e,g,h,i,j,k,l,m,n,o);u=p;return}if(s&(c|0)==4){uoa(d,e,g,h,i,j,k,l,m,n,o);u=p;return}c=(b|0)==5;s=r&c;if(s&t){voa(d,e,g,h,i,j,k,l,m,n,o);u=p;return}if(s&v){woa(d,e,g,h,i,j,k,l,m,n,o);u=p;return}s=(b|0)==6;if(r&s&t){xoa(d,e,g,h,i,j,k,l,m,n,o);u=p;return}if((a|0)==2&s&t){yoa(d,e,g,h,i,j,k,l,m,n,o);u=p;return}if((a|0)==3&s&t){zoa(d,e,g,h,i,j,k,l,m,n,o);u=p;return}r=(a|0)==5;b=r&c;if(b&t){Aoa(d,e,g,h,i,j,k,l,m,n,o);u=p;return}if(b&v){Boa(d,e,g,h,i,j,k,l,m,n,o);u=p;return}if(r&s&t){Coa(d,e,g,h,i,j,k,l,m,n,o);u=p;return}if((a|0)==6&s&t){Doa(d,e,g,h,i,j,k,l,m,n,o);u=p;return}else{f[q>>2]=0;f[q+4>>2]=0;EP(-210,q,243352,243361,488);KV(q);u=p;return}}function soa(a,c,d,e,g,i,j,k,l,m,n){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0.0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0.0,ia=0.0,ja=0,ka=0,la=0.0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;o=u;u=u+1072|0;q=0-n|0;r=o;s=e>>>2;e=k>>>2;k=0-e|0;t=i>>>3;i=X(n,l)|0;l=i+n|0;v=l<<2;FVa(d|0,0,v|0)|0;w=d+(s+n<<2)|0;if(!g)x=0;else{FVa(g|0,0,l<<3|0)|0;x=g+(t+n<<3)|0}if(!j)y=0;else{FVa(j|0,0,v|0)|0;y=j+(e+n<<2)|0}j=(y|0)==0;if((x|0)==0&j){if((m|0)<=0){u=o;return}v=(i|0)>0;if((n|0)<=0){u=o;return}g=n<<2;z=w;A=0;B=a;while(1){if(v){C=0;D=z;E=B;while(1){f[D+(q<<2)>>2]=0;F=0;G=0;do{F=F+(h[E+G>>0]|0)|0;f[D+(G<<2)>>2]=F+(f[D+(G-s<<2)>>2]|0);G=G+n|0}while((G|0)<(i|0));C=C+1|0;if((C|0)==(n|0))break;else{D=D+4|0;E=E+1|0}}}else FVa(z+(q<<2)|0,0,g|0)|0;A=A+1|0;if((A|0)==(m|0))break;else{z=z+(s<<2)|0;B=B+c|0}}u=o;return}if(j){if((m|0)<=0){u=o;return}j=(i|0)>0;if((n|0)>0){H=x;I=0;J=w;K=a}else{u=o;return}while(1){if(j){B=0;z=H;A=J;g=K;while(1){f[A+(q<<2)>>2]=0;p[z+(q<<3)>>3]=0.0;L=0.0;v=0;E=0;do{D=b[g+E>>0]|0;v=v+(D&255)|0;M=+(D&255);L=L+M*M;M=+p[z+(E-t<<3)>>3]+L;f[A+(E<<2)>>2]=v+(f[A+(E-s<<2)>>2]|0);p[z+(E<<3)>>3]=M;E=E+n|0}while((E|0)<(i|0));B=B+1|0;if((B|0)==(n|0))break;else{z=z+8|0;A=A+4|0;g=g+1|0}}}else{g=0;A=H;z=J;while(1){f[z+(q<<2)>>2]=0;p[A+(q<<3)>>3]=0.0;g=g+1|0;if((g|0)==(n|0))break;else{A=A+8|0;z=z+4|0}}}I=I+1|0;if((I|0)==(m|0))break;else{H=H+(t<<3)|0;J=J+(s<<2)|0;K=K+c|0}}u=o;return}K=r+8|0;f[r>>2]=K;J=r+4|0;f[J>>2]=l;if(l>>>0>264){H=FQa(l>>>0>1073741823?-1:l<<2)|0;f[r>>2]=H;N=H}else N=K;H=(n|0)>0;do if(H){l=(i|0)==(n|0);I=s+(n<<1)|0;j=y+(n<<2)|0;if((i|0)>0){O=N;P=y;Q=0;R=x;S=w;T=a}else{z=N;A=y;g=0;B=x;E=w;while(1){f[A+(q<<2)>>2]=0;f[E+(q<<2)>>2]=0;if(l)f[z+(n<<2)>>2]=0;if(!B)U=0;else{p[B+(q<<3)>>3]=0.0;U=B+8|0}g=g+1|0;if((g|0)==(n|0))break;else{z=z+4|0;A=A+4|0;B=U;E=E+4|0}}V=N+(n<<2)|0;W=j;Y=U;Z=a+n|0;_=d+(I<<2)|0;break}while(1){f[P+(q<<2)>>2]=0;f[S+(q<<2)>>2]=0;E=(R|0)==0;if(E){B=0;A=0;do{z=h[T+A>>0]|0;f[P+(A<<2)>>2]=z;f[O+(A<<2)>>2]=z;B=B+z|0;f[S+(A<<2)>>2]=B;A=A+n|0}while((A|0)<(i|0))}else{L=0.0;A=0;B=0;do{z=b[T+B>>0]|0;g=z&255;f[P+(B<<2)>>2]=g;f[O+(B<<2)>>2]=g;A=A+g|0;M=+(z&255);L=L+M*M;f[S+(B<<2)>>2]=A;p[R+(B<<3)>>3]=L;B=B+n|0}while((B|0)<(i|0))}if(l)f[O+(n<<2)>>2]=0;if(E)$=0;else{p[R+(q<<3)>>3]=0.0;$=R+8|0}Q=Q+1|0;if((Q|0)==(n|0))break;else{O=O+4|0;P=P+4|0;R=$;S=S+4|0;T=T+1|0}}V=N+(n<<2)|0;W=j;Y=$;Z=a+n|0;_=d+(I<<2)|0}else{V=N;W=y;Y=x;Z=a;_=w}while(0);if((m|0)>1){w=c-n|0;a=s-n|0;x=e-n|0;y=t-n|0;d=0-s|0;$=0-t|0;T=i-n|0;S=(T|0)>(n|0);R=e+n|0;P=(i|0)>(n|0);i=V;V=W;W=1;O=_;_=Y;Y=Z;while(1){Z=Y+w|0;Q=O+(a<<2)|0;U=V+(x<<2)|0;l=i+(q<<2)|0;B=(_|0)==0?0:_+(y<<3)|0;if(H){A=O+(s<<2)|0;z=l;g=U;v=0;D=Q;C=Z;G=B;while(1){F=b[C>>0]|0;aa=F&255;L=+(F&255);M=L*L;f[D+(q<<2)>>2]=0;F=(G|0)!=0;if(F)p[G+(q<<3)>>3]=0.0;ba=g+(k<<2)|0;f[g+(q<<2)>>2]=f[ba>>2];f[D>>2]=(f[D+(d<<2)>>2]|0)+aa;if(F)p[G>>3]=M+ +p[G+($<<3)>>3];f[g>>2]=(f[ba>>2]|0)+aa+(f[z+(n<<2)>>2]|0);if(S)if(F){ba=aa;L=M;ca=aa;da=n;while(1){ea=f[z+(da<<2)>>2]|0;f[z+(da-n<<2)>>2]=ea+ba;fa=b[C+da>>0]|0;ga=fa&255;ha=+(fa&255);fa=ca+ga|0;ia=L+ha*ha;f[D+(da<<2)>>2]=fa+(f[D+(da-s<<2)>>2]|0);p[G+(da<<3)>>3]=ia+ +p[G+(da-t<<3)>>3];ja=da+n|0;f[g+(da<<2)>>2]=ea+ga+(f[z+(ja<<2)>>2]|0)+(f[g+(da-R<<2)>>2]|0);if((ja|0)<(T|0)){ba=ga;L=ia;ca=fa;da=ja}else{ka=ga;la=ia;ma=fa;na=ja;break}}}else{da=aa;L=M;ca=aa;ba=n;while(1){E=f[z+(ba<<2)>>2]|0;f[z+(ba-n<<2)>>2]=E+da;ja=b[C+ba>>0]|0;fa=ja&255;ia=+(ja&255);ja=ca+fa|0;ha=L+ia*ia;f[D+(ba<<2)>>2]=ja+(f[D+(ba-s<<2)>>2]|0);ga=ba+n|0;f[g+(ba<<2)>>2]=E+fa+(f[z+(ga<<2)>>2]|0)+(f[g+(ba-R<<2)>>2]|0);if((ga|0)<(T|0)){da=fa;L=ha;ca=ja;ba=ga}else{ka=fa;la=ha;ma=ja;na=ga;break}}}else{ka=aa;la=M;ma=aa;na=n}if(P){ba=z+(na<<2)|0;ca=f[ba>>2]|0;f[z+(na-n<<2)>>2]=ca+ka;da=b[C+na>>0]|0;ga=da&255;f[D+(na<<2)>>2]=ma+ga+(f[D+(na-s<<2)>>2]|0);L=+(da&255);if(F)p[G+(na<<3)>>3]=la+L*L+ +p[G+(na-t<<3)>>3];f[g+(na<<2)>>2]=ca+ga+(f[g+(na-R<<2)>>2]|0);f[ba>>2]=ga}G=F?G+8|0:0;v=v+1|0;if((v|0)==(n|0))break;else{z=z+4|0;g=g+4|0;D=D+4|0;C=C+1|0}}oa=i;pa=V+(e<<2)|0;qa=Y+c|0;ra=A;sa=G}else{oa=l;pa=U;qa=Z;ra=Q;sa=B}W=W+1|0;if((W|0)==(m|0))break;else{i=oa;V=pa;O=ra;_=sa;Y=qa}}}if((N|0)!=(K|0)){HQa(N);f[r>>2]=K;f[J>>2]=264}u=o;return}function toa(a,c,d,e,g,i,j,k,l,m,o){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0.0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0.0,ia=0.0,ja=0,ka=0,la=0.0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;p=u;u=u+1072|0;q=0-o|0;r=p;s=e>>>2;e=k>>>2;k=0-e|0;t=i>>>2;i=X(o,l)|0;l=i+o|0;v=l<<2;FVa(d|0,0,v|0)|0;w=d+(s+o<<2)|0;if(!g)x=0;else{FVa(g|0,0,v|0)|0;x=g+(t+o<<2)|0}if(!j)y=0;else{FVa(j|0,0,v|0)|0;y=j+(e+o<<2)|0}j=(y|0)==0;if((x|0)==0&j){if((m|0)<=0){u=p;return}v=(i|0)>0;if((o|0)<=0){u=p;return}g=o<<2;z=w;A=0;B=a;while(1){if(v){C=0;D=z;E=B;while(1){f[D+(q<<2)>>2]=0;F=0;G=0;do{F=F+(h[E+G>>0]|0)|0;f[D+(G<<2)>>2]=F+(f[D+(G-s<<2)>>2]|0);G=G+o|0}while((G|0)<(i|0));C=C+1|0;if((C|0)==(o|0))break;else{D=D+4|0;E=E+1|0}}}else FVa(z+(q<<2)|0,0,g|0)|0;A=A+1|0;if((A|0)==(m|0))break;else{z=z+(s<<2)|0;B=B+c|0}}u=p;return}if(j){if((m|0)<=0){u=p;return}j=(i|0)>0;if((o|0)>0){H=x;I=0;J=w;K=a}else{u=p;return}while(1){if(j){B=0;z=H;A=J;g=K;while(1){f[A+(q<<2)>>2]=0;n[z+(q<<2)>>2]=0.0;L=0.0;v=0;E=0;do{D=b[g+E>>0]|0;v=v+(D&255)|0;M=+(D&255);L=L+M*M;M=+n[z+(E-t<<2)>>2]+L;f[A+(E<<2)>>2]=v+(f[A+(E-s<<2)>>2]|0);n[z+(E<<2)>>2]=M;E=E+o|0}while((E|0)<(i|0));B=B+1|0;if((B|0)==(o|0))break;else{z=z+4|0;A=A+4|0;g=g+1|0}}}else{g=0;A=H;z=J;while(1){f[z+(q<<2)>>2]=0;n[A+(q<<2)>>2]=0.0;g=g+1|0;if((g|0)==(o|0))break;else{A=A+4|0;z=z+4|0}}}I=I+1|0;if((I|0)==(m|0))break;else{H=H+(t<<2)|0;J=J+(s<<2)|0;K=K+c|0}}u=p;return}K=r+8|0;f[r>>2]=K;J=r+4|0;f[J>>2]=l;if(l>>>0>264){H=FQa(l>>>0>1073741823?-1:l<<2)|0;f[r>>2]=H;N=H}else N=K;H=(o|0)>0;do if(H){l=(i|0)==(o|0);I=s+(o<<1)|0;j=y+(o<<2)|0;if((i|0)>0){O=N;P=y;Q=0;R=x;S=w;T=a}else{z=N;A=y;g=0;B=x;E=w;while(1){f[A+(q<<2)>>2]=0;f[E+(q<<2)>>2]=0;if(l)f[z+(o<<2)>>2]=0;if(!B)U=0;else{n[B+(q<<2)>>2]=0.0;U=B+4|0}g=g+1|0;if((g|0)==(o|0))break;else{z=z+4|0;A=A+4|0;B=U;E=E+4|0}}V=N+(o<<2)|0;W=j;Y=U;Z=a+o|0;_=d+(I<<2)|0;break}while(1){f[P+(q<<2)>>2]=0;f[S+(q<<2)>>2]=0;E=(R|0)==0;if(E){B=0;A=0;do{z=h[T+A>>0]|0;f[P+(A<<2)>>2]=z;f[O+(A<<2)>>2]=z;B=B+z|0;f[S+(A<<2)>>2]=B;A=A+o|0}while((A|0)<(i|0))}else{L=0.0;A=0;B=0;do{z=b[T+B>>0]|0;g=z&255;f[P+(B<<2)>>2]=g;f[O+(B<<2)>>2]=g;A=A+g|0;M=+(z&255);L=L+M*M;f[S+(B<<2)>>2]=A;n[R+(B<<2)>>2]=L;B=B+o|0}while((B|0)<(i|0))}if(l)f[O+(o<<2)>>2]=0;if(E)$=0;else{n[R+(q<<2)>>2]=0.0;$=R+4|0}Q=Q+1|0;if((Q|0)==(o|0))break;else{O=O+4|0;P=P+4|0;R=$;S=S+4|0;T=T+1|0}}V=N+(o<<2)|0;W=j;Y=$;Z=a+o|0;_=d+(I<<2)|0}else{V=N;W=y;Y=x;Z=a;_=w}while(0);if((m|0)>1){w=c-o|0;a=s-o|0;x=e-o|0;y=t-o|0;d=0-s|0;$=0-t|0;T=i-o|0;S=(T|0)>(o|0);R=e+o|0;P=(i|0)>(o|0);i=V;V=W;W=1;O=_;_=Y;Y=Z;while(1){Z=Y+w|0;Q=O+(a<<2)|0;U=V+(x<<2)|0;l=i+(q<<2)|0;B=(_|0)==0?0:_+(y<<2)|0;if(H){A=O+(s<<2)|0;z=l;g=U;v=0;D=Q;C=Z;G=B;while(1){F=b[C>>0]|0;aa=F&255;L=+(F&255);M=L*L;f[D+(q<<2)>>2]=0;F=(G|0)!=0;if(F)n[G+(q<<2)>>2]=0.0;ba=g+(k<<2)|0;f[g+(q<<2)>>2]=f[ba>>2];f[D>>2]=(f[D+(d<<2)>>2]|0)+aa;if(F)n[G>>2]=M+ +n[G+($<<2)>>2];f[g>>2]=(f[ba>>2]|0)+aa+(f[z+(o<<2)>>2]|0);if(S)if(F){ba=aa;L=M;ca=aa;da=o;while(1){ea=f[z+(da<<2)>>2]|0;f[z+(da-o<<2)>>2]=ea+ba;fa=b[C+da>>0]|0;ga=fa&255;ha=+(fa&255);fa=ca+ga|0;ia=L+ha*ha;f[D+(da<<2)>>2]=fa+(f[D+(da-s<<2)>>2]|0);n[G+(da<<2)>>2]=ia+ +n[G+(da-t<<2)>>2];ja=da+o|0;f[g+(da<<2)>>2]=ea+ga+(f[z+(ja<<2)>>2]|0)+(f[g+(da-R<<2)>>2]|0);if((ja|0)<(T|0)){ba=ga;L=ia;ca=fa;da=ja}else{ka=ga;la=ia;ma=fa;na=ja;break}}}else{da=aa;L=M;ca=aa;ba=o;while(1){E=f[z+(ba<<2)>>2]|0;f[z+(ba-o<<2)>>2]=E+da;ja=b[C+ba>>0]|0;fa=ja&255;ia=+(ja&255);ja=ca+fa|0;ha=L+ia*ia;f[D+(ba<<2)>>2]=ja+(f[D+(ba-s<<2)>>2]|0);ga=ba+o|0;f[g+(ba<<2)>>2]=E+fa+(f[z+(ga<<2)>>2]|0)+(f[g+(ba-R<<2)>>2]|0);if((ga|0)<(T|0)){da=fa;L=ha;ca=ja;ba=ga}else{ka=fa;la=ha;ma=ja;na=ga;break}}}else{ka=aa;la=M;ma=aa;na=o}if(P){ba=z+(na<<2)|0;ca=f[ba>>2]|0;f[z+(na-o<<2)>>2]=ca+ka;da=b[C+na>>0]|0;ga=da&255;f[D+(na<<2)>>2]=ma+ga+(f[D+(na-s<<2)>>2]|0);L=+(da&255);if(F)n[G+(na<<2)>>2]=la+L*L+ +n[G+(na-t<<2)>>2];f[g+(na<<2)>>2]=ca+ga+(f[g+(na-R<<2)>>2]|0);f[ba>>2]=ga}G=F?G+4|0:0;v=v+1|0;if((v|0)==(o|0))break;else{z=z+4|0;g=g+4|0;D=D+4|0;C=C+1|0}}oa=i;pa=V+(e<<2)|0;qa=Y+c|0;ra=A;sa=G}else{oa=l;pa=U;qa=Z;ra=Q;sa=B}W=W+1|0;if((W|0)==(m|0))break;else{i=oa;V=pa;O=ra;_=sa;Y=qa}}}if((N|0)!=(K|0)){HQa(N);f[r>>2]=K;f[J>>2]=264}u=p;return}function uoa(a,b,c,d,e,g,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;n=u;u=u+1072|0;o=0-m|0;p=n;q=d>>>2;d=j>>>2;j=0-d|0;r=g>>>2;g=X(m,k)|0;k=g+m|0;s=k<<2;FVa(c|0,0,s|0)|0;t=c+(q+m<<2)|0;if(!e)v=0;else{FVa(e|0,0,s|0)|0;v=e+(r+m<<2)|0}if(!i)w=0;else{FVa(i|0,0,s|0)|0;w=i+(d+m<<2)|0}i=(w|0)==0;if((v|0)==0&i){if((l|0)<=0){u=n;return}s=(g|0)>0;if((m|0)<=0){u=n;return}e=m<<2;x=t;y=0;z=a;while(1){if(s){A=0;B=x;C=z;while(1){f[B+(o<<2)>>2]=0;D=0;E=0;do{D=D+(h[C+E>>0]|0)|0;f[B+(E<<2)>>2]=D+(f[B+(E-q<<2)>>2]|0);E=E+m|0}while((E|0)<(g|0));A=A+1|0;if((A|0)==(m|0))break;else{B=B+4|0;C=C+1|0}}}else FVa(x+(o<<2)|0,0,e|0)|0;y=y+1|0;if((y|0)==(l|0))break;else{x=x+(q<<2)|0;z=z+b|0}}u=n;return}if(i){if((l|0)<=0){u=n;return}i=(g|0)>0;if((m|0)>0){F=v;G=0;H=t;I=a}else{u=n;return}while(1){if(i){z=0;x=F;y=H;e=I;while(1){f[y+(o<<2)>>2]=0;f[x+(o<<2)>>2]=0;s=0;C=0;B=0;do{A=h[e+B>>0]|0;C=C+A|0;s=(X(A,A)|0)+s|0;A=s+(f[x+(B-r<<2)>>2]|0)|0;f[y+(B<<2)>>2]=C+(f[y+(B-q<<2)>>2]|0);f[x+(B<<2)>>2]=A;B=B+m|0}while((B|0)<(g|0));z=z+1|0;if((z|0)==(m|0))break;else{x=x+4|0;y=y+4|0;e=e+1|0}}}else{e=0;y=F;x=H;while(1){f[x+(o<<2)>>2]=0;f[y+(o<<2)>>2]=0;e=e+1|0;if((e|0)==(m|0))break;else{y=y+4|0;x=x+4|0}}}G=G+1|0;if((G|0)==(l|0))break;else{F=F+(r<<2)|0;H=H+(q<<2)|0;I=I+b|0}}u=n;return}I=p+8|0;f[p>>2]=I;H=p+4|0;f[H>>2]=k;if(k>>>0>264){F=FQa(k>>>0>1073741823?-1:k<<2)|0;f[p>>2]=F;J=F}else J=I;F=(m|0)>0;do if(F){k=(g|0)==(m|0);G=q+(m<<1)|0;i=w+(m<<2)|0;if((g|0)>0){K=J;L=w;M=0;N=v;O=t;P=a}else{x=J;y=w;e=0;z=v;B=t;while(1){f[y+(o<<2)>>2]=0;f[B+(o<<2)>>2]=0;if(k)f[x+(m<<2)>>2]=0;if(!z)Q=0;else{f[z+(o<<2)>>2]=0;Q=z+4|0}e=e+1|0;if((e|0)==(m|0))break;else{x=x+4|0;y=y+4|0;z=Q;B=B+4|0}}R=J+(m<<2)|0;S=i;T=Q;U=a+m|0;V=c+(G<<2)|0;break}while(1){f[L+(o<<2)>>2]=0;f[O+(o<<2)>>2]=0;B=(N|0)==0;if(B){z=0;y=0;do{x=h[P+y>>0]|0;f[L+(y<<2)>>2]=x;f[K+(y<<2)>>2]=x;z=z+x|0;f[O+(y<<2)>>2]=z;y=y+m|0}while((y|0)<(g|0))}else{y=0;z=0;x=0;do{e=h[P+x>>0]|0;f[L+(x<<2)>>2]=e;f[K+(x<<2)>>2]=e;z=z+e|0;y=(X(e,e)|0)+y|0;f[O+(x<<2)>>2]=z;f[N+(x<<2)>>2]=y;x=x+m|0}while((x|0)<(g|0))}if(k)f[K+(m<<2)>>2]=0;if(B)W=0;else{f[N+(o<<2)>>2]=0;W=N+4|0}M=M+1|0;if((M|0)==(m|0))break;else{K=K+4|0;L=L+4|0;N=W;O=O+4|0;P=P+1|0}}R=J+(m<<2)|0;S=i;T=W;U=a+m|0;V=c+(G<<2)|0}else{R=J;S=w;T=v;U=a;V=t}while(0);if((l|0)>1){t=b-m|0;a=q-m|0;v=d-m|0;w=r-m|0;c=0-q|0;W=0-r|0;P=g-m|0;O=(P|0)>(m|0);N=d+m|0;L=(g|0)>(m|0);g=R;R=S;S=1;K=V;V=T;T=U;while(1){U=T+t|0;M=K+(a<<2)|0;Q=R+(v<<2)|0;k=g+(o<<2)|0;x=(V|0)==0?0:V+(w<<2)|0;if(F){y=K+(q<<2)|0;z=k;e=Q;C=0;s=M;A=U;E=x;while(1){D=h[A>>0]|0;Y=X(D,D)|0;f[s+(o<<2)>>2]=0;Z=(E|0)!=0;if(Z)f[E+(o<<2)>>2]=0;_=e+(j<<2)|0;f[e+(o<<2)>>2]=f[_>>2];f[s>>2]=(f[s+(c<<2)>>2]|0)+D;if(Z)f[E>>2]=(f[E+(W<<2)>>2]|0)+Y;f[e>>2]=(f[_>>2]|0)+D+(f[z+(m<<2)>>2]|0);if(O)if(Z){_=D;$=Y;aa=D;ba=m;while(1){ca=f[z+(ba<<2)>>2]|0;f[z+(ba-m<<2)>>2]=ca+_;da=h[A+ba>>0]|0;ea=aa+da|0;fa=(X(da,da)|0)+$|0;f[s+(ba<<2)>>2]=ea+(f[s+(ba-q<<2)>>2]|0);f[E+(ba<<2)>>2]=(f[E+(ba-r<<2)>>2]|0)+fa;ga=ba+m|0;f[e+(ba<<2)>>2]=ca+da+(f[z+(ga<<2)>>2]|0)+(f[e+(ba-N<<2)>>2]|0);if((ga|0)<(P|0)){_=da;$=fa;aa=ea;ba=ga}else{ha=da;ia=fa;ja=ea;ka=ga;break}}}else{ba=D;aa=Y;$=D;_=m;while(1){B=f[z+(_<<2)>>2]|0;f[z+(_-m<<2)>>2]=B+ba;ga=h[A+_>>0]|0;ea=$+ga|0;fa=(X(ga,ga)|0)+aa|0;f[s+(_<<2)>>2]=ea+(f[s+(_-q<<2)>>2]|0);da=_+m|0;f[e+(_<<2)>>2]=B+ga+(f[z+(da<<2)>>2]|0)+(f[e+(_-N<<2)>>2]|0);if((da|0)<(P|0)){ba=ga;aa=fa;$=ea;_=da}else{ha=ga;ia=fa;ja=ea;ka=da;break}}}else{ha=D;ia=Y;ja=D;ka=m}if(L){_=z+(ka<<2)|0;$=f[_>>2]|0;f[z+(ka-m<<2)>>2]=$+ha;aa=h[A+ka>>0]|0;f[s+(ka<<2)>>2]=ja+aa+(f[s+(ka-q<<2)>>2]|0);if(Z){ba=(X(aa,aa)|0)+ia|0;f[E+(ka<<2)>>2]=ba+(f[E+(ka-r<<2)>>2]|0)}f[e+(ka<<2)>>2]=$+aa+(f[e+(ka-N<<2)>>2]|0);f[_>>2]=aa}E=Z?E+4|0:0;C=C+1|0;if((C|0)==(m|0))break;else{z=z+4|0;e=e+4|0;s=s+4|0;A=A+1|0}}la=g;ma=R+(d<<2)|0;na=T+b|0;oa=y;pa=E}else{la=k;ma=Q;na=U;oa=M;pa=x}S=S+1|0;if((S|0)==(l|0))break;else{g=la;R=ma;K=oa;V=pa;T=na}}}if((J|0)!=(I|0)){HQa(J);f[p>>2]=I;f[H>>2]=264}u=n;return}function voa(a,c,d,e,g,i,j,k,l,m,o){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;o=o|0;var q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0,I=0,J=0,K=0,L=0,M=0.0,N=0.0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0.0,ea=0.0,fa=0.0,ga=0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0;q=u;u=u+1072|0;r=0-o|0;s=q;t=e>>>2;e=k>>>2;k=0-e|0;v=i>>>3;i=X(o,l)|0;l=i+o|0;w=l<<2;FVa(d|0,0,w|0)|0;x=d+(t+o<<2)|0;if(!g)y=0;else{FVa(g|0,0,l<<3|0)|0;y=g+(v+o<<3)|0}if(!j)z=0;else{FVa(j|0,0,w|0)|0;z=j+(e+o<<2)|0}j=(z|0)==0;if((y|0)==0&j){if((m|0)<=0){u=q;return}w=(i|0)>0;if((o|0)<=0){u=q;return}g=o<<2;A=x;B=0;C=a;while(1){if(w){D=0;E=A;F=C;while(1){n[E+(r<<2)>>2]=0.0;G=0.0;H=0;do{G=G+ +(h[F+H>>0]|0);n[E+(H<<2)>>2]=+n[E+(H-t<<2)>>2]+G;H=H+o|0}while((H|0)<(i|0));D=D+1|0;if((D|0)==(o|0))break;else{E=E+4|0;F=F+1|0}}}else FVa(A+(r<<2)|0,0,g|0)|0;B=B+1|0;if((B|0)==(m|0))break;else{A=A+(t<<2)|0;C=C+c|0}}u=q;return}if(j){if((m|0)<=0){u=q;return}j=(i|0)>0;if((o|0)>0){I=y;J=0;K=x;L=a}else{u=q;return}while(1){if(j){C=0;A=I;B=K;g=L;while(1){n[B+(r<<2)>>2]=0.0;p[A+(r<<3)>>3]=0.0;G=0.0;M=0.0;w=0;do{F=b[g+w>>0]|0;M=M+ +(F&255);N=+(F&255);G=G+N*N;N=+p[A+(w-v<<3)>>3]+G;n[B+(w<<2)>>2]=+n[B+(w-t<<2)>>2]+M;p[A+(w<<3)>>3]=N;w=w+o|0}while((w|0)<(i|0));C=C+1|0;if((C|0)==(o|0))break;else{A=A+8|0;B=B+4|0;g=g+1|0}}}else{g=0;B=I;A=K;while(1){n[A+(r<<2)>>2]=0.0;p[B+(r<<3)>>3]=0.0;g=g+1|0;if((g|0)==(o|0))break;else{B=B+8|0;A=A+4|0}}}J=J+1|0;if((J|0)==(m|0))break;else{I=I+(v<<3)|0;K=K+(t<<2)|0;L=L+c|0}}u=q;return}L=s+8|0;f[s>>2]=L;K=s+4|0;f[K>>2]=l;if(l>>>0>264){I=FQa(l>>>0>1073741823?-1:l<<2)|0;f[s>>2]=I;O=I}else O=L;I=(o|0)>0;do if(I){l=(i|0)==(o|0);J=t+(o<<1)|0;j=z+(o<<2)|0;if((i|0)>0){P=O;Q=z;R=0;S=y;T=x;U=a}else{A=O;B=z;g=0;C=y;w=x;while(1){n[B+(r<<2)>>2]=0.0;n[w+(r<<2)>>2]=0.0;if(l)n[A+(o<<2)>>2]=0.0;if(!C)V=0;else{p[C+(r<<3)>>3]=0.0;V=C+8|0}g=g+1|0;if((g|0)==(o|0))break;else{A=A+4|0;B=B+4|0;C=V;w=w+4|0}}W=O+(o<<2)|0;Y=j;Z=V;_=a+o|0;$=d+(J<<2)|0;break}while(1){n[Q+(r<<2)>>2]=0.0;n[T+(r<<2)>>2]=0.0;w=(S|0)==0;if(w){M=0.0;C=0;do{G=+(h[U+C>>0]|0);n[Q+(C<<2)>>2]=G;n[P+(C<<2)>>2]=G;M=M+G;n[T+(C<<2)>>2]=M;C=C+o|0}while((C|0)<(i|0))}else{M=0.0;G=0.0;C=0;do{B=b[U+C>>0]|0;N=+(B&255);n[Q+(C<<2)>>2]=N;n[P+(C<<2)>>2]=N;G=G+N;N=+(B&255);M=M+N*N;n[T+(C<<2)>>2]=G;p[S+(C<<3)>>3]=M;C=C+o|0}while((C|0)<(i|0))}if(l)n[P+(o<<2)>>2]=0.0;if(w)aa=0;else{p[S+(r<<3)>>3]=0.0;aa=S+8|0}R=R+1|0;if((R|0)==(o|0))break;else{P=P+4|0;Q=Q+4|0;S=aa;T=T+4|0;U=U+1|0}}W=O+(o<<2)|0;Y=j;Z=aa;_=a+o|0;$=d+(J<<2)|0}else{W=O;Y=z;Z=y;_=a;$=x}while(0);if((m|0)>1){x=c-o|0;a=t-o|0;y=e-o|0;z=v-o|0;d=0-t|0;aa=0-v|0;U=i-o|0;T=(U|0)>(o|0);S=e+o|0;Q=(i|0)>(o|0);i=W;W=Y;Y=1;P=$;$=Z;Z=_;while(1){_=Z+x|0;R=P+(a<<2)|0;V=W+(y<<2)|0;l=i+(r<<2)|0;C=($|0)==0?0:$+(z<<3)|0;if(I){B=P+(t<<2)|0;A=l;g=V;F=0;E=R;D=_;H=C;while(1){ba=b[D>>0]|0;M=+(ba&255);G=+(ba&255);N=G*G;n[E+(r<<2)>>2]=0.0;ba=(H|0)!=0;if(ba)p[H+(r<<3)>>3]=0.0;ca=g+(k<<2)|0;f[g+(r<<2)>>2]=f[ca>>2];n[E>>2]=+n[E+(d<<2)>>2]+M;if(ba)p[H>>3]=N+ +p[H+(aa<<3)>>3];n[g>>2]=+n[ca>>2]+M+ +n[A+(o<<2)>>2];if(T)if(ba){G=M;da=N;ea=M;ca=o;while(1){fa=+n[A+(ca<<2)>>2];n[A+(ca-o<<2)>>2]=G+fa;ga=b[D+ca>>0]|0;ha=+(ga&255);ia=+(ga&255);ja=ea+ha;ka=da+ia*ia;n[E+(ca<<2)>>2]=+n[E+(ca-t<<2)>>2]+ja;p[H+(ca<<3)>>3]=ka+ +p[H+(ca-v<<3)>>3];ga=ca+o|0;n[g+(ca<<2)>>2]=fa+(+n[A+(ga<<2)>>2]+ha+ +n[g+(ca-S<<2)>>2]);if((ga|0)<(U|0)){G=ha;da=ka;ea=ja;ca=ga}else{la=ha;ma=ka;na=ja;oa=ga;break}}}else{ea=M;da=N;G=M;ca=o;while(1){ja=+n[A+(ca<<2)>>2];n[A+(ca-o<<2)>>2]=ea+ja;w=b[D+ca>>0]|0;ka=+(w&255);ha=+(w&255);fa=G+ka;ia=da+ha*ha;n[E+(ca<<2)>>2]=+n[E+(ca-t<<2)>>2]+fa;w=ca+o|0;n[g+(ca<<2)>>2]=ja+(+n[A+(w<<2)>>2]+ka+ +n[g+(ca-S<<2)>>2]);if((w|0)<(U|0)){ea=ka;da=ia;G=fa;ca=w}else{la=ka;ma=ia;na=fa;oa=w;break}}}else{la=M;ma=N;na=M;oa=o}if(Q){ca=A+(oa<<2)|0;G=+n[ca>>2];n[A+(oa-o<<2)>>2]=la+G;w=b[D+oa>>0]|0;da=+(w&255);n[E+(oa<<2)>>2]=+n[E+(oa-t<<2)>>2]+(na+da);ea=+(w&255);if(ba)p[H+(oa<<3)>>3]=ma+ea*ea+ +p[H+(oa-v<<3)>>3];n[g+(oa<<2)>>2]=G+da+ +n[g+(oa-S<<2)>>2];n[ca>>2]=da}H=ba?H+8|0:0;F=F+1|0;if((F|0)==(o|0))break;else{A=A+4|0;g=g+4|0;E=E+4|0;D=D+1|0}}pa=i;qa=W+(e<<2)|0;ra=Z+c|0;sa=B;ta=H}else{pa=l;qa=V;ra=_;sa=R;ta=C}Y=Y+1|0;if((Y|0)==(m|0))break;else{i=pa;W=qa;P=sa;$=ta;Z=ra}}}if((O|0)!=(L|0)){HQa(O);f[s>>2]=L;f[K>>2]=264}u=q;return}function woa(a,b,c,d,e,g,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0.0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0,ia=0.0,ja=0.0,ka=0.0,la=0,ma=0,na=0,oa=0,pa=0,qa=0;o=u;u=u+1072|0;p=0-m|0;q=o;r=d>>>2;d=j>>>2;j=0-d|0;s=g>>>2;g=X(m,k)|0;k=g+m|0;t=k<<2;FVa(c|0,0,t|0)|0;v=c+(r+m<<2)|0;if(!e)w=0;else{FVa(e|0,0,t|0)|0;w=e+(s+m<<2)|0}if(!i)x=0;else{FVa(i|0,0,t|0)|0;x=i+(d+m<<2)|0}i=(x|0)==0;if((w|0)==0&i){if((l|0)<=0){u=o;return}t=(g|0)>0;if((m|0)<=0){u=o;return}e=m<<2;y=v;z=0;A=a;while(1){if(t){B=0;C=y;D=A;while(1){n[C+(p<<2)>>2]=0.0;E=0.0;F=0;do{E=E+ +(h[D+F>>0]|0);n[C+(F<<2)>>2]=+n[C+(F-r<<2)>>2]+E;F=F+m|0}while((F|0)<(g|0));B=B+1|0;if((B|0)==(m|0))break;else{C=C+4|0;D=D+1|0}}}else FVa(y+(p<<2)|0,0,e|0)|0;z=z+1|0;if((z|0)==(l|0))break;else{y=y+(r<<2)|0;A=A+b|0}}u=o;return}if(i){if((l|0)<=0){u=o;return}i=(g|0)>0;if((m|0)>0){G=w;H=0;I=v;J=a}else{u=o;return}while(1){if(i){A=0;y=G;z=I;e=J;while(1){n[z+(p<<2)>>2]=0.0;n[y+(p<<2)>>2]=0.0;E=0.0;K=0.0;t=0;do{L=+(h[e+t>>0]|0);K=K+L;E=E+L*L;L=+n[y+(t-s<<2)>>2]+E;n[z+(t<<2)>>2]=+n[z+(t-r<<2)>>2]+K;n[y+(t<<2)>>2]=L;t=t+m|0}while((t|0)<(g|0));A=A+1|0;if((A|0)==(m|0))break;else{y=y+4|0;z=z+4|0;e=e+1|0}}}else{e=0;z=G;y=I;while(1){n[y+(p<<2)>>2]=0.0;n[z+(p<<2)>>2]=0.0;e=e+1|0;if((e|0)==(m|0))break;else{z=z+4|0;y=y+4|0}}}H=H+1|0;if((H|0)==(l|0))break;else{G=G+(s<<2)|0;I=I+(r<<2)|0;J=J+b|0}}u=o;return}J=q+8|0;f[q>>2]=J;I=q+4|0;f[I>>2]=k;if(k>>>0>264){G=FQa(k>>>0>1073741823?-1:k<<2)|0;f[q>>2]=G;M=G}else M=J;G=(m|0)>0;do if(G){k=(g|0)==(m|0);H=r+(m<<1)|0;i=x+(m<<2)|0;if((g|0)>0){N=M;O=x;P=0;Q=w;R=v;S=a}else{y=M;z=x;e=0;A=w;t=v;while(1){n[z+(p<<2)>>2]=0.0;n[t+(p<<2)>>2]=0.0;if(k)n[y+(m<<2)>>2]=0.0;if(!A)T=0;else{n[A+(p<<2)>>2]=0.0;T=A+4|0}e=e+1|0;if((e|0)==(m|0))break;else{y=y+4|0;z=z+4|0;A=T;t=t+4|0}}U=M+(m<<2)|0;V=i;W=T;Y=a+m|0;Z=c+(H<<2)|0;break}while(1){n[O+(p<<2)>>2]=0.0;n[R+(p<<2)>>2]=0.0;t=(Q|0)==0;if(t){K=0.0;A=0;do{E=+(h[S+A>>0]|0);n[O+(A<<2)>>2]=E;n[N+(A<<2)>>2]=E;K=K+E;n[R+(A<<2)>>2]=K;A=A+m|0}while((A|0)<(g|0))}else{K=0.0;E=0.0;A=0;do{L=+(h[S+A>>0]|0);n[O+(A<<2)>>2]=L;n[N+(A<<2)>>2]=L;E=E+L;K=K+L*L;n[R+(A<<2)>>2]=E;n[Q+(A<<2)>>2]=K;A=A+m|0}while((A|0)<(g|0))}if(k)n[N+(m<<2)>>2]=0.0;if(t)_=0;else{n[Q+(p<<2)>>2]=0.0;_=Q+4|0}P=P+1|0;if((P|0)==(m|0))break;else{N=N+4|0;O=O+4|0;Q=_;R=R+4|0;S=S+1|0}}U=M+(m<<2)|0;V=i;W=_;Y=a+m|0;Z=c+(H<<2)|0}else{U=M;V=x;W=w;Y=a;Z=v}while(0);if((l|0)>1){v=b-m|0;a=r-m|0;w=d-m|0;x=s-m|0;c=0-r|0;_=0-s|0;S=g-m|0;R=(S|0)>(m|0);Q=d+m|0;O=(g|0)>(m|0);g=U;U=V;V=1;N=Z;Z=W;W=Y;while(1){Y=W+v|0;P=N+(a<<2)|0;T=U+(w<<2)|0;k=g+(p<<2)|0;A=(Z|0)==0?0:Z+(x<<2)|0;if(G){z=N+(r<<2)|0;y=k;e=T;D=0;C=P;B=Y;F=A;while(1){K=+(h[B>>0]|0);E=K*K;n[C+(p<<2)>>2]=0.0;$=(F|0)!=0;if($)n[F+(p<<2)>>2]=0.0;aa=e+(j<<2)|0;f[e+(p<<2)>>2]=f[aa>>2];n[C>>2]=+n[C+(c<<2)>>2]+K;if($)n[F>>2]=E+ +n[F+(_<<2)>>2];n[e>>2]=+n[aa>>2]+K+ +n[y+(m<<2)>>2];if(R)if($){L=K;ba=E;ca=K;aa=m;while(1){da=+n[y+(aa<<2)>>2];n[y+(aa-m<<2)>>2]=L+da;ea=+(h[B+aa>>0]|0);fa=ca+ea;ga=ba+ea*ea;n[C+(aa<<2)>>2]=+n[C+(aa-r<<2)>>2]+fa;n[F+(aa<<2)>>2]=ga+ +n[F+(aa-s<<2)>>2];ha=aa+m|0;n[e+(aa<<2)>>2]=da+(+n[y+(ha<<2)>>2]+ea+ +n[e+(aa-Q<<2)>>2]);if((ha|0)<(S|0)){L=ea;ba=ga;ca=fa;aa=ha}else{ia=ea;ja=ga;ka=fa;la=ha;break}}}else{ca=K;ba=E;L=K;aa=m;while(1){fa=+n[y+(aa<<2)>>2];n[y+(aa-m<<2)>>2]=ca+fa;ga=+(h[B+aa>>0]|0);ea=L+ga;da=ba+ga*ga;n[C+(aa<<2)>>2]=+n[C+(aa-r<<2)>>2]+ea;t=aa+m|0;n[e+(aa<<2)>>2]=fa+(+n[y+(t<<2)>>2]+ga+ +n[e+(aa-Q<<2)>>2]);if((t|0)<(S|0)){ca=ga;ba=da;L=ea;aa=t}else{ia=ga;ja=da;ka=ea;la=t;break}}}else{ia=K;ja=E;ka=K;la=m}if(O){aa=y+(la<<2)|0;L=+n[aa>>2];n[y+(la-m<<2)>>2]=ia+L;ba=+(h[B+la>>0]|0);n[C+(la<<2)>>2]=+n[C+(la-r<<2)>>2]+(ka+ba);if($)n[F+(la<<2)>>2]=ja+ba*ba+ +n[F+(la-s<<2)>>2];n[e+(la<<2)>>2]=L+ba+ +n[e+(la-Q<<2)>>2];n[aa>>2]=ba}F=$?F+4|0:0;D=D+1|0;if((D|0)==(m|0))break;else{y=y+4|0;e=e+4|0;C=C+4|0;B=B+1|0}}ma=g;na=U+(d<<2)|0;oa=W+b|0;pa=z;qa=F}else{ma=k;na=T;oa=Y;pa=P;qa=A}V=V+1|0;if((V|0)==(l|0))break;else{g=ma;U=na;N=pa;Z=qa;W=oa}}}if((M|0)!=(J|0)){HQa(M);f[q>>2]=J;f[I>>2]=264}u=o;return}function xoa(a,b,c,d,e,g,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0.0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0,ia=0.0,ja=0.0,ka=0.0,la=0,ma=0,na=0,oa=0,pa=0,qa=0;n=u;u=u+1104|0;o=0-m|0;q=n;r=d>>>3;d=j>>>3;j=0-d|0;s=g>>>3;g=X(m,k)|0;k=g+m|0;t=k<<3;FVa(c|0,0,t|0)|0;v=c+(r+m<<3)|0;if(!e)w=0;else{FVa(e|0,0,t|0)|0;w=e+(s+m<<3)|0}if(!i)x=0;else{FVa(i|0,0,t|0)|0;x=i+(d+m<<3)|0}i=(x|0)==0;if((w|0)==0&i){if((l|0)<=0){u=n;return}t=(g|0)>0;if((m|0)<=0){u=n;return}e=m<<3;y=v;z=0;A=a;while(1){if(t){B=0;C=y;D=A;while(1){p[C+(o<<3)>>3]=0.0;E=0.0;F=0;do{E=E+ +(h[D+F>>0]|0);p[C+(F<<3)>>3]=+p[C+(F-r<<3)>>3]+E;F=F+m|0}while((F|0)<(g|0));B=B+1|0;if((B|0)==(m|0))break;else{C=C+8|0;D=D+1|0}}}else FVa(y+(o<<3)|0,0,e|0)|0;z=z+1|0;if((z|0)==(l|0))break;else{y=y+(r<<3)|0;A=A+b|0}}u=n;return}if(i){if((l|0)<=0){u=n;return}i=(g|0)>0;if((m|0)>0){G=w;H=0;I=v;J=a}else{u=n;return}while(1){if(i){A=0;y=G;z=I;e=J;while(1){p[z+(o<<3)>>3]=0.0;p[y+(o<<3)>>3]=0.0;E=0.0;K=0.0;t=0;do{L=+(h[e+t>>0]|0);K=K+L;E=E+L*L;L=+p[y+(t-s<<3)>>3]+E;p[z+(t<<3)>>3]=+p[z+(t-r<<3)>>3]+K;p[y+(t<<3)>>3]=L;t=t+m|0}while((t|0)<(g|0));A=A+1|0;if((A|0)==(m|0))break;else{y=y+8|0;z=z+8|0;e=e+1|0}}}else{e=0;z=G;y=I;while(1){p[y+(o<<3)>>3]=0.0;p[z+(o<<3)>>3]=0.0;e=e+1|0;if((e|0)==(m|0))break;else{z=z+8|0;y=y+8|0}}}H=H+1|0;if((H|0)==(l|0))break;else{G=G+(s<<3)|0;I=I+(r<<3)|0;J=J+b|0}}u=n;return}J=q+8|0;f[q>>2]=J;I=q+4|0;f[I>>2]=k;if(k>>>0>136){G=FQa(k>>>0>536870911?-1:k<<3)|0;f[q>>2]=G;M=G}else M=J;G=(m|0)>0;do if(G){k=(g|0)==(m|0);H=r+(m<<1)|0;i=x+(m<<3)|0;if((g|0)>0){N=M;O=x;P=0;Q=w;R=v;S=a}else{y=M;z=x;e=0;A=w;t=v;while(1){p[z+(o<<3)>>3]=0.0;p[t+(o<<3)>>3]=0.0;if(k)p[y+(m<<3)>>3]=0.0;if(!A)T=0;else{p[A+(o<<3)>>3]=0.0;T=A+8|0}e=e+1|0;if((e|0)==(m|0))break;else{y=y+8|0;z=z+8|0;A=T;t=t+8|0}}U=M+(m<<3)|0;V=i;W=T;Y=a+m|0;Z=c+(H<<3)|0;break}while(1){p[O+(o<<3)>>3]=0.0;p[R+(o<<3)>>3]=0.0;t=(Q|0)==0;if(t){K=0.0;A=0;do{E=+(h[S+A>>0]|0);p[O+(A<<3)>>3]=E;p[N+(A<<3)>>3]=E;K=K+E;p[R+(A<<3)>>3]=K;A=A+m|0}while((A|0)<(g|0))}else{K=0.0;E=0.0;A=0;do{L=+(h[S+A>>0]|0);p[O+(A<<3)>>3]=L;p[N+(A<<3)>>3]=L;E=E+L;K=K+L*L;p[R+(A<<3)>>3]=E;p[Q+(A<<3)>>3]=K;A=A+m|0}while((A|0)<(g|0))}if(k)p[N+(m<<3)>>3]=0.0;if(t)_=0;else{p[Q+(o<<3)>>3]=0.0;_=Q+8|0}P=P+1|0;if((P|0)==(m|0))break;else{N=N+8|0;O=O+8|0;Q=_;R=R+8|0;S=S+1|0}}U=M+(m<<3)|0;V=i;W=_;Y=a+m|0;Z=c+(H<<3)|0}else{U=M;V=x;W=w;Y=a;Z=v}while(0);if((l|0)>1){v=b-m|0;a=r-m|0;w=d-m|0;x=s-m|0;c=0-r|0;_=0-s|0;S=g-m|0;R=(S|0)>(m|0);Q=d+m|0;O=(g|0)>(m|0);g=U;U=V;V=1;N=Z;Z=W;W=Y;while(1){Y=W+v|0;P=N+(a<<3)|0;T=U+(w<<3)|0;k=g+(o<<3)|0;A=(Z|0)==0?0:Z+(x<<3)|0;if(G){z=N+(r<<3)|0;y=k;e=T;D=0;C=P;B=Y;F=A;while(1){K=+(h[B>>0]|0);E=K*K;p[C+(o<<3)>>3]=0.0;$=(F|0)!=0;if($)p[F+(o<<3)>>3]=0.0;aa=e+(j<<3)|0;p[e+(o<<3)>>3]=+p[aa>>3];p[C>>3]=+p[C+(c<<3)>>3]+K;if($)p[F>>3]=E+ +p[F+(_<<3)>>3];p[e>>3]=+p[aa>>3]+K+ +p[y+(m<<3)>>3];if(R)if($){L=K;ba=E;ca=K;aa=m;while(1){da=+p[y+(aa<<3)>>3];p[y+(aa-m<<3)>>3]=L+da;ea=+(h[B+aa>>0]|0);fa=ca+ea;ga=ba+ea*ea;p[C+(aa<<3)>>3]=+p[C+(aa-r<<3)>>3]+fa;p[F+(aa<<3)>>3]=ga+ +p[F+(aa-s<<3)>>3];ha=aa+m|0;p[e+(aa<<3)>>3]=da+(+p[y+(ha<<3)>>3]+ea+ +p[e+(aa-Q<<3)>>3]);if((ha|0)<(S|0)){L=ea;ba=ga;ca=fa;aa=ha}else{ia=ea;ja=ga;ka=fa;la=ha;break}}}else{ca=K;ba=E;L=K;aa=m;while(1){fa=+p[y+(aa<<3)>>3];p[y+(aa-m<<3)>>3]=ca+fa;ga=+(h[B+aa>>0]|0);ea=L+ga;da=ba+ga*ga;p[C+(aa<<3)>>3]=+p[C+(aa-r<<3)>>3]+ea;t=aa+m|0;p[e+(aa<<3)>>3]=fa+(+p[y+(t<<3)>>3]+ga+ +p[e+(aa-Q<<3)>>3]);if((t|0)<(S|0)){ca=ga;ba=da;L=ea;aa=t}else{ia=ga;ja=da;ka=ea;la=t;break}}}else{ia=K;ja=E;ka=K;la=m}if(O){aa=y+(la<<3)|0;L=+p[aa>>3];p[y+(la-m<<3)>>3]=ia+L;ba=+(h[B+la>>0]|0);p[C+(la<<3)>>3]=+p[C+(la-r<<3)>>3]+(ka+ba);if($)p[F+(la<<3)>>3]=ja+ba*ba+ +p[F+(la-s<<3)>>3];p[e+(la<<3)>>3]=L+ba+ +p[e+(la-Q<<3)>>3];p[aa>>3]=ba}F=$?F+8|0:0;D=D+1|0;if((D|0)==(m|0))break;else{y=y+8|0;e=e+8|0;C=C+8|0;B=B+1|0}}ma=g;na=U+(d<<3)|0;oa=W+b|0;pa=z;qa=F}else{ma=k;na=T;oa=Y;pa=P;qa=A}V=V+1|0;if((V|0)==(l|0))break;else{g=ma;U=na;N=pa;Z=qa;W=oa}}}if((M|0)!=(J|0)){HQa(M);f[q>>2]=J;f[I>>2]=136}u=n;return}function yoa(a,b,c,d,e,g,h,i,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0.0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0,ia=0.0,ja=0.0,ka=0.0,la=0,ma=0,na=0,oa=0,pa=0,qa=0;n=u;u=u+1104|0;o=0-m|0;q=n;r=b>>>1;b=d>>>3;d=i>>>3;i=0-d|0;s=g>>>3;g=X(m,k)|0;k=g+m|0;t=k<<3;FVa(c|0,0,t|0)|0;v=c+(b+m<<3)|0;if(!e)w=0;else{FVa(e|0,0,t|0)|0;w=e+(s+m<<3)|0}if(!h)x=0;else{FVa(h|0,0,t|0)|0;x=h+(d+m<<3)|0}h=(x|0)==0;if((w|0)==0&h){if((l|0)<=0){u=n;return}t=(g|0)>0;if((m|0)<=0){u=n;return}e=m<<3;y=v;z=0;A=a;while(1){if(t){B=0;C=y;D=A;while(1){p[C+(o<<3)>>3]=0.0;E=0.0;F=0;do{E=E+ +(j[D+(F<<1)>>1]|0);p[C+(F<<3)>>3]=+p[C+(F-b<<3)>>3]+E;F=F+m|0}while((F|0)<(g|0));B=B+1|0;if((B|0)==(m|0))break;else{C=C+8|0;D=D+2|0}}}else FVa(y+(o<<3)|0,0,e|0)|0;z=z+1|0;if((z|0)==(l|0))break;else{y=y+(b<<3)|0;A=A+(r<<1)|0}}u=n;return}if(h){if((l|0)<=0){u=n;return}h=(g|0)>0;if((m|0)>0){G=w;H=0;I=v;J=a}else{u=n;return}while(1){if(h){A=0;y=G;z=I;e=J;while(1){p[z+(o<<3)>>3]=0.0;p[y+(o<<3)>>3]=0.0;E=0.0;K=0.0;t=0;do{L=+(j[e+(t<<1)>>1]|0);K=K+L;E=E+L*L;L=+p[y+(t-s<<3)>>3]+E;p[z+(t<<3)>>3]=+p[z+(t-b<<3)>>3]+K;p[y+(t<<3)>>3]=L;t=t+m|0}while((t|0)<(g|0));A=A+1|0;if((A|0)==(m|0))break;else{y=y+8|0;z=z+8|0;e=e+2|0}}}else{e=0;z=G;y=I;while(1){p[y+(o<<3)>>3]=0.0;p[z+(o<<3)>>3]=0.0;e=e+1|0;if((e|0)==(m|0))break;else{z=z+8|0;y=y+8|0}}}H=H+1|0;if((H|0)==(l|0))break;else{G=G+(s<<3)|0;I=I+(b<<3)|0;J=J+(r<<1)|0}}u=n;return}J=q+8|0;f[q>>2]=J;I=q+4|0;f[I>>2]=k;if(k>>>0>136){G=FQa(k>>>0>536870911?-1:k<<3)|0;f[q>>2]=G;M=G}else M=J;G=(m|0)>0;do if(G){k=(g|0)==(m|0);H=b+(m<<1)|0;h=x+(m<<3)|0;if((g|0)>0){N=M;O=x;P=0;Q=w;R=v;S=a}else{y=M;z=x;e=0;A=w;t=v;while(1){p[z+(o<<3)>>3]=0.0;p[t+(o<<3)>>3]=0.0;if(k)p[y+(m<<3)>>3]=0.0;if(!A)T=0;else{p[A+(o<<3)>>3]=0.0;T=A+8|0}e=e+1|0;if((e|0)==(m|0))break;else{y=y+8|0;z=z+8|0;A=T;t=t+8|0}}U=M+(m<<3)|0;V=h;W=T;Y=a+(m<<1)|0;Z=c+(H<<3)|0;break}while(1){p[O+(o<<3)>>3]=0.0;p[R+(o<<3)>>3]=0.0;t=(Q|0)==0;if(t){K=0.0;A=0;do{E=+(j[S+(A<<1)>>1]|0);p[O+(A<<3)>>3]=E;p[N+(A<<3)>>3]=E;K=K+E;p[R+(A<<3)>>3]=K;A=A+m|0}while((A|0)<(g|0))}else{K=0.0;E=0.0;A=0;do{L=+(j[S+(A<<1)>>1]|0);p[O+(A<<3)>>3]=L;p[N+(A<<3)>>3]=L;E=E+L;K=K+L*L;p[R+(A<<3)>>3]=E;p[Q+(A<<3)>>3]=K;A=A+m|0}while((A|0)<(g|0))}if(k)p[N+(m<<3)>>3]=0.0;if(t)_=0;else{p[Q+(o<<3)>>3]=0.0;_=Q+8|0}P=P+1|0;if((P|0)==(m|0))break;else{N=N+8|0;O=O+8|0;Q=_;R=R+8|0;S=S+2|0}}U=M+(m<<3)|0;V=h;W=_;Y=a+(m<<1)|0;Z=c+(H<<3)|0}else{U=M;V=x;W=w;Y=a;Z=v}while(0);if((l|0)>1){v=r-m|0;a=b-m|0;w=d-m|0;x=s-m|0;c=0-b|0;_=0-s|0;S=g-m|0;R=(S|0)>(m|0);Q=d+m|0;O=(g|0)>(m|0);g=U;U=V;V=1;N=Z;Z=W;W=Y;while(1){Y=W+(v<<1)|0;P=N+(a<<3)|0;T=U+(w<<3)|0;k=g+(o<<3)|0;A=(Z|0)==0?0:Z+(x<<3)|0;if(G){z=N+(b<<3)|0;y=k;e=T;D=0;C=P;B=Y;F=A;while(1){K=+(j[B>>1]|0);E=K*K;p[C+(o<<3)>>3]=0.0;$=(F|0)!=0;if($)p[F+(o<<3)>>3]=0.0;aa=e+(i<<3)|0;p[e+(o<<3)>>3]=+p[aa>>3];p[C>>3]=+p[C+(c<<3)>>3]+K;if($)p[F>>3]=E+ +p[F+(_<<3)>>3];p[e>>3]=+p[aa>>3]+K+ +p[y+(m<<3)>>3];if(R)if($){L=K;ba=E;ca=K;aa=m;while(1){da=+p[y+(aa<<3)>>3];p[y+(aa-m<<3)>>3]=L+da;ea=+(j[B+(aa<<1)>>1]|0);fa=ca+ea;ga=ba+ea*ea;p[C+(aa<<3)>>3]=+p[C+(aa-b<<3)>>3]+fa;p[F+(aa<<3)>>3]=ga+ +p[F+(aa-s<<3)>>3];ha=aa+m|0;p[e+(aa<<3)>>3]=da+(+p[y+(ha<<3)>>3]+ea+ +p[e+(aa-Q<<3)>>3]);if((ha|0)<(S|0)){L=ea;ba=ga;ca=fa;aa=ha}else{ia=ea;ja=ga;ka=fa;la=ha;break}}}else{ca=K;ba=E;L=K;aa=m;while(1){fa=+p[y+(aa<<3)>>3];p[y+(aa-m<<3)>>3]=ca+fa;ga=+(j[B+(aa<<1)>>1]|0);ea=L+ga;da=ba+ga*ga;p[C+(aa<<3)>>3]=+p[C+(aa-b<<3)>>3]+ea;t=aa+m|0;p[e+(aa<<3)>>3]=fa+(+p[y+(t<<3)>>3]+ga+ +p[e+(aa-Q<<3)>>3]);if((t|0)<(S|0)){ca=ga;ba=da;L=ea;aa=t}else{ia=ga;ja=da;ka=ea;la=t;break}}}else{ia=K;ja=E;ka=K;la=m}if(O){aa=y+(la<<3)|0;L=+p[aa>>3];p[y+(la-m<<3)>>3]=ia+L;ba=+(j[B+(la<<1)>>1]|0);p[C+(la<<3)>>3]=+p[C+(la-b<<3)>>3]+(ka+ba);if($)p[F+(la<<3)>>3]=ja+ba*ba+ +p[F+(la-s<<3)>>3];p[e+(la<<3)>>3]=L+ba+ +p[e+(la-Q<<3)>>3];p[aa>>3]=ba}F=$?F+8|0:0;D=D+1|0;if((D|0)==(m|0))break;else{y=y+8|0;e=e+8|0;C=C+8|0;B=B+2|0}}ma=g;na=U+(d<<3)|0;oa=W+(r<<1)|0;pa=z;qa=F}else{ma=k;na=T;oa=Y;pa=P;qa=A}V=V+1|0;if((V|0)==(l|0))break;else{g=ma;U=na;N=pa;Z=qa;W=oa}}}if((M|0)!=(J|0)){HQa(M);f[q>>2]=J;f[I>>2]=136}u=n;return}function zoa(a,b,c,e,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0.0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0,ia=0.0,ja=0.0,ka=0.0,la=0,ma=0,na=0,oa=0,pa=0,qa=0;n=u;u=u+1104|0;o=0-m|0;q=n;r=b>>>1;b=e>>>3;e=j>>>3;j=0-e|0;s=h>>>3;h=X(m,k)|0;k=h+m|0;t=k<<3;FVa(c|0,0,t|0)|0;v=c+(b+m<<3)|0;if(!g)w=0;else{FVa(g|0,0,t|0)|0;w=g+(s+m<<3)|0}if(!i)x=0;else{FVa(i|0,0,t|0)|0;x=i+(e+m<<3)|0}i=(x|0)==0;if((w|0)==0&i){if((l|0)<=0){u=n;return}t=(h|0)>0;if((m|0)<=0){u=n;return}g=m<<3;y=v;z=0;A=a;while(1){if(t){B=0;C=y;D=A;while(1){p[C+(o<<3)>>3]=0.0;E=0.0;F=0;do{E=E+ +(d[D+(F<<1)>>1]|0);p[C+(F<<3)>>3]=+p[C+(F-b<<3)>>3]+E;F=F+m|0}while((F|0)<(h|0));B=B+1|0;if((B|0)==(m|0))break;else{C=C+8|0;D=D+2|0}}}else FVa(y+(o<<3)|0,0,g|0)|0;z=z+1|0;if((z|0)==(l|0))break;else{y=y+(b<<3)|0;A=A+(r<<1)|0}}u=n;return}if(i){if((l|0)<=0){u=n;return}i=(h|0)>0;if((m|0)>0){G=w;H=0;I=v;J=a}else{u=n;return}while(1){if(i){A=0;y=G;z=I;g=J;while(1){p[z+(o<<3)>>3]=0.0;p[y+(o<<3)>>3]=0.0;E=0.0;K=0.0;t=0;do{L=+(d[g+(t<<1)>>1]|0);K=K+L;E=E+L*L;L=+p[y+(t-s<<3)>>3]+E;p[z+(t<<3)>>3]=+p[z+(t-b<<3)>>3]+K;p[y+(t<<3)>>3]=L;t=t+m|0}while((t|0)<(h|0));A=A+1|0;if((A|0)==(m|0))break;else{y=y+8|0;z=z+8|0;g=g+2|0}}}else{g=0;z=G;y=I;while(1){p[y+(o<<3)>>3]=0.0;p[z+(o<<3)>>3]=0.0;g=g+1|0;if((g|0)==(m|0))break;else{z=z+8|0;y=y+8|0}}}H=H+1|0;if((H|0)==(l|0))break;else{G=G+(s<<3)|0;I=I+(b<<3)|0;J=J+(r<<1)|0}}u=n;return}J=q+8|0;f[q>>2]=J;I=q+4|0;f[I>>2]=k;if(k>>>0>136){G=FQa(k>>>0>536870911?-1:k<<3)|0;f[q>>2]=G;M=G}else M=J;G=(m|0)>0;do if(G){k=(h|0)==(m|0);H=b+(m<<1)|0;i=x+(m<<3)|0;if((h|0)>0){N=M;O=x;P=0;Q=w;R=v;S=a}else{y=M;z=x;g=0;A=w;t=v;while(1){p[z+(o<<3)>>3]=0.0;p[t+(o<<3)>>3]=0.0;if(k)p[y+(m<<3)>>3]=0.0;if(!A)T=0;else{p[A+(o<<3)>>3]=0.0;T=A+8|0}g=g+1|0;if((g|0)==(m|0))break;else{y=y+8|0;z=z+8|0;A=T;t=t+8|0}}U=M+(m<<3)|0;V=i;W=T;Y=a+(m<<1)|0;Z=c+(H<<3)|0;break}while(1){p[O+(o<<3)>>3]=0.0;p[R+(o<<3)>>3]=0.0;t=(Q|0)==0;if(t){K=0.0;A=0;do{E=+(d[S+(A<<1)>>1]|0);p[O+(A<<3)>>3]=E;p[N+(A<<3)>>3]=E;K=K+E;p[R+(A<<3)>>3]=K;A=A+m|0}while((A|0)<(h|0))}else{K=0.0;E=0.0;A=0;do{L=+(d[S+(A<<1)>>1]|0);p[O+(A<<3)>>3]=L;p[N+(A<<3)>>3]=L;E=E+L;K=K+L*L;p[R+(A<<3)>>3]=E;p[Q+(A<<3)>>3]=K;A=A+m|0}while((A|0)<(h|0))}if(k)p[N+(m<<3)>>3]=0.0;if(t)_=0;else{p[Q+(o<<3)>>3]=0.0;_=Q+8|0}P=P+1|0;if((P|0)==(m|0))break;else{N=N+8|0;O=O+8|0;Q=_;R=R+8|0;S=S+2|0}}U=M+(m<<3)|0;V=i;W=_;Y=a+(m<<1)|0;Z=c+(H<<3)|0}else{U=M;V=x;W=w;Y=a;Z=v}while(0);if((l|0)>1){v=r-m|0;a=b-m|0;w=e-m|0;x=s-m|0;c=0-b|0;_=0-s|0;S=h-m|0;R=(S|0)>(m|0);Q=e+m|0;O=(h|0)>(m|0);h=U;U=V;V=1;N=Z;Z=W;W=Y;while(1){Y=W+(v<<1)|0;P=N+(a<<3)|0;T=U+(w<<3)|0;k=h+(o<<3)|0;A=(Z|0)==0?0:Z+(x<<3)|0;if(G){z=N+(b<<3)|0;y=k;g=T;D=0;C=P;B=Y;F=A;while(1){K=+(d[B>>1]|0);E=K*K;p[C+(o<<3)>>3]=0.0;$=(F|0)!=0;if($)p[F+(o<<3)>>3]=0.0;aa=g+(j<<3)|0;p[g+(o<<3)>>3]=+p[aa>>3];p[C>>3]=+p[C+(c<<3)>>3]+K;if($)p[F>>3]=E+ +p[F+(_<<3)>>3];p[g>>3]=+p[aa>>3]+K+ +p[y+(m<<3)>>3];if(R)if($){L=K;ba=E;ca=K;aa=m;while(1){da=+p[y+(aa<<3)>>3];p[y+(aa-m<<3)>>3]=L+da;ea=+(d[B+(aa<<1)>>1]|0);fa=ca+ea;ga=ba+ea*ea;p[C+(aa<<3)>>3]=+p[C+(aa-b<<3)>>3]+fa;p[F+(aa<<3)>>3]=ga+ +p[F+(aa-s<<3)>>3];ha=aa+m|0;p[g+(aa<<3)>>3]=da+(+p[y+(ha<<3)>>3]+ea+ +p[g+(aa-Q<<3)>>3]);if((ha|0)<(S|0)){L=ea;ba=ga;ca=fa;aa=ha}else{ia=ea;ja=ga;ka=fa;la=ha;break}}}else{ca=K;ba=E;L=K;aa=m;while(1){fa=+p[y+(aa<<3)>>3];p[y+(aa-m<<3)>>3]=ca+fa;ga=+(d[B+(aa<<1)>>1]|0);ea=L+ga;da=ba+ga*ga;p[C+(aa<<3)>>3]=+p[C+(aa-b<<3)>>3]+ea;t=aa+m|0;p[g+(aa<<3)>>3]=fa+(+p[y+(t<<3)>>3]+ga+ +p[g+(aa-Q<<3)>>3]);if((t|0)<(S|0)){ca=ga;ba=da;L=ea;aa=t}else{ia=ga;ja=da;ka=ea;la=t;break}}}else{ia=K;ja=E;ka=K;la=m}if(O){aa=y+(la<<3)|0;L=+p[aa>>3];p[y+(la-m<<3)>>3]=ia+L;ba=+(d[B+(la<<1)>>1]|0);p[C+(la<<3)>>3]=+p[C+(la-b<<3)>>3]+(ka+ba);if($)p[F+(la<<3)>>3]=ja+ba*ba+ +p[F+(la-s<<3)>>3];p[g+(la<<3)>>3]=L+ba+ +p[g+(la-Q<<3)>>3];p[aa>>3]=ba}F=$?F+8|0:0;D=D+1|0;if((D|0)==(m|0))break;else{y=y+8|0;g=g+8|0;C=C+8|0;B=B+2|0}}ma=h;na=U+(e<<3)|0;oa=W+(r<<1)|0;pa=z;qa=F}else{ma=k;na=T;oa=Y;pa=P;qa=A}V=V+1|0;if((V|0)==(l|0))break;else{h=ma;U=na;N=pa;Z=qa;W=oa}}}if((M|0)!=(J|0)){HQa(M);f[q>>2]=J;f[I>>2]=136}u=n;return}function Aoa(a,b,c,d,e,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0.0,M=0.0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0,ja=0.0,ka=0.0,la=0.0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0;m=u;u=u+1072|0;o=0-l|0;q=m;r=b>>>2;b=d>>>2;d=i>>>2;i=0-d|0;s=g>>>3;g=X(l,j)|0;j=g+l|0;t=j<<2;FVa(c|0,0,t|0)|0;v=c+(b+l<<2)|0;if(!e)w=0;else{FVa(e|0,0,j<<3|0)|0;w=e+(s+l<<3)|0}if(!h)x=0;else{FVa(h|0,0,t|0)|0;x=h+(d+l<<2)|0}h=(x|0)==0;if((w|0)==0&h){if((k|0)<=0){u=m;return}t=(g|0)>0;if((l|0)<=0){u=m;return}e=l<<2;y=v;z=0;A=a;while(1){if(t){B=0;C=y;D=A;while(1){n[C+(o<<2)>>2]=0.0;E=0.0;F=0;do{E=E+ +n[D+(F<<2)>>2];n[C+(F<<2)>>2]=+n[C+(F-b<<2)>>2]+E;F=F+l|0}while((F|0)<(g|0));B=B+1|0;if((B|0)==(l|0))break;else{C=C+4|0;D=D+4|0}}}else FVa(y+(o<<2)|0,0,e|0)|0;z=z+1|0;if((z|0)==(k|0))break;else{y=y+(b<<2)|0;A=A+(r<<2)|0}}u=m;return}if(h){if((k|0)<=0){u=m;return}h=(g|0)>0;if((l|0)>0){G=w;H=0;I=v;J=a}else{u=m;return}while(1){if(h){A=0;y=G;z=I;e=J;while(1){n[z+(o<<2)>>2]=0.0;p[y+(o<<3)>>3]=0.0;E=0.0;K=0.0;t=0;do{L=+n[e+(t<<2)>>2];K=K+L;M=L;E=E+M*M;M=+p[y+(t-s<<3)>>3]+E;n[z+(t<<2)>>2]=+n[z+(t-b<<2)>>2]+K;p[y+(t<<3)>>3]=M;t=t+l|0}while((t|0)<(g|0));A=A+1|0;if((A|0)==(l|0))break;else{y=y+8|0;z=z+4|0;e=e+4|0}}}else{e=0;z=G;y=I;while(1){n[y+(o<<2)>>2]=0.0;p[z+(o<<3)>>3]=0.0;e=e+1|0;if((e|0)==(l|0))break;else{z=z+8|0;y=y+4|0}}}H=H+1|0;if((H|0)==(k|0))break;else{G=G+(s<<3)|0;I=I+(b<<2)|0;J=J+(r<<2)|0}}u=m;return}J=q+8|0;f[q>>2]=J;I=q+4|0;f[I>>2]=j;if(j>>>0>264){G=FQa(j>>>0>1073741823?-1:j<<2)|0;f[q>>2]=G;N=G}else N=J;G=(l|0)>0;do if(G){j=(g|0)==(l|0);H=b+(l<<1)|0;h=x+(l<<2)|0;if((g|0)>0){O=N;P=x;Q=0;R=w;S=v;T=a}else{y=N;z=x;e=0;A=w;t=v;while(1){n[z+(o<<2)>>2]=0.0;n[t+(o<<2)>>2]=0.0;if(j)n[y+(l<<2)>>2]=0.0;if(!A)U=0;else{p[A+(o<<3)>>3]=0.0;U=A+8|0}e=e+1|0;if((e|0)==(l|0))break;else{y=y+4|0;z=z+4|0;A=U;t=t+4|0}}V=N+(l<<2)|0;W=h;Y=U;Z=a+(l<<2)|0;_=c+(H<<2)|0;break}while(1){n[P+(o<<2)>>2]=0.0;n[S+(o<<2)>>2]=0.0;t=(R|0)==0;if(t){K=0.0;A=0;do{E=+n[T+(A<<2)>>2];n[P+(A<<2)>>2]=E;n[O+(A<<2)>>2]=E;K=K+E;n[S+(A<<2)>>2]=K;A=A+l|0}while((A|0)<(g|0))}else{K=0.0;E=0.0;A=0;do{M=+n[T+(A<<2)>>2];n[P+(A<<2)>>2]=M;n[O+(A<<2)>>2]=M;E=E+M;L=M;K=K+L*L;n[S+(A<<2)>>2]=E;p[R+(A<<3)>>3]=K;A=A+l|0}while((A|0)<(g|0))}if(j)n[O+(l<<2)>>2]=0.0;if(t)$=0;else{p[R+(o<<3)>>3]=0.0;$=R+8|0}Q=Q+1|0;if((Q|0)==(l|0))break;else{O=O+4|0;P=P+4|0;R=$;S=S+4|0;T=T+4|0}}V=N+(l<<2)|0;W=h;Y=$;Z=a+(l<<2)|0;_=c+(H<<2)|0}else{V=N;W=x;Y=w;Z=a;_=v}while(0);if((k|0)>1){v=r-l|0;a=b-l|0;w=d-l|0;x=s-l|0;c=0-b|0;$=0-s|0;T=g-l|0;S=(T|0)>(l|0);R=d+l|0;P=(g|0)>(l|0);g=V;V=W;W=1;O=_;_=Y;Y=Z;while(1){Z=Y+(v<<2)|0;Q=O+(a<<2)|0;U=V+(w<<2)|0;j=g+(o<<2)|0;A=(_|0)==0?0:_+(x<<3)|0;if(G){z=O+(b<<2)|0;y=j;e=U;D=0;C=Q;B=Z;F=A;while(1){K=+n[B>>2];E=K;L=E*E;n[C+(o<<2)>>2]=0.0;aa=(F|0)!=0;if(aa)p[F+(o<<3)>>3]=0.0;ba=e+(i<<2)|0;f[e+(o<<2)>>2]=f[ba>>2];n[C>>2]=K+ +n[C+(c<<2)>>2];if(aa)p[F>>3]=L+ +p[F+($<<3)>>3];n[e>>2]=K+ +n[ba>>2]+ +n[y+(l<<2)>>2];if(S)if(aa){E=K;M=L;ca=K;ba=l;while(1){da=+n[y+(ba<<2)>>2];n[y+(ba-l<<2)>>2]=E+da;ea=+n[B+(ba<<2)>>2];fa=ea;ga=ca+ea;ha=M+fa*fa;n[C+(ba<<2)>>2]=+n[C+(ba-b<<2)>>2]+ga;p[F+(ba<<3)>>3]=ha+ +p[F+(ba-s<<3)>>3];ia=ba+l|0;n[e+(ba<<2)>>2]=da+(ea+ +n[y+(ia<<2)>>2]+ +n[e+(ba-R<<2)>>2]);if((ia|0)<(T|0)){E=ea;M=ha;ca=ga;ba=ia}else{ja=ea;ka=ha;la=ga;ma=ia;break}}}else{ca=K;M=L;E=K;ba=l;while(1){ga=+n[y+(ba<<2)>>2];n[y+(ba-l<<2)>>2]=ca+ga;ha=+n[B+(ba<<2)>>2];ea=ha;da=E+ha;fa=M+ea*ea;n[C+(ba<<2)>>2]=+n[C+(ba-b<<2)>>2]+da;t=ba+l|0;n[e+(ba<<2)>>2]=ga+(ha+ +n[y+(t<<2)>>2]+ +n[e+(ba-R<<2)>>2]);if((t|0)<(T|0)){ca=ha;M=fa;E=da;ba=t}else{ja=ha;ka=fa;la=da;ma=t;break}}}else{ja=K;ka=L;la=K;ma=l}if(P){ba=y+(ma<<2)|0;E=+n[ba>>2];n[y+(ma-l<<2)>>2]=ja+E;M=+n[B+(ma<<2)>>2];ca=M;n[C+(ma<<2)>>2]=+n[C+(ma-b<<2)>>2]+(la+M);if(aa)p[F+(ma<<3)>>3]=ka+ca*ca+ +p[F+(ma-s<<3)>>3];n[e+(ma<<2)>>2]=E+M+ +n[e+(ma-R<<2)>>2];n[ba>>2]=M}F=aa?F+8|0:0;D=D+1|0;if((D|0)==(l|0))break;else{y=y+4|0;e=e+4|0;C=C+4|0;B=B+4|0}}na=g;oa=V+(d<<2)|0;pa=Y+(r<<2)|0;qa=z;ra=F}else{na=j;oa=U;pa=Z;qa=Q;ra=A}W=W+1|0;if((W|0)==(k|0))break;else{g=na;V=oa;O=qa;_=ra;Y=pa}}}if((N|0)!=(J|0)){HQa(N);f[q>>2]=J;f[I>>2]=264}u=m;return}function Boa(a,b,c,d,e,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0.0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0,ha=0.0,ia=0.0,ja=0.0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;m=u;u=u+1072|0;o=0-l|0;p=m;q=b>>>2;b=d>>>2;d=i>>>2;i=0-d|0;r=g>>>2;g=X(l,j)|0;j=g+l|0;s=j<<2;FVa(c|0,0,s|0)|0;t=c+(b+l<<2)|0;if(!e)v=0;else{FVa(e|0,0,s|0)|0;v=e+(r+l<<2)|0}if(!h)w=0;else{FVa(h|0,0,s|0)|0;w=h+(d+l<<2)|0}h=(w|0)==0;if((v|0)==0&h){if((k|0)<=0){u=m;return}s=(g|0)>0;if((l|0)<=0){u=m;return}e=l<<2;x=t;y=0;z=a;while(1){if(s){A=0;B=x;C=z;while(1){n[B+(o<<2)>>2]=0.0;D=0.0;E=0;do{D=D+ +n[C+(E<<2)>>2];n[B+(E<<2)>>2]=+n[B+(E-b<<2)>>2]+D;E=E+l|0}while((E|0)<(g|0));A=A+1|0;if((A|0)==(l|0))break;else{B=B+4|0;C=C+4|0}}}else FVa(x+(o<<2)|0,0,e|0)|0;y=y+1|0;if((y|0)==(k|0))break;else{x=x+(b<<2)|0;z=z+(q<<2)|0}}u=m;return}if(h){if((k|0)<=0){u=m;return}h=(g|0)>0;if((l|0)>0){F=v;G=0;H=t;I=a}else{u=m;return}while(1){if(h){z=0;x=F;y=H;e=I;while(1){n[y+(o<<2)>>2]=0.0;n[x+(o<<2)>>2]=0.0;D=0.0;J=0.0;s=0;do{K=+n[e+(s<<2)>>2];J=J+K;D=D+K*K;K=+n[x+(s-r<<2)>>2]+D;n[y+(s<<2)>>2]=+n[y+(s-b<<2)>>2]+J;n[x+(s<<2)>>2]=K;s=s+l|0}while((s|0)<(g|0));z=z+1|0;if((z|0)==(l|0))break;else{x=x+4|0;y=y+4|0;e=e+4|0}}}else{e=0;y=F;x=H;while(1){n[x+(o<<2)>>2]=0.0;n[y+(o<<2)>>2]=0.0;e=e+1|0;if((e|0)==(l|0))break;else{y=y+4|0;x=x+4|0}}}G=G+1|0;if((G|0)==(k|0))break;else{F=F+(r<<2)|0;H=H+(b<<2)|0;I=I+(q<<2)|0}}u=m;return}I=p+8|0;f[p>>2]=I;H=p+4|0;f[H>>2]=j;if(j>>>0>264){F=FQa(j>>>0>1073741823?-1:j<<2)|0;f[p>>2]=F;L=F}else L=I;F=(l|0)>0;do if(F){j=(g|0)==(l|0);G=b+(l<<1)|0;h=w+(l<<2)|0;if((g|0)>0){M=L;N=w;O=0;P=v;Q=t;R=a}else{x=L;y=w;e=0;z=v;s=t;while(1){n[y+(o<<2)>>2]=0.0;n[s+(o<<2)>>2]=0.0;if(j)n[x+(l<<2)>>2]=0.0;if(!z)S=0;else{n[z+(o<<2)>>2]=0.0;S=z+4|0}e=e+1|0;if((e|0)==(l|0))break;else{x=x+4|0;y=y+4|0;z=S;s=s+4|0}}T=L+(l<<2)|0;U=h;V=S;W=a+(l<<2)|0;Y=c+(G<<2)|0;break}while(1){n[N+(o<<2)>>2]=0.0;n[Q+(o<<2)>>2]=0.0;s=(P|0)==0;if(s){J=0.0;z=0;do{D=+n[R+(z<<2)>>2];n[N+(z<<2)>>2]=D;n[M+(z<<2)>>2]=D;J=J+D;n[Q+(z<<2)>>2]=J;z=z+l|0}while((z|0)<(g|0))}else{J=0.0;D=0.0;z=0;do{K=+n[R+(z<<2)>>2];n[N+(z<<2)>>2]=K;n[M+(z<<2)>>2]=K;D=D+K;J=J+K*K;n[Q+(z<<2)>>2]=D;n[P+(z<<2)>>2]=J;z=z+l|0}while((z|0)<(g|0))}if(j)n[M+(l<<2)>>2]=0.0;if(s)Z=0;else{n[P+(o<<2)>>2]=0.0;Z=P+4|0}O=O+1|0;if((O|0)==(l|0))break;else{M=M+4|0;N=N+4|0;P=Z;Q=Q+4|0;R=R+4|0}}T=L+(l<<2)|0;U=h;V=Z;W=a+(l<<2)|0;Y=c+(G<<2)|0}else{T=L;U=w;V=v;W=a;Y=t}while(0);if((k|0)>1){t=q-l|0;a=b-l|0;v=d-l|0;w=r-l|0;c=0-b|0;Z=0-r|0;R=g-l|0;Q=(R|0)>(l|0);P=d+l|0;N=(g|0)>(l|0);g=T;T=U;U=1;M=Y;Y=V;V=W;while(1){W=V+(t<<2)|0;O=M+(a<<2)|0;S=T+(v<<2)|0;j=g+(o<<2)|0;z=(Y|0)==0?0:Y+(w<<2)|0;if(F){y=M+(b<<2)|0;x=j;e=S;C=0;B=O;A=W;E=z;while(1){J=+n[A>>2];D=J*J;n[B+(o<<2)>>2]=0.0;_=(E|0)!=0;if(_)n[E+(o<<2)>>2]=0.0;$=e+(i<<2)|0;f[e+(o<<2)>>2]=f[$>>2];n[B>>2]=J+ +n[B+(c<<2)>>2];if(_)n[E>>2]=D+ +n[E+(Z<<2)>>2];n[e>>2]=J+ +n[$>>2]+ +n[x+(l<<2)>>2];if(Q)if(_){K=J;aa=D;ba=J;$=l;while(1){ca=+n[x+($<<2)>>2];n[x+($-l<<2)>>2]=K+ca;da=+n[A+($<<2)>>2];ea=ba+da;fa=aa+da*da;n[B+($<<2)>>2]=+n[B+($-b<<2)>>2]+ea;n[E+($<<2)>>2]=fa+ +n[E+($-r<<2)>>2];ga=$+l|0;n[e+($<<2)>>2]=ca+(da+ +n[x+(ga<<2)>>2]+ +n[e+($-P<<2)>>2]);if((ga|0)<(R|0)){K=da;aa=fa;ba=ea;$=ga}else{ha=da;ia=fa;ja=ea;ka=ga;break}}}else{ba=J;aa=D;K=J;$=l;while(1){ea=+n[x+($<<2)>>2];n[x+($-l<<2)>>2]=ba+ea;fa=+n[A+($<<2)>>2];da=K+fa;ca=aa+fa*fa;n[B+($<<2)>>2]=+n[B+($-b<<2)>>2]+da;s=$+l|0;n[e+($<<2)>>2]=ea+(fa+ +n[x+(s<<2)>>2]+ +n[e+($-P<<2)>>2]);if((s|0)<(R|0)){ba=fa;aa=ca;K=da;$=s}else{ha=fa;ia=ca;ja=da;ka=s;break}}}else{ha=J;ia=D;ja=J;ka=l}if(N){$=x+(ka<<2)|0;K=+n[$>>2];n[x+(ka-l<<2)>>2]=ha+K;aa=+n[A+(ka<<2)>>2];n[B+(ka<<2)>>2]=+n[B+(ka-b<<2)>>2]+(ja+aa);if(_)n[E+(ka<<2)>>2]=ia+aa*aa+ +n[E+(ka-r<<2)>>2];n[e+(ka<<2)>>2]=K+aa+ +n[e+(ka-P<<2)>>2];n[$>>2]=aa}E=_?E+4|0:0;C=C+1|0;if((C|0)==(l|0))break;else{x=x+4|0;e=e+4|0;B=B+4|0;A=A+4|0}}la=g;ma=T+(d<<2)|0;na=V+(q<<2)|0;oa=y;pa=E}else{la=j;ma=S;na=W;oa=O;pa=z}U=U+1|0;if((U|0)==(k|0))break;else{g=la;T=ma;M=oa;Y=pa;V=na}}}if((L|0)!=(I|0)){HQa(L);f[p>>2]=I;f[H>>2]=264}u=m;return}function Coa(a,b,c,d,e,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0.0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0,ia=0.0,ja=0.0,ka=0.0,la=0,ma=0,na=0,oa=0,pa=0,qa=0;m=u;u=u+1104|0;o=0-l|0;q=m;r=b>>>2;b=d>>>3;d=i>>>3;i=0-d|0;s=g>>>3;g=X(l,j)|0;j=g+l|0;t=j<<3;FVa(c|0,0,t|0)|0;v=c+(b+l<<3)|0;if(!e)w=0;else{FVa(e|0,0,t|0)|0;w=e+(s+l<<3)|0}if(!h)x=0;else{FVa(h|0,0,t|0)|0;x=h+(d+l<<3)|0}h=(x|0)==0;if((w|0)==0&h){if((k|0)<=0){u=m;return}t=(g|0)>0;if((l|0)<=0){u=m;return}e=l<<3;y=v;z=0;A=a;while(1){if(t){B=0;C=y;D=A;while(1){p[C+(o<<3)>>3]=0.0;E=0.0;F=0;do{E=E+ +n[D+(F<<2)>>2];p[C+(F<<3)>>3]=+p[C+(F-b<<3)>>3]+E;F=F+l|0}while((F|0)<(g|0));B=B+1|0;if((B|0)==(l|0))break;else{C=C+8|0;D=D+4|0}}}else FVa(y+(o<<3)|0,0,e|0)|0;z=z+1|0;if((z|0)==(k|0))break;else{y=y+(b<<3)|0;A=A+(r<<2)|0}}u=m;return}if(h){if((k|0)<=0){u=m;return}h=(g|0)>0;if((l|0)>0){G=w;H=0;I=v;J=a}else{u=m;return}while(1){if(h){A=0;y=G;z=I;e=J;while(1){p[z+(o<<3)>>3]=0.0;p[y+(o<<3)>>3]=0.0;E=0.0;K=0.0;t=0;do{L=+n[e+(t<<2)>>2];K=K+L;E=E+L*L;L=+p[y+(t-s<<3)>>3]+E;p[z+(t<<3)>>3]=+p[z+(t-b<<3)>>3]+K;p[y+(t<<3)>>3]=L;t=t+l|0}while((t|0)<(g|0));A=A+1|0;if((A|0)==(l|0))break;else{y=y+8|0;z=z+8|0;e=e+4|0}}}else{e=0;z=G;y=I;while(1){p[y+(o<<3)>>3]=0.0;p[z+(o<<3)>>3]=0.0;e=e+1|0;if((e|0)==(l|0))break;else{z=z+8|0;y=y+8|0}}}H=H+1|0;if((H|0)==(k|0))break;else{G=G+(s<<3)|0;I=I+(b<<3)|0;J=J+(r<<2)|0}}u=m;return}J=q+8|0;f[q>>2]=J;I=q+4|0;f[I>>2]=j;if(j>>>0>136){G=FQa(j>>>0>536870911?-1:j<<3)|0;f[q>>2]=G;M=G}else M=J;G=(l|0)>0;do if(G){j=(g|0)==(l|0);H=b+(l<<1)|0;h=x+(l<<3)|0;if((g|0)>0){N=M;O=x;P=0;Q=w;R=v;S=a}else{y=M;z=x;e=0;A=w;t=v;while(1){p[z+(o<<3)>>3]=0.0;p[t+(o<<3)>>3]=0.0;if(j)p[y+(l<<3)>>3]=0.0;if(!A)T=0;else{p[A+(o<<3)>>3]=0.0;T=A+8|0}e=e+1|0;if((e|0)==(l|0))break;else{y=y+8|0;z=z+8|0;A=T;t=t+8|0}}U=M+(l<<3)|0;V=h;W=T;Y=a+(l<<2)|0;Z=c+(H<<3)|0;break}while(1){p[O+(o<<3)>>3]=0.0;p[R+(o<<3)>>3]=0.0;t=(Q|0)==0;if(t){K=0.0;A=0;do{E=+n[S+(A<<2)>>2];p[O+(A<<3)>>3]=E;p[N+(A<<3)>>3]=E;K=K+E;p[R+(A<<3)>>3]=K;A=A+l|0}while((A|0)<(g|0))}else{K=0.0;E=0.0;A=0;do{L=+n[S+(A<<2)>>2];p[O+(A<<3)>>3]=L;p[N+(A<<3)>>3]=L;E=E+L;K=K+L*L;p[R+(A<<3)>>3]=E;p[Q+(A<<3)>>3]=K;A=A+l|0}while((A|0)<(g|0))}if(j)p[N+(l<<3)>>3]=0.0;if(t)_=0;else{p[Q+(o<<3)>>3]=0.0;_=Q+8|0}P=P+1|0;if((P|0)==(l|0))break;else{N=N+8|0;O=O+8|0;Q=_;R=R+8|0;S=S+4|0}}U=M+(l<<3)|0;V=h;W=_;Y=a+(l<<2)|0;Z=c+(H<<3)|0}else{U=M;V=x;W=w;Y=a;Z=v}while(0);if((k|0)>1){v=r-l|0;a=b-l|0;w=d-l|0;x=s-l|0;c=0-b|0;_=0-s|0;S=g-l|0;R=(S|0)>(l|0);Q=d+l|0;O=(g|0)>(l|0);g=U;U=V;V=1;N=Z;Z=W;W=Y;while(1){Y=W+(v<<2)|0;P=N+(a<<3)|0;T=U+(w<<3)|0;j=g+(o<<3)|0;A=(Z|0)==0?0:Z+(x<<3)|0;if(G){z=N+(b<<3)|0;y=j;e=T;D=0;C=P;B=Y;F=A;while(1){K=+n[B>>2];E=K*K;p[C+(o<<3)>>3]=0.0;$=(F|0)!=0;if($)p[F+(o<<3)>>3]=0.0;aa=e+(i<<3)|0;p[e+(o<<3)>>3]=+p[aa>>3];p[C>>3]=+p[C+(c<<3)>>3]+K;if($)p[F>>3]=E+ +p[F+(_<<3)>>3];p[e>>3]=+p[aa>>3]+K+ +p[y+(l<<3)>>3];if(R)if($){L=K;ba=E;ca=K;aa=l;while(1){da=+p[y+(aa<<3)>>3];p[y+(aa-l<<3)>>3]=L+da;ea=+n[B+(aa<<2)>>2];fa=ca+ea;ga=ba+ea*ea;p[C+(aa<<3)>>3]=+p[C+(aa-b<<3)>>3]+fa;p[F+(aa<<3)>>3]=ga+ +p[F+(aa-s<<3)>>3];ha=aa+l|0;p[e+(aa<<3)>>3]=da+(+p[y+(ha<<3)>>3]+ea+ +p[e+(aa-Q<<3)>>3]);if((ha|0)<(S|0)){L=ea;ba=ga;ca=fa;aa=ha}else{ia=ea;ja=ga;ka=fa;la=ha;break}}}else{ca=K;ba=E;L=K;aa=l;while(1){fa=+p[y+(aa<<3)>>3];p[y+(aa-l<<3)>>3]=ca+fa;ga=+n[B+(aa<<2)>>2];ea=L+ga;da=ba+ga*ga;p[C+(aa<<3)>>3]=+p[C+(aa-b<<3)>>3]+ea;t=aa+l|0;p[e+(aa<<3)>>3]=fa+(+p[y+(t<<3)>>3]+ga+ +p[e+(aa-Q<<3)>>3]);if((t|0)<(S|0)){ca=ga;ba=da;L=ea;aa=t}else{ia=ga;ja=da;ka=ea;la=t;break}}}else{ia=K;ja=E;ka=K;la=l}if(O){aa=y+(la<<3)|0;L=+p[aa>>3];p[y+(la-l<<3)>>3]=ia+L;ba=+n[B+(la<<2)>>2];p[C+(la<<3)>>3]=+p[C+(la-b<<3)>>3]+(ka+ba);if($)p[F+(la<<3)>>3]=ja+ba*ba+ +p[F+(la-s<<3)>>3];p[e+(la<<3)>>3]=L+ba+ +p[e+(la-Q<<3)>>3];p[aa>>3]=ba}F=$?F+8|0:0;D=D+1|0;if((D|0)==(l|0))break;else{y=y+8|0;e=e+8|0;C=C+8|0;B=B+4|0}}ma=g;na=U+(d<<3)|0;oa=W+(r<<2)|0;pa=z;qa=F}else{ma=j;na=T;oa=Y;pa=P;qa=A}V=V+1|0;if((V|0)==(k|0))break;else{g=ma;U=na;N=pa;Z=qa;W=oa}}}if((M|0)!=(J|0)){HQa(M);f[q>>2]=J;f[I>>2]=136}u=m;return}function Doa(a,b,c,d,e,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0.0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0,ha=0.0,ia=0.0,ja=0.0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;m=u;u=u+1104|0;n=0-l|0;o=m;q=b>>>3;b=d>>>3;d=i>>>3;i=0-d|0;r=g>>>3;g=X(l,j)|0;j=g+l|0;s=j<<3;FVa(c|0,0,s|0)|0;t=c+(b+l<<3)|0;if(!e)v=0;else{FVa(e|0,0,s|0)|0;v=e+(r+l<<3)|0}if(!h)w=0;else{FVa(h|0,0,s|0)|0;w=h+(d+l<<3)|0}h=(w|0)==0;if((v|0)==0&h){if((k|0)<=0){u=m;return}s=(g|0)>0;if((l|0)<=0){u=m;return}e=l<<3;x=t;y=0;z=a;while(1){if(s){A=0;B=x;C=z;while(1){p[B+(n<<3)>>3]=0.0;D=0.0;E=0;do{D=D+ +p[C+(E<<3)>>3];p[B+(E<<3)>>3]=+p[B+(E-b<<3)>>3]+D;E=E+l|0}while((E|0)<(g|0));A=A+1|0;if((A|0)==(l|0))break;else{B=B+8|0;C=C+8|0}}}else FVa(x+(n<<3)|0,0,e|0)|0;y=y+1|0;if((y|0)==(k|0))break;else{x=x+(b<<3)|0;z=z+(q<<3)|0}}u=m;return}if(h){if((k|0)<=0){u=m;return}h=(g|0)>0;if((l|0)>0){F=v;G=0;H=t;I=a}else{u=m;return}while(1){if(h){z=0;x=F;y=H;e=I;while(1){p[y+(n<<3)>>3]=0.0;p[x+(n<<3)>>3]=0.0;D=0.0;J=0.0;s=0;do{K=+p[e+(s<<3)>>3];J=J+K;D=D+K*K;K=+p[x+(s-r<<3)>>3]+D;p[y+(s<<3)>>3]=+p[y+(s-b<<3)>>3]+J;p[x+(s<<3)>>3]=K;s=s+l|0}while((s|0)<(g|0));z=z+1|0;if((z|0)==(l|0))break;else{x=x+8|0;y=y+8|0;e=e+8|0}}}else{e=0;y=F;x=H;while(1){p[x+(n<<3)>>3]=0.0;p[y+(n<<3)>>3]=0.0;e=e+1|0;if((e|0)==(l|0))break;else{y=y+8|0;x=x+8|0}}}G=G+1|0;if((G|0)==(k|0))break;else{F=F+(r<<3)|0;H=H+(b<<3)|0;I=I+(q<<3)|0}}u=m;return}I=o+8|0;f[o>>2]=I;H=o+4|0;f[H>>2]=j;if(j>>>0>136){F=FQa(j>>>0>536870911?-1:j<<3)|0;f[o>>2]=F;L=F}else L=I;F=(l|0)>0;do if(F){j=(g|0)==(l|0);G=b+(l<<1)|0;h=w+(l<<3)|0;if((g|0)>0){M=L;N=w;O=0;P=v;Q=t;R=a}else{x=L;y=w;e=0;z=v;s=t;while(1){p[y+(n<<3)>>3]=0.0;p[s+(n<<3)>>3]=0.0;if(j)p[x+(l<<3)>>3]=0.0;if(!z)S=0;else{p[z+(n<<3)>>3]=0.0;S=z+8|0}e=e+1|0;if((e|0)==(l|0))break;else{x=x+8|0;y=y+8|0;z=S;s=s+8|0}}T=L+(l<<3)|0;U=h;V=S;W=a+(l<<3)|0;Y=c+(G<<3)|0;break}while(1){p[N+(n<<3)>>3]=0.0;p[Q+(n<<3)>>3]=0.0;s=(P|0)==0;if(s){J=0.0;z=0;do{D=+p[R+(z<<3)>>3];p[N+(z<<3)>>3]=D;p[M+(z<<3)>>3]=D;J=J+D;p[Q+(z<<3)>>3]=J;z=z+l|0}while((z|0)<(g|0))}else{J=0.0;D=0.0;z=0;do{K=+p[R+(z<<3)>>3];p[N+(z<<3)>>3]=K;p[M+(z<<3)>>3]=K;D=D+K;J=J+K*K;p[Q+(z<<3)>>3]=D;p[P+(z<<3)>>3]=J;z=z+l|0}while((z|0)<(g|0))}if(j)p[M+(l<<3)>>3]=0.0;if(s)Z=0;else{p[P+(n<<3)>>3]=0.0;Z=P+8|0}O=O+1|0;if((O|0)==(l|0))break;else{M=M+8|0;N=N+8|0;P=Z;Q=Q+8|0;R=R+8|0}}T=L+(l<<3)|0;U=h;V=Z;W=a+(l<<3)|0;Y=c+(G<<3)|0}else{T=L;U=w;V=v;W=a;Y=t}while(0);if((k|0)>1){t=q-l|0;a=b-l|0;v=d-l|0;w=r-l|0;c=0-b|0;Z=0-r|0;R=g-l|0;Q=(R|0)>(l|0);P=d+l|0;N=(g|0)>(l|0);g=T;T=U;U=1;M=Y;Y=V;V=W;while(1){W=V+(t<<3)|0;O=M+(a<<3)|0;S=T+(v<<3)|0;j=g+(n<<3)|0;z=(Y|0)==0?0:Y+(w<<3)|0;if(F){y=M+(b<<3)|0;x=j;e=S;C=0;B=O;A=W;E=z;while(1){J=+p[A>>3];D=J*J;p[B+(n<<3)>>3]=0.0;_=(E|0)!=0;if(_)p[E+(n<<3)>>3]=0.0;$=e+(i<<3)|0;p[e+(n<<3)>>3]=+p[$>>3];p[B>>3]=J+ +p[B+(c<<3)>>3];if(_)p[E>>3]=D+ +p[E+(Z<<3)>>3];p[e>>3]=J+ +p[$>>3]+ +p[x+(l<<3)>>3];if(Q)if(_){K=J;aa=D;ba=J;$=l;while(1){ca=+p[x+($<<3)>>3];p[x+($-l<<3)>>3]=K+ca;da=+p[A+($<<3)>>3];ea=ba+da;fa=aa+da*da;p[B+($<<3)>>3]=+p[B+($-b<<3)>>3]+ea;p[E+($<<3)>>3]=fa+ +p[E+($-r<<3)>>3];ga=$+l|0;p[e+($<<3)>>3]=ca+(da+ +p[x+(ga<<3)>>3]+ +p[e+($-P<<3)>>3]);if((ga|0)<(R|0)){K=da;aa=fa;ba=ea;$=ga}else{ha=da;ia=fa;ja=ea;ka=ga;break}}}else{ba=J;aa=D;K=J;$=l;while(1){ea=+p[x+($<<3)>>3];p[x+($-l<<3)>>3]=ba+ea;fa=+p[A+($<<3)>>3];da=K+fa;ca=aa+fa*fa;p[B+($<<3)>>3]=+p[B+($-b<<3)>>3]+da;s=$+l|0;p[e+($<<3)>>3]=ea+(fa+ +p[x+(s<<3)>>3]+ +p[e+($-P<<3)>>3]);if((s|0)<(R|0)){ba=fa;aa=ca;K=da;$=s}else{ha=fa;ia=ca;ja=da;ka=s;break}}}else{ha=J;ia=D;ja=J;ka=l}if(N){$=x+(ka<<3)|0;K=+p[$>>3];p[x+(ka-l<<3)>>3]=ha+K;aa=+p[A+(ka<<3)>>3];p[B+(ka<<3)>>3]=+p[B+(ka-b<<3)>>3]+(ja+aa);if(_)p[E+(ka<<3)>>3]=ia+aa*aa+ +p[E+(ka-r<<3)>>3];p[e+(ka<<3)>>3]=K+aa+ +p[e+(ka-P<<3)>>3];p[$>>3]=aa}E=_?E+8|0:0;C=C+1|0;if((C|0)==(l|0))break;else{x=x+8|0;e=e+8|0;B=B+8|0;A=A+8|0}}la=g;ma=T+(d<<3)|0;na=V+(q<<3)|0;oa=y;pa=E}else{la=j;ma=S;na=W;oa=O;pa=z}U=U+1|0;if((U|0)==(k|0))break;else{g=la;T=ma;M=oa;Y=pa;V=na}}}if((L|0)!=(I|0)){HQa(L);f[o>>2]=I;f[H>>2]=136}u=m;return}function Eoa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;h=u;u=u+320|0;i=h+312|0;j=h+304|0;k=h+240|0;l=h+248|0;m=h+184|0;n=h+128|0;o=h+72|0;p=h+8|0;q=h+16|0;r=h;yV(i,61112);s=GJ(a,-1)|0;t=s&7;v=s>>>3&511;s=v+1|0;w=((e|0)<1?((t|0)==0?4:6):e)&7;e=(g|0)<1?6:g&7;FJ(j,a,-1);g=(f[j>>2]|0)+1|0;x=(f[j+4>>2]|0)+1|0;f[k>>2]=g;f[k+4>>2]=x;j=v<<3;v=w|j;_J(b,k,v,-1,0,0);do if((HJ(a)|0)==65536){k=f[a+4>>2]|0;f[l>>2]=f[k>>2];y=l+4|0;z=k+4|0;f[y>>2]=f[z>>2];A=l+8|0;f[A>>2]=f[k+8>>2];f[l+12>>2]=f[k+12>>2];f[l+16>>2]=f[k+16>>2];f[l+20>>2]=f[k+20>>2];f[l+24>>2]=f[k+24>>2];f[l+28>>2]=f[k+28>>2];f[l+32>>2]=f[k+32>>2];B=f[k+36>>2]|0;f[l+36>>2]=B;f[l+40>>2]=A;A=l+48|0;C=l+44|0;f[C>>2]=A;f[A>>2]=0;f[l+52>>2]=0;if(B|0){A=B+12|0;f[A>>2]=(f[A>>2]|0)+1}if((f[z>>2]|0)<3){z=f[k+44>>2]|0;A=f[C>>2]|0;f[A>>2]=f[z>>2];f[A+4>>2]=f[z+4>>2];break}else{f[y>>2]=0;WO(l,k);break}}else DJ(l,a,-1);while(0);do if((HJ(b)|0)==65536){a=f[b+4>>2]|0;f[m>>2]=f[a>>2];k=m+4|0;y=a+4|0;f[k>>2]=f[y>>2];z=m+8|0;f[z>>2]=f[a+8>>2];f[m+12>>2]=f[a+12>>2];f[m+16>>2]=f[a+16>>2];f[m+20>>2]=f[a+20>>2];f[m+24>>2]=f[a+24>>2];f[m+28>>2]=f[a+28>>2];f[m+32>>2]=f[a+32>>2];A=f[a+36>>2]|0;f[m+36>>2]=A;f[m+40>>2]=z;z=m+48|0;C=m+44|0;f[C>>2]=z;f[z>>2]=0;f[m+52>>2]=0;if(A|0){z=A+12|0;f[z>>2]=(f[z>>2]|0)+1}if((f[y>>2]|0)<3){y=f[a+44>>2]|0;z=f[C>>2]|0;f[z>>2]=f[y>>2];f[z+4>>2]=f[y+4>>2];break}else{f[k>>2]=0;WO(m,a);break}}else DJ(m,b,-1);while(0);f[n>>2]=1124007936;b=n+4|0;a=n+8|0;k=n+40|0;y=b;z=y+36|0;do{f[y>>2]=0;y=y+4|0}while((y|0)<(z|0));f[k>>2]=a;C=n+48|0;A=n+44|0;f[A>>2]=C;f[C>>2]=0;f[n+52>>2]=0;f[o>>2]=1124007936;B=o+4|0;D=o+8|0;E=o+40|0;y=B;z=y+36|0;do{f[y>>2]=0;y=y+4|0}while((y|0)<(z|0));f[E>>2]=D;y=o+48|0;z=o+44|0;f[z>>2]=y;f[y>>2]=0;f[o+52>>2]=0;if(yK(c)|0){f[p>>2]=g;f[p+4>>2]=x;_J(c,p,j|e,-1,0,0);do if((HJ(c)|0)==65536){j=f[c+4>>2]|0;f[q>>2]=f[j>>2];p=q+4|0;F=j+4|0;f[p>>2]=f[F>>2];G=q+8|0;f[G>>2]=f[j+8>>2];f[q+12>>2]=f[j+12>>2];f[q+16>>2]=f[j+16>>2];f[q+20>>2]=f[j+20>>2];f[q+24>>2]=f[j+24>>2];f[q+28>>2]=f[j+28>>2];f[q+32>>2]=f[j+32>>2];H=q+36|0;I=f[j+36>>2]|0;f[H>>2]=I;f[q+40>>2]=G;G=q+48|0;J=q+44|0;f[J>>2]=G;f[G>>2]=0;f[q+52>>2]=0;if(I|0){G=I+12|0;f[G>>2]=(f[G>>2]|0)+1}if((f[F>>2]|0)<3){F=f[j+44>>2]|0;G=f[J>>2]|0;f[G>>2]=f[F>>2];f[G+4>>2]=f[F+4>>2];K=H;break}else{f[p>>2]=0;WO(q,j);K=H;break}}else{DJ(q,c,-1);K=q+36|0}while(0);c=f[K>>2]|0;if(c|0){H=c+12|0;f[H>>2]=(f[H>>2]|0)+1}H=n+36|0;c=f[H>>2]|0;if(c|0?(j=c+12|0,c=f[j>>2]|0,f[j>>2]=c+-1,(c|0)==1):0)XO(n);f[H>>2]=0;c=n+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){j=f[k>>2]|0;p=0;do{f[j+(p<<2)>>2]=0;p=p+1|0;L=f[b>>2]|0}while((p|0)<(L|0));f[n>>2]=f[q>>2];if((L|0)<3)M=33;else M=35}else{f[n>>2]=f[q>>2];M=33}if((M|0)==33){L=f[q+4>>2]|0;if((L|0)<3){f[b>>2]=L;f[a>>2]=f[q+8>>2];f[n+12>>2]=f[q+12>>2];a=f[q+44>>2]|0;L=f[A>>2]|0;f[L>>2]=f[a>>2];f[L+4>>2]=f[a+4>>2]}else M=35}if((M|0)==35)WO(n,q);a=q+16|0;f[c>>2]=f[a>>2];f[n+20>>2]=f[q+20>>2];f[n+24>>2]=f[q+24>>2];f[n+28>>2]=f[q+28>>2];f[n+32>>2]=f[q+32>>2];c=f[K>>2]|0;f[H>>2]=c;if(c|0?(H=c+12|0,c=f[H>>2]|0,f[H>>2]=c+-1,(c|0)==1):0)XO(q);f[K>>2]=0;K=q+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if((f[K>>2]|0)>0){a=f[q+40>>2]|0;c=0;do{f[a+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[K>>2]|0))}K=f[q+44>>2]|0;if((K|0)!=(q+48|0))dX(K)}if(yK(d)|0){f[r>>2]=g;f[r+4>>2]=x;_J(d,r,v,-1,0,0);do if((HJ(d)|0)==65536){v=f[d+4>>2]|0;f[q>>2]=f[v>>2];r=q+4|0;x=v+4|0;f[r>>2]=f[x>>2];g=q+8|0;f[g>>2]=f[v+8>>2];f[q+12>>2]=f[v+12>>2];f[q+16>>2]=f[v+16>>2];f[q+20>>2]=f[v+20>>2];f[q+24>>2]=f[v+24>>2];f[q+28>>2]=f[v+28>>2];f[q+32>>2]=f[v+32>>2];K=q+36|0;c=f[v+36>>2]|0;f[K>>2]=c;f[q+40>>2]=g;g=q+48|0;a=q+44|0;f[a>>2]=g;f[g>>2]=0;f[q+52>>2]=0;if(c|0){g=c+12|0;f[g>>2]=(f[g>>2]|0)+1}if((f[x>>2]|0)<3){x=f[v+44>>2]|0;g=f[a>>2]|0;f[g>>2]=f[x>>2];f[g+4>>2]=f[x+4>>2];N=K;break}else{f[r>>2]=0;WO(q,v);N=K;break}}else{DJ(q,d,-1);N=q+36|0}while(0);d=f[N>>2]|0;if(d|0){K=d+12|0;f[K>>2]=(f[K>>2]|0)+1}K=o+36|0;d=f[K>>2]|0;if(d|0?(v=d+12|0,d=f[v>>2]|0,f[v>>2]=d+-1,(d|0)==1):0)XO(o);f[K>>2]=0;d=o+16|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[B>>2]|0)>0){v=f[E>>2]|0;r=0;do{f[v+(r<<2)>>2]=0;r=r+1|0;O=f[B>>2]|0}while((r|0)<(O|0));f[o>>2]=f[q>>2];if((O|0)<3)M=64;else M=66}else{f[o>>2]=f[q>>2];M=64}if((M|0)==64){O=f[q+4>>2]|0;if((O|0)<3){f[B>>2]=O;f[D>>2]=f[q+8>>2];f[o+12>>2]=f[q+12>>2];D=f[q+44>>2]|0;O=f[z>>2]|0;f[O>>2]=f[D>>2];f[O+4>>2]=f[D+4>>2]}else M=66}if((M|0)==66)WO(o,q);M=q+16|0;f[d>>2]=f[M>>2];f[o+20>>2]=f[q+20>>2];f[o+24>>2]=f[q+24>>2];f[o+28>>2]=f[q+28>>2];f[o+32>>2]=f[q+32>>2];D=f[N>>2]|0;f[K>>2]=D;if(D|0?(K=D+12|0,D=f[K>>2]|0,f[K>>2]=D+-1,(D|0)==1):0)XO(q);f[N>>2]=0;N=q+4|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;if((f[N>>2]|0)>0){M=f[q+40>>2]|0;D=0;do{f[M+(D<<2)>>2]=0;D=D+1|0}while((D|0)<(f[N>>2]|0))}N=f[q+44>>2]|0;if((N|0)!=(q+48|0))dX(N);P=d}else P=o+16|0;d=l+16|0;N=l+44|0;q=l+48|0;D=m+16|0;M=m+44|0;K=m+48|0;O=n+16|0;roa(t,w,e,f[d>>2]|0,f[q>>2]|0,f[D>>2]|0,f[K>>2]|0,f[O>>2]|0,f[C>>2]|0,f[P>>2]|0,f[y>>2]|0,f[l+12>>2]|0,f[l+8>>2]|0,s);s=o+36|0;e=f[s>>2]|0;if(e|0?(w=e+12|0,e=f[w>>2]|0,f[w>>2]=e+-1,(e|0)==1):0)XO(o);f[s>>2]=0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;if((f[B>>2]|0)>0){P=f[E>>2]|0;E=0;do{f[P+(E<<2)>>2]=0;E=E+1|0}while((E|0)<(f[B>>2]|0))}B=f[z>>2]|0;if((B|0)!=(y|0))dX(B);B=n+36|0;y=f[B>>2]|0;if(y|0?(z=y+12|0,y=f[z>>2]|0,f[z>>2]=y+-1,(y|0)==1):0)XO(n);f[B>>2]=0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[O+12>>2]=0;if((f[b>>2]|0)>0){O=f[k>>2]|0;k=0;do{f[O+(k<<2)>>2]=0;k=k+1|0}while((k|0)<(f[b>>2]|0))}b=f[A>>2]|0;if((b|0)!=(C|0))dX(b);b=m+36|0;C=f[b>>2]|0;if(C|0?(A=C+12|0,C=f[A>>2]|0,f[A>>2]=C+-1,(C|0)==1):0)XO(m);f[b>>2]=0;b=m+4|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;if((f[b>>2]|0)>0){D=f[m+40>>2]|0;m=0;do{f[D+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[b>>2]|0))}b=f[M>>2]|0;if((b|0)!=(K|0))dX(b);b=l+36|0;K=f[b>>2]|0;if(K|0?(M=K+12|0,K=f[M>>2]|0,f[M>>2]=K+-1,(K|0)==1):0)XO(l);f[b>>2]=0;b=l+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[l+40>>2]|0;l=0;do{f[d+(l<<2)>>2]=0;l=l+1|0}while((l|0)<(f[b>>2]|0))}b=f[N>>2]|0;if((b|0)!=(q|0))dX(b);if(!(f[i+4>>2]|0)){u=h;return}u=h;return}function Foa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;e=d;yV(e,61132);g=BK()|0;Eoa(a,b,g,BK()|0,c,-1);if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function Goa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;g=u;u=u+16|0;h=g;yV(h,61152);Eoa(a,b,c,BK()|0,d,e);if(!(f[h+4>>2]|0)){u=g;return}u=g;return}function Hoa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;g=u;u=u+496|0;h=g+440|0;i=g+384|0;j=g+328|0;k=g+272|0;l=g+216|0;m=g+160|0;n=g+104|0;o=g+48|0;p=g+32|0;q=g+16|0;r=g;NY(h,a,0,1,0,0);NY(i,c,0,1,0,0);f[j>>2]=f[i>>2];c=j+4|0;a=i+4|0;s=f[a>>2]|0;f[c>>2]=s;t=j+8|0;f[t>>2]=f[i+8>>2];f[j+12>>2]=f[i+12>>2];v=j+16|0;w=i+16|0;f[v>>2]=f[w>>2];f[j+20>>2]=f[i+20>>2];f[j+24>>2]=f[i+24>>2];f[j+28>>2]=f[i+28>>2];f[j+32>>2]=f[i+32>>2];x=j+36|0;y=i+36|0;z=f[y>>2]|0;f[x>>2]=z;A=j+40|0;f[A>>2]=t;t=j+48|0;B=j+44|0;f[B>>2]=t;f[t>>2]=0;f[j+52>>2]=0;if(!z)C=s;else{s=z+12|0;f[s>>2]=(f[s>>2]|0)+1;C=f[a>>2]|0}if((C|0)<3){C=f[i+44>>2]|0;s=f[B>>2]|0;f[s>>2]=f[C>>2];f[s+4>>2]=f[C+4>>2]}else{f[c>>2]=0;WO(j,i)}f[k>>2]=1124007936;C=k+4|0;s=k+8|0;z=k+40|0;D=C;E=D+36|0;do{f[D>>2]=0;D=D+4|0}while((D|0)<(E|0));f[z>>2]=s;F=k+48|0;G=k+44|0;f[G>>2]=F;f[F>>2]=0;f[k+52>>2]=0;f[l>>2]=1124007936;H=l+4|0;I=l+8|0;J=l+40|0;D=H;E=D+36|0;do{f[D>>2]=0;D=D+4|0}while((D|0)<(E|0));f[J>>2]=I;K=l+48|0;L=l+44|0;f[L>>2]=K;f[K>>2]=0;f[l+52>>2]=0;f[m>>2]=1124007936;M=m+4|0;N=m+8|0;O=m+40|0;D=M;E=D+36|0;do{f[D>>2]=0;D=D+4|0}while((D|0)<(E|0));f[O>>2]=N;P=m+48|0;Q=m+44|0;f[Q>>2]=P;f[P>>2]=0;f[m+52>>2]=0;f[n>>2]=1124007936;R=n+4|0;S=n+8|0;T=n+40|0;D=R;E=D+36|0;do{f[D>>2]=0;D=D+4|0}while((D|0)<(E|0));f[T>>2]=S;U=n+48|0;V=n+44|0;f[V>>2]=U;f[U>>2]=0;f[n+52>>2]=0;if(!d)W=0;else{NY(o,d,0,1,0,0);d=o+36|0;X=f[d>>2]|0;if(X|0){Y=X+12|0;f[Y>>2]=(f[Y>>2]|0)+1}Y=l+36|0;X=f[Y>>2]|0;if(X|0?(Z=X+12|0,X=f[Z>>2]|0,f[Z>>2]=X+-1,(X|0)==1):0)XO(l);f[Y>>2]=0;X=l+16|0;f[X>>2]=0;f[X+4>>2]=0;f[X+8>>2]=0;f[X+12>>2]=0;if((f[H>>2]|0)>0){Z=f[J>>2]|0;_=0;do{f[Z+(_<<2)>>2]=0;_=_+1|0;$=f[H>>2]|0}while((_|0)<($|0));f[l>>2]=f[o>>2];if(($|0)<3)aa=17;else aa=19}else{f[l>>2]=f[o>>2];aa=17}if((aa|0)==17){$=f[o+4>>2]|0;if(($|0)<3){f[H>>2]=$;f[I>>2]=f[o+8>>2];f[l+12>>2]=f[o+12>>2];$=f[o+44>>2]|0;_=f[L>>2]|0;f[_>>2]=f[$>>2];f[_+4>>2]=f[$+4>>2]}else aa=19}if((aa|0)==19)WO(l,o);$=o+16|0;f[X>>2]=f[$>>2];_=l+20|0;f[_>>2]=f[o+20>>2];Z=l+24|0;f[Z>>2]=f[o+24>>2];ba=l+28|0;f[ba>>2]=f[o+28>>2];ca=l+32|0;f[ca>>2]=f[o+32>>2];da=f[d>>2]|0;f[Y>>2]=da;if(da|0){ea=da+12|0;f[ea>>2]=(f[ea>>2]|0)+1}ea=k+36|0;da=f[ea>>2]|0;if(da|0?(fa=da+12|0,da=f[fa>>2]|0,f[fa>>2]=da+-1,(da|0)==1):0)XO(k);f[ea>>2]=0;da=k+16|0;f[da>>2]=0;f[da+4>>2]=0;f[da+8>>2]=0;f[da+12>>2]=0;if((f[C>>2]|0)>0){fa=f[z>>2]|0;ga=0;do{f[fa+(ga<<2)>>2]=0;ga=ga+1|0;ha=f[C>>2]|0}while((ga|0)<(ha|0));f[k>>2]=f[l>>2];if((ha|0)<3)aa=30;else aa=32}else{f[k>>2]=f[l>>2];aa=30}if((aa|0)==30){ha=f[H>>2]|0;if((ha|0)<3){f[C>>2]=ha;f[s>>2]=f[I>>2];f[k+12>>2]=f[l+12>>2];I=f[L>>2]|0;s=f[G>>2]|0;f[s>>2]=f[I>>2];f[s+4>>2]=f[I+4>>2]}else aa=32}if((aa|0)==32)WO(k,l);f[da>>2]=f[X>>2];f[k+20>>2]=f[_>>2];f[k+24>>2]=f[Z>>2];f[k+28>>2]=f[ba>>2];f[k+32>>2]=f[ca>>2];f[ea>>2]=f[Y>>2];Y=f[d>>2]|0;if(Y|0?(ea=Y+12|0,Y=f[ea>>2]|0,f[ea>>2]=Y+-1,(Y|0)==1):0)XO(o);f[d>>2]=0;d=o+4|0;f[$>>2]=0;f[$+4>>2]=0;f[$+8>>2]=0;f[$+12>>2]=0;if((f[d>>2]|0)>0){$=f[o+40>>2]|0;Y=0;do{f[$+(Y<<2)>>2]=0;Y=Y+1|0}while((Y|0)<(f[d>>2]|0))}d=f[o+44>>2]|0;if((d|0)!=(o+48|0))dX(d);W=l}if(!e)ia=0;else{NY(o,e,0,1,0,0);e=o+36|0;d=f[e>>2]|0;if(d|0){Y=d+12|0;f[Y>>2]=(f[Y>>2]|0)+1}Y=n+36|0;d=f[Y>>2]|0;if(d|0?($=d+12|0,d=f[$>>2]|0,f[$>>2]=d+-1,(d|0)==1):0)XO(n);f[Y>>2]=0;d=n+16|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[R>>2]|0)>0){$=f[T>>2]|0;ea=0;do{f[$+(ea<<2)>>2]=0;ea=ea+1|0;ja=f[R>>2]|0}while((ea|0)<(ja|0));f[n>>2]=f[o>>2];if((ja|0)<3)aa=53;else aa=55}else{f[n>>2]=f[o>>2];aa=53}if((aa|0)==53){ja=f[o+4>>2]|0;if((ja|0)<3){f[R>>2]=ja;f[S>>2]=f[o+8>>2];f[n+12>>2]=f[o+12>>2];ja=f[o+44>>2]|0;ea=f[V>>2]|0;f[ea>>2]=f[ja>>2];f[ea+4>>2]=f[ja+4>>2]}else aa=55}if((aa|0)==55)WO(n,o);ja=o+16|0;f[d>>2]=f[ja>>2];ea=n+20|0;f[ea>>2]=f[o+20>>2];$=n+24|0;f[$>>2]=f[o+24>>2];ca=n+28|0;f[ca>>2]=f[o+28>>2];ba=n+32|0;f[ba>>2]=f[o+32>>2];Z=f[e>>2]|0;f[Y>>2]=Z;if(Z|0){_=Z+12|0;f[_>>2]=(f[_>>2]|0)+1}_=m+36|0;Z=f[_>>2]|0;if(Z|0?(X=Z+12|0,Z=f[X>>2]|0,f[X>>2]=Z+-1,(Z|0)==1):0)XO(m);f[_>>2]=0;Z=m+16|0;f[Z>>2]=0;f[Z+4>>2]=0;f[Z+8>>2]=0;f[Z+12>>2]=0;if((f[M>>2]|0)>0){X=f[O>>2]|0;da=0;do{f[X+(da<<2)>>2]=0;da=da+1|0;ka=f[M>>2]|0}while((da|0)<(ka|0));f[m>>2]=f[n>>2];if((ka|0)<3)aa=66;else aa=68}else{f[m>>2]=f[n>>2];aa=66}if((aa|0)==66){ka=f[R>>2]|0;if((ka|0)<3){f[M>>2]=ka;f[N>>2]=f[S>>2];f[m+12>>2]=f[n+12>>2];S=f[V>>2]|0;N=f[Q>>2]|0;f[N>>2]=f[S>>2];f[N+4>>2]=f[S+4>>2]}else aa=68}if((aa|0)==68)WO(m,n);f[Z>>2]=f[d>>2];f[m+20>>2]=f[ea>>2];f[m+24>>2]=f[$>>2];f[m+28>>2]=f[ca>>2];f[m+32>>2]=f[ba>>2];f[_>>2]=f[Y>>2];Y=f[e>>2]|0;if(Y|0?(_=Y+12|0,Y=f[_>>2]|0,f[_>>2]=Y+-1,(Y|0)==1):0)XO(o);f[e>>2]=0;e=o+4|0;f[ja>>2]=0;f[ja+4>>2]=0;f[ja+8>>2]=0;f[ja+12>>2]=0;if((f[e>>2]|0)>0){ja=f[o+40>>2]|0;Y=0;do{f[ja+(Y<<2)>>2]=0;Y=Y+1|0}while((Y|0)<(f[e>>2]|0))}e=f[o+44>>2]|0;if((e|0)!=(o+48|0))dX(e);ia=n}f[o+8>>2]=0;f[o+12>>2]=0;f[o>>2]=16842752;f[o+4>>2]=h;e=p+8|0;f[e>>2]=0;f[e+4>>2]=0;f[p>>2]=33619968;f[p+4>>2]=i;e=q+8|0;f[e>>2]=0;f[e+4>>2]=0;if(!W){f[q>>2]=33554432;f[q+4>>2]=0}else{f[q>>2]=33619968;f[q+4>>2]=W}W=r+8|0;f[W>>2]=0;f[W+4>>2]=0;if(!ia){f[r>>2]=33554432;f[r+4>>2]=0}else{f[r>>2]=33619968;f[r+4>>2]=ia}Eoa(o,p,q,r,f[i>>2]&7,-1);if(!(((f[w>>2]|0)==(f[v>>2]|0)?(f[l+16>>2]|0)==(f[k+16>>2]|0):0)?(f[n+16>>2]|0)==(f[m+16>>2]|0):0)){f[o>>2]=0;f[o+4>>2]=0;D=JV(o,81)|0;r=243651;E=D+81|0;do{b[D>>0]=b[r>>0]|0;D=D+1|0;r=r+1|0}while((D|0)<(E|0));EP(-215,o,243733,243361,570);KV(o)}o=n+36|0;r=f[o>>2]|0;if(r|0?(D=r+12|0,r=f[D>>2]|0,f[D>>2]=r+-1,(r|0)==1):0)XO(n);f[o>>2]=0;o=n+16|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;if((f[R>>2]|0)>0){o=f[T>>2]|0;T=0;do{f[o+(T<<2)>>2]=0;T=T+1|0}while((T|0)<(f[R>>2]|0))}R=f[V>>2]|0;if((R|0)!=(U|0))dX(R);R=m+36|0;U=f[R>>2]|0;if(U|0?(V=U+12|0,U=f[V>>2]|0,f[V>>2]=U+-1,(U|0)==1):0)XO(m);f[R>>2]=0;R=m+16|0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;f[R+12>>2]=0;if((f[M>>2]|0)>0){R=f[O>>2]|0;O=0;do{f[R+(O<<2)>>2]=0;O=O+1|0}while((O|0)<(f[M>>2]|0))}M=f[Q>>2]|0;if((M|0)!=(P|0))dX(M);M=l+36|0;P=f[M>>2]|0;if(P|0?(Q=P+12|0,P=f[Q>>2]|0,f[Q>>2]=P+-1,(P|0)==1):0)XO(l);f[M>>2]=0;M=l+16|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;if((f[H>>2]|0)>0){M=f[J>>2]|0;J=0;do{f[M+(J<<2)>>2]=0;J=J+1|0}while((J|0)<(f[H>>2]|0))}H=f[L>>2]|0;if((H|0)!=(K|0))dX(H);H=k+36|0;K=f[H>>2]|0;if(K|0?(L=K+12|0,K=f[L>>2]|0,f[L>>2]=K+-1,(K|0)==1):0)XO(k);f[H>>2]=0;H=k+16|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;if((f[C>>2]|0)>0){H=f[z>>2]|0;z=0;do{f[H+(z<<2)>>2]=0;z=z+1|0}while((z|0)<(f[C>>2]|0))}C=f[G>>2]|0;if((C|0)!=(F|0))dX(C);C=f[x>>2]|0;do if(C|0){F=C+12|0;G=f[F>>2]|0;f[F>>2]=G+-1;if((G|0)!=1)break;XO(j)}while(0);f[x>>2]=0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;if((f[c>>2]|0)>0){v=f[A>>2]|0;A=0;do{f[v+(A<<2)>>2]=0;A=A+1|0}while((A|0)<(f[c>>2]|0))}c=f[B>>2]|0;if((c|0)!=(t|0))dX(c);c=f[y>>2]|0;do if(c|0){t=c+12|0;B=f[t>>2]|0;f[t>>2]=B+-1;if((B|0)!=1)break;XO(i)}while(0);f[y>>2]=0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;if((f[a>>2]|0)>0){w=f[i+40>>2]|0;y=0;do{f[w+(y<<2)>>2]=0;y=y+1|0}while((y|0)<(f[a>>2]|0))}a=f[i+44>>2]|0;if((a|0)!=(i+48|0))dX(a);a=h+36|0;i=f[a>>2]|0;do if(i|0){y=i+12|0;w=f[y>>2]|0;f[y>>2]=w+-1;if((w|0)!=1)break;XO(h)}while(0);f[a>>2]=0;a=h+16|0;i=h+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if((f[i>>2]|0)>0){a=f[h+40>>2]|0;w=0;do{f[a+(w<<2)>>2]=0;w=w+1|0}while((w|0)<(f[i>>2]|0))}i=f[h+44>>2]|0;if((i|0)==(h+48|0)){u=g;return}dX(i);u=g;return}function Ioa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0;g=u;u=u+320|0;h=g+304|0;i=g+248|0;j=g+192|0;k=g;yV(h,61172);koa(k,a,0);qoa(k,i);koa(k,c,0);qoa(k,j);switch(d|0){case 1:{e=+p[i>>3];l=+K(+e);m=+p[j>>3];n=+K(+m);if(l>1.0e-05&n>1.0e-05){o=1.0/((e>0.0?1.0:e<0.0?-1.0:0.0)*+wEa(l));q=+K(+(1.0/((m>0.0?1.0:m<0.0?-1.0:0.0)*+wEa(n))-o))}else q=0.0;o=+p[i+8>>3];n=+K(+o);l=+p[j+8>>3];r=+K(+l);if(n>1.0e-05&r>1.0e-05){s=1.0/((o>0.0?1.0:o<0.0?-1.0:0.0)*+wEa(n));t=q+ +K(+(1.0/((l>0.0?1.0:l<0.0?-1.0:0.0)*+wEa(r))-s))}else t=q;q=+p[i+16>>3];s=+K(+q);r=+p[j+16>>3];n=+K(+r);if(s>1.0e-05&n>1.0e-05){v=1.0/((q>0.0?1.0:q<0.0?-1.0:0.0)*+wEa(s));w=t+ +K(+(1.0/((r>0.0?1.0:r<0.0?-1.0:0.0)*+wEa(n))-v))}else w=t;t=+p[i+24>>3];v=+K(+t);n=+p[j+24>>3];s=+K(+n);if(v>1.0e-05&s>1.0e-05){x=1.0/((t>0.0?1.0:t<0.0?-1.0:0.0)*+wEa(v));y=w+ +K(+(1.0/((n>0.0?1.0:n<0.0?-1.0:0.0)*+wEa(s))-x))}else y=w;w=+p[i+32>>3];x=+K(+w);s=+p[j+32>>3];v=+K(+s);if(x>1.0e-05&v>1.0e-05){z=1.0/((w>0.0?1.0:w<0.0?-1.0:0.0)*+wEa(x));A=y+ +K(+(1.0/((s>0.0?1.0:s<0.0?-1.0:0.0)*+wEa(v))-z))}else A=y;y=+p[i+40>>3];z=+K(+y);v=+p[j+40>>3];x=+K(+v);if(z>1.0e-05&x>1.0e-05){B=1.0/((y>0.0?1.0:y<0.0?-1.0:0.0)*+wEa(z));C=A+ +K(+(1.0/((v>0.0?1.0:v<0.0?-1.0:0.0)*+wEa(x))-B))}else C=A;A=+p[i+48>>3];B=+K(+A);x=+p[j+48>>3];z=+K(+x);d=e==e&0.0==0.0&e!=0.0|o==o&0.0==0.0&o!=0.0|q==q&0.0==0.0&q!=0.0|t==t&0.0==0.0&t!=0.0|w==w&0.0==0.0&w!=0.0|y==y&0.0==0.0&y!=0.0|A==A&0.0==0.0&A!=0.0;c=m==m&0.0==0.0&m!=0.0|l==l&0.0==0.0&l!=0.0|r==r&0.0==0.0&r!=0.0|n==n&0.0==0.0&n!=0.0|s==s&0.0==0.0&s!=0.0|v==v&0.0==0.0&v!=0.0|x==x&0.0==0.0&x!=0.0;if(B>1.0e-05&z>1.0e-05){v=1.0/((A>0.0?1.0:A<0.0?-1.0:0.0)*+wEa(B));D=c;E=d;F=C+ +K(+(1.0/((x>0.0?1.0:x<0.0?-1.0:0.0)*+wEa(z))-v))}else{D=c;E=d;F=C}break}case 2:{C=+p[i>>3];v=+K(+C);z=+p[j>>3];x=+K(+z);if(v>1.0e-05&x>1.0e-05){B=(C>0.0?1.0:C<0.0?-1.0:0.0)*+wEa(v);G=+K(+((z>0.0?1.0:z<0.0?-1.0:0.0)*+wEa(x)-B))}else G=0.0;B=+p[i+8>>3];x=+K(+B);v=+p[j+8>>3];A=+K(+v);if(x>1.0e-05&A>1.0e-05){s=(B>0.0?1.0:B<0.0?-1.0:0.0)*+wEa(x);H=G+ +K(+((v>0.0?1.0:v<0.0?-1.0:0.0)*+wEa(A)-s))}else H=G;G=+p[i+16>>3];s=+K(+G);A=+p[j+16>>3];x=+K(+A);if(s>1.0e-05&x>1.0e-05){n=(G>0.0?1.0:G<0.0?-1.0:0.0)*+wEa(s);I=H+ +K(+((A>0.0?1.0:A<0.0?-1.0:0.0)*+wEa(x)-n))}else I=H;H=+p[i+24>>3];n=+K(+H);x=+p[j+24>>3];s=+K(+x);if(n>1.0e-05&s>1.0e-05){r=(H>0.0?1.0:H<0.0?-1.0:0.0)*+wEa(n);J=I+ +K(+((x>0.0?1.0:x<0.0?-1.0:0.0)*+wEa(s)-r))}else J=I;I=+p[i+32>>3];r=+K(+I);s=+p[j+32>>3];n=+K(+s);if(r>1.0e-05&n>1.0e-05){l=(I>0.0?1.0:I<0.0?-1.0:0.0)*+wEa(r);L=J+ +K(+((s>0.0?1.0:s<0.0?-1.0:0.0)*+wEa(n)-l))}else L=J;J=+p[i+40>>3];l=+K(+J);n=+p[j+40>>3];r=+K(+n);if(l>1.0e-05&r>1.0e-05){m=(J>0.0?1.0:J<0.0?-1.0:0.0)*+wEa(l);M=L+ +K(+((n>0.0?1.0:n<0.0?-1.0:0.0)*+wEa(r)-m))}else M=L;L=+p[i+48>>3];m=+K(+L);r=+p[j+48>>3];l=+K(+r);d=C==C&0.0==0.0&C!=0.0|B==B&0.0==0.0&B!=0.0|G==G&0.0==0.0&G!=0.0|H==H&0.0==0.0&H!=0.0|I==I&0.0==0.0&I!=0.0|J==J&0.0==0.0&J!=0.0|L==L&0.0==0.0&L!=0.0;c=z==z&0.0==0.0&z!=0.0|v==v&0.0==0.0&v!=0.0|A==A&0.0==0.0&A!=0.0|x==x&0.0==0.0&x!=0.0|s==s&0.0==0.0&s!=0.0|n==n&0.0==0.0&n!=0.0|r==r&0.0==0.0&r!=0.0;if(m>1.0e-05&l>1.0e-05){n=(L>0.0?1.0:L<0.0?-1.0:0.0)*+wEa(m);D=c;E=d;F=M+ +K(+((r>0.0?1.0:r<0.0?-1.0:0.0)*+wEa(l)-n))}else{D=c;E=d;F=M}break}case 3:{M=+p[i>>3];n=+K(+M);l=+p[j>>3];r=+K(+l);d=M==M&0.0==0.0&M!=0.0;c=l==l&0.0==0.0&l!=0.0;if(n>1.0e-05&r>1.0e-05?(m=(M>0.0?1.0:M<0.0?-1.0:0.0)*+wEa(n),n=(m-(l>0.0?1.0:l<0.0?-1.0:0.0)*+wEa(r))/m,!(n!=n|0.0!=0.0|n==0.0)):0)N=+K(+n);else N=0.0;n=+p[i+8>>3];m=+K(+n);r=+p[j+8>>3];l=+K(+r);a=d|n==n&0.0==0.0&n!=0.0;d=c|r==r&0.0==0.0&r!=0.0;if(m>1.0e-05&l>1.0e-05?(M=(n>0.0?1.0:n<0.0?-1.0:0.0)*+wEa(m),m=+K(+((M-(r>0.0?1.0:r<0.0?-1.0:0.0)*+wEa(l))/M)),N>3];m=+K(+N);M=+p[j+16>>3];l=+K(+M);c=a|N==N&0.0==0.0&N!=0.0;a=d|M==M&0.0==0.0&M!=0.0;if(m>1.0e-05&l>1.0e-05?(r=(N>0.0?1.0:N<0.0?-1.0:0.0)*+wEa(m),m=+K(+((r-(M>0.0?1.0:M<0.0?-1.0:0.0)*+wEa(l))/r)),O>3];m=+K(+O);r=+p[j+24>>3];l=+K(+r);d=c|O==O&0.0==0.0&O!=0.0;c=a|r==r&0.0==0.0&r!=0.0;if(m>1.0e-05&l>1.0e-05?(M=(O>0.0?1.0:O<0.0?-1.0:0.0)*+wEa(m),m=+K(+((M-(r>0.0?1.0:r<0.0?-1.0:0.0)*+wEa(l))/M)),P>3];m=+K(+P);M=+p[j+32>>3];l=+K(+M);a=d|P==P&0.0==0.0&P!=0.0;d=c|M==M&0.0==0.0&M!=0.0;if(m>1.0e-05&l>1.0e-05?(r=(P>0.0?1.0:P<0.0?-1.0:0.0)*+wEa(m),m=+K(+((r-(M>0.0?1.0:M<0.0?-1.0:0.0)*+wEa(l))/r)),Q>3];m=+K(+Q);r=+p[j+40>>3];l=+K(+r);c=a|Q==Q&0.0==0.0&Q!=0.0;a=d|r==r&0.0==0.0&r!=0.0;if(m>1.0e-05&l>1.0e-05?(M=(Q>0.0?1.0:Q<0.0?-1.0:0.0)*+wEa(m),m=+K(+((M-(r>0.0?1.0:r<0.0?-1.0:0.0)*+wEa(l))/M)),R>3];m=+K(+R);M=+p[j+48>>3];l=+K(+M);j=c|R==R&0.0==0.0&R!=0.0;c=a|M==M&0.0==0.0&M!=0.0;if(m>1.0e-05&l>1.0e-05?(r=(R>0.0?1.0:R<0.0?-1.0:0.0)*+wEa(m),m=+K(+((r-(M>0.0?1.0:M<0.0?-1.0:0.0)*+wEa(l))/r)),S>2]=0;f[k+4>>2]=0;j=JV(k,25)|0;c=244513;a=j+25|0;do{b[j>>0]=b[c>>0]|0;j=j+1|0;c=c+1|0}while((j|0)<(a|0));EP(-5,k,244539,244551,161);KV(k);D=0;E=0;F=0.0}}S=E^D?1797693134862315708145274.0e284:F;if(!(f[h+4>>2]|0)){u=g;return +S}u=g;return +S}function Joa(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=+c;d=+d;e=e|0;g=+g;h=+h;i=+i;j=+j;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0.0,x=0,y=0,z=0;k=u;u=u+144|0;l=k+128|0;m=k+72|0;n=k+56|0;o=k;yV(l,61192);do if((HJ(a)|0)==65536){p=f[a+4>>2]|0;f[m>>2]=f[p>>2];q=m+4|0;r=p+4|0;f[q>>2]=f[r>>2];s=m+8|0;f[s>>2]=f[p+8>>2];f[m+12>>2]=f[p+12>>2];f[m+16>>2]=f[p+16>>2];f[m+20>>2]=f[p+20>>2];f[m+24>>2]=f[p+24>>2];f[m+28>>2]=f[p+28>>2];f[m+32>>2]=f[p+32>>2];t=f[p+36>>2]|0;f[m+36>>2]=t;f[m+40>>2]=s;s=m+48|0;v=m+44|0;f[v>>2]=s;f[s>>2]=0;f[m+52>>2]=0;if(t|0){s=t+12|0;f[s>>2]=(f[s>>2]|0)+1}if((f[r>>2]|0)<3){r=f[p+44>>2]|0;s=f[v>>2]|0;f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2];break}else{f[q>>2]=0;WO(m,p);break}}else DJ(m,a,-1);while(0);f[n>>2]=0;a=n+4|0;f[a>>2]=0;f[n+8>>2]=0;w=c;c=d;if(g==0.0&h==0.0)Koa(m,w,c,e,n,2147483647,i,j);else{p=AEa(g)|0;Loa(m,w,c,e,p,AEa(h)|0,n,2147483647,i,j)}f[o>>2]=1124024333;p=o+4|0;f[p>>2]=2;e=o+8|0;q=f[a>>2]|0;r=f[n>>2]|0;s=q-r|0;f[e>>2]=s>>3;f[o+12>>2]=1;v=o+16|0;t=o+40|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;f[v+16>>2]=0;f[v+20>>2]=0;f[t>>2]=e;e=o+48|0;x=o+44|0;f[x>>2]=e;f[e>>2]=0;y=o+52|0;f[y>>2]=0;z=r;if((z|0)!=(q|0)){f[y>>2]=8;f[e>>2]=8;f[v>>2]=z;f[o+20>>2]=z;z=r+s|0;f[o+24>>2]=z;f[o+28>>2]=z}eM(o,b);b=o+36|0;z=f[b>>2]|0;if(z|0?(s=z+12|0,z=f[s>>2]|0,f[s>>2]=z+-1,(z|0)==1):0)XO(o);f[b>>2]=0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;if((f[p>>2]|0)>0){v=f[t>>2]|0;t=0;do{f[v+(t<<2)>>2]=0;t=t+1|0}while((t|0)<(f[p>>2]|0))}p=f[x>>2]|0;if((p|0)!=(e|0))dX(p);p=f[n>>2]|0;if(p|0){n=f[a>>2]|0;if((n|0)!=(p|0))f[a>>2]=n+(~((n+-8-p|0)>>>3)<<3);GQa(p)}p=m+36|0;n=f[p>>2]|0;if(n|0?(a=n+12|0,n=f[a>>2]|0,f[a>>2]=n+-1,(n|0)==1):0)XO(m);f[p>>2]=0;p=m+16|0;n=m+4|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;if((f[n>>2]|0)>0){p=f[m+40>>2]|0;a=0;do{f[p+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[n>>2]|0))}n=f[m+44>>2]|0;if((n|0)!=(m+48|0))dX(n);if(!(f[l+4>>2]|0)){u=k;return}u=k;return}function Koa(a,c,d,e,g,h,i,j){a=a|0;c=+c;d=+d;e=e|0;g=g|0;h=h|0;i=+i;j=+j;var k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0.0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,P=0,Q=0.0,R=0.0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0;k=u;u=u+2432|0;l=k+224|0;m=k+2376|0;o=k;p=k+2360|0;q=k+1296|0;r=k+232|0;s=1.0/c;if(f[a>>2]&4095|0){f[l>>2]=0;f[l+4>>2]=0;t=JV(l,55)|0;v=244684;w=t+55|0;do{b[t>>0]=b[v>>0]|0;t=t+1|0;v=v+1|0}while((t|0)<(w|0));EP(-215,l,244825,244755,115);KV(l)}x=f[a+16>>2]|0;y=f[a+48>>2]|0;z=f[a+12>>2]|0;A=f[a+8>>2]|0;if(j>2]=0;f[l+4>>2]=0;t=JV(l,40)|0;v=244844;w=t+40|0;do{b[t>>0]=b[v>>0]|0;t=t+1|0;v=v+1|0}while((t|0)<(w|0));EP(-5,l,244825,244755,123);KV(l)}v=AEa((j-i)/d)|0;a=HEa(+(A+z<<1|1|0)/c)|0;B=a+2|0;TG(o,v+2|0,B,4);f[m>>2]=1124007936;C=m+4|0;D=m+8|0;E=m+40|0;t=C;w=t+36|0;do{f[t>>2]=0;t=t+4|0}while((t|0)<(w|0));f[E>>2]=D;D=m+48|0;t=m+44|0;f[t>>2]=D;f[D>>2]=0;f[m+52>>2]=0;w=f[o>>2]|0;th[f[(f[w>>2]|0)+12>>2]&255](w,o,m,-1);Mi(o);f[p>>2]=0;o=p+4|0;f[o>>2]=0;f[p+8>>2]=0;w=q+8|0;f[q>>2]=w;F=q+4|0;G=v>>>0>264;f[F>>2]=v;if(G){H=FQa(v>>>0>1073741823?-1:v<<2)|0;f[q>>2]=H;I=H}else I=w;H=r+8|0;f[r>>2]=H;J=r+4|0;f[J>>2]=v;if(G){G=FQa(v>>>0>1073741823?-1:v<<2)|0;f[r>>2]=G;K=G}else K=H;G=m+16|0;L=f[G>>2]|0;M=(v|0)>0;if(M){j=s;s=i;P=0;while(1){Q=s;R=+O(+Q)*j;n[I+(P<<2)>>2]=R;R=+N(+Q)*j;n[K+(P<<2)>>2]=R;P=P+1|0;if((P|0)==(v|0))break;else s=s+d}}if((A|0)>0?(P=((a+-1|0)/2|0)+1|0,(z|0)>0):0){S=0;do{T=X(S,y)|0;s=+(S|0);if(M){U=0;do{if(b[x+(U+T)>>0]|0){j=+(U|0);V=0;do{W=V;V=V+1|0;Y=L+(P+(X(V,B)|0)+(HEa(+n[K+(W<<2)>>2]*j+ +n[I+(W<<2)>>2]*s)|0)<<2)|0;f[Y>>2]=(f[Y>>2]|0)+1}while((V|0)!=(v|0))}U=U+1|0}while((U|0)!=(z|0))}S=S+1|0}while((S|0)!=(A|0))}if((a|0)>0?(A=-2-a|0,S=p+8|0,M):0){M=0;do{z=0;do{z=z+1|0;I=(X(z,B)|0)+M|0;K=I+1|0;f[l>>2]=K;P=f[L+(K<<2)>>2]|0;do if(((((P|0)>(e|0)?(P|0)>(f[L+(I<<2)>>2]|0):0)?(P|0)>=(f[L+(I+2<<2)>>2]|0):0)?(P|0)>(f[L+(A+K<<2)>>2]|0):0)?(P|0)>=(f[L+(K+B<<2)>>2]|0):0){x=f[o>>2]|0;if((x|0)==(f[S>>2]|0)){jQ(p,l);break}else{f[x>>2]=K;f[o>>2]=x+4;break}}while(0)}while((z|0)!=(v|0));M=M+1|0}while((M|0)!=(a|0));Z=f[p>>2]|0;_=f[o>>2]|0}else{Z=0;_=0}f[l>>2]=L;Ooa(Z,_,l);_=f[p>>2]|0;Z=(f[o>>2]|0)-_>>2;L=(Z|0)<(h|0)?Z:h;s=1.0/+(B|0);a:do if((L|0)>0){j=+(a+-1|0)*.5;R=i;h=l+4|0;Z=g+4|0;M=g+8|0;v=0;S=_;while(1){A=f[S+(v<<2)>>2]|0;Q=s*+(A|0);e=~~Q;z=e-(Q<+(e|0)&1)|0;Q=(+(A+-1-(X(z,B)|0)|0)-j)*c;n[l>>2]=Q;n[h>>2]=+(z+-1|0)*d+R;z=f[Z>>2]|0;if((z|0)==(f[M>>2]|0))Noa(g,l);else{n[z>>2]=Q;f[z+4>>2]=f[h>>2];f[Z>>2]=z+8}z=v+1|0;if((z|0)>=(L|0))break a;v=z;S=f[p>>2]|0}}while(0);L=f[r>>2]|0;if((L|0)!=(H|0)){if(L|0)HQa(L);f[r>>2]=H;f[J>>2]=264}J=f[q>>2]|0;if((J|0)!=(w|0)){if(J|0)HQa(J);f[q>>2]=w;f[F>>2]=264}F=f[p>>2]|0;if(F|0){p=f[o>>2]|0;if((p|0)!=(F|0))f[o>>2]=p+(~((p+-4-F|0)>>>2)<<2);GQa(F)}F=m+36|0;p=f[F>>2]|0;if(p|0?(o=p+12|0,p=f[o>>2]|0,f[o>>2]=p+-1,(p|0)==1):0)XO(m);f[F>>2]=0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;if((f[C>>2]|0)>0){G=f[E>>2]|0;E=0;do{f[G+(E<<2)>>2]=0;E=E+1|0}while((E|0)<(f[C>>2]|0))}C=f[t>>2]|0;if((C|0)==(D|0)){u=k;return}dX(C);u=k;return}function Loa(a,c,d,e,g,i,j,k,l,m){a=a|0;c=+c;d=+d;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;l=+l;m=+m;var o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,M=0.0,O=0.0,P=0.0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0.0,ia=0,ja=0,ka=0,la=0.0,ma=0.0,na=0.0,oa=0,pa=0,qa=0.0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0;o=u;u=u+96|0;p=o+72|0;q=o+60|0;r=o+48|0;s=o+36|0;t=o+24|0;v=o+12|0;w=o;x=X(i,g)|0;f[p>>2]=0;y=p+4|0;f[y>>2]=0;f[p+8>>2]=0;if(f[a>>2]&4095|0){f[q>>2]=0;f[q+4>>2]=0;z=JV(q,55)|0;A=244684;B=z+55|0;do{b[z>>0]=b[A>>0]|0;z=z+1|0;A=A+1|0}while((z|0)<(B|0));EP(-215,q,244740,244755,241);KV(q)}if((k|0)<=0){f[q>>2]=0;f[q+4>>2]=0;z=JV(q,12)|0;A=244812;B=z+12|0;do{b[z>>0]=b[A>>0]|0;z=z+1|0;A=A+1|0}while((z|0)<(B|0));EP(-215,q,244740,244755,242);KV(q)}A=(e|0)<255?e:255;e=f[a+16>>2]|0;z=f[a+48>>2]|0;B=f[a+12>>2]|0;C=f[a+8>>2]|0;D=1.0/c;E=1.0/d;F=+(g|0);G=c/F;H=d/+(i|0);I=1.0/G;J=1.0/H;M=+(B|0);O=+(C|0);P=+L(+(M*M+O*O))*D;g=~~P;Q=g-(P<+(g|0)&1)|0;P=E;O=P*6.283185307179586;g=~~O;R=g-(O<+(g|0)&1)|0;f[q>>2]=A;n[q+4>>2]=-1.0;n[q+8>>2]=0.0;g=f[y>>2]|0;S=p+8|0;if((g|0)==(f[S>>2]|0))Moa(p,q);else{f[g>>2]=f[q>>2];f[g+4>>2]=f[q+4>>2];f[g+8>>2]=f[q+8>>2];f[y>>2]=(f[y>>2]|0)+12}g=X(i*5|0,R)|0;f[q>>2]=0;T=q+4|0;f[T>>2]=0;f[q+8>>2]=0;if(!g)U=0;else{if(g>>>0>1073741823)ZOa(q);V=g<<2;W=EQa(V)|0;f[q>>2]=W;Y=W+(g<<2)|0;f[q+8>>2]=Y;FVa(W|0,0,V|0)|0;f[T>>2]=Y;Y=0;do{O=+N(+(H*+(Y|0)*.20000000298023224));n[W+(Y<<2)>>2]=O;Y=Y+1|0}while((Y|0)!=(g|0));U=W}W=X(Q,R)|0;f[r>>2]=0;g=r+4|0;f[g>>2]=0;f[r+8>>2]=0;if(!W)Z=0;else{if((W|0)<0)ZOa(r);Y=EQa(W)|0;f[g>>2]=Y;f[r>>2]=Y;f[r+8>>2]=Y+W;V=W;_=Y;do{b[_>>0]=0;_=(f[g>>2]|0)+1|0;f[g>>2]=_;V=V+-1|0}while((V|0)!=0);Z=f[r>>2]|0}V=(C|0)>0;if(V&(B|0)>0){_=0;Y=0;while(1){$=X(_,z)|0;aa=0;ba=Y;do{ba=ba+((b[e+(aa+$)>>0]|0)!=0&1)|0;aa=aa+1|0}while((aa|0)!=(B|0));_=_+1|0;if((_|0)==(C|0)){ca=ba;break}else Y=ba}}else ca=0;f[s>>2]=0;Y=s+4|0;f[Y>>2]=0;f[s+8>>2]=0;_=(ca|0)==0;do if(!_)if(ca>>>0>1073741823)ZOa(s);else{aa=ca<<2;$=EQa(aa)|0;f[s>>2]=$;da=$+(ca<<2)|0;f[s+8>>2]=da;FVa($|0,0,aa|0)|0;f[Y>>2]=da;ea=$;break}else ea=0;while(0);f[t>>2]=0;$=t+4|0;f[$>>2]=0;f[t+8>>2]=0;if(_){fa=0;ga=0}else{_=ca<<2;da=EQa(_)|0;f[t>>2]=da;aa=da+(ca<<2)|0;f[t+8>>2]=aa;FVa(da|0,0,_|0)|0;f[$>>2]=aa;fa=da;ga=da}if(V){V=(B|0)>0;da=0;aa=0;while(1){if(V){_=X(aa,z)|0;O=+(aa|0)+.5;M=O;ha=M*M;ia=0;ja=da;while(1){if(b[e+(ia+_)>>0]|0){f[ea+(ja<<2)>>2]=ia;f[fa+(ja<<2)>>2]=aa;ka=ja+1|0;M=+(ia|0)+.5;la=+K(+(+RQ(O,M)*.01745329238474369));ma=M;M=+L(+(ha+ma*ma));ma=D*M;na=(la+1.5707963267948966)*P;oa=~~na;pa=Z+(oa-(na<+(oa|0)&1))|0;b[pa>>0]=(b[pa>>0]|0)+1<<24>>24;na=c/M;M=na1){qa=E*(la+M);la=-1.5707963705062866;pa=-1;ra=1;while(1){la=M+la;sa=~~qa;ta=pa;pa=(X(R,~~(ma*+N(+la)))|0)+(sa-(qa<+(sa|0)&1))|0;sa=Z+pa|0;b[sa>>0]=((pa|0)!=(ta|0)&1)+(h[sa>>0]|0);ra=ra+1|0;if((ra|0)==(oa|0)){ua=ka;break}else qa=na+qa}}else ua=ka}else ua=ja;ia=ia+1|0;if((ia|0)>=(B|0)){va=ua;break}else ja=ua}}else va=da;aa=aa+1|0;if((aa|0)>=(C|0))break;else da=va}}va=(Q|0)>0;if(va&(R|0)>0){da=0;C=0;while(1){aa=X(da,R)|0;ua=0;B=C;do{B=B+((A|0)<(h[Z+(ua+aa)>>0]|0)&1)|0;ua=ua+1|0}while((ua|0)!=(R|0));da=da+1|0;if((da|0)==(Q|0)){wa=B;break}else C=B}}else wa=0;if((wa*100|0)>(W|0)){Koa(a,c,d,A,j,k,l,m);xa=fa;ya=ga}else{ga=x+2|0;f[v>>2]=0;a=v+4|0;f[a>>2]=0;f[v+8>>2]=0;if(!ga)za=0;else{if((x|0)<-2)ZOa(v);W=EQa(ga)|0;f[a>>2]=W;f[v>>2]=W;f[v+8>>2]=W+ga;wa=ga;ga=W;do{b[ga>>0]=0;ga=(f[a>>2]|0)+1|0;f[a>>2]=ga;wa=wa+-1|0}while((wa|0)!=0);za=f[v>>2]|0}wa=za+1|0;if(va){va=(R|0)>0;za=(ca|0)>0;m=J;ga=(i|0)>0;W=(x|0)>0;C=w+4|0;da=w+8|0;ua=0;while(1){if(va){aa=X(ua,R)|0;J=+(ua|0);l=F*J;E=J*c;e=0;do{do if((A|0)<(h[Z+(e+aa)>>0]|0)){FVa(wa|0,0,x|0)|0;a:do if(za){z=X(e,i)|0;if(ga)Aa=0;else{V=0;while(1){+RQ(+(f[fa+(V<<2)>>2]|0)+.5,+(f[ea+(V<<2)>>2]|0)+.5);V=V+1|0;if((V|0)>=(ca|0))break a}}do{J=+(f[fa+(Aa<<2)>>2]|0)+.5;P=+(f[ea+(Aa<<2)>>2]|0)+.5;D=P;ha=J;O=I*+L(+(ha*ha+D*D));D=(+K(+(+RQ(J,P)*.01745329238474369))+1.5707963267948966)*m;V=~~D;ja=(z-V+(D<+(V|0)&1)|0)*5|0;V=0;while(1){D=O*+n[U+(((ja|0)>-1?ja:0-ja|0)<<2)>>2]-l;ia=~~D;_=(X(ia-(D<+(ia|0)&1)|0,i)|0)+V|0;ia=_>>31&~_^_;_=wa+(((ia|0)>=(x|0)?ia^x:0)^ia)|0;b[_>>0]=(b[_>>0]|0)+1<<24>>24;V=V+1|0;if((V|0)==(i|0))break;else ja=ja+5|0}Aa=Aa+1|0}while((Aa|0)<(ca|0))}while(0);if(!W)break;O=+(e|0)*d;z=f[y>>2]|0;ja=f[p>>2]|0;V=0;_=ja;ia=z;ba=ja;ja=z;while(1){z=ia-_|0;oa=((z|0)/12|0)+-1|0;if((z|0)>=12){ra=b[wa+V>>0]|0;if((f[ba+(oa*12|0)>>2]|0)<(ra&255|0)){Ba=ra;Ca=70}else{Da=ja;Ea=ba;Fa=ba;Ga=ia}}else{Ba=b[wa+V>>0]|0;Ca=70}if((Ca|0)==70){Ca=0;f[w>>2]=Ba&255;n[C>>2]=E+G*+((V|0)/(i|0)|0|0);n[da>>2]=O+H*+((V|0)%(i|0)|0|0)+-1.5707963705062866;if((ja|0)==(f[S>>2]|0))Moa(p,w);else{f[ja>>2]=f[w>>2];f[ja+4>>2]=f[w+4>>2];f[ja+8>>2]=f[w+8>>2];f[y>>2]=(f[y>>2]|0)+12}b:do if((z|0)>0){ra=oa;while(1){pa=f[p>>2]|0;sa=pa+(ra*12|0)|0;if((f[sa>>2]|0)>(f[w>>2]|0)){Ha=ra;break b}ta=pa+((ra+1|0)*12|0)|0;f[ta>>2]=f[sa>>2];f[ta+4>>2]=f[sa+4>>2];f[ta+8>>2]=f[sa+8>>2];sa=ra+-1|0;if((ra|0)>0)ra=sa;else{Ha=sa;break}}}else Ha=oa;while(0);oa=(f[p>>2]|0)+((Ha+1|0)*12|0)|0;f[oa>>2]=f[w>>2];f[oa+4>>2]=f[w+4>>2];f[oa+8>>2]=f[w+8>>2];oa=f[y>>2]|0;z=f[p>>2]|0;ra=oa;if(((oa-z|0)/12|0|0)>(k|0)){sa=ra+-12|0;f[y>>2]=sa;Ia=sa;Ja=sa}else{Ia=ra;Ja=oa}Da=Ia;Ea=z;Fa=z;Ga=Ja}V=V+1|0;if((V|0)>=(x|0))break;else{_=Fa;ia=Ga;ba=Ea;ja=Da}}}while(0);e=e+1|0}while((e|0)<(R|0))}ua=ua+1|0;if((ua|0)>=(Q|0)){Ka=y;La=p;break}}}else{Ka=y;La=p}Q=f[Ka>>2]|0;ua=f[La>>2]|0;if((Q|0)!=(ua|0)){R=w+4|0;Da=j+4|0;Ea=j+8|0;Ga=0;Fa=ua;ua=Q;while(1){Q=Fa;if(+n[Q+(Ga*12|0)+4>>2]<0.0){Ma=Fa;Na=ua}else{x=f[Q+(Ga*12|0)+4>>2]|0;Ja=f[Q+(Ga*12|0)+8>>2]|0;f[w>>2]=x;f[R>>2]=Ja;Ja=f[Da>>2]|0;if((Ja|0)==(f[Ea>>2]|0)){Noa(j,w);Oa=f[Ka>>2]|0;Pa=f[La>>2]|0}else{f[Ja>>2]=x;f[Ja+4>>2]=f[R>>2];f[Da>>2]=Ja+8;Oa=ua;Pa=Fa}Ma=Pa;Na=Oa}Ga=Ga+1|0;if(Ga>>>0>=((Na-Ma|0)/12|0)>>>0)break;else{Fa=Ma;ua=Na}}}Na=f[v>>2]|0;if(Na|0){if((f[a>>2]|0)!=(Na|0))f[a>>2]=Na;GQa(Na)}Na=f[t>>2]|0;xa=Na;ya=Na}if(xa|0){Na=f[$>>2]|0;if((Na|0)!=(xa|0))f[$>>2]=Na+(~((Na+-4-xa|0)>>>2)<<2);GQa(ya)}ya=f[s>>2]|0;if(ya|0){s=f[Y>>2]|0;if((s|0)!=(ya|0))f[Y>>2]=s+(~((s+-4-ya|0)>>>2)<<2);GQa(ya)}ya=f[r>>2]|0;if(ya|0){if((f[g>>2]|0)!=(ya|0))f[g>>2]=ya;GQa(ya)}ya=f[q>>2]|0;if(ya|0){q=f[T>>2]|0;if((q|0)!=(ya|0))f[T>>2]=q+(~((q+-4-ya|0)>>>2)<<2);GQa(ya)}ya=f[p>>2]|0;if(!ya){u=o;return}p=f[y>>2]|0;if((p|0)!=(ya|0))f[y>>2]=p+(~(((p+-12-ya|0)>>>0)/12|0)*12|0);GQa(ya);u=o;return}function Moa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=(e|0)/12|0;h=g+1|0;if(h>>>0>357913941)ZOa(a);i=a+8|0;j=((f[i>>2]|0)-d|0)/12|0;k=j<<1;l=j>>>0<178956970?(k>>>0>>0?h:k):357913941;do if(l)if(l>>>0>357913941){k=hd(8)|0;LQa(k,349912);f[k>>2]=118288;ld(k|0,20688,857)}else{m=EQa(l*12|0)|0;break}else m=0;while(0);k=m+(g*12|0)|0;f[k>>2]=f[b>>2];f[k+4>>2]=f[b+4>>2];f[k+8>>2]=f[b+8>>2];b=k+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)DVa(b|0,d|0,e|0)|0;f[a>>2]=b;f[c>>2]=k+12;f[i>>2]=m+(l*12|0);if(!d)return;GQa(d);return}function Noa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e>>3;h=g+1|0;i=e;j=d;if(h>>>0>536870911)ZOa(a);d=a+8|0;k=(f[d>>2]|0)-e|0;l=k>>2;m=k>>3>>>0<268435455?(l>>>0>>0?h:l):536870911;do if(m)if(m>>>0>536870911){l=hd(8)|0;LQa(l,349912);f[l>>2]=118288;ld(l|0,20688,857)}else{n=EQa(m<<3)|0;break}else n=0;while(0);l=n+(g<<3)|0;h=n+(m<<3)|0;f[l>>2]=f[b>>2];f[n+(g<<3)+4>>2]=f[b+4>>2];b=l+8|0;if((j|0)==(i|0))o=l;else{g=j+-8-e|0;n=j;j=l;do{m=j;j=j+-8|0;k=n;n=n+-8|0;f[j>>2]=f[n>>2];f[m+-4>>2]=f[k+-4>>2]}while((n|0)!=(i|0));o=l+(~(g>>>3)<<3)|0}f[a>>2]=o;f[c>>2]=b;f[d>>2]=h;if(!e)return;GQa(e);return}function Ooa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=7;break a;break}case 4:{l=15;break a;break}case 5:{l=16;break a;break}case 1:case 0:{l=63;break a;break}default:{}}if((j|0)<124){l=18;break a}m=h+(((k|0)/2|0)<<2)|0;do if((j|0)<=3996){n=f[m>>2]|0;o=f[h>>2]|0;p=f[c>>2]|0;q=f[p+(n<<2)>>2]|0;r=p+(o<<2)|0;s=f[r>>2]|0;t=f[e>>2]|0;u=f[p+(t<<2)>>2]|0;v=(u|0)>(q|0)|(t|0)<(n|0)&(u|0)==(q|0);if(!((q|0)>(s|0)|(n|0)<(o|0)&(q|0)==(s|0))){if(!v){w=0;x=p;break}f[m>>2]=t;f[e>>2]=n;s=f[m>>2]|0;q=f[h>>2]|0;u=f[p+(s<<2)>>2]|0;y=f[p+(q<<2)>>2]|0;if(!((u|0)>(y|0)|(s|0)<(q|0)&(u|0)==(y|0))){w=1;x=p;break}f[h>>2]=s;f[m>>2]=q;w=2;x=p;break}if(v){f[h>>2]=t;f[e>>2]=o;w=1;x=p;break}f[h>>2]=n;f[m>>2]=o;n=f[e>>2]|0;t=f[p+(n<<2)>>2]|0;v=f[r>>2]|0;if((t|0)>(v|0)|(n|0)<(o|0)&(t|0)==(v|0)){f[m>>2]=n;f[e>>2]=o;w=2;x=p}else{w=1;x=p}}else{p=(k|0)/4|0;o=Qoa(h,h+(p<<2)|0,m,m+(p<<2)|0,e,c)|0;w=o;x=f[c>>2]|0}while(0);z=f[h>>2]|0;k=f[m>>2]|0;j=f[x+(z<<2)>>2]|0;o=f[x+(k<<2)>>2]|0;if((j|0)>(o|0)|(z|0)<(k|0)&(j|0)==(o|0)){A=e;B=w;break}o=f[c>>2]|0;j=o+(k<<2)|0;C=e;while(1){C=C+-4|0;if((h|0)==(C|0))break;D=f[C>>2]|0;p=f[o+(D<<2)>>2]|0;n=f[j>>2]|0;if((p|0)>(n|0)|(D|0)<(k|0)&(p|0)==(n|0)){l=45;break b}}k=h+4|0;j=f[e>>2]|0;n=f[o+(z<<2)>>2]|0;p=f[o+(j<<2)>>2]|0;if((n|0)>(p|0)|(z|0)<(j|0)&(n|0)==(p|0))E=k;else{if((k|0)==(e|0)){l=63;break a}else F=k;while(1){G=f[F>>2]|0;k=f[o+(G<<2)>>2]|0;if((n|0)>(k|0)|(z|0)<(G|0)&(n|0)==(k|0))break;k=F+4|0;if((k|0)==(e|0)){l=63;break a}else F=k}f[F>>2]=j;f[e>>2]=G;E=F+4|0}if((E|0)==(e|0)){l=63;break a}n=f[c>>2]|0;o=e;k=E;while(1){p=f[h>>2]|0;v=f[n+(p<<2)>>2]|0;t=k;while(1){H=f[t>>2]|0;r=f[n+(H<<2)>>2]|0;I=t+4|0;if((v|0)>(r|0)|(p|0)<(H|0)&(v|0)==(r|0)){J=o;break}else t=I}do{J=J+-4|0;K=f[J>>2]|0;r=f[n+(K<<2)>>2]|0}while((v|0)>(r|0)|(p|0)<(K|0)&(v|0)==(r|0));if(t>>>0>=J>>>0){h=t;continue b}f[t>>2]=K;f[J>>2]=H;o=J;k=I}}if((l|0)==45){l=0;f[h>>2]=D;f[C>>2]=z;A=C;B=w+1|0}k=h+4|0;c:do if(k>>>0>>0){o=f[c>>2]|0;n=m;j=A;v=k;p=B;while(1){r=f[n>>2]|0;q=f[o+(r<<2)>>2]|0;s=v;while(1){L=f[s>>2]|0;y=f[o+(L<<2)>>2]|0;M=s+4|0;if((y|0)>(q|0)|(L|0)<(r|0)&(y|0)==(q|0))s=M;else{N=j;break}}do{N=N+-4|0;O=f[N>>2]|0;t=f[o+(O<<2)>>2]|0}while(!((t|0)>(q|0)|(O|0)<(r|0)&(t|0)==(q|0)));if(s>>>0>N>>>0){P=n;Q=p;R=s;break c}f[s>>2]=O;f[N>>2]=L;n=(n|0)==(s|0)?N:n;j=N;v=M;p=p+1|0}}else{P=m;Q=B;R=k}while(0);if((R|0)!=(P|0)?(k=f[P>>2]|0,p=f[R>>2]|0,v=f[c>>2]|0,j=f[v+(k<<2)>>2]|0,n=f[v+(p<<2)>>2]|0,(j|0)>(n|0)|(k|0)<(p|0)&(j|0)==(n|0)):0){f[R>>2]=k;f[P>>2]=p;S=Q+1|0}else S=Q;if(!S){T=Soa(h,R,c)|0;p=R+4|0;if(Soa(p,a,c)|0){l=62;break}if(T){g=p;continue}}p=R;if((p-i|0)>=(b-p|0)){l=61;break}Ooa(h,R,c);g=R+4|0}if((l|0)==61){l=0;Ooa(R+4|0,a,c);d=h;a=R;continue}else if((l|0)==62){l=0;if(T){l=63;break}else{d=h;a=R;continue}}}if((l|0)==5){R=f[e>>2]|0;d=f[h>>2]|0;T=f[c>>2]|0;i=f[T+(R<<2)>>2]|0;S=f[T+(d<<2)>>2]|0;if(!((i|0)>(S|0)|(R|0)<(d|0)&(i|0)==(S|0)))return;f[h>>2]=R;f[e>>2]=d;return}else if((l|0)==7){d=h+4|0;R=f[d>>2]|0;S=f[h>>2]|0;i=f[c>>2]|0;T=f[i+(R<<2)>>2]|0;Q=i+(S<<2)|0;P=f[Q>>2]|0;B=f[e>>2]|0;m=f[i+(B<<2)>>2]|0;M=(m|0)>(T|0)|(B|0)<(R|0)&(m|0)==(T|0);if(!((T|0)>(P|0)|(R|0)<(S|0)&(T|0)==(P|0))){if(!M)return;f[d>>2]=B;f[e>>2]=R;P=f[d>>2]|0;T=f[h>>2]|0;m=f[i+(P<<2)>>2]|0;N=f[i+(T<<2)>>2]|0;if(!((m|0)>(N|0)|(P|0)<(T|0)&(m|0)==(N|0)))return;f[h>>2]=P;f[d>>2]=T;return}if(M){f[h>>2]=B;f[e>>2]=S;return}f[h>>2]=R;f[d>>2]=S;R=f[e>>2]|0;B=f[i+(R<<2)>>2]|0;i=f[Q>>2]|0;if(!((B|0)>(i|0)|(R|0)<(S|0)&(B|0)==(i|0)))return;f[d>>2]=R;f[e>>2]=S;return}else if((l|0)==15){Poa(h,h+4|0,h+8|0,e,c)|0;return}else if((l|0)==16){Qoa(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}else if((l|0)==18){Roa(h,a,c);return}else if((l|0)==63)return}function Poa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=f[b>>2]|0;h=f[a>>2]|0;i=f[e>>2]|0;e=f[i+(g<<2)>>2]|0;j=i+(h<<2)|0;k=f[j>>2]|0;l=f[c>>2]|0;m=f[i+(l<<2)>>2]|0;n=(m|0)>(e|0)|(l|0)<(g|0)&(m|0)==(e|0);do if((e|0)>(k|0)|(g|0)<(h|0)&(e|0)==(k|0)){if(n){f[a>>2]=l;f[c>>2]=h;o=1;p=h;break}f[a>>2]=g;f[b>>2]=h;m=f[c>>2]|0;q=f[i+(m<<2)>>2]|0;r=f[j>>2]|0;if((q|0)>(r|0)|(m|0)<(h|0)&(q|0)==(r|0)){f[b>>2]=m;f[c>>2]=h;o=2;p=h}else{o=1;p=m}}else if(n){f[b>>2]=l;f[c>>2]=g;m=f[b>>2]|0;r=f[a>>2]|0;q=f[i+(m<<2)>>2]|0;s=f[i+(r<<2)>>2]|0;if((q|0)>(s|0)|(m|0)<(r|0)&(q|0)==(s|0)){f[a>>2]=m;f[b>>2]=r;o=2;p=f[c>>2]|0}else{o=1;p=g}}else{o=0;p=l}while(0);l=f[d>>2]|0;g=f[i+(l<<2)>>2]|0;n=f[i+(p<<2)>>2]|0;if(!((g|0)>(n|0)|(l|0)<(p|0)&(g|0)==(n|0))){t=o;return t|0}f[c>>2]=l;f[d>>2]=p;p=f[c>>2]|0;d=f[b>>2]|0;l=f[i+(p<<2)>>2]|0;n=f[i+(d<<2)>>2]|0;if(!((l|0)>(n|0)|(p|0)<(d|0)&(l|0)==(n|0))){t=o+1|0;return t|0}f[b>>2]=p;f[c>>2]=d;d=f[b>>2]|0;c=f[a>>2]|0;p=f[i+(d<<2)>>2]|0;n=f[i+(c<<2)>>2]|0;if(!((p|0)>(n|0)|(d|0)<(c|0)&(p|0)==(n|0))){t=o+2|0;return t|0}f[a>>2]=d;f[b>>2]=c;t=o+3|0;return t|0}function Qoa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;h=Poa(a,b,c,d,g)|0;i=f[e>>2]|0;j=f[d>>2]|0;k=f[g>>2]|0;g=f[k+(i<<2)>>2]|0;l=f[k+(j<<2)>>2]|0;if(!((g|0)>(l|0)|(i|0)<(j|0)&(g|0)==(l|0))){m=h;return m|0}f[d>>2]=i;f[e>>2]=j;j=f[d>>2]|0;e=f[c>>2]|0;i=f[k+(j<<2)>>2]|0;l=f[k+(e<<2)>>2]|0;if(!((i|0)>(l|0)|(j|0)<(e|0)&(i|0)==(l|0))){m=h+1|0;return m|0}f[c>>2]=j;f[d>>2]=e;e=f[c>>2]|0;d=f[b>>2]|0;j=f[k+(e<<2)>>2]|0;l=f[k+(d<<2)>>2]|0;if(!((j|0)>(l|0)|(e|0)<(d|0)&(j|0)==(l|0))){m=h+2|0;return m|0}f[b>>2]=e;f[c>>2]=d;d=f[b>>2]|0;c=f[a>>2]|0;e=f[k+(d<<2)>>2]|0;l=f[k+(c<<2)>>2]|0;if(!((e|0)>(l|0)|(d|0)<(c|0)&(e|0)==(l|0))){m=h+3|0;return m|0}f[a>>2]=d;f[b>>2]=c;m=h+4|0;return m|0}function Roa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;d=a+8|0;e=a+4|0;g=f[e>>2]|0;h=f[a>>2]|0;i=f[c>>2]|0;j=f[i+(g<<2)>>2]|0;k=i+(h<<2)|0;l=f[k>>2]|0;m=f[d>>2]|0;n=i+(m<<2)|0;o=f[n>>2]|0;p=(o|0)>(j|0)|(m|0)<(g|0)&(o|0)==(j|0);do if((j|0)>(l|0)|(g|0)<(h|0)&(j|0)==(l|0)){if(p){f[a>>2]=m;f[d>>2]=h;q=h;break}f[a>>2]=g;f[e>>2]=h;o=f[n>>2]|0;r=f[k>>2]|0;if((o|0)>(r|0)|(m|0)<(h|0)&(o|0)==(r|0)){f[e>>2]=m;f[d>>2]=h;q=h}else q=m}else if(p){f[e>>2]=m;f[d>>2]=g;r=f[n>>2]|0;o=f[k>>2]|0;if((r|0)>(o|0)|(m|0)<(h|0)&(r|0)==(o|0)){f[a>>2]=m;f[e>>2]=h;q=g}else q=g}else q=m;while(0);m=a+12|0;if((m|0)==(b|0))return;else{s=m;t=d;u=i;v=q}while(1){q=f[s>>2]|0;i=f[u+(q<<2)>>2]|0;d=f[u+(v<<2)>>2]|0;if((i|0)>(d|0)|(q|0)<(v|0)&(i|0)==(d|0)){d=f[c>>2]|0;i=d+(q<<2)|0;m=t;g=s;h=v;while(1){f[g>>2]=h;if((m|0)==(a|0)){w=a;break}e=m+-4|0;h=f[e>>2]|0;k=f[i>>2]|0;n=f[d+(h<<2)>>2]|0;if(!((k|0)>(n|0)|(q|0)<(h|0)&(k|0)==(n|0))){w=m;break}else{n=m;m=e;g=n}}f[w>>2]=q;x=d}else x=u;g=s+4|0;if((g|0)==(b|0))break;m=f[s>>2]|0;h=s;s=g;u=x;v=m;t=h}return}function Soa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;switch(b-a>>2|0){case 2:{d=b+-4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=f[c>>2]|0;i=f[h+(e<<2)>>2]|0;j=f[h+(g<<2)>>2]|0;if(!((i|0)>(j|0)|(e|0)<(g|0)&(i|0)==(j|0))){k=1;return k|0}f[a>>2]=e;f[d>>2]=g;k=1;return k|0}case 3:{g=a+4|0;d=b+-4|0;e=f[g>>2]|0;j=f[a>>2]|0;i=f[c>>2]|0;h=f[i+(e<<2)>>2]|0;l=i+(j<<2)|0;m=f[l>>2]|0;n=f[d>>2]|0;o=f[i+(n<<2)>>2]|0;p=(o|0)>(h|0)|(n|0)<(e|0)&(o|0)==(h|0);if(!((h|0)>(m|0)|(e|0)<(j|0)&(h|0)==(m|0))){if(!p){k=1;return k|0}f[g>>2]=n;f[d>>2]=e;m=f[g>>2]|0;h=f[a>>2]|0;o=f[i+(m<<2)>>2]|0;q=f[i+(h<<2)>>2]|0;if(!((o|0)>(q|0)|(m|0)<(h|0)&(o|0)==(q|0))){k=1;return k|0}f[a>>2]=m;f[g>>2]=h;k=1;return k|0}if(p){f[a>>2]=n;f[d>>2]=j;k=1;return k|0}f[a>>2]=e;f[g>>2]=j;e=f[d>>2]|0;n=f[i+(e<<2)>>2]|0;i=f[l>>2]|0;if(!((n|0)>(i|0)|(e|0)<(j|0)&(n|0)==(i|0))){k=1;return k|0}f[g>>2]=e;f[d>>2]=j;k=1;return k|0}case 4:{Poa(a,a+4|0,a+8|0,b+-4|0,c)|0;k=1;return k|0}case 5:{Qoa(a,a+4|0,a+8|0,a+12|0,b+-4|0,c)|0;k=1;return k|0}case 1:case 0:{k=1;return k|0}default:{j=a+8|0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;i=f[c>>2]|0;n=f[i+(e<<2)>>2]|0;l=i+(g<<2)|0;p=f[l>>2]|0;h=f[j>>2]|0;m=i+(h<<2)|0;q=f[m>>2]|0;o=(q|0)>(n|0)|(h|0)<(e|0)&(q|0)==(n|0);do if((n|0)>(p|0)|(e|0)<(g|0)&(n|0)==(p|0)){if(o){f[a>>2]=h;f[j>>2]=g;r=g;break}f[a>>2]=e;f[d>>2]=g;q=f[m>>2]|0;s=f[l>>2]|0;if((q|0)>(s|0)|(h|0)<(g|0)&(q|0)==(s|0)){f[d>>2]=h;f[j>>2]=g;r=g}else r=h}else if(o){f[d>>2]=h;f[j>>2]=e;s=f[m>>2]|0;q=f[l>>2]|0;if((s|0)>(q|0)|(h|0)<(g|0)&(s|0)==(q|0)){f[a>>2]=h;f[d>>2]=g;r=e}else r=e}else r=h;while(0);h=a+12|0;a:do if((h|0)==(b|0)){t=1;u=0}else{e=h;g=0;d=j;l=i;m=r;while(1){o=f[e>>2]|0;p=f[l+(o<<2)>>2]|0;n=f[l+(m<<2)>>2]|0;if((p|0)>(n|0)|(o|0)<(m|0)&(p|0)==(n|0)){n=f[c>>2]|0;p=n+(o<<2)|0;q=d;s=e;v=m;while(1){f[s>>2]=v;if((q|0)==(a|0)){w=a;break}x=q+-4|0;v=f[x>>2]|0;y=f[p>>2]|0;z=f[n+(v<<2)>>2]|0;if(!((y|0)>(z|0)|(o|0)<(v|0)&(y|0)==(z|0))){w=q;break}else{z=q;q=x;s=z}}f[w>>2]=o;s=g+1|0;if((s|0)==8){t=0;u=(e+4|0)==(b|0);break a}else{A=s;B=n}}else{A=g;B=l}s=e+4|0;if((s|0)==(b|0)){t=1;u=0;break a}q=f[e>>2]|0;v=e;e=s;g=A;l=B;m=q;d=v}}while(0);k=u|t;return k|0}}return 0}function Toa(a,b,c,d,e,g,h){a=a|0;b=b|0;c=+c;d=+d;e=e|0;g=+g;h=+h;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;i=u;u=u+144|0;j=i+128|0;k=i+72|0;l=i+56|0;m=i;yV(j,61212);do if((HJ(a)|0)==65536){n=f[a+4>>2]|0;f[k>>2]=f[n>>2];o=k+4|0;p=n+4|0;f[o>>2]=f[p>>2];q=k+8|0;f[q>>2]=f[n+8>>2];f[k+12>>2]=f[n+12>>2];f[k+16>>2]=f[n+16>>2];f[k+20>>2]=f[n+20>>2];f[k+24>>2]=f[n+24>>2];f[k+28>>2]=f[n+28>>2];f[k+32>>2]=f[n+32>>2];r=f[n+36>>2]|0;f[k+36>>2]=r;f[k+40>>2]=q;q=k+48|0;s=k+44|0;f[s>>2]=q;f[q>>2]=0;f[k+52>>2]=0;if(r|0){q=r+12|0;f[q>>2]=(f[q>>2]|0)+1}if((f[p>>2]|0)<3){p=f[n+44>>2]|0;q=f[s>>2]|0;f[q>>2]=f[p>>2];f[q+4>>2]=f[p+4>>2];break}else{f[o>>2]=0;WO(k,n);break}}else DJ(k,a,-1);while(0);f[l>>2]=0;a=l+4|0;f[a>>2]=0;f[l+8>>2]=0;n=AEa(g)|0;Uoa(k,c,d,e,n,AEa(h)|0,l,2147483647);f[m>>2]=1124024348;n=m+4|0;f[n>>2]=2;e=m+8|0;o=f[a>>2]|0;p=f[l>>2]|0;q=o-p|0;f[e>>2]=q>>4;f[m+12>>2]=1;s=m+16|0;r=m+40|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[s+16>>2]=0;f[s+20>>2]=0;f[r>>2]=e;e=m+48|0;t=m+44|0;f[t>>2]=e;f[e>>2]=0;v=m+52|0;f[v>>2]=0;w=p;if((w|0)!=(o|0)){f[v>>2]=16;f[e>>2]=16;f[s>>2]=w;f[m+20>>2]=w;w=p+q|0;f[m+24>>2]=w;f[m+28>>2]=w}eM(m,b);b=m+36|0;w=f[b>>2]|0;if(w|0?(q=w+12|0,w=f[q>>2]|0,f[q>>2]=w+-1,(w|0)==1):0)XO(m);f[b>>2]=0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if((f[n>>2]|0)>0){s=f[r>>2]|0;r=0;do{f[s+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[n>>2]|0))}n=f[t>>2]|0;if((n|0)!=(e|0))dX(n);n=f[l>>2]|0;if(n|0){l=f[a>>2]|0;if((l|0)!=(n|0))f[a>>2]=l+(~((l+-16-n|0)>>>4)<<4);GQa(n)}n=k+36|0;l=f[n>>2]|0;if(l|0?(a=l+12|0,l=f[a>>2]|0,f[a>>2]=l+-1,(l|0)==1):0)XO(k);f[n>>2]=0;n=k+16|0;l=k+4|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;if((f[l>>2]|0)>0){n=f[k+40>>2]|0;a=0;do{f[n+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[l>>2]|0))}l=f[k+44>>2]|0;if((l|0)!=(k+48|0))dX(l);if(!(f[j+4>>2]|0)){u=i;return}u=i;return}function Uoa(a,c,d,e,g,h,i,j){a=a|0;c=+c;d=+d;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0.0,x=0,y=0,z=0,A=0,B=0.0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,L=0,M=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0;k=u;u=u+416|0;l=k+392|0;m=k+384|0;o=k+328|0;p=k;q=k+272|0;r=k+256|0;s=k+240|0;t=k+224|0;f[m>>2]=0;v=m+4|0;f[v>>2]=0;w=1.0/c;if(f[a>>2]&4095|0){f[l>>2]=0;f[l+4>>2]=0;x=JV(l,57)|0;y=244991;z=x+57|0;do{b[x>>0]=b[y>>0]|0;x=x+1|0;y=y+1|0}while((x|0)<(z|0));EP(-215,l,245049,244755,441);KV(l)}y=f[a+12>>2]|0;A=f[a+8>>2]|0;B=d;C=AEa(3.141592653589793/B)|0;D=HEa(+(A+y<<1|1|0)/c)|0;TG(p,C,D,4);f[o>>2]=1124007936;E=o+4|0;F=o+8|0;G=o+40|0;x=E;z=x+36|0;do{f[x>>2]=0;x=x+4|0}while((x|0)<(z|0));f[G>>2]=F;F=o+48|0;H=o+44|0;f[H>>2]=F;f[F>>2]=0;f[o+52>>2]=0;J=f[p>>2]|0;th[f[(f[J>>2]|0)+12>>2]&255](J,p,o,-1);Mi(p);f[q>>2]=1124007936;p=q+4|0;J=q+8|0;L=q+40|0;x=p;z=x+36|0;do{f[x>>2]=0;x=x+4|0}while((x|0)<(z|0));f[L>>2]=J;J=q+48|0;x=q+44|0;f[x>>2]=J;f[J>>2]=0;f[q+52>>2]=0;f[l>>2]=A;f[l+4>>2]=y;VO(q,2,l,0);z=C<<1;f[l>>2]=0;M=l+4|0;f[M>>2]=0;f[l+8>>2]=0;if(C){if(z>>>0>1073741823)ZOa(l);P=C<<3;Q=EQa(P)|0;f[l>>2]=Q;R=Q+(z<<2)|0;f[l+8>>2]=R;FVa(Q|0,0,P|0)|0;f[M>>2]=R;R=(C|0)>0;if(R){c=w;P=0;do{w=B*+(P|0);d=+N(+w)*c;z=P<<1;n[Q+(z<<2)>>2]=d;d=+O(+w)*c;n[Q+((z|1)<<2)>>2]=d;P=P+1|0}while((P|0)!=(C|0));S=R;T=Q}else{S=0;T=Q}}else{S=0;T=0}Q=q+16|0;R=f[Q>>2]|0;f[r>>2]=0;P=r+4|0;f[P>>2]=0;f[r+8>>2]=0;f[v>>2]=0;do if((A|0)>0){z=a+16|0;U=a+44|0;V=r+8|0;if((y|0)>0){W=R;Y=0}else{Z=0;do Z=Z+1|0;while((Z|0)<(A|0));f[m>>2]=0;f[v>>2]=Z;_=0;$=0;aa=0;break}while(1){ba=(f[z>>2]|0)+(X(f[f[U>>2]>>2]|0,Y)|0)|0;ca=W+(X(f[f[x>>2]>>2]|0,Y)|0)|0;f[m>>2]=0;da=0;do{ea=ca+da|0;do if(b[ba+da>>0]|0){b[ea>>0]=1;fa=f[P>>2]|0;if((fa|0)==(f[V>>2]|0)){xba(r,m);break}else{f[fa>>2]=f[m>>2];f[fa+4>>2]=f[v>>2];f[P>>2]=fa+8;break}}else b[ea>>0]=0;while(0);da=(f[m>>2]|0)+1|0;f[m>>2]=da}while((da|0)<(y|0));da=(f[v>>2]|0)+1|0;f[v>>2]=da;if((da|0)>=(A|0))break;W=f[Q>>2]|0;Y=da}V=f[r>>2]|0;_=V;$=f[P>>2]|0;aa=V}else{_=0;$=0;aa=0}while(0);Y=$-_|0;a:do if((Y|0)>0){_=e+-1|0;$=o+16|0;W=(D+-1|0)/2|0;v=s+8|0;m=s+12|0;a=s+4|0;V=t+4|0;U=t+8|0;z=t+12|0;Z=i+4|0;da=i+8|0;ba=S^1;ca=Y>>>3;ea=-1;fa=-1;ga=aa;while(1){ha=wVa(ea|0,0,-130063606,0)|0;ia=qVa(ha|0,I|0,fa|0,0)|0;ha=I;ja=(ia>>>0)%(ca>>>0)|0;ka=f[ga+(ja<<3)>>2]|0;la=f[ga+(ja<<3)+4>>2]|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;ma=f[$>>2]|0;na=ca+-1|0;f[ga+(ja<<3)>>2]=f[ga+(na<<3)>>2];f[ga+(ja<<3)+4>>2]=f[ga+(na<<3)+4>>2];ja=R+((X(la,y)|0)+ka)|0;if(!((b[ja>>0]|0)==0|ba)){c=+(ka|0);B=+(la|0);ja=_;oa=0;pa=0;qa=ma;while(1){ma=oa<<1;ra=qa+((HEa(+n[T+(ma<<2)>>2]*c+ +n[T+((ma|1)<<2)>>2]*B)|0)+W<<2)|0;ma=f[ra>>2]|0;sa=ma+1|0;f[ra>>2]=sa;ra=(ja|0)>(ma|0);pa=ra?pa:oa;ja=ra?ja:sa;oa=oa+1|0;if((oa|0)==(C|0))break;else qa=qa+(D<<2)|0}if((ja|0)>=(e|0)){qa=pa<<1;B=+n[T+((qa|1)<<2)>>2];c=+n[T+(qa<<2)>>2];d=+K(+-B);w=+K(+c);if(d>w){ta=0;ua=HEa(c*65536.0/d)|0;va=B<-0.0?1:-1;wa=la<<16|32768;xa=ka}else{ta=1;ua=c>0.0?1:-1;va=HEa(B*-65536.0/w)|0;wa=la;xa=ka<<16|32768}qa=wa>>16;oa=xa>>16;if(((ta?oa:xa)|0)>=0){sa=f[a>>2]|0;ra=f[s>>2]|0;b:do if(ta){ma=oa;ya=ra;za=wa;Aa=sa;Ba=xa;Ca=0;while(1){if(!((za|0)<(A|0)&((ma|0)<(y|0)&(za|0)>-1))){Da=ya;Ea=Aa;break b}Fa=R+(X(za,y)|0)+ma|0;if(!(b[Fa>>0]|0))if((Ca|0)<(h|0)){Ga=ya;Ha=Aa;Ia=Ca+1|0}else{Da=ya;Ea=Aa;break b}else{Ga=ma;Ha=za;Ia=0}Ba=Ba+va|0;ma=Ba>>16;if((ma|0)<0){Da=Ga;Ea=Ha;break}else{ya=Ga;za=za+ua|0;Aa=Ha;Ca=Ia}}}else{Ca=xa;Aa=ra;za=qa;ya=sa;ma=wa;Ba=0;while(1){if(!((za|0)<(A|0)&((Ca|0)<(y|0)&(za|0)>-1))){Da=Aa;Ea=ya;break b}Fa=R+(X(za,y)|0)+Ca|0;if(!(b[Fa>>0]|0))if((Ba|0)<(h|0)){Ja=Aa;Ka=ya;La=Ba+1|0}else{Da=Aa;Ea=ya;break b}else{Ja=Ca;Ka=za;La=0}Ca=Ca+va|0;Fa=ma+ua|0;if((Ca|0)<0){Da=Ja;Ea=Ka;break}else{Aa=Ja;za=Fa>>16;ya=Ka;ma=Fa;Ba=La}}}while(0);f[a>>2]=Ea;f[s>>2]=Da;sa=f[m>>2]|0;ra=f[v>>2]|0;c:do if(ta){ka=oa;la=ra;pa=wa;ja=sa;Ba=xa;ma=0;while(1){if(!((pa|0)<(A|0)&((ka|0)<(y|0)&(pa|0)>-1))){Ma=la;Na=ja;break c}ya=R+(X(pa,y)|0)+ka|0;if(!(b[ya>>0]|0))if((ma|0)<(h|0)){Oa=la;Pa=ja;Qa=ma+1|0}else{Ma=la;Na=ja;break c}else{Oa=ka;Pa=pa;Qa=0}Ba=Ba-va|0;ka=Ba>>16;if((ka|0)<0){Ma=Oa;Na=Pa;break}else{la=Oa;pa=pa-ua|0;ja=Pa;ma=Qa}}}else{ma=xa;ja=ra;pa=qa;la=sa;ka=wa;Ba=0;while(1){if(!((pa|0)<(A|0)&((ma|0)<(y|0)&(pa|0)>-1))){Ma=ja;Na=la;break c}ya=R+(X(pa,y)|0)+ma|0;if(!(b[ya>>0]|0))if((Ba|0)<(h|0)){Ra=ja;Sa=la;Ta=Ba+1|0}else{Ma=ja;Na=la;break c}else{Ra=ma;Sa=pa;Ta=0}ma=ma-va|0;ya=ka-ua|0;if((ma|0)<0){Ma=Ra;Na=Sa;break}else{ja=Ra;pa=ya>>16;la=Sa;ka=ya;Ba=Ta}}}while(0);f[m>>2]=Na;f[v>>2]=Ma}sa=f[s>>2]|0;qa=(f[v>>2]|0)-sa|0;if((((qa|0)>-1?qa:0-qa|0)|0)<(g|0)){qa=(f[m>>2]|0)-(f[a>>2]|0)|0;Ua=(((qa|0)>-1?qa:0-qa|0)|0)>=(g|0)}else Ua=1;d:do if(ta){qa=Ua&S;ra=wa;oa=xa;while(1){Ba=oa>>16;ka=R+(X(ra,y)|0)+Ba|0;if(b[ka>>0]|0){if(qa){w=+(Ba|0);B=+(ra|0);la=0;pa=f[$>>2]|0;while(1){ja=la<<1;ma=pa+((HEa(+n[T+(ja<<2)>>2]*w+ +n[T+((ja|1)<<2)>>2]*B)|0)+W<<2)|0;f[ma>>2]=(f[ma>>2]|0)+-1;la=la+1|0;if((la|0)==(C|0))break;else pa=pa+(D<<2)|0}}b[ka>>0]=0}if((ra|0)==(f[a>>2]|0)?(Ba|0)==(f[s>>2]|0):0)break d;ra=ra+ua|0;oa=oa+va|0}}else{if(Ua){Va=wa;Wa=xa}else{oa=f[a>>2]|0;ra=wa;qa=xa;while(1){pa=ra>>16;la=R+(X(pa,y)|0)+qa|0;if(b[la>>0]|0)b[la>>0]=0;if((pa|0)==(oa|0)&(qa|0)==(sa|0))break d;ra=ra+ua|0;qa=qa+va|0}}while(1){qa=Va>>16;ra=R+(X(qa,y)|0)+Wa|0;if(b[ra>>0]|0){if(S){B=+(Wa|0);w=+(qa|0);oa=0;pa=f[$>>2]|0;while(1){la=oa<<1;ma=pa+((HEa(+n[T+(la<<2)>>2]*B+ +n[T+((la|1)<<2)>>2]*w)|0)+W<<2)|0;f[ma>>2]=(f[ma>>2]|0)+-1;oa=oa+1|0;if((oa|0)==(C|0))break;else pa=pa+(D<<2)|0}}b[ra>>0]=0}if((qa|0)==(f[a>>2]|0)?(Wa|0)==(f[s>>2]|0):0)break d;Va=Va+ua|0;Wa=Wa+va|0}}while(0);e:do if(ta){sa=Ua&S;pa=wa;oa=xa;while(1){Ba=oa>>16;ka=R+(X(pa,y)|0)+Ba|0;if(b[ka>>0]|0){if(sa){w=+(Ba|0);B=+(pa|0);ma=0;la=f[$>>2]|0;while(1){ja=ma<<1;ya=la+((HEa(+n[T+(ja<<2)>>2]*w+ +n[T+((ja|1)<<2)>>2]*B)|0)+W<<2)|0;f[ya>>2]=(f[ya>>2]|0)+-1;ma=ma+1|0;if((ma|0)==(C|0))break;else la=la+(D<<2)|0}}b[ka>>0]=0}if((pa|0)==(f[m>>2]|0)?(Ba|0)==(f[v>>2]|0):0){Xa=Ba;Ya=pa;break e}pa=pa-ua|0;oa=oa-va|0}}else{if(Ua){Za=wa;_a=xa}else{oa=f[m>>2]|0;pa=f[v>>2]|0;sa=wa;la=xa;while(1){ma=sa>>16;qa=R+(X(ma,y)|0)+la|0;if(b[qa>>0]|0)b[qa>>0]=0;if((ma|0)==(oa|0)&(la|0)==(pa|0)){Xa=la;Ya=ma;break e}sa=sa-ua|0;la=la-va|0}}while(1){la=Za>>16;sa=R+(X(la,y)|0)+_a|0;if(b[sa>>0]|0){if(S){B=+(_a|0);w=+(la|0);pa=0;oa=f[$>>2]|0;while(1){ma=pa<<1;qa=oa+((HEa(+n[T+(ma<<2)>>2]*B+ +n[T+((ma|1)<<2)>>2]*w)|0)+W<<2)|0;f[qa>>2]=(f[qa>>2]|0)+-1;pa=pa+1|0;if((pa|0)==(C|0))break;else oa=oa+(D<<2)|0}}b[sa>>0]=0}if((la|0)==(f[m>>2]|0)?(_a|0)==(f[v>>2]|0):0){Xa=_a;Ya=la;break e}Za=Za-ua|0;_a=_a-va|0}}while(0);if(Ua){oa=f[s>>2]|0;pa=f[a>>2]|0;f[t>>2]=oa;f[V>>2]=pa;f[U>>2]=Xa;f[z>>2]=Ya;pa=f[Z>>2]|0;if((pa|0)==(f[da>>2]|0)){sca(i,t);$a=f[Z>>2]|0}else{f[pa>>2]=oa;f[pa+4>>2]=f[V>>2];f[pa+8>>2]=f[U>>2];f[pa+12>>2]=f[z>>2];oa=pa+16|0;f[Z>>2]=oa;$a=oa}if(($a-(f[i>>2]|0)>>4|0)>=(j|0))break}}}if((ca|0)<=1)break a;ca=na;ea=ia;fa=ha;ga=f[r>>2]|0}}while(0);j=f[r>>2]|0;if(j|0){r=f[P>>2]|0;if((r|0)!=(j|0))f[P>>2]=r+(~((r+-8-j|0)>>>3)<<3);GQa(j)}j=f[l>>2]|0;if(j|0){l=f[M>>2]|0;if((l|0)!=(j|0))f[M>>2]=l+(~((l+-4-j|0)>>>2)<<2);GQa(j)}j=q+36|0;l=f[j>>2]|0;if(l|0?(M=l+12|0,l=f[M>>2]|0,f[M>>2]=l+-1,(l|0)==1):0)XO(q);f[j>>2]=0;f[Q>>2]=0;f[Q+4>>2]=0;f[Q+8>>2]=0;f[Q+12>>2]=0;if((f[p>>2]|0)>0){Q=f[L>>2]|0;L=0;do{f[Q+(L<<2)>>2]=0;L=L+1|0}while((L|0)<(f[p>>2]|0))}p=f[x>>2]|0;if((p|0)!=(J|0))dX(p);p=o+36|0;J=f[p>>2]|0;if(J|0?(x=J+12|0,J=f[x>>2]|0,f[x>>2]=J+-1,(J|0)==1):0)XO(o);f[p>>2]=0;p=o+16|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;if((f[E>>2]|0)>0){p=f[G>>2]|0;G=0;do{f[p+(G<<2)>>2]=0;G=G+1|0}while((G|0)<(f[E>>2]|0))}E=f[H>>2]|0;if((E|0)==(F|0)){u=k;return}dX(E);u=k;return}function Voa(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=+f;g=+g;h=h|0;i=i|0;Woa(a,b,c,d,e,f,g,h,i,-1);return}function Woa(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=+e;g=+g;h=+h;i=+i;j=j|0;k=k|0;l=l|0;var m=0,o=0,p=0,q=0,r=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0.0,ya=0.0,za=0.0,Aa=0.0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0;m=u;u=u+640|0;o=m;p=m+576|0;q=m+544|0;r=m+488|0;t=m+432|0;v=m+376|0;w=m+372|0;x=m+360|0;y=m+304|0;z=m+248|0;A=m+192|0;B=m+136|0;C=m+80|0;D=m+24|0;E=m+16|0;yV(E,61232);if(!(VJ(a)|0)?(GJ(a,-1)|0)==0:0){if((HJ(a)|0)!=65536?(HJ(a)|0)!=655360:0)F=5}else F=5;if((F|0)==5){f[o>>2]=0;f[o+4>>2]=0;G=JV(o,116)|0;H=245164;I=G+116|0;do{b[G>>0]=b[H>>0]|0;G=G+1|0;H=H+1|0}while((G|0)<(I|0));EP(-215,o,245281,244755,1659);KV(o)}if((((HJ(c)|0)!=65536?(HJ(c)|0)!=196608:0)?(HJ(c)|0)!=786432:0)?(HJ(c)|0)!=917504:0){f[o>>2]=0;f[o+4>>2]=0;G=JV(o,39)|0;H=245294;I=G+39|0;do{b[G>>0]=b[H>>0]|0;G=G+1|0;H=H+1|0}while((G|0)<(I|0));EP(-215,o,245281,244755,1660);KV(o)}if(e<=0.0|g<=0.0|h<=0.0|i<=0.0){f[o>>2]=0;f[o+4>>2]=0;G=JV(o,76)|0;H=245334;I=G+76|0;do{b[G>>0]=b[H>>0]|0;G=G+1|0;H=H+1|0}while((G|0)<(I|0));EP(-211,o,245281,244755,1663);KV(o)}J=AEa(h)|0;K=AEa(i)|0;L=AEa(3.0)|0;M=(j|0)>0?j:0;j=l>>>0<2147483647?l:2147483647;l=(k|0)<0;if((k|0)<1){N=NJ(a,-1)|0;O=OJ(a,-1)|0;P=(N|0)<(O|0)?O:N}else P=(M|0)<(k|0)?k:M+2|0;if((d|0)==3){i=e;e=g;switch(L|0){case 3:case 5:case 7:case -1:break;default:{f[o>>2]=0;f[o+4>>2]=0;G=JV(o,73)|0;H=245411;I=G+73|0;do{b[G>>0]=b[H>>0]|0;G=G+1|0;H=H+1|0}while((G|0)<(I|0));EP(-215,o,245485,244755,1563);KV(o)}}g=i<1.0?1.0:i;i=1.0/g;f[r>>2]=1124007936;d=r+4|0;k=r+8|0;N=r+40|0;G=d;I=G+36|0;do{f[G>>2]=0;G=G+4|0}while((G|0)<(I|0));f[N>>2]=k;O=r+48|0;Q=r+44|0;f[Q>>2]=O;f[O>>2]=0;f[r+52>>2]=0;f[t>>2]=1124007936;R=t+4|0;S=t+8|0;T=t+40|0;G=R;I=G+36|0;do{f[G>>2]=0;G=G+4|0}while((G|0)<(I|0));f[T>>2]=S;S=t+48|0;U=t+44|0;f[U>>2]=S;f[S>>2]=0;f[t+52>>2]=0;f[v>>2]=1124007936;V=v+4|0;W=v+8|0;Y=v+40|0;G=V;I=G+36|0;do{f[G>>2]=0;G=G+4|0}while((G|0)<(I|0));f[Y>>2]=W;W=v+48|0;Z=v+44|0;f[Z>>2]=W;f[W>>2]=0;f[v+52>>2]=0;_=o+8|0;f[_>>2]=0;f[_+4>>2]=0;f[o>>2]=33619968;f[o+4>>2]=t;Z5(a,o,3,1,0,L,1.0,0.0,1);_=o+8|0;f[_>>2]=0;f[_+4>>2]=0;f[o>>2]=33619968;f[o+4>>2]=v;Z5(a,o,3,0,1,L,1.0,0.0,1);f[o+8>>2]=0;f[o+12>>2]=0;f[o>>2]=16842752;f[o+4>>2]=t;f[p+8>>2]=0;f[p+12>>2]=0;f[p>>2]=16842752;f[p+4>>2]=v;L=q+8|0;f[L>>2]=0;f[L+4>>2]=0;f[q>>2]=33619968;f[q+4>>2]=r;L=(J|0)/2|0;gia(o,p,q,+(((L|0)>1?L:1)|0),+(J|0),0);nQ(w);J=a_()|0;L=(J|0)>1;f[x>>2]=0;_=x+4|0;f[_>>2]=0;f[x+8>>2]=0;$=NJ(a,-1)|0;aa=OJ(a,-1)|0;b[o>>0]=0;Xoa(y,$,aa,o);aa=f[k>>2]|0;f[o>>2]=0;f[o+4>>2]=aa;f[p>>2]=61260;f[p+4>>2]=r;f[p+8>>2]=t;f[p+12>>2]=v;f[p+16>>2]=M;f[p+20>>2]=P;n[p+24>>2]=i;f[p+28>>2]=x;f[p+32>>2]=y;f[p+48>>2]=w;h=i*+(f[r+12>>2]|0);k=~~h;$=(h>+(k|0)&1)+k|0;f[p+36>>2]=$;h=i*+(aa|0);aa=~~h;f[p+40>>2]=(h>+(aa|0)&1)+aa;f[p+44>>2]=$+2;h=+(((J|0)>1?J:1)|0);$Z(o,p,h);f[o+8>>2]=0;f[o+12>>2]=0;f[o>>2]=-2130640896;f[o+4>>2]=y;J=WE(o)|0;if((J|0)>=1){$=f[x>>2]|0;f[z>>2]=f[$>>2];aa=z+4|0;k=$+4|0;f[aa>>2]=f[k>>2];a=z+8|0;f[a>>2]=f[$+8>>2];ba=z+12|0;f[ba>>2]=f[$+12>>2];ca=z+16|0;f[ca>>2]=f[$+16>>2];f[z+20>>2]=f[$+20>>2];f[z+24>>2]=f[$+24>>2];f[z+28>>2]=f[$+28>>2];f[z+32>>2]=f[$+32>>2];da=z+36|0;ea=f[$+36>>2]|0;f[da>>2]=ea;fa=z+40|0;f[fa>>2]=a;ga=z+48|0;ha=z+44|0;f[ha>>2]=ga;f[ga>>2]=0;f[z+52>>2]=0;if(ea|0){ia=ea+12|0;f[ia>>2]=(f[ia>>2]|0)+1}if((f[k>>2]|0)<3){k=f[$+44>>2]|0;ia=f[ha>>2]|0;f[ia>>2]=f[k>>2];f[ia+4>>2]=f[k+4>>2]}else{f[aa>>2]=0;WO(z,$)}$=f[_>>2]|0;k=f[x>>2]|0;ia=k;if((($-k|0)/56|0)>>>0>1){k=o+8|0;ea=o+12|0;ja=o+4|0;ka=p+8|0;la=p+12|0;ma=p+4|0;na=q+8|0;oa=q+4|0;pa=1;qa=ia;while(1){f[k>>2]=0;f[ea>>2]=0;f[o>>2]=16842752;f[ja>>2]=z;f[ka>>2]=0;f[la>>2]=0;f[p>>2]=16842752;f[ma>>2]=qa+(pa*56|0);ra=na;f[ra>>2]=0;f[ra+4>>2]=0;f[q>>2]=33619968;f[oa>>2]=z;MH(o,p,q,BK()|0,-1);pa=pa+1|0;ra=f[_>>2]|0;sa=f[x>>2]|0;ta=sa;if(pa>>>0>=((ra-sa|0)/56|0)>>>0){ua=ta;va=ra;break}else qa=ta}}else{ua=ia;va=$}$=va;if((ua|0)!=($|0)){va=$;do{$=va+-56|0;f[_>>2]=$;ia=va+-20|0;qa=f[ia>>2]|0;if(qa|0?(pa=qa+12|0,qa=f[pa>>2]|0,f[pa>>2]=qa+-1,(qa|0)==1):0)XO($);f[ia>>2]=0;ia=va+-40|0;$=va+-52|0;f[ia>>2]=0;f[ia+4>>2]=0;f[ia+8>>2]=0;f[ia+12>>2]=0;if((f[$>>2]|0)>0){ia=f[va+-16>>2]|0;qa=0;do{f[ia+(qa<<2)>>2]=0;qa=qa+1|0}while((qa|0)<(f[$>>2]|0))}$=f[va+-12>>2]|0;if(($|0)!=(va+-8|0))dX($);va=f[_>>2]|0}while((va|0)!=(ua|0))}f[p>>2]=0;ua=p+4|0;f[ua>>2]=0;f[p+8>>2]=0;va=f[a>>2]|0;f[o>>2]=1;f[o+4>>2]=va+-1;f[q>>2]=61280;f[q+4>>2]=z;f[q+8>>2]=p;f[q+12>>2]=K;f[q+28>>2]=w;f[q+16>>2]=f[ba>>2];f[q+20>>2]=va;f[q+24>>2]=f[ca>>2];$Z(o,q,L?+((va+-2|0)/4|0|0):1.0);va=f[ua>>2]|0;L=f[p>>2]|0;a=va-L>>2;_=L;if(!a)wa=_;else{f[o>>2]=f[ca>>2];Ooa(_,va,o);f[q>>2]=0;va=q+4|0;f[va>>2]=0;f[q+8>>2]=0;_=q+8|0;L=EQa(3072)|0;$=L;f[q>>2]=$;f[va>>2]=$;f[_>>2]=L+3072;a:do if(l){L=f[ba>>2]|0;qa=f[p>>2]|0;ia=(f[ua>>2]|0)-qa>>2;i=e*e;if(ia|0){pa=o+4|0;oa=o+8|0;na=0;ma=qa;qa=$;la=$;while(1){ka=f[ma+(na<<2)>>2]|0;ja=(ka|0)/(L|0)|0;xa=g*(+(ka-(X(ja,L)|0)|0)+.5);ya=g*(+(ja|0)+.5);n[o>>2]=xa;n[pa>>2]=ya;n[oa>>2]=0.0;ja=la-qa|0;ka=(ja|0)/12|0;ea=qa;k=la;if(ja){ja=1;ta=0;do{za=xa-+n[ea+(ta*12|0)>>2];Aa=ya-+n[ea+(ta*12|0)+4>>2];ra=!(za*za+Aa*Aa>>0>>0&ra);if(ja)F=45}else F=45;do if((F|0)==45){F=0;if((f[_>>2]|0)==(k|0)){bba(q,o);break}else{n[la>>2]=xa;f[k+4>>2]=f[pa>>2];f[k+8>>2]=f[oa>>2];f[va>>2]=k+12;break}}while(0);k=na+1|0;if((k|0)==(ia|0))break a;na=k;ma=f[p>>2]|0;qa=f[q>>2]|0;la=f[va>>2]|0}}}else{f[A>>2]=0;la=A+4|0;f[la>>2]=0;f[A+8>>2]=0;if((J|0)<(X(P,P)|0)){f[B>>2]=0;qa=B+4|0;f[qa>>2]=0;f[B+8>>2]=0;Yoa(B,J);ma=y+8|0;na=f[ma>>2]|0;if((na|0)>0){ia=y+16|0;oa=y+44|0;pa=y+12|0;L=o+4|0;k=B+8|0;ja=0;ka=f[pa>>2]|0;ta=na;while(1){na=(f[ia>>2]|0)+(X(f[f[oa>>2]>>2]|0,ja)|0)|0;if((ka|0)>0){ea=0;ra=ka;while(1){if(!(b[na+ea>>0]|0))Ba=ra;else{f[o>>2]=ea;f[L>>2]=ja;sa=f[qa>>2]|0;if((sa|0)==(f[k>>2]|0)){xba(B,o);Ca=f[pa>>2]|0}else{f[sa>>2]=ea;f[sa+4>>2]=ja;f[qa>>2]=sa+8;Ca=ra}Ba=Ca}ea=ea+1|0;if((ea|0)>=(Ba|0))break;else ra=Ba}Da=f[ma>>2]|0;Ea=Ba}else{Da=ta;Ea=ka}ja=ja+1|0;if((ja|0)>=(Da|0))break;else{ka=Ea;ta=Da}}}f[o>>2]=0;f[o+4>>2]=a;Zoa(C,B,J,p,A,f[ba>>2]|0,K,M,P,g,w);$Z(o,C,h);f[C>>2]=61300;qQ(f[C+52>>2]|0);ta=f[B>>2]|0;if(ta|0){ka=f[qa>>2]|0;if((ka|0)!=(ta|0))f[qa>>2]=ka+(~((ka+-8-ta|0)>>>3)<<3);GQa(ta)}}else{f[o>>2]=0;f[o+4>>2]=a;_oa(B,y,J,p,A,f[ba>>2]|0,K,M,P,g,w);$Z(o,B,h);f[B>>2]=61320;qQ(f[B+52>>2]|0)}ta=f[A>>2]|0;ka=f[la>>2]|0;f[o>>2]=124;apa(ta,ka,o);ka=f[A>>2]|0;ta=f[la>>2]|0;if((ka|0)!=(ta|0)){ja=o+4|0;ma=o+8|0;pa=ka;do{ka=f[pa>>2]|0;f[o>>2]=ka;f[ja>>2]=f[pa+4>>2];f[ma>>2]=f[pa+8>>2];k=f[va>>2]|0;if((k|0)==(f[_>>2]|0))bba(q,o);else{f[k>>2]=ka;f[k+4>>2]=f[ja>>2];f[k+8>>2]=f[ma>>2];f[va>>2]=k+12}pa=pa+16|0}while((pa|0)!=(ta|0))}i=e*e;ta=f[va>>2]|0;pa=f[q>>2]|0;ma=(ta-pa|0)/12|0;if(ma>>>0>1){ja=1;qa=1;k=pa;ka=ta;while(1){L=k;oa=f[L+(qa*12|0)>>2]|0;ia=f[L+(qa*12|0)+4>>2]|0;ra=f[L+(qa*12|0)+8>>2]|0;xa=(f[s>>2]=oa,+n[s>>2]);ya=(f[s>>2]=ia,+n[s>>2]);if(ja){ea=1;na=0;do{Aa=xa-+n[L+(na*12|0)>>2];za=ya-+n[L+(na*12|0)+4>>2];sa=!(Aa*Aa+za*za>>0>>0&sa);if(!ea){Fa=ja;Ga=k;Ha=ka}else F=83}else F=83;if((F|0)==83){F=0;f[L+(ja*12|0)>>2]=oa;f[L+(ja*12|0)+4>>2]=ia;f[L+(ja*12|0)+8>>2]=ra;Fa=ja+1|0;Ga=f[q>>2]|0;Ha=f[va>>2]|0}qa=qa+1|0;na=(Ha-Ga|0)/12|0;if(qa>>>0>=na>>>0){Ia=Fa;Ja=na;Ka=Ga;La=Ha;break}else{ja=Fa;k=Ga;ka=Ha}}}else{Ia=1;Ja=ma;Ka=pa;La=ta}ka=Ka;k=La;do if(Ia>>>0>Ja>>>0)bpa(q,Ia-Ja|0);else{if(Ia>>>0>=Ja>>>0)break;ja=ka+(Ia*12|0)|0;if((ja|0)==(k|0))break;f[va>>2]=k+(~(((k+-12-ja|0)>>>0)/12|0)*12|0)}while(0);k=f[A>>2]|0;if(k|0){ka=f[la>>2]|0;if((ka|0)!=(k|0))f[la>>2]=ka+(~((ka+-16-k|0)>>>4)<<4);GQa(k)}}while(0);Ia=f[q>>2]|0;Ja=(f[va>>2]|0)-Ia|0;La=(Ja|0)/12|0;if(!Ja)Ma=Ia;else{Ia=(La|0)<(j|0)?La:j;vK(c,1,Ia,21,-1,0,0);j=f[q>>2]|0;f[D>>2]=1124007957;La=D+4|0;f[La>>2]=2;Ja=D+8|0;f[Ja>>2]=1;Ka=D+12|0;f[Ka>>2]=Ia;Ha=D+16|0;f[Ha>>2]=j;Ga=D+20|0;f[Ga>>2]=j;Fa=D+24|0;F=D+28|0;_=D+40|0;f[Fa>>2]=0;f[Fa+4>>2]=0;f[Fa+8>>2]=0;f[Fa+12>>2]=0;f[_>>2]=Ja;B=D+48|0;P=D+44|0;f[P>>2]=B;f[D+52>>2]=0;f[B>>2]=0;if((Ia|0)!=0&(j|0)==0){f[o>>2]=0;f[o+4>>2]=0;G=JV(o,26)|0;H=346743;I=G+26|0;do{b[G>>0]=b[H>>0]|0;G=G+1|0;H=H+1|0}while((G|0)<(I|0));EP(-215,o,346770,346774,500);KV(o);Na=f[Ka>>2]|0;Oa=f[D>>2]|0;Pa=f[P>>2]|0;Qa=f[Ga>>2]|0}else{Na=Ia;Oa=1124007957;Pa=B;Qa=j}j=Na*12|0;f[D>>2]=Oa|16384;f[Pa>>2]=j;f[Pa+4>>2]=12;Pa=Qa+(X(f[Ja>>2]|0,j)|0)|0;f[F>>2]=Pa;f[Fa>>2]=Pa+(0-j)+j;do if((HJ(c)|0)==65536){j=f[c+4>>2]|0;f[A>>2]=f[j>>2];Pa=A+4|0;Fa=j+4|0;f[Pa>>2]=f[Fa>>2];F=A+8|0;f[F>>2]=f[j+8>>2];f[A+12>>2]=f[j+12>>2];f[A+16>>2]=f[j+16>>2];f[A+20>>2]=f[j+20>>2];f[A+24>>2]=f[j+24>>2];f[A+28>>2]=f[j+28>>2];f[A+32>>2]=f[j+32>>2];Ja=f[j+36>>2]|0;f[A+36>>2]=Ja;f[A+40>>2]=F;F=A+48|0;Qa=A+44|0;f[Qa>>2]=F;f[F>>2]=0;f[A+52>>2]=0;if(Ja|0){F=Ja+12|0;f[F>>2]=(f[F>>2]|0)+1}if((f[Fa>>2]|0)<3){Fa=f[j+44>>2]|0;F=f[Qa>>2]|0;f[F>>2]=f[Fa>>2];f[F+4>>2]=f[Fa+4>>2];break}else{f[Pa>>2]=0;WO(A,j);break}}else DJ(A,c,-1);while(0);c=o+8|0;f[c>>2]=0;f[c+4>>2]=0;f[o>>2]=-1040121856;f[o+4>>2]=A;eM(D,o);c=A+36|0;j=f[c>>2]|0;do if(j|0){Pa=j+12|0;Fa=f[Pa>>2]|0;f[Pa>>2]=Fa+-1;if((Fa|0)!=1)break;XO(A)}while(0);f[c>>2]=0;c=A+16|0;j=A+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[j>>2]|0)>0){c=f[A+40>>2]|0;Fa=0;do{f[c+(Fa<<2)>>2]=0;Fa=Fa+1|0}while((Fa|0)<(f[j>>2]|0))}j=f[A+44>>2]|0;if((j|0)!=(A+48|0))dX(j);j=D+36|0;A=f[j>>2]|0;do if(A|0){Fa=A+12|0;c=f[Fa>>2]|0;f[Fa>>2]=c+-1;if((c|0)!=1)break;XO(D)}while(0);f[j>>2]=0;f[Ha>>2]=0;f[Ha+4>>2]=0;f[Ha+8>>2]=0;f[Ha+12>>2]=0;if((f[La>>2]|0)>0){Ha=f[_>>2]|0;_=0;do{f[Ha+(_<<2)>>2]=0;_=_+1|0}while((_|0)<(f[La>>2]|0))}La=f[P>>2]|0;if((La|0)!=(B|0))dX(La);Ma=f[q>>2]|0}if(Ma|0){q=f[va>>2]|0;if((q|0)!=(Ma|0))f[va>>2]=q+(~(((q+-12-Ma|0)>>>0)/12|0)*12|0);GQa(Ma)}wa=f[p>>2]|0}if(wa|0){p=f[ua>>2]|0;if((p|0)!=(wa|0))f[ua>>2]=p+(~((p+-4-wa|0)>>>2)<<2);GQa(wa)}wa=f[da>>2]|0;if(wa|0?(p=wa+12|0,wa=f[p>>2]|0,f[p>>2]=wa+-1,(wa|0)==1):0)XO(z);f[da>>2]=0;f[ca>>2]=0;f[ca+4>>2]=0;f[ca+8>>2]=0;f[ca+12>>2]=0;if((f[aa>>2]|0)>0){ca=f[fa>>2]|0;fa=0;do{f[ca+(fa<<2)>>2]=0;fa=fa+1|0}while((fa|0)<(f[aa>>2]|0))}aa=f[ha>>2]|0;if((aa|0)!=(ga|0))dX(aa)}aa=y+36|0;ga=f[aa>>2]|0;if(ga|0?(ha=ga+12|0,ga=f[ha>>2]|0,f[ha>>2]=ga+-1,(ga|0)==1):0)XO(y);f[aa>>2]=0;aa=y+16|0;ga=y+4|0;f[aa>>2]=0;f[aa+4>>2]=0;f[aa+8>>2]=0;f[aa+12>>2]=0;if((f[ga>>2]|0)>0){aa=f[y+40>>2]|0;ha=0;do{f[aa+(ha<<2)>>2]=0;ha=ha+1|0}while((ha|0)<(f[ga>>2]|0))}ga=f[y+44>>2]|0;if((ga|0)!=(y+48|0))dX(ga);Rs(x);oQ(w);w=v+36|0;x=f[w>>2]|0;if(x|0?(ga=x+12|0,x=f[ga>>2]|0,f[ga>>2]=x+-1,(x|0)==1):0)XO(v);f[w>>2]=0;w=v+16|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;if((f[V>>2]|0)>0){w=f[Y>>2]|0;Y=0;do{f[w+(Y<<2)>>2]=0;Y=Y+1|0}while((Y|0)<(f[V>>2]|0))}V=f[Z>>2]|0;if((V|0)!=(W|0))dX(V);V=t+36|0;W=f[V>>2]|0;if(W|0?(Z=W+12|0,W=f[Z>>2]|0,f[Z>>2]=W+-1,(W|0)==1):0)XO(t);f[V>>2]=0;V=t+16|0;f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;f[V+12>>2]=0;if((f[R>>2]|0)>0){V=f[T>>2]|0;T=0;do{f[V+(T<<2)>>2]=0;T=T+1|0}while((T|0)<(f[R>>2]|0))}R=f[U>>2]|0;if((R|0)!=(S|0))dX(R);R=r+36|0;S=f[R>>2]|0;if(S|0?(U=S+12|0,S=f[U>>2]|0,f[U>>2]=S+-1,(S|0)==1):0)XO(r);f[R>>2]=0;R=r+16|0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;f[R+12>>2]=0;if((f[d>>2]|0)>0){R=f[N>>2]|0;N=0;do{f[R+(N<<2)>>2]=0;N=N+1|0}while((N|0)<(f[d>>2]|0))}d=f[Q>>2]|0;if((d|0)!=(O|0))dX(d)}else{f[o>>2]=0;f[o+4>>2]=0;G=JV(o,69)|0;H=245506;I=G+69|0;do{b[G>>0]=b[H>>0]|0;G=G+1|0;H=H+1|0}while((G|0)<(I|0));EP(-5,o,245281,244755,1687);KV(o)}if(!(f[E+4>>2]|0)){u=m;return}u=m;return}function Xoa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0;e=u;u=u+32|0;g=e;f[a>>2]=1124007936;i=a+8|0;j=a+40|0;k=a+4|0;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[j>>2]=i;i=a+48|0;f[a+44>>2]=i;f[i>>2]=0;f[a+52>>2]=0;f[g>>2]=b;f[g+4>>2]=c;VO(a,2,g,0);p[g>>3]=+(h[d>>0]|0);d=g+8|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;gM(a,g)|0;u=e;return}function Yoa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[a>>2]|0;e=d;if((f[c>>2]|0)-d>>3>>>0>=b>>>0)return;g=a+4|0;if(b>>>0>536870911){h=hd(8)|0;LQa(h,349912);f[h>>2]=118288;ld(h|0,20688,857)}h=f[g>>2]|0;i=EQa(b<<3)|0;j=i+(h-d>>3<<3)|0;k=j;l=i+(b<<3)|0;b=h;if((b|0)==(e|0))m=k;else{h=b+-8-d|0;i=b;b=j;while(1){n=i;i=i+-8|0;f[b+-8>>2]=f[i>>2];f[b+-4>>2]=f[n+-4>>2];if((i|0)==(e|0))break;else b=b+-8|0}m=j+(~(h>>>3)<<3)|0}f[a>>2]=m;f[g>>2]=k;f[c>>2]=l;if(!d)return;GQa(d);return}function Zoa(a,c,d,e,g,h,i,j,k,l,m){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=+l;m=m|0;var o=0,p=0;o=u;u=u+16|0;p=o;f[a>>2]=61300;f[a+4>>2]=c;f[a+8>>2]=d;f[a+12>>2]=e;f[a+16>>2]=g;f[a+20>>2]=h;f[a+24>>2]=i;f[a+28>>2]=j;f[a+32>>2]=k;n[a+36>>2]=l;f[a+52>>2]=m;l=+(j|0);n[a+44>>2]=l*l;l=+(k|0);n[a+48>>2]=l*l;f[a+40>>2]=(f[e+4>>2]|0)-(f[e>>2]|0)>>2;if((d|0)>0){u=o;return}f[p>>2]=0;f[p+4>>2]=0;d=JV(p,8)|0;e=d;b[e>>0]=110;b[e+1>>0]=122;b[e+2>>0]=83;b[e+3>>0]=122;e=d+4|0;b[e>>0]=32;b[e+1>>0]=62;b[e+2>>0]=32;b[e+3>>0]=48;EP(-215,p,245634,244755,1329);KV(p);u=o;return} +function M8(a,b,c,d,e,g,h,i,j,k,l,m,n,o,q,r,s,t,v,w,x,y,z,A,B,C,D,E){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;q=q|0;r=r|0;s=s|0;t=t|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;var F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0,Q=0.0,R=0.0,S=0.0;E=u;u=u+224|0;F=E+168|0;G=E+160|0;H=E+152|0;I=E+96|0;J=E+88|0;K=E;L=E+80|0;M=E+72|0;N=E+64|0;O=E+56|0;f[G>>2]=x;f[G+4>>2]=y;EJ(F,G,t,v,w);P=+p[C>>3];Q=+p[C+8>>3];R=+p[C+16>>3];S=+p[C+24>>3];f[I+8>>2]=0;f[I+12>>2]=0;f[I>>2]=16842752;f[I+4>>2]=F;f[J>>2]=z;f[J+4>>2]=A;p[K>>3]=P;p[K+8>>3]=Q;p[K+16>>3]=R;p[K+24>>3]=S;K8(H,a,b,I,J,B,B,K);f[L>>2]=i;f[L+4>>2]=j;EJ(I,L,b,d,e);f[M>>2]=i;f[M+4>>2]=j;EJ(K,M,c,g,h);f[N>>2]=m;f[N+4>>2]=n;f[O>>2]=k;f[O+4>>2]=l;l=f[H+4>>2]|0;Sh[f[(f[l>>2]|0)+20>>2]&255](l,I,K,O,N);f[N>>2]=r;f[N+4>>2]=s;f[O>>2]=o;f[O+4>>2]=q;if((D|0)>1){q=1;do{Sh[f[(f[l>>2]|0)+20>>2]&255](l,K,K,O,N);q=q+1|0}while((q|0)<(D|0))}D=K+36|0;q=f[D>>2]|0;if(q|0?(N=q+12|0,q=f[N>>2]|0,f[N>>2]=q+-1,(q|0)==1):0)XO(K);f[D>>2]=0;D=K+16|0;q=K+4|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;if((f[q>>2]|0)>0){D=f[K+40>>2]|0;N=0;do{f[D+(N<<2)>>2]=0;N=N+1|0}while((N|0)<(f[q>>2]|0))}q=f[K+44>>2]|0;if((q|0)!=(K+48|0))dX(q);q=I+36|0;K=f[q>>2]|0;if(K|0?(N=K+12|0,K=f[N>>2]|0,f[N>>2]=K+-1,(K|0)==1):0)XO(I);f[q>>2]=0;q=I+16|0;K=I+4|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;if((f[K>>2]|0)>0){q=f[I+40>>2]|0;N=0;do{f[q+(N<<2)>>2]=0;N=N+1|0}while((N|0)<(f[K>>2]|0))}K=f[I+44>>2]|0;if((K|0)!=(I+48|0))dX(K);K=f[H>>2]|0;if(K|0?(H=K+4|0,I=f[H>>2]|0,f[H>>2]=I+-1,(I|0)==1):0)qg[f[(f[K>>2]|0)+8>>2]&1023](K);K=F+36|0;I=f[K>>2]|0;if(I|0?(H=I+12|0,I=f[H>>2]|0,f[H>>2]=I+-1,(I|0)==1):0)XO(F);f[K>>2]=0;K=F+16|0;I=F+4|0;f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0;f[K+12>>2]=0;if((f[I>>2]|0)>0){K=f[F+40>>2]|0;H=0;do{f[K+(H<<2)>>2]=0;H=H+1|0}while((H|0)<(f[I>>2]|0))}I=f[F+44>>2]|0;if((I|0)==(F+48|0)){u=E;return}dX(I);u=E;return}function N8(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=u;u=u+16|0;j=i+8|0;k=i;yV(j,47584);f[k>>2]=f[d>>2];f[k+4>>2]=f[d+4>>2];O8(0,a,b,c,k,e,g,h);if(!(f[j+4>>2]|0)){u=i;return}u=i;return}function O8(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;k=u;u=u+256|0;l=k+192|0;m=k+184|0;n=k+128|0;o=k+120|0;p=k+112|0;q=k+104|0;r=k+96|0;s=k+32|0;t=k+40|0;v=k+24|0;w=k+16|0;x=k+8|0;y=k;yV(m,47604);do if((HJ(e)|0)==65536){z=f[e+4>>2]|0;f[n>>2]=f[z>>2];A=n+4|0;B=z+4|0;f[A>>2]=f[B>>2];C=n+8|0;f[C>>2]=f[z+8>>2];f[n+12>>2]=f[z+12>>2];D=n+16|0;f[D>>2]=f[z+16>>2];f[n+20>>2]=f[z+20>>2];f[n+24>>2]=f[z+24>>2];f[n+28>>2]=f[z+28>>2];f[n+32>>2]=f[z+32>>2];E=f[z+36>>2]|0;f[n+36>>2]=E;f[n+40>>2]=C;C=n+48|0;F=n+44|0;f[F>>2]=C;f[C>>2]=0;f[n+52>>2]=0;if(E|0){C=E+12|0;f[C>>2]=(f[C>>2]|0)+1}if((f[B>>2]|0)<3){B=f[z+44>>2]|0;C=f[F>>2]|0;f[C>>2]=f[B>>2];f[C+4>>2]=f[B+4>>2];G=D;break}else{f[A>>2]=0;WO(n,z);G=D;break}}else{DJ(n,e,-1);G=n+16|0}while(0);if(f[G>>2]|0){e=f[n+4>>2]|0;if((e|0)<3)H=X(f[n+12>>2]|0,f[n+8>>2]|0)|0;else{D=f[n+40>>2]|0;z=0;A=1;while(1){B=X(f[D+(z<<2)>>2]|0,A)|0;z=z+1|0;if((z|0)==(e|0)){H=B;break}else A=B}}if(!((e|0)==0|(H|0)==0)){H=f[n+40>>2]|0;I=f[H+4>>2]|0;J=f[H>>2]|0}else{I=3;J=3}}else{I=3;J=3}H=f[g>>2]|0;e=g+4|0;A=f[e>>2]|0;z=(H|0)==-1?(I|0)/2|0:H;H=(A|0)==-1?(J|0)/2|0:A;if(!((z|0)>-1&(z|0)<(I|0)?!((H|0)<0|(H|0)>=(J|0)):0)){f[l>>2]=0;f[l+4>>2]=0;A=JV(l,52)|0;D=240542;B=A+52|0;do{b[A>>0]=b[D>>0]|0;A=A+1|0;D=D+1|0}while((A|0)<(B|0));EP(-215,l,240595,240611,363);KV(l)}f[g>>2]=z;f[e>>2]=H;if((h|0)!=0?(H=n+8|0,z=n+12|0,D=X(f[z>>2]|0,f[H>>2]|0)|0,(D|0)!=1):0){if(f[G>>2]|0){A=n+4|0;B=f[A>>2]|0;if((B|0)<3)K=D;else{D=f[n+40>>2]|0;C=0;F=1;while(1){E=X(f[D+(C<<2)>>2]|0,F)|0;C=C+1|0;if((C|0)==(B|0)){K=E;break}else F=E}}if(!((B|0)==0|(K|0)==0))if((h|0)>1?(f[l+8>>2]=0,f[l+12>>2]=0,f[l>>2]=16842752,f[l+4>>2]=n,K=WE(l)|0,(K|0)==(X(f[z>>2]|0,f[H>>2]|0)|0)):0){K=X(f[g>>2]|0,h)|0;B=X(f[e>>2]|0,h)|0;f[g>>2]=K;f[e>>2]=B;F=h+-1|0;C=(X(I+-1|0,F)|0)+I|0;I=(X(J+-1|0,F)|0)+J|0;f[q>>2]=C;f[q+4>>2]=I;f[r>>2]=K;f[r+4>>2]=B;L8(l,0,q,r);r=l+36|0;q=f[r>>2]|0;if(q|0){B=q+12|0;f[B>>2]=(f[B>>2]|0)+1}B=n+36|0;q=f[B>>2]|0;if(q|0?(K=q+12|0,q=f[K>>2]|0,f[K>>2]=q+-1,(q|0)==1):0)XO(n);f[B>>2]=0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;if((f[A>>2]|0)>0){q=f[n+40>>2]|0;K=0;do{f[q+(K<<2)>>2]=0;K=K+1|0;L=f[A>>2]|0}while((K|0)<(L|0));f[n>>2]=f[l>>2];if((L|0)<3)M=60;else M=62}else{f[n>>2]=f[l>>2];M=60}if((M|0)==60){L=f[l+4>>2]|0;if((L|0)<3){f[A>>2]=L;f[H>>2]=f[l+8>>2];f[z>>2]=f[l+12>>2];L=f[l+44>>2]|0;A=f[n+44>>2]|0;f[A>>2]=f[L>>2];f[A+4>>2]=f[L+4>>2]}else M=62}if((M|0)==62)WO(n,l);L=l+16|0;f[G>>2]=f[L>>2];f[n+20>>2]=f[l+20>>2];f[n+24>>2]=f[l+24>>2];f[n+28>>2]=f[l+28>>2];f[n+32>>2]=f[l+32>>2];A=f[r>>2]|0;f[B>>2]=A;if(A|0?(B=A+12|0,A=f[B>>2]|0,f[B>>2]=A+-1,(A|0)==1):0)XO(l);f[r>>2]=0;r=l+4|0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;if((f[r>>2]|0)>0){L=f[l+40>>2]|0;A=0;do{f[L+(A<<2)>>2]=0;A=A+1|0}while((A|0)<(f[r>>2]|0))}r=f[l+44>>2]|0;if((r|0)!=(l+48|0))dX(r);N=1}else N=h;else M=26}else M=26;if((M|0)==26){r=h<<1|1;f[o>>2]=r;f[o+4>>2]=r;f[p>>2]=-1;f[p+4>>2]=-1;L8(l,0,o,p);p=l+36|0;o=f[p>>2]|0;if(o|0){r=o+12|0;f[r>>2]=(f[r>>2]|0)+1}r=n+36|0;o=f[r>>2]|0;if(o|0?(A=o+12|0,o=f[A>>2]|0,f[A>>2]=o+-1,(o|0)==1):0)XO(n);f[r>>2]=0;o=n+4|0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;if((f[o>>2]|0)>0){A=f[n+40>>2]|0;L=0;do{f[A+(L<<2)>>2]=0;L=L+1|0;O=f[o>>2]|0}while((L|0)<(O|0));f[n>>2]=f[l>>2];if((O|0)<3)M=36;else M=38}else{f[n>>2]=f[l>>2];M=36}if((M|0)==36){O=f[l+4>>2]|0;if((O|0)<3){f[o>>2]=O;f[H>>2]=f[l+8>>2];f[z>>2]=f[l+12>>2];O=f[l+44>>2]|0;o=f[n+44>>2]|0;f[o>>2]=f[O>>2];f[o+4>>2]=f[O+4>>2]}else M=38}if((M|0)==38)WO(n,l);M=l+16|0;f[G>>2]=f[M>>2];f[n+20>>2]=f[l+20>>2];f[n+24>>2]=f[l+24>>2];f[n+28>>2]=f[l+28>>2];f[n+32>>2]=f[l+32>>2];O=f[p>>2]|0;f[r>>2]=O;if(O|0?(r=O+12|0,O=f[r>>2]|0,f[r>>2]=O+-1,(O|0)==1):0)XO(l);f[p>>2]=0;p=l+4|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;if((f[p>>2]|0)>0){M=f[l+40>>2]|0;O=0;do{f[M+(O<<2)>>2]=0;O=O+1|0}while((O|0)<(f[p>>2]|0))}p=f[l+44>>2]|0;if((p|0)!=(l+48|0))dX(p);f[g>>2]=h;f[e>>2]=h;N=1}do if((HJ(c)|0)==65536){h=f[c+4>>2]|0;f[l>>2]=f[h>>2];p=l+4|0;O=h+4|0;f[p>>2]=f[O>>2];M=l+8|0;f[M>>2]=f[h+8>>2];f[l+12>>2]=f[h+12>>2];f[l+16>>2]=f[h+16>>2];f[l+20>>2]=f[h+20>>2];f[l+24>>2]=f[h+24>>2];f[l+28>>2]=f[h+28>>2];f[l+32>>2]=f[h+32>>2];r=f[h+36>>2]|0;f[l+36>>2]=r;o=l+40|0;f[o>>2]=M;M=l+48|0;L=l+44|0;f[L>>2]=M;f[M>>2]=0;f[l+52>>2]=0;if(r|0){M=r+12|0;f[M>>2]=(f[M>>2]|0)+1}if((f[O>>2]|0)<3){O=f[h+44>>2]|0;M=f[L>>2]|0;f[M>>2]=f[O>>2];f[M+4>>2]=f[O+4>>2];P=o;Q=l;break}else{f[p>>2]=0;WO(l,h);P=o;Q=l;break}}else{DJ(l,c,-1);P=l+40|0;Q=l}while(0);o=f[P>>2]|0;h=f[o>>2]|0;f[s>>2]=f[o+4>>2];f[s+4>>2]=h;_J(d,s,f[Q>>2]&4095,-1,0,0);do if((HJ(d)|0)==65536){s=f[d+4>>2]|0;f[t>>2]=f[s>>2];h=t+4|0;o=s+4|0;f[h>>2]=f[o>>2];p=t+8|0;f[p>>2]=f[s+8>>2];O=t+12|0;f[O>>2]=f[s+12>>2];f[t+16>>2]=f[s+16>>2];f[t+20>>2]=f[s+20>>2];f[t+24>>2]=f[s+24>>2];f[t+28>>2]=f[s+28>>2];f[t+32>>2]=f[s+32>>2];M=f[s+36>>2]|0;f[t+36>>2]=M;f[t+40>>2]=p;L=t+48|0;r=t+44|0;f[r>>2]=L;f[L>>2]=0;f[t+52>>2]=0;if(M|0){L=M+12|0;f[L>>2]=(f[L>>2]|0)+1}if((f[o>>2]|0)<3){o=f[s+44>>2]|0;L=f[r>>2]|0;f[L>>2]=f[o>>2];f[L+4>>2]=f[o+4>>2];R=O;S=p;break}else{f[h>>2]=0;WO(t,s);R=O;S=p;break}}else{DJ(t,d,-1);R=t+12|0;S=t+8|0}while(0);f[v>>2]=0;p=v+4|0;f[p>>2]=0;O=l+12|0;s=f[O>>2]|0;h=l+8|0;o=f[h>>2]|0;f[w>>2]=s;L=w+4|0;f[L>>2]=o;f[x>>2]=0;r=x+4|0;f[r>>2]=0;M=f[R>>2]|0;R=f[S>>2]|0;f[y>>2]=M;S=y+4|0;f[S>>2]=R;A=(i&16|0)!=0;if(A){T=s;U=o;V=s;W=o;Y=0;Z=0;_=M;$=R;aa=0;ba=0}else{fP(l,w,v);fP(t,y,x);T=f[O>>2]|0;U=f[h>>2]|0;V=f[w>>2]|0;W=f[L>>2]|0;Y=f[v>>2]|0;Z=f[p>>2]|0;_=f[y>>2]|0;$=f[S>>2]|0;aa=f[x>>2]|0;ba=f[r>>2]|0}r=f[Q>>2]|0;Q=l+16|0;x=l+48|0;S=t+16|0;y=t+48|0;M8(a,r&4095,f[t>>2]&4095,f[Q>>2]|0,f[x>>2]|0,f[S>>2]|0,f[y>>2]|0,T,U,V,W,Y,Z,_,$,aa,ba,f[n>>2]&4095,f[G>>2]|0,f[n+48>>2]|0,f[z>>2]|0,f[H>>2]|0,f[g>>2]|0,f[e>>2]|0,i&-17,j,N,(r&32768|0)!=0&(A^1));A=t+36|0;r=f[A>>2]|0;if(r|0?(N=r+12|0,r=f[N>>2]|0,f[N>>2]=r+-1,(r|0)==1):0)XO(t);f[A>>2]=0;A=t+4|0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;f[S+12>>2]=0;if((f[A>>2]|0)>0){S=f[t+40>>2]|0;r=0;do{f[S+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[A>>2]|0))}A=f[t+44>>2]|0;if((A|0)!=(y|0))dX(A);A=l+36|0;y=f[A>>2]|0;if(y|0?(t=y+12|0,y=f[t>>2]|0,f[t>>2]=y+-1,(y|0)==1):0)XO(l);f[A>>2]=0;A=l+4|0;f[Q>>2]=0;f[Q+4>>2]=0;f[Q+8>>2]=0;f[Q+12>>2]=0;if((f[A>>2]|0)>0){Q=f[P>>2]|0;P=0;do{f[Q+(P<<2)>>2]=0;P=P+1|0}while((P|0)<(f[A>>2]|0))}A=f[l+44>>2]|0;if((A|0)!=(x|0))dX(A)}else XJ(c,d);d=n+36|0;c=f[d>>2]|0;if(c|0?(A=c+12|0,c=f[A>>2]|0,f[A>>2]=c+-1,(c|0)==1):0)XO(n);f[d>>2]=0;d=n+4|0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;if((f[d>>2]|0)>0){G=f[n+40>>2]|0;c=0;do{f[G+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[d>>2]|0))}d=f[n+44>>2]|0;if((d|0)!=(n+48|0))dX(d);if(!(f[m+4>>2]|0)){u=k;return}u=k;return}function P8(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=u;u=u+16|0;j=i+8|0;k=i;yV(j,47624);f[k>>2]=f[d>>2];f[k+4>>2]=f[d+4>>2];O8(1,a,b,c,k,e,g,h);if(!(f[j+4>>2]|0)){u=i;return}u=i;return}function Q8(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;k=u;u=u+832|0;l=k;m=k+808|0;n=k+728|0;o=k+720|0;p=k+664|0;q=k+800|0;r=k+792|0;s=k+608|0;t=k+552|0;v=k+784|0;w=k+496|0;x=k+440|0;y=k+384|0;z=k+328|0;A=k+272|0;B=k+256|0;C=k+240|0;D=k+224|0;yV(o,47644);do if((HJ(e)|0)==65536){E=f[e+4>>2]|0;f[p>>2]=f[E>>2];F=p+4|0;G=E+4|0;f[F>>2]=f[G>>2];H=p+8|0;f[H>>2]=f[E+8>>2];f[p+12>>2]=f[E+12>>2];I=p+16|0;f[I>>2]=f[E+16>>2];f[p+20>>2]=f[E+20>>2];f[p+24>>2]=f[E+24>>2];f[p+28>>2]=f[E+28>>2];f[p+32>>2]=f[E+32>>2];J=f[E+36>>2]|0;f[p+36>>2]=J;f[p+40>>2]=H;H=p+48|0;K=p+44|0;f[K>>2]=H;f[H>>2]=0;f[p+52>>2]=0;if(J|0){H=J+12|0;f[H>>2]=(f[H>>2]|0)+1}if((f[G>>2]|0)<3){G=f[E+44>>2]|0;H=f[K>>2]|0;f[H>>2]=f[G>>2];f[H+4>>2]=f[G+4>>2];L=I;break}else{f[F>>2]=0;WO(p,E);L=I;break}}else{DJ(p,e,-1);L=p+16|0}while(0);if(f[L>>2]|0){e=f[p+4>>2]|0;if((e|0)<3)M=X(f[p+12>>2]|0,f[p+8>>2]|0)|0;else{I=f[p+40>>2]|0;E=0;F=1;while(1){G=X(f[I+(E<<2)>>2]|0,F)|0;E=E+1|0;if((E|0)==(e|0)){M=G;break}else F=G}}if((e|0)==0|(M|0)==0)N=14}else N=14;if((N|0)==14){f[q>>2]=3;f[q+4>>2]=3;f[r>>2]=1;f[r+4>>2]=1;L8(l,0,q,r);r=l+36|0;q=f[r>>2]|0;if(q|0){M=q+12|0;f[M>>2]=(f[M>>2]|0)+1}M=p+36|0;q=f[M>>2]|0;if(q|0?(e=q+12|0,q=f[e>>2]|0,f[e>>2]=q+-1,(q|0)==1):0)XO(p);f[M>>2]=0;q=p+4|0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;if((f[q>>2]|0)>0){e=f[p+40>>2]|0;F=0;do{f[e+(F<<2)>>2]=0;F=F+1|0;O=f[q>>2]|0}while((F|0)<(O|0));f[p>>2]=f[l>>2];if((O|0)<3)N=24;else N=26}else{f[p>>2]=f[l>>2];N=24}if((N|0)==24){O=f[l+4>>2]|0;if((O|0)<3){f[q>>2]=O;f[p+8>>2]=f[l+8>>2];f[p+12>>2]=f[l+12>>2];O=f[l+44>>2]|0;q=f[p+44>>2]|0;f[q>>2]=f[O>>2];f[q+4>>2]=f[O+4>>2]}else N=26}if((N|0)==26)WO(p,l);O=l+16|0;f[L>>2]=f[O>>2];f[p+20>>2]=f[l+20>>2];f[p+24>>2]=f[l+24>>2];f[p+28>>2]=f[l+28>>2];f[p+32>>2]=f[l+32>>2];q=f[r>>2]|0;f[M>>2]=q;if(q|0?(M=q+12|0,q=f[M>>2]|0,f[M>>2]=q+-1,(q|0)==1):0)XO(l);f[r>>2]=0;r=l+4|0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[O+12>>2]=0;if((f[r>>2]|0)>0){O=f[l+40>>2]|0;q=0;do{f[O+(q<<2)>>2]=0;q=q+1|0}while((q|0)<(f[r>>2]|0))}r=f[l+44>>2]|0;if((r|0)!=(l+48|0))dX(r)}do if((HJ(a)|0)==65536){r=f[a+4>>2]|0;f[s>>2]=f[r>>2];q=s+4|0;O=r+4|0;f[q>>2]=f[O>>2];M=s+8|0;f[M>>2]=f[r+8>>2];f[s+12>>2]=f[r+12>>2];f[s+16>>2]=f[r+16>>2];f[s+20>>2]=f[r+20>>2];f[s+24>>2]=f[r+24>>2];f[s+28>>2]=f[r+28>>2];f[s+32>>2]=f[r+32>>2];F=f[r+36>>2]|0;f[s+36>>2]=F;e=s+40|0;f[e>>2]=M;M=s+48|0;E=s+44|0;f[E>>2]=M;f[M>>2]=0;f[s+52>>2]=0;if(F|0){M=F+12|0;f[M>>2]=(f[M>>2]|0)+1}if((f[O>>2]|0)<3){O=f[r+44>>2]|0;M=f[E>>2]|0;f[M>>2]=f[O>>2];f[M+4>>2]=f[O+4>>2];P=e;Q=s;break}else{f[q>>2]=0;WO(s,r);P=e;Q=s;break}}else{DJ(s,a,-1);P=s+40|0;Q=s}while(0);f[t>>2]=1124007936;a=t+4|0;e=t+8|0;r=t+40|0;q=a;O=q+36|0;do{f[q>>2]=0;q=q+4|0}while((q|0)<(O|0));f[r>>2]=e;M=t+48|0;E=t+44|0;f[E>>2]=M;f[M>>2]=0;f[t+52>>2]=0;F=f[P>>2]|0;I=f[F>>2]|0;f[v>>2]=f[F+4>>2];f[v+4>>2]=I;_J(c,v,f[Q>>2]&4095,-1,0,0);do if((HJ(c)|0)==65536){v=f[c+4>>2]|0;f[w>>2]=f[v>>2];I=w+4|0;F=v+4|0;f[I>>2]=f[F>>2];G=w+8|0;f[G>>2]=f[v+8>>2];f[w+12>>2]=f[v+12>>2];f[w+16>>2]=f[v+16>>2];f[w+20>>2]=f[v+20>>2];f[w+24>>2]=f[v+24>>2];f[w+28>>2]=f[v+28>>2];f[w+32>>2]=f[v+32>>2];H=f[v+36>>2]|0;f[w+36>>2]=H;f[w+40>>2]=G;G=w+48|0;K=w+44|0;f[K>>2]=G;f[G>>2]=0;f[w+52>>2]=0;if(H|0){G=H+12|0;f[G>>2]=(f[G>>2]|0)+1}if((f[F>>2]|0)<3){F=f[v+44>>2]|0;G=f[K>>2]|0;f[G>>2]=f[F>>2];f[G+4>>2]=f[F+4>>2];break}else{f[I>>2]=0;WO(w,v);break}}else DJ(w,c,-1);while(0);a:do switch(d|0){case 0:{f[n+8>>2]=0;f[n+12>>2]=0;f[n>>2]=16842752;f[n+4>>2]=s;c=x+8|0;f[c>>2]=0;f[c+4>>2]=0;f[x>>2]=33619968;f[x+4>>2]=w;f[y+8>>2]=0;f[y+12>>2]=0;f[y>>2]=16842752;f[y+4>>2]=p;c=f[g>>2]|0;v=f[g+4>>2]|0;yV(l,47584);f[m>>2]=c;f[m+4>>2]=v;O8(0,n,x,y,m,h,i,j);break}case 1:{f[n+8>>2]=0;f[n+12>>2]=0;f[n>>2]=16842752;f[n+4>>2]=s;v=x+8|0;f[v>>2]=0;f[v+4>>2]=0;f[x>>2]=33619968;f[x+4>>2]=w;f[y+8>>2]=0;f[y+12>>2]=0;f[y>>2]=16842752;f[y+4>>2]=p;v=f[g>>2]|0;c=f[g+4>>2]|0;yV(l,47624);f[m>>2]=v;f[m+4>>2]=c;O8(1,n,x,y,m,h,i,j);break}case 2:{f[n+8>>2]=0;f[n+12>>2]=0;f[n>>2]=16842752;f[n+4>>2]=s;c=x+8|0;f[c>>2]=0;f[c+4>>2]=0;f[x>>2]=33619968;f[x+4>>2]=w;f[y+8>>2]=0;f[y+12>>2]=0;f[y>>2]=16842752;f[y+4>>2]=p;c=f[g>>2]|0;v=g+4|0;I=f[v>>2]|0;yV(l,47584);f[m>>2]=c;f[m+4>>2]=I;O8(0,n,x,y,m,h,i,j);f[n+8>>2]=0;f[n+12>>2]=0;f[n>>2]=16842752;f[n+4>>2]=w;I=x+8|0;f[I>>2]=0;f[I+4>>2]=0;f[x>>2]=33619968;f[x+4>>2]=w;f[y+8>>2]=0;f[y+12>>2]=0;f[y>>2]=16842752;f[y+4>>2]=p;I=f[g>>2]|0;c=f[v>>2]|0;yV(l,47624);f[m>>2]=I;f[m+4>>2]=c;O8(1,n,x,y,m,h,i,j);break}case 3:{f[n+8>>2]=0;f[n+12>>2]=0;f[n>>2]=16842752;f[n+4>>2]=s;c=x+8|0;f[c>>2]=0;f[c+4>>2]=0;f[x>>2]=33619968;f[x+4>>2]=w;f[y+8>>2]=0;f[y+12>>2]=0;f[y>>2]=16842752;f[y+4>>2]=p;c=f[g>>2]|0;I=g+4|0;v=f[I>>2]|0;yV(l,47624);f[m>>2]=c;f[m+4>>2]=v;O8(1,n,x,y,m,h,i,j);f[n+8>>2]=0;f[n+12>>2]=0;f[n>>2]=16842752;f[n+4>>2]=w;v=x+8|0;f[v>>2]=0;f[v+4>>2]=0;f[x>>2]=33619968;f[x+4>>2]=w;f[y+8>>2]=0;f[y+12>>2]=0;f[y>>2]=16842752;f[y+4>>2]=p;v=f[g>>2]|0;c=f[I>>2]|0;yV(l,47584);f[m>>2]=v;f[m+4>>2]=c;O8(0,n,x,y,m,h,i,j);break}case 4:{f[n+8>>2]=0;f[n+12>>2]=0;f[n>>2]=16842752;f[n+4>>2]=s;c=x+8|0;f[c>>2]=0;f[c+4>>2]=0;f[x>>2]=33619968;f[x+4>>2]=t;f[y+8>>2]=0;f[y+12>>2]=0;f[y>>2]=16842752;f[y+4>>2]=p;c=f[g>>2]|0;v=g+4|0;I=f[v>>2]|0;yV(l,47584);f[m>>2]=c;f[m+4>>2]=I;O8(0,n,x,y,m,h,i,j);f[n+8>>2]=0;f[n+12>>2]=0;f[n>>2]=16842752;f[n+4>>2]=s;I=x+8|0;f[I>>2]=0;f[I+4>>2]=0;f[x>>2]=33619968;f[x+4>>2]=w;f[y+8>>2]=0;f[y+12>>2]=0;f[y>>2]=16842752;f[y+4>>2]=p;I=f[g>>2]|0;c=f[v>>2]|0;yV(l,47624);f[m>>2]=I;f[m+4>>2]=c;O8(1,n,x,y,m,h,i,j);f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=w;f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=t;c=n+8|0;f[c>>2]=0;f[c+4>>2]=0;f[n>>2]=33619968;f[n+4>>2]=w;aI(l,m,n,BK()|0,-1);break}case 5:{c=w+16|0;if((f[s+16>>2]|0)!=(f[c>>2]|0)){I=w+36|0;v=f[I>>2]|0;if(v|0){F=v+12|0;f[F>>2]=(f[F>>2]|0)+1}F=t+36|0;v=f[F>>2]|0;if(v|0?(G=v+12|0,v=f[G>>2]|0,f[G>>2]=v+-1,(v|0)==1):0)XO(t);f[F>>2]=0;v=t+16|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;if((f[a>>2]|0)>0){G=f[r>>2]|0;K=0;do{f[G+(K<<2)>>2]=0;K=K+1|0;R=f[a>>2]|0}while((K|0)<(R|0));f[t>>2]=f[w>>2];if((R|0)<3)N=83;else N=85}else{f[t>>2]=f[w>>2];N=83}if((N|0)==83){K=f[w+4>>2]|0;if((K|0)<3){f[a>>2]=K;f[e>>2]=f[w+8>>2];f[t+12>>2]=f[w+12>>2];K=f[w+44>>2]|0;G=f[E>>2]|0;f[G>>2]=f[K>>2];f[G+4>>2]=f[K+4>>2]}else N=85}if((N|0)==85)WO(t,w);f[v>>2]=f[c>>2];f[t+20>>2]=f[w+20>>2];f[t+24>>2]=f[w+24>>2];f[t+28>>2]=f[w+28>>2];f[t+32>>2]=f[w+32>>2];f[F>>2]=f[I>>2]}f[n+8>>2]=0;f[n+12>>2]=0;f[n>>2]=16842752;f[n+4>>2]=s;K=x+8|0;f[K>>2]=0;f[K+4>>2]=0;f[x>>2]=33619968;f[x+4>>2]=t;f[y+8>>2]=0;f[y+12>>2]=0;f[y>>2]=16842752;f[y+4>>2]=p;K=f[g>>2]|0;G=g+4|0;H=f[G>>2]|0;yV(l,47584);f[m>>2]=K;f[m+4>>2]=H;O8(0,n,x,y,m,h,i,j);f[n+8>>2]=0;f[n+12>>2]=0;f[n>>2]=16842752;f[n+4>>2]=t;H=x+8|0;f[H>>2]=0;f[H+4>>2]=0;f[x>>2]=33619968;f[x+4>>2]=t;f[y+8>>2]=0;f[y+12>>2]=0;f[y>>2]=16842752;f[y+4>>2]=p;H=f[g>>2]|0;K=f[G>>2]|0;yV(l,47624);f[m>>2]=H;f[m+4>>2]=K;O8(1,n,x,y,m,h,i,j);AG(l,s,t);K=f[l>>2]|0;th[f[(f[K>>2]|0)+12>>2]&255](K,l,w,-1);Mi(l);break}case 6:{K=w+16|0;if((f[s+16>>2]|0)!=(f[K>>2]|0)){H=w+36|0;G=f[H>>2]|0;if(G|0){J=G+12|0;f[J>>2]=(f[J>>2]|0)+1}J=t+36|0;G=f[J>>2]|0;if(G|0?(S=G+12|0,G=f[S>>2]|0,f[S>>2]=G+-1,(G|0)==1):0)XO(t);f[J>>2]=0;G=t+16|0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;if((f[a>>2]|0)>0){S=f[r>>2]|0;T=0;do{f[S+(T<<2)>>2]=0;T=T+1|0;U=f[a>>2]|0}while((T|0)<(U|0));f[t>>2]=f[w>>2];if((U|0)<3)N=103;else N=105}else{f[t>>2]=f[w>>2];N=103}if((N|0)==103){T=f[w+4>>2]|0;if((T|0)<3){f[a>>2]=T;f[e>>2]=f[w+8>>2];f[t+12>>2]=f[w+12>>2];T=f[w+44>>2]|0;S=f[E>>2]|0;f[S>>2]=f[T>>2];f[S+4>>2]=f[T+4>>2]}else N=105}if((N|0)==105)WO(t,w);f[G>>2]=f[K>>2];f[t+20>>2]=f[w+20>>2];f[t+24>>2]=f[w+24>>2];f[t+28>>2]=f[w+28>>2];f[t+32>>2]=f[w+32>>2];f[J>>2]=f[H>>2]}f[n+8>>2]=0;f[n+12>>2]=0;f[n>>2]=16842752;f[n+4>>2]=s;T=x+8|0;f[T>>2]=0;f[T+4>>2]=0;f[x>>2]=33619968;f[x+4>>2]=t;f[y+8>>2]=0;f[y+12>>2]=0;f[y>>2]=16842752;f[y+4>>2]=p;T=f[g>>2]|0;S=g+4|0;I=f[S>>2]|0;yV(l,47624);f[m>>2]=T;f[m+4>>2]=I;O8(1,n,x,y,m,h,i,j);f[n+8>>2]=0;f[n+12>>2]=0;f[n>>2]=16842752;f[n+4>>2]=t;I=x+8|0;f[I>>2]=0;f[I+4>>2]=0;f[x>>2]=33619968;f[x+4>>2]=t;f[y+8>>2]=0;f[y+12>>2]=0;f[y>>2]=16842752;f[y+4>>2]=p;I=f[g>>2]|0;T=f[S>>2]|0;yV(l,47584);f[m>>2]=I;f[m+4>>2]=T;O8(0,n,x,y,m,h,i,j);AG(l,t,s);T=f[l>>2]|0;th[f[(f[T>>2]|0)+12>>2]&255](T,l,w,-1);Mi(l);break}case 7:{if(f[Q>>2]&4095|0){f[l>>2]=0;f[l+4>>2]=0;q=JV(l,55)|0;V=206165;O=q+55|0;do{b[q>>0]=b[V>>0]|0;q=q+1|0;V=V+1|0}while((q|0)<(O|0));EP(-215,l,206003,200415,2104);KV(l)}f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=p;if((WE(l)|0)<1){H=l+8|0;f[H>>2]=0;f[H+4>>2]=0;f[l>>2]=33619968;f[l+4>>2]=w;eM(s,l);break a}f[n>>2]=1124007936;H=n+4|0;J=n+8|0;K=n+40|0;q=H;O=q+36|0;do{f[q>>2]=0;q=q+4|0}while((q|0)<(O|0));f[K>>2]=J;G=n+48|0;T=n+44|0;f[T>>2]=G;f[G>>2]=0;f[n+52>>2]=0;f[x>>2]=1124007936;I=x+4|0;S=x+8|0;F=x+40|0;q=I;O=q+36|0;do{f[q>>2]=0;q=q+4|0}while((q|0)<(O|0));f[F>>2]=S;J=x+48|0;c=x+44|0;f[c>>2]=J;f[J>>2]=0;f[x+52>>2]=0;f[y>>2]=1124007936;v=y+4|0;W=y+8|0;Y=y+40|0;q=v;O=q+36|0;do{f[q>>2]=0;q=q+4|0}while((q|0)<(O|0));f[Y>>2]=W;S=y+48|0;Z=y+44|0;f[Z>>2]=S;f[S>>2]=0;f[y+52>>2]=0;f[z>>2]=1124007936;_=z+4|0;$=z+8|0;aa=z+40|0;q=_;O=q+36|0;do{f[q>>2]=0;q=q+4|0}while((q|0)<(O|0));f[aa>>2]=$;ba=z+48|0;ca=z+44|0;f[ca>>2]=ba;f[ba>>2]=0;f[z+52>>2]=0;MG(l,p,1.0);da=f[l>>2]|0;th[f[(f[da>>2]|0)+12>>2]&255](da,l,n,-1);Mi(l);MG(l,p,-1.0);da=f[l>>2]|0;th[f[(f[da>>2]|0)+12>>2]&255](da,l,x,-1);Mi(l);f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=n;if((WE(l)|0)>=1){f[A+8>>2]=0;f[A+12>>2]=0;f[A>>2]=16842752;f[A+4>>2]=s;da=B+8|0;f[da>>2]=0;f[da+4>>2]=0;f[B>>2]=33619968;f[B+4>>2]=y;f[C+8>>2]=0;f[C+12>>2]=0;f[C>>2]=16842752;f[C+4>>2]=n;da=f[g>>2]|0;ea=f[g+4>>2]|0;yV(l,47584);f[m>>2]=da;f[m+4>>2]=ea;O8(0,A,B,C,m,h,i,j)}else{ea=s+36|0;da=f[ea>>2]|0;if(da|0){fa=da+12|0;f[fa>>2]=(f[fa>>2]|0)+1}fa=y+36|0;da=f[fa>>2]|0;if(da|0?(ga=da+12|0,da=f[ga>>2]|0,f[ga>>2]=da+-1,(da|0)==1):0)XO(y);f[fa>>2]=0;da=y+16|0;f[da>>2]=0;f[da+4>>2]=0;f[da+8>>2]=0;f[da+12>>2]=0;if((f[v>>2]|0)>0){ga=f[Y>>2]|0;ha=0;do{f[ga+(ha<<2)>>2]=0;ha=ha+1|0;ia=f[v>>2]|0}while((ha|0)<(ia|0));f[y>>2]=f[Q>>2];if((ia|0)<3)N=127;else N=129}else{f[y>>2]=f[Q>>2];N=127}if((N|0)==127){ha=f[s+4>>2]|0;if((ha|0)<3){f[v>>2]=ha;f[W>>2]=f[s+8>>2];f[y+12>>2]=f[s+12>>2];ha=f[s+44>>2]|0;ga=f[Z>>2]|0;f[ga>>2]=f[ha>>2];f[ga+4>>2]=f[ha+4>>2]}else N=129}if((N|0)==129)WO(y,s);f[da>>2]=f[s+16>>2];f[y+20>>2]=f[s+20>>2];f[y+24>>2]=f[s+24>>2];f[y+28>>2]=f[s+28>>2];f[y+32>>2]=f[s+32>>2];f[fa>>2]=f[ea>>2]}f[A>>2]=1124007936;ha=A+4|0;ga=A+8|0;ja=A+40|0;q=ha;O=q+36|0;do{f[q>>2]=0;q=q+4|0}while((q|0)<(O|0));f[ja>>2]=ga;ea=A+48|0;fa=A+44|0;f[fa>>2]=ea;f[ea>>2]=0;f[A+52>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=s;da=m+8|0;f[da>>2]=0;f[da+4>>2]=0;f[m>>2]=33619968;f[m+4>>2]=A;gH(l,m,BK()|0);f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=x;if((WE(l)|0)>=1){f[B+8>>2]=0;f[B+12>>2]=0;f[B>>2]=16842752;f[B+4>>2]=A;da=C+8|0;f[da>>2]=0;f[da+4>>2]=0;f[C>>2]=33619968;f[C+4>>2]=z;f[D+8>>2]=0;f[D+12>>2]=0;f[D>>2]=16842752;f[D+4>>2]=x;da=f[g>>2]|0;W=f[g+4>>2]|0;yV(l,47584);f[m>>2]=da;f[m+4>>2]=W;O8(0,B,C,D,m,h,i,j)}else{W=A+36|0;da=f[W>>2]|0;if(da|0){ka=da+12|0;f[ka>>2]=(f[ka>>2]|0)+1}ka=z+36|0;da=f[ka>>2]|0;if(da|0?(la=da+12|0,da=f[la>>2]|0,f[la>>2]=da+-1,(da|0)==1):0)XO(z);f[ka>>2]=0;da=z+16|0;f[da>>2]=0;f[da+4>>2]=0;f[da+8>>2]=0;f[da+12>>2]=0;if((f[_>>2]|0)>0){la=f[aa>>2]|0;ma=0;do{f[la+(ma<<2)>>2]=0;ma=ma+1|0;na=f[_>>2]|0}while((ma|0)<(na|0));f[z>>2]=f[A>>2];if((na|0)<3)N=145;else N=147}else{f[z>>2]=f[A>>2];N=145}if((N|0)==145){ma=f[ha>>2]|0;if((ma|0)<3){f[_>>2]=ma;f[$>>2]=f[ga>>2];f[z+12>>2]=f[A+12>>2];ma=f[fa>>2]|0;la=f[ca>>2]|0;f[la>>2]=f[ma>>2];f[la+4>>2]=f[ma+4>>2]}else N=147}if((N|0)==147)WO(z,A);f[da>>2]=f[A+16>>2];f[z+20>>2]=f[A+20>>2];f[z+24>>2]=f[A+24>>2];f[z+28>>2]=f[A+28>>2];f[z+32>>2]=f[A+32>>2];f[ka>>2]=f[W>>2]}NG(l,y,z);ma=f[l>>2]|0;th[f[(f[ma>>2]|0)+12>>2]&255](ma,l,w,-1);Mi(l);ma=A+36|0;la=f[ma>>2]|0;if(la|0?(oa=la+12|0,la=f[oa>>2]|0,f[oa>>2]=la+-1,(la|0)==1):0)XO(A);f[ma>>2]=0;ma=A+16|0;f[ma>>2]=0;f[ma+4>>2]=0;f[ma+8>>2]=0;f[ma+12>>2]=0;if((f[ha>>2]|0)>0){ma=f[ja>>2]|0;la=0;do{f[ma+(la<<2)>>2]=0;la=la+1|0}while((la|0)<(f[ha>>2]|0))}ha=f[fa>>2]|0;if((ha|0)!=(ea|0))dX(ha);ha=z+36|0;la=f[ha>>2]|0;if(la|0?(ma=la+12|0,la=f[ma>>2]|0,f[ma>>2]=la+-1,(la|0)==1):0)XO(z);f[ha>>2]=0;ha=z+16|0;f[ha>>2]=0;f[ha+4>>2]=0;f[ha+8>>2]=0;f[ha+12>>2]=0;if((f[_>>2]|0)>0){ha=f[aa>>2]|0;la=0;do{f[ha+(la<<2)>>2]=0;la=la+1|0}while((la|0)<(f[_>>2]|0))}_=f[ca>>2]|0;if((_|0)!=(ba|0))dX(_);_=y+36|0;la=f[_>>2]|0;if(la|0?(ha=la+12|0,la=f[ha>>2]|0,f[ha>>2]=la+-1,(la|0)==1):0)XO(y);f[_>>2]=0;_=y+16|0;f[_>>2]=0;f[_+4>>2]=0;f[_+8>>2]=0;f[_+12>>2]=0;if((f[v>>2]|0)>0){_=f[Y>>2]|0;la=0;do{f[_+(la<<2)>>2]=0;la=la+1|0}while((la|0)<(f[v>>2]|0))}v=f[Z>>2]|0;if((v|0)!=(S|0))dX(v);v=x+36|0;la=f[v>>2]|0;do if(la|0){_=la+12|0;Y=f[_>>2]|0;f[_>>2]=Y+-1;if((Y|0)!=1)break;XO(x)}while(0);f[v>>2]=0;la=x+16|0;f[la>>2]=0;f[la+4>>2]=0;f[la+8>>2]=0;f[la+12>>2]=0;if((f[I>>2]|0)>0){la=f[F>>2]|0;S=0;do{f[la+(S<<2)>>2]=0;S=S+1|0}while((S|0)<(f[I>>2]|0))}I=f[c>>2]|0;if((I|0)!=(J|0))dX(I);I=n+36|0;S=f[I>>2]|0;do if(S|0){la=S+12|0;F=f[la>>2]|0;f[la>>2]=F+-1;if((F|0)!=1)break;XO(n)}while(0);f[I>>2]=0;S=n+16|0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;f[S+12>>2]=0;if((f[H>>2]|0)>0){S=f[K>>2]|0;J=0;do{f[S+(J<<2)>>2]=0;J=J+1|0}while((J|0)<(f[H>>2]|0))}H=f[T>>2]|0;if((H|0)!=(G|0))dX(H);break}default:{f[l>>2]=0;f[l+4>>2]=0;q=JV(l,31)|0;V=206016;O=q+31|0;do{b[q>>0]=b[V>>0]|0;q=q+1|0;V=V+1|0}while((q|0)<(O|0));EP(-5,l,206003,200415,2130);KV(l)}}while(0);l=w+36|0;V=f[l>>2]|0;if(V|0?(q=V+12|0,V=f[q>>2]|0,f[q>>2]=V+-1,(V|0)==1):0)XO(w);f[l>>2]=0;l=w+16|0;V=w+4|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;if((f[V>>2]|0)>0){l=f[w+40>>2]|0;q=0;do{f[l+(q<<2)>>2]=0;q=q+1|0}while((q|0)<(f[V>>2]|0))}V=f[w+44>>2]|0;if((V|0)!=(w+48|0))dX(V);V=t+36|0;w=f[V>>2]|0;if(w|0?(q=w+12|0,w=f[q>>2]|0,f[q>>2]=w+-1,(w|0)==1):0)XO(t);f[V>>2]=0;V=t+16|0;f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;f[V+12>>2]=0;if((f[a>>2]|0)>0){V=f[r>>2]|0;r=0;do{f[V+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[a>>2]|0))}a=f[E>>2]|0;if((a|0)!=(M|0))dX(a);a=s+36|0;M=f[a>>2]|0;if(M|0?(E=M+12|0,M=f[E>>2]|0,f[E>>2]=M+-1,(M|0)==1):0)XO(s);f[a>>2]=0;a=s+16|0;M=s+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if((f[M>>2]|0)>0){a=f[P>>2]|0;P=0;do{f[a+(P<<2)>>2]=0;P=P+1|0}while((P|0)<(f[M>>2]|0))}M=f[s+44>>2]|0;if((M|0)!=(s+48|0))dX(M);M=p+36|0;s=f[M>>2]|0;if(s|0?(P=s+12|0,s=f[P>>2]|0,f[P>>2]=s+-1,(s|0)==1):0)XO(p);f[M>>2]=0;M=p+4|0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;if((f[M>>2]|0)>0){L=f[p+40>>2]|0;s=0;do{f[L+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[M>>2]|0))}M=f[p+44>>2]|0;if((M|0)!=(p+48|0))dX(M);if(!(f[o+4>>2]|0)){u=k;return}u=k;return}function R8(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0.0,S=0,T=0,U=0,V=0,W=0.0,Y=0.0,Z=0.0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0;i=u;u=u+1568|0;j=i+528|0;k=i+472|0;l=i+232|0;m=i+448|0;o=i+392|0;p=i+336|0;q=i+464|0;r=i+280|0;s=i+456|0;t=i;v=i+8|0;w=i+264|0;yV(m,47664);do if((HJ(a)|0)==65536){x=f[a+4>>2]|0;f[o>>2]=f[x>>2];y=o+4|0;z=x+4|0;f[y>>2]=f[z>>2];A=o+8|0;f[A>>2]=f[x+8>>2];f[o+12>>2]=f[x+12>>2];f[o+16>>2]=f[x+16>>2];f[o+20>>2]=f[x+20>>2];f[o+24>>2]=f[x+24>>2];f[o+28>>2]=f[x+28>>2];f[o+32>>2]=f[x+32>>2];B=f[x+36>>2]|0;f[o+36>>2]=B;f[o+40>>2]=A;A=o+48|0;C=o+44|0;f[C>>2]=A;f[A>>2]=0;f[o+52>>2]=0;if(B|0){A=B+12|0;f[A>>2]=(f[A>>2]|0)+1}if((f[z>>2]|0)<3){z=f[x+44>>2]|0;A=f[C>>2]|0;f[A>>2]=f[z>>2];f[A+4>>2]=f[z+4>>2];break}else{f[y>>2]=0;WO(o,x);break}}else DJ(o,a,-1);while(0);f[p>>2]=1124007936;a=p+4|0;x=p+8|0;y=p+40|0;z=a;A=z+36|0;do{f[z>>2]=0;z=z+4|0}while((z|0)<(A|0));f[y>>2]=x;C=p+48|0;B=p+44|0;f[B>>2]=C;f[C>>2]=0;f[p+52>>2]=0;D=yK(d)|0;if(f[o>>2]&4095|0){f[j>>2]=0;f[j+4>>2]=0;z=JV(j,55)|0;E=206165;A=z+55|0;do{b[z>>0]=b[E>>0]|0;z=z+1|0;E=E+1|0}while((z|0)<(A|0));EP(-215,j,206221,206239,720);KV(j)}F=o+40|0;G=f[F>>2]|0;H=f[G>>2]|0;f[q>>2]=f[G+4>>2];f[q+4>>2]=H;_J(c,q,5,-1,0,0);do if((HJ(c)|0)==65536){q=f[c+4>>2]|0;f[r>>2]=f[q>>2];H=r+4|0;G=q+4|0;f[H>>2]=f[G>>2];I=r+8|0;f[I>>2]=f[q+8>>2];f[r+12>>2]=f[q+12>>2];f[r+16>>2]=f[q+16>>2];f[r+20>>2]=f[q+20>>2];f[r+24>>2]=f[q+24>>2];f[r+28>>2]=f[q+28>>2];f[r+32>>2]=f[q+32>>2];J=f[q+36>>2]|0;f[r+36>>2]=J;f[r+40>>2]=I;I=r+48|0;K=r+44|0;f[K>>2]=I;f[I>>2]=0;f[r+52>>2]=0;if(J|0){I=J+12|0;f[I>>2]=(f[I>>2]|0)+1}if((f[G>>2]|0)<3){G=f[q+44>>2]|0;I=f[K>>2]|0;f[I>>2]=f[G>>2];f[I+4>>2]=f[G+4>>2];break}else{f[H>>2]=0;WO(r,q);break}}else DJ(r,c,-1);while(0);a:do if(D){if(h>>>0>=2){f[j>>2]=0;f[j+4>>2]=0;z=JV(j,62)|0;E=206303;A=z+62|0;do{b[z>>0]=b[E>>0]|0;z=z+1|0;E=E+1|0}while((z|0)<(A|0));EP(-215,j,206221,206239,727);KV(j)}c=f[F>>2]|0;q=f[c>>2]|0;f[s>>2]=f[c+4>>2];f[s+4>>2]=q;_J(d,s,4,-1,0,0);do if((HJ(d)|0)==65536){q=f[d+4>>2]|0;f[j>>2]=f[q>>2];c=j+4|0;H=q+4|0;f[c>>2]=f[H>>2];G=j+8|0;f[G>>2]=f[q+8>>2];f[j+12>>2]=f[q+12>>2];f[j+16>>2]=f[q+16>>2];f[j+20>>2]=f[q+20>>2];f[j+24>>2]=f[q+24>>2];f[j+28>>2]=f[q+28>>2];f[j+32>>2]=f[q+32>>2];I=j+36|0;K=f[q+36>>2]|0;f[I>>2]=K;f[j+40>>2]=G;G=j+48|0;J=j+44|0;f[J>>2]=G;f[G>>2]=0;f[j+52>>2]=0;if(K|0){G=K+12|0;f[G>>2]=(f[G>>2]|0)+1}if((f[H>>2]|0)<3){H=f[q+44>>2]|0;G=f[J>>2]|0;f[G>>2]=f[H>>2];f[G+4>>2]=f[H+4>>2];L=I;break}else{f[c>>2]=0;WO(j,q);L=I;break}}else{DJ(j,d,-1);L=j+36|0}while(0);I=f[L>>2]|0;if(I|0){q=I+12|0;f[q>>2]=(f[q>>2]|0)+1}q=p+36|0;I=f[q>>2]|0;if(I|0?(c=I+12|0,I=f[c>>2]|0,f[c>>2]=I+-1,(I|0)==1):0)XO(p);f[q>>2]=0;I=p+16|0;f[I>>2]=0;f[I+4>>2]=0;f[I+8>>2]=0;f[I+12>>2]=0;if((f[a>>2]|0)>0){c=f[y>>2]|0;H=0;do{f[c+(H<<2)>>2]=0;H=H+1|0;M=f[a>>2]|0}while((H|0)<(M|0));f[p>>2]=f[j>>2];if((M|0)<3)N=37;else N=39}else{f[p>>2]=f[j>>2];N=37}if((N|0)==37){H=f[j+4>>2]|0;if((H|0)<3){f[a>>2]=H;f[x>>2]=f[j+8>>2];f[p+12>>2]=f[j+12>>2];H=f[j+44>>2]|0;c=f[B>>2]|0;f[c>>2]=f[H>>2];f[c+4>>2]=f[H+4>>2]}else N=39}if((N|0)==39)WO(p,j);H=j+16|0;f[I>>2]=f[H>>2];f[p+20>>2]=f[j+20>>2];f[p+24>>2]=f[j+24>>2];f[p+28>>2]=f[j+28>>2];f[p+32>>2]=f[j+32>>2];c=f[L>>2]|0;f[q>>2]=c;if(c|0?(G=c+12|0,c=f[G>>2]|0,f[G>>2]=c+-1,(c|0)==1):0)XO(j);f[L>>2]=0;c=j+4|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;if((f[c>>2]|0)>0){H=f[j+40>>2]|0;G=0;do{f[H+(G<<2)>>2]=0;G=G+1|0}while((G|0)<(f[c>>2]|0))}c=f[j+44>>2]|0;if((c|0)!=(j+48|0))dX(c);c=t;f[c>>2]=0;f[c+4>>2]=0;O=5;P=t}else{c=t;f[c>>2]=0;f[c+4>>2]=0;switch(g|0){case 0:case 3:case 5:{O=g;P=t;break a;break}default:{}}f[j>>2]=0;f[j+4>>2]=0;z=JV(j,41)|0;E=206366;A=z+41|0;do{b[z>>0]=b[E>>0]|0;z=z+1|0;E=E+1|0}while((z|0)<(A|0));EP(-201,j,206221,206239,737);KV(j);O=g;P=t}while(0);t=(e|0)==1;if((e|2|0)!=3){P=(e|0)==2&D?5:O;if(!P){O=f[F>>2]|0;g=f[r+40>>2]|0;if(!((f[O>>2]|0)==(f[g>>2]|0)?(f[O+4>>2]|0)==(f[g+4>>2]|0):0)){f[j>>2]=0;f[j+4>>2]=0;z=JV(j,24)|0;E=212900;A=z+24|0;do{b[z>>0]=b[E>>0]|0;z=z+1|0;E=E+1|0}while((z|0)<(A|0));EP(-215,j,206408,206239,560);KV(j)}if(!((f[o>>2]&4095|0)==0?(f[r>>2]&4095|0)==5:0)){f[j>>2]=0;f[j+4>>2]=0;z=JV(j,114)|0;E=206422;A=z+114|0;do{b[z>>0]=b[E>>0]|0;z=z+1|0;E=E+1|0}while((z|0)<(A|0));EP(-215,j,206408,206239,562);KV(j)}g=o+8|0;O=f[g>>2]|0;L=o+12|0;x=f[L>>2]|0;M=O<<1;d=O*3|0;s=(O*12|0)+4+(O<<3)|0;c=x<<3;G=s>>>0>>0?c:s;s=j+8|0;f[j>>2]=s;c=j+4|0;f[c>>2]=G;if(G>>>0>1032){H=FQa(G)|0;f[j>>2]=H;Q=H}else Q=s;H=Q+(M<<2)+3&-4;G=H;q=H;H=(O|0)>0;if(H){I=0;do{R=+(X(I,I)|0);n[Q+(I<<2)>>2]=R;I=I+1|0}while((I|0)!=(O|0))}if((O|0)<(M|0)){I=O;do{n[Q+(I<<2)>>2]=999999986991104.0;I=I+1|0}while((I|0)!=(M|0))}if(H){H=(M|0)>1?M:1;FVa(q|0,0,H<<2|0)|0;S=H}else S=0;if((S|0)<=(d|0)){H=S;while(1){f[G+(H<<2)>>2]=H-M;if((H|0)<(d|0))H=H+1|0;else break}}f[k>>2]=0;f[k+4>>2]=x;f[l>>2]=47692;f[l+4>>2]=o;f[l+8>>2]=r;H=f[g>>2]|0;f[l+12>>2]=G+(H<<1<<2)+4;f[l+16>>2]=Q;G=f[o+4>>2]|0;if((G|0)<3)T=X(f[L>>2]|0,H)|0;else{H=f[F>>2]|0;L=0;g=1;while(1){d=X(f[H+(L<<2)>>2]|0,g)|0;L=L+1|0;if((L|0)==(G|0)){T=d;break}else g=d}}$Z(k,l,+(T>>>0)*.0000152587890625);T=Q+(x<<2)|0;n[Q>>2]=0.0;n[T>>2]=0.0;if((x|0)>1){g=1;do{n[T+(g<<2)>>2]=.5/+(g|0);R=+(X(g,g)|0);n[Q+(g<<2)>>2]=R;g=g+1|0}while((g|0)!=(x|0))}f[k>>2]=0;f[k+4>>2]=O;f[l>>2]=47712;f[l+4>>2]=r;f[l+8>>2]=Q;f[l+12>>2]=T;$Z(k,l,-1.0);T=f[j>>2]|0;if((T|0)!=(s|0)){if(T|0)HQa(T);f[j>>2]=s;f[c>>2]=1032}}else{U=P;N=80}}else{U=D?5:3;N=80}if((N|0)==80){switch(e|0){case 3:{V=0;break}case 2:case 1:{N=82;break}default:{f[j>>2]=0;f[j+4>>2]=0;z=JV(j,73)|0;E=206537;A=z+73|0;do{b[z>>0]=b[E>>0]|0;z=z+1|0;E=E+1|0}while((z|0)<(A|0));EP(-215,j,206221,206239,780);KV(j);N=82}}if((N|0)==82)V=t?1:2;switch(V+(U*10|0)|0){case 30:{W=65536.0;Y=65536.0;Z=0.0;break}case 31:{W=65536.0;Y=131072.0;Z=0.0;break}case 32:{W=62586.87890625;Y=89738.4453125;Z=0.0;break}case 50:{W=65536.0;Y=65536.0;Z=131072.0;break}case 51:{W=65536.0;Y=131072.0;Z=196608.0;break}case 52:{W=65536.0;Y=91750.3984375;Z=143976.03125;break}default:{f[j>>2]=0;f[j+4>>2]=0;z=JV(j,19)|0;E=206611;A=z+19|0;do{b[z>>0]=b[E>>0]|0;z=z+1|0;E=E+1|0}while((z|0)<(A|0));EP(-5,j,206631,206239,441);KV(j);W=0.0;Y=0.0;Z=0.0}}E=f[F>>2]|0;V=(U|0)==3;U=V?2:4;t=(f[E>>2]|0)+U|0;N=(f[E+4>>2]|0)+U|0;f[k>>2]=1124007936;U=k+4|0;E=k+8|0;e=k+40|0;z=U;A=z+36|0;do{f[z>>2]=0;z=z+4|0}while((z|0)<(A|0));f[e>>2]=E;E=k+48|0;P=k+44|0;f[P>>2]=E;f[E>>2]=0;f[k+52>>2]=0;f[j>>2]=t;f[j+4>>2]=N;VO(k,2,j,4);b:do if(D){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[l+24>>2]=0;f[l+28>>2]=0;f[j>>2]=-1056833530;f[j+4>>2]=l;f[j+8>>2]=1;f[j+12>>2]=4;hM(p,j,BK()|0)|0;if(!h){MG(v,o,0.0);f[j>>2]=1124007936;N=j+4|0;t=j+8|0;c=j+40|0;z=N;A=z+36|0;do{f[z>>2]=0;z=z+4|0}while((z|0)<(A|0));f[c>>2]=t;s=j+48|0;T=j+44|0;f[T>>2]=s;f[s>>2]=0;f[j+52>>2]=0;Q=f[v>>2]|0;th[f[(f[Q>>2]|0)+12>>2]&255](Q,v,j,-1);Mi(v);f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=j;Q=w+8|0;f[Q>>2]=0;f[Q+4>>2]=0;f[w>>2]=33619968;f[w+4>>2]=p;Zga(l,w,8,4,0)|0;Q=j+36|0;O=f[Q>>2]|0;if(O|0?(x=O+12|0,O=f[x>>2]|0,f[x>>2]=O+-1,(O|0)==1):0)XO(j);f[Q>>2]=0;Q=j+16|0;f[Q>>2]=0;f[Q+4>>2]=0;f[Q+8>>2]=0;f[Q+12>>2]=0;if((f[N>>2]|0)>0){Q=f[c>>2]|0;O=0;do{f[Q+(O<<2)>>2]=0;O=O+1|0}while((O|0)<(f[N>>2]|0))}N=f[T>>2]|0;if((N|0)!=(s|0))dX(N)}else{N=o+8|0;if((f[N>>2]|0)>0){O=o+12|0;Q=f[o+16>>2]|0;c=f[o+44>>2]|0;t=f[p+16>>2]|0;x=0;g=1;G=f[O>>2]|0;while(1){L=Q+(X(f[c>>2]|0,x)|0)|0;H=t+(X(f[f[B>>2]>>2]|0,x)|0)|0;if((G|0)>0){d=0;M=g;S=G;while(1){if(!(b[L+d>>0]|0)){f[H+(d<<2)>>2]=M;_=M+1|0;$=f[O>>2]|0}else{_=M;$=S}d=d+1|0;if((d|0)>=($|0)){aa=_;ba=$;break}else{M=_;S=$}}}else{aa=g;ba=G}x=x+1|0;if((x|0)>=(f[N>>2]|0))break;else{g=aa;G=ba}}}}G=HEa(W)|0;g=HEa(Y)|0;N=HEa(Z)|0;x=f[o+16>>2]|0;O=f[k+16>>2]|0;t=f[P>>2]|0;c=f[r+16>>2]|0;Q=f[p+16>>2]|0;s=f[o+48>>2]|0;T=(f[E>>2]|0)>>>2;S=(f[r+48>>2]|0)>>>2;M=(f[C>>2]|0)>>>2;d=f[F>>2]|0;H=f[d+4>>2]|0;L=f[d>>2]|0;d=f[e>>2]|0;q=f[d+4>>2]|0;I=f[d>>2]|0;if((q|0)>0){d=O+(X(f[t>>2]|0,I+-1|0)|0)|0;J=0;do{f[O+(J<<2)>>2]=536870911;f[d+(J<<2)>>2]=536870911;J=J+1|0}while((J|0)!=(q|0));J=f[t>>2]|0;d=O+J|0;K=O+(X(J,I+-2|0)|0)|0;J=0;do{f[d+(J<<2)>>2]=536870911;f[K+(J<<2)>>2]=536870911;J=J+1|0}while((J|0)!=(q|0))}if((L|0)>0){q=(H|0)>0;J=T<<1;K=M<<1;d=~K;I=1-K|0;t=-2-M|0;ca=~M;da=1-M|0;ea=2-M|0;fa=H+1|0;ga=0;do{ha=X(ga,s)|0;ia=O+((X(ga+2|0,T)|0)<<2)+8|0;ja=X(ga,M)|0;f[ia+(H<<2)>>2]=536870911;f[ia+-4>>2]=536870911;f[ia+(fa<<2)>>2]=536870911;f[ia+-8>>2]=536870911;ka=x+ha|0;ha=Q+(ja<<2)|0;if(q){ja=0;do{if(!(b[ka+ja>>0]|0)){la=0;ma=ia}else{na=ja-J|0;oa=(f[ia+(na+-1<<2)>>2]|0)+N|0;if((oa|0)<536870911){pa=oa;qa=f[ha+(ja+d<<2)>>2]|0}else{pa=536870911;qa=0}oa=(f[ia+(na+1<<2)>>2]|0)+N|0;if((pa|0)>(oa|0)){ra=oa;sa=f[ha+(I+ja<<2)>>2]|0}else{ra=pa;sa=qa}oa=ja-T|0;na=(f[ia+(oa+-2<<2)>>2]|0)+N|0;if((ra|0)>(na|0)){ta=na;ua=f[ha+(t+ja<<2)>>2]|0}else{ta=ra;ua=sa}na=(f[ia+(oa+-1<<2)>>2]|0)+g|0;if((ta|0)>(na|0)){va=na;wa=f[ha+(ja+ca<<2)>>2]|0}else{va=ta;wa=ua}na=(f[ia+(oa<<2)>>2]|0)+G|0;if((va|0)>(na|0)){xa=na;ya=f[ha+(ja-M<<2)>>2]|0}else{xa=va;ya=wa}na=(f[ia+(oa+1<<2)>>2]|0)+g|0;if((xa|0)>(na|0)){za=na;Aa=f[ha+(da+ja<<2)>>2]|0}else{za=xa;Aa=ya}na=(f[ia+(oa+2<<2)>>2]|0)+N|0;if((za|0)>(na|0)){Ba=na;Ca=f[ha+(ea+ja<<2)>>2]|0}else{Ba=za;Ca=Aa}na=ja+-1|0;oa=(f[ia+(na<<2)>>2]|0)+G|0;if((Ba|0)>(oa|0)){Da=oa;Ea=f[ha+(na<<2)>>2]|0}else{Da=Ba;Ea=Ca}f[ia+(ja<<2)>>2]=Da;la=Ea;ma=ha}f[ma+(ja<<2)>>2]=la;ja=ja+1|0}while((ja|0)!=(H|0))}ga=ga+1|0}while((ga|0)!=(L|0));ga=J+-1|0;ea=K+-1|0;da=M+2|0;if(q){ca=L;do{t=ca;ca=ca+-1|0;I=c+((X(ca,S)|0)<<2)|0;d=O+((X(t+1|0,T)|0)<<2)+8|0;x=Q+((X(ca,M)|0)<<2)|0;fa=H;do{s=fa;fa=fa+-1|0;ja=d+(fa<<2)|0;ha=f[ja>>2]|0;ia=x+(fa<<2)|0;if((ha|0)>(G|0)){ka=(f[d+(s+J<<2)>>2]|0)+N|0;na=(ha|0)>(ka|0);oa=na?ka:ha;ka=(f[d+(ga+fa<<2)>>2]|0)+N|0;Fa=(oa|0)>(ka|0);Ga=Fa?ka:oa;oa=fa+T|0;ka=(f[d+(oa+2<<2)>>2]|0)+N|0;Ha=(Ga|0)>(ka|0);Ia=Ha?ka:Ga;Ga=(f[d+(s+T<<2)>>2]|0)+g|0;ka=(Ia|0)>(Ga|0);Ja=ka?Ga:Ia;Ia=(f[d+(oa<<2)>>2]|0)+G|0;Ga=(Ja|0)>(Ia|0);Ka=fa+M|0;La=Ga?Ia:Ja;Ja=(f[d+(oa+-1<<2)>>2]|0)+g|0;Ia=(La|0)>(Ja|0);Ma=Ia?Ja:La;La=(f[d+(oa+-2<<2)>>2]|0)+N|0;oa=(Ma|0)>(La|0);Ja=oa?La:Ma;Ma=(f[d+(s<<2)>>2]|0)+G|0;La=(Ja|0)>(Ma|0);Na=La?Ma:Ja;Ja=f[(La?x+(s<<2)|0:oa?x+(Ka+-2<<2)|0:Ia?x+(Ka+-1<<2)|0:Ga?x+(Ka<<2)|0:ka?x+(s+M<<2)|0:Ha?x+(da+fa<<2)|0:Fa?x+(ea+fa<<2)|0:na?x+(s+K<<2)|0:ia)>>2]|0;f[ja>>2]=Na;f[ia>>2]=Ja;Oa=Na}else Oa=ha;n[I+(fa<<2)>>2]=+(Oa|0)*.0000152587890625}while((s|0)>1)}while((t|0)>1)}}}else{K=HEa(W)|0;ea=HEa(Y)|0;if(V){da=f[o+16>>2]|0;M=f[k+16>>2]|0;G=f[r+16>>2]|0;N=f[o+48>>2]|0;g=(f[E>>2]|0)>>>2;T=(f[r+48>>2]|0)>>>2;ga=f[F>>2]|0;J=f[ga+4>>2]|0;H=f[ga>>2]|0;ga=f[e>>2]|0;ca=f[ga+4>>2]|0;if((ca|0)>0){Q=M+(X(f[f[P>>2]>>2]|0,(f[ga>>2]|0)+-1|0)|0)|0;ga=0;do{f[M+(ga<<2)>>2]=536870911;f[Q+(ga<<2)>>2]=536870911;ga=ga+1|0}while((ga|0)!=(ca|0))}if((H|0)<=0)break;ca=(J|0)>0;if(ca){ga=0;do{Q=X(ga,N)|0;ga=ga+1|0;O=M+((X(ga,g)|0)<<2)+4|0;f[O+(J<<2)>>2]=536870911;f[O+-4>>2]=536870911;S=da+Q|0;Q=0;c=536870911;while(1){if(!(b[S+Q>>0]|0))Pa=0;else{L=Q-g|0;q=(f[O+(L+-1<<2)>>2]|0)+ea|0;fa=(f[O+(L<<2)>>2]|0)+K|0;I=(q|0)>(fa|0)?fa:q;q=(f[O+(L+1<<2)>>2]|0)+ea|0;L=(I|0)>(q|0)?q:I;I=c+K|0;Pa=(L|0)>(I|0)?I:L}f[O+(Q<<2)>>2]=Pa;Q=Q+1|0;if((Q|0)==(J|0))break;else c=Pa}}while((ga|0)!=(H|0))}else{ga=0;do{ga=ga+1|0;da=M+((X(ga,g)|0)<<2)+4|0;f[da+(J<<2)>>2]=536870911;f[da+-4>>2]=536870911}while((ga|0)!=(H|0))}if(ca)Qa=H;else break;while(1){ga=Qa;Qa=Qa+-1|0;da=G+((X(Qa,T)|0)<<2)|0;N=M+((X(ga,g)|0)<<2)+4|0;c=J;do{Q=c;c=c+-1|0;O=N+(c<<2)|0;S=f[O>>2]|0;if((S|0)>(K|0)){t=c+g|0;L=(f[N+(Q+g<<2)>>2]|0)+ea|0;I=(S|0)>(L|0)?L:S;L=(f[N+(t<<2)>>2]|0)+K|0;q=(I|0)>(L|0)?L:I;I=(f[N+(t+-1<<2)>>2]|0)+ea|0;t=(q|0)>(I|0)?I:q;q=(f[N+(Q<<2)>>2]|0)+K|0;I=(t|0)>(q|0)?q:t;f[O>>2]=I;Ra=I}else Ra=S;n[da+(c<<2)>>2]=+(Ra|0)*.0000152587890625}while((Q|0)>1);if((ga|0)<=1)break b}}g=HEa(Z)|0;J=f[o+16>>2]|0;M=f[k+16>>2]|0;T=f[P>>2]|0;G=f[r+16>>2]|0;H=f[o+48>>2]|0;ca=(f[E>>2]|0)>>>2;c=(f[r+48>>2]|0)>>>2;da=f[F>>2]|0;N=f[da+4>>2]|0;Q=f[da>>2]|0;da=f[e>>2]|0;S=f[da+4>>2]|0;I=f[da>>2]|0;if((S|0)>0){da=M+(X(f[T>>2]|0,I+-1|0)|0)|0;O=0;do{f[M+(O<<2)>>2]=536870911;f[da+(O<<2)>>2]=536870911;O=O+1|0}while((O|0)!=(S|0));O=f[T>>2]|0;da=M+O|0;t=M+(X(O,I+-2|0)|0)|0;O=0;do{f[da+(O<<2)>>2]=536870911;f[t+(O<<2)>>2]=536870911;O=O+1|0}while((O|0)!=(S|0))}if((Q|0)>0){S=(N|0)>0;O=ca<<1;t=N+1|0;if(S){da=0;do{I=X(da,H)|0;T=M+((X(da+2|0,ca)|0)<<2)+8|0;f[T+(N<<2)>>2]=536870911;f[T+-4>>2]=536870911;f[T+(t<<2)>>2]=536870911;f[T+-8>>2]=536870911;q=J+I|0;I=0;do{if(!(b[q+I>>0]|0))Sa=0;else{L=I-O|0;fa=(f[T+(L+-1<<2)>>2]|0)+g|0;x=(f[T+(L+1<<2)>>2]|0)+g|0;L=(fa|0)>(x|0)?x:fa;fa=I-ca|0;x=(f[T+(fa+-2<<2)>>2]|0)+g|0;d=(L|0)>(x|0)?x:L;L=(f[T+(fa+-1<<2)>>2]|0)+ea|0;x=(d|0)>(L|0)?L:d;d=(f[T+(fa<<2)>>2]|0)+K|0;L=(x|0)>(d|0)?d:x;x=(f[T+(fa+1<<2)>>2]|0)+ea|0;d=(L|0)>(x|0)?x:L;L=(f[T+(fa+2<<2)>>2]|0)+g|0;fa=(d|0)>(L|0)?L:d;d=(f[T+(I+-1<<2)>>2]|0)+K|0;Sa=(fa|0)>(d|0)?d:fa}f[T+(I<<2)>>2]=Sa;I=I+1|0}while((I|0)!=(N|0));da=da+1|0}while((da|0)!=(Q|0))}else{da=0;do{J=M+((X(da+2|0,ca)|0)<<2)+8|0;f[J+(N<<2)>>2]=536870911;f[J+-4>>2]=536870911;f[J+(t<<2)>>2]=536870911;f[J+-8>>2]=536870911;da=da+1|0}while((da|0)!=(Q|0))}da=O+-1|0;if(S){t=Q;do{J=t;t=t+-1|0;H=G+((X(t,c)|0)<<2)|0;I=M+((X(J+1|0,ca)|0)<<2)+8|0;T=N;do{q=T;T=T+-1|0;ga=I+(T<<2)|0;fa=f[ga>>2]|0;if((fa|0)>(K|0)){d=(f[I+(q+O<<2)>>2]|0)+g|0;L=(fa|0)>(d|0)?d:fa;d=(f[I+(da+T<<2)>>2]|0)+g|0;x=(L|0)>(d|0)?d:L;L=T+ca|0;d=(f[I+(L+2<<2)>>2]|0)+g|0;s=(x|0)>(d|0)?d:x;x=(f[I+(q+ca<<2)>>2]|0)+ea|0;d=(s|0)>(x|0)?x:s;s=(f[I+(L<<2)>>2]|0)+K|0;x=(d|0)>(s|0)?s:d;d=(f[I+(L+-1<<2)>>2]|0)+ea|0;s=(x|0)>(d|0)?d:x;x=(f[I+(L+-2<<2)>>2]|0)+g|0;L=(s|0)>(x|0)?x:s;s=(f[I+(q<<2)>>2]|0)+K|0;x=(L|0)>(s|0)?s:L;f[ga>>2]=x;Ta=x}else Ta=fa;n[H+(T<<2)>>2]=+(Ta|0)*.0000152587890625}while((q|0)>1)}while((J|0)>1)}}}while(0);Ta=k+36|0;Sa=f[Ta>>2]|0;if(Sa|0?(Ra=Sa+12|0,Sa=f[Ra>>2]|0,f[Ra>>2]=Sa+-1,(Sa|0)==1):0)XO(k);f[Ta>>2]=0;Ta=k+16|0;f[Ta>>2]=0;f[Ta+4>>2]=0;f[Ta+8>>2]=0;f[Ta+12>>2]=0;if((f[U>>2]|0)>0){Ta=f[e>>2]|0;e=0;do{f[Ta+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(f[U>>2]|0))}U=f[P>>2]|0;if((U|0)!=(E|0))dX(U)}U=r+36|0;E=f[U>>2]|0;if(E|0?(P=E+12|0,E=f[P>>2]|0,f[P>>2]=E+-1,(E|0)==1):0)XO(r);f[U>>2]=0;U=r+16|0;E=r+4|0;f[U>>2]=0;f[U+4>>2]=0;f[U+8>>2]=0;f[U+12>>2]=0;if((f[E>>2]|0)>0){U=f[r+40>>2]|0;P=0;do{f[U+(P<<2)>>2]=0;P=P+1|0}while((P|0)<(f[E>>2]|0))}E=f[r+44>>2]|0;if((E|0)!=(r+48|0))dX(E);E=p+36|0;r=f[E>>2]|0;if(r|0?(P=r+12|0,r=f[P>>2]|0,f[P>>2]=r+-1,(r|0)==1):0)XO(p);f[E>>2]=0;E=p+16|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;if((f[a>>2]|0)>0){E=f[y>>2]|0;y=0;do{f[E+(y<<2)>>2]=0;y=y+1|0}while((y|0)<(f[a>>2]|0))}a=f[B>>2]|0;if((a|0)!=(C|0))dX(a);a=o+36|0;C=f[a>>2]|0;if(C|0?(B=C+12|0,C=f[B>>2]|0,f[B>>2]=C+-1,(C|0)==1):0)XO(o);f[a>>2]=0;a=o+16|0;C=o+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if((f[C>>2]|0)>0){a=f[F>>2]|0;F=0;do{f[a+(F<<2)>>2]=0;F=F+1|0}while((F|0)<(f[C>>2]|0))}C=f[o+44>>2]|0;if((C|0)!=(o+48|0))dX(C);if(!(f[m+4>>2]|0)){u=i;return}u=i;return}function S8(a){a=a|0;GQa(a);return}function T8(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0,D=0.0,E=0,F=0.0;c=u;u=u+1040|0;d=c;e=f[b>>2]|0;g=f[b+4>>2]|0;b=f[a+4>>2]|0;h=f[b+12>>2]|0;i=(h*12|0)+24|0;j=d+8|0;f[d>>2]=j;k=d+4|0;f[k>>2]=i;if(i>>>0>1032){l=FQa(i)|0;f[d>>2]=l;m=l}else m=j;l=m+(h<<2)|0;i=l+(h<<2)+4+3&-4;a:do if((e|0)<(g|0)){o=f[b+16>>2]|0;p=f[b+44>>2]|0;q=l+4|0;r=(h|0)>0;s=a+8|0;if((h|0)<=1){t=e;while(1){v=o+(X(f[p>>2]|0,t)|0)|0;f[i>>2]=0;n[l>>2]=-999999986991104.0;n[q>>2]=999999986991104.0;f[m>>2]=f[v>>2];if(r){w=f[s>>2]|0;x=0;y=0;while(1){z=+(x|0);A=y;while(1){B=A+1|0;if(+n[l+(B<<2)>>2]>2]|0;C=x-B|0;z=+L(+(+n[w+(((C|0)>-1?C:0-C|0)<<2)>>2]+ +n[m+(B<<2)>>2]));n[v+(x<<2)>>2]=z;x=x+1|0;if((x|0)==(h|0))break;else y=A}}t=t+1|0;if((t|0)==(g|0))break a}}t=f[s>>2]|0;y=f[a+12>>2]|0;x=e;do{v=o+(X(f[p>>2]|0,x)|0)|0;f[i>>2]=0;n[l>>2]=-999999986991104.0;n[q>>2]=999999986991104.0;f[m>>2]=f[v>>2];w=0;B=1;do{z=+n[v+(B<<2)>>2];n[m+(B<<2)>>2]=z;D=z+ +n[t+(B<<2)>>2];C=w;while(1){E=f[i+(C<<2)>>2]|0;F=(D-+n[v+(E<<2)>>2]-+n[t+(E<<2)>>2])*+n[y+(B-E<<2)>>2];if(F>+n[l+(C<<2)>>2])break;else C=C+-1|0}w=C+1|0;f[i+(w<<2)>>2]=B;n[l+(w<<2)>>2]=F;n[l+(C+2<<2)>>2]=999999986991104.0;B=B+1|0}while((B|0)!=(h|0));if(r){B=0;w=0;while(1){D=+(B|0);A=w;while(1){E=A+1|0;if(+n[l+(E<<2)>>2]>2]|0;E=B-C|0;D=+L(+(+n[t+(((E|0)>-1?E:0-E|0)<<2)>>2]+ +n[m+(C<<2)>>2]));n[v+(B<<2)>>2]=D;B=B+1|0;if((B|0)==(h|0))break;else w=A}}x=x+1|0}while((x|0)!=(g|0))}while(0);if((m|0)==(j|0)){u=c;return}HQa(m);f[d>>2]=j;f[k>>2]=1032;u=c;return}function U8(a){a=a|0;GQa(a);return}function V8(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+1072|0;e=d;g=f[c>>2]|0;h=f[c+4>>2]|0;c=f[a+4>>2]|0;i=f[c+8>>2]|0;j=f[c+48>>2]|0;k=f[a+8>>2]|0;l=(f[k+48>>2]|0)>>>2;m=e+8|0;f[e>>2]=m;n=e+4|0;f[n>>2]=i;if(i>>>0>264){o=FQa(i>>>0>1073741823?-1:i<<2)|0;f[e>>2]=o;p=o}else p=m;if((g|0)<(h|0)?(o=i+-1|0,q=a+12|0,r=a+16|0,a=0-j|0,(i|0)>0):0){j=f[c+16>>2]|0;s=f[c+44>>2]|0;c=f[k+16>>2]|0;k=g;do{g=o;t=j+(X(f[s>>2]|0,o)|0)+k|0;v=o;while(1){v=b[t>>0]|0?v+1|0:0;f[p+(g<<2)>>2]=v;if((g|0)<=0)break;else{g=g+-1|0;t=t+a|0}}t=f[q>>2]|0;g=f[r>>2]|0;v=c+(k<<2)|0;w=0;x=o;while(1){y=p+(w<<2)|0;x=x+1-(f[t+(x-(f[y>>2]|0)<<2)>>2]|0)|0;f[y>>2]=x;f[v>>2]=f[g+(x<<2)>>2];w=w+1|0;if((w|0)==(i|0))break;else v=v+(l<<2)|0}k=k+1|0}while((k|0)!=(h|0))}if((p|0)==(m|0)){u=d;return}HQa(p);f[e>>2]=m;f[n>>2]=264;u=d;return}function W8(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;i=u;u=u+400|0;j=i+144|0;k=i+136|0;l=i+128|0;m=i+72|0;n=i+64|0;o=i+8|0;p=i;yV(p,47724);if((d|0)==1&(g|0)==0){yV(l,47744);do if((HJ(a)|0)==65536){l=f[a+4>>2]|0;f[m>>2]=f[l>>2];g=m+4|0;q=l+4|0;f[g>>2]=f[q>>2];r=m+8|0;f[r>>2]=f[l+8>>2];f[m+12>>2]=f[l+12>>2];f[m+16>>2]=f[l+16>>2];f[m+20>>2]=f[l+20>>2];f[m+24>>2]=f[l+24>>2];f[m+28>>2]=f[l+28>>2];f[m+32>>2]=f[l+32>>2];s=f[l+36>>2]|0;f[m+36>>2]=s;f[m+40>>2]=r;r=m+48|0;t=m+44|0;f[t>>2]=r;f[r>>2]=0;f[m+52>>2]=0;if(s|0){r=s+12|0;f[r>>2]=(f[r>>2]|0)+1}if((f[q>>2]|0)<3){q=f[l+44>>2]|0;r=f[t>>2]|0;f[r>>2]=f[q>>2];f[r+4>>2]=f[q+4>>2];v=m;break}else{f[g>>2]=0;WO(m,l);v=m;break}}else{DJ(m,a,-1);v=m}while(0);if(f[v>>2]&4095|0){f[j>>2]=0;f[j+4>>2]=0;w=JV(j,55)|0;x=206165;y=w+55|0;do{b[w>>0]=b[x>>0]|0;w=w+1|0;x=x+1|0}while((w|0)<(y|0));EP(-215,j,206791,206239,688);KV(j)}l=m+40|0;g=f[l>>2]|0;q=f[g>>2]|0;f[n>>2]=f[g+4>>2];f[n+4>>2]=q;_J(c,n,0,-1,0,0);do if((HJ(c)|0)==65536){n=f[c+4>>2]|0;f[o>>2]=f[n>>2];q=o+4|0;g=n+4|0;f[q>>2]=f[g>>2];r=o+8|0;f[r>>2]=f[n+8>>2];f[o+12>>2]=f[n+12>>2];t=o+16|0;f[t>>2]=f[n+16>>2];f[o+20>>2]=f[n+20>>2];f[o+24>>2]=f[n+24>>2];f[o+28>>2]=f[n+28>>2];f[o+32>>2]=f[n+32>>2];s=f[n+36>>2]|0;f[o+36>>2]=s;f[o+40>>2]=r;r=o+48|0;z=o+44|0;f[z>>2]=r;f[r>>2]=0;f[o+52>>2]=0;if(s|0){A=s+12|0;f[A>>2]=(f[A>>2]|0)+1}if((f[g>>2]|0)<3){g=f[n+44>>2]|0;A=f[z>>2]|0;f[A>>2]=f[g>>2];f[A+4>>2]=f[g+4>>2];B=t;C=r;break}else{f[q>>2]=0;WO(o,n);B=t;C=r;break}}else{DJ(o,c,-1);B=o+16|0;C=o+48|0}while(0);r=f[m+12>>2]|0;t=f[m+8>>2]|0;n=m+16|0;q=f[n>>2]|0;g=f[B>>2]|0;A=m+48|0;z=f[A>>2]|0;s=f[C>>2]|0;if(!((f[v>>2]&4095|0)==0?!(f[o>>2]&4095|0):0)){f[k>>2]=0;f[k+4>>2]=0;w=JV(k,114)|0;x=206815;y=w+114|0;do{b[w>>0]=b[x>>0]|0;w=w+1|0;x=x+1|0}while((w|0)<(y|0));EP(-215,k,206930,206239,617);KV(k)}v=f[l>>2]|0;D=o+40|0;E=f[D>>2]|0;if((f[v>>2]|0)==(f[E>>2]|0)?(f[v+4>>2]|0)==(f[E+4>>2]|0):0)F=0;else{f[k>>2]=0;f[k+4>>2]=0;w=JV(k,24)|0;x=212900;y=w+24|0;do{b[w>>0]=b[x>>0]|0;w=w+1|0;x=x+1|0}while((w|0)<(y|0));EP(-215,k,206930,206239,618);KV(k);F=0}do{k=F;F=F+1|0;b[j+k>>0]=F>>>0<256?F:(k>>>31)+255|0}while((F|0)!=256);F=((b[q>>0]|0)!=0)<<31>>31;b[g>>0]=F;k=(r|0)>1;if(k){x=1;w=F;do{if(!(b[q+x>>0]|0))G=0;else G=h[j+(w&255)>>0]|0;w=G&255;b[g+x>>0]=w;x=x+1|0}while((x|0)!=(r|0))}x=(t|0)>1;do if(x){w=X(s,t+-1|0)|0;if(k){H=1;I=g;J=q}else{G=1;F=g;y=q;do{y=y+z|0;E=F;F=F+s|0;if(!(b[y>>0]|0))K=0;else K=h[j+(h[E>>0]|0)>>0]|0;b[F>>0]=K;G=G+1|0}while((G|0)!=(t|0));L=g+w|0;break}do{J=J+z|0;G=I;I=I+s|0;if(!(b[J>>0]|0))M=0;else M=h[j+(h[G>>0]|0)>>0]|0;b[I>>0]=M;F=M;y=1;while(1){if(!(b[J+y>>0]|0))N=0;else{E=h[G+y>>0]|0;N=h[j+((F|0)>(E|0)?E:F)>>0]|0}b[I+y>>0]=N;y=y+1|0;if((y|0)==(r|0))break;else F=N}H=H+1|0}while((H|0)!=(t|0));L=g+w|0}else L=g;while(0);g=r+-1|0;H=L+g|0;N=r+-2|0;if(k){r=h[H>>0]|0;I=N;while(1){J=h[j+r>>0]|0;M=L+I|0;z=J-(h[M>>0]|0)+256|0;if(z>>>0<769)O=h[243744+z>>0]|0;else O=0;r=J-O|0;b[M>>0]=r;if((I|0)<=0)break;else I=I+-1|0}}I=t+-2|0;a:do if(x){t=0-s|0;if(k){P=I;Q=L}else{r=I;O=L;M=b[H>>0]|0;while(1){O=O+t|0;J=b[j+(M&255)>>0]|0;z=O+g|0;K=b[z>>0]|0;M=(J&255)>(K&255)?K:J;b[z>>0]=M;if((r|0)<=0)break a;else r=r+-1|0}}while(1){r=Q;Q=Q+t|0;M=b[j+(h[r+g>>0]|0)>>0]|0;O=Q+g|0;w=b[O>>0]|0;z=(M&255)>(w&255)?w:M;b[O>>0]=z;O=z&255;z=N;while(1){M=h[r+z>>0]|0;w=b[j+(O>>>0>M>>>0?M:O)>>0]|0;M=Q+z|0;J=b[M>>0]|0;K=(w&255)>(J&255)?J:w;b[M>>0]=K;if((z|0)>0){O=K&255;z=z+-1|0}else break}if((P|0)<=0)break;else P=P+-1|0}}while(0);P=o+36|0;Q=f[P>>2]|0;if(Q|0?(j=Q+12|0,Q=f[j>>2]|0,f[j>>2]=Q+-1,(Q|0)==1):0)XO(o);f[P>>2]=0;P=o+4|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;if((f[P>>2]|0)>0){B=f[D>>2]|0;D=0;do{f[B+(D<<2)>>2]=0;D=D+1|0}while((D|0)<(f[P>>2]|0))}P=f[o+44>>2]|0;if((P|0)!=(C|0))dX(P);P=m+36|0;C=f[P>>2]|0;if(C|0?(o=C+12|0,C=f[o>>2]|0,f[o>>2]=C+-1,(C|0)==1):0)XO(m);f[P>>2]=0;P=m+4|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;if((f[P>>2]|0)>0){n=f[l>>2]|0;l=0;do{f[n+(l<<2)>>2]=0;l=l+1|0}while((l|0)<(f[P>>2]|0))}P=f[m+44>>2]|0;if((P|0)!=(A|0))dX(P)}else R8(a,c,BK()|0,d,e,1);if(!(f[p+4>>2]|0)){u=i;return}u=i;return}function X8(a,b,c){a=a|0;b=+b;c=c|0;var d=0,e=0,g=0,h=0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=EQa(136)|0;LY(c);f[c>>2]=47772;p[c+8>>3]=b;f[c+16>>2]=d;f[c+20>>2]=e;f[c+24>>2]=1124007936;e=c+32|0;d=c+64|0;g=c+28|0;h=g+36|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[d>>2]=e;e=c+72|0;f[c+68>>2]=e;f[e>>2]=0;f[c+76>>2]=0;f[c+80>>2]=1124007936;e=c+88|0;d=c+120|0;g=c+84|0;h=g+36|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[d>>2]=e;e=c+128|0;f[c+124>>2]=e;f[e>>2]=0;f[c+132>>2]=0;e=EQa(16)|0;d=e+4|0;f[d>>2]=1;f[e>>2]=47836;f[e+8>>2]=c;f[a>>2]=e;f[a+4>>2]=c;f[d>>2]=(f[d>>2]|0)+1;c=f[d>>2]|0;f[d>>2]=c+-1;if((c|0)!=1)return;qg[f[(f[e>>2]|0)+8>>2]&1023](e);return}function Y8(a){a=a|0;GQa(a);return}function Z8(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function _8(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=47772;b=a+80|0;c=a+116|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+96|0;b=a+84|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+120>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+124>>2]|0;if((b|0)!=(a+128|0))dX(b);b=a+24|0;d=a+60|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+40|0;b=a+28|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[a+64>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+68>>2]|0;if((b|0)==(a+72|0)){DY(a);return}dX(b);DY(a);return}function $8(a){a=a|0;_8(a);GQa(a);return}function a9(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0.0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0.0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;e=u;u=u+272|0;g=e+248|0;h=e+240|0;i=e+56|0;j=e+232|0;k=e+224|0;l=e+216|0;m=e+208|0;o=e+144|0;q=e+80|0;r=e;s=e+72|0;t=e+152|0;v=e+88|0;yV(h,47848);if(GJ(c,-1)|0?(GJ(c,-1)|0)!=2:0){f[g>>2]=0;f[g+4>>2]=0;w=JV(g,116)|0;x=207171;y=w+116|0;do{b[w>>0]=b[x>>0]|0;w=w+1|0;x=x+1|0}while((w|0)<(y|0));EP(-215,g,339759,207288,360);KV(g)}z=(GJ(c,-1)|0)==0;A=z?256:65536;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;FJ(j,c,-1);z=a+16|0;if(!((f[j>>2]|0)%(f[z>>2]|0)|0)){FJ(k,c,-1);j=a+20|0;B=f[j>>2]|0;if(!((f[k+4>>2]|0)%(B|0)|0)){FJ(l,c,-1);k=f[l>>2]|0;l=f[z>>2]|0;FJ(m,c,-1);C=(f[m+4>>2]|0)/(f[j>>2]|0)|0;m=c;D=f[m+4>>2]|0;E=i;f[E>>2]=f[m>>2];f[E+4>>2]=D;f[i+8>>2]=f[c+8>>2];F=f[c+12>>2]|0;G=(k|0)/(l|0)|0;H=C}else{I=j;J=B;K=8}}else{B=a+20|0;I=B;J=f[B>>2]|0;K=8}if((K|0)==8){K=a+24|0;B=g+8|0;f[B>>2]=0;f[B+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=K;FJ(o,c,-1);B=f[o+4>>2]|0;o=f[I>>2]|0;j=f[z>>2]|0;FJ(q,c,-1);C=f[q>>2]|0;q=f[z>>2]|0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;f[r+16>>2]=0;f[r+20>>2]=0;f[r+24>>2]=0;f[r+28>>2]=0;mM(c,g,0,J-((B|0)%(o|0)|0)|0,0,j-((C|0)%(q|0)|0)|0,4,r);q=f[a+64>>2]|0;C=(f[q+4>>2]|0)/(f[z>>2]|0)|0;j=(f[q>>2]|0)/(f[I>>2]|0)|0;f[i>>2]=16842752;f[i+4>>2]=K;f[i+8>>2]=0;F=0;G=C;H=j}f[i+12>>2]=F;F=X(H,G)|0;L=+(A+-1|0)/+(F|0);M=+p[a+8>>3];if(M>0.0){j=~~(M*+(F|0)/+(A|0));N=(j|0)>1?j:1}else N=0;do if((HJ(c)|0)==65536){j=f[c+4>>2]|0;f[r>>2]=f[j>>2];F=r+4|0;C=j+4|0;f[F>>2]=f[C>>2];K=r+8|0;f[K>>2]=f[j+8>>2];f[r+12>>2]=f[j+12>>2];f[r+16>>2]=f[j+16>>2];f[r+20>>2]=f[j+20>>2];f[r+24>>2]=f[j+24>>2];f[r+28>>2]=f[j+28>>2];f[r+32>>2]=f[j+32>>2];I=f[j+36>>2]|0;f[r+36>>2]=I;q=r+40|0;f[q>>2]=K;K=r+48|0;o=r+44|0;f[o>>2]=K;f[K>>2]=0;f[r+52>>2]=0;if(I|0){K=I+12|0;f[K>>2]=(f[K>>2]|0)+1}if((f[C>>2]|0)<3){C=f[j+44>>2]|0;K=f[o>>2]|0;f[K>>2]=f[C>>2];f[K+4>>2]=f[C+4>>2];O=q;P=r;break}else{f[F>>2]=0;WO(r,j);O=q;P=r;break}}else{DJ(r,c,-1);O=r+40|0;P=r}while(0);q=f[O>>2]|0;j=f[q>>2]|0;f[s>>2]=f[q+4>>2];f[s+4>>2]=j;_J(d,s,f[P>>2]&4095,-1,0,0);do if((HJ(d)|0)==65536){s=f[d+4>>2]|0;f[t>>2]=f[s>>2];j=t+4|0;q=s+4|0;f[j>>2]=f[q>>2];F=t+8|0;f[F>>2]=f[s+8>>2];f[t+12>>2]=f[s+12>>2];f[t+16>>2]=f[s+16>>2];f[t+20>>2]=f[s+20>>2];f[t+24>>2]=f[s+24>>2];f[t+28>>2]=f[s+28>>2];f[t+32>>2]=f[s+32>>2];C=f[s+36>>2]|0;f[t+36>>2]=C;f[t+40>>2]=F;F=t+48|0;K=t+44|0;f[K>>2]=F;f[F>>2]=0;f[t+52>>2]=0;if(C|0){F=C+12|0;f[F>>2]=(f[F>>2]|0)+1}if((f[q>>2]|0)<3){q=f[s+44>>2]|0;F=f[K>>2]|0;f[F>>2]=f[q>>2];f[F+4>>2]=f[q+4>>2];break}else{f[j>>2]=0;WO(t,s);break}}else DJ(t,d,-1);while(0);do if((HJ(i)|0)==65536){d=f[i+4>>2]|0;f[v>>2]=f[d>>2];s=v+4|0;j=d+4|0;f[s>>2]=f[j>>2];q=v+8|0;f[q>>2]=f[d+8>>2];f[v+12>>2]=f[d+12>>2];f[v+16>>2]=f[d+16>>2];f[v+20>>2]=f[d+20>>2];f[v+24>>2]=f[d+24>>2];f[v+28>>2]=f[d+28>>2];f[v+32>>2]=f[d+32>>2];F=f[d+36>>2]|0;f[v+36>>2]=F;f[v+40>>2]=q;q=v+48|0;K=v+44|0;f[K>>2]=q;f[q>>2]=0;f[v+52>>2]=0;if(F|0){q=F+12|0;f[q>>2]=(f[q>>2]|0)+1}if((f[j>>2]|0)<3){j=f[d+44>>2]|0;q=f[K>>2]|0;f[q>>2]=f[j>>2];f[q+4>>2]=f[j+4>>2];break}else{f[s>>2]=0;WO(v,d);break}}else DJ(v,i,-1);while(0);i=a+80|0;d=f[z>>2]|0;s=a+20|0;j=f[s>>2]|0;q=X(j,d)|0;d=(GJ(c,-1)|0)&4095;j=a+84|0;if(!(((((f[j>>2]|0)<3?(f[a+88>>2]|0)==(q|0):0)?(f[a+92>>2]|0)==(A|0):0)?(f[i>>2]&4095|0)==(d|0):0)?(f[a+96>>2]|0)!=0:0)){f[g>>2]=q;f[g+4>>2]=A;VO(i,2,g,d)}do if(!(GJ(c,-1)|0)){d=EQa(136)|0;f[d>>2]=47876;A=d+4|0;f[A>>2]=f[v>>2];q=d+8|0;K=v+4|0;F=f[K>>2]|0;f[q>>2]=F;C=d+12|0;f[C>>2]=f[v+8>>2];f[d+16>>2]=f[v+12>>2];f[d+20>>2]=f[v+16>>2];f[d+24>>2]=f[v+20>>2];f[d+28>>2]=f[v+24>>2];f[d+32>>2]=f[v+28>>2];f[d+36>>2]=f[v+32>>2];o=f[v+36>>2]|0;f[d+40>>2]=o;f[d+44>>2]=C;C=d+52|0;I=d+48|0;f[I>>2]=C;f[C>>2]=0;f[d+56>>2]=0;if(!o)Q=F;else{F=o+12|0;f[F>>2]=(f[F>>2]|0)+1;Q=f[K>>2]|0}if((Q|0)<3){K=f[v+44>>2]|0;F=f[I>>2]|0;f[F>>2]=f[K>>2];f[F+4>>2]=f[K+4>>2]}else{f[q>>2]=0;WO(A,v)}A=d+60|0;f[A>>2]=f[i>>2];q=d+64|0;K=f[j>>2]|0;f[q>>2]=K;F=d+68|0;f[F>>2]=f[a+88>>2];f[d+72>>2]=f[a+92>>2];f[d+76>>2]=f[a+96>>2];f[d+80>>2]=f[a+100>>2];f[d+84>>2]=f[a+104>>2];f[d+88>>2]=f[a+108>>2];f[d+92>>2]=f[a+112>>2];I=f[a+116>>2]|0;f[d+96>>2]=I;f[d+100>>2]=F;F=d+108|0;o=d+104|0;f[o>>2]=F;f[F>>2]=0;f[d+112>>2]=0;if(!I)R=K;else{K=I+12|0;f[K>>2]=(f[K>>2]|0)+1;R=f[j>>2]|0}if((R|0)<3){K=f[a+124>>2]|0;I=f[o>>2]|0;f[I>>2]=f[K>>2];f[I+4>>2]=f[K+4>>2]}else{f[q>>2]=0;WO(A,i)}f[d+116>>2]=G;f[d+120>>2]=H;f[d+124>>2]=f[z>>2];f[d+128>>2]=N;n[d+132>>2]=L;A=EQa(16)|0;q=A+4|0;f[q>>2]=1;f[A>>2]=47896;f[A+8>>2]=d;K=A;I=d;f[q>>2]=(f[q>>2]|0)+1;d=f[q>>2]|0;f[q>>2]=d+-1;if((d|0)==1){qg[f[(f[A>>2]|0)+8>>2]&1023](A);S=K;T=I}else{S=K;T=I}}else{if((GJ(c,-1)|0)!=2){f[g>>2]=0;f[g+4>>2]=0;w=JV(g,16)|0;x=207345;y=w+16|0;do{b[w>>0]=b[x>>0]|0;w=w+1|0;x=x+1|0}while((w|0)<(y|0));EP(-5,g,339759,207288,425);KV(g);S=0;T=0;break}I=EQa(136)|0;f[I>>2]=47916;K=I+4|0;f[K>>2]=f[v>>2];A=I+8|0;d=v+4|0;q=f[d>>2]|0;f[A>>2]=q;o=I+12|0;f[o>>2]=f[v+8>>2];f[I+16>>2]=f[v+12>>2];f[I+20>>2]=f[v+16>>2];f[I+24>>2]=f[v+20>>2];f[I+28>>2]=f[v+24>>2];f[I+32>>2]=f[v+28>>2];f[I+36>>2]=f[v+32>>2];F=f[v+36>>2]|0;f[I+40>>2]=F;f[I+44>>2]=o;o=I+52|0;C=I+48|0;f[C>>2]=o;f[o>>2]=0;f[I+56>>2]=0;if(!F)U=q;else{q=F+12|0;f[q>>2]=(f[q>>2]|0)+1;U=f[d>>2]|0}if((U|0)<3){d=f[v+44>>2]|0;q=f[C>>2]|0;f[q>>2]=f[d>>2];f[q+4>>2]=f[d+4>>2]}else{f[A>>2]=0;WO(K,v)}K=I+60|0;f[K>>2]=f[i>>2];A=I+64|0;d=f[j>>2]|0;f[A>>2]=d;q=I+68|0;f[q>>2]=f[a+88>>2];f[I+72>>2]=f[a+92>>2];f[I+76>>2]=f[a+96>>2];f[I+80>>2]=f[a+100>>2];f[I+84>>2]=f[a+104>>2];f[I+88>>2]=f[a+108>>2];f[I+92>>2]=f[a+112>>2];C=f[a+116>>2]|0;f[I+96>>2]=C;f[I+100>>2]=q;q=I+108|0;F=I+104|0;f[F>>2]=q;f[q>>2]=0;f[I+112>>2]=0;if(!C)V=d;else{d=C+12|0;f[d>>2]=(f[d>>2]|0)+1;V=f[j>>2]|0}if((V|0)<3){d=f[a+124>>2]|0;C=f[F>>2]|0;f[C>>2]=f[d>>2];f[C+4>>2]=f[d+4>>2]}else{f[A>>2]=0;WO(K,i)}f[I+116>>2]=G;f[I+120>>2]=H;f[I+124>>2]=f[z>>2];f[I+128>>2]=N;n[I+132>>2]=L;K=EQa(16)|0;A=K+4|0;f[A>>2]=1;f[K>>2]=47936;f[K+8>>2]=I;d=K;C=I;f[A>>2]=(f[A>>2]|0)+1;I=f[A>>2]|0;f[A>>2]=I+-1;if((I|0)==1){qg[f[(f[K>>2]|0)+8>>2]&1023](K);S=d;T=C}else{S=d;T=C}}while(0);N=X(f[s>>2]|0,f[z>>2]|0)|0;f[g>>2]=0;f[g+4>>2]=N;$Z(g,T,-1.0);do if(!(GJ(c,-1)|0)){T=EQa(1268)|0;f[T>>2]=47956;N=T+4|0;f[N>>2]=f[P>>2];V=T+8|0;U=r+4|0;x=f[U>>2]|0;f[V>>2]=x;w=T+12|0;y=r+8|0;f[w>>2]=f[y>>2];R=r+12|0;f[T+16>>2]=f[R>>2];f[T+20>>2]=f[r+16>>2];f[T+24>>2]=f[r+20>>2];f[T+28>>2]=f[r+24>>2];f[T+32>>2]=f[r+28>>2];f[T+36>>2]=f[r+32>>2];Q=f[r+36>>2]|0;f[T+40>>2]=Q;f[T+44>>2]=w;w=T+52|0;C=T+48|0;f[C>>2]=w;f[w>>2]=0;f[T+56>>2]=0;if(!Q)W=x;else{x=Q+12|0;f[x>>2]=(f[x>>2]|0)+1;W=f[U>>2]|0}if((W|0)<3){U=f[r+44>>2]|0;x=f[C>>2]|0;f[x>>2]=f[U>>2];f[x+4>>2]=f[U+4>>2]}else{f[V>>2]=0;WO(N,r)}N=T+60|0;f[N>>2]=f[t>>2];V=T+64|0;U=t+4|0;x=f[U>>2]|0;f[V>>2]=x;C=T+68|0;f[C>>2]=f[t+8>>2];f[T+72>>2]=f[t+12>>2];f[T+76>>2]=f[t+16>>2];f[T+80>>2]=f[t+20>>2];f[T+84>>2]=f[t+24>>2];f[T+88>>2]=f[t+28>>2];f[T+92>>2]=f[t+32>>2];Q=f[t+36>>2]|0;f[T+96>>2]=Q;f[T+100>>2]=C;C=T+108|0;w=T+104|0;f[w>>2]=C;f[C>>2]=0;f[T+112>>2]=0;if(!Q)Y=x;else{x=Q+12|0;f[x>>2]=(f[x>>2]|0)+1;Y=f[U>>2]|0}if((Y|0)<3){U=f[t+44>>2]|0;x=f[w>>2]|0;f[x>>2]=f[U>>2];f[x+4>>2]=f[U+4>>2]}else{f[V>>2]=0;WO(N,t)}N=T+116|0;f[N>>2]=f[i>>2];V=T+120|0;U=f[j>>2]|0;f[V>>2]=U;x=T+124|0;f[x>>2]=f[a+88>>2];f[T+128>>2]=f[a+92>>2];f[T+132>>2]=f[a+96>>2];f[T+136>>2]=f[a+100>>2];f[T+140>>2]=f[a+104>>2];f[T+144>>2]=f[a+108>>2];f[T+148>>2]=f[a+112>>2];w=f[a+116>>2]|0;f[T+152>>2]=w;f[T+156>>2]=x;x=T+164|0;Q=T+160|0;f[Q>>2]=x;f[x>>2]=0;f[T+168>>2]=0;if(!w)Z=U;else{U=w+12|0;f[U>>2]=(f[U>>2]|0)+1;Z=f[j>>2]|0}if((Z|0)<3){U=f[a+124>>2]|0;w=f[Q>>2]|0;f[w>>2]=f[U>>2];f[w+4>>2]=f[U+4>>2]}else{f[V>>2]=0;WO(N,i)}f[T+172>>2]=G;f[T+176>>2]=H;N=T+180|0;V=f[z>>2]|0;f[N>>2]=V;f[T+184>>2]=f[s>>2];U=T+188|0;w=T+196|0;f[U>>2]=w;Q=f[R>>2]|0;R=Q<<2;f[T+192>>2]=R;if(R>>>0>264){C=FQa(R>>>0>1073741823?-1:R<<2)|0;f[U>>2]=C;_=C}else _=w;f[T+1252>>2]=_;w=_+(Q<<2)|0;f[T+1256>>2]=w;C=w+(Q<<2)|0;f[T+1260>>2]=C;U=C+(Q<<2)|0;f[T+1264>>2]=U;R=f[x>>2]|0;L=1.0/+(G|0);a:do if((Q|0)>0){x=Q+-1|0;d=0;K=V;while(1){M=L*+(d|0)+-.5;I=~~M;A=I-(M<+(I|0)&1)|0;I=A+1|0;$=M-+(A|0);n[C+(d<<2)>>2]=$;n[U+(d<<2)>>2]=1.0-$;F=K+-1|0;q=X((A|0)>0?A:0,R)|0;f[_+(d<<2)>>2]=q;q=X((F|0)<(I|0)?F:I,R)|0;f[w+(d<<2)>>2]=q;if((d|0)==(x|0))break a;d=d+1|0;K=f[N>>2]|0}}while(0);N=EQa(16)|0;w=N+4|0;f[w>>2]=1;f[N>>2]=47976;f[N+8>>2]=T;R=N;U=T;f[w>>2]=(f[w>>2]|0)+1;C=f[w>>2]|0;f[w>>2]=C+-1;if((C|0)==1){qg[f[(f[N>>2]|0)+8>>2]&1023](N);aa=y;ba=R;ca=U}else{aa=y;ba=R;ca=U}}else{if((GJ(c,-1)|0)!=2){aa=r+8|0;ba=0;ca=0;break}U=EQa(1268)|0;f[U>>2]=47996;R=U+4|0;f[R>>2]=f[P>>2];N=U+8|0;C=r+4|0;w=f[C>>2]|0;f[N>>2]=w;V=U+12|0;Q=r+8|0;f[V>>2]=f[Q>>2];K=r+12|0;f[U+16>>2]=f[K>>2];f[U+20>>2]=f[r+16>>2];f[U+24>>2]=f[r+20>>2];f[U+28>>2]=f[r+24>>2];f[U+32>>2]=f[r+28>>2];f[U+36>>2]=f[r+32>>2];d=f[r+36>>2]|0;f[U+40>>2]=d;f[U+44>>2]=V;V=U+52|0;x=U+48|0;f[x>>2]=V;f[V>>2]=0;f[U+56>>2]=0;if(!d)da=w;else{w=d+12|0;f[w>>2]=(f[w>>2]|0)+1;da=f[C>>2]|0}if((da|0)<3){C=f[r+44>>2]|0;w=f[x>>2]|0;f[w>>2]=f[C>>2];f[w+4>>2]=f[C+4>>2]}else{f[N>>2]=0;WO(R,r)}R=U+60|0;f[R>>2]=f[t>>2];N=U+64|0;C=t+4|0;w=f[C>>2]|0;f[N>>2]=w;x=U+68|0;f[x>>2]=f[t+8>>2];f[U+72>>2]=f[t+12>>2];f[U+76>>2]=f[t+16>>2];f[U+80>>2]=f[t+20>>2];f[U+84>>2]=f[t+24>>2];f[U+88>>2]=f[t+28>>2];f[U+92>>2]=f[t+32>>2];d=f[t+36>>2]|0;f[U+96>>2]=d;f[U+100>>2]=x;x=U+108|0;V=U+104|0;f[V>>2]=x;f[x>>2]=0;f[U+112>>2]=0;if(!d)ea=w;else{w=d+12|0;f[w>>2]=(f[w>>2]|0)+1;ea=f[C>>2]|0}if((ea|0)<3){C=f[t+44>>2]|0;w=f[V>>2]|0;f[w>>2]=f[C>>2];f[w+4>>2]=f[C+4>>2]}else{f[N>>2]=0;WO(R,t)}R=U+116|0;f[R>>2]=f[i>>2];N=U+120|0;C=f[j>>2]|0;f[N>>2]=C;w=U+124|0;f[w>>2]=f[a+88>>2];f[U+128>>2]=f[a+92>>2];f[U+132>>2]=f[a+96>>2];f[U+136>>2]=f[a+100>>2];f[U+140>>2]=f[a+104>>2];f[U+144>>2]=f[a+108>>2];f[U+148>>2]=f[a+112>>2];V=f[a+116>>2]|0;f[U+152>>2]=V;f[U+156>>2]=w;w=U+164|0;d=U+160|0;f[d>>2]=w;f[w>>2]=0;f[U+168>>2]=0;if(!V)fa=C;else{C=V+12|0;f[C>>2]=(f[C>>2]|0)+1;fa=f[j>>2]|0}if((fa|0)<3){C=f[a+124>>2]|0;V=f[d>>2]|0;f[V>>2]=f[C>>2];f[V+4>>2]=f[C+4>>2]}else{f[N>>2]=0;WO(R,i)}f[U+172>>2]=G;f[U+176>>2]=H;R=U+180|0;N=f[z>>2]|0;f[R>>2]=N;f[U+184>>2]=f[s>>2];C=U+188|0;V=U+196|0;f[C>>2]=V;d=f[K>>2]|0;K=d<<2;f[U+192>>2]=K;if(K>>>0>264){x=FQa(K>>>0>1073741823?-1:K<<2)|0;f[C>>2]=x;ga=x}else ga=V;f[U+1252>>2]=ga;V=ga+(d<<2)|0;f[U+1256>>2]=V;x=V+(d<<2)|0;f[U+1260>>2]=x;C=x+(d<<2)|0;f[U+1264>>2]=C;K=(f[w>>2]|0)>>>1;L=1.0/+(G|0);b:do if((d|0)>0){w=d+-1|0;q=0;I=N;while(1){$=L*+(q|0)+-.5;F=~~$;A=F-($<+(F|0)&1)|0;F=A+1|0;M=$-+(A|0);n[x+(q<<2)>>2]=M;n[C+(q<<2)>>2]=1.0-M;o=I+-1|0;B=X((A|0)>0?A:0,K)|0;f[ga+(q<<2)>>2]=B;B=X((o|0)<(F|0)?o:F,K)|0;f[V+(q<<2)>>2]=B;if((q|0)==(w|0))break b;q=q+1|0;I=f[R>>2]|0}}while(0);R=EQa(16)|0;V=R+4|0;f[V>>2]=1;f[R>>2]=48016;f[R+8>>2]=U;K=R;C=U;f[V>>2]=(f[V>>2]|0)+1;x=f[V>>2]|0;f[V>>2]=x+-1;if((x|0)==1){qg[f[(f[R>>2]|0)+8>>2]&1023](R);aa=Q;ba=K;ca=C}else{aa=Q;ba=K;ca=C}}while(0);ga=f[aa>>2]|0;f[g>>2]=0;f[g+4>>2]=ga;$Z(g,ca,-1.0);ca=ba;if(ba|0?(g=ca+4|0,ga=f[g>>2]|0,f[g>>2]=ga+-1,(ga|0)==1):0)qg[f[(f[ba>>2]|0)+8>>2]&1023](ca);ca=S;if(S|0?(ba=ca+4|0,ga=f[ba>>2]|0,f[ba>>2]=ga+-1,(ga|0)==1):0)qg[f[(f[S>>2]|0)+8>>2]&1023](ca);ca=v+36|0;S=f[ca>>2]|0;if(S|0?(ga=S+12|0,S=f[ga>>2]|0,f[ga>>2]=S+-1,(S|0)==1):0)XO(v);f[ca>>2]=0;ca=v+16|0;S=v+4|0;f[ca>>2]=0;f[ca+4>>2]=0;f[ca+8>>2]=0;f[ca+12>>2]=0;if((f[S>>2]|0)>0){ca=f[v+40>>2]|0;ga=0;do{f[ca+(ga<<2)>>2]=0;ga=ga+1|0}while((ga|0)<(f[S>>2]|0))}S=f[v+44>>2]|0;if((S|0)!=(v+48|0))dX(S);S=t+36|0;v=f[S>>2]|0;if(v|0?(ga=v+12|0,v=f[ga>>2]|0,f[ga>>2]=v+-1,(v|0)==1):0)XO(t);f[S>>2]=0;S=t+16|0;v=t+4|0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;f[S+12>>2]=0;if((f[v>>2]|0)>0){S=f[t+40>>2]|0;ga=0;do{f[S+(ga<<2)>>2]=0;ga=ga+1|0}while((ga|0)<(f[v>>2]|0))}v=f[t+44>>2]|0;if((v|0)!=(t+48|0))dX(v);v=r+36|0;t=f[v>>2]|0;if(t|0?(ga=t+12|0,t=f[ga>>2]|0,f[ga>>2]=t+-1,(t|0)==1):0)XO(r);f[v>>2]=0;v=r+16|0;t=r+4|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;if((f[t>>2]|0)>0){v=f[O>>2]|0;O=0;do{f[v+(O<<2)>>2]=0;O=O+1|0}while((O|0)<(f[t>>2]|0))}t=f[r+44>>2]|0;if((t|0)!=(r+48|0))dX(t);if(!(f[h+4>>2]|0)){u=e;return}u=e;return}function b9(a,b){a=a|0;b=+b;p[a+8>>3]=b;return}function c9(a){a=a|0;return +(+p[a+8>>3])}function d9(a,b){a=a|0;b=b|0;f[a+16>>2]=f[b>>2];f[a+20>>2]=f[b+4>>2];return}function e9(a,b){a=a|0;b=b|0;var c=0;c=f[b+20>>2]|0;f[a>>2]=f[b+16>>2];f[a+4>>2]=c;return}function f9(a){a=a|0;var b=0,c=0,d=0,e=0;b=a+24|0;c=a+60|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+40|0;b=a+28|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+64>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=a+80|0;d=a+116|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+96|0;b=a+84|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)<=0)return;d=f[a+120>>2]|0;a=0;do{f[d+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[b>>2]|0));return}function g9(a){a=a|0;GQa(a);return}function h9(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function i9(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=47996;b=a+188|0;c=f[b>>2]|0;d=a+196|0;if((c|0)!=(d|0)){if(c|0)HQa(c);f[b>>2]=d;f[a+192>>2]=264}d=a+116|0;b=a+152|0;c=f[b>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(d);f[b>>2]=0;b=a+132|0;d=a+120|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[d>>2]|0)>0){b=f[a+156>>2]|0;c=0;do{f[b+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[d>>2]|0))}d=f[a+160>>2]|0;if((d|0)!=(a+164|0))dX(d);d=a+60|0;c=a+96|0;b=f[c>>2]|0;if(b|0?(e=b+12|0,b=f[e>>2]|0,f[e>>2]=b+-1,(b|0)==1):0)XO(d);f[c>>2]=0;c=a+76|0;d=a+64|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[d>>2]|0)>0){c=f[a+100>>2]|0;b=0;do{f[c+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(f[d>>2]|0))}d=f[a+104>>2]|0;if((d|0)!=(a+108|0))dX(d);d=a+4|0;b=a+40|0;c=f[b>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(d);f[b>>2]=0;b=a+20|0;d=a+8|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[d>>2]|0)>0){b=f[a+44>>2]|0;c=0;do{f[b+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[d>>2]|0))}d=f[a+48>>2]|0;if((d|0)==(a+52|0))return;dX(d);return}function j9(a){a=a|0;i9(a);GQa(a);return}function k9(a,b){a=a|0;b=b|0;var c=0.0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0,y=0,z=0.0,A=0,B=0,C=0,D=0,E=0.0,F=0.0;c=1.0/+(f[a+176>>2]|0);e=f[b>>2]|0;g=f[b+4>>2]|0;if((e|0)>=(g|0))return;b=f[a+20>>2]|0;h=f[f[a+48>>2]>>2]|0;i=f[a+76>>2]|0;k=f[f[a+104>>2]>>2]|0;l=(f[a+184>>2]|0)+-1|0;m=f[a+180>>2]|0;o=f[a+132>>2]|0;p=f[f[a+160>>2]>>2]|0;q=f[a+16>>2]|0;if((q|0)<=0)return;r=f[a+1252>>2]|0;s=f[a+1256>>2]|0;t=f[a+1264>>2]|0;u=f[a+1260>>2]|0;a=e;do{e=b+(X(h,a)|0)|0;v=i+(X(k,a)|0)|0;w=c*+(a|0)+-.5;x=~~w;y=x-(w<+(x|0)&1)|0;x=y+1|0;z=w-+(y|0);w=1.0-z;A=o+(X(X(m,(y|0)>0?y:0)|0,p)|0)|0;y=o+(X(X((l|0)<(x|0)?l:x,m)|0,p)|0)|0;x=0;do{B=j[e+(x<<1)>>1]|0;C=(f[r+(x<<2)>>2]|0)+B|0;D=(f[s+(x<<2)>>2]|0)+B|0;E=+n[t+(x<<2)>>2];F=+n[u+(x<<2)>>2];B=HEa(w*(E*+(j[A+(C<<1)>>1]|0)+F*+(j[A+(D<<1)>>1]|0))+z*(E*+(j[y+(C<<1)>>1]|0)+F*+(j[y+(D<<1)>>1]|0)))|0;d[v+(x<<1)>>1]=B>>>0<65536?B:(B|0)>0?65535:0;x=x+1|0}while((x|0)<(q|0));a=a+1|0}while((a|0)<(g|0));return}function l9(a){a=a|0;GQa(a);return}function m9(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function n9(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=47956;b=a+188|0;c=f[b>>2]|0;d=a+196|0;if((c|0)!=(d|0)){if(c|0)HQa(c);f[b>>2]=d;f[a+192>>2]=264}d=a+116|0;b=a+152|0;c=f[b>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(d);f[b>>2]=0;b=a+132|0;d=a+120|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[d>>2]|0)>0){b=f[a+156>>2]|0;c=0;do{f[b+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[d>>2]|0))}d=f[a+160>>2]|0;if((d|0)!=(a+164|0))dX(d);d=a+60|0;c=a+96|0;b=f[c>>2]|0;if(b|0?(e=b+12|0,b=f[e>>2]|0,f[e>>2]=b+-1,(b|0)==1):0)XO(d);f[c>>2]=0;c=a+76|0;d=a+64|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[d>>2]|0)>0){c=f[a+100>>2]|0;b=0;do{f[c+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(f[d>>2]|0))}d=f[a+104>>2]|0;if((d|0)!=(a+108|0))dX(d);d=a+4|0;b=a+40|0;c=f[b>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(d);f[b>>2]=0;b=a+20|0;d=a+8|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[d>>2]|0)>0){b=f[a+44>>2]|0;c=0;do{f[b+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[d>>2]|0))}d=f[a+48>>2]|0;if((d|0)==(a+52|0))return;dX(d);return}function o9(a){a=a|0;n9(a);GQa(a);return}function p9(a,c){a=a|0;c=c|0;var d=0.0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0.0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0.0,J=0,K=0,L=0;d=1.0/+(f[a+176>>2]|0);e=f[c>>2]|0;g=c+4|0;c=f[g>>2]|0;if((e|0)>=(c|0))return;i=a+20|0;j=a+48|0;k=a+76|0;l=a+104|0;m=a+184|0;o=a+180|0;p=a+132|0;q=a+160|0;r=a+16|0;s=a+1252|0;t=a+1256|0;u=a+1264|0;v=a+1260|0;a=e;e=c;c=f[r>>2]|0;while(1){w=(f[i>>2]|0)+(X(f[f[j>>2]>>2]|0,a)|0)|0;x=(f[k>>2]|0)+(X(f[f[l>>2]>>2]|0,a)|0)|0;y=d*+(a|0)+-.5;z=~~y;A=z-(y<+(z|0)&1)|0;z=A+1|0;B=y-+(A|0);y=1.0-B;C=(f[m>>2]|0)+-1|0;D=f[o>>2]|0;E=X(D,(A|0)>0?A:0)|0;A=f[p>>2]|0;F=f[f[q>>2]>>2]|0;G=A+(X(E,F)|0)|0;E=A+(X(X((C|0)<(z|0)?C:z,D)|0,F)|0)|0;if((c|0)>0){F=0;do{D=h[w+F>>0]|0;z=(f[(f[s>>2]|0)+(F<<2)>>2]|0)+D|0;C=(f[(f[t>>2]|0)+(F<<2)>>2]|0)+D|0;H=+n[(f[u>>2]|0)+(F<<2)>>2];I=+n[(f[v>>2]|0)+(F<<2)>>2];D=HEa(y*(H*+(h[G+z>>0]|0)+I*+(h[G+C>>0]|0))+B*(H*+(h[E+z>>0]|0)+I*+(h[E+C>>0]|0)))|0;b[x+F>>0]=D>>>0<256?D:(D|0)>0?255:0;F=F+1|0;J=f[r>>2]|0}while((F|0)<(J|0));K=J;L=f[g>>2]|0}else{K=c;L=e}a=a+1|0;if((a|0)>=(L|0))break;else{e=L;c=K}}return}function q9(a){a=a|0;GQa(a);return}function r9(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function s9(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=47916;b=a+60|0;c=a+96|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+76|0;b=a+64|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+100>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+104>>2]|0;if((b|0)!=(a+108|0))dX(b);b=a+4|0;d=a+40|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+20|0;b=a+8|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[a+44>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+48>>2]|0;if((b|0)==(a+52|0))return;dX(b);return}function t9(a){a=a|0;s9(a);GQa(a);return}function u9(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0.0;c=u;u=u+262224|0;e=c+262200|0;g=c+262144|0;h=c;i=f[b>>2]|0;k=(f[a+108>>2]|0)>>>1;l=b+4|0;if((i|0)>=(f[l>>2]|0)){u=c;return}b=a+124|0;m=a+116|0;o=a+120|0;p=e+4|0;q=e+8|0;r=e+12|0;s=a+4|0;t=a+52|0;v=g+16|0;w=g+44|0;x=a+128|0;y=a+132|0;z=g+36|0;A=g+4|0;B=g+40|0;C=g+48|0;D=(f[a+76>>2]|0)+(X(f[f[a+104>>2]>>2]|0,i)|0)|0;a=i;while(1){i=f[b>>2]|0;E=f[m>>2]|0;F=X(E,(a|0)%(i|0)|0)|0;f[e>>2]=F;F=f[o>>2]|0;G=X(F,(a|0)/(i|0)|0)|0;f[p>>2]=G;f[q>>2]=E;f[r>>2]=F;$O(g,s,e);FVa(h|0,0,262144)|0;F=f[r>>2]|0;E=(f[t>>2]|0)>>>1;G=f[v>>2]|0;i=F+-1|0;a:do if(F|0){H=f[q>>2]|0;I=H+-4|0;if((H|0)<4){J=(H|0)>0;K=G;L=i;while(1){if(J){M=0;do{N=h+((j[K+(M<<1)>>1]|0)<<2)|0;f[N>>2]=(f[N>>2]|0)+1;M=M+1|0}while((M|0)!=(H|0))}if(!L)break a;else{K=K+(E<<1)|0;L=L+-1|0}}}L=H&-4;K=(L|0)<(H|0);J=G;M=i;while(1){N=0;do{O=j[J+((N|1)<<1)>>1]|0;P=h+((j[J+(N<<1)>>1]|0)<<2)|0;f[P>>2]=(f[P>>2]|0)+1;P=h+(O<<2)|0;f[P>>2]=(f[P>>2]|0)+1;P=j[J+((N|3)<<1)>>1]|0;O=h+((j[J+((N|2)<<1)>>1]|0)<<2)|0;f[O>>2]=(f[O>>2]|0)+1;O=h+(P<<2)|0;f[O>>2]=(f[O>>2]|0)+1;N=N+4|0}while((N|0)<=(I|0));if(K){N=L;do{O=h+((j[J+(N<<1)>>1]|0)<<2)|0;f[O>>2]=(f[O>>2]|0)+1;N=N+1|0}while((N|0)!=(H|0))}if(!M)break;else{J=J+(E<<1)|0;M=M+-1|0}}}while(0);E=f[x>>2]|0;if((E|0)>0){i=0;G=0;while(1){F=h+(i<<2)|0;M=f[F>>2]|0;if((M|0)>(E|0)){f[F>>2]=E;Q=M+G-E|0}else Q=G;i=i+1|0;if((i|0)==65536)break;else G=Q}G=(Q|0)/65536|0;i=G<<16;E=0;do{M=h+(E<<2)|0;f[M>>2]=(f[M>>2]|0)+G;E=E+1|0}while((E|0)!=65536);E=Q-i|0;if(E|0?(G=65536/(E|0)|0,M=(G|0)>1?G:1,(E|0)>0):0){G=0;F=E;while(1){E=h+(G<<2)|0;f[E>>2]=(f[E>>2]|0)+1;G=G+M|0;if(!((F|0)>1&(G|0)<65536))break;else F=F+-1|0}}}R=+n[y>>2];F=0;G=0;do{F=(f[h+(G<<2)>>2]|0)+F|0;M=HEa(R*+(F|0))|0;d[D+(G<<1)>>1]=M>>>0<65536?M:(M|0)>0?65535:0;G=G+1|0}while((G|0)!=65536);G=f[z>>2]|0;if(G|0?(F=G+12|0,G=f[F>>2]|0,f[F>>2]=G+-1,(G|0)==1):0)XO(g);f[z>>2]=0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;if((f[A>>2]|0)>0){G=f[B>>2]|0;F=0;do{f[G+(F<<2)>>2]=0;F=F+1|0}while((F|0)<(f[A>>2]|0))}F=f[w>>2]|0;if((F|0)!=(C|0))dX(F);a=a+1|0;if((a|0)>=(f[l>>2]|0))break;else D=D+(k<<1)|0}u=c;return}function v9(a){a=a|0;GQa(a);return}function w9(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function x9(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=47876;b=a+60|0;c=a+96|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+76|0;b=a+64|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+100>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+104>>2]|0;if((b|0)!=(a+108|0))dX(b);b=a+4|0;d=a+40|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+20|0;b=a+8|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[a+44>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+48>>2]|0;if((b|0)==(a+52|0))return;dX(b);return}function y9(a){a=a|0;x9(a);GQa(a);return}function z9(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;d=u;u=u+1104|0;e=d+1080|0;g=d+1024|0;i=d;j=f[c>>2]|0;k=f[a+108>>2]|0;l=c+4|0;if((j|0)>=(f[l>>2]|0)){u=d;return}c=a+124|0;m=a+116|0;o=a+120|0;p=e+4|0;q=e+8|0;r=e+12|0;s=a+4|0;t=a+52|0;v=g+16|0;w=g+44|0;x=a+128|0;y=a+132|0;z=g+36|0;A=g+4|0;B=g+40|0;C=g+48|0;D=(f[a+76>>2]|0)+(X(f[f[a+104>>2]>>2]|0,j)|0)|0;a=j;while(1){j=f[c>>2]|0;E=f[m>>2]|0;F=X(E,(a|0)%(j|0)|0)|0;f[e>>2]=F;F=f[o>>2]|0;G=X(F,(a|0)/(j|0)|0)|0;f[p>>2]=G;f[q>>2]=E;f[r>>2]=F;$O(g,s,e);FVa(i|0,0,1024)|0;F=f[r>>2]|0;E=f[t>>2]|0;if(F|0){G=f[q>>2]|0;j=(G|0)<4;H=G+-4|0;I=f[v>>2]|0;J=F;while(1){J=J+-1|0;if(j)K=0;else{F=0;while(1){L=h[I+(F|1)>>0]|0;M=i+((h[I+F>>0]|0)<<2)|0;f[M>>2]=(f[M>>2]|0)+1;M=i+(L<<2)|0;f[M>>2]=(f[M>>2]|0)+1;M=h[I+(F|3)>>0]|0;L=i+((h[I+(F|2)>>0]|0)<<2)|0;f[L>>2]=(f[L>>2]|0)+1;L=i+(M<<2)|0;f[L>>2]=(f[L>>2]|0)+1;L=F+4|0;if((L|0)>(H|0)){K=L;break}else F=L}}if((K|0)<(G|0)){F=K;do{L=i+((h[I+F>>0]|0)<<2)|0;f[L>>2]=(f[L>>2]|0)+1;F=F+1|0}while((F|0)<(G|0))}if(!J)break;else I=I+E|0}}E=f[x>>2]|0;if((E|0)>0){I=0;J=0;while(1){G=i+(I<<2)|0;H=f[G>>2]|0;if((H|0)>(E|0)){f[G>>2]=E;N=H+J-E|0}else N=J;I=I+1|0;if((I|0)==256)break;else J=N}J=(N|0)/256|0;I=J<<8;E=0;do{H=i+(E<<2)|0;f[H>>2]=(f[H>>2]|0)+J;E=E+1|0}while((E|0)!=256);E=N-I|0;if((E|0)!=0?(J=256/(E|0)|0,H=(J|0)>1?J:1,(E|0)>0):0){J=0;G=E;while(1){E=i+(J<<2)|0;f[E>>2]=(f[E>>2]|0)+1;J=J+H|0;if(!((G|0)>1&(J|0)<256)){O=0;P=0;break}else G=G+-1|0}}else{O=0;P=0}}else{O=0;P=0}do{O=(f[i+(P<<2)>>2]|0)+O|0;G=HEa(+n[y>>2]*+(O|0))|0;b[D+P>>0]=G>>>0<256?G:(G|0)>0?255:0;P=P+1|0}while((P|0)!=256);G=f[z>>2]|0;if(G|0?(J=G+12|0,G=f[J>>2]|0,f[J>>2]=G+-1,(G|0)==1):0)XO(g);f[z>>2]=0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;if((f[A>>2]|0)>0){G=f[B>>2]|0;J=0;do{f[G+(J<<2)>>2]=0;J=J+1|0}while((J|0)<(f[A>>2]|0))}J=f[w>>2]|0;if((J|0)!=(C|0))dX(J);a=a+1|0;if((a|0)>=(f[l>>2]|0))break;else D=D+k|0}u=d;return}function A9(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,t=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0,F=0,G=0;e=u;u=u+80|0;g=e+72|0;h=e+16|0;i=e+8|0;j=e;yV(g,48028);do if((HJ(a)|0)==65536){k=f[a+4>>2]|0;f[h>>2]=f[k>>2];l=h+4|0;m=k+4|0;f[l>>2]=f[m>>2];o=h+8|0;f[o>>2]=f[k+8>>2];f[h+12>>2]=f[k+12>>2];f[h+16>>2]=f[k+16>>2];f[h+20>>2]=f[k+20>>2];f[h+24>>2]=f[k+24>>2];f[h+28>>2]=f[k+28>>2];f[h+32>>2]=f[k+32>>2];p=f[k+36>>2]|0;f[h+36>>2]=p;f[h+40>>2]=o;o=h+48|0;q=h+44|0;f[q>>2]=o;f[o>>2]=0;f[h+52>>2]=0;if(p|0){o=p+12|0;f[o>>2]=(f[o>>2]|0)+1}if((f[m>>2]|0)<3){m=f[k+44>>2]|0;o=f[q>>2]|0;f[o>>2]=f[m>>2];f[o+4>>2]=f[m+4>>2];break}else{f[l>>2]=0;WO(h,k);break}}else DJ(h,a,-1);while(0);a=jP(h,2,-1,1)|0;k=f[h>>2]&7;if(!((a|0)>-1&(k|1|0)==5)){f[i>>2]=0;f[i+4>>2]=0;l=JV(i,40)|0;m=208094;o=l+40|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(o|0));EP(-215,i,208135,208154,158);KV(i)}m=c+4|0;n[m>>2]=0.0;n[c>>2]=0.0;n[d>>2]=0.0;a:do if(a|0){l=(k|0)==5;o=f[h+16>>2]|0;switch(a|0){case 1:{q=f[o>>2]|0;if(l){r=q;t=f[o+4>>2]|0}else{p=(n[s>>2]=+(q|0),f[s>>2]|0);r=p;t=(n[s>>2]=+(f[o+4>>2]|0),f[s>>2]|0)}f[c>>2]=r;f[m>>2]=t;n[d>>2]=9.999999747378752e-05;break a;break}case 2:{if(l){v=+n[o+12>>2];w=+n[o+4>>2];x=+n[o+8>>2];y=+n[o>>2]}else{v=+(f[o+12>>2]|0);w=+(f[o+4>>2]|0);x=+(f[o+8>>2]|0);y=+(f[o>>2]|0)}n[c>>2]=(y+x)*.5;n[m>>2]=(w+v)*.5;z=y-x;A=w-v;B=+L(+(A*A+z*z))*.5+9.999999747378752e-05;n[d>>2]=B;break a;break}default:{n[i>>2]=0.0;p=i+4|0;n[p>>2]=0.0;n[j>>2]=0.0;b:do if(l){B=+n[o+8>>2];z=(+n[o>>2]+B)*.5;n[i>>2]=z;q=o+4|0;A=+n[o+12>>2];C=(+n[q>>2]+A)*.5;n[p>>2]=C;D=+n[o>>2]-B;B=+n[q>>2]-A;A=+L(+(D*D+B*B))*.5+9.999999747378752e-05;n[j>>2]=A;if((a|0)>2){q=2;B=z;z=C;C=A;while(1){A=+n[o+(q<<3)>>2]-B;D=+n[o+(q<<3)+4>>2]-z;if(!(C>+L(+(A*A+D*D))))B9(o,q,i,j);E=q+1|0;if((E|0)==(a|0))break b;q=E;B=+n[i>>2];z=+n[p>>2];C=+n[j>>2]}}}else{q=f[o>>2]|0;E=f[o+8>>2]|0;C=+(E+q|0)*.5;n[i>>2]=C;F=f[o+4>>2]|0;G=f[o+12>>2]|0;z=+(G+F|0)*.5;n[p>>2]=z;B=+(q-E|0);D=+(F-G|0);A=+L(+(B*B+D*D))*.5+9.999999747378752e-05;n[j>>2]=A;if((a|0)>2){G=2;D=C;C=z;z=A;while(1){A=+(f[o+(G<<3)>>2]|0)-D;B=+(f[o+(G<<3)+4>>2]|0)-C;if(!(z>+L(+(A*A+B*B))))C9(o,G,i,j);F=G+1|0;if((F|0)==(a|0))break b;G=F;D=+n[i>>2];C=+n[p>>2];z=+n[j>>2]}}}while(0);f[c>>2]=f[i>>2];f[m>>2]=f[p>>2];f[d>>2]=f[j>>2];break a}}}while(0);j=h+36|0;d=f[j>>2]|0;if(d|0?(m=d+12|0,d=f[m>>2]|0,f[m>>2]=d+-1,(d|0)==1):0)XO(h);f[j>>2]=0;j=h+16|0;d=h+4|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;if((f[d>>2]|0)>0){j=f[h+40>>2]|0;m=0;do{f[j+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[d>>2]|0))}d=f[h+44>>2]|0;if((d|0)!=(h+48|0))dX(d);if(!(f[g+4>>2]|0)){u=e;return}u=e;return}function B9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0.0,j=0.0,k=0.0,l=0,m=0.0,o=0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0;e=a+(b<<3)|0;n[c>>2]=(+n[a>>2]+ +n[e>>2])*.5;f=a+4|0;g=a+(b<<3)+4|0;h=c+4|0;n[h>>2]=(+n[f>>2]+ +n[g>>2])*.5;i=+n[a>>2]-+n[e>>2];j=+n[f>>2]-+n[g>>2];k=+L(+(i*i+j*j))*.5+9.999999747378752e-05;n[d>>2]=k;if((b|0)>1){l=1;m=k}else return;while(1){f=a+(l<<3)|0;k=+n[f>>2];o=a+(l<<3)+4|0;j=+n[o>>2];i=+n[c>>2]-k;p=+n[h>>2]-j;if(+L(+(i*i+p*p))>2]=(k+ +n[e>>2])*.5;n[h>>2]=(j+ +n[g>>2])*.5;j=+n[f>>2]-+n[e>>2];k=+n[o>>2]-+n[g>>2];p=+L(+(j*j+k*k))*.5+9.999999747378752e-05;n[d>>2]=p;r=0;k=p;while(1){p=+n[a+(r<<3)>>2];j=+n[a+(r<<3)+4>>2];i=+n[c>>2]-p;s=+n[h>>2]-j;if(+L(+(i*i+s*s))>2];i=+n[g>>2];u=+n[f>>2];v=+n[o>>2];w=u-s;x=v-i;y=p-s;z=j-i;A=w*((s+u)*.5)+x*((i+v)*.5);v=y*((p+s)*.5)+z*((j+i)*.5);j=z*w-y*x;p=(z*A-x*v)/j;x=(w*v-y*A)/j;n[c>>2]=p;n[h>>2]=x;j=p-s;s=x-i;i=+L(+(j*j+s*s))+9.999999747378752e-05;n[d>>2]=i;t=i}r=r+1|0;if((r|0)==(l|0)){q=t;break}else k=t}}l=l+1|0;if((l|0)==(b|0))break;else m=q}return}function C9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;e=f[a>>2]|0;g=f[a+(b<<3)>>2]|0;n[c>>2]=+(g+e|0)*.5;h=f[a+4>>2]|0;i=f[a+(b<<3)+4>>2]|0;j=c+4|0;n[j>>2]=+(i+h|0)*.5;k=+(e-g|0);l=+(h-i|0);m=+L(+(k*k+l*l))*.5+9.999999747378752e-05;n[d>>2]=m;if((b|0)<=1)return;l=+(g|0);k=+(i|0);h=1;o=m;while(1){e=f[a+(h<<3)>>2]|0;m=+(e|0);p=f[a+(h<<3)+4>>2]|0;q=+(p|0);r=+n[c>>2]-m;s=+n[j>>2]-q;if(+L(+(r*r+s*s))>2]=+(g+e|0)*.5;n[j>>2]=+(i+p|0)*.5;s=+(e-g|0);r=+(p-i|0);u=+L(+(s*s+r*r))*.5+9.999999747378752e-05;n[d>>2]=u;r=m-l;s=q-k;v=r*((m+l)*.5)+s*((q+k)*.5);p=0;q=u;while(1){u=+(f[a+(p<<3)>>2]|0);m=+(f[a+(p<<3)+4>>2]|0);w=+n[c>>2]-u;x=+n[j>>2]-m;if(+L(+(w*w+x*x))>2]=u;n[j>>2]=w;m=u-l;u=w-k;w=+L(+(m*m+u*u))+9.999999747378752e-05;n[d>>2]=w;y=w}p=p+1|0;if((p|0)==(h|0)){t=y;break}else q=y}}h=h+1|0;if((h|0)==(b|0))break;else o=t}return}function D9(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0.0,q=0.0,r=0.0,t=0.0,v=0.0,w=0.0,x=0.0;d=u;u=u+80|0;e=d+64|0;g=d+8|0;h=d;yV(e,48048);do if((HJ(a)|0)==65536){i=f[a+4>>2]|0;f[g>>2]=f[i>>2];j=g+4|0;k=i+4|0;f[j>>2]=f[k>>2];l=g+8|0;f[l>>2]=f[i+8>>2];f[g+12>>2]=f[i+12>>2];f[g+16>>2]=f[i+16>>2];f[g+20>>2]=f[i+20>>2];f[g+24>>2]=f[i+24>>2];f[g+28>>2]=f[i+28>>2];f[g+32>>2]=f[i+32>>2];m=f[i+36>>2]|0;f[g+36>>2]=m;f[g+40>>2]=l;l=g+48|0;o=g+44|0;f[o>>2]=l;f[l>>2]=0;f[g+52>>2]=0;if(m|0){l=m+12|0;f[l>>2]=(f[l>>2]|0)+1}if((f[k>>2]|0)<3){k=f[i+44>>2]|0;l=f[o>>2]|0;f[l>>2]=f[k>>2];f[l+4>>2]=f[k+4>>2];break}else{f[j>>2]=0;WO(g,i);break}}else DJ(g,a,-1);while(0);a=jP(g,2,-1,1)|0;i=f[g>>2]&7;if(!((a|0)>-1&(i|1|0)==5)){f[h>>2]=0;f[h+4>>2]=0;j=JV(h,40)|0;k=208094;l=j+40|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-215,h,208284,208154,237);KV(h)}if((a|0)>=2){h=c?a+-1|0:0;c=f[g+16>>2]|0;if((i|0)==5){p=0.0;i=0;k=f[c+(h<<3)>>2]|0;j=f[c+(h<<3)+4>>2]|0;while(1){l=k;k=f[c+(i<<3)>>2]|0;q=(f[s>>2]=k,+n[s>>2]);o=j;j=f[c+(i<<3)+4>>2]|0;r=(f[s>>2]=j,+n[s>>2]);t=q-(f[s>>2]=l,+n[s>>2]);q=r-(f[s>>2]=o,+n[s>>2]);r=p+ +L(+(q*q+t*t));i=i+1|0;if((i|0)==(a|0)){v=r;break}else p=r}}else{p=0.0;i=0;r=+(f[c+(h<<3)>>2]|0);t=+(f[c+(h<<3)+4>>2]|0);while(1){q=r;r=+(f[c+(i<<3)>>2]|0);w=t;t=+(f[c+(i<<3)+4>>2]|0);x=r-q;q=t-w;w=p+ +L(+(q*q+x*x));i=i+1|0;if((i|0)==(a|0)){v=w;break}else p=w}}}else v=0.0;a=g+36|0;i=f[a>>2]|0;if(i|0?(c=i+12|0,i=f[c>>2]|0,f[c>>2]=i+-1,(i|0)==1):0)XO(g);f[a>>2]=0;a=g+16|0;i=g+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if((f[i>>2]|0)>0){a=f[g+40>>2]|0;c=0;do{f[a+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[i>>2]|0))}i=f[g+44>>2]|0;if((i|0)!=(g+48|0))dX(i);if(!(f[e+4>>2]|0)){u=d;return +v}u=d;return +v}function E9(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0.0,q=0.0,r=0,t=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;d=u;u=u+80|0;e=d+64|0;g=d+8|0;h=d;yV(e,48068);do if((HJ(a)|0)==65536){i=f[a+4>>2]|0;f[g>>2]=f[i>>2];j=g+4|0;k=i+4|0;f[j>>2]=f[k>>2];l=g+8|0;f[l>>2]=f[i+8>>2];f[g+12>>2]=f[i+12>>2];f[g+16>>2]=f[i+16>>2];f[g+20>>2]=f[i+20>>2];f[g+24>>2]=f[i+24>>2];f[g+28>>2]=f[i+28>>2];f[g+32>>2]=f[i+32>>2];m=f[i+36>>2]|0;f[g+36>>2]=m;f[g+40>>2]=l;l=g+48|0;o=g+44|0;f[o>>2]=l;f[l>>2]=0;f[g+52>>2]=0;if(m|0){l=m+12|0;f[l>>2]=(f[l>>2]|0)+1}if((f[k>>2]|0)<3){k=f[i+44>>2]|0;l=f[o>>2]|0;f[l>>2]=f[k>>2];f[l+4>>2]=f[k+4>>2];break}else{f[j>>2]=0;WO(g,i);break}}else DJ(g,a,-1);while(0);a=jP(g,2,-1,1)|0;i=f[g>>2]&7;if(!((a|0)>-1&(i|1|0)==5)){f[h>>2]=0;f[h+4>>2]=0;j=JV(h,42)|0;k=208337;l=j+42|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-215,h,208380,208154,272);KV(h)}if(!a)p=0.0;else{h=(i|0)==5;i=f[g+16>>2]|0;k=a+-1|0;if(h){j=f[i+(k<<3)+4>>2]|0;q=+n[i+(k<<3)>>2];r=j;t=(f[s>>2]=j,+n[s>>2])}else{v=+(f[i+(k<<3)+4>>2]|0);q=+(f[i+(k<<3)>>2]|0);r=(n[s>>2]=v,f[s>>2]|0);t=v}if((a|0)>0)if(h){v=0.0;h=0;k=r;w=q;while(1){x=w;w=+n[i+(h<<3)>>2];r=k;k=f[i+(h<<3)+4>>2]|0;y=x*(f[s>>2]=k,+n[s>>2]);x=v+(y-(f[s>>2]=r,+n[s>>2])*w);h=h+1|0;if((h|0)==(a|0)){z=x;break}else v=x}}else{v=0.0;h=0;w=q;q=t;while(1){t=w;w=+(f[i+(h<<3)>>2]|0);x=q;q=+(f[i+(h<<3)+4>>2]|0);y=v+(t*q-x*w);h=h+1|0;if((h|0)==(a|0)){z=y;break}else v=y}}else z=0.0;v=z*.5;z=+K(+v);p=c?v:z}c=g+36|0;a=f[c>>2]|0;if(a|0?(h=a+12|0,a=f[h>>2]|0,f[h>>2]=a+-1,(a|0)==1):0)XO(g);f[c>>2]=0;c=g+16|0;a=g+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[a>>2]|0)>0){c=f[g+40>>2]|0;h=0;do{f[c+(h<<2)>>2]=0;h=h+1|0}while((h|0)<(f[a>>2]|0))}a=f[g+44>>2]|0;if((a|0)!=(g+48|0))dX(a);if(!(f[e+4>>2]|0)){u=d;return +p}u=d;return +p}function F9(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,M=0,N=0,P=0,Q=0,R=0,S=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0,ta=0.0,ua=0.0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0.0,Ua=0.0,Va=0.0,Wa=0,Xa=0.0;d=u;u=u+2592|0;e=d+2584|0;g=d+2528|0;h=d+2232|0;i=d+2192|0;j=d+1096|0;k=d;l=d+2472|0;m=d+2416|0;o=d+2360|0;q=d+2304|0;r=d+2288|0;s=d+2272|0;yV(e,48088);do if((HJ(c)|0)==65536){t=f[c+4>>2]|0;f[g>>2]=f[t>>2];v=g+4|0;w=t+4|0;f[v>>2]=f[w>>2];x=g+8|0;f[x>>2]=f[t+8>>2];f[g+12>>2]=f[t+12>>2];f[g+16>>2]=f[t+16>>2];f[g+20>>2]=f[t+20>>2];f[g+24>>2]=f[t+24>>2];f[g+28>>2]=f[t+28>>2];f[g+32>>2]=f[t+32>>2];y=f[t+36>>2]|0;f[g+36>>2]=y;f[g+40>>2]=x;x=g+48|0;z=g+44|0;f[z>>2]=x;f[x>>2]=0;f[g+52>>2]=0;if(y|0){x=y+12|0;f[x>>2]=(f[x>>2]|0)+1}if((f[w>>2]|0)<3){w=f[t+44>>2]|0;x=f[z>>2]|0;f[x>>2]=f[w>>2];f[x+4>>2]=f[w+4>>2];break}else{f[v>>2]=0;WO(g,t);break}}else DJ(g,c,-1);while(0);c=jP(g,2,-1,1)|0;t=f[g>>2]&7;if(!((c|0)>-1&(t|1|0)==5)){f[h>>2]=0;f[h+4>>2]=0;A=JV(h,36)|0;B=208437;C=A+36|0;do{b[A>>0]=b[B>>0]|0;A=A+1|0;B=B+1|0}while((A|0)<(C|0));EP(-215,h,208474,208154,305);KV(h)};f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;if((c|0)<5){f[h>>2]=0;f[h+4>>2]=0;A=JV(h,52)|0;B=208485;C=A+52|0;do{b[A>>0]=b[B>>0]|0;A=A+1|0;B=B+1|0}while((A|0)<(C|0));EP(-201,h,208474,208154,310);KV(h)}A=h;C=A+40|0;do{f[A>>2]=0;A=A+4|0}while((A|0)<(C|0));A=i;C=A+40|0;do{f[A>>2]=0;A=A+4|0}while((A|0)<(C|0));A=(t|0)==5;t=g+16|0;C=f[t>>2]|0;B=g+44|0;v=c*5|0;w=j+8|0;f[j>>2]=w;x=j+4|0;f[x>>2]=v;if(v>>>0>136){z=FQa(v>>>0>536870911?-1:v<<3)|0;f[j>>2]=z;D=z}else D=w;z=k+8|0;f[k>>2]=z;v=k+4|0;f[v>>2]=c;if(c>>>0>136){y=FQa(c>>>0>536870911?-1:c<<3)|0;f[k>>2]=y;E=y}else E=z;y=l+4|0;f[y>>2]=2;F=l+8|0;f[F>>2]=c;G=l+12|0;f[G>>2]=5;H=l+16|0;f[H>>2]=D;I=l+20|0;f[I>>2]=D;J=l+24|0;M=l+28|0;N=l+40|0;P=J+8|0;f[P>>2]=0;f[P+4>>2]=0;f[N>>2]=F;P=l+48|0;Q=l+44|0;f[Q>>2]=P;f[l>>2]=1124024326;f[P>>2]=40;f[l+52>>2]=8;R=D+((f[F>>2]|0)*5<<3)|0;f[M>>2]=R;f[J>>2]=R+-40+40;R=m+4|0;f[R>>2]=2;S=m+8|0;f[S>>2]=c;U=m+12|0;f[U>>2]=1;V=m+16|0;f[V>>2]=E;W=m+20|0;f[W>>2]=E;X=m+24|0;Y=m+28|0;Z=m+40|0;_=X+8|0;f[_>>2]=0;f[_+4>>2]=0;f[Z>>2]=S;_=m+48|0;$=m+44|0;f[$>>2]=_;f[m>>2]=1124024326;f[_>>2]=8;f[m+52>>2]=8;aa=E+(f[S>>2]<<3)|0;f[Y>>2]=aa;f[X>>2]=aa+-8+8;aa=o+4|0;f[aa>>2]=2;ba=o+8|0;f[ba>>2]=5;ca=o+12|0;f[ca>>2]=1;da=o+16|0;f[da>>2]=h;ea=o+20|0;f[ea>>2]=h;fa=o+24|0;ga=o+28|0;ha=o+40|0;ia=fa+8|0;f[ia>>2]=0;f[ia+4>>2]=0;f[ha>>2]=ba;ia=o+48|0;ja=o+44|0;f[ja>>2]=ia;f[o>>2]=1124024326;f[ia>>2]=8;f[o+52>>2]=8;f[ga>>2]=h+40;f[fa>>2]=h+40;ka=(c|0)>0;if(ka){if(A){la=0;ma=0.0;na=0.0;while(1){oa=ma+ +n[C+(la<<3)>>2];pa=na+ +n[C+(la<<3)+4>>2];la=la+1|0;if((la|0)==(c|0)){qa=oa;ra=pa;break}else{ma=oa;na=pa}}}else{la=0;na=0.0;ma=0.0;while(1){pa=na+ +(f[C+(la<<3)>>2]|0);oa=ma+ +(f[C+(la<<3)+4>>2]|0);la=la+1|0;if((la|0)==(c|0)){qa=pa;ra=oa;break}else{na=pa;ma=oa}}}ma=+(c|0);na=qa/ma;qa=ra/ma;if(ka)if(A){la=0;do{ma=+n[C+(la<<3)>>2]-na;ra=+n[C+(la<<3)+4>>2]-qa;p[E+(la<<3)>>3]=1.0e4;oa=ma;sa=la*5|0;p[D+(sa<<3)>>3]=-(oa*oa);ma=ra;p[D+(sa+1<<3)>>3]=-(ma*ma);p[D+(sa+2<<3)>>3]=-(ma*oa);p[D+(sa+3<<3)>>3]=oa;p[D+(sa+4<<3)>>3]=ma;la=la+1|0}while((la|0)!=(c|0));ta=na;ua=qa}else{la=0;do{ma=+(f[C+(la<<3)>>2]|0)-na;oa=+(f[C+(la<<3)+4>>2]|0)-qa;p[E+(la<<3)>>3]=1.0e4;ra=ma;sa=la*5|0;p[D+(sa<<3)>>3]=-(ra*ra);ma=oa;p[D+(sa+1<<3)>>3]=-(ma*ma);p[D+(sa+2<<3)>>3]=-(ma*ra);p[D+(sa+3<<3)>>3]=ra;p[D+(sa+4<<3)>>3]=ma;la=la+1|0}while((la|0)!=(c|0));ta=na;ua=qa}else{ta=na;ua=qa}}else{qa=+(c|0);ta=0.0/qa;ua=0.0/qa}f[q+8>>2]=0;f[q+12>>2]=0;f[q>>2]=16842752;f[q+4>>2]=l;f[r+8>>2]=0;f[r+12>>2]=0;f[r>>2]=16842752;f[r+4>>2]=m;la=s+8|0;f[la>>2]=0;f[la+4>>2]=0;f[s>>2]=33619968;f[s+4>>2]=o;UR(q,r,s,1)|0;la=q+4|0;f[la>>2]=2;sa=q+8|0;f[sa>>2]=2;va=q+12|0;f[va>>2]=2;wa=q+16|0;f[wa>>2]=D;xa=q+20|0;f[xa>>2]=D;ya=q+24|0;za=q+28|0;Aa=q+40|0;Ba=ya+8|0;f[Ba>>2]=0;f[Ba+4>>2]=0;f[Aa>>2]=sa;Ba=q+48|0;Ca=q+44|0;f[Ca>>2]=Ba;f[q>>2]=1124024326;f[Ba>>2]=16;f[q+52>>2]=8;Da=D+(f[sa>>2]<<1<<3)|0;f[za>>2]=Da;f[ya>>2]=Da+-16+16;Da=q+36|0;Ea=l+36|0;Fa=f[Ea>>2]|0;if(Fa|0?(Ga=Fa+12|0,Fa=f[Ga>>2]|0,f[Ga>>2]=Fa+-1,(Fa|0)==1):0)XO(l);f[Ea>>2]=0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;if((f[y>>2]|0)>0){Fa=f[N>>2]|0;Ga=0;do{f[Fa+(Ga<<2)>>2]=0;Ga=Ga+1|0;Ha=f[y>>2]|0}while((Ga|0)<(Ha|0));f[l>>2]=f[q>>2];if((Ha|0)<3)Ia=33;else Ia=35}else{f[l>>2]=f[q>>2];Ia=33}if((Ia|0)==33){Ha=f[la>>2]|0;if((Ha|0)<3){f[y>>2]=Ha;f[F>>2]=f[sa>>2];f[G>>2]=f[va>>2];va=f[Ca>>2]|0;sa=f[Q>>2]|0;f[sa>>2]=f[va>>2];f[sa+4>>2]=f[va+4>>2]}else Ia=35}if((Ia|0)==35)WO(l,q);f[H>>2]=f[wa>>2];f[I>>2]=f[xa>>2];f[J>>2]=f[ya>>2];f[M>>2]=f[za>>2];za=l+32|0;f[za>>2]=f[q+32>>2];ya=f[Da>>2]|0;f[Ea>>2]=ya;if(ya|0?(xa=ya+12|0,ya=f[xa>>2]|0,f[xa>>2]=ya+-1,(ya|0)==1):0)XO(q);f[Da>>2]=0;f[wa>>2]=0;f[wa+4>>2]=0;f[wa+8>>2]=0;f[wa+12>>2]=0;if((f[la>>2]|0)>0){wa=f[Aa>>2]|0;Aa=0;do{f[wa+(Aa<<2)>>2]=0;Aa=Aa+1|0}while((Aa|0)<(f[la>>2]|0))}la=f[Ca>>2]|0;if((la|0)!=(Ba|0))dX(la);la=q+4|0;f[la>>2]=2;Ba=q+8|0;f[Ba>>2]=2;Ca=q+12|0;f[Ca>>2]=1;Aa=q+16|0;f[Aa>>2]=E;wa=q+20|0;f[wa>>2]=E;Da=q+24|0;ya=q+28|0;xa=q+40|0;va=Da+8|0;f[va>>2]=0;f[va+4>>2]=0;f[xa>>2]=Ba;va=q+48|0;sa=q+44|0;f[sa>>2]=va;f[q>>2]=1124024326;f[va>>2]=8;f[q+52>>2]=8;Ha=E+(f[Ba>>2]<<3)|0;f[ya>>2]=Ha;f[Da>>2]=Ha+-8+8;Ha=q+36|0;Ga=m+36|0;Fa=f[Ga>>2]|0;if(Fa|0?(Ja=Fa+12|0,Fa=f[Ja>>2]|0,f[Ja>>2]=Fa+-1,(Fa|0)==1):0)XO(m);f[Ga>>2]=0;f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;f[V+12>>2]=0;if((f[R>>2]|0)>0){Fa=f[Z>>2]|0;Ja=0;do{f[Fa+(Ja<<2)>>2]=0;Ja=Ja+1|0;Ka=f[R>>2]|0}while((Ja|0)<(Ka|0));f[m>>2]=f[q>>2];if((Ka|0)<3)Ia=52;else Ia=54}else{f[m>>2]=f[q>>2];Ia=52}if((Ia|0)==52){Ka=f[la>>2]|0;if((Ka|0)<3){f[R>>2]=Ka;f[S>>2]=f[Ba>>2];f[U>>2]=f[Ca>>2];Ca=f[sa>>2]|0;Ba=f[$>>2]|0;f[Ba>>2]=f[Ca>>2];f[Ba+4>>2]=f[Ca+4>>2]}else Ia=54}if((Ia|0)==54)WO(m,q);f[V>>2]=f[Aa>>2];f[W>>2]=f[wa>>2];f[X>>2]=f[Da>>2];f[Y>>2]=f[ya>>2];ya=m+32|0;f[ya>>2]=f[q+32>>2];Da=f[Ha>>2]|0;f[Ga>>2]=Da;if(Da|0?(wa=Da+12|0,Da=f[wa>>2]|0,f[wa>>2]=Da+-1,(Da|0)==1):0)XO(q);f[Ha>>2]=0;f[Aa>>2]=0;f[Aa+4>>2]=0;f[Aa+8>>2]=0;f[Aa+12>>2]=0;if((f[la>>2]|0)>0){Aa=f[xa>>2]|0;xa=0;do{f[Aa+(xa<<2)>>2]=0;xa=xa+1|0}while((xa|0)<(f[la>>2]|0))}la=f[sa>>2]|0;if((la|0)!=(va|0))dX(la);la=q+4|0;f[la>>2]=2;va=q+8|0;f[va>>2]=2;sa=q+12|0;f[sa>>2]=1;xa=q+16|0;f[xa>>2]=i;Aa=q+20|0;f[Aa>>2]=i;Ha=q+24|0;Da=q+28|0;wa=q+40|0;Ca=Ha+8|0;f[Ca>>2]=0;f[Ca+4>>2]=0;f[wa>>2]=va;Ca=q+48|0;Ba=q+44|0;f[Ba>>2]=Ca;f[q>>2]=1124024326;f[Ca>>2]=8;f[q+52>>2]=8;f[Da>>2]=i+16;f[Ha>>2]=i+16;Ka=q+36|0;Ja=o+36|0;Fa=f[Ja>>2]|0;if(Fa|0?(La=Fa+12|0,Fa=f[La>>2]|0,f[La>>2]=Fa+-1,(Fa|0)==1):0)XO(o);f[Ja>>2]=0;f[da>>2]=0;f[da+4>>2]=0;f[da+8>>2]=0;f[da+12>>2]=0;if((f[aa>>2]|0)>0){Fa=f[ha>>2]|0;La=0;do{f[Fa+(La<<2)>>2]=0;La=La+1|0;Ma=f[aa>>2]|0}while((La|0)<(Ma|0));f[o>>2]=f[q>>2];if((Ma|0)<3)Ia=71;else Ia=73}else{f[o>>2]=f[q>>2];Ia=71}if((Ia|0)==71){Ma=f[la>>2]|0;if((Ma|0)<3){f[aa>>2]=Ma;f[ba>>2]=f[va>>2];f[ca>>2]=f[sa>>2];sa=f[Ba>>2]|0;va=f[ja>>2]|0;f[va>>2]=f[sa>>2];f[va+4>>2]=f[sa+4>>2]}else Ia=73}if((Ia|0)==73)WO(o,q);f[da>>2]=f[xa>>2];f[ea>>2]=f[Aa>>2];f[fa>>2]=f[Ha>>2];f[ga>>2]=f[Da>>2];Da=o+32|0;f[Da>>2]=f[q+32>>2];Ha=f[Ka>>2]|0;f[Ja>>2]=Ha;do if(Ha|0){Aa=Ha+12|0;sa=f[Aa>>2]|0;f[Aa>>2]=sa+-1;if((sa|0)!=1)break;XO(q)}while(0);f[Ka>>2]=0;f[xa>>2]=0;f[xa+4>>2]=0;f[xa+8>>2]=0;f[xa+12>>2]=0;if((f[la>>2]|0)>0){xa=f[wa>>2]|0;wa=0;do{f[xa+(wa<<2)>>2]=0;wa=wa+1|0}while((wa|0)<(f[la>>2]|0))}la=f[Ba>>2]|0;if((la|0)!=(Ca|0))dX(la);p[D>>3]=+p[h>>3]*2.0;la=h+16|0;qa=+p[la>>3];p[D+16>>3]=qa;p[D+8>>3]=qa;Ca=h+8|0;p[D+24>>3]=+p[Ca>>3]*2.0;p[E>>3]=+p[h+24>>3];p[E+8>>3]=+p[h+32>>3];f[q+8>>2]=0;f[q+12>>2]=0;f[q>>2]=16842752;f[q+4>>2]=l;f[r+8>>2]=0;f[r+12>>2]=0;f[r>>2]=16842752;f[r+4>>2]=m;Ba=s+8|0;f[Ba>>2]=0;f[Ba+4>>2]=0;f[s>>2]=33619968;f[s+4>>2]=o;UR(q,r,s,1)|0;Ba=q+4|0;f[Ba>>2]=2;wa=q+8|0;f[wa>>2]=c;xa=q+12|0;f[xa>>2]=3;Ka=q+16|0;f[Ka>>2]=D;Ha=q+20|0;f[Ha>>2]=D;sa=q+24|0;Aa=q+28|0;va=q+40|0;Ma=sa+8|0;f[Ma>>2]=0;f[Ma+4>>2]=0;f[va>>2]=wa;Ma=q+48|0;La=q+44|0;f[La>>2]=Ma;f[q>>2]=1124024326;f[Ma>>2]=24;f[q+52>>2]=8;Fa=D+((f[wa>>2]|0)*3<<3)|0;f[Aa>>2]=Fa;f[sa>>2]=Fa+-24+24;Fa=q+36|0;Na=f[Ea>>2]|0;do if(Na|0){Oa=Na+12|0;Pa=f[Oa>>2]|0;f[Oa>>2]=Pa+-1;if((Pa|0)!=1)break;XO(l)}while(0);f[Ea>>2]=0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;if((f[y>>2]|0)>0){Na=f[N>>2]|0;Pa=0;do{f[Na+(Pa<<2)>>2]=0;Pa=Pa+1|0;Qa=f[y>>2]|0}while((Pa|0)<(Qa|0));f[l>>2]=f[q>>2];if((Qa|0)<3)Ia=90;else Ia=92}else{f[l>>2]=f[q>>2];Ia=90}do if((Ia|0)==90){Qa=f[Ba>>2]|0;if((Qa|0)>=3){Ia=92;break}f[y>>2]=Qa;f[F>>2]=f[wa>>2];f[G>>2]=f[xa>>2];Qa=f[La>>2]|0;Pa=f[Q>>2]|0;f[Pa>>2]=f[Qa>>2];f[Pa+4>>2]=f[Qa+4>>2]}while(0);if((Ia|0)==92)WO(l,q);f[H>>2]=f[Ka>>2];f[I>>2]=f[Ha>>2];f[J>>2]=f[sa>>2];f[M>>2]=f[Aa>>2];f[za>>2]=f[q+32>>2];za=f[Fa>>2]|0;f[Ea>>2]=za;do if(za|0){Aa=za+12|0;M=f[Aa>>2]|0;f[Aa>>2]=M+-1;if((M|0)!=1)break;XO(q)}while(0);f[Fa>>2]=0;f[Ka>>2]=0;f[Ka+4>>2]=0;f[Ka+8>>2]=0;f[Ka+12>>2]=0;if((f[Ba>>2]|0)>0){Ka=f[va>>2]|0;va=0;do{f[Ka+(va<<2)>>2]=0;va=va+1|0}while((va|0)<(f[Ba>>2]|0))}Ba=f[La>>2]|0;if((Ba|0)!=(Ma|0))dX(Ba);Ba=q+4|0;f[Ba>>2]=2;Ma=q+8|0;f[Ma>>2]=c;La=q+12|0;f[La>>2]=1;va=q+16|0;f[va>>2]=E;Ka=q+20|0;f[Ka>>2]=E;Fa=q+24|0;za=q+28|0;M=q+40|0;Aa=Fa+8|0;f[Aa>>2]=0;f[Aa+4>>2]=0;f[M>>2]=Ma;Aa=q+48|0;sa=q+44|0;f[sa>>2]=Aa;f[q>>2]=1124024326;f[Aa>>2]=8;f[q+52>>2]=8;J=E+(f[Ma>>2]<<3)|0;f[za>>2]=J;f[Fa>>2]=J+-8+8;J=q+36|0;Ha=f[Ga>>2]|0;do if(Ha|0){I=Ha+12|0;xa=f[I>>2]|0;f[I>>2]=xa+-1;if((xa|0)!=1)break;XO(m)}while(0);f[Ga>>2]=0;f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;f[V+12>>2]=0;if((f[R>>2]|0)>0){Ha=f[Z>>2]|0;xa=0;do{f[Ha+(xa<<2)>>2]=0;xa=xa+1|0;Ra=f[R>>2]|0}while((xa|0)<(Ra|0));f[m>>2]=f[q>>2];if((Ra|0)<3)Ia=109;else Ia=111}else{f[m>>2]=f[q>>2];Ia=109}do if((Ia|0)==109){Ra=f[Ba>>2]|0;if((Ra|0)>=3){Ia=111;break}f[R>>2]=Ra;f[S>>2]=f[Ma>>2];f[U>>2]=f[La>>2];Ra=f[sa>>2]|0;xa=f[$>>2]|0;f[xa>>2]=f[Ra>>2];f[xa+4>>2]=f[Ra+4>>2]}while(0);if((Ia|0)==111)WO(m,q);f[V>>2]=f[va>>2];f[W>>2]=f[Ka>>2];f[X>>2]=f[Fa>>2];f[Y>>2]=f[za>>2];f[ya>>2]=f[q+32>>2];ya=f[J>>2]|0;f[Ga>>2]=ya;do if(ya|0){za=ya+12|0;Y=f[za>>2]|0;f[za>>2]=Y+-1;if((Y|0)!=1)break;XO(q)}while(0);f[J>>2]=0;f[va>>2]=0;f[va+4>>2]=0;f[va+8>>2]=0;f[va+12>>2]=0;if((f[Ba>>2]|0)>0){va=f[M>>2]|0;M=0;do{f[va+(M<<2)>>2]=0;M=M+1|0}while((M|0)<(f[Ba>>2]|0))}Ba=f[sa>>2]|0;if((Ba|0)!=(Aa|0))dX(Ba);Ba=q+4|0;f[Ba>>2]=2;Aa=q+8|0;f[Aa>>2]=3;sa=q+12|0;f[sa>>2]=1;M=q+16|0;f[M>>2]=h;va=q+20|0;f[va>>2]=h;J=q+24|0;ya=q+28|0;Y=q+40|0;za=J+8|0;f[za>>2]=0;f[za+4>>2]=0;f[Y>>2]=Aa;za=q+48|0;Fa=q+44|0;f[Fa>>2]=za;f[q>>2]=1124024326;f[za>>2]=8;f[q+52>>2]=8;f[ya>>2]=h+24;f[J>>2]=h+24;X=q+36|0;Ka=f[Ja>>2]|0;do if(Ka|0){W=Ka+12|0;La=f[W>>2]|0;f[W>>2]=La+-1;if((La|0)!=1)break;XO(o)}while(0);f[Ja>>2]=0;f[da>>2]=0;f[da+4>>2]=0;f[da+8>>2]=0;f[da+12>>2]=0;if((f[aa>>2]|0)>0){Ka=f[ha>>2]|0;La=0;do{f[Ka+(La<<2)>>2]=0;La=La+1|0;Sa=f[aa>>2]|0}while((La|0)<(Sa|0));f[o>>2]=f[q>>2];if((Sa|0)<3)Ia=128;else Ia=130}else{f[o>>2]=f[q>>2];Ia=128}do if((Ia|0)==128){Sa=f[Ba>>2]|0;if((Sa|0)>=3){Ia=130;break}f[aa>>2]=Sa;f[ba>>2]=f[Aa>>2];f[ca>>2]=f[sa>>2];Sa=f[Fa>>2]|0;La=f[ja>>2]|0;f[La>>2]=f[Sa>>2];f[La+4>>2]=f[Sa+4>>2]}while(0);if((Ia|0)==130)WO(o,q);f[da>>2]=f[M>>2];f[ea>>2]=f[va>>2];f[fa>>2]=f[J>>2];f[ga>>2]=f[ya>>2];f[Da>>2]=f[q+32>>2];Da=f[X>>2]|0;f[Ja>>2]=Da;do if(Da|0){ya=Da+12|0;ga=f[ya>>2]|0;f[ya>>2]=ga+-1;if((ga|0)!=1)break;XO(q)}while(0);f[X>>2]=0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;if((f[Ba>>2]|0)>0){M=f[Y>>2]|0;Y=0;do{f[M+(Y<<2)>>2]=0;Y=Y+1|0}while((Y|0)<(f[Ba>>2]|0))}Ba=f[Fa>>2]|0;if((Ba|0)!=(za|0))dX(Ba);if(ka){qa=+p[i>>3];na=+p[i+8>>3];if(A){A=0;do{ma=+n[C+(A<<3)>>2]-ta;ra=+n[C+(A<<3)+4>>2]-ua;p[E+(A<<3)>>3]=1.0;oa=ma-qa;ka=A*3|0;p[D+(ka<<3)>>3]=oa*oa;ma=ra-na;p[D+(ka+1<<3)>>3]=ma*ma;p[D+(ka+2<<3)>>3]=oa*ma;A=A+1|0}while((A|0)!=(c|0))}else{A=0;do{ma=+(f[C+(A<<3)>>2]|0)-ta;oa=+(f[C+(A<<3)+4>>2]|0)-ua;p[E+(A<<3)>>3]=1.0;ra=ma-qa;ka=A*3|0;p[D+(ka<<3)>>3]=ra*ra;ma=oa-na;p[D+(ka+1<<3)>>3]=ma*ma;p[D+(ka+2<<3)>>3]=ra*ma;A=A+1|0}while((A|0)!=(c|0))}}f[q+8>>2]=0;f[q+12>>2]=0;f[q>>2]=16842752;f[q+4>>2]=l;f[r+8>>2]=0;f[r+12>>2]=0;f[r>>2]=16842752;f[r+4>>2]=m;c=s+8|0;f[c>>2]=0;f[c+4>>2]=0;f[s>>2]=33619968;f[s+4>>2]=o;UR(q,r,s,1)|0;na=+p[la>>3];qa=+p[Ca>>3];ma=+p[h>>3];ra=qa-ma;oa=+T(+na,+ra)*-.5;p[i+32>>3]=oa;if(+K(+na)>1.0e-08)Ta=na/+O(+(oa*-2.0));else Ta=ra;ra=ma+qa;qa=+K(+(ra-Ta));if(qa>1.0e-08)Ua=+L(+(2.0/qa));else Ua=qa;p[i+16>>3]=Ua;qa=+K(+(Ta+ra));if(qa>1.0e-08)Va=+L(+(2.0/qa));else Va=qa;p[i+24>>3]=Va;n[a>>2]=ta+ +p[i>>3];n[a+4>>2]=ua+ +p[i+8>>3];ua=Ua*2.0;i=a+8|0;n[i>>2]=ua;Ua=Va*2.0;h=a+12|0;n[h>>2]=Ua;if(ua>Ua){n[i>>2]=Ua;n[h>>2]=ua;ua=oa*180.0/3.141592653589793+90.0;h=a+16|0;n[h>>2]=ua;Wa=h;Xa=ua}else{h=a+16|0;Wa=h;Xa=+n[h>>2]}h=Xa<-180.0;ua=h?Xa+360.0:Xa;a=ua>360.0;if(h|a)n[Wa>>2]=a?ua+-360.0:ua;a=f[Ja>>2]|0;do if(a|0){Wa=a+12|0;h=f[Wa>>2]|0;f[Wa>>2]=h+-1;if((h|0)!=1)break;XO(o)}while(0);f[Ja>>2]=0;f[da>>2]=0;f[da+4>>2]=0;f[da+8>>2]=0;f[da+12>>2]=0;if((f[aa>>2]|0)>0){da=f[ha>>2]|0;ha=0;do{f[da+(ha<<2)>>2]=0;ha=ha+1|0}while((ha|0)<(f[aa>>2]|0))}aa=f[ja>>2]|0;if((aa|0)!=(ia|0))dX(aa);aa=f[Ga>>2]|0;do if(aa|0){ia=aa+12|0;ja=f[ia>>2]|0;f[ia>>2]=ja+-1;if((ja|0)!=1)break;XO(m)}while(0);f[Ga>>2]=0;f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;f[V+12>>2]=0;if((f[R>>2]|0)>0){V=f[Z>>2]|0;Z=0;do{f[V+(Z<<2)>>2]=0;Z=Z+1|0}while((Z|0)<(f[R>>2]|0))}R=f[$>>2]|0;if((R|0)!=(_|0))dX(R);R=f[Ea>>2]|0;do if(R|0){_=R+12|0;$=f[_>>2]|0;f[_>>2]=$+-1;if(($|0)!=1)break;XO(l)}while(0);f[Ea>>2]=0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;if((f[y>>2]|0)>0){H=f[N>>2]|0;N=0;do{f[H+(N<<2)>>2]=0;N=N+1|0}while((N|0)<(f[y>>2]|0))}y=f[Q>>2]|0;if((y|0)!=(P|0))dX(y);y=f[k>>2]|0;if((y|0)!=(z|0)){if(y|0)HQa(y);f[k>>2]=z;f[v>>2]=136}v=f[j>>2]|0;if((v|0)!=(w|0)){if(v|0)HQa(v);f[j>>2]=w;f[x>>2]=136}x=g+36|0;w=f[x>>2]|0;do if(w|0){j=w+12|0;v=f[j>>2]|0;f[j>>2]=v+-1;if((v|0)!=1)break;XO(g)}while(0);f[x>>2]=0;x=g+4|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;if((f[x>>2]|0)>0){t=f[g+40>>2]|0;w=0;do{f[t+(w<<2)>>2]=0;w=w+1|0}while((w|0)<(f[x>>2]|0))}x=f[B>>2]|0;if((x|0)!=(g+48|0))dX(x);if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function G9(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+64|0;d=c+56|0;e=c;yV(d,48108);do if((HJ(b)|0)==65536){g=f[b+4>>2]|0;f[e>>2]=f[g>>2];h=e+4|0;i=g+4|0;f[h>>2]=f[i>>2];j=e+8|0;f[j>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[e+16>>2]=f[g+16>>2];f[e+20>>2]=f[g+20>>2];f[e+24>>2]=f[g+24>>2];f[e+28>>2]=f[g+28>>2];f[e+32>>2]=f[g+32>>2];k=f[g+36>>2]|0;f[e+36>>2]=k;f[e+40>>2]=j;j=e+48|0;l=e+44|0;f[l>>2]=j;f[j>>2]=0;f[e+52>>2]=0;if(k|0){j=k+12|0;f[j>>2]=(f[j>>2]|0)+1}if((f[i>>2]|0)<3){i=f[g+44>>2]|0;j=f[l>>2]|0;f[j>>2]=f[i>>2];f[j+4>>2]=f[i+4>>2];m=e;break}else{f[h>>2]=0;WO(e,g);m=e;break}}else{DJ(e,b,-1);m=e}while(0);if(!(f[m>>2]&7))H9(a,e);else I9(a,e);a=e+36|0;m=f[a>>2]|0;if(m|0?(b=m+12|0,m=f[b>>2]|0,f[b>>2]=m+-1,(m|0)==1):0)XO(e);f[a>>2]=0;a=e+16|0;m=e+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if((f[m>>2]|0)>0){a=f[e+40>>2]|0;b=0;do{f[a+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(f[m>>2]|0))}m=f[e+44>>2]|0;if((m|0)!=(e+48|0))dX(m);if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function H9(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;d=u;u=u+16|0;e=d;g=f[c>>2]|0;if(!((g&6)>>>0<2&(g&4088|0)==0)){f[e>>2]=0;f[e+4>>2]=0;g=JV(e,39)|0;h=208606;i=g+39|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));EP(-215,e,208646,208154,859);KV(e)}e=f[c+40>>2]|0;h=f[e+4>>2]|0;g=f[e>>2]|0;if((g|0)<=0){j=h;k=-1;l=-1;m=0;n=(j|0)<(h|0);o=n?k:0;p=n?j:0;q=l+1|0;r=q-p|0;s=m-o|0;f[a>>2]=p;t=a+4|0;f[t>>2]=o;v=a+8|0;f[v>>2]=r;w=a+12|0;f[w>>2]=s;u=d;return}e=f[c+16>>2]|0;i=f[f[c+44>>2]>>2]|0;c=-1;x=-1;y=0;z=-1;A=h;while(1){B=e+(X(i,y)|0)|0;C=B;D=C+3&-4;E=D;F=D-C|0;C=(F|0)>(h|0)?h:F;a:do if((C|0)>0){D=0;while(1){if(b[B+D>>0]|0)break;G=D+1|0;if((G|0)<(C|0))D=G;else{H=0;I=x;J=A;break a}}H=1;I=(D|0)>(x|0)?D:x;J=(D|0)<(A|0)?D:A}else{H=0;I=x;J=A}while(0);if((h|0)>(F|0)){B=J-C|0;G=I-C|0;K=h-C|0;L=B+-4|0;b:do if((B|0)<4)M=0;else{N=0;while(1){if(f[E+N>>2]|0){M=N;break b}O=N+4|0;if((O|0)>(L|0)){M=O;break}else N=O}}while(0);c:do if((M|0)<(B|0)){L=M;while(1){if(b[E+L>>0]|0)break;F=L+1|0;if((F|0)<(B|0))L=F;else{P=H;Q=F;R=B;S=G;break c}}P=1;Q=L;R=L;S=(L|0)>(G|0)?L:G}else{P=H;Q=M;R=B;S=G}while(0);G=Q+-1|0;B=(G|0)<(S|0)?S:G;G=K;while(1){T=G+-1|0;U=(T|0)>(B|0);V=(T&3|0)==3;if(V|U^1){W=20;break}if(!(b[E+T>>0]|0))G=T;else{Y=T;break}}d:do if((W|0)==20){W=0;if(U&V?(G=B+3|0,(T|0)>(G|0)):0){K=T;while(1){if(f[E+K+-3>>2]|0){Y=K;break d}F=K+-4|0;if((F|0)>(G|0))K=F;else{Y=F;break}}}else Y=T}while(0);e:do if((Y|0)>(B|0)){K=Y;while(1){if(b[E+K>>0]|0){Z=1;_=K;break e}G=K+-1|0;if((G|0)>(B|0))K=G;else{$=G;W=27;break}}}else{$=Y;W=27}while(0);f:do if((W|0)==27){W=0;if(!P){B=Q&-4;K=$+-3|0;g:do if((B|0)>(K|0))aa=B;else{G=B;while(1){if(f[E+G>>2]|0){aa=G;break g}L=G+4|0;if((L|0)>(K|0)){aa=L;break}else G=L}}while(0);if((aa|0)>($|0)){Z=0;_=S}else{K=aa;while(1){if(b[E+K>>0]|0){Z=1;_=S;break f}if((K|0)<($|0))K=K+1|0;else{Z=0;_=S;break}}}}else{Z=P;_=S}}while(0);ba=R+C|0;ca=Z;da=_+C|0}else{ba=J;ca=H;da=I}E=(ca|0)==0;z=E?z:y;c=E?c:(c|0)<0?y:c;y=y+1|0;if((y|0)==(g|0))break;else{x=da;A=ba}}j=ba;k=c;l=da;m=z+1|0;n=(j|0)<(h|0);o=n?k:0;p=n?j:0;q=l+1|0;r=q-p|0;s=m-o|0;f[a>>2]=p;t=a+4|0;f[t>>2]=o;v=a+8|0;f[v>>2]=r;w=a+12|0;f[w>>2]=s;u=d;return}function I9(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0,G=0.0;d=u;u=u+16|0;e=d;g=jP(c,2,-1,1)|0;h=f[c>>2]&7;if(!((g|0)>-1&(h|1|0)==5)){f[e>>2]=0;f[e+4>>2]=0;i=JV(e,42)|0;j=208337;k=i+42|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-215,e,208585,208154,741);KV(e)}if(!g){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=d;return}e=f[c+16>>2]|0;c=f[e>>2]|0;j=f[e+4>>2]|0;if((h|0)!=5)if((g|0)>1){h=c;i=j;k=c;l=1;m=j;while(1){o=f[e+(l<<3)>>2]|0;p=f[e+(l<<3)+4>>2]|0;q=(h|0)>(o|0)?o:h;r=(k|0)<(o|0)?o:k;o=(i|0)>(p|0)?p:i;t=(m|0)<(p|0)?p:m;l=l+1|0;if((l|0)==(g|0)){v=q;w=o;x=r;y=t;break}else{h=q;i=o;k=r;m=t}}}else{v=c;w=j;x=c;y=j}else{m=c>>31&2147483647^c;c=j>>31&2147483647^j;if((g|0)>1){j=1;k=c;i=m;h=c;l=m;while(1){t=f[e+(j<<3)>>2]|0;r=f[e+(j<<3)+4>>2]|0;o=t>>31&2147483647^t;t=r>>31&2147483647^r;r=(l|0)>(o|0)?o:l;q=(i|0)<(o|0)?o:i;o=(k|0)>(t|0)?t:k;p=(h|0)<(t|0)?t:h;j=j+1|0;if((j|0)==(g|0)){z=r;A=o;B=q;C=p;break}else{k=o;i=q;h=p;l=r}}}else{z=m;A=c;B=m;C=c}D=(f[s>>2]=z>>31&2147483647^z,+n[s>>2]);z=~~D;E=(f[s>>2]=A>>31&2147483647^A,+n[s>>2]);A=~~E;F=(f[s>>2]=B>>31&2147483647^B,+n[s>>2]);B=~~F;G=(f[s>>2]=C>>31&2147483647^C,+n[s>>2]);C=~~G;v=z-(+(z|0)>D&1)|0;w=A-(+(A|0)>E&1)|0;x=B-(+(B|0)>F&1)|0;y=C-(+(C|0)>G&1)|0}f[a>>2]=v;f[a+4>>2]=w;f[a+8>>2]=x+1-v;f[a+12>>2]=y+1-w;u=d;return}function J9(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;e=u;u=u+1344|0;g=e+1256|0;h=e+1236|0;i=e+1208|0;j=e;k=e+1152|0;l=e+1096|0;m=g+56|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;if((c|0)!=0?(m=f[c>>2]|0,(m&-65536|0)==1117323264):0){if((m&4094|0)!=12){f[j>>2]=0;f[j+4>>2]=0;n=JV(j,25)|0;o=208705;p=n+25|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));EP(-5,j,208731,208154,1316);KV(j)}if((f[c+4>>2]|0)>=88)if(!d){m=c+56|0;f[a>>2]=f[m>>2];f[a+4>>2]=f[m+4>>2];f[a+8>>2]=f[m+8>>2];f[a+12>>2]=f[m+12>>2];u=e;return}else{q=d;r=c;s=21}else{q=0;r=c;s=21}}else s=6;a:do if((s|0)==6){d=XV(c,i,0,0)|0;switch(f[d>>2]&4095){case 13:case 12:{q=0;r=upa(0,d,g,h)|0;s=21;break a;break}case 1:case 0:break;default:{f[j>>2]=0;f[j+4>>2]=0;n=JV(j,56)|0;o=208746;p=n+56|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));EP(-210,j,208731,208154,1336);KV(j)}}if(!d){q=0;r=0;s=21}else{NY(k,d,0,1,0,0);H9(j,k);m=f[j>>2]|0;t=f[j+4>>2]|0;v=f[j+8>>2]|0;w=f[j+12>>2]|0;x=k+36|0;y=f[x>>2]|0;if(y|0?(z=y+12|0,y=f[z>>2]|0,f[z>>2]=y+-1,(y|0)==1):0)XO(k);f[x>>2]=0;x=k+16|0;y=k+4|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;if((f[y>>2]|0)>0){x=f[k+40>>2]|0;z=0;do{f[x+(z<<2)>>2]=0;z=z+1|0}while((z|0)<(f[y>>2]|0))}y=f[k+44>>2]|0;if((y|0)!=(k+48|0))dX(y);A=m;B=v;C=w;D=t}}while(0);if((s|0)==21){if(!(f[r+24>>2]|0)){E=0;F=0;G=0;H=0}else{s=j+8|0;f[j>>2]=s;o=j+4|0;f[o>>2]=136;NY(l,r,0,0,0,j);I9(k,l);n=f[k>>2]|0;p=f[k+4>>2]|0;h=f[k+8>>2]|0;g=f[k+12>>2]|0;k=l+36|0;i=f[k>>2]|0;if(i|0?(c=i+12|0,i=f[c>>2]|0,f[c>>2]=i+-1,(i|0)==1):0)XO(l);f[k>>2]=0;k=l+16|0;i=l+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;if((f[i>>2]|0)>0){k=f[l+40>>2]|0;c=0;do{f[k+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[i>>2]|0))}i=f[l+44>>2]|0;if((i|0)!=(l+48|0))dX(i);i=f[j>>2]|0;if((i|0)!=(s|0)){if(i|0)HQa(i);f[j>>2]=s;f[o>>2]=136}E=n;F=h;G=g;H=p}if(!q){A=E;B=F;C=G;D=H}else{f[r+56>>2]=E;f[r+60>>2]=H;f[r+64>>2]=F;f[r+68>>2]=G;A=E;B=F;C=G;D=H}}f[a>>2]=A;f[a+4>>2]=D;f[a+8>>2]=B;f[a+12>>2]=C;u=e;return}function K9(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0.0,I=0,J=0.0,K=0.0,M=0.0,N=0,O=0,P=0.0,Q=0,R=0,S=0,U=0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0,aa=0,ba=0,ca=0,da=0.0,ea=0.0,fa=0.0,ga=0,ha=0.0,ia=0.0,ja=0.0,ka=0,la=0.0;d=u;u=u+1152|0;e=d+88|0;g=d+72|0;h=d+64|0;i=d+56|0;j=d;yV(i,48128);f[j>>2]=1124007936;k=j+4|0;l=j+8|0;m=j+40|0;o=k;p=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));f[m>>2]=l;q=j+48|0;r=j+44|0;f[r>>2]=q;f[q>>2]=0;f[j+52>>2]=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;t=e+8|0;f[t>>2]=0;f[t+4>>2]=0;f[e>>2]=33619968;f[e+4>>2]=j;eca(c,e,1,1);if((f[j>>2]&7|0)!=5){f[e>>2]=1124007936;c=e+4|0;t=e+8|0;v=e+40|0;o=c;p=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));f[v>>2]=t;w=e+48|0;x=e+44|0;f[x>>2]=w;f[w>>2]=0;f[e+52>>2]=0;y=g+8|0;f[y>>2]=0;f[y+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=e;AO(j,g,5,1.0,0.0);y=e+36|0;z=f[y>>2]|0;if(z|0){A=z+12|0;f[A>>2]=(f[A>>2]|0)+1}A=j+36|0;z=f[A>>2]|0;if(z|0?(B=z+12|0,z=f[B>>2]|0,f[B>>2]=z+-1,(z|0)==1):0)XO(j);f[A>>2]=0;z=j+16|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;if((f[k>>2]|0)>0){B=f[m>>2]|0;C=0;do{f[B+(C<<2)>>2]=0;C=C+1|0;D=f[k>>2]|0}while((C|0)<(D|0));f[j>>2]=f[e>>2];if((D|0)<3)E=12;else E=14}else{f[j>>2]=f[e>>2];E=12}if((E|0)==12){D=f[c>>2]|0;if((D|0)<3){f[k>>2]=D;f[l>>2]=f[t>>2];f[j+12>>2]=f[e+12>>2];t=f[x>>2]|0;l=f[r>>2]|0;f[l>>2]=f[t>>2];f[l+4>>2]=f[t+4>>2]}else E=14}if((E|0)==14)WO(j,e);t=e+16|0;f[z>>2]=f[t>>2];f[j+20>>2]=f[e+20>>2];f[j+24>>2]=f[e+24>>2];f[j+28>>2]=f[e+28>>2];f[j+32>>2]=f[e+32>>2];z=f[y>>2]|0;f[A>>2]=z;if(z|0?(A=z+12|0,z=f[A>>2]|0,f[A>>2]=z+-1,(z|0)==1):0)XO(e);f[y>>2]=0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;if((f[c>>2]|0)>0){t=f[v>>2]|0;v=0;do{f[t+(v<<2)>>2]=0;v=v+1|0}while((v|0)<(f[c>>2]|0))}c=f[x>>2]|0;if((c|0)!=(w|0))dX(c)}c=jP(j,2,-1,1)|0;w=j+16|0;x=f[w>>2]|0;a:do if((c|0)>2){v=c*3|0;t=e+8|0;f[e>>2]=t;y=e+4|0;f[y>>2]=v;if(v>>>0>264){z=FQa(v>>>0>1073741823?-1:v<<2)|0;f[e>>2]=z;F=z}else F=t;z=F+(c<<2)|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;v=f[x>>2]|0;A=f[x+4>>2]|0;G=(f[s>>2]=v,+n[s>>2]);H=(f[s>>2]=A,+n[s>>2]);l=0;D=0;C=0;B=0;I=0;J=G;K=G;G=H;M=H;N=v;v=A;while(1){H=(f[s>>2]=N,+n[s>>2]);A=J>H;D=A?l:D;O=K>2]=v,+n[s>>2]);Q=GP;C=R?l:C;S=l;l=l+1|0;U=(l|0)<(c|0)?l:0;N=f[x+(U<<3)>>2]|0;v=f[x+(U<<3)+4>>2]|0;V=(f[s>>2]=N,+n[s>>2])-H;W=V;X=(f[s>>2]=v,+n[s>>2])-P;Y=X;n[z+(S<<3)>>2]=V;n[z+(S<<3)+4>>2]=X;X=1.0/+L(+(W*W+Y*Y));n[F+(S<<2)>>2]=X;if((l|0)==(c|0))break;else{J=A?H:J;K=O?H:K;G=Q?P:G;M=R?P:M}}l=c+-1|0;M=+n[z+(l<<3)>>2];G=+n[z+(l<<3)+4>>2];l=0;while(1){K=M;M=+n[z+(l<<3)>>2];J=G;G=+n[z+(l<<3)+4>>2];Z=K*G-J*M;l=l+1|0;if(Z!=0.0){E=33;break}if((l|0)>=(c|0)){E=32;break}}if((E|0)==32){f[h>>2]=0;f[h+4>>2]=0;o=JV(h,16)|0;l=208803;p=o+16|0;do{b[o>>0]=b[l>>0]|0;o=o+1|0;l=l+1|0}while((o|0)<(p|0));EP(-215,h,208820,208837,166);KV(h);_=0.0}else if((E|0)==33)_=Z>0.0?1.0:-1.0;f[g>>2]=C;l=g+4|0;f[l>>2]=B;v=g+8|0;f[v>>2]=I;N=g+12|0;f[N>>2]=D;R=0;M=_;G=0.0;J=3402823466385288598117041.0e14;Q=0;K=0.0;P=0.0;H=0.0;O=0;X=0.0;A=C;S=B;U=I;$=D;b:while(1){Y=(M*+n[z+(A<<3)>>2]+G*+n[z+(A<<3)+4>>2])*+n[F+(A<<2)>>2];W=(M*+n[z+(S<<3)+4>>2]-G*+n[z+(S<<3)>>2])*+n[F+(S<<2)>>2];aa=W>Y;V=aa?W:Y;Y=(-(M*+n[z+(U<<3)>>2])-G*+n[z+(U<<3)+4>>2])*+n[F+(U<<2)>>2];ba=Y>V;ca=(G*+n[z+($<<3)>>2]-M*+n[z+($<<3)+4>>2])*+n[F+($<<2)>>2]>(ba?Y:V)?3:ba?2:aa&1;aa=g+(ca<<2)|0;ba=f[aa>>2]|0;V=+n[F+(ba<<2)>>2];Y=+n[z+(ba<<3)>>2]*V;W=V*+n[z+(ba<<3)+4>>2];switch(ca&3){case 0:{da=Y;ea=W;break}case 1:{da=W;ea=-Y;break}case 2:{da=-Y;ea=-W;break}case 3:{da=-W;ea=Y;break}default:{E=39;break b}}ca=ba+1|0;f[aa>>2]=(ca|0)==(c|0)?0:ca;S=f[l>>2]|0;$=f[N>>2]|0;Y=da*(+n[x+(S<<3)>>2]-+n[x+($<<3)>>2])+ea*(+n[x+(S<<3)+4>>2]-+n[x+($<<3)+4>>2]);U=f[v>>2]|0;A=f[g>>2]|0;W=da*(+n[x+(U<<3)+4>>2]-+n[x+(A<<3)+4>>2])-ea*(+n[x+(U<<3)>>2]-+n[x+(A<<3)>>2]);V=Y*W;if(!(V<=J)){fa=J;ga=Q;ha=K;ia=P;ja=H;ka=O;la=X}else{fa=V;ga=$;ha=Y;ia=ea;ja=W;ka=A;la=da}R=R+1|0;if((R|0)>=(c|0))break;else{M=da;G=ea;J=fa;Q=ga;K=ha;P=ia;H=ja;O=ka;X=la}}X=-ia;H=la*+n[x+(ga<<3)>>2]+ia*+n[x+(ga<<3)+4>>2];P=+n[x+(ka<<3)>>2]*X+la*+n[x+(ka<<3)+4>>2];K=1.0/(la*la-ia*X);J=K*(la*H-ia*P);G=K*(la*P-H*X);H=ha*la;P=ia*ha;K=ja*X;X=ja*la;O=f[e>>2]|0;if((O|0)!=(t|0)){if(O|0)HQa(O);f[e>>2]=t;f[y>>2]=264}n[a>>2]=J+(H+K)*.5;n[a+4>>2]=G+(P+X)*.5;G=H;H=P;P=+L(+(G*G+H*H));n[a+8>>2]=P;P=K;K=X;X=+L(+(P*P+K*K));n[a+12>>2]=X;X=+T(+H,+G);n[a+16>>2]=X}else switch(c|0){case 2:{X=+n[x>>2];G=+n[x+8>>2];n[a>>2]=(X+G)*.5;H=+n[x+4>>2];K=+n[x+12>>2];n[a+4>>2]=(H+K)*.5;P=G-X;X=K-H;H=+L(+(P*P+X*X));n[a+8>>2]=H;n[a+12>>2]=0.0;H=+T(+X,+P);n[a+16>>2]=H;break a;break}case 1:{f[a>>2]=f[x>>2];f[a+4>>2]=f[x+4>>2];break a;break}default:break a}while(0);x=a+16|0;n[x>>2]=+n[x>>2]*180.0/3.141592653589793;x=j+36|0;a=f[x>>2]|0;if(a|0?(c=a+12|0,a=f[c>>2]|0,f[c>>2]=a+-1,(a|0)==1):0)XO(j);f[x>>2]=0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;if((f[k>>2]|0)>0){w=f[m>>2]|0;m=0;do{f[w+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[k>>2]|0))}k=f[r>>2]|0;if((k|0)!=(q|0))dX(k);if(!(f[i+4>>2]|0)){u=d;return}u=d;return}function L9(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+144|0;h=g+128|0;i=g+72|0;j=g+64|0;k=g+8|0;l=g;yV(h,48148);if(!e){f[i>>2]=0;f[i+4>>2]=0;m=JV(i,29)|0;n=208948;o=m+29|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,i,208978,208986,1342);KV(i)}do if((HJ(a)|0)==65536){n=f[a+4>>2]|0;f[i>>2]=f[n>>2];m=i+4|0;o=n+4|0;f[m>>2]=f[o>>2];p=i+8|0;f[p>>2]=f[n+8>>2];f[i+12>>2]=f[n+12>>2];f[i+16>>2]=f[n+16>>2];f[i+20>>2]=f[n+20>>2];f[i+24>>2]=f[n+24>>2];f[i+28>>2]=f[n+28>>2];f[i+32>>2]=f[n+32>>2];q=f[n+36>>2]|0;f[i+36>>2]=q;f[i+40>>2]=p;p=i+48|0;r=i+44|0;f[r>>2]=p;f[p>>2]=0;f[i+52>>2]=0;if(q|0){p=q+12|0;f[p>>2]=(f[p>>2]|0)+1}if((f[o>>2]|0)<3){o=f[n+44>>2]|0;p=f[r>>2]|0;f[p>>2]=f[o>>2];f[p+4>>2]=f[o+4>>2];break}else{f[m>>2]=0;WO(i,n);break}}else DJ(i,a,-1);while(0);a=f[d>>2]|0;n=f[d+4>>2]|0;if(!(X(n,a)|0)){s=((f[i+12>>2]|0)+1|0)/2|0;t=((f[i+8>>2]|0)+1|0)/2|0}else{s=a;t=n}f[j>>2]=s;f[j+4>>2]=t;_J(c,j,f[i>>2]&4095,-1,0,0);do if((HJ(c)|0)==65536){j=f[c+4>>2]|0;f[k>>2]=f[j>>2];t=k+4|0;s=j+4|0;f[t>>2]=f[s>>2];n=k+8|0;f[n>>2]=f[j+8>>2];f[k+12>>2]=f[j+12>>2];a=k+16|0;f[a>>2]=f[j+16>>2];f[k+20>>2]=f[j+20>>2];f[k+24>>2]=f[j+24>>2];f[k+28>>2]=f[j+28>>2];f[k+32>>2]=f[j+32>>2];d=f[j+36>>2]|0;f[k+36>>2]=d;f[k+40>>2]=n;n=k+48|0;m=k+44|0;f[m>>2]=n;f[n>>2]=0;f[k+52>>2]=0;if(d|0){n=d+12|0;f[n>>2]=(f[n>>2]|0)+1}if((f[s>>2]|0)<3){s=f[j+44>>2]|0;n=f[m>>2]|0;f[n>>2]=f[s>>2];f[n+4>>2]=f[s+4>>2];v=a;break}else{f[t>>2]=0;WO(k,j);v=a;break}}else{DJ(k,c,-1);v=k+16|0}while(0);c=i+16|0;switch(f[i>>2]&7){case 0:{w=172;break}case 3:{w=173;break}case 2:{w=174;break}case 5:{w=175;break}case 6:{w=176;break}default:{f[l>>2]=0;f[l+4>>2]=0;EP(-210,l,208978,208986,1383);KV(l)}}Rg[w&255](i,k,e);e=k+36|0;w=f[e>>2]|0;if(w|0?(l=w+12|0,w=f[l>>2]|0,f[l>>2]=w+-1,(w|0)==1):0)XO(k);f[e>>2]=0;e=k+4|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;if((f[e>>2]|0)>0){v=f[k+40>>2]|0;w=0;do{f[v+(w<<2)>>2]=0;w=w+1|0}while((w|0)<(f[e>>2]|0))}e=f[k+44>>2]|0;if((e|0)!=(k+48|0))dX(e);e=i+36|0;k=f[e>>2]|0;if(k|0?(w=k+12|0,k=f[w>>2]|0,f[w>>2]=k+-1,(k|0)==1):0)XO(i);f[e>>2]=0;e=i+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[e>>2]|0)>0){c=f[i+40>>2]|0;k=0;do{f[c+(k<<2)>>2]=0;k=k+1|0}while((k|0)<(f[e>>2]|0))}e=f[i+44>>2]|0;if((e|0)!=(i+48|0))dX(e);if(!(f[h+4>>2]|0)){u=g;return}u=g;return}function M9(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;g=u;u=u+30816|0;h=g+29744|0;i=g+15408|0;j=g+1072|0;k=g+8|0;l=g;m=a+16|0;if(f[m>>2]|0){n=f[a+4>>2]|0;if((n|0)<3)o=X(f[a+12>>2]|0,f[a+8>>2]|0)|0;else{p=f[a+40>>2]|0;q=0;r=1;while(1){s=X(f[p+(q<<2)>>2]|0,r)|0;q=q+1|0;if((q|0)==(n|0)){o=s;break}else r=s}}if((n|0)==0|(o|0)==0)t=7}else t=7;if((t|0)==7){f[h>>2]=0;f[h+4>>2]=0;t=JV(h,13)|0;o=209046;n=t+13|0;do{b[t>>0]=b[o>>0]|0;t=t+1|0;o=o+1|0}while((t|0)<(n|0));EP(-215,h,209060,208986,858);KV(h)}o=f[a+40>>2]|0;t=f[o+4>>2]|0;n=f[o>>2]|0;o=f[c+40>>2]|0;r=f[o+4>>2]|0;q=f[o>>2]|0;o=(f[a>>2]|0)>>>3;p=(o&511)+1|0;s=X(p,r)|0;v=s+15&-16;w=(v*5|0)+16|0;x=h+8|0;f[h>>2]=x;y=h+4|0;f[y>>2]=w;if(w>>>0>264){z=FQa(w>>>0>1073741823?-1:w<<2)|0;f[h>>2]=z;A=z}else A=x;z=A+15&-16;A=k+8|0;f[k>>2]=A;w=k+4|0;f[w>>2]=s;if(s>>>0>264){B=FQa(s>>>0>1073741823?-1:s<<2)|0;f[k>>2]=B;C=B}else C=A;if(!(((t|0)>0&(n|0)>0?(B=(r<<1)-t|0,(((B|0)>-1?B:0-B|0)|0)<3):0)?(B=(q<<1)-n|0,(((B|0)>-1?B:0-B|0)|0)<3):0)){f[l>>2]=0;f[l+4>>2]=0;DVa(JV(l,129)|0,209069,129)|0;EP(-215,l,209060,208986,873);KV(l)}l=((t+-3|0)/2|0)+1|0;B=(r|0)<(l|0)?r:l;l=B<<1;r=X(lM(-2,t,e)|0,p)|0;D=X(lM(l+-2|0,t,e)|0,p)|0;E=0;do{f[i+(E<<2)>>2]=E+r;f[j+(E<<2)>>2]=E+D;E=E+1|0}while((E|0)!=(p|0));E=X(lM(-1,t,e)|0,p)|0;D=X(lM(l+-1|0,t,e)|0,p)|0;r=0;do{F=r+p|0;f[i+(F<<2)>>2]=r+E;f[j+(F<<2)>>2]=r+D;r=r+1|0}while((r|0)!=(p|0));r=X(lM(0,t,e)|0,p)|0;D=X(lM(l,t,e)|0,p)|0;E=p<<1;F=0;do{G=F+E|0;f[i+(G<<2)>>2]=F+r;f[j+(G<<2)>>2]=F+D;F=F+1|0}while((F|0)!=(p|0));F=X(lM(1,t,e)|0,p)|0;D=X(lM(l|1,t,e)|0,p)|0;r=p*3|0;E=0;do{G=E+r|0;f[i+(G<<2)>>2]=E+F;f[j+(G<<2)>>2]=E+D;E=E+1|0}while((E|0)!=(p|0));E=X(lM(2,t,e)|0,p)|0;D=X(lM(l+2|0,t,e)|0,p)|0;F=p<<2;G=0;do{H=G+F|0;f[i+(H<<2)>>2]=G+E;f[j+(H<<2)>>2]=G+D;G=G+1|0}while((G|0)!=(p|0));G=X(lM(3,t,e)|0,p)|0;D=X(lM(l+3|0,t,e)|0,p)|0;E=p*5|0;F=0;do{H=F+E|0;f[i+(H<<2)>>2]=F+G;f[j+(H<<2)>>2]=F+D;F=F+1|0}while((F|0)!=(p|0));F=X(lM(4,t,e)|0,p)|0;D=X(lM(l+4|0,t,e)|0,p)|0;t=p*6|0;l=0;do{G=l+t|0;f[i+(G<<2)>>2]=l+F;f[j+(G<<2)>>2]=l+D;l=l+1|0}while((l|0)!=(p|0));l=X(p,B)|0;B=(s|0)>0;if(B){D=p<<1;F=0;do{t=(X(D,(F>>>0)/(p>>>0)|0)|0)+((F|0)%(p|0)|0)|0;f[C+(F<<2)>>2]=t;F=F+1|0}while((F|0)!=(s|0))}if((q|0)>0){F=c+16|0;D=c+44|0;c=a+44|0;a=o&65535;o=p<<1;t=p<<2;G=-2;E=0;while(1){H=(f[F>>2]|0)+(X(f[f[D>>2]>>2]|0,E)|0)|0;I=E<<1;J=I+2|0;if((G|0)>(J|0))K=G;else{L=G;while(1){M=z+((X((L+2|0)%5|0,v)|0)<<2)|0;N=lM(L,n,e)|0;O=(f[m>>2]|0)+(X(f[f[c>>2]>>2]|0,N)|0)|0;N=p;P=i;Q=0;while(1){if((Q|0)<(N|0)){R=Q;do{f[M+(R<<2)>>2]=((d[O+(f[P+(R+r<<2)>>2]<<1)>>1]|0)+(d[O+(f[P+(R+p<<2)>>2]<<1)>>1]|0)<<2)+((d[O+(f[P+(R+o<<2)>>2]<<1)>>1]|0)*6|0)+(d[O+(f[P+(R<<2)>>2]<<1)>>1]|0)+(d[O+(f[P+(R+t<<2)>>2]<<1)>>1]|0);R=R+1|0}while((R|0)!=(N|0));S=N}else S=Q;if((S|0)==(s|0))break;switch(a&511){case 0:{if((S|0)<(l|0)){R=S;do{T=R<<1;f[M+(R<<2)>>2]=((d[O+(T<<1)>>1]|0)*6|0)+(d[O+(T+-2<<1)>>1]|0)+((d[O+((T|1)<<1)>>1]|0)+(d[O+(T+-1<<1)>>1]|0)<<2)+(d[O+(T+2<<1)>>1]|0);R=R+1|0}while((R|0)<(l|0));U=l}else U=S;break}case 2:{if((S|0)<(l|0)){R=S;while(1){T=O+(R<<1<<1)|0;V=((d[T+2>>1]|0)*6|0)+(d[T+-10>>1]|0)+((d[T+8>>1]|0)+(d[T+-4>>1]|0)<<2)+(d[T+14>>1]|0)|0;W=((d[T+4>>1]|0)*6|0)+(d[T+-8>>1]|0)+((d[T+10>>1]|0)+(d[T+-2>>1]|0)<<2)+(d[T+16>>1]|0)|0;f[M+(R<<2)>>2]=((d[T>>1]|0)*6|0)+(d[T+-12>>1]|0)+((d[T+6>>1]|0)+(d[T+-6>>1]|0)<<2)+(d[T+12>>1]|0);f[M+(R+1<<2)>>2]=V;f[M+(R+2<<2)>>2]=W;W=R+3|0;if((W|0)<(l|0))R=W;else{U=W;break}}}else U=S;break}case 3:{if((S|0)<(l|0)){R=S;while(1){W=O+(R<<1<<1)|0;V=((d[W+2>>1]|0)*6|0)+(d[W+-14>>1]|0)+((d[W+10>>1]|0)+(d[W+-6>>1]|0)<<2)+(d[W+18>>1]|0)|0;f[M+(R<<2)>>2]=((d[W>>1]|0)*6|0)+(d[W+-16>>1]|0)+((d[W+8>>1]|0)+(d[W+-8>>1]|0)<<2)+(d[W+16>>1]|0);f[M+(R+1<<2)>>2]=V;V=((d[W+6>>1]|0)*6|0)+(d[W+-10>>1]|0)+((d[W+14>>1]|0)+(d[W+-2>>1]|0)<<2)+(d[W+22>>1]|0)|0;f[M+(R+2<<2)>>2]=((d[W+4>>1]|0)*6|0)+(d[W+-12>>1]|0)+((d[W+12>>1]|0)+(d[W+-4>>1]|0)<<2)+(d[W+20>>1]|0);f[M+(R+3<<2)>>2]=V;V=R+4|0;if((V|0)<(l|0))R=V;else{U=V;break}}}else U=S;break}default:if((S|0)<(l|0)){R=S;do{V=f[C+(R<<2)>>2]|0;f[M+(R<<2)>>2]=((d[O+(V<<1)>>1]|0)*6|0)+(d[O+(V-o<<1)>>1]|0)+((d[O+(V+p<<1)>>1]|0)+(d[O+(V-p<<1)>>1]|0)<<2)+(d[O+(V+o<<1)>>1]|0);R=R+1|0}while((R|0)<(l|0));U=l}else U=S}N=s;P=j+(0-U<<2)|0;Q=U}Q=L+1|0;if((L|0)<(J|0))L=Q;else{K=Q;break}}}L=z+((X((I|0)%5|0,v)|0)<<2)|0;Q=z+((X((I|1|0)%5|0,v)|0)<<2)|0;P=z+((X((J|0)%5|0,v)|0)<<2)|0;N=z+((X((I+3|0)%5|0,v)|0)<<2)|0;O=z+((X((I+4|0)%5|0,v)|0)<<2)|0;if(B){M=0;do{d[H+(M<<1)>>1]=(((f[P+(M<<2)>>2]|0)*6|0)+128+(f[L+(M<<2)>>2]|0)+((f[N+(M<<2)>>2]|0)+(f[Q+(M<<2)>>2]|0)<<2)+(f[O+(M<<2)>>2]|0)|0)>>>8;M=M+1|0}while((M|0)!=(s|0))}E=E+1|0;if((E|0)>=(q|0))break;else G=K}}K=f[k>>2]|0;if((K|0)!=(A|0)){if(K|0)HQa(K);f[k>>2]=A;f[w>>2]=264}w=f[h>>2]|0;if((w|0)==(x|0)){u=g;return}if(w|0)HQa(w);f[h>>2]=x;f[y>>2]=264;u=g;return}function N9(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0;g=u;u=u+30816|0;h=g+29744|0;i=g+15408|0;k=g+1072|0;l=g+8|0;m=g;n=a+16|0;if(f[n>>2]|0){o=f[a+4>>2]|0;if((o|0)<3)p=X(f[a+12>>2]|0,f[a+8>>2]|0)|0;else{q=f[a+40>>2]|0;r=0;s=1;while(1){t=X(f[q+(r<<2)>>2]|0,s)|0;r=r+1|0;if((r|0)==(o|0)){p=t;break}else s=t}}if((o|0)==0|(p|0)==0)v=7}else v=7;if((v|0)==7){f[h>>2]=0;f[h+4>>2]=0;v=JV(h,13)|0;p=209046;o=v+13|0;do{b[v>>0]=b[p>>0]|0;v=v+1|0;p=p+1|0}while((v|0)<(o|0));EP(-215,h,209060,208986,858);KV(h)}p=f[a+40>>2]|0;v=f[p+4>>2]|0;o=f[p>>2]|0;p=f[c+40>>2]|0;s=f[p+4>>2]|0;r=f[p>>2]|0;p=(f[a>>2]|0)>>>3;q=(p&511)+1|0;t=X(q,s)|0;w=t+15&-16;x=(w*5|0)+16|0;y=h+8|0;f[h>>2]=y;z=h+4|0;f[z>>2]=x;if(x>>>0>264){A=FQa(x>>>0>1073741823?-1:x<<2)|0;f[h>>2]=A;B=A}else B=y;A=B+15&-16;B=l+8|0;f[l>>2]=B;x=l+4|0;f[x>>2]=t;if(t>>>0>264){C=FQa(t>>>0>1073741823?-1:t<<2)|0;f[l>>2]=C;D=C}else D=B;if(!(((v|0)>0&(o|0)>0?(C=(s<<1)-v|0,(((C|0)>-1?C:0-C|0)|0)<3):0)?(C=(r<<1)-o|0,(((C|0)>-1?C:0-C|0)|0)<3):0)){f[m>>2]=0;f[m+4>>2]=0;DVa(JV(m,129)|0,209069,129)|0;EP(-215,m,209060,208986,873);KV(m)}m=((v+-3|0)/2|0)+1|0;C=(s|0)<(m|0)?s:m;m=C<<1;s=X(lM(-2,v,e)|0,q)|0;E=X(lM(m+-2|0,v,e)|0,q)|0;F=0;do{f[i+(F<<2)>>2]=F+s;f[k+(F<<2)>>2]=F+E;F=F+1|0}while((F|0)!=(q|0));F=X(lM(-1,v,e)|0,q)|0;E=X(lM(m+-1|0,v,e)|0,q)|0;s=0;do{G=s+q|0;f[i+(G<<2)>>2]=s+F;f[k+(G<<2)>>2]=s+E;s=s+1|0}while((s|0)!=(q|0));s=X(lM(0,v,e)|0,q)|0;E=X(lM(m,v,e)|0,q)|0;F=q<<1;G=0;do{H=G+F|0;f[i+(H<<2)>>2]=G+s;f[k+(H<<2)>>2]=G+E;G=G+1|0}while((G|0)!=(q|0));G=X(lM(1,v,e)|0,q)|0;E=X(lM(m|1,v,e)|0,q)|0;s=q*3|0;F=0;do{H=F+s|0;f[i+(H<<2)>>2]=F+G;f[k+(H<<2)>>2]=F+E;F=F+1|0}while((F|0)!=(q|0));F=X(lM(2,v,e)|0,q)|0;E=X(lM(m+2|0,v,e)|0,q)|0;G=q<<2;H=0;do{I=H+G|0;f[i+(I<<2)>>2]=H+F;f[k+(I<<2)>>2]=H+E;H=H+1|0}while((H|0)!=(q|0));H=X(lM(3,v,e)|0,q)|0;E=X(lM(m+3|0,v,e)|0,q)|0;F=q*5|0;G=0;do{I=G+F|0;f[i+(I<<2)>>2]=G+H;f[k+(I<<2)>>2]=G+E;G=G+1|0}while((G|0)!=(q|0));G=X(lM(4,v,e)|0,q)|0;E=X(lM(m+4|0,v,e)|0,q)|0;v=q*6|0;m=0;do{H=m+v|0;f[i+(H<<2)>>2]=m+G;f[k+(H<<2)>>2]=m+E;m=m+1|0}while((m|0)!=(q|0));m=X(q,C)|0;C=(t|0)>0;if(C){E=q<<1;G=0;do{v=(X(E,(G>>>0)/(q>>>0)|0)|0)+((G|0)%(q|0)|0)|0;f[D+(G<<2)>>2]=v;G=G+1|0}while((G|0)!=(t|0))}if((r|0)>0){G=c+16|0;E=c+44|0;c=a+44|0;a=p&65535;p=q<<1;v=q<<2;H=-2;F=0;while(1){I=(f[G>>2]|0)+(X(f[f[E>>2]>>2]|0,F)|0)|0;J=F<<1;K=J+2|0;if((H|0)>(K|0))L=H;else{M=H;while(1){N=A+((X((M+2|0)%5|0,w)|0)<<2)|0;O=lM(M,o,e)|0;P=(f[n>>2]|0)+(X(f[f[c>>2]>>2]|0,O)|0)|0;O=q;Q=i;R=0;while(1){if((R|0)<(O|0)){S=R;do{f[N+(S<<2)>>2]=((j[P+(f[Q+(S+s<<2)>>2]<<1)>>1]|0)+(j[P+(f[Q+(S+q<<2)>>2]<<1)>>1]|0)<<2)+((j[P+(f[Q+(S+p<<2)>>2]<<1)>>1]|0)*6|0)+(j[P+(f[Q+(S<<2)>>2]<<1)>>1]|0)+(j[P+(f[Q+(S+v<<2)>>2]<<1)>>1]|0);S=S+1|0}while((S|0)!=(O|0));T=O}else T=R;if((T|0)==(t|0))break;switch(a&511){case 0:{if((T|0)<(m|0)){S=T;do{U=S<<1;f[N+(S<<2)>>2]=((j[P+(U<<1)>>1]|0)*6|0)+(j[P+(U+-2<<1)>>1]|0)+((j[P+((U|1)<<1)>>1]|0)+(j[P+(U+-1<<1)>>1]|0)<<2)+(j[P+(U+2<<1)>>1]|0);S=S+1|0}while((S|0)<(m|0));V=m}else V=T;break}case 2:{if((T|0)<(m|0)){S=T;while(1){U=P+(S<<1<<1)|0;W=((j[U+2>>1]|0)*6|0)+(j[U+-10>>1]|0)+((j[U+8>>1]|0)+(j[U+-4>>1]|0)<<2)+(j[U+14>>1]|0)|0;Y=((j[U+4>>1]|0)*6|0)+(j[U+-8>>1]|0)+((j[U+10>>1]|0)+(j[U+-2>>1]|0)<<2)+(j[U+16>>1]|0)|0;f[N+(S<<2)>>2]=((j[U>>1]|0)*6|0)+(j[U+-12>>1]|0)+((j[U+6>>1]|0)+(j[U+-6>>1]|0)<<2)+(j[U+12>>1]|0);f[N+(S+1<<2)>>2]=W;f[N+(S+2<<2)>>2]=Y;Y=S+3|0;if((Y|0)<(m|0))S=Y;else{V=Y;break}}}else V=T;break}case 3:{if((T|0)<(m|0)){S=T;while(1){Y=P+(S<<1<<1)|0;W=((j[Y+2>>1]|0)*6|0)+(j[Y+-14>>1]|0)+((j[Y+10>>1]|0)+(j[Y+-6>>1]|0)<<2)+(j[Y+18>>1]|0)|0;f[N+(S<<2)>>2]=((j[Y>>1]|0)*6|0)+(j[Y+-16>>1]|0)+((j[Y+8>>1]|0)+(j[Y+-8>>1]|0)<<2)+(j[Y+16>>1]|0);f[N+(S+1<<2)>>2]=W;W=((j[Y+6>>1]|0)*6|0)+(j[Y+-10>>1]|0)+((j[Y+14>>1]|0)+(j[Y+-2>>1]|0)<<2)+(j[Y+22>>1]|0)|0;f[N+(S+2<<2)>>2]=((j[Y+4>>1]|0)*6|0)+(j[Y+-12>>1]|0)+((j[Y+12>>1]|0)+(j[Y+-4>>1]|0)<<2)+(j[Y+20>>1]|0);f[N+(S+3<<2)>>2]=W;W=S+4|0;if((W|0)<(m|0))S=W;else{V=W;break}}}else V=T;break}default:if((T|0)<(m|0)){S=T;do{W=f[D+(S<<2)>>2]|0;f[N+(S<<2)>>2]=((j[P+(W<<1)>>1]|0)*6|0)+(j[P+(W-p<<1)>>1]|0)+((j[P+(W+q<<1)>>1]|0)+(j[P+(W-q<<1)>>1]|0)<<2)+(j[P+(W+p<<1)>>1]|0);S=S+1|0}while((S|0)<(m|0));V=m}else V=T}O=t;Q=k+(0-V<<2)|0;R=V}R=M+1|0;if((M|0)<(K|0))M=R;else{L=R;break}}}M=A+((X((J|0)%5|0,w)|0)<<2)|0;R=A+((X((J|1|0)%5|0,w)|0)<<2)|0;Q=A+((X((K|0)%5|0,w)|0)<<2)|0;O=A+((X((J+3|0)%5|0,w)|0)<<2)|0;P=A+((X((J+4|0)%5|0,w)|0)<<2)|0;if(C){N=0;do{d[I+(N<<1)>>1]=(((f[Q+(N<<2)>>2]|0)*6|0)+128+(f[M+(N<<2)>>2]|0)+((f[O+(N<<2)>>2]|0)+(f[R+(N<<2)>>2]|0)<<2)+(f[P+(N<<2)>>2]|0)|0)>>>8;N=N+1|0}while((N|0)!=(t|0))}F=F+1|0;if((F|0)>=(r|0))break;else H=L}}L=f[l>>2]|0;if((L|0)!=(B|0)){if(L|0)HQa(L);f[l>>2]=B;f[x>>2]=264}x=f[h>>2]|0;if((x|0)==(y|0)){u=g;return}if(x|0)HQa(x);f[h>>2]=y;f[z>>2]=264;u=g;return}function O9(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0.0,W=0.0;e=u;u=u+30816|0;g=e+29744|0;h=e+15408|0;i=e+1072|0;j=e+8|0;k=e;l=a+16|0;if(f[l>>2]|0){m=f[a+4>>2]|0;if((m|0)<3)o=X(f[a+12>>2]|0,f[a+8>>2]|0)|0;else{p=f[a+40>>2]|0;q=0;r=1;while(1){s=X(f[p+(q<<2)>>2]|0,r)|0;q=q+1|0;if((q|0)==(m|0)){o=s;break}else r=s}}if((m|0)==0|(o|0)==0)t=7}else t=7;if((t|0)==7){f[g>>2]=0;f[g+4>>2]=0;t=JV(g,13)|0;o=209046;m=t+13|0;do{b[t>>0]=b[o>>0]|0;t=t+1|0;o=o+1|0}while((t|0)<(m|0));EP(-215,g,209060,208986,858);KV(g)}o=f[a+40>>2]|0;t=f[o+4>>2]|0;m=f[o>>2]|0;o=f[c+40>>2]|0;r=f[o+4>>2]|0;q=f[o>>2]|0;o=(f[a>>2]|0)>>>3;p=(o&511)+1|0;s=X(p,r)|0;v=s+15&-16;w=(v*5|0)+16|0;x=g+8|0;f[g>>2]=x;y=g+4|0;f[y>>2]=w;if(w>>>0>264){z=FQa(w>>>0>1073741823?-1:w<<2)|0;f[g>>2]=z;A=z}else A=x;z=A+15&-16;A=j+8|0;f[j>>2]=A;w=j+4|0;f[w>>2]=s;if(s>>>0>264){B=FQa(s>>>0>1073741823?-1:s<<2)|0;f[j>>2]=B;C=B}else C=A;if(!(((t|0)>0&(m|0)>0?(B=(r<<1)-t|0,(((B|0)>-1?B:0-B|0)|0)<3):0)?(B=(q<<1)-m|0,(((B|0)>-1?B:0-B|0)|0)<3):0)){f[k>>2]=0;f[k+4>>2]=0;DVa(JV(k,129)|0,209069,129)|0;EP(-215,k,209060,208986,873);KV(k)}k=((t+-3|0)/2|0)+1|0;B=(r|0)<(k|0)?r:k;k=B<<1;r=X(lM(-2,t,d)|0,p)|0;D=X(lM(k+-2|0,t,d)|0,p)|0;E=0;do{f[h+(E<<2)>>2]=E+r;f[i+(E<<2)>>2]=E+D;E=E+1|0}while((E|0)!=(p|0));E=X(lM(-1,t,d)|0,p)|0;D=X(lM(k+-1|0,t,d)|0,p)|0;r=0;do{F=r+p|0;f[h+(F<<2)>>2]=r+E;f[i+(F<<2)>>2]=r+D;r=r+1|0}while((r|0)!=(p|0));r=X(lM(0,t,d)|0,p)|0;D=X(lM(k,t,d)|0,p)|0;E=p<<1;F=0;do{G=F+E|0;f[h+(G<<2)>>2]=F+r;f[i+(G<<2)>>2]=F+D;F=F+1|0}while((F|0)!=(p|0));F=X(lM(1,t,d)|0,p)|0;D=X(lM(k|1,t,d)|0,p)|0;r=p*3|0;E=0;do{G=E+r|0;f[h+(G<<2)>>2]=E+F;f[i+(G<<2)>>2]=E+D;E=E+1|0}while((E|0)!=(p|0));E=X(lM(2,t,d)|0,p)|0;D=X(lM(k+2|0,t,d)|0,p)|0;F=p<<2;G=0;do{H=G+F|0;f[h+(H<<2)>>2]=G+E;f[i+(H<<2)>>2]=G+D;G=G+1|0}while((G|0)!=(p|0));G=X(lM(3,t,d)|0,p)|0;D=X(lM(k+3|0,t,d)|0,p)|0;E=p*5|0;F=0;do{H=F+E|0;f[h+(H<<2)>>2]=F+G;f[i+(H<<2)>>2]=F+D;F=F+1|0}while((F|0)!=(p|0));F=X(lM(4,t,d)|0,p)|0;D=X(lM(k+4|0,t,d)|0,p)|0;t=p*6|0;k=0;do{G=k+t|0;f[h+(G<<2)>>2]=k+F;f[i+(G<<2)>>2]=k+D;k=k+1|0}while((k|0)!=(p|0));k=X(p,B)|0;B=(s|0)>0;if(B){D=p<<1;F=0;do{t=(X(D,(F>>>0)/(p>>>0)|0)|0)+((F|0)%(p|0)|0)|0;f[C+(F<<2)>>2]=t;F=F+1|0}while((F|0)!=(s|0))}if((q|0)>0){F=c+16|0;D=c+44|0;c=a+44|0;a=o&65535;o=p<<1;t=p<<2;G=-2;E=0;while(1){H=(f[F>>2]|0)+(X(f[f[D>>2]>>2]|0,E)|0)|0;I=E<<1;J=I+2|0;if((G|0)>(J|0))K=G;else{L=G;while(1){M=z+((X((L+2|0)%5|0,v)|0)<<2)|0;N=lM(L,m,d)|0;O=(f[l>>2]|0)+(X(f[f[c>>2]>>2]|0,N)|0)|0;N=p;P=h;Q=0;while(1){if((Q|0)<(N|0)){R=Q;do{n[M+(R<<2)>>2]=+n[O+(f[P+(R<<2)>>2]<<2)>>2]+(+n[O+(f[P+(R+o<<2)>>2]<<2)>>2]*6.0+(+n[O+(f[P+(R+p<<2)>>2]<<2)>>2]+ +n[O+(f[P+(R+r<<2)>>2]<<2)>>2])*4.0)+ +n[O+(f[P+(R+t<<2)>>2]<<2)>>2];R=R+1|0}while((R|0)!=(N|0));S=N}else S=Q;if((S|0)==(s|0))break;switch(a&511){case 0:{if((S|0)<(k|0)){R=S;do{T=R<<1;n[M+(R<<2)>>2]=+n[O+(T+2<<2)>>2]+(+n[O+(T+-2<<2)>>2]+(+n[O+(T<<2)>>2]*6.0+(+n[O+(T+-1<<2)>>2]+ +n[O+((T|1)<<2)>>2])*4.0));R=R+1|0}while((R|0)<(k|0));U=k}else U=S;break}case 2:{if((S|0)<(k|0)){R=S;while(1){T=O+(R<<1<<2)|0;V=+n[T+28>>2]+(+n[T+-20>>2]+(+n[T+4>>2]*6.0+(+n[T+-8>>2]+ +n[T+16>>2])*4.0));W=+n[T+32>>2]+(+n[T+-16>>2]+(+n[T+8>>2]*6.0+(+n[T+-4>>2]+ +n[T+20>>2])*4.0));n[M+(R<<2)>>2]=+n[T+24>>2]+(+n[T+-24>>2]+(+n[T>>2]*6.0+(+n[T+-12>>2]+ +n[T+12>>2])*4.0));n[M+(R+1<<2)>>2]=V;n[M+(R+2<<2)>>2]=W;T=R+3|0;if((T|0)<(k|0))R=T;else{U=T;break}}}else U=S;break}case 3:{if((S|0)<(k|0)){R=S;while(1){T=O+(R<<1<<2)|0;W=+n[T+36>>2]+(+n[T+-28>>2]+(+n[T+4>>2]*6.0+(+n[T+-12>>2]+ +n[T+20>>2])*4.0));n[M+(R<<2)>>2]=+n[T+32>>2]+(+n[T+-32>>2]+(+n[T>>2]*6.0+(+n[T+-16>>2]+ +n[T+16>>2])*4.0));n[M+(R+1<<2)>>2]=W;W=+n[T+44>>2]+(+n[T+-20>>2]+(+n[T+12>>2]*6.0+(+n[T+-4>>2]+ +n[T+28>>2])*4.0));n[M+(R+2<<2)>>2]=+n[T+40>>2]+(+n[T+-24>>2]+(+n[T+8>>2]*6.0+(+n[T+-8>>2]+ +n[T+24>>2])*4.0));n[M+(R+3<<2)>>2]=W;T=R+4|0;if((T|0)<(k|0))R=T;else{U=T;break}}}else U=S;break}default:if((S|0)<(k|0)){R=S;do{T=f[C+(R<<2)>>2]|0;n[M+(R<<2)>>2]=+n[O+(T+o<<2)>>2]+(+n[O+(T-o<<2)>>2]+(+n[O+(T<<2)>>2]*6.0+(+n[O+(T-p<<2)>>2]+ +n[O+(T+p<<2)>>2])*4.0));R=R+1|0}while((R|0)<(k|0));U=k}else U=S}N=s;P=i+(0-U<<2)|0;Q=U}Q=L+1|0;if((L|0)<(J|0))L=Q;else{K=Q;break}}}L=z+((X((I|0)%5|0,v)|0)<<2)|0;Q=z+((X((I|1|0)%5|0,v)|0)<<2)|0;P=z+((X((J|0)%5|0,v)|0)<<2)|0;N=z+((X((I+3|0)%5|0,v)|0)<<2)|0;O=z+((X((I+4|0)%5|0,v)|0)<<2)|0;if(B){M=0;do{n[H+(M<<2)>>2]=(+n[O+(M<<2)>>2]+(+n[L+(M<<2)>>2]+(+n[P+(M<<2)>>2]*6.0+(+n[Q+(M<<2)>>2]+ +n[N+(M<<2)>>2])*4.0)))*.00390625;M=M+1|0}while((M|0)!=(s|0))}E=E+1|0;if((E|0)>=(q|0))break;else G=K}}K=f[j>>2]|0;if((K|0)!=(A|0)){if(K|0)HQa(K);f[j>>2]=A;f[w>>2]=264}w=f[g>>2]|0;if((w|0)==(x|0)){u=e;return}if(w|0)HQa(w);f[g>>2]=x;f[y>>2]=264;u=e;return}function P9(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0.0,W=0.0;e=u;u=u+30848|0;g=e;h=e+16504|0;i=e+2168|0;j=e+1104|0;k=e+1096|0;l=a+16|0;if(f[l>>2]|0){m=f[a+4>>2]|0;if((m|0)<3)n=X(f[a+12>>2]|0,f[a+8>>2]|0)|0;else{o=f[a+40>>2]|0;q=0;r=1;while(1){s=X(f[o+(q<<2)>>2]|0,r)|0;q=q+1|0;if((q|0)==(m|0)){n=s;break}else r=s}}if((m|0)==0|(n|0)==0)t=7}else t=7;if((t|0)==7){f[g>>2]=0;f[g+4>>2]=0;t=JV(g,13)|0;n=209046;m=t+13|0;do{b[t>>0]=b[n>>0]|0;t=t+1|0;n=n+1|0}while((t|0)<(m|0));EP(-215,g,209060,208986,858);KV(g)}n=f[a+40>>2]|0;t=f[n+4>>2]|0;m=f[n>>2]|0;n=f[c+40>>2]|0;r=f[n+4>>2]|0;q=f[n>>2]|0;n=(f[a>>2]|0)>>>3;o=(n&511)+1|0;s=X(o,r)|0;v=s+15&-16;w=(v*5|0)+16|0;x=g+8|0;f[g>>2]=x;y=g+4|0;f[y>>2]=w;if(w>>>0>136){z=FQa(w>>>0>536870911?-1:w<<3)|0;f[g>>2]=z;A=z}else A=x;z=A+15&-16;A=j+8|0;f[j>>2]=A;w=j+4|0;f[w>>2]=s;if(s>>>0>264){B=FQa(s>>>0>1073741823?-1:s<<2)|0;f[j>>2]=B;C=B}else C=A;if(!(((t|0)>0&(m|0)>0?(B=(r<<1)-t|0,(((B|0)>-1?B:0-B|0)|0)<3):0)?(B=(q<<1)-m|0,(((B|0)>-1?B:0-B|0)|0)<3):0)){f[k>>2]=0;f[k+4>>2]=0;DVa(JV(k,129)|0,209069,129)|0;EP(-215,k,209060,208986,873);KV(k)}k=((t+-3|0)/2|0)+1|0;B=(r|0)<(k|0)?r:k;k=B<<1;r=X(lM(-2,t,d)|0,o)|0;D=X(lM(k+-2|0,t,d)|0,o)|0;E=0;do{f[h+(E<<2)>>2]=E+r;f[i+(E<<2)>>2]=E+D;E=E+1|0}while((E|0)!=(o|0));E=X(lM(-1,t,d)|0,o)|0;D=X(lM(k+-1|0,t,d)|0,o)|0;r=0;do{F=r+o|0;f[h+(F<<2)>>2]=r+E;f[i+(F<<2)>>2]=r+D;r=r+1|0}while((r|0)!=(o|0));r=X(lM(0,t,d)|0,o)|0;D=X(lM(k,t,d)|0,o)|0;E=o<<1;F=0;do{G=F+E|0;f[h+(G<<2)>>2]=F+r;f[i+(G<<2)>>2]=F+D;F=F+1|0}while((F|0)!=(o|0));F=X(lM(1,t,d)|0,o)|0;D=X(lM(k|1,t,d)|0,o)|0;r=o*3|0;E=0;do{G=E+r|0;f[h+(G<<2)>>2]=E+F;f[i+(G<<2)>>2]=E+D;E=E+1|0}while((E|0)!=(o|0));E=X(lM(2,t,d)|0,o)|0;D=X(lM(k+2|0,t,d)|0,o)|0;F=o<<2;G=0;do{H=G+F|0;f[h+(H<<2)>>2]=G+E;f[i+(H<<2)>>2]=G+D;G=G+1|0}while((G|0)!=(o|0));G=X(lM(3,t,d)|0,o)|0;D=X(lM(k+3|0,t,d)|0,o)|0;E=o*5|0;F=0;do{H=F+E|0;f[h+(H<<2)>>2]=F+G;f[i+(H<<2)>>2]=F+D;F=F+1|0}while((F|0)!=(o|0));F=X(lM(4,t,d)|0,o)|0;D=X(lM(k+4|0,t,d)|0,o)|0;t=o*6|0;k=0;do{G=k+t|0;f[h+(G<<2)>>2]=k+F;f[i+(G<<2)>>2]=k+D;k=k+1|0}while((k|0)!=(o|0));k=X(o,B)|0;B=(s|0)>0;if(B){D=o<<1;F=0;do{t=(X(D,(F>>>0)/(o>>>0)|0)|0)+((F|0)%(o|0)|0)|0;f[C+(F<<2)>>2]=t;F=F+1|0}while((F|0)!=(s|0))}if((q|0)>0){F=c+16|0;D=c+44|0;c=a+44|0;a=n&65535;n=o<<1;t=o<<2;G=-2;E=0;while(1){H=(f[F>>2]|0)+(X(f[f[D>>2]>>2]|0,E)|0)|0;I=E<<1;J=I+2|0;if((G|0)>(J|0))K=G;else{L=G;while(1){M=z+((X((L+2|0)%5|0,v)|0)<<3)|0;N=lM(L,m,d)|0;O=(f[l>>2]|0)+(X(f[f[c>>2]>>2]|0,N)|0)|0;N=o;P=h;Q=0;while(1){if((Q|0)<(N|0)){R=Q;do{p[M+(R<<3)>>3]=+p[O+(f[P+(R<<2)>>2]<<3)>>3]+(+p[O+(f[P+(R+n<<2)>>2]<<3)>>3]*6.0+(+p[O+(f[P+(R+o<<2)>>2]<<3)>>3]+ +p[O+(f[P+(R+r<<2)>>2]<<3)>>3])*4.0)+ +p[O+(f[P+(R+t<<2)>>2]<<3)>>3];R=R+1|0}while((R|0)!=(N|0));S=N}else S=Q;if((S|0)==(s|0))break;switch(a&511){case 0:{if((S|0)<(k|0)){R=S;do{T=R<<1;p[M+(R<<3)>>3]=+p[O+(T+2<<3)>>3]+(+p[O+(T+-2<<3)>>3]+(+p[O+(T<<3)>>3]*6.0+(+p[O+(T+-1<<3)>>3]+ +p[O+((T|1)<<3)>>3])*4.0));R=R+1|0}while((R|0)<(k|0));U=k}else U=S;break}case 2:{if((S|0)<(k|0)){R=S;while(1){T=O+(R<<1<<3)|0;V=+p[T+56>>3]+(+p[T+-40>>3]+(+p[T+8>>3]*6.0+(+p[T+-16>>3]+ +p[T+32>>3])*4.0));W=+p[T+64>>3]+(+p[T+-32>>3]+(+p[T+16>>3]*6.0+(+p[T+-8>>3]+ +p[T+40>>3])*4.0));p[M+(R<<3)>>3]=+p[T+48>>3]+(+p[T+-48>>3]+(+p[T>>3]*6.0+(+p[T+-24>>3]+ +p[T+24>>3])*4.0));p[M+(R+1<<3)>>3]=V;p[M+(R+2<<3)>>3]=W;T=R+3|0;if((T|0)<(k|0))R=T;else{U=T;break}}}else U=S;break}case 3:{if((S|0)<(k|0)){R=S;while(1){T=O+(R<<1<<3)|0;W=+p[T+72>>3]+(+p[T+-56>>3]+(+p[T+8>>3]*6.0+(+p[T+-24>>3]+ +p[T+40>>3])*4.0));p[M+(R<<3)>>3]=+p[T+64>>3]+(+p[T+-64>>3]+(+p[T>>3]*6.0+(+p[T+-32>>3]+ +p[T+32>>3])*4.0));p[M+(R+1<<3)>>3]=W;W=+p[T+88>>3]+(+p[T+-40>>3]+(+p[T+24>>3]*6.0+(+p[T+-8>>3]+ +p[T+56>>3])*4.0));p[M+(R+2<<3)>>3]=+p[T+80>>3]+(+p[T+-48>>3]+(+p[T+16>>3]*6.0+(+p[T+-16>>3]+ +p[T+48>>3])*4.0));p[M+(R+3<<3)>>3]=W;T=R+4|0;if((T|0)<(k|0))R=T;else{U=T;break}}}else U=S;break}default:if((S|0)<(k|0)){R=S;do{T=f[C+(R<<2)>>2]|0;p[M+(R<<3)>>3]=+p[O+(T+n<<3)>>3]+(+p[O+(T-n<<3)>>3]+(+p[O+(T<<3)>>3]*6.0+(+p[O+(T-o<<3)>>3]+ +p[O+(T+o<<3)>>3])*4.0));R=R+1|0}while((R|0)<(k|0));U=k}else U=S}N=s;P=i+(0-U<<2)|0;Q=U}Q=L+1|0;if((L|0)<(J|0))L=Q;else{K=Q;break}}}L=z+((X((I|0)%5|0,v)|0)<<3)|0;Q=z+((X((I|1|0)%5|0,v)|0)<<3)|0;P=z+((X((J|0)%5|0,v)|0)<<3)|0;N=z+((X((I+3|0)%5|0,v)|0)<<3)|0;O=z+((X((I+4|0)%5|0,v)|0)<<3)|0;if(B){M=0;do{p[H+(M<<3)>>3]=(+p[O+(M<<3)>>3]+(+p[L+(M<<3)>>3]+(+p[P+(M<<3)>>3]*6.0+(+p[Q+(M<<3)>>3]+ +p[N+(M<<3)>>3])*4.0)))*.00390625;M=M+1|0}while((M|0)!=(s|0))}E=E+1|0;if((E|0)>=(q|0))break;else G=K}}K=f[j>>2]|0;if((K|0)!=(A|0)){if(K|0)HQa(K);f[j>>2]=A;f[w>>2]=264}w=f[g>>2]|0;if((w|0)==(x|0)){u=e;return}if(w|0)HQa(w);f[g>>2]=x;f[y>>2]=136;u=e;return}function Q9(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;e=u;u=u+30816|0;g=e+29744|0;i=e+15408|0;j=e+1072|0;k=e+8|0;l=e;m=a+16|0;if(f[m>>2]|0){n=f[a+4>>2]|0;if((n|0)<3)o=X(f[a+12>>2]|0,f[a+8>>2]|0)|0;else{p=f[a+40>>2]|0;q=0;r=1;while(1){s=X(f[p+(q<<2)>>2]|0,r)|0;q=q+1|0;if((q|0)==(n|0)){o=s;break}else r=s}}if((n|0)==0|(o|0)==0)t=7}else t=7;if((t|0)==7){f[g>>2]=0;f[g+4>>2]=0;t=JV(g,13)|0;o=209046;n=t+13|0;do{b[t>>0]=b[o>>0]|0;t=t+1|0;o=o+1|0}while((t|0)<(n|0));EP(-215,g,209060,208986,858);KV(g)}o=f[a+40>>2]|0;t=f[o+4>>2]|0;n=f[o>>2]|0;o=f[c+40>>2]|0;r=f[o+4>>2]|0;q=f[o>>2]|0;o=(f[a>>2]|0)>>>3;p=(o&511)+1|0;s=X(p,r)|0;v=s+15&-16;w=(v*5|0)+16|0;x=g+8|0;f[g>>2]=x;y=g+4|0;f[y>>2]=w;if(w>>>0>264){z=FQa(w>>>0>1073741823?-1:w<<2)|0;f[g>>2]=z;A=z}else A=x;z=A+15&-16;A=k+8|0;f[k>>2]=A;w=k+4|0;f[w>>2]=s;if(s>>>0>264){B=FQa(s>>>0>1073741823?-1:s<<2)|0;f[k>>2]=B;C=B}else C=A;if(!(((t|0)>0&(n|0)>0?(B=(r<<1)-t|0,(((B|0)>-1?B:0-B|0)|0)<3):0)?(B=(q<<1)-n|0,(((B|0)>-1?B:0-B|0)|0)<3):0)){f[l>>2]=0;f[l+4>>2]=0;DVa(JV(l,129)|0,209069,129)|0;EP(-215,l,209060,208986,873);KV(l)}l=((t+-3|0)/2|0)+1|0;B=(r|0)<(l|0)?r:l;l=B<<1;r=X(lM(-2,t,d)|0,p)|0;D=X(lM(l+-2|0,t,d)|0,p)|0;E=0;do{f[i+(E<<2)>>2]=E+r;f[j+(E<<2)>>2]=E+D;E=E+1|0}while((E|0)!=(p|0));E=X(lM(-1,t,d)|0,p)|0;D=X(lM(l+-1|0,t,d)|0,p)|0;r=0;do{F=r+p|0;f[i+(F<<2)>>2]=r+E;f[j+(F<<2)>>2]=r+D;r=r+1|0}while((r|0)!=(p|0));r=X(lM(0,t,d)|0,p)|0;D=X(lM(l,t,d)|0,p)|0;E=p<<1;F=0;do{G=F+E|0;f[i+(G<<2)>>2]=F+r;f[j+(G<<2)>>2]=F+D;F=F+1|0}while((F|0)!=(p|0));F=X(lM(1,t,d)|0,p)|0;D=X(lM(l|1,t,d)|0,p)|0;r=p*3|0;E=0;do{G=E+r|0;f[i+(G<<2)>>2]=E+F;f[j+(G<<2)>>2]=E+D;E=E+1|0}while((E|0)!=(p|0));E=X(lM(2,t,d)|0,p)|0;D=X(lM(l+2|0,t,d)|0,p)|0;F=p<<2;G=0;do{H=G+F|0;f[i+(H<<2)>>2]=G+E;f[j+(H<<2)>>2]=G+D;G=G+1|0}while((G|0)!=(p|0));G=X(lM(3,t,d)|0,p)|0;D=X(lM(l+3|0,t,d)|0,p)|0;E=p*5|0;F=0;do{H=F+E|0;f[i+(H<<2)>>2]=F+G;f[j+(H<<2)>>2]=F+D;F=F+1|0}while((F|0)!=(p|0));F=X(lM(4,t,d)|0,p)|0;D=X(lM(l+4|0,t,d)|0,p)|0;t=p*6|0;l=0;do{G=l+t|0;f[i+(G<<2)>>2]=l+F;f[j+(G<<2)>>2]=l+D;l=l+1|0}while((l|0)!=(p|0));l=X(p,B)|0;B=(s|0)>0;if(B){D=p<<1;F=0;do{t=(X(D,(F>>>0)/(p>>>0)|0)|0)+((F|0)%(p|0)|0)|0;f[C+(F<<2)>>2]=t;F=F+1|0}while((F|0)!=(s|0))}if((q|0)>0){F=c+16|0;D=c+44|0;c=a+44|0;a=o&65535;o=p<<1;t=p<<2;G=-2;E=0;while(1){H=(f[F>>2]|0)+(X(f[f[D>>2]>>2]|0,E)|0)|0;I=E<<1;J=I+2|0;if((G|0)>(J|0))K=G;else{L=G;while(1){M=z+((X((L+2|0)%5|0,v)|0)<<2)|0;N=lM(L,n,d)|0;O=(f[m>>2]|0)+(X(f[f[c>>2]>>2]|0,N)|0)|0;N=p;P=i;Q=0;while(1){if((Q|0)<(N|0)){R=Q;do{f[M+(R<<2)>>2]=((h[O+(f[P+(R+r<<2)>>2]|0)>>0]|0)+(h[O+(f[P+(R+p<<2)>>2]|0)>>0]|0)<<2)+((h[O+(f[P+(R+o<<2)>>2]|0)>>0]|0)*6|0)+(h[O+(f[P+(R<<2)>>2]|0)>>0]|0)+(h[O+(f[P+(R+t<<2)>>2]|0)>>0]|0);R=R+1|0}while((R|0)!=(N|0));S=N}else S=Q;if((S|0)==(s|0))break;switch(a&511){case 0:{if((S|0)<(l|0)){R=S;do{T=R<<1;f[M+(R<<2)>>2]=((h[O+T>>0]|0)*6|0)+(h[O+(T+-2)>>0]|0)+((h[O+(T|1)>>0]|0)+(h[O+(T+-1)>>0]|0)<<2)+(h[O+(T+2)>>0]|0);R=R+1|0}while((R|0)<(l|0));U=l}else U=S;break}case 2:{if((S|0)<(l|0)){R=S;while(1){T=O+(R<<1)|0;V=((h[T+1>>0]|0)*6|0)+(h[T+-5>>0]|0)+((h[T+4>>0]|0)+(h[T+-2>>0]|0)<<2)+(h[T+7>>0]|0)|0;W=((h[T+2>>0]|0)*6|0)+(h[T+-4>>0]|0)+((h[T+5>>0]|0)+(h[T+-1>>0]|0)<<2)+(h[T+8>>0]|0)|0;f[M+(R<<2)>>2]=((h[T>>0]|0)*6|0)+(h[T+-6>>0]|0)+((h[T+3>>0]|0)+(h[T+-3>>0]|0)<<2)+(h[T+6>>0]|0);f[M+(R+1<<2)>>2]=V;f[M+(R+2<<2)>>2]=W;W=R+3|0;if((W|0)<(l|0))R=W;else{U=W;break}}}else U=S;break}case 3:{if((S|0)<(l|0)){R=S;while(1){W=O+(R<<1)|0;V=((h[W+1>>0]|0)*6|0)+(h[W+-7>>0]|0)+((h[W+5>>0]|0)+(h[W+-3>>0]|0)<<2)+(h[W+9>>0]|0)|0;f[M+(R<<2)>>2]=((h[W>>0]|0)*6|0)+(h[W+-8>>0]|0)+((h[W+4>>0]|0)+(h[W+-4>>0]|0)<<2)+(h[W+8>>0]|0);f[M+(R+1<<2)>>2]=V;V=((h[W+3>>0]|0)*6|0)+(h[W+-5>>0]|0)+((h[W+7>>0]|0)+(h[W+-1>>0]|0)<<2)+(h[W+11>>0]|0)|0;f[M+(R+2<<2)>>2]=((h[W+2>>0]|0)*6|0)+(h[W+-6>>0]|0)+((h[W+6>>0]|0)+(h[W+-2>>0]|0)<<2)+(h[W+10>>0]|0);f[M+(R+3<<2)>>2]=V;V=R+4|0;if((V|0)<(l|0))R=V;else{U=V;break}}}else U=S;break}default:if((S|0)<(l|0)){R=S;do{V=f[C+(R<<2)>>2]|0;f[M+(R<<2)>>2]=((h[O+V>>0]|0)*6|0)+(h[O+(V-o)>>0]|0)+((h[O+(V+p)>>0]|0)+(h[O+(V-p)>>0]|0)<<2)+(h[O+(V+o)>>0]|0);R=R+1|0}while((R|0)<(l|0));U=l}else U=S}N=s;P=j+(0-U<<2)|0;Q=U}Q=L+1|0;if((L|0)<(J|0))L=Q;else{K=Q;break}}}L=z+((X((I|0)%5|0,v)|0)<<2)|0;Q=z+((X((I|1|0)%5|0,v)|0)<<2)|0;P=z+((X((J|0)%5|0,v)|0)<<2)|0;N=z+((X((I+3|0)%5|0,v)|0)<<2)|0;O=z+((X((I+4|0)%5|0,v)|0)<<2)|0;if(B){M=0;do{b[H+M>>0]=(((f[P+(M<<2)>>2]|0)*6|0)+128+(f[L+(M<<2)>>2]|0)+((f[N+(M<<2)>>2]|0)+(f[Q+(M<<2)>>2]|0)<<2)+(f[O+(M<<2)>>2]|0)|0)>>>8;M=M+1|0}while((M|0)!=(s|0))}E=E+1|0;if((E|0)>=(q|0))break;else G=K}}K=f[k>>2]|0;if((K|0)!=(A|0)){if(K|0)HQa(K);f[k>>2]=A;f[w>>2]=264}w=f[g>>2]|0;if((w|0)==(x|0)){u=e;return}if(w|0)HQa(w);f[g>>2]=x;f[y>>2]=264;u=e;return}function R9(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;g=u;u=u+144|0;h=g+128|0;i=g+72|0;j=g+64|0;k=g+8|0;l=g;yV(h,48168);if((e|0)!=4){f[i>>2]=0;f[i+4>>2]=0;m=JV(i,28)|0;n=209272;o=m+28|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,i,209301,208986,1454);KV(i)}do if((HJ(a)|0)==65536){n=f[a+4>>2]|0;f[i>>2]=f[n>>2];m=i+4|0;o=n+4|0;f[m>>2]=f[o>>2];p=i+8|0;f[p>>2]=f[n+8>>2];f[i+12>>2]=f[n+12>>2];f[i+16>>2]=f[n+16>>2];f[i+20>>2]=f[n+20>>2];f[i+24>>2]=f[n+24>>2];f[i+28>>2]=f[n+28>>2];f[i+32>>2]=f[n+32>>2];q=f[n+36>>2]|0;f[i+36>>2]=q;f[i+40>>2]=p;p=i+48|0;r=i+44|0;f[r>>2]=p;f[p>>2]=0;f[i+52>>2]=0;if(q|0){p=q+12|0;f[p>>2]=(f[p>>2]|0)+1}if((f[o>>2]|0)<3){o=f[n+44>>2]|0;p=f[r>>2]|0;f[p>>2]=f[o>>2];f[p+4>>2]=f[o+4>>2];break}else{f[m>>2]=0;WO(i,n);break}}else DJ(i,a,-1);while(0);a=f[d>>2]|0;n=f[d+4>>2]|0;if(!(X(n,a)|0)){s=f[i+12>>2]<<1;t=f[i+8>>2]<<1}else{s=a;t=n}f[j>>2]=s;f[j+4>>2]=t;_J(c,j,f[i>>2]&4095,-1,0,0);do if((HJ(c)|0)==65536){j=f[c+4>>2]|0;f[k>>2]=f[j>>2];t=k+4|0;s=j+4|0;f[t>>2]=f[s>>2];n=k+8|0;f[n>>2]=f[j+8>>2];f[k+12>>2]=f[j+12>>2];f[k+16>>2]=f[j+16>>2];f[k+20>>2]=f[j+20>>2];f[k+24>>2]=f[j+24>>2];f[k+28>>2]=f[j+28>>2];f[k+32>>2]=f[j+32>>2];a=f[j+36>>2]|0;f[k+36>>2]=a;f[k+40>>2]=n;n=k+48|0;d=k+44|0;f[d>>2]=n;f[n>>2]=0;f[k+52>>2]=0;if(a|0){n=a+12|0;f[n>>2]=(f[n>>2]|0)+1}if((f[s>>2]|0)<3){s=f[j+44>>2]|0;n=f[d>>2]|0;f[n>>2]=f[s>>2];f[n+4>>2]=f[s+4>>2];break}else{f[t>>2]=0;WO(k,j);break}}else DJ(k,c,-1);while(0);switch(f[i>>2]&7){case 0:{v=177;break}case 3:{v=178;break}case 2:{v=179;break}case 5:{v=180;break}case 6:{v=181;break}default:{f[l>>2]=0;f[l+4>>2]=0;EP(-210,l,209301,208986,1491);KV(l)}}Rg[v&255](i,k,e);e=k+36|0;v=f[e>>2]|0;if(v|0?(l=v+12|0,v=f[l>>2]|0,f[l>>2]=v+-1,(v|0)==1):0)XO(k);f[e>>2]=0;e=k+16|0;v=k+4|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;if((f[v>>2]|0)>0){e=f[k+40>>2]|0;l=0;do{f[e+(l<<2)>>2]=0;l=l+1|0}while((l|0)<(f[v>>2]|0))}v=f[k+44>>2]|0;if((v|0)!=(k+48|0))dX(v);v=i+36|0;k=f[v>>2]|0;if(k|0?(l=k+12|0,k=f[l>>2]|0,f[l>>2]=k+-1,(k|0)==1):0)XO(i);f[v>>2]=0;v=i+16|0;k=i+4|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;if((f[k>>2]|0)>0){v=f[i+40>>2]|0;l=0;do{f[v+(l<<2)>>2]=0;l=l+1|0}while((l|0)<(f[k>>2]|0))}k=f[i+44>>2]|0;if((k|0)!=(i+48|0))dX(k);if(!(f[h+4>>2]|0)){u=g;return}u=g;return}function S9(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;e=u;u=u+2144|0;g=e+1072|0;h=e+8|0;i=e;j=f[a+40>>2]|0;k=f[j+4>>2]|0;l=f[j>>2]|0;j=f[c+40>>2]|0;m=f[j+4>>2]|0;n=f[j>>2]|0;j=((f[a>>2]|0)>>>3&511)+1|0;o=(X(j,m+1|0)|0)+15&-16;p=(o*3|0)+16|0;q=g+8|0;f[g>>2]=q;r=g+4|0;f[r>>2]=p;if(p>>>0>264){s=FQa(p>>>0>1073741823?-1:p<<2)|0;f[g>>2]=s;t=s}else t=q;s=t+15&-16;t=X(j,k)|0;p=h+8|0;f[h>>2]=p;v=h+4|0;f[v>>2]=t;if(t>>>0>264){w=FQa(t>>>0>1073741823?-1:t<<2)|0;f[h>>2]=w;x=w}else x=p;w=m-(k<<1)|0;if(!((((w|0)>-1?w:0-w|0)|0)==((m|0)%2|0|0)?(w=n-(l<<1)|0,(((w|0)>-1?w:0-w|0)|0)==((n|0)%2|0|0)):0)){f[i>>2]=0;f[i+4>>2]=0;w=JV(i,119)|0;k=209307;y=w+119|0;do{b[w>>0]=b[k>>0]|0;w=w+1|0;k=k+1|0}while((w|0)<(y|0));EP(-215,i,209427,208986,996);KV(i)}i=X(j,m)|0;if((t|0)>0){m=j<<1;k=0;do{w=(X(m,(k>>>0)/(j>>>0)|0)|0)+((k|0)%(j|0)|0)|0;f[x+(k<<2)>>2]=w;k=k+1|0}while((k|0)!=(t|0))}if((l|0)>0){k=c+16|0;m=c+44|0;w=n+-1|0;y=(i|0)>0;z=l<<1;A=a+16|0;B=a+44|0;a=(t|0)==(j|0);C=t-j|0;D=(i|0)>(t<<1|0);t=c+12|0;E=(j|0)<(C|0);F=-1;G=0;while(1){H=G<<1;I=f[k>>2]|0;J=f[f[m>>2]>>2]|0;K=I+(X(J,H)|0)|0;L=H|1;H=I+(X(J,(w|0)<(L|0)?w:L)|0)|0;L=G;G=G+1|0;if((F|0)>(G|0))M=F;else{J=F;while(1){I=J+1|0;N=s+((X((I|0)%3|0,o)|0)<<2)|0;O=(lM(J<<1,z,4)|0)/2|0;P=(f[A>>2]|0)+(X(f[f[B>>2]>>2]|0,O)|0)|0;if(!a){if(D){O=0;do{Q=f[x+(O<<2)>>2]|0;R=d[P+(O<<1)>>1]|0;S=d[P+(O+j<<1)>>1]|0;f[N+(Q<<2)>>2]=(S<<1)+(R*6|0);f[N+(Q+j<<2)>>2]=S+R<<2;R=O+C|0;S=f[x+(R<<2)>>2]|0;Q=d[P+(R<<1)>>1]|0;T=Q<<3;f[N+(S<<2)>>2]=(Q*7|0)+(d[P+(R-j<<1)>>1]|0);f[N+(S+j<<2)>>2]=T;f[N+(O+-1+(f[t>>2]|0)<<2)>>2]=T;O=O+1|0}while((O|0)!=(j|0))}else{O=0;do{T=f[x+(O<<2)>>2]|0;S=d[P+(O<<1)>>1]|0;R=d[P+(O+j<<1)>>1]|0;f[N+(T<<2)>>2]=(R<<1)+(S*6|0);f[N+(T+j<<2)>>2]=R+S<<2;S=O+C|0;R=f[x+(S<<2)>>2]|0;T=d[P+(S<<1)>>1]|0;f[N+(R<<2)>>2]=(T*7|0)+(d[P+(S-j<<1)>>1]|0);f[N+(R+j<<2)>>2]=T<<3;O=O+1|0}while((O|0)!=(j|0))}if(E){O=j;do{T=f[x+(O<<2)>>2]|0;R=d[P+(O<<1)>>1]|0;S=d[P+(O+j<<1)>>1]|0;f[N+(T<<2)>>2]=(R*6|0)+(d[P+(O-j<<1)>>1]|0)+S;f[N+(T+j<<2)>>2]=S+R<<2;O=O+1|0}while((O|0)!=(C|0))}}else{O=0;do{R=d[P+(O<<1)>>1]<<3;f[N+(O+j<<2)>>2]=R;f[N+(O<<2)>>2]=R;O=O+1|0}while((O|0)!=(j|0))}if((J|0)>(L|0)){M=I;break}else J=I}}J=s+((X((L|0)%3|0,o)|0)<<2)|0;O=s+((X((G|0)%3|0,o)|0)<<2)|0;N=s+((X((L+2|0)%3|0,o)|0)<<2)|0;if(y){P=0;do{R=f[O+(P<<2)>>2]|0;S=f[N+(P<<2)>>2]|0;T=((R*6|0)+32+S+(f[J+(P<<2)>>2]|0)|0)>>>6&65535;d[H+(P<<1)>>1]=((S+R<<2)+32|0)>>>6;d[K+(P<<1)>>1]=T;P=P+1|0}while((P|0)!=(i|0))}if((G|0)>=(l|0)){U=z;break}else F=M}}else U=l<<1;if((n|0)>(U|0)?(n=f[c+16>>2]|0,l=f[f[c+44>>2]>>2]|0,c=n+(X(l,U+-2|0)|0)|0,M=n+(X(l,U)|0)|0,(i|0)>0):0){U=0;do{d[M+(U<<1)>>1]=d[c+(U<<1)>>1]|0;U=U+1|0}while((U|0)!=(i|0))}i=f[h>>2]|0;if((i|0)!=(p|0)){if(i|0)HQa(i);f[h>>2]=p;f[v>>2]=264}v=f[g>>2]|0;if((v|0)==(q|0)){u=e;return}if(v|0)HQa(v);f[g>>2]=q;f[r>>2]=264;u=e;return}function T9(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;e=u;u=u+2144|0;g=e+1072|0;h=e+8|0;i=e;k=f[a+40>>2]|0;l=f[k+4>>2]|0;m=f[k>>2]|0;k=f[c+40>>2]|0;n=f[k+4>>2]|0;o=f[k>>2]|0;k=((f[a>>2]|0)>>>3&511)+1|0;p=(X(k,n+1|0)|0)+15&-16;q=(p*3|0)+16|0;r=g+8|0;f[g>>2]=r;s=g+4|0;f[s>>2]=q;if(q>>>0>264){t=FQa(q>>>0>1073741823?-1:q<<2)|0;f[g>>2]=t;v=t}else v=r;t=v+15&-16;v=X(k,l)|0;q=h+8|0;f[h>>2]=q;w=h+4|0;f[w>>2]=v;if(v>>>0>264){x=FQa(v>>>0>1073741823?-1:v<<2)|0;f[h>>2]=x;y=x}else y=q;x=n-(l<<1)|0;if(!((((x|0)>-1?x:0-x|0)|0)==((n|0)%2|0|0)?(x=o-(m<<1)|0,(((x|0)>-1?x:0-x|0)|0)==((o|0)%2|0|0)):0)){f[i>>2]=0;f[i+4>>2]=0;x=JV(i,119)|0;l=209307;z=x+119|0;do{b[x>>0]=b[l>>0]|0;x=x+1|0;l=l+1|0}while((x|0)<(z|0));EP(-215,i,209427,208986,996);KV(i)}i=X(k,n)|0;if((v|0)>0){n=k<<1;l=0;do{x=(X(n,(l>>>0)/(k>>>0)|0)|0)+((l|0)%(k|0)|0)|0;f[y+(l<<2)>>2]=x;l=l+1|0}while((l|0)!=(v|0))}if((m|0)>0){l=c+16|0;n=c+44|0;x=o+-1|0;z=(i|0)>0;A=m<<1;B=a+16|0;C=a+44|0;a=(v|0)==(k|0);D=v-k|0;E=(i|0)>(v<<1|0);v=c+12|0;F=(k|0)<(D|0);G=-1;H=0;while(1){I=H<<1;J=f[l>>2]|0;K=f[f[n>>2]>>2]|0;L=J+(X(K,I)|0)|0;M=I|1;I=J+(X(K,(x|0)<(M|0)?x:M)|0)|0;M=H;H=H+1|0;if((G|0)>(H|0))N=G;else{K=G;while(1){J=K+1|0;O=t+((X((J|0)%3|0,p)|0)<<2)|0;P=(lM(K<<1,A,4)|0)/2|0;Q=(f[B>>2]|0)+(X(f[f[C>>2]>>2]|0,P)|0)|0;if(!a){if(E){P=0;do{R=f[y+(P<<2)>>2]|0;S=j[Q+(P<<1)>>1]|0;T=j[Q+(P+k<<1)>>1]|0;f[O+(R<<2)>>2]=(T<<1)+(S*6|0);f[O+(R+k<<2)>>2]=T+S<<2;S=P+D|0;T=f[y+(S<<2)>>2]|0;R=j[Q+(S<<1)>>1]|0;U=R<<3;f[O+(T<<2)>>2]=(R*7|0)+(j[Q+(S-k<<1)>>1]|0);f[O+(T+k<<2)>>2]=U;f[O+(P+-1+(f[v>>2]|0)<<2)>>2]=U;P=P+1|0}while((P|0)!=(k|0))}else{P=0;do{U=f[y+(P<<2)>>2]|0;T=j[Q+(P<<1)>>1]|0;S=j[Q+(P+k<<1)>>1]|0;f[O+(U<<2)>>2]=(S<<1)+(T*6|0);f[O+(U+k<<2)>>2]=S+T<<2;T=P+D|0;S=f[y+(T<<2)>>2]|0;U=j[Q+(T<<1)>>1]|0;f[O+(S<<2)>>2]=(U*7|0)+(j[Q+(T-k<<1)>>1]|0);f[O+(S+k<<2)>>2]=U<<3;P=P+1|0}while((P|0)!=(k|0))}if(F){P=k;do{U=f[y+(P<<2)>>2]|0;S=j[Q+(P<<1)>>1]|0;T=j[Q+(P+k<<1)>>1]|0;f[O+(U<<2)>>2]=(S*6|0)+(j[Q+(P-k<<1)>>1]|0)+T;f[O+(U+k<<2)>>2]=T+S<<2;P=P+1|0}while((P|0)!=(D|0))}}else{P=0;do{S=(j[Q+(P<<1)>>1]|0)<<3;f[O+(P+k<<2)>>2]=S;f[O+(P<<2)>>2]=S;P=P+1|0}while((P|0)!=(k|0))}if((K|0)>(M|0)){N=J;break}else K=J}}K=t+((X((M|0)%3|0,p)|0)<<2)|0;P=t+((X((H|0)%3|0,p)|0)<<2)|0;O=t+((X((M+2|0)%3|0,p)|0)<<2)|0;if(z){Q=0;do{S=f[P+(Q<<2)>>2]|0;T=f[O+(Q<<2)>>2]|0;U=((S*6|0)+32+T+(f[K+(Q<<2)>>2]|0)|0)>>>6&65535;d[I+(Q<<1)>>1]=((T+S<<2)+32|0)>>>6;d[L+(Q<<1)>>1]=U;Q=Q+1|0}while((Q|0)!=(i|0))}if((H|0)>=(m|0)){V=A;break}else G=N}}else V=m<<1;if((o|0)>(V|0)?(o=f[c+16>>2]|0,m=f[f[c+44>>2]>>2]|0,c=o+(X(m,V+-2|0)|0)|0,N=o+(X(m,V)|0)|0,(i|0)>0):0){V=0;do{d[N+(V<<1)>>1]=d[c+(V<<1)>>1]|0;V=V+1|0}while((V|0)!=(i|0))}i=f[h>>2]|0;if((i|0)!=(q|0)){if(i|0)HQa(i);f[h>>2]=q;f[w>>2]=264}w=f[g>>2]|0;if((w|0)==(r|0)){u=e;return}if(w|0)HQa(w);f[g>>2]=r;f[s>>2]=264;u=e;return}function U9(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0.0,T=0.0,U=0,V=0.0,W=0;d=u;u=u+2144|0;e=d+1072|0;g=d+8|0;h=d;i=f[a+40>>2]|0;j=f[i+4>>2]|0;k=f[i>>2]|0;i=f[c+40>>2]|0;l=f[i+4>>2]|0;m=f[i>>2]|0;i=((f[a>>2]|0)>>>3&511)+1|0;o=(X(i,l+1|0)|0)+15&-16;p=(o*3|0)+16|0;q=e+8|0;f[e>>2]=q;r=e+4|0;f[r>>2]=p;if(p>>>0>264){s=FQa(p>>>0>1073741823?-1:p<<2)|0;f[e>>2]=s;t=s}else t=q;s=t+15&-16;t=X(i,j)|0;p=g+8|0;f[g>>2]=p;v=g+4|0;f[v>>2]=t;if(t>>>0>264){w=FQa(t>>>0>1073741823?-1:t<<2)|0;f[g>>2]=w;x=w}else x=p;w=l-(j<<1)|0;if(!((((w|0)>-1?w:0-w|0)|0)==((l|0)%2|0|0)?(w=m-(k<<1)|0,(((w|0)>-1?w:0-w|0)|0)==((m|0)%2|0|0)):0)){f[h>>2]=0;f[h+4>>2]=0;w=JV(h,119)|0;j=209307;y=w+119|0;do{b[w>>0]=b[j>>0]|0;w=w+1|0;j=j+1|0}while((w|0)<(y|0));EP(-215,h,209427,208986,996);KV(h)}h=X(i,l)|0;if((t|0)>0){l=i<<1;j=0;do{w=(X(l,(j>>>0)/(i>>>0)|0)|0)+((j|0)%(i|0)|0)|0;f[x+(j<<2)>>2]=w;j=j+1|0}while((j|0)!=(t|0))}if((k|0)>0){j=c+16|0;l=c+44|0;w=m+-1|0;y=(h|0)>0;z=k<<1;A=a+16|0;B=a+44|0;a=(t|0)==(i|0);C=t-i|0;D=(h|0)>(t<<1|0);t=c+12|0;E=(i|0)<(C|0);F=-1;G=0;while(1){H=G<<1;I=f[j>>2]|0;J=f[f[l>>2]>>2]|0;K=I+(X(J,H)|0)|0;L=H|1;H=I+(X(J,(w|0)<(L|0)?w:L)|0)|0;L=G;G=G+1|0;if((F|0)>(G|0))M=F;else{J=F;while(1){I=J+1|0;N=s+((X((I|0)%3|0,o)|0)<<2)|0;O=(lM(J<<1,z,4)|0)/2|0;P=(f[A>>2]|0)+(X(f[f[B>>2]>>2]|0,O)|0)|0;if(!a){O=f[t>>2]|0;if(D){Q=0;do{R=f[x+(Q<<2)>>2]|0;S=+n[P+(Q<<2)>>2];T=+n[P+(Q+i<<2)>>2];n[N+(R<<2)>>2]=S*6.0+T*2.0;n[N+(R+i<<2)>>2]=(S+T)*4.0;R=Q+C|0;U=f[x+(R<<2)>>2]|0;T=+n[P+(R<<2)>>2];S=T*8.0;n[N+(U<<2)>>2]=+n[P+(R-i<<2)>>2]+T*7.0;n[N+(U+i<<2)>>2]=S;n[N+(Q+-1+O<<2)>>2]=S;Q=Q+1|0}while((Q|0)!=(i|0))}else{Q=0;do{O=f[x+(Q<<2)>>2]|0;S=+n[P+(Q<<2)>>2];T=+n[P+(Q+i<<2)>>2];n[N+(O<<2)>>2]=S*6.0+T*2.0;n[N+(O+i<<2)>>2]=(S+T)*4.0;O=Q+C|0;U=f[x+(O<<2)>>2]|0;T=+n[P+(O<<2)>>2];n[N+(U<<2)>>2]=+n[P+(O-i<<2)>>2]+T*7.0;n[N+(U+i<<2)>>2]=T*8.0;Q=Q+1|0}while((Q|0)!=(i|0))}if(E){Q=i;do{U=f[x+(Q<<2)>>2]|0;T=+n[P+(Q<<2)>>2];S=+n[P+(Q+i<<2)>>2];n[N+(U<<2)>>2]=S+(+n[P+(Q-i<<2)>>2]+T*6.0);n[N+(U+i<<2)>>2]=(T+S)*4.0;Q=Q+1|0}while((Q|0)!=(C|0))}}else{Q=0;do{S=+n[P+(Q<<2)>>2]*8.0;n[N+(Q+i<<2)>>2]=S;n[N+(Q<<2)>>2]=S;Q=Q+1|0}while((Q|0)!=(i|0))}if((J|0)>(L|0)){M=I;break}else J=I}}J=s+((X((L|0)%3|0,o)|0)<<2)|0;Q=s+((X((G|0)%3|0,o)|0)<<2)|0;N=s+((X((L+2|0)%3|0,o)|0)<<2)|0;if(y){P=0;do{S=+n[Q+(P<<2)>>2];T=+n[N+(P<<2)>>2];V=(T+(S*6.0+ +n[J+(P<<2)>>2]))*.015625;n[H+(P<<2)>>2]=(S+T)*4.0*.015625;n[K+(P<<2)>>2]=V;P=P+1|0}while((P|0)!=(h|0))}if((G|0)>=(k|0)){W=z;break}else F=M}}else W=k<<1;if((m|0)>(W|0)?(m=f[c+16>>2]|0,k=f[f[c+44>>2]>>2]|0,c=m+(X(k,W+-2|0)|0)|0,M=m+(X(k,W)|0)|0,(h|0)>0):0){W=0;do{f[M+(W<<2)>>2]=f[c+(W<<2)>>2];W=W+1|0}while((W|0)!=(h|0))}h=f[g>>2]|0;if((h|0)!=(p|0)){if(h|0)HQa(h);f[g>>2]=p;f[v>>2]=264}v=f[e>>2]|0;if((v|0)==(q|0)){u=d;return}if(v|0)HQa(v);f[e>>2]=q;f[r>>2]=264;u=d;return}function V9(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0.0,T=0.0,U=0,V=0.0,W=0;d=u;u=u+2176|0;e=d;g=d+1104|0;h=d+1096|0;i=f[a+40>>2]|0;j=f[i+4>>2]|0;k=f[i>>2]|0;i=f[c+40>>2]|0;l=f[i+4>>2]|0;m=f[i>>2]|0;i=((f[a>>2]|0)>>>3&511)+1|0;n=(X(i,l+1|0)|0)+15&-16;o=(n*3|0)+16|0;q=e+8|0;f[e>>2]=q;r=e+4|0;f[r>>2]=o;if(o>>>0>136){s=FQa(o>>>0>536870911?-1:o<<3)|0;f[e>>2]=s;t=s}else t=q;s=t+15&-16;t=X(i,j)|0;o=g+8|0;f[g>>2]=o;v=g+4|0;f[v>>2]=t;if(t>>>0>264){w=FQa(t>>>0>1073741823?-1:t<<2)|0;f[g>>2]=w;x=w}else x=o;w=l-(j<<1)|0;if(!((((w|0)>-1?w:0-w|0)|0)==((l|0)%2|0|0)?(w=m-(k<<1)|0,(((w|0)>-1?w:0-w|0)|0)==((m|0)%2|0|0)):0)){f[h>>2]=0;f[h+4>>2]=0;w=JV(h,119)|0;j=209307;y=w+119|0;do{b[w>>0]=b[j>>0]|0;w=w+1|0;j=j+1|0}while((w|0)<(y|0));EP(-215,h,209427,208986,996);KV(h)}h=X(i,l)|0;if((t|0)>0){l=i<<1;j=0;do{w=(X(l,(j>>>0)/(i>>>0)|0)|0)+((j|0)%(i|0)|0)|0;f[x+(j<<2)>>2]=w;j=j+1|0}while((j|0)!=(t|0))}if((k|0)>0){j=c+16|0;l=c+44|0;w=m+-1|0;y=(h|0)>0;z=k<<1;A=a+16|0;B=a+44|0;a=(t|0)==(i|0);C=t-i|0;D=(h|0)>(t<<1|0);t=c+12|0;E=(i|0)<(C|0);F=-1;G=0;while(1){H=G<<1;I=f[j>>2]|0;J=f[f[l>>2]>>2]|0;K=I+(X(J,H)|0)|0;L=H|1;H=I+(X(J,(w|0)<(L|0)?w:L)|0)|0;L=G;G=G+1|0;if((F|0)>(G|0))M=F;else{J=F;while(1){I=J+1|0;N=s+((X((I|0)%3|0,n)|0)<<3)|0;O=(lM(J<<1,z,4)|0)/2|0;P=(f[A>>2]|0)+(X(f[f[B>>2]>>2]|0,O)|0)|0;if(!a){O=f[t>>2]|0;if(D){Q=0;do{R=f[x+(Q<<2)>>2]|0;S=+p[P+(Q<<3)>>3];T=+p[P+(Q+i<<3)>>3];p[N+(R<<3)>>3]=S*6.0+T*2.0;p[N+(R+i<<3)>>3]=(S+T)*4.0;R=Q+C|0;U=f[x+(R<<2)>>2]|0;T=+p[P+(R<<3)>>3];S=T*8.0;p[N+(U<<3)>>3]=+p[P+(R-i<<3)>>3]+T*7.0;p[N+(U+i<<3)>>3]=S;p[N+(Q+-1+O<<3)>>3]=S;Q=Q+1|0}while((Q|0)!=(i|0))}else{Q=0;do{O=f[x+(Q<<2)>>2]|0;S=+p[P+(Q<<3)>>3];T=+p[P+(Q+i<<3)>>3];p[N+(O<<3)>>3]=S*6.0+T*2.0;p[N+(O+i<<3)>>3]=(S+T)*4.0;O=Q+C|0;U=f[x+(O<<2)>>2]|0;T=+p[P+(O<<3)>>3];p[N+(U<<3)>>3]=+p[P+(O-i<<3)>>3]+T*7.0;p[N+(U+i<<3)>>3]=T*8.0;Q=Q+1|0}while((Q|0)!=(i|0))}if(E){Q=i;do{U=f[x+(Q<<2)>>2]|0;T=+p[P+(Q<<3)>>3];S=+p[P+(Q+i<<3)>>3];p[N+(U<<3)>>3]=S+(+p[P+(Q-i<<3)>>3]+T*6.0);p[N+(U+i<<3)>>3]=(T+S)*4.0;Q=Q+1|0}while((Q|0)!=(C|0))}}else{Q=0;do{S=+p[P+(Q<<3)>>3]*8.0;p[N+(Q+i<<3)>>3]=S;p[N+(Q<<3)>>3]=S;Q=Q+1|0}while((Q|0)!=(i|0))}if((J|0)>(L|0)){M=I;break}else J=I}}J=s+((X((L|0)%3|0,n)|0)<<3)|0;Q=s+((X((G|0)%3|0,n)|0)<<3)|0;N=s+((X((L+2|0)%3|0,n)|0)<<3)|0;if(y){P=0;do{S=+p[Q+(P<<3)>>3];T=+p[N+(P<<3)>>3];V=(T+(S*6.0+ +p[J+(P<<3)>>3]))*.015625;p[H+(P<<3)>>3]=(S+T)*4.0*.015625;p[K+(P<<3)>>3]=V;P=P+1|0}while((P|0)!=(h|0))}if((G|0)>=(k|0)){W=z;break}else F=M}}else W=k<<1;if((m|0)>(W|0)?(m=f[c+16>>2]|0,k=f[f[c+44>>2]>>2]|0,c=m+(X(k,W+-2|0)|0)|0,M=m+(X(k,W)|0)|0,(h|0)>0):0){W=0;do{p[M+(W<<3)>>3]=+p[c+(W<<3)>>3];W=W+1|0}while((W|0)!=(h|0))}h=f[g>>2]|0;if((h|0)!=(o|0)){if(h|0)HQa(h);f[g>>2]=o;f[v>>2]=264}v=f[e>>2]|0;if((v|0)==(q|0)){u=d;return}if(v|0)HQa(v);f[e>>2]=q;f[r>>2]=136;u=d;return}function W9(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;d=u;u=u+2144|0;e=d+1072|0;g=d+8|0;i=d;j=f[a+40>>2]|0;k=f[j+4>>2]|0;l=f[j>>2]|0;j=f[c+40>>2]|0;m=f[j+4>>2]|0;n=f[j>>2]|0;j=((f[a>>2]|0)>>>3&511)+1|0;o=(X(j,m+1|0)|0)+15&-16;p=(o*3|0)+16|0;q=e+8|0;f[e>>2]=q;r=e+4|0;f[r>>2]=p;if(p>>>0>264){s=FQa(p>>>0>1073741823?-1:p<<2)|0;f[e>>2]=s;t=s}else t=q;s=t+15&-16;t=X(j,k)|0;p=g+8|0;f[g>>2]=p;v=g+4|0;f[v>>2]=t;if(t>>>0>264){w=FQa(t>>>0>1073741823?-1:t<<2)|0;f[g>>2]=w;x=w}else x=p;w=m-(k<<1)|0;if(!((((w|0)>-1?w:0-w|0)|0)==((m|0)%2|0|0)?(w=n-(l<<1)|0,(((w|0)>-1?w:0-w|0)|0)==((n|0)%2|0|0)):0)){f[i>>2]=0;f[i+4>>2]=0;w=JV(i,119)|0;k=209307;y=w+119|0;do{b[w>>0]=b[k>>0]|0;w=w+1|0;k=k+1|0}while((w|0)<(y|0));EP(-215,i,209427,208986,996);KV(i)}i=X(j,m)|0;if((t|0)>0){m=j<<1;k=0;do{w=(X(m,(k>>>0)/(j>>>0)|0)|0)+((k|0)%(j|0)|0)|0;f[x+(k<<2)>>2]=w;k=k+1|0}while((k|0)!=(t|0))}if((l|0)>0){k=c+16|0;m=c+44|0;w=n+-1|0;y=(i|0)>0;z=l<<1;A=a+16|0;B=a+44|0;a=(t|0)==(j|0);C=t-j|0;D=(i|0)>(t<<1|0);t=c+12|0;E=(j|0)<(C|0);F=-1;G=0;while(1){H=G<<1;I=f[k>>2]|0;J=f[f[m>>2]>>2]|0;K=I+(X(J,H)|0)|0;L=H|1;H=I+(X(J,(w|0)<(L|0)?w:L)|0)|0;L=G;G=G+1|0;if((F|0)>(G|0))M=F;else{J=F;while(1){I=J+1|0;N=s+((X((I|0)%3|0,o)|0)<<2)|0;O=(lM(J<<1,z,4)|0)/2|0;P=(f[A>>2]|0)+(X(f[f[B>>2]>>2]|0,O)|0)|0;if(!a){if(D){O=0;do{Q=f[x+(O<<2)>>2]|0;R=h[P+O>>0]|0;S=h[P+(O+j)>>0]|0;f[N+(Q<<2)>>2]=(S<<1)+(R*6|0);f[N+(Q+j<<2)>>2]=S+R<<2;R=O+C|0;S=f[x+(R<<2)>>2]|0;Q=h[P+R>>0]|0;T=Q<<3;f[N+(S<<2)>>2]=(Q*7|0)+(h[P+(R-j)>>0]|0);f[N+(S+j<<2)>>2]=T;f[N+(O+-1+(f[t>>2]|0)<<2)>>2]=T;O=O+1|0}while((O|0)!=(j|0))}else{O=0;do{T=f[x+(O<<2)>>2]|0;S=h[P+O>>0]|0;R=h[P+(O+j)>>0]|0;f[N+(T<<2)>>2]=(R<<1)+(S*6|0);f[N+(T+j<<2)>>2]=R+S<<2;S=O+C|0;R=f[x+(S<<2)>>2]|0;T=h[P+S>>0]|0;f[N+(R<<2)>>2]=(T*7|0)+(h[P+(S-j)>>0]|0);f[N+(R+j<<2)>>2]=T<<3;O=O+1|0}while((O|0)!=(j|0))}if(E){O=j;do{T=f[x+(O<<2)>>2]|0;R=h[P+O>>0]|0;S=h[P+(O+j)>>0]|0;f[N+(T<<2)>>2]=(R*6|0)+(h[P+(O-j)>>0]|0)+S;f[N+(T+j<<2)>>2]=S+R<<2;O=O+1|0}while((O|0)!=(C|0))}}else{O=0;do{R=(h[P+O>>0]|0)<<3;f[N+(O+j<<2)>>2]=R;f[N+(O<<2)>>2]=R;O=O+1|0}while((O|0)!=(j|0))}if((J|0)>(L|0)){M=I;break}else J=I}}J=s+((X((L|0)%3|0,o)|0)<<2)|0;O=s+((X((G|0)%3|0,o)|0)<<2)|0;N=s+((X((L+2|0)%3|0,o)|0)<<2)|0;if(y){P=0;do{R=f[O+(P<<2)>>2]|0;S=f[N+(P<<2)>>2]|0;T=((R*6|0)+32+S+(f[J+(P<<2)>>2]|0)|0)>>>6&255;b[H+P>>0]=((S+R<<2)+32|0)>>>6;b[K+P>>0]=T;P=P+1|0}while((P|0)!=(i|0))}if((G|0)>=(l|0)){U=z;break}else F=M}}else U=l<<1;if((n|0)>(U|0)?(n=f[c+16>>2]|0,l=f[f[c+44>>2]>>2]|0,c=n+(X(l,U+-2|0)|0)|0,M=n+(X(l,U)|0)|0,(i|0)>0):0){U=0;do{b[M+U>>0]=b[c+U>>0]|0;U=U+1|0}while((U|0)!=(i|0))}i=f[g>>2]|0;if((i|0)!=(p|0)){if(i|0)HQa(i);f[g>>2]=p;f[v>>2]=264}v=f[e>>2]|0;if((v|0)==(q|0)){u=d;return}if(v|0)HQa(v);f[e>>2]=q;f[r>>2]=264;u=d;return}function X9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0;e=u;u=u+128|0;g=e+72|0;h=e+16|0;i=e;do if((HJ(b)|0)==65536){j=f[b+4>>2]|0;f[g>>2]=f[j>>2];k=g+4|0;l=j+4|0;f[k>>2]=f[l>>2];m=g+8|0;f[m>>2]=f[j+8>>2];f[g+12>>2]=f[j+12>>2];f[g+16>>2]=f[j+16>>2];f[g+20>>2]=f[j+20>>2];f[g+24>>2]=f[j+24>>2];f[g+28>>2]=f[j+28>>2];f[g+32>>2]=f[j+32>>2];n=f[j+36>>2]|0;f[g+36>>2]=n;f[g+40>>2]=m;m=g+48|0;o=g+44|0;f[o>>2]=m;f[m>>2]=0;f[g+52>>2]=0;if(n|0){m=n+12|0;f[m>>2]=(f[m>>2]|0)+1}if((f[l>>2]|0)<3){l=f[j+44>>2]|0;m=f[o>>2]|0;f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];break}else{f[k>>2]=0;WO(g,j);break}}else DJ(g,b,-1);while(0);do if(!d?(b=f[g>>2]|0,(b&4095|0)==6):0){f[a>>2]=b;b=a+4|0;j=g+4|0;k=f[j>>2]|0;f[b>>2]=k;l=a+8|0;f[l>>2]=f[g+8>>2];f[a+12>>2]=f[g+12>>2];f[a+16>>2]=f[g+16>>2];f[a+20>>2]=f[g+20>>2];f[a+24>>2]=f[g+24>>2];f[a+28>>2]=f[g+28>>2];f[a+32>>2]=f[g+32>>2];m=g+36|0;o=f[m>>2]|0;f[a+36>>2]=o;f[a+40>>2]=l;l=a+48|0;n=a+44|0;f[n>>2]=l;f[l>>2]=0;f[a+52>>2]=0;if(!o)q=k;else{k=o+12|0;f[k>>2]=(f[k>>2]|0)+1;q=f[j>>2]|0}if((q|0)<3){j=f[g+44>>2]|0;k=f[n>>2]|0;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];r=m;break}else{f[b>>2]=0;WO(a,g);r=m;break}}else s=15;while(0);if((s|0)==15){f[h>>2]=1124007936;s=h+4|0;q=h+8|0;m=h+40|0;b=s;j=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));f[m>>2]=q;b=h+48|0;j=h+44|0;f[j>>2]=b;f[b>>2]=0;f[h+52>>2]=0;k=i+8|0;f[k>>2]=0;f[k+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=h;AO(g,i,6,1.0,0.0);if(d){d=h+16|0;i=f[d>>2]|0;p[i+16>>3]=+((f[c>>2]|0)+-1|0)*.5;p[i+40>>3]=+((f[c+4>>2]|0)+-1|0)*.5;t=d;v=i}else{i=h+16|0;t=i;v=f[i>>2]|0}f[a>>2]=f[h>>2];i=a+4|0;d=f[s>>2]|0;f[i>>2]=d;c=a+8|0;f[c>>2]=f[q>>2];f[a+12>>2]=f[h+12>>2];f[a+16>>2]=v;f[a+20>>2]=f[h+20>>2];f[a+24>>2]=f[h+24>>2];f[a+28>>2]=f[h+28>>2];f[a+32>>2]=f[h+32>>2];v=h+36|0;q=f[v>>2]|0;f[a+36>>2]=q;f[a+40>>2]=c;c=a+48|0;k=a+44|0;f[k>>2]=c;f[c>>2]=0;f[a+52>>2]=0;if(!q)w=d;else{d=q+12|0;f[d>>2]=(f[d>>2]|0)+1;w=f[s>>2]|0}if((w|0)<3){w=f[j>>2]|0;d=f[k>>2]|0;f[d>>2]=f[w>>2];f[d+4>>2]=f[w+4>>2]}else{f[i>>2]=0;WO(a,h)}a=f[v>>2]|0;if(a|0?(i=a+12|0,a=f[i>>2]|0,f[i>>2]=a+-1,(a|0)==1):0)XO(h);f[v>>2]=0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;if((f[s>>2]|0)>0){t=f[m>>2]|0;m=0;do{f[t+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[s>>2]|0))}s=f[j>>2]|0;if((s|0)!=(b|0))dX(s);r=g+36|0}s=f[r>>2]|0;if(s|0?(b=s+12|0,s=f[b>>2]|0,f[b>>2]=s+-1,(s|0)==1):0)XO(g);f[r>>2]=0;r=g+16|0;s=g+4|0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;if((f[s>>2]|0)>0){r=f[g+40>>2]|0;b=0;do{f[r+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(f[s>>2]|0))}s=f[g+44>>2]|0;if((s|0)==(g+48|0)){u=e;return}dX(s);u=e;return}function Y9(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0.0,ta=0.0,ua=0.0,va=0.0,wa=0.0,xa=0.0,ya=0.0,za=0.0,Aa=0.0,Ba=0.0,Ca=0.0;k=u;u=u+1664|0;l=k+832|0;m=k+1640|0;n=k+1584|0;o=k+1528|0;q=k+1472|0;r=k+1408|0;s=k+1464|0;t=k+1352|0;v=k+1288|0;w=k+1344|0;x=k+1232|0;y=k+608|0;z=k+1176|0;A=k+1120|0;B=k+1112|0;C=k+1056|0;D=k+384|0;E=k+160|0;F=k;do if((HJ(a)|0)==65536){G=f[a+4>>2]|0;f[n>>2]=f[G>>2];H=n+4|0;I=G+4|0;f[H>>2]=f[I>>2];J=n+8|0;f[J>>2]=f[G+8>>2];f[n+12>>2]=f[G+12>>2];f[n+16>>2]=f[G+16>>2];f[n+20>>2]=f[G+20>>2];f[n+24>>2]=f[G+24>>2];f[n+28>>2]=f[G+28>>2];f[n+32>>2]=f[G+32>>2];K=f[G+36>>2]|0;f[n+36>>2]=K;f[n+40>>2]=J;J=n+48|0;L=n+44|0;f[L>>2]=J;f[J>>2]=0;f[n+52>>2]=0;if(K|0){J=K+12|0;f[J>>2]=(f[J>>2]|0)+1}if((f[I>>2]|0)<3){I=f[G+44>>2]|0;J=f[L>>2]|0;f[J>>2]=f[I>>2];f[J+4>>2]=f[I+4>>2];break}else{f[H>>2]=0;WO(n,G);break}}else DJ(n,a,-1);while(0);do if((HJ(c)|0)==65536){a=f[c+4>>2]|0;f[o>>2]=f[a>>2];G=o+4|0;H=a+4|0;f[G>>2]=f[H>>2];I=o+8|0;f[I>>2]=f[a+8>>2];f[o+12>>2]=f[a+12>>2];f[o+16>>2]=f[a+16>>2];f[o+20>>2]=f[a+20>>2];f[o+24>>2]=f[a+24>>2];f[o+28>>2]=f[a+28>>2];f[o+32>>2]=f[a+32>>2];J=f[a+36>>2]|0;f[o+36>>2]=J;f[o+40>>2]=I;I=o+48|0;L=o+44|0;f[L>>2]=I;f[I>>2]=0;f[o+52>>2]=0;if(J|0){I=J+12|0;f[I>>2]=(f[I>>2]|0)+1}if((f[H>>2]|0)<3){H=f[a+44>>2]|0;I=f[L>>2]|0;f[I>>2]=f[H>>2];f[I+4>>2]=f[H+4>>2];break}else{f[G>>2]=0;WO(o,a);break}}else DJ(o,c,-1);while(0);do if((HJ(d)|0)==65536){c=f[d+4>>2]|0;f[q>>2]=f[c>>2];a=q+4|0;G=c+4|0;f[a>>2]=f[G>>2];H=q+8|0;f[H>>2]=f[c+8>>2];f[q+12>>2]=f[c+12>>2];f[q+16>>2]=f[c+16>>2];f[q+20>>2]=f[c+20>>2];f[q+24>>2]=f[c+24>>2];f[q+28>>2]=f[c+28>>2];f[q+32>>2]=f[c+32>>2];I=f[c+36>>2]|0;f[q+36>>2]=I;f[q+40>>2]=H;H=q+48|0;L=q+44|0;f[L>>2]=H;f[H>>2]=0;f[q+52>>2]=0;if(I|0){H=I+12|0;f[H>>2]=(f[H>>2]|0)+1}if((f[G>>2]|0)<3){G=f[c+44>>2]|0;H=f[L>>2]|0;f[H>>2]=f[G>>2];f[H+4>>2]=f[G+4>>2];break}else{f[a>>2]=0;WO(q,c);break}}else DJ(q,d,-1);while(0);do if((HJ(e)|0)==65536){d=f[e+4>>2]|0;f[r>>2]=f[d>>2];c=r+4|0;a=d+4|0;f[c>>2]=f[a>>2];G=r+8|0;f[G>>2]=f[d+8>>2];f[r+12>>2]=f[d+12>>2];f[r+16>>2]=f[d+16>>2];f[r+20>>2]=f[d+20>>2];f[r+24>>2]=f[d+24>>2];f[r+28>>2]=f[d+28>>2];f[r+32>>2]=f[d+32>>2];H=f[d+36>>2]|0;f[r+36>>2]=H;f[r+40>>2]=G;G=r+48|0;L=r+44|0;f[L>>2]=G;f[G>>2]=0;f[r+52>>2]=0;if(H|0){G=H+12|0;f[G>>2]=(f[G>>2]|0)+1}if((f[a>>2]|0)<3){a=f[d+44>>2]|0;G=f[L>>2]|0;f[G>>2]=f[a>>2];f[G+4>>2]=f[a+4>>2];break}else{f[c>>2]=0;WO(r,d);break}}else DJ(r,e,-1);while(0);e=(h|0)<1?11:h;h=(e|0)==11;switch(e|0){case 5:case 11:case 13:break;default:{f[l>>2]=0;f[l+4>>2]=0;DVa(JV(l,161)|0,209505,161)|0;EP(-215,l,343146,209667,200);KV(l)}}f[s>>2]=f[g>>2];d=g+4|0;f[s+4>>2]=f[d>>2];_J(i,s,e,-1,0,0);do if((HJ(i)|0)==65536){s=f[i+4>>2]|0;f[t>>2]=f[s>>2];c=t+4|0;a=s+4|0;f[c>>2]=f[a>>2];G=t+8|0;f[G>>2]=f[s+8>>2];f[t+12>>2]=f[s+12>>2];f[t+16>>2]=f[s+16>>2];f[t+20>>2]=f[s+20>>2];f[t+24>>2]=f[s+24>>2];f[t+28>>2]=f[s+28>>2];f[t+32>>2]=f[s+32>>2];L=f[s+36>>2]|0;f[t+36>>2]=L;f[t+40>>2]=G;G=t+48|0;H=t+44|0;f[H>>2]=G;f[G>>2]=0;f[t+52>>2]=0;if(L|0){G=L+12|0;f[G>>2]=(f[G>>2]|0)+1}if((f[a>>2]|0)<3){a=f[s+44>>2]|0;G=f[H>>2]|0;f[G>>2]=f[a>>2];f[G+4>>2]=f[a+4>>2];break}else{f[c>>2]=0;WO(t,s);break}}else DJ(t,i,-1);while(0);f[v>>2]=1124007936;i=v+4|0;s=v+8|0;c=v+40|0;a=i;G=a+36|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(G|0));f[c>>2]=s;H=v+48|0;L=v+44|0;f[L>>2]=H;f[H>>2]=0;f[v+52>>2]=0;if((e|0)!=13){f[w>>2]=f[g>>2];f[w+4>>2]=f[d>>2];_J(j,w,h?2:5,-1,0,0);do if((HJ(j)|0)==65536){h=f[j+4>>2]|0;f[l>>2]=f[h>>2];w=l+4|0;I=h+4|0;f[w>>2]=f[I>>2];J=l+8|0;f[J>>2]=f[h+8>>2];f[l+12>>2]=f[h+12>>2];f[l+16>>2]=f[h+16>>2];f[l+20>>2]=f[h+20>>2];f[l+24>>2]=f[h+24>>2];f[l+28>>2]=f[h+28>>2];f[l+32>>2]=f[h+32>>2];K=l+36|0;M=f[h+36>>2]|0;f[K>>2]=M;f[l+40>>2]=J;J=l+48|0;P=l+44|0;f[P>>2]=J;f[J>>2]=0;f[l+52>>2]=0;if(M|0){J=M+12|0;f[J>>2]=(f[J>>2]|0)+1}if((f[I>>2]|0)<3){I=f[h+44>>2]|0;J=f[P>>2]|0;f[J>>2]=f[I>>2];f[J+4>>2]=f[I+4>>2];Q=K;break}else{f[w>>2]=0;WO(l,h);Q=K;break}}else{DJ(l,j,-1);Q=l+36|0}while(0);K=f[Q>>2]|0;if(K|0){h=K+12|0;f[h>>2]=(f[h>>2]|0)+1}h=v+36|0;K=f[h>>2]|0;if(K|0?(w=K+12|0,K=f[w>>2]|0,f[w>>2]=K+-1,(K|0)==1):0)XO(v);f[h>>2]=0;K=v+16|0;f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0;f[K+12>>2]=0;if((f[i>>2]|0)>0){w=f[c>>2]|0;I=0;do{f[w+(I<<2)>>2]=0;I=I+1|0;R=f[i>>2]|0}while((I|0)<(R|0));f[v>>2]=f[l>>2];if((R|0)<3)S=56;else S=58}else{f[v>>2]=f[l>>2];S=56}if((S|0)==56){R=f[l+4>>2]|0;if((R|0)<3){f[i>>2]=R;f[s>>2]=f[l+8>>2];f[v+12>>2]=f[l+12>>2];s=f[l+44>>2]|0;R=f[L>>2]|0;f[R>>2]=f[s>>2];f[R+4>>2]=f[s+4>>2]}else S=58}if((S|0)==58)WO(v,l);s=l+16|0;f[K>>2]=f[s>>2];f[v+20>>2]=f[l+20>>2];f[v+24>>2]=f[l+24>>2];f[v+28>>2]=f[l+28>>2];f[v+32>>2]=f[l+32>>2];K=f[Q>>2]|0;f[h>>2]=K;if(K|0?(h=K+12|0,K=f[h>>2]|0,f[h>>2]=K+-1,(K|0)==1):0)XO(l);f[Q>>2]=0;Q=l+4|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if((f[Q>>2]|0)>0){s=f[l+40>>2]|0;K=0;do{f[s+(K<<2)>>2]=0;K=K+1|0}while((K|0)<(f[Q>>2]|0))}Q=f[l+44>>2]|0;if((Q|0)!=(l+48|0))dX(Q)}else YJ(j);YG(y,3,3,6);Z9(x,y);Mi(y);_9(z,n);y=A+4|0;j=A+8|0;Q=A+40|0;a=y;G=a+36|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(G|0));f[Q>>2]=j;j=A+48|0;K=A+44|0;f[K>>2]=j;f[j>>2]=0;f[A+52>>2]=0;f[A>>2]=1124007942;s=r+16|0;if(f[s>>2]|0){h=f[r+4>>2]|0;if((h|0)<3)T=X(f[r+12>>2]|0,f[r+8>>2]|0)|0;else{R=f[r+40>>2]|0;I=0;w=1;while(1){J=X(f[R+(I<<2)>>2]|0,w)|0;I=I+1|0;if((I|0)==(h|0)){T=J;break}else w=J}}if(!((h|0)==0|(T|0)==0)){_9(l,r);$9(A,l)|0;T=l+36|0;h=f[T>>2]|0;if(h|0?(w=h+12|0,h=f[w>>2]|0,f[w>>2]=h+-1,(h|0)==1):0)XO(l);f[T>>2]=0;T=l+16|0;h=l+4|0;f[T>>2]=0;f[T+4>>2]=0;f[T+8>>2]=0;f[T+12>>2]=0;if((f[h>>2]|0)>0){T=f[l+40>>2]|0;w=0;do{f[T+(w<<2)>>2]=0;w=w+1|0}while((w|0)<(f[h>>2]|0))}h=f[l+44>>2]|0;if((h|0)!=(l+48|0))dX(h)}else S=84}else S=84;if((S|0)==84){f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=-2130640890;f[m+4>>2]=z;f[B>>2]=f[g>>2];f[B+4>>2]=f[d>>2];X9(l,m,B,1);aaa(A,l)|0;B=l+36|0;h=f[B>>2]|0;if(h|0?(w=h+12|0,h=f[w>>2]|0,f[w>>2]=h+-1,(h|0)==1):0)XO(l);f[B>>2]=0;B=l+16|0;h=l+4|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;if((f[h>>2]|0)>0){B=f[l+40>>2]|0;w=0;do{f[B+(w<<2)>>2]=0;w=w+1|0}while((w|0)<(f[h>>2]|0))}h=f[l+44>>2]|0;if((h|0)!=(l+48|0))dX(h)}h=q+16|0;if(f[h>>2]|0){w=f[q+4>>2]|0;if((w|0)<3)U=X(f[q+12>>2]|0,f[q+8>>2]|0)|0;else{B=f[q+40>>2]|0;T=0;I=1;while(1){R=X(f[B+(T<<2)>>2]|0,I)|0;T=T+1|0;if((T|0)==(w|0)){U=R;break}else I=R}}if(!((w|0)==0|(U|0)==0)){_9(l,q);$9(x,l)|0;U=l+36|0;w=f[U>>2]|0;if(w|0?(I=w+12|0,w=f[I>>2]|0,f[I>>2]=w+-1,(w|0)==1):0)XO(l);f[U>>2]=0;U=l+16|0;w=l+4|0;f[U>>2]=0;f[U+4>>2]=0;f[U+8>>2]=0;f[U+12>>2]=0;if((f[w>>2]|0)>0){U=f[l+40>>2]|0;I=0;do{f[U+(I<<2)>>2]=0;I=I+1|0}while((I|0)<(f[w>>2]|0))}w=f[l+44>>2]|0;if((w|0)!=(l+48|0))dX(w)}}w=o+16|0;I=(f[w>>2]|0)==0;U=o+4|0;T=f[U>>2]|0;if(!I){if((T|0)<3)V=X(f[o+12>>2]|0,f[o+8>>2]|0)|0;else{B=f[o+40>>2]|0;R=0;J=1;while(1){P=X(f[B+(R<<2)>>2]|0,J)|0;R=R+1|0;if((R|0)==(T|0)){V=P;break}else J=P}}if(!((T|0)==0|(V|0)==0)){_9(l,o);V=l+36|0;J=f[V>>2]|0;if(J|0){R=J+12|0;f[R>>2]=(f[R>>2]|0)+1}R=o+36|0;J=f[R>>2]|0;if(J|0?(B=J+12|0,J=f[B>>2]|0,f[B>>2]=J+-1,(J|0)==1):0)XO(o);f[R>>2]=0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;if((f[U>>2]|0)>0){J=f[o+40>>2]|0;B=0;do{f[J+(B<<2)>>2]=0;B=B+1|0;W=f[U>>2]|0}while((B|0)<(W|0));f[o>>2]=f[l>>2];if((W|0)<3)S=124;else S=126}else{f[o>>2]=f[l>>2];S=124}if((S|0)==124){W=f[l+4>>2]|0;if((W|0)<3){f[U>>2]=W;f[o+8>>2]=f[l+8>>2];f[o+12>>2]=f[l+12>>2];W=f[l+44>>2]|0;U=f[o+44>>2]|0;f[U>>2]=f[W>>2];f[U+4>>2]=f[W+4>>2]}else S=126}if((S|0)==126)WO(o,l);W=l+16|0;f[w>>2]=f[W>>2];f[o+20>>2]=f[l+20>>2];f[o+24>>2]=f[l+24>>2];f[o+28>>2]=f[l+28>>2];f[o+32>>2]=f[l+32>>2];U=f[V>>2]|0;f[R>>2]=U;if(U|0?(R=U+12|0,U=f[R>>2]|0,f[R>>2]=U+-1,(U|0)==1):0)XO(l);f[V>>2]=0;V=l+4|0;f[W>>2]=0;f[W+4>>2]=0;f[W+8>>2]=0;f[W+12>>2]=0;if((f[V>>2]|0)>0){W=f[l+40>>2]|0;U=0;do{f[W+(U<<2)>>2]=0;U=U+1|0}while((U|0)<(f[V>>2]|0))}V=f[l+44>>2]|0;if((V|0)!=(l+48|0))dX(V)}else S=136}else S=136;if((S|0)==136){if(!((((T|0)<3?(f[o+8>>2]|0)==14:0)?(f[o+12>>2]|0)==1:0)?!((f[o>>2]&4095|0)!=6|I):0))S=140;if((S|0)==140){f[l>>2]=14;f[l+4>>2]=1;VO(o,2,l,6)};f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[l+24>>2]=0;f[l+28>>2]=0;gM(o,l)|0}S=z+40|0;I=f[S>>2]|0;if(!(((f[I>>2]|0)==3?(f[I+4>>2]|0)==3:0)?(I=f[x+40>>2]|0,(f[I>>2]|0)==3?(f[I+4>>2]|0)==3:0):0)){f[l>>2]=0;f[l+4>>2]=0;a=JV(l,45)|0;Y=209728;G=a+45|0;do{b[a>>0]=b[Y>>0]|0;a=a+1|0;Y=Y+1|0}while((a|0)<(G|0));EP(-215,l,343146,209667,230);KV(l)}I=f[Q>>2]|0;if(!((f[I>>2]|0)==3?((f[I+4>>2]|0)+-3|0)>>>0<2:0)){f[l>>2]=0;f[l+4>>2]=0;a=JV(l,49)|0;Y=209774;G=a+49|0;do{b[a>>0]=b[Y>>0]|0;a=a+1|0;Y=Y+1|0}while((a|0)<(G|0));EP(-215,l,343146,209667,231);KV(l)}f[l>>2]=-2147483648;f[l+4>>2]=2147483647;f[m>>2]=0;f[m+4>>2]=3;YO(F,A,l,m);GG(E,F,x);xG(D,E,0);Z9(C,D);Mi(D);Mi(E);E=F+36|0;D=f[E>>2]|0;if(D|0?(Y=D+12|0,D=f[Y>>2]|0,f[Y>>2]=D+-1,(D|0)==1):0)XO(F);f[E>>2]=0;E=F+16|0;D=F+4|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;if((f[D>>2]|0)>0){E=f[F+40>>2]|0;Y=0;do{f[E+(Y<<2)>>2]=0;Y=Y+1|0}while((Y|0)<(f[D>>2]|0))}D=f[F+44>>2]|0;if((D|0)!=(F+48|0))dX(D);D=C+16|0;Y=f[D>>2]|0;E=z+16|0;a=f[E>>2]|0;G=z+44|0;Z=+p[a+16>>3];I=a+(f[f[G>>2]>>2]|0)|0;_=+p[I+16>>3];$=+p[a>>3];aa=+p[I+8>>3];I=o+40|0;a=f[I>>2]|0;T=f[a+4>>2]|0;V=f[a>>2]|0;a=(T|0)==1;if(!(a&(V|0)==4)?(U=(V|0)==1,!((T|0)==14&U|(a&(V|0)==14|((T|0)==12&U|(a&(V|0)==12|((T|0)==8&U|(a&(V|0)==8|((T|0)==5&U|((T|0)==4&U|a&(V|0)==5))))))))):0){f[l>>2]=0;f[l+4>>2]=0;DVa(JV(l,350)|0,209824,350)|0;EP(-215,l,343146,209667,242);KV(l)}V=o+8|0;a=f[V>>2]|0;if((a|0)!=1)if(!(f[o>>2]&16384)){QG(l,o);U=f[l>>2]|0;th[f[(f[U>>2]|0)+12>>2]&255](U,l,o,-1);Mi(l);ba=f[V>>2]|0}else ba=a;else ba=1;a=f[w>>2]|0;V=o+44|0;ca=+p[a>>3];da=+p[a+8>>3];ea=+p[a+16>>3];fa=+p[a+24>>3];U=ba+(f[o+12>>2]|0)|0;do if((U|0)>5){ga=+p[a+32>>3];if((U|0)>8){ha=+p[a+40>>3];ia=+p[a+48>>3];ja=+p[a+56>>3];if((U|0)>12){ka=+p[a+64>>3];la=+p[a+72>>3];ma=+p[a+80>>3];na=+p[a+88>>3];if((U|0)<=14){oa=0.0;pa=0.0;qa=ga;ra=ha;sa=ia;ta=ja;ua=ka;va=la;wa=ma;xa=na;break}oa=+p[a+96>>3];pa=+p[a+104>>3];qa=ga;ra=ha;sa=ia;ta=ja;ua=ka;va=la;wa=ma;xa=na}else{oa=0.0;pa=0.0;qa=ga;ra=ha;sa=ia;ta=ja;ua=0.0;va=0.0;wa=0.0;xa=0.0}}else{oa=0.0;pa=0.0;qa=ga;ra=0.0;sa=0.0;ta=0.0;ua=0.0;va=0.0;wa=0.0;xa=0.0}}else{oa=0.0;pa=0.0;qa=0.0;ra=0.0;sa=0.0;ta=0.0;ua=0.0;va=0.0;wa=0.0;xa=0.0}while(0);ga=+N(+oa);ja=+O(+oa);oa=+N(+pa);ia=+O(+pa);pa=ia*0.0;ha=oa+0.0-pa;na=oa*0.0;ma=na+0.0;la=ga*0.0;ka=ja*ia+(la+ma);ya=ja*0.0;za=ya+ma-ga*ia;ma=ga+0.0-ya;Aa=la+(ja+0.0);Ba=na+(ia+0.0);ia=pa+0.0;pa=la+ia-ja*oa;ja=ga*oa+(ya+ia);ia=-za;ya=-Aa;oa=ma*0.0;ga=Aa*0.0;la=ha*0.0+0.0;na=ka*0.0+0.0;Ca=za*0.0+0.0;p[l>>3]=Ba*ia+(ha*ja+0.0);p[l+8>>3]=pa*ia+(oa+(ka*ja+0.0));p[l+16>>3]=ja*ia+(ga+(za*ja+0.0));p[l+24>>3]=Ba*ya+(la+ja*0.0);p[l+32>>3]=pa*ya+(na+ma*ja);p[l+40>>3]=ja*ya+(Ca+Aa*ja);p[l+48>>3]=Ba+la;p[l+56>>3]=pa+(oa+na);p[l+64>>3]=ja+(ga+Ca);a=f[d>>2]|0;f[m>>2]=0;f[m+4>>2]=a;d=f[g>>2]|0;f[F>>2]=48196;f[F+4>>2]=d;f[F+8>>2]=a;f[F+12>>2]=t;f[F+16>>2]=v;f[F+20>>2]=e;f[F+24>>2]=Y;f[F+28>>2]=l;p[F+32>>3]=Z;p[F+40>>3]=_;p[F+48>>3]=$;p[F+56>>3]=aa;p[F+64>>3]=ca;p[F+72>>3]=da;p[F+80>>3]=ea;p[F+88>>3]=fa;p[F+96>>3]=qa;p[F+104>>3]=ra;p[F+112>>3]=sa;p[F+120>>3]=ta;p[F+128>>3]=ua;p[F+136>>3]=va;p[F+144>>3]=wa;p[F+152>>3]=xa;$Z(m,F,-1.0);F=C+36|0;m=f[F>>2]|0;if(m|0?(l=m+12|0,m=f[l>>2]|0,f[l>>2]=m+-1,(m|0)==1):0)XO(C);f[F>>2]=0;F=C+4|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;if((f[F>>2]|0)>0){D=f[C+40>>2]|0;m=0;do{f[D+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[F>>2]|0))}F=f[C+44>>2]|0;if((F|0)!=(C+48|0))dX(F);F=A+36|0;C=f[F>>2]|0;do if(C|0){m=C+12|0;D=f[m>>2]|0;f[m>>2]=D+-1;if((D|0)!=1)break;XO(A)}while(0);f[F>>2]=0;F=A+16|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;f[F+12>>2]=0;if((f[y>>2]|0)>0){F=f[Q>>2]|0;Q=0;do{f[F+(Q<<2)>>2]=0;Q=Q+1|0}while((Q|0)<(f[y>>2]|0))}y=f[K>>2]|0;if((y|0)!=(j|0))dX(y);y=z+36|0;j=f[y>>2]|0;do if(j|0){K=j+12|0;Q=f[K>>2]|0;f[K>>2]=Q+-1;if((Q|0)!=1)break;XO(z)}while(0);f[y>>2]=0;y=z+4|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;if((f[y>>2]|0)>0){E=f[S>>2]|0;S=0;do{f[E+(S<<2)>>2]=0;S=S+1|0}while((S|0)<(f[y>>2]|0))}y=f[G>>2]|0;if((y|0)!=(z+48|0))dX(y);y=x+36|0;z=f[y>>2]|0;do if(z|0){G=z+12|0;S=f[G>>2]|0;f[G>>2]=S+-1;if((S|0)!=1)break;XO(x)}while(0);f[y>>2]=0;y=x+16|0;z=x+4|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;if((f[z>>2]|0)>0){y=f[x+40>>2]|0;S=0;do{f[y+(S<<2)>>2]=0;S=S+1|0}while((S|0)<(f[z>>2]|0))}z=f[x+44>>2]|0;if((z|0)!=(x+48|0))dX(z);z=v+36|0;x=f[z>>2]|0;do if(x|0){S=x+12|0;y=f[S>>2]|0;f[S>>2]=y+-1;if((y|0)!=1)break;XO(v)}while(0);f[z>>2]=0;z=v+16|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;if((f[i>>2]|0)>0){z=f[c>>2]|0;c=0;do{f[z+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[i>>2]|0))}i=f[L>>2]|0;if((i|0)!=(H|0))dX(i);i=t+36|0;H=f[i>>2]|0;do if(H|0){L=H+12|0;c=f[L>>2]|0;f[L>>2]=c+-1;if((c|0)!=1)break;XO(t)}while(0);f[i>>2]=0;i=t+16|0;H=t+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[H>>2]|0)>0){i=f[t+40>>2]|0;c=0;do{f[i+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[H>>2]|0))}H=f[t+44>>2]|0;if((H|0)!=(t+48|0))dX(H);H=r+36|0;t=f[H>>2]|0;do if(t|0){c=t+12|0;i=f[c>>2]|0;f[c>>2]=i+-1;if((i|0)!=1)break;XO(r)}while(0);f[H>>2]=0;H=r+4|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if((f[H>>2]|0)>0){s=f[r+40>>2]|0;t=0;do{f[s+(t<<2)>>2]=0;t=t+1|0}while((t|0)<(f[H>>2]|0))}H=f[r+44>>2]|0;if((H|0)!=(r+48|0))dX(H);H=q+36|0;r=f[H>>2]|0;do if(r|0){t=r+12|0;s=f[t>>2]|0;f[t>>2]=s+-1;if((s|0)!=1)break;XO(q)}while(0);f[H>>2]=0;H=q+4|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;if((f[H>>2]|0)>0){h=f[q+40>>2]|0;r=0;do{f[h+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[H>>2]|0))}H=f[q+44>>2]|0;if((H|0)!=(q+48|0))dX(H);H=o+36|0;q=f[H>>2]|0;do if(q|0){r=q+12|0;h=f[r>>2]|0;f[r>>2]=h+-1;if((h|0)!=1)break;XO(o)}while(0);f[H>>2]=0;H=o+4|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;if((f[H>>2]|0)>0){w=f[I>>2]|0;I=0;do{f[w+(I<<2)>>2]=0;I=I+1|0}while((I|0)<(f[H>>2]|0))}H=f[V>>2]|0;if((H|0)!=(o+48|0))dX(H);H=n+36|0;o=f[H>>2]|0;do if(o|0){V=o+12|0;I=f[V>>2]|0;f[V>>2]=I+-1;if((I|0)!=1)break;XO(n)}while(0);f[H>>2]=0;H=n+16|0;o=n+4|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;if((f[o>>2]|0)>0){H=f[n+40>>2]|0;I=0;do{f[H+(I<<2)>>2]=0;I=I+1|0}while((I|0)<(f[o>>2]|0))}o=f[n+44>>2]|0;if((o|0)==(n+48|0)){u=k;return}dX(o);u=k;return}function Z9(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=a+8|0;d=a+40|0;e=a+4|0;g=e+36|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[d>>2]=c;c=a+48|0;f[a+44>>2]=c;f[c>>2]=0;f[a+52>>2]=0;f[a>>2]=1124007942;c=f[b>>2]|0;th[f[(f[c>>2]|0)+12>>2]&255](c,b,a,6);return}function _9(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=a+8|0;d=a+40|0;e=a+4|0;g=e+36|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[d>>2]=c;c=a+48|0;f[a+44>>2]=c;f[c>>2]=0;f[a+52>>2]=0;f[a>>2]=1124007942;aaa(a,b)|0;return}function $9(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;if((a|0)==(b|0))return a|0;c=b+36|0;d=f[c>>2]|0;if(d|0){e=d+12|0;f[e>>2]=(f[e>>2]|0)+1}e=a+36|0;d=f[e>>2]|0;if(d|0?(g=d+12|0,d=f[g>>2]|0,f[g>>2]=d+-1,(d|0)==1):0)XO(a);f[e>>2]=0;d=a+16|0;g=a+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[g>>2]|0)>0){h=f[a+40>>2]|0;i=0;do{f[h+(i<<2)>>2]=0;i=i+1|0;j=f[g>>2]|0}while((i|0)<(j|0));f[a>>2]=f[b>>2];if((j|0)<3)k=12;else k=14}else{f[a>>2]=f[b>>2];k=12}if((k|0)==12){j=f[b+4>>2]|0;if((j|0)<3){f[g>>2]=j;f[a+8>>2]=f[b+8>>2];f[a+12>>2]=f[b+12>>2];j=f[b+44>>2]|0;g=f[a+44>>2]|0;f[g>>2]=f[j>>2];f[g+4>>2]=f[j+4>>2]}else k=14}if((k|0)==14)WO(a,b);f[d>>2]=f[b+16>>2];f[a+20>>2]=f[b+20>>2];f[a+24>>2]=f[b+24>>2];f[a+28>>2]=f[b+28>>2];f[a+32>>2]=f[b+32>>2];f[e>>2]=f[c>>2];return a|0}function aaa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+64|0;d=c;e=f[b>>2]|0;if((e&4095|0)!=6){if((e&7|0)!=6){e=d+8|0;f[e>>2]=0;f[e+4>>2]=0;f[d>>2]=-2113863674;f[d+4>>2]=a;AO(b,d,6,1.0,0.0);g=a;u=c;return g|0}iP(d,b,1,f[b+4>>2]|0,0);e=aaa(a,d)|0;h=d+36|0;i=f[h>>2]|0;if(i|0?(j=i+12|0,i=f[j>>2]|0,f[j>>2]=i+-1,(i|0)==1):0)XO(d);f[h>>2]=0;h=d+16|0;i=d+4|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;if((f[i>>2]|0)>0){h=f[d+40>>2]|0;j=0;do{f[h+(j<<2)>>2]=0;j=j+1|0}while((j|0)<(f[i>>2]|0))}i=f[d+44>>2]|0;if((i|0)!=(d+48|0))dX(i);g=e;u=c;return g|0}if((a|0)==(b|0)){g=a;u=c;return g|0}e=b+36|0;i=f[e>>2]|0;if(i|0){d=i+12|0;f[d>>2]=(f[d>>2]|0)+1}d=a+36|0;i=f[d>>2]|0;if(i|0?(j=i+12|0,i=f[j>>2]|0,f[j>>2]=i+-1,(i|0)==1):0)XO(a);f[d>>2]=0;i=a+16|0;j=a+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[j>>2]|0)>0){h=f[a+40>>2]|0;k=0;do{f[h+(k<<2)>>2]=0;k=k+1|0;l=f[j>>2]|0}while((k|0)<(l|0));f[a>>2]=f[b>>2];if((l|0)<3)m=13;else m=15}else{f[a>>2]=f[b>>2];m=13}if((m|0)==13){l=f[b+4>>2]|0;if((l|0)<3){f[j>>2]=l;f[a+8>>2]=f[b+8>>2];f[a+12>>2]=f[b+12>>2];l=f[b+44>>2]|0;j=f[a+44>>2]|0;f[j>>2]=f[l>>2];f[j+4>>2]=f[l+4>>2]}else m=15}if((m|0)==15)WO(a,b);f[i>>2]=f[b+16>>2];f[a+20>>2]=f[b+20>>2];f[a+24>>2]=f[b+24>>2];f[a+28>>2]=f[b+28>>2];f[a+32>>2]=f[b+32>>2];f[d>>2]=f[e>>2];g=a;u=c;return g|0}function baa(a){a=a|0;GQa(a);return}function caa(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0.0,U=0.0,V=0.0,W=0.0,Y=0,Z=0,_=0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0.0,ta=0.0,ua=0.0,va=0.0,wa=0,xa=0,ya=0;e=u;u=u+16|0;g=e;h=f[c>>2]|0;i=f[c+4>>2]|0;if((h|0)>=(i|0)){u=e;return}c=a+12|0;j=a+16|0;k=a+24|0;l=a+20|0;m=g+4|0;o=g+4|0;q=g+4|0;r=a+4|0;s=a+96|0;t=a+72|0;v=a+64|0;w=a+120|0;x=a+112|0;y=a+104|0;z=a+80|0;A=a+88|0;B=a+128|0;C=a+136|0;D=a+144|0;E=a+152|0;F=a+28|0;G=a+48|0;H=a+32|0;I=a+56|0;J=a+40|0;a=h;do{h=f[c>>2]|0;K=(f[h+16>>2]|0)+(X(f[f[h+44>>2]>>2]|0,a)|0)|0;h=f[j>>2]|0;L=f[h+16>>2]|0;if(L){M=f[h+4>>2]|0;if((M|0)<3)N=X(f[h+12>>2]|0,f[h+8>>2]|0)|0;else{O=f[h+40>>2]|0;P=0;Q=1;while(1){R=X(f[O+(P<<2)>>2]|0,Q)|0;P=P+1|0;if((P|0)==(M|0)){N=R;break}else Q=R}}if(!((M|0)==0|(N|0)==0))S=L+(X(f[f[h+44>>2]>>2]|0,a)|0)|0;else S=0}else S=0;T=+(a|0);Q=f[k>>2]|0;U=+p[Q+8>>3]*T+ +p[Q+16>>3];V=+p[Q+32>>3]*T+ +p[Q+40>>3];W=+p[Q+56>>3]*T+ +p[Q+64>>3];switch(f[l>>2]|0){case 11:{if(!((K|0)!=0&(S|0)!=0)){f[g>>2]=0;f[o>>2]=0;Y=JV(g,20)|0;Z=210175;_=Y+20|0;do{b[Y>>0]=b[Z>>0]|0;Y=Y+1|0;Z=Z+1|0}while((Y|0)<(_|0));EP(-215,g,451664,209667,117);KV(g)}break}case 5:{if(!((K|0)!=0&(S|0)!=0)){f[g>>2]=0;f[q>>2]=0;Y=JV(g,22)|0;Z=210196;_=Y+22|0;do{b[Y>>0]=b[Z>>0]|0;Y=Y+1|0;Z=Z+1|0}while((Y|0)<(_|0));EP(-215,g,451664,209667,119);KV(g)}break}default:if(!K){f[g>>2]=0;f[m>>2]=0;h=JV(g,8)|0;L=h;b[L>>0]=109;b[L+1>>0]=49;b[L+2>>0]=32;b[L+3>>0]=33;L=h+4|0;b[L>>0]=61;b[L+1>>0]=32;b[L+2>>0]=48;b[L+3>>0]=76;EP(-215,g,451664,209667,121);KV(g)}}L=f[r>>2]|0;if((L|0)>0){h=f[l>>2]|0;M=(h|0)==11;Q=f[k>>2]|0;P=Q+24|0;O=Q+48|0;R=(h|0)==5;T=+p[s>>3];$=+p[t>>3];aa=+p[v>>3];ba=+p[w>>3];ca=+p[x>>3];da=+p[y>>3];ea=+p[z>>3];fa=+p[A>>3];ga=+p[B>>3];ha=+p[C>>3];ia=+p[D>>3];ja=+p[E>>3];ka=+p[G>>3];la=U;ma=V;na=W;h=0;while(1){oa=1.0/na;pa=oa*la;qa=ma*oa;oa=pa*pa;ra=qa*qa;sa=ra+oa;ta=qa*(pa*2.0);ua=(sa*(aa+sa*(sa*T+$))+1.0)/(sa*(da+sa*(sa*ba+ca))+1.0);va=sa*(sa*ha)+(sa*ga+((sa+oa*2.0)*fa+(ta*ea+pa*ua)));pa=sa*(sa*ja)+(sa*ia+(ta*fa+((ra*2.0+sa)*ea+qa*ua)));wa=f[F>>2]|0;ua=+p[wa+64>>3]+(va*+p[wa+48>>3]+0.0+pa*+p[wa+56>>3]);qa=ua!=0.0?1.0/ua:1.0;ua=+p[H>>3]+(+p[wa+16>>3]+(+p[wa+8>>3]*pa+(+p[wa>>3]*va+0.0)))*(ka*qa);sa=+p[J>>3]+(+p[wa+40>>3]+(va*+p[wa+24>>3]+0.0+pa*+p[wa+32>>3]))*(+p[I>>3]*qa);if(M){wa=AEa(ua*32.0)|0;xa=AEa(sa*32.0)|0;d[K+(h<<2)>>1]=wa>>>5;d[K+((h<<1|1)<<1)>>1]=xa>>>5;d[S+(h<<1)>>1]=xa<<5&992|wa&31}else{qa=ua;if(R){n[K+(h<<2)>>2]=qa;ya=S+(h<<2)|0}else{wa=h<<1;n[K+(wa<<2)>>2]=qa;ya=K+((wa|1)<<2)|0}n[ya>>2]=sa}h=h+1|0;if((h|0)>=(L|0))break;else{la=la+ +p[Q>>3];ma=ma+ +p[P>>3];na=na+ +p[O>>3]}}}a=a+1|0}while((a|0)<(i|0));u=e;return}function daa(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0.0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0;h=u;u=u+1136|0;i=h+256|0;j=h+1112|0;k=h+1096|0;l=h+1040|0;m=h+984|0;n=h+928|0;o=h+872|0;q=h+1104|0;r=h+816|0;s=h+760|0;t=h+704|0;v=h+648|0;w=h+592|0;x=h+536|0;y=h+32|0;z=h+472|0;A=h+416|0;B=h+360|0;C=h+344|0;D=h+328|0;E=h+528|0;F=h;G=h+312|0;yV(k,48208);do if((HJ(a)|0)==65536){H=f[a+4>>2]|0;f[l>>2]=f[H>>2];I=l+4|0;J=H+4|0;f[I>>2]=f[J>>2];K=l+8|0;f[K>>2]=f[H+8>>2];f[l+12>>2]=f[H+12>>2];f[l+16>>2]=f[H+16>>2];f[l+20>>2]=f[H+20>>2];f[l+24>>2]=f[H+24>>2];f[l+28>>2]=f[H+28>>2];f[l+32>>2]=f[H+32>>2];L=f[H+36>>2]|0;f[l+36>>2]=L;f[l+40>>2]=K;K=l+48|0;M=l+44|0;f[M>>2]=K;f[K>>2]=0;f[l+52>>2]=0;if(L|0){K=L+12|0;f[K>>2]=(f[K>>2]|0)+1}if((f[J>>2]|0)<3){J=f[H+44>>2]|0;K=f[M>>2]|0;f[K>>2]=f[J>>2];f[K+4>>2]=f[J+4>>2];break}else{f[I>>2]=0;WO(l,H);break}}else DJ(l,a,-1);while(0);do if((HJ(d)|0)==65536){a=f[d+4>>2]|0;f[m>>2]=f[a>>2];H=m+4|0;I=a+4|0;f[H>>2]=f[I>>2];J=m+8|0;f[J>>2]=f[a+8>>2];f[m+12>>2]=f[a+12>>2];f[m+16>>2]=f[a+16>>2];f[m+20>>2]=f[a+20>>2];f[m+24>>2]=f[a+24>>2];f[m+28>>2]=f[a+28>>2];f[m+32>>2]=f[a+32>>2];K=f[a+36>>2]|0;f[m+36>>2]=K;f[m+40>>2]=J;J=m+48|0;M=m+44|0;f[M>>2]=J;f[J>>2]=0;f[m+52>>2]=0;if(K|0){J=K+12|0;f[J>>2]=(f[J>>2]|0)+1}if((f[I>>2]|0)<3){I=f[a+44>>2]|0;J=f[M>>2]|0;f[J>>2]=f[I>>2];f[J+4>>2]=f[I+4>>2];break}else{f[H>>2]=0;WO(m,a);break}}else DJ(m,d,-1);while(0);do if((HJ(e)|0)==65536){d=f[e+4>>2]|0;f[n>>2]=f[d>>2];a=n+4|0;H=d+4|0;f[a>>2]=f[H>>2];I=n+8|0;f[I>>2]=f[d+8>>2];f[n+12>>2]=f[d+12>>2];f[n+16>>2]=f[d+16>>2];f[n+20>>2]=f[d+20>>2];f[n+24>>2]=f[d+24>>2];f[n+28>>2]=f[d+28>>2];f[n+32>>2]=f[d+32>>2];J=f[d+36>>2]|0;f[n+36>>2]=J;f[n+40>>2]=I;I=n+48|0;M=n+44|0;f[M>>2]=I;f[I>>2]=0;f[n+52>>2]=0;if(J|0){I=J+12|0;f[I>>2]=(f[I>>2]|0)+1}if((f[H>>2]|0)<3){H=f[d+44>>2]|0;I=f[M>>2]|0;f[I>>2]=f[H>>2];f[I+4>>2]=f[H+4>>2];break}else{f[a>>2]=0;WO(n,d);break}}else DJ(n,e,-1);while(0);do if((HJ(g)|0)==65536){e=f[g+4>>2]|0;f[o>>2]=f[e>>2];d=o+4|0;a=e+4|0;f[d>>2]=f[a>>2];H=o+8|0;f[H>>2]=f[e+8>>2];f[o+12>>2]=f[e+12>>2];f[o+16>>2]=f[e+16>>2];f[o+20>>2]=f[e+20>>2];f[o+24>>2]=f[e+24>>2];f[o+28>>2]=f[e+28>>2];f[o+32>>2]=f[e+32>>2];I=f[e+36>>2]|0;f[o+36>>2]=I;f[o+40>>2]=H;H=o+48|0;M=o+44|0;f[M>>2]=H;f[H>>2]=0;f[o+52>>2]=0;if(I|0){H=I+12|0;f[H>>2]=(f[H>>2]|0)+1}if((f[a>>2]|0)<3){a=f[e+44>>2]|0;H=f[M>>2]|0;f[H>>2]=f[a>>2];f[H+4>>2]=f[a+4>>2];break}else{f[d>>2]=0;WO(o,e);break}}else DJ(o,g,-1);while(0);g=l+40|0;e=f[g>>2]|0;d=f[e>>2]|0;f[q>>2]=f[e+4>>2];f[q+4>>2]=d;_J(c,q,f[l>>2]&4095,-1,0,0);do if((HJ(c)|0)==65536){q=f[c+4>>2]|0;f[r>>2]=f[q>>2];d=r+4|0;e=q+4|0;f[d>>2]=f[e>>2];a=r+8|0;f[a>>2]=f[q+8>>2];f[r+12>>2]=f[q+12>>2];H=r+16|0;f[H>>2]=f[q+16>>2];f[r+20>>2]=f[q+20>>2];f[r+24>>2]=f[q+24>>2];f[r+28>>2]=f[q+28>>2];f[r+32>>2]=f[q+32>>2];M=f[q+36>>2]|0;f[r+36>>2]=M;f[r+40>>2]=a;a=r+48|0;I=r+44|0;f[I>>2]=a;f[a>>2]=0;f[r+52>>2]=0;if(M|0){a=M+12|0;f[a>>2]=(f[a>>2]|0)+1}if((f[e>>2]|0)<3){e=f[q+44>>2]|0;a=f[I>>2]|0;f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];N=H;break}else{f[d>>2]=0;WO(r,q);N=H;break}}else{DJ(r,c,-1);N=r+16|0}while(0);c=l+16|0;if((f[N>>2]|0)==(f[c>>2]|0)){f[i>>2]=0;f[i+4>>2]=0;O=JV(i,20)|0;H=210253;P=O+20|0;do{b[O>>0]=b[H>>0]|0;O=O+1|0;H=H+1|0}while((O|0)<(P|0));EP(-215,i,210274,209667,284);KV(i)}H=l+12|0;q=f[H>>2]|0;d=4096/(((q|0)>1?q:1)>>>0)|0;e=l+8|0;a=f[e>>2]|0;I=d>>>0>1?d:1;d=(a|0)<(I|0)?a:I;f[s>>2]=1124007936;I=s+4|0;a=s+8|0;M=s+40|0;O=I;P=O+36|0;do{f[O>>2]=0;O=O+4|0}while((O|0)<(P|0));f[M>>2]=a;a=s+48|0;J=s+44|0;f[J>>2]=a;f[a>>2]=0;f[s+52>>2]=0;f[i>>2]=d;K=i+4|0;f[K>>2]=q;VO(s,2,i,11);q=f[H>>2]|0;f[t>>2]=1124007936;L=t+4|0;Q=t+8|0;R=t+40|0;O=L;P=O+36|0;do{f[O>>2]=0;O=O+4|0}while((O|0)<(P|0));f[R>>2]=Q;Q=t+48|0;S=t+44|0;f[S>>2]=Q;f[Q>>2]=0;f[t+52>>2]=0;f[i>>2]=d;f[K>>2]=q;VO(t,2,i,2);q=v+4|0;T=v+8|0;U=v+40|0;O=q;P=O+36|0;do{f[O>>2]=0;O=O+4|0}while((O|0)<(P|0));f[U>>2]=T;T=v+48|0;V=v+44|0;f[V>>2]=T;f[T>>2]=0;f[v+52>>2]=0;f[v>>2]=1124007942;W=w+4|0;Y=w+8|0;Z=w+40|0;O=W;P=O+36|0;do{f[O>>2]=0;O=O+4|0}while((O|0)<(P|0));f[Z>>2]=Y;Y=w+48|0;O=w+44|0;f[O>>2]=Y;f[Y>>2]=0;f[w+52>>2]=0;f[w>>2]=1124007942;YG(y,3,3,6);Z9(x,y);Mi(y);y=i+8|0;f[y>>2]=0;f[y+4>>2]=0;f[i>>2]=-2113863674;f[i+4>>2]=v;AO(m,i,6,1.0,0.0);y=n+16|0;P=(f[y>>2]|0)==0;_=n+4|0;$=f[_>>2]|0;if(!P){if(($|0)<3)aa=X(f[n+12>>2]|0,f[n+8>>2]|0)|0;else{ba=f[n+40>>2]|0;ca=0;da=1;while(1){ea=X(f[ba+(ca<<2)>>2]|0,da)|0;ca=ca+1|0;if((ca|0)==($|0)){aa=ea;break}else da=ea}}if(!(($|0)==0|(aa|0)==0)){_9(i,n);aa=i+36|0;da=f[aa>>2]|0;if(da|0){ca=da+12|0;f[ca>>2]=(f[ca>>2]|0)+1}ca=n+36|0;da=f[ca>>2]|0;if(da|0?(ba=da+12|0,da=f[ba>>2]|0,f[ba>>2]=da+-1,(da|0)==1):0)XO(n);f[ca>>2]=0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;if((f[_>>2]|0)>0){da=f[n+40>>2]|0;ba=0;do{f[da+(ba<<2)>>2]=0;ba=ba+1|0;fa=f[_>>2]|0}while((ba|0)<(fa|0));f[n>>2]=f[i>>2];if((fa|0)<3)ga=54;else ga=56}else{f[n>>2]=f[i>>2];ga=54}if((ga|0)==54){fa=f[i+4>>2]|0;if((fa|0)<3){f[_>>2]=fa;f[n+8>>2]=f[i+8>>2];f[n+12>>2]=f[i+12>>2];fa=f[i+44>>2]|0;_=f[n+44>>2]|0;f[_>>2]=f[fa>>2];f[_+4>>2]=f[fa+4>>2]}else ga=56}if((ga|0)==56)WO(n,i);fa=i+16|0;f[y>>2]=f[fa>>2];f[n+20>>2]=f[i+20>>2];f[n+24>>2]=f[i+24>>2];f[n+28>>2]=f[i+28>>2];f[n+32>>2]=f[i+32>>2];_=f[aa>>2]|0;f[ca>>2]=_;if(_|0?(ca=_+12|0,_=f[ca>>2]|0,f[ca>>2]=_+-1,(_|0)==1):0)XO(i);f[aa>>2]=0;aa=i+4|0;f[fa>>2]=0;f[fa+4>>2]=0;f[fa+8>>2]=0;f[fa+12>>2]=0;if((f[aa>>2]|0)>0){fa=f[i+40>>2]|0;_=0;do{f[fa+(_<<2)>>2]=0;_=_+1|0}while((_|0)<(f[aa>>2]|0))}aa=f[i+44>>2]|0;if((aa|0)!=(i+48|0))dX(aa)}else ga=66}else ga=66;if((ga|0)==66){if(!(((($|0)<3?(f[n+8>>2]|0)==5:0)?(f[n+12>>2]|0)==1:0)?!((f[n>>2]&4095|0)!=6|P):0))ga=70;if((ga|0)==70){f[i>>2]=5;f[K>>2]=1;VO(n,2,i,6)};f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;f[i+28>>2]=0;gM(n,i)|0}K=o+16|0;if(f[K>>2]|0){P=f[o+4>>2]|0;if((P|0)<3)ha=X(f[o+12>>2]|0,f[o+8>>2]|0)|0;else{$=f[o+40>>2]|0;aa=0;_=1;while(1){fa=X(f[$+(aa<<2)>>2]|0,_)|0;aa=aa+1|0;if((aa|0)==(P|0)){ha=fa;break}else _=fa}}if(!((P|0)==0|(ha|0)==0)){ha=i+8|0;f[ha>>2]=0;f[ha+4>>2]=0;f[i>>2]=-2113863674;f[i+4>>2]=w;AO(o,i,6,1.0,0.0)}else ga=79}else ga=79;if((ga|0)==79){ga=i+8|0;f[ga>>2]=0;f[ga+4>>2]=0;f[i>>2]=-2113863674;f[i+4>>2]=w;eM(v,i)}ga=w+16|0;ia=+p[(f[ga>>2]|0)+(f[f[O>>2]>>2]|0)+16>>3];ha=f[e>>2]|0;if((ha|0)>0){P=i+4|0;_=j+4|0;aa=i+4|0;$=j+4|0;fa=i+4|0;ca=j+4|0;ba=i+8|0;da=i+12|0;ea=i+4|0;ja=j+8|0;ka=j+12|0;la=j+4|0;ma=C+8|0;na=C+12|0;oa=C+4|0;pa=D+8|0;qa=D+12|0;ra=D+4|0;sa=E+4|0;ta=F+8|0;ua=F+4|0;va=G+8|0;wa=G+4|0;xa=i+8|0;ya=i+12|0;za=i+4|0;Aa=j+8|0;Ba=j+4|0;Ca=C+8|0;Da=C+12|0;Ea=C+4|0;Fa=D+8|0;Ga=D+12|0;Ha=D+4|0;Ia=B+36|0;Ja=B+16|0;Ka=B+4|0;La=B+40|0;Ma=B+44|0;Na=B+48|0;Oa=A+36|0;Pa=A+16|0;Qa=A+4|0;Ra=A+40|0;Sa=A+44|0;Ta=A+48|0;Ua=z+36|0;Va=z+16|0;Wa=z+4|0;Xa=z+40|0;Ya=z+44|0;Za=z+48|0;_a=0;$a=ha;do{ha=$a-_a|0;ab=(ha|0)<(d|0)?ha:d;p[(f[ga>>2]|0)+(f[f[O>>2]>>2]|0)+16>>3]=ia-+(_a|0);f[i>>2]=0;f[P>>2]=ab;f[j>>2]=-2147483648;f[_>>2]=2147483647;YO(z,s,i,j);f[i>>2]=0;f[aa>>2]=ab;f[j>>2]=-2147483648;f[$>>2]=2147483647;YO(A,t,i,j);f[i>>2]=_a;f[fa>>2]=ab+_a;f[j>>2]=-2147483648;f[ca>>2]=2147483647;YO(B,r,i,j);f[ba>>2]=0;f[da>>2]=0;f[i>>2]=-2130640890;f[ea>>2]=v;f[ja>>2]=0;f[ka>>2]=0;f[j>>2]=16842752;f[la>>2]=n;f[ma>>2]=0;f[na>>2]=0;f[C>>2]=-2130640890;f[oa>>2]=x;f[pa>>2]=0;f[qa>>2]=0;f[D>>2]=-2130640890;f[ra>>2]=w;f[E>>2]=f[H>>2];f[sa>>2]=ab;ab=f[z>>2]&4095;ha=ta;f[ha>>2]=0;f[ha+4>>2]=0;f[F>>2]=33619968;f[ua>>2]=z;ha=va;f[ha>>2]=0;f[ha+4>>2]=0;f[G>>2]=33619968;f[wa>>2]=A;Y9(i,j,C,D,E,ab,F,G);f[xa>>2]=0;f[ya>>2]=0;f[i>>2]=16842752;f[za>>2]=l;ab=Aa;f[ab>>2]=0;f[ab+4>>2]=0;f[j>>2]=33619968;f[Ba>>2]=B;f[Ca>>2]=0;f[Da>>2]=0;f[C>>2]=16842752;f[Ea>>2]=z;f[Fa>>2]=0;f[Ga>>2]=0;f[D>>2]=16842752;f[Ha>>2]=A;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;f[F+12>>2]=0;f[F+16>>2]=0;f[F+20>>2]=0;f[F+24>>2]=0;f[F+28>>2]=0;gga(i,j,C,D,1,0,F);ab=f[Ia>>2]|0;if(ab|0?(ha=ab+12|0,ab=f[ha>>2]|0,f[ha>>2]=ab+-1,(ab|0)==1):0)XO(B);f[Ia>>2]=0;f[Ja>>2]=0;f[Ja+4>>2]=0;f[Ja+8>>2]=0;f[Ja+12>>2]=0;if((f[Ka>>2]|0)>0){ab=f[La>>2]|0;ha=0;do{f[ab+(ha<<2)>>2]=0;ha=ha+1|0}while((ha|0)<(f[Ka>>2]|0))}ha=f[Ma>>2]|0;if((ha|0)!=(Na|0))dX(ha);ha=f[Oa>>2]|0;if(ha|0?(ab=ha+12|0,ha=f[ab>>2]|0,f[ab>>2]=ha+-1,(ha|0)==1):0)XO(A);f[Oa>>2]=0;f[Pa>>2]=0;f[Pa+4>>2]=0;f[Pa+8>>2]=0;f[Pa+12>>2]=0;if((f[Qa>>2]|0)>0){ha=f[Ra>>2]|0;ab=0;do{f[ha+(ab<<2)>>2]=0;ab=ab+1|0}while((ab|0)<(f[Qa>>2]|0))}ab=f[Sa>>2]|0;if((ab|0)!=(Ta|0))dX(ab);ab=f[Ua>>2]|0;if(ab|0?(ha=ab+12|0,ab=f[ha>>2]|0,f[ha>>2]=ab+-1,(ab|0)==1):0)XO(z);f[Ua>>2]=0;f[Va>>2]=0;f[Va+4>>2]=0;f[Va+8>>2]=0;f[Va+12>>2]=0;if((f[Wa>>2]|0)>0){ab=f[Xa>>2]|0;ha=0;do{f[ab+(ha<<2)>>2]=0;ha=ha+1|0}while((ha|0)<(f[Wa>>2]|0))}ha=f[Ya>>2]|0;if((ha|0)!=(Za|0))dX(ha);_a=_a+d|0;$a=f[e>>2]|0}while(($a|0)>(_a|0))}_a=x+36|0;$a=f[_a>>2]|0;if($a|0?(e=$a+12|0,$a=f[e>>2]|0,f[e>>2]=$a+-1,($a|0)==1):0)XO(x);f[_a>>2]=0;_a=x+16|0;$a=x+4|0;f[_a>>2]=0;f[_a+4>>2]=0;f[_a+8>>2]=0;f[_a+12>>2]=0;if((f[$a>>2]|0)>0){_a=f[x+40>>2]|0;e=0;do{f[_a+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(f[$a>>2]|0))}$a=f[x+44>>2]|0;if(($a|0)!=(x+48|0))dX($a);$a=w+36|0;x=f[$a>>2]|0;if(x|0?(e=x+12|0,x=f[e>>2]|0,f[e>>2]=x+-1,(x|0)==1):0)XO(w);f[$a>>2]=0;f[ga>>2]=0;f[ga+4>>2]=0;f[ga+8>>2]=0;f[ga+12>>2]=0;if((f[W>>2]|0)>0){ga=f[Z>>2]|0;Z=0;do{f[ga+(Z<<2)>>2]=0;Z=Z+1|0}while((Z|0)<(f[W>>2]|0))}W=f[O>>2]|0;if((W|0)!=(Y|0))dX(W);W=v+36|0;Y=f[W>>2]|0;if(Y|0?(O=Y+12|0,Y=f[O>>2]|0,f[O>>2]=Y+-1,(Y|0)==1):0)XO(v);f[W>>2]=0;W=v+16|0;f[W>>2]=0;f[W+4>>2]=0;f[W+8>>2]=0;f[W+12>>2]=0;if((f[q>>2]|0)>0){W=f[U>>2]|0;U=0;do{f[W+(U<<2)>>2]=0;U=U+1|0}while((U|0)<(f[q>>2]|0))}q=f[V>>2]|0;if((q|0)!=(T|0))dX(q);q=t+36|0;T=f[q>>2]|0;do if(T|0){V=T+12|0;U=f[V>>2]|0;f[V>>2]=U+-1;if((U|0)!=1)break;XO(t)}while(0);f[q>>2]=0;q=t+16|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;if((f[L>>2]|0)>0){q=f[R>>2]|0;R=0;do{f[q+(R<<2)>>2]=0;R=R+1|0}while((R|0)<(f[L>>2]|0))}L=f[S>>2]|0;if((L|0)!=(Q|0))dX(L);L=s+36|0;Q=f[L>>2]|0;do if(Q|0){S=Q+12|0;R=f[S>>2]|0;f[S>>2]=R+-1;if((R|0)!=1)break;XO(s)}while(0);f[L>>2]=0;L=s+16|0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;if((f[I>>2]|0)>0){L=f[M>>2]|0;M=0;do{f[L+(M<<2)>>2]=0;M=M+1|0}while((M|0)<(f[I>>2]|0))}I=f[J>>2]|0;if((I|0)!=(a|0))dX(I);I=r+36|0;a=f[I>>2]|0;do if(a|0){J=a+12|0;M=f[J>>2]|0;f[J>>2]=M+-1;if((M|0)!=1)break;XO(r)}while(0);f[I>>2]=0;I=r+4|0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;if((f[I>>2]|0)>0){N=f[r+40>>2]|0;a=0;do{f[N+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[I>>2]|0))}I=f[r+44>>2]|0;if((I|0)!=(r+48|0))dX(I);I=o+36|0;r=f[I>>2]|0;do if(r|0){a=r+12|0;N=f[a>>2]|0;f[a>>2]=N+-1;if((N|0)!=1)break;XO(o)}while(0);f[I>>2]=0;I=o+4|0;f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0;f[K+12>>2]=0;if((f[I>>2]|0)>0){K=f[o+40>>2]|0;r=0;do{f[K+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[I>>2]|0))}I=f[o+44>>2]|0;if((I|0)!=(o+48|0))dX(I);I=n+36|0;o=f[I>>2]|0;do if(o|0){r=o+12|0;K=f[r>>2]|0;f[r>>2]=K+-1;if((K|0)!=1)break;XO(n)}while(0);f[I>>2]=0;I=n+4|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;if((f[I>>2]|0)>0){y=f[n+40>>2]|0;o=0;do{f[y+(o<<2)>>2]=0;o=o+1|0}while((o|0)<(f[I>>2]|0))}I=f[n+44>>2]|0;if((I|0)!=(n+48|0))dX(I);I=m+36|0;n=f[I>>2]|0;do if(n|0){o=n+12|0;y=f[o>>2]|0;f[o>>2]=y+-1;if((y|0)!=1)break;XO(m)}while(0);f[I>>2]=0;I=m+16|0;n=m+4|0;f[I>>2]=0;f[I+4>>2]=0;f[I+8>>2]=0;f[I+12>>2]=0;if((f[n>>2]|0)>0){I=f[m+40>>2]|0;y=0;do{f[I+(y<<2)>>2]=0;y=y+1|0}while((y|0)<(f[n>>2]|0))}n=f[m+44>>2]|0;if((n|0)!=(m+48|0))dX(n);n=l+36|0;m=f[n>>2]|0;do if(m|0){y=m+12|0;I=f[y>>2]|0;f[y>>2]=I+-1;if((I|0)!=1)break;XO(l)}while(0);f[n>>2]=0;n=l+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[n>>2]|0)>0){c=f[g>>2]|0;g=0;do{f[c+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[n>>2]|0))}n=f[l+44>>2]|0;if((n|0)!=(l+48|0))dX(n);if(!(f[k+4>>2]|0)){u=h;return}u=h;return}function eaa(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;faa(a,b,c,d,e,f,1,5,.01);return}function faa(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=+j;var k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0.0,M=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0.0,ta=0.0,ua=0.0,va=0.0,wa=0.0,xa=0.0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0.0,Ga=0.0,Ha=0.0,Ia=0.0,Ja=0.0,Ka=0.0,La=0.0,Ma=0.0,Na=0.0,Oa=0.0,Pa=0.0,Qa=0.0,Ra=0.0,Sa=0.0,Ta=0.0,Ua=0.0,Va=0.0,Wa=0.0,Xa=0.0,Ya=0.0;k=u;u=u+512|0;l=k+288|0;m=k+216|0;o=k+144|0;q=k+32|0;r=k+480|0;s=k+452|0;t=k+424|0;v=k;w=k+396|0;x=k+368|0;y=k+360|0;z=q;A=z+112|0;do{f[z>>2]=0;z=z+4|0}while((z|0)<(A|0));f[r>>2]=1111638022;f[r+24>>2]=3;f[r+20>>2]=3;f[r+4>>2]=24;f[r+16>>2]=m;f[r+8>>2]=0;f[r+12>>2]=0;f[t>>2]=1111638022;f[t+24>>2]=3;f[t+20>>2]=3;f[t+4>>2]=24;f[t+16>>2]=o;f[t+8>>2]=0;f[t+12>>2]=0;if(!((((((((((((((a|0)!=0?(z=f[a>>2]|0,(z&-65536|0)==1111621632):0)?(A=f[a+24>>2]|0,(A|0)>0):0)?(B=f[a+20>>2]|0,(B|0)>0):0)?(b|0)!=0&(f[a+16>>2]|0)!=0:0)?(C=f[b>>2]|0,(C&-65536|0)==1111621632):0)?(D=f[b+24>>2]|0,(D|0)>0):0)?(E=f[b+20>>2]|0,(E|0)>0):0)?(f[b+16>>2]|0)!=0:0)?(A|0)==1|(B|0)==1:0)?(D|0)==1|(E|0)==1:0)?(B+A|0)==(D+E|0):0)?((z&4095)+-13|0)>>>0<2:0)?((C&4095)+-13|0)>>>0<2:0)){f[l>>2]=0;f[l+4>>2]=0;DVa(JV(l,868)|0,210384,868)|0;EP(-215,l,211253,209667,384);KV(l)}if(!(((((c|0)!=0?(f[c>>2]&-65536|0)==1111621632:0)?(C=f[c+24>>2]|0,(C|0)>0):0)?(z=f[c+20>>2]|0,(z|0)>0):0)?(C|0)==3&((z|0)==3&(f[c+16>>2]|0)!=0):0)){f[l>>2]=0;f[l+4>>2]=0;DVa(JV(l,292)|0,211279,292)|0;EP(-215,l,211253,209667,387);KV(l)}rAa(c,r,1.0,0.0);r=(d|0)!=0;if(r){c=f[d>>2]|0;if(((((c&-65536|0)==1111621632?(z=f[d+24>>2]|0,(z|0)>0):0)?(C=f[d+20>>2]|0,(C|0)>0):0)?(f[d+16>>2]|0)!=0:0)?(z|0)==1|(C|0)==1:0)switch(X(C,z)|0){case 14:case 12:case 8:case 5:case 4:{F=c;G=z;H=C;break}default:I=29}else I=29;if((I|0)==29){f[l>>2]=0;f[l+4>>2]=0;DVa(JV(l,504)|0,211572,504)|0;EP(-215,l,211253,209667,400);KV(l);F=f[d>>2]|0;G=f[d+24>>2]|0;H=f[d+20>>2]|0}I=F&4088;F=X(I+8|0,G)|0;f[s>>2]=I|1111638022;f[s+4>>2]=F;f[s+8>>2]=0;f[s+12>>2]=0;f[s+16>>2]=q;f[s+20>>2]=H;f[s+24>>2]=G;rAa(d,s,1.0,0.0);J=+p[q+96>>3];K=+p[q+104>>3];if(J!=0.0|K!=0.0){M=+N(+J);P=+O(+J);J=+N(+K);Q=+O(+K);K=Q*0.0;R=J+0.0-K;S=J*0.0;T=S+0.0;U=M*0.0;V=P*Q+(U+T);W=P*0.0;Y=W+T-M*Q;T=M+0.0-W;Z=U+(P+0.0);_=S+(Q+0.0);Q=K+0.0;K=U+Q-P*J;P=M*J+(W+Q);Q=1.0/P;W=Y*Q;J=Z*Q;M=_*0.0;U=R*0.0+0.0;S=T*0.0;$=K*0.0;aa=V*0.0+0.0;ba=Z*0.0;ca=P*0.0;da=Y*0.0+0.0;ea=-Y;fa=-Z;ga=M+(R*Q+0.0);ha=_*ea+(R*P+0.0);ia=_*fa+(U+ca);ja=$+(S+(V*Q+0.0));ka=K*fa+(aa+T*P);la=$+(aa+T*Q);ma=P*fa+(da+Z*P);na=K+(T*J+(V*W+0.0));oa=_+U;pa=ca+(ba+(W+0.0));qa=K+(S+aa);ra=ca+(da+J);sa=P+(ba+da);ta=P+(Z*J+(Y*W+0.0));ua=M+(U+Q*0.0);va=K*ea+(S+(V*P+0.0));wa=_+(J*0.0+(R*W+0.0));xa=P*ea+(ba+(Y*P+0.0))}else{ga=1.0;ha=1.0;ia=0.0;ja=0.0;ka=1.0;la=1.0;ma=0.0;na=0.0;oa=0.0;pa=0.0;qa=0.0;ra=0.0;sa=1.0;ta=1.0;ua=0.0;va=0.0;wa=0.0;xa=0.0}}else{ga=1.0;ha=1.0;ia=0.0;ja=0.0;ka=1.0;la=1.0;ma=0.0;na=0.0;oa=0.0;pa=0.0;qa=0.0;ra=0.0;sa=1.0;ta=1.0;ua=0.0;va=0.0;wa=0.0;xa=0.0}if(!e){p[v>>3]=1.0;s=v+8|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[s+16>>2]=0;f[s+20>>2]=0;f[l>>2]=f[v>>2];f[l+4>>2]=f[v+4>>2];f[l+8>>2]=f[v+8>>2];f[l+12>>2]=f[v+12>>2];f[l+16>>2]=f[v+16>>2];f[l+20>>2]=f[v+20>>2];f[l+24>>2]=f[v+24>>2];f[l+28>>2]=f[v+28>>2];PY(t,l)}else{if(!((((f[e>>2]&-65536|0)==1111621632?(v=f[e+24>>2]|0,(v|0)>0):0)?(s=f[e+20>>2]|0,(s|0)>0):0)?(v|0)==3&((s|0)==3&(f[e+16>>2]|0)!=0):0)){f[l>>2]=0;f[l+4>>2]=0;DVa(JV(l,229)|0,212077,229)|0;EP(-215,l,211253,209667,415);KV(l)}rAa(e,t,1.0,0.0)}if(g|0){f[x>>2]=1111638022;f[x+24>>2]=3;f[x+20>>2]=3;f[x+4>>2]=24;f[x+16>>2]=l;f[x+8>>2]=0;f[x+12>>2]=0;if(!((((f[g>>2]&-65536|0)==1111621632?(l=f[g+24>>2]|0,(l|0)>0):0)?(e=f[g+20>>2]|0,(e|0)>0):0)?(l+-3|0)>>>0<2&((e|0)==3&(f[g+16>>2]|0)!=0):0)){f[y>>2]=0;f[y+4>>2]=0;DVa(JV(y,250)|0,212307,250)|0;EP(-215,y,211253,209667,425);KV(y)}hW(g,w,0,3)|0;rAa(w,x,1.0,0.0);uD(x,t,1.0,0,1.0,t,0)}t=f[a+16>>2]|0;x=f[b+16>>2]|0;w=f[a>>2]|0;g=f[b>>2]|0;y=f[a+20>>2]|0;if((y|0)==1)ya=1;else ya=(f[a+4>>2]|0)/((w>>>3&511)+1<<(47696>>>(w<<1&14)&3)|0)|0;if((f[b+20>>2]|0)==1)za=1;else za=(f[b+4>>2]|0)/((g>>>3&511)+1<<(47696>>>(g<<1&14)&3)|0)|0;P=+p[m>>3];Y=+p[m+32>>3];ba=1.0/P;ea=1.0/Y;W=+p[m+16>>3];R=+p[m+40>>3];m=y+-1+(f[a+24>>2]|0)|0;if((m|0)<=0){u=k;return}a=(w&4095|0)==13;w=(h&1|0)==0;y=w|(i|0)>0;b=(h&2|0)==0;h=b^1;e=q+56|0;l=q+48|0;s=q+40|0;v=q+32|0;d=q+8|0;G=q+16|0;H=q+24|0;F=q+64|0;I=q+72|0;C=q+80|0;z=q+88|0;c=o+8|0;E=o+16|0;D=o+24|0;A=o+32|0;B=o+40|0;Aa=o+48|0;Ba=o+56|0;Ca=o+64|0;Da=(g&4095|0)==13;g=0;do{Ea=X(g,ya)|0;if(a){Fa=+n[t+(Ea<<3)>>2];Ga=+n[t+(Ea<<3)+4>>2]}else{Fa=+p[t+(Ea<<4)>>3];Ga=+p[t+(Ea<<4)+8>>3]}J=ba*(Fa-W);_=ea*(Ga-R);a:do if(r){V=ta+(ra*_+(pa*J+0.0));S=V!=0.0?1.0/V:1.0;V=(wa+(ua*_+(ga*J+0.0)))*S;K=(na+(la*_+(ja*J+0.0)))*S;if(y){S=+p[e>>3];Q=+p[l>>3];U=+p[s>>3];M=+p[v>>3];Z=+p[d>>3];da=+p[q>>3];ca=+p[G>>3];aa=ca*2.0;T=+p[H>>3];fa=+p[F>>3];$=+p[I>>3];Ha=T*2.0;Ia=+p[C>>3];Ja=+p[z>>3];Ka=1797693134862315708145274.0e284;Ea=0;La=V;Ma=K;while(1){if(Ka>3]+(Na*+p[Aa>>3]+Oa*+p[Ba>>3]));J=(+p[E>>3]+(Na*+p[o>>3]+Oa*+p[c>>3]))*_;Ma=(+p[B>>3]+(Na*+p[D>>3]+Oa*+p[A>>3]))*_;if(Da){Ea=X(g,za)|0;n[x+(Ea<<3)>>2]=J;n[x+(Ea<<3)+4>>2]=Ma}else{Ea=X(g,za)|0;p[x+(Ea<<4)>>3]=J;p[x+(Ea<<4)+8>>3]=Ma}g=g+1|0}while((g|0)!=(m|0));u=k;return}function gaa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;h=u;u=u+32|0;i=h+16|0;j=h;f[j>>2]=1;f[j+4>>2]=5;p[j+8>>3]=.01;f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];f[i+8>>2]=f[j+8>>2];f[i+12>>2]=f[j+12>>2];haa(a,b,c,d,e,g,i);u=h;return}function haa(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;i=u;u=u+512|0;j=i+456|0;k=i+400|0;l=i+344|0;m=i+288|0;n=i+232|0;o=i+176|0;q=i+168|0;r=i+140|0;s=i+112|0;t=i+84|0;v=i+56|0;w=i+28|0;x=i;do if((HJ(a)|0)==65536){y=f[a+4>>2]|0;f[j>>2]=f[y>>2];z=j+4|0;A=y+4|0;f[z>>2]=f[A>>2];B=j+8|0;f[B>>2]=f[y+8>>2];f[j+12>>2]=f[y+12>>2];f[j+16>>2]=f[y+16>>2];f[j+20>>2]=f[y+20>>2];f[j+24>>2]=f[y+24>>2];f[j+28>>2]=f[y+28>>2];f[j+32>>2]=f[y+32>>2];C=f[y+36>>2]|0;f[j+36>>2]=C;f[j+40>>2]=B;B=j+48|0;D=j+44|0;f[D>>2]=B;f[B>>2]=0;f[j+52>>2]=0;if(C|0){B=C+12|0;f[B>>2]=(f[B>>2]|0)+1}if((f[A>>2]|0)<3){A=f[y+44>>2]|0;B=f[D>>2]|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];break}else{f[z>>2]=0;WO(j,y);break}}else DJ(j,a,-1);while(0);do if((HJ(c)|0)==65536){a=f[c+4>>2]|0;f[k>>2]=f[a>>2];y=k+4|0;z=a+4|0;f[y>>2]=f[z>>2];A=k+8|0;f[A>>2]=f[a+8>>2];f[k+12>>2]=f[a+12>>2];f[k+16>>2]=f[a+16>>2];f[k+20>>2]=f[a+20>>2];f[k+24>>2]=f[a+24>>2];f[k+28>>2]=f[a+28>>2];f[k+32>>2]=f[a+32>>2];B=f[a+36>>2]|0;f[k+36>>2]=B;f[k+40>>2]=A;A=k+48|0;D=k+44|0;f[D>>2]=A;f[A>>2]=0;f[k+52>>2]=0;if(B|0){A=B+12|0;f[A>>2]=(f[A>>2]|0)+1}if((f[z>>2]|0)<3){z=f[a+44>>2]|0;A=f[D>>2]|0;f[A>>2]=f[z>>2];f[A+4>>2]=f[z+4>>2];break}else{f[y>>2]=0;WO(k,a);break}}else DJ(k,c,-1);while(0);do if((HJ(d)|0)==65536){c=f[d+4>>2]|0;f[l>>2]=f[c>>2];a=l+4|0;y=c+4|0;f[a>>2]=f[y>>2];z=l+8|0;f[z>>2]=f[c+8>>2];f[l+12>>2]=f[c+12>>2];f[l+16>>2]=f[c+16>>2];f[l+20>>2]=f[c+20>>2];f[l+24>>2]=f[c+24>>2];f[l+28>>2]=f[c+28>>2];f[l+32>>2]=f[c+32>>2];A=f[c+36>>2]|0;f[l+36>>2]=A;f[l+40>>2]=z;z=l+48|0;D=l+44|0;f[D>>2]=z;f[z>>2]=0;f[l+52>>2]=0;if(A|0){z=A+12|0;f[z>>2]=(f[z>>2]|0)+1}if((f[y>>2]|0)<3){y=f[c+44>>2]|0;z=f[D>>2]|0;f[z>>2]=f[y>>2];f[z+4>>2]=f[y+4>>2];break}else{f[a>>2]=0;WO(l,c);break}}else DJ(l,d,-1);while(0);do if((HJ(e)|0)==65536){d=f[e+4>>2]|0;f[m>>2]=f[d>>2];c=m+4|0;a=d+4|0;f[c>>2]=f[a>>2];y=m+8|0;f[y>>2]=f[d+8>>2];f[m+12>>2]=f[d+12>>2];f[m+16>>2]=f[d+16>>2];f[m+20>>2]=f[d+20>>2];f[m+24>>2]=f[d+24>>2];f[m+28>>2]=f[d+28>>2];f[m+32>>2]=f[d+32>>2];z=f[d+36>>2]|0;f[m+36>>2]=z;f[m+40>>2]=y;y=m+48|0;D=m+44|0;f[D>>2]=y;f[y>>2]=0;f[m+52>>2]=0;if(z|0){y=z+12|0;f[y>>2]=(f[y>>2]|0)+1}if((f[a>>2]|0)<3){a=f[d+44>>2]|0;y=f[D>>2]|0;f[y>>2]=f[a>>2];f[y+4>>2]=f[a+4>>2];break}else{f[c>>2]=0;WO(m,d);break}}else DJ(m,e,-1);while(0);do if((HJ(g)|0)==65536){e=f[g+4>>2]|0;f[n>>2]=f[e>>2];d=n+4|0;c=e+4|0;f[d>>2]=f[c>>2];a=n+8|0;f[a>>2]=f[e+8>>2];f[n+12>>2]=f[e+12>>2];f[n+16>>2]=f[e+16>>2];f[n+20>>2]=f[e+20>>2];f[n+24>>2]=f[e+24>>2];f[n+28>>2]=f[e+28>>2];f[n+32>>2]=f[e+32>>2];y=f[e+36>>2]|0;f[n+36>>2]=y;f[n+40>>2]=a;a=n+48|0;D=n+44|0;f[D>>2]=a;f[a>>2]=0;f[n+52>>2]=0;if(y|0){a=y+12|0;f[a>>2]=(f[a>>2]|0)+1}if((f[c>>2]|0)<3){c=f[e+44>>2]|0;a=f[D>>2]|0;f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];break}else{f[d>>2]=0;WO(n,e);break}}else DJ(n,g,-1);while(0);g=f[j>>2]|0;if((g&16384|0)!=0?((g&7)+-5|0)>>>0<2:0)if(!((g&4088|0)==8?(f[j+8>>2]|0)==1:0)?(X((g>>>3&511)+1|0,f[j+12>>2]|0)|0)!=2:0)E=40;else F=g;else E=40;if((E|0)==40){f[o>>2]=0;f[o+4>>2]=0;DVa(JV(o,136)|0,212558,136)|0;EP(-215,o,212695,209667,564);KV(o);F=f[j>>2]|0}E=j+40|0;g=f[E>>2]|0;e=f[g>>2]|0;f[q>>2]=f[g+4>>2];f[q+4>>2]=e;_J(b,q,F&4095,-1,1,0);do if((HJ(b)|0)==65536){F=f[b+4>>2]|0;f[o>>2]=f[F>>2];q=o+4|0;e=F+4|0;f[q>>2]=f[e>>2];g=o+8|0;f[g>>2]=f[F+8>>2];d=o+12|0;f[d>>2]=f[F+12>>2];c=o+16|0;f[c>>2]=f[F+16>>2];f[o+20>>2]=f[F+20>>2];f[o+24>>2]=f[F+24>>2];f[o+28>>2]=f[F+28>>2];f[o+32>>2]=f[F+32>>2];a=f[F+36>>2]|0;f[o+36>>2]=a;f[o+40>>2]=g;D=o+48|0;y=o+44|0;f[y>>2]=D;f[D>>2]=0;f[o+52>>2]=0;if(a|0){D=a+12|0;f[D>>2]=(f[D>>2]|0)+1}if((f[e>>2]|0)<3){e=f[F+44>>2]|0;D=f[y>>2]|0;f[D>>2]=f[e>>2];f[D+4>>2]=f[e+4>>2];G=q;H=d;I=o;J=c;K=c;L=y;M=g;break}else{f[q>>2]=0;WO(o,F);G=q;H=d;I=o;J=c;K=c;L=y;M=g;break}}else{DJ(o,b,-1);g=o+16|0;G=o+4|0;H=o+12|0;I=o;J=g;K=g;L=o+44|0;M=o+8|0}while(0);b=f[j+8>>2]|0;g=j+4|0;y=(f[g>>2]|0)==1?1:f[j+12>>2]|0;c=f[j>>2]|0;d=c&4095;q=j+16|0;F=f[q>>2]|0;e=X((c>>>3&511)+1<<(47696>>>(d<<1&14)&3),y)|0;f[r>>2]=d|1111638016;d=r+4|0;f[d>>2]=e;f[r+8>>2]=0;f[r+12>>2]=0;f[r+16>>2]=F;f[r+20>>2]=b;f[r+24>>2]=y;y=j+44|0;f[d>>2]=f[f[y>>2]>>2];f[r>>2]=c&20479|1111621632;c=f[M>>2]|0;M=(f[G>>2]|0)==1?1:f[H>>2]|0;H=f[I>>2]|0;I=H&4095;d=f[K>>2]|0;K=X((H>>>3&511)+1<<(47696>>>(I<<1&14)&3),M)|0;f[s>>2]=I|1111638016;I=s+4|0;f[I>>2]=K;f[s+8>>2]=0;f[s+12>>2]=0;f[s+16>>2]=d;f[s+20>>2]=c;f[s+24>>2]=M;f[I>>2]=f[f[L>>2]>>2];f[s>>2]=H&20479|1111621632;H=f[k+8>>2]|0;I=k+4|0;M=(f[I>>2]|0)==1?1:f[k+12>>2]|0;c=f[k>>2]|0;d=c&4095;K=k+16|0;b=f[K>>2]|0;F=X((c>>>3&511)+1<<(47696>>>(d<<1&14)&3),M)|0;f[t>>2]=d|1111638016;d=t+4|0;f[d>>2]=F;f[t+8>>2]=0;f[t+12>>2]=0;f[t+16>>2]=b;f[t+20>>2]=H;f[t+24>>2]=M;M=k+44|0;f[d>>2]=f[f[M>>2]>>2];f[t>>2]=c&20479|1111621632;c=m+16|0;d=f[c>>2]|0;H=d;if(d){d=f[m+4>>2]|0;if((d|0)<3)N=X(f[m+12>>2]|0,f[m+8>>2]|0)|0;else{b=f[m+40>>2]|0;F=0;e=1;while(1){D=X(f[b+(F<<2)>>2]|0,e)|0;F=F+1|0;if((F|0)==(d|0)){N=D;break}else e=D}}if(!((d|0)==0|(N|0)==0)){N=f[m+8>>2]|0;e=(d|0)==1?1:f[m+12>>2]|0;d=f[f[m+44>>2]>>2]|0;f[v>>2]=f[m>>2]&20479|1111621632;f[v+4>>2]=d;f[v+8>>2]=0;f[v+12>>2]=0;f[v+16>>2]=H;f[v+20>>2]=N;f[v+24>>2]=e;O=v}else O=0}else O=0;v=n+16|0;e=f[v>>2]|0;N=e;if(e){e=f[n+4>>2]|0;if((e|0)<3)P=X(f[n+12>>2]|0,f[n+8>>2]|0)|0;else{H=f[n+40>>2]|0;d=0;F=1;while(1){b=X(f[H+(d<<2)>>2]|0,F)|0;d=d+1|0;if((d|0)==(e|0)){P=b;break}else F=b}}if(!((e|0)==0|(P|0)==0)){P=f[n+8>>2]|0;F=(e|0)==1?1:f[n+12>>2]|0;e=f[f[n+44>>2]>>2]|0;f[w>>2]=f[n>>2]&20479|1111621632;f[w+4>>2]=e;f[w+8>>2]=0;f[w+12>>2]=0;f[w+16>>2]=N;f[w+20>>2]=P;f[w+24>>2]=F;Q=w}else Q=0}else Q=0;w=l+16|0;F=f[w>>2]|0;P=F;if(F){F=f[l+4>>2]|0;if((F|0)<3)R=X(f[l+12>>2]|0,f[l+8>>2]|0)|0;else{N=f[l+40>>2]|0;e=0;d=1;while(1){H=X(f[N+(e<<2)>>2]|0,d)|0;e=e+1|0;if((e|0)==(F|0)){R=H;break}else d=H}}if(!((F|0)==0|(R|0)==0)){R=f[l+8>>2]|0;d=(F|0)==1?1:f[l+12>>2]|0;F=f[f[l+44>>2]>>2]|0;f[x>>2]=f[l>>2]&20479|1111621632;f[x+4>>2]=F;f[x+8>>2]=0;f[x+12>>2]=0;f[x+16>>2]=P;f[x+20>>2]=R;f[x+24>>2]=d;S=x}else S=0}else S=0;faa(r,s,t,S,O,Q,f[h>>2]|0,f[h+4>>2]|0,+p[h+8>>3]);h=o+36|0;Q=f[h>>2]|0;if(Q|0?(O=Q+12|0,Q=f[O>>2]|0,f[O>>2]=Q+-1,(Q|0)==1):0)XO(o);f[h>>2]=0;f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[J+12>>2]=0;if((f[G>>2]|0)>0){J=f[o+40>>2]|0;h=0;do{f[J+(h<<2)>>2]=0;h=h+1|0}while((h|0)<(f[G>>2]|0))}G=f[L>>2]|0;if((G|0)!=(o+48|0))dX(G);G=n+36|0;o=f[G>>2]|0;if(o|0?(L=o+12|0,o=f[L>>2]|0,f[L>>2]=o+-1,(o|0)==1):0)XO(n);f[G>>2]=0;G=n+4|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;if((f[G>>2]|0)>0){v=f[n+40>>2]|0;o=0;do{f[v+(o<<2)>>2]=0;o=o+1|0}while((o|0)<(f[G>>2]|0))}G=f[n+44>>2]|0;if((G|0)!=(n+48|0))dX(G);G=m+36|0;n=f[G>>2]|0;if(n|0?(o=n+12|0,n=f[o>>2]|0,f[o>>2]=n+-1,(n|0)==1):0)XO(m);f[G>>2]=0;G=m+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[G>>2]|0)>0){c=f[m+40>>2]|0;n=0;do{f[c+(n<<2)>>2]=0;n=n+1|0}while((n|0)<(f[G>>2]|0))}G=f[m+44>>2]|0;if((G|0)!=(m+48|0))dX(G);G=l+36|0;m=f[G>>2]|0;do if(m|0){n=m+12|0;c=f[n>>2]|0;f[n>>2]=c+-1;if((c|0)!=1)break;XO(l)}while(0);f[G>>2]=0;G=l+4|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;if((f[G>>2]|0)>0){w=f[l+40>>2]|0;m=0;do{f[w+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[G>>2]|0))}G=f[l+44>>2]|0;if((G|0)!=(l+48|0))dX(G);G=k+36|0;l=f[G>>2]|0;do if(l|0){m=l+12|0;w=f[m>>2]|0;f[m>>2]=w+-1;if((w|0)!=1)break;XO(k)}while(0);f[G>>2]=0;f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0;f[K+12>>2]=0;if((f[I>>2]|0)>0){K=f[k+40>>2]|0;G=0;do{f[K+(G<<2)>>2]=0;G=G+1|0}while((G|0)<(f[I>>2]|0))}I=f[M>>2]|0;if((I|0)!=(k+48|0))dX(I);I=j+36|0;k=f[I>>2]|0;do if(k|0){M=k+12|0;G=f[M>>2]|0;f[M>>2]=G+-1;if((G|0)!=1)break;XO(j)}while(0);f[I>>2]=0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;if((f[g>>2]|0)>0){q=f[E>>2]|0;E=0;do{f[q+(E<<2)>>2]=0;E=E+1|0}while((E|0)<(f[g>>2]|0))}g=f[y>>2]|0;if((g|0)==(j+48|0)){u=i;return}dX(g);u=i;return}function iaa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0;d=u;u=u+4256|0;e=d+4240|0;g=d+4184|0;i=d+4128|0;j=d+4112|0;k=d+2064|0;l=d+8|0;m=d;yV(e,48228);do if((HJ(a)|0)==65536){n=f[a+4>>2]|0;f[g>>2]=f[n>>2];o=g+4|0;p=n+4|0;f[o>>2]=f[p>>2];q=g+8|0;f[q>>2]=f[n+8>>2];f[g+12>>2]=f[n+12>>2];f[g+16>>2]=f[n+16>>2];f[g+20>>2]=f[n+20>>2];f[g+24>>2]=f[n+24>>2];f[g+28>>2]=f[n+28>>2];f[g+32>>2]=f[n+32>>2];r=f[n+36>>2]|0;f[g+36>>2]=r;f[g+40>>2]=q;q=g+48|0;s=g+44|0;f[s>>2]=q;f[q>>2]=0;f[g+52>>2]=0;if(r|0){q=r+12|0;f[q>>2]=(f[q>>2]|0)+1}if((f[p>>2]|0)<3){p=f[n+44>>2]|0;q=f[s>>2]|0;f[q>>2]=f[p>>2];f[q+4>>2]=f[p+4>>2];break}else{f[o>>2]=0;WO(g,n);break}}else DJ(g,a,-1);while(0);do if((HJ(c)|0)==65536){a=f[c+4>>2]|0;f[i>>2]=f[a>>2];n=i+4|0;o=a+4|0;f[n>>2]=f[o>>2];p=i+8|0;f[p>>2]=f[a+8>>2];f[i+12>>2]=f[a+12>>2];f[i+16>>2]=f[a+16>>2];f[i+20>>2]=f[a+20>>2];f[i+24>>2]=f[a+24>>2];f[i+28>>2]=f[a+28>>2];f[i+32>>2]=f[a+32>>2];q=f[a+36>>2]|0;f[i+36>>2]=q;f[i+40>>2]=p;p=i+48|0;s=i+44|0;f[s>>2]=p;f[p>>2]=0;f[i+52>>2]=0;if(q|0){p=q+12|0;f[p>>2]=(f[p>>2]|0)+1}if((f[o>>2]|0)<3){o=f[a+44>>2]|0;p=f[s>>2]|0;f[p>>2]=f[o>>2];f[p+4>>2]=f[o+4>>2];break}else{f[n>>2]=0;WO(i,a);break}}else DJ(i,c,-1);while(0);c=g+40|0;a=f[c>>2]|0;n=f[a+4>>2]|0;o=f[a>>2]|0;f[j>>2]=0;p=j+4|0;f[p>>2]=0;f[j+8>>2]=0;FVa(k|0,0,2048)|0;if((f[g>>2]&4095|0)==16?(f[i>>2]&4095|0)==4:0)t=a;else{f[m>>2]=0;f[m+4>>2]=0;v=JV(m,114)|0;w=212711;x=v+114|0;do{b[v>>0]=b[w>>0]|0;v=v+1|0;w=w+1|0}while((v|0)<(x|0));EP(-215,m,212826,212836,161);KV(m);t=f[c>>2]|0}a=i+40|0;s=f[a>>2]|0;if(!((f[t>>2]|0)==(f[s>>2]|0)?(f[t+4>>2]|0)==(f[s+4>>2]|0):0)){f[m>>2]=0;f[m+4>>2]=0;v=JV(m,24)|0;w=212900;x=v+24|0;do{b[v>>0]=b[w>>0]|0;v=v+1|0;w=w+1|0}while((v|0)<(x|0));EP(-215,m,212826,212836,162);KV(m)}m=g+16|0;w=f[m>>2]|0;v=g+48|0;x=f[v>>2]|0;s=i+16|0;t=f[s>>2]|0;q=i+48|0;r=f[q>>2]|0;FVa(l|0,0,1024)|0;y=g+44|0;z=i+44|0;A=r>>>2;r=256;do{f[l+(r<<2)>>2]=r+-256;r=r+1|0}while((r|0)!=513);r=o+-1|0;if((n|0)>0){B=X(A,r)|0;C=0;do{f[t+(C+B<<2)>>2]=-1;f[t+(C<<2)>>2]=-1;C=C+1|0}while((C|0)!=(n|0))}if((o|0)>2){o=n+-1|0;C=(n|0)>2;n=0-A|0;B=0-x|0;D=0;E=t;t=w;w=1;while(1){t=t+x|0;E=E+(A<<2)|0;f[E+(o<<2)>>2]=-1;f[E>>2]=-1;if(C){F=X(w,A)|0;G=X(w,x)|0;H=D;I=1;while(1){J=E+(I<<2)|0;K=f[J>>2]|0;if((K|0)>=0)if(!K)L=33;else M=H;else{f[J>>2]=0;L=33}do if((L|0)==33){L=0;if((f[J+-4>>2]|0)>0){K=I*3|0;N=t+K|0;O=(h[N>>0]|0)-(h[N+-3>>0]|0)|0;P=(h[N+1>>0]|0)-(h[N+-2>>0]|0)|0;Q=(P|0)>-1?P:0-P|0;P=(h[N+2>>0]|0)-(h[N+-1>>0]|0)|0;R=(P|0)>-1?P:0-P|0;S=R+(f[l+((f[l+(((O|0)>-1?O:0-O|0)+256-Q<<2)>>2]|0)+256+Q-R<<2)>>2]|0)|0;T=f[J+4>>2]|0;U=N;V=K}else{K=f[J+4>>2]|0;if(((K|0)<=0?(f[J+(n<<2)>>2]|0)<=0:0)?(f[J+(A<<2)>>2]|0)<=0:0){M=H;break}N=I*3|0;S=256;T=K;U=t+N|0;V=N}if((T|0)>0){N=(h[U>>0]|0)-(h[U+3>>0]|0)|0;K=(h[U+1>>0]|0)-(h[U+4>>0]|0)|0;R=(K|0)>-1?K:0-K|0;K=(h[U+2>>0]|0)-(h[U+5>>0]|0)|0;Q=(K|0)>-1?K:0-K|0;W=S-(f[l+(S+256-(f[l+((f[l+(((N|0)>-1?N:0-N|0)+256-R<<2)>>2]|0)+256+R-Q<<2)>>2]|0)-Q<<2)>>2]|0)|0}else W=S;if((f[J+(n<<2)>>2]|0)>0){Q=U+B|0;R=(h[U>>0]|0)-(h[Q>>0]|0)|0;N=(h[U+1>>0]|0)-(h[Q+1>>0]|0)|0;K=(N|0)>-1?N:0-N|0;N=(h[U+2>>0]|0)-(h[Q+2>>0]|0)|0;Q=(N|0)>-1?N:0-N|0;Y=W-(f[l+(W+256-(f[l+((f[l+(((R|0)>-1?R:0-R|0)+256-K<<2)>>2]|0)+256+K-Q<<2)>>2]|0)-Q<<2)>>2]|0)|0}else Y=W;if((f[J+(A<<2)>>2]|0)>0){Q=U+x|0;K=(h[U>>0]|0)-(h[Q>>0]|0)|0;R=(h[U+1>>0]|0)-(h[Q+1>>0]|0)|0;N=(R|0)>-1?R:0-R|0;R=(h[U+2>>0]|0)-(h[Q+2>>0]|0)|0;Q=(R|0)>-1?R:0-R|0;Z=Y-(f[l+(Y+256-(f[l+((f[l+(((K|0)>-1?K:0-K|0)+256-N<<2)>>2]|0)+256+N-Q<<2)>>2]|0)-Q<<2)>>2]|0)|0}else Z=Y;if(!H){Q=f[p>>2]|0;N=f[j>>2]|0;K=Q-N|0;R=(K|0)/12|0;O=R*3|0;P=(O|0)>257?(O|0)/2|0:128;O=N;N=Q;do if(P>>>0>R>>>0){jaa(j,P-R|0);L=52}else{if(P>>>0>=R>>>0){L=52;break}Q=O+(P*12|0)|0;if((Q|0)==(N|0)){_=R;$=O;break}f[p>>2]=N+(~(((N+-12-Q|0)>>>0)/12|0)*12|0);_=R;$=O}while(0);do if((L|0)==52){L=0;O=f[j>>2]|0;if(K|0){_=R;$=O;break}f[O>>2]=0;_=1;$=O}while(0);R=P+-1|0;if((_|0)<(R|0)){K=_;do{O=K;K=K+1|0;f[$+(O*12|0)>>2]=K}while((K|0)!=(R|0))}f[$+(R*12|0)>>2]=0;aa=_;ba=$}else{aa=H;ba=f[j>>2]|0}K=ba+(aa*12|0)|0;P=f[K>>2]|0;f[K>>2]=0;f[ba+(aa*12|0)+4>>2]=I+F;f[ba+(aa*12|0)+8>>2]=V+G;K=k+(Z<<3)+4|0;O=f[K>>2]|0;f[((O|0)==0?k+(Z<<3)|0:(f[j>>2]|0)+(O*12|0)|0)>>2]=aa;f[K>>2]=aa;f[J>>2]=-2;M=P}while(0);I=I+1|0;if((I|0)>=(o|0)){ca=M;break}else H=M}}else ca=D;w=w+1|0;if((w|0)>=(r|0)){da=ca;break}else D=ca}}else da=0;ca=0;while(1){if(f[k+(ca<<3)>>2]|0){ea=ca;L=63;break}D=ca;ca=ca+1|0;if((D|0)>=255){L=62;break}}if((L|0)==62?(ca|0)!=256:0){ea=ca;L=63}a:do if((L|0)==63){ca=f[m>>2]|0;D=f[s>>2]|0;r=0-A|0;w=0-x|0;M=ea;o=da;while(1){aa=f[k+(M<<3)>>2]|0;if(!aa){Z=M;do{V=Z;Z=Z+1|0;if((V|0)>=255)break}while(!(f[k+(Z<<3)>>2]|0));if((Z|0)==256)break a;fa=Z;ga=f[k+(Z<<3)>>2]|0}else{fa=M;ga=aa}V=f[j>>2]|0;ba=V+(ga*12|0)|0;$=f[ba>>2]|0;f[k+(fa<<3)>>2]=$;_=V;if(!$)f[k+(fa<<3)+4>>2]=0;f[ba>>2]=o;ba=f[V+(ga*12|0)+4>>2]|0;$=f[V+(ga*12|0)+8>>2]|0;Y=D+(ba<<2)|0;U=ca+$|0;W=Y+-4|0;B=f[W>>2]|0;n=(B|0)>0?B:0;S=Y+4|0;T=f[S>>2]|0;if((T|0)>0)ha=(B|0)<1?T:(T|0)==(n|0)?n:-1;else ha=n;n=Y+(r<<2)|0;t=f[n>>2]|0;if((t|0)>0)ia=(ha|0)==0?t:(t|0)==(ha|0)?ha:-1;else ia=ha;t=Y+(A<<2)|0;E=f[t>>2]|0;if((E|0)>0)if(!ia)f[Y>>2]=E;else{ja=(E|0)==(ia|0)?ia:-1;L=78}else{ja=ia;L=78}if((L|0)==78?(L=0,f[Y>>2]=ja,(ja|0)==-1):0){M=fa;o=ga;continue}if(!B){B=U+-3|0;Y=(h[U>>0]|0)-(h[B>>0]|0)|0;E=(h[U+1>>0]|0)-(h[B+1>>0]|0)|0;C=(E|0)>-1?E:0-E|0;E=(h[U+2>>0]|0)-(h[B+2>>0]|0)|0;B=(E|0)>-1?E:0-E|0;E=B+(f[l+((f[l+(((Y|0)>-1?Y:0-Y|0)+256-C<<2)>>2]|0)+256+C-B<<2)>>2]|0)|0;if(!ga){B=f[p>>2]|0;C=B-_|0;Y=(C|0)/12|0;H=Y*3|0;I=(H|0)>257?(H|0)/2|0:128;H=B;do if(I>>>0<=Y>>>0)if(I>>>0>>0){B=V+(I*12|0)|0;if((B|0)==(H|0)){ka=Y;la=V;break}f[p>>2]=H+(~(((H+-12-B|0)>>>0)/12|0)*12|0);ka=Y;la=V}else L=86;else{jaa(j,I-Y|0);L=86}while(0);if((L|0)==86){L=0;H=f[j>>2]|0;if(!C){f[H>>2]=0;ka=1;la=H}else{ka=Y;la=H}}H=I+-1|0;if((ka|0)<(H|0)){aa=ka;do{Z=aa;aa=aa+1|0;f[la+(Z*12|0)>>2]=aa}while((aa|0)!=(H|0))}f[la+(H*12|0)>>2]=0;ma=ka;na=la}else{ma=ga;na=V}aa=na+(ma*12|0)|0;I=f[aa>>2]|0;f[aa>>2]=0;f[na+(ma*12|0)+4>>2]=ba+-1;f[na+(ma*12|0)+8>>2]=$+-3;aa=k+(E<<3)+4|0;Y=f[aa>>2]|0;C=f[j>>2]|0;f[((Y|0)==0?k+(E<<3)|0:C+(Y*12|0)|0)>>2]=ma;f[aa>>2]=ma;aa=fa-(f[l+(fa+256-E<<2)>>2]|0)|0;f[W>>2]=-2;oa=aa;pa=I;qa=f[S>>2]|0;ra=C;sa=C}else{oa=fa;pa=ga;qa=T;ra=_;sa=V}if(!qa){C=U+3|0;I=(h[U>>0]|0)-(h[C>>0]|0)|0;aa=(h[U+1>>0]|0)-(h[C+1>>0]|0)|0;Y=(aa|0)>-1?aa:0-aa|0;aa=(h[U+2>>0]|0)-(h[C+2>>0]|0)|0;C=(aa|0)>-1?aa:0-aa|0;aa=C+(f[l+((f[l+(((I|0)>-1?I:0-I|0)+256-Y<<2)>>2]|0)+256+Y-C<<2)>>2]|0)|0;if(!pa){C=f[p>>2]|0;Y=C-ra|0;I=(Y|0)/12|0;Z=I*3|0;B=(Z|0)>257?(Z|0)/2|0:128;Z=ra;G=C;do if(B>>>0>I>>>0){jaa(j,B-I|0);L=99}else{if(B>>>0>=I>>>0){L=99;break}C=Z+(B*12|0)|0;if((C|0)==(G|0)){ta=I;ua=sa;break}f[p>>2]=G+(~(((G+-12-C|0)>>>0)/12|0)*12|0);ta=I;ua=sa}while(0);do if((L|0)==99){L=0;G=f[j>>2]|0;if(Y|0){ta=I;ua=G;break}f[G>>2]=0;ta=1;ua=G}while(0);I=B+-1|0;if((ta|0)<(I|0)){Y=ta;do{G=Y;Y=Y+1|0;f[ua+(G*12|0)>>2]=Y}while((Y|0)!=(I|0))}f[ua+(I*12|0)>>2]=0;va=ta;wa=ua}else{va=pa;wa=sa}Y=wa+(va*12|0)|0;B=f[Y>>2]|0;f[Y>>2]=0;f[wa+(va*12|0)+4>>2]=ba+1;f[wa+(va*12|0)+8>>2]=$+3;Y=k+(aa<<3)+4|0;G=f[Y>>2]|0;Z=f[j>>2]|0;f[((G|0)==0?k+(aa<<3)|0:Z+(G*12|0)|0)>>2]=va;f[Y>>2]=va;Y=oa-(f[l+(oa+256-aa<<2)>>2]|0)|0;f[S>>2]=-2;xa=Y;ya=B;za=Z;Aa=Z}else{xa=oa;ya=pa;za=ra;Aa=sa}if(!(f[n>>2]|0)){Z=U+w|0;B=(h[U>>0]|0)-(h[Z>>0]|0)|0;Y=(h[U+1>>0]|0)-(h[Z+1>>0]|0)|0;G=(Y|0)>-1?Y:0-Y|0;Y=(h[U+2>>0]|0)-(h[Z+2>>0]|0)|0;Z=(Y|0)>-1?Y:0-Y|0;Y=Z+(f[l+((f[l+(((B|0)>-1?B:0-B|0)+256-G<<2)>>2]|0)+256+G-Z<<2)>>2]|0)|0;if(!ya){Z=f[p>>2]|0;G=Z-za|0;B=(G|0)/12|0;V=B*3|0;_=(V|0)>257?(V|0)/2|0:128;V=za;T=Z;do if(_>>>0>B>>>0){jaa(j,_-B|0);L=112}else{if(_>>>0>=B>>>0){L=112;break}Z=V+(_*12|0)|0;if((Z|0)==(T|0)){Ba=B;Ca=Aa;break}f[p>>2]=T+(~(((T+-12-Z|0)>>>0)/12|0)*12|0);Ba=B;Ca=Aa}while(0);do if((L|0)==112){L=0;T=f[j>>2]|0;if(G|0){Ba=B;Ca=T;break}f[T>>2]=0;Ba=1;Ca=T}while(0);B=_+-1|0;if((Ba|0)<(B|0)){G=Ba;do{T=G;G=G+1|0;f[Ca+(T*12|0)>>2]=G}while((G|0)!=(B|0))}f[Ca+(B*12|0)>>2]=0;Da=Ba;Ea=Ca}else{Da=ya;Ea=Aa}G=Ea+(Da*12|0)|0;_=f[G>>2]|0;f[G>>2]=0;f[Ea+(Da*12|0)+4>>2]=ba-A;f[Ea+(Da*12|0)+8>>2]=$-x;G=k+(Y<<3)+4|0;T=f[G>>2]|0;V=f[j>>2]|0;f[((T|0)==0?k+(Y<<3)|0:V+(T*12|0)|0)>>2]=Da;f[G>>2]=Da;G=xa-(f[l+(xa+256-Y<<2)>>2]|0)|0;f[n>>2]=-2;Fa=_;Ga=G;Ha=V;Ia=V}else{Fa=ya;Ga=xa;Ha=za;Ia=Aa}if(f[t>>2]|0){M=Ga;o=Fa;continue}V=U+x|0;G=(h[U>>0]|0)-(h[V>>0]|0)|0;_=(h[U+1>>0]|0)-(h[V+1>>0]|0)|0;T=(_|0)>-1?_:0-_|0;_=(h[U+2>>0]|0)-(h[V+2>>0]|0)|0;V=(_|0)>-1?_:0-_|0;_=V+(f[l+((f[l+(((G|0)>-1?G:0-G|0)+256-T<<2)>>2]|0)+256+T-V<<2)>>2]|0)|0;if(!Fa){V=f[p>>2]|0;T=V-Ha|0;G=(T|0)/12|0;S=G*3|0;aa=(S|0)>257?(S|0)/2|0:128;S=Ha;I=V;do if(aa>>>0>G>>>0){jaa(j,aa-G|0);L=125}else{if(aa>>>0>=G>>>0){L=125;break}V=S+(aa*12|0)|0;if((V|0)==(I|0)){Ja=G;Ka=Ia;break}f[p>>2]=I+(~(((I+-12-V|0)>>>0)/12|0)*12|0);Ja=G;Ka=Ia}while(0);do if((L|0)==125){L=0;I=f[j>>2]|0;if(T|0){Ja=G;Ka=I;break}f[I>>2]=0;Ja=1;Ka=I}while(0);G=aa+-1|0;if((Ja|0)<(G|0)){T=Ja;do{I=T;T=T+1|0;f[Ka+(I*12|0)>>2]=T}while((T|0)!=(G|0))}f[Ka+(G*12|0)>>2]=0;La=Ja;Ma=Ka}else{La=Fa;Ma=Ia}T=Ma+(La*12|0)|0;aa=f[T>>2]|0;f[T>>2]=0;f[Ma+(La*12|0)+4>>2]=ba+A;f[Ma+(La*12|0)+8>>2]=$+x;T=k+(_<<3)+4|0;I=f[T>>2]|0;f[((I|0)==0?k+(_<<3)|0:(f[j>>2]|0)+(I*12|0)|0)>>2]=La;f[T>>2]=La;T=Ga-(f[l+(Ga+256-_<<2)>>2]|0)|0;f[t>>2]=-2;M=T;o=aa}}while(0);Ga=f[j>>2]|0;if(Ga|0){j=f[p>>2]|0;if((j|0)!=(Ga|0))f[p>>2]=j+(~(((j+-12-Ga|0)>>>0)/12|0)*12|0);GQa(Ga)}Ga=i+36|0;j=f[Ga>>2]|0;if(j|0?(p=j+12|0,j=f[p>>2]|0,f[p>>2]=j+-1,(j|0)==1):0)XO(i);f[Ga>>2]=0;Ga=i+4|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if((f[Ga>>2]|0)>0){s=f[a>>2]|0;a=0;do{f[s+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[Ga>>2]|0))}Ga=f[z>>2]|0;if((Ga|0)!=(q|0))dX(Ga);Ga=g+36|0;q=f[Ga>>2]|0;if(q|0?(z=q+12|0,q=f[z>>2]|0,f[z>>2]=q+-1,(q|0)==1):0)XO(g);f[Ga>>2]=0;Ga=g+4|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;if((f[Ga>>2]|0)>0){m=f[c>>2]|0;c=0;do{f[m+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[Ga>>2]|0))}Ga=f[y>>2]|0;if((Ga|0)!=(v|0))dX(Ga);if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function jaa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(((d-g|0)/12|0)>>>0>=b>>>0){h=b;i=g;do{f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;i=(f[e>>2]|0)+12|0;f[e>>2]=i;h=h+-1|0}while((h|0)!=0);return}h=f[a>>2]|0;i=(g-h|0)/12|0;g=i+b|0;if(g>>>0>357913941)ZOa(a);j=(d-h|0)/12|0;h=j<<1;d=j>>>0<178956970?(h>>>0>>0?g:h):357913941;do if(d)if(d>>>0>357913941){h=hd(8)|0;LQa(h,349912);f[h>>2]=118288;ld(h|0,20688,857)}else{k=EQa(d*12|0)|0;break}else k=0;while(0);h=k+(i*12|0)|0;i=k+(d*12|0)|0;d=b;b=h;k=h;do{f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;b=k+12|0;k=b;d=d+-1|0}while((d|0)!=0);d=f[a>>2]|0;b=(f[e>>2]|0)-d|0;g=h+(((b|0)/-12|0)*12|0)|0;if((b|0)>0)DVa(g|0,d|0,b|0)|0;f[a>>2]=g;f[e>>2]=k;f[c>>2]=i;if(!d)return;GQa(d);return}function kaa(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0.0,$b=0,ac=0,bc=0.0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0;i=u;u=u+1536|0;k=i+480|0;l=i;m=i+336|0;o=i+304|0;p=i+248|0;q=i+192|0;r=i+328|0;s=i+320|0;t=i+136|0;v=i+312|0;yV(o,48248);do if((HJ(a)|0)==65536){w=f[a+4>>2]|0;f[p>>2]=f[w>>2];x=p+4|0;y=w+4|0;f[x>>2]=f[y>>2];z=p+8|0;f[z>>2]=f[w+8>>2];f[p+12>>2]=f[w+12>>2];f[p+16>>2]=f[w+16>>2];f[p+20>>2]=f[w+20>>2];f[p+24>>2]=f[w+24>>2];f[p+28>>2]=f[w+28>>2];f[p+32>>2]=f[w+32>>2];A=f[w+36>>2]|0;f[p+36>>2]=A;B=p+40|0;f[B>>2]=z;z=p+48|0;C=p+44|0;f[C>>2]=z;f[z>>2]=0;f[p+52>>2]=0;if(A|0){z=A+12|0;f[z>>2]=(f[z>>2]|0)+1}if((f[y>>2]|0)<3){y=f[w+44>>2]|0;z=f[C>>2]|0;f[z>>2]=f[y>>2];f[z+4>>2]=f[y+4>>2];D=p;E=B;break}else{f[x>>2]=0;WO(p,w);D=p;E=B;break}}else{DJ(p,a,-1);D=p;E=p+40|0}while(0);f[q>>2]=1124007936;a=q+4|0;B=q+8|0;w=q+40|0;x=a;y=x+36|0;do{f[x>>2]=0;x=x+4|0}while((x|0)<(y|0));f[w>>2]=B;z=q+48|0;C=q+44|0;f[C>>2]=z;f[z>>2]=0;f[q+52>>2]=0;A=f[E>>2]|0;F=f[A+4>>2]|0;G=f[A>>2]|0;A=f[D>>2]|0;D=A>>>3&511;H=A&7;A=(H|0)==0;I=(H|0)==2;if((H|2|0)!=2){f[k>>2]=0;f[k+4>>2]=0;x=JV(k,24)|0;J=212982;y=x+24|0;do{b[x>>0]=b[J>>0]|0;x=x+1|0;J=J+1|0}while((x|0)<(y|0));EP(-215,k,213007,213019,1668);KV(k)}K=p+16|0;if(f[K>>2]|0){L=f[p+4>>2]|0;if((L|0)<3)M=X(f[p+12>>2]|0,f[p+8>>2]|0)|0;else{N=f[E>>2]|0;O=0;P=1;while(1){Q=X(f[N+(O<<2)>>2]|0,P)|0;O=O+1|0;if((O|0)==(L|0)){M=Q;break}else P=Q}}if((L|0)==0|(M|0)==0)R=16}else R=16;if((R|0)==16){f[k>>2]=0;f[k+4>>2]=0;x=JV(k,12)|0;J=340375;y=x+12|0;do{b[x>>0]=b[J>>0]|0;x=x+1|0;J=J+1|0}while((x|0)<(y|0));EP(-215,k,213007,213019,1669);KV(k)}a:do switch(e|0){case 89:case 88:case 87:case 86:{M=(g|0)>1?g:1;if(!((g|0)<2&(D|0)==0)){f[k>>2]=0;f[k+4>>2]=0;x=JV(k,20)|0;J=213082;y=x+20|0;do{b[x>>0]=b[J>>0]|0;x=x+1|0;J=J+1|0}while((x|0)<(y|0));EP(-215,k,213007,213019,1676);KV(k)}f[r>>2]=F;f[r+4>>2]=G;_J(c,r,H|(M<<3)+-8,-1,0,0);do if((HJ(c)|0)==65536){L=f[c+4>>2]|0;f[k>>2]=f[L>>2];P=k+4|0;O=L+4|0;f[P>>2]=f[O>>2];N=k+8|0;f[N>>2]=f[L+8>>2];f[k+12>>2]=f[L+12>>2];f[k+16>>2]=f[L+16>>2];f[k+20>>2]=f[L+20>>2];f[k+24>>2]=f[L+24>>2];f[k+28>>2]=f[L+28>>2];f[k+32>>2]=f[L+32>>2];Q=k+36|0;S=f[L+36>>2]|0;f[Q>>2]=S;f[k+40>>2]=N;N=k+48|0;T=k+44|0;f[T>>2]=N;f[N>>2]=0;f[k+52>>2]=0;if(S|0){N=S+12|0;f[N>>2]=(f[N>>2]|0)+1}if((f[O>>2]|0)<3){O=f[L+44>>2]|0;N=f[T>>2]|0;f[N>>2]=f[O>>2];f[N+4>>2]=f[O+4>>2];U=Q;break}else{f[P>>2]=0;WO(k,L);U=Q;break}}else{DJ(k,c,-1);U=k+36|0}while(0);M=f[U>>2]|0;if(M|0){Q=M+12|0;f[Q>>2]=(f[Q>>2]|0)+1}Q=q+36|0;M=f[Q>>2]|0;if(M|0?(L=M+12|0,M=f[L>>2]|0,f[L>>2]=M+-1,(M|0)==1):0)XO(q);f[Q>>2]=0;M=q+16|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;if((f[a>>2]|0)>0){L=f[w>>2]|0;P=0;do{f[L+(P<<2)>>2]=0;P=P+1|0;V=f[a>>2]|0}while((P|0)<(V|0));f[q>>2]=f[k>>2];if((V|0)<3)R=37;else R=39}else{f[q>>2]=f[k>>2];R=37}if((R|0)==37){P=f[k+4>>2]|0;if((P|0)<3){f[a>>2]=P;f[B>>2]=f[k+8>>2];f[q+12>>2]=f[k+12>>2];P=f[k+44>>2]|0;L=f[C>>2]|0;f[L>>2]=f[P>>2];f[L+4>>2]=f[P+4>>2]}else R=39}if((R|0)==39)WO(q,k);P=k+16|0;f[M>>2]=f[P>>2];f[q+20>>2]=f[k+20>>2];f[q+24>>2]=f[k+24>>2];f[q+28>>2]=f[k+28>>2];f[q+32>>2]=f[k+32>>2];L=f[U>>2]|0;f[Q>>2]=L;if(L|0?(O=L+12|0,L=f[O>>2]|0,f[O>>2]=L+-1,(L|0)==1):0)XO(k);f[U>>2]=0;L=k+4|0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;if((f[L>>2]|0)>0){P=f[k+40>>2]|0;O=0;do{f[P+(O<<2)>>2]=0;O=O+1|0}while((O|0)<(f[L>>2]|0))}L=f[k+44>>2]|0;if((L|0)!=(k+48|0))dX(L);if(A){L=f[E>>2]|0;O=f[L+4>>2]|0;P=f[L>>2]|0;L=k+4|0;Q=(e|1|0)==87;N=P+-2|0;f[L>>2]=N;f[k>>2]=O+-2;if((P|0)>2){f[l>>2]=0;f[l+4>>2]=N;laa(m,p,q,((e|0)==87|(e|0)==89)&1,Q,k,Q?1868:4899,Q?4899:1868);Q=f[a>>2]|0;if((Q|0)<3)W=X(f[q+12>>2]|0,f[B>>2]|0)|0;else{N=f[w>>2]|0;P=0;O=1;while(1){T=X(f[N+(P<<2)>>2]|0,O)|0;P=P+1|0;if((P|0)==(Q|0)){W=T;break}else O=T}}$Z(l,m,+(W>>>0)*.0000152587890625);maa(m)}O=f[w>>2]|0;Q=f[O+4>>2]|0;P=f[O>>2]|0;f[k>>2]=Q;f[L>>2]=P;O=f[M>>2]|0;N=f[z>>2]|0;T=(Q|0)>0;if((P|0)>2){if(T){Q=0;do{b[O+Q>>0]=b[O+(Q+N)>>0]|0;S=f[L>>2]|0;Y=O+((X(S+-2|0,N)|0)+Q)|0;Z=O+((X(S+-1|0,N)|0)+Q)|0;b[Z>>0]=b[Y>>0]|0;Q=Q+1|0}while((Q|0)<(f[k>>2]|0))}}else if(T?(Q=O+(X(P+-1|0,N)|0)|0,b[Q>>0]=0,b[O>>0]=0,(f[k>>2]|0)>1):0){Q=1;do{Y=O+((X((f[L>>2]|0)+-1|0,N)|0)+Q)|0;b[Y>>0]=0;b[O+Q>>0]=0;Q=Q+1|0}while((Q|0)<(f[k>>2]|0))}break a}if(!I){f[k>>2]=0;f[k+4>>2]=0;x=JV(k,54)|0;J=213103;y=x+54|0;do{b[x>>0]=b[J>>0]|0;x=x+1|0;J=J+1|0}while((x|0)<(y|0));EP(-210,k,213007,213019,1686);KV(k);break a}Q=f[E>>2]|0;O=f[Q+4>>2]|0;N=f[Q>>2]|0;Q=k+4|0;L=(e|1|0)==87;P=N+-2|0;f[Q>>2]=P;f[k>>2]=O+-2;if((N|0)>2){f[l>>2]=0;f[l+4>>2]=P;naa(m,p,q,((e|0)==87|(e|0)==89)&1,L,k,L?1868:4899,L?4899:1868);L=f[a>>2]|0;if((L|0)<3)_=X(f[q+12>>2]|0,f[B>>2]|0)|0;else{P=f[w>>2]|0;N=0;O=1;while(1){T=X(f[P+(N<<2)>>2]|0,O)|0;N=N+1|0;if((N|0)==(L|0)){_=T;break}else O=T}}$Z(l,m,+(_>>>0)*.0000152587890625);oaa(m)}O=f[w>>2]|0;L=f[O+4>>2]|0;N=f[O>>2]|0;f[k>>2]=L;f[Q>>2]=N;O=f[M>>2]|0;P=(f[z>>2]|0)>>>1;T=(L|0)>0;if((N|0)>2){if(T){Y=X(P,N+-2|0)|0;Z=X(P,N+-1|0)|0;S=0;do{d[O+(S<<1)>>1]=d[O+(S+P<<1)>>1]|0;d[O+(S+Z<<1)>>1]=d[O+(S+Y<<1)>>1]|0;S=S+1|0}while((S|0)!=(L|0))}}else if(T){S=X(P,N+-1|0)|0;Y=0;do{d[O+(Y+S<<1)>>1]=0;d[O+(Y<<1)>>1]=0;Y=Y+1|0}while((Y|0)!=(L|0))}break}case 65:case 64:case 63:case 62:case 142:case 141:case 140:case 139:case 49:case 48:case 47:case 46:{L=(g|0)<1?3:g;if(!((L+-3|0)>>>0<2&(D|0)==0)){f[k>>2]=0;f[k+4>>2]=0;x=JV(k,34)|0;J=213158;y=x+34|0;do{b[x>>0]=b[J>>0]|0;x=x+1|0;J=J+1|0}while((x|0)<(y|0));EP(-215,k,213007,213019,1695);KV(k)}f[s>>2]=F;f[s+4>>2]=G;_J(c,s,H|(L<<3)+-8,-1,0,0);do if((HJ(c)|0)==65536){Y=f[c+4>>2]|0;f[t>>2]=f[Y>>2];O=t+4|0;S=Y+4|0;f[O>>2]=f[S>>2];N=t+8|0;f[N>>2]=f[Y+8>>2];f[t+12>>2]=f[Y+12>>2];f[t+16>>2]=f[Y+16>>2];f[t+20>>2]=f[Y+20>>2];f[t+24>>2]=f[Y+24>>2];f[t+28>>2]=f[Y+28>>2];f[t+32>>2]=f[Y+32>>2];P=f[Y+36>>2]|0;f[t+36>>2]=P;f[t+40>>2]=N;N=t+48|0;T=t+44|0;f[T>>2]=N;f[N>>2]=0;f[t+52>>2]=0;if(P|0){N=P+12|0;f[N>>2]=(f[N>>2]|0)+1}if((f[S>>2]|0)<3){S=f[Y+44>>2]|0;N=f[T>>2]|0;f[N>>2]=f[S>>2];f[N+4>>2]=f[S+4>>2];break}else{f[O>>2]=0;WO(t,Y);break}}else DJ(t,c,-1);while(0);b:do switch(e|0){case 46:case 47:case 48:case 49:case 139:case 140:case 141:case 142:{if(A){paa(p,t,e);break b}if(!I){f[k>>2]=0;f[k+4>>2]=0;x=JV(k,53)|0;J=213193;y=x+53|0;do{b[x>>0]=b[J>>0]|0;x=x+1|0;J=J+1|0}while((x|0)<(y|0));EP(-210,k,213007,213019,1710);KV(k);break b}L=(f[t+48>>2]|0)>>>1;Y=f[E>>2]|0;O=f[Y+4>>2]|0;S=f[Y>>2]|0;Y=k+4|0;N=((f[t>>2]|0)>>>3&511)+1|0;T=S+-2|0;f[Y>>2]=T;f[k>>2]=O+-2;if((S|0)>2){f[l>>2]=0;f[l+4>>2]=T;qaa(m,p,t,((e|0)==47|(e|0)==49)&1,(e|1|0)==47?-1:1,k);T=f[t+4>>2]|0;if((T|0)<3)$=X(f[t+12>>2]|0,f[t+8>>2]|0)|0;else{S=f[t+40>>2]|0;O=0;P=1;while(1){Z=X(f[S+(O<<2)>>2]|0,P)|0;O=O+1|0;if((O|0)==(T|0)){$=Z;break}else P=Z}}$Z(l,m,+($>>>0)*.0000152587890625);raa(m)}P=f[t+40>>2]|0;T=f[P+4>>2]|0;O=f[P>>2]|0;f[k>>2]=T;f[Y>>2]=O;P=f[t+16>>2]|0;S=X(T,N)|0;T=(S|0)>0;if((O|0)>2){if(T){Z=X(O+-2|0,L)|0;M=X(O+-1|0,L)|0;Q=0;do{d[P+(Q<<1)>>1]=d[P+(Q+L<<1)>>1]|0;d[P+(Q+M<<1)>>1]=d[P+(Q+Z<<1)>>1]|0;Q=Q+1|0}while((Q|0)!=(S|0))}}else if(T){Q=X(O+-1|0,L)|0;Z=0;do{d[P+(Z+Q<<1)>>1]=0;d[P+(Z<<1)>>1]=0;Z=Z+1|0}while((Z|0)!=(S|0))}break}default:{if(!A){f[k>>2]=0;f[k+4>>2]=0;x=JV(k,10)|0;J=337473;y=x+10|0;do{b[x>>0]=b[J>>0]|0;x=x+1|0;J=J+1|0}while((x|0)<(y|0));EP(-215,k,213007,213019,1714);KV(k)}S=f[K>>2]|0;Z=f[p+48>>2]|0;P=f[t+16>>2]|0;Q=f[t+48>>2]|0;L=f[E>>2]|0;O=f[L+4>>2]|0;T=f[L>>2]|0;if((((O|0)>(T|0)?T:O)|0)<8){paa(p,t,e);break b}L=O<<1;M=O*3|0;N=O<<2;Y=O*5|0;aa=O*6|0;ba=O*49|0;ca=O*147|0;da=k+8|0;f[k>>2]=da;ea=k+4|0;f[ea>>2]=ca;if(ca>>>0>520){fa=FQa(ca>>>0>2147483647?-1:ca<<1)|0;f[k>>2]=fa;ga=fa}else ga=da;fa=Z<<1;ca=S+fa|0;S=T+-4|0;if((T|0)>6){ha=O+-2|0;ia=O+-1|0;ja=(O|0)>2;ka=~Z;la=Z+-1|0;ma=0-Z|0;na=1-Z|0;oa=Z+1|0;pa=(O|0)>4;qa=M+-9|0;ra=ha*3|0;sa=O+1|0;ta=L|1;ua=L+-1|0;va=M+-1|0;wa=M+1|0;xa=ma<<1;ya=xa+-1|0;za=xa|1;Aa=fa+-1|0;Ba=fa|1;Ca=-2-Z|0;Da=Z+-2|0;Ea=2-Z|0;Fa=Z+2|0;Ga=N|1;Ha=N+-1|0;Ia=Y+-1|0;Ja=Y+1|0;Ka=X(Z,-2)|0;La=Ka+2|0;Ma=aa|1;Na=fa+-2|0;Oa=aa+-1|0;Pa=Ka+-2|0;Ka=fa+2|0;Qa=ha+O|0;Ra=ha+L|0;Sa=ha+M|0;Ta=ha+N|0;Ua=ha+Y|0;Va=ha+aa|0;Wa=(e|1|0)==63?0:2;Xa=2;Ya=(e|0)!=62&(e|0)!=64;while(1){Za=X(Xa,Q)|0;_a=(Xa|0)==2?-1:1;do{$a=_a+Xa|0;ab=ga+((X(($a+-1|0)%3|0,ba)|0)<<1)+2|0;d[ab+(ha<<1)>>1]=0;d[ab+-2>>1]=0;d[ab+(Qa<<1)>>1]=0;d[ab+(ia<<1)>>1]=0;d[ab+(Ra<<1)>>1]=0;d[ab+(ua<<1)>>1]=0;d[ab+(Sa<<1)>>1]=0;d[ab+(va<<1)>>1]=0;d[ab+(Ta<<1)>>1]=0;d[ab+(Ha<<1)>>1]=0;d[ab+(Ua<<1)>>1]=0;d[ab+(Ia<<1)>>1]=0;d[ab+(Va<<1)>>1]=0;d[ab+(Oa<<1)>>1]=0;if(ja){bb=ab;ab=ca+(X($a,Z)|0)+1|0;$a=1;while(1){cb=ab+ka|0;db=ab+la|0;eb=(h[cb>>0]|0)-(h[db>>0]|0)|0;fb=ab+ma|0;gb=ab+Z|0;hb=(h[fb>>0]|0)-(h[gb>>0]|0)|0;ib=ab+na|0;jb=ab+oa|0;kb=(h[ib>>0]|0)-(h[jb>>0]|0)|0;d[bb>>1]=(((hb|0)>-1?hb:0-hb|0)<<1)+((eb|0)>-1?eb:0-eb|0)+((kb|0)>-1?kb:0-kb|0);kb=(h[cb>>0]|0)-(h[ib>>0]|0)|0;eb=ab+-1|0;ab=ab+1|0;hb=(h[eb>>0]|0)-(h[ab>>0]|0)|0;lb=(h[db>>0]|0)-(h[jb>>0]|0)|0;d[bb+(O<<1)>>1]=(((hb|0)>-1?hb:0-hb|0)<<1)+((kb|0)>-1?kb:0-kb|0)+((lb|0)>-1?lb:0-lb|0);lb=(h[ib>>0]|0)-(h[db>>0]|0)|0;db=bb+(L<<1)|0;d[db>>1]=((lb|0)>-1?lb:0-lb|0)<<1;lb=(h[cb>>0]|0)-(h[jb>>0]|0)|0;jb=bb+(M<<1)|0;d[jb>>1]=((lb|0)>-1?lb:0-lb|0)<<1;lb=(h[fb>>0]|0)-(h[eb>>0]|0)|0;cb=(h[gb>>0]|0)-(h[ab>>0]|0)|0;d[bb+(N<<1)>>1]=((lb|0)>-1?lb:0-lb|0)+(j[db>>1]|0)+((cb|0)>-1?cb:0-cb|0);cb=(h[fb>>0]|0)-(h[ab>>0]|0)|0;db=(h[gb>>0]|0)-(h[eb>>0]|0)|0;d[bb+(Y<<1)>>1]=((cb|0)>-1?cb:0-cb|0)+(j[jb>>1]|0)+((db|0)>-1?db:0-db|0);d[bb+(aa<<1)>>1]=((h[eb>>0]|0)+(h[fb>>0]|0)+(h[ab>>0]|0)+(h[gb>>0]|0)|0)>>>1;$a=$a+1|0;if(($a|0)==(ia|0))break;else bb=bb+2|0}}_a=_a+1|0}while((_a|0)!=2);_a=P+Za|0;if(pa){bb=Wa^2;$a=Ya;ab=ga+((X((Xa|0)%3|0,ba)|0)<<1)+4|0;gb=ga+((X((Xa+-1|0)%3|0,ba)|0)<<1)+4|0;fb=ga+((X((Xa+-2|0)%3|0,ba)|0)<<1)+4|0;eb=_a+6|0;db=ca+(X(Xa,Z)|0)+2|0;jb=2;while(1){cb=j[gb>>1]|0;lb=cb+(j[fb>>1]|0)|0;ib=(j[ab>>1]|0)+cb|0;cb=j[gb+(O<<1)>>1]|0;kb=cb+(j[gb+(ia<<1)>>1]|0)|0;hb=(j[gb+(sa<<1)>>1]|0)+cb|0;cb=ib>>>0>>0?ib:lb;mb=(kb|0)<(cb|0)?kb:cb;cb=(hb|0)<(mb|0)?hb:mb;mb=lb>>>0>>0?ib:lb;nb=(mb|0)<(kb|0)?kb:mb;mb=(nb|0)<(hb|0)?hb:nb;if($a){nb=j[gb+(L<<1)>>1]|0;ob=(j[fb+(ta<<1)>>1]|0)+(j[fb+(L<<1)>>1]|0)+nb+(j[gb+(ta<<1)>>1]|0)|0;pb=(j[gb+(ua<<1)>>1]|0)+nb+(j[ab+(L<<1)>>1]|0)+(j[ab+(ua<<1)>>1]|0)|0;nb=j[gb+(M<<1)>>1]|0;qb=(j[fb+(va<<1)>>1]|0)+(j[fb+(M<<1)>>1]|0)+nb+(j[gb+(va<<1)>>1]|0)|0;rb=(j[gb+(wa<<1)>>1]|0)+nb+(j[ab+(M<<1)>>1]|0)+(j[ab+(wa<<1)>>1]|0)|0;nb=(ob|0)<(cb|0)?ob:cb;sb=(pb|0)<(nb|0)?pb:nb;nb=(qb|0)<(sb|0)?qb:sb;sb=(mb|0)<(ob|0)?ob:mb;tb=(sb|0)<(pb|0)?pb:sb;sb=(tb|0)<(qb|0)?qb:tb;tb=(sb|0)<(rb|0)?rb:sb;sb=((tb|0)<2?1:tb>>>1)+((rb|0)<(nb|0)?rb:nb)|0;if((lb|0)<(sb|0)){ub=1;vb=(h[db+ma>>0]|0)<<1;wb=(h[db>>0]|0)+(h[db+xa>>0]|0)|0;xb=(h[db+za>>0]|0)+(h[db+ya>>0]|0)|0}else{ub=0;vb=0;wb=0;xb=0}if((ib|0)<(sb|0)){yb=ub+1|0;zb=((h[db+Z>>0]|0)<<1)+vb|0;Ab=wb+(h[db+fa>>0]|0)+(h[db>>0]|0)|0;Bb=xb+(h[db+Aa>>0]|0)+(h[db+Ba>>0]|0)|0}else{yb=ub;zb=vb;Ab=wb;Bb=xb}if((kb|0)<(sb|0)){Cb=yb+1|0;Db=zb+(h[db+Ca>>0]|0)+(h[db+Da>>0]|0)|0;Eb=Ab+(h[db+-2>>0]|0)+(h[db>>0]|0)|0;Fb=((h[db+-1>>0]|0)<<1)+Bb|0}else{Cb=yb;Db=zb;Eb=Ab;Fb=Bb}if((hb|0)<(sb|0)){Gb=Cb+1|0;Hb=Db+(h[db+Ea>>0]|0)+(h[db+Fa>>0]|0)|0;Ib=Eb+(h[db+2>>0]|0)+(h[db>>0]|0)|0;Jb=((h[db+1>>0]|0)<<1)+Fb|0}else{Gb=Cb;Hb=Db;Ib=Eb;Jb=Fb}if((ob|0)<(sb|0)){Kb=Gb+1|0;Lb=Hb+(h[db+ma>>0]|0)+(h[db+Ea>>0]|0)|0;Mb=((h[db+na>>0]|0)<<1)+Ib|0;Nb=Jb+(h[db+za>>0]|0)+(h[db+1>>0]|0)|0}else{Kb=Gb;Lb=Hb;Mb=Ib;Nb=Jb}if((pb|0)<(sb|0)){Ob=Kb+1|0;Pb=Lb+(h[db+Z>>0]|0)+(h[db+Da>>0]|0)|0;Qb=((h[db+la>>0]|0)<<1)+Mb|0;Rb=Nb+(h[db+Aa>>0]|0)+(h[db+-1>>0]|0)|0}else{Ob=Kb;Pb=Lb;Qb=Mb;Rb=Nb}if((qb|0)<(sb|0)){Sb=Ob+1|0;Tb=Pb+(h[db+Ca>>0]|0)+(h[db+ma>>0]|0)|0;Ub=((h[db+ka>>0]|0)<<1)+Qb|0;Vb=Rb+(h[db+ya>>0]|0)+(h[db+-1>>0]|0)|0}else{Sb=Ob;Tb=Pb;Ub=Qb;Vb=Rb}if((rb|0)<(sb|0)){Wb=Sb+1|0;Xb=Tb+(h[db+Fa>>0]|0)+(h[db+Z>>0]|0)|0;Yb=((h[db+oa>>0]|0)<<1)+Ub|0;Zb=Vb+(h[db+Ba>>0]|0)+(h[db+1>>0]|0)|0}else{Wb=Sb;Xb=Tb;Yb=Ub;Zb=Vb}sb=h[db>>0]|0;_b=+n[48268+(Wb<<2)>>2];$b=sb;ac=(HEa(_b*+(Zb-Yb|0))|0)+sb|0;bc=_b;cc=sb;dc=Xb-Yb|0}else{sb=j[gb+(N<<1)>>1]|0;rb=sb+(j[fb+(Ga<<1)>>1]|0)|0;qb=(j[ab+(Ha<<1)>>1]|0)+sb|0;sb=j[gb+(Y<<1)>>1]|0;pb=sb+(j[fb+(Ia<<1)>>1]|0)|0;ob=(j[ab+(Ja<<1)>>1]|0)+sb|0;sb=(rb|0)<(cb|0)?rb:cb;cb=(qb|0)<(sb|0)?qb:sb;sb=(pb|0)<(cb|0)?pb:cb;cb=(mb|0)<(rb|0)?rb:mb;mb=(cb|0)<(qb|0)?qb:cb;cb=(mb|0)<(pb|0)?pb:mb;mb=(cb|0)<(ob|0)?ob:cb;cb=((mb|0)<2?1:mb>>>1)+((ob|0)<(sb|0)?ob:sb)|0;if((lb|0)<(cb|0)){ec=1;fc=(h[db+na>>0]|0)+(h[db+ka>>0]|0)|0;gc=(h[db+ma>>0]|0)<<1;hc=(h[db>>0]|0)+(h[db+xa>>0]|0)|0}else{ec=0;fc=0;gc=0;hc=0}if((ib|0)<(cb|0)){ic=ec+1|0;jc=fc+(h[db+la>>0]|0)+(h[db+oa>>0]|0)|0;kc=((h[db+Z>>0]|0)<<1)+gc|0;lc=hc+(h[db+fa>>0]|0)+(h[db>>0]|0)|0}else{ic=ec;jc=fc;kc=gc;lc=hc}if((kb|0)<(cb|0)){mc=ic+1|0;nc=jc+(h[db+ka>>0]|0)+(h[db+la>>0]|0)|0;oc=((h[db+-1>>0]|0)<<1)+kc|0;pc=lc+(h[db+-2>>0]|0)+(h[db>>0]|0)|0}else{mc=ic;nc=jc;oc=kc;pc=lc}if((hb|0)<(cb|0)){qc=mc+1|0;rc=nc+(h[db+na>>0]|0)+(h[db+oa>>0]|0)|0;sc=((h[db+1>>0]|0)<<1)+oc|0;tc=pc+(h[db+2>>0]|0)+(h[db>>0]|0)|0}else{qc=mc;rc=nc;sc=oc;tc=pc}if((rb|0)<(cb|0)){uc=qc+1|0;vc=((h[db+na>>0]|0)<<1)+rc|0;wc=sc+(j[fb+(Ma<<1)>>1]|0)|0;xc=tc+(h[db+La>>0]|0)+(h[db>>0]|0)|0}else{uc=qc;vc=rc;wc=sc;xc=tc}if((qb|0)<(cb|0)){yc=uc+1|0;zc=((h[db+la>>0]|0)<<1)+vc|0;Ac=wc+(j[ab+(Oa<<1)>>1]|0)|0;Bc=xc+(h[db+Na>>0]|0)+(h[db>>0]|0)|0}else{yc=uc;zc=vc;Ac=wc;Bc=xc}if((pb|0)<(cb|0)){Cc=yc+1|0;Dc=((h[db+na>>0]|0)<<1)+zc|0;Ec=Ac+(j[fb+(Oa<<1)>>1]|0)|0;Fc=Bc+(h[db+Pa>>0]|0)+(h[db>>0]|0)|0}else{Cc=yc;Dc=zc;Ec=Ac;Fc=Bc}if((ob|0)<(cb|0)){cb=b[db>>0]|0;Gc=Cc+1|0;Hc=((h[db+na>>0]|0)<<1)+Dc|0;Ic=Ec+(j[ab+(Ma<<1)>>1]|0)|0;Jc=Fc+(h[db+Ka>>0]|0)+(cb&255)|0;Kc=cb}else{Gc=Cc;Hc=Dc;Ic=Ec;Jc=Fc;Kc=b[db>>0]|0}cb=Kc&255;_b=+n[48268+(Gc<<2)>>2];$b=(HEa(_b*+(Ic-Jc|0))|0)+cb|0;ac=cb;bc=_b;cc=cb;dc=Hc-Jc|0}cb=(HEa(bc*+(dc|0))|0)+cc|0;b[eb+Wa>>0]=cb>>>0<256?cb:(cb|0)>0?255:0;b[eb+1>>0]=$b>>>0<256?$b:($b|0)>0?255:0;b[eb+bb>>0]=ac>>>0<256?ac:(ac|0)>0?255:0;jb=jb+1|0;if((jb|0)==(ha|0)){Lc=bb;break}else{$a=$a^1;ab=ab+2|0;gb=gb+2|0;fb=fb+2|0;eb=eb+3|0;db=db+1|0}}}else Lc=Wa^2;db=qa+Za|0;eb=Za+ra|0;fb=P+(Za+5)|0;b[fb>>0]=b[P+(Za+8)>>0]|0;b[P+eb>>0]=b[P+db>>0]|0;gb=P+(Za+4)|0;b[gb>>0]=b[P+(Za+7)>>0]|0;b[P+(eb+1)>>0]=b[P+(db+1)>>0]|0;ab=P+(Za+3)|0;b[ab>>0]=b[P+(Za+6)>>0]|0;b[P+(eb+2)>>0]=b[P+(db+2)>>0]|0;b[P+(Za+2)>>0]=b[fb>>0]|0;b[P+(eb+3)>>0]=b[P+(db+3)>>0]|0;b[P+(Za+1)>>0]=b[gb>>0]|0;b[P+(eb+4)>>0]=b[P+(db+4)>>0]|0;b[_a>>0]=b[ab>>0]|0;b[P+(eb+5)>>0]=b[P+(db+5)>>0]|0;Xa=Xa+1|0;if((Xa|0)==(S|0))break;else{Wa=Lc;Ya=Ya^1}}}if((M|0)>0){Ya=Q<<1;Wa=X(T+-5|0,Q)|0;Xa=X(T+-1|0,Q)|0;ra=X(T+-2|0,Q)|0;qa=X(T+-3|0,Q)|0;ha=X(S,Q)|0;Ka=0;do{Ma=b[P+(Ka+Ya)>>0]|0;b[P+(Ka+Q)>>0]=Ma;b[P+Ka>>0]=Ma;Ma=b[P+(Ka+Wa)>>0]|0;b[P+(Ka+Xa)>>0]=Ma;b[P+(Ka+ra)>>0]=Ma;b[P+(Ka+qa)>>0]=Ma;b[P+(Ka+ha)>>0]=Ma;Ka=Ka+1|0}while((Ka|0)!=(M|0))}M=f[k>>2]|0;if((M|0)!=(da|0)){if(M|0)HQa(M);f[k>>2]=da;f[ea>>2]=520}}}while(0);M=t+36|0;Ka=f[M>>2]|0;if(Ka|0?(ha=Ka+12|0,Ka=f[ha>>2]|0,f[ha>>2]=Ka+-1,(Ka|0)==1):0)XO(t);f[M>>2]=0;M=t+16|0;Ka=t+4|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;if((f[Ka>>2]|0)>0){M=f[t+40>>2]|0;ha=0;do{f[M+(ha<<2)>>2]=0;ha=ha+1|0}while((ha|0)<(f[Ka>>2]|0))}Ka=f[t+44>>2]|0;if((Ka|0)!=(t+48|0))dX(Ka);break}case 138:case 137:case 136:case 135:{Ka=(g|0)<1?3:g;if(!((Ka|0)==3&(D|0)==0)){f[k>>2]=0;f[k+4>>2]=0;x=JV(k,20)|0;J=213247;y=x+20|0;do{b[x>>0]=b[J>>0]|0;x=x+1|0;J=J+1|0}while((x|0)<(y|0));EP(-215,k,213007,213019,1724);KV(k)}f[v>>2]=F;f[v+4>>2]=G;_J(c,v,H|(Ka<<3)+-8,-1,0,0);do if((HJ(c)|0)==65536){ha=f[c+4>>2]|0;f[k>>2]=f[ha>>2];M=k+4|0;P=ha+4|0;f[M>>2]=f[P>>2];qa=k+8|0;f[qa>>2]=f[ha+8>>2];f[k+12>>2]=f[ha+12>>2];f[k+16>>2]=f[ha+16>>2];f[k+20>>2]=f[ha+20>>2];f[k+24>>2]=f[ha+24>>2];f[k+28>>2]=f[ha+28>>2];f[k+32>>2]=f[ha+32>>2];ra=k+36|0;Xa=f[ha+36>>2]|0;f[ra>>2]=Xa;f[k+40>>2]=qa;qa=k+48|0;Wa=k+44|0;f[Wa>>2]=qa;f[qa>>2]=0;f[k+52>>2]=0;if(Xa|0){qa=Xa+12|0;f[qa>>2]=(f[qa>>2]|0)+1}if((f[P>>2]|0)<3){P=f[ha+44>>2]|0;qa=f[Wa>>2]|0;f[qa>>2]=f[P>>2];f[qa+4>>2]=f[P+4>>2];Mc=ra;break}else{f[M>>2]=0;WO(k,ha);Mc=ra;break}}else{DJ(k,c,-1);Mc=k+36|0}while(0);Ka=f[Mc>>2]|0;if(Ka|0){ra=Ka+12|0;f[ra>>2]=(f[ra>>2]|0)+1}ra=q+36|0;Ka=f[ra>>2]|0;if(Ka|0?(ha=Ka+12|0,Ka=f[ha>>2]|0,f[ha>>2]=Ka+-1,(Ka|0)==1):0)XO(q);f[ra>>2]=0;Ka=q+16|0;f[Ka>>2]=0;f[Ka+4>>2]=0;f[Ka+8>>2]=0;f[Ka+12>>2]=0;if((f[a>>2]|0)>0){ha=f[w>>2]|0;M=0;do{f[ha+(M<<2)>>2]=0;M=M+1|0;Nc=f[a>>2]|0}while((M|0)<(Nc|0));f[q>>2]=f[k>>2];if((Nc|0)<3)R=196;else R=198}else{f[q>>2]=f[k>>2];R=196}if((R|0)==196){M=f[k+4>>2]|0;if((M|0)<3){f[a>>2]=M;f[B>>2]=f[k+8>>2];f[q+12>>2]=f[k+12>>2];M=f[k+44>>2]|0;ha=f[C>>2]|0;f[ha>>2]=f[M>>2];f[ha+4>>2]=f[M+4>>2]}else R=198}if((R|0)==198)WO(q,k);M=k+16|0;f[Ka>>2]=f[M>>2];f[q+20>>2]=f[k+20>>2];f[q+24>>2]=f[k+24>>2];f[q+28>>2]=f[k+28>>2];f[q+32>>2]=f[k+32>>2];ha=f[Mc>>2]|0;f[ra>>2]=ha;if(ha|0?(P=ha+12|0,ha=f[P>>2]|0,f[P>>2]=ha+-1,(ha|0)==1):0)XO(k);f[Mc>>2]=0;ha=k+4|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;if((f[ha>>2]|0)>0){M=f[k+40>>2]|0;P=0;do{f[M+(P<<2)>>2]=0;P=P+1|0}while((P|0)<(f[ha>>2]|0))}ha=f[k+44>>2]|0;if((ha|0)!=(k+48|0))dX(ha);if(A){ha=f[E>>2]|0;P=f[ha+4>>2]|0;M=f[ha>>2]|0;f[k>>2]=P;ha=k+4|0;f[ha>>2]=M;c:do if(!((P|0)<3|(M|0)<3)){f[k>>2]=P+-2;f[ha>>2]=M+-2;if((M|0)>2){saa(l,p,q,k,(e+-135|0)>>>0<2&1,(e|2|0)==138&1);ra=f[ha>>2]|0;f[m>>2]=0;f[m+4>>2]=ra;ra=f[a>>2]|0;if((ra|0)<3)Oc=X(f[q+12>>2]|0,f[B>>2]|0)|0;else{qa=f[w>>2]|0;Wa=0;Xa=1;while(1){Q=X(f[qa+(Wa<<2)>>2]|0,Xa)|0;Wa=Wa+1|0;if((Wa|0)==(ra|0)){Oc=Q;break}else Xa=Q}}$Z(m,l,+(Oc>>>0)*.0000152587890625);taa(l)}Xa=f[w>>2]|0;ra=f[Xa+4>>2]|0;Wa=f[Xa>>2]|0;f[ha>>2]=Wa;Xa=f[q>>2]|0;qa=X((Xa>>>3&511)+1|0,ra)|0;f[k>>2]=qa;ra=((f[z>>2]|0)>>>0)/((1212424721>>>(Xa<<2&28)&15)>>>0)|0;Xa=f[Ka>>2]|0;ea=Xa+(X(ra,Wa+-1|0)|0)|0;da=(qa|0)>0;if((Wa|0)<=2){if(da)Pc=0;else break;while(1){b[ea+Pc>>0]=0;b[Xa+Pc>>0]=0;Pc=Pc+1|0;if((Pc|0)>=(f[k>>2]|0))break c}}if(da){Wa=Xa+ra|0;qa=ea+(0-ra)|0;Q=0;do{b[Xa+Q>>0]=b[Wa+Q>>0]|0;b[ea+Q>>0]=b[qa+Q>>0]|0;Q=Q+1|0}while((Q|0)<(f[k>>2]|0))}}else{f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[l+24>>2]=0;f[l+28>>2]=0;gM(q,l)|0}while(0);break a}if(!I){f[k>>2]=0;f[k+4>>2]=0;x=JV(k,74)|0;J=213268;y=x+74|0;do{b[x>>0]=b[J>>0]|0;x=x+1|0;J=J+1|0}while((x|0)<(y|0));EP(-210,k,213007,213019,1733);KV(k);break a}ha=f[E>>2]|0;M=f[ha+4>>2]|0;P=f[ha>>2]|0;f[k>>2]=M;ha=k+4|0;f[ha>>2]=P;d:do if(!((M|0)<3|(P|0)<3)){f[k>>2]=M+-2;f[ha>>2]=P+-2;if((P|0)>2){uaa(l,p,q,k,(e+-135|0)>>>0<2&1,(e|2|0)==138&1);Q=f[ha>>2]|0;f[m>>2]=0;f[m+4>>2]=Q;Q=f[a>>2]|0;if((Q|0)<3)Qc=X(f[q+12>>2]|0,f[B>>2]|0)|0;else{qa=f[w>>2]|0;ea=0;Wa=1;while(1){Xa=X(f[qa+(ea<<2)>>2]|0,Wa)|0;ea=ea+1|0;if((ea|0)==(Q|0)){Qc=Xa;break}else Wa=Xa}}$Z(m,l,+(Qc>>>0)*.0000152587890625);vaa(l)}Wa=f[w>>2]|0;Q=f[Wa+4>>2]|0;ea=f[Wa>>2]|0;f[ha>>2]=ea;Wa=f[q>>2]|0;qa=X((Wa>>>3&511)+1|0,Q)|0;f[k>>2]=qa;Q=((f[z>>2]|0)>>>0)/((1212424721>>>(Wa<<2&28)&15)>>>0)|0;Wa=f[Ka>>2]|0;Xa=Wa+((X(Q,ea+-1|0)|0)<<1)|0;ra=(qa|0)>0;if((ea|0)<=2){if(ra)Rc=0;else break;while(1){d[Xa+(Rc<<1)>>1]=0;d[Wa+(Rc<<1)>>1]=0;Rc=Rc+1|0;if((Rc|0)==(qa|0))break d}}if(ra){ea=Wa+(Q<<1)|0;da=Xa+(0-Q<<1)|0;Ya=0;do{d[Wa+(Ya<<1)>>1]=d[ea+(Ya<<1)>>1]|0;d[Xa+(Ya<<1)>>1]=d[da+(Ya<<1)>>1]|0;Ya=Ya+1|0}while((Ya|0)!=(qa|0))}}else{f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[l+24>>2]=0;f[l+28>>2]=0;gM(q,l)|0}while(0);break}default:{f[k>>2]=0;f[k+4>>2]=0;x=JV(k,43)|0;J=213343;y=x+43|0;do{b[x>>0]=b[J>>0]|0;x=x+1|0;J=J+1|0}while((x|0)<(y|0));EP(-206,k,213007,213019,1738);KV(k)}}while(0);k=q+36|0;J=f[k>>2]|0;if(J|0?(x=J+12|0,J=f[x>>2]|0,f[x>>2]=J+-1,(J|0)==1):0)XO(q);f[k>>2]=0;k=q+16|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;if((f[a>>2]|0)>0){k=f[w>>2]|0;w=0;do{f[k+(w<<2)>>2]=0;w=w+1|0}while((w|0)<(f[a>>2]|0))}a=f[C>>2]|0;if((a|0)!=(z|0))dX(a);a=p+36|0;z=f[a>>2]|0;if(z|0?(C=z+12|0,z=f[C>>2]|0,f[C>>2]=z+-1,(z|0)==1):0)XO(p);f[a>>2]=0;a=p+4|0;f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0;f[K+12>>2]=0;if((f[a>>2]|0)>0){K=f[E>>2]|0;E=0;do{f[K+(E<<2)>>2]=0;E=E+1|0}while((E|0)<(f[a>>2]|0))}a=f[p+44>>2]|0;if((a|0)!=(p+48|0))dX(a);if(!(f[o+4>>2]|0)){u=i;return}u=i;return}function laa(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;k=g&1;f[a>>2]=48412;g=a+4|0;f[g>>2]=f[c>>2];l=a+8|0;m=c+4|0;f[l>>2]=f[m>>2];n=a+12|0;f[n>>2]=f[c+8>>2];f[a+16>>2]=f[c+12>>2];f[a+20>>2]=f[c+16>>2];f[a+24>>2]=f[c+20>>2];f[a+28>>2]=f[c+24>>2];f[a+32>>2]=f[c+28>>2];f[a+36>>2]=f[c+32>>2];o=f[c+36>>2]|0;f[a+40>>2]=o;f[a+44>>2]=n;n=a+52|0;p=a+48|0;f[p>>2]=n;f[n>>2]=0;f[a+56>>2]=0;if(o|0){n=o+12|0;f[n>>2]=(f[n>>2]|0)+1}if((f[m>>2]|0)<3){m=f[c+44>>2]|0;n=f[p>>2]|0;f[n>>2]=f[m>>2];f[n+4>>2]=f[m+4>>2]}else{f[l>>2]=0;WO(g,c)}c=a+60|0;f[c>>2]=f[d>>2];g=a+64|0;l=d+4|0;f[g>>2]=f[l>>2];m=a+68|0;f[m>>2]=f[d+8>>2];f[a+72>>2]=f[d+12>>2];f[a+76>>2]=f[d+16>>2];f[a+80>>2]=f[d+20>>2];f[a+84>>2]=f[d+24>>2];f[a+88>>2]=f[d+28>>2];f[a+92>>2]=f[d+32>>2];n=f[d+36>>2]|0;f[a+96>>2]=n;f[a+100>>2]=m;m=a+108|0;p=a+104|0;f[p>>2]=m;f[m>>2]=0;f[a+112>>2]=0;if(n|0){m=n+12|0;f[m>>2]=(f[m>>2]|0)+1}if((f[l>>2]|0)<3){l=f[d+44>>2]|0;m=f[p>>2]|0;f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];q=a+116|0;f[q>>2]=e;r=a+120|0;b[r>>0]=k;s=a+124|0;t=f[h>>2]|0;f[s>>2]=t;u=a+128|0;v=h+4|0;w=f[v>>2]|0;f[u>>2]=w;x=a+132|0;f[x>>2]=i;y=a+136|0;f[y>>2]=j;return}else{f[g>>2]=0;WO(c,d);q=a+116|0;f[q>>2]=e;r=a+120|0;b[r>>0]=k;s=a+124|0;t=f[h>>2]|0;f[s>>2]=t;u=a+128|0;v=h+4|0;w=f[v>>2]|0;f[u>>2]=w;x=a+132|0;f[x>>2]=i;y=a+136|0;f[y>>2]=j;return}}function maa(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=48412;b=a+60|0;c=a+96|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+76|0;b=a+64|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+100>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+104>>2]|0;if((b|0)!=(a+108|0))dX(b);b=a+4|0;d=a+40|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+20|0;b=a+8|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[a+44>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+48>>2]|0;if((b|0)==(a+52|0))return;dX(b);return}function naa(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;k=g&1;f[a>>2]=48392;g=a+4|0;f[g>>2]=f[c>>2];l=a+8|0;m=c+4|0;f[l>>2]=f[m>>2];n=a+12|0;f[n>>2]=f[c+8>>2];f[a+16>>2]=f[c+12>>2];f[a+20>>2]=f[c+16>>2];f[a+24>>2]=f[c+20>>2];f[a+28>>2]=f[c+24>>2];f[a+32>>2]=f[c+28>>2];f[a+36>>2]=f[c+32>>2];o=f[c+36>>2]|0;f[a+40>>2]=o;f[a+44>>2]=n;n=a+52|0;p=a+48|0;f[p>>2]=n;f[n>>2]=0;f[a+56>>2]=0;if(o|0){n=o+12|0;f[n>>2]=(f[n>>2]|0)+1}if((f[m>>2]|0)<3){m=f[c+44>>2]|0;n=f[p>>2]|0;f[n>>2]=f[m>>2];f[n+4>>2]=f[m+4>>2]}else{f[l>>2]=0;WO(g,c)}c=a+60|0;f[c>>2]=f[d>>2];g=a+64|0;l=d+4|0;f[g>>2]=f[l>>2];m=a+68|0;f[m>>2]=f[d+8>>2];f[a+72>>2]=f[d+12>>2];f[a+76>>2]=f[d+16>>2];f[a+80>>2]=f[d+20>>2];f[a+84>>2]=f[d+24>>2];f[a+88>>2]=f[d+28>>2];f[a+92>>2]=f[d+32>>2];n=f[d+36>>2]|0;f[a+96>>2]=n;f[a+100>>2]=m;m=a+108|0;p=a+104|0;f[p>>2]=m;f[m>>2]=0;f[a+112>>2]=0;if(n|0){m=n+12|0;f[m>>2]=(f[m>>2]|0)+1}if((f[l>>2]|0)<3){l=f[d+44>>2]|0;m=f[p>>2]|0;f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];q=a+116|0;f[q>>2]=e;r=a+120|0;b[r>>0]=k;s=a+124|0;t=f[h>>2]|0;f[s>>2]=t;u=a+128|0;v=h+4|0;w=f[v>>2]|0;f[u>>2]=w;x=a+132|0;f[x>>2]=i;y=a+136|0;f[y>>2]=j;return}else{f[g>>2]=0;WO(c,d);q=a+116|0;f[q>>2]=e;r=a+120|0;b[r>>0]=k;s=a+124|0;t=f[h>>2]|0;f[s>>2]=t;u=a+128|0;v=h+4|0;w=f[v>>2]|0;f[u>>2]=w;x=a+132|0;f[x>>2]=i;y=a+136|0;f[y>>2]=j;return}}function oaa(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=48392;b=a+60|0;c=a+96|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+76|0;b=a+64|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+100>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+104>>2]|0;if((b|0)!=(a+108|0))dX(b);b=a+4|0;d=a+40|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+20|0;b=a+8|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[a+44>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+48>>2]|0;if((b|0)==(a+52|0))return;dX(b);return}function paa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=u;u=u+160|0;g=e+144|0;h=e+136|0;i=e;j=f[c+48>>2]|0;k=f[a+40>>2]|0;l=f[k+4>>2]|0;m=f[k>>2]|0;k=g+4|0;n=((f[c>>2]|0)>>>3&511)+1|0;o=m+-2|0;f[k>>2]=o;f[g>>2]=l+-2;if((m|0)>2){f[h>>2]=0;f[h+4>>2]=o;Caa(i,a,c,((d|0)==47|(d|0)==49)&1,(d|1|0)==47?-1:1,g);d=f[c+4>>2]|0;if((d|0)<3)p=X(f[c+12>>2]|0,f[c+8>>2]|0)|0;else{a=f[c+40>>2]|0;o=0;m=1;while(1){l=X(f[a+(o<<2)>>2]|0,m)|0;o=o+1|0;if((o|0)==(d|0)){p=l;break}else m=l}}$Z(h,i,+(p>>>0)*.0000152587890625);Daa(i)}i=f[c+40>>2]|0;p=f[i+4>>2]|0;h=f[i>>2]|0;f[g>>2]=p;f[k>>2]=h;i=f[c+16>>2]|0;c=(X(p,n)|0)>0;if((h|0)>2){if(c)q=0;else{u=e;return}do{b[i+q>>0]=b[i+(q+j)>>0]|0;p=f[k>>2]|0;m=i+((X(p+-2|0,j)|0)+q)|0;d=i+((X(p+-1|0,j)|0)+q)|0;b[d>>0]=b[m>>0]|0;q=q+1|0}while((q|0)<(X(f[g>>2]|0,n)|0));u=e;return}if(!c){u=e;return}c=i+(X(h+-1|0,j)|0)|0;b[c>>0]=0;b[i>>0]=0;if((X(f[g>>2]|0,n)|0)>1)r=1;else{u=e;return}do{c=i+((X((f[k>>2]|0)+-1|0,j)|0)+r)|0;b[c>>0]=0;b[i+r>>0]=0;r=r+1|0}while((r|0)<(X(f[g>>2]|0,n)|0));u=e;return}function qaa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f[a>>2]=48352;h=a+4|0;f[h>>2]=f[b>>2];i=a+8|0;j=b+4|0;f[i>>2]=f[j>>2];k=a+12|0;f[k>>2]=f[b+8>>2];f[a+16>>2]=f[b+12>>2];f[a+20>>2]=f[b+16>>2];f[a+24>>2]=f[b+20>>2];f[a+28>>2]=f[b+24>>2];f[a+32>>2]=f[b+28>>2];f[a+36>>2]=f[b+32>>2];l=f[b+36>>2]|0;f[a+40>>2]=l;f[a+44>>2]=k;k=a+52|0;m=a+48|0;f[m>>2]=k;f[k>>2]=0;f[a+56>>2]=0;if(l|0){k=l+12|0;f[k>>2]=(f[k>>2]|0)+1}if((f[j>>2]|0)<3){j=f[b+44>>2]|0;k=f[m>>2]|0;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2]}else{f[i>>2]=0;WO(h,b)}b=a+60|0;f[b>>2]=f[c>>2];h=a+64|0;i=c+4|0;f[h>>2]=f[i>>2];j=a+68|0;f[j>>2]=f[c+8>>2];f[a+72>>2]=f[c+12>>2];f[a+76>>2]=f[c+16>>2];f[a+80>>2]=f[c+20>>2];f[a+84>>2]=f[c+24>>2];f[a+88>>2]=f[c+28>>2];f[a+92>>2]=f[c+32>>2];k=f[c+36>>2]|0;f[a+96>>2]=k;f[a+100>>2]=j;j=a+108|0;m=a+104|0;f[m>>2]=j;f[j>>2]=0;f[a+112>>2]=0;if(k|0){j=k+12|0;f[j>>2]=(f[j>>2]|0)+1}if((f[i>>2]|0)<3){i=f[c+44>>2]|0;j=f[m>>2]|0;f[j>>2]=f[i>>2];f[j+4>>2]=f[i+4>>2];n=a+116|0;f[n>>2]=d;o=a+120|0;f[o>>2]=e;p=a+124|0;q=f[g>>2]|0;f[p>>2]=q;r=a+128|0;s=g+4|0;t=f[s>>2]|0;f[r>>2]=t;return}else{f[h>>2]=0;WO(b,c);n=a+116|0;f[n>>2]=d;o=a+120|0;f[o>>2]=e;p=a+124|0;q=f[g>>2]|0;f[p>>2]=q;r=a+128|0;s=g+4|0;t=f[s>>2]|0;f[r>>2]=t;return}}function raa(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=48352;b=a+60|0;c=a+96|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+76|0;b=a+64|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+100>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+104>>2]|0;if((b|0)!=(a+108|0))dX(b);b=a+4|0;d=a+40|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+20|0;b=a+8|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[a+44>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+48>>2]|0;if((b|0)==(a+52|0))return;dX(b);return}function saa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f[a>>2]=48332;h=a+4|0;f[h>>2]=f[b>>2];i=a+8|0;j=b+4|0;f[i>>2]=f[j>>2];k=a+12|0;f[k>>2]=f[b+8>>2];f[a+16>>2]=f[b+12>>2];f[a+20>>2]=f[b+16>>2];f[a+24>>2]=f[b+20>>2];f[a+28>>2]=f[b+24>>2];f[a+32>>2]=f[b+28>>2];f[a+36>>2]=f[b+32>>2];l=f[b+36>>2]|0;f[a+40>>2]=l;f[a+44>>2]=k;k=a+52|0;m=a+48|0;f[m>>2]=k;f[k>>2]=0;f[a+56>>2]=0;if(l|0){k=l+12|0;f[k>>2]=(f[k>>2]|0)+1}if((f[j>>2]|0)<3){j=f[b+44>>2]|0;k=f[m>>2]|0;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2]}else{f[i>>2]=0;WO(h,b)}b=a+60|0;f[b>>2]=f[c>>2];h=a+64|0;i=c+4|0;f[h>>2]=f[i>>2];j=a+68|0;f[j>>2]=f[c+8>>2];f[a+72>>2]=f[c+12>>2];f[a+76>>2]=f[c+16>>2];f[a+80>>2]=f[c+20>>2];f[a+84>>2]=f[c+24>>2];f[a+88>>2]=f[c+28>>2];f[a+92>>2]=f[c+32>>2];k=f[c+36>>2]|0;f[a+96>>2]=k;f[a+100>>2]=j;j=a+108|0;m=a+104|0;f[m>>2]=j;f[j>>2]=0;f[a+112>>2]=0;if(k|0){j=k+12|0;f[j>>2]=(f[j>>2]|0)+1}if((f[i>>2]|0)<3){i=f[c+44>>2]|0;j=f[m>>2]|0;f[j>>2]=f[i>>2];f[j+4>>2]=f[i+4>>2];n=a+116|0;o=f[d>>2]|0;f[n>>2]=o;p=a+120|0;q=d+4|0;r=f[q>>2]|0;f[p>>2]=r;s=a+124|0;f[s>>2]=e;t=a+128|0;f[t>>2]=g;return}else{f[h>>2]=0;WO(b,c);n=a+116|0;o=f[d>>2]|0;f[n>>2]=o;p=a+120|0;q=d+4|0;r=f[q>>2]|0;f[p>>2]=r;s=a+124|0;f[s>>2]=e;t=a+128|0;f[t>>2]=g;return}}function taa(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=48332;b=a+60|0;c=a+96|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+76|0;b=a+64|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+100>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+104>>2]|0;if((b|0)!=(a+108|0))dX(b);b=a+4|0;d=a+40|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+20|0;b=a+8|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[a+44>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+48>>2]|0;if((b|0)==(a+52|0))return;dX(b);return}function uaa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f[a>>2]=48312;h=a+4|0;f[h>>2]=f[b>>2];i=a+8|0;j=b+4|0;f[i>>2]=f[j>>2];k=a+12|0;f[k>>2]=f[b+8>>2];f[a+16>>2]=f[b+12>>2];f[a+20>>2]=f[b+16>>2];f[a+24>>2]=f[b+20>>2];f[a+28>>2]=f[b+24>>2];f[a+32>>2]=f[b+28>>2];f[a+36>>2]=f[b+32>>2];l=f[b+36>>2]|0;f[a+40>>2]=l;f[a+44>>2]=k;k=a+52|0;m=a+48|0;f[m>>2]=k;f[k>>2]=0;f[a+56>>2]=0;if(l|0){k=l+12|0;f[k>>2]=(f[k>>2]|0)+1}if((f[j>>2]|0)<3){j=f[b+44>>2]|0;k=f[m>>2]|0;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2]}else{f[i>>2]=0;WO(h,b)}b=a+60|0;f[b>>2]=f[c>>2];h=a+64|0;i=c+4|0;f[h>>2]=f[i>>2];j=a+68|0;f[j>>2]=f[c+8>>2];f[a+72>>2]=f[c+12>>2];f[a+76>>2]=f[c+16>>2];f[a+80>>2]=f[c+20>>2];f[a+84>>2]=f[c+24>>2];f[a+88>>2]=f[c+28>>2];f[a+92>>2]=f[c+32>>2];k=f[c+36>>2]|0;f[a+96>>2]=k;f[a+100>>2]=j;j=a+108|0;m=a+104|0;f[m>>2]=j;f[j>>2]=0;f[a+112>>2]=0;if(k|0){j=k+12|0;f[j>>2]=(f[j>>2]|0)+1}if((f[i>>2]|0)<3){i=f[c+44>>2]|0;j=f[m>>2]|0;f[j>>2]=f[i>>2];f[j+4>>2]=f[i+4>>2];n=a+116|0;o=f[d>>2]|0;f[n>>2]=o;p=a+120|0;q=d+4|0;r=f[q>>2]|0;f[p>>2]=r;s=a+124|0;f[s>>2]=e;t=a+128|0;f[t>>2]=g;return}else{f[h>>2]=0;WO(b,c);n=a+116|0;o=f[d>>2]|0;f[n>>2]=o;p=a+120|0;q=d+4|0;r=f[q>>2]|0;f[p>>2]=r;s=a+124|0;f[s>>2]=e;t=a+128|0;f[t>>2]=g;return}}function vaa(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=48312;b=a+60|0;c=a+96|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+76|0;b=a+64|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+100>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+104>>2]|0;if((b|0)!=(a+108|0))dX(b);b=a+4|0;d=a+40|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+20|0;b=a+8|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[a+44>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+48>>2]|0;if((b|0)==(a+52|0))return;dX(b);return}function waa(a){a=a|0;vaa(a);GQa(a);return}function xaa(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;c=f[a+60>>2]|0;e=(c>>>3&511)+1|0;g=e<<1;h=((f[a+52>>2]|0)>>>0)/((1212424721>>>(f[a+4>>2]<<2&28)&15)>>>0)|0;i=f[a+108>>2]|0;k=(i>>>0)/((1212424721>>>(c<<2&28)&15)>>>0)|0;c=f[b>>2]|0;l=c+1|0;m=f[b+4>>2]|0;if((c|0)>=(m|0))return;b=c&1;n=(f[a+76>>2]|0)+(X(l,i)|0)+(e<<1)|0;i=0-h|0;o=a+116|0;p=g-k|0;q=e-k|0;k=~h;r=1-h|0;s=h+-1|0;t=h+1|0;u=c;c=n;n=(f[a+20>>2]|0)+(X(f[f[a+48>>2]>>2]|0,l)|0)+2|0;l=f[a+124>>2]^b;v=f[a+128>>2]^b;while(1){if(!v){w=1;x=c;y=n}else{b=l<<1;d[c+(b<<1)>>1]=((j[n+(h<<1)>>1]|0)+(j[n+(i<<1)>>1]|0)|0)>>>1;d[c+2>>1]=d[n>>1]|0;a=n+2|0;d[c+(2-b<<1)>>1]=((j[a>>1]|0)+(j[n+-2>>1]|0)|0)>>>1;w=2;x=c+(e<<1)|0;y=a}a=f[o>>2]|0;b=(w|0)<(a|0);if(!l)if(b){z=w;A=x;B=y;while(1){C=B+(r<<1)|0;D=B+(t<<1)|0;d[A>>1]=((j[B+(k<<1)>>1]|0)+2+(j[C>>1]|0)+(j[B+(s<<1)>>1]|0)+(j[D>>1]|0)|0)>>>2;E=j[B+-2>>1]|0;F=B+2|0;G=d[F>>1]|0;H=E-(G&65535)|0;I=j[B+(h<<1)>>1]|0;J=d[B+(i<<1)>>1]|0;K=I-(J&65535)|0;L=(((H|0)>-1?H:0-H|0)|0)>(((K|0)>-1?K:0-K|0)|0);d[A+2>>1]=((L?I:E)+1+((L?J:G)&65535)|0)>>>1;d[A+4>>1]=d[B>>1]|0;d[A+6>>1]=((j[C>>1]|0)+1+(j[D>>1]|0)|0)>>>1;d[A+8>>1]=d[F>>1]|0;F=B+4|0;d[A+10>>1]=((j[B>>1]|0)+1+(j[F>>1]|0)|0)>>>1;D=z+2|0;C=A+(g<<1)|0;if((D|0)<(a|0)){z=D;A=C;B=F}else{M=D;N=C;O=F;break}}}else{M=w;N=x;O=y}else if(b){B=w;A=x;z=y;while(1){d[A>>1]=d[z>>1]|0;F=j[z+-2>>1]|0;C=z+2|0;D=d[C>>1]|0;G=F-(D&65535)|0;J=j[z+(h<<1)>>1]|0;L=d[z+(i<<1)>>1]|0;E=J-(L&65535)|0;I=(((G|0)>-1?G:0-G|0)|0)>(((E|0)>-1?E:0-E|0)|0);d[A+2>>1]=((I?J:F)+1+((I?L:D)&65535)|0)>>>1;D=z+(r<<1)|0;L=z+(t<<1)|0;d[A+4>>1]=((j[D>>1]|0)+(j[z+(k<<1)>>1]|0)+(j[z+(s<<1)>>1]|0)+(j[L>>1]|0)|0)>>>2;I=z+4|0;d[A+6>>1]=((j[z>>1]|0)+1+(j[I>>1]|0)|0)>>>1;d[A+8>>1]=d[C>>1]|0;d[A+10>>1]=((j[D>>1]|0)+1+(j[L>>1]|0)|0)>>>1;L=B+2|0;D=A+(g<<1)|0;if((L|0)<(a|0)){B=L;A=D;z=I}else{M=L;N=D;O=I;break}}}else{M=w;N=x;O=y}if((M|0)>(a|0)){P=N;Q=O}else{z=l<<1;d[N+(z<<1)>>1]=((j[O+(k<<1)>>1]|0)+2+(j[O+(r<<1)>>1]|0)+(j[O+(s<<1)>>1]|0)+(j[O+(t<<1)>>1]|0)|0)>>>2;A=j[O+-2>>1]|0;B=O+2|0;b=d[B>>1]|0;I=A-(b&65535)|0;D=j[O+(h<<1)>>1]|0;L=d[O+(i<<1)>>1]|0;C=D-(L&65535)|0;F=(((I|0)>-1?I:0-I|0)|0)>(((C|0)>-1?C:0-C|0)|0);d[N+2>>1]=((F?D:A)+1+((F?L:b)&65535)|0)>>>1;d[N+(2-z<<1)>>1]=d[O>>1]|0;P=N+(e<<1)|0;Q=B}B=0;do{d[P+(B<<1)>>1]=d[P+(B-e<<1)>>1]|0;d[P+(q+B<<1)>>1]=d[P+(p+B<<1)>>1]|0;B=B+1|0}while((B|0)!=(e|0));u=u+1|0;if((u|0)>=(m|0))break;else{c=P+(g<<1)|0;n=Q+4|0;l=l^1;v=v^1}}return}function yaa(a){a=a|0;taa(a);GQa(a);return}function zaa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;d=f[a+60>>2]|0;e=(d>>>3&511)+1|0;g=e<<1;i=((f[a+52>>2]|0)>>>0)/((1212424721>>>(f[a+4>>2]<<2&28)&15)>>>0)|0;j=f[a+108>>2]|0;k=(j>>>0)/((1212424721>>>(d<<2&28)&15)>>>0)|0;d=f[c>>2]|0;l=d+1|0;m=c+4|0;if((d|0)>=(f[m>>2]|0))return;c=d&1;n=(f[a+76>>2]|0)+(X(l,j)|0)+e|0;j=0-i|0;o=a+116|0;p=g-k|0;q=e-k|0;k=~i;r=1-i|0;s=i+-1|0;t=i+1|0;u=d;d=n;n=(f[a+20>>2]|0)+(X(f[f[a+48>>2]>>2]|0,l)|0)+1|0;l=f[a+124>>2]^c;v=f[a+128>>2]^c;while(1){if(!v){w=1;x=d;y=n}else{c=l<<1;b[d+c>>0]=((h[n+i>>0]|0)+(h[n+j>>0]|0)|0)>>>1;b[d+1>>0]=b[n>>0]|0;a=n+1|0;b[d+(2-c)>>0]=((h[a>>0]|0)+(h[n+-1>>0]|0)|0)>>>1;w=2;x=d+e|0;y=a}a=f[o>>2]|0;c=(w|0)<(a|0);if(!l)if(c){z=w;A=x;B=y;while(1){C=B+r|0;D=B+t|0;b[A>>0]=((h[B+k>>0]|0)+2+(h[C>>0]|0)+(h[B+s>>0]|0)+(h[D>>0]|0)|0)>>>2;E=h[B+-1>>0]|0;F=B+1|0;G=b[F>>0]|0;H=E-(G&255)|0;I=h[B+i>>0]|0;J=b[B+j>>0]|0;K=I-(J&255)|0;L=(((H|0)>-1?H:0-H|0)|0)>(((K|0)>-1?K:0-K|0)|0);b[A+1>>0]=((L?I:E)+1+((L?J:G)&255)|0)>>>1;b[A+2>>0]=b[B>>0]|0;b[A+3>>0]=((h[C>>0]|0)+1+(h[D>>0]|0)|0)>>>1;b[A+4>>0]=b[F>>0]|0;F=B+2|0;b[A+5>>0]=((h[B>>0]|0)+1+(h[F>>0]|0)|0)>>>1;D=z+2|0;C=A+g|0;G=f[o>>2]|0;if((D|0)<(G|0)){z=D;A=C;B=F}else{M=D;N=C;O=F;P=G;break}}}else{M=w;N=x;O=y;P=a}else if(c){B=w;A=x;z=y;while(1){b[A>>0]=b[z>>0]|0;G=h[z+-1>>0]|0;F=z+1|0;C=b[F>>0]|0;D=G-(C&255)|0;J=h[z+i>>0]|0;L=b[z+j>>0]|0;E=J-(L&255)|0;I=(((D|0)>-1?D:0-D|0)|0)>(((E|0)>-1?E:0-E|0)|0);b[A+1>>0]=((I?J:G)+1+((I?L:C)&255)|0)>>>1;C=z+r|0;L=z+t|0;b[A+2>>0]=((h[C>>0]|0)+(h[z+k>>0]|0)+(h[z+s>>0]|0)+(h[L>>0]|0)|0)>>>2;I=z+2|0;b[A+3>>0]=((h[z>>0]|0)+1+(h[I>>0]|0)|0)>>>1;b[A+4>>0]=b[F>>0]|0;b[A+5>>0]=((h[C>>0]|0)+1+(h[L>>0]|0)|0)>>>1;L=B+2|0;C=A+g|0;F=f[o>>2]|0;if((L|0)<(F|0)){B=L;A=C;z=I}else{M=L;N=C;O=I;P=F;break}}}else{M=w;N=x;O=y;P=a}if((M|0)>(P|0)){Q=N;R=O}else{z=l<<1;b[N+z>>0]=((h[O+k>>0]|0)+2+(h[O+r>>0]|0)+(h[O+s>>0]|0)+(h[O+t>>0]|0)|0)>>>2;A=h[O+-1>>0]|0;B=O+1|0;c=b[B>>0]|0;F=A-(c&255)|0;I=h[O+i>>0]|0;C=b[O+j>>0]|0;L=I-(C&255)|0;G=(((F|0)>-1?F:0-F|0)|0)>(((L|0)>-1?L:0-L|0)|0);b[N+1>>0]=((G?I:A)+1+((G?C:c)&255)|0)>>>1;b[N+(2-z)>>0]=b[O>>0]|0;Q=N+e|0;R=B}B=0;do{b[Q+B>>0]=b[Q+(B-e)>>0]|0;b[Q+(q+B)>>0]=b[Q+(p+B)>>0]|0;B=B+1|0}while((B|0)!=(e|0));u=u+1|0;if((u|0)>=(f[m>>2]|0))break;else{d=Q+g|0;n=R+2|0;l=l^1;v=v^1}}return}function Aaa(a){a=a|0;raa(a);GQa(a);return}function Baa(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;c=((f[a+60>>2]|0)>>>3&511)+1|0;e=c<<1;g=f[a+52>>2]|0;h=g>>>1;i=f[b>>2]|0;k=(f[a+108>>2]|0)>>>1;l=f[a+120>>2]|0;m=f[a+116>>2]|0;n=(i&1|0)==0;o=f[b+4>>2]|0;if((i|0)>=(o|0))return;b=(f[a+76>>2]|0)+((X(k,i+1|0)|0)<<1)+(c<<1)+2|0;p=(f[a+20>>2]|0)+((X(i,h)|0)<<1)|0;q=f[a+124>>2]|0;a=(q|0)<1;r=(c|0)==3;s=X(q,c)|0;t=s+1|0;u=g|1;v=h+2|0;w=h+1|0;x=(c|0)==4;y=g&-2;g=y+2|0;z=h+3|0;A=s+-1|0;B=s+2|0;C=q*3|0;D=C+-1|0;E=s+-2|0;F=s+-5|0;G=s+-1|0;H=b;b=i;i=p;p=n?m:(m|0)==0&1;m=n?l:0-l|0;while(1){l=i+(q<<1)|0;if(a){d[H+(t<<1)>>1]=0;d[H+(s<<1)>>1]=0;d[H+(A<<1)>>1]=0;if(r){I=-4;J=0;K=-3;L=-2}else{d[H+-6>>1]=0;d[H+-8>>1]=0;I=-2;J=-1;K=B;L=-5}d[H+(L<<1)>>1]=0;d[H+(K<<1)>>1]=J;d[H+(I<<1)>>1]=J;M=p;N=m}else{n=(p|0)!=0;if(n){O=i+2|0;P=((j[i+(h<<1)>>1]|0)+1+(j[i+(v<<1)>>1]|0)|0)>>>1;d[H+(0-m<<1)>>1]=((j[O>>1]|0)+1+(j[i+(u<<1)>>1]|0)|0)>>>1;d[H>>1]=d[i+(w<<1)>>1]|0;d[H+(m<<1)>>1]=P;if(x)d[H+4>>1]=-1;Q=H+(c<<1)|0;R=O}else{Q=H;R=i}O=(m|0)>0;P=l+-4|0;S=R>>>0>P>>>0;do if(r)if(O){if(S){T=Q;U=R;break}else{V=R;W=Q}while(1){Y=V+4|0;Z=V+(g<<1)|0;_=V+(v<<1)|0;$=((j[V+2>>1]|0)+2+(j[V+(h<<1)>>1]|0)+(j[_>>1]|0)+(j[V+(u<<1)>>1]|0)|0)>>>2;d[W+-2>>1]=((j[V>>1]|0)+2+(j[Y>>1]|0)+(j[V+(y<<1)>>1]|0)+(j[Z>>1]|0)|0)>>>2;d[W>>1]=$;$=V+(w<<1)|0;d[W+2>>1]=d[$>>1]|0;aa=((j[$>>1]|0)+1+(j[V+(z<<1)>>1]|0)|0)>>>1;d[W+4>>1]=((j[Y>>1]|0)+1+(j[Z>>1]|0)|0)>>>1;d[W+6>>1]=d[_>>1]|0;d[W+8>>1]=aa;aa=W+(e<<1)|0;if(Y>>>0>P>>>0){T=aa;U=Y;break}else{V=Y;W=aa}}}else{if(S){T=Q;U=R;break}else{ba=R;ca=Q}while(1){aa=ba+4|0;Y=ba+(g<<1)|0;_=ba+(v<<1)|0;Z=((j[ba+2>>1]|0)+2+(j[ba+(h<<1)>>1]|0)+(j[_>>1]|0)+(j[ba+(u<<1)>>1]|0)|0)>>>2;d[ca+2>>1]=((j[ba>>1]|0)+2+(j[aa>>1]|0)+(j[ba+(y<<1)>>1]|0)+(j[Y>>1]|0)|0)>>>2;d[ca>>1]=Z;Z=ba+(w<<1)|0;d[ca+-2>>1]=d[Z>>1]|0;$=((j[Z>>1]|0)+1+(j[ba+(z<<1)>>1]|0)|0)>>>1;d[ca+8>>1]=((j[aa>>1]|0)+1+(j[Y>>1]|0)|0)>>>1;d[ca+6>>1]=d[_>>1]|0;d[ca+4>>1]=$;$=ca+(e<<1)|0;if(aa>>>0>P>>>0){T=$;U=aa;break}else{ba=aa;ca=$}}}else if(O){if(S){T=Q;U=R;break}else{da=R;ea=Q}while(1){$=da+4|0;aa=da+(g<<1)|0;_=da+(v<<1)|0;Y=((j[da+2>>1]|0)+2+(j[da+(h<<1)>>1]|0)+(j[_>>1]|0)+(j[da+(u<<1)>>1]|0)|0)>>>2;d[ea+-2>>1]=((j[da>>1]|0)+2+(j[$>>1]|0)+(j[da+(y<<1)>>1]|0)+(j[aa>>1]|0)|0)>>>2;d[ea>>1]=Y;Y=da+(w<<1)|0;d[ea+2>>1]=d[Y>>1]|0;d[ea+4>>1]=-1;Z=((j[Y>>1]|0)+1+(j[da+(z<<1)>>1]|0)|0)>>>1;d[ea+6>>1]=((j[$>>1]|0)+1+(j[aa>>1]|0)|0)>>>1;d[ea+8>>1]=d[_>>1]|0;d[ea+10>>1]=Z;d[ea+12>>1]=-1;Z=ea+(e<<1)|0;if($>>>0>P>>>0){T=Z;U=$;break}else{da=$;ea=Z}}}else{if(S){T=Q;U=R;break}else{fa=R;ga=Q}while(1){Z=fa+4|0;$=fa+(g<<1)|0;_=((j[fa>>1]|0)+2+(j[Z>>1]|0)+(j[fa+(y<<1)>>1]|0)+(j[$>>1]|0)|0)>>>2;aa=fa+(v<<1)|0;Y=((j[fa+2>>1]|0)+2+(j[fa+(h<<1)>>1]|0)+(j[aa>>1]|0)+(j[fa+(u<<1)>>1]|0)|0)>>>2;ha=fa+(w<<1)|0;d[ga+-2>>1]=d[ha>>1]|0;d[ga>>1]=Y;d[ga+2>>1]=_;d[ga+4>>1]=-1;_=((j[Z>>1]|0)+1+(j[$>>1]|0)|0)>>>1;d[ga+6>>1]=((j[ha>>1]|0)+1+(j[fa+(z<<1)>>1]|0)|0)>>>1;d[ga+8>>1]=d[aa>>1]|0;d[ga+10>>1]=_;d[ga+12>>1]=-1;_=ga+(e<<1)|0;if(Z>>>0>P>>>0){T=_;U=Z;break}else{fa=Z;ga=_}}}while(0);if(U>>>0>>0?(P=((j[U+2>>1]|0)+2+(j[U+(h<<1)>>1]|0)+(j[U+(v<<1)>>1]|0)+(j[U+(u<<1)>>1]|0)|0)>>>2,d[T+(0-m<<1)>>1]=((j[U>>1]|0)+2+(j[U+4>>1]|0)+(j[U+(y<<1)>>1]|0)+(j[U+(g<<1)>>1]|0)|0)>>>2,d[T>>1]=P,d[T+(m<<1)>>1]=d[U+(w<<1)>>1]|0,x):0)d[T+4>>1]=-1;P=d[H+-2>>1]|0;if(r){d[H+-8>>1]=P;ia=C;ja=D;ka=C;la=-2;ma=1;na=-3;oa=H;pa=1}else{d[H+-10>>1]=P;d[H+-8>>1]=d[H>>1]|0;d[H+-6>>1]=d[H+2>>1]|0;ia=t;ja=s;ka=s;la=G;ma=F;na=-2;oa=H+4|0;pa=2}d[H+(na<<1)>>1]=d[oa>>1]|0;d[H+(la<<1)>>1]=d[H+(ma<<1)>>1]|0;d[H+(ja<<1)>>1]=d[H+(ka+-4<<1)>>1]|0;d[H+(ia<<1)>>1]=d[H+(ka+-3<<1)>>1]|0;d[H+(s+pa<<1)>>1]=d[H+(E<<1)>>1]|0;M=(n^1)&1;N=0-m|0}b=b+1|0;if((b|0)>=(o|0))break;else{H=H+(k<<1)|0;i=i+(h<<1)|0;p=M;m=N}}return}function Caa(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f[a>>2]=48372;h=a+4|0;f[h>>2]=f[b>>2];i=a+8|0;j=b+4|0;f[i>>2]=f[j>>2];k=a+12|0;f[k>>2]=f[b+8>>2];f[a+16>>2]=f[b+12>>2];f[a+20>>2]=f[b+16>>2];f[a+24>>2]=f[b+20>>2];f[a+28>>2]=f[b+24>>2];f[a+32>>2]=f[b+28>>2];f[a+36>>2]=f[b+32>>2];l=f[b+36>>2]|0;f[a+40>>2]=l;f[a+44>>2]=k;k=a+52|0;m=a+48|0;f[m>>2]=k;f[k>>2]=0;f[a+56>>2]=0;if(l|0){k=l+12|0;f[k>>2]=(f[k>>2]|0)+1}if((f[j>>2]|0)<3){j=f[b+44>>2]|0;k=f[m>>2]|0;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2]}else{f[i>>2]=0;WO(h,b)}b=a+60|0;f[b>>2]=f[c>>2];h=a+64|0;i=c+4|0;f[h>>2]=f[i>>2];j=a+68|0;f[j>>2]=f[c+8>>2];f[a+72>>2]=f[c+12>>2];f[a+76>>2]=f[c+16>>2];f[a+80>>2]=f[c+20>>2];f[a+84>>2]=f[c+24>>2];f[a+88>>2]=f[c+28>>2];f[a+92>>2]=f[c+32>>2];k=f[c+36>>2]|0;f[a+96>>2]=k;f[a+100>>2]=j;j=a+108|0;m=a+104|0;f[m>>2]=j;f[j>>2]=0;f[a+112>>2]=0;if(k|0){j=k+12|0;f[j>>2]=(f[j>>2]|0)+1}if((f[i>>2]|0)<3){i=f[c+44>>2]|0;j=f[m>>2]|0;f[j>>2]=f[i>>2];f[j+4>>2]=f[i+4>>2];n=a+116|0;f[n>>2]=d;o=a+120|0;f[o>>2]=e;p=a+124|0;q=f[g>>2]|0;f[p>>2]=q;r=a+128|0;s=g+4|0;t=f[s>>2]|0;f[r>>2]=t;return}else{f[h>>2]=0;WO(b,c);n=a+116|0;f[n>>2]=d;o=a+120|0;f[o>>2]=e;p=a+124|0;q=f[g>>2]|0;f[p>>2]=q;r=a+128|0;s=g+4|0;t=f[s>>2]|0;f[r>>2]=t;return}}function Daa(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=48372;b=a+60|0;c=a+96|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+76|0;b=a+64|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+100>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+104>>2]|0;if((b|0)!=(a+108|0))dX(b);b=a+4|0;d=a+40|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+20|0;b=a+8|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[a+44>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+48>>2]|0;if((b|0)==(a+52|0))return;dX(b);return}function Eaa(a){a=a|0;Daa(a);GQa(a);return}function Faa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0;d=((f[a+60>>2]|0)>>>3&511)+1|0;e=d<<1;g=f[a+52>>2]|0;i=f[c>>2]|0;j=f[a+108>>2]|0;k=f[a+120>>2]|0;l=f[a+116>>2]|0;m=(i&1|0)==0;n=c+4|0;if((i|0)>=(f[n>>2]|0))return;c=(f[a+76>>2]|0)+(X(i+1|0,j)|0)+d+1|0;o=a+124|0;p=(d|0)==3;q=g<<1;r=q|1;s=g+2|0;t=g+1|0;u=(d|0)==4;v=q+2|0;w=g+3|0;x=c;c=i;y=(f[a+20>>2]|0)+(X(i,g)|0)|0;i=m?l:(l|0)==0&1;l=m?k:0-k|0;while(1){k=f[o>>2]|0;m=y+k|0;if((k|0)<1){a=x+((X(k,d)|0)+1)|0;b[a>>0]=0;a=x+(X(f[o>>2]|0,d)|0)|0;b[a>>0]=0;a=x+((X(f[o>>2]|0,d)|0)+-1)|0;b[a>>0]=0;if(p){b[x+-2>>0]=0;z=-4;A=0;B=-3}else{b[x+-3>>0]=0;b[x+-4>>0]=0;b[x+-5>>0]=0;z=-2;A=-1;B=(X(f[o>>2]|0,d)|0)+2|0}b[x+B>>0]=A;b[x+z>>0]=A;C=i;D=l}else{a=(i|0)!=0;if(a){k=y+1|0;E=((h[y+g>>0]|0)+1+(h[y+s>>0]|0)|0)>>>1;b[x+(0-l)>>0]=((h[k>>0]|0)+1+(h[y+r>>0]|0)|0)>>>1;b[x>>0]=b[y+t>>0]|0;b[x+l>>0]=E;if(u)b[x+2>>0]=-1;F=x+d|0;G=k}else{F=x;G=y}k=(l|0)>0;E=m+-2|0;H=G>>>0>E>>>0;do if(p)if(k){if(H){I=F;J=G;break}else{K=G;L=F}while(1){M=K+2|0;N=K+v|0;O=K+s|0;P=((h[K+1>>0]|0)+2+(h[K+g>>0]|0)+(h[O>>0]|0)+(h[K+r>>0]|0)|0)>>>2;b[L+-1>>0]=((h[K>>0]|0)+2+(h[M>>0]|0)+(h[K+q>>0]|0)+(h[N>>0]|0)|0)>>>2;b[L>>0]=P;P=K+t|0;b[L+1>>0]=b[P>>0]|0;Q=((h[P>>0]|0)+1+(h[K+w>>0]|0)|0)>>>1;b[L+2>>0]=((h[M>>0]|0)+1+(h[N>>0]|0)|0)>>>1;b[L+3>>0]=b[O>>0]|0;b[L+4>>0]=Q;Q=L+e|0;if(M>>>0>E>>>0){I=Q;J=M;break}else{K=M;L=Q}}}else{if(H){I=F;J=G;break}else{R=G;S=F}while(1){Q=R+2|0;M=R+v|0;O=R+s|0;N=((h[R+1>>0]|0)+2+(h[R+g>>0]|0)+(h[O>>0]|0)+(h[R+r>>0]|0)|0)>>>2;b[S+1>>0]=((h[R>>0]|0)+2+(h[Q>>0]|0)+(h[R+q>>0]|0)+(h[M>>0]|0)|0)>>>2;b[S>>0]=N;N=R+t|0;b[S+-1>>0]=b[N>>0]|0;P=((h[N>>0]|0)+1+(h[R+w>>0]|0)|0)>>>1;b[S+4>>0]=((h[Q>>0]|0)+1+(h[M>>0]|0)|0)>>>1;b[S+3>>0]=b[O>>0]|0;b[S+2>>0]=P;P=S+e|0;if(Q>>>0>E>>>0){I=P;J=Q;break}else{R=Q;S=P}}}else if(k){if(H){I=F;J=G;break}else{T=G;U=F}while(1){P=T+2|0;Q=T+v|0;O=T+s|0;M=((h[T+1>>0]|0)+2+(h[T+g>>0]|0)+(h[O>>0]|0)+(h[T+r>>0]|0)|0)>>>2;b[U+-1>>0]=((h[T>>0]|0)+2+(h[P>>0]|0)+(h[T+q>>0]|0)+(h[Q>>0]|0)|0)>>>2;b[U>>0]=M;M=T+t|0;b[U+1>>0]=b[M>>0]|0;b[U+2>>0]=-1;N=((h[M>>0]|0)+1+(h[T+w>>0]|0)|0)>>>1;b[U+3>>0]=((h[P>>0]|0)+1+(h[Q>>0]|0)|0)>>>1;b[U+4>>0]=b[O>>0]|0;b[U+5>>0]=N;b[U+6>>0]=-1;N=U+e|0;if(P>>>0>E>>>0){I=N;J=P;break}else{T=P;U=N}}}else{if(H){I=F;J=G;break}else{V=G;W=F}while(1){N=V+2|0;P=V+v|0;O=((h[V>>0]|0)+2+(h[N>>0]|0)+(h[V+q>>0]|0)+(h[P>>0]|0)|0)>>>2;Q=V+s|0;M=((h[V+1>>0]|0)+2+(h[V+g>>0]|0)+(h[Q>>0]|0)+(h[V+r>>0]|0)|0)>>>2;Y=V+t|0;b[W+-1>>0]=b[Y>>0]|0;b[W>>0]=M;b[W+1>>0]=O;b[W+2>>0]=-1;O=((h[N>>0]|0)+1+(h[P>>0]|0)|0)>>>1;b[W+3>>0]=((h[Y>>0]|0)+1+(h[V+w>>0]|0)|0)>>>1;b[W+4>>0]=b[Q>>0]|0;b[W+5>>0]=O;b[W+6>>0]=-1;O=W+e|0;if(N>>>0>E>>>0){I=O;J=N;break}else{V=N;W=O}}}while(0);if(J>>>0>>0?(E=((h[J+1>>0]|0)+2+(h[J+g>>0]|0)+(h[J+s>>0]|0)+(h[J+r>>0]|0)|0)>>>2,b[I+(0-l)>>0]=((h[J>>0]|0)+2+(h[J+2>>0]|0)+(h[J+q>>0]|0)+(h[J+v>>0]|0)|0)>>>2,b[I>>0]=E,b[I+l>>0]=b[J+t>>0]|0,u):0)b[I+2>>0]=-1;E=b[x+-1>>0]|0;if(p){b[x+-4>>0]=E;b[x+-3>>0]=b[x>>0]|0;b[x+-2>>0]=b[x+1>>0]|0;H=(f[o>>2]|0)*3|0;b[x+(H+-1)>>0]=b[x+(H+-4)>>0]|0;H=(f[o>>2]|0)*3|0;Z=H;_=H;$=1}else{b[x+-5>>0]=E;b[x+-4>>0]=b[x>>0]|0;b[x+-3>>0]=b[x+1>>0]|0;b[x+-2>>0]=b[x+2>>0]|0;E=X(f[o>>2]|0,d)|0;b[x+(E+-1)>>0]=b[x+(E+-5)>>0]|0;E=X(f[o>>2]|0,d)|0;b[x+E>>0]=b[x+(E+-4)>>0]|0;E=X(f[o>>2]|0,d)|0;Z=E;_=E+1|0;$=2}b[x+_>>0]=b[x+(Z+-3)>>0]|0;E=X(f[o>>2]|0,d)|0;b[x+(E+$)>>0]=b[x+(E+-2)>>0]|0;C=(a^1)&1;D=0-l|0}c=c+1|0;if((c|0)>=(f[n>>2]|0))break;else{x=x+j|0;y=y+g|0;i=C;l=D}}return}function Gaa(a){a=a|0;oaa(a);GQa(a);return}function Haa(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;c=f[a+52>>2]|0;e=c>>>1;g=(f[a+108>>2]|0)>>>1;h=f[a+132>>2]|0;i=f[a+136>>2]|0;k=f[a+116>>2]|0;l=f[b>>2]|0;m=(l&1|0)==0;n=f[b+4>>2]|0;if((l|0)>=(n|0))return;b=(f[a+76>>2]|0)+(g+1<<1)+((X(l,g)|0)<<1)|0;o=(f[a+20>>2]|0)+((X(l,e)|0)<<1)|0;p=f[a+124>>2]|0;a=(p|0)<1;q=c|1;r=e+2|0;s=e+1|0;t=c&-2;c=t+2|0;u=e+3|0;v=p+-1|0;w=b;b=l;l=o;o=m?k:(k|0)==0&1;k=m?i:h;x=m?h:i;while(1){i=l+(p<<1)|0;if(a){d[w+(p<<1)>>1]=0;d[w+-2>>1]=0;y=k;z=o;A=x}else{h=(o|0)!=0;if(h){m=l+2|0;B=X((j[l+(q<<1)>>1]|0)+(j[m>>1]|0)|0,k)|0;C=X((j[l+(r<<1)>>1]|0)+(j[l+(e<<1)>>1]|0)|0,x)|0;d[w>>1]=(B+16384+C+((j[l+(s<<1)>>1]|0)*19234|0)|0)>>>15;D=w+2|0;E=m}else{D=w;E=l}m=i+-4|0;if(E>>>0>m>>>0){F=D;G=E}else{C=x<<2;B=E;H=D;while(1){I=B+4|0;J=B+(c<<1)|0;K=X((j[I>>1]|0)+(j[B>>1]|0)+(j[B+(t<<1)>>1]|0)+(j[J>>1]|0)|0,k)|0;L=B+(r<<1)|0;M=B+(s<<1)|0;N=(K+32768+(((j[B+(e<<1)>>1]|0)+(j[B+2>>1]|0)+(j[L>>1]|0)+(j[B+(q<<1)>>1]|0)|0)*9617|0)+(X(C,j[M>>1]|0)|0)|0)>>>16&65535;d[H>>1]=N;N=X((j[J>>1]|0)+(j[I>>1]|0)|0,k)|0;J=X((j[B+(u<<1)>>1]|0)+(j[M>>1]|0)|0,x)|0;d[H+2>>1]=(N+16384+J+((j[L>>1]|0)*19234|0)|0)>>>15;L=H+4|0;if(I>>>0>m>>>0){F=L;G=I;break}else{B=I;H=L}}}if(G>>>0>>0){H=X((j[G+4>>1]|0)+(j[G>>1]|0)+(j[G+(t<<1)>>1]|0)+(j[G+(c<<1)>>1]|0)|0,k)|0;B=(H+32768+(((j[G+(e<<1)>>1]|0)+(j[G+2>>1]|0)+(j[G+(r<<1)>>1]|0)+(j[G+(q<<1)>>1]|0)|0)*9617|0)+(X(x<<2,j[G+(s<<1)>>1]|0)|0)|0)>>>16&65535;d[F>>1]=B}d[w+-2>>1]=d[w>>1]|0;d[w+(p<<1)>>1]=d[w+(v<<1)>>1]|0;y=x;z=(h^1)&1;A=k}b=b+1|0;if((b|0)>=(n|0))break;else{w=w+(g<<1)|0;l=l+(e<<1)|0;o=z;k=y;x=A}}return}function Iaa(a){a=a|0;maa(a);GQa(a);return}function Jaa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;d=f[a+52>>2]|0;e=f[a+108>>2]|0;g=f[a+132>>2]|0;i=f[a+136>>2]|0;j=f[a+116>>2]|0;k=f[c>>2]|0;l=(k&1|0)==0;m=c+4|0;if((k|0)>=(f[m>>2]|0))return;c=(f[a+76>>2]|0)+(e+1)+(X(k,e)|0)|0;n=(f[a+20>>2]|0)+(X(k,d)|0)|0;o=a+124|0;a=d<<1;p=a|1;q=d+2|0;r=d+1|0;s=a+2|0;t=d+3|0;u=c;c=k;k=n;n=l?j:(j|0)==0&1;j=l?i:g;v=l?g:i;while(1){i=f[o>>2]|0;g=k+i|0;if((i|0)<1){b[u+i>>0]=0;b[u+-1>>0]=0;w=j;x=n;y=v}else{i=(n|0)!=0;if(i){l=k+1|0;z=X((h[k+p>>0]|0)+(h[l>>0]|0)|0,j)|0;A=X((h[k+q>>0]|0)+(h[k+d>>0]|0)|0,v)|0;b[u>>0]=(z+16384+A+((h[k+r>>0]|0)*19234|0)|0)>>>15;B=u+1|0;C=l}else{B=u;C=k}l=g+-2|0;if(C>>>0>l>>>0){D=B;E=C}else{A=v<<2;z=C;F=B;while(1){G=z+2|0;H=z+s|0;I=X((h[G>>0]|0)+(h[z>>0]|0)+(h[z+a>>0]|0)+(h[H>>0]|0)|0,j)|0;J=z+q|0;K=z+r|0;L=(I+32768+(((h[z+d>>0]|0)+(h[z+1>>0]|0)+(h[J>>0]|0)+(h[z+p>>0]|0)|0)*9617|0)+(X(A,h[K>>0]|0)|0)|0)>>>16&255;b[F>>0]=L;L=X((h[H>>0]|0)+(h[G>>0]|0)|0,j)|0;H=X((h[z+t>>0]|0)+(h[K>>0]|0)|0,v)|0;b[F+1>>0]=(L+16384+H+((h[J>>0]|0)*19234|0)|0)>>>15;J=F+2|0;if(G>>>0>l>>>0){D=J;E=G;break}else{z=G;F=J}}}if(E>>>0>>0){F=X((h[E+2>>0]|0)+(h[E>>0]|0)+(h[E+a>>0]|0)+(h[E+s>>0]|0)|0,j)|0;z=(F+32768+(((h[E+d>>0]|0)+(h[E+1>>0]|0)+(h[E+q>>0]|0)+(h[E+p>>0]|0)|0)*9617|0)+(X(v<<2,h[E+r>>0]|0)|0)|0)>>>16&255;b[D>>0]=z}b[u+-1>>0]=b[u>>0]|0;z=f[o>>2]|0;b[u+z>>0]=b[u+(z+-1)>>0]|0;w=v;x=(i^1)&1;y=j}c=c+1|0;if((c|0)>=(f[m>>2]|0))break;else{u=u+e|0;k=k+d|0;n=x;j=w;v=y}}return}function Kaa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=u;u=u+128|0;h=g+120|0;i=g+64|0;j=g;k=g+8|0;yV(h,48424);do if((HJ(a)|0)==65536){l=f[a+4>>2]|0;f[i>>2]=f[l>>2];m=i+4|0;n=l+4|0;f[m>>2]=f[n>>2];o=i+8|0;f[o>>2]=f[l+8>>2];f[i+12>>2]=f[l+12>>2];f[i+16>>2]=f[l+16>>2];f[i+20>>2]=f[l+20>>2];f[i+24>>2]=f[l+24>>2];f[i+28>>2]=f[l+28>>2];f[i+32>>2]=f[l+32>>2];p=f[l+36>>2]|0;f[i+36>>2]=p;q=i+40|0;f[q>>2]=o;o=i+48|0;r=i+44|0;f[r>>2]=o;f[o>>2]=0;f[i+52>>2]=0;if(p|0){o=p+12|0;f[o>>2]=(f[o>>2]|0)+1}if((f[n>>2]|0)<3){n=f[l+44>>2]|0;o=f[r>>2]|0;f[o>>2]=f[n>>2];f[o+4>>2]=f[n+4>>2];s=q;break}else{f[m>>2]=0;WO(i,l);s=q;break}}else{DJ(i,a,-1);s=i+40|0}while(0);a=f[s>>2]|0;q=f[a>>2]|0;f[j>>2]=f[a+4>>2];f[j+4>>2]=q;_J(b,j,5,-1,0,0);do if((HJ(b)|0)==65536){j=f[b+4>>2]|0;f[k>>2]=f[j>>2];q=k+4|0;a=j+4|0;f[q>>2]=f[a>>2];l=k+8|0;f[l>>2]=f[j+8>>2];f[k+12>>2]=f[j+12>>2];f[k+16>>2]=f[j+16>>2];f[k+20>>2]=f[j+20>>2];f[k+24>>2]=f[j+24>>2];f[k+28>>2]=f[j+28>>2];f[k+32>>2]=f[j+32>>2];m=f[j+36>>2]|0;f[k+36>>2]=m;f[k+40>>2]=l;l=k+48|0;n=k+44|0;f[n>>2]=l;f[l>>2]=0;f[k+52>>2]=0;if(m|0){l=m+12|0;f[l>>2]=(f[l>>2]|0)+1}if((f[a>>2]|0)<3){a=f[j+44>>2]|0;l=f[n>>2]|0;f[l>>2]=f[a>>2];f[l+4>>2]=f[a+4>>2];break}else{f[q>>2]=0;WO(k,j);break}}else DJ(k,b,-1);while(0);Laa(i,k,c,d,0,0.0,e);e=k+36|0;d=f[e>>2]|0;if(d|0?(c=d+12|0,d=f[c>>2]|0,f[c>>2]=d+-1,(d|0)==1):0)XO(k);f[e>>2]=0;e=k+16|0;d=k+4|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;if((f[d>>2]|0)>0){e=f[k+40>>2]|0;c=0;do{f[e+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[d>>2]|0))}d=f[k+44>>2]|0;if((d|0)!=(k+48|0))dX(d);d=i+36|0;k=f[d>>2]|0;if(k|0?(c=k+12|0,k=f[c>>2]|0,f[c>>2]=k+-1,(k|0)==1):0)XO(i);f[d>>2]=0;d=i+16|0;k=i+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[k>>2]|0)>0){d=f[s>>2]|0;s=0;do{f[d+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[k>>2]|0))}k=f[i+44>>2]|0;if((k|0)!=(i+48|0))dX(k);if(!(f[h+4>>2]|0)){u=g;return}u=g;return} +function gR(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0.0,k=0,l=0.0,m=0,n=0.0,o=0.0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0.0,C=0,D=0.0,E=0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0.0,M=0,N=0.0,O=0;e=u;u=u+48|0;g=e;h=f[a+28>>2]|0;i=(b[a+34>>0]|0)!=0;j=+p[a+8>>3];if(i){k=c+8|0;l=+p[k>>3];p[k>>3]=+p[c>>3];m=k;n=l}else{m=c;n=0.0}a:do switch(h|0){case 1:{p[d>>3]=j*+p[m>>3];break}case 2:{l=+p[m>>3];o=+p[m+8>>3];p[d+8>>3]=j*(l-o);p[d>>3]=j*(l+o);break}default:{if(h&1|0){c=m+-8|0;p[d>>3]=+p[m>>3];p[d+8>>3]=0.0;k=h+1>>1;if((k|0)>1){q=f[a+16>>2]|0;r=1;do{s=f[q+(r<<2)>>2]|0;t=f[q+(h-r<<2)>>2]|0;o=+p[c+(r<<4)>>3];l=+p[c+(r<<4)+8>>3];p[d+(s<<4)>>3]=o;p[d+(s<<4)+8>>3]=-l;p[d+(t<<4)>>3]=o;p[d+(t<<4)+8>>3]=l;r=r+1|0}while((r|0)!=(k|0))}v=g;w=a;x=v+48|0;do{f[v>>2]=f[w>>2];v=v+4|0;w=w+4|0}while((v|0)<(x|0));b[g+34>>0]=0;b[g+32>>0]=0;b[g+33>>0]=1;p[g+8>>3]=1.0;f[g+28>>2]=h;hR(g,d,d);p[d>>3]=j*+p[d>>3];if((h|0)>1){k=1;do{r=k<<1;l=j*+p[d+(r+2<<3)>>3];p[d+(k<<3)>>3]=j*+p[d+(r<<3)>>3];p[d+(k+1<<3)>>3]=l;k=k+2|0}while((k|0)<(h|0))}break a}k=(m|0)==(d|0);r=f[a+20>>2]|0;l=+p[m+8>>3];o=+p[m>>3];y=+p[m+(h+-1<<3)>>3];p[d>>3]=o+y;p[d+8>>3]=y-o;c=h+1>>1;q=r+16|0;do if((c|0)>2){if(k){t=q;o=l;s=2;z=r;while(1){A=h-s|0;y=+p[d+(A+-1<<3)>>3];B=o+y;C=d+(s<<3)|0;D=+p[C>>3];E=d+(A<<3)|0;F=+p[E>>3];G=D-F;H=o-y;y=D+F;F=+p[t>>3];D=+p[z+24>>3];I=H*F+y*D;J=y*F-H*D;K=d+((s|1)<<3)|0;o=+p[K>>3];p[C>>3]=B-J;p[K>>3]=-G-I;p[E>>3]=B+J;p[d+(A+1<<3)>>3]=G-I;s=s+2|0;if((s|0)>=(c|0))break;else{A=t;t=t+16|0;z=A}}L=o;M=c+1&-2;break}z=f[a+16>>2]|0;t=q;I=l;s=2;A=r;while(1){E=h-s|0;G=+p[m+(E+-1<<3)>>3];J=I+G;B=+p[m+(s<<3)>>3];D=+p[m+(E<<3)>>3];H=B-D;F=I-G;G=B+D;D=+p[t>>3];B=+p[A+24>>3];y=F*D+G*B;N=G*D-F*B;I=+p[m+((s|1)<<3)>>3];E=s>>1;K=f[z+(E<<2)>>2]|0;p[d+(K<<3)>>3]=J-N;p[d+(K+1<<3)>>3]=-H-y;K=f[z+(c-E<<2)>>2]|0;p[d+(K<<3)>>3]=J+N;p[d+(K+1<<3)>>3]=H-y;s=s+2|0;if((s|0)>=(c|0))break;else{K=t;t=t+16|0;A=K}}L=I;M=c+1&-2}else{L=l;M=2}while(0);if((M|0)<=(c|0)){l=+p[m+(c<<3)>>3]*2.0;if(k)O=c;else O=f[(f[a+16>>2]|0)+(c<<2)>>2]<<1;p[d+(O<<3)>>3]=L*2.0;p[d+(O+1<<3)>>3]=l}r=a+4|0;q=f[r>>2]|0;A=f[q>>2]>>1;f[q>>2]=A;v=g;w=a;x=v+48|0;do{f[v>>2]=f[w>>2];v=v+4|0;w=w+4|0}while((v|0)<(x|0));q=(A|0)==1&1;t=g+4|0;f[t>>2]=(f[t>>2]|0)+(q<<2);f[g>>2]=(f[g>>2]|0)-q;b[g+34>>0]=0;b[g+32>>0]=0;b[g+33>>0]=(k^1)&1;p[g+8>>3]=1.0;f[g+28>>2]=c;hR(g,d,d);q=f[r>>2]|0;f[q>>2]=f[q>>2]<<1;if((h|0)>0){q=0;do{t=d+(q<<3)|0;s=d+((q|1)<<3)|0;l=-(j*+p[s>>3]);p[t>>3]=j*+p[t>>3];p[s>>3]=l;q=q+2|0}while((q|0)<(h|0))}}}while(0);if(!i){u=e;return}p[m>>3]=n;u=e;return}function hR(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0,R=0,S=0.0,T=0.0,U=0.0,V=0.0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0.0,ga=0.0,ha=0,ia=0.0,ja=0.0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;e=u;u=u+1168|0;g=e;h=f[a+20>>2]|0;i=f[a+16>>2]|0;j=a+28|0;k=f[j>>2]|0;l=(b[a+32>>0]|0)!=0;m=a+24|0;n=f[m>>2]|0;o=+p[a+8>>3];if((n|0)!=(k|0))if((n|0)==(k<<1|0))q=2;else q=(n|0)/(k|0)|0;else q=1;do if((d|0)==(c|0)){a:do if(!(b[a+33>>0]|0)){r=f[a+4>>2]|0;s=f[a>>2]|0;if((f[r>>2]|0)==(f[r+(s+-1<<2)>>2]|0))t=s;else{f[g>>2]=0;f[g+4>>2]=0;s=JV(g,33)|0;r=168901;v=s+33|0;do{b[s>>0]=b[r>>0]|0;s=s+1|0;r=r+1|0}while((s|0)<(v|0));EP(-215,g,168935,168939,657);KV(g);t=f[a>>2]|0}if((t|0)!=1){if((k|0)>0){w=0;x=i}else break;while(1){r=f[x>>2]|0;if((r|0)>(w|0)){s=d+(w<<4)|0;y=+p[s>>3];z=+p[d+(w<<4)+8>>3];v=d+(r<<4)|0;f[s>>2]=f[v>>2];f[s+4>>2]=f[v+4>>2];f[s+8>>2]=f[v+8>>2];f[s+12>>2]=f[v+12>>2];p[v>>3]=y;p[d+(r<<4)+8>>3]=z}w=w+1|0;if((w|0)==(k|0))break a;else x=x+(q<<2)|0}}if((k&3|0)==0?(r=(k|0)/2|0,v=d+(r<<4)|0,(k|0)>1):0){s=q<<1;A=0;B=i;while(1){C=f[B>>2]|0;D=A|1;E=d+(D<<4)|0;z=+p[E>>3];y=+p[d+(D<<4)+8>>3];F=v+(C<<4)|0;f[E>>2]=f[F>>2];f[E+4>>2]=f[F+4>>2];f[E+8>>2]=f[F+8>>2];f[E+12>>2]=f[F+12>>2];p[F>>3]=z;p[F+8>>3]=y;if((C|0)>(A|0)){F=d+(A<<4)|0;y=+p[F>>3];z=+p[d+(A<<4)+8>>3];E=d+(C<<4)|0;f[F>>2]=f[E>>2];f[F+4>>2]=f[E+4>>2];f[F+8>>2]=f[E+8>>2];f[F+12>>2]=f[E+12>>2];p[E>>3]=y;p[d+(C<<4)+8>>3]=z;E=v+(D<<4)|0;z=+p[E>>3];y=+p[E+8>>3];D=v+(C+1<<4)|0;f[E>>2]=f[D>>2];f[E+4>>2]=f[D+4>>2];f[E+8>>2]=f[D+8>>2];f[E+12>>2]=f[D+12>>2];p[D>>3]=z;p[D+8>>3]=y}A=A+2|0;if((A|0)>=(r|0))break;else B=B+(s<<2)|0}}}while(0);if(l){s=k+-2|0;if((k|0)<2)G=0;else{B=0;do{r=d+(B<<4)+8|0;A=d+((B|1)<<4)+8|0;y=-+p[A>>3];p[r>>3]=-+p[r>>3];p[A>>3]=y;B=B+2|0}while((B|0)<=(s|0));G=k&-2}s=d+(k+-1<<4)+8|0;if((G|0)<(k|0))p[s>>3]=-+p[s>>3]}}else{s=k+-2|0;B=(k|0)<2;if(l){if(B)H=0;else{A=q<<1;r=0;v=i;while(1){D=f[v>>2]|0;E=f[v+(q<<2)>>2]|0;y=-+p[c+(D<<4)+8>>3];p[d+(r<<4)>>3]=+p[c+(D<<4)>>3];p[d+(r<<4)+8>>3]=y;y=-+p[c+(E<<4)+8>>3];D=r|1;p[d+(D<<4)>>3]=+p[c+(E<<4)>>3];p[d+(D<<4)+8>>3]=y;r=r+2|0;if((r|0)>(s|0))break;else v=v+(A<<2)|0}H=k&-2}if((H|0)>=(k|0))break;A=k+-1|0;y=-+p[c+(A<<4)+8>>3];p[d+(H<<4)>>3]=+p[c+(A<<4)>>3];p[d+(H<<4)+8>>3]=y;break}else{if(B)I=0;else{A=q<<1;v=0;r=i;while(1){D=f[r+(q<<2)>>2]|0;E=c+(f[r>>2]<<4)|0;C=d+(v<<4)|0;f[C>>2]=f[E>>2];f[C+4>>2]=f[E+4>>2];f[C+8>>2]=f[E+8>>2];f[C+12>>2]=f[E+12>>2];E=c+(D<<4)|0;D=d+((v|1)<<4)|0;f[D>>2]=f[E>>2];f[D+4>>2]=f[E+4>>2];f[D+8>>2]=f[E+8>>2];f[D+12>>2]=f[E+12>>2];v=v+2|0;if((v|0)>(s|0))break;else r=r+(A<<2)|0}I=k&-2}A=k+-1|0;if((I|0)>=(k|0))break;r=c+(A<<4)|0;s=d+(A<<4)|0;f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2];f[s+8>>2]=f[r+8>>2];f[s+12>>2]=f[r+12>>2];break}}while(0);c=a+4|0;k=f[c>>2]|0;I=f[k>>2]|0;q=I&1;if(!q){if((I|0)<4){J=1;K=n}else{i=f[j>>2]|0;H=(i|0)>0;G=1;x=n;w=4;while(1){t=(x|0)/4|0;if(H){r=G<<1;s=(G|0)>1;A=0;do{v=d+(A<<4)|0;B=v+(r<<4)|0;y=+p[B>>3];E=B+8|0;z=+p[E>>3];D=B+(G<<4)|0;L=+p[D>>3];C=D+8|0;M=+p[C>>3];N=y+L;O=z+M;P=z-M;M=L-y;y=+p[v>>3];F=d+(A<<4)+8|0;L=+p[F>>3];Q=v+(G<<4)|0;z=+p[Q>>3];R=Q+8|0;S=+p[R>>3];T=y+z;U=L+S;V=y-z;z=L-S;p[v>>3]=N+T;p[F>>3]=O+U;p[B>>3]=T-N;p[E>>3]=U-O;p[Q>>3]=P+V;p[R>>3]=M+z;p[D>>3]=V-P;p[C>>3]=z-M;if(s){C=t;D=1;while(1){R=v+(D<<4)|0;Q=R+(r<<4)|0;E=R+(G<<4)|0;M=+p[E>>3];B=C<<1;z=+p[h+(B<<4)>>3];F=E+8|0;P=+p[F>>3];V=+p[h+(B<<4)+8>>3];O=M*z-P*V;U=z*P+M*V;V=+p[Q>>3];M=+p[h+(C<<4)+8>>3];B=Q+8|0;P=+p[B>>3];z=+p[h+(C<<4)>>3];N=V*M+P*z;T=V*z-M*P;W=Q+(G<<4)|0;P=+p[W>>3];Y=C*3|0;M=+p[h+(Y<<4)+8>>3];Z=W+8|0;z=+p[Z>>3];V=+p[h+(Y<<4)>>3];S=P*M+z*V;L=P*V-M*z;z=T+L;M=N+S;V=N-S;S=L-T;T=+p[R>>3];Y=R+8|0;L=+p[Y>>3];N=O+T;P=U+L;y=T-O;O=L-U;p[R>>3]=N+z;p[Y>>3]=P+M;p[Q>>3]=N-z;p[B>>3]=P-M;p[E>>3]=y+V;p[F>>3]=O+S;p[W>>3]=y-V;p[Z>>3]=O-S;D=D+1|0;if((D|0)==(G|0))break;else C=C+t|0}}A=A+w|0}while((A|0)<(i|0))}A=w<<2;if((A|0)>(I|0)){J=w;K=t;break}else{r=w;x=t;w=A;G=r}}}if((J|0)<(I|0)){G=f[j>>2]|0;w=(G|0)>0;x=J;i=K;while(1){H=x<<1;r=(i|0)/2|0;b:do if(w){if((x|0)>1)_=0;else{A=0;while(1){s=d+(A<<4)|0;S=+p[s>>3];C=s+(x<<4)|0;O=+p[C>>3];D=d+(A<<4)+8|0;V=+p[D>>3];v=C+8|0;y=+p[v>>3];p[s>>3]=S+O;p[D>>3]=V+y;p[C>>3]=S-O;p[v>>3]=V-y;A=A+H|0;if((A|0)>=(G|0))break b}}do{A=d+(_<<4)|0;y=+p[A>>3];v=A+(x<<4)|0;V=+p[v>>3];C=d+(_<<4)+8|0;O=+p[C>>3];D=v+8|0;S=+p[D>>3];p[A>>3]=y+V;p[C>>3]=O+S;p[v>>3]=y-V;p[D>>3]=O-S;D=r;v=1;while(1){C=A+(v<<4)|0;s=C+(x<<4)|0;S=+p[s>>3];O=+p[h+(D<<4)>>3];Z=s+8|0;V=+p[Z>>3];y=+p[h+(D<<4)+8>>3];M=S*O-V*y;P=O*V+S*y;y=+p[C>>3];W=C+8|0;S=+p[W>>3];p[C>>3]=y+M;p[W>>3]=S+P;p[s>>3]=y-M;p[Z>>3]=S-P;v=v+1|0;if((v|0)==(x|0))break;else D=D+r|0}_=_+H|0}while((_|0)<(G|0))}while(0);if((H|0)<(I|0)){x=H;i=r}else{$=H;aa=r;break}}}else{$=J;aa=K}}else{$=1;aa=n}n=q^1;c:do if((n|0)<(f[a>>2]|0)){q=g+8|0;K=g+4|0;J=n;i=$;x=aa;I=k;while(1){G=f[I+(J<<2)>>2]|0;_=X(G,i)|0;w=(x|0)/(G|0)|0;d:do switch(G|0){case 3:{t=f[j>>2]|0;if((t|0)>0){D=i<<1;if((i|0)>1)ba=0;else{v=0;while(1){A=d+(v<<4)|0;Z=A+(i<<4)|0;P=+p[Z>>3];s=A+(D<<4)|0;S=+p[s>>3];M=P+S;W=Z+8|0;y=+p[W>>3];C=s+8|0;V=+p[C>>3];O=y+V;z=+p[A>>3];F=d+(v<<4)+8|0;N=+p[F>>3];U=(y-V)*.8660254037844386;V=(S-P)*.8660254037844386;p[A>>3]=M+z;p[F>>3]=O+N;P=z-M*.5;M=N-O*.5;p[Z>>3]=P+U;p[W>>3]=V+M;p[s>>3]=P-U;p[C>>3]=M-V;v=v+_|0;if((v|0)>=(t|0))break d}}do{v=d+(ba<<4)|0;C=v+(i<<4)|0;V=+p[C>>3];s=v+(D<<4)|0;M=+p[s>>3];U=V+M;W=C+8|0;P=+p[W>>3];Z=s+8|0;O=+p[Z>>3];N=P+O;z=+p[v>>3];F=d+(ba<<4)+8|0;S=+p[F>>3];y=(P-O)*.8660254037844386;O=(M-V)*.8660254037844386;p[v>>3]=U+z;p[F>>3]=N+S;V=z-U*.5;U=S-N*.5;p[C>>3]=V+y;p[W>>3]=O+U;p[s>>3]=V-y;p[Z>>3]=U-O;Z=w;s=1;while(1){W=v+(s<<4)|0;C=W+(i<<4)|0;O=+p[C>>3];U=+p[h+(Z<<4)>>3];F=C+8|0;y=+p[F>>3];V=+p[h+(Z<<4)+8>>3];N=O*U-y*V;S=U*y+O*V;A=W+(D<<4)|0;V=+p[A>>3];E=Z<<1;O=+p[h+(E<<4)>>3];B=A+8|0;y=+p[B>>3];U=+p[h+(E<<4)+8>>3];z=V*O-y*U;M=O*y+V*U;U=N+z;V=S+M;y=(S-M)*.8660254037844386;M=(z-N)*.8660254037844386;N=+p[W>>3];E=W+8|0;z=+p[E>>3];p[W>>3]=N+U;p[E>>3]=z+V;S=N-U*.5;U=z-V*.5;p[C>>3]=y+S;p[F>>3]=M+U;p[A>>3]=S-y;p[B>>3]=U-M;s=s+1|0;if((s|0)==(i|0))break;else Z=Z+w|0}ba=ba+_|0}while((ba|0)<(t|0))}break}case 5:{t=f[j>>2]|0;if((t|0)>0){D=(i|0)>0;Z=i<<1;s=0;do{if(D){v=d+(s<<4)|0;B=0;A=0;while(1){F=v+(A<<4)|0;C=F+(Z<<4)|0;E=C+(Z<<4)|0;W=F+(i<<4)|0;M=+p[W>>3];U=+p[h+(B<<4)>>3];Q=W+8|0;y=+p[Q>>3];S=+p[h+(B<<4)+8>>3];V=M*U-y*S;z=U*y+M*S;S=+p[E>>3];Y=B<<2;M=+p[h+(Y<<4)>>3];R=E+8|0;y=+p[R>>3];U=+p[h+(Y<<4)+8>>3];N=S*M-y*U;O=M*y+S*U;U=V+N;S=z+O;y=V-N;N=z-O;Y=C+(i<<4)|0;O=+p[Y>>3];ca=B*3|0;z=+p[h+(ca<<4)>>3];da=Y+8|0;V=+p[da>>3];M=+p[h+(ca<<4)+8>>3];P=O*z-V*M;L=z*V+O*M;M=+p[C>>3];ca=B<<1;O=+p[h+(ca<<4)>>3];ea=C+8|0;V=+p[ea>>3];z=+p[h+(ca<<4)+8>>3];T=M*O-V*z;fa=O*V+M*z;z=P+T;M=L+fa;V=P-T;T=L-fa;fa=+p[F>>3];ca=F+8|0;L=+p[ca>>3];P=U+z;O=S+M;p[F>>3]=fa+P;p[ca>>3]=L+O;ga=fa-P*.25;P=L-O*.25;O=(U-z)*.5590169943749475;z=(S-M)*.5590169943749475;M=(N+T)*.9510565162951535;S=(y+V)*-.9510565162951535;U=M-N*.36327126400268045;N=y*.36327126400268045+S;y=M-T*1.5388417685876268;T=V*1.5388417685876268+S;S=O+ga;V=z+P;M=ga-O;O=P-z;p[W>>3]=y+S;p[Q>>3]=T+V;p[E>>3]=S-y;p[R>>3]=V-T;p[C>>3]=U+M;p[ea>>3]=N+O;p[Y>>3]=M-U;p[da>>3]=O-N;A=A+1|0;if((A|0)==(i|0))break;else B=B+w|0}}s=s+_|0}while((s|0)<(t|0))}break}default:{t=(G+-1|0)/2|0;s=(f[m>>2]|0)/(G|0)|0;Z=t<<1;FVa(q|0,0,1152)|0;f[g>>2]=q;f[K>>2]=Z;if(Z>>>0>72){D=FQa(Z>>>0>268435455?-1:Z<<4)|0;FVa(D|0,0,t<<5|0)|0;f[g>>2]=D;ha=D}else ha=q;D=ha+(t<<4)|0;Z=f[j>>2]|0;if((Z|0)>0){B=(i|0)>0;A=(G|0)<3;v=0;da=Z;while(1){if(B){Z=d+(v<<4)|0;Y=0;ea=0;while(1){C=Z+(Y<<4)|0;N=+p[C>>3];R=C+8|0;O=+p[R>>3];if(!Y){if(!A){E=i;Q=1;U=N;M=O;while(1){W=C+(E<<4)|0;T=+p[W>>3];ca=C+(_-E<<4)|0;V=+p[ca>>3];y=T+V;S=+p[W+8>>3];z=+p[ca+8>>3];P=S+z;ga=U+y;L=M+P;ca=Q+-1|0;p[ha+(ca<<4)>>3]=y;p[ha+(ca<<4)+8>>3]=S-z;W=D+(ca<<4)|0;p[W>>3]=T-V;p[W+8>>3]=P;if((Q|0)<(t|0)){E=E+i|0;Q=Q+1|0;U=ga;M=L}else{ia=ga;ja=L;ka=82;break}}}}else{Q=h+((X(ea,G)|0)<<4)|0;if(!A){E=ea;W=i;ca=1;M=N;U=O;while(1){F=C+(W<<4)|0;L=+p[F>>3];ga=+p[h+(E<<4)>>3];P=+p[F+8>>3];V=+p[h+(E<<4)+8>>3];T=L*ga-P*V;z=ga*P+L*V;F=C+(_-W<<4)|0;V=+p[F>>3];la=Q+(0-E<<4)|0;L=+p[la>>3];P=+p[F+8>>3];ga=+p[la+8>>3];S=V*L-P*ga;y=L*P+V*ga;ga=T+S;V=z+y;P=M+ga;L=U+V;la=ca+-1|0;p[ha+(la<<4)>>3]=ga;p[ha+(la<<4)+8>>3]=z-y;F=D+(la<<4)|0;p[F>>3]=T-S;p[F+8>>3]=V;if((ca|0)<(t|0)){E=E+ea|0;W=W+i|0;ca=ca+1|0;M=P;U=L}else{ia=P;ja=L;ka=82;break}}}}if((ka|0)==82?(ka=0,p[C>>3]=ia,p[R>>3]=ja,!A):0){ca=i;W=1;while(1){E=X(W,s)|0;Q=f[m>>2]|0;F=0;la=E;U=N;M=N;L=O;P=O;while(1){V=+p[h+(la<<4)>>3];S=V*+p[ha+(F<<4)>>3];T=+p[h+(la<<4)+8>>3];y=T*+p[ha+(F<<4)+8>>3];ma=D+(F<<4)|0;z=V*+p[ma+8>>3];V=T*+p[ma>>3];U=U+(S+y);M=M+(S-y);L=L+(z-V);P=P+(z+V);ma=la+E|0;F=F+1|0;if((F|0)>=(t|0))break;else la=ma-((ma|0)>=(Q|0)?Q:0)|0}Q=C+(ca<<4)|0;p[Q>>3]=M;p[Q+8>>3]=P;Q=C+(_-ca<<4)|0;p[Q>>3]=U;p[Q+8>>3]=L;if((W|0)<(t|0)){ca=ca+i|0;W=W+1|0}else break}}Y=Y+1|0;if((Y|0)==(i|0))break;else ea=ea+w|0}na=f[j>>2]|0}else na=da;v=v+_|0;if((v|0)>=(na|0))break;else da=na}}if((ha|0)!=(q|0)){HQa(ha);f[g>>2]=q;f[K>>2]=72}}}while(0);G=J+1|0;if((G|0)>=(f[a>>2]|0))break c;J=G;i=_;x=w;I=f[c>>2]|0}}while(0);if(o!=1.0){ja=l?-o:o;c=f[j>>2]|0;if((c|0)>0)oa=0;else{u=e;return}do{a=d+(oa<<4)|0;g=d+(oa<<4)+8|0;ia=ja*+p[g>>3];p[a>>3]=o*+p[a>>3];p[g>>3]=ia;oa=oa+1|0}while((oa|0)<(c|0));u=e;return}if(!l){u=e;return}l=f[j>>2]|0;if((l|0)<2)pa=0;else{j=l+-2|0;c=((j|0)>1?j:1)&2147483646;oa=0;do{g=d+(oa<<4)+8|0;a=d+((oa|1)<<4)+8|0;o=-+p[a>>3];p[g>>3]=-+p[g>>3];p[a>>3]=o;oa=oa+2|0}while((oa|0)<=(j|0));pa=c+2|0}c=d+(l+-1<<4)+8|0;if((pa|0)>=(l|0)){u=e;return}p[c>>3]=-+p[c>>3];u=e;return}function iR(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0.0,l=0,m=0,n=0.0,o=0.0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0,C=0,D=0.0,E=0.0,F=0,G=0,H=0.0,I=0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0;e=u;u=u+48|0;g=e;h=f[a+28>>2]|0;i=b[a+34>>0]|0;j=i<<24>>24!=0;k=+p[a+8>>3];l=d+((i&255)<<3)|0;i=(h|0)==1;do if(i){p[l>>3]=k*+p[c>>3];m=l}else{if((h|0)==2){n=+p[c>>3];o=+p[c+8>>3];p[l+8>>3]=k*(n-o);p[l>>3]=k*(n+o);m=l;break}if(h&1|0){p[d>>3]=k*+p[c>>3];q=d+8|0;p[q>>3]=0.0;if((h|0)>1){r=f[a+16>>2]|0;s=1;do{t=s+1|0;o=k*+p[c+(f[r+(t<<2)>>2]<<3)>>3];p[d+(s<<4)>>3]=k*+p[c+(f[r+(s<<2)>>2]<<3)>>3];p[d+(s<<4)+8>>3]=0.0;p[d+(t<<4)>>3]=o;p[d+(t<<4)+8>>3]=0.0;s=s+2|0}while((s|0)<(h|0))}v=g;w=a;x=v+48|0;do{f[v>>2]=f[w>>2];v=v+4|0;w=w+4|0}while((v|0)<(x|0));b[g+34>>0]=0;b[g+32>>0]=0;b[g+33>>0]=1;p[g+8>>3]=1.0;hR(g,d,d);if(!j)p[q>>3]=+p[d>>3];m=d;break}o=k*.5;s=h>>1;r=a+4|0;t=f[r>>2]|0;y=f[t>>2]>>1;f[t>>2]=y;v=g;w=a;x=v+48|0;do{f[v>>2]=f[w>>2];v=v+4|0;w=w+4|0}while((v|0)<(x|0));q=(y|0)==1&1;t=g+4|0;f[t>>2]=(f[t>>2]|0)+(q<<2);f[g>>2]=(f[g>>2]|0)-q;b[g+34>>0]=0;b[g+32>>0]=0;b[g+33>>0]=0;p[g+8>>3]=1.0;f[g+28>>2]=s;hR(g,c,l);q=f[r>>2]|0;f[q>>2]=f[q>>2]<<1;n=+p[l>>3];q=l+8|0;z=+p[q>>3];p[l>>3]=k*(n+z);A=k*(n-z);p[q>>3]=A;q=l+(s<<3)|0;z=+p[q>>3];t=l+(h+-1<<3)|0;n=+p[t>>3];p[t>>3]=A;if((s|0)>2){A=n;t=f[a+20>>2]|0;B=2;do{C=t;t=t+16|0;D=+p[l+((B|1)<<3)>>3];E=o*(A+D);F=h-B|0;G=l+(F<<3)|0;H=+p[G>>3];I=l+(B<<3)|0;J=+p[I>>3];K=o*(H-J);L=o*(H+J);J=o*(D-A);D=+p[t>>3];H=+p[C+24>>3];M=E*D-K*H;N=E*H+D*K;C=l+(F+-1<<3)|0;A=+p[C>>3];p[l+(B+-1<<3)>>3]=L+M;p[C>>3]=L-M;p[I>>3]=J+N;p[G>>3]=N-J;B=B+2|0}while((B|0)<(s|0));O=A;P=s+1&-2}else{O=n;P=2}if((P|0)<=(s|0)){p[l+(s+-1<<3)>>3]=k*z;p[q>>3]=-(k*O)}m=l}while(0);if(!j){u=e;return}if(!(i|(h&1|0)==0)){u=e;return}p[m+-8>>3]=+p[m>>3];p[m>>3]=0.0;if((h|0)<=1){u=e;return}p[m+(h<<3)>>3]=0.0;u=e;return}function jR(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0.0,k=0,l=0.0,m=0,o=0.0,q=0.0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0,C=0.0,D=0,E=0.0,F=0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0,M=0.0,N=0,O=0.0,P=0;e=u;u=u+48|0;g=e;h=f[a+28>>2]|0;i=(b[a+34>>0]|0)!=0;j=+p[a+8>>3];if(i){k=c+4|0;l=+n[k>>2];f[k>>2]=f[c>>2];m=k;o=l}else{m=c;o=0.0}a:do switch(h|0){case 1:{n[d>>2]=+n[m>>2]*j;break}case 2:{l=+n[m>>2];q=+n[m+4>>2];n[d+4>>2]=(l-q)*j;n[d>>2]=(l+q)*j;break}default:{if(h&1|0){c=m+-4|0;f[d>>2]=f[m>>2];n[d+4>>2]=0.0;k=h+1>>1;if((k|0)>1){r=f[a+16>>2]|0;s=1;do{t=f[r+(s<<2)>>2]|0;v=f[r+(h-s<<2)>>2]|0;w=f[c+(s<<3)>>2]|0;q=+n[c+(s<<3)+4>>2];f[d+(t<<3)>>2]=w;n[d+(t<<3)+4>>2]=-q;f[d+(v<<3)>>2]=w;n[d+(v<<3)+4>>2]=q;s=s+1|0}while((s|0)!=(k|0))}x=g;y=a;z=x+48|0;do{f[x>>2]=f[y>>2];x=x+4|0;y=y+4|0}while((x|0)<(z|0));b[g+34>>0]=0;b[g+32>>0]=0;b[g+33>>0]=1;p[g+8>>3]=1.0;f[g+28>>2]=h;kR(g,d,d);n[d>>2]=+n[d>>2]*j;if((h|0)>1){k=1;do{s=k<<1;q=+n[d+(s+2<<2)>>2]*j;n[d+(k<<2)>>2]=+n[d+(s<<2)>>2]*j;n[d+(k+1<<2)>>2]=q;k=k+2|0}while((k|0)<(h|0))}break a}k=(m|0)==(d|0);s=f[a+20>>2]|0;q=+n[m+4>>2];l=+n[m>>2];A=+n[m+(h+-1<<2)>>2];n[d>>2]=l+A;n[d+4>>2]=A-l;c=h+1>>1;r=s+8|0;do if((c|0)>2){if(k){v=r;l=q;w=2;t=s;while(1){B=h-w|0;A=+n[d+(B+-1<<2)>>2];C=l+A;D=d+(w<<2)|0;E=+n[D>>2];F=d+(B<<2)|0;G=+n[F>>2];H=E-G;I=l-A;A=E+G;G=+n[v>>2];E=+n[t+12>>2];J=I*G+A*E;K=A*G-I*E;L=d+((w|1)<<2)|0;l=+n[L>>2];n[D>>2]=C-K;n[L>>2]=-H-J;n[F>>2]=C+K;n[d+(B+1<<2)>>2]=H-J;w=w+2|0;if((w|0)>=(c|0))break;else{B=v;v=v+8|0;t=B}}M=l;N=c+1&-2;break}t=f[a+16>>2]|0;v=r;J=q;w=2;B=s;while(1){F=h-w|0;H=+n[m+(F+-1<<2)>>2];K=J+H;C=+n[m+(w<<2)>>2];E=+n[m+(F<<2)>>2];I=C-E;G=J-H;H=C+E;E=+n[v>>2];C=+n[B+12>>2];A=G*E+H*C;O=H*E-G*C;J=+n[m+((w|1)<<2)>>2];F=w>>1;L=f[t+(F<<2)>>2]|0;n[d+(L<<2)>>2]=K-O;n[d+(L+1<<2)>>2]=-I-A;L=f[t+(c-F<<2)>>2]|0;n[d+(L<<2)>>2]=K+O;n[d+(L+1<<2)>>2]=I-A;w=w+2|0;if((w|0)>=(c|0))break;else{L=v;v=v+8|0;B=L}}M=J;N=c+1&-2}else{M=q;N=2}while(0);if((N|0)<=(c|0)){q=+n[m+(c<<2)>>2]*2.0;if(k)P=c;else P=f[(f[a+16>>2]|0)+(c<<2)>>2]<<1;n[d+(P<<2)>>2]=M*2.0;n[d+(P+1<<2)>>2]=q}s=a+4|0;r=f[s>>2]|0;B=f[r>>2]>>1;f[r>>2]=B;x=g;y=a;z=x+48|0;do{f[x>>2]=f[y>>2];x=x+4|0;y=y+4|0}while((x|0)<(z|0));r=(B|0)==1&1;v=g+4|0;f[v>>2]=(f[v>>2]|0)+(r<<2);f[g>>2]=(f[g>>2]|0)-r;b[g+34>>0]=0;b[g+32>>0]=0;b[g+33>>0]=(k^1)&1;p[g+8>>3]=1.0;f[g+28>>2]=c;kR(g,d,d);r=f[s>>2]|0;f[r>>2]=f[r>>2]<<1;if((h|0)>0){r=0;do{v=d+(r<<2)|0;w=d+((r|1)<<2)|0;q=-(+n[w>>2]*j);n[v>>2]=+n[v>>2]*j;n[w>>2]=q;r=r+2|0}while((r|0)<(h|0))}}}while(0);if(!i){u=e;return}n[m>>2]=o;u=e;return}function kR(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0.0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0,N=0,O=0,P=0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,Y=0.0,Z=0.0,_=0.0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0.0,ha=0.0,ia=0,ja=0.0,ka=0.0,la=0,ma=0,na=0,oa=0,pa=0,qa=0;e=u;u=u+1104|0;g=e;h=f[a+20>>2]|0;i=f[a+16>>2]|0;j=a+28|0;k=f[j>>2]|0;l=(b[a+32>>0]|0)!=0;m=a+24|0;o=f[m>>2]|0;q=+p[a+8>>3];if((o|0)!=(k|0))if((o|0)==(k<<1|0))r=2;else r=(o|0)/(k|0)|0;else r=1;do if((d|0)==(c|0)){a:do if(!(b[a+33>>0]|0)){s=f[a+4>>2]|0;t=f[a>>2]|0;if((f[s>>2]|0)==(f[s+(t+-1<<2)>>2]|0))v=t;else{f[g>>2]=0;f[g+4>>2]=0;t=JV(g,33)|0;s=168901;w=t+33|0;do{b[t>>0]=b[s>>0]|0;t=t+1|0;s=s+1|0}while((t|0)<(w|0));EP(-215,g,168935,168939,657);KV(g);v=f[a>>2]|0}if((v|0)!=1){if((k|0)>0){x=0;y=i}else break;while(1){s=f[y>>2]|0;if((s|0)>(x|0)){t=d+(x<<3)|0;w=f[t>>2]|0;z=f[d+(x<<3)+4>>2]|0;A=d+(s<<3)|0;B=A;C=f[B+4>>2]|0;D=t;f[D>>2]=f[B>>2];f[D+4>>2]=C;f[A>>2]=w;f[d+(s<<3)+4>>2]=z}x=x+1|0;if((x|0)==(k|0))break a;else y=y+(r<<2)|0}}if((k&3|0)==0?(z=(k|0)/2|0,s=d+(z<<3)|0,(k|0)>1):0){w=r<<1;A=0;C=i;while(1){D=f[C>>2]|0;B=A|1;t=d+(B<<3)|0;E=f[t>>2]|0;F=f[d+(B<<3)+4>>2]|0;G=s+(D<<3)|0;H=G;I=f[H+4>>2]|0;J=t;f[J>>2]=f[H>>2];f[J+4>>2]=I;f[G>>2]=E;f[G+4>>2]=F;if((D|0)>(A|0)){F=d+(A<<3)|0;G=f[F>>2]|0;E=f[d+(A<<3)+4>>2]|0;I=d+(D<<3)|0;J=I;H=f[J+4>>2]|0;t=F;f[t>>2]=f[J>>2];f[t+4>>2]=H;f[I>>2]=G;f[d+(D<<3)+4>>2]=E;E=s+(B<<3)|0;B=f[E>>2]|0;G=f[E+4>>2]|0;I=s+(D+1<<3)|0;D=I;H=f[D+4>>2]|0;t=E;f[t>>2]=f[D>>2];f[t+4>>2]=H;f[I>>2]=B;f[I+4>>2]=G}A=A+2|0;if((A|0)>=(z|0))break;else C=C+(w<<2)|0}}}while(0);if(l){w=k+-2|0;if((k|0)<2)K=0;else{C=0;do{z=d+(C<<3)+4|0;A=d+((C|1)<<3)+4|0;L=-+n[A>>2];n[z>>2]=-+n[z>>2];n[A>>2]=L;C=C+2|0}while((C|0)<=(w|0));K=k&-2}w=d+(k+-1<<3)+4|0;if((K|0)<(k|0))n[w>>2]=-+n[w>>2]}}else{w=k+-2|0;C=(k|0)<2;if(l){if(C)M=0;else{A=r<<1;z=0;s=i;while(1){G=f[s>>2]|0;I=f[s+(r<<2)>>2]|0;L=-+n[c+(G<<3)+4>>2];f[d+(z<<3)>>2]=f[c+(G<<3)>>2];n[d+(z<<3)+4>>2]=L;L=-+n[c+(I<<3)+4>>2];G=z|1;f[d+(G<<3)>>2]=f[c+(I<<3)>>2];n[d+(G<<3)+4>>2]=L;z=z+2|0;if((z|0)>(w|0))break;else s=s+(A<<2)|0}M=k&-2}if((M|0)>=(k|0))break;A=k+-1|0;L=-+n[c+(A<<3)+4>>2];f[d+(M<<3)>>2]=f[c+(A<<3)>>2];n[d+(M<<3)+4>>2]=L;break}else{if(C)N=0;else{A=r<<1;s=0;z=i;while(1){G=f[z+(r<<2)>>2]|0;I=c+(f[z>>2]<<3)|0;B=f[I+4>>2]|0;H=d+(s<<3)|0;f[H>>2]=f[I>>2];f[H+4>>2]=B;B=c+(G<<3)|0;G=f[B+4>>2]|0;H=d+((s|1)<<3)|0;f[H>>2]=f[B>>2];f[H+4>>2]=G;s=s+2|0;if((s|0)>(w|0))break;else z=z+(A<<2)|0}N=k&-2}A=k+-1|0;if((N|0)>=(k|0))break;z=c+(A<<3)|0;w=f[z+4>>2]|0;s=d+(A<<3)|0;f[s>>2]=f[z>>2];f[s+4>>2]=w;break}}while(0);c=a+4|0;k=f[c>>2]|0;N=f[k>>2]|0;r=N&1;if(!r){if((N|0)<4){O=1;P=o}else{i=f[j>>2]|0;M=(i|0)>0;K=1;y=o;x=4;while(1){v=(y|0)/4|0;if(M){w=K<<1;s=(K|0)>1;z=0;do{A=d+(z<<3)|0;C=A+(w<<3)|0;L=+n[C>>2];G=C+4|0;Q=+n[G>>2];H=C+(K<<3)|0;R=+n[H>>2];B=H+4|0;S=+n[B>>2];T=L+R;U=Q+S;V=Q-S;S=R-L;L=+n[A>>2];I=d+(z<<3)+4|0;R=+n[I>>2];t=A+(K<<3)|0;Q=+n[t>>2];D=t+4|0;W=+n[D>>2];Y=L+Q;Z=R+W;_=L-Q;Q=R-W;n[A>>2]=T+Y;n[I>>2]=U+Z;n[C>>2]=Y-T;n[G>>2]=Z-U;n[t>>2]=V+_;n[D>>2]=S+Q;n[H>>2]=_-V;n[B>>2]=Q-S;if(s){B=v;H=1;while(1){D=A+(H<<3)|0;t=D+(w<<3)|0;G=D+(K<<3)|0;S=+n[G>>2];C=B<<1;Q=+n[h+(C<<3)>>2];I=G+4|0;V=+n[I>>2];_=+n[h+(C<<3)+4>>2];U=S*Q-V*_;Z=Q*V+S*_;_=+n[t>>2];S=+n[h+(B<<3)+4>>2];C=t+4|0;V=+n[C>>2];Q=+n[h+(B<<3)>>2];T=_*S+V*Q;Y=_*Q-S*V;E=t+(K<<3)|0;V=+n[E>>2];J=B*3|0;S=+n[h+(J<<3)+4>>2];F=E+4|0;Q=+n[F>>2];_=+n[h+(J<<3)>>2];W=V*S+Q*_;R=V*_-S*Q;Q=Y+R;S=T+W;_=T-W;W=R-Y;Y=+n[D>>2];J=D+4|0;R=+n[J>>2];T=U+Y;V=Z+R;L=Y-U;U=R-Z;n[D>>2]=T+Q;n[J>>2]=V+S;n[t>>2]=T-Q;n[C>>2]=V-S;n[G>>2]=L+_;n[I>>2]=U+W;n[E>>2]=L-_;n[F>>2]=U-W;H=H+1|0;if((H|0)==(K|0))break;else B=B+v|0}}z=z+x|0}while((z|0)<(i|0))}z=x<<2;if((z|0)>(N|0)){O=x;P=v;break}else{w=x;y=v;x=z;K=w}}}if((O|0)<(N|0)){K=f[j>>2]|0;x=(K|0)>0;y=O;i=P;while(1){M=y<<1;w=(i|0)/2|0;b:do if(x){if((y|0)>1)$=0;else{z=0;while(1){s=d+(z<<3)|0;W=+n[s>>2];B=s+(y<<3)|0;U=+n[B>>2];H=d+(z<<3)+4|0;_=+n[H>>2];A=B+4|0;L=+n[A>>2];n[s>>2]=W+U;n[H>>2]=_+L;n[B>>2]=W-U;n[A>>2]=_-L;z=z+M|0;if((z|0)>=(K|0))break b}}do{z=d+($<<3)|0;L=+n[z>>2];A=z+(y<<3)|0;_=+n[A>>2];B=d+($<<3)+4|0;U=+n[B>>2];H=A+4|0;W=+n[H>>2];n[z>>2]=L+_;n[B>>2]=U+W;n[A>>2]=L-_;n[H>>2]=U-W;H=w;A=1;while(1){B=z+(A<<3)|0;s=B+(y<<3)|0;W=+n[s>>2];U=+n[h+(H<<3)>>2];F=s+4|0;_=+n[F>>2];L=+n[h+(H<<3)+4>>2];S=W*U-_*L;V=U*_+W*L;L=+n[B>>2];E=B+4|0;W=+n[E>>2];n[B>>2]=L+S;n[E>>2]=W+V;n[s>>2]=L-S;n[F>>2]=W-V;A=A+1|0;if((A|0)==(y|0))break;else H=H+w|0}$=$+M|0}while(($|0)<(K|0))}while(0);if((M|0)<(N|0)){y=M;i=w}else{aa=M;ba=w;break}}}else{aa=O;ba=P}}else{aa=1;ba=o}o=r^1;c:do if((o|0)<(f[a>>2]|0)){r=g+8|0;P=g+4|0;O=o;i=aa;y=ba;N=k;while(1){K=f[N+(O<<2)>>2]|0;$=X(K,i)|0;x=(y|0)/(K|0)|0;d:do switch(K|0){case 3:{v=f[j>>2]|0;if((v|0)>0){H=i<<1;if((i|0)>1)ca=0;else{A=0;while(1){z=d+(A<<3)|0;F=z+(i<<3)|0;V=+n[F>>2];s=z+(H<<3)|0;W=+n[s>>2];S=V+W;E=F+4|0;L=+n[E>>2];B=s+4|0;_=+n[B>>2];U=L+_;Q=+n[z>>2];I=d+(A<<3)+4|0;T=+n[I>>2];Z=(L-_)*.8660253882408142;_=(W-V)*.8660253882408142;n[z>>2]=S+Q;n[I>>2]=U+T;V=Q-S*.5;S=T-U*.5;n[F>>2]=V+Z;n[E>>2]=_+S;n[s>>2]=V-Z;n[B>>2]=S-_;A=A+$|0;if((A|0)>=(v|0))break d}}do{A=d+(ca<<3)|0;B=A+(i<<3)|0;_=+n[B>>2];s=A+(H<<3)|0;S=+n[s>>2];Z=_+S;E=B+4|0;V=+n[E>>2];F=s+4|0;U=+n[F>>2];T=V+U;Q=+n[A>>2];I=d+(ca<<3)+4|0;W=+n[I>>2];L=(V-U)*.8660253882408142;U=(S-_)*.8660253882408142;n[A>>2]=Z+Q;n[I>>2]=T+W;_=Q-Z*.5;Z=W-T*.5;n[B>>2]=_+L;n[E>>2]=U+Z;n[s>>2]=_-L;n[F>>2]=Z-U;F=x;s=1;while(1){E=A+(s<<3)|0;B=E+(i<<3)|0;U=+n[B>>2];Z=+n[h+(F<<3)>>2];I=B+4|0;L=+n[I>>2];_=+n[h+(F<<3)+4>>2];T=U*Z-L*_;W=Z*L+U*_;z=E+(H<<3)|0;_=+n[z>>2];G=F<<1;U=+n[h+(G<<3)>>2];C=z+4|0;L=+n[C>>2];Z=+n[h+(G<<3)+4>>2];Q=_*U-L*Z;S=U*L+_*Z;Z=T+Q;_=W+S;L=(W-S)*.8660253882408142;S=(Q-T)*.8660253882408142;T=+n[E>>2];G=E+4|0;Q=+n[G>>2];n[E>>2]=T+Z;n[G>>2]=Q+_;W=T-Z*.5;Z=Q-_*.5;n[B>>2]=L+W;n[I>>2]=S+Z;n[z>>2]=W-L;n[C>>2]=Z-S;s=s+1|0;if((s|0)==(i|0))break;else F=F+x|0}ca=ca+$|0}while((ca|0)<(v|0))}break}case 5:{v=f[j>>2]|0;if((v|0)>0){H=(i|0)>0;F=i<<1;s=0;do{if(H){A=d+(s<<3)|0;C=0;z=0;while(1){I=A+(z<<3)|0;B=I+(F<<3)|0;G=B+(F<<3)|0;E=I+(i<<3)|0;S=+n[E>>2];Z=+n[h+(C<<3)>>2];t=E+4|0;L=+n[t>>2];W=+n[h+(C<<3)+4>>2];_=S*Z-L*W;Q=Z*L+S*W;W=+n[G>>2];J=C<<2;S=+n[h+(J<<3)>>2];D=G+4|0;L=+n[D>>2];Z=+n[h+(J<<3)+4>>2];T=W*S-L*Z;U=S*L+W*Z;Z=_+T;W=Q+U;L=_-T;T=Q-U;J=B+(i<<3)|0;U=+n[J>>2];da=C*3|0;Q=+n[h+(da<<3)>>2];ea=J+4|0;_=+n[ea>>2];S=+n[h+(da<<3)+4>>2];V=U*Q-_*S;R=Q*_+U*S;S=+n[B>>2];da=C<<1;U=+n[h+(da<<3)>>2];fa=B+4|0;_=+n[fa>>2];Q=+n[h+(da<<3)+4>>2];Y=S*U-_*Q;ga=U*_+S*Q;Q=V+Y;S=R+ga;_=V-Y;Y=R-ga;ga=+n[I>>2];da=I+4|0;R=+n[da>>2];V=Z+Q;U=W+S;n[I>>2]=ga+V;n[da>>2]=R+U;ha=ga-V*.25;V=R-U*.25;U=(Z-Q)*.55901700258255;Q=(W-S)*.55901700258255;S=(T+Y)*.9510565400123596;W=(L+_)*-.9510565400123596;Z=S-T*.3632712662220001;T=L*.3632712662220001+W;L=S-Y*1.538841724395752;Y=_*1.538841724395752+W;W=U+ha;_=Q+V;S=ha-U;U=V-Q;n[E>>2]=L+W;n[t>>2]=Y+_;n[G>>2]=W-L;n[D>>2]=_-Y;n[B>>2]=Z+S;n[fa>>2]=T+U;n[J>>2]=S-Z;n[ea>>2]=U-T;z=z+1|0;if((z|0)==(i|0))break;else C=C+x|0}}s=s+$|0}while((s|0)<(v|0))}break}default:{v=(K+-1|0)/2|0;s=(f[m>>2]|0)/(K|0)|0;F=v<<1;FVa(r|0,0,1088)|0;f[g>>2]=r;f[P>>2]=F;if(F>>>0>136){H=FQa(F>>>0>536870911?-1:F<<3)|0;FVa(H|0,0,v<<4|0)|0;f[g>>2]=H;ia=H}else ia=r;H=ia+(v<<3)|0;F=f[j>>2]|0;if((F|0)>0){C=(i|0)>0;z=(K|0)<3;A=0;ea=F;while(1){if(C){F=d+(A<<3)|0;J=0;fa=0;while(1){B=F+(J<<3)|0;T=+n[B>>2];D=B+4|0;U=+n[D>>2];if(!J){if(!z){G=i;t=1;Z=T;S=U;while(1){E=B+(G<<3)|0;Y=+n[E>>2];da=B+($-G<<3)|0;_=+n[da>>2];L=Y+_;W=+n[E+4>>2];Q=+n[da+4>>2];V=W+Q;ha=Z+L;R=S+V;da=t+-1|0;n[ia+(da<<3)>>2]=L;n[ia+(da<<3)+4>>2]=W-Q;E=H+(da<<3)|0;n[E>>2]=Y-_;n[E+4>>2]=V;if((t|0)<(v|0)){G=G+i|0;t=t+1|0;Z=ha;S=R}else{ja=ha;ka=R;la=82;break}}}}else{t=h+((X(fa,K)|0)<<3)|0;if(!z){G=fa;E=i;da=1;S=T;Z=U;while(1){I=B+(E<<3)|0;R=+n[I>>2];ha=+n[h+(G<<3)>>2];V=+n[I+4>>2];_=+n[h+(G<<3)+4>>2];Y=R*ha-V*_;Q=ha*V+R*_;I=B+($-E<<3)|0;_=+n[I>>2];ma=t+(0-G<<3)|0;R=+n[ma>>2];V=+n[I+4>>2];ha=+n[ma+4>>2];W=_*R-V*ha;L=R*V+_*ha;ha=Y+W;_=Q+L;V=S+ha;R=Z+_;ma=da+-1|0;n[ia+(ma<<3)>>2]=ha;n[ia+(ma<<3)+4>>2]=Q-L;I=H+(ma<<3)|0;n[I>>2]=Y-W;n[I+4>>2]=_;if((da|0)<(v|0)){G=G+fa|0;E=E+i|0;da=da+1|0;S=V;Z=R}else{ja=V;ka=R;la=82;break}}}}if((la|0)==82?(la=0,n[B>>2]=ja,n[D>>2]=ka,!z):0){da=i;E=1;while(1){G=X(E,s)|0;t=f[m>>2]|0;I=0;ma=G;Z=T;S=T;R=U;V=U;while(1){_=+n[h+(ma<<3)>>2];W=_*+n[ia+(I<<3)>>2];Y=+n[h+(ma<<3)+4>>2];L=Y*+n[ia+(I<<3)+4>>2];na=H+(I<<3)|0;Q=_*+n[na+4>>2];_=Y*+n[na>>2];Z=Z+(W+L);S=S+(W-L);R=R+(Q-_);V=V+(Q+_);na=ma+G|0;I=I+1|0;if((I|0)>=(v|0))break;else ma=na-((na|0)>=(t|0)?t:0)|0}t=B+(da<<3)|0;n[t>>2]=S;n[t+4>>2]=V;t=B+($-da<<3)|0;n[t>>2]=Z;n[t+4>>2]=R;if((E|0)<(v|0)){da=da+i|0;E=E+1|0}else break}}J=J+1|0;if((J|0)==(i|0))break;else fa=fa+x|0}oa=f[j>>2]|0}else oa=ea;A=A+$|0;if((A|0)>=(oa|0))break;else ea=oa}}if((ia|0)!=(r|0)){HQa(ia);f[g>>2]=r;f[P>>2]=136}}}while(0);K=O+1|0;if((K|0)>=(f[a>>2]|0))break c;O=K;i=$;y=x;N=f[c>>2]|0}}while(0);if(q!=1.0){ka=l?-q:q;c=f[j>>2]|0;if((c|0)>0)pa=0;else{u=e;return}do{a=d+(pa<<3)|0;g=d+(pa<<3)+4|0;ja=ka*+n[g>>2];n[a>>2]=+n[a>>2]*q;n[g>>2]=ja;pa=pa+1|0}while((pa|0)<(c|0));u=e;return}if(!l){u=e;return}l=f[j>>2]|0;if((l|0)<2)qa=0;else{j=l+-2|0;c=((j|0)>1?j:1)&2147483646;pa=0;do{g=d+(pa<<3)+4|0;a=d+((pa|1)<<3)+4|0;q=-+n[a>>2];n[g>>2]=-+n[g>>2];n[a>>2]=q;pa=pa+2|0}while((pa|0)<=(j|0));qa=c+2|0}c=d+(l+-1<<3)+4|0;if((qa|0)>=(l|0)){u=e;return}n[c>>2]=-+n[c>>2];u=e;return}function lR(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0.0,l=0,m=0,o=0.0,q=0.0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0,D=0,E=0.0,F=0.0,G=0,H=0,I=0.0,J=0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0;e=u;u=u+48|0;g=e;h=f[a+28>>2]|0;i=b[a+34>>0]|0;j=i<<24>>24!=0;k=+p[a+8>>3];l=d+((i&255)<<2)|0;i=(h|0)==1;do if(i){n[l>>2]=+n[c>>2]*k;m=l}else{if((h|0)==2){o=+n[c>>2];q=+n[c+4>>2];n[l+4>>2]=(o-q)*k;n[l>>2]=(o+q)*k;m=l;break}if(h&1|0){n[d>>2]=+n[c>>2]*k;r=d+4|0;n[r>>2]=0.0;if((h|0)>1){s=f[a+16>>2]|0;t=1;do{v=t+1|0;q=+n[c+(f[s+(v<<2)>>2]<<2)>>2]*k;n[d+(t<<3)>>2]=+n[c+(f[s+(t<<2)>>2]<<2)>>2]*k;n[d+(t<<3)+4>>2]=0.0;n[d+(v<<3)>>2]=q;n[d+(v<<3)+4>>2]=0.0;t=t+2|0}while((t|0)<(h|0))}w=g;x=a;y=w+48|0;do{f[w>>2]=f[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));b[g+34>>0]=0;b[g+32>>0]=0;b[g+33>>0]=1;p[g+8>>3]=1.0;kR(g,d,d);if(!j)f[r>>2]=f[d>>2];m=d;break}q=k*.5;t=h>>1;s=a+4|0;v=f[s>>2]|0;z=f[v>>2]>>1;f[v>>2]=z;w=g;x=a;y=w+48|0;do{f[w>>2]=f[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));r=(z|0)==1&1;v=g+4|0;f[v>>2]=(f[v>>2]|0)+(r<<2);f[g>>2]=(f[g>>2]|0)-r;b[g+34>>0]=0;b[g+32>>0]=0;b[g+33>>0]=0;p[g+8>>3]=1.0;f[g+28>>2]=t;kR(g,c,l);r=f[s>>2]|0;f[r>>2]=f[r>>2]<<1;o=+n[l>>2];r=l+4|0;A=+n[r>>2];n[l>>2]=(o+A)*k;B=(o-A)*k;n[r>>2]=B;r=l+(t<<2)|0;A=+n[r>>2];v=l+(h+-1<<2)|0;o=+n[v>>2];n[v>>2]=B;if((t|0)>2){B=o;v=f[a+20>>2]|0;C=2;do{D=v;v=v+8|0;E=+n[l+((C|1)<<2)>>2];F=q*(B+E);G=h-C|0;H=l+(G<<2)|0;I=+n[H>>2];J=l+(C<<2)|0;K=+n[J>>2];L=q*(I-K);M=q*(I+K);K=q*(E-B);E=+n[v>>2];I=+n[D+12>>2];N=F*E-L*I;O=F*I+E*L;D=l+(G+-1<<2)|0;B=+n[D>>2];n[l+(C+-1<<2)>>2]=M+N;n[D>>2]=M-N;n[J>>2]=K+O;n[H>>2]=O-K;C=C+2|0}while((C|0)<(t|0));P=B;Q=t+1&-2}else{P=o;Q=2}if((Q|0)<=(t|0)){n[l+(t+-1<<2)>>2]=A*k;n[r>>2]=-(P*k)}m=l}while(0);if(!j){u=e;return}if(!(i|(h&1|0)==0)){u=e;return}f[m+-4>>2]=f[m>>2];n[m>>2]=0.0;if((h|0)<=1){u=e;return}n[m+(h<<2)>>2]=0.0;u=e;return}function mR(a,b,c){a=a|0;b=b|0;c=c|0;Rg[f[a+44>>2]&255](a+8|0,b,c);return}function nR(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=33328;b=a+1232|0;c=f[b>>2]|0;d=a+1240|0;if((c|0)!=(d|0)){if(c|0)HQa(c);f[b>>2]=d;f[a+1236>>2]=264}d=a+192|0;b=f[d>>2]|0;c=a+200|0;if((b|0)==(c|0))return;if(b|0)HQa(b);f[d>>2]=c;f[a+196>>2]=1032;return}function oR(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=33328;b=a+1232|0;c=f[b>>2]|0;d=a+1240|0;if((c|0)!=(d|0)){if(c|0)HQa(c);f[b>>2]=d;f[a+1236>>2]=264}d=f[a+192>>2]|0;if((d|0)==(a+200|0)|(d|0)==0){GQa(a);return}HQa(d);GQa(a);return}function pR(a,b,c){a=a|0;b=b|0;c=c|0;return}function qR(a){a=a|0;GQa(a);return}function rR(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;k=u;u=u+16|0;l=k;m=EQa(12)|0;f[m>>2]=33392;f[m+4>>2]=0;b[m+8>>0]=0;sR(m);GQa(m);if((c|0)==1&(j|0)>0){f[l>>2]=0;f[l+4>>2]=0;DVa(JV(l,190)|0,169310,190)|0;EP(-213,l,169501,168939,3303);KV(l)}l=EQa(4244)|0;f[l>>2]=33412;m=l+4|0;f[l+60>>2]=0;f[l+64>>2]=0;f[l+68>>2]=0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[l+84>>2]=l+92;f[l+88>>2]=1032;f[l+1124>>2]=l+1132;f[l+1128>>2]=1032;f[l+2164>>2]=l+2172;f[l+2168>>2]=1032;f[l+3204>>2]=l+3212;f[l+3208>>2]=1032;b[l+20>>0]=0;b[l+21>>0]=0;b[l+22>>0]=0;m=l+24|0;f[l+52>>2]=0;b[l+56>>0]=0;b[l+57>>0]=0;b[l+72>>0]=0;f[l+76>>2]=0;f[l+80>>2]=0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;b[m+24>>0]=0;tR(l,c,d,e,g,h,i,j);j=EQa(16)|0;f[j+4>>2]=1;f[j>>2]=33432;f[j+8>>2]=l;f[a>>2]=j;f[a+4>>2]=l;u=k;return}function sR(a){a=a|0;f[a>>2]=33392;return}function tR(a,c,d,e,g,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0;l=u;u=u+16|0;m=l;n=(g|0)!=(i|0);f[a+52>>2]=k;k=a+24|0;f[k>>2]=c;o=a+28|0;f[o>>2]=d;p=a+44|0;f[p>>2]=e;f[a+76>>2]=g;f[a+80>>2]=i;q=j&1;r=q&255;s=(g|0)==1;t=(i|0)==1;v=s&t;if(!q)if(!v){q=(i|0)==2;if(!(s&q))if((g|0)==2&q)w=3;else x=8;else w=2}else w=1;else if(!v){v=(g|0)==2;if(!(v&t))if(v&(i|0)==2)w=6;else x=8;else w=5}else w=4;if((x|0)==8)w=0;i=a+32|0;f[i>>2]=w;v=a+22|0;b[v>>0]=r;r=a+56|0;t=j>>>2&1;b[r>>0]=t;g=a+57|0;b[g>>0]=j>>>1&1;q=a+20|0;b[q>>0]=0;s=a+21|0;b[s>>0]=0;y=a+48|0;b[y>>0]=(w|0)!=3&(w|0)!=6&1;z=(e|0)==5?4:8;e=a+36|0;f[e>>2]=z;A=z<<1;z=a+40|0;f[z>>2]=A;switch(w&7){case 3:case 6:{f[e>>2]=A;break}default:{}}do if(!(t<<24>>24)){A=(d|0)>1;if(A&(c|0)==1){B=2-(j>>>9&1)|0;x=15;break}if((d|0)!=1){e=a+60|0;if(A&(c|0)>1){A=a+64|0;C=f[A>>2]|0;D=f[e>>2]|0;E=C-D>>2;F=D;G=C;if(E>>>0>=2)if((E|0)!=2?(C=F+8|0,(C|0)!=(G|0)):0){f[A>>2]=G+(~((G+-4-C|0)>>>2)<<2);H=D;I=w;J=F}else{H=D;I=w;J=F}else{eK(e,2-E|0);E=f[e>>2]|0;H=E;I=f[i>>2]|0;J=E}E=(I&-2|0)==4;f[J>>2]=E&1;f[J+4>>2]=(E^1)&1;K=H;L=e}else{M=e;N=0;x=23}}else{B=1;x=15}}else{B=1;x=15}while(0);if((x|0)==15){M=a+60|0;N=B;x=23}if((x|0)==23){x=a+64|0;B=f[x>>2]|0;H=f[M>>2]|0;J=B;I=H;switch(B-H>>2|0){case 0:{eK(M,1);B=f[a+60>>2]|0;O=B;P=B;break}case 1:{O=H;P=I;break}default:{B=I+4|0;if((B|0)==(J|0)){O=H;P=I}else{f[x>>2]=J+(~((J+-4-B|0)>>>2)<<2);O=H;P=I}}}f[P>>2]=(N|0)==2&1;K=O;L=M}M=L+4|0;O=(f[M>>2]|0)-K>>2;if(!O){u=l;return}K=a+4|0;N=m+4|0;P=a+8|0;I=a+88|0;H=a+84|0;B=a+92|0;J=a+12|0;x=m+4|0;i=a+16|0;w=a+2168|0;c=a+2164|0;d=a+2172|0;t=a+3208|0;e=a+3204|0;E=a+3212|0;F=a+1128|0;D=a+1124|0;C=a+1132|0;a=n;n=(j&1024|0)!=0;j=0;G=f[L>>2]|0;A=O;do{O=(j|0)==1;n=O|n;a=a&(O^1);O=j;j=j+1|0;Q=h[v>>0]|0;R=(b[g>>0]|0)==0?Q:Q|2;Q=(b[r>>0]|0)==0;S=Q?R:R|4;R=a?S|16:S;S=(b[y>>0]|0)==0?R:R|32;R=(j|0)==(A|0)?S:S|64;do if(!(f[G+(O<<2)>>2]|0)){if((f[k>>2]|0)!=1|Q^1){T=f[o>>2]|0;U=k}else{T=1;U=o}S=f[U>>2]|0;b[q>>0]=n&1;VQ(m,S,T,f[p>>2]|0,R,q);V=f[m>>2]|0;W=f[N>>2]|0;if(V|0){Y=V+4|0;f[Y>>2]=(f[Y>>2]|0)+1}Y=f[K>>2]|0;f[K>>2]=V;f[P>>2]=W;if(Y|0?(W=Y+4|0,V=f[W>>2]|0,f[W>>2]=V+-1,(V|0)==1):0)qg[f[(f[Y>>2]|0)+8>>2]&1023](Y);Y=f[m>>2]|0;if(Y|0?(V=Y+4|0,W=f[V>>2]|0,f[V>>2]=W+-1,(W|0)==1):0)qg[f[(f[Y>>2]|0)+8>>2]&1023](Y);if(b[q>>0]|0){Y=X(f[z>>2]|0,S)|0;if((f[I>>2]|0)>>>0>=Y>>>0){f[I>>2]=Y;break}S=f[H>>2]|0;if((S|0)!=(B|0)){if(S|0)HQa(S);f[H>>2]=B;f[I>>2]=1032}f[I>>2]=Y;if(Y>>>0>1032){S=FQa(Y)|0;f[H>>2]=S}}}else{S=f[o>>2]|0;Y=f[k>>2]|0;b[s>>0]=n&1;VQ(m,S,Y,f[p>>2]|0,R|128,s);Y=f[m>>2]|0;W=f[x>>2]|0;if(Y|0){V=Y+4|0;f[V>>2]=(f[V>>2]|0)+1}V=f[J>>2]|0;f[J>>2]=Y;f[i>>2]=W;if(V|0?(W=V+4|0,Y=f[W>>2]|0,f[W>>2]=Y+-1,(Y|0)==1):0)qg[f[(f[V>>2]|0)+8>>2]&1023](V);V=f[m>>2]|0;if(V|0?(Y=V+4|0,W=f[Y>>2]|0,f[Y>>2]=W+-1,(W|0)==1):0)qg[f[(f[V>>2]|0)+8>>2]&1023](V);do if(b[s>>0]|0){V=X(f[z>>2]|0,S)|0;if((f[F>>2]|0)>>>0>=V>>>0){f[F>>2]=V;break}W=f[D>>2]|0;if((W|0)!=(C|0)){if(W|0)HQa(W);f[D>>2]=C;f[F>>2]=1032}f[F>>2]=V;if(V>>>0>1032){W=FQa(V)|0;f[D>>2]=W}}while(0);W=X(f[z>>2]|0,S)|0;if((f[w>>2]|0)>>>0>>0){V=f[c>>2]|0;if((V|0)!=(d|0)){if(V|0)HQa(V);f[c>>2]=d;f[w>>2]=1032}f[w>>2]=W;if(W>>>0>1032){V=FQa(W)|0;f[c>>2]=V}}else f[w>>2]=W;W=X(f[z>>2]|0,S)|0;if((f[t>>2]|0)>>>0>=W>>>0){f[t>>2]=W;break}V=f[e>>2]|0;if((V|0)!=(E|0)){if(V|0)HQa(V);f[e>>2]=E;f[t>>2]=1032}f[t>>2]=W;if(W>>>0>1032){V=FQa(W)|0;f[e>>2]=V}}while(0);G=f[L>>2]|0;A=(f[M>>2]|0)-G>>2}while(j>>>0>>0);u=l;return}function uR(a){a=a|0;GQa(a);return}function vR(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+8>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function wR(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=a+60|0;h=a+64|0;i=f[g>>2]|0;j=(f[h>>2]|0)-i>>2;if(!j)return;k=a+76|0;l=a+80|0;m=c;c=0;n=b;b=i;i=j;do{j=f[l>>2]|0;o=(c|0)==1;p=o?j:f[k>>2]|0;m=o?e:m;n=o?d:n;o=c;c=c+1|0;q=(c|0)==(i|0);if(!(f[b+(o<<2)>>2]|0))zR(a,n,m,d,e,(p|0)!=(j|0),q);else AR(a,n,m,d,e,p,j,q);b=f[g>>2]|0;i=(f[h>>2]|0)-b>>2}while(c>>>0>>0);return}function xR(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=33412;b=a+3204|0;c=f[b>>2]|0;d=a+3212|0;if((c|0)!=(d|0)){if(c|0)HQa(c);f[b>>2]=d;f[a+3208>>2]=1032}d=a+2164|0;b=f[d>>2]|0;c=a+2172|0;if((b|0)!=(c|0)){if(b|0)HQa(b);f[d>>2]=c;f[a+2168>>2]=1032}c=a+1124|0;d=f[c>>2]|0;b=a+1132|0;if((d|0)!=(b|0)){if(d|0)HQa(d);f[c>>2]=b;f[a+1128>>2]=1032}b=a+84|0;c=f[b>>2]|0;d=a+92|0;if((c|0)!=(d|0)){if(c|0)HQa(c);f[b>>2]=d;f[a+88>>2]=1032}d=f[a+60>>2]|0;if(d|0){b=a+64|0;c=f[b>>2]|0;if((c|0)!=(d|0))f[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);GQa(d)}d=a+12|0;c=f[d>>2]|0;if(c|0?(b=c+4|0,e=f[b>>2]|0,f[b>>2]=e+-1,(e|0)==1):0)qg[f[(f[c>>2]|0)+8>>2]&1023](c);f[d>>2]=0;f[a+16>>2]=0;d=a+4|0;c=f[d>>2]|0;if(!c){f[d>>2]=0;g=a+8|0;f[g>>2]=0;return}e=c+4|0;b=f[e>>2]|0;f[e>>2]=b+-1;if((b|0)!=1){f[d>>2]=0;g=a+8|0;f[g>>2]=0;return}qg[f[(f[c>>2]|0)+8>>2]&1023](c);f[d>>2]=0;g=a+8|0;f[g>>2]=0;return}function yR(a){a=a|0;xR(a);GQa(a);return}function zR(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;j=f[a+24>>2]|0;if((j|0)==1?(b[a+56>>0]|0)==0:0){k=f[a+28>>2]|0;l=1}else{k=j;l=f[a+28>>2]|0}j=a+36|0;m=f[j>>2]|0;o=X(m,k)|0;q=a+20|0;r=b[q>>0]|0;if(!(r<<24>>24))s=0;else s=(k|0)>1&(k&1|0)!=0&(f[a+32>>2]|0)==1?m:0;if((b[a+22>>0]|0)!=0|h^1)t=o;else t=(f[(k&1|0?j:a+40|0)>>2]|0)+o|0;o=f[a+52>>2]|0;j=(o|0)<1|(o|0)>(l|0)?l:o;o=(j|0)>0;a:do if(o){h=a+8|0;m=a+84|0;u=0;v=r;while(1){w=c+(X(u,d)|0)|0;x=e+(X(u,g)|0)|0;if(!(v<<24>>24))y=x;else y=f[m>>2]|0;z=f[h>>2]|0;Rg[f[f[z>>2]>>2]&255](z,w,y);if(b[q>>0]|0)DVa(x|0,y+s|0,t|0)|0;x=u+1|0;if((x|0)==(j|0)){A=j;break a}u=x;v=b[q>>0]|0}}else A=0;while(0);if((A|0)<(l|0)){q=A;do{FVa(e+(X(q,g)|0)|0,0,t|0)|0;q=q+1|0}while((q|0)!=(l|0))}if(!i)return;if((f[a+32>>2]|0)!=2)return;if((f[a+44>>2]|0)==5){a=g>>>2;if(!o)return;i=(k+1|0)/2|0;if((k|0)>2)B=0;else return;do{l=e+((X(B,a)|0)<<2)|0;q=1;do{t=q<<1;A=k-q<<1;f[l+(A<<2)>>2]=f[l+(t<<2)>>2];n[l+((A|1)<<2)>>2]=-+n[l+((t|1)<<2)>>2];q=q+1|0}while((q|0)<(i|0));B=B+1|0}while((B|0)!=(j|0));return}else{B=g>>>3;if(!o)return;o=(k+1|0)/2|0;if((k|0)>2)C=0;else return;do{g=e+((X(C,B)|0)<<3)|0;i=1;do{a=i<<1;q=k-i<<1;p[g+(q<<3)>>3]=+p[g+(a<<3)>>3];p[g+((q|1)<<3)>>3]=-+p[g+((a|1)<<3)>>3];i=i+1|0}while((i|0)<(o|0));C=C+1|0}while((C|0)!=(j|0));return}}function AR(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0;k=f[a+28>>2]|0;l=f[a+24>>2]|0;m=a+2164|0;o=f[m>>2]|0;q=a+3204|0;r=f[q>>2]|0;if(!(b[a+21>>0]|0)){s=r;t=o}else{s=f[a+1124>>2]|0;t=r}if(!(b[a+48>>0]|0)){u=0;v=l;w=e;x=c}else{y=(l&1|0)==0;z=(l+1|0)/2|0;A=a+22|0;a:do if(!(b[A>>0]|0)){B=a+40|0;FVa(o|0,0,X(f[B>>2]|0,k)|0)|0;C=f[m>>2]|0;D=a+36|0;E=d>>>2;F=(f[B>>2]|0)>>>2;switch(f[D>>2]|0){case 4:{if((k|0)>0){G=c;H=0;I=C;while(1){f[I>>2]=f[G>>2];H=H+1|0;if((H|0)==(k|0))break;else{G=G+(E<<2)|0;I=I+(F<<2)|0}}}break}case 8:{if((k|0)>0){I=c;G=0;H=C;while(1){J=f[I+4>>2]|0;f[H>>2]=f[I>>2];f[H+4>>2]=J;G=G+1|0;if((G|0)==(k|0))break;else{I=I+(E<<2)|0;H=H+(F<<2)|0}}}break}case 16:{if((k|0)>0){H=c;I=0;G=C;while(1){J=f[H+4>>2]|0;f[G>>2]=f[H>>2];f[G+4>>2]=J;J=f[H+12>>2]|0;f[G+8>>2]=f[H+8>>2];f[G+12>>2]=J;I=I+1|0;if((I|0)==(k|0))break;else{H=H+(E<<2)|0;G=G+(F<<2)|0}}}break}default:{}}F=c+(X(f[D>>2]|0,i)|0)|0;if(y){FVa(f[q>>2]|0,0,X(f[B>>2]|0,k)|0)|0;G=f[D>>2]|0;H=F+(X(G,l+-2|0)|0)|0;I=f[q>>2]|0;C=(f[B>>2]|0)>>>2;switch(G|0){case 4:{if((k|0)>0){K=H;L=0;M=I}else{N=F;O=I;P=56;break a}while(1){f[M>>2]=f[K>>2];L=L+1|0;if((L|0)==(k|0)){Q=F;P=54;break}else{K=K+(E<<2)|0;M=M+(C<<2)|0}}break}case 8:{if((k|0)>0){R=H;S=0;T=I}else{N=F;O=I;P=56;break a}while(1){B=f[R+4>>2]|0;f[T>>2]=f[R>>2];f[T+4>>2]=B;S=S+1|0;if((S|0)==(k|0)){Q=F;P=54;break}else{R=R+(E<<2)|0;T=T+(C<<2)|0}}break}case 16:{if((k|0)>0){U=H;V=0;W=I}else{N=F;O=I;P=56;break a}while(1){B=f[U+4>>2]|0;f[W>>2]=f[U>>2];f[W+4>>2]=B;B=f[U+12>>2]|0;f[W+8>>2]=f[U+8>>2];f[W+12>>2]=B;V=V+1|0;if((V|0)==(k|0)){Q=F;P=54;break}else{U=U+(E<<2)|0;W=W+(C<<2)|0}}break}default:{N=F;O=I;P=56;break a}}}else Y=F}else{if((h|0)!=1){C=a+40|0;E=f[C>>2]|0;H=d>>>2;B=E>>>2;switch(E|0){case 4:{if((k|0)>0){E=c;D=0;G=o;while(1){f[G>>2]=f[E>>2];D=D+1|0;if((D|0)==(k|0))break;else{E=E+(H<<2)|0;G=G+(B<<2)|0}}}break}case 8:{if((k|0)>0){G=c;E=0;D=o;while(1){F=f[G+4>>2]|0;f[D>>2]=f[G>>2];f[D+4>>2]=F;E=E+1|0;if((E|0)==(k|0))break;else{G=G+(H<<2)|0;D=D+(B<<2)|0}}}break}case 16:{if((k|0)>0){D=c;G=0;E=o;while(1){F=f[D+4>>2]|0;f[E>>2]=f[D>>2];f[E+4>>2]=F;F=f[D+12>>2]|0;f[E+8>>2]=f[D+8>>2];f[E+12>>2]=F;G=G+1|0;if((G|0)==(k|0))break;else{D=D+(H<<2)|0;E=E+(B<<2)|0}}}break}default:{}}b:do if(y){B=f[C>>2]|0;E=c+(X(B,z)|0)|0;D=B>>>2;switch(B|0){case 4:{if((k|0)>0){Z=E;_=0;$=r}else break b;while(1){f[$>>2]=f[Z>>2];_=_+1|0;if((_|0)==(k|0))break;else{Z=Z+(H<<2)|0;$=$+(D<<2)|0}}break}case 8:{if((k|0)>0){aa=E;ba=0;ca=r}else break b;while(1){B=f[aa+4>>2]|0;f[ca>>2]=f[aa>>2];f[ca+4>>2]=B;ba=ba+1|0;if((ba|0)==(k|0))break;else{aa=aa+(H<<2)|0;ca=ca+(D<<2)|0}}break}case 16:{if((k|0)>0){da=E;ea=0;fa=r}else break b;while(1){B=f[da+4>>2]|0;f[fa>>2]=f[da>>2];f[fa+4>>2]=B;B=f[da+12>>2]|0;f[fa+8>>2]=f[da+8>>2];f[fa+12>>2]=B;ea=ea+1|0;if((ea|0)==(k|0))break;else{da=da+(H<<2)|0;fa=fa+(D<<2)|0}}break}default:break b}}while(0);Q=c+(f[C>>2]|0)|0;P=54;break}H=a+36|0;D=f[H>>2]|0;E=d>>>2;B=D>>>2;switch(D|0){case 4:{if((k|0)>0){D=c;G=0;F=o;while(1){f[F>>2]=f[D>>2];G=G+1|0;if((G|0)==(k|0))break;else{D=D+(E<<2)|0;F=F+(B<<2)|0}}}break}case 8:{if((k|0)>0){F=c;D=0;G=o;while(1){C=f[F+4>>2]|0;f[G>>2]=f[F>>2];f[G+4>>2]=C;D=D+1|0;if((D|0)==(k|0))break;else{F=F+(E<<2)|0;G=G+(B<<2)|0}}}break}case 16:{if((k|0)>0){G=c;F=0;D=o;while(1){C=f[G+4>>2]|0;f[D>>2]=f[G>>2];f[D+4>>2]=C;C=f[G+12>>2]|0;f[D+8>>2]=f[G+8>>2];f[D+12>>2]=C;F=F+1|0;if((F|0)==(k|0))break;else{G=G+(E<<2)|0;D=D+(B<<2)|0}}}break}default:{}}BR(o,k,f[H>>2]|0);if(y){B=f[H>>2]|0;D=c+(X(B,l+-1|0)|0)|0;G=f[q>>2]|0;F=B>>>2;switch(B|0){case 4:{if((k|0)>0){B=D;C=0;I=G;while(1){f[I>>2]=f[B>>2];C=C+1|0;if((C|0)==(k|0))break;else{B=B+(E<<2)|0;I=I+(F<<2)|0}}}break}case 8:{if((k|0)>0){I=D;B=0;C=G;while(1){J=f[I+4>>2]|0;f[C>>2]=f[I>>2];f[C+4>>2]=J;B=B+1|0;if((B|0)==(k|0))break;else{I=I+(E<<2)|0;C=C+(F<<2)|0}}}break}case 16:{if((k|0)>0){C=D;I=0;B=G;while(1){J=f[C+4>>2]|0;f[B>>2]=f[C>>2];f[B+4>>2]=J;J=f[C+12>>2]|0;f[B+8>>2]=f[C+8>>2];f[B+12>>2]=J;I=I+1|0;if((I|0)==(k|0))break;else{C=C+(E<<2)|0;B=B+(F<<2)|0}}}break}default:{}}BR(G,k,f[H>>2]|0)}Q=c+(f[H>>2]|0)|0;P=54}while(0);if((P|0)==54)if(y){N=Q;O=f[q>>2]|0;P=56}else Y=Q;if((P|0)==56){P=f[a+16>>2]|0;Rg[f[f[P>>2]>>2]&255](P,O,s);Y=N}N=f[a+16>>2]|0;Rg[f[f[N>>2]>>2]&255](N,f[m>>2]|0,t);c:do if((i|0)==1)if(!(b[A>>0]|0)){N=a+36|0;O=f[N>>2]|0;DVa(t+O|0,t|0,O|0)|0;O=f[N>>2]|0;P=t+O|0;Q=O>>>2;c=g>>>2;switch(O|0){case 4:{if((k|0)>0){O=P;o=0;fa=e;while(1){f[fa>>2]=f[O>>2];o=o+1|0;if((o|0)==(k|0))break;else{O=O+(Q<<2)|0;fa=fa+(c<<2)|0}}}break}case 8:{if((k|0)>0){fa=P;O=0;o=e;while(1){H=f[fa+4>>2]|0;f[o>>2]=f[fa>>2];f[o+4>>2]=H;O=O+1|0;if((O|0)==(k|0))break;else{fa=fa+(Q<<2)|0;o=o+(c<<2)|0}}}break}case 16:{if((k|0)>0){o=P;fa=0;O=e;while(1){H=f[o+4>>2]|0;f[O>>2]=f[o>>2];f[O+4>>2]=H;H=f[o+12>>2]|0;f[O+8>>2]=f[o+8>>2];f[O+12>>2]=H;fa=fa+1|0;if((fa|0)==(k|0))break;else{o=o+(Q<<2)|0;O=O+(c<<2)|0}}}break}default:{}}if(!y){ga=N;break}O=f[N>>2]|0;DVa(s+O|0,s|0,O|0)|0;O=f[N>>2]|0;Q=s+O|0;o=e+(X(O,l+-1|0)|0)|0;fa=O>>>2;switch(O|0){case 4:{if((k|0)>0){ha=Q;ia=0;ja=o}else{ga=N;break c}while(1){f[ja>>2]=f[ha>>2];ia=ia+1|0;if((ia|0)==(k|0)){ga=N;break}else{ha=ha+(fa<<2)|0;ja=ja+(c<<2)|0}}break}case 8:{if((k|0)>0){ka=Q;la=0;ma=o}else{ga=N;break c}while(1){O=f[ka+4>>2]|0;f[ma>>2]=f[ka>>2];f[ma+4>>2]=O;la=la+1|0;if((la|0)==(k|0)){ga=N;break}else{ka=ka+(fa<<2)|0;ma=ma+(c<<2)|0}}break}case 16:{if((k|0)>0){na=Q;oa=0;pa=o}else{ga=N;break c}while(1){O=f[na+4>>2]|0;f[pa>>2]=f[na>>2];f[pa+4>>2]=O;O=f[na+12>>2]|0;f[pa+8>>2]=f[na+8>>2];f[pa+12>>2]=O;oa=oa+1|0;if((oa|0)==(k|0)){ga=N;break}else{na=na+(fa<<2)|0;pa=pa+(c<<2)|0}}break}default:{ga=N;break c}}}else{c=a+40|0;fa=a+36|0;o=(f[c>>2]|0)>>>2;Q=g>>>2;switch(f[fa>>2]|0){case 4:{if((k|0)>0){O=t;P=0;H=e;while(1){f[H>>2]=f[O>>2];P=P+1|0;if((P|0)==(k|0))break;else{O=O+(o<<2)|0;H=H+(Q<<2)|0}}}break}case 8:{if((k|0)>0){H=t;O=0;P=e;while(1){N=f[H+4>>2]|0;f[P>>2]=f[H>>2];f[P+4>>2]=N;O=O+1|0;if((O|0)==(k|0))break;else{H=H+(o<<2)|0;P=P+(Q<<2)|0}}}break}case 16:{if((k|0)>0){P=t;H=0;O=e;while(1){N=f[P+4>>2]|0;f[O>>2]=f[P>>2];f[O+4>>2]=N;N=f[P+12>>2]|0;f[O+8>>2]=f[P+8>>2];f[O+12>>2]=N;H=H+1|0;if((H|0)==(k|0))break;else{P=P+(o<<2)|0;O=O+(Q<<2)|0}}}break}default:{}}if(!y){ga=fa;break}O=f[fa>>2]|0;o=e+(X(O,l+-1|0)|0)|0;P=(f[c>>2]|0)>>>2;switch(O|0){case 4:{if((k|0)>0){qa=s;ra=0;sa=o}else{ga=fa;break c}while(1){f[sa>>2]=f[qa>>2];ra=ra+1|0;if((ra|0)==(k|0)){ga=fa;break}else{qa=qa+(P<<2)|0;sa=sa+(Q<<2)|0}}break}case 8:{if((k|0)>0){ta=s;ua=0;va=o}else{ga=fa;break c}while(1){c=f[ta+4>>2]|0;f[va>>2]=f[ta>>2];f[va+4>>2]=c;ua=ua+1|0;if((ua|0)==(k|0)){ga=fa;break}else{ta=ta+(P<<2)|0;va=va+(Q<<2)|0}}break}case 16:{if((k|0)>0){wa=s;xa=0;ya=o}else{ga=fa;break c}while(1){c=f[wa+4>>2]|0;f[ya>>2]=f[wa>>2];f[ya+4>>2]=c;c=f[wa+12>>2]|0;f[ya+8>>2]=f[wa+8>>2];f[ya+12>>2]=c;xa=xa+1|0;if((xa|0)==(k|0)){ga=fa;break}else{wa=wa+(P<<2)|0;ya=ya+(Q<<2)|0}}break}default:{ga=fa;break c}}}else{Q=a+40|0;P=f[Q>>2]|0;o=P>>>2;c=g>>>2;switch(P|0){case 4:{if((k|0)>0){P=t;O=0;H=e;while(1){f[H>>2]=f[P>>2];O=O+1|0;if((O|0)==(k|0))break;else{P=P+(o<<2)|0;H=H+(c<<2)|0}}}break}case 8:{if((k|0)>0){H=t;P=0;O=e;while(1){fa=f[H+4>>2]|0;f[O>>2]=f[H>>2];f[O+4>>2]=fa;P=P+1|0;if((P|0)==(k|0))break;else{H=H+(o<<2)|0;O=O+(c<<2)|0}}}break}case 16:{if((k|0)>0){O=t;H=0;P=e;while(1){fa=f[O+4>>2]|0;f[P>>2]=f[O>>2];f[P+4>>2]=fa;fa=f[O+12>>2]|0;f[P+8>>2]=f[O+8>>2];f[P+12>>2]=fa;H=H+1|0;if((H|0)==(k|0))break;else{O=O+(o<<2)|0;P=P+(c<<2)|0}}}break}default:{}}if(y){P=f[Q>>2]|0;o=e+(X(P,z)|0)|0;O=P>>>2;switch(P|0){case 4:{if((k|0)>0){za=s;Aa=0;Ba=o}else{ga=Q;break c}while(1){f[Ba>>2]=f[za>>2];Aa=Aa+1|0;if((Aa|0)==(k|0)){ga=Q;break}else{za=za+(O<<2)|0;Ba=Ba+(c<<2)|0}}break}case 8:{if((k|0)>0){Ca=s;Da=0;Ea=o}else{ga=Q;break c}while(1){P=f[Ca+4>>2]|0;f[Ea>>2]=f[Ca>>2];f[Ea+4>>2]=P;Da=Da+1|0;if((Da|0)==(k|0)){ga=Q;break}else{Ca=Ca+(O<<2)|0;Ea=Ea+(c<<2)|0}}break}case 16:{if((k|0)>0){Fa=s;Ga=0;Ha=o}else{ga=Q;break c}while(1){P=f[Fa+4>>2]|0;f[Ha>>2]=f[Fa>>2];f[Ha+4>>2]=P;P=f[Fa+12>>2]|0;f[Ha+8>>2]=f[Fa+8>>2];f[Ha+12>>2]=P;Ga=Ga+1|0;if((Ga|0)==(k|0)){ga=Q;break}else{Fa=Fa+(O<<2)|0;Ha=Ha+(c<<2)|0}}break}default:{ga=Q;break c}}}else ga=Q}while(0);u=1;v=z;w=e+(f[ga>>2]|0)|0;x=Y}if((u|0)<(v|0)){Y=a+40|0;ga=d>>>2;d=a+16|0;z=(k|0)>0;Ha=k<<1;Fa=k<<2;Ga=g>>>2;Ea=u;u=x;x=w;while(1){w=(Ea+1|0)<(v|0);Ca=f[m>>2]|0;d:do if(w){Da=f[q>>2]|0;switch(f[Y>>2]|0){case 4:{if(z){Ba=u;za=0;while(1){Aa=f[Ba+4>>2]|0;f[Ca+(za<<2)>>2]=f[Ba>>2];f[Da+(za<<2)>>2]=Aa;za=za+1|0;if((za|0)==(k|0))break;else Ba=Ba+(ga<<2)|0}}break}case 8:{if(z){Ba=u;za=0;while(1){Aa=f[Ba+4>>2]|0;f[Ca+(za<<2)>>2]=f[Ba>>2];y=za|1;f[Ca+(y<<2)>>2]=Aa;Aa=f[Ba+12>>2]|0;f[Da+(za<<2)>>2]=f[Ba+8>>2];f[Da+(y<<2)>>2]=Aa;za=za+2|0;if((za|0)>=(Ha|0))break;else Ba=Ba+(ga<<2)|0}}break}case 16:{if(z){Ba=0;za=u;while(1){Aa=f[za+4>>2]|0;f[Ca+(Ba<<2)>>2]=f[za>>2];y=Ba|1;f[Ca+(y<<2)>>2]=Aa;Aa=f[za+12>>2]|0;ya=Ba|2;f[Ca+(ya<<2)>>2]=f[za+8>>2];wa=Ba|3;f[Ca+(wa<<2)>>2]=Aa;Aa=f[za+20>>2]|0;f[Da+(Ba<<2)>>2]=f[za+16>>2];f[Da+(y<<2)>>2]=Aa;Aa=f[za+28>>2]|0;f[Da+(ya<<2)>>2]=f[za+24>>2];f[Da+(wa<<2)>>2]=Aa;Ba=Ba+4|0;if((Ba|0)>=(Fa|0))break;else za=za+(ga<<2)|0}}break}default:{}}za=f[d>>2]|0;Rg[f[f[za>>2]>>2]&255](za,Da,s);Ia=f[m>>2]|0}else{za=f[Y>>2]|0;Ba=za>>>2;switch(za|0){case 4:{if(z){Ja=u;Ka=0;La=Ca}else{Ia=Ca;break d}while(1){f[La>>2]=f[Ja>>2];Ka=Ka+1|0;if((Ka|0)==(k|0)){Ia=Ca;break}else{Ja=Ja+(ga<<2)|0;La=La+(Ba<<2)|0}}break}case 8:{if(z){Ma=u;Na=0;Oa=Ca}else{Ia=Ca;break d}while(1){Da=f[Ma+4>>2]|0;f[Oa>>2]=f[Ma>>2];f[Oa+4>>2]=Da;Na=Na+1|0;if((Na|0)==(k|0)){Ia=Ca;break}else{Ma=Ma+(ga<<2)|0;Oa=Oa+(Ba<<2)|0}}break}case 16:{if(z){Pa=u;Qa=0;Ra=Ca}else{Ia=Ca;break d}while(1){Da=f[Pa+4>>2]|0;f[Ra>>2]=f[Pa>>2];f[Ra+4>>2]=Da;Da=f[Pa+12>>2]|0;f[Ra+8>>2]=f[Pa+8>>2];f[Ra+12>>2]=Da;Qa=Qa+1|0;if((Qa|0)==(k|0)){Ia=Ca;break}else{Pa=Pa+(ga<<2)|0;Ra=Ra+(Ba<<2)|0}}break}default:{Ia=Ca;break d}}}while(0);Ca=f[d>>2]|0;Rg[f[f[Ca>>2]>>2]&255](Ca,Ia,t);Ca=f[Y>>2]|0;e:do if(w)switch(Ca|0){case 4:{if(z){Sa=0;Ta=x}else break e;while(1){Q=f[s+(Sa<<2)>>2]|0;f[Ta>>2]=f[t+(Sa<<2)>>2];f[Ta+4>>2]=Q;Sa=Sa+1|0;if((Sa|0)==(k|0))break;else Ta=Ta+(Ga<<2)|0}break}case 8:{if(z){Ua=0;Va=x}else break e;while(1){Q=Ua|1;Ba=f[t+(Q<<2)>>2]|0;f[Va>>2]=f[t+(Ua<<2)>>2];f[Va+4>>2]=Ba;Ba=f[s+(Q<<2)>>2]|0;f[Va+8>>2]=f[s+(Ua<<2)>>2];f[Va+12>>2]=Ba;Ua=Ua+2|0;if((Ua|0)>=(Ha|0))break;else Va=Va+(Ga<<2)|0}break}case 16:{if(z){Wa=x;Xa=0}else break e;while(1){Ba=Xa|1;Q=f[t+(Ba<<2)>>2]|0;f[Wa>>2]=f[t+(Xa<<2)>>2];f[Wa+4>>2]=Q;Q=Xa|2;Da=Xa|3;za=f[t+(Da<<2)>>2]|0;f[Wa+8>>2]=f[t+(Q<<2)>>2];f[Wa+12>>2]=za;za=f[s+(Ba<<2)>>2]|0;f[Wa+16>>2]=f[s+(Xa<<2)>>2];f[Wa+20>>2]=za;za=f[s+(Da<<2)>>2]|0;f[Wa+24>>2]=f[s+(Q<<2)>>2];f[Wa+28>>2]=za;Xa=Xa+4|0;if((Xa|0)>=(Fa|0))break;else Wa=Wa+(Ga<<2)|0}break}default:break e}else{za=Ca>>>2;switch(Ca|0){case 4:{if(z){Ya=t;Za=0;_a=x}else break e;while(1){f[_a>>2]=f[Ya>>2];Za=Za+1|0;if((Za|0)==(k|0))break;else{Ya=Ya+(za<<2)|0;_a=_a+(Ga<<2)|0}}break}case 8:{if(z){$a=t;ab=0;bb=x}else break e;while(1){Q=f[$a+4>>2]|0;f[bb>>2]=f[$a>>2];f[bb+4>>2]=Q;ab=ab+1|0;if((ab|0)==(k|0))break;else{$a=$a+(za<<2)|0;bb=bb+(Ga<<2)|0}}break}case 16:{if(z){cb=t;db=0;eb=x}else break e;while(1){Q=f[cb+4>>2]|0;f[eb>>2]=f[cb>>2];f[eb+4>>2]=Q;Q=f[cb+12>>2]|0;f[eb+8>>2]=f[cb+8>>2];f[eb+12>>2]=Q;db=db+1|0;if((db|0)==(k|0))break;else{cb=cb+(za<<2)|0;eb=eb+(Ga<<2)|0}}break}default:break e}}while(0);Ca=f[Y>>2]<<1;Ea=Ea+2|0;if((Ea|0)>=(v|0))break;else{u=u+Ca|0;x=x+Ca|0}}}if(!j)return;if((f[a+32>>2]|0)!=2)return;if((f[a+44>>2]|0)==5){a=g>>>2;if((k|0)<=0)return;j=(l+1|0)/2|0;if((l|0)>2)fb=0;else return;do{x=e+((X(fb,a)|0)<<2)|0;u=e+((X(k-fb|0,a)|0)<<2)|0;v=(fb|0)==0|(fb<<1|0)==(k|0)?x:u;u=1;do{Ea=u<<1;Y=l-u<<1;f[x+(Y<<2)>>2]=f[v+(Ea<<2)>>2];n[x+((Y|1)<<2)>>2]=-+n[v+((Ea|1)<<2)>>2];u=u+1|0}while((u|0)<(j|0));fb=fb+1|0}while((fb|0)!=(k|0));return}else{fb=g>>>3;if((k|0)<=0)return;g=(l+1|0)/2|0;if((l|0)>2)gb=0;else return;do{j=e+((X(gb,fb)|0)<<3)|0;a=e+((X(k-gb|0,fb)|0)<<3)|0;u=(gb|0)==0|(gb<<1|0)==(k|0)?j:a;a=1;do{v=a<<1;x=l-a<<1;p[j+(x<<3)>>3]=+p[u+(v<<3)>>3];p[j+((x|1)<<3)>>3]=-+p[u+((v|1)<<3)>>3];a=a+1|0}while((a|0)<(g|0));gb=gb+1|0}while((gb|0)!=(k|0));return}}function BR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if((c|0)==4){c=b+1|0;d=(c|0)/2|0;if((b|0)>2){e=1;do{g=e<<1;h=b-e<<1;f[a+(h<<2)>>2]=f[a+(g+-1<<2)>>2];n[a+((h|1)<<2)>>2]=-+n[a+(g<<2)>>2];e=e+1|0}while((e|0)<(d|0))}d=b+-1|0;if(!(b&1)){f[a+(b<<2)>>2]=f[a+(d<<2)>>2];n[a+(c<<2)>>2]=0.0;i=d}else i=b;if((i|0)>1){d=i;do{i=d;d=d+-1|0;f[a+(i<<2)>>2]=f[a+(d<<2)>>2]}while((i|0)>2)}n[a+4>>2]=0.0;return}else{d=b+1|0;i=(d|0)/2|0;if((b|0)>2){c=1;do{e=c<<1;g=b-c<<1;p[a+(g<<3)>>3]=+p[a+(e+-1<<3)>>3];p[a+((g|1)<<3)>>3]=-+p[a+(e<<3)>>3];c=c+1|0}while((c|0)<(i|0))}i=b+-1|0;if(!(b&1)){p[a+(b<<3)>>3]=+p[a+(i<<3)>>3];p[a+(d<<3)>>3]=0.0;j=i}else j=b;if((j|0)>1){b=j;do{j=b;b=b+-1|0;p[a+(j<<3)>>3]=+p[a+(b<<3)>>3]}while((j|0)>2)}p[a+8>>3]=0.0;return}}function CR(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return}function DR(a){a=a|0;GQa(a);return}function ER(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;g=u;u=u+208|0;h=g+200|0;i=g+144|0;j=g+88|0;k=g+32|0;l=g+24|0;m=g+16|0;n=g;o=g+8|0;yV(h,33444);do if((HJ(a)|0)==65536){p=f[a+4>>2]|0;f[i>>2]=f[p>>2];q=i+4|0;r=p+4|0;f[q>>2]=f[r>>2];s=i+8|0;f[s>>2]=f[p+8>>2];t=i+12|0;f[t>>2]=f[p+12>>2];v=i+16|0;f[v>>2]=f[p+16>>2];w=i+20|0;f[w>>2]=f[p+20>>2];x=i+24|0;f[x>>2]=f[p+24>>2];y=i+28|0;f[y>>2]=f[p+28>>2];z=i+32|0;f[z>>2]=f[p+32>>2];A=i+36|0;B=f[p+36>>2]|0;f[A>>2]=B;f[i+40>>2]=s;C=i+48|0;D=i+44|0;f[D>>2]=C;f[C>>2]=0;f[i+52>>2]=0;if(B|0){C=B+12|0;f[C>>2]=(f[C>>2]|0)+1}if((f[r>>2]|0)<3){r=f[p+44>>2]|0;C=f[D>>2]|0;f[C>>2]=f[r>>2];f[C+4>>2]=f[r+4>>2];E=i;F=q;G=s;H=t;I=v;J=v;K=w;L=x;M=y;N=z;O=A;P=A;break}else{f[q>>2]=0;WO(i,p);E=i;F=q;G=s;H=t;I=v;J=v;K=w;L=x;M=y;N=z;O=A;P=A;break}}else{DJ(i,a,-1);A=i+16|0;z=i+36|0;E=i;F=i+4|0;G=i+8|0;H=i+12|0;I=A;J=A;K=i+20|0;L=i+24|0;M=i+28|0;N=i+32|0;O=z;P=z}while(0);f[j>>2]=f[E>>2];E=j+4|0;a=f[F>>2]|0;f[E>>2]=a;z=j+8|0;f[z>>2]=f[G>>2];G=j+12|0;f[G>>2]=f[H>>2];H=j+16|0;f[H>>2]=f[J>>2];f[j+20>>2]=f[K>>2];f[j+24>>2]=f[L>>2];f[j+28>>2]=f[M>>2];f[j+32>>2]=f[N>>2];N=j+36|0;M=f[P>>2]|0;f[N>>2]=M;P=j+40|0;f[P>>2]=z;L=j+48|0;K=j+44|0;f[K>>2]=L;f[L>>2]=0;f[j+52>>2]=0;if(!M)Q=a;else{a=M+12|0;f[a>>2]=(f[a>>2]|0)+1;Q=f[F>>2]|0}if((Q|0)<3){Q=f[i+44>>2]|0;a=f[K>>2]|0;f[a>>2]=f[Q>>2];f[a+4>>2]=f[Q+4>>2]}else{f[E>>2]=0;WO(j,i)}Q=(d&1|0)==0;a=f[j>>2]|0;M=a&4095;J=a&7;switch(a&4095){case 5:case 6:case 13:case 14:break;default:{f[k>>2]=0;f[k+4>>2]=0;DVa(JV(k,208)|0,169636,208)|0;EP(-215,k,169845,168939,3335);KV(k)}}if(d&64|0?(f[j>>2]&4088|0)!=8:0){f[k>>2]=0;f[k+4>>2]=0;a=JV(k,53)|0;A=169849;y=a+53|0;do{b[a>>0]=b[A>>0]|0;a=a+1|0;A=A+1|0}while((a|0)<(y|0));EP(-215,k,169845,168939,3338);KV(k)}A=(f[j>>2]|0)>>>3&511;if(Q)if((d&16|0)==0|(A|0)!=0)R=23;else{Q=f[P>>2]|0;a=f[Q>>2]|0;f[l>>2]=f[Q+4>>2];f[l+4>>2]=a;_J(c,l,J|8,-1,0,0)}else if((d&32|0)==0|(A|0)!=1)R=23;else{A=f[P>>2]|0;l=f[A>>2]|0;f[m>>2]=f[A+4>>2];f[m+4>>2]=l;_J(c,m,J,-1,0,0)}if((R|0)==23){R=f[P>>2]|0;m=f[R>>2]|0;f[n>>2]=f[R+4>>2];f[n+4>>2]=m;_J(c,n,M,-1,0,0)}do if((HJ(c)|0)==65536){M=f[c+4>>2]|0;f[k>>2]=f[M>>2];n=k+4|0;m=M+4|0;f[n>>2]=f[m>>2];R=k+8|0;f[R>>2]=f[M+8>>2];f[k+12>>2]=f[M+12>>2];f[k+16>>2]=f[M+16>>2];f[k+20>>2]=f[M+20>>2];f[k+24>>2]=f[M+24>>2];f[k+28>>2]=f[M+28>>2];f[k+32>>2]=f[M+32>>2];l=f[M+36>>2]|0;f[k+36>>2]=l;f[k+40>>2]=R;R=k+48|0;A=k+44|0;f[A>>2]=R;f[R>>2]=0;f[k+52>>2]=0;if(l|0){R=l+12|0;f[R>>2]=(f[R>>2]|0)+1}if((f[m>>2]|0)<3){m=f[M+44>>2]|0;R=f[A>>2]|0;f[R>>2]=f[m>>2];f[R+4>>2]=f[m+4>>2];break}else{f[n>>2]=0;WO(k,M);break}}else DJ(k,c,-1);while(0);c=f[j>>2]|0;M=f[k>>2]|0;n=d&7|((c&16384|0)==0?0:M>>>5&512);d=k+16|0;rR(o,f[G>>2]|0,f[z>>2]|0,J,(c>>>3&511)+1|0,(M>>>3&511)+1|0,(f[H>>2]|0)==(f[d>>2]|0)?n|1024:n,e);e=f[o+4>>2]|0;n=k+48|0;Sh[f[f[e>>2]>>2]&255](e,f[H>>2]|0,f[L>>2]|0,f[d>>2]|0,f[n>>2]|0);e=f[o>>2]|0;if(e|0?(o=e+4|0,M=f[o>>2]|0,f[o>>2]=M+-1,(M|0)==1):0)qg[f[(f[e>>2]|0)+8>>2]&1023](e);e=k+36|0;M=f[e>>2]|0;if(M|0?(o=M+12|0,M=f[o>>2]|0,f[o>>2]=M+-1,(M|0)==1):0)XO(k);f[e>>2]=0;e=k+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[e>>2]|0)>0){d=f[k+40>>2]|0;M=0;do{f[d+(M<<2)>>2]=0;M=M+1|0}while((M|0)<(f[e>>2]|0))}e=f[k+44>>2]|0;if((e|0)!=(n|0))dX(e);e=f[N>>2]|0;if(e|0?(n=e+12|0,e=f[n>>2]|0,f[n>>2]=e+-1,(e|0)==1):0)XO(j);f[N>>2]=0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;if((f[E>>2]|0)>0){H=f[P>>2]|0;P=0;do{f[H+(P<<2)>>2]=0;P=P+1|0}while((P|0)<(f[E>>2]|0))}E=f[K>>2]|0;if((E|0)!=(L|0))dX(E);E=f[O>>2]|0;if(E|0?(L=E+12|0,E=f[L>>2]|0,f[L>>2]=E+-1,(E|0)==1):0)XO(i);f[O>>2]=0;f[I>>2]=0;f[I+4>>2]=0;f[I+8>>2]=0;f[I+12>>2]=0;if((f[F>>2]|0)>0){I=f[i+40>>2]|0;O=0;do{f[I+(O<<2)>>2]=0;O=O+1|0}while((O|0)<(f[F>>2]|0))}F=f[i+44>>2]|0;if((F|0)!=(i+48|0))dX(F);if(!(f[h+4>>2]|0)){u=g;return}u=g;return}function FR(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0,L=0,M=0.0,N=0,O=0.0,P=0.0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0;h=u;u=u+256|0;i=h+232|0;j=h+224|0;k=h+168|0;l=h+112|0;m=h+56|0;o=h;yV(j,33464);do if((HJ(a)|0)==65536){q=f[a+4>>2]|0;f[k>>2]=f[q>>2];r=k+4|0;s=q+4|0;f[r>>2]=f[s>>2];t=k+8|0;f[t>>2]=f[q+8>>2];f[k+12>>2]=f[q+12>>2];f[k+16>>2]=f[q+16>>2];f[k+20>>2]=f[q+20>>2];f[k+24>>2]=f[q+24>>2];f[k+28>>2]=f[q+28>>2];f[k+32>>2]=f[q+32>>2];v=f[q+36>>2]|0;f[k+36>>2]=v;f[k+40>>2]=t;t=k+48|0;w=k+44|0;f[w>>2]=t;f[t>>2]=0;f[k+52>>2]=0;if(v|0){t=v+12|0;f[t>>2]=(f[t>>2]|0)+1}if((f[s>>2]|0)<3){s=f[q+44>>2]|0;t=f[w>>2]|0;f[t>>2]=f[s>>2];f[t+4>>2]=f[s+4>>2];break}else{f[r>>2]=0;WO(k,q);break}}else DJ(k,a,-1);while(0);do if((HJ(c)|0)==65536){a=f[c+4>>2]|0;f[l>>2]=f[a>>2];q=l+4|0;r=a+4|0;f[q>>2]=f[r>>2];s=l+8|0;f[s>>2]=f[a+8>>2];f[l+12>>2]=f[a+12>>2];f[l+16>>2]=f[a+16>>2];f[l+20>>2]=f[a+20>>2];f[l+24>>2]=f[a+24>>2];f[l+28>>2]=f[a+28>>2];f[l+32>>2]=f[a+32>>2];t=f[a+36>>2]|0;f[l+36>>2]=t;f[l+40>>2]=s;s=l+48|0;w=l+44|0;f[w>>2]=s;f[s>>2]=0;f[l+52>>2]=0;if(t|0){s=t+12|0;f[s>>2]=(f[s>>2]|0)+1}if((f[r>>2]|0)<3){r=f[a+44>>2]|0;s=f[w>>2]|0;f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2];x=l;break}else{f[q>>2]=0;WO(l,a);x=l;break}}else{DJ(l,c,-1);x=l}while(0);c=f[k>>2]|0;a=c&7;q=c>>>3&511;r=q+1|0;s=c&4095;w=k+8|0;t=f[w>>2]|0;v=k+12|0;y=f[v>>2]|0;if(!((s|0)==(f[x>>2]&4095|0)?(z=f[k+40>>2]|0,A=f[l+40>>2]|0,(f[z>>2]|0)==(f[A>>2]|0)?(f[z+4>>2]|0)==(f[A+4>>2]|0):0):0)){f[i>>2]=0;f[i+4>>2]=0;B=JV(i,49)|0;A=169959;C=B+49|0;do{b[B>>0]=b[A>>0]|0;B=B+1|0;A=A+1|0}while((B|0)<(C|0));EP(-215,i,170009,168939,3541);KV(i)}switch(c&4095){case 5:case 6:case 13:case 14:break;default:{f[i>>2]=0;f[i+4>>2]=0;DVa(JV(i,208)|0,169636,208)|0;EP(-215,i,170009,168939,3542);KV(i)}}vK(d,f[w>>2]|0,f[v>>2]|0,s,-1,0,0);do if((HJ(d)|0)==65536){s=f[d+4>>2]|0;f[m>>2]=f[s>>2];v=m+4|0;w=s+4|0;f[v>>2]=f[w>>2];c=m+8|0;f[c>>2]=f[s+8>>2];f[m+12>>2]=f[s+12>>2];A=m+16|0;f[A>>2]=f[s+16>>2];f[m+20>>2]=f[s+20>>2];f[m+24>>2]=f[s+24>>2];f[m+28>>2]=f[s+28>>2];f[m+32>>2]=f[s+32>>2];z=f[s+36>>2]|0;f[m+36>>2]=z;f[m+40>>2]=c;c=m+48|0;D=m+44|0;f[D>>2]=c;f[c>>2]=0;f[m+52>>2]=0;if(z|0){c=z+12|0;f[c>>2]=(f[c>>2]|0)+1}if((f[w>>2]|0)<3){w=f[s+44>>2]|0;c=f[D>>2]|0;f[c>>2]=f[w>>2];f[c+4>>2]=f[w+4>>2];E=A;break}else{f[v>>2]=0;WO(m,s);E=A;break}}else{DJ(m,d,-1);E=m+16|0}while(0);d=l+16|0;if((f[E>>2]|0)==(f[d>>2]|0)){f[o>>2]=1124007936;A=o+4|0;s=o+8|0;v=o+40|0;B=A;C=B+36|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));f[v>>2]=s;B=o+48|0;C=o+44|0;f[C>>2]=B;f[B>>2]=0;f[o+52>>2]=0;w=i+8|0;f[w>>2]=0;f[w+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=o;eM(l,i);i=o+36|0;w=f[i>>2]|0;if(w|0){c=w+12|0;f[c>>2]=(f[c>>2]|0)+1}c=l+36|0;w=f[c>>2]|0;if(w|0?(D=w+12|0,w=f[D>>2]|0,f[D>>2]=w+-1,(w|0)==1):0)XO(l);f[c>>2]=0;w=l+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[w>>2]|0)>0){D=f[l+40>>2]|0;z=0;do{f[D+(z<<2)>>2]=0;z=z+1|0;F=f[w>>2]|0}while((z|0)<(F|0));f[x>>2]=f[o>>2];if((F|0)<3)G=38;else G=40}else{f[x>>2]=f[o>>2];G=38}if((G|0)==38){F=f[A>>2]|0;if((F|0)<3){f[w>>2]=F;f[l+8>>2]=f[s>>2];f[l+12>>2]=f[o+12>>2];s=f[C>>2]|0;F=f[l+44>>2]|0;f[F>>2]=f[s>>2];f[F+4>>2]=f[s+4>>2]}else G=40}if((G|0)==40)WO(l,o);s=o+16|0;f[d>>2]=f[s>>2];f[l+20>>2]=f[o+20>>2];f[l+24>>2]=f[o+24>>2];f[l+28>>2]=f[o+28>>2];f[l+32>>2]=f[o+32>>2];F=f[i>>2]|0;f[c>>2]=F;if(F|0?(c=F+12|0,F=f[c>>2]|0,f[c>>2]=F+-1,(F|0)==1):0)XO(o);f[i>>2]=0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if((f[A>>2]|0)>0){s=f[v>>2]|0;v=0;do{f[s+(v<<2)>>2]=0;v=v+1|0}while((v|0)<(f[A>>2]|0))}A=f[C>>2]|0;if((A|0)!=(B|0))dX(A)}A=(e&4|0)!=0;if(!(A|(t|0)==1))if(((y|0)==1?(f[k>>2]&16384|0)!=0:0)?(f[x>>2]&16384|0)!=0:0)H=(f[m>>2]&16384|0)!=0;else H=0;else H=1;x=A|H^1;A=y+(x?0:t+-1|0)|0;y=x?t:1;t=(q|0)==0;x=t&1;e=A&1;B=(e|0)==0;C=(X(A,r)|0)-((e|q|0)==0&1)|0;q=k+16|0;e=f[q>>2]|0;a:do if((a|0)==5){r=f[d>>2]|0;v=f[E>>2]|0;s=f[k+48>>2]|0;i=f[l+48>>2]|0;o=f[m+48>>2]|0;F=(e|0)==(v|0);c=H|t^1;if(g)if(F){do if(!c){n[e>>2]=+n[e>>2]*+n[r>>2];w=y+-2|0;z=(w|0)==0;if(!z){D=1;do{I=e+(X(D,o)|0)|0;J=+n[I>>2];K=D+1|0;L=e+(X(K,o)|0)|0;M=+n[L>>2];N=r+(X(D,i)|0)|0;O=+n[N>>2];N=r+(X(K,i)|0)|0;P=-+n[N>>2];n[I>>2]=J*O-M*P;n[L>>2]=M*O+J*P;D=D+2|0}while(D>>>0<=w>>>0);if(!(y&1)){Q=y+-1|0;G=117}}else{Q=1;G=117}if((G|0)==117){D=e+(X(Q,o)|0)|0;L=r+(X(Q,i)|0)|0;n[D>>2]=+n[D>>2]*+n[L>>2]}if(B){L=r+(A<<2)+-4|0;D=e+(A<<2)+-4|0;n[D>>2]=+n[D>>2]*+n[L>>2];if(!z){I=1;do{N=D+(X(I,o)|0)|0;P=+n[N>>2];K=I+1|0;R=D+(X(K,o)|0)|0;J=+n[R>>2];S=L+(X(I,i)|0)|0;O=+n[S>>2];S=L+(X(K,i)|0)|0;M=-+n[S>>2];n[N>>2]=P*O-J*M;n[R>>2]=J*O+P*M;I=I+2|0}while(I>>>0<=w>>>0);if(!(y&1))T=y+-1|0;else break}else T=1;w=D+(X(T,o)|0)|0;I=L+(X(T,i)|0)|0;n[w>>2]=+n[w>>2]*+n[I>>2]}}while(0);I=t&H;w=y+-1|0;if(!y)break;z=C>>>0>x>>>0;R=I&B;if(!I){if(z){U=e;V=r;W=w}else break;while(1){I=x;do{N=U+(I<<2)|0;M=+n[N>>2];S=I+1|0;K=U+(S<<2)|0;P=+n[K>>2];O=+n[V+(I<<2)>>2];J=-+n[V+(S<<2)>>2];n[N>>2]=M*O-P*J;n[K>>2]=P*O+M*J;I=I+2|0}while(I>>>0>>0);if(!W)break a;else{U=U+o|0;V=V+i|0;W=W+-1|0}}}if(!z)if(R){I=e;L=r;D=e;K=w;while(1){n[D>>2]=+n[I>>2]*+n[L>>2];n[D+(C<<2)>>2]=+n[I+(C<<2)>>2]*+n[L+(C<<2)>>2];if(!K)break a;else{I=I+s|0;L=L+i|0;D=D+o|0;K=K+-1|0}}}else{K=e;D=r;L=e;I=w;while(1){n[L>>2]=+n[K>>2]*+n[D>>2];if(!I)break a;else{K=K+s|0;D=D+i|0;L=L+o|0;I=I+-1|0}}}if(R){I=e;L=r;D=e;K=w;while(1){n[D>>2]=+n[I>>2]*+n[L>>2];z=x;do{N=D+(z<<2)|0;J=+n[N>>2];S=z+1|0;Y=D+(S<<2)|0;M=+n[Y>>2];O=+n[L+(z<<2)>>2];P=-+n[L+(S<<2)>>2];n[N>>2]=J*O-M*P;n[Y>>2]=M*O+J*P;z=z+2|0}while(z>>>0>>0);n[D+(C<<2)>>2]=+n[I+(C<<2)>>2]*+n[L+(C<<2)>>2];if(!K)break;else{I=I+s|0;L=L+i|0;D=D+o|0;K=K+-1|0}}}else{K=e;D=r;L=e;I=w;while(1){n[L>>2]=+n[K>>2]*+n[D>>2];R=x;do{z=L+(R<<2)|0;P=+n[z>>2];Y=R+1|0;N=L+(Y<<2)|0;J=+n[N>>2];O=+n[D+(R<<2)>>2];M=-+n[D+(Y<<2)>>2];n[z>>2]=P*O-J*M;n[N>>2]=J*O+P*M;R=R+2|0}while(R>>>0>>0);if(!I)break;else{K=K+s|0;D=D+i|0;L=L+o|0;I=I+-1|0}}}}else{do if(!c){n[v>>2]=+n[e>>2]*+n[r>>2];I=y+-2|0;L=(I|0)==0;if(!L){D=1;do{K=e+(X(D,s)|0)|0;M=+n[K>>2];K=D+1|0;w=e+(X(K,s)|0)|0;P=+n[w>>2];w=r+(X(D,i)|0)|0;O=+n[w>>2];w=r+(X(K,i)|0)|0;J=-+n[w>>2];w=v+(X(D,o)|0)|0;n[w>>2]=M*O-P*J;w=v+(X(K,o)|0)|0;n[w>>2]=P*O+M*J;D=D+2|0}while(D>>>0<=I>>>0);if(!(y&1)){Z=y+-1|0;G=144}}else{Z=1;G=144}if((G|0)==144){D=v+(X(Z,o)|0)|0;w=r+(X(Z,i)|0)|0;K=e+(X(Z,s)|0)|0;n[D>>2]=+n[K>>2]*+n[w>>2]}if(B){w=e+(A<<2)+-4|0;K=r+(A<<2)+-4|0;D=v+(A<<2)+-4|0;n[D>>2]=+n[w>>2]*+n[K>>2];if(!L){R=1;do{N=w+(X(R,s)|0)|0;J=+n[N>>2];N=R+1|0;z=w+(X(N,s)|0)|0;M=+n[z>>2];z=K+(X(R,i)|0)|0;O=+n[z>>2];z=K+(X(N,i)|0)|0;P=-+n[z>>2];z=D+(X(R,o)|0)|0;n[z>>2]=J*O-M*P;z=D+(X(N,o)|0)|0;n[z>>2]=M*O+J*P;R=R+2|0}while(R>>>0<=I>>>0);if(!(y&1))_=y+-1|0;else break}else _=1;I=D+(X(_,o)|0)|0;R=K+(X(_,i)|0)|0;L=w+(X(_,s)|0)|0;n[I>>2]=+n[L>>2]*+n[R>>2]}}while(0);R=t&H;L=y+-1|0;if(!y)break;I=C>>>0>x>>>0;z=R&B;if(!R){if(I){$=e;aa=r;ba=v;ca=L}else break;while(1){R=x;do{P=+n[$+(R<<2)>>2];N=R+1|0;J=+n[$+(N<<2)>>2];O=+n[aa+(R<<2)>>2];M=-+n[aa+(N<<2)>>2];n[ba+(R<<2)>>2]=P*O-J*M;n[ba+(N<<2)>>2]=J*O+P*M;R=R+2|0}while(R>>>0>>0);if(!ca)break a;else{$=$+s|0;aa=aa+i|0;ba=ba+o|0;ca=ca+-1|0}}}if(!I)if(z){R=e;w=r;K=v;D=L;while(1){n[K>>2]=+n[R>>2]*+n[w>>2];n[K+(C<<2)>>2]=+n[R+(C<<2)>>2]*+n[w+(C<<2)>>2];if(!D)break a;else{R=R+s|0;w=w+i|0;K=K+o|0;D=D+-1|0}}}else{D=e;K=r;w=v;R=L;while(1){n[w>>2]=+n[D>>2]*+n[K>>2];if(!R)break a;else{D=D+s|0;K=K+i|0;w=w+o|0;R=R+-1|0}}}if(z){R=e;w=r;K=v;D=L;while(1){n[K>>2]=+n[R>>2]*+n[w>>2];I=x;do{M=+n[R+(I<<2)>>2];N=I+1|0;P=+n[R+(N<<2)>>2];O=+n[w+(I<<2)>>2];J=-+n[w+(N<<2)>>2];n[K+(I<<2)>>2]=M*O-P*J;n[K+(N<<2)>>2]=P*O+M*J;I=I+2|0}while(I>>>0>>0);n[K+(C<<2)>>2]=+n[R+(C<<2)>>2]*+n[w+(C<<2)>>2];if(!D)break;else{R=R+s|0;w=w+i|0;K=K+o|0;D=D+-1|0}}}else{D=e;K=r;w=v;R=L;while(1){n[w>>2]=+n[D>>2]*+n[K>>2];z=x;do{J=+n[D+(z<<2)>>2];I=z+1|0;M=+n[D+(I<<2)>>2];O=+n[K+(z<<2)>>2];P=-+n[K+(I<<2)>>2];n[w+(z<<2)>>2]=J*O-M*P;n[w+(I<<2)>>2]=M*O+J*P;z=z+2|0}while(z>>>0>>0);if(!R)break;else{D=D+s|0;K=K+i|0;w=w+o|0;R=R+-1|0}}}}else if(F){do if(!c){n[e>>2]=+n[e>>2]*+n[r>>2];R=y+-2|0;w=(R|0)==0;if(!w){K=1;do{D=e+(X(K,o)|0)|0;P=+n[D>>2];L=K+1|0;z=e+(X(L,o)|0)|0;J=+n[z>>2];I=r+(X(K,i)|0)|0;O=+n[I>>2];I=r+(X(L,i)|0)|0;M=+n[I>>2];n[D>>2]=P*O-J*M;n[z>>2]=J*O+P*M;K=K+2|0}while(K>>>0<=R>>>0);if(!(y&1)){da=y+-1|0;G=62}}else{da=1;G=62}if((G|0)==62){K=e+(X(da,o)|0)|0;z=r+(X(da,i)|0)|0;n[K>>2]=+n[K>>2]*+n[z>>2]}if(B){z=r+(A<<2)+-4|0;K=e+(A<<2)+-4|0;n[K>>2]=+n[K>>2]*+n[z>>2];if(!w){D=1;do{I=K+(X(D,o)|0)|0;M=+n[I>>2];L=D+1|0;N=K+(X(L,o)|0)|0;P=+n[N>>2];Y=z+(X(D,i)|0)|0;O=+n[Y>>2];Y=z+(X(L,i)|0)|0;J=+n[Y>>2];n[I>>2]=M*O-P*J;n[N>>2]=P*O+M*J;D=D+2|0}while(D>>>0<=R>>>0);if(!(y&1))ea=y+-1|0;else break}else ea=1;R=K+(X(ea,o)|0)|0;D=z+(X(ea,i)|0)|0;n[R>>2]=+n[R>>2]*+n[D>>2]}}while(0);F=t&H;D=y+-1|0;if(!y)break;R=C>>>0>x>>>0;w=F&B;if(!F){if(R){fa=e;ga=r;ha=D}else break;while(1){F=x;do{N=fa+(F<<2)|0;J=+n[N>>2];I=F+1|0;Y=fa+(I<<2)|0;M=+n[Y>>2];O=+n[ga+(F<<2)>>2];P=+n[ga+(I<<2)>>2];n[N>>2]=J*O-M*P;n[Y>>2]=M*O+J*P;F=F+2|0}while(F>>>0>>0);if(!ha)break a;else{fa=fa+o|0;ga=ga+i|0;ha=ha+-1|0}}}if(!R)if(w){F=e;z=r;K=e;Y=D;while(1){n[K>>2]=+n[F>>2]*+n[z>>2];n[K+(C<<2)>>2]=+n[F+(C<<2)>>2]*+n[z+(C<<2)>>2];if(!Y)break a;else{F=F+s|0;z=z+i|0;K=K+o|0;Y=Y+-1|0}}}else{Y=e;K=r;z=e;F=D;while(1){n[z>>2]=+n[Y>>2]*+n[K>>2];if(!F)break a;else{Y=Y+s|0;K=K+i|0;z=z+o|0;F=F+-1|0}}}if(w){F=e;z=r;K=e;Y=D;while(1){n[K>>2]=+n[F>>2]*+n[z>>2];R=x;do{N=K+(R<<2)|0;P=+n[N>>2];I=R+1|0;L=K+(I<<2)|0;J=+n[L>>2];O=+n[z+(R<<2)>>2];M=+n[z+(I<<2)>>2];n[N>>2]=P*O-J*M;n[L>>2]=J*O+P*M;R=R+2|0}while(R>>>0>>0);n[K+(C<<2)>>2]=+n[F+(C<<2)>>2]*+n[z+(C<<2)>>2];if(!Y)break;else{F=F+s|0;z=z+i|0;K=K+o|0;Y=Y+-1|0}}}else{Y=e;K=r;z=e;F=D;while(1){n[z>>2]=+n[Y>>2]*+n[K>>2];w=x;do{R=z+(w<<2)|0;M=+n[R>>2];L=w+1|0;N=z+(L<<2)|0;P=+n[N>>2];O=+n[K+(w<<2)>>2];J=+n[K+(L<<2)>>2];n[R>>2]=M*O-P*J;n[N>>2]=P*O+M*J;w=w+2|0}while(w>>>0>>0);if(!F)break;else{Y=Y+s|0;K=K+i|0;z=z+o|0;F=F+-1|0}}}}else{do if(!c){n[v>>2]=+n[e>>2]*+n[r>>2];F=y+-2|0;z=(F|0)==0;if(!z){K=1;do{Y=e+(X(K,s)|0)|0;J=+n[Y>>2];Y=K+1|0;D=e+(X(Y,s)|0)|0;M=+n[D>>2];D=r+(X(K,i)|0)|0;O=+n[D>>2];D=r+(X(Y,i)|0)|0;P=+n[D>>2];D=v+(X(K,o)|0)|0;n[D>>2]=J*O-M*P;D=v+(X(Y,o)|0)|0;n[D>>2]=M*O+J*P;K=K+2|0}while(K>>>0<=F>>>0);if(!(y&1)){ia=y+-1|0;G=89}}else{ia=1;G=89}if((G|0)==89){K=v+(X(ia,o)|0)|0;D=r+(X(ia,i)|0)|0;Y=e+(X(ia,s)|0)|0;n[K>>2]=+n[Y>>2]*+n[D>>2]}if(B){D=e+(A<<2)+-4|0;Y=r+(A<<2)+-4|0;K=v+(A<<2)+-4|0;n[K>>2]=+n[D>>2]*+n[Y>>2];if(!z){w=1;do{N=D+(X(w,s)|0)|0;P=+n[N>>2];N=w+1|0;R=D+(X(N,s)|0)|0;J=+n[R>>2];R=Y+(X(w,i)|0)|0;O=+n[R>>2];R=Y+(X(N,i)|0)|0;M=+n[R>>2];R=K+(X(w,o)|0)|0;n[R>>2]=P*O-J*M;R=K+(X(N,o)|0)|0;n[R>>2]=J*O+P*M;w=w+2|0}while(w>>>0<=F>>>0);if(!(y&1))ja=y+-1|0;else break}else ja=1;F=K+(X(ja,o)|0)|0;w=Y+(X(ja,i)|0)|0;z=D+(X(ja,s)|0)|0;n[F>>2]=+n[z>>2]*+n[w>>2]}}while(0);c=t&H;w=y+-1|0;if(!y)break;z=C>>>0>x>>>0;F=c&B;if(!c){if(z){ka=e;la=r;ma=v;na=w}else break;while(1){c=x;do{M=+n[ka+(c<<2)>>2];R=c+1|0;P=+n[ka+(R<<2)>>2];O=+n[la+(c<<2)>>2];J=+n[la+(R<<2)>>2];n[ma+(c<<2)>>2]=M*O-P*J;n[ma+(R<<2)>>2]=P*O+M*J;c=c+2|0}while(c>>>0>>0);if(!na)break a;else{ka=ka+s|0;la=la+i|0;ma=ma+o|0;na=na+-1|0}}}if(!z)if(F){c=e;D=r;Y=v;K=w;while(1){n[Y>>2]=+n[c>>2]*+n[D>>2];n[Y+(C<<2)>>2]=+n[c+(C<<2)>>2]*+n[D+(C<<2)>>2];if(!K)break a;else{c=c+s|0;D=D+i|0;Y=Y+o|0;K=K+-1|0}}}else{K=e;Y=r;D=v;c=w;while(1){n[D>>2]=+n[K>>2]*+n[Y>>2];if(!c)break a;else{K=K+s|0;Y=Y+i|0;D=D+o|0;c=c+-1|0}}}if(F){c=e;D=r;Y=v;K=w;while(1){n[Y>>2]=+n[c>>2]*+n[D>>2];z=x;do{J=+n[c+(z<<2)>>2];R=z+1|0;M=+n[c+(R<<2)>>2];O=+n[D+(z<<2)>>2];P=+n[D+(R<<2)>>2];n[Y+(z<<2)>>2]=J*O-M*P;n[Y+(R<<2)>>2]=M*O+J*P;z=z+2|0}while(z>>>0>>0);n[Y+(C<<2)>>2]=+n[c+(C<<2)>>2]*+n[D+(C<<2)>>2];if(!K)break;else{c=c+s|0;D=D+i|0;Y=Y+o|0;K=K+-1|0}}}else{K=e;Y=r;D=v;c=w;while(1){n[D>>2]=+n[K>>2]*+n[Y>>2];F=x;do{P=+n[K+(F<<2)>>2];z=F+1|0;J=+n[K+(z<<2)>>2];O=+n[Y+(F<<2)>>2];M=+n[Y+(z<<2)>>2];n[D+(F<<2)>>2]=P*O-J*M;n[D+(z<<2)>>2]=J*O+P*M;F=F+2|0}while(F>>>0>>0);if(!c)break;else{K=K+s|0;Y=Y+i|0;D=D+o|0;c=c+-1|0}}}}}else{c=f[d>>2]|0;o=f[E>>2]|0;D=f[k+48>>2]|0;i=f[l+48>>2]|0;Y=f[m+48>>2]|0;s=(e|0)==(o|0);K=H|t^1;if(g)if(s){do if(!K){p[e>>3]=+p[e>>3]*+p[c>>3];w=y+-2|0;v=(w|0)==0;if(!v){r=1;do{F=e+(X(r,Y)|0)|0;M=+p[F>>3];z=r+1|0;R=e+(X(z,Y)|0)|0;P=+p[R>>3];N=c+(X(r,i)|0)|0;O=+p[N>>3];N=c+(X(z,i)|0)|0;J=-+p[N>>3];p[F>>3]=M*O-P*J;p[R>>3]=P*O+M*J;r=r+2|0}while(r>>>0<=w>>>0);if(!(y&1)){oa=y+-1|0;G=228}}else{oa=1;G=228}if((G|0)==228){r=e+(X(oa,Y)|0)|0;R=c+(X(oa,i)|0)|0;p[r>>3]=+p[r>>3]*+p[R>>3]}if(B){R=c+(A<<3)+-8|0;r=e+(A<<3)+-8|0;p[r>>3]=+p[r>>3]*+p[R>>3];if(!v){F=1;do{N=r+(X(F,Y)|0)|0;J=+p[N>>3];z=F+1|0;L=r+(X(z,Y)|0)|0;M=+p[L>>3];I=R+(X(F,i)|0)|0;O=+p[I>>3];I=R+(X(z,i)|0)|0;P=-+p[I>>3];p[N>>3]=J*O-M*P;p[L>>3]=M*O+J*P;F=F+2|0}while(F>>>0<=w>>>0);if(!(y&1))pa=y+-1|0;else break}else pa=1;w=r+(X(pa,Y)|0)|0;F=R+(X(pa,i)|0)|0;p[w>>3]=+p[w>>3]*+p[F>>3]}}while(0);F=t&H;w=y+-1|0;if(!y)break;v=C>>>0>x>>>0;L=F&B;if(!F){if(v){qa=e;ra=c;sa=w}else break;while(1){F=x;do{N=qa+(F<<3)|0;P=+p[N>>3];I=F+1|0;z=qa+(I<<3)|0;J=+p[z>>3];O=+p[ra+(F<<3)>>3];M=-+p[ra+(I<<3)>>3];p[N>>3]=P*O-J*M;p[z>>3]=J*O+P*M;F=F+2|0}while(F>>>0>>0);if(!sa)break a;else{qa=qa+Y|0;ra=ra+i|0;sa=sa+-1|0}}}if(!v)if(L){F=e;R=c;r=e;z=w;while(1){p[r>>3]=+p[F>>3]*+p[R>>3];p[r+(C<<3)>>3]=+p[F+(C<<3)>>3]*+p[R+(C<<3)>>3];if(!z)break a;else{F=F+D|0;R=R+i|0;r=r+Y|0;z=z+-1|0}}}else{z=e;r=c;R=e;F=w;while(1){p[R>>3]=+p[z>>3]*+p[r>>3];if(!F)break a;else{z=z+D|0;r=r+i|0;R=R+Y|0;F=F+-1|0}}}if(L){F=e;R=c;r=e;z=w;while(1){p[r>>3]=+p[F>>3]*+p[R>>3];v=x;do{N=r+(v<<3)|0;M=+p[N>>3];I=v+1|0;S=r+(I<<3)|0;P=+p[S>>3];O=+p[R+(v<<3)>>3];J=-+p[R+(I<<3)>>3];p[N>>3]=M*O-P*J;p[S>>3]=P*O+M*J;v=v+2|0}while(v>>>0>>0);p[r+(C<<3)>>3]=+p[F+(C<<3)>>3]*+p[R+(C<<3)>>3];if(!z)break;else{F=F+D|0;R=R+i|0;r=r+Y|0;z=z+-1|0}}}else{z=e;r=c;R=e;F=w;while(1){p[R>>3]=+p[z>>3]*+p[r>>3];L=x;do{v=R+(L<<3)|0;J=+p[v>>3];S=L+1|0;N=R+(S<<3)|0;M=+p[N>>3];O=+p[r+(L<<3)>>3];P=-+p[r+(S<<3)>>3];p[v>>3]=J*O-M*P;p[N>>3]=M*O+J*P;L=L+2|0}while(L>>>0>>0);if(!F)break;else{z=z+D|0;r=r+i|0;R=R+Y|0;F=F+-1|0}}}}else{do if(!K){p[o>>3]=+p[e>>3]*+p[c>>3];F=y+-2|0;R=(F|0)==0;if(!R){r=1;do{z=e+(X(r,D)|0)|0;P=+p[z>>3];z=r+1|0;w=e+(X(z,D)|0)|0;J=+p[w>>3];w=c+(X(r,i)|0)|0;O=+p[w>>3];w=c+(X(z,i)|0)|0;M=-+p[w>>3];w=o+(X(r,Y)|0)|0;p[w>>3]=P*O-J*M;w=o+(X(z,Y)|0)|0;p[w>>3]=J*O+P*M;r=r+2|0}while(r>>>0<=F>>>0);if(!(y&1)){ta=y+-1|0;G=255}}else{ta=1;G=255}if((G|0)==255){r=o+(X(ta,Y)|0)|0;w=c+(X(ta,i)|0)|0;z=e+(X(ta,D)|0)|0;p[r>>3]=+p[z>>3]*+p[w>>3]}if(B){w=e+(A<<3)+-8|0;z=c+(A<<3)+-8|0;r=o+(A<<3)+-8|0;p[r>>3]=+p[w>>3]*+p[z>>3];if(!R){L=1;do{N=w+(X(L,D)|0)|0;M=+p[N>>3];N=L+1|0;v=w+(X(N,D)|0)|0;P=+p[v>>3];v=z+(X(L,i)|0)|0;O=+p[v>>3];v=z+(X(N,i)|0)|0;J=-+p[v>>3];v=r+(X(L,Y)|0)|0;p[v>>3]=M*O-P*J;v=r+(X(N,Y)|0)|0;p[v>>3]=P*O+M*J;L=L+2|0}while(L>>>0<=F>>>0);if(!(y&1))ua=y+-1|0;else break}else ua=1;F=r+(X(ua,Y)|0)|0;L=z+(X(ua,i)|0)|0;R=w+(X(ua,D)|0)|0;p[F>>3]=+p[R>>3]*+p[L>>3]}}while(0);L=t&H;R=y+-1|0;if(!y)break;F=C>>>0>x>>>0;v=L&B;if(!L){if(F){va=e;wa=c;xa=o;ya=R}else break;while(1){L=x;do{J=+p[va+(L<<3)>>3];N=L+1|0;M=+p[va+(N<<3)>>3];O=+p[wa+(L<<3)>>3];P=-+p[wa+(N<<3)>>3];p[xa+(L<<3)>>3]=J*O-M*P;p[xa+(N<<3)>>3]=M*O+J*P;L=L+2|0}while(L>>>0>>0);if(!ya)break a;else{va=va+D|0;wa=wa+i|0;xa=xa+Y|0;ya=ya+-1|0}}}if(!F)if(v){L=e;w=c;z=o;r=R;while(1){p[z>>3]=+p[L>>3]*+p[w>>3];p[z+(C<<3)>>3]=+p[L+(C<<3)>>3]*+p[w+(C<<3)>>3];if(!r)break a;else{L=L+D|0;w=w+i|0;z=z+Y|0;r=r+-1|0}}}else{r=e;z=c;w=o;L=R;while(1){p[w>>3]=+p[r>>3]*+p[z>>3];if(!L)break a;else{r=r+D|0;z=z+i|0;w=w+Y|0;L=L+-1|0}}}if(v){L=e;w=c;z=o;r=R;while(1){p[z>>3]=+p[L>>3]*+p[w>>3];F=x;do{P=+p[L+(F<<3)>>3];N=F+1|0;J=+p[L+(N<<3)>>3];O=+p[w+(F<<3)>>3];M=-+p[w+(N<<3)>>3];p[z+(F<<3)>>3]=P*O-J*M;p[z+(N<<3)>>3]=J*O+P*M;F=F+2|0}while(F>>>0>>0);p[z+(C<<3)>>3]=+p[L+(C<<3)>>3]*+p[w+(C<<3)>>3];if(!r)break;else{L=L+D|0;w=w+i|0;z=z+Y|0;r=r+-1|0}}}else{r=e;z=c;w=o;L=R;while(1){p[w>>3]=+p[r>>3]*+p[z>>3];v=x;do{M=+p[r+(v<<3)>>3];F=v+1|0;P=+p[r+(F<<3)>>3];O=+p[z+(v<<3)>>3];J=-+p[z+(F<<3)>>3];p[w+(v<<3)>>3]=M*O-P*J;p[w+(F<<3)>>3]=P*O+M*J;v=v+2|0}while(v>>>0>>0);if(!L)break;else{r=r+D|0;z=z+i|0;w=w+Y|0;L=L+-1|0}}}}else if(s){do if(!K){p[e>>3]=+p[e>>3]*+p[c>>3];L=y+-2|0;w=(L|0)==0;if(!w){z=1;do{r=e+(X(z,Y)|0)|0;J=+p[r>>3];R=z+1|0;v=e+(X(R,Y)|0)|0;M=+p[v>>3];F=c+(X(z,i)|0)|0;O=+p[F>>3];F=c+(X(R,i)|0)|0;P=+p[F>>3];p[r>>3]=J*O-M*P;p[v>>3]=M*O+J*P;z=z+2|0}while(z>>>0<=L>>>0);if(!(y&1)){za=y+-1|0;G=173}}else{za=1;G=173}if((G|0)==173){z=e+(X(za,Y)|0)|0;v=c+(X(za,i)|0)|0;p[z>>3]=+p[z>>3]*+p[v>>3]}if(B){v=c+(A<<3)+-8|0;z=e+(A<<3)+-8|0;p[z>>3]=+p[z>>3]*+p[v>>3];if(!w){r=1;do{F=z+(X(r,Y)|0)|0;P=+p[F>>3];R=r+1|0;N=z+(X(R,Y)|0)|0;J=+p[N>>3];S=v+(X(r,i)|0)|0;O=+p[S>>3];S=v+(X(R,i)|0)|0;M=+p[S>>3];p[F>>3]=P*O-J*M;p[N>>3]=J*O+P*M;r=r+2|0}while(r>>>0<=L>>>0);if(!(y&1))Aa=y+-1|0;else break}else Aa=1;L=z+(X(Aa,Y)|0)|0;r=v+(X(Aa,i)|0)|0;p[L>>3]=+p[L>>3]*+p[r>>3]}}while(0);s=t&H;r=y+-1|0;if(!y)break;L=C>>>0>x>>>0;w=s&B;if(!s){if(L){Ba=e;Ca=c;Da=r}else break;while(1){s=x;do{N=Ba+(s<<3)|0;M=+p[N>>3];F=s+1|0;S=Ba+(F<<3)|0;P=+p[S>>3];O=+p[Ca+(s<<3)>>3];J=+p[Ca+(F<<3)>>3];p[N>>3]=M*O-P*J;p[S>>3]=P*O+M*J;s=s+2|0}while(s>>>0>>0);if(!Da)break a;else{Ba=Ba+Y|0;Ca=Ca+i|0;Da=Da+-1|0}}}if(!L)if(w){s=e;v=c;z=e;S=r;while(1){p[z>>3]=+p[s>>3]*+p[v>>3];p[z+(C<<3)>>3]=+p[s+(C<<3)>>3]*+p[v+(C<<3)>>3];if(!S)break a;else{s=s+D|0;v=v+i|0;z=z+Y|0;S=S+-1|0}}}else{S=e;z=c;v=e;s=r;while(1){p[v>>3]=+p[S>>3]*+p[z>>3];if(!s)break a;else{S=S+D|0;z=z+i|0;v=v+Y|0;s=s+-1|0}}}if(w){s=e;v=c;z=e;S=r;while(1){p[z>>3]=+p[s>>3]*+p[v>>3];L=x;do{N=z+(L<<3)|0;J=+p[N>>3];F=L+1|0;R=z+(F<<3)|0;M=+p[R>>3];O=+p[v+(L<<3)>>3];P=+p[v+(F<<3)>>3];p[N>>3]=J*O-M*P;p[R>>3]=M*O+J*P;L=L+2|0}while(L>>>0>>0);p[z+(C<<3)>>3]=+p[s+(C<<3)>>3]*+p[v+(C<<3)>>3];if(!S)break;else{s=s+D|0;v=v+i|0;z=z+Y|0;S=S+-1|0}}}else{S=e;z=c;v=e;s=r;while(1){p[v>>3]=+p[S>>3]*+p[z>>3];w=x;do{L=v+(w<<3)|0;P=+p[L>>3];R=w+1|0;N=v+(R<<3)|0;J=+p[N>>3];O=+p[z+(w<<3)>>3];M=+p[z+(R<<3)>>3];p[L>>3]=P*O-J*M;p[N>>3]=J*O+P*M;w=w+2|0}while(w>>>0>>0);if(!s)break;else{S=S+D|0;z=z+i|0;v=v+Y|0;s=s+-1|0}}}}else{do if(!K){p[o>>3]=+p[e>>3]*+p[c>>3];s=y+-2|0;v=(s|0)==0;if(!v){z=1;do{S=e+(X(z,D)|0)|0;M=+p[S>>3];S=z+1|0;r=e+(X(S,D)|0)|0;P=+p[r>>3];r=c+(X(z,i)|0)|0;O=+p[r>>3];r=c+(X(S,i)|0)|0;J=+p[r>>3];r=o+(X(z,Y)|0)|0;p[r>>3]=M*O-P*J;r=o+(X(S,Y)|0)|0;p[r>>3]=P*O+M*J;z=z+2|0}while(z>>>0<=s>>>0);if(!(y&1)){Ea=y+-1|0;G=200}}else{Ea=1;G=200}if((G|0)==200){z=o+(X(Ea,Y)|0)|0;r=c+(X(Ea,i)|0)|0;S=e+(X(Ea,D)|0)|0;p[z>>3]=+p[S>>3]*+p[r>>3]}if(B){r=e+(A<<3)+-8|0;S=c+(A<<3)+-8|0;z=o+(A<<3)+-8|0;p[z>>3]=+p[r>>3]*+p[S>>3];if(!v){w=1;do{N=r+(X(w,D)|0)|0;J=+p[N>>3];N=w+1|0;L=r+(X(N,D)|0)|0;M=+p[L>>3];L=S+(X(w,i)|0)|0;O=+p[L>>3];L=S+(X(N,i)|0)|0;P=+p[L>>3];L=z+(X(w,Y)|0)|0;p[L>>3]=J*O-M*P;L=z+(X(N,Y)|0)|0;p[L>>3]=M*O+J*P;w=w+2|0}while(w>>>0<=s>>>0);if(!(y&1))Fa=y+-1|0;else break}else Fa=1;s=z+(X(Fa,Y)|0)|0;w=S+(X(Fa,i)|0)|0;v=r+(X(Fa,D)|0)|0;p[s>>3]=+p[v>>3]*+p[w>>3]}}while(0);K=t&H;w=y+-1|0;if(!y)break;v=C>>>0>x>>>0;s=K&B;if(!K){if(v){Ga=e;Ha=c;Ia=o;Ja=w}else break;while(1){K=x;do{P=+p[Ga+(K<<3)>>3];L=K+1|0;J=+p[Ga+(L<<3)>>3];O=+p[Ha+(K<<3)>>3];M=+p[Ha+(L<<3)>>3];p[Ia+(K<<3)>>3]=P*O-J*M;p[Ia+(L<<3)>>3]=J*O+P*M;K=K+2|0}while(K>>>0>>0);if(!Ja)break a;else{Ga=Ga+D|0;Ha=Ha+i|0;Ia=Ia+Y|0;Ja=Ja+-1|0}}}if(!v)if(s){K=e;r=c;S=o;z=w;while(1){p[S>>3]=+p[K>>3]*+p[r>>3];p[S+(C<<3)>>3]=+p[K+(C<<3)>>3]*+p[r+(C<<3)>>3];if(!z)break a;else{K=K+D|0;r=r+i|0;S=S+Y|0;z=z+-1|0}}}else{z=e;S=c;r=o;K=w;while(1){p[r>>3]=+p[z>>3]*+p[S>>3];if(!K)break a;else{z=z+D|0;S=S+i|0;r=r+Y|0;K=K+-1|0}}}if(s){K=e;r=c;S=o;z=w;while(1){p[S>>3]=+p[K>>3]*+p[r>>3];v=x;do{M=+p[K+(v<<3)>>3];L=v+1|0;P=+p[K+(L<<3)>>3];O=+p[r+(v<<3)>>3];J=+p[r+(L<<3)>>3];p[S+(v<<3)>>3]=M*O-P*J;p[S+(L<<3)>>3]=P*O+M*J;v=v+2|0}while(v>>>0>>0);p[S+(C<<3)>>3]=+p[K+(C<<3)>>3]*+p[r+(C<<3)>>3];if(!z)break;else{K=K+D|0;r=r+i|0;S=S+Y|0;z=z+-1|0}}}else{z=e;S=c;r=o;K=w;while(1){p[r>>3]=+p[z>>3]*+p[S>>3];s=x;do{J=+p[z+(s<<3)>>3];v=s+1|0;M=+p[z+(v<<3)>>3];O=+p[S+(s<<3)>>3];P=+p[S+(v<<3)>>3];p[r+(s<<3)>>3]=J*O-M*P;p[r+(v<<3)>>3]=M*O+J*P;s=s+2|0}while(s>>>0>>0);if(!K)break;else{z=z+D|0;S=S+i|0;r=r+Y|0;K=K+-1|0}}}}}while(0);C=m+36|0;x=f[C>>2]|0;if(x|0?(e=x+12|0,x=f[e>>2]|0,f[e>>2]=x+-1,(x|0)==1):0)XO(m);f[C>>2]=0;C=m+4|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;if((f[C>>2]|0)>0){E=f[m+40>>2]|0;x=0;do{f[E+(x<<2)>>2]=0;x=x+1|0}while((x|0)<(f[C>>2]|0))}C=f[m+44>>2]|0;if((C|0)!=(m+48|0))dX(C);C=l+36|0;m=f[C>>2]|0;if(m|0?(x=m+12|0,m=f[x>>2]|0,f[x>>2]=m+-1,(m|0)==1):0)XO(l);f[C>>2]=0;C=l+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[C>>2]|0)>0){d=f[l+40>>2]|0;m=0;do{f[d+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[C>>2]|0))}C=f[l+44>>2]|0;if((C|0)!=(l+48|0))dX(C);C=k+36|0;l=f[C>>2]|0;if(l|0?(m=l+12|0,l=f[m>>2]|0,f[m>>2]=l+-1,(l|0)==1):0)XO(k);f[C>>2]=0;C=k+4|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;if((f[C>>2]|0)>0){q=f[k+40>>2]|0;l=0;do{f[q+(l<<2)>>2]=0;l=l+1|0}while((l|0)<(f[C>>2]|0))}C=f[k+44>>2]|0;if((C|0)!=(k+48|0))dX(C);if(!(f[j+4>>2]|0)){u=h;return}u=h;return}function GR(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;if(a>>>0>2125763999){b=-1;return b|0}else{c=1650;d=0}do{e=c+d>>1;g=(f[33484+(e<<2)>>2]|0)<(a|0);d=g?e+1|0:d;c=g?c:e}while((d|0)<(c|0));b=f[33484+(c<<2)>>2]|0;return b|0}function HR(a,b,c,d,e,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=+j;k=+k;var l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0,F=0,G=0,H=0,J=0,M=0,N=0,O=0,P=0.0,Q=0,R=0.0,S=0.0,T=0,U=0.0,V=0.0,W=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0,ca=0.0,da=0.0,ea=0,fa=0,ga=0.0,ha=0.0,ia=0.0,ja=0,ka=0,la=0,ma=0,na=0,oa=0.0,pa=0.0,qa=0,ra=0,sa=0,ta=0,ua=0.0,va=0,wa=0,xa=0.0,ya=0,za=0.0;l=u;u=u+1104|0;m=l;o=m+8|0;f[m>>2]=o;q=m+4|0;f[q>>2]=h;if(h>>>0>136){r=FQa(h>>>0>536870911?-1:h<<3)|0;f[m>>2]=r;s=r}else s=o;r=(g|0)>30?g:30;t=b>>>2;b=e>>>2;e=(h|0)>0;a:do if(e){v=(d|0)==0;w=h<<2;if((g|0)>0)x=0;else{y=0;while(1){z=X(b,y)|0;p[s+(y<<3)>>3]=0.0;if(!v){FVa(d+(z<<2)|0,0,w|0)|0;n[d+(z+y<<2)>>2]=1.0}y=y+1|0;if((y|0)==(h|0))break a}}do{y=X(b,x)|0;z=d+(y<<2)|0;A=X(x,t)|0;B=0;C=0.0;do{D=+n[a+(B+A<<2)>>2];C=C+D*D;B=B+1|0}while((B|0)!=(g|0));p[s+(x<<3)>>3]=C;if(!v){FVa(z|0,0,w|0)|0;n[d+(y+x<<2)>>2]=1.0}x=x+1|0}while((x|0)!=(h|0))}while(0);b:do if((r|0)>0){x=h+-1|0;w=(h|0)>1;v=(g|0)>0;D=k;B=(d|0)==0;A=0;do{if(w){E=0;F=0}else break b;while(1){G=F;F=F+1|0;if((F|0)<(h|0)){H=a+((X(G,t)|0)<<2)|0;J=s+(G<<3)|0;M=d+((X(G,b)|0)<<2)|0;G=F;N=E;while(1){O=a+((X(G,t)|0)<<2)|0;P=+p[J>>3];Q=s+(G<<3)|0;R=+p[Q>>3];if(v){S=0.0;T=0;while(1){U=S+ +n[H+(T<<2)>>2]*+n[O+(T<<2)>>2];T=T+1|0;if((T|0)==(g|0)){V=U;break}else S=U}}else V=0.0;if(!(+K(+V)<=+L(+(P*R))*D)){S=V*2.0;U=P-R;W=+K(+S);Y=+K(+U);if(!(W>Y))if(U!=U|0.0!=0.0|U==0.0)Z=0.0;else{_=W/Y;$=Y;aa=_*_;ba=32}else{_=Y/W;$=W;aa=_*_;ba=32}if((ba|0)==32){ba=0;Z=$*+L(+(aa+1.0))}if(U<0.0){_=+L(+((Z-U)*.5/Z));ca=S/(Z*_*2.0);da=_}else{_=+L(+((U+Z)/(Z*2.0)));ca=_;da=S/(Z*_*2.0)}if(v){_=0.0;S=0.0;T=0;while(1){ea=H+(T<<2)|0;U=+n[ea>>2];fa=O+(T<<2)|0;W=+n[fa>>2];Y=ca*U+da*W;ga=ca*W-da*U;n[ea>>2]=Y;n[fa>>2]=ga;U=Y;Y=_+U*U;U=ga;ga=S+U*U;T=T+1|0;if((T|0)==(g|0)){ha=Y;ia=ga;break}else{_=Y;S=ga}}}else{ha=0.0;ia=0.0}p[J>>3]=ha;p[Q>>3]=ia;if(!B?(T=d+((X(G,b)|0)<<2)|0,e):0){O=0;do{fa=M+(O<<2)|0;S=+n[fa>>2];ea=T+(O<<2)|0;_=+n[ea>>2];n[fa>>2]=ca*S+da*_;n[ea>>2]=ca*_-da*S;O=O+1|0}while((O|0)!=(h|0));ja=1}else ja=1}else ja=N;G=G+1|0;if((G|0)==(h|0)){ka=ja;break}else N=ja}}else ka=E;if((F|0)==(x|0))break;else E=ka}A=A+1|0}while(ka&(A|0)<(r|0))}while(0);if(e){if((g|0)>0){r=0;do{ka=X(r,t)|0;da=0.0;E=0;do{ca=+n[a+(E+ka<<2)>>2];da=da+ca*ca;E=E+1|0}while((E|0)!=(g|0));ca=+L(+da);p[s+(r<<3)>>3]=ca;r=r+1|0}while((r|0)!=(h|0))}else FVa(s|0,0,h<<3|0)|0;r=h+-1|0;c:do if((h|0)>1){E=(g|0)>0;if(!d){ka=0;while(1){F=ka;ka=ka+1|0;if((ka|0)<(h|0)){ja=F;ba=ka;while(1){A=+p[s+(ja<<3)>>3]<+p[s+(ba<<3)>>3]?ba:ja;ba=ba+1|0;if((ba|0)==(h|0)){la=A;break}else ja=A}}else la=F;if((F|0)!=(la|0)){ja=s+(F<<3)|0;ba=s+(la<<3)|0;ca=+p[ja>>3];p[ja>>3]=+p[ba>>3];p[ba>>3]=ca}if((ka|0)==(r|0))break c}}else ma=0;do{ka=ma;ma=ma+1|0;if((ma|0)<(h|0)){ba=ka;ja=ma;while(1){A=+p[s+(ba<<3)>>3]<+p[s+(ja<<3)>>3]?ja:ba;ja=ja+1|0;if((ja|0)==(h|0)){na=A;break}else ba=A}}else na=ka;if((ka|0)!=(na|0)){ba=s+(ka<<3)|0;ja=s+(na<<3)|0;da=+p[ba>>3];p[ba>>3]=+p[ja>>3];p[ja>>3]=da;if(E){ja=X(ka,t)|0;ba=X(na,t)|0;F=0;do{A=a+(F+ja<<2)|0;x=a+(F+ba<<2)|0;B=f[A>>2]|0;f[A>>2]=f[x>>2];f[x>>2]=B;F=F+1|0}while((F|0)!=(g|0))}F=X(ka,b)|0;ba=X(na,b)|0;ja=0;do{B=d+(ja+F<<2)|0;x=d+(ja+ba<<2)|0;A=f[B>>2]|0;f[B>>2]=f[x>>2];f[x>>2]=A;ja=ja+1|0}while((ja|0)!=(h|0))}}while((ma|0)!=(r|0))}while(0);if(e){e=0;do{n[c+(e<<2)>>2]=+p[s+(e<<3)>>3];e=e+1|0}while((e|0)!=(h|0))}}if((d|0)!=0&(i|0)>0){d=(g|0)>0;da=1.0/+(g|0);ca=-da;ia=k*100.0;e=305419896;c=0;r=0;while(1){if((r|0)<(h|0))oa=+p[s+(r<<3)>>3];else oa=0.0;if(!(oa<=j)){pa=oa;qa=e;ra=c}else{ma=X(r,t)|0;b=(r|0)>0;na=0;la=e;E=c;while(1){if(d){ja=0;ba=la;F=E;while(1){ka=wVa(ba|0,0,-130063606,0)|0;A=qVa(ka|0,I|0,F|0,0)|0;ka=I;n[a+(ja+ma<<2)>>2]=(A&256|0)!=0|0!=0?da:ca;ja=ja+1|0;if((ja|0)==(g|0)){sa=A;ta=ka;break}else{ba=A;F=ka}}}else{sa=la;ta=E}d:do if(b){if(d){F=0;do{ba=X(F,t)|0;ja=0;k=0.0;do{k=k+ +n[a+(ja+ma<<2)>>2]*+n[a+(ja+ba<<2)>>2];ja=ja+1|0}while((ja|0)!=(g|0));ua=0.0;va=0;do{ja=a+(va+ma<<2)|0;ha=+n[ja>>2]-k*+n[a+(va+ba<<2)>>2];n[ja>>2]=ha;ua=ua+ +K(+ha);va=va+1|0}while((va|0)!=(g|0));k=ua>ia?1.0/ua:0.0;ba=0;do{ja=a+(ba+ma<<2)|0;n[ja>>2]=k*+n[ja>>2];ba=ba+1|0}while((ba|0)!=(g|0));F=F+1|0}while((F|0)!=(r|0))}else{F=0;do F=F+1|0;while((F|0)!=(r|0))}if(b){if(d)wa=0;else{F=0;while(1){F=F+1|0;if((F|0)==(r|0))break d}}do{F=X(wa,t)|0;ba=0;k=0.0;do{k=k+ +n[a+(ba+ma<<2)>>2]*+n[a+(ba+F<<2)>>2];ba=ba+1|0}while((ba|0)!=(g|0));xa=0.0;ya=0;do{ba=a+(ya+ma<<2)|0;ha=+n[ba>>2]-k*+n[a+(ya+F<<2)>>2];n[ba>>2]=ha;xa=xa+ +K(+ha);ya=ya+1|0}while((ya|0)!=(g|0));k=xa>ia?1.0/xa:0.0;F=0;do{ba=a+(F+ma<<2)|0;n[ba>>2]=k*+n[ba>>2];F=F+1|0}while((F|0)!=(g|0));wa=wa+1|0}while((wa|0)!=(r|0))}}while(0);if(d){F=0;k=0.0;while(1){ha=+n[a+(F+ma<<2)>>2];Z=k+ha*ha;F=F+1|0;if((F|0)==(g|0)){za=Z;break}else k=Z}}else za=0.0;k=+L(+za);if(!(k<=j)|(na|0)>98){pa=k;qa=sa;ra=ta;break}else{na=na+1|0;la=sa;E=ta}}}k=pa>j?1.0/pa:0.0;if(d){E=X(r,t)|0;la=0;do{na=a+(la+E<<2)|0;n[na>>2]=k*+n[na>>2];la=la+1|0}while((la|0)!=(g|0))}r=r+1|0;if((r|0)==(i|0))break;else{e=qa;c=ra}}}if((s|0)==(o|0)){u=l;return}HQa(s);f[m>>2]=o;f[q>>2]=136;u=l;return}function IR(a,b,c,d,e,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=+j;k=+k;var l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0,E=0,F=0,G=0,H=0,J=0,M=0,N=0,O=0,P=0.0,Q=0.0,R=0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,Y=0.0,Z=0.0,_=0.0,$=0,aa=0.0,ba=0.0,ca=0,da=0,ea=0.0,fa=0.0,ga=0.0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0.0,na=0.0,oa=0,pa=0,qa=0,ra=0,sa=0.0,ta=0,ua=0,va=0.0,wa=0,xa=0.0;l=u;u=u+1104|0;m=l;n=m+8|0;f[m>>2]=n;o=m+4|0;f[o>>2]=h;if(h>>>0>136){q=FQa(h>>>0>536870911?-1:h<<3)|0;f[m>>2]=q;r=q}else r=n;q=(g|0)>30?g:30;s=b>>>3;b=e>>>3;e=(h|0)>0;a:do if(e){t=(d|0)==0;v=h<<3;if((g|0)<=0)if(t){FVa(r|0,0,v|0)|0;break}else{w=0;while(1){x=X(b,w)|0;p[r+(w<<3)>>3]=0.0;FVa(d+(x<<3)|0,0,v|0)|0;p[d+(x+w<<3)>>3]=1.0;w=w+1|0;if((w|0)==(h|0))break a}}else y=0;do{w=X(b,y)|0;x=d+(w<<3)|0;z=X(y,s)|0;A=0;B=0.0;do{C=+p[a+(A+z<<3)>>3];B=B+C*C;A=A+1|0}while((A|0)!=(g|0));p[r+(y<<3)>>3]=B;if(!t){FVa(x|0,0,v|0)|0;p[d+(w+y<<3)>>3]=1.0}y=y+1|0}while((y|0)!=(h|0))}while(0);b:do if((q|0)>0){y=h+-1|0;v=(h|0)>1;t=(g|0)>0;A=(d|0)==0;z=0;do{if(v){D=0;E=0}else break b;while(1){F=E;E=E+1|0;if((E|0)<(h|0)){G=a+((X(F,s)|0)<<3)|0;H=r+(F<<3)|0;J=d+((X(F,b)|0)<<3)|0;F=E;M=D;while(1){N=a+((X(F,s)|0)<<3)|0;C=+p[H>>3];O=r+(F<<3)|0;P=+p[O>>3];if(t){Q=0.0;R=0;while(1){S=Q+ +p[G+(R<<3)>>3]*+p[N+(R<<3)>>3];R=R+1|0;if((R|0)==(g|0)){T=S;break}else Q=S}}else T=0.0;if(!(+K(+T)<=+L(+(C*P))*k)){Q=T*2.0;S=C-P;U=+K(+Q);V=+K(+S);if(!(U>V))if(S!=S|0.0!=0.0|S==0.0)W=0.0;else{Y=U/V;Z=V;_=Y*Y;$=32}else{Y=V/U;Z=U;_=Y*Y;$=32}if(($|0)==32){$=0;W=Z*+L(+(_+1.0))}if(S<0.0){Y=+L(+((W-S)*.5/W));aa=Q/(W*Y*2.0);ba=Y}else{Y=+L(+((S+W)/(W*2.0)));aa=Y;ba=Q/(W*Y*2.0)}if(t){Y=0.0;Q=0.0;R=0;while(1){ca=G+(R<<3)|0;S=+p[ca>>3];da=N+(R<<3)|0;U=+p[da>>3];V=aa*S+ba*U;ea=aa*U-ba*S;p[ca>>3]=V;p[da>>3]=ea;S=Y+V*V;V=Q+ea*ea;R=R+1|0;if((R|0)==(g|0)){fa=S;ga=V;break}else{Y=S;Q=V}}}else{fa=0.0;ga=0.0}p[H>>3]=fa;p[O>>3]=ga;if(!A?(R=d+((X(F,b)|0)<<3)|0,e):0){N=0;do{da=J+(N<<3)|0;Q=+p[da>>3];ca=R+(N<<3)|0;Y=+p[ca>>3];p[da>>3]=aa*Q+ba*Y;p[ca>>3]=aa*Y-ba*Q;N=N+1|0}while((N|0)!=(h|0));ha=1}else ha=1}else ha=M;F=F+1|0;if((F|0)==(h|0)){ia=ha;break}else M=ha}}else ia=D;if((E|0)==(y|0))break;else D=ia}z=z+1|0}while(ia&(z|0)<(q|0))}while(0);if(e){if((g|0)>0){q=0;do{ia=X(q,s)|0;ba=0.0;D=0;do{aa=+p[a+(D+ia<<3)>>3];ba=ba+aa*aa;D=D+1|0}while((D|0)!=(g|0));aa=+L(+ba);p[r+(q<<3)>>3]=aa;q=q+1|0}while((q|0)!=(h|0))}else FVa(r|0,0,h<<3|0)|0;q=h+-1|0;c:do if((h|0)>1){D=(g|0)>0;if(!d){ia=0;while(1){E=ia;ia=ia+1|0;if((ia|0)<(h|0)){ha=E;$=ia;while(1){z=+p[r+(ha<<3)>>3]<+p[r+($<<3)>>3]?$:ha;$=$+1|0;if(($|0)==(h|0)){ja=z;break}else ha=z}}else ja=E;if((E|0)!=(ja|0)){ha=r+(E<<3)|0;$=r+(ja<<3)|0;aa=+p[ha>>3];p[ha>>3]=+p[$>>3];p[$>>3]=aa}if((ia|0)==(q|0))break c}}else ka=0;do{ia=ka;ka=ka+1|0;if((ka|0)<(h|0)){$=ia;ha=ka;while(1){z=+p[r+($<<3)>>3]<+p[r+(ha<<3)>>3]?ha:$;ha=ha+1|0;if((ha|0)==(h|0)){la=z;break}else $=z}}else la=ia;if((ia|0)!=(la|0)){$=r+(ia<<3)|0;ha=r+(la<<3)|0;ba=+p[$>>3];p[$>>3]=+p[ha>>3];p[ha>>3]=ba;if(D){ha=X(ia,s)|0;$=X(la,s)|0;E=0;do{z=a+(E+ha<<3)|0;y=a+(E+$<<3)|0;ba=+p[z>>3];p[z>>3]=+p[y>>3];p[y>>3]=ba;E=E+1|0}while((E|0)!=(g|0))}E=X(ia,b)|0;$=X(la,b)|0;ha=0;do{y=d+(ha+E<<3)|0;z=d+(ha+$<<3)|0;ba=+p[y>>3];p[y>>3]=+p[z>>3];p[z>>3]=ba;ha=ha+1|0}while((ha|0)!=(h|0))}}while((ka|0)!=(q|0))}while(0);if(e){e=0;do{p[c+(e<<3)>>3]=+p[r+(e<<3)>>3];e=e+1|0}while((e|0)!=(h|0))}}if((d|0)!=0&(i|0)>0){d=(g|0)>0;ba=1.0/+(g|0);aa=-ba;ga=k*100.0;e=305419896;c=0;q=0;while(1){if((q|0)<(h|0))ma=+p[r+(q<<3)>>3];else ma=0.0;if(!(ma<=j)){na=ma;oa=e;pa=c}else{ka=X(q,s)|0;b=(q|0)>0;la=0;ja=e;D=c;while(1){if(d){ha=0;$=ja;E=D;while(1){ia=wVa($|0,0,-130063606,0)|0;z=qVa(ia|0,I|0,E|0,0)|0;ia=I;p[a+(ha+ka<<3)>>3]=(z&256|0)!=0|0!=0?ba:aa;ha=ha+1|0;if((ha|0)==(g|0)){qa=z;ra=ia;break}else{$=z;E=ia}}}else{qa=ja;ra=D}d:do if(b){if(d){E=0;do{$=X(E,s)|0;ha=0;k=0.0;do{k=k+ +p[a+(ha+ka<<3)>>3]*+p[a+(ha+$<<3)>>3];ha=ha+1|0}while((ha|0)!=(g|0));sa=0.0;ta=0;do{ha=a+(ta+ka<<3)|0;fa=+p[ha>>3]-k*+p[a+(ta+$<<3)>>3];p[ha>>3]=fa;sa=sa+ +K(+fa);ta=ta+1|0}while((ta|0)!=(g|0));k=sa>ga?1.0/sa:0.0;$=0;do{ha=a+($+ka<<3)|0;p[ha>>3]=k*+p[ha>>3];$=$+1|0}while(($|0)!=(g|0));E=E+1|0}while((E|0)!=(q|0))}else{E=0;do E=E+1|0;while((E|0)!=(q|0))}if(b){if(d)ua=0;else{E=0;while(1){E=E+1|0;if((E|0)==(q|0))break d}}do{E=X(ua,s)|0;$=0;k=0.0;do{k=k+ +p[a+($+ka<<3)>>3]*+p[a+($+E<<3)>>3];$=$+1|0}while(($|0)!=(g|0));va=0.0;wa=0;do{$=a+(wa+ka<<3)|0;fa=+p[$>>3]-k*+p[a+(wa+E<<3)>>3];p[$>>3]=fa;va=va+ +K(+fa);wa=wa+1|0}while((wa|0)!=(g|0));k=va>ga?1.0/va:0.0;E=0;do{$=a+(E+ka<<3)|0;p[$>>3]=k*+p[$>>3];E=E+1|0}while((E|0)!=(g|0));ua=ua+1|0}while((ua|0)!=(q|0))}}while(0);if(d){E=0;k=0.0;while(1){fa=+p[a+(E+ka<<3)>>3];W=k+fa*fa;E=E+1|0;if((E|0)==(g|0)){xa=W;break}else k=W}}else xa=0.0;k=+L(+xa);if(!(k<=j)|(la|0)>98){na=k;oa=qa;pa=ra;break}else{la=la+1|0;ja=qa;D=ra}}}k=na>j?1.0/na:0.0;if(d){D=X(q,s)|0;ja=0;do{la=a+(ja+D<<3)|0;p[la>>3]=k*+p[la>>3];ja=ja+1|0}while((ja|0)!=(g|0))}q=q+1|0;if((q|0)==(i|0))break;else{e=oa;c=pa}}}if((r|0)==(n|0)){u=l;return}HQa(r);f[m>>2]=n;f[o>>2]=136;u=l;return}function JR(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0,O=0.0,P=0,Q=0,R=0,S=0.0;c=u;u=u+1184|0;d=c+1168|0;e=c+1112|0;g=c+72|0;h=c+16|0;i=c;yV(d,40088);do if((HJ(a)|0)==65536){j=f[a+4>>2]|0;f[e>>2]=f[j>>2];k=e+4|0;l=j+4|0;f[k>>2]=f[l>>2];m=e+8|0;f[m>>2]=f[j+8>>2];f[e+12>>2]=f[j+12>>2];o=e+16|0;f[o>>2]=f[j+16>>2];f[e+20>>2]=f[j+20>>2];f[e+24>>2]=f[j+24>>2];f[e+28>>2]=f[j+28>>2];f[e+32>>2]=f[j+32>>2];q=f[j+36>>2]|0;f[e+36>>2]=q;f[e+40>>2]=m;r=e+48|0;s=e+44|0;f[s>>2]=r;f[r>>2]=0;f[e+52>>2]=0;if(q|0){t=q+12|0;f[t>>2]=(f[t>>2]|0)+1}if((f[l>>2]|0)<3){l=f[j+44>>2]|0;t=f[s>>2]|0;f[t>>2]=f[l>>2];f[t+4>>2]=f[l+4>>2];v=m;w=r;x=o;y=s;z=e;break}else{f[k>>2]=0;WO(e,j);v=m;w=r;x=o;y=s;z=e;break}}else{DJ(e,a,-1);v=e+8|0;w=e+48|0;x=e+16|0;y=e+44|0;z=e}while(0);a=f[z>>2]&4095;z=f[v>>2]|0;s=f[w>>2]|0;o=f[x>>2]|0;if(o){r=f[e+4>>2]|0;if((r|0)<3)A=X(f[e+12>>2]|0,z)|0;else{m=f[e+40>>2]|0;j=0;k=1;while(1){l=X(f[m+(j<<2)>>2]|0,k)|0;j=j+1|0;if((j|0)==(r|0)){A=l;break}else k=l}}if(!((r|0)==0|(A|0)==0))B=z;else C=14}else C=14;if((C|0)==14){f[g>>2]=0;f[g+4>>2]=0;D=JV(g,12)|0;E=170159;F=D+12|0;do{b[D>>0]=b[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0));EP(-215,g,170172,170104,763);KV(g);B=f[v>>2]|0}if(!((a+-5|0)>>>0<2?(B|0)==(f[e+12>>2]|0):0)){f[g>>2]=0;f[g+4>>2]=0;D=JV(g,48)|0;E=170184;F=D+48|0;do{b[D>>0]=b[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0));EP(-215,g,170172,170104,764);KV(g)}E=(z|0)==2;a:do if((a|0)==5){if(E){D=o+s|0;G=+n[o>>2]*+n[D+4>>2]-+n[o+4>>2]*+n[D>>2];break}switch(z|0){case 3:{D=o+s|0;H=+n[D+4>>2];F=o+(s<<1)|0;I=+n[F+8>>2];J=+n[D+8>>2];K=+n[F+4>>2];L=+n[D>>2];M=+n[F>>2];G=(K*L-H*M)*+n[o+8>>2]+((H*I-J*K)*+n[o>>2]-(I*L-J*M)*+n[o+4>>2]);break a;break}case 1:{G=+n[o>>2];break a;break}default:{F=(X(z,z)|0)<<2;D=g+8|0;f[g>>2]=D;B=g+4|0;f[B>>2]=F;if(F>>>0>1032){v=FQa(F)|0;f[g>>2]=v;N=v}else N=D;v=h+4|0;f[v>>2]=2;F=h+8|0;f[F>>2]=z;f[h+12>>2]=z;C=h+16|0;f[C>>2]=N;f[h+20>>2]=N;A=h+24|0;r=h+40|0;k=A+8|0;f[k>>2]=0;f[k+4>>2]=0;f[r>>2]=F;k=h+48|0;j=h+44|0;f[j>>2]=k;m=z<<2;f[h>>2]=1124024325;f[k>>2]=m;f[h+52>>2]=4;l=N+(X(f[F>>2]|0,m)|0)|0;f[h+28>>2]=l;f[A>>2]=l+(0-m)+m;m=i+8|0;f[m>>2]=0;f[m+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=h;eM(e,i);m=tY(f[C>>2]|0,f[k>>2]|0,z,0,0,0)|0;M=+(m|0);if((m|0)!=0&(z|0)>0){m=f[C>>2]|0;l=f[f[j>>2]>>2]|0;A=0;J=M;while(1){F=m+(X(l,A)|0)+(A<<2)|0;L=J*+n[F>>2];A=A+1|0;if((A|0)==(z|0)){O=L;break}else J=L}}else O=M;A=h+36|0;l=f[A>>2]|0;if(l|0?(m=l+12|0,l=f[m>>2]|0,f[m>>2]=l+-1,(l|0)==1):0)XO(h);f[A>>2]=0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;f[C+12>>2]=0;if((f[v>>2]|0)>0){A=f[r>>2]|0;l=0;do{f[A+(l<<2)>>2]=0;l=l+1|0}while((l|0)<(f[v>>2]|0))}v=f[j>>2]|0;if((v|0)!=(k|0))dX(v);v=f[g>>2]|0;if((v|0)!=(D|0)){if(v|0)HQa(v);f[g>>2]=D;f[B>>2]=1032}G=O;break a}}}else{if(E){v=o+s|0;G=+p[o>>3]*+p[v+8>>3]-+p[o+8>>3]*+p[v>>3];break}switch(z|0){case 3:{v=o+s|0;M=+p[v+8>>3];l=o+(s<<1)|0;J=+p[l+16>>3];L=+p[v+16>>3];I=+p[l+8>>3];K=+p[v>>3];H=+p[l>>3];G=+p[o+16>>3]*(I*K-M*H)+(+p[o>>3]*(M*J-L*I)-+p[o+8>>3]*(J*K-L*H));break a;break}case 1:{G=+p[o>>3];break a;break}default:{l=(X(z,z)|0)<<3;v=g+8|0;f[g>>2]=v;A=g+4|0;f[A>>2]=l;if(l>>>0>1032){r=FQa(l)|0;f[g>>2]=r;P=r}else P=v;r=h+4|0;f[r>>2]=2;l=h+8|0;f[l>>2]=z;f[h+12>>2]=z;C=h+16|0;f[C>>2]=P;f[h+20>>2]=P;m=h+24|0;F=h+40|0;t=m+8|0;f[t>>2]=0;f[t+4>>2]=0;f[F>>2]=l;t=h+48|0;q=h+44|0;f[q>>2]=t;Q=z<<3;f[h>>2]=1124024326;f[t>>2]=Q;f[h+52>>2]=8;R=P+(X(f[l>>2]|0,Q)|0)|0;f[h+28>>2]=R;f[m>>2]=R+(0-Q)+Q;Q=i+8|0;f[Q>>2]=0;f[Q+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=h;eM(e,i);Q=vY(f[C>>2]|0,f[t>>2]|0,z,0,0,0)|0;H=+(Q|0);if((Q|0)!=0&(z|0)>0){Q=f[C>>2]|0;R=f[f[q>>2]>>2]|0;m=0;L=H;while(1){l=Q+(X(R,m)|0)+(m<<3)|0;K=L*+p[l>>3];m=m+1|0;if((m|0)==(z|0)){S=K;break}else L=K}}else S=H;m=h+36|0;R=f[m>>2]|0;if(R|0?(Q=R+12|0,R=f[Q>>2]|0,f[Q>>2]=R+-1,(R|0)==1):0)XO(h);f[m>>2]=0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;f[C+12>>2]=0;if((f[r>>2]|0)>0){m=f[F>>2]|0;R=0;do{f[m+(R<<2)>>2]=0;R=R+1|0}while((R|0)<(f[r>>2]|0))}r=f[q>>2]|0;if((r|0)!=(t|0))dX(r);r=f[g>>2]|0;if((r|0)!=(v|0)){if(r|0)HQa(r);f[g>>2]=v;f[A>>2]=1032}G=S;break a}}}while(0);g=e+36|0;h=f[g>>2]|0;if(h|0?(z=h+12|0,h=f[z>>2]|0,f[z>>2]=h+-1,(h|0)==1):0)XO(e);f[g>>2]=0;g=e+4|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;if((f[g>>2]|0)>0){x=f[e+40>>2]|0;e=0;do{f[x+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(f[g>>2]|0))}g=f[y>>2]|0;if((g|0)!=(w|0))dX(g);if(!(f[d+4>>2]|0)){u=c;return +G}u=c;return +G}function KR(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0.0,Aa=0.0,Ba=0.0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0.0,Sa=0.0,Ta=0.0,Ua=0.0,Va=0,Wa=0.0,Xa=0.0,Ya=0.0,Za=0.0,_a=0.0,$a=0.0,ab=0.0,bb=0.0,cb=0.0,db=0.0,eb=0.0,fb=0,gb=0,hb=0,ib=0;e=u;u=u+1440|0;g=e+1376|0;h=e+1368|0;i=e+1312|0;j=e+112|0;k=e+1256|0;l=e+56|0;m=e;o=e+1240|0;q=e+1224|0;r=e+1208|0;s=e+1152|0;yV(h,40108);do if((HJ(a)|0)==65536){t=f[a+4>>2]|0;f[i>>2]=f[t>>2];v=i+4|0;w=t+4|0;f[v>>2]=f[w>>2];x=i+8|0;f[x>>2]=f[t+8>>2];f[i+12>>2]=f[t+12>>2];f[i+16>>2]=f[t+16>>2];f[i+20>>2]=f[t+20>>2];f[i+24>>2]=f[t+24>>2];f[i+28>>2]=f[t+28>>2];f[i+32>>2]=f[t+32>>2];y=f[t+36>>2]|0;f[i+36>>2]=y;f[i+40>>2]=x;x=i+48|0;z=i+44|0;f[z>>2]=x;f[x>>2]=0;f[i+52>>2]=0;if(y|0){x=y+12|0;f[x>>2]=(f[x>>2]|0)+1}if((f[w>>2]|0)<3){w=f[t+44>>2]|0;x=f[z>>2]|0;f[x>>2]=f[w>>2];f[x+4>>2]=f[w+4>>2];A=i;break}else{f[v>>2]=0;WO(i,t);A=i;break}}else{DJ(i,a,-1);A=i}while(0);a=f[A>>2]|0;A=a&4095;t=(A|0)==5;v=(A|0)==6;if((A+-5|0)>>>0>=2){f[g>>2]=0;f[g+4>>2]=0;B=JV(g,22)|0;C=170272;D=B+22|0;do{b[B>>0]=b[C>>0]|0;B=B+1|0;C=C+1|0}while((B|0)<(D|0));EP(-215,g,170295,170104,839);KV(g)}w=(a>>>3&511)+1|0;x=w<<(47696>>>(A<<1&14)&3);z=f[i+8>>2]|0;y=f[i+12>>2]|0;do if((d|0)==1){E=(y|0)<(z|0)?y:z;F=X(E,z)|0;G=X(E,y)|0;H=(X(F+E+G|0,x)|0)+8|0;I=j+8|0;f[j>>2]=I;J=j+4|0;f[J>>2]=H;if(H>>>0>1032){K=FQa(H)|0;f[j>>2]=K;L=K}else L=I;K=x+-1+L&0-x;H=K;M=A|1124007936;f[k>>2]=M;N=k+4|0;f[N>>2]=2;O=k+8|0;f[O>>2]=z;P=k+12|0;f[P>>2]=E;Q=k+16|0;f[Q>>2]=H;R=k+20|0;f[R>>2]=H;S=k+24|0;T=k+28|0;U=k+40|0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;f[S+12>>2]=0;f[U>>2]=O;V=k+48|0;W=k+44|0;f[W>>2]=V;f[k+52>>2]=0;f[V>>2]=0;if((F|0)!=0&(K|0)==0){f[g>>2]=0;f[g+4>>2]=0;B=JV(g,26)|0;C=346743;D=B+26|0;do{b[B>>0]=b[C>>0]|0;B=B+1|0;C=C+1|0}while((B|0)<(D|0));EP(-215,g,346770,346774,500);KV(g);Y=f[P>>2]|0;Z=f[k>>2]|0;_=f[W>>2]|0;$=f[R>>2]|0;aa=f[Q>>2]|0}else{Y=E;Z=M;_=V;$=H;aa=H}K=w<<(47696>>>(a<<1&14)&3);ba=X(Y,K)|0;f[k>>2]=Z|16384;f[_>>2]=ba;f[_+4>>2]=K;ca=$+(X(f[O>>2]|0,ba)|0)|0;f[T>>2]=ca;f[S>>2]=ca+(0-ba)+ba;ba=aa+(X(F,x)|0)|0;f[l>>2]=M;ca=l+4|0;f[ca>>2]=2;da=l+8|0;f[da>>2]=E;ea=l+12|0;f[ea>>2]=1;fa=l+16|0;f[fa>>2]=ba;ga=l+20|0;f[ga>>2]=ba;ha=l+24|0;ia=l+28|0;ja=l+40|0;f[ha>>2]=0;f[ha+4>>2]=0;f[ha+8>>2]=0;f[ha+12>>2]=0;f[ja>>2]=da;ka=l+48|0;la=l+44|0;f[la>>2]=ka;f[l+52>>2]=0;f[ka>>2]=0;if((E|0)!=0&(ba|0)==0){f[g>>2]=0;f[g+4>>2]=0;B=JV(g,26)|0;C=346743;D=B+26|0;do{b[B>>0]=b[C>>0]|0;B=B+1|0;C=C+1|0}while((B|0)<(D|0));EP(-215,g,346770,346774,500);KV(g);ma=f[ea>>2]|0;na=f[l>>2]|0;oa=f[la>>2]|0;pa=f[ga>>2]|0;qa=f[fa>>2]|0}else{ma=1;na=M;oa=ka;pa=ba;qa=ba}F=X(ma,K)|0;f[l>>2]=na|16384;f[oa>>2]=F;f[oa+4>>2]=K;S=pa+(X(f[da>>2]|0,F)|0)|0;f[ia>>2]=S;f[ha>>2]=S+(0-F)+F;F=qa+(X(E,x)|0)|0;f[m>>2]=M;S=m+4|0;f[S>>2]=2;T=m+8|0;f[T>>2]=E;O=m+12|0;f[O>>2]=y;H=m+16|0;f[H>>2]=F;R=m+20|0;f[R>>2]=F;P=m+24|0;ra=m+28|0;sa=m+40|0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;f[sa>>2]=T;ta=m+48|0;ua=m+44|0;f[ua>>2]=ta;f[m+52>>2]=0;f[ta>>2]=0;if((G|0)!=0&(F|0)==0){f[g>>2]=0;f[g+4>>2]=0;B=JV(g,26)|0;C=346743;D=B+26|0;do{b[B>>0]=b[C>>0]|0;B=B+1|0;C=C+1|0}while((B|0)<(D|0));EP(-215,g,346770,346774,500);KV(g);va=f[O>>2]|0;wa=f[m>>2]|0;xa=f[ua>>2]|0;ya=f[R>>2]|0}else{va=y;wa=M;xa=ta;ya=F}G=X(va,K)|0;f[m>>2]=wa|16384;f[xa>>2]=G;f[xa+4>>2]=K;E=ya+(X(f[T>>2]|0,G)|0)|0;f[ra>>2]=E;f[P>>2]=E+(0-G)+G;f[o+8>>2]=0;f[o+12>>2]=0;f[o>>2]=16842752;f[o+4>>2]=i;G=q+8|0;f[G>>2]=0;f[G+4>>2]=0;f[q>>2]=33619968;f[q+4>>2]=l;G=r+8|0;f[G>>2]=0;f[G+4>>2]=0;f[r>>2]=33619968;f[r+4>>2]=k;G=s+8|0;f[G>>2]=0;f[G+4>>2]=0;f[s>>2]=33619968;f[s+4>>2]=m;yV(g,40128);LR(o,q,r,s,0);f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=l;f[o+8>>2]=0;f[o+12>>2]=0;f[o>>2]=16842752;f[o+4>>2]=k;f[q+8>>2]=0;f[q+12>>2]=0;f[q>>2]=16842752;f[q+4>>2]=m;f[s>>2]=1124007936;G=s+4|0;E=s+8|0;ha=s+40|0;B=G;D=B+36|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(D|0));f[ha>>2]=E;P=s+48|0;ra=s+44|0;f[ra>>2]=P;f[P>>2]=0;f[s+52>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;f[r>>2]=16842752;f[r+4>>2]=s;MR(g,o,q,r,c);T=s+36|0;K=f[T>>2]|0;if(K|0?(F=K+12|0,K=f[F>>2]|0,f[F>>2]=K+-1,(K|0)==1):0)XO(s);f[T>>2]=0;T=s+16|0;f[T>>2]=0;f[T+4>>2]=0;f[T+8>>2]=0;f[T+12>>2]=0;if((f[G>>2]|0)>0){T=f[ha>>2]|0;K=0;do{f[T+(K<<2)>>2]=0;K=K+1|0}while((K|0)<(f[G>>2]|0))}G=f[ra>>2]|0;if((G|0)!=(P|0))dX(G);G=f[fa>>2]|0;if(t){za=+n[G>>2];if(!(za>=1.1920928955078125e-07))Aa=0.0;else Aa=+n[G+(y+-1<<2)>>2]/za}else{za=+p[G>>3];if(!(za>=2.220446049250313e-16))Aa=0.0;else Aa=+p[G+(y+-1<<3)>>3]/za}G=m+36|0;K=f[G>>2]|0;if(K|0?(T=K+12|0,K=f[T>>2]|0,f[T>>2]=K+-1,(K|0)==1):0)XO(m);f[G>>2]=0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;if((f[S>>2]|0)>0){G=f[sa>>2]|0;K=0;do{f[G+(K<<2)>>2]=0;K=K+1|0}while((K|0)<(f[S>>2]|0))}S=f[ua>>2]|0;if((S|0)!=(ta|0))dX(S);S=l+36|0;K=f[S>>2]|0;if(K|0?(G=K+12|0,K=f[G>>2]|0,f[G>>2]=K+-1,(K|0)==1):0)XO(l);f[S>>2]=0;f[fa>>2]=0;f[fa+4>>2]=0;f[fa+8>>2]=0;f[fa+12>>2]=0;if((f[ca>>2]|0)>0){S=f[ja>>2]|0;K=0;do{f[S+(K<<2)>>2]=0;K=K+1|0}while((K|0)<(f[ca>>2]|0))}ca=f[la>>2]|0;if((ca|0)!=(ka|0))dX(ca);ca=k+36|0;K=f[ca>>2]|0;do if(K|0){S=K+12|0;ja=f[S>>2]|0;f[S>>2]=ja+-1;if((ja|0)!=1)break;XO(k)}while(0);f[ca>>2]=0;f[Q>>2]=0;f[Q+4>>2]=0;f[Q+8>>2]=0;f[Q+12>>2]=0;if((f[N>>2]|0)>0){K=f[U>>2]|0;ka=0;do{f[K+(ka<<2)>>2]=0;ka=ka+1|0}while((ka|0)<(f[N>>2]|0))}N=f[W>>2]|0;if((N|0)!=(V|0))dX(N);N=f[j>>2]|0;if((N|0)!=(I|0)){if(N|0)HQa(N);f[j>>2]=I;f[J>>2]=1032}Ba=Aa}else{if((z|0)!=(y|0)){f[g>>2]=0;f[g+4>>2]=0;N=JV(g,6)|0;b[N>>0]=b[170302]|0;b[N+1>>0]=b[170303]|0;b[N+2>>0]=b[170304]|0;b[N+3>>0]=b[170305]|0;b[N+4>>0]=b[170306]|0;b[N+5>>0]=b[170307]|0;EP(-215,g,170295,170104,863);KV(g)}if((d|0)==2){N=X(y,y)|0;ka=(X((N<<1)+y|0,x)|0)+8|0;K=j+8|0;f[j>>2]=K;U=j+4|0;f[U>>2]=ka;if(ka>>>0>1032){Q=FQa(ka)|0;f[j>>2]=Q;Ca=Q}else Ca=K;Q=x+-1+Ca&0-x;ka=Q;ca=A|1124007936;f[k>>2]=ca;la=k+4|0;f[la>>2]=2;ja=k+8|0;f[ja>>2]=y;S=k+12|0;f[S>>2]=y;fa=k+16|0;f[fa>>2]=ka;ta=k+20|0;f[ta>>2]=ka;ua=k+24|0;G=k+28|0;sa=k+40|0;f[ua>>2]=0;f[ua+4>>2]=0;f[ua+8>>2]=0;f[ua+12>>2]=0;f[sa>>2]=ja;H=k+48|0;P=k+44|0;f[P>>2]=H;f[k+52>>2]=0;f[H>>2]=0;ra=(N|0)!=0;if(ra&(Q|0)==0){f[g>>2]=0;f[g+4>>2]=0;B=JV(g,26)|0;C=346743;D=B+26|0;do{b[B>>0]=b[C>>0]|0;B=B+1|0;C=C+1|0}while((B|0)<(D|0));EP(-215,g,346770,346774,500);KV(g);Da=f[S>>2]|0;Ea=f[k>>2]|0;Fa=f[P>>2]|0;Ga=f[ta>>2]|0;Ha=f[fa>>2]|0}else{Da=y;Ea=ca;Fa=H;Ga=ka;Ha=ka}J=w<<(47696>>>(a<<1&14)&3);I=X(Da,J)|0;f[k>>2]=Ea|16384;f[Fa>>2]=I;f[Fa+4>>2]=J;V=Ga+(X(f[ja>>2]|0,I)|0)|0;f[G>>2]=V;f[ua>>2]=V+(0-I)+I;I=Ha+(X(N,x)|0)|0;f[l>>2]=ca;V=l+4|0;f[V>>2]=2;W=l+8|0;f[W>>2]=y;Q=l+12|0;f[Q>>2]=1;T=l+16|0;f[T>>2]=I;ha=l+20|0;f[ha>>2]=I;E=l+24|0;F=l+28|0;M=l+40|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;f[M>>2]=W;R=l+48|0;O=l+44|0;f[O>>2]=R;f[l+52>>2]=0;f[R>>2]=0;if((y|0)!=0&(I|0)==0){f[g>>2]=0;f[g+4>>2]=0;B=JV(g,26)|0;C=346743;D=B+26|0;do{b[B>>0]=b[C>>0]|0;B=B+1|0;C=C+1|0}while((B|0)<(D|0));EP(-215,g,346770,346774,500);KV(g);Ia=f[Q>>2]|0;Ja=f[l>>2]|0;Ka=f[O>>2]|0;La=f[ha>>2]|0;Ma=f[T>>2]|0}else{Ia=1;Ja=ca;Ka=R;La=I;Ma=I}N=X(Ia,J)|0;f[l>>2]=Ja|16384;f[Ka>>2]=N;f[Ka+4>>2]=J;ua=La+(X(f[W>>2]|0,N)|0)|0;f[F>>2]=ua;f[E>>2]=ua+(0-N)+N;N=Ma+(X(y,x)|0)|0;f[m>>2]=ca;ua=m+4|0;f[ua>>2]=2;G=m+8|0;f[G>>2]=y;ja=m+12|0;f[ja>>2]=y;ka=m+16|0;f[ka>>2]=N;ta=m+20|0;f[ta>>2]=N;S=m+24|0;ia=m+28|0;da=m+40|0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;f[S+12>>2]=0;f[da>>2]=G;ba=m+48|0;ga=m+44|0;f[ga>>2]=ba;f[m+52>>2]=0;f[ba>>2]=0;if(ra&(N|0)==0){f[g>>2]=0;f[g+4>>2]=0;B=JV(g,26)|0;C=346743;D=B+26|0;do{b[B>>0]=b[C>>0]|0;B=B+1|0;C=C+1|0}while((B|0)<(D|0));EP(-215,g,346770,346774,500);KV(g);Na=f[ja>>2]|0;Oa=f[m>>2]|0;Pa=f[ga>>2]|0;Qa=f[ta>>2]|0}else{Na=y;Oa=ca;Pa=ba;Qa=N}ra=X(Na,J)|0;f[m>>2]=Oa|16384;f[Pa>>2]=ra;f[Pa+4>>2]=J;E=Qa+(X(f[G>>2]|0,ra)|0)|0;f[ia>>2]=E;f[S>>2]=E+(0-ra)+ra;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=i;ra=o+8|0;f[ra>>2]=0;f[ra+4>>2]=0;f[o>>2]=33619968;f[o+4>>2]=l;ra=q+8|0;f[ra>>2]=0;f[ra+4>>2]=0;f[q>>2]=33619968;f[q+4>>2]=m;NR(g,o,q)|0;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=m;ra=o+8|0;f[ra>>2]=0;f[ra+4>>2]=0;f[o>>2]=33619968;f[o+4>>2]=k;DD(g,o);f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=l;f[o+8>>2]=0;f[o+12>>2]=0;f[o>>2]=16842752;f[o+4>>2]=k;f[q+8>>2]=0;f[q+12>>2]=0;f[q>>2]=16842752;f[q+4>>2]=m;f[s>>2]=1124007936;ra=s+4|0;E=s+8|0;F=s+40|0;B=ra;D=B+36|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(D|0));f[F>>2]=E;S=s+48|0;ia=s+44|0;f[ia>>2]=S;f[S>>2]=0;f[s+52>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;f[r>>2]=16842752;f[r+4>>2]=s;MR(g,o,q,r,c);G=s+36|0;J=f[G>>2]|0;if(J|0?(N=J+12|0,J=f[N>>2]|0,f[N>>2]=J+-1,(J|0)==1):0)XO(s);f[G>>2]=0;G=s+16|0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;if((f[ra>>2]|0)>0){G=f[F>>2]|0;J=0;do{f[G+(J<<2)>>2]=0;J=J+1|0}while((J|0)<(f[ra>>2]|0))}ra=f[ia>>2]|0;if((ra|0)!=(S|0))dX(ra);ra=f[T>>2]|0;if(t){za=+n[ra>>2];if(!(za>=1.1920928955078125e-07))Ra=0.0;else Ra=+n[ra+(y+-1<<2)>>2]/za}else{za=+p[ra>>3];if(!(za>=2.220446049250313e-16))Ra=0.0;else Ra=+p[ra+(y+-1<<3)>>3]/za}ra=m+36|0;J=f[ra>>2]|0;if(J|0?(G=J+12|0,J=f[G>>2]|0,f[G>>2]=J+-1,(J|0)==1):0)XO(m);f[ra>>2]=0;f[ka>>2]=0;f[ka+4>>2]=0;f[ka+8>>2]=0;f[ka+12>>2]=0;if((f[ua>>2]|0)>0){ra=f[da>>2]|0;J=0;do{f[ra+(J<<2)>>2]=0;J=J+1|0}while((J|0)<(f[ua>>2]|0))}ua=f[ga>>2]|0;if((ua|0)!=(ba|0))dX(ua);ua=l+36|0;J=f[ua>>2]|0;do if(J|0){ra=J+12|0;da=f[ra>>2]|0;f[ra>>2]=da+-1;if((da|0)!=1)break;XO(l)}while(0);f[ua>>2]=0;f[T>>2]=0;f[T+4>>2]=0;f[T+8>>2]=0;f[T+12>>2]=0;if((f[V>>2]|0)>0){J=f[M>>2]|0;ba=0;do{f[J+(ba<<2)>>2]=0;ba=ba+1|0}while((ba|0)<(f[V>>2]|0))}V=f[O>>2]|0;if((V|0)!=(R|0))dX(V);V=k+36|0;ba=f[V>>2]|0;do if(ba|0){J=ba+12|0;M=f[J>>2]|0;f[J>>2]=M+-1;if((M|0)!=1)break;XO(k)}while(0);f[V>>2]=0;f[fa>>2]=0;f[fa+4>>2]=0;f[fa+8>>2]=0;f[fa+12>>2]=0;if((f[la>>2]|0)>0){ba=f[sa>>2]|0;R=0;do{f[ba+(R<<2)>>2]=0;R=R+1|0}while((R|0)<(f[la>>2]|0))}la=f[P>>2]|0;if((la|0)!=(H|0))dX(la);la=f[j>>2]|0;if((la|0)!=(K|0)){if(la|0)HQa(la);f[j>>2]=K;f[U>>2]=1032}Ba=Ra;break}la=(d|0)==0;R=(d|0)==3;switch(d|0){case 0:case 3:break;default:{f[g>>2]=0;f[g+4>>2]=0;B=JV(g,48)|0;C=170309;D=B+48|0;do{b[B>>0]=b[C>>0]|0;B=B+1|0;C=C+1|0}while((B|0)<(D|0));EP(-215,g,170295,170104,883);KV(g)}}vK(c,y,y,A,-1,0,0);do if((HJ(c)|0)==65536){U=f[c+4>>2]|0;f[g>>2]=f[U>>2];K=g+4|0;H=U+4|0;f[K>>2]=f[H>>2];P=g+8|0;f[P>>2]=f[U+8>>2];f[g+12>>2]=f[U+12>>2];f[g+16>>2]=f[U+16>>2];f[g+20>>2]=f[U+20>>2];f[g+24>>2]=f[U+24>>2];f[g+28>>2]=f[U+28>>2];f[g+32>>2]=f[U+32>>2];ba=f[U+36>>2]|0;f[g+36>>2]=ba;f[g+40>>2]=P;P=g+48|0;sa=g+44|0;f[sa>>2]=P;f[P>>2]=0;f[g+52>>2]=0;if(ba|0){P=ba+12|0;f[P>>2]=(f[P>>2]|0)+1}if((f[H>>2]|0)<3){H=f[U+44>>2]|0;P=f[sa>>2]|0;f[P>>2]=f[H>>2];f[P+4>>2]=f[H+4>>2];break}else{f[K>>2]=0;WO(g,U);break}}else DJ(g,c,-1);while(0);a:do if((y|0)<4){U=f[i+16>>2]|0;K=f[g+16>>2]|0;H=f[i+48>>2]|0;P=f[g+48>>2]|0;b:do switch(y|0){case 2:{if(t){za=+n[U>>2];sa=U+H|0;Sa=+n[sa+4>>2];ba=U+4|0;Ta=za*Sa-+n[ba>>2]*+n[sa>>2];if(!(Ta!=0.0))break b;Ua=1.0/Ta;fa=K+P|0;n[fa+4>>2]=Ua*za;n[K>>2]=Ua*Sa;Sa=Ua*-+n[sa>>2];n[K+4>>2]=Ua*-+n[ba>>2];n[fa>>2]=Sa;Va=1;break a}else{Sa=+p[U>>3];fa=U+H|0;Ua=+p[fa+8>>3];ba=U+8|0;za=Sa*Ua-+p[ba>>3]*+p[fa>>3];if(!(za!=0.0))break b;Ta=1.0/za;sa=K+P|0;p[sa+8>>3]=Sa*Ta;p[K>>3]=Ua*Ta;Ua=-(Ta*+p[fa>>3]);p[K+8>>3]=-(Ta*+p[ba>>3]);p[sa>>3]=Ua;Va=1;break a}break}case 3:{if(t){Ua=+n[U>>2];sa=U+H|0;Ta=+n[sa+4>>2];ba=U+(H<<1)|0;Sa=+n[ba+8>>2];za=+n[sa+8>>2];Wa=+n[ba+4>>2];Xa=Ta*Sa-za*Wa;Ya=+n[U+4>>2];Za=+n[sa>>2];_a=Sa*Za;$a=+n[ba>>2];ab=za*$a;bb=+n[U+8>>2];cb=Wa*Za-Ta*$a;db=cb*bb+(Xa*Ua-(_a-ab)*Ya);if(!(db!=0.0))break b;eb=1.0/db;n[K>>2]=Xa*eb;n[K+4>>2]=(Wa*bb-Sa*Ya)*eb;n[K+8>>2]=(za*Ya-Ta*bb)*eb;ba=K+P|0;n[ba>>2]=(ab-_a)*eb;n[ba+4>>2]=(Ua*Sa-$a*bb)*eb;n[ba+8>>2]=(Za*bb-Ua*za)*eb;ba=K+(P<<1)|0;n[ba>>2]=cb*eb;n[ba+4>>2]=(Ya*$a-Ua*Wa)*eb;n[ba+8>>2]=(Ua*Ta-Ya*Za)*eb;Va=1;break a}else{eb=+p[U>>3];ba=U+H|0;Za=+p[ba+8>>3];sa=U+(H<<1)|0;Ya=+p[sa+16>>3];Ta=+p[ba+16>>3];Ua=+p[sa+8>>3];Wa=Za*Ya-Ta*Ua;$a=+p[U+8>>3];cb=+p[ba>>3];za=Ya*cb;bb=+p[sa>>3];Sa=Ta*bb;_a=+p[U+16>>3];ab=Ua*cb-Za*bb;Xa=_a*ab+(eb*Wa-$a*(za-Sa));if(!(Xa!=0.0))break b;db=1.0/Xa;p[K>>3]=Wa*db;p[K+8>>3]=(Ua*_a-Ya*$a)*db;p[K+16>>3]=(Ta*$a-Za*_a)*db;sa=K+P|0;p[sa>>3]=(Sa-za)*db;p[sa+8>>3]=(eb*Ya-bb*_a)*db;p[sa+16>>3]=(cb*_a-eb*Ta)*db;sa=K+(P<<1)|0;p[sa>>3]=ab*db;p[sa+8>>3]=($a*bb-eb*Ua)*db;p[sa+16>>3]=(eb*Za-$a*cb)*db;Va=1;break a}break}default:if(t){db=+n[U>>2];if(!(db!=0.0))break b;n[K>>2]=1.0/db;Va=1;break a}else{db=+p[U>>3];if(!(db!=0.0))break b;p[K>>3]=1.0/db;Va=1;break a}}while(0);f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[j+24>>2]=0;f[j+28>>2]=0;gM(g,j)|0;Va=0}else{K=X(X(y,y)|0,x)|0;U=j+8|0;f[j>>2]=U;P=j+4|0;f[P>>2]=K;if(K>>>0>1032){H=FQa(K)|0;f[j>>2]=H;fb=H}else fb=U;H=k+4|0;f[H>>2]=2;K=k+8|0;f[K>>2]=y;f[k+12>>2]=y;sa=k+16|0;f[sa>>2]=fb;f[k+20>>2]=fb;ba=k+24|0;fa=k+40|0;V=ba+8|0;f[V>>2]=0;f[V+4>>2]=0;f[fa>>2]=K;V=k+48|0;O=k+44|0;f[O>>2]=V;M=w<<(47696>>>(a<<1&14)&3);J=X(y,M)|0;f[k>>2]=A|1124024320;f[V>>2]=J;f[k+52>>2]=M;M=fb+(X(f[K>>2]|0,J)|0)|0;f[k+28>>2]=M;f[ba>>2]=M+(0-J)+J;J=l+8|0;f[J>>2]=0;f[J+4>>2]=0;f[l>>2]=33619968;f[l+4>>2]=k;eM(i,l);J=l+8|0;f[J>>2]=0;f[J+4>>2]=0;f[l>>2]=50397184;f[l+4>>2]=g;p[m>>3]=1.0;J=m+8|0;f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[J+12>>2]=0;f[J+16>>2]=0;f[J+20>>2]=0;BD(l,m);do if(la&t)if(!(tY(f[sa>>2]|0,f[V>>2]|0,y,f[g+16>>2]|0,f[g+48>>2]|0,y)|0))gb=153;else hb=1;else{if(la&v)if(!(vY(f[sa>>2]|0,f[V>>2]|0,y,f[g+16>>2]|0,f[g+48>>2]|0,y)|0)){gb=153;break}else{hb=1;break}J=f[sa>>2]|0;if(R&t)ib=xY(J,f[V>>2]|0,y,f[g+16>>2]|0,f[g+48>>2]|0,y)|0;else ib=zY(J,f[V>>2]|0,y,f[g+16>>2]|0,f[g+48>>2]|0,y)|0;if(ib)hb=1;else gb=153}while(0);if((gb|0)==153){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[l+24>>2]=0;f[l+28>>2]=0;gM(g,l)|0;hb=0}J=k+36|0;M=f[J>>2]|0;if(M|0?(ba=M+12|0,M=f[ba>>2]|0,f[ba>>2]=M+-1,(M|0)==1):0)XO(k);f[J>>2]=0;f[sa>>2]=0;f[sa+4>>2]=0;f[sa+8>>2]=0;f[sa+12>>2]=0;if((f[H>>2]|0)>0){J=f[fa>>2]|0;M=0;do{f[J+(M<<2)>>2]=0;M=M+1|0}while((M|0)<(f[H>>2]|0))}H=f[O>>2]|0;if((H|0)!=(V|0))dX(H);H=f[j>>2]|0;if((H|0)!=(U|0)){if(H|0)HQa(H);f[j>>2]=U;f[P>>2]=1032}Va=hb}while(0);R=g+36|0;la=f[R>>2]|0;if(la|0?(H=la+12|0,la=f[H>>2]|0,f[H>>2]=la+-1,(la|0)==1):0)XO(g);f[R>>2]=0;R=g+16|0;la=g+4|0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;f[R+12>>2]=0;if((f[la>>2]|0)>0){R=f[g+40>>2]|0;H=0;do{f[R+(H<<2)>>2]=0;H=H+1|0}while((H|0)<(f[la>>2]|0))}la=f[g+44>>2]|0;if((la|0)!=(g+48|0))dX(la);Ba=+(Va&1)}while(0);Va=i+36|0;g=f[Va>>2]|0;if(g|0?(hb=g+12|0,g=f[hb>>2]|0,f[hb>>2]=g+-1,(g|0)==1):0)XO(i);f[Va>>2]=0;Va=i+16|0;g=i+4|0;f[Va>>2]=0;f[Va+4>>2]=0;f[Va+8>>2]=0;f[Va+12>>2]=0;if((f[g>>2]|0)>0){Va=f[i+40>>2]|0;hb=0;do{f[Va+(hb<<2)>>2]=0;hb=hb+1|0}while((hb|0)<(f[g>>2]|0))}g=f[i+44>>2]|0;if((g|0)!=(i+48|0))dX(g);if(!(f[h+4>>2]|0)){u=e;return +Ba}u=e;return +Ba}function LR(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0;h=u;u=u+1392|0;i=h+1336|0;j=h+1280|0;k=h+240|0;l=h+184|0;m=h+128|0;n=h+72|0;o=h;p=h+56|0;do if((HJ(a)|0)==65536){q=f[a+4>>2]|0;f[j>>2]=f[q>>2];r=j+4|0;s=q+4|0;f[r>>2]=f[s>>2];t=j+8|0;f[t>>2]=f[q+8>>2];v=j+12|0;f[v>>2]=f[q+12>>2];f[j+16>>2]=f[q+16>>2];f[j+20>>2]=f[q+20>>2];f[j+24>>2]=f[q+24>>2];f[j+28>>2]=f[q+28>>2];f[j+32>>2]=f[q+32>>2];w=f[q+36>>2]|0;f[j+36>>2]=w;f[j+40>>2]=t;x=j+48|0;y=j+44|0;f[y>>2]=x;f[x>>2]=0;f[j+52>>2]=0;if(w|0){x=w+12|0;f[x>>2]=(f[x>>2]|0)+1}if((f[s>>2]|0)<3){s=f[q+44>>2]|0;x=f[y>>2]|0;f[x>>2]=f[s>>2];f[x+4>>2]=f[s+4>>2];z=v;A=j;B=t;break}else{f[r>>2]=0;WO(j,q);z=v;A=j;B=t;break}}else{DJ(j,a,-1);z=j+12|0;A=j;B=j+8|0}while(0);a=f[B>>2]|0;B=f[z>>2]|0;z=f[A>>2]|0;A=z&4095;if(yK(d)|0)C=1;else C=yK(e)|0;t=(A|0)==5;if((A+-5|0)>>>0>=2){f[i>>2]=0;f[i+4>>2]=0;D=JV(i,22)|0;E=170272;F=D+22|0;do{b[D>>0]=b[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0));EP(-215,i,170715,170104,1473);KV(i)}if(!(g&2)){v=(a|0)<(B|0);q=v?B:a;r=v?a:B;G=C;H=r;I=q;J=v;K=g&4|0?q:r}else{YJ(d);YJ(e);r=(a|0)<(B|0);q=r?a:B;G=0;H=q;I=r?B:a;J=r;K=q}q=j+4|0;r=f[q>>2]|0;if((r|0)>0)L=f[(f[j+44>>2]|0)+(r+-1<<2)>>2]|0;else L=0;r=(X(L,I)|0)+15&-16;a=X(L,H)|0;L=a+15&-16;B=X(r,K)|0;g=a+32+(X(L,H)|0)+B|0;v=k+8|0;f[k>>2]=v;C=k+4|0;f[C>>2]=g;if(g>>>0>1032){s=FQa(g)|0;f[k>>2]=s;M=s}else M=v;s=M+15&-16;Gi(l,H,I,A,s,r);M=s+B|0;B=A|1124007936;f[m>>2]=B;g=m+4|0;f[g>>2]=2;x=m+8|0;f[x>>2]=H;y=m+12|0;f[y>>2]=1;w=m+16|0;f[w>>2]=M;N=m+20|0;f[N>>2]=M;O=m+24|0;P=m+28|0;Q=m+40|0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[O+12>>2]=0;f[Q>>2]=x;R=m+48|0;S=m+44|0;f[S>>2]=R;f[m+52>>2]=0;f[R>>2]=0;if((H|0)!=0&(M|0)==0){f[i>>2]=0;f[i+4>>2]=0;D=JV(i,26)|0;E=346743;F=D+26|0;do{b[D>>0]=b[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0));EP(-215,i,346770,346774,500);KV(i);T=f[y>>2]|0;U=f[m>>2]|0;V=f[S>>2]|0;W=f[N>>2]|0}else{T=1;U=B;V=R;W=M}B=(z>>>3&511)+1<<(47696>>>(z<<1&14)&3);z=X(T,B)|0;f[m>>2]=U|16384;f[V>>2]=z;f[V+4>>2]=B;B=W+(X(f[x>>2]|0,z)|0)|0;f[P>>2]=B;f[O>>2]=B+(0-z)+z;Gi(i,K,I,A,s,r);f[n>>2]=1124007936;r=n+4|0;s=n+8|0;z=n+40|0;D=r;F=D+36|0;do{f[D>>2]=0;D=D+4|0}while((D|0)<(F|0));f[z>>2]=s;D=n+48|0;F=n+44|0;f[F>>2]=D;f[D>>2]=0;f[n+52>>2]=0;if(G){Gi(o,H,H,A,M+a+15&-16,L);L=o+36|0;a=f[L>>2]|0;if(a|0){M=a+12|0;f[M>>2]=(f[M>>2]|0)+1}M=n+36|0;a=f[M>>2]|0;if(a|0?(A=a+12|0,a=f[A>>2]|0,f[A>>2]=a+-1,(a|0)==1):0)XO(n);f[M>>2]=0;a=n+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if((f[r>>2]|0)>0){A=f[z>>2]|0;B=0;do{f[A+(B<<2)>>2]=0;B=B+1|0;Y=f[r>>2]|0}while((B|0)<(Y|0));f[n>>2]=f[o>>2];if((Y|0)<3)Z=32;else Z=34}else{f[n>>2]=f[o>>2];Z=32}if((Z|0)==32){Y=f[o+4>>2]|0;if((Y|0)<3){f[r>>2]=Y;f[s>>2]=f[o+8>>2];f[n+12>>2]=f[o+12>>2];s=f[o+44>>2]|0;Y=f[F>>2]|0;f[Y>>2]=f[s>>2];f[Y+4>>2]=f[s+4>>2]}else Z=34}if((Z|0)==34)WO(n,o);Z=o+16|0;f[a>>2]=f[Z>>2];f[n+20>>2]=f[o+20>>2];f[n+24>>2]=f[o+24>>2];f[n+28>>2]=f[o+28>>2];f[n+32>>2]=f[o+32>>2];a=f[L>>2]|0;f[M>>2]=a;if(a|0?(M=a+12|0,a=f[M>>2]|0,f[M>>2]=a+-1,(a|0)==1):0)XO(o);f[L>>2]=0;L=o+4|0;f[Z>>2]=0;f[Z+4>>2]=0;f[Z+8>>2]=0;f[Z+12>>2]=0;if((f[L>>2]|0)>0){Z=f[o+40>>2]|0;a=0;do{f[Z+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[L>>2]|0))}L=f[o+44>>2]|0;if((L|0)!=(o+48|0))dX(L)}if((K|0)>(H|0)){f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=0;gM(i,o)|0}if(J){L=o+8|0;f[L>>2]=0;f[L+4>>2]=0;f[o>>2]=33619968;f[o+4>>2]=l;eM(j,o)}else{f[o+8>>2]=0;f[o+12>>2]=0;f[o>>2]=16842752;f[o+4>>2]=j;L=p+8|0;f[L>>2]=0;f[L+4>>2]=0;f[p>>2]=33619968;f[p+4>>2]=l;DD(o,p)}p=l+16|0;L=f[p>>2]|0;if(t){t=f[n+16>>2]|0;a=G?K:0;HR(L,f[i+48>>2]|0,f[w>>2]|0,t,f[D>>2]|0,I,H,(t|0)==0?0:(a|0)<0?H:a,1.1754943508222875e-38,2.384185791015625e-07)}else{a=f[n+16>>2]|0;t=G?K:0;IR(L,f[i+48>>2]|0,f[w>>2]|0,a,f[D>>2]|0,I,H,(a|0)==0?0:(t|0)<0?H:t,2.2250738585072014e-308,2.220446049250313e-15)}eM(m,c);do if(G){c=yK(d)|0;if(J){if(c){f[o+8>>2]=0;f[o+12>>2]=0;f[o>>2]=16842752;f[o+4>>2]=n;DD(o,d)}if(!(yK(e)|0))break;eM(i,e);break}else{if(c){f[o+8>>2]=0;f[o+12>>2]=0;f[o>>2]=16842752;f[o+4>>2]=i;DD(o,d)}if(!(yK(e)|0))break;eM(n,e);break}}while(0);e=n+36|0;d=f[e>>2]|0;if(d|0?(o=d+12|0,d=f[o>>2]|0,f[o>>2]=d+-1,(d|0)==1):0)XO(n);f[e>>2]=0;e=n+16|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;if((f[r>>2]|0)>0){e=f[z>>2]|0;z=0;do{f[e+(z<<2)>>2]=0;z=z+1|0}while((z|0)<(f[r>>2]|0))}r=f[F>>2]|0;if((r|0)!=(D|0))dX(r);r=i+36|0;D=f[r>>2]|0;if(D|0?(F=D+12|0,D=f[F>>2]|0,f[F>>2]=D+-1,(D|0)==1):0)XO(i);f[r>>2]=0;r=i+16|0;D=i+4|0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;if((f[D>>2]|0)>0){r=f[i+40>>2]|0;F=0;do{f[r+(F<<2)>>2]=0;F=F+1|0}while((F|0)<(f[D>>2]|0))}D=f[i+44>>2]|0;if((D|0)!=(i+48|0))dX(D);D=m+36|0;i=f[D>>2]|0;do if(i|0){F=i+12|0;r=f[F>>2]|0;f[F>>2]=r+-1;if((r|0)!=1)break;XO(m)}while(0);f[D>>2]=0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;if((f[g>>2]|0)>0){w=f[Q>>2]|0;Q=0;do{f[w+(Q<<2)>>2]=0;Q=Q+1|0}while((Q|0)<(f[g>>2]|0))}g=f[S>>2]|0;if((g|0)!=(R|0))dX(g);g=l+36|0;R=f[g>>2]|0;do if(R|0){S=R+12|0;Q=f[S>>2]|0;f[S>>2]=Q+-1;if((Q|0)!=1)break;XO(l)}while(0);f[g>>2]=0;g=l+4|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;if((f[g>>2]|0)>0){p=f[l+40>>2]|0;R=0;do{f[p+(R<<2)>>2]=0;R=R+1|0}while((R|0)<(f[g>>2]|0))}g=f[l+44>>2]|0;if((g|0)!=(l+48|0))dX(g);g=f[k>>2]|0;if((g|0)!=(v|0)){if(g|0)HQa(g);f[k>>2]=v;f[C>>2]=1032}C=j+36|0;v=f[C>>2]|0;do if(v|0){k=v+12|0;g=f[k>>2]|0;f[k>>2]=g+-1;if((g|0)!=1)break;XO(j)}while(0);f[C>>2]=0;C=j+16|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;f[C+12>>2]=0;if((f[q>>2]|0)>0){C=f[j+40>>2]|0;v=0;do{f[C+(v<<2)>>2]=0;v=v+1|0}while((v|0)<(f[q>>2]|0))}q=f[j+44>>2]|0;if((q|0)==(j+48|0)){u=h;return}dX(q);u=h;return}function MR(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;h=u;u=u+1328|0;i=h+1272|0;j=h+1216|0;k=h+1160|0;l=h+1104|0;m=h+64|0;n=h+8|0;o=h;do if((HJ(a)|0)==65536){p=f[a+4>>2]|0;f[i>>2]=f[p>>2];q=i+4|0;r=p+4|0;f[q>>2]=f[r>>2];s=i+8|0;f[s>>2]=f[p+8>>2];f[i+12>>2]=f[p+12>>2];f[i+16>>2]=f[p+16>>2];f[i+20>>2]=f[p+20>>2];f[i+24>>2]=f[p+24>>2];f[i+28>>2]=f[p+28>>2];f[i+32>>2]=f[p+32>>2];t=f[p+36>>2]|0;f[i+36>>2]=t;f[i+40>>2]=s;s=i+48|0;v=i+44|0;f[v>>2]=s;f[s>>2]=0;f[i+52>>2]=0;if(t|0){s=t+12|0;f[s>>2]=(f[s>>2]|0)+1}if((f[r>>2]|0)<3){r=f[p+44>>2]|0;s=f[v>>2]|0;f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2];break}else{f[q>>2]=0;WO(i,p);break}}else DJ(i,a,-1);while(0);do if((HJ(c)|0)==65536){a=f[c+4>>2]|0;f[j>>2]=f[a>>2];p=j+4|0;q=a+4|0;f[p>>2]=f[q>>2];r=j+8|0;f[r>>2]=f[a+8>>2];f[j+12>>2]=f[a+12>>2];f[j+16>>2]=f[a+16>>2];f[j+20>>2]=f[a+20>>2];f[j+24>>2]=f[a+24>>2];f[j+28>>2]=f[a+28>>2];f[j+32>>2]=f[a+32>>2];s=f[a+36>>2]|0;f[j+36>>2]=s;f[j+40>>2]=r;r=j+48|0;v=j+44|0;f[v>>2]=r;f[r>>2]=0;f[j+52>>2]=0;if(s|0){r=s+12|0;f[r>>2]=(f[r>>2]|0)+1}if((f[q>>2]|0)<3){q=f[a+44>>2]|0;r=f[v>>2]|0;f[r>>2]=f[q>>2];f[r+4>>2]=f[q+4>>2];break}else{f[p>>2]=0;WO(j,a);break}}else DJ(j,c,-1);while(0);do if((HJ(d)|0)==65536){c=f[d+4>>2]|0;f[k>>2]=f[c>>2];a=k+4|0;p=c+4|0;f[a>>2]=f[p>>2];q=k+8|0;f[q>>2]=f[c+8>>2];f[k+12>>2]=f[c+12>>2];f[k+16>>2]=f[c+16>>2];f[k+20>>2]=f[c+20>>2];f[k+24>>2]=f[c+24>>2];f[k+28>>2]=f[c+28>>2];f[k+32>>2]=f[c+32>>2];r=f[c+36>>2]|0;f[k+36>>2]=r;f[k+40>>2]=q;q=k+48|0;v=k+44|0;f[v>>2]=q;f[q>>2]=0;f[k+52>>2]=0;if(r|0){q=r+12|0;f[q>>2]=(f[q>>2]|0)+1}if((f[p>>2]|0)<3){p=f[c+44>>2]|0;q=f[v>>2]|0;f[q>>2]=f[p>>2];f[q+4>>2]=f[p+4>>2];break}else{f[a>>2]=0;WO(k,c);break}}else DJ(k,d,-1);while(0);do if((HJ(e)|0)==65536){d=f[e+4>>2]|0;f[l>>2]=f[d>>2];c=l+4|0;a=d+4|0;f[c>>2]=f[a>>2];p=l+8|0;f[p>>2]=f[d+8>>2];f[l+12>>2]=f[d+12>>2];f[l+16>>2]=f[d+16>>2];f[l+20>>2]=f[d+20>>2];f[l+24>>2]=f[d+24>>2];f[l+28>>2]=f[d+28>>2];f[l+32>>2]=f[d+32>>2];q=f[d+36>>2]|0;f[l+36>>2]=q;f[l+40>>2]=p;p=l+48|0;v=l+44|0;f[v>>2]=p;f[p>>2]=0;f[l+52>>2]=0;if(q|0){p=q+12|0;f[p>>2]=(f[p>>2]|0)+1}if((f[a>>2]|0)<3){a=f[d+44>>2]|0;p=f[v>>2]|0;f[p>>2]=f[a>>2];f[p+4>>2]=f[a+4>>2];break}else{f[c>>2]=0;WO(l,d);break}}else DJ(l,e,-1);while(0);e=f[i>>2]|0;d=e&4095;c=i+4|0;a=f[c>>2]|0;if((a|0)>0)w=f[(f[i+44>>2]|0)+(a+-1<<2)>>2]|0;else w=0;a=f[j+8>>2]|0;p=f[k+12>>2]|0;v=l+16|0;q=f[v>>2]|0?f[l+12>>2]|0:a;r=(p|0)<(a|0)?p:a;if((f[i+8>>2]|0)==1)x=w;else x=((f[i+12>>2]|0)==1?0:w)+(f[i+48>>2]|0)|0;w=(q<<3)+16|0;s=m+8|0;f[m>>2]=s;t=m+4|0;f[t>>2]=w;if(w>>>0>1032){y=FQa(w)|0;f[m>>2]=y}if(!(((((d|0)==(f[j>>2]&4095|0)?(d|0)==(f[k>>2]&4095|0):0)?(f[j+16>>2]|0)!=0:0)?(f[k+16>>2]|0)!=0:0)?(f[i+16>>2]|0)!=0:0)){f[n>>2]=0;f[n+4>>2]=0;z=JV(n,76)|0;A=170450;B=z+76|0;do{b[z>>0]=b[A>>0]|0;z=z+1|0;A=A+1|0}while((z|0)<(B|0));EP(-215,n,170527,170104,1561);KV(n)}y=f[j+12>>2]|0;if((y|0)>=(r|0)?(w=f[k+8>>2]|0,(w|0)>=(r|0)):0){C=f[i+40>>2]|0;D=f[C+4>>2]|0;E=f[C>>2]|0;if((!((D|0)==(r|0)&(E|0)==1)?!((D|0)==1&(E|0)==(r|0)):0)?!((D|0)==(w|0)&(E|0)==(y|0)):0)F=46}else F=46;if((F|0)==46){f[n>>2]=0;f[n+4>>2]=0;z=JV(n,122)|0;A=170537;B=z+122|0;do{b[z>>0]=b[A>>0]|0;z=z+1|0;A=A+1|0}while((z|0)<(B|0));EP(-215,n,170527,170104,1563);KV(n)}do if(f[v>>2]|0){if((f[l>>2]&4095|0)==(d|0)?(f[l+8>>2]|0)==(a|0):0)break;f[n>>2]=0;f[n+4>>2]=0;z=JV(n,54)|0;A=170660;B=z+54|0;do{b[z>>0]=b[A>>0]|0;z=z+1|0;A=A+1|0}while((z|0)<(B|0));EP(-215,n,170527,170104,1564);KV(n)}while(0);vK(g,p,q,d,-1,0,0);do if((HJ(g)|0)==65536){d=f[g+4>>2]|0;f[n>>2]=f[d>>2];A=n+4|0;z=d+4|0;f[A>>2]=f[z>>2];B=n+8|0;f[B>>2]=f[d+8>>2];f[n+12>>2]=f[d+12>>2];f[n+16>>2]=f[d+16>>2];f[n+20>>2]=f[d+20>>2];f[n+24>>2]=f[d+24>>2];f[n+28>>2]=f[d+28>>2];f[n+32>>2]=f[d+32>>2];F=f[d+36>>2]|0;f[n+36>>2]=F;f[n+40>>2]=B;B=n+48|0;y=n+44|0;f[y>>2]=B;f[B>>2]=0;f[n+52>>2]=0;if(F|0){B=F+12|0;f[B>>2]=(f[B>>2]|0)+1}if((f[z>>2]|0)<3){z=f[d+44>>2]|0;B=f[y>>2]|0;f[B>>2]=f[z>>2];f[B+4>>2]=f[z+4>>2];break}else{f[A>>2]=0;WO(n,d);break}}else DJ(n,g,-1);while(0);switch(e&4095){case 5:{QR(a,p,f[i+16>>2]|0,x,f[j+16>>2]|0,f[j+48>>2]|0,0,f[k+16>>2]|0,f[k+48>>2]|0,f[v>>2]|0,f[l+48>>2]|0,q,f[n+16>>2]|0,f[n+48>>2]|0,f[m>>2]|0);break}case 6:{RR(a,p,f[i+16>>2]|0,x,f[j+16>>2]|0,f[j+48>>2]|0,0,f[k+16>>2]|0,f[k+48>>2]|0,f[v>>2]|0,f[l+48>>2]|0,q,f[n+16>>2]|0,f[n+48>>2]|0,f[m>>2]|0);break}default:{f[o>>2]=0;f[o+4>>2]=0;EP(-210,o,170527,170104,1577);KV(o)}}o=n+36|0;q=f[o>>2]|0;if(q|0?(x=q+12|0,q=f[x>>2]|0,f[x>>2]=q+-1,(q|0)==1):0)XO(n);f[o>>2]=0;o=n+16|0;q=n+4|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;if((f[q>>2]|0)>0){o=f[n+40>>2]|0;x=0;do{f[o+(x<<2)>>2]=0;x=x+1|0}while((x|0)<(f[q>>2]|0))}q=f[n+44>>2]|0;if((q|0)!=(n+48|0))dX(q);q=f[m>>2]|0;if((q|0)!=(s|0)){if(q|0)HQa(q);f[m>>2]=s;f[t>>2]=1032}t=l+36|0;s=f[t>>2]|0;if(s|0?(m=s+12|0,s=f[m>>2]|0,f[m>>2]=s+-1,(s|0)==1):0)XO(l);f[t>>2]=0;t=l+4|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;if((f[t>>2]|0)>0){v=f[l+40>>2]|0;s=0;do{f[v+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[t>>2]|0))}t=f[l+44>>2]|0;if((t|0)!=(l+48|0))dX(t);t=k+36|0;l=f[t>>2]|0;do if(l|0){s=l+12|0;v=f[s>>2]|0;f[s>>2]=v+-1;if((v|0)!=1)break;XO(k)}while(0);f[t>>2]=0;t=k+16|0;l=k+4|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;if((f[l>>2]|0)>0){t=f[k+40>>2]|0;v=0;do{f[t+(v<<2)>>2]=0;v=v+1|0}while((v|0)<(f[l>>2]|0))}l=f[k+44>>2]|0;if((l|0)!=(k+48|0))dX(l);l=j+36|0;k=f[l>>2]|0;do if(k|0){v=k+12|0;t=f[v>>2]|0;f[v>>2]=t+-1;if((t|0)!=1)break;XO(j)}while(0);f[l>>2]=0;l=j+16|0;k=j+4|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;if((f[k>>2]|0)>0){l=f[j+40>>2]|0;t=0;do{f[l+(t<<2)>>2]=0;t=t+1|0}while((t|0)<(f[k>>2]|0))}k=f[j+44>>2]|0;if((k|0)!=(j+48|0))dX(k);k=i+36|0;j=f[k>>2]|0;do if(j|0){t=j+12|0;l=f[t>>2]|0;f[t>>2]=l+-1;if((l|0)!=1)break;XO(i)}while(0);f[k>>2]=0;k=i+16|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;if((f[c>>2]|0)>0){k=f[i+40>>2]|0;j=0;do{f[k+(j<<2)>>2]=0;j=j+1|0}while((j|0)<(f[c>>2]|0))}c=f[i+44>>2]|0;if((c|0)==(i+48|0)){u=h;return}dX(c);u=h;return}function NR(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=u;u=u+1328|0;g=e+1272|0;h=e+1264|0;i=e+1208|0;j=e+1152|0;k=e+112|0;l=e+56|0;m=e;yV(h,40148);do if((HJ(a)|0)==65536){n=f[a+4>>2]|0;f[i>>2]=f[n>>2];o=i+4|0;p=n+4|0;f[o>>2]=f[p>>2];q=i+8|0;f[q>>2]=f[n+8>>2];r=i+12|0;f[r>>2]=f[n+12>>2];f[i+16>>2]=f[n+16>>2];f[i+20>>2]=f[n+20>>2];f[i+24>>2]=f[n+24>>2];f[i+28>>2]=f[n+28>>2];f[i+32>>2]=f[n+32>>2];s=f[n+36>>2]|0;f[i+36>>2]=s;f[i+40>>2]=q;t=i+48|0;v=i+44|0;f[v>>2]=t;f[t>>2]=0;f[i+52>>2]=0;if(s|0){t=s+12|0;f[t>>2]=(f[t>>2]|0)+1}if((f[p>>2]|0)<3){p=f[n+44>>2]|0;t=f[v>>2]|0;f[t>>2]=f[p>>2];f[t+4>>2]=f[p+4>>2];w=q;x=r;y=i;break}else{f[o>>2]=0;WO(i,n);w=q;x=r;y=i;break}}else{DJ(i,a,-1);w=i+8|0;x=i+12|0;y=i}while(0);a=f[y>>2]|0;y=a&4095;r=f[w>>2]|0;if((r|0)!=(f[x>>2]|0)){f[g>>2]=0;f[g+4>>2]=0;z=JV(g,20)|0;A=170358;B=z+20|0;do{b[z>>0]=b[A>>0]|0;z=z+1|0;A=A+1|0}while((z|0)<(B|0));EP(-215,g,170379,170104,1395);KV(g)}x=(y|0)==5;if((y+-5|0)>>>0>=2){f[g>>2]=0;f[g+4>>2]=0;z=JV(g,22)|0;A=170272;B=z+22|0;do{b[z>>0]=b[A>>0]|0;z=z+1|0;A=A+1|0}while((z|0)<(B|0));EP(-215,g,170379,170104,1396);KV(g)}f[j>>2]=1124007936;w=j+4|0;q=j+8|0;n=j+40|0;z=w;B=z+36|0;do{f[z>>2]=0;z=z+4|0}while((z|0)<(B|0));f[n>>2]=q;o=j+48|0;p=j+44|0;f[p>>2]=o;f[o>>2]=0;f[j+52>>2]=0;if(yK(d)|0){vK(d,r,r,y,-1,0,0);do if((HJ(d)|0)==65536){t=f[d+4>>2]|0;f[g>>2]=f[t>>2];v=g+4|0;s=t+4|0;f[v>>2]=f[s>>2];C=g+8|0;f[C>>2]=f[t+8>>2];f[g+12>>2]=f[t+12>>2];f[g+16>>2]=f[t+16>>2];f[g+20>>2]=f[t+20>>2];f[g+24>>2]=f[t+24>>2];f[g+28>>2]=f[t+28>>2];f[g+32>>2]=f[t+32>>2];D=g+36|0;E=f[t+36>>2]|0;f[D>>2]=E;f[g+40>>2]=C;C=g+48|0;F=g+44|0;f[F>>2]=C;f[C>>2]=0;f[g+52>>2]=0;if(E|0){C=E+12|0;f[C>>2]=(f[C>>2]|0)+1}if((f[s>>2]|0)<3){s=f[t+44>>2]|0;C=f[F>>2]|0;f[C>>2]=f[s>>2];f[C+4>>2]=f[s+4>>2];G=D;break}else{f[v>>2]=0;WO(g,t);G=D;break}}else{DJ(g,d,-1);G=g+36|0}while(0);d=f[G>>2]|0;if(d|0){D=d+12|0;f[D>>2]=(f[D>>2]|0)+1}D=j+36|0;d=f[D>>2]|0;if(d|0?(t=d+12|0,d=f[t>>2]|0,f[t>>2]=d+-1,(d|0)==1):0)XO(j);f[D>>2]=0;d=j+16|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[w>>2]|0)>0){t=f[n>>2]|0;v=0;do{f[t+(v<<2)>>2]=0;v=v+1|0;H=f[w>>2]|0}while((v|0)<(H|0));f[j>>2]=f[g>>2];if((H|0)<3)I=30;else I=32}else{f[j>>2]=f[g>>2];I=30}if((I|0)==30){H=f[g+4>>2]|0;if((H|0)<3){f[w>>2]=H;f[q>>2]=f[g+8>>2];f[j+12>>2]=f[g+12>>2];q=f[g+44>>2]|0;H=f[p>>2]|0;f[H>>2]=f[q>>2];f[H+4>>2]=f[q+4>>2]}else I=32}if((I|0)==32)WO(j,g);I=g+16|0;f[d>>2]=f[I>>2];f[j+20>>2]=f[g+20>>2];f[j+24>>2]=f[g+24>>2];f[j+28>>2]=f[g+28>>2];f[j+32>>2]=f[g+32>>2];d=f[G>>2]|0;f[D>>2]=d;if(d|0?(D=d+12|0,d=f[D>>2]|0,f[D>>2]=d+-1,(d|0)==1):0)XO(g);f[G>>2]=0;G=g+4|0;f[I>>2]=0;f[I+4>>2]=0;f[I+8>>2]=0;f[I+12>>2]=0;if((f[G>>2]|0)>0){I=f[g+40>>2]|0;d=0;do{f[I+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[G>>2]|0))}G=f[g+44>>2]|0;if((G|0)!=(g+48|0))dX(G)}G=i+4|0;d=f[G>>2]|0;if((d|0)>0)J=f[(f[i+44>>2]|0)+(d+-1<<2)>>2]|0;else J=0;d=X(J,r)|0;I=d+15&-16;D=X(I,r)|0;q=(X(r*5|0,J)|0)+32+D|0;J=k+8|0;f[k>>2]=J;H=k+4|0;f[H>>2]=q;if(q>>>0>1032){v=FQa(q)|0;f[k>>2]=v;K=v}else K=J;v=K+15&-16;Gi(l,r,r,y,v,I);I=v+D|0;K=y|1124007936;f[m>>2]=K;y=m+4|0;f[y>>2]=2;q=m+8|0;f[q>>2]=r;t=m+12|0;f[t>>2]=1;s=m+16|0;f[s>>2]=I;C=m+20|0;f[C>>2]=I;F=m+24|0;E=m+28|0;L=m+40|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;f[F+12>>2]=0;f[L>>2]=q;M=m+48|0;N=m+44|0;f[N>>2]=M;f[m+52>>2]=0;f[M>>2]=0;if((r|0)!=0&(I|0)==0){f[g>>2]=0;f[g+4>>2]=0;z=JV(g,26)|0;A=346743;B=z+26|0;do{b[z>>0]=b[A>>0]|0;z=z+1|0;A=A+1|0}while((z|0)<(B|0));EP(-215,g,346770,346774,500);KV(g);O=f[t>>2]|0;P=f[m>>2]|0;Q=f[N>>2]|0;R=f[C>>2]|0}else{O=1;P=K;Q=M;R=I}I=(a>>>3&511)+1<<(47696>>>(a<<1&14)&3);a=X(O,I)|0;f[m>>2]=P|16384;f[Q>>2]=a;f[Q+4>>2]=I;I=R+(X(f[q>>2]|0,a)|0)|0;f[E>>2]=I;f[F>>2]=I+(0-a)+a;a=v+(D+d)|0;d=g+8|0;f[d>>2]=0;f[d+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=l;eM(i,g);g=l+16|0;d=f[g>>2]|0;if(x)S=OR(d,f[l+48>>2]|0,f[s>>2]|0,f[j+16>>2]|0,f[o>>2]|0,r,a)|0;else S=PR(d,f[l+48>>2]|0,f[s>>2]|0,f[j+16>>2]|0,f[o>>2]|0,r,a)|0;eM(m,c);c=m+36|0;a=f[c>>2]|0;if(a|0?(r=a+12|0,a=f[r>>2]|0,f[r>>2]=a+-1,(a|0)==1):0)XO(m);f[c>>2]=0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if((f[y>>2]|0)>0){s=f[L>>2]|0;L=0;do{f[s+(L<<2)>>2]=0;L=L+1|0}while((L|0)<(f[y>>2]|0))}y=f[N>>2]|0;if((y|0)!=(M|0))dX(y);y=l+36|0;M=f[y>>2]|0;if(M|0?(N=M+12|0,M=f[N>>2]|0,f[N>>2]=M+-1,(M|0)==1):0)XO(l);f[y>>2]=0;y=l+4|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;if((f[y>>2]|0)>0){g=f[l+40>>2]|0;M=0;do{f[g+(M<<2)>>2]=0;M=M+1|0}while((M|0)<(f[y>>2]|0))}y=f[l+44>>2]|0;if((y|0)!=(l+48|0))dX(y);y=f[k>>2]|0;if((y|0)!=(J|0)){if(y|0)HQa(y);f[k>>2]=J;f[H>>2]=1032}H=j+36|0;J=f[H>>2]|0;if(J|0?(k=J+12|0,J=f[k>>2]|0,f[k>>2]=J+-1,(J|0)==1):0)XO(j);f[H>>2]=0;H=j+16|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;if((f[w>>2]|0)>0){H=f[n>>2]|0;n=0;do{f[H+(n<<2)>>2]=0;n=n+1|0}while((n|0)<(f[w>>2]|0))}w=f[p>>2]|0;if((w|0)!=(o|0))dX(w);w=i+36|0;o=f[w>>2]|0;do if(o|0){p=o+12|0;n=f[p>>2]|0;f[p>>2]=n+-1;if((n|0)!=1)break;XO(i)}while(0);f[w>>2]=0;w=i+16|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;if((f[G>>2]|0)>0){w=f[i+40>>2]|0;o=0;do{f[w+(o<<2)>>2]=0;o=o+1|0}while((o|0)<(f[G>>2]|0))}G=f[i+44>>2]|0;if((G|0)!=(i+48|0))dX(G);if(!(f[h+4>>2]|0)){u=e;return S|0}u=e;return S|0}function OR(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0.0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0;i=b>>>2;b=(d|0)!=0;if(b){j=e>>>2;if((g|0)>0){k=g<<2;l=0;do{m=X(j,l)|0;FVa(d+(m<<2)|0,0,k|0)|0;n[d+(m+l<<2)>>2]=1.0;l=l+1|0}while((l|0)!=(g|0));o=j}else o=j}else o=e;e=X(g*30|0,g)|0;j=h+3&-4;h=j+(g<<2)|0;if((g|0)<=0)return 1;l=i+1|0;k=g+-1|0;m=0;do{p=a+((X(m,l)|0)<<2)|0;f[c+(m<<2)>>2]=f[p>>2];if((m|0)<(k|0)){p=m+1|0;q=X(m,i)|0;r=m+2|0;if((r|0)<(g|0)){s=p;t=+K(+(+n[a+(q+p<<2)>>2]));u=r;while(1){v=+K(+(+n[a+(u+q<<2)>>2]));r=t>2]=x}if((m|0)>0){if((m|0)==1)y=0;else{s=0;t=+K(+(+n[a+(m<<2)>>2]));u=1;while(1){q=a+((X(u,i)|0)+m<<2)|0;v=+K(+(+n[q>>2]));q=t=(m|0)){y=r;break}else{s=r;t=q?v:t}}}f[h+(m<<2)>>2]=y}m=m+1|0}while((m|0)!=(g|0));m=(g|0)>1;y=g+-1|0;if(m&(e|0)>0){x=(g|0)>2;k=0;do{l=f[j>>2]|0;t=+K(+(+n[a+(l<<2)>>2]));if(x){s=0;u=1;v=t;do{p=X(u,i)|0;z=+K(+(+n[a+((f[j+(u<<2)>>2]|0)+p<<2)>>2]));p=v>2]|0;B=s;C=1;D=v}else{A=l;B=0;C=1;D=t}while(1){u=f[h+(C<<2)>>2]|0;p=a+((X(u,i)|0)+C<<2)|0;z=+K(+(+n[p>>2]));p=D>2];v=+K(+t);if(v<=1.1920928955078125e-07)break;p=c+(A<<2)|0;u=c+(B<<2)|0;z=(+n[p>>2]-+n[u>>2])*.5;E=+K(+z);if(!(v>E))if(z!=z|0.0!=0.0|z==0.0)F=0.0;else{G=v/E;H=E;I=G*G;J=38}else{G=E/v;H=v;I=G*G;J=38}if((J|0)==38){J=0;F=H*+L(+(I+1.0))}G=E+F;E=+K(+G);if(!(v>E))if(G!=G|0.0!=0.0|G==0.0)M=0.0;else{N=v/E;O=E;P=N*N;J=43}else{N=E/v;O=v;P=N*N;J=43}if((J|0)==43){J=0;M=O*+L(+(P+1.0))}N=G/M;v=t/M;E=t*(t/G);q=z<0.0;z=q?-E:E;E=q?-v:v;n[s>>2]=0.0;n[u>>2]=+n[u>>2]-z;n[p>>2]=z+ +n[p>>2];p=(B|0)>0;if(p){u=0;do{s=X(u,i)|0;q=a+(s+B<<2)|0;z=+n[q>>2];r=a+(s+A<<2)|0;v=+n[r>>2];n[q>>2]=N*z-E*v;n[r>>2]=E*z+N*v;u=u+1|0}while((u|0)!=(B|0))}u=B+1|0;if((u|0)<(A|0)){r=u;do{q=a+(r+l<<2)|0;v=+n[q>>2];s=a+((X(r,i)|0)+A<<2)|0;z=+n[s>>2];n[q>>2]=N*v-E*z;n[s>>2]=E*v+N*z;r=r+1|0}while((r|0)!=(A|0))}r=A+1|0;if((r|0)<(g|0)){s=X(A,i)|0;q=r;do{w=a+(q+l<<2)|0;z=+n[w>>2];Q=a+(q+s<<2)|0;v=+n[Q>>2];n[w>>2]=N*z-E*v;n[Q>>2]=E*z+N*v;q=q+1|0}while((q|0)!=(g|0))}if(b){q=X(B,o)|0;s=X(A,o)|0;Q=0;do{w=d+(Q+q<<2)|0;v=+n[w>>2];R=d+(Q+s<<2)|0;z=+n[R>>2];n[w>>2]=N*v-E*z;n[R>>2]=E*v+N*z;Q=Q+1|0}while((Q|0)!=(g|0))}if((B|0)<(y|0)){Q=B+2|0;if((Q|0)<(g|0)){s=u;N=+K(+(+n[a+(l+u<<2)>>2]));q=Q;while(1){E=+K(+(+n[a+(q+l<<2)>>2]));Q=N>2]=S}if(p){if((B|0)==1)T=0;else{N=+K(+(+n[a+(B<<2)>>2]));s=1;q=0;while(1){l=a+((X(s,i)|0)+B<<2)|0;E=+K(+(+n[l>>2]));l=N=(B|0)){T=Q;break}else{N=l?E:N;q=Q}}}f[h+(B<<2)>>2]=T}if((A|0)<(y|0)){q=X(A,i)|0;s=A+2|0;if((s|0)<(g|0)){p=r;N=+K(+(+n[a+(q+r<<2)>>2]));u=s;while(1){E=+K(+(+n[a+(u+q<<2)>>2]));s=N>2]=U}if((A|0)>0){if((A|0)==1)V=0;else{N=+K(+(+n[a+(A<<2)>>2]));p=1;u=0;while(1){q=a+((X(p,i)|0)+A<<2)|0;E=+K(+(+n[q>>2]));q=N=(A|0)){V=s;break}else{N=q?E:N;u=s}}}f[h+(A<<2)>>2]=V}k=k+1|0}while((k|0)<(e|0));if(!m)return 1}else if(!m)return 1;if(b)W=0;else{b=0;do{m=b;b=b+1|0;if((b|0)<(g|0)){e=b;k=m;while(1){V=+n[c+(k<<2)>>2]<+n[c+(e<<2)>>2]?e:k;e=e+1|0;if((e|0)==(g|0)){Y=V;break}else k=V}}else Y=m;if((m|0)!=(Y|0)){k=c+(Y<<2)|0;e=c+(m<<2)|0;V=f[k>>2]|0;f[k>>2]=f[e>>2];f[e>>2]=V}}while((b|0)!=(y|0));return 1}do{b=W;W=W+1|0;if((W|0)<(g|0)){Y=W;V=b;while(1){e=+n[c+(V<<2)>>2]<+n[c+(Y<<2)>>2]?Y:V;Y=Y+1|0;if((Y|0)==(g|0)){Z=e;break}else V=e}}else Z=b;if((b|0)!=(Z|0)){V=c+(Z<<2)|0;Y=c+(b<<2)|0;m=f[V>>2]|0;f[V>>2]=f[Y>>2];f[Y>>2]=m;m=X(Z,o)|0;Y=X(b,o)|0;V=0;do{e=d+(V+m<<2)|0;k=d+(V+Y<<2)|0;A=f[e>>2]|0;f[e>>2]=f[k>>2];f[k>>2]=A;V=V+1|0}while((V|0)!=(g|0))}}while((W|0)!=(y|0));return 1}function PR(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0.0,u=0,v=0.0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0;i=b>>>3;b=(d|0)!=0;if(b){j=e>>>3;if((g|0)>0){k=g<<3;l=0;do{m=X(j,l)|0;FVa(d+(m<<3)|0,0,k|0)|0;p[d+(m+l<<3)>>3]=1.0;l=l+1|0}while((l|0)!=(g|0));n=j}else n=j}else n=e;e=X(g*30|0,g)|0;j=h+3&-4;h=j+(g<<2)|0;if((g|0)<=0)return 1;l=i+1|0;k=g+-1|0;m=0;do{o=a+((X(m,l)|0)<<3)|0;p[c+(m<<3)>>3]=+p[o>>3];if((m|0)<(k|0)){o=m+1|0;q=X(m,i)|0;r=m+2|0;if((r|0)<(g|0)){s=o;t=+K(+(+p[a+(q+o<<3)>>3]));u=r;while(1){v=+K(+(+p[a+(u+q<<3)>>3]));r=t>2]=x}if((m|0)>0){if((m|0)==1)y=0;else{s=0;t=+K(+(+p[a+(m<<3)>>3]));u=1;while(1){q=a+((X(u,i)|0)+m<<3)|0;v=+K(+(+p[q>>3]));q=t=(m|0)){y=r;break}else{s=r;t=q?v:t}}}f[h+(m<<2)>>2]=y}m=m+1|0}while((m|0)!=(g|0));m=(g|0)>1;y=g+-1|0;if(m&(e|0)>0){x=(g|0)>2;k=0;do{l=f[j>>2]|0;t=+K(+(+p[a+(l<<3)>>3]));if(x){s=0;u=1;v=t;do{o=X(u,i)|0;z=+K(+(+p[a+((f[j+(u<<2)>>2]|0)+o<<3)>>3]));o=v>2]|0;B=s;C=1;D=v}else{A=l;B=0;C=1;D=t}while(1){u=f[h+(C<<2)>>2]|0;o=a+((X(u,i)|0)+C<<3)|0;z=+K(+(+p[o>>3]));o=D>3];v=+K(+t);if(v<=2.220446049250313e-16)break;o=c+(A<<3)|0;u=c+(B<<3)|0;z=(+p[o>>3]-+p[u>>3])*.5;E=+K(+z);if(!(v>E))if(z!=z|0.0!=0.0|z==0.0)F=0.0;else{G=v/E;H=E;I=G*G;J=38}else{G=E/v;H=v;I=G*G;J=38}if((J|0)==38){J=0;F=H*+L(+(I+1.0))}G=E+F;E=+K(+G);if(!(v>E))if(G!=G|0.0!=0.0|G==0.0)M=0.0;else{N=v/E;O=E;P=N*N;J=43}else{N=E/v;O=v;P=N*N;J=43}if((J|0)==43){J=0;M=O*+L(+(P+1.0))}N=G/M;v=t/M;E=t*(t/G);q=z<0.0;z=q?-E:E;E=q?-v:v;p[s>>3]=0.0;p[u>>3]=+p[u>>3]-z;p[o>>3]=z+ +p[o>>3];o=(B|0)>0;if(o){u=0;do{s=X(u,i)|0;q=a+(s+B<<3)|0;z=+p[q>>3];r=a+(s+A<<3)|0;v=+p[r>>3];p[q>>3]=N*z-E*v;p[r>>3]=E*z+N*v;u=u+1|0}while((u|0)!=(B|0))}u=B+1|0;if((u|0)<(A|0)){r=u;do{q=a+(r+l<<3)|0;v=+p[q>>3];s=a+((X(r,i)|0)+A<<3)|0;z=+p[s>>3];p[q>>3]=N*v-E*z;p[s>>3]=E*v+N*z;r=r+1|0}while((r|0)!=(A|0))}r=A+1|0;if((r|0)<(g|0)){s=X(A,i)|0;q=r;do{w=a+(q+l<<3)|0;z=+p[w>>3];Q=a+(q+s<<3)|0;v=+p[Q>>3];p[w>>3]=N*z-E*v;p[Q>>3]=E*z+N*v;q=q+1|0}while((q|0)!=(g|0))}if(b){q=X(B,n)|0;s=X(A,n)|0;Q=0;do{w=d+(Q+q<<3)|0;v=+p[w>>3];R=d+(Q+s<<3)|0;z=+p[R>>3];p[w>>3]=N*v-E*z;p[R>>3]=E*v+N*z;Q=Q+1|0}while((Q|0)!=(g|0))}if((B|0)<(y|0)){Q=B+2|0;if((Q|0)<(g|0)){s=u;N=+K(+(+p[a+(l+u<<3)>>3]));q=Q;while(1){E=+K(+(+p[a+(q+l<<3)>>3]));Q=N>2]=S}if(o){if((B|0)==1)T=0;else{N=+K(+(+p[a+(B<<3)>>3]));s=1;q=0;while(1){l=a+((X(s,i)|0)+B<<3)|0;E=+K(+(+p[l>>3]));l=N=(B|0)){T=Q;break}else{N=l?E:N;q=Q}}}f[h+(B<<2)>>2]=T}if((A|0)<(y|0)){q=X(A,i)|0;s=A+2|0;if((s|0)<(g|0)){o=r;N=+K(+(+p[a+(q+r<<3)>>3]));u=s;while(1){E=+K(+(+p[a+(u+q<<3)>>3]));s=N>2]=U}if((A|0)>0){if((A|0)==1)V=0;else{N=+K(+(+p[a+(A<<3)>>3]));o=1;u=0;while(1){q=a+((X(o,i)|0)+A<<3)|0;E=+K(+(+p[q>>3]));q=N=(A|0)){V=s;break}else{N=q?E:N;u=s}}}f[h+(A<<2)>>2]=V}k=k+1|0}while((k|0)<(e|0));if(!m)return 1}else if(!m)return 1;if(b)W=0;else{b=0;do{m=b;b=b+1|0;if((b|0)<(g|0)){e=b;k=m;while(1){V=+p[c+(k<<3)>>3]<+p[c+(e<<3)>>3]?e:k;e=e+1|0;if((e|0)==(g|0)){Y=V;break}else k=V}}else Y=m;if((m|0)!=(Y|0)){k=c+(Y<<3)|0;e=c+(m<<3)|0;M=+p[k>>3];p[k>>3]=+p[e>>3];p[e>>3]=M}}while((b|0)!=(y|0));return 1}do{b=W;W=W+1|0;if((W|0)<(g|0)){Y=W;e=b;while(1){k=+p[c+(e<<3)>>3]<+p[c+(Y<<3)>>3]?Y:e;Y=Y+1|0;if((Y|0)==(g|0)){Z=k;break}else e=k}}else Z=b;if((b|0)!=(Z|0)){e=c+(Z<<3)|0;Y=c+(b<<3)|0;M=+p[e>>3];p[e>>3]=+p[Y>>3];p[Y>>3]=M;Y=X(Z,n)|0;e=X(b,n)|0;m=0;do{k=d+(m+Y<<3)|0;V=d+(m+e<<3)|0;M=+p[k>>3];p[k>>3]=+p[V>>3];p[V>>3]=M;m=m+1|0}while((m|0)!=(g|0))}}while((W|0)!=(y|0));return 1}function QR(a,b,c,d,e,f,g,h,i,j,k,l,m,o,q){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;o=o|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0.0,J=0,L=0,M=0.0,N=0.0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;r=(d|0)==0?1:d>>>2;d=f>>>2;f=i>>>2;i=k>>>2;k=o>>>2;o=q+7&-8;q=o;s=o;o=g?d:1;t=g?1:d;d=(b|0)<(a|0)?b:a;g=(j|0)!=0;u=g?l:a;l=(b|0)>0;v=(u|0)>0;if(l&v){w=u<<2;x=0;do{FVa(m+((X(x,k)|0)<<2)|0,0,w|0)|0;x=x+1|0}while((x|0)!=(b|0))}if((d|0)>0){y=0.0;z=0}else return;do{x=c+((X(z,r)|0)<<2)|0;y=y+ +n[x>>2];z=z+1|0}while((z|0)<(d|0));A=y*4.440892098500626e-16;z=(u|0)==1;x=(a|0)>0;w=u+-4|0;B=(u|0)<4;C=u&-4;D=(C|0)<(u|0);E=u<<3;F=e;e=h;h=0;while(1){G=c+((X(h,r)|0)<<2)|0;y=+n[G>>2];a:do if(!(+K(+y)<=A)){H=1.0/y;if(z){if(g)if(x){I=0.0;G=0;while(1){J=F+((X(G,t)|0)<<2)|0;L=j+((X(G,i)|0)<<2)|0;M=I+ +n[J>>2]*+n[L>>2];G=G+1|0;if((G|0)==(a|0)){N=M;break}else I=M}}else N=0.0;else N=+n[F>>2];I=H*N;if(l)O=0;else break;while(1){G=m+((X(O,k)|0)<<2)|0;n[G>>2]=I*+n[e+(O<<2)>>2]+ +n[G>>2];O=O+1|0;if((O|0)==(b|0))break a}}b:do if(g){if(v)FVa(q|0,0,E|0)|0;c:do if(x){if(B){if(v){P=j;Q=0}else break b;while(1){G=F+((X(Q,t)|0)<<2)|0;I=+n[G>>2];G=0;do{L=s+(G<<3)|0;p[L>>3]=+p[L>>3]+I*+n[P+(G<<2)>>2];G=G+1|0}while((G|0)!=(u|0));Q=Q+1|0;if((Q|0)==(a|0))break c;else P=P+(i<<2)|0}}if(D){R=j;S=0}else{G=j;L=0;while(1){J=F+((X(L,t)|0)<<2)|0;I=+n[J>>2];J=0;do{T=s+(J<<3)|0;U=J|1;V=s+(U<<3)|0;M=+p[V>>3]+I*+n[G+(U<<2)>>2];p[T>>3]=+p[T>>3]+I*+n[G+(J<<2)>>2];p[V>>3]=M;V=J|2;T=s+(V<<3)|0;U=J|3;W=s+(U<<3)|0;M=+p[W>>3]+I*+n[G+(U<<2)>>2];p[T>>3]=+p[T>>3]+I*+n[G+(V<<2)>>2];p[W>>3]=M;J=J+4|0}while((J|0)<=(w|0));L=L+1|0;if((L|0)==(a|0))break c;else G=G+(i<<2)|0}}while(1){G=F+((X(S,t)|0)<<2)|0;I=+n[G>>2];G=0;do{L=s+(G<<3)|0;J=G|1;W=s+(J<<3)|0;M=+p[W>>3]+I*+n[R+(J<<2)>>2];p[L>>3]=+p[L>>3]+I*+n[R+(G<<2)>>2];p[W>>3]=M;W=G|2;L=s+(W<<3)|0;J=G|3;V=s+(J<<3)|0;M=+p[V>>3]+I*+n[R+(J<<2)>>2];p[L>>3]=+p[L>>3]+I*+n[R+(W<<2)>>2];p[V>>3]=M;G=G+4|0}while((G|0)<=(w|0));Y=C;do{G=s+(Y<<3)|0;p[G>>3]=+p[G>>3]+I*+n[R+(Y<<2)>>2];Y=Y+1|0}while((Y|0)!=(u|0));S=S+1|0;if((S|0)==(a|0))break;else R=R+(i<<2)|0}}while(0);if(v){G=0;do{V=s+(G<<3)|0;p[V>>3]=H*+p[V>>3];G=G+1|0}while((G|0)!=(u|0))}}else if(v){G=0;do{V=F+((X(G,t)|0)<<2)|0;p[s+(G<<3)>>3]=H*+n[V>>2];G=G+1|0}while((G|0)!=(u|0))}while(0);if(l){if(B){if(v){Z=m;_=0}else break;while(1){H=+n[e+(_<<2)>>2];G=0;do{V=Z+(G<<2)|0;n[V>>2]=+p[s+(G<<3)>>3]*H+ +n[V>>2];G=G+1|0}while((G|0)!=(u|0));_=_+1|0;if((_|0)==(b|0))break a;else Z=Z+(k<<2)|0}}if(D){$=m;aa=0}else{G=m;V=0;while(1){H=+n[e+(V<<2)>>2];W=0;do{L=G+(W<<2)|0;J=W|1;T=G+(J<<2)|0;I=+p[s+(J<<3)>>3]*H+ +n[T>>2];n[L>>2]=+p[s+(W<<3)>>3]*H+ +n[L>>2];n[T>>2]=I;T=W|2;L=G+(T<<2)|0;J=W|3;U=G+(J<<2)|0;I=+p[s+(J<<3)>>3]*H+ +n[U>>2];n[L>>2]=+p[s+(T<<3)>>3]*H+ +n[L>>2];n[U>>2]=I;W=W+4|0}while((W|0)<=(w|0));V=V+1|0;if((V|0)==(b|0))break a;else G=G+(k<<2)|0}}while(1){H=+n[e+(aa<<2)>>2];G=0;do{V=$+(G<<2)|0;W=G|1;U=$+(W<<2)|0;I=+p[s+(W<<3)>>3]*H+ +n[U>>2];n[V>>2]=+p[s+(G<<3)>>3]*H+ +n[V>>2];n[U>>2]=I;U=G|2;V=$+(U<<2)|0;W=G|3;L=$+(W<<2)|0;I=+p[s+(W<<3)>>3]*H+ +n[L>>2];n[V>>2]=+p[s+(U<<3)>>3]*H+ +n[V>>2];n[L>>2]=I;G=G+4|0}while((G|0)<=(w|0));ba=C;do{G=$+(ba<<2)|0;n[G>>2]=+p[s+(ba<<3)>>3]*H+ +n[G>>2];ba=ba+1|0}while((ba|0)!=(u|0));aa=aa+1|0;if((aa|0)==(b|0))break;else $=$+(k<<2)|0}}}while(0);h=h+1|0;if((h|0)>=(d|0))break;else{F=F+(o<<2)|0;e=e+(f<<2)|0}}return}function RR(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0,z=0.0,A=0,B=0,C=0.0,D=0.0,E=0,F=0,G=0.0,H=0.0,I=0;q=(d|0)==0?1:d>>>3;d=f>>>3;f=i>>>3;i=k>>>3;k=n>>>3;n=o+7&-8;o=n;r=n;n=g?d:1;s=g?1:d;d=(b|0)<(a|0)?b:a;g=(j|0)!=0;t=g?l:a;l=(b|0)>0;u=(t|0)>0;if(l&u){v=t<<3;w=0;do{FVa(m+((X(w,k)|0)<<3)|0,0,v|0)|0;w=w+1|0}while((w|0)!=(b|0))}if((d|0)>0){x=0.0;y=0}else return;do{w=c+((X(y,q)|0)<<3)|0;x=x+ +p[w>>3];y=y+1|0}while((y|0)<(d|0));z=x*4.440892098500626e-16;y=(t|0)==1;w=(a|0)>0;v=t<<3;A=e;e=h;h=0;while(1){B=c+((X(h,q)|0)<<3)|0;x=+p[B>>3];a:do if(!(+K(+x)<=z)){C=1.0/x;if(y){if(g)if(w){D=0.0;B=0;while(1){E=A+((X(B,s)|0)<<3)|0;F=j+((X(B,i)|0)<<3)|0;G=D+ +p[E>>3]*+p[F>>3];B=B+1|0;if((B|0)==(a|0)){H=G;break}else D=G}}else H=0.0;else H=+p[A>>3];D=C*H;if(l)I=0;else break;while(1){B=m+((X(I,k)|0)<<3)|0;p[B>>3]=+p[B>>3]+D*+p[e+(I<<3)>>3];I=I+1|0;if((I|0)==(b|0))break a}}do if(!g){if(u){B=0;do{F=A+((X(B,s)|0)<<3)|0;p[r+(B<<3)>>3]=C*+p[F>>3];B=B+1|0}while((B|0)!=(t|0))}}else{if(!u){SR(a,t,j,i,A,s,r,0);break}FVa(o|0,0,v|0)|0;SR(a,t,j,i,A,s,r,0);B=0;do{F=r+(B<<3)|0;p[F>>3]=C*+p[F>>3];B=B+1|0}while((B|0)!=(t|0))}while(0);SR(b,t,r,0,e,1,m,k)}while(0);h=h+1|0;if((h|0)>=(d|0))break;else{A=A+(n<<3)|0;e=e+(f<<3)|0}}return}function SR(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,q=0,r=0,s=0.0,t=0;if((a|0)<=0)return;i=b+-4|0;if((b|0)<4){j=(b|0)>0;k=g;l=0;m=c;while(1){n=e+((X(l,f)|0)<<3)|0;o=+p[n>>3];if(j){n=0;do{q=k+(n<<3)|0;p[q>>3]=+p[q>>3]+o*+p[m+(n<<3)>>3];n=n+1|0}while((n|0)!=(b|0))}l=l+1|0;if((l|0)==(a|0))break;else{k=k+(h<<3)|0;m=m+(d<<3)|0}}return}m=b&-4;k=(m|0)<(b|0);l=g;g=0;j=c;while(1){c=e+((X(g,f)|0)<<3)|0;o=+p[c>>3];c=0;do{n=l+(c<<3)|0;q=c|1;r=l+(q<<3)|0;s=+p[r>>3]+o*+p[j+(q<<3)>>3];p[n>>3]=+p[n>>3]+o*+p[j+(c<<3)>>3];p[r>>3]=s;r=c|2;n=l+(r<<3)|0;q=c|3;t=l+(q<<3)|0;s=+p[t>>3]+o*+p[j+(q<<3)>>3];p[n>>3]=+p[n>>3]+o*+p[j+(r<<3)>>3];p[t>>3]=s;c=c+4|0}while((c|0)<=(i|0));if(k){c=m;do{t=l+(c<<3)|0;p[t>>3]=+p[t>>3]+o*+p[j+(c<<3)>>3];c=c+1|0}while((c|0)!=(b|0))}g=g+1|0;if((g|0)==(a|0))break;else{l=l+(h<<3)|0;j=j+(d<<3)|0}}return}function TR(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;g=u;u=u+16|0;h=g;yV(h,40128);LR(a,b,c,d,e);if(!(f[h+4>>2]|0)){u=g;return}u=g;return}function UR(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0,Y=0.0,Z=0.0,_=0,$=0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0;g=u;u=u+1680|0;h=g;i=g+1624|0;j=g+1616|0;k=g+1560|0;l=g+1504|0;m=g+464|0;o=g+408|0;q=g+296|0;r=g+240|0;s=g+184|0;t=g+128|0;v=g+72|0;w=g+56|0;x=g+352|0;yV(j,40168);do if((HJ(a)|0)==65536){y=f[a+4>>2]|0;f[k>>2]=f[y>>2];z=k+4|0;A=y+4|0;f[z>>2]=f[A>>2];B=k+8|0;f[B>>2]=f[y+8>>2];f[k+12>>2]=f[y+12>>2];f[k+16>>2]=f[y+16>>2];f[k+20>>2]=f[y+20>>2];f[k+24>>2]=f[y+24>>2];f[k+28>>2]=f[y+28>>2];f[k+32>>2]=f[y+32>>2];C=f[y+36>>2]|0;f[k+36>>2]=C;f[k+40>>2]=B;B=k+48|0;D=k+44|0;f[D>>2]=B;f[B>>2]=0;f[k+52>>2]=0;if(C|0){B=C+12|0;f[B>>2]=(f[B>>2]|0)+1}if((f[A>>2]|0)<3){A=f[y+44>>2]|0;B=f[D>>2]|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];break}else{f[z>>2]=0;WO(k,y);break}}else DJ(k,a,-1);while(0);do if((HJ(c)|0)==65536){a=f[c+4>>2]|0;f[l>>2]=f[a>>2];y=l+4|0;z=a+4|0;f[y>>2]=f[z>>2];A=l+8|0;f[A>>2]=f[a+8>>2];f[l+12>>2]=f[a+12>>2];f[l+16>>2]=f[a+16>>2];f[l+20>>2]=f[a+20>>2];f[l+24>>2]=f[a+24>>2];f[l+28>>2]=f[a+28>>2];f[l+32>>2]=f[a+32>>2];B=f[a+36>>2]|0;f[l+36>>2]=B;f[l+40>>2]=A;A=l+48|0;D=l+44|0;f[D>>2]=A;f[A>>2]=0;f[l+52>>2]=0;if(B|0){A=B+12|0;f[A>>2]=(f[A>>2]|0)+1}if((f[z>>2]|0)<3){z=f[a+44>>2]|0;A=f[D>>2]|0;f[A>>2]=f[z>>2];f[A+4>>2]=f[z+4>>2];E=l;break}else{f[y>>2]=0;WO(l,a);E=l;break}}else{DJ(l,c,-1);E=l}while(0);c=f[k>>2]|0;a=c&4095;y=(e&16|0)!=0;if(!((a+-5|0)>>>0<2?(a|0)==(f[E>>2]&4095|0):0)){f[h>>2]=0;f[h+4>>2]=0;F=JV(h,48)|0;G=170884;H=F+48|0;do{b[F>>0]=b[G>>0]|0;F=F+1|0;G=G+1|0}while((F|0)<(H|0));EP(-215,h,170933,170104,1100);KV(h)}z=e&-17;a:do switch(e|0){case 0:case 3:case 16:case 19:{if(!y?(f[k+8>>2]|0)!=(f[k+12>>2]|0):0){f[h>>2]=0;f[h+4>>2]=0;F=JV(h,87)|0;G=170939;H=F+87|0;do{b[F>>0]=b[G>>0]|0;F=F+1|0;G=G+1|0}while((F|0)<(H|0));EP(-215,h,170933,170104,1104);KV(h)}switch(e|0){case 0:case 3:case 16:case 19:break;default:{I=59;break a}}if(((!y?(A=k+8|0,D=f[A>>2]|0,(D|0)<4):0)?(D|0)==(f[k+12>>2]|0):0)?(f[l+12>>2]|0)==1:0){vK(d,D,1,f[k>>2]&4095,-1,0,0);do if((HJ(d)|0)==65536){D=f[d+4>>2]|0;f[h>>2]=f[D>>2];B=h+4|0;C=D+4|0;f[B>>2]=f[C>>2];J=h+8|0;f[J>>2]=f[D+8>>2];f[h+12>>2]=f[D+12>>2];K=h+16|0;f[K>>2]=f[D+16>>2];f[h+20>>2]=f[D+20>>2];f[h+24>>2]=f[D+24>>2];f[h+28>>2]=f[D+28>>2];f[h+32>>2]=f[D+32>>2];L=f[D+36>>2]|0;f[h+36>>2]=L;f[h+40>>2]=J;J=h+48|0;M=h+44|0;f[M>>2]=J;f[J>>2]=0;f[h+52>>2]=0;if(L|0){N=L+12|0;f[N>>2]=(f[N>>2]|0)+1}if((f[C>>2]|0)<3){C=f[D+44>>2]|0;N=f[M>>2]|0;f[N>>2]=f[C>>2];f[N+4>>2]=f[C+4>>2];O=K;P=M;Q=J;break}else{f[B>>2]=0;WO(h,D);O=K;P=M;Q=J;break}}else{DJ(h,d,-1);O=h+16|0;P=h+44|0;Q=h+48|0}while(0);J=f[k+16>>2]|0;M=f[l+16>>2]|0;K=f[O>>2]|0;D=f[k+48>>2]|0;B=f[l+48>>2]|0;C=f[Q>>2]|0;N=f[A>>2]|0;do if((N|0)==2)if((a|0)==5){R=+n[J>>2];L=J+D|0;S=+n[L+4>>2];T=+n[J+4>>2];U=+n[L>>2];V=R*S-T*U;if(!(V!=0.0)){W=0;break}Y=1.0/V;V=+n[M>>2];Z=+n[M+B>>2];n[K+C>>2]=Y*(R*Z-U*V);n[K>>2]=Y*(S*V-T*Z);W=1;break}else{Z=+p[J>>3];L=J+D|0;T=+p[L+8>>3];V=+p[J+8>>3];S=+p[L>>3];Y=Z*T-V*S;if(!(Y!=0.0)){W=0;break}U=1.0/Y;Y=+p[M>>3];R=+p[M+B>>3];p[K+C>>3]=U*(Z*R-S*Y);p[K>>3]=U*(T*Y-V*R);W=1;break}else{L=(a|0)==5;if((N|0)==3)if(L){R=+n[J>>2];_=J+D|0;V=+n[_+4>>2];$=J+(D<<1)|0;Y=+n[$+8>>2];T=Y;U=+n[_+8>>2];S=+n[$+4>>2];Z=V*T-U*S;aa=+n[J+4>>2];ba=+n[_>>2];ca=+n[$>>2];da=T*ba-U*ca;ea=+n[J+8>>2];fa=S*ba-V*ca;ga=fa*ea+(Z*R-da*aa);if(!(ga!=0.0)){W=0;break}ha=1.0/ga;ga=+n[M>>2];ia=+n[M+B>>2];ja=ia;ka=+n[M+(B<<1)>>2];la=U*ka;U=S*ja;S=V*ka;V=ba*ka-ca*ja;n[K>>2]=ha*((U-S)*ea+(Z*ga-(T*ja-la)*aa));n[K+C>>2]=ha*(V*ea+((Y*ia-la)*R-da*ga));n[K+(C<<1)>>2]=ha*(fa*ga+((S-U)*R-V*aa));W=1;break}else{aa=+p[J>>3];$=J+D|0;V=+p[$+8>>3];_=J+(D<<1)|0;R=+p[_+16>>3];U=+p[$+16>>3];S=+p[_+8>>3];ga=V*R-U*S;fa=+p[J+8>>3];ha=+p[$>>3];da=R*ha;la=+p[_>>3];ia=U*la;Y=+p[J+16>>3];ea=S*ha-V*la;ja=Y*ea+(aa*ga-fa*(da-ia));if(!(ja!=0.0)){W=0;break}T=1.0/ja;ja=+p[M>>3];Z=+p[M+B>>3];ca=+p[M+(B<<1)>>3];p[K>>3]=T*(ga*ja+(S*Y-R*fa)*Z+(U*fa-V*Y)*ca);p[K+C>>3]=T*((ia-da)*ja+(aa*R-la*Y)*Z+(ha*Y-aa*U)*ca);p[K+(C<<1)>>3]=T*(ea*ja+(fa*la-aa*S)*Z+(aa*V-fa*ha)*ca);W=1;break}else if(L){ca=+n[J>>2];if(!(ca!=0.0)){W=0;break}n[K>>2]=+n[M>>2]/ca;W=1;break}else{ca=+p[J>>3];if(!(ca!=0.0)){W=0;break}p[K>>3]=+p[M>>3]/ca;W=1;break}}while(0);M=h+36|0;K=f[M>>2]|0;if(K|0?(J=K+12|0,K=f[J>>2]|0,f[J>>2]=K+-1,(K|0)==1):0)XO(h);f[M>>2]=0;M=h+4|0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[O+12>>2]=0;if((f[M>>2]|0)>0){K=f[h+40>>2]|0;J=0;do{f[K+(J<<2)>>2]=0;J=J+1|0}while((J|0)<(f[M>>2]|0))}M=f[P>>2]|0;if((M|0)!=(Q|0))dX(M);ma=W;na=l+36|0}else I=59;break}default:I=59}while(0);if((I|0)==59){W=f[k+8>>2]|0;Q=k+12|0;P=f[Q>>2]|0;O=f[l+12>>2]|0;M=(c>>>3&511)+1|0;J=M<<(47696>>>(a<<1&14)&3);K=X(P,J)|0;C=K+15&-16;B=(X(W,J)|0)+15&-16;D=(e|0)!=1?C:B;B=m+8|0;f[m>>2]=B;N=m+4|0;f[N>>2]=1032;f[o>>2]=f[E>>2];E=o+4|0;A=l+4|0;L=f[A>>2]|0;f[E>>2]=L;_=o+8|0;f[_>>2]=f[l+8>>2];$=o+12|0;f[$>>2]=O;oa=o+16|0;f[oa>>2]=f[l+16>>2];pa=o+20|0;f[pa>>2]=f[l+20>>2];qa=o+24|0;f[qa>>2]=f[l+24>>2];ra=o+28|0;f[ra>>2]=f[l+28>>2];sa=o+32|0;f[sa>>2]=f[l+32>>2];ta=o+36|0;ua=l+36|0;va=f[ua>>2]|0;f[ta>>2]=va;wa=o+40|0;f[wa>>2]=_;xa=o+48|0;ya=o+44|0;f[ya>>2]=xa;f[xa>>2]=0;f[o+52>>2]=0;if(!va)za=L;else{L=va+12|0;f[L>>2]=(f[L>>2]|0)+1;za=f[A>>2]|0}if((za|0)<3){za=f[l+44>>2]|0;A=f[ya>>2]|0;f[A>>2]=f[za>>2];f[A+4>>2]=f[za+4>>2]}else{f[E>>2]=0;WO(o,l)}vK(d,f[Q>>2]|0,f[$>>2]|0,f[k>>2]&4095,-1,0,0);do if((HJ(d)|0)==65536){Q=f[d+4>>2]|0;f[q>>2]=f[Q>>2];za=q+4|0;A=Q+4|0;f[za>>2]=f[A>>2];L=q+8|0;f[L>>2]=f[Q+8>>2];f[q+12>>2]=f[Q+12>>2];f[q+16>>2]=f[Q+16>>2];f[q+20>>2]=f[Q+20>>2];f[q+24>>2]=f[Q+24>>2];f[q+28>>2]=f[Q+28>>2];f[q+32>>2]=f[Q+32>>2];va=f[Q+36>>2]|0;f[q+36>>2]=va;f[q+40>>2]=L;L=q+48|0;Aa=q+44|0;f[Aa>>2]=L;f[L>>2]=0;f[q+52>>2]=0;if(va|0){L=va+12|0;f[L>>2]=(f[L>>2]|0)+1}if((f[A>>2]|0)<3){A=f[Q+44>>2]|0;L=f[Aa>>2]|0;f[L>>2]=f[A>>2];f[L+4>>2]=f[A+4>>2];break}else{f[za>>2]=0;WO(q,Q);break}}else DJ(q,d,-1);while(0);if((W|0)<(P|0)){f[h>>2]=0;f[h+4>>2]=0;F=JV(h,58)|0;G=171027;H=F+58|0;do{b[F>>0]=b[G>>0]|0;F=F+1|0;G=G+1|0}while((F|0)<(H|0));EP(-5,h,170933,170104,1250);KV(h)}d=(W|0)==(P|0);if(d){Ba=z;Ca=0;Da=W}else{Ba=(e|0)==17?2:z;Ca=y;Da=y?P:W}y=(Ba|0)==1;z=X(Ca|y?P:W,D)|0;e=(X(K,O)|0)+32|0;K=(Ca?e:32)+z|0;e=(Ba|0)==2;if((Ba+-1|0)>>>0<2)Ea=(O<<3)+32+(X(C+(J*5|0)|0,P)|0)+K|0;else Ea=K;if((f[N>>2]|0)>>>0>>0){K=f[m>>2]|0;if((K|0)==(B|0))Fa=K;else{if(K|0)HQa(K);f[m>>2]=B;f[N>>2]=1032;Fa=B}f[N>>2]=Ea;if(Ea>>>0>1032){K=FQa(Ea)|0;f[m>>2]=K;Ga=K}else Ga=Fa}else{f[N>>2]=Ea;Ga=f[m>>2]|0}Ea=Ga+15&-16;Gi(r,Da,P,a,Ea,D);b:do if(Ca){f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=k;Ga=i+8|0;f[Ga>>2]=0;f[Ga+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=r;VC(h,i,1,BK()|0,1.0,-1);Ga=Ea+z|0;switch(Ba|0){case 0:case 3:{f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=k;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=o;f[t>>2]=1124007936;Fa=t+4|0;K=t+8|0;Q=t+40|0;F=Fa;H=F+36|0;do{f[F>>2]=0;F=F+4|0}while((F|0)<(H|0));f[Q>>2]=K;za=t+48|0;A=t+44|0;f[A>>2]=za;f[za>>2]=0;f[t+52>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[s>>2]=16842752;f[s+4>>2]=t;L=v+8|0;f[L>>2]=0;f[L+4>>2]=0;f[v>>2]=33619968;f[v+4>>2]=q;zC(h,i,1.0,s,0.0,v,1);L=t+36|0;Aa=f[L>>2]|0;if(Aa|0?(va=Aa+12|0,Aa=f[va>>2]|0,f[va>>2]=Aa+-1,(Aa|0)==1):0)XO(t);f[L>>2]=0;L=t+16|0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;if((f[Fa>>2]|0)>0){L=f[Q>>2]|0;Aa=0;do{f[L+(Aa<<2)>>2]=0;Aa=Aa+1|0}while((Aa|0)<(f[Fa>>2]|0))}Fa=f[A>>2]|0;if((Fa|0)!=(za|0))dX(Fa);Ha=Ga;break b;break}default:{}}Fa=a|1124007936;f[i>>2]=Fa;Aa=i+4|0;f[Aa>>2]=2;L=i+8|0;f[L>>2]=P;Q=i+12|0;f[Q>>2]=O;K=i+16|0;f[K>>2]=Ga;va=i+20|0;f[va>>2]=Ga;Ia=i+24|0;Ja=i+28|0;Ka=i+40|0;f[Ia>>2]=0;f[Ia+4>>2]=0;f[Ia+8>>2]=0;f[Ia+12>>2]=0;f[Ka>>2]=L;La=i+48|0;Ma=i+44|0;f[Ma>>2]=La;f[i+52>>2]=0;f[La>>2]=0;Na=X(O,P)|0;if((Na|0)!=0&(Ga|0)==0){f[h>>2]=0;f[h+4>>2]=0;F=JV(h,26)|0;G=346743;H=F+26|0;do{b[F>>0]=b[G>>0]|0;F=F+1|0;G=G+1|0}while((F|0)<(H|0));EP(-215,h,346770,346774,500);KV(h);Oa=f[Q>>2]|0;Pa=f[i>>2]|0;Qa=f[Ma>>2]|0;Ra=f[va>>2]|0}else{Oa=O;Pa=Fa;Qa=La;Ra=Ga}za=M<<(47696>>>(c<<1&14)&3);A=X(Oa,za)|0;f[i>>2]=Pa|16384;f[Qa>>2]=A;f[Qa+4>>2]=za;za=Ra+(X(f[L>>2]|0,A)|0)|0;f[Ja>>2]=za;f[Ia>>2]=za+(0-A)+A;A=Ea+z+(X(Na,J)|0)|0;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=k;f[s+8>>2]=0;f[s+12>>2]=0;f[s>>2]=16842752;f[s+4>>2]=o;f[v>>2]=1124007936;za=v+4|0;Sa=v+8|0;Ta=v+40|0;F=za;H=F+36|0;do{f[F>>2]=0;F=F+4|0}while((F|0)<(H|0));f[Ta>>2]=Sa;Na=v+48|0;Ga=v+44|0;f[Ga>>2]=Na;f[Na>>2]=0;f[v+52>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;f[t>>2]=16842752;f[t+4>>2]=v;Fa=w+8|0;f[Fa>>2]=0;f[Fa+4>>2]=0;f[w>>2]=33619968;f[w+4>>2]=i;zC(h,s,1.0,t,0.0,w,1);Fa=v+36|0;Ua=f[Fa>>2]|0;if(Ua|0?(Va=Ua+12|0,Ua=f[Va>>2]|0,f[Va>>2]=Ua+-1,(Ua|0)==1):0)XO(v);f[Fa>>2]=0;Fa=v+16|0;f[Fa>>2]=0;f[Fa+4>>2]=0;f[Fa+8>>2]=0;f[Fa+12>>2]=0;if((f[za>>2]|0)>0){Fa=f[Ta>>2]|0;Ua=0;do{f[Fa+(Ua<<2)>>2]=0;Ua=Ua+1|0}while((Ua|0)<(f[za>>2]|0))}za=f[Ga>>2]|0;if((za|0)!=(Na|0))dX(za);za=i+36|0;Ua=f[za>>2]|0;if(Ua|0){Fa=Ua+12|0;f[Fa>>2]=(f[Fa>>2]|0)+1}Fa=f[ta>>2]|0;do if(Fa|0){Ua=Fa+12|0;Ta=f[Ua>>2]|0;f[Ua>>2]=Ta+-1;if((Ta|0)!=1)break;XO(o)}while(0);f[ta>>2]=0;f[oa>>2]=0;f[oa+4>>2]=0;f[oa+8>>2]=0;f[oa+12>>2]=0;if((f[E>>2]|0)>0){Fa=f[wa>>2]|0;Na=0;do{f[Fa+(Na<<2)>>2]=0;Na=Na+1|0;Wa=f[E>>2]|0}while((Na|0)<(Wa|0));f[o>>2]=f[i>>2];if((Wa|0)<3)I=142;else I=144}else{f[o>>2]=f[i>>2];I=142}do if((I|0)==142){Na=f[Aa>>2]|0;if((Na|0)>=3){I=144;break}f[E>>2]=Na;f[_>>2]=f[L>>2];f[$>>2]=f[Q>>2];Na=f[Ma>>2]|0;Fa=f[ya>>2]|0;f[Fa>>2]=f[Na>>2];f[Fa+4>>2]=f[Na+4>>2]}while(0);if((I|0)==144)WO(o,i);f[oa>>2]=f[K>>2];f[pa>>2]=f[va>>2];f[qa>>2]=f[Ia>>2];f[ra>>2]=f[Ja>>2];f[sa>>2]=f[i+32>>2];Q=f[za>>2]|0;f[ta>>2]=Q;do if(Q|0){L=Q+12|0;Na=f[L>>2]|0;f[L>>2]=Na+-1;if((Na|0)!=1)break;XO(i)}while(0);f[za>>2]=0;f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0;f[K+12>>2]=0;if((f[Aa>>2]|0)>0){Q=f[Ka>>2]|0;Ja=0;do{f[Q+(Ja<<2)>>2]=0;Ja=Ja+1|0}while((Ja|0)<(f[Aa>>2]|0))}Aa=f[Ma>>2]|0;if((Aa|0)!=(La|0))dX(Aa);Ha=A}else{if(y){Gi(h,P,Da,a,Ea,D);Aa=h+36|0;Ja=f[Aa>>2]|0;if(Ja|0){Q=Ja+12|0;f[Q>>2]=(f[Q>>2]|0)+1}Q=r+36|0;Ja=f[Q>>2]|0;if(Ja|0?(Ka=Ja+12|0,Ja=f[Ka>>2]|0,f[Ka>>2]=Ja+-1,(Ja|0)==1):0)XO(r);f[Q>>2]=0;Ja=r+16|0;Ka=r+4|0;f[Ja>>2]=0;f[Ja+4>>2]=0;f[Ja+8>>2]=0;f[Ja+12>>2]=0;if((f[Ka>>2]|0)>0){K=f[r+40>>2]|0;za=0;do{f[K+(za<<2)>>2]=0;za=za+1|0;Xa=f[Ka>>2]|0}while((za|0)<(Xa|0));f[r>>2]=f[h>>2];if((Xa|0)<3)I=99;else I=101}else{f[r>>2]=f[h>>2];I=99}if((I|0)==99){za=f[h+4>>2]|0;if((za|0)<3){f[Ka>>2]=za;f[r+8>>2]=f[h+8>>2];f[r+12>>2]=f[h+12>>2];za=f[h+44>>2]|0;K=f[r+44>>2]|0;f[K>>2]=f[za>>2];f[K+4>>2]=f[za+4>>2]}else I=101}if((I|0)==101)WO(r,h);za=h+16|0;f[Ja>>2]=f[za>>2];f[r+20>>2]=f[h+20>>2];f[r+24>>2]=f[h+24>>2];f[r+28>>2]=f[h+28>>2];f[r+32>>2]=f[h+32>>2];K=f[Aa>>2]|0;f[Q>>2]=K;do if(K|0){A=K+12|0;La=f[A>>2]|0;f[A>>2]=La+-1;if((La|0)!=1)break;XO(h)}while(0);f[Aa>>2]=0;K=h+4|0;f[za>>2]=0;f[za+4>>2]=0;f[za+8>>2]=0;f[za+12>>2]=0;if((f[K>>2]|0)>0){Q=f[h+40>>2]|0;Ja=0;do{f[Q+(Ja<<2)>>2]=0;Ja=Ja+1|0}while((Ja|0)<(f[K>>2]|0))}K=f[h+44>>2]|0;if((K|0)!=(h+48|0))dX(K);f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=k;K=i+8|0;f[K>>2]=0;f[K+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=r;DD(h,i)}else{K=h+8|0;f[K>>2]=0;f[K+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=r;eM(k,h)}K=Ea+z|0;switch(Ba|0){case 0:case 3:break;default:{Ha=K;break b}}Ja=h+8|0;f[Ja>>2]=0;f[Ja+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=q;eM(o,h);Ha=K}while(0);c:do switch(Ba|0){case 0:{z=f[r+16>>2]|0;if((a|0)==5)if(!(tY(z,f[r+48>>2]|0,P,f[q+16>>2]|0,f[q+48>>2]|0,O)|0)){I=283;break c}else{Ya=1;break c}else if(!(vY(z,f[r+48>>2]|0,P,f[q+16>>2]|0,f[q+48>>2]|0,O)|0)){I=283;break c}else{Ya=1;break c}break}case 3:{z=f[r+16>>2]|0;if((a|0)==5)Za=xY(z,f[r+48>>2]|0,P,f[q+16>>2]|0,f[q+48>>2]|0,O)|0;else Za=zY(z,f[r+48>>2]|0,P,f[q+16>>2]|0,f[q+48>>2]|0,O)|0;if(Za)Ya=1;else I=283;break}case 4:{f[s>>2]=1124007936;z=s+4|0;Ea=s+8|0;Xa=s+40|0;F=z;H=F+36|0;do{f[F>>2]=0;F=F+4|0}while((F|0)<(H|0));f[Xa>>2]=Ea;D=s+48|0;y=s+44|0;f[y>>2]=D;f[D>>2]=0;f[s+52>>2]=0;if(d|Ca){sa=h+8|0;f[sa>>2]=0;f[sa+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=q;eM(o,h);sa=q+36|0;ra=f[sa>>2]|0;if(ra|0){qa=ra+12|0;f[qa>>2]=(f[qa>>2]|0)+1}qa=s+36|0;ra=f[qa>>2]|0;if(ra|0?(pa=ra+12|0,ra=f[pa>>2]|0,f[pa>>2]=ra+-1,(ra|0)==1):0)XO(s);f[qa>>2]=0;ra=s+16|0;f[ra>>2]=0;f[ra+4>>2]=0;f[ra+8>>2]=0;f[ra+12>>2]=0;if((f[z>>2]|0)>0){pa=f[Xa>>2]|0;$=0;do{f[pa+($<<2)>>2]=0;$=$+1|0;_a=f[z>>2]|0}while(($|0)<(_a|0));f[s>>2]=f[q>>2];if((_a|0)<3)I=172;else I=174}else{f[s>>2]=f[q>>2];I=172}if((I|0)==172){$=f[q+4>>2]|0;if(($|0)<3){f[z>>2]=$;f[Ea>>2]=f[q+8>>2];f[s+12>>2]=f[q+12>>2];$=f[q+44>>2]|0;pa=f[y>>2]|0;f[pa>>2]=f[$>>2];f[pa+4>>2]=f[$+4>>2]}else I=174}if((I|0)==174)WO(s,q);f[ra>>2]=f[q+16>>2];f[s+20>>2]=f[q+20>>2];f[s+24>>2]=f[q+24>>2];f[s+28>>2]=f[q+28>>2];f[s+32>>2]=f[q+32>>2];f[qa>>2]=f[sa>>2]}else{f[i>>2]=1124007936;$=i+4|0;pa=i+8|0;_=i+40|0;F=$;H=F+36|0;do{f[F>>2]=0;F=F+4|0}while((F|0)<(H|0));f[_>>2]=pa;sa=i+48|0;qa=i+44|0;f[qa>>2]=sa;f[sa>>2]=0;f[i+52>>2]=0;f[h>>2]=W;f[h+4>>2]=O;VO(i,2,h,a);ra=i+36|0;Wa=f[ra>>2]|0;if(Wa|0){v=Wa+12|0;f[v>>2]=(f[v>>2]|0)+1}v=s+36|0;Wa=f[v>>2]|0;if(Wa|0?(w=Wa+12|0,Wa=f[w>>2]|0,f[w>>2]=Wa+-1,(Wa|0)==1):0)XO(s);f[v>>2]=0;Wa=s+16|0;f[Wa>>2]=0;f[Wa+4>>2]=0;f[Wa+8>>2]=0;f[Wa+12>>2]=0;if((f[z>>2]|0)>0){w=f[Xa>>2]|0;t=0;do{f[w+(t<<2)>>2]=0;t=t+1|0;$a=f[z>>2]|0}while((t|0)<($a|0));f[s>>2]=f[i>>2];if(($a|0)<3)I=186;else I=188}else{f[s>>2]=f[i>>2];I=186}if((I|0)==186){t=f[$>>2]|0;if((t|0)<3){f[z>>2]=t;f[Ea>>2]=f[pa>>2];f[s+12>>2]=f[i+12>>2];t=f[qa>>2]|0;w=f[y>>2]|0;f[w>>2]=f[t>>2];f[w+4>>2]=f[t+4>>2]}else I=188}if((I|0)==188)WO(s,i);t=i+16|0;f[Wa>>2]=f[t>>2];f[s+20>>2]=f[i+20>>2];f[s+24>>2]=f[i+24>>2];f[s+28>>2]=f[i+28>>2];f[s+32>>2]=f[i+32>>2];w=f[ra>>2]|0;f[v>>2]=w;do if(w|0){Ra=w+12|0;Qa=f[Ra>>2]|0;f[Ra>>2]=Qa+-1;if((Qa|0)!=1)break;XO(i)}while(0);f[ra>>2]=0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;if((f[$>>2]|0)>0){w=f[_>>2]|0;v=0;do{f[w+(v<<2)>>2]=0;v=v+1|0}while((v|0)<(f[$>>2]|0))}$=f[qa>>2]|0;if(($|0)!=(sa|0))dX($);$=h+8|0;f[$>>2]=0;f[$+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=s;eM(o,h)}$=f[r+16>>2]|0;if((a|0)==5)ab=BY($,f[r+48>>2]|0,f[r+8>>2]|0,f[r+12>>2]|0,f[s+12>>2]|0,f[s+16>>2]|0,f[D>>2]|0,0)|0;else ab=CY($,f[r+48>>2]|0,f[r+8>>2]|0,f[r+12>>2]|0,f[s+12>>2]|0,f[s+16>>2]|0,f[D>>2]|0,0)|0;$=(ab|0)==0;v=f[q+8>>2]|0;if((f[Ea>>2]|0)!=(v|0)){f[h>>2]=0;f[h+4>>2]=v;f[i>>2]=-2147483648;f[i+4>>2]=2147483647;YO(x,s,h,i);v=h+8|0;f[v>>2]=0;f[v+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=q;eM(x,h);v=x+36|0;w=f[v>>2]|0;if(w|0?(_=w+12|0,w=f[_>>2]|0,f[_>>2]=w+-1,(w|0)==1):0)XO(x);f[v>>2]=0;v=x+16|0;w=x+4|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;if((f[w>>2]|0)>0){v=f[x+40>>2]|0;_=0;do{f[v+(_<<2)>>2]=0;_=_+1|0}while((_|0)<(f[w>>2]|0))}w=f[x+44>>2]|0;if((w|0)!=(x+48|0))dX(w)}w=s+36|0;_=f[w>>2]|0;if(_|0?(v=_+12|0,_=f[v>>2]|0,f[v>>2]=_+-1,(_|0)==1):0)XO(s);f[w>>2]=0;w=s+16|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;if((f[z>>2]|0)>0){w=f[Xa>>2]|0;_=0;do{f[w+(_<<2)>>2]=0;_=_+1|0}while((_|0)<(f[z>>2]|0))}z=f[y>>2]|0;if((z|0)!=(D|0))dX(z);if($)I=283;else Ya=1;break}default:{z=Ha+15&-16;Gi(i,P,P,a,z,C);_=z+(X(C,P)|0)|0;w=a|1124007936;f[s>>2]=w;Xa=s+4|0;f[Xa>>2]=2;v=s+8|0;f[v>>2]=P;Ea=s+12|0;f[Ea>>2]=1;sa=s+16|0;f[sa>>2]=_;qa=s+20|0;f[qa>>2]=_;t=s+24|0;ra=s+28|0;Wa=s+40|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;f[Wa>>2]=v;pa=s+48|0;Qa=s+44|0;f[Qa>>2]=pa;f[s+52>>2]=0;f[pa>>2]=0;if((P|0)!=0&(_|0)==0){f[h>>2]=0;f[h+4>>2]=0;F=JV(h,26)|0;G=346743;H=F+26|0;do{b[F>>0]=b[G>>0]|0;F=F+1|0;G=G+1|0}while((F|0)<(H|0));EP(-215,h,346770,346774,500);KV(h);bb=f[Ea>>2]|0;cb=f[s>>2]|0;db=f[Qa>>2]|0;eb=f[qa>>2]|0}else{bb=1;cb=w;db=pa;eb=_}$=M<<(47696>>>(c<<1&14)&3);D=X(bb,$)|0;f[s>>2]=cb|16384;f[db>>2]=D;f[db+4>>2]=$;$=eb+(X(f[v>>2]|0,D)|0)|0;f[ra>>2]=$;f[t>>2]=$+(0-D)+D;f[h>>2]=1124007936;D=h+4|0;$=h+8|0;y=h+40|0;F=D;H=F+36|0;do{f[F>>2]=0;F=F+4|0}while((F|0)<(H|0));f[y>>2]=$;t=h+48|0;ra=h+44|0;f[ra>>2]=t;f[t>>2]=0;f[h+52>>2]=0;v=z+(X(C+J|0,P)|0)|0;_=(a|0)==5;w=f[r+16>>2]|0;d:do if(e){if(_)OR(w,f[r+48>>2]|0,f[sa>>2]|0,f[i+16>>2]|0,f[i+48>>2]|0,P,v)|0;else PR(w,f[r+48>>2]|0,f[sa>>2]|0,f[i+16>>2]|0,f[i+48>>2]|0,P,v)|0;qa=i+36|0;Ea=f[qa>>2]|0;if(Ea|0){Ra=Ea+12|0;f[Ra>>2]=(f[Ra>>2]|0)+1}Ra=h+36|0;Ea=f[Ra>>2]|0;do if(Ea|0){Pa=Ea+12|0;Oa=f[Pa>>2]|0;f[Pa>>2]=Oa+-1;if((Oa|0)!=1)break;XO(h)}while(0);f[Ra>>2]=0;Ea=h+16|0;f[Ea>>2]=0;f[Ea+4>>2]=0;f[Ea+8>>2]=0;f[Ea+12>>2]=0;if((f[D>>2]|0)>0){Oa=f[y>>2]|0;Pa=0;do{f[Oa+(Pa<<2)>>2]=0;Pa=Pa+1|0;fb=f[D>>2]|0}while((Pa|0)<(fb|0));f[h>>2]=f[i>>2];if((fb|0)<3)I=235}else{f[h>>2]=f[i>>2];I=235}do if((I|0)==235){Pa=f[i+4>>2]|0;if((Pa|0)>=3)break;f[D>>2]=Pa;f[$>>2]=f[i+8>>2];f[h+12>>2]=f[i+12>>2];Pa=f[i+44>>2]|0;Oa=f[ra>>2]|0;f[Oa>>2]=f[Pa>>2];f[Oa+4>>2]=f[Pa+4>>2];gb=qa;hb=Ra;ib=Ea;jb=i;break d}while(0);WO(h,i);gb=qa;hb=Ra;ib=Ea;jb=i}else{if(_){Pa=f[i+16>>2]|0;HR(w,f[r+48>>2]|0,f[sa>>2]|0,Pa,f[i+48>>2]|0,Da,P,(Pa|0)==0?0:P,1.1754943508222875e-38,2.384185791015625e-07)}else{Pa=f[i+16>>2]|0;IR(w,f[r+48>>2]|0,f[sa>>2]|0,Pa,f[i+48>>2]|0,Da,P,(Pa|0)==0?0:P,2.2250738585072014e-308,2.220446049250313e-15)}Pa=r+36|0;Oa=f[Pa>>2]|0;if(Oa|0){K=Oa+12|0;f[K>>2]=(f[K>>2]|0)+1}K=h+36|0;Oa=f[K>>2]|0;do if(Oa|0){Ja=Oa+12|0;Q=f[Ja>>2]|0;f[Ja>>2]=Q+-1;if((Q|0)!=1)break;XO(h)}while(0);f[K>>2]=0;Oa=h+16|0;f[Oa>>2]=0;f[Oa+4>>2]=0;f[Oa+8>>2]=0;f[Oa+12>>2]=0;if((f[D>>2]|0)>0){Ea=f[y>>2]|0;Ra=0;do{f[Ea+(Ra<<2)>>2]=0;Ra=Ra+1|0;kb=f[D>>2]|0}while((Ra|0)<(kb|0));f[h>>2]=f[r>>2];if((kb|0)<3)I=251}else{f[h>>2]=f[r>>2];I=251}do if((I|0)==251){Ra=f[r+4>>2]|0;if((Ra|0)>=3)break;f[D>>2]=Ra;f[$>>2]=f[r+8>>2];f[h+12>>2]=f[r+12>>2];Ra=f[r+44>>2]|0;Ea=f[ra>>2]|0;f[Ea>>2]=f[Ra>>2];f[Ea+4>>2]=f[Ra+4>>2];gb=Pa;hb=K;ib=Oa;jb=r;break d}while(0);WO(h,r);gb=Pa;hb=K;ib=Oa;jb=r}while(0);$=f[jb+16>>2]|0;f[ib>>2]=$;f[h+20>>2]=f[jb+20>>2];f[h+24>>2]=f[jb+24>>2];f[h+28>>2]=f[jb+28>>2];f[h+32>>2]=f[jb+32>>2];f[hb>>2]=f[gb>>2];w=f[sa>>2]|0;if(_)QR(Da,P,w,0,$,f[t>>2]|0,1,f[i+16>>2]|0,f[i+48>>2]|0,f[oa>>2]|0,f[xa>>2]|0,O,f[q+16>>2]|0,f[q+48>>2]|0,v);else RR(Da,P,w,0,$,f[t>>2]|0,1,f[i+16>>2]|0,f[i+48>>2]|0,f[oa>>2]|0,f[xa>>2]|0,O,f[q+16>>2]|0,f[q+48>>2]|0,v);$=h+36|0;w=f[$>>2]|0;if(w|0?(z=w+12|0,w=f[z>>2]|0,f[z>>2]=w+-1,(w|0)==1):0)XO(h);f[$>>2]=0;$=h+16|0;f[$>>2]=0;f[$+4>>2]=0;f[$+8>>2]=0;f[$+12>>2]=0;if((f[D>>2]|0)>0){$=f[y>>2]|0;w=0;do{f[$+(w<<2)>>2]=0;w=w+1|0}while((w|0)<(f[D>>2]|0))}D=f[ra>>2]|0;if((D|0)!=(t|0))dX(D);D=s+36|0;w=f[D>>2]|0;do if(w|0){$=w+12|0;y=f[$>>2]|0;f[$>>2]=y+-1;if((y|0)!=1)break;XO(s)}while(0);f[D>>2]=0;f[sa>>2]=0;f[sa+4>>2]=0;f[sa+8>>2]=0;f[sa+12>>2]=0;if((f[Xa>>2]|0)>0){w=f[Wa>>2]|0;t=0;do{f[w+(t<<2)>>2]=0;t=t+1|0}while((t|0)<(f[Xa>>2]|0))}Xa=f[Qa>>2]|0;if((Xa|0)!=(pa|0))dX(Xa);Xa=i+36|0;t=f[Xa>>2]|0;do if(t|0){w=t+12|0;Wa=f[w>>2]|0;f[w>>2]=Wa+-1;if((Wa|0)!=1)break;XO(i)}while(0);f[Xa>>2]=0;t=i+16|0;pa=i+4|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;if((f[pa>>2]|0)>0){t=f[i+40>>2]|0;Qa=0;do{f[t+(Qa<<2)>>2]=0;Qa=Qa+1|0}while((Qa|0)<(f[pa>>2]|0))}pa=f[i+44>>2]|0;if((pa|0)!=(i+48|0))dX(pa);Ya=1}}while(0);if((I|0)==283){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;f[h+28>>2]=0;gM(q,h)|0;Ya=0}h=r+36|0;I=f[h>>2]|0;if(I|0?(i=I+12|0,I=f[i>>2]|0,f[i>>2]=I+-1,(I|0)==1):0)XO(r);f[h>>2]=0;h=r+16|0;I=r+4|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;if((f[I>>2]|0)>0){h=f[r+40>>2]|0;i=0;do{f[h+(i<<2)>>2]=0;i=i+1|0}while((i|0)<(f[I>>2]|0))}I=f[r+44>>2]|0;if((I|0)!=(r+48|0))dX(I);I=q+36|0;r=f[I>>2]|0;if(r|0?(i=r+12|0,r=f[i>>2]|0,f[i>>2]=r+-1,(r|0)==1):0)XO(q);f[I>>2]=0;I=q+16|0;r=q+4|0;f[I>>2]=0;f[I+4>>2]=0;f[I+8>>2]=0;f[I+12>>2]=0;if((f[r>>2]|0)>0){I=f[q+40>>2]|0;i=0;do{f[I+(i<<2)>>2]=0;i=i+1|0}while((i|0)<(f[r>>2]|0))}r=f[q+44>>2]|0;if((r|0)!=(q+48|0))dX(r);r=f[ta>>2]|0;do if(r|0){q=r+12|0;i=f[q>>2]|0;f[q>>2]=i+-1;if((i|0)!=1)break;XO(o)}while(0);f[ta>>2]=0;f[oa>>2]=0;f[oa+4>>2]=0;f[oa+8>>2]=0;f[oa+12>>2]=0;if((f[E>>2]|0)>0){oa=f[wa>>2]|0;wa=0;do{f[oa+(wa<<2)>>2]=0;wa=wa+1|0}while((wa|0)<(f[E>>2]|0))}E=f[ya>>2]|0;if((E|0)!=(xa|0))dX(E);E=f[m>>2]|0;if((E|0)!=(B|0)){if(E|0)HQa(E);f[m>>2]=B;f[N>>2]=1032}ma=Ya;na=ua}ua=f[na>>2]|0;if(ua|0?(Ya=ua+12|0,ua=f[Ya>>2]|0,f[Ya>>2]=ua+-1,(ua|0)==1):0)XO(l);f[na>>2]=0;na=l+16|0;ua=l+4|0;f[na>>2]=0;f[na+4>>2]=0;f[na+8>>2]=0;f[na+12>>2]=0;if((f[ua>>2]|0)>0){na=f[l+40>>2]|0;Ya=0;do{f[na+(Ya<<2)>>2]=0;Ya=Ya+1|0}while((Ya|0)<(f[ua>>2]|0))}ua=f[l+44>>2]|0;if((ua|0)!=(l+48|0))dX(ua);ua=k+36|0;l=f[ua>>2]|0;if(l|0?(Ya=l+12|0,l=f[Ya>>2]|0,f[Ya>>2]=l+-1,(l|0)==1):0)XO(k);f[ua>>2]=0;ua=k+16|0;l=k+4|0;f[ua>>2]=0;f[ua+4>>2]=0;f[ua+8>>2]=0;f[ua+12>>2]=0;if((f[l>>2]|0)>0){ua=f[k+40>>2]|0;Ya=0;do{f[ua+(Ya<<2)>>2]=0;Ya=Ya+1|0}while((Ya|0)<(f[l>>2]|0))}l=f[k+44>>2]|0;if((l|0)!=(k+48|0))dX(l);if(!(f[j+4>>2]|0)){u=g;return ma|0}u=g;return ma|0}function VR(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0.0;c=u;u=u+80|0;d=c+56|0;e=c;a:do if((((a|0?(g=f[a>>2]|0,(g&-65536|0)==1111621632):0)?(h=f[a+24>>2]|0,(h|0)>0):0)?(i=f[a+20>>2]|0,(i|0)>0):0)?(j=f[a+16>>2]|0,(i|0)<4&(j|0)!=0):0){k=f[a+4>>2]|0;if((i|0)!=(h|0)){f[d>>2]=0;f[d+4>>2]=0;h=JV(d,17)|0;l=171155;m=h+17|0;do{b[h>>0]=b[l>>0]|0;h=h+1|0;l=l+1|0}while((h|0)<(m|0));EP(-215,d,171173,170104,1621);KV(d)}switch(g&4095){case 5:{switch(i|0){case 2:{l=j+k|0;o=+n[j>>2]*+n[l+4>>2]-+n[j+4>>2]*+n[l>>2];u=c;return +o}case 3:{l=j+k|0;q=+n[l+4>>2];h=j+(k<<1)|0;r=+n[h+8>>2];s=+n[l+8>>2];t=+n[h+4>>2];v=+n[l>>2];w=+n[h>>2];o=(t*v-q*w)*+n[j+8>>2]+((q*r-s*t)*+n[j>>2]-(r*v-s*w)*+n[j+4>>2]);u=c;return +o}default:break a}break}case 6:{switch(i|0){case 2:{h=j+k|0;o=+p[j>>3]*+p[h+8>>3]-+p[j+8>>3]*+p[h>>3];u=c;return +o}case 3:{h=j+k|0;w=+p[h+8>>3];l=j+(k<<1)|0;s=+p[l+16>>3];v=+p[h+16>>3];r=+p[l+8>>3];t=+p[h>>3];q=+p[l>>3];o=+p[j+16>>3]*(r*t-w*q)+(+p[j>>3]*(w*s-v*r)-+p[j+8>>3]*(s*t-v*q));u=c;return +o}default:break a}break}default:break a}}while(0);NY(e,a,0,1,0,0);f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=e;q=+JR(d);d=e+36|0;a=f[d>>2]|0;if(a|0?(l=a+12|0,a=f[l>>2]|0,f[l>>2]=a+-1,(a|0)==1):0)XO(e);f[d>>2]=0;d=e+16|0;a=e+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[a>>2]|0)>0){d=f[e+40>>2]|0;l=0;do{f[d+(l<<2)>>2]=0;l=l+1|0}while((l|0)<(f[a>>2]|0))}a=f[e+44>>2]|0;if((a|0)!=(e+48|0))dX(a);o=q;u=c;return +o}function WR(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0;e=u;u=u+144|0;g=e+88|0;h=e+32|0;i=e+16|0;j=e;NY(g,a,0,1,0,0);NY(h,c,0,1,0,0);if(!((((f[h>>2]^f[g>>2])&4095|0)==0?(f[g+8>>2]|0)==(f[h+12>>2]|0):0)?(f[g+12>>2]|0)==(f[h+8>>2]|0):0)){f[i>>2]=0;f[i+4>>2]=0;c=JV(i,72)|0;a=171179;k=c+72|0;do{b[c>>0]=b[a>>0]|0;c=c+1|0;a=a+1|0}while((c|0)<(k|0));EP(-215,i,171252,170104,1650);KV(i)}f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=g;a=j+8|0;f[a>>2]=0;f[a+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=h;switch(d|0){case 3:{l=3;break}case 1:{l=1;break}default:l=(d|0)==2?2:0}m=+KR(i,j,l);l=h+36|0;j=f[l>>2]|0;if(j|0?(i=j+12|0,j=f[i>>2]|0,f[i>>2]=j+-1,(j|0)==1):0)XO(h);f[l>>2]=0;l=h+16|0;j=h+4|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;if((f[j>>2]|0)>0){l=f[h+40>>2]|0;i=0;do{f[l+(i<<2)>>2]=0;i=i+1|0}while((i|0)<(f[j>>2]|0))}j=f[h+44>>2]|0;if((j|0)!=(h+48|0))dX(j);j=g+36|0;h=f[j>>2]|0;if(h|0?(i=h+12|0,h=f[i>>2]|0,f[i>>2]=h+-1,(h|0)==1):0)XO(g);f[j>>2]=0;j=g+16|0;h=g+4|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;if((f[h>>2]|0)>0){j=f[g+40>>2]|0;i=0;do{f[j+(i<<2)>>2]=0;i=i+1|0}while((i|0)<(f[h>>2]|0))}h=f[g+44>>2]|0;if((h|0)==(g+48|0)){u=e;return +m}dX(h);u=e;return +m}function XR(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=u;u=u+224|0;h=g+160|0;i=g+104|0;j=g+48|0;k=g+32|0;l=g+16|0;m=g;NY(h,a,0,1,0,0);NY(i,c,0,1,0,0);NY(j,d,0,1,0,0);if(!((((f[j>>2]^f[h>>2])&4095|0)==0?(f[h+12>>2]|0)==(f[j+8>>2]|0):0)?(f[j+12>>2]|0)==(f[i+12>>2]|0):0)){f[k>>2]=0;f[k+4>>2]=0;d=JV(k,60)|0;c=171261;a=d+60|0;do{b[d>>0]=b[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(a|0));EP(-215,k,171322,170104,1662);KV(k)}c=e&16;d=e&-17;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=h;f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=i;e=m+8|0;f[e>>2]=0;f[e+4>>2]=0;f[m>>2]=33619968;f[m+4>>2]=j;switch(d|0){case 3:{n=3;break}case 1:{n=d;break}case 2:{n=d;break}default:n=(f[h+8>>2]|0)>(f[h+12>>2]|0)?4:0}d=(UR(k,l,m,n|c)|0)&1;c=j+36|0;n=f[c>>2]|0;if(n|0?(m=n+12|0,n=f[m>>2]|0,f[m>>2]=n+-1,(n|0)==1):0)XO(j);f[c>>2]=0;c=j+16|0;n=j+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[n>>2]|0)>0){c=f[j+40>>2]|0;m=0;do{f[c+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[n>>2]|0))}n=f[j+44>>2]|0;if((n|0)!=(j+48|0))dX(n);n=i+36|0;j=f[n>>2]|0;if(j|0?(m=j+12|0,j=f[m>>2]|0,f[m>>2]=j+-1,(j|0)==1):0)XO(i);f[n>>2]=0;n=i+16|0;j=i+4|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;if((f[j>>2]|0)>0){n=f[i+40>>2]|0;m=0;do{f[n+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[j>>2]|0))}j=f[i+44>>2]|0;if((j|0)!=(i+48|0))dX(j);j=h+36|0;i=f[j>>2]|0;if(i|0?(m=i+12|0,i=f[m>>2]|0,f[m>>2]=i+-1,(i|0)==1):0)XO(h);f[j>>2]=0;j=h+16|0;i=h+4|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;if((f[i>>2]|0)>0){j=f[h+40>>2]|0;m=0;do{f[j+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[i>>2]|0))}i=f[h+44>>2]|0;if((i|0)==(h+48|0)){u=g;return d|0}dX(i);u=g;return d|0}function YR(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;h=u;u=u+544|0;i=h;j=h+480|0;k=h+464|0;l=h+408|0;m=h+352|0;n=h+296|0;o=h+240|0;p=h+72|0;q=h+56|0;NY(l,a,0,1,0,0);NY(m,c,0,1,0,0);f[n>>2]=1124007936;c=n+4|0;a=n+8|0;r=n+40|0;s=c;t=s+36|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(t|0));f[r>>2]=a;v=n+48|0;w=n+44|0;f[w>>2]=v;f[v>>2]=0;f[n+52>>2]=0;f[o>>2]=1124007936;x=o+4|0;y=o+8|0;z=o+40|0;s=x;t=s+36|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(t|0));f[z>>2]=y;A=o+48|0;B=o+44|0;f[B>>2]=A;f[A>>2]=0;f[o+52>>2]=0;C=f[l+8>>2]|0;D=f[l+12>>2]|0;E=f[l>>2]|0;F=E&4095;G=(C|0)<(D|0)?D:C;H=(D|0)<(C|0)?D:C;if((f[m>>2]&4095|0)==(F|0)){I=m+40|0;J=f[I>>2]|0;K=f[J+4>>2]|0;L=f[J>>2]|0;M=(K|0)==(H|0);if((!(M&(L|0)==1)?!(((K|0)==1|M)&(L|0)==(H|0)):0)?!((K|0)==(D|0)&(L|0)==(C|0)):0)N=5;else{O=I;P=J}}else N=5;if((N|0)==5){f[i>>2]=0;f[i+4>>2]=0;DVa(JV(i,141)|0,171330,141)|0;EP(-215,i,171472,170104,1712);KV(i);J=m+40|0;O=J;P=f[J>>2]|0}f[p>>2]=1124007936;J=p+4|0;I=p+8|0;L=p+40|0;s=J;t=s+36|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(t|0));f[L>>2]=I;K=p+48|0;M=p+44|0;f[M>>2]=K;f[K>>2]=0;f[p+52>>2]=0;f[p+56>>2]=1124007936;K=p+60|0;Q=p+64|0;R=p+96|0;s=K;t=s+36|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(t|0));f[R>>2]=Q;S=p+104|0;T=p+100|0;f[T>>2]=S;f[S>>2]=0;f[p+108>>2]=0;f[p+112>>2]=1124007936;S=p+116|0;U=p+120|0;V=p+152|0;s=S;t=s+36|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(t|0));f[V>>2]=U;W=p+160|0;Y=p+156|0;f[Y>>2]=W;f[W>>2]=0;f[p+164>>2]=0;if((f[P>>2]|0)==1?(f[P+4>>2]|0)==(H|0):0){P=f[m+16>>2]|0;W=F|1124007936;f[j>>2]=W;Z=j+4|0;f[Z>>2]=2;_=j+8|0;f[_>>2]=H;$=j+12|0;f[$>>2]=1;aa=j+16|0;f[aa>>2]=P;ba=j+20|0;f[ba>>2]=P;ca=j+24|0;da=j+28|0;ea=j+40|0;f[ca>>2]=0;f[ca+4>>2]=0;f[ca+8>>2]=0;f[ca+12>>2]=0;f[ea>>2]=_;fa=j+48|0;ga=j+44|0;f[ga>>2]=fa;f[j+52>>2]=0;f[fa>>2]=0;if((H|0)!=0&(P|0)==0){f[i>>2]=0;f[i+4>>2]=0;s=JV(i,26)|0;ha=346743;t=s+26|0;do{b[s>>0]=b[ha>>0]|0;s=s+1|0;ha=ha+1|0}while((s|0)<(t|0));EP(-215,i,346770,346774,500);KV(i);H=j+36|0;ia=H;ja=f[$>>2]|0;ka=f[j>>2]|0;la=f[ga>>2]|0;ma=f[ba>>2]|0;na=f[H>>2]|0}else{ia=j+36|0;ja=1;ka=W;la=fa;ma=P;na=0}P=(E>>>3&511)+1<<(47696>>>(E<<1&14)&3);E=X(ja,P)|0;f[j>>2]=ka|16384;f[la>>2]=E;f[la+4>>2]=P;P=ma+(X(f[_>>2]|0,E)|0)|0;f[da>>2]=P;f[ca>>2]=P+(0-E)+E;E=p+56|0;if(na|0){P=na+12|0;f[P>>2]=(f[P>>2]|0)+1}P=p+92|0;na=f[P>>2]|0;if(na|0?(ma=na+12|0,na=f[ma>>2]|0,f[ma>>2]=na+-1,(na|0)==1):0)XO(E);f[P>>2]=0;na=p+72|0;f[na>>2]=0;f[na+4>>2]=0;f[na+8>>2]=0;f[na+12>>2]=0;if((f[K>>2]|0)>0){ma=f[R>>2]|0;la=0;do{f[ma+(la<<2)>>2]=0;la=la+1|0;oa=f[K>>2]|0}while((la|0)<(oa|0));f[E>>2]=f[j>>2];if((oa|0)<3)N=20;else N=22}else{f[E>>2]=f[j>>2];N=20}if((N|0)==20){oa=f[Z>>2]|0;if((oa|0)<3){f[K>>2]=oa;f[Q>>2]=f[_>>2];f[p+68>>2]=f[$>>2];$=f[ga>>2]|0;_=f[T>>2]|0;f[_>>2]=f[$>>2];f[_+4>>2]=f[$+4>>2]}else N=22}if((N|0)==22)WO(E,j);f[na>>2]=f[aa>>2];f[p+76>>2]=f[ba>>2];f[p+80>>2]=f[ca>>2];f[p+84>>2]=f[da>>2];f[p+88>>2]=f[j+32>>2];da=f[ia>>2]|0;f[P>>2]=da;if(da|0?(P=da+12|0,da=f[P>>2]|0,f[P>>2]=da+-1,(da|0)==1):0)XO(j);f[ia>>2]=0;f[aa>>2]=0;f[aa+4>>2]=0;f[aa+8>>2]=0;f[aa+12>>2]=0;if((f[Z>>2]|0)>0){aa=f[ea>>2]|0;ea=0;do{f[aa+(ea<<2)>>2]=0;ea=ea+1|0}while((ea|0)<(f[Z>>2]|0))}Z=f[ga>>2]|0;if((Z|0)!=(fa|0))dX(Z)}else if(f[m>>2]&16384|0){Z=p+56|0;fa=m+36|0;ga=f[fa>>2]|0;if(ga){ea=ga+12|0;f[ea>>2]=(f[ea>>2]|0)+1;ea=p+92|0;ga=f[ea>>2]|0;if((ga|0)!=0?(aa=ga+12|0,ga=f[aa>>2]|0,f[aa>>2]=ga+-1,(ga|0)==1):0){XO(Z);pa=ea}else pa=ea}else pa=p+92|0;f[pa>>2]=0;ea=p+72|0;f[ea>>2]=0;f[ea+4>>2]=0;f[ea+8>>2]=0;f[ea+12>>2]=0;if((f[K>>2]|0)>0){ga=f[R>>2]|0;aa=0;do{f[ga+(aa<<2)>>2]=0;aa=aa+1|0;qa=f[K>>2]|0}while((aa|0)<(qa|0));f[Z>>2]=f[m>>2];if((qa|0)<3)N=43;else N=45}else{f[Z>>2]=f[m>>2];N=43}if((N|0)==43){qa=f[m+4>>2]|0;if((qa|0)<3){f[K>>2]=qa;f[Q>>2]=f[m+8>>2];f[p+68>>2]=f[m+12>>2];Q=f[m+44>>2]|0;qa=f[T>>2]|0;f[qa>>2]=f[Q>>2];f[qa+4>>2]=f[Q+4>>2]}else N=45}if((N|0)==45)WO(Z,m);f[ea>>2]=f[m+16>>2];f[p+76>>2]=f[m+20>>2];f[p+80>>2]=f[m+24>>2];f[p+84>>2]=f[m+28>>2];f[p+88>>2]=f[m+32>>2];f[pa>>2]=f[fa>>2]}if(d|0){NY(i,d,0,1,0,0);d=i+36|0;fa=f[d>>2]|0;if(fa|0){pa=fa+12|0;f[pa>>2]=(f[pa>>2]|0)+1}pa=n+36|0;fa=f[pa>>2]|0;if(fa|0?(ea=fa+12|0,fa=f[ea>>2]|0,f[ea>>2]=fa+-1,(fa|0)==1):0)XO(n);f[pa>>2]=0;fa=n+16|0;f[fa>>2]=0;f[fa+4>>2]=0;f[fa+8>>2]=0;f[fa+12>>2]=0;if((f[c>>2]|0)>0){ea=f[r>>2]|0;Z=0;do{f[ea+(Z<<2)>>2]=0;Z=Z+1|0;ra=f[c>>2]|0}while((Z|0)<(ra|0));f[n>>2]=f[i>>2];if((ra|0)<3)N=58;else N=60}else{f[n>>2]=f[i>>2];N=58}if((N|0)==58){ra=f[i+4>>2]|0;if((ra|0)<3){f[c>>2]=ra;f[a>>2]=f[i+8>>2];f[n+12>>2]=f[i+12>>2];ra=f[i+44>>2]|0;Z=f[w>>2]|0;f[Z>>2]=f[ra>>2];f[Z+4>>2]=f[ra+4>>2]}else N=60}if((N|0)==60)WO(n,i);ra=i+16|0;f[fa>>2]=f[ra>>2];Z=n+20|0;f[Z>>2]=f[i+20>>2];ea=n+24|0;f[ea>>2]=f[i+24>>2];Q=n+28|0;f[Q>>2]=f[i+28>>2];qa=n+32|0;f[qa>>2]=f[i+32>>2];T=f[d>>2]|0;f[pa>>2]=T;if(T|0?(K=T+12|0,T=f[K>>2]|0,f[K>>2]=T+-1,(T|0)==1):0)XO(i);f[d>>2]=0;d=i+4|0;f[ra>>2]=0;f[ra+4>>2]=0;f[ra+8>>2]=0;f[ra+12>>2]=0;if((f[d>>2]|0)>0){ra=f[i+40>>2]|0;T=0;do{f[ra+(T<<2)>>2]=0;T=T+1|0}while((T|0)<(f[d>>2]|0))}d=f[i+44>>2]|0;if((d|0)!=(i+48|0))dX(d);if((f[n>>2]&4095|0)!=(F|0)){f[i>>2]=0;f[i+4>>2]=0;s=JV(i,16)|0;ha=171478;t=s+16|0;do{b[s>>0]=b[ha>>0]|0;s=s+1|0;ha=ha+1|0}while((s|0)<(t|0));EP(-215,i,171472,170104,1724);KV(i)}d=f[pa>>2]|0;if(d|0){T=d+12|0;f[T>>2]=(f[T>>2]|0)+1}T=p+36|0;d=f[T>>2]|0;if(d|0?(ra=d+12|0,d=f[ra>>2]|0,f[ra>>2]=d+-1,(d|0)==1):0)XO(p);f[T>>2]=0;d=p+16|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[J>>2]|0)>0){ra=f[L>>2]|0;K=0;do{f[ra+(K<<2)>>2]=0;K=K+1|0;sa=f[J>>2]|0}while((K|0)<(sa|0));f[p>>2]=f[n>>2];if((sa|0)<3)N=81;else N=83}else{f[p>>2]=f[n>>2];N=81}if((N|0)==81){sa=f[c>>2]|0;if((sa|0)<3){f[J>>2]=sa;f[I>>2]=f[a>>2];f[p+12>>2]=f[n+12>>2];I=f[w>>2]|0;sa=f[M>>2]|0;f[sa>>2]=f[I>>2];f[sa+4>>2]=f[I+4>>2]}else N=83}if((N|0)==83)WO(p,n);f[d>>2]=f[fa>>2];f[p+20>>2]=f[Z>>2];f[p+24>>2]=f[ea>>2];f[p+28>>2]=f[Q>>2];f[p+32>>2]=f[qa>>2];f[T>>2]=f[pa>>2]}if(!e){pa=p+128|0;ta=pa;ua=f[pa>>2]|0}else{NY(i,e,0,1,0,0);e=i+36|0;pa=f[e>>2]|0;if(pa|0){T=pa+12|0;f[T>>2]=(f[T>>2]|0)+1}T=o+36|0;pa=f[T>>2]|0;if(pa|0?(qa=pa+12|0,pa=f[qa>>2]|0,f[qa>>2]=pa+-1,(pa|0)==1):0)XO(o);f[T>>2]=0;pa=o+16|0;f[pa>>2]=0;f[pa+4>>2]=0;f[pa+8>>2]=0;f[pa+12>>2]=0;if((f[x>>2]|0)>0){qa=f[z>>2]|0;Q=0;do{f[qa+(Q<<2)>>2]=0;Q=Q+1|0;va=f[x>>2]|0}while((Q|0)<(va|0));f[o>>2]=f[i>>2];if((va|0)<3)N=97;else N=99}else{f[o>>2]=f[i>>2];N=97}if((N|0)==97){va=f[i+4>>2]|0;if((va|0)<3){f[x>>2]=va;f[y>>2]=f[i+8>>2];f[o+12>>2]=f[i+12>>2];va=f[i+44>>2]|0;Q=f[B>>2]|0;f[Q>>2]=f[va>>2];f[Q+4>>2]=f[va+4>>2]}else N=99}if((N|0)==99)WO(o,i);va=i+16|0;f[pa>>2]=f[va>>2];Q=o+20|0;f[Q>>2]=f[i+20>>2];qa=o+24|0;f[qa>>2]=f[i+24>>2];ea=o+28|0;f[ea>>2]=f[i+28>>2];Z=o+32|0;f[Z>>2]=f[i+32>>2];fa=f[e>>2]|0;f[T>>2]=fa;if(fa|0?(d=fa+12|0,fa=f[d>>2]|0,f[d>>2]=fa+-1,(fa|0)==1):0)XO(i);f[e>>2]=0;e=i+4|0;f[va>>2]=0;f[va+4>>2]=0;f[va+8>>2]=0;f[va+12>>2]=0;if((f[e>>2]|0)>0){va=f[i+40>>2]|0;fa=0;do{f[va+(fa<<2)>>2]=0;fa=fa+1|0}while((fa|0)<(f[e>>2]|0))}e=f[i+44>>2]|0;if((e|0)!=(i+48|0))dX(e);if((f[o>>2]&4095|0)!=(F|0)){f[i>>2]=0;f[i+4>>2]=0;s=JV(i,16)|0;ha=171495;t=s+16|0;do{b[s>>0]=b[ha>>0]|0;s=s+1|0;ha=ha+1|0}while((s|0)<(t|0));EP(-215,i,171472,170104,1731);KV(i)}F=p+112|0;e=f[T>>2]|0;if(e|0){fa=e+12|0;f[fa>>2]=(f[fa>>2]|0)+1}fa=p+148|0;e=f[fa>>2]|0;if(e|0?(va=e+12|0,e=f[va>>2]|0,f[va>>2]=e+-1,(e|0)==1):0)XO(F);f[fa>>2]=0;e=p+128|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;if((f[S>>2]|0)>0){va=f[V>>2]|0;d=0;do{f[va+(d<<2)>>2]=0;d=d+1|0;wa=f[S>>2]|0}while((d|0)<(wa|0));f[F>>2]=f[o>>2];if((wa|0)<3)N=120;else N=122}else{f[F>>2]=f[o>>2];N=120}if((N|0)==120){wa=f[x>>2]|0;if((wa|0)<3){f[S>>2]=wa;f[U>>2]=f[y>>2];f[p+124>>2]=f[o+12>>2];U=f[B>>2]|0;wa=f[Y>>2]|0;f[wa>>2]=f[U>>2];f[wa+4>>2]=f[U+4>>2]}else N=122}if((N|0)==122)WO(F,o);F=f[pa>>2]|0;f[e>>2]=F;f[p+132>>2]=f[Q>>2];f[p+136>>2]=f[qa>>2];f[p+140>>2]=f[ea>>2];f[p+144>>2]=f[Z>>2];f[fa>>2]=f[T>>2];ta=e;ua=F}f[q+8>>2]=0;f[q+12>>2]=0;f[q>>2]=16842752;f[q+4>>2]=l;F=p+16|0;e=((f[F>>2]|0)==0&(ua|0)==0?2:0)|g&1;do if((C|0)==(D|0))xa=0;else{ua=f[L>>2]|0;if(!((f[ua>>2]|0)==(G|0)?(f[ua+4>>2]|0)==(G|0):0)?(ua=f[V>>2]|0,!((f[ua>>2]|0)==(G|0)?(f[ua+4>>2]|0)==(G|0):0)):0){xa=0;break}xa=4}while(0);G=p+56|0;D=i+8|0;f[D>>2]=0;f[D+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=G;D=j+8|0;f[D>>2]=0;f[D+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=p;D=p+112|0;C=k+8|0;f[C>>2]=0;f[C+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=D;LR(q,i,j,k,e|xa);xa=n+16|0;e=f[xa>>2]|0;do if(e|0){k=f[c>>2]|0;if((k|0)<3)ya=X(f[n+12>>2]|0,f[a>>2]|0)|0;else{q=f[r>>2]|0;C=0;ua=1;while(1){T=X(f[q+(C<<2)>>2]|0,ua)|0;C=C+1|0;if((C|0)==(k|0)){ya=T;break}else ua=T}}if(!((k|0)==0|(ya|0)==0)){if(g&2|0){f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=p;ua=j+8|0;f[ua>>2]=0;f[ua+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=n;DD(i,j);break}if((e|0)!=(f[F>>2]|0)){ua=f[r>>2]|0;C=f[L>>2]|0;if(!((f[ua>>2]|0)==(f[C>>2]|0)?(f[ua+4>>2]|0)==(f[C+4>>2]|0):0)){f[i>>2]=0;f[i+4>>2]=0;s=JV(i,24)|0;ha=171512;t=s+24|0;do{b[s>>0]=b[ha>>0]|0;s=s+1|0;ha=ha+1|0}while((s|0)<(t|0));EP(-215,i,171472,170104,1746);KV(i)}k=i+8|0;f[k>>2]=0;f[k+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=n;eM(p,i)}}}while(0);L=o+16|0;F=f[L>>2]|0;do if(F|0){e=f[x>>2]|0;if((e|0)<3)za=X(f[o+12>>2]|0,f[y>>2]|0)|0;else{ya=f[z>>2]|0;a=0;k=1;while(1){C=X(f[ya+(a<<2)>>2]|0,k)|0;a=a+1|0;if((a|0)==(e|0)){za=C;break}else k=C}}if(!((e|0)==0|(za|0)==0)){if(!(g&4)){f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=D;k=j+8|0;f[k>>2]=0;f[k+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=o;DD(i,j);break}if((F|0)!=(f[ta>>2]|0)){k=f[z>>2]|0;a=f[V>>2]|0;if(!((f[k>>2]|0)==(f[a>>2]|0)?(f[k+4>>2]|0)==(f[a+4>>2]|0):0)){f[i>>2]=0;f[i+4>>2]=0;s=JV(i,25)|0;ha=171537;t=s+25|0;do{b[s>>0]=b[ha>>0]|0;s=s+1|0;ha=ha+1|0}while((s|0)<(t|0));EP(-215,i,171472,170104,1757);KV(i)}e=i+8|0;f[e>>2]=0;f[e+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=o;eM(D,i)}}}while(0);D=m+16|0;do if((f[D>>2]|0)!=(f[p+72>>2]|0)){ha=f[O>>2]|0;s=f[R>>2]|0;if((f[ha>>2]|0)==(f[s>>2]|0)?(f[ha+4>>2]|0)==(f[s+4>>2]|0):0){s=i+8|0;f[s>>2]=0;f[s+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=m;eM(G,i);break};f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;f[i+28>>2]=0;gM(m,i)|0;bP(i,m,0);s=j+8|0;f[s>>2]=0;f[s+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=i;eM(G,j);s=i+36|0;ha=f[s>>2]|0;if(ha|0?(t=ha+12|0,ha=f[t>>2]|0,f[t>>2]=ha+-1,(ha|0)==1):0)XO(i);f[s>>2]=0;s=i+16|0;ha=i+4|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if((f[ha>>2]|0)>0){s=f[i+40>>2]|0;t=0;do{f[s+(t<<2)>>2]=0;t=t+1|0}while((t|0)<(f[ha>>2]|0))}ha=f[i+44>>2]|0;if((ha|0)!=(i+48|0))dX(ha)}while(0);ZR(p);p=o+36|0;i=f[p>>2]|0;if(i|0?(j=i+12|0,i=f[j>>2]|0,f[j>>2]=i+-1,(i|0)==1):0)XO(o);f[p>>2]=0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;if((f[x>>2]|0)>0){L=f[z>>2]|0;z=0;do{f[L+(z<<2)>>2]=0;z=z+1|0}while((z|0)<(f[x>>2]|0))}x=f[B>>2]|0;if((x|0)!=(A|0))dX(x);x=n+36|0;A=f[x>>2]|0;if(A|0?(B=A+12|0,A=f[B>>2]|0,f[B>>2]=A+-1,(A|0)==1):0)XO(n);f[x>>2]=0;f[xa>>2]=0;f[xa+4>>2]=0;f[xa+8>>2]=0;f[xa+12>>2]=0;if((f[c>>2]|0)>0){xa=f[r>>2]|0;r=0;do{f[xa+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[c>>2]|0))}c=f[w>>2]|0;if((c|0)!=(v|0))dX(c);c=m+36|0;v=f[c>>2]|0;if(v|0?(w=v+12|0,v=f[w>>2]|0,f[w>>2]=v+-1,(v|0)==1):0)XO(m);f[c>>2]=0;c=m+4|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;if((f[c>>2]|0)>0){D=f[O>>2]|0;O=0;do{f[D+(O<<2)>>2]=0;O=O+1|0}while((O|0)<(f[c>>2]|0))}c=f[m+44>>2]|0;if((c|0)!=(m+48|0))dX(c);c=l+36|0;m=f[c>>2]|0;if(m|0?(O=m+12|0,m=f[O>>2]|0,f[O>>2]=m+-1,(m|0)==1):0)XO(l);f[c>>2]=0;c=l+16|0;m=l+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[m>>2]|0)>0){c=f[l+40>>2]|0;O=0;do{f[c+(O<<2)>>2]=0;O=O+1|0}while((O|0)<(f[m>>2]|0))}m=f[l+44>>2]|0;if((m|0)==(l+48|0)){u=h;return}dX(m);u=h;return}function ZR(a){a=a|0;var b=0,c=0,d=0,e=0;b=a+112|0;c=a+148|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+128|0;b=a+116|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+152>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+156>>2]|0;if((b|0)!=(a+160|0))dX(b);b=a+56|0;d=a+92|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+72|0;b=a+60|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[a+96>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+100>>2]|0;if((b|0)!=(a+104|0))dX(b);b=a+36|0;c=f[b>>2]|0;if(c|0?(d=c+12|0,c=f[d>>2]|0,f[d>>2]=c+-1,(c|0)==1):0)XO(a);f[b>>2]=0;b=a+16|0;c=a+4|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[c>>2]|0)>0){b=f[a+40>>2]|0;d=0;do{f[b+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[c>>2]|0))}c=f[a+44>>2]|0;if((c|0)==(a+48|0))return;dX(c);return}function _R(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=(e|0)%4|0;h=(g|0)==0?4:g;a:do switch(h|0){case 1:{g=f[c>>2]|0;if((e|0)==1){DVa(g|0,a|0,d|0)|0;i=1;break a}if((d|0)>0){j=0;k=0;while(1){b[g+j>>0]=b[a+k>>0]|0;j=j+1|0;if((j|0)==(d|0)){i=1;break}else k=k+e|0}}else return;break}case 2:{k=f[c>>2]|0;j=f[c+4>>2]|0;if((d|0)>0){g=0;l=0;while(1){b[k+l>>0]=b[a+g>>0]|0;b[j+l>>0]=b[a+(g+1)>>0]|0;l=l+1|0;if((l|0)==(d|0)){i=2;break}else g=g+e|0}}else return;break}case 3:{g=f[c>>2]|0;l=f[c+4>>2]|0;j=f[c+8>>2]|0;if((d|0)>0){k=0;m=0;while(1){b[g+m>>0]=b[a+k>>0]|0;b[l+m>>0]=b[a+(k+1)>>0]|0;b[j+m>>0]=b[a+(k+2)>>0]|0;m=m+1|0;if((m|0)==(d|0)){i=3;break}else k=k+e|0}}else return;break}default:{k=f[c>>2]|0;m=f[c+4>>2]|0;j=f[c+8>>2]|0;l=f[c+12>>2]|0;if((d|0)>0){g=0;n=0;while(1){b[k+n>>0]=b[a+g>>0]|0;b[m+n>>0]=b[a+(g+1)>>0]|0;b[j+n>>0]=b[a+(g+2)>>0]|0;b[l+n>>0]=b[a+(g+3)>>0]|0;n=n+1|0;if((n|0)==(d|0)){i=h;break}else g=g+e|0}}else return}}while(0);if((d|0)>0&(i|0)<(e|0))o=i;else return;do{i=f[c+(o<<2)>>2]|0;h=f[c+(o+1<<2)>>2]|0;g=f[c+(o+2<<2)>>2]|0;n=f[c+(o+3<<2)>>2]|0;l=o;j=0;while(1){b[i+j>>0]=b[a+l>>0]|0;b[h+j>>0]=b[a+(l+1)>>0]|0;b[g+j>>0]=b[a+(l+2)>>0]|0;b[n+j>>0]=b[a+(l+3)>>0]|0;j=j+1|0;if((j|0)==(d|0))break;else l=l+e|0}o=o+4|0}while((o|0)<(e|0));return}function $R(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=(e|0)%4|0;h=(g|0)==0?4:g;a:do switch(h|0){case 1:{g=f[b>>2]|0;if((e|0)==1){DVa(g|0,a|0,c<<1|0)|0;i=1;break a}if((c|0)>0){j=0;k=0;while(1){d[g+(j<<1)>>1]=d[a+(k<<1)>>1]|0;j=j+1|0;if((j|0)==(c|0)){i=1;break}else k=k+e|0}}else return;break}case 2:{k=f[b>>2]|0;j=f[b+4>>2]|0;if((c|0)>0){g=0;l=0;while(1){d[k+(l<<1)>>1]=d[a+(g<<1)>>1]|0;d[j+(l<<1)>>1]=d[a+(g+1<<1)>>1]|0;l=l+1|0;if((l|0)==(c|0)){i=2;break}else g=g+e|0}}else return;break}case 3:{g=f[b>>2]|0;l=f[b+4>>2]|0;j=f[b+8>>2]|0;if((c|0)>0){k=0;m=0;while(1){d[g+(m<<1)>>1]=d[a+(k<<1)>>1]|0;d[l+(m<<1)>>1]=d[a+(k+1<<1)>>1]|0;d[j+(m<<1)>>1]=d[a+(k+2<<1)>>1]|0;m=m+1|0;if((m|0)==(c|0)){i=3;break}else k=k+e|0}}else return;break}default:{k=f[b>>2]|0;m=f[b+4>>2]|0;j=f[b+8>>2]|0;l=f[b+12>>2]|0;if((c|0)>0){g=0;n=0;while(1){d[k+(n<<1)>>1]=d[a+(g<<1)>>1]|0;d[m+(n<<1)>>1]=d[a+(g+1<<1)>>1]|0;d[j+(n<<1)>>1]=d[a+(g+2<<1)>>1]|0;d[l+(n<<1)>>1]=d[a+(g+3<<1)>>1]|0;n=n+1|0;if((n|0)==(c|0)){i=h;break}else g=g+e|0}}else return}}while(0);if((c|0)>0&(i|0)<(e|0))o=i;else return;do{i=f[b+(o<<2)>>2]|0;h=f[b+(o+1<<2)>>2]|0;g=f[b+(o+2<<2)>>2]|0;n=f[b+(o+3<<2)>>2]|0;l=o;j=0;while(1){d[i+(j<<1)>>1]=d[a+(l<<1)>>1]|0;d[h+(j<<1)>>1]=d[a+(l+1<<1)>>1]|0;d[g+(j<<1)>>1]=d[a+(l+2<<1)>>1]|0;d[n+(j<<1)>>1]=d[a+(l+3<<1)>>1]|0;j=j+1|0;if((j|0)==(c|0))break;else l=l+e|0}o=o+4|0}while((o|0)<(e|0));return}function aS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=(d|0)%4|0;g=(e|0)==0?4:e;a:do switch(g|0){case 1:{e=f[b>>2]|0;if((d|0)==1){DVa(e|0,a|0,c<<2|0)|0;h=1;break a}if((c|0)>0){i=0;j=0;while(1){f[e+(i<<2)>>2]=f[a+(j<<2)>>2];i=i+1|0;if((i|0)==(c|0)){h=1;break}else j=j+d|0}}else return;break}case 2:{j=f[b>>2]|0;i=f[b+4>>2]|0;if((c|0)>0){e=0;k=0;while(1){f[j+(k<<2)>>2]=f[a+(e<<2)>>2];f[i+(k<<2)>>2]=f[a+(e+1<<2)>>2];k=k+1|0;if((k|0)==(c|0)){h=2;break}else e=e+d|0}}else return;break}case 3:{e=f[b>>2]|0;k=f[b+4>>2]|0;i=f[b+8>>2]|0;if((c|0)>0){j=0;l=0;while(1){f[e+(l<<2)>>2]=f[a+(j<<2)>>2];f[k+(l<<2)>>2]=f[a+(j+1<<2)>>2];f[i+(l<<2)>>2]=f[a+(j+2<<2)>>2];l=l+1|0;if((l|0)==(c|0)){h=3;break}else j=j+d|0}}else return;break}default:{j=f[b>>2]|0;l=f[b+4>>2]|0;i=f[b+8>>2]|0;k=f[b+12>>2]|0;if((c|0)>0){e=0;m=0;while(1){f[j+(m<<2)>>2]=f[a+(e<<2)>>2];f[l+(m<<2)>>2]=f[a+(e+1<<2)>>2];f[i+(m<<2)>>2]=f[a+(e+2<<2)>>2];f[k+(m<<2)>>2]=f[a+(e+3<<2)>>2];m=m+1|0;if((m|0)==(c|0)){h=g;break}else e=e+d|0}}else return}}while(0);if((c|0)>0&(h|0)<(d|0))n=h;else return;do{h=f[b+(n<<2)>>2]|0;g=f[b+(n+1<<2)>>2]|0;e=f[b+(n+2<<2)>>2]|0;m=f[b+(n+3<<2)>>2]|0;k=n;i=0;while(1){f[h+(i<<2)>>2]=f[a+(k<<2)>>2];f[g+(i<<2)>>2]=f[a+(k+1<<2)>>2];f[e+(i<<2)>>2]=f[a+(k+2<<2)>>2];f[m+(i<<2)>>2]=f[a+(k+3<<2)>>2];i=i+1|0;if((i|0)==(c|0))break;else k=k+d|0}n=n+4|0}while((n|0)<(d|0));return}function bS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=(d|0)%4|0;g=(e|0)==0?4:e;a:do switch(g|0){case 1:{e=f[b>>2]|0;if((d|0)==1){DVa(e|0,a|0,c<<3|0)|0;h=1;break a}if((c|0)>0){i=0;j=0;while(1){k=a+(j<<3)|0;l=f[k+4>>2]|0;m=e+(i<<3)|0;f[m>>2]=f[k>>2];f[m+4>>2]=l;i=i+1|0;if((i|0)==(c|0)){h=1;break}else j=j+d|0}}else return;break}case 2:{j=f[b>>2]|0;i=f[b+4>>2]|0;if((c|0)>0){e=0;l=0;while(1){m=a+(e<<3)|0;k=f[m+4>>2]|0;n=j+(l<<3)|0;f[n>>2]=f[m>>2];f[n+4>>2]=k;k=a+(e+1<<3)|0;n=f[k+4>>2]|0;m=i+(l<<3)|0;f[m>>2]=f[k>>2];f[m+4>>2]=n;l=l+1|0;if((l|0)==(c|0)){h=2;break}else e=e+d|0}}else return;break}case 3:{e=f[b>>2]|0;l=f[b+4>>2]|0;i=f[b+8>>2]|0;if((c|0)>0){j=0;n=0;while(1){m=a+(j<<3)|0;k=f[m+4>>2]|0;o=e+(n<<3)|0;f[o>>2]=f[m>>2];f[o+4>>2]=k;k=a+(j+1<<3)|0;o=f[k+4>>2]|0;m=l+(n<<3)|0;f[m>>2]=f[k>>2];f[m+4>>2]=o;o=a+(j+2<<3)|0;m=f[o+4>>2]|0;k=i+(n<<3)|0;f[k>>2]=f[o>>2];f[k+4>>2]=m;n=n+1|0;if((n|0)==(c|0)){h=3;break}else j=j+d|0}}else return;break}default:{j=f[b>>2]|0;n=f[b+4>>2]|0;i=f[b+8>>2]|0;l=f[b+12>>2]|0;if((c|0)>0){e=0;m=0;while(1){k=a+(e<<3)|0;o=f[k+4>>2]|0;p=j+(m<<3)|0;f[p>>2]=f[k>>2];f[p+4>>2]=o;o=a+(e+1<<3)|0;p=f[o+4>>2]|0;k=n+(m<<3)|0;f[k>>2]=f[o>>2];f[k+4>>2]=p;p=a+(e+2<<3)|0;k=f[p+4>>2]|0;o=i+(m<<3)|0;f[o>>2]=f[p>>2];f[o+4>>2]=k;k=a+(e+3<<3)|0;o=f[k+4>>2]|0;p=l+(m<<3)|0;f[p>>2]=f[k>>2];f[p+4>>2]=o;m=m+1|0;if((m|0)==(c|0)){h=g;break}else e=e+d|0}}else return}}while(0);if((c|0)>0&(h|0)<(d|0))q=h;else return;do{h=f[b+(q<<2)>>2]|0;g=f[b+(q+1<<2)>>2]|0;e=f[b+(q+2<<2)>>2]|0;m=f[b+(q+3<<2)>>2]|0;l=q;i=0;while(1){n=a+(l<<3)|0;j=f[n+4>>2]|0;o=h+(i<<3)|0;f[o>>2]=f[n>>2];f[o+4>>2]=j;j=a+(l+1<<3)|0;o=f[j+4>>2]|0;n=g+(i<<3)|0;f[n>>2]=f[j>>2];f[n+4>>2]=o;o=a+(l+2<<3)|0;n=f[o+4>>2]|0;j=e+(i<<3)|0;f[j>>2]=f[o>>2];f[j+4>>2]=n;n=a+(l+3<<3)|0;j=f[n+4>>2]|0;o=m+(i<<3)|0;f[o>>2]=f[n>>2];f[o+4>>2]=j;i=i+1|0;if((i|0)==(c|0))break;else l=l+d|0}q=q+4|0}while((q|0)<(d|0));return}function cS(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;d=u;u=u+1104|0;e=d+1096|0;g=d+1080|0;h=d+40|0;i=d+8|0;j=d;yV(e,40188);k=f[a>>2]|0;l=k&7;m=k>>>3&511;k=m+1|0;if(m){n=a+4|0;o=a+40|0;p=0;while(1){VO(c+(p*56|0)|0,f[n>>2]|0,f[o>>2]|0,l);if((p|0)<(m|0))p=p+1|0;else break}p=f[40208+(l<<2)>>2]|0;if((l|0)==7){f[g>>2]=0;f[g+4>>2]=0;l=JV(g,9)|0;o=196746;q=l+9|0;do{b[l>>0]=b[o>>0]|0;l=l+1|0;o=o+1|0}while((l|0)<(q|0));EP(-215,g,171563,171569,483);KV(g)}o=f[n>>2]|0;if((o|0)>0)r=f[(f[a+44>>2]|0)+(o+-1<<2)>>2]|0;else r=0;o=1212424721>>>(f[a>>2]<<2&28)&15;n=((r+1023|0)>>>0)/(r>>>0)|0;f[g>>2]=n;l=m+2|0;m=(l<<3)+16|0;q=h+8|0;f[h>>2]=q;s=h+4|0;f[s>>2]=m;if(m>>>0>1032){t=FQa(m)|0;f[h>>2]=t;v=t}else v=q;t=v+(k<<2)+4+15&-16;m=t;f[v>>2]=a;w=0;do{x=w;w=w+1|0;f[v+(w<<2)>>2]=c+(x*56|0)}while((w|0)!=(k|0));w=t;FN(i,v,w,l);l=f[i+20>>2]|0;f[j>>2]=l;v=536870911/(k>>>0)|0;if(k>>>0<5)y=l;else y=n>>>0>>0?f[g>>2]|0:f[j>>2]|0;n=y>>>0>>0?y:v;v=i+16|0;y=m+4|0;t=l;x=l;l=0;while(1){if(l>>>0>=(f[v>>2]|0)>>>0)break;if(!t){z=0;A=x}else{B=t;C=x;D=0;while(1){E=B-D|0;F=n>>>0>>0?n:E;th[p&255](f[w>>2]|0,y,F,k);D=D+n|0;if(D>>>0>>0){E=X(r,F)|0;f[w>>2]=(f[w>>2]|0)+E;E=X(o,F)|0;F=0;do{F=F+1|0;G=m+(F<<2)|0;f[G>>2]=(f[G>>2]|0)+E}while((F|0)!=(k|0));H=f[j>>2]|0}else H=C;if(H>>>0<=D>>>0){z=H;A=H;break}else{B=H;C=H}}}GN(i)|0;t=z;x=A;l=l+1|0}l=f[h>>2]|0;if((l|0)!=(q|0)){if(l|0)HQa(l);f[h>>2]=q;f[s>>2]=1032}}else{s=g+8|0;f[s>>2]=0;f[s+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=c;eM(a,g)}if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function dS(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+80|0;e=d+72|0;g=d+16|0;h=d;yV(e,40240);do if((HJ(a)|0)==65536){i=f[a+4>>2]|0;f[g>>2]=f[i>>2];j=g+4|0;k=i+4|0;f[j>>2]=f[k>>2];l=g+8|0;f[l>>2]=f[i+8>>2];f[g+12>>2]=f[i+12>>2];m=g+16|0;f[m>>2]=f[i+16>>2];f[g+20>>2]=f[i+20>>2];f[g+24>>2]=f[i+24>>2];f[g+28>>2]=f[i+28>>2];f[g+32>>2]=f[i+32>>2];n=f[i+36>>2]|0;f[g+36>>2]=n;f[g+40>>2]=l;l=g+48|0;o=g+44|0;f[o>>2]=l;f[l>>2]=0;f[g+52>>2]=0;if(n|0){l=n+12|0;f[l>>2]=(f[l>>2]|0)+1}if((f[k>>2]|0)<3){k=f[i+44>>2]|0;l=f[o>>2]|0;f[l>>2]=f[k>>2];f[l+4>>2]=f[k+4>>2];p=m;break}else{f[j>>2]=0;WO(g,i);p=m;break}}else{DJ(g,a,-1);p=g+16|0}while(0);if(f[p>>2]|0){a=g+4|0;m=f[a>>2]|0;if((m|0)<3)q=X(f[g+12>>2]|0,f[g+8>>2]|0)|0;else{i=f[g+40>>2]|0;j=0;k=1;while(1){l=X(f[i+(j<<2)>>2]|0,k)|0;j=j+1|0;if((j|0)==(m|0)){q=l;break}else k=l}}if(!((m|0)==0|(q|0)==0)){if((uK(c)|0?!(VJ(c)|0):0)?(q=GJ(c,-1)|0,(q|0)!=(f[g>>2]&7|0)):0){f[h>>2]=0;f[h+4>>2]=0;q=JV(h,58)|0;m=171666;k=q+58|0;do{b[q>>0]=b[m>>0]|0;q=q+1|0;m=m+1|0}while((q|0)<(k|0));EP(-215,h,171563,171569,578);KV(h)}m=f[g>>2]|0;q=m&7;k=m>>>3&511;vK(c,k+1|0,1,q,-1,0,0);m=g+40|0;j=0;while(1){$J(c,f[a>>2]|0,f[m>>2]|0,q,j,0,0);if((j|0)<(k|0))j=j+1|0;else break}f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;JJ(c,h);cS(g,f[h>>2]|0);Rs(h)}else r=14}else r=14;if((r|0)==14)YJ(c);c=g+36|0;r=f[c>>2]|0;if(r|0?(h=r+12|0,r=f[h>>2]|0,f[h>>2]=r+-1,(r|0)==1):0)XO(g);f[c>>2]=0;c=g+4|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;if((f[c>>2]|0)>0){p=f[g+40>>2]|0;r=0;do{f[p+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[c>>2]|0))}c=f[g+44>>2]|0;if((c|0)!=(g+48|0))dX(c);if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function eS(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;f[a>>2]=40268;b=a+20|0;c=a+24|0;d=f[c>>2]|0;e=f[b>>2]|0;if((d|0)==(e|0)){g=e;h=d}else{d=a+8|0;do{QW(f[d>>2]|0);e=(f[c>>2]|0)+-1|0;f[c>>2]=e;i=f[b>>2]|0}while((i|0)!=(e|0));g=i;h=e}b=g;if(g|0){if((h|0)!=(b|0))f[c>>2]=b;GQa(b)}KV(a+12|0);b=a+4|0;c=f[b>>2]|0;if(!c){f[b>>2]=0;j=a+8|0;f[j>>2]=0;return}h=c+4|0;g=f[h>>2]|0;f[h>>2]=g+-1;if((g|0)!=1){f[b>>2]=0;j=a+8|0;f[j>>2]=0;return}qg[f[(f[c>>2]|0)+8>>2]&1023](c);f[b>>2]=0;j=a+8|0;f[j>>2]=0;return}function fS(a){a=a|0;eS(a);GQa(a);return}function gS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e;yV(g,40292);qg[f[(f[a>>2]|0)+16>>2]&1023](a);h=a+4|0;i=f[b>>2]|0;if(!(f[d+4>>2]|0))j=0;else{b=f[d>>2]|0;j=(b|0)==0?1079437:b}b=DW((i|0)==0?1079437:i,0,c,j)|0;if(!b)k=0;else{j=EQa(16)|0;f[j+4>>2]=1;f[j>>2]=40320;f[j+8>>2]=b;k=j}j=f[h>>2]|0;f[h>>2]=k;f[a+8>>2]=b;if(j|0?(b=j+4|0,k=f[b>>2]|0,f[b>>2]=k+-1,(k|0)==1):0)qg[f[(f[j>>2]|0)+8>>2]&1023](j);j=Wf[f[(f[a>>2]|0)+12>>2]&255](a)|0;f[a+32>>2]=j?6:0;if(!(f[g+4>>2]|0)){u=e;return j|0}u=e;return j|0}function hS(a){a=a|0;var c=0,d=0;c=f[a+8>>2]|0;if(!c){d=0;return d|0}d=(b[c+300>>0]|0)!=0;return d|0}function iS(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;b=a+4|0;c=f[b>>2]|0;if(c|0?(d=c+4|0,e=f[d>>2]|0,f[d>>2]=e+-1,(e|0)==1):0)qg[f[(f[c>>2]|0)+8>>2]&1023](c);f[b>>2]=0;f[a+8>>2]=0;b=f[a+20>>2]|0;c=a+24|0;if((f[c>>2]|0)==(b|0)){g=a+32|0;f[g>>2]=0;return}f[c>>2]=b;g=a+32|0;f[g>>2]=0;return}function jS(a,b){a=a|0;b=b|0;var c=0;f[a>>2]=0;f[a+4>>2]=0;c=f[b+8>>2]|0;if(c|0?f[c+268>>2]|0:0)NZ(c,a);qg[f[(f[b>>2]|0)+16>>2]&1023](b);return}function kS(a){a=a|0;GQa(a);return}function lS(a){a=a|0;tW(a+12|0,f[a+8>>2]|0);if(!a)return;qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function mS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;f[a>>2]=40268;e=a+4|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;f[e+28>>2]=0;gS(a,b,c,d)|0;return}function nS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;f[a>>2]=40268;d=a+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[d+24>>2]=0;if((b|0)==0|c^1)e=0;else{c=EQa(16)|0;f[c+4>>2]=1;f[c>>2]=40320;f[c+8>>2]=b;e=c}f[d>>2]=e;f[a+8>>2]=b;f[a+32>>2]=b|0?6:0;return}function oS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;if(Wf[f[(f[b>>2]|0)+12>>2]&255](b)|0){d=f[b+8>>2]|0;e=OW(d,c)|0;g=d}else{e=0;g=0}f[a>>2]=g;f[a+4>>2]=e;return}function pS(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;d=u;u=u+48|0;e=d+32|0;g=d+16|0;h=d+8|0;i=d;j=d+24|0;k=f[c>>2]|0;l=(k|0)==0?1079437:k;if(!((Wf[f[(f[a>>2]|0)+12>>2]&255](a)|0)&(l|0)!=0)){u=d;return a|0}k=b[l>>0]|0;switch(k<<24>>24){case 93:case 125:{m=a+20|0;n=a+24|0;o=f[n>>2]|0;if((f[m>>2]|0)==(o|0)){f[i>>2]=k<<24>>24;LP(e,172013,i);EP(-2,e,451841,171930,115);KV(e);p=b[l>>0]|0;q=f[n>>2]|0}else{p=k;q=o}o=b[q+-1>>0]|0;if(((p<<24>>24==93?91:123)|0)==(o|0))r=q;else{f[h>>2]=p<<24>>24;f[h+4>>2]=o;LP(e,172032,h);EP(-2,e,451841,171930,118);KV(e);r=f[n>>2]|0}h=r+-1|0;f[n>>2]=h;if((f[m>>2]|0)==(h|0))s=6;else s=(b[r+-2>>0]|0)==123?6:1;f[a+32>>2]=s;QW(f[a+8>>2]|0);f[e>>2]=0;s=e+4|0;f[s>>2]=0;r=a+12|0;if((e|0)!=(r|0)){KV(r);h=f[e>>2]|0;if(!h)t=0;else{m=h+-4|0;f[m>>2]=(f[m>>2]|0)+1;t=f[e>>2]|0}f[r>>2]=t;f[a+16>>2]=f[s>>2]}KV(e);u=d;return a|0}default:{}}s=a+32|0;t=f[s>>2]|0;if((t|0)==6){if(!(((k&-33)+-65&255)<26|k<<24>>24==95)){f[g>>2]=l;LP(e,172081,g);EP(-2,e,451841,171930,128);KV(e)}g=a+12|0;if((g|0)!=(c|0)){KV(g);r=f[c>>2]|0;if(!r)v=0;else{m=r+-4|0;f[m>>2]=(f[m>>2]|0)+1;v=f[c>>2]|0}f[g>>2]=v;f[a+16>>2]=f[c+4>>2]}f[s>>2]=5;u=d;return a|0}if((t&3|0)!=1){f[e>>2]=0;f[e+4>>2]=0;t=JV(e,16)|0;v=172107;g=t+16|0;do{b[t>>0]=b[v>>0]|0;t=t+1|0;v=v+1|0}while((t|0)<(g|0));EP(-2,e,451841,171930,158);KV(e);u=d;return a|0}switch(k<<24>>24){case 91:case 123:break;default:{a:do if(k<<24>>24==92){v=l+1|0;switch(b[v>>0]|0){case 93:case 91:case 125:case 123:break;default:{w=45;break a}}f[e>>2]=0;f[e+4>>2]=0;t=nCa(v)|0;if(t|0)DVa(JV(e,t)|0,v|0,t|0)|0}else w=45;while(0);if((w|0)==45?(w=f[c>>2]|0,f[e>>2]=w,f[e+4>>2]=f[c+4>>2],w|0):0){c=w+-4|0;f[c>>2]=(f[c>>2]|0)+1}if(!(f[a+16>>2]|0))x=0;else{c=f[a+12>>2]|0;x=(c|0)==0?1079437:c}c=f[e>>2]|0;TW(f[a+8>>2]|0,x,(c|0)==0?1079437:c,0);KV(e);if((f[s>>2]|0)!=5){u=d;return a|0}f[s>>2]=6;u=d;return a|0}}c=a+20|0;x=a+24|0;w=f[x>>2]|0;t=a+28|0;v=f[t>>2]|0;g=v;if((w|0)==(v|0)){v=f[c>>2]|0;m=w-v|0;r=m+1|0;h=v;if((r|0)<0)ZOa(c);n=g-v|0;g=n<<1;o=n>>>0<1073741823?(g>>>0>>0?r:g):2147483647;if(!o){y=0;z=k}else{g=EQa(o)|0;y=g;z=b[l>>0]|0}g=y+m|0;b[g>>0]=z;if((m|0)>0)DVa(y|0,h|0,m|0)|0;f[c>>2]=y;f[x>>2]=g+1;f[t>>2]=y+o;if(v|0)GQa(h)}else{b[w>>0]=k;f[x>>2]=(f[x>>2]|0)+1}x=l+1|0;k=(b[l>>0]|0)==123;w=k?6:5;f[s>>2]=k?6:1;k=(b[x>>0]|0)==58;s=k?l+2|0:x;x=f[a+8>>2]|0;l=a+12|0;h=a+16|0;if(!(f[h>>2]|0))A=0;else{v=f[l>>2]|0;A=(v|0)==0?1079437:v}v=b[s>>0]|0?s:0;f[j>>2]=0;f[j+4>>2]=0;f[e>>2]=f[j>>2];f[e+4>>2]=f[j+4>>2];PW(x,A,k?w|8:w,v,e);f[e>>2]=0;v=e+4|0;f[v>>2]=0;if((e|0)!=(l|0)){KV(l);w=f[e>>2]|0;if(!w)B=0;else{k=w+-4|0;f[k>>2]=(f[k>>2]|0)+1;B=f[e>>2]|0}f[l>>2]=B;f[h>>2]=f[v>>2]}KV(e);u=d;return a|0}function qS(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=u;u=u+16|0;h=g;if(!(Wf[f[(f[a>>2]|0)+12>>2]&255](a)|0)){u=g;return}i=f[c>>2]|0;j=(i|0)==0?1079437:i;k=b[j>>0]|0;if((k+-48&255)<10){l=b[j+1>>0]|0;m=(k<<24>>24)+-48|0}else{l=k;m=1}switch(l<<24>>24){case 99:case 117:{n=1;break}case 119:{n=2;break}case 115:{n=2;break}case 105:{n=4;break}case 102:{n=4;break}case 100:{n=8;break}default:n=l<<24>>24==114?4:0}l=X(n,m)|0;if(!((e>>>0)%(l>>>0)|0))o=i;else{f[h>>2]=0;f[h+4>>2]=0;i=JV(h,19)|0;m=172124;n=i+19|0;do{b[i>>0]=b[m>>0]|0;i=i+1|0;m=m+1|0}while((i|0)<(n|0));EP(-215,h,172144,171930,169);KV(h);o=f[c>>2]|0}VW(f[a+8>>2]|0,d,(e>>>0)/(l>>>0)|0,(o|0)==0?1079437:o);u=g;return}function rS(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;d=u;u=u+1056|0;e=d+8|0;g=d;h=f[c>>2]|0;i=(h|0)==0?1079437:h;h=f[c+4>>2]|0;c=i+h|0;j=h+1|0;h=e+8|0;f[e>>2]=h;k=e+4|0;f[k>>2]=j;if(j>>>0>1032){l=FQa(j)|0;f[e>>2]=l;m=l}else m=h;l=c+-1|0;a:do if(l>>>0>=i>>>0){j=l;n=c;b:while(1){o=j;p=n;c:while(1){switch(b[o>>0]|0){case 58:case 47:case 92:{q=p;break b;break}case 46:{if(!(b[n>>0]|0))break c;if(!(sCa(n,172153,3)|0))break c;break}default:{}}r=o+-1|0;if(r>>>0>>0){q=o;break b}else{s=o;o=r;p=s}}j=o+-1|0;if(j>>>0>>0){t=o;v=o;w=11;break a}else n=o}if((q|0)==(n|0)){t=n;v=q;w=11}else{x=n;y=q;z=m}}else{t=c;v=c;w=11}while(0);if((w|0)==11){f[g>>2]=0;f[g+4>>2]=0;c=JV(g,16)|0;m=172157;q=c+16|0;do{b[c>>0]=b[m>>0]|0;c=c+1|0;m=m+1|0}while((c|0)<(q|0));EP(-5,g,172174,171930,217);KV(g);x=t;y=v;z=f[e>>2]|0}v=b[y>>0]|0;if(((v&-33)+-65&255)<26|v<<24>>24==95)A=z;else{b[z>>0]=95;A=z+1|0}if(y>>>0>>0){z=A;v=y;while(1){y=b[v>>0]|0;v=v+1|0;t=z+1|0;b[z>>0]=y<<24>>24==95|(y<<24>>24==45|((y+-48&255)<10|((y&-33)+-65&255)<26))?y:95;if((v|0)==(x|0)){B=t;break}else z=t}}else B=A;b[B>>0]=0;B=f[e>>2]|0;if(mCa(B,186448)|0){f[a>>2]=0;f[a+4>>2]=0;if(B|0)w=19}else{A=B;z=A;b[z>>0]=117;b[z+1>>0]=110;b[z+2>>0]=110;b[z+3>>0]=97;z=A+4|0;b[z>>0]=109;b[z+1>>0]=101;b[z+2>>0]=100;b[z+3>>0]=0;f[a>>2]=0;f[a+4>>2]=0;w=19}if((w|0)==19?(w=nCa(B)|0,w|0):0)DVa(JV(a,w)|0,B|0,w|0)|0;w=f[e>>2]|0;if((w|0)==(h|0)){u=d;return}if(w|0)HQa(w);f[e>>2]=h;f[k>>2]=1032;u=d;return}function sS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=f[b+8>>2]|0;b=f[c>>2]|0;c=IW(d,0,(b|0)==0?1079437:b)|0;f[a>>2]=d;f[a+4>>2]=c;return}function tS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=f[b>>2]|0;e=IW(d,f[b+4>>2]|0,c)|0;f[a>>2]=d;f[a+4>>2]=e;return}function uS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=a+8|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;f[e+28>>2]=0;if((b|0)!=0&(c|0)!=0?(g=f[c>>2]|0,h=g&7,h|0):0){f[a>>2]=b;b=a+4|0;f[b>>2]=c;a:do if((h+-5|0)>>>0<2&(g&16|0)==0){i=c+8|0;EM(f[i>>2]|0,e,0);j=f[c>>2]|0;switch(j&7){case 6:{k=f[(f[i>>2]|0)+60>>2]|0;break a;break}case 5:{k=f[(f[i>>2]|0)+24>>2]|0;break a;break}default:{k=(j&7|0)!=0&1;break a}}}else{f[a+20>>2]=c;f[a+12>>2]=0;k=1}while(0);c=a+40|0;f[c>>2]=k;if(!d)return;if((d|0)>0)l=(k|0)<(d|0)?k:d;else{g=f[b>>2]|0;b:do if(!g)m=0;else{b=f[g>>2]|0;switch(b&7){case 6:{m=f[(f[g+8>>2]|0)+60>>2]|0;break b;break}case 5:{m=f[(f[g+8>>2]|0)+24>>2]|0;break b;break}default:{m=(b&7|0)!=0&1;break b}}}while(0);g=k-d|0;l=k-(m>>>0>>0?m:g)|0}f[c>>2]=k-l;if(!(f[a+12>>2]|0))return;DM(e,l,1);return}f[a>>2]=0;f[a+4>>2]=0;f[a+40>>2]=0;return}function vS(a){a=a|0;var b=0,c=0;b=f[a+4>>2]|0;if(!b){c=0;return c|0}a=f[b>>2]|0;switch(a&7){case 6:{c=f[(f[b+8>>2]|0)+60>>2]|0;return c|0}case 5:{c=f[(f[b+8>>2]|0)+24>>2]|0;return c|0}default:{c=(a&7|0)!=0&1;return c|0}}return 0}function wS(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=a+40|0;c=f[b>>2]|0;if(!c)return a|0;d=a+8|0;e=f[a+12>>2]|0;if((e|0)!=0?(g=a+20|0,h=(f[g>>2]|0)+(f[e+28>>2]|0)|0,f[g>>2]=h,h>>>0>=(f[a+28>>2]|0)>>>0):0){MM(d,1);i=f[b>>2]|0}else i=c;f[b>>2]=i+-1;return a|0}function xS(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=u;u=u+16|0;h=g;i=f[a>>2]|0;if(!i){u=g;return a|0}j=a+4|0;if(!(f[j>>2]|0)){u=g;return a|0}k=a+40|0;l=f[k>>2]|0;if(!l){u=g;return a|0}m=f[c>>2]|0;n=(m|0)==0?1079437:m;m=b[n>>0]|0;if((m+-48&255)<10){o=(m<<24>>24)+-48|0;p=b[n+1>>0]|0}else{o=1;p=m}switch(p<<24>>24){case 99:case 117:{q=1;break}case 119:{q=2;break}case 115:{q=2;break}case 105:{q=4;break}case 102:{q=4;break}case 100:{q=8;break}default:q=p<<24>>24==114?4:0}if(!(X(q,o)|0)){f[h>>2]=0;f[h+4>>2]=0;q=JV(h,13)|0;p=172195;m=q+13|0;do{b[q>>0]=b[p>>0]|0;q=q+1|0;p=p+1|0}while((q|0)<(m|0));EP(-215,h,172209,171930,402);KV(h);r=f[k>>2]|0;s=f[a>>2]|0}else{r=l;s=i}i=r>>>0>e>>>0?e:r;if(!(f[a+12>>2]|0)){r=f[c>>2]|0;YW(s,f[j>>2]|0,d,(r|0)==0?1079437:r);t=0}else{r=f[c>>2]|0;XW(s,a+8|0,i,d,(r|0)==0?1079437:r);r=X(i,o)|0;t=(f[k>>2]|0)-r|0}f[k>>2]=t;u=g;return a|0}function yS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=f[a+8>>2]|0;if(!(f[b+4>>2]|0)){e=0;RW(d,e,c);return}a=f[b>>2]|0;e=(a|0)==0?1079437:a;RW(d,e,c);return}function zS(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0;if(!(f[b+4>>2]|0))d=0;else{e=f[b>>2]|0;d=(e|0)==0?1079437:e}SW(f[a+8>>2]|0,d,c);return}function AS(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0;d=f[a+8>>2]|0;if(!(f[b+4>>2]|0)){e=0;SW(d,e,c);return}a=f[b>>2]|0;e=(a|0)==0?1079437:a;SW(d,e,c);return}function BS(a,b){a=a|0;b=b|0;RW(f[a+8>>2]|0,0,b);return}function CS(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=u;u=u+16|0;i=h+8|0;j=h;f[a>>2]=c;k=f[c+8>>2]|0;if(!(f[d+4>>2]|0))l=0;else{c=f[d>>2]|0;l=(c|0)==0?1079437:c}if(!(f[g+4>>2]|0))m=0;else{c=f[g>>2]|0;m=(c|0)==0?1079437:c}f[j>>2]=0;f[j+4>>2]=0;f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];PW(k,l,e,m,i);f[i>>2]=0;m=i+4|0;f[m>>2]=0;l=f[a>>2]|0;k=l+12|0;if((i|0)!=(k|0)){KV(k);j=f[i>>2]|0;if(!j)n=0;else{c=j+-4|0;f[c>>2]=(f[c>>2]|0)+1;n=f[i>>2]|0}f[k>>2]=n;f[l+16>>2]=f[m>>2]}KV(i);i=f[a>>2]|0;a=i+32|0;if((e&7|0)==5){f[a>>2]=1;e=i+20|0;m=i+24|0;l=f[m>>2]|0;n=i+28|0;k=f[n>>2]|0;if((l|0)!=(k|0)){b[l>>0]=91;f[m>>2]=(f[m>>2]|0)+1;u=h;return}c=f[e>>2]|0;j=l-c|0;l=j+1|0;g=c;if((l|0)<0)ZOa(e);d=k-c|0;k=d<<1;o=d>>>0<1073741823?(k>>>0>>0?l:k):2147483647;if(!o)p=0;else p=EQa(o)|0;k=p+j|0;b[k>>0]=91;if((j|0)>0)DVa(p|0,g|0,j|0)|0;f[e>>2]=p;f[m>>2]=k+1;f[n>>2]=p+o;if(!c){u=h;return}GQa(g);u=h;return}else{f[a>>2]=6;a=i+20|0;g=i+24|0;c=f[g>>2]|0;o=i+28|0;i=f[o>>2]|0;if((c|0)!=(i|0)){b[c>>0]=123;f[g>>2]=(f[g>>2]|0)+1;u=h;return}p=f[a>>2]|0;n=c-p|0;c=n+1|0;k=p;if((c|0)<0)ZOa(a);m=i-p|0;i=m<<1;e=m>>>0<1073741823?(i>>>0>>0?c:i):2147483647;if(!e)q=0;else q=EQa(e)|0;i=q+n|0;b[i>>0]=123;if((n|0)>0)DVa(q|0,k|0,n|0)|0;f[a>>2]=q;f[g>>2]=i+1;f[o>>2]=q+e;if(!p){u=h;return}GQa(k);u=h;return}}function DS(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=u;u=u+16|0;d=c;QW(f[(f[a>>2]|0)+8>>2]|0);e=f[a>>2]|0;a=e+24|0;g=f[a>>2]|0;h=g+-1|0;f[a>>2]=h;if((f[e+20>>2]|0)==(h|0))i=6;else i=(b[g+-2>>0]|0)==123?6:1;f[e+32>>2]=i;f[d>>2]=0;i=d+4|0;f[i>>2]=0;g=e+12|0;if((d|0)==(g|0)){KV(d);u=c;return}KV(g);h=f[d>>2]|0;if(!h)j=0;else{a=h+-4|0;f[a>>2]=(f[a>>2]|0)+1;j=f[d>>2]|0}f[g>>2]=j;f[e+16>>2]=f[i>>2];KV(d);u=c;return}function ES(a){a=a|0;var b=0,c=0;b=f[a+4>>2]|0;if(!b){c=0;return c|0}c=f[b>>2]&7;return c|0}function FS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=f[a+4>>2]|0;if(d)if((f[d>>2]&7|0)==1)e=f[d+8>>2]|0;else e=2147483647;else e=c;f[b>>2]=e;return}function GS(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0.0;d=f[a+4>>2]|0;a:do if(!d)e=c;else switch(f[d>>2]&7){case 1:{e=+(f[d+8>>2]|0);break a;break}case 2:{e=+p[d+8>>3];break a;break}default:{e=3402823466385288598117041.0e14;break a}}while(0);n[b>>2]=e;return}function HS(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0.0;d=f[a+4>>2]|0;a:do if(!d)e=c;else switch(f[d>>2]&7){case 1:{e=+(f[d+8>>2]|0);break a;break}case 2:{e=+p[d+8>>3];break a;break}default:{e=1797693134862315708145274.0e284;break a}}while(0);p[b>>3]=e;return}function IS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+16|0;e=d;g=f[a+4>>2]|0;do if(!g){a=f[c>>2]|0;f[e>>2]=a;f[e+4>>2]=f[c+4>>2];if(a|0){h=a+-4|0;f[h>>2]=(f[h>>2]|0)+1}}else{if((f[g>>2]&7|0)!=3){f[e>>2]=0;f[e+4>>2]=0;break}h=f[g+8+4>>2]|0;f[e>>2]=0;f[e+4>>2]=0;if(h|0?(a=nCa(h)|0,a|0):0)DVa(JV(e,a)|0,h|0,a|0)|0}while(0);if((e|0)==(b|0)){KV(e);u=d;return}KV(b);g=f[e>>2]|0;if(!g)i=0;else{c=g+-4|0;f[c>>2]=(f[c>>2]|0)+1;i=f[e>>2]|0}f[b>>2]=i;f[b+4>>2]=f[e+4>>2];KV(e);u=d;return}function JS(a,b){a=a|0;b=b|0;return f[40332+((b&7)<<5)+((a&7)<<2)>>2]|0}function KS(a,c,d,e,g,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0.0,m=0.0,n=0,o=0,q=0,r=0,s=0,t=0;e=f[j>>2]|0;d=f[j+4>>2]|0;l=+p[k>>3];m=+p[k+8>>3];if(!d)return;k=e+-4|0;if((e|0)<4){j=(e|0)>0;n=g;o=a;q=d;while(1){q=q+-1|0;if(j){r=0;do{s=HEa(l*+(h[o+r>>0]|0)+m)|0;b[n+r>>0]=s>>>0<256?s:(s|0)>0?255:0;r=r+1|0}while((r|0)!=(e|0))}if(!q)break;else{n=n+i|0;o=o+c|0}}return}o=e&-4;n=(o|0)<(e|0);q=g;g=a;a=d;while(1){d=0;do{j=HEa(l*+(h[g+d>>0]|0)+m)|0;r=d|1;s=HEa(l*+(h[g+r>>0]|0)+m)|0;b[q+d>>0]=j>>>0<256?j:(j|0)>0?255:0;b[q+r>>0]=s>>>0<256?s:(s|0)>0?255:0;s=d|2;r=HEa(l*+(h[g+s>>0]|0)+m)|0;j=d|3;t=HEa(l*+(h[g+j>>0]|0)+m)|0;b[q+s>>0]=r>>>0<256?r:(r|0)>0?255:0;b[q+j>>0]=t>>>0<256?t:(t|0)>0?255:0;d=d+4|0}while((d|0)<=(k|0));a=a+-1|0;if(n){d=o;do{t=HEa(l*+(h[g+d>>0]|0)+m)|0;b[q+d>>0]=t>>>0<256?t:(t|0)>0?255:0;d=d+1|0}while((d|0)!=(e|0))}if(!a)break;else{q=q+i|0;g=g+c|0}}return}function LS(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0.0,m=0,n=0,o=0,q=0,r=0,s=0;e=f[i>>2]|0;d=f[i+4>>2]|0;k=+p[j>>3];l=+p[j+8>>3];if(!d)return;j=e+-4|0;if((e|0)<4){i=(e|0)>0;m=g;n=a;o=d;while(1){o=o+-1|0;if(i){q=0;do{r=HEa(k*+(b[n+q>>0]|0)+l)|0;b[m+q>>0]=r>>>0<256?r:(r|0)>0?255:0;q=q+1|0}while((q|0)!=(e|0))}if(!o)break;else{m=m+h|0;n=n+c|0}}return}n=e&-4;m=(n|0)<(e|0);o=g;g=a;a=d;while(1){d=0;do{i=HEa(k*+(b[g+d>>0]|0)+l)|0;q=d|1;r=HEa(k*+(b[g+q>>0]|0)+l)|0;b[o+d>>0]=i>>>0<256?i:(i|0)>0?255:0;b[o+q>>0]=r>>>0<256?r:(r|0)>0?255:0;r=d|2;q=HEa(k*+(b[g+r>>0]|0)+l)|0;i=d|3;s=HEa(k*+(b[g+i>>0]|0)+l)|0;b[o+r>>0]=q>>>0<256?q:(q|0)>0?255:0;b[o+i>>0]=s>>>0<256?s:(s|0)>0?255:0;d=d+4|0}while((d|0)<=(j|0));a=a+-1|0;if(m){d=n;do{s=HEa(k*+(b[g+d>>0]|0)+l)|0;b[o+d>>0]=s>>>0<256?s:(s|0)>0?255:0;d=d+1|0}while((d|0)!=(e|0))}if(!a)break;else{o=o+h|0;g=g+c|0}}return}function MS(a,c,d,e,g,h,i,k){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;k=k|0;var l=0.0,m=0.0,n=0,o=0,q=0,r=0,s=0,t=0;e=f[i>>2]|0;d=f[i+4>>2]|0;l=+p[k>>3];m=+p[k+8>>3];k=c>>>1;if(!d)return;c=e+-4|0;if((e|0)<4){i=(e|0)>0;n=g;o=a;q=d;while(1){q=q+-1|0;if(i){r=0;do{s=HEa(l*+(j[o+(r<<1)>>1]|0)+m)|0;b[n+r>>0]=s>>>0<256?s:(s|0)>0?255:0;r=r+1|0}while((r|0)!=(e|0))}if(!q)break;else{n=n+h|0;o=o+(k<<1)|0}}return}o=e&-4;n=(o|0)<(e|0);q=g;g=a;a=d;while(1){d=0;do{i=HEa(l*+(j[g+(d<<1)>>1]|0)+m)|0;r=d|1;s=HEa(l*+(j[g+(r<<1)>>1]|0)+m)|0;b[q+d>>0]=i>>>0<256?i:(i|0)>0?255:0;b[q+r>>0]=s>>>0<256?s:(s|0)>0?255:0;s=d|2;r=HEa(l*+(j[g+(s<<1)>>1]|0)+m)|0;i=d|3;t=HEa(l*+(j[g+(i<<1)>>1]|0)+m)|0;b[q+s>>0]=r>>>0<256?r:(r|0)>0?255:0;b[q+i>>0]=t>>>0<256?t:(t|0)>0?255:0;d=d+4|0}while((d|0)<=(c|0));a=a+-1|0;if(n){d=o;do{t=HEa(l*+(j[g+(d<<1)>>1]|0)+m)|0;b[q+d>>0]=t>>>0<256?t:(t|0)>0?255:0;d=d+1|0}while((d|0)!=(e|0))}if(!a)break;else{q=q+h|0;g=g+(k<<1)|0}}return}function NS(a,c,e,g,h,i,j,k){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0.0,m=0.0,n=0,o=0,q=0,r=0,s=0,t=0;g=f[j>>2]|0;e=f[j+4>>2]|0;l=+p[k>>3];m=+p[k+8>>3];k=c>>>1;if(!e)return;c=g+-4|0;if((g|0)<4){j=(g|0)>0;n=h;o=a;q=e;while(1){q=q+-1|0;if(j){r=0;do{s=HEa(l*+(d[o+(r<<1)>>1]|0)+m)|0;b[n+r>>0]=s>>>0<256?s:(s|0)>0?255:0;r=r+1|0}while((r|0)!=(g|0))}if(!q)break;else{n=n+i|0;o=o+(k<<1)|0}}return}o=g&-4;n=(o|0)<(g|0);q=h;h=a;a=e;while(1){e=0;do{j=HEa(l*+(d[h+(e<<1)>>1]|0)+m)|0;r=e|1;s=HEa(l*+(d[h+(r<<1)>>1]|0)+m)|0;b[q+e>>0]=j>>>0<256?j:(j|0)>0?255:0;b[q+r>>0]=s>>>0<256?s:(s|0)>0?255:0;s=e|2;r=HEa(l*+(d[h+(s<<1)>>1]|0)+m)|0;j=e|3;t=HEa(l*+(d[h+(j<<1)>>1]|0)+m)|0;b[q+s>>0]=r>>>0<256?r:(r|0)>0?255:0;b[q+j>>0]=t>>>0<256?t:(t|0)>0?255:0;e=e+4|0}while((e|0)<=(c|0));a=a+-1|0;if(n){e=o;do{t=HEa(l*+(d[h+(e<<1)>>1]|0)+m)|0;b[q+e>>0]=t>>>0<256?t:(t|0)>0?255:0;e=e+1|0}while((e|0)!=(g|0))}if(!a)break;else{q=q+i|0;h=h+(k<<1)|0}}return}function OS(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0.0,m=0,n=0,o=0,q=0,r=0,s=0;e=f[i>>2]|0;d=f[i+4>>2]|0;k=+p[j>>3];l=+p[j+8>>3];j=c>>>2;if(!d)return;c=e+-4|0;if((e|0)<4){i=(e|0)>0;m=g;n=a;o=d;while(1){o=o+-1|0;if(i){q=0;do{r=HEa(k*+(f[n+(q<<2)>>2]|0)+l)|0;b[m+q>>0]=r>>>0<256?r:(r|0)>0?255:0;q=q+1|0}while((q|0)!=(e|0))}if(!o)break;else{m=m+h|0;n=n+(j<<2)|0}}return}n=e&-4;m=(n|0)<(e|0);o=g;g=a;a=d;while(1){d=0;do{i=HEa(k*+(f[g+(d<<2)>>2]|0)+l)|0;q=d|1;r=HEa(k*+(f[g+(q<<2)>>2]|0)+l)|0;b[o+d>>0]=i>>>0<256?i:(i|0)>0?255:0;b[o+q>>0]=r>>>0<256?r:(r|0)>0?255:0;r=d|2;q=HEa(k*+(f[g+(r<<2)>>2]|0)+l)|0;i=d|3;s=HEa(k*+(f[g+(i<<2)>>2]|0)+l)|0;b[o+r>>0]=q>>>0<256?q:(q|0)>0?255:0;b[o+i>>0]=s>>>0<256?s:(s|0)>0?255:0;d=d+4|0}while((d|0)<=(c|0));a=a+-1|0;if(m){d=n;do{s=HEa(k*+(f[g+(d<<2)>>2]|0)+l)|0;b[o+d>>0]=s>>>0<256?s:(s|0)>0?255:0;d=d+1|0}while((d|0)!=(e|0))}if(!a)break;else{o=o+h|0;g=g+(j<<2)|0}}return}function PS(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0.0,m=0,o=0,q=0,r=0,s=0,t=0;e=f[i>>2]|0;d=f[i+4>>2]|0;k=+p[j>>3];l=+p[j+8>>3];j=c>>>2;if(!d)return;c=e+-4|0;if((e|0)<4){i=(e|0)>0;m=g;o=a;q=d;while(1){q=q+-1|0;if(i){r=0;do{s=HEa(+n[o+(r<<2)>>2]*k+l)|0;b[m+r>>0]=s>>>0<256?s:(s|0)>0?255:0;r=r+1|0}while((r|0)!=(e|0))}if(!q)break;else{m=m+h|0;o=o+(j<<2)|0}}return}o=e&-4;m=(o|0)<(e|0);q=g;g=a;a=d;while(1){d=0;do{i=HEa(+n[g+(d<<2)>>2]*k+l)|0;r=d|1;s=HEa(+n[g+(r<<2)>>2]*k+l)|0;b[q+d>>0]=i>>>0<256?i:(i|0)>0?255:0;b[q+r>>0]=s>>>0<256?s:(s|0)>0?255:0;s=d|2;r=HEa(+n[g+(s<<2)>>2]*k+l)|0;i=d|3;t=HEa(+n[g+(i<<2)>>2]*k+l)|0;b[q+s>>0]=r>>>0<256?r:(r|0)>0?255:0;b[q+i>>0]=t>>>0<256?t:(t|0)>0?255:0;d=d+4|0}while((d|0)<=(c|0));a=a+-1|0;if(m){d=o;do{t=HEa(+n[g+(d<<2)>>2]*k+l)|0;b[q+d>>0]=t>>>0<256?t:(t|0)>0?255:0;d=d+1|0}while((d|0)!=(e|0))}if(!a)break;else{q=q+h|0;g=g+(j<<2)|0}}return}function QS(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0.0,m=0,n=0,o=0,q=0,r=0,s=0;e=f[i>>2]|0;d=f[i+4>>2]|0;i=c>>>3;if(!d)return;k=+p[j>>3];l=+p[j+8>>3];j=e+-4|0;if((e|0)<4){c=(e|0)>0;m=g;n=a;o=d;while(1){o=o+-1|0;if(c){q=0;do{r=AEa(+p[n+(q<<3)>>3]*k+l)|0;b[m+q>>0]=r>>>0<256?r:(r|0)>0?255:0;q=q+1|0}while((q|0)!=(e|0))}if(!o)break;else{m=m+h|0;n=n+(i<<3)|0}}return}n=e&-4;m=(n|0)<(e|0);o=g;g=a;a=d;while(1){d=0;do{c=AEa(+p[g+(d<<3)>>3]*k+l)|0;q=d|1;r=AEa(+p[g+(q<<3)>>3]*k+l)|0;b[o+d>>0]=c>>>0<256?c:(c|0)>0?255:0;b[o+q>>0]=r>>>0<256?r:(r|0)>0?255:0;r=d|2;q=AEa(+p[g+(r<<3)>>3]*k+l)|0;c=d|3;s=AEa(+p[g+(c<<3)>>3]*k+l)|0;b[o+r>>0]=q>>>0<256?q:(q|0)>0?255:0;b[o+c>>0]=s>>>0<256?s:(s|0)>0?255:0;d=d+4|0}while((d|0)<=(j|0));a=a+-1|0;if(m){d=n;do{s=AEa(+p[g+(d<<3)>>3]*k+l)|0;b[o+d>>0]=s>>>0<256?s:(s|0)>0?255:0;d=d+1|0}while((d|0)!=(e|0))}if(!a)break;else{o=o+h|0;g=g+(i<<3)|0}}return}function RS(a,c,d,e,g,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0.0,m=0.0,n=0,o=0,q=0,r=0,s=0,t=0;e=f[j>>2]|0;d=f[j+4>>2]|0;l=+p[k>>3];m=+p[k+8>>3];if(!d)return;k=e+-4|0;if((e|0)<4){j=(e|0)>0;n=g;o=a;q=d;while(1){q=q+-1|0;if(j){r=0;do{s=HEa(l*+(h[o+r>>0]|0)+m)|0;b[n+r>>0]=(s+128|0)>>>0<256?s:(s|0)>0?127:128;r=r+1|0}while((r|0)!=(e|0))}if(!q)break;else{n=n+i|0;o=o+c|0}}return}o=e&-4;n=(o|0)<(e|0);q=g;g=a;a=d;while(1){d=0;do{j=HEa(l*+(h[g+d>>0]|0)+m)|0;r=d|1;s=HEa(l*+(h[g+r>>0]|0)+m)|0;b[q+d>>0]=(j+128|0)>>>0<256?j:(j|0)>0?127:128;b[q+r>>0]=(s+128|0)>>>0<256?s:(s|0)>0?127:128;s=d|2;r=HEa(l*+(h[g+s>>0]|0)+m)|0;j=d|3;t=HEa(l*+(h[g+j>>0]|0)+m)|0;b[q+s>>0]=(r+128|0)>>>0<256?r:(r|0)>0?127:128;b[q+j>>0]=(t+128|0)>>>0<256?t:(t|0)>0?127:128;d=d+4|0}while((d|0)<=(k|0));a=a+-1|0;if(n){d=o;do{t=HEa(l*+(h[g+d>>0]|0)+m)|0;b[q+d>>0]=(t+128|0)>>>0<256?t:(t|0)>0?127:128;d=d+1|0}while((d|0)!=(e|0))}if(!a)break;else{q=q+i|0;g=g+c|0}}return}function SS(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0.0,m=0,n=0,o=0,q=0,r=0,s=0;e=f[i>>2]|0;d=f[i+4>>2]|0;k=+p[j>>3];l=+p[j+8>>3];if(!d)return;j=e+-4|0;if((e|0)<4){i=(e|0)>0;m=g;n=a;o=d;while(1){o=o+-1|0;if(i){q=0;do{r=HEa(k*+(b[n+q>>0]|0)+l)|0;b[m+q>>0]=(r+128|0)>>>0<256?r:(r|0)>0?127:128;q=q+1|0}while((q|0)!=(e|0))}if(!o)break;else{m=m+h|0;n=n+c|0}}return}n=e&-4;m=(n|0)<(e|0);o=g;g=a;a=d;while(1){d=0;do{i=HEa(k*+(b[g+d>>0]|0)+l)|0;q=d|1;r=HEa(k*+(b[g+q>>0]|0)+l)|0;b[o+d>>0]=(i+128|0)>>>0<256?i:(i|0)>0?127:128;b[o+q>>0]=(r+128|0)>>>0<256?r:(r|0)>0?127:128;r=d|2;q=HEa(k*+(b[g+r>>0]|0)+l)|0;i=d|3;s=HEa(k*+(b[g+i>>0]|0)+l)|0;b[o+r>>0]=(q+128|0)>>>0<256?q:(q|0)>0?127:128;b[o+i>>0]=(s+128|0)>>>0<256?s:(s|0)>0?127:128;d=d+4|0}while((d|0)<=(j|0));a=a+-1|0;if(m){d=n;do{s=HEa(k*+(b[g+d>>0]|0)+l)|0;b[o+d>>0]=(s+128|0)>>>0<256?s:(s|0)>0?127:128;d=d+1|0}while((d|0)!=(e|0))}if(!a)break;else{o=o+h|0;g=g+c|0}}return}function TS(a,c,d,e,g,h,i,k){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;k=k|0;var l=0.0,m=0.0,n=0,o=0,q=0,r=0,s=0,t=0;e=f[i>>2]|0;d=f[i+4>>2]|0;l=+p[k>>3];m=+p[k+8>>3];k=c>>>1;if(!d)return;c=e+-4|0;if((e|0)<4){i=(e|0)>0;n=g;o=a;q=d;while(1){q=q+-1|0;if(i){r=0;do{s=HEa(l*+(j[o+(r<<1)>>1]|0)+m)|0;b[n+r>>0]=(s+128|0)>>>0<256?s:(s|0)>0?127:128;r=r+1|0}while((r|0)!=(e|0))}if(!q)break;else{n=n+h|0;o=o+(k<<1)|0}}return}o=e&-4;n=(o|0)<(e|0);q=g;g=a;a=d;while(1){d=0;do{i=HEa(l*+(j[g+(d<<1)>>1]|0)+m)|0;r=d|1;s=HEa(l*+(j[g+(r<<1)>>1]|0)+m)|0;b[q+d>>0]=(i+128|0)>>>0<256?i:(i|0)>0?127:128;b[q+r>>0]=(s+128|0)>>>0<256?s:(s|0)>0?127:128;s=d|2;r=HEa(l*+(j[g+(s<<1)>>1]|0)+m)|0;i=d|3;t=HEa(l*+(j[g+(i<<1)>>1]|0)+m)|0;b[q+s>>0]=(r+128|0)>>>0<256?r:(r|0)>0?127:128;b[q+i>>0]=(t+128|0)>>>0<256?t:(t|0)>0?127:128;d=d+4|0}while((d|0)<=(c|0));a=a+-1|0;if(n){d=o;do{t=HEa(l*+(j[g+(d<<1)>>1]|0)+m)|0;b[q+d>>0]=(t+128|0)>>>0<256?t:(t|0)>0?127:128;d=d+1|0}while((d|0)!=(e|0))}if(!a)break;else{q=q+h|0;g=g+(k<<1)|0}}return}function US(a,c,e,g,h,i,j,k){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0.0,m=0.0,n=0,o=0,q=0,r=0,s=0,t=0;g=f[j>>2]|0;e=f[j+4>>2]|0;l=+p[k>>3];m=+p[k+8>>3];k=c>>>1;if(!e)return;c=g+-4|0;if((g|0)<4){j=(g|0)>0;n=h;o=a;q=e;while(1){q=q+-1|0;if(j){r=0;do{s=HEa(l*+(d[o+(r<<1)>>1]|0)+m)|0;b[n+r>>0]=(s+128|0)>>>0<256?s:(s|0)>0?127:128;r=r+1|0}while((r|0)!=(g|0))}if(!q)break;else{n=n+i|0;o=o+(k<<1)|0}}return}o=g&-4;n=(o|0)<(g|0);q=h;h=a;a=e;while(1){e=0;do{j=HEa(l*+(d[h+(e<<1)>>1]|0)+m)|0;r=e|1;s=HEa(l*+(d[h+(r<<1)>>1]|0)+m)|0;b[q+e>>0]=(j+128|0)>>>0<256?j:(j|0)>0?127:128;b[q+r>>0]=(s+128|0)>>>0<256?s:(s|0)>0?127:128;s=e|2;r=HEa(l*+(d[h+(s<<1)>>1]|0)+m)|0;j=e|3;t=HEa(l*+(d[h+(j<<1)>>1]|0)+m)|0;b[q+s>>0]=(r+128|0)>>>0<256?r:(r|0)>0?127:128;b[q+j>>0]=(t+128|0)>>>0<256?t:(t|0)>0?127:128;e=e+4|0}while((e|0)<=(c|0));a=a+-1|0;if(n){e=o;do{t=HEa(l*+(d[h+(e<<1)>>1]|0)+m)|0;b[q+e>>0]=(t+128|0)>>>0<256?t:(t|0)>0?127:128;e=e+1|0}while((e|0)!=(g|0))}if(!a)break;else{q=q+i|0;h=h+(k<<1)|0}}return}function VS(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0.0,m=0,n=0,o=0,q=0,r=0,s=0;e=f[i>>2]|0;d=f[i+4>>2]|0;k=+p[j>>3];l=+p[j+8>>3];j=c>>>2;if(!d)return;c=e+-4|0;if((e|0)<4){i=(e|0)>0;m=g;n=a;o=d;while(1){o=o+-1|0;if(i){q=0;do{r=HEa(k*+(f[n+(q<<2)>>2]|0)+l)|0;b[m+q>>0]=(r+128|0)>>>0<256?r:(r|0)>0?127:128;q=q+1|0}while((q|0)!=(e|0))}if(!o)break;else{m=m+h|0;n=n+(j<<2)|0}}return}n=e&-4;m=(n|0)<(e|0);o=g;g=a;a=d;while(1){d=0;do{i=HEa(k*+(f[g+(d<<2)>>2]|0)+l)|0;q=d|1;r=HEa(k*+(f[g+(q<<2)>>2]|0)+l)|0;b[o+d>>0]=(i+128|0)>>>0<256?i:(i|0)>0?127:128;b[o+q>>0]=(r+128|0)>>>0<256?r:(r|0)>0?127:128;r=d|2;q=HEa(k*+(f[g+(r<<2)>>2]|0)+l)|0;i=d|3;s=HEa(k*+(f[g+(i<<2)>>2]|0)+l)|0;b[o+r>>0]=(q+128|0)>>>0<256?q:(q|0)>0?127:128;b[o+i>>0]=(s+128|0)>>>0<256?s:(s|0)>0?127:128;d=d+4|0}while((d|0)<=(c|0));a=a+-1|0;if(m){d=n;do{s=HEa(k*+(f[g+(d<<2)>>2]|0)+l)|0;b[o+d>>0]=(s+128|0)>>>0<256?s:(s|0)>0?127:128;d=d+1|0}while((d|0)!=(e|0))}if(!a)break;else{o=o+h|0;g=g+(j<<2)|0}}return}function WS(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0.0,m=0,o=0,q=0,r=0,s=0,t=0;e=f[i>>2]|0;d=f[i+4>>2]|0;k=+p[j>>3];l=+p[j+8>>3];j=c>>>2;if(!d)return;c=e+-4|0;if((e|0)<4){i=(e|0)>0;m=g;o=a;q=d;while(1){q=q+-1|0;if(i){r=0;do{s=HEa(+n[o+(r<<2)>>2]*k+l)|0;b[m+r>>0]=(s+128|0)>>>0<256?s:(s|0)>0?127:128;r=r+1|0}while((r|0)!=(e|0))}if(!q)break;else{m=m+h|0;o=o+(j<<2)|0}}return}o=e&-4;m=(o|0)<(e|0);q=g;g=a;a=d;while(1){d=0;do{i=HEa(+n[g+(d<<2)>>2]*k+l)|0;r=d|1;s=HEa(+n[g+(r<<2)>>2]*k+l)|0;b[q+d>>0]=(i+128|0)>>>0<256?i:(i|0)>0?127:128;b[q+r>>0]=(s+128|0)>>>0<256?s:(s|0)>0?127:128;s=d|2;r=HEa(+n[g+(s<<2)>>2]*k+l)|0;i=d|3;t=HEa(+n[g+(i<<2)>>2]*k+l)|0;b[q+s>>0]=(r+128|0)>>>0<256?r:(r|0)>0?127:128;b[q+i>>0]=(t+128|0)>>>0<256?t:(t|0)>0?127:128;d=d+4|0}while((d|0)<=(c|0));a=a+-1|0;if(m){d=o;do{t=HEa(+n[g+(d<<2)>>2]*k+l)|0;b[q+d>>0]=(t+128|0)>>>0<256?t:(t|0)>0?127:128;d=d+1|0}while((d|0)!=(e|0))}if(!a)break;else{q=q+h|0;g=g+(j<<2)|0}}return}function XS(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0.0,m=0,n=0,o=0,q=0,r=0,s=0;e=f[i>>2]|0;d=f[i+4>>2]|0;i=c>>>3;if(!d)return;k=+p[j>>3];l=+p[j+8>>3];j=e+-4|0;if((e|0)<4){c=(e|0)>0;m=g;n=a;o=d;while(1){o=o+-1|0;if(c){q=0;do{r=AEa(+p[n+(q<<3)>>3]*k+l)|0;b[m+q>>0]=(r+128|0)>>>0<256?r:(r|0)>0?127:128;q=q+1|0}while((q|0)!=(e|0))}if(!o)break;else{m=m+h|0;n=n+(i<<3)|0}}return}n=e&-4;m=(n|0)<(e|0);o=g;g=a;a=d;while(1){d=0;do{c=AEa(+p[g+(d<<3)>>3]*k+l)|0;q=d|1;r=AEa(+p[g+(q<<3)>>3]*k+l)|0;b[o+d>>0]=(c+128|0)>>>0<256?c:(c|0)>0?127:128;b[o+q>>0]=(r+128|0)>>>0<256?r:(r|0)>0?127:128;r=d|2;q=AEa(+p[g+(r<<3)>>3]*k+l)|0;c=d|3;s=AEa(+p[g+(c<<3)>>3]*k+l)|0;b[o+r>>0]=(q+128|0)>>>0<256?q:(q|0)>0?127:128;b[o+c>>0]=(s+128|0)>>>0<256?s:(s|0)>0?127:128;d=d+4|0}while((d|0)<=(j|0));a=a+-1|0;if(m){d=n;do{s=AEa(+p[g+(d<<3)>>3]*k+l)|0;b[o+d>>0]=(s+128|0)>>>0<256?s:(s|0)>0?127:128;d=d+1|0}while((d|0)!=(e|0))}if(!a)break;else{o=o+h|0;g=g+(i<<3)|0}}return}function YS(a,b,c,e,g,i,j,k){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0.0,m=0.0,n=0,o=0,q=0,r=0,s=0,t=0;e=f[j>>2]|0;c=f[j+4>>2]|0;l=+p[k>>3];m=+p[k+8>>3];k=i>>>1;if(!c)return;i=e+-4|0;if((e|0)<4){j=(e|0)>0;n=g;o=a;q=c;while(1){q=q+-1|0;if(j){r=0;do{s=HEa(l*+(h[o+r>>0]|0)+m)|0;d[n+(r<<1)>>1]=s>>>0<65536?s:(s|0)>0?65535:0;r=r+1|0}while((r|0)!=(e|0))}if(!q)break;else{n=n+(k<<1)|0;o=o+b|0}}return}o=e&-4;n=(o|0)<(e|0);q=g;g=a;a=c;while(1){c=0;do{j=HEa(l*+(h[g+c>>0]|0)+m)|0;r=c|1;s=HEa(l*+(h[g+r>>0]|0)+m)|0;d[q+(c<<1)>>1]=j>>>0<65536?j:(j|0)>0?65535:0;d[q+(r<<1)>>1]=s>>>0<65536?s:(s|0)>0?65535:0;s=c|2;r=HEa(l*+(h[g+s>>0]|0)+m)|0;j=c|3;t=HEa(l*+(h[g+j>>0]|0)+m)|0;d[q+(s<<1)>>1]=r>>>0<65536?r:(r|0)>0?65535:0;d[q+(j<<1)>>1]=t>>>0<65536?t:(t|0)>0?65535:0;c=c+4|0}while((c|0)<=(i|0));a=a+-1|0;if(n){c=o;do{t=HEa(l*+(h[g+c>>0]|0)+m)|0;d[q+(c<<1)>>1]=t>>>0<65536?t:(t|0)>0?65535:0;c=c+1|0}while((c|0)!=(e|0))}if(!a)break;else{q=q+(k<<1)|0;g=g+b|0}}return}function ZS(a,c,e,g,h,i,j,k){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0.0,m=0.0,n=0,o=0,q=0,r=0,s=0,t=0;g=f[j>>2]|0;e=f[j+4>>2]|0;l=+p[k>>3];m=+p[k+8>>3];k=i>>>1;if(!e)return;i=g+-4|0;if((g|0)<4){j=(g|0)>0;n=h;o=a;q=e;while(1){q=q+-1|0;if(j){r=0;do{s=HEa(l*+(b[o+r>>0]|0)+m)|0;d[n+(r<<1)>>1]=s>>>0<65536?s:(s|0)>0?65535:0;r=r+1|0}while((r|0)!=(g|0))}if(!q)break;else{n=n+(k<<1)|0;o=o+c|0}}return}o=g&-4;n=(o|0)<(g|0);q=h;h=a;a=e;while(1){e=0;do{j=HEa(l*+(b[h+e>>0]|0)+m)|0;r=e|1;s=HEa(l*+(b[h+r>>0]|0)+m)|0;d[q+(e<<1)>>1]=j>>>0<65536?j:(j|0)>0?65535:0;d[q+(r<<1)>>1]=s>>>0<65536?s:(s|0)>0?65535:0;s=e|2;r=HEa(l*+(b[h+s>>0]|0)+m)|0;j=e|3;t=HEa(l*+(b[h+j>>0]|0)+m)|0;d[q+(s<<1)>>1]=r>>>0<65536?r:(r|0)>0?65535:0;d[q+(j<<1)>>1]=t>>>0<65536?t:(t|0)>0?65535:0;e=e+4|0}while((e|0)<=(i|0));a=a+-1|0;if(n){e=o;do{t=HEa(l*+(b[h+e>>0]|0)+m)|0;d[q+(e<<1)>>1]=t>>>0<65536?t:(t|0)>0?65535:0;e=e+1|0}while((e|0)!=(g|0))}if(!a)break;else{q=q+(k<<1)|0;h=h+c|0}}return}function _S(a,b,c,e,g,h,i,k){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;k=k|0;var l=0.0,m=0.0,n=0,o=0,q=0,r=0,s=0,t=0;e=f[i>>2]|0;c=f[i+4>>2]|0;l=+p[k>>3];m=+p[k+8>>3];k=b>>>1;b=h>>>1;h=c+-1|0;if(!c)return;if((e|0)<4){if((e|0)>0){n=g;o=a;q=h}else return;while(1){c=0;do{i=HEa(l*+(j[o+(c<<1)>>1]|0)+m)|0;d[n+(c<<1)>>1]=i>>>0<65536?i:(i|0)>0?65535:0;c=c+1|0}while((c|0)!=(e|0));if(!q)break;else{n=n+(b<<1)|0;o=o+(k<<1)|0;q=q+-1|0}}return}q=e+-4|0;o=(((q|0)>3?q:3)&2147483644)+4|0;n=(o|0)<(e|0);c=g;g=a;a=h;while(1){h=0;do{i=HEa(l*+(j[g+(h<<1)>>1]|0)+m)|0;r=h|1;s=HEa(l*+(j[g+(r<<1)>>1]|0)+m)|0;d[c+(h<<1)>>1]=i>>>0<65536?i:(i|0)>0?65535:0;d[c+(r<<1)>>1]=s>>>0<65536?s:(s|0)>0?65535:0;s=h|2;r=HEa(l*+(j[g+(s<<1)>>1]|0)+m)|0;i=h|3;t=HEa(l*+(j[g+(i<<1)>>1]|0)+m)|0;d[c+(s<<1)>>1]=r>>>0<65536?r:(r|0)>0?65535:0;d[c+(i<<1)>>1]=t>>>0<65536?t:(t|0)>0?65535:0;h=h+4|0}while((h|0)<=(q|0));if(n){h=o;do{t=HEa(l*+(j[g+(h<<1)>>1]|0)+m)|0;d[c+(h<<1)>>1]=t>>>0<65536?t:(t|0)>0?65535:0;h=h+1|0}while((h|0)!=(e|0))}if(!a)break;else{c=c+(b<<1)|0;g=g+(k<<1)|0;a=a+-1|0}}return}function $S(a,b,c,e,g,h,i,j){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0.0,m=0,n=0,o=0,q=0,r=0,s=0;e=f[i>>2]|0;c=f[i+4>>2]|0;k=+p[j>>3];l=+p[j+8>>3];j=b>>>1;b=h>>>1;h=c+-1|0;if(!c)return;if((e|0)<4){if((e|0)>0){m=g;n=a;o=h}else return;while(1){c=0;do{i=HEa(k*+(d[n+(c<<1)>>1]|0)+l)|0;d[m+(c<<1)>>1]=i>>>0<65536?i:(i|0)>0?65535:0;c=c+1|0}while((c|0)!=(e|0));if(!o)break;else{m=m+(b<<1)|0;n=n+(j<<1)|0;o=o+-1|0}}return}o=e+-4|0;n=(((o|0)>3?o:3)&2147483644)+4|0;m=(n|0)<(e|0);c=g;g=a;a=h;while(1){h=0;do{i=HEa(k*+(d[g+(h<<1)>>1]|0)+l)|0;q=h|1;r=HEa(k*+(d[g+(q<<1)>>1]|0)+l)|0;d[c+(h<<1)>>1]=i>>>0<65536?i:(i|0)>0?65535:0;d[c+(q<<1)>>1]=r>>>0<65536?r:(r|0)>0?65535:0;r=h|2;q=HEa(k*+(d[g+(r<<1)>>1]|0)+l)|0;i=h|3;s=HEa(k*+(d[g+(i<<1)>>1]|0)+l)|0;d[c+(r<<1)>>1]=q>>>0<65536?q:(q|0)>0?65535:0;d[c+(i<<1)>>1]=s>>>0<65536?s:(s|0)>0?65535:0;h=h+4|0}while((h|0)<=(o|0));if(m){h=n;do{s=HEa(k*+(d[g+(h<<1)>>1]|0)+l)|0;d[c+(h<<1)>>1]=s>>>0<65536?s:(s|0)>0?65535:0;h=h+1|0}while((h|0)!=(e|0))}if(!a)break;else{c=c+(b<<1)|0;g=g+(j<<1)|0;a=a+-1|0}}return}function aT(a,b,c,e,g,h,i,j){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0.0,m=0,n=0,o=0,q=0,r=0,s=0;e=f[i>>2]|0;c=f[i+4>>2]|0;k=+p[j>>3];l=+p[j+8>>3];j=b>>>2;b=h>>>1;if(!c)return;h=e+-4|0;i=(((h|0)>3?h:3)&2147483644)+4|0;if((e|0)<4){m=(e|0)>0;n=g;o=a;q=c;while(1){q=q+-1|0;if(m){r=0;do{s=HEa(k*+(f[o+(r<<2)>>2]|0)+l)|0;d[n+(r<<1)>>1]=s>>>0<65536?s:(s|0)>0?65535:0;r=r+1|0}while((r|0)!=(e|0))}if(!q)break;else{n=n+(b<<1)|0;o=o+(j<<2)|0}}return}o=(i|0)<(e|0);n=g;g=a;a=c;while(1){c=0;do{q=HEa(k*+(f[g+(c<<2)>>2]|0)+l)|0;m=c|1;r=HEa(k*+(f[g+(m<<2)>>2]|0)+l)|0;d[n+(c<<1)>>1]=q>>>0<65536?q:(q|0)>0?65535:0;d[n+(m<<1)>>1]=r>>>0<65536?r:(r|0)>0?65535:0;r=c|2;m=HEa(k*+(f[g+(r<<2)>>2]|0)+l)|0;q=c|3;s=HEa(k*+(f[g+(q<<2)>>2]|0)+l)|0;d[n+(r<<1)>>1]=m>>>0<65536?m:(m|0)>0?65535:0;d[n+(q<<1)>>1]=s>>>0<65536?s:(s|0)>0?65535:0;c=c+4|0}while((c|0)<=(h|0));a=a+-1|0;if(o){c=i;do{s=HEa(k*+(f[g+(c<<2)>>2]|0)+l)|0;d[n+(c<<1)>>1]=s>>>0<65536?s:(s|0)>0?65535:0;c=c+1|0}while((c|0)!=(e|0))}if(!a)break;else{n=n+(b<<1)|0;g=g+(j<<2)|0}}return}function bT(a,b,c,e,g,h,i,j){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0.0,m=0,o=0,q=0,r=0,s=0,t=0;e=f[i>>2]|0;c=f[i+4>>2]|0;k=+p[j>>3];l=+p[j+8>>3];j=b>>>2;b=h>>>1;h=c+-1|0;if(!c)return;if((e|0)<4){if((e|0)>0){m=g;o=a;q=h}else return;while(1){c=0;do{i=HEa(+n[o+(c<<2)>>2]*k+l)|0;d[m+(c<<1)>>1]=i>>>0<65536?i:(i|0)>0?65535:0;c=c+1|0}while((c|0)!=(e|0));if(!q)break;else{m=m+(b<<1)|0;o=o+(j<<2)|0;q=q+-1|0}}return}q=e+-4|0;o=(((q|0)>3?q:3)&2147483644)+4|0;m=(o|0)<(e|0);c=g;g=a;a=h;while(1){h=0;do{i=HEa(+n[g+(h<<2)>>2]*k+l)|0;r=h|1;s=HEa(+n[g+(r<<2)>>2]*k+l)|0;d[c+(h<<1)>>1]=i>>>0<65536?i:(i|0)>0?65535:0;d[c+(r<<1)>>1]=s>>>0<65536?s:(s|0)>0?65535:0;s=h|2;r=HEa(+n[g+(s<<2)>>2]*k+l)|0;i=h|3;t=HEa(+n[g+(i<<2)>>2]*k+l)|0;d[c+(s<<1)>>1]=r>>>0<65536?r:(r|0)>0?65535:0;d[c+(i<<1)>>1]=t>>>0<65536?t:(t|0)>0?65535:0;h=h+4|0}while((h|0)<=(q|0));if(m){h=o;do{t=HEa(+n[g+(h<<2)>>2]*k+l)|0;d[c+(h<<1)>>1]=t>>>0<65536?t:(t|0)>0?65535:0;h=h+1|0}while((h|0)!=(e|0))}if(!a)break;else{c=c+(b<<1)|0;g=g+(j<<2)|0;a=a+-1|0}}return}function cT(a,b,c,e,g,h,i,j){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0.0,m=0,n=0,o=0,q=0,r=0,s=0;e=f[i>>2]|0;c=f[i+4>>2]|0;i=b>>>3;b=h>>>1;h=c+-1|0;if(!c)return;k=+p[j>>3];l=+p[j+8>>3];if((e|0)<4){if((e|0)>0){m=g;n=a;o=h}else return;while(1){j=0;do{c=AEa(+p[n+(j<<3)>>3]*k+l)|0;d[m+(j<<1)>>1]=c>>>0<65536?c:(c|0)>0?65535:0;j=j+1|0}while((j|0)!=(e|0));if(!o)break;else{m=m+(b<<1)|0;n=n+(i<<3)|0;o=o+-1|0}}return}o=e+-4|0;n=(((o|0)>3?o:3)&2147483644)+4|0;m=(n|0)<(e|0);j=g;g=a;a=h;while(1){h=0;do{c=AEa(+p[g+(h<<3)>>3]*k+l)|0;q=h|1;r=AEa(+p[g+(q<<3)>>3]*k+l)|0;d[j+(h<<1)>>1]=c>>>0<65536?c:(c|0)>0?65535:0;d[j+(q<<1)>>1]=r>>>0<65536?r:(r|0)>0?65535:0;r=h|2;q=AEa(+p[g+(r<<3)>>3]*k+l)|0;c=h|3;s=AEa(+p[g+(c<<3)>>3]*k+l)|0;d[j+(r<<1)>>1]=q>>>0<65536?q:(q|0)>0?65535:0;d[j+(c<<1)>>1]=s>>>0<65536?s:(s|0)>0?65535:0;h=h+4|0}while((h|0)<=(o|0));if(m){h=n;do{s=AEa(+p[g+(h<<3)>>3]*k+l)|0;d[j+(h<<1)>>1]=s>>>0<65536?s:(s|0)>0?65535:0;h=h+1|0}while((h|0)!=(e|0))}if(!a)break;else{j=j+(b<<1)|0;g=g+(i<<3)|0;a=a+-1|0}}return}function dT(a,b,c,e,g,i,j,k){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0.0,m=0.0,n=0,o=0,q=0,r=0,s=0,t=0;e=f[j>>2]|0;c=f[j+4>>2]|0;l=+p[k>>3];m=+p[k+8>>3];k=i>>>1;if(!c)return;i=e+-4|0;if((e|0)<4){j=(e|0)>0;n=g;o=a;q=c;while(1){q=q+-1|0;if(j){r=0;do{s=HEa(l*+(h[o+r>>0]|0)+m)|0;d[n+(r<<1)>>1]=(s+32768|0)>>>0<65536?s:(s|0)>0?32767:32768;r=r+1|0}while((r|0)!=(e|0))}if(!q)break;else{n=n+(k<<1)|0;o=o+b|0}}return}o=e&-4;n=(o|0)<(e|0);q=g;g=a;a=c;while(1){c=0;do{j=HEa(l*+(h[g+c>>0]|0)+m)|0;r=c|1;s=HEa(l*+(h[g+r>>0]|0)+m)|0;d[q+(c<<1)>>1]=(j+32768|0)>>>0<65536?j:(j|0)>0?32767:32768;d[q+(r<<1)>>1]=(s+32768|0)>>>0<65536?s:(s|0)>0?32767:32768;s=c|2;r=HEa(l*+(h[g+s>>0]|0)+m)|0;j=c|3;t=HEa(l*+(h[g+j>>0]|0)+m)|0;d[q+(s<<1)>>1]=(r+32768|0)>>>0<65536?r:(r|0)>0?32767:32768;d[q+(j<<1)>>1]=(t+32768|0)>>>0<65536?t:(t|0)>0?32767:32768;c=c+4|0}while((c|0)<=(i|0));a=a+-1|0;if(n){c=o;do{t=HEa(l*+(h[g+c>>0]|0)+m)|0;d[q+(c<<1)>>1]=(t+32768|0)>>>0<65536?t:(t|0)>0?32767:32768;c=c+1|0}while((c|0)!=(e|0))}if(!a)break;else{q=q+(k<<1)|0;g=g+b|0}}return}function eT(a,c,e,g,h,i,j,k){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0.0,m=0.0,n=0,o=0,q=0,r=0,s=0,t=0;g=f[j>>2]|0;e=f[j+4>>2]|0;l=+p[k>>3];m=+p[k+8>>3];k=i>>>1;if(!e)return;i=g+-4|0;if((g|0)<4){j=(g|0)>0;n=h;o=a;q=e;while(1){q=q+-1|0;if(j){r=0;do{s=HEa(l*+(b[o+r>>0]|0)+m)|0;d[n+(r<<1)>>1]=(s+32768|0)>>>0<65536?s:(s|0)>0?32767:32768;r=r+1|0}while((r|0)!=(g|0))}if(!q)break;else{n=n+(k<<1)|0;o=o+c|0}}return}o=g&-4;n=(o|0)<(g|0);q=h;h=a;a=e;while(1){e=0;do{j=HEa(l*+(b[h+e>>0]|0)+m)|0;r=e|1;s=HEa(l*+(b[h+r>>0]|0)+m)|0;d[q+(e<<1)>>1]=(j+32768|0)>>>0<65536?j:(j|0)>0?32767:32768;d[q+(r<<1)>>1]=(s+32768|0)>>>0<65536?s:(s|0)>0?32767:32768;s=e|2;r=HEa(l*+(b[h+s>>0]|0)+m)|0;j=e|3;t=HEa(l*+(b[h+j>>0]|0)+m)|0;d[q+(s<<1)>>1]=(r+32768|0)>>>0<65536?r:(r|0)>0?32767:32768;d[q+(j<<1)>>1]=(t+32768|0)>>>0<65536?t:(t|0)>0?32767:32768;e=e+4|0}while((e|0)<=(i|0));a=a+-1|0;if(n){e=o;do{t=HEa(l*+(b[h+e>>0]|0)+m)|0;d[q+(e<<1)>>1]=(t+32768|0)>>>0<65536?t:(t|0)>0?32767:32768;e=e+1|0}while((e|0)!=(g|0))}if(!a)break;else{q=q+(k<<1)|0;h=h+c|0}}return}function fT(a,b,c,e,g,h,i,k){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;k=k|0;var l=0.0,m=0.0,n=0,o=0,q=0,r=0,s=0,t=0;e=f[i>>2]|0;c=f[i+4>>2]|0;l=+p[k>>3];m=+p[k+8>>3];k=b>>>1;b=h>>>1;h=c+-1|0;if(!c)return;if((e|0)<4){if((e|0)>0){n=g;o=a;q=h}else return;while(1){c=0;do{i=HEa(l*+(j[o+(c<<1)>>1]|0)+m)|0;d[n+(c<<1)>>1]=(i+32768|0)>>>0<65536?i:(i|0)>0?32767:32768;c=c+1|0}while((c|0)!=(e|0));if(!q)break;else{n=n+(b<<1)|0;o=o+(k<<1)|0;q=q+-1|0}}return}q=e+-4|0;o=(((q|0)>3?q:3)&2147483644)+4|0;n=(o|0)<(e|0);c=g;g=a;a=h;while(1){h=0;do{i=HEa(l*+(j[g+(h<<1)>>1]|0)+m)|0;r=h|1;s=HEa(l*+(j[g+(r<<1)>>1]|0)+m)|0;d[c+(h<<1)>>1]=(i+32768|0)>>>0<65536?i:(i|0)>0?32767:32768;d[c+(r<<1)>>1]=(s+32768|0)>>>0<65536?s:(s|0)>0?32767:32768;s=h|2;r=HEa(l*+(j[g+(s<<1)>>1]|0)+m)|0;i=h|3;t=HEa(l*+(j[g+(i<<1)>>1]|0)+m)|0;d[c+(s<<1)>>1]=(r+32768|0)>>>0<65536?r:(r|0)>0?32767:32768;d[c+(i<<1)>>1]=(t+32768|0)>>>0<65536?t:(t|0)>0?32767:32768;h=h+4|0}while((h|0)<=(q|0));if(n){h=o;do{t=HEa(l*+(j[g+(h<<1)>>1]|0)+m)|0;d[c+(h<<1)>>1]=(t+32768|0)>>>0<65536?t:(t|0)>0?32767:32768;h=h+1|0}while((h|0)!=(e|0))}if(!a)break;else{c=c+(b<<1)|0;g=g+(k<<1)|0;a=a+-1|0}}return}function gT(a,b,c,e,g,h,i,j){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0.0,m=0,n=0,o=0,q=0,r=0,s=0;e=f[i>>2]|0;c=f[i+4>>2]|0;k=+p[j>>3];l=+p[j+8>>3];j=b>>>1;b=h>>>1;h=c+-1|0;if(!c)return;if((e|0)<4){if((e|0)>0){m=g;n=a;o=h}else return;while(1){c=0;do{i=HEa(k*+(d[n+(c<<1)>>1]|0)+l)|0;d[m+(c<<1)>>1]=(i+32768|0)>>>0<65536?i:(i|0)>0?32767:32768;c=c+1|0}while((c|0)!=(e|0));if(!o)break;else{m=m+(b<<1)|0;n=n+(j<<1)|0;o=o+-1|0}}return}o=e+-4|0;n=(((o|0)>3?o:3)&2147483644)+4|0;m=(n|0)<(e|0);c=g;g=a;a=h;while(1){h=0;do{i=HEa(k*+(d[g+(h<<1)>>1]|0)+l)|0;q=h|1;r=HEa(k*+(d[g+(q<<1)>>1]|0)+l)|0;d[c+(h<<1)>>1]=(i+32768|0)>>>0<65536?i:(i|0)>0?32767:32768;d[c+(q<<1)>>1]=(r+32768|0)>>>0<65536?r:(r|0)>0?32767:32768;r=h|2;q=HEa(k*+(d[g+(r<<1)>>1]|0)+l)|0;i=h|3;s=HEa(k*+(d[g+(i<<1)>>1]|0)+l)|0;d[c+(r<<1)>>1]=(q+32768|0)>>>0<65536?q:(q|0)>0?32767:32768;d[c+(i<<1)>>1]=(s+32768|0)>>>0<65536?s:(s|0)>0?32767:32768;h=h+4|0}while((h|0)<=(o|0));if(m){h=n;do{s=HEa(k*+(d[g+(h<<1)>>1]|0)+l)|0;d[c+(h<<1)>>1]=(s+32768|0)>>>0<65536?s:(s|0)>0?32767:32768;h=h+1|0}while((h|0)!=(e|0))}if(!a)break;else{c=c+(b<<1)|0;g=g+(j<<1)|0;a=a+-1|0}}return}function hT(a,b,c,e,g,h,i,j){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0.0,m=0,n=0,o=0,q=0,r=0,s=0;e=f[i>>2]|0;c=f[i+4>>2]|0;k=+p[j>>3];l=+p[j+8>>3];j=b>>>2;b=h>>>1;if(!c)return;h=e+-4|0;i=(((h|0)>3?h:3)&2147483644)+4|0;if((e|0)<4){m=(e|0)>0;n=g;o=a;q=c;while(1){q=q+-1|0;if(m){r=0;do{s=HEa(k*+(f[o+(r<<2)>>2]|0)+l)|0;d[n+(r<<1)>>1]=(s+32768|0)>>>0<65536?s:(s|0)>0?32767:32768;r=r+1|0}while((r|0)!=(e|0))}if(!q)break;else{n=n+(b<<1)|0;o=o+(j<<2)|0}}return}o=(i|0)<(e|0);n=g;g=a;a=c;while(1){c=0;do{q=HEa(k*+(f[g+(c<<2)>>2]|0)+l)|0;m=c|1;r=HEa(k*+(f[g+(m<<2)>>2]|0)+l)|0;d[n+(c<<1)>>1]=(q+32768|0)>>>0<65536?q:(q|0)>0?32767:32768;d[n+(m<<1)>>1]=(r+32768|0)>>>0<65536?r:(r|0)>0?32767:32768;r=c|2;m=HEa(k*+(f[g+(r<<2)>>2]|0)+l)|0;q=c|3;s=HEa(k*+(f[g+(q<<2)>>2]|0)+l)|0;d[n+(r<<1)>>1]=(m+32768|0)>>>0<65536?m:(m|0)>0?32767:32768;d[n+(q<<1)>>1]=(s+32768|0)>>>0<65536?s:(s|0)>0?32767:32768;c=c+4|0}while((c|0)<=(h|0));a=a+-1|0;if(o){c=i;do{s=HEa(k*+(f[g+(c<<2)>>2]|0)+l)|0;d[n+(c<<1)>>1]=(s+32768|0)>>>0<65536?s:(s|0)>0?32767:32768;c=c+1|0}while((c|0)!=(e|0))}if(!a)break;else{n=n+(b<<1)|0;g=g+(j<<2)|0}}return}function iT(a,b,c,e,g,h,i,j){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0.0,m=0,o=0,q=0,r=0,s=0,t=0;e=f[i>>2]|0;c=f[i+4>>2]|0;k=+p[j>>3];l=+p[j+8>>3];j=b>>>2;b=h>>>1;h=c+-1|0;if(!c)return;if((e|0)<4){if((e|0)>0){m=g;o=a;q=h}else return;while(1){c=0;do{i=HEa(+n[o+(c<<2)>>2]*k+l)|0;d[m+(c<<1)>>1]=(i+32768|0)>>>0<65536?i:(i|0)>0?32767:32768;c=c+1|0}while((c|0)!=(e|0));if(!q)break;else{m=m+(b<<1)|0;o=o+(j<<2)|0;q=q+-1|0}}return}q=e+-4|0;o=(((q|0)>3?q:3)&2147483644)+4|0;m=(o|0)<(e|0);c=g;g=a;a=h;while(1){h=0;do{i=HEa(+n[g+(h<<2)>>2]*k+l)|0;r=h|1;s=HEa(+n[g+(r<<2)>>2]*k+l)|0;d[c+(h<<1)>>1]=(i+32768|0)>>>0<65536?i:(i|0)>0?32767:32768;d[c+(r<<1)>>1]=(s+32768|0)>>>0<65536?s:(s|0)>0?32767:32768;s=h|2;r=HEa(+n[g+(s<<2)>>2]*k+l)|0;i=h|3;t=HEa(+n[g+(i<<2)>>2]*k+l)|0;d[c+(s<<1)>>1]=(r+32768|0)>>>0<65536?r:(r|0)>0?32767:32768;d[c+(i<<1)>>1]=(t+32768|0)>>>0<65536?t:(t|0)>0?32767:32768;h=h+4|0}while((h|0)<=(q|0));if(m){h=o;do{t=HEa(+n[g+(h<<2)>>2]*k+l)|0;d[c+(h<<1)>>1]=(t+32768|0)>>>0<65536?t:(t|0)>0?32767:32768;h=h+1|0}while((h|0)!=(e|0))}if(!a)break;else{c=c+(b<<1)|0;g=g+(j<<2)|0;a=a+-1|0}}return}function jT(a,b,c,e,g,h,i,j){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0.0,m=0,n=0,o=0,q=0,r=0,s=0;e=f[i>>2]|0;c=f[i+4>>2]|0;i=b>>>3;b=h>>>1;h=c+-1|0;if(!c)return;k=+p[j>>3];l=+p[j+8>>3];if((e|0)<4){if((e|0)>0){m=g;n=a;o=h}else return;while(1){j=0;do{c=AEa(+p[n+(j<<3)>>3]*k+l)|0;d[m+(j<<1)>>1]=(c+32768|0)>>>0<65536?c:(c|0)>0?32767:32768;j=j+1|0}while((j|0)!=(e|0));if(!o)break;else{m=m+(b<<1)|0;n=n+(i<<3)|0;o=o+-1|0}}return}o=e+-4|0;n=(((o|0)>3?o:3)&2147483644)+4|0;m=(n|0)<(e|0);j=g;g=a;a=h;while(1){h=0;do{c=AEa(+p[g+(h<<3)>>3]*k+l)|0;q=h|1;r=AEa(+p[g+(q<<3)>>3]*k+l)|0;d[j+(h<<1)>>1]=(c+32768|0)>>>0<65536?c:(c|0)>0?32767:32768;d[j+(q<<1)>>1]=(r+32768|0)>>>0<65536?r:(r|0)>0?32767:32768;r=h|2;q=AEa(+p[g+(r<<3)>>3]*k+l)|0;c=h|3;s=AEa(+p[g+(c<<3)>>3]*k+l)|0;d[j+(r<<1)>>1]=(q+32768|0)>>>0<65536?q:(q|0)>0?32767:32768;d[j+(c<<1)>>1]=(s+32768|0)>>>0<65536?s:(s|0)>0?32767:32768;h=h+4|0}while((h|0)<=(o|0));if(m){h=n;do{s=AEa(+p[g+(h<<3)>>3]*k+l)|0;d[j+(h<<1)>>1]=(s+32768|0)>>>0<65536?s:(s|0)>0?32767:32768;h=h+1|0}while((h|0)!=(e|0))}if(!a)break;else{j=j+(b<<1)|0;g=g+(i<<3)|0;a=a+-1|0}}return}function kT(a,b,c,d,e,g,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;var k=0.0,l=0.0,m=0,n=0,o=0,q=0,r=0,s=0;d=f[i>>2]|0;c=f[i+4>>2]|0;k=+p[j>>3];l=+p[j+8>>3];j=g>>>2;if(!c)return;g=d+-4|0;if((d|0)<4){i=(d|0)>0;m=e;n=a;o=c;while(1){o=o+-1|0;if(i){q=0;do{r=HEa(k*+(h[n+q>>0]|0)+l)|0;f[m+(q<<2)>>2]=r;q=q+1|0}while((q|0)!=(d|0))}if(!o)break;else{m=m+(j<<2)|0;n=n+b|0}}return}n=d&-4;m=(n|0)<(d|0);o=e;e=a;a=c;while(1){c=0;do{i=HEa(k*+(h[e+c>>0]|0)+l)|0;q=c|1;r=HEa(k*+(h[e+q>>0]|0)+l)|0;f[o+(c<<2)>>2]=i;f[o+(q<<2)>>2]=r;r=c|2;q=HEa(k*+(h[e+r>>0]|0)+l)|0;i=c|3;s=HEa(k*+(h[e+i>>0]|0)+l)|0;f[o+(r<<2)>>2]=q;f[o+(i<<2)>>2]=s;c=c+4|0}while((c|0)<=(g|0));a=a+-1|0;if(m){c=n;do{s=HEa(k*+(h[e+c>>0]|0)+l)|0;f[o+(c<<2)>>2]=s;c=c+1|0}while((c|0)!=(d|0))}if(!a)break;else{o=o+(j<<2)|0;e=e+b|0}}return}function lT(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0.0,m=0,n=0,o=0,q=0,r=0,s=0;e=f[i>>2]|0;d=f[i+4>>2]|0;k=+p[j>>3];l=+p[j+8>>3];j=h>>>2;if(!d)return;h=e+-4|0;if((e|0)<4){i=(e|0)>0;m=g;n=a;o=d;while(1){o=o+-1|0;if(i){q=0;do{r=HEa(k*+(b[n+q>>0]|0)+l)|0;f[m+(q<<2)>>2]=r;q=q+1|0}while((q|0)!=(e|0))}if(!o)break;else{m=m+(j<<2)|0;n=n+c|0}}return}n=e&-4;m=(n|0)<(e|0);o=g;g=a;a=d;while(1){d=0;do{i=HEa(k*+(b[g+d>>0]|0)+l)|0;q=d|1;r=HEa(k*+(b[g+q>>0]|0)+l)|0;f[o+(d<<2)>>2]=i;f[o+(q<<2)>>2]=r;r=d|2;q=HEa(k*+(b[g+r>>0]|0)+l)|0;i=d|3;s=HEa(k*+(b[g+i>>0]|0)+l)|0;f[o+(r<<2)>>2]=q;f[o+(i<<2)>>2]=s;d=d+4|0}while((d|0)<=(h|0));a=a+-1|0;if(m){d=n;do{s=HEa(k*+(b[g+d>>0]|0)+l)|0;f[o+(d<<2)>>2]=s;d=d+1|0}while((d|0)!=(e|0))}if(!a)break;else{o=o+(j<<2)|0;g=g+c|0}}return}function mT(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var k=0.0,l=0.0,m=0,n=0,o=0,q=0,r=0,s=0;d=f[h>>2]|0;c=f[h+4>>2]|0;k=+p[i>>3];l=+p[i+8>>3];i=b>>>1;b=g>>>2;if(!c)return;g=d+-4|0;if((d|0)<4){h=(d|0)>0;m=e;n=a;o=c;while(1){o=o+-1|0;if(h){q=0;do{r=HEa(k*+(j[n+(q<<1)>>1]|0)+l)|0;f[m+(q<<2)>>2]=r;q=q+1|0}while((q|0)!=(d|0))}if(!o)break;else{m=m+(b<<2)|0;n=n+(i<<1)|0}}return}n=d&-4;m=(n|0)<(d|0);o=e;e=a;a=c;while(1){c=0;do{h=HEa(k*+(j[e+(c<<1)>>1]|0)+l)|0;q=c|1;r=HEa(k*+(j[e+(q<<1)>>1]|0)+l)|0;f[o+(c<<2)>>2]=h;f[o+(q<<2)>>2]=r;r=c|2;q=HEa(k*+(j[e+(r<<1)>>1]|0)+l)|0;h=c|3;s=HEa(k*+(j[e+(h<<1)>>1]|0)+l)|0;f[o+(r<<2)>>2]=q;f[o+(h<<2)>>2]=s;c=c+4|0}while((c|0)<=(g|0));a=a+-1|0;if(m){c=n;do{s=HEa(k*+(j[e+(c<<1)>>1]|0)+l)|0;f[o+(c<<2)>>2]=s;c=c+1|0}while((c|0)!=(d|0))}if(!a)break;else{o=o+(b<<2)|0;e=e+(i<<1)|0}}return}function nT(a,b,c,e,g,h,i,j){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0.0,m=0,n=0,o=0;e=f[i>>2]|0;c=f[i+4>>2]|0;k=+p[j>>3];l=+p[j+8>>3];j=b>>>1;b=h>>>2;if((c|0)!=0&(e|0)>0){m=a;n=g;o=c}else return;while(1){c=0;do{g=HEa(k*+(d[m+(c<<1)>>1]|0)+l)|0;f[n+(c<<2)>>2]=g;c=c+1|0}while((c|0)!=(e|0));o=o+-1|0;if(!o)break;else{m=m+(j<<1)|0;n=n+(b<<2)|0}}return}function oT(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0.0,k=0.0,l=0,m=0,n=0,o=0,q=0,r=0;d=f[h>>2]|0;c=f[h+4>>2]|0;j=+p[i>>3];k=+p[i+8>>3];i=b>>>2;b=g>>>2;if(!c)return;g=d+-4|0;if((d|0)<4){h=(d|0)>0;l=e;m=a;n=c;while(1){n=n+-1|0;if(h){o=0;do{q=AEa(k+j*+(f[m+(o<<2)>>2]|0))|0;f[l+(o<<2)>>2]=q;o=o+1|0}while((o|0)!=(d|0))}if(!n)break;else{l=l+(b<<2)|0;m=m+(i<<2)|0}}return}m=d&-4;l=(m|0)<(d|0);n=e;e=a;a=c;while(1){c=0;do{h=AEa(k+j*+(f[e+(c<<2)>>2]|0))|0;o=c|1;q=AEa(k+j*+(f[e+(o<<2)>>2]|0))|0;f[n+(c<<2)>>2]=h;f[n+(o<<2)>>2]=q;q=c|2;o=AEa(k+j*+(f[e+(q<<2)>>2]|0))|0;h=c|3;r=AEa(k+j*+(f[e+(h<<2)>>2]|0))|0;f[n+(q<<2)>>2]=o;f[n+(h<<2)>>2]=r;c=c+4|0}while((c|0)<=(g|0));a=a+-1|0;if(l){c=m;do{r=AEa(k+j*+(f[e+(c<<2)>>2]|0))|0;f[n+(c<<2)>>2]=r;c=c+1|0}while((c|0)!=(d|0))}if(!a)break;else{n=n+(b<<2)|0;e=e+(i<<2)|0}}return}function pT(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0.0,k=0.0,l=0,m=0,o=0,q=0,r=0,s=0;d=f[h>>2]|0;c=f[h+4>>2]|0;j=+p[i>>3];k=+p[i+8>>3];i=b>>>2;b=g>>>2;if(!c)return;g=d+-4|0;if((d|0)<4){h=(d|0)>0;l=e;m=a;o=c;while(1){o=o+-1|0;if(h){q=0;do{r=HEa(+n[m+(q<<2)>>2]*j+k)|0;f[l+(q<<2)>>2]=r;q=q+1|0}while((q|0)!=(d|0))}if(!o)break;else{l=l+(b<<2)|0;m=m+(i<<2)|0}}return}m=d&-4;l=(m|0)<(d|0);o=e;e=a;a=c;while(1){c=0;do{h=HEa(+n[e+(c<<2)>>2]*j+k)|0;q=c|1;r=HEa(+n[e+(q<<2)>>2]*j+k)|0;f[o+(c<<2)>>2]=h;f[o+(q<<2)>>2]=r;r=c|2;q=HEa(+n[e+(r<<2)>>2]*j+k)|0;h=c|3;s=HEa(+n[e+(h<<2)>>2]*j+k)|0;f[o+(r<<2)>>2]=q;f[o+(h<<2)>>2]=s;c=c+4|0}while((c|0)<=(g|0));a=a+-1|0;if(l){c=m;do{s=HEa(+n[e+(c<<2)>>2]*j+k)|0;f[o+(c<<2)>>2]=s;c=c+1|0}while((c|0)!=(d|0))}if(!a)break;else{o=o+(b<<2)|0;e=e+(i<<2)|0}}return}function qT(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0.0,k=0.0,l=0,m=0,n=0,o=0,q=0,r=0;d=f[h>>2]|0;c=f[h+4>>2]|0;j=+p[i>>3];k=+p[i+8>>3];i=b>>>3;b=g>>>2;if(!c)return;g=d+-4|0;if((d|0)<4){h=(d|0)>0;l=e;m=a;n=c;while(1){n=n+-1|0;if(h){o=0;do{q=AEa(k+j*+p[m+(o<<3)>>3])|0;f[l+(o<<2)>>2]=q;o=o+1|0}while((o|0)!=(d|0))}if(!n)break;else{l=l+(b<<2)|0;m=m+(i<<3)|0}}return}m=d&-4;l=(m|0)<(d|0);n=e;e=a;a=c;while(1){c=0;do{h=AEa(k+j*+p[e+(c<<3)>>3])|0;o=c|1;q=AEa(k+j*+p[e+(o<<3)>>3])|0;f[n+(c<<2)>>2]=h;f[n+(o<<2)>>2]=q;q=c|2;o=AEa(k+j*+p[e+(q<<3)>>3])|0;h=c|3;r=AEa(k+j*+p[e+(h<<3)>>3])|0;f[n+(q<<2)>>2]=o;f[n+(h<<2)>>2]=r;c=c+4|0}while((c|0)<=(g|0));a=a+-1|0;if(l){c=m;do{r=AEa(k+j*+p[e+(c<<3)>>3])|0;f[n+(c<<2)>>2]=r;c=c+1|0}while((c|0)!=(d|0))}if(!a)break;else{n=n+(b<<2)|0;e=e+(i<<3)|0}}return}function rT(a,b,c,d,e,g,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;var k=0.0,l=0.0,m=0,o=0,q=0,r=0,s=0.0;d=f[i>>2]|0;c=f[i+4>>2]|0;k=+p[j>>3];l=+p[j+8>>3];j=g>>>2;if(!c)return;g=d+-4|0;if((d|0)<4){i=(d|0)>0;m=e;o=a;q=c;while(1){q=q+-1|0;if(i){r=0;do{n[m+(r<<2)>>2]=k*+(h[o+r>>0]|0)+l;r=r+1|0}while((r|0)!=(d|0))}if(!q)break;else{m=m+(j<<2)|0;o=o+b|0}}return}o=d&-4;m=(o|0)<(d|0);q=e;e=a;a=c;while(1){c=0;do{i=c|1;s=k*+(h[e+i>>0]|0)+l;n[q+(c<<2)>>2]=k*+(h[e+c>>0]|0)+l;n[q+(i<<2)>>2]=s;i=c|2;r=c|3;s=k*+(h[e+r>>0]|0)+l;n[q+(i<<2)>>2]=k*+(h[e+i>>0]|0)+l;n[q+(r<<2)>>2]=s;c=c+4|0}while((c|0)<=(g|0));a=a+-1|0;if(m){c=o;do{n[q+(c<<2)>>2]=k*+(h[e+c>>0]|0)+l;c=c+1|0}while((c|0)!=(d|0))}if(!a)break;else{q=q+(j<<2)|0;e=e+b|0}}return}function sT(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0.0,m=0,o=0,q=0,r=0,s=0.0;e=f[i>>2]|0;d=f[i+4>>2]|0;k=+p[j>>3];l=+p[j+8>>3];j=h>>>2;if(!d)return;h=e+-4|0;if((e|0)<4){i=(e|0)>0;m=g;o=a;q=d;while(1){q=q+-1|0;if(i){r=0;do{n[m+(r<<2)>>2]=k*+(b[o+r>>0]|0)+l;r=r+1|0}while((r|0)!=(e|0))}if(!q)break;else{m=m+(j<<2)|0;o=o+c|0}}return}o=e&-4;m=(o|0)<(e|0);q=g;g=a;a=d;while(1){d=0;do{i=d|1;s=k*+(b[g+i>>0]|0)+l;n[q+(d<<2)>>2]=k*+(b[g+d>>0]|0)+l;n[q+(i<<2)>>2]=s;i=d|2;r=d|3;s=k*+(b[g+r>>0]|0)+l;n[q+(i<<2)>>2]=k*+(b[g+i>>0]|0)+l;n[q+(r<<2)>>2]=s;d=d+4|0}while((d|0)<=(h|0));a=a+-1|0;if(m){d=o;do{n[q+(d<<2)>>2]=k*+(b[g+d>>0]|0)+l;d=d+1|0}while((d|0)!=(e|0))}if(!a)break;else{q=q+(j<<2)|0;g=g+c|0}}return}function tT(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var k=0.0,l=0.0,m=0,o=0,q=0,r=0,s=0,t=0,u=0.0,v=0;d=f[h>>2]|0;c=f[h+4>>2]|0;k=+p[i>>3];l=+p[i+8>>3];i=b>>>1;b=g>>>2;g=c+-1|0;if(!c)return;if((d|0)<4){if((d|0)>0){m=e;o=a;q=g}else return;while(1){c=0;do{n[m+(c<<2)>>2]=k*+(j[o+(c<<1)>>1]|0)+l;c=c+1|0}while((c|0)!=(d|0));if(!q)break;else{m=m+(b<<2)|0;o=o+(i<<1)|0;q=q+-1|0}}return}q=d+-4|0;o=(((q|0)>3?q:3)&2147483644)+4|0;if((o|0)<(d|0)){r=e;s=a;t=g}else{m=e;e=a;a=g;while(1){g=0;do{c=g|1;u=k*+(j[e+(c<<1)>>1]|0)+l;n[m+(g<<2)>>2]=k*+(j[e+(g<<1)>>1]|0)+l;n[m+(c<<2)>>2]=u;c=g|2;h=g|3;u=k*+(j[e+(h<<1)>>1]|0)+l;n[m+(c<<2)>>2]=k*+(j[e+(c<<1)>>1]|0)+l;n[m+(h<<2)>>2]=u;g=g+4|0}while((g|0)<=(q|0));if(!a)break;else{m=m+(b<<2)|0;e=e+(i<<1)|0;a=a+-1|0}}return}while(1){a=0;do{e=a|1;u=k*+(j[s+(e<<1)>>1]|0)+l;n[r+(a<<2)>>2]=k*+(j[s+(a<<1)>>1]|0)+l;n[r+(e<<2)>>2]=u;e=a|2;m=a|3;u=k*+(j[s+(m<<1)>>1]|0)+l;n[r+(e<<2)>>2]=k*+(j[s+(e<<1)>>1]|0)+l;n[r+(m<<2)>>2]=u;a=a+4|0}while((a|0)<=(q|0));v=o;do{n[r+(v<<2)>>2]=k*+(j[s+(v<<1)>>1]|0)+l;v=v+1|0}while((v|0)!=(d|0));if(!t)break;else{r=r+(b<<2)|0;s=s+(i<<1)|0;t=t+-1|0}}return}function uT(a,b,c,e,g,h,i,j){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0.0,m=0,o=0,q=0,r=0,s=0,t=0,u=0.0,v=0;e=f[i>>2]|0;c=f[i+4>>2]|0;k=+p[j>>3];l=+p[j+8>>3];j=b>>>1;b=h>>>2;h=c+-1|0;if(!c)return;if((e|0)<4){if((e|0)>0){m=g;o=a;q=h}else return;while(1){c=0;do{n[m+(c<<2)>>2]=k*+(d[o+(c<<1)>>1]|0)+l;c=c+1|0}while((c|0)!=(e|0));if(!q)break;else{m=m+(b<<2)|0;o=o+(j<<1)|0;q=q+-1|0}}return}q=e+-4|0;o=(((q|0)>3?q:3)&2147483644)+4|0;if((o|0)<(e|0)){r=g;s=a;t=h}else{m=g;g=a;a=h;while(1){h=0;do{c=h|1;u=k*+(d[g+(c<<1)>>1]|0)+l;n[m+(h<<2)>>2]=k*+(d[g+(h<<1)>>1]|0)+l;n[m+(c<<2)>>2]=u;c=h|2;i=h|3;u=k*+(d[g+(i<<1)>>1]|0)+l;n[m+(c<<2)>>2]=k*+(d[g+(c<<1)>>1]|0)+l;n[m+(i<<2)>>2]=u;h=h+4|0}while((h|0)<=(q|0));if(!a)break;else{m=m+(b<<2)|0;g=g+(j<<1)|0;a=a+-1|0}}return}while(1){a=0;do{g=a|1;u=k*+(d[s+(g<<1)>>1]|0)+l;n[r+(a<<2)>>2]=k*+(d[s+(a<<1)>>1]|0)+l;n[r+(g<<2)>>2]=u;g=a|2;m=a|3;u=k*+(d[s+(m<<1)>>1]|0)+l;n[r+(g<<2)>>2]=k*+(d[s+(g<<1)>>1]|0)+l;n[r+(m<<2)>>2]=u;a=a+4|0}while((a|0)<=(q|0));v=o;do{n[r+(v<<2)>>2]=k*+(d[s+(v<<1)>>1]|0)+l;v=v+1|0}while((v|0)!=(e|0));if(!t)break;else{r=r+(b<<2)|0;s=s+(j<<1)|0;t=t+-1|0}}return}function vT(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0.0,k=0.0,l=0,m=0,o=0,q=0,r=0,s=0.0;d=f[h>>2]|0;c=f[h+4>>2]|0;j=+p[i>>3];k=+p[i+8>>3];i=b>>>2;b=g>>>2;if(!c)return;g=d+-4|0;h=(((g|0)>3?g:3)&2147483644)+4|0;if((d|0)<4){l=(d|0)>0;m=e;o=a;q=c;while(1){q=q+-1|0;if(l){r=0;do{n[m+(r<<2)>>2]=k+j*+(f[o+(r<<2)>>2]|0);r=r+1|0}while((r|0)!=(d|0))}if(!q)break;else{m=m+(b<<2)|0;o=o+(i<<2)|0}}return}o=(h|0)<(d|0);m=e;e=a;a=c;while(1){c=0;do{q=c|1;s=k+j*+(f[e+(q<<2)>>2]|0);n[m+(c<<2)>>2]=k+j*+(f[e+(c<<2)>>2]|0);n[m+(q<<2)>>2]=s;q=c|2;l=c|3;s=k+j*+(f[e+(l<<2)>>2]|0);n[m+(q<<2)>>2]=k+j*+(f[e+(q<<2)>>2]|0);n[m+(l<<2)>>2]=s;c=c+4|0}while((c|0)<=(g|0));a=a+-1|0;if(o){c=h;do{n[m+(c<<2)>>2]=k+j*+(f[e+(c<<2)>>2]|0);c=c+1|0}while((c|0)!=(d|0))}if(!a)break;else{m=m+(b<<2)|0;e=e+(i<<2)|0}}return}function wT(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0.0,k=0.0,l=0,m=0,o=0,q=0,r=0,s=0,t=0.0,u=0;d=f[h>>2]|0;c=f[h+4>>2]|0;j=+p[i>>3];k=+p[i+8>>3];i=b>>>2;b=g>>>2;g=c+-1|0;if(!c)return;if((d|0)<4){if((d|0)>0){l=e;m=a;o=g}else return;while(1){c=0;do{n[l+(c<<2)>>2]=+n[m+(c<<2)>>2]*j+k;c=c+1|0}while((c|0)!=(d|0));if(!o)break;else{l=l+(b<<2)|0;m=m+(i<<2)|0;o=o+-1|0}}return}o=d+-4|0;m=(((o|0)>3?o:3)&2147483644)+4|0;if((m|0)<(d|0)){q=e;r=a;s=g}else{l=e;e=a;a=g;while(1){g=0;do{c=g|1;t=+n[e+(c<<2)>>2]*j+k;n[l+(g<<2)>>2]=+n[e+(g<<2)>>2]*j+k;n[l+(c<<2)>>2]=t;c=g|2;h=g|3;t=+n[e+(h<<2)>>2]*j+k;n[l+(c<<2)>>2]=+n[e+(c<<2)>>2]*j+k;n[l+(h<<2)>>2]=t;g=g+4|0}while((g|0)<=(o|0));if(!a)break;else{l=l+(b<<2)|0;e=e+(i<<2)|0;a=a+-1|0}}return}while(1){a=0;do{e=a|1;t=+n[r+(e<<2)>>2]*j+k;n[q+(a<<2)>>2]=+n[r+(a<<2)>>2]*j+k;n[q+(e<<2)>>2]=t;e=a|2;l=a|3;t=+n[r+(l<<2)>>2]*j+k;n[q+(e<<2)>>2]=+n[r+(e<<2)>>2]*j+k;n[q+(l<<2)>>2]=t;a=a+4|0}while((a|0)<=(o|0));u=m;do{n[q+(u<<2)>>2]=+n[r+(u<<2)>>2]*j+k;u=u+1|0}while((u|0)!=(d|0));if(!s)break;else{q=q+(b<<2)|0;r=r+(i<<2)|0;s=s+-1|0}}return}function xT(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0.0,k=0.0,l=0,m=0,o=0,q=0,r=0,s=0,t=0.0,u=0;d=f[h>>2]|0;c=f[h+4>>2]|0;j=+p[i>>3];k=+p[i+8>>3];i=b>>>3;b=g>>>2;g=c+-1|0;if(!c)return;if((d|0)<4){if((d|0)>0){l=e;m=a;o=g}else return;while(1){c=0;do{n[l+(c<<2)>>2]=k+j*+p[m+(c<<3)>>3];c=c+1|0}while((c|0)!=(d|0));if(!o)break;else{l=l+(b<<2)|0;m=m+(i<<3)|0;o=o+-1|0}}return}o=d+-4|0;m=(((o|0)>3?o:3)&2147483644)+4|0;if((m|0)<(d|0)){q=e;r=a;s=g}else{l=e;e=a;a=g;while(1){g=0;do{c=g|1;t=k+j*+p[e+(c<<3)>>3];n[l+(g<<2)>>2]=k+j*+p[e+(g<<3)>>3];n[l+(c<<2)>>2]=t;c=g|2;h=g|3;t=k+j*+p[e+(h<<3)>>3];n[l+(c<<2)>>2]=k+j*+p[e+(c<<3)>>3];n[l+(h<<2)>>2]=t;g=g+4|0}while((g|0)<=(o|0));if(!a)break;else{l=l+(b<<2)|0;e=e+(i<<3)|0;a=a+-1|0}}return}while(1){a=0;do{e=a|1;t=k+j*+p[r+(e<<3)>>3];n[q+(a<<2)>>2]=k+j*+p[r+(a<<3)>>3];n[q+(e<<2)>>2]=t;e=a|2;l=a|3;t=k+j*+p[r+(l<<3)>>3];n[q+(e<<2)>>2]=k+j*+p[r+(e<<3)>>3];n[q+(l<<2)>>2]=t;a=a+4|0}while((a|0)<=(o|0));u=m;do{n[q+(u<<2)>>2]=k+j*+p[r+(u<<3)>>3];u=u+1|0}while((u|0)!=(d|0));if(!s)break;else{q=q+(b<<2)|0;r=r+(i<<3)|0;s=s+-1|0}}return}function yT(a,b,c,d,e,g,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;var k=0.0,l=0.0,m=0,n=0,o=0,q=0,r=0.0;d=f[i>>2]|0;c=f[i+4>>2]|0;k=+p[j>>3];l=+p[j+8>>3];j=g>>>3;if(!c)return;g=d+-4|0;if((d|0)<4){i=(d|0)>0;m=e;n=a;o=c;while(1){o=o+-1|0;if(i){q=0;do{p[m+(q<<3)>>3]=l+k*+(h[n+q>>0]|0);q=q+1|0}while((q|0)!=(d|0))}if(!o)break;else{m=m+(j<<3)|0;n=n+b|0}}return}n=d&-4;m=(n|0)<(d|0);o=e;e=a;a=c;while(1){c=0;do{i=c|1;r=l+k*+(h[e+i>>0]|0);p[o+(c<<3)>>3]=l+k*+(h[e+c>>0]|0);p[o+(i<<3)>>3]=r;i=c|2;q=c|3;r=l+k*+(h[e+q>>0]|0);p[o+(i<<3)>>3]=l+k*+(h[e+i>>0]|0);p[o+(q<<3)>>3]=r;c=c+4|0}while((c|0)<=(g|0));a=a+-1|0;if(m){c=n;do{p[o+(c<<3)>>3]=l+k*+(h[e+c>>0]|0);c=c+1|0}while((c|0)!=(d|0))}if(!a)break;else{o=o+(j<<3)|0;e=e+b|0}}return}function zT(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0.0,m=0,n=0,o=0,q=0,r=0.0;e=f[i>>2]|0;d=f[i+4>>2]|0;k=+p[j>>3];l=+p[j+8>>3];j=h>>>3;if(!d)return;h=e+-4|0;if((e|0)<4){i=(e|0)>0;m=g;n=a;o=d;while(1){o=o+-1|0;if(i){q=0;do{p[m+(q<<3)>>3]=l+k*+(b[n+q>>0]|0);q=q+1|0}while((q|0)!=(e|0))}if(!o)break;else{m=m+(j<<3)|0;n=n+c|0}}return}n=e&-4;m=(n|0)<(e|0);o=g;g=a;a=d;while(1){d=0;do{i=d|1;r=l+k*+(b[g+i>>0]|0);p[o+(d<<3)>>3]=l+k*+(b[g+d>>0]|0);p[o+(i<<3)>>3]=r;i=d|2;q=d|3;r=l+k*+(b[g+q>>0]|0);p[o+(i<<3)>>3]=l+k*+(b[g+i>>0]|0);p[o+(q<<3)>>3]=r;d=d+4|0}while((d|0)<=(h|0));a=a+-1|0;if(m){d=n;do{p[o+(d<<3)>>3]=l+k*+(b[g+d>>0]|0);d=d+1|0}while((d|0)!=(e|0))}if(!a)break;else{o=o+(j<<3)|0;g=g+c|0}}return}function AT(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var k=0.0,l=0.0,m=0,n=0,o=0,q=0,r=0,s=0,t=0.0,u=0;d=f[h>>2]|0;c=f[h+4>>2]|0;k=+p[i>>3];l=+p[i+8>>3];i=b>>>1;b=g>>>3;g=c+-1|0;if(!c)return;if((d|0)<4){if((d|0)>0){m=e;n=a;o=g}else return;while(1){c=0;do{p[m+(c<<3)>>3]=l+k*+(j[n+(c<<1)>>1]|0);c=c+1|0}while((c|0)!=(d|0));if(!o)break;else{m=m+(b<<3)|0;n=n+(i<<1)|0;o=o+-1|0}}return}o=d+-4|0;n=(((o|0)>3?o:3)&2147483644)+4|0;if((n|0)<(d|0)){q=e;r=a;s=g}else{m=e;e=a;a=g;while(1){g=0;do{c=g|1;t=l+k*+(j[e+(c<<1)>>1]|0);p[m+(g<<3)>>3]=l+k*+(j[e+(g<<1)>>1]|0);p[m+(c<<3)>>3]=t;c=g|2;h=g|3;t=l+k*+(j[e+(h<<1)>>1]|0);p[m+(c<<3)>>3]=l+k*+(j[e+(c<<1)>>1]|0);p[m+(h<<3)>>3]=t;g=g+4|0}while((g|0)<=(o|0));if(!a)break;else{m=m+(b<<3)|0;e=e+(i<<1)|0;a=a+-1|0}}return}while(1){a=0;do{e=a|1;t=l+k*+(j[r+(e<<1)>>1]|0);p[q+(a<<3)>>3]=l+k*+(j[r+(a<<1)>>1]|0);p[q+(e<<3)>>3]=t;e=a|2;m=a|3;t=l+k*+(j[r+(m<<1)>>1]|0);p[q+(e<<3)>>3]=l+k*+(j[r+(e<<1)>>1]|0);p[q+(m<<3)>>3]=t;a=a+4|0}while((a|0)<=(o|0));u=n;do{p[q+(u<<3)>>3]=l+k*+(j[r+(u<<1)>>1]|0);u=u+1|0}while((u|0)!=(d|0));if(!s)break;else{q=q+(b<<3)|0;r=r+(i<<1)|0;s=s+-1|0}}return}function BT(a,b,c,e,g,h,i,j){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0.0,m=0,n=0,o=0,q=0,r=0,s=0,t=0.0,u=0;e=f[i>>2]|0;c=f[i+4>>2]|0;k=+p[j>>3];l=+p[j+8>>3];j=b>>>1;b=h>>>3;h=c+-1|0;if(!c)return;if((e|0)<4){if((e|0)>0){m=g;n=a;o=h}else return;while(1){c=0;do{p[m+(c<<3)>>3]=l+k*+(d[n+(c<<1)>>1]|0);c=c+1|0}while((c|0)!=(e|0));if(!o)break;else{m=m+(b<<3)|0;n=n+(j<<1)|0;o=o+-1|0}}return}o=e+-4|0;n=(((o|0)>3?o:3)&2147483644)+4|0;if((n|0)<(e|0)){q=g;r=a;s=h}else{m=g;g=a;a=h;while(1){h=0;do{c=h|1;t=l+k*+(d[g+(c<<1)>>1]|0);p[m+(h<<3)>>3]=l+k*+(d[g+(h<<1)>>1]|0);p[m+(c<<3)>>3]=t;c=h|2;i=h|3;t=l+k*+(d[g+(i<<1)>>1]|0);p[m+(c<<3)>>3]=l+k*+(d[g+(c<<1)>>1]|0);p[m+(i<<3)>>3]=t;h=h+4|0}while((h|0)<=(o|0));if(!a)break;else{m=m+(b<<3)|0;g=g+(j<<1)|0;a=a+-1|0}}return}while(1){a=0;do{g=a|1;t=l+k*+(d[r+(g<<1)>>1]|0);p[q+(a<<3)>>3]=l+k*+(d[r+(a<<1)>>1]|0);p[q+(g<<3)>>3]=t;g=a|2;m=a|3;t=l+k*+(d[r+(m<<1)>>1]|0);p[q+(g<<3)>>3]=l+k*+(d[r+(g<<1)>>1]|0);p[q+(m<<3)>>3]=t;a=a+4|0}while((a|0)<=(o|0));u=n;do{p[q+(u<<3)>>3]=l+k*+(d[r+(u<<1)>>1]|0);u=u+1|0}while((u|0)!=(e|0));if(!s)break;else{q=q+(b<<3)|0;r=r+(j<<1)|0;s=s+-1|0}}return}function CT(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0.0,k=0.0,l=0,m=0,n=0,o=0,q=0,r=0.0;d=f[h>>2]|0;c=f[h+4>>2]|0;j=+p[i>>3];k=+p[i+8>>3];i=b>>>2;b=g>>>3;if(!c)return;g=d+-4|0;h=(((g|0)>3?g:3)&2147483644)+4|0;if((d|0)<4){l=(d|0)>0;m=e;n=a;o=c;while(1){o=o+-1|0;if(l){q=0;do{p[m+(q<<3)>>3]=k+j*+(f[n+(q<<2)>>2]|0);q=q+1|0}while((q|0)!=(d|0))}if(!o)break;else{m=m+(b<<3)|0;n=n+(i<<2)|0}}return}n=(h|0)<(d|0);m=e;e=a;a=c;while(1){c=0;do{o=c|1;r=k+j*+(f[e+(o<<2)>>2]|0);p[m+(c<<3)>>3]=k+j*+(f[e+(c<<2)>>2]|0);p[m+(o<<3)>>3]=r;o=c|2;l=c|3;r=k+j*+(f[e+(l<<2)>>2]|0);p[m+(o<<3)>>3]=k+j*+(f[e+(o<<2)>>2]|0);p[m+(l<<3)>>3]=r;c=c+4|0}while((c|0)<=(g|0));a=a+-1|0;if(n){c=h;do{p[m+(c<<3)>>3]=k+j*+(f[e+(c<<2)>>2]|0);c=c+1|0}while((c|0)!=(d|0))}if(!a)break;else{m=m+(b<<3)|0;e=e+(i<<2)|0}}return}function DT(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0.0,k=0.0,l=0,m=0,o=0,q=0,r=0,s=0,t=0.0,u=0;d=f[h>>2]|0;c=f[h+4>>2]|0;j=+p[i>>3];k=+p[i+8>>3];i=b>>>2;b=g>>>3;g=c+-1|0;if(!c)return;if((d|0)<4){if((d|0)>0){l=e;m=a;o=g}else return;while(1){c=0;do{p[l+(c<<3)>>3]=k+j*+n[m+(c<<2)>>2];c=c+1|0}while((c|0)!=(d|0));if(!o)break;else{l=l+(b<<3)|0;m=m+(i<<2)|0;o=o+-1|0}}return}o=d+-4|0;m=(((o|0)>3?o:3)&2147483644)+4|0;if((m|0)<(d|0)){q=e;r=a;s=g}else{l=e;e=a;a=g;while(1){g=0;do{c=g|1;t=k+j*+n[e+(c<<2)>>2];p[l+(g<<3)>>3]=k+j*+n[e+(g<<2)>>2];p[l+(c<<3)>>3]=t;c=g|2;h=g|3;t=k+j*+n[e+(h<<2)>>2];p[l+(c<<3)>>3]=k+j*+n[e+(c<<2)>>2];p[l+(h<<3)>>3]=t;g=g+4|0}while((g|0)<=(o|0));if(!a)break;else{l=l+(b<<3)|0;e=e+(i<<2)|0;a=a+-1|0}}return}while(1){a=0;do{e=a|1;t=k+j*+n[r+(e<<2)>>2];p[q+(a<<3)>>3]=k+j*+n[r+(a<<2)>>2];p[q+(e<<3)>>3]=t;e=a|2;l=a|3;t=k+j*+n[r+(l<<2)>>2];p[q+(e<<3)>>3]=k+j*+n[r+(e<<2)>>2];p[q+(l<<3)>>3]=t;a=a+4|0}while((a|0)<=(o|0));u=m;do{p[q+(u<<3)>>3]=k+j*+n[r+(u<<2)>>2];u=u+1|0}while((u|0)!=(d|0));if(!s)break;else{q=q+(b<<3)|0;r=r+(i<<2)|0;s=s+-1|0}}return}function ET(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0.0,k=0.0,l=0,m=0,n=0,o=0,q=0,r=0,s=0.0,t=0;d=f[h>>2]|0;c=f[h+4>>2]|0;j=+p[i>>3];k=+p[i+8>>3];i=b>>>3;b=g>>>3;g=c+-1|0;if(!c)return;if((d|0)<4){if((d|0)>0){l=e;m=a;n=g}else return;while(1){c=0;do{p[l+(c<<3)>>3]=k+j*+p[m+(c<<3)>>3];c=c+1|0}while((c|0)!=(d|0));if(!n)break;else{l=l+(b<<3)|0;m=m+(i<<3)|0;n=n+-1|0}}return}n=d+-4|0;m=(((n|0)>3?n:3)&2147483644)+4|0;if((m|0)<(d|0)){o=e;q=a;r=g}else{l=e;e=a;a=g;while(1){g=0;do{c=g|1;s=k+j*+p[e+(c<<3)>>3];p[l+(g<<3)>>3]=k+j*+p[e+(g<<3)>>3];p[l+(c<<3)>>3]=s;c=g|2;h=g|3;s=k+j*+p[e+(h<<3)>>3];p[l+(c<<3)>>3]=k+j*+p[e+(c<<3)>>3];p[l+(h<<3)>>3]=s;g=g+4|0}while((g|0)<=(n|0));if(!a)break;else{l=l+(b<<3)|0;e=e+(i<<3)|0;a=a+-1|0}}return}while(1){a=0;do{e=a|1;s=k+j*+p[q+(e<<3)>>3];p[o+(a<<3)>>3]=k+j*+p[q+(a<<3)>>3];p[o+(e<<3)>>3]=s;e=a|2;l=a|3;s=k+j*+p[q+(l<<3)>>3];p[o+(e<<3)>>3]=k+j*+p[q+(e<<3)>>3];p[o+(l<<3)>>3]=s;a=a+4|0}while((a|0)<=(n|0));t=m;do{p[o+(t<<3)>>3]=k+j*+p[q+(t<<3)>>3];t=t+1|0}while((t|0)!=(d|0));if(!r)break;else{o=o+(b<<3)|0;q=q+(i<<3)|0;r=r+-1|0}}return}function FT(a,c,d,e){a=a|0;c=c|0;d=+d;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;g=u;u=u+208|0;h=g+200|0;i=g+144|0;j=g;k=g+88|0;l=g+72|0;m=g+64|0;n=g+56|0;o=g+24|0;q=g+16|0;yV(h,40588);do if((HJ(a)|0)==65536){r=f[a+4>>2]|0;f[i>>2]=f[r>>2];s=i+4|0;t=r+4|0;f[s>>2]=f[t>>2];v=i+8|0;f[v>>2]=f[r+8>>2];f[i+12>>2]=f[r+12>>2];f[i+16>>2]=f[r+16>>2];f[i+20>>2]=f[r+20>>2];f[i+24>>2]=f[r+24>>2];f[i+28>>2]=f[r+28>>2];f[i+32>>2]=f[r+32>>2];w=f[r+36>>2]|0;f[i+36>>2]=w;x=i+40|0;f[x>>2]=v;v=i+48|0;y=i+44|0;f[y>>2]=v;f[v>>2]=0;f[i+52>>2]=0;if(w|0){v=w+12|0;f[v>>2]=(f[v>>2]|0)+1}if((f[t>>2]|0)<3){t=f[r+44>>2]|0;v=f[y>>2]|0;f[v>>2]=f[t>>2];f[v+4>>2]=f[t+4>>2];z=s;A=x;B=i;break}else{f[s>>2]=0;WO(i,r);z=s;A=x;B=i;break}}else{DJ(i,a,-1);z=i+4|0;A=i+40|0;B=i}while(0);a=((f[B>>2]|0)>>>3&511)+1|0;p[j>>3]=d;p[j+8>>3]=e;$J(c,f[z>>2]|0,f[A>>2]|0,(a<<3)+-8|0,-1,0,0);do if((HJ(c)|0)==65536){x=f[c+4>>2]|0;f[k>>2]=f[x>>2];s=k+4|0;r=x+4|0;f[s>>2]=f[r>>2];t=k+8|0;f[t>>2]=f[x+8>>2];f[k+12>>2]=f[x+12>>2];f[k+16>>2]=f[x+16>>2];f[k+20>>2]=f[x+20>>2];f[k+24>>2]=f[x+24>>2];f[k+28>>2]=f[x+28>>2];f[k+32>>2]=f[x+32>>2];v=f[x+36>>2]|0;f[k+36>>2]=v;f[k+40>>2]=t;t=k+48|0;y=k+44|0;f[y>>2]=t;f[t>>2]=0;f[k+52>>2]=0;if(v|0){t=v+12|0;f[t>>2]=(f[t>>2]|0)+1}if((f[r>>2]|0)<3){r=f[x+44>>2]|0;t=f[y>>2]|0;f[t>>2]=f[r>>2];f[t+4>>2]=f[r+4>>2];break}else{f[s>>2]=0;WO(k,x);break}}else DJ(k,c,-1);while(0);c=f[B>>2]&7;x=f[40608+(c<<2)>>2]|0;if((c|0)==7){f[l>>2]=0;f[l+4>>2]=0;c=JV(l,9)|0;s=196746;r=c+9|0;do{b[c>>0]=b[s>>0]|0;c=c+1|0;s=s+1|0}while((c|0)<(r|0));EP(-215,l,172217,172233,1768);KV(l)}if((f[z>>2]|0)<3){s=f[B>>2]|0;B=f[k>>2]|0;c=f[i+12>>2]|0;r=f[i+8>>2]|0;t=wVa(c|0,((c|0)<0)<<31>>31|0,a|0,0)|0;y=wVa(t|0,I|0,r|0,((r|0)<0)<<31>>31|0)|0;if((s&16384&B|0)!=0?(y|0)==(y|0)&(I|0)==(((y|0)<0)<<31>>31|0):0){C=1;D=y}else{C=r;D=X(c,a)|0}c=f[i+16>>2]|0;r=f[i+48>>2]|0;y=f[k+16>>2]|0;B=f[k+48>>2]|0;f[m>>2]=D;f[m+4>>2]=C;qi[x&255](c,r,0,0,y,B,m,j)}else{f[l>>2]=i;f[l+4>>2]=k;f[l+8>>2]=0;FN(o,l,n,-1);l=X(f[o+20>>2]|0,a)|0;a=o+16|0;m=n+4|0;B=q+4|0;y=0;while(1){if(y>>>0>=(f[a>>2]|0)>>>0)break;r=f[n>>2]|0;c=f[m>>2]|0;f[q>>2]=l;f[B>>2]=1;qi[x&255](r,0,0,0,c,0,q,j);GN(o)|0;y=y+1|0}}y=k+36|0;o=f[y>>2]|0;if(o|0?(j=o+12|0,o=f[j>>2]|0,f[j>>2]=o+-1,(o|0)==1):0)XO(k);f[y>>2]=0;y=k+16|0;o=k+4|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;if((f[o>>2]|0)>0){y=f[k+40>>2]|0;j=0;do{f[y+(j<<2)>>2]=0;j=j+1|0}while((j|0)<(f[o>>2]|0))}o=f[k+44>>2]|0;if((o|0)!=(k+48|0))dX(o);o=i+36|0;k=f[o>>2]|0;if(k|0?(j=k+12|0,k=f[j>>2]|0,f[j>>2]=k+-1,(k|0)==1):0)XO(i);f[o>>2]=0;o=i+16|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;if((f[z>>2]|0)>0){o=f[A>>2]|0;A=0;do{f[o+(A<<2)>>2]=0;A=A+1|0}while((A|0)<(f[z>>2]|0))}z=f[i+44>>2]|0;if((z|0)!=(i+48|0))dX(z);if(!(f[h+4>>2]|0)){u=g;return}u=g;return}function GT(a,c,d,e,g,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0.0,m=0.0,n=0,o=0,q=0,r=0,s=0,t=0;e=f[j>>2]|0;d=f[j+4>>2]|0;l=+p[k>>3];m=+p[k+8>>3];if(!d)return;k=e+-4|0;if((e|0)<4){j=(e|0)>0;n=g;o=a;q=d;while(1){q=q+-1|0;if(j){r=0;do{s=HEa(+K(+(l*+(h[o+r>>0]|0)+m)))|0;b[n+r>>0]=s>>>0<256?s:(s|0)>0?255:0;r=r+1|0}while((r|0)!=(e|0))}if(!q)break;else{n=n+i|0;o=o+c|0}}return}o=e&-4;n=(o|0)<(e|0);q=g;g=a;a=d;while(1){d=0;do{j=HEa(+K(+(l*+(h[g+d>>0]|0)+m)))|0;r=d|1;s=HEa(+K(+(l*+(h[g+r>>0]|0)+m)))|0;b[q+d>>0]=j>>>0<256?j:(j|0)>0?255:0;b[q+r>>0]=s>>>0<256?s:(s|0)>0?255:0;s=d|2;r=HEa(+K(+(l*+(h[g+s>>0]|0)+m)))|0;j=d|3;t=HEa(+K(+(l*+(h[g+j>>0]|0)+m)))|0;b[q+s>>0]=r>>>0<256?r:(r|0)>0?255:0;b[q+j>>0]=t>>>0<256?t:(t|0)>0?255:0;d=d+4|0}while((d|0)<=(k|0));a=a+-1|0;if(n){d=o;do{t=HEa(+K(+(l*+(h[g+d>>0]|0)+m)))|0;b[q+d>>0]=t>>>0<256?t:(t|0)>0?255:0;d=d+1|0}while((d|0)!=(e|0))}if(!a)break;else{q=q+i|0;g=g+c|0}}return}function HT(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0.0,m=0,n=0,o=0,q=0,r=0,s=0;e=f[i>>2]|0;d=f[i+4>>2]|0;k=+p[j>>3];l=+p[j+8>>3];if(!d)return;j=e+-4|0;if((e|0)<4){i=(e|0)>0;m=g;n=a;o=d;while(1){o=o+-1|0;if(i){q=0;do{r=HEa(+K(+(k*+(b[n+q>>0]|0)+l)))|0;b[m+q>>0]=r>>>0<256?r:(r|0)>0?255:0;q=q+1|0}while((q|0)!=(e|0))}if(!o)break;else{m=m+h|0;n=n+c|0}}return}n=e&-4;m=(n|0)<(e|0);o=g;g=a;a=d;while(1){d=0;do{i=HEa(+K(+(k*+(b[g+d>>0]|0)+l)))|0;q=d|1;r=HEa(+K(+(k*+(b[g+q>>0]|0)+l)))|0;b[o+d>>0]=i>>>0<256?i:(i|0)>0?255:0;b[o+q>>0]=r>>>0<256?r:(r|0)>0?255:0;r=d|2;q=HEa(+K(+(k*+(b[g+r>>0]|0)+l)))|0;i=d|3;s=HEa(+K(+(k*+(b[g+i>>0]|0)+l)))|0;b[o+r>>0]=q>>>0<256?q:(q|0)>0?255:0;b[o+i>>0]=s>>>0<256?s:(s|0)>0?255:0;d=d+4|0}while((d|0)<=(j|0));a=a+-1|0;if(m){d=n;do{s=HEa(+K(+(k*+(b[g+d>>0]|0)+l)))|0;b[o+d>>0]=s>>>0<256?s:(s|0)>0?255:0;d=d+1|0}while((d|0)!=(e|0))}if(!a)break;else{o=o+h|0;g=g+c|0}}return}function IT(a,c,d,e,g,h,i,k){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;k=k|0;var l=0.0,m=0.0,n=0,o=0,q=0,r=0,s=0,t=0;e=f[i>>2]|0;d=f[i+4>>2]|0;l=+p[k>>3];m=+p[k+8>>3];k=c>>>1;if(!d)return;c=e+-4|0;if((e|0)<4){i=(e|0)>0;n=g;o=a;q=d;while(1){q=q+-1|0;if(i){r=0;do{s=HEa(+K(+(l*+(j[o+(r<<1)>>1]|0)+m)))|0;b[n+r>>0]=s>>>0<256?s:(s|0)>0?255:0;r=r+1|0}while((r|0)!=(e|0))}if(!q)break;else{n=n+h|0;o=o+(k<<1)|0}}return}o=e&-4;n=(o|0)<(e|0);q=g;g=a;a=d;while(1){d=0;do{i=HEa(+K(+(l*+(j[g+(d<<1)>>1]|0)+m)))|0;r=d|1;s=HEa(+K(+(l*+(j[g+(r<<1)>>1]|0)+m)))|0;b[q+d>>0]=i>>>0<256?i:(i|0)>0?255:0;b[q+r>>0]=s>>>0<256?s:(s|0)>0?255:0;s=d|2;r=HEa(+K(+(l*+(j[g+(s<<1)>>1]|0)+m)))|0;i=d|3;t=HEa(+K(+(l*+(j[g+(i<<1)>>1]|0)+m)))|0;b[q+s>>0]=r>>>0<256?r:(r|0)>0?255:0;b[q+i>>0]=t>>>0<256?t:(t|0)>0?255:0;d=d+4|0}while((d|0)<=(c|0));a=a+-1|0;if(n){d=o;do{t=HEa(+K(+(l*+(j[g+(d<<1)>>1]|0)+m)))|0;b[q+d>>0]=t>>>0<256?t:(t|0)>0?255:0;d=d+1|0}while((d|0)!=(e|0))}if(!a)break;else{q=q+h|0;g=g+(k<<1)|0}}return}function JT(a,c,e,g,h,i,j,k){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0.0,m=0.0,n=0,o=0,q=0,r=0,s=0,t=0;g=f[j>>2]|0;e=f[j+4>>2]|0;l=+p[k>>3];m=+p[k+8>>3];k=c>>>1;if(!e)return;c=g+-4|0;if((g|0)<4){j=(g|0)>0;n=h;o=a;q=e;while(1){q=q+-1|0;if(j){r=0;do{s=HEa(+K(+(l*+(d[o+(r<<1)>>1]|0)+m)))|0;b[n+r>>0]=s>>>0<256?s:(s|0)>0?255:0;r=r+1|0}while((r|0)!=(g|0))}if(!q)break;else{n=n+i|0;o=o+(k<<1)|0}}return}o=g&-4;n=(o|0)<(g|0);q=h;h=a;a=e;while(1){e=0;do{j=HEa(+K(+(l*+(d[h+(e<<1)>>1]|0)+m)))|0;r=e|1;s=HEa(+K(+(l*+(d[h+(r<<1)>>1]|0)+m)))|0;b[q+e>>0]=j>>>0<256?j:(j|0)>0?255:0;b[q+r>>0]=s>>>0<256?s:(s|0)>0?255:0;s=e|2;r=HEa(+K(+(l*+(d[h+(s<<1)>>1]|0)+m)))|0;j=e|3;t=HEa(+K(+(l*+(d[h+(j<<1)>>1]|0)+m)))|0;b[q+s>>0]=r>>>0<256?r:(r|0)>0?255:0;b[q+j>>0]=t>>>0<256?t:(t|0)>0?255:0;e=e+4|0}while((e|0)<=(c|0));a=a+-1|0;if(n){e=o;do{t=HEa(+K(+(l*+(d[h+(e<<1)>>1]|0)+m)))|0;b[q+e>>0]=t>>>0<256?t:(t|0)>0?255:0;e=e+1|0}while((e|0)!=(g|0))}if(!a)break;else{q=q+i|0;h=h+(k<<1)|0}}return}function KT(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0.0,m=0,n=0,o=0,q=0,r=0,s=0;e=f[i>>2]|0;d=f[i+4>>2]|0;k=+p[j>>3];l=+p[j+8>>3];j=c>>>2;if(!d)return;c=e+-4|0;if((e|0)<4){i=(e|0)>0;m=g;n=a;o=d;while(1){o=o+-1|0;if(i){q=0;do{r=HEa(+K(+(k*+(f[n+(q<<2)>>2]|0)+l)))|0;b[m+q>>0]=r>>>0<256?r:(r|0)>0?255:0;q=q+1|0}while((q|0)!=(e|0))}if(!o)break;else{m=m+h|0;n=n+(j<<2)|0}}return}n=e&-4;m=(n|0)<(e|0);o=g;g=a;a=d;while(1){d=0;do{i=HEa(+K(+(k*+(f[g+(d<<2)>>2]|0)+l)))|0;q=d|1;r=HEa(+K(+(k*+(f[g+(q<<2)>>2]|0)+l)))|0;b[o+d>>0]=i>>>0<256?i:(i|0)>0?255:0;b[o+q>>0]=r>>>0<256?r:(r|0)>0?255:0;r=d|2;q=HEa(+K(+(k*+(f[g+(r<<2)>>2]|0)+l)))|0;i=d|3;s=HEa(+K(+(k*+(f[g+(i<<2)>>2]|0)+l)))|0;b[o+r>>0]=q>>>0<256?q:(q|0)>0?255:0;b[o+i>>0]=s>>>0<256?s:(s|0)>0?255:0;d=d+4|0}while((d|0)<=(c|0));a=a+-1|0;if(m){d=n;do{s=HEa(+K(+(k*+(f[g+(d<<2)>>2]|0)+l)))|0;b[o+d>>0]=s>>>0<256?s:(s|0)>0?255:0;d=d+1|0}while((d|0)!=(e|0))}if(!a)break;else{o=o+h|0;g=g+(j<<2)|0}}return}function LT(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0.0,m=0,o=0,q=0,r=0,s=0,t=0;e=f[i>>2]|0;d=f[i+4>>2]|0;k=+p[j>>3];l=+p[j+8>>3];j=c>>>2;if(!d)return;c=e+-4|0;if((e|0)<4){i=(e|0)>0;m=g;o=a;q=d;while(1){q=q+-1|0;if(i){r=0;do{s=HEa(+K(+(+n[o+(r<<2)>>2]*k+l)))|0;b[m+r>>0]=s>>>0<256?s:(s|0)>0?255:0;r=r+1|0}while((r|0)!=(e|0))}if(!q)break;else{m=m+h|0;o=o+(j<<2)|0}}return}o=e&-4;m=(o|0)<(e|0);q=g;g=a;a=d;while(1){d=0;do{i=HEa(+K(+(+n[g+(d<<2)>>2]*k+l)))|0;r=d|1;s=HEa(+K(+(+n[g+(r<<2)>>2]*k+l)))|0;b[q+d>>0]=i>>>0<256?i:(i|0)>0?255:0;b[q+r>>0]=s>>>0<256?s:(s|0)>0?255:0;s=d|2;r=HEa(+K(+(+n[g+(s<<2)>>2]*k+l)))|0;i=d|3;t=HEa(+K(+(+n[g+(i<<2)>>2]*k+l)))|0;b[q+s>>0]=r>>>0<256?r:(r|0)>0?255:0;b[q+i>>0]=t>>>0<256?t:(t|0)>0?255:0;d=d+4|0}while((d|0)<=(c|0));a=a+-1|0;if(m){d=o;do{t=HEa(+K(+(+n[g+(d<<2)>>2]*k+l)))|0;b[q+d>>0]=t>>>0<256?t:(t|0)>0?255:0;d=d+1|0}while((d|0)!=(e|0))}if(!a)break;else{q=q+h|0;g=g+(j<<2)|0}}return}function MT(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0.0,m=0,n=0,o=0,q=0,r=0,s=0;e=f[i>>2]|0;d=f[i+4>>2]|0;i=c>>>3;if(!d)return;k=+p[j>>3];l=+p[j+8>>3];j=e+-4|0;if((e|0)<4){c=(e|0)>0;m=g;n=a;o=d;while(1){o=o+-1|0;if(c){q=0;do{r=AEa(+K(+(+p[n+(q<<3)>>3]*k+l)))|0;b[m+q>>0]=r>>>0<256?r:(r|0)>0?255:0;q=q+1|0}while((q|0)!=(e|0))}if(!o)break;else{m=m+h|0;n=n+(i<<3)|0}}return}n=e&-4;m=(n|0)<(e|0);o=g;g=a;a=d;while(1){d=0;do{c=AEa(+K(+(+p[g+(d<<3)>>3]*k+l)))|0;q=d|1;r=AEa(+K(+(+p[g+(q<<3)>>3]*k+l)))|0;b[o+d>>0]=c>>>0<256?c:(c|0)>0?255:0;b[o+q>>0]=r>>>0<256?r:(r|0)>0?255:0;r=d|2;q=AEa(+K(+(+p[g+(r<<3)>>3]*k+l)))|0;c=d|3;s=AEa(+K(+(+p[g+(c<<3)>>3]*k+l)))|0;b[o+r>>0]=q>>>0<256?q:(q|0)>0?255:0;b[o+c>>0]=s>>>0<256?s:(s|0)>0?255:0;d=d+4|0}while((d|0)<=(j|0));a=a+-1|0;if(m){d=n;do{s=AEa(+K(+(+p[g+(d<<3)>>3]*k+l)))|0;b[o+d>>0]=s>>>0<256?s:(s|0)>0?255:0;d=d+1|0}while((d|0)!=(e|0))}if(!a)break;else{o=o+h|0;g=g+(i<<3)|0}}return}function NT(a,c,d,e,g,h,i){a=a|0;c=c|0;d=+d;e=+e;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;j=u;u=u+144|0;k=j+128|0;l=j+56|0;m=j;n=j+112|0;yV(k,40640);switch(g|0){case 32:{p[l>>3]=0.0;p[m>>3]=0.0;o=d>e?e:d;qP(a,l,m,0,0,i);q=+p[l>>3];r=+p[m>>3]-q;s=((d2.220446049250313e-16?1.0/r:0.0);t=s;v=o-q*s;break}case 1:case 2:case 4:{s=+IK(a,g,i);t=s>2.220446049250313e-16?d/s:0.0;v=0.0;break}default:{f[l>>2]=0;f[l+4>>2]=0;w=JV(l,29)|0;g=172369;x=w+29|0;do{b[w>>0]=b[g>>0]|0;w=w+1|0;g=g+1|0}while((w|0)<(x|0));EP(-5,l,172399,172233,1903);KV(l);t=1.0;v=0.0}}g=(GJ(a,-1)|0)&7;if((h|0)<0)if(uK(c)|0)y=TJ(c,-1)|0;else y=g;else y=h;do if((HJ(a)|0)==65536){h=f[a+4>>2]|0;f[l>>2]=f[h>>2];g=l+4|0;z=h+4|0;f[g>>2]=f[z>>2];A=l+8|0;f[A>>2]=f[h+8>>2];f[l+12>>2]=f[h+12>>2];f[l+16>>2]=f[h+16>>2];f[l+20>>2]=f[h+20>>2];f[l+24>>2]=f[h+24>>2];f[l+28>>2]=f[h+28>>2];f[l+32>>2]=f[h+32>>2];B=f[h+36>>2]|0;f[l+36>>2]=B;f[l+40>>2]=A;A=l+48|0;C=l+44|0;f[C>>2]=A;f[A>>2]=0;f[l+52>>2]=0;if(B|0){A=B+12|0;f[A>>2]=(f[A>>2]|0)+1}if((f[z>>2]|0)<3){z=f[h+44>>2]|0;A=f[C>>2]|0;f[A>>2]=f[z>>2];f[A+4>>2]=f[z+4>>2];break}else{f[g>>2]=0;WO(l,h);break}}else DJ(l,a,-1);while(0);if(!(VJ(i)|0)){f[m>>2]=1124007936;a=m+4|0;h=m+8|0;g=m+40|0;w=a;x=w+36|0;do{f[w>>2]=0;w=w+4|0}while((w|0)<(x|0));f[g>>2]=h;h=m+48|0;w=m+44|0;f[w>>2]=h;f[h>>2]=0;f[m+52>>2]=0;x=n+8|0;f[x>>2]=0;f[x+4>>2]=0;f[n>>2]=33619968;f[n+4>>2]=m;AO(l,n,y,t,v);fM(m,c,i);i=m+36|0;n=f[i>>2]|0;if(n|0?(x=n+12|0,n=f[x>>2]|0,f[x>>2]=n+-1,(n|0)==1):0)XO(m);f[i>>2]=0;i=m+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[a>>2]|0)>0){i=f[g>>2]|0;g=0;do{f[i+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[a>>2]|0))}a=f[w>>2]|0;if((a|0)!=(h|0))dX(a)}else AO(l,c,y,t,v);y=l+36|0;c=f[y>>2]|0;if(c|0?(a=c+12|0,c=f[a>>2]|0,f[a>>2]=c+-1,(c|0)==1):0)XO(l);f[y>>2]=0;y=l+16|0;c=l+4|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;if((f[c>>2]|0)>0){y=f[l+40>>2]|0;a=0;do{f[y+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[c>>2]|0))}c=f[l+44>>2]|0;if((c|0)!=(l+48|0))dX(c);if(!(f[k+4>>2]|0)){u=j;return}u=j;return}function OT(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,o=0.0,p=0.0,q=0.0;g=u;u=u+16|0;h=g;yV(h,40660);i=e?1.0:.01745329238474369;if((d|0)>0){e=0;do{j=+n[a+(e<<2)>>2];k=+n[b+(e<<2)>>2];l=+K(+k);m=+K(+j);if(!(l>=m)){o=l/(m+2.220446049250313e-16);p=o*o;q=90.0-o*(p*(p*(8.914000511169434-p*2.539724588394165)+-18.66744613647461)+57.283626556396484)}else{p=m/(l+2.220446049250313e-16);l=p*p;q=p*(l*(l*(8.914000511169434-l*2.539724588394165)+-18.66744613647461)+57.283626556396484)}l=k<0.0?180.0-q:q;n[c+(e<<2)>>2]=i*(j<0.0?360.0-l:l);e=e+1|0}while((e|0)!=(d|0))}if(!(f[h+4>>2]|0)){u=g;return}u=g;return}function PT(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,q=0.0;g=u;u=u+16|0;h=g;yV(h,40680);i=e?1.0:.017453292519943295;if((d|0)>0){e=0;do{j=+p[a+(e<<3)>>3];k=+p[b+(e<<3)>>3];l=+K(+k);m=+K(+j);if(!(l>=m)){n=l/(m+2.220446049250313e-16);o=n*n;q=90.0-n*(o*(o*(8.914000511169434-o*2.539724588394165)+-18.66744613647461)+57.283626556396484)}else{o=m/(l+2.220446049250313e-16);l=o*o;q=o*(l*(l*(8.914000511169434-l*2.539724588394165)+-18.66744613647461)+57.283626556396484)}l=k<0.0?180.0-q:q;p[c+(e<<3)>>3]=i*(j<0.0?360.0-l:l);e=e+1|0}while((e|0)!=(d|0))}if(!(f[h+4>>2]|0)){u=g;return}u=g;return} +function K3(a,b,c,e,g,i,j,k,l,m,n){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;if((e|0)<=0)return;a=l*3|0;o=l<<1;p=l<<2;q=0-(k<<3)|0;r=X(l,-3)|0;s=X(l,-2)|0;t=l<<1;u=l<<2;v=0;w=i;while(1){i=f[b+(v<<2)>>2]|0;x=f[c+(v<<2)>>2]|0;y=m;z=0;A=w;a:while(1){if((y|0)>(z|0)){B=y-z<<3;C=z;D=A;while(1){E=f[g+(C<<2)>>2]|0;F=r+E|0;if(F>>>0>>0)G=F;else{H=F;while(1)if((H|0)<0)H=H+l|0;else{I=H;break}while(1)if((I|0)<(j|0)){G=I;break}else I=I-l|0}H=X(d[D>>1]|0,h[i+G>>0]|0)|0;F=s+E|0;if(F>>>0>>0)J=F;else{K=F;while(1)if((K|0)<0)K=K+l|0;else{L=K;break}while(1)if((L|0)<(j|0)){J=L;break}else L=L-l|0}K=(X(d[D+2>>1]|0,h[i+J>>0]|0)|0)+H|0;F=E-l|0;if(F>>>0>>0)M=F;else{N=F;while(1)if((N|0)<0)N=N+l|0;else{O=N;break}while(1)if((O|0)<(j|0)){M=O;break}else O=O-l|0}N=(X(d[D+4>>1]|0,h[i+M>>0]|0)|0)+K|0;if(E>>>0>>0)P=E;else{H=E;while(1)if((H|0)<0)H=H+l|0;else{Q=H;break}while(1)if((Q|0)<(j|0)){P=Q;break}else Q=Q-l|0}H=(X(d[D+6>>1]|0,h[i+P>>0]|0)|0)+N|0;K=E+l|0;if(K>>>0>>0)R=K;else{F=K;while(1)if((F|0)<0)F=F+l|0;else{S=F;break}while(1)if((S|0)<(j|0)){R=S;break}else S=S-l|0}F=(X(d[D+8>>1]|0,h[i+R>>0]|0)|0)+H|0;N=t+E|0;if(N>>>0>>0)T=N;else{K=N;while(1)if((K|0)<0)K=K+l|0;else{U=K;break}while(1)if((U|0)<(j|0)){T=U;break}else U=U-l|0}K=(X(d[D+10>>1]|0,h[i+T>>0]|0)|0)+F|0;H=a+E|0;if(H>>>0>>0)V=H;else{N=H;while(1)if((N|0)<0)N=N+l|0;else{W=N;break}while(1)if((W|0)<(j|0)){V=W;break}else W=W-l|0}N=(X(d[D+12>>1]|0,h[i+V>>0]|0)|0)+K|0;F=u+E|0;if(F>>>0>>0)Y=F;else{H=F;while(1)if((H|0)<0)H=H+l|0;else{Z=H;break}while(1)if((Z|0)<(j|0)){Y=Z;break}else Z=Z-l|0}H=(X(d[D+14>>1]|0,h[i+Y>>0]|0)|0)+N|0;f[x+(C<<2)>>2]=H;C=C+1|0;if((C|0)==(y|0))break;else D=D+16|0}_=y;$=A+(B<<1)|0}else{_=z;$=A}if((y|0)==(k|0))break;if((_|0)<(n|0)){aa=_;ba=$}else{y=k;z=_;A=$;continue}while(1){D=f[g+(aa<<2)>>2]|0;C=X(d[ba>>1]|0,h[i+(D-a)>>0]|0)|0;H=(X(d[ba+2>>1]|0,h[i+(D-o)>>0]|0)|0)+C|0;C=H+(X(d[ba+4>>1]|0,h[i+(D-l)>>0]|0)|0)|0;H=C+(X(d[ba+6>>1]|0,h[i+D>>0]|0)|0)|0;C=H+(X(d[ba+8>>1]|0,h[i+(D+l)>>0]|0)|0)|0;H=C+(X(d[ba+10>>1]|0,h[i+(D+o)>>0]|0)|0)|0;C=H+(X(d[ba+12>>1]|0,h[i+(D+a)>>0]|0)|0)|0;H=C+(X(d[ba+14>>1]|0,h[i+(D+p)>>0]|0)|0)|0;f[x+(aa<<2)>>2]=H;H=aa+1|0;D=ba+16|0;if((H|0)<(n|0)){aa=H;ba=D}else{y=k;z=n;A=D;continue a}}}v=v+1|0;if((v|0)==(e|0))break;else w=$+(q<<1)|0}return}function L3(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;a=h+-4|0;if((h|0)<4)i=0;else{j=g+2|0;k=c+4|0;l=g+4|0;m=c+8|0;n=g+6|0;o=c+12|0;p=g+8|0;q=c+16|0;r=g+10|0;s=c+20|0;t=g+12|0;u=c+24|0;v=g+14|0;w=c+28|0;x=0;do{y=d[g>>1]|0;z=f[c>>2]|0;A=X(f[z+(x<<2)>>2]|0,y)|0;B=x|1;C=X(f[z+(B<<2)>>2]|0,y)|0;D=x|2;E=X(f[z+(D<<2)>>2]|0,y)|0;F=x|3;G=X(f[z+(F<<2)>>2]|0,y)|0;y=d[j>>1]|0;z=f[k>>2]|0;H=(X(f[z+(x<<2)>>2]|0,y)|0)+A|0;A=(X(f[z+(B<<2)>>2]|0,y)|0)+C|0;C=(X(f[z+(D<<2)>>2]|0,y)|0)+E|0;E=(X(f[z+(F<<2)>>2]|0,y)|0)+G|0;G=d[l>>1]|0;y=f[m>>2]|0;z=(X(f[y+(x<<2)>>2]|0,G)|0)+H|0;H=(X(f[y+(B<<2)>>2]|0,G)|0)+A|0;A=(X(f[y+(D<<2)>>2]|0,G)|0)+C|0;C=(X(f[y+(F<<2)>>2]|0,G)|0)+E|0;E=d[n>>1]|0;G=f[o>>2]|0;y=(X(f[G+(x<<2)>>2]|0,E)|0)+z|0;z=(X(f[G+(B<<2)>>2]|0,E)|0)+H|0;H=(X(f[G+(D<<2)>>2]|0,E)|0)+A|0;A=(X(f[G+(F<<2)>>2]|0,E)|0)+C|0;C=d[p>>1]|0;E=f[q>>2]|0;G=(X(f[E+(x<<2)>>2]|0,C)|0)+y|0;y=(X(f[E+(B<<2)>>2]|0,C)|0)+z|0;z=(X(f[E+(D<<2)>>2]|0,C)|0)+H|0;H=(X(f[E+(F<<2)>>2]|0,C)|0)+A|0;A=d[r>>1]|0;C=f[s>>2]|0;E=(X(f[C+(x<<2)>>2]|0,A)|0)+G|0;G=(X(f[C+(B<<2)>>2]|0,A)|0)+y|0;y=(X(f[C+(D<<2)>>2]|0,A)|0)+z|0;z=(X(f[C+(F<<2)>>2]|0,A)|0)+H|0;H=d[t>>1]|0;A=f[u>>2]|0;C=(X(f[A+(x<<2)>>2]|0,H)|0)+E|0;E=(X(f[A+(B<<2)>>2]|0,H)|0)+G|0;G=(X(f[A+(D<<2)>>2]|0,H)|0)+y|0;y=(X(f[A+(F<<2)>>2]|0,H)|0)+z|0;z=d[v>>1]|0;H=f[w>>2]|0;A=(X(f[H+(x<<2)>>2]|0,z)|0)+C|0;C=(X(f[H+(B<<2)>>2]|0,z)|0)+E|0;E=(X(f[H+(D<<2)>>2]|0,z)|0)+G|0;G=(X(f[H+(F<<2)>>2]|0,z)|0)+y|0;y=A+2097152>>22;b[e+x>>0]=y>>>0<256?y:(y|0)>0?255:0;y=C+2097152>>22;b[e+B>>0]=y>>>0<256?y:(y|0)>0?255:0;y=E+2097152>>22;b[e+D>>0]=y>>>0<256?y:(y|0)>0?255:0;y=G+2097152>>22;b[e+F>>0]=y>>>0<256?y:(y|0)>0?255:0;x=x+4|0}while((x|0)<=(a|0));i=h&-4}if((i|0)>=(h|0))return;a=c+4|0;x=g+2|0;w=c+8|0;v=g+4|0;u=c+12|0;t=g+6|0;s=c+16|0;r=g+8|0;q=c+20|0;p=g+10|0;o=c+24|0;n=g+12|0;m=c+28|0;l=g+14|0;k=i;do{i=X(f[(f[c>>2]|0)+(k<<2)>>2]|0,d[g>>1]|0)|0;j=X(f[(f[a>>2]|0)+(k<<2)>>2]|0,d[x>>1]|0)|0;y=X(f[(f[w>>2]|0)+(k<<2)>>2]|0,d[v>>1]|0)|0;F=X(f[(f[u>>2]|0)+(k<<2)>>2]|0,d[t>>1]|0)|0;G=X(f[(f[s>>2]|0)+(k<<2)>>2]|0,d[r>>1]|0)|0;D=X(f[(f[q>>2]|0)+(k<<2)>>2]|0,d[p>>1]|0)|0;E=X(f[(f[o>>2]|0)+(k<<2)>>2]|0,d[n>>1]|0)|0;B=i+2097152+j+y+F+G+D+E+(X(f[(f[m>>2]|0)+(k<<2)>>2]|0,d[l>>1]|0)|0)>>22;b[e+k>>0]=B>>>0<256?B:(B|0)>0?255:0;k=k+1|0}while((k|0)!=(h|0));return}function M3(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0;i=u;u=u+48|0;j=i+32|0;k=i;l=f[b+8>>2]|0;f[j>>2]=0;f[j+4>>2]=l;f[k>>2]=45920;f[k+4>>2]=a;f[k+8>>2]=b;f[k+12>>2]=c;f[k+20>>2]=d;f[k+16>>2]=e;f[k+24>>2]=g;f[k+28>>2]=h;h=f[b+4>>2]|0;if((h|0)<3){m=X(f[b+12>>2]|0,l)|0;n=+(m>>>0);o=n*.0000152587890625;$Z(j,k,o);u=i;return}l=f[b+40>>2]|0;b=0;g=1;while(1){e=X(f[l+(b<<2)>>2]|0,g)|0;b=b+1|0;if((b|0)==(h|0)){m=e;break}else g=e}n=+(m>>>0);o=n*.0000152587890625;$Z(j,k,o);u=i;return}function N3(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0;i=u;u=u+48|0;j=i+32|0;k=i;l=f[b+8>>2]|0;f[j>>2]=0;f[j+4>>2]=l;f[k>>2]=45900;f[k+4>>2]=a;f[k+8>>2]=b;f[k+12>>2]=c;f[k+20>>2]=d;f[k+16>>2]=e;f[k+24>>2]=g;f[k+28>>2]=h;h=f[b+4>>2]|0;if((h|0)<3){m=X(f[b+12>>2]|0,l)|0;n=+(m>>>0);o=n*.0000152587890625;$Z(j,k,o);u=i;return}l=f[b+40>>2]|0;b=0;g=1;while(1){e=X(f[l+(b<<2)>>2]|0,g)|0;b=b+1|0;if((b|0)==(h|0)){m=e;break}else g=e}n=+(m>>>0);o=n*.0000152587890625;$Z(j,k,o);u=i;return}function O3(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0;i=u;u=u+48|0;j=i+32|0;k=i;l=f[b+8>>2]|0;f[j>>2]=0;f[j+4>>2]=l;f[k>>2]=45880;f[k+4>>2]=a;f[k+8>>2]=b;f[k+12>>2]=c;f[k+20>>2]=d;f[k+16>>2]=e;f[k+24>>2]=g;f[k+28>>2]=h;h=f[b+4>>2]|0;if((h|0)<3){m=X(f[b+12>>2]|0,l)|0;n=+(m>>>0);o=n*.0000152587890625;$Z(j,k,o);u=i;return}l=f[b+40>>2]|0;b=0;g=1;while(1){e=X(f[l+(b<<2)>>2]|0,g)|0;b=b+1|0;if((b|0)==(h|0)){m=e;break}else g=e}n=+(m>>>0);o=n*.0000152587890625;$Z(j,k,o);u=i;return}function P3(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0;i=u;u=u+48|0;j=i+32|0;k=i;l=f[b+8>>2]|0;f[j>>2]=0;f[j+4>>2]=l;f[k>>2]=45860;f[k+4>>2]=a;f[k+8>>2]=b;f[k+12>>2]=c;f[k+20>>2]=d;f[k+16>>2]=e;f[k+24>>2]=g;f[k+28>>2]=h;h=f[b+4>>2]|0;if((h|0)<3){m=X(f[b+12>>2]|0,l)|0;n=+(m>>>0);o=n*.0000152587890625;$Z(j,k,o);u=i;return}l=f[b+40>>2]|0;b=0;g=1;while(1){e=X(f[l+(b<<2)>>2]|0,g)|0;b=b+1|0;if((b|0)==(h|0)){m=e;break}else g=e}n=+(m>>>0);o=n*.0000152587890625;$Z(j,k,o);u=i;return}function Q3(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0;i=u;u=u+48|0;j=i+32|0;k=i;l=f[b+8>>2]|0;f[j>>2]=0;f[j+4>>2]=l;f[k>>2]=45840;f[k+4>>2]=a;f[k+8>>2]=b;f[k+12>>2]=c;f[k+20>>2]=d;f[k+16>>2]=e;f[k+24>>2]=g;f[k+28>>2]=h;h=f[b+4>>2]|0;if((h|0)<3){m=X(f[b+12>>2]|0,l)|0;n=+(m>>>0);o=n*.0000152587890625;$Z(j,k,o);u=i;return}l=f[b+40>>2]|0;b=0;g=1;while(1){e=X(f[l+(b<<2)>>2]|0,g)|0;b=b+1|0;if((b|0)==(h|0)){m=e;break}else g=e}n=+(m>>>0);o=n*.0000152587890625;$Z(j,k,o);u=i;return}function R3(a){a=a|0;GQa(a);return}function S3(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0,N=0,O=0.0,P=0,Q=0.0,R=0,S=0;c=u;u=u+1104|0;d=c;e=f[a+8>>2]|0;g=(f[e>>2]|0)>>>3;h=(g&511)+1|0;i=X(h,f[(f[e+40>>2]|0)+4>>2]|0)|0;j=i<<1;k=d+8|0;f[d>>2]=k;l=d+4|0;f[l>>2]=j;if(j>>>0>136){m=FQa(j>>>0>536870911?-1:j<<3)|0;f[d>>2]=m;o=m}else o=k;m=f[a+12>>2]|0;j=f[a+20>>2]|0;q=o+(i<<3)|0;r=f[a+28>>2]|0;s=f[r+(f[b>>2]<<2)>>2]|0;t=f[r+(f[b+4>>2]<<2)>>2]|0;b=f[a+16>>2]|0;r=f[b+(s*12|0)+4>>2]|0;v=(i|0)>0;if(v)FVa(q|0,0,i<<3|0)|0;a:do if((s|0)<(t|0)){w=f[a+4>>2]|0;x=f[w+16>>2]|0;y=f[f[w+44>>2]>>2]|0;w=g&65535;z=(j|0)>0;A=i<<3;B=e+16|0;C=e+44|0;D=r;E=s;while(1){F=+n[b+(E*12|0)+8>>2];G=f[b+(E*12|0)+4>>2]|0;H=x+(X(y,f[b+(E*12|0)>>2]|0)|0)|0;if(v)FVa(o|0,0,A|0)|0;switch(w&511){case 0:{if(z){I=0;do{J=o+(f[m+(I*12|0)+4>>2]<<3)|0;p[J>>3]=+p[J>>3]+ +p[H+(f[m+(I*12|0)>>2]<<3)>>3]*+n[m+(I*12|0)+8>>2];I=I+1|0}while((I|0)!=(j|0))}break}case 1:{if(z){I=0;do{J=f[m+(I*12|0)>>2]|0;K=f[m+(I*12|0)+4>>2]|0;L=+n[m+(I*12|0)+8>>2];M=o+(K<<3)|0;N=o+(K+1<<3)|0;O=+p[N>>3]+ +p[H+(J+1<<3)>>3]*L;p[M>>3]=+p[M>>3]+ +p[H+(J<<3)>>3]*L;p[N>>3]=O;I=I+1|0}while((I|0)!=(j|0))}break}case 2:{if(z){I=0;do{N=f[m+(I*12|0)>>2]|0;J=f[m+(I*12|0)+4>>2]|0;O=+n[m+(I*12|0)+8>>2];M=o+(J<<3)|0;K=o+(J+1<<3)|0;L=+p[K>>3]+ +p[H+(N+1<<3)>>3]*O;P=o+(J+2<<3)|0;Q=+p[P>>3]+ +p[H+(N+2<<3)>>3]*O;p[M>>3]=+p[M>>3]+ +p[H+(N<<3)>>3]*O;p[K>>3]=L;p[P>>3]=Q;I=I+1|0}while((I|0)!=(j|0))}break}case 3:{if(z){I=0;do{P=f[m+(I*12|0)>>2]|0;K=f[m+(I*12|0)+4>>2]|0;Q=+n[m+(I*12|0)+8>>2];N=o+(K<<3)|0;M=o+(K+1<<3)|0;L=+p[M>>3]+ +p[H+(P+1<<3)>>3]*Q;p[N>>3]=+p[N>>3]+ +p[H+(P<<3)>>3]*Q;p[M>>3]=L;M=o+(K+2<<3)|0;N=o+(K+3<<3)|0;L=+p[N>>3]+ +p[H+(P+3<<3)>>3]*Q;p[M>>3]=+p[M>>3]+ +p[H+(P+2<<3)>>3]*Q;p[N>>3]=L;I=I+1|0}while((I|0)!=(j|0))}break}default:if(z){I=0;do{N=f[m+(I*12|0)>>2]|0;P=f[m+(I*12|0)+4>>2]|0;L=+n[m+(I*12|0)+8>>2];M=0;do{K=o+(M+P<<3)|0;p[K>>3]=+p[K>>3]+ +p[H+(M+N<<3)>>3]*L;M=M+1|0}while((M|0)!=(h|0));I=I+1|0}while((I|0)!=(j|0))}}if((G|0)==(D|0))if(v){I=0;do{H=q+(I<<3)|0;p[H>>3]=+p[H>>3]+ +p[o+(I<<3)>>3]*F;I=I+1|0}while((I|0)!=(i|0));R=D}else R=D;else{I=(f[B>>2]|0)+(X(f[f[C>>2]>>2]|0,D)|0)|0;if(v){H=0;do{M=q+(H<<3)|0;p[I+(H<<3)>>3]=+p[M>>3];p[M>>3]=+p[o+(H<<3)>>3]*F;H=H+1|0}while((H|0)!=(i|0));R=G}else R=G}E=E+1|0;if((E|0)==(t|0)){S=R;break a}else D=R}}else S=r;while(0);r=(f[e+16>>2]|0)+(X(f[f[e+44>>2]>>2]|0,S)|0)|0;if(v){v=0;do{p[r+(v<<3)>>3]=+p[q+(v<<3)>>3];v=v+1|0}while((v|0)!=(i|0))}i=f[d>>2]|0;if((i|0)==(k|0)){u=c;return}if(i|0)HQa(i);f[d>>2]=k;f[l>>2]=136;u=c;return}function T3(a){a=a|0;GQa(a);return}function U3(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0,M=0,N=0.0,O=0,P=0.0,Q=0,R=0;c=u;u=u+1072|0;d=c;e=f[a+8>>2]|0;g=(f[e>>2]|0)>>>3;h=(g&511)+1|0;i=X(h,f[(f[e+40>>2]|0)+4>>2]|0)|0;j=i<<1;k=d+8|0;f[d>>2]=k;l=d+4|0;f[l>>2]=j;if(j>>>0>264){m=FQa(j>>>0>1073741823?-1:j<<2)|0;f[d>>2]=m;o=m}else o=k;m=f[a+12>>2]|0;j=f[a+20>>2]|0;p=o+(i<<2)|0;q=f[a+28>>2]|0;r=f[q+(f[b>>2]<<2)>>2]|0;s=f[q+(f[b+4>>2]<<2)>>2]|0;b=f[a+16>>2]|0;q=f[b+(r*12|0)+4>>2]|0;t=(i|0)>0;if(t)FVa(p|0,0,i<<2|0)|0;a:do if((r|0)<(s|0)){v=f[a+4>>2]|0;w=f[v+16>>2]|0;x=f[f[v+44>>2]>>2]|0;v=g&65535;y=(j|0)>0;z=i<<2;A=e+16|0;B=e+44|0;C=q;D=r;while(1){E=+n[b+(D*12|0)+8>>2];F=f[b+(D*12|0)+4>>2]|0;G=w+(X(x,f[b+(D*12|0)>>2]|0)|0)|0;if(t)FVa(o|0,0,z|0)|0;switch(v&511){case 0:{if(y){H=0;do{I=o+(f[m+(H*12|0)+4>>2]<<2)|0;n[I>>2]=+n[I>>2]+ +n[m+(H*12|0)+8>>2]*+n[G+(f[m+(H*12|0)>>2]<<2)>>2];H=H+1|0}while((H|0)!=(j|0))}break}case 1:{if(y){H=0;do{I=f[m+(H*12|0)>>2]|0;J=f[m+(H*12|0)+4>>2]|0;K=+n[m+(H*12|0)+8>>2];L=o+(J<<2)|0;M=o+(J+1<<2)|0;N=+n[M>>2]+K*+n[G+(I+1<<2)>>2];n[L>>2]=+n[L>>2]+K*+n[G+(I<<2)>>2];n[M>>2]=N;H=H+1|0}while((H|0)!=(j|0))}break}case 2:{if(y){H=0;do{M=f[m+(H*12|0)>>2]|0;I=f[m+(H*12|0)+4>>2]|0;N=+n[m+(H*12|0)+8>>2];L=o+(I<<2)|0;J=o+(I+1<<2)|0;K=+n[J>>2]+N*+n[G+(M+1<<2)>>2];O=o+(I+2<<2)|0;P=+n[O>>2]+N*+n[G+(M+2<<2)>>2];n[L>>2]=+n[L>>2]+N*+n[G+(M<<2)>>2];n[J>>2]=K;n[O>>2]=P;H=H+1|0}while((H|0)!=(j|0))}break}case 3:{if(y){H=0;do{O=f[m+(H*12|0)>>2]|0;J=f[m+(H*12|0)+4>>2]|0;P=+n[m+(H*12|0)+8>>2];M=o+(J<<2)|0;L=o+(J+1<<2)|0;K=+n[L>>2]+P*+n[G+(O+1<<2)>>2];n[M>>2]=+n[M>>2]+P*+n[G+(O<<2)>>2];n[L>>2]=K;L=o+(J+2<<2)|0;M=o+(J+3<<2)|0;K=+n[M>>2]+P*+n[G+(O+3<<2)>>2];n[L>>2]=+n[L>>2]+P*+n[G+(O+2<<2)>>2];n[M>>2]=K;H=H+1|0}while((H|0)!=(j|0))}break}default:if(y){H=0;do{M=f[m+(H*12|0)>>2]|0;O=f[m+(H*12|0)+4>>2]|0;K=+n[m+(H*12|0)+8>>2];L=0;do{J=o+(L+O<<2)|0;n[J>>2]=+n[J>>2]+K*+n[G+(L+M<<2)>>2];L=L+1|0}while((L|0)!=(h|0));H=H+1|0}while((H|0)!=(j|0))}}if((F|0)==(C|0))if(t){H=0;do{G=p+(H<<2)|0;n[G>>2]=+n[G>>2]+E*+n[o+(H<<2)>>2];H=H+1|0}while((H|0)!=(i|0));Q=C}else Q=C;else{H=(f[A>>2]|0)+(X(f[f[B>>2]>>2]|0,C)|0)|0;if(t){G=0;do{L=p+(G<<2)|0;f[H+(G<<2)>>2]=f[L>>2];n[L>>2]=E*+n[o+(G<<2)>>2];G=G+1|0}while((G|0)!=(i|0));Q=F}else Q=F}D=D+1|0;if((D|0)==(s|0)){R=Q;break a}else C=Q}}else R=q;while(0);q=(f[e+16>>2]|0)+(X(f[f[e+44>>2]>>2]|0,R)|0)|0;if(t){t=0;do{f[q+(t<<2)>>2]=f[p+(t<<2)>>2];t=t+1|0}while((t|0)!=(i|0))}i=f[d>>2]|0;if((i|0)==(k|0)){u=c;return}if(i|0)HQa(i);f[d>>2]=k;f[l>>2]=264;u=c;return}function V3(a){a=a|0;GQa(a);return}function W3(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0,N=0,O=0.0,P=0,Q=0.0,R=0,S=0;c=u;u=u+1072|0;e=c;g=f[a+8>>2]|0;h=(f[g>>2]|0)>>>3;i=(h&511)+1|0;j=X(i,f[(f[g+40>>2]|0)+4>>2]|0)|0;k=j<<1;l=e+8|0;f[e>>2]=l;m=e+4|0;f[m>>2]=k;if(k>>>0>264){o=FQa(k>>>0>1073741823?-1:k<<2)|0;f[e>>2]=o;p=o}else p=l;o=f[a+12>>2]|0;k=f[a+20>>2]|0;q=p+(j<<2)|0;r=f[a+28>>2]|0;s=f[r+(f[b>>2]<<2)>>2]|0;t=f[r+(f[b+4>>2]<<2)>>2]|0;b=f[a+16>>2]|0;r=f[b+(s*12|0)+4>>2]|0;v=(j|0)>0;if(v)FVa(q|0,0,j<<2|0)|0;a:do if((s|0)<(t|0)){w=f[a+4>>2]|0;x=f[w+16>>2]|0;y=f[f[w+44>>2]>>2]|0;w=h&65535;z=(k|0)>0;A=j<<2;B=g+16|0;C=g+44|0;D=s;E=r;while(1){F=+n[b+(D*12|0)+8>>2];G=f[b+(D*12|0)+4>>2]|0;H=x+(X(y,f[b+(D*12|0)>>2]|0)|0)|0;if(v)FVa(p|0,0,A|0)|0;switch(w&511){case 0:{if(z){I=0;do{J=p+(f[o+(I*12|0)+4>>2]<<2)|0;n[J>>2]=+n[J>>2]+ +n[o+(I*12|0)+8>>2]*+(d[H+(f[o+(I*12|0)>>2]<<1)>>1]|0);I=I+1|0}while((I|0)!=(k|0))}break}case 1:{if(z){I=0;do{J=f[o+(I*12|0)>>2]|0;K=f[o+(I*12|0)+4>>2]|0;L=+n[o+(I*12|0)+8>>2];M=p+(K<<2)|0;N=p+(K+1<<2)|0;O=+n[N>>2]+L*+(d[H+(J+1<<1)>>1]|0);n[M>>2]=+n[M>>2]+L*+(d[H+(J<<1)>>1]|0);n[N>>2]=O;I=I+1|0}while((I|0)!=(k|0))}break}case 2:{if(z){I=0;do{N=f[o+(I*12|0)>>2]|0;J=f[o+(I*12|0)+4>>2]|0;O=+n[o+(I*12|0)+8>>2];M=p+(J<<2)|0;K=p+(J+1<<2)|0;L=+n[K>>2]+O*+(d[H+(N+1<<1)>>1]|0);P=p+(J+2<<2)|0;Q=+n[P>>2]+O*+(d[H+(N+2<<1)>>1]|0);n[M>>2]=+n[M>>2]+O*+(d[H+(N<<1)>>1]|0);n[K>>2]=L;n[P>>2]=Q;I=I+1|0}while((I|0)!=(k|0))}break}case 3:{if(z){I=0;do{P=f[o+(I*12|0)>>2]|0;K=f[o+(I*12|0)+4>>2]|0;Q=+n[o+(I*12|0)+8>>2];N=p+(K<<2)|0;M=p+(K+1<<2)|0;L=+n[M>>2]+Q*+(d[H+(P+1<<1)>>1]|0);n[N>>2]=+n[N>>2]+Q*+(d[H+(P<<1)>>1]|0);n[M>>2]=L;M=p+(K+2<<2)|0;N=p+(K+3<<2)|0;L=+n[N>>2]+Q*+(d[H+(P+3<<1)>>1]|0);n[M>>2]=+n[M>>2]+Q*+(d[H+(P+2<<1)>>1]|0);n[N>>2]=L;I=I+1|0}while((I|0)!=(k|0))}break}default:if(z){I=0;do{N=f[o+(I*12|0)>>2]|0;P=f[o+(I*12|0)+4>>2]|0;L=+n[o+(I*12|0)+8>>2];M=0;do{K=p+(M+P<<2)|0;n[K>>2]=+n[K>>2]+L*+(d[H+(M+N<<1)>>1]|0);M=M+1|0}while((M|0)!=(i|0));I=I+1|0}while((I|0)!=(k|0))}}if((G|0)==(E|0))if(v){I=0;do{H=q+(I<<2)|0;n[H>>2]=+n[H>>2]+F*+n[p+(I<<2)>>2];I=I+1|0}while((I|0)!=(j|0));R=E}else R=E;else{I=(f[B>>2]|0)+(X(f[f[C>>2]>>2]|0,E)|0)|0;if(v){H=0;do{M=q+(H<<2)|0;N=HEa(+n[M>>2])|0;d[I+(H<<1)>>1]=(N+32768|0)>>>0<65536?N:(N|0)>0?32767:32768;n[M>>2]=F*+n[p+(H<<2)>>2];H=H+1|0}while((H|0)!=(j|0));R=G}else R=G}D=D+1|0;if((D|0)==(t|0)){S=R;break a}else E=R}}else S=r;while(0);r=(f[g+16>>2]|0)+(X(f[f[g+44>>2]>>2]|0,S)|0)|0;if(v){v=0;do{S=HEa(+n[q+(v<<2)>>2])|0;d[r+(v<<1)>>1]=(S+32768|0)>>>0<65536?S:(S|0)>0?32767:32768;v=v+1|0}while((v|0)!=(j|0))}j=f[e>>2]|0;if((j|0)==(l|0)){u=c;return}if(j|0)HQa(j);f[e>>2]=l;f[m>>2]=264;u=c;return}function X3(a){a=a|0;GQa(a);return}function Y3(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0,I=0,J=0,K=0,L=0,M=0.0,N=0,O=0,P=0.0,Q=0,R=0.0,S=0,T=0;c=u;u=u+1072|0;e=c;g=f[a+8>>2]|0;h=(f[g>>2]|0)>>>3;i=(h&511)+1|0;k=X(i,f[(f[g+40>>2]|0)+4>>2]|0)|0;l=k<<1;m=e+8|0;f[e>>2]=m;o=e+4|0;f[o>>2]=l;if(l>>>0>264){p=FQa(l>>>0>1073741823?-1:l<<2)|0;f[e>>2]=p;q=p}else q=m;p=f[a+12>>2]|0;l=f[a+20>>2]|0;r=q+(k<<2)|0;s=f[a+28>>2]|0;t=f[s+(f[b>>2]<<2)>>2]|0;v=f[s+(f[b+4>>2]<<2)>>2]|0;b=f[a+16>>2]|0;s=f[b+(t*12|0)+4>>2]|0;w=(k|0)>0;if(w)FVa(r|0,0,k<<2|0)|0;a:do if((t|0)<(v|0)){x=f[a+4>>2]|0;y=f[x+16>>2]|0;z=f[f[x+44>>2]>>2]|0;x=h&65535;A=(l|0)>0;B=k<<2;C=g+16|0;D=g+44|0;E=t;F=s;while(1){G=+n[b+(E*12|0)+8>>2];H=f[b+(E*12|0)+4>>2]|0;I=y+(X(z,f[b+(E*12|0)>>2]|0)|0)|0;if(w)FVa(q|0,0,B|0)|0;switch(x&511){case 0:{if(A){J=0;do{K=q+(f[p+(J*12|0)+4>>2]<<2)|0;n[K>>2]=+n[K>>2]+ +n[p+(J*12|0)+8>>2]*+(j[I+(f[p+(J*12|0)>>2]<<1)>>1]|0);J=J+1|0}while((J|0)!=(l|0))}break}case 1:{if(A){J=0;do{K=f[p+(J*12|0)>>2]|0;L=f[p+(J*12|0)+4>>2]|0;M=+n[p+(J*12|0)+8>>2];N=q+(L<<2)|0;O=q+(L+1<<2)|0;P=+n[O>>2]+M*+(j[I+(K+1<<1)>>1]|0);n[N>>2]=+n[N>>2]+M*+(j[I+(K<<1)>>1]|0);n[O>>2]=P;J=J+1|0}while((J|0)!=(l|0))}break}case 2:{if(A){J=0;do{O=f[p+(J*12|0)>>2]|0;K=f[p+(J*12|0)+4>>2]|0;P=+n[p+(J*12|0)+8>>2];N=q+(K<<2)|0;L=q+(K+1<<2)|0;M=+n[L>>2]+P*+(j[I+(O+1<<1)>>1]|0);Q=q+(K+2<<2)|0;R=+n[Q>>2]+P*+(j[I+(O+2<<1)>>1]|0);n[N>>2]=+n[N>>2]+P*+(j[I+(O<<1)>>1]|0);n[L>>2]=M;n[Q>>2]=R;J=J+1|0}while((J|0)!=(l|0))}break}case 3:{if(A){J=0;do{Q=f[p+(J*12|0)>>2]|0;L=f[p+(J*12|0)+4>>2]|0;R=+n[p+(J*12|0)+8>>2];O=q+(L<<2)|0;N=q+(L+1<<2)|0;M=+n[N>>2]+R*+(j[I+(Q+1<<1)>>1]|0);n[O>>2]=+n[O>>2]+R*+(j[I+(Q<<1)>>1]|0);n[N>>2]=M;N=q+(L+2<<2)|0;O=q+(L+3<<2)|0;M=+n[O>>2]+R*+(j[I+(Q+3<<1)>>1]|0);n[N>>2]=+n[N>>2]+R*+(j[I+(Q+2<<1)>>1]|0);n[O>>2]=M;J=J+1|0}while((J|0)!=(l|0))}break}default:if(A){J=0;do{O=f[p+(J*12|0)>>2]|0;Q=f[p+(J*12|0)+4>>2]|0;M=+n[p+(J*12|0)+8>>2];N=0;do{L=q+(N+Q<<2)|0;n[L>>2]=+n[L>>2]+M*+(j[I+(N+O<<1)>>1]|0);N=N+1|0}while((N|0)!=(i|0));J=J+1|0}while((J|0)!=(l|0))}}if((H|0)==(F|0))if(w){J=0;do{I=r+(J<<2)|0;n[I>>2]=+n[I>>2]+G*+n[q+(J<<2)>>2];J=J+1|0}while((J|0)!=(k|0));S=F}else S=F;else{J=(f[C>>2]|0)+(X(f[f[D>>2]>>2]|0,F)|0)|0;if(w){I=0;do{N=r+(I<<2)|0;O=HEa(+n[N>>2])|0;d[J+(I<<1)>>1]=O>>>0<65536?O:(O|0)>0?65535:0;n[N>>2]=G*+n[q+(I<<2)>>2];I=I+1|0}while((I|0)!=(k|0));S=H}else S=H}E=E+1|0;if((E|0)==(v|0)){T=S;break a}else F=S}}else T=s;while(0);s=(f[g+16>>2]|0)+(X(f[f[g+44>>2]>>2]|0,T)|0)|0;if(w){w=0;do{T=HEa(+n[r+(w<<2)>>2])|0;d[s+(w<<1)>>1]=T>>>0<65536?T:(T|0)>0?65535:0;w=w+1|0}while((w|0)!=(k|0))}k=f[e>>2]|0;if((k|0)==(m|0)){u=c;return}if(k|0)HQa(k);f[e>>2]=m;f[o>>2]=264;u=c;return}function Z3(a){a=a|0;GQa(a);return}function _3(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0,F=0,G=0,H=0,I=0.0,J=0,K=0,L=0.0,M=0,N=0.0,O=0,P=0,Q=0;d=u;u=u+1072|0;e=d;g=a+8|0;i=f[g>>2]|0;j=(f[i>>2]|0)>>>3;k=(j&511)+1|0;l=X(k,f[(f[i+40>>2]|0)+4>>2]|0)|0;m=l<<1;o=e+8|0;f[e>>2]=o;p=e+4|0;f[p>>2]=m;if(m>>>0>264){q=FQa(m>>>0>1073741823?-1:m<<2)|0;f[e>>2]=q;r=q}else r=o;q=f[a+12>>2]|0;m=f[a+20>>2]|0;s=r+(l<<2)|0;t=f[a+28>>2]|0;v=f[t+(f[c>>2]<<2)>>2]|0;w=f[t+(f[c+4>>2]<<2)>>2]|0;c=a+16|0;t=f[c>>2]|0;x=f[t+(v*12|0)+4>>2]|0;y=(l|0)>0;if(y)FVa(s|0,0,l<<2|0)|0;if((v|0)<(w|0)){z=a+4|0;a=j&65535;j=(m|0)>0;A=l<<2;B=x;C=v;v=t;while(1){D=+n[v+(C*12|0)+8>>2];t=f[v+(C*12|0)+4>>2]|0;E=f[z>>2]|0;F=(f[E+16>>2]|0)+(X(f[f[E+44>>2]>>2]|0,f[v+(C*12|0)>>2]|0)|0)|0;if(y)FVa(r|0,0,A|0)|0;switch(a&511){case 0:{if(j){E=0;do{G=r+(f[q+(E*12|0)+4>>2]<<2)|0;n[G>>2]=+n[G>>2]+ +n[q+(E*12|0)+8>>2]*+(h[F+(f[q+(E*12|0)>>2]|0)>>0]|0);E=E+1|0}while((E|0)!=(m|0))}break}case 1:{if(j){E=0;do{G=f[q+(E*12|0)>>2]|0;H=f[q+(E*12|0)+4>>2]|0;I=+n[q+(E*12|0)+8>>2];J=r+(H<<2)|0;K=r+(H+1<<2)|0;L=+n[K>>2]+I*+(h[F+(G+1)>>0]|0);n[J>>2]=+n[J>>2]+I*+(h[F+G>>0]|0);n[K>>2]=L;E=E+1|0}while((E|0)!=(m|0))}break}case 2:{if(j){E=0;do{K=f[q+(E*12|0)>>2]|0;G=f[q+(E*12|0)+4>>2]|0;L=+n[q+(E*12|0)+8>>2];J=r+(G<<2)|0;H=r+(G+1<<2)|0;I=+n[H>>2]+L*+(h[F+(K+1)>>0]|0);M=r+(G+2<<2)|0;N=+n[M>>2]+L*+(h[F+(K+2)>>0]|0);n[J>>2]=+n[J>>2]+L*+(h[F+K>>0]|0);n[H>>2]=I;n[M>>2]=N;E=E+1|0}while((E|0)!=(m|0))}break}case 3:{if(j){E=0;do{M=f[q+(E*12|0)>>2]|0;H=f[q+(E*12|0)+4>>2]|0;N=+n[q+(E*12|0)+8>>2];K=r+(H<<2)|0;J=r+(H+1<<2)|0;I=+n[J>>2]+N*+(h[F+(M+1)>>0]|0);n[K>>2]=+n[K>>2]+N*+(h[F+M>>0]|0);n[J>>2]=I;J=r+(H+2<<2)|0;K=r+(H+3<<2)|0;I=+n[K>>2]+N*+(h[F+(M+3)>>0]|0);n[J>>2]=+n[J>>2]+N*+(h[F+(M+2)>>0]|0);n[K>>2]=I;E=E+1|0}while((E|0)!=(m|0))}break}default:if(j){E=0;do{K=f[q+(E*12|0)>>2]|0;M=f[q+(E*12|0)+4>>2]|0;I=+n[q+(E*12|0)+8>>2];J=0;do{H=r+(J+M<<2)|0;n[H>>2]=+n[H>>2]+I*+(h[F+(J+K)>>0]|0);J=J+1|0}while((J|0)!=(k|0));E=E+1|0}while((E|0)!=(m|0))}}if((t|0)==(B|0))if(y){E=0;do{F=s+(E<<2)|0;n[F>>2]=+n[F>>2]+D*+n[r+(E<<2)>>2];E=E+1|0}while((E|0)!=(l|0));O=B}else O=B;else{E=f[g>>2]|0;F=(f[E+16>>2]|0)+(X(f[f[E+44>>2]>>2]|0,B)|0)|0;if(y){E=0;do{J=s+(E<<2)|0;K=HEa(+n[J>>2])|0;b[F+E>>0]=K>>>0<256?K:(K|0)>0?255:0;n[J>>2]=D*+n[r+(E<<2)>>2];E=E+1|0}while((E|0)!=(l|0));O=t}else O=t}E=C+1|0;if((E|0)==(w|0))break;B=O;C=E;v=f[c>>2]|0}P=O;Q=f[g>>2]|0}else{P=x;Q=i}i=(f[Q+16>>2]|0)+(X(f[f[Q+44>>2]>>2]|0,P)|0)|0;if(y){y=0;do{P=HEa(+n[s+(y<<2)>>2])|0;b[i+y>>0]=P>>>0<256?P:(P|0)>0?255:0;y=y+1|0}while((y|0)!=(l|0))}l=f[e>>2]|0;if((l|0)==(o|0)){u=d;return}if(l|0)HQa(l);f[e>>2]=o;f[p>>2]=264;u=d;return}function $3(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;h=u;u=u+144|0;i=h+136|0;j=h;k=b+8|0;l=f[k>>2]|0;f[i>>2]=0;f[i+4>>2]=l;w4(j,a,b,e,g,c,d);d=f[b+4>>2]|0;if((d|0)<3)m=X(f[b+12>>2]|0,f[k>>2]|0)|0;else{k=f[b+40>>2]|0;b=0;c=1;while(1){g=X(f[k+(b<<2)>>2]|0,c)|0;b=b+1|0;if((b|0)==(d|0)){m=g;break}else c=g}}$Z(i,j,+(m>>>0)*.0000152587890625);x4(j);u=h;return}function a4(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;h=u;u=u+144|0;i=h+136|0;j=h;k=b+8|0;l=f[k>>2]|0;f[i>>2]=0;f[i+4>>2]=l;r4(j,a,b,e,g,c,d);d=f[b+4>>2]|0;if((d|0)<3)m=X(f[b+12>>2]|0,f[k>>2]|0)|0;else{k=f[b+40>>2]|0;b=0;c=1;while(1){g=X(f[k+(b<<2)>>2]|0,c)|0;b=b+1|0;if((b|0)==(d|0)){m=g;break}else c=g}}$Z(i,j,+(m>>>0)*.0000152587890625);s4(j);u=h;return}function b4(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;h=u;u=u+144|0;i=h+136|0;j=h;k=b+8|0;l=f[k>>2]|0;f[i>>2]=0;f[i+4>>2]=l;m4(j,a,b,e,g,c,d);d=f[b+4>>2]|0;if((d|0)<3)m=X(f[b+12>>2]|0,f[k>>2]|0)|0;else{k=f[b+40>>2]|0;b=0;c=1;while(1){g=X(f[k+(b<<2)>>2]|0,c)|0;b=b+1|0;if((b|0)==(d|0)){m=g;break}else c=g}}$Z(i,j,+(m>>>0)*.0000152587890625);n4(j);u=h;return}function c4(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;h=u;u=u+144|0;i=h+136|0;j=h;k=b+8|0;l=f[k>>2]|0;f[i>>2]=0;f[i+4>>2]=l;i4(j,a,b,e,g,c,d);d=f[b+4>>2]|0;if((d|0)<3)m=X(f[b+12>>2]|0,f[k>>2]|0)|0;else{k=f[b+40>>2]|0;b=0;c=1;while(1){g=X(f[k+(b<<2)>>2]|0,c)|0;b=b+1|0;if((b|0)==(d|0)){m=g;break}else c=g}}$Z(i,j,+(m>>>0)*.0000152587890625);j4(j);u=h;return}function d4(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;h=u;u=u+144|0;i=h+136|0;j=h;k=b+8|0;l=f[k>>2]|0;f[i>>2]=0;f[i+4>>2]=l;e4(j,a,b,e,g,c,d);d=f[b+4>>2]|0;if((d|0)<3)m=X(f[b+12>>2]|0,f[k>>2]|0)|0;else{k=f[b+40>>2]|0;b=0;c=1;while(1){g=X(f[k+(b<<2)>>2]|0,c)|0;b=b+1|0;if((b|0)==(d|0)){m=g;break}else c=g}}$Z(i,j,+(m>>>0)*.0000152587890625);f4(j);u=h;return}function e4(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f[a>>2]=45940;i=a+4|0;f[i>>2]=f[b>>2];j=a+8|0;k=b+4|0;f[j>>2]=f[k>>2];l=a+12|0;f[l>>2]=f[b+8>>2];f[a+16>>2]=f[b+12>>2];f[a+20>>2]=f[b+16>>2];f[a+24>>2]=f[b+20>>2];f[a+28>>2]=f[b+24>>2];f[a+32>>2]=f[b+28>>2];f[a+36>>2]=f[b+32>>2];m=f[b+36>>2]|0;f[a+40>>2]=m;f[a+44>>2]=l;l=a+52|0;n=a+48|0;f[n>>2]=l;f[l>>2]=0;f[a+56>>2]=0;if(m|0){l=m+12|0;f[l>>2]=(f[l>>2]|0)+1}if((f[k>>2]|0)<3){k=f[b+44>>2]|0;l=f[n>>2]|0;f[l>>2]=f[k>>2];f[l+4>>2]=f[k+4>>2]}else{f[j>>2]=0;WO(i,b)}b=a+60|0;f[b>>2]=f[c>>2];i=a+64|0;j=c+4|0;f[i>>2]=f[j>>2];k=a+68|0;f[k>>2]=f[c+8>>2];f[a+72>>2]=f[c+12>>2];f[a+76>>2]=f[c+16>>2];f[a+80>>2]=f[c+20>>2];f[a+84>>2]=f[c+24>>2];f[a+88>>2]=f[c+28>>2];f[a+92>>2]=f[c+32>>2];l=f[c+36>>2]|0;f[a+96>>2]=l;f[a+100>>2]=k;k=a+108|0;n=a+104|0;f[n>>2]=k;f[k>>2]=0;f[a+112>>2]=0;if(l|0){k=l+12|0;f[k>>2]=(f[k>>2]|0)+1}if((f[j>>2]|0)<3){j=f[c+44>>2]|0;k=f[n>>2]|0;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];o=a+116|0;f[o>>2]=d;p=a+120|0;f[p>>2]=e;q=a+124|0;f[q>>2]=g;r=a+128|0;f[r>>2]=h;return}else{f[i>>2]=0;WO(b,c);o=a+116|0;f[o>>2]=d;p=a+120|0;f[p>>2]=e;q=a+124|0;f[q>>2]=g;r=a+128|0;f[r>>2]=h;return}}function f4(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=45940;b=a+60|0;c=a+96|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+76|0;b=a+64|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+100>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+104>>2]|0;if((b|0)!=(a+108|0))dX(b);b=a+4|0;d=a+40|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+20|0;b=a+8|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[a+44>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+48>>2]|0;if((b|0)==(a+52|0))return;dX(b);return}function g4(a){a=a|0;f4(a);GQa(a);return}function h4(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0,O=0,P=0.0,Q=0.0,R=0,S=0.0,T=0.0,U=0,V=0,W=0.0,Y=0,Z=0,_=0,$=0.0,aa=0,ba=0,ca=0.0;c=f[a+44>>2]|0;d=f[c+4>>2]|0;e=f[c>>2]|0;c=((f[a+4>>2]|0)>>>3&511)+1|0;g=a+116|0;h=f[g>>2]|0;i=a+120|0;j=f[i>>2]|0;k=X(j,h)|0;l=X((d|0)/(h|0)|0,c)|0;h=X(c,f[(f[a+100>>2]|0)+4>>2]|0)|0;m=X(c,d)|0;d=f[b>>2]|0;n=f[b+4>>2]|0;if((d|0)>=(n|0))return;b=f[a+76>>2]|0;o=f[a+108>>2]|0;q=a+20|0;r=a+48|0;s=a+128|0;t=k+-4|0;u=(k|0)<4;v=1.0/+(k|0);w=a+124|0;a=(h|0)>0;x=h<<3;y=k&-4;z=(y|0)<(k|0);A=(k|0)>0;C=d;D=0;while(1){E=b+(X(o,d+D|0)|0)|0;F=b+(X(o,C)|0)|0;G=X(j,C)|0;H=(G+j|0)<=(e|0)?l:0;a:do if((G|0)<(e|0)){b:do if((H|0)>0){I=(f[q>>2]|0)+(X(f[f[r>>2]>>2]|0,G)|0)|0;J=f[s>>2]|0;if(u){K=0;while(1){L=I+(f[J+(K<<2)>>2]<<3)|0;if(A){M=f[w>>2]|0;N=0.0;O=0;while(1){P=N+ +p[L+(f[M+(O<<2)>>2]<<3)>>3];O=O+1|0;if((O|0)==(k|0)){Q=P;break}else N=P}}else Q=0.0;p[F+(K<<3)>>3]=Q*v;K=K+1|0;if((K|0)==(H|0)){R=H;break b}}}K=f[w>>2]|0;O=0;do{M=I+(f[J+(O<<2)>>2]<<3)|0;N=0.0;L=0;do{N=N+(+p[M+(f[K+(L<<2)>>2]<<3)>>3]+ +p[M+(f[K+((L|1)<<2)>>2]<<3)>>3]+ +p[M+(f[K+((L|2)<<2)>>2]<<3)>>3]+ +p[M+(f[K+((L|3)<<2)>>2]<<3)>>3]);L=L+4|0}while((L|0)<=(t|0));if(z){P=N;L=y;while(1){S=P+ +p[M+(f[K+(L<<2)>>2]<<3)>>3];L=L+1|0;if((L|0)==(k|0)){T=S;break}else P=S}}else T=N;p[F+(O<<3)>>3]=T*v;O=O+1|0}while((O|0)!=(H|0));R=H}else R=0;while(0);if((R|0)<(h|0)){O=f[s>>2]|0;K=f[i>>2]|0;if((K|0)>0)U=R;else{J=R;while(1){I=F+(J<<3)|0;if((f[O+(J<<2)>>2]|0)>=(m|0))p[I>>3]=0.0;p[I>>3]=B;J=J+1|0;if((J|0)==(h|0))break a}}do{J=f[O+(U<<2)>>2]|0;c:do if((J|0)<(m|0)){I=0;L=0;P=0.0;while(1){M=I+G|0;if((M|0)>=(e|0)){V=L;W=P;break c}Y=(f[q>>2]|0)+(X(f[f[r>>2]>>2]|0,M)|0)+(J<<3)|0;M=X(f[g>>2]|0,c)|0;if((M|0)>0){Z=0;_=L;S=P;while(1){$=S+ +p[Y+(Z<<3)>>3];aa=_+1|0;Z=Z+c|0;if(!((Z+J|0)<(m|0)&(Z|0)<(M|0))){ba=aa;ca=$;break}else{_=aa;S=$}}}else{ba=L;ca=P}I=I+1|0;if((I|0)>=(K|0)){V=ba;W=ca;break}else{L=ba;P=ca}}}else{p[F+(U<<3)>>3]=0.0;V=0;W=0.0}while(0);p[F+(U<<3)>>3]=W/+(V|0);U=U+1|0}while((U|0)!=(h|0))}}else if(a)FVa(E|0,0,x|0)|0;while(0);C=C+1|0;if((C|0)>=(n|0))break;else D=D+1|0}return}function i4(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f[a>>2]=45960;i=a+4|0;f[i>>2]=f[b>>2];j=a+8|0;k=b+4|0;f[j>>2]=f[k>>2];l=a+12|0;f[l>>2]=f[b+8>>2];f[a+16>>2]=f[b+12>>2];f[a+20>>2]=f[b+16>>2];f[a+24>>2]=f[b+20>>2];f[a+28>>2]=f[b+24>>2];f[a+32>>2]=f[b+28>>2];f[a+36>>2]=f[b+32>>2];m=f[b+36>>2]|0;f[a+40>>2]=m;f[a+44>>2]=l;l=a+52|0;n=a+48|0;f[n>>2]=l;f[l>>2]=0;f[a+56>>2]=0;if(m|0){l=m+12|0;f[l>>2]=(f[l>>2]|0)+1}if((f[k>>2]|0)<3){k=f[b+44>>2]|0;l=f[n>>2]|0;f[l>>2]=f[k>>2];f[l+4>>2]=f[k+4>>2]}else{f[j>>2]=0;WO(i,b)}b=a+60|0;f[b>>2]=f[c>>2];i=a+64|0;j=c+4|0;f[i>>2]=f[j>>2];k=a+68|0;f[k>>2]=f[c+8>>2];f[a+72>>2]=f[c+12>>2];f[a+76>>2]=f[c+16>>2];f[a+80>>2]=f[c+20>>2];f[a+84>>2]=f[c+24>>2];f[a+88>>2]=f[c+28>>2];f[a+92>>2]=f[c+32>>2];l=f[c+36>>2]|0;f[a+96>>2]=l;f[a+100>>2]=k;k=a+108|0;n=a+104|0;f[n>>2]=k;f[k>>2]=0;f[a+112>>2]=0;if(l|0){k=l+12|0;f[k>>2]=(f[k>>2]|0)+1}if((f[j>>2]|0)<3){j=f[c+44>>2]|0;k=f[n>>2]|0;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];o=a+116|0;f[o>>2]=d;p=a+120|0;f[p>>2]=e;q=a+124|0;f[q>>2]=g;r=a+128|0;f[r>>2]=h;return}else{f[i>>2]=0;WO(b,c);o=a+116|0;f[o>>2]=d;p=a+120|0;f[p>>2]=e;q=a+124|0;f[q>>2]=g;r=a+128|0;f[r>>2]=h;return}}function j4(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=45960;b=a+60|0;c=a+96|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+76|0;b=a+64|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+100>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+104>>2]|0;if((b|0)!=(a+108|0))dX(b);b=a+4|0;d=a+40|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+20|0;b=a+8|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[a+44>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+48>>2]|0;if((b|0)==(a+52|0))return;dX(b);return}function k4(a){a=a|0;j4(a);GQa(a);return}function l4(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0.0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0,O=0,P=0.0,Q=0.0,R=0,S=0.0,T=0.0,U=0,V=0,W=0.0,Y=0,Z=0,_=0,$=0.0,aa=0,ba=0,ca=0.0;c=f[a+44>>2]|0;d=f[c+4>>2]|0;e=f[c>>2]|0;c=((f[a+4>>2]|0)>>>3&511)+1|0;g=a+116|0;h=f[g>>2]|0;i=a+120|0;j=f[i>>2]|0;k=X(j,h)|0;l=1.0/+(k|0);m=X((d|0)/(h|0)|0,c)|0;h=X(c,f[(f[a+100>>2]|0)+4>>2]|0)|0;o=X(c,d)|0;d=f[b>>2]|0;p=f[b+4>>2]|0;if((d|0)>=(p|0))return;b=f[a+76>>2]|0;q=f[a+108>>2]|0;r=a+20|0;s=a+48|0;t=a+128|0;u=k+-4|0;v=(k|0)<4;w=a+124|0;a=(h|0)>0;x=h<<2;y=k&-4;z=(y|0)<(k|0);A=(k|0)>0;C=d;D=0;while(1){E=b+(X(q,d+D|0)|0)|0;F=b+(X(q,C)|0)|0;G=X(j,C)|0;H=(G+j|0)<=(e|0)?m:0;a:do if((G|0)<(e|0)){b:do if((H|0)>0){I=(f[r>>2]|0)+(X(f[f[s>>2]>>2]|0,G)|0)|0;J=f[t>>2]|0;if(v){K=0;while(1){L=I+(f[J+(K<<2)>>2]<<2)|0;if(A){M=f[w>>2]|0;N=0.0;O=0;while(1){P=N+ +n[L+(f[M+(O<<2)>>2]<<2)>>2];O=O+1|0;if((O|0)==(k|0)){Q=P;break}else N=P}}else Q=0.0;n[F+(K<<2)>>2]=l*Q;K=K+1|0;if((K|0)==(H|0)){R=H;break b}}}K=f[w>>2]|0;O=0;do{M=I+(f[J+(O<<2)>>2]<<2)|0;N=0.0;L=0;do{N=N+(+n[M+(f[K+(L<<2)>>2]<<2)>>2]+ +n[M+(f[K+((L|1)<<2)>>2]<<2)>>2]+ +n[M+(f[K+((L|2)<<2)>>2]<<2)>>2]+ +n[M+(f[K+((L|3)<<2)>>2]<<2)>>2]);L=L+4|0}while((L|0)<=(u|0));if(z){P=N;L=y;while(1){S=P+ +n[M+(f[K+(L<<2)>>2]<<2)>>2];L=L+1|0;if((L|0)==(k|0)){T=S;break}else P=S}}else T=N;n[F+(O<<2)>>2]=l*T;O=O+1|0}while((O|0)!=(H|0));R=H}else R=0;while(0);if((R|0)<(h|0)){O=f[t>>2]|0;K=f[i>>2]|0;if((K|0)>0)U=R;else{J=R;while(1){I=F+(J<<2)|0;if((f[O+(J<<2)>>2]|0)>=(o|0))n[I>>2]=0.0;n[I>>2]=B;J=J+1|0;if((J|0)==(h|0))break a}}do{J=f[O+(U<<2)>>2]|0;c:do if((J|0)<(o|0)){I=0;L=0;P=0.0;while(1){M=I+G|0;if((M|0)>=(e|0)){V=L;W=P;break c}Y=(f[r>>2]|0)+(X(f[f[s>>2]>>2]|0,M)|0)+(J<<2)|0;M=X(f[g>>2]|0,c)|0;if((M|0)>0){Z=0;_=L;S=P;while(1){$=S+ +n[Y+(Z<<2)>>2];aa=_+1|0;Z=Z+c|0;if(!((Z+J|0)<(o|0)&(Z|0)<(M|0))){ba=aa;ca=$;break}else{_=aa;S=$}}}else{ba=L;ca=P}I=I+1|0;if((I|0)>=(K|0)){V=ba;W=ca;break}else{L=ba;P=ca}}}else{n[F+(U<<2)>>2]=0.0;V=0;W=0.0}while(0);n[F+(U<<2)>>2]=W/+(V|0);U=U+1|0}while((U|0)!=(h|0))}}else if(a)FVa(E|0,0,x|0)|0;while(0);C=C+1|0;if((C|0)>=(p|0))break;else D=D+1|0}return}function m4(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f[a>>2]=45980;i=a+4|0;f[i>>2]=f[b>>2];j=a+8|0;k=b+4|0;f[j>>2]=f[k>>2];l=a+12|0;f[l>>2]=f[b+8>>2];f[a+16>>2]=f[b+12>>2];f[a+20>>2]=f[b+16>>2];f[a+24>>2]=f[b+20>>2];f[a+28>>2]=f[b+24>>2];f[a+32>>2]=f[b+28>>2];f[a+36>>2]=f[b+32>>2];m=f[b+36>>2]|0;f[a+40>>2]=m;f[a+44>>2]=l;l=a+52|0;n=a+48|0;f[n>>2]=l;f[l>>2]=0;f[a+56>>2]=0;if(m|0){l=m+12|0;f[l>>2]=(f[l>>2]|0)+1}if((f[k>>2]|0)<3){k=f[b+44>>2]|0;l=f[n>>2]|0;f[l>>2]=f[k>>2];f[l+4>>2]=f[k+4>>2]}else{f[j>>2]=0;WO(i,b)}b=a+60|0;f[b>>2]=f[c>>2];i=a+64|0;j=c+4|0;f[i>>2]=f[j>>2];k=a+68|0;f[k>>2]=f[c+8>>2];f[a+72>>2]=f[c+12>>2];f[a+76>>2]=f[c+16>>2];f[a+80>>2]=f[c+20>>2];f[a+84>>2]=f[c+24>>2];f[a+88>>2]=f[c+28>>2];f[a+92>>2]=f[c+32>>2];l=f[c+36>>2]|0;f[a+96>>2]=l;f[a+100>>2]=k;k=a+108|0;n=a+104|0;f[n>>2]=k;f[k>>2]=0;f[a+112>>2]=0;if(l|0){k=l+12|0;f[k>>2]=(f[k>>2]|0)+1}if((f[j>>2]|0)<3){j=f[c+44>>2]|0;k=f[n>>2]|0;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];o=a+116|0;f[o>>2]=d;p=a+120|0;f[p>>2]=e;q=a+124|0;f[q>>2]=g;r=a+128|0;f[r>>2]=h;return}else{f[i>>2]=0;WO(b,c);o=a+116|0;f[o>>2]=d;p=a+120|0;f[p>>2]=e;q=a+124|0;f[q>>2]=g;r=a+128|0;f[r>>2]=h;return}}function n4(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=45980;b=a+60|0;c=a+96|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+76|0;b=a+64|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+100>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+104>>2]|0;if((b|0)!=(a+108|0))dX(b);b=a+4|0;d=a+40|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+20|0;b=a+8|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[a+44>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+48>>2]|0;if((b|0)==(a+52|0))return;dX(b);return}function o4(a){a=a|0;n4(a);GQa(a);return}function p4(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0,Q=0,R=0.0,S=0.0,T=0,U=0.0,V=0.0,W=0,Y=0,Z=0.0,_=0,$=0,aa=0.0,ba=0,ca=0,da=0.0;e=u;u=u+32|0;g=e;h=f[a+44>>2]|0;i=f[h+4>>2]|0;j=f[h>>2]|0;h=(f[a+4>>2]|0)>>>3;k=(h&511)+1|0;l=a+116|0;m=f[l>>2]|0;n=a+120|0;o=f[n>>2]|0;p=X(o,m)|0;q=1.0/+(p|0);r=X((i|0)/(m|0)|0,k)|0;s=X(k,f[(f[a+100>>2]|0)+4>>2]|0)|0;t=X(k,i)|0;i=f[a+52>>2]|0;f[g>>2]=m;f[g+4>>2]=o;f[g+8>>2]=k;f[g+16>>2]=i;a:do if((m|0)==2&(o|0)==2){switch(h&511){case 2:case 0:{v=1;break a;break}default:{}}v=(k|0)==4&1}else v=0;while(0);b[g+12>>0]=v;v=f[c>>2]|0;h=c+4|0;if((v|0)>=(f[h>>2]|0)){u=e;return}c=a+76|0;m=a+108|0;i=a+20|0;w=a+48|0;x=a+128|0;y=p+-4|0;z=(p|0)<4;A=a+124|0;a=(s|0)>0;C=s<<1;D=p&-4;E=(D|0)<(p|0);F=(p|0)>0;G=v;v=o;while(1){o=(f[c>>2]|0)+(X(f[m>>2]|0,G)|0)|0;H=X(v,G)|0;I=(H+v|0)<=(j|0)?r:0;b:do if((H|0)<(j|0)){J=q4(g,(f[i>>2]|0)+(X(f[f[w>>2]>>2]|0,H)|0)|0,o,I)|0;c:do if((J|0)<(I|0)){K=(f[i>>2]|0)+(X(f[f[w>>2]>>2]|0,H)|0)|0;L=f[x>>2]|0;if(z){M=J;while(1){N=K+(f[L+(M<<2)>>2]<<1)|0;if(F){O=f[A>>2]|0;P=0.0;Q=0;while(1){R=P+ +(d[N+(f[O+(Q<<2)>>2]<<1)>>1]|0);Q=Q+1|0;if((Q|0)==(p|0)){S=R;break}else P=R}}else S=0.0;Q=HEa(q*S)|0;d[o+(M<<1)>>1]=(Q+32768|0)>>>0<65536?Q:(Q|0)>0?32767:32768;M=M+1|0;if((M|0)==(I|0)){T=I;break c}}}M=f[A>>2]|0;Q=J;do{O=K+(f[L+(Q<<2)>>2]<<1)|0;P=0.0;N=0;do{P=P+ +((d[O+(f[M+((N|1)<<2)>>2]<<1)>>1]|0)+(d[O+(f[M+(N<<2)>>2]<<1)>>1]|0)+(d[O+(f[M+((N|2)<<2)>>2]<<1)>>1]|0)+(d[O+(f[M+((N|3)<<2)>>2]<<1)>>1]|0)|0);N=N+4|0}while((N|0)<=(y|0));if(E){R=P;N=D;while(1){U=R+ +(d[O+(f[M+(N<<2)>>2]<<1)>>1]|0);N=N+1|0;if((N|0)==(p|0)){V=U;break}else R=U}}else V=P;N=HEa(q*V)|0;d[o+(Q<<1)>>1]=(N+32768|0)>>>0<65536?N:(N|0)>0?32767:32768;Q=Q+1|0}while((Q|0)!=(I|0));T=I}else T=J;while(0);if((T|0)<(s|0)){J=f[x>>2]|0;Q=f[n>>2]|0;if((Q|0)>0)W=T;else{M=HEa(B)|0;L=((M+32768|0)>>>0<65536?M:(M|0)>0?32767:32768)&65535;M=T;while(1){K=o+(M<<1)|0;if((f[J+(M<<2)>>2]|0)>=(t|0))d[K>>1]=0;d[K>>1]=L;M=M+1|0;if((M|0)==(s|0))break b}}do{M=f[J+(W<<2)>>2]|0;d:do if((M|0)<(t|0)){L=0;K=0;R=0.0;while(1){N=L+H|0;if((N|0)>=(j|0)){Y=K;Z=R;break d}O=(f[i>>2]|0)+(X(f[f[w>>2]>>2]|0,N)|0)+(M<<1)|0;N=X(f[l>>2]|0,k)|0;if((N|0)>0){_=0;$=K;U=R;while(1){aa=U+ +(d[O+(_<<1)>>1]|0);ba=$+1|0;_=_+k|0;if(!((_+M|0)<(t|0)&(_|0)<(N|0))){ca=ba;da=aa;break}else{$=ba;U=aa}}}else{ca=K;da=R}L=L+1|0;if((L|0)>=(Q|0)){Y=ca;Z=da;break}else{K=ca;R=da}}}else{d[o+(W<<1)>>1]=0;Y=0;Z=0.0}while(0);M=HEa(Z/+(Y|0))|0;d[o+(W<<1)>>1]=(M+32768|0)>>>0<65536?M:(M|0)>0?32767:32768;W=W+1|0}while((W|0)!=(s|0))}}else if(a)FVa(o|0,0,C|0)|0;while(0);o=G+1|0;if((o|0)>=(f[h>>2]|0))break;G=o;v=f[n>>2]|0}u=e;return}function q4(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=u;u=u+16|0;i=h;if(!(b[a+12>>0]|0)){j=0;u=h;return j|0}k=c+(f[a+16>>2]|0)|0;switch(f[a+8>>2]|0){case 1:{if((g|0)>0)l=0;else{j=0;u=h;return j|0}do{a=l<<1;m=a|1;d[e+(l<<1)>>1]=((d[c+(a<<1)>>1]|0)+2+(d[c+(m<<1)>>1]|0)+(d[k+(a<<1)>>1]|0)+(d[k+(m<<1)>>1]|0)|0)>>>2;l=l+1|0}while((l|0)!=(g|0));j=g;u=h;return j|0}case 3:{if((g|0)>0)n=0;else{j=0;u=h;return j|0}while(1){l=n<<1;m=l+3|0;d[e+(n<<1)>>1]=((d[c+(l<<1)>>1]|0)+2+(d[c+(m<<1)>>1]|0)+(d[k+(l<<1)>>1]|0)+(d[k+(m<<1)>>1]|0)|0)>>>2;m=l|1;a=l+4|0;d[e+(n+1<<1)>>1]=((d[c+(m<<1)>>1]|0)+2+(d[c+(a<<1)>>1]|0)+(d[k+(m<<1)>>1]|0)+(d[k+(a<<1)>>1]|0)|0)>>>2;a=l+2|0;m=l+5|0;d[e+(n+2<<1)>>1]=((d[c+(a<<1)>>1]|0)+2+(d[c+(m<<1)>>1]|0)+(d[k+(a<<1)>>1]|0)+(d[k+(m<<1)>>1]|0)|0)>>>2;m=n+3|0;if((m|0)<(g|0))n=m;else{j=m;break}}u=h;return j|0}case 4:break;default:{f[i>>2]=0;f[i+4>>2]=0;n=JV(i,7)|0;b[n>>0]=b[198906]|0;b[n+1>>0]=b[198907]|0;b[n+2>>0]=b[198908]|0;b[n+3>>0]=b[198909]|0;b[n+4>>0]=b[198910]|0;b[n+5>>0]=b[198911]|0;b[n+6>>0]=b[198912]|0;EP(-215,i,451664,196671,2890);KV(i)}}if((g|0)>0)o=0;else{j=0;u=h;return j|0}do{i=o<<1;n=i|4;d[e+(o<<1)>>1]=((d[c+(i<<1)>>1]|0)+2+(d[c+(n<<1)>>1]|0)+(d[k+(i<<1)>>1]|0)+(d[k+(n<<1)>>1]|0)|0)>>>2;n=i|1;m=i|5;d[e+((o|1)<<1)>>1]=((d[c+(n<<1)>>1]|0)+2+(d[c+(m<<1)>>1]|0)+(d[k+(n<<1)>>1]|0)+(d[k+(m<<1)>>1]|0)|0)>>>2;m=i|2;n=i|6;d[e+((o|2)<<1)>>1]=((d[c+(m<<1)>>1]|0)+2+(d[c+(n<<1)>>1]|0)+(d[k+(m<<1)>>1]|0)+(d[k+(n<<1)>>1]|0)|0)>>>2;n=i|3;m=i|7;d[e+((o|3)<<1)>>1]=((d[c+(n<<1)>>1]|0)+2+(d[c+(m<<1)>>1]|0)+(d[k+(n<<1)>>1]|0)+(d[k+(m<<1)>>1]|0)|0)>>>2;o=o+4|0}while((o|0)<(g|0));j=g+3&-4;u=h;return j|0}function r4(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f[a>>2]=46e3;i=a+4|0;f[i>>2]=f[b>>2];j=a+8|0;k=b+4|0;f[j>>2]=f[k>>2];l=a+12|0;f[l>>2]=f[b+8>>2];f[a+16>>2]=f[b+12>>2];f[a+20>>2]=f[b+16>>2];f[a+24>>2]=f[b+20>>2];f[a+28>>2]=f[b+24>>2];f[a+32>>2]=f[b+28>>2];f[a+36>>2]=f[b+32>>2];m=f[b+36>>2]|0;f[a+40>>2]=m;f[a+44>>2]=l;l=a+52|0;n=a+48|0;f[n>>2]=l;f[l>>2]=0;f[a+56>>2]=0;if(m|0){l=m+12|0;f[l>>2]=(f[l>>2]|0)+1}if((f[k>>2]|0)<3){k=f[b+44>>2]|0;l=f[n>>2]|0;f[l>>2]=f[k>>2];f[l+4>>2]=f[k+4>>2]}else{f[j>>2]=0;WO(i,b)}b=a+60|0;f[b>>2]=f[c>>2];i=a+64|0;j=c+4|0;f[i>>2]=f[j>>2];k=a+68|0;f[k>>2]=f[c+8>>2];f[a+72>>2]=f[c+12>>2];f[a+76>>2]=f[c+16>>2];f[a+80>>2]=f[c+20>>2];f[a+84>>2]=f[c+24>>2];f[a+88>>2]=f[c+28>>2];f[a+92>>2]=f[c+32>>2];l=f[c+36>>2]|0;f[a+96>>2]=l;f[a+100>>2]=k;k=a+108|0;n=a+104|0;f[n>>2]=k;f[k>>2]=0;f[a+112>>2]=0;if(l|0){k=l+12|0;f[k>>2]=(f[k>>2]|0)+1}if((f[j>>2]|0)<3){j=f[c+44>>2]|0;k=f[n>>2]|0;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];o=a+116|0;f[o>>2]=d;p=a+120|0;f[p>>2]=e;q=a+124|0;f[q>>2]=g;r=a+128|0;f[r>>2]=h;return}else{f[i>>2]=0;WO(b,c);o=a+116|0;f[o>>2]=d;p=a+120|0;f[p>>2]=e;q=a+124|0;f[q>>2]=g;r=a+128|0;f[r>>2]=h;return}}function s4(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=46e3;b=a+60|0;c=a+96|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+76|0;b=a+64|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+100>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+104>>2]|0;if((b|0)!=(a+108|0))dX(b);b=a+4|0;d=a+40|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+20|0;b=a+8|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[a+44>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+48>>2]|0;if((b|0)==(a+52|0))return;dX(b);return}function t4(a){a=a|0;s4(a);GQa(a);return}function u4(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0,S=0.0,T=0.0,U=0,V=0.0,W=0.0,Y=0,Z=0,_=0.0,$=0,aa=0,ba=0.0,ca=0,da=0,ea=0.0;e=u;u=u+32|0;g=e;h=f[a+44>>2]|0;i=f[h+4>>2]|0;k=f[h>>2]|0;h=(f[a+4>>2]|0)>>>3;l=(h&511)+1|0;m=a+116|0;n=f[m>>2]|0;o=a+120|0;p=f[o>>2]|0;q=X(p,n)|0;r=1.0/+(q|0);s=X((i|0)/(n|0)|0,l)|0;t=X(l,f[(f[a+100>>2]|0)+4>>2]|0)|0;v=X(l,i)|0;i=f[a+52>>2]|0;f[g>>2]=n;f[g+4>>2]=p;f[g+8>>2]=l;f[g+16>>2]=i;a:do if((n|0)==2&(p|0)==2){switch(h&511){case 2:case 0:{w=1;break a;break}default:{}}w=(l|0)==4&1}else w=0;while(0);b[g+12>>0]=w;w=f[c>>2]|0;h=c+4|0;if((w|0)>=(f[h>>2]|0)){u=e;return}c=a+76|0;n=a+108|0;i=a+20|0;x=a+48|0;y=a+128|0;z=q+-4|0;A=(q|0)<4;C=a+124|0;a=(t|0)>0;D=t<<1;E=q&-4;F=(E|0)<(q|0);G=(q|0)>0;H=w;w=p;while(1){p=(f[c>>2]|0)+(X(f[n>>2]|0,H)|0)|0;I=X(w,H)|0;J=(I+w|0)<=(k|0)?s:0;b:do if((I|0)<(k|0)){K=v4(g,(f[i>>2]|0)+(X(f[f[x>>2]>>2]|0,I)|0)|0,p,J)|0;c:do if((K|0)<(J|0)){L=(f[i>>2]|0)+(X(f[f[x>>2]>>2]|0,I)|0)|0;M=f[y>>2]|0;if(A){N=K;while(1){O=L+(f[M+(N<<2)>>2]<<1)|0;if(G){P=f[C>>2]|0;Q=0.0;R=0;while(1){S=Q+ +(j[O+(f[P+(R<<2)>>2]<<1)>>1]|0);R=R+1|0;if((R|0)==(q|0)){T=S;break}else Q=S}}else T=0.0;R=HEa(r*T)|0;d[p+(N<<1)>>1]=R>>>0<65536?R:(R|0)>0?65535:0;N=N+1|0;if((N|0)==(J|0)){U=J;break c}}}N=f[C>>2]|0;R=K;do{P=L+(f[M+(R<<2)>>2]<<1)|0;Q=0.0;O=0;do{Q=Q+ +((j[P+(f[N+((O|1)<<2)>>2]<<1)>>1]|0)+(j[P+(f[N+(O<<2)>>2]<<1)>>1]|0)+(j[P+(f[N+((O|2)<<2)>>2]<<1)>>1]|0)+(j[P+(f[N+((O|3)<<2)>>2]<<1)>>1]|0)|0);O=O+4|0}while((O|0)<=(z|0));if(F){S=Q;O=E;while(1){V=S+ +(j[P+(f[N+(O<<2)>>2]<<1)>>1]|0);O=O+1|0;if((O|0)==(q|0)){W=V;break}else S=V}}else W=Q;O=HEa(r*W)|0;d[p+(R<<1)>>1]=O>>>0<65536?O:(O|0)>0?65535:0;R=R+1|0}while((R|0)!=(J|0));U=J}else U=K;while(0);if((U|0)<(t|0)){K=f[y>>2]|0;R=f[o>>2]|0;if((R|0)>0)Y=U;else{N=HEa(B)|0;M=(N>>>0<65536?N:(N|0)>0?65535:0)&65535;N=U;while(1){L=p+(N<<1)|0;if((f[K+(N<<2)>>2]|0)>=(v|0))d[L>>1]=0;d[L>>1]=M;N=N+1|0;if((N|0)==(t|0))break b}}do{N=f[K+(Y<<2)>>2]|0;d:do if((N|0)<(v|0)){M=0;L=0;S=0.0;while(1){O=M+I|0;if((O|0)>=(k|0)){Z=L;_=S;break d}P=(f[i>>2]|0)+(X(f[f[x>>2]>>2]|0,O)|0)+(N<<1)|0;O=X(f[m>>2]|0,l)|0;if((O|0)>0){$=0;aa=L;V=S;while(1){ba=V+ +(j[P+($<<1)>>1]|0);ca=aa+1|0;$=$+l|0;if(!(($+N|0)<(v|0)&($|0)<(O|0))){da=ca;ea=ba;break}else{aa=ca;V=ba}}}else{da=L;ea=S}M=M+1|0;if((M|0)>=(R|0)){Z=da;_=ea;break}else{L=da;S=ea}}}else{d[p+(Y<<1)>>1]=0;Z=0;_=0.0}while(0);N=HEa(_/+(Z|0))|0;d[p+(Y<<1)>>1]=N>>>0<65536?N:(N|0)>0?65535:0;Y=Y+1|0}while((Y|0)!=(t|0))}}else if(a)FVa(p|0,0,D|0)|0;while(0);p=H+1|0;if((p|0)>=(f[h>>2]|0))break;H=p;w=f[o>>2]|0}u=e;return}function v4(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0;h=u;u=u+16|0;i=h;if(!(b[a+12>>0]|0)){k=0;u=h;return k|0}l=c+(f[a+16>>2]|0)|0;switch(f[a+8>>2]|0){case 1:{if((g|0)>0)m=0;else{k=0;u=h;return k|0}do{a=m<<1;n=a|1;d[e+(m<<1)>>1]=((j[c+(a<<1)>>1]|0)+2+(j[c+(n<<1)>>1]|0)+(j[l+(a<<1)>>1]|0)+(j[l+(n<<1)>>1]|0)|0)>>>2;m=m+1|0}while((m|0)!=(g|0));k=g;u=h;return k|0}case 3:{if((g|0)>0)o=0;else{k=0;u=h;return k|0}while(1){m=o<<1;n=m+3|0;d[e+(o<<1)>>1]=((j[c+(m<<1)>>1]|0)+2+(j[c+(n<<1)>>1]|0)+(j[l+(m<<1)>>1]|0)+(j[l+(n<<1)>>1]|0)|0)>>>2;n=m|1;a=m+4|0;d[e+(o+1<<1)>>1]=((j[c+(n<<1)>>1]|0)+2+(j[c+(a<<1)>>1]|0)+(j[l+(n<<1)>>1]|0)+(j[l+(a<<1)>>1]|0)|0)>>>2;a=m+2|0;n=m+5|0;d[e+(o+2<<1)>>1]=((j[c+(a<<1)>>1]|0)+2+(j[c+(n<<1)>>1]|0)+(j[l+(a<<1)>>1]|0)+(j[l+(n<<1)>>1]|0)|0)>>>2;n=o+3|0;if((n|0)<(g|0))o=n;else{k=n;break}}u=h;return k|0}case 4:break;default:{f[i>>2]=0;f[i+4>>2]=0;o=JV(i,7)|0;b[o>>0]=b[198906]|0;b[o+1>>0]=b[198907]|0;b[o+2>>0]=b[198908]|0;b[o+3>>0]=b[198909]|0;b[o+4>>0]=b[198910]|0;b[o+5>>0]=b[198911]|0;b[o+6>>0]=b[198912]|0;EP(-215,i,451664,196671,2890);KV(i)}}if((g|0)>0)p=0;else{k=0;u=h;return k|0}do{i=p<<1;o=i|4;d[e+(p<<1)>>1]=((j[c+(i<<1)>>1]|0)+2+(j[c+(o<<1)>>1]|0)+(j[l+(i<<1)>>1]|0)+(j[l+(o<<1)>>1]|0)|0)>>>2;o=i|1;n=i|5;d[e+((p|1)<<1)>>1]=((j[c+(o<<1)>>1]|0)+2+(j[c+(n<<1)>>1]|0)+(j[l+(o<<1)>>1]|0)+(j[l+(n<<1)>>1]|0)|0)>>>2;n=i|2;o=i|6;d[e+((p|2)<<1)>>1]=((j[c+(n<<1)>>1]|0)+2+(j[c+(o<<1)>>1]|0)+(j[l+(n<<1)>>1]|0)+(j[l+(o<<1)>>1]|0)|0)>>>2;o=i|3;n=i|7;d[e+((p|3)<<1)>>1]=((j[c+(o<<1)>>1]|0)+2+(j[c+(n<<1)>>1]|0)+(j[l+(o<<1)>>1]|0)+(j[l+(n<<1)>>1]|0)|0)>>>2;p=p+4|0}while((p|0)<(g|0));k=g+3&-4;u=h;return k|0}function w4(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f[a>>2]=46020;i=a+4|0;f[i>>2]=f[b>>2];j=a+8|0;k=b+4|0;f[j>>2]=f[k>>2];l=a+12|0;f[l>>2]=f[b+8>>2];f[a+16>>2]=f[b+12>>2];f[a+20>>2]=f[b+16>>2];f[a+24>>2]=f[b+20>>2];f[a+28>>2]=f[b+24>>2];f[a+32>>2]=f[b+28>>2];f[a+36>>2]=f[b+32>>2];m=f[b+36>>2]|0;f[a+40>>2]=m;f[a+44>>2]=l;l=a+52|0;n=a+48|0;f[n>>2]=l;f[l>>2]=0;f[a+56>>2]=0;if(m|0){l=m+12|0;f[l>>2]=(f[l>>2]|0)+1}if((f[k>>2]|0)<3){k=f[b+44>>2]|0;l=f[n>>2]|0;f[l>>2]=f[k>>2];f[l+4>>2]=f[k+4>>2]}else{f[j>>2]=0;WO(i,b)}b=a+60|0;f[b>>2]=f[c>>2];i=a+64|0;j=c+4|0;f[i>>2]=f[j>>2];k=a+68|0;f[k>>2]=f[c+8>>2];f[a+72>>2]=f[c+12>>2];f[a+76>>2]=f[c+16>>2];f[a+80>>2]=f[c+20>>2];f[a+84>>2]=f[c+24>>2];f[a+88>>2]=f[c+28>>2];f[a+92>>2]=f[c+32>>2];l=f[c+36>>2]|0;f[a+96>>2]=l;f[a+100>>2]=k;k=a+108|0;n=a+104|0;f[n>>2]=k;f[k>>2]=0;f[a+112>>2]=0;if(l|0){k=l+12|0;f[k>>2]=(f[k>>2]|0)+1}if((f[j>>2]|0)<3){j=f[c+44>>2]|0;k=f[n>>2]|0;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];o=a+116|0;f[o>>2]=d;p=a+120|0;f[p>>2]=e;q=a+124|0;f[q>>2]=g;r=a+128|0;f[r>>2]=h;return}else{f[i>>2]=0;WO(b,c);o=a+116|0;f[o>>2]=d;p=a+120|0;f[p>>2]=e;q=a+124|0;f[q>>2]=g;r=a+128|0;f[r>>2]=h;return}}function x4(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=46020;b=a+60|0;c=a+96|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+76|0;b=a+64|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+100>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+104>>2]|0;if((b|0)!=(a+108|0))dX(b);b=a+4|0;d=a+40|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+20|0;b=a+8|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[a+44>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+48>>2]|0;if((b|0)==(a+52|0))return;dX(b);return}function y4(a){a=a|0;x4(a);GQa(a);return}function z4(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;d=u;u=u+32|0;e=d;g=f[a+44>>2]|0;i=f[g+4>>2]|0;j=f[g>>2]|0;g=(f[a+4>>2]|0)>>>3;k=(g&511)+1|0;l=a+116|0;m=f[l>>2]|0;n=a+120|0;o=f[n>>2]|0;p=X(o,m)|0;q=1.0/+(p|0);r=X((i|0)/(m|0)|0,k)|0;s=X(k,f[(f[a+100>>2]|0)+4>>2]|0)|0;t=X(k,i)|0;i=f[a+52>>2]|0;f[e>>2]=m;f[e+4>>2]=o;f[e+8>>2]=k;f[e+16>>2]=i;a:do if((m|0)==2&(o|0)==2){switch(g&511){case 2:case 0:{v=1;break a;break}default:{}}v=(k|0)==4&1}else v=0;while(0);b[e+12>>0]=v;v=f[c>>2]|0;g=c+4|0;if((v|0)>=(f[g>>2]|0)){u=d;return}c=a+76|0;m=a+108|0;i=a+20|0;w=a+48|0;x=a+128|0;y=p+-4|0;z=(p|0)<4;A=a+124|0;a=(s|0)>0;B=p&-4;C=(p|0)>0;D=(B|0)<(p|0);E=v;v=o;while(1){o=(f[c>>2]|0)+(X(f[m>>2]|0,E)|0)|0;F=X(v,E)|0;G=(F+v|0)<=(j|0)?r:0;if((F|0)<(j|0)){H=A4(e,(f[i>>2]|0)+(X(f[f[w>>2]>>2]|0,F)|0)|0,o,G)|0;b:do if((H|0)<(G|0)){if(z){I=H;while(1){J=(f[i>>2]|0)+(X(f[f[w>>2]>>2]|0,F)|0)|0;K=J+(f[(f[x>>2]|0)+(I<<2)>>2]|0)|0;if(C){J=f[A>>2]|0;L=0;M=0;while(1){N=L+(h[K+(f[J+(M<<2)>>2]|0)>>0]|0)|0;M=M+1|0;if((M|0)==(p|0)){O=N;break}else L=N}}else O=0;L=HEa(q*+(O|0))|0;b[o+I>>0]=L>>>0<256?L:(L|0)>0?255:0;I=I+1|0;if((I|0)==(G|0)){P=G;break b}}}else Q=H;do{I=(f[i>>2]|0)+(X(f[f[w>>2]>>2]|0,F)|0)|0;L=I+(f[(f[x>>2]|0)+(Q<<2)>>2]|0)|0;I=f[A>>2]|0;M=0;J=0;do{M=M+(h[L+(f[I+(J<<2)>>2]|0)>>0]|0)+(h[L+(f[I+((J|1)<<2)>>2]|0)>>0]|0)+(h[L+(f[I+((J|2)<<2)>>2]|0)>>0]|0)+(h[L+(f[I+((J|3)<<2)>>2]|0)>>0]|0)|0;J=J+4|0}while((J|0)<=(y|0));if(D){J=M;K=B;while(1){N=J+(h[L+(f[I+(K<<2)>>2]|0)>>0]|0)|0;K=K+1|0;if((K|0)==(p|0)){R=N;break}else J=N}}else R=M;J=HEa(q*+(R|0))|0;b[o+Q>>0]=J>>>0<256?J:(J|0)>0?255:0;Q=Q+1|0}while((Q|0)!=(G|0));P=G}else P=H;while(0);if((P|0)<(s|0)){H=P;do{G=f[(f[x>>2]|0)+(H<<2)>>2]|0;J=(G|0)<(t|0);if(!J)b[o+H>>0]=0;K=f[n>>2]|0;c:do if((K|0)<1|J^1){S=0;T=0}else{I=0;L=0;N=0;while(1){U=I+F|0;if((U|0)>=(j|0)){S=L;T=N;break c}V=(f[i>>2]|0)+(X(f[f[w>>2]>>2]|0,U)|0)+G|0;U=X(f[l>>2]|0,k)|0;if((U|0)>0){W=0;Y=L;Z=N;while(1){_=Z+(h[V+W>>0]|0)|0;$=Y+1|0;W=W+k|0;if(!((W+G|0)<(t|0)&(W|0)<(U|0))){aa=$;ba=_;break}else{Y=$;Z=_}}}else{aa=L;ba=N}I=I+1|0;if((I|0)>=(K|0)){S=aa;T=ba;break}else{L=aa;N=ba}}}while(0);K=HEa(+(T|0)/+(S|0))|0;b[o+H>>0]=K>>>0<256?K:(K|0)>0?255:0;H=H+1|0}while((H|0)!=(s|0))}}else if(a)FVa(o|0,0,s|0)|0;H=E+1|0;if((H|0)>=(f[g>>2]|0))break;E=H;v=f[n>>2]|0}u=d;return}function A4(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=u;u=u+16|0;i=g;if(!(b[a+12>>0]|0)){j=0;u=g;return j|0}k=c+(f[a+16>>2]|0)|0;switch(f[a+8>>2]|0){case 1:{if((e|0)>0)l=0;else{j=0;u=g;return j|0}do{a=l<<1;m=a|1;b[d+l>>0]=((h[c+a>>0]|0)+2+(h[c+m>>0]|0)+(h[k+a>>0]|0)+(h[k+m>>0]|0)|0)>>>2;l=l+1|0}while((l|0)!=(e|0));j=e;u=g;return j|0}case 3:{if((e|0)>0)n=0;else{j=0;u=g;return j|0}while(1){l=n<<1;m=l+3|0;b[d+n>>0]=((h[c+l>>0]|0)+2+(h[c+m>>0]|0)+(h[k+l>>0]|0)+(h[k+m>>0]|0)|0)>>>2;m=l|1;a=l+4|0;b[d+(n+1)>>0]=((h[c+m>>0]|0)+2+(h[c+a>>0]|0)+(h[k+m>>0]|0)+(h[k+a>>0]|0)|0)>>>2;a=l+2|0;m=l+5|0;b[d+(n+2)>>0]=((h[c+a>>0]|0)+2+(h[c+m>>0]|0)+(h[k+a>>0]|0)+(h[k+m>>0]|0)|0)>>>2;m=n+3|0;if((m|0)<(e|0))n=m;else{j=m;break}}u=g;return j|0}case 4:break;default:{f[i>>2]=0;f[i+4>>2]=0;n=JV(i,7)|0;b[n>>0]=b[198906]|0;b[n+1>>0]=b[198907]|0;b[n+2>>0]=b[198908]|0;b[n+3>>0]=b[198909]|0;b[n+4>>0]=b[198910]|0;b[n+5>>0]=b[198911]|0;b[n+6>>0]=b[198912]|0;EP(-215,i,451664,196671,2890);KV(i)}}if((e|0)>0)o=0;else{j=0;u=g;return j|0}do{i=o<<1;n=i|4;b[d+o>>0]=((h[c+i>>0]|0)+2+(h[c+n>>0]|0)+(h[k+i>>0]|0)+(h[k+n>>0]|0)|0)>>>2;n=i|1;m=i|5;b[d+(o|1)>>0]=((h[c+n>>0]|0)+2+(h[c+m>>0]|0)+(h[k+n>>0]|0)+(h[k+m>>0]|0)|0)>>>2;m=i|2;n=i|6;b[d+(o|2)>>0]=((h[c+m>>0]|0)+2+(h[c+n>>0]|0)+(h[k+m>>0]|0)+(h[k+n>>0]|0)|0)>>>2;n=i|3;m=i|7;b[d+(o|3)>>0]=((h[c+n>>0]|0)+2+(h[c+m>>0]|0)+(h[k+n>>0]|0)+(h[k+m>>0]|0)|0)>>>2;o=o+4|0}while((o|0)<(e|0));j=e+3&-4;u=g;return j|0}function B4(a){a=a|0;R1(a);GQa(a);return}function C4(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;e=f[(f[a+100>>2]|0)+4>>2]|0;g=f[a+8>>2]|0;if((g|0)>0)h=f[(f[a+48>>2]|0)+(g+-1<<2)>>2]|0;else h=0;g=f[c>>2]|0;i=c+4|0;if((g|0)>=(f[i>>2]|0))return;c=a+76|0;j=a+108|0;k=a+128|0;l=(f[f[a+44>>2]>>2]|0)+-1|0;m=a+20|0;n=a+48|0;o=(e|0)>0;q=a+116|0;r=a+120|0;a=e+-2|0;s=(e|0)<2;t=e&-2;u=g;do{g=(f[c>>2]|0)+(X(f[j>>2]|0,u)|0)|0;v=+p[k>>3]*+(u|0);w=~~v;x=w-(v<+(w|0)&1)|0;w=(f[m>>2]|0)+(X((l|0)<(x|0)?l:x,f[f[n>>2]>>2]|0)|0)|0;switch(h|0){case 1:{if(s)y=0;else{x=0;do{z=f[q>>2]|0;A=x|1;B=b[w+(f[z+(A<<2)>>2]|0)>>0]|0;b[g+x>>0]=b[w+(f[z+(x<<2)>>2]|0)>>0]|0;b[g+A>>0]=B;x=x+2|0}while((x|0)<=(a|0));y=t}if((y|0)<(e|0)){x=y;do{b[g+x>>0]=b[w+(f[(f[q>>2]|0)+(x<<2)>>2]|0)>>0]|0;x=x+1|0}while((x|0)!=(e|0))}break}case 2:{if(o){x=f[q>>2]|0;B=0;do{d[g+(B<<1)>>1]=d[w+(f[x+(B<<2)>>2]|0)>>1]|0;B=B+1|0}while((B|0)!=(e|0))}break}case 3:{if(o){B=g;x=0;while(1){A=w+(f[(f[q>>2]|0)+(x<<2)>>2]|0)|0;b[B>>0]=b[A>>0]|0;b[B+1>>0]=b[A+1>>0]|0;b[B+2>>0]=b[A+2>>0]|0;x=x+1|0;if((x|0)==(e|0))break;else B=B+3|0}}break}case 4:{if(o){B=f[q>>2]|0;x=0;do{f[g+(x<<2)>>2]=f[w+(f[B+(x<<2)>>2]|0)>>2];x=x+1|0}while((x|0)!=(e|0))}break}case 6:{if(o){x=f[q>>2]|0;B=g;A=0;while(1){z=w+(f[x+(A<<2)>>2]|0)|0;d[B>>1]=d[z>>1]|0;d[B+2>>1]=d[z+2>>1]|0;d[B+4>>1]=d[z+4>>1]|0;A=A+1|0;if((A|0)==(e|0))break;else B=B+6|0}}break}case 8:{if(o){B=f[q>>2]|0;A=g;x=0;while(1){z=w+(f[B+(x<<2)>>2]|0)|0;f[A>>2]=f[z>>2];f[A+4>>2]=f[z+4>>2];x=x+1|0;if((x|0)==(e|0))break;else A=A+8|0}}break}case 12:{if(o){A=f[q>>2]|0;x=g;B=0;while(1){z=w+(f[A+(B<<2)>>2]|0)|0;f[x>>2]=f[z>>2];f[x+4>>2]=f[z+4>>2];f[x+8>>2]=f[z+8>>2];B=B+1|0;if((B|0)==(e|0))break;else x=x+12|0}}break}default:if(o){x=f[q>>2]|0;B=g;A=0;z=f[r>>2]|0;while(1){C=w+(f[x+(A<<2)>>2]|0)|0;if((z|0)>0){D=0;do{f[B+(D<<2)>>2]=f[C+(D<<2)>>2];D=D+1|0;E=f[r>>2]|0}while((D|0)<(E|0));F=E}else F=z;A=A+1|0;if((A|0)==(e|0))break;else{B=B+h|0;z=F}}}}u=u+1|0}while((u|0)<(f[i>>2]|0));return}function D4(a,b,c,d,e,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=+k;l=+l;var m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;m=u;u=u+1184|0;n=m+128|0;o=m+48|0;q=m+24|0;r=m;s=m+1168|0;switch(j|0){case 1:{t=(c|0)>2?145:144;break}case 2:{t=(c|0)>2?147:146;break}case 3:{t=(c|0)>2?149:148;break}case 4:{t=(c|0)>2?151:150;break}default:t=(c|0)>2?153:152}v=n;f[v>>2]=0;f[v+4>>2]=1072693248;p[o>>3]=k;PAa(q,n,o);f[q+8>>2]=c;v=q+12|0;f[v>>2]=0;w=q+16|0;f[w>>2]=h;x=n;f[x>>2]=0;f[x+4>>2]=1072693248;p[o>>3]=l;PAa(r,n,o);f[r+8>>2]=d;x=r+12|0;f[x>>2]=0;y=r+16|0;f[y>>2]=i;z=i+h<<3;A=n+8|0;f[n>>2]=A;B=n+4|0;f[B>>2]=z;if(z>>>0>1032){C=FQa(z)|0;f[n>>2]=C;D=C}else D=A;C=D+(h<<2)|0;z=C+(i<<2)|0;E=z+(h<<2)|0;if((h|0)>0){F=0;do{Q5(q,F,D+(F<<2)|0,z+(F<<2)|0);F=F+1|0}while((F|0)<(h|0))}F=f[v>>2]|0;v=f[w>>2]|0;if((i|0)>0){w=0;do{Q5(r,w,C+(w<<2)|0,E+(w<<2)|0);w=w+1|0}while((w|0)<(i|0))}w=f[x>>2]|0;x=f[y>>2]|0;f[o>>2]=46140;f[o+4>>2]=a;f[o+8>>2]=b;f[o+12>>2]=c;f[o+16>>2]=d;f[o+20>>2]=e;f[o+24>>2]=g;f[o+28>>2]=h;f[o+32>>2]=i;f[o+36>>2]=j;f[o+40>>2]=D;f[o+44>>2]=C;f[o+48>>2]=z;f[o+52>>2]=E;f[o+56>>2]=F;f[o+60>>2]=v;f[o+64>>2]=w;f[o+68>>2]=x;f[o+72>>2]=t;f[s>>2]=0;f[s+4>>2]=i;$Z(s,o,+(X(i,h)|0)*.0000152587890625);h=f[n>>2]|0;if((h|0)==(A|0)){u=m;return}if(h|0)HQa(h);f[n>>2]=A;f[B>>2]=1032;u=m;return}function E4(a,b,c,d,e,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=+k;l=+l;var m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;m=u;u=u+1184|0;n=m+128|0;o=m+48|0;q=m+24|0;r=m;s=m+1168|0;switch(j|0){case 1:{t=(c|0)>2?155:154;break}case 2:{t=(c|0)>2?157:156;break}case 3:{t=(c|0)>2?159:158;break}case 4:{t=(c|0)>2?161:160;break}default:t=(c|0)>2?163:162}v=n;f[v>>2]=0;f[v+4>>2]=1072693248;p[o>>3]=k;PAa(q,n,o);f[q+8>>2]=c;v=q+12|0;f[v>>2]=0;w=q+16|0;f[w>>2]=h;x=n;f[x>>2]=0;f[x+4>>2]=1072693248;p[o>>3]=l;PAa(r,n,o);f[r+8>>2]=d;x=r+12|0;f[x>>2]=0;y=r+16|0;f[y>>2]=i;z=(i+h|0)*12|0;A=n+8|0;f[n>>2]=A;B=n+4|0;f[B>>2]=z;if(z>>>0>1032){C=FQa(z)|0;f[n>>2]=C;D=C}else D=A;C=D+(h<<2)|0;z=C+(i<<2)|0;E=z+(h<<1<<2)|0;if((h|0)>0){F=0;do{D5(q,F,D+(F<<2)|0,z+(F<<1<<2)|0);F=F+1|0}while((F|0)<(h|0))}F=f[v>>2]|0;v=f[w>>2]|0;if((i|0)>0){w=0;do{D5(r,w,C+(w<<2)|0,E+(w<<1<<2)|0);w=w+1|0}while((w|0)<(i|0))}w=f[x>>2]|0;x=f[y>>2]|0;f[o>>2]=46120;f[o+4>>2]=a;f[o+8>>2]=b;f[o+12>>2]=c;f[o+16>>2]=d;f[o+20>>2]=e;f[o+24>>2]=g;f[o+28>>2]=h;f[o+32>>2]=i;f[o+36>>2]=j;f[o+40>>2]=D;f[o+44>>2]=C;f[o+48>>2]=z;f[o+52>>2]=E;f[o+56>>2]=F;f[o+60>>2]=v;f[o+64>>2]=w;f[o+68>>2]=x;f[o+72>>2]=t;f[s>>2]=0;f[s+4>>2]=i;$Z(s,o,+(X(i,h)|0)*.0000152587890625);h=f[n>>2]|0;if((h|0)==(A|0)){u=m;return}if(h|0)HQa(h);f[n>>2]=A;f[B>>2]=1032;u=m;return}function F4(a,b,c,d,e,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=+k;l=+l;var m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;m=u;u=u+1184|0;n=m+128|0;o=m+48|0;q=m+24|0;r=m;s=m+1168|0;switch(j|0){case 1:{t=(c|0)>2?165:164;break}case 2:{t=(c|0)>2?167:166;break}case 3:{t=(c|0)>2?169:168;break}case 4:{t=(c|0)>2?171:170;break}default:t=(c|0)>2?173:172}v=n;f[v>>2]=0;f[v+4>>2]=1072693248;p[o>>3]=k;PAa(q,n,o);f[q+8>>2]=c;v=q+12|0;f[v>>2]=0;w=q+16|0;f[w>>2]=h;x=n;f[x>>2]=0;f[x+4>>2]=1072693248;p[o>>3]=l;PAa(r,n,o);f[r+8>>2]=d;x=r+12|0;f[x>>2]=0;y=r+16|0;f[y>>2]=i;z=(i+h|0)*12|0;A=n+8|0;f[n>>2]=A;B=n+4|0;f[B>>2]=z;if(z>>>0>1032){C=FQa(z)|0;f[n>>2]=C;D=C}else D=A;C=D+(h<<2)|0;z=C+(i<<2)|0;E=z+(h<<1<<2)|0;if((h|0)>0){F=0;do{q5(q,F,D+(F<<2)|0,z+(F<<1<<2)|0);F=F+1|0}while((F|0)<(h|0))}F=f[v>>2]|0;v=f[w>>2]|0;if((i|0)>0){w=0;do{q5(r,w,C+(w<<2)|0,E+(w<<1<<2)|0);w=w+1|0}while((w|0)<(i|0))}w=f[x>>2]|0;x=f[y>>2]|0;f[o>>2]=46100;f[o+4>>2]=a;f[o+8>>2]=b;f[o+12>>2]=c;f[o+16>>2]=d;f[o+20>>2]=e;f[o+24>>2]=g;f[o+28>>2]=h;f[o+32>>2]=i;f[o+36>>2]=j;f[o+40>>2]=D;f[o+44>>2]=C;f[o+48>>2]=z;f[o+52>>2]=E;f[o+56>>2]=F;f[o+60>>2]=v;f[o+64>>2]=w;f[o+68>>2]=x;f[o+72>>2]=t;f[s>>2]=0;f[s+4>>2]=i;$Z(s,o,+(X(i,h)|0)*.0000152587890625);h=f[n>>2]|0;if((h|0)==(A|0)){u=m;return}if(h|0)HQa(h);f[n>>2]=A;f[B>>2]=1032;u=m;return}function G4(a,b,c,d,e,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=+k;l=+l;var m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;m=u;u=u+1184|0;n=m+128|0;o=m+48|0;q=m+24|0;r=m;s=m+1168|0;switch(j|0){case 1:{t=(c|0)>2?175:174;break}case 2:{t=(c|0)>2?177:176;break}case 3:{t=(c|0)>2?179:178;break}case 4:{t=(c|0)>2?181:180;break}default:t=(c|0)>2?183:182}v=n;f[v>>2]=0;f[v+4>>2]=1072693248;p[o>>3]=k;PAa(q,n,o);f[q+8>>2]=c;v=q+12|0;f[v>>2]=0;w=q+16|0;f[w>>2]=h;x=n;f[x>>2]=0;f[x+4>>2]=1072693248;p[o>>3]=l;PAa(r,n,o);f[r+8>>2]=d;x=r+12|0;f[x>>2]=0;y=r+16|0;f[y>>2]=i;z=(i+h|0)*12|0;A=n+8|0;f[n>>2]=A;B=n+4|0;f[B>>2]=z;if(z>>>0>1032){C=FQa(z)|0;f[n>>2]=C;D=C}else D=A;C=D+(h<<2)|0;z=C+(i<<2)|0;E=z+(h<<1<<2)|0;if((h|0)>0){F=0;do{d5(q,F,D+(F<<2)|0,z+(F<<1<<2)|0);F=F+1|0}while((F|0)<(h|0))}F=f[v>>2]|0;v=f[w>>2]|0;if((i|0)>0){w=0;do{d5(r,w,C+(w<<2)|0,E+(w<<1<<2)|0);w=w+1|0}while((w|0)<(i|0))}w=f[x>>2]|0;x=f[y>>2]|0;f[o>>2]=46080;f[o+4>>2]=a;f[o+8>>2]=b;f[o+12>>2]=c;f[o+16>>2]=d;f[o+20>>2]=e;f[o+24>>2]=g;f[o+28>>2]=h;f[o+32>>2]=i;f[o+36>>2]=j;f[o+40>>2]=D;f[o+44>>2]=C;f[o+48>>2]=z;f[o+52>>2]=E;f[o+56>>2]=F;f[o+60>>2]=v;f[o+64>>2]=w;f[o+68>>2]=x;f[o+72>>2]=t;f[s>>2]=0;f[s+4>>2]=i;$Z(s,o,+(X(i,h)|0)*.0000152587890625);h=f[n>>2]|0;if((h|0)==(A|0)){u=m;return}if(h|0)HQa(h);f[n>>2]=A;f[B>>2]=1032;u=m;return}function H4(a,b,c,d,e,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=+k;l=+l;var m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;m=u;u=u+1184|0;n=m+128|0;o=m+48|0;q=m+24|0;r=m;s=m+1168|0;switch(j|0){case 1:{t=(c|0)>2?185:184;break}case 2:{t=(c|0)>2?187:186;break}case 3:{t=(c|0)>2?189:188;break}case 4:{t=(c|0)>2?191:190;break}default:t=(c|0)>2?193:192}v=n;f[v>>2]=0;f[v+4>>2]=1072693248;p[o>>3]=k;PAa(q,n,o);f[q+8>>2]=c;v=q+12|0;f[v>>2]=0;w=q+16|0;f[w>>2]=h;x=n;f[x>>2]=0;f[x+4>>2]=1072693248;p[o>>3]=l;PAa(r,n,o);f[r+8>>2]=d;x=r+12|0;f[x>>2]=0;y=r+16|0;f[y>>2]=i;z=(i+h|0)*20|0;A=n+8|0;f[n>>2]=A;B=n+4|0;f[B>>2]=z;if(z>>>0>1032){C=FQa(z)|0;f[n>>2]=C;D=C}else D=A;C=D+(h<<2)|0;z=C+(i<<2)|0;E=z+(h<<1<<3)|0;if((h|0)>0){F=0;do{S4(q,F,D+(F<<2)|0,z+(F<<1<<3)|0);F=F+1|0}while((F|0)<(h|0))}F=f[v>>2]|0;v=f[w>>2]|0;if((i|0)>0){w=0;do{S4(r,w,C+(w<<2)|0,E+(w<<1<<3)|0);w=w+1|0}while((w|0)<(i|0))}w=f[x>>2]|0;x=f[y>>2]|0;f[o>>2]=46060;f[o+4>>2]=a;f[o+8>>2]=b;f[o+12>>2]=c;f[o+16>>2]=d;f[o+20>>2]=e;f[o+24>>2]=g;f[o+28>>2]=h;f[o+32>>2]=i;f[o+36>>2]=j;f[o+40>>2]=D;f[o+44>>2]=C;f[o+48>>2]=z;f[o+52>>2]=E;f[o+56>>2]=F;f[o+60>>2]=v;f[o+64>>2]=w;f[o+68>>2]=x;f[o+72>>2]=t;f[s>>2]=0;f[s+4>>2]=i;$Z(s,o,+(X(i,h)|0)*.0000152587890625);h=f[n>>2]|0;if((h|0)==(A|0)){u=m;return}if(h|0)HQa(h);f[n>>2]=A;f[B>>2]=1032;u=m;return}function I4(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;b=f[a>>2]|0;if((g|0)>0){j=0;k=e;while(1){l=k;f[l>>2]=0;f[l+4>>2]=b;j=j+1|0;if((j|0)==(g|0))break;else k=k+8|0}m=d+(g<<1<<3)|0;n=g;o=e+(g<<3)|0}else{m=d;n=0;o=e}if((n|0)<(h|0)){e=m;m=n;d=o;while(1){g=a+(f[c+(m<<2)>>2]<<2)|0;k=e;j=f[g>>2]|0;b=wVa(f[k>>2]|0,f[k+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;j=I;k=e+8|0;l=f[g+4>>2]|0;g=wVa(f[k>>2]|0,f[k+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;l=qVa(g|0,I|0,b|0,j|0)|0;j=d;f[j>>2]=l;f[j+4>>2]=I;m=m+1|0;if((m|0)==(h|0))break;else{e=e+16|0;d=d+8|0}}p=h;q=o+(h-n<<3)|0}else{p=n;q=o}o=f[a+(f[c+(i+-1<<2)>>2]<<2)>>2]|0;if((p|0)<(i|0)){r=p;s=q}else return;while(1){q=s;f[q>>2]=0;f[q+4>>2]=o;r=r+1|0;if((r|0)==(i|0))break;else s=s+8|0}return}function J4(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;R4(a,b,c,d,e,f,g,h);return}function K4(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;b=f[a>>2]|0;j=f[a+4>>2]|0;if((g|0)>0){k=g<<1;l=0;m=e;while(1){n=m;f[n>>2]=0;f[n+4>>2]=b;n=m+8|0;f[n>>2]=0;f[n+4>>2]=j;l=l+1|0;if((l|0)==(g|0))break;else m=m+16|0}o=d+(k<<3)|0;p=g;q=e+(k<<3)|0}else{o=d;p=0;q=e}if((p|0)<(h|0)){e=h-p|0;d=p;k=o;o=q;while(1){g=a+(f[c+(d<<2)>>2]<<1<<2)|0;m=k;l=f[g>>2]|0;j=wVa(f[m>>2]|0,f[m+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;l=I;m=k+8|0;b=m;n=f[g+8>>2]|0;r=wVa(f[b>>2]|0,f[b+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;n=qVa(r|0,I|0,j|0,l|0)|0;l=o;f[l>>2]=n;f[l+4>>2]=I;l=k;n=f[g+4>>2]|0;j=wVa(f[l>>2]|0,f[l+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;n=I;l=m;m=f[g+12>>2]|0;g=wVa(f[l>>2]|0,f[l+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;m=qVa(g|0,I|0,j|0,n|0)|0;n=o+8|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0;if((d|0)==(h|0))break;else{k=k+16|0;o=o+16|0}}s=h;t=q+(e<<1<<3)|0}else{s=p;t=q}q=a+(f[c+(i+-1<<2)>>2]<<1<<2)|0;c=f[q>>2]|0;a=f[q+4>>2]|0;if((s|0)<(i|0)){u=s;v=t}else return;while(1){t=v;f[t>>2]=0;f[t+4>>2]=c;t=v+8|0;f[t>>2]=0;f[t+4>>2]=a;u=u+1|0;if((u|0)==(i|0))break;else v=v+16|0}return}function L4(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;R4(a,b,c,d,e,f,g,h);return}function M4(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;b=f[a>>2]|0;j=f[a+4>>2]|0;k=f[a+8>>2]|0;if((g|0)>0){l=g*3|0;m=0;n=e;while(1){o=n;f[o>>2]=0;f[o+4>>2]=b;o=n+8|0;f[o>>2]=0;f[o+4>>2]=j;o=n+16|0;f[o>>2]=0;f[o+4>>2]=k;m=m+1|0;if((m|0)==(g|0))break;else n=n+24|0}p=d+(g<<1<<3)|0;q=g;r=e+(l<<3)|0}else{p=d;q=0;r=e}if((q|0)<(h|0)){e=h-q|0;d=q;l=r;g=p;while(1){p=a+((f[c+(d<<2)>>2]|0)*3<<2)|0;n=g;m=f[p>>2]|0;k=wVa(f[n>>2]|0,f[n+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;m=I;n=g+8|0;j=n;b=f[p+12>>2]|0;o=wVa(f[j>>2]|0,f[j+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=qVa(o|0,I|0,k|0,m|0)|0;m=l;f[m>>2]=b;f[m+4>>2]=I;m=g;b=f[p+4>>2]|0;k=wVa(f[m>>2]|0,f[m+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=I;m=n;o=f[p+16>>2]|0;j=wVa(f[m>>2]|0,f[m+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;o=qVa(j|0,I|0,k|0,b|0)|0;b=l+8|0;f[b>>2]=o;f[b+4>>2]=I;b=g;o=f[p+8>>2]|0;k=wVa(f[b>>2]|0,f[b+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;o=I;b=n;n=f[p+20>>2]|0;p=wVa(f[b>>2]|0,f[b+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;n=qVa(p|0,I|0,k|0,o|0)|0;o=l+16|0;f[o>>2]=n;f[o+4>>2]=I;d=d+1|0;if((d|0)==(h|0))break;else{l=l+24|0;g=g+16|0}}s=h;t=r+(e*3<<3)|0}else{s=q;t=r}r=a+((f[c+(i+-1<<2)>>2]|0)*3<<2)|0;c=f[r>>2]|0;a=f[r+4>>2]|0;q=f[r+8>>2]|0;if((s|0)<(i|0)){u=t;v=s}else return;while(1){s=u;f[s>>2]=0;f[s+4>>2]=c;s=u+8|0;f[s>>2]=0;f[s+4>>2]=a;s=u+16|0;f[s>>2]=0;f[s+4>>2]=q;v=v+1|0;if((v|0)==(i|0))break;else u=u+24|0}return}function N4(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;R4(a,b,c,d,e,f,g,h);return}function O4(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=f[a>>2]|0;j=f[a+4>>2]|0;k=f[a+8>>2]|0;l=f[a+12>>2]|0;if((g|0)>0){m=g<<2;n=0;o=e;while(1){p=o;f[p>>2]=0;f[p+4>>2]=b;p=o+8|0;f[p>>2]=0;f[p+4>>2]=j;p=o+16|0;f[p>>2]=0;f[p+4>>2]=k;p=o+24|0;f[p>>2]=0;f[p+4>>2]=l;n=n+1|0;if((n|0)==(g|0))break;else o=o+32|0}q=d+(g<<1<<3)|0;r=g;s=e+(m<<3)|0}else{q=d;r=0;s=e}if((r|0)<(h|0)){e=h-r|0;d=r;m=s;g=q;while(1){q=a+(f[c+(d<<2)>>2]<<2<<2)|0;o=g;n=f[q>>2]|0;l=wVa(f[o>>2]|0,f[o+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;n=I;o=g+8|0;k=o;j=f[q+16>>2]|0;b=wVa(f[k>>2]|0,f[k+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;j=qVa(b|0,I|0,l|0,n|0)|0;n=m;f[n>>2]=j;f[n+4>>2]=I;n=g;j=f[q+4>>2]|0;l=wVa(f[n>>2]|0,f[n+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;j=I;n=o;b=f[q+20>>2]|0;k=wVa(f[n>>2]|0,f[n+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=qVa(k|0,I|0,l|0,j|0)|0;j=m+8|0;f[j>>2]=b;f[j+4>>2]=I;j=g;b=f[q+8>>2]|0;l=wVa(f[j>>2]|0,f[j+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=I;j=o;k=f[q+24>>2]|0;n=wVa(f[j>>2]|0,f[j+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;k=qVa(n|0,I|0,l|0,b|0)|0;b=m+16|0;f[b>>2]=k;f[b+4>>2]=I;b=g;k=f[q+12>>2]|0;l=wVa(f[b>>2]|0,f[b+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;k=I;b=o;o=f[q+28>>2]|0;q=wVa(f[b>>2]|0,f[b+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;o=qVa(q|0,I|0,l|0,k|0)|0;k=m+24|0;f[k>>2]=o;f[k+4>>2]=I;d=d+1|0;if((d|0)==(h|0))break;else{m=m+32|0;g=g+16|0}}t=h;u=s+(e<<2<<3)|0}else{t=r;u=s}s=a+(f[c+(i+-1<<2)>>2]<<2<<2)|0;c=f[s>>2]|0;a=f[s+4>>2]|0;r=f[s+8>>2]|0;e=f[s+12>>2]|0;if((t|0)<(i|0)){v=u;w=t}else return;while(1){t=v;f[t>>2]=0;f[t+4>>2]=c;t=v+8|0;f[t>>2]=0;f[t+4>>2]=a;t=v+16|0;f[t>>2]=0;f[t+4>>2]=r;t=v+24|0;f[t>>2]=0;f[t+4>>2]=e;w=w+1|0;if((w|0)==(i|0))break;else v=v+32|0}return}function P4(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;R4(a,b,c,d,e,f,g,h);return}function Q4(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;do if((g|0)>0){j=g<<1;if((b|0)<=0){k=d+(j<<3)|0;l=e;m=g;break}n=X(g,b)|0;o=e;p=0;while(1){q=0;r=o;while(1){s=f[a+(q<<2)>>2]|0;t=r;f[t>>2]=0;f[t+4>>2]=s;q=q+1|0;if((q|0)==(b|0))break;else r=r+8|0}p=p+1|0;if((p|0)==(g|0))break;else o=o+(b<<3)|0}k=d+(j<<3)|0;l=e+(n<<3)|0;m=g}else{k=d;l=e;m=0}while(0);if((m|0)<(h|0))if((b|0)>0){e=l+((X(h-m|0,b)|0)<<3)|0;d=m;g=k;k=l;while(1){o=a+((X(f[c+(d<<2)>>2]|0,b)|0)<<2)|0;p=g+8|0;r=0;q=k;while(1){s=g;t=f[o+(r<<2)>>2]|0;u=wVa(f[s>>2]|0,f[s+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;t=I;s=q;f[s>>2]=u;f[s+4>>2]=t;s=p;v=f[o+(r+b<<2)>>2]|0;w=wVa(f[s>>2]|0,f[s+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;v=qVa(w|0,I|0,u|0,t|0)|0;t=q;f[t>>2]=v;f[t+4>>2]=I;r=r+1|0;if((r|0)==(b|0))break;else q=q+8|0}d=d+1|0;if((d|0)==(h|0)){x=h;y=e;break}else{g=g+16|0;k=k+(b<<3)|0}}}else{x=h;y=l}else{x=m;y=l}l=a+((X(f[c+(i+-1<<2)>>2]|0,b)|0)<<2)|0;if((x|0)<(i|0)&(b|0)>0){z=x;A=y}else return;while(1){y=0;x=A;while(1){c=f[l+(y<<2)>>2]|0;a=x;f[a>>2]=0;f[a+4>>2]=c;y=y+1|0;if((y|0)==(b|0))break;else x=x+8|0}z=z+1|0;if((z|0)==(i|0))break;else A=A+(b<<3)|0}return}function R4(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;do if((g|0)>0){j=g<<1;if((b|0)<=0){k=d+(j<<3)|0;l=e;m=g;break}n=X(g,b)|0;o=e;p=0;while(1){q=0;r=o;while(1){s=f[a+(q<<2)>>2]|0;t=r;f[t>>2]=0;f[t+4>>2]=s;q=q+1|0;if((q|0)==(b|0))break;else r=r+8|0}p=p+1|0;if((p|0)==(g|0))break;else o=o+(b<<3)|0}k=d+(j<<3)|0;l=e+(n<<3)|0;m=g}else{k=d;l=e;m=0}while(0);if((m|0)<(h|0))if((b|0)>0){e=l+((X(h-m|0,b)|0)<<3)|0;d=k;k=m;g=l;while(1){o=a+((X(f[c+(k<<2)>>2]|0,b)|0)<<2)|0;p=d+8|0;r=0;q=g;while(1){s=d;t=f[s>>2]|0;u=f[s+4>>2]|0;if((t|0)==0&(u|0)==0){v=0;w=0}else{s=f[o+(r<<2)>>2]|0;x=wVa(t|0,u|0,s|0,((s|0)<0)<<31>>31|0)|0;v=x;w=I}x=q;f[x>>2]=v;f[x+4>>2]=w;x=p;s=f[x>>2]|0;u=f[x+4>>2]|0;if((s|0)==0&(u|0)==0){y=0;z=0}else{x=f[o+(r+b<<2)>>2]|0;t=wVa(s|0,u|0,x|0,((x|0)<0)<<31>>31|0)|0;y=t;z=I}t=qVa(v|0,w|0,y|0,z|0)|0;x=q;f[x>>2]=t;f[x+4>>2]=I;r=r+1|0;if((r|0)==(b|0))break;else q=q+8|0}k=k+1|0;if((k|0)==(h|0)){A=h;B=e;break}else{d=d+16|0;g=g+(b<<3)|0}}}else{A=h;B=l}else{A=m;B=l}l=a+((X(f[c+(i+-1<<2)>>2]|0,b)|0)<<2)|0;if((A|0)<(i|0)&(b|0)>0){C=A;D=B}else return;while(1){B=0;A=D;while(1){c=f[l+(B<<2)>>2]|0;a=A;f[a>>2]=0;f[a+4>>2]=c;B=B+1|0;if((B|0)==(b|0))break;else A=A+8|0}C=C+1|0;if((C|0)==(i|0))break;else D=D+(b<<3)|0}return}function S4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+64|0;g=e+48|0;h=e+40|0;i=e+32|0;j=e+24|0;k=e+16|0;l=e+8|0;m=e;CAa(j,b);p[h>>3]=.5;KAa(g,j,h);OAa(k,a,g);p[l>>3]=.5;NAa(i,k,l);k=HAa(i)|0;if((k|0)>-1?(j=f[a+8>>2]|0,(j|0)>1):0){n=j+-1|0;if((k|0)<(n|0)){f[c>>2]=k;CAa(m,k);NAa(l,i,m);DAa(h,0,1);OAa(g,l,h);h=IAa(g)|0;g=I;l=d+8|0;f[l>>2]=h;f[l+4>>2]=g;l=rVa(0,1,h|0,g|0)|0;g=d;f[g>>2]=l;f[g+4>>2]=I;u=e;return}else{f[c>>2]=n;n=a+16|0;c=f[n>>2]|0;f[n>>2]=(c|0)>(b|0)?b:c;u=e;return}}c=a+12|0;a=b+1|0;b=f[c>>2]|0;f[c>>2]=(b|0)<(a|0)?a:b;u=e;return}function T4(a){a=a|0;GQa(a);return}function U4(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0;c=u;u=u+1120|0;d=c+16|0;e=c;g=a+28|0;h=f[g>>2]|0;i=a+36|0;j=f[i>>2]|0;k=X(h<<1,j)|0;l=d+8|0;FVa(l|0,0,1088)|0;f[d>>2]=l;m=d+4|0;f[m>>2]=k;if(k>>>0>136){n=FQa(k>>>0>536870911?-1:k<<3)|0;FVa(n|0,0,k<<3|0)|0;f[d>>2]=n;o=n}else o=l;n=f[a+64>>2]|0;k=f[b>>2]|0;p=(n|0)<(k|0)?k:n;q=b+4|0;r=f[q>>2]|0;s=f[a+68>>2]|0;t=(r|0)<(s|0)?r:s;if((k|0)<(n|0)){qi[f[a+72>>2]&255](f[a+4>>2]|0,j,f[a+40>>2]|0,f[a+48>>2]|0,o,f[a+56>>2]|0,f[a+60>>2]|0,h);v=-1;w=1;x=f[b>>2]|0}else{v=-2;w=0;x=k}if((x|0)<(p|0)){k=f[d>>2]|0;b=f[a+20>>2]|0;h=a+24|0;o=x;do{j=b+(X(f[h>>2]|0,o)|0)|0;n=X(f[i>>2]|0,f[g>>2]|0)|0;if((n|0)>0){s=0;do{r=k+(s<<3)|0;y=qVa(f[r>>2]|0,f[r+4>>2]|0,-2147483648,0)|0;r=zVa(y|0,I|0,32)|0;y=I;z=qVa(r|0,y|0,-2147483648,0)|0;A=I;f[j+(s<<2)>>2]=A>>>0<1|(A|0)==1&z>>>0<0?r:(y|0)>0|(y|0)==0&r>>>0>0?2147483647:-2147483648;s=s+1|0}while((s|0)!=(n|0))}o=o+1|0}while((o|0)<(p|0));B=p}else B=x;if((B|0)<(t|0)){x=a+44|0;p=a+16|0;o=a+20|0;k=a+24|0;h=e+8|0;b=a+52|0;n=a+72|0;s=a+4|0;j=a+8|0;r=a+40|0;y=a+48|0;z=a+56|0;A=a+60|0;C=v;D=w;E=B;F=0;while(1){G=B+F<<1;H=(f[x>>2]|0)+(E<<2)|0;J=C+2|0;K=f[H>>2]|0;L=(K|0)<(J|0)?J:K;J=K+2|0;M=f[p>>2]|0;if((L|0)<(((M|0)<(J|0)?M:J)|0)){J=L;L=D;while(1){N=(f[s>>2]|0)+(X(f[j>>2]|0,J)|0)|0;O=f[i>>2]|0;P=f[g>>2]|0;Q=(f[d>>2]|0)+((X(X(O,L)|0,P)|0)<<3)|0;qi[f[n>>2]&255](N,O,f[r>>2]|0,f[y>>2]|0,Q,f[z>>2]|0,f[A>>2]|0,P);J=J+1|0;P=(L+1|0)%2|0;Q=f[H>>2]|0;O=Q+2|0;N=f[p>>2]|0;if((J|0)>=(((N|0)<(O|0)?N:O)|0)){R=P;S=N;T=Q;break}else L=P}}else{R=D;S=M;T=K}L=S+-2|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;J=(((T|0)<(L|0)?L:T)+R-((C|0)<(L|0)?L:C)|0)%2|0;if((J|0)>0){DVa(e|0,(f[b>>2]|0)+((E<<1)+2-J<<3)|0,J<<3|0)|0;U=J}else U=0;DVa(e+(U<<3)|0,(f[b>>2]|0)+(U+G-J<<3)|0,16-(U<<3)|0)|0;L=f[d>>2]|0;H=X(f[i>>2]|0,f[g>>2]|0)|0;P=(f[o>>2]|0)+(X(f[k>>2]|0,E)|0)|0;if((H|0)>0){Q=e;N=f[Q>>2]|0;O=f[Q+4>>2]|0;Q=zVa(N|0,O|0,63)|0;V=I;W=rVa(Q^N|0,V^O|0,Q|0,V|0)|0;O=I;N=h;Y=f[N>>2]|0;Z=f[N+4>>2]|0;N=zVa(Y|0,Z|0,63)|0;_=I;$=rVa(N^Y|0,_^Z|0,N|0,_|0)|0;Z=I;Y=0;do{aa=L+(Y<<3)|0;ba=f[aa>>2]|0;ca=f[aa+4>>2]|0;aa=zVa(ba|0,ca|0,63)|0;da=I;ea=rVa(aa^ba|0,da^ca|0,aa|0,da|0)|0;ca=I;ba=wVa(ea|0,0,W|0,0)|0;qVa(ba|0,I|0,-2147483648,0)|0;ba=I;fa=wVa(ca|0,0,W|0,0)|0;ga=I;ha=wVa(ea|0,0,O|0,0)|0;ea=I;ia=wVa(ca|0,0,O|0,0)|0;ca=qVa(fa|0,0,ha|0,0)|0;ha=qVa(ca|0,I|0,ba|0,0)|0;ba=I;ca=qVa(ia|0,0,ga|0,0)|0;ga=qVa(ca|0,I|0,ea|0,0)|0;ea=qVa(ga|0,I|0,ba|0,0)|0;ga=I;ca=(aa|0)==(Q|0)&(da|0)==(V|0);da=rVa(0,0,ha|0,ba|0)|0;ba=(da|0)!=0|0!=0;aa=rVa(0,0,ea|0,ga|0)|0;ia=ba?~ea:aa;aa=ba?ga:I;ga=ca?ha:da;da=ca?ea:ia;ia=L+(Y+H<<3)|0;ea=f[ia>>2]|0;ca=f[ia+4>>2]|0;ia=zVa(ea|0,ca|0,63)|0;ha=I;ba=rVa(ia^ea|0,ha^ca|0,ia|0,ha|0)|0;ca=I;ea=wVa(ba|0,0,$|0,0)|0;qVa(ea|0,I|0,-2147483648,0)|0;ea=I;aa=wVa(ca|0,0,$|0,0)|0;fa=I;ja=wVa(ba|0,0,Z|0,0)|0;ba=I;ka=wVa(ca|0,0,Z|0,0)|0;ca=qVa(aa|0,0,ja|0,0)|0;ja=qVa(ca|0,I|0,ea|0,0)|0;ea=I;ca=qVa(ka|0,0,fa|0,0)|0;fa=qVa(ca|0,I|0,ba|0,0)|0;ba=qVa(fa|0,I|0,ea|0,0)|0;fa=I;ca=(ia|0)==(N|0)&(ha|0)==(_|0);ha=rVa(0,0,ja|0,ea|0)|0;ea=(ha|0)!=0|0!=0;ia=rVa(0,0,ba|0,fa|0)|0;ka=ea?~ba:ia;ia=ea?fa:I;fa=ca?ja:ha;ha=ca?ba:ka;ka=qVa(ga|0,da|0,-2147483648,0)|0;da=qVa(ka|0,I|0,fa|0,ha|0)|0;ha=zVa(da|0,I|0,32)|0;da=I;fa=qVa(ha|0,da|0,-2147483648,0)|0;ka=I;f[P+(Y<<2)>>2]=ka>>>0<1|(ka|0)==1&fa>>>0<0?ha:(da|0)>0|(da|0)==0&ha>>>0>0?2147483647:-2147483648;Y=Y+1|0}while((Y|0)!=(H|0))}H=E+1|0;if((H|0)<(t|0)){C=T;D=J;E=H;F=F+1|0}else{la=T;ma=J;na=H;oa=L;pa=p;break}}}else{la=v;ma=w;na=B;oa=f[d>>2]|0;pa=a+16|0}B=f[pa>>2]|0;if((la+2|0)>(B|0))qa=oa+((X(X(f[g>>2]|0,(ma+~la+B|0)%2|0)|0,f[i>>2]|0)|0)<<3)|0;else{la=(f[a+4>>2]|0)+(X(f[a+8>>2]|0,B+-1|0)|0)|0;qi[f[a+72>>2]&255](la,f[i>>2]|0,f[a+40>>2]|0,f[a+48>>2]|0,oa,f[a+56>>2]|0,f[a+60>>2]|0,f[g>>2]|0);qa=oa}oa=f[q>>2]|0;if((na|0)<(oa|0)){la=f[a+20>>2]|0;B=a+24|0;a=na;na=oa;while(1){oa=la+(X(f[B>>2]|0,a)|0)|0;ma=X(f[i>>2]|0,f[g>>2]|0)|0;if((ma|0)>0){pa=0;do{w=qa+(pa<<3)|0;v=qVa(f[w>>2]|0,f[w+4>>2]|0,-2147483648,0)|0;w=zVa(v|0,I|0,32)|0;v=I;p=qVa(w|0,v|0,-2147483648,0)|0;T=I;f[oa+(pa<<2)>>2]=T>>>0<1|(T|0)==1&p>>>0<0?w:(v|0)>0|(v|0)==0&w>>>0>0?2147483647:-2147483648;pa=pa+1|0}while((pa|0)!=(ma|0));ra=f[q>>2]|0}else ra=na;a=a+1|0;if((a|0)>=(ra|0))break;else na=ra}}ra=f[d>>2]|0;if((ra|0)==(l|0)){u=c;return}if(ra|0)HQa(ra);f[d>>2]=l;f[m>>2]=136;u=c;return}function V4(a,b,c,e,g,h,i,k){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;b=j[a>>1]<<16;if((h|0)>0){l=0;m=g;while(1){f[m>>2]=b;l=l+1|0;if((l|0)==(h|0))break;else m=m+4|0}n=e+(h<<1<<2)|0;o=h;p=g+(h<<2)|0}else{n=e;o=0;p=g}if((o|0)<(i|0)){g=n;n=o;e=p;while(1){h=a+(f[c+(n<<2)>>2]<<1)|0;m=X(f[g>>2]|0,d[h>>1]|0)|0;l=(X(f[g+4>>2]|0,d[h+2>>1]|0)|0)+m|0;f[e>>2]=l;n=n+1|0;if((n|0)==(i|0))break;else{g=g+8|0;e=e+4|0}}q=i;r=p+(i-o<<2)|0}else{q=o;r=p}p=j[a+(f[c+(k+-1<<2)>>2]<<1)>>1]<<16;if((q|0)<(k|0)){s=q;t=r}else return;while(1){f[t>>2]=p;s=s+1|0;if((s|0)==(k|0))break;else t=t+4|0}return}function W4(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;c5(a,b,c,d,e,f,g,h);return}function X4(a,b,c,e,g,h,i,k){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;b=j[a>>1]<<16;l=j[a+2>>1]<<16;if((h|0)>0){m=h<<1;n=0;o=g;while(1){f[o>>2]=b;f[o+4>>2]=l;n=n+1|0;if((n|0)==(h|0))break;else o=o+8|0}p=e+(m<<2)|0;q=h;r=g+(m<<2)|0}else{p=e;q=0;r=g}if((q|0)<(i|0)){g=i-q|0;e=q;m=p;p=r;while(1){h=a+(f[c+(e<<2)>>2]<<1<<1)|0;o=X(f[m>>2]|0,d[h>>1]|0)|0;n=m+4|0;l=(X(f[n>>2]|0,d[h+4>>1]|0)|0)+o|0;f[p>>2]=l;l=X(f[m>>2]|0,d[h+2>>1]|0)|0;o=(X(f[n>>2]|0,d[h+6>>1]|0)|0)+l|0;f[p+4>>2]=o;e=e+1|0;if((e|0)==(i|0))break;else{m=m+8|0;p=p+8|0}}s=i;t=r+(g<<1<<2)|0}else{s=q;t=r}r=a+(f[c+(k+-1<<2)>>2]<<1<<1)|0;c=j[r>>1]<<16;a=j[r+2>>1]<<16;if((s|0)<(k|0)){u=s;v=t}else return;while(1){f[v>>2]=c;f[v+4>>2]=a;u=u+1|0;if((u|0)==(k|0))break;else v=v+8|0}return}function Y4(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;c5(a,b,c,d,e,f,g,h);return}function Z4(a,b,c,e,g,h,i,k){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=j[a>>1]<<16;l=j[a+2>>1]<<16;m=j[a+4>>1]<<16;if((h|0)>0){n=h*3|0;o=0;p=g;while(1){f[p>>2]=b;f[p+4>>2]=l;f[p+8>>2]=m;o=o+1|0;if((o|0)==(h|0))break;else p=p+12|0}q=e+(h<<1<<2)|0;r=h;s=g+(n<<2)|0}else{q=e;r=0;s=g}if((r|0)<(i|0)){g=i-r|0;e=r;n=s;h=q;while(1){q=a+((f[c+(e<<2)>>2]|0)*3<<1)|0;p=X(f[h>>2]|0,d[q>>1]|0)|0;o=h+4|0;m=(X(f[o>>2]|0,d[q+6>>1]|0)|0)+p|0;f[n>>2]=m;m=X(f[h>>2]|0,d[q+2>>1]|0)|0;p=(X(f[o>>2]|0,d[q+8>>1]|0)|0)+m|0;f[n+4>>2]=p;p=X(f[h>>2]|0,d[q+4>>1]|0)|0;m=(X(f[o>>2]|0,d[q+10>>1]|0)|0)+p|0;f[n+8>>2]=m;e=e+1|0;if((e|0)==(i|0))break;else{n=n+12|0;h=h+8|0}}t=i;u=s+(g*3<<2)|0}else{t=r;u=s}s=a+((f[c+(k+-1<<2)>>2]|0)*3<<1)|0;c=j[s>>1]<<16;a=j[s+2>>1]<<16;r=j[s+4>>1]<<16;if((t|0)<(k|0)){v=u;w=t}else return;while(1){f[v>>2]=c;f[v+4>>2]=a;f[v+8>>2]=r;w=w+1|0;if((w|0)==(k|0))break;else v=v+12|0}return}function _4(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;c5(a,b,c,d,e,f,g,h);return}function $4(a,b,c,e,g,h,i,k){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;b=j[a>>1]<<16;l=j[a+2>>1]<<16;m=j[a+4>>1]<<16;n=j[a+6>>1]<<16;if((h|0)>0){o=h<<2;p=0;q=g;while(1){f[q>>2]=b;f[q+4>>2]=l;f[q+8>>2]=m;f[q+12>>2]=n;p=p+1|0;if((p|0)==(h|0))break;else q=q+16|0}r=e+(h<<1<<2)|0;s=h;t=g+(o<<2)|0}else{r=e;s=0;t=g}if((s|0)<(i|0)){g=i-s|0;e=s;o=t;h=r;while(1){r=a+(f[c+(e<<2)>>2]<<2<<1)|0;q=X(f[h>>2]|0,d[r>>1]|0)|0;p=h+4|0;n=(X(f[p>>2]|0,d[r+8>>1]|0)|0)+q|0;f[o>>2]=n;n=X(f[h>>2]|0,d[r+2>>1]|0)|0;q=(X(f[p>>2]|0,d[r+10>>1]|0)|0)+n|0;f[o+4>>2]=q;q=X(f[h>>2]|0,d[r+4>>1]|0)|0;n=(X(f[p>>2]|0,d[r+12>>1]|0)|0)+q|0;f[o+8>>2]=n;n=X(f[h>>2]|0,d[r+6>>1]|0)|0;q=(X(f[p>>2]|0,d[r+14>>1]|0)|0)+n|0;f[o+12>>2]=q;e=e+1|0;if((e|0)==(i|0))break;else{o=o+16|0;h=h+8|0}}u=i;v=t+(g<<2<<2)|0}else{u=s;v=t}t=a+(f[c+(k+-1<<2)>>2]<<2<<1)|0;c=j[t>>1]<<16;a=j[t+2>>1]<<16;s=j[t+4>>1]<<16;g=j[t+6>>1]<<16;if((u|0)<(k|0)){w=v;x=u}else return;while(1){f[w>>2]=c;f[w+4>>2]=a;f[w+8>>2]=s;f[w+12>>2]=g;x=x+1|0;if((x|0)==(k|0))break;else w=w+16|0}return}function a5(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;c5(a,b,c,d,e,f,g,h);return}function b5(a,b,c,e,g,h,i,k){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;do if((h|0)>0){l=h<<1;if((b|0)<=0){m=e+(l<<2)|0;n=g;o=h;break}p=X(h,b)|0;q=g;r=0;while(1){s=0;t=q;while(1){f[t>>2]=j[a+(s<<1)>>1]<<16;s=s+1|0;if((s|0)==(b|0))break;else t=t+4|0}r=r+1|0;if((r|0)==(h|0))break;else q=q+(b<<2)|0}m=e+(l<<2)|0;n=g+(p<<2)|0;o=h}else{m=e;n=g;o=0}while(0);if((o|0)<(i|0))if((b|0)>0){g=n+((X(i-o|0,b)|0)<<2)|0;e=o;h=m;m=n;while(1){q=a+((X(f[c+(e<<2)>>2]|0,b)|0)<<1)|0;r=h+4|0;t=0;s=m;while(1){u=X(f[h>>2]|0,d[q+(t<<1)>>1]|0)|0;f[s>>2]=u;v=(X(f[r>>2]|0,d[q+(t+b<<1)>>1]|0)|0)+u|0;f[s>>2]=v;t=t+1|0;if((t|0)==(b|0))break;else s=s+4|0}e=e+1|0;if((e|0)==(i|0)){w=i;x=g;break}else{h=h+8|0;m=m+(b<<2)|0}}}else{w=i;x=n}else{w=o;x=n}n=a+((X(f[c+(k+-1<<2)>>2]|0,b)|0)<<1)|0;if((w|0)<(k|0)&(b|0)>0){y=w;z=x}else return;while(1){x=0;w=z;while(1){f[w>>2]=j[n+(x<<1)>>1]<<16;x=x+1|0;if((x|0)==(b|0))break;else w=w+4|0}y=y+1|0;if((y|0)==(k|0))break;else z=z+(b<<2)|0}return}function c5(a,b,c,e,g,h,i,k){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;do if((h|0)>0){l=h<<1;if((b|0)<=0){m=e+(l<<2)|0;n=g;o=h;break}p=X(h,b)|0;q=g;r=0;while(1){s=0;t=q;while(1){f[t>>2]=j[a+(s<<1)>>1]<<16;s=s+1|0;if((s|0)==(b|0))break;else t=t+4|0}r=r+1|0;if((r|0)==(h|0))break;else q=q+(b<<2)|0}m=e+(l<<2)|0;n=g+(p<<2)|0;o=h}else{m=e;n=g;o=0}while(0);if((o|0)<(i|0))if((b|0)>0){g=n+((X(i-o|0,b)|0)<<2)|0;e=m;m=o;h=n;while(1){q=a+((X(f[c+(m<<2)>>2]|0,b)|0)<<1)|0;r=e+4|0;t=0;s=h;while(1){u=f[e>>2]|0;if(!u)v=0;else v=X(u,d[q+(t<<1)>>1]|0)|0;f[s>>2]=v;u=f[r>>2]|0;if(!u)w=0;else w=X(u,d[q+(t+b<<1)>>1]|0)|0;f[s>>2]=v+w;t=t+1|0;if((t|0)==(b|0))break;else s=s+4|0}m=m+1|0;if((m|0)==(i|0)){x=i;y=g;break}else{e=e+8|0;h=h+(b<<2)|0}}}else{x=i;y=n}else{x=o;y=n}n=a+((X(f[c+(k+-1<<2)>>2]|0,b)|0)<<1)|0;if((x|0)<(k|0)&(b|0)>0){z=x;A=y}else return;while(1){y=0;x=A;while(1){f[x>>2]=j[n+(y<<1)>>1]<<16;y=y+1|0;if((y|0)==(b|0))break;else x=x+4|0}z=z+1|0;if((z|0)==(k|0))break;else A=A+(b<<2)|0}return}function d5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+64|0;g=e+48|0;h=e+40|0;i=e+32|0;j=e+24|0;k=e+16|0;l=e+8|0;m=e;CAa(j,b);p[h>>3]=.5;KAa(g,j,h);OAa(k,a,g);p[l>>3]=.5;NAa(i,k,l);k=HAa(i)|0;if((k|0)>-1?(j=f[a+8>>2]|0,(j|0)>1):0){n=j+-1|0;if((k|0)<(n|0)){f[c>>2]=k;CAa(m,k);NAa(l,i,m);CAa(h,65536);OAa(g,l,h);h=GAa(g)|0;f[d+4>>2]=h;f[d>>2]=65536-h;u=e;return}else{f[c>>2]=n;n=a+16|0;c=f[n>>2]|0;f[n>>2]=(c|0)>(b|0)?b:c;u=e;return}}c=a+12|0;a=b+1|0;b=f[c>>2]|0;f[c>>2]=(b|0)<(a|0)?a:b;u=e;return}function e5(a){a=a|0;GQa(a);return}function f5(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;c=u;u=u+1072|0;e=c+8|0;g=c;h=a+28|0;i=f[h>>2]|0;j=a+36|0;k=f[j>>2]|0;l=X(i<<1,k)|0;m=e+8|0;FVa(m|0,0,1056)|0;f[e>>2]=m;n=e+4|0;f[n>>2]=l;if(l>>>0>264){o=FQa(l>>>0>1073741823?-1:l<<2)|0;FVa(o|0,0,l<<2|0)|0;f[e>>2]=o;p=o}else p=m;o=f[a+64>>2]|0;l=f[b>>2]|0;q=(o|0)<(l|0)?l:o;r=b+4|0;s=f[r>>2]|0;t=f[a+68>>2]|0;v=(s|0)<(t|0)?s:t;if((l|0)<(o|0)){qi[f[a+72>>2]&255](f[a+4>>2]|0,k,f[a+40>>2]|0,f[a+48>>2]|0,p,f[a+56>>2]|0,f[a+60>>2]|0,i);w=-1;x=1;y=f[b>>2]|0}else{w=-2;x=0;y=l}if((y|0)<(q|0)){l=f[e>>2]|0;b=f[a+20>>2]|0;i=f[a+24>>2]|0;p=X(f[j>>2]|0,f[h>>2]|0)|0;if((p|0)>0){k=y;do{o=b+(X(i,k)|0)|0;t=0;do{s=(f[l+(t<<2)>>2]|0)+32768>>16;d[o+(t<<1)>>1]=(s+32768|0)>>>0<65536?s:(s|0)>0?32767:32768;t=t+1|0}while((t|0)!=(p|0));k=k+1|0}while((k|0)<(q|0));z=q}else z=q}else z=y;if((z|0)<(v|0)){y=a+44|0;q=a+16|0;k=a+20|0;p=a+24|0;l=g+4|0;i=a+52|0;b=a+72|0;t=a+4|0;o=a+8|0;s=a+40|0;A=a+48|0;B=a+56|0;C=a+60|0;D=w;E=x;F=z;G=0;while(1){H=z+G<<1;J=(f[y>>2]|0)+(F<<2)|0;K=D+2|0;L=f[J>>2]|0;M=(L|0)<(K|0)?K:L;K=L+2|0;N=f[q>>2]|0;if((M|0)<(((N|0)<(K|0)?N:K)|0)){K=M;M=E;while(1){O=(f[t>>2]|0)+(X(f[o>>2]|0,K)|0)|0;P=f[j>>2]|0;Q=f[h>>2]|0;R=(f[e>>2]|0)+((X(X(P,M)|0,Q)|0)<<2)|0;qi[f[b>>2]&255](O,P,f[s>>2]|0,f[A>>2]|0,R,f[B>>2]|0,f[C>>2]|0,Q);K=K+1|0;Q=(M+1|0)%2|0;R=f[J>>2]|0;P=R+2|0;O=f[q>>2]|0;if((K|0)>=(((O|0)<(P|0)?O:P)|0)){S=Q;T=O;U=R;break}else M=Q}}else{S=E;T=N;U=L}M=T+-2|0;K=g;f[K>>2]=0;f[K+4>>2]=0;K=(((U|0)<(M|0)?M:U)+S-((D|0)<(M|0)?M:D)|0)%2|0;if((K|0)>0){DVa(g|0,(f[i>>2]|0)+((F<<1)+2-K<<2)|0,K<<2|0)|0;V=K}else V=0;DVa(g+(V<<2)|0,(f[i>>2]|0)+(V+H-K<<2)|0,8-(V<<2)|0)|0;M=f[e>>2]|0;J=X(f[j>>2]|0,f[h>>2]|0)|0;Q=(f[k>>2]|0)+(X(f[p>>2]|0,F)|0)|0;if((J|0)>0){R=f[g>>2]|0;O=((R|0)<0)<<31>>31;P=f[l>>2]|0;W=((P|0)<0)<<31>>31;Y=0;do{Z=f[M+(Y<<2)>>2]|0;_=wVa(Z|0,((Z|0)<0)<<31>>31|0,R|0,O|0)|0;Z=I;$=f[M+(Y+J<<2)>>2]|0;aa=wVa($|0,(($|0)<0)<<31>>31|0,P|0,W|0)|0;$=I;ba=qVa(_|0,Z|0,-2147483648,0)|0;Z=qVa(ba|0,I|0,aa|0,$|0)|0;$=zVa(Z|0,I|0,32)|0;Z=I;aa=qVa($|0,Z|0,32768,0)|0;ba=I;d[Q+(Y<<1)>>1]=ba>>>0<0|(ba|0)==0&aa>>>0<65536?$&65535:(Z|0)>0|(Z|0)==0&$>>>0>0?32767:-32768;Y=Y+1|0}while((Y|0)!=(J|0))}J=F+1|0;if((J|0)<(v|0)){D=U;E=K;F=J;G=G+1|0}else{ca=U;da=K;ea=J;fa=M;ga=T;break}}}else{ca=w;da=x;ea=z;fa=f[e>>2]|0;ga=f[a+16>>2]|0}if((ca+2|0)>(ga|0))ha=fa+((X(X(f[h>>2]|0,(da+~ca+ga|0)%2|0)|0,f[j>>2]|0)|0)<<2)|0;else{ca=(f[a+4>>2]|0)+(X(f[a+8>>2]|0,ga+-1|0)|0)|0;qi[f[a+72>>2]&255](ca,f[j>>2]|0,f[a+40>>2]|0,f[a+48>>2]|0,fa,f[a+56>>2]|0,f[a+60>>2]|0,f[h>>2]|0);ha=fa}fa=f[r>>2]|0;if((ea|0)<(fa|0)?(r=f[a+20>>2]|0,ca=f[a+24>>2]|0,a=X(f[j>>2]|0,f[h>>2]|0)|0,(a|0)>0):0){h=ea;do{ea=r+(X(ca,h)|0)|0;j=0;do{ga=(f[ha+(j<<2)>>2]|0)+32768>>16;d[ea+(j<<1)>>1]=(ga+32768|0)>>>0<65536?ga:(ga|0)>0?32767:32768;j=j+1|0}while((j|0)!=(a|0));h=h+1|0}while((h|0)<(fa|0))}fa=f[e>>2]|0;if((fa|0)==(m|0)){u=c;return}if(fa|0)HQa(fa);f[e>>2]=m;f[n>>2]=264;u=c;return}function g5(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;b=(j[a>>1]|0)<<16;k=g+-3|0;if((g|0)>3){l=d+(((g+2147483644|0)>>>2<<3)+8<<2)|0;m=0;n=e;while(1){f[n>>2]=b;f[n+4>>2]=b;f[n+8>>2]=b;f[n+12>>2]=b;m=m+4|0;if((m|0)>=(k|0))break;else n=n+16|0}n=g&-4;o=l;p=n;q=e+(n<<2)|0}else{o=d;p=0;q=e}if((p|0)<(g|0)){e=g-p|0;d=g-p<<1;n=p;l=q;while(1){f[l>>2]=b;n=n+1|0;if((n|0)==(g|0))break;else l=l+4|0}r=o+(d<<2)|0;s=g;t=q+(e<<2)|0}else{r=o;s=p;t=q}q=h+-3|0;a:do if((s|0)<(q|0)){p=c+(i+-1<<2)|0;o=r;e=s;g=t;while(1){d=f[c+(e+3<<2)>>2]|0;if((d+8|0)>(f[p>>2]|0)){u=o;v=e;w=g;break a}l=a+(f[c+(e<<2)>>2]<<1)|0;n=a+(f[c+(e+1<<2)>>2]<<1)|0;b=a+(f[c+(e+2<<2)>>2]<<1)|0;k=a+(d<<1)|0;d=o+16|0;m=(X(f[o+4>>2]|0,j[l+2>>1]|0)|0)+(X(f[o>>2]|0,j[l>>1]|0)|0)|0;l=(X(f[o+12>>2]|0,j[n+2>>1]|0)|0)+(X(f[o+8>>2]|0,j[n>>1]|0)|0)|0;n=(X(f[d+4>>2]|0,j[b+2>>1]|0)|0)+(X(f[d>>2]|0,j[b>>1]|0)|0)|0;b=(X(f[d+8>>2]|0,j[k>>1]|0)|0)+(X(f[d+12>>2]|0,j[k+2>>1]|0)|0)|0;f[g>>2]=m;f[g+4>>2]=l;f[g+8>>2]=n;f[g+12>>2]=b;b=e+4|0;n=o+32|0;l=g+16|0;if((b|0)<(q|0)){o=n;e=b;g=l}else{u=n;v=b;w=l;break}}}else{u=r;v=s;w=t}while(0);if((v|0)<(h|0)){t=h-v|0;s=u;u=v;r=w;while(1){q=a+(f[c+(u<<2)>>2]<<1)|0;g=X(f[s>>2]|0,j[q>>1]|0)|0;e=(X(f[s+4>>2]|0,j[q+2>>1]|0)|0)+g|0;f[r>>2]=e;u=u+1|0;if((u|0)==(h|0))break;else{s=s+8|0;r=r+4|0}}x=h;y=w+(t<<2)|0}else{x=v;y=w}w=(j[a+(f[c+(i+-1<<2)>>2]<<1)>>1]|0)<<16;c=i+-3|0;if((x|0)<(c|0)){a=i+-4-x&-4;v=x+a|0;t=a+4|0;a=x;h=y;while(1){f[h>>2]=w;f[h+4>>2]=w;f[h+8>>2]=w;f[h+12>>2]=w;a=a+4|0;if((a|0)>=(c|0))break;else h=h+16|0}z=v+4|0;A=y+(t<<2)|0}else{z=x;A=y}if((z|0)<(i|0)){B=z;C=A}else return;while(1){f[C>>2]=w;B=B+1|0;if((B|0)==(i|0))break;else C=C+4|0}return}function h5(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;p5(a,b,c,d,e,f,g,h);return}function i5(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;b=(j[a>>1]|0)<<16;k=(j[a+2>>1]|0)<<16;if((g|0)>0){l=g<<1;m=0;n=e;while(1){f[n>>2]=b;f[n+4>>2]=k;m=m+1|0;if((m|0)==(g|0))break;else n=n+8|0}o=d+(l<<2)|0;p=g;q=e+(l<<2)|0}else{o=d;p=0;q=e}if((p|0)<(h|0)){e=h-p|0;d=p;l=o;o=q;while(1){g=a+(f[c+(d<<2)>>2]<<1<<1)|0;n=X(f[l>>2]|0,j[g>>1]|0)|0;m=l+4|0;k=(X(f[m>>2]|0,j[g+4>>1]|0)|0)+n|0;f[o>>2]=k;k=X(f[l>>2]|0,j[g+2>>1]|0)|0;n=(X(f[m>>2]|0,j[g+6>>1]|0)|0)+k|0;f[o+4>>2]=n;d=d+1|0;if((d|0)==(h|0))break;else{l=l+8|0;o=o+8|0}}r=h;s=q+(e<<1<<2)|0}else{r=p;s=q}q=a+(f[c+(i+-1<<2)>>2]<<1<<1)|0;c=(j[q>>1]|0)<<16;a=(j[q+2>>1]|0)<<16;if((r|0)<(i|0)){t=r;u=s}else return;while(1){f[u>>2]=c;f[u+4>>2]=a;t=t+1|0;if((t|0)==(i|0))break;else u=u+8|0}return}function j5(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;p5(a,b,c,d,e,f,g,h);return}function k5(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;b=(j[a>>1]|0)<<16;k=(j[a+2>>1]|0)<<16;l=(j[a+4>>1]|0)<<16;if((g|0)>0){m=g*3|0;n=0;o=e;while(1){f[o>>2]=b;f[o+4>>2]=k;f[o+8>>2]=l;n=n+1|0;if((n|0)==(g|0))break;else o=o+12|0}p=d+(g<<1<<2)|0;q=g;r=e+(m<<2)|0}else{p=d;q=0;r=e}if((q|0)<(h|0)){e=h-q|0;d=q;m=r;g=p;while(1){p=a+((f[c+(d<<2)>>2]|0)*3<<1)|0;o=X(f[g>>2]|0,j[p>>1]|0)|0;n=g+4|0;l=(X(f[n>>2]|0,j[p+6>>1]|0)|0)+o|0;f[m>>2]=l;l=X(f[g>>2]|0,j[p+2>>1]|0)|0;o=(X(f[n>>2]|0,j[p+8>>1]|0)|0)+l|0;f[m+4>>2]=o;o=X(f[g>>2]|0,j[p+4>>1]|0)|0;l=(X(f[n>>2]|0,j[p+10>>1]|0)|0)+o|0;f[m+8>>2]=l;d=d+1|0;if((d|0)==(h|0))break;else{m=m+12|0;g=g+8|0}}s=h;t=r+(e*3<<2)|0}else{s=q;t=r}r=a+((f[c+(i+-1<<2)>>2]|0)*3<<1)|0;c=(j[r>>1]|0)<<16;a=(j[r+2>>1]|0)<<16;q=(j[r+4>>1]|0)<<16;if((s|0)<(i|0)){u=t;v=s}else return;while(1){f[u>>2]=c;f[u+4>>2]=a;f[u+8>>2]=q;v=v+1|0;if((v|0)==(i|0))break;else u=u+12|0}return}function l5(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;p5(a,b,c,d,e,f,g,h);return}function m5(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=(j[a>>1]|0)<<16;k=(j[a+2>>1]|0)<<16;l=(j[a+4>>1]|0)<<16;m=(j[a+6>>1]|0)<<16;if((g|0)>0){n=g<<2;o=0;p=e;while(1){f[p>>2]=b;f[p+4>>2]=k;f[p+8>>2]=l;f[p+12>>2]=m;o=o+1|0;if((o|0)==(g|0))break;else p=p+16|0}q=d+(g<<1<<2)|0;r=g;s=e+(n<<2)|0}else{q=d;r=0;s=e}if((r|0)<(h|0)){e=h-r|0;d=r;n=s;g=q;while(1){q=a+(f[c+(d<<2)>>2]<<2<<1)|0;p=X(f[g>>2]|0,j[q>>1]|0)|0;o=g+4|0;m=(X(f[o>>2]|0,j[q+8>>1]|0)|0)+p|0;f[n>>2]=m;m=X(f[g>>2]|0,j[q+2>>1]|0)|0;p=(X(f[o>>2]|0,j[q+10>>1]|0)|0)+m|0;f[n+4>>2]=p;p=X(f[g>>2]|0,j[q+4>>1]|0)|0;m=(X(f[o>>2]|0,j[q+12>>1]|0)|0)+p|0;f[n+8>>2]=m;m=X(f[g>>2]|0,j[q+6>>1]|0)|0;p=(X(f[o>>2]|0,j[q+14>>1]|0)|0)+m|0;f[n+12>>2]=p;d=d+1|0;if((d|0)==(h|0))break;else{n=n+16|0;g=g+8|0}}t=h;u=s+(e<<2<<2)|0}else{t=r;u=s}s=a+(f[c+(i+-1<<2)>>2]<<2<<1)|0;c=(j[s>>1]|0)<<16;a=(j[s+2>>1]|0)<<16;r=(j[s+4>>1]|0)<<16;e=(j[s+6>>1]|0)<<16;if((t|0)<(i|0)){v=u;w=t}else return;while(1){f[v>>2]=c;f[v+4>>2]=a;f[v+8>>2]=r;f[v+12>>2]=e;w=w+1|0;if((w|0)==(i|0))break;else v=v+16|0}return}function n5(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;p5(a,b,c,d,e,f,g,h);return}function o5(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;do if((g|0)>0){k=g<<1;if((b|0)<=0){l=d+(k<<2)|0;m=e;n=g;break}o=X(g,b)|0;p=e;q=0;while(1){r=0;s=p;while(1){f[s>>2]=(j[a+(r<<1)>>1]|0)<<16;r=r+1|0;if((r|0)==(b|0))break;else s=s+4|0}q=q+1|0;if((q|0)==(g|0))break;else p=p+(b<<2)|0}l=d+(k<<2)|0;m=e+(o<<2)|0;n=g}else{l=d;m=e;n=0}while(0);if((n|0)<(h|0))if((b|0)>0){e=m+((X(h-n|0,b)|0)<<2)|0;d=n;g=l;l=m;while(1){p=a+((X(f[c+(d<<2)>>2]|0,b)|0)<<1)|0;q=g+4|0;s=0;r=l;while(1){t=X(f[g>>2]|0,j[p+(s<<1)>>1]|0)|0;f[r>>2]=t;u=(X(f[q>>2]|0,j[p+(s+b<<1)>>1]|0)|0)+t|0;f[r>>2]=u;s=s+1|0;if((s|0)==(b|0))break;else r=r+4|0}d=d+1|0;if((d|0)==(h|0)){v=h;w=e;break}else{g=g+8|0;l=l+(b<<2)|0}}}else{v=h;w=m}else{v=n;w=m}m=a+((X(f[c+(i+-1<<2)>>2]|0,b)|0)<<1)|0;if((v|0)<(i|0)&(b|0)>0){x=v;y=w}else return;while(1){w=0;v=y;while(1){f[v>>2]=(j[m+(w<<1)>>1]|0)<<16;w=w+1|0;if((w|0)==(b|0))break;else v=v+4|0}x=x+1|0;if((x|0)==(i|0))break;else y=y+(b<<2)|0}return}function p5(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;do if((g|0)>0){k=g<<1;if((b|0)<=0){l=d+(k<<2)|0;m=e;n=g;break}o=X(g,b)|0;p=e;q=0;while(1){r=0;s=p;while(1){f[s>>2]=(j[a+(r<<1)>>1]|0)<<16;r=r+1|0;if((r|0)==(b|0))break;else s=s+4|0}q=q+1|0;if((q|0)==(g|0))break;else p=p+(b<<2)|0}l=d+(k<<2)|0;m=e+(o<<2)|0;n=g}else{l=d;m=e;n=0}while(0);if((n|0)<(h|0))if((b|0)>0){e=m+((X(h-n|0,b)|0)<<2)|0;d=l;l=n;g=m;while(1){p=a+((X(f[c+(l<<2)>>2]|0,b)|0)<<1)|0;q=d+4|0;s=0;r=g;while(1){t=f[d>>2]|0;if(!t)u=0;else u=X(t,j[p+(s<<1)>>1]|0)|0;f[r>>2]=u;t=f[q>>2]|0;if(!t)v=0;else v=X(t,j[p+(s+b<<1)>>1]|0)|0;f[r>>2]=u+v;s=s+1|0;if((s|0)==(b|0))break;else r=r+4|0}l=l+1|0;if((l|0)==(h|0)){w=h;x=e;break}else{d=d+8|0;g=g+(b<<2)|0}}}else{w=h;x=m}else{w=n;x=m}m=a+((X(f[c+(i+-1<<2)>>2]|0,b)|0)<<1)|0;if((w|0)<(i|0)&(b|0)>0){y=w;z=x}else return;while(1){x=0;w=z;while(1){f[w>>2]=(j[m+(x<<1)>>1]|0)<<16;x=x+1|0;if((x|0)==(b|0))break;else w=w+4|0}y=y+1|0;if((y|0)==(i|0))break;else z=z+(b<<2)|0}return}function q5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+64|0;g=e+48|0;h=e+40|0;i=e+32|0;j=e+24|0;k=e+16|0;l=e+8|0;m=e;CAa(j,b);p[h>>3]=.5;KAa(g,j,h);OAa(k,a,g);p[l>>3]=.5;NAa(i,k,l);k=HAa(i)|0;if((k|0)>-1?(j=f[a+8>>2]|0,(j|0)>1):0){n=j+-1|0;if((k|0)>=(n|0)){f[c>>2]=n;n=a+16|0;j=f[n>>2]|0;f[n>>2]=(j|0)>(b|0)?b:j;u=e;return}f[c>>2]=k;CAa(m,k);NAa(l,i,m);if((f[l+4>>2]|0)<0)o=0;else{CAa(h,65536);OAa(g,l,h);o=GAa(g)|0}f[d+4>>2]=o;f[d>>2]=65536-o;u=e;return}o=a+12|0;a=b+1|0;b=f[o>>2]|0;f[o>>2]=(b|0)<(a|0)?a:b;u=e;return}function r5(a){a=a|0;GQa(a);return}function s5(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;c=u;u=u+1072|0;e=c+8|0;g=c;h=a+28|0;i=f[h>>2]|0;j=a+36|0;k=f[j>>2]|0;l=X(i<<1,k)|0;m=e+8|0;FVa(m|0,0,1056)|0;f[e>>2]=m;n=e+4|0;f[n>>2]=l;if(l>>>0>264){o=FQa(l>>>0>1073741823?-1:l<<2)|0;FVa(o|0,0,l<<2|0)|0;f[e>>2]=o;p=o}else p=m;o=f[a+64>>2]|0;l=f[b>>2]|0;q=(o|0)<(l|0)?l:o;r=b+4|0;s=f[r>>2]|0;t=f[a+68>>2]|0;v=(s|0)<(t|0)?s:t;if((l|0)<(o|0)){qi[f[a+72>>2]&255](f[a+4>>2]|0,k,f[a+40>>2]|0,f[a+48>>2]|0,p,f[a+56>>2]|0,f[a+60>>2]|0,i);w=-1;x=1;y=f[b>>2]|0}else{w=-2;x=0;y=l}if((y|0)<(q|0)){l=f[e>>2]|0;b=f[a+20>>2]|0;i=f[a+24>>2]|0;p=X(f[j>>2]|0,f[h>>2]|0)|0;if((p|0)>0){k=y;do{o=b+(X(i,k)|0)|0;t=0;do{d[o+(t<<1)>>1]=((f[l+(t<<2)>>2]|0)+32768|0)>>>16;t=t+1|0}while((t|0)!=(p|0));k=k+1|0}while((k|0)<(q|0));z=q}else z=q}else z=y;if((z|0)<(v|0)){y=a+44|0;q=a+16|0;k=a+20|0;p=a+24|0;l=g+4|0;i=a+52|0;b=a+72|0;t=a+4|0;o=a+8|0;s=a+40|0;A=a+48|0;B=a+56|0;C=a+60|0;D=w;E=x;F=z;G=0;while(1){H=z+G<<1;J=(f[y>>2]|0)+(F<<2)|0;K=D+2|0;L=f[J>>2]|0;M=(L|0)<(K|0)?K:L;K=L+2|0;N=f[q>>2]|0;if((M|0)<(((N|0)<(K|0)?N:K)|0)){K=M;M=E;while(1){O=(f[t>>2]|0)+(X(f[o>>2]|0,K)|0)|0;P=f[j>>2]|0;Q=f[h>>2]|0;R=(f[e>>2]|0)+((X(X(P,M)|0,Q)|0)<<2)|0;qi[f[b>>2]&255](O,P,f[s>>2]|0,f[A>>2]|0,R,f[B>>2]|0,f[C>>2]|0,Q);K=K+1|0;Q=(M+1|0)%2|0;R=f[J>>2]|0;P=R+2|0;O=f[q>>2]|0;if((K|0)>=(((O|0)<(P|0)?O:P)|0)){S=Q;T=O;U=R;break}else M=Q}}else{S=E;T=N;U=L}M=T+-2|0;K=g;f[K>>2]=0;f[K+4>>2]=0;K=(((U|0)<(M|0)?M:U)+S-((D|0)<(M|0)?M:D)|0)%2|0;if((K|0)>0){DVa(g|0,(f[i>>2]|0)+((F<<1)+2-K<<2)|0,K<<2|0)|0;V=K}else V=0;DVa(g+(V<<2)|0,(f[i>>2]|0)+(V+H-K<<2)|0,8-(V<<2)|0)|0;M=f[e>>2]|0;J=X(f[j>>2]|0,f[h>>2]|0)|0;Q=(f[k>>2]|0)+(X(f[p>>2]|0,F)|0)|0;if((J|0)>0){R=f[g>>2]|0;O=f[l>>2]|0;P=0;do{W=wVa(f[M+(P<<2)>>2]|0,0,R|0,0)|0;Y=I;Z=wVa(f[M+(P+J<<2)>>2]|0,0,O|0,0)|0;_=I;$=qVa(W|0,Y|0,-2147483648,0)|0;qVa($|0,I|0,Z|0,_|0)|0;_=I;Z=0<0|0==0&_>>>0<65535;$=Z?_:65535;d[Q+(P<<1)>>1]=$;P=P+1|0}while((P|0)!=(J|0))}J=F+1|0;if((J|0)<(v|0)){D=U;E=K;F=J;G=G+1|0}else{aa=U;ba=K;ca=J;da=M;ea=T;break}}}else{aa=w;ba=x;ca=z;da=f[e>>2]|0;ea=f[a+16>>2]|0}if((aa+2|0)>(ea|0))fa=da+((X(X(f[h>>2]|0,(ba+~aa+ea|0)%2|0)|0,f[j>>2]|0)|0)<<2)|0;else{aa=(f[a+4>>2]|0)+(X(f[a+8>>2]|0,ea+-1|0)|0)|0;qi[f[a+72>>2]&255](aa,f[j>>2]|0,f[a+40>>2]|0,f[a+48>>2]|0,da,f[a+56>>2]|0,f[a+60>>2]|0,f[h>>2]|0);fa=da}da=f[r>>2]|0;if((ca|0)<(da|0)?(r=f[a+20>>2]|0,aa=f[a+24>>2]|0,a=X(f[j>>2]|0,f[h>>2]|0)|0,(a|0)>0):0){h=ca;do{ca=r+(X(aa,h)|0)|0;j=0;do{d[ca+(j<<1)>>1]=((f[fa+(j<<2)>>2]|0)+32768|0)>>>16;j=j+1|0}while((j|0)!=(a|0));h=h+1|0}while((h|0)<(da|0))}da=f[e>>2]|0;if((da|0)==(m|0)){u=c;return}if(da|0)HQa(da);f[e>>2]=m;f[n>>2]=264;u=c;return}function t5(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c=b[a>>0]<<16;if((h|0)>0){k=0;l=g;while(1){f[l>>2]=c;k=k+1|0;if((k|0)==(h|0))break;else l=l+4|0}m=e+(h<<1<<2)|0;n=h;o=g+(h<<2)|0}else{m=e;n=0;o=g}if((n|0)<(i|0)){g=m;m=n;e=o;while(1){h=a+(f[d+(m<<2)>>2]|0)|0;l=X(f[g>>2]|0,b[h>>0]|0)|0;k=(X(f[g+4>>2]|0,b[h+1>>0]|0)|0)+l|0;f[e>>2]=k;m=m+1|0;if((m|0)==(i|0))break;else{g=g+8|0;e=e+4|0}}p=i;q=o+(i-n<<2)|0}else{p=n;q=o}o=b[a+(f[d+(j+-1<<2)>>2]|0)>>0]<<16;if((p|0)<(j|0)){r=p;s=q}else return;while(1){f[s>>2]=o;r=r+1|0;if((r|0)==(j|0))break;else s=s+4|0}return}function u5(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;C5(a,b,c,d,e,f,g,h);return}function v5(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;c=b[a>>0]<<16;k=b[a+1>>0]<<16;if((h|0)>0){l=h<<1;m=0;n=g;while(1){f[n>>2]=c;f[n+4>>2]=k;m=m+1|0;if((m|0)==(h|0))break;else n=n+8|0}o=e+(l<<2)|0;p=h;q=g+(l<<2)|0}else{o=e;p=0;q=g}if((p|0)<(i|0)){g=i-p|0;e=p;l=o;o=q;while(1){h=a+(f[d+(e<<2)>>2]<<1)|0;n=X(f[l>>2]|0,b[h>>0]|0)|0;m=l+4|0;k=(X(f[m>>2]|0,b[h+2>>0]|0)|0)+n|0;f[o>>2]=k;k=X(f[l>>2]|0,b[h+1>>0]|0)|0;n=(X(f[m>>2]|0,b[h+3>>0]|0)|0)+k|0;f[o+4>>2]=n;e=e+1|0;if((e|0)==(i|0))break;else{l=l+8|0;o=o+8|0}}r=i;s=q+(g<<1<<2)|0}else{r=p;s=q}q=a+(f[d+(j+-1<<2)>>2]<<1)|0;d=b[q>>0]<<16;a=b[q+1>>0]<<16;if((r|0)<(j|0)){t=r;u=s}else return;while(1){f[u>>2]=d;f[u+4>>2]=a;t=t+1|0;if((t|0)==(j|0))break;else u=u+8|0}return}function w5(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;C5(a,b,c,d,e,f,g,h);return}function x5(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;c=b[a>>0]<<16;k=b[a+1>>0]<<16;l=b[a+2>>0]<<16;if((h|0)>0){m=h*3|0;n=0;o=g;while(1){f[o>>2]=c;f[o+4>>2]=k;f[o+8>>2]=l;n=n+1|0;if((n|0)==(h|0))break;else o=o+12|0}p=e+(h<<1<<2)|0;q=h;r=g+(m<<2)|0}else{p=e;q=0;r=g}if((q|0)<(i|0)){g=i-q|0;e=q;m=r;h=p;while(1){p=a+((f[d+(e<<2)>>2]|0)*3|0)|0;o=X(f[h>>2]|0,b[p>>0]|0)|0;n=h+4|0;l=(X(f[n>>2]|0,b[p+3>>0]|0)|0)+o|0;f[m>>2]=l;l=X(f[h>>2]|0,b[p+1>>0]|0)|0;o=(X(f[n>>2]|0,b[p+4>>0]|0)|0)+l|0;f[m+4>>2]=o;o=X(f[h>>2]|0,b[p+2>>0]|0)|0;l=(X(f[n>>2]|0,b[p+5>>0]|0)|0)+o|0;f[m+8>>2]=l;e=e+1|0;if((e|0)==(i|0))break;else{m=m+12|0;h=h+8|0}}s=i;t=r+(g*3<<2)|0}else{s=q;t=r}r=a+((f[d+(j+-1<<2)>>2]|0)*3|0)|0;d=b[r>>0]<<16;a=b[r+1>>0]<<16;q=b[r+2>>0]<<16;if((s|0)<(j|0)){u=t;v=s}else return;while(1){f[u>>2]=d;f[u+4>>2]=a;f[u+8>>2]=q;v=v+1|0;if((v|0)==(j|0))break;else u=u+12|0}return}function y5(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;C5(a,b,c,d,e,f,g,h);return}function z5(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;c=b[a>>0]<<16;k=b[a+1>>0]<<16;l=b[a+2>>0]<<16;m=b[a+3>>0]<<16;if((h|0)>0){n=h<<2;o=0;p=g;while(1){f[p>>2]=c;f[p+4>>2]=k;f[p+8>>2]=l;f[p+12>>2]=m;o=o+1|0;if((o|0)==(h|0))break;else p=p+16|0}q=e+(h<<1<<2)|0;r=h;s=g+(n<<2)|0}else{q=e;r=0;s=g}if((r|0)<(i|0)){g=i-r|0;e=r;n=s;h=q;while(1){q=a+(f[d+(e<<2)>>2]<<2)|0;p=X(f[h>>2]|0,b[q>>0]|0)|0;o=h+4|0;m=(X(f[o>>2]|0,b[q+4>>0]|0)|0)+p|0;f[n>>2]=m;m=X(f[h>>2]|0,b[q+1>>0]|0)|0;p=(X(f[o>>2]|0,b[q+5>>0]|0)|0)+m|0;f[n+4>>2]=p;p=X(f[h>>2]|0,b[q+2>>0]|0)|0;m=(X(f[o>>2]|0,b[q+6>>0]|0)|0)+p|0;f[n+8>>2]=m;m=X(f[h>>2]|0,b[q+3>>0]|0)|0;p=(X(f[o>>2]|0,b[q+7>>0]|0)|0)+m|0;f[n+12>>2]=p;e=e+1|0;if((e|0)==(i|0))break;else{n=n+16|0;h=h+8|0}}t=i;u=s+(g<<2<<2)|0}else{t=r;u=s}s=a+(f[d+(j+-1<<2)>>2]<<2)|0;d=b[s>>0]<<16;a=b[s+1>>0]<<16;r=b[s+2>>0]<<16;g=b[s+3>>0]<<16;if((t|0)<(j|0)){v=u;w=t}else return;while(1){f[v>>2]=d;f[v+4>>2]=a;f[v+8>>2]=r;f[v+12>>2]=g;w=w+1|0;if((w|0)==(j|0))break;else v=v+16|0}return}function A5(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;C5(a,b,c,d,e,f,g,h);return}function B5(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;do if((h|0)>0){k=h<<1;if((c|0)<=0){l=e+(k<<2)|0;m=g;n=h;break}o=X(h,c)|0;p=g;q=0;while(1){r=0;s=p;while(1){f[s>>2]=b[a+r>>0]<<16;r=r+1|0;if((r|0)==(c|0))break;else s=s+4|0}q=q+1|0;if((q|0)==(h|0))break;else p=p+(c<<2)|0}l=e+(k<<2)|0;m=g+(o<<2)|0;n=h}else{l=e;m=g;n=0}while(0);if((n|0)<(i|0))if((c|0)>0){g=m+((X(i-n|0,c)|0)<<2)|0;e=n;h=l;l=m;while(1){p=a+(X(f[d+(e<<2)>>2]|0,c)|0)|0;q=h+4|0;s=0;r=l;while(1){t=X(f[h>>2]|0,b[p+s>>0]|0)|0;f[r>>2]=t;u=(X(f[q>>2]|0,b[p+(s+c)>>0]|0)|0)+t|0;f[r>>2]=u;s=s+1|0;if((s|0)==(c|0))break;else r=r+4|0}e=e+1|0;if((e|0)==(i|0)){v=i;w=g;break}else{h=h+8|0;l=l+(c<<2)|0}}}else{v=i;w=m}else{v=n;w=m}m=a+(X(f[d+(j+-1<<2)>>2]|0,c)|0)|0;if((v|0)<(j|0)&(c|0)>0){x=v;y=w}else return;while(1){w=0;v=y;while(1){f[v>>2]=b[m+w>>0]<<16;w=w+1|0;if((w|0)==(c|0))break;else v=v+4|0}x=x+1|0;if((x|0)==(j|0))break;else y=y+(c<<2)|0}return}function C5(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;do if((h|0)>0){k=h<<1;if((c|0)<=0){l=e+(k<<2)|0;m=g;n=h;break}o=X(h,c)|0;p=g;q=0;while(1){r=0;s=p;while(1){f[s>>2]=b[a+r>>0]<<16;r=r+1|0;if((r|0)==(c|0))break;else s=s+4|0}q=q+1|0;if((q|0)==(h|0))break;else p=p+(c<<2)|0}l=e+(k<<2)|0;m=g+(o<<2)|0;n=h}else{l=e;m=g;n=0}while(0);if((n|0)<(i|0))if((c|0)>0){g=m+((X(i-n|0,c)|0)<<2)|0;e=l;l=n;h=m;while(1){p=a+(X(f[d+(l<<2)>>2]|0,c)|0)|0;q=e+4|0;s=0;r=h;while(1){t=f[e>>2]|0;if(!t)u=0;else u=X(t,b[p+s>>0]|0)|0;f[r>>2]=u;t=f[q>>2]|0;if(!t)v=0;else v=X(t,b[p+(s+c)>>0]|0)|0;f[r>>2]=u+v;s=s+1|0;if((s|0)==(c|0))break;else r=r+4|0}l=l+1|0;if((l|0)==(i|0)){w=i;x=g;break}else{e=e+8|0;h=h+(c<<2)|0}}}else{w=i;x=m}else{w=n;x=m}m=a+(X(f[d+(j+-1<<2)>>2]|0,c)|0)|0;if((w|0)<(j|0)&(c|0)>0){y=w;z=x}else return;while(1){x=0;w=z;while(1){f[w>>2]=b[m+x>>0]<<16;x=x+1|0;if((x|0)==(c|0))break;else w=w+4|0}y=y+1|0;if((y|0)==(j|0))break;else z=z+(c<<2)|0}return}function D5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+64|0;g=e+48|0;h=e+40|0;i=e+32|0;j=e+24|0;k=e+16|0;l=e+8|0;m=e;CAa(j,b);p[h>>3]=.5;KAa(g,j,h);OAa(k,a,g);p[l>>3]=.5;NAa(i,k,l);k=HAa(i)|0;if((k|0)>-1?(j=f[a+8>>2]|0,(j|0)>1):0){n=j+-1|0;if((k|0)<(n|0)){f[c>>2]=k;CAa(m,k);NAa(l,i,m);CAa(h,65536);OAa(g,l,h);h=GAa(g)|0;f[d+4>>2]=h;f[d>>2]=65536-h;u=e;return}else{f[c>>2]=n;n=a+16|0;c=f[n>>2]|0;f[n>>2]=(c|0)>(b|0)?b:c;u=e;return}}c=a+12|0;a=b+1|0;b=f[c>>2]|0;f[c>>2]=(b|0)<(a|0)?a:b;u=e;return}function E5(a){a=a|0;GQa(a);return}function F5(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;d=u;u=u+1072|0;e=d+8|0;g=d;h=a+28|0;i=f[h>>2]|0;j=a+36|0;k=f[j>>2]|0;l=X(i<<1,k)|0;m=e+8|0;FVa(m|0,0,1056)|0;f[e>>2]=m;n=e+4|0;f[n>>2]=l;if(l>>>0>264){o=FQa(l>>>0>1073741823?-1:l<<2)|0;FVa(o|0,0,l<<2|0)|0;f[e>>2]=o;p=o}else p=m;o=f[a+64>>2]|0;l=f[c>>2]|0;q=(o|0)<(l|0)?l:o;r=c+4|0;s=f[r>>2]|0;t=f[a+68>>2]|0;v=(s|0)<(t|0)?s:t;if((l|0)<(o|0)){qi[f[a+72>>2]&255](f[a+4>>2]|0,k,f[a+40>>2]|0,f[a+48>>2]|0,p,f[a+56>>2]|0,f[a+60>>2]|0,i);w=-1;x=1;y=f[c>>2]|0}else{w=-2;x=0;y=l}if((y|0)<(q|0)){l=a+20|0;c=a+24|0;i=y;do{p=f[e>>2]|0;k=(f[l>>2]|0)+(X(f[c>>2]|0,i)|0)|0;o=X(f[j>>2]|0,f[h>>2]|0)|0;if((o|0)>0){t=0;do{s=(f[p+(t<<2)>>2]|0)+32768>>16;b[k+t>>0]=(s+128|0)>>>0<256?s:(s|0)>0?127:128;t=t+1|0}while((t|0)!=(o|0))}i=i+1|0}while((i|0)<(q|0));z=q}else z=y;if((z|0)<(v|0)){y=a+44|0;q=a+16|0;i=a+20|0;c=a+24|0;l=g+4|0;o=a+52|0;t=a+72|0;k=a+4|0;p=a+8|0;s=a+40|0;A=a+48|0;B=a+56|0;C=a+60|0;D=w;E=x;F=z;G=0;while(1){H=z+G<<1;J=(f[y>>2]|0)+(F<<2)|0;K=D+2|0;L=f[J>>2]|0;M=(L|0)<(K|0)?K:L;K=L+2|0;N=f[q>>2]|0;if((M|0)<(((N|0)<(K|0)?N:K)|0)){K=M;M=E;while(1){O=(f[k>>2]|0)+(X(f[p>>2]|0,K)|0)|0;P=f[j>>2]|0;Q=f[h>>2]|0;R=(f[e>>2]|0)+((X(X(P,M)|0,Q)|0)<<2)|0;qi[f[t>>2]&255](O,P,f[s>>2]|0,f[A>>2]|0,R,f[B>>2]|0,f[C>>2]|0,Q);K=K+1|0;Q=(M+1|0)%2|0;R=f[J>>2]|0;P=R+2|0;O=f[q>>2]|0;if((K|0)>=(((O|0)<(P|0)?O:P)|0)){S=Q;T=O;U=R;break}else M=Q}}else{S=E;T=N;U=L}M=T+-2|0;K=g;f[K>>2]=0;f[K+4>>2]=0;K=(((U|0)<(M|0)?M:U)+S-((D|0)<(M|0)?M:D)|0)%2|0;if((K|0)>0){DVa(g|0,(f[o>>2]|0)+((F<<1)+2-K<<2)|0,K<<2|0)|0;V=K}else V=0;DVa(g+(V<<2)|0,(f[o>>2]|0)+(V+H-K<<2)|0,8-(V<<2)|0)|0;M=f[e>>2]|0;J=X(f[j>>2]|0,f[h>>2]|0)|0;Q=(f[i>>2]|0)+(X(f[c>>2]|0,F)|0)|0;if((J|0)>0){R=f[g>>2]|0;O=f[l>>2]|0;P=((R|0)<0)<<31>>31;W=((O|0)<0)<<31>>31;Y=0;do{Z=f[M+(Y<<2)>>2]|0;_=wVa(R|0,P|0,Z|0,((Z|0)<0)<<31>>31|0)|0;Z=I;$=f[M+(Y+J<<2)>>2]|0;aa=wVa(O|0,W|0,$|0,(($|0)<0)<<31>>31|0)|0;$=I;ba=qVa(_|0,Z|0,-2147483648,0)|0;Z=qVa(ba|0,I|0,aa|0,$|0)|0;$=zVa(Z|0,I|0,32)|0;Z=I;aa=qVa($|0,Z|0,128,0)|0;ba=I;b[Q+Y>>0]=ba>>>0<0|(ba|0)==0&aa>>>0<256?$&255:(Z|0)>0|(Z|0)==0&$>>>0>0?127:-128;Y=Y+1|0}while((Y|0)!=(J|0))}J=F+1|0;if((J|0)<(v|0)){D=U;E=K;F=J;G=G+1|0}else{ca=U;da=K;ea=J;fa=q;break}}}else{ca=w;da=x;ea=z;fa=a+16|0}z=f[e>>2]|0;x=f[fa>>2]|0;if((ca+2|0)>(x|0))ga=z+((X(X(f[h>>2]|0,(da+~ca+x|0)%2|0)|0,f[j>>2]|0)|0)<<2)|0;else{ca=(f[a+4>>2]|0)+(X(f[a+8>>2]|0,x+-1|0)|0)|0;qi[f[a+72>>2]&255](ca,f[j>>2]|0,f[a+40>>2]|0,f[a+48>>2]|0,z,f[a+56>>2]|0,f[a+60>>2]|0,f[h>>2]|0);ga=z}z=f[r>>2]|0;if((ea|0)<(z|0)){ca=a+20|0;x=a+24|0;a=ea;ea=z;while(1){z=(f[ca>>2]|0)+(X(f[x>>2]|0,a)|0)|0;da=X(f[j>>2]|0,f[h>>2]|0)|0;if((da|0)>0){fa=0;do{w=(f[ga+(fa<<2)>>2]|0)+32768>>16;b[z+fa>>0]=(w+128|0)>>>0<256?w:(w|0)>0?127:128;fa=fa+1|0}while((fa|0)!=(da|0));ha=f[r>>2]|0}else ha=ea;a=a+1|0;if((a|0)>=(ha|0))break;else ea=ha}}ha=f[e>>2]|0;if((ha|0)==(m|0)){u=d;return}if(ha|0)HQa(ha);f[e>>2]=m;f[n>>2]=264;u=d;return}function G5(a,c,e,g,i,k,l,m){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;c=u;u=u+32|0;n=c+16|0;o=c;p=h[a>>0]<<8&65535;q=k+-7|0;if((k|0)>7){r=g+(((k+2147483640|0)>>>3<<4)+16<<1)|0;s=0;t=i;while(1){d[t>>1]=p;d[t+2>>1]=p;d[t+4>>1]=p;d[t+6>>1]=p;d[t+8>>1]=p;d[t+10>>1]=p;d[t+12>>1]=p;d[t+14>>1]=p;s=s+8|0;if((s|0)>=(q|0))break;else t=t+16|0}t=k&-8;v=r;w=t;x=i+(t<<1)|0}else{v=g;w=0;x=i}if((w|0)<(k|0)){i=k-w|0;g=k-w<<1;t=w;r=x;while(1){d[r>>1]=p;t=t+1|0;if((t|0)==(k|0))break;else r=r+2|0}y=v+(g<<1)|0;z=k;A=x+(i<<1)|0}else{y=v;z=w;A=x}x=l+-7|0;a:do if((z|0)<(x|0)){w=e+(m+-1<<2)|0;v=n+8|0;i=n+4|0;k=n+12|0;g=o+8|0;r=o+4|0;t=o+12|0;p=y;q=z;s=A;while(1){B=e+(q+7<<2)|0;if(((f[B>>2]|0)+15|0)>(f[w>>2]|0)){C=p;D=q;E=s;break a}F=a+(f[e+(q<<2)>>2]|0)|0;G=b[F+2>>0]|0;H=b[F+3>>0]|0;I=a+(f[e+(q+1<<2)>>2]|0)|0;J=b[I>>0]|0;K=b[I+1>>0]|0;L=b[I+2>>0]|0;M=b[I+3>>0]|0;f[n>>2]=h[F+1>>0]<<16|h[F>>0];f[v>>2]=(K&255)<<16|J&255;f[i>>2]=(H&255)<<16|G&255;f[k>>2]=(M&255)<<16|L&255;L=a+(f[e+(q+2<<2)>>2]|0)|0;M=b[L+2>>0]|0;G=b[L+3>>0]|0;H=a+(f[e+(q+3<<2)>>2]|0)|0;J=b[H>>0]|0;K=b[H+1>>0]|0;F=b[H+2>>0]|0;I=b[H+3>>0]|0;f[o>>2]=h[L+1>>0]<<16|h[L>>0];f[g>>2]=(K&255)<<16|J&255;f[r>>2]=(G&255)<<16|M&255;f[t>>2]=(I&255)<<16|F&255;F=a+(f[e+(q+4<<2)>>2]|0)|0;I=a+(f[e+(q+5<<2)>>2]|0)|0;M=a+(f[e+(q+6<<2)>>2]|0)|0;G=a+(f[B>>2]|0)|0;B=f[n>>2]|0;J=f[o>>2]|0;K=f[v>>2]|0;L=f[g>>2]|0;H=p+16|0;N=(X(B>>16,d[p+2>>1]|0)|0)+(X(B<<16>>16,d[p>>1]|0)|0)|0;B=(X(K>>16,d[p+6>>1]|0)|0)+(X(K<<16>>16,d[p+4>>1]|0)|0)|0;K=(X(J>>16,d[p+10>>1]|0)|0)+(X(J<<16>>16,d[p+8>>1]|0)|0)|0;J=(X(L>>16,d[p+14>>1]|0)|0)+(X(L<<16>>16,d[p+12>>1]|0)|0)|0;L=(X(h[F+1>>0]|0,d[H+2>>1]|0)|0)+(X(h[F>>0]|0,d[H>>1]|0)|0)|0;F=(X(h[I+1>>0]|0,d[H+6>>1]|0)|0)+(X(h[I>>0]|0,d[H+4>>1]|0)|0)|0;I=(X(h[M+1>>0]|0,d[H+10>>1]|0)|0)+(X(h[M>>0]|0,d[H+8>>1]|0)|0)|0;M=(X(h[G+1>>0]|0,d[H+14>>1]|0)|0)+(X(h[G>>0]|0,d[H+12>>1]|0)|0)|0;d[s>>1]=N>>>0<65535?N:65535;d[s+2>>1]=B>>>0<65535?B:65535;d[s+4>>1]=K>>>0<65535?K:65535;d[s+6>>1]=J>>>0<65535?J:65535;d[s+8>>1]=L>>>0<65535?L:65535;d[s+10>>1]=F>>>0<65535?F:65535;d[s+12>>1]=I>>>0<65535?I:65535;d[s+14>>1]=M>>>0<65535?M:65535;M=q+8|0;I=p+32|0;F=s+16|0;if((M|0)<(x|0)){p=I;q=M;s=F}else{C=I;D=M;E=F;break}}}else{C=y;D=z;E=A}while(0);if((D|0)<(l|0)){A=l-D|0;z=C;C=D;y=E;while(1){x=a+(f[e+(C<<2)>>2]|0)|0;o=X(h[x>>0]|0,j[z>>1]|0)|0;n=(X(h[x+1>>0]|0,j[z+2>>1]|0)|0)+o&65535;d[y>>1]=n;C=C+1|0;if((C|0)==(l|0))break;else{z=z+4|0;y=y+2|0}}O=l;P=E+(A<<1)|0}else{O=D;P=E}E=h[a+(f[e+(m+-1<<2)>>2]|0)>>0]<<8&65535;e=m+-7|0;if((O|0)<(e|0)){a=m+-8-O&-8;D=O+a|0;A=a+8|0;a=O;l=P;while(1){d[l>>1]=E;d[l+2>>1]=E;d[l+4>>1]=E;d[l+6>>1]=E;d[l+8>>1]=E;d[l+10>>1]=E;d[l+12>>1]=E;d[l+14>>1]=E;a=a+8|0;if((a|0)>=(e|0))break;else l=l+16|0}Q=D+8|0;R=P+(A<<1)|0}else{Q=O;R=P}if((Q|0)<(m|0)){S=Q;T=R}else{u=c;return}while(1){d[T>>1]=E;S=S+1|0;if((S|0)==(m|0))break;else T=T+2|0}u=c;return}function H5(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;P5(a,b,c,d,e,f,g,h);return}function I5(a,b,c,e,g,i,k,l){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;b=u;u=u+64|0;m=b+16|0;n=b;o=b+48|0;p=b+32|0;q=h[a>>0]<<8&65535;r=h[a+1>>0]<<8&65535;s=i+-3|0;if((i|0)>3){t=((i+2147483644|0)>>>2<<3)+8|0;v=e+(t<<1)|0;w=g;x=0;while(1){d[w>>1]=q;d[w+2>>1]=r;d[w+4>>1]=q;d[w+6>>1]=r;d[w+8>>1]=q;d[w+10>>1]=r;d[w+12>>1]=q;d[w+14>>1]=r;x=x+4|0;if((x|0)>=(s|0))break;else w=w+16|0}y=v;z=g+(t<<1)|0;A=i&-4}else{y=e;z=g;A=0}if((A|0)<(i|0)){g=i-A<<1;e=z+(g<<1)|0;t=z;v=A;while(1){d[t>>1]=q;d[t+2>>1]=r;v=v+1|0;if((v|0)==(i|0))break;else t=t+4|0}B=y+(g<<1)|0;C=e;D=i}else{B=y;C=z;D=A}A=k+-3|0;a:do if((D|0)<(A|0)){z=c+(l+-1<<2)|0;y=m+8|0;i=m+4|0;e=m+12|0;g=n+8|0;t=n+4|0;v=n+12|0;r=o+2|0;q=p+2|0;w=o+4|0;s=p+4|0;x=o+6|0;E=p+6|0;F=o+8|0;G=p+8|0;H=o+10|0;I=p+10|0;J=o+12|0;K=p+12|0;L=o+14|0;M=p+14|0;N=C;O=B;P=D;while(1){Q=f[c+(P+3<<2)>>2]|0;if((Q+7|0)>(f[z>>2]|0)){R=O;S=N;T=P;break a}U=a+(f[c+(P<<2)>>2]<<1)|0;V=a+(f[c+(P+1<<2)>>2]<<1)|0;W=h[V+1>>0]<<16|h[V>>0];Y=h[U+3>>0]<<16|h[U+2>>0];Z=h[V+3>>0]<<16|h[V+2>>0];V=a+(f[c+(P+2<<2)>>2]<<1)|0;_=a+(Q<<1)|0;Q=h[V+1>>0]<<16|h[V>>0];$=h[_+1>>0]<<16|h[_>>0];aa=h[V+3>>0]<<16|h[V+2>>0];V=h[_+3>>0]<<16|h[_+2>>0];f[m>>2]=h[U+1>>0]<<16|h[U>>0];f[i>>2]=W;f[y>>2]=Q;f[e>>2]=$;f[n>>2]=Y;f[t>>2]=Z;f[g>>2]=aa;f[v>>2]=V;d[o>>1]=d[m>>1]|0;d[o+2>>1]=d[m+2>>1]|0;d[o+4>>1]=d[m+4>>1]|0;d[o+6>>1]=d[m+6>>1]|0;d[o+8>>1]=d[m+8>>1]|0;d[o+10>>1]=d[m+10>>1]|0;d[o+12>>1]=d[m+12>>1]|0;d[o+14>>1]=d[m+14>>1]|0;d[p>>1]=d[n>>1]|0;d[p+2>>1]=d[n+2>>1]|0;d[p+4>>1]=d[n+4>>1]|0;d[p+6>>1]=d[n+6>>1]|0;d[p+8>>1]=d[n+8>>1]|0;d[p+10>>1]=d[n+10>>1]|0;d[p+12>>1]=d[n+12>>1]|0;d[p+14>>1]=d[n+14>>1]|0;V=f[O>>2]|0;aa=f[O+4>>2]|0;Z=f[O+8>>2]|0;Y=f[O+12>>2]|0;$=V<<16>>16;Q=V>>16;V=(X(Q,d[p>>1]|0)|0)+(X($,d[o>>1]|0)|0)|0;W=(X(Q,d[q>>1]|0)|0)+(X($,d[r>>1]|0)|0)|0;$=aa<<16>>16;Q=aa>>16;aa=(X(Q,d[s>>1]|0)|0)+(X($,d[w>>1]|0)|0)|0;U=(X(Q,d[E>>1]|0)|0)+(X($,d[x>>1]|0)|0)|0;$=Z<<16>>16;Q=Z>>16;Z=(X(Q,d[G>>1]|0)|0)+(X($,d[F>>1]|0)|0)|0;_=(X(Q,d[I>>1]|0)|0)+(X($,d[H>>1]|0)|0)|0;$=Y<<16>>16;Q=Y>>16;Y=(X(Q,d[K>>1]|0)|0)+(X($,d[J>>1]|0)|0)|0;ba=(X(Q,d[M>>1]|0)|0)+(X($,d[L>>1]|0)|0)|0;d[N>>1]=V>>>0<65535?V:65535;d[N+2>>1]=W>>>0<65535?W:65535;d[N+4>>1]=aa>>>0<65535?aa:65535;d[N+6>>1]=U>>>0<65535?U:65535;d[N+8>>1]=Z>>>0<65535?Z:65535;d[N+10>>1]=_>>>0<65535?_:65535;d[N+12>>1]=Y>>>0<65535?Y:65535;d[N+14>>1]=ba>>>0<65535?ba:65535;ba=P+4|0;Y=O+16|0;_=N+16|0;if((ba|0)<(A|0)){N=_;O=Y;P=ba}else{R=Y;S=_;T=ba;break}}}else{R=B;S=C;T=D}while(0);if((T|0)<(k|0)){D=k-T<<1;C=S;B=R;R=T;while(1){A=a+(f[c+(R<<2)>>2]<<1)|0;o=X(h[A>>0]|0,j[B>>1]|0)|0;p=B+2|0;n=(X(h[A+2>>0]|0,j[p>>1]|0)|0)+o&65535;d[C>>1]=n;n=X(h[A+1>>0]|0,j[B>>1]|0)|0;o=(X(h[A+3>>0]|0,j[p>>1]|0)|0)+n&65535;d[C+2>>1]=o;R=R+1|0;if((R|0)==(k|0))break;else{C=C+4|0;B=B+4|0}}ca=S+(D<<1)|0;da=k}else{ca=S;da=T}T=a+(f[c+(l+-1<<2)>>2]<<1)|0;c=h[T>>0]<<8&65535;a=h[T+1>>0]<<8&65535;T=l+-3|0;if((da|0)<(T|0)){S=l+-4-da|0;k=da+(S&-4)|0;D=(S>>>2<<3)+8|0;S=ca;B=da;while(1){d[S>>1]=c;d[S+2>>1]=a;d[S+4>>1]=c;d[S+6>>1]=a;d[S+8>>1]=c;d[S+10>>1]=a;d[S+12>>1]=c;d[S+14>>1]=a;B=B+4|0;if((B|0)>=(T|0))break;else S=S+16|0}ea=k+4|0;fa=ca+(D<<1)|0}else{ea=da;fa=ca}if((ea|0)<(l|0)){ga=fa;ha=ea}else{u=b;return}while(1){d[ga>>1]=c;d[ga+2>>1]=a;ha=ha+1|0;if((ha|0)==(l|0))break;else ga=ga+4|0}u=b;return}function J5(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;P5(a,b,c,d,e,f,g,h);return}function K5(a,b,c,e,g,i,k,l){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;b=(h[a>>0]|0)<<8&65535;m=(h[a+1>>0]|0)<<8&65535;n=(h[a+2>>0]|0)<<8&65535;if((i|0)>0){o=i*3|0;p=0;q=g;while(1){d[q>>1]=b;d[q+2>>1]=m;d[q+4>>1]=n;p=p+1|0;if((p|0)==(i|0))break;else q=q+6|0}r=e+(i<<1<<1)|0;s=i;t=g+(o<<1)|0}else{r=e;s=0;t=g}if((s|0)<(k|0)){g=k-s|0;e=s;o=t;i=r;while(1){r=a+((f[c+(e<<2)>>2]|0)*3|0)|0;q=X(h[r>>0]|0,j[i>>1]|0)|0;p=i+2|0;n=(X(h[r+3>>0]|0,j[p>>1]|0)|0)+q&65535;d[o>>1]=n;n=X(h[r+1>>0]|0,j[i>>1]|0)|0;q=(X(h[r+4>>0]|0,j[p>>1]|0)|0)+n&65535;d[o+2>>1]=q;q=X(h[r+2>>0]|0,j[i>>1]|0)|0;n=(X(h[r+5>>0]|0,j[p>>1]|0)|0)+q&65535;d[o+4>>1]=n;e=e+1|0;if((e|0)==(k|0))break;else{o=o+6|0;i=i+4|0}}u=k;v=t+(g*3<<1)|0}else{u=s;v=t}t=a+((f[c+(l+-1<<2)>>2]|0)*3|0)|0;c=(h[t>>0]|0)<<8&65535;a=(h[t+1>>0]|0)<<8&65535;s=(h[t+2>>0]|0)<<8&65535;if((u|0)<(l|0)){w=v;x=u}else return;while(1){d[w>>1]=c;d[w+2>>1]=a;d[w+4>>1]=s;x=x+1|0;if((x|0)==(l|0))break;else w=w+6|0}return}function L5(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;P5(a,b,c,d,e,f,g,h);return}function M5(a,b,c,e,g,i,k,l){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;b=(h[a>>0]|0)<<8&65535;m=(h[a+1>>0]|0)<<8&65535;n=(h[a+2>>0]|0)<<8&65535;o=(h[a+3>>0]|0)<<8&65535;p=i+-1|0;if((i|0)>1){q=(i+-2|0)>>>1;r=(q<<2)+4|0;s=(q<<3)+8|0;q=0;t=g;while(1){d[t>>1]=b;d[t+2>>1]=m;d[t+4>>1]=n;d[t+6>>1]=o;d[t+8>>1]=b;d[t+10>>1]=m;d[t+12>>1]=n;d[t+14>>1]=o;q=q+2|0;if((q|0)>=(p|0))break;else t=t+16|0}u=e+(r<<1)|0;v=i&-2;w=g+(s<<1)|0}else{u=e;v=0;w=g}if((v|0)<(i|0)){d[w>>1]=b;d[w+2>>1]=m;d[w+4>>1]=n;d[w+6>>1]=o;x=u+4|0;y=v|1;z=w+8|0}else{x=u;y=v;z=w}w=k+-1|0;a:do if((y|0)<(w|0)){v=c+(l+-1<<2)|0;u=y;o=z;n=x;while(1){m=f[c+(u+1<<2)>>2]|0;if((m+3|0)>(f[v>>2]|0)){A=n;B=u;C=o;break a}b=a+(f[c+(u<<2)>>2]<<2)|0;i=a+(m<<2)|0;m=f[n>>2]|0;g=f[n+4>>2]|0;e=m<<16>>16;s=m>>16;m=(X(e,h[b>>0]|0)|0)+(X(s,h[b+4>>0]|0)|0)|0;r=(X(e,h[b+1>>0]|0)|0)+(X(s,h[b+5>>0]|0)|0)|0;t=(X(e,h[b+2>>0]|0)|0)+(X(s,h[b+6>>0]|0)|0)|0;p=(X(e,h[b+3>>0]|0)|0)+(X(s,h[b+7>>0]|0)|0)|0;b=g<<16>>16;s=g>>16;g=(X(s,h[i+4>>0]|0)|0)+(X(b,h[i>>0]|0)|0)|0;e=(X(s,h[i+5>>0]|0)|0)+(X(b,h[i+1>>0]|0)|0)|0;q=(X(s,h[i+6>>0]|0)|0)+(X(b,h[i+2>>0]|0)|0)|0;D=(X(s,h[i+7>>0]|0)|0)+(X(b,h[i+3>>0]|0)|0)|0;d[o>>1]=m>>>0<65535?m:65535;d[o+2>>1]=r>>>0<65535?r:65535;d[o+4>>1]=t>>>0<65535?t:65535;d[o+6>>1]=p>>>0<65535?p:65535;d[o+8>>1]=g>>>0<65535?g:65535;d[o+10>>1]=e>>>0<65535?e:65535;d[o+12>>1]=q>>>0<65535?q:65535;d[o+14>>1]=D>>>0<65535?D:65535;D=u+2|0;q=n+8|0;e=o+16|0;if((D|0)<(w|0)){u=D;o=e;n=q}else{A=q;B=D;C=e;break}}}else{A=x;B=y;C=z}while(0);if((B|0)<(k|0)){z=k-B<<2;y=B;x=C;w=A;while(1){A=a+(f[c+(y<<2)>>2]<<2)|0;n=X(h[A>>0]|0,j[w>>1]|0)|0;o=w+2|0;u=(X(h[A+4>>0]|0,j[o>>1]|0)|0)+n&65535;d[x>>1]=u;u=X(h[A+1>>0]|0,j[w>>1]|0)|0;n=(X(h[A+5>>0]|0,j[o>>1]|0)|0)+u&65535;d[x+2>>1]=n;n=X(h[A+2>>0]|0,j[w>>1]|0)|0;u=(X(h[A+6>>0]|0,j[o>>1]|0)|0)+n&65535;d[x+4>>1]=u;u=X(h[A+3>>0]|0,j[w>>1]|0)|0;n=(X(h[A+7>>0]|0,j[o>>1]|0)|0)+u&65535;d[x+6>>1]=n;y=y+1|0;if((y|0)==(k|0))break;else{x=x+8|0;w=w+4|0}}E=k;F=C+(z<<1)|0}else{E=B;F=C}C=l+-1|0;B=a+(f[c+(C<<2)>>2]<<2)|0;c=(h[B>>0]|0)<<8&65535;a=(h[B+1>>0]|0)<<8&65535;z=(h[B+2>>0]|0)<<8&65535;k=(h[B+3>>0]|0)<<8&65535;if((E|0)<(C|0)){B=l+-2-E|0;w=E+(B&-2)|0;x=(B>>>1<<3)+8|0;B=F;y=E;while(1){d[B>>1]=c;d[B+2>>1]=a;d[B+4>>1]=z;d[B+6>>1]=k;d[B+8>>1]=c;d[B+10>>1]=a;d[B+12>>1]=z;d[B+14>>1]=k;y=y+2|0;if((y|0)>=(C|0))break;else B=B+16|0}G=w+2|0;H=F+(x<<1)|0}else{G=E;H=F}if((G|0)>=(l|0))return;d[H>>1]=c;d[H+2>>1]=a;d[H+4>>1]=z;d[H+6>>1]=k;return}function N5(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;P5(a,b,c,d,e,f,g,h);return}function O5(a,b,c,e,g,i,k,l){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;do if((i|0)>0){m=i<<1;if((b|0)<=0){n=e+(m<<1)|0;o=g;p=i;break}q=X(i,b)|0;r=g;s=0;while(1){t=0;u=r;while(1){d[u>>1]=(h[a+t>>0]|0)<<8;t=t+1|0;if((t|0)==(b|0))break;else u=u+2|0}s=s+1|0;if((s|0)==(i|0))break;else r=r+(b<<1)|0}n=e+(m<<1)|0;o=g+(q<<1)|0;p=i}else{n=e;o=g;p=0}while(0);if((p|0)<(k|0))if((b|0)>0){g=o+((X(k-p|0,b)|0)<<1)|0;e=p;i=n;n=o;while(1){r=a+(X(f[c+(e<<2)>>2]|0,b)|0)|0;s=i+2|0;u=0;t=n;while(1){v=X(h[r+u>>0]|0,j[i>>1]|0)|0;d[t>>1]=v;w=(X(h[r+(u+b)>>0]|0,j[s>>1]|0)|0)+v&65535;d[t>>1]=w;u=u+1|0;if((u|0)==(b|0))break;else t=t+2|0}e=e+1|0;if((e|0)==(k|0)){x=k;y=g;break}else{i=i+4|0;n=n+(b<<1)|0}}}else{x=k;y=o}else{x=p;y=o}o=a+(X(f[c+(l+-1<<2)>>2]|0,b)|0)|0;if((x|0)<(l|0)&(b|0)>0){z=x;A=y}else return;while(1){y=0;x=A;while(1){d[x>>1]=(h[o+y>>0]|0)<<8;y=y+1|0;if((y|0)==(b|0))break;else x=x+2|0}z=z+1|0;if((z|0)==(l|0))break;else A=A+(b<<1)|0}return}function P5(a,b,c,e,g,i,j,k){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;do if((i|0)>0){l=i<<1;if((b|0)<=0){m=e+(l<<1)|0;n=g;o=i;break}p=X(i,b)|0;q=g;r=0;while(1){s=0;t=q;while(1){d[t>>1]=(h[a+s>>0]|0)<<8;s=s+1|0;if((s|0)==(b|0))break;else t=t+2|0}r=r+1|0;if((r|0)==(i|0))break;else q=q+(b<<1)|0}m=e+(l<<1)|0;n=g+(p<<1)|0;o=i}else{m=e;n=g;o=0}while(0);if((o|0)<(j|0))if((b|0)>0){g=n+((X(j-o|0,b)|0)<<1)|0;e=m;m=o;i=n;while(1){q=a+(X(f[c+(m<<2)>>2]|0,b)|0)|0;r=e+2|0;t=0;s=i;while(1){u=d[e>>1]|0;if(!(u<<16>>16))v=0;else v=(X(h[q+t>>0]|0,u&65535)|0)&65535;d[s>>1]=v;u=d[r>>1]|0;if(!(u<<16>>16))w=0;else w=X(h[q+(t+b)>>0]|0,u&65535)|0;d[s>>1]=w+(v&65535);t=t+1|0;if((t|0)==(b|0))break;else s=s+2|0}m=m+1|0;if((m|0)==(j|0)){x=j;y=g;break}else{e=e+4|0;i=i+(b<<1)|0}}}else{x=j;y=n}else{x=o;y=n}n=a+(X(f[c+(k+-1<<2)>>2]|0,b)|0)|0;if((x|0)<(k|0)&(b|0)>0){z=x;A=y}else return;while(1){y=0;x=A;while(1){d[x>>1]=(h[n+y>>0]|0)<<8;y=y+1|0;if((y|0)==(b|0))break;else x=x+2|0}z=z+1|0;if((z|0)==(k|0))break;else A=A+(b<<1)|0}return}function Q5(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0;g=u;u=u+64|0;h=g+48|0;i=g+40|0;j=g+32|0;k=g+24|0;l=g+16|0;m=g+8|0;n=g;CAa(k,b);p[i>>3]=.5;KAa(h,k,i);OAa(l,a,h);p[m>>3]=.5;NAa(j,l,m);l=HAa(j)|0;if((l|0)>-1?(k=f[a+8>>2]|0,(k|0)>1):0){o=k+-1|0;if((l|0)>=(o|0)){f[c>>2]=o;o=a+16|0;k=f[o>>2]|0;f[o>>2]=(k|0)>(b|0)?b:k;u=g;return}f[c>>2]=l;CAa(n,l);NAa(m,j,n);if((f[m+4>>2]|0)<0)q=0;else{CAa(i,256);OAa(h,m,i);q=(GAa(h)|0)&65535}d[e+2>>1]=q;d[e>>1]=256-(q&65535);u=g;return}q=a+12|0;a=b+1|0;b=f[q>>2]|0;f[q>>2]=(b|0)<(a|0)?a:b;u=g;return}function R5(a){a=a|0;GQa(a);return}function S5(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0;e=u;u=u+1104|0;g=e+1088|0;i=e+1072|0;k=e+1056|0;l=e+8|0;m=e;n=a+28|0;o=f[n>>2]|0;p=a+36|0;q=f[p>>2]|0;r=X(o<<1,q)|0;s=l+8|0;FVa(s|0,0,1040)|0;f[l>>2]=s;t=l+4|0;f[t>>2]=r;if(r>>>0>520){v=FQa(r>>>0>2147483647?-1:r<<1)|0;FVa(v|0,0,r<<1|0)|0;f[l>>2]=v;w=v}else w=s;v=f[a+64>>2]|0;r=f[c>>2]|0;x=(v|0)<(r|0)?r:v;y=c+4|0;z=f[y>>2]|0;A=f[a+68>>2]|0;B=(z|0)<(A|0)?z:A;if((r|0)<(v|0)){qi[f[a+72>>2]&255](f[a+4>>2]|0,q,f[a+40>>2]|0,f[a+48>>2]|0,w,f[a+56>>2]|0,f[a+60>>2]|0,o);C=-1;D=1;E=f[c>>2]|0}else{C=-2;D=0;E=r}if((E|0)<(x|0)){r=a+20|0;c=a+24|0;o=E;while(1){w=(f[r>>2]|0)+(X(f[c>>2]|0,o)|0)|0;T5(f[l>>2]|0,w,X(f[p>>2]|0,f[n>>2]|0)|0);w=o+1|0;if((w|0)<(x|0))o=w;else{F=w;break}}}else F=E;if((F|0)<(B|0)){E=a+44|0;o=a+16|0;x=a+20|0;c=a+24|0;r=i+8|0;w=i+2|0;q=i+10|0;v=i+4|0;A=i+12|0;z=i+6|0;G=i+14|0;H=k+8|0;I=k+2|0;J=k+10|0;K=k+4|0;L=k+12|0;M=k+6|0;N=k+14|0;O=g+1|0;P=g+2|0;Q=g+3|0;R=g+4|0;S=g+5|0;T=g+6|0;U=g+7|0;V=g+8|0;W=g+9|0;Y=g+10|0;Z=g+11|0;_=g+12|0;$=g+13|0;aa=g+14|0;ba=g+15|0;ca=m+2|0;da=a+52|0;ea=a+72|0;fa=a+4|0;ga=a+8|0;ha=a+40|0;ia=a+48|0;ja=a+56|0;ka=a+60|0;la=C;ma=D;na=F;oa=0;while(1){pa=F+oa<<1;qa=(f[E>>2]|0)+(na<<2)|0;ra=la+2|0;sa=f[qa>>2]|0;ta=(sa|0)<(ra|0)?ra:sa;ra=sa+2|0;ua=f[o>>2]|0;if((ta|0)<(((ua|0)<(ra|0)?ua:ra)|0)){ra=ta;ta=ma;while(1){va=(f[fa>>2]|0)+(X(f[ga>>2]|0,ra)|0)|0;wa=f[p>>2]|0;xa=f[n>>2]|0;ya=(f[l>>2]|0)+((X(X(wa,ta)|0,xa)|0)<<1)|0;qi[f[ea>>2]&255](va,wa,f[ha>>2]|0,f[ia>>2]|0,ya,f[ja>>2]|0,f[ka>>2]|0,xa);ra=ra+1|0;xa=(ta+1|0)%2|0;ya=f[qa>>2]|0;wa=ya+2|0;va=f[o>>2]|0;if((ra|0)>=(((va|0)<(wa|0)?va:wa)|0)){za=xa;Aa=va;Ba=ya;break}else ta=xa}}else{za=ma;Aa=ua;Ba=sa}ta=Aa+-2|0;f[m>>2]=0;ra=(((Ba|0)<(ta|0)?ta:Ba)+za-((la|0)<(ta|0)?ta:la)|0)%2|0;if((ra|0)>0){DVa(m|0,(f[da>>2]|0)+((na<<1)+2-ra<<1)|0,ra<<1|0)|0;Ca=ra}else Ca=0;ta=Ca<<1;DVa(m+ta|0,(f[da>>2]|0)+(Ca+pa-ra<<1)|0,4-ta|0)|0;ta=f[l>>2]|0;qa=X(f[p>>2]|0,f[n>>2]|0)|0;xa=(f[x>>2]|0)+(X(f[c>>2]|0,na)|0)|0;if((b[453328]|0)==0?jVa(453328)|0:0){f[114865]=32768;f[114866]=32768;f[114867]=32768;f[114868]=32768}if((b[453336]|0)==0?jVa(453336)|0:0){d[406172]=-32768;d[406173]=-32768;d[406174]=-32768;d[406175]=-32768;d[406176]=-32768;d[406177]=-32768;d[406178]=-32768;d[406179]=-32768}if((b[453344]|0)==0?jVa(453344)|0:0){ya=1075290;va=ya+16|0;do{b[ya>>0]=128;ya=ya+1|0}while((ya|0)<(va|0))}ya=ta+(qa<<1)|0;va=f[m>>2]|0;pa=qa+-15|0;if((qa|0)>15){sa=va<<16>>16;ua=va>>16;va=0;wa=ta;Da=xa;Ea=ya;while(1){Fa=j[406172]|0;Ga=j[406173]|0;Ha=j[406174]|0;Ia=j[406175]|0;Ja=j[406176]|0;Ka=j[406177]|0;La=j[406178]|0;Ma=j[406179]|0;Na=X(Fa+(j[Ea>>1]|0)<<16>>16,ua)|0;Oa=X(Ga+(j[Ea+2>>1]|0)<<16>>16,ua)|0;Pa=X(Ha+(j[Ea+4>>1]|0)<<16>>16,ua)|0;Qa=X(Ia+(j[Ea+6>>1]|0)<<16>>16,ua)|0;Ra=X(Ja+(j[Ea+8>>1]|0)<<16>>16,ua)|0;Sa=X(Ka+(j[Ea+10>>1]|0)<<16>>16,ua)|0;Ta=X(La+(j[Ea+12>>1]|0)<<16>>16,ua)|0;Ua=X(Ma+(j[Ea+14>>1]|0)<<16>>16,ua)|0;Va=wa+16|0;Wa=Ea+16|0;Xa=Na+(X(Fa+(j[wa>>1]|0)<<16>>16,sa)|0)|0;Na=Oa+(X(Ga+(j[wa+2>>1]|0)<<16>>16,sa)|0)|0;Oa=Pa+(X(Ha+(j[wa+4>>1]|0)<<16>>16,sa)|0)|0;Pa=Qa+(X(Ia+(j[wa+6>>1]|0)<<16>>16,sa)|0)|0;Qa=Ra+(X(Ja+(j[wa+8>>1]|0)<<16>>16,sa)|0)|0;Ra=Sa+(X(Ka+(j[wa+10>>1]|0)<<16>>16,sa)|0)|0;Sa=Ta+(X(La+(j[wa+12>>1]|0)<<16>>16,sa)|0)|0;Ta=Ua+(X(Ma+(j[wa+14>>1]|0)<<16>>16,sa)|0)|0;Ua=(X((j[Wa>>1]|0)+Fa<<16>>16,ua)|0)+(X((j[Va>>1]|0)+Fa<<16>>16,sa)|0)|0;Fa=(X((j[Wa+2>>1]|0)+Ga<<16>>16,ua)|0)+(X((j[Va+2>>1]|0)+Ga<<16>>16,sa)|0)|0;Ga=(X((j[Wa+4>>1]|0)+Ha<<16>>16,ua)|0)+(X((j[Va+4>>1]|0)+Ha<<16>>16,sa)|0)|0;Ha=(X((j[Wa+6>>1]|0)+Ia<<16>>16,ua)|0)+(X((j[Va+6>>1]|0)+Ia<<16>>16,sa)|0)|0;Ia=(X((j[Wa+8>>1]|0)+Ja<<16>>16,ua)|0)+(X((j[Va+8>>1]|0)+Ja<<16>>16,sa)|0)|0;Ja=(X((j[Wa+10>>1]|0)+Ka<<16>>16,ua)|0)+(X((j[Va+10>>1]|0)+Ka<<16>>16,sa)|0)|0;Ka=(X((j[Wa+12>>1]|0)+La<<16>>16,ua)|0)+(X((j[Va+12>>1]|0)+La<<16>>16,sa)|0)|0;La=(X((j[Wa+14>>1]|0)+Ma<<16>>16,ua)|0)+(X((j[Va+14>>1]|0)+Ma<<16>>16,sa)|0)|0;Ma=f[114865]|0;Va=f[114866]|0;Wa=f[114867]|0;Ya=f[114868]|0;Za=Xa+Ma>>16;Xa=Na+Va>>16;Na=Oa+Wa>>16;Oa=Pa+Ya>>16;Pa=Qa+Ma>>16;Qa=Ra+Va>>16;Ra=Sa+Wa>>16;Sa=Ta+Ya>>16;d[i>>1]=(Za+32768|0)>>>0<65536?Za:(Za|0)>0?32767:32768;d[r>>1]=(Pa+32768|0)>>>0<65536?Pa:(Pa|0)>0?32767:32768;d[w>>1]=(Xa+32768|0)>>>0<65536?Xa:(Xa|0)>0?32767:32768;d[q>>1]=(Qa+32768|0)>>>0<65536?Qa:(Qa|0)>0?32767:32768;d[v>>1]=(Na+32768|0)>>>0<65536?Na:(Na|0)>0?32767:32768;d[A>>1]=(Ra+32768|0)>>>0<65536?Ra:(Ra|0)>0?32767:32768;d[z>>1]=(Oa+32768|0)>>>0<65536?Oa:(Oa|0)>0?32767:32768;d[G>>1]=(Sa+32768|0)>>>0<65536?Sa:(Sa|0)>0?32767:32768;Sa=Ua+Ma>>16;Ua=Fa+Va>>16;Fa=Ga+Wa>>16;Ga=Ha+Ya>>16;Ha=Ia+Ma>>16;Ma=Ja+Va>>16;Va=Ka+Wa>>16;Wa=La+Ya>>16;d[k>>1]=(Sa+32768|0)>>>0<65536?Sa:(Sa|0)>0?32767:32768;d[H>>1]=(Ha+32768|0)>>>0<65536?Ha:(Ha|0)>0?32767:32768;d[I>>1]=(Ua+32768|0)>>>0<65536?Ua:(Ua|0)>0?32767:32768;d[J>>1]=(Ma+32768|0)>>>0<65536?Ma:(Ma|0)>0?32767:32768;d[K>>1]=(Fa+32768|0)>>>0<65536?Fa:(Fa|0)>0?32767:32768;d[L>>1]=(Va+32768|0)>>>0<65536?Va:(Va|0)>0?32767:32768;d[M>>1]=(Ga+32768|0)>>>0<65536?Ga:(Ga|0)>0?32767:32768;d[N>>1]=(Wa+32768|0)>>>0<65536?Wa:(Wa|0)>0?32767:32768;U5(g,i,k);Wa=(h[O>>0]|0)-(h[1075291]|0)&255;Ga=(h[P>>0]|0)-(h[1075292]|0)&255;Va=(h[Q>>0]|0)-(h[1075293]|0)&255;Fa=(h[R>>0]|0)-(h[1075294]|0)&255;Ma=(h[S>>0]|0)-(h[1075295]|0)&255;Ua=(h[T>>0]|0)-(h[1075296]|0)&255;Ha=(h[U>>0]|0)-(h[1075297]|0)&255;Sa=(h[V>>0]|0)-(h[1075298]|0)&255;Ya=(h[W>>0]|0)-(h[1075299]|0)&255;La=(h[Y>>0]|0)-(h[1075300]|0)&255;Ka=(h[Z>>0]|0)-(h[1075301]|0)&255;Ja=(h[_>>0]|0)-(h[1075302]|0)&255;Ia=(h[$>>0]|0)-(h[1075303]|0)&255;Oa=(h[aa>>0]|0)-(h[1075304]|0)&255;Ra=(h[ba>>0]|0)-(h[1075305]|0)&255;b[Da>>0]=(h[g>>0]|0)-(h[1075290]|0);b[Da+1>>0]=Wa;b[Da+2>>0]=Ga;b[Da+3>>0]=Va;b[Da+4>>0]=Fa;b[Da+5>>0]=Ma;b[Da+6>>0]=Ua;b[Da+7>>0]=Ha;b[Da+8>>0]=Sa;b[Da+9>>0]=Ya;b[Da+10>>0]=La;b[Da+11>>0]=Ka;b[Da+12>>0]=Ja;b[Da+13>>0]=Ia;b[Da+14>>0]=Oa;b[Da+15>>0]=Ra;Ra=va+16|0;Oa=wa+32|0;Ia=Ea+32|0;Ja=Da+16|0;if((Ra|0)<(pa|0)){va=Ra;wa=Oa;Da=Ja;Ea=Ia}else{_a=Ia;$a=Ra;ab=Oa;bb=Ja;break}}}else{_a=ya;$a=0;ab=ta;bb=xa}if(($a|0)<(qa|0)){Ea=$a;Da=ab;wa=bb;va=_a;while(1){pa=X(j[m>>1]|0,j[Da>>1]|0)|0;sa=(pa+32768+(X(j[ca>>1]|0,j[va>>1]|0)|0)|0)>>>16;b[wa>>0]=sa>>>0<255?sa:255;Ea=Ea+1|0;if((Ea|0)==(qa|0))break;else{Da=Da+2|0;wa=wa+1|0;va=va+2|0}}}va=na+1|0;if((va|0)<(B|0)){la=Ba;ma=ra;na=va;oa=oa+1|0}else{cb=Ba;db=ra;eb=va;fb=o;break}}}else{cb=C;db=D;eb=F;fb=a+16|0}F=f[l>>2]|0;D=f[fb>>2]|0;if((cb+2|0)>(D|0))gb=F+((X(X(f[n>>2]|0,(db+~cb+D|0)%2|0)|0,f[p>>2]|0)|0)<<1)|0;else{cb=(f[a+4>>2]|0)+(X(f[a+8>>2]|0,D+-1|0)|0)|0;qi[f[a+72>>2]&255](cb,f[p>>2]|0,f[a+40>>2]|0,f[a+48>>2]|0,F,f[a+56>>2]|0,f[a+60>>2]|0,f[n>>2]|0);gb=F}if((eb|0)<(f[y>>2]|0)){F=a+20|0;cb=a+24|0;a=eb;do{eb=(f[F>>2]|0)+(X(f[cb>>2]|0,a)|0)|0;T5(gb,eb,X(f[p>>2]|0,f[n>>2]|0)|0);a=a+1|0}while((a|0)<(f[y>>2]|0))}y=f[l>>2]|0;if((y|0)==(s|0)){u=e;return}if(y|0)HQa(y);f[l>>2]=s;f[t>>2]=520;u=e;return}function T5(a,c,e){a=a|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;if((b[453352]|0)==0?jVa(453352)|0:0){d[406180]=128;d[406181]=128;d[406182]=128;d[406183]=128;d[406184]=128;d[406185]=128;d[406186]=128;d[406187]=128}f=e+-15|0;if((e|0)>15){g=e&-16;h=a+(g<<1)|0;i=0;k=a;l=c;while(1){m=k+16|0;n=j[406180]|0;o=n+(j[k>>1]|0)|0;p=j[406181]|0;q=p+(j[k+2>>1]|0)|0;r=j[406182]|0;s=r+(j[k+4>>1]|0)|0;t=j[406183]|0;u=t+(j[k+6>>1]|0)|0;v=j[406184]|0;w=v+(j[k+8>>1]|0)|0;x=j[406185]|0;y=x+(j[k+10>>1]|0)|0;z=j[406186]|0;A=z+(j[k+12>>1]|0)|0;B=j[406187]|0;C=B+(j[k+14>>1]|0)|0;D=n+(j[m>>1]|0)|0;n=p+(j[m+2>>1]|0)|0;p=r+(j[m+4>>1]|0)|0;r=t+(j[m+6>>1]|0)|0;t=v+(j[m+8>>1]|0)|0;v=x+(j[m+10>>1]|0)|0;x=z+(j[m+12>>1]|0)|0;z=B+(j[m+14>>1]|0)|0;b[l>>0]=(o>>>0<65536?o:o|0?65280:0)>>>8;b[l+1>>0]=(q>>>0<65536?q:q|0?65280:0)>>>8;b[l+2>>0]=(s>>>0<65536?s:s|0?65280:0)>>>8;b[l+3>>0]=(u>>>0<65536?u:u|0?65280:0)>>>8;b[l+4>>0]=(w>>>0<65536?w:w|0?65280:0)>>>8;b[l+5>>0]=(y>>>0<65536?y:y|0?65280:0)>>>8;b[l+6>>0]=(A>>>0<65536?A:A|0?65280:0)>>>8;b[l+7>>0]=(C>>>0<65536?C:C|0?65280:0)>>>8;b[l+8>>0]=(D>>>0<65536?D:D|0?65280:0)>>>8;b[l+9>>0]=(n>>>0<65536?n:n|0?65280:0)>>>8;b[l+10>>0]=(p>>>0<65536?p:p|0?65280:0)>>>8;b[l+11>>0]=(r>>>0<65536?r:r|0?65280:0)>>>8;b[l+12>>0]=(t>>>0<65536?t:t|0?65280:0)>>>8;b[l+13>>0]=(v>>>0<65536?v:v|0?65280:0)>>>8;b[l+14>>0]=(x>>>0<65536?x:x|0?65280:0)>>>8;b[l+15>>0]=(z>>>0<65536?z:z|0?65280:0)>>>8;i=i+16|0;if((i|0)>=(f|0))break;else{k=k+32|0;l=l+16|0}}E=g;F=h;G=c+g|0}else{E=0;F=a;G=c}if((E|0)<(e|0)){H=E;I=F;J=G}else return;while(1){b[J>>0]=((d[I>>1]|0)+128&65535)>>>8;H=H+1|0;if((H|0)==(e|0))break;else{I=I+2|0;J=J+1|0}}return}function U5(a,c,e){a=a|0;c=c|0;e=e|0;var f=0,g=0;f=d[c>>1]|0;g=f<<16>>16;b[a>>0]=(g+128|0)>>>0<256?g:f<<16>>16>0?127:128;f=d[e>>1]|0;g=f<<16>>16;b[a+8>>0]=(g+128|0)>>>0<256?g:f<<16>>16>0?127:128;f=d[c+2>>1]|0;g=f<<16>>16;b[a+1>>0]=(g+128|0)>>>0<256?g:f<<16>>16>0?127:128;f=d[e+2>>1]|0;g=f<<16>>16;b[a+9>>0]=(g+128|0)>>>0<256?g:f<<16>>16>0?127:128;f=d[c+4>>1]|0;g=f<<16>>16;b[a+2>>0]=(g+128|0)>>>0<256?g:f<<16>>16>0?127:128;f=d[e+4>>1]|0;g=f<<16>>16;b[a+10>>0]=(g+128|0)>>>0<256?g:f<<16>>16>0?127:128;f=d[c+6>>1]|0;g=f<<16>>16;b[a+3>>0]=(g+128|0)>>>0<256?g:f<<16>>16>0?127:128;f=d[e+6>>1]|0;g=f<<16>>16;b[a+11>>0]=(g+128|0)>>>0<256?g:f<<16>>16>0?127:128;f=d[c+8>>1]|0;g=f<<16>>16;b[a+4>>0]=(g+128|0)>>>0<256?g:f<<16>>16>0?127:128;f=d[e+8>>1]|0;g=f<<16>>16;b[a+12>>0]=(g+128|0)>>>0<256?g:f<<16>>16>0?127:128;f=d[c+10>>1]|0;g=f<<16>>16;b[a+5>>0]=(g+128|0)>>>0<256?g:f<<16>>16>0?127:128;f=d[e+10>>1]|0;g=f<<16>>16;b[a+13>>0]=(g+128|0)>>>0<256?g:f<<16>>16>0?127:128;f=d[c+12>>1]|0;g=f<<16>>16;b[a+6>>0]=(g+128|0)>>>0<256?g:f<<16>>16>0?127:128;f=d[e+12>>1]|0;g=f<<16>>16;b[a+14>>0]=(g+128|0)>>>0<256?g:f<<16>>16>0?127:128;f=d[c+14>>1]|0;c=f<<16>>16;b[a+7>>0]=(c+128|0)>>>0<256?c:f<<16>>16>0?127:128;f=d[e+14>>1]|0;e=f<<16>>16;b[a+15>>0]=(e+128|0)>>>0<256?e:f<<16>>16>0?127:128;return}function V5(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=+e;g=+g;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0,B=0;i=u;u=u+160|0;j=i+144|0;k=i+136|0;l=i+80|0;m=i+72|0;n=i+16|0;o=i;yV(j,46152);FJ(k,a,-1);if(!((f[k>>2]|0)>0?(f[k+4>>2]|0)>0:0)){f[l>>2]=0;f[l+4>>2]=0;p=JV(l,35)|0;q=199643;r=p+35|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));EP(-215,l,196664,196671,4044);KV(l)}s=f[d>>2]|0;t=d+4|0;v=f[t>>2]|0;if((X(v,s)|0)<=0?!(e>0.0&g>0.0):0){f[l>>2]=0;f[l+4>>2]=0;p=JV(l,56)|0;q=199679;r=p+56|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));EP(-215,l,196664,196671,4045);KV(l);w=f[d>>2]|0;x=f[t>>2]|0}else{w=s;x=v}if(!(X(x,w)|0)){v=AEa(+(f[k>>2]|0)*e)|0;s=AEa(+(f[k+4>>2]|0)*g)|0;f[d>>2]=v;f[t>>2]=s;if((X(s,v)|0)>0){y=g;z=e}else{f[l>>2]=0;f[l+4>>2]=0;p=JV(l,16)|0;q=196729;r=p+16|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));EP(-215,l,196664,196671,4050);KV(l);y=g;z=e}}else{y=+(x|0)/+(f[k+4>>2]|0);z=+(w|0)/+(f[k>>2]|0)}do if((h|0)==5){if((TJ(a,-1)|0)!=5?(TJ(a,-1)|0)!=6:0){A=5;break}A=1}else A=h;while(0);do if((HJ(a)|0)==65536){h=f[a+4>>2]|0;f[l>>2]=f[h>>2];w=l+4|0;x=h+4|0;f[w>>2]=f[x>>2];q=l+8|0;f[q>>2]=f[h+8>>2];f[l+12>>2]=f[h+12>>2];f[l+16>>2]=f[h+16>>2];f[l+20>>2]=f[h+20>>2];f[l+24>>2]=f[h+24>>2];f[l+28>>2]=f[h+28>>2];f[l+32>>2]=f[h+32>>2];p=f[h+36>>2]|0;f[l+36>>2]=p;f[l+40>>2]=q;q=l+48|0;r=l+44|0;f[r>>2]=q;f[q>>2]=0;f[l+52>>2]=0;if(p|0){q=p+12|0;f[q>>2]=(f[q>>2]|0)+1}if((f[x>>2]|0)<3){x=f[h+44>>2]|0;q=f[r>>2]|0;f[q>>2]=f[x>>2];f[q+4>>2]=f[x+4>>2];B=l;break}else{f[w>>2]=0;WO(l,h);B=l;break}}else{DJ(l,a,-1);B=l}while(0);f[m>>2]=f[d>>2];f[m+4>>2]=f[t>>2];_J(c,m,f[B>>2]&4095,-1,0,0);do if((HJ(c)|0)==65536){m=f[c+4>>2]|0;f[n>>2]=f[m>>2];a=n+4|0;h=m+4|0;f[a>>2]=f[h>>2];w=n+8|0;f[w>>2]=f[m+8>>2];f[n+12>>2]=f[m+12>>2];f[n+16>>2]=f[m+16>>2];f[n+20>>2]=f[m+20>>2];f[n+24>>2]=f[m+24>>2];f[n+28>>2]=f[m+28>>2];f[n+32>>2]=f[m+32>>2];x=f[m+36>>2]|0;f[n+36>>2]=x;f[n+40>>2]=w;w=n+48|0;q=n+44|0;f[q>>2]=w;f[w>>2]=0;f[n+52>>2]=0;if(x|0){w=x+12|0;f[w>>2]=(f[w>>2]|0)+1}if((f[h>>2]|0)<3){h=f[m+44>>2]|0;w=f[q>>2]|0;f[w>>2]=f[h>>2];f[w+4>>2]=f[h+4>>2];break}else{f[a>>2]=0;WO(n,m);break}}else DJ(n,c,-1);while(0);if((f[d>>2]|0)==(f[k>>2]|0)?(f[t>>2]|0)==(f[k+4>>2]|0):0){k=o+8|0;f[k>>2]=0;f[k+4>>2]=0;f[o>>2]=33619968;f[o+4>>2]=n;eM(l,o)}else P1(f[B>>2]&4095,f[l+16>>2]|0,f[l+48>>2]|0,f[l+12>>2]|0,f[l+8>>2]|0,f[n+16>>2]|0,f[n+48>>2]|0,f[n+12>>2]|0,f[n+8>>2]|0,z,y,A);A=n+36|0;B=f[A>>2]|0;if(B|0?(o=B+12|0,B=f[o>>2]|0,f[o>>2]=B+-1,(B|0)==1):0)XO(n);f[A>>2]=0;A=n+16|0;B=n+4|0;f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;f[A+12>>2]=0;if((f[B>>2]|0)>0){A=f[n+40>>2]|0;o=0;do{f[A+(o<<2)>>2]=0;o=o+1|0}while((o|0)<(f[B>>2]|0))}B=f[n+44>>2]|0;if((B|0)!=(n+48|0))dX(B);B=l+36|0;n=f[B>>2]|0;if(n|0?(o=n+12|0,n=f[o>>2]|0,f[o>>2]=n+-1,(n|0)==1):0)XO(l);f[B>>2]=0;B=l+16|0;n=l+4|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;if((f[n>>2]|0)>0){B=f[l+40>>2]|0;o=0;do{f[B+(o<<2)>>2]=0;o=o+1|0}while((o|0)<(f[n>>2]|0))}n=f[l+44>>2]|0;if((n|0)!=(l+48|0))dX(n);if(!(f[j+4>>2]|0)){u=i;return}u=i;return}function W5(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=u;u=u+160|0;g=e+96|0;h=e+40|0;i=e+24|0;j=e;k=e+16|0;NY(g,a,0,1,0,0);NY(h,c,0,1,0,0);if((f[h>>2]^f[g>>2])&4095|0){f[i>>2]=0;f[i+4>>2]=0;c=JV(i,24)|0;a=199816;l=c+24|0;do{b[c>>0]=b[a>>0]|0;c=c+1|0;a=a+1|0}while((c|0)<(l|0));EP(-215,i,199841,196671,4083);KV(i)}f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=g;a=j+8|0;f[a>>2]=0;f[a+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=h;a=h+40|0;c=f[a>>2]|0;l=f[c>>2]|0;f[k>>2]=f[c+4>>2];f[k+4>>2]=l;V5(i,j,k,+(f[h+12>>2]|0)/+(f[g+12>>2]|0),+(f[h+8>>2]|0)/+(f[g+8>>2]|0),d);d=h+36|0;k=f[d>>2]|0;if(k|0?(j=k+12|0,k=f[j>>2]|0,f[j>>2]=k+-1,(k|0)==1):0)XO(h);f[d>>2]=0;d=h+16|0;k=h+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[k>>2]|0)>0){d=f[a>>2]|0;a=0;do{f[d+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[k>>2]|0))}k=f[h+44>>2]|0;if((k|0)!=(h+48|0))dX(k);k=g+36|0;h=f[k>>2]|0;if(h|0?(a=h+12|0,h=f[a>>2]|0,f[a>>2]=h+-1,(h|0)==1):0)XO(g);f[k>>2]=0;k=g+16|0;h=g+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;if((f[h>>2]|0)>0){k=f[g+40>>2]|0;a=0;do{f[k+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[h>>2]|0))}h=f[g+44>>2]|0;if((h|0)==(g+48|0)){u=e;return}dX(h);u=e;return}function X5(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;i=u;u=u+208|0;j=i+144|0;k=i+88|0;l=i+72|0;m=i+16|0;n=i;if((h+-5|0)>>>0>=2){f[j>>2]=0;f[j+4>>2]=0;o=JV(j,24)|0;p=199850;q=o+24|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));EP(-215,j,200045,199891,61);KV(j)}vK(a,3,1,h,-1,1,0);vK(c,3,1,h,-1,1,0);do if((HJ(a)|0)==65536){r=f[a+4>>2]|0;f[j>>2]=f[r>>2];s=j+4|0;t=r+4|0;f[s>>2]=f[t>>2];v=j+8|0;f[v>>2]=f[r+8>>2];f[j+12>>2]=f[r+12>>2];f[j+16>>2]=f[r+16>>2];f[j+20>>2]=f[r+20>>2];f[j+24>>2]=f[r+24>>2];f[j+28>>2]=f[r+28>>2];f[j+32>>2]=f[r+32>>2];w=f[r+36>>2]|0;f[j+36>>2]=w;f[j+40>>2]=v;v=j+48|0;x=j+44|0;f[x>>2]=v;f[v>>2]=0;f[j+52>>2]=0;if(w|0){v=w+12|0;f[v>>2]=(f[v>>2]|0)+1}if((f[t>>2]|0)<3){t=f[r+44>>2]|0;v=f[x>>2]|0;f[v>>2]=f[t>>2];f[v+4>>2]=f[t+4>>2];break}else{f[s>>2]=0;WO(j,r);break}}else DJ(j,a,-1);while(0);do if((HJ(c)|0)==65536){a=f[c+4>>2]|0;f[k>>2]=f[a>>2];r=k+4|0;s=a+4|0;f[r>>2]=f[s>>2];t=k+8|0;f[t>>2]=f[a+8>>2];f[k+12>>2]=f[a+12>>2];f[k+16>>2]=f[a+16>>2];f[k+20>>2]=f[a+20>>2];f[k+24>>2]=f[a+24>>2];f[k+28>>2]=f[a+28>>2];f[k+32>>2]=f[a+32>>2];v=f[a+36>>2]|0;f[k+36>>2]=v;f[k+40>>2]=t;t=k+48|0;x=k+44|0;f[x>>2]=t;f[t>>2]=0;f[k+52>>2]=0;if(v|0){t=v+12|0;f[t>>2]=(f[t>>2]|0)+1}if((f[s>>2]|0)<3){s=f[a+44>>2]|0;t=f[x>>2]|0;f[t>>2]=f[s>>2];f[t+4>>2]=f[s+4>>2];break}else{f[r>>2]=0;WO(k,a);break}}else DJ(k,c,-1);while(0);if(!((e|d|0)>-1&(e+d|0)==1)){f[l>>2]=0;f[l+4>>2]=0;o=JV(l,32)|0;p=200062;q=o+32|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));EP(-215,l,200045,199891,67);KV(l)}p=m+4|0;o=m+8|0;q=m+12|0;c=m+16|0;a=m+20|0;r=m+24|0;s=m+28|0;t=m+40|0;x=m+48|0;v=m+44|0;w=n+8|0;y=n+4|0;z=m+36|0;A=l+4|0;B=l+8|0;if(g){switch(d|0){case 0:{C=3;D=10;E=3;F=42;break}case 1:{C=1;D=0;E=-1;F=42;break}default:{}}if((F|0)==42){f[l>>2]=E;f[A>>2]=D;f[B>>2]=C}C=f[j+8>>2]|0;D=f[j+12>>2]|0;f[p>>2]=2;f[o>>2]=C;f[q>>2]=D;f[c>>2]=l;f[a>>2]=l;E=r+8|0;f[E>>2]=0;f[E+4>>2]=0;f[t>>2]=o;f[v>>2]=x;E=D<<2;f[m>>2]=1124024324;f[x>>2]=E;D=m+52|0;f[D>>2]=4;g=l+(X(C,E)|0)|0;f[s>>2]=g;f[r>>2]=g+(0-E)+E;E=w;f[E>>2]=0;f[E+4>>2]=0;f[n>>2]=33619968;f[y>>2]=j;AO(m,n,h,(d|0)==1?1.0:.03125,0.0);E=f[z>>2]|0;if(E|0?(g=E+12|0,E=f[g>>2]|0,f[g>>2]=E+-1,(E|0)==1):0)XO(m);f[z>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[p>>2]|0)>0){E=f[t>>2]|0;g=0;do{f[E+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[p>>2]|0))}g=f[v>>2]|0;if((g|0)!=(x|0))dX(g);switch(e|0){case 0:{G=3;H=10;I=3;F=62;break}case 1:{G=1;H=0;I=-1;F=62;break}default:{}}if((F|0)==62){f[l>>2]=I;f[A>>2]=H;f[B>>2]=G}G=f[k+8>>2]|0;H=f[k+12>>2]|0;f[p>>2]=2;f[o>>2]=G;f[q>>2]=H;f[c>>2]=l;f[a>>2]=l;I=r+8|0;f[I>>2]=0;f[I+4>>2]=0;f[t>>2]=o;f[v>>2]=x;I=H<<2;f[m>>2]=1124024324;f[x>>2]=I;f[D>>2]=4;D=l+(X(G,I)|0)|0;f[s>>2]=D;f[r>>2]=D+(0-I)+I;I=w;f[I>>2]=0;f[I+4>>2]=0;f[n>>2]=33619968;f[y>>2]=k;AO(m,n,h,(e|0)==1?1.0:.03125,0.0);I=f[z>>2]|0;if(I|0?(D=I+12|0,I=f[D>>2]|0,f[D>>2]=I+-1,(I|0)==1):0)XO(m);f[z>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[p>>2]|0)>0){I=f[t>>2]|0;D=0;do{f[I+(D<<2)>>2]=0;D=D+1|0}while((D|0)<(f[p>>2]|0))}D=f[v>>2]|0;if((D|0)!=(x|0))dX(D)}else{switch(d|0){case 0:{J=3;K=10;L=3;F=23;break}case 1:{J=1;K=0;L=-1;F=23;break}default:{}}if((F|0)==23){f[l>>2]=L;f[A>>2]=K;f[B>>2]=J}J=f[j+8>>2]|0;K=f[j+12>>2]|0;f[p>>2]=2;f[o>>2]=J;f[q>>2]=K;f[c>>2]=l;f[a>>2]=l;L=r+8|0;f[L>>2]=0;f[L+4>>2]=0;f[t>>2]=o;f[v>>2]=x;L=K<<2;f[m>>2]=1124024324;f[x>>2]=L;K=m+52|0;f[K>>2]=4;d=l+(X(J,L)|0)|0;f[s>>2]=d;f[r>>2]=d+(0-L)+L;L=w;f[L>>2]=0;f[L+4>>2]=0;f[n>>2]=33619968;f[y>>2]=j;AO(m,n,h,1.0,0.0);L=f[z>>2]|0;if(L|0?(d=L+12|0,L=f[d>>2]|0,f[d>>2]=L+-1,(L|0)==1):0)XO(m);f[z>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[p>>2]|0)>0){L=f[t>>2]|0;d=0;do{f[L+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[p>>2]|0))}d=f[v>>2]|0;if((d|0)!=(x|0))dX(d);switch(e|0){case 0:{M=3;N=10;O=3;F=73;break}case 1:{M=1;N=0;O=-1;F=73;break}default:{}}if((F|0)==73){f[l>>2]=O;f[A>>2]=N;f[B>>2]=M}M=f[k+8>>2]|0;B=f[k+12>>2]|0;f[p>>2]=2;f[o>>2]=M;f[q>>2]=B;f[c>>2]=l;f[a>>2]=l;a=r+8|0;f[a>>2]=0;f[a+4>>2]=0;f[t>>2]=o;f[v>>2]=x;o=B<<2;f[m>>2]=1124024324;f[x>>2]=o;f[K>>2]=4;K=l+(X(M,o)|0)|0;f[s>>2]=K;f[r>>2]=K+(0-o)+o;o=w;f[o>>2]=0;f[o+4>>2]=0;f[n>>2]=33619968;f[y>>2]=k;AO(m,n,h,1.0,0.0);h=f[z>>2]|0;if(h|0?(n=h+12|0,h=f[n>>2]|0,f[n>>2]=h+-1,(h|0)==1):0)XO(m);f[z>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[p>>2]|0)>0){c=f[t>>2]|0;t=0;do{f[c+(t<<2)>>2]=0;t=t+1|0}while((t|0)<(f[p>>2]|0))}p=f[v>>2]|0;if((p|0)!=(x|0))dX(p)}p=k+36|0;x=f[p>>2]|0;if(x|0?(v=x+12|0,x=f[v>>2]|0,f[v>>2]=x+-1,(x|0)==1):0)XO(k);f[p>>2]=0;p=k+16|0;x=k+4|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;if((f[x>>2]|0)>0){p=f[k+40>>2]|0;v=0;do{f[p+(v<<2)>>2]=0;v=v+1|0}while((v|0)<(f[x>>2]|0))}x=f[k+44>>2]|0;if((x|0)!=(k+48|0))dX(x);x=j+36|0;k=f[x>>2]|0;if(k|0?(v=k+12|0,k=f[v>>2]|0,f[v>>2]=k+-1,(k|0)==1):0)XO(j);f[x>>2]=0;x=j+16|0;k=j+4|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;if((f[k>>2]|0)>0){x=f[j+40>>2]|0;v=0;do{f[x+(v<<2)>>2]=0;v=v+1|0}while((v|0)<(f[k>>2]|0))}k=f[j+44>>2]|0;if((k|0)==(j+48|0)){u=i;return}dX(k);u=i;return}function Y5(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0.0;j=u;u=u+208|0;k=j+184|0;l=j+128|0;m=j+72|0;n=j+56|0;o=j;p=(g|0)==1;q=(d|0)>0&p?3:g;r=(e|0)>0&p?3:g;if((i+-5|0)>>>0>=2){f[k>>2]=0;f[k+4>>2]=0;s=JV(k,24)|0;t=199850;v=s+24|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,k,199875,199891,96);KV(k)}vK(a,q,1,i,-1,1,0);vK(c,r,1,i,-1,1,0);do if((HJ(a)|0)==65536){p=f[a+4>>2]|0;f[l>>2]=f[p>>2];w=l+4|0;x=p+4|0;f[w>>2]=f[x>>2];y=l+8|0;f[y>>2]=f[p+8>>2];f[l+12>>2]=f[p+12>>2];f[l+16>>2]=f[p+16>>2];f[l+20>>2]=f[p+20>>2];f[l+24>>2]=f[p+24>>2];f[l+28>>2]=f[p+28>>2];f[l+32>>2]=f[p+32>>2];z=f[p+36>>2]|0;f[l+36>>2]=z;f[l+40>>2]=y;y=l+48|0;A=l+44|0;f[A>>2]=y;f[y>>2]=0;f[l+52>>2]=0;if(z|0){y=z+12|0;f[y>>2]=(f[y>>2]|0)+1}if((f[x>>2]|0)<3){x=f[p+44>>2]|0;y=f[A>>2]|0;f[y>>2]=f[x>>2];f[y+4>>2]=f[x+4>>2];break}else{f[w>>2]=0;WO(l,p);break}}else DJ(l,a,-1);while(0);do if((HJ(c)|0)==65536){a=f[c+4>>2]|0;f[m>>2]=f[a>>2];p=m+4|0;w=a+4|0;f[p>>2]=f[w>>2];x=m+8|0;f[x>>2]=f[a+8>>2];f[m+12>>2]=f[a+12>>2];f[m+16>>2]=f[a+16>>2];f[m+20>>2]=f[a+20>>2];f[m+24>>2]=f[a+24>>2];f[m+28>>2]=f[a+28>>2];f[m+32>>2]=f[a+32>>2];y=f[a+36>>2]|0;f[m+36>>2]=y;f[m+40>>2]=x;x=m+48|0;A=m+44|0;f[A>>2]=x;f[x>>2]=0;f[m+52>>2]=0;if(y|0){x=y+12|0;f[x>>2]=(f[x>>2]|0)+1}if((f[w>>2]|0)<3){w=f[a+44>>2]|0;x=f[A>>2]|0;f[x>>2]=f[w>>2];f[x+4>>2]=f[w+4>>2];break}else{f[p>>2]=0;WO(m,a);break}}else DJ(m,c,-1);while(0);if((g|0)>31|(g&1|0)==0){f[k>>2]=0;f[k+4>>2]=0;s=JV(k,50)|0;t=199948;v=s+50|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-211,k,199875,199891,104);KV(k)}g=((q|0)<(r|0)?r:q)+1|0;f[n>>2]=0;c=n+4|0;f[c>>2]=0;f[n+8>>2]=0;do if(g|0)if(g>>>0>1073741823)ZOa(n);else{a=g<<2;p=EQa(a)|0;f[n>>2]=p;w=p+(g<<2)|0;f[n+8>>2]=w;FVa(p|0,0,a|0)|0;f[c>>2]=w;break}while(0);if(!((e|d|0)>-1&(e+d|0)>0)){f[k>>2]=0;f[k+4>>2]=0;s=JV(k,31)|0;t=199999;v=s+31|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,k,199875,199891,107);KV(k)}g=o+4|0;w=o+8|0;a=o+12|0;p=o+16|0;x=o+20|0;A=o+24|0;y=o+28|0;z=o+40|0;B=o+48|0;C=o+44|0;D=o+52|0;E=k+4|0;F=k+8|0;G=k+4|0;H=o+36|0;I=k+4|0;J=0;while(1){K=(J|0)==0;L=K?l:m;M=K?d:e;N=K?q:r;if((N|0)<=(M|0)){f[k>>2]=0;f[I>>2]=0;s=JV(k,13)|0;t=200031;v=s+13|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,k,199875,199891,115);KV(k)}switch(N|0){case 1:{K=f[n>>2]|0;O=0;P=K;Q=K;R=52;break}case 3:{do if(M){K=f[n>>2]|0;if((M|0)==1){f[K>>2]=-1;S=0;T=K;U=K;break}else{f[K>>2]=1;S=-2;T=K;U=K;break}}else{K=f[n>>2]|0;f[K>>2]=1;S=2;T=K;U=K}while(0);f[T+4>>2]=S;O=2;P=T;Q=U;R=52;break}default:{K=f[n>>2]|0;f[K>>2]=1;if((N|0)>0){V=1;while(1){f[K+(V<<2)>>2]=0;if((V|0)<(N|0))V=V+1|0;else break}}V=N+~M|0;if((V|0)>0){W=f[n>>2]|0;if((N|0)<1)Y=W;else{Z=0;do{_=f[W>>2]|0;$=_;aa=1;ba=_;while(1){_=f[W+(aa<<2)>>2]|0;f[W+(aa+-1<<2)>>2]=$;if((aa|0)==(N|0))break;else{$=ba+_|0;aa=aa+1|0;ba=_}}Z=Z+1|0}while((Z|0)!=(V|0));Y=W}}else Y=K;if((M|0)>0){W=f[n>>2]|0;if((N|0)<1)ca=W;else{V=0;do{Z=f[W>>2]|0;ba=0-Z|0;aa=1;$=Z;while(1){Z=f[W+(aa<<2)>>2]|0;f[W+(aa+-1<<2)>>2]=ba;if((aa|0)==(N|0))break;else{ba=$-Z|0;aa=aa+1|0;$=Z}}V=V+1|0}while((V|0)!=(M|0));ca=W}}else ca=Y}}if((R|0)==52){R=0;f[P+(O<<2)>>2]=1;ca=Q}W=f[L+8>>2]|0;V=f[L+12>>2]|0;f[o>>2]=1124007940;f[g>>2]=2;f[w>>2]=W;f[a>>2]=V;f[p>>2]=ca;f[x>>2]=ca;f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;f[A+12>>2]=0;f[z>>2]=w;f[C>>2]=B;f[D>>2]=0;f[B>>2]=0;if((X(V,W)|0)!=0&(ca|0)==0){f[k>>2]=0;f[E>>2]=0;s=JV(k,26)|0;t=346743;v=s+26|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));EP(-215,k,346770,346774,500);KV(k);da=f[a>>2]|0;ea=f[o>>2]|0;fa=f[C>>2]|0;ga=f[x>>2]|0}else{da=V;ea=1124007940;fa=B;ga=ca}W=da<<2;f[o>>2]=ea|16384;f[fa>>2]=W;f[fa+4>>2]=4;K=ga+(X(f[w>>2]|0,W)|0)|0;f[y>>2]=K;f[A>>2]=K+(0-W)+W;if(h)ha=1.0/+(1<>2]=0;f[W+4>>2]=0;f[k>>2]=33619968;f[G>>2]=L;AO(o,k,i,ha,0.0);W=f[H>>2]|0;if(W|0?(K=W+12|0,W=f[K>>2]|0,f[K>>2]=W+-1,(W|0)==1):0)XO(o);f[H>>2]=0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;if((f[g>>2]|0)>0){W=f[z>>2]|0;K=0;do{f[W+(K<<2)>>2]=0;K=K+1|0}while((K|0)<(f[g>>2]|0))}K=f[C>>2]|0;if((K|0)!=(B|0))dX(K);if((J|0)<1)J=J+1|0;else break}J=f[n>>2]|0;if(J|0){n=f[c>>2]|0;if((n|0)!=(J|0))f[c>>2]=n+(~((n+-4-J|0)>>>2)<<2);GQa(J)}J=m+36|0;n=f[J>>2]|0;if(n|0?(c=n+12|0,n=f[c>>2]|0,f[c>>2]=n+-1,(n|0)==1):0)XO(m);f[J>>2]=0;J=m+16|0;n=m+4|0;f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[J+12>>2]=0;if((f[n>>2]|0)>0){J=f[m+40>>2]|0;c=0;do{f[J+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[n>>2]|0))}n=f[m+44>>2]|0;if((n|0)!=(m+48|0))dX(n);n=l+36|0;m=f[n>>2]|0;if(m|0?(c=m+12|0,m=f[c>>2]|0,f[c>>2]=m+-1,(m|0)==1):0)XO(l);f[n>>2]=0;n=l+16|0;m=l+4|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;if((f[m>>2]|0)>0){n=f[l+40>>2]|0;c=0;do{f[n+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[m>>2]|0))}m=f[l+44>>2]|0;if((m|0)==(l+48|0)){u=j;return}dX(m);u=j;return}function Z5(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=+h;i=+i;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;k=u;u=u+336|0;l=k+280|0;m=k+272|0;n=k+264|0;o=k+200|0;p=k+208|0;q=k+144|0;r=k+88|0;s=k+80|0;t=k+72|0;v=k+56|0;w=k+40|0;x=k+16|0;y=k;z=k+32|0;f[m>>2]=c;yV(n,46172);A=GJ(a,-1)|0;B=A&7;if((c|0)<0){f[m>>2]=B;C=B}else C=c;FJ(o,a,-1);_J(b,o,C&7|A&4088,-1,0,0);A=(C|0)<(B|0)?B:C;C=(A|0)>5?A:5;f[p>>2]=1124007936;A=p+4|0;B=p+8|0;o=p+40|0;c=A;D=c+36|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(D|0));f[o>>2]=B;B=p+48|0;E=p+44|0;f[E>>2]=B;f[B>>2]=0;f[p+52>>2]=0;f[q>>2]=1124007936;F=q+4|0;G=q+8|0;H=q+40|0;c=F;D=c+36|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(D|0));f[H>>2]=G;G=q+48|0;c=q+44|0;f[c>>2]=G;f[G>>2]=0;f[q+52>>2]=0;D=l+8|0;f[D>>2]=0;f[D+4>>2]=0;f[l>>2]=33619968;f[l+4>>2]=p;D=r+8|0;f[D>>2]=0;f[D+4>>2]=0;f[r>>2]=33619968;f[r+4>>2]=q;if((g|0)<1)X5(l,r,d,e,0,C);else Y5(l,r,d,e,g,0,C);do if(h!=1.0)if(!d){C=l+8|0;f[C>>2]=0;f[C+4>>2]=0;f[l>>2]=33619968;f[l+4>>2]=p;AO(p,l,-1,h,0.0);break}else{C=l+8|0;f[C>>2]=0;f[C+4>>2]=0;f[l>>2]=33619968;f[l+4>>2]=q;AO(q,l,-1,h,0.0);break}while(0);do if((HJ(a)|0)==65536){d=f[a+4>>2]|0;f[l>>2]=f[d>>2];C=l+4|0;g=d+4|0;f[C>>2]=f[g>>2];e=l+8|0;f[e>>2]=f[d+8>>2];f[l+12>>2]=f[d+12>>2];f[l+16>>2]=f[d+16>>2];f[l+20>>2]=f[d+20>>2];f[l+24>>2]=f[d+24>>2];f[l+28>>2]=f[d+28>>2];f[l+32>>2]=f[d+32>>2];D=f[d+36>>2]|0;f[l+36>>2]=D;f[l+40>>2]=e;e=l+48|0;I=l+44|0;f[I>>2]=e;f[e>>2]=0;f[l+52>>2]=0;if(D|0){e=D+12|0;f[e>>2]=(f[e>>2]|0)+1}if((f[g>>2]|0)<3){g=f[d+44>>2]|0;e=f[I>>2]|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];break}else{f[C>>2]=0;WO(l,d);break}}else DJ(l,a,-1);while(0);do if((HJ(b)|0)==65536){a=f[b+4>>2]|0;f[r>>2]=f[a>>2];d=r+4|0;C=a+4|0;f[d>>2]=f[C>>2];g=r+8|0;f[g>>2]=f[a+8>>2];f[r+12>>2]=f[a+12>>2];f[r+16>>2]=f[a+16>>2];f[r+20>>2]=f[a+20>>2];f[r+24>>2]=f[a+24>>2];f[r+28>>2]=f[a+28>>2];f[r+32>>2]=f[a+32>>2];e=f[a+36>>2]|0;f[r+36>>2]=e;f[r+40>>2]=g;g=r+48|0;I=r+44|0;f[I>>2]=g;f[g>>2]=0;f[r+52>>2]=0;if(e|0){g=e+12|0;f[g>>2]=(f[g>>2]|0)+1}if((f[C>>2]|0)<3){C=f[a+44>>2]|0;g=f[I>>2]|0;f[g>>2]=f[C>>2];f[g+4>>2]=f[C+4>>2];break}else{f[d>>2]=0;WO(r,a);break}}else DJ(r,b,-1);while(0);f[s>>2]=0;f[s+4>>2]=0;b=f[l+8>>2]|0;f[t>>2]=f[l+12>>2];f[t+4>>2]=b;if(!(j&16))fP(l,t,s);s=l+16|0;t=l+44|0;b=r+16|0;a=r+44|0;f[v+8>>2]=0;f[v+12>>2]=0;f[v>>2]=16842752;f[v+4>>2]=l;d=w+8|0;f[d>>2]=0;f[d+4>>2]=0;f[w>>2]=33619968;f[w+4>>2]=r;d=f[m>>2]|0;f[x+8>>2]=0;f[x+12>>2]=0;f[x>>2]=16842752;f[x+4>>2]=p;f[y+8>>2]=0;f[y+12>>2]=0;f[y>>2]=16842752;f[y+4>>2]=q;f[z>>2]=-1;f[z+4>>2]=-1;ioa(v,w,d,x,y,z,i,j);j=r+36|0;z=f[j>>2]|0;if(z|0?(y=z+12|0,z=f[y>>2]|0,f[y>>2]=z+-1,(z|0)==1):0)XO(r);f[j>>2]=0;j=r+4|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[j>>2]|0)>0){b=f[r+40>>2]|0;z=0;do{f[b+(z<<2)>>2]=0;z=z+1|0}while((z|0)<(f[j>>2]|0))}j=f[a>>2]|0;if((j|0)!=(r+48|0))dX(j);j=l+36|0;r=f[j>>2]|0;if(r|0?(a=r+12|0,r=f[a>>2]|0,f[a>>2]=r+-1,(r|0)==1):0)XO(l);f[j>>2]=0;j=l+4|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if((f[j>>2]|0)>0){s=f[l+40>>2]|0;r=0;do{f[s+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[j>>2]|0))}j=f[t>>2]|0;if((j|0)!=(l+48|0))dX(j);j=q+36|0;l=f[j>>2]|0;if(l|0?(t=l+12|0,l=f[t>>2]|0,f[t>>2]=l+-1,(l|0)==1):0)XO(q);f[j>>2]=0;j=q+16|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;if((f[F>>2]|0)>0){j=f[H>>2]|0;H=0;do{f[j+(H<<2)>>2]=0;H=H+1|0}while((H|0)<(f[F>>2]|0))}F=f[c>>2]|0;if((F|0)!=(G|0))dX(F);F=p+36|0;G=f[F>>2]|0;if(G|0?(c=G+12|0,G=f[c>>2]|0,f[c>>2]=G+-1,(G|0)==1):0)XO(p);f[F>>2]=0;F=p+16|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;f[F+12>>2]=0;if((f[A>>2]|0)>0){F=f[o>>2]|0;o=0;do{f[F+(o<<2)>>2]=0;o=o+1|0}while((o|0)<(f[A>>2]|0))}A=f[E>>2]|0;if((A|0)!=(B|0))dX(A);if(!(f[n+4>>2]|0)){u=k;return}u=k;return}function _5(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=+g;h=+h;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;j=u;u=u+336|0;k=j+280|0;l=j+272|0;m=j+264|0;n=j+200|0;o=j+208|0;p=j+144|0;q=j+88|0;r=j+80|0;s=j+72|0;t=j+56|0;v=j+40|0;w=j+16|0;x=j;y=j+32|0;f[l>>2]=c;yV(m,46192);z=GJ(a,-1)|0;A=z&7;if((c|0)<0){f[l>>2]=A;B=A}else B=c;FJ(n,a,-1);_J(b,n,B&7|z&4088,-1,0,0);z=(B|0)<(A|0)?A:B;B=(z|0)>5?z:5;f[o>>2]=1124007936;z=o+4|0;A=o+8|0;n=o+40|0;c=z;C=c+36|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(C|0));f[n>>2]=A;A=o+48|0;D=o+44|0;f[D>>2]=A;f[A>>2]=0;f[o+52>>2]=0;f[p>>2]=1124007936;E=p+4|0;F=p+8|0;G=p+40|0;c=E;C=c+36|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(C|0));f[G>>2]=F;F=p+48|0;c=p+44|0;f[c>>2]=F;f[F>>2]=0;f[p+52>>2]=0;C=k+8|0;f[C>>2]=0;f[C+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=o;C=q+8|0;f[C>>2]=0;f[C+4>>2]=0;f[q>>2]=33619968;f[q+4>>2]=p;X5(k,q,d,e,0,B);do if(g!=1.0)if(!d){B=k+8|0;f[B>>2]=0;f[B+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=o;AO(o,k,-1,g,0.0);break}else{B=k+8|0;f[B>>2]=0;f[B+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=p;AO(p,k,-1,g,0.0);break}while(0);do if((HJ(a)|0)==65536){d=f[a+4>>2]|0;f[k>>2]=f[d>>2];B=k+4|0;e=d+4|0;f[B>>2]=f[e>>2];C=k+8|0;f[C>>2]=f[d+8>>2];f[k+12>>2]=f[d+12>>2];f[k+16>>2]=f[d+16>>2];f[k+20>>2]=f[d+20>>2];f[k+24>>2]=f[d+24>>2];f[k+28>>2]=f[d+28>>2];f[k+32>>2]=f[d+32>>2];H=f[d+36>>2]|0;f[k+36>>2]=H;f[k+40>>2]=C;C=k+48|0;I=k+44|0;f[I>>2]=C;f[C>>2]=0;f[k+52>>2]=0;if(H|0){C=H+12|0;f[C>>2]=(f[C>>2]|0)+1}if((f[e>>2]|0)<3){e=f[d+44>>2]|0;C=f[I>>2]|0;f[C>>2]=f[e>>2];f[C+4>>2]=f[e+4>>2];break}else{f[B>>2]=0;WO(k,d);break}}else DJ(k,a,-1);while(0);do if((HJ(b)|0)==65536){a=f[b+4>>2]|0;f[q>>2]=f[a>>2];d=q+4|0;B=a+4|0;f[d>>2]=f[B>>2];e=q+8|0;f[e>>2]=f[a+8>>2];f[q+12>>2]=f[a+12>>2];f[q+16>>2]=f[a+16>>2];f[q+20>>2]=f[a+20>>2];f[q+24>>2]=f[a+24>>2];f[q+28>>2]=f[a+28>>2];f[q+32>>2]=f[a+32>>2];C=f[a+36>>2]|0;f[q+36>>2]=C;f[q+40>>2]=e;e=q+48|0;I=q+44|0;f[I>>2]=e;f[e>>2]=0;f[q+52>>2]=0;if(C|0){e=C+12|0;f[e>>2]=(f[e>>2]|0)+1}if((f[B>>2]|0)<3){B=f[a+44>>2]|0;e=f[I>>2]|0;f[e>>2]=f[B>>2];f[e+4>>2]=f[B+4>>2];break}else{f[d>>2]=0;WO(q,a);break}}else DJ(q,b,-1);while(0);f[r>>2]=0;f[r+4>>2]=0;b=f[k+8>>2]|0;f[s>>2]=f[k+12>>2];f[s+4>>2]=b;if(!(i&16))fP(k,s,r);r=k+16|0;s=k+44|0;b=q+16|0;a=q+44|0;f[t+8>>2]=0;f[t+12>>2]=0;f[t>>2]=16842752;f[t+4>>2]=k;d=v+8|0;f[d>>2]=0;f[d+4>>2]=0;f[v>>2]=33619968;f[v+4>>2]=q;d=f[l>>2]|0;f[w+8>>2]=0;f[w+12>>2]=0;f[w>>2]=16842752;f[w+4>>2]=o;f[x+8>>2]=0;f[x+12>>2]=0;f[x>>2]=16842752;f[x+4>>2]=p;f[y>>2]=-1;f[y+4>>2]=-1;ioa(t,v,d,w,x,y,h,i);i=q+36|0;y=f[i>>2]|0;if(y|0?(x=y+12|0,y=f[x>>2]|0,f[x>>2]=y+-1,(y|0)==1):0)XO(q);f[i>>2]=0;i=q+4|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[i>>2]|0)>0){b=f[q+40>>2]|0;y=0;do{f[b+(y<<2)>>2]=0;y=y+1|0}while((y|0)<(f[i>>2]|0))}i=f[a>>2]|0;if((i|0)!=(q+48|0))dX(i);i=k+36|0;q=f[i>>2]|0;if(q|0?(a=q+12|0,q=f[a>>2]|0,f[a>>2]=q+-1,(q|0)==1):0)XO(k);f[i>>2]=0;i=k+4|0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;if((f[i>>2]|0)>0){r=f[k+40>>2]|0;q=0;do{f[r+(q<<2)>>2]=0;q=q+1|0}while((q|0)<(f[i>>2]|0))}i=f[s>>2]|0;if((i|0)!=(k+48|0))dX(i);i=p+36|0;k=f[i>>2]|0;if(k|0?(s=k+12|0,k=f[s>>2]|0,f[s>>2]=k+-1,(k|0)==1):0)XO(p);f[i>>2]=0;i=p+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[E>>2]|0)>0){i=f[G>>2]|0;G=0;do{f[i+(G<<2)>>2]=0;G=G+1|0}while((G|0)<(f[E>>2]|0))}E=f[c>>2]|0;if((E|0)!=(F|0))dX(E);E=o+36|0;F=f[E>>2]|0;if(F|0?(c=F+12|0,F=f[c>>2]|0,f[c>>2]=F+-1,(F|0)==1):0)XO(o);f[E>>2]=0;E=o+16|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;if((f[z>>2]|0)>0){E=f[n>>2]|0;n=0;do{f[E+(n<<2)>>2]=0;n=n+1|0}while((n|0)<(f[z>>2]|0))}z=f[D>>2]|0;if((z|0)!=(A|0))dX(z);if(!(f[m+4>>2]|0)){u=j;return}u=j;return}function $5(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;g=+g;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;i=u;u=u+624|0;j=i+600|0;k=i+528|0;l=i;m=i+520|0;n=i+496|0;o=i+512|0;p=i+504|0;q=i+432|0;r=i+376|0;s=i+312|0;t=i+256|0;v=i+248|0;w=i+240|0;x=i+232|0;y=i+488|0;z=i+224|0;A=i+368|0;B=i+168|0;C=i+112|0;D=i+56|0;f[m>>2]=c;yV(n,46212);E=GJ(a,-1)|0;F=E&7;G=E>>>3&511;H=G+1|0;if((c|0)<0){f[m>>2]=F;I=F}else I=c;FJ(o,a,-1);c=G<<3;_J(b,o,I&7|c,-1,0,0);if((d|2|0)==3){o=(d|0)==3;J=k;G=46232;K=J+72|0;do{f[J>>2]=f[G>>2];J=J+4|0;G=G+4|0}while((J|0)<(K|0));L=o&1;o=k+(L*36|0)|0;M=l+4|0;f[M>>2]=2;N=l+8|0;f[N>>2]=3;f[l+12>>2]=3;O=l+16|0;f[O>>2]=o;f[l+20>>2]=o;o=l+24|0;P=l+40|0;Q=o+8|0;f[Q>>2]=0;f[Q+4>>2]=0;f[P>>2]=N;N=l+48|0;Q=l+44|0;f[Q>>2]=N;f[l>>2]=1124024325;f[N>>2]=12;f[l+52>>2]=4;f[l+28>>2]=k+(L*36|0)+36;f[o>>2]=k+(L*36|0)+36;o=e!=1.0;if(o){R=j+8|0;f[R>>2]=0;f[R+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=l;AO(l,j,-1,e,0.0);R=l+36|0;S=f[R>>2]|0;if((S|0)!=0?(T=S+12|0,S=f[T>>2]|0,f[T>>2]=S+-1,(S|0)==1):0){XO(l);U=R}else U=R}else U=l+36|0;f[U>>2]=0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[O+12>>2]=0;if((f[M>>2]|0)>0){O=f[P>>2]|0;P=0;do{f[O+(P<<2)>>2]=0;P=P+1|0}while((P|0)<(f[M>>2]|0))}M=f[Q>>2]|0;if((M|0)!=(N|0))dX(M);J=k;G=46232;K=J+72|0;do{f[J>>2]=f[G>>2];J=J+4|0;G=G+4|0}while((J|0)<(K|0));G=k+(L*36|0)|0;M=l+4|0;f[M>>2]=2;N=l+8|0;f[N>>2]=3;f[l+12>>2]=3;Q=l+16|0;f[Q>>2]=G;f[l+20>>2]=G;G=l+24|0;P=l+40|0;O=G+8|0;f[O>>2]=0;f[O+4>>2]=0;f[P>>2]=N;N=l+48|0;O=l+44|0;f[O>>2]=N;f[l>>2]=1124024325;f[N>>2]=12;f[l+52>>2]=4;f[l+28>>2]=k+(L*36|0)+36;f[G>>2]=k+(L*36|0)+36;if(o){o=j+8|0;f[o>>2]=0;f[o+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=l;AO(l,j,-1,e,0.0)}o=f[m>>2]|0;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=l;f[p>>2]=-1;f[p+4>>2]=-1;hoa(a,b,o,j,p,g,h);p=l+36|0;o=f[p>>2]|0;if(o|0?(L=o+12|0,o=f[L>>2]|0,f[L>>2]=o+-1,(o|0)==1):0)XO(l);f[p>>2]=0;f[Q>>2]=0;f[Q+4>>2]=0;f[Q+8>>2]=0;f[Q+12>>2]=0;if((f[M>>2]|0)>0){Q=f[P>>2]|0;P=0;do{f[Q+(P<<2)>>2]=0;P=P+1|0}while((P|0)<(f[M>>2]|0))}M=f[O>>2]|0;if((M|0)!=(N|0))dX(M)}else{M=(I|0)<(F|0)?F:I;I=(M|0)>5?M:5;M=((d|0)<6&(F|0)==0?3:F>>>0<6?5:6)|c;f[q>>2]=1124007936;c=q+4|0;N=q+8|0;O=q+40|0;J=c;K=J+36|0;do{f[J>>2]=0;J=J+4|0}while((J|0)<(K|0));f[O>>2]=N;P=q+48|0;Q=q+44|0;f[Q>>2]=P;f[P>>2]=0;f[q+52>>2]=0;f[r>>2]=1124007936;p=r+4|0;o=r+8|0;L=r+40|0;J=p;K=J+36|0;do{f[J>>2]=0;J=J+4|0}while((J|0)<(K|0));f[L>>2]=o;o=r+48|0;G=r+44|0;f[G>>2]=o;f[o>>2]=0;f[r+52>>2]=0;U=j+8|0;f[U>>2]=0;f[U+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=q;U=k+8|0;f[U>>2]=0;f[U+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=r;Y5(j,k,2,0,d,0,I);do if((HJ(a)|0)==65536){I=f[a+4>>2]|0;f[s>>2]=f[I>>2];d=s+4|0;U=I+4|0;f[d>>2]=f[U>>2];R=s+8|0;f[R>>2]=f[I+8>>2];f[s+12>>2]=f[I+12>>2];f[s+16>>2]=f[I+16>>2];f[s+20>>2]=f[I+20>>2];f[s+24>>2]=f[I+24>>2];f[s+28>>2]=f[I+28>>2];f[s+32>>2]=f[I+32>>2];S=f[I+36>>2]|0;f[s+36>>2]=S;f[s+40>>2]=R;R=s+48|0;T=s+44|0;f[T>>2]=R;f[R>>2]=0;f[s+52>>2]=0;if(S|0){R=S+12|0;f[R>>2]=(f[R>>2]|0)+1}if((f[U>>2]|0)<3){U=f[I+44>>2]|0;R=f[T>>2]|0;f[R>>2]=f[U>>2];f[R+4>>2]=f[U+4>>2];break}else{f[d>>2]=0;WO(s,I);break}}else DJ(s,a,-1);while(0);do if((HJ(b)|0)==65536){a=f[b+4>>2]|0;f[t>>2]=f[a>>2];I=t+4|0;d=a+4|0;f[I>>2]=f[d>>2];U=t+8|0;f[U>>2]=f[a+8>>2];f[t+12>>2]=f[a+12>>2];f[t+16>>2]=f[a+16>>2];f[t+20>>2]=f[a+20>>2];f[t+24>>2]=f[a+24>>2];f[t+28>>2]=f[a+28>>2];f[t+32>>2]=f[a+32>>2];R=f[a+36>>2]|0;f[t+36>>2]=R;f[t+40>>2]=U;U=t+48|0;T=t+44|0;f[T>>2]=U;f[U>>2]=0;f[t+52>>2]=0;if(R|0){U=R+12|0;f[U>>2]=(f[U>>2]|0)+1}if((f[d>>2]|0)<3){d=f[a+44>>2]|0;U=f[T>>2]|0;f[U>>2]=f[d>>2];f[U+4>>2]=f[d+4>>2];break}else{f[I>>2]=0;WO(t,a);break}}else DJ(t,b,-1);while(0);f[v>>2]=0;f[v+4>>2]=0;b=s+12|0;a=s+8|0;I=f[a>>2]|0;f[w>>2]=f[b>>2];f[w+4>>2]=I;if(!(h&16))fP(s,w,v);I=h&-17;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=q;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=r;f[y>>2]=-1;f[y+4>>2]=-1;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[l+24>>2]=0;f[l+28>>2]=0;Ema(x,E,M,j,k,y,0.0,I,I,l);f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=r;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=q;f[A>>2]=-1;f[A+4>>2]=-1;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[l+24>>2]=0;f[l+28>>2]=0;Ema(z,E,M,j,k,A,0.0,I,I,l);I=x+4|0;A=f[I>>2]|0;E=dg[f[(f[A>>2]|0)+12>>2]&63](A,s,w,v)|0;A=z+4|0;y=f[A>>2]|0;dg[f[(f[y>>2]|0)+12>>2]&63](y,s,w,v)|0;v=s+16|0;w=s+44|0;y=(f[v>>2]|0)+(X(f[f[w>>2]>>2]|0,E)|0)|0;E=f[b>>2]|0;h=X(E,H<<(47696>>>(F<<1)&3))|0;F=f[a>>2]|0;H=h>>>0>16384?1:16384/(h>>>0)|0;h=(F|0)<(H|0)?F:H;H=(f[N>>2]|0)+-1+h|0;f[B>>2]=1124007936;F=B+4|0;d=B+8|0;U=B+40|0;J=F;K=J+36|0;do{f[J>>2]=0;J=J+4|0}while((J|0)<(K|0));f[U>>2]=d;T=B+48|0;R=B+44|0;f[R>>2]=T;f[T>>2]=0;f[B+52>>2]=0;f[j>>2]=H;H=j+4|0;f[H>>2]=E;VO(B,2,j,M);E=h+-1+(f[N>>2]|0)|0;N=f[b>>2]|0;f[C>>2]=1124007936;b=C+4|0;S=C+8|0;V=C+40|0;J=b;K=J+36|0;do{f[J>>2]=0;J=J+4|0}while((J|0)<(K|0));f[V>>2]=S;J=C+48|0;K=C+44|0;f[K>>2]=J;f[J>>2]=0;f[C+52>>2]=0;f[j>>2]=E;f[H>>2]=N;VO(C,2,j,M);if((f[a>>2]|0)>0){M=s+48|0;N=B+16|0;H=C+16|0;E=j+4|0;W=k+4|0;Y=j+8|0;Z=j+12|0;_=j+4|0;$=k+8|0;aa=k+12|0;ba=k+4|0;ca=l+8|0;da=l+4|0;ea=j+8|0;fa=j+4|0;ga=D+36|0;ha=D+16|0;ia=D+4|0;ja=D+40|0;ka=D+44|0;la=D+48|0;ma=y;y=0;na=f[M>>2]|0;while(1){oa=f[I>>2]|0;ig[f[(f[oa>>2]|0)+16>>2]&127](oa,ma,na,h,f[N>>2]|0,f[T>>2]|0)|0;oa=f[A>>2]|0;pa=ig[f[(f[oa>>2]|0)+16>>2]&127](oa,ma,f[M>>2]|0,h,f[H>>2]|0,f[J>>2]|0)|0;if((pa|0)>0){oa=pa+y|0;f[j>>2]=y;f[E>>2]=oa;f[k>>2]=-2147483648;f[W>>2]=2147483647;YO(D,t,j,k);f[S>>2]=pa;f[d>>2]=pa;f[Y>>2]=0;f[Z>>2]=0;f[j>>2]=16842752;f[_>>2]=B;f[$>>2]=0;f[aa>>2]=0;f[k>>2]=16842752;f[ba>>2]=C;qa=ca;f[qa>>2]=0;f[qa+4>>2]=0;f[l>>2]=33619968;f[da>>2]=B;MH(j,k,l,BK()|0,-1);qa=ea;f[qa>>2]=0;f[qa+4>>2]=0;f[j>>2]=33619968;f[fa>>2]=D;AO(B,j,f[m>>2]|0,e,g);qa=f[ga>>2]|0;if(qa|0?(ra=qa+12|0,qa=f[ra>>2]|0,f[ra>>2]=qa+-1,(qa|0)==1):0)XO(D);f[ga>>2]=0;f[ha>>2]=0;f[ha+4>>2]=0;f[ha+8>>2]=0;f[ha+12>>2]=0;if((f[ia>>2]|0)>0){qa=f[ja>>2]|0;ra=0;do{f[qa+(ra<<2)>>2]=0;ra=ra+1|0}while((ra|0)<(f[ia>>2]|0))}ra=f[ka>>2]|0;if((ra|0)!=(la|0))dX(ra);sa=oa}else sa=pa+y|0;na=f[M>>2]|0;ma=ma+(X(na,h)|0)|0;if((sa|0)>=(f[a>>2]|0))break;else y=sa}}sa=C+36|0;y=f[sa>>2]|0;if(y|0?(a=y+12|0,y=f[a>>2]|0,f[a>>2]=y+-1,(y|0)==1):0)XO(C);f[sa>>2]=0;sa=C+16|0;f[sa>>2]=0;f[sa+4>>2]=0;f[sa+8>>2]=0;f[sa+12>>2]=0;if((f[b>>2]|0)>0){sa=f[V>>2]|0;V=0;do{f[sa+(V<<2)>>2]=0;V=V+1|0}while((V|0)<(f[b>>2]|0))}b=f[K>>2]|0;if((b|0)!=(J|0))dX(b);b=B+36|0;J=f[b>>2]|0;if(J|0?(K=J+12|0,J=f[K>>2]|0,f[K>>2]=J+-1,(J|0)==1):0)XO(B);f[b>>2]=0;b=B+16|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[F>>2]|0)>0){b=f[U>>2]|0;U=0;do{f[b+(U<<2)>>2]=0;U=U+1|0}while((U|0)<(f[F>>2]|0))}F=f[R>>2]|0;if((F|0)!=(T|0))dX(F);F=f[z>>2]|0;if(F|0?(z=F+4|0,T=f[z>>2]|0,f[z>>2]=T+-1,(T|0)==1):0)qg[f[(f[F>>2]|0)+8>>2]&1023](F);F=f[x>>2]|0;if(F|0?(x=F+4|0,T=f[x>>2]|0,f[x>>2]=T+-1,(T|0)==1):0)qg[f[(f[F>>2]|0)+8>>2]&1023](F);F=t+36|0;T=f[F>>2]|0;if(T|0?(x=T+12|0,T=f[x>>2]|0,f[x>>2]=T+-1,(T|0)==1):0)XO(t);f[F>>2]=0;F=t+16|0;T=t+4|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;f[F+12>>2]=0;if((f[T>>2]|0)>0){F=f[t+40>>2]|0;x=0;do{f[F+(x<<2)>>2]=0;x=x+1|0}while((x|0)<(f[T>>2]|0))}T=f[t+44>>2]|0;if((T|0)!=(t+48|0))dX(T);T=s+36|0;t=f[T>>2]|0;do if(t|0){x=t+12|0;F=f[x>>2]|0;f[x>>2]=F+-1;if((F|0)!=1)break;XO(s)}while(0);f[T>>2]=0;T=s+4|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;if((f[T>>2]|0)>0){v=f[s+40>>2]|0;t=0;do{f[v+(t<<2)>>2]=0;t=t+1|0}while((t|0)<(f[T>>2]|0))}T=f[w>>2]|0;if((T|0)!=(s+48|0))dX(T);T=r+36|0;s=f[T>>2]|0;do if(s|0){w=s+12|0;t=f[w>>2]|0;f[w>>2]=t+-1;if((t|0)!=1)break;XO(r)}while(0);f[T>>2]=0;T=r+16|0;f[T>>2]=0;f[T+4>>2]=0;f[T+8>>2]=0;f[T+12>>2]=0;if((f[p>>2]|0)>0){T=f[L>>2]|0;L=0;do{f[T+(L<<2)>>2]=0;L=L+1|0}while((L|0)<(f[p>>2]|0))}p=f[G>>2]|0;if((p|0)!=(o|0))dX(p);p=q+36|0;o=f[p>>2]|0;do if(o|0){G=o+12|0;L=f[G>>2]|0;f[G>>2]=L+-1;if((L|0)!=1)break;XO(q)}while(0);f[p>>2]=0;p=q+16|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;if((f[c>>2]|0)>0){p=f[O>>2]|0;O=0;do{f[p+(O<<2)>>2]=0;O=O+1|0}while((O|0)<(f[c>>2]|0))}c=f[Q>>2]|0;if((c|0)!=(P|0))dX(c)}if(!(f[n+4>>2]|0)){u=i;return}u=i;return}function a6(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=u;u=u+16|0;i=h;j=h+8|0;k=d&7;l=(g|0)<0?(e|0)/2|0:g;g=(c|0)==0;if(c>>>0>=2){f[j>>2]=0;f[j+4>>2]=0;c=JV(j,39)|0;m=200352;n=c+39|0;do{b[c>>0]=b[m>>0]|0;c=c+1|0;m=m+1|0}while((c|0)<(n|0));EP(-215,j,200392,200415,852);KV(j)}m=(k|0)==0;a:do if(g){if(m){k=EQa(16)|0;xia(k);f[k>>2]=46312;f[k+4>>2]=e;f[k+8>>2]=l;c=EQa(16)|0;n=c+4|0;f[n>>2]=1;f[c>>2]=46332;f[c+8>>2]=k;f[a>>2]=c;f[a+4>>2]=k;f[n>>2]=(f[n>>2]|0)+1;k=f[n>>2]|0;f[n>>2]=k+-1;if((k|0)!=1){u=h;return}qg[f[(f[c>>2]|0)+8>>2]&1023](c);u=h;return}switch(d&7){case 2:{c=EQa(16)|0;xia(c);f[c>>2]=46352;f[c+4>>2]=e;f[c+8>>2]=l;k=EQa(16)|0;n=k+4|0;f[n>>2]=1;f[k>>2]=46372;f[k+8>>2]=c;f[a>>2]=k;f[a+4>>2]=c;f[n>>2]=(f[n>>2]|0)+1;c=f[n>>2]|0;f[n>>2]=c+-1;if((c|0)!=1){u=h;return}qg[f[(f[k>>2]|0)+8>>2]&1023](k);u=h;return}case 3:{k=EQa(16)|0;xia(k);f[k>>2]=46392;f[k+4>>2]=e;f[k+8>>2]=l;c=EQa(16)|0;n=c+4|0;f[n>>2]=1;f[c>>2]=46412;f[c+8>>2]=k;f[a>>2]=c;f[a+4>>2]=k;f[n>>2]=(f[n>>2]|0)+1;k=f[n>>2]|0;f[n>>2]=k+-1;if((k|0)!=1){u=h;return}qg[f[(f[c>>2]|0)+8>>2]&1023](c);u=h;return}case 5:{c=EQa(16)|0;xia(c);f[c>>2]=46432;f[c+4>>2]=e;f[c+8>>2]=l;k=EQa(16)|0;n=k+4|0;f[n>>2]=1;f[k>>2]=46452;f[k+8>>2]=c;f[a>>2]=k;f[a+4>>2]=c;f[n>>2]=(f[n>>2]|0)+1;c=f[n>>2]|0;f[n>>2]=c+-1;if((c|0)!=1){u=h;return}qg[f[(f[k>>2]|0)+8>>2]&1023](k);u=h;return}case 6:{k=EQa(16)|0;xia(k);f[k>>2]=46472;f[k+4>>2]=e;f[k+8>>2]=l;c=EQa(16)|0;n=c+4|0;f[n>>2]=1;f[c>>2]=46492;f[c+8>>2]=k;f[a>>2]=c;f[a+4>>2]=k;f[n>>2]=(f[n>>2]|0)+1;k=f[n>>2]|0;f[n>>2]=k+-1;if((k|0)!=1){u=h;return}qg[f[(f[c>>2]|0)+8>>2]&1023](c);u=h;return}default:break a}}else{if(m){c=EQa(16)|0;xia(c);f[c>>2]=46512;f[c+4>>2]=e;f[c+8>>2]=l;k=EQa(16)|0;n=k+4|0;f[n>>2]=1;f[k>>2]=46532;f[k+8>>2]=c;f[a>>2]=k;f[a+4>>2]=c;f[n>>2]=(f[n>>2]|0)+1;c=f[n>>2]|0;f[n>>2]=c+-1;if((c|0)!=1){u=h;return}qg[f[(f[k>>2]|0)+8>>2]&1023](k);u=h;return}switch(d&7){case 2:{k=EQa(16)|0;xia(k);f[k>>2]=46552;f[k+4>>2]=e;f[k+8>>2]=l;c=EQa(16)|0;n=c+4|0;f[n>>2]=1;f[c>>2]=46572;f[c+8>>2]=k;f[a>>2]=c;f[a+4>>2]=k;f[n>>2]=(f[n>>2]|0)+1;k=f[n>>2]|0;f[n>>2]=k+-1;if((k|0)!=1){u=h;return}qg[f[(f[c>>2]|0)+8>>2]&1023](c);u=h;return}case 3:{c=EQa(16)|0;xia(c);f[c>>2]=46592;f[c+4>>2]=e;f[c+8>>2]=l;k=EQa(16)|0;n=k+4|0;f[n>>2]=1;f[k>>2]=46612;f[k+8>>2]=c;f[a>>2]=k;f[a+4>>2]=c;f[n>>2]=(f[n>>2]|0)+1;c=f[n>>2]|0;f[n>>2]=c+-1;if((c|0)!=1){u=h;return}qg[f[(f[k>>2]|0)+8>>2]&1023](k);u=h;return}case 5:{k=EQa(16)|0;xia(k);f[k>>2]=46632;f[k+4>>2]=e;f[k+8>>2]=l;c=EQa(16)|0;n=c+4|0;f[n>>2]=1;f[c>>2]=46652;f[c+8>>2]=k;f[a>>2]=c;f[a+4>>2]=k;f[n>>2]=(f[n>>2]|0)+1;k=f[n>>2]|0;f[n>>2]=k+-1;if((k|0)!=1){u=h;return}qg[f[(f[c>>2]|0)+8>>2]&1023](c);u=h;return}case 6:{c=EQa(16)|0;xia(c);f[c>>2]=46672;f[c+4>>2]=e;f[c+8>>2]=l;k=EQa(16)|0;n=k+4|0;f[n>>2]=1;f[k>>2]=46692;f[k+8>>2]=c;f[a>>2]=k;f[a+4>>2]=c;f[n>>2]=(f[n>>2]|0)+1;c=f[n>>2]|0;f[n>>2]=c+-1;if((c|0)!=1){u=h;return}qg[f[(f[k>>2]|0)+8>>2]&1023](k);u=h;return}default:break a}}while(0);f[i>>2]=d;LP(j,200472,i);EP(-213,j,200392,200415,890);KV(j);f[a>>2]=0;f[a+4>>2]=0;u=h;return}function b6(a){a=a|0;GQa(a);return}function c6(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function d6(a){a=a|0;GQa(a);return}function e6(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0.0,s=0.0,t=0,u=0,v=0,w=0.0;g=X(f[a+4>>2]|0,e)|0;a=X(e,d)|0;if((g|0)==(e|0)){if((a|0)>0)h=0;else return;do{p[c+(h<<3)>>3]=+p[b+(h<<3)>>3];h=h+1|0}while((h|0)!=(a|0));return}if((e|0)<=0)return;h=e<<1;d=a-h|0;i=(d|0)<0;j=(g|0)>(e|0);k=(h|0)<(g|0);l=c;c=b;b=0;while(1){a:do if(i)m=0;else{if(k)n=0;else{o=0;while(1){q=c+(o<<3)|0;r=+p[q+(e<<3)>>3];s=+p[q>>3];p[l+(o<<3)>>3]=r>3];p[l+(o+e<<3)>>3]=r(d|0)){m=q;break a}else o=q}}while(1){o=c+(n<<3)|0;r=+p[o+(e<<3)>>3];q=h;do{s=+p[o+(q<<3)>>3];r=r>3];p[l+(n<<3)>>3]=r>3];p[l+(n+e<<3)>>3]=r(d|0)){m=t;break}else n=t}}while(0);b:do if((m|0)<(a|0)){if(j)u=m;else{t=m;while(1){p[l+(t<<3)>>3]=+p[c+(t<<3)>>3];t=t+e|0;if((t|0)>=(a|0))break b}}do{t=c+(u<<3)|0;s=+p[t>>3];v=e;do{w=+p[t+(v<<3)>>3];s=s>3]=s;u=u+e|0}while((u|0)<(a|0))}while(0);b=b+1|0;if((b|0)==(e|0))break;else{l=l+8|0;c=c+8|0}}return}function f6(a){a=a|0;GQa(a);return}function g6(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function h6(a){a=a|0;GQa(a);return}function i6(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0,u=0,v=0,w=0.0;g=X(f[a+4>>2]|0,e)|0;a=X(e,d)|0;if((g|0)==(e|0)){if((a|0)>0)h=0;else return;do{f[c+(h<<2)>>2]=f[b+(h<<2)>>2];h=h+1|0}while((h|0)!=(a|0));return}if((e|0)<=0)return;h=e<<1;d=a-h|0;i=(d|0)<0;j=(g|0)>(e|0);k=(h|0)<(g|0);l=c;c=b;b=0;while(1){a:do if(i)m=0;else{if(k)o=0;else{p=0;while(1){q=c+(p<<2)|0;r=+n[q+(e<<2)>>2];s=+n[q>>2];n[l+(p<<2)>>2]=r>2];n[l+(p+e<<2)>>2]=r(d|0)){m=q;break a}else p=q}}while(1){p=c+(o<<2)|0;r=+n[p+(e<<2)>>2];q=h;do{s=+n[p+(q<<2)>>2];r=r>2];n[l+(o<<2)>>2]=r>2];n[l+(o+e<<2)>>2]=r(d|0)){m=t;break}else o=t}}while(0);b:do if((m|0)<(a|0)){if(j)u=m;else{t=m;while(1){f[l+(t<<2)>>2]=f[c+(t<<2)>>2];t=t+e|0;if((t|0)>=(a|0))break b}}do{t=c+(u<<2)|0;s=+n[t>>2];v=e;do{w=+n[t+(v<<2)>>2];s=s>2]=s;u=u+e|0}while((u|0)<(a|0))}while(0);b=b+1|0;if((b|0)==(e|0))break;else{l=l+4|0;c=c+4|0}}return}function j6(a){a=a|0;GQa(a);return}function k6(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function l6(a){a=a|0;GQa(a);return}function m6(a,b,c,e,g){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=X(f[a+4>>2]|0,g)|0;a=X(g,e)|0;if((h|0)==(g|0)){if((a|0)>0)i=0;else return;do{d[c+(i<<1)>>1]=d[b+(i<<1)>>1]|0;i=i+1|0}while((i|0)!=(a|0));return}if((g|0)<=0)return;i=g<<1;e=a-i|0;j=(e|0)<0;k=(h|0)>(g|0);l=(i|0)<(h|0);m=c;c=b;b=0;while(1){a:do if(j)n=0;else{if(l)o=0;else{p=0;while(1){q=c+(p<<1)|0;r=d[q+(g<<1)>>1]|0;s=d[q>>1]|0;d[m+(p<<1)>>1]=r<<16>>16>16?s:r;s=d[q+(i<<1)>>1]|0;d[m+(p+g<<1)>>1]=r<<16>>16>16?s:r;r=p+i|0;if((r|0)>(e|0)){n=r;break a}else p=r}}while(1){p=c+(o<<1)|0;r=d[p+(g<<1)>>1]|0;s=i;do{q=d[p+(s<<1)>>1]|0;r=r<<16>>16>16?q:r;s=s+g|0}while((s|0)<(h|0));q=d[p>>1]|0;d[m+(o<<1)>>1]=r<<16>>16>16?q:r;q=d[p+(s<<1)>>1]|0;d[m+(o+g<<1)>>1]=r<<16>>16>16?q:r;q=o+i|0;if((q|0)>(e|0)){n=q;break}else o=q}}while(0);b:do if((n|0)<(a|0)){if(k)t=n;else{q=n;while(1){d[m+(q<<1)>>1]=d[c+(q<<1)>>1]|0;q=q+g|0;if((q|0)>=(a|0))break b}}do{q=c+(t<<1)|0;u=d[q>>1]|0;v=g;do{w=d[q+(v<<1)>>1]|0;u=u<<16>>16>16?w:u;v=v+g|0}while((v|0)<(h|0));d[m+(t<<1)>>1]=u;t=t+g|0}while((t|0)<(a|0))}while(0);b=b+1|0;if((b|0)==(g|0))break;else{m=m+2|0;c=c+2|0}}return}function n6(a){a=a|0;GQa(a);return}function o6(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function p6(a){a=a|0;GQa(a);return}function q6(a,b,c,e,g){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=X(f[a+4>>2]|0,g)|0;a=X(g,e)|0;if((h|0)==(g|0)){if((a|0)>0)i=0;else return;do{d[c+(i<<1)>>1]=d[b+(i<<1)>>1]|0;i=i+1|0}while((i|0)!=(a|0));return}if((g|0)<=0)return;i=g<<1;e=a-i|0;j=(e|0)<0;k=(h|0)>(g|0);l=(i|0)<(h|0);m=c;c=b;b=0;while(1){a:do if(j)n=0;else{if(l)o=0;else{p=0;while(1){q=c+(p<<1)|0;r=d[q+(g<<1)>>1]|0;s=d[q>>1]|0;d[m+(p<<1)>>1]=(r&65535)<(s&65535)?s:r;s=d[q+(i<<1)>>1]|0;d[m+(p+g<<1)>>1]=(r&65535)<(s&65535)?s:r;r=p+i|0;if((r|0)>(e|0)){n=r;break a}else p=r}}while(1){p=c+(o<<1)|0;r=d[p+(g<<1)>>1]|0;s=i;do{q=d[p+(s<<1)>>1]|0;r=(r&65535)<(q&65535)?q:r;s=s+g|0}while((s|0)<(h|0));q=d[p>>1]|0;d[m+(o<<1)>>1]=(r&65535)<(q&65535)?q:r;q=d[p+(s<<1)>>1]|0;d[m+(o+g<<1)>>1]=(r&65535)<(q&65535)?q:r;q=o+i|0;if((q|0)>(e|0)){n=q;break}else o=q}}while(0);b:do if((n|0)<(a|0)){if(k)t=n;else{q=n;while(1){d[m+(q<<1)>>1]=d[c+(q<<1)>>1]|0;q=q+g|0;if((q|0)>=(a|0))break b}}do{q=c+(t<<1)|0;u=d[q>>1]|0;v=g;do{w=d[q+(v<<1)>>1]|0;u=(u&65535)<(w&65535)?w:u;v=v+g|0}while((v|0)<(h|0));d[m+(t<<1)>>1]=u;t=t+g|0}while((t|0)<(a|0))}while(0);b=b+1|0;if((b|0)==(g|0))break;else{m=m+2|0;c=c+2|0}}return}function r6(a){a=a|0;GQa(a);return}function s6(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function t6(a){a=a|0;GQa(a);return}function u6(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;i=X(f[a+4>>2]|0,g)|0;a=X(g,e)|0;if((i|0)==(g|0)){if((a|0)>0)j=0;else return;do{b[d+j>>0]=b[c+j>>0]|0;j=j+1|0}while((j|0)!=(a|0));return}if((g|0)<=0)return;j=g<<1;e=a-j|0;k=(e|0)<0;l=(i|0)>(g|0);m=(j|0)<(i|0);n=d;d=c;c=0;while(1){a:do if(k)o=0;else{if(m)p=0;else{q=0;while(1){r=d+q|0;s=h[r+g>>0]|0;t=(h[r>>0]|0)-s+256|0;if(t>>>0<769)u=h[243744+t>>0]|0;else u=0;b[n+q>>0]=u+s;t=(h[r+j>>0]|0)-s+256|0;if(t>>>0<769)v=h[243744+t>>0]|0;else v=0;b[n+(q+g)>>0]=v+s;s=q+j|0;if((s|0)>(e|0)){o=s;break a}else q=s}}while(1){q=d+p|0;s=b[q+g>>0]|0;t=j;while(1){r=s&255;w=(h[q+t>>0]|0)-r+256|0;if(w>>>0<769)x=h[243744+w>>0]|0;else x=0;y=x+r|0;t=t+g|0;if((t|0)>=(i|0))break;else s=y&255}s=y&255;r=(h[q>>0]|0)-s+256|0;if(r>>>0<769)z=h[243744+r>>0]|0;else z=0;b[n+p>>0]=z+y;r=(h[q+t>>0]|0)-s+256|0;if(r>>>0<769)A=h[243744+r>>0]|0;else A=0;b[n+(p+g)>>0]=A+y;r=p+j|0;if((r|0)>(e|0)){o=r;break}else p=r}}while(0);b:do if((o|0)<(a|0)){if(l)B=o;else{r=o;while(1){b[n+r>>0]=b[d+r>>0]|0;r=r+g|0;if((r|0)>=(a|0))break b}}do{r=d+B|0;s=b[r>>0]|0;w=g;do{C=s&255;D=(h[r+w>>0]|0)-C+256|0;if(D>>>0<769)E=h[243744+D>>0]|0;else E=0;s=E+C&255;w=w+g|0}while((w|0)<(i|0));b[n+B>>0]=s;B=B+g|0}while((B|0)<(a|0))}while(0);c=c+1|0;if((c|0)==(g|0))break;else{n=n+1|0;d=d+1|0}}return}function v6(a){a=a|0;GQa(a);return}function w6(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function x6(a){a=a|0;GQa(a);return}function y6(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0.0,s=0.0,t=0,u=0,v=0,w=0.0;g=X(f[a+4>>2]|0,e)|0;a=X(e,d)|0;if((g|0)==(e|0)){if((a|0)>0)h=0;else return;do{p[c+(h<<3)>>3]=+p[b+(h<<3)>>3];h=h+1|0}while((h|0)!=(a|0));return}if((e|0)<=0)return;h=e<<1;d=a-h|0;i=(d|0)<0;j=(g|0)>(e|0);k=(h|0)<(g|0);l=c;c=b;b=0;while(1){a:do if(i)m=0;else{if(k)n=0;else{o=0;while(1){q=c+(o<<3)|0;r=+p[q+(e<<3)>>3];s=+p[q>>3];p[l+(o<<3)>>3]=s>3];p[l+(o+e<<3)>>3]=s(d|0)){m=q;break a}else o=q}}while(1){o=c+(n<<3)|0;r=+p[o+(e<<3)>>3];q=h;do{s=+p[o+(q<<3)>>3];r=s>3];p[l+(n<<3)>>3]=s>3];p[l+(n+e<<3)>>3]=s(d|0)){m=t;break}else n=t}}while(0);b:do if((m|0)<(a|0)){if(j)u=m;else{t=m;while(1){p[l+(t<<3)>>3]=+p[c+(t<<3)>>3];t=t+e|0;if((t|0)>=(a|0))break b}}do{t=c+(u<<3)|0;s=+p[t>>3];v=e;do{w=+p[t+(v<<3)>>3];s=w>3]=s;u=u+e|0}while((u|0)<(a|0))}while(0);b=b+1|0;if((b|0)==(e|0))break;else{l=l+8|0;c=c+8|0}}return}function z6(a){a=a|0;GQa(a);return}function A6(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function B6(a){a=a|0;GQa(a);return}function C6(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0,u=0,v=0,w=0.0;g=X(f[a+4>>2]|0,e)|0;a=X(e,d)|0;if((g|0)==(e|0)){if((a|0)>0)h=0;else return;do{f[c+(h<<2)>>2]=f[b+(h<<2)>>2];h=h+1|0}while((h|0)!=(a|0));return}if((e|0)<=0)return;h=e<<1;d=a-h|0;i=(d|0)<0;j=(g|0)>(e|0);k=(h|0)<(g|0);l=c;c=b;b=0;while(1){a:do if(i)m=0;else{if(k)o=0;else{p=0;while(1){q=c+(p<<2)|0;r=+n[q+(e<<2)>>2];s=+n[q>>2];n[l+(p<<2)>>2]=s>2];n[l+(p+e<<2)>>2]=s(d|0)){m=q;break a}else p=q}}while(1){p=c+(o<<2)|0;r=+n[p+(e<<2)>>2];q=h;do{s=+n[p+(q<<2)>>2];r=s>2];n[l+(o<<2)>>2]=s>2];n[l+(o+e<<2)>>2]=s(d|0)){m=t;break}else o=t}}while(0);b:do if((m|0)<(a|0)){if(j)u=m;else{t=m;while(1){f[l+(t<<2)>>2]=f[c+(t<<2)>>2];t=t+e|0;if((t|0)>=(a|0))break b}}do{t=c+(u<<2)|0;s=+n[t>>2];v=e;do{w=+n[t+(v<<2)>>2];s=w>2]=s;u=u+e|0}while((u|0)<(a|0))}while(0);b=b+1|0;if((b|0)==(e|0))break;else{l=l+4|0;c=c+4|0}}return}function D6(a){a=a|0;GQa(a);return}function E6(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function F6(a){a=a|0;GQa(a);return}function G6(a,b,c,e,g){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=X(f[a+4>>2]|0,g)|0;a=X(g,e)|0;if((h|0)==(g|0)){if((a|0)>0)i=0;else return;do{d[c+(i<<1)>>1]=d[b+(i<<1)>>1]|0;i=i+1|0}while((i|0)!=(a|0));return}if((g|0)<=0)return;i=g<<1;e=a-i|0;j=(e|0)<0;k=(h|0)>(g|0);l=(i|0)<(h|0);m=c;c=b;b=0;while(1){a:do if(j)n=0;else{if(l)o=0;else{p=0;while(1){q=c+(p<<1)|0;r=d[q+(g<<1)>>1]|0;s=d[q>>1]|0;d[m+(p<<1)>>1]=s<<16>>16>16?s:r;s=d[q+(i<<1)>>1]|0;d[m+(p+g<<1)>>1]=s<<16>>16>16?s:r;r=p+i|0;if((r|0)>(e|0)){n=r;break a}else p=r}}while(1){p=c+(o<<1)|0;r=d[p+(g<<1)>>1]|0;s=i;do{q=d[p+(s<<1)>>1]|0;r=q<<16>>16>16?q:r;s=s+g|0}while((s|0)<(h|0));q=d[p>>1]|0;d[m+(o<<1)>>1]=q<<16>>16>16?q:r;q=d[p+(s<<1)>>1]|0;d[m+(o+g<<1)>>1]=q<<16>>16>16?q:r;q=o+i|0;if((q|0)>(e|0)){n=q;break}else o=q}}while(0);b:do if((n|0)<(a|0)){if(k)t=n;else{q=n;while(1){d[m+(q<<1)>>1]=d[c+(q<<1)>>1]|0;q=q+g|0;if((q|0)>=(a|0))break b}}do{q=c+(t<<1)|0;u=d[q>>1]|0;v=g;do{w=d[q+(v<<1)>>1]|0;u=w<<16>>16>16?w:u;v=v+g|0}while((v|0)<(h|0));d[m+(t<<1)>>1]=u;t=t+g|0}while((t|0)<(a|0))}while(0);b=b+1|0;if((b|0)==(g|0))break;else{m=m+2|0;c=c+2|0}}return}function H6(a){a=a|0;GQa(a);return}function I6(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function J6(a){a=a|0;GQa(a);return}function K6(a,b,c,e,g){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=X(f[a+4>>2]|0,g)|0;a=X(g,e)|0;if((h|0)==(g|0)){if((a|0)>0)i=0;else return;do{d[c+(i<<1)>>1]=d[b+(i<<1)>>1]|0;i=i+1|0}while((i|0)!=(a|0));return}if((g|0)<=0)return;i=g<<1;e=a-i|0;j=(e|0)<0;k=(h|0)>(g|0);l=(i|0)<(h|0);m=c;c=b;b=0;while(1){a:do if(j)n=0;else{if(l)o=0;else{p=0;while(1){q=c+(p<<1)|0;r=d[q+(g<<1)>>1]|0;s=d[q>>1]|0;d[m+(p<<1)>>1]=(s&65535)<(r&65535)?s:r;s=d[q+(i<<1)>>1]|0;d[m+(p+g<<1)>>1]=(s&65535)<(r&65535)?s:r;r=p+i|0;if((r|0)>(e|0)){n=r;break a}else p=r}}while(1){p=c+(o<<1)|0;r=d[p+(g<<1)>>1]|0;s=i;do{q=d[p+(s<<1)>>1]|0;r=(q&65535)<(r&65535)?q:r;s=s+g|0}while((s|0)<(h|0));q=d[p>>1]|0;d[m+(o<<1)>>1]=(q&65535)<(r&65535)?q:r;q=d[p+(s<<1)>>1]|0;d[m+(o+g<<1)>>1]=(q&65535)<(r&65535)?q:r;q=o+i|0;if((q|0)>(e|0)){n=q;break}else o=q}}while(0);b:do if((n|0)<(a|0)){if(k)t=n;else{q=n;while(1){d[m+(q<<1)>>1]=d[c+(q<<1)>>1]|0;q=q+g|0;if((q|0)>=(a|0))break b}}do{q=c+(t<<1)|0;u=d[q>>1]|0;v=g;do{w=d[q+(v<<1)>>1]|0;u=(w&65535)<(u&65535)?w:u;v=v+g|0}while((v|0)<(h|0));d[m+(t<<1)>>1]=u;t=t+g|0}while((t|0)<(a|0))}while(0);b=b+1|0;if((b|0)==(g|0))break;else{m=m+2|0;c=c+2|0}}return}function L6(a){a=a|0;GQa(a);return}function M6(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function N6(a){a=a|0;GQa(a);return}function O6(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;i=X(f[a+4>>2]|0,g)|0;a=X(g,e)|0;if((i|0)==(g|0)){if((a|0)>0)j=0;else return;do{b[d+j>>0]=b[c+j>>0]|0;j=j+1|0}while((j|0)!=(a|0));return}if((g|0)<=0)return;j=g<<1;e=a-j|0;k=(e|0)<0;l=(i|0)>(g|0);m=(j|0)<(i|0);n=d;d=c;c=0;while(1){a:do if(k)o=0;else{if(m)p=0;else{q=0;while(1){r=d+q|0;s=h[r+g>>0]|0;t=s-(h[r>>0]|0)+256|0;if(t>>>0<769)u=h[243744+t>>0]|0;else u=0;b[n+q>>0]=s-u;t=s-(h[r+j>>0]|0)+256|0;if(t>>>0<769)v=h[243744+t>>0]|0;else v=0;b[n+(q+g)>>0]=s-v;s=q+j|0;if((s|0)>(e|0)){o=s;break a}else q=s}}while(1){q=d+p|0;s=b[q+g>>0]|0;t=j;while(1){r=s&255;w=r-(h[q+t>>0]|0)+256|0;if(w>>>0<769)x=h[243744+w>>0]|0;else x=0;y=r-x|0;t=t+g|0;if((t|0)>=(i|0))break;else s=y&255}s=y&255;r=s-(h[q>>0]|0)+256|0;if(r>>>0<769)z=h[243744+r>>0]|0;else z=0;b[n+p>>0]=y-z;r=s-(h[q+t>>0]|0)+256|0;if(r>>>0<769)A=h[243744+r>>0]|0;else A=0;b[n+(p+g)>>0]=y-A;r=p+j|0;if((r|0)>(e|0)){o=r;break}else p=r}}while(0);b:do if((o|0)<(a|0)){if(l)B=o;else{r=o;while(1){b[n+r>>0]=b[d+r>>0]|0;r=r+g|0;if((r|0)>=(a|0))break b}}do{r=d+B|0;s=b[r>>0]|0;w=g;do{C=s&255;D=C-(h[r+w>>0]|0)+256|0;if(D>>>0<769)E=h[243744+D>>0]|0;else E=0;s=C-E&255;w=w+g|0}while((w|0)<(i|0));b[n+B>>0]=s;B=B+g|0}while((B|0)<(a|0))}while(0);c=c+1|0;if((c|0)==(g|0))break;else{n=n+1|0;d=d+1|0}}return}function P6(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=u;u=u+16|0;i=h;j=h+8|0;k=d&7;l=(g|0)<0?(e|0)/2|0:g;g=(c|0)==0;if(c>>>0>=2){f[j>>2]=0;f[j+4>>2]=0;c=JV(j,39)|0;m=200352;n=c+39|0;do{b[c>>0]=b[m>>0]|0;c=c+1|0;m=m+1|0}while((c|0)<(n|0));EP(-215,j,202140,200415,899);KV(j)}m=(k|0)==0;a:do if(g){if(m){k=EQa(16)|0;yia(k);f[k>>2]=46712;f[k+4>>2]=e;f[k+8>>2]=l;c=EQa(16)|0;n=c+4|0;f[n>>2]=1;f[c>>2]=46736;f[c+8>>2]=k;f[a>>2]=c;f[a+4>>2]=k;f[n>>2]=(f[n>>2]|0)+1;k=f[n>>2]|0;f[n>>2]=k+-1;if((k|0)!=1){u=h;return}qg[f[(f[c>>2]|0)+8>>2]&1023](c);u=h;return}switch(d&7){case 2:{c=EQa(16)|0;yia(c);f[c>>2]=46756;f[c+4>>2]=e;f[c+8>>2]=l;k=EQa(16)|0;n=k+4|0;f[n>>2]=1;f[k>>2]=46780;f[k+8>>2]=c;f[a>>2]=k;f[a+4>>2]=c;f[n>>2]=(f[n>>2]|0)+1;c=f[n>>2]|0;f[n>>2]=c+-1;if((c|0)!=1){u=h;return}qg[f[(f[k>>2]|0)+8>>2]&1023](k);u=h;return}case 3:{k=EQa(16)|0;yia(k);f[k>>2]=46800;f[k+4>>2]=e;f[k+8>>2]=l;c=EQa(16)|0;n=c+4|0;f[n>>2]=1;f[c>>2]=46824;f[c+8>>2]=k;f[a>>2]=c;f[a+4>>2]=k;f[n>>2]=(f[n>>2]|0)+1;k=f[n>>2]|0;f[n>>2]=k+-1;if((k|0)!=1){u=h;return}qg[f[(f[c>>2]|0)+8>>2]&1023](c);u=h;return}case 5:{c=EQa(16)|0;yia(c);f[c>>2]=46844;f[c+4>>2]=e;f[c+8>>2]=l;k=EQa(16)|0;n=k+4|0;f[n>>2]=1;f[k>>2]=46868;f[k+8>>2]=c;f[a>>2]=k;f[a+4>>2]=c;f[n>>2]=(f[n>>2]|0)+1;c=f[n>>2]|0;f[n>>2]=c+-1;if((c|0)!=1){u=h;return}qg[f[(f[k>>2]|0)+8>>2]&1023](k);u=h;return}case 6:{k=EQa(16)|0;yia(k);f[k>>2]=46888;f[k+4>>2]=e;f[k+8>>2]=l;c=EQa(16)|0;n=c+4|0;f[n>>2]=1;f[c>>2]=46912;f[c+8>>2]=k;f[a>>2]=c;f[a+4>>2]=k;f[n>>2]=(f[n>>2]|0)+1;k=f[n>>2]|0;f[n>>2]=k+-1;if((k|0)!=1){u=h;return}qg[f[(f[c>>2]|0)+8>>2]&1023](c);u=h;return}default:break a}}else{if(m){c=EQa(16)|0;yia(c);f[c>>2]=46932;f[c+4>>2]=e;f[c+8>>2]=l;k=EQa(16)|0;n=k+4|0;f[n>>2]=1;f[k>>2]=46956;f[k+8>>2]=c;f[a>>2]=k;f[a+4>>2]=c;f[n>>2]=(f[n>>2]|0)+1;c=f[n>>2]|0;f[n>>2]=c+-1;if((c|0)!=1){u=h;return}qg[f[(f[k>>2]|0)+8>>2]&1023](k);u=h;return}switch(d&7){case 2:{k=EQa(16)|0;yia(k);f[k>>2]=46976;f[k+4>>2]=e;f[k+8>>2]=l;c=EQa(16)|0;n=c+4|0;f[n>>2]=1;f[c>>2]=47e3;f[c+8>>2]=k;f[a>>2]=c;f[a+4>>2]=k;f[n>>2]=(f[n>>2]|0)+1;k=f[n>>2]|0;f[n>>2]=k+-1;if((k|0)!=1){u=h;return}qg[f[(f[c>>2]|0)+8>>2]&1023](c);u=h;return}case 3:{c=EQa(16)|0;yia(c);f[c>>2]=47020;f[c+4>>2]=e;f[c+8>>2]=l;k=EQa(16)|0;n=k+4|0;f[n>>2]=1;f[k>>2]=47044;f[k+8>>2]=c;f[a>>2]=k;f[a+4>>2]=c;f[n>>2]=(f[n>>2]|0)+1;c=f[n>>2]|0;f[n>>2]=c+-1;if((c|0)!=1){u=h;return}qg[f[(f[k>>2]|0)+8>>2]&1023](k);u=h;return}case 5:{k=EQa(16)|0;yia(k);f[k>>2]=47064;f[k+4>>2]=e;f[k+8>>2]=l;c=EQa(16)|0;n=c+4|0;f[n>>2]=1;f[c>>2]=47088;f[c+8>>2]=k;f[a>>2]=c;f[a+4>>2]=k;f[n>>2]=(f[n>>2]|0)+1;k=f[n>>2]|0;f[n>>2]=k+-1;if((k|0)!=1){u=h;return}qg[f[(f[c>>2]|0)+8>>2]&1023](c);u=h;return}case 6:{c=EQa(16)|0;yia(c);f[c>>2]=47108;f[c+4>>2]=e;f[c+8>>2]=l;k=EQa(16)|0;n=k+4|0;f[n>>2]=1;f[k>>2]=47132;f[k+8>>2]=c;f[a>>2]=k;f[a+4>>2]=c;f[n>>2]=(f[n>>2]|0)+1;c=f[n>>2]|0;f[n>>2]=c+-1;if((c|0)!=1){u=h;return}qg[f[(f[k>>2]|0)+8>>2]&1023](k);u=h;return}default:break a}}while(0);f[i>>2]=d;LP(j,200472,i);EP(-213,j,202140,200415,937);KV(j);f[a>>2]=0;f[a+4>>2]=0;u=h;return}function Q6(a){a=a|0;GQa(a);return}function R6(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function S6(a){a=a|0;GQa(a);return}function T6(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0.0,E=0,F=0,G=0,H=0,I=0,J=0;h=f[a+4>>2]|0;a=d>>>3;d=(h|0)>1;if(d&(e|0)>1){i=g+-4|0;j=(g|0)<4;k=(h|0)>2;l=a<<1;m=g&-4;n=c;o=b;q=e;while(1){a:do if(j)r=0;else{s=f[o+4>>2]|0;t=f[o>>2]|0;if(!k){u=f[o+8>>2]|0;v=0;while(1){w=s+(v<<3)|0;x=+p[w>>3];y=+p[w+8>>3];z=+p[w+16>>3];A=+p[w+24>>3];w=t+(v<<3)|0;B=+p[w>>3];p[n+(v<<3)>>3]=x>3];p[n+((v|1)<<3)>>3]=y>3];p[n+((v|2)<<3)>>3]=z>3];p[n+((v|3)<<3)>>3]=A>3];C=v+a|0;p[n+(C<<3)>>3]=x>3];p[n+(C+1<<3)>>3]=y>3];p[n+(C+2<<3)>>3]=z>3];p[n+(C+3<<3)>>3]=A(i|0)){r=m;break a}}}v=f[o+(h<<2)>>2]|0;u=0;do{C=s+(u<<3)|0;A=+p[C+24>>3];z=+p[C+16>>3];y=+p[C+8>>3];x=+p[C>>3];C=2;do{w=(f[o+(C<<2)>>2]|0)+(u<<3)|0;B=+p[w>>3];x=x>3];y=y>3];z=z>3];A=A>3];p[n+(u<<3)>>3]=x>3];p[n+((u|1)<<3)>>3]=y>3];p[n+((u|2)<<3)>>3]=z>3];p[n+((u|3)<<3)>>3]=A>3];w=u+a|0;p[n+(w<<3)>>3]=x>3];p[n+(w+1<<3)>>3]=y>3];p[n+(w+2<<3)>>3]=z>3];p[n+(w+3<<3)>>3]=A>2]|0;v=f[o>>2]|0;if(!k){t=f[o+8>>2]|0;s=r;while(1){B=+p[u+(s<<3)>>3];D=+p[v+(s<<3)>>3];p[n+(s<<3)>>3]=B>3];p[n+(s+a<<3)>>3]=B>2]|0;t=r;do{B=+p[u+(t<<3)>>3];w=2;do{D=+p[(f[o+(w<<2)>>2]|0)+(t<<3)>>3];B=B>3];p[n+(t<<3)>>3]=B>3];p[n+(t+a<<3)>>3]=B3){n=s;o=v;q=t}else{E=s;F=v;G=t;break}}}else{E=c;F=b;G=e}if((G|0)<=0)return;e=g+-4|0;b=(g|0)<4;c=g&-4;q=F;F=G;G=E;while(1){c:do if(b)H=0;else{E=f[q>>2]|0;if(d)I=0;else{o=0;while(1){n=E+(o<<3)|0;A=+p[n+8>>3];z=+p[n+16>>3];y=+p[n+24>>3];p[G+(o<<3)>>3]=+p[n>>3];p[G+((o|1)<<3)>>3]=A;p[G+((o|2)<<3)>>3]=z;p[G+((o|3)<<3)>>3]=y;o=o+4|0;if((o|0)>(e|0)){H=c;break c}}}do{o=E+(I<<3)|0;y=+p[o+24>>3];z=+p[o+16>>3];A=+p[o+8>>3];x=+p[o>>3];o=1;do{n=(f[q+(o<<2)>>2]|0)+(I<<3)|0;D=+p[n>>3];x=x>3];A=A>3];z=z>3];y=y>3]=x;p[G+((I|1)<<3)>>3]=A;p[G+((I|2)<<3)>>3]=z;p[G+((I|3)<<3)>>3]=y;I=I+4|0}while((I|0)<=(e|0));H=c}while(0);d:do if((H|0)<(g|0)){E=f[q>>2]|0;if(d)J=H;else{o=H;while(1){p[G+(o<<3)>>3]=+p[E+(o<<3)>>3];o=o+1|0;if((o|0)==(g|0))break d}}do{B=+p[E+(J<<3)>>3];o=1;do{D=+p[(f[q+(o<<2)>>2]|0)+(J<<3)>>3];B=B>3]=B;J=J+1|0}while((J|0)!=(g|0))}while(0);if((F|0)>1){q=q+4|0;F=F+-1|0;G=G+(a<<3)|0}else break}return}function U6(a){a=a|0;GQa(a);return}function V6(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function W6(a){a=a|0;GQa(a);return}function X6(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0.0,E=0,F=0,G=0,H=0,I=0,J=0;h=f[a+4>>2]|0;a=d>>>2;d=(h|0)>1;if(d&(e|0)>1){i=g+-4|0;j=(g|0)<4;k=(h|0)>2;l=a<<1;m=g&-4;o=c;p=b;q=e;while(1){a:do if(j)r=0;else{s=f[p+4>>2]|0;t=f[p>>2]|0;if(!k){u=f[p+8>>2]|0;v=0;while(1){w=s+(v<<2)|0;x=+n[w>>2];y=+n[w+4>>2];z=+n[w+8>>2];A=+n[w+12>>2];w=t+(v<<2)|0;B=+n[w>>2];n[o+(v<<2)>>2]=x>2];n[o+((v|1)<<2)>>2]=y>2];n[o+((v|2)<<2)>>2]=z>2];n[o+((v|3)<<2)>>2]=A>2];C=v+a|0;n[o+(C<<2)>>2]=x>2];n[o+(C+1<<2)>>2]=y>2];n[o+(C+2<<2)>>2]=z>2];n[o+(C+3<<2)>>2]=A(i|0)){r=m;break a}}}v=f[p+(h<<2)>>2]|0;u=0;do{C=s+(u<<2)|0;A=+n[C+12>>2];z=+n[C+8>>2];y=+n[C+4>>2];x=+n[C>>2];C=2;do{w=(f[p+(C<<2)>>2]|0)+(u<<2)|0;B=+n[w>>2];x=x>2];y=y>2];z=z>2];A=A>2];n[o+(u<<2)>>2]=x>2];n[o+((u|1)<<2)>>2]=y>2];n[o+((u|2)<<2)>>2]=z>2];n[o+((u|3)<<2)>>2]=A>2];w=u+a|0;n[o+(w<<2)>>2]=x>2];n[o+(w+1<<2)>>2]=y>2];n[o+(w+2<<2)>>2]=z>2];n[o+(w+3<<2)>>2]=A>2]|0;v=f[p>>2]|0;if(!k){t=f[p+8>>2]|0;s=r;while(1){B=+n[u+(s<<2)>>2];D=+n[v+(s<<2)>>2];n[o+(s<<2)>>2]=B>2];n[o+(s+a<<2)>>2]=B>2]|0;t=r;do{B=+n[u+(t<<2)>>2];w=2;do{D=+n[(f[p+(w<<2)>>2]|0)+(t<<2)>>2];B=B>2];n[o+(t<<2)>>2]=B>2];n[o+(t+a<<2)>>2]=B3){o=s;p=v;q=t}else{E=s;F=v;G=t;break}}}else{E=c;F=b;G=e}if((G|0)<=0)return;e=g+-4|0;b=(g|0)<4;c=g&-4;q=F;F=G;G=E;while(1){c:do if(b)H=0;else{E=f[q>>2]|0;if(d)I=0;else{p=0;while(1){o=E+(p<<2)|0;l=f[o+4>>2]|0;r=f[o+8>>2]|0;k=f[o+12>>2]|0;f[G+(p<<2)>>2]=f[o>>2];f[G+((p|1)<<2)>>2]=l;f[G+((p|2)<<2)>>2]=r;f[G+((p|3)<<2)>>2]=k;p=p+4|0;if((p|0)>(e|0)){H=c;break c}}}do{p=E+(I<<2)|0;A=+n[p+12>>2];z=+n[p+8>>2];y=+n[p+4>>2];x=+n[p>>2];p=1;do{k=(f[q+(p<<2)>>2]|0)+(I<<2)|0;D=+n[k>>2];x=x>2];y=y>2];z=z>2];A=A>2]=x;n[G+((I|1)<<2)>>2]=y;n[G+((I|2)<<2)>>2]=z;n[G+((I|3)<<2)>>2]=A;I=I+4|0}while((I|0)<=(e|0));H=c}while(0);d:do if((H|0)<(g|0)){E=f[q>>2]|0;if(d)J=H;else{p=H;while(1){f[G+(p<<2)>>2]=f[E+(p<<2)>>2];p=p+1|0;if((p|0)==(g|0))break d}}do{B=+n[E+(J<<2)>>2];p=1;do{D=+n[(f[q+(p<<2)>>2]|0)+(J<<2)>>2];B=B>2]=B;J=J+1|0}while((J|0)!=(g|0))}while(0);if((F|0)>1){q=q+4|0;F=F+-1|0;G=G+(a<<2)|0}else break}return}function Y6(a){a=a|0;GQa(a);return}function Z6(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function _6(a){a=a|0;GQa(a);return}function $6(a,b,c,e,g,h){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;i=f[a+4>>2]|0;a=e>>>1;j=(i|0)>1;if(j&(g|0)>1){k=h+-4|0;l=(h|0)<4;m=(i|0)>2;n=e&-2;e=h&-4;o=c;p=b;q=g;while(1){a:do if(l)r=0;else{s=f[p+4>>2]|0;t=f[p>>2]|0;if(!m){u=f[p+8>>2]|0;v=0;while(1){w=s+(v<<1)|0;x=d[w>>1]|0;y=d[w+2>>1]|0;z=d[w+4>>1]|0;A=d[w+6>>1]|0;w=t+(v<<1)|0;B=d[w>>1]|0;d[o+(v<<1)>>1]=x<<16>>16>16?B:x;B=d[w+2>>1]|0;d[o+((v|1)<<1)>>1]=y<<16>>16>16?B:y;B=d[w+4>>1]|0;d[o+((v|2)<<1)>>1]=z<<16>>16>16?B:z;B=d[w+6>>1]|0;d[o+((v|3)<<1)>>1]=A<<16>>16>16?B:A;B=u+(v<<1)|0;w=d[B>>1]|0;C=v+a|0;d[o+(C<<1)>>1]=x<<16>>16>16?w:x;x=d[B+2>>1]|0;d[o+(C+1<<1)>>1]=y<<16>>16>16?x:y;y=d[B+4>>1]|0;d[o+(C+2<<1)>>1]=z<<16>>16>16?y:z;z=d[B+6>>1]|0;d[o+(C+3<<1)>>1]=A<<16>>16>16?z:A;v=v+4|0;if((v|0)>(k|0)){r=e;break a}}}v=f[p+(i<<2)>>2]|0;u=0;do{A=s+(u<<1)|0;z=d[A+6>>1]|0;C=d[A+4>>1]|0;B=d[A+2>>1]|0;y=d[A>>1]|0;A=2;do{x=(f[p+(A<<2)>>2]|0)+(u<<1)|0;w=d[x>>1]|0;y=y<<16>>16>16?w:y;w=d[x+2>>1]|0;B=B<<16>>16>16?w:B;w=d[x+4>>1]|0;C=C<<16>>16>16?w:C;w=d[x+6>>1]|0;z=z<<16>>16>16?w:z;A=A+1|0}while((A|0)!=(i|0));A=t+(u<<1)|0;w=d[A>>1]|0;d[o+(u<<1)>>1]=y<<16>>16>16?w:y;w=d[A+2>>1]|0;d[o+((u|1)<<1)>>1]=B<<16>>16>16?w:B;w=d[A+4>>1]|0;d[o+((u|2)<<1)>>1]=C<<16>>16>16?w:C;w=d[A+6>>1]|0;d[o+((u|3)<<1)>>1]=z<<16>>16>16?w:z;w=v+(u<<1)|0;A=d[w>>1]|0;x=u+a|0;d[o+(x<<1)>>1]=y<<16>>16>16?A:y;A=d[w+2>>1]|0;d[o+(x+1<<1)>>1]=B<<16>>16>16?A:B;A=d[w+4>>1]|0;d[o+(x+2<<1)>>1]=C<<16>>16>16?A:C;A=d[w+6>>1]|0;d[o+(x+3<<1)>>1]=z<<16>>16>16?A:z;u=u+4|0}while((u|0)<=(k|0));r=e}while(0);b:do if((r|0)<(h|0)){u=f[p+4>>2]|0;v=f[p>>2]|0;if(!m){t=f[p+8>>2]|0;s=r;while(1){A=d[u+(s<<1)>>1]|0;x=d[v+(s<<1)>>1]|0;d[o+(s<<1)>>1]=A<<16>>16>16?x:A;x=d[t+(s<<1)>>1]|0;d[o+(s+a<<1)>>1]=A<<16>>16>16?x:A;s=s+1|0;if((s|0)==(h|0))break b}}s=f[p+(i<<2)>>2]|0;t=r;do{A=d[u+(t<<1)>>1]|0;x=2;do{w=d[(f[p+(x<<2)>>2]|0)+(t<<1)>>1]|0;A=A<<16>>16>16?w:A;x=x+1|0}while((x|0)!=(i|0));x=d[v+(t<<1)>>1]|0;d[o+(t<<1)>>1]=A<<16>>16>16?x:A;x=d[s+(t<<1)>>1]|0;d[o+(t+a<<1)>>1]=A<<16>>16>16?x:A;t=t+1|0}while((t|0)!=(h|0))}while(0);t=q+-2|0;s=o+(n<<1)|0;v=p+8|0;if((q|0)>3){o=s;p=v;q=t}else{D=s;E=v;F=t;break}}}else{D=c;E=b;F=g}if((F|0)<=0)return;g=h+-4|0;b=(h|0)<4;c=h&-4;q=E;E=F;F=D;while(1){c:do if(b)G=0;else{D=f[q>>2]|0;if(j)H=0;else{p=0;while(1){o=D+(p<<1)|0;n=d[o+2>>1]|0;r=d[o+4>>1]|0;m=d[o+6>>1]|0;d[F+(p<<1)>>1]=d[o>>1]|0;d[F+((p|1)<<1)>>1]=n;d[F+((p|2)<<1)>>1]=r;d[F+((p|3)<<1)>>1]=m;p=p+4|0;if((p|0)>(g|0)){G=c;break c}}}do{p=D+(H<<1)|0;m=d[p+6>>1]|0;r=d[p+4>>1]|0;n=d[p+2>>1]|0;o=d[p>>1]|0;p=1;do{e=(f[q+(p<<2)>>2]|0)+(H<<1)|0;k=d[e>>1]|0;o=o<<16>>16>16?k:o;k=d[e+2>>1]|0;n=n<<16>>16>16?k:n;k=d[e+4>>1]|0;r=r<<16>>16>16?k:r;k=d[e+6>>1]|0;m=m<<16>>16>16?k:m;p=p+1|0}while((p|0)!=(i|0));d[F+(H<<1)>>1]=o;d[F+((H|1)<<1)>>1]=n;d[F+((H|2)<<1)>>1]=r;d[F+((H|3)<<1)>>1]=m;H=H+4|0}while((H|0)<=(g|0));G=c}while(0);d:do if((G|0)<(h|0)){D=f[q>>2]|0;if(j)I=G;else{p=G;while(1){d[F+(p<<1)>>1]=d[D+(p<<1)>>1]|0;p=p+1|0;if((p|0)==(h|0))break d}}do{p=d[D+(I<<1)>>1]|0;A=1;do{k=d[(f[q+(A<<2)>>2]|0)+(I<<1)>>1]|0;p=p<<16>>16>16?k:p;A=A+1|0}while((A|0)!=(i|0));d[F+(I<<1)>>1]=p;I=I+1|0}while((I|0)!=(h|0))}while(0);if((E|0)>1){q=q+4|0;E=E+-1|0;F=F+(a<<1)|0}else break}return}function a7(a){a=a|0;GQa(a);return}function b7(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function c7(a){a=a|0;GQa(a);return}function d7(a,b,c,e,g,h){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;i=f[a+4>>2]|0;a=e>>>1;j=(i|0)>1;if(j&(g|0)>1){k=h+-4|0;l=(h|0)<4;m=(i|0)>2;n=e&-2;e=h&-4;o=c;p=b;q=g;while(1){a:do if(l)r=0;else{s=f[p+4>>2]|0;t=f[p>>2]|0;if(!m){u=f[p+8>>2]|0;v=0;while(1){w=s+(v<<1)|0;x=d[w>>1]|0;y=d[w+2>>1]|0;z=d[w+4>>1]|0;A=d[w+6>>1]|0;w=t+(v<<1)|0;B=d[w>>1]|0;d[o+(v<<1)>>1]=(x&65535)<(B&65535)?B:x;B=d[w+2>>1]|0;d[o+((v|1)<<1)>>1]=(y&65535)<(B&65535)?B:y;B=d[w+4>>1]|0;d[o+((v|2)<<1)>>1]=(z&65535)<(B&65535)?B:z;B=d[w+6>>1]|0;d[o+((v|3)<<1)>>1]=(A&65535)<(B&65535)?B:A;B=u+(v<<1)|0;w=d[B>>1]|0;C=v+a|0;d[o+(C<<1)>>1]=(x&65535)<(w&65535)?w:x;x=d[B+2>>1]|0;d[o+(C+1<<1)>>1]=(y&65535)<(x&65535)?x:y;y=d[B+4>>1]|0;d[o+(C+2<<1)>>1]=(z&65535)<(y&65535)?y:z;z=d[B+6>>1]|0;d[o+(C+3<<1)>>1]=(A&65535)<(z&65535)?z:A;v=v+4|0;if((v|0)>(k|0)){r=e;break a}}}v=f[p+(i<<2)>>2]|0;u=0;do{A=s+(u<<1)|0;z=d[A+6>>1]|0;C=d[A+4>>1]|0;B=d[A+2>>1]|0;y=d[A>>1]|0;A=2;do{x=(f[p+(A<<2)>>2]|0)+(u<<1)|0;w=d[x>>1]|0;y=(y&65535)<(w&65535)?w:y;w=d[x+2>>1]|0;B=(B&65535)<(w&65535)?w:B;w=d[x+4>>1]|0;C=(C&65535)<(w&65535)?w:C;w=d[x+6>>1]|0;z=(z&65535)<(w&65535)?w:z;A=A+1|0}while((A|0)!=(i|0));A=t+(u<<1)|0;w=d[A>>1]|0;d[o+(u<<1)>>1]=(y&65535)<(w&65535)?w:y;w=d[A+2>>1]|0;d[o+((u|1)<<1)>>1]=(B&65535)<(w&65535)?w:B;w=d[A+4>>1]|0;d[o+((u|2)<<1)>>1]=(C&65535)<(w&65535)?w:C;w=d[A+6>>1]|0;d[o+((u|3)<<1)>>1]=(z&65535)<(w&65535)?w:z;w=v+(u<<1)|0;A=d[w>>1]|0;x=u+a|0;d[o+(x<<1)>>1]=(y&65535)<(A&65535)?A:y;A=d[w+2>>1]|0;d[o+(x+1<<1)>>1]=(B&65535)<(A&65535)?A:B;A=d[w+4>>1]|0;d[o+(x+2<<1)>>1]=(C&65535)<(A&65535)?A:C;A=d[w+6>>1]|0;d[o+(x+3<<1)>>1]=(z&65535)<(A&65535)?A:z;u=u+4|0}while((u|0)<=(k|0));r=e}while(0);b:do if((r|0)<(h|0)){u=f[p+4>>2]|0;v=f[p>>2]|0;if(!m){t=f[p+8>>2]|0;s=r;while(1){A=d[u+(s<<1)>>1]|0;x=d[v+(s<<1)>>1]|0;d[o+(s<<1)>>1]=(A&65535)<(x&65535)?x:A;x=d[t+(s<<1)>>1]|0;d[o+(s+a<<1)>>1]=(A&65535)<(x&65535)?x:A;s=s+1|0;if((s|0)==(h|0))break b}}s=f[p+(i<<2)>>2]|0;t=r;do{A=d[u+(t<<1)>>1]|0;x=2;do{w=d[(f[p+(x<<2)>>2]|0)+(t<<1)>>1]|0;A=(A&65535)<(w&65535)?w:A;x=x+1|0}while((x|0)!=(i|0));x=d[v+(t<<1)>>1]|0;d[o+(t<<1)>>1]=(A&65535)<(x&65535)?x:A;x=d[s+(t<<1)>>1]|0;d[o+(t+a<<1)>>1]=(A&65535)<(x&65535)?x:A;t=t+1|0}while((t|0)!=(h|0))}while(0);t=q+-2|0;s=o+(n<<1)|0;v=p+8|0;if((q|0)>3){o=s;p=v;q=t}else{D=s;E=v;F=t;break}}}else{D=c;E=b;F=g}if((F|0)<=0)return;g=h+-4|0;b=(h|0)<4;c=h&-4;q=E;E=F;F=D;while(1){c:do if(b)G=0;else{D=f[q>>2]|0;if(j)H=0;else{p=0;while(1){o=D+(p<<1)|0;n=d[o+2>>1]|0;r=d[o+4>>1]|0;m=d[o+6>>1]|0;d[F+(p<<1)>>1]=d[o>>1]|0;d[F+((p|1)<<1)>>1]=n;d[F+((p|2)<<1)>>1]=r;d[F+((p|3)<<1)>>1]=m;p=p+4|0;if((p|0)>(g|0)){G=c;break c}}}do{p=D+(H<<1)|0;m=d[p+6>>1]|0;r=d[p+4>>1]|0;n=d[p+2>>1]|0;o=d[p>>1]|0;p=1;do{e=(f[q+(p<<2)>>2]|0)+(H<<1)|0;k=d[e>>1]|0;o=(o&65535)<(k&65535)?k:o;k=d[e+2>>1]|0;n=(n&65535)<(k&65535)?k:n;k=d[e+4>>1]|0;r=(r&65535)<(k&65535)?k:r;k=d[e+6>>1]|0;m=(m&65535)<(k&65535)?k:m;p=p+1|0}while((p|0)!=(i|0));d[F+(H<<1)>>1]=o;d[F+((H|1)<<1)>>1]=n;d[F+((H|2)<<1)>>1]=r;d[F+((H|3)<<1)>>1]=m;H=H+4|0}while((H|0)<=(g|0));G=c}while(0);d:do if((G|0)<(h|0)){D=f[q>>2]|0;if(j)I=G;else{p=G;while(1){d[F+(p<<1)>>1]=d[D+(p<<1)>>1]|0;p=p+1|0;if((p|0)==(h|0))break d}}do{p=d[D+(I<<1)>>1]|0;A=1;do{k=d[(f[q+(A<<2)>>2]|0)+(I<<1)>>1]|0;p=(p&65535)<(k&65535)?k:p;A=A+1|0}while((A|0)!=(i|0));d[F+(I<<1)>>1]=p;I=I+1|0}while((I|0)!=(h|0))}while(0);if((E|0)>1){q=q+4|0;E=E+-1|0;F=F+(a<<1)|0}else break}return}function e7(a){a=a|0;GQa(a);return}function f7(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function g7(a){a=a|0;GQa(a);return}function h7(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;j=f[a+4>>2]|0;a=(j|0)>1;if(a&(g|0)>1){k=i+-4|0;l=(i|0)<4;m=(j|0)>2;n=e<<1;o=i&-4;p=d;q=c;r=g;while(1){if(l)s=0;else{t=q+4|0;u=0;do{v=(f[t>>2]|0)+u|0;w=b[v>>0]|0;x=b[v+1>>0]|0;y=b[v+2>>0]|0;z=b[v+3>>0]|0;if(m){v=z;A=y;B=x;C=w;D=2;while(1){E=(f[q+(D<<2)>>2]|0)+u|0;F=C&255;G=(h[E>>0]|0)-F+256|0;if(G>>>0<769)H=h[243744+G>>0]|0;else H=0;G=H+F&255;F=B&255;I=(h[E+1>>0]|0)-F+256|0;if(I>>>0<769)J=h[243744+I>>0]|0;else J=0;I=J+F&255;F=A&255;K=(h[E+2>>0]|0)-F+256|0;if(K>>>0<769)L=h[243744+K>>0]|0;else L=0;K=L+F&255;F=v&255;M=(h[E+3>>0]|0)-F+256|0;if(M>>>0<769)N=h[243744+M>>0]|0;else N=0;M=N+F&255;D=D+1|0;if((D|0)==(j|0)){O=M;P=K;Q=I;R=G;S=j;break}else{v=M;A=K;B=I;C=G}}}else{O=z;P=y;Q=x;R=w;S=2}C=(f[q>>2]|0)+u|0;B=R&255;A=(h[C>>0]|0)-B+256|0;if(A>>>0<769)T=h[243744+A>>0]|0;else T=0;b[p+u>>0]=T+B;A=Q&255;v=(h[C+1>>0]|0)-A+256|0;if(v>>>0<769)U=h[243744+v>>0]|0;else U=0;b[p+(u|1)>>0]=U+A;v=P&255;D=(h[C+2>>0]|0)-v+256|0;if(D>>>0<769)V=h[243744+D>>0]|0;else V=0;b[p+(u|2)>>0]=V+v;D=O&255;G=(h[C+3>>0]|0)-D+256|0;if(G>>>0<769)W=h[243744+G>>0]|0;else W=0;b[p+(u|3)>>0]=W+D;G=(f[q+(S<<2)>>2]|0)+u|0;C=(h[G>>0]|0)-B+256|0;if(C>>>0<769)X=h[243744+C>>0]|0;else X=0;C=u+e|0;b[p+C>>0]=X+B;B=(h[G+1>>0]|0)-A+256|0;if(B>>>0<769)Y=h[243744+B>>0]|0;else Y=0;b[p+(C+1)>>0]=Y+A;A=(h[G+2>>0]|0)-v+256|0;if(A>>>0<769)Z=h[243744+A>>0]|0;else Z=0;b[p+(C+2)>>0]=Z+v;v=(h[G+3>>0]|0)-D+256|0;if(v>>>0<769)_=h[243744+v>>0]|0;else _=0;b[p+(C+3)>>0]=_+D;u=u+4|0}while((u|0)<=(k|0));s=o}a:do if((s|0)<(i|0)){u=q+4|0;if(!m){t=q+8|0;D=s;while(1){C=h[(f[u>>2]|0)+D>>0]|0;v=(h[(f[q>>2]|0)+D>>0]|0)-C+256|0;if(v>>>0<769)$=h[243744+v>>0]|0;else $=0;b[p+D>>0]=$+C;v=(h[(f[t>>2]|0)+D>>0]|0)-C+256|0;if(v>>>0<769)aa=h[243744+v>>0]|0;else aa=0;b[p+(D+e)>>0]=aa+C;D=D+1|0;if((D|0)==(i|0))break a}}D=q+(j<<2)|0;t=s;do{w=b[(f[u>>2]|0)+t>>0]|0;x=2;while(1){y=w&255;z=(h[(f[q+(x<<2)>>2]|0)+t>>0]|0)-y+256|0;if(z>>>0<769)ba=h[243744+z>>0]|0;else ba=0;ca=ba+y|0;x=x+1|0;if((x|0)==(j|0))break;else w=ca&255}w=ca&255;x=(h[(f[q>>2]|0)+t>>0]|0)-w+256|0;if(x>>>0<769)da=h[243744+x>>0]|0;else da=0;b[p+t>>0]=da+ca;x=(h[(f[D>>2]|0)+t>>0]|0)-w+256|0;if(x>>>0<769)ea=h[243744+x>>0]|0;else ea=0;b[p+(t+e)>>0]=ea+ca;t=t+1|0}while((t|0)!=(i|0))}while(0);t=r+-2|0;D=p+n|0;u=q+8|0;if((r|0)>3){p=D;q=u;r=t}else{fa=D;ga=u;ha=t;break}}}else{fa=d;ga=c;ha=g}if((ha|0)<=0)return;g=i+-4|0;c=(i|0)<4;d=i&-4;r=ga;ga=ha;ha=fa;while(1){b:do if(c)ia=0;else{if(a)ja=0;else{fa=0;while(1){q=(f[r>>2]|0)+fa|0;p=b[q+1>>0]|0;n=b[q+2>>0]|0;ca=b[q+3>>0]|0;b[ha+fa>>0]=b[q>>0]|0;b[ha+(fa|1)>>0]=p;b[ha+(fa|2)>>0]=n;b[ha+(fa|3)>>0]=ca;fa=fa+4|0;if((fa|0)>(g|0)){ia=d;break b}}}do{fa=(f[r>>2]|0)+ja|0;ca=b[fa+3>>0]|0;n=b[fa+2>>0]|0;p=b[fa+1>>0]|0;q=b[fa>>0]|0;fa=1;do{ea=(f[r+(fa<<2)>>2]|0)+ja|0;da=q&255;ba=(h[ea>>0]|0)-da+256|0;if(ba>>>0<769)ka=h[243744+ba>>0]|0;else ka=0;q=ka+da&255;da=p&255;ba=(h[ea+1>>0]|0)-da+256|0;if(ba>>>0<769)la=h[243744+ba>>0]|0;else la=0;p=la+da&255;da=n&255;ba=(h[ea+2>>0]|0)-da+256|0;if(ba>>>0<769)ma=h[243744+ba>>0]|0;else ma=0;n=ma+da&255;da=ca&255;ba=(h[ea+3>>0]|0)-da+256|0;if(ba>>>0<769)na=h[243744+ba>>0]|0;else na=0;ca=na+da&255;fa=fa+1|0}while((fa|0)!=(j|0));b[ha+ja>>0]=q;b[ha+(ja|1)>>0]=p;b[ha+(ja|2)>>0]=n;b[ha+(ja|3)>>0]=ca;ja=ja+4|0}while((ja|0)<=(g|0));ia=d}while(0);c:do if((ia|0)<(i|0)){if(a)oa=ia;else{fa=ia;while(1){b[ha+fa>>0]=b[(f[r>>2]|0)+fa>>0]|0;fa=fa+1|0;if((fa|0)==(i|0))break c}}do{fa=b[(f[r>>2]|0)+oa>>0]|0;da=1;do{ba=fa&255;ea=(h[(f[r+(da<<2)>>2]|0)+oa>>0]|0)-ba+256|0;if(ea>>>0<769)pa=h[243744+ea>>0]|0;else pa=0;fa=pa+ba&255;da=da+1|0}while((da|0)!=(j|0));b[ha+oa>>0]=fa;oa=oa+1|0}while((oa|0)!=(i|0))}while(0);if((ga|0)>1){r=r+4|0;ga=ga+-1|0;ha=ha+e|0}else break}return}function i7(a){a=a|0;GQa(a);return}function j7(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function k7(a){a=a|0;GQa(a);return}function l7(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0.0,E=0,F=0,G=0,H=0,I=0,J=0;h=f[a+4>>2]|0;a=d>>>3;d=(h|0)>1;if(d&(e|0)>1){i=g+-4|0;j=(g|0)<4;k=(h|0)>2;l=a<<1;m=g&-4;n=c;o=b;q=e;while(1){a:do if(j)r=0;else{s=f[o+4>>2]|0;t=f[o>>2]|0;if(!k){u=f[o+8>>2]|0;v=0;while(1){w=s+(v<<3)|0;x=+p[w>>3];y=+p[w+8>>3];z=+p[w+16>>3];A=+p[w+24>>3];w=t+(v<<3)|0;B=+p[w>>3];p[n+(v<<3)>>3]=B>3];p[n+((v|1)<<3)>>3]=B>3];p[n+((v|2)<<3)>>3]=B>3];p[n+((v|3)<<3)>>3]=B>3];C=v+a|0;p[n+(C<<3)>>3]=B>3];p[n+(C+1<<3)>>3]=x>3];p[n+(C+2<<3)>>3]=y>3];p[n+(C+3<<3)>>3]=z(i|0)){r=m;break a}}}v=f[o+(h<<2)>>2]|0;u=0;do{C=s+(u<<3)|0;A=+p[C+24>>3];z=+p[C+16>>3];y=+p[C+8>>3];x=+p[C>>3];C=2;do{w=(f[o+(C<<2)>>2]|0)+(u<<3)|0;B=+p[w>>3];x=B>3];y=B>3];z=B>3];A=B>3];p[n+(u<<3)>>3]=B>3];p[n+((u|1)<<3)>>3]=B>3];p[n+((u|2)<<3)>>3]=B>3];p[n+((u|3)<<3)>>3]=B>3];w=u+a|0;p[n+(w<<3)>>3]=B>3];p[n+(w+1<<3)>>3]=B>3];p[n+(w+2<<3)>>3]=B>3];p[n+(w+3<<3)>>3]=B>2]|0;v=f[o>>2]|0;if(!k){t=f[o+8>>2]|0;s=r;while(1){B=+p[u+(s<<3)>>3];D=+p[v+(s<<3)>>3];p[n+(s<<3)>>3]=D>3];p[n+(s+a<<3)>>3]=D>2]|0;t=r;do{B=+p[u+(t<<3)>>3];w=2;do{D=+p[(f[o+(w<<2)>>2]|0)+(t<<3)>>3];B=D>3];p[n+(t<<3)>>3]=A>3];p[n+(t+a<<3)>>3]=A3){n=s;o=v;q=t}else{E=s;F=v;G=t;break}}}else{E=c;F=b;G=e}if((G|0)<=0)return;e=g+-4|0;b=(g|0)<4;c=g&-4;q=F;F=G;G=E;while(1){c:do if(b)H=0;else{E=f[q>>2]|0;if(d)I=0;else{o=0;while(1){n=E+(o<<3)|0;A=+p[n+8>>3];z=+p[n+16>>3];y=+p[n+24>>3];p[G+(o<<3)>>3]=+p[n>>3];p[G+((o|1)<<3)>>3]=A;p[G+((o|2)<<3)>>3]=z;p[G+((o|3)<<3)>>3]=y;o=o+4|0;if((o|0)>(e|0)){H=c;break c}}}do{o=E+(I<<3)|0;y=+p[o+24>>3];z=+p[o+16>>3];A=+p[o+8>>3];x=+p[o>>3];o=1;do{n=(f[q+(o<<2)>>2]|0)+(I<<3)|0;D=+p[n>>3];x=D>3];A=D>3];z=D>3];y=D>3]=x;p[G+((I|1)<<3)>>3]=A;p[G+((I|2)<<3)>>3]=z;p[G+((I|3)<<3)>>3]=y;I=I+4|0}while((I|0)<=(e|0));H=c}while(0);d:do if((H|0)<(g|0)){E=f[q>>2]|0;if(d)J=H;else{o=H;while(1){p[G+(o<<3)>>3]=+p[E+(o<<3)>>3];o=o+1|0;if((o|0)==(g|0))break d}}do{B=+p[E+(J<<3)>>3];o=1;do{D=+p[(f[q+(o<<2)>>2]|0)+(J<<3)>>3];B=D>3]=B;J=J+1|0}while((J|0)!=(g|0))}while(0);if((F|0)>1){q=q+4|0;F=F+-1|0;G=G+(a<<3)|0}else break}return}function m7(a){a=a|0;GQa(a);return}function n7(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function o7(a){a=a|0;GQa(a);return}function p7(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0.0,E=0,F=0,G=0,H=0,I=0,J=0;h=f[a+4>>2]|0;a=d>>>2;d=(h|0)>1;if(d&(e|0)>1){i=g+-4|0;j=(g|0)<4;k=(h|0)>2;l=a<<1;m=g&-4;o=c;p=b;q=e;while(1){a:do if(j)r=0;else{s=f[p+4>>2]|0;t=f[p>>2]|0;if(!k){u=f[p+8>>2]|0;v=0;while(1){w=s+(v<<2)|0;x=+n[w>>2];y=+n[w+4>>2];z=+n[w+8>>2];A=+n[w+12>>2];w=t+(v<<2)|0;B=+n[w>>2];n[o+(v<<2)>>2]=B>2];n[o+((v|1)<<2)>>2]=B>2];n[o+((v|2)<<2)>>2]=B>2];n[o+((v|3)<<2)>>2]=B>2];C=v+a|0;n[o+(C<<2)>>2]=B>2];n[o+(C+1<<2)>>2]=x>2];n[o+(C+2<<2)>>2]=y>2];n[o+(C+3<<2)>>2]=z(i|0)){r=m;break a}}}v=f[p+(h<<2)>>2]|0;u=0;do{C=s+(u<<2)|0;A=+n[C+12>>2];z=+n[C+8>>2];y=+n[C+4>>2];x=+n[C>>2];C=2;do{w=(f[p+(C<<2)>>2]|0)+(u<<2)|0;B=+n[w>>2];x=B>2];y=B>2];z=B>2];A=B>2];n[o+(u<<2)>>2]=B>2];n[o+((u|1)<<2)>>2]=B>2];n[o+((u|2)<<2)>>2]=B>2];n[o+((u|3)<<2)>>2]=B>2];w=u+a|0;n[o+(w<<2)>>2]=B>2];n[o+(w+1<<2)>>2]=B>2];n[o+(w+2<<2)>>2]=B>2];n[o+(w+3<<2)>>2]=B>2]|0;v=f[p>>2]|0;if(!k){t=f[p+8>>2]|0;s=r;while(1){B=+n[u+(s<<2)>>2];D=+n[v+(s<<2)>>2];n[o+(s<<2)>>2]=D>2];n[o+(s+a<<2)>>2]=D>2]|0;t=r;do{B=+n[u+(t<<2)>>2];w=2;do{D=+n[(f[p+(w<<2)>>2]|0)+(t<<2)>>2];B=D>2];n[o+(t<<2)>>2]=A>2];n[o+(t+a<<2)>>2]=A3){o=s;p=v;q=t}else{E=s;F=v;G=t;break}}}else{E=c;F=b;G=e}if((G|0)<=0)return;e=g+-4|0;b=(g|0)<4;c=g&-4;q=F;F=G;G=E;while(1){c:do if(b)H=0;else{E=f[q>>2]|0;if(d)I=0;else{p=0;while(1){o=E+(p<<2)|0;l=f[o+4>>2]|0;r=f[o+8>>2]|0;k=f[o+12>>2]|0;f[G+(p<<2)>>2]=f[o>>2];f[G+((p|1)<<2)>>2]=l;f[G+((p|2)<<2)>>2]=r;f[G+((p|3)<<2)>>2]=k;p=p+4|0;if((p|0)>(e|0)){H=c;break c}}}do{p=E+(I<<2)|0;A=+n[p+12>>2];z=+n[p+8>>2];y=+n[p+4>>2];x=+n[p>>2];p=1;do{k=(f[q+(p<<2)>>2]|0)+(I<<2)|0;D=+n[k>>2];x=D>2];y=D>2];z=D>2];A=D>2]=x;n[G+((I|1)<<2)>>2]=y;n[G+((I|2)<<2)>>2]=z;n[G+((I|3)<<2)>>2]=A;I=I+4|0}while((I|0)<=(e|0));H=c}while(0);d:do if((H|0)<(g|0)){E=f[q>>2]|0;if(d)J=H;else{p=H;while(1){f[G+(p<<2)>>2]=f[E+(p<<2)>>2];p=p+1|0;if((p|0)==(g|0))break d}}do{B=+n[E+(J<<2)>>2];p=1;do{D=+n[(f[q+(p<<2)>>2]|0)+(J<<2)>>2];B=D>2]=B;J=J+1|0}while((J|0)!=(g|0))}while(0);if((F|0)>1){q=q+4|0;F=F+-1|0;G=G+(a<<2)|0}else break}return}function q7(a){a=a|0;GQa(a);return}function r7(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function s7(a){a=a|0;GQa(a);return}function t7(a,b,c,e,g,h){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;i=f[a+4>>2]|0;a=e>>>1;j=(i|0)>1;if(j&(g|0)>1){k=h+-4|0;l=(h|0)<4;m=(i|0)>2;n=e&-2;e=h&-4;o=c;p=b;q=g;while(1){a:do if(l)r=0;else{s=f[p+4>>2]|0;t=f[p>>2]|0;if(!m){u=f[p+8>>2]|0;v=0;while(1){w=s+(v<<1)|0;x=d[w>>1]|0;y=d[w+2>>1]|0;z=d[w+4>>1]|0;A=d[w+6>>1]|0;w=t+(v<<1)|0;B=d[w>>1]|0;d[o+(v<<1)>>1]=B<<16>>16>16?B:x;B=d[w+2>>1]|0;d[o+((v|1)<<1)>>1]=B<<16>>16>16?B:y;B=d[w+4>>1]|0;d[o+((v|2)<<1)>>1]=B<<16>>16>16?B:z;B=d[w+6>>1]|0;d[o+((v|3)<<1)>>1]=B<<16>>16>16?B:A;B=u+(v<<1)|0;w=d[B>>1]|0;C=v+a|0;d[o+(C<<1)>>1]=w<<16>>16>16?w:x;x=d[B+2>>1]|0;d[o+(C+1<<1)>>1]=x<<16>>16>16?x:y;y=d[B+4>>1]|0;d[o+(C+2<<1)>>1]=y<<16>>16>16?y:z;z=d[B+6>>1]|0;d[o+(C+3<<1)>>1]=z<<16>>16>16?z:A;v=v+4|0;if((v|0)>(k|0)){r=e;break a}}}v=f[p+(i<<2)>>2]|0;u=0;do{A=s+(u<<1)|0;z=d[A+6>>1]|0;C=d[A+4>>1]|0;B=d[A+2>>1]|0;y=d[A>>1]|0;A=2;do{x=(f[p+(A<<2)>>2]|0)+(u<<1)|0;w=d[x>>1]|0;y=w<<16>>16>16?w:y;w=d[x+2>>1]|0;B=w<<16>>16>16?w:B;w=d[x+4>>1]|0;C=w<<16>>16>16?w:C;w=d[x+6>>1]|0;z=w<<16>>16>16?w:z;A=A+1|0}while((A|0)!=(i|0));A=t+(u<<1)|0;w=d[A>>1]|0;d[o+(u<<1)>>1]=w<<16>>16>16?w:y;w=d[A+2>>1]|0;d[o+((u|1)<<1)>>1]=w<<16>>16>16?w:B;w=d[A+4>>1]|0;d[o+((u|2)<<1)>>1]=w<<16>>16>16?w:C;w=d[A+6>>1]|0;d[o+((u|3)<<1)>>1]=w<<16>>16>16?w:z;w=v+(u<<1)|0;A=d[w>>1]|0;x=u+a|0;d[o+(x<<1)>>1]=A<<16>>16>16?A:y;A=d[w+2>>1]|0;d[o+(x+1<<1)>>1]=A<<16>>16>16?A:B;A=d[w+4>>1]|0;d[o+(x+2<<1)>>1]=A<<16>>16>16?A:C;A=d[w+6>>1]|0;d[o+(x+3<<1)>>1]=A<<16>>16>16?A:z;u=u+4|0}while((u|0)<=(k|0));r=e}while(0);b:do if((r|0)<(h|0)){u=f[p+4>>2]|0;v=f[p>>2]|0;if(!m){t=f[p+8>>2]|0;s=r;while(1){A=d[u+(s<<1)>>1]|0;x=d[v+(s<<1)>>1]|0;d[o+(s<<1)>>1]=x<<16>>16>16?x:A;x=d[t+(s<<1)>>1]|0;d[o+(s+a<<1)>>1]=x<<16>>16>16?x:A;s=s+1|0;if((s|0)==(h|0))break b}}s=f[p+(i<<2)>>2]|0;t=r;do{A=d[u+(t<<1)>>1]|0;x=2;do{w=d[(f[p+(x<<2)>>2]|0)+(t<<1)>>1]|0;A=w<<16>>16>16?w:A;x=x+1|0}while((x|0)!=(i|0));x=d[v+(t<<1)>>1]|0;d[o+(t<<1)>>1]=x<<16>>16>16?x:A;x=d[s+(t<<1)>>1]|0;d[o+(t+a<<1)>>1]=x<<16>>16>16?x:A;t=t+1|0}while((t|0)!=(h|0))}while(0);t=q+-2|0;s=o+(n<<1)|0;v=p+8|0;if((q|0)>3){o=s;p=v;q=t}else{D=s;E=v;F=t;break}}}else{D=c;E=b;F=g}if((F|0)<=0)return;g=h+-4|0;b=(h|0)<4;c=h&-4;q=E;E=F;F=D;while(1){c:do if(b)G=0;else{D=f[q>>2]|0;if(j)H=0;else{p=0;while(1){o=D+(p<<1)|0;n=d[o+2>>1]|0;r=d[o+4>>1]|0;m=d[o+6>>1]|0;d[F+(p<<1)>>1]=d[o>>1]|0;d[F+((p|1)<<1)>>1]=n;d[F+((p|2)<<1)>>1]=r;d[F+((p|3)<<1)>>1]=m;p=p+4|0;if((p|0)>(g|0)){G=c;break c}}}do{p=D+(H<<1)|0;m=d[p+6>>1]|0;r=d[p+4>>1]|0;n=d[p+2>>1]|0;o=d[p>>1]|0;p=1;do{e=(f[q+(p<<2)>>2]|0)+(H<<1)|0;k=d[e>>1]|0;o=k<<16>>16>16?k:o;k=d[e+2>>1]|0;n=k<<16>>16>16?k:n;k=d[e+4>>1]|0;r=k<<16>>16>16?k:r;k=d[e+6>>1]|0;m=k<<16>>16>16?k:m;p=p+1|0}while((p|0)!=(i|0));d[F+(H<<1)>>1]=o;d[F+((H|1)<<1)>>1]=n;d[F+((H|2)<<1)>>1]=r;d[F+((H|3)<<1)>>1]=m;H=H+4|0}while((H|0)<=(g|0));G=c}while(0);d:do if((G|0)<(h|0)){D=f[q>>2]|0;if(j)I=G;else{p=G;while(1){d[F+(p<<1)>>1]=d[D+(p<<1)>>1]|0;p=p+1|0;if((p|0)==(h|0))break d}}do{p=d[D+(I<<1)>>1]|0;A=1;do{k=d[(f[q+(A<<2)>>2]|0)+(I<<1)>>1]|0;p=k<<16>>16>16?k:p;A=A+1|0}while((A|0)!=(i|0));d[F+(I<<1)>>1]=p;I=I+1|0}while((I|0)!=(h|0))}while(0);if((E|0)>1){q=q+4|0;E=E+-1|0;F=F+(a<<1)|0}else break}return}function u7(a){a=a|0;GQa(a);return}function v7(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function w7(a){a=a|0;GQa(a);return}function x7(a,b,c,e,g,h){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;i=f[a+4>>2]|0;a=e>>>1;j=(i|0)>1;if(j&(g|0)>1){k=h+-4|0;l=(h|0)<4;m=(i|0)>2;n=e&-2;e=h&-4;o=c;p=b;q=g;while(1){a:do if(l)r=0;else{s=f[p+4>>2]|0;t=f[p>>2]|0;if(!m){u=f[p+8>>2]|0;v=0;while(1){w=s+(v<<1)|0;x=d[w>>1]|0;y=d[w+2>>1]|0;z=d[w+4>>1]|0;A=d[w+6>>1]|0;w=t+(v<<1)|0;B=d[w>>1]|0;d[o+(v<<1)>>1]=(B&65535)<(x&65535)?B:x;B=d[w+2>>1]|0;d[o+((v|1)<<1)>>1]=(B&65535)<(y&65535)?B:y;B=d[w+4>>1]|0;d[o+((v|2)<<1)>>1]=(B&65535)<(z&65535)?B:z;B=d[w+6>>1]|0;d[o+((v|3)<<1)>>1]=(B&65535)<(A&65535)?B:A;B=u+(v<<1)|0;w=d[B>>1]|0;C=v+a|0;d[o+(C<<1)>>1]=(w&65535)<(x&65535)?w:x;x=d[B+2>>1]|0;d[o+(C+1<<1)>>1]=(x&65535)<(y&65535)?x:y;y=d[B+4>>1]|0;d[o+(C+2<<1)>>1]=(y&65535)<(z&65535)?y:z;z=d[B+6>>1]|0;d[o+(C+3<<1)>>1]=(z&65535)<(A&65535)?z:A;v=v+4|0;if((v|0)>(k|0)){r=e;break a}}}v=f[p+(i<<2)>>2]|0;u=0;do{A=s+(u<<1)|0;z=d[A+6>>1]|0;C=d[A+4>>1]|0;B=d[A+2>>1]|0;y=d[A>>1]|0;A=2;do{x=(f[p+(A<<2)>>2]|0)+(u<<1)|0;w=d[x>>1]|0;y=(w&65535)<(y&65535)?w:y;w=d[x+2>>1]|0;B=(w&65535)<(B&65535)?w:B;w=d[x+4>>1]|0;C=(w&65535)<(C&65535)?w:C;w=d[x+6>>1]|0;z=(w&65535)<(z&65535)?w:z;A=A+1|0}while((A|0)!=(i|0));A=t+(u<<1)|0;w=d[A>>1]|0;d[o+(u<<1)>>1]=(w&65535)<(y&65535)?w:y;w=d[A+2>>1]|0;d[o+((u|1)<<1)>>1]=(w&65535)<(B&65535)?w:B;w=d[A+4>>1]|0;d[o+((u|2)<<1)>>1]=(w&65535)<(C&65535)?w:C;w=d[A+6>>1]|0;d[o+((u|3)<<1)>>1]=(w&65535)<(z&65535)?w:z;w=v+(u<<1)|0;A=d[w>>1]|0;x=u+a|0;d[o+(x<<1)>>1]=(A&65535)<(y&65535)?A:y;A=d[w+2>>1]|0;d[o+(x+1<<1)>>1]=(A&65535)<(B&65535)?A:B;A=d[w+4>>1]|0;d[o+(x+2<<1)>>1]=(A&65535)<(C&65535)?A:C;A=d[w+6>>1]|0;d[o+(x+3<<1)>>1]=(A&65535)<(z&65535)?A:z;u=u+4|0}while((u|0)<=(k|0));r=e}while(0);b:do if((r|0)<(h|0)){u=f[p+4>>2]|0;v=f[p>>2]|0;if(!m){t=f[p+8>>2]|0;s=r;while(1){A=d[u+(s<<1)>>1]|0;x=d[v+(s<<1)>>1]|0;d[o+(s<<1)>>1]=(x&65535)<(A&65535)?x:A;x=d[t+(s<<1)>>1]|0;d[o+(s+a<<1)>>1]=(x&65535)<(A&65535)?x:A;s=s+1|0;if((s|0)==(h|0))break b}}s=f[p+(i<<2)>>2]|0;t=r;do{A=d[u+(t<<1)>>1]|0;x=2;do{w=d[(f[p+(x<<2)>>2]|0)+(t<<1)>>1]|0;A=(w&65535)<(A&65535)?w:A;x=x+1|0}while((x|0)!=(i|0));x=d[v+(t<<1)>>1]|0;d[o+(t<<1)>>1]=(x&65535)<(A&65535)?x:A;x=d[s+(t<<1)>>1]|0;d[o+(t+a<<1)>>1]=(x&65535)<(A&65535)?x:A;t=t+1|0}while((t|0)!=(h|0))}while(0);t=q+-2|0;s=o+(n<<1)|0;v=p+8|0;if((q|0)>3){o=s;p=v;q=t}else{D=s;E=v;F=t;break}}}else{D=c;E=b;F=g}if((F|0)<=0)return;g=h+-4|0;b=(h|0)<4;c=h&-4;q=E;E=F;F=D;while(1){c:do if(b)G=0;else{D=f[q>>2]|0;if(j)H=0;else{p=0;while(1){o=D+(p<<1)|0;n=d[o+2>>1]|0;r=d[o+4>>1]|0;m=d[o+6>>1]|0;d[F+(p<<1)>>1]=d[o>>1]|0;d[F+((p|1)<<1)>>1]=n;d[F+((p|2)<<1)>>1]=r;d[F+((p|3)<<1)>>1]=m;p=p+4|0;if((p|0)>(g|0)){G=c;break c}}}do{p=D+(H<<1)|0;m=d[p+6>>1]|0;r=d[p+4>>1]|0;n=d[p+2>>1]|0;o=d[p>>1]|0;p=1;do{e=(f[q+(p<<2)>>2]|0)+(H<<1)|0;k=d[e>>1]|0;o=(k&65535)<(o&65535)?k:o;k=d[e+2>>1]|0;n=(k&65535)<(n&65535)?k:n;k=d[e+4>>1]|0;r=(k&65535)<(r&65535)?k:r;k=d[e+6>>1]|0;m=(k&65535)<(m&65535)?k:m;p=p+1|0}while((p|0)!=(i|0));d[F+(H<<1)>>1]=o;d[F+((H|1)<<1)>>1]=n;d[F+((H|2)<<1)>>1]=r;d[F+((H|3)<<1)>>1]=m;H=H+4|0}while((H|0)<=(g|0));G=c}while(0);d:do if((G|0)<(h|0)){D=f[q>>2]|0;if(j)I=G;else{p=G;while(1){d[F+(p<<1)>>1]=d[D+(p<<1)>>1]|0;p=p+1|0;if((p|0)==(h|0))break d}}do{p=d[D+(I<<1)>>1]|0;A=1;do{k=d[(f[q+(A<<2)>>2]|0)+(I<<1)>>1]|0;p=(k&65535)<(p&65535)?k:p;A=A+1|0}while((A|0)!=(i|0));d[F+(I<<1)>>1]=p;I=I+1|0}while((I|0)!=(h|0))}while(0);if((E|0)>1){q=q+4|0;E=E+-1|0;F=F+(a<<1)|0}else break}return}function y7(a){a=a|0;GQa(a);return}function z7(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function A7(a){a=a|0;GQa(a);return}function B7(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;j=f[a+4>>2]|0;a=(j|0)>1;if(a&(g|0)>1){k=i+-4|0;l=(i|0)<4;m=(j|0)>2;n=e<<1;o=i&-4;p=d;q=c;r=g;while(1){if(l)s=0;else{t=q+4|0;u=0;do{v=(f[t>>2]|0)+u|0;w=b[v>>0]|0;x=b[v+1>>0]|0;y=b[v+2>>0]|0;z=b[v+3>>0]|0;if(m){v=z;A=y;B=x;C=w;D=2;while(1){E=(f[q+(D<<2)>>2]|0)+u|0;F=C&255;G=F-(h[E>>0]|0)+256|0;if(G>>>0<769)H=h[243744+G>>0]|0;else H=0;G=F-H&255;F=B&255;I=F-(h[E+1>>0]|0)+256|0;if(I>>>0<769)J=h[243744+I>>0]|0;else J=0;I=F-J&255;F=A&255;K=F-(h[E+2>>0]|0)+256|0;if(K>>>0<769)L=h[243744+K>>0]|0;else L=0;K=F-L&255;F=v&255;M=F-(h[E+3>>0]|0)+256|0;if(M>>>0<769)N=h[243744+M>>0]|0;else N=0;M=F-N&255;D=D+1|0;if((D|0)==(j|0)){O=M;P=K;Q=I;R=G;S=j;break}else{v=M;A=K;B=I;C=G}}}else{O=z;P=y;Q=x;R=w;S=2}C=(f[q>>2]|0)+u|0;B=R&255;A=B-(h[C>>0]|0)+256|0;if(A>>>0<769)T=h[243744+A>>0]|0;else T=0;b[p+u>>0]=B-T;A=Q&255;v=A-(h[C+1>>0]|0)+256|0;if(v>>>0<769)U=h[243744+v>>0]|0;else U=0;b[p+(u|1)>>0]=A-U;v=P&255;D=v-(h[C+2>>0]|0)+256|0;if(D>>>0<769)V=h[243744+D>>0]|0;else V=0;b[p+(u|2)>>0]=v-V;D=O&255;G=D-(h[C+3>>0]|0)+256|0;if(G>>>0<769)W=h[243744+G>>0]|0;else W=0;b[p+(u|3)>>0]=D-W;G=(f[q+(S<<2)>>2]|0)+u|0;C=B-(h[G>>0]|0)+256|0;if(C>>>0<769)X=h[243744+C>>0]|0;else X=0;C=u+e|0;b[p+C>>0]=B-X;B=A-(h[G+1>>0]|0)+256|0;if(B>>>0<769)Y=h[243744+B>>0]|0;else Y=0;b[p+(C+1)>>0]=A-Y;A=v-(h[G+2>>0]|0)+256|0;if(A>>>0<769)Z=h[243744+A>>0]|0;else Z=0;b[p+(C+2)>>0]=v-Z;v=D-(h[G+3>>0]|0)+256|0;if(v>>>0<769)_=h[243744+v>>0]|0;else _=0;b[p+(C+3)>>0]=D-_;u=u+4|0}while((u|0)<=(k|0));s=o}a:do if((s|0)<(i|0)){u=q+4|0;if(!m){t=q+8|0;D=s;while(1){C=h[(f[u>>2]|0)+D>>0]|0;v=C-(h[(f[q>>2]|0)+D>>0]|0)+256|0;if(v>>>0<769)$=h[243744+v>>0]|0;else $=0;b[p+D>>0]=C-$;v=C-(h[(f[t>>2]|0)+D>>0]|0)+256|0;if(v>>>0<769)aa=h[243744+v>>0]|0;else aa=0;b[p+(D+e)>>0]=C-aa;D=D+1|0;if((D|0)==(i|0))break a}}D=q+(j<<2)|0;t=s;do{w=b[(f[u>>2]|0)+t>>0]|0;x=2;while(1){y=w&255;z=y-(h[(f[q+(x<<2)>>2]|0)+t>>0]|0)+256|0;if(z>>>0<769)ba=h[243744+z>>0]|0;else ba=0;ca=y-ba|0;x=x+1|0;if((x|0)==(j|0))break;else w=ca&255}w=ca&255;x=w-(h[(f[q>>2]|0)+t>>0]|0)+256|0;if(x>>>0<769)da=h[243744+x>>0]|0;else da=0;b[p+t>>0]=ca-da;x=w-(h[(f[D>>2]|0)+t>>0]|0)+256|0;if(x>>>0<769)ea=h[243744+x>>0]|0;else ea=0;b[p+(t+e)>>0]=ca-ea;t=t+1|0}while((t|0)!=(i|0))}while(0);t=r+-2|0;D=p+n|0;u=q+8|0;if((r|0)>3){p=D;q=u;r=t}else{fa=D;ga=u;ha=t;break}}}else{fa=d;ga=c;ha=g}if((ha|0)<=0)return;g=i+-4|0;c=(i|0)<4;d=i&-4;r=ga;ga=ha;ha=fa;while(1){b:do if(c)ia=0;else{if(a)ja=0;else{fa=0;while(1){q=(f[r>>2]|0)+fa|0;p=b[q+1>>0]|0;n=b[q+2>>0]|0;ea=b[q+3>>0]|0;b[ha+fa>>0]=b[q>>0]|0;b[ha+(fa|1)>>0]=p;b[ha+(fa|2)>>0]=n;b[ha+(fa|3)>>0]=ea;fa=fa+4|0;if((fa|0)>(g|0)){ia=d;break b}}}do{fa=(f[r>>2]|0)+ja|0;ea=b[fa+3>>0]|0;n=b[fa+2>>0]|0;p=b[fa+1>>0]|0;q=b[fa>>0]|0;fa=1;do{ca=(f[r+(fa<<2)>>2]|0)+ja|0;da=q&255;ba=da-(h[ca>>0]|0)+256|0;if(ba>>>0<769)ka=h[243744+ba>>0]|0;else ka=0;q=da-ka&255;da=p&255;ba=da-(h[ca+1>>0]|0)+256|0;if(ba>>>0<769)la=h[243744+ba>>0]|0;else la=0;p=da-la&255;da=n&255;ba=da-(h[ca+2>>0]|0)+256|0;if(ba>>>0<769)ma=h[243744+ba>>0]|0;else ma=0;n=da-ma&255;da=ea&255;ba=da-(h[ca+3>>0]|0)+256|0;if(ba>>>0<769)na=h[243744+ba>>0]|0;else na=0;ea=da-na&255;fa=fa+1|0}while((fa|0)!=(j|0));b[ha+ja>>0]=q;b[ha+(ja|1)>>0]=p;b[ha+(ja|2)>>0]=n;b[ha+(ja|3)>>0]=ea;ja=ja+4|0}while((ja|0)<=(g|0));ia=d}while(0);c:do if((ia|0)<(i|0)){if(a)oa=ia;else{fa=ia;while(1){b[ha+fa>>0]=b[(f[r>>2]|0)+fa>>0]|0;fa=fa+1|0;if((fa|0)==(i|0))break c}}do{fa=b[(f[r>>2]|0)+oa>>0]|0;da=1;do{ba=fa&255;ca=ba-(h[(f[r+(da<<2)>>2]|0)+oa>>0]|0)+256|0;if(ca>>>0<769)pa=h[243744+ca>>0]|0;else pa=0;fa=ba-pa&255;da=da+1|0}while((da|0)!=(j|0));b[ha+oa>>0]=fa;oa=oa+1|0}while((oa|0)!=(i|0))}while(0);if((ga|0)>1){r=r+4|0;ga=ga+-1|0;ha=ha+e|0}else break}return}function C7(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;h=u;u=u+80|0;i=h;j=h+64|0;k=h+8|0;do if((HJ(e)|0)==65536){l=f[e+4>>2]|0;f[k>>2]=f[l>>2];m=k+4|0;n=l+4|0;f[m>>2]=f[n>>2];o=k+8|0;f[o>>2]=f[l+8>>2];f[k+12>>2]=f[l+12>>2];f[k+16>>2]=f[l+16>>2];f[k+20>>2]=f[l+20>>2];f[k+24>>2]=f[l+24>>2];f[k+28>>2]=f[l+28>>2];f[k+32>>2]=f[l+32>>2];p=f[l+36>>2]|0;f[k+36>>2]=p;q=k+40|0;f[q>>2]=o;o=k+48|0;r=k+44|0;f[r>>2]=o;f[o>>2]=0;f[k+52>>2]=0;if(p|0){o=p+12|0;f[o>>2]=(f[o>>2]|0)+1}if((f[n>>2]|0)<3){n=f[l+44>>2]|0;o=f[r>>2]|0;f[o>>2]=f[n>>2];f[o+4>>2]=f[n+4>>2];s=q;break}else{f[m>>2]=0;WO(k,l);s=q;break}}else{DJ(k,e,-1);s=k+40|0}while(0);e=d&7;q=f[g>>2]|0;l=g+4|0;m=f[l>>2]|0;n=f[s>>2]|0;o=f[n+4>>2]|0;r=f[n>>2]|0;n=(q|0)==-1?(o|0)/2|0:q;q=(m|0)==-1?(r|0)/2|0:m;if(!((n|0)>-1&(n|0)<(o|0)?!((q|0)<0|(q|0)>=(r|0)):0)){f[j>>2]=0;f[j+4>>2]=0;t=JV(j,52)|0;v=240542;w=t+52|0;do{b[t>>0]=b[v>>0]|0;t=t+1|0;v=v+1|0}while((t|0)<(w|0));EP(-215,j,240595,240611,363);KV(j)}f[g>>2]=n;f[l>>2]=q;q=(c|0)==0;if(c>>>0>=2){f[j>>2]=0;f[j+4>>2]=0;t=JV(j,39)|0;v=200352;w=t+39|0;do{b[t>>0]=b[v>>0]|0;t=t+1|0;v=v+1|0}while((t|0)<(w|0));EP(-215,j,203926,200415,947);KV(j)}v=(e|0)==0;a:do if(q){if(v){e=EQa(48)|0;f[j>>2]=f[g>>2];f[j+4>>2]=f[l>>2];D7(e,k,j);t=EQa(16)|0;w=t+4|0;f[w>>2]=1;f[t>>2]=47152;f[t+8>>2]=e;f[a>>2]=t;f[a+4>>2]=e;f[w>>2]=(f[w>>2]|0)+1;e=f[w>>2]|0;f[w>>2]=e+-1;if((e|0)!=1)break;qg[f[(f[t>>2]|0)+8>>2]&1023](t);break}switch(d&7){case 2:{t=EQa(48)|0;f[j>>2]=f[g>>2];f[j+4>>2]=f[l>>2];E7(t,k,j);e=EQa(16)|0;w=e+4|0;f[w>>2]=1;f[e>>2]=47172;f[e+8>>2]=t;f[a>>2]=e;f[a+4>>2]=t;f[w>>2]=(f[w>>2]|0)+1;t=f[w>>2]|0;f[w>>2]=t+-1;if((t|0)!=1)break a;qg[f[(f[e>>2]|0)+8>>2]&1023](e);break a;break}case 3:{e=EQa(48)|0;f[j>>2]=f[g>>2];f[j+4>>2]=f[l>>2];F7(e,k,j);t=EQa(16)|0;w=t+4|0;f[w>>2]=1;f[t>>2]=47192;f[t+8>>2]=e;f[a>>2]=t;f[a+4>>2]=e;f[w>>2]=(f[w>>2]|0)+1;e=f[w>>2]|0;f[w>>2]=e+-1;if((e|0)!=1)break a;qg[f[(f[t>>2]|0)+8>>2]&1023](t);break a;break}case 5:{t=EQa(48)|0;f[j>>2]=f[g>>2];f[j+4>>2]=f[l>>2];G7(t,k,j);e=EQa(16)|0;w=e+4|0;f[w>>2]=1;f[e>>2]=47212;f[e+8>>2]=t;f[a>>2]=e;f[a+4>>2]=t;f[w>>2]=(f[w>>2]|0)+1;t=f[w>>2]|0;f[w>>2]=t+-1;if((t|0)!=1)break a;qg[f[(f[e>>2]|0)+8>>2]&1023](e);break a;break}case 6:{e=EQa(48)|0;f[j>>2]=f[g>>2];f[j+4>>2]=f[l>>2];H7(e,k,j);t=EQa(16)|0;w=t+4|0;f[w>>2]=1;f[t>>2]=47232;f[t+8>>2]=e;f[a>>2]=t;f[a+4>>2]=e;f[w>>2]=(f[w>>2]|0)+1;e=f[w>>2]|0;f[w>>2]=e+-1;if((e|0)!=1)break a;qg[f[(f[t>>2]|0)+8>>2]&1023](t);break a;break}default:{x=38;break a}}}else{if(v){t=EQa(48)|0;f[j>>2]=f[g>>2];f[j+4>>2]=f[l>>2];I7(t,k,j);e=EQa(16)|0;w=e+4|0;f[w>>2]=1;f[e>>2]=47252;f[e+8>>2]=t;f[a>>2]=e;f[a+4>>2]=t;f[w>>2]=(f[w>>2]|0)+1;t=f[w>>2]|0;f[w>>2]=t+-1;if((t|0)!=1)break;qg[f[(f[e>>2]|0)+8>>2]&1023](e);break}switch(d&7){case 2:{e=EQa(48)|0;f[j>>2]=f[g>>2];f[j+4>>2]=f[l>>2];J7(e,k,j);t=EQa(16)|0;w=t+4|0;f[w>>2]=1;f[t>>2]=47272;f[t+8>>2]=e;f[a>>2]=t;f[a+4>>2]=e;f[w>>2]=(f[w>>2]|0)+1;e=f[w>>2]|0;f[w>>2]=e+-1;if((e|0)!=1)break a;qg[f[(f[t>>2]|0)+8>>2]&1023](t);break a;break}case 3:{t=EQa(48)|0;f[j>>2]=f[g>>2];f[j+4>>2]=f[l>>2];K7(t,k,j);e=EQa(16)|0;w=e+4|0;f[w>>2]=1;f[e>>2]=47292;f[e+8>>2]=t;f[a>>2]=e;f[a+4>>2]=t;f[w>>2]=(f[w>>2]|0)+1;t=f[w>>2]|0;f[w>>2]=t+-1;if((t|0)!=1)break a;qg[f[(f[e>>2]|0)+8>>2]&1023](e);break a;break}case 5:{e=EQa(48)|0;f[j>>2]=f[g>>2];f[j+4>>2]=f[l>>2];L7(e,k,j);t=EQa(16)|0;w=t+4|0;f[w>>2]=1;f[t>>2]=47312;f[t+8>>2]=e;f[a>>2]=t;f[a+4>>2]=e;f[w>>2]=(f[w>>2]|0)+1;e=f[w>>2]|0;f[w>>2]=e+-1;if((e|0)!=1)break a;qg[f[(f[t>>2]|0)+8>>2]&1023](t);break a;break}case 6:{t=EQa(48)|0;f[j>>2]=f[g>>2];f[j+4>>2]=f[l>>2];M7(t,k,j);e=EQa(16)|0;w=e+4|0;f[w>>2]=1;f[e>>2]=47332;f[e+8>>2]=t;f[a>>2]=e;f[a+4>>2]=t;f[w>>2]=(f[w>>2]|0)+1;t=f[w>>2]|0;f[w>>2]=t+-1;if((t|0)!=1)break a;qg[f[(f[e>>2]|0)+8>>2]&1023](e);break a;break}default:{x=38;break a}}}while(0);if((x|0)==38){f[i>>2]=d;LP(j,200472,i);EP(-213,j,203926,200415,975);KV(j);f[a>>2]=0;f[a+4>>2]=0}a=k+36|0;j=f[a>>2]|0;if(j|0?(i=j+12|0,j=f[i>>2]|0,f[i>>2]=j+-1,(j|0)==1):0)XO(k);f[a>>2]=0;a=k+16|0;j=k+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if((f[j>>2]|0)>0){a=f[s>>2]|0;s=0;do{f[a+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[j>>2]|0))}j=f[k+44>>2]|0;if((j|0)==(k+48|0)){u=h;return}dX(j);u=h;return}function D7(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=u;u=u+16|0;g=e;zia(a);f[a>>2]=47568;h=a+20|0;i=a+24|0;j=a+32|0;k=a+36|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[a+12>>2]=f[d>>2];f[a+16>>2]=f[d+4>>2];d=f[c+40>>2]|0;l=f[d>>2]|0;f[a+4>>2]=f[d+4>>2];f[a+8>>2]=l;if(f[c>>2]&4095|0){f[g>>2]=0;f[g+4>>2]=0;l=JV(g,19)|0;a=204048;d=l+19|0;do{b[l>>0]=b[a>>0]|0;l=l+1|0;a=a+1|0}while((l|0)<(d|0));EP(-215,g,204068,200415,787);KV(g)}f[g>>2]=0;a=g+4|0;f[a>>2]=0;f[g+8>>2]=0;Fma(c,h,g);c=(f[i>>2]|0)-(f[h>>2]|0)>>3;h=f[k>>2]|0;i=f[j>>2]|0;l=h-i>>2;d=i;i=h;if(c>>>0<=l>>>0){if(c>>>0>>0?(h=d+(c<<2)|0,(h|0)!=(i|0)):0)f[k>>2]=i+(~((i+-4-h|0)>>>2)<<2)}else P7(j,c-l|0);l=f[g>>2]|0;if(!l){u=e;return}if((f[a>>2]|0)!=(l|0))f[a>>2]=l;GQa(l);u=e;return}function E7(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=u;u=u+16|0;g=e;zia(a);f[a>>2]=47544;h=a+20|0;i=a+24|0;j=a+32|0;k=a+36|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[a+12>>2]=f[d>>2];f[a+16>>2]=f[d+4>>2];d=f[c+40>>2]|0;l=f[d>>2]|0;f[a+4>>2]=f[d+4>>2];f[a+8>>2]=l;if(f[c>>2]&4095|0){f[g>>2]=0;f[g+4>>2]=0;l=JV(g,19)|0;a=204048;d=l+19|0;do{b[l>>0]=b[a>>0]|0;l=l+1|0;a=a+1|0}while((l|0)<(d|0));EP(-215,g,204068,200415,787);KV(g)}f[g>>2]=0;a=g+4|0;f[a>>2]=0;f[g+8>>2]=0;Fma(c,h,g);c=(f[i>>2]|0)-(f[h>>2]|0)>>3;h=f[k>>2]|0;i=f[j>>2]|0;l=h-i>>2;d=i;i=h;if(c>>>0<=l>>>0){if(c>>>0>>0?(h=d+(c<<2)|0,(h|0)!=(i|0)):0)f[k>>2]=i+(~((i+-4-h|0)>>>2)<<2)}else P7(j,c-l|0);l=f[g>>2]|0;if(!l){u=e;return}if((f[a>>2]|0)!=(l|0))f[a>>2]=l;GQa(l);u=e;return}function F7(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=u;u=u+16|0;g=e;zia(a);f[a>>2]=47520;h=a+20|0;i=a+24|0;j=a+32|0;k=a+36|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[a+12>>2]=f[d>>2];f[a+16>>2]=f[d+4>>2];d=f[c+40>>2]|0;l=f[d>>2]|0;f[a+4>>2]=f[d+4>>2];f[a+8>>2]=l;if(f[c>>2]&4095|0){f[g>>2]=0;f[g+4>>2]=0;l=JV(g,19)|0;a=204048;d=l+19|0;do{b[l>>0]=b[a>>0]|0;l=l+1|0;a=a+1|0}while((l|0)<(d|0));EP(-215,g,204068,200415,787);KV(g)}f[g>>2]=0;a=g+4|0;f[a>>2]=0;f[g+8>>2]=0;Fma(c,h,g);c=(f[i>>2]|0)-(f[h>>2]|0)>>3;h=f[k>>2]|0;i=f[j>>2]|0;l=h-i>>2;d=i;i=h;if(c>>>0<=l>>>0){if(c>>>0>>0?(h=d+(c<<2)|0,(h|0)!=(i|0)):0)f[k>>2]=i+(~((i+-4-h|0)>>>2)<<2)}else P7(j,c-l|0);l=f[g>>2]|0;if(!l){u=e;return}if((f[a>>2]|0)!=(l|0))f[a>>2]=l;GQa(l);u=e;return}function G7(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=u;u=u+16|0;g=e;zia(a);f[a>>2]=47496;h=a+20|0;i=a+24|0;j=a+32|0;k=a+36|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[a+12>>2]=f[d>>2];f[a+16>>2]=f[d+4>>2];d=f[c+40>>2]|0;l=f[d>>2]|0;f[a+4>>2]=f[d+4>>2];f[a+8>>2]=l;if(f[c>>2]&4095|0){f[g>>2]=0;f[g+4>>2]=0;l=JV(g,19)|0;a=204048;d=l+19|0;do{b[l>>0]=b[a>>0]|0;l=l+1|0;a=a+1|0}while((l|0)<(d|0));EP(-215,g,204068,200415,787);KV(g)}f[g>>2]=0;a=g+4|0;f[a>>2]=0;f[g+8>>2]=0;Fma(c,h,g);c=(f[i>>2]|0)-(f[h>>2]|0)>>3;h=f[k>>2]|0;i=f[j>>2]|0;l=h-i>>2;d=i;i=h;if(c>>>0<=l>>>0){if(c>>>0>>0?(h=d+(c<<2)|0,(h|0)!=(i|0)):0)f[k>>2]=i+(~((i+-4-h|0)>>>2)<<2)}else P7(j,c-l|0);l=f[g>>2]|0;if(!l){u=e;return}if((f[a>>2]|0)!=(l|0))f[a>>2]=l;GQa(l);u=e;return}function H7(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=u;u=u+16|0;g=e;zia(a);f[a>>2]=47472;h=a+20|0;i=a+24|0;j=a+32|0;k=a+36|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[a+12>>2]=f[d>>2];f[a+16>>2]=f[d+4>>2];d=f[c+40>>2]|0;l=f[d>>2]|0;f[a+4>>2]=f[d+4>>2];f[a+8>>2]=l;if(f[c>>2]&4095|0){f[g>>2]=0;f[g+4>>2]=0;l=JV(g,19)|0;a=204048;d=l+19|0;do{b[l>>0]=b[a>>0]|0;l=l+1|0;a=a+1|0}while((l|0)<(d|0));EP(-215,g,204068,200415,787);KV(g)}f[g>>2]=0;a=g+4|0;f[a>>2]=0;f[g+8>>2]=0;Fma(c,h,g);c=(f[i>>2]|0)-(f[h>>2]|0)>>3;h=f[k>>2]|0;i=f[j>>2]|0;l=h-i>>2;d=i;i=h;if(c>>>0<=l>>>0){if(c>>>0>>0?(h=d+(c<<2)|0,(h|0)!=(i|0)):0)f[k>>2]=i+(~((i+-4-h|0)>>>2)<<2)}else P7(j,c-l|0);l=f[g>>2]|0;if(!l){u=e;return}if((f[a>>2]|0)!=(l|0))f[a>>2]=l;GQa(l);u=e;return}function I7(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=u;u=u+16|0;g=e;zia(a);f[a>>2]=47448;h=a+20|0;i=a+24|0;j=a+32|0;k=a+36|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[a+12>>2]=f[d>>2];f[a+16>>2]=f[d+4>>2];d=f[c+40>>2]|0;l=f[d>>2]|0;f[a+4>>2]=f[d+4>>2];f[a+8>>2]=l;if(f[c>>2]&4095|0){f[g>>2]=0;f[g+4>>2]=0;l=JV(g,19)|0;a=204048;d=l+19|0;do{b[l>>0]=b[a>>0]|0;l=l+1|0;a=a+1|0}while((l|0)<(d|0));EP(-215,g,204068,200415,787);KV(g)}f[g>>2]=0;a=g+4|0;f[a>>2]=0;f[g+8>>2]=0;Fma(c,h,g);c=(f[i>>2]|0)-(f[h>>2]|0)>>3;h=f[k>>2]|0;i=f[j>>2]|0;l=h-i>>2;d=i;i=h;if(c>>>0<=l>>>0){if(c>>>0>>0?(h=d+(c<<2)|0,(h|0)!=(i|0)):0)f[k>>2]=i+(~((i+-4-h|0)>>>2)<<2)}else P7(j,c-l|0);l=f[g>>2]|0;if(!l){u=e;return}if((f[a>>2]|0)!=(l|0))f[a>>2]=l;GQa(l);u=e;return}function J7(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=u;u=u+16|0;g=e;zia(a);f[a>>2]=47424;h=a+20|0;i=a+24|0;j=a+32|0;k=a+36|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[a+12>>2]=f[d>>2];f[a+16>>2]=f[d+4>>2];d=f[c+40>>2]|0;l=f[d>>2]|0;f[a+4>>2]=f[d+4>>2];f[a+8>>2]=l;if(f[c>>2]&4095|0){f[g>>2]=0;f[g+4>>2]=0;l=JV(g,19)|0;a=204048;d=l+19|0;do{b[l>>0]=b[a>>0]|0;l=l+1|0;a=a+1|0}while((l|0)<(d|0));EP(-215,g,204068,200415,787);KV(g)}f[g>>2]=0;a=g+4|0;f[a>>2]=0;f[g+8>>2]=0;Fma(c,h,g);c=(f[i>>2]|0)-(f[h>>2]|0)>>3;h=f[k>>2]|0;i=f[j>>2]|0;l=h-i>>2;d=i;i=h;if(c>>>0<=l>>>0){if(c>>>0>>0?(h=d+(c<<2)|0,(h|0)!=(i|0)):0)f[k>>2]=i+(~((i+-4-h|0)>>>2)<<2)}else P7(j,c-l|0);l=f[g>>2]|0;if(!l){u=e;return}if((f[a>>2]|0)!=(l|0))f[a>>2]=l;GQa(l);u=e;return}function K7(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=u;u=u+16|0;g=e;zia(a);f[a>>2]=47400;h=a+20|0;i=a+24|0;j=a+32|0;k=a+36|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[a+12>>2]=f[d>>2];f[a+16>>2]=f[d+4>>2];d=f[c+40>>2]|0;l=f[d>>2]|0;f[a+4>>2]=f[d+4>>2];f[a+8>>2]=l;if(f[c>>2]&4095|0){f[g>>2]=0;f[g+4>>2]=0;l=JV(g,19)|0;a=204048;d=l+19|0;do{b[l>>0]=b[a>>0]|0;l=l+1|0;a=a+1|0}while((l|0)<(d|0));EP(-215,g,204068,200415,787);KV(g)}f[g>>2]=0;a=g+4|0;f[a>>2]=0;f[g+8>>2]=0;Fma(c,h,g);c=(f[i>>2]|0)-(f[h>>2]|0)>>3;h=f[k>>2]|0;i=f[j>>2]|0;l=h-i>>2;d=i;i=h;if(c>>>0<=l>>>0){if(c>>>0>>0?(h=d+(c<<2)|0,(h|0)!=(i|0)):0)f[k>>2]=i+(~((i+-4-h|0)>>>2)<<2)}else P7(j,c-l|0);l=f[g>>2]|0;if(!l){u=e;return}if((f[a>>2]|0)!=(l|0))f[a>>2]=l;GQa(l);u=e;return}function L7(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=u;u=u+16|0;g=e;zia(a);f[a>>2]=47376;h=a+20|0;i=a+24|0;j=a+32|0;k=a+36|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[a+12>>2]=f[d>>2];f[a+16>>2]=f[d+4>>2];d=f[c+40>>2]|0;l=f[d>>2]|0;f[a+4>>2]=f[d+4>>2];f[a+8>>2]=l;if(f[c>>2]&4095|0){f[g>>2]=0;f[g+4>>2]=0;l=JV(g,19)|0;a=204048;d=l+19|0;do{b[l>>0]=b[a>>0]|0;l=l+1|0;a=a+1|0}while((l|0)<(d|0));EP(-215,g,204068,200415,787);KV(g)}f[g>>2]=0;a=g+4|0;f[a>>2]=0;f[g+8>>2]=0;Fma(c,h,g);c=(f[i>>2]|0)-(f[h>>2]|0)>>3;h=f[k>>2]|0;i=f[j>>2]|0;l=h-i>>2;d=i;i=h;if(c>>>0<=l>>>0){if(c>>>0>>0?(h=d+(c<<2)|0,(h|0)!=(i|0)):0)f[k>>2]=i+(~((i+-4-h|0)>>>2)<<2)}else P7(j,c-l|0);l=f[g>>2]|0;if(!l){u=e;return}if((f[a>>2]|0)!=(l|0))f[a>>2]=l;GQa(l);u=e;return}function M7(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=u;u=u+16|0;g=e;zia(a);f[a>>2]=47352;h=a+20|0;i=a+24|0;j=a+32|0;k=a+36|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[a+12>>2]=f[d>>2];f[a+16>>2]=f[d+4>>2];d=f[c+40>>2]|0;l=f[d>>2]|0;f[a+4>>2]=f[d+4>>2];f[a+8>>2]=l;if(f[c>>2]&4095|0){f[g>>2]=0;f[g+4>>2]=0;l=JV(g,19)|0;a=204048;d=l+19|0;do{b[l>>0]=b[a>>0]|0;l=l+1|0;a=a+1|0}while((l|0)<(d|0));EP(-215,g,204068,200415,787);KV(g)}f[g>>2]=0;a=g+4|0;f[a>>2]=0;f[g+8>>2]=0;Fma(c,h,g);c=(f[i>>2]|0)-(f[h>>2]|0)>>3;h=f[k>>2]|0;i=f[j>>2]|0;l=h-i>>2;d=i;i=h;if(c>>>0<=l>>>0){if(c>>>0>>0?(h=d+(c<<2)|0,(h|0)!=(i|0)):0)f[k>>2]=i+(~((i+-4-h|0)>>>2)<<2)}else P7(j,c-l|0);l=f[g>>2]|0;if(!l){u=e;return}if((f[a>>2]|0)!=(l|0))f[a>>2]=l;GQa(l);u=e;return}function N7(a){a=a|0;GQa(a);return}function O7(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function P7(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>2>>>0>=b>>>0){h=b;i=g;do{f[i>>2]=0;i=(f[e>>2]|0)+4|0;f[e>>2]=i;h=h+-1|0}while((h|0)!=0);return}h=f[a>>2]|0;i=g-h>>2;g=i+b|0;if(g>>>0>1073741823)ZOa(a);j=d-h|0;h=j>>1;d=j>>2>>>0<536870911?(h>>>0>>0?g:h):1073741823;do if(d)if(d>>>0>1073741823){h=hd(8)|0;LQa(h,349912);f[h>>2]=118288;ld(h|0,20688,857)}else{k=EQa(d<<2)|0;break}else k=0;while(0);h=k+(i<<2)|0;i=k+(d<<2)|0;d=b;b=h;k=h;do{f[k>>2]=0;k=b+4|0;b=k;d=d+-1|0}while((d|0)!=0);d=f[a>>2]|0;k=(f[e>>2]|0)-d|0;g=h+(0-(k>>2)<<2)|0;if((k|0)>0)DVa(g|0,d|0,k|0)|0;f[a>>2]=g;f[e>>2]=b;f[c>>2]=i;if(!d)return;GQa(d);return}function Q7(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=47352;b=f[a+32>>2]|0;if(b|0){c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+20>>2]|0;if(!b)return;d=a+24|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-8-b|0)>>>3)<<3);GQa(b);return}function R7(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=47352;b=f[a+32>>2]|0;if(b|0){c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+20>>2]|0;if(!b){GQa(a);return}d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-8-b|0)>>>3)<<3);GQa(b);GQa(a);return}function S7(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0,B=0.0;i=f[a+20>>2]|0;j=f[a+32>>2]|0;k=(f[a+24>>2]|0)-i|0;a=k>>3;l=X(h,g)|0;if((e|0)<=0)return;g=(k|0)>0;m=l+-4|0;n=(l|0)<4;o=(k|0)>8;k=l&-4;q=e;e=b;b=c;while(1){if(g){c=0;do{r=(f[e+(f[i+(c<<3)+4>>2]<<2)>>2]|0)+((X(f[i+(c<<3)>>2]|0,h)|0)<<3)|0;f[j+(c<<2)>>2]=r;c=c+1|0}while((c|0)<(a|0))}a:do if(n)s=0;else{c=f[j>>2]|0;if(o)t=0;else{r=0;while(1){u=c+(r<<3)|0;v=+p[u+8>>3];w=+p[u+16>>3];x=+p[u+24>>3];p[b+(r<<3)>>3]=+p[u>>3];p[b+((r|1)<<3)>>3]=v;p[b+((r|2)<<3)>>3]=w;p[b+((r|3)<<3)>>3]=x;r=r+4|0;if((r|0)>(m|0)){s=k;break a}}}do{r=c+(t<<3)|0;x=+p[r+24>>3];w=+p[r+16>>3];v=+p[r+8>>3];y=+p[r>>3];r=1;do{u=(f[j+(r<<2)>>2]|0)+(t<<3)|0;z=+p[u>>3];y=y>3];v=v>3];w=w>3];x=x>3]=y;p[b+((t|1)<<3)>>3]=v;p[b+((t|2)<<3)>>3]=w;p[b+((t|3)<<3)>>3]=x;t=t+4|0}while((t|0)<=(m|0));s=k}while(0);b:do if((s|0)<(l|0)){c=f[j>>2]|0;if(o)A=s;else{r=s;while(1){p[b+(r<<3)>>3]=+p[c+(r<<3)>>3];r=r+1|0;if((r|0)==(l|0))break b}}do{z=+p[c+(A<<3)>>3];r=1;do{B=+p[(f[j+(r<<2)>>2]|0)+(A<<3)>>3];z=z>3]=z;A=A+1|0}while((A|0)!=(l|0))}while(0);if((q|0)>1){q=q+-1|0;e=e+4|0;b=b+d|0}else break}return}function T7(a){a=a|0;GQa(a);return}function U7(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function V7(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=47376;b=f[a+32>>2]|0;if(b|0){c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+20>>2]|0;if(!b)return;d=a+24|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-8-b|0)>>>3)<<3);GQa(b);return}function W7(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=47376;b=f[a+32>>2]|0;if(b|0){c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+20>>2]|0;if(!b){GQa(a);return}d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-8-b|0)>>>3)<<3);GQa(b);GQa(a);return}function X7(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0.0;i=f[a+20>>2]|0;j=f[a+32>>2]|0;k=(f[a+24>>2]|0)-i|0;a=k>>3;l=X(h,g)|0;if((e|0)<=0)return;g=(k|0)>0;m=l+-4|0;o=(l|0)<4;p=(k|0)>8;k=l&-4;q=e;e=b;b=c;while(1){if(g){c=0;do{r=(f[e+(f[i+(c<<3)+4>>2]<<2)>>2]|0)+((X(f[i+(c<<3)>>2]|0,h)|0)<<2)|0;f[j+(c<<2)>>2]=r;c=c+1|0}while((c|0)<(a|0))}a:do if(o)s=0;else{c=f[j>>2]|0;if(p)t=0;else{r=0;while(1){u=c+(r<<2)|0;v=f[u+4>>2]|0;w=f[u+8>>2]|0;x=f[u+12>>2]|0;f[b+(r<<2)>>2]=f[u>>2];f[b+((r|1)<<2)>>2]=v;f[b+((r|2)<<2)>>2]=w;f[b+((r|3)<<2)>>2]=x;r=r+4|0;if((r|0)>(m|0)){s=k;break a}}}do{r=c+(t<<2)|0;y=+n[r+12>>2];z=+n[r+8>>2];A=+n[r+4>>2];B=+n[r>>2];r=1;do{x=(f[j+(r<<2)>>2]|0)+(t<<2)|0;C=+n[x>>2];B=B>2];A=A>2];z=z>2];y=y>2]=B;n[b+((t|1)<<2)>>2]=A;n[b+((t|2)<<2)>>2]=z;n[b+((t|3)<<2)>>2]=y;t=t+4|0}while((t|0)<=(m|0));s=k}while(0);b:do if((s|0)<(l|0)){c=f[j>>2]|0;if(p)D=s;else{r=s;while(1){f[b+(r<<2)>>2]=f[c+(r<<2)>>2];r=r+1|0;if((r|0)==(l|0))break b}}do{C=+n[c+(D<<2)>>2];r=1;do{E=+n[(f[j+(r<<2)>>2]|0)+(D<<2)>>2];C=C>2]=C;D=D+1|0}while((D|0)!=(l|0))}while(0);if((q|0)>1){q=q+-1|0;e=e+4|0;b=b+d|0}else break}return}function Y7(a){a=a|0;GQa(a);return}function Z7(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function _7(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=47400;b=f[a+32>>2]|0;if(b|0){c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+20>>2]|0;if(!b)return;d=a+24|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-8-b|0)>>>3)<<3);GQa(b);return}function $7(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=47400;b=f[a+32>>2]|0;if(b|0){c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+20>>2]|0;if(!b){GQa(a);return}d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-8-b|0)>>>3)<<3);GQa(b);GQa(a);return}function a8(a,b,c,e,g,h,i){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;j=f[a+20>>2]|0;k=f[a+32>>2]|0;l=(f[a+24>>2]|0)-j|0;a=l>>3;m=X(i,h)|0;if((g|0)<=0)return;h=(l|0)>0;n=m+-4|0;o=(m|0)<4;p=(l|0)>8;l=m&-4;q=g;g=b;b=c;while(1){if(h){c=0;do{r=(f[g+(f[j+(c<<3)+4>>2]<<2)>>2]|0)+((X(f[j+(c<<3)>>2]|0,i)|0)<<1)|0;f[k+(c<<2)>>2]=r;c=c+1|0}while((c|0)<(a|0))}a:do if(o)s=0;else{c=f[k>>2]|0;if(p)t=0;else{r=0;while(1){u=c+(r<<1)|0;v=d[u+2>>1]|0;w=d[u+4>>1]|0;x=d[u+6>>1]|0;d[b+(r<<1)>>1]=d[u>>1]|0;d[b+((r|1)<<1)>>1]=v;d[b+((r|2)<<1)>>1]=w;d[b+((r|3)<<1)>>1]=x;r=r+4|0;if((r|0)>(n|0)){s=l;break a}}}do{r=c+(t<<1)|0;x=d[r+6>>1]|0;w=d[r+4>>1]|0;v=d[r+2>>1]|0;u=d[r>>1]|0;r=1;do{y=(f[k+(r<<2)>>2]|0)+(t<<1)|0;z=d[y>>1]|0;u=u<<16>>16>16?z:u;z=d[y+2>>1]|0;v=v<<16>>16>16?z:v;z=d[y+4>>1]|0;w=w<<16>>16>16?z:w;z=d[y+6>>1]|0;x=x<<16>>16>16?z:x;r=r+1|0}while((r|0)<(a|0));d[b+(t<<1)>>1]=u;d[b+((t|1)<<1)>>1]=v;d[b+((t|2)<<1)>>1]=w;d[b+((t|3)<<1)>>1]=x;t=t+4|0}while((t|0)<=(n|0));s=l}while(0);b:do if((s|0)<(m|0)){c=f[k>>2]|0;if(p)A=s;else{r=s;while(1){d[b+(r<<1)>>1]=d[c+(r<<1)>>1]|0;r=r+1|0;if((r|0)==(m|0))break b}}do{r=d[c+(A<<1)>>1]|0;z=1;do{y=d[(f[k+(z<<2)>>2]|0)+(A<<1)>>1]|0;r=r<<16>>16>16?y:r;z=z+1|0}while((z|0)<(a|0));d[b+(A<<1)>>1]=r;A=A+1|0}while((A|0)!=(m|0))}while(0);if((q|0)>1){q=q+-1|0;g=g+4|0;b=b+e|0}else break}return}function b8(a){a=a|0;GQa(a);return}function c8(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function d8(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=47424;b=f[a+32>>2]|0;if(b|0){c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+20>>2]|0;if(!b)return;d=a+24|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-8-b|0)>>>3)<<3);GQa(b);return}function e8(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=47424;b=f[a+32>>2]|0;if(b|0){c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+20>>2]|0;if(!b){GQa(a);return}d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-8-b|0)>>>3)<<3);GQa(b);GQa(a);return}function f8(a,b,c,e,g,h,i){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;j=f[a+20>>2]|0;k=f[a+32>>2]|0;l=(f[a+24>>2]|0)-j|0;a=l>>3;m=X(i,h)|0;if((g|0)<=0)return;h=(l|0)>0;n=m+-4|0;o=(m|0)<4;p=(l|0)>8;l=m&-4;q=g;g=b;b=c;while(1){if(h){c=0;do{r=(f[g+(f[j+(c<<3)+4>>2]<<2)>>2]|0)+((X(f[j+(c<<3)>>2]|0,i)|0)<<1)|0;f[k+(c<<2)>>2]=r;c=c+1|0}while((c|0)<(a|0))}a:do if(o)s=0;else{c=f[k>>2]|0;if(p)t=0;else{r=0;while(1){u=c+(r<<1)|0;v=d[u+2>>1]|0;w=d[u+4>>1]|0;x=d[u+6>>1]|0;d[b+(r<<1)>>1]=d[u>>1]|0;d[b+((r|1)<<1)>>1]=v;d[b+((r|2)<<1)>>1]=w;d[b+((r|3)<<1)>>1]=x;r=r+4|0;if((r|0)>(n|0)){s=l;break a}}}do{r=c+(t<<1)|0;x=d[r+6>>1]|0;w=d[r+4>>1]|0;v=d[r+2>>1]|0;u=d[r>>1]|0;r=1;do{y=(f[k+(r<<2)>>2]|0)+(t<<1)|0;z=d[y>>1]|0;u=(u&65535)<(z&65535)?z:u;z=d[y+2>>1]|0;v=(v&65535)<(z&65535)?z:v;z=d[y+4>>1]|0;w=(w&65535)<(z&65535)?z:w;z=d[y+6>>1]|0;x=(x&65535)<(z&65535)?z:x;r=r+1|0}while((r|0)<(a|0));d[b+(t<<1)>>1]=u;d[b+((t|1)<<1)>>1]=v;d[b+((t|2)<<1)>>1]=w;d[b+((t|3)<<1)>>1]=x;t=t+4|0}while((t|0)<=(n|0));s=l}while(0);b:do if((s|0)<(m|0)){c=f[k>>2]|0;if(p)A=s;else{r=s;while(1){d[b+(r<<1)>>1]=d[c+(r<<1)>>1]|0;r=r+1|0;if((r|0)==(m|0))break b}}do{r=d[c+(A<<1)>>1]|0;z=1;do{y=d[(f[k+(z<<2)>>2]|0)+(A<<1)>>1]|0;r=(r&65535)<(y&65535)?y:r;z=z+1|0}while((z|0)<(a|0));d[b+(A<<1)>>1]=r;A=A+1|0}while((A|0)!=(m|0))}while(0);if((q|0)>1){q=q+-1|0;g=g+4|0;b=b+e|0}else break}return}function g8(a){a=a|0;GQa(a);return}function h8(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function i8(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=47448;b=f[a+32>>2]|0;if(b|0){c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+20>>2]|0;if(!b)return;d=a+24|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-8-b|0)>>>3)<<3);GQa(b);return}function j8(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=47448;b=f[a+32>>2]|0;if(b|0){c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+20>>2]|0;if(!b){GQa(a);return}d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-8-b|0)>>>3)<<3);GQa(b);GQa(a);return}function k8(a,c,d,e,g,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;k=f[a+20>>2]|0;l=f[a+32>>2]|0;m=(f[a+24>>2]|0)-k|0;a=m>>3;n=X(j,i)|0;if((g|0)<=0)return;i=(m|0)>0;o=n+-4|0;p=(n|0)<4;q=(m|0)>8;m=n&-4;r=c;c=d;d=g;while(1){if(i){g=0;do{s=(f[r+(f[k+(g<<3)+4>>2]<<2)>>2]|0)+(X(f[k+(g<<3)>>2]|0,j)|0)|0;f[l+(g<<2)>>2]=s;g=g+1|0}while((g|0)<(a|0))}a:do if(p)t=0;else{if(q)u=0;else{g=0;while(1){s=(f[l>>2]|0)+g|0;v=b[s+1>>0]|0;w=b[s+2>>0]|0;x=b[s+3>>0]|0;b[c+g>>0]=b[s>>0]|0;b[c+(g|1)>>0]=v;b[c+(g|2)>>0]=w;b[c+(g|3)>>0]=x;g=g+4|0;if((g|0)>(o|0)){t=m;break a}}}do{g=(f[l>>2]|0)+u|0;x=b[g+3>>0]|0;w=b[g+2>>0]|0;v=b[g+1>>0]|0;s=b[g>>0]|0;g=1;do{y=(f[l+(g<<2)>>2]|0)+u|0;z=s&255;A=(h[y>>0]|0)-z+256|0;if(A>>>0<769)B=h[243744+A>>0]|0;else B=0;s=B+z&255;z=v&255;A=(h[y+1>>0]|0)-z+256|0;if(A>>>0<769)C=h[243744+A>>0]|0;else C=0;v=C+z&255;z=w&255;A=(h[y+2>>0]|0)-z+256|0;if(A>>>0<769)D=h[243744+A>>0]|0;else D=0;w=D+z&255;z=x&255;A=(h[y+3>>0]|0)-z+256|0;if(A>>>0<769)E=h[243744+A>>0]|0;else E=0;x=E+z&255;g=g+1|0}while((g|0)<(a|0));b[c+u>>0]=s;b[c+(u|1)>>0]=v;b[c+(u|2)>>0]=w;b[c+(u|3)>>0]=x;u=u+4|0}while((u|0)<=(o|0));t=m}while(0);b:do if((t|0)<(n|0)){if(q)F=t;else{g=t;while(1){b[c+g>>0]=b[(f[l>>2]|0)+g>>0]|0;g=g+1|0;if((g|0)==(n|0))break b}}do{g=b[(f[l>>2]|0)+F>>0]|0;z=1;do{A=g&255;y=(h[(f[l+(z<<2)>>2]|0)+F>>0]|0)-A+256|0;if(y>>>0<769)G=h[243744+y>>0]|0;else G=0;g=G+A&255;z=z+1|0}while((z|0)<(a|0));b[c+F>>0]=g;F=F+1|0}while((F|0)!=(n|0))}while(0);if((d|0)>1){r=r+4|0;c=c+e|0;d=d+-1|0}else break}return}function l8(a){a=a|0;GQa(a);return}function m8(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function n8(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=47472;b=f[a+32>>2]|0;if(b|0){c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+20>>2]|0;if(!b)return;d=a+24|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-8-b|0)>>>3)<<3);GQa(b);return}function o8(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=47472;b=f[a+32>>2]|0;if(b|0){c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+20>>2]|0;if(!b){GQa(a);return}d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-8-b|0)>>>3)<<3);GQa(b);GQa(a);return}function p8(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0,B=0.0;i=f[a+20>>2]|0;j=f[a+32>>2]|0;k=(f[a+24>>2]|0)-i|0;a=k>>3;l=X(h,g)|0;if((e|0)<=0)return;g=(k|0)>0;m=l+-4|0;n=(l|0)<4;o=(k|0)>8;k=l&-4;q=e;e=b;b=c;while(1){if(g){c=0;do{r=(f[e+(f[i+(c<<3)+4>>2]<<2)>>2]|0)+((X(f[i+(c<<3)>>2]|0,h)|0)<<3)|0;f[j+(c<<2)>>2]=r;c=c+1|0}while((c|0)<(a|0))}a:do if(n)s=0;else{c=f[j>>2]|0;if(o)t=0;else{r=0;while(1){u=c+(r<<3)|0;v=+p[u+8>>3];w=+p[u+16>>3];x=+p[u+24>>3];p[b+(r<<3)>>3]=+p[u>>3];p[b+((r|1)<<3)>>3]=v;p[b+((r|2)<<3)>>3]=w;p[b+((r|3)<<3)>>3]=x;r=r+4|0;if((r|0)>(m|0)){s=k;break a}}}do{r=c+(t<<3)|0;x=+p[r+24>>3];w=+p[r+16>>3];v=+p[r+8>>3];y=+p[r>>3];r=1;do{u=(f[j+(r<<2)>>2]|0)+(t<<3)|0;z=+p[u>>3];y=z>3];v=z>3];w=z>3];x=z>3]=y;p[b+((t|1)<<3)>>3]=v;p[b+((t|2)<<3)>>3]=w;p[b+((t|3)<<3)>>3]=x;t=t+4|0}while((t|0)<=(m|0));s=k}while(0);b:do if((s|0)<(l|0)){c=f[j>>2]|0;if(o)A=s;else{r=s;while(1){p[b+(r<<3)>>3]=+p[c+(r<<3)>>3];r=r+1|0;if((r|0)==(l|0))break b}}do{z=+p[c+(A<<3)>>3];r=1;do{B=+p[(f[j+(r<<2)>>2]|0)+(A<<3)>>3];z=B>3]=z;A=A+1|0}while((A|0)!=(l|0))}while(0);if((q|0)>1){q=q+-1|0;e=e+4|0;b=b+d|0}else break}return}function q8(a){a=a|0;GQa(a);return}function r8(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function s8(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=47496;b=f[a+32>>2]|0;if(b|0){c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+20>>2]|0;if(!b)return;d=a+24|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-8-b|0)>>>3)<<3);GQa(b);return}function t8(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=47496;b=f[a+32>>2]|0;if(b|0){c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+20>>2]|0;if(!b){GQa(a);return}d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-8-b|0)>>>3)<<3);GQa(b);GQa(a);return}function u8(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0.0;i=f[a+20>>2]|0;j=f[a+32>>2]|0;k=(f[a+24>>2]|0)-i|0;a=k>>3;l=X(h,g)|0;if((e|0)<=0)return;g=(k|0)>0;m=l+-4|0;o=(l|0)<4;p=(k|0)>8;k=l&-4;q=e;e=b;b=c;while(1){if(g){c=0;do{r=(f[e+(f[i+(c<<3)+4>>2]<<2)>>2]|0)+((X(f[i+(c<<3)>>2]|0,h)|0)<<2)|0;f[j+(c<<2)>>2]=r;c=c+1|0}while((c|0)<(a|0))}a:do if(o)s=0;else{c=f[j>>2]|0;if(p)t=0;else{r=0;while(1){u=c+(r<<2)|0;v=f[u+4>>2]|0;w=f[u+8>>2]|0;x=f[u+12>>2]|0;f[b+(r<<2)>>2]=f[u>>2];f[b+((r|1)<<2)>>2]=v;f[b+((r|2)<<2)>>2]=w;f[b+((r|3)<<2)>>2]=x;r=r+4|0;if((r|0)>(m|0)){s=k;break a}}}do{r=c+(t<<2)|0;y=+n[r+12>>2];z=+n[r+8>>2];A=+n[r+4>>2];B=+n[r>>2];r=1;do{x=(f[j+(r<<2)>>2]|0)+(t<<2)|0;C=+n[x>>2];B=C>2];A=C>2];z=C>2];y=C>2]=B;n[b+((t|1)<<2)>>2]=A;n[b+((t|2)<<2)>>2]=z;n[b+((t|3)<<2)>>2]=y;t=t+4|0}while((t|0)<=(m|0));s=k}while(0);b:do if((s|0)<(l|0)){c=f[j>>2]|0;if(p)D=s;else{r=s;while(1){f[b+(r<<2)>>2]=f[c+(r<<2)>>2];r=r+1|0;if((r|0)==(l|0))break b}}do{C=+n[c+(D<<2)>>2];r=1;do{E=+n[(f[j+(r<<2)>>2]|0)+(D<<2)>>2];C=E>2]=C;D=D+1|0}while((D|0)!=(l|0))}while(0);if((q|0)>1){q=q+-1|0;e=e+4|0;b=b+d|0}else break}return}function v8(a){a=a|0;GQa(a);return}function w8(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function x8(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=47520;b=f[a+32>>2]|0;if(b|0){c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+20>>2]|0;if(!b)return;d=a+24|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-8-b|0)>>>3)<<3);GQa(b);return}function y8(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=47520;b=f[a+32>>2]|0;if(b|0){c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+20>>2]|0;if(!b){GQa(a);return}d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-8-b|0)>>>3)<<3);GQa(b);GQa(a);return}function z8(a,b,c,e,g,h,i){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;j=f[a+20>>2]|0;k=f[a+32>>2]|0;l=(f[a+24>>2]|0)-j|0;a=l>>3;m=X(i,h)|0;if((g|0)<=0)return;h=(l|0)>0;n=m+-4|0;o=(m|0)<4;p=(l|0)>8;l=m&-4;q=g;g=b;b=c;while(1){if(h){c=0;do{r=(f[g+(f[j+(c<<3)+4>>2]<<2)>>2]|0)+((X(f[j+(c<<3)>>2]|0,i)|0)<<1)|0;f[k+(c<<2)>>2]=r;c=c+1|0}while((c|0)<(a|0))}a:do if(o)s=0;else{c=f[k>>2]|0;if(p)t=0;else{r=0;while(1){u=c+(r<<1)|0;v=d[u+2>>1]|0;w=d[u+4>>1]|0;x=d[u+6>>1]|0;d[b+(r<<1)>>1]=d[u>>1]|0;d[b+((r|1)<<1)>>1]=v;d[b+((r|2)<<1)>>1]=w;d[b+((r|3)<<1)>>1]=x;r=r+4|0;if((r|0)>(n|0)){s=l;break a}}}do{r=c+(t<<1)|0;x=d[r+6>>1]|0;w=d[r+4>>1]|0;v=d[r+2>>1]|0;u=d[r>>1]|0;r=1;do{y=(f[k+(r<<2)>>2]|0)+(t<<1)|0;z=d[y>>1]|0;u=z<<16>>16>16?z:u;z=d[y+2>>1]|0;v=z<<16>>16>16?z:v;z=d[y+4>>1]|0;w=z<<16>>16>16?z:w;z=d[y+6>>1]|0;x=z<<16>>16>16?z:x;r=r+1|0}while((r|0)<(a|0));d[b+(t<<1)>>1]=u;d[b+((t|1)<<1)>>1]=v;d[b+((t|2)<<1)>>1]=w;d[b+((t|3)<<1)>>1]=x;t=t+4|0}while((t|0)<=(n|0));s=l}while(0);b:do if((s|0)<(m|0)){c=f[k>>2]|0;if(p)A=s;else{r=s;while(1){d[b+(r<<1)>>1]=d[c+(r<<1)>>1]|0;r=r+1|0;if((r|0)==(m|0))break b}}do{r=d[c+(A<<1)>>1]|0;z=1;do{y=d[(f[k+(z<<2)>>2]|0)+(A<<1)>>1]|0;r=y<<16>>16>16?y:r;z=z+1|0}while((z|0)<(a|0));d[b+(A<<1)>>1]=r;A=A+1|0}while((A|0)!=(m|0))}while(0);if((q|0)>1){q=q+-1|0;g=g+4|0;b=b+e|0}else break}return}function A8(a){a=a|0;GQa(a);return}function B8(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function C8(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=47544;b=f[a+32>>2]|0;if(b|0){c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+20>>2]|0;if(!b)return;d=a+24|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-8-b|0)>>>3)<<3);GQa(b);return}function D8(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=47544;b=f[a+32>>2]|0;if(b|0){c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+20>>2]|0;if(!b){GQa(a);return}d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-8-b|0)>>>3)<<3);GQa(b);GQa(a);return}function E8(a,b,c,e,g,h,i){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;j=f[a+20>>2]|0;k=f[a+32>>2]|0;l=(f[a+24>>2]|0)-j|0;a=l>>3;m=X(i,h)|0;if((g|0)<=0)return;h=(l|0)>0;n=m+-4|0;o=(m|0)<4;p=(l|0)>8;l=m&-4;q=g;g=b;b=c;while(1){if(h){c=0;do{r=(f[g+(f[j+(c<<3)+4>>2]<<2)>>2]|0)+((X(f[j+(c<<3)>>2]|0,i)|0)<<1)|0;f[k+(c<<2)>>2]=r;c=c+1|0}while((c|0)<(a|0))}a:do if(o)s=0;else{c=f[k>>2]|0;if(p)t=0;else{r=0;while(1){u=c+(r<<1)|0;v=d[u+2>>1]|0;w=d[u+4>>1]|0;x=d[u+6>>1]|0;d[b+(r<<1)>>1]=d[u>>1]|0;d[b+((r|1)<<1)>>1]=v;d[b+((r|2)<<1)>>1]=w;d[b+((r|3)<<1)>>1]=x;r=r+4|0;if((r|0)>(n|0)){s=l;break a}}}do{r=c+(t<<1)|0;x=d[r+6>>1]|0;w=d[r+4>>1]|0;v=d[r+2>>1]|0;u=d[r>>1]|0;r=1;do{y=(f[k+(r<<2)>>2]|0)+(t<<1)|0;z=d[y>>1]|0;u=(z&65535)<(u&65535)?z:u;z=d[y+2>>1]|0;v=(z&65535)<(v&65535)?z:v;z=d[y+4>>1]|0;w=(z&65535)<(w&65535)?z:w;z=d[y+6>>1]|0;x=(z&65535)<(x&65535)?z:x;r=r+1|0}while((r|0)<(a|0));d[b+(t<<1)>>1]=u;d[b+((t|1)<<1)>>1]=v;d[b+((t|2)<<1)>>1]=w;d[b+((t|3)<<1)>>1]=x;t=t+4|0}while((t|0)<=(n|0));s=l}while(0);b:do if((s|0)<(m|0)){c=f[k>>2]|0;if(p)A=s;else{r=s;while(1){d[b+(r<<1)>>1]=d[c+(r<<1)>>1]|0;r=r+1|0;if((r|0)==(m|0))break b}}do{r=d[c+(A<<1)>>1]|0;z=1;do{y=d[(f[k+(z<<2)>>2]|0)+(A<<1)>>1]|0;r=(y&65535)<(r&65535)?y:r;z=z+1|0}while((z|0)<(a|0));d[b+(A<<1)>>1]=r;A=A+1|0}while((A|0)!=(m|0))}while(0);if((q|0)>1){q=q+-1|0;g=g+4|0;b=b+e|0}else break}return}function F8(a){a=a|0;GQa(a);return}function G8(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function H8(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=47568;b=f[a+32>>2]|0;if(b|0){c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+20>>2]|0;if(!b)return;d=a+24|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-8-b|0)>>>3)<<3);GQa(b);return}function I8(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=47568;b=f[a+32>>2]|0;if(b|0){c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+20>>2]|0;if(!b){GQa(a);return}d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-8-b|0)>>>3)<<3);GQa(b);GQa(a);return}function J8(a,c,d,e,g,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;k=f[a+20>>2]|0;l=f[a+32>>2]|0;m=(f[a+24>>2]|0)-k|0;a=m>>3;n=X(j,i)|0;if((g|0)<=0)return;i=(m|0)>0;o=n+-4|0;p=(n|0)<4;q=(m|0)>8;m=n&-4;r=c;c=d;d=g;while(1){if(i){g=0;do{s=(f[r+(f[k+(g<<3)+4>>2]<<2)>>2]|0)+(X(f[k+(g<<3)>>2]|0,j)|0)|0;f[l+(g<<2)>>2]=s;g=g+1|0}while((g|0)<(a|0))}a:do if(p)t=0;else{if(q)u=0;else{g=0;while(1){s=(f[l>>2]|0)+g|0;v=b[s+1>>0]|0;w=b[s+2>>0]|0;x=b[s+3>>0]|0;b[c+g>>0]=b[s>>0]|0;b[c+(g|1)>>0]=v;b[c+(g|2)>>0]=w;b[c+(g|3)>>0]=x;g=g+4|0;if((g|0)>(o|0)){t=m;break a}}}do{g=(f[l>>2]|0)+u|0;x=b[g+3>>0]|0;w=b[g+2>>0]|0;v=b[g+1>>0]|0;s=b[g>>0]|0;g=1;do{y=(f[l+(g<<2)>>2]|0)+u|0;z=s&255;A=z-(h[y>>0]|0)+256|0;if(A>>>0<769)B=h[243744+A>>0]|0;else B=0;s=z-B&255;z=v&255;A=z-(h[y+1>>0]|0)+256|0;if(A>>>0<769)C=h[243744+A>>0]|0;else C=0;v=z-C&255;z=w&255;A=z-(h[y+2>>0]|0)+256|0;if(A>>>0<769)D=h[243744+A>>0]|0;else D=0;w=z-D&255;z=x&255;A=z-(h[y+3>>0]|0)+256|0;if(A>>>0<769)E=h[243744+A>>0]|0;else E=0;x=z-E&255;g=g+1|0}while((g|0)<(a|0));b[c+u>>0]=s;b[c+(u|1)>>0]=v;b[c+(u|2)>>0]=w;b[c+(u|3)>>0]=x;u=u+4|0}while((u|0)<=(o|0));t=m}while(0);b:do if((t|0)<(n|0)){if(q)F=t;else{g=t;while(1){b[c+g>>0]=b[(f[l>>2]|0)+g>>0]|0;g=g+1|0;if((g|0)==(n|0))break b}}do{g=b[(f[l>>2]|0)+F>>0]|0;z=1;do{A=g&255;y=A-(h[(f[l+(z<<2)>>2]|0)+F>>0]|0)+256|0;if(y>>>0<769)G=h[243744+y>>0]|0;else G=0;g=A-G&255;z=z+1|0}while((z|0)<(a|0));b[c+F>>0]=g;F=F+1|0}while((F|0)!=(n|0))}while(0);if((d|0)>1){r=r+4|0;c=c+e|0;d=d+-1|0}else break}return}function K8(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0;k=u;u=u+144|0;l=k+128|0;m=k+72|0;n=k+64|0;o=k+56|0;q=k;r=k+32|0;s=k+48|0;do if((HJ(e)|0)==65536){t=f[e+4>>2]|0;f[m>>2]=f[t>>2];v=m+4|0;w=t+4|0;f[v>>2]=f[w>>2];x=m+8|0;f[x>>2]=f[t+8>>2];f[m+12>>2]=f[t+12>>2];f[m+16>>2]=f[t+16>>2];f[m+20>>2]=f[t+20>>2];f[m+24>>2]=f[t+24>>2];f[m+28>>2]=f[t+28>>2];f[m+32>>2]=f[t+32>>2];y=f[t+36>>2]|0;f[m+36>>2]=y;z=m+40|0;f[z>>2]=x;x=m+48|0;A=m+44|0;f[A>>2]=x;f[x>>2]=0;f[m+52>>2]=0;if(y|0){x=y+12|0;f[x>>2]=(f[x>>2]|0)+1}if((f[w>>2]|0)<3){w=f[t+44>>2]|0;x=f[A>>2]|0;f[x>>2]=f[w>>2];f[x+4>>2]=f[w+4>>2];B=z;break}else{f[v>>2]=0;WO(m,t);B=z;break}}else{DJ(m,e,-1);B=m+40|0}while(0);e=f[g>>2]|0;z=g+4|0;t=f[z>>2]|0;v=f[B>>2]|0;w=f[v+4>>2]|0;x=f[v>>2]|0;v=(e|0)==-1?(w|0)/2|0:e;e=(t|0)==-1?(x|0)/2|0:t;if(!((v|0)>-1&(v|0)<(w|0)?!((e|0)<0|(e|0)>=(x|0)):0)){f[l>>2]=0;f[l+4>>2]=0;C=JV(l,52)|0;D=240542;E=C+52|0;do{b[C>>0]=b[D>>0]|0;C=C+1|0;D=D+1|0}while((C|0)<(E|0));EP(-215,l,240595,240611,363);KV(l)}f[g>>2]=v;f[z>>2]=e;f[l>>2]=0;e=l+4|0;f[e>>2]=0;f[n>>2]=0;v=n+4|0;f[v>>2]=0;f[o>>2]=0;x=o+4|0;f[x>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;f[q>>2]=16842752;f[q+4>>2]=m;w=WE(q)|0;t=m+8|0;A=f[m+12>>2]|0;if((w|0)==(X(A,f[t>>2]|0)|0)){a6(q,c,d,A,f[g>>2]|0);A=f[q>>2]|0;w=f[q+4>>2]|0;if(A|0){y=A+4|0;f[y>>2]=(f[y>>2]|0)+1}y=f[l>>2]|0;f[l>>2]=A;f[e>>2]=w;if(y|0?(w=y+4|0,e=f[w>>2]|0,f[w>>2]=e+-1,(e|0)==1):0)qg[f[(f[y>>2]|0)+8>>2]&1023](y);y=f[q>>2]|0;if(y|0?(e=y+4|0,w=f[e>>2]|0,f[e>>2]=w+-1,(w|0)==1):0)qg[f[(f[y>>2]|0)+8>>2]&1023](y);P6(q,c,d,f[t>>2]|0,f[z>>2]|0);t=f[q>>2]|0;y=f[q+4>>2]|0;if(t|0){w=t+4|0;f[w>>2]=(f[w>>2]|0)+1}w=f[n>>2]|0;f[n>>2]=t;f[v>>2]=y;if(w|0?(y=w+4|0,v=f[y>>2]|0,f[y>>2]=v+-1,(v|0)==1):0)qg[f[(f[w>>2]|0)+8>>2]&1023](w);w=f[q>>2]|0;if(w|0?(v=w+4|0,y=f[v>>2]|0,f[v>>2]=y+-1,(y|0)==1):0)qg[f[(f[w>>2]|0)+8>>2]&1023](w)}else{f[r+8>>2]=0;f[r+12>>2]=0;f[r>>2]=16842752;f[r+4>>2]=m;f[s>>2]=f[g>>2];f[s+4>>2]=f[z>>2];C7(q,c,d,r,s);s=f[q>>2]|0;z=f[q+4>>2]|0;if(s|0){g=s+4|0;f[g>>2]=(f[g>>2]|0)+1}g=f[o>>2]|0;f[o>>2]=s;f[x>>2]=z;if(g|0?(z=g+4|0,x=f[z>>2]|0,f[z>>2]=x+-1,(x|0)==1):0)qg[f[(f[g>>2]|0)+8>>2]&1023](g);g=f[q>>2]|0;if(g|0?(x=g+4|0,z=f[x>>2]|0,f[x>>2]=z+-1,(z|0)==1):0)qg[f[(f[g>>2]|0)+8>>2]&1023](g)}F=+p[j>>3];p[q>>3]=F;G=+p[j+8>>3];g=q+8|0;p[g>>3]=G;H=+p[j+16>>3];z=q+16|0;p[z>>3]=H;I=+p[j+24>>3];j=q+24|0;p[j>>3]=I;do if(((h|0)==0|(i|0)==0)&F==1797693134862315708145274.0e284&G==1797693134862315708145274.0e284?!(I!=1797693134862315708145274.0e284|H!=1797693134862315708145274.0e284):0){x=d&7;s=(x|2|0)==2;w=(x|0)==3;y=(x|0)==5;x=d&255;switch(x&7){case 0:case 2:case 3:case 5:case 6:break;default:{f[r>>2]=0;f[r+4>>2]=0;C=JV(r,66)|0;D=205498;E=C+66|0;do{b[C>>0]=b[D>>0]|0;C=C+1|0;D=D+1|0}while((C|0)<(E|0));EP(-215,r,205565,200415,1006);KV(r)}}if(c|0){J=s?0.0:w?-32768.0:y?-3402823466385288598117041.0e14:-1797693134862315708145274.0e284;p[q>>3]=J;p[g>>3]=J;p[z>>3]=J;p[j>>3]=J;break}switch(x&7){case 0:{K=255.0;break}case 2:{K=65535.0;break}default:K=w?32767.0:y?3402823466385288598117041.0e14:1797693134862315708145274.0e284}p[q>>3]=K;p[g>>3]=K;p[z>>3]=K;p[j>>3]=K}while(0);j=EQa(200)|0;Aia(j,o,l,n,d,d,d,h,i,q);q=EQa(16)|0;f[q+4>>2]=1;f[q>>2]=45036;f[q+8>>2]=j;f[a>>2]=q;f[a+4>>2]=j;j=f[o>>2]|0;if(j|0?(o=j+4|0,a=f[o>>2]|0,f[o>>2]=a+-1,(a|0)==1):0)qg[f[(f[j>>2]|0)+8>>2]&1023](j);j=f[n>>2]|0;if(j|0?(n=j+4|0,a=f[n>>2]|0,f[n>>2]=a+-1,(a|0)==1):0)qg[f[(f[j>>2]|0)+8>>2]&1023](j);j=f[l>>2]|0;if(j|0?(l=j+4|0,a=f[l>>2]|0,f[l>>2]=a+-1,(a|0)==1):0)qg[f[(f[j>>2]|0)+8>>2]&1023](j);j=m+36|0;a=f[j>>2]|0;if(a|0?(l=a+12|0,a=f[l>>2]|0,f[l>>2]=a+-1,(a|0)==1):0)XO(m);f[j>>2]=0;j=m+16|0;a=m+4|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;if((f[a>>2]|0)>0){j=f[B>>2]|0;B=0;do{f[j+(B<<2)>>2]=0;B=B+1|0}while((B|0)<(f[a>>2]|0))}a=f[m+44>>2]|0;if((a|0)==(m+48|0)){u=k;return}dX(a);u=k;return}function L8(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=u;u=u+16|0;h=g;if(c>>>0>=3){f[h>>2]=0;f[h+4>>2]=0;i=JV(h,69)|0;j=205588;k=i+69|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-215,h,205658,200415,1030);KV(h)}l=f[e>>2]|0;m=e+4|0;n=f[m>>2]|0;o=f[d>>2]|0;p=d+4|0;q=f[p>>2]|0;r=(l|0)==-1?(o|0)/2|0:l;l=(n|0)==-1?(q|0)/2|0:n;if((r|0)>-1&(r|0)<(o|0)?!((l|0)<0|(l|0)>=(q|0)):0)s=o;else{f[h>>2]=0;f[h+4>>2]=0;i=JV(h,52)|0;j=240542;k=i+52|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-215,h,240595,240611,363);KV(h);s=f[d>>2]|0}f[e>>2]=r;f[m>>2]=l;l=f[p>>2]|0;r=(s|0)==1&(l|0)==1?0:c;if((r|0)==2){c=(l|0)/2|0;t=+(c|0);v=(l+1|0)>>>0>2?1.0/(t*t):0.0;w=(s|0)/2|0;x=c}else{v=0.0;w=0;x=0}f[a>>2]=1124007936;c=a+8|0;j=a+40|0;i=a+4|0;k=i+36|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(k|0));f[j>>2]=c;c=a+48|0;j=a+44|0;f[j>>2]=c;f[c>>2]=0;f[a+52>>2]=0;f[h>>2]=l;f[h+4>>2]=s;VO(a,2,h,0);if((f[p>>2]|0)<=0){u=g;return}h=a+16|0;t=+(w|0);a=X(x,x)|0;if(!r){s=0;l=f[d>>2]|0;while(1){c=(f[h>>2]|0)+(X(f[f[j>>2]>>2]|0,s)|0)|0;if((l|0)>0){FVa(c|0,1,l|0)|0;y=l;z=f[d>>2]|0}else{y=0;z=l}if((y|0)<(z|0)){i=y;do{b[c+i>>0]=0;i=i+1|0;k=f[d>>2]|0}while((i|0)<(k|0));A=k}else A=z;s=s+1|0;if((s|0)>=(f[p>>2]|0))break;else l=A}u=g;return}A=(r|0)==1;r=0;do{l=f[h>>2]|0;s=X(f[f[j>>2]>>2]|0,r)|0;z=l+s|0;do if(A)if((r|0)!=(f[m>>2]|0)){y=f[e>>2]|0;i=y+1|0;if((y|0)>0){B=i;C=y;D=23;break}else{E=0;F=i;D=24;break}}else{E=0;F=f[d>>2]|0;D=24;break}else{i=r-x|0;if((((i|0)>-1?i:0-i|0)|0)<=(x|0)){y=AEa(+L(+(v*+(a-(X(i,i)|0)|0)))*t)|0;i=w-y|0;c=y+w|0;y=f[d>>2]|0;k=(y|0)<=(c|0)?y:c+1|0;if((i|0)>0){B=k;C=i;D=23}else{E=0;F=k;D=24}}else G=0}while(0);if((D|0)==23){D=0;FVa(z|0,0,C|0)|0;E=C;F=B;D=24}if((D|0)==24){D=0;if((F|0)>(E|0)){FVa(l+(E+s)|0,1,F-E|0)|0;G=F}else G=E}if((G|0)<(f[d>>2]|0)){k=G;do{b[z+k>>0]=0;k=k+1|0}while((k|0)<(f[d>>2]|0))}r=r+1|0}while((r|0)<(f[p>>2]|0));u=g;return} +function E1(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0;c=u;u=u+2112|0;d=c+1064|0;e=c;g=a+20|0;h=f[g>>2]|0;i=a+28|0;j=f[i>>2]|0;k=X(j,h)|0;l=a+44|0;m=f[l>>2]|0;n=X(k,m)|0;k=d+8|0;FVa(k|0,0,1040)|0;f[d>>2]=k;o=d+4|0;f[o>>2]=n;if(n>>>0>520){p=FQa(n>>>0>2147483647?-1:n<<1)|0;FVa(p|0,0,n<<1|0)|0;f[d>>2]=p;q=p}else q=k;p=m<<1;n=e+8|0;f[e>>2]=n;r=e+4|0;f[r>>2]=p;if(p>>>0>264){s=FQa(p>>>0>1073741823?-1:p<<2)|0;f[e>>2]=s;t=s}else t=n;a:do if((m|0)==1){f[t>>2]=q;s=f[b>>2]|0;p=b+4|0;if((s|0)<(f[p>>2]|0)){v=a+52|0;w=a+4|0;x=a+12|0;y=a+32|0;z=a+40|0;A=a+48|0;B=a+56|0;C=a+36|0;D=a+8|0;E=a+16|0;F=s;s=j;G=q;H=h;while(1){I=(f[w>>2]|0)+(X(f[x>>2]|0,F)|0)|0;li[f[v>>2]&127](I,s,f[y>>2]|0,f[z>>2]|0,G,H,f[A>>2]|0);I=(f[D>>2]|0)+(X(f[E>>2]|0,F)|0)|0;J=X(f[i>>2]|0,f[g>>2]|0)|0;Sh[f[B>>2]&255](t,f[C>>2]|0,f[l>>2]|0,I,J);J=F+1|0;if((J|0)>=(f[p>>2]|0))break a;F=J;s=f[i>>2]|0;G=f[t>>2]|0;H=f[g>>2]|0}}}else{H=a+48|0;G=f[H>>2]|0;s=(m|0)/2|0;F=m-s|0;p=F+-1|0;C=f[b>>2]|0;B=C-s|0;if(G|0){E=(B|0)>0?B:0;D=C+F|0;A=a+24|0;z=f[A>>2]|0;b:do if((E|0)<(((z|0)<(D|0)?z:D)|0)){y=a+52|0;v=a+4|0;x=a+12|0;w=a+32|0;J=a+40|0;I=E;K=0;L=G;M=h;N=j;O=m;while(1){P=q+((X(X(M,K)|0,N)|0)<<1)|0;Q=t+(K<<2)|0;f[Q>>2]=P;f[t+(O+K<<2)>>2]=P;P=(f[v>>2]|0)+(X(f[x>>2]|0,I)|0)|0;li[f[y>>2]&127](P,N,f[w>>2]|0,f[J>>2]|0,f[Q>>2]|0,M,L);Q=I+1|0;P=K+1|0;R=f[A>>2]|0;if((Q|0)>=(((R|0)<(D|0)?R:D)|0)){S=Q;T=P;U=R;break b}I=Q;K=P;L=f[H>>2]|0;M=f[g>>2]|0;N=f[i>>2]|0;O=f[l>>2]|0}}else{S=E;T=0;U=z}while(0);c:do if((S|0)<(D|0)){z=a+52|0;G=a+4|0;O=a+12|0;N=a+32|0;M=a+40|0;L=S;K=T;I=U;while(1){J=lM(L,I,f[H>>2]|0)|0;if((J|0)<(E|0)){w=f[g>>2]|0;y=X(w,K)|0;x=f[i>>2]|0;v=q+((X(y,x)|0)<<1)|0;y=t+(K<<2)|0;f[y>>2]=v;f[t+((f[l>>2]|0)+K<<2)>>2]=v;v=(f[G>>2]|0)+(X(f[O>>2]|0,J)|0)|0;li[f[z>>2]&127](v,x,f[N>>2]|0,f[M>>2]|0,f[y>>2]|0,w,f[H>>2]|0)}else{w=f[t+(J-E<<2)>>2]|0;f[t+(K<<2)>>2]=w;f[t+((f[l>>2]|0)+K<<2)>>2]=w}w=L+1|0;J=K+1|0;if((w|0)>=(D|0)){V=w;W=J;break c}L=w;K=J;I=f[A>>2]|0}}else{V=S;W=T}while(0);if((B|0)<0){E=a+52|0;I=a+4|0;K=a+12|0;L=a+32|0;M=a+40|0;N=B;while(1){z=lM(N,f[A>>2]|0,f[H>>2]|0)|0;if((z|0)<(D|0)){O=f[t+(z<<2)>>2]|0;G=f[l>>2]|0;f[t+(G+N<<2)>>2]=O;f[t+((G<<1)+N<<2)>>2]=O}else{O=f[l>>2]|0;G=O+N|0;J=f[g>>2]|0;w=X(G,J)|0;y=f[i>>2]|0;x=q+((X(w,y)|0)<<1)|0;w=t+(G<<2)|0;f[w>>2]=x;f[t+((O<<1)+N<<2)>>2]=x;x=(f[I>>2]|0)+(X(f[K>>2]|0,z)|0)|0;li[f[E>>2]&127](x,y,f[L>>2]|0,f[M>>2]|0,f[w>>2]|0,J,f[H>>2]|0)}if((N|0)<-1)N=N+1|0;else break}}N=a+56|0;M=a+36|0;L=a+8|0;E=a+16|0;K=(f[L>>2]|0)+(X(f[E>>2]|0,C)|0)|0;I=X(f[i>>2]|0,f[g>>2]|0)|0;Sh[f[N>>2]&255](t+(W<<2)|0,f[M>>2]|0,f[l>>2]|0,K,I);I=f[l>>2]|0;K=b+4|0;D=(f[K>>2]|0)+p|0;J=f[A>>2]|0;w=(W|0)%(I|0)|0;y=(D|0)<(J|0)?D:J;J=C+1|0;if((V|0)<(((y|0)<(I|0)?y:I)|0)){D=a+52|0;x=a+4|0;z=a+12|0;O=a+32|0;G=a+40|0;v=J;P=V;Q=w;R=I;while(1){I=f[g>>2]|0;Y=X(I,Q)|0;Z=f[i>>2]|0;_=q+((X(Y,Z)|0)<<1)|0;Y=t+(Q<<2)|0;f[Y>>2]=_;f[t+(R+Q<<2)>>2]=_;_=(f[x>>2]|0)+(X(f[z>>2]|0,P)|0)|0;li[f[D>>2]&127](_,Z,f[O>>2]|0,f[G>>2]|0,f[Y>>2]|0,I,f[H>>2]|0);I=f[l>>2]|0;Y=(Q+1|0)%(I|0)|0;Z=(f[L>>2]|0)+(X(f[E>>2]|0,v)|0)|0;_=X(f[i>>2]|0,f[g>>2]|0)|0;Sh[f[N>>2]&255](t+(Y<<2)|0,f[M>>2]|0,I,Z,_);_=P+1|0;Z=v+1|0;R=f[l>>2]|0;if((_|0)>=(((y|0)<(R|0)?y:R)|0)){$=Z;aa=_;ba=Y;break}else{v=Z;P=_;Q=Y}}}else{$=J;aa=V;ba=w}if((aa|0)<(y|0)){Q=a+52|0;P=a+4|0;v=a+12|0;R=a+32|0;G=a+40|0;O=$;D=aa;z=ba;while(1){x=(f[P>>2]|0)+(X(f[v>>2]|0,D)|0)|0;li[f[Q>>2]&127](x,f[i>>2]|0,f[R>>2]|0,f[G>>2]|0,f[t+(z<<2)>>2]|0,f[g>>2]|0,f[H>>2]|0);x=f[l>>2]|0;Y=(z+1|0)%(x|0)|0;_=(f[L>>2]|0)+(X(f[E>>2]|0,O)|0)|0;Z=X(f[i>>2]|0,f[g>>2]|0)|0;Sh[f[N>>2]&255](t+(Y<<2)|0,f[M>>2]|0,x,_,Z);Z=D+1|0;_=O+1|0;if((Z|0)<(y|0)){O=_;D=Z;z=Y}else{ca=_;da=Z;ea=Y;break}}}else{ca=$;da=aa;ea=ba}if((da|0)>=((f[K>>2]|0)+p|0))break;z=a+52|0;D=a+4|0;O=a+12|0;y=a+32|0;G=a+40|0;R=ca;Q=da;v=ea;while(1){P=lM(Q,f[A>>2]|0,f[H>>2]|0)|0;w=Q-P|0;J=f[l>>2]|0;if((w|0)>(J|0)){Y=(f[D>>2]|0)+(X(f[O>>2]|0,P)|0)|0;li[f[z>>2]&127](Y,f[i>>2]|0,f[y>>2]|0,f[G>>2]|0,f[t+(v<<2)>>2]|0,f[g>>2]|0,f[H>>2]|0);fa=f[l>>2]|0}else{Y=f[t+(((v-w+J|0)%(J|0)|0)<<2)>>2]|0;f[t+(v<<2)>>2]=Y;f[t+(J+v<<2)>>2]=Y;fa=J}v=(v+1|0)%(fa|0)|0;J=(f[L>>2]|0)+(X(f[E>>2]|0,R)|0)|0;Y=X(f[i>>2]|0,f[g>>2]|0)|0;Sh[f[N>>2]&255](t+(v<<2)|0,f[M>>2]|0,fa,J,Y);Q=Q+1|0;if((Q|0)>=((f[K>>2]|0)+p|0))break a;else R=R+1|0}}R=C+F|0;K=a+24|0;Q=f[K>>2]|0;M=(Q|0)<(R|0)?Q:R;R=(B|0)>0;Q=R?B:0;d:do if((Q|0)<(M|0)){v=a+52|0;N=a+4|0;E=a+12|0;L=a+32|0;G=a+40|0;y=Q;z=0;O=h;D=j;A=m;Y=0;while(1){J=q+((X(X(O,z)|0,D)|0)<<1)|0;w=t+(z<<2)|0;f[w>>2]=J;f[t+(A+z<<2)>>2]=J;J=(f[N>>2]|0)+(X(f[E>>2]|0,y)|0)|0;li[f[v>>2]&127](J,D,f[L>>2]|0,f[G>>2]|0,f[w>>2]|0,O,Y);ga=y+1|0;ha=z+1|0;if((ga|0)>=(M|0))break;y=ga;z=ha;O=f[g>>2]|0;D=f[i>>2]|0;A=f[l>>2]|0;Y=f[H>>2]|0}switch(z|0){case 0:{Y=(f[a+8>>2]|0)+(X(f[a+16>>2]|0,C)|0)|0;x1(t,(f[a+36>>2]|0)+((R?0:0-B|0)<<1)|0,1,Y,X(f[i>>2]|0,f[g>>2]|0)|0);ia=1;ja=ga;break d;break}case 2:{Y=(f[a+8>>2]|0)+(X(f[a+16>>2]|0,C)|0)|0;z1(t,(f[a+36>>2]|0)+((R?0:0-B|0)<<1)|0,3,Y,X(f[i>>2]|0,f[g>>2]|0)|0);ia=3;ja=ga;break d;break}default:{ka=ha;la=ga;ma=47;break d}}}else{ka=0;la=Q;ma=47}while(0);do if((ma|0)==47){M=(f[a+36>>2]|0)+((R?0:0-B|0)<<1)|0;F=(f[a+8>>2]|0)+(X(f[a+16>>2]|0,C)|0)|0;Y=X(f[i>>2]|0,f[g>>2]|0)|0;if((ka|0)==5){B1(t,M,5,F,Y);ia=5;ja=la;break}else{C1(t,M,ka,F,Y);ia=ka;ja=la;break}}while(0);B=f[l>>2]|0;R=b+4|0;Y=(f[R>>2]|0)+p|0;F=f[K>>2]|0;M=(ia|0)%(B|0)|0;A=(Y|0)<(F|0)?Y:F;F=C+1|0;if((ja|0)<(((A|0)<(B|0)?A:B)|0)){Y=a+52|0;D=a+4|0;O=a+12|0;y=a+32|0;G=a+40|0;L=a+36|0;v=a+8|0;E=a+16|0;N=F;w=ja;J=M;P=B;while(1){Z=f[g>>2]|0;_=X(Z,J)|0;x=f[i>>2]|0;I=q+((X(_,x)|0)<<1)|0;_=t+(J<<2)|0;f[_>>2]=I;f[t+(P+J<<2)>>2]=I;I=(f[D>>2]|0)+(X(f[O>>2]|0,w)|0)|0;li[f[Y>>2]&127](I,x,f[y>>2]|0,f[G>>2]|0,f[_>>2]|0,Z,f[H>>2]|0);Z=J+1|0;do if((Z|0)!=3){_=(f[L>>2]|0)+(f[l>>2]<<1)+(~J<<1)|0;x=w+1|0;I=(f[v>>2]|0)+(X(f[E>>2]|0,N)|0)|0;na=X(f[i>>2]|0,f[g>>2]|0)|0;if((Z|0)==5){B1(t,_,x,I,na);oa=x;break}else{C1(t,_,x,I,na);oa=x;break}}else{x=w+1|0;na=(f[v>>2]|0)+(X(f[E>>2]|0,N)|0)|0;z1(t,(f[L>>2]|0)+(f[l>>2]<<1)+(~J<<1)|0,x,na,X(f[i>>2]|0,f[g>>2]|0)|0);oa=x}while(0);z=f[l>>2]|0;x=(Z|0)%(z|0)|0;na=N+1|0;if((oa|0)<(((A|0)<(z|0)?A:z)|0)){N=na;w=oa;J=x;P=z}else{pa=na;qa=x;ra=oa;sa=z;break}}}else{pa=F;qa=M;ra=ja;sa=B}if((ra-Q|0)>=(sa|0)){if((ra|0)<(A|0)){P=a+52|0;J=a+4|0;w=a+12|0;N=a+32|0;L=a+40|0;E=a+56|0;v=a+36|0;G=a+8|0;y=a+16|0;Y=pa;O=ra;D=qa;while(1){C=(f[J>>2]|0)+(X(f[w>>2]|0,O)|0)|0;li[f[P>>2]&127](C,f[i>>2]|0,f[N>>2]|0,f[L>>2]|0,f[t+(D<<2)>>2]|0,f[g>>2]|0,f[H>>2]|0);C=f[l>>2]|0;p=(D+1|0)%(C|0)|0;z=(f[G>>2]|0)+(X(f[y>>2]|0,Y)|0)|0;x=X(f[i>>2]|0,f[g>>2]|0)|0;Sh[f[E>>2]&255](t+(p<<2)|0,f[v>>2]|0,C,z,x);O=O+1|0;x=Y+1|0;if((O|0)>=(A|0)){ta=x;ua=p;break}else{Y=x;D=p}}}else{ta=pa;ua=qa}D=ta-s|0;if((D|0)>=((f[R>>2]|0)-s|0))break;Y=a+36|0;A=a+8|0;O=a+16|0;v=ta;E=D;D=(ua+1|0)%(f[l>>2]|0)|0;while(1){y=(f[K>>2]|0)-E|0;do if((y|0)!=3){G=t+(D<<2)|0;H=f[Y>>2]|0;L=(f[A>>2]|0)+(X(f[O>>2]|0,v)|0)|0;N=X(f[i>>2]|0,f[g>>2]|0)|0;if((y|0)==5){B1(G,H,5,L,N);break}else{C1(G,H,y,L,N);break}}else{N=(f[A>>2]|0)+(X(f[O>>2]|0,v)|0)|0;z1(t+(D<<2)|0,f[Y>>2]|0,3,N,X(f[i>>2]|0,f[g>>2]|0)|0)}while(0);E=E+1|0;if((E|0)>=((f[R>>2]|0)-s|0))break a;else{v=v+1|0;D=D+1|0}}}D=pa-s|0;v=f[R>>2]|0;E=v-s|0;if((D|0)<(((E|0)<0?E:0)|0)){E=a+36|0;Y=a+8|0;O=a+16|0;A=pa;y=D;while(1){Z=f[K>>2]|0;do if((Z|0)!=3){N=(f[E>>2]|0)+(0-y<<1)|0;L=(f[Y>>2]|0)+(X(f[O>>2]|0,A)|0)|0;H=X(f[i>>2]|0,f[g>>2]|0)|0;if((Z|0)==5){B1(t,N,5,L,H);break}else{C1(t,N,Z,L,H);break}}else{H=(f[Y>>2]|0)+(X(f[O>>2]|0,A)|0)|0;z1(t,(f[E>>2]|0)+(0-y<<1)|0,3,H,X(f[i>>2]|0,f[g>>2]|0)|0)}while(0);Z=y+1|0;H=A+1|0;L=f[R>>2]|0;N=L-s|0;if((Z|0)<(((N|0)<0?N:0)|0)){A=H;y=Z}else{va=H;wa=Z;xa=L;break}}}else{va=pa;wa=D;xa=v}if((wa|0)<(xa-s|0)){y=0-Q|0;A=a+36|0;E=a+8|0;O=a+16|0;Y=va;L=wa;while(1){Z=(f[K>>2]|0)-L|0;do if((Z|0)!=3){H=t+(L<<2)+(y<<2)|0;N=f[A>>2]|0;G=(f[E>>2]|0)+(X(f[O>>2]|0,Y)|0)|0;P=X(f[i>>2]|0,f[g>>2]|0)|0;if((Z|0)==5){B1(H,N,5,G,P);break}else{C1(H,N,Z,G,P);break}}else{P=(f[E>>2]|0)+(X(f[O>>2]|0,Y)|0)|0;z1(t+(L<<2)+(y<<2)|0,f[A>>2]|0,3,P,X(f[i>>2]|0,f[g>>2]|0)|0)}while(0);L=L+1|0;if((L|0)>=((f[R>>2]|0)-s|0))break;else Y=Y+1|0}}}while(0);g=f[e>>2]|0;if((g|0)!=(n|0)){if(g|0)HQa(g);f[e>>2]=n;f[r>>2]=264}r=f[d>>2]|0;if((r|0)==(k|0)){u=c;return}if(r|0)HQa(r);f[d>>2]=k;f[o>>2]=520;u=c;return}function F1(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0.0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0.0,jc=0.0,kc=0.0,lc=0.0,mc=0.0,nc=0.0,oc=0.0,pc=0,qc=0,rc=0.0,sc=0,tc=0;g=u;u=u+6608|0;i=g+4096|0;k=g;l=g+6272|0;m=g+6584|0;o=g+6576|0;p=g+6572|0;q=g+6568|0;r=g+6552|0;t=g+6548|0;v=g+6544|0;w=g+6540|0;x=g+6536|0;y=g+6532|0;z=g+6528|0;A=g+6524|0;B=g+6520|0;C=g+6516|0;D=g+6512|0;E=g+6508|0;F=g+6504|0;G=g+6500|0;H=g+6496|0;I=g+6492|0;J=g+6488|0;K=g+6484|0;L=g+6480|0;M=g+6472|0;N=g+6416|0;O=g+6560|0;P=g+6360|0;Q=g+6304|0;yV(M,45240);if(!(((e|0)%2|0|0)==1?(RJ(a,-1)|0)<3:0)){f[i>>2]=0;f[i+4>>2]=0;R=JV(i,40)|0;S=195807;T=R+40|0;do{b[R>>0]=b[S>>0]|0;R=R+1|0;S=S+1|0}while((R|0)<(T|0));EP(-215,i,195848,193076,4546);KV(i)}if((e|0)>=2?!(VJ(a)|0):0){do if((HJ(a)|0)==65536){U=f[a+4>>2]|0;f[N>>2]=f[U>>2];V=N+4|0;W=U+4|0;f[V>>2]=f[W>>2];Y=N+8|0;f[Y>>2]=f[U+8>>2];f[N+12>>2]=f[U+12>>2];f[N+16>>2]=f[U+16>>2];f[N+20>>2]=f[U+20>>2];f[N+24>>2]=f[U+24>>2];f[N+28>>2]=f[U+28>>2];f[N+32>>2]=f[U+32>>2];Z=f[U+36>>2]|0;f[N+36>>2]=Z;_=N+40|0;f[_>>2]=Y;Y=N+48|0;$=N+44|0;f[$>>2]=Y;f[Y>>2]=0;f[N+52>>2]=0;if(Z|0){Y=Z+12|0;f[Y>>2]=(f[Y>>2]|0)+1}if((f[W>>2]|0)<3){W=f[U+44>>2]|0;Y=f[$>>2]|0;f[Y>>2]=f[W>>2];f[Y+4>>2]=f[W+4>>2];aa=N;ba=_;break}else{f[V>>2]=0;WO(N,U);aa=N;ba=_;break}}else{DJ(N,a,-1);aa=N;ba=N+40|0}while(0);_=f[ba>>2]|0;U=f[_>>2]|0;f[O>>2]=f[_+4>>2];f[O+4>>2]=U;_J(c,O,f[aa>>2]&4095,-1,0,0);do if((HJ(c)|0)==65536){O=f[c+4>>2]|0;f[P>>2]=f[O>>2];U=P+4|0;_=O+4|0;f[U>>2]=f[_>>2];V=P+8|0;f[V>>2]=f[O+8>>2];f[P+12>>2]=f[O+12>>2];W=P+16|0;f[W>>2]=f[O+16>>2];f[P+20>>2]=f[O+20>>2];f[P+24>>2]=f[O+24>>2];f[P+28>>2]=f[O+28>>2];f[P+32>>2]=f[O+32>>2];Y=f[O+36>>2]|0;f[P+36>>2]=Y;f[P+40>>2]=V;V=P+48|0;$=P+44|0;f[$>>2]=V;f[V>>2]=0;f[P+52>>2]=0;if(Y|0){V=Y+12|0;f[V>>2]=(f[V>>2]|0)+1}if((f[_>>2]|0)<3){_=f[O+44>>2]|0;V=f[$>>2]|0;f[V>>2]=f[_>>2];f[V+4>>2]=f[_+4>>2];ca=W;break}else{f[U>>2]=0;WO(P,O);ca=W;break}}else{DJ(P,c,-1);ca=P+16|0}while(0);W=N+16|0;O=N+12|0;U=N+8|0;switch(e|0){case 3:{da=1;break}case 5:{_=f[aa>>2]|0;if(!(_&7)){V=_>>>3&511;da=(V|0)==1|V>>>0>3}else da=1;break}default:da=0}f[Q>>2]=1124007936;V=Q+4|0;_=Q+8|0;$=Q+40|0;R=V;T=R+36|0;do{f[R>>2]=0;R=R+4|0}while((R|0)<(T|0));f[$>>2]=_;Y=Q+48|0;Z=Q+44|0;f[Z>>2]=Y;f[Y>>2]=0;f[Q+52>>2]=0;a:do if(!da){f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=N;ea=k+8|0;f[ea>>2]=0;f[ea+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=Q;ea=e>>>1;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[l+24>>2]=0;f[l+28>>2]=0;mM(i,k,0,0,ea,ea,17,l);if(!(f[Q>>2]&7))switch((f[aa>>2]|0)>>>3&511){case 0:case 2:case 3:break;default:fa=143}else fa=143;if((fa|0)==143){f[i>>2]=0;f[i+4>>2]=0;R=JV(i,51)|0;S=195859;T=R+51|0;do{b[R>>0]=b[S>>0]|0;R=R+1|0;S=S+1|0}while((R|0)<(T|0));EP(-215,i,195848,193076,4606);KV(i)}ga=f[N+4>>2]|0;if((ga|0)<3)ha=X(f[O>>2]|0,f[U>>2]|0)|0;else{ia=f[ba>>2]|0;ja=0;ka=1;while(1){la=X(f[ia+(ja<<2)>>2]|0,ka)|0;ja=ja+1|0;if((ja|0)==(ga|0)){ha=la;break}else ka=la}}ma=+(ha>>>0)*9.5367431640625e-07;if(((ma<1.0?39:ma<4.0?21:9)|0)>=(e|0)){ka=(X(e,e)|0)>>>1;ga=f[P+40>>2]|0;ja=f[ga+4>>2]|0;ia=f[ga>>2]|0;ga=f[Q+16>>2]|0;la=f[ca>>2]|0;na=f[Y>>2]|0;oa=f[P+48>>2]|0;pa=(f[Q>>2]|0)>>>3;qa=pa&511;ra=qa+1|0;sa=ga+(X(na,ia)|0)|0;if(qa>>>0>=4){f[l>>2]=0;f[l+4>>2]=0;R=JV(l,17)|0;S=195911;T=R+17|0;do{b[R>>0]=b[S>>0]|0;R=R+1|0;S=S+1|0}while((R|0)<(T|0));EP(-215,l,195929,193076,3841);KV(l)}if((ja|0)>0){qa=ia+-1|0;ta=X(na,qa)|0;ua=X(oa,qa)|0;va=0-na|0;wa=0-oa|0;xa=ra<<6;ya=ra<<10;za=(e|0)<-1;Aa=(ia|0)>0;Ba=pa&65535;Ca=e<<2;Da=(e|0)>0;Ea=e*3|0;Fa=X(ra,e)|0;Ga=(Fa|0)>0;Ha=ea+1|0;Ia=(na|0)!=0;Ja=ga;Ka=la;La=0;while(1){Ma=(La&1|0)==0;Na=Ma?oa:wa;Oa=Ma?na:va;Pa=Ma?Ja:Ja+ta|0;Qa=Ma?Ka:Ka+ua|0;FVa(i|0,0,xa|0)|0;FVa(k|0,0,ya|0)|0;b:do if(za)Ra=Pa;else{Ma=(Oa|0)>0;if(Ga){Sa=0;Ta=Pa}else{Ua=0;Va=Pa;while(1){if(Ma)if((Ua|0)<(qa|0))fa=172;else Wa=Va;else if(Ia&(ia-Ua|0)>1)fa=172;else Wa=Va;if((fa|0)==172){fa=0;Wa=Va+Oa|0}Ua=Ua+1|0;if((Ua|0)==(Ha|0)){Ra=Wa;break b}else Va=Wa}}while(1){if((Sa|0)>0){Va=0;do{Ua=0;do{Xa=h[Ta+(Ua+Va)>>0]|0;Ya=k+(Va<<10)+(Xa<<2)|0;f[Ya>>2]=(f[Ya>>2]|0)+1;Ya=i+(Va<<6)+(Xa>>>4<<2)|0;f[Ya>>2]=(f[Ya>>2]|0)+1;Ua=Ua+ra|0}while((Ua|0)<(Fa|0));Va=Va+1|0}while((Va|0)!=(ra|0))}else{Va=0;do{Ua=0;do{Ya=h[Ta+(Ua+Va)>>0]|0;Xa=k+(Va<<10)+(Ya<<2)|0;f[Xa>>2]=(f[Xa>>2]|0)+Ha;Xa=i+(Va<<6)+(Ya>>>4<<2)|0;f[Xa>>2]=(f[Xa>>2]|0)+Ha;Ua=Ua+ra|0}while((Ua|0)<(Fa|0));Va=Va+1|0}while((Va|0)!=(ra|0))}if(Ma)if((Sa|0)<(qa|0))fa=162;else Za=Ta;else if(Ia&(ia-Sa|0)>1)fa=162;else Za=Ta;if((fa|0)==162){fa=0;Za=Ta+Oa|0}Sa=Sa+1|0;if((Sa|0)==(Ha|0)){Ra=Za;break}else Ta=Za}}while(0);c:do if(Aa){Ma=(Oa|0)<1;Va=(Oa|0)>-1;Ua=Qa;Xa=Pa;Ya=0;_a=Ra;while(1){$a=0;do{ab=0;bb=0;while(1){cb=(f[i+($a<<6)+(bb<<2)>>2]|0)+ab|0;if((cb|0)>(ka|0))break;else{ab=cb;bb=bb+1|0}}cb=ab;db=bb<<4;while(1){cb=(f[k+($a<<10)+(db<<2)>>2]|0)+cb|0;if((cb|0)>(ka|0))break;else db=db+1|0}b[Ua+$a>>0]=db;$a=$a+1|0}while(($a|0)!=(ra|0));$a=Ya+1|0;if(($a|0)==(ia|0))break c;d:do switch(Ba&511){case 0:{if(Da)eb=0;else break d;do{cb=h[Xa+eb>>0]|0;bb=h[_a+eb>>0]|0;ab=k+(cb<<2)|0;f[ab>>2]=(f[ab>>2]|0)+-1;ab=i+(cb>>>4<<2)|0;f[ab>>2]=(f[ab>>2]|0)+-1;ab=k+(bb<<2)|0;f[ab>>2]=(f[ab>>2]|0)+1;ab=i+(bb>>>4<<2)|0;f[ab>>2]=(f[ab>>2]|0)+1;eb=eb+1|0}while((eb|0)!=(e|0));break}case 2:{if(Da)fb=0;else break d;do{db=h[Xa+fb>>0]|0;ab=k+(db<<2)|0;f[ab>>2]=(f[ab>>2]|0)+-1;ab=i+(db>>>4<<2)|0;f[ab>>2]=(f[ab>>2]|0)+-1;ab=fb+1|0;db=h[Xa+ab>>0]|0;bb=k+1024+(db<<2)|0;f[bb>>2]=(f[bb>>2]|0)+-1;bb=i+64+(db>>>4<<2)|0;f[bb>>2]=(f[bb>>2]|0)+-1;bb=fb+2|0;db=h[Xa+bb>>0]|0;cb=k+2048+(db<<2)|0;f[cb>>2]=(f[cb>>2]|0)+-1;cb=i+128+(db>>>4<<2)|0;f[cb>>2]=(f[cb>>2]|0)+-1;cb=h[_a+fb>>0]|0;db=k+(cb<<2)|0;f[db>>2]=(f[db>>2]|0)+1;db=i+(cb>>>4<<2)|0;f[db>>2]=(f[db>>2]|0)+1;db=h[_a+ab>>0]|0;ab=k+1024+(db<<2)|0;f[ab>>2]=(f[ab>>2]|0)+1;ab=i+64+(db>>>4<<2)|0;f[ab>>2]=(f[ab>>2]|0)+1;ab=h[_a+bb>>0]|0;bb=k+2048+(ab<<2)|0;f[bb>>2]=(f[bb>>2]|0)+1;bb=i+128+(ab>>>4<<2)|0;f[bb>>2]=(f[bb>>2]|0)+1;fb=fb+3|0}while((fb|0)<(Ea|0));break}default:{if(Da)gb=0;else break d;do{bb=h[Xa+gb>>0]|0;ab=k+(bb<<2)|0;f[ab>>2]=(f[ab>>2]|0)+-1;ab=i+(bb>>>4<<2)|0;f[ab>>2]=(f[ab>>2]|0)+-1;ab=gb|1;bb=h[Xa+ab>>0]|0;db=k+1024+(bb<<2)|0;f[db>>2]=(f[db>>2]|0)+-1;db=i+64+(bb>>>4<<2)|0;f[db>>2]=(f[db>>2]|0)+-1;db=gb|2;bb=h[Xa+db>>0]|0;cb=k+2048+(bb<<2)|0;f[cb>>2]=(f[cb>>2]|0)+-1;cb=i+128+(bb>>>4<<2)|0;f[cb>>2]=(f[cb>>2]|0)+-1;cb=gb|3;bb=h[Xa+cb>>0]|0;hb=k+3072+(bb<<2)|0;f[hb>>2]=(f[hb>>2]|0)+-1;hb=i+192+(bb>>>4<<2)|0;f[hb>>2]=(f[hb>>2]|0)+-1;hb=h[_a+gb>>0]|0;bb=k+(hb<<2)|0;f[bb>>2]=(f[bb>>2]|0)+1;bb=i+(hb>>>4<<2)|0;f[bb>>2]=(f[bb>>2]|0)+1;bb=h[_a+ab>>0]|0;ab=k+1024+(bb<<2)|0;f[ab>>2]=(f[ab>>2]|0)+1;ab=i+64+(bb>>>4<<2)|0;f[ab>>2]=(f[ab>>2]|0)+1;ab=h[_a+db>>0]|0;db=k+2048+(ab<<2)|0;f[db>>2]=(f[db>>2]|0)+1;db=i+128+(ab>>>4<<2)|0;f[db>>2]=(f[db>>2]|0)+1;db=h[_a+cb>>0]|0;cb=k+3072+(db<<2)|0;f[cb>>2]=(f[cb>>2]|0)+1;cb=i+192+(db>>>4<<2)|0;f[cb>>2]=(f[cb>>2]|0)+1;gb=gb+4|0}while((gb|0)<(Ca|0))}}while(0);cb=_a+Oa|0;if(($a|0)<(ia|0)){Ua=Ua+Na|0;Xa=(Ya|0)<(ea|0)?Xa:Xa+Oa|0;Ya=$a;_a=(Ma|cb>>>0>=sa>>>0)&(Va|cb>>>0>>0)?_a:cb}else break c}}while(0);La=La+1|0;if((La|0)==(ja|0))break;else{Ja=Ja+ra|0;Ka=Ka+ra|0}}}break}ra=(f[P>>2]|0)>>>3&511;Ka=ra+1|0;Ja=f[P+8>>2]|0;ja=(e+-1|0)/2|0;if(ra>>>0>=4){f[i>>2]=0;f[i+4>>2]=0;R=JV(i,17)|0;S=195911;T=R+17|0;do{b[R>>0]=b[S>>0]|0;R=R+1|0;S=S+1|0}while((R|0)<(T|0));EP(-215,i,195946,193076,3635);KV(i)}La=f[Y>>2]|0;sa=f[P+48>>2]|0;ea=P+12|0;ia=512/(Ka>>>0)|0;Ca=f[ea>>2]|0;Da=(ia|0)<(Ca|0)?ia:Ca;ia=ja<<1;Ea=Da+ia|0;Ba=X(Ea<<4,Ka)|0;ka=Ba+16|0;f[l>>2]=0;Aa=l+4|0;f[Aa>>2]=0;f[l+8>>2]=0;do if(ka)if((Ba|0)<-16)ZOa(l);else{Ha=ka<<1;Ia=EQa(Ha)|0;f[l>>2]=Ia;qa=Ia+(ka<<1)|0;f[l+8>>2]=qa;FVa(Ia|0,0,Ha|0)|0;f[Aa>>2]=qa;ib=Ia;break}else ib=0;while(0);ka=X(Ka<<8,Ea)|0|16;f[m>>2]=0;Ba=m+4|0;f[Ba>>2]=0;f[m+8>>2]=0;if((ka|0)<0)ZOa(m);Ia=ka<<1;qa=EQa(Ia)|0;f[m>>2]=qa;Ha=qa+(ka<<1)|0;f[m+8>>2]=Ha;FVa(qa|0,0,Ia|0)|0;f[Ba>>2]=Ha;Ia=ib+15&-16;ka=Ia;Fa=qa+15&-16;Ga=Fa;if((Ca|0)>0){za=Q+16|0;ya=Ia;Ia=Ka<<1;xa=Fa;Fa=Ka<<9;ua=ja+2|0;ta=(e|0)>4;va=Ja+-1|0;na=(Ja|0)>0;wa=Ka*544|0;oa=Ka<<5;la=ia|1;ga=(e|0)>2;pa=(X(ia,ja)|0)+ia|0;Oa=o+4|0;Na=o+4|0;Pa=0;Qa=Ca;do{_a=Qa-Pa|0;Va=((Da|0)<(_a|0)?Da:_a)+ia|0;_a=(f[za>>2]|0)+(X(Pa,Ka)|0)|0;Ma=f[ca>>2]|0;Ya=X(Pa-ja|0,Ka)|0;Xa=Va<<4;FVa(ya|0,0,X(Ia,Xa)|0)|0;FVa(xa|0,0,X(Fa,Va)|0)|0;Ua=(Va|0)>0;if(Ua){cb=0;do{db=X(cb,Va)|0;ab=cb<<4;bb=0;do{hb=_a+((X(bb,Ka)|0)+cb)|0;jb=ka+(((h[hb>>0]|0)>>>4|bb+db<<4)<<1)|0;d[jb>>1]=ua+(j[jb>>1]|0);jb=h[hb>>0]|0;hb=Ga+(((X(jb>>>4|ab,Va)|0)+bb<<4|jb&15)<<1)|0;d[hb>>1]=ua+(j[hb>>1]|0);bb=bb+1|0}while((bb|0)<(Va|0));if(ta){bb=1;do{hb=_a+(X((va|0)<(bb|0)?va:bb,La)|0)|0;jb=0;do{kb=hb+((X(jb,Ka)|0)+cb)|0;lb=ka+(((h[kb>>0]|0)>>>4|jb+db<<4)<<1)|0;d[lb>>1]=(d[lb>>1]|0)+1<<16>>16;lb=h[kb>>0]|0;kb=Ga+(((X(lb>>>4|ab,Va)|0)+jb<<4|lb&15)<<1)|0;d[kb>>1]=(d[kb>>1]|0)+1<<16>>16;jb=jb+1|0}while((jb|0)<(Va|0));bb=bb+1|0}while((bb|0)<(ja|0))}cb=cb+1|0}while((cb|0)!=(Ka|0))}cb=Ma+Ya|0;if(na){bb=Va-ja|0;ab=(ja|0)<(bb|0);db=Va+-1|0;jb=0;do{hb=jb-ja+-1|0;$a=_a+(X((hb|0)>0?hb:0,La)|0)|0;hb=jb+ja|0;kb=_a+(X((hb|0)<(va|0)?hb:va,La)|0)|0;FVa(i|0,0,wa|0)|0;FVa(k|0,0,oa|0)|0;hb=X(jb,sa)|0;lb=0;while(1){if(Ua){mb=X(lb,Va)|0;nb=lb<<4;ob=0;do{pb=ob+mb<<4;qb=(X(ob,Ka)|0)+lb|0;rb=$a+qb|0;sb=ka+(((h[rb>>0]|0)>>>4|pb)<<1)|0;d[sb>>1]=(d[sb>>1]|0)+-1<<16>>16;sb=h[rb>>0]|0;rb=Ga+(((X(sb>>>4|nb,Va)|0)+ob<<4|sb&15)<<1)|0;d[rb>>1]=(d[rb>>1]|0)+-1<<16>>16;rb=kb+qb|0;qb=ka+(((h[rb>>0]|0)>>>4|pb)<<1)|0;d[qb>>1]=(d[qb>>1]|0)+1<<16>>16;qb=h[rb>>0]|0;rb=Ga+(((X(qb>>>4|nb,Va)|0)+ob<<4|qb&15)<<1)|0;d[rb>>1]=(d[rb>>1]|0)+1<<16>>16;ob=ob+1|0}while((ob|0)<(Va|0));tb=nb}else tb=lb<<4;H1(la,Ga+((X(tb,Xa)|0)<<1)|0,i+(lb*544|0)+32|0);H1(la,Ga+((X(tb|1,Xa)|0)<<1)|0,i+(lb*544|0)+64|0);H1(la,Ga+((X(tb|2,Xa)|0)<<1)|0,i+(lb*544|0)+96|0);H1(la,Ga+((X(tb|3,Xa)|0)<<1)|0,i+(lb*544|0)+128|0);H1(la,Ga+((X(tb|4,Xa)|0)<<1)|0,i+(lb*544|0)+160|0);H1(la,Ga+((X(tb|5,Xa)|0)<<1)|0,i+(lb*544|0)+192|0);H1(la,Ga+((X(tb|6,Xa)|0)<<1)|0,i+(lb*544|0)+224|0);H1(la,Ga+((X(tb|7,Xa)|0)<<1)|0,i+(lb*544|0)+256|0);H1(la,Ga+((X(tb|8,Xa)|0)<<1)|0,i+(lb*544|0)+288|0);H1(la,Ga+((X(tb|9,Xa)|0)<<1)|0,i+(lb*544|0)+320|0);H1(la,Ga+((X(tb|10,Xa)|0)<<1)|0,i+(lb*544|0)+352|0);H1(la,Ga+((X(tb|11,Xa)|0)<<1)|0,i+(lb*544|0)+384|0);H1(la,Ga+((X(tb|12,Xa)|0)<<1)|0,i+(lb*544|0)+416|0);H1(la,Ga+((X(tb|13,Xa)|0)<<1)|0,i+(lb*544|0)+448|0);H1(la,Ga+((X(tb|14,Xa)|0)<<1)|0,i+(lb*544|0)+480|0);H1(la,Ga+((X(tb|15,Xa)|0)<<1)|0,i+(lb*544|0)+512|0);if(ga){nb=X(lb,Va)|0;ob=i+(lb*544|0)|0;mb=0;do{I1(ka+(mb+nb<<4<<1)|0,ob);mb=mb+1|0}while((mb|0)<(ia|0))}if(ab){mb=X(lb,Va)|0;ob=i+(lb*544|0)|0;nb=lb+hb|0;rb=i+(lb*544|0)+2|0;qb=i+(lb*544|0)+4|0;pb=i+(lb*544|0)+6|0;sb=i+(lb*544|0)+8|0;ub=i+(lb*544|0)+10|0;vb=i+(lb*544|0)+12|0;wb=i+(lb*544|0)+14|0;xb=i+(lb*544|0)+16|0;yb=i+(lb*544|0)+18|0;zb=i+(lb*544|0)+20|0;Ab=i+(lb*544|0)+22|0;Bb=i+(lb*544|0)+24|0;Cb=i+(lb*544|0)+26|0;Db=i+(lb*544|0)+28|0;Eb=i+(lb*544|0)+30|0;Fb=ja;do{Gb=Fb+ja|0;I1(ka+(((db|0)<(Gb|0)?db:Gb)+mb<<4<<1)|0,ob);Hb=j[ob>>1]|0;do if((pa|0)<(Hb|0)){Ib=0;Jb=0}else{Kb=(j[rb>>1]|0)+Hb|0;if((Kb|0)>(pa|0)){Ib=Hb;Jb=1;break}Lb=Kb+(j[qb>>1]|0)|0;if((Lb|0)>(pa|0)){Ib=Kb;Jb=2;break}Kb=Lb+(j[pb>>1]|0)|0;if((Kb|0)>(pa|0)){Ib=Lb;Jb=3;break}Lb=Kb+(j[sb>>1]|0)|0;if((Lb|0)>(pa|0)){Ib=Kb;Jb=4;break}Kb=Lb+(j[ub>>1]|0)|0;if((Kb|0)>(pa|0)){Ib=Lb;Jb=5;break}Lb=Kb+(j[vb>>1]|0)|0;if((Lb|0)>(pa|0)){Ib=Kb;Jb=6;break}Kb=Lb+(j[wb>>1]|0)|0;if((Kb|0)>(pa|0)){Ib=Lb;Jb=7;break}Lb=Kb+(j[xb>>1]|0)|0;if((Lb|0)>(pa|0)){Ib=Kb;Jb=8;break}Kb=Lb+(j[yb>>1]|0)|0;if((Kb|0)>(pa|0)){Ib=Lb;Jb=9;break}Lb=Kb+(j[zb>>1]|0)|0;if((Lb|0)>(pa|0)){Ib=Kb;Jb=10;break}Kb=Lb+(j[Ab>>1]|0)|0;if((Kb|0)>(pa|0)){Ib=Lb;Jb=11;break}Lb=Kb+(j[Bb>>1]|0)|0;if((Lb|0)>(pa|0)){Ib=Kb;Jb=12;break}Kb=Lb+(j[Cb>>1]|0)|0;if((Kb|0)>(pa|0)){Ib=Lb;Jb=13;break}Lb=Kb+(j[Db>>1]|0)|0;if((Lb|0)>(pa|0)){Ib=Kb;Jb=14;break}Kb=Lb+(j[Eb>>1]|0)|0;if((Kb|0)>(pa|0)){Ib=Lb;Jb=15;break}f[o>>2]=0;f[Oa>>2]=0;Lb=JV(o,6)|0;b[Lb>>0]=b[195963]|0;b[Lb+1>>0]=b[195964]|0;b[Lb+2>>0]=b[195965]|0;b[Lb+3>>0]=b[195966]|0;b[Lb+4>>0]=b[195967]|0;b[Lb+5>>0]=b[195968]|0;EP(-215,o,195946,193076,3779);KV(o);Ib=Kb;Jb=16}while(0);Hb=k+(lb<<5)+(Jb<<1)|0;Kb=d[Hb>>1]|0;Lb=Kb&65535;Mb=Fb-ja|0;do if((Mb|0)<(Lb|0)){if((Gb|0)<(Lb|0))break;Nb=X(Jb+tb|0,Va)|0;Ob=i+(lb*544|0)+32+(Jb<<5)|0;Pb=Lb;Qb=Kb;do{Rb=Pb-ia|0;J1(Ga+(((Rb|0)<1?0:Rb+-1|0)+Nb<<4<<1)|0,Ob);Rb=Qb&65535;I1(Ga+(((Va|0)>(Rb|0)?Rb:db)+Nb<<4<<1)|0,Ob);Qb=Qb+1<<16>>16;d[Hb>>1]=Qb;Pb=Qb&65535}while((Gb|0)>=(Pb|0))}else{Pb=i+(lb*544|0)+32+(Jb<<5)|0;f[Pb>>2]=0;f[Pb+4>>2]=0;f[Pb+8>>2]=0;f[Pb+12>>2]=0;f[Pb+16>>2]=0;f[Pb+20>>2]=0;f[Pb+24>>2]=0;f[Pb+28>>2]=0;Qb=Mb&65535;d[Hb>>1]=Qb;Ob=Mb&65535;Nb=Gb+1|0;Rb=(Gb|0)<(Va|0)?Nb:Va;if((Rb|0)>(Ob|0)){Sb=X(Jb+tb|0,Va)|0;Tb=Ob;Ub=Qb;while(1){I1(Ga+(Tb+Sb<<4<<1)|0,Pb);Ub=Ub+1<<16>>16;d[Hb>>1]=Ub;Qb=Ub&65535;if((Rb|0)<=(Qb|0)){Vb=Qb;break}else Tb=Qb}}else Vb=Ob;if((Gb|0)<(Vb|0))break;H1(Nb-Va|0,Ga+((X(Jb+tb|0,Va)|0)+db<<4<<1)|0,Pb);d[Hb>>1]=Nb}while(0);J1(ka+(((Mb|0)>0?Mb:0)+mb<<4<<1)|0,ob);Hb=Ib+(j[i+(lb*544|0)+32+(Jb<<5)>>1]|0)|0;do if((Hb|0)>(pa|0)){Wb=0;fa=238}else{Gb=Hb+(j[i+(lb*544|0)+32+(Jb<<5)+2>>1]|0)|0;if((Gb|0)>(pa|0)){Wb=1;fa=238;break}Kb=Gb+(j[i+(lb*544|0)+32+(Jb<<5)+4>>1]|0)|0;if((Kb|0)>(pa|0)){Wb=2;fa=238;break}Gb=Kb+(j[i+(lb*544|0)+32+(Jb<<5)+6>>1]|0)|0;if((Gb|0)>(pa|0)){Wb=3;fa=238;break}Kb=Gb+(j[i+(lb*544|0)+32+(Jb<<5)+8>>1]|0)|0;if((Kb|0)>(pa|0)){Wb=4;fa=238;break}Gb=Kb+(j[i+(lb*544|0)+32+(Jb<<5)+10>>1]|0)|0;if((Gb|0)>(pa|0)){Wb=5;fa=238;break}Kb=Gb+(j[i+(lb*544|0)+32+(Jb<<5)+12>>1]|0)|0;if((Kb|0)>(pa|0)){Wb=6;fa=238;break}Gb=Kb+(j[i+(lb*544|0)+32+(Jb<<5)+14>>1]|0)|0;if((Gb|0)>(pa|0)){Wb=7;fa=238;break}Kb=Gb+(j[i+(lb*544|0)+32+(Jb<<5)+16>>1]|0)|0;if((Kb|0)>(pa|0)){Wb=8;fa=238;break}Gb=Kb+(j[i+(lb*544|0)+32+(Jb<<5)+18>>1]|0)|0;if((Gb|0)>(pa|0)){Wb=9;fa=238;break}Kb=Gb+(j[i+(lb*544|0)+32+(Jb<<5)+20>>1]|0)|0;if((Kb|0)>(pa|0)){Wb=10;fa=238;break}Gb=Kb+(j[i+(lb*544|0)+32+(Jb<<5)+22>>1]|0)|0;if((Gb|0)>(pa|0)){Wb=11;fa=238;break}Kb=Gb+(j[i+(lb*544|0)+32+(Jb<<5)+24>>1]|0)|0;if((Kb|0)>(pa|0)){Wb=12;fa=238;break}Gb=Kb+(j[i+(lb*544|0)+32+(Jb<<5)+26>>1]|0)|0;if((Gb|0)>(pa|0)){Wb=13;fa=238;break}Kb=Gb+(j[i+(lb*544|0)+32+(Jb<<5)+28>>1]|0)|0;if((Kb|0)>(pa|0)){Wb=14;fa=238;break}if((Kb+(j[i+(lb*544|0)+32+(Jb<<5)+30>>1]|0)|0)>(pa|0)){Wb=15;fa=238;break}f[o>>2]=0;f[Na>>2]=0;Kb=JV(o,6)|0;b[Kb>>0]=b[195970]|0;b[Kb+1>>0]=b[195971]|0;b[Kb+2>>0]=b[195972]|0;b[Kb+3>>0]=b[195973]|0;b[Kb+4>>0]=b[195974]|0;b[Kb+5>>0]=b[195975]|0;EP(-215,o,195946,193076,3816);KV(o)}while(0);if((fa|0)==238){fa=0;Hb=cb+(nb+(X(Fb,Ka)|0))|0;b[Hb>>0]=Wb|Jb<<4}Fb=Fb+1|0}while((Fb|0)<(bb|0))}if((lb|0)<(ra|0))lb=lb+1|0;else break}jb=jb+1|0}while((jb|0)<(Ja|0))}Pa=Pa+Da|0;Qa=f[ea>>2]|0}while((Qa|0)>(Pa|0));Pa=f[m>>2]|0;if(Pa|0){Xb=f[Ba>>2]|0;Yb=Pa;Zb=Pa;fa=203}}else{Xb=Ha;Yb=qa;Zb=qa;fa=203}if((fa|0)==203){if((Xb|0)!=(Yb|0))f[Ba>>2]=Xb+(~((Xb+-2-Yb|0)>>>1)<<1);GQa(Zb)}Pa=f[l>>2]|0;if(Pa|0){Qa=f[Aa>>2]|0;if((Qa|0)!=(Pa|0))f[Aa>>2]=Qa+(~((Qa+-2-Pa|0)>>>1)<<1);GQa(Pa)}}else{if((f[ca>>2]|0)==(f[W>>2]|0)){Pa=i+8|0;f[Pa>>2]=0;f[Pa+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=Q;eM(N,i)}else{Pa=N+36|0;Qa=f[Pa>>2]|0;if(Qa){ea=Qa+12|0;f[ea>>2]=(f[ea>>2]|0)+1;ea=Q+36|0;Qa=f[ea>>2]|0;if((Qa|0)!=0?(Da=Qa+12|0,Qa=f[Da>>2]|0,f[Da>>2]=Qa+-1,(Qa|0)==1):0){XO(Q);_b=ea}else _b=ea}else _b=Q+36|0;f[_b>>2]=0;ea=Q+16|0;f[ea>>2]=0;f[ea+4>>2]=0;f[ea+8>>2]=0;f[ea+12>>2]=0;if((f[V>>2]|0)>0){Qa=f[$>>2]|0;Da=0;do{f[Qa+(Da<<2)>>2]=0;Da=Da+1|0;$b=f[V>>2]|0}while((Da|0)<($b|0));f[Q>>2]=f[aa>>2];if(($b|0)<3)fa=37;else fa=39}else{f[Q>>2]=f[aa>>2];fa=37}if((fa|0)==37){Da=f[N+4>>2]|0;if((Da|0)<3){f[V>>2]=Da;f[_>>2]=f[U>>2];f[Q+12>>2]=f[O>>2];Da=f[N+44>>2]|0;Qa=f[Z>>2]|0;f[Qa>>2]=f[Da>>2];f[Qa+4>>2]=f[Da+4>>2]}else fa=39}if((fa|0)==39)WO(Q,N);f[ea>>2]=f[W>>2];f[Q+20>>2]=f[N+20>>2];f[Q+24>>2]=f[N+24>>2];f[Q+28>>2]=f[N+28>>2];f[Q+32>>2]=f[N+32>>2];f[_b>>2]=f[Pa>>2]}Da=f[Q>>2]|0;switch(Da&7){case 0:{G1(Q,P,e);break a;break}case 2:{Qa=f[Q+16>>2]|0;Aa=f[ca>>2]|0;Ba=(f[Y>>2]|0)>>>1;qa=(f[P+48>>2]|0)>>>1;Ha=f[P+40>>2]|0;Ja=f[Ha+4>>2]|0;ra=f[Ha>>2]|0;Ha=Da>>>3&511;Ka=Ha+1|0;b[i>>0]=0;e:do switch(e|0){case 3:{Na=(ra|0)==1;if((Ja|0)==1|Na){pa=ra+Ja|0;ka=pa+-1|0;Ga=Na?Ka:Ba;ia=Na?0:Ba-Ka|0;ja=Na?Ka:qa;if((pa|0)<=1)break e;Na=0-Ga|0;Oa=pa+-2|0;pa=Aa;ga=0;la=Qa;while(1){sa=(ga|0)>0?Na:0;oa=(ga|0)<(Oa|0)?Ga:0;wa=0;La=la;while(1){va=d[La+(sa<<1)>>1]|0;na=d[La>>1]|0;ta=j[La+(oa<<1)>>1]|0;ua=(na&65535)<(va&65535);Fa=(ua?na:va)&65535;xa=(ua?va:na)&65535;na=ta>>>0>>0?ta:xa;d[pa+(wa<<1)>>1]=(na|0)<(Fa|0)?Fa:na;wa=wa+1|0;if((wa|0)==(Ka|0))break;else La=La+2|0}ga=ga+1|0;if((ga|0)>=(ka|0))break e;else{pa=pa+(ja<<1)|0;la=la+(Ka<<1)+(ia<<1)|0}}}ia=X(Ja,Ka)|0;if((ra|0)>0){la=ra+-1|0;ja=ia+(-2-Ha)|0;pa=~Ha;ka=ia-Ka|0;ga=Aa;Ga=0;while(1){Oa=Ga+-1|0;Na=Qa+((X((Oa|0)>0?Oa:0,Ba)|0)<<1)|0;Oa=Qa+((X(Ga,Ba)|0)<<1)|0;Ga=Ga+1|0;La=Qa+((X((la|0)<(Ga|0)?la:Ga,Ba)|0)<<1)|0;wa=b[i>>0]&1?Ka:ia;oa=0;f:while(1){if((oa|0)<(wa|0)){sa=oa;do{na=sa-((sa|0)>(Ha|0)?Ka:0)|0;Fa=((sa|0)<(ka|0)?Ka:0)+sa|0;xa=d[Na+(na<<1)>>1]|0;ta=d[Na+(sa<<1)>>1]|0;va=d[Na+(Fa<<1)>>1]|0;ua=d[Oa+(na<<1)>>1]|0;Ia=d[Oa+(sa<<1)>>1]|0;ya=d[Oa+(Fa<<1)>>1]|0;za=d[La+(na<<1)>>1]|0;na=d[La+(sa<<1)>>1]|0;Ca=d[La+(Fa<<1)>>1]|0;Fa=(va&65535)<(ta&65535);Ea=Fa?va:ta;jb=Fa?ta:va;va=(ya&65535)<(Ia&65535);ta=va?ya:Ia;Fa=va?Ia:ya;ya=(Ca&65535)<(na&65535);Ia=ya?Ca:na;va=ya?na:Ca;Ca=(Ea&65535)<(xa&65535);na=(Ca?Ea:xa)&65535;ya=Ca?xa:Ea;Ea=(ta&65535)<(ua&65535);xa=(Ea?ta:ua)&65535;Ca=Ea?ua:ta;ta=(Ia&65535)<(za&65535);ua=(ta?Ia:za)&65535;Ea=ta?za:Ia;Ia=(jb&65535)<(ya&65535);za=(Ia?jb:ya)&65535;ta=(Ia?ya:jb)&65535;jb=(Fa&65535)<(Ca&65535);ya=jb?Fa:Ca;Ia=(jb?Ca:Fa)&65535;Fa=(va&65535)<(Ea&65535);Ca=Fa?va:Ea;jb=(Fa?Ea:va)&65535;va=xa>>>0>>0?na:xa;xa=jb>>>0>>0?jb:Ia;Ia=(Ca&65535)<(ya&65535);jb=(Ia?Ca:ya)&65535;na=(Ia?ya:Ca)&65535;Ca=(va|0)>(ua|0)?va:ua;ua=jb>>>0>>0?za:jb;jb=(xa|0)<(ta|0)?xa:ta;ta=(ua|0)>(na|0)?na:ua;ua=(jb|0)<(ta|0);na=ua?jb:ta;xa=ua?ta:jb;jb=(na|0)<(Ca|0)?Ca:na;d[ga+(sa<<1)>>1]=(xa|0)<(jb|0)?xa:jb;sa=sa+1|0}while((sa|0)!=(wa|0));ac=wa}else ac=oa;if((wa|0)==(ia|0))break;if((ac|0)>(ja|0)){wa=ia;oa=ac;continue}else bc=ac;while(1){sa=Na+(bc<<1)|0;jb=d[sa+(pa<<1)>>1]|0;xa=d[sa>>1]|0;na=d[sa+(Ka<<1)>>1]|0;sa=Oa+(bc<<1)|0;Ca=d[sa+(pa<<1)>>1]|0;ta=d[sa>>1]|0;ua=d[sa+(Ka<<1)>>1]|0;sa=La+(bc<<1)|0;za=d[sa+(pa<<1)>>1]|0;va=d[sa>>1]|0;ya=d[sa+(Ka<<1)>>1]|0;sa=(na&65535)<(xa&65535);Ia=sa?na:xa;Ea=sa?xa:na;na=(ua&65535)<(ta&65535);xa=na?ua:ta;sa=na?ta:ua;ua=(ya&65535)<(va&65535);ta=ua?ya:va;na=ua?va:ya;ya=(Ia&65535)<(jb&65535);va=(ya?Ia:jb)&65535;ua=ya?jb:Ia;Ia=(xa&65535)<(Ca&65535);jb=(Ia?xa:Ca)&65535;ya=Ia?Ca:xa;xa=(ta&65535)<(za&65535);Ca=(xa?ta:za)&65535;Ia=xa?za:ta;ta=(Ea&65535)<(ua&65535);za=(ta?Ea:ua)&65535;xa=(ta?ua:Ea)&65535;Ea=(sa&65535)<(ya&65535);ua=Ea?sa:ya;ta=(Ea?ya:sa)&65535;sa=(na&65535)<(Ia&65535);ya=sa?na:Ia;Ea=(sa?Ia:na)&65535;na=jb>>>0>>0?va:jb;jb=Ea>>>0>>0?Ea:ta;ta=(ya&65535)<(ua&65535);Ea=(ta?ya:ua)&65535;va=(ta?ua:ya)&65535;ya=(na|0)>(Ca|0)?na:Ca;Ca=Ea>>>0>>0?za:Ea;Ea=(jb|0)<(xa|0)?jb:xa;xa=(Ca|0)>(va|0)?va:Ca;Ca=(Ea|0)<(xa|0);va=Ca?Ea:xa;jb=Ca?xa:Ea;Ea=(va|0)<(ya|0)?ya:va;d[ga+(bc<<1)>>1]=(jb|0)<(Ea|0)?jb:Ea;Ea=bc+1|0;if((bc|0)<(ja|0))bc=Ea;else{wa=ia;oa=Ea;continue f}}}if((Ga|0)==(ra|0))break;else ga=ga+(qa<<1)|0}}break}case 5:{ga=(ra|0)==1;if((Ja|0)==1|ga){Ga=ra+Ja|0;ia=Ga+-1|0;ja=ga?Ka:Ba;pa=ga?0:Ba-Ka|0;ka=ga?Ka:qa;if((Ga|0)<=1)break e;ga=0-ja|0;la=ga<<1;oa=Ga+-2|0;wa=Ga+-3|0;Ga=ja<<1;La=Aa;Oa=0;Na=Qa;while(1){Ea=(Oa|0)>0?ga:0;jb=(Oa|0)>1?la:Ea;va=(Oa|0)<(oa|0)?ja:0;ya=(Oa|0)<(wa|0)?Ga:va;xa=Na;Ca=0;while(1){za=d[xa+(jb<<1)>>1]|0;na=d[xa+(Ea<<1)>>1]|0;ua=d[xa>>1]|0;ta=d[xa+(va<<1)>>1]|0;Ia=d[xa+(ya<<1)>>1]|0;sa=(na&65535)<(za&65535);Fa=(sa?na:za)&65535;bb=(sa?za:na)&65535;na=(Ia&65535)<(ta&65535);za=na?Ia:ta;sa=na?ta:Ia;Ia=(za&65535)<(ua&65535);ta=(Ia?za:ua)&65535;na=Ia?ua:za;za=(sa&65535)<(na&65535);ua=(za?sa:na)&65535;Ia=(za?na:sa)&65535;sa=ta>>>0>>0?Fa:ta;ta=(sa|0)>(Ia|0)?Ia:sa;sa=ua>>>0>>0?ua:bb;d[La+(Ca<<1)>>1]=(ta|0)<(sa|0)?sa:ta;Ca=Ca+1|0;if((Ca|0)==(Ka|0))break;else xa=xa+2|0}Oa=Oa+1|0;if((Oa|0)>=(ia|0))break e;else{La=La+(ka<<1)|0;Na=Na+(Ka<<1)+(pa<<1)|0}}}pa=X(Ja,Ka)|0;if((ra|0)>0){Na=ra+-1|0;ka=Ka<<1;La=0-ka|0;ia=pa+~ka|0;Oa=~Ha;Ga=pa-Ka|0;wa=pa-ka|0;ja=Aa;oa=0;while(1){la=oa+-2|0;ga=Qa+((X((la|0)>0?la:0,Ba)|0)<<1)|0;la=oa+-1|0;xa=Qa+((X((la|0)>0?la:0,Ba)|0)<<1)|0;la=Qa+((X(oa,Ba)|0)<<1)|0;Ca=oa;oa=oa+1|0;ya=Qa+((X((Na|0)<(oa|0)?Na:oa,Ba)|0)<<1)|0;va=Ca+2|0;Ca=Qa+((X((Na|0)<(va|0)?Na:va,Ba)|0)<<1)|0;va=b[i>>0]&1?ka:pa;Ea=0;g:while(1){if((Ea|0)<(va|0)){jb=Ea;do{ta=jb-((jb|0)>(Ha|0)?Ka:0)|0;sa=(jb|0)<(ka|0)?ta:jb-ka|0;bb=((jb|0)<(Ga|0)?Ka:0)+jb|0;ua=(jb|0)<(wa|0)?jb+ka|0:bb;Ia=d[ga+(sa<<1)>>1]|0;Fa=d[ga+(ta<<1)>>1]|0;na=d[ga+(jb<<1)>>1]|0;za=d[ga+(bb<<1)>>1]|0;cb=d[ga+(ua<<1)>>1]|0;db=d[xa+(sa<<1)>>1]|0;Va=d[xa+(ta<<1)>>1]|0;ab=d[xa+(jb<<1)>>1]|0;Xa=d[xa+(bb<<1)>>1]|0;Ua=d[xa+(ua<<1)>>1]|0;_a=d[la+(sa<<1)>>1]|0;Ya=d[la+(ta<<1)>>1]|0;Ma=d[la+(jb<<1)>>1]|0;lb=d[la+(bb<<1)>>1]|0;hb=d[la+(ua<<1)>>1]|0;kb=d[ya+(sa<<1)>>1]|0;$a=d[ya+(ta<<1)>>1]|0;Fb=d[ya+(jb<<1)>>1]|0;nb=d[ya+(bb<<1)>>1]|0;ob=d[ya+(ua<<1)>>1]|0;mb=d[Ca+(sa<<1)>>1]|0;sa=d[Ca+(ta<<1)>>1]|0;ta=d[Ca+(jb<<1)>>1]|0;Eb=d[Ca+(bb<<1)>>1]|0;bb=d[Ca+(ua<<1)>>1]|0;ua=(na&65535)<(Fa&65535)?na:Fa;Db=(na&65535)>(Fa&65535)?na:Fa;Fa=(Ia&65535)<(ua&65535)?Ia:ua;na=(Ia&65535)>(ua&65535)?Ia:ua;ua=(na&65535)<(Db&65535)?na:Db;Ia=(na&65535)>(Db&65535)?na:Db;Db=(cb&65535)<(db&65535)?cb:db;na=(cb&65535)>(db&65535)?cb:db;db=(Db&65535)<(za&65535);cb=db?Db:za;Cb=db?za:Db;Db=(na&65535)<(Cb&65535);za=Db?na:Cb;db=Db?Cb:na;na=(cb&65535)<(Fa&65535);Cb=na?cb:Fa;Db=na?Fa:cb;cb=(db&65535)<(Ia&65535);Fa=cb?db:Ia;na=cb?Ia:db;db=(Db&65535)<(Fa&65535);Ia=db?Db:Fa;cb=db?Fa:Db;Db=(za&65535)<(ua&65535);Fa=Db?za:ua;db=Db?ua:za;za=(Ia&65535)<(Fa&65535);ua=za?Ia:Fa;Db=za?Fa:Ia;Ia=(db&65535)<(cb&65535);Fa=Ia?db:cb;za=Ia?cb:db;db=(Xa&65535)<(ab&65535);cb=db?Xa:ab;Ia=db?ab:Xa;Xa=(cb&65535)<(Va&65535);ab=Xa?cb:Va;db=Xa?Va:cb;cb=(Ia&65535)<(db&65535);Va=cb?Ia:db;Xa=cb?db:Ia;Ia=(Ya&65535)<(_a&65535);db=Ia?Ya:_a;cb=Ia?_a:Ya;Ya=(db&65535)<(Ua&65535);_a=Ya?db:Ua;Ia=Ya?Ua:db;db=(cb&65535)<(Ia&65535);Ua=db?cb:Ia;Ya=db?Ia:cb;cb=(_a&65535)<(ab&65535);Ia=cb?_a:ab;db=cb?ab:_a;_a=(Ya&65535)<(Xa&65535);ab=_a?Ya:Xa;cb=_a?Xa:Ya;Ya=(db&65535)<(ab&65535);Xa=Ya?db:ab;_a=Ya?ab:db;db=(Ua&65535)<(Va&65535);ab=db?Ua:Va;Ya=db?Va:Ua;Ua=(Xa&65535)<(ab&65535);Va=Ua?Xa:ab;db=Ua?ab:Xa;Xa=(Ya&65535)<(_a&65535);ab=Xa?Ya:_a;Ua=Xa?_a:Ya;Ya=(Ia&65535)<(Cb&65535);_a=(Ya?Ia:Cb)&65535;Xa=Ya?Cb:Ia;Ia=(Ua&65535)<(za&65535);Cb=Ia?Ua:za;Ya=Ia?za:Ua;Ua=(Xa&65535)<(Cb&65535);za=Ua?Xa:Cb;Ia=Ua?Cb:Xa;Xa=(db&65535)<(Db&65535);Cb=Xa?db:Db;Ua=Xa?Db:db;db=(za&65535)<(Cb&65535);Db=db?za:Cb;Xa=db?Cb:za;za=(Ua&65535)<(Ia&65535);Cb=za?Ua:Ia;db=za?Ia:Ua;Ua=(Va&65535)<(ua&65535);Ia=Ua?Va:ua;za=Ua?ua:Va;Va=(cb&65535)<(na&65535);ua=Va?cb:na;Ua=(Va?na:cb)&65535;cb=(za&65535)<(ua&65535);na=cb?za:ua;Va=cb?ua:za;za=(ab&65535)<(Fa&65535);ua=za?ab:Fa;cb=za?Fa:ab;ab=(na&65535)<(ua&65535);Fa=ab?na:ua;za=ab?ua:na;na=(cb&65535)<(Va&65535);ua=na?cb:Va;ab=na?Va:cb;cb=(Db&65535)<(Ia&65535);Va=(cb?Db:Ia)&65535;na=(cb?Ia:Db)&65535;Db=(Xa&65535)<(Fa&65535);Ia=(Db?Xa:Fa)&65535;cb=(Db?Fa:Xa)&65535;Xa=(Cb&65535)<(za&65535);Fa=(Xa?Cb:za)&65535;Db=(Xa?za:Cb)&65535;Cb=(db&65535)<(ua&65535);za=(Cb?db:ua)&65535;Xa=(Cb?ua:db)&65535;db=(Ya&65535)<(ab&65535);ua=(db?Ya:ab)&65535;Cb=(db?ab:Ya)&65535;Ya=(hb&65535)<(lb&65535);ab=Ya?hb:lb;db=Ya?lb:hb;hb=(ab&65535)<(Ma&65535);lb=hb?ab:Ma;Ya=hb?Ma:ab;ab=(db&65535)<(Ya&65535);Ma=ab?db:Ya;hb=ab?Ya:db;db=(Fb&65535)<($a&65535);Ya=db?Fb:$a;ab=db?$a:Fb;Fb=(Ya&65535)<(kb&65535);$a=Fb?Ya:kb;db=Fb?kb:Ya;Ya=(ab&65535)<(db&65535);kb=Ya?ab:db;Fb=Ya?db:ab;ab=($a&65535)<(lb&65535);db=ab?$a:lb;Ya=ab?lb:$a;$a=(Fb&65535)<(hb&65535);lb=$a?Fb:hb;ab=$a?hb:Fb;Fb=(Ya&65535)<(lb&65535);hb=Fb?Ya:lb;$a=Fb?lb:Ya;Ya=(kb&65535)<(Ma&65535);lb=Ya?kb:Ma;Fb=Ya?Ma:kb;kb=(hb&65535)<(lb&65535);Ma=kb?hb:lb;Ya=kb?lb:hb;hb=(Fb&65535)<($a&65535);lb=hb?Fb:$a;kb=hb?$a:Fb;Fb=(mb&65535)<(ob&65535);$a=Fb?mb:ob;hb=Fb?ob:mb;mb=($a&65535)<(nb&65535);ob=mb?$a:nb;Fb=mb?nb:$a;$a=(hb&65535)<(Fb&65535);nb=$a?hb:Fb;mb=$a?Fb:hb;hb=(ta&65535)<(sa&65535);Fb=hb?ta:sa;$a=hb?sa:ta;ta=(bb&65535)<(Eb&65535);sa=ta?bb:Eb;hb=ta?Eb:bb;bb=(sa&65535)<(Fb&65535);Eb=bb?sa:Fb;ta=bb?Fb:sa;sa=(hb&65535)<($a&65535);Fb=sa?hb:$a;bb=sa?$a:hb;hb=(ta&65535)<(Fb&65535);$a=hb?ta:Fb;sa=hb?Fb:ta;ta=(Eb&65535)<(ob&65535);Fb=ta?Eb:ob;hb=ta?ob:Eb;Eb=(sa&65535)<(mb&65535);ob=Eb?sa:mb;ta=Eb?mb:sa;sa=(hb&65535)<(ob&65535);mb=sa?hb:ob;Eb=sa?ob:hb;hb=($a&65535)<(nb&65535);ob=hb?$a:nb;sa=hb?nb:$a;$a=(bb&65535)<(sa&65535);nb=$a?bb:sa;hb=$a?sa:bb;bb=(mb&65535)<(ob&65535);sa=bb?mb:ob;$a=bb?ob:mb;mb=(nb&65535)<(Eb&65535);ob=mb?nb:Eb;bb=mb?Eb:nb;nb=(hb&65535)<(ta&65535);Eb=nb?hb:ta;mb=nb?ta:hb;hb=(Fb&65535)<(db&65535);ta=(hb?Fb:db)&65535;nb=hb?db:Fb;Fb=(bb&65535)<(kb&65535);db=Fb?bb:kb;hb=Fb?kb:bb;bb=(nb&65535)<(db&65535);kb=bb?nb:db;Fb=bb?db:nb;nb=($a&65535)<(Ya&65535);db=nb?$a:Ya;bb=nb?Ya:$a;$a=(mb&65535)<(bb&65535);Ya=$a?mb:bb;nb=$a?bb:mb;mb=(kb&65535)<(db&65535);bb=mb?kb:db;$a=mb?db:kb;kb=(Ya&65535)<(Fb&65535);db=kb?Ya:Fb;mb=kb?Fb:Ya;Ya=(nb&65535)<(hb&65535);Fb=Ya?nb:hb;kb=Ya?hb:nb;nb=(sa&65535)<(Ma&65535);hb=nb?sa:Ma;Ya=nb?Ma:sa;sa=(Eb&65535)<(ab&65535);Ma=sa?Eb:ab;nb=sa?ab:Eb;Eb=(Ya&65535)<(Ma&65535);ab=Eb?Ya:Ma;sa=Eb?Ma:Ya;Ya=(ob&65535)<(lb&65535);Ma=Ya?ob:lb;Eb=Ya?lb:ob;ob=(ab&65535)<(Ma&65535);lb=ob?ab:Ma;Ya=ob?Ma:ab;ab=(Eb&65535)<(sa&65535);Ma=ab?Eb:sa;ob=ab?sa:Eb;Eb=(bb&65535)<(hb&65535);sa=(Eb?bb:hb)&65535;ab=(Eb?hb:bb)&65535;bb=($a&65535)<(lb&65535);hb=(bb?$a:lb)&65535;Eb=(bb?lb:$a)&65535;$a=(db&65535)<(Ya&65535);lb=($a?db:Ya)&65535;bb=($a?Ya:db)&65535;db=(mb&65535)<(Ma&65535);Ya=(db?mb:Ma)&65535;$a=(db?Ma:mb)&65535;mb=(Fb&65535)<(ob&65535);Ma=(mb?Fb:ob)&65535;db=(mb?ob:Fb)&65535;Fb=(kb&65535)<(nb&65535);ob=(Fb?kb:nb)&65535;mb=(Fb?nb:kb)&65535;kb=ta>>>0<_a>>>0?_a:ta;ta=$a>>>0>>0?$a:Xa;Xa=(kb|0)<(ta|0)?ta:kb;kb=Eb>>>0>>0?cb:Eb;Eb=(kb|0)>(mb|0)?mb:kb;kb=(Eb|0)<(Xa|0)?Eb:Xa;Xa=ab>>>0>>0?na:ab;ab=db>>>0>>0?db:Cb;Cb=(Xa|0)<(ab|0)?Xa:ab;ab=bb>>>0>>0?bb:Db;Db=(Cb|0)<(ab|0)?ab:Cb;Cb=(kb|0)<(Db|0)?Db:kb;kb=sa>>>0>>0?Va:sa;sa=Ma>>>0>>0?Ma:ua;ua=(kb|0)<(sa|0)?sa:kb;kb=lb>>>0>>0?Fa:lb;lb=(kb|0)<(ua|0)?kb:ua;ua=hb>>>0>>0?Ia:hb;hb=ob>>>0>>0?ob:Ua;Ua=(ua|0)<(hb|0)?ua:hb;hb=Ya>>>0>>0?Ya:za;za=(Ua|0)<(hb|0)?hb:Ua;Ua=(lb|0)<(za|0)?lb:za;d[ja+(jb<<1)>>1]=(Cb|0)<(Ua|0)?Ua:Cb;jb=jb+1|0}while((jb|0)!=(va|0));cc=va}else cc=Ea;if((va|0)==(pa|0))break;if((cc|0)>(ia|0)){va=pa;Ea=cc;continue}else dc=cc;while(1){jb=ga+(dc<<1)|0;Cb=d[jb+(La<<1)>>1]|0;Ua=d[jb+(Oa<<1)>>1]|0;za=d[jb>>1]|0;lb=d[jb+(Ka<<1)>>1]|0;hb=d[jb+(ka<<1)>>1]|0;jb=xa+(dc<<1)|0;Ya=d[jb+(La<<1)>>1]|0;ua=d[jb+(Oa<<1)>>1]|0;ob=d[jb>>1]|0;Ia=d[jb+(Ka<<1)>>1]|0;kb=d[jb+(ka<<1)>>1]|0;jb=la+(dc<<1)|0;Fa=d[jb+(La<<1)>>1]|0;sa=d[jb+(Oa<<1)>>1]|0;Ma=d[jb>>1]|0;Va=d[jb+(Ka<<1)>>1]|0;Db=d[jb+(ka<<1)>>1]|0;jb=ya+(dc<<1)|0;ab=d[jb+(La<<1)>>1]|0;bb=d[jb+(Oa<<1)>>1]|0;Xa=d[jb>>1]|0;db=d[jb+(Ka<<1)>>1]|0;na=d[jb+(ka<<1)>>1]|0;jb=Ca+(dc<<1)|0;Eb=d[jb+(La<<1)>>1]|0;mb=d[jb+(Oa<<1)>>1]|0;cb=d[jb>>1]|0;ta=d[jb+(Ka<<1)>>1]|0;$a=d[jb+(ka<<1)>>1]|0;jb=(za&65535)<(Ua&65535)?za:Ua;_a=(za&65535)>(Ua&65535)?za:Ua;Ua=(Cb&65535)<(jb&65535)?Cb:jb;za=(Cb&65535)>(jb&65535)?Cb:jb;jb=(za&65535)<(_a&65535)?za:_a;Cb=(za&65535)>(_a&65535)?za:_a;_a=(hb&65535)<(Ya&65535)?hb:Ya;za=(hb&65535)>(Ya&65535)?hb:Ya;Ya=(_a&65535)<(lb&65535);hb=Ya?_a:lb;nb=Ya?lb:_a;_a=(za&65535)<(nb&65535);lb=_a?za:nb;Ya=_a?nb:za;za=(hb&65535)<(Ua&65535);nb=za?hb:Ua;_a=za?Ua:hb;hb=(Ya&65535)<(Cb&65535);Ua=hb?Ya:Cb;za=hb?Cb:Ya;Ya=(_a&65535)<(Ua&65535);Cb=Ya?_a:Ua;hb=Ya?Ua:_a;_a=(lb&65535)<(jb&65535);Ua=_a?lb:jb;Ya=_a?jb:lb;lb=(Cb&65535)<(Ua&65535);jb=lb?Cb:Ua;_a=lb?Ua:Cb;Cb=(Ya&65535)<(hb&65535);Ua=Cb?Ya:hb;lb=Cb?hb:Ya;Ya=(Ia&65535)<(ob&65535);hb=Ya?Ia:ob;Cb=Ya?ob:Ia;Ia=(hb&65535)<(ua&65535);ob=Ia?hb:ua;Ya=Ia?ua:hb;hb=(Cb&65535)<(Ya&65535);ua=hb?Cb:Ya;Ia=hb?Ya:Cb;Cb=(sa&65535)<(Fa&65535);Ya=Cb?sa:Fa;hb=Cb?Fa:sa;sa=(Ya&65535)<(kb&65535);Fa=sa?Ya:kb;Cb=sa?kb:Ya;Ya=(hb&65535)<(Cb&65535);kb=Ya?hb:Cb;sa=Ya?Cb:hb;hb=(Fa&65535)<(ob&65535);Cb=hb?Fa:ob;Ya=hb?ob:Fa;Fa=(sa&65535)<(Ia&65535);ob=Fa?sa:Ia;hb=Fa?Ia:sa;sa=(Ya&65535)<(ob&65535);Ia=sa?Ya:ob;Fa=sa?ob:Ya;Ya=(kb&65535)<(ua&65535);ob=Ya?kb:ua;sa=Ya?ua:kb;kb=(Ia&65535)<(ob&65535);ua=kb?Ia:ob;Ya=kb?ob:Ia;Ia=(sa&65535)<(Fa&65535);ob=Ia?sa:Fa;kb=Ia?Fa:sa;sa=(Cb&65535)<(nb&65535);Fa=(sa?Cb:nb)&65535;Ia=sa?nb:Cb;Cb=(kb&65535)<(lb&65535);nb=Cb?kb:lb;sa=Cb?lb:kb;kb=(Ia&65535)<(nb&65535);lb=kb?Ia:nb;Cb=kb?nb:Ia;Ia=(Ya&65535)<(_a&65535);nb=Ia?Ya:_a;kb=Ia?_a:Ya;Ya=(lb&65535)<(nb&65535);_a=Ya?lb:nb;Ia=Ya?nb:lb;lb=(kb&65535)<(Cb&65535);nb=lb?kb:Cb;Ya=lb?Cb:kb;kb=(ua&65535)<(jb&65535);Cb=kb?ua:jb;lb=kb?jb:ua;ua=(hb&65535)<(za&65535);jb=ua?hb:za;kb=(ua?za:hb)&65535;hb=(lb&65535)<(jb&65535);za=hb?lb:jb;ua=hb?jb:lb;lb=(ob&65535)<(Ua&65535);jb=lb?ob:Ua;hb=lb?Ua:ob;ob=(za&65535)<(jb&65535);Ua=ob?za:jb;lb=ob?jb:za;za=(hb&65535)<(ua&65535);jb=za?hb:ua;ob=za?ua:hb;hb=(_a&65535)<(Cb&65535);ua=(hb?_a:Cb)&65535;za=(hb?Cb:_a)&65535;_a=(Ia&65535)<(Ua&65535);Cb=(_a?Ia:Ua)&65535;hb=(_a?Ua:Ia)&65535;Ia=(nb&65535)<(lb&65535);Ua=(Ia?nb:lb)&65535;_a=(Ia?lb:nb)&65535;nb=(Ya&65535)<(jb&65535);lb=(nb?Ya:jb)&65535;Ia=(nb?jb:Ya)&65535;Ya=(sa&65535)<(ob&65535);jb=(Ya?sa:ob)&65535;nb=(Ya?ob:sa)&65535;sa=(Db&65535)<(Va&65535);ob=sa?Db:Va;Ya=sa?Va:Db;Db=(ob&65535)<(Ma&65535);Va=Db?ob:Ma;sa=Db?Ma:ob;ob=(Ya&65535)<(sa&65535);Ma=ob?Ya:sa;Db=ob?sa:Ya;Ya=(Xa&65535)<(bb&65535);sa=Ya?Xa:bb;ob=Ya?bb:Xa;Xa=(sa&65535)<(ab&65535);bb=Xa?sa:ab;Ya=Xa?ab:sa;sa=(ob&65535)<(Ya&65535);ab=sa?ob:Ya;Xa=sa?Ya:ob;ob=(bb&65535)<(Va&65535);Ya=ob?bb:Va;sa=ob?Va:bb;bb=(Xa&65535)<(Db&65535);Va=bb?Xa:Db;ob=bb?Db:Xa;Xa=(sa&65535)<(Va&65535);Db=Xa?sa:Va;bb=Xa?Va:sa;sa=(ab&65535)<(Ma&65535);Va=sa?ab:Ma;Xa=sa?Ma:ab;ab=(Db&65535)<(Va&65535);Ma=ab?Db:Va;sa=ab?Va:Db;Db=(Xa&65535)<(bb&65535);Va=Db?Xa:bb;ab=Db?bb:Xa;Xa=(Eb&65535)<(na&65535);bb=Xa?Eb:na;Db=Xa?na:Eb;Eb=(bb&65535)<(db&65535);na=Eb?bb:db;Xa=Eb?db:bb;bb=(Db&65535)<(Xa&65535);db=bb?Db:Xa;Eb=bb?Xa:Db;Db=(cb&65535)<(mb&65535);Xa=Db?cb:mb;bb=Db?mb:cb;cb=($a&65535)<(ta&65535);mb=cb?$a:ta;Db=cb?ta:$a;$a=(mb&65535)<(Xa&65535);ta=$a?mb:Xa;cb=$a?Xa:mb;mb=(Db&65535)<(bb&65535);Xa=mb?Db:bb;$a=mb?bb:Db;Db=(cb&65535)<(Xa&65535);bb=Db?cb:Xa;mb=Db?Xa:cb;cb=(ta&65535)<(na&65535);Xa=cb?ta:na;Db=cb?na:ta;ta=(mb&65535)<(Eb&65535);na=ta?mb:Eb;cb=ta?Eb:mb;mb=(Db&65535)<(na&65535);Eb=mb?Db:na;ta=mb?na:Db;Db=(bb&65535)<(db&65535);na=Db?bb:db;mb=Db?db:bb;bb=($a&65535)<(mb&65535);db=bb?$a:mb;Db=bb?mb:$a;$a=(Eb&65535)<(na&65535);mb=$a?Eb:na;bb=$a?na:Eb;Eb=(db&65535)<(ta&65535);na=Eb?db:ta;$a=Eb?ta:db;db=(Db&65535)<(cb&65535);ta=db?Db:cb;Eb=db?cb:Db;Db=(Xa&65535)<(Ya&65535);cb=(Db?Xa:Ya)&65535;db=Db?Ya:Xa;Xa=($a&65535)<(ab&65535);Ya=Xa?$a:ab;Db=Xa?ab:$a;$a=(db&65535)<(Ya&65535);ab=$a?db:Ya;Xa=$a?Ya:db;db=(bb&65535)<(sa&65535);Ya=db?bb:sa;$a=db?sa:bb;bb=(Eb&65535)<($a&65535);sa=bb?Eb:$a;db=bb?$a:Eb;Eb=(ab&65535)<(Ya&65535);$a=Eb?ab:Ya;bb=Eb?Ya:ab;ab=(sa&65535)<(Xa&65535);Ya=ab?sa:Xa;Eb=ab?Xa:sa;sa=(db&65535)<(Db&65535);Xa=sa?db:Db;ab=sa?Db:db;db=(mb&65535)<(Ma&65535);Db=db?mb:Ma;sa=db?Ma:mb;mb=(ta&65535)<(ob&65535);Ma=mb?ta:ob;db=mb?ob:ta;ta=(sa&65535)<(Ma&65535);ob=ta?sa:Ma;mb=ta?Ma:sa;sa=(na&65535)<(Va&65535);Ma=sa?na:Va;ta=sa?Va:na;na=(ob&65535)<(Ma&65535);Va=na?ob:Ma;sa=na?Ma:ob;ob=(ta&65535)<(mb&65535);Ma=ob?ta:mb;na=ob?mb:ta;ta=($a&65535)<(Db&65535);mb=(ta?$a:Db)&65535;ob=(ta?Db:$a)&65535;$a=(bb&65535)<(Va&65535);Db=($a?bb:Va)&65535;ta=($a?Va:bb)&65535;bb=(Ya&65535)<(sa&65535);Va=(bb?Ya:sa)&65535;$a=(bb?sa:Ya)&65535;Ya=(Eb&65535)<(Ma&65535);sa=(Ya?Eb:Ma)&65535;bb=(Ya?Ma:Eb)&65535;Eb=(Xa&65535)<(na&65535);Ma=(Eb?Xa:na)&65535;Ya=(Eb?na:Xa)&65535;Xa=(ab&65535)<(db&65535);na=(Xa?ab:db)&65535;Eb=(Xa?db:ab)&65535;ab=cb>>>0>>0?Fa:cb;cb=bb>>>0>>0?bb:Ia;Ia=(ab|0)<(cb|0)?cb:ab;ab=ta>>>0>>0?hb:ta;ta=(ab|0)>(Eb|0)?Eb:ab;ab=(ta|0)<(Ia|0)?ta:Ia;Ia=ob>>>0>>0?za:ob;ob=Ya>>>0>>0?Ya:nb;nb=(Ia|0)<(ob|0)?Ia:ob;ob=$a>>>0<_a>>>0?$a:_a;_a=(nb|0)<(ob|0)?ob:nb;nb=(ab|0)<(_a|0)?_a:ab;ab=mb>>>0>>0?ua:mb;mb=Ma>>>0>>0?Ma:jb;jb=(ab|0)<(mb|0)?mb:ab;ab=Va>>>0>>0?Ua:Va;Va=(ab|0)<(jb|0)?ab:jb;jb=Db>>>0>>0?Cb:Db;Db=na>>>0>>0?na:kb;kb=(jb|0)<(Db|0)?jb:Db;Db=sa>>>0>>0?sa:lb;lb=(kb|0)<(Db|0)?Db:kb;kb=(Va|0)<(lb|0)?Va:lb;d[ja+(dc<<1)>>1]=(nb|0)<(kb|0)?kb:nb;nb=dc+1|0;if((dc|0)<(ia|0))dc=nb;else{va=pa;Ea=nb;continue g}}}if((oa|0)==(ra|0))break;else ja=ja+(qa<<1)|0}}break}default:{}}while(0);break a;break}case 3:{qa=f[Q+16>>2]|0;ra=f[ca>>2]|0;Ka=(f[Y>>2]|0)>>>1;Ha=(f[P+48>>2]|0)>>>1;Ba=f[P+40>>2]|0;Qa=f[Ba+4>>2]|0;Aa=f[Ba>>2]|0;Ba=Da>>>3&511;Ja=Ba+1|0;b[i>>0]=0;h:do switch(e|0){case 3:{Pa=(Aa|0)==1;if((Qa|0)==1|Pa){ea=Aa+Qa|0;ja=ea+-1|0;oa=Pa?Ja:Ka;pa=Pa?0:Ka-Ja|0;ia=Pa?Ja:Ha;if((ea|0)<=1)break h;Pa=0-oa|0;ka=ea+-2|0;ea=ra;Oa=0;La=qa;while(1){wa=(Oa|0)>0?Pa:0;Ga=(Oa|0)<(ka|0)?oa:0;Na=0;Ea=La;while(1){va=d[Ea+(wa<<1)>>1]|0;Ca=d[Ea>>1]|0;ya=d[Ea+(Ga<<1)>>1]|0;la=Ca<<16>>16>16;xa=(la?Ca:va)<<16>>16;ga=(la?va:Ca)<<16>>16;Ca=(ya|0)<(ga|0)?ya:ga;d[ea+(Na<<1)>>1]=(Ca|0)<(xa|0)?xa:Ca;Na=Na+1|0;if((Na|0)==(Ja|0))break;else Ea=Ea+2|0}Oa=Oa+1|0;if((Oa|0)>=(ja|0))break h;else{ea=ea+(ia<<1)|0;La=La+(Ja<<1)+(pa<<1)|0}}}pa=X(Qa,Ja)|0;if((Aa|0)>0){La=Aa+-1|0;ia=pa+(-2-Ba)|0;ea=~Ba;ja=pa-Ja|0;Oa=ra;oa=0;while(1){ka=oa+-1|0;Pa=qa+((X((ka|0)>0?ka:0,Ka)|0)<<1)|0;ka=qa+((X(oa,Ka)|0)<<1)|0;oa=oa+1|0;Ea=qa+((X((La|0)<(oa|0)?La:oa,Ka)|0)<<1)|0;Na=b[i>>0]&1?Ja:pa;Ga=0;i:while(1){if((Ga|0)<(Na|0)){wa=Ga;do{Ca=wa-((wa|0)>(Ba|0)?Ja:0)|0;xa=((wa|0)<(ja|0)?Ja:0)+wa|0;ga=d[Pa+(Ca<<1)>>1]|0;ya=d[Pa+(wa<<1)>>1]|0;va=d[Pa+(xa<<1)>>1]|0;la=d[ka+(Ca<<1)>>1]|0;nb=d[ka+(wa<<1)>>1]|0;kb=d[ka+(xa<<1)>>1]|0;lb=d[Ea+(Ca<<1)>>1]|0;Ca=d[Ea+(wa<<1)>>1]|0;Va=d[Ea+(xa<<1)>>1]|0;xa=va<<16>>16>16;Db=xa?va:ya;sa=xa?ya:va;va=kb<<16>>16>16;ya=va?kb:nb;xa=va?nb:kb;kb=Va<<16>>16>16;nb=kb?Va:Ca;va=kb?Ca:Va;Va=Db<<16>>16>16;Ca=(Va?Db:ga)<<16>>16;kb=Va?ga:Db;Db=ya<<16>>16>16;ga=(Db?ya:la)<<16>>16;Va=Db?la:ya;ya=nb<<16>>16>16;la=(ya?nb:lb)<<16>>16;Db=ya?lb:nb;nb=sa<<16>>16>16;lb=(nb?sa:kb)<<16>>16;ya=(nb?kb:sa)<<16>>16;sa=xa<<16>>16>16;kb=sa?xa:Va;nb=(sa?Va:xa)<<16>>16;xa=va<<16>>16>16;Va=xa?va:Db;sa=(xa?Db:va)<<16>>16;va=(ga|0)<(Ca|0)?Ca:ga;ga=(sa|0)<(nb|0)?sa:nb;nb=Va<<16>>16>16;sa=(nb?Va:kb)<<16>>16;Ca=(nb?kb:Va)<<16>>16;Va=(va|0)>(la|0)?va:la;la=(sa|0)<(lb|0)?lb:sa;sa=(ga|0)<(ya|0)?ga:ya;ya=(la|0)>(Ca|0)?Ca:la;la=(sa|0)<(ya|0);Ca=la?sa:ya;ga=la?ya:sa;sa=(Ca|0)<(Va|0)?Va:Ca;d[Oa+(wa<<1)>>1]=(ga|0)<(sa|0)?ga:sa;wa=wa+1|0}while((wa|0)!=(Na|0));ec=Na}else ec=Ga;if((Na|0)==(pa|0))break;if((ec|0)>(ia|0)){Na=pa;Ga=ec;continue}else fc=ec;while(1){wa=Pa+(fc<<1)|0;sa=d[wa+(ea<<1)>>1]|0;ga=d[wa>>1]|0;Ca=d[wa+(Ja<<1)>>1]|0;wa=ka+(fc<<1)|0;Va=d[wa+(ea<<1)>>1]|0;ya=d[wa>>1]|0;la=d[wa+(Ja<<1)>>1]|0;wa=Ea+(fc<<1)|0;lb=d[wa+(ea<<1)>>1]|0;va=d[wa>>1]|0;kb=d[wa+(Ja<<1)>>1]|0;wa=Ca<<16>>16>16;nb=wa?Ca:ga;Db=wa?ga:Ca;Ca=la<<16>>16>16;ga=Ca?la:ya;wa=Ca?ya:la;la=kb<<16>>16>16;ya=la?kb:va;Ca=la?va:kb;kb=nb<<16>>16>16;va=(kb?nb:sa)<<16>>16;la=kb?sa:nb;nb=ga<<16>>16>16;sa=(nb?ga:Va)<<16>>16;kb=nb?Va:ga;ga=ya<<16>>16>16;Va=(ga?ya:lb)<<16>>16;nb=ga?lb:ya;ya=Db<<16>>16>16;lb=(ya?Db:la)<<16>>16;ga=(ya?la:Db)<<16>>16;Db=wa<<16>>16>16;la=Db?wa:kb;ya=(Db?kb:wa)<<16>>16;wa=Ca<<16>>16>16;kb=wa?Ca:nb;Db=(wa?nb:Ca)<<16>>16;Ca=(sa|0)<(va|0)?va:sa;sa=(Db|0)<(ya|0)?Db:ya;ya=kb<<16>>16>16;Db=(ya?kb:la)<<16>>16;va=(ya?la:kb)<<16>>16;kb=(Ca|0)>(Va|0)?Ca:Va;Va=(Db|0)<(lb|0)?lb:Db;Db=(sa|0)<(ga|0)?sa:ga;ga=(Va|0)>(va|0)?va:Va;Va=(Db|0)<(ga|0);va=Va?Db:ga;sa=Va?ga:Db;Db=(va|0)<(kb|0)?kb:va;d[Oa+(fc<<1)>>1]=(sa|0)<(Db|0)?sa:Db;Db=fc+1|0;if((fc|0)<(ia|0))fc=Db;else{Na=pa;Ga=Db;continue i}}}if((oa|0)==(Aa|0))break;else Oa=Oa+(Ha<<1)|0}}break}case 5:{Oa=(Aa|0)==1;if((Qa|0)==1|Oa){oa=Aa+Qa|0;pa=oa+-1|0;ia=Oa?Ja:Ka;ea=Oa?0:Ka-Ja|0;ja=Oa?Ja:Ha;if((oa|0)<=1)break h;Oa=0-ia|0;La=Oa<<1;Ga=oa+-2|0;Na=oa+-3|0;oa=ia<<1;Ea=ra;ka=0;Pa=qa;while(1){Db=(ka|0)>0?Oa:0;sa=(ka|0)>1?La:Db;va=(ka|0)<(Ga|0)?ia:0;kb=(ka|0)<(Na|0)?oa:va;ga=Pa;Va=0;while(1){lb=d[ga+(sa<<1)>>1]|0;Ca=d[ga+(Db<<1)>>1]|0;la=d[ga>>1]|0;ya=d[ga+(va<<1)>>1]|0;nb=d[ga+(kb<<1)>>1]|0;wa=Ca<<16>>16>16;xa=(wa?Ca:lb)<<16>>16;jb=(wa?lb:Ca)<<16>>16;Ca=nb<<16>>16>16;lb=Ca?nb:ya;wa=Ca?ya:nb;nb=lb<<16>>16>16;ya=(nb?lb:la)<<16>>16;Ca=nb?la:lb;lb=wa<<16>>16>16;la=(lb?wa:Ca)<<16>>16;nb=(lb?Ca:wa)<<16>>16;wa=(ya|0)<(xa|0)?xa:ya;ya=(wa|0)>(nb|0)?nb:wa;wa=(la|0)<(jb|0)?la:jb;d[Ea+(Va<<1)>>1]=(ya|0)<(wa|0)?wa:ya;Va=Va+1|0;if((Va|0)==(Ja|0))break;else ga=ga+2|0}ka=ka+1|0;if((ka|0)>=(pa|0))break h;else{Ea=Ea+(ja<<1)|0;Pa=Pa+(Ja<<1)+(ea<<1)|0}}}ea=X(Qa,Ja)|0;if((Aa|0)>0){Pa=Aa+-1|0;ja=Ja<<1;Ea=0-ja|0;pa=ea+~ja|0;ka=~Ba;oa=ea-Ja|0;Na=ea-ja|0;ia=ra;Ga=0;while(1){La=Ga+-2|0;Oa=qa+((X((La|0)>0?La:0,Ka)|0)<<1)|0;La=Ga+-1|0;ga=qa+((X((La|0)>0?La:0,Ka)|0)<<1)|0;La=qa+((X(Ga,Ka)|0)<<1)|0;Va=Ga;Ga=Ga+1|0;kb=qa+((X((Pa|0)<(Ga|0)?Pa:Ga,Ka)|0)<<1)|0;va=Va+2|0;Va=qa+((X((Pa|0)<(va|0)?Pa:va,Ka)|0)<<1)|0;va=b[i>>0]&1?ja:ea;Db=0;j:while(1){if((Db|0)<(va|0)){sa=Db;do{ya=sa-((sa|0)>(Ba|0)?Ja:0)|0;wa=(sa|0)<(ja|0)?ya:sa-ja|0;jb=((sa|0)<(oa|0)?Ja:0)+sa|0;la=(sa|0)<(Na|0)?sa+ja|0:jb;nb=d[Oa+(wa<<1)>>1]|0;xa=d[Oa+(ya<<1)>>1]|0;Ca=d[Oa+(sa<<1)>>1]|0;lb=d[Oa+(jb<<1)>>1]|0;na=d[Oa+(la<<1)>>1]|0;Cb=d[ga+(wa<<1)>>1]|0;ab=d[ga+(ya<<1)>>1]|0;Ua=d[ga+(sa<<1)>>1]|0;mb=d[ga+(jb<<1)>>1]|0;Ma=d[ga+(la<<1)>>1]|0;ua=d[La+(wa<<1)>>1]|0;_a=d[La+(ya<<1)>>1]|0;ob=d[La+(sa<<1)>>1]|0;$a=d[La+(jb<<1)>>1]|0;Ia=d[La+(la<<1)>>1]|0;Ya=d[kb+(wa<<1)>>1]|0;za=d[kb+(ya<<1)>>1]|0;ta=d[kb+(sa<<1)>>1]|0;Eb=d[kb+(jb<<1)>>1]|0;hb=d[kb+(la<<1)>>1]|0;cb=d[Va+(wa<<1)>>1]|0;wa=d[Va+(ya<<1)>>1]|0;ya=d[Va+(sa<<1)>>1]|0;bb=d[Va+(jb<<1)>>1]|0;jb=d[Va+(la<<1)>>1]|0;la=Ca<<16>>16>16?Ca:xa;Fa=Ca<<16>>16>xa<<16>>16?Ca:xa;xa=nb<<16>>16>16?nb:la;Ca=nb<<16>>16>la<<16>>16?nb:la;la=Ca<<16>>16>16?Ca:Fa;nb=Ca<<16>>16>Fa<<16>>16?Ca:Fa;Fa=na<<16>>16>16?na:Cb;Ca=na<<16>>16>Cb<<16>>16?na:Cb;Cb=Fa<<16>>16>16;na=Cb?Fa:lb;db=Cb?lb:Fa;Fa=Ca<<16>>16>16;lb=Fa?Ca:db;Cb=Fa?db:Ca;Ca=na<<16>>16>16;db=Ca?na:xa;Fa=Ca?xa:na;na=Cb<<16>>16>16;xa=na?Cb:nb;Ca=na?nb:Cb;Cb=Fa<<16>>16>16;nb=Cb?Fa:xa;na=Cb?xa:Fa;Fa=lb<<16>>16>16;xa=Fa?lb:la;Cb=Fa?la:lb;lb=nb<<16>>16>16;la=lb?nb:xa;Fa=lb?xa:nb;nb=Cb<<16>>16>16;xa=nb?Cb:na;lb=nb?na:Cb;Cb=mb<<16>>16>16;na=Cb?mb:Ua;nb=Cb?Ua:mb;mb=na<<16>>16>16;Ua=mb?na:ab;Cb=mb?ab:na;na=nb<<16>>16>16;ab=na?nb:Cb;mb=na?Cb:nb;nb=_a<<16>>16>16;Cb=nb?_a:ua;na=nb?ua:_a;_a=Cb<<16>>16>16;ua=_a?Cb:Ma;nb=_a?Ma:Cb;Cb=na<<16>>16>16;Ma=Cb?na:nb;_a=Cb?nb:na;na=ua<<16>>16>16;nb=na?ua:Ua;Cb=na?Ua:ua;ua=_a<<16>>16>16;Ua=ua?_a:mb;na=ua?mb:_a;_a=Cb<<16>>16>16;mb=_a?Cb:Ua;ua=_a?Ua:Cb;Cb=Ma<<16>>16>16;Ua=Cb?Ma:ab;_a=Cb?ab:Ma;Ma=mb<<16>>16>16;ab=Ma?mb:Ua;Cb=Ma?Ua:mb;mb=_a<<16>>16>16;Ua=mb?_a:ua;Ma=mb?ua:_a;_a=nb<<16>>16>16;ua=(_a?nb:db)<<16>>16;mb=_a?db:nb;nb=Ma<<16>>16>16;db=nb?Ma:lb;_a=nb?lb:Ma;Ma=mb<<16>>16>16;lb=Ma?mb:db;nb=Ma?db:mb;mb=Cb<<16>>16>16;db=mb?Cb:Fa;Ma=mb?Fa:Cb;Cb=lb<<16>>16>16;Fa=Cb?lb:db;mb=Cb?db:lb;lb=Ma<<16>>16>16;db=lb?Ma:nb;Cb=lb?nb:Ma;Ma=ab<<16>>16>16;nb=Ma?ab:la;lb=Ma?la:ab;ab=na<<16>>16>16;la=ab?na:Ca;Ma=(ab?Ca:na)<<16>>16;na=lb<<16>>16>16;Ca=na?lb:la;ab=na?la:lb;lb=Ua<<16>>16>16;la=lb?Ua:xa;na=lb?xa:Ua;Ua=Ca<<16>>16>16;xa=Ua?Ca:la;lb=Ua?la:Ca;Ca=na<<16>>16>16;la=Ca?na:ab;Ua=Ca?ab:na;na=Fa<<16>>16>16;ab=(na?Fa:nb)<<16>>16;Ca=(na?nb:Fa)<<16>>16;Fa=mb<<16>>16>16;nb=(Fa?mb:xa)<<16>>16;na=(Fa?xa:mb)<<16>>16;mb=db<<16>>16>16;xa=(mb?db:lb)<<16>>16;Fa=(mb?lb:db)<<16>>16;db=Cb<<16>>16>16;lb=(db?Cb:la)<<16>>16;mb=(db?la:Cb)<<16>>16;Cb=_a<<16>>16>16;la=(Cb?_a:Ua)<<16>>16;db=(Cb?Ua:_a)<<16>>16;_a=Ia<<16>>16<$a<<16>>16;Ua=_a?Ia:$a;Cb=_a?$a:Ia;Ia=Ua<<16>>16>16;$a=Ia?Ua:ob;_a=Ia?ob:Ua;Ua=Cb<<16>>16<_a<<16>>16;ob=Ua?Cb:_a;Ia=Ua?_a:Cb;Cb=ta<<16>>16>16;_a=Cb?ta:za;Ua=Cb?za:ta;ta=_a<<16>>16>16;za=ta?_a:Ya;Cb=ta?Ya:_a;_a=Ua<<16>>16>16;Ya=_a?Ua:Cb;ta=_a?Cb:Ua;Ua=za<<16>>16<$a<<16>>16;Cb=Ua?za:$a;_a=Ua?$a:za;za=ta<<16>>16>16;$a=za?ta:Ia;Ua=za?Ia:ta;ta=_a<<16>>16<$a<<16>>16;Ia=ta?_a:$a;za=ta?$a:_a;_a=Ya<<16>>16>16;$a=_a?Ya:ob;ta=_a?ob:Ya;Ya=Ia<<16>>16<$a<<16>>16;ob=Ya?Ia:$a;_a=Ya?$a:Ia;Ia=ta<<16>>16>16;$a=Ia?ta:za;Ya=Ia?za:ta;ta=cb<<16>>16>16;za=ta?cb:hb;Ia=ta?hb:cb;cb=za<<16>>16>16;hb=cb?za:Eb;ta=cb?Eb:za;za=Ia<<16>>16>16;Eb=za?Ia:ta;cb=za?ta:Ia;Ia=ya<<16>>16>16;ta=Ia?ya:wa;za=Ia?wa:ya;ya=jb<<16>>16>16;wa=ya?jb:bb;Ia=ya?bb:jb;jb=wa<<16>>16>16;bb=jb?wa:ta;ya=jb?ta:wa;wa=Ia<<16>>16>16;ta=wa?Ia:za;jb=wa?za:Ia;Ia=ya<<16>>16>16;za=Ia?ya:ta;wa=Ia?ta:ya;ya=bb<<16>>16>16;ta=ya?bb:hb;Ia=ya?hb:bb;bb=wa<<16>>16>16;hb=bb?wa:cb;ya=bb?cb:wa;wa=Ia<<16>>16>16;cb=wa?Ia:hb;bb=wa?hb:Ia;Ia=za<<16>>16>16;hb=Ia?za:Eb;wa=Ia?Eb:za;za=jb<<16>>16>16;Eb=za?jb:wa;Ia=za?wa:jb;jb=cb<<16>>16>16;wa=jb?cb:hb;za=jb?hb:cb;cb=Eb<<16>>16>16;hb=cb?Eb:bb;jb=cb?bb:Eb;Eb=Ia<<16>>16>16;bb=Eb?Ia:ya;cb=Eb?ya:Ia;Ia=ta<<16>>16>16;ya=(Ia?ta:Cb)<<16>>16;Eb=Ia?Cb:ta;ta=jb<<16>>16>16;Cb=ta?jb:Ya;Ia=ta?Ya:jb;jb=Eb<<16>>16>16;Ya=jb?Eb:Cb;ta=jb?Cb:Eb;Eb=za<<16>>16<_a<<16>>16;Cb=Eb?za:_a;jb=Eb?_a:za;za=cb<<16>>16>16;_a=za?cb:jb;Eb=za?jb:cb;cb=Ya<<16>>16>16;jb=cb?Ya:Cb;za=cb?Cb:Ya;Ya=_a<<16>>16>16;Cb=Ya?_a:ta;cb=Ya?ta:_a;_a=Eb<<16>>16>16;ta=_a?Eb:Ia;Ya=_a?Ia:Eb;Eb=wa<<16>>16>16;Ia=Eb?wa:ob;_a=Eb?ob:wa;wa=bb<<16>>16>16;ob=wa?bb:Ua;Eb=wa?Ua:bb;bb=_a<<16>>16>16;Ua=bb?_a:ob;wa=bb?ob:_a;_a=hb<<16>>16<$a<<16>>16;ob=_a?hb:$a;bb=_a?$a:hb;hb=Ua<<16>>16>16;$a=hb?Ua:ob;_a=hb?ob:Ua;Ua=bb<<16>>16>16;ob=Ua?bb:wa;hb=Ua?wa:bb;bb=jb<<16>>16>16;wa=(bb?jb:Ia)<<16>>16;Ua=(bb?Ia:jb)<<16>>16;jb=za<<16>>16<$a<<16>>16;Ia=(jb?za:$a)<<16>>16;bb=(jb?$a:za)<<16>>16;za=Cb<<16>>16<_a<<16>>16;$a=(za?Cb:_a)<<16>>16;jb=(za?_a:Cb)<<16>>16;Cb=cb<<16>>16>16;_a=(Cb?cb:ob)<<16>>16;za=(Cb?ob:cb)<<16>>16;cb=ta<<16>>16>16;ob=(cb?ta:hb)<<16>>16;Cb=(cb?hb:ta)<<16>>16;ta=Ya<<16>>16>16;hb=(ta?Ya:Eb)<<16>>16;cb=(ta?Eb:Ya)<<16>>16;Ya=(ya|0)<(ua|0)?ua:ya;ya=(za|0)<(mb|0)?za:mb;mb=(Ya|0)<(ya|0)?ya:Ya;Ya=(bb|0)<(na|0)?na:bb;bb=(Ya|0)>(cb|0)?cb:Ya;Ya=(bb|0)<(mb|0)?bb:mb;mb=(Ua|0)<(Ca|0)?Ca:Ua;Ua=(Cb|0)<(db|0)?Cb:db;db=(mb|0)<(Ua|0)?mb:Ua;Ua=(jb|0)<(Fa|0)?jb:Fa;Fa=(db|0)<(Ua|0)?Ua:db;db=(Ya|0)<(Fa|0)?Fa:Ya;Ya=(wa|0)<(ab|0)?ab:wa;wa=(ob|0)<(la|0)?ob:la;la=(Ya|0)<(wa|0)?wa:Ya;Ya=($a|0)<(xa|0)?xa:$a;$a=(Ya|0)<(la|0)?Ya:la;la=(Ia|0)<(nb|0)?nb:Ia;Ia=(hb|0)<(Ma|0)?hb:Ma;Ma=(la|0)<(Ia|0)?la:Ia;Ia=(_a|0)<(lb|0)?_a:lb;lb=(Ma|0)<(Ia|0)?Ia:Ma;Ma=($a|0)<(lb|0)?$a:lb;d[ia+(sa<<1)>>1]=(db|0)<(Ma|0)?Ma:db;sa=sa+1|0}while((sa|0)!=(va|0));gc=va}else gc=Db;if((va|0)==(ea|0))break;if((gc|0)>(pa|0)){va=ea;Db=gc;continue}else hc=gc;while(1){sa=Oa+(hc<<1)|0;db=d[sa+(Ea<<1)>>1]|0;Ma=d[sa+(ka<<1)>>1]|0;lb=d[sa>>1]|0;$a=d[sa+(Ja<<1)>>1]|0;Ia=d[sa+(ja<<1)>>1]|0;sa=ga+(hc<<1)|0;_a=d[sa+(Ea<<1)>>1]|0;la=d[sa+(ka<<1)>>1]|0;hb=d[sa>>1]|0;nb=d[sa+(Ja<<1)>>1]|0;Ya=d[sa+(ja<<1)>>1]|0;sa=La+(hc<<1)|0;xa=d[sa+(Ea<<1)>>1]|0;wa=d[sa+(ka<<1)>>1]|0;ob=d[sa>>1]|0;ab=d[sa+(Ja<<1)>>1]|0;Fa=d[sa+(ja<<1)>>1]|0;sa=kb+(hc<<1)|0;Ua=d[sa+(Ea<<1)>>1]|0;jb=d[sa+(ka<<1)>>1]|0;mb=d[sa>>1]|0;Cb=d[sa+(Ja<<1)>>1]|0;Ca=d[sa+(ja<<1)>>1]|0;sa=Va+(hc<<1)|0;bb=d[sa+(Ea<<1)>>1]|0;cb=d[sa+(ka<<1)>>1]|0;na=d[sa>>1]|0;ya=d[sa+(Ja<<1)>>1]|0;za=d[sa+(ja<<1)>>1]|0;sa=lb<<16>>16>16?lb:Ma;ua=lb<<16>>16>Ma<<16>>16?lb:Ma;Ma=db<<16>>16>16?db:sa;lb=db<<16>>16>sa<<16>>16?db:sa;sa=lb<<16>>16>16?lb:ua;db=lb<<16>>16>ua<<16>>16?lb:ua;ua=Ia<<16>>16<_a<<16>>16?Ia:_a;lb=Ia<<16>>16>_a<<16>>16?Ia:_a;_a=ua<<16>>16<$a<<16>>16;Ia=_a?ua:$a;Eb=_a?$a:ua;ua=lb<<16>>16>16;$a=ua?lb:Eb;_a=ua?Eb:lb;lb=Ia<<16>>16>16;Eb=lb?Ia:Ma;ua=lb?Ma:Ia;Ia=_a<<16>>16>16;Ma=Ia?_a:db;lb=Ia?db:_a;_a=ua<<16>>16>16;db=_a?ua:Ma;Ia=_a?Ma:ua;ua=$a<<16>>16>16;Ma=ua?$a:sa;_a=ua?sa:$a;$a=db<<16>>16>16;sa=$a?db:Ma;ua=$a?Ma:db;db=_a<<16>>16>16;Ma=db?_a:Ia;$a=db?Ia:_a;_a=nb<<16>>16>16;Ia=_a?nb:hb;db=_a?hb:nb;nb=Ia<<16>>16>16;hb=nb?Ia:la;_a=nb?la:Ia;Ia=db<<16>>16<_a<<16>>16;la=Ia?db:_a;nb=Ia?_a:db;db=wa<<16>>16>16;_a=db?wa:xa;Ia=db?xa:wa;wa=_a<<16>>16>16;xa=wa?_a:Ya;db=wa?Ya:_a;_a=Ia<<16>>16>16;Ya=_a?Ia:db;wa=_a?db:Ia;Ia=xa<<16>>16>16;db=Ia?xa:hb;_a=Ia?hb:xa;xa=wa<<16>>16>16;hb=xa?wa:nb;Ia=xa?nb:wa;wa=_a<<16>>16>16;nb=wa?_a:hb;xa=wa?hb:_a;_a=Ya<<16>>16>16;hb=_a?Ya:la;wa=_a?la:Ya;Ya=nb<<16>>16>16;la=Ya?nb:hb;_a=Ya?hb:nb;nb=wa<<16>>16>16;hb=nb?wa:xa;Ya=nb?xa:wa;wa=db<<16>>16>16;xa=(wa?db:Eb)<<16>>16;nb=wa?Eb:db;db=Ya<<16>>16<$a<<16>>16;Eb=db?Ya:$a;wa=db?$a:Ya;Ya=nb<<16>>16>16;$a=Ya?nb:Eb;db=Ya?Eb:nb;nb=_a<<16>>16>16;Eb=nb?_a:ua;Ya=nb?ua:_a;_a=$a<<16>>16>16;ua=_a?$a:Eb;nb=_a?Eb:$a;$a=Ya<<16>>16>16;Eb=$a?Ya:db;_a=$a?db:Ya;Ya=la<<16>>16>16;db=Ya?la:sa;$a=Ya?sa:la;la=Ia<<16>>16>16;sa=la?Ia:lb;Ya=(la?lb:Ia)<<16>>16;Ia=$a<<16>>16>16;lb=Ia?$a:sa;la=Ia?sa:$a;$a=hb<<16>>16>16;sa=$a?hb:Ma;Ia=$a?Ma:hb;hb=lb<<16>>16>16;Ma=hb?lb:sa;$a=hb?sa:lb;lb=Ia<<16>>16>16;sa=lb?Ia:la;hb=lb?la:Ia;Ia=ua<<16>>16>16;la=(Ia?ua:db)<<16>>16;lb=(Ia?db:ua)<<16>>16;ua=nb<<16>>16>16;db=(ua?nb:Ma)<<16>>16;Ia=(ua?Ma:nb)<<16>>16;nb=Eb<<16>>16<$a<<16>>16;Ma=(nb?Eb:$a)<<16>>16;ua=(nb?$a:Eb)<<16>>16;Eb=_a<<16>>16>16;$a=(Eb?_a:sa)<<16>>16;nb=(Eb?sa:_a)<<16>>16;_a=wa<<16>>16>16;sa=(_a?wa:hb)<<16>>16;Eb=(_a?hb:wa)<<16>>16;wa=Fa<<16>>16>16;hb=wa?Fa:ab;_a=wa?ab:Fa;Fa=hb<<16>>16>16;ab=Fa?hb:ob;wa=Fa?ob:hb;hb=_a<<16>>16>16;ob=hb?_a:wa;Fa=hb?wa:_a;_a=mb<<16>>16>16;wa=_a?mb:jb;hb=_a?jb:mb;mb=wa<<16>>16>16;jb=mb?wa:Ua;_a=mb?Ua:wa;wa=hb<<16>>16<_a<<16>>16;Ua=wa?hb:_a;mb=wa?_a:hb;hb=jb<<16>>16>16;_a=hb?jb:ab;wa=hb?ab:jb;jb=mb<<16>>16>16;ab=jb?mb:Fa;hb=jb?Fa:mb;mb=wa<<16>>16>16;Fa=mb?wa:ab;jb=mb?ab:wa;wa=Ua<<16>>16>16;ab=wa?Ua:ob;mb=wa?ob:Ua;Ua=Fa<<16>>16>16;ob=Ua?Fa:ab;wa=Ua?ab:Fa;Fa=mb<<16>>16>16;ab=Fa?mb:jb;Ua=Fa?jb:mb;mb=bb<<16>>16>16;jb=mb?bb:Ca;Fa=mb?Ca:bb;bb=jb<<16>>16>16;Ca=bb?jb:Cb;mb=bb?Cb:jb;jb=Fa<<16>>16>16;Cb=jb?Fa:mb;bb=jb?mb:Fa;Fa=na<<16>>16>16;mb=Fa?na:cb;jb=Fa?cb:na;na=za<<16>>16>16;cb=na?za:ya;Fa=na?ya:za;za=cb<<16>>16>16;ya=za?cb:mb;na=za?mb:cb;cb=Fa<<16>>16>16;mb=cb?Fa:jb;za=cb?jb:Fa;Fa=na<<16>>16>16;jb=Fa?na:mb;cb=Fa?mb:na;na=ya<<16>>16>16;mb=na?ya:Ca;Fa=na?Ca:ya;ya=cb<<16>>16>16;Ca=ya?cb:bb;na=ya?bb:cb;cb=Fa<<16>>16>16;bb=cb?Fa:Ca;ya=cb?Ca:Fa;Fa=jb<<16>>16>16;Ca=Fa?jb:Cb;cb=Fa?Cb:jb;jb=za<<16>>16>16;Cb=jb?za:cb;Fa=jb?cb:za;za=bb<<16>>16>16;cb=za?bb:Ca;jb=za?Ca:bb;bb=Cb<<16>>16>16;Ca=bb?Cb:ya;za=bb?ya:Cb;Cb=Fa<<16>>16>16;ya=Cb?Fa:na;bb=Cb?na:Fa;Fa=mb<<16>>16<_a<<16>>16;na=(Fa?mb:_a)<<16>>16;Cb=Fa?_a:mb;mb=za<<16>>16>16;_a=mb?za:Ua;Fa=mb?Ua:za;za=Cb<<16>>16<_a<<16>>16;Ua=za?Cb:_a;mb=za?_a:Cb;Cb=jb<<16>>16>16;_a=Cb?jb:wa;za=Cb?wa:jb;jb=bb<<16>>16>16;wa=jb?bb:za;Cb=jb?za:bb;bb=Ua<<16>>16<_a<<16>>16;za=bb?Ua:_a;jb=bb?_a:Ua;Ua=wa<<16>>16>16;_a=Ua?wa:mb;bb=Ua?mb:wa;wa=Cb<<16>>16>16;mb=wa?Cb:Fa;Ua=wa?Fa:Cb;Cb=cb<<16>>16>16;Fa=Cb?cb:ob;wa=Cb?ob:cb;cb=ya<<16>>16>16;ob=cb?ya:hb;Cb=cb?hb:ya;ya=wa<<16>>16>16;hb=ya?wa:ob;cb=ya?ob:wa;wa=Ca<<16>>16>16;ob=wa?Ca:ab;ya=wa?ab:Ca;Ca=hb<<16>>16>16;ab=Ca?hb:ob;wa=Ca?ob:hb;hb=ya<<16>>16>16;ob=hb?ya:cb;Ca=hb?cb:ya;ya=za<<16>>16>16;cb=(ya?za:Fa)<<16>>16;hb=(ya?Fa:za)<<16>>16;za=jb<<16>>16>16;Fa=(za?jb:ab)<<16>>16;ya=(za?ab:jb)<<16>>16;jb=_a<<16>>16>16;ab=(jb?_a:wa)<<16>>16;za=(jb?wa:_a)<<16>>16;_a=bb<<16>>16>16;wa=(_a?bb:ob)<<16>>16;jb=(_a?ob:bb)<<16>>16;bb=mb<<16>>16>16;ob=(bb?mb:Ca)<<16>>16;_a=(bb?Ca:mb)<<16>>16;mb=Ua<<16>>16>16;Ca=(mb?Ua:Cb)<<16>>16;bb=(mb?Cb:Ua)<<16>>16;Ua=(na|0)<(xa|0)?xa:na;na=(jb|0)<(nb|0)?jb:nb;nb=(Ua|0)<(na|0)?na:Ua;Ua=(ya|0)<(Ia|0)?Ia:ya;ya=(Ua|0)>(bb|0)?bb:Ua;Ua=(ya|0)<(nb|0)?ya:nb;nb=(hb|0)<(lb|0)?lb:hb;hb=(_a|0)<(Eb|0)?_a:Eb;Eb=(nb|0)<(hb|0)?nb:hb;hb=(za|0)<(ua|0)?za:ua;ua=(Eb|0)<(hb|0)?hb:Eb;Eb=(Ua|0)<(ua|0)?ua:Ua;Ua=(cb|0)<(la|0)?la:cb;cb=(ob|0)<(sa|0)?ob:sa;sa=(Ua|0)<(cb|0)?cb:Ua;Ua=(ab|0)<(Ma|0)?Ma:ab;ab=(Ua|0)<(sa|0)?Ua:sa;sa=(Fa|0)<(db|0)?db:Fa;Fa=(Ca|0)<(Ya|0)?Ca:Ya;Ya=(sa|0)<(Fa|0)?sa:Fa;Fa=(wa|0)<($a|0)?wa:$a;$a=(Ya|0)<(Fa|0)?Fa:Ya;Ya=(ab|0)<($a|0)?ab:$a;d[ia+(hc<<1)>>1]=(Eb|0)<(Ya|0)?Ya:Eb;Eb=hc+1|0;if((hc|0)<(pa|0))hc=Eb;else{va=ea;Db=Eb;continue j}}}if((Ga|0)==(Aa|0))break;else ia=ia+(Ha<<1)|0}}break}default:{}}while(0);break a;break}case 5:{Ha=f[Q+16>>2]|0;Aa=f[ca>>2]|0;Ja=(f[Y>>2]|0)>>>2;Ba=(f[P+48>>2]|0)>>>2;Ka=f[P+40>>2]|0;qa=f[Ka+4>>2]|0;ra=f[Ka>>2]|0;Ka=Da>>>3&511;Qa=Ka+1|0;b[i>>0]=0;k:do switch(e|0){case 3:{ia=(ra|0)==1;if((qa|0)==1|ia){Ga=ra+qa|0;ea=Ga+-1|0;pa=ia?Qa:Ja;ja=ia?0:Ja-Qa|0;ka=ia?Qa:Ba;if((Ga|0)<=1)break k;ia=0-pa|0;Ea=Ga+-2|0;Ga=Ha;Na=Aa;oa=0;while(1){Pa=(oa|0)>0?ia:0;Db=(oa|0)<(Ea|0)?pa:0;va=0;Va=Ga;while(1){kb=f[Va+(Pa<<2)>>2]|0;f[k>>2]=kb;La=f[Va>>2]|0;f[l>>2]=La;ma=+n[Va+(Db<<2)>>2];ic=(f[s>>2]=kb,+n[s>>2]);jc=(f[s>>2]=La,+n[s>>2]);La=jc>2];lc=La?ic:jc;jc=ma>2]=jc=(ea|0))break k;else{Ga=Ga+(Qa<<2)+(ja<<2)|0;Na=Na+(ka<<2)|0}}}ka=X(qa,Qa)|0;if((ra|0)>0){Na=ra+-1|0;ja=ka+(-2-Ka)|0;Ga=~Ka;ea=ka-Qa|0;oa=Aa;pa=0;while(1){Ea=pa+-1|0;ia=Ha+((X((Ea|0)>0?Ea:0,Ja)|0)<<2)|0;Ea=Ha+((X(pa,Ja)|0)<<2)|0;pa=pa+1|0;Va=Ha+((X((Na|0)<(pa|0)?Na:pa,Ja)|0)<<2)|0;va=b[i>>0]&1?Qa:ka;Db=0;l:while(1){if((Db|0)<(va|0)){Pa=Db;do{La=Pa-((Pa|0)>(Ka|0)?Qa:0)|0;kb=((Pa|0)<(ea|0)?Qa:0)+Pa|0;ga=f[ia+(La<<2)>>2]|0;Oa=f[ia+(Pa<<2)>>2]|0;f[k>>2]=Oa;Eb=f[ia+(kb<<2)>>2]|0;f[l>>2]=Eb;Ya=f[Ea+(La<<2)>>2]|0;$a=f[Ea+(Pa<<2)>>2]|0;f[m>>2]=$a;ab=f[Ea+(kb<<2)>>2]|0;f[o>>2]=ab;Fa=f[Va+(La<<2)>>2]|0;La=f[Va+(Pa<<2)>>2]|0;f[p>>2]=La;wa=f[Va+(kb<<2)>>2]|0;f[q>>2]=wa;jc=(f[s>>2]=Oa,+n[s>>2]);kc=(f[s>>2]=Eb,+n[s>>2]);Eb=kc>2]|0;lc=Eb?jc:kc;n[l>>2]=lc;kc=(f[s>>2]=$a,+n[s>>2]);jc=(f[s>>2]=ab,+n[s>>2]);ab=jc>2]|0;ma=ab?kc:jc;n[o>>2]=ma;jc=(f[s>>2]=La,+n[s>>2]);kc=(f[s>>2]=wa,+n[s>>2]);wa=kc>2]|0;ic=wa?jc:kc;n[q>>2]=ic;kc=(f[s>>2]=ga,+n[s>>2]);jc=(f[s>>2]=Oa,+n[s>>2]);wa=jc>2]=mc;jc=(f[s>>2]=Ya,+n[s>>2]);kc=(f[s>>2]=$a,+n[s>>2]);ab=kc>2]=nc;kc=(f[s>>2]=Fa,+n[s>>2]);jc=(f[s>>2]=La,+n[s>>2]);Eb=jc>2]=oc;kb=lc>2]:+n[k>>2];kc=kb?mc:lc;n[l>>2]=kc;kb=ma>2]|0;f[m>>2]=sa;lc=kb?nc:ma;n[o>>2]=lc;kb=ic>2]|0;f[p>>2]=Ca;ma=kb?oc:ic;n[q>>2]=ma;ic=(f[s>>2]=wa?Oa:ga,+n[s>>2]);oc=(f[s>>2]=ab?$a:Ya,+n[s>>2]);nc=oc>2]|0;f[o>>2]=Ya;lc=(f[s>>2]=sa,+n[s>>2]);ma=(f[s>>2]=Ca,+n[s>>2]);Ca=ma>2]:+n[m>>2];ic=Ca?lc:ma;n[p>>2]=ic;ma=(f[s>>2]=Eb?La:Fa,+n[s>>2]);lc=nc>ma?nc:ma;ma=oc>2]=ma;Fa=f[(kc>(f[s>>2]=Ya,+n[s>>2])?o:l)>>2]|0;f[l>>2]=Fa;Ya=f[(ic>2]|0;f[m>>2]=Ya;ma=(f[s>>2]=Ya,+n[s>>2]);ic=(f[s>>2]=Fa,+n[s>>2]);Fa=ic>2]:(f[s>>2]=Ya,+n[s>>2]);oc=Fa?ma:ic;n[l>>2]=oc;ic=lc>kc?lc:kc;n[m>>2]=ic;f[oa+(Pa<<2)>>2]=f[(oc>2];Pa=Pa+1|0}while((Pa|0)!=(va|0));pc=va}else pc=Db;if((va|0)==(ka|0))break;if((pc|0)>(ja|0)){va=ka;Db=pc;continue}else qc=pc;while(1){Pa=ia+(qc<<2)|0;Fa=f[Pa+(Ga<<2)>>2]|0;Ya=f[Pa>>2]|0;f[k>>2]=Ya;La=f[Pa+(Qa<<2)>>2]|0;f[l>>2]=La;Pa=Ea+(qc<<2)|0;Eb=f[Pa+(Ga<<2)>>2]|0;Ca=f[Pa>>2]|0;f[m>>2]=Ca;sa=f[Pa+(Qa<<2)>>2]|0;f[o>>2]=sa;Pa=Va+(qc<<2)|0;$a=f[Pa+(Ga<<2)>>2]|0;ab=f[Pa>>2]|0;f[p>>2]=ab;ga=f[Pa+(Qa<<2)>>2]|0;f[q>>2]=ga;ic=(f[s>>2]=Ya,+n[s>>2]);oc=(f[s>>2]=La,+n[s>>2]);La=oc>2]|0;kc=La?ic:oc;n[l>>2]=kc;oc=(f[s>>2]=Ca,+n[s>>2]);ic=(f[s>>2]=sa,+n[s>>2]);sa=ic>2]|0;lc=sa?oc:ic;n[o>>2]=lc;ic=(f[s>>2]=ab,+n[s>>2]);oc=(f[s>>2]=ga,+n[s>>2]);ga=oc>2]|0;ma=ga?ic:oc;n[q>>2]=ma;oc=(f[s>>2]=Fa,+n[s>>2]);ic=(f[s>>2]=Ya,+n[s>>2]);ga=ic>2]=jc;ic=(f[s>>2]=Eb,+n[s>>2]);oc=(f[s>>2]=Ca,+n[s>>2]);sa=oc>2]=nc;oc=(f[s>>2]=$a,+n[s>>2]);ic=(f[s>>2]=ab,+n[s>>2]);La=ic>2]=mc;Pa=kc>2]:+n[k>>2];oc=Pa?jc:kc;n[l>>2]=oc;Pa=lc>2]|0;f[m>>2]=Oa;kc=Pa?nc:lc;n[o>>2]=kc;Pa=ma>2]|0;f[p>>2]=wa;lc=Pa?mc:ma;n[q>>2]=lc;ma=(f[s>>2]=ga?Ya:Fa,+n[s>>2]);mc=(f[s>>2]=sa?Ca:Eb,+n[s>>2]);nc=mc>2]|0;f[o>>2]=Eb;kc=(f[s>>2]=Oa,+n[s>>2]);lc=(f[s>>2]=wa,+n[s>>2]);wa=lc>2]:+n[m>>2];ma=wa?kc:lc;n[p>>2]=ma;lc=(f[s>>2]=La?ab:$a,+n[s>>2]);kc=nc>lc?nc:lc;lc=mc>2]=lc;$a=f[(oc>(f[s>>2]=Eb,+n[s>>2])?o:l)>>2]|0;f[l>>2]=$a;Eb=f[(ma>2]|0;f[m>>2]=Eb;lc=(f[s>>2]=Eb,+n[s>>2]);ma=(f[s>>2]=$a,+n[s>>2]);$a=ma>2]:(f[s>>2]=Eb,+n[s>>2]);mc=$a?lc:ma;n[l>>2]=mc;ma=kc>oc?kc:oc;n[m>>2]=ma;f[oa+(qc<<2)>>2]=f[(mc>2];$a=qc+1|0;if((qc|0)<(ja|0))qc=$a;else{va=ka;Db=$a;continue l}}}if((pa|0)==(ra|0))break;else oa=oa+(Ba<<2)|0}}break}case 5:{oa=(ra|0)==1;if((qa|0)==1|oa){pa=ra+qa|0;ka=pa+-1|0;ja=oa?Qa:Ja;Ga=oa?0:Ja-Qa|0;ea=oa?Qa:Ba;if((pa|0)<=1)break k;oa=0-ja|0;Na=oa<<1;Db=pa+-2|0;va=pa+-3|0;pa=ja<<1;Va=Ha;Ea=Aa;ia=0;while(1){$a=(ia|0)>0?oa:0;Eb=(ia|0)>1?Na:$a;ab=(ia|0)<(Db|0)?ja:0;La=(ia|0)<(va|0)?pa:ab;wa=Va;Oa=0;while(1){Ca=f[wa+(Eb<<2)>>2]|0;f[k>>2]=Ca;sa=f[wa+($a<<2)>>2]|0;f[l>>2]=sa;Fa=f[wa>>2]|0;f[m>>2]=Fa;Ya=f[wa+(ab<<2)>>2]|0;f[o>>2]=Ya;ga=f[wa+(La<<2)>>2]|0;f[p>>2]=ga;ma=(f[s>>2]=Ca,+n[s>>2]);mc=(f[s>>2]=sa,+n[s>>2]);sa=mc>2];kc=sa?ma:mc;mc=(f[s>>2]=Ya,+n[s>>2]);ma=(f[s>>2]=ga,+n[s>>2]);ga=ma>2]|0;f[o>>2]=Ya;lc=ga?mc:ma;n[p>>2]=lc;ma=(f[s>>2]=Fa,+n[s>>2]);mc=(f[s>>2]=Ya,+n[s>>2]);Fa=ma>mc;ic=Fa?(f[s>>2]=Ya,+n[s>>2]):+n[m>>2];nc=Fa?ma:mc;n[o>>2]=nc;Fa=lc>2]:nc;ma=Fa?nc:lc;n[p>>2]=ma;lc=oc>ic?oc:ic;n[m>>2]=lc;ic=mamc?mc:kc;n[Ea+(Oa<<2)>>2]=lc>ic?lc:ic;Oa=Oa+1|0;if((Oa|0)==(Qa|0))break;else wa=wa+4|0}ia=ia+1|0;if((ia|0)>=(ka|0))break k;else{Va=Va+(Qa<<2)+(Ga<<2)|0;Ea=Ea+(ea<<2)|0}}}ea=X(qa,Qa)|0;if((ra|0)>0){Ea=ra+-1|0;Ga=Qa<<1;Va=0-Ga|0;ka=ea+~Ga|0;ia=~Ka;pa=ea-Qa|0;va=ea-Ga|0;ja=Aa;Db=0;while(1){Na=Db+-2|0;oa=Ha+((X((Na|0)>0?Na:0,Ja)|0)<<2)|0;Na=Db+-1|0;wa=Ha+((X((Na|0)>0?Na:0,Ja)|0)<<2)|0;Na=Ha+((X(Db,Ja)|0)<<2)|0;Oa=Db;Db=Db+1|0;La=Ha+((X((Ea|0)<(Db|0)?Ea:Db,Ja)|0)<<2)|0;ab=Oa+2|0;Oa=Ha+((X((Ea|0)<(ab|0)?Ea:ab,Ja)|0)<<2)|0;ab=b[i>>0]&1?Ga:ea;$a=0;m:while(1){if(($a|0)<(ab|0)){Eb=$a;do{Fa=Eb-((Eb|0)>(Ka|0)?Qa:0)|0;Ya=(Eb|0)<(Ga|0)?Fa:Eb-Ga|0;ga=((Eb|0)<(pa|0)?Qa:0)+Eb|0;sa=(Eb|0)<(va|0)?Eb+Ga|0:ga;f[k>>2]=f[oa+(Ya<<2)>>2];Ca=f[oa+(Fa<<2)>>2]|0;f[l>>2]=Ca;Pa=f[oa+(Eb<<2)>>2]|0;f[m>>2]=Pa;f[o>>2]=f[oa+(ga<<2)>>2];f[p>>2]=f[oa+(sa<<2)>>2];f[q>>2]=f[wa+(Ya<<2)>>2];f[r>>2]=f[wa+(Fa<<2)>>2];f[t>>2]=f[wa+(Eb<<2)>>2];f[v>>2]=f[wa+(ga<<2)>>2];f[w>>2]=f[wa+(sa<<2)>>2];f[x>>2]=f[Na+(Ya<<2)>>2];f[y>>2]=f[Na+(Fa<<2)>>2];f[z>>2]=f[Na+(Eb<<2)>>2];f[A>>2]=f[Na+(ga<<2)>>2];f[B>>2]=f[Na+(sa<<2)>>2];f[C>>2]=f[La+(Ya<<2)>>2];f[D>>2]=f[La+(Fa<<2)>>2];f[E>>2]=f[La+(Eb<<2)>>2];f[F>>2]=f[La+(ga<<2)>>2];f[G>>2]=f[La+(sa<<2)>>2];f[H>>2]=f[Oa+(Ya<<2)>>2];f[I>>2]=f[Oa+(Fa<<2)>>2];f[J>>2]=f[Oa+(Eb<<2)>>2];f[K>>2]=f[Oa+(ga<<2)>>2];f[L>>2]=f[Oa+(sa<<2)>>2];ic=(f[s>>2]=Ca,+n[s>>2]);lc=(f[s>>2]=Pa,+n[s>>2]);Pa=lc>2]|0;f[l>>2]=Ca;kc=Pa?ic:lc;n[m>>2]=kc;lc=+n[k>>2];ic=(f[s>>2]=Ca,+n[s>>2]);Ca=lc>ic;Pa=f[(Ca?l:k)>>2]|0;f[k>>2]=Pa;mc=Ca?lc:ic;n[l>>2]=mc;Ca=kc>2]|0;f[l>>2]=sa;ic=Ca?mc:kc;n[m>>2]=ic;kc=+n[p>>2];mc=+n[q>>2];Ca=mc>2]|0;f[p>>2]=ga;lc=Ca?kc:mc;n[q>>2]=lc;mc=+n[o>>2];kc=(f[s>>2]=ga,+n[s>>2]);ga=mc>kc;Ca=f[(ga?p:o)>>2]|0;f[o>>2]=Ca;ma=ga?mc:kc;n[p>>2]=ma;ga=lc>2]|0;f[p>>2]=Fa;kc=ga?ma:lc;n[q>>2]=kc;lc=(f[s>>2]=Pa,+n[s>>2]);ma=(f[s>>2]=Ca,+n[s>>2]);Ca=ma>2]=f[(Ca?o:k)>>2];mc=Ca?lc:ma;n[o>>2]=mc;Ca=kc>2]|0;f[m>>2]=Pa;n[q>>2]=Ca?ic:kc;kc=(f[s>>2]=Pa,+n[s>>2]);Pa=mc>2]|0;f[m>>2]=Ca;ic=Pa?kc:mc;n[o>>2]=ic;mc=(f[s>>2]=sa,+n[s>>2]);kc=(f[s>>2]=Fa,+n[s>>2]);Fa=kc>2]|0;f[l>>2]=sa;ma=Fa?mc:kc;n[p>>2]=ma;kc=(f[s>>2]=sa,+n[s>>2]);mc=(f[s>>2]=Ca,+n[s>>2]);Ca=mc>2]=f[(Ca?m:l)>>2];n[m>>2]=Ca?kc:mc;Ca=ma>2]=f[(Ca?p:o)>>2];n[p>>2]=Ca?ic:ma;ma=+n[t>>2];ic=+n[v>>2];Ca=ic>2]|0;f[t>>2]=sa;mc=Ca?ma:ic;n[v>>2]=mc;ic=+n[r>>2];ma=(f[s>>2]=sa,+n[s>>2]);sa=ic>ma;Ca=f[(sa?t:r)>>2]|0;f[r>>2]=Ca;kc=sa?ic:ma;n[t>>2]=kc;sa=mc>2]|0;f[t>>2]=Fa;ma=sa?kc:mc;n[v>>2]=ma;mc=+n[x>>2];kc=+n[y>>2];sa=kc>2]|0;f[x>>2]=Pa;ic=sa?mc:kc;n[y>>2]=ic;kc=+n[w>>2];mc=(f[s>>2]=Pa,+n[s>>2]);Pa=kc>mc;sa=f[(Pa?x:w)>>2]|0;f[w>>2]=sa;lc=Pa?kc:mc;n[x>>2]=lc;Pa=ic>2]|0;f[x>>2]=ga;mc=Pa?lc:ic;n[y>>2]=mc;ic=(f[s>>2]=Ca,+n[s>>2]);lc=(f[s>>2]=sa,+n[s>>2]);sa=lc>2]|0;f[r>>2]=Ca;kc=sa?ic:lc;n[w>>2]=kc;sa=mc>2]|0;f[v>>2]=Pa;lc=sa?ma:mc;n[y>>2]=lc;mc=(f[s>>2]=Pa,+n[s>>2]);Pa=kc>2]|0;f[v>>2]=sa;ma=Pa?mc:kc;n[w>>2]=ma;kc=(f[s>>2]=Fa,+n[s>>2]);mc=(f[s>>2]=ga,+n[s>>2]);ga=mc>2]|0;f[t>>2]=Fa;ic=ga?kc:mc;n[x>>2]=ic;mc=(f[s>>2]=Fa,+n[s>>2]);kc=(f[s>>2]=sa,+n[s>>2]);sa=kc>2]|0;f[t>>2]=Fa;oc=sa?mc:kc;n[v>>2]=oc;sa=ic>2]|0;f[w>>2]=ga;kc=sa?ma:ic;n[x>>2]=kc;ic=+n[k>>2];ma=(f[s>>2]=Ca,+n[s>>2]);Ca=ic>ma;f[k>>2]=f[(Ca?r:k)>>2];mc=Ca?ic:ma;n[r>>2]=mc;ma=+n[p>>2];Ca=kc>2]|0;f[p>>2]=sa;n[x>>2]=Ca?ma:kc;kc=(f[s>>2]=sa,+n[s>>2]);sa=mc>2]|0;f[p>>2]=Ca;ma=sa?kc:mc;n[r>>2]=ma;mc=+n[m>>2];sa=oc>2]|0;f[m>>2]=Pa;kc=sa?mc:oc;n[v>>2]=kc;oc=(f[s>>2]=Pa,+n[s>>2]);mc=(f[s>>2]=Ca,+n[s>>2]);Ca=mc>2]|0;f[m>>2]=Pa;ic=Ca?oc:mc;n[p>>2]=ic;Ca=kc>2]|0;f[r>>2]=sa;mc=Ca?ma:kc;n[v>>2]=mc;kc=+n[l>>2];ma=(f[s>>2]=Fa,+n[s>>2]);Fa=kc>ma;Ca=f[(Fa?t:l)>>2]|0;f[l>>2]=Ca;oc=Fa?kc:ma;n[t>>2]=oc;ma=+n[q>>2];Fa=lc>2]|0;f[q>>2]=Ya;n[y>>2]=Fa?ma:lc;lc=(f[s>>2]=Ya,+n[s>>2]);Ya=oc>2]|0;f[q>>2]=Fa;ma=Ya?lc:oc;n[t>>2]=ma;oc=+n[o>>2];lc=(f[s>>2]=ga,+n[s>>2]);ga=oc>lc;Ya=f[(ga?w:o)>>2]|0;f[o>>2]=Ya;kc=ga?oc:lc;n[w>>2]=kc;lc=(f[s>>2]=Ya,+n[s>>2]);oc=(f[s>>2]=Fa,+n[s>>2]);Fa=oc>2]|0;f[o>>2]=Ya;nc=Fa?lc:oc;n[q>>2]=nc;Fa=kc>2]|0;f[t>>2]=ga;oc=Fa?ma:kc;n[w>>2]=oc;kc=(f[s>>2]=Ca,+n[s>>2]);ma=(f[s>>2]=Pa,+n[s>>2]);Pa=ma>2]=f[(Pa?m:l)>>2];n[m>>2]=Pa?kc:ma;ma=(f[s>>2]=Ya,+n[s>>2]);Ya=ic>2]=f[(Ya?p:o)>>2];n[p>>2]=Ya?ma:ic;ic=(f[s>>2]=sa,+n[s>>2]);sa=nc>ic;f[q>>2]=f[(sa?r:q)>>2];n[r>>2]=sa?nc:ic;ic=(f[s>>2]=ga,+n[s>>2]);ga=mc>2]=f[(ga?v:t)>>2];n[v>>2]=ga?ic:mc;mc=+n[x>>2];ga=mc>2]=f[(ga?x:w)>>2];n[x>>2]=ga?oc:mc;mc=+n[A>>2];oc=+n[B>>2];ga=oc>2]|0;f[A>>2]=sa;ic=ga?mc:oc;n[B>>2]=ic;oc=+n[z>>2];mc=(f[s>>2]=sa,+n[s>>2]);sa=oc>mc;ga=f[(sa?A:z)>>2]|0;f[z>>2]=ga;nc=sa?oc:mc;n[A>>2]=nc;sa=ic>2]|0;f[A>>2]=Ya;mc=sa?nc:ic;n[B>>2]=mc;ic=+n[D>>2];nc=+n[E>>2];sa=nc>2]|0;f[D>>2]=Pa;oc=sa?ic:nc;n[E>>2]=oc;nc=+n[C>>2];ic=(f[s>>2]=Pa,+n[s>>2]);Pa=nc>ic;sa=f[(Pa?D:C)>>2]|0;f[C>>2]=sa;ma=Pa?nc:ic;n[D>>2]=ma;Pa=oc>2]|0;f[D>>2]=Ca;ic=Pa?ma:oc;n[E>>2]=ic;oc=(f[s>>2]=ga,+n[s>>2]);ma=(f[s>>2]=sa,+n[s>>2]);sa=ma>2]=f[(sa?C:z)>>2];nc=sa?oc:ma;n[C>>2]=nc;sa=ic>2]|0;f[B>>2]=ga;n[E>>2]=sa?mc:ic;ic=(f[s>>2]=ga,+n[s>>2]);ga=nc>2]|0;f[B>>2]=sa;mc=ga?ic:nc;n[C>>2]=mc;nc=(f[s>>2]=Ya,+n[s>>2]);ic=(f[s>>2]=Ca,+n[s>>2]);Ca=ic>2]|0;f[A>>2]=Ya;ma=Ca?nc:ic;n[D>>2]=ma;ic=(f[s>>2]=Ya,+n[s>>2]);nc=(f[s>>2]=sa,+n[s>>2]);sa=nc>2]=f[(sa?B:A)>>2];n[B>>2]=sa?ic:nc;sa=ma>2]=f[(sa?D:C)>>2];n[D>>2]=sa?mc:ma;ma=+n[G>>2];mc=+n[H>>2];sa=mc>2]|0;f[G>>2]=Ya;nc=sa?ma:mc;n[H>>2]=nc;mc=+n[F>>2];ma=(f[s>>2]=Ya,+n[s>>2]);Ya=mc>ma;sa=f[(Ya?G:F)>>2]|0;f[F>>2]=sa;ic=Ya?mc:ma;n[G>>2]=ic;Ya=nc>2]|0;f[G>>2]=Ca;ma=Ya?ic:nc;n[H>>2]=ma;nc=+n[I>>2];ic=+n[J>>2];Ya=ic>2]|0;f[I>>2]=ga;mc=Ya?nc:ic;n[J>>2]=mc;ic=+n[K>>2];nc=+n[L>>2];Ya=nc>2]|0;f[K>>2]=Pa;oc=Ya?ic:nc;n[L>>2]=oc;nc=(f[s>>2]=ga,+n[s>>2]);ic=(f[s>>2]=Pa,+n[s>>2]);Pa=nc>ic;ga=f[(Pa?K:I)>>2]|0;f[I>>2]=ga;kc=Pa?nc:ic;n[K>>2]=kc;Pa=oc>2]|0;f[J>>2]=Ya;ic=Pa?mc:oc;n[L>>2]=ic;oc=(f[s>>2]=Ya,+n[s>>2]);Ya=kc>2]|0;f[J>>2]=Pa;mc=Ya?oc:kc;n[K>>2]=mc;kc=(f[s>>2]=sa,+n[s>>2]);oc=(f[s>>2]=ga,+n[s>>2]);ga=oc>2]|0;f[F>>2]=sa;nc=ga?kc:oc;n[I>>2]=nc;ga=mc>2]|0;f[H>>2]=Ya;oc=ga?ma:mc;n[K>>2]=oc;mc=(f[s>>2]=Ya,+n[s>>2]);Ya=nc>2]|0;f[H>>2]=ga;ma=Ya?mc:nc;n[I>>2]=ma;nc=(f[s>>2]=Ca,+n[s>>2]);mc=(f[s>>2]=Pa,+n[s>>2]);Pa=mc>2]|0;f[G>>2]=Ca;kc=Pa?nc:mc;n[J>>2]=kc;Pa=ic>2]|0;f[J>>2]=Ya;mc=Pa?kc:ic;n[L>>2]=mc;ic=(f[s>>2]=Ca,+n[s>>2]);kc=(f[s>>2]=ga,+n[s>>2]);ga=kc>2]|0;f[G>>2]=Ca;nc=ga?ic:kc;n[H>>2]=nc;kc=(f[s>>2]=Ya,+n[s>>2]);Ya=ma>kc;f[I>>2]=f[(Ya?J:I)>>2];ic=Ya?ma:kc;n[J>>2]=ic;Ya=mc>2]|0;f[K>>2]=ga;kc=Ya?oc:mc;n[L>>2]=kc;mc=+n[z>>2];oc=(f[s>>2]=sa,+n[s>>2]);sa=mc>oc;f[z>>2]=f[(sa?F:z)>>2];ma=sa?mc:oc;n[F>>2]=ma;oc=+n[D>>2];sa=ic>2]|0;f[D>>2]=Ya;mc=sa?oc:ic;n[J>>2]=mc;ic=(f[s>>2]=Ya,+n[s>>2]);Ya=ma>2]|0;f[D>>2]=sa;oc=Ya?ic:ma;n[F>>2]=oc;ma=+n[B>>2];Ya=nc>2]|0;f[B>>2]=Pa;ic=Ya?ma:nc;n[H>>2]=ic;Ya=kc>2]|0;f[H>>2]=Fa;nc=Ya?ic:kc;n[L>>2]=nc;kc=(f[s>>2]=Pa,+n[s>>2]);ic=(f[s>>2]=sa,+n[s>>2]);sa=ic>2]|0;f[B>>2]=Pa;ma=sa?kc:ic;n[D>>2]=ma;ic=(f[s>>2]=Fa,+n[s>>2]);Fa=oc>ic;sa=f[(Fa?H:F)>>2]|0;f[F>>2]=sa;kc=Fa?oc:ic;n[H>>2]=kc;Fa=nc>2]|0;f[J>>2]=Ya;ic=Fa?mc:nc;n[L>>2]=ic;nc=+n[A>>2];mc=(f[s>>2]=Ca,+n[s>>2]);Ca=nc>mc;Fa=f[(Ca?G:A)>>2]|0;f[A>>2]=Fa;oc=Ca?nc:mc;n[G>>2]=oc;mc=+n[E>>2];nc=(f[s>>2]=ga,+n[s>>2]);ga=mc>nc;Ca=f[(ga?K:E)>>2]|0;f[E>>2]=Ca;lc=ga?mc:nc;n[K>>2]=lc;nc=(f[s>>2]=Ca,+n[s>>2]);Ca=oc>2]|0;f[E>>2]=ga;mc=Ca?nc:oc;n[G>>2]=mc;oc=+n[C>>2];nc=+n[I>>2];Ca=nc>2]|0;f[C>>2]=kb;jc=Ca?oc:nc;n[I>>2]=jc;nc=(f[s>>2]=kb,+n[s>>2]);oc=(f[s>>2]=ga,+n[s>>2]);ga=oc>2]|0;f[C>>2]=kb;rc=ga?nc:oc;n[E>>2]=rc;ga=jc>2]|0;f[G>>2]=Ca;oc=ga?mc:jc;n[I>>2]=oc;jc=(f[s>>2]=Fa,+n[s>>2]);mc=(f[s>>2]=Pa,+n[s>>2]);Pa=mc>2]=f[(Pa?B:A)>>2];nc=Pa?jc:mc;n[B>>2]=nc;mc=(f[s>>2]=kb,+n[s>>2]);kb=ma>2]=f[(kb?D:C)>>2];jc=kb?mc:ma;n[D>>2]=jc;ma=(f[s>>2]=sa,+n[s>>2]);sa=rc>ma;f[E>>2]=f[(sa?F:E)>>2];mc=sa?rc:ma;n[F>>2]=mc;ma=(f[s>>2]=Ca,+n[s>>2]);Ca=kc>2]=f[(Ca?H:G)>>2];rc=Ca?ma:kc;n[H>>2]=rc;kc=(f[s>>2]=Ya,+n[s>>2]);Ya=oc>kc;f[I>>2]=f[(Ya?J:I)>>2];ma=Ya?oc:kc;n[J>>2]=ma;Ya=ic>2]=f[(Ya?L:K)>>2];kc=Ya?lc:ic;n[L>>2]=kc;ic=+n[k>>2];lc=+n[z>>2];Ya=lc>2]=f[(Ya?z:k)>>2];oc=Ya?ic:lc;n[z>>2]=oc;lc=+n[v>>2];Ya=rc>2]|0;f[v>>2]=Ca;n[H>>2]=Ya?lc:rc;rc=(f[s>>2]=Ca,+n[s>>2]);Ca=oc>2]=f[(Ca?z:v)>>2];lc=Ca?rc:oc;n[z>>2]=lc;oc=+n[p>>2];Ca=jc>2]=f[(Ca?D:p)>>2];rc=Ca?oc:jc;n[D>>2]=rc;Ca=kc>2]|0;f[D>>2]=Ya;n[L>>2]=Ca?rc:kc;kc=(f[s>>2]=Ya,+n[s>>2]);Ya=lc>kc;Ca=f[(Ya?D:z)>>2]|0;f[z>>2]=Ca;n[D>>2]=Ya?lc:kc;kc=+n[m>>2];Ya=nc>2]=f[(Ya?B:m)>>2];lc=Ya?kc:nc;n[B>>2]=lc;Ya=f[(ma<+n[x>>2]?J:x)>>2]|0;f[x>>2]=Ya;sa=f[(lc<(f[s>>2]=Ya,+n[s>>2])?B:x)>>2]|0;f[x>>2]=sa;Ya=f[(mc<+n[r>>2]?F:r)>>2]|0;f[r>>2]=Ya;mc=(f[s>>2]=Ya,+n[s>>2]);lc=(f[s>>2]=sa,+n[s>>2]);ma=lc>2]=ma;lc=(f[s>>2]=Ca,+n[s>>2]);mc=ma>lc?ma:lc;lc=+n[l>>2];ma=+n[A>>2];nc=ma>2]=nc;Ca=f[(+n[I>>2]<+n[w>>2]?I:w)>>2]|0;f[w>>2]=Ca;ma=(f[s>>2]=Ca,+n[s>>2]);lc=nc>2]=lc;nc=+n[q>>2];ma=+n[E>>2];kc=ma>2]=kc;ma=kc>2];kc=+n[o>>2];lc=+n[C>>2];nc=lc>2]=nc;Ca=f[(+n[K>>2]<+n[y>>2]?K:y)>>2]|0;f[y>>2]=Ca;sa=nc<(f[s>>2]=Ca,+n[s>>2]);nc=sa?+n[C>>2]:(f[s>>2]=Ca,+n[s>>2]);lc=+n[t>>2];kc=+n[G>>2];rc=kcma?ma:lc;n[ja+(Eb<<2)>>2]=mc(ka|0)){ab=ea;$a=sc;continue}else tc=sc;while(1){Eb=oa+(tc<<2)|0;f[k>>2]=f[Eb+(Va<<2)>>2];Ca=f[Eb+(ia<<2)>>2]|0;f[l>>2]=Ca;sa=f[Eb>>2]|0;f[m>>2]=sa;f[o>>2]=f[Eb+(Qa<<2)>>2];f[p>>2]=f[Eb+(Ga<<2)>>2];Eb=wa+(tc<<2)|0;f[q>>2]=f[Eb+(Va<<2)>>2];f[r>>2]=f[Eb+(ia<<2)>>2];f[t>>2]=f[Eb>>2];f[v>>2]=f[Eb+(Qa<<2)>>2];f[w>>2]=f[Eb+(Ga<<2)>>2];Eb=Na+(tc<<2)|0;f[x>>2]=f[Eb+(Va<<2)>>2];f[y>>2]=f[Eb+(ia<<2)>>2];f[z>>2]=f[Eb>>2];f[A>>2]=f[Eb+(Qa<<2)>>2];f[B>>2]=f[Eb+(Ga<<2)>>2];Eb=La+(tc<<2)|0;f[C>>2]=f[Eb+(Va<<2)>>2];f[D>>2]=f[Eb+(ia<<2)>>2];f[E>>2]=f[Eb>>2];f[F>>2]=f[Eb+(Qa<<2)>>2];f[G>>2]=f[Eb+(Ga<<2)>>2];Eb=Oa+(tc<<2)|0;f[H>>2]=f[Eb+(Va<<2)>>2];f[I>>2]=f[Eb+(ia<<2)>>2];f[J>>2]=f[Eb>>2];f[K>>2]=f[Eb+(Qa<<2)>>2];f[L>>2]=f[Eb+(Ga<<2)>>2];mc=(f[s>>2]=Ca,+n[s>>2]);nc=(f[s>>2]=sa,+n[s>>2]);sa=nc>2]|0;f[l>>2]=Ca;lc=sa?mc:nc;n[m>>2]=lc;nc=+n[k>>2];mc=(f[s>>2]=Ca,+n[s>>2]);Ca=nc>mc;sa=f[(Ca?l:k)>>2]|0;f[k>>2]=sa;ma=Ca?nc:mc;n[l>>2]=ma;Ca=lc>2]|0;f[l>>2]=Eb;mc=Ca?ma:lc;n[m>>2]=mc;lc=+n[p>>2];ma=+n[q>>2];Ca=ma>2]|0;f[p>>2]=Ya;nc=Ca?lc:ma;n[q>>2]=nc;ma=+n[o>>2];lc=(f[s>>2]=Ya,+n[s>>2]);Ya=ma>lc;Ca=f[(Ya?p:o)>>2]|0;f[o>>2]=Ca;rc=Ya?ma:lc;n[p>>2]=rc;Ya=nc>2]|0;f[p>>2]=kb;lc=Ya?rc:nc;n[q>>2]=lc;nc=(f[s>>2]=sa,+n[s>>2]);rc=(f[s>>2]=Ca,+n[s>>2]);Ca=rc>2]=f[(Ca?o:k)>>2];ma=Ca?nc:rc;n[o>>2]=ma;Ca=lc>2]|0;f[m>>2]=sa;n[q>>2]=Ca?mc:lc;lc=(f[s>>2]=sa,+n[s>>2]);sa=ma>2]|0;f[m>>2]=Ca;mc=sa?lc:ma;n[o>>2]=mc;ma=(f[s>>2]=Eb,+n[s>>2]);lc=(f[s>>2]=kb,+n[s>>2]);kb=lc>2]|0;f[l>>2]=Eb;rc=kb?ma:lc;n[p>>2]=rc;lc=(f[s>>2]=Eb,+n[s>>2]);ma=(f[s>>2]=Ca,+n[s>>2]);Ca=ma>2]=f[(Ca?m:l)>>2];n[m>>2]=Ca?lc:ma;Ca=rc>2]=f[(Ca?p:o)>>2];n[p>>2]=Ca?mc:rc;rc=+n[t>>2];mc=+n[v>>2];Ca=mc>2]|0;f[t>>2]=Eb;ma=Ca?rc:mc;n[v>>2]=ma;mc=+n[r>>2];rc=(f[s>>2]=Eb,+n[s>>2]);Eb=mc>rc;Ca=f[(Eb?t:r)>>2]|0;f[r>>2]=Ca;lc=Eb?mc:rc;n[t>>2]=lc;Eb=ma>2]|0;f[t>>2]=kb;rc=Eb?lc:ma;n[v>>2]=rc;ma=+n[x>>2];lc=+n[y>>2];Eb=lc>2]|0;f[x>>2]=sa;mc=Eb?ma:lc;n[y>>2]=mc;lc=+n[w>>2];ma=(f[s>>2]=sa,+n[s>>2]);sa=lc>ma;Eb=f[(sa?x:w)>>2]|0;f[w>>2]=Eb;nc=sa?lc:ma;n[x>>2]=nc;sa=mc>2]|0;f[x>>2]=Ya;ma=sa?nc:mc;n[y>>2]=ma;mc=(f[s>>2]=Ca,+n[s>>2]);nc=(f[s>>2]=Eb,+n[s>>2]);Eb=nc>2]|0;f[r>>2]=Ca;lc=Eb?mc:nc;n[w>>2]=lc;Eb=ma>2]|0;f[v>>2]=sa;nc=Eb?rc:ma;n[y>>2]=nc;ma=(f[s>>2]=sa,+n[s>>2]);sa=lc>2]|0;f[v>>2]=Eb;rc=sa?ma:lc;n[w>>2]=rc;lc=(f[s>>2]=kb,+n[s>>2]);ma=(f[s>>2]=Ya,+n[s>>2]);Ya=ma>2]|0;f[t>>2]=kb;mc=Ya?lc:ma;n[x>>2]=mc;ma=(f[s>>2]=kb,+n[s>>2]);lc=(f[s>>2]=Eb,+n[s>>2]);Eb=lc>2]|0;f[t>>2]=kb;kc=Eb?ma:lc;n[v>>2]=kc;Eb=mc>2]|0;f[w>>2]=Ya;lc=Eb?rc:mc;n[x>>2]=lc;mc=+n[k>>2];rc=(f[s>>2]=Ca,+n[s>>2]);Ca=mc>rc;f[k>>2]=f[(Ca?r:k)>>2];ma=Ca?mc:rc;n[r>>2]=ma;rc=+n[p>>2];Ca=lc>2]|0;f[p>>2]=Eb;n[x>>2]=Ca?rc:lc;lc=(f[s>>2]=Eb,+n[s>>2]);Eb=ma>2]|0;f[p>>2]=Ca;rc=Eb?lc:ma;n[r>>2]=rc;ma=+n[m>>2];Eb=kc>2]|0;f[m>>2]=sa;lc=Eb?ma:kc;n[v>>2]=lc;kc=(f[s>>2]=sa,+n[s>>2]);ma=(f[s>>2]=Ca,+n[s>>2]);Ca=ma>2]|0;f[m>>2]=sa;mc=Ca?kc:ma;n[p>>2]=mc;Ca=lc>2]|0;f[r>>2]=Eb;ma=Ca?rc:lc;n[v>>2]=ma;lc=+n[l>>2];rc=(f[s>>2]=kb,+n[s>>2]);kb=lc>rc;Ca=f[(kb?t:l)>>2]|0;f[l>>2]=Ca;kc=kb?lc:rc;n[t>>2]=kc;rc=+n[q>>2];kb=nc>2]|0;f[q>>2]=Pa;n[y>>2]=kb?rc:nc;nc=(f[s>>2]=Pa,+n[s>>2]);Pa=kc>2]|0;f[q>>2]=kb;rc=Pa?nc:kc;n[t>>2]=rc;kc=+n[o>>2];nc=(f[s>>2]=Ya,+n[s>>2]);Ya=kc>nc;Pa=f[(Ya?w:o)>>2]|0;f[o>>2]=Pa;lc=Ya?kc:nc;n[w>>2]=lc;nc=(f[s>>2]=Pa,+n[s>>2]);kc=(f[s>>2]=kb,+n[s>>2]);kb=kc>2]|0;f[o>>2]=Pa;jc=kb?nc:kc;n[q>>2]=jc;kb=lc>2]|0;f[t>>2]=Ya;kc=kb?rc:lc;n[w>>2]=kc;lc=(f[s>>2]=Ca,+n[s>>2]);rc=(f[s>>2]=sa,+n[s>>2]);sa=rc>2]=f[(sa?m:l)>>2];n[m>>2]=sa?lc:rc;rc=(f[s>>2]=Pa,+n[s>>2]);Pa=mc>2]=f[(Pa?p:o)>>2];n[p>>2]=Pa?rc:mc;mc=(f[s>>2]=Eb,+n[s>>2]);Eb=jc>mc;f[q>>2]=f[(Eb?r:q)>>2];n[r>>2]=Eb?jc:mc;mc=(f[s>>2]=Ya,+n[s>>2]);Ya=ma>2]=f[(Ya?v:t)>>2];n[v>>2]=Ya?mc:ma;ma=+n[x>>2];Ya=ma>2]=f[(Ya?x:w)>>2];n[x>>2]=Ya?kc:ma;ma=+n[A>>2];kc=+n[B>>2];Ya=kc>2]|0;f[A>>2]=Eb;mc=Ya?ma:kc;n[B>>2]=mc;kc=+n[z>>2];ma=(f[s>>2]=Eb,+n[s>>2]);Eb=kc>ma;Ya=f[(Eb?A:z)>>2]|0;f[z>>2]=Ya;jc=Eb?kc:ma;n[A>>2]=jc;Eb=mc>2]|0;f[A>>2]=Pa;ma=Eb?jc:mc;n[B>>2]=ma;mc=+n[D>>2];jc=+n[E>>2];Eb=jc>2]|0;f[D>>2]=sa;kc=Eb?mc:jc;n[E>>2]=kc;jc=+n[C>>2];mc=(f[s>>2]=sa,+n[s>>2]);sa=jc>mc;Eb=f[(sa?D:C)>>2]|0;f[C>>2]=Eb;rc=sa?jc:mc;n[D>>2]=rc;sa=kc>2]|0;f[D>>2]=Ca;mc=sa?rc:kc;n[E>>2]=mc;kc=(f[s>>2]=Ya,+n[s>>2]);rc=(f[s>>2]=Eb,+n[s>>2]);Eb=rc>2]=f[(Eb?C:z)>>2];jc=Eb?kc:rc;n[C>>2]=jc;Eb=mc>2]|0;f[B>>2]=Ya;n[E>>2]=Eb?ma:mc;mc=(f[s>>2]=Ya,+n[s>>2]);Ya=jc>2]|0;f[B>>2]=Eb;ma=Ya?mc:jc;n[C>>2]=ma;jc=(f[s>>2]=Pa,+n[s>>2]);mc=(f[s>>2]=Ca,+n[s>>2]);Ca=mc>2]|0;f[A>>2]=Pa;rc=Ca?jc:mc;n[D>>2]=rc;mc=(f[s>>2]=Pa,+n[s>>2]);jc=(f[s>>2]=Eb,+n[s>>2]);Eb=jc>2]=f[(Eb?B:A)>>2];n[B>>2]=Eb?mc:jc;Eb=rc>2]=f[(Eb?D:C)>>2];n[D>>2]=Eb?ma:rc;rc=+n[G>>2];ma=+n[H>>2];Eb=ma>2]|0;f[G>>2]=Pa;jc=Eb?rc:ma;n[H>>2]=jc;ma=+n[F>>2];rc=(f[s>>2]=Pa,+n[s>>2]);Pa=ma>rc;Eb=f[(Pa?G:F)>>2]|0;f[F>>2]=Eb;mc=Pa?ma:rc;n[G>>2]=mc;Pa=jc>2]|0;f[G>>2]=Ca;rc=Pa?mc:jc;n[H>>2]=rc;jc=+n[I>>2];mc=+n[J>>2];Pa=mc>2]|0;f[I>>2]=Ya;ma=Pa?jc:mc;n[J>>2]=ma;mc=+n[K>>2];jc=+n[L>>2];Pa=jc>2]|0;f[K>>2]=sa;kc=Pa?mc:jc;n[L>>2]=kc;jc=(f[s>>2]=Ya,+n[s>>2]);mc=(f[s>>2]=sa,+n[s>>2]);sa=jc>mc;Ya=f[(sa?K:I)>>2]|0;f[I>>2]=Ya;lc=sa?jc:mc;n[K>>2]=lc;sa=kc>2]|0;f[J>>2]=Pa;mc=sa?ma:kc;n[L>>2]=mc;kc=(f[s>>2]=Pa,+n[s>>2]);Pa=lc>2]|0;f[J>>2]=sa;ma=Pa?kc:lc;n[K>>2]=ma;lc=(f[s>>2]=Eb,+n[s>>2]);kc=(f[s>>2]=Ya,+n[s>>2]);Ya=kc>2]|0;f[F>>2]=Eb;jc=Ya?lc:kc;n[I>>2]=jc;Ya=ma>2]|0;f[H>>2]=Pa;kc=Ya?rc:ma;n[K>>2]=kc;ma=(f[s>>2]=Pa,+n[s>>2]);Pa=jc>2]|0;f[H>>2]=Ya;rc=Pa?ma:jc;n[I>>2]=rc;jc=(f[s>>2]=Ca,+n[s>>2]);ma=(f[s>>2]=sa,+n[s>>2]);sa=ma>2]|0;f[G>>2]=Ca;lc=sa?jc:ma;n[J>>2]=lc;sa=mc>2]|0;f[J>>2]=Pa;ma=sa?lc:mc;n[L>>2]=ma;mc=(f[s>>2]=Ca,+n[s>>2]);lc=(f[s>>2]=Ya,+n[s>>2]);Ya=lc>2]|0;f[G>>2]=Ca;jc=Ya?mc:lc;n[H>>2]=jc;lc=(f[s>>2]=Pa,+n[s>>2]);Pa=rc>lc;f[I>>2]=f[(Pa?J:I)>>2];mc=Pa?rc:lc;n[J>>2]=mc;Pa=ma>2]|0;f[K>>2]=Ya;lc=Pa?kc:ma;n[L>>2]=lc;ma=+n[z>>2];kc=(f[s>>2]=Eb,+n[s>>2]);Eb=ma>kc;f[z>>2]=f[(Eb?F:z)>>2];rc=Eb?ma:kc;n[F>>2]=rc;kc=+n[D>>2];Eb=mc>2]|0;f[D>>2]=Pa;ma=Eb?kc:mc;n[J>>2]=ma;mc=(f[s>>2]=Pa,+n[s>>2]);Pa=rc>2]|0;f[D>>2]=Eb;kc=Pa?mc:rc;n[F>>2]=kc;rc=+n[B>>2];Pa=jc>2]|0;f[B>>2]=sa;mc=Pa?rc:jc;n[H>>2]=mc;Pa=lc>2]|0;f[H>>2]=kb;jc=Pa?mc:lc;n[L>>2]=jc;lc=(f[s>>2]=sa,+n[s>>2]);mc=(f[s>>2]=Eb,+n[s>>2]);Eb=mc>2]|0;f[B>>2]=sa;rc=Eb?lc:mc;n[D>>2]=rc;mc=(f[s>>2]=kb,+n[s>>2]);kb=kc>mc;Eb=f[(kb?H:F)>>2]|0;f[F>>2]=Eb;lc=kb?kc:mc;n[H>>2]=lc;kb=jc>2]|0;f[J>>2]=Pa;mc=kb?ma:jc;n[L>>2]=mc;jc=+n[A>>2];ma=(f[s>>2]=Ca,+n[s>>2]);Ca=jc>ma;kb=f[(Ca?G:A)>>2]|0;f[A>>2]=kb;kc=Ca?jc:ma;n[G>>2]=kc;ma=+n[E>>2];jc=(f[s>>2]=Ya,+n[s>>2]);Ya=ma>jc;Ca=f[(Ya?K:E)>>2]|0;f[E>>2]=Ca;nc=Ya?ma:jc;n[K>>2]=nc;jc=(f[s>>2]=Ca,+n[s>>2]);Ca=kc>2]|0;f[E>>2]=Ya;ma=Ca?jc:kc;n[G>>2]=ma;kc=+n[C>>2];jc=+n[I>>2];Ca=jc>2]|0;f[C>>2]=Fa;oc=Ca?kc:jc;n[I>>2]=oc;jc=(f[s>>2]=Fa,+n[s>>2]);kc=(f[s>>2]=Ya,+n[s>>2]);Ya=kc>2]|0;f[C>>2]=Fa;ic=Ya?jc:kc;n[E>>2]=ic;Ya=oc>2]|0;f[G>>2]=Ca;kc=Ya?ma:oc;n[I>>2]=kc;oc=(f[s>>2]=kb,+n[s>>2]);ma=(f[s>>2]=sa,+n[s>>2]);sa=ma>2]=f[(sa?B:A)>>2];jc=sa?oc:ma;n[B>>2]=jc;ma=(f[s>>2]=Fa,+n[s>>2]);Fa=rc>2]=f[(Fa?D:C)>>2];oc=Fa?ma:rc;n[D>>2]=oc;rc=(f[s>>2]=Eb,+n[s>>2]);Eb=ic>rc;f[E>>2]=f[(Eb?F:E)>>2];ma=Eb?ic:rc;n[F>>2]=ma;rc=(f[s>>2]=Ca,+n[s>>2]);Ca=lc>2]=f[(Ca?H:G)>>2];ic=Ca?rc:lc;n[H>>2]=ic;lc=(f[s>>2]=Pa,+n[s>>2]);Pa=kc>lc;f[I>>2]=f[(Pa?J:I)>>2];rc=Pa?kc:lc;n[J>>2]=rc;Pa=mc>2]=f[(Pa?L:K)>>2];lc=Pa?nc:mc;n[L>>2]=lc;mc=+n[k>>2];nc=+n[z>>2];Pa=nc>2]=f[(Pa?z:k)>>2];kc=Pa?mc:nc;n[z>>2]=kc;nc=+n[v>>2];Pa=ic>2]|0;f[v>>2]=Ca;n[H>>2]=Pa?nc:ic;ic=(f[s>>2]=Ca,+n[s>>2]);Ca=kc>2]=f[(Ca?z:v)>>2];nc=Ca?ic:kc;n[z>>2]=nc;kc=+n[p>>2];Ca=oc>2]=f[(Ca?D:p)>>2];ic=Ca?kc:oc;n[D>>2]=ic;Ca=lc>2]|0;f[D>>2]=Pa;n[L>>2]=Ca?ic:lc;lc=(f[s>>2]=Pa,+n[s>>2]);Pa=nc>lc;Ca=f[(Pa?D:z)>>2]|0;f[z>>2]=Ca;n[D>>2]=Pa?nc:lc;lc=+n[m>>2];Pa=jc>2]=f[(Pa?B:m)>>2];nc=Pa?lc:jc;n[B>>2]=nc;Pa=f[(rc<+n[x>>2]?J:x)>>2]|0;f[x>>2]=Pa;Eb=f[(nc<(f[s>>2]=Pa,+n[s>>2])?B:x)>>2]|0;f[x>>2]=Eb;Pa=f[(ma<+n[r>>2]?F:r)>>2]|0;f[r>>2]=Pa;ma=(f[s>>2]=Pa,+n[s>>2]);nc=(f[s>>2]=Eb,+n[s>>2]);rc=nc>2]=rc;nc=(f[s>>2]=Ca,+n[s>>2]);ma=rc>nc?rc:nc;nc=+n[l>>2];rc=+n[A>>2];jc=rc>2]=jc;Ca=f[(+n[I>>2]<+n[w>>2]?I:w)>>2]|0;f[w>>2]=Ca;rc=(f[s>>2]=Ca,+n[s>>2]);nc=jc>2]=nc;jc=+n[q>>2];rc=+n[E>>2];lc=rc>2]=lc;rc=lc>2];lc=+n[o>>2];nc=+n[C>>2];jc=nc>2]=jc;Ca=f[(+n[K>>2]<+n[y>>2]?K:y)>>2]|0;f[y>>2]=Ca;Eb=jc<(f[s>>2]=Ca,+n[s>>2]);jc=Eb?+n[C>>2]:(f[s>>2]=Ca,+n[s>>2]);nc=+n[t>>2];lc=+n[G>>2];ic=lcrc?rc:nc;n[ja+(tc<<2)>>2]=ma>2]=0;f[i+4>>2]=0;EP(-210,i,195848,193076,4597);KV(i);break a}}}while(0);i=Q+36|0;tc=f[i>>2]|0;if(tc|0?(G=tc+12|0,tc=f[G>>2]|0,f[G>>2]=tc+-1,(tc|0)==1):0)XO(Q);f[i>>2]=0;i=Q+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[V>>2]|0)>0){i=f[$>>2]|0;$=0;do{f[i+($<<2)>>2]=0;$=$+1|0}while(($|0)<(f[V>>2]|0))}V=f[Z>>2]|0;if((V|0)!=(Y|0))dX(V);V=P+36|0;Y=f[V>>2]|0;if(Y|0?(Z=Y+12|0,Y=f[Z>>2]|0,f[Z>>2]=Y+-1,(Y|0)==1):0)XO(P);f[V>>2]=0;V=P+4|0;f[ca>>2]=0;f[ca+4>>2]=0;f[ca+8>>2]=0;f[ca+12>>2]=0;if((f[V>>2]|0)>0){ca=f[P+40>>2]|0;Y=0;do{f[ca+(Y<<2)>>2]=0;Y=Y+1|0}while((Y|0)<(f[V>>2]|0))}V=f[P+44>>2]|0;if((V|0)!=(P+48|0))dX(V);V=N+36|0;P=f[V>>2]|0;if(P|0?(Y=P+12|0,P=f[Y>>2]|0,f[Y>>2]=P+-1,(P|0)==1):0)XO(N);f[V>>2]=0;V=N+4|0;f[W>>2]=0;f[W+4>>2]=0;f[W+8>>2]=0;f[W+12>>2]=0;if((f[V>>2]|0)>0){W=f[ba>>2]|0;ba=0;do{f[W+(ba<<2)>>2]=0;ba=ba+1|0}while((ba|0)<(f[V>>2]|0))}V=f[N+44>>2]|0;if((V|0)!=(N+48|0))dX(V)}else XJ(a,c);if(!(f[M+4>>2]|0)){u=g;return}u=g;return}function G1(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,$e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,kf=0;e=u;u=u+128|0;g=e+120|0;i=e+100|0;j=e;k=f[a+16>>2]|0;l=f[c+16>>2]|0;m=f[a+48>>2]|0;n=f[c+48>>2]|0;o=f[c+40>>2]|0;c=f[o+4>>2]|0;p=f[o>>2]|0;o=(f[a>>2]|0)>>>3&511;a=o+1|0;b[g>>0]=0;switch(d|0){case 3:{d=(p|0)==1;if((c|0)==1|d){q=p+c|0;r=q+-1|0;s=d?a:m;t=d?0:m-a|0;v=d?a:n;if((q|0)<=1){u=e;return}d=0-s|0;w=q+-2|0;q=k;x=l;y=0;while(1){z=(y|0)>0?d:0;A=(y|0)<(w|0)?s:0;B=0;C=q;while(1){D=h[C+z>>0]|0;E=h[C>>0]|0;F=D-E+256|0;if(F>>>0<769)G=h[243744+F>>0]|0;else G=0;F=G+E|0;E=F-(h[C+A>>0]|0)+256|0;if(E>>>0<769)H=h[243744+E>>0]|0;else H=0;E=F-H|0;F=(D|256)-G-E|0;if(F>>>0<769)I=h[243744+F>>0]|0;else I=0;b[x+B>>0]=I+E;B=B+1|0;if((B|0)==(a|0))break;else C=C+1|0}y=y+1|0;if((y|0)>=(r|0))break;else{q=q+a+t|0;x=x+v|0}}u=e;return}v=X(a,c)|0;if((p|0)<=0){u=e;return}x=p+-1|0;t=-2-o+v|0;q=~o;r=v-a|0;y=l;I=0;while(1){G=I+-1|0;H=k+(X((G|0)>0?G:0,m)|0)|0;G=k+(X(I,m)|0)|0;I=I+1|0;s=k+(X((x|0)<(I|0)?x:I,m)|0)|0;w=b[g>>0]&1?a:v;d=0;a:while(1){if((d|0)<(w|0)){C=d;do{B=C-((C|0)>(o|0)?a:0)|0;A=((C|0)<(r|0)?a:0)+C|0;z=h[H+B>>0]|0;E=h[H+C>>0]|0;F=h[H+A>>0]|0;D=h[G+B>>0]|0;J=h[G+C>>0]|0;K=h[G+A>>0]|0;L=h[s+B>>0]|0;B=h[s+C>>0]|0;M=h[s+A>>0]|0;A=E-F+256|0;if(A>>>0<769)N=h[243744+A>>0]|0;else N=0;A=N+F|0;F=E-N|0;E=J-K+256|0;if(E>>>0<769)O=h[243744+E>>0]|0;else O=0;E=O+K|0;K=J-O|0;J=B-M+256|0;if(J>>>0<769)P=h[243744+J>>0]|0;else P=0;J=P+M|0;M=B-P|0;B=z-F+256|0;if(B>>>0<769)Q=h[243744+B>>0]|0;else Q=0;B=Q+F|0;F=D-K+256|0;if(F>>>0<769)R=h[243744+F>>0]|0;else R=0;F=R+K|0;K=D-R|0;D=L-M+256|0;if(D>>>0<769)S=h[243744+D>>0]|0;else S=0;D=S+M|0;M=L-S|0;L=B-A+256|0;if(L>>>0<769)T=h[243744+L>>0]|0;else T=0;L=T+A|0;A=F-E+256|0;if(A>>>0<769)U=h[243744+A>>0]|0;else U=0;A=U+E|0;E=F-U|0;F=D-J+256|0;if(F>>>0<769)V=h[243744+F>>0]|0;else V=0;F=D-V|0;D=(z|256)-Q-K|0;if(D>>>0<769)W=h[243744+D>>0]|0;else W=0;D=256-J+A-V|0;if(D>>>0<769)Y=h[243744+D>>0]|0;else Y=0;D=E-F+256|0;if(D>>>0<769)Z=h[243744+D>>0]|0;else Z=0;D=E-Z|0;E=K+256-M+W|0;if(E>>>0<769)_=h[243744+E>>0]|0;else _=0;E=B+256-T-D|0;if(E>>>0<769)$=h[243744+E>>0]|0;else $=0;E=$+D|0;D=L+256-A+Y|0;if(D>>>0<769)aa=h[243744+D>>0]|0;else aa=0;D=L-aa|0;L=256-F-Z+E|0;if(L>>>0<769)ba=h[243744+L>>0]|0;else ba=0;L=E-ba|0;E=L-D+256|0;if(E>>>0<769)ca=h[243744+E>>0]|0;else ca=0;E=L-ca|0;L=M+256+_-E|0;if(L>>>0<769)da=h[243744+L>>0]|0;else da=0;L=da+E|0;E=256-D-ca+L|0;if(E>>>0<769)ea=h[243744+E>>0]|0;else ea=0;b[y+C>>0]=L-ea;C=C+1|0}while((C|0)!=(w|0));fa=w}else fa=d;if((w|0)==(v|0))break;if((fa|0)>(t|0)){w=v;d=fa;continue}else ga=fa;while(1){C=H+ga|0;L=h[C+q>>0]|0;E=h[C>>0]|0;D=h[C+a>>0]|0;C=G+ga|0;M=h[C+q>>0]|0;F=h[C>>0]|0;A=h[C+a>>0]|0;C=s+ga|0;B=h[C+q>>0]|0;K=h[C>>0]|0;J=h[C+a>>0]|0;C=E-D+256|0;if(C>>>0<769)ha=h[243744+C>>0]|0;else ha=0;C=ha+D|0;D=E-ha|0;E=F-A+256|0;if(E>>>0<769)ia=h[243744+E>>0]|0;else ia=0;E=ia+A|0;A=F-ia|0;F=K-J+256|0;if(F>>>0<769)ja=h[243744+F>>0]|0;else ja=0;F=ja+J|0;J=K-ja|0;K=L-D+256|0;if(K>>>0<769)ka=h[243744+K>>0]|0;else ka=0;K=ka+D|0;D=M-A+256|0;if(D>>>0<769)la=h[243744+D>>0]|0;else la=0;D=la+A|0;A=M-la|0;M=B-J+256|0;if(M>>>0<769)ma=h[243744+M>>0]|0;else ma=0;M=ma+J|0;J=B-ma|0;B=K-C+256|0;if(B>>>0<769)na=h[243744+B>>0]|0;else na=0;B=na+C|0;C=D-E+256|0;if(C>>>0<769)oa=h[243744+C>>0]|0;else oa=0;C=oa+E|0;E=D-oa|0;D=M-F+256|0;if(D>>>0<769)pa=h[243744+D>>0]|0;else pa=0;D=M-pa|0;M=(L|256)-ka-A|0;if(M>>>0<769)qa=h[243744+M>>0]|0;else qa=0;M=256-F+C-pa|0;if(M>>>0<769)ra=h[243744+M>>0]|0;else ra=0;M=E-D+256|0;if(M>>>0<769)sa=h[243744+M>>0]|0;else sa=0;M=E-sa|0;E=A+256-J+qa|0;if(E>>>0<769)ta=h[243744+E>>0]|0;else ta=0;E=K+256-na-M|0;if(E>>>0<769)ua=h[243744+E>>0]|0;else ua=0;E=ua+M|0;M=B+256-C+ra|0;if(M>>>0<769)va=h[243744+M>>0]|0;else va=0;M=B-va|0;B=256-D-sa+E|0;if(B>>>0<769)wa=h[243744+B>>0]|0;else wa=0;B=E-wa|0;E=B-M+256|0;if(E>>>0<769)xa=h[243744+E>>0]|0;else xa=0;E=B-xa|0;B=J+256+ta-E|0;if(B>>>0<769)ya=h[243744+B>>0]|0;else ya=0;B=ya+E|0;E=256-M-xa+B|0;if(E>>>0<769)za=h[243744+E>>0]|0;else za=0;b[y+ga>>0]=B-za;B=ga+1|0;if((ga|0)<(t|0))ga=B;else{w=v;d=B;continue a}}}if((I|0)==(p|0))break;else y=y+n|0}u=e;return}case 5:{y=(p|0)==1;if((c|0)==1|y){I=p+c|0;v=I+-1|0;ga=y?a:m;t=y?0:m-a|0;za=y?a:n;if((I|0)<=1){u=e;return}y=0-ga|0;xa=y<<1;ya=I+-2|0;ta=I+-3|0;I=ga<<1;wa=k;sa=l;va=0;while(1){ra=(va|0)>0?y:0;ua=(va|0)>1?xa:ra;na=(va|0)<(ya|0)?ga:0;qa=(va|0)<(ta|0)?I:na;pa=wa;ka=0;while(1){oa=h[pa+ua>>0]|0;ma=h[pa+ra>>0]|0;la=h[pa>>0]|0;ja=h[pa+na>>0]|0;ia=h[pa+qa>>0]|0;ha=oa-ma+256|0;if(ha>>>0<769)Aa=h[243744+ha>>0]|0;else Aa=0;ha=ja-ia+256|0;if(ha>>>0<769)Ba=h[243744+ha>>0]|0;else Ba=0;ha=Ba+ia|0;ia=ja-Ba|0;ja=la-ia+256|0;if(ja>>>0<769)Ca=h[243744+ja>>0]|0;else Ca=0;ja=Ca+ia|0;ia=la-Ca|0;la=ja-ha+256|0;if(la>>>0<769)Da=h[243744+la>>0]|0;else Da=0;la=(oa|256)-Aa-ia|0;if(la>>>0<769)Ea=h[243744+la>>0]|0;else Ea=0;la=Ea+ia|0;ia=256-ha-Da+la|0;if(ia>>>0<769)Fa=h[243744+ia>>0]|0;else Fa=0;ia=la-Fa|0;la=Aa+ma+256|0;ma=la-ja+Da|0;if(ma>>>0<769)Ga=h[243744+ma>>0]|0;else Ga=0;ma=la-ia-Ga|0;if(ma>>>0<769)Ha=h[243744+ma>>0]|0;else Ha=0;b[sa+ka>>0]=Ha+ia;ka=ka+1|0;if((ka|0)==(a|0))break;else pa=pa+1|0}va=va+1|0;if((va|0)>=(v|0))break;else{wa=wa+a+t|0;sa=sa+za|0}}u=e;return}za=X(a,c)|0;if((p|0)<=0){u=e;return}c=i+4|0;sa=i+8|0;t=p+-1|0;wa=i+12|0;v=i+16|0;va=a<<1;Ha=0-va|0;Ga=za+-1-va|0;Da=~o;Aa=j+4|0;Fa=j+8|0;Ea=j+16|0;Ca=j+20|0;Ba=j+12|0;I=j+28|0;ta=j+32|0;ga=j+24|0;ya=j+40|0;xa=j+44|0;y=j+36|0;pa=j+52|0;ka=j+56|0;qa=j+48|0;na=j+64|0;ra=j+68|0;ua=j+60|0;ia=j+76|0;ma=j+80|0;la=j+72|0;ja=j+84|0;ha=j+88|0;oa=j+92|0;q=j+96|0;fa=za-a|0;ea=za-va|0;ca=j+4|0;da=j+8|0;_=j+16|0;ba=j+20|0;Z=j+12|0;aa=j+28|0;Y=j+32|0;$=j+24|0;T=j+40|0;W=j+44|0;V=j+36|0;Q=j+52|0;U=j+56|0;S=j+48|0;R=j+64|0;P=j+68|0;O=j+60|0;N=j+76|0;r=j+80|0;x=j+72|0;d=j+84|0;w=j+88|0;s=j+92|0;G=j+96|0;H=l;l=0;while(1){B=l+-2|0;E=k+(X((B|0)>0?B:0,m)|0)|0;f[i>>2]=E;E=l+-1|0;B=k+(X((E|0)>0?E:0,m)|0)|0;f[c>>2]=B;B=k+(X(l,m)|0)|0;f[sa>>2]=B;B=l;l=l+1|0;E=k+(X((t|0)<(l|0)?t:l,m)|0)|0;f[wa>>2]=E;E=B+2|0;B=k+(X((t|0)<(E|0)?t:E,m)|0)|0;f[v>>2]=B;B=b[g>>0]&1?va:za;E=0;b:while(1){if((E|0)<(B|0)){M=E;do{J=M-((M|0)>(o|0)?a:0)|0;D=(M|0)<(va|0)?J:M-va|0;C=((M|0)<(fa|0)?a:0)+M|0;K=(M|0)<(ea|0)?M+va|0:C;A=f[i>>2]|0;f[j>>2]=h[A+D>>0];F=h[A+J>>0]|0;f[ca>>2]=F;L=h[A+M>>0]|0;f[da>>2]=L;z=h[A+C>>0]|0;f[Z>>2]=z;Ia=h[A+K>>0]|0;f[_>>2]=Ia;A=f[c>>2]|0;Ja=h[A+D>>0]|0;f[ba>>2]=Ja;Ka=h[A+J>>0]|0;f[$>>2]=Ka;La=h[A+M>>0]|0;f[aa>>2]=La;Ma=h[A+C>>0]|0;f[Y>>2]=Ma;Na=h[A+K>>0]|0;f[V>>2]=Na;A=f[sa>>2]|0;Oa=h[A+D>>0]|0;f[T>>2]=Oa;Pa=h[A+J>>0]|0;f[W>>2]=Pa;Qa=h[A+M>>0]|0;f[S>>2]=Qa;Ra=h[A+C>>0]|0;f[Q>>2]=Ra;Sa=h[A+K>>0]|0;f[U>>2]=Sa;A=f[wa>>2]|0;Ta=h[A+D>>0]|0;f[O>>2]=Ta;Ua=h[A+J>>0]|0;f[R>>2]=Ua;Va=h[A+M>>0]|0;f[P>>2]=Va;Wa=h[A+C>>0]|0;f[x>>2]=Wa;Xa=h[A+K>>0]|0;f[N>>2]=Xa;A=f[v>>2]|0;Ya=h[A+D>>0]|0;f[r>>2]=Ya;D=h[A+J>>0]|0;f[d>>2]=D;J=h[A+M>>0]|0;f[w>>2]=J;Za=h[A+C>>0]|0;f[s>>2]=Za;C=h[A+K>>0]|0;f[G>>2]=C;K=F-L+256|0;if(K>>>0<769)_a=h[243744+K>>0]|0;else _a=0;K=_a+L|0;f[da>>2]=K;L=(f[ca>>2]|0)-_a|0;f[ca>>2]=L;F=f[j>>2]|0;A=F-L+256|0;if(A>>>0<769)$a=h[243744+A>>0]|0;else $a=0;A=$a+L|0;f[ca>>2]=A;L=F-$a|0;f[j>>2]=L;F=A-K+256|0;if(F>>>0<769)ab=h[243744+F>>0]|0;else ab=0;F=ab+K|0;f[da>>2]=F;K=A-ab|0;f[ca>>2]=K;A=Ia-Ja+256|0;if(A>>>0<769)bb=h[243744+A>>0]|0;else bb=0;A=bb+Ja|0;f[ba>>2]=A;Ja=Ia-bb|0;f[_>>2]=Ja;Ia=z-Ja+256|0;if(Ia>>>0<769)cb=h[243744+Ia>>0]|0;else cb=0;Ia=cb+Ja|0;f[_>>2]=Ia;Ja=z-cb|0;f[Z>>2]=Ja;z=Ia-A+256|0;if(z>>>0<769)db=h[243744+z>>0]|0;else db=0;z=db+A|0;f[ba>>2]=z;A=Ia-db|0;f[_>>2]=A;Ia=L-Ja+256|0;if(Ia>>>0<769)eb=h[243744+Ia>>0]|0;else eb=0;Ia=eb+Ja|0;f[Z>>2]=Ia;Ja=L-eb|0;f[j>>2]=Ja;L=F-z+256|0;if(L>>>0<769)fb=h[243744+L>>0]|0;else fb=0;L=fb+z|0;f[ba>>2]=L;z=F-fb|0;f[da>>2]=z;F=z-Ia+256|0;if(F>>>0<769)gb=h[243744+F>>0]|0;else gb=0;F=gb+Ia|0;f[Z>>2]=F;Ia=z-gb|0;f[da>>2]=Ia;z=K-A+256|0;if(z>>>0<769)hb=h[243744+z>>0]|0;else hb=0;z=hb+A|0;f[_>>2]=z;A=K-hb|0;f[ca>>2]=A;K=A-Ia+256|0;if(K>>>0<769)ib=h[243744+K>>0]|0;else ib=0;K=ib+Ia|0;f[da>>2]=K;Ia=A-ib|0;f[ca>>2]=Ia;A=F-z+256|0;if(A>>>0<769)jb=h[243744+A>>0]|0;else jb=0;A=jb+z|0;f[_>>2]=A;z=F-jb|0;f[Z>>2]=z;F=La-Ma+256|0;if(F>>>0<769)kb=h[243744+F>>0]|0;else kb=0;F=kb+Ma|0;f[Y>>2]=F;Ma=La-kb|0;f[aa>>2]=Ma;La=Ka-Ma+256|0;if(La>>>0<769)lb=h[243744+La>>0]|0;else lb=0;La=lb+Ma|0;f[aa>>2]=La;Ma=Ka-lb|0;f[$>>2]=Ma;Ka=La-F+256|0;if(Ka>>>0<769)mb=h[243744+Ka>>0]|0;else mb=0;Ka=mb+F|0;f[Y>>2]=Ka;F=La-mb|0;f[aa>>2]=F;La=Oa-Pa+256|0;if(La>>>0<769)nb=h[243744+La>>0]|0;else nb=0;La=nb+Pa|0;f[W>>2]=La;Pa=Oa-nb|0;f[T>>2]=Pa;Oa=Na-Pa+256|0;if(Oa>>>0<769)ob=h[243744+Oa>>0]|0;else ob=0;Oa=ob+Pa|0;f[T>>2]=Oa;Pa=Na-ob|0;f[V>>2]=Pa;Na=Oa-La+256|0;if(Na>>>0<769)pb=h[243744+Na>>0]|0;else pb=0;Na=pb+La|0;f[W>>2]=Na;La=Oa-pb|0;f[T>>2]=La;Oa=Ma-Pa+256|0;if(Oa>>>0<769)qb=h[243744+Oa>>0]|0;else qb=0;Oa=qb+Pa|0;f[V>>2]=Oa;Pa=Ma-qb|0;f[$>>2]=Pa;Ma=Ka-Na+256|0;if(Ma>>>0<769)rb=h[243744+Ma>>0]|0;else rb=0;Ma=rb+Na|0;f[W>>2]=Ma;Na=Ka-rb|0;f[Y>>2]=Na;Ka=Na-Oa+256|0;if(Ka>>>0<769)sb=h[243744+Ka>>0]|0;else sb=0;Ka=sb+Oa|0;f[V>>2]=Ka;Oa=Na-sb|0;f[Y>>2]=Oa;Na=F-La+256|0;if(Na>>>0<769)tb=h[243744+Na>>0]|0;else tb=0;Na=tb+La|0;f[T>>2]=Na;La=F-tb|0;f[aa>>2]=La;F=La-Oa+256|0;if(F>>>0<769)ub=h[243744+F>>0]|0;else ub=0;F=ub+Oa|0;f[Y>>2]=F;Oa=La-ub|0;f[aa>>2]=Oa;La=Ka-Na+256|0;if(La>>>0<769)vb=h[243744+La>>0]|0;else vb=0;La=vb+Na|0;f[T>>2]=La;Na=Ka-vb|0;f[V>>2]=Na;Ka=Ja-Pa+256|0;if(Ka>>>0<769)wb=h[243744+Ka>>0]|0;else wb=0;Ka=wb+Pa|0;f[$>>2]=Ka;Pa=Ja-wb|0;f[j>>2]=Pa;Ja=A-La+256|0;if(Ja>>>0<769)xb=h[243744+Ja>>0]|0;else xb=0;Ja=xb+La|0;f[T>>2]=Ja;La=A-xb|0;f[_>>2]=La;A=La-Ka+256|0;if(A>>>0<769)yb=h[243744+A>>0]|0;else yb=0;A=yb+Ka|0;f[$>>2]=A;Ka=La-yb|0;f[_>>2]=Ka;La=K-F+256|0;if(La>>>0<769)zb=h[243744+La>>0]|0;else zb=0;La=zb+F|0;f[Y>>2]=La;F=K-zb|0;f[da>>2]=F;K=F-Ka+256|0;if(K>>>0<769)Ab=h[243744+K>>0]|0;else Ab=0;K=Ab+Ka|0;f[_>>2]=K;Ka=F-Ab|0;f[da>>2]=Ka;F=A-La+256|0;if(F>>>0<769)Bb=h[243744+F>>0]|0;else Bb=0;F=Bb+La|0;f[Y>>2]=F;La=A-Bb|0;f[$>>2]=La;A=Ia-Oa+256|0;if(A>>>0<769)Cb=h[243744+A>>0]|0;else Cb=0;A=Cb+Oa|0;f[aa>>2]=A;Oa=Ia-Cb|0;f[ca>>2]=Oa;Ia=L-Ma+256|0;if(Ia>>>0<769)Db=h[243744+Ia>>0]|0;else Db=0;Ia=Db+Ma|0;f[W>>2]=Ia;Ma=L-Db|0;f[ba>>2]=Ma;L=Ma-A+256|0;if(L>>>0<769)Eb=h[243744+L>>0]|0;else Eb=0;L=Eb+A|0;f[aa>>2]=L;A=Ma-Eb|0;f[ba>>2]=A;Ma=z-Na+256|0;if(Ma>>>0<769)Fb=h[243744+Ma>>0]|0;else Fb=0;Ma=Fb+Na|0;f[V>>2]=Ma;Na=z-Fb|0;f[Z>>2]=Na;z=Na-A+256|0;if(z>>>0<769)Gb=h[243744+z>>0]|0;else Gb=0;z=Gb+A|0;f[ba>>2]=z;A=Na-Gb|0;f[Z>>2]=A;Na=L-Ma+256|0;if(Na>>>0<769)Hb=h[243744+Na>>0]|0;else Hb=0;Na=Hb+Ma|0;f[V>>2]=Na;Ma=L-Hb|0;f[aa>>2]=Ma;L=Oa-Ka+256|0;if(L>>>0<769)Ib=h[243744+L>>0]|0;else Ib=0;L=Ib+Ka|0;f[da>>2]=L;Ka=Oa-Ib|0;f[ca>>2]=Ka;Oa=A-K+256|0;if(Oa>>>0<769)Jb=h[243744+Oa>>0]|0;else Jb=0;Oa=Jb+K|0;f[_>>2]=Oa;K=A-Jb|0;f[Z>>2]=K;A=z-La+256|0;if(A>>>0<769)Kb=h[243744+A>>0]|0;else Kb=0;A=Kb+La|0;f[$>>2]=A;La=z-Kb|0;f[ba>>2]=La;z=Ma-F+256|0;if(z>>>0<769)Lb=h[243744+z>>0]|0;else Lb=0;z=Lb+F|0;f[Y>>2]=z;F=Ma-Lb|0;f[aa>>2]=F;Ma=Na-Ja+256|0;if(Ma>>>0<769)Mb=h[243744+Ma>>0]|0;else Mb=0;Ma=Mb+Ja|0;f[T>>2]=Ma;Ja=Na-Mb|0;f[V>>2]=Ja;Na=Ra-Sa+256|0;if(Na>>>0<769)Nb=h[243744+Na>>0]|0;else Nb=0;Na=Nb+Sa|0;f[U>>2]=Na;Sa=Ra-Nb|0;f[Q>>2]=Sa;Ra=Qa-Sa+256|0;if(Ra>>>0<769)Ob=h[243744+Ra>>0]|0;else Ob=0;Ra=Ob+Sa|0;f[Q>>2]=Ra;Sa=Qa-Ob|0;f[S>>2]=Sa;Qa=Ra-Na+256|0;if(Qa>>>0<769)Pb=h[243744+Qa>>0]|0;else Pb=0;Qa=Pb+Na|0;f[U>>2]=Qa;Na=Ra-Pb|0;f[Q>>2]=Na;Ra=Ua-Va+256|0;if(Ra>>>0<769)Qb=h[243744+Ra>>0]|0;else Qb=0;Ra=Qb+Va|0;f[P>>2]=Ra;Va=Ua-Qb|0;f[R>>2]=Va;Ua=Ta-Va+256|0;if(Ua>>>0<769)Rb=h[243744+Ua>>0]|0;else Rb=0;Ua=Rb+Va|0;f[R>>2]=Ua;Va=Ta-Rb|0;f[O>>2]=Va;Ta=Ua-Ra+256|0;if(Ta>>>0<769)Sb=h[243744+Ta>>0]|0;else Sb=0;Ta=Sb+Ra|0;f[P>>2]=Ta;Ra=Ua-Sb|0;f[R>>2]=Ra;Ua=Sa-Va+256|0;if(Ua>>>0<769)Tb=h[243744+Ua>>0]|0;else Tb=0;Ua=Tb+Va|0;f[O>>2]=Ua;Va=Sa-Tb|0;f[S>>2]=Va;Sa=Qa-Ta+256|0;if(Sa>>>0<769)Ub=h[243744+Sa>>0]|0;else Ub=0;Sa=Ub+Ta|0;f[P>>2]=Sa;Ta=Qa-Ub|0;f[U>>2]=Ta;Qa=Ta-Ua+256|0;if(Qa>>>0<769)Vb=h[243744+Qa>>0]|0;else Vb=0;Qa=Vb+Ua|0;f[O>>2]=Qa;Ua=Ta-Vb|0;f[U>>2]=Ua;Ta=Na-Ra+256|0;if(Ta>>>0<769)Wb=h[243744+Ta>>0]|0;else Wb=0;Ta=Wb+Ra|0;f[R>>2]=Ta;Ra=Na-Wb|0;f[Q>>2]=Ra;Na=Ra-Ua+256|0;if(Na>>>0<769)Xb=h[243744+Na>>0]|0;else Xb=0;Na=Xb+Ua|0;f[U>>2]=Na;Ua=Ra-Xb|0;f[Q>>2]=Ua;Ra=Qa-Ta+256|0;if(Ra>>>0<769)Yb=h[243744+Ra>>0]|0;else Yb=0;Ra=Yb+Ta|0;f[R>>2]=Ra;Ta=Qa-Yb|0;f[O>>2]=Ta;Qa=Xa-Ya+256|0;if(Qa>>>0<769)Zb=h[243744+Qa>>0]|0;else Zb=0;Qa=Zb+Ya|0;f[r>>2]=Qa;Ya=Xa-Zb|0;f[N>>2]=Ya;Xa=Wa-Ya+256|0;if(Xa>>>0<769)_b=h[243744+Xa>>0]|0;else _b=0;Xa=_b+Ya|0;f[N>>2]=Xa;Ya=Wa-_b|0;f[x>>2]=Ya;Wa=Xa-Qa+256|0;if(Wa>>>0<769)$b=h[243744+Wa>>0]|0;else $b=0;Wa=$b+Qa|0;f[r>>2]=Wa;Qa=Xa-$b|0;f[N>>2]=Qa;Xa=D-J+256|0;if(Xa>>>0<769)ac=h[243744+Xa>>0]|0;else ac=0;Xa=ac+J|0;f[w>>2]=Xa;J=D-ac|0;f[d>>2]=J;D=Za-C+256|0;if(D>>>0<769)bc=h[243744+D>>0]|0;else bc=0;D=bc+C|0;f[G>>2]=D;C=Za-bc|0;f[s>>2]=C;Za=J-C+256|0;if(Za>>>0<769)cc=h[243744+Za>>0]|0;else cc=0;Za=cc+C|0;f[s>>2]=Za;C=J-cc|0;f[d>>2]=C;J=Xa-D+256|0;if(J>>>0<769)dc=h[243744+J>>0]|0;else dc=0;J=dc+D|0;f[G>>2]=J;D=Xa-dc|0;f[w>>2]=D;Xa=D-Za+256|0;if(Xa>>>0<769)ec=h[243744+Xa>>0]|0;else ec=0;Xa=ec+Za|0;f[s>>2]=Xa;Za=D-ec|0;f[w>>2]=Za;D=Ya-C+256|0;if(D>>>0<769)fc=h[243744+D>>0]|0;else fc=0;D=fc+C|0;f[d>>2]=D;C=Ya-fc|0;f[x>>2]=C;Ya=Wa-Xa+256|0;if(Ya>>>0<769)gc=h[243744+Ya>>0]|0;else gc=0;Ya=gc+Xa|0;f[s>>2]=Ya;Xa=Wa-gc|0;f[r>>2]=Xa;Wa=Xa-D+256|0;if(Wa>>>0<769)hc=h[243744+Wa>>0]|0;else hc=0;Wa=hc+D|0;f[d>>2]=Wa;D=Xa-hc|0;f[r>>2]=D;Xa=Qa-Za+256|0;if(Xa>>>0<769)ic=h[243744+Xa>>0]|0;else ic=0;Xa=ic+Za|0;f[w>>2]=Xa;Za=Qa-ic|0;f[N>>2]=Za;Qa=Xa-J+256|0;if(Qa>>>0<769)jc=h[243744+Qa>>0]|0;else jc=0;Qa=jc+J|0;f[G>>2]=Qa;J=Xa-jc|0;f[w>>2]=J;Xa=Za-D+256|0;if(Xa>>>0<769)kc=h[243744+Xa>>0]|0;else kc=0;Xa=kc+D|0;f[r>>2]=Xa;D=Za-kc|0;f[N>>2]=D;Za=Wa-J+256|0;if(Za>>>0<769)lc=h[243744+Za>>0]|0;else lc=0;Za=lc+J|0;f[w>>2]=Za;J=Wa-lc|0;f[d>>2]=J;Wa=Ya-Qa+256|0;if(Wa>>>0<769)mc=h[243744+Wa>>0]|0;else mc=0;Wa=mc+Qa|0;f[G>>2]=Wa;Qa=Ya-mc|0;f[s>>2]=Qa;Ya=Va-C+256|0;if(Ya>>>0<769)nc=h[243744+Ya>>0]|0;else nc=0;Ya=nc+C|0;f[x>>2]=Ya;C=Va-nc|0;f[S>>2]=C;Va=Ra-Za+256|0;if(Va>>>0<769)oc=h[243744+Va>>0]|0;else oc=0;Va=oc+Za|0;f[w>>2]=Va;Za=Ra-oc|0;f[R>>2]=Za;Ra=Za-Ya+256|0;if(Ra>>>0<769)pc=h[243744+Ra>>0]|0;else pc=0;Ra=pc+Ya|0;f[x>>2]=Ra;Ya=Za-pc|0;f[R>>2]=Ya;Za=Na-Xa+256|0;if(Za>>>0<769)qc=h[243744+Za>>0]|0;else qc=0;Za=qc+Xa|0;f[r>>2]=Za;Xa=Na-qc|0;f[U>>2]=Xa;Na=Za-Wa+256|0;if(Na>>>0<769)rc=h[243744+Na>>0]|0;else rc=0;Na=rc+Wa|0;f[G>>2]=Na;Wa=Za-rc|0;f[r>>2]=Wa;Za=Xa-Ya+256|0;if(Za>>>0<769)sc=h[243744+Za>>0]|0;else sc=0;Za=sc+Ya|0;f[R>>2]=Za;Ya=Xa-sc|0;f[U>>2]=Ya;Xa=Ra-Wa+256|0;if(Xa>>>0<769)tc=h[243744+Xa>>0]|0;else tc=0;Xa=tc+Wa|0;f[r>>2]=Xa;Wa=Ra-tc|0;f[x>>2]=Wa;Ra=Va-Na+256|0;if(Ra>>>0<769)uc=h[243744+Ra>>0]|0;else uc=0;Ra=uc+Na|0;f[G>>2]=Ra;Na=Va-uc|0;f[w>>2]=Na;Va=Ua-D+256|0;if(Va>>>0<769)vc=h[243744+Va>>0]|0;else vc=0;Va=vc+D|0;f[N>>2]=Va;D=Ua-vc|0;f[Q>>2]=D;Ua=Sa-Qa+256|0;if(Ua>>>0<769)wc=h[243744+Ua>>0]|0;else wc=0;Ua=wc+Qa|0;f[s>>2]=Ua;Qa=Sa-wc|0;f[P>>2]=Qa;Sa=Qa-Va+256|0;if(Sa>>>0<769)xc=h[243744+Sa>>0]|0;else xc=0;Sa=xc+Va|0;f[N>>2]=Sa;Va=Qa-xc|0;f[P>>2]=Va;Qa=Ta-J+256|0;if(Qa>>>0<769)yc=h[243744+Qa>>0]|0;else yc=0;Qa=yc+J|0;f[d>>2]=Qa;J=Ta-yc|0;f[O>>2]=J;Ta=J-Va+256|0;if(Ta>>>0<769)zc=h[243744+Ta>>0]|0;else zc=0;Ta=zc+Va|0;f[P>>2]=Ta;Va=J-zc|0;f[O>>2]=Va;J=Sa-Qa+256|0;if(J>>>0<769)Ac=h[243744+J>>0]|0;else Ac=0;J=Ac+Qa|0;f[d>>2]=J;Qa=Sa-Ac|0;f[N>>2]=Qa;Sa=D-Ya+256|0;if(Sa>>>0<769)Bc=h[243744+Sa>>0]|0;else Bc=0;Sa=Bc+Ya|0;f[U>>2]=Sa;Ya=D-Bc|0;f[Q>>2]=Ya;D=Va-Za+256|0;if(D>>>0<769)Cc=h[243744+D>>0]|0;else Cc=0;D=Cc+Za|0;f[R>>2]=D;Za=Va-Cc|0;f[O>>2]=Za;Va=Ta-Wa+256|0;if(Va>>>0<769)Dc=h[243744+Va>>0]|0;else Dc=0;Va=Dc+Wa|0;f[x>>2]=Va;Wa=Ta-Dc|0;f[P>>2]=Wa;Ta=Qa-Xa+256|0;if(Ta>>>0<769)Ec=h[243744+Ta>>0]|0;else Ec=0;Ta=Ec+Xa|0;f[r>>2]=Ta;Xa=Qa-Ec|0;f[N>>2]=Xa;Qa=J-Na+256|0;if(Qa>>>0<769)Fc=h[243744+Qa>>0]|0;else Fc=0;Qa=Fc+Na|0;f[w>>2]=Qa;Na=J-Fc|0;f[d>>2]=Na;J=Ua-Ra+256|0;if(J>>>0<769)Gc=h[243744+J>>0]|0;else Gc=0;J=Gc+Ra|0;f[G>>2]=J;Ra=Ua-Gc|0;f[s>>2]=Ra;Ua=Pa-C+256|0;if(Ua>>>0<769)Hc=h[243744+Ua>>0]|0;else Hc=0;Ua=Hc+C|0;f[S>>2]=Ua;f[j>>2]=Pa-Hc;Pa=z-Ta+256|0;if(Pa>>>0<769)Ic=h[243744+Pa>>0]|0;else Ic=0;f[r>>2]=Ic+Ta;Ta=z-Ic|0;f[Y>>2]=Ta;z=Ta-Ua+256|0;if(z>>>0<769)Jc=h[243744+z>>0]|0;else Jc=0;z=Jc+Ua|0;f[S>>2]=z;f[Y>>2]=Ta-Jc;Ta=Oa-D+256|0;if(Ta>>>0<769)Kc=h[243744+Ta>>0]|0;else Kc=0;Ta=Kc+D|0;f[R>>2]=Ta;f[_>>2]=Oa-Kc;Oa=Ta-J+256|0;if(Oa>>>0<769)Lc=h[243744+Oa>>0]|0;else Lc=0;f[G>>2]=Lc+J;J=Ta-Lc|0;f[R>>2]=J;Ta=z-J+256|0;if(Ta>>>0<769)Mc=h[243744+Ta>>0]|0;else Mc=0;f[R>>2]=Mc+J;J=z-Mc|0;f[S>>2]=J;z=L-Sa+256|0;if(z>>>0<769)Nc=h[243744+z>>0]|0;else Nc=0;z=Nc+Sa|0;f[U>>2]=z;f[da>>2]=L-Nc;L=Ma-Qa+256|0;if(L>>>0<769)Oc=h[243744+L>>0]|0;else Oc=0;f[w>>2]=Oc+Qa;Qa=Ma-Oc|0;f[T>>2]=Qa;Ma=Qa-z+256|0;if(Ma>>>0<769)Pc=h[243744+Ma>>0]|0;else Pc=0;f[U>>2]=Pc+z;z=Qa-Pc|0;f[T>>2]=z;Qa=A-Va+256|0;if(Qa>>>0<769)Qc=h[243744+Qa>>0]|0;else Qc=0;f[x>>2]=Qc+Va;Va=A-Qc|0;f[$>>2]=Va;A=Va-z+256|0;if(A>>>0<769)Rc=h[243744+A>>0]|0;else Rc=0;A=Rc+z|0;f[T>>2]=A;f[$>>2]=Va-Rc;Va=A-J+256|0;if(Va>>>0<769)Sc=h[243744+Va>>0]|0;else Sc=0;Va=Sc+J|0;f[S>>2]=Va;f[T>>2]=A-Sc;A=Ka-Ya+256|0;if(A>>>0<769)Tc=h[243744+A>>0]|0;else Tc=0;A=Tc+Ya|0;f[Q>>2]=A;f[ca>>2]=Ka-Tc;Ka=Ja-Na+256|0;if(Ka>>>0<769)Uc=h[243744+Ka>>0]|0;else Uc=0;f[d>>2]=Uc+Na;Na=Ja-Uc|0;f[V>>2]=Na;Ja=Na-A+256|0;if(Ja>>>0<769)Vc=h[243744+Ja>>0]|0;else Vc=0;Ja=Vc+A|0;f[Q>>2]=Ja;f[V>>2]=Na-Vc;Na=La-Wa+256|0;if(Na>>>0<769)Wc=h[243744+Na>>0]|0;else Wc=0;Na=Wc+Wa|0;f[P>>2]=Na;f[ba>>2]=La-Wc;La=Ja-Na+256|0;if(La>>>0<769)Xc=h[243744+La>>0]|0;else Xc=0;f[P>>2]=Xc+Na;Na=Ja-Xc|0;f[Q>>2]=Na;Ja=K-Za+256|0;if(Ja>>>0<769)Yc=h[243744+Ja>>0]|0;else Yc=0;Ja=Yc+Za|0;f[O>>2]=Ja;f[Z>>2]=K-Yc;K=Ia-Ra+256|0;if(K>>>0<769)Zc=h[243744+K>>0]|0;else Zc=0;f[s>>2]=Zc+Ra;Ra=Ia-Zc|0;f[W>>2]=Ra;Ia=Ra-Ja+256|0;if(Ia>>>0<769)_c=h[243744+Ia>>0]|0;else _c=0;f[O>>2]=_c+Ja;Ja=Ra-_c|0;f[W>>2]=Ja;Ra=F-Xa+256|0;if(Ra>>>0<769)$c=h[243744+Ra>>0]|0;else $c=0;f[N>>2]=$c+Xa;Xa=F-$c|0;f[aa>>2]=Xa;F=Xa-Ja+256|0;if(F>>>0<769)ad=h[243744+F>>0]|0;else ad=0;F=ad+Ja|0;f[W>>2]=F;f[aa>>2]=Xa-ad;Xa=F-Na+256|0;if(Xa>>>0<769)bd=h[243744+Xa>>0]|0;else bd=0;f[Q>>2]=bd+Na;Na=F-bd|0;f[W>>2]=Na;F=Na-Va+256|0;if(F>>>0<769)cd=h[243744+F>>0]|0;else cd=0;b[H+M>>0]=cd+Va;M=M+1|0}while((M|0)!=(B|0));dd=B}else dd=E;if((B|0)==(za|0))break;if((dd|0)>(Ga|0)){B=za;E=dd;continue}else ed=dd;while(1){M=(f[i>>2]|0)+ed|0;f[j>>2]=h[M+Ha>>0];Va=h[M+Da>>0]|0;f[Aa>>2]=Va;F=h[M>>0]|0;f[Fa>>2]=F;Na=h[M+a>>0]|0;f[Ba>>2]=Na;Xa=h[M+va>>0]|0;f[Ea>>2]=Xa;M=(f[c>>2]|0)+ed|0;Ja=h[M+Ha>>0]|0;f[Ca>>2]=Ja;Ra=h[M+Da>>0]|0;f[ga>>2]=Ra;Ia=h[M>>0]|0;f[I>>2]=Ia;K=h[M+a>>0]|0;f[ta>>2]=K;Za=h[M+va>>0]|0;f[y>>2]=Za;M=(f[sa>>2]|0)+ed|0;La=h[M+Ha>>0]|0;f[ya>>2]=La;Wa=h[M+Da>>0]|0;f[xa>>2]=Wa;A=h[M>>0]|0;f[qa>>2]=A;Ka=h[M+a>>0]|0;f[pa>>2]=Ka;Ya=h[M+va>>0]|0;f[ka>>2]=Ya;M=(f[wa>>2]|0)+ed|0;J=h[M+Ha>>0]|0;f[ua>>2]=J;z=h[M+Da>>0]|0;f[na>>2]=z;Qa=h[M>>0]|0;f[ra>>2]=Qa;Ma=h[M+a>>0]|0;f[la>>2]=Ma;L=h[M+va>>0]|0;f[ia>>2]=L;M=(f[v>>2]|0)+ed|0;Sa=h[M+Ha>>0]|0;f[ma>>2]=Sa;Ta=h[M+Da>>0]|0;f[ja>>2]=Ta;Oa=h[M>>0]|0;f[ha>>2]=Oa;D=h[M+a>>0]|0;f[oa>>2]=D;Ua=h[M+va>>0]|0;f[q>>2]=Ua;M=Va-F+256|0;if(M>>>0<769)fd=h[243744+M>>0]|0;else fd=0;M=fd+F|0;f[Fa>>2]=M;F=(f[Aa>>2]|0)-fd|0;f[Aa>>2]=F;Va=f[j>>2]|0;Pa=Va-F+256|0;if(Pa>>>0<769)gd=h[243744+Pa>>0]|0;else gd=0;Pa=gd+F|0;f[Aa>>2]=Pa;F=Va-gd|0;f[j>>2]=F;Va=Pa-M+256|0;if(Va>>>0<769)hd=h[243744+Va>>0]|0;else hd=0;Va=hd+M|0;f[Fa>>2]=Va;M=Pa-hd|0;f[Aa>>2]=M;Pa=Xa-Ja+256|0;if(Pa>>>0<769)id=h[243744+Pa>>0]|0;else id=0;Pa=id+Ja|0;f[Ca>>2]=Pa;Ja=Xa-id|0;f[Ea>>2]=Ja;Xa=Na-Ja+256|0;if(Xa>>>0<769)jd=h[243744+Xa>>0]|0;else jd=0;Xa=jd+Ja|0;f[Ea>>2]=Xa;Ja=Na-jd|0;f[Ba>>2]=Ja;Na=Xa-Pa+256|0;if(Na>>>0<769)kd=h[243744+Na>>0]|0;else kd=0;Na=kd+Pa|0;f[Ca>>2]=Na;Pa=Xa-kd|0;f[Ea>>2]=Pa;Xa=F-Ja+256|0;if(Xa>>>0<769)ld=h[243744+Xa>>0]|0;else ld=0;Xa=ld+Ja|0;f[Ba>>2]=Xa;Ja=F-ld|0;f[j>>2]=Ja;F=Va-Na+256|0;if(F>>>0<769)md=h[243744+F>>0]|0;else md=0;F=md+Na|0;f[Ca>>2]=F;Na=Va-md|0;f[Fa>>2]=Na;Va=Na-Xa+256|0;if(Va>>>0<769)nd=h[243744+Va>>0]|0;else nd=0;Va=nd+Xa|0;f[Ba>>2]=Va;Xa=Na-nd|0;f[Fa>>2]=Xa;Na=M-Pa+256|0;if(Na>>>0<769)od=h[243744+Na>>0]|0;else od=0;Na=od+Pa|0;f[Ea>>2]=Na;Pa=M-od|0;f[Aa>>2]=Pa;M=Pa-Xa+256|0;if(M>>>0<769)pd=h[243744+M>>0]|0;else pd=0;M=pd+Xa|0;f[Fa>>2]=M;Xa=Pa-pd|0;f[Aa>>2]=Xa;Pa=Va-Na+256|0;if(Pa>>>0<769)qd=h[243744+Pa>>0]|0;else qd=0;Pa=qd+Na|0;f[Ea>>2]=Pa;Na=Va-qd|0;f[Ba>>2]=Na;Va=Ia-K+256|0;if(Va>>>0<769)rd=h[243744+Va>>0]|0;else rd=0;Va=rd+K|0;f[ta>>2]=Va;K=Ia-rd|0;f[I>>2]=K;Ia=Ra-K+256|0;if(Ia>>>0<769)sd=h[243744+Ia>>0]|0;else sd=0;Ia=sd+K|0;f[I>>2]=Ia;K=Ra-sd|0;f[ga>>2]=K;Ra=Ia-Va+256|0;if(Ra>>>0<769)td=h[243744+Ra>>0]|0;else td=0;Ra=td+Va|0;f[ta>>2]=Ra;Va=Ia-td|0;f[I>>2]=Va;Ia=La-Wa+256|0;if(Ia>>>0<769)ud=h[243744+Ia>>0]|0;else ud=0;Ia=ud+Wa|0;f[xa>>2]=Ia;Wa=La-ud|0;f[ya>>2]=Wa;La=Za-Wa+256|0;if(La>>>0<769)vd=h[243744+La>>0]|0;else vd=0;La=vd+Wa|0;f[ya>>2]=La;Wa=Za-vd|0;f[y>>2]=Wa;Za=La-Ia+256|0;if(Za>>>0<769)wd=h[243744+Za>>0]|0;else wd=0;Za=wd+Ia|0;f[xa>>2]=Za;Ia=La-wd|0;f[ya>>2]=Ia;La=K-Wa+256|0;if(La>>>0<769)xd=h[243744+La>>0]|0;else xd=0;La=xd+Wa|0;f[y>>2]=La;Wa=K-xd|0;f[ga>>2]=Wa;K=Ra-Za+256|0;if(K>>>0<769)yd=h[243744+K>>0]|0;else yd=0;K=yd+Za|0;f[xa>>2]=K;Za=Ra-yd|0;f[ta>>2]=Za;Ra=Za-La+256|0;if(Ra>>>0<769)zd=h[243744+Ra>>0]|0;else zd=0;Ra=zd+La|0;f[y>>2]=Ra;La=Za-zd|0;f[ta>>2]=La;Za=Va-Ia+256|0;if(Za>>>0<769)Ad=h[243744+Za>>0]|0;else Ad=0;Za=Ad+Ia|0;f[ya>>2]=Za;Ia=Va-Ad|0;f[I>>2]=Ia;Va=Ia-La+256|0;if(Va>>>0<769)Bd=h[243744+Va>>0]|0;else Bd=0;Va=Bd+La|0;f[ta>>2]=Va;La=Ia-Bd|0;f[I>>2]=La;Ia=Ra-Za+256|0;if(Ia>>>0<769)Cd=h[243744+Ia>>0]|0;else Cd=0;Ia=Cd+Za|0;f[ya>>2]=Ia;Za=Ra-Cd|0;f[y>>2]=Za;Ra=Ja-Wa+256|0;if(Ra>>>0<769)Dd=h[243744+Ra>>0]|0;else Dd=0;Ra=Dd+Wa|0;f[ga>>2]=Ra;Wa=Ja-Dd|0;f[j>>2]=Wa;Ja=Pa-Ia+256|0;if(Ja>>>0<769)Ed=h[243744+Ja>>0]|0;else Ed=0;Ja=Ed+Ia|0;f[ya>>2]=Ja;Ia=Pa-Ed|0;f[Ea>>2]=Ia;Pa=Ia-Ra+256|0;if(Pa>>>0<769)Fd=h[243744+Pa>>0]|0;else Fd=0;Pa=Fd+Ra|0;f[ga>>2]=Pa;Ra=Ia-Fd|0;f[Ea>>2]=Ra;Ia=M-Va+256|0;if(Ia>>>0<769)Gd=h[243744+Ia>>0]|0;else Gd=0;Ia=Gd+Va|0;f[ta>>2]=Ia;Va=M-Gd|0;f[Fa>>2]=Va;M=Va-Ra+256|0;if(M>>>0<769)Hd=h[243744+M>>0]|0;else Hd=0;M=Hd+Ra|0;f[Ea>>2]=M;Ra=Va-Hd|0;f[Fa>>2]=Ra;Va=Pa-Ia+256|0;if(Va>>>0<769)Id=h[243744+Va>>0]|0;else Id=0;Va=Id+Ia|0;f[ta>>2]=Va;Ia=Pa-Id|0;f[ga>>2]=Ia;Pa=Xa-La+256|0;if(Pa>>>0<769)Jd=h[243744+Pa>>0]|0;else Jd=0;Pa=Jd+La|0;f[I>>2]=Pa;La=Xa-Jd|0;f[Aa>>2]=La;Xa=F-K+256|0;if(Xa>>>0<769)Kd=h[243744+Xa>>0]|0;else Kd=0;Xa=Kd+K|0;f[xa>>2]=Xa;K=F-Kd|0;f[Ca>>2]=K;F=K-Pa+256|0;if(F>>>0<769)Ld=h[243744+F>>0]|0;else Ld=0;F=Ld+Pa|0;f[I>>2]=F;Pa=K-Ld|0;f[Ca>>2]=Pa;K=Na-Za+256|0;if(K>>>0<769)Md=h[243744+K>>0]|0;else Md=0;K=Md+Za|0;f[y>>2]=K;Za=Na-Md|0;f[Ba>>2]=Za;Na=Za-Pa+256|0;if(Na>>>0<769)Nd=h[243744+Na>>0]|0;else Nd=0;Na=Nd+Pa|0;f[Ca>>2]=Na;Pa=Za-Nd|0;f[Ba>>2]=Pa;Za=F-K+256|0;if(Za>>>0<769)Od=h[243744+Za>>0]|0;else Od=0;Za=Od+K|0;f[y>>2]=Za;K=F-Od|0;f[I>>2]=K;F=La-Ra+256|0;if(F>>>0<769)Pd=h[243744+F>>0]|0;else Pd=0;F=Pd+Ra|0;f[Fa>>2]=F;Ra=La-Pd|0;f[Aa>>2]=Ra;La=Pa-M+256|0;if(La>>>0<769)Qd=h[243744+La>>0]|0;else Qd=0;La=Qd+M|0;f[Ea>>2]=La;M=Pa-Qd|0;f[Ba>>2]=M;Pa=Na-Ia+256|0;if(Pa>>>0<769)Rd=h[243744+Pa>>0]|0;else Rd=0;Pa=Rd+Ia|0;f[ga>>2]=Pa;Ia=Na-Rd|0;f[Ca>>2]=Ia;Na=K-Va+256|0;if(Na>>>0<769)Sd=h[243744+Na>>0]|0;else Sd=0;Na=Sd+Va|0;f[ta>>2]=Na;Va=K-Sd|0;f[I>>2]=Va;K=Za-Ja+256|0;if(K>>>0<769)Td=h[243744+K>>0]|0;else Td=0;K=Td+Ja|0;f[ya>>2]=K;Ja=Za-Td|0;f[y>>2]=Ja;Za=Ka-Ya+256|0;if(Za>>>0<769)Ud=h[243744+Za>>0]|0;else Ud=0;Za=Ud+Ya|0;f[ka>>2]=Za;Ya=Ka-Ud|0;f[pa>>2]=Ya;Ka=A-Ya+256|0;if(Ka>>>0<769)Vd=h[243744+Ka>>0]|0;else Vd=0;Ka=Vd+Ya|0;f[pa>>2]=Ka;Ya=A-Vd|0;f[qa>>2]=Ya;A=Ka-Za+256|0;if(A>>>0<769)Wd=h[243744+A>>0]|0;else Wd=0;A=Wd+Za|0;f[ka>>2]=A;Za=Ka-Wd|0;f[pa>>2]=Za;Ka=z-Qa+256|0;if(Ka>>>0<769)Xd=h[243744+Ka>>0]|0;else Xd=0;Ka=Xd+Qa|0;f[ra>>2]=Ka;Qa=z-Xd|0;f[na>>2]=Qa;z=J-Qa+256|0;if(z>>>0<769)Yd=h[243744+z>>0]|0;else Yd=0;z=Yd+Qa|0;f[na>>2]=z;Qa=J-Yd|0;f[ua>>2]=Qa;J=z-Ka+256|0;if(J>>>0<769)Zd=h[243744+J>>0]|0;else Zd=0;J=Zd+Ka|0;f[ra>>2]=J;Ka=z-Zd|0;f[na>>2]=Ka;z=Ya-Qa+256|0;if(z>>>0<769)_d=h[243744+z>>0]|0;else _d=0;z=_d+Qa|0;f[ua>>2]=z;Qa=Ya-_d|0;f[qa>>2]=Qa;Ya=A-J+256|0;if(Ya>>>0<769)$d=h[243744+Ya>>0]|0;else $d=0;Ya=$d+J|0;f[ra>>2]=Ya;J=A-$d|0;f[ka>>2]=J;A=J-z+256|0;if(A>>>0<769)ae=h[243744+A>>0]|0;else ae=0;A=ae+z|0;f[ua>>2]=A;z=J-ae|0;f[ka>>2]=z;J=Za-Ka+256|0;if(J>>>0<769)be=h[243744+J>>0]|0;else be=0;J=be+Ka|0;f[na>>2]=J;Ka=Za-be|0;f[pa>>2]=Ka;Za=Ka-z+256|0;if(Za>>>0<769)ce=h[243744+Za>>0]|0;else ce=0;Za=ce+z|0;f[ka>>2]=Za;z=Ka-ce|0;f[pa>>2]=z;Ka=A-J+256|0;if(Ka>>>0<769)de=h[243744+Ka>>0]|0;else de=0;Ka=de+J|0;f[na>>2]=Ka;J=A-de|0;f[ua>>2]=J;A=L-Sa+256|0;if(A>>>0<769)ee=h[243744+A>>0]|0;else ee=0;A=ee+Sa|0;f[ma>>2]=A;Sa=L-ee|0;f[ia>>2]=Sa;L=Ma-Sa+256|0;if(L>>>0<769)fe=h[243744+L>>0]|0;else fe=0;L=fe+Sa|0;f[ia>>2]=L;Sa=Ma-fe|0;f[la>>2]=Sa;Ma=L-A+256|0;if(Ma>>>0<769)ge=h[243744+Ma>>0]|0;else ge=0;Ma=ge+A|0;f[ma>>2]=Ma;A=L-ge|0;f[ia>>2]=A;L=Ta-Oa+256|0;if(L>>>0<769)he=h[243744+L>>0]|0;else he=0;L=he+Oa|0;f[ha>>2]=L;Oa=Ta-he|0;f[ja>>2]=Oa;Ta=D-Ua+256|0;if(Ta>>>0<769)ie=h[243744+Ta>>0]|0;else ie=0;Ta=ie+Ua|0;f[q>>2]=Ta;Ua=D-ie|0;f[oa>>2]=Ua;D=Oa-Ua+256|0;if(D>>>0<769)je=h[243744+D>>0]|0;else je=0;D=je+Ua|0;f[oa>>2]=D;Ua=Oa-je|0;f[ja>>2]=Ua;Oa=L-Ta+256|0;if(Oa>>>0<769)ke=h[243744+Oa>>0]|0;else ke=0;Oa=ke+Ta|0;f[q>>2]=Oa;Ta=L-ke|0;f[ha>>2]=Ta;L=Ta-D+256|0;if(L>>>0<769)le=h[243744+L>>0]|0;else le=0;L=le+D|0;f[oa>>2]=L;D=Ta-le|0;f[ha>>2]=D;Ta=Sa-Ua+256|0;if(Ta>>>0<769)me=h[243744+Ta>>0]|0;else me=0;Ta=me+Ua|0;f[ja>>2]=Ta;Ua=Sa-me|0;f[la>>2]=Ua;Sa=Ma-L+256|0;if(Sa>>>0<769)ne=h[243744+Sa>>0]|0;else ne=0;Sa=ne+L|0;f[oa>>2]=Sa;L=Ma-ne|0;f[ma>>2]=L;Ma=L-Ta+256|0;if(Ma>>>0<769)oe=h[243744+Ma>>0]|0;else oe=0;Ma=oe+Ta|0;f[ja>>2]=Ma;Ta=L-oe|0;f[ma>>2]=Ta;L=A-D+256|0;if(L>>>0<769)pe=h[243744+L>>0]|0;else pe=0;L=pe+D|0;f[ha>>2]=L;D=A-pe|0;f[ia>>2]=D;A=L-Oa+256|0;if(A>>>0<769)qe=h[243744+A>>0]|0;else qe=0;A=qe+Oa|0;f[q>>2]=A;Oa=L-qe|0;f[ha>>2]=Oa;L=D-Ta+256|0;if(L>>>0<769)re=h[243744+L>>0]|0;else re=0;L=re+Ta|0;f[ma>>2]=L;Ta=D-re|0;f[ia>>2]=Ta;D=Ma-Oa+256|0;if(D>>>0<769)se=h[243744+D>>0]|0;else se=0;D=se+Oa|0;f[ha>>2]=D;Oa=Ma-se|0;f[ja>>2]=Oa;Ma=Sa-A+256|0;if(Ma>>>0<769)te=h[243744+Ma>>0]|0;else te=0;Ma=te+A|0;f[q>>2]=Ma;A=Sa-te|0;f[oa>>2]=A;Sa=Qa-Ua+256|0;if(Sa>>>0<769)ue=h[243744+Sa>>0]|0;else ue=0;Sa=ue+Ua|0;f[la>>2]=Sa;Ua=Qa-ue|0;f[qa>>2]=Ua;Qa=Ka-D+256|0;if(Qa>>>0<769)ve=h[243744+Qa>>0]|0;else ve=0;Qa=ve+D|0;f[ha>>2]=Qa;D=Ka-ve|0;f[na>>2]=D;Ka=D-Sa+256|0;if(Ka>>>0<769)we=h[243744+Ka>>0]|0;else we=0;Ka=we+Sa|0;f[la>>2]=Ka;Sa=D-we|0;f[na>>2]=Sa;D=Za-L+256|0;if(D>>>0<769)xe=h[243744+D>>0]|0;else xe=0;D=xe+L|0;f[ma>>2]=D;L=Za-xe|0;f[ka>>2]=L;Za=D-Ma+256|0;if(Za>>>0<769)ye=h[243744+Za>>0]|0;else ye=0;Za=ye+Ma|0;f[q>>2]=Za;Ma=D-ye|0;f[ma>>2]=Ma;D=L-Sa+256|0;if(D>>>0<769)ze=h[243744+D>>0]|0;else ze=0;D=ze+Sa|0;f[na>>2]=D;Sa=L-ze|0;f[ka>>2]=Sa;L=Ka-Ma+256|0;if(L>>>0<769)Ae=h[243744+L>>0]|0;else Ae=0;L=Ae+Ma|0;f[ma>>2]=L;Ma=Ka-Ae|0;f[la>>2]=Ma;Ka=Qa-Za+256|0;if(Ka>>>0<769)Be=h[243744+Ka>>0]|0;else Be=0;Ka=Be+Za|0;f[q>>2]=Ka;Za=Qa-Be|0;f[ha>>2]=Za;Qa=z-Ta+256|0;if(Qa>>>0<769)Ce=h[243744+Qa>>0]|0;else Ce=0;Qa=Ce+Ta|0;f[ia>>2]=Qa;Ta=z-Ce|0;f[pa>>2]=Ta;z=Ya-A+256|0;if(z>>>0<769)De=h[243744+z>>0]|0;else De=0;z=De+A|0;f[oa>>2]=z;A=Ya-De|0;f[ra>>2]=A;Ya=A-Qa+256|0;if(Ya>>>0<769)Ee=h[243744+Ya>>0]|0;else Ee=0;Ya=Ee+Qa|0;f[ia>>2]=Ya;Qa=A-Ee|0;f[ra>>2]=Qa;A=J-Oa+256|0;if(A>>>0<769)Fe=h[243744+A>>0]|0;else Fe=0;A=Fe+Oa|0;f[ja>>2]=A;Oa=J-Fe|0;f[ua>>2]=Oa;J=Oa-Qa+256|0;if(J>>>0<769)Ge=h[243744+J>>0]|0;else Ge=0;J=Ge+Qa|0;f[ra>>2]=J;Qa=Oa-Ge|0;f[ua>>2]=Qa;Oa=Ya-A+256|0;if(Oa>>>0<769)He=h[243744+Oa>>0]|0;else He=0;Oa=He+A|0;f[ja>>2]=Oa;A=Ya-He|0;f[ia>>2]=A;Ya=Ta-Sa+256|0;if(Ya>>>0<769)Ie=h[243744+Ya>>0]|0;else Ie=0;Ya=Ie+Sa|0;f[ka>>2]=Ya;Sa=Ta-Ie|0;f[pa>>2]=Sa;Ta=Qa-D+256|0;if(Ta>>>0<769)Je=h[243744+Ta>>0]|0;else Je=0;Ta=Je+D|0;f[na>>2]=Ta;D=Qa-Je|0;f[ua>>2]=D;Qa=J-Ma+256|0;if(Qa>>>0<769)Ke=h[243744+Qa>>0]|0;else Ke=0;Qa=Ke+Ma|0;f[la>>2]=Qa;Ma=J-Ke|0;f[ra>>2]=Ma;J=A-L+256|0;if(J>>>0<769)Le=h[243744+J>>0]|0;else Le=0;J=Le+L|0;f[ma>>2]=J;L=A-Le|0;f[ia>>2]=L;A=Oa-Za+256|0;if(A>>>0<769)Me=h[243744+A>>0]|0;else Me=0;A=Me+Za|0;f[ha>>2]=A;Za=Oa-Me|0;f[ja>>2]=Za;Oa=z-Ka+256|0;if(Oa>>>0<769)Ne=h[243744+Oa>>0]|0;else Ne=0;Oa=Ne+Ka|0;f[q>>2]=Oa;Ka=z-Ne|0;f[oa>>2]=Ka;z=Wa-Ua+256|0;if(z>>>0<769)Oe=h[243744+z>>0]|0;else Oe=0;z=Oe+Ua|0;f[qa>>2]=z;f[j>>2]=Wa-Oe;Wa=Na-J+256|0;if(Wa>>>0<769)Pe=h[243744+Wa>>0]|0;else Pe=0;f[ma>>2]=Pe+J;J=Na-Pe|0;f[ta>>2]=J;Na=J-z+256|0;if(Na>>>0<769)Qe=h[243744+Na>>0]|0;else Qe=0;Na=Qe+z|0;f[qa>>2]=Na;f[ta>>2]=J-Qe;J=La-Ta+256|0;if(J>>>0<769)Re=h[243744+J>>0]|0;else Re=0;J=Re+Ta|0;f[na>>2]=J;f[Ea>>2]=La-Re;La=J-Oa+256|0;if(La>>>0<769)Se=h[243744+La>>0]|0;else Se=0;f[q>>2]=Se+Oa;Oa=J-Se|0;f[na>>2]=Oa;J=Na-Oa+256|0;if(J>>>0<769)Te=h[243744+J>>0]|0;else Te=0;f[na>>2]=Te+Oa;Oa=Na-Te|0;f[qa>>2]=Oa;Na=F-Ya+256|0;if(Na>>>0<769)Ue=h[243744+Na>>0]|0;else Ue=0;Na=Ue+Ya|0;f[ka>>2]=Na;f[Fa>>2]=F-Ue;F=K-A+256|0;if(F>>>0<769)Ve=h[243744+F>>0]|0;else Ve=0;f[ha>>2]=Ve+A;A=K-Ve|0;f[ya>>2]=A;K=A-Na+256|0;if(K>>>0<769)We=h[243744+K>>0]|0;else We=0;f[ka>>2]=We+Na;Na=A-We|0;f[ya>>2]=Na;A=Pa-Qa+256|0;if(A>>>0<769)Xe=h[243744+A>>0]|0;else Xe=0;f[la>>2]=Xe+Qa;Qa=Pa-Xe|0;f[ga>>2]=Qa;Pa=Qa-Na+256|0;if(Pa>>>0<769)Ye=h[243744+Pa>>0]|0;else Ye=0;Pa=Ye+Na|0;f[ya>>2]=Pa;f[ga>>2]=Qa-Ye;Qa=Pa-Oa+256|0;if(Qa>>>0<769)Ze=h[243744+Qa>>0]|0;else Ze=0;Qa=Ze+Oa|0;f[qa>>2]=Qa;f[ya>>2]=Pa-Ze;Pa=Ra-Sa+256|0;if(Pa>>>0<769)_e=h[243744+Pa>>0]|0;else _e=0;Pa=_e+Sa|0;f[pa>>2]=Pa;f[Aa>>2]=Ra-_e;Ra=Ja-Za+256|0;if(Ra>>>0<769)$e=h[243744+Ra>>0]|0;else $e=0;f[ja>>2]=$e+Za;Za=Ja-$e|0;f[y>>2]=Za;Ja=Za-Pa+256|0;if(Ja>>>0<769)af=h[243744+Ja>>0]|0;else af=0;Ja=af+Pa|0;f[pa>>2]=Ja;f[y>>2]=Za-af;Za=Ia-Ma+256|0;if(Za>>>0<769)bf=h[243744+Za>>0]|0;else bf=0;Za=bf+Ma|0;f[ra>>2]=Za;f[Ca>>2]=Ia-bf;Ia=Ja-Za+256|0;if(Ia>>>0<769)cf=h[243744+Ia>>0]|0;else cf=0;f[ra>>2]=cf+Za;Za=Ja-cf|0;f[pa>>2]=Za;Ja=M-D+256|0;if(Ja>>>0<769)df=h[243744+Ja>>0]|0;else df=0;Ja=df+D|0;f[ua>>2]=Ja;f[Ba>>2]=M-df;M=Xa-Ka+256|0;if(M>>>0<769)ef=h[243744+M>>0]|0;else ef=0;f[oa>>2]=ef+Ka;Ka=Xa-ef|0;f[xa>>2]=Ka;Xa=Ka-Ja+256|0;if(Xa>>>0<769)ff=h[243744+Xa>>0]|0;else ff=0;f[ua>>2]=ff+Ja;Ja=Ka-ff|0;f[xa>>2]=Ja;Ka=Va-L+256|0;if(Ka>>>0<769)gf=h[243744+Ka>>0]|0;else gf=0;f[ia>>2]=gf+L;L=Va-gf|0;f[I>>2]=L;Va=L-Ja+256|0;if(Va>>>0<769)hf=h[243744+Va>>0]|0;else hf=0;Va=hf+Ja|0;f[xa>>2]=Va;f[I>>2]=L-hf;L=Va-Za+256|0;if(L>>>0<769)jf=h[243744+L>>0]|0;else jf=0;f[pa>>2]=jf+Za;Za=Va-jf|0;f[xa>>2]=Za;Va=Za-Qa+256|0;if(Va>>>0<769)kf=h[243744+Va>>0]|0;else kf=0;b[H+ed>>0]=kf+Qa;Qa=ed+1|0;if((ed|0)<(Ga|0))ed=Qa;else{B=za;E=Qa;continue b}}}if((l|0)==(p|0))break;else H=H+n|0}u=e;return}default:{u=e;return}}}function H1(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,f=0;e=(X(j[b>>1]|0,a)|0)+(j[c>>1]|0)&65535;d[c>>1]=e;e=c+2|0;f=(X(j[b+2>>1]|0,a)|0)+(j[e>>1]|0)&65535;d[e>>1]=f;f=c+4|0;e=(X(j[b+4>>1]|0,a)|0)+(j[f>>1]|0)&65535;d[f>>1]=e;e=c+6|0;f=(X(j[b+6>>1]|0,a)|0)+(j[e>>1]|0)&65535;d[e>>1]=f;f=c+8|0;e=(X(j[b+8>>1]|0,a)|0)+(j[f>>1]|0)&65535;d[f>>1]=e;e=c+10|0;f=(X(j[b+10>>1]|0,a)|0)+(j[e>>1]|0)&65535;d[e>>1]=f;f=c+12|0;e=(X(j[b+12>>1]|0,a)|0)+(j[f>>1]|0)&65535;d[f>>1]=e;e=c+14|0;f=(X(j[b+14>>1]|0,a)|0)+(j[e>>1]|0)&65535;d[e>>1]=f;f=c+16|0;e=(X(j[b+16>>1]|0,a)|0)+(j[f>>1]|0)&65535;d[f>>1]=e;e=c+18|0;f=(X(j[b+18>>1]|0,a)|0)+(j[e>>1]|0)&65535;d[e>>1]=f;f=c+20|0;e=(X(j[b+20>>1]|0,a)|0)+(j[f>>1]|0)&65535;d[f>>1]=e;e=c+22|0;f=(X(j[b+22>>1]|0,a)|0)+(j[e>>1]|0)&65535;d[e>>1]=f;f=c+24|0;e=(X(j[b+24>>1]|0,a)|0)+(j[f>>1]|0)&65535;d[f>>1]=e;e=c+26|0;f=(X(j[b+26>>1]|0,a)|0)+(j[e>>1]|0)&65535;d[e>>1]=f;f=c+28|0;e=(X(j[b+28>>1]|0,a)|0)+(j[f>>1]|0)&65535;d[f>>1]=e;e=c+30|0;c=(X(j[b+30>>1]|0,a)|0)+(j[e>>1]|0)&65535;d[e>>1]=c;return}function I1(a,b){a=a|0;b=b|0;var c=0;d[b>>1]=(j[a>>1]|0)+(j[b>>1]|0);c=b+2|0;d[c>>1]=(j[a+2>>1]|0)+(j[c>>1]|0);c=b+4|0;d[c>>1]=(j[a+4>>1]|0)+(j[c>>1]|0);c=b+6|0;d[c>>1]=(j[a+6>>1]|0)+(j[c>>1]|0);c=b+8|0;d[c>>1]=(j[a+8>>1]|0)+(j[c>>1]|0);c=b+10|0;d[c>>1]=(j[a+10>>1]|0)+(j[c>>1]|0);c=b+12|0;d[c>>1]=(j[a+12>>1]|0)+(j[c>>1]|0);c=b+14|0;d[c>>1]=(j[a+14>>1]|0)+(j[c>>1]|0);c=b+16|0;d[c>>1]=(j[a+16>>1]|0)+(j[c>>1]|0);c=b+18|0;d[c>>1]=(j[a+18>>1]|0)+(j[c>>1]|0);c=b+20|0;d[c>>1]=(j[a+20>>1]|0)+(j[c>>1]|0);c=b+22|0;d[c>>1]=(j[a+22>>1]|0)+(j[c>>1]|0);c=b+24|0;d[c>>1]=(j[a+24>>1]|0)+(j[c>>1]|0);c=b+26|0;d[c>>1]=(j[a+26>>1]|0)+(j[c>>1]|0);c=b+28|0;d[c>>1]=(j[a+28>>1]|0)+(j[c>>1]|0);c=b+30|0;d[c>>1]=(j[a+30>>1]|0)+(j[c>>1]|0);return}function J1(a,b){a=a|0;b=b|0;var c=0;d[b>>1]=(j[b>>1]|0)-(j[a>>1]|0);c=b+2|0;d[c>>1]=(j[c>>1]|0)-(j[a+2>>1]|0);c=b+4|0;d[c>>1]=(j[c>>1]|0)-(j[a+4>>1]|0);c=b+6|0;d[c>>1]=(j[c>>1]|0)-(j[a+6>>1]|0);c=b+8|0;d[c>>1]=(j[c>>1]|0)-(j[a+8>>1]|0);c=b+10|0;d[c>>1]=(j[c>>1]|0)-(j[a+10>>1]|0);c=b+12|0;d[c>>1]=(j[c>>1]|0)-(j[a+12>>1]|0);c=b+14|0;d[c>>1]=(j[c>>1]|0)-(j[a+14>>1]|0);c=b+16|0;d[c>>1]=(j[c>>1]|0)-(j[a+16>>1]|0);c=b+18|0;d[c>>1]=(j[c>>1]|0)-(j[a+18>>1]|0);c=b+20|0;d[c>>1]=(j[c>>1]|0)-(j[a+20>>1]|0);c=b+22|0;d[c>>1]=(j[c>>1]|0)-(j[a+22>>1]|0);c=b+24|0;d[c>>1]=(j[c>>1]|0)-(j[a+24>>1]|0);c=b+26|0;d[c>>1]=(j[c>>1]|0)-(j[a+26>>1]|0);c=b+28|0;d[c>>1]=(j[c>>1]|0)-(j[a+28>>1]|0);c=b+30|0;d[c>>1]=(j[c>>1]|0)-(j[a+30>>1]|0);return}function K1(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=+e;g=+g;h=h|0;var i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0,G=0,H=0,I=0,J=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0.0,T=0,V=0,W=0,Y=0.0,Z=0,_=0,$=0,aa=0,ba=0.0,ca=0.0,da=0,ea=0,fa=0;i=u;u=u+384|0;j=i+104|0;k=i+88|0;l=i+328|0;m=i+32|0;o=i+280|0;q=i;r=i+272|0;s=i+320|0;t=i+216|0;v=i+160|0;yV(r,45260);FJ(s,a,-1);_J(c,s,GJ(a,-1)|0,-1,0,0);do if((HJ(a)|0)==65536){s=f[a+4>>2]|0;f[t>>2]=f[s>>2];w=t+4|0;x=s+4|0;f[w>>2]=f[x>>2];y=t+8|0;f[y>>2]=f[s+8>>2];f[t+12>>2]=f[s+12>>2];f[t+16>>2]=f[s+16>>2];f[t+20>>2]=f[s+20>>2];f[t+24>>2]=f[s+24>>2];f[t+28>>2]=f[s+28>>2];f[t+32>>2]=f[s+32>>2];z=f[s+36>>2]|0;f[t+36>>2]=z;f[t+40>>2]=y;y=t+48|0;A=t+44|0;f[A>>2]=y;f[y>>2]=0;f[t+52>>2]=0;if(z|0){y=z+12|0;f[y>>2]=(f[y>>2]|0)+1}if((f[x>>2]|0)<3){x=f[s+44>>2]|0;y=f[A>>2]|0;f[y>>2]=f[x>>2];f[y+4>>2]=f[x+4>>2];break}else{f[w>>2]=0;WO(t,s);break}}else DJ(t,a,-1);while(0);do if((HJ(c)|0)==65536){a=f[c+4>>2]|0;f[v>>2]=f[a>>2];s=v+4|0;w=a+4|0;f[s>>2]=f[w>>2];x=v+8|0;f[x>>2]=f[a+8>>2];f[v+12>>2]=f[a+12>>2];f[v+16>>2]=f[a+16>>2];f[v+20>>2]=f[a+20>>2];f[v+24>>2]=f[a+24>>2];f[v+28>>2]=f[a+28>>2];f[v+32>>2]=f[a+32>>2];y=f[a+36>>2]|0;f[v+36>>2]=y;f[v+40>>2]=x;x=v+48|0;A=v+44|0;f[A>>2]=x;f[x>>2]=0;f[v+52>>2]=0;if(y|0){x=y+12|0;f[x>>2]=(f[x>>2]|0)+1}if((f[w>>2]|0)<3){w=f[a+44>>2]|0;x=f[A>>2]|0;f[x>>2]=f[w>>2];f[x+4>>2]=f[w+4>>2];break}else{f[s>>2]=0;WO(v,a);break}}else DJ(v,c,-1);while(0);c=f[t>>2]|0;switch(c&7){case 0:{a=(c>>>3&511)+1|0;s=f[f[t+40>>2]>>2]|0;switch(c&4095){case 16:case 0:{if((f[t+16>>2]|0)==(f[v+16>>2]|0))B=18;break}default:B=18}if((B|0)==18){f[j>>2]=0;f[j+4>>2]=0;DVa(JV(j,140)|0,196035,140)|0;EP(-215,j,196176,193076,4909);KV(j)}C=!(e<=0.0)?e:1.0;D=!(g<=0.0)?g:1.0;E=-.5/(C*C);C=-.5/(D*D);if((d|0)<1)F=AEa(D*1.5)|0;else F=d>>>1;w=(F|0)>1?F:1;F=w<<1|1;f[j>>2]=1124007936;x=j+4|0;A=j+8|0;y=j+40|0;G=x;H=G+36|0;do{f[G>>2]=0;G=G+4|0}while((G|0)<(H|0));f[y>>2]=A;A=j+48|0;z=j+44|0;f[z>>2]=A;f[A>>2]=0;f[j+52>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=t;I=l+8|0;f[I>>2]=0;f[I+4>>2]=0;f[l>>2]=33619968;f[l+4>>2]=j;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;f[m+24>>2]=0;f[m+28>>2]=0;mM(k,l,w,w,w,w,h,m);I=a<<8;J=a<<10;M=EQa(J)|0;FVa(M|0,0,J|0)|0;J=X(F,F)|0;f[k>>2]=0;F=k+4|0;f[F>>2]=0;f[k+8>>2]=0;if(J>>>0>1073741823)ZOa(k);N=J<<2;O=EQa(N)|0;f[k>>2]=O;P=O+(J<<2)|0;f[k+8>>2]=P;FVa(O|0,0,N|0)|0;f[F>>2]=P;P=EQa(N)|0;FVa(P|0,0,N|0)|0;N=0;do{D=+U(+(E*+(X(N,N)|0)));n[M+(N<<2)>>2]=D;N=N+1|0}while((N|0)!=(I|0));I=0-w|0;if((w|0)<(I|0))Q=0;else{E=+(w|0);N=f[A>>2]|0;J=0;R=I;while(1){D=+(R|0);S=D*D;T=X(R,N)|0;V=I;W=J;while(1){D=+(V|0);Y=+L(+(S+D*D));if(Y>E)Z=W;else{_=(X(V,a)|0)+T|0;D=+U(+(C*(Y*Y)));n[O+(W<<2)>>2]=D;f[P+(W<<2)>>2]=_;Z=W+1|0}if((V|0)<(w|0)){V=V+1|0;W=Z}else break}if((R|0)<(w|0)){J=Z;R=R+1|0}else{Q=Z;break}}}f[l>>2]=45288;f[l+4>>2]=j;f[l+8>>2]=v;f[l+12>>2]=w;f[l+16>>2]=Q;f[l+20>>2]=P;f[l+24>>2]=O;f[l+28>>2]=M;f[m>>2]=0;f[m+4>>2]=s;s=f[v+4>>2]|0;if((s|0)<3)$=X(f[v+12>>2]|0,f[v+8>>2]|0)|0;else{O=f[v+40>>2]|0;Q=0;w=1;while(1){Z=X(f[O+(Q<<2)>>2]|0,w)|0;Q=Q+1|0;if((Q|0)==(s|0)){$=Z;break}else w=Z}}$Z(m,l,+($>>>0)*.0000152587890625);GQa(P);P=f[k>>2]|0;if(P|0){$=f[F>>2]|0;if(($|0)!=(P|0))f[F>>2]=$+(~(($+-4-P|0)>>>2)<<2);GQa(P)}GQa(M);M=j+36|0;P=f[M>>2]|0;if(P|0?($=P+12|0,P=f[$>>2]|0,f[$>>2]=P+-1,(P|0)==1):0)XO(j);f[M>>2]=0;M=j+16|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;if((f[x>>2]|0)>0){M=f[y>>2]|0;y=0;do{f[M+(y<<2)>>2]=0;y=y+1|0}while((y|0)<(f[x>>2]|0))}x=f[z>>2]|0;if((x|0)!=(A|0))dX(x);break}case 5:{x=(c>>>3&511)+1|0;p[j>>3]=-1.0;p[k>>3]=1.0;A=f[f[t+40>>2]>>2]|0;switch(c&4095){case 21:case 5:{if((f[t+16>>2]|0)==(f[v+16>>2]|0))B=52;break}default:B=52}if((B|0)==52){f[l>>2]=0;f[l+4>>2]=0;DVa(JV(l,140)|0,196195,140)|0;EP(-215,l,196336,193076,5170);KV(l)}C=!(e<=0.0)?e:1.0;e=!(g<=0.0)?g:1.0;g=-.5/(C*C);E=-.5/(e*e);if((d|0)<1)aa=AEa(e*1.5)|0;else aa=d>>>1;d=(aa|0)>1?aa:1;aa=d<<1|1;hP(m,t,1,0);f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=m;yP(l,j,k,0,0,BK()|0);B=m+36|0;c=f[B>>2]|0;if(c|0?(z=c+12|0,c=f[z>>2]|0,f[z>>2]=c+-1,(c|0)==1):0)XO(m);f[B>>2]=0;B=m+16|0;c=m+4|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;if((f[c>>2]|0)>0){B=f[m+40>>2]|0;z=0;do{f[B+(z<<2)>>2]=0;z=z+1|0}while((z|0)<(f[c>>2]|0))}c=f[m+44>>2]|0;if((c|0)!=(m+48|0))dX(c);if(!(+K(+(+p[j>>3]-+p[k>>3]))<1.1920928955078125e-07)){f[l>>2]=1124007936;c=l+4|0;z=l+8|0;B=l+40|0;G=c;H=G+36|0;do{f[G>>2]=0;G=G+4|0}while((G|0)<(H|0));f[B>>2]=z;z=l+48|0;y=l+44|0;f[y>>2]=z;f[z>>2]=0;f[l+52>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=t;M=o+8|0;f[M>>2]=0;f[M+4>>2]=0;f[o>>2]=33619968;f[o+4>>2]=l;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;f[q+16>>2]=0;f[q+20>>2]=0;f[q+24>>2]=0;f[q+28>>2]=0;mM(m,o,d,d,d,d,h,q);h=m+8|0;f[h>>2]=0;f[h+4>>2]=0;f[m>>2]=50397184;f[m+4>>2]=l;QQ(m,C*-5.0);h=X(aa,aa)|0;f[m>>2]=0;aa=m+4|0;f[aa>>2]=0;f[m+8>>2]=0;if(h>>>0>1073741823)ZOa(m);M=h<<2;P=EQa(M)|0;f[m>>2]=P;$=P+(h<<2)|0;f[m+8>>2]=$;FVa(P|0,0,M|0)|0;f[aa>>2]=$;$=EQa(M)|0;FVa($|0,0,M|0)|0;C=+p[k>>3];e=+p[j>>3];k=x<<12;M=k|2;h=M<<2;F=EQa(h)|0;FVa(F|0,0,h|0)|0;S=+(k|0)/(+(x|0)*(C-e));k=0;e=1.0;while(1){if(e>0.0){C=+(k|0)/S;D=+U(+(g*(C*C)));ba=D;ca=D}else{ba=e;ca=0.0}n[F+(k<<2)>>2]=ca;k=k+1|0;if((k|0)==(M|0))break;else e=ba}M=0-d|0;if((d|0)<(M|0))da=0;else{ba=+(d|0);k=(f[z>>2]|0)>>>2;h=0;w=M;while(1){e=+(w|0);ca=e*e;s=X(w,k)|0;Q=M;O=h;while(1){e=+(Q|0);g=+L(+(ca+e*e));if(g>ba)ea=O;else{Z=(X(Q,x)|0)+s|0;e=+U(+(E*(g*g)));n[P+(O<<2)>>2]=e;f[$+(O<<2)>>2]=Z;ea=O+1|0}if((Q|0)<(d|0)){Q=Q+1|0;O=ea}else break}if((w|0)<(d|0)){h=ea;w=w+1|0}else{da=ea;break}}}f[o>>2]=45308;f[o+4>>2]=x;f[o+8>>2]=d;f[o+12>>2]=da;f[o+16>>2]=$;f[o+20>>2]=l;f[o+24>>2]=v;n[o+28>>2]=S;f[o+32>>2]=P;f[o+36>>2]=F;f[q>>2]=0;f[q+4>>2]=A;A=f[v+4>>2]|0;if((A|0)<3)fa=X(f[v+12>>2]|0,f[v+8>>2]|0)|0;else{P=f[v+40>>2]|0;da=0;d=1;while(1){x=X(f[P+(da<<2)>>2]|0,d)|0;da=da+1|0;if((da|0)==(A|0)){fa=x;break}else d=x}}$Z(q,o,+(fa>>>0)*.0000152587890625);GQa(F);GQa($);$=f[m>>2]|0;if($|0){m=f[aa>>2]|0;if((m|0)!=($|0))f[aa>>2]=m+(~((m+-4-$|0)>>>2)<<2);GQa($)}$=l+36|0;m=f[$>>2]|0;if(m|0?(aa=m+12|0,m=f[aa>>2]|0,f[aa>>2]=m+-1,(m|0)==1):0)XO(l);f[$>>2]=0;$=l+16|0;f[$>>2]=0;f[$+4>>2]=0;f[$+8>>2]=0;f[$+12>>2]=0;if((f[c>>2]|0)>0){$=f[B>>2]|0;B=0;do{f[$+(B<<2)>>2]=0;B=B+1|0}while((B|0)<(f[c>>2]|0))}c=f[y>>2]|0;if((c|0)!=(z|0))dX(c)}else{c=l+8|0;f[c>>2]=0;f[c+4>>2]=0;f[l>>2]=33619968;f[l+4>>2]=v;eM(t,l)}break}default:{f[j>>2]=0;f[j+4>>2]=0;G=JV(j,61)|0;l=196356;H=G+61|0;do{b[G>>0]=b[l>>0]|0;G=G+1|0;l=l+1|0}while((G|0)<(H|0));EP(-210,j,196418,193076,5366);KV(j)}}j=v+36|0;l=f[j>>2]|0;if(l|0?(G=l+12|0,l=f[G>>2]|0,f[G>>2]=l+-1,(l|0)==1):0)XO(v);f[j>>2]=0;j=v+16|0;l=v+4|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;if((f[l>>2]|0)>0){j=f[v+40>>2]|0;G=0;do{f[j+(G<<2)>>2]=0;G=G+1|0}while((G|0)<(f[l>>2]|0))}l=f[v+44>>2]|0;if((l|0)!=(v+48|0))dX(l);l=t+36|0;v=f[l>>2]|0;if(v|0?(G=v+12|0,v=f[G>>2]|0,f[G>>2]=v+-1,(v|0)==1):0)XO(t);f[l>>2]=0;l=t+16|0;v=t+4|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;if((f[v>>2]|0)>0){l=f[t+40>>2]|0;G=0;do{f[l+(G<<2)>>2]=0;G=G+1|0}while((G|0)<(f[v>>2]|0))}v=f[t+44>>2]|0;if((v|0)!=(t+48|0))dX(v);if(!(f[r+4>>2]|0)){u=i;return}u=i;return}function L1(a){a=a|0;GQa(a);return}function M1(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0.0,G=0.0,H=0,I=0.0,J=0.0,L=0.0,M=0.0,N=0,O=0,P=0.0,Q=0.0,R=0,S=0.0,T=0.0,U=0,V=0.0,W=0.0,Y=0.0,Z=0.0,_=0,$=0.0,aa=0.0;d=u;u=u+16|0;e=d;g=a+24|0;h=f[g>>2]|0;i=f[(f[h+40>>2]|0)+4>>2]|0;j=f[c>>2]|0;k=c+4|0;if((j|0)>=(f[k>>2]|0)){u=d;return}c=a+20|0;l=a+8|0;m=a+4|0;o=e+4|0;p=i*3|0;q=(i|0)>0;r=a+12|0;s=a+16|0;t=a+28|0;v=a+32|0;w=a+36|0;a=j;j=h;while(1){h=f[c>>2]|0;x=f[l>>2]|0;y=(f[h+16>>2]|0)+(X(f[f[h+44>>2]>>2]|0,x+a|0)|0)|0;h=f[m>>2]|0;z=y+((X(h,x)|0)<<2)|0;x=(f[j+16>>2]|0)+(X(f[f[j+44>>2]>>2]|0,a)|0)|0;a:do switch(h|0){case 1:{if(q){y=f[r>>2]|0;if((y|0)<=0){A=0;while(1){n[x+(A<<2)>>2]=B;A=A+1|0;if((A|0)==(i|0))break a}}A=f[s>>2]|0;C=f[v>>2]|0;D=f[w>>2]|0;E=0;do{F=+n[z+(E<<2)>>2];G=+n[t>>2];H=0;I=0.0;J=0.0;do{L=+n[z+((f[A+(H<<2)>>2]|0)+E<<2)>>2];M=G*+K(+(L-F));N=~~M;O=N-(M<+(N|0)&1)|0;P=+n[D+(O<<2)>>2];Q=+n[C+(H<<2)>>2]*(P+(+n[D+(O+1<<2)>>2]-P)*(M-+(O|0)));I=I+L*Q;J=J+Q;H=H+1|0}while((H|0)<(y|0));n[x+(E<<2)>>2]=I/J;E=E+1|0}while((E|0)!=(i|0))}break}case 3:{R=12;break}default:{f[e>>2]=0;f[o>>2]=0;E=JV(e,7)|0;b[E>>0]=b[196434]|0;b[E+1>>0]=b[196435]|0;b[E+2>>0]=b[196436]|0;b[E+3>>0]=b[196437]|0;b[E+4>>0]=b[196438]|0;b[E+5>>0]=b[196439]|0;b[E+6>>0]=b[196440]|0;EP(-215,e,451664,193076,5053);KV(e);R=12}}while(0);b:do if((R|0)==12?(R=0,q):0){h=f[r>>2]|0;if((h|0)<=0){E=0;while(1){n[x+(E<<2)>>2]=B;n[x+(E+1<<2)>>2]=B;n[x+(E+2<<2)>>2]=B;E=E+3|0;if((E|0)>=(p|0))break b}}E=f[s>>2]|0;y=f[v>>2]|0;D=f[w>>2]|0;C=0;do{A=z+(C<<2)|0;F=+n[A>>2];H=C+1|0;G=+n[z+(H<<2)>>2];O=C+2|0;Q=+n[z+(O<<2)>>2];L=+n[t>>2];M=0.0;P=0.0;S=0.0;T=0.0;N=0;do{U=A+(f[E+(N<<2)>>2]<<2)|0;V=+n[U>>2];W=+n[U+4>>2];Y=+n[U+8>>2];Z=L*(+K(+(V-F))+ +K(+(W-G))+ +K(+(Y-Q)));U=~~Z;_=U-(Z<+(U|0)&1)|0;$=+n[D+(_<<2)>>2];aa=+n[y+(N<<2)>>2]*($+(+n[D+(_+1<<2)>>2]-$)*(Z-+(_|0)));M=M+V*aa;P=P+W*aa;T=T+Y*aa;S=S+aa;N=N+1|0}while((N|0)<(h|0));Q=1.0/S;n[x+(C<<2)>>2]=Q*M;n[x+(H<<2)>>2]=P*Q;n[x+(O<<2)>>2]=T*Q;C=C+3|0}while((C|0)<(p|0))}while(0);x=a+1|0;if((x|0)>=(f[k>>2]|0))break;a=x;j=f[g>>2]|0}u=d;return}function N1(a){a=a|0;GQa(a);return}function O1(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0,F=0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0.0,W=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0;d=a+8|0;e=f[d>>2]|0;g=(f[e>>2]|0)>>>3&511;i=g+1|0;j=f[(f[e+40>>2]|0)+4>>2]|0;k=f[c>>2]|0;l=c+4|0;if((k|0)>=(f[l>>2]|0))return;c=a+4|0;m=a+12|0;o=(g|0)==0;g=(j|0)>0;p=a+16|0;q=a+20|0;r=a+24|0;s=a+28|0;a=j*3|0;t=k;k=e;while(1){e=f[c>>2]|0;u=f[m>>2]|0;v=(f[e+16>>2]|0)+(X(f[f[e+44>>2]>>2]|0,u+t|0)|0)+(X(u,i)|0)|0;u=(f[k+16>>2]|0)+(X(f[f[k+44>>2]>>2]|0,t)|0)|0;if(o){if(g){e=0;do{w=h[v+e>>0]|0;x=f[p>>2]|0;if((x|0)>0){y=f[q>>2]|0;z=f[r>>2]|0;A=f[s>>2]|0;B=0;C=0.0;D=0.0;while(1){E=b[v+((f[y+(B<<2)>>2]|0)+e)>>0]|0;F=(E&255)-w|0;G=+n[z+(B<<2)>>2]*+n[A+(((F|0)>-1?F:0-F|0)<<2)>>2];H=C+G*+(E&255);I=D+G;B=B+1|0;if((B|0)>=(x|0)){J=H;K=I;break}else{C=H;D=I}}}else{J=0.0;K=0.0}x=(HEa(J/K)|0)&255;b[u+e>>0]=x;e=e+1|0}while((e|0)!=(j|0))}}else if(g){e=0;do{x=v+e|0;B=h[x>>0]|0;A=e+1|0;z=h[v+A>>0]|0;w=e+2|0;y=h[v+w>>0]|0;E=f[p>>2]|0;if((E|0)>0){F=f[q>>2]|0;L=f[r>>2]|0;M=f[s>>2]|0;D=0.0;C=0.0;I=0.0;H=0.0;N=0;while(1){O=x+(f[F+(N<<2)>>2]|0)|0;P=b[O>>0]|0;Q=b[O+1>>0]|0;R=b[O+2>>0]|0;O=(P&255)-B|0;S=(Q&255)-z|0;T=(R&255)-y|0;G=+n[L+(N<<2)>>2]*+n[M+(((S|0)>-1?S:0-S|0)+((O|0)>-1?O:0-O|0)+((T|0)>-1?T:0-T|0)<<2)>>2];U=H+G*+(P&255);V=I+G*+(Q&255);W=C+G*+(R&255);Y=D+G;N=N+1|0;if((N|0)>=(E|0)){Z=Y;_=W;$=V;aa=U;break}else{D=Y;C=W;I=V;H=U}}}else{Z=0.0;_=0.0;$=0.0;aa=0.0}H=1.0/Z;E=HEa(aa*H)|0;N=HEa($*H)|0;M=HEa(_*H)|0;b[u+e>>0]=E;b[u+A>>0]=N;b[u+w>>0]=M;e=e+3|0}while((e|0)<(a|0))}e=t+1|0;if((e|0)>=(f[l>>2]|0))break;t=e;k=f[d>>2]|0}return}function P1(a,c,e,g,h,i,j,k,l,m,o,p){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=+m;o=+o;p=p|0;var q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0.0,wa=0,xa=0.0,ya=0,za=0,Aa=0,Ba=0.0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0.0,Ja=0;q=u;u=u+2464|0;r=q+1336|0;s=q+272|0;t=q;v=q+264|0;w=q+200|0;x=q+256|0;y=q+136|0;z=q+192|0;yV(v,45320);if((X(l,k)|0)<=0?!(m>0.0&o>0.0):0){f[r>>2]=0;f[r+4>>2]=0;A=JV(r,68)|0;B=196595;C=A+68|0;do{b[A>>0]=b[B>>0]|0;A=A+1|0;B=B+1|0}while((A|0)<(C|0));EP(-215,r,196664,196671,3675);KV(r)}if(m<2.220446049250313e-16|o<2.220446049250313e-16){D=+(g|0);E=+(h|0);F=+(k|0)/D;G=+(l|0)/E;H=E;I=D}else{F=m;G=o;H=+(h|0);I=+(g|0)}J=a&7;L=(a>>>3&511)+1|0;M=AEa(F*I)|0;N=AEa(G*H)|0;if((X(N,M)|0)<=0){f[r>>2]=0;f[r+4>>2]=0;A=JV(r,16)|0;B=196729;C=A+16|0;do{b[A>>0]=b[B>>0]|0;A=A+1|0;B=B+1|0}while((A|0)<(C|0));EP(-215,r,196664,196671,3687);KV(r)}H=1.0/F;I=1.0/G;O=AEa(H)|0;P=AEa(I)|0;Q=+K(+(H-+(O|0)))<2.220446049250313e-16&+K(+(I-+(P|0)))<2.220446049250313e-16;f[x>>2]=g;f[x+4>>2]=h;EJ(w,x,a,c,e);f[z>>2]=M;f[z+4>>2]=N;EJ(y,z,a,i,j);switch(p|0){case 5:{if((L|0)!=2&((P|0)==2&((O|0)==2&Q))){R=3;S=31}else{a=f[45340+(J<<2)>>2]|0;if(J>>>0>=5){f[r>>2]=0;f[r+4>>2]=0;A=JV(r,9)|0;B=196746;C=A+9|0;do{b[A>>0]=b[B>>0]|0;A=A+1|0;B=B+1|0}while((A|0)<(C|0));EP(-215,r,196664,196671,3827);KV(r)}si[a&7](c,e,g,h,i,j,k,l,L,F,G)}break}case 0:{l=f[(f[w+40>>2]|0)+4>>2]|0;k=y+40|0;j=f[k>>2]|0;i=f[j+4>>2]|0;c=f[j>>2]|0;j=r+8|0;f[r>>2]=j;a=r+4|0;f[a>>2]=i;if(i>>>0>264){z=FQa(i>>>0>1073741823?-1:i<<2)|0;f[r>>2]=z;T=z}else T=j;z=f[w+4>>2]|0;if((z|0)>0)U=f[(f[w+44>>2]|0)+(z+-1<<2)>>2]|0;else U=0;z=U>>>2;if((i|0)>0){x=l+-1|0;l=0;do{o=H*+(l|0);V=~~o;W=V-(o<+(V|0)&1)|0;V=X((x|0)<(W|0)?x:W,U)|0;f[T+(l<<2)>>2]=V;l=l+1|0}while((l|0)!=(i|0))}f[s>>2]=0;f[s+4>>2]=c;Q1(t,w,y,T,z,I);z=f[y+4>>2]|0;if((z|0)<3)Y=X(f[y+12>>2]|0,f[y+8>>2]|0)|0;else{T=f[k>>2]|0;k=0;c=1;while(1){i=X(f[T+(k<<2)>>2]|0,c)|0;k=k+1|0;if((k|0)==(z|0)){Y=i;break}else c=i}}$Z(s,t,+(Y>>>0)*.0000152587890625);R1(t);t=f[r>>2]|0;if((t|0)!=(j|0)){if(t|0)HQa(t);f[r>>2]=j;f[a>>2]=264}break}default:{R=(p|0)==1&((P|0)==2&((O|0)==2&Q))?3:p;S=31}}do if((S|0)==31){p=(R|0)==3;if(I>=1.0&(H>=1.0&p)){if(Q){a=X(P,O)|0;j=(e>>>0)/((1212424721>>>(f[w>>2]<<2&28)&15)>>>0)|0;t=a+(X(M,L)|0)|0;Y=r+8|0;f[r>>2]=Y;c=r+4|0;f[c>>2]=t;if(t>>>0>264){z=FQa(t>>>0>1073741823?-1:t<<2)|0;f[r>>2]=z;Z=z}else Z=Y;z=Z+(a<<2)|0;a=f[45372+(J<<2)>>2]|0;if(!(109>>>J&1)){f[s>>2]=0;f[s+4>>2]=0;A=JV(s,9)|0;B=196746;C=A+9|0;do{b[A>>0]=b[B>>0]|0;A=A+1|0;B=B+1|0}while((A|0)<(C|0));EP(-215,s,196664,196671,3862);KV(s)}if((P|0)>0&(O|0)>0){t=0;k=0;while(1){T=X(k,j)|0;i=0;l=t;while(1){U=(X(i,L)|0)+T|0;f[Z+(l<<2)>>2]=U;i=i+1|0;if((i|0)==(O|0))break;else l=l+1|0}k=k+1|0;if((k|0)==(P|0))break;else t=O+t|0}}if((M|0)>0){t=0;do{k=X(t,L)|0;j=X(k,O)|0;l=0;do{f[z+(l+k<<2)>>2]=l+j;l=l+1|0}while((l|0)!=(L|0));t=t+1|0}while((t|0)!=(M|0))}ci[a&127](w,y,Z,z,O,P);t=f[r>>2]|0;if((t|0)!=(Y|0)){if(t|0)HQa(t);f[r>>2]=Y;f[c>>2]=264}break}t=f[45404+(J<<2)>>2]|0;if(!((109>>>J&1|0)!=0&L>>>0<5)){f[r>>2]=0;f[r+4>>2]=0;A=JV(r,20)|0;B=196756;C=A+20|0;do{b[A>>0]=b[B>>0]|0;A=A+1|0;B=B+1|0}while((A|0)<(C|0));EP(-215,r,196664,196671,3881);KV(r)}c=h+g<<1;Y=r+8|0;f[r>>2]=Y;z=r+4|0;f[z>>2]=c;if(c>>>0>93){a=FQa(c>>>0>357913941?-1:c*12|0)|0;f[r>>2]=a;_=a}else _=Y;a=_+((g<<1)*12|0)|0;c=S1(g,M,L,H,_)|0;l=S1(h,N,1,I,a)|0;j=N+1|0;k=s+8|0;f[s>>2]=k;i=s+4|0;f[i>>2]=j;if(j>>>0>264){T=FQa(j>>>0>1073741823?-1:j<<2)|0;f[s>>2]=T;$=T}else $=k;if((l|0)>0){T=0;j=0;while(1){if((j|0)!=0?(f[a+(j*12|0)+4>>2]|0)==(f[a+((j+-1|0)*12|0)+4>>2]|0):0)aa=T;else{f[$+(T<<2)>>2]=j;aa=T+1|0}j=j+1|0;if((j|0)==(l|0)){ba=aa;break}else T=aa}}else ba=0;f[$+(ba<<2)>>2]=l;li[t&127](w,y,_,c,a,l,$);T=f[s>>2]|0;if((T|0)!=(k|0)){if(T|0)HQa(T);f[s>>2]=k;f[i>>2]=264}T=f[r>>2]|0;if((T|0)!=(Y|0)){if(T|0)HQa(T);f[r>>2]=Y;f[z>>2]=93}break}T=X(M,L)|0;j=(J|0)==0;U=(R|0)==2;if(!U)if((R|0)!=4)if((R|2|0)==3){ca=2;da=45468;S=74}else{f[r>>2]=0;f[r+4>>2]=0;A=JV(r,28)|0;B=229428;C=A+28|0;do{b[A>>0]=b[B>>0]|0;A=A+1|0;B=B+1|0}while((A|0)<(C|0));EP(-5,r,196664,196671,3919);KV(r);ea=0;fa=0;S=75}else{ca=8;da=45436;S=74}else{ca=4;da=45500;S=74}if((S|0)==74){z=f[da+(J<<2)>>2]|0;Y=ca>>>1;if(!z){ea=ca;fa=Y;S=75}else{ga=ca;ha=z;ia=Y}}if((S|0)==75){f[r>>2]=0;f[r+4>>2]=0;A=JV(r,9)|0;B=196746;C=A+9|0;do{b[A>>0]=b[B>>0]|0;A=A+1|0;B=B+1|0}while((A|0)<(C|0));EP(-215,r,196664,196671,3922);KV(r);ga=ea;ha=0;ia=fa}Y=T+N|0;z=ga<<2;i=X(z|4,Y)|0;k=r+8|0;f[r>>2]=k;l=r+4|0;f[l>>2]=i;if(i>>>0>1032){a=FQa(i)|0;f[r>>2]=a;ja=a}else ja=k;a=ja+(T<<2)|0;i=a+(N<<2)|0;c=X(ga,T)|0;t=i+(c<<2)|0;x=i+(c<<1)|0;A=s;C=A+64|0;do{f[A>>2]=0;A=A+4|0}while((A|0)<(C|0));if((M|0)>0){T=ia+-1|0;c=s+4|0;V=s+8|0;W=s+12|0;ka=(ga|0)>0;la=X(ga,L)|0;ma=(R|0)==4;na=g+-1|0;oa=0;pa=M;qa=0;while(1){ra=X(la,qa)|0;sa=ja+(Y+ra<<2)|0;o=+(qa|0);if(p){m=H*o;ta=~~m;ua=ta-(m<+(ta|0)&1)|0;m=+(qa+1|0)-F*+(ua+1|0);ta=~~m;if(!(m<=0.0)){va=m-+(ta-(+(ta|0)>m&1)|0);wa=ua}else{va=0.0;wa=ua}}else{m=H*(o+.5)+-.5;ua=~~m;ta=ua-(+(ua|0)>m&1)|0;va=m-+(ta|0);wa=ta}a:do if((wa|0)<(T|0)){ta=qa+1|0;if((wa|0)<0){switch(R|0){case 2:case 4:{xa=va;ya=ta;za=wa;break a;break}default:{}}xa=0.0;ya=ta;za=0}else{xa=va;ya=ta;za=wa}}else{xa=va;ya=oa;za=wa}while(0);b:do if((za+ia|0)>=(g|0)){ta=(qa|0)<(pa|0)?qa:pa;if((za|0)<(na|0)){Aa=ta;Ba=xa;Ca=za}else{switch(R|0){case 2:case 4:{Aa=ta;Ba=xa;Ca=za;break b;break}default:{}}Aa=ta;Ba=0.0;Ca=na}}else{Aa=pa;Ba=xa;Ca=za}while(0);ta=X(Ca,L)|0;ua=X(qa,L)|0;Da=0;do{f[ja+(Da+ua<<2)>>2]=Da+ta;Da=Da+1|0}while((Da|0)!=(L|0));do if(!U)if(ma){T1(Ba,s);break}else{n[s>>2]=1.0-Ba;n[c>>2]=Ba;break}else{m=Ba+1.0;o=m*(m*(3.75-m*.75)+-6.0)+3.0;n[s>>2]=o;m=Ba*(Ba*(Ba*1.25+-2.25))+1.0;n[c>>2]=m;D=1.0-Ba;E=D*(D*(D*1.25+-2.25))+1.0;n[V>>2]=E;n[W>>2]=1.0-o-m-E}while(0);if(j){if(ka){Da=0;do{ta=HEa(+n[s+(Da<<2)>>2]*2048.0)|0;d[i+(Da+ra<<1)>>1]=(ta+32768|0)>>>0<65536?ta:(ta|0)>0?32767:32768;Da=Da+1|0}while((Da|0)!=(ga|0));Ea=ga}else Ea=0;if((Ea|0)<(la|0)){Da=Ea;do{ta=Da+ra|0;d[i+(ta<<1)>>1]=d[i+(ta-ga<<1)>>1]|0;Da=Da+1|0}while((Da|0)<(la|0))}}else{if(ka){DVa(sa|0,s|0,z|0)|0;Fa=ga}else Fa=0;if((Fa|0)<(la|0)){Da=Fa;do{ta=Da+ra|0;f[i+(ta<<2)>>2]=f[i+(ta-ga<<2)>>2];Da=Da+1|0}while((Da|0)<(la|0))}}qa=qa+1|0;if((qa|0)==(M|0)){Ga=ya;Ha=Aa;break}else{oa=ya;pa=Aa}}}else{Ga=0;Ha=M}if((N|0)>0){pa=s+4|0;oa=s+8|0;qa=s+12|0;la=(ga|0)>0;ka=(R|0)==4;W=X(X(M,z+4|0)|0,L)|0;V=0;do{c=X(ga,V)|0;ma=ja+(N+c<<2)+W|0;E=+(V|0);if(p){m=I*E;na=~~m;T=na-(m<+(na|0)&1)|0;m=+(V+1|0)-G*+(T+1|0);na=~~m;if(!(m<=0.0)){Ia=m-+(na-(+(na|0)>m&1)|0);Ja=T}else{Ia=0.0;Ja=T}}else{m=I*(E+.5)+-.5;T=~~m;na=T-(+(T|0)>m&1)|0;Ia=m-+(na|0);Ja=na}f[a+(V<<2)>>2]=Ja;do if(!U)if(ka){T1(Ia,s);break}else{n[s>>2]=1.0-Ia;n[pa>>2]=Ia;break}else{m=Ia+1.0;E=m*(m*(3.75-m*.75)+-6.0)+3.0;n[s>>2]=E;m=Ia*(Ia*(Ia*1.25+-2.25))+1.0;n[pa>>2]=m;o=1.0-Ia;D=o*(o*(o*1.25+-2.25))+1.0;n[oa>>2]=D;n[qa>>2]=1.0-E-m-D}while(0);if(j){if(la){na=0;do{T=HEa(+n[s+(na<<2)>>2]*2048.0)|0;d[x+(na+c<<1)>>1]=(T+32768|0)>>>0<65536?T:(T|0)>0?32767:32768;na=na+1|0}while((na|0)!=(ga|0))}}else if(la)DVa(ma|0,s|0,z|0)|0;V=V+1|0}while((V|0)!=(N|0))}ri[ha&127](w,y,ja,i,a,j?x:t,Ga,Ha,ga);V=f[r>>2]|0;if((V|0)!=(k|0)){if(V|0)HQa(V);f[r>>2]=k;f[l>>2]=1032}}while(0);r=y+36|0;ga=f[r>>2]|0;if(ga|0?(Ha=ga+12|0,ga=f[Ha>>2]|0,f[Ha>>2]=ga+-1,(ga|0)==1):0)XO(y);f[r>>2]=0;r=y+16|0;ga=y+4|0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;if((f[ga>>2]|0)>0){r=f[y+40>>2]|0;Ha=0;do{f[r+(Ha<<2)>>2]=0;Ha=Ha+1|0}while((Ha|0)<(f[ga>>2]|0))}ga=f[y+44>>2]|0;if((ga|0)!=(y+48|0))dX(ga);ga=w+36|0;y=f[ga>>2]|0;if(y|0?(Ha=y+12|0,y=f[Ha>>2]|0,f[Ha>>2]=y+-1,(y|0)==1):0)XO(w);f[ga>>2]=0;ga=w+16|0;y=w+4|0;f[ga>>2]=0;f[ga+4>>2]=0;f[ga+8>>2]=0;f[ga+12>>2]=0;if((f[y>>2]|0)>0){ga=f[w+40>>2]|0;Ha=0;do{f[ga+(Ha<<2)>>2]=0;Ha=Ha+1|0}while((Ha|0)<(f[y>>2]|0))}y=f[w+44>>2]|0;if((y|0)!=(w+48|0))dX(y);if(!(f[v+4>>2]|0)){u=q;return}u=q;return}function Q1(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=+g;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0;f[a>>2]=46040;h=a+4|0;f[h>>2]=f[b>>2];i=a+8|0;j=b+4|0;f[i>>2]=f[j>>2];k=a+12|0;f[k>>2]=f[b+8>>2];f[a+16>>2]=f[b+12>>2];f[a+20>>2]=f[b+16>>2];f[a+24>>2]=f[b+20>>2];f[a+28>>2]=f[b+24>>2];f[a+32>>2]=f[b+28>>2];f[a+36>>2]=f[b+32>>2];l=f[b+36>>2]|0;f[a+40>>2]=l;f[a+44>>2]=k;k=a+52|0;m=a+48|0;f[m>>2]=k;f[k>>2]=0;f[a+56>>2]=0;if(l|0){k=l+12|0;f[k>>2]=(f[k>>2]|0)+1}if((f[j>>2]|0)<3){j=f[b+44>>2]|0;k=f[m>>2]|0;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2]}else{f[i>>2]=0;WO(h,b)}b=a+60|0;f[b>>2]=f[c>>2];h=a+64|0;i=c+4|0;f[h>>2]=f[i>>2];j=a+68|0;f[j>>2]=f[c+8>>2];f[a+72>>2]=f[c+12>>2];f[a+76>>2]=f[c+16>>2];f[a+80>>2]=f[c+20>>2];f[a+84>>2]=f[c+24>>2];f[a+88>>2]=f[c+28>>2];f[a+92>>2]=f[c+32>>2];k=f[c+36>>2]|0;f[a+96>>2]=k;f[a+100>>2]=j;j=a+108|0;m=a+104|0;f[m>>2]=j;f[j>>2]=0;f[a+112>>2]=0;if(k|0){j=k+12|0;f[j>>2]=(f[j>>2]|0)+1}if((f[i>>2]|0)<3){i=f[c+44>>2]|0;j=f[m>>2]|0;f[j>>2]=f[i>>2];f[j+4>>2]=f[i+4>>2];n=a+116|0;f[n>>2]=d;o=a+120|0;f[o>>2]=e;q=a+128|0;p[q>>3]=g;return}else{f[h>>2]=0;WO(b,c);n=a+116|0;f[n>>2]=d;o=a+120|0;f[o>>2]=e;q=a+128|0;p[q>>3]=g;return}}function R1(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=46040;b=a+60|0;c=a+96|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+76|0;b=a+64|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+100>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+104>>2]|0;if((b|0)!=(a+108|0))dX(b);b=a+4|0;d=a+40|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+20|0;b=a+8|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[a+44>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+48>>2]|0;if((b|0)==(a+52|0))return;dX(b);return}function S1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var g=0,h=0.0,i=0,j=0,k=0.0,l=0.0,m=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;if((b|0)<=0){g=0;return g|0}h=+(a|0);i=a+-1|0;a=0;j=0;while(1){k=+(j|0)*d;l=k+d;m=h-k;o=m+(p|0)&1)+p|0;p=~~l;r=p-(l<+(p|0)&1)|0;p=(i|0)<(r|0)?i:r;r=(p|0)<(q|0)?p:q;m=+(r|0)-k;if(m>.001){s=X(j,c)|0;f[e+(a*12|0)+4>>2]=s;s=X(r+-1|0,c)|0;f[e+(a*12|0)>>2]=s;n[e+(a*12|0)+8>>2]=m/o;t=a+1|0}else t=a;if((p|0)>(q|0)){q=X(j,c)|0;m=1.0/o;s=r;r=t;while(1){f[e+(r*12|0)+4>>2]=q;u=X(s,c)|0;f[e+(r*12|0)>>2]=u;u=r+1|0;n[e+(r*12|0)+8>>2]=m;s=s+1|0;if((s|0)>=(p|0)){v=u;break}else r=u}}else v=t;m=l-+(p|0);if(m>.001){r=X(j,c)|0;f[e+(v*12|0)+4>>2]=r;r=X(p,c)|0;f[e+(v*12|0)>>2]=r;k=m>1.0?1.0:m;n[e+(v*12|0)+8>>2]=(o>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;n[b+12>>2]=1.0;return}else{c=a+3.0;a=-c*3.141592653589793*.25;d=+O(+a);e=+N(+a);g=e*0.0;h=(d+g)/(a*a);a=-(c+-1.0)*3.141592653589793*.25;i=d*-.7071067811865476;j=e*-.7071067811865476;k=(i+j)/(a*a);a=-(c+-2.0)*3.141592653589793*.25;l=d*0.0;m=(l+e)/(a*a);a=-(c+-3.0)*3.141592653589793*.25;o=d*.7071067811865476;p=(o+j)/(a*a);a=-(c+-4.0)*3.141592653589793*.25;j=(g-d)/(a*a);a=-(c+-5.0)*3.141592653589793*.25;d=e*.7071067811865476;g=(o+d)/(a*a);a=-(c+-6.0)*3.141592653589793*.25;o=(l-e)/(a*a);a=-(c+-7.0)*3.141592653589793*.25;c=(i+d)/(a*a);a=1.0/(h+0.0+k+m+p+j+g+o+c);n[b>>2]=a*h;n[b+4>>2]=a*k;n[b+8>>2]=a*m;n[b+12>>2]=a*p;n[b+16>>2]=a*j;n[b+20>>2]=a*g;n[b+24>>2]=a*o;n[b+28>>2]=a*c;return}}function U1(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0,y=0.0;k=u;u=u+192|0;l=k+176|0;m=k+168|0;n=k+160|0;o=k;p=f[a+40>>2]|0;q=f[p+4>>2]|0;r=f[p>>2]|0;f[l>>2]=q;f[l+4>>2]=r;r=b+40|0;p=f[r>>2]|0;s=f[p+4>>2]|0;t=f[p>>2]|0;f[m+4>>2]=t;p=((f[a>>2]|0)>>>3&511)+1|0;v=X(p,q)|0;f[l>>2]=v;v=X(s,p)|0;f[m>>2]=v;v=X(p,h)|0;h=X(p,i)|0;f[n>>2]=0;f[n+4>>2]=t;r2(o,a,b,c,e,d,g,l,m,j,v,h);h=f[b+4>>2]|0;if((h|0)<3){w=X(f[b+12>>2]|0,f[b+8>>2]|0)|0;x=+(w>>>0);y=x*.0000152587890625;$Z(n,o,y);s2(o);u=k;return}b=f[r>>2]|0;r=0;v=1;while(1){j=X(f[b+(r<<2)>>2]|0,v)|0;r=r+1|0;if((r|0)==(h|0)){w=j;break}else v=j}x=+(w>>>0);y=x*.0000152587890625;$Z(n,o,y);s2(o);u=k;return}function V1(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0,y=0.0;k=u;u=u+192|0;l=k+176|0;m=k+168|0;n=k+160|0;o=k;p=f[a+40>>2]|0;q=f[p+4>>2]|0;r=f[p>>2]|0;f[l>>2]=q;f[l+4>>2]=r;r=b+40|0;p=f[r>>2]|0;s=f[p+4>>2]|0;t=f[p>>2]|0;f[m+4>>2]=t;p=((f[a>>2]|0)>>>3&511)+1|0;v=X(p,q)|0;f[l>>2]=v;v=X(s,p)|0;f[m>>2]=v;v=X(p,h)|0;h=X(p,i)|0;f[n>>2]=0;f[n+4>>2]=t;m2(o,a,b,c,e,d,g,l,m,j,v,h);h=f[b+4>>2]|0;if((h|0)<3){w=X(f[b+12>>2]|0,f[b+8>>2]|0)|0;x=+(w>>>0);y=x*.0000152587890625;$Z(n,o,y);n2(o);u=k;return}b=f[r>>2]|0;r=0;v=1;while(1){j=X(f[b+(r<<2)>>2]|0,v)|0;r=r+1|0;if((r|0)==(h|0)){w=j;break}else v=j}x=+(w>>>0);y=x*.0000152587890625;$Z(n,o,y);n2(o);u=k;return}function W1(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0,y=0.0;k=u;u=u+192|0;l=k+176|0;m=k+168|0;n=k+160|0;o=k;p=f[a+40>>2]|0;q=f[p+4>>2]|0;r=f[p>>2]|0;f[l>>2]=q;f[l+4>>2]=r;r=b+40|0;p=f[r>>2]|0;s=f[p+4>>2]|0;t=f[p>>2]|0;f[m+4>>2]=t;p=((f[a>>2]|0)>>>3&511)+1|0;v=X(p,q)|0;f[l>>2]=v;v=X(s,p)|0;f[m>>2]=v;v=X(p,h)|0;h=X(p,i)|0;f[n>>2]=0;f[n+4>>2]=t;h2(o,a,b,c,e,d,g,l,m,j,v,h);h=f[b+4>>2]|0;if((h|0)<3){w=X(f[b+12>>2]|0,f[b+8>>2]|0)|0;x=+(w>>>0);y=x*.0000152587890625;$Z(n,o,y);i2(o);u=k;return}b=f[r>>2]|0;r=0;v=1;while(1){j=X(f[b+(r<<2)>>2]|0,v)|0;r=r+1|0;if((r|0)==(h|0)){w=j;break}else v=j}x=+(w>>>0);y=x*.0000152587890625;$Z(n,o,y);i2(o);u=k;return}function X1(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0,y=0.0;k=u;u=u+192|0;l=k+176|0;m=k+168|0;n=k+160|0;o=k;p=f[a+40>>2]|0;q=f[p+4>>2]|0;r=f[p>>2]|0;f[l>>2]=q;f[l+4>>2]=r;r=b+40|0;p=f[r>>2]|0;s=f[p+4>>2]|0;t=f[p>>2]|0;f[m+4>>2]=t;p=((f[a>>2]|0)>>>3&511)+1|0;v=X(p,q)|0;f[l>>2]=v;v=X(s,p)|0;f[m>>2]=v;v=X(p,h)|0;h=X(p,i)|0;f[n>>2]=0;f[n+4>>2]=t;c2(o,a,b,c,e,d,g,l,m,j,v,h);h=f[b+4>>2]|0;if((h|0)<3){w=X(f[b+12>>2]|0,f[b+8>>2]|0)|0;x=+(w>>>0);y=x*.0000152587890625;$Z(n,o,y);d2(o);u=k;return}b=f[r>>2]|0;r=0;v=1;while(1){j=X(f[b+(r<<2)>>2]|0,v)|0;r=r+1|0;if((r|0)==(h|0)){w=j;break}else v=j}x=+(w>>>0);y=x*.0000152587890625;$Z(n,o,y);d2(o);u=k;return}function Y1(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0,y=0.0;k=u;u=u+192|0;l=k+176|0;m=k+168|0;n=k+160|0;o=k;p=f[a+40>>2]|0;q=f[p+4>>2]|0;r=f[p>>2]|0;f[l>>2]=q;f[l+4>>2]=r;r=b+40|0;p=f[r>>2]|0;s=f[p+4>>2]|0;t=f[p>>2]|0;f[m+4>>2]=t;p=((f[a>>2]|0)>>>3&511)+1|0;v=X(p,q)|0;f[l>>2]=v;v=X(s,p)|0;f[m>>2]=v;v=X(p,h)|0;h=X(p,i)|0;f[n>>2]=0;f[n+4>>2]=t;Z1(o,a,b,c,e,d,g,l,m,j,v,h);h=f[b+4>>2]|0;if((h|0)<3){w=X(f[b+12>>2]|0,f[b+8>>2]|0)|0;x=+(w>>>0);y=x*.0000152587890625;$Z(n,o,y);_1(o);u=k;return}b=f[r>>2]|0;r=0;v=1;while(1){j=X(f[b+(r<<2)>>2]|0,v)|0;r=r+1|0;if((r|0)==(h|0)){w=j;break}else v=j}x=+(w>>>0);y=x*.0000152587890625;$Z(n,o,y);_1(o);u=k;return}function Z1(a,c,d,e,g,h,i,j,k,l,m,n){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;o=u;u=u+16|0;p=o;f[a>>2]=45540;q=a+4|0;f[q>>2]=f[c>>2];r=a+8|0;s=c+4|0;f[r>>2]=f[s>>2];t=a+12|0;f[t>>2]=f[c+8>>2];f[a+16>>2]=f[c+12>>2];f[a+20>>2]=f[c+16>>2];f[a+24>>2]=f[c+20>>2];f[a+28>>2]=f[c+24>>2];f[a+32>>2]=f[c+28>>2];f[a+36>>2]=f[c+32>>2];v=f[c+36>>2]|0;f[a+40>>2]=v;f[a+44>>2]=t;t=a+52|0;w=a+48|0;f[w>>2]=t;f[t>>2]=0;f[a+56>>2]=0;if(v|0){t=v+12|0;f[t>>2]=(f[t>>2]|0)+1}if((f[s>>2]|0)<3){s=f[c+44>>2]|0;t=f[w>>2]|0;f[t>>2]=f[s>>2];f[t+4>>2]=f[s+4>>2]}else{f[r>>2]=0;WO(q,c)}c=a+60|0;f[c>>2]=f[d>>2];q=a+64|0;r=d+4|0;f[q>>2]=f[r>>2];s=a+68|0;f[s>>2]=f[d+8>>2];f[a+72>>2]=f[d+12>>2];f[a+76>>2]=f[d+16>>2];f[a+80>>2]=f[d+20>>2];f[a+84>>2]=f[d+24>>2];f[a+88>>2]=f[d+28>>2];f[a+92>>2]=f[d+32>>2];t=f[d+36>>2]|0;f[a+96>>2]=t;f[a+100>>2]=s;s=a+108|0;w=a+104|0;f[w>>2]=s;f[s>>2]=0;f[a+112>>2]=0;if(t|0){s=t+12|0;f[s>>2]=(f[s>>2]|0)+1}if((f[r>>2]|0)<3){r=f[d+44>>2]|0;s=f[w>>2]|0;f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2]}else{f[q>>2]=0;WO(c,d)}f[a+116>>2]=e;f[a+120>>2]=g;f[a+124>>2]=h;f[a+128>>2]=i;f[a+132>>2]=f[j>>2];f[a+136>>2]=f[j+4>>2];f[a+140>>2]=f[k>>2];f[a+144>>2]=f[k+4>>2];f[a+148>>2]=l;f[a+152>>2]=m;f[a+156>>2]=n;if((l|0)<17){u=o;return}f[p>>2]=0;f[p+4>>2]=0;l=JV(p,18)|0;n=196885;a=l+18|0;do{b[l>>0]=b[n>>0]|0;l=l+1|0;n=n+1|0}while((l|0)<(a|0));EP(-215,p,196904,196671,2211);KV(p);u=o;return}function _1(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=45540;b=a+60|0;c=a+96|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+76|0;b=a+64|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+100>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+104>>2]|0;if((b|0)!=(a+108|0))dX(b);b=a+4|0;d=a+40|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+20|0;b=a+8|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[a+44>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+48>>2]|0;if((b|0)==(a+52|0))return;dX(b);return}function $1(a){a=a|0;_1(a);GQa(a);return}function a2(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0.0,W=0.0,Y=0.0,Z=0,_=0;c=u;u=u+1296|0;d=c+1288|0;e=c;g=c+1224|0;h=c+1160|0;i=c+1096|0;j=((f[a+4>>2]|0)>>>3&511)+1|0;k=a+140|0;l=(f[k>>2]|0)+15&-16;m=a+148|0;o=f[m>>2]|0;q=X(l,o)|0;r=e+8|0;f[e>>2]=r;s=e+4|0;f[s>>2]=q;if(q>>>0>136){t=FQa(q>>>0>536870911?-1:q<<3)|0;f[e>>2]=t;v=t}else v=r;t=g;q=t+64|0;do{f[t>>2]=0;t=t+4|0}while((t|0)<(q|0));t=h;q=t+64|0;do{f[t>>2]=0;t=t+4|0}while((t|0)<(q|0));if((o|0)>0){FVa(i|0,-1,o<<2|0)|0;t=0;do{q=v+((X(t,l)|0)<<3)|0;f[h+(t<<2)>>2]=q;t=t+1|0}while((t|0)<(o|0))}t=f[b>>2]|0;q=b+4|0;if((t|0)<(f[q>>2]|0)){b=a+120|0;w=a+116|0;x=a+124|0;y=a+132|0;z=a+152|0;A=a+156|0;B=a+76|0;C=a+108|0;D=h+4|0;E=h+8|0;F=h+12|0;G=a+136|0;H=a+20|0;I=a+48|0;J=l<<3;l=(f[a+128>>2]|0)+((X(t,o)|0)<<2)|0;a=t;t=o;while(1){if((t|0)>0){o=(f[(f[b>>2]|0)+(a<<2)>>2]|0)+1+((t|0)/-2|0)|0;K=t;L=0;M=t;N=0;while(1){O=o+N|0;P=f[G>>2]|0;Q=(O|0)>-1?((O|0)<(P|0)?O:P+-1|0):0;P=(L|0)<(N|0)?N:L;a:do if((P|0)<(M|0)){O=P;while(1){if((O|0)<16?(Q|0)==(f[i+(O<<2)>>2]|0):0)break;R=O+1|0;if((R|0)<(M|0))O=R;else{S=M;T=R;break a}}if((O|0)>(N|0)){DVa(f[h+(N<<2)>>2]|0,f[h+(O<<2)>>2]|0,J|0)|0;S=f[m>>2]|0;T=O}else{S=M;T=O}}else{S=M;T=P}while(0);K=(N|0)<(K|0)&(T|0)==(S|0)?N:K;P=(f[H>>2]|0)+(X(f[f[I>>2]>>2]|0,Q)|0)|0;f[g+(N<<2)>>2]=P;f[i+(N<<2)>>2]=Q;N=N+1|0;if((N|0)>=(S|0))break;else{L=T;M=S}}if((S|0)>(K|0))b2(d,g+(K<<2)|0,h+(K<<2)|0,S-K|0,f[w>>2]|0,f[x>>2]|0,f[y>>2]|0,f[k>>2]|0,j,f[z>>2]|0,f[A>>2]|0)}M=(f[B>>2]|0)+(X(f[C>>2]|0,a)|0)|0;L=f[k>>2]|0;U=+n[l>>2];V=+n[l+4>>2];W=+n[l+8>>2];Y=+n[l+12>>2];N=f[h>>2]|0;o=f[D>>2]|0;P=f[E>>2]|0;R=f[F>>2]|0;if((L|0)>0){Z=0;do{p[M+(Z<<3)>>3]=+p[N+(Z<<3)>>3]*U+ +p[o+(Z<<3)>>3]*V+ +p[P+(Z<<3)>>3]*W+ +p[R+(Z<<3)>>3]*Y;Z=Z+1|0}while((Z|0)!=(L|0))}a=a+1|0;L=f[m>>2]|0;if((a|0)>=(f[q>>2]|0))break;else{l=l+(L<<2)|0;t=L}}_=f[e>>2]|0}else _=v;if((_|0)==(r|0)){u=c;return}if(_|0)HQa(_);f[e>>2]=r;f[s>>2]=136;u=c;return}function b2(a,b,c,d,e,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0,G=0,H=0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;if((d|0)<=0)return;a=j<<1;m=0-(i<<2)|0;o=j<<1;q=j*3|0;r=g;g=0;while(1){s=f[b+(g<<2)>>2]|0;t=f[c+(g<<2)>>2]|0;u=k;v=0;w=r;a:while(1){if((u|0)>(v|0)){x=u-v<<2;y=v;z=w;while(1){A=f[e+(y<<2)>>2]|0;B=A-j|0;if(B>>>0>>0)C=B;else{D=B;while(1)if((D|0)<0)D=D+j|0;else{E=D;break}while(1)if((E|0)<(h|0)){C=E;break}else E=E-j|0}F=+p[s+(C<<3)>>3]*+n[z>>2]+0.0;if(A>>>0>>0)G=A;else{D=A;while(1)if((D|0)<0)D=D+j|0;else{H=D;break}while(1)if((H|0)<(h|0)){G=H;break}else H=H-j|0}I=F+ +p[s+(G<<3)>>3]*+n[z+4>>2];D=o+B|0;if(D>>>0>>0)J=D;else{A=D;while(1)if((A|0)<0)A=A+j|0;else{K=A;break}while(1)if((K|0)<(h|0)){J=K;break}else K=K-j|0}F=I+ +p[s+(J<<3)>>3]*+n[z+8>>2];A=q+B|0;if(A>>>0>>0)L=A;else{D=A;while(1)if((D|0)<0)D=D+j|0;else{M=D;break}while(1)if((M|0)<(h|0)){L=M;break}else M=M-j|0}p[t+(y<<3)>>3]=F+ +p[s+(L<<3)>>3]*+n[z+12>>2];y=y+1|0;if((y|0)==(u|0))break;else z=z+16|0}N=u;O=w+(x<<2)|0}else{N=v;O=w}if((u|0)==(i|0))break;if((N|0)<(l|0)){P=N;Q=O}else{u=i;v=N;w=O;continue}while(1){z=f[e+(P<<2)>>2]|0;p[t+(P<<3)>>3]=+p[s+(z-j<<3)>>3]*+n[Q>>2]+ +p[s+(z<<3)>>3]*+n[Q+4>>2]+ +p[s+(z+j<<3)>>3]*+n[Q+8>>2]+ +p[s+(z+a<<3)>>3]*+n[Q+12>>2];z=P+1|0;y=Q+16|0;if((z|0)<(l|0)){P=z;Q=y}else{u=i;v=l;w=y;continue a}}}g=g+1|0;if((g|0)==(d|0))break;else r=O+(m<<2)|0}return}function c2(a,c,d,e,g,h,i,j,k,l,m,n){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;o=u;u=u+16|0;p=o;f[a>>2]=45560;q=a+4|0;f[q>>2]=f[c>>2];r=a+8|0;s=c+4|0;f[r>>2]=f[s>>2];t=a+12|0;f[t>>2]=f[c+8>>2];f[a+16>>2]=f[c+12>>2];f[a+20>>2]=f[c+16>>2];f[a+24>>2]=f[c+20>>2];f[a+28>>2]=f[c+24>>2];f[a+32>>2]=f[c+28>>2];f[a+36>>2]=f[c+32>>2];v=f[c+36>>2]|0;f[a+40>>2]=v;f[a+44>>2]=t;t=a+52|0;w=a+48|0;f[w>>2]=t;f[t>>2]=0;f[a+56>>2]=0;if(v|0){t=v+12|0;f[t>>2]=(f[t>>2]|0)+1}if((f[s>>2]|0)<3){s=f[c+44>>2]|0;t=f[w>>2]|0;f[t>>2]=f[s>>2];f[t+4>>2]=f[s+4>>2]}else{f[r>>2]=0;WO(q,c)}c=a+60|0;f[c>>2]=f[d>>2];q=a+64|0;r=d+4|0;f[q>>2]=f[r>>2];s=a+68|0;f[s>>2]=f[d+8>>2];f[a+72>>2]=f[d+12>>2];f[a+76>>2]=f[d+16>>2];f[a+80>>2]=f[d+20>>2];f[a+84>>2]=f[d+24>>2];f[a+88>>2]=f[d+28>>2];f[a+92>>2]=f[d+32>>2];t=f[d+36>>2]|0;f[a+96>>2]=t;f[a+100>>2]=s;s=a+108|0;w=a+104|0;f[w>>2]=s;f[s>>2]=0;f[a+112>>2]=0;if(t|0){s=t+12|0;f[s>>2]=(f[s>>2]|0)+1}if((f[r>>2]|0)<3){r=f[d+44>>2]|0;s=f[w>>2]|0;f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2]}else{f[q>>2]=0;WO(c,d)}f[a+116>>2]=e;f[a+120>>2]=g;f[a+124>>2]=h;f[a+128>>2]=i;f[a+132>>2]=f[j>>2];f[a+136>>2]=f[j+4>>2];f[a+140>>2]=f[k>>2];f[a+144>>2]=f[k+4>>2];f[a+148>>2]=l;f[a+152>>2]=m;f[a+156>>2]=n;if((l|0)<17){u=o;return}f[p>>2]=0;f[p+4>>2]=0;l=JV(p,18)|0;n=196885;a=l+18|0;do{b[l>>0]=b[n>>0]|0;l=l+1|0;n=n+1|0}while((l|0)<(a|0));EP(-215,p,196904,196671,2211);KV(p);u=o;return}function d2(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=45560;b=a+60|0;c=a+96|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+76|0;b=a+64|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+100>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+104>>2]|0;if((b|0)!=(a+108|0))dX(b);b=a+4|0;d=a+40|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+20|0;b=a+8|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[a+44>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+48>>2]|0;if((b|0)==(a+52|0))return;dX(b);return}function e2(a){a=a|0;d2(a);GQa(a);return}function f2(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0.0,U=0.0,V=0.0,W=0.0,Y=0,Z=0;c=u;u=u+1264|0;d=c+1256|0;e=c+192|0;g=c+128|0;h=c+64|0;i=c;j=((f[a+4>>2]|0)>>>3&511)+1|0;k=a+140|0;l=(f[k>>2]|0)+15&-16;m=a+148|0;o=f[m>>2]|0;p=X(l,o)|0;q=e+8|0;f[e>>2]=q;r=e+4|0;f[r>>2]=p;if(p>>>0>264){s=FQa(p>>>0>1073741823?-1:p<<2)|0;f[e>>2]=s;t=s}else t=q;s=g;p=s+64|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(p|0));s=h;p=s+64|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(p|0));if((o|0)>0){FVa(i|0,-1,o<<2|0)|0;s=0;do{p=t+((X(s,l)|0)<<2)|0;f[h+(s<<2)>>2]=p;s=s+1|0}while((s|0)<(o|0))}s=f[b>>2]|0;p=b+4|0;if((s|0)<(f[p>>2]|0)){b=a+120|0;v=a+116|0;w=a+124|0;x=a+132|0;y=a+152|0;z=a+156|0;A=a+76|0;B=a+108|0;C=h+4|0;D=h+8|0;E=h+12|0;F=a+136|0;G=a+20|0;H=a+48|0;I=l<<2;l=(f[a+128>>2]|0)+((X(s,o)|0)<<2)|0;a=s;s=o;while(1){if((s|0)>0){o=(f[(f[b>>2]|0)+(a<<2)>>2]|0)+1+((s|0)/-2|0)|0;J=s;K=0;L=s;M=0;while(1){N=o+M|0;O=f[F>>2]|0;P=(N|0)>-1?((N|0)<(O|0)?N:O+-1|0):0;O=(K|0)<(M|0)?M:K;a:do if((O|0)<(L|0)){N=O;while(1){if((N|0)<16?(P|0)==(f[i+(N<<2)>>2]|0):0)break;Q=N+1|0;if((Q|0)<(L|0))N=Q;else{R=L;S=Q;break a}}if((N|0)>(M|0)){DVa(f[h+(M<<2)>>2]|0,f[h+(N<<2)>>2]|0,I|0)|0;R=f[m>>2]|0;S=N}else{R=L;S=N}}else{R=L;S=O}while(0);J=(M|0)<(J|0)&(S|0)==(R|0)?M:J;O=(f[G>>2]|0)+(X(f[f[H>>2]>>2]|0,P)|0)|0;f[g+(M<<2)>>2]=O;f[i+(M<<2)>>2]=P;M=M+1|0;if((M|0)>=(R|0))break;else{K=S;L=R}}if((R|0)>(J|0))g2(d,g+(J<<2)|0,h+(J<<2)|0,R-J|0,f[v>>2]|0,f[w>>2]|0,f[x>>2]|0,f[k>>2]|0,j,f[y>>2]|0,f[z>>2]|0)}L=(f[A>>2]|0)+(X(f[B>>2]|0,a)|0)|0;K=f[k>>2]|0;T=+n[l>>2];U=+n[l+4>>2];V=+n[l+8>>2];W=+n[l+12>>2];M=f[h>>2]|0;o=f[C>>2]|0;O=f[D>>2]|0;Q=f[E>>2]|0;if((K|0)>0){Y=0;do{n[L+(Y<<2)>>2]=T*+n[M+(Y<<2)>>2]+U*+n[o+(Y<<2)>>2]+V*+n[O+(Y<<2)>>2]+W*+n[Q+(Y<<2)>>2];Y=Y+1|0}while((Y|0)!=(K|0))}a=a+1|0;K=f[m>>2]|0;if((a|0)>=(f[p>>2]|0))break;else{l=l+(K<<2)|0;s=K}}Z=f[e>>2]|0}else Z=t;if((Z|0)==(q|0)){u=c;return}if(Z|0)HQa(Z);f[e>>2]=q;f[r>>2]=264;u=c;return}function g2(a,b,c,d,e,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0,G=0,H=0.0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;if((d|0)<=0)return;a=j<<1;m=0-(i<<2)|0;o=j<<1;p=j*3|0;q=g;g=0;while(1){r=f[b+(g<<2)>>2]|0;s=f[c+(g<<2)>>2]|0;t=k;u=0;v=q;a:while(1){if((t|0)>(u|0)){w=t-u<<2;x=u;y=v;while(1){z=f[e+(x<<2)>>2]|0;A=z-j|0;if(A>>>0>>0)B=A;else{C=A;while(1)if((C|0)<0)C=C+j|0;else{D=C;break}while(1)if((D|0)<(h|0)){B=D;break}else D=D-j|0}E=+n[r+(B<<2)>>2]*+n[y>>2]+0.0;if(z>>>0>>0)F=z;else{C=z;while(1)if((C|0)<0)C=C+j|0;else{G=C;break}while(1)if((G|0)<(h|0)){F=G;break}else G=G-j|0}H=E+ +n[r+(F<<2)>>2]*+n[y+4>>2];C=o+A|0;if(C>>>0>>0)I=C;else{z=C;while(1)if((z|0)<0)z=z+j|0;else{J=z;break}while(1)if((J|0)<(h|0)){I=J;break}else J=J-j|0}E=H+ +n[r+(I<<2)>>2]*+n[y+8>>2];z=p+A|0;if(z>>>0>>0)K=z;else{C=z;while(1)if((C|0)<0)C=C+j|0;else{L=C;break}while(1)if((L|0)<(h|0)){K=L;break}else L=L-j|0}n[s+(x<<2)>>2]=E+ +n[r+(K<<2)>>2]*+n[y+12>>2];x=x+1|0;if((x|0)==(t|0))break;else y=y+16|0}M=t;N=v+(w<<2)|0}else{M=u;N=v}if((t|0)==(i|0))break;if((M|0)<(l|0)){O=M;P=N}else{t=i;u=M;v=N;continue}while(1){y=f[e+(O<<2)>>2]|0;n[s+(O<<2)>>2]=+n[r+(y-j<<2)>>2]*+n[P>>2]+ +n[r+(y<<2)>>2]*+n[P+4>>2]+ +n[r+(y+j<<2)>>2]*+n[P+8>>2]+ +n[r+(y+a<<2)>>2]*+n[P+12>>2];y=O+1|0;x=P+16|0;if((y|0)<(l|0)){O=y;P=x}else{t=i;u=l;v=x;continue a}}}g=g+1|0;if((g|0)==(d|0))break;else q=N+(m<<2)|0}return}function h2(a,c,d,e,g,h,i,j,k,l,m,n){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;o=u;u=u+16|0;p=o;f[a>>2]=45580;q=a+4|0;f[q>>2]=f[c>>2];r=a+8|0;s=c+4|0;f[r>>2]=f[s>>2];t=a+12|0;f[t>>2]=f[c+8>>2];f[a+16>>2]=f[c+12>>2];f[a+20>>2]=f[c+16>>2];f[a+24>>2]=f[c+20>>2];f[a+28>>2]=f[c+24>>2];f[a+32>>2]=f[c+28>>2];f[a+36>>2]=f[c+32>>2];v=f[c+36>>2]|0;f[a+40>>2]=v;f[a+44>>2]=t;t=a+52|0;w=a+48|0;f[w>>2]=t;f[t>>2]=0;f[a+56>>2]=0;if(v|0){t=v+12|0;f[t>>2]=(f[t>>2]|0)+1}if((f[s>>2]|0)<3){s=f[c+44>>2]|0;t=f[w>>2]|0;f[t>>2]=f[s>>2];f[t+4>>2]=f[s+4>>2]}else{f[r>>2]=0;WO(q,c)}c=a+60|0;f[c>>2]=f[d>>2];q=a+64|0;r=d+4|0;f[q>>2]=f[r>>2];s=a+68|0;f[s>>2]=f[d+8>>2];f[a+72>>2]=f[d+12>>2];f[a+76>>2]=f[d+16>>2];f[a+80>>2]=f[d+20>>2];f[a+84>>2]=f[d+24>>2];f[a+88>>2]=f[d+28>>2];f[a+92>>2]=f[d+32>>2];t=f[d+36>>2]|0;f[a+96>>2]=t;f[a+100>>2]=s;s=a+108|0;w=a+104|0;f[w>>2]=s;f[s>>2]=0;f[a+112>>2]=0;if(t|0){s=t+12|0;f[s>>2]=(f[s>>2]|0)+1}if((f[r>>2]|0)<3){r=f[d+44>>2]|0;s=f[w>>2]|0;f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2]}else{f[q>>2]=0;WO(c,d)}f[a+116>>2]=e;f[a+120>>2]=g;f[a+124>>2]=h;f[a+128>>2]=i;f[a+132>>2]=f[j>>2];f[a+136>>2]=f[j+4>>2];f[a+140>>2]=f[k>>2];f[a+144>>2]=f[k+4>>2];f[a+148>>2]=l;f[a+152>>2]=m;f[a+156>>2]=n;if((l|0)<17){u=o;return}f[p>>2]=0;f[p+4>>2]=0;l=JV(p,18)|0;n=196885;a=l+18|0;do{b[l>>0]=b[n>>0]|0;l=l+1|0;n=n+1|0}while((l|0)<(a|0));EP(-215,p,196904,196671,2211);KV(p);u=o;return}function i2(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=45580;b=a+60|0;c=a+96|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+76|0;b=a+64|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+100>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+104>>2]|0;if((b|0)!=(a+108|0))dX(b);b=a+4|0;d=a+40|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+20|0;b=a+8|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[a+44>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+48>>2]|0;if((b|0)==(a+52|0))return;dX(b);return}function j2(a){a=a|0;i2(a);GQa(a);return}function k2(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0.0,W=0.0,Y=0.0,Z=0,_=0,$=0;c=u;u=u+1264|0;e=c+1256|0;g=c+192|0;h=c+128|0;i=c+64|0;j=c;k=((f[a+4>>2]|0)>>>3&511)+1|0;l=a+140|0;m=(f[l>>2]|0)+15&-16;o=a+148|0;p=f[o>>2]|0;q=X(m,p)|0;r=g+8|0;f[g>>2]=r;s=g+4|0;f[s>>2]=q;if(q>>>0>264){t=FQa(q>>>0>1073741823?-1:q<<2)|0;f[g>>2]=t;v=t}else v=r;t=h;q=t+64|0;do{f[t>>2]=0;t=t+4|0}while((t|0)<(q|0));t=i;q=t+64|0;do{f[t>>2]=0;t=t+4|0}while((t|0)<(q|0));if((p|0)>0){FVa(j|0,-1,p<<2|0)|0;t=0;do{q=v+((X(t,m)|0)<<2)|0;f[i+(t<<2)>>2]=q;t=t+1|0}while((t|0)<(p|0))}t=f[b>>2]|0;q=b+4|0;if((t|0)<(f[q>>2]|0)){b=a+120|0;w=a+116|0;x=a+124|0;y=a+132|0;z=a+152|0;A=a+156|0;B=a+76|0;C=a+108|0;D=i+4|0;E=i+8|0;F=i+12|0;G=a+136|0;H=a+20|0;I=a+48|0;J=m<<2;m=(f[a+128>>2]|0)+((X(t,p)|0)<<2)|0;a=t;t=p;while(1){if((t|0)>0){p=(f[(f[b>>2]|0)+(a<<2)>>2]|0)+1+((t|0)/-2|0)|0;K=t;L=0;M=t;N=0;while(1){O=p+N|0;P=f[G>>2]|0;Q=(O|0)>-1?((O|0)<(P|0)?O:P+-1|0):0;P=(L|0)<(N|0)?N:L;a:do if((P|0)<(M|0)){O=P;while(1){if((O|0)<16?(Q|0)==(f[j+(O<<2)>>2]|0):0)break;R=O+1|0;if((R|0)<(M|0))O=R;else{S=M;T=R;break a}}if((O|0)>(N|0)){DVa(f[i+(N<<2)>>2]|0,f[i+(O<<2)>>2]|0,J|0)|0;S=f[o>>2]|0;T=O}else{S=M;T=O}}else{S=M;T=P}while(0);K=(N|0)<(K|0)&(T|0)==(S|0)?N:K;P=(f[H>>2]|0)+(X(f[f[I>>2]>>2]|0,Q)|0)|0;f[h+(N<<2)>>2]=P;f[j+(N<<2)>>2]=Q;N=N+1|0;if((N|0)>=(S|0))break;else{L=T;M=S}}if((S|0)>(K|0))l2(e,h+(K<<2)|0,i+(K<<2)|0,S-K|0,f[w>>2]|0,f[x>>2]|0,f[y>>2]|0,f[l>>2]|0,k,f[z>>2]|0,f[A>>2]|0)}M=(f[B>>2]|0)+(X(f[C>>2]|0,a)|0)|0;L=f[l>>2]|0;U=+n[m>>2];V=+n[m+4>>2];W=+n[m+8>>2];Y=+n[m+12>>2];N=f[i>>2]|0;p=f[D>>2]|0;P=f[E>>2]|0;R=f[F>>2]|0;if((L|0)>0){Z=0;do{_=HEa(U*+n[N+(Z<<2)>>2]+V*+n[p+(Z<<2)>>2]+W*+n[P+(Z<<2)>>2]+Y*+n[R+(Z<<2)>>2])|0;d[M+(Z<<1)>>1]=(_+32768|0)>>>0<65536?_:(_|0)>0?32767:32768;Z=Z+1|0}while((Z|0)!=(L|0))}a=a+1|0;L=f[o>>2]|0;if((a|0)>=(f[q>>2]|0))break;else{m=m+(L<<2)|0;t=L}}$=f[g>>2]|0}else $=v;if(($|0)==(r|0)){u=c;return}if($|0)HQa($);f[g>>2]=r;f[s>>2]=264;u=c;return}function l2(a,b,c,e,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0,G=0,H=0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;if((e|0)<=0)return;a=k<<1;o=0-(j<<2)|0;p=k<<1;q=k*3|0;r=h;h=0;while(1){s=f[b+(h<<2)>>2]|0;t=f[c+(h<<2)>>2]|0;u=l;v=0;w=r;a:while(1){if((u|0)>(v|0)){x=u-v<<2;y=v;z=w;while(1){A=f[g+(y<<2)>>2]|0;B=A-k|0;if(B>>>0>>0)C=B;else{D=B;while(1)if((D|0)<0)D=D+k|0;else{E=D;break}while(1)if((E|0)<(i|0)){C=E;break}else E=E-k|0}F=+n[z>>2]*+(d[s+(C<<1)>>1]|0)+0.0;if(A>>>0>>0)G=A;else{D=A;while(1)if((D|0)<0)D=D+k|0;else{H=D;break}while(1)if((H|0)<(i|0)){G=H;break}else H=H-k|0}I=F+ +n[z+4>>2]*+(d[s+(G<<1)>>1]|0);D=p+B|0;if(D>>>0>>0)J=D;else{A=D;while(1)if((A|0)<0)A=A+k|0;else{K=A;break}while(1)if((K|0)<(i|0)){J=K;break}else K=K-k|0}F=I+ +n[z+8>>2]*+(d[s+(J<<1)>>1]|0);A=q+B|0;if(A>>>0>>0)L=A;else{D=A;while(1)if((D|0)<0)D=D+k|0;else{M=D;break}while(1)if((M|0)<(i|0)){L=M;break}else M=M-k|0}n[t+(y<<2)>>2]=F+ +n[z+12>>2]*+(d[s+(L<<1)>>1]|0);y=y+1|0;if((y|0)==(u|0))break;else z=z+16|0}N=u;O=w+(x<<2)|0}else{N=v;O=w}if((u|0)==(j|0))break;if((N|0)<(m|0)){P=N;Q=O}else{u=j;v=N;w=O;continue}while(1){z=f[g+(P<<2)>>2]|0;n[t+(P<<2)>>2]=+n[Q>>2]*+(d[s+(z-k<<1)>>1]|0)+ +n[Q+4>>2]*+(d[s+(z<<1)>>1]|0)+ +n[Q+8>>2]*+(d[s+(z+k<<1)>>1]|0)+ +n[Q+12>>2]*+(d[s+(z+a<<1)>>1]|0);z=P+1|0;y=Q+16|0;if((z|0)<(m|0)){P=z;Q=y}else{u=j;v=m;w=y;continue a}}}h=h+1|0;if((h|0)==(e|0))break;else r=O+(o<<2)|0}return}function m2(a,c,d,e,g,h,i,j,k,l,m,n){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;o=u;u=u+16|0;p=o;f[a>>2]=45600;q=a+4|0;f[q>>2]=f[c>>2];r=a+8|0;s=c+4|0;f[r>>2]=f[s>>2];t=a+12|0;f[t>>2]=f[c+8>>2];f[a+16>>2]=f[c+12>>2];f[a+20>>2]=f[c+16>>2];f[a+24>>2]=f[c+20>>2];f[a+28>>2]=f[c+24>>2];f[a+32>>2]=f[c+28>>2];f[a+36>>2]=f[c+32>>2];v=f[c+36>>2]|0;f[a+40>>2]=v;f[a+44>>2]=t;t=a+52|0;w=a+48|0;f[w>>2]=t;f[t>>2]=0;f[a+56>>2]=0;if(v|0){t=v+12|0;f[t>>2]=(f[t>>2]|0)+1}if((f[s>>2]|0)<3){s=f[c+44>>2]|0;t=f[w>>2]|0;f[t>>2]=f[s>>2];f[t+4>>2]=f[s+4>>2]}else{f[r>>2]=0;WO(q,c)}c=a+60|0;f[c>>2]=f[d>>2];q=a+64|0;r=d+4|0;f[q>>2]=f[r>>2];s=a+68|0;f[s>>2]=f[d+8>>2];f[a+72>>2]=f[d+12>>2];f[a+76>>2]=f[d+16>>2];f[a+80>>2]=f[d+20>>2];f[a+84>>2]=f[d+24>>2];f[a+88>>2]=f[d+28>>2];f[a+92>>2]=f[d+32>>2];t=f[d+36>>2]|0;f[a+96>>2]=t;f[a+100>>2]=s;s=a+108|0;w=a+104|0;f[w>>2]=s;f[s>>2]=0;f[a+112>>2]=0;if(t|0){s=t+12|0;f[s>>2]=(f[s>>2]|0)+1}if((f[r>>2]|0)<3){r=f[d+44>>2]|0;s=f[w>>2]|0;f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2]}else{f[q>>2]=0;WO(c,d)}f[a+116>>2]=e;f[a+120>>2]=g;f[a+124>>2]=h;f[a+128>>2]=i;f[a+132>>2]=f[j>>2];f[a+136>>2]=f[j+4>>2];f[a+140>>2]=f[k>>2];f[a+144>>2]=f[k+4>>2];f[a+148>>2]=l;f[a+152>>2]=m;f[a+156>>2]=n;if((l|0)<17){u=o;return}f[p>>2]=0;f[p+4>>2]=0;l=JV(p,18)|0;n=196885;a=l+18|0;do{b[l>>0]=b[n>>0]|0;l=l+1|0;n=n+1|0}while((l|0)<(a|0));EP(-215,p,196904,196671,2211);KV(p);u=o;return}function n2(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=45600;b=a+60|0;c=a+96|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+76|0;b=a+64|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+100>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+104>>2]|0;if((b|0)!=(a+108|0))dX(b);b=a+4|0;d=a+40|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+20|0;b=a+8|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[a+44>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+48>>2]|0;if((b|0)==(a+52|0))return;dX(b);return}function o2(a){a=a|0;n2(a);GQa(a);return}function p2(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0.0,W=0.0,Y=0.0,Z=0,_=0,$=0;c=u;u=u+1264|0;e=c+1256|0;g=c+192|0;h=c+128|0;i=c+64|0;j=c;k=((f[a+4>>2]|0)>>>3&511)+1|0;l=a+140|0;m=(f[l>>2]|0)+15&-16;o=a+148|0;p=f[o>>2]|0;q=X(m,p)|0;r=g+8|0;f[g>>2]=r;s=g+4|0;f[s>>2]=q;if(q>>>0>264){t=FQa(q>>>0>1073741823?-1:q<<2)|0;f[g>>2]=t;v=t}else v=r;t=h;q=t+64|0;do{f[t>>2]=0;t=t+4|0}while((t|0)<(q|0));t=i;q=t+64|0;do{f[t>>2]=0;t=t+4|0}while((t|0)<(q|0));if((p|0)>0){FVa(j|0,-1,p<<2|0)|0;t=0;do{q=v+((X(t,m)|0)<<2)|0;f[i+(t<<2)>>2]=q;t=t+1|0}while((t|0)<(p|0))}t=f[b>>2]|0;q=b+4|0;if((t|0)<(f[q>>2]|0)){b=a+120|0;w=a+116|0;x=a+124|0;y=a+132|0;z=a+152|0;A=a+156|0;B=a+76|0;C=a+108|0;D=i+4|0;E=i+8|0;F=i+12|0;G=a+136|0;H=a+20|0;I=a+48|0;J=m<<2;m=(f[a+128>>2]|0)+((X(t,p)|0)<<2)|0;a=t;t=p;while(1){if((t|0)>0){p=(f[(f[b>>2]|0)+(a<<2)>>2]|0)+1+((t|0)/-2|0)|0;K=t;L=0;M=t;N=0;while(1){O=p+N|0;P=f[G>>2]|0;Q=(O|0)>-1?((O|0)<(P|0)?O:P+-1|0):0;P=(L|0)<(N|0)?N:L;a:do if((P|0)<(M|0)){O=P;while(1){if((O|0)<16?(Q|0)==(f[j+(O<<2)>>2]|0):0)break;R=O+1|0;if((R|0)<(M|0))O=R;else{S=M;T=R;break a}}if((O|0)>(N|0)){DVa(f[i+(N<<2)>>2]|0,f[i+(O<<2)>>2]|0,J|0)|0;S=f[o>>2]|0;T=O}else{S=M;T=O}}else{S=M;T=P}while(0);K=(N|0)<(K|0)&(T|0)==(S|0)?N:K;P=(f[H>>2]|0)+(X(f[f[I>>2]>>2]|0,Q)|0)|0;f[h+(N<<2)>>2]=P;f[j+(N<<2)>>2]=Q;N=N+1|0;if((N|0)>=(S|0))break;else{L=T;M=S}}if((S|0)>(K|0))q2(e,h+(K<<2)|0,i+(K<<2)|0,S-K|0,f[w>>2]|0,f[x>>2]|0,f[y>>2]|0,f[l>>2]|0,k,f[z>>2]|0,f[A>>2]|0)}M=(f[B>>2]|0)+(X(f[C>>2]|0,a)|0)|0;L=f[l>>2]|0;U=+n[m>>2];V=+n[m+4>>2];W=+n[m+8>>2];Y=+n[m+12>>2];N=f[i>>2]|0;p=f[D>>2]|0;P=f[E>>2]|0;R=f[F>>2]|0;if((L|0)>0){Z=0;do{_=HEa(U*+n[N+(Z<<2)>>2]+V*+n[p+(Z<<2)>>2]+W*+n[P+(Z<<2)>>2]+Y*+n[R+(Z<<2)>>2])|0;d[M+(Z<<1)>>1]=_>>>0<65536?_:(_|0)>0?65535:0;Z=Z+1|0}while((Z|0)!=(L|0))}a=a+1|0;L=f[o>>2]|0;if((a|0)>=(f[q>>2]|0))break;else{m=m+(L<<2)|0;t=L}}$=f[g>>2]|0}else $=v;if(($|0)==(r|0)){u=c;return}if($|0)HQa($);f[g>>2]=r;f[s>>2]=264;u=c;return}function q2(a,b,c,d,e,g,h,i,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;k=k|0;l=l|0;m=m|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0,G=0,H=0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;if((d|0)<=0)return;a=k<<1;o=0-(i<<2)|0;p=k<<1;q=k*3|0;r=g;g=0;while(1){s=f[b+(g<<2)>>2]|0;t=f[c+(g<<2)>>2]|0;u=l;v=0;w=r;a:while(1){if((u|0)>(v|0)){x=u-v<<2;y=v;z=w;while(1){A=f[e+(y<<2)>>2]|0;B=A-k|0;if(B>>>0>>0)C=B;else{D=B;while(1)if((D|0)<0)D=D+k|0;else{E=D;break}while(1)if((E|0)<(h|0)){C=E;break}else E=E-k|0}F=+n[z>>2]*+(j[s+(C<<1)>>1]|0)+0.0;if(A>>>0>>0)G=A;else{D=A;while(1)if((D|0)<0)D=D+k|0;else{H=D;break}while(1)if((H|0)<(h|0)){G=H;break}else H=H-k|0}I=F+ +n[z+4>>2]*+(j[s+(G<<1)>>1]|0);D=p+B|0;if(D>>>0>>0)J=D;else{A=D;while(1)if((A|0)<0)A=A+k|0;else{K=A;break}while(1)if((K|0)<(h|0)){J=K;break}else K=K-k|0}F=I+ +n[z+8>>2]*+(j[s+(J<<1)>>1]|0);A=q+B|0;if(A>>>0>>0)L=A;else{D=A;while(1)if((D|0)<0)D=D+k|0;else{M=D;break}while(1)if((M|0)<(h|0)){L=M;break}else M=M-k|0}n[t+(y<<2)>>2]=F+ +n[z+12>>2]*+(j[s+(L<<1)>>1]|0);y=y+1|0;if((y|0)==(u|0))break;else z=z+16|0}N=u;O=w+(x<<2)|0}else{N=v;O=w}if((u|0)==(i|0))break;if((N|0)<(m|0)){P=N;Q=O}else{u=i;v=N;w=O;continue}while(1){z=f[e+(P<<2)>>2]|0;n[t+(P<<2)>>2]=+n[Q>>2]*+(j[s+(z-k<<1)>>1]|0)+ +n[Q+4>>2]*+(j[s+(z<<1)>>1]|0)+ +n[Q+8>>2]*+(j[s+(z+k<<1)>>1]|0)+ +n[Q+12>>2]*+(j[s+(z+a<<1)>>1]|0);z=P+1|0;y=Q+16|0;if((z|0)<(m|0)){P=z;Q=y}else{u=i;v=m;w=y;continue a}}}g=g+1|0;if((g|0)==(d|0))break;else r=O+(o<<2)|0}return}function r2(a,c,d,e,g,h,i,j,k,l,m,n){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;o=u;u=u+16|0;p=o;f[a>>2]=45620;q=a+4|0;f[q>>2]=f[c>>2];r=a+8|0;s=c+4|0;f[r>>2]=f[s>>2];t=a+12|0;f[t>>2]=f[c+8>>2];f[a+16>>2]=f[c+12>>2];f[a+20>>2]=f[c+16>>2];f[a+24>>2]=f[c+20>>2];f[a+28>>2]=f[c+24>>2];f[a+32>>2]=f[c+28>>2];f[a+36>>2]=f[c+32>>2];v=f[c+36>>2]|0;f[a+40>>2]=v;f[a+44>>2]=t;t=a+52|0;w=a+48|0;f[w>>2]=t;f[t>>2]=0;f[a+56>>2]=0;if(v|0){t=v+12|0;f[t>>2]=(f[t>>2]|0)+1}if((f[s>>2]|0)<3){s=f[c+44>>2]|0;t=f[w>>2]|0;f[t>>2]=f[s>>2];f[t+4>>2]=f[s+4>>2]}else{f[r>>2]=0;WO(q,c)}c=a+60|0;f[c>>2]=f[d>>2];q=a+64|0;r=d+4|0;f[q>>2]=f[r>>2];s=a+68|0;f[s>>2]=f[d+8>>2];f[a+72>>2]=f[d+12>>2];f[a+76>>2]=f[d+16>>2];f[a+80>>2]=f[d+20>>2];f[a+84>>2]=f[d+24>>2];f[a+88>>2]=f[d+28>>2];f[a+92>>2]=f[d+32>>2];t=f[d+36>>2]|0;f[a+96>>2]=t;f[a+100>>2]=s;s=a+108|0;w=a+104|0;f[w>>2]=s;f[s>>2]=0;f[a+112>>2]=0;if(t|0){s=t+12|0;f[s>>2]=(f[s>>2]|0)+1}if((f[r>>2]|0)<3){r=f[d+44>>2]|0;s=f[w>>2]|0;f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2]}else{f[q>>2]=0;WO(c,d)}f[a+116>>2]=e;f[a+120>>2]=g;f[a+124>>2]=h;f[a+128>>2]=i;f[a+132>>2]=f[j>>2];f[a+136>>2]=f[j+4>>2];f[a+140>>2]=f[k>>2];f[a+144>>2]=f[k+4>>2];f[a+148>>2]=l;f[a+152>>2]=m;f[a+156>>2]=n;if((l|0)<17){u=o;return}f[p>>2]=0;f[p+4>>2]=0;l=JV(p,18)|0;n=196885;a=l+18|0;do{b[l>>0]=b[n>>0]|0;l=l+1|0;n=n+1|0}while((l|0)<(a|0));EP(-215,p,196904,196671,2211);KV(p);u=o;return}function s2(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=45620;b=a+60|0;c=a+96|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+76|0;b=a+64|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+100>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+104>>2]|0;if((b|0)!=(a+108|0))dX(b);b=a+4|0;d=a+40|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+20|0;b=a+8|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[a+44>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+48>>2]|0;if((b|0)==(a+52|0))return;dX(b);return}function t2(a){a=a|0;s2(a);GQa(a);return}function u2(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;e=u;u=u+1264|0;g=e+1256|0;h=e+192|0;i=e+128|0;j=e+64|0;k=e;l=((f[a+4>>2]|0)>>>3&511)+1|0;m=a+140|0;n=(f[m>>2]|0)+15&-16;o=a+148|0;p=f[o>>2]|0;q=X(n,p)|0;r=h+8|0;f[h>>2]=r;s=h+4|0;f[s>>2]=q;if(q>>>0>264){t=FQa(q>>>0>1073741823?-1:q<<2)|0;f[h>>2]=t;v=t}else v=r;t=i;q=t+64|0;do{f[t>>2]=0;t=t+4|0}while((t|0)<(q|0));t=j;q=t+64|0;do{f[t>>2]=0;t=t+4|0}while((t|0)<(q|0));if((p|0)>0){FVa(k|0,-1,p<<2|0)|0;t=0;do{q=v+((X(t,n)|0)<<2)|0;f[j+(t<<2)>>2]=q;t=t+1|0}while((t|0)<(p|0))}t=f[c>>2]|0;q=c+4|0;if((t|0)<(f[q>>2]|0)){c=a+120|0;w=a+116|0;x=a+124|0;y=a+132|0;z=a+152|0;A=a+156|0;B=a+76|0;C=a+108|0;D=j+4|0;E=j+8|0;F=j+12|0;G=a+136|0;H=a+20|0;I=a+48|0;J=n<<2;n=(f[a+128>>2]|0)+((X(t,p)|0)<<1)|0;a=t;t=p;while(1){if((t|0)>0){p=(f[(f[c>>2]|0)+(a<<2)>>2]|0)+1+((t|0)/-2|0)|0;K=t;L=0;M=t;N=0;while(1){O=p+N|0;P=f[G>>2]|0;Q=(O|0)>-1?((O|0)<(P|0)?O:P+-1|0):0;P=(L|0)<(N|0)?N:L;a:do if((P|0)<(M|0)){O=P;while(1){if((O|0)<16?(Q|0)==(f[k+(O<<2)>>2]|0):0)break;R=O+1|0;if((R|0)<(M|0))O=R;else{S=M;T=R;break a}}if((O|0)>(N|0)){DVa(f[j+(N<<2)>>2]|0,f[j+(O<<2)>>2]|0,J|0)|0;S=f[o>>2]|0;T=O}else{S=M;T=O}}else{S=M;T=P}while(0);K=(N|0)<(K|0)&(T|0)==(S|0)?N:K;P=(f[H>>2]|0)+(X(f[f[I>>2]>>2]|0,Q)|0)|0;f[i+(N<<2)>>2]=P;f[k+(N<<2)>>2]=Q;N=N+1|0;if((N|0)>=(S|0))break;else{L=T;M=S}}if((S|0)>(K|0))v2(g,i+(K<<2)|0,j+(K<<2)|0,S-K|0,f[w>>2]|0,f[x>>2]|0,f[y>>2]|0,f[m>>2]|0,l,f[z>>2]|0,f[A>>2]|0)}M=(f[B>>2]|0)+(X(f[C>>2]|0,a)|0)|0;L=f[m>>2]|0;N=d[n>>1]|0;p=d[n+2>>1]|0;P=d[n+4>>1]|0;R=d[n+6>>1]|0;U=f[j>>2]|0;V=f[D>>2]|0;W=f[E>>2]|0;Y=f[F>>2]|0;if((L|0)>0){Z=0;do{_=X(f[U+(Z<<2)>>2]|0,N)|0;$=X(f[V+(Z<<2)>>2]|0,p)|0;aa=X(f[W+(Z<<2)>>2]|0,P)|0;ba=_+2097152+$+aa+(X(f[Y+(Z<<2)>>2]|0,R)|0)>>22;b[M+Z>>0]=ba>>>0<256?ba:(ba|0)>0?255:0;Z=Z+1|0}while((Z|0)!=(L|0))}a=a+1|0;L=f[o>>2]|0;if((a|0)>=(f[q>>2]|0))break;else{n=n+(L<<1)|0;t=L}}ca=f[h>>2]|0}else ca=v;if((ca|0)==(r|0)){u=e;return}if(ca|0)HQa(ca);f[h>>2]=r;f[s>>2]=264;u=e;return}function v2(a,b,c,e,g,i,j,k,l,m,n){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;if((e|0)<=0)return;a=l<<1;o=0-(k<<2)|0;p=l<<1;q=l*3|0;r=i;i=0;while(1){s=f[b+(i<<2)>>2]|0;t=f[c+(i<<2)>>2]|0;u=m;v=0;w=r;a:while(1){if((u|0)>(v|0)){x=u-v<<2;y=v;z=w;while(1){A=f[g+(y<<2)>>2]|0;B=A-l|0;if(B>>>0>>0)C=B;else{D=B;while(1)if((D|0)<0)D=D+l|0;else{E=D;break}while(1)if((E|0)<(j|0)){C=E;break}else E=E-l|0}D=X(d[z>>1]|0,h[s+C>>0]|0)|0;if(A>>>0>>0)F=A;else{G=A;while(1)if((G|0)<0)G=G+l|0;else{H=G;break}while(1)if((H|0)<(j|0)){F=H;break}else H=H-l|0}G=(X(d[z+2>>1]|0,h[s+F>>0]|0)|0)+D|0;A=p+B|0;if(A>>>0>>0)I=A;else{J=A;while(1)if((J|0)<0)J=J+l|0;else{K=J;break}while(1)if((K|0)<(j|0)){I=K;break}else K=K-l|0}J=(X(d[z+4>>1]|0,h[s+I>>0]|0)|0)+G|0;D=q+B|0;if(D>>>0>>0)L=D;else{A=D;while(1)if((A|0)<0)A=A+l|0;else{M=A;break}while(1)if((M|0)<(j|0)){L=M;break}else M=M-l|0}A=(X(d[z+6>>1]|0,h[s+L>>0]|0)|0)+J|0;f[t+(y<<2)>>2]=A;y=y+1|0;if((y|0)==(u|0))break;else z=z+8|0}N=u;O=w+(x<<1)|0}else{N=v;O=w}if((u|0)==(k|0))break;if((N|0)<(n|0)){P=N;Q=O}else{u=k;v=N;w=O;continue}while(1){z=f[g+(P<<2)>>2]|0;y=X(d[Q>>1]|0,h[s+(z-l)>>0]|0)|0;A=(X(d[Q+2>>1]|0,h[s+z>>0]|0)|0)+y|0;y=A+(X(d[Q+4>>1]|0,h[s+(z+l)>>0]|0)|0)|0;A=y+(X(d[Q+6>>1]|0,h[s+(z+a)>>0]|0)|0)|0;f[t+(P<<2)>>2]=A;A=P+1|0;z=Q+8|0;if((A|0)<(n|0)){P=A;Q=z}else{u=k;v=n;w=z;continue a}}}i=i+1|0;if((i|0)==(e|0))break;else r=O+(o<<1)|0}return}function w2(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0,y=0.0;k=u;u=u+192|0;l=k+176|0;m=k+168|0;n=k+160|0;o=k;p=f[a+40>>2]|0;q=f[p+4>>2]|0;r=f[p>>2]|0;f[l>>2]=q;f[l+4>>2]=r;r=b+40|0;p=f[r>>2]|0;s=f[p+4>>2]|0;t=f[p>>2]|0;f[m+4>>2]=t;p=((f[a>>2]|0)>>>3&511)+1|0;v=X(p,q)|0;f[l>>2]=v;v=X(s,p)|0;f[m>>2]=v;v=X(p,h)|0;h=X(p,i)|0;f[n>>2]=0;f[n+4>>2]=t;Z2(o,a,b,c,e,d,g,l,m,j,v,h);h=f[b+4>>2]|0;if((h|0)<3){w=X(f[b+12>>2]|0,f[b+8>>2]|0)|0;x=+(w>>>0);y=x*.0000152587890625;$Z(n,o,y);_2(o);u=k;return}b=f[r>>2]|0;r=0;v=1;while(1){j=X(f[b+(r<<2)>>2]|0,v)|0;r=r+1|0;if((r|0)==(h|0)){w=j;break}else v=j}x=+(w>>>0);y=x*.0000152587890625;$Z(n,o,y);_2(o);u=k;return}function x2(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0,y=0.0;k=u;u=u+192|0;l=k+176|0;m=k+168|0;n=k+160|0;o=k;p=f[a+40>>2]|0;q=f[p+4>>2]|0;r=f[p>>2]|0;f[l>>2]=q;f[l+4>>2]=r;r=b+40|0;p=f[r>>2]|0;s=f[p+4>>2]|0;t=f[p>>2]|0;f[m+4>>2]=t;p=((f[a>>2]|0)>>>3&511)+1|0;v=X(p,q)|0;f[l>>2]=v;v=X(s,p)|0;f[m>>2]=v;v=X(p,h)|0;h=X(p,i)|0;f[n>>2]=0;f[n+4>>2]=t;T2(o,a,b,c,e,d,g,l,m,j,v,h);h=f[b+4>>2]|0;if((h|0)<3){w=X(f[b+12>>2]|0,f[b+8>>2]|0)|0;x=+(w>>>0);y=x*.0000152587890625;$Z(n,o,y);U2(o);u=k;return}b=f[r>>2]|0;r=0;v=1;while(1){j=X(f[b+(r<<2)>>2]|0,v)|0;r=r+1|0;if((r|0)==(h|0)){w=j;break}else v=j}x=+(w>>>0);y=x*.0000152587890625;$Z(n,o,y);U2(o);u=k;return}function y2(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0,y=0.0;k=u;u=u+192|0;l=k+176|0;m=k+168|0;n=k+160|0;o=k;p=f[a+40>>2]|0;q=f[p+4>>2]|0;r=f[p>>2]|0;f[l>>2]=q;f[l+4>>2]=r;r=b+40|0;p=f[r>>2]|0;s=f[p+4>>2]|0;t=f[p>>2]|0;f[m+4>>2]=t;p=((f[a>>2]|0)>>>3&511)+1|0;v=X(p,q)|0;f[l>>2]=v;v=X(s,p)|0;f[m>>2]=v;v=X(p,h)|0;h=X(p,i)|0;f[n>>2]=0;f[n+4>>2]=t;N2(o,a,b,c,e,d,g,l,m,j,v,h);h=f[b+4>>2]|0;if((h|0)<3){w=X(f[b+12>>2]|0,f[b+8>>2]|0)|0;x=+(w>>>0);y=x*.0000152587890625;$Z(n,o,y);O2(o);u=k;return}b=f[r>>2]|0;r=0;v=1;while(1){j=X(f[b+(r<<2)>>2]|0,v)|0;r=r+1|0;if((r|0)==(h|0)){w=j;break}else v=j}x=+(w>>>0);y=x*.0000152587890625;$Z(n,o,y);O2(o);u=k;return}function z2(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0,y=0.0;k=u;u=u+192|0;l=k+176|0;m=k+168|0;n=k+160|0;o=k;p=f[a+40>>2]|0;q=f[p+4>>2]|0;r=f[p>>2]|0;f[l>>2]=q;f[l+4>>2]=r;r=b+40|0;p=f[r>>2]|0;s=f[p+4>>2]|0;t=f[p>>2]|0;f[m+4>>2]=t;p=((f[a>>2]|0)>>>3&511)+1|0;v=X(p,q)|0;f[l>>2]=v;v=X(s,p)|0;f[m>>2]=v;v=X(p,h)|0;h=X(p,i)|0;f[n>>2]=0;f[n+4>>2]=t;H2(o,a,b,c,e,d,g,l,m,j,v,h);h=f[b+4>>2]|0;if((h|0)<3){w=X(f[b+12>>2]|0,f[b+8>>2]|0)|0;x=+(w>>>0);y=x*.0000152587890625;$Z(n,o,y);I2(o);u=k;return}b=f[r>>2]|0;r=0;v=1;while(1){j=X(f[b+(r<<2)>>2]|0,v)|0;r=r+1|0;if((r|0)==(h|0)){w=j;break}else v=j}x=+(w>>>0);y=x*.0000152587890625;$Z(n,o,y);I2(o);u=k;return}function A2(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0,y=0.0;k=u;u=u+192|0;l=k+176|0;m=k+168|0;n=k+160|0;o=k;p=f[a+40>>2]|0;q=f[p+4>>2]|0;r=f[p>>2]|0;f[l>>2]=q;f[l+4>>2]=r;r=b+40|0;p=f[r>>2]|0;s=f[p+4>>2]|0;t=f[p>>2]|0;f[m+4>>2]=t;p=((f[a>>2]|0)>>>3&511)+1|0;v=X(p,q)|0;f[l>>2]=v;v=X(s,p)|0;f[m>>2]=v;v=X(p,h)|0;h=X(p,i)|0;f[n>>2]=0;f[n+4>>2]=t;B2(o,a,b,c,e,d,g,l,m,j,v,h);h=f[b+4>>2]|0;if((h|0)<3){w=X(f[b+12>>2]|0,f[b+8>>2]|0)|0;x=+(w>>>0);y=x*.0000152587890625;$Z(n,o,y);C2(o);u=k;return}b=f[r>>2]|0;r=0;v=1;while(1){j=X(f[b+(r<<2)>>2]|0,v)|0;r=r+1|0;if((r|0)==(h|0)){w=j;break}else v=j}x=+(w>>>0);y=x*.0000152587890625;$Z(n,o,y);C2(o);u=k;return}function B2(a,c,d,e,g,h,i,j,k,l,m,n){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;o=u;u=u+16|0;p=o;f[a>>2]=45640;q=a+4|0;f[q>>2]=f[c>>2];r=a+8|0;s=c+4|0;f[r>>2]=f[s>>2];t=a+12|0;f[t>>2]=f[c+8>>2];f[a+16>>2]=f[c+12>>2];f[a+20>>2]=f[c+16>>2];f[a+24>>2]=f[c+20>>2];f[a+28>>2]=f[c+24>>2];f[a+32>>2]=f[c+28>>2];f[a+36>>2]=f[c+32>>2];v=f[c+36>>2]|0;f[a+40>>2]=v;f[a+44>>2]=t;t=a+52|0;w=a+48|0;f[w>>2]=t;f[t>>2]=0;f[a+56>>2]=0;if(v|0){t=v+12|0;f[t>>2]=(f[t>>2]|0)+1}if((f[s>>2]|0)<3){s=f[c+44>>2]|0;t=f[w>>2]|0;f[t>>2]=f[s>>2];f[t+4>>2]=f[s+4>>2]}else{f[r>>2]=0;WO(q,c)}c=a+60|0;f[c>>2]=f[d>>2];q=a+64|0;r=d+4|0;f[q>>2]=f[r>>2];s=a+68|0;f[s>>2]=f[d+8>>2];f[a+72>>2]=f[d+12>>2];f[a+76>>2]=f[d+16>>2];f[a+80>>2]=f[d+20>>2];f[a+84>>2]=f[d+24>>2];f[a+88>>2]=f[d+28>>2];f[a+92>>2]=f[d+32>>2];t=f[d+36>>2]|0;f[a+96>>2]=t;f[a+100>>2]=s;s=a+108|0;w=a+104|0;f[w>>2]=s;f[s>>2]=0;f[a+112>>2]=0;if(t|0){s=t+12|0;f[s>>2]=(f[s>>2]|0)+1}if((f[r>>2]|0)<3){r=f[d+44>>2]|0;s=f[w>>2]|0;f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2]}else{f[q>>2]=0;WO(c,d)}f[a+116>>2]=e;f[a+120>>2]=g;f[a+124>>2]=h;f[a+128>>2]=i;f[a+132>>2]=f[j>>2];f[a+136>>2]=f[j+4>>2];f[a+140>>2]=f[k>>2];f[a+144>>2]=f[k+4>>2];f[a+148>>2]=l;f[a+152>>2]=m;f[a+156>>2]=n;if((l|0)<17){u=o;return}f[p>>2]=0;f[p+4>>2]=0;l=JV(p,18)|0;n=196885;a=l+18|0;do{b[l>>0]=b[n>>0]|0;l=l+1|0;n=n+1|0}while((l|0)<(a|0));EP(-215,p,196904,196671,2211);KV(p);u=o;return}function C2(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=45640;b=a+60|0;c=a+96|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+76|0;b=a+64|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+100>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+104>>2]|0;if((b|0)!=(a+108|0))dX(b);b=a+4|0;d=a+40|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+20|0;b=a+8|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[a+44>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+48>>2]|0;if((b|0)==(a+52|0))return;dX(b);return}function D2(a){a=a|0;C2(a);GQa(a);return}function E2(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;c=u;u=u+1296|0;d=c+1289|0;e=c+1288|0;g=c;h=c+1224|0;i=c+1160|0;j=c+1096|0;k=((f[a+4>>2]|0)>>>3&511)+1|0;l=a+140|0;m=(f[l>>2]|0)+15&-16;n=a+148|0;o=f[n>>2]|0;p=X(m,o)|0;q=g+8|0;f[g>>2]=q;r=g+4|0;f[r>>2]=p;if(p>>>0>136){s=FQa(p>>>0>536870911?-1:p<<3)|0;f[g>>2]=s;t=s}else t=q;s=h;p=s+64|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(p|0));s=i;p=s+64|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(p|0));if((o|0)>0){FVa(j|0,-1,o<<2|0)|0;s=0;do{p=t+((X(s,m)|0)<<3)|0;f[i+(s<<2)>>2]=p;s=s+1|0}while((s|0)<(o|0))}s=f[b>>2]|0;p=b+4|0;if((s|0)<(f[p>>2]|0)){b=a+120|0;v=a+116|0;w=a+124|0;x=a+132|0;y=a+152|0;z=a+156|0;A=a+76|0;B=a+108|0;C=a+136|0;D=a+20|0;E=a+48|0;F=m<<3;m=(f[a+128>>2]|0)+((X(s,o)|0)<<2)|0;a=s;s=o;while(1){if((s|0)>0){o=(f[(f[b>>2]|0)+(a<<2)>>2]|0)+1+((s|0)/-2|0)|0;G=s;H=0;I=s;J=0;while(1){K=o+J|0;L=f[C>>2]|0;M=(K|0)>-1?((K|0)<(L|0)?K:L+-1|0):0;L=(H|0)<(J|0)?J:H;a:do if((L|0)<(I|0)){K=L;while(1){if((K|0)<16?(M|0)==(f[j+(K<<2)>>2]|0):0)break;N=K+1|0;if((N|0)<(I|0))K=N;else{O=I;P=N;break a}}if((K|0)>(J|0)){DVa(f[i+(J<<2)>>2]|0,f[i+(K<<2)>>2]|0,F|0)|0;O=f[n>>2]|0;P=K}else{O=I;P=K}}else{O=I;P=L}while(0);G=(J|0)<(G|0)&(P|0)==(O|0)?J:G;L=(f[D>>2]|0)+(X(f[f[E>>2]>>2]|0,M)|0)|0;f[h+(J<<2)>>2]=L;f[j+(J<<2)>>2]=M;J=J+1|0;if((J|0)>=(O|0))break;else{H=P;I=O}}if((O|0)>(G|0))F2(d,h+(G<<2)|0,i+(G<<2)|0,O-G|0,f[v>>2]|0,f[w>>2]|0,f[x>>2]|0,f[l>>2]|0,k,f[y>>2]|0,f[z>>2]|0)}I=(f[A>>2]|0)+(X(f[B>>2]|0,a)|0)|0;G2(e,i,I,m,f[l>>2]|0);a=a+1|0;I=f[n>>2]|0;if((a|0)>=(f[p>>2]|0))break;else{m=m+(I<<2)|0;s=I}}Q=f[g>>2]|0}else Q=t;if((Q|0)==(q|0)){u=c;return}if(Q|0)HQa(Q);f[g>>2]=q;f[r>>2]=136;u=c;return}function F2(a,b,c,d,e,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0;a:do if((d|0)<2)m=0;else{k=d+-1|0;h=f[b>>2]|0;a=f[c>>2]|0;if((l|0)<=0){o=(i|0)>0;q=0;r=h;s=a;while(1){q=q+1|0;t=r;r=f[b+(q<<2)>>2]|0;u=s;s=f[c+(q<<2)>>2]|0;if(o){v=0;do{w=f[e+(v<<2)>>2]|0;p[u+(v<<3)>>3]=+p[t+(w<<3)>>3];p[s+(v<<3)>>3]=+p[r+(w<<3)>>3];v=v+1|0}while((v|0)!=(i|0))}if((q|0)==(k|0)){m=k;break a}}}q=(l|0)<(i|0);r=0;s=h;o=a;do{r=r+1|0;v=s;s=f[b+(r<<2)>>2]|0;t=o;o=f[c+(r<<2)>>2]|0;u=0;do{w=f[e+(u<<2)>>2]|0;x=u<<1;y=+n[g+(x<<2)>>2];z=+n[g+((x|1)<<2)>>2];x=w+j|0;A=+p[s+(w<<3)>>3]*y+ +p[s+(x<<3)>>3]*z;p[t+(u<<3)>>3]=+p[v+(w<<3)>>3]*y+ +p[v+(x<<3)>>3]*z;p[o+(u<<3)>>3]=A;u=u+1|0}while((u|0)!=(l|0));if(q){u=l;do{x=f[e+(u<<2)>>2]|0;p[t+(u<<3)>>3]=+p[v+(x<<3)>>3];p[o+(u<<3)>>3]=+p[s+(x<<3)>>3];u=u+1|0}while((u|0)!=(i|0))}}while((r|0)!=(k|0));m=k}while(0);if((m|0)>=(d|0))return;if((l|0)<=0){k=(i|0)>0;r=m;do{s=f[b+(r<<2)>>2]|0;o=f[c+(r<<2)>>2]|0;if(k){q=0;do{p[o+(q<<3)>>3]=+p[s+(f[e+(q<<2)>>2]<<3)>>3];q=q+1|0}while((q|0)!=(i|0))}r=r+1|0}while((r|0)!=(d|0));return}r=(l|0)<(i|0);k=m;do{m=f[b+(k<<2)>>2]|0;q=f[c+(k<<2)>>2]|0;s=0;do{o=f[e+(s<<2)>>2]|0;a=s<<1;p[q+(s<<3)>>3]=+p[m+(o<<3)>>3]*+n[g+(a<<2)>>2]+ +p[m+(o+j<<3)>>3]*+n[g+((a|1)<<2)>>2];s=s+1|0}while((s|0)!=(l|0));if(r){s=l;do{p[q+(s<<3)>>3]=+p[m+(f[e+(s<<2)>>2]<<3)>>3];s=s+1|0}while((s|0)!=(i|0))}k=k+1|0}while((k|0)!=(d|0));return}function G2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0.0,h=0.0,i=0,j=0,k=0,l=0.0,m=0,o=0;g=+n[d>>2];h=+n[d+4>>2];d=f[b>>2]|0;a=f[b+4>>2]|0;b=e+-4|0;if((e|0)<4)i=0;else{j=0;do{k=j|1;l=+p[d+(k<<3)>>3]*g+ +p[a+(k<<3)>>3]*h;p[c+(j<<3)>>3]=+p[d+(j<<3)>>3]*g+ +p[a+(j<<3)>>3]*h;p[c+(k<<3)>>3]=l;k=j|2;m=j|3;l=+p[d+(m<<3)>>3]*g+ +p[a+(m<<3)>>3]*h;p[c+(k<<3)>>3]=+p[d+(k<<3)>>3]*g+ +p[a+(k<<3)>>3]*h;p[c+(m<<3)>>3]=l;j=j+4|0}while((j|0)<=(b|0));i=e&-4}if((i|0)<(e|0))o=i;else return;do{p[c+(o<<3)>>3]=+p[d+(o<<3)>>3]*g+ +p[a+(o<<3)>>3]*h;o=o+1|0}while((o|0)!=(e|0));return}function H2(a,c,d,e,g,h,i,j,k,l,m,n){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;o=u;u=u+16|0;p=o;f[a>>2]=45660;q=a+4|0;f[q>>2]=f[c>>2];r=a+8|0;s=c+4|0;f[r>>2]=f[s>>2];t=a+12|0;f[t>>2]=f[c+8>>2];f[a+16>>2]=f[c+12>>2];f[a+20>>2]=f[c+16>>2];f[a+24>>2]=f[c+20>>2];f[a+28>>2]=f[c+24>>2];f[a+32>>2]=f[c+28>>2];f[a+36>>2]=f[c+32>>2];v=f[c+36>>2]|0;f[a+40>>2]=v;f[a+44>>2]=t;t=a+52|0;w=a+48|0;f[w>>2]=t;f[t>>2]=0;f[a+56>>2]=0;if(v|0){t=v+12|0;f[t>>2]=(f[t>>2]|0)+1}if((f[s>>2]|0)<3){s=f[c+44>>2]|0;t=f[w>>2]|0;f[t>>2]=f[s>>2];f[t+4>>2]=f[s+4>>2]}else{f[r>>2]=0;WO(q,c)}c=a+60|0;f[c>>2]=f[d>>2];q=a+64|0;r=d+4|0;f[q>>2]=f[r>>2];s=a+68|0;f[s>>2]=f[d+8>>2];f[a+72>>2]=f[d+12>>2];f[a+76>>2]=f[d+16>>2];f[a+80>>2]=f[d+20>>2];f[a+84>>2]=f[d+24>>2];f[a+88>>2]=f[d+28>>2];f[a+92>>2]=f[d+32>>2];t=f[d+36>>2]|0;f[a+96>>2]=t;f[a+100>>2]=s;s=a+108|0;w=a+104|0;f[w>>2]=s;f[s>>2]=0;f[a+112>>2]=0;if(t|0){s=t+12|0;f[s>>2]=(f[s>>2]|0)+1}if((f[r>>2]|0)<3){r=f[d+44>>2]|0;s=f[w>>2]|0;f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2]}else{f[q>>2]=0;WO(c,d)}f[a+116>>2]=e;f[a+120>>2]=g;f[a+124>>2]=h;f[a+128>>2]=i;f[a+132>>2]=f[j>>2];f[a+136>>2]=f[j+4>>2];f[a+140>>2]=f[k>>2];f[a+144>>2]=f[k+4>>2];f[a+148>>2]=l;f[a+152>>2]=m;f[a+156>>2]=n;if((l|0)<17){u=o;return}f[p>>2]=0;f[p+4>>2]=0;l=JV(p,18)|0;n=196885;a=l+18|0;do{b[l>>0]=b[n>>0]|0;l=l+1|0;n=n+1|0}while((l|0)<(a|0));EP(-215,p,196904,196671,2211);KV(p);u=o;return}function I2(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=45660;b=a+60|0;c=a+96|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+76|0;b=a+64|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+100>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+104>>2]|0;if((b|0)!=(a+108|0))dX(b);b=a+4|0;d=a+40|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+20|0;b=a+8|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[a+44>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+48>>2]|0;if((b|0)==(a+52|0))return;dX(b);return}function J2(a){a=a|0;I2(a);GQa(a);return}function K2(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;c=u;u=u+1264|0;d=c+1257|0;e=c+1256|0;g=c+192|0;h=c+128|0;i=c+64|0;j=c;k=((f[a+4>>2]|0)>>>3&511)+1|0;l=a+140|0;m=(f[l>>2]|0)+15&-16;n=a+148|0;o=f[n>>2]|0;p=X(m,o)|0;q=g+8|0;f[g>>2]=q;r=g+4|0;f[r>>2]=p;if(p>>>0>264){s=FQa(p>>>0>1073741823?-1:p<<2)|0;f[g>>2]=s;t=s}else t=q;s=h;p=s+64|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(p|0));s=i;p=s+64|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(p|0));if((o|0)>0){FVa(j|0,-1,o<<2|0)|0;s=0;do{p=t+((X(s,m)|0)<<2)|0;f[i+(s<<2)>>2]=p;s=s+1|0}while((s|0)<(o|0))}s=f[b>>2]|0;p=b+4|0;if((s|0)<(f[p>>2]|0)){b=a+120|0;v=a+116|0;w=a+124|0;x=a+132|0;y=a+152|0;z=a+156|0;A=a+76|0;B=a+108|0;C=a+136|0;D=a+20|0;E=a+48|0;F=m<<2;m=(f[a+128>>2]|0)+((X(s,o)|0)<<2)|0;a=s;s=o;while(1){if((s|0)>0){o=(f[(f[b>>2]|0)+(a<<2)>>2]|0)+1+((s|0)/-2|0)|0;G=s;H=0;I=s;J=0;while(1){K=o+J|0;L=f[C>>2]|0;M=(K|0)>-1?((K|0)<(L|0)?K:L+-1|0):0;L=(H|0)<(J|0)?J:H;a:do if((L|0)<(I|0)){K=L;while(1){if((K|0)<16?(M|0)==(f[j+(K<<2)>>2]|0):0)break;N=K+1|0;if((N|0)<(I|0))K=N;else{O=I;P=N;break a}}if((K|0)>(J|0)){DVa(f[i+(J<<2)>>2]|0,f[i+(K<<2)>>2]|0,F|0)|0;O=f[n>>2]|0;P=K}else{O=I;P=K}}else{O=I;P=L}while(0);G=(J|0)<(G|0)&(P|0)==(O|0)?J:G;L=(f[D>>2]|0)+(X(f[f[E>>2]>>2]|0,M)|0)|0;f[h+(J<<2)>>2]=L;f[j+(J<<2)>>2]=M;J=J+1|0;if((J|0)>=(O|0))break;else{H=P;I=O}}if((O|0)>(G|0))L2(d,h+(G<<2)|0,i+(G<<2)|0,O-G|0,f[v>>2]|0,f[w>>2]|0,f[x>>2]|0,f[l>>2]|0,k,f[y>>2]|0,f[z>>2]|0)}I=(f[A>>2]|0)+(X(f[B>>2]|0,a)|0)|0;M2(e,i,I,m,f[l>>2]|0);a=a+1|0;I=f[n>>2]|0;if((a|0)>=(f[p>>2]|0))break;else{m=m+(I<<2)|0;s=I}}Q=f[g>>2]|0}else Q=t;if((Q|0)==(q|0)){u=c;return}if(Q|0)HQa(Q);f[g>>2]=q;f[r>>2]=264;u=c;return}function L2(a,b,c,d,e,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0;a:do if((d|0)<2)m=0;else{k=d+-1|0;h=f[b>>2]|0;a=f[c>>2]|0;if((l|0)<=0){o=(i|0)>0;p=0;q=a;r=h;while(1){p=p+1|0;s=r;r=f[b+(p<<2)>>2]|0;t=q;q=f[c+(p<<2)>>2]|0;if(o){u=0;do{v=f[e+(u<<2)>>2]|0;f[t+(u<<2)>>2]=f[s+(v<<2)>>2];f[q+(u<<2)>>2]=f[r+(v<<2)>>2];u=u+1|0}while((u|0)!=(i|0))}if((p|0)==(k|0)){m=k;break a}}}p=(l|0)<(i|0);r=0;q=h;o=a;do{r=r+1|0;u=q;q=f[b+(r<<2)>>2]|0;s=o;o=f[c+(r<<2)>>2]|0;t=0;do{v=f[e+(t<<2)>>2]|0;w=t<<1;x=+n[g+(w<<2)>>2];y=+n[g+((w|1)<<2)>>2];w=v+j|0;z=x*+n[q+(v<<2)>>2]+y*+n[q+(w<<2)>>2];n[s+(t<<2)>>2]=x*+n[u+(v<<2)>>2]+y*+n[u+(w<<2)>>2];n[o+(t<<2)>>2]=z;t=t+1|0}while((t|0)!=(l|0));if(p){t=l;do{w=f[e+(t<<2)>>2]|0;f[s+(t<<2)>>2]=f[u+(w<<2)>>2];f[o+(t<<2)>>2]=f[q+(w<<2)>>2];t=t+1|0}while((t|0)!=(i|0))}}while((r|0)!=(k|0));m=k}while(0);if((m|0)>=(d|0))return;if((l|0)<=0){k=(i|0)>0;r=m;do{q=f[b+(r<<2)>>2]|0;o=f[c+(r<<2)>>2]|0;if(k){p=0;do{f[o+(p<<2)>>2]=f[q+(f[e+(p<<2)>>2]<<2)>>2];p=p+1|0}while((p|0)!=(i|0))}r=r+1|0}while((r|0)!=(d|0));return}r=(l|0)<(i|0);k=m;do{m=f[b+(k<<2)>>2]|0;p=f[c+(k<<2)>>2]|0;q=0;do{o=f[e+(q<<2)>>2]|0;a=q<<1;n[p+(q<<2)>>2]=+n[m+(o<<2)>>2]*+n[g+(a<<2)>>2]+ +n[m+(o+j<<2)>>2]*+n[g+((a|1)<<2)>>2];q=q+1|0}while((q|0)!=(l|0));if(r){q=l;do{f[p+(q<<2)>>2]=f[m+(f[e+(q<<2)>>2]<<2)>>2];q=q+1|0}while((q|0)!=(i|0))}k=k+1|0}while((k|0)!=(d|0));return}function M2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0.0,h=0.0,i=0,j=0,k=0,l=0.0,m=0,o=0;g=+n[d>>2];h=+n[d+4>>2];d=f[b>>2]|0;a=f[b+4>>2]|0;b=e+-4|0;if((e|0)<4)i=0;else{j=0;do{k=j|1;l=g*+n[d+(k<<2)>>2]+h*+n[a+(k<<2)>>2];n[c+(j<<2)>>2]=g*+n[d+(j<<2)>>2]+h*+n[a+(j<<2)>>2];n[c+(k<<2)>>2]=l;k=j|2;m=j|3;l=g*+n[d+(m<<2)>>2]+h*+n[a+(m<<2)>>2];n[c+(k<<2)>>2]=g*+n[d+(k<<2)>>2]+h*+n[a+(k<<2)>>2];n[c+(m<<2)>>2]=l;j=j+4|0}while((j|0)<=(b|0));i=e&-4}if((i|0)<(e|0))o=i;else return;do{n[c+(o<<2)>>2]=g*+n[d+(o<<2)>>2]+h*+n[a+(o<<2)>>2];o=o+1|0}while((o|0)!=(e|0));return}function N2(a,c,d,e,g,h,i,j,k,l,m,n){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;o=u;u=u+16|0;p=o;f[a>>2]=45680;q=a+4|0;f[q>>2]=f[c>>2];r=a+8|0;s=c+4|0;f[r>>2]=f[s>>2];t=a+12|0;f[t>>2]=f[c+8>>2];f[a+16>>2]=f[c+12>>2];f[a+20>>2]=f[c+16>>2];f[a+24>>2]=f[c+20>>2];f[a+28>>2]=f[c+24>>2];f[a+32>>2]=f[c+28>>2];f[a+36>>2]=f[c+32>>2];v=f[c+36>>2]|0;f[a+40>>2]=v;f[a+44>>2]=t;t=a+52|0;w=a+48|0;f[w>>2]=t;f[t>>2]=0;f[a+56>>2]=0;if(v|0){t=v+12|0;f[t>>2]=(f[t>>2]|0)+1}if((f[s>>2]|0)<3){s=f[c+44>>2]|0;t=f[w>>2]|0;f[t>>2]=f[s>>2];f[t+4>>2]=f[s+4>>2]}else{f[r>>2]=0;WO(q,c)}c=a+60|0;f[c>>2]=f[d>>2];q=a+64|0;r=d+4|0;f[q>>2]=f[r>>2];s=a+68|0;f[s>>2]=f[d+8>>2];f[a+72>>2]=f[d+12>>2];f[a+76>>2]=f[d+16>>2];f[a+80>>2]=f[d+20>>2];f[a+84>>2]=f[d+24>>2];f[a+88>>2]=f[d+28>>2];f[a+92>>2]=f[d+32>>2];t=f[d+36>>2]|0;f[a+96>>2]=t;f[a+100>>2]=s;s=a+108|0;w=a+104|0;f[w>>2]=s;f[s>>2]=0;f[a+112>>2]=0;if(t|0){s=t+12|0;f[s>>2]=(f[s>>2]|0)+1}if((f[r>>2]|0)<3){r=f[d+44>>2]|0;s=f[w>>2]|0;f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2]}else{f[q>>2]=0;WO(c,d)}f[a+116>>2]=e;f[a+120>>2]=g;f[a+124>>2]=h;f[a+128>>2]=i;f[a+132>>2]=f[j>>2];f[a+136>>2]=f[j+4>>2];f[a+140>>2]=f[k>>2];f[a+144>>2]=f[k+4>>2];f[a+148>>2]=l;f[a+152>>2]=m;f[a+156>>2]=n;if((l|0)<17){u=o;return}f[p>>2]=0;f[p+4>>2]=0;l=JV(p,18)|0;n=196885;a=l+18|0;do{b[l>>0]=b[n>>0]|0;l=l+1|0;n=n+1|0}while((l|0)<(a|0));EP(-215,p,196904,196671,2211);KV(p);u=o;return}function O2(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=45680;b=a+60|0;c=a+96|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+76|0;b=a+64|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+100>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+104>>2]|0;if((b|0)!=(a+108|0))dX(b);b=a+4|0;d=a+40|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+20|0;b=a+8|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[a+44>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+48>>2]|0;if((b|0)==(a+52|0))return;dX(b);return}function P2(a){a=a|0;O2(a);GQa(a);return}function Q2(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;c=u;u=u+1264|0;d=c+1257|0;e=c+1256|0;g=c+192|0;h=c+128|0;i=c+64|0;j=c;k=((f[a+4>>2]|0)>>>3&511)+1|0;l=a+140|0;m=(f[l>>2]|0)+15&-16;n=a+148|0;o=f[n>>2]|0;p=X(m,o)|0;q=g+8|0;f[g>>2]=q;r=g+4|0;f[r>>2]=p;if(p>>>0>264){s=FQa(p>>>0>1073741823?-1:p<<2)|0;f[g>>2]=s;t=s}else t=q;s=h;p=s+64|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(p|0));s=i;p=s+64|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(p|0));if((o|0)>0){FVa(j|0,-1,o<<2|0)|0;s=0;do{p=t+((X(s,m)|0)<<2)|0;f[i+(s<<2)>>2]=p;s=s+1|0}while((s|0)<(o|0))}s=f[b>>2]|0;p=b+4|0;if((s|0)<(f[p>>2]|0)){b=a+120|0;v=a+116|0;w=a+124|0;x=a+132|0;y=a+152|0;z=a+156|0;A=a+76|0;B=a+108|0;C=a+136|0;D=a+20|0;E=a+48|0;F=m<<2;m=(f[a+128>>2]|0)+((X(s,o)|0)<<2)|0;a=s;s=o;while(1){if((s|0)>0){o=(f[(f[b>>2]|0)+(a<<2)>>2]|0)+1+((s|0)/-2|0)|0;G=s;H=0;I=s;J=0;while(1){K=o+J|0;L=f[C>>2]|0;M=(K|0)>-1?((K|0)<(L|0)?K:L+-1|0):0;L=(H|0)<(J|0)?J:H;a:do if((L|0)<(I|0)){K=L;while(1){if((K|0)<16?(M|0)==(f[j+(K<<2)>>2]|0):0)break;N=K+1|0;if((N|0)<(I|0))K=N;else{O=I;P=N;break a}}if((K|0)>(J|0)){DVa(f[i+(J<<2)>>2]|0,f[i+(K<<2)>>2]|0,F|0)|0;O=f[n>>2]|0;P=K}else{O=I;P=K}}else{O=I;P=L}while(0);G=(J|0)<(G|0)&(P|0)==(O|0)?J:G;L=(f[D>>2]|0)+(X(f[f[E>>2]>>2]|0,M)|0)|0;f[h+(J<<2)>>2]=L;f[j+(J<<2)>>2]=M;J=J+1|0;if((J|0)>=(O|0))break;else{H=P;I=O}}if((O|0)>(G|0))R2(d,h+(G<<2)|0,i+(G<<2)|0,O-G|0,f[v>>2]|0,f[w>>2]|0,f[x>>2]|0,f[l>>2]|0,k,f[y>>2]|0,f[z>>2]|0)}I=(f[A>>2]|0)+(X(f[B>>2]|0,a)|0)|0;S2(e,i,I,m,f[l>>2]|0);a=a+1|0;I=f[n>>2]|0;if((a|0)>=(f[p>>2]|0))break;else{m=m+(I<<2)|0;s=I}}Q=f[g>>2]|0}else Q=t;if((Q|0)==(q|0)){u=c;return}if(Q|0)HQa(Q);f[g>>2]=q;f[r>>2]=264;u=c;return}function R2(a,b,c,e,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0;a:do if((e|0)<2)o=0;else{l=e+-1|0;i=f[b>>2]|0;a=f[c>>2]|0;if((m|0)<=0){p=(j|0)>0;q=0;r=i;s=a;while(1){q=q+1|0;t=r;r=f[b+(q<<2)>>2]|0;u=s;s=f[c+(q<<2)>>2]|0;if(p){v=0;do{w=f[g+(v<<2)>>2]|0;n[u+(v<<2)>>2]=+(d[t+(w<<1)>>1]|0);n[s+(v<<2)>>2]=+(d[r+(w<<1)>>1]|0);v=v+1|0}while((v|0)!=(j|0))}if((q|0)==(l|0)){o=l;break a}}}q=(m|0)<(j|0);r=0;s=i;p=a;do{r=r+1|0;v=s;s=f[b+(r<<2)>>2]|0;t=p;p=f[c+(r<<2)>>2]|0;u=0;do{w=f[g+(u<<2)>>2]|0;x=u<<1;y=+n[h+(x<<2)>>2];z=+n[h+((x|1)<<2)>>2];x=w+k|0;A=y*+(d[s+(w<<1)>>1]|0)+z*+(d[s+(x<<1)>>1]|0);n[t+(u<<2)>>2]=y*+(d[v+(w<<1)>>1]|0)+z*+(d[v+(x<<1)>>1]|0);n[p+(u<<2)>>2]=A;u=u+1|0}while((u|0)!=(m|0));if(q){u=m;do{x=f[g+(u<<2)>>2]|0;n[t+(u<<2)>>2]=+(d[v+(x<<1)>>1]|0);n[p+(u<<2)>>2]=+(d[s+(x<<1)>>1]|0);u=u+1|0}while((u|0)!=(j|0))}}while((r|0)!=(l|0));o=l}while(0);if((o|0)>=(e|0))return;if((m|0)<=0){l=(j|0)>0;r=o;do{s=f[b+(r<<2)>>2]|0;p=f[c+(r<<2)>>2]|0;if(l){q=0;do{n[p+(q<<2)>>2]=+(d[s+(f[g+(q<<2)>>2]<<1)>>1]|0);q=q+1|0}while((q|0)!=(j|0))}r=r+1|0}while((r|0)!=(e|0));return}r=(m|0)<(j|0);l=o;do{o=f[b+(l<<2)>>2]|0;q=f[c+(l<<2)>>2]|0;s=0;do{p=f[g+(s<<2)>>2]|0;a=s<<1;n[q+(s<<2)>>2]=+n[h+(a<<2)>>2]*+(d[o+(p<<1)>>1]|0)+ +n[h+((a|1)<<2)>>2]*+(d[o+(p+k<<1)>>1]|0);s=s+1|0}while((s|0)!=(m|0));if(r){s=m;do{n[q+(s<<2)>>2]=+(d[o+(f[g+(s<<2)>>2]<<1)>>1]|0);s=s+1|0}while((s|0)!=(j|0))}l=l+1|0}while((l|0)!=(e|0));return}function S2(a,b,c,e,g){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;var h=0.0,i=0.0,j=0,k=0,l=0,m=0.0,o=0,p=0,q=0;h=+n[e>>2];i=+n[e+4>>2];e=f[b>>2]|0;a=f[b+4>>2]|0;b=g+-4|0;if((g|0)<4)j=0;else{k=0;do{l=k|1;m=h*+n[e+(l<<2)>>2]+i*+n[a+(l<<2)>>2];o=HEa(h*+n[e+(k<<2)>>2]+i*+n[a+(k<<2)>>2])|0;d[c+(k<<1)>>1]=(o+32768|0)>>>0<65536?o:(o|0)>0?32767:32768;o=HEa(m)|0;d[c+(l<<1)>>1]=(o+32768|0)>>>0<65536?o:(o|0)>0?32767:32768;o=k|2;l=k|3;m=h*+n[e+(l<<2)>>2]+i*+n[a+(l<<2)>>2];p=HEa(h*+n[e+(o<<2)>>2]+i*+n[a+(o<<2)>>2])|0;d[c+(o<<1)>>1]=(p+32768|0)>>>0<65536?p:(p|0)>0?32767:32768;p=HEa(m)|0;d[c+(l<<1)>>1]=(p+32768|0)>>>0<65536?p:(p|0)>0?32767:32768;k=k+4|0}while((k|0)<=(b|0));j=g&-4}if((j|0)<(g|0))q=j;else return;do{j=HEa(h*+n[e+(q<<2)>>2]+i*+n[a+(q<<2)>>2])|0;d[c+(q<<1)>>1]=(j+32768|0)>>>0<65536?j:(j|0)>0?32767:32768;q=q+1|0}while((q|0)!=(g|0));return}function T2(a,c,d,e,g,h,i,j,k,l,m,n){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;o=u;u=u+16|0;p=o;f[a>>2]=45700;q=a+4|0;f[q>>2]=f[c>>2];r=a+8|0;s=c+4|0;f[r>>2]=f[s>>2];t=a+12|0;f[t>>2]=f[c+8>>2];f[a+16>>2]=f[c+12>>2];f[a+20>>2]=f[c+16>>2];f[a+24>>2]=f[c+20>>2];f[a+28>>2]=f[c+24>>2];f[a+32>>2]=f[c+28>>2];f[a+36>>2]=f[c+32>>2];v=f[c+36>>2]|0;f[a+40>>2]=v;f[a+44>>2]=t;t=a+52|0;w=a+48|0;f[w>>2]=t;f[t>>2]=0;f[a+56>>2]=0;if(v|0){t=v+12|0;f[t>>2]=(f[t>>2]|0)+1}if((f[s>>2]|0)<3){s=f[c+44>>2]|0;t=f[w>>2]|0;f[t>>2]=f[s>>2];f[t+4>>2]=f[s+4>>2]}else{f[r>>2]=0;WO(q,c)}c=a+60|0;f[c>>2]=f[d>>2];q=a+64|0;r=d+4|0;f[q>>2]=f[r>>2];s=a+68|0;f[s>>2]=f[d+8>>2];f[a+72>>2]=f[d+12>>2];f[a+76>>2]=f[d+16>>2];f[a+80>>2]=f[d+20>>2];f[a+84>>2]=f[d+24>>2];f[a+88>>2]=f[d+28>>2];f[a+92>>2]=f[d+32>>2];t=f[d+36>>2]|0;f[a+96>>2]=t;f[a+100>>2]=s;s=a+108|0;w=a+104|0;f[w>>2]=s;f[s>>2]=0;f[a+112>>2]=0;if(t|0){s=t+12|0;f[s>>2]=(f[s>>2]|0)+1}if((f[r>>2]|0)<3){r=f[d+44>>2]|0;s=f[w>>2]|0;f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2]}else{f[q>>2]=0;WO(c,d)}f[a+116>>2]=e;f[a+120>>2]=g;f[a+124>>2]=h;f[a+128>>2]=i;f[a+132>>2]=f[j>>2];f[a+136>>2]=f[j+4>>2];f[a+140>>2]=f[k>>2];f[a+144>>2]=f[k+4>>2];f[a+148>>2]=l;f[a+152>>2]=m;f[a+156>>2]=n;if((l|0)<17){u=o;return}f[p>>2]=0;f[p+4>>2]=0;l=JV(p,18)|0;n=196885;a=l+18|0;do{b[l>>0]=b[n>>0]|0;l=l+1|0;n=n+1|0}while((l|0)<(a|0));EP(-215,p,196904,196671,2211);KV(p);u=o;return}function U2(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=45700;b=a+60|0;c=a+96|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+76|0;b=a+64|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+100>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+104>>2]|0;if((b|0)!=(a+108|0))dX(b);b=a+4|0;d=a+40|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+20|0;b=a+8|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[a+44>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+48>>2]|0;if((b|0)==(a+52|0))return;dX(b);return}function V2(a){a=a|0;U2(a);GQa(a);return}function W2(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;c=u;u=u+1264|0;d=c+1257|0;e=c+1256|0;g=c+192|0;h=c+128|0;i=c+64|0;j=c;k=((f[a+4>>2]|0)>>>3&511)+1|0;l=a+140|0;m=(f[l>>2]|0)+15&-16;n=a+148|0;o=f[n>>2]|0;p=X(m,o)|0;q=g+8|0;f[g>>2]=q;r=g+4|0;f[r>>2]=p;if(p>>>0>264){s=FQa(p>>>0>1073741823?-1:p<<2)|0;f[g>>2]=s;t=s}else t=q;s=h;p=s+64|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(p|0));s=i;p=s+64|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(p|0));if((o|0)>0){FVa(j|0,-1,o<<2|0)|0;s=0;do{p=t+((X(s,m)|0)<<2)|0;f[i+(s<<2)>>2]=p;s=s+1|0}while((s|0)<(o|0))}s=f[b>>2]|0;p=b+4|0;if((s|0)<(f[p>>2]|0)){b=a+120|0;v=a+116|0;w=a+124|0;x=a+132|0;y=a+152|0;z=a+156|0;A=a+76|0;B=a+108|0;C=a+136|0;D=a+20|0;E=a+48|0;F=m<<2;m=(f[a+128>>2]|0)+((X(s,o)|0)<<2)|0;a=s;s=o;while(1){if((s|0)>0){o=(f[(f[b>>2]|0)+(a<<2)>>2]|0)+1+((s|0)/-2|0)|0;G=s;H=0;I=s;J=0;while(1){K=o+J|0;L=f[C>>2]|0;M=(K|0)>-1?((K|0)<(L|0)?K:L+-1|0):0;L=(H|0)<(J|0)?J:H;a:do if((L|0)<(I|0)){K=L;while(1){if((K|0)<16?(M|0)==(f[j+(K<<2)>>2]|0):0)break;N=K+1|0;if((N|0)<(I|0))K=N;else{O=I;P=N;break a}}if((K|0)>(J|0)){DVa(f[i+(J<<2)>>2]|0,f[i+(K<<2)>>2]|0,F|0)|0;O=f[n>>2]|0;P=K}else{O=I;P=K}}else{O=I;P=L}while(0);G=(J|0)<(G|0)&(P|0)==(O|0)?J:G;L=(f[D>>2]|0)+(X(f[f[E>>2]>>2]|0,M)|0)|0;f[h+(J<<2)>>2]=L;f[j+(J<<2)>>2]=M;J=J+1|0;if((J|0)>=(O|0))break;else{H=P;I=O}}if((O|0)>(G|0))X2(d,h+(G<<2)|0,i+(G<<2)|0,O-G|0,f[v>>2]|0,f[w>>2]|0,f[x>>2]|0,f[l>>2]|0,k,f[y>>2]|0,f[z>>2]|0)}I=(f[A>>2]|0)+(X(f[B>>2]|0,a)|0)|0;Y2(e,i,I,m,f[l>>2]|0);a=a+1|0;I=f[n>>2]|0;if((a|0)>=(f[p>>2]|0))break;else{m=m+(I<<2)|0;s=I}}Q=f[g>>2]|0}else Q=t;if((Q|0)==(q|0)){u=c;return}if(Q|0)HQa(Q);f[g>>2]=q;f[r>>2]=264;u=c;return}function X2(a,b,c,d,e,g,h,i,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;k=k|0;l=l|0;m=m|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0;a:do if((d|0)<2)o=0;else{l=d+-1|0;h=f[b>>2]|0;a=f[c>>2]|0;if((m|0)<=0){p=(i|0)>0;q=0;r=h;s=a;while(1){q=q+1|0;t=r;r=f[b+(q<<2)>>2]|0;u=s;s=f[c+(q<<2)>>2]|0;if(p){v=0;do{w=f[e+(v<<2)>>2]|0;n[u+(v<<2)>>2]=+(j[t+(w<<1)>>1]|0);n[s+(v<<2)>>2]=+(j[r+(w<<1)>>1]|0);v=v+1|0}while((v|0)!=(i|0))}if((q|0)==(l|0)){o=l;break a}}}q=(m|0)<(i|0);r=0;s=h;p=a;do{r=r+1|0;v=s;s=f[b+(r<<2)>>2]|0;t=p;p=f[c+(r<<2)>>2]|0;u=0;do{w=f[e+(u<<2)>>2]|0;x=u<<1;y=+n[g+(x<<2)>>2];z=+n[g+((x|1)<<2)>>2];x=w+k|0;A=y*+(j[s+(w<<1)>>1]|0)+z*+(j[s+(x<<1)>>1]|0);n[t+(u<<2)>>2]=y*+(j[v+(w<<1)>>1]|0)+z*+(j[v+(x<<1)>>1]|0);n[p+(u<<2)>>2]=A;u=u+1|0}while((u|0)!=(m|0));if(q){u=m;do{x=f[e+(u<<2)>>2]|0;n[t+(u<<2)>>2]=+(j[v+(x<<1)>>1]|0);n[p+(u<<2)>>2]=+(j[s+(x<<1)>>1]|0);u=u+1|0}while((u|0)!=(i|0))}}while((r|0)!=(l|0));o=l}while(0);if((o|0)>=(d|0))return;if((m|0)<=0){l=(i|0)>0;r=o;do{s=f[b+(r<<2)>>2]|0;p=f[c+(r<<2)>>2]|0;if(l){q=0;do{n[p+(q<<2)>>2]=+(j[s+(f[e+(q<<2)>>2]<<1)>>1]|0);q=q+1|0}while((q|0)!=(i|0))}r=r+1|0}while((r|0)!=(d|0));return}r=(m|0)<(i|0);l=o;do{o=f[b+(l<<2)>>2]|0;q=f[c+(l<<2)>>2]|0;s=0;do{p=f[e+(s<<2)>>2]|0;a=s<<1;n[q+(s<<2)>>2]=+n[g+(a<<2)>>2]*+(j[o+(p<<1)>>1]|0)+ +n[g+((a|1)<<2)>>2]*+(j[o+(p+k<<1)>>1]|0);s=s+1|0}while((s|0)!=(m|0));if(r){s=m;do{n[q+(s<<2)>>2]=+(j[o+(f[e+(s<<2)>>2]<<1)>>1]|0);s=s+1|0}while((s|0)!=(i|0))}l=l+1|0}while((l|0)!=(d|0));return}function Y2(a,b,c,e,g){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;var h=0.0,i=0.0,j=0,k=0,l=0,m=0.0,o=0,p=0,q=0;h=+n[e>>2];i=+n[e+4>>2];e=f[b>>2]|0;a=f[b+4>>2]|0;b=g+-4|0;if((g|0)<4)j=0;else{k=0;do{l=k|1;m=h*+n[e+(l<<2)>>2]+i*+n[a+(l<<2)>>2];o=HEa(h*+n[e+(k<<2)>>2]+i*+n[a+(k<<2)>>2])|0;d[c+(k<<1)>>1]=o>>>0<65536?o:(o|0)>0?65535:0;o=HEa(m)|0;d[c+(l<<1)>>1]=o>>>0<65536?o:(o|0)>0?65535:0;o=k|2;l=k|3;m=h*+n[e+(l<<2)>>2]+i*+n[a+(l<<2)>>2];p=HEa(h*+n[e+(o<<2)>>2]+i*+n[a+(o<<2)>>2])|0;d[c+(o<<1)>>1]=p>>>0<65536?p:(p|0)>0?65535:0;p=HEa(m)|0;d[c+(l<<1)>>1]=p>>>0<65536?p:(p|0)>0?65535:0;k=k+4|0}while((k|0)<=(b|0));j=g&-4}if((j|0)<(g|0))q=j;else return;do{j=HEa(h*+n[e+(q<<2)>>2]+i*+n[a+(q<<2)>>2])|0;d[c+(q<<1)>>1]=j>>>0<65536?j:(j|0)>0?65535:0;q=q+1|0}while((q|0)!=(g|0));return}function Z2(a,c,d,e,g,h,i,j,k,l,m,n){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;o=u;u=u+16|0;p=o;f[a>>2]=45720;q=a+4|0;f[q>>2]=f[c>>2];r=a+8|0;s=c+4|0;f[r>>2]=f[s>>2];t=a+12|0;f[t>>2]=f[c+8>>2];f[a+16>>2]=f[c+12>>2];f[a+20>>2]=f[c+16>>2];f[a+24>>2]=f[c+20>>2];f[a+28>>2]=f[c+24>>2];f[a+32>>2]=f[c+28>>2];f[a+36>>2]=f[c+32>>2];v=f[c+36>>2]|0;f[a+40>>2]=v;f[a+44>>2]=t;t=a+52|0;w=a+48|0;f[w>>2]=t;f[t>>2]=0;f[a+56>>2]=0;if(v|0){t=v+12|0;f[t>>2]=(f[t>>2]|0)+1}if((f[s>>2]|0)<3){s=f[c+44>>2]|0;t=f[w>>2]|0;f[t>>2]=f[s>>2];f[t+4>>2]=f[s+4>>2]}else{f[r>>2]=0;WO(q,c)}c=a+60|0;f[c>>2]=f[d>>2];q=a+64|0;r=d+4|0;f[q>>2]=f[r>>2];s=a+68|0;f[s>>2]=f[d+8>>2];f[a+72>>2]=f[d+12>>2];f[a+76>>2]=f[d+16>>2];f[a+80>>2]=f[d+20>>2];f[a+84>>2]=f[d+24>>2];f[a+88>>2]=f[d+28>>2];f[a+92>>2]=f[d+32>>2];t=f[d+36>>2]|0;f[a+96>>2]=t;f[a+100>>2]=s;s=a+108|0;w=a+104|0;f[w>>2]=s;f[s>>2]=0;f[a+112>>2]=0;if(t|0){s=t+12|0;f[s>>2]=(f[s>>2]|0)+1}if((f[r>>2]|0)<3){r=f[d+44>>2]|0;s=f[w>>2]|0;f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2]}else{f[q>>2]=0;WO(c,d)}f[a+116>>2]=e;f[a+120>>2]=g;f[a+124>>2]=h;f[a+128>>2]=i;f[a+132>>2]=f[j>>2];f[a+136>>2]=f[j+4>>2];f[a+140>>2]=f[k>>2];f[a+144>>2]=f[k+4>>2];f[a+148>>2]=l;f[a+152>>2]=m;f[a+156>>2]=n;if((l|0)<17){u=o;return}f[p>>2]=0;f[p+4>>2]=0;l=JV(p,18)|0;n=196885;a=l+18|0;do{b[l>>0]=b[n>>0]|0;l=l+1|0;n=n+1|0}while((l|0)<(a|0));EP(-215,p,196904,196671,2211);KV(p);u=o;return}function _2(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=45720;b=a+60|0;c=a+96|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+76|0;b=a+64|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+100>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+104>>2]|0;if((b|0)!=(a+108|0))dX(b);b=a+4|0;d=a+40|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+20|0;b=a+8|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[a+44>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+48>>2]|0;if((b|0)==(a+52|0))return;dX(b);return}function $2(a){a=a|0;_2(a);GQa(a);return}function a3(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;c=u;u=u+1264|0;d=c+1257|0;e=c+1256|0;g=c+192|0;h=c+128|0;i=c+64|0;j=c;k=((f[a+4>>2]|0)>>>3&511)+1|0;l=a+140|0;m=(f[l>>2]|0)+15&-16;n=a+148|0;o=f[n>>2]|0;p=X(m,o)|0;q=g+8|0;f[g>>2]=q;r=g+4|0;f[r>>2]=p;if(p>>>0>264){s=FQa(p>>>0>1073741823?-1:p<<2)|0;f[g>>2]=s;t=s}else t=q;s=h;p=s+64|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(p|0));s=i;p=s+64|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(p|0));if((o|0)>0){FVa(j|0,-1,o<<2|0)|0;s=0;do{p=t+((X(s,m)|0)<<2)|0;f[i+(s<<2)>>2]=p;s=s+1|0}while((s|0)<(o|0))}s=f[b>>2]|0;p=b+4|0;if((s|0)<(f[p>>2]|0)){b=a+120|0;v=a+116|0;w=a+124|0;x=a+132|0;y=a+152|0;z=a+156|0;A=a+76|0;B=a+108|0;C=a+136|0;D=a+20|0;E=a+48|0;F=m<<2;m=(f[a+128>>2]|0)+((X(s,o)|0)<<1)|0;a=s;s=o;while(1){if((s|0)>0){o=(f[(f[b>>2]|0)+(a<<2)>>2]|0)+1+((s|0)/-2|0)|0;G=s;H=0;I=s;J=0;while(1){K=o+J|0;L=f[C>>2]|0;M=(K|0)>-1?((K|0)<(L|0)?K:L+-1|0):0;L=(H|0)<(J|0)?J:H;a:do if((L|0)<(I|0)){K=L;while(1){if((K|0)<16?(M|0)==(f[j+(K<<2)>>2]|0):0)break;N=K+1|0;if((N|0)<(I|0))K=N;else{O=I;P=N;break a}}if((K|0)>(J|0)){DVa(f[i+(J<<2)>>2]|0,f[i+(K<<2)>>2]|0,F|0)|0;O=f[n>>2]|0;P=K}else{O=I;P=K}}else{O=I;P=L}while(0);G=(J|0)<(G|0)&(P|0)==(O|0)?J:G;L=(f[D>>2]|0)+(X(f[f[E>>2]>>2]|0,M)|0)|0;f[h+(J<<2)>>2]=L;f[j+(J<<2)>>2]=M;J=J+1|0;if((J|0)>=(O|0))break;else{H=P;I=O}}if((O|0)>(G|0))b3(d,h+(G<<2)|0,i+(G<<2)|0,O-G|0,f[v>>2]|0,f[w>>2]|0,f[x>>2]|0,f[l>>2]|0,k,f[y>>2]|0,f[z>>2]|0)}I=(f[A>>2]|0)+(X(f[B>>2]|0,a)|0)|0;c3(e,i,I,m,f[l>>2]|0);a=a+1|0;I=f[n>>2]|0;if((a|0)>=(f[p>>2]|0))break;else{m=m+(I<<1)|0;s=I}}Q=f[g>>2]|0}else Q=t;if((Q|0)==(q|0)){u=c;return}if(Q|0)HQa(Q);f[g>>2]=q;f[r>>2]=264;u=c;return}function b3(a,b,c,e,g,i,j,k,l,m,n){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;a:do if((e|0)<2)o=0;else{m=e+-1|0;j=f[b>>2]|0;a=f[c>>2]|0;if((n|0)<=0){p=(k|0)>0;q=0;r=j;s=a;while(1){q=q+1|0;t=r;r=f[b+(q<<2)>>2]|0;u=s;s=f[c+(q<<2)>>2]|0;if(p){v=0;do{w=f[g+(v<<2)>>2]|0;f[u+(v<<2)>>2]=h[t+w>>0]<<11;f[s+(v<<2)>>2]=h[r+w>>0]<<11;v=v+1|0}while((v|0)!=(k|0))}if((q|0)==(m|0)){o=m;break a}}}q=(n|0)<(k|0);r=0;s=j;p=a;do{r=r+1|0;v=s;s=f[b+(r<<2)>>2]|0;t=p;p=f[c+(r<<2)>>2]|0;u=0;do{w=f[g+(u<<2)>>2]|0;x=u<<1;y=d[i+(x<<1)>>1]|0;z=d[i+((x|1)<<1)>>1]|0;x=X(h[v+w>>0]|0,y)|0;A=w+l|0;B=(X(h[v+A>>0]|0,z)|0)+x|0;x=X(h[s+w>>0]|0,y)|0;y=(X(h[s+A>>0]|0,z)|0)+x|0;f[t+(u<<2)>>2]=B;f[p+(u<<2)>>2]=y;u=u+1|0}while((u|0)!=(n|0));if(q){u=n;do{y=f[g+(u<<2)>>2]|0;f[t+(u<<2)>>2]=h[v+y>>0]<<11;f[p+(u<<2)>>2]=h[s+y>>0]<<11;u=u+1|0}while((u|0)!=(k|0))}}while((r|0)!=(m|0));o=m}while(0);if((o|0)>=(e|0))return;if((n|0)<=0){m=(k|0)>0;r=o;do{s=f[b+(r<<2)>>2]|0;p=f[c+(r<<2)>>2]|0;if(m){q=0;do{f[p+(q<<2)>>2]=h[s+(f[g+(q<<2)>>2]|0)>>0]<<11;q=q+1|0}while((q|0)!=(k|0))}r=r+1|0}while((r|0)!=(e|0));return}r=(n|0)<(k|0);m=o;do{o=f[b+(m<<2)>>2]|0;q=f[c+(m<<2)>>2]|0;s=0;do{p=f[g+(s<<2)>>2]|0;a=s<<1;j=X(d[i+(a<<1)>>1]|0,h[o+p>>0]|0)|0;u=(X(d[i+((a|1)<<1)>>1]|0,h[o+(p+l)>>0]|0)|0)+j|0;f[q+(s<<2)>>2]=u;s=s+1|0}while((s|0)!=(n|0));if(r){s=n;do{f[q+(s<<2)>>2]=h[o+(f[g+(s<<2)>>2]|0)>>0]<<11;s=s+1|0}while((s|0)!=(k|0))}m=m+1|0}while((m|0)!=(e|0));return}function c3(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a=d[g>>1]|0;i=d[g+2>>1]|0;g=f[c>>2]|0;j=f[c+4>>2]|0;c=h+-4|0;if((h|0)<4)k=0;else{l=a<<16>>16;m=i<<16>>16;n=0;do{o=(X(f[g+(n<<2)>>2]>>4,l)|0)>>>16;p=(o+2+((X(f[j+(n<<2)>>2]>>4,m)|0)>>>16)|0)>>>2&255;b[e+n>>0]=p;p=n|1;o=(X(f[g+(p<<2)>>2]>>4,l)|0)>>>16;q=(o+2+((X(f[j+(p<<2)>>2]>>4,m)|0)>>>16)|0)>>>2&255;b[e+p>>0]=q;q=n|2;p=(X(f[g+(q<<2)>>2]>>4,l)|0)>>>16;o=(p+2+((X(f[j+(q<<2)>>2]>>4,m)|0)>>>16)|0)>>>2&255;b[e+q>>0]=o;o=n|3;q=(X(f[g+(o<<2)>>2]>>4,l)|0)>>>16;p=(q+2+((X(f[j+(o<<2)>>2]>>4,m)|0)>>>16)|0)>>>2&255;b[e+o>>0]=p;n=n+4|0}while((n|0)<=(c|0));k=h&-4}if((k|0)>=(h|0))return;c=a<<16>>16;a=i<<16>>16;i=k;do{k=(X(f[g+(i<<2)>>2]>>4,c)|0)>>>16;n=(k+2+((X(f[j+(i<<2)>>2]>>4,a)|0)>>>16)|0)>>>2&255;b[e+i>>0]=n;i=i+1|0}while((i|0)!=(h|0));return}function d3(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0,y=0.0;k=u;u=u+192|0;l=k+176|0;m=k+168|0;n=k+160|0;o=k;p=f[a+40>>2]|0;q=f[p+4>>2]|0;r=f[p>>2]|0;f[l>>2]=q;f[l+4>>2]=r;r=b+40|0;p=f[r>>2]|0;s=f[p+4>>2]|0;t=f[p>>2]|0;f[m+4>>2]=t;p=((f[a>>2]|0)>>>3&511)+1|0;v=X(p,q)|0;f[l>>2]=v;v=X(s,p)|0;f[m>>2]=v;v=X(p,h)|0;h=X(p,i)|0;f[n>>2]=0;f[n+4>>2]=t;G3(o,a,b,c,e,d,g,l,m,j,v,h);h=f[b+4>>2]|0;if((h|0)<3){w=X(f[b+12>>2]|0,f[b+8>>2]|0)|0;x=+(w>>>0);y=x*.0000152587890625;$Z(n,o,y);H3(o);u=k;return}b=f[r>>2]|0;r=0;v=1;while(1){j=X(f[b+(r<<2)>>2]|0,v)|0;r=r+1|0;if((r|0)==(h|0)){w=j;break}else v=j}x=+(w>>>0);y=x*.0000152587890625;$Z(n,o,y);H3(o);u=k;return}function e3(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0,y=0.0;k=u;u=u+192|0;l=k+176|0;m=k+168|0;n=k+160|0;o=k;p=f[a+40>>2]|0;q=f[p+4>>2]|0;r=f[p>>2]|0;f[l>>2]=q;f[l+4>>2]=r;r=b+40|0;p=f[r>>2]|0;s=f[p+4>>2]|0;t=f[p>>2]|0;f[m+4>>2]=t;p=((f[a>>2]|0)>>>3&511)+1|0;v=X(p,q)|0;f[l>>2]=v;v=X(s,p)|0;f[m>>2]=v;v=X(p,h)|0;h=X(p,i)|0;f[n>>2]=0;f[n+4>>2]=t;A3(o,a,b,c,e,d,g,l,m,j,v,h);h=f[b+4>>2]|0;if((h|0)<3){w=X(f[b+12>>2]|0,f[b+8>>2]|0)|0;x=+(w>>>0);y=x*.0000152587890625;$Z(n,o,y);B3(o);u=k;return}b=f[r>>2]|0;r=0;v=1;while(1){j=X(f[b+(r<<2)>>2]|0,v)|0;r=r+1|0;if((r|0)==(h|0)){w=j;break}else v=j}x=+(w>>>0);y=x*.0000152587890625;$Z(n,o,y);B3(o);u=k;return}function f3(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0,y=0.0;k=u;u=u+192|0;l=k+176|0;m=k+168|0;n=k+160|0;o=k;p=f[a+40>>2]|0;q=f[p+4>>2]|0;r=f[p>>2]|0;f[l>>2]=q;f[l+4>>2]=r;r=b+40|0;p=f[r>>2]|0;s=f[p+4>>2]|0;t=f[p>>2]|0;f[m+4>>2]=t;p=((f[a>>2]|0)>>>3&511)+1|0;v=X(p,q)|0;f[l>>2]=v;v=X(s,p)|0;f[m>>2]=v;v=X(p,h)|0;h=X(p,i)|0;f[n>>2]=0;f[n+4>>2]=t;u3(o,a,b,c,e,d,g,l,m,j,v,h);h=f[b+4>>2]|0;if((h|0)<3){w=X(f[b+12>>2]|0,f[b+8>>2]|0)|0;x=+(w>>>0);y=x*.0000152587890625;$Z(n,o,y);v3(o);u=k;return}b=f[r>>2]|0;r=0;v=1;while(1){j=X(f[b+(r<<2)>>2]|0,v)|0;r=r+1|0;if((r|0)==(h|0)){w=j;break}else v=j}x=+(w>>>0);y=x*.0000152587890625;$Z(n,o,y);v3(o);u=k;return}function g3(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0,y=0.0;k=u;u=u+192|0;l=k+176|0;m=k+168|0;n=k+160|0;o=k;p=f[a+40>>2]|0;q=f[p+4>>2]|0;r=f[p>>2]|0;f[l>>2]=q;f[l+4>>2]=r;r=b+40|0;p=f[r>>2]|0;s=f[p+4>>2]|0;t=f[p>>2]|0;f[m+4>>2]=t;p=((f[a>>2]|0)>>>3&511)+1|0;v=X(p,q)|0;f[l>>2]=v;v=X(s,p)|0;f[m>>2]=v;v=X(p,h)|0;h=X(p,i)|0;f[n>>2]=0;f[n+4>>2]=t;o3(o,a,b,c,e,d,g,l,m,j,v,h);h=f[b+4>>2]|0;if((h|0)<3){w=X(f[b+12>>2]|0,f[b+8>>2]|0)|0;x=+(w>>>0);y=x*.0000152587890625;$Z(n,o,y);p3(o);u=k;return}b=f[r>>2]|0;r=0;v=1;while(1){j=X(f[b+(r<<2)>>2]|0,v)|0;r=r+1|0;if((r|0)==(h|0)){w=j;break}else v=j}x=+(w>>>0);y=x*.0000152587890625;$Z(n,o,y);p3(o);u=k;return}function h3(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0,y=0.0;k=u;u=u+192|0;l=k+176|0;m=k+168|0;n=k+160|0;o=k;p=f[a+40>>2]|0;q=f[p+4>>2]|0;r=f[p>>2]|0;f[l>>2]=q;f[l+4>>2]=r;r=b+40|0;p=f[r>>2]|0;s=f[p+4>>2]|0;t=f[p>>2]|0;f[m+4>>2]=t;p=((f[a>>2]|0)>>>3&511)+1|0;v=X(p,q)|0;f[l>>2]=v;v=X(s,p)|0;f[m>>2]=v;v=X(p,h)|0;h=X(p,i)|0;f[n>>2]=0;f[n+4>>2]=t;i3(o,a,b,c,e,d,g,l,m,j,v,h);h=f[b+4>>2]|0;if((h|0)<3){w=X(f[b+12>>2]|0,f[b+8>>2]|0)|0;x=+(w>>>0);y=x*.0000152587890625;$Z(n,o,y);j3(o);u=k;return}b=f[r>>2]|0;r=0;v=1;while(1){j=X(f[b+(r<<2)>>2]|0,v)|0;r=r+1|0;if((r|0)==(h|0)){w=j;break}else v=j}x=+(w>>>0);y=x*.0000152587890625;$Z(n,o,y);j3(o);u=k;return}function i3(a,c,d,e,g,h,i,j,k,l,m,n){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;o=u;u=u+16|0;p=o;f[a>>2]=45740;q=a+4|0;f[q>>2]=f[c>>2];r=a+8|0;s=c+4|0;f[r>>2]=f[s>>2];t=a+12|0;f[t>>2]=f[c+8>>2];f[a+16>>2]=f[c+12>>2];f[a+20>>2]=f[c+16>>2];f[a+24>>2]=f[c+20>>2];f[a+28>>2]=f[c+24>>2];f[a+32>>2]=f[c+28>>2];f[a+36>>2]=f[c+32>>2];v=f[c+36>>2]|0;f[a+40>>2]=v;f[a+44>>2]=t;t=a+52|0;w=a+48|0;f[w>>2]=t;f[t>>2]=0;f[a+56>>2]=0;if(v|0){t=v+12|0;f[t>>2]=(f[t>>2]|0)+1}if((f[s>>2]|0)<3){s=f[c+44>>2]|0;t=f[w>>2]|0;f[t>>2]=f[s>>2];f[t+4>>2]=f[s+4>>2]}else{f[r>>2]=0;WO(q,c)}c=a+60|0;f[c>>2]=f[d>>2];q=a+64|0;r=d+4|0;f[q>>2]=f[r>>2];s=a+68|0;f[s>>2]=f[d+8>>2];f[a+72>>2]=f[d+12>>2];f[a+76>>2]=f[d+16>>2];f[a+80>>2]=f[d+20>>2];f[a+84>>2]=f[d+24>>2];f[a+88>>2]=f[d+28>>2];f[a+92>>2]=f[d+32>>2];t=f[d+36>>2]|0;f[a+96>>2]=t;f[a+100>>2]=s;s=a+108|0;w=a+104|0;f[w>>2]=s;f[s>>2]=0;f[a+112>>2]=0;if(t|0){s=t+12|0;f[s>>2]=(f[s>>2]|0)+1}if((f[r>>2]|0)<3){r=f[d+44>>2]|0;s=f[w>>2]|0;f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2]}else{f[q>>2]=0;WO(c,d)}f[a+116>>2]=e;f[a+120>>2]=g;f[a+124>>2]=h;f[a+128>>2]=i;f[a+132>>2]=f[j>>2];f[a+136>>2]=f[j+4>>2];f[a+140>>2]=f[k>>2];f[a+144>>2]=f[k+4>>2];f[a+148>>2]=l;f[a+152>>2]=m;f[a+156>>2]=n;if((l|0)<17){u=o;return}f[p>>2]=0;f[p+4>>2]=0;l=JV(p,18)|0;n=196885;a=l+18|0;do{b[l>>0]=b[n>>0]|0;l=l+1|0;n=n+1|0}while((l|0)<(a|0));EP(-215,p,196904,196671,2211);KV(p);u=o;return}function j3(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=45740;b=a+60|0;c=a+96|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+76|0;b=a+64|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+100>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+104>>2]|0;if((b|0)!=(a+108|0))dX(b);b=a+4|0;d=a+40|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+20|0;b=a+8|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[a+44>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+48>>2]|0;if((b|0)==(a+52|0))return;dX(b);return}function k3(a){a=a|0;j3(a);GQa(a);return}function l3(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;c=u;u=u+1296|0;d=c+1289|0;e=c+1288|0;g=c;h=c+1224|0;i=c+1160|0;j=c+1096|0;k=((f[a+4>>2]|0)>>>3&511)+1|0;l=a+140|0;m=(f[l>>2]|0)+15&-16;n=a+148|0;o=f[n>>2]|0;p=X(m,o)|0;q=g+8|0;f[g>>2]=q;r=g+4|0;f[r>>2]=p;if(p>>>0>136){s=FQa(p>>>0>536870911?-1:p<<3)|0;f[g>>2]=s;t=s}else t=q;s=h;p=s+64|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(p|0));s=i;p=s+64|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(p|0));if((o|0)>0){FVa(j|0,-1,o<<2|0)|0;s=0;do{p=t+((X(s,m)|0)<<3)|0;f[i+(s<<2)>>2]=p;s=s+1|0}while((s|0)<(o|0))}s=f[b>>2]|0;p=b+4|0;if((s|0)<(f[p>>2]|0)){b=a+120|0;v=a+116|0;w=a+124|0;x=a+132|0;y=a+152|0;z=a+156|0;A=a+76|0;B=a+108|0;C=a+136|0;D=a+20|0;E=a+48|0;F=m<<3;m=(f[a+128>>2]|0)+((X(s,o)|0)<<2)|0;a=s;s=o;while(1){if((s|0)>0){o=(f[(f[b>>2]|0)+(a<<2)>>2]|0)+1+((s|0)/-2|0)|0;G=s;H=0;I=s;J=0;while(1){K=o+J|0;L=f[C>>2]|0;M=(K|0)>-1?((K|0)<(L|0)?K:L+-1|0):0;L=(H|0)<(J|0)?J:H;a:do if((L|0)<(I|0)){K=L;while(1){if((K|0)<16?(M|0)==(f[j+(K<<2)>>2]|0):0)break;N=K+1|0;if((N|0)<(I|0))K=N;else{O=I;P=N;break a}}if((K|0)>(J|0)){DVa(f[i+(J<<2)>>2]|0,f[i+(K<<2)>>2]|0,F|0)|0;O=f[n>>2]|0;P=K}else{O=I;P=K}}else{O=I;P=L}while(0);G=(J|0)<(G|0)&(P|0)==(O|0)?J:G;L=(f[D>>2]|0)+(X(f[f[E>>2]>>2]|0,M)|0)|0;f[h+(J<<2)>>2]=L;f[j+(J<<2)>>2]=M;J=J+1|0;if((J|0)>=(O|0))break;else{H=P;I=O}}if((O|0)>(G|0))m3(d,h+(G<<2)|0,i+(G<<2)|0,O-G|0,f[v>>2]|0,f[w>>2]|0,f[x>>2]|0,f[l>>2]|0,k,f[y>>2]|0,f[z>>2]|0)}I=(f[A>>2]|0)+(X(f[B>>2]|0,a)|0)|0;n3(e,i,I,m,f[l>>2]|0);a=a+1|0;I=f[n>>2]|0;if((a|0)>=(f[p>>2]|0))break;else{m=m+(I<<2)|0;s=I}}Q=f[g>>2]|0}else Q=t;if((Q|0)==(q|0)){u=c;return}if(Q|0)HQa(Q);f[g>>2]=q;f[r>>2]=136;u=c;return}function m3(a,b,c,d,e,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0,L=0,M=0.0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;if((d|0)<=0)return;a=j*3|0;m=j<<1;o=j<<2;q=0-(i<<3)|0;r=X(j,-3)|0;s=X(j,-2)|0;t=j<<1;u=j<<2;v=0;w=g;while(1){g=f[b+(v<<2)>>2]|0;x=f[c+(v<<2)>>2]|0;y=k;z=0;A=w;a:while(1){if((y|0)>(z|0)){B=y-z<<3;C=z;D=A;while(1){E=f[e+(C<<2)>>2]|0;F=r+E|0;if(F>>>0>>0)G=F;else{H=F;while(1)if((H|0)<0)H=H+j|0;else{I=H;break}while(1)if((I|0)<(h|0)){G=I;break}else I=I-j|0}J=+p[g+(G<<3)>>3]*+n[D>>2]+0.0;H=s+E|0;if(H>>>0>>0)K=H;else{F=H;while(1)if((F|0)<0)F=F+j|0;else{L=F;break}while(1)if((L|0)<(h|0)){K=L;break}else L=L-j|0}M=J+ +p[g+(K<<3)>>3]*+n[D+4>>2];F=E-j|0;if(F>>>0>>0)N=F;else{H=F;while(1)if((H|0)<0)H=H+j|0;else{O=H;break}while(1)if((O|0)<(h|0)){N=O;break}else O=O-j|0}J=M+ +p[g+(N<<3)>>3]*+n[D+8>>2];if(E>>>0>>0)P=E;else{H=E;while(1)if((H|0)<0)H=H+j|0;else{Q=H;break}while(1)if((Q|0)<(h|0)){P=Q;break}else Q=Q-j|0}M=J+ +p[g+(P<<3)>>3]*+n[D+12>>2];H=E+j|0;if(H>>>0>>0)R=H;else{F=H;while(1)if((F|0)<0)F=F+j|0;else{S=F;break}while(1)if((S|0)<(h|0)){R=S;break}else S=S-j|0}J=M+ +p[g+(R<<3)>>3]*+n[D+16>>2];F=t+E|0;if(F>>>0>>0)T=F;else{H=F;while(1)if((H|0)<0)H=H+j|0;else{U=H;break}while(1)if((U|0)<(h|0)){T=U;break}else U=U-j|0}M=J+ +p[g+(T<<3)>>3]*+n[D+20>>2];H=a+E|0;if(H>>>0>>0)V=H;else{F=H;while(1)if((F|0)<0)F=F+j|0;else{W=F;break}while(1)if((W|0)<(h|0)){V=W;break}else W=W-j|0}J=M+ +p[g+(V<<3)>>3]*+n[D+24>>2];F=u+E|0;if(F>>>0>>0)Y=F;else{H=F;while(1)if((H|0)<0)H=H+j|0;else{Z=H;break}while(1)if((Z|0)<(h|0)){Y=Z;break}else Z=Z-j|0}p[x+(C<<3)>>3]=J+ +p[g+(Y<<3)>>3]*+n[D+28>>2];C=C+1|0;if((C|0)==(y|0))break;else D=D+32|0}_=y;$=A+(B<<2)|0}else{_=z;$=A}if((y|0)==(i|0))break;if((_|0)<(l|0)){aa=_;ba=$}else{y=i;z=_;A=$;continue}while(1){D=f[e+(aa<<2)>>2]|0;p[x+(aa<<3)>>3]=+p[g+(D-a<<3)>>3]*+n[ba>>2]+ +p[g+(D-m<<3)>>3]*+n[ba+4>>2]+ +p[g+(D-j<<3)>>3]*+n[ba+8>>2]+ +p[g+(D<<3)>>3]*+n[ba+12>>2]+ +p[g+(D+j<<3)>>3]*+n[ba+16>>2]+ +p[g+(D+m<<3)>>3]*+n[ba+20>>2]+ +p[g+(D+a<<3)>>3]*+n[ba+24>>2]+ +p[g+(D+o<<3)>>3]*+n[ba+28>>2];D=aa+1|0;C=ba+32|0;if((D|0)<(l|0)){aa=D;ba=C}else{y=i;z=l;A=C;continue a}}}v=v+1|0;if((v|0)==(d|0))break;else w=$+(q<<2)|0}return}function n3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0.0,i=0,j=0,k=0.0,l=0,m=0.0,o=0,q=0.0,r=0,s=0.0,t=0.0,u=0,v=0.0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0;a=e+-4|0;if((e|0)<4)g=0;else{h=+n[d>>2];i=f[b>>2]|0;j=f[b+16>>2]|0;k=+n[d+4>>2];l=f[b+4>>2]|0;m=+n[d+8>>2];o=f[b+8>>2]|0;q=+n[d+12>>2];r=f[b+12>>2]|0;s=+n[d+16>>2];t=+n[d+20>>2];u=f[b+20>>2]|0;v=+n[d+24>>2];w=f[b+24>>2]|0;x=+n[d+28>>2];y=f[b+28>>2]|0;z=0;do{A=z|1;B=z|2;C=z|3;D=+p[i+(A<<3)>>3]*h+ +p[l+(A<<3)>>3]*k+ +p[o+(A<<3)>>3]*m+ +p[r+(A<<3)>>3]*q+ +p[j+(A<<3)>>3]*s+ +p[u+(A<<3)>>3]*t+ +p[w+(A<<3)>>3]*v+ +p[y+(A<<3)>>3]*x;E=+p[i+(B<<3)>>3]*h+ +p[l+(B<<3)>>3]*k+ +p[o+(B<<3)>>3]*m+ +p[r+(B<<3)>>3]*q+ +p[j+(B<<3)>>3]*s+ +p[u+(B<<3)>>3]*t+ +p[w+(B<<3)>>3]*v+ +p[y+(B<<3)>>3]*x;F=+p[i+(C<<3)>>3]*h+ +p[l+(C<<3)>>3]*k+ +p[o+(C<<3)>>3]*m+ +p[r+(C<<3)>>3]*q+ +p[j+(C<<3)>>3]*s+ +p[u+(C<<3)>>3]*t+ +p[w+(C<<3)>>3]*v+ +p[y+(C<<3)>>3]*x;p[c+(z<<3)>>3]=+p[i+(z<<3)>>3]*h+ +p[l+(z<<3)>>3]*k+ +p[o+(z<<3)>>3]*m+ +p[r+(z<<3)>>3]*q+ +p[j+(z<<3)>>3]*s+ +p[u+(z<<3)>>3]*t+ +p[w+(z<<3)>>3]*v+ +p[y+(z<<3)>>3]*x;p[c+(A<<3)>>3]=D;p[c+(B<<3)>>3]=E;p[c+(C<<3)>>3]=F;z=z+4|0}while((z|0)<=(a|0));g=e&-4}if((g|0)>=(e|0))return;a=f[b>>2]|0;x=+n[d>>2];z=f[b+4>>2]|0;v=+n[d+4>>2];y=f[b+8>>2]|0;t=+n[d+8>>2];w=f[b+12>>2]|0;s=+n[d+12>>2];u=f[b+16>>2]|0;q=+n[d+16>>2];j=f[b+20>>2]|0;m=+n[d+20>>2];r=f[b+24>>2]|0;k=+n[d+24>>2];o=f[b+28>>2]|0;h=+n[d+28>>2];d=g;do{p[c+(d<<3)>>3]=+p[a+(d<<3)>>3]*x+ +p[z+(d<<3)>>3]*v+ +p[y+(d<<3)>>3]*t+ +p[w+(d<<3)>>3]*s+ +p[u+(d<<3)>>3]*q+ +p[j+(d<<3)>>3]*m+ +p[r+(d<<3)>>3]*k+ +p[o+(d<<3)>>3]*h;d=d+1|0}while((d|0)!=(e|0));return}function o3(a,c,d,e,g,h,i,j,k,l,m,n){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;o=u;u=u+16|0;p=o;f[a>>2]=45760;q=a+4|0;f[q>>2]=f[c>>2];r=a+8|0;s=c+4|0;f[r>>2]=f[s>>2];t=a+12|0;f[t>>2]=f[c+8>>2];f[a+16>>2]=f[c+12>>2];f[a+20>>2]=f[c+16>>2];f[a+24>>2]=f[c+20>>2];f[a+28>>2]=f[c+24>>2];f[a+32>>2]=f[c+28>>2];f[a+36>>2]=f[c+32>>2];v=f[c+36>>2]|0;f[a+40>>2]=v;f[a+44>>2]=t;t=a+52|0;w=a+48|0;f[w>>2]=t;f[t>>2]=0;f[a+56>>2]=0;if(v|0){t=v+12|0;f[t>>2]=(f[t>>2]|0)+1}if((f[s>>2]|0)<3){s=f[c+44>>2]|0;t=f[w>>2]|0;f[t>>2]=f[s>>2];f[t+4>>2]=f[s+4>>2]}else{f[r>>2]=0;WO(q,c)}c=a+60|0;f[c>>2]=f[d>>2];q=a+64|0;r=d+4|0;f[q>>2]=f[r>>2];s=a+68|0;f[s>>2]=f[d+8>>2];f[a+72>>2]=f[d+12>>2];f[a+76>>2]=f[d+16>>2];f[a+80>>2]=f[d+20>>2];f[a+84>>2]=f[d+24>>2];f[a+88>>2]=f[d+28>>2];f[a+92>>2]=f[d+32>>2];t=f[d+36>>2]|0;f[a+96>>2]=t;f[a+100>>2]=s;s=a+108|0;w=a+104|0;f[w>>2]=s;f[s>>2]=0;f[a+112>>2]=0;if(t|0){s=t+12|0;f[s>>2]=(f[s>>2]|0)+1}if((f[r>>2]|0)<3){r=f[d+44>>2]|0;s=f[w>>2]|0;f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2]}else{f[q>>2]=0;WO(c,d)}f[a+116>>2]=e;f[a+120>>2]=g;f[a+124>>2]=h;f[a+128>>2]=i;f[a+132>>2]=f[j>>2];f[a+136>>2]=f[j+4>>2];f[a+140>>2]=f[k>>2];f[a+144>>2]=f[k+4>>2];f[a+148>>2]=l;f[a+152>>2]=m;f[a+156>>2]=n;if((l|0)<17){u=o;return}f[p>>2]=0;f[p+4>>2]=0;l=JV(p,18)|0;n=196885;a=l+18|0;do{b[l>>0]=b[n>>0]|0;l=l+1|0;n=n+1|0}while((l|0)<(a|0));EP(-215,p,196904,196671,2211);KV(p);u=o;return}function p3(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=45760;b=a+60|0;c=a+96|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+76|0;b=a+64|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+100>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+104>>2]|0;if((b|0)!=(a+108|0))dX(b);b=a+4|0;d=a+40|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+20|0;b=a+8|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[a+44>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+48>>2]|0;if((b|0)==(a+52|0))return;dX(b);return}function q3(a){a=a|0;p3(a);GQa(a);return}function r3(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;c=u;u=u+1264|0;d=c+1257|0;e=c+1256|0;g=c+192|0;h=c+128|0;i=c+64|0;j=c;k=((f[a+4>>2]|0)>>>3&511)+1|0;l=a+140|0;m=(f[l>>2]|0)+15&-16;n=a+148|0;o=f[n>>2]|0;p=X(m,o)|0;q=g+8|0;f[g>>2]=q;r=g+4|0;f[r>>2]=p;if(p>>>0>264){s=FQa(p>>>0>1073741823?-1:p<<2)|0;f[g>>2]=s;t=s}else t=q;s=h;p=s+64|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(p|0));s=i;p=s+64|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(p|0));if((o|0)>0){FVa(j|0,-1,o<<2|0)|0;s=0;do{p=t+((X(s,m)|0)<<2)|0;f[i+(s<<2)>>2]=p;s=s+1|0}while((s|0)<(o|0))}s=f[b>>2]|0;p=b+4|0;if((s|0)<(f[p>>2]|0)){b=a+120|0;v=a+116|0;w=a+124|0;x=a+132|0;y=a+152|0;z=a+156|0;A=a+76|0;B=a+108|0;C=a+136|0;D=a+20|0;E=a+48|0;F=m<<2;m=(f[a+128>>2]|0)+((X(s,o)|0)<<2)|0;a=s;s=o;while(1){if((s|0)>0){o=(f[(f[b>>2]|0)+(a<<2)>>2]|0)+1+((s|0)/-2|0)|0;G=s;H=0;I=s;J=0;while(1){K=o+J|0;L=f[C>>2]|0;M=(K|0)>-1?((K|0)<(L|0)?K:L+-1|0):0;L=(H|0)<(J|0)?J:H;a:do if((L|0)<(I|0)){K=L;while(1){if((K|0)<16?(M|0)==(f[j+(K<<2)>>2]|0):0)break;N=K+1|0;if((N|0)<(I|0))K=N;else{O=I;P=N;break a}}if((K|0)>(J|0)){DVa(f[i+(J<<2)>>2]|0,f[i+(K<<2)>>2]|0,F|0)|0;O=f[n>>2]|0;P=K}else{O=I;P=K}}else{O=I;P=L}while(0);G=(J|0)<(G|0)&(P|0)==(O|0)?J:G;L=(f[D>>2]|0)+(X(f[f[E>>2]>>2]|0,M)|0)|0;f[h+(J<<2)>>2]=L;f[j+(J<<2)>>2]=M;J=J+1|0;if((J|0)>=(O|0))break;else{H=P;I=O}}if((O|0)>(G|0))s3(d,h+(G<<2)|0,i+(G<<2)|0,O-G|0,f[v>>2]|0,f[w>>2]|0,f[x>>2]|0,f[l>>2]|0,k,f[y>>2]|0,f[z>>2]|0)}I=(f[A>>2]|0)+(X(f[B>>2]|0,a)|0)|0;t3(e,i,I,m,f[l>>2]|0);a=a+1|0;I=f[n>>2]|0;if((a|0)>=(f[p>>2]|0))break;else{m=m+(I<<2)|0;s=I}}Q=f[g>>2]|0}else Q=t;if((Q|0)==(q|0)){u=c;return}if(Q|0)HQa(Q);f[g>>2]=q;f[r>>2]=264;u=c;return}function s3(a,b,c,d,e,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0,K=0,L=0.0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0;if((d|0)<=0)return;a=j*3|0;m=j<<1;o=j<<2;p=0-(i<<3)|0;q=X(j,-3)|0;r=X(j,-2)|0;s=j<<1;t=j<<2;u=0;v=g;while(1){g=f[b+(u<<2)>>2]|0;w=f[c+(u<<2)>>2]|0;x=k;y=0;z=v;a:while(1){if((x|0)>(y|0)){A=x-y<<3;B=y;C=z;while(1){D=f[e+(B<<2)>>2]|0;E=q+D|0;if(E>>>0>>0)F=E;else{G=E;while(1)if((G|0)<0)G=G+j|0;else{H=G;break}while(1)if((H|0)<(h|0)){F=H;break}else H=H-j|0}I=+n[g+(F<<2)>>2]*+n[C>>2]+0.0;G=r+D|0;if(G>>>0>>0)J=G;else{E=G;while(1)if((E|0)<0)E=E+j|0;else{K=E;break}while(1)if((K|0)<(h|0)){J=K;break}else K=K-j|0}L=I+ +n[g+(J<<2)>>2]*+n[C+4>>2];E=D-j|0;if(E>>>0>>0)M=E;else{G=E;while(1)if((G|0)<0)G=G+j|0;else{N=G;break}while(1)if((N|0)<(h|0)){M=N;break}else N=N-j|0}I=L+ +n[g+(M<<2)>>2]*+n[C+8>>2];if(D>>>0>>0)O=D;else{G=D;while(1)if((G|0)<0)G=G+j|0;else{P=G;break}while(1)if((P|0)<(h|0)){O=P;break}else P=P-j|0}L=I+ +n[g+(O<<2)>>2]*+n[C+12>>2];G=D+j|0;if(G>>>0>>0)Q=G;else{E=G;while(1)if((E|0)<0)E=E+j|0;else{R=E;break}while(1)if((R|0)<(h|0)){Q=R;break}else R=R-j|0}I=L+ +n[g+(Q<<2)>>2]*+n[C+16>>2];E=s+D|0;if(E>>>0>>0)S=E;else{G=E;while(1)if((G|0)<0)G=G+j|0;else{T=G;break}while(1)if((T|0)<(h|0)){S=T;break}else T=T-j|0}L=I+ +n[g+(S<<2)>>2]*+n[C+20>>2];G=a+D|0;if(G>>>0>>0)U=G;else{E=G;while(1)if((E|0)<0)E=E+j|0;else{V=E;break}while(1)if((V|0)<(h|0)){U=V;break}else V=V-j|0}I=L+ +n[g+(U<<2)>>2]*+n[C+24>>2];E=t+D|0;if(E>>>0>>0)W=E;else{G=E;while(1)if((G|0)<0)G=G+j|0;else{Y=G;break}while(1)if((Y|0)<(h|0)){W=Y;break}else Y=Y-j|0}n[w+(B<<2)>>2]=I+ +n[g+(W<<2)>>2]*+n[C+28>>2];B=B+1|0;if((B|0)==(x|0))break;else C=C+32|0}Z=x;_=z+(A<<2)|0}else{Z=y;_=z}if((x|0)==(i|0))break;if((Z|0)<(l|0)){$=Z;aa=_}else{x=i;y=Z;z=_;continue}while(1){C=f[e+($<<2)>>2]|0;n[w+($<<2)>>2]=+n[g+(C-a<<2)>>2]*+n[aa>>2]+ +n[g+(C-m<<2)>>2]*+n[aa+4>>2]+ +n[g+(C-j<<2)>>2]*+n[aa+8>>2]+ +n[g+(C<<2)>>2]*+n[aa+12>>2]+ +n[g+(C+j<<2)>>2]*+n[aa+16>>2]+ +n[g+(C+m<<2)>>2]*+n[aa+20>>2]+ +n[g+(C+a<<2)>>2]*+n[aa+24>>2]+ +n[g+(C+o<<2)>>2]*+n[aa+28>>2];C=$+1|0;B=aa+32|0;if((C|0)<(l|0)){$=C;aa=B}else{x=i;y=l;z=B;continue a}}}u=u+1|0;if((u|0)==(d|0))break;else v=_+(p<<2)|0}return}function t3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0;a=e+-4|0;if((e|0)<4)g=0;else{h=f[b>>2]|0;i=d+4|0;j=f[b+16>>2]|0;k=f[b+20>>2]|0;l=f[b+4>>2]|0;m=d+8|0;o=f[b+8>>2]|0;p=d+12|0;q=f[b+12>>2]|0;r=d+16|0;s=d+20|0;t=d+24|0;u=f[b+24>>2]|0;v=d+28|0;w=f[b+28>>2]|0;x=0;do{y=+n[d>>2];z=x|1;A=x|2;B=x|3;C=+n[i>>2];D=+n[m>>2];E=+n[p>>2];F=+n[r>>2];G=+n[s>>2];H=+n[t>>2];I=+n[v>>2];J=y*+n[h+(z<<2)>>2]+C*+n[l+(z<<2)>>2]+D*+n[o+(z<<2)>>2]+E*+n[q+(z<<2)>>2]+F*+n[j+(z<<2)>>2]+G*+n[k+(z<<2)>>2]+H*+n[u+(z<<2)>>2]+I*+n[w+(z<<2)>>2];K=y*+n[h+(A<<2)>>2]+C*+n[l+(A<<2)>>2]+D*+n[o+(A<<2)>>2]+E*+n[q+(A<<2)>>2]+F*+n[j+(A<<2)>>2]+G*+n[k+(A<<2)>>2]+H*+n[u+(A<<2)>>2]+I*+n[w+(A<<2)>>2];L=y*+n[h+(B<<2)>>2]+C*+n[l+(B<<2)>>2]+D*+n[o+(B<<2)>>2]+E*+n[q+(B<<2)>>2]+F*+n[j+(B<<2)>>2]+G*+n[k+(B<<2)>>2]+H*+n[u+(B<<2)>>2]+I*+n[w+(B<<2)>>2];n[c+(x<<2)>>2]=y*+n[h+(x<<2)>>2]+C*+n[l+(x<<2)>>2]+D*+n[o+(x<<2)>>2]+E*+n[q+(x<<2)>>2]+F*+n[j+(x<<2)>>2]+G*+n[k+(x<<2)>>2]+H*+n[u+(x<<2)>>2]+I*+n[w+(x<<2)>>2];n[c+(z<<2)>>2]=J;n[c+(A<<2)>>2]=K;n[c+(B<<2)>>2]=L;x=x+4|0}while((x|0)<=(a|0));g=e&-4}if((g|0)>=(e|0))return;a=f[b>>2]|0;x=f[b+4>>2]|0;w=d+4|0;u=f[b+8>>2]|0;k=d+8|0;j=f[b+12>>2]|0;q=d+12|0;o=f[b+16>>2]|0;l=d+16|0;h=f[b+20>>2]|0;v=d+20|0;t=f[b+24>>2]|0;s=d+24|0;r=f[b+28>>2]|0;b=d+28|0;p=g;do{n[c+(p<<2)>>2]=+n[a+(p<<2)>>2]*+n[d>>2]+ +n[x+(p<<2)>>2]*+n[w>>2]+ +n[u+(p<<2)>>2]*+n[k>>2]+ +n[j+(p<<2)>>2]*+n[q>>2]+ +n[o+(p<<2)>>2]*+n[l>>2]+ +n[h+(p<<2)>>2]*+n[v>>2]+ +n[t+(p<<2)>>2]*+n[s>>2]+ +n[r+(p<<2)>>2]*+n[b>>2];p=p+1|0}while((p|0)!=(e|0));return}function u3(a,c,d,e,g,h,i,j,k,l,m,n){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;o=u;u=u+16|0;p=o;f[a>>2]=45780;q=a+4|0;f[q>>2]=f[c>>2];r=a+8|0;s=c+4|0;f[r>>2]=f[s>>2];t=a+12|0;f[t>>2]=f[c+8>>2];f[a+16>>2]=f[c+12>>2];f[a+20>>2]=f[c+16>>2];f[a+24>>2]=f[c+20>>2];f[a+28>>2]=f[c+24>>2];f[a+32>>2]=f[c+28>>2];f[a+36>>2]=f[c+32>>2];v=f[c+36>>2]|0;f[a+40>>2]=v;f[a+44>>2]=t;t=a+52|0;w=a+48|0;f[w>>2]=t;f[t>>2]=0;f[a+56>>2]=0;if(v|0){t=v+12|0;f[t>>2]=(f[t>>2]|0)+1}if((f[s>>2]|0)<3){s=f[c+44>>2]|0;t=f[w>>2]|0;f[t>>2]=f[s>>2];f[t+4>>2]=f[s+4>>2]}else{f[r>>2]=0;WO(q,c)}c=a+60|0;f[c>>2]=f[d>>2];q=a+64|0;r=d+4|0;f[q>>2]=f[r>>2];s=a+68|0;f[s>>2]=f[d+8>>2];f[a+72>>2]=f[d+12>>2];f[a+76>>2]=f[d+16>>2];f[a+80>>2]=f[d+20>>2];f[a+84>>2]=f[d+24>>2];f[a+88>>2]=f[d+28>>2];f[a+92>>2]=f[d+32>>2];t=f[d+36>>2]|0;f[a+96>>2]=t;f[a+100>>2]=s;s=a+108|0;w=a+104|0;f[w>>2]=s;f[s>>2]=0;f[a+112>>2]=0;if(t|0){s=t+12|0;f[s>>2]=(f[s>>2]|0)+1}if((f[r>>2]|0)<3){r=f[d+44>>2]|0;s=f[w>>2]|0;f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2]}else{f[q>>2]=0;WO(c,d)}f[a+116>>2]=e;f[a+120>>2]=g;f[a+124>>2]=h;f[a+128>>2]=i;f[a+132>>2]=f[j>>2];f[a+136>>2]=f[j+4>>2];f[a+140>>2]=f[k>>2];f[a+144>>2]=f[k+4>>2];f[a+148>>2]=l;f[a+152>>2]=m;f[a+156>>2]=n;if((l|0)<17){u=o;return}f[p>>2]=0;f[p+4>>2]=0;l=JV(p,18)|0;n=196885;a=l+18|0;do{b[l>>0]=b[n>>0]|0;l=l+1|0;n=n+1|0}while((l|0)<(a|0));EP(-215,p,196904,196671,2211);KV(p);u=o;return}function v3(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=45780;b=a+60|0;c=a+96|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+76|0;b=a+64|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+100>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+104>>2]|0;if((b|0)!=(a+108|0))dX(b);b=a+4|0;d=a+40|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+20|0;b=a+8|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[a+44>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+48>>2]|0;if((b|0)==(a+52|0))return;dX(b);return}function w3(a){a=a|0;v3(a);GQa(a);return}function x3(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;c=u;u=u+1264|0;d=c+1257|0;e=c+1256|0;g=c+192|0;h=c+128|0;i=c+64|0;j=c;k=((f[a+4>>2]|0)>>>3&511)+1|0;l=a+140|0;m=(f[l>>2]|0)+15&-16;n=a+148|0;o=f[n>>2]|0;p=X(m,o)|0;q=g+8|0;f[g>>2]=q;r=g+4|0;f[r>>2]=p;if(p>>>0>264){s=FQa(p>>>0>1073741823?-1:p<<2)|0;f[g>>2]=s;t=s}else t=q;s=h;p=s+64|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(p|0));s=i;p=s+64|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(p|0));if((o|0)>0){FVa(j|0,-1,o<<2|0)|0;s=0;do{p=t+((X(s,m)|0)<<2)|0;f[i+(s<<2)>>2]=p;s=s+1|0}while((s|0)<(o|0))}s=f[b>>2]|0;p=b+4|0;if((s|0)<(f[p>>2]|0)){b=a+120|0;v=a+116|0;w=a+124|0;x=a+132|0;y=a+152|0;z=a+156|0;A=a+76|0;B=a+108|0;C=a+136|0;D=a+20|0;E=a+48|0;F=m<<2;m=(f[a+128>>2]|0)+((X(s,o)|0)<<2)|0;a=s;s=o;while(1){if((s|0)>0){o=(f[(f[b>>2]|0)+(a<<2)>>2]|0)+1+((s|0)/-2|0)|0;G=s;H=0;I=s;J=0;while(1){K=o+J|0;L=f[C>>2]|0;M=(K|0)>-1?((K|0)<(L|0)?K:L+-1|0):0;L=(H|0)<(J|0)?J:H;a:do if((L|0)<(I|0)){K=L;while(1){if((K|0)<16?(M|0)==(f[j+(K<<2)>>2]|0):0)break;N=K+1|0;if((N|0)<(I|0))K=N;else{O=I;P=N;break a}}if((K|0)>(J|0)){DVa(f[i+(J<<2)>>2]|0,f[i+(K<<2)>>2]|0,F|0)|0;O=f[n>>2]|0;P=K}else{O=I;P=K}}else{O=I;P=L}while(0);G=(J|0)<(G|0)&(P|0)==(O|0)?J:G;L=(f[D>>2]|0)+(X(f[f[E>>2]>>2]|0,M)|0)|0;f[h+(J<<2)>>2]=L;f[j+(J<<2)>>2]=M;J=J+1|0;if((J|0)>=(O|0))break;else{H=P;I=O}}if((O|0)>(G|0))y3(d,h+(G<<2)|0,i+(G<<2)|0,O-G|0,f[v>>2]|0,f[w>>2]|0,f[x>>2]|0,f[l>>2]|0,k,f[y>>2]|0,f[z>>2]|0)}I=(f[A>>2]|0)+(X(f[B>>2]|0,a)|0)|0;z3(e,i,I,m,f[l>>2]|0);a=a+1|0;I=f[n>>2]|0;if((a|0)>=(f[p>>2]|0))break;else{m=m+(I<<2)|0;s=I}}Q=f[g>>2]|0}else Q=t;if((Q|0)==(q|0)){u=c;return}if(Q|0)HQa(Q);f[g>>2]=q;f[r>>2]=264;u=c;return}function y3(a,b,c,e,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0,L=0,M=0.0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;if((e|0)<=0)return;a=k*3|0;o=k<<1;p=k<<2;q=0-(j<<3)|0;r=X(k,-3)|0;s=X(k,-2)|0;t=k<<1;u=k<<2;v=0;w=h;while(1){h=f[b+(v<<2)>>2]|0;x=f[c+(v<<2)>>2]|0;y=l;z=0;A=w;a:while(1){if((y|0)>(z|0)){B=y-z<<3;C=z;D=A;while(1){E=f[g+(C<<2)>>2]|0;F=r+E|0;if(F>>>0>>0)G=F;else{H=F;while(1)if((H|0)<0)H=H+k|0;else{I=H;break}while(1)if((I|0)<(i|0)){G=I;break}else I=I-k|0}J=+n[D>>2]*+(d[h+(G<<1)>>1]|0)+0.0;H=s+E|0;if(H>>>0>>0)K=H;else{F=H;while(1)if((F|0)<0)F=F+k|0;else{L=F;break}while(1)if((L|0)<(i|0)){K=L;break}else L=L-k|0}M=J+ +n[D+4>>2]*+(d[h+(K<<1)>>1]|0);F=E-k|0;if(F>>>0>>0)N=F;else{H=F;while(1)if((H|0)<0)H=H+k|0;else{O=H;break}while(1)if((O|0)<(i|0)){N=O;break}else O=O-k|0}J=M+ +n[D+8>>2]*+(d[h+(N<<1)>>1]|0);if(E>>>0>>0)P=E;else{H=E;while(1)if((H|0)<0)H=H+k|0;else{Q=H;break}while(1)if((Q|0)<(i|0)){P=Q;break}else Q=Q-k|0}M=J+ +n[D+12>>2]*+(d[h+(P<<1)>>1]|0);H=E+k|0;if(H>>>0>>0)R=H;else{F=H;while(1)if((F|0)<0)F=F+k|0;else{S=F;break}while(1)if((S|0)<(i|0)){R=S;break}else S=S-k|0}J=M+ +n[D+16>>2]*+(d[h+(R<<1)>>1]|0);F=t+E|0;if(F>>>0>>0)T=F;else{H=F;while(1)if((H|0)<0)H=H+k|0;else{U=H;break}while(1)if((U|0)<(i|0)){T=U;break}else U=U-k|0}M=J+ +n[D+20>>2]*+(d[h+(T<<1)>>1]|0);H=a+E|0;if(H>>>0>>0)V=H;else{F=H;while(1)if((F|0)<0)F=F+k|0;else{W=F;break}while(1)if((W|0)<(i|0)){V=W;break}else W=W-k|0}J=M+ +n[D+24>>2]*+(d[h+(V<<1)>>1]|0);F=u+E|0;if(F>>>0>>0)Y=F;else{H=F;while(1)if((H|0)<0)H=H+k|0;else{Z=H;break}while(1)if((Z|0)<(i|0)){Y=Z;break}else Z=Z-k|0}n[x+(C<<2)>>2]=J+ +n[D+28>>2]*+(d[h+(Y<<1)>>1]|0);C=C+1|0;if((C|0)==(y|0))break;else D=D+32|0}_=y;$=A+(B<<2)|0}else{_=z;$=A}if((y|0)==(j|0))break;if((_|0)<(m|0)){aa=_;ba=$}else{y=j;z=_;A=$;continue}while(1){D=f[g+(aa<<2)>>2]|0;n[x+(aa<<2)>>2]=+n[ba>>2]*+(d[h+(D-a<<1)>>1]|0)+ +n[ba+4>>2]*+(d[h+(D-o<<1)>>1]|0)+ +n[ba+8>>2]*+(d[h+(D-k<<1)>>1]|0)+ +n[ba+12>>2]*+(d[h+(D<<1)>>1]|0)+ +n[ba+16>>2]*+(d[h+(D+k<<1)>>1]|0)+ +n[ba+20>>2]*+(d[h+(D+o<<1)>>1]|0)+ +n[ba+24>>2]*+(d[h+(D+a<<1)>>1]|0)+ +n[ba+28>>2]*+(d[h+(D+p<<1)>>1]|0);D=aa+1|0;C=ba+32|0;if((D|0)<(m|0)){aa=D;ba=C}else{y=j;z=m;A=C;continue a}}}v=v+1|0;if((v|0)==(e|0))break;else w=$+(q<<2)|0}return}function z3(a,b,c,e,g){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;var h=0,i=0.0,j=0,k=0.0,l=0,m=0.0,o=0,p=0.0,q=0,r=0.0,s=0,t=0.0,u=0,v=0.0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0,G=0;a=g+-4|0;if((g|0)<4)h=0;else{i=+n[e>>2];j=f[b>>2]|0;k=+n[e+20>>2];l=f[b+20>>2]|0;m=+n[e+4>>2];o=f[b+4>>2]|0;p=+n[e+8>>2];q=f[b+8>>2]|0;r=+n[e+12>>2];s=f[b+12>>2]|0;t=+n[e+16>>2];u=f[b+16>>2]|0;v=+n[e+24>>2];w=f[b+24>>2]|0;x=+n[e+28>>2];y=f[b+28>>2]|0;z=0;do{A=z|1;B=z|2;C=z|3;D=i*+n[j+(A<<2)>>2]+m*+n[o+(A<<2)>>2]+p*+n[q+(A<<2)>>2]+r*+n[s+(A<<2)>>2]+t*+n[u+(A<<2)>>2]+k*+n[l+(A<<2)>>2]+v*+n[w+(A<<2)>>2]+x*+n[y+(A<<2)>>2];E=i*+n[j+(B<<2)>>2]+m*+n[o+(B<<2)>>2]+p*+n[q+(B<<2)>>2]+r*+n[s+(B<<2)>>2]+t*+n[u+(B<<2)>>2]+k*+n[l+(B<<2)>>2]+v*+n[w+(B<<2)>>2]+x*+n[y+(B<<2)>>2];F=i*+n[j+(C<<2)>>2]+m*+n[o+(C<<2)>>2]+p*+n[q+(C<<2)>>2]+r*+n[s+(C<<2)>>2]+t*+n[u+(C<<2)>>2]+k*+n[l+(C<<2)>>2]+v*+n[w+(C<<2)>>2]+x*+n[y+(C<<2)>>2];G=HEa(i*+n[j+(z<<2)>>2]+m*+n[o+(z<<2)>>2]+p*+n[q+(z<<2)>>2]+r*+n[s+(z<<2)>>2]+t*+n[u+(z<<2)>>2]+k*+n[l+(z<<2)>>2]+v*+n[w+(z<<2)>>2]+x*+n[y+(z<<2)>>2])|0;d[c+(z<<1)>>1]=(G+32768|0)>>>0<65536?G:(G|0)>0?32767:32768;G=HEa(D)|0;d[c+(A<<1)>>1]=(G+32768|0)>>>0<65536?G:(G|0)>0?32767:32768;G=HEa(E)|0;d[c+(B<<1)>>1]=(G+32768|0)>>>0<65536?G:(G|0)>0?32767:32768;G=HEa(F)|0;d[c+(C<<1)>>1]=(G+32768|0)>>>0<65536?G:(G|0)>0?32767:32768;z=z+4|0}while((z|0)<=(a|0));h=g&-4}if((h|0)>=(g|0))return;a=f[b>>2]|0;x=+n[e>>2];z=f[b+4>>2]|0;v=+n[e+4>>2];y=f[b+8>>2]|0;k=+n[e+8>>2];w=f[b+12>>2]|0;t=+n[e+12>>2];l=f[b+16>>2]|0;r=+n[e+16>>2];u=f[b+20>>2]|0;p=+n[e+20>>2];s=f[b+24>>2]|0;m=+n[e+24>>2];q=f[b+28>>2]|0;i=+n[e+28>>2];e=h;do{h=HEa(+n[a+(e<<2)>>2]*x+ +n[z+(e<<2)>>2]*v+ +n[y+(e<<2)>>2]*k+ +n[w+(e<<2)>>2]*t+ +n[l+(e<<2)>>2]*r+ +n[u+(e<<2)>>2]*p+ +n[s+(e<<2)>>2]*m+ +n[q+(e<<2)>>2]*i)|0;d[c+(e<<1)>>1]=(h+32768|0)>>>0<65536?h:(h|0)>0?32767:32768;e=e+1|0}while((e|0)!=(g|0));return}function A3(a,c,d,e,g,h,i,j,k,l,m,n){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;o=u;u=u+16|0;p=o;f[a>>2]=45800;q=a+4|0;f[q>>2]=f[c>>2];r=a+8|0;s=c+4|0;f[r>>2]=f[s>>2];t=a+12|0;f[t>>2]=f[c+8>>2];f[a+16>>2]=f[c+12>>2];f[a+20>>2]=f[c+16>>2];f[a+24>>2]=f[c+20>>2];f[a+28>>2]=f[c+24>>2];f[a+32>>2]=f[c+28>>2];f[a+36>>2]=f[c+32>>2];v=f[c+36>>2]|0;f[a+40>>2]=v;f[a+44>>2]=t;t=a+52|0;w=a+48|0;f[w>>2]=t;f[t>>2]=0;f[a+56>>2]=0;if(v|0){t=v+12|0;f[t>>2]=(f[t>>2]|0)+1}if((f[s>>2]|0)<3){s=f[c+44>>2]|0;t=f[w>>2]|0;f[t>>2]=f[s>>2];f[t+4>>2]=f[s+4>>2]}else{f[r>>2]=0;WO(q,c)}c=a+60|0;f[c>>2]=f[d>>2];q=a+64|0;r=d+4|0;f[q>>2]=f[r>>2];s=a+68|0;f[s>>2]=f[d+8>>2];f[a+72>>2]=f[d+12>>2];f[a+76>>2]=f[d+16>>2];f[a+80>>2]=f[d+20>>2];f[a+84>>2]=f[d+24>>2];f[a+88>>2]=f[d+28>>2];f[a+92>>2]=f[d+32>>2];t=f[d+36>>2]|0;f[a+96>>2]=t;f[a+100>>2]=s;s=a+108|0;w=a+104|0;f[w>>2]=s;f[s>>2]=0;f[a+112>>2]=0;if(t|0){s=t+12|0;f[s>>2]=(f[s>>2]|0)+1}if((f[r>>2]|0)<3){r=f[d+44>>2]|0;s=f[w>>2]|0;f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2]}else{f[q>>2]=0;WO(c,d)}f[a+116>>2]=e;f[a+120>>2]=g;f[a+124>>2]=h;f[a+128>>2]=i;f[a+132>>2]=f[j>>2];f[a+136>>2]=f[j+4>>2];f[a+140>>2]=f[k>>2];f[a+144>>2]=f[k+4>>2];f[a+148>>2]=l;f[a+152>>2]=m;f[a+156>>2]=n;if((l|0)<17){u=o;return}f[p>>2]=0;f[p+4>>2]=0;l=JV(p,18)|0;n=196885;a=l+18|0;do{b[l>>0]=b[n>>0]|0;l=l+1|0;n=n+1|0}while((l|0)<(a|0));EP(-215,p,196904,196671,2211);KV(p);u=o;return}function B3(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=45800;b=a+60|0;c=a+96|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+76|0;b=a+64|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+100>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+104>>2]|0;if((b|0)!=(a+108|0))dX(b);b=a+4|0;d=a+40|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+20|0;b=a+8|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[a+44>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+48>>2]|0;if((b|0)==(a+52|0))return;dX(b);return}function C3(a){a=a|0;B3(a);GQa(a);return}function D3(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;c=u;u=u+1264|0;d=c+1257|0;e=c+1256|0;g=c+192|0;h=c+128|0;i=c+64|0;j=c;k=((f[a+4>>2]|0)>>>3&511)+1|0;l=a+140|0;m=(f[l>>2]|0)+15&-16;n=a+148|0;o=f[n>>2]|0;p=X(m,o)|0;q=g+8|0;f[g>>2]=q;r=g+4|0;f[r>>2]=p;if(p>>>0>264){s=FQa(p>>>0>1073741823?-1:p<<2)|0;f[g>>2]=s;t=s}else t=q;s=h;p=s+64|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(p|0));s=i;p=s+64|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(p|0));if((o|0)>0){FVa(j|0,-1,o<<2|0)|0;s=0;do{p=t+((X(s,m)|0)<<2)|0;f[i+(s<<2)>>2]=p;s=s+1|0}while((s|0)<(o|0))}s=f[b>>2]|0;p=b+4|0;if((s|0)<(f[p>>2]|0)){b=a+120|0;v=a+116|0;w=a+124|0;x=a+132|0;y=a+152|0;z=a+156|0;A=a+76|0;B=a+108|0;C=a+136|0;D=a+20|0;E=a+48|0;F=m<<2;m=(f[a+128>>2]|0)+((X(s,o)|0)<<2)|0;a=s;s=o;while(1){if((s|0)>0){o=(f[(f[b>>2]|0)+(a<<2)>>2]|0)+1+((s|0)/-2|0)|0;G=s;H=0;I=s;J=0;while(1){K=o+J|0;L=f[C>>2]|0;M=(K|0)>-1?((K|0)<(L|0)?K:L+-1|0):0;L=(H|0)<(J|0)?J:H;a:do if((L|0)<(I|0)){K=L;while(1){if((K|0)<16?(M|0)==(f[j+(K<<2)>>2]|0):0)break;N=K+1|0;if((N|0)<(I|0))K=N;else{O=I;P=N;break a}}if((K|0)>(J|0)){DVa(f[i+(J<<2)>>2]|0,f[i+(K<<2)>>2]|0,F|0)|0;O=f[n>>2]|0;P=K}else{O=I;P=K}}else{O=I;P=L}while(0);G=(J|0)<(G|0)&(P|0)==(O|0)?J:G;L=(f[D>>2]|0)+(X(f[f[E>>2]>>2]|0,M)|0)|0;f[h+(J<<2)>>2]=L;f[j+(J<<2)>>2]=M;J=J+1|0;if((J|0)>=(O|0))break;else{H=P;I=O}}if((O|0)>(G|0))E3(d,h+(G<<2)|0,i+(G<<2)|0,O-G|0,f[v>>2]|0,f[w>>2]|0,f[x>>2]|0,f[l>>2]|0,k,f[y>>2]|0,f[z>>2]|0)}I=(f[A>>2]|0)+(X(f[B>>2]|0,a)|0)|0;F3(e,i,I,m,f[l>>2]|0);a=a+1|0;I=f[n>>2]|0;if((a|0)>=(f[p>>2]|0))break;else{m=m+(I<<2)|0;s=I}}Q=f[g>>2]|0}else Q=t;if((Q|0)==(q|0)){u=c;return}if(Q|0)HQa(Q);f[g>>2]=q;f[r>>2]=264;u=c;return}function E3(a,b,c,d,e,g,h,i,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;k=k|0;l=l|0;m=m|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0,L=0,M=0.0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;if((d|0)<=0)return;a=k*3|0;o=k<<1;p=k<<2;q=0-(i<<3)|0;r=X(k,-3)|0;s=X(k,-2)|0;t=k<<1;u=k<<2;v=0;w=g;while(1){g=f[b+(v<<2)>>2]|0;x=f[c+(v<<2)>>2]|0;y=l;z=0;A=w;a:while(1){if((y|0)>(z|0)){B=y-z<<3;C=z;D=A;while(1){E=f[e+(C<<2)>>2]|0;F=r+E|0;if(F>>>0>>0)G=F;else{H=F;while(1)if((H|0)<0)H=H+k|0;else{I=H;break}while(1)if((I|0)<(h|0)){G=I;break}else I=I-k|0}J=+n[D>>2]*+(j[g+(G<<1)>>1]|0)+0.0;H=s+E|0;if(H>>>0>>0)K=H;else{F=H;while(1)if((F|0)<0)F=F+k|0;else{L=F;break}while(1)if((L|0)<(h|0)){K=L;break}else L=L-k|0}M=J+ +n[D+4>>2]*+(j[g+(K<<1)>>1]|0);F=E-k|0;if(F>>>0>>0)N=F;else{H=F;while(1)if((H|0)<0)H=H+k|0;else{O=H;break}while(1)if((O|0)<(h|0)){N=O;break}else O=O-k|0}J=M+ +n[D+8>>2]*+(j[g+(N<<1)>>1]|0);if(E>>>0>>0)P=E;else{H=E;while(1)if((H|0)<0)H=H+k|0;else{Q=H;break}while(1)if((Q|0)<(h|0)){P=Q;break}else Q=Q-k|0}M=J+ +n[D+12>>2]*+(j[g+(P<<1)>>1]|0);H=E+k|0;if(H>>>0>>0)R=H;else{F=H;while(1)if((F|0)<0)F=F+k|0;else{S=F;break}while(1)if((S|0)<(h|0)){R=S;break}else S=S-k|0}J=M+ +n[D+16>>2]*+(j[g+(R<<1)>>1]|0);F=t+E|0;if(F>>>0>>0)T=F;else{H=F;while(1)if((H|0)<0)H=H+k|0;else{U=H;break}while(1)if((U|0)<(h|0)){T=U;break}else U=U-k|0}M=J+ +n[D+20>>2]*+(j[g+(T<<1)>>1]|0);H=a+E|0;if(H>>>0>>0)V=H;else{F=H;while(1)if((F|0)<0)F=F+k|0;else{W=F;break}while(1)if((W|0)<(h|0)){V=W;break}else W=W-k|0}J=M+ +n[D+24>>2]*+(j[g+(V<<1)>>1]|0);F=u+E|0;if(F>>>0>>0)Y=F;else{H=F;while(1)if((H|0)<0)H=H+k|0;else{Z=H;break}while(1)if((Z|0)<(h|0)){Y=Z;break}else Z=Z-k|0}n[x+(C<<2)>>2]=J+ +n[D+28>>2]*+(j[g+(Y<<1)>>1]|0);C=C+1|0;if((C|0)==(y|0))break;else D=D+32|0}_=y;$=A+(B<<2)|0}else{_=z;$=A}if((y|0)==(i|0))break;if((_|0)<(m|0)){aa=_;ba=$}else{y=i;z=_;A=$;continue}while(1){D=f[e+(aa<<2)>>2]|0;n[x+(aa<<2)>>2]=+n[ba>>2]*+(j[g+(D-a<<1)>>1]|0)+ +n[ba+4>>2]*+(j[g+(D-o<<1)>>1]|0)+ +n[ba+8>>2]*+(j[g+(D-k<<1)>>1]|0)+ +n[ba+12>>2]*+(j[g+(D<<1)>>1]|0)+ +n[ba+16>>2]*+(j[g+(D+k<<1)>>1]|0)+ +n[ba+20>>2]*+(j[g+(D+o<<1)>>1]|0)+ +n[ba+24>>2]*+(j[g+(D+a<<1)>>1]|0)+ +n[ba+28>>2]*+(j[g+(D+p<<1)>>1]|0);D=aa+1|0;C=ba+32|0;if((D|0)<(m|0)){aa=D;ba=C}else{y=i;z=m;A=C;continue a}}}v=v+1|0;if((v|0)==(d|0))break;else w=$+(q<<2)|0}return}function F3(a,b,c,e,g){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;var h=0,i=0.0,j=0,k=0.0,l=0,m=0.0,o=0,p=0.0,q=0,r=0.0,s=0,t=0.0,u=0,v=0.0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0,G=0;a=g+-4|0;if((g|0)<4)h=0;else{i=+n[e>>2];j=f[b>>2]|0;k=+n[e+20>>2];l=f[b+20>>2]|0;m=+n[e+4>>2];o=f[b+4>>2]|0;p=+n[e+8>>2];q=f[b+8>>2]|0;r=+n[e+12>>2];s=f[b+12>>2]|0;t=+n[e+16>>2];u=f[b+16>>2]|0;v=+n[e+24>>2];w=f[b+24>>2]|0;x=+n[e+28>>2];y=f[b+28>>2]|0;z=0;do{A=z|1;B=z|2;C=z|3;D=i*+n[j+(A<<2)>>2]+m*+n[o+(A<<2)>>2]+p*+n[q+(A<<2)>>2]+r*+n[s+(A<<2)>>2]+t*+n[u+(A<<2)>>2]+k*+n[l+(A<<2)>>2]+v*+n[w+(A<<2)>>2]+x*+n[y+(A<<2)>>2];E=i*+n[j+(B<<2)>>2]+m*+n[o+(B<<2)>>2]+p*+n[q+(B<<2)>>2]+r*+n[s+(B<<2)>>2]+t*+n[u+(B<<2)>>2]+k*+n[l+(B<<2)>>2]+v*+n[w+(B<<2)>>2]+x*+n[y+(B<<2)>>2];F=i*+n[j+(C<<2)>>2]+m*+n[o+(C<<2)>>2]+p*+n[q+(C<<2)>>2]+r*+n[s+(C<<2)>>2]+t*+n[u+(C<<2)>>2]+k*+n[l+(C<<2)>>2]+v*+n[w+(C<<2)>>2]+x*+n[y+(C<<2)>>2];G=HEa(i*+n[j+(z<<2)>>2]+m*+n[o+(z<<2)>>2]+p*+n[q+(z<<2)>>2]+r*+n[s+(z<<2)>>2]+t*+n[u+(z<<2)>>2]+k*+n[l+(z<<2)>>2]+v*+n[w+(z<<2)>>2]+x*+n[y+(z<<2)>>2])|0;d[c+(z<<1)>>1]=G>>>0<65536?G:(G|0)>0?65535:0;G=HEa(D)|0;d[c+(A<<1)>>1]=G>>>0<65536?G:(G|0)>0?65535:0;G=HEa(E)|0;d[c+(B<<1)>>1]=G>>>0<65536?G:(G|0)>0?65535:0;G=HEa(F)|0;d[c+(C<<1)>>1]=G>>>0<65536?G:(G|0)>0?65535:0;z=z+4|0}while((z|0)<=(a|0));h=g&-4}if((h|0)>=(g|0))return;a=f[b>>2]|0;x=+n[e>>2];z=f[b+4>>2]|0;v=+n[e+4>>2];y=f[b+8>>2]|0;k=+n[e+8>>2];w=f[b+12>>2]|0;t=+n[e+12>>2];l=f[b+16>>2]|0;r=+n[e+16>>2];u=f[b+20>>2]|0;p=+n[e+20>>2];s=f[b+24>>2]|0;m=+n[e+24>>2];q=f[b+28>>2]|0;i=+n[e+28>>2];e=h;do{h=HEa(+n[a+(e<<2)>>2]*x+ +n[z+(e<<2)>>2]*v+ +n[y+(e<<2)>>2]*k+ +n[w+(e<<2)>>2]*t+ +n[l+(e<<2)>>2]*r+ +n[u+(e<<2)>>2]*p+ +n[s+(e<<2)>>2]*m+ +n[q+(e<<2)>>2]*i)|0;d[c+(e<<1)>>1]=h>>>0<65536?h:(h|0)>0?65535:0;e=e+1|0}while((e|0)!=(g|0));return}function G3(a,c,d,e,g,h,i,j,k,l,m,n){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;o=u;u=u+16|0;p=o;f[a>>2]=45820;q=a+4|0;f[q>>2]=f[c>>2];r=a+8|0;s=c+4|0;f[r>>2]=f[s>>2];t=a+12|0;f[t>>2]=f[c+8>>2];f[a+16>>2]=f[c+12>>2];f[a+20>>2]=f[c+16>>2];f[a+24>>2]=f[c+20>>2];f[a+28>>2]=f[c+24>>2];f[a+32>>2]=f[c+28>>2];f[a+36>>2]=f[c+32>>2];v=f[c+36>>2]|0;f[a+40>>2]=v;f[a+44>>2]=t;t=a+52|0;w=a+48|0;f[w>>2]=t;f[t>>2]=0;f[a+56>>2]=0;if(v|0){t=v+12|0;f[t>>2]=(f[t>>2]|0)+1}if((f[s>>2]|0)<3){s=f[c+44>>2]|0;t=f[w>>2]|0;f[t>>2]=f[s>>2];f[t+4>>2]=f[s+4>>2]}else{f[r>>2]=0;WO(q,c)}c=a+60|0;f[c>>2]=f[d>>2];q=a+64|0;r=d+4|0;f[q>>2]=f[r>>2];s=a+68|0;f[s>>2]=f[d+8>>2];f[a+72>>2]=f[d+12>>2];f[a+76>>2]=f[d+16>>2];f[a+80>>2]=f[d+20>>2];f[a+84>>2]=f[d+24>>2];f[a+88>>2]=f[d+28>>2];f[a+92>>2]=f[d+32>>2];t=f[d+36>>2]|0;f[a+96>>2]=t;f[a+100>>2]=s;s=a+108|0;w=a+104|0;f[w>>2]=s;f[s>>2]=0;f[a+112>>2]=0;if(t|0){s=t+12|0;f[s>>2]=(f[s>>2]|0)+1}if((f[r>>2]|0)<3){r=f[d+44>>2]|0;s=f[w>>2]|0;f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2]}else{f[q>>2]=0;WO(c,d)}f[a+116>>2]=e;f[a+120>>2]=g;f[a+124>>2]=h;f[a+128>>2]=i;f[a+132>>2]=f[j>>2];f[a+136>>2]=f[j+4>>2];f[a+140>>2]=f[k>>2];f[a+144>>2]=f[k+4>>2];f[a+148>>2]=l;f[a+152>>2]=m;f[a+156>>2]=n;if((l|0)<17){u=o;return}f[p>>2]=0;f[p+4>>2]=0;l=JV(p,18)|0;n=196885;a=l+18|0;do{b[l>>0]=b[n>>0]|0;l=l+1|0;n=n+1|0}while((l|0)<(a|0));EP(-215,p,196904,196671,2211);KV(p);u=o;return}function H3(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=45820;b=a+60|0;c=a+96|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+76|0;b=a+64|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+100>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+104>>2]|0;if((b|0)!=(a+108|0))dX(b);b=a+4|0;d=a+40|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+20|0;b=a+8|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[a+44>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+48>>2]|0;if((b|0)==(a+52|0))return;dX(b);return}function I3(a){a=a|0;H3(a);GQa(a);return}function J3(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;c=u;u=u+1264|0;d=c+1257|0;e=c+1256|0;g=c+192|0;h=c+128|0;i=c+64|0;j=c;k=((f[a+4>>2]|0)>>>3&511)+1|0;l=a+140|0;m=(f[l>>2]|0)+15&-16;n=a+148|0;o=f[n>>2]|0;p=X(m,o)|0;q=g+8|0;f[g>>2]=q;r=g+4|0;f[r>>2]=p;if(p>>>0>264){s=FQa(p>>>0>1073741823?-1:p<<2)|0;f[g>>2]=s;t=s}else t=q;s=h;p=s+64|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(p|0));s=i;p=s+64|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(p|0));if((o|0)>0){FVa(j|0,-1,o<<2|0)|0;s=0;do{p=t+((X(s,m)|0)<<2)|0;f[i+(s<<2)>>2]=p;s=s+1|0}while((s|0)<(o|0))}s=f[b>>2]|0;p=b+4|0;if((s|0)<(f[p>>2]|0)){b=a+120|0;v=a+116|0;w=a+124|0;x=a+132|0;y=a+152|0;z=a+156|0;A=a+76|0;B=a+108|0;C=a+136|0;D=a+20|0;E=a+48|0;F=m<<2;m=(f[a+128>>2]|0)+((X(s,o)|0)<<1)|0;a=s;s=o;while(1){if((s|0)>0){o=(f[(f[b>>2]|0)+(a<<2)>>2]|0)+1+((s|0)/-2|0)|0;G=s;H=0;I=s;J=0;while(1){K=o+J|0;L=f[C>>2]|0;M=(K|0)>-1?((K|0)<(L|0)?K:L+-1|0):0;L=(H|0)<(J|0)?J:H;a:do if((L|0)<(I|0)){K=L;while(1){if((K|0)<16?(M|0)==(f[j+(K<<2)>>2]|0):0)break;N=K+1|0;if((N|0)<(I|0))K=N;else{O=I;P=N;break a}}if((K|0)>(J|0)){DVa(f[i+(J<<2)>>2]|0,f[i+(K<<2)>>2]|0,F|0)|0;O=f[n>>2]|0;P=K}else{O=I;P=K}}else{O=I;P=L}while(0);G=(J|0)<(G|0)&(P|0)==(O|0)?J:G;L=(f[D>>2]|0)+(X(f[f[E>>2]>>2]|0,M)|0)|0;f[h+(J<<2)>>2]=L;f[j+(J<<2)>>2]=M;J=J+1|0;if((J|0)>=(O|0))break;else{H=P;I=O}}if((O|0)>(G|0))K3(d,h+(G<<2)|0,i+(G<<2)|0,O-G|0,f[v>>2]|0,f[w>>2]|0,f[x>>2]|0,f[l>>2]|0,k,f[y>>2]|0,f[z>>2]|0)}I=(f[A>>2]|0)+(X(f[B>>2]|0,a)|0)|0;L3(e,i,I,m,f[l>>2]|0);a=a+1|0;I=f[n>>2]|0;if((a|0)>=(f[p>>2]|0))break;else{m=m+(I<<1)|0;s=I}}Q=f[g>>2]|0}else Q=t;if((Q|0)==(q|0)){u=c;return}if(Q|0)HQa(Q);f[g>>2]=q;f[r>>2]=264;u=c;return} +function Iha(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0;d=f[c>>2]|0;e=((d|0)%2|0)+d|0;d=c+4|0;c=f[d>>2]|0;g=a+16|0;h=f[g>>2]|0;f[h+(e<<2)>>2]=((c|0)%2|0)+c;c=e+1|0;i=a+8|0;j=(X(((f[(f[i>>2]|0)+12>>2]|0)+1|0)/2|0,(c|0)/2|0)|0)+1|0;k=a+4|0;l=f[k>>2]|0;m=f[l+8>>2]|0;n=f[l+12>>2]|0;if((e|0)>=(f[d>>2]|0)){o=j;p=h;q=o-j|0;r=p+(c<<2)|0;f[r>>2]=q;return}h=(n|0)>0;l=a+12|0;a=e;s=j;while(1){t=f[k>>2]|0;u=f[f[t+44>>2]>>2]|0;v=(f[t+16>>2]|0)+(X(u,a)|0)|0;t=0-u|0;w=v+t|0;x=w+t|0;t=v+u|0;u=f[i>>2]|0;y=f[f[u+44>>2]>>2]|0;z=(f[u+16>>2]|0)+(X(y,a)|0)|0;u=0-y|0;y=z+u+u|0;if(h){u=(a+1|0)<(m|0);A=(a|0)>(e|0);B=(a|0)>(c|0);C=0;D=s;while(1){a:do if(!(b[v+C>>0]|0)){if(u?b[t+C>>0]|0:0){E=C|1;if((E|0)<(n|0)?b[v+E>>0]|0:0){F=C+-1|0;if((C|0)>0){if(b[v+F>>0]|0){do if(A){if(b[w+E>>0]|0){if(b[w+C>>0]|0){f[z+(C<<2)>>2]=f[z+(C+-2<<2)>>2];G=D;break a}do if(B){if(!(b[x+C>>0]|0))break;H=C+-2|0;if(b[w+F>>0]|0){f[z+(C<<2)>>2]=f[z+(H<<2)>>2];G=D;break a}do if((C|0)>1){if(!(b[w+H>>0]|0))break;if(b[x+F>>0]|0){f[z+(C<<2)>>2]=f[z+(H<<2)>>2];G=D;break a}I=f[l>>2]|0;J=f[y+(C<<2)>>2]|0;K=f[z+(H<<2)>>2]|0;L=J;while(1){M=f[I+(L<<2)>>2]|0;if((M|0)<(L|0))L=M;else break}if((J|0)==(K|0))N=L;else{M=K;while(1){O=f[I+(M<<2)>>2]|0;if((O|0)<(M|0))M=O;else break}O=(L|0)>(M|0)?M:L;P=K;do{Q=I+(P<<2)|0;R=P;P=f[Q>>2]|0;f[Q>>2]=O}while((P|0)<(R|0));N=O}O=J;do{P=I+(O<<2)|0;K=O;O=f[P>>2]|0;f[P>>2]=N}while((O|0)<(K|0));f[z+(C<<2)>>2]=N;G=D;break a}while(0);O=f[l>>2]|0;I=f[y+(C<<2)>>2]|0;J=f[z+(H<<2)>>2]|0;K=I;while(1){P=f[O+(K<<2)>>2]|0;if((P|0)<(K|0))K=P;else break}if((I|0)==(J|0))S=K;else{H=J;while(1){P=f[O+(H<<2)>>2]|0;if((P|0)<(H|0))H=P;else break}P=(K|0)>(H|0)?H:K;L=J;do{M=O+(L<<2)|0;R=L;L=f[M>>2]|0;f[M>>2]=P}while((L|0)<(R|0));S=P}P=I;do{L=O+(P<<2)|0;J=P;P=f[L>>2]|0;f[L>>2]=S}while((P|0)<(J|0));f[z+(C<<2)>>2]=S;G=D;break a}while(0);P=f[l>>2]|0;O=f[y+(C<<2)>>2]|0;I=f[z+(C+-2<<2)>>2]|0;J=O;while(1){L=f[P+(J<<2)>>2]|0;if((L|0)<(J|0))J=L;else break}if((O|0)==(I|0))T=J;else{L=I;while(1){K=f[P+(L<<2)>>2]|0;if((K|0)<(L|0))L=K;else break}K=(J|0)>(L|0)?L:J;H=I;do{R=P+(H<<2)|0;M=H;H=f[R>>2]|0;f[R>>2]=K}while((H|0)<(M|0));T=K}K=O;do{H=P+(K<<2)|0;I=K;K=f[H>>2]|0;f[H>>2]=T}while((K|0)<(I|0));f[z+(C<<2)>>2]=T;G=D;break a}K=C+2|0;if((K|0)>=(n|0))break;if(!(b[w+K>>0]|0))break;do if(B){if(!(b[x+E>>0]|0))break;if(b[w+C>>0]|0){f[z+(C<<2)>>2]=f[z+(C+-2<<2)>>2];G=D;break a}if(!(b[x+C>>0]|0)){P=f[l>>2]|0;O=f[y+(K<<2)>>2]|0;I=f[z+(C+-2<<2)>>2]|0;H=O;while(1){J=f[P+(H<<2)>>2]|0;if((J|0)<(H|0))H=J;else break}if((O|0)==(I|0))U=H;else{J=I;while(1){L=f[P+(J<<2)>>2]|0;if((L|0)<(J|0))J=L;else break}L=(H|0)>(J|0)?J:H;M=I;do{R=P+(M<<2)|0;Q=M;M=f[R>>2]|0;f[R>>2]=L}while((M|0)<(Q|0));U=L}L=O;do{M=P+(L<<2)|0;I=L;L=f[M>>2]|0;f[M>>2]=U}while((L|0)<(I|0));f[z+(C<<2)>>2]=U;G=D;break a}L=C+-2|0;if(b[w+F>>0]|0){f[z+(C<<2)>>2]=f[z+(L<<2)>>2];G=D;break a}do if((C|0)>1){if(!(b[w+L>>0]|0))break;if(b[x+F>>0]|0){f[z+(C<<2)>>2]=f[z+(L<<2)>>2];G=D;break a}P=f[l>>2]|0;O=f[y+(K<<2)>>2]|0;I=f[z+(L<<2)>>2]|0;M=O;while(1){H=f[P+(M<<2)>>2]|0;if((H|0)<(M|0))M=H;else break}if((O|0)==(I|0))V=M;else{H=I;while(1){J=f[P+(H<<2)>>2]|0;if((J|0)<(H|0))H=J;else break}J=(M|0)>(H|0)?H:M;Q=I;do{R=P+(Q<<2)|0;W=Q;Q=f[R>>2]|0;f[R>>2]=J}while((Q|0)<(W|0));V=J}J=O;do{Q=P+(J<<2)|0;I=J;J=f[Q>>2]|0;f[Q>>2]=V}while((J|0)<(I|0));f[z+(C<<2)>>2]=V;G=D;break a}while(0);J=f[l>>2]|0;P=f[y+(K<<2)>>2]|0;O=f[z+(L<<2)>>2]|0;I=P;while(1){Q=f[J+(I<<2)>>2]|0;if((Q|0)<(I|0))I=Q;else break}if((P|0)==(O|0))Y=I;else{L=O;while(1){Q=f[J+(L<<2)>>2]|0;if((Q|0)<(L|0))L=Q;else break}Q=(I|0)>(L|0)?L:I;M=O;do{H=J+(M<<2)|0;W=M;M=f[H>>2]|0;f[H>>2]=Q}while((M|0)<(W|0));Y=Q}Q=P;do{M=J+(Q<<2)|0;O=Q;Q=f[M>>2]|0;f[M>>2]=Y}while((Q|0)<(O|0));f[z+(C<<2)>>2]=Y;G=D;break a}while(0);Q=f[l>>2]|0;J=f[y+(K<<2)>>2]|0;P=f[z+(C+-2<<2)>>2]|0;O=J;while(1){M=f[Q+(O<<2)>>2]|0;if((M|0)<(O|0))O=M;else break}if((J|0)==(P|0))Z=O;else{K=P;while(1){M=f[Q+(K<<2)>>2]|0;if((M|0)<(K|0))K=M;else break}M=(O|0)>(K|0)?K:O;I=P;do{L=Q+(I<<2)|0;W=I;I=f[L>>2]|0;f[L>>2]=M}while((I|0)<(W|0));Z=M}M=J;do{I=Q+(M<<2)|0;P=M;M=f[I>>2]|0;f[I>>2]=Z}while((M|0)<(P|0));f[z+(C<<2)>>2]=Z;G=D;break a}while(0);f[z+(C<<2)>>2]=f[z+(C+-2<<2)>>2];G=D;break}if(b[t+F>>0]|0){do if(A){if(b[w+E>>0]|0){M=C+-2|0;do if((C|0)>1){if(!(b[v+M>>0]|0))break;if(b[w+F>>0]|0){if(b[w+C>>0]|0){f[z+(C<<2)>>2]=f[z+(M<<2)>>2];G=D;break a}do if(B){if(!(b[x+C>>0]|0))break;f[z+(C<<2)>>2]=f[z+(M<<2)>>2];G=D;break a}while(0);Q=f[l>>2]|0;J=f[y+(C<<2)>>2]|0;P=f[z+(M<<2)>>2]|0;I=J;while(1){O=f[Q+(I<<2)>>2]|0;if((O|0)<(I|0))I=O;else break}if((J|0)==(P|0))_=I;else{O=P;while(1){K=f[Q+(O<<2)>>2]|0;if((K|0)<(O|0))O=K;else break}K=(I|0)>(O|0)?O:I;W=P;do{L=Q+(W<<2)|0;H=W;W=f[L>>2]|0;f[L>>2]=K}while((W|0)<(H|0));_=K}K=J;do{W=Q+(K<<2)|0;P=K;K=f[W>>2]|0;f[W>>2]=_}while((K|0)<(P|0));f[z+(C<<2)>>2]=_;G=D;break a}if(!(b[w+M>>0]|0)){K=f[l>>2]|0;Q=f[y+(C<<2)>>2]|0;J=f[z+(M<<2)>>2]|0;P=Q;while(1){W=f[K+(P<<2)>>2]|0;if((W|0)<(P|0))P=W;else break}if((Q|0)==(J|0))$=P;else{W=J;while(1){I=f[K+(W<<2)>>2]|0;if((I|0)<(W|0))W=I;else break}I=(P|0)>(W|0)?W:P;O=J;do{H=K+(O<<2)|0;L=O;O=f[H>>2]|0;f[H>>2]=I}while((O|0)<(L|0));$=I}I=Q;do{O=K+(I<<2)|0;J=I;I=f[O>>2]|0;f[O>>2]=$}while((I|0)<(J|0));f[z+(C<<2)>>2]=$;G=D;break a}do if(B){if(!(b[x+F>>0]|0))break;if(b[w+C>>0]|0){f[z+(C<<2)>>2]=f[z+(M<<2)>>2];G=D;break a}if(b[x+C>>0]|0){f[z+(C<<2)>>2]=f[z+(M<<2)>>2];G=D;break a}I=f[l>>2]|0;K=f[y+(C<<2)>>2]|0;Q=f[z+(M<<2)>>2]|0;J=K;while(1){O=f[I+(J<<2)>>2]|0;if((O|0)<(J|0))J=O;else break}if((K|0)==(Q|0))aa=J;else{O=Q;while(1){P=f[I+(O<<2)>>2]|0;if((P|0)<(O|0))O=P;else break}P=(J|0)>(O|0)?O:J;W=Q;do{L=I+(W<<2)|0;H=W;W=f[L>>2]|0;f[L>>2]=P}while((W|0)<(H|0));aa=P}P=K;do{W=I+(P<<2)|0;Q=P;P=f[W>>2]|0;f[W>>2]=aa}while((P|0)<(Q|0));f[z+(C<<2)>>2]=aa;G=D;break a}while(0);P=f[l>>2]|0;I=f[y+(C<<2)>>2]|0;K=f[z+(M<<2)>>2]|0;Q=I;while(1){W=f[P+(Q<<2)>>2]|0;if((W|0)<(Q|0))Q=W;else break}if((I|0)==(K|0))ba=Q;else{W=K;while(1){J=f[P+(W<<2)>>2]|0;if((J|0)<(W|0))W=J;else break}J=(Q|0)>(W|0)?W:Q;O=K;do{H=P+(O<<2)|0;L=O;O=f[H>>2]|0;f[H>>2]=J}while((O|0)<(L|0));ba=J}J=I;do{O=P+(J<<2)|0;K=J;J=f[O>>2]|0;f[O>>2]=ba}while((J|0)<(K|0));f[z+(C<<2)>>2]=ba;G=D;break a}while(0);J=f[l>>2]|0;P=f[y+(C<<2)>>2]|0;I=f[z+(M<<2)>>2]|0;K=P;while(1){O=f[J+(K<<2)>>2]|0;if((O|0)<(K|0))K=O;else break}if((P|0)==(I|0))ca=K;else{M=I;while(1){O=f[J+(M<<2)>>2]|0;if((O|0)<(M|0))M=O;else break}O=(K|0)>(M|0)?M:K;Q=I;do{W=J+(Q<<2)|0;L=Q;Q=f[W>>2]|0;f[W>>2]=O}while((Q|0)<(L|0));ca=O}O=P;do{Q=J+(O<<2)|0;I=O;O=f[Q>>2]|0;f[Q>>2]=ca}while((O|0)<(I|0));f[z+(C<<2)>>2]=ca;G=D;break a}O=C+2|0;do if((O|0)<(n|0)){if(!(b[w+O>>0]|0))break;do if(B){if(!(b[x+E>>0]|0))break;J=C+-2|0;do if((C|0)>1){if(!(b[v+J>>0]|0))break;if(b[w+F>>0]|0){if(b[w+C>>0]|0){f[z+(C<<2)>>2]=f[z+(J<<2)>>2];G=D;break a}if(b[x+C>>0]|0){f[z+(C<<2)>>2]=f[z+(J<<2)>>2];G=D;break a}P=f[l>>2]|0;I=f[y+(O<<2)>>2]|0;Q=f[z+(J<<2)>>2]|0;K=I;while(1){M=f[P+(K<<2)>>2]|0;if((M|0)<(K|0))K=M;else break}if((I|0)==(Q|0))da=K;else{M=Q;while(1){L=f[P+(M<<2)>>2]|0;if((L|0)<(M|0))M=L;else break}L=(K|0)>(M|0)?M:K;W=Q;do{H=P+(W<<2)|0;R=W;W=f[H>>2]|0;f[H>>2]=L}while((W|0)<(R|0));da=L}L=I;do{W=P+(L<<2)|0;Q=L;L=f[W>>2]|0;f[W>>2]=da}while((L|0)<(Q|0));f[z+(C<<2)>>2]=da;G=D;break a}if(!(b[w+J>>0]|0)){L=f[l>>2]|0;P=f[y+(O<<2)>>2]|0;I=f[z+(J<<2)>>2]|0;Q=P;while(1){W=f[L+(Q<<2)>>2]|0;if((W|0)<(Q|0))Q=W;else break}if((P|0)==(I|0))ea=Q;else{W=I;while(1){K=f[L+(W<<2)>>2]|0;if((K|0)<(W|0))W=K;else break}K=(Q|0)>(W|0)?W:Q;M=I;do{R=L+(M<<2)|0;H=M;M=f[R>>2]|0;f[R>>2]=K}while((M|0)<(H|0));ea=K}K=P;do{M=L+(K<<2)|0;I=K;K=f[M>>2]|0;f[M>>2]=ea}while((K|0)<(I|0));f[z+(C<<2)>>2]=ea;G=D;break a}if(!(b[x+F>>0]|0)){K=f[l>>2]|0;L=f[y+(O<<2)>>2]|0;P=f[z+(J<<2)>>2]|0;I=L;while(1){M=f[K+(I<<2)>>2]|0;if((M|0)<(I|0))I=M;else break}if((L|0)==(P|0))fa=I;else{M=P;while(1){Q=f[K+(M<<2)>>2]|0;if((Q|0)<(M|0))M=Q;else break}Q=(I|0)>(M|0)?M:I;W=P;do{H=K+(W<<2)|0;R=W;W=f[H>>2]|0;f[H>>2]=Q}while((W|0)<(R|0));fa=Q}Q=L;do{W=K+(Q<<2)|0;P=Q;Q=f[W>>2]|0;f[W>>2]=fa}while((Q|0)<(P|0));f[z+(C<<2)>>2]=fa;G=D;break a}if(b[w+C>>0]|0){f[z+(C<<2)>>2]=f[z+(J<<2)>>2];G=D;break a}if(b[x+C>>0]|0){f[z+(C<<2)>>2]=f[z+(J<<2)>>2];G=D;break a}Q=f[l>>2]|0;K=f[y+(O<<2)>>2]|0;L=f[z+(J<<2)>>2]|0;P=K;while(1){W=f[Q+(P<<2)>>2]|0;if((W|0)<(P|0))P=W;else break}if((K|0)==(L|0))ga=P;else{W=L;while(1){I=f[Q+(W<<2)>>2]|0;if((I|0)<(W|0))W=I;else break}I=(P|0)>(W|0)?W:P;M=L;do{R=Q+(M<<2)|0;H=M;M=f[R>>2]|0;f[R>>2]=I}while((M|0)<(H|0));ga=I}I=K;do{M=Q+(I<<2)|0;L=I;I=f[M>>2]|0;f[M>>2]=ga}while((I|0)<(L|0));f[z+(C<<2)>>2]=ga;G=D;break a}while(0);I=f[l>>2]|0;Q=f[y+(O<<2)>>2]|0;K=f[z+(J<<2)>>2]|0;L=Q;while(1){M=f[I+(L<<2)>>2]|0;if((M|0)<(L|0))L=M;else break}if((Q|0)==(K|0))ha=L;else{J=K;while(1){M=f[I+(J<<2)>>2]|0;if((M|0)<(J|0))J=M;else break}M=(L|0)>(J|0)?J:L;P=K;do{W=I+(P<<2)|0;H=P;P=f[W>>2]|0;f[W>>2]=M}while((P|0)<(H|0));ha=M}M=Q;do{P=I+(M<<2)|0;K=M;M=f[P>>2]|0;f[P>>2]=ha}while((M|0)<(K|0));f[z+(C<<2)>>2]=ha;G=D;break a}while(0);if(!(b[w+C>>0]|0)){M=f[l>>2]|0;I=f[y+(O<<2)>>2]|0;Q=f[z+(C+-2<<2)>>2]|0;K=I;while(1){P=f[M+(K<<2)>>2]|0;if((P|0)<(K|0))K=P;else break}if((I|0)==(Q|0))ia=K;else{P=Q;while(1){L=f[M+(P<<2)>>2]|0;if((L|0)<(P|0))P=L;else break}L=(K|0)>(P|0)?P:K;J=Q;do{H=M+(J<<2)|0;W=J;J=f[H>>2]|0;f[H>>2]=L}while((J|0)<(W|0));ia=L}L=I;do{J=M+(L<<2)|0;Q=L;L=f[J>>2]|0;f[J>>2]=ia}while((L|0)<(Q|0));f[z+(C<<2)>>2]=ia;G=D;break a}L=C+-2|0;do if((C|0)>1){if(!(b[v+L>>0]|0))break;if(b[w+F>>0]|0){M=f[l>>2]|0;I=f[y+(O<<2)>>2]|0;Q=f[z+(L<<2)>>2]|0;J=I;while(1){K=f[M+(J<<2)>>2]|0;if((K|0)<(J|0))J=K;else break}if((I|0)==(Q|0))ja=J;else{K=Q;while(1){P=f[M+(K<<2)>>2]|0;if((P|0)<(K|0))K=P;else break}P=(J|0)>(K|0)?K:J;W=Q;do{H=M+(W<<2)|0;R=W;W=f[H>>2]|0;f[H>>2]=P}while((W|0)<(R|0));ja=P}P=I;do{W=M+(P<<2)|0;Q=P;P=f[W>>2]|0;f[W>>2]=ja}while((P|0)<(Q|0));f[z+(C<<2)>>2]=ja;G=D;break a}if(!(b[w+L>>0]|0)){P=f[l>>2]|0;M=f[y+(C<<2)>>2]|0;I=f[y+(O<<2)>>2]|0;Q=M;while(1){W=f[P+(Q<<2)>>2]|0;if((W|0)<(Q|0))Q=W;else break}if((M|0)==(I|0))ka=Q;else{W=I;while(1){J=f[P+(W<<2)>>2]|0;if((J|0)<(W|0))W=J;else break}J=(Q|0)>(W|0)?W:Q;K=I;do{R=P+(K<<2)|0;H=K;K=f[R>>2]|0;f[R>>2]=J}while((K|0)<(H|0));ka=J}J=M;do{K=P+(J<<2)|0;I=J;J=f[K>>2]|0;f[K>>2]=ka}while((J|0)<(I|0));J=f[z+(L<<2)>>2]|0;M=ka;while(1){I=f[P+(M<<2)>>2]|0;if((I|0)<(M|0))M=I;else break}if((ka|0)==(J|0))la=M;else{I=J;while(1){K=f[P+(I<<2)>>2]|0;if((K|0)<(I|0))I=K;else break}K=(M|0)>(I|0)?I:M;Q=J;do{W=P+(Q<<2)|0;H=Q;Q=f[W>>2]|0;f[W>>2]=K}while((Q|0)<(H|0));la=K}K=ka;do{Q=P+(K<<2)|0;J=K;K=f[Q>>2]|0;f[Q>>2]=la}while((K|0)<(J|0));f[z+(C<<2)>>2]=la;G=D;break a}do if(B){if(!(b[x+F>>0]|0))break;K=f[l>>2]|0;P=f[y+(O<<2)>>2]|0;J=f[z+(L<<2)>>2]|0;Q=P;while(1){M=f[K+(Q<<2)>>2]|0;if((M|0)<(Q|0))Q=M;else break}if((P|0)==(J|0))ma=Q;else{M=J;while(1){I=f[K+(M<<2)>>2]|0;if((I|0)<(M|0))M=I;else break}I=(Q|0)>(M|0)?M:Q;H=J;do{W=K+(H<<2)|0;R=H;H=f[W>>2]|0;f[W>>2]=I}while((H|0)<(R|0));ma=I}I=P;do{H=K+(I<<2)|0;J=I;I=f[H>>2]|0;f[H>>2]=ma}while((I|0)<(J|0));f[z+(C<<2)>>2]=ma;G=D;break a}while(0);I=f[l>>2]|0;K=f[y+(C<<2)>>2]|0;P=f[y+(O<<2)>>2]|0;J=K;while(1){H=f[I+(J<<2)>>2]|0;if((H|0)<(J|0))J=H;else break}if((K|0)==(P|0))na=J;else{H=P;while(1){Q=f[I+(H<<2)>>2]|0;if((Q|0)<(H|0))H=Q;else break}Q=(J|0)>(H|0)?H:J;M=P;do{R=I+(M<<2)|0;W=M;M=f[R>>2]|0;f[R>>2]=Q}while((M|0)<(W|0));na=Q}Q=K;do{M=I+(Q<<2)|0;P=Q;Q=f[M>>2]|0;f[M>>2]=na}while((Q|0)<(P|0));Q=f[z+(L<<2)>>2]|0;K=na;while(1){P=f[I+(K<<2)>>2]|0;if((P|0)<(K|0))K=P;else break}if((na|0)==(Q|0))oa=K;else{P=Q;while(1){M=f[I+(P<<2)>>2]|0;if((M|0)<(P|0))P=M;else break}M=(K|0)>(P|0)?P:K;J=Q;do{H=I+(J<<2)|0;W=J;J=f[H>>2]|0;f[H>>2]=M}while((J|0)<(W|0));oa=M}M=na;do{J=I+(M<<2)|0;Q=M;M=f[J>>2]|0;f[J>>2]=oa}while((M|0)<(Q|0));f[z+(C<<2)>>2]=oa;G=D;break a}while(0);M=f[l>>2]|0;I=f[y+(C<<2)>>2]|0;Q=f[y+(O<<2)>>2]|0;J=I;while(1){K=f[M+(J<<2)>>2]|0;if((K|0)<(J|0))J=K;else break}if((I|0)==(Q|0))pa=J;else{K=Q;while(1){P=f[M+(K<<2)>>2]|0;if((P|0)<(K|0))K=P;else break}P=(J|0)>(K|0)?K:J;W=Q;do{H=M+(W<<2)|0;R=W;W=f[H>>2]|0;f[H>>2]=P}while((W|0)<(R|0));pa=P}P=I;do{W=M+(P<<2)|0;Q=P;P=f[W>>2]|0;f[W>>2]=pa}while((P|0)<(Q|0));P=f[z+(L<<2)>>2]|0;I=pa;while(1){Q=f[M+(I<<2)>>2]|0;if((Q|0)<(I|0))I=Q;else break}if((pa|0)==(P|0))qa=I;else{L=P;while(1){Q=f[M+(L<<2)>>2]|0;if((Q|0)<(L|0))L=Q;else break}Q=(I|0)>(L|0)?L:I;W=P;do{J=M+(W<<2)|0;K=W;W=f[J>>2]|0;f[J>>2]=Q}while((W|0)<(K|0));qa=Q}Q=pa;do{W=M+(Q<<2)|0;P=Q;Q=f[W>>2]|0;f[W>>2]=qa}while((Q|0)<(P|0));f[z+(C<<2)>>2]=qa;G=D;break a}while(0);if(!(b[w+C>>0]|0))break;O=C+-2|0;do if((C|0)>1){if(!(b[v+O>>0]|0))break;if(b[w+F>>0]|0){f[z+(C<<2)>>2]=f[z+(O<<2)>>2];G=D;break a}if(!(b[w+O>>0]|0)){Q=f[l>>2]|0;M=f[y+(C<<2)>>2]|0;P=f[z+(O<<2)>>2]|0;W=M;while(1){I=f[Q+(W<<2)>>2]|0;if((I|0)<(W|0))W=I;else break}if((M|0)==(P|0))ra=W;else{I=P;while(1){L=f[Q+(I<<2)>>2]|0;if((L|0)<(I|0))I=L;else break}L=(W|0)>(I|0)?I:W;K=P;do{J=Q+(K<<2)|0;R=K;K=f[J>>2]|0;f[J>>2]=L}while((K|0)<(R|0));ra=L}L=M;do{K=Q+(L<<2)|0;P=L;L=f[K>>2]|0;f[K>>2]=ra}while((L|0)<(P|0));f[z+(C<<2)>>2]=ra;G=D;break a}do if(B){if(!(b[x+F>>0]|0))break;f[z+(C<<2)>>2]=f[z+(O<<2)>>2];G=D;break a}while(0);L=f[l>>2]|0;Q=f[y+(C<<2)>>2]|0;M=f[z+(O<<2)>>2]|0;P=Q;while(1){K=f[L+(P<<2)>>2]|0;if((K|0)<(P|0))P=K;else break}if((Q|0)==(M|0))sa=P;else{K=M;while(1){W=f[L+(K<<2)>>2]|0;if((W|0)<(K|0))K=W;else break}W=(P|0)>(K|0)?K:P;I=M;do{R=L+(I<<2)|0;J=I;I=f[R>>2]|0;f[R>>2]=W}while((I|0)<(J|0));sa=W}W=Q;do{I=L+(W<<2)|0;M=W;W=f[I>>2]|0;f[I>>2]=sa}while((W|0)<(M|0));f[z+(C<<2)>>2]=sa;G=D;break a}while(0);W=f[l>>2]|0;L=f[y+(C<<2)>>2]|0;Q=f[z+(O<<2)>>2]|0;M=L;while(1){I=f[W+(M<<2)>>2]|0;if((I|0)<(M|0))M=I;else break}if((L|0)==(Q|0))ta=M;else{O=Q;while(1){I=f[W+(O<<2)>>2]|0;if((I|0)<(O|0))O=I;else break}I=(M|0)>(O|0)?O:M;P=Q;do{K=W+(P<<2)|0;J=P;P=f[K>>2]|0;f[K>>2]=I}while((P|0)<(J|0));ta=I}I=L;do{P=W+(I<<2)|0;Q=I;I=f[P>>2]|0;f[P>>2]=ta}while((I|0)<(Q|0));f[z+(C<<2)>>2]=ta;G=D;break a}while(0);f[z+(C<<2)>>2]=f[z+(C+-2<<2)>>2];G=D;break}}if(A){if(b[w+E>>0]|0){f[z+(C<<2)>>2]=f[y+(C<<2)>>2];G=D;break}F=C+2|0;if((F|0)<(n|0)?b[w+F>>0]|0:0){if(!(b[w+C>>0]|0)){f[z+(C<<2)>>2]=f[y+(F<<2)>>2];G=D;break}do if(B){if(!(b[x+E>>0]|0))break;f[z+(C<<2)>>2]=f[y+(F<<2)>>2];G=D;break a}while(0);E=f[l>>2]|0;I=f[y+(C<<2)>>2]|0;W=f[y+(F<<2)>>2]|0;L=I;while(1){Q=f[E+(L<<2)>>2]|0;if((Q|0)<(L|0))L=Q;else break}if((I|0)==(W|0))ua=L;else{F=W;while(1){Q=f[E+(F<<2)>>2]|0;if((Q|0)<(F|0))F=Q;else break}Q=(L|0)>(F|0)?F:L;P=W;do{M=E+(P<<2)|0;O=P;P=f[M>>2]|0;f[M>>2]=Q}while((P|0)<(O|0));ua=Q}Q=I;do{P=E+(Q<<2)|0;W=Q;Q=f[P>>2]|0;f[P>>2]=ua}while((Q|0)<(W|0));f[z+(C<<2)>>2]=ua;G=D;break}if(b[w+C>>0]|0){f[z+(C<<2)>>2]=f[y+(C<<2)>>2];G=D;break}}f[z+(C<<2)>>2]=D;f[(f[l>>2]|0)+(D<<2)>>2]=D;G=D+1|0;break}Q=C+-1|0;if((C|0)>0){if(b[t+Q>>0]|0){f[z+(C<<2)>>2]=f[z+(C+-2<<2)>>2];G=D;break}if(b[v+Q>>0]|0){f[z+(C<<2)>>2]=f[z+(C+-2<<2)>>2];G=D;break}}f[z+(C<<2)>>2]=D;f[(f[l>>2]|0)+(D<<2)>>2]=D;G=D+1|0;break}Q=C|1;do if((Q|0)<(n|0)){if(!(b[v+Q>>0]|0)){if(!u)break;if(!(b[t+Q>>0]|0))break;f[z+(C<<2)>>2]=D;f[(f[l>>2]|0)+(D<<2)>>2]=D;G=D+1|0;break a}if(A){if(b[w+Q>>0]|0){f[z+(C<<2)>>2]=f[y+(C<<2)>>2];G=D;break a}E=C+2|0;if((E|0)<(n|0)?b[w+E>>0]|0:0){if(!(b[w+C>>0]|0)){f[z+(C<<2)>>2]=f[y+(E<<2)>>2];G=D;break a}do if(B){if(!(b[x+Q>>0]|0))break;f[z+(C<<2)>>2]=f[y+(E<<2)>>2];G=D;break a}while(0);I=f[l>>2]|0;W=f[y+(C<<2)>>2]|0;P=f[y+(E<<2)>>2]|0;L=W;while(1){F=f[I+(L<<2)>>2]|0;if((F|0)<(L|0))L=F;else break}if((W|0)==(P|0))va=L;else{E=P;while(1){F=f[I+(E<<2)>>2]|0;if((F|0)<(E|0))E=F;else break}F=(L|0)>(E|0)?E:L;O=P;do{M=I+(O<<2)|0;J=O;O=f[M>>2]|0;f[M>>2]=F}while((O|0)<(J|0));va=F}F=W;do{O=I+(F<<2)|0;P=F;F=f[O>>2]|0;f[O>>2]=va}while((F|0)<(P|0));f[z+(C<<2)>>2]=va;G=D;break a}if(b[w+C>>0]|0){f[z+(C<<2)>>2]=f[y+(C<<2)>>2];G=D;break a}}f[z+(C<<2)>>2]=D;f[(f[l>>2]|0)+(D<<2)>>2]=D;G=D+1|0;break a}while(0);f[z+(C<<2)>>2]=0;G=D}else{Q=C+-1|0;F=(C|0)>0;if(F){if(b[v+Q>>0]|0){I=C|1;W=(I|0)<(n|0);if(A&W?b[w+I>>0]|0:0){if(b[w+C>>0]|0){f[z+(C<<2)>>2]=f[z+(C+-2<<2)>>2];G=D;break}if(B?b[x+C>>0]|0:0){P=C+-2|0;if(b[w+Q>>0]|0){f[z+(C<<2)>>2]=f[z+(P<<2)>>2];G=D;break}do if((C|0)>1){if(!(b[w+P>>0]|0))break;if(b[x+Q>>0]|0){f[z+(C<<2)>>2]=f[z+(P<<2)>>2];G=D;break a}O=f[l>>2]|0;L=f[y+(C<<2)>>2]|0;E=f[z+(P<<2)>>2]|0;J=L;while(1){M=f[O+(J<<2)>>2]|0;if((M|0)<(J|0))J=M;else break}if((L|0)==(E|0))wa=J;else{M=E;while(1){K=f[O+(M<<2)>>2]|0;if((K|0)<(M|0))M=K;else break}K=(J|0)>(M|0)?M:J;R=E;do{H=O+(R<<2)|0;xa=R;R=f[H>>2]|0;f[H>>2]=K}while((R|0)<(xa|0));wa=K}K=L;do{R=O+(K<<2)|0;E=K;K=f[R>>2]|0;f[R>>2]=wa}while((K|0)<(E|0));f[z+(C<<2)>>2]=wa;G=D;break a}while(0);K=f[l>>2]|0;O=f[y+(C<<2)>>2]|0;L=f[z+(P<<2)>>2]|0;E=O;while(1){R=f[K+(E<<2)>>2]|0;if((R|0)<(E|0))E=R;else break}if((O|0)==(L|0))ya=E;else{P=L;while(1){R=f[K+(P<<2)>>2]|0;if((R|0)<(P|0))P=R;else break}R=(E|0)>(P|0)?P:E;J=L;do{M=K+(J<<2)|0;xa=J;J=f[M>>2]|0;f[M>>2]=R}while((J|0)<(xa|0));ya=R}R=O;do{J=K+(R<<2)|0;L=R;R=f[J>>2]|0;f[J>>2]=ya}while((R|0)<(L|0));f[z+(C<<2)>>2]=ya;G=D;break}R=f[l>>2]|0;K=f[y+(C<<2)>>2]|0;O=f[z+(C+-2<<2)>>2]|0;L=K;while(1){J=f[R+(L<<2)>>2]|0;if((J|0)<(L|0))L=J;else break}if((K|0)==(O|0))za=L;else{J=O;while(1){E=f[R+(J<<2)>>2]|0;if((E|0)<(J|0))J=E;else break}E=(L|0)>(J|0)?J:L;P=O;do{xa=R+(P<<2)|0;M=P;P=f[xa>>2]|0;f[xa>>2]=E}while((P|0)<(M|0));za=E}E=K;do{P=R+(E<<2)|0;O=E;E=f[P>>2]|0;f[P>>2]=za}while((E|0)<(O|0));f[z+(C<<2)>>2]=za;G=D;break}if(W?b[v+I>>0]|0:0){E=C+2|0;if(A&(E|0)<(n|0)?b[w+E>>0]|0:0){do if(B){if(!(b[x+I>>0]|0))break;if(b[w+C>>0]|0){f[z+(C<<2)>>2]=f[z+(C+-2<<2)>>2];G=D;break a}if(!(b[x+C>>0]|0)){R=f[l>>2]|0;K=f[y+(E<<2)>>2]|0;O=f[z+(C+-2<<2)>>2]|0;P=K;while(1){L=f[R+(P<<2)>>2]|0;if((L|0)<(P|0))P=L;else break}if((K|0)==(O|0))Aa=P;else{L=O;while(1){J=f[R+(L<<2)>>2]|0;if((J|0)<(L|0))L=J;else break}J=(P|0)>(L|0)?L:P;M=O;do{xa=R+(M<<2)|0;H=M;M=f[xa>>2]|0;f[xa>>2]=J}while((M|0)<(H|0));Aa=J}J=K;do{M=R+(J<<2)|0;O=J;J=f[M>>2]|0;f[M>>2]=Aa}while((J|0)<(O|0));f[z+(C<<2)>>2]=Aa;G=D;break a}J=C+-2|0;if(b[w+Q>>0]|0){f[z+(C<<2)>>2]=f[z+(J<<2)>>2];G=D;break a}do if((C|0)>1){if(!(b[w+J>>0]|0))break;if(b[x+Q>>0]|0){f[z+(C<<2)>>2]=f[z+(J<<2)>>2];G=D;break a}R=f[l>>2]|0;K=f[y+(E<<2)>>2]|0;O=f[z+(J<<2)>>2]|0;M=K;while(1){P=f[R+(M<<2)>>2]|0;if((P|0)<(M|0))M=P;else break}if((K|0)==(O|0))Ba=M;else{P=O;while(1){L=f[R+(P<<2)>>2]|0;if((L|0)<(P|0))P=L;else break}L=(M|0)>(P|0)?P:M;H=O;do{xa=R+(H<<2)|0;Ca=H;H=f[xa>>2]|0;f[xa>>2]=L}while((H|0)<(Ca|0));Ba=L}L=K;do{H=R+(L<<2)|0;O=L;L=f[H>>2]|0;f[H>>2]=Ba}while((L|0)<(O|0));f[z+(C<<2)>>2]=Ba;G=D;break a}while(0);L=f[l>>2]|0;R=f[y+(E<<2)>>2]|0;K=f[z+(J<<2)>>2]|0;O=R;while(1){H=f[L+(O<<2)>>2]|0;if((H|0)<(O|0))O=H;else break}if((R|0)==(K|0))Da=O;else{J=K;while(1){H=f[L+(J<<2)>>2]|0;if((H|0)<(J|0))J=H;else break}H=(O|0)>(J|0)?J:O;M=K;do{P=L+(M<<2)|0;Ca=M;M=f[P>>2]|0;f[P>>2]=H}while((M|0)<(Ca|0));Da=H}H=R;do{M=L+(H<<2)|0;K=H;H=f[M>>2]|0;f[M>>2]=Da}while((H|0)<(K|0));f[z+(C<<2)>>2]=Da;G=D;break a}while(0);I=f[l>>2]|0;W=f[y+(E<<2)>>2]|0;H=f[z+(C+-2<<2)>>2]|0;L=W;while(1){R=f[I+(L<<2)>>2]|0;if((R|0)<(L|0))L=R;else break}if((W|0)==(H|0))Ea=L;else{E=H;while(1){R=f[I+(E<<2)>>2]|0;if((R|0)<(E|0))E=R;else break}R=(L|0)>(E|0)?E:L;K=H;do{M=I+(K<<2)|0;O=K;K=f[M>>2]|0;f[M>>2]=R}while((K|0)<(O|0));Ea=R}R=W;do{K=I+(R<<2)|0;H=R;R=f[K>>2]|0;f[K>>2]=Ea}while((R|0)<(H|0));f[z+(C<<2)>>2]=Ea;G=D;break}f[z+(C<<2)>>2]=f[z+(C+-2<<2)>>2];G=D;break}f[z+(C<<2)>>2]=f[z+(C+-2<<2)>>2];G=D;break}if(u?b[t+Q>>0]|0:0){R=C|1;I=(R|0)<(n|0);if(A&I?b[w+R>>0]|0:0){W=C+-2|0;if((C|0)>1?b[v+W>>0]|0:0){if(b[w+Q>>0]|0){if(b[w+C>>0]|0){f[z+(C<<2)>>2]=f[z+(W<<2)>>2];G=D;break}do if(B){if(!(b[x+C>>0]|0))break;f[z+(C<<2)>>2]=f[z+(W<<2)>>2];G=D;break a}while(0);H=f[l>>2]|0;K=f[y+(C<<2)>>2]|0;L=f[z+(W<<2)>>2]|0;E=K;while(1){O=f[H+(E<<2)>>2]|0;if((O|0)<(E|0))E=O;else break}if((K|0)==(L|0))Fa=E;else{O=L;while(1){M=f[H+(O<<2)>>2]|0;if((M|0)<(O|0))O=M;else break}M=(E|0)>(O|0)?O:E;J=L;do{Ca=H+(J<<2)|0;P=J;J=f[Ca>>2]|0;f[Ca>>2]=M}while((J|0)<(P|0));Fa=M}M=K;do{J=H+(M<<2)|0;L=M;M=f[J>>2]|0;f[J>>2]=Fa}while((M|0)<(L|0));f[z+(C<<2)>>2]=Fa;G=D;break}if(!(b[w+W>>0]|0)){M=f[l>>2]|0;H=f[y+(C<<2)>>2]|0;K=f[z+(W<<2)>>2]|0;L=H;while(1){J=f[M+(L<<2)>>2]|0;if((J|0)<(L|0))L=J;else break}if((H|0)==(K|0))Ga=L;else{J=K;while(1){E=f[M+(J<<2)>>2]|0;if((E|0)<(J|0))J=E;else break}E=(L|0)>(J|0)?J:L;O=K;do{P=M+(O<<2)|0;Ca=O;O=f[P>>2]|0;f[P>>2]=E}while((O|0)<(Ca|0));Ga=E}E=H;do{O=M+(E<<2)|0;K=E;E=f[O>>2]|0;f[O>>2]=Ga}while((E|0)<(K|0));f[z+(C<<2)>>2]=Ga;G=D;break}do if(B){if(!(b[x+Q>>0]|0))break;if(b[w+C>>0]|0){f[z+(C<<2)>>2]=f[z+(W<<2)>>2];G=D;break a}if(b[x+C>>0]|0){f[z+(C<<2)>>2]=f[z+(W<<2)>>2];G=D;break a}E=f[l>>2]|0;M=f[y+(C<<2)>>2]|0;H=f[z+(W<<2)>>2]|0;K=M;while(1){O=f[E+(K<<2)>>2]|0;if((O|0)<(K|0))K=O;else break}if((M|0)==(H|0))Ha=K;else{O=H;while(1){L=f[E+(O<<2)>>2]|0;if((L|0)<(O|0))O=L;else break}L=(K|0)>(O|0)?O:K;J=H;do{Ca=E+(J<<2)|0;P=J;J=f[Ca>>2]|0;f[Ca>>2]=L}while((J|0)<(P|0));Ha=L}L=M;do{J=E+(L<<2)|0;H=L;L=f[J>>2]|0;f[J>>2]=Ha}while((L|0)<(H|0));f[z+(C<<2)>>2]=Ha;G=D;break a}while(0);L=f[l>>2]|0;E=f[y+(C<<2)>>2]|0;M=f[z+(W<<2)>>2]|0;H=E;while(1){J=f[L+(H<<2)>>2]|0;if((J|0)<(H|0))H=J;else break}if((E|0)==(M|0))Ia=H;else{J=M;while(1){K=f[L+(J<<2)>>2]|0;if((K|0)<(J|0))J=K;else break}K=(H|0)>(J|0)?J:H;O=M;do{P=L+(O<<2)|0;Ca=O;O=f[P>>2]|0;f[P>>2]=K}while((O|0)<(Ca|0));Ia=K}K=E;do{O=L+(K<<2)|0;M=K;K=f[O>>2]|0;f[O>>2]=Ia}while((K|0)<(M|0));f[z+(C<<2)>>2]=Ia;G=D;break}if(b[w+C>>0]|0){K=f[l>>2]|0;L=f[y+(C<<2)>>2]|0;E=f[z+(W<<2)>>2]|0;M=L;while(1){O=f[K+(M<<2)>>2]|0;if((O|0)<(M|0))M=O;else break}if((L|0)==(E|0))Ja=M;else{O=E;while(1){H=f[K+(O<<2)>>2]|0;if((H|0)<(O|0))O=H;else break}H=(M|0)>(O|0)?O:M;J=E;do{Ca=K+(J<<2)|0;P=J;J=f[Ca>>2]|0;f[Ca>>2]=H}while((J|0)<(P|0));Ja=H}H=L;do{J=K+(H<<2)|0;E=H;H=f[J>>2]|0;f[J>>2]=Ja}while((H|0)<(E|0));f[z+(C<<2)>>2]=Ja;G=D;break}if(!(b[w+Q>>0]|0)){H=f[l>>2]|0;K=f[y+(C<<2)>>2]|0;L=f[z+(W<<2)>>2]|0;E=K;while(1){J=f[H+(E<<2)>>2]|0;if((J|0)<(E|0))E=J;else break}if((K|0)==(L|0))Ka=E;else{J=L;while(1){M=f[H+(J<<2)>>2]|0;if((M|0)<(J|0))J=M;else break}M=(E|0)>(J|0)?J:E;O=L;do{P=H+(O<<2)|0;Ca=O;O=f[P>>2]|0;f[P>>2]=M}while((O|0)<(Ca|0));Ka=M}M=K;do{O=H+(M<<2)|0;L=M;M=f[O>>2]|0;f[O>>2]=Ka}while((M|0)<(L|0));f[z+(C<<2)>>2]=Ka;G=D;break}do if(B){if(!(b[x+C>>0]|0))break;M=f[l>>2]|0;H=f[y+(C<<2)>>2]|0;K=f[z+(W<<2)>>2]|0;L=H;while(1){O=f[M+(L<<2)>>2]|0;if((O|0)<(L|0))L=O;else break}if((H|0)==(K|0))La=L;else{O=K;while(1){E=f[M+(O<<2)>>2]|0;if((E|0)<(O|0))O=E;else break}E=(L|0)>(O|0)?O:L;J=K;do{Ca=M+(J<<2)|0;P=J;J=f[Ca>>2]|0;f[Ca>>2]=E}while((J|0)<(P|0));La=E}E=H;do{J=M+(E<<2)|0;K=E;E=f[J>>2]|0;f[J>>2]=La}while((E|0)<(K|0));f[z+(C<<2)>>2]=La;G=D;break a}while(0);E=f[l>>2]|0;M=f[y+(W<<2)>>2]|0;H=f[y+(C<<2)>>2]|0;K=M;while(1){J=f[E+(K<<2)>>2]|0;if((J|0)<(K|0))K=J;else break}if((M|0)==(H|0))Ma=K;else{J=H;while(1){L=f[E+(J<<2)>>2]|0;if((L|0)<(J|0))J=L;else break}L=(K|0)>(J|0)?J:K;O=H;do{P=E+(O<<2)|0;Ca=O;O=f[P>>2]|0;f[P>>2]=L}while((O|0)<(Ca|0));Ma=L}L=M;do{O=E+(L<<2)|0;H=L;L=f[O>>2]|0;f[O>>2]=Ma}while((L|0)<(H|0));L=f[z+(W<<2)>>2]|0;M=Ma;while(1){H=f[E+(M<<2)>>2]|0;if((H|0)<(M|0))M=H;else break}if((Ma|0)==(L|0))Na=M;else{W=L;while(1){H=f[E+(W<<2)>>2]|0;if((H|0)<(W|0))W=H;else break}H=(M|0)>(W|0)?W:M;O=L;do{K=E+(O<<2)|0;J=O;O=f[K>>2]|0;f[K>>2]=H}while((O|0)<(J|0));Na=H}H=Ma;do{O=E+(H<<2)|0;L=H;H=f[O>>2]|0;f[O>>2]=Na}while((H|0)<(L|0));f[z+(C<<2)>>2]=Na;G=D;break}if(I?b[v+R>>0]|0:0){H=C+2|0;if(A&(H|0)<(n|0)?b[w+H>>0]|0:0){E=C+-2|0;do if((C|0)>1){if(!(b[v+E>>0]|0))break;if(b[w+Q>>0]|0){do if(B){if(!(b[x+R>>0]|0))break;if(b[w+C>>0]|0){f[z+(C<<2)>>2]=f[z+(E<<2)>>2];G=D;break a}if(b[x+C>>0]|0){f[z+(C<<2)>>2]=f[z+(E<<2)>>2];G=D;break a}L=f[l>>2]|0;O=f[y+(H<<2)>>2]|0;M=f[z+(E<<2)>>2]|0;W=O;while(1){J=f[L+(W<<2)>>2]|0;if((J|0)<(W|0))W=J;else break}if((O|0)==(M|0))Oa=W;else{J=M;while(1){K=f[L+(J<<2)>>2]|0;if((K|0)<(J|0))J=K;else break}K=(W|0)>(J|0)?J:W;Ca=M;do{P=L+(Ca<<2)|0;xa=Ca;Ca=f[P>>2]|0;f[P>>2]=K}while((Ca|0)<(xa|0));Oa=K}K=O;do{Ca=L+(K<<2)|0;M=K;K=f[Ca>>2]|0;f[Ca>>2]=Oa}while((K|0)<(M|0));f[z+(C<<2)>>2]=Oa;G=D;break a}while(0);K=f[l>>2]|0;L=f[y+(H<<2)>>2]|0;O=f[z+(E<<2)>>2]|0;M=L;while(1){Ca=f[K+(M<<2)>>2]|0;if((Ca|0)<(M|0))M=Ca;else break}if((L|0)==(O|0))Pa=M;else{Ca=O;while(1){W=f[K+(Ca<<2)>>2]|0;if((W|0)<(Ca|0))Ca=W;else break}W=(M|0)>(Ca|0)?Ca:M;J=O;do{xa=K+(J<<2)|0;P=J;J=f[xa>>2]|0;f[xa>>2]=W}while((J|0)<(P|0));Pa=W}W=L;do{J=K+(W<<2)|0;O=W;W=f[J>>2]|0;f[J>>2]=Pa}while((W|0)<(O|0));f[z+(C<<2)>>2]=Pa;G=D;break a}do if(B){if(!(b[x+R>>0]|0))break;if(!(b[w+E>>0]|0)){W=f[l>>2]|0;K=f[y+(H<<2)>>2]|0;L=f[z+(E<<2)>>2]|0;O=K;while(1){J=f[W+(O<<2)>>2]|0;if((J|0)<(O|0))O=J;else break}if((K|0)==(L|0))Qa=O;else{J=L;while(1){M=f[W+(J<<2)>>2]|0;if((M|0)<(J|0))J=M;else break}M=(O|0)>(J|0)?J:O;Ca=L;do{P=W+(Ca<<2)|0;xa=Ca;Ca=f[P>>2]|0;f[P>>2]=M}while((Ca|0)<(xa|0));Qa=M}M=K;do{Ca=W+(M<<2)|0;L=M;M=f[Ca>>2]|0;f[Ca>>2]=Qa}while((M|0)<(L|0));f[z+(C<<2)>>2]=Qa;G=D;break a}if(!(b[x+Q>>0]|0)){M=f[l>>2]|0;W=f[y+(H<<2)>>2]|0;K=f[z+(E<<2)>>2]|0;L=W;while(1){Ca=f[M+(L<<2)>>2]|0;if((Ca|0)<(L|0))L=Ca;else break}if((W|0)==(K|0))Ra=L;else{Ca=K;while(1){O=f[M+(Ca<<2)>>2]|0;if((O|0)<(Ca|0))Ca=O;else break}O=(L|0)>(Ca|0)?Ca:L;J=K;do{xa=M+(J<<2)|0;P=J;J=f[xa>>2]|0;f[xa>>2]=O}while((J|0)<(P|0));Ra=O}O=W;do{J=M+(O<<2)|0;K=O;O=f[J>>2]|0;f[J>>2]=Ra}while((O|0)<(K|0));f[z+(C<<2)>>2]=Ra;G=D;break a}if(b[w+C>>0]|0){f[z+(C<<2)>>2]=f[z+(E<<2)>>2];G=D;break a}if(b[x+C>>0]|0){f[z+(C<<2)>>2]=f[z+(E<<2)>>2];G=D;break a}O=f[l>>2]|0;M=f[y+(H<<2)>>2]|0;W=f[z+(E<<2)>>2]|0;K=M;while(1){J=f[O+(K<<2)>>2]|0;if((J|0)<(K|0))K=J;else break}if((M|0)==(W|0))Sa=K;else{J=W;while(1){L=f[O+(J<<2)>>2]|0;if((L|0)<(J|0))J=L;else break}L=(K|0)>(J|0)?J:K;Ca=W;do{P=O+(Ca<<2)|0;xa=Ca;Ca=f[P>>2]|0;f[P>>2]=L}while((Ca|0)<(xa|0));Sa=L}L=M;do{Ca=O+(L<<2)|0;W=L;L=f[Ca>>2]|0;f[Ca>>2]=Sa}while((L|0)<(W|0));f[z+(C<<2)>>2]=Sa;G=D;break a}while(0);if(!(b[w+C>>0]|0)){L=f[l>>2]|0;O=f[y+(H<<2)>>2]|0;M=f[z+(E<<2)>>2]|0;W=O;while(1){Ca=f[L+(W<<2)>>2]|0;if((Ca|0)<(W|0))W=Ca;else break}if((O|0)==(M|0))Ta=W;else{Ca=M;while(1){K=f[L+(Ca<<2)>>2]|0;if((K|0)<(Ca|0))Ca=K;else break}K=(W|0)>(Ca|0)?Ca:W;J=M;do{xa=L+(J<<2)|0;P=J;J=f[xa>>2]|0;f[xa>>2]=K}while((J|0)<(P|0));Ta=K}K=O;do{J=L+(K<<2)|0;M=K;K=f[J>>2]|0;f[J>>2]=Ta}while((K|0)<(M|0));f[z+(C<<2)>>2]=Ta;G=D;break a}if(!(b[w+E>>0]|0)){K=f[l>>2]|0;L=f[y+(C<<2)>>2]|0;O=f[y+(H<<2)>>2]|0;M=L;while(1){J=f[K+(M<<2)>>2]|0;if((J|0)<(M|0))M=J;else break}if((L|0)==(O|0))Ua=M;else{J=O;while(1){W=f[K+(J<<2)>>2]|0;if((W|0)<(J|0))J=W;else break}W=(M|0)>(J|0)?J:M;Ca=O;do{P=K+(Ca<<2)|0;xa=Ca;Ca=f[P>>2]|0;f[P>>2]=W}while((Ca|0)<(xa|0));Ua=W}W=L;do{Ca=K+(W<<2)|0;O=W;W=f[Ca>>2]|0;f[Ca>>2]=Ua}while((W|0)<(O|0));W=f[z+(E<<2)>>2]|0;L=Ua;while(1){O=f[K+(L<<2)>>2]|0;if((O|0)<(L|0))L=O;else break}if((Ua|0)==(W|0))Va=L;else{O=W;while(1){Ca=f[K+(O<<2)>>2]|0;if((Ca|0)<(O|0))O=Ca;else break}Ca=(L|0)>(O|0)?O:L;M=W;do{J=K+(M<<2)|0;xa=M;M=f[J>>2]|0;f[J>>2]=Ca}while((M|0)<(xa|0));Va=Ca}Ca=Ua;do{M=K+(Ca<<2)|0;W=Ca;Ca=f[M>>2]|0;f[M>>2]=Va}while((Ca|0)<(W|0));f[z+(C<<2)>>2]=Va;G=D;break a}do if(B){if(!(b[x+Q>>0]|0))break;Ca=f[l>>2]|0;K=f[y+(H<<2)>>2]|0;W=f[z+(E<<2)>>2]|0;M=K;while(1){L=f[Ca+(M<<2)>>2]|0;if((L|0)<(M|0))M=L;else break}if((K|0)==(W|0))Wa=M;else{L=W;while(1){O=f[Ca+(L<<2)>>2]|0;if((O|0)<(L|0))L=O;else break}O=(M|0)>(L|0)?L:M;xa=W;do{J=Ca+(xa<<2)|0;P=xa;xa=f[J>>2]|0;f[J>>2]=O}while((xa|0)<(P|0));Wa=O}O=K;do{xa=Ca+(O<<2)|0;W=O;O=f[xa>>2]|0;f[xa>>2]=Wa}while((O|0)<(W|0));f[z+(C<<2)>>2]=Wa;G=D;break a}while(0);O=f[l>>2]|0;Ca=f[y+(C<<2)>>2]|0;K=f[y+(H<<2)>>2]|0;W=Ca;while(1){xa=f[O+(W<<2)>>2]|0;if((xa|0)<(W|0))W=xa;else break}if((Ca|0)==(K|0))Xa=W;else{xa=K;while(1){M=f[O+(xa<<2)>>2]|0;if((M|0)<(xa|0))xa=M;else break}M=(W|0)>(xa|0)?xa:W;L=K;do{P=O+(L<<2)|0;J=L;L=f[P>>2]|0;f[P>>2]=M}while((L|0)<(J|0));Xa=M}M=Ca;do{L=O+(M<<2)|0;K=M;M=f[L>>2]|0;f[L>>2]=Xa}while((M|0)<(K|0));M=f[z+(E<<2)>>2]|0;Ca=Xa;while(1){K=f[O+(Ca<<2)>>2]|0;if((K|0)<(Ca|0))Ca=K;else break}if((Xa|0)==(M|0))Ya=Ca;else{K=M;while(1){L=f[O+(K<<2)>>2]|0;if((L|0)<(K|0))K=L;else break}L=(Ca|0)>(K|0)?K:Ca;W=M;do{xa=O+(W<<2)|0;J=W;W=f[xa>>2]|0;f[xa>>2]=L}while((W|0)<(J|0));Ya=L}L=Xa;do{W=O+(L<<2)|0;M=L;L=f[W>>2]|0;f[W>>2]=Ya}while((L|0)<(M|0));f[z+(C<<2)>>2]=Ya;G=D;break a}while(0);if(b[w+C>>0]|0){do if(B){if(!(b[x+R>>0]|0))break;I=f[l>>2]|0;L=f[y+(H<<2)>>2]|0;O=f[z+(E<<2)>>2]|0;M=L;while(1){W=f[I+(M<<2)>>2]|0;if((W|0)<(M|0))M=W;else break}if((L|0)==(O|0))Za=M;else{W=O;while(1){Ca=f[I+(W<<2)>>2]|0;if((Ca|0)<(W|0))W=Ca;else break}Ca=(M|0)>(W|0)?W:M;K=O;do{J=I+(K<<2)|0;xa=K;K=f[J>>2]|0;f[J>>2]=Ca}while((K|0)<(xa|0));Za=Ca}Ca=L;do{K=I+(Ca<<2)|0;O=Ca;Ca=f[K>>2]|0;f[K>>2]=Za}while((Ca|0)<(O|0));f[z+(C<<2)>>2]=Za;G=D;break a}while(0);Ca=f[l>>2]|0;I=f[y+(C<<2)>>2]|0;L=f[y+(H<<2)>>2]|0;O=I;while(1){K=f[Ca+(O<<2)>>2]|0;if((K|0)<(O|0))O=K;else break}if((I|0)==(L|0))_a=O;else{K=L;while(1){M=f[Ca+(K<<2)>>2]|0;if((M|0)<(K|0))K=M;else break}M=(O|0)>(K|0)?K:O;W=L;do{xa=Ca+(W<<2)|0;J=W;W=f[xa>>2]|0;f[xa>>2]=M}while((W|0)<(J|0));_a=M}M=I;do{W=Ca+(M<<2)|0;L=M;M=f[W>>2]|0;f[W>>2]=_a}while((M|0)<(L|0));M=f[z+(E<<2)>>2]|0;I=_a;while(1){L=f[Ca+(I<<2)>>2]|0;if((L|0)<(I|0))I=L;else break}if((_a|0)==(M|0))$a=I;else{L=M;while(1){W=f[Ca+(L<<2)>>2]|0;if((W|0)<(L|0))L=W;else break}W=(I|0)>(L|0)?L:I;O=M;do{K=Ca+(O<<2)|0;J=O;O=f[K>>2]|0;f[K>>2]=W}while((O|0)<(J|0));$a=W}W=_a;do{O=Ca+(W<<2)|0;M=W;W=f[O>>2]|0;f[O>>2]=$a}while((W|0)<(M|0));f[z+(C<<2)>>2]=$a;G=D;break}if(!(b[w+Q>>0]|0)){W=f[l>>2]|0;Ca=f[y+(H<<2)>>2]|0;M=f[z+(E<<2)>>2]|0;O=Ca;while(1){I=f[W+(O<<2)>>2]|0;if((I|0)<(O|0))O=I;else break}if((Ca|0)==(M|0))ab=O;else{I=M;while(1){L=f[W+(I<<2)>>2]|0;if((L|0)<(I|0))I=L;else break}L=(O|0)>(I|0)?I:O;J=M;do{K=W+(J<<2)|0;xa=J;J=f[K>>2]|0;f[K>>2]=L}while((J|0)<(xa|0));ab=L}L=Ca;do{J=W+(L<<2)|0;M=L;L=f[J>>2]|0;f[J>>2]=ab}while((L|0)<(M|0));f[z+(C<<2)>>2]=ab;G=D;break}do if(B){if(!(b[x+R>>0]|0))break;L=f[l>>2]|0;if(b[x+C>>0]|0){W=f[y+(H<<2)>>2]|0;Ca=f[z+(E<<2)>>2]|0;M=W;while(1){J=f[L+(M<<2)>>2]|0;if((J|0)<(M|0))M=J;else break}if((W|0)==(Ca|0))bb=M;else{J=Ca;while(1){O=f[L+(J<<2)>>2]|0;if((O|0)<(J|0))J=O;else break}O=(M|0)>(J|0)?J:M;I=Ca;do{xa=L+(I<<2)|0;K=I;I=f[xa>>2]|0;f[xa>>2]=O}while((I|0)<(K|0));bb=O}O=W;do{I=L+(O<<2)|0;Ca=O;O=f[I>>2]|0;f[I>>2]=bb}while((O|0)<(Ca|0));f[z+(C<<2)>>2]=bb;G=D;break a}O=f[y+(E<<2)>>2]|0;W=f[y+(H<<2)>>2]|0;Ca=O;while(1){I=f[L+(Ca<<2)>>2]|0;if((I|0)<(Ca|0))Ca=I;else break}if((O|0)==(W|0))cb=Ca;else{I=W;while(1){M=f[L+(I<<2)>>2]|0;if((M|0)<(I|0))I=M;else break}M=(Ca|0)>(I|0)?I:Ca;J=W;do{K=L+(J<<2)|0;xa=J;J=f[K>>2]|0;f[K>>2]=M}while((J|0)<(xa|0));cb=M}M=O;do{J=L+(M<<2)|0;W=M;M=f[J>>2]|0;f[J>>2]=cb}while((M|0)<(W|0));M=f[z+(E<<2)>>2]|0;O=cb;while(1){W=f[L+(O<<2)>>2]|0;if((W|0)<(O|0))O=W;else break}if((cb|0)==(M|0))db=O;else{W=M;while(1){J=f[L+(W<<2)>>2]|0;if((J|0)<(W|0))W=J;else break}J=(O|0)>(W|0)?W:O;Ca=M;do{I=L+(Ca<<2)|0;xa=Ca;Ca=f[I>>2]|0;f[I>>2]=J}while((Ca|0)<(xa|0));db=J}J=cb;do{Ca=L+(J<<2)|0;M=J;J=f[Ca>>2]|0;f[Ca>>2]=db}while((J|0)<(M|0));f[z+(C<<2)>>2]=db;G=D;break a}while(0);R=f[l>>2]|0;J=f[y+(E<<2)>>2]|0;L=f[y+(H<<2)>>2]|0;M=J;while(1){Ca=f[R+(M<<2)>>2]|0;if((Ca|0)<(M|0))M=Ca;else break}if((J|0)==(L|0))eb=M;else{H=L;while(1){Ca=f[R+(H<<2)>>2]|0;if((Ca|0)<(H|0))H=Ca;else break}Ca=(M|0)>(H|0)?H:M;O=L;do{W=R+(O<<2)|0;xa=O;O=f[W>>2]|0;f[W>>2]=Ca}while((O|0)<(xa|0));eb=Ca}Ca=J;do{O=R+(Ca<<2)|0;L=Ca;Ca=f[O>>2]|0;f[O>>2]=eb}while((Ca|0)<(L|0));Ca=f[z+(E<<2)>>2]|0;J=eb;while(1){L=f[R+(J<<2)>>2]|0;if((L|0)<(J|0))J=L;else break}if((eb|0)==(Ca|0))fb=J;else{E=Ca;while(1){L=f[R+(E<<2)>>2]|0;if((L|0)<(E|0))E=L;else break}L=(J|0)>(E|0)?E:J;O=Ca;do{M=R+(O<<2)|0;H=O;O=f[M>>2]|0;f[M>>2]=L}while((O|0)<(H|0));fb=L}L=eb;do{O=R+(L<<2)|0;Ca=L;L=f[O>>2]|0;f[O>>2]=fb}while((L|0)<(Ca|0));f[z+(C<<2)>>2]=fb;G=D;break}do if(A){if(b[w+Q>>0]|0){L=C+-2|0;do if((C|0)>1){if(!(b[v+L>>0]|0))break;f[z+(C<<2)>>2]=f[z+(L<<2)>>2];G=D;break a}while(0);R=f[l>>2]|0;Ca=f[y+(L<<2)>>2]|0;O=f[z+(L<<2)>>2]|0;J=Ca;while(1){E=f[R+(J<<2)>>2]|0;if((E|0)<(J|0))J=E;else break}if((Ca|0)==(O|0))gb=J;else{L=O;while(1){E=f[R+(L<<2)>>2]|0;if((E|0)<(L|0))L=E;else break}E=(J|0)>(L|0)?L:J;H=O;do{M=R+(H<<2)|0;xa=H;H=f[M>>2]|0;f[M>>2]=E}while((H|0)<(xa|0));gb=E}E=Ca;do{H=R+(E<<2)|0;O=E;E=f[H>>2]|0;f[H>>2]=gb}while((E|0)<(O|0));f[z+(C<<2)>>2]=gb;G=D;break a}if(!(b[w+C>>0]|0))break;E=C+-2|0;do if((C|0)>1){if(!(b[v+E>>0]|0))break;if(!(b[w+E>>0]|0)){R=f[l>>2]|0;Ca=f[y+(C<<2)>>2]|0;O=f[z+(E<<2)>>2]|0;H=Ca;while(1){J=f[R+(H<<2)>>2]|0;if((J|0)<(H|0))H=J;else break}if((Ca|0)==(O|0))hb=H;else{J=O;while(1){L=f[R+(J<<2)>>2]|0;if((L|0)<(J|0))J=L;else break}L=(H|0)>(J|0)?J:H;xa=O;do{M=R+(xa<<2)|0;W=xa;xa=f[M>>2]|0;f[M>>2]=L}while((xa|0)<(W|0));hb=L}L=Ca;do{xa=R+(L<<2)|0;O=L;L=f[xa>>2]|0;f[xa>>2]=hb}while((L|0)<(O|0));f[z+(C<<2)>>2]=hb;G=D;break a}do if(B){if(!(b[x+Q>>0]|0))break;f[z+(C<<2)>>2]=f[z+(E<<2)>>2];G=D;break a}while(0);L=f[l>>2]|0;R=f[y+(C<<2)>>2]|0;Ca=f[z+(E<<2)>>2]|0;O=R;while(1){xa=f[L+(O<<2)>>2]|0;if((xa|0)<(O|0))O=xa;else break}if((R|0)==(Ca|0))ib=O;else{xa=Ca;while(1){H=f[L+(xa<<2)>>2]|0;if((H|0)<(xa|0))xa=H;else break}H=(O|0)>(xa|0)?xa:O;J=Ca;do{W=L+(J<<2)|0;M=J;J=f[W>>2]|0;f[W>>2]=H}while((J|0)<(M|0));ib=H}H=R;do{J=L+(H<<2)|0;Ca=H;H=f[J>>2]|0;f[J>>2]=ib}while((H|0)<(Ca|0));f[z+(C<<2)>>2]=ib;G=D;break a}while(0);H=f[l>>2]|0;L=f[y+(C<<2)>>2]|0;R=f[z+(E<<2)>>2]|0;Ca=L;while(1){J=f[H+(Ca<<2)>>2]|0;if((J|0)<(Ca|0))Ca=J;else break}if((L|0)==(R|0))jb=Ca;else{E=R;while(1){J=f[H+(E<<2)>>2]|0;if((J|0)<(E|0))E=J;else break}J=(Ca|0)>(E|0)?E:Ca;O=R;do{xa=H+(O<<2)|0;M=O;O=f[xa>>2]|0;f[xa>>2]=J}while((O|0)<(M|0));jb=J}J=L;do{O=H+(J<<2)|0;R=J;J=f[O>>2]|0;f[O>>2]=jb}while((J|0)<(R|0));f[z+(C<<2)>>2]=jb;G=D;break a}while(0);f[z+(C<<2)>>2]=f[z+(C+-2<<2)>>2];G=D;break}if(A){if(b[w+Q>>0]|0){J=C+-2|0;do if((C|0)>1){if(!(b[v+J>>0]|0))break;f[z+(C<<2)>>2]=f[z+(J<<2)>>2];G=D;break a}while(0);H=f[l>>2]|0;L=f[y+(J<<2)>>2]|0;R=f[z+(J<<2)>>2]|0;O=L;while(1){Ca=f[H+(O<<2)>>2]|0;if((Ca|0)<(O|0))O=Ca;else break}if((L|0)==(R|0))kb=O;else{J=R;while(1){Ca=f[H+(J<<2)>>2]|0;if((Ca|0)<(J|0))J=Ca;else break}Ca=(O|0)>(J|0)?J:O;E=R;do{M=H+(E<<2)|0;xa=E;E=f[M>>2]|0;f[M>>2]=Ca}while((E|0)<(xa|0));kb=Ca}Ca=L;do{E=H+(Ca<<2)|0;R=Ca;Ca=f[E>>2]|0;f[E>>2]=kb}while((Ca|0)<(R|0));f[z+(C<<2)>>2]=kb;G=D;break}if(b[w+C>>0]|0){Ca=C+-2|0;do if((C|0)>1){if(!(b[v+Ca>>0]|0))break;if(!(b[w+Ca>>0]|0)){H=f[l>>2]|0;L=f[y+(C<<2)>>2]|0;R=f[z+(Ca<<2)>>2]|0;E=L;while(1){O=f[H+(E<<2)>>2]|0;if((O|0)<(E|0))E=O;else break}if((L|0)==(R|0))lb=E;else{O=R;while(1){J=f[H+(O<<2)>>2]|0;if((J|0)<(O|0))O=J;else break}J=(E|0)>(O|0)?O:E;xa=R;do{M=H+(xa<<2)|0;W=xa;xa=f[M>>2]|0;f[M>>2]=J}while((xa|0)<(W|0));lb=J}J=L;do{xa=H+(J<<2)|0;R=J;J=f[xa>>2]|0;f[xa>>2]=lb}while((J|0)<(R|0));f[z+(C<<2)>>2]=lb;G=D;break a}do if(B){if(!(b[x+Q>>0]|0))break;f[z+(C<<2)>>2]=f[z+(Ca<<2)>>2];G=D;break a}while(0);J=f[l>>2]|0;H=f[y+(C<<2)>>2]|0;L=f[z+(Ca<<2)>>2]|0;R=H;while(1){xa=f[J+(R<<2)>>2]|0;if((xa|0)<(R|0))R=xa;else break}if((H|0)==(L|0))mb=R;else{xa=L;while(1){E=f[J+(xa<<2)>>2]|0;if((E|0)<(xa|0))xa=E;else break}E=(R|0)>(xa|0)?xa:R;O=L;do{W=J+(O<<2)|0;M=O;O=f[W>>2]|0;f[W>>2]=E}while((O|0)<(M|0));mb=E}E=H;do{O=J+(E<<2)|0;L=E;E=f[O>>2]|0;f[O>>2]=mb}while((E|0)<(L|0));f[z+(C<<2)>>2]=mb;G=D;break a}while(0);E=f[l>>2]|0;J=f[y+(C<<2)>>2]|0;H=f[z+(Ca<<2)>>2]|0;L=J;while(1){O=f[E+(L<<2)>>2]|0;if((O|0)<(L|0))L=O;else break}if((J|0)==(H|0))nb=L;else{Ca=H;while(1){O=f[E+(Ca<<2)>>2]|0;if((O|0)<(Ca|0))Ca=O;else break}O=(L|0)>(Ca|0)?Ca:L;R=H;do{xa=E+(R<<2)|0;M=R;R=f[xa>>2]|0;f[xa>>2]=O}while((R|0)<(M|0));nb=O}O=J;do{R=E+(O<<2)|0;H=O;O=f[R>>2]|0;f[R>>2]=nb}while((O|0)<(H|0));f[z+(C<<2)>>2]=nb;G=D;break}}f[z+(C<<2)>>2]=f[z+(C+-2<<2)>>2];G=D;break}}O=C|1;E=(O|0)<(n|0);if(A&E?b[w+O>>0]|0:0){if(b[w+C>>0]|0){f[z+(C<<2)>>2]=f[y+(C<<2)>>2];G=D;break}if(F?b[w+Q>>0]|0:0){if(B?b[x+C>>0]|0:0){f[z+(C<<2)>>2]=f[y+(C<<2)>>2];G=D;break}J=f[l>>2]|0;H=f[y+(C+-2<<2)>>2]|0;R=f[y+(C<<2)>>2]|0;L=H;while(1){Ca=f[J+(L<<2)>>2]|0;if((Ca|0)<(L|0))L=Ca;else break}if((H|0)==(R|0))ob=L;else{Ca=R;while(1){M=f[J+(Ca<<2)>>2]|0;if((M|0)<(Ca|0))Ca=M;else break}M=(L|0)>(Ca|0)?Ca:L;xa=R;do{W=J+(xa<<2)|0;I=xa;xa=f[W>>2]|0;f[W>>2]=M}while((xa|0)<(I|0));ob=M}M=H;do{xa=J+(M<<2)|0;R=M;M=f[xa>>2]|0;f[xa>>2]=ob}while((M|0)<(R|0));f[z+(C<<2)>>2]=ob;G=D;break}f[z+(C<<2)>>2]=f[y+(C<<2)>>2];G=D;break}if(E?b[v+O>>0]|0:0){M=C+2|0;if(A&(M|0)<(n|0)?b[w+M>>0]|0:0){if(b[w+C>>0]|0){if(B?b[x+O>>0]|0:0){f[z+(C<<2)>>2]=f[y+(M<<2)>>2];G=D;break}J=f[l>>2]|0;H=f[y+(C<<2)>>2]|0;R=f[y+(M<<2)>>2]|0;xa=H;while(1){L=f[J+(xa<<2)>>2]|0;if((L|0)<(xa|0))xa=L;else break}if((H|0)==(R|0))pb=xa;else{E=R;while(1){L=f[J+(E<<2)>>2]|0;if((L|0)<(E|0))E=L;else break}L=(xa|0)>(E|0)?E:xa;Ca=R;do{I=J+(Ca<<2)|0;W=Ca;Ca=f[I>>2]|0;f[I>>2]=L}while((Ca|0)<(W|0));pb=L}L=H;do{Ca=J+(L<<2)|0;R=L;L=f[Ca>>2]|0;f[Ca>>2]=pb}while((L|0)<(R|0));f[z+(C<<2)>>2]=pb;G=D;break}if(F?b[w+Q>>0]|0:0){do if(B){if(!(b[x+O>>0]|0))break;if(b[x+C>>0]|0){f[z+(C<<2)>>2]=f[y+(M<<2)>>2];G=D;break a}L=f[l>>2]|0;J=f[y+(C+-2<<2)>>2]|0;H=f[y+(M<<2)>>2]|0;R=J;while(1){Ca=f[L+(R<<2)>>2]|0;if((Ca|0)<(R|0))R=Ca;else break}if((J|0)==(H|0))qb=R;else{Ca=H;while(1){xa=f[L+(Ca<<2)>>2]|0;if((xa|0)<(Ca|0))Ca=xa;else break}xa=(R|0)>(Ca|0)?Ca:R;E=H;do{W=L+(E<<2)|0;I=E;E=f[W>>2]|0;f[W>>2]=xa}while((E|0)<(I|0));qb=xa}xa=J;do{E=L+(xa<<2)|0;H=xa;xa=f[E>>2]|0;f[E>>2]=qb}while((xa|0)<(H|0));f[z+(C<<2)>>2]=qb;G=D;break a}while(0);O=f[l>>2]|0;xa=f[y+(C+-2<<2)>>2]|0;L=f[y+(M<<2)>>2]|0;J=xa;while(1){H=f[O+(J<<2)>>2]|0;if((H|0)<(J|0))J=H;else break}if((xa|0)==(L|0))rb=J;else{H=L;while(1){E=f[O+(H<<2)>>2]|0;if((E|0)<(H|0))H=E;else break}E=(J|0)>(H|0)?H:J;R=L;do{Ca=O+(R<<2)|0;I=R;R=f[Ca>>2]|0;f[Ca>>2]=E}while((R|0)<(I|0));rb=E}E=xa;do{R=O+(E<<2)|0;L=E;E=f[R>>2]|0;f[R>>2]=rb}while((E|0)<(L|0));f[z+(C<<2)>>2]=rb;G=D;break}f[z+(C<<2)>>2]=f[y+(M<<2)>>2];G=D;break}if(A){if(b[w+C>>0]|0){f[z+(C<<2)>>2]=f[y+(C<<2)>>2];G=D;break}if(F?b[w+Q>>0]|0:0){f[z+(C<<2)>>2]=f[y+(C+-2<<2)>>2];G=D;break}}f[z+(C<<2)>>2]=D;f[(f[l>>2]|0)+(D<<2)>>2]=D;G=D+1|0;break}if(A){if(b[w+C>>0]|0){f[z+(C<<2)>>2]=f[y+(C<<2)>>2];G=D;break}if(F?b[w+Q>>0]|0:0){f[z+(C<<2)>>2]=f[y+(C+-2<<2)>>2];G=D;break}}f[z+(C<<2)>>2]=D;f[(f[l>>2]|0)+(D<<2)>>2]=D;G=D+1|0}while(0);C=C+2|0;if((C|0)>=(n|0)){sb=G;break}else D=G}}else sb=s;a=a+2|0;if((a|0)>=(f[d>>2]|0))break;else s=sb}o=sb;p=f[g>>2]|0;q=o-j|0;r=p+(c<<2)|0;f[r>>2]=q;return}function Jha(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;d=f[a+12>>2]|0;e=f[a+8>>2]|0;g=f[c>>2]|0;if((g|0)>=(e|0))return;h=f[a+16>>2]|0;i=f[a+44>>2]|0;a=(d|0)>0;j=d+-1|0;k=g;do{g=f[i>>2]|0;l=h+(X(g,k)|0)|0;m=l+(0-g)|0;if(a){g=0;do{n=l+(g<<2)|0;o=f[n>>2]|0;if((o|0)>0){if((g|0)>0?(p=f[m+(g+-1<<2)>>2]|0,(p|0)>0):0){q=p;while(1){r=f[b+(q<<2)>>2]|0;if((r|0)<(q|0))q=r;else break}if((p|0)==(o|0))s=q;else{r=o;while(1){t=f[b+(r<<2)>>2]|0;if((t|0)<(r|0))r=t;else break}t=(q|0)>(r|0)?r:q;u=o;do{v=b+(u<<2)|0;w=u;u=f[v>>2]|0;f[v>>2]=t}while((u|0)<(w|0));s=t}t=p;do{u=b+(t<<2)|0;q=t;t=f[u>>2]|0;f[u>>2]=s}while((t|0)<(q|0));f[n>>2]=s;x=s}else x=o;if((g|0)<(j|0)?(t=f[m+(g+1<<2)>>2]|0,(t|0)>0):0){p=t;while(1){q=f[b+(p<<2)>>2]|0;if((q|0)<(p|0))p=q;else break}if((t|0)==(x|0))y=p;else{o=x;while(1){q=f[b+(o<<2)>>2]|0;if((q|0)<(o|0))o=q;else break}q=(p|0)>(o|0)?o:p;u=x;do{r=b+(u<<2)|0;w=u;u=f[r>>2]|0;f[r>>2]=q}while((u|0)<(w|0));y=q}q=t;do{u=b+(q<<2)|0;p=q;q=f[u>>2]|0;f[u>>2]=y}while((q|0)<(p|0));f[n>>2]=y;z=y}else z=x;q=f[m+(g<<2)>>2]|0;if((q|0)>0){t=q;while(1){p=f[b+(t<<2)>>2]|0;if((p|0)<(t|0))t=p;else break}if((q|0)==(z|0))A=t;else{p=z;while(1){u=f[b+(p<<2)>>2]|0;if((u|0)<(p|0))p=u;else break}u=(t|0)>(p|0)?p:t;o=z;do{w=b+(o<<2)|0;r=o;o=f[w>>2]|0;f[w>>2]=u}while((o|0)<(r|0));A=u}u=q;do{o=b+(u<<2)|0;t=u;u=f[o>>2]|0;f[o>>2]=A}while((u|0)<(t|0));f[n>>2]=A}}g=g+1|0}while((g|0)!=(d|0))}k=f[c+(k<<2)>>2]|0}while((k|0)<(e|0));return}function Kha(a){a=a|0;GQa(a);return}function Lha(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;c=f[b>>2]|0;d=f[b+4>>2]|0;if((c|0)>0){b=a+16|0;Fha((f[b>>2]|0)+(c*136|0)|0,f[f[a+20>>2]>>2]|0);e=f[b>>2]|0;f[e+(c*136|0)+132>>2]=d;if((c|0)>=(d|0))return;b=a+4|0;g=a+8|0;h=e+(c*136|0)+20|0;i=e+(c*136|0)+48|0;j=e+(c*136|0)+120|0;e=c;do{k=f[b>>2]|0;l=(f[k+16>>2]|0)+(X(f[f[k+44>>2]>>2]|0,e)|0)|0;m=l+(f[k+12>>2]<<2)|0;if((m|0)!=(l|0)){k=f[g>>2]|0;n=f[h>>2]|0;o=f[i>>2]|0;p=f[j>>2]|0;q=((e|0)<0)<<31>>31;r=0;s=l;while(1){l=f[k+(f[s>>2]<<2)>>2]|0;f[s>>2]=l;t=n+(X(f[o>>2]|0,l)|0)|0;u=f[t>>2]|0;f[t>>2]=(u|0)>(r|0)?r:u;u=t+8|0;v=f[u>>2]|0;f[u>>2]=(v|0)<(r|0)?r:v;v=t+4|0;u=f[v>>2]|0;f[v>>2]=(u|0)>(e|0)?e:u;u=t+12|0;v=f[u>>2]|0;f[u>>2]=(v|0)<(e|0)?e:v;v=t+16|0;f[v>>2]=(f[v>>2]|0)+1;v=p+(l<<4)|0;t=v;u=qVa(f[t>>2]|0,f[t+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;t=v;f[t>>2]=u;f[t+4>>2]=I;t=p+(l<<4)+8|0;l=t;u=qVa(f[l>>2]|0,f[l+4>>2]|0,e|0,q|0)|0;l=t;f[l>>2]=u;f[l+4>>2]=I;s=s+4|0;if((s|0)==(m|0))break;else r=r+1|0}}e=e+1|0}while((e|0)!=(d|0));return}else{e=a+12|0;f[(f[e>>2]|0)+132>>2]=d;if((c|0)>=(d|0))return;j=a+4|0;i=a+8|0;a=c;do{c=f[j>>2]|0;h=(f[c+16>>2]|0)+(X(f[f[c+44>>2]>>2]|0,a)|0)|0;g=h+(f[c+12>>2]<<2)|0;if((g|0)!=(h|0)){c=f[i>>2]|0;b=((a|0)<0)<<31>>31;r=h;h=0;while(1){m=f[c+(f[r>>2]<<2)>>2]|0;f[r>>2]=m;s=f[e>>2]|0;q=(f[s+20>>2]|0)+(X(f[f[s+48>>2]>>2]|0,m)|0)|0;p=f[q>>2]|0;f[q>>2]=(p|0)>(h|0)?h:p;p=q+8|0;o=f[p>>2]|0;f[p>>2]=(o|0)<(h|0)?h:o;o=q+4|0;p=f[o>>2]|0;f[o>>2]=(p|0)>(a|0)?a:p;p=q+12|0;o=f[p>>2]|0;f[p>>2]=(o|0)<(a|0)?a:o;o=q+16|0;f[o>>2]=(f[o>>2]|0)+1;o=f[s+120>>2]|0;s=o+(m<<4)|0;q=s;p=qVa(f[q>>2]|0,f[q+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;q=s;f[q>>2]=p;f[q+4>>2]=I;q=o+(m<<4)+8|0;m=q;o=qVa(f[m>>2]|0,f[m+4>>2]|0,a|0,b|0)|0;m=q;f[m>>2]=o;f[m+4>>2]=I;r=r+4|0;if((r|0)==(g|0))break;else h=h+1|0}}a=a+1|0}while((a|0)!=(d|0));return}}function Mha(a){a=a|0;GQa(a);return}function Nha(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;d=f[c>>2]|0;e=c+4|0;c=f[a+16>>2]|0;f[c+(d<<2)>>2]=f[e>>2];g=a+8|0;h=f[g>>2]|0;i=(((X(f[h+12>>2]|0,d)|0)+1|0)/2|0)+1|0;j=a+4|0;k=f[j>>2]|0;l=f[k+12>>2]|0;if((d|0)==(f[e>>2]|0)){m=i;n=m-i|0;o=d+1|0;p=c+(o<<2)|0;f[p>>2]=n;return}q=(l|0)>0;r=a+12|0;a=d;s=i;t=k;k=h;while(1){h=f[f[t+44>>2]>>2]|0;u=(f[t+16>>2]|0)+(X(h,a)|0)|0;v=u+(0-h)|0;h=f[f[k+44>>2]>>2]|0;w=(f[k+16>>2]|0)+(X(h,a)|0)|0;x=w+(0-h)|0;a:do if(q){if((a|0)>(d|0)){y=0;z=s}else{h=0;A=s;while(1){do if(!(b[u+h>>0]|0)){f[w+(h<<2)>>2]=0;B=A}else{if((h|0)>0?(C=h+-1|0,b[u+C>>0]|0):0){f[w+(h<<2)>>2]=f[w+(C<<2)>>2];B=A;break}f[w+(h<<2)>>2]=A;f[(f[r>>2]|0)+(A<<2)>>2]=A;B=A+1|0}while(0);h=h+1|0;if((h|0)==(l|0)){D=B;break a}else A=B}}while(1){do if(!(b[u+y>>0]|0)){f[w+(y<<2)>>2]=0;E=z}else{A=(y|0)>0;if(!(b[v+y>>0]|0)){if(A?(h=y+-1|0,b[u+h>>0]|0):0){f[w+(y<<2)>>2]=f[w+(h<<2)>>2];E=z;break}f[w+(y<<2)>>2]=z;f[(f[r>>2]|0)+(z<<2)>>2]=z;E=z+1|0;break}if(A?(A=y+-1|0,(b[u+A>>0]|0)!=0):0){h=f[r>>2]|0;C=f[w+(A<<2)>>2]|0;A=f[x+(y<<2)>>2]|0;F=C;while(1){G=f[h+(F<<2)>>2]|0;if((G|0)<(F|0))F=G;else break}if((C|0)==(A|0))H=F;else{G=A;while(1){I=f[h+(G<<2)>>2]|0;if((I|0)<(G|0))G=I;else break}I=(F|0)>(G|0)?G:F;J=A;do{K=h+(J<<2)|0;L=J;J=f[K>>2]|0;f[K>>2]=I}while((J|0)<(L|0));H=I}I=C;do{J=h+(I<<2)|0;A=I;I=f[J>>2]|0;f[J>>2]=H}while((I|0)<(A|0));M=H}else M=f[x+(y<<2)>>2]|0;f[w+(y<<2)>>2]=M;E=z}while(0);y=y+1|0;if((y|0)==(l|0)){D=E;break}else z=E}}else D=s;while(0);w=a+1|0;if((w|0)==(f[e>>2]|0)){m=D;break}a=w;s=D;t=f[j>>2]|0;k=f[g>>2]|0}n=m-i|0;o=d+1|0;p=c+(o<<2)|0;f[p>>2]=n;return}function Oha(a){a=a|0;GQa(a);return}function Pha(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;d=f[c>>2]|0;e=c+4|0;c=f[a+16>>2]|0;f[c+(d<<2)>>2]=f[e>>2];g=d+1|0;h=a+8|0;i=f[h>>2]|0;j=(X(((f[i+12>>2]|0)+1|0)/2|0,(g|0)/2|0)|0)+1|0;k=a+4|0;l=f[k>>2]|0;m=f[l+12>>2]|0;n=f[e>>2]|0;if((d|0)==(n|0)){o=j;p=o-j|0;q=c+(g<<2)|0;f[q>>2]=p;return}r=(m|0)>0;s=m+-1|0;t=a+12|0;a=d;u=j;v=n;n=l;l=i;while(1){i=f[f[n+44>>2]>>2]|0;w=(f[n+16>>2]|0)+(X(i,a)|0)|0;x=w+(0-i)|0;i=f[f[l+44>>2]>>2]|0;y=(f[l+16>>2]|0)+(X(i,a)|0)|0;z=y+(0-i)|0;if(r){i=(a|0)>(d|0);A=i^1;B=0;C=u;while(1){a:do if(!(b[w+B>>0]|0)){f[y+(B<<2)>>2]=0;D=C}else{if(i){if(b[x+B>>0]|0){f[y+(B<<2)>>2]=f[z+(B<<2)>>2];D=C;break}if(!((B|0)>=(s|0)|A)){E=B+1|0;if(!(b[x+E>>0]|0))F=0;else{do if((B|0)>0){G=B+-1|0;if(!(b[x+G>>0]|0)){if(!(b[w+G>>0]|0)){H=34;break}I=f[t>>2]|0;J=f[y+(G<<2)>>2]|0;K=f[z+(E<<2)>>2]|0;L=J;while(1){M=f[I+(L<<2)>>2]|0;if((M|0)<(L|0))L=M;else break}if((J|0)==(K|0))N=L;else{M=K;while(1){O=f[I+(M<<2)>>2]|0;if((O|0)<(M|0))M=O;else break}O=(L|0)>(M|0)?M:L;P=K;do{Q=I+(P<<2)|0;R=P;P=f[Q>>2]|0;f[Q>>2]=O}while((P|0)<(R|0));N=O}O=J;do{P=I+(O<<2)|0;K=O;O=f[P>>2]|0;f[P>>2]=N}while((O|0)<(K|0));S=N}else{O=f[t>>2]|0;I=f[z+(G<<2)>>2]|0;J=f[z+(E<<2)>>2]|0;K=I;while(1){P=f[O+(K<<2)>>2]|0;if((P|0)<(K|0))K=P;else break}if((I|0)==(J|0))T=K;else{G=J;while(1){P=f[O+(G<<2)>>2]|0;if((P|0)<(G|0))G=P;else break}P=(K|0)>(G|0)?G:K;L=J;do{M=O+(L<<2)|0;R=L;L=f[M>>2]|0;f[M>>2]=P}while((L|0)<(R|0));T=P}P=I;do{L=O+(P<<2)|0;J=P;P=f[L>>2]|0;f[L>>2]=T}while((P|0)<(J|0));f[y+(B<<2)>>2]=T;D=C;break a}}else H=34;while(0);if((H|0)==34){H=0;S=f[z+(E<<2)>>2]|0}f[y+(B<<2)>>2]=S;D=C;break}}else F=A}else F=A;P=(B|0)>0;if(!(F|P^1)?(O=B+-1|0,b[x+O>>0]|0):0){f[y+(B<<2)>>2]=f[z+(O<<2)>>2];D=C;break}if(P?(P=B+-1|0,b[w+P>>0]|0):0){f[y+(B<<2)>>2]=f[y+(P<<2)>>2];D=C;break}f[y+(B<<2)>>2]=C;f[(f[t>>2]|0)+(C<<2)>>2]=C;D=C+1|0}while(0);B=B+1|0;if((B|0)==(m|0))break;else C=D}U=D;V=f[e>>2]|0}else{U=u;V=v}C=a+1|0;if((C|0)==(V|0)){o=U;break}a=C;u=U;v=V;n=f[k>>2]|0;l=f[h>>2]|0}p=o-j|0;q=c+(g<<2)|0;f[q>>2]=p;return}function Qha(a,c,d,e,g,h){a=a|0;c=c|0;d=+d;e=+e;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0,H=0.0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0;i=u;u=u+368|0;j=i+352|0;k=i+344|0;l=i+280|0;m=i+336|0;n=i+216|0;o=i+160|0;p=i+272|0;q=i+104|0;r=i+80|0;s=i+72|0;t=i+24|0;v=i+16|0;w=i;yV(j,58492);if(TJ(a,-1)|0){f[k>>2]=0;f[k+4>>2]=0;x=JV(k,17)|0;y=232348;z=x+17|0;do{b[x>>0]=b[y>>0]|0;x=x+1|0;y=y+1|0}while((x|0)<(z|0));EP(-215,k,232366,232372,947);KV(k)}FJ(k,a,-1);A=c+4|0;B=a+4|0;if((f[A>>2]|0)==(f[B>>2]|0)?GJ(a,-1)|0:0){f[l>>2]=0;f[l+4>>2]=0;DVa(JV(l,134)|0,232429,134)|0;EP(-215,l,232366,232372,952);KV(l)}f[m>>2]=f[k>>2];f[m+4>>2]=f[k+4>>2];_J(c,m,0,-1,0,0);m=(g|0)<0;k=m|h;C=m&(h^1)?g&2147483647:g;if(!(C&1))D=8;else switch(C|0){case 7:{D=9;break}case -1:case 6:case 5:case 4:case 3:{E=d;F=e;break}default:D=8}if((D|0)==8){f[l>>2]=0;f[l+4>>2]=0;x=JV(l,43)|0;y=232564;z=x+43|0;do{b[x>>0]=b[y>>0]|0;x=x+1|0;y=y+1|0}while((x|0)<(z|0));EP(-206,l,232366,232372,964);KV(l);if((C|0)==7)D=9;else{E=d;F=e}}if((D|0)==9){E=d*.0625;F=e*.0625}D=E>F;e=D?E:F;d=D?F:E;do if((HJ(a)|0)==65536){D=f[B>>2]|0;f[l>>2]=f[D>>2];y=l+4|0;g=D+4|0;f[y>>2]=f[g>>2];h=l+8|0;f[h>>2]=f[D+8>>2];f[l+12>>2]=f[D+12>>2];f[l+16>>2]=f[D+16>>2];f[l+20>>2]=f[D+20>>2];f[l+24>>2]=f[D+24>>2];f[l+28>>2]=f[D+28>>2];f[l+32>>2]=f[D+32>>2];m=f[D+36>>2]|0;f[l+36>>2]=m;f[l+40>>2]=h;h=l+48|0;G=l+44|0;f[G>>2]=h;f[h>>2]=0;f[l+52>>2]=0;if(m|0){h=m+12|0;f[h>>2]=(f[h>>2]|0)+1}if((f[g>>2]|0)<3){g=f[D+44>>2]|0;h=f[G>>2]|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];break}else{f[y>>2]=0;WO(l,D);break}}else DJ(l,a,-1);while(0);do if((HJ(c)|0)==65536){a=f[A>>2]|0;f[n>>2]=f[a>>2];B=n+4|0;D=a+4|0;f[B>>2]=f[D>>2];y=n+8|0;f[y>>2]=f[a+8>>2];f[n+12>>2]=f[a+12>>2];f[n+16>>2]=f[a+16>>2];f[n+20>>2]=f[a+20>>2];f[n+24>>2]=f[a+24>>2];f[n+28>>2]=f[a+28>>2];f[n+32>>2]=f[a+32>>2];g=f[a+36>>2]|0;f[n+36>>2]=g;f[n+40>>2]=y;y=n+48|0;h=n+44|0;f[h>>2]=y;f[y>>2]=0;f[n+52>>2]=0;if(g|0){y=g+12|0;f[y>>2]=(f[y>>2]|0)+1}if((f[D>>2]|0)<3){D=f[a+44>>2]|0;y=f[h>>2]|0;f[y>>2]=f[D>>2];f[y+4>>2]=f[D+4>>2];break}else{f[B>>2]=0;WO(n,a);break}}else DJ(n,c,-1);while(0);c=l+40|0;A=f[c>>2]|0;a=f[A>>2]|0;f[p>>2]=f[A+4>>2];f[p+4>>2]=a;a=l+16|0;A=l+48|0;EJ(o,p,f[l>>2]&4095,f[a>>2]|0,f[A>>2]|0);p=o+16|0;B=n+16|0;D=o+12|0;y=o+8|0;if(k){E=d<32767.0?d:32767.0;F=e<32767.0?e:32767.0;H=E>0.0?E*E:E;if(F>0.0){I=F*F;J=H}else{I=F;J=H}}else{I=e;J=d}h=~~J;g=h-(J<+(h|0)&1)|0;h=~~I;G=h-(I<+(h|0)&1)|0;h=a_()|0;m=b_()|0;K=(m|0)<(h|0)?m:h;h=(K|0)>1?K:1;K=f[y>>2]|0;m=(C|0)<0?4:(((C|0)/2|0)<<1)+2|0;if(((K|0)/(h|0)|0|0)<(m|0)){L=(K|0)/(m|0)|0;M=(L|0)>1?L:1}else M=h;f[q>>2]=1124007936;h=q+4|0;L=q+8|0;m=q+40|0;x=h;z=x+36|0;do{f[x>>2]=0;x=x+4|0}while((x|0)<(z|0));f[m>>2]=L;L=q+48|0;x=q+44|0;f[x>>2]=L;f[L>>2]=0;f[q+52>>2]=0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;f[r+16>>2]=0;f[r+20>>2]=0;f[s>>2]=0;f[s+4>>2]=K;Rha(t,o,q,r,g,G,C,k);$Z(s,t,+(M|0));f[t>>2]=58520;oQ(t+44|0);yV(s,58532);s=f[q+12>>2]|0;M=r+20|0;k=f[M>>2]|0;if(k|0){C=r+16|0;G=r+4|0;g=r+8|0;K=0-s|0;z=~s;N=1-s|0;O=s+-1|0;P=s+1|0;Q=k;while(1){k=f[C>>2]|0;R=Q+-1|0;S=k+R|0;T=f[G>>2]|0;U=f[(f[T+(S>>>10<<2)>>2]|0)+((S&1023)<<2)>>2]|0;f[M>>2]=R;R=f[g>>2]|0;S=R-T|0;if((1-Q-k+((S|0)==0?0:(S<<8)+-1|0)|0)>>>0>2047){GQa(f[R+-4>>2]|0);f[g>>2]=(f[g>>2]|0)+-4}R=U+K|0;if(!(b[U+z>>0]|0)){S=R+-1|0;b[S>>0]=2;k=f[G>>2]|0;T=(f[g>>2]|0)-k|0;V=f[C>>2]|0;W=f[M>>2]|0;if((((T|0)==0?0:(T<<8)+-1|0)|0)==(W+V|0)){Sha(r);Y=f[C>>2]|0;Z=f[M>>2]|0;_=f[G>>2]|0}else{Y=V;Z=W;_=k}k=Z+Y|0;f[(f[_+(k>>>10<<2)>>2]|0)+((k&1023)<<2)>>2]=S;f[M>>2]=Z+1}if(!(b[R>>0]|0)){b[R>>0]=2;S=f[G>>2]|0;k=(f[g>>2]|0)-S|0;W=f[C>>2]|0;V=f[M>>2]|0;if((((k|0)==0?0:(k<<8)+-1|0)|0)==(V+W|0)){Sha(r);$=f[C>>2]|0;aa=f[M>>2]|0;ba=f[G>>2]|0}else{$=W;aa=V;ba=S}S=aa+$|0;f[(f[ba+(S>>>10<<2)>>2]|0)+((S&1023)<<2)>>2]=R;f[M>>2]=aa+1}if(!(b[U+N>>0]|0)){R=U+K+1|0;b[R>>0]=2;S=f[G>>2]|0;V=(f[g>>2]|0)-S|0;W=f[C>>2]|0;k=f[M>>2]|0;if((((V|0)==0?0:(V<<8)+-1|0)|0)==(k+W|0)){Sha(r);ca=f[C>>2]|0;da=f[M>>2]|0;ea=f[G>>2]|0}else{ca=W;da=k;ea=S}S=da+ca|0;f[(f[ea+(S>>>10<<2)>>2]|0)+((S&1023)<<2)>>2]=R;f[M>>2]=da+1}R=U+-1|0;if(!(b[R>>0]|0)){b[R>>0]=2;S=f[G>>2]|0;k=(f[g>>2]|0)-S|0;W=f[C>>2]|0;V=f[M>>2]|0;if((((k|0)==0?0:(k<<8)+-1|0)|0)==(V+W|0)){Sha(r);fa=f[C>>2]|0;ga=f[M>>2]|0;ha=f[G>>2]|0}else{fa=W;ga=V;ha=S}S=ga+fa|0;f[(f[ha+(S>>>10<<2)>>2]|0)+((S&1023)<<2)>>2]=R;f[M>>2]=ga+1}R=U+1|0;if(!(b[R>>0]|0)){b[R>>0]=2;S=f[G>>2]|0;V=(f[g>>2]|0)-S|0;W=f[C>>2]|0;k=f[M>>2]|0;if((((V|0)==0?0:(V<<8)+-1|0)|0)==(k+W|0)){Sha(r);ia=f[C>>2]|0;ja=f[M>>2]|0;ka=f[G>>2]|0}else{ia=W;ja=k;ka=S}S=ja+ia|0;f[(f[ka+(S>>>10<<2)>>2]|0)+((S&1023)<<2)>>2]=R;f[M>>2]=ja+1}R=U+s|0;if(!(b[U+O>>0]|0)){S=R+-1|0;b[S>>0]=2;k=f[G>>2]|0;W=(f[g>>2]|0)-k|0;V=f[C>>2]|0;T=f[M>>2]|0;if((((W|0)==0?0:(W<<8)+-1|0)|0)==(T+V|0)){Sha(r);la=f[C>>2]|0;ma=f[M>>2]|0;na=f[G>>2]|0}else{la=V;ma=T;na=k}k=ma+la|0;f[(f[na+(k>>>10<<2)>>2]|0)+((k&1023)<<2)>>2]=S;f[M>>2]=ma+1}if(!(b[R>>0]|0)){b[R>>0]=2;S=f[G>>2]|0;k=(f[g>>2]|0)-S|0;T=f[C>>2]|0;V=f[M>>2]|0;if((((k|0)==0?0:(k<<8)+-1|0)|0)==(V+T|0)){Sha(r);oa=f[C>>2]|0;pa=f[M>>2]|0;qa=f[G>>2]|0}else{oa=T;pa=V;qa=S}S=pa+oa|0;f[(f[qa+(S>>>10<<2)>>2]|0)+((S&1023)<<2)>>2]=R;f[M>>2]=pa+1}if(!(b[U+P>>0]|0)){R=U+s+1|0;b[R>>0]=2;U=f[G>>2]|0;S=(f[g>>2]|0)-U|0;V=f[C>>2]|0;T=f[M>>2]|0;if((((S|0)==0?0:(S<<8)+-1|0)|0)==(T+V|0)){Sha(r);ra=f[C>>2]|0;sa=f[M>>2]|0;ta=f[G>>2]|0}else{ra=V;sa=T;ta=U}U=sa+ra|0;f[(f[ta+(U>>>10<<2)>>2]|0)+((U&1023)<<2)>>2]=R;R=sa+1|0;f[M>>2]=R;ua=R}else ua=f[M>>2]|0;if(!ua)break;else Q=ua}}yV(t,58552);t=f[y>>2]|0;f[v>>2]=0;f[v+4>>2]=t;f[w>>2]=58580;f[w+4>>2]=q;f[w+8>>2]=n;y=o+4|0;ua=f[y>>2]|0;if((ua|0)<3)va=X(f[D>>2]|0,t)|0;else{t=f[o+40>>2]|0;D=0;Q=1;while(1){M=X(f[t+(D<<2)>>2]|0,Q)|0;D=D+1|0;if((D|0)==(ua|0)){va=M;break}else Q=M}}$Z(v,w,+(va>>>0)*.0000152587890625);Tha(r);r=q+36|0;va=f[r>>2]|0;if(va|0?(w=va+12|0,va=f[w>>2]|0,f[w>>2]=va+-1,(va|0)==1):0)XO(q);f[r>>2]=0;r=q+16|0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;if((f[h>>2]|0)>0){r=f[m>>2]|0;m=0;do{f[r+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[h>>2]|0))}h=f[x>>2]|0;if((h|0)!=(L|0))dX(h);h=o+36|0;L=f[h>>2]|0;if(L|0?(x=L+12|0,L=f[x>>2]|0,f[x>>2]=L+-1,(L|0)==1):0)XO(o);f[h>>2]=0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;if((f[y>>2]|0)>0){p=f[o+40>>2]|0;h=0;do{f[p+(h<<2)>>2]=0;h=h+1|0}while((h|0)<(f[y>>2]|0))}y=f[o+44>>2]|0;if((y|0)!=(o+48|0))dX(y);y=n+36|0;o=f[y>>2]|0;if(o|0?(h=o+12|0,o=f[h>>2]|0,f[h>>2]=o+-1,(o|0)==1):0)XO(n);f[y>>2]=0;y=n+4|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;if((f[y>>2]|0)>0){B=f[n+40>>2]|0;o=0;do{f[B+(o<<2)>>2]=0;o=o+1|0}while((o|0)<(f[y>>2]|0))}y=f[n+44>>2]|0;if((y|0)!=(n+48|0))dX(y);y=l+36|0;n=f[y>>2]|0;do if(n|0){o=n+12|0;B=f[o>>2]|0;f[o>>2]=B+-1;if((B|0)!=1)break;XO(l)}while(0);f[y>>2]=0;y=l+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if((f[y>>2]|0)>0){a=f[c>>2]|0;c=0;do{f[a+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[y>>2]|0))}y=f[l+44>>2]|0;if((y|0)!=(A|0))dX(y);if(!(f[j+4>>2]|0)){u=i;return}u=i;return}function Rha(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;k=u;u=u+144|0;l=k+120|0;m=k;n=k+64|0;o=k+8|0;f[a>>2]=58520;q=a+4|0;f[q>>2]=c;f[a+8>>2]=c;c=a+12|0;f[c>>2]=d;f[a+16>>2]=e;f[a+20>>2]=g;f[a+24>>2]=h;f[a+28>>2]=i;b[a+32>>0]=j&1;nQ(a+44|0);j=f[q>>2]|0;i=(f[j+8>>2]|0)+2|0;h=(f[j+12>>2]|0)+2|0;j=d+4|0;if(!(((((f[j>>2]|0)<3?(f[d+8>>2]|0)==(i|0):0)?(f[d+12>>2]|0)==(h|0):0)?(f[d>>2]&4095|0)==0:0)?(f[d+16>>2]|0)!=0:0)){f[l>>2]=i;f[l+4>>2]=h;VO(d,2,l,0)}h=f[c>>2]|0;if((h|0)==(d|0))r=d;else{i=d+36|0;g=f[i>>2]|0;if(g|0){e=g+12|0;f[e>>2]=(f[e>>2]|0)+1}e=h+36|0;g=f[e>>2]|0;if(g|0?(s=g+12|0,g=f[s>>2]|0,f[s>>2]=g+-1,(g|0)==1):0)XO(h);f[e>>2]=0;g=h+16|0;s=h+4|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;if((f[s>>2]|0)>0){t=f[h+40>>2]|0;v=0;do{f[t+(v<<2)>>2]=0;v=v+1|0;w=f[s>>2]|0}while((v|0)<(w|0));f[h>>2]=f[d>>2];if((w|0)<3)x=18;else x=20}else{f[h>>2]=f[d>>2];x=18}if((x|0)==18){w=f[j>>2]|0;if((w|0)<3){f[s>>2]=w;f[h+8>>2]=f[d+8>>2];f[h+12>>2]=f[d+12>>2];w=f[d+44>>2]|0;s=f[h+44>>2]|0;f[s>>2]=f[w>>2];f[s+4>>2]=f[w+4>>2]}else x=20}if((x|0)==20)WO(h,d);f[g>>2]=f[d+16>>2];f[h+20>>2]=f[d+20>>2];f[h+24>>2]=f[d+24>>2];f[h+28>>2]=f[d+28>>2];f[h+32>>2]=f[d+32>>2];f[e>>2]=f[i>>2];r=f[c>>2]|0}f[l>>2]=0;f[l+4>>2]=1;f[m>>2]=-2147483648;f[m+4>>2]=2147483647;YO(n,r,l,m);p[m>>3]=1.0;f[l>>2]=-1056833530;f[l+4>>2]=m;f[l+8>>2]=1;f[l+12>>2]=1;hM(n,l,BK()|0)|0;r=n+36|0;i=f[r>>2]|0;if(i|0?(e=i+12|0,i=f[e>>2]|0,f[e>>2]=i+-1,(i|0)==1):0)XO(n);f[r>>2]=0;r=n+16|0;i=n+4|0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;if((f[i>>2]|0)>0){r=f[n+40>>2]|0;e=0;do{f[r+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(f[i>>2]|0))}i=f[n+44>>2]|0;if((i|0)!=(n+48|0))dX(i);i=f[c>>2]|0;n=f[(f[q>>2]|0)+8>>2]|0;f[l>>2]=n+1;f[l+4>>2]=n+2;f[m>>2]=-2147483648;f[m+4>>2]=2147483647;YO(o,i,l,m);p[m>>3]=1.0;f[l>>2]=-1056833530;f[l+4>>2]=m;f[l+8>>2]=1;f[l+12>>2]=1;hM(o,l,BK()|0)|0;l=o+36|0;m=f[l>>2]|0;if(m|0?(i=m+12|0,m=f[i>>2]|0,f[i>>2]=m+-1,(m|0)==1):0)XO(o);f[l>>2]=0;l=o+16|0;m=o+4|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;if((f[m>>2]|0)>0){l=f[o+40>>2]|0;i=0;do{f[l+(i<<2)>>2]=0;i=i+1|0}while((i|0)<(f[m>>2]|0))}m=f[o+44>>2]|0;if((m|0)==(o+48|0)){y=f[c>>2]|0;z=y+12|0;A=f[z>>2]|0;B=a+36|0;f[B>>2]=A;C=a+33|0;b[C>>0]=1;D=f[q>>2]|0;E=f[D>>2]|0;F=E>>>3;G=F&511;H=G+1|0;I=a+40|0;f[I>>2]=H;u=k;return}dX(m);y=f[c>>2]|0;z=y+12|0;A=f[z>>2]|0;B=a+36|0;f[B>>2]=A;C=a+33|0;b[C>>0]=1;D=f[q>>2]|0;E=f[D>>2]|0;F=E>>>3;G=F&511;H=G+1|0;I=a+40|0;f[I>>2]=H;u=k;return}function Sha(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;b=u;u=u+32|0;c=b;d=a+16|0;e=f[d>>2]|0;if(e>>>0>1023){f[d>>2]=e+-1024;e=a+4|0;d=f[e>>2]|0;g=f[d>>2]|0;h=d+4|0;f[e>>2]=h;d=a+8|0;i=f[d>>2]|0;j=a+12|0;k=f[j>>2]|0;l=k;do if((i|0)==(k|0)){m=f[a>>2]|0;n=m;if(h>>>0>m>>>0){o=h;p=((o-n>>2)+1|0)/-2|0;q=h+(p<<2)|0;r=i-o|0;o=r>>2;if(!o)s=h;else{EVa(q|0,h|0,r|0)|0;s=f[e>>2]|0}r=q+(o<<2)|0;f[d>>2]=r;f[e>>2]=s+(p<<2);t=r;break}r=l-n>>1;n=(r|0)==0?1:r;if(n>>>0>1073741823){r=hd(8)|0;LQa(r,349912);f[r>>2]=118288;ld(r|0,20688,857)}r=EQa(n<<2)|0;p=r;o=r+(n>>>2<<2)|0;q=o;v=r+(n<<2)|0;if((h|0)==(i|0)){w=q;x=m}else{m=o;o=q;n=h;do{f[m>>2]=f[n>>2];m=o+4|0;o=m;n=n+4|0}while((n|0)!=(i|0));w=o;x=f[a>>2]|0}f[a>>2]=p;f[e>>2]=q;f[d>>2]=w;f[j>>2]=v;if(!x)t=w;else{GQa(x);t=f[d>>2]|0}}else t=i;while(0);f[t>>2]=g;f[d>>2]=(f[d>>2]|0)+4;u=b;return}d=a+8|0;g=f[d>>2]|0;t=a+4|0;i=f[t>>2]|0;x=g-i|0;w=a+12|0;j=f[w>>2]|0;e=f[a>>2]|0;h=j-e|0;l=g;s=j;k=i;n=e;if(x>>>0>=h>>>0){m=h>>1;r=(m|0)==0?1:m;f[c+12>>2]=0;f[c+16>>2]=a+12;if(r>>>0>1073741823){m=hd(8)|0;LQa(m,349912);f[m>>2]=118288;ld(m|0,20688,857)}m=x>>2;y=EQa(r<<2)|0;f[c>>2]=y;z=y+(m<<2)|0;A=c+8|0;f[A>>2]=z;B=c+4|0;f[B>>2]=z;C=y+(r<<2)|0;D=c+12|0;f[D>>2]=C;E=EQa(4096)|0;F=C;do if((m|0)==(r|0)){C=y;if(z>>>0>y>>>0){G=z+((((z-C>>2)+1|0)/-2|0)<<2)|0;f[A>>2]=G;f[B>>2]=G;H=G;break}G=F-C>>1;C=(G|0)==0?1:G;if(C>>>0>1073741823){G=hd(8)|0;LQa(G,349912);f[G>>2]=118288;ld(G|0,20688,857)}else{G=EQa(C<<2)|0;I=G+(C>>>2<<2)|0;J=I;f[c>>2]=G;f[B>>2]=J;f[A>>2]=J;f[D>>2]=G+(C<<2);GQa(y);H=I;break}}else H=z;while(0);f[H>>2]=E;f[A>>2]=(f[A>>2]|0)+4;E=f[d>>2]|0;while(1){K=f[t>>2]|0;if((E|0)==(K|0))break;H=E+-4|0;Xha(c,H);E=H}H=K;K=f[a>>2]|0;f[a>>2]=f[c>>2];f[c>>2]=K;f[t>>2]=f[B>>2];f[B>>2]=H;B=f[d>>2]|0;f[d>>2]=f[A>>2];f[A>>2]=B;z=f[w>>2]|0;f[w>>2]=f[D>>2];f[D>>2]=z;z=B;if((E|0)!=(z|0))f[A>>2]=z+(~((z+-4-H|0)>>>2)<<2);if(K|0)GQa(K);u=b;return}if((j|0)==(g|0)){j=EQa(4096)|0;f[c>>2]=j;Wha(a,c);c=f[t>>2]|0;j=f[c>>2]|0;K=c+4|0;f[t>>2]=K;c=f[d>>2]|0;H=f[w>>2]|0;z=H;do if((c|0)==(H|0)){A=f[a>>2]|0;E=A;if(K>>>0>A>>>0){B=K;D=((B-E>>2)+1|0)/-2|0;y=K+(D<<2)|0;F=c-B|0;B=F>>2;if(!B)L=K;else{EVa(y|0,K|0,F|0)|0;L=f[t>>2]|0}F=y+(B<<2)|0;f[d>>2]=F;f[t>>2]=L+(D<<2);M=F;break}F=z-E>>1;E=(F|0)==0?1:F;if(E>>>0>1073741823){F=hd(8)|0;LQa(F,349912);f[F>>2]=118288;ld(F|0,20688,857)}F=EQa(E<<2)|0;D=F;B=F+(E>>>2<<2)|0;y=B;r=F+(E<<2)|0;if((K|0)==(c|0)){N=y;O=A}else{A=B;B=y;E=K;do{f[A>>2]=f[E>>2];A=B+4|0;B=A;E=E+4|0}while((E|0)!=(c|0));N=B;O=f[a>>2]|0}f[a>>2]=D;f[t>>2]=y;f[d>>2]=N;f[w>>2]=r;if(!O)M=N;else{GQa(O);M=f[d>>2]|0}}else M=c;while(0);f[M>>2]=j;f[d>>2]=(f[d>>2]|0)+4;u=b;return}else{j=EQa(4096)|0;M=g;do if((l|0)==(s|0)){if(k>>>0>n>>>0){g=((i-e>>2)+1|0)/-2|0;c=k+(g<<2)|0;O=x>>2;if(!O)P=k;else{EVa(c|0,i|0,x|0)|0;P=f[t>>2]|0}N=c+(O<<2)|0;f[d>>2]=N;f[t>>2]=P+(g<<2);Q=N;break}N=h>>1;g=(N|0)==0?1:N;if(g>>>0>1073741823){N=hd(8)|0;LQa(N,349912);f[N>>2]=118288;ld(N|0,20688,857)}N=EQa(g<<2)|0;O=N;c=N+(g>>>2<<2)|0;K=c;z=N+(g<<2)|0;if((k|0)==(l|0)){R=K;S=n}else{g=c;c=K;N=k;do{f[g>>2]=f[N>>2];g=c+4|0;c=g;N=N+4|0}while((N|0)!=(l|0));R=c;S=f[a>>2]|0}f[a>>2]=O;f[t>>2]=K;f[d>>2]=R;f[w>>2]=z;if(!S)Q=R;else{GQa(S);Q=f[d>>2]|0}}else Q=M;while(0);f[Q>>2]=j;f[d>>2]=(f[d>>2]|0)+4;u=b;return}}function Tha(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;b=a+4|0;c=f[b>>2]|0;d=a+16|0;e=f[d>>2]|0;g=c+(e>>>10<<2)|0;h=a+8|0;i=f[h>>2]|0;j=i;k=c;if((i|0)==(c|0)){l=0;m=a+20|0;n=0}else{o=a+20|0;p=(f[o>>2]|0)+e|0;l=(f[c+(p>>>10<<2)>>2]|0)+((p&1023)<<2)|0;m=o;n=(f[g>>2]|0)+((e&1023)<<2)|0}e=g;g=n;a:while(1){n=g;do{o=n;if((l|0)==(o|0))break a;n=o+4|0}while((n-(f[e>>2]|0)|0)!=4096);n=e+4|0;e=n;g=f[n>>2]|0}f[m>>2]=0;m=j-k>>2;if(m>>>0>2){k=c;do{GQa(f[k>>2]|0);k=(f[b>>2]|0)+4|0;f[b>>2]=k;q=f[h>>2]|0;r=q-k>>2}while(r>>>0>2);s=r;t=k;u=q}else{s=m;t=c;u=i}switch(s|0){case 1:{v=512;w=14;break}case 2:{v=1024;w=14;break}default:{}}if((w|0)==14)f[d>>2]=v;if((t|0)==(u|0)){x=u;y=u}else{v=t;do{GQa(f[v>>2]|0);v=v+4|0}while((v|0)!=(u|0));x=f[h>>2]|0;y=f[b>>2]|0}if((x|0)!=(y|0))f[h>>2]=x+(~((x+-4-y|0)>>>2)<<2);y=f[a>>2]|0;if(!y)return;GQa(y);return}function Uha(a){a=a|0;GQa(a);return}function Vha(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=f[c>>2]|0;e=c+4|0;c=f[e>>2]|0;if((d|0)>=(c|0))return;g=a+8|0;i=a+4|0;a=d;d=f[g>>2]|0;j=c;while(1){c=(f[d+16>>2]|0)+(X(f[f[d+44>>2]>>2]|0,a)|0)|0;k=f[i>>2]|0;a=a+1|0;l=(f[k+16>>2]|0)+(X(f[f[k+44>>2]>>2]|0,a)|0)+1|0;if((f[d+12>>2]|0)>0){k=0;do{b[c+k>>0]=0-((h[l+k>>0]|0)>>>1);k=k+1|0;m=f[g>>2]|0}while((k|0)<(f[m+12>>2]|0));n=f[e>>2]|0;o=m}else{n=j;o=d}if((a|0)>=(n|0))break;else{d=o;j=n}}return}function Wha(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=e;do if((d|0)==(e|0)){h=a+8|0;i=f[h>>2]|0;j=a+12|0;k=f[j>>2]|0;l=k;if(i>>>0>>0){k=i;m=((l-k>>2)+1|0)/2|0;n=i+(m<<2)|0;o=k-d|0;k=o>>2;p=n+(0-k<<2)|0;if(!k){q=n;r=i}else{EVa(p|0,d|0,o|0)|0;q=p;r=f[h>>2]|0}f[c>>2]=q;f[h>>2]=r+(m<<2);s=q;break}m=l-g>>1;l=(m|0)==0?1:m;if(l>>>0>1073741823){m=hd(8)|0;LQa(m,349912);f[m>>2]=118288;ld(m|0,20688,857)}m=EQa(l<<2)|0;p=m;o=m+((l+3|0)>>>2<<2)|0;n=o;k=m+(l<<2)|0;if((d|0)==(i|0)){t=n;u=d}else{l=o;m=n;v=d;do{f[l>>2]=f[v>>2];l=m+4|0;m=l;v=v+4|0}while((v|0)!=(i|0));t=m;u=f[a>>2]|0}f[a>>2]=p;f[c>>2]=n;f[h>>2]=t;f[j>>2]=k;if(!u)s=o;else{GQa(u);s=f[c>>2]|0}}else s=d;while(0);f[s+-4>>2]=f[b>>2];f[c>>2]=(f[c>>2]|0)+-4;return}function Xha(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=e;do if((d|0)==(e|0)){h=a+8|0;i=f[h>>2]|0;j=a+12|0;k=f[j>>2]|0;l=k;if(i>>>0>>0){k=i;m=((l-k>>2)+1|0)/2|0;n=i+(m<<2)|0;o=k-d|0;k=o>>2;p=n+(0-k<<2)|0;if(!k){q=n;r=i}else{EVa(p|0,d|0,o|0)|0;q=p;r=f[h>>2]|0}f[c>>2]=q;f[h>>2]=r+(m<<2);s=q;break}m=l-g>>1;l=(m|0)==0?1:m;if(l>>>0>1073741823){m=hd(8)|0;LQa(m,349912);f[m>>2]=118288;ld(m|0,20688,857)}m=EQa(l<<2)|0;p=m;o=m+((l+3|0)>>>2<<2)|0;n=o;k=m+(l<<2)|0;if((d|0)==(i|0)){t=n;u=d}else{l=o;m=n;v=d;do{f[l>>2]=f[v>>2];l=m+4|0;m=l;v=v+4|0}while((v|0)!=(i|0));t=m;u=f[a>>2]|0}f[a>>2]=p;f[c>>2]=n;f[h>>2]=t;f[j>>2]=k;if(!u)s=o;else{GQa(u);s=f[c>>2]|0}}else s=d;while(0);f[s+-4>>2]=f[b>>2];f[c>>2]=(f[c>>2]|0)+-4;return}function Yha(a){a=a|0;f[a>>2]=58520;oQ(a+44|0);return}function Zha(a){a=a|0;f[a>>2]=58520;oQ(a+44|0);GQa(a);return}function _ha(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0.0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0;e=u;u=u+3520|0;g=e+3496|0;h=e+3488|0;i=e+3432|0;j=e+3424|0;k=e+3368|0;l=e+3312|0;m=e+2256|0;n=e+1200|0;o=e+1168|0;p=e+1144|0;q=e+1136|0;r=e+1080|0;s=e+16|0;t=e+8|0;v=e+3304|0;w=e+2248|0;x=e+1192|0;y=e;yV(j,58592);f[k>>2]=1124007936;z=k+4|0;A=k+8|0;B=k+40|0;C=z;D=C+36|0;do{f[C>>2]=0;C=C+4|0}while((C|0)<(D|0));f[B>>2]=A;E=k+48|0;F=k+44|0;f[F>>2]=E;f[E>>2]=0;f[k+52>>2]=0;f[l>>2]=1124007936;G=l+4|0;H=l+8|0;I=l+40|0;C=G;D=C+36|0;do{f[C>>2]=0;C=C+4|0}while((C|0)<(D|0));f[I>>2]=H;C=l+48|0;D=l+44|0;f[D>>2]=C;f[C>>2]=0;f[l+52>>2]=0;J=m+8|0;f[m>>2]=J;K=m+4|0;f[K>>2]=0;L=n+8|0;f[n>>2]=L;M=n+4|0;f[M>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;N=f[c>>2]|0;O=N+-1|0;P=(O|0)>0?O:0;O=a+4|0;Q=c+4|0;R=(f[Q>>2]|0)+1|0;S=f[(f[O>>2]|0)+8>>2]|0;T=(R|0)<(S|0)?R:S;yV(q,58612);if(!(b[a+33>>0]|0)){q=f[O>>2]|0;f[g>>2]=P;f[g+4>>2]=T;f[h>>2]=-2147483648;f[h+4>>2]=2147483647;YO(i,q,g,h);q=i+36|0;S=f[q>>2]|0;if(S|0){R=S+12|0;f[R>>2]=(f[R>>2]|0)+1}R=k+36|0;S=f[R>>2]|0;if(S|0?(U=S+12|0,S=f[U>>2]|0,f[U>>2]=S+-1,(S|0)==1):0)XO(k);f[R>>2]=0;S=k+16|0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;f[S+12>>2]=0;if((f[z>>2]|0)>0){U=f[B>>2]|0;V=0;do{f[U+(V<<2)>>2]=0;V=V+1|0;W=f[z>>2]|0}while((V|0)<(W|0));f[k>>2]=f[i>>2];if((W|0)<3)Y=29;else Y=31}else{f[k>>2]=f[i>>2];Y=29}if((Y|0)==29){W=f[i+4>>2]|0;if((W|0)<3){f[z>>2]=W;f[A>>2]=f[i+8>>2];f[k+12>>2]=f[i+12>>2];A=f[i+44>>2]|0;W=f[F>>2]|0;f[W>>2]=f[A>>2];f[W+4>>2]=f[A+4>>2]}else Y=31}if((Y|0)==31)WO(k,i);A=i+16|0;f[S>>2]=f[A>>2];f[k+20>>2]=f[i+20>>2];f[k+24>>2]=f[i+24>>2];f[k+28>>2]=f[i+28>>2];f[k+32>>2]=f[i+32>>2];S=f[q>>2]|0;f[R>>2]=S;if(S|0?(R=S+12|0,S=f[R>>2]|0,f[R>>2]=S+-1,(S|0)==1):0)XO(i);f[q>>2]=0;q=i+4|0;f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;f[A+12>>2]=0;if((f[q>>2]|0)>0){A=f[i+40>>2]|0;S=0;do{f[A+(S<<2)>>2]=0;S=S+1|0}while((S|0)<(f[q>>2]|0))}q=f[i+44>>2]|0;if((q|0)!=(i+48|0))dX(q);q=f[a+8>>2]|0;f[g>>2]=P;f[g+4>>2]=T;f[h>>2]=-2147483648;f[h+4>>2]=2147483647;YO(i,q,g,h);q=i+36|0;S=f[q>>2]|0;if(S|0){A=S+12|0;f[A>>2]=(f[A>>2]|0)+1}A=l+36|0;S=f[A>>2]|0;if(S|0?(R=S+12|0,S=f[R>>2]|0,f[R>>2]=S+-1,(S|0)==1):0)XO(l);f[A>>2]=0;S=l+16|0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;f[S+12>>2]=0;if((f[G>>2]|0)>0){R=f[I>>2]|0;W=0;do{f[R+(W<<2)>>2]=0;W=W+1|0;Z=f[G>>2]|0}while((W|0)<(Z|0));f[l>>2]=f[i>>2];if((Z|0)<3)Y=50;else Y=52}else{f[l>>2]=f[i>>2];Y=50}if((Y|0)==50){Z=f[i+4>>2]|0;if((Z|0)<3){f[G>>2]=Z;f[H>>2]=f[i+8>>2];f[l+12>>2]=f[i+12>>2];H=f[i+44>>2]|0;Z=f[D>>2]|0;f[Z>>2]=f[H>>2];f[Z+4>>2]=f[H+4>>2]}else Y=52}if((Y|0)==52)WO(l,i);H=i+16|0;f[S>>2]=f[H>>2];f[l+20>>2]=f[i+20>>2];f[l+24>>2]=f[i+24>>2];f[l+28>>2]=f[i+28>>2];f[l+32>>2]=f[i+32>>2];S=f[q>>2]|0;f[A>>2]=S;if(S|0?(A=S+12|0,S=f[A>>2]|0,f[A>>2]=S+-1,(S|0)==1):0)XO(i);f[q>>2]=0;q=i+4|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;if((f[q>>2]|0)>0){H=f[i+40>>2]|0;S=0;do{f[H+(S<<2)>>2]=0;S=S+1|0}while((S|0)<(f[q>>2]|0))}q=f[i+44>>2]|0;if((q|0)!=(i+48|0))dX(q)}else{q=a+28|0;_=(f[q>>2]|0)==7?.0625:1.0;S=f[O>>2]|0;f[g>>2]=P;f[g+4>>2]=T;f[h>>2]=-2147483648;f[h+4>>2]=2147483647;YO(r,S,g,h);f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=r;S=g+8|0;f[S>>2]=0;f[S+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=k;Z5(i,g,3,1,0,f[q>>2]|0,_,0.0,1);S=r+36|0;H=f[S>>2]|0;if(H|0?(A=H+12|0,H=f[A>>2]|0,f[A>>2]=H+-1,(H|0)==1):0)XO(r);f[S>>2]=0;S=r+16|0;H=r+4|0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;f[S+12>>2]=0;if((f[H>>2]|0)>0){S=f[r+40>>2]|0;A=0;do{f[S+(A<<2)>>2]=0;A=A+1|0}while((A|0)<(f[H>>2]|0))}H=f[r+44>>2]|0;if((H|0)!=(r+48|0))dX(H);H=f[O>>2]|0;f[g>>2]=P;f[g+4>>2]=T;f[h>>2]=-2147483648;f[h+4>>2]=2147483647;YO(r,H,g,h);f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=r;H=g+8|0;f[H>>2]=0;f[H+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=l;Z5(i,g,3,0,1,f[q>>2]|0,_,0.0,1);q=r+36|0;H=f[q>>2]|0;if(H|0?(A=H+12|0,H=f[A>>2]|0,f[A>>2]=H+-1,(H|0)==1):0)XO(r);f[q>>2]=0;q=r+16|0;H=r+4|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;if((f[H>>2]|0)>0){q=f[r+40>>2]|0;A=0;do{f[q+(A<<2)>>2]=0;A=A+1|0}while((A|0)<(f[H>>2]|0))}H=f[r+44>>2]|0;if((H|0)!=(r+48|0))dX(H)}yV(r,58632);r=a+40|0;H=f[r>>2]|0;if((H|0)>1){A=k+12|0;q=f[A>>2]<<1;if((f[K>>2]|0)>>>0>>0){S=f[m>>2]|0;if((S|0)!=(J|0)){if(S|0)HQa(S);f[m>>2]=J;f[K>>2]=520}f[K>>2]=q;if(q>>>0>520){S=FQa(q>>>0>2147483647?-1:q<<1)|0;f[m>>2]=S}}else f[K>>2]=q;q=l+12|0;S=f[q>>2]<<1;if((f[M>>2]|0)>>>0>>0){Z=f[n>>2]|0;if((Z|0)!=(L|0)){if(Z|0)HQa(Z);f[n>>2]=L;f[M>>2]=520}f[M>>2]=S;if(S>>>0>520){Z=FQa(S>>>0>2147483647?-1:S<<1)|0;f[n>>2]=Z;$=Z}else $=L}else{f[M>>2]=S;$=f[n>>2]|0}S=f[m>>2]|0;aa=$+(f[q>>2]<<1)|0;ba=S+(f[A>>2]<<1)|0;ca=$;da=S;ea=f[r>>2]|0}else{aa=0;ba=0;ca=0;da=0;ea=H}H=a+36|0;S=f[H>>2]|0;$=X(S*3|0,ea)|0;A=s+8|0;f[s>>2]=A;q=s+4|0;f[q>>2]=$;if($>>>0>264){Z=FQa($>>>0>1073741823?-1:$<<2)|0;f[s>>2]=Z;fa=Z}else fa=A;Z=fa+4|0;$=X(ea,S)|0;ea=Z+($<<2)|0;W=ea+($<<2)|0;$=W+-4|0;if((P|0)==(f[c>>2]|0)){FVa($|0,0,S<<2|0)|0;ga=f[O>>2]|0}else{f[$>>2]=0;$=f[O>>2]|0;f[W+(f[$+12>>2]<<2)>>2]=0;ga=$}f[fa>>2]=0;fa=ga+12|0;f[Z+(f[fa>>2]<<2)>>2]=0;f[ea+-4>>2]=0;f[ea+(f[fa>>2]<<2)>>2]=0;fa=f[Q>>2]|0;if((P|0)>(fa|0)){ha=a+12|0;ia=fa}else{fa=k+16|0;ga=l+16|0;$=a+32|0;S=a+12|0;R=a+20|0;V=a+24|0;U=o+8|0;ja=o+4|0;ka=o+16|0;la=o+20|0;ma=P;na=aa;aa=ba;ba=ca;ca=da;da=W;W=ea;ea=Z;while(1){if((ma|0)<(T|0)){Z=ma-P|0;oa=(f[fa>>2]|0)+(X(f[f[F>>2]>>2]|0,Z)|0)|0;pa=(f[ga>>2]|0)+(X(f[f[D>>2]>>2]|0,Z)|0)|0;Z=f[r>>2]|0;qa=X(Z,f[(f[O>>2]|0)+12>>2]|0)|0;ra=(qa|0)>0;if(!(b[$>>0]|0))if(ra){sa=ea;ta=0;do{ua=d[oa+(ta<<1)>>1]|0;va=ua<<16>>16;wa=d[pa+(ta<<1)>>1]|0;xa=wa<<16>>16;f[sa+(ta<<2)>>2]=(wa<<16>>16>-1?xa:0-xa|0)+(ua<<16>>16>-1?va:0-va|0);ta=ta+1|0}while((ta|0)!=(qa|0));Y=97}else ya=Z;else if(ra){ta=ea;sa=0;do{va=d[oa+(sa<<1)>>1]|0;ua=X(va,va)|0;va=d[pa+(sa<<1)>>1]|0;xa=(X(va,va)|0)+ua|0;f[ta+(sa<<2)>>2]=xa;sa=sa+1|0}while((sa|0)!=(qa|0));Y=97}else ya=Z;if((Y|0)==97){Y=0;ya=f[r>>2]|0}if((ya|0)>1){qa=f[(f[O>>2]|0)+12>>2]|0;sa=ea;if((qa|0)>0){ta=ca;ra=ba;xa=0;ua=0;va=ya;while(1){if((va|0)>1){wa=ua;za=1;while(1){Aa=za+ua|0;Ba=(f[sa+(Aa<<2)>>2]|0)>(f[sa+(wa<<2)>>2]|0)?Aa:wa;za=za+1|0;if((za|0)>=(va|0)){Ca=Ba;break}else wa=Ba}}else Ca=ua;f[sa+(xa<<2)>>2]=f[sa+(Ca<<2)>>2];d[ta+(xa<<1)>>1]=d[oa+(Ca<<1)>>1]|0;d[ra+(xa<<1)>>1]=d[pa+(Ca<<1)>>1]|0;xa=xa+1|0;wa=f[r>>2]|0;za=f[(f[O>>2]|0)+12>>2]|0;if((xa|0)>=(za|0)){Da=za;break}else{ua=wa+ua|0;va=wa}}}else Da=qa;f[sa+(Da<<2)>>2]=0;Ea=ba;Fa=ca;Ga=na;Ha=aa}else{Ea=na;Fa=aa;Ga=ba;Ha=ca}if((ma|0)>(f[c>>2]|0)){Ia=Ea;Ja=Fa;Ka=Ga;La=Ha;Y=107}else{Ma=Ea;Na=Fa;Oa=Ga;Pa=Ha}}else{FVa(ea+-4|0,0,f[H>>2]<<2|0)|0;va=(f[r>>2]|0)>1;Ia=va?ba:na;Ja=va?ca:aa;Ka=va?na:ba;La=va?aa:ca;Y=107}if((Y|0)==107){Y=0;va=f[S>>2]|0;ua=(f[va+16>>2]|0)+(X(f[f[va+44>>2]>>2]|0,ma)|0)|0;va=ua+1|0;b[ua>>0]=1;b[va+(f[(f[O>>2]|0)+12>>2]|0)>>0]=1;if((f[r>>2]|0)==1){ua=ma-P+-1|0;xa=(f[fa>>2]|0)+(X(f[f[F>>2]>>2]|0,ua)|0)|0;Qa=xa;Ra=(f[ga>>2]|0)+(X(f[f[D>>2]>>2]|0,ua)|0)|0}else{Qa=La;Ra=Ka}if((f[(f[O>>2]|0)+12>>2]|0)>0){ua=da;xa=W;pa=ea;ra=0;do{oa=f[ua+(ra<<2)>>2]|0;do if((oa|0)>(f[R>>2]|0)){ta=d[Qa+(ra<<1)>>1]|0;Z=d[Ra+(ra<<1)>>1]|0;wa=ta<<16>>16;za=ta<<16>>16>-1?wa:0-wa|0;wa=Z<<16>>16;Ba=(Z<<16>>16>-1?wa:0-wa|0)<<15;if((Ba|0)<(za*13573|0)){if((oa|0)<=(f[ua+(ra+-1<<2)>>2]|0)){Y=136;break}if((oa|0)<(f[ua+(ra+1<<2)>>2]|0)){Y=136;break}wa=va+ra|0;if((oa|0)<=(f[V>>2]|0)){b[wa>>0]=0;break}b[wa>>0]=2;Aa=f[ja>>2]|0;Sa=(f[U>>2]|0)-Aa|0;Ta=f[ka>>2]|0;Ua=f[la>>2]|0;if((((Sa|0)==0?0:(Sa<<8)+-1|0)|0)==(Ua+Ta|0)){Sha(o);Va=f[ka>>2]|0;Wa=f[la>>2]|0;Xa=f[ja>>2]|0}else{Va=Ta;Wa=Ua;Xa=Aa}Aa=Wa+Va|0;f[(f[Xa+(Aa>>>10<<2)>>2]|0)+((Aa&1023)<<2)>>2]=wa;f[la>>2]=Wa+1;break}if((Ba|0)>(za*79109|0)){if((oa|0)<=(f[xa+(ra<<2)>>2]|0)){Y=136;break}if((oa|0)<(f[pa+(ra<<2)>>2]|0)){Y=136;break}za=va+ra|0;if((oa|0)<=(f[V>>2]|0)){b[za>>0]=0;break}b[za>>0]=2;Ba=f[ja>>2]|0;wa=(f[U>>2]|0)-Ba|0;Aa=f[ka>>2]|0;Ua=f[la>>2]|0;if((((wa|0)==0?0:(wa<<8)+-1|0)|0)==(Ua+Aa|0)){Sha(o);Ya=f[ka>>2]|0;Za=f[la>>2]|0;_a=f[ja>>2]|0}else{Ya=Aa;Za=Ua;_a=Ba}Ba=Za+Ya|0;f[(f[_a+(Ba>>>10<<2)>>2]|0)+((Ba&1023)<<2)>>2]=za;f[la>>2]=Za+1;break}else{za=(Z^ta)<<16>>16<0?-1:1;if((oa|0)<=(f[xa+(ra-za<<2)>>2]|0)){Y=136;break}if((oa|0)<=(f[pa+(za+ra<<2)>>2]|0)){Y=136;break}za=va+ra|0;if((oa|0)<=(f[V>>2]|0)){b[za>>0]=0;break}b[za>>0]=2;ta=f[ja>>2]|0;Z=(f[U>>2]|0)-ta|0;Ba=f[ka>>2]|0;Ua=f[la>>2]|0;if((((Z|0)==0?0:(Z<<8)+-1|0)|0)==(Ua+Ba|0)){Sha(o);$a=f[ka>>2]|0;ab=f[la>>2]|0;bb=f[ja>>2]|0}else{$a=Ba;ab=Ua;bb=ta}ta=ab+$a|0;f[(f[bb+(ta>>>10<<2)>>2]|0)+((ta&1023)<<2)>>2]=za;f[la>>2]=ab+1;break}}else Y=136;while(0);if((Y|0)==136){Y=0;b[va+ra>>0]=1}ra=ra+1|0}while((ra|0)<(f[(f[O>>2]|0)+12>>2]|0));Ma=Ia;Na=Ja;Oa=Ka;Pa=La}else{Ma=Ia;Na=Ja;Oa=Ka;Pa=La}}ra=f[Q>>2]|0;if((ma|0)<(ra|0)){va=ea;ma=ma+1|0;na=Ma;aa=Na;ba=Oa;ca=Pa;ea=W;W=da;da=va}else{ha=S;ia=ra;break}}}S=f[ha>>2]|0;ha=f[S+16>>2]|0;if((N|0)<2)cb=ha;else cb=ha+(X((f[c>>2]|0)+2|0,f[H>>2]|0)|0)|0;if((T|0)==(f[(f[O>>2]|0)+8>>2]|0))db=f[S+28>>2]|0;else db=ha+(X(f[H>>2]|0,ia)|0)|0;ia=cb;ha=db-ia|0;yV(t,58652);t=o+20|0;db=f[t>>2]|0;if(!db)eb=p+20|0;else{S=o+16|0;O=o+4|0;T=o+8|0;c=p+8|0;N=p+4|0;da=p+16|0;W=p+20|0;ea=db;while(1){db=f[S>>2]|0;Pa=ea+-1|0;ca=db+Pa|0;Oa=f[O>>2]|0;ba=f[(f[Oa+(ca>>>10<<2)>>2]|0)+((ca&1023)<<2)>>2]|0;f[t>>2]=Pa;Pa=f[T>>2]|0;ca=Pa-Oa|0;if((1-ea-db+((ca|0)==0?0:(ca<<8)+-1|0)|0)>>>0>2047){GQa(f[Pa+-4>>2]|0);f[T>>2]=(f[T>>2]|0)+-4}Pa=ba;do if((ba-ia|0)>>>0>=ha>>>0){ca=f[N>>2]|0;db=(f[c>>2]|0)-ca|0;Oa=f[da>>2]|0;Na=f[W>>2]|0;if((((db|0)==0?0:(db<<8)+-1|0)|0)==(Na+Oa|0)){Sha(p);fb=f[da>>2]|0;gb=f[W>>2]|0;hb=f[N>>2]|0}else{fb=Oa;gb=Na;hb=ca}ca=gb+fb|0;f[(f[hb+(ca>>>10<<2)>>2]|0)+((ca&1023)<<2)>>2]=ba;f[W>>2]=gb+1;ca=f[H>>2]|0;Na=cb>>>0>Pa>>>0?ca:0-ca|0;ca=Pa+-1|0;if(!(b[ca>>0]|0)){b[ca>>0]=2;Oa=f[O>>2]|0;db=(f[T>>2]|0)-Oa|0;aa=f[S>>2]|0;Ma=f[t>>2]|0;if((((db|0)==0?0:(db<<8)+-1|0)|0)==(Ma+aa|0)){Sha(o);ib=f[S>>2]|0;jb=f[t>>2]|0;kb=f[O>>2]|0}else{ib=aa;jb=Ma;kb=Oa}Oa=jb+ib|0;f[(f[kb+(Oa>>>10<<2)>>2]|0)+((Oa&1023)<<2)>>2]=ca;f[t>>2]=jb+1}ca=Pa+1|0;if(!(b[ca>>0]|0)){b[ca>>0]=2;Oa=f[O>>2]|0;Ma=(f[T>>2]|0)-Oa|0;aa=f[S>>2]|0;db=f[t>>2]|0;if((((Ma|0)==0?0:(Ma<<8)+-1|0)|0)==(db+aa|0)){Sha(o);lb=f[S>>2]|0;mb=f[t>>2]|0;nb=f[O>>2]|0}else{lb=aa;mb=db;nb=Oa}Oa=mb+lb|0;f[(f[nb+(Oa>>>10<<2)>>2]|0)+((Oa&1023)<<2)>>2]=ca;f[t>>2]=mb+1}ca=Pa+Na|0;if(!(b[Pa+(Na+-1)>>0]|0)){Oa=ca+-1|0;b[Oa>>0]=2;db=f[O>>2]|0;aa=(f[T>>2]|0)-db|0;Ma=f[S>>2]|0;na=f[t>>2]|0;if((((aa|0)==0?0:(aa<<8)+-1|0)|0)==(na+Ma|0)){Sha(o);ob=f[S>>2]|0;pb=f[t>>2]|0;qb=f[O>>2]|0}else{ob=Ma;pb=na;qb=db}db=pb+ob|0;f[(f[qb+(db>>>10<<2)>>2]|0)+((db&1023)<<2)>>2]=Oa;f[t>>2]=pb+1}if(!(b[ca>>0]|0)){b[ca>>0]=2;Oa=f[O>>2]|0;db=(f[T>>2]|0)-Oa|0;na=f[S>>2]|0;Ma=f[t>>2]|0;if((((db|0)==0?0:(db<<8)+-1|0)|0)==(Ma+na|0)){Sha(o);rb=f[S>>2]|0;sb=f[t>>2]|0;tb=f[O>>2]|0}else{rb=na;sb=Ma;tb=Oa}Oa=sb+rb|0;f[(f[tb+(Oa>>>10<<2)>>2]|0)+((Oa&1023)<<2)>>2]=ca;f[t>>2]=sb+1}if(!(b[Pa+(Na+1)>>0]|0)){ca=Pa+Na+1|0;b[ca>>0]=2;Na=f[O>>2]|0;Oa=(f[T>>2]|0)-Na|0;Ma=f[S>>2]|0;na=f[t>>2]|0;if((((Oa|0)==0?0:(Oa<<8)+-1|0)|0)==(na+Ma|0)){Sha(o);ub=f[S>>2]|0;vb=f[t>>2]|0;wb=f[O>>2]|0}else{ub=Ma;vb=na;wb=Na}Na=vb+ub|0;f[(f[wb+(Na>>>10<<2)>>2]|0)+((Na&1023)<<2)>>2]=ca;ca=vb+1|0;f[t>>2]=ca;xb=ca}else Y=203}else{ca=f[H>>2]|0;if(!(b[Pa+~ca>>0]|0)){b[Pa+(0-ca)+-1>>0]=2;Na=f[H>>2]|0;na=f[O>>2]|0;Ma=(f[T>>2]|0)-na|0;Oa=f[S>>2]|0;db=f[t>>2]|0;if((((Ma|0)==0?0:(Ma<<8)+-1|0)|0)==(db+Oa|0)){Sha(o);yb=f[H>>2]|0;zb=f[S>>2]|0;Ab=f[t>>2]|0;Bb=f[O>>2]|0}else{yb=Na;zb=Oa;Ab=db;Bb=na}na=Ab+zb|0;f[(f[Bb+(na>>>10<<2)>>2]|0)+((na&1023)<<2)>>2]=Pa+(0-Na)+-1;f[t>>2]=Ab+1;Cb=yb}else Cb=ca;ca=Pa+(0-Cb)|0;if(!(b[ca>>0]|0)){b[ca>>0]=2;ca=f[H>>2]|0;Na=f[O>>2]|0;na=(f[T>>2]|0)-Na|0;db=f[S>>2]|0;Oa=f[t>>2]|0;if((((na|0)==0?0:(na<<8)+-1|0)|0)==(Oa+db|0)){Sha(o);Db=f[H>>2]|0;Eb=f[S>>2]|0;Fb=f[t>>2]|0;Gb=f[O>>2]|0}else{Db=ca;Eb=db;Fb=Oa;Gb=Na}Na=Fb+Eb|0;f[(f[Gb+(Na>>>10<<2)>>2]|0)+((Na&1023)<<2)>>2]=Pa+(0-ca);f[t>>2]=Fb+1;Hb=Db}else Hb=Cb;if(!(b[Pa+(1-Hb)>>0]|0)){b[Pa+(0-Hb)+1>>0]=2;ca=Pa+(0-(f[H>>2]|0))+1|0;Na=f[O>>2]|0;Oa=(f[T>>2]|0)-Na|0;db=f[S>>2]|0;na=f[t>>2]|0;if((((Oa|0)==0?0:(Oa<<8)+-1|0)|0)==(na+db|0)){Sha(o);Ib=f[S>>2]|0;Jb=f[t>>2]|0;Kb=f[O>>2]|0}else{Ib=db;Jb=na;Kb=Na}Na=Jb+Ib|0;f[(f[Kb+(Na>>>10<<2)>>2]|0)+((Na&1023)<<2)>>2]=ca;f[t>>2]=Jb+1}ca=Pa+-1|0;if(!(b[ca>>0]|0)){b[ca>>0]=2;Na=f[O>>2]|0;na=(f[T>>2]|0)-Na|0;db=f[S>>2]|0;Oa=f[t>>2]|0;if((((na|0)==0?0:(na<<8)+-1|0)|0)==(Oa+db|0)){Sha(o);Lb=f[S>>2]|0;Mb=f[t>>2]|0;Nb=f[O>>2]|0}else{Lb=db;Mb=Oa;Nb=Na}Na=Mb+Lb|0;f[(f[Nb+(Na>>>10<<2)>>2]|0)+((Na&1023)<<2)>>2]=ca;f[t>>2]=Mb+1}ca=Pa+1|0;if(!(b[ca>>0]|0)){b[ca>>0]=2;Na=f[O>>2]|0;Oa=(f[T>>2]|0)-Na|0;db=f[S>>2]|0;na=f[t>>2]|0;if((((Oa|0)==0?0:(Oa<<8)+-1|0)|0)==(na+db|0)){Sha(o);Ob=f[S>>2]|0;Pb=f[t>>2]|0;Qb=f[O>>2]|0}else{Ob=db;Pb=na;Qb=Na}Na=Pb+Ob|0;f[(f[Qb+(Na>>>10<<2)>>2]|0)+((Na&1023)<<2)>>2]=ca;f[t>>2]=Pb+1}ca=f[H>>2]|0;if(!(b[Pa+(ca+-1)>>0]|0)){b[Pa+ca+-1>>0]=2;Na=f[H>>2]|0;na=f[O>>2]|0;db=(f[T>>2]|0)-na|0;Oa=f[S>>2]|0;Ma=f[t>>2]|0;if((((db|0)==0?0:(db<<8)+-1|0)|0)==(Ma+Oa|0)){Sha(o);Rb=f[H>>2]|0;Sb=f[S>>2]|0;Tb=f[t>>2]|0;Ub=f[O>>2]|0}else{Rb=Na;Sb=Oa;Tb=Ma;Ub=na}na=Tb+Sb|0;f[(f[Ub+(na>>>10<<2)>>2]|0)+((na&1023)<<2)>>2]=Pa+Na+-1;f[t>>2]=Tb+1;Vb=Rb}else Vb=ca;ca=Pa+Vb|0;if(!(b[ca>>0]|0)){b[ca>>0]=2;ca=f[H>>2]|0;Na=f[O>>2]|0;na=(f[T>>2]|0)-Na|0;Ma=f[S>>2]|0;Oa=f[t>>2]|0;if((((na|0)==0?0:(na<<8)+-1|0)|0)==(Oa+Ma|0)){Sha(o);Wb=f[H>>2]|0;Xb=f[S>>2]|0;Yb=f[t>>2]|0;Zb=f[O>>2]|0}else{Wb=ca;Xb=Ma;Yb=Oa;Zb=Na}Na=Yb+Xb|0;f[(f[Zb+(Na>>>10<<2)>>2]|0)+((Na&1023)<<2)>>2]=Pa+ca;f[t>>2]=Yb+1;_b=Wb}else _b=Vb;if(b[Pa+(_b+1)>>0]|0){Y=203;break}b[Pa+_b+1>>0]=2;ca=Pa+(f[H>>2]|0)+1|0;Na=f[O>>2]|0;Oa=(f[T>>2]|0)-Na|0;Ma=f[S>>2]|0;na=f[t>>2]|0;if((((Oa|0)==0?0:(Oa<<8)+-1|0)|0)==(na+Ma|0)){Sha(o);$b=f[S>>2]|0;ac=f[t>>2]|0;bc=f[O>>2]|0}else{$b=Ma;ac=na;bc=Na}Na=ac+$b|0;f[(f[bc+(Na>>>10<<2)>>2]|0)+((Na&1023)<<2)>>2]=ca;ca=ac+1|0;f[t>>2]=ca;xb=ca}while(0);if((Y|0)==203){Y=0;xb=f[t>>2]|0}if(!xb){eb=W;break}else ea=xb}}if(f[eb>>2]|0){xb=a+44|0;pQ(xb);ea=f[a+16>>2]|0;a=(f[ea+16>>2]|0)+(f[ea+20>>2]|0)|0;W=f[ea+4>>2]|0;t=W+(a>>>10<<2)|0;if((f[ea+8>>2]|0)==(W|0))cc=0;else cc=(f[t>>2]|0)+((a&1023)<<2)|0;f[v>>2]=t;f[v+4>>2]=cc;cc=f[p+4>>2]|0;t=f[p+16>>2]|0;a=cc+(t>>>10<<2)|0;W=(f[p+8>>2]|0)==(cc|0);if(W)dc=0;else dc=(f[a>>2]|0)+((t&1023)<<2)|0;f[w>>2]=a;f[w+4>>2]=dc;dc=t+(f[eb>>2]|0)|0;eb=cc+(dc>>>10<<2)|0;if(W)ec=0;else ec=(f[eb>>2]|0)+((dc&1023)<<2)|0;f[x>>2]=eb;f[x+4>>2]=ec;f[i>>2]=f[v>>2];f[i+4>>2]=f[v+4>>2];f[h>>2]=f[w>>2];f[h+4>>2]=f[w+4>>2];f[g>>2]=f[x>>2];f[g+4>>2]=f[x+4>>2];$ha(y,ea,i,h,g,0);qQ(xb)}xb=f[s>>2]|0;if((xb|0)!=(A|0)){if(xb|0)HQa(xb);f[s>>2]=A;f[q>>2]=264}Tha(p);Tha(o);o=f[n>>2]|0;if((o|0)!=(L|0)){if(o|0)HQa(o);f[n>>2]=L;f[M>>2]=520}M=f[m>>2]|0;if((M|0)!=(J|0)){if(M|0)HQa(M);f[m>>2]=J;f[K>>2]=520}K=l+36|0;J=f[K>>2]|0;if(J|0?(m=J+12|0,J=f[m>>2]|0,f[m>>2]=J+-1,(J|0)==1):0)XO(l);f[K>>2]=0;K=l+16|0;f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0;f[K+12>>2]=0;if((f[G>>2]|0)>0){K=f[I>>2]|0;I=0;do{f[K+(I<<2)>>2]=0;I=I+1|0}while((I|0)<(f[G>>2]|0))}G=f[D>>2]|0;if((G|0)!=(C|0))dX(G);G=k+36|0;C=f[G>>2]|0;do if(C|0){D=C+12|0;I=f[D>>2]|0;f[D>>2]=I+-1;if((I|0)!=1)break;XO(k)}while(0);f[G>>2]=0;G=k+16|0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;if((f[z>>2]|0)>0){G=f[B>>2]|0;B=0;do{f[G+(B<<2)>>2]=0;B=B+1|0}while((B|0)<(f[z>>2]|0))}z=f[F>>2]|0;if((z|0)!=(E|0))dX(z);if(!(f[j+4>>2]|0)){u=e;return}u=e;return}function $ha(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0;g=u;u=u+128|0;h=g+120|0;i=g+112|0;j=g+104|0;k=g+24|0;l=g+96|0;m=g+88|0;n=g+80|0;o=g+72|0;p=g+64|0;q=g+56|0;r=g+48|0;s=g+40|0;t=g+32|0;v=g+16|0;w=g+8|0;x=g;y=d;z=f[y>>2]|0;A=f[y+4>>2]|0;y=e;B=f[y>>2]|0;C=f[y+4>>2]|0;if((C|0)==(A|0))D=0;else D=(C-(f[B>>2]|0)>>2)+(B-z<<8)-(A-(f[z>>2]|0)>>2)|0;y=b+4|0;E=f[y>>2]|0;F=b+16|0;G=f[F>>2]|0;H=E+(G>>>10<<2)|0;I=b+8|0;J=f[I>>2]|0;K=J;L=E;if((J|0)==(E|0))M=0;else M=(f[H>>2]|0)+((G&1023)<<2)|0;N=f[c+4>>2]|0;if((N|0)==(M|0))O=0;else{P=f[c>>2]|0;O=(N-(f[P>>2]|0)>>2)+(P-H<<8)-(M-(f[H>>2]|0)>>2)|0}H=b+20|0;M=f[H>>2]|0;if(O>>>0<(M-O|0)>>>0){if(D>>>0>G>>>0){aia(b,D-G|0);Q=f[F>>2]|0;R=f[y>>2]|0;S=f[I>>2]|0}else{Q=G;R=E;S=J}P=R+(Q>>>10<<2)|0;if((S|0)==(R|0))T=0;else T=(f[P>>2]|0)+((Q&1023)<<2)|0;R=P;S=T;if(D>>>0>O>>>0){if(O>>>0>>1>>>0)if(!O){U=B;V=C}else{N=B;c=(C-(f[B>>2]|0)>>2)-O|0;if((c|0)>0){W=N+(c>>>10<<2)|0;X=(f[W>>2]|0)+((c&1023)<<2)|0;Y=W}else{W=1023-c|0;c=N+(((W|0)/-1024|0)<<2)|0;X=(f[c>>2]|0)+(1023-((W|0)%1024|0)<<2)|0;Y=c}U=Y;V=X}else{X=D-O|0;if(!X){U=z;V=A}else{Y=z;c=(A-(f[z>>2]|0)>>2)+X|0;if((c|0)>0){X=Y+(c>>>10<<2)|0;Z=(f[X>>2]|0)+((c&1023)<<2)|0;_=X}else{X=1023-c|0;c=Y+(((X|0)/-1024|0)<<2)|0;Z=(f[c>>2]|0)+(1023-((X|0)%1024|0)<<2)|0;_=c}U=_;V=Z}}Z=V;_=d+4|0;if((f[_>>2]|0)==(Z|0)){$=O;aa=Q;ba=R;ca=S;da=U;ea=V}else{c=U;X=R;Y=S;W=Z;Z=Q;N=f[H>>2]|0;while(1){fa=Y;ga=X;if((f[ga>>2]|0)==(fa|0)){ha=ga+-4|0;ia=ha;ja=(f[ha>>2]|0)+4096|0}else{ia=X;ja=fa}fa=ja+-4|0;Y=fa;ha=c;if((f[ha>>2]|0)==(W|0)){ga=ha+-4|0;ka=ga;la=(f[ga>>2]|0)+4096|0}else{ka=c;la=W}W=la+-4|0;f[fa>>2]=f[W>>2];Z=Z+-1|0;N=N+1|0;if((f[_>>2]|0)==(W|0))break;else{c=ka;X=ia}}f[F>>2]=Z;f[H>>2]=N;$=O;aa=Z;ba=ia;ca=Y;da=U;ea=V}}else{$=D;aa=Q;ba=R;ca=S;da=z;ea=A}if($|0){Q=(S-(f[P>>2]|0)>>2)+$|0;if((Q|0)>0){V=P+(Q>>>10<<2)|0;ma=(f[V>>2]|0)+((Q&1023)<<2)|0;na=V}else{V=1023-Q|0;Q=P+(((V|0)/-1024|0)<<2)|0;ma=(f[Q>>2]|0)+(1023-((V|0)%1024|0)<<2)|0;na=Q}Q=na;na=ma;if((T|0)!=(ma|0)){V=Q;U=ba;ba=ca;ca=ma;ma=aa;aa=f[H>>2]|0;while(1){Y=ba;ia=U;if((f[ia>>2]|0)==(Y|0)){Z=ia+-4|0;oa=Z;pa=(f[Z>>2]|0)+4096|0}else{oa=U;pa=Y}ba=pa+-4|0;Y=V;if((f[Y>>2]|0)==(ca|0)){Z=Y+-4|0;qa=Z;ra=(f[Z>>2]|0)+4096|0}else{qa=V;ra=ca}ca=ra+-4|0;f[ba>>2]=f[ca>>2];ma=ma+-1|0;aa=aa+1|0;if((T|0)==(ca|0))break;else{V=qa;U=oa}}f[F>>2]=ma;f[H>>2]=aa}if($>>>0>>0){f[l>>2]=Q;f[l+4>>2]=na;na=m;f[na>>2]=R;f[na+4>>2]=S;na=(S-(f[P>>2]|0)>>2)+O|0;if((na|0)>0){Q=P+(na>>>10<<2)|0;f[m>>2]=Q;sa=(f[Q>>2]|0)+((na&1023)<<2)|0}else{Q=1023-na|0;na=P+(((Q|0)/-1024|0)<<2)|0;f[m>>2]=na;sa=(f[na>>2]|0)+(1023-((Q|0)%1024|0)<<2)|0}f[m+4>>2]=sa;f[n>>2]=R;f[n+4>>2]=S;f[j>>2]=f[l>>2];f[j+4>>2]=f[l+4>>2];f[i>>2]=f[m>>2];f[i+4>>2]=f[m+4>>2];f[h>>2]=f[n>>2];f[h+4>>2]=f[n+4>>2];bia(k,j,i,h);ta=f[k>>2]|0;ua=f[k+4>>2]|0}else{ta=R;ua=S}S=o;f[S>>2]=da;f[S+4>>2]=ea;ea=e;S=f[ea+4>>2]|0;da=p;f[da>>2]=f[ea>>2];f[da+4>>2]=S;f[q>>2]=ta;f[q+4>>2]=ua;f[j>>2]=f[o>>2];f[j+4>>2]=f[o+4>>2];f[i>>2]=f[p>>2];f[i+4>>2]=f[p+4>>2];f[h>>2]=f[q>>2];f[h+4>>2]=f[q+4>>2];cia(k,j,i,h)}}else{q=K-L|0;L=((q|0)==0?0:(q<<8)+-1|0)-(M+G)|0;if(D>>>0>L>>>0){dia(b,D-L|0);va=f[H>>2]|0;wa=f[F>>2]|0;xa=f[y>>2]|0;ya=f[I>>2]|0}else{va=M;wa=G;xa=E;ya=J}J=wa+va|0;wa=xa+(J>>>10<<2)|0;if((ya|0)==(xa|0))za=0;else za=(f[wa>>2]|0)+((J&1023)<<2)|0;J=wa;xa=za;ya=va-O|0;if(D>>>0>ya>>>0){if(ya>>>0>>1>>>0)if(!ya){Aa=z;Ba=A}else{E=z;G=(A-(f[z>>2]|0)>>2)+ya|0;if((G|0)>0){z=E+(G>>>10<<2)|0;Ca=(f[z>>2]|0)+((G&1023)<<2)|0;Da=z}else{z=1023-G|0;G=E+(((z|0)/-1024|0)<<2)|0;Ca=(f[G>>2]|0)+(1023-((z|0)%1024|0)<<2)|0;Da=G}Aa=Da;Ba=Ca}else{Ca=D-ya|0;if(!Ca){Aa=B;Ba=C}else{Da=B;G=(C-(f[B>>2]|0)>>2)-Ca|0;if((G|0)>0){Ca=Da+(G>>>10<<2)|0;Ea=(f[Ca>>2]|0)+((G&1023)<<2)|0;Fa=Ca}else{Ca=1023-G|0;G=Da+(((Ca|0)/-1024|0)<<2)|0;Ea=(f[G>>2]|0)+(1023-((Ca|0)%1024|0)<<2)|0;Fa=G}Aa=Fa;Ba=Ea}}Ea=Ba;Fa=e+4|0;if((f[Fa>>2]|0)==(Ea|0)){Ga=ya;Ha=va;Ia=J;Ja=xa;Ka=Aa;La=Ba}else{e=Aa;G=J;Ca=Ba;Da=xa;z=Ea;Ea=va;while(1){f[Da>>2]=f[Ca>>2];E=Da+4|0;if((E-(f[G>>2]|0)|0)==4096){A=G+4|0;Ma=A;Na=f[A>>2]|0}else{Ma=G;Na=E}E=z+4|0;if((E-(f[e>>2]|0)|0)==4096){A=e+4|0;Oa=A;Pa=f[A>>2]|0}else{Oa=e;Pa=E}Ea=Ea+1|0;z=Pa;if((f[Fa>>2]|0)==(z|0))break;else{e=Oa;G=Ma;Ca=Pa;Da=Na}}f[H>>2]=Ea;Ga=ya;Ha=Ea;Ia=Ma;Ja=Na;Ka=Aa;La=Ba}}else{Ga=D;Ha=va;Ia=J;Ja=xa;Ka=B;La=C}if(Ga|0){C=(xa-(f[wa>>2]|0)>>2)-Ga|0;if((C|0)>0){B=wa+(C>>>10<<2)|0;Qa=(f[B>>2]|0)+((C&1023)<<2)|0;Ra=B}else{B=1023-C|0;C=wa+(((B|0)/-1024|0)<<2)|0;Qa=(f[C>>2]|0)+(1023-((B|0)%1024|0)<<2)|0;Ra=C}C=Ra;Ra=Qa;if((za|0)!=(Qa|0)){B=C;va=Ia;Ia=Ra;D=Ja;Ja=Qa;Qa=Ha;while(1){f[D>>2]=f[Ia>>2];Ha=D+4|0;if((Ha-(f[va>>2]|0)|0)==4096){Ba=va+4|0;Sa=Ba;Ta=f[Ba>>2]|0}else{Sa=va;Ta=Ha}Ha=Ja+4|0;if((Ha-(f[B>>2]|0)|0)==4096){Ba=B+4|0;Ua=Ba;Va=f[Ba>>2]|0}else{Ua=B;Va=Ha}Qa=Qa+1|0;Ja=Va;if((za|0)==(Ja|0))break;else{B=Ua;va=Sa;Ia=Va;D=Ta}}f[H>>2]=Qa}if(Ga>>>0>>0){Ga=r;f[Ga>>2]=J;f[Ga+4>>2]=xa;Ga=(xa-(f[wa>>2]|0)>>2)-ya|0;if((Ga|0)>0){ya=wa+(Ga>>>10<<2)|0;f[r>>2]=ya;Wa=(f[ya>>2]|0)+((Ga&1023)<<2)|0}else{ya=1023-Ga|0;Ga=wa+(((ya|0)/-1024|0)<<2)|0;f[r>>2]=Ga;Wa=(f[Ga>>2]|0)+(1023-((ya|0)%1024|0)<<2)|0}f[r+4>>2]=Wa;f[s>>2]=C;f[s+4>>2]=Ra;f[t>>2]=J;f[t+4>>2]=xa;f[j>>2]=f[r>>2];f[j+4>>2]=f[r+4>>2];f[i>>2]=f[s>>2];f[i+4>>2]=f[s+4>>2];f[h>>2]=f[t>>2];f[h+4>>2]=f[t+4>>2];eia(k,j,i,h);Xa=f[k>>2]|0;Ya=f[k+4>>2]|0}else{Xa=J;Ya=xa}xa=d;d=f[xa+4>>2]|0;J=v;f[J>>2]=f[xa>>2];f[J+4>>2]=d;d=w;f[d>>2]=Ka;f[d+4>>2]=La;f[x>>2]=Xa;f[x+4>>2]=Ya;f[j>>2]=f[v>>2];f[j+4>>2]=f[v+4>>2];f[i>>2]=f[w>>2];f[i+4>>2]=f[w+4>>2];f[h>>2]=f[x>>2];f[h+4>>2]=f[x+4>>2];fia(k,j,i,h)}}h=f[y>>2]|0;y=f[F>>2]|0;F=h+(y>>>10<<2)|0;if((f[I>>2]|0)==(h|0)){Za=0;_a=0}else{Za=0;_a=(f[F>>2]|0)+((y&1023)<<2)|0}y=a;f[y>>2]=Za|F;f[y+4>>2]=_a;if(!O){u=g;return}y=(_a-(f[F>>2]|0)>>2)+O|0;if((y|0)>0){O=F+(y>>>10<<2)|0;f[a>>2]=O;$a=(f[O>>2]|0)+((y&1023)<<2)|0}else{O=1023-y|0;y=F+(((O|0)/-1024|0)<<2)|0;f[a>>2]=y;$a=(f[y>>2]|0)+(1023-((O|0)%1024|0)<<2)|0}f[a+4>>2]=$a;u=g;return}function aia(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;c=u;u=u+16|0;d=c;e=a+8|0;g=f[e>>2]|0;h=a+4|0;i=f[h>>2]|0;j=(g|0)==(i|0);k=(j&1)+b|0;b=(k>>>10)+((k&1023|0)!=0&1)|0;k=i;i=g-k|0;l=a+16|0;m=f[l>>2]|0;n=(((i|0)==0?0:(i<<8)+-1|0)-((f[a+20>>2]|0)+m)|0)>>>10;o=b>>>0>>0?b:n;n=b-o|0;if(!n){f[l>>2]=(o<<10)+m;if(!o){u=c;return}m=g+-4|0;f[d>>2]=f[m>>2];f[e>>2]=m;Wha(a,d);m=o+-1|0;if(!m){u=c;return}else p=m;do{m=(f[e>>2]|0)+-4|0;f[d>>2]=f[m>>2];f[e>>2]=m;Wha(a,d);p=p+-1|0}while((p|0)!=0);u=c;return}p=a+12|0;m=f[a>>2]|0;q=(f[p>>2]|0)-m|0;r=i>>2;if(n>>>0<=((q>>2)-r|0)>>>0){do if((m|0)!=(k|0)){i=n;while(1){s=EQa(4096)|0;f[d>>2]=s;Wha(a,d);i=i+-1|0;t=f[e>>2]|0;s=f[h>>2]|0;v=(f[l>>2]|0)+1024+(((t-s|0)==4)<<31>>31)|0;f[l>>2]=v;if(!i){w=25;break}if((s|0)==(f[a>>2]|0)){w=7;break}}if((w|0)==7){x=i;y=t;w=8;break}else if((w|0)==25){z=o;A=v;B=t;break}}else{x=n;y=g;w=8}while(0);do if((w|0)==8){g=o;t=x;v=y;a:while(1){k=EQa(4096)|0;m=f[p>>2]|0;s=m;do if((v|0)==(m|0)){C=f[h>>2]|0;D=f[a>>2]|0;E=D;if(C>>>0>D>>>0){F=C;G=((F-E>>2)+1|0)/-2|0;H=C+(G<<2)|0;I=s-F|0;F=I>>2;if(!F)J=C;else{EVa(H|0,C|0,I|0)|0;J=f[h>>2]|0}I=H+(F<<2)|0;f[e>>2]=I;f[h>>2]=J+(G<<2);K=I;break}I=s-E>>1;E=(I|0)==0?1:I;if(E>>>0>1073741823){w=17;break a}I=EQa(E<<2)|0;G=I;F=I+(E>>>2<<2)|0;H=F;L=I+(E<<2)|0;if((C|0)==(v|0)){M=H;N=D}else{D=F;F=H;E=C;do{f[D>>2]=f[E>>2];D=F+4|0;F=D;E=E+4|0}while((E|0)!=(v|0));M=F;N=f[a>>2]|0}f[a>>2]=G;f[h>>2]=H;f[e>>2]=M;f[p>>2]=L;if(!N)K=M;else{GQa(N);K=f[e>>2]|0}}else K=v;while(0);f[K>>2]=k;v=(f[e>>2]|0)+4|0;f[e>>2]=v;t=t+-1|0;g=g+1|0;if(!t){w=24;break}}if((w|0)==17){t=hd(8)|0;LQa(t,349912);f[t>>2]=118288;ld(t|0,20688,857)}else if((w|0)==24){z=g;A=f[l>>2]|0;B=v;break}}while(0);f[l>>2]=A+(z<<10);if(!z){u=c;return}A=B+-4|0;f[d>>2]=f[A>>2];f[e>>2]=A;Wha(a,d);A=z+-1|0;if(!A){u=c;return}else O=A;do{A=(f[e>>2]|0)+-4|0;f[d>>2]=f[A>>2];f[e>>2]=A;Wha(a,d);O=O+-1|0}while((O|0)!=0);u=c;return}O=(b<<10)+(j<<31>>31)|0;j=q>>1;q=r+n|0;r=j>>>0>>0?q:j;do if(r)if(r>>>0>1073741823){j=hd(8)|0;LQa(j,349912);f[j>>2]=118288;ld(j|0,20688,857)}else{P=EQa(r<<2)|0;break}else P=0;while(0);j=P;q=n;n=j;b=j;d=j;j=P+(r<<2)|0;b:while(1){r=EQa(4096)|0;P=d;A=d;do if((P|0)==(j|0)){z=b;if(z>>>0>n>>>0){B=z+((((b-n>>2)+1|0)/-2|0)<<2)|0;K=d-b|0;N=K>>2;if(N|0)EVa(B|0,b|0,K|0)|0;K=B+(N<<2)|0;Q=n;R=B;S=K;T=j;U=K;break}K=j-n>>1;B=(K|0)==0?1:K;if(B>>>0>1073741823){w=41;break b}K=EQa(B<<2)|0;N=K;M=K+(B>>>2<<2)|0;J=M;y=K+(B<<2)|0;if((z|0)==(P|0))V=J;else{B=M;M=J;K=z;while(1){f[B>>2]=f[K>>2];B=M+4|0;z=B;K=K+4|0;if((K|0)==(P|0)){V=z;break}else M=z}}M=V;if(!n){Q=N;R=J;S=V;T=y;U=M}else{GQa(n);Q=N;R=J;S=V;T=y;U=M}}else{Q=n;R=b;S=d;T=j;U=A}while(0);f[U>>2]=r;d=S+4|0;q=q+-1|0;if(!q)break;else{n=Q;b=R;j=T}}if((w|0)==41){w=hd(8)|0;LQa(w,349912);f[w>>2]=118288;ld(w|0,20688,857)}w=f[e>>2]|0;c:do if(!o){W=Q;X=R;Y=d;Z=T;_=w}else{j=o;b=Q;n=R;q=d;S=T;U=w;d:while(1){V=U+-4|0;A=q;P=q;do if((A|0)==(S|0)){v=n;if(v>>>0>b>>>0){g=v+((((n-b>>2)+1|0)/-2|0)<<2)|0;M=q-n|0;K=M>>2;if(K|0)EVa(g|0,n|0,M|0)|0;M=g+(K<<2)|0;$=b;aa=g;ba=M;ca=S;da=M;break}M=S-b>>1;g=(M|0)==0?1:M;if(g>>>0>1073741823)break d;M=EQa(g<<2)|0;K=M;B=M+(g>>>2<<2)|0;k=B;z=M+(g<<2)|0;if((v|0)==(A|0))ea=k;else{g=B;B=k;M=v;while(1){f[g>>2]=f[M>>2];g=B+4|0;v=g;M=M+4|0;if((M|0)==(A|0)){ea=v;break}else B=v}}B=ea;if(!b){$=K;aa=k;ba=ea;ca=z;da=B}else{GQa(b);$=K;aa=k;ba=ea;ca=z;da=B}}else{$=b;aa=n;ba=q;ca=S;da=P}while(0);f[da>>2]=f[V>>2];P=ba+4|0;A=(f[e>>2]|0)+-4|0;f[e>>2]=A;j=j+-1|0;if(!j){W=$;X=aa;Y=P;Z=ca;_=A;break c}else{b=$;n=aa;q=P;S=ca;U=A}}U=hd(8)|0;LQa(U,349912);f[U>>2]=118288;ld(U|0,20688,857)}while(0);ca=f[h>>2]|0;e:do if((ca|0)==(_|0)){fa=W;ga=X;ha=Y;ia=Z}else{aa=ca;$=W;ba=X;da=Y;ea=Z;f:while(1){w=da;T=da;do if((w|0)==(ea|0)){d=ba;if(d>>>0>$>>>0){R=d+((((ba-$>>2)+1|0)/-2|0)<<2)|0;Q=da-ba|0;o=Q>>2;if(o|0)EVa(R|0,ba|0,Q|0)|0;Q=R+(o<<2)|0;ja=$;ka=R;la=Q;ma=ea;na=Q;break}Q=ea-$>>1;R=(Q|0)==0?1:Q;if(R>>>0>1073741823)break f;Q=EQa(R<<2)|0;o=Q;U=Q+(R>>>2<<2)|0;S=U;q=Q+(R<<2)|0;if((d|0)==(w|0))oa=S;else{R=U;U=S;Q=d;while(1){f[R>>2]=f[Q>>2];R=U+4|0;d=R;Q=Q+4|0;if((Q|0)==(w|0)){oa=d;break}else U=d}}U=oa;if(!$){ja=o;ka=S;la=oa;ma=q;na=U}else{GQa($);ja=o;ka=S;la=oa;ma=q;na=U}}else{ja=$;ka=ba;la=da;ma=ea;na=T}while(0);f[na>>2]=f[aa>>2];T=la+4|0;aa=aa+4|0;if((aa|0)==(f[e>>2]|0)){fa=ja;ga=ka;ha=T;ia=ma;break e}else{$=ja;ba=ka;da=T;ea=ma}}ea=hd(8)|0;LQa(ea,349912);f[ea>>2]=118288;ld(ea|0,20688,857)}while(0);ma=f[a>>2]|0;f[a>>2]=fa;f[h>>2]=ga;f[e>>2]=ha;f[p>>2]=ia;f[l>>2]=O+(f[l>>2]|0);if(!ma){u=c;return}GQa(ma);u=c;return}function bia(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;e=f[c+4>>2]|0;g=b+4|0;h=f[g>>2]|0;if((e|0)!=(h|0)?(i=f[c>>2]|0,c=f[b>>2]|0,j=(e-(f[i>>2]|0)>>2)+(i-c<<8)-(h-(f[c>>2]|0)>>2)|0,(j|0)>0):0){c=d;i=j;j=f[c>>2]|0;e=f[c+4>>2]|0;c=h;while(1){h=(f[f[b>>2]>>2]|0)+4096|0;k=h-c>>2;l=(k|0)>(i|0);m=l?c+(i<<2)|0:h;h=l?i:k;if((c|0)==(m|0)){n=j;o=e}else{k=m;l=c;p=e;q=j;r=e;while(1){s=q;t=(f[s>>2]|0)+4096-p>>2;u=l;v=k-u>>2;w=(v|0)>(t|0);x=w?t:v;v=l;l=w?l+(t<<2)|0:m;t=l-u|0;if(t|0)EVa(p|0,v|0,t|0)|0;if(!x){y=p;z=q;A=r}else{t=(r-(f[q>>2]|0)>>2)+x|0;if((t|0)>0){x=s+(t>>>10<<2)|0;B=(f[x>>2]|0)+((t&1023)<<2)|0;C=x}else{x=1023-t|0;t=s+(((x|0)/-1024|0)<<2)|0;B=(f[t>>2]|0)+(1023-((x|0)%1024|0)<<2)|0;C=t}y=B;z=C;A=B}if((l|0)==(m|0)){n=z;o=A;break}else{p=y;q=z;r=A}}}r=d;f[r>>2]=n;f[r+4>>2]=o;r=i-h|0;if(h|0){q=f[b>>2]|0;p=((f[g>>2]|0)-(f[q>>2]|0)>>2)+h|0;if((p|0)>0){m=q+(p>>>10<<2)|0;f[b>>2]=m;D=(f[m>>2]|0)+((p&1023)<<2)|0}else{m=1023-p|0;p=q+(((m|0)/-1024|0)<<2)|0;f[b>>2]=p;D=(f[p>>2]|0)+(1023-((m|0)%1024|0)<<2)|0}f[g>>2]=D}if((r|0)<=0){E=n;F=o;break}i=r;j=n;e=o;c=f[g>>2]|0}G=a;H=G;f[H>>2]=E;I=G+4|0;J=I;f[J>>2]=F;return}g=d;E=f[g>>2]|0;F=f[g+4>>2]|0;G=a;H=G;f[H>>2]=E;I=G+4|0;J=I;f[J>>2]=F;return}function cia(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;e=f[c+4>>2]|0;g=b+4|0;h=f[g>>2]|0;if((e|0)!=(h|0)?(i=f[c>>2]|0,c=f[b>>2]|0,j=(e-(f[i>>2]|0)>>2)+(i-c<<8)-(h-(f[c>>2]|0)>>2)|0,(j|0)>0):0){c=d;i=j;j=f[c>>2]|0;e=f[c+4>>2]|0;c=h;while(1){h=(f[f[b>>2]>>2]|0)+4096|0;k=h-c>>2;l=(k|0)>(i|0);m=l?c+(i<<2)|0:h;h=l?i:k;if((c|0)==(m|0)){n=j;o=e}else{k=m;l=c;p=e;q=j;r=e;while(1){s=q;t=(f[s>>2]|0)+4096-p>>2;u=l;v=k-u>>2;w=(v|0)>(t|0);x=w?t:v;v=l;l=w?l+(t<<2)|0:m;t=l-u|0;if(t|0)EVa(p|0,v|0,t|0)|0;if(!x){y=p;z=q;A=r}else{t=(r-(f[q>>2]|0)>>2)+x|0;if((t|0)>0){x=s+(t>>>10<<2)|0;B=(f[x>>2]|0)+((t&1023)<<2)|0;C=x}else{x=1023-t|0;t=s+(((x|0)/-1024|0)<<2)|0;B=(f[t>>2]|0)+(1023-((x|0)%1024|0)<<2)|0;C=t}y=B;z=C;A=B}if((l|0)==(m|0)){n=z;o=A;break}else{p=y;q=z;r=A}}}r=d;f[r>>2]=n;f[r+4>>2]=o;r=i-h|0;if(h|0){q=f[b>>2]|0;p=((f[g>>2]|0)-(f[q>>2]|0)>>2)+h|0;if((p|0)>0){m=q+(p>>>10<<2)|0;f[b>>2]=m;D=(f[m>>2]|0)+((p&1023)<<2)|0}else{m=1023-p|0;p=q+(((m|0)/-1024|0)<<2)|0;f[b>>2]=p;D=(f[p>>2]|0)+(1023-((m|0)%1024|0)<<2)|0}f[g>>2]=D}if((r|0)<=0){E=n;F=o;break}i=r;j=n;e=o;c=f[g>>2]|0}G=a;H=G;f[H>>2]=E;I=G+4|0;J=I;f[J>>2]=F;return}g=d;E=f[g>>2]|0;F=f[g+4>>2]|0;G=a;H=G;f[H>>2]=E;I=G+4|0;J=I;f[J>>2]=F;return}function dia(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;c=u;u=u+32|0;d=c;e=a+8|0;g=f[e>>2]|0;h=a+4|0;i=f[h>>2]|0;j=((g|0)==(i|0)&1)+b|0;b=(j>>>10)+((j&1023|0)!=0&1)|0;j=a+16|0;k=f[j>>2]|0;l=k>>>10;m=b>>>0>>0?b:l;n=b-m|0;o=g;if(!n){f[j>>2]=k-(m<<10);if(!m){u=c;return}k=a+12|0;p=m;q=i;r=g;a:while(1){s=f[q>>2]|0;t=q+4|0;f[h>>2]=t;v=f[k>>2]|0;w=v;do if((r|0)==(v|0)){x=f[a>>2]|0;y=x;if(t>>>0>x>>>0){z=t;A=((z-y>>2)+1|0)/-2|0;B=t+(A<<2)|0;C=w-z|0;z=C>>2;if(!z)D=t;else{EVa(B|0,t|0,C|0)|0;D=f[h>>2]|0}C=B+(z<<2)|0;f[e>>2]=C;f[h>>2]=D+(A<<2);E=C;break}C=w-y>>1;y=(C|0)==0?1:C;if(y>>>0>1073741823){F=10;break a}C=EQa(y<<2)|0;A=C;z=C+(y>>>2<<2)|0;B=z;G=C+(y<<2)|0;if((t|0)==(r|0)){H=B;I=x}else{x=z;z=B;y=t;do{f[x>>2]=f[y>>2];x=z+4|0;z=x;y=y+4|0}while((y|0)!=(r|0));H=z;I=f[a>>2]|0}f[a>>2]=A;f[h>>2]=B;f[e>>2]=H;f[k>>2]=G;if(!I)E=H;else{GQa(I);E=f[e>>2]|0}}else E=r;while(0);f[E>>2]=s;t=(f[e>>2]|0)+4|0;f[e>>2]=t;w=p+-1|0;if(!w){F=92;break}p=w;q=f[h>>2]|0;r=t}if((F|0)==10){r=hd(8)|0;LQa(r,349912);f[r>>2]=118288;ld(r|0,20688,857)}else if((F|0)==92){u=c;return}}r=a+12|0;q=f[r>>2]|0;p=q-(f[a>>2]|0)|0;E=o-i>>2;if(n>>>0<=((p>>2)-E|0)>>>0){b:do if((q|0)!=(o|0)){i=n;I=q;H=g;c:while(1){k=I;D=EQa(4096)|0;do if((H|0)==(k|0)){t=f[h>>2]|0;w=f[a>>2]|0;v=w;if(t>>>0>w>>>0){y=t;x=((y-v>>2)+1|0)/-2|0;C=t+(x<<2)|0;J=I-y|0;y=J>>2;if(!y)K=t;else{EVa(C|0,t|0,J|0)|0;K=f[h>>2]|0}J=C+(y<<2)|0;f[e>>2]=J;f[h>>2]=K+(x<<2);L=J;break}J=I-v>>1;v=(J|0)==0?1:J;if(v>>>0>1073741823){F=28;break c}J=EQa(v<<2)|0;x=J;y=J+(v>>>2<<2)|0;C=y;M=J+(v<<2)|0;if((t|0)==(k|0)){N=C;O=w}else{w=y;y=C;v=t;do{f[w>>2]=f[v>>2];w=y+4|0;y=w;v=v+4|0}while((v|0)!=(k|0));N=y;O=f[a>>2]|0}f[a>>2]=x;f[h>>2]=C;f[e>>2]=N;f[r>>2]=M;if(!O)L=N;else{GQa(O);L=f[e>>2]|0}}else L=H;while(0);f[L>>2]=D;H=(f[e>>2]|0)+4|0;f[e>>2]=H;k=i+-1|0;if(!k){F=20;break}I=f[r>>2]|0;if((I|0)==(H|0)){P=k;F=21;break b}else i=k}if((F|0)==20){Q=m;R=f[j>>2]|0;S=H;break}else if((F|0)==28){i=hd(8)|0;LQa(i,349912);f[i>>2]=118288;ld(i|0,20688,857)}}else{P=n;F=21}while(0);if((F|0)==21){L=~(b>>>0>l>>>0?l:b);b=P;do{l=EQa(4096)|0;f[d>>2]=l;Wha(a,d);b=b+-1|0;T=f[e>>2]|0;U=(f[j>>2]|0)+1024+(((T-(f[h>>2]|0)|0)==4)<<31>>31)|0;f[j>>2]=U}while((b|0)!=0);Q=P+-1-L|0;R=U;S=T}f[j>>2]=R-(Q<<10);if(!Q){u=c;return}R=Q;Q=S;d:while(1){S=f[h>>2]|0;T=f[S>>2]|0;U=S+4|0;f[h>>2]=U;S=f[r>>2]|0;L=S;do if((Q|0)==(S|0)){P=f[a>>2]|0;b=P;if(U>>>0>P>>>0){l=U;O=((l-b>>2)+1|0)/-2|0;N=U+(O<<2)|0;K=L-l|0;l=K>>2;if(!l)V=U;else{EVa(N|0,U|0,K|0)|0;V=f[h>>2]|0}K=N+(l<<2)|0;f[e>>2]=K;f[h>>2]=V+(O<<2);W=K;break}K=L-b>>1;b=(K|0)==0?1:K;if(b>>>0>1073741823){F=46;break d}K=EQa(b<<2)|0;O=K;l=K+(b>>>2<<2)|0;N=l;g=K+(b<<2)|0;if((U|0)==(Q|0)){X=N;Y=P}else{P=l;l=N;b=U;do{f[P>>2]=f[b>>2];P=l+4|0;l=P;b=b+4|0}while((b|0)!=(Q|0));X=l;Y=f[a>>2]|0}f[a>>2]=O;f[h>>2]=N;f[e>>2]=X;f[r>>2]=g;if(!Y)W=X;else{GQa(Y);W=f[e>>2]|0}}else W=Q;while(0);f[W>>2]=T;Q=(f[e>>2]|0)+4|0;f[e>>2]=Q;R=R+-1|0;if(!R){F=92;break}}if((F|0)==46){R=hd(8)|0;LQa(R,349912);f[R>>2]=118288;ld(R|0,20688,857)}else if((F|0)==92){u=c;return}}R=m<<10;Q=p>>1;p=E+n|0;W=Q>>>0

>>0?p:Q;Q=E-m|0;f[d+12>>2]=0;f[d+16>>2]=a+12;do if(W)if(W>>>0>1073741823){E=hd(8)|0;LQa(E,349912);f[E>>2]=118288;ld(E|0,20688,857)}else{Z=EQa(W<<2)|0;break}else Z=0;while(0);f[d>>2]=Z;E=Z+(Q<<2)|0;Q=d+8|0;f[Q>>2]=E;p=d+4|0;f[p>>2]=E;Y=d+12|0;f[Y>>2]=Z+(W<<2);W=n;n=E;e:do{E=EQa(4096)|0;Z=f[Y>>2]|0;X=Z;do if((n|0)==(Z|0)){V=f[p>>2]|0;U=f[d>>2]|0;L=U;if(V>>>0>U>>>0){S=V;H=V+((((S-L>>2)+1|0)/-2|0)<<2)|0;b=X-S|0;S=b>>2;if(S|0)EVa(H|0,V|0,b|0)|0;b=H+(S<<2)|0;f[Q>>2]=b;f[p>>2]=H;_=b;break}b=X-L>>1;L=(b|0)==0?1:b;if(L>>>0>1073741823){F=66;break e}b=EQa(L<<2)|0;H=b;S=b+(L>>>2<<2)|0;P=S;D=b+(L<<2)|0;if((V|0)==(n|0))$=P;else{L=S;S=P;b=V;while(1){f[L>>2]=f[b>>2];L=S+4|0;V=L;b=b+4|0;if((b|0)==(n|0)){$=V;break}else S=V}}f[d>>2]=H;f[p>>2]=P;f[Q>>2]=$;f[Y>>2]=D;S=$;if(!U)_=S;else{GQa(U);_=S}}else _=n;while(0);f[_>>2]=E;n=(f[Q>>2]|0)+4|0;f[Q>>2]=n;W=W+-1|0}while((W|0)!=0);if((F|0)==66){F=hd(8)|0;LQa(F,349912);f[F>>2]=118288;ld(F|0,20688,857)}f:do if(m|0){F=m;W=n;_=f[h>>2]|0;g:while(1){$=f[Y>>2]|0;X=$;do if((W|0)==($|0)){Z=f[p>>2]|0;T=f[d>>2]|0;S=T;if(Z>>>0>T>>>0){b=Z;L=Z+((((b-S>>2)+1|0)/-2|0)<<2)|0;g=X-b|0;b=g>>2;if(b|0)EVa(L|0,Z|0,g|0)|0;g=L+(b<<2)|0;f[Q>>2]=g;f[p>>2]=L;aa=g;break}g=X-S>>1;S=(g|0)==0?1:g;if(S>>>0>1073741823)break g;g=EQa(S<<2)|0;L=g;b=g+(S>>>2<<2)|0;N=b;O=g+(S<<2)|0;if((Z|0)==(W|0))ba=N;else{S=b;b=N;g=Z;while(1){f[S>>2]=f[g>>2];S=b+4|0;Z=S;g=g+4|0;if((g|0)==(W|0)){ba=Z;break}else b=Z}}f[d>>2]=L;f[p>>2]=N;f[Q>>2]=ba;f[Y>>2]=O;b=ba;if(!T)aa=b;else{GQa(T);aa=b}}else aa=W;while(0);f[aa>>2]=f[_>>2];W=(f[Q>>2]|0)+4|0;f[Q>>2]=W;_=(f[h>>2]|0)+4|0;f[h>>2]=_;F=F+-1|0;if(!F)break f}F=hd(8)|0;LQa(F,349912);f[F>>2]=118288;ld(F|0,20688,857)}while(0);aa=f[e>>2]|0;while(1){ca=f[h>>2]|0;if((aa|0)==(ca|0))break;ba=aa+-4|0;Xha(d,ba);aa=ba}ba=ca;ca=f[a>>2]|0;f[a>>2]=f[d>>2];f[d>>2]=ca;f[h>>2]=f[p>>2];f[p>>2]=ba;p=f[e>>2]|0;f[e>>2]=f[Q>>2];f[Q>>2]=p;e=f[r>>2]|0;f[r>>2]=f[Y>>2];f[Y>>2]=e;f[j>>2]=(f[j>>2]|0)-R;R=p;if((aa|0)!=(R|0))f[Q>>2]=R+(~((R+-4-ba|0)>>>2)<<2);if(ca|0)GQa(ca);u=c;return}function eia(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;e=c+4|0;g=f[e>>2]|0;h=f[b+4>>2]|0;if((g|0)!=(h|0)?(i=f[c>>2]|0,j=f[b>>2]|0,b=(g-(f[i>>2]|0)>>2)+(i-j<<8)-(h-(f[j>>2]|0)>>2)|0,(b|0)>0):0){j=b;b=f[c>>2]|0;h=g;while(1){if((h|0)==(f[b>>2]|0)){g=b+-4|0;f[c>>2]=g;i=(f[g>>2]|0)+4096|0;f[e>>2]=i;k=i;l=g}else{k=h;l=b}g=k+-4|0;f[e>>2]=g;i=f[l>>2]|0;m=k-i>>2;n=(m|0)>(j|0);o=n?k+(0-j<<2)|0:i;i=n?j:m;m=d;n=f[m>>2]|0;p=f[m+4>>2]|0;m=g;if((k|0)==(o|0)){q=n;r=p}else{s=o;t=k;u=n;n=p;while(1){p=u;v=u;w=n-(f[v>>2]|0)|0;x=w>>2;y=x+-1|0;if((w|0)>4){w=p+(y>>>10<<2)|0;z=(f[w>>2]|0)+((y&1023)<<2)|0;A=w}else{w=1024-x|0;x=p+(((w|0)/-1024|0)<<2)|0;z=(f[x>>2]|0)+(1023-((w|0)%1024|0)<<2)|0;A=x}x=z+4|0;w=x-(f[A>>2]|0)>>2;y=t;B=y-s>>2;C=(B|0)>(w|0);D=C?w:B;t=C?t+(0-w<<2)|0:o;w=y-t|0;y=w>>2;if(y|0)EVa(x+(0-y<<2)|0,t|0,w|0)|0;if(!D){E=u;F=n}else{w=(n-(f[v>>2]|0)>>2)-D|0;if((w|0)>0){D=p+(w>>>10<<2)|0;G=(f[D>>2]|0)+((w&1023)<<2)|0;H=D}else{D=1023-w|0;w=p+(((D|0)/-1024|0)<<2)|0;G=(f[w>>2]|0)+(1023-((D|0)%1024|0)<<2)|0;H=w}E=H;F=G}if((t|0)==(o|0)){q=E;r=F;break}else{u=E;n=F}}}n=d;f[n>>2]=q;f[n+4>>2]=r;j=j-i|0;n=i+-1|0;if(!n){I=l;J=g}else{u=(m-(f[l>>2]|0)>>2)-n|0;if((u|0)>0){n=l+(u>>>10<<2)|0;f[c>>2]=n;K=(f[n>>2]|0)+((u&1023)<<2)|0;L=n}else{n=1023-u|0;u=l+(((n|0)/-1024|0)<<2)|0;f[c>>2]=u;K=(f[u>>2]|0)+(1023-((n|0)%1024|0)<<2)|0;L=u}f[e>>2]=K;I=L;J=K}if((j|0)<=0){M=q;N=r;break}else{b=I;h=J}}O=a;P=O;f[P>>2]=M;Q=O+4|0;R=Q;f[R>>2]=N;return}J=d;M=f[J>>2]|0;N=f[J+4>>2]|0;O=a;P=O;f[P>>2]=M;Q=O+4|0;R=Q;f[R>>2]=N;return}function fia(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;e=c+4|0;g=f[e>>2]|0;h=f[b+4>>2]|0;if((g|0)!=(h|0)?(i=f[c>>2]|0,j=f[b>>2]|0,b=(g-(f[i>>2]|0)>>2)+(i-j<<8)-(h-(f[j>>2]|0)>>2)|0,(b|0)>0):0){j=b;b=f[c>>2]|0;h=g;while(1){if((h|0)==(f[b>>2]|0)){g=b+-4|0;f[c>>2]=g;i=(f[g>>2]|0)+4096|0;f[e>>2]=i;k=i;l=g}else{k=h;l=b}g=k+-4|0;f[e>>2]=g;i=f[l>>2]|0;m=k-i>>2;n=(m|0)>(j|0);o=n?k+(0-j<<2)|0:i;i=n?j:m;m=d;n=f[m>>2]|0;p=f[m+4>>2]|0;m=g;if((k|0)==(o|0)){q=n;r=p}else{s=o;t=k;u=n;n=p;while(1){p=u;v=u;w=n-(f[v>>2]|0)|0;x=w>>2;y=x+-1|0;if((w|0)>4){w=p+(y>>>10<<2)|0;z=(f[w>>2]|0)+((y&1023)<<2)|0;A=w}else{w=1024-x|0;x=p+(((w|0)/-1024|0)<<2)|0;z=(f[x>>2]|0)+(1023-((w|0)%1024|0)<<2)|0;A=x}x=z+4|0;w=x-(f[A>>2]|0)>>2;y=t;B=y-s>>2;C=(B|0)>(w|0);D=C?w:B;t=C?t+(0-w<<2)|0:o;w=y-t|0;y=w>>2;if(y|0)EVa(x+(0-y<<2)|0,t|0,w|0)|0;if(!D){E=u;F=n}else{w=(n-(f[v>>2]|0)>>2)-D|0;if((w|0)>0){D=p+(w>>>10<<2)|0;G=(f[D>>2]|0)+((w&1023)<<2)|0;H=D}else{D=1023-w|0;w=p+(((D|0)/-1024|0)<<2)|0;G=(f[w>>2]|0)+(1023-((D|0)%1024|0)<<2)|0;H=w}E=H;F=G}if((t|0)==(o|0)){q=E;r=F;break}else{u=E;n=F}}}n=d;f[n>>2]=q;f[n+4>>2]=r;j=j-i|0;n=i+-1|0;if(!n){I=l;J=g}else{u=(m-(f[l>>2]|0)>>2)-n|0;if((u|0)>0){n=l+(u>>>10<<2)|0;f[c>>2]=n;K=(f[n>>2]|0)+((u&1023)<<2)|0;L=n}else{n=1023-u|0;u=l+(((n|0)/-1024|0)<<2)|0;f[c>>2]=u;K=(f[u>>2]|0)+(1023-((n|0)%1024|0)<<2)|0;L=u}f[e>>2]=K;I=L;J=K}if((j|0)<=0){M=q;N=r;break}else{b=I;h=J}}O=a;P=O;f[P>>2]=M;Q=O+4|0;R=Q;f[R>>2]=N;return}J=d;M=f[J>>2]|0;N=f[J+4>>2]|0;O=a;P=O;f[P>>2]=M;Q=O+4|0;R=Q;f[R>>2]=N;return}function gia(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=+e;g=+g;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0,D=0,E=0.0,F=0.0,G=0.0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;i=u;u=u+352|0;j=i+344|0;k=i+336|0;l=i+328|0;m=i+272|0;n=i+216|0;o=i+160|0;p=i+136|0;q=i+80|0;r=i+72|0;s=i+24|0;t=i+16|0;v=i;yV(j,58672);if((RJ(a,-1)|0)!=2){f[k>>2]=0;f[k+4>>2]=0;w=JV(k,15)|0;x=232846;y=w+15|0;do{b[w>>0]=b[x>>0]|0;w=w+1|0;x=x+1|0}while((w|0)<(y|0));EP(-215,k,232366,232372,1061);KV(k)}if((GJ(a,-1)|0)!=3?(GJ(a,-1)|0)!=19:0){f[k>>2]=0;f[k+4>>2]=0;w=JV(k,114)|0;x=232862;y=w+114|0;do{b[w>>0]=b[x>>0]|0;w=w+1|0;x=x+1|0}while((w|0)<(y|0));EP(-215,k,232366,232372,1062);KV(k)}z=GJ(c,-1)|0;if((z|0)!=(GJ(a,-1)|0)){f[k>>2]=0;f[k+4>>2]=0;w=JV(k,24)|0;x=232977;y=w+24|0;do{b[w>>0]=b[x>>0]|0;w=w+1|0;x=x+1|0}while((w|0)<(y|0));EP(-215,k,232366,232372,1063);KV(k)}if(!(QJ(a,c)|0)){f[k>>2]=0;f[k+4>>2]=0;w=JV(k,17)|0;x=233002;y=w+17|0;do{b[w>>0]=b[x>>0]|0;w=w+1|0;x=x+1|0}while((w|0)<(y|0));EP(-215,k,232366,232372,1064);KV(k)}x=e>g;A=x?e:g;B=x?g:e;FJ(k,a,-1);f[l>>2]=f[k>>2];f[l+4>>2]=f[k+4>>2];_J(d,l,0,-1,0,0);do if((HJ(d)|0)==65536){l=f[d+4>>2]|0;f[m>>2]=f[l>>2];k=m+4|0;x=l+4|0;f[k>>2]=f[x>>2];z=m+8|0;f[z>>2]=f[l+8>>2];f[m+12>>2]=f[l+12>>2];f[m+16>>2]=f[l+16>>2];f[m+20>>2]=f[l+20>>2];f[m+24>>2]=f[l+24>>2];f[m+28>>2]=f[l+28>>2];f[m+32>>2]=f[l+32>>2];C=f[l+36>>2]|0;f[m+36>>2]=C;f[m+40>>2]=z;z=m+48|0;D=m+44|0;f[D>>2]=z;f[z>>2]=0;f[m+52>>2]=0;if(C|0){z=C+12|0;f[z>>2]=(f[z>>2]|0)+1}if((f[x>>2]|0)<3){x=f[l+44>>2]|0;z=f[D>>2]|0;f[z>>2]=f[x>>2];f[z+4>>2]=f[x+4>>2];break}else{f[k>>2]=0;WO(m,l);break}}else DJ(m,d,-1);while(0);do if((HJ(a)|0)==65536){d=f[a+4>>2]|0;f[n>>2]=f[d>>2];l=n+4|0;k=d+4|0;f[l>>2]=f[k>>2];x=n+8|0;f[x>>2]=f[d+8>>2];f[n+12>>2]=f[d+12>>2];f[n+16>>2]=f[d+16>>2];f[n+20>>2]=f[d+20>>2];f[n+24>>2]=f[d+24>>2];f[n+28>>2]=f[d+28>>2];f[n+32>>2]=f[d+32>>2];z=f[d+36>>2]|0;f[n+36>>2]=z;f[n+40>>2]=x;x=n+48|0;D=n+44|0;f[D>>2]=x;f[x>>2]=0;f[n+52>>2]=0;if(z|0){x=z+12|0;f[x>>2]=(f[x>>2]|0)+1}if((f[k>>2]|0)<3){k=f[d+44>>2]|0;x=f[D>>2]|0;f[x>>2]=f[k>>2];f[x+4>>2]=f[k+4>>2];break}else{f[l>>2]=0;WO(n,d);break}}else DJ(n,a,-1);while(0);do if((HJ(c)|0)==65536){a=f[c+4>>2]|0;f[o>>2]=f[a>>2];d=o+4|0;l=a+4|0;f[d>>2]=f[l>>2];k=o+8|0;f[k>>2]=f[a+8>>2];f[o+12>>2]=f[a+12>>2];f[o+16>>2]=f[a+16>>2];f[o+20>>2]=f[a+20>>2];f[o+24>>2]=f[a+24>>2];f[o+28>>2]=f[a+28>>2];f[o+32>>2]=f[a+32>>2];x=f[a+36>>2]|0;f[o+36>>2]=x;f[o+40>>2]=k;k=o+48|0;D=o+44|0;f[D>>2]=k;f[k>>2]=0;f[o+52>>2]=0;if(x|0){k=x+12|0;f[k>>2]=(f[k>>2]|0)+1}if((f[l>>2]|0)<3){l=f[a+44>>2]|0;k=f[D>>2]|0;f[k>>2]=f[l>>2];f[k+4>>2]=f[l+4>>2];break}else{f[d>>2]=0;WO(o,a);break}}else DJ(o,c,-1);while(0);if(h){e=B<32767.0?B:32767.0;g=A<32767.0?A:32767.0;E=e>0.0?e*e:e;if(g>0.0){F=g*g;G=E}else{F=g;G=E}}else{F=A;G=B}c=~~G;a=c-(G<+(c|0)&1)|0;c=~~F;d=c-(F<+(c|0)&1)|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[q>>2]=1124007936;c=q+4|0;l=q+8|0;k=q+40|0;w=c;y=w+36|0;do{f[w>>2]=0;w=w+4|0}while((w|0)<(y|0));f[k>>2]=l;l=q+48|0;w=q+44|0;f[w>>2]=l;f[l>>2]=0;f[q+52>>2]=0;y=a_()|0;D=b_()|0;x=(D|0)<(y|0)?D:y;y=(x|0)>1?x:1;x=n+8|0;D=f[x>>2]|0;if(((D|0)/(y|0)|0|0)<3){z=(D|0)/3|0;H=(z|0)>1?z:1}else H=y;f[r>>2]=0;f[r+4>>2]=D;hia(s,n,o,q,p,a,d,h);$Z(r,s,+(H|0));f[s>>2]=58520;oQ(s+44|0);yV(r,58692);r=f[q+12>>2]|0;H=p+20|0;h=f[H>>2]|0;if(h|0){d=p+16|0;a=p+4|0;D=p+8|0;y=0-r|0;z=~r;C=1-r|0;I=r+-1|0;J=r+1|0;K=h;while(1){h=f[d>>2]|0;L=K+-1|0;M=h+L|0;N=f[a>>2]|0;O=f[(f[N+(M>>>10<<2)>>2]|0)+((M&1023)<<2)>>2]|0;f[H>>2]=L;L=f[D>>2]|0;M=L-N|0;if((1-K-h+((M|0)==0?0:(M<<8)+-1|0)|0)>>>0>2047){GQa(f[L+-4>>2]|0);f[D>>2]=(f[D>>2]|0)+-4}L=O+y|0;if(!(b[O+z>>0]|0)){M=L+-1|0;b[M>>0]=2;h=f[a>>2]|0;N=(f[D>>2]|0)-h|0;P=f[d>>2]|0;Q=f[H>>2]|0;if((((N|0)==0?0:(N<<8)+-1|0)|0)==(Q+P|0)){Sha(p);R=f[d>>2]|0;S=f[H>>2]|0;T=f[a>>2]|0}else{R=P;S=Q;T=h}h=S+R|0;f[(f[T+(h>>>10<<2)>>2]|0)+((h&1023)<<2)>>2]=M;f[H>>2]=S+1}if(!(b[L>>0]|0)){b[L>>0]=2;M=f[a>>2]|0;h=(f[D>>2]|0)-M|0;Q=f[d>>2]|0;P=f[H>>2]|0;if((((h|0)==0?0:(h<<8)+-1|0)|0)==(P+Q|0)){Sha(p);U=f[d>>2]|0;V=f[H>>2]|0;W=f[a>>2]|0}else{U=Q;V=P;W=M}M=V+U|0;f[(f[W+(M>>>10<<2)>>2]|0)+((M&1023)<<2)>>2]=L;f[H>>2]=V+1}if(!(b[O+C>>0]|0)){L=O+y+1|0;b[L>>0]=2;M=f[a>>2]|0;P=(f[D>>2]|0)-M|0;Q=f[d>>2]|0;h=f[H>>2]|0;if((((P|0)==0?0:(P<<8)+-1|0)|0)==(h+Q|0)){Sha(p);Y=f[d>>2]|0;Z=f[H>>2]|0;_=f[a>>2]|0}else{Y=Q;Z=h;_=M}M=Z+Y|0;f[(f[_+(M>>>10<<2)>>2]|0)+((M&1023)<<2)>>2]=L;f[H>>2]=Z+1}L=O+-1|0;if(!(b[L>>0]|0)){b[L>>0]=2;M=f[a>>2]|0;h=(f[D>>2]|0)-M|0;Q=f[d>>2]|0;P=f[H>>2]|0;if((((h|0)==0?0:(h<<8)+-1|0)|0)==(P+Q|0)){Sha(p);$=f[d>>2]|0;aa=f[H>>2]|0;ba=f[a>>2]|0}else{$=Q;aa=P;ba=M}M=aa+$|0;f[(f[ba+(M>>>10<<2)>>2]|0)+((M&1023)<<2)>>2]=L;f[H>>2]=aa+1}L=O+1|0;if(!(b[L>>0]|0)){b[L>>0]=2;M=f[a>>2]|0;P=(f[D>>2]|0)-M|0;Q=f[d>>2]|0;h=f[H>>2]|0;if((((P|0)==0?0:(P<<8)+-1|0)|0)==(h+Q|0)){Sha(p);ca=f[d>>2]|0;da=f[H>>2]|0;ea=f[a>>2]|0}else{ca=Q;da=h;ea=M}M=da+ca|0;f[(f[ea+(M>>>10<<2)>>2]|0)+((M&1023)<<2)>>2]=L;f[H>>2]=da+1}L=O+r|0;if(!(b[O+I>>0]|0)){M=L+-1|0;b[M>>0]=2;h=f[a>>2]|0;Q=(f[D>>2]|0)-h|0;P=f[d>>2]|0;N=f[H>>2]|0;if((((Q|0)==0?0:(Q<<8)+-1|0)|0)==(N+P|0)){Sha(p);fa=f[d>>2]|0;ga=f[H>>2]|0;ha=f[a>>2]|0}else{fa=P;ga=N;ha=h}h=ga+fa|0;f[(f[ha+(h>>>10<<2)>>2]|0)+((h&1023)<<2)>>2]=M;f[H>>2]=ga+1}if(!(b[L>>0]|0)){b[L>>0]=2;M=f[a>>2]|0;h=(f[D>>2]|0)-M|0;N=f[d>>2]|0;P=f[H>>2]|0;if((((h|0)==0?0:(h<<8)+-1|0)|0)==(P+N|0)){Sha(p);ia=f[d>>2]|0;ja=f[H>>2]|0;ka=f[a>>2]|0}else{ia=N;ja=P;ka=M}M=ja+ia|0;f[(f[ka+(M>>>10<<2)>>2]|0)+((M&1023)<<2)>>2]=L;f[H>>2]=ja+1}if(!(b[O+J>>0]|0)){L=O+r+1|0;b[L>>0]=2;O=f[a>>2]|0;M=(f[D>>2]|0)-O|0;P=f[d>>2]|0;N=f[H>>2]|0;if((((M|0)==0?0:(M<<8)+-1|0)|0)==(N+P|0)){Sha(p);la=f[d>>2]|0;ma=f[H>>2]|0;na=f[a>>2]|0}else{la=P;ma=N;na=O}O=ma+la|0;f[(f[na+(O>>>10<<2)>>2]|0)+((O&1023)<<2)>>2]=L;L=ma+1|0;f[H>>2]=L;oa=L}else oa=f[H>>2]|0;if(!oa)break;else K=oa}}yV(s,58712);s=f[x>>2]|0;f[t>>2]=0;f[t+4>>2]=s;f[v>>2]=58580;f[v+4>>2]=q;f[v+8>>2]=m;x=n+4|0;oa=f[x>>2]|0;if((oa|0)<3)pa=X(f[n+12>>2]|0,s)|0;else{s=f[n+40>>2]|0;K=0;H=1;while(1){ma=X(f[s+(K<<2)>>2]|0,H)|0;K=K+1|0;if((K|0)==(oa|0)){pa=ma;break}else H=ma}}$Z(t,v,+(pa>>>0)*.0000152587890625);pa=q+36|0;v=f[pa>>2]|0;if(v|0?(t=v+12|0,v=f[t>>2]|0,f[t>>2]=v+-1,(v|0)==1):0)XO(q);f[pa>>2]=0;pa=q+16|0;f[pa>>2]=0;f[pa+4>>2]=0;f[pa+8>>2]=0;f[pa+12>>2]=0;if((f[c>>2]|0)>0){pa=f[k>>2]|0;k=0;do{f[pa+(k<<2)>>2]=0;k=k+1|0}while((k|0)<(f[c>>2]|0))}c=f[w>>2]|0;if((c|0)!=(l|0))dX(c);Tha(p);p=o+36|0;c=f[p>>2]|0;if(c|0?(l=c+12|0,c=f[l>>2]|0,f[l>>2]=c+-1,(c|0)==1):0)XO(o);f[p>>2]=0;p=o+16|0;c=o+4|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;if((f[c>>2]|0)>0){p=f[o+40>>2]|0;l=0;do{f[p+(l<<2)>>2]=0;l=l+1|0}while((l|0)<(f[c>>2]|0))}c=f[o+44>>2]|0;if((c|0)!=(o+48|0))dX(c);c=n+36|0;o=f[c>>2]|0;do if(o|0){l=o+12|0;p=f[l>>2]|0;f[l>>2]=p+-1;if((p|0)!=1)break;XO(n)}while(0);f[c>>2]=0;c=n+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[x>>2]|0)>0){c=f[n+40>>2]|0;o=0;do{f[c+(o<<2)>>2]=0;o=o+1|0}while((o|0)<(f[x>>2]|0))}x=f[n+44>>2]|0;if((x|0)!=(n+48|0))dX(x);x=m+36|0;n=f[x>>2]|0;do if(n|0){o=n+12|0;c=f[o>>2]|0;f[o>>2]=c+-1;if((c|0)!=1)break;XO(m)}while(0);f[x>>2]=0;x=m+16|0;n=m+4|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;if((f[n>>2]|0)>0){x=f[m+40>>2]|0;c=0;do{f[x+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[n>>2]|0))}n=f[m+44>>2]|0;if((n|0)!=(m+48|0))dX(n);if(!(f[j+4>>2]|0)){u=i;return}u=i;return}function hia(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;k=u;u=u+144|0;l=k+120|0;m=k;n=k+64|0;o=k+8|0;f[a>>2]=58520;q=a+4|0;f[q>>2]=c;f[a+8>>2]=d;d=a+12|0;f[d>>2]=e;f[a+16>>2]=g;f[a+20>>2]=h;f[a+24>>2]=i;f[a+28>>2]=0;b[a+32>>0]=j&1;nQ(a+44|0);j=f[q>>2]|0;i=(f[j+8>>2]|0)+2|0;h=(f[j+12>>2]|0)+2|0;j=e+4|0;if(!(((((f[j>>2]|0)<3?(f[e+8>>2]|0)==(i|0):0)?(f[e+12>>2]|0)==(h|0):0)?(f[e>>2]&4095|0)==0:0)?(f[e+16>>2]|0)!=0:0)){f[l>>2]=i;f[l+4>>2]=h;VO(e,2,l,0)}h=f[d>>2]|0;if((h|0)==(e|0))r=e;else{i=e+36|0;g=f[i>>2]|0;if(g|0){c=g+12|0;f[c>>2]=(f[c>>2]|0)+1}c=h+36|0;g=f[c>>2]|0;if(g|0?(s=g+12|0,g=f[s>>2]|0,f[s>>2]=g+-1,(g|0)==1):0)XO(h);f[c>>2]=0;g=h+16|0;s=h+4|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;if((f[s>>2]|0)>0){t=f[h+40>>2]|0;v=0;do{f[t+(v<<2)>>2]=0;v=v+1|0;w=f[s>>2]|0}while((v|0)<(w|0));f[h>>2]=f[e>>2];if((w|0)<3)x=18;else x=20}else{f[h>>2]=f[e>>2];x=18}if((x|0)==18){w=f[j>>2]|0;if((w|0)<3){f[s>>2]=w;f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];w=f[e+44>>2]|0;s=f[h+44>>2]|0;f[s>>2]=f[w>>2];f[s+4>>2]=f[w+4>>2]}else x=20}if((x|0)==20)WO(h,e);f[g>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];f[h+24>>2]=f[e+24>>2];f[h+28>>2]=f[e+28>>2];f[h+32>>2]=f[e+32>>2];f[c>>2]=f[i>>2];r=f[d>>2]|0}f[l>>2]=0;f[l+4>>2]=1;f[m>>2]=-2147483648;f[m+4>>2]=2147483647;YO(n,r,l,m);p[m>>3]=1.0;f[l>>2]=-1056833530;f[l+4>>2]=m;f[l+8>>2]=1;f[l+12>>2]=1;hM(n,l,BK()|0)|0;r=n+36|0;i=f[r>>2]|0;if(i|0?(c=i+12|0,i=f[c>>2]|0,f[c>>2]=i+-1,(i|0)==1):0)XO(n);f[r>>2]=0;r=n+16|0;i=n+4|0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;if((f[i>>2]|0)>0){r=f[n+40>>2]|0;c=0;do{f[r+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[i>>2]|0))}i=f[n+44>>2]|0;if((i|0)!=(n+48|0))dX(i);i=f[d>>2]|0;n=f[(f[q>>2]|0)+8>>2]|0;f[l>>2]=n+1;f[l+4>>2]=n+2;f[m>>2]=-2147483648;f[m+4>>2]=2147483647;YO(o,i,l,m);p[m>>3]=1.0;f[l>>2]=-1056833530;f[l+4>>2]=m;f[l+8>>2]=1;f[l+12>>2]=1;hM(o,l,BK()|0)|0;l=o+36|0;m=f[l>>2]|0;if(m|0?(i=m+12|0,m=f[i>>2]|0,f[i>>2]=m+-1,(m|0)==1):0)XO(o);f[l>>2]=0;l=o+16|0;m=o+4|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;if((f[m>>2]|0)>0){l=f[o+40>>2]|0;i=0;do{f[l+(i<<2)>>2]=0;i=i+1|0}while((i|0)<(f[m>>2]|0))}m=f[o+44>>2]|0;if((m|0)==(o+48|0)){y=f[d>>2]|0;z=y+12|0;A=f[z>>2]|0;B=a+36|0;f[B>>2]=A;C=a+33|0;b[C>>0]=0;D=f[q>>2]|0;E=f[D>>2]|0;F=E>>>3;G=F&511;H=G+1|0;I=a+40|0;f[I>>2]=H;u=k;return}dX(m);y=f[d>>2]|0;z=y+12|0;A=f[z>>2]|0;B=a+36|0;f[B>>2]=A;C=a+33|0;b[C>>0]=0;D=f[q>>2]|0;E=f[D>>2]|0;F=E>>>3;G=F&511;H=G+1|0;I=a+40|0;f[I>>2]=H;u=k;return}function iia(a,c,d,e,g){a=a|0;c=c|0;d=+d;e=+e;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=u;u=u+144|0;i=h+88|0;j=h+32|0;k=h+16|0;l=h;NY(i,a,0,1,0,0);NY(j,c,0,1,0,0);c=i+40|0;a=f[c>>2]|0;m=f[a+-4>>2]|0;n=j+40|0;o=f[n>>2]|0;a:do if((m|0)==(f[o+-4>>2]|0)){if((m|0)==2){if((f[a>>2]|0)!=(f[o>>2]|0)){p=10;break}if((f[a+4>>2]|0)!=(f[o+4>>2]|0)){p=10;break}}else if((m|0)>0){q=0;do{if((f[a+(q<<2)>>2]|0)!=(f[o+(q<<2)>>2]|0)){p=10;break a}q=q+1|0}while((q|0)<(m|0))}if(!((f[i>>2]&7|0)==0?!(f[j>>2]&4095|0):0))p=10}else p=10;while(0);if((p|0)==10){f[k>>2]=0;f[k+4>>2]=0;p=JV(k,59)|0;m=233106;o=p+59|0;do{b[p>>0]=b[m>>0]|0;p=p+1|0;m=m+1|0}while((p|0)<(o|0));EP(-215,k,233166,232372,1133);KV(k)}f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=i;m=l+8|0;f[m>>2]=0;f[m+4>>2]=0;f[l>>2]=33619968;f[l+4>>2]=j;Qha(k,l,d,e,g&255,(g|0)<0);g=j+36|0;l=f[g>>2]|0;if(l|0?(k=l+12|0,l=f[k>>2]|0,f[k>>2]=l+-1,(l|0)==1):0)XO(j);f[g>>2]=0;g=j+16|0;l=j+4|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;if((f[l>>2]|0)>0){g=f[n>>2]|0;n=0;do{f[g+(n<<2)>>2]=0;n=n+1|0}while((n|0)<(f[l>>2]|0))}l=f[j+44>>2]|0;if((l|0)!=(j+48|0))dX(l);l=i+36|0;j=f[l>>2]|0;if(j|0?(n=j+12|0,j=f[n>>2]|0,f[n>>2]=j+-1,(j|0)==1):0)XO(i);f[l>>2]=0;l=i+16|0;j=i+4|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;if((f[j>>2]|0)>0){l=f[c>>2]|0;c=0;do{f[l+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[j>>2]|0))}j=f[i+44>>2]|0;if((j|0)==(i+48|0)){u=h;return}dX(j);u=h;return}function jia(a){a=a|0;return}function kia(a){a=a|0;ye()}function lia(a){a=a|0;return}function mia(a){a=a|0;ye()}function nia(a){a=a|0;return}function oia(a){a=a|0;return}function pia(a){a=a|0;ye()}function qia(a){a=a|0;return}function ria(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=58808;b=a+192|0;c=f[b>>2]|0;if(c|0?(d=c+4|0,e=f[d>>2]|0,f[d>>2]=e+-1,(e|0)==1):0)qg[f[(f[c>>2]|0)+8>>2]&1023](c);f[b>>2]=0;f[a+196>>2]=0;b=a+184|0;c=f[b>>2]|0;if(c|0?(e=c+4|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)qg[f[(f[c>>2]|0)+8>>2]&1023](c);f[b>>2]=0;f[a+188>>2]=0;b=a+176|0;c=f[b>>2]|0;if(c|0?(d=c+4|0,e=f[d>>2]|0,f[d>>2]=e+-1,(e|0)==1):0)qg[f[(f[c>>2]|0)+8>>2]&1023](c);f[b>>2]=0;f[a+180>>2]=0;b=f[a+164>>2]|0;if(b|0){c=a+168|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);GQa(b)}b=f[a+128>>2]|0;if(b|0){e=a+132|0;if((f[e>>2]|0)!=(b|0))f[e>>2]=b;GQa(b)}b=f[a+116>>2]|0;if(b|0){e=a+120|0;if((f[e>>2]|0)!=(b|0))f[e>>2]=b;GQa(b)}b=f[a+104>>2]|0;if(b|0){e=a+108|0;if((f[e>>2]|0)!=(b|0))f[e>>2]=b;GQa(b)}b=f[a+92>>2]|0;if(b|0){e=a+96|0;if((f[e>>2]|0)!=(b|0))f[e>>2]=b;GQa(b)}b=f[a+76>>2]|0;if(!b)return;e=a+80|0;a=f[e>>2]|0;if((a|0)!=(b|0))f[e>>2]=a+(~((a+-4-b|0)>>>2)<<2);GQa(b);return}function sia(a){a=a|0;ria(a);GQa(a);return}function tia(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0;g=u;u=u+16|0;h=g;i=f[c>>2]|0;j=a+36|0;f[j>>2]=i;k=f[c+4>>2]|0;c=a+40|0;f[c>>2]=k;l=f[e>>2]|0;m=f[e+4>>2]|0;e=f[d>>2]|0;n=f[d+4>>2]|0;d=a+44|0;f[d>>2]=l;o=a+48|0;f[o>>2]=m;p=a+52|0;f[p>>2]=e;q=a+56|0;f[q>>2]=n;if(((e+l|0)>(i|0)?1:(l|m|e|n|0)<0)|(n+m|0)>(k|0)){f[h>>2]=0;f[h+4>>2]=0;DVa(JV(h,143)|0,233554,143)|0;EP(-215,h,233698,233284,173);KV(h);r=f[p>>2]|0}else r=e;e=a+4|0;k=f[e>>2]|0;m=(k>>>3&511)+1<<(47696>>>(k<<1&14)&3);n=a+12|0;l=f[n>>2]|0;i=(l>>>3&511)+1<<(47696>>>(l<<1&14)&3);l=a+116|0;s=f[l>>2]|0;t=a+120|0;v=(s|0)==(f[t>>2]|0)?0:s;s=a+16|0;w=a+20|0;x=f[w>>2]|0;y=x+3|0;z=a+28|0;A=f[z>>2]|0;B=x-A+-1|0;x=((A|0)<(B|0)?B:A)<<1|1;A=(y|0)<(x|0)?x:y;y=a+32|0;x=f[y>>2]|0;if((x|0)>=(r|0)){B=a+164|0;C=a+168|0;D=f[C>>2]|0;E=f[B>>2]|0;if((A|0)==(D-E>>2|0))F=a+180|0;else{G=C;H=C;I=B;J=B;K=E;L=D;M=7}}else{D=a+168|0;E=a+164|0;G=D;H=D;I=E;J=E;K=f[E>>2]|0;L=f[D>>2]|0;M=7}do if((M|0)==7){D=L-K>>2;E=K;B=L;if(A>>>0<=D>>>0)if(A>>>0>>0?(C=E+(A<<2)|0,(C|0)!=(B|0)):0){f[G>>2]=B+(~((B+-4-C|0)>>>2)<<2);N=x;O=r;P=k}else{N=x;O=r;P=k}else{P7(J,A-D|0);N=f[y>>2]|0;O=f[p>>2]|0;P=f[e>>2]|0}D=(N|0)<(O|0)?O:N;f[y>>2]=D;C=(P>>>3&511)+1|0;B=a+104|0;E=X(D+-1+(f[s>>2]|0)|0,m)|0;D=a+108|0;Q=f[D>>2]|0;R=f[B>>2]|0;S=Q-R|0;T=R;R=Q;if(E>>>0<=S>>>0){if(E>>>0>>0?(Q=T+E|0,(Q|0)!=(R|0)):0)f[D>>2]=Q}else bK(B,E-S|0);if(!(f[a+72>>2]|0)){if(!v){f[h>>2]=0;f[h+4>>2]=0;U=JV(h,14)|0;V=233704;W=U+14|0;do{b[U>>0]=b[V>>0]|0;U=U+1|0;V=V+1|0}while((U|0)<(W|0));EP(-215,h,233698,233284,191);KV(h)}S=a+128|0;E=f[n>>2]|0;Q=f[y>>2]|0;D=f[s>>2]|0;R=X((E>>>3&511)+1<<(47696>>>(E<<1&14)&3),Q+63+D|0)|0;E=a+132|0;T=f[E>>2]|0;Y=f[S>>2]|0;Z=T-Y|0;_=Y;$=T;if(R>>>0<=Z>>>0)if(R>>>0>>0?(T=_+R|0,(T|0)!=($|0)):0){f[E>>2]=T;aa=Y;ba=Q;ca=D}else{aa=Y;ba=Q;ca=D}else{bK(S,R-Z|0);aa=f[S>>2]|0;ba=f[y>>2]|0;ca=f[s>>2]|0}S=aa+63&-64;Z=X(ba+-1+ca|0,m)|0;R=a+180|0;D=f[R>>2]|0;if(!D)da=f[B>>2]|0;else da=S;if((Z|0)>0){Q=(f[t>>2]|0)-(f[l>>2]|0)|0;Y=0;do{T=Z-Y|0;Q=(T|0)<(Q|0)?T:Q;if((Q|0)>0){T=0;do{b[da+(T+Y)>>0]=b[v+T>>0]|0;T=T+1|0}while((T|0)<(Q|0))}Y=Q+Y|0}while((Z|0)>(Y|0));ea=f[R>>2]|0}else ea=D;if(!ea){Y=f[a+188>>2]|0;Sh[f[(f[Y>>2]|0)+8>>2]&255](Y,f[B>>2]|0,S,f[y>>2]|0,C);fa=R}else fa=R}else fa=a+180|0;if(!(f[fa>>2]|0))ga=0;else ga=(f[s>>2]|0)+-1|0;Y=X((f[y>>2]|0)+63+ga&-64,i)|0;Z=a+92|0;Q=(X(Y,(f[H>>2]|0)-(f[I>>2]|0)>>2)|0)+64|0;Y=a+96|0;T=f[Y>>2]|0;E=f[Z>>2]|0;$=T-E|0;if(Q>>>0>$>>>0){bK(Z,Q-$|0);F=fa;break}if(Q>>>0<$>>>0?($=E+Q|0,($|0)!=(T|0)):0){f[Y>>2]=$;F=fa}else F=fa}while(0);fa=f[p>>2]|0;I=f[F>>2]|0;H=f[s>>2]|0;ga=X(fa+15+((I|0)==0?0:H+-1|0)&-16,i)|0;i=a+140|0;f[i>>2]=ga;ga=f[a+24>>2]|0;y=f[d>>2]|0;d=ga-y|0;ea=(d|0)>0;da=a+60|0;f[da>>2]=ea?d:0;l=f[j>>2]|0;j=H+-1-ga+y+fa-l|0;fa=(j|0)>0;H=a+64|0;f[H>>2]=fa?j:0;a:do if(ea|fa){j=a+68|0;t=f[j>>2]|0;if(!t){if(!v){f[h>>2]=0;f[h+4>>2]=0;U=JV(h,14)|0;V=233704;W=U+14|0;do{b[U>>0]=b[V>>0]|0;U=U+1|0;V=V+1|0}while((U|0)<(W|0));EP(-215,h,233698,233284,225);KV(h);ha=f[F>>2]|0}else ha=I;if(ha){R=(f[a+168>>2]|0)-(f[a+164>>2]|0)|0;if((R|0)>0)ia=R>>2;else break}else ia=1;R=a+104|0;C=a+92|0;S=0;B=ha;while(1){if(!B)ja=f[R>>2]|0;else ja=((f[C>>2]|0)+63&-64)+(X(f[i>>2]|0,S)|0)|0;DVa(ja|0,v|0,X(f[da>>2]|0,m)|0)|0;D=f[H>>2]|0;DVa(ja+(X((f[p>>2]|0)+-1+(f[s>>2]|0)-D|0,m)|0)|0,v|0,X(D,m)|0)|0;D=S+1|0;if((D|0)==(ia|0))break a;S=D;B=f[F>>2]|0}}B=((ga|0)<(y|0)?ga:y)-y|0;S=f[a+88>>2]|0;C=f[a+76>>2]|0;b:do if(ea){if((S|0)>0){ka=0;la=d;ma=t}else{lM(0-d|0,l,t)|0;R=f[da>>2]|0;if((R|0)>1){na=R;oa=1}else break;while(1){lM(oa-na|0,l,f[j>>2]|0)|0;oa=oa+1|0;na=f[da>>2]|0;if((oa|0)>=(na|0))break b}}while(1){R=X((lM(ka-la|0,l,ma)|0)+B|0,S)|0;D=X(ka,S)|0;ca=0;do{f[C+(ca+D<<2)>>2]=ca+R;ca=ca+1|0}while((ca|0)!=(S|0));ca=ka+1|0;R=f[da>>2]|0;if((ca|0)>=(R|0))break b;ka=ca;la=R;ma=f[j>>2]|0}}while(0);if((f[H>>2]|0)>0){if((S|0)>0)pa=0;else{t=0;while(1){lM(t+l|0,l,f[j>>2]|0)|0;t=t+1|0;if((t|0)>=(f[H>>2]|0))break a}}do{t=X((lM(pa+l|0,l,f[j>>2]|0)|0)+B|0,S)|0;R=0;do{ca=C+((X((f[da>>2]|0)+pa|0,S)|0)+R<<2)|0;f[ca>>2]=R+t;R=R+1|0}while((R|0)!=(S|0));pa=pa+1|0}while((pa|0)<(f[H>>2]|0))}}while(0);f[a+160>>2]=0;f[a+156>>2]=0;H=f[o>>2]|0;o=f[z>>2]|0;z=H-o|0;pa=(z|0)>0?z:0;f[a+148>>2]=pa;z=a+144|0;f[z>>2]=pa;pa=H+-1+(f[q>>2]|0)+(f[w>>2]|0)-o|0;o=f[c>>2]|0;f[a+152>>2]=(o|0)<(pa|0)?o:pa;pa=f[a+196>>2]|0;if(pa|0)qg[f[(f[pa>>2]|0)+12>>2]&1023](pa);pa=f[F>>2]|0;if(!pa){qa=f[z>>2]|0;u=g;return qa|0}qg[f[(f[pa>>2]|0)+12>>2]&1023](pa);qa=f[z>>2]|0;u=g;return qa|0}function uia(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=u;u=u+16|0;g=e;h=f[(f[a>>2]|0)+8>>2]|0;i=f[b+40>>2]|0;b=f[i>>2]|0;f[g>>2]=f[i+4>>2];f[g+4>>2]=b;dg[h&63](a,c,g,d)|0;u=e;return (f[a+144>>2]|0)-(f[d+4>>2]|0)|0}function via(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0;i=u;u=u+16|0;j=i;if(!((f[a+36>>2]|0)>0?(f[a+40>>2]|0)>0:0)){f[j>>2]=0;f[j+4>>2]=0;k=JV(j,43)|0;l=233444;m=k+43|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-215,j,233488,233284,288);KV(j)}n=f[a+76>>2]|0;o=a+4|0;p=f[o>>2]|0;q=(p>>>3&511)+1<<(47696>>>(p<<1&14)&3);p=f[a+88>>2]|0;r=f[a+164>>2]|0;s=(f[a+168>>2]|0)-r>>2;t=((f[a+12>>2]|0)>>>3&511)+1|0;v=a+52|0;w=f[v>>2]|0;x=f[a+16>>2]|0;y=f[a+20>>2]|0;z=f[a+28>>2]|0;A=f[a+60>>2]|0;B=f[a+64>>2]|0;C=f[a+24>>2]|0;D=f[a+44>>2]|0;E=a+180|0;F=(f[E>>2]|0)==0;if((A|0)>0|(B|0)>0)G=(f[a+68>>2]|0)!=0;else G=0;H=c+(X((C|0)<(D|0)?C:D,0-q|0)|0)|0;D=a+144|0;C=a+156|0;c=(f[a+152>>2]|0)-(f[D>>2]|0)-(f[C>>2]|0)|0;I=(c|0)<(e|0)?c:e;if(!((g|0)!=0&(H|0)!=0&(I|0)>0)){f[j>>2]=0;f[j+4>>2]=0;k=JV(j,23)|0;l=233496;m=k+23|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-215,j,233488,233284,307);KV(j)}e=s-z|0;c=a+48|0;J=s+1-y|0;K=a+148|0;L=a+92|0;M=a+140|0;N=a+104|0;O=X(A,q)|0;P=w+-1+x-B|0;x=X(P-A|0,q)|0;Q=(p<<2|0)==(q|0);R=X(A,p)|0;A=(R|0)>0;S=X(B,p)|0;T=(S|0)>0;U=X(P,p)|0;p=(O|0)>0;V=X(B,q)|0;B=(V|0)>0;W=X(P,q)|0;q=a+188|0;P=a+56|0;Y=a+160|0;Z=y+-1|0;_=a+196|0;$=a+40|0;aa=a+72|0;ba=a+128|0;a=j+4|0;ca=H;H=g;g=0;da=I;while(1){I=f[D>>2]|0;ea=f[C>>2]|0;fa=e-I-ea+(f[c>>2]|0)|0;ga=(fa|0)>0?fa:J;fa=(da|0)<(ga|0)?da:ga;ga=da-fa|0;ha=fa+-1|0;do if((fa|0)>0){ia=X(fa,d)|0;if(F){ja=ca;ka=I;la=ea;ma=ha;while(1){na=((f[L>>2]|0)+63&-64)+(X(f[M>>2]|0,(ka-(f[K>>2]|0)+la|0)%(s|0)|0)|0)|0;oa=f[N>>2]|0;f[C>>2]=la+1;if((la|0)>=(s|0)){f[C>>2]=la;f[D>>2]=ka+1}DVa(oa+O|0,ja|0,x|0)|0;do if(G)if(Q){if(A){pa=0;do{f[oa+(pa<<2)>>2]=f[ja+(f[n+(pa<<2)>>2]<<2)>>2];pa=pa+1|0}while((pa|0)!=(R|0))}if(T)qa=0;else break;do{f[oa+(qa+U<<2)>>2]=f[ja+(f[n+(qa+R<<2)>>2]<<2)>>2];qa=qa+1|0}while((qa|0)!=(S|0))}else{if(p){pa=0;do{b[oa+pa>>0]=b[ja+(f[n+(pa<<2)>>2]|0)>>0]|0;pa=pa+1|0}while((pa|0)!=(O|0))}if(B)ra=0;else break;do{b[oa+(ra+W)>>0]=b[ja+(f[n+(ra+O<<2)>>2]|0)>>0]|0;ra=ra+1|0}while((ra|0)!=(V|0))}while(0);pa=f[q>>2]|0;Sh[f[(f[pa>>2]|0)+8>>2]&255](pa,oa,na,w,((f[o>>2]|0)>>>3&511)+1|0);if((ma|0)<=0)break;ja=ja+d|0;ka=f[D>>2]|0;la=f[C>>2]|0;ma=ma+-1|0}sa=ca+ia|0;break}else{ma=ca;la=I;ka=ea;ja=ha;while(1){pa=((f[L>>2]|0)+63&-64)+(X(f[M>>2]|0,(la-(f[K>>2]|0)+ka|0)%(s|0)|0)|0)|0;f[C>>2]=ka+1;if((ka|0)>=(s|0)){f[C>>2]=ka;f[D>>2]=la+1}DVa(pa+O|0,ma|0,x|0)|0;do if(G)if(Q){if(A){ta=0;do{f[pa+(ta<<2)>>2]=f[ma+(f[n+(ta<<2)>>2]<<2)>>2];ta=ta+1|0}while((ta|0)!=(R|0))}if(T)ua=0;else break;do{f[pa+(ua+U<<2)>>2]=f[ma+(f[n+(ua+R<<2)>>2]<<2)>>2];ua=ua+1|0}while((ua|0)!=(S|0))}else{if(p){ta=0;do{b[pa+ta>>0]=b[ma+(f[n+(ta<<2)>>2]|0)>>0]|0;ta=ta+1|0}while((ta|0)!=(O|0))}if(B)va=0;else break;do{b[pa+(va+W)>>0]=b[ma+(f[n+(va+O<<2)>>2]|0)>>0]|0;va=va+1|0}while((va|0)!=(V|0))}while(0);if((ja|0)<=0)break;ma=ma+d|0;la=f[D>>2]|0;ka=f[C>>2]|0;ja=ja+-1|0}sa=ca+ia|0;break}}else sa=ca;while(0);ha=f[Y>>2]|0;ea=Z-g+(f[P>>2]|0)-ha|0;I=(ea|0)<(s|0)?ea:s;a:do if((I|0)>0){ea=g-z|0;fa=0;ja=ha;while(1){ka=lM(ea+fa+ja+(f[c>>2]|0)|0,f[$>>2]|0,f[aa>>2]|0)|0;if((ka|0)<0)wa=(f[ba>>2]|0)+63&-64;else{la=f[D>>2]|0;if((ka|0)<(la|0)){f[j>>2]=0;f[a>>2]=0;k=JV(j,14)|0;l=233520;m=k+14|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-215,j,233488,233284,363);KV(j);xa=f[D>>2]|0}else xa=la;if((ka|0)>=((f[C>>2]|0)+xa|0)){ya=fa;break a}wa=((f[L>>2]|0)+63&-64)+(X(f[M>>2]|0,(ka-(f[K>>2]|0)|0)%(s|0)|0)|0)|0}f[r+(fa<<2)>>2]=wa;ma=fa+1|0;if((ma|0)>=(I|0)){ya=ma;break a}fa=ma;ja=f[Y>>2]|0}}else ya=0;while(0);if((ya|0)<(y|0))break;I=ya-Z|0;ha=f[E>>2]|0;if(!ha){ja=f[_>>2]|0;fa=X(f[v>>2]|0,t)|0;ci[f[(f[ja>>2]|0)+8>>2]&127](ja,r,H,h,I,fa)}else li[f[(f[ha>>2]|0)+8>>2]&127](ha,r,H,h,I,f[v>>2]|0,t);ca=sa;H=H+(X(I,h)|0)|0;g=I+g|0;da=ga}da=(f[Y>>2]|0)+g|0;f[Y>>2]=da;if((da|0)<=(f[P>>2]|0)){u=i;return g|0}f[j>>2]=0;f[j+4>>2]=0;k=JV(j,18)|0;l=233535;m=k+18|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-215,j,233488,233284,380);KV(j);u=i;return g|0}function wia(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;h=u;u=u+16|0;i=h+8|0;j=h;yV(i,58832);if(!((f[c>>2]&4095|0)==(f[a+4>>2]|0)?(f[d>>2]&4095|0)==(f[a+8>>2]|0):0)){f[j>>2]=0;f[j+4>>2]=0;k=JV(j,46)|0;l=233237;m=k+46|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-215,j,339759,233284,388);KV(j)}j=dg[f[(f[a>>2]|0)+12>>2]&63](a,c,e,g)|0;g=f[c+48>>2]|0;e=(f[c+16>>2]|0)+(X(g,j)|0)|0;ig[f[(f[a>>2]|0)+16>>2]&127](a,e,g,(f[a+152>>2]|0)-(f[a+144>>2]|0)|0,f[d+16>>2]|0,f[d+48>>2]|0)|0;if(!(f[i+4>>2]|0)){u=h;return}u=h;return}function xia(a){a=a|0;f[a>>2]=58740;f[a+8>>2]=-1;f[a+4>>2]=-1;return}function yia(a){a=a|0;f[a>>2]=58760;f[a+8>>2]=-1;f[a+4>>2]=-1;return}function zia(a){a=a|0;var b=0;f[a>>2]=58784;b=a+4|0;f[b>>2]=-1;f[b+4>>2]=-1;f[b+8>>2]=-1;f[b+12>>2]=-1;return}function Aia(a,b,c,d,e,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0;f[a>>2]=58808;f[a+4>>2]=-1;f[a+8>>2]=-1;f[a+12>>2]=-1;l=a+16|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[a+36>>2]=-1;f[a+40>>2]=-1;l=a+44|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[a+68>>2]=1;f[a+72>>2]=1;l=a+76|0;m=l+124|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));Bia(a,b,c,d,e,g,h,i,j,k);return}function Bia(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;m=u;u=u+16|0;n=m;o=g&4095;p=a+4|0;f[p>>2]=o;q=(g>>>3&511)+1<<(47696>>>(o<<1&14)&3);f[a+8>>2]=h&4095;h=a+12|0;f[h>>2]=i&4095;i=a+176|0;o=f[c>>2]|0;g=f[c+4>>2]|0;if(o|0){c=o+4|0;f[c>>2]=(f[c>>2]|0)+1}c=f[i>>2]|0;f[i>>2]=o;o=a+180|0;f[o>>2]=g;if(c|0?(g=c+4|0,i=f[g>>2]|0,f[g>>2]=i+-1,(i|0)==1):0)qg[f[(f[c>>2]|0)+8>>2]&1023](c);c=a+184|0;i=f[d>>2]|0;g=f[d+4>>2]|0;if(i|0){d=i+4|0;f[d>>2]=(f[d>>2]|0)+1}d=f[c>>2]|0;f[c>>2]=i;i=a+188|0;f[i>>2]=g;if(d|0?(g=d+4|0,c=f[g>>2]|0,f[g>>2]=c+-1,(c|0)==1):0)qg[f[(f[d>>2]|0)+8>>2]&1023](d);d=a+192|0;c=f[e>>2]|0;g=f[e+4>>2]|0;if(c|0){e=c+4|0;f[e>>2]=(f[e>>2]|0)+1}e=f[d>>2]|0;f[d>>2]=c;c=a+196|0;f[c>>2]=g;if(e|0?(g=e+4|0,d=f[g>>2]|0,f[g>>2]=d+-1,(d|0)==1):0)qg[f[(f[e>>2]|0)+8>>2]&1023](e);e=(k|0)<0?j:k;k=a+68|0;f[k>>2]=j;j=a+72|0;f[j>>2]=e;if((e|0)==3){f[n>>2]=0;f[n+4>>2]=0;r=JV(n,31)|0;s=233739;t=r+31|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));EP(-215,n,233771,233284,127);KV(n)}e=f[o>>2]|0;if(!e){d=f[i>>2]|0;if((d|0)!=0?(g=f[c>>2]|0,(g|0)!=0):0){v=g;w=d}else{f[n>>2]=0;f[n+4>>2]=0;r=JV(n,25)|0;s=233776;t=r+25|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));EP(-215,n,233771,233284,131);KV(n);v=f[c>>2]|0;w=f[i>>2]|0}i=f[w+4>>2]|0;c=f[v+4>>2]|0;f[a+16>>2]=i;f[a+20>>2]=c;d=f[w+8>>2]|0;w=f[v+8>>2]|0;f[a+24>>2]=d;x=w;y=d;z=i;A=c}else{if((f[h>>2]|0)==(f[p>>2]|0))B=e;else{f[n>>2]=0;f[n+4>>2]=0;r=JV(n,18)|0;s=233802;t=r+18|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));EP(-215,n,233771,233284,137);KV(n);B=f[o>>2]|0}o=f[B+4>>2]|0;f[a+16>>2]=o;e=f[B+8>>2]|0;f[a+20>>2]=e;h=f[B+12>>2]|0;f[a+24>>2]=h;x=f[B+16>>2]|0;y=h;z=o;A=e}f[a+28>>2]=x;if((y|x|0)>-1&(y|0)<(z|0)&(x|0)<(A|0))C=z;else{f[n>>2]=0;f[n+4>>2]=0;r=JV(n,83)|0;s=233821;t=r+83|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));EP(-215,n,233771,233284,143);KV(n);C=f[a+16>>2]|0}n=q>>>((f[p>>2]|0)>>>1&2);f[a+88>>2]=n;s=C+-1|0;C=(s|0)>1?s:1;s=a+76|0;r=X(C,n)|0;n=a+80|0;t=f[n>>2]|0;z=f[s>>2]|0;A=t-z>>2;x=z;z=t;if(r>>>0<=A>>>0){if(r>>>0>>0?(t=x+(r<<2)|0,(t|0)!=(z|0)):0)f[n>>2]=z+(~((z+-4-t|0)>>>2)<<2)}else eK(s,r-A|0);f[a+140>>2]=0;f[a+32>>2]=0;A=f[a+128>>2]|0;r=a+132|0;if((f[r>>2]|0)!=(A|0))f[r>>2]=A;if(f[k>>2]|0?f[j>>2]|0:0){D=a+36|0;f[D>>2]=-1;E=a+40|0;f[E>>2]=-1;u=m;return}j=a+116|0;k=X(C,q)|0;q=a+120|0;A=f[q>>2]|0;r=f[j>>2]|0;s=A-r|0;t=r;r=A;if(k>>>0<=s>>>0)if(k>>>0>>0?(A=t+k|0,(A|0)!=(r|0)):0){f[q>>2]=A;F=t}else F=t;else{bK(j,k-s|0);F=f[j>>2]|0}j=f[p>>2]|0;p=j>>>3&511;uW(l,F,(p>>>0>3?24:p<<3)|j&7,X(p+1|0,C)|0);D=a+36|0;f[D>>2]=-1;E=a+40|0;f[E>>2]=-1;u=m;return}function Cia(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0.0,v=0.0,w=0.0,x=0,y=0.0,z=0;d=u;u=u+128|0;e=d+72|0;g=d+16|0;h=d;do if((HJ(a)|0)==65536){i=f[a+4>>2]|0;f[e>>2]=f[i>>2];j=e+4|0;k=i+4|0;f[j>>2]=f[k>>2];l=e+8|0;f[l>>2]=f[i+8>>2];f[e+12>>2]=f[i+12>>2];f[e+16>>2]=f[i+16>>2];f[e+20>>2]=f[i+20>>2];f[e+24>>2]=f[i+24>>2];f[e+28>>2]=f[i+28>>2];f[e+32>>2]=f[i+32>>2];m=f[i+36>>2]|0;f[e+36>>2]=m;f[e+40>>2]=l;l=e+48|0;n=e+44|0;f[n>>2]=l;f[l>>2]=0;f[e+52>>2]=0;if(m|0){l=m+12|0;f[l>>2]=(f[l>>2]|0)+1}if((f[k>>2]|0)<3){k=f[i+44>>2]|0;l=f[n>>2]|0;f[l>>2]=f[k>>2];f[l+4>>2]=f[k+4>>2];o=e;break}else{f[j>>2]=0;WO(e,i);o=e;break}}else{DJ(e,a,-1);o=e}while(0);if(f[o>>2]&4088|0){f[g>>2]=0;f[g+4>>2]=0;q=JV(g,23)|0;o=233905;r=q+23|0;do{b[q>>0]=b[o>>0]|0;q=q+1|0;o=o+1|0}while((q|0)<(r|0));EP(-215,g,233929,233284,407);KV(g)}o=e+8|0;a=e+12|0;i=X(f[a>>2]|0,f[o>>2]|0)|0;f[g>>2]=1124007936;j=g+4|0;k=g+8|0;l=g+40|0;q=j;r=q+36|0;do{f[q>>2]=0;q=q+4|0}while((q|0)<(r|0));f[l>>2]=k;k=g+48|0;q=g+44|0;f[q>>2]=k;f[k>>2]=0;f[g+52>>2]=0;r=h+8|0;f[r>>2]=0;f[r+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=g;AO(e,h,6,1.0,0.0);h=g+16|0;r=f[h>>2]|0;n=f[o>>2]|0;o=f[a>>2]|0;if((n|0)==1|(o|0)==1?(f[c>>2]<<1|1|0)==(o|0):0)s=(f[c+4>>2]<<1|1|0)==(n|0)?15:12;else s=12;if((i|0)>0){n=i+-1|0;t=0.0;c=0;o=s;while(1){v=+p[r+(c<<3)>>3];w=+p[r+(n-c<<3)>>3];a=v!=w?o&-2:o;m=v!=-w?a&-3:a;a=v<0.0?m&-5:m;m=v!=+(AEa(v)|0);x=m?a&-9:a;w=t+v;c=c+1|0;if((c|0)==(i|0)){y=w;z=x;break}else{t=w;o=x}}}else{y=0.0;z=s}s=+K(+(y+-1.0))>(+K(+y)+1.0)*1.1920928955078125e-07;o=s?z&-5:z;z=g+36|0;s=f[z>>2]|0;if(s|0?(i=s+12|0,s=f[i>>2]|0,f[i>>2]=s+-1,(s|0)==1):0)XO(g);f[z>>2]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;if((f[j>>2]|0)>0){h=f[l>>2]|0;l=0;do{f[h+(l<<2)>>2]=0;l=l+1|0}while((l|0)<(f[j>>2]|0))}j=f[q>>2]|0;if((j|0)!=(k|0))dX(j);j=e+36|0;k=f[j>>2]|0;if(k|0?(q=k+12|0,k=f[q>>2]|0,f[q>>2]=k+-1,(k|0)==1):0)XO(e);f[j>>2]=0;j=e+16|0;k=e+4|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;if((f[k>>2]|0)>0){j=f[e+40>>2]|0;q=0;do{f[j+(q<<2)>>2]=0;q=q+1|0}while((q|0)<(f[k>>2]|0))}k=f[e+44>>2]|0;if((k|0)==(e+48|0)){u=d;return o|0}dX(k);u=d;return o|0}function Dia(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;i=u;u=u+80|0;j=i;k=i+64|0;l=i+8|0;do if((HJ(e)|0)==65536){m=f[e+4>>2]|0;f[l>>2]=f[m>>2];n=l+4|0;o=m+4|0;f[n>>2]=f[o>>2];p=l+8|0;f[p>>2]=f[m+8>>2];f[l+12>>2]=f[m+12>>2];f[l+16>>2]=f[m+16>>2];f[l+20>>2]=f[m+20>>2];f[l+24>>2]=f[m+24>>2];f[l+28>>2]=f[m+28>>2];f[l+32>>2]=f[m+32>>2];q=f[m+36>>2]|0;f[l+36>>2]=q;f[l+40>>2]=p;p=l+48|0;r=l+44|0;f[r>>2]=p;f[p>>2]=0;f[l+52>>2]=0;if(q|0){p=q+12|0;f[p>>2]=(f[p>>2]|0)+1}if((f[o>>2]|0)<3){o=f[m+44>>2]|0;p=f[r>>2]|0;f[p>>2]=f[o>>2];f[p+4>>2]=f[o+4>>2];break}else{f[n>>2]=0;WO(l,m);break}}else DJ(l,e,-1);while(0);e=c&7;m=d&7;if(!((((d^c)&4088|0)==0?(m|0)>=((e>>>0>4?e:4)|0):0)?(f[l>>2]&4095|0)==(m|0):0)){f[k>>2]=0;f[k+4>>2]=0;n=JV(k,109)|0;o=233943;p=n+109|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));EP(-215,k,234053,233284,3605);KV(k)}do if(h&3|0?((f[l+12>>2]|0)+(f[l+8>>2]|0)|0)<7:0){if((e|0)==0&(m|0)==4){o=EQa(76)|0;Eia(o,l,g,h,k);n=EQa(16)|0;p=n+4|0;f[p>>2]=1;f[n>>2]=58860;f[n+8>>2]=o;f[a>>2]=n;f[a+4>>2]=o;f[p>>2]=(f[p>>2]|0)+1;o=f[p>>2]|0;f[p>>2]=o+-1;if((o|0)==1)qg[f[(f[n>>2]|0)+8>>2]&1023](n);break}if((e|0)==5&(m|0)==5){n=EQa(76)|0;Fia(n,l,g,h,k);o=EQa(16)|0;p=o+4|0;f[p>>2]=1;f[o>>2]=58880;f[o+8>>2]=n;f[a>>2]=o;f[a+4>>2]=n;f[p>>2]=(f[p>>2]|0)+1;n=f[p>>2]|0;f[p>>2]=n+-1;if((n|0)==1)qg[f[(f[o>>2]|0)+8>>2]&1023](o)}else s=21}else s=21;while(0);do if((s|0)==21){h=(e|0)==0;if(h&(m|0)==4){o=EQa(72)|0;Gia(o,l,g,k);n=EQa(16)|0;p=n+4|0;f[p>>2]=1;f[n>>2]=58900;f[n+8>>2]=o;f[a>>2]=n;f[a+4>>2]=o;f[p>>2]=(f[p>>2]|0)+1;o=f[p>>2]|0;f[p>>2]=o+-1;if((o|0)==1)qg[f[(f[n>>2]|0)+8>>2]&1023](n);break}n=(m|0)==5;if(h&n){o=EQa(72)|0;Hia(o,l,g,k);p=EQa(16)|0;r=p+4|0;f[r>>2]=1;f[p>>2]=58920;f[p+8>>2]=o;f[a>>2]=p;f[a+4>>2]=o;f[r>>2]=(f[r>>2]|0)+1;o=f[r>>2]|0;f[r>>2]=o+-1;if((o|0)!=1)break;qg[f[(f[p>>2]|0)+8>>2]&1023](p);break}p=(m|0)==6;if(h&p){h=EQa(72)|0;Iia(h,l,g,k);o=EQa(16)|0;r=o+4|0;f[r>>2]=1;f[o>>2]=58940;f[o+8>>2]=h;f[a>>2]=o;f[a+4>>2]=h;f[r>>2]=(f[r>>2]|0)+1;h=f[r>>2]|0;f[r>>2]=h+-1;if((h|0)!=1)break;qg[f[(f[o>>2]|0)+8>>2]&1023](o);break}o=(e|0)==2;if(o&n){h=EQa(72)|0;Jia(h,l,g,k);r=EQa(16)|0;q=r+4|0;f[q>>2]=1;f[r>>2]=58960;f[r+8>>2]=h;f[a>>2]=r;f[a+4>>2]=h;f[q>>2]=(f[q>>2]|0)+1;h=f[q>>2]|0;f[q>>2]=h+-1;if((h|0)!=1)break;qg[f[(f[r>>2]|0)+8>>2]&1023](r);break}if(o&p){o=EQa(72)|0;Kia(o,l,g,k);r=EQa(16)|0;h=r+4|0;f[h>>2]=1;f[r>>2]=58980;f[r+8>>2]=o;f[a>>2]=r;f[a+4>>2]=o;f[h>>2]=(f[h>>2]|0)+1;o=f[h>>2]|0;f[h>>2]=o+-1;if((o|0)!=1)break;qg[f[(f[r>>2]|0)+8>>2]&1023](r);break}r=(e|0)==3;if(r&n){o=EQa(72)|0;Lia(o,l,g,k);h=EQa(16)|0;q=h+4|0;f[q>>2]=1;f[h>>2]=59e3;f[h+8>>2]=o;f[a>>2]=h;f[a+4>>2]=o;f[q>>2]=(f[q>>2]|0)+1;o=f[q>>2]|0;f[q>>2]=o+-1;if((o|0)==1)qg[f[(f[h>>2]|0)+8>>2]&1023](h);break}if(r&p){r=EQa(72)|0;Mia(r,l,g,k);h=EQa(16)|0;o=h+4|0;f[o>>2]=1;f[h>>2]=59020;f[h+8>>2]=r;f[a>>2]=h;f[a+4>>2]=r;f[o>>2]=(f[o>>2]|0)+1;r=f[o>>2]|0;f[o>>2]=r+-1;if((r|0)!=1)break;qg[f[(f[h>>2]|0)+8>>2]&1023](h);break}h=(e|0)==5;if(h&n){n=EQa(72)|0;Nia(n,l,g,k);r=EQa(16)|0;o=r+4|0;f[o>>2]=1;f[r>>2]=59040;f[r+8>>2]=n;f[a>>2]=r;f[a+4>>2]=n;f[o>>2]=(f[o>>2]|0)+1;n=f[o>>2]|0;f[o>>2]=n+-1;if((n|0)==1)qg[f[(f[r>>2]|0)+8>>2]&1023](r);break}if(h&p){h=EQa(72)|0;Oia(h,l,g,k);r=EQa(16)|0;n=r+4|0;f[n>>2]=1;f[r>>2]=59060;f[r+8>>2]=h;f[a>>2]=r;f[a+4>>2]=h;f[n>>2]=(f[n>>2]|0)+1;h=f[n>>2]|0;f[n>>2]=h+-1;if((h|0)!=1)break;qg[f[(f[r>>2]|0)+8>>2]&1023](r);break}if(!((e|0)==6&p)){f[j>>2]=c;f[j+4>>2]=d;LP(k,234072,j);EP(-213,k,234053,233284,3644);KV(k);f[a>>2]=0;f[a+4>>2]=0;break}p=EQa(72)|0;Pia(p,l,g,k);r=EQa(16)|0;h=r+4|0;f[h>>2]=1;f[r>>2]=59080;f[r+8>>2]=p;f[a>>2]=r;f[a+4>>2]=p;f[h>>2]=(f[h>>2]|0)+1;p=f[h>>2]|0;f[h>>2]=p+-1;if((p|0)==1)qg[f[(f[r>>2]|0)+8>>2]&1023](r)}while(0);a=l+36|0;k=f[a>>2]|0;if(k|0?(g=k+12|0,k=f[g>>2]|0,f[g>>2]=k+-1,(k|0)==1):0)XO(l);f[a>>2]=0;a=l+16|0;k=l+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if((f[k>>2]|0)>0){a=f[l+40>>2]|0;g=0;do{f[a+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[k>>2]|0))}k=f[l+44>>2]|0;if((k|0)==(l+48|0)){u=i;return}dX(k);u=i;return}function Eia(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;h=u;u=u+16|0;i=h;Wja(a,c,d,g);f[a>>2]=59340;f[a+72>>2]=e;if(e&3|0?(f[a+4>>2]|0)<6:0){u=h;return}f[i>>2]=0;f[i+4>>2]=0;a=JV(i,84)|0;e=235517;g=a+84|0;do{b[a>>0]=b[e>>0]|0;a=a+1|0;e=e+1|0}while((a|0)<(g|0));EP(-215,i,235602,233284,3112);KV(i);u=h;return}function Fia(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;h=u;u=u+16|0;i=h;Oja(a,c,d,g);f[a>>2]=59300;f[a+72>>2]=e;if(e&3|0?(f[a+4>>2]|0)<6:0){u=h;return}f[i>>2]=0;f[i+4>>2]=0;a=JV(i,84)|0;e=235517;g=a+84|0;do{b[a>>0]=b[e>>0]|0;a=a+1|0;e=e+1|0}while((a|0)<(g|0));EP(-215,i,235602,233284,3112);KV(i);u=h;return}function Gia(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;e=u;u=u+16|0;g=e;h=a+8|0;f[h>>2]=-1;i=a+4|0;f[i>>2]=-1;f[a>>2]=59280;j=a+12|0;f[j>>2]=1124007936;k=a+16|0;l=a+20|0;m=a+52|0;n=k;o=n+36|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[m>>2]=l;p=a+60|0;q=a+56|0;f[q>>2]=p;f[p>>2]=0;f[a+64>>2]=0;if(f[c>>2]&16384){if((j|0)!=(c|0)){p=c+36|0;r=f[p>>2]|0;if(r){s=r+12|0;f[s>>2]=(f[s>>2]|0)+1;s=a+48|0;r=f[s>>2]|0;if((r|0)!=0?(t=r+12|0,r=f[t>>2]|0,f[t>>2]=r+-1,(r|0)==1):0){XO(j);v=s}else v=s}else v=a+48|0;f[v>>2]=0;s=a+28|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if((f[k>>2]|0)>0){r=f[m>>2]|0;m=0;do{f[r+(m<<2)>>2]=0;m=m+1|0;w=f[k>>2]|0}while((m|0)<(w|0));f[j>>2]=f[c>>2];if((w|0)<3)x=13;else x=15}else{f[j>>2]=f[c>>2];x=13}if((x|0)==13){w=f[c+4>>2]|0;if((w|0)<3){f[k>>2]=w;f[l>>2]=f[c+8>>2];f[a+24>>2]=f[c+12>>2];w=f[c+44>>2]|0;k=f[q>>2]|0;f[k>>2]=f[w>>2];f[k+4>>2]=f[w+4>>2]}else x=15}if((x|0)==15)WO(j,c);f[s>>2]=f[c+16>>2];f[a+32>>2]=f[c+20>>2];f[a+36>>2]=f[c+24>>2];f[a+40>>2]=f[c+28>>2];f[a+44>>2]=f[c+32>>2];f[v>>2]=f[p>>2]}}else{p=g+8|0;f[p>>2]=0;f[p+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=j;eM(c,g)}f[h>>2]=d;d=f[l>>2]|0;l=f[a+24>>2]|0;f[i>>2]=d+-1+l;if((f[j>>2]&4095|0)==4?(d|0)==1|(l|0)==1:0){u=e;return}f[g>>2]=0;f[g+4>>2]=0;n=JV(g,77)|0;l=234229;o=n+77|0;do{b[n>>0]=b[l>>0]|0;n=n+1|0;l=l+1|0}while((n|0)<(o|0));EP(-215,g,234307,233284,3053);KV(g);u=e;return}function Hia(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;e=u;u=u+16|0;g=e;h=a+8|0;f[h>>2]=-1;i=a+4|0;f[i>>2]=-1;f[a>>2]=59260;j=a+12|0;f[j>>2]=1124007936;k=a+16|0;l=a+20|0;m=a+52|0;n=k;o=n+36|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[m>>2]=l;p=a+60|0;q=a+56|0;f[q>>2]=p;f[p>>2]=0;f[a+64>>2]=0;if(f[c>>2]&16384){if((j|0)!=(c|0)){p=c+36|0;r=f[p>>2]|0;if(r){s=r+12|0;f[s>>2]=(f[s>>2]|0)+1;s=a+48|0;r=f[s>>2]|0;if((r|0)!=0?(t=r+12|0,r=f[t>>2]|0,f[t>>2]=r+-1,(r|0)==1):0){XO(j);v=s}else v=s}else v=a+48|0;f[v>>2]=0;s=a+28|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if((f[k>>2]|0)>0){r=f[m>>2]|0;m=0;do{f[r+(m<<2)>>2]=0;m=m+1|0;w=f[k>>2]|0}while((m|0)<(w|0));f[j>>2]=f[c>>2];if((w|0)<3)x=13;else x=15}else{f[j>>2]=f[c>>2];x=13}if((x|0)==13){w=f[c+4>>2]|0;if((w|0)<3){f[k>>2]=w;f[l>>2]=f[c+8>>2];f[a+24>>2]=f[c+12>>2];w=f[c+44>>2]|0;k=f[q>>2]|0;f[k>>2]=f[w>>2];f[k+4>>2]=f[w+4>>2]}else x=15}if((x|0)==15)WO(j,c);f[s>>2]=f[c+16>>2];f[a+32>>2]=f[c+20>>2];f[a+36>>2]=f[c+24>>2];f[a+40>>2]=f[c+28>>2];f[a+44>>2]=f[c+32>>2];f[v>>2]=f[p>>2]}}else{p=g+8|0;f[p>>2]=0;f[p+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=j;eM(c,g)}f[h>>2]=d;d=f[l>>2]|0;l=f[a+24>>2]|0;f[i>>2]=d+-1+l;if((f[j>>2]&4095|0)==5?(d|0)==1|(l|0)==1:0){u=e;return}f[g>>2]=0;f[g+4>>2]=0;n=JV(g,77)|0;l=234229;o=n+77|0;do{b[n>>0]=b[l>>0]|0;n=n+1|0;l=l+1|0}while((n|0)<(o|0));EP(-215,g,234307,233284,3053);KV(g);u=e;return}function Iia(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;e=u;u=u+16|0;g=e;h=a+8|0;f[h>>2]=-1;i=a+4|0;f[i>>2]=-1;f[a>>2]=59240;j=a+12|0;f[j>>2]=1124007936;k=a+16|0;l=a+20|0;m=a+52|0;n=k;o=n+36|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[m>>2]=l;p=a+60|0;q=a+56|0;f[q>>2]=p;f[p>>2]=0;f[a+64>>2]=0;if(f[c>>2]&16384){if((j|0)!=(c|0)){p=c+36|0;r=f[p>>2]|0;if(r){s=r+12|0;f[s>>2]=(f[s>>2]|0)+1;s=a+48|0;r=f[s>>2]|0;if((r|0)!=0?(t=r+12|0,r=f[t>>2]|0,f[t>>2]=r+-1,(r|0)==1):0){XO(j);v=s}else v=s}else v=a+48|0;f[v>>2]=0;s=a+28|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if((f[k>>2]|0)>0){r=f[m>>2]|0;m=0;do{f[r+(m<<2)>>2]=0;m=m+1|0;w=f[k>>2]|0}while((m|0)<(w|0));f[j>>2]=f[c>>2];if((w|0)<3)x=13;else x=15}else{f[j>>2]=f[c>>2];x=13}if((x|0)==13){w=f[c+4>>2]|0;if((w|0)<3){f[k>>2]=w;f[l>>2]=f[c+8>>2];f[a+24>>2]=f[c+12>>2];w=f[c+44>>2]|0;k=f[q>>2]|0;f[k>>2]=f[w>>2];f[k+4>>2]=f[w+4>>2]}else x=15}if((x|0)==15)WO(j,c);f[s>>2]=f[c+16>>2];f[a+32>>2]=f[c+20>>2];f[a+36>>2]=f[c+24>>2];f[a+40>>2]=f[c+28>>2];f[a+44>>2]=f[c+32>>2];f[v>>2]=f[p>>2]}}else{p=g+8|0;f[p>>2]=0;f[p+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=j;eM(c,g)}f[h>>2]=d;d=f[l>>2]|0;l=f[a+24>>2]|0;f[i>>2]=d+-1+l;if((f[j>>2]&4095|0)==6?(d|0)==1|(l|0)==1:0){u=e;return}f[g>>2]=0;f[g+4>>2]=0;n=JV(g,77)|0;l=234229;o=n+77|0;do{b[n>>0]=b[l>>0]|0;n=n+1|0;l=l+1|0}while((n|0)<(o|0));EP(-215,g,234307,233284,3053);KV(g);u=e;return}function Jia(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;e=u;u=u+16|0;g=e;h=a+8|0;f[h>>2]=-1;i=a+4|0;f[i>>2]=-1;f[a>>2]=59220;j=a+12|0;f[j>>2]=1124007936;k=a+16|0;l=a+20|0;m=a+52|0;n=k;o=n+36|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[m>>2]=l;p=a+60|0;q=a+56|0;f[q>>2]=p;f[p>>2]=0;f[a+64>>2]=0;if(f[c>>2]&16384){if((j|0)!=(c|0)){p=c+36|0;r=f[p>>2]|0;if(r){s=r+12|0;f[s>>2]=(f[s>>2]|0)+1;s=a+48|0;r=f[s>>2]|0;if((r|0)!=0?(t=r+12|0,r=f[t>>2]|0,f[t>>2]=r+-1,(r|0)==1):0){XO(j);v=s}else v=s}else v=a+48|0;f[v>>2]=0;s=a+28|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if((f[k>>2]|0)>0){r=f[m>>2]|0;m=0;do{f[r+(m<<2)>>2]=0;m=m+1|0;w=f[k>>2]|0}while((m|0)<(w|0));f[j>>2]=f[c>>2];if((w|0)<3)x=13;else x=15}else{f[j>>2]=f[c>>2];x=13}if((x|0)==13){w=f[c+4>>2]|0;if((w|0)<3){f[k>>2]=w;f[l>>2]=f[c+8>>2];f[a+24>>2]=f[c+12>>2];w=f[c+44>>2]|0;k=f[q>>2]|0;f[k>>2]=f[w>>2];f[k+4>>2]=f[w+4>>2]}else x=15}if((x|0)==15)WO(j,c);f[s>>2]=f[c+16>>2];f[a+32>>2]=f[c+20>>2];f[a+36>>2]=f[c+24>>2];f[a+40>>2]=f[c+28>>2];f[a+44>>2]=f[c+32>>2];f[v>>2]=f[p>>2]}}else{p=g+8|0;f[p>>2]=0;f[p+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=j;eM(c,g)}f[h>>2]=d;d=f[l>>2]|0;l=f[a+24>>2]|0;f[i>>2]=d+-1+l;if((f[j>>2]&4095|0)==5?(d|0)==1|(l|0)==1:0){u=e;return}f[g>>2]=0;f[g+4>>2]=0;n=JV(g,77)|0;l=234229;o=n+77|0;do{b[n>>0]=b[l>>0]|0;n=n+1|0;l=l+1|0}while((n|0)<(o|0));EP(-215,g,234307,233284,3053);KV(g);u=e;return}function Kia(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;e=u;u=u+16|0;g=e;h=a+8|0;f[h>>2]=-1;i=a+4|0;f[i>>2]=-1;f[a>>2]=59200;j=a+12|0;f[j>>2]=1124007936;k=a+16|0;l=a+20|0;m=a+52|0;n=k;o=n+36|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[m>>2]=l;p=a+60|0;q=a+56|0;f[q>>2]=p;f[p>>2]=0;f[a+64>>2]=0;if(f[c>>2]&16384){if((j|0)!=(c|0)){p=c+36|0;r=f[p>>2]|0;if(r){s=r+12|0;f[s>>2]=(f[s>>2]|0)+1;s=a+48|0;r=f[s>>2]|0;if((r|0)!=0?(t=r+12|0,r=f[t>>2]|0,f[t>>2]=r+-1,(r|0)==1):0){XO(j);v=s}else v=s}else v=a+48|0;f[v>>2]=0;s=a+28|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if((f[k>>2]|0)>0){r=f[m>>2]|0;m=0;do{f[r+(m<<2)>>2]=0;m=m+1|0;w=f[k>>2]|0}while((m|0)<(w|0));f[j>>2]=f[c>>2];if((w|0)<3)x=13;else x=15}else{f[j>>2]=f[c>>2];x=13}if((x|0)==13){w=f[c+4>>2]|0;if((w|0)<3){f[k>>2]=w;f[l>>2]=f[c+8>>2];f[a+24>>2]=f[c+12>>2];w=f[c+44>>2]|0;k=f[q>>2]|0;f[k>>2]=f[w>>2];f[k+4>>2]=f[w+4>>2]}else x=15}if((x|0)==15)WO(j,c);f[s>>2]=f[c+16>>2];f[a+32>>2]=f[c+20>>2];f[a+36>>2]=f[c+24>>2];f[a+40>>2]=f[c+28>>2];f[a+44>>2]=f[c+32>>2];f[v>>2]=f[p>>2]}}else{p=g+8|0;f[p>>2]=0;f[p+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=j;eM(c,g)}f[h>>2]=d;d=f[l>>2]|0;l=f[a+24>>2]|0;f[i>>2]=d+-1+l;if((f[j>>2]&4095|0)==6?(d|0)==1|(l|0)==1:0){u=e;return}f[g>>2]=0;f[g+4>>2]=0;n=JV(g,77)|0;l=234229;o=n+77|0;do{b[n>>0]=b[l>>0]|0;n=n+1|0;l=l+1|0}while((n|0)<(o|0));EP(-215,g,234307,233284,3053);KV(g);u=e;return}function Lia(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;e=u;u=u+16|0;g=e;h=a+8|0;f[h>>2]=-1;i=a+4|0;f[i>>2]=-1;f[a>>2]=59180;j=a+12|0;f[j>>2]=1124007936;k=a+16|0;l=a+20|0;m=a+52|0;n=k;o=n+36|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[m>>2]=l;p=a+60|0;q=a+56|0;f[q>>2]=p;f[p>>2]=0;f[a+64>>2]=0;if(f[c>>2]&16384){if((j|0)!=(c|0)){p=c+36|0;r=f[p>>2]|0;if(r){s=r+12|0;f[s>>2]=(f[s>>2]|0)+1;s=a+48|0;r=f[s>>2]|0;if((r|0)!=0?(t=r+12|0,r=f[t>>2]|0,f[t>>2]=r+-1,(r|0)==1):0){XO(j);v=s}else v=s}else v=a+48|0;f[v>>2]=0;s=a+28|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if((f[k>>2]|0)>0){r=f[m>>2]|0;m=0;do{f[r+(m<<2)>>2]=0;m=m+1|0;w=f[k>>2]|0}while((m|0)<(w|0));f[j>>2]=f[c>>2];if((w|0)<3)x=13;else x=15}else{f[j>>2]=f[c>>2];x=13}if((x|0)==13){w=f[c+4>>2]|0;if((w|0)<3){f[k>>2]=w;f[l>>2]=f[c+8>>2];f[a+24>>2]=f[c+12>>2];w=f[c+44>>2]|0;k=f[q>>2]|0;f[k>>2]=f[w>>2];f[k+4>>2]=f[w+4>>2]}else x=15}if((x|0)==15)WO(j,c);f[s>>2]=f[c+16>>2];f[a+32>>2]=f[c+20>>2];f[a+36>>2]=f[c+24>>2];f[a+40>>2]=f[c+28>>2];f[a+44>>2]=f[c+32>>2];f[v>>2]=f[p>>2]}}else{p=g+8|0;f[p>>2]=0;f[p+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=j;eM(c,g)}f[h>>2]=d;d=f[l>>2]|0;l=f[a+24>>2]|0;f[i>>2]=d+-1+l;if((f[j>>2]&4095|0)==5?(d|0)==1|(l|0)==1:0){u=e;return}f[g>>2]=0;f[g+4>>2]=0;n=JV(g,77)|0;l=234229;o=n+77|0;do{b[n>>0]=b[l>>0]|0;n=n+1|0;l=l+1|0}while((n|0)<(o|0));EP(-215,g,234307,233284,3053);KV(g);u=e;return}function Mia(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;e=u;u=u+16|0;g=e;h=a+8|0;f[h>>2]=-1;i=a+4|0;f[i>>2]=-1;f[a>>2]=59160;j=a+12|0;f[j>>2]=1124007936;k=a+16|0;l=a+20|0;m=a+52|0;n=k;o=n+36|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[m>>2]=l;p=a+60|0;q=a+56|0;f[q>>2]=p;f[p>>2]=0;f[a+64>>2]=0;if(f[c>>2]&16384){if((j|0)!=(c|0)){p=c+36|0;r=f[p>>2]|0;if(r){s=r+12|0;f[s>>2]=(f[s>>2]|0)+1;s=a+48|0;r=f[s>>2]|0;if((r|0)!=0?(t=r+12|0,r=f[t>>2]|0,f[t>>2]=r+-1,(r|0)==1):0){XO(j);v=s}else v=s}else v=a+48|0;f[v>>2]=0;s=a+28|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if((f[k>>2]|0)>0){r=f[m>>2]|0;m=0;do{f[r+(m<<2)>>2]=0;m=m+1|0;w=f[k>>2]|0}while((m|0)<(w|0));f[j>>2]=f[c>>2];if((w|0)<3)x=13;else x=15}else{f[j>>2]=f[c>>2];x=13}if((x|0)==13){w=f[c+4>>2]|0;if((w|0)<3){f[k>>2]=w;f[l>>2]=f[c+8>>2];f[a+24>>2]=f[c+12>>2];w=f[c+44>>2]|0;k=f[q>>2]|0;f[k>>2]=f[w>>2];f[k+4>>2]=f[w+4>>2]}else x=15}if((x|0)==15)WO(j,c);f[s>>2]=f[c+16>>2];f[a+32>>2]=f[c+20>>2];f[a+36>>2]=f[c+24>>2];f[a+40>>2]=f[c+28>>2];f[a+44>>2]=f[c+32>>2];f[v>>2]=f[p>>2]}}else{p=g+8|0;f[p>>2]=0;f[p+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=j;eM(c,g)}f[h>>2]=d;d=f[l>>2]|0;l=f[a+24>>2]|0;f[i>>2]=d+-1+l;if((f[j>>2]&4095|0)==6?(d|0)==1|(l|0)==1:0){u=e;return}f[g>>2]=0;f[g+4>>2]=0;n=JV(g,77)|0;l=234229;o=n+77|0;do{b[n>>0]=b[l>>0]|0;n=n+1|0;l=l+1|0}while((n|0)<(o|0));EP(-215,g,234307,233284,3053);KV(g);u=e;return}function Nia(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;e=u;u=u+16|0;g=e;h=a+8|0;f[h>>2]=-1;i=a+4|0;f[i>>2]=-1;f[a>>2]=59140;j=a+12|0;f[j>>2]=1124007936;k=a+16|0;l=a+20|0;m=a+52|0;n=k;o=n+36|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[m>>2]=l;p=a+60|0;q=a+56|0;f[q>>2]=p;f[p>>2]=0;f[a+64>>2]=0;if(f[c>>2]&16384){if((j|0)!=(c|0)){p=c+36|0;r=f[p>>2]|0;if(r){s=r+12|0;f[s>>2]=(f[s>>2]|0)+1;s=a+48|0;r=f[s>>2]|0;if((r|0)!=0?(t=r+12|0,r=f[t>>2]|0,f[t>>2]=r+-1,(r|0)==1):0){XO(j);v=s}else v=s}else v=a+48|0;f[v>>2]=0;s=a+28|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if((f[k>>2]|0)>0){r=f[m>>2]|0;m=0;do{f[r+(m<<2)>>2]=0;m=m+1|0;w=f[k>>2]|0}while((m|0)<(w|0));f[j>>2]=f[c>>2];if((w|0)<3)x=13;else x=15}else{f[j>>2]=f[c>>2];x=13}if((x|0)==13){w=f[c+4>>2]|0;if((w|0)<3){f[k>>2]=w;f[l>>2]=f[c+8>>2];f[a+24>>2]=f[c+12>>2];w=f[c+44>>2]|0;k=f[q>>2]|0;f[k>>2]=f[w>>2];f[k+4>>2]=f[w+4>>2]}else x=15}if((x|0)==15)WO(j,c);f[s>>2]=f[c+16>>2];f[a+32>>2]=f[c+20>>2];f[a+36>>2]=f[c+24>>2];f[a+40>>2]=f[c+28>>2];f[a+44>>2]=f[c+32>>2];f[v>>2]=f[p>>2]}}else{p=g+8|0;f[p>>2]=0;f[p+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=j;eM(c,g)}f[h>>2]=d;d=f[l>>2]|0;l=f[a+24>>2]|0;f[i>>2]=d+-1+l;if((f[j>>2]&4095|0)==5?(d|0)==1|(l|0)==1:0){u=e;return}f[g>>2]=0;f[g+4>>2]=0;n=JV(g,77)|0;l=234229;o=n+77|0;do{b[n>>0]=b[l>>0]|0;n=n+1|0;l=l+1|0}while((n|0)<(o|0));EP(-215,g,234307,233284,3053);KV(g);u=e;return}function Oia(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;e=u;u=u+16|0;g=e;h=a+8|0;f[h>>2]=-1;i=a+4|0;f[i>>2]=-1;f[a>>2]=59120;j=a+12|0;f[j>>2]=1124007936;k=a+16|0;l=a+20|0;m=a+52|0;n=k;o=n+36|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[m>>2]=l;p=a+60|0;q=a+56|0;f[q>>2]=p;f[p>>2]=0;f[a+64>>2]=0;if(f[c>>2]&16384){if((j|0)!=(c|0)){p=c+36|0;r=f[p>>2]|0;if(r){s=r+12|0;f[s>>2]=(f[s>>2]|0)+1;s=a+48|0;r=f[s>>2]|0;if((r|0)!=0?(t=r+12|0,r=f[t>>2]|0,f[t>>2]=r+-1,(r|0)==1):0){XO(j);v=s}else v=s}else v=a+48|0;f[v>>2]=0;s=a+28|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if((f[k>>2]|0)>0){r=f[m>>2]|0;m=0;do{f[r+(m<<2)>>2]=0;m=m+1|0;w=f[k>>2]|0}while((m|0)<(w|0));f[j>>2]=f[c>>2];if((w|0)<3)x=13;else x=15}else{f[j>>2]=f[c>>2];x=13}if((x|0)==13){w=f[c+4>>2]|0;if((w|0)<3){f[k>>2]=w;f[l>>2]=f[c+8>>2];f[a+24>>2]=f[c+12>>2];w=f[c+44>>2]|0;k=f[q>>2]|0;f[k>>2]=f[w>>2];f[k+4>>2]=f[w+4>>2]}else x=15}if((x|0)==15)WO(j,c);f[s>>2]=f[c+16>>2];f[a+32>>2]=f[c+20>>2];f[a+36>>2]=f[c+24>>2];f[a+40>>2]=f[c+28>>2];f[a+44>>2]=f[c+32>>2];f[v>>2]=f[p>>2]}}else{p=g+8|0;f[p>>2]=0;f[p+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=j;eM(c,g)}f[h>>2]=d;d=f[l>>2]|0;l=f[a+24>>2]|0;f[i>>2]=d+-1+l;if((f[j>>2]&4095|0)==6?(d|0)==1|(l|0)==1:0){u=e;return}f[g>>2]=0;f[g+4>>2]=0;n=JV(g,77)|0;l=234229;o=n+77|0;do{b[n>>0]=b[l>>0]|0;n=n+1|0;l=l+1|0}while((n|0)<(o|0));EP(-215,g,234307,233284,3053);KV(g);u=e;return}function Pia(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;e=u;u=u+16|0;g=e;h=a+8|0;f[h>>2]=-1;i=a+4|0;f[i>>2]=-1;f[a>>2]=59100;j=a+12|0;f[j>>2]=1124007936;k=a+16|0;l=a+20|0;m=a+52|0;n=k;o=n+36|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[m>>2]=l;p=a+60|0;q=a+56|0;f[q>>2]=p;f[p>>2]=0;f[a+64>>2]=0;if(f[c>>2]&16384){if((j|0)!=(c|0)){p=c+36|0;r=f[p>>2]|0;if(r){s=r+12|0;f[s>>2]=(f[s>>2]|0)+1;s=a+48|0;r=f[s>>2]|0;if((r|0)!=0?(t=r+12|0,r=f[t>>2]|0,f[t>>2]=r+-1,(r|0)==1):0){XO(j);v=s}else v=s}else v=a+48|0;f[v>>2]=0;s=a+28|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if((f[k>>2]|0)>0){r=f[m>>2]|0;m=0;do{f[r+(m<<2)>>2]=0;m=m+1|0;w=f[k>>2]|0}while((m|0)<(w|0));f[j>>2]=f[c>>2];if((w|0)<3)x=13;else x=15}else{f[j>>2]=f[c>>2];x=13}if((x|0)==13){w=f[c+4>>2]|0;if((w|0)<3){f[k>>2]=w;f[l>>2]=f[c+8>>2];f[a+24>>2]=f[c+12>>2];w=f[c+44>>2]|0;k=f[q>>2]|0;f[k>>2]=f[w>>2];f[k+4>>2]=f[w+4>>2]}else x=15}if((x|0)==15)WO(j,c);f[s>>2]=f[c+16>>2];f[a+32>>2]=f[c+20>>2];f[a+36>>2]=f[c+24>>2];f[a+40>>2]=f[c+28>>2];f[a+44>>2]=f[c+32>>2];f[v>>2]=f[p>>2]}}else{p=g+8|0;f[p>>2]=0;f[p+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=j;eM(c,g)}f[h>>2]=d;d=f[l>>2]|0;l=f[a+24>>2]|0;f[i>>2]=d+-1+l;if((f[j>>2]&4095|0)==6?(d|0)==1|(l|0)==1:0){u=e;return}f[g>>2]=0;f[g+4>>2]=0;n=JV(g,77)|0;l=234229;o=n+77|0;do{b[n>>0]=b[l>>0]|0;n=n+1|0;l=l+1|0}while((n|0)<(o|0));EP(-215,g,234307,233284,3053);KV(g);u=e;return}function Qia(a){a=a|0;GQa(a);return}function Ria(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function Sia(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=59100;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0))return;dX(b);return}function Tia(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=59100;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0)){GQa(a);return}dX(b);GQa(a);return}function Uia(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,q=0.0,r=0.0,s=0;g=f[a+4>>2]|0;h=f[a+28>>2]|0;a=X(e,d)|0;d=a+-4|0;do if((a|0)<4)i=0;else{if((g|0)>1)j=0;else{k=0;do{l=b+(k<<3)|0;m=+p[h>>3];n=m*+p[l+8>>3];o=m*+p[l+16>>3];q=m*+p[l+24>>3];p[c+(k<<3)>>3]=m*+p[l>>3];p[c+((k|1)<<3)>>3]=n;p[c+((k|2)<<3)>>3]=o;p[c+((k|3)<<3)>>3]=q;k=k+4|0}while((k|0)<=(d|0));i=a&-4;break}do{k=b+(j<<3)|0;q=+p[h>>3];l=k;o=q*+p[k+24>>3];n=q*+p[k+16>>3];m=q*+p[k+8>>3];r=q*+p[k>>3];k=1;do{l=l+(e<<3)|0;q=+p[h+(k<<3)>>3];r=r+q*+p[l>>3];m=m+q*+p[l+8>>3];n=n+q*+p[l+16>>3];o=o+q*+p[l+24>>3];k=k+1|0}while((k|0)!=(g|0));p[c+(j<<3)>>3]=r;p[c+((j|1)<<3)>>3]=m;p[c+((j|2)<<3)>>3]=n;p[c+((j|3)<<3)>>3]=o;j=j+4|0}while((j|0)<=(d|0));i=a&-4}while(0);if((i|0)>=(a|0))return;if((g|0)>1)s=i;else{d=i;do{p[c+(d<<3)>>3]=+p[h>>3]*+p[b+(d<<3)>>3];d=d+1|0}while((d|0)!=(a|0));return}do{d=b+(s<<3)|0;q=+p[h>>3]*+p[d>>3];i=d;d=1;do{i=i+(e<<3)|0;q=q+ +p[h+(d<<3)>>3]*+p[i>>3];d=d+1|0}while((d|0)!=(g|0));p[c+(s<<3)>>3]=q;s=s+1|0}while((s|0)!=(a|0));return}function Via(a){a=a|0;GQa(a);return}function Wia(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function Xia(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=59120;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0))return;dX(b);return}function Yia(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=59120;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0)){GQa(a);return}dX(b);GQa(a);return}function Zia(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,o=0.0,q=0.0,r=0.0,s=0.0,t=0;g=f[a+4>>2]|0;h=f[a+28>>2]|0;a=X(e,d)|0;d=a+-4|0;do if((a|0)<4)i=0;else{if((g|0)>1)j=0;else{k=0;do{l=b+(k<<2)|0;m=+p[h>>3];o=m*+n[l+4>>2];q=m*+n[l+8>>2];r=m*+n[l+12>>2];p[c+(k<<3)>>3]=m*+n[l>>2];p[c+((k|1)<<3)>>3]=o;p[c+((k|2)<<3)>>3]=q;p[c+((k|3)<<3)>>3]=r;k=k+4|0}while((k|0)<=(d|0));i=a&-4;break}do{k=b+(j<<2)|0;r=+p[h>>3];l=k;q=r*+n[k+12>>2];o=r*+n[k+8>>2];m=r*+n[k+4>>2];s=r*+n[k>>2];k=1;do{l=l+(e<<2)|0;r=+p[h+(k<<3)>>3];s=s+r*+n[l>>2];m=m+r*+n[l+4>>2];o=o+r*+n[l+8>>2];q=q+r*+n[l+12>>2];k=k+1|0}while((k|0)!=(g|0));p[c+(j<<3)>>3]=s;p[c+((j|1)<<3)>>3]=m;p[c+((j|2)<<3)>>3]=o;p[c+((j|3)<<3)>>3]=q;j=j+4|0}while((j|0)<=(d|0));i=a&-4}while(0);if((i|0)>=(a|0))return;if((g|0)>1)t=i;else{d=i;do{p[c+(d<<3)>>3]=+p[h>>3]*+n[b+(d<<2)>>2];d=d+1|0}while((d|0)!=(a|0));return}do{d=b+(t<<2)|0;r=+p[h>>3]*+n[d>>2];i=d;d=1;do{i=i+(e<<2)|0;r=r+ +p[h+(d<<3)>>3]*+n[i>>2];d=d+1|0}while((d|0)!=(g|0));p[c+(t<<3)>>3]=r;t=t+1|0}while((t|0)!=(a|0));return}function _ia(a){a=a|0;GQa(a);return}function $ia(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function aja(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=59140;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0))return;dX(b);return}function bja(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=59140;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0)){GQa(a);return}dX(b);GQa(a);return}function cja(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0;g=f[a+4>>2]|0;h=f[a+28>>2]|0;a=X(e,d)|0;d=a+-4|0;do if((a|0)<4)i=0;else{if((g|0)>1)j=0;else{k=0;do{l=b+(k<<2)|0;m=+n[h>>2];o=m*+n[l+4>>2];p=m*+n[l+8>>2];q=m*+n[l+12>>2];n[c+(k<<2)>>2]=m*+n[l>>2];n[c+((k|1)<<2)>>2]=o;n[c+((k|2)<<2)>>2]=p;n[c+((k|3)<<2)>>2]=q;k=k+4|0}while((k|0)<=(d|0));i=a&-4;break}do{k=b+(j<<2)|0;q=+n[h>>2];l=k;p=q*+n[k+12>>2];o=q*+n[k+8>>2];m=q*+n[k+4>>2];r=q*+n[k>>2];k=1;do{l=l+(e<<2)|0;q=+n[h+(k<<2)>>2];r=r+q*+n[l>>2];m=m+q*+n[l+4>>2];o=o+q*+n[l+8>>2];p=p+q*+n[l+12>>2];k=k+1|0}while((k|0)!=(g|0));n[c+(j<<2)>>2]=r;n[c+((j|1)<<2)>>2]=m;n[c+((j|2)<<2)>>2]=o;n[c+((j|3)<<2)>>2]=p;j=j+4|0}while((j|0)<=(d|0));i=a&-4}while(0);if((i|0)>=(a|0))return;if((g|0)>1)s=i;else{d=i;do{n[c+(d<<2)>>2]=+n[h>>2]*+n[b+(d<<2)>>2];d=d+1|0}while((d|0)!=(a|0));return}do{d=b+(s<<2)|0;q=+n[h>>2]*+n[d>>2];i=d;d=1;do{i=i+(e<<2)|0;q=q+ +n[h+(d<<2)>>2]*+n[i>>2];d=d+1|0}while((d|0)!=(g|0));n[c+(s<<2)>>2]=q;s=s+1|0}while((s|0)!=(a|0));return}function dja(a){a=a|0;GQa(a);return}function eja(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function fja(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=59160;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0))return;dX(b);return}function gja(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=59160;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0)){GQa(a);return}dX(b);GQa(a);return}function hja(a,b,c,e,g){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,q=0.0,r=0.0,s=0.0,t=0;h=f[a+4>>2]|0;i=f[a+28>>2]|0;a=X(g,e)|0;e=a+-4|0;do if((a|0)<4)j=0;else{if((h|0)>1)k=0;else{l=0;do{m=b+(l<<1)|0;n=+p[i>>3];o=n*+(d[m+2>>1]|0);q=n*+(d[m+4>>1]|0);r=n*+(d[m+6>>1]|0);p[c+(l<<3)>>3]=n*+(d[m>>1]|0);p[c+((l|1)<<3)>>3]=o;p[c+((l|2)<<3)>>3]=q;p[c+((l|3)<<3)>>3]=r;l=l+4|0}while((l|0)<=(e|0));j=a&-4;break}do{l=b+(k<<1)|0;r=+p[i>>3];m=l;q=r*+(d[l+6>>1]|0);o=r*+(d[l+4>>1]|0);n=r*+(d[l+2>>1]|0);s=r*+(d[l>>1]|0);l=1;do{m=m+(g<<1)|0;r=+p[i+(l<<3)>>3];s=s+r*+(d[m>>1]|0);n=n+r*+(d[m+2>>1]|0);o=o+r*+(d[m+4>>1]|0);q=q+r*+(d[m+6>>1]|0);l=l+1|0}while((l|0)!=(h|0));p[c+(k<<3)>>3]=s;p[c+((k|1)<<3)>>3]=n;p[c+((k|2)<<3)>>3]=o;p[c+((k|3)<<3)>>3]=q;k=k+4|0}while((k|0)<=(e|0));j=a&-4}while(0);if((j|0)>=(a|0))return;if((h|0)>1)t=j;else{e=j;do{p[c+(e<<3)>>3]=+p[i>>3]*+(d[b+(e<<1)>>1]|0);e=e+1|0}while((e|0)!=(a|0));return}do{e=b+(t<<1)|0;r=+p[i>>3]*+(d[e>>1]|0);j=e;e=1;do{j=j+(g<<1)|0;r=r+ +p[i+(e<<3)>>3]*+(d[j>>1]|0);e=e+1|0}while((e|0)!=(h|0));p[c+(t<<3)>>3]=r;t=t+1|0}while((t|0)!=(a|0));return}function ija(a){a=a|0;GQa(a);return}function jja(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function kja(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=59180;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0))return;dX(b);return}function lja(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=59180;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0)){GQa(a);return}dX(b);GQa(a);return}function mja(a,b,c,e,g){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0;h=f[a+4>>2]|0;i=f[a+28>>2]|0;a=X(g,e)|0;e=a+-4|0;do if((a|0)<4)j=0;else{if((h|0)>1)k=0;else{l=0;do{m=b+(l<<1)|0;o=+n[i>>2];p=o*+(d[m+2>>1]|0);q=o*+(d[m+4>>1]|0);r=o*+(d[m+6>>1]|0);n[c+(l<<2)>>2]=o*+(d[m>>1]|0);n[c+((l|1)<<2)>>2]=p;n[c+((l|2)<<2)>>2]=q;n[c+((l|3)<<2)>>2]=r;l=l+4|0}while((l|0)<=(e|0));j=a&-4;break}do{l=b+(k<<1)|0;r=+n[i>>2];m=l;q=r*+(d[l+6>>1]|0);p=r*+(d[l+4>>1]|0);o=r*+(d[l+2>>1]|0);s=r*+(d[l>>1]|0);l=1;do{m=m+(g<<1)|0;r=+n[i+(l<<2)>>2];s=s+r*+(d[m>>1]|0);o=o+r*+(d[m+2>>1]|0);p=p+r*+(d[m+4>>1]|0);q=q+r*+(d[m+6>>1]|0);l=l+1|0}while((l|0)!=(h|0));n[c+(k<<2)>>2]=s;n[c+((k|1)<<2)>>2]=o;n[c+((k|2)<<2)>>2]=p;n[c+((k|3)<<2)>>2]=q;k=k+4|0}while((k|0)<=(e|0));j=a&-4}while(0);if((j|0)>=(a|0))return;if((h|0)>1)t=j;else{e=j;do{n[c+(e<<2)>>2]=+n[i>>2]*+(d[b+(e<<1)>>1]|0);e=e+1|0}while((e|0)!=(a|0));return}do{e=b+(t<<1)|0;r=+n[i>>2]*+(d[e>>1]|0);j=e;e=1;do{j=j+(g<<1)|0;r=r+ +n[i+(e<<2)>>2]*+(d[j>>1]|0);e=e+1|0}while((e|0)!=(h|0));n[c+(t<<2)>>2]=r;t=t+1|0}while((t|0)!=(a|0));return}function nja(a){a=a|0;GQa(a);return}function oja(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function pja(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=59200;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0))return;dX(b);return}function qja(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=59200;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0)){GQa(a);return}dX(b);GQa(a);return}function rja(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0.0,o=0.0,q=0.0,r=0.0,s=0.0,t=0;g=f[a+4>>2]|0;h=f[a+28>>2]|0;a=X(e,d)|0;d=a+-4|0;do if((a|0)<4)i=0;else{if((g|0)>1)k=0;else{l=0;do{m=b+(l<<1)|0;n=+p[h>>3];o=n*+(j[m+2>>1]|0);q=n*+(j[m+4>>1]|0);r=n*+(j[m+6>>1]|0);p[c+(l<<3)>>3]=n*+(j[m>>1]|0);p[c+((l|1)<<3)>>3]=o;p[c+((l|2)<<3)>>3]=q;p[c+((l|3)<<3)>>3]=r;l=l+4|0}while((l|0)<=(d|0));i=a&-4;break}do{l=b+(k<<1)|0;r=+p[h>>3];m=l;q=r*+(j[l+6>>1]|0);o=r*+(j[l+4>>1]|0);n=r*+(j[l+2>>1]|0);s=r*+(j[l>>1]|0);l=1;do{m=m+(e<<1)|0;r=+p[h+(l<<3)>>3];s=s+r*+(j[m>>1]|0);n=n+r*+(j[m+2>>1]|0);o=o+r*+(j[m+4>>1]|0);q=q+r*+(j[m+6>>1]|0);l=l+1|0}while((l|0)!=(g|0));p[c+(k<<3)>>3]=s;p[c+((k|1)<<3)>>3]=n;p[c+((k|2)<<3)>>3]=o;p[c+((k|3)<<3)>>3]=q;k=k+4|0}while((k|0)<=(d|0));i=a&-4}while(0);if((i|0)>=(a|0))return;if((g|0)>1)t=i;else{d=i;do{p[c+(d<<3)>>3]=+p[h>>3]*+(j[b+(d<<1)>>1]|0);d=d+1|0}while((d|0)!=(a|0));return}do{d=b+(t<<1)|0;r=+p[h>>3]*+(j[d>>1]|0);i=d;d=1;do{i=i+(e<<1)|0;r=r+ +p[h+(d<<3)>>3]*+(j[i>>1]|0);d=d+1|0}while((d|0)!=(g|0));p[c+(t<<3)>>3]=r;t=t+1|0}while((t|0)!=(a|0));return}function sja(a){a=a|0;GQa(a);return}function tja(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function uja(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=59220;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0))return;dX(b);return}function vja(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=59220;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0)){GQa(a);return}dX(b);GQa(a);return}function wja(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0;g=f[a+4>>2]|0;h=f[a+28>>2]|0;a=X(e,d)|0;d=a+-4|0;do if((a|0)<4)i=0;else{if((g|0)>1)k=0;else{l=0;do{m=b+(l<<1)|0;o=+n[h>>2];p=o*+(j[m+2>>1]|0);q=o*+(j[m+4>>1]|0);r=o*+(j[m+6>>1]|0);n[c+(l<<2)>>2]=o*+(j[m>>1]|0);n[c+((l|1)<<2)>>2]=p;n[c+((l|2)<<2)>>2]=q;n[c+((l|3)<<2)>>2]=r;l=l+4|0}while((l|0)<=(d|0));i=a&-4;break}do{l=b+(k<<1)|0;r=+n[h>>2];m=l;q=r*+(j[l+6>>1]|0);p=r*+(j[l+4>>1]|0);o=r*+(j[l+2>>1]|0);s=r*+(j[l>>1]|0);l=1;do{m=m+(e<<1)|0;r=+n[h+(l<<2)>>2];s=s+r*+(j[m>>1]|0);o=o+r*+(j[m+2>>1]|0);p=p+r*+(j[m+4>>1]|0);q=q+r*+(j[m+6>>1]|0);l=l+1|0}while((l|0)!=(g|0));n[c+(k<<2)>>2]=s;n[c+((k|1)<<2)>>2]=o;n[c+((k|2)<<2)>>2]=p;n[c+((k|3)<<2)>>2]=q;k=k+4|0}while((k|0)<=(d|0));i=a&-4}while(0);if((i|0)>=(a|0))return;if((g|0)>1)t=i;else{d=i;do{n[c+(d<<2)>>2]=+n[h>>2]*+(j[b+(d<<1)>>1]|0);d=d+1|0}while((d|0)!=(a|0));return}do{d=b+(t<<1)|0;r=+n[h>>2]*+(j[d>>1]|0);i=d;d=1;do{i=i+(e<<1)|0;r=r+ +n[h+(d<<2)>>2]*+(j[i>>1]|0);d=d+1|0}while((d|0)!=(g|0));n[c+(t<<2)>>2]=r;t=t+1|0}while((t|0)!=(a|0));return}function xja(a){a=a|0;GQa(a);return}function yja(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function zja(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=59240;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0))return;dX(b);return}function Aja(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=59240;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0)){GQa(a);return}dX(b);GQa(a);return}function Bja(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,q=0.0,r=0.0,s=0.0,t=0;g=f[a+4>>2]|0;i=f[a+28>>2]|0;a=X(e,d)|0;d=a+-4|0;do if((a|0)<4)j=0;else{if((g|0)>1)k=0;else{l=0;do{m=b+l|0;n=+p[i>>3];o=n*+(h[m+1>>0]|0);q=n*+(h[m+2>>0]|0);r=n*+(h[m+3>>0]|0);p[c+(l<<3)>>3]=n*+(h[m>>0]|0);p[c+((l|1)<<3)>>3]=o;p[c+((l|2)<<3)>>3]=q;p[c+((l|3)<<3)>>3]=r;l=l+4|0}while((l|0)<=(d|0));j=a&-4;break}do{l=b+k|0;r=+p[i>>3];m=l;q=r*+(h[l+3>>0]|0);o=r*+(h[l+2>>0]|0);n=r*+(h[l+1>>0]|0);s=r*+(h[l>>0]|0);l=1;do{m=m+e|0;r=+p[i+(l<<3)>>3];s=s+r*+(h[m>>0]|0);n=n+r*+(h[m+1>>0]|0);o=o+r*+(h[m+2>>0]|0);q=q+r*+(h[m+3>>0]|0);l=l+1|0}while((l|0)!=(g|0));p[c+(k<<3)>>3]=s;p[c+((k|1)<<3)>>3]=n;p[c+((k|2)<<3)>>3]=o;p[c+((k|3)<<3)>>3]=q;k=k+4|0}while((k|0)<=(d|0));j=a&-4}while(0);if((j|0)>=(a|0))return;if((g|0)>1)t=j;else{d=j;do{p[c+(d<<3)>>3]=+p[i>>3]*+(h[b+d>>0]|0);d=d+1|0}while((d|0)!=(a|0));return}do{d=b+t|0;r=+p[i>>3]*+(h[d>>0]|0);j=d;d=1;do{j=j+e|0;r=r+ +p[i+(d<<3)>>3]*+(h[j>>0]|0);d=d+1|0}while((d|0)!=(g|0));p[c+(t<<3)>>3]=r;t=t+1|0}while((t|0)!=(a|0));return}function Cja(a){a=a|0;GQa(a);return}function Dja(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function Eja(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=59260;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0))return;dX(b);return}function Fja(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=59260;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0)){GQa(a);return}dX(b);GQa(a);return}function Gja(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0;g=f[a+4>>2]|0;i=f[a+28>>2]|0;a=X(e,d)|0;d=a+-4|0;do if((a|0)<4)j=0;else{if((g|0)>1)k=0;else{l=0;do{m=b+l|0;o=+n[i>>2];p=o*+(h[m+1>>0]|0);q=o*+(h[m+2>>0]|0);r=o*+(h[m+3>>0]|0);n[c+(l<<2)>>2]=o*+(h[m>>0]|0);n[c+((l|1)<<2)>>2]=p;n[c+((l|2)<<2)>>2]=q;n[c+((l|3)<<2)>>2]=r;l=l+4|0}while((l|0)<=(d|0));j=a&-4;break}do{l=b+k|0;r=+n[i>>2];m=l;q=r*+(h[l+3>>0]|0);p=r*+(h[l+2>>0]|0);o=r*+(h[l+1>>0]|0);s=r*+(h[l>>0]|0);l=1;do{m=m+e|0;r=+n[i+(l<<2)>>2];s=s+r*+(h[m>>0]|0);o=o+r*+(h[m+1>>0]|0);p=p+r*+(h[m+2>>0]|0);q=q+r*+(h[m+3>>0]|0);l=l+1|0}while((l|0)!=(g|0));n[c+(k<<2)>>2]=s;n[c+((k|1)<<2)>>2]=o;n[c+((k|2)<<2)>>2]=p;n[c+((k|3)<<2)>>2]=q;k=k+4|0}while((k|0)<=(d|0));j=a&-4}while(0);if((j|0)>=(a|0))return;if((g|0)>1)t=j;else{d=j;do{n[c+(d<<2)>>2]=+n[i>>2]*+(h[b+d>>0]|0);d=d+1|0}while((d|0)!=(a|0));return}do{d=b+t|0;r=+n[i>>2]*+(h[d>>0]|0);j=d;d=1;do{j=j+e|0;r=r+ +n[i+(d<<2)>>2]*+(h[j>>0]|0);d=d+1|0}while((d|0)!=(g|0));n[c+(t<<2)>>2]=r;t=t+1|0}while((t|0)!=(a|0));return}function Hja(a){a=a|0;GQa(a);return}function Ija(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function Jja(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=59280;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0))return;dX(b);return}function Kja(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=59280;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0)){GQa(a);return}dX(b);GQa(a);return}function Lja(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=f[a+4>>2]|0;i=f[a+28>>2]|0;a=X(e,d)|0;d=a+-4|0;do if((a|0)<4)j=0;else{if((g|0)>1)k=0;else{l=0;do{m=b+l|0;n=f[i>>2]|0;o=X(n,h[m>>0]|0)|0;p=X(n,h[m+1>>0]|0)|0;q=X(n,h[m+2>>0]|0)|0;r=X(n,h[m+3>>0]|0)|0;f[c+(l<<2)>>2]=o;f[c+((l|1)<<2)>>2]=p;f[c+((l|2)<<2)>>2]=q;f[c+((l|3)<<2)>>2]=r;l=l+4|0}while((l|0)<=(d|0));j=a&-4;break}do{l=b+k|0;r=f[i>>2]|0;q=X(r,h[l>>0]|0)|0;p=X(r,h[l+1>>0]|0)|0;o=X(r,h[l+2>>0]|0)|0;m=l;n=X(r,h[l+3>>0]|0)|0;l=o;o=p;p=q;q=1;do{m=m+e|0;r=f[i+(q<<2)>>2]|0;p=(X(r,h[m>>0]|0)|0)+p|0;o=(X(r,h[m+1>>0]|0)|0)+o|0;l=(X(r,h[m+2>>0]|0)|0)+l|0;n=(X(r,h[m+3>>0]|0)|0)+n|0;q=q+1|0}while((q|0)!=(g|0));f[c+(k<<2)>>2]=p;f[c+((k|1)<<2)>>2]=o;f[c+((k|2)<<2)>>2]=l;f[c+((k|3)<<2)>>2]=n;k=k+4|0}while((k|0)<=(d|0));j=a&-4}while(0);if((j|0)>=(a|0))return;if((g|0)>1)s=j;else{d=j;do{j=X(f[i>>2]|0,h[b+d>>0]|0)|0;f[c+(d<<2)>>2]=j;d=d+1|0}while((d|0)!=(a|0));return}do{d=b+s|0;j=X(f[i>>2]|0,h[d>>0]|0)|0;k=d;d=1;do{k=k+e|0;j=(X(f[i+(d<<2)>>2]|0,h[k>>0]|0)|0)+j|0;d=d+1|0}while((d|0)!=(g|0));f[c+(s<<2)>>2]=j;s=s+1|0}while((s|0)!=(a|0));return}function Mja(a){a=a|0;GQa(a);return}function Nja(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function Oja(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;e=u;u=u+16|0;g=e;h=a+8|0;f[h>>2]=-1;i=a+4|0;f[i>>2]=-1;f[a>>2]=59320;j=a+12|0;f[j>>2]=1124007936;k=a+16|0;l=a+20|0;m=a+52|0;n=k;o=n+36|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[m>>2]=l;p=a+60|0;q=a+56|0;f[q>>2]=p;f[p>>2]=0;f[a+64>>2]=0;if(f[c>>2]&16384){if((j|0)!=(c|0)){p=c+36|0;r=f[p>>2]|0;if(r){s=r+12|0;f[s>>2]=(f[s>>2]|0)+1;s=a+48|0;r=f[s>>2]|0;if((r|0)!=0?(t=r+12|0,r=f[t>>2]|0,f[t>>2]=r+-1,(r|0)==1):0){XO(j);v=s}else v=s}else v=a+48|0;f[v>>2]=0;s=a+28|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if((f[k>>2]|0)>0){r=f[m>>2]|0;m=0;do{f[r+(m<<2)>>2]=0;m=m+1|0;w=f[k>>2]|0}while((m|0)<(w|0));f[j>>2]=f[c>>2];if((w|0)<3)x=13;else x=15}else{f[j>>2]=f[c>>2];x=13}if((x|0)==13){w=f[c+4>>2]|0;if((w|0)<3){f[k>>2]=w;f[l>>2]=f[c+8>>2];f[a+24>>2]=f[c+12>>2];w=f[c+44>>2]|0;k=f[q>>2]|0;f[k>>2]=f[w>>2];f[k+4>>2]=f[w+4>>2]}else x=15}if((x|0)==15)WO(j,c);f[s>>2]=f[c+16>>2];f[a+32>>2]=f[c+20>>2];f[a+36>>2]=f[c+24>>2];f[a+40>>2]=f[c+28>>2];f[a+44>>2]=f[c+32>>2];f[v>>2]=f[p>>2]}}else{p=g+8|0;f[p>>2]=0;f[p+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=j;eM(c,g)}f[h>>2]=d;d=f[l>>2]|0;l=f[a+24>>2]|0;f[i>>2]=d+-1+l;if((f[j>>2]&4095|0)==5?(d|0)==1|(l|0)==1:0){u=e;return}f[g>>2]=0;f[g+4>>2]=0;n=JV(g,77)|0;l=234229;o=n+77|0;do{b[n>>0]=b[l>>0]|0;n=n+1|0;l=l+1|0}while((n|0)<(o|0));EP(-215,g,234307,233284,3053);KV(g);u=e;return}function Pja(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=59320;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0))return;dX(b);return}function Qja(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=59320;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0)){GQa(a);return}dX(b);GQa(a);return}function Rja(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0;g=f[a+4>>2]|0;h=f[a+28>>2]|0;a=X(e,d)|0;d=a+-4|0;do if((a|0)<4)i=0;else{if((g|0)>1)j=0;else{k=0;do{l=b+(k<<2)|0;m=+n[h>>2];o=m*+n[l+4>>2];p=m*+n[l+8>>2];q=m*+n[l+12>>2];n[c+(k<<2)>>2]=m*+n[l>>2];n[c+((k|1)<<2)>>2]=o;n[c+((k|2)<<2)>>2]=p;n[c+((k|3)<<2)>>2]=q;k=k+4|0}while((k|0)<=(d|0));i=a&-4;break}do{k=b+(j<<2)|0;q=+n[h>>2];l=k;p=q*+n[k+12>>2];o=q*+n[k+8>>2];m=q*+n[k+4>>2];r=q*+n[k>>2];k=1;do{l=l+(e<<2)|0;q=+n[h+(k<<2)>>2];r=r+q*+n[l>>2];m=m+q*+n[l+4>>2];o=o+q*+n[l+8>>2];p=p+q*+n[l+12>>2];k=k+1|0}while((k|0)!=(g|0));n[c+(j<<2)>>2]=r;n[c+((j|1)<<2)>>2]=m;n[c+((j|2)<<2)>>2]=o;n[c+((j|3)<<2)>>2]=p;j=j+4|0}while((j|0)<=(d|0));i=a&-4}while(0);if((i|0)>=(a|0))return;if((g|0)>1)s=i;else{d=i;do{n[c+(d<<2)>>2]=+n[h>>2]*+n[b+(d<<2)>>2];d=d+1|0}while((d|0)!=(a|0));return}do{d=b+(s<<2)|0;q=+n[h>>2]*+n[d>>2];i=d;d=1;do{i=i+(e<<2)|0;q=q+ +n[h+(d<<2)>>2]*+n[i>>2];d=d+1|0}while((d|0)!=(g|0));n[c+(s<<2)>>2]=q;s=s+1|0}while((s|0)!=(a|0));return}function Sja(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=59320;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0)){GQa(a);return}dX(b);GQa(a);return}function Tja(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0,y=0,z=0,A=0,B=0.0,C=0,D=0,E=0,F=0,G=0.0,H=0,I=0;g=f[a+4>>2]|0;h=(g|0)/2|0;i=X(h,e)|0;j=(f[a+28>>2]|0)+(h<<2)|0;k=b+(i<<2)|0;l=X(e,d)|0;if(!(f[a+72>>2]&1)){a:do switch(g|0){case 3:{m=+n[j+4>>2];a=l+-2|0;d=(l|0)<2;if(+n[j>>2]==0.0&m==1.0){if(d){o=k;p=0;break a}q=0-e|0;r=e+1|0;s=1-e|0;t=b+((i<<2)+(a>>>1<<3)+8)|0;u=k;v=0;while(1){w=+n[u+(r<<2)>>2]-+n[u+(s<<2)>>2];n[c+(v<<2)>>2]=+n[u+(e<<2)>>2]-+n[u+(q<<2)>>2];n[c+((v|1)<<2)>>2]=w;v=v+2|0;if((v|0)>(a|0))break;else u=u+8|0}o=t;p=l&-2;break a}else{if(d){o=k;p=0;break a}u=0-e|0;v=e+1|0;q=1-e|0;s=b+((i<<2)+(a>>>1<<3)+8)|0;r=k;x=0;while(1){w=m*(+n[r+(v<<2)>>2]-+n[r+(q<<2)>>2]);n[c+(x<<2)>>2]=m*(+n[r+(e<<2)>>2]-+n[r+(u<<2)>>2]);n[c+((x|1)<<2)>>2]=w;x=x+2|0;if((x|0)>(a|0))break;else r=r+8|0}o=s;p=l&-2;break a}break}case 5:{m=+n[j+4>>2];w=+n[j+8>>2];r=l+-2|0;if((l|0)<2){o=k;p=0}else{a=0-e|0;x=e<<1;u=a<<1;q=e+1|0;v=1-e|0;d=x|1;t=1-x|0;y=b+((i<<2)+(r>>>1<<3)+8)|0;z=0;A=k;while(1){B=m*(+n[A+(q<<2)>>2]-+n[A+(v<<2)>>2])+w*(+n[A+(d<<2)>>2]-+n[A+(t<<2)>>2]);n[c+(z<<2)>>2]=m*(+n[A+(e<<2)>>2]-+n[A+(a<<2)>>2])+w*(+n[A+(x<<2)>>2]-+n[A+(u<<2)>>2]);n[c+((z|1)<<2)>>2]=B;z=z+2|0;if((z|0)>(r|0))break;else A=A+8|0}o=y;p=l&-2}break}default:{o=k;p=0}}while(0);if((p|0)>=(l|0))return;if((g|0)<2){A=o;r=p;while(1){n[c+(r<<2)>>2]=+n[j>>2]*+n[A>>2];r=r+1|0;if((r|0)==(l|0))break;else A=A+4|0}return}else{C=o;D=p}while(1){w=+n[j>>2]*+n[C>>2];p=e;o=1;while(1){w=w+ +n[j+(o<<2)>>2]*(+n[C+(p<<2)>>2]-+n[C+(0-p<<2)>>2]);if((o|0)==(h|0))break;else{p=p+e|0;o=o+1|0}}n[c+(D<<2)>>2]=w;D=D+1|0;if((D|0)==(l|0))break;else C=C+4|0}return}b:do switch(g|0){case 1:{if(+n[j>>2]==1.0?(C=l+-2|0,(l|0)>=2):0){D=b+((i<<2)+(C>>>1<<3)+8)|0;o=0;p=k;while(1){y=o|1;A=f[k+(y<<2)>>2]|0;f[c+(o<<2)>>2]=f[p>>2];f[c+(y<<2)>>2]=A;A=o+2|0;if((A|0)>(C|0))break;else{o=A;p=k+(A<<2)|0}}E=D;F=l&-2}else{E=k;F=0}break}case 3:{w=+n[j>>2];if(w==2.0?+n[j+4>>2]==1.0:0){p=l+-2|0;if((l|0)<2){E=k;F=0;break b}o=0-e|0;C=1-e|0;A=e+1|0;y=b+((i<<2)+(p>>>1<<3)+8)|0;r=k;z=0;while(1){m=+n[r+(A<<2)>>2]+(+n[r+(C<<2)>>2]+ +n[r+4>>2]*2.0);n[c+(z<<2)>>2]=+n[r+(e<<2)>>2]+(+n[r+(o<<2)>>2]+ +n[r>>2]*2.0);n[c+((z|1)<<2)>>2]=m;z=z+2|0;if((z|0)>(p|0))break;else r=r+8|0}E=y;F=l&-2;break b}m=+n[j+4>>2];r=l+-2|0;p=(l|0)<2;if(w==-2.0&m==1.0){if(p){E=k;F=0;break b}z=0-e|0;o=1-e|0;C=e+1|0;A=b+((i<<2)+(r>>>1<<3)+8)|0;D=k;u=0;while(1){B=+n[D+(C<<2)>>2]+(+n[D+(o<<2)>>2]-+n[D+4>>2]*2.0);n[c+(u<<2)>>2]=+n[D+(e<<2)>>2]+(+n[D+(z<<2)>>2]-+n[D>>2]*2.0);n[c+((u|1)<<2)>>2]=B;u=u+2|0;if((u|0)>(r|0))break;else D=D+8|0}E=A;F=l&-2;break b}else{if(p){E=k;F=0;break b}D=0-e|0;u=1-e|0;z=e+1|0;o=b+((i<<2)+(r>>>1<<3)+8)|0;C=k;y=0;while(1){B=w*+n[C+4>>2]+m*(+n[C+(u<<2)>>2]+ +n[C+(z<<2)>>2]);n[c+(y<<2)>>2]=w*+n[C>>2]+m*(+n[C+(D<<2)>>2]+ +n[C+(e<<2)>>2]);n[c+((y|1)<<2)>>2]=B;y=y+2|0;if((y|0)>(r|0))break;else C=C+8|0}E=o;F=l&-2;break b}break}case 5:{m=+n[j>>2];w=+n[j+4>>2];B=+n[j+8>>2];C=l+-2|0;r=(l|0)<2;if(m==-2.0&w==0.0&B==1.0){if(r){E=k;F=0;break b}y=0-e<<1;D=e<<1;z=1-D|0;u=D|1;p=b+((i<<2)+(C>>>1<<3)+8)|0;A=k;x=0;while(1){G=+n[A+(z<<2)>>2]-+n[A+4>>2]*2.0+ +n[A+(u<<2)>>2];n[c+(x<<2)>>2]=+n[A+(y<<2)>>2]-+n[A>>2]*2.0+ +n[A+(D<<2)>>2];n[c+((x|1)<<2)>>2]=G;x=x+2|0;if((x|0)>(C|0))break;else A=A+8|0}E=p;F=l&-2;break b}else{if(r){E=k;F=0;break b}A=0-e|0;x=A<<1;D=e<<1;y=1-e|0;u=e+1|0;z=1-D|0;o=D|1;a=b+((i<<2)+(C>>>1<<3)+8)|0;t=k;d=0;while(1){G=m*+n[t+4>>2]+w*(+n[t+(y<<2)>>2]+ +n[t+(u<<2)>>2])+B*(+n[t+(z<<2)>>2]+ +n[t+(o<<2)>>2]);n[c+(d<<2)>>2]=m*+n[t>>2]+w*(+n[t+(A<<2)>>2]+ +n[t+(e<<2)>>2])+B*(+n[t+(x<<2)>>2]+ +n[t+(D<<2)>>2]);n[c+((d|1)<<2)>>2]=G;d=d+2|0;if((d|0)>(C|0))break;else t=t+8|0}E=a;F=l&-2;break b}break}default:{E=k;F=0}}while(0);if((F|0)>=(l|0))return;if((g|0)<2){g=E;k=F;while(1){n[c+(k<<2)>>2]=+n[j>>2]*+n[g>>2];k=k+1|0;if((k|0)==(l|0))break;else g=g+4|0}return}else{H=E;I=F}while(1){F=e;E=1;B=+n[j>>2]*+n[H>>2];while(1){B=B+ +n[j+(E<<2)>>2]*(+n[H+(F<<2)>>2]+ +n[H+(0-F<<2)>>2]);if((E|0)==(h|0))break;else{F=F+e|0;E=E+1|0}}n[c+(I<<2)>>2]=B;I=I+1|0;if((I|0)==(l|0))break;else H=H+4|0}return}function Uja(a){a=a|0;GQa(a);return}function Vja(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function Wja(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;e=u;u=u+16|0;g=e;h=a+8|0;f[h>>2]=-1;i=a+4|0;f[i>>2]=-1;f[a>>2]=59360;j=a+12|0;f[j>>2]=1124007936;k=a+16|0;l=a+20|0;m=a+52|0;n=k;o=n+36|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[m>>2]=l;p=a+60|0;q=a+56|0;f[q>>2]=p;f[p>>2]=0;f[a+64>>2]=0;if(f[c>>2]&16384){if((j|0)!=(c|0)){p=c+36|0;r=f[p>>2]|0;if(r){s=r+12|0;f[s>>2]=(f[s>>2]|0)+1;s=a+48|0;r=f[s>>2]|0;if((r|0)!=0?(t=r+12|0,r=f[t>>2]|0,f[t>>2]=r+-1,(r|0)==1):0){XO(j);v=s}else v=s}else v=a+48|0;f[v>>2]=0;s=a+28|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if((f[k>>2]|0)>0){r=f[m>>2]|0;m=0;do{f[r+(m<<2)>>2]=0;m=m+1|0;w=f[k>>2]|0}while((m|0)<(w|0));f[j>>2]=f[c>>2];if((w|0)<3)x=13;else x=15}else{f[j>>2]=f[c>>2];x=13}if((x|0)==13){w=f[c+4>>2]|0;if((w|0)<3){f[k>>2]=w;f[l>>2]=f[c+8>>2];f[a+24>>2]=f[c+12>>2];w=f[c+44>>2]|0;k=f[q>>2]|0;f[k>>2]=f[w>>2];f[k+4>>2]=f[w+4>>2]}else x=15}if((x|0)==15)WO(j,c);f[s>>2]=f[c+16>>2];f[a+32>>2]=f[c+20>>2];f[a+36>>2]=f[c+24>>2];f[a+40>>2]=f[c+28>>2];f[a+44>>2]=f[c+32>>2];f[v>>2]=f[p>>2]}}else{p=g+8|0;f[p>>2]=0;f[p+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=j;eM(c,g)}f[h>>2]=d;d=f[l>>2]|0;l=f[a+24>>2]|0;f[i>>2]=d+-1+l;if((f[j>>2]&4095|0)==4?(d|0)==1|(l|0)==1:0){u=e;return}f[g>>2]=0;f[g+4>>2]=0;n=JV(g,77)|0;l=234229;o=n+77|0;do{b[n>>0]=b[l>>0]|0;n=n+1|0;l=l+1|0}while((n|0)<(o|0));EP(-215,g,234307,233284,3053);KV(g);u=e;return}function Xja(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=59360;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0))return;dX(b);return}function Yja(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=59360;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0)){GQa(a);return}dX(b);GQa(a);return}function Zja(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=f[a+4>>2]|0;i=f[a+28>>2]|0;a=X(e,d)|0;d=a+-4|0;do if((a|0)<4)j=0;else{if((g|0)>1)k=0;else{l=0;do{m=b+l|0;n=f[i>>2]|0;o=X(n,h[m>>0]|0)|0;p=X(n,h[m+1>>0]|0)|0;q=X(n,h[m+2>>0]|0)|0;r=X(n,h[m+3>>0]|0)|0;f[c+(l<<2)>>2]=o;f[c+((l|1)<<2)>>2]=p;f[c+((l|2)<<2)>>2]=q;f[c+((l|3)<<2)>>2]=r;l=l+4|0}while((l|0)<=(d|0));j=a&-4;break}do{l=b+k|0;r=f[i>>2]|0;q=X(r,h[l>>0]|0)|0;p=X(r,h[l+1>>0]|0)|0;o=X(r,h[l+2>>0]|0)|0;m=l;n=X(r,h[l+3>>0]|0)|0;l=o;o=p;p=q;q=1;do{m=m+e|0;r=f[i+(q<<2)>>2]|0;p=(X(r,h[m>>0]|0)|0)+p|0;o=(X(r,h[m+1>>0]|0)|0)+o|0;l=(X(r,h[m+2>>0]|0)|0)+l|0;n=(X(r,h[m+3>>0]|0)|0)+n|0;q=q+1|0}while((q|0)!=(g|0));f[c+(k<<2)>>2]=p;f[c+((k|1)<<2)>>2]=o;f[c+((k|2)<<2)>>2]=l;f[c+((k|3)<<2)>>2]=n;k=k+4|0}while((k|0)<=(d|0));j=a&-4}while(0);if((j|0)>=(a|0))return;if((g|0)>1)s=j;else{d=j;do{j=X(f[i>>2]|0,h[b+d>>0]|0)|0;f[c+(d<<2)>>2]=j;d=d+1|0}while((d|0)!=(a|0));return}do{d=b+s|0;j=X(f[i>>2]|0,h[d>>0]|0)|0;k=d;d=1;do{k=k+e|0;j=(X(f[i+(d<<2)>>2]|0,h[k>>0]|0)|0)+j|0;d=d+1|0}while((d|0)!=(g|0));f[c+(s<<2)>>2]=j;s=s+1|0}while((s|0)!=(a|0));return}function _ja(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=59360;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0)){GQa(a);return}dX(b);GQa(a);return}function $ja(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;g=f[a+4>>2]|0;i=(g|0)/2|0;j=X(i,e)|0;k=(f[a+28>>2]|0)+(i<<2)|0;l=b+j|0;m=X(e,d)|0;if(!(f[a+72>>2]&1)){a:do switch(g|0){case 3:{a=f[k+4>>2]|0;d=m+-2|0;n=(m|0)<2;if((f[k>>2]|0)==0&(a|0)==1){if(n){o=l;p=0;break a}q=0-e|0;r=e+1|0;s=1-e|0;t=d&-2;u=j+t+2|0;v=l;w=0;while(1){x=(h[v+r>>0]|0)-(h[v+s>>0]|0)|0;f[c+(w<<2)>>2]=(h[v+e>>0]|0)-(h[v+q>>0]|0);f[c+((w|1)<<2)>>2]=x;w=w+2|0;if((w|0)>(d|0))break;else v=v+2|0}o=b+u|0;p=t+2|0;break a}else{if(n){o=l;p=0;break a}v=0-e|0;w=e+1|0;q=1-e|0;s=d&-2;r=j+s+2|0;x=l;y=0;while(1){z=X((h[x+e>>0]|0)-(h[x+v>>0]|0)|0,a)|0;A=X((h[x+w>>0]|0)-(h[x+q>>0]|0)|0,a)|0;f[c+(y<<2)>>2]=z;f[c+((y|1)<<2)>>2]=A;y=y+2|0;if((y|0)>(d|0))break;else x=x+2|0}o=b+r|0;p=s+2|0;break a}break}case 5:{x=f[k+4>>2]|0;d=f[k+8>>2]|0;y=m+-2|0;if((m|0)<2){o=l;p=0}else{a=0-e|0;q=e<<1;w=a<<1;v=e+1|0;n=1-e|0;t=q|1;u=1-q|0;A=y&-2;z=j+A+2|0;B=0;C=l;while(1){D=X((h[C+e>>0]|0)-(h[C+a>>0]|0)|0,x)|0;E=(X((h[C+q>>0]|0)-(h[C+w>>0]|0)|0,d)|0)+D|0;D=X((h[C+v>>0]|0)-(h[C+n>>0]|0)|0,x)|0;F=(X((h[C+t>>0]|0)-(h[C+u>>0]|0)|0,d)|0)+D|0;f[c+(B<<2)>>2]=E;f[c+((B|1)<<2)>>2]=F;B=B+2|0;if((B|0)>(y|0))break;else C=C+2|0}o=b+z|0;p=A+2|0}break}default:{o=l;p=0}}while(0);if((p|0)>=(m|0))return;if((g|0)<2){C=o;y=p;while(1){B=X(f[k>>2]|0,h[C>>0]|0)|0;f[c+(y<<2)>>2]=B;y=y+1|0;if((y|0)==(m|0))break;else C=C+1|0}return}else{G=o;H=p}while(1){p=X(f[k>>2]|0,h[G>>0]|0)|0;o=e;C=1;while(1){p=(X((h[G+o>>0]|0)-(h[G+(0-o)>>0]|0)|0,f[k+(C<<2)>>2]|0)|0)+p|0;if((C|0)==(i|0))break;else{o=o+e|0;C=C+1|0}}f[c+(H<<2)>>2]=p;H=H+1|0;if((H|0)==(m|0))break;else G=G+1|0}return}b:do switch(g|0){case 1:{if((f[k>>2]|0)==1?(G=m+-2|0,(m|0)>=2):0){H=G&-2;C=j+H+2|0;o=0;A=l;while(1){z=o|1;y=h[l+z>>0]|0;f[c+(o<<2)>>2]=h[A>>0];f[c+(z<<2)>>2]=y;y=o+2|0;if((y|0)>(G|0))break;else{o=y;A=l+y|0}}I=b+C|0;J=H+2|0}else{I=l;J=0}break}case 3:{A=f[k>>2]|0;switch(A|0){case 2:{if((f[k+4>>2]|0)==1){o=m+-2|0;if((m|0)<2){I=l;J=0;break b}G=0-e|0;p=1-e|0;y=e+1|0;z=o&-2;B=j+z+2|0;d=l;u=0;while(1){t=((h[d+1>>0]|0)<<1)+(h[d+p>>0]|0)+(h[d+y>>0]|0)|0;f[c+(u<<2)>>2]=((h[d>>0]|0)<<1)+(h[d+G>>0]|0)+(h[d+e>>0]|0);f[c+((u|1)<<2)>>2]=t;u=u+2|0;if((u|0)>(o|0))break;else d=d+2|0}I=b+B|0;J=z+2|0;break b}else K=12;break}case -2:{d=f[k+4>>2]|0;if((d|0)==1){o=m+-2|0;if((m|0)<2){I=l;J=0;break b}u=0-e|0;G=1-e|0;y=e+1|0;p=o&-2;H=j+p+2|0;C=l;t=0;while(1){x=(h[C+G>>0]|0)-((h[C+1>>0]|0)<<1)+(h[C+y>>0]|0)|0;f[c+(t<<2)>>2]=(h[C+u>>0]|0)-((h[C>>0]|0)<<1)+(h[C+e>>0]|0);f[c+((t|1)<<2)>>2]=x;t=t+2|0;if((t|0)>(o|0))break;else C=C+2|0}I=b+H|0;J=p+2|0;break b}else L=d;break}default:K=12}if((K|0)==12)L=f[k+4>>2]|0;C=m+-2|0;if((m|0)<2){I=l;J=0}else{o=0-e|0;t=1-e|0;u=e+1|0;y=C&-2;G=j+y+2|0;z=l;B=0;while(1){x=X(A,h[z>>0]|0)|0;n=(X((h[z+e>>0]|0)+(h[z+o>>0]|0)|0,L)|0)+x|0;x=X(A,h[z+1>>0]|0)|0;v=(X((h[z+u>>0]|0)+(h[z+t>>0]|0)|0,L)|0)+x|0;f[c+(B<<2)>>2]=n;f[c+((B|1)<<2)>>2]=v;B=B+2|0;if((B|0)>(C|0))break;else z=z+2|0}I=b+G|0;J=y+2|0}break}case 5:{z=f[k>>2]|0;C=f[k+4>>2]|0;B=f[k+8>>2]|0;t=m+-2|0;u=(m|0)<2;if((z|0)==-2&(C|0)==0&(B|0)==1){if(u){I=l;J=0;break b}A=0-e<<1;o=e<<1;d=1-o|0;p=o|1;H=t&-2;v=j+H+2|0;n=l;x=0;while(1){w=X(h[n>>0]|0,-2)|0;q=X(h[n+1>>0]|0,-2)|0;a=q+(h[n+d>>0]|0)+(h[n+p>>0]|0)|0;f[c+(x<<2)>>2]=w+(h[n+A>>0]|0)+(h[n+o>>0]|0);f[c+((x|1)<<2)>>2]=a;x=x+2|0;if((x|0)>(t|0))break;else n=n+2|0}I=b+v|0;J=H+2|0;break b}else{if(u){I=l;J=0;break b}n=0-e|0;x=n<<1;o=e<<1;A=1-e|0;p=e+1|0;d=1-o|0;y=o|1;G=t&-2;a=j+G+2|0;w=l;q=0;while(1){s=X(z,h[w>>0]|0)|0;r=(X((h[w+e>>0]|0)+(h[w+n>>0]|0)|0,C)|0)+s|0;s=r+(X((h[w+o>>0]|0)+(h[w+x>>0]|0)|0,B)|0)|0;r=X(z,h[w+1>>0]|0)|0;F=(X((h[w+p>>0]|0)+(h[w+A>>0]|0)|0,C)|0)+r|0;r=F+(X((h[w+y>>0]|0)+(h[w+d>>0]|0)|0,B)|0)|0;f[c+(q<<2)>>2]=s;f[c+((q|1)<<2)>>2]=r;q=q+2|0;if((q|0)>(t|0))break;else w=w+2|0}I=b+a|0;J=G+2|0;break b}break}default:{I=l;J=0}}while(0);if((J|0)>=(m|0))return;if((g|0)<2){g=I;l=J;while(1){b=X(f[k>>2]|0,h[g>>0]|0)|0;f[c+(l<<2)>>2]=b;l=l+1|0;if((l|0)==(m|0))break;else g=g+1|0}return}else{M=I;N=J}while(1){J=e;I=1;g=X(f[k>>2]|0,h[M>>0]|0)|0;while(1){g=(X((h[M+(0-J)>>0]|0)+(h[M+J>>0]|0)|0,f[k+(I<<2)>>2]|0)|0)+g|0;if((I|0)==(i|0))break;else{J=J+e|0;I=I+1|0}}f[c+(N<<2)>>2]=g;N=N+1|0;if((N|0)==(m|0))break;else M=M+1|0}return}function aka(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=+i;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;k=u;u=u+80|0;l=k;m=k+72|0;n=k+64|0;o=k+8|0;do if((HJ(e)|0)==65536){p=f[e+4>>2]|0;f[o>>2]=f[p>>2];q=o+4|0;r=p+4|0;f[q>>2]=f[r>>2];s=o+8|0;f[s>>2]=f[p+8>>2];f[o+12>>2]=f[p+12>>2];f[o+16>>2]=f[p+16>>2];f[o+20>>2]=f[p+20>>2];f[o+24>>2]=f[p+24>>2];f[o+28>>2]=f[p+28>>2];f[o+32>>2]=f[p+32>>2];t=f[p+36>>2]|0;f[o+36>>2]=t;f[o+40>>2]=s;s=o+48|0;v=o+44|0;f[v>>2]=s;f[s>>2]=0;f[o+52>>2]=0;if(t|0){s=t+12|0;f[s>>2]=(f[s>>2]|0)+1}if((f[r>>2]|0)<3){r=f[p+44>>2]|0;s=f[v>>2]|0;f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2];break}else{f[q>>2]=0;WO(o,p);break}}else DJ(o,e,-1);while(0);e=c&7;p=d&7;if(!((((d^c)&4088|0)==0?(e|0)>=((p>>>0>4?p:4)|0):0)?(f[o>>2]&4095|0)==(e|0):0)){f[m>>2]=0;f[m+4>>2]=0;q=JV(m,109)|0;r=235918;s=q+109|0;do{b[q>>0]=b[r>>0]|0;q=q+1|0;r=r+1|0}while((q|0)<(s|0));EP(-215,m,236028,233284,3660);KV(m)}do if(!(h&3)){r=(p|0)==0;if((e|0)==4&r){f[n>>2]=j;f[n+4>>2]=(j|0)==0?0:1<>2]=1;f[s>>2]=59380;f[s+8>>2]=q;f[a>>2]=s;f[a+4>>2]=q;f[v>>2]=(f[v>>2]|0)+1;q=f[v>>2]|0;f[v>>2]=q+-1;if((q|0)==1)qg[f[(f[s>>2]|0)+8>>2]&1023](s);break}s=(e|0)==5;if(s&r){q=EQa(76)|0;cka(q,o,g,i,m,n);v=EQa(16)|0;t=v+4|0;f[t>>2]=1;f[v>>2]=59400;f[v+8>>2]=q;f[a>>2]=v;f[a+4>>2]=q;f[t>>2]=(f[t>>2]|0)+1;q=f[t>>2]|0;f[t>>2]=q+-1;if((q|0)!=1)break;qg[f[(f[v>>2]|0)+8>>2]&1023](v);break}v=(e|0)==6;if(v&r){r=EQa(80)|0;dka(r,o,g,i,m,n);q=EQa(16)|0;t=q+4|0;f[t>>2]=1;f[q>>2]=59420;f[q+8>>2]=r;f[a>>2]=q;f[a+4>>2]=r;f[t>>2]=(f[t>>2]|0)+1;r=f[t>>2]|0;f[t>>2]=r+-1;if((r|0)!=1)break;qg[f[(f[q>>2]|0)+8>>2]&1023](q);break}q=(p|0)==2;if(s&q){r=EQa(76)|0;eka(r,o,g,i,m,n);t=EQa(16)|0;w=t+4|0;f[w>>2]=1;f[t>>2]=59440;f[t+8>>2]=r;f[a>>2]=t;f[a+4>>2]=r;f[w>>2]=(f[w>>2]|0)+1;r=f[w>>2]|0;f[w>>2]=r+-1;if((r|0)!=1)break;qg[f[(f[t>>2]|0)+8>>2]&1023](t);break}if(v&q){q=EQa(80)|0;fka(q,o,g,i,m,n);t=EQa(16)|0;r=t+4|0;f[r>>2]=1;f[t>>2]=59460;f[t+8>>2]=q;f[a>>2]=t;f[a+4>>2]=q;f[r>>2]=(f[r>>2]|0)+1;q=f[r>>2]|0;f[r>>2]=q+-1;if((q|0)!=1)break;qg[f[(f[t>>2]|0)+8>>2]&1023](t);break}t=(p|0)==3;if(s&t){q=EQa(76)|0;gka(q,o,g,i,m,n);r=EQa(16)|0;w=r+4|0;f[w>>2]=1;f[r>>2]=59480;f[r+8>>2]=q;f[a>>2]=r;f[a+4>>2]=q;f[w>>2]=(f[w>>2]|0)+1;q=f[w>>2]|0;f[w>>2]=q+-1;if((q|0)!=1)break;qg[f[(f[r>>2]|0)+8>>2]&1023](r);break}if(v&t){t=EQa(80)|0;hka(t,o,g,i,m,n);r=EQa(16)|0;q=r+4|0;f[q>>2]=1;f[r>>2]=59500;f[r+8>>2]=t;f[a>>2]=r;f[a+4>>2]=t;f[q>>2]=(f[q>>2]|0)+1;t=f[q>>2]|0;f[q>>2]=t+-1;if((t|0)!=1)break;qg[f[(f[r>>2]|0)+8>>2]&1023](r);break}if(s&(p|0)==5){s=EQa(76)|0;ika(s,o,g,i,m,n);r=EQa(16)|0;t=r+4|0;f[t>>2]=1;f[r>>2]=59520;f[r+8>>2]=s;f[a>>2]=r;f[a+4>>2]=s;f[t>>2]=(f[t>>2]|0)+1;s=f[t>>2]|0;f[t>>2]=s+-1;if((s|0)!=1)break;qg[f[(f[r>>2]|0)+8>>2]&1023](r);break}if(v&(p|0)==6){v=EQa(80)|0;jka(v,o,g,i,m,n);r=EQa(16)|0;s=r+4|0;f[s>>2]=1;f[r>>2]=59540;f[r+8>>2]=v;f[a>>2]=r;f[a+4>>2]=v;f[s>>2]=(f[s>>2]|0)+1;v=f[s>>2]|0;f[s>>2]=v+-1;if((v|0)==1)qg[f[(f[r>>2]|0)+8>>2]&1023](r)}else x=87}else{if(((f[o+12>>2]|0)+(f[o+8>>2]|0)|0)==4){r=(e|0)==4;if(r&(p|0)==0){f[m>>2]=j;f[m+4>>2]=(j|0)==0?0:1<>2]=1;f[s>>2]=59560;f[s+8>>2]=v;f[a>>2]=s;f[a+4>>2]=v;f[t>>2]=(f[t>>2]|0)+1;v=f[t>>2]|0;f[t>>2]=v+-1;if((v|0)==1)qg[f[(f[s>>2]|0)+8>>2]&1023](s);break}if(r&(p|0)==3&(j|0)==0){r=EQa(80)|0;lka(r,o,g,i,h,m,n);s=EQa(16)|0;v=s+4|0;f[v>>2]=1;f[s>>2]=59580;f[s+8>>2]=r;f[a>>2]=s;f[a+4>>2]=r;f[v>>2]=(f[v>>2]|0)+1;r=f[v>>2]|0;f[v>>2]=r+-1;if((r|0)==1)qg[f[(f[s>>2]|0)+8>>2]&1023](s);break}if((e|0)==5&(p|0)==5){s=EQa(80)|0;mka(s,o,g,i,h,m,n);r=EQa(16)|0;v=r+4|0;f[v>>2]=1;f[r>>2]=59600;f[r+8>>2]=s;f[a>>2]=r;f[a+4>>2]=s;f[v>>2]=(f[v>>2]|0)+1;s=f[v>>2]|0;f[v>>2]=s+-1;if((s|0)==1)qg[f[(f[r>>2]|0)+8>>2]&1023](r);break}}r=(p|0)==0;s=(e|0)==4;if(s&r){f[m>>2]=j;f[m+4>>2]=(j|0)==0?0:1<>2]=1;f[t>>2]=59620;f[t+8>>2]=v;f[a>>2]=t;f[a+4>>2]=v;f[q>>2]=(f[q>>2]|0)+1;v=f[q>>2]|0;f[q>>2]=v+-1;if((v|0)==1)qg[f[(f[t>>2]|0)+8>>2]&1023](t);break}t=(e|0)==5;if(t&r){v=EQa(80)|0;oka(v,o,g,i,h,m,n);q=EQa(16)|0;w=q+4|0;f[w>>2]=1;f[q>>2]=59640;f[q+8>>2]=v;f[a>>2]=q;f[a+4>>2]=v;f[w>>2]=(f[w>>2]|0)+1;v=f[w>>2]|0;f[w>>2]=v+-1;if((v|0)!=1)break;qg[f[(f[q>>2]|0)+8>>2]&1023](q);break}q=(e|0)==6;if(q&r){r=EQa(88)|0;pka(r,o,g,i,h,m,n);v=EQa(16)|0;w=v+4|0;f[w>>2]=1;f[v>>2]=59660;f[v+8>>2]=r;f[a>>2]=v;f[a+4>>2]=r;f[w>>2]=(f[w>>2]|0)+1;r=f[w>>2]|0;f[w>>2]=r+-1;if((r|0)!=1)break;qg[f[(f[v>>2]|0)+8>>2]&1023](v);break}v=(p|0)==2;if(t&v){r=EQa(80)|0;qka(r,o,g,i,h,m,n);w=EQa(16)|0;y=w+4|0;f[y>>2]=1;f[w>>2]=59680;f[w+8>>2]=r;f[a>>2]=w;f[a+4>>2]=r;f[y>>2]=(f[y>>2]|0)+1;r=f[y>>2]|0;f[y>>2]=r+-1;if((r|0)!=1)break;qg[f[(f[w>>2]|0)+8>>2]&1023](w);break}if(q&v){v=EQa(88)|0;rka(v,o,g,i,h,m,n);w=EQa(16)|0;r=w+4|0;f[r>>2]=1;f[w>>2]=59700;f[w+8>>2]=v;f[a>>2]=w;f[a+4>>2]=v;f[r>>2]=(f[r>>2]|0)+1;v=f[r>>2]|0;f[r>>2]=v+-1;if((v|0)!=1)break;qg[f[(f[w>>2]|0)+8>>2]&1023](w);break}w=(p|0)==3;if(s&w){s=EQa(80)|0;ska(s,o,g,i,h,m,n);v=EQa(16)|0;r=v+4|0;f[r>>2]=1;f[v>>2]=59720;f[v+8>>2]=s;f[a>>2]=v;f[a+4>>2]=s;f[r>>2]=(f[r>>2]|0)+1;s=f[r>>2]|0;f[r>>2]=s+-1;if((s|0)!=1)break;qg[f[(f[v>>2]|0)+8>>2]&1023](v);break}if(t&w){v=EQa(80)|0;tka(v,o,g,i,h,m,n);s=EQa(16)|0;r=s+4|0;f[r>>2]=1;f[s>>2]=59740;f[s+8>>2]=v;f[a>>2]=s;f[a+4>>2]=v;f[r>>2]=(f[r>>2]|0)+1;v=f[r>>2]|0;f[r>>2]=v+-1;if((v|0)==1)qg[f[(f[s>>2]|0)+8>>2]&1023](s);break}if(q&w){w=EQa(88)|0;uka(w,o,g,i,h,m,n);s=EQa(16)|0;v=s+4|0;f[v>>2]=1;f[s>>2]=59760;f[s+8>>2]=w;f[a>>2]=s;f[a+4>>2]=w;f[v>>2]=(f[v>>2]|0)+1;w=f[v>>2]|0;f[v>>2]=w+-1;if((w|0)!=1)break;qg[f[(f[s>>2]|0)+8>>2]&1023](s);break}if(t&(p|0)==5){t=EQa(80)|0;vka(t,o,g,i,h,m,n);s=EQa(16)|0;w=s+4|0;f[w>>2]=1;f[s>>2]=59780;f[s+8>>2]=t;f[a>>2]=s;f[a+4>>2]=t;f[w>>2]=(f[w>>2]|0)+1;t=f[w>>2]|0;f[w>>2]=t+-1;if((t|0)==1)qg[f[(f[s>>2]|0)+8>>2]&1023](s);break}else{if(!(q&(p|0)==6)){x=87;break}q=EQa(88)|0;wka(q,o,g,i,h,m,n);s=EQa(16)|0;t=s+4|0;f[t>>2]=1;f[s>>2]=59800;f[s+8>>2]=q;f[a>>2]=s;f[a+4>>2]=q;f[t>>2]=(f[t>>2]|0)+1;q=f[t>>2]|0;f[t>>2]=q+-1;if((q|0)!=1)break;qg[f[(f[s>>2]|0)+8>>2]&1023](s);break}}while(0);if((x|0)==87){f[l>>2]=c;f[l+4>>2]=d;LP(m,236050,l);EP(-213,m,236028,233284,3741);KV(m);f[a>>2]=0;f[a+4>>2]=0}a=o+36|0;m=f[a>>2]|0;if(m|0?(l=m+12|0,m=f[l>>2]|0,f[l>>2]=m+-1,(m|0)==1):0)XO(o);f[a>>2]=0;a=o+16|0;m=o+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if((f[m>>2]|0)>0){a=f[o+40>>2]|0;l=0;do{f[a+(l<<2)>>2]=0;l=l+1|0}while((l|0)<(f[m>>2]|0))}m=f[o+44>>2]|0;if((m|0)==(o+48|0)){u=k;return}dX(m);u=k;return}function bka(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;h=u;u=u+16|0;i=h;j=a+8|0;f[j>>2]=-1;k=a+4|0;f[k>>2]=-1;f[a>>2]=60276;l=a+12|0;f[l>>2]=1124007936;m=a+16|0;n=a+20|0;o=a+52|0;p=m;q=p+36|0;do{f[p>>2]=0;p=p+4|0}while((p|0)<(q|0));f[o>>2]=n;r=a+60|0;s=a+56|0;f[s>>2]=r;t=a+68|0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;if(f[c>>2]&16384){if((l|0)!=(c|0)){r=c+36|0;v=f[r>>2]|0;if(v){w=v+12|0;f[w>>2]=(f[w>>2]|0)+1;w=a+48|0;v=f[w>>2]|0;if((v|0)!=0?(x=v+12|0,v=f[x>>2]|0,f[x>>2]=v+-1,(v|0)==1):0){XO(l);y=w}else y=w}else y=a+48|0;f[y>>2]=0;w=a+28|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;if((f[m>>2]|0)>0){v=f[o>>2]|0;o=0;do{f[v+(o<<2)>>2]=0;o=o+1|0;z=f[m>>2]|0}while((o|0)<(z|0));f[l>>2]=f[c>>2];if((z|0)<3)A=13;else A=15}else{f[l>>2]=f[c>>2];A=13}if((A|0)==13){z=f[c+4>>2]|0;if((z|0)<3){f[m>>2]=z;f[n>>2]=f[c+8>>2];f[a+24>>2]=f[c+12>>2];z=f[c+44>>2]|0;m=f[s>>2]|0;f[m>>2]=f[z>>2];f[m+4>>2]=f[z+4>>2]}else A=15}if((A|0)==15)WO(l,c);f[w>>2]=f[c+16>>2];f[a+32>>2]=f[c+20>>2];f[a+36>>2]=f[c+24>>2];f[a+40>>2]=f[c+28>>2];f[a+44>>2]=f[c+32>>2];f[y>>2]=f[r>>2]}}else{r=i+8|0;f[r>>2]=0;f[r+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=l;eM(c,i)}f[j>>2]=d;d=f[n>>2]|0;n=f[a+24>>2]|0;f[k>>2]=d+-1+n;k=AEa(e)|0;f[a+80>>2]=k;k=g;g=f[k+4>>2]|0;a=t;f[a>>2]=f[k>>2];f[a+4>>2]=g;if((f[l>>2]&4095|0)==4?(d|0)==1|(n|0)==1:0){u=h;return}f[i>>2]=0;f[i+4>>2]=0;p=JV(i,77)|0;n=237289;q=p+77|0;do{b[p>>0]=b[n>>0]|0;p=p+1|0;n=n+1|0}while((p|0)<(q|0));EP(-215,i,237367,233284,3251);KV(i);u=h;return}function cka(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;h=u;u=u+16|0;g=h;i=a+8|0;f[i>>2]=-1;j=a+4|0;f[j>>2]=-1;f[a>>2]=60228;k=a+12|0;f[k>>2]=1124007936;l=a+16|0;m=a+20|0;o=a+52|0;p=l;q=p+36|0;do{f[p>>2]=0;p=p+4|0}while((p|0)<(q|0));f[o>>2]=m;r=a+60|0;s=a+56|0;f[s>>2]=r;f[r>>2]=0;f[a+64>>2]=0;if(f[c>>2]&16384){if((k|0)!=(c|0)){r=c+36|0;t=f[r>>2]|0;if(t){v=t+12|0;f[v>>2]=(f[v>>2]|0)+1;v=a+48|0;t=f[v>>2]|0;if((t|0)!=0?(w=t+12|0,t=f[w>>2]|0,f[w>>2]=t+-1,(t|0)==1):0){XO(k);x=v}else x=v}else x=a+48|0;f[x>>2]=0;v=a+28|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;if((f[l>>2]|0)>0){t=f[o>>2]|0;o=0;do{f[t+(o<<2)>>2]=0;o=o+1|0;y=f[l>>2]|0}while((o|0)<(y|0));f[k>>2]=f[c>>2];if((y|0)<3)z=13;else z=15}else{f[k>>2]=f[c>>2];z=13}if((z|0)==13){y=f[c+4>>2]|0;if((y|0)<3){f[l>>2]=y;f[m>>2]=f[c+8>>2];f[a+24>>2]=f[c+12>>2];y=f[c+44>>2]|0;l=f[s>>2]|0;f[l>>2]=f[y>>2];f[l+4>>2]=f[y+4>>2]}else z=15}if((z|0)==15)WO(k,c);f[v>>2]=f[c+16>>2];f[a+32>>2]=f[c+20>>2];f[a+36>>2]=f[c+24>>2];f[a+40>>2]=f[c+28>>2];f[a+44>>2]=f[c+32>>2];f[x>>2]=f[r>>2]}}else{r=g+8|0;f[r>>2]=0;f[r+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=k;eM(c,g)}f[i>>2]=d;d=f[m>>2]|0;m=f[a+24>>2]|0;f[j>>2]=d+-1+m;n[a+72>>2]=e;if((f[k>>2]&4095|0)==5?(d|0)==1|(m|0)==1:0){u=h;return}f[g>>2]=0;f[g+4>>2]=0;p=JV(g,77)|0;m=237289;q=p+77|0;do{b[p>>0]=b[m>>0]|0;p=p+1|0;m=m+1|0}while((p|0)<(q|0));EP(-215,g,237367,233284,3251);KV(g);u=h;return}function dka(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;h=u;u=u+16|0;g=h;i=a+8|0;f[i>>2]=-1;j=a+4|0;f[j>>2]=-1;f[a>>2]=60180;k=a+12|0;f[k>>2]=1124007936;l=a+16|0;m=a+20|0;n=a+52|0;o=l;q=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(q|0));f[n>>2]=m;r=a+60|0;s=a+56|0;f[s>>2]=r;f[r>>2]=0;f[a+64>>2]=0;if(f[c>>2]&16384){if((k|0)!=(c|0)){r=c+36|0;t=f[r>>2]|0;if(t){v=t+12|0;f[v>>2]=(f[v>>2]|0)+1;v=a+48|0;t=f[v>>2]|0;if((t|0)!=0?(w=t+12|0,t=f[w>>2]|0,f[w>>2]=t+-1,(t|0)==1):0){XO(k);x=v}else x=v}else x=a+48|0;f[x>>2]=0;v=a+28|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;if((f[l>>2]|0)>0){t=f[n>>2]|0;n=0;do{f[t+(n<<2)>>2]=0;n=n+1|0;y=f[l>>2]|0}while((n|0)<(y|0));f[k>>2]=f[c>>2];if((y|0)<3)z=13;else z=15}else{f[k>>2]=f[c>>2];z=13}if((z|0)==13){y=f[c+4>>2]|0;if((y|0)<3){f[l>>2]=y;f[m>>2]=f[c+8>>2];f[a+24>>2]=f[c+12>>2];y=f[c+44>>2]|0;l=f[s>>2]|0;f[l>>2]=f[y>>2];f[l+4>>2]=f[y+4>>2]}else z=15}if((z|0)==15)WO(k,c);f[v>>2]=f[c+16>>2];f[a+32>>2]=f[c+20>>2];f[a+36>>2]=f[c+24>>2];f[a+40>>2]=f[c+28>>2];f[a+44>>2]=f[c+32>>2];f[x>>2]=f[r>>2]}}else{r=g+8|0;f[r>>2]=0;f[r+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=k;eM(c,g)}f[i>>2]=d;d=f[m>>2]|0;m=f[a+24>>2]|0;f[j>>2]=d+-1+m;p[a+72>>3]=e;if((f[k>>2]&4095|0)==6?(d|0)==1|(m|0)==1:0){u=h;return}f[g>>2]=0;f[g+4>>2]=0;o=JV(g,77)|0;m=237289;q=o+77|0;do{b[o>>0]=b[m>>0]|0;o=o+1|0;m=m+1|0}while((o|0)<(q|0));EP(-215,g,237367,233284,3251);KV(g);u=h;return}function eka(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;h=u;u=u+16|0;g=h;i=a+8|0;f[i>>2]=-1;j=a+4|0;f[j>>2]=-1;f[a>>2]=60132;k=a+12|0;f[k>>2]=1124007936;l=a+16|0;m=a+20|0;o=a+52|0;p=l;q=p+36|0;do{f[p>>2]=0;p=p+4|0}while((p|0)<(q|0));f[o>>2]=m;r=a+60|0;s=a+56|0;f[s>>2]=r;f[r>>2]=0;f[a+64>>2]=0;if(f[c>>2]&16384){if((k|0)!=(c|0)){r=c+36|0;t=f[r>>2]|0;if(t){v=t+12|0;f[v>>2]=(f[v>>2]|0)+1;v=a+48|0;t=f[v>>2]|0;if((t|0)!=0?(w=t+12|0,t=f[w>>2]|0,f[w>>2]=t+-1,(t|0)==1):0){XO(k);x=v}else x=v}else x=a+48|0;f[x>>2]=0;v=a+28|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;if((f[l>>2]|0)>0){t=f[o>>2]|0;o=0;do{f[t+(o<<2)>>2]=0;o=o+1|0;y=f[l>>2]|0}while((o|0)<(y|0));f[k>>2]=f[c>>2];if((y|0)<3)z=13;else z=15}else{f[k>>2]=f[c>>2];z=13}if((z|0)==13){y=f[c+4>>2]|0;if((y|0)<3){f[l>>2]=y;f[m>>2]=f[c+8>>2];f[a+24>>2]=f[c+12>>2];y=f[c+44>>2]|0;l=f[s>>2]|0;f[l>>2]=f[y>>2];f[l+4>>2]=f[y+4>>2]}else z=15}if((z|0)==15)WO(k,c);f[v>>2]=f[c+16>>2];f[a+32>>2]=f[c+20>>2];f[a+36>>2]=f[c+24>>2];f[a+40>>2]=f[c+28>>2];f[a+44>>2]=f[c+32>>2];f[x>>2]=f[r>>2]}}else{r=g+8|0;f[r>>2]=0;f[r+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=k;eM(c,g)}f[i>>2]=d;d=f[m>>2]|0;m=f[a+24>>2]|0;f[j>>2]=d+-1+m;n[a+72>>2]=e;if((f[k>>2]&4095|0)==5?(d|0)==1|(m|0)==1:0){u=h;return}f[g>>2]=0;f[g+4>>2]=0;p=JV(g,77)|0;m=237289;q=p+77|0;do{b[p>>0]=b[m>>0]|0;p=p+1|0;m=m+1|0}while((p|0)<(q|0));EP(-215,g,237367,233284,3251);KV(g);u=h;return}function fka(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;h=u;u=u+16|0;g=h;i=a+8|0;f[i>>2]=-1;j=a+4|0;f[j>>2]=-1;f[a>>2]=60084;k=a+12|0;f[k>>2]=1124007936;l=a+16|0;m=a+20|0;n=a+52|0;o=l;q=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(q|0));f[n>>2]=m;r=a+60|0;s=a+56|0;f[s>>2]=r;f[r>>2]=0;f[a+64>>2]=0;if(f[c>>2]&16384){if((k|0)!=(c|0)){r=c+36|0;t=f[r>>2]|0;if(t){v=t+12|0;f[v>>2]=(f[v>>2]|0)+1;v=a+48|0;t=f[v>>2]|0;if((t|0)!=0?(w=t+12|0,t=f[w>>2]|0,f[w>>2]=t+-1,(t|0)==1):0){XO(k);x=v}else x=v}else x=a+48|0;f[x>>2]=0;v=a+28|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;if((f[l>>2]|0)>0){t=f[n>>2]|0;n=0;do{f[t+(n<<2)>>2]=0;n=n+1|0;y=f[l>>2]|0}while((n|0)<(y|0));f[k>>2]=f[c>>2];if((y|0)<3)z=13;else z=15}else{f[k>>2]=f[c>>2];z=13}if((z|0)==13){y=f[c+4>>2]|0;if((y|0)<3){f[l>>2]=y;f[m>>2]=f[c+8>>2];f[a+24>>2]=f[c+12>>2];y=f[c+44>>2]|0;l=f[s>>2]|0;f[l>>2]=f[y>>2];f[l+4>>2]=f[y+4>>2]}else z=15}if((z|0)==15)WO(k,c);f[v>>2]=f[c+16>>2];f[a+32>>2]=f[c+20>>2];f[a+36>>2]=f[c+24>>2];f[a+40>>2]=f[c+28>>2];f[a+44>>2]=f[c+32>>2];f[x>>2]=f[r>>2]}}else{r=g+8|0;f[r>>2]=0;f[r+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=k;eM(c,g)}f[i>>2]=d;d=f[m>>2]|0;m=f[a+24>>2]|0;f[j>>2]=d+-1+m;p[a+72>>3]=e;if((f[k>>2]&4095|0)==6?(d|0)==1|(m|0)==1:0){u=h;return}f[g>>2]=0;f[g+4>>2]=0;o=JV(g,77)|0;m=237289;q=o+77|0;do{b[o>>0]=b[m>>0]|0;o=o+1|0;m=m+1|0}while((o|0)<(q|0));EP(-215,g,237367,233284,3251);KV(g);u=h;return}function gka(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;h=u;u=u+16|0;g=h;i=a+8|0;f[i>>2]=-1;j=a+4|0;f[j>>2]=-1;f[a>>2]=59988;k=a+12|0;f[k>>2]=1124007936;l=a+16|0;m=a+20|0;o=a+52|0;p=l;q=p+36|0;do{f[p>>2]=0;p=p+4|0}while((p|0)<(q|0));f[o>>2]=m;r=a+60|0;s=a+56|0;f[s>>2]=r;f[r>>2]=0;f[a+64>>2]=0;if(f[c>>2]&16384){if((k|0)!=(c|0)){r=c+36|0;t=f[r>>2]|0;if(t){v=t+12|0;f[v>>2]=(f[v>>2]|0)+1;v=a+48|0;t=f[v>>2]|0;if((t|0)!=0?(w=t+12|0,t=f[w>>2]|0,f[w>>2]=t+-1,(t|0)==1):0){XO(k);x=v}else x=v}else x=a+48|0;f[x>>2]=0;v=a+28|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;if((f[l>>2]|0)>0){t=f[o>>2]|0;o=0;do{f[t+(o<<2)>>2]=0;o=o+1|0;y=f[l>>2]|0}while((o|0)<(y|0));f[k>>2]=f[c>>2];if((y|0)<3)z=13;else z=15}else{f[k>>2]=f[c>>2];z=13}if((z|0)==13){y=f[c+4>>2]|0;if((y|0)<3){f[l>>2]=y;f[m>>2]=f[c+8>>2];f[a+24>>2]=f[c+12>>2];y=f[c+44>>2]|0;l=f[s>>2]|0;f[l>>2]=f[y>>2];f[l+4>>2]=f[y+4>>2]}else z=15}if((z|0)==15)WO(k,c);f[v>>2]=f[c+16>>2];f[a+32>>2]=f[c+20>>2];f[a+36>>2]=f[c+24>>2];f[a+40>>2]=f[c+28>>2];f[a+44>>2]=f[c+32>>2];f[x>>2]=f[r>>2]}}else{r=g+8|0;f[r>>2]=0;f[r+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=k;eM(c,g)}f[i>>2]=d;d=f[m>>2]|0;m=f[a+24>>2]|0;f[j>>2]=d+-1+m;n[a+72>>2]=e;if((f[k>>2]&4095|0)==5?(d|0)==1|(m|0)==1:0){u=h;return}f[g>>2]=0;f[g+4>>2]=0;p=JV(g,77)|0;m=237289;q=p+77|0;do{b[p>>0]=b[m>>0]|0;p=p+1|0;m=m+1|0}while((p|0)<(q|0));EP(-215,g,237367,233284,3251);KV(g);u=h;return}function hka(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;h=u;u=u+16|0;g=h;i=a+8|0;f[i>>2]=-1;j=a+4|0;f[j>>2]=-1;f[a>>2]=59940;k=a+12|0;f[k>>2]=1124007936;l=a+16|0;m=a+20|0;n=a+52|0;o=l;q=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(q|0));f[n>>2]=m;r=a+60|0;s=a+56|0;f[s>>2]=r;f[r>>2]=0;f[a+64>>2]=0;if(f[c>>2]&16384){if((k|0)!=(c|0)){r=c+36|0;t=f[r>>2]|0;if(t){v=t+12|0;f[v>>2]=(f[v>>2]|0)+1;v=a+48|0;t=f[v>>2]|0;if((t|0)!=0?(w=t+12|0,t=f[w>>2]|0,f[w>>2]=t+-1,(t|0)==1):0){XO(k);x=v}else x=v}else x=a+48|0;f[x>>2]=0;v=a+28|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;if((f[l>>2]|0)>0){t=f[n>>2]|0;n=0;do{f[t+(n<<2)>>2]=0;n=n+1|0;y=f[l>>2]|0}while((n|0)<(y|0));f[k>>2]=f[c>>2];if((y|0)<3)z=13;else z=15}else{f[k>>2]=f[c>>2];z=13}if((z|0)==13){y=f[c+4>>2]|0;if((y|0)<3){f[l>>2]=y;f[m>>2]=f[c+8>>2];f[a+24>>2]=f[c+12>>2];y=f[c+44>>2]|0;l=f[s>>2]|0;f[l>>2]=f[y>>2];f[l+4>>2]=f[y+4>>2]}else z=15}if((z|0)==15)WO(k,c);f[v>>2]=f[c+16>>2];f[a+32>>2]=f[c+20>>2];f[a+36>>2]=f[c+24>>2];f[a+40>>2]=f[c+28>>2];f[a+44>>2]=f[c+32>>2];f[x>>2]=f[r>>2]}}else{r=g+8|0;f[r>>2]=0;f[r+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=k;eM(c,g)}f[i>>2]=d;d=f[m>>2]|0;m=f[a+24>>2]|0;f[j>>2]=d+-1+m;p[a+72>>3]=e;if((f[k>>2]&4095|0)==6?(d|0)==1|(m|0)==1:0){u=h;return}f[g>>2]=0;f[g+4>>2]=0;o=JV(g,77)|0;m=237289;q=o+77|0;do{b[o>>0]=b[m>>0]|0;o=o+1|0;m=m+1|0}while((o|0)<(q|0));EP(-215,g,237367,233284,3251);KV(g);u=h;return}function ika(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;h=u;u=u+16|0;g=h;i=a+8|0;f[i>>2]=-1;j=a+4|0;f[j>>2]=-1;f[a>>2]=59892;k=a+12|0;f[k>>2]=1124007936;l=a+16|0;m=a+20|0;o=a+52|0;p=l;q=p+36|0;do{f[p>>2]=0;p=p+4|0}while((p|0)<(q|0));f[o>>2]=m;r=a+60|0;s=a+56|0;f[s>>2]=r;f[r>>2]=0;f[a+64>>2]=0;if(f[c>>2]&16384){if((k|0)!=(c|0)){r=c+36|0;t=f[r>>2]|0;if(t){v=t+12|0;f[v>>2]=(f[v>>2]|0)+1;v=a+48|0;t=f[v>>2]|0;if((t|0)!=0?(w=t+12|0,t=f[w>>2]|0,f[w>>2]=t+-1,(t|0)==1):0){XO(k);x=v}else x=v}else x=a+48|0;f[x>>2]=0;v=a+28|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;if((f[l>>2]|0)>0){t=f[o>>2]|0;o=0;do{f[t+(o<<2)>>2]=0;o=o+1|0;y=f[l>>2]|0}while((o|0)<(y|0));f[k>>2]=f[c>>2];if((y|0)<3)z=13;else z=15}else{f[k>>2]=f[c>>2];z=13}if((z|0)==13){y=f[c+4>>2]|0;if((y|0)<3){f[l>>2]=y;f[m>>2]=f[c+8>>2];f[a+24>>2]=f[c+12>>2];y=f[c+44>>2]|0;l=f[s>>2]|0;f[l>>2]=f[y>>2];f[l+4>>2]=f[y+4>>2]}else z=15}if((z|0)==15)WO(k,c);f[v>>2]=f[c+16>>2];f[a+32>>2]=f[c+20>>2];f[a+36>>2]=f[c+24>>2];f[a+40>>2]=f[c+28>>2];f[a+44>>2]=f[c+32>>2];f[x>>2]=f[r>>2]}}else{r=g+8|0;f[r>>2]=0;f[r+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=k;eM(c,g)}f[i>>2]=d;d=f[m>>2]|0;m=f[a+24>>2]|0;f[j>>2]=d+-1+m;n[a+72>>2]=e;if((f[k>>2]&4095|0)==5?(d|0)==1|(m|0)==1:0){u=h;return}f[g>>2]=0;f[g+4>>2]=0;p=JV(g,77)|0;m=237289;q=p+77|0;do{b[p>>0]=b[m>>0]|0;p=p+1|0;m=m+1|0}while((p|0)<(q|0));EP(-215,g,237367,233284,3251);KV(g);u=h;return}function jka(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;h=u;u=u+16|0;g=h;i=a+8|0;f[i>>2]=-1;j=a+4|0;f[j>>2]=-1;f[a>>2]=59844;k=a+12|0;f[k>>2]=1124007936;l=a+16|0;m=a+20|0;n=a+52|0;o=l;q=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(q|0));f[n>>2]=m;r=a+60|0;s=a+56|0;f[s>>2]=r;f[r>>2]=0;f[a+64>>2]=0;if(f[c>>2]&16384){if((k|0)!=(c|0)){r=c+36|0;t=f[r>>2]|0;if(t){v=t+12|0;f[v>>2]=(f[v>>2]|0)+1;v=a+48|0;t=f[v>>2]|0;if((t|0)!=0?(w=t+12|0,t=f[w>>2]|0,f[w>>2]=t+-1,(t|0)==1):0){XO(k);x=v}else x=v}else x=a+48|0;f[x>>2]=0;v=a+28|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;if((f[l>>2]|0)>0){t=f[n>>2]|0;n=0;do{f[t+(n<<2)>>2]=0;n=n+1|0;y=f[l>>2]|0}while((n|0)<(y|0));f[k>>2]=f[c>>2];if((y|0)<3)z=13;else z=15}else{f[k>>2]=f[c>>2];z=13}if((z|0)==13){y=f[c+4>>2]|0;if((y|0)<3){f[l>>2]=y;f[m>>2]=f[c+8>>2];f[a+24>>2]=f[c+12>>2];y=f[c+44>>2]|0;l=f[s>>2]|0;f[l>>2]=f[y>>2];f[l+4>>2]=f[y+4>>2]}else z=15}if((z|0)==15)WO(k,c);f[v>>2]=f[c+16>>2];f[a+32>>2]=f[c+20>>2];f[a+36>>2]=f[c+24>>2];f[a+40>>2]=f[c+28>>2];f[a+44>>2]=f[c+32>>2];f[x>>2]=f[r>>2]}}else{r=g+8|0;f[r>>2]=0;f[r+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=k;eM(c,g)}f[i>>2]=d;d=f[m>>2]|0;m=f[a+24>>2]|0;f[j>>2]=d+-1+m;p[a+72>>3]=e;if((f[k>>2]&4095|0)==6?(d|0)==1|(m|0)==1:0){u=h;return}f[g>>2]=0;f[g+4>>2]=0;o=JV(g,77)|0;m=237289;q=o+77|0;do{b[o>>0]=b[m>>0]|0;o=o+1|0;m=m+1|0}while((o|0)<(q|0));EP(-215,g,237367,233284,3251);KV(g);u=h;return}function kka(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=u;u=u+16|0;k=j;nka(a,c,d,e,g,h,i);f[a>>2]=60444;if((f[a+4>>2]|0)==3){u=j;return}f[k>>2]=0;f[k+4>>2]=0;a=JV(k,16)|0;i=238612;h=a+16|0;do{b[a>>0]=b[i>>0]|0;a=a+1|0;i=i+1|0}while((a|0)<(h|0));EP(-215,k,238629,233284,3420);KV(k);u=j;return}function lka(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=u;u=u+16|0;k=j;$la(a,c,d,e,g,h,i);f[a>>2]=60372;if((f[a+4>>2]|0)==3){u=j;return}f[k>>2]=0;f[k+4>>2]=0;a=JV(k,16)|0;i=238612;h=a+16|0;do{b[a>>0]=b[i>>0]|0;a=a+1|0;i=i+1|0}while((a|0)<(h|0));EP(-215,k,238629,233284,3420);KV(k);u=j;return}function mka(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=u;u=u+16|0;k=j;Qla(a,c,d,e,g,h,i);f[a>>2]=60300;if((f[a+4>>2]|0)==3){u=j;return}f[k>>2]=0;f[k+4>>2]=0;a=JV(k,16)|0;i=238612;h=a+16|0;do{b[a>>0]=b[i>>0]|0;a=a+1|0;i=i+1|0}while((a|0)<(h|0));EP(-215,k,238629,233284,3420);KV(k);u=j;return}function nka(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=u;u=u+16|0;k=j;bka(a,c,d,e,h,i);f[a>>2]=60252;f[a+84>>2]=g;if(g&3|0){u=j;return}f[k>>2]=0;f[k+4>>2]=0;g=JV(k,64)|0;a=236235;i=g+64|0;do{b[g>>0]=b[a>>0]|0;g=g+1|0;a=a+1|0}while((g|0)<(i|0));EP(-215,k,236300,233284,3314);KV(k);u=j;return}function oka(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=u;u=u+16|0;k=j;cka(a,c,d,e,h,i);f[a>>2]=60204;f[a+76>>2]=g;if(g&3|0){u=j;return}f[k>>2]=0;f[k+4>>2]=0;g=JV(k,64)|0;a=236235;i=g+64|0;do{b[g>>0]=b[a>>0]|0;g=g+1|0;a=a+1|0}while((g|0)<(i|0));EP(-215,k,236300,233284,3314);KV(k);u=j;return}function pka(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=u;u=u+16|0;k=j;dka(a,c,d,e,h,i);f[a>>2]=60156;f[a+80>>2]=g;if(g&3|0){u=j;return}f[k>>2]=0;f[k+4>>2]=0;g=JV(k,64)|0;a=236235;i=g+64|0;do{b[g>>0]=b[a>>0]|0;g=g+1|0;a=a+1|0}while((g|0)<(i|0));EP(-215,k,236300,233284,3314);KV(k);u=j;return}function qka(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=u;u=u+16|0;k=j;eka(a,c,d,e,h,i);f[a>>2]=60108;f[a+76>>2]=g;if(g&3|0){u=j;return}f[k>>2]=0;f[k+4>>2]=0;g=JV(k,64)|0;a=236235;i=g+64|0;do{b[g>>0]=b[a>>0]|0;g=g+1|0;a=a+1|0}while((g|0)<(i|0));EP(-215,k,236300,233284,3314);KV(k);u=j;return}function rka(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=u;u=u+16|0;k=j;fka(a,c,d,e,h,i);f[a>>2]=60060;f[a+80>>2]=g;if(g&3|0){u=j;return}f[k>>2]=0;f[k+4>>2]=0;g=JV(k,64)|0;a=236235;i=g+64|0;do{b[g>>0]=b[a>>0]|0;g=g+1|0;a=a+1|0}while((g|0)<(i|0));EP(-215,k,236300,233284,3314);KV(k);u=j;return}function ska(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=u;u=u+16|0;k=j;$ka(a,c,d,e,h,i);f[a>>2]=60012;f[a+76>>2]=g;if(g&3|0){u=j;return}f[k>>2]=0;f[k+4>>2]=0;g=JV(k,64)|0;a=236235;i=g+64|0;do{b[g>>0]=b[a>>0]|0;g=g+1|0;a=a+1|0}while((g|0)<(i|0));EP(-215,k,236300,233284,3314);KV(k);u=j;return}function tka(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=u;u=u+16|0;k=j;gka(a,c,d,e,h,i);f[a>>2]=59964;f[a+76>>2]=g;if(g&3|0){u=j;return}f[k>>2]=0;f[k+4>>2]=0;g=JV(k,64)|0;a=236235;i=g+64|0;do{b[g>>0]=b[a>>0]|0;g=g+1|0;a=a+1|0}while((g|0)<(i|0));EP(-215,k,236300,233284,3314);KV(k);u=j;return}function uka(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=u;u=u+16|0;k=j;hka(a,c,d,e,h,i);f[a>>2]=59916;f[a+80>>2]=g;if(g&3|0){u=j;return}f[k>>2]=0;f[k+4>>2]=0;g=JV(k,64)|0;a=236235;i=g+64|0;do{b[g>>0]=b[a>>0]|0;g=g+1|0;a=a+1|0}while((g|0)<(i|0));EP(-215,k,236300,233284,3314);KV(k);u=j;return}function vka(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=u;u=u+16|0;k=j;ika(a,c,d,e,h,i);f[a>>2]=59868;f[a+76>>2]=g;if(g&3|0){u=j;return}f[k>>2]=0;f[k+4>>2]=0;g=JV(k,64)|0;a=236235;i=g+64|0;do{b[g>>0]=b[a>>0]|0;g=g+1|0;a=a+1|0}while((g|0)<(i|0));EP(-215,k,236300,233284,3314);KV(k);u=j;return}function wka(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=u;u=u+16|0;k=j;jka(a,c,d,e,h,i);f[a>>2]=59820;f[a+80>>2]=g;if(g&3|0){u=j;return}f[k>>2]=0;f[k+4>>2]=0;g=JV(k,64)|0;a=236235;i=g+64|0;do{b[g>>0]=b[a>>0]|0;g=g+1|0;a=a+1|0}while((g|0)<(i|0));EP(-215,k,236300,233284,3314);KV(k);u=j;return}function xka(a){a=a|0;GQa(a);return}function yka(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function zka(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=59844;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0))return;dX(b);return}function Aka(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=59844;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0)){GQa(a);return}dX(b);GQa(a);return}function Bka(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0.0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0;h=f[a+28>>2]|0;i=+p[a+72>>3];j=f[a+4>>2]|0;if(!e)return;a=g+-4|0;k=(g|0)<4;l=(j|0)>1;m=g&-4;n=b;b=c;c=e;while(1){c=c+-1|0;a:do if(k)o=0;else{e=f[n>>2]|0;if(l)q=0;else{r=0;while(1){s=+p[h>>3];t=e+(r<<3)|0;u=i+s*+p[t+8>>3];v=i+s*+p[t+16>>3];w=i+s*+p[t+24>>3];p[b+(r<<3)>>3]=i+s*+p[t>>3];p[b+((r|1)<<3)>>3]=u;p[b+((r|2)<<3)>>3]=v;p[b+((r|3)<<3)>>3]=w;r=r+4|0;if((r|0)>(a|0)){o=m;break a}}}do{w=+p[h>>3];r=e+(q<<3)|0;v=i+w*+p[r+24>>3];u=i+w*+p[r+16>>3];s=i+w*+p[r+8>>3];x=i+w*+p[r>>3];r=1;do{t=(f[n+(r<<2)>>2]|0)+(q<<3)|0;w=+p[h+(r<<3)>>3];x=x+w*+p[t>>3];s=s+w*+p[t+8>>3];u=u+w*+p[t+16>>3];v=v+w*+p[t+24>>3];r=r+1|0}while((r|0)!=(j|0));p[b+(q<<3)>>3]=x;p[b+((q|1)<<3)>>3]=s;p[b+((q|2)<<3)>>3]=u;p[b+((q|3)<<3)>>3]=v;q=q+4|0}while((q|0)<=(a|0));o=m}while(0);b:do if((o|0)<(g|0)){e=f[n>>2]|0;if(l)y=o;else{r=o;while(1){p[b+(r<<3)>>3]=i+ +p[h>>3]*+p[e+(r<<3)>>3];r=r+1|0;if((r|0)==(g|0))break b}}do{w=i+ +p[h>>3]*+p[e+(y<<3)>>3];r=1;do{w=w+ +p[h+(r<<3)>>3]*+p[(f[n+(r<<2)>>2]|0)+(y<<3)>>3];r=r+1|0}while((r|0)!=(j|0));p[b+(y<<3)>>3]=w;y=y+1|0}while((y|0)!=(g|0))}while(0);if(!c)break;else{n=n+4|0;b=b+d|0}}return}function Cka(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=59844;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0)){GQa(a);return}dX(b);GQa(a);return}function Dka(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0.0,E=0,F=0,G=0,H=0.0,I=0;h=f[a+4>>2]|0;i=(h|0)/2|0;j=(f[a+28>>2]|0)+(i<<3)|0;k=+p[a+72>>3];l=b+(i<<2)|0;b=e+-1|0;m=(e|0)==0;if(!(f[a+80>>2]&1)){if(m)return;a=g+-4|0;e=(g|0)<4;n=(h|0)<2;o=i+1|0;q=g&-4;r=c;s=l;t=b;while(1){a:do if(e)u=0;else{if(n){v=0;while(1){p[r+(v<<3)>>3]=k;p[r+((v|1)<<3)>>3]=k;p[r+((v|2)<<3)>>3]=k;p[r+((v|3)<<3)>>3]=k;v=v+4|0;if((v|0)>(a|0)){u=q;break a}}}else w=0;do{x=k;y=k;z=k;A=k;v=1;do{B=(f[s+(v<<2)>>2]|0)+(w<<3)|0;C=(f[s+(0-v<<2)>>2]|0)+(w<<3)|0;D=+p[j+(v<<3)>>3];A=A+D*(+p[B>>3]-+p[C>>3]);z=z+D*(+p[B+8>>3]-+p[C+8>>3]);y=y+D*(+p[B+16>>3]-+p[C+16>>3]);x=x+D*(+p[B+24>>3]-+p[C+24>>3]);v=v+1|0}while((v|0)!=(o|0));p[r+(w<<3)>>3]=A;p[r+((w|1)<<3)>>3]=z;p[r+((w|2)<<3)>>3]=y;p[r+((w|3)<<3)>>3]=x;w=w+4|0}while((w|0)<=(a|0));u=q}while(0);b:do if((u|0)<(g|0)){if(n){v=u;while(1){p[r+(v<<3)>>3]=k;v=v+1|0;if((v|0)==(g|0))break b}}else E=u;do{D=k;v=1;do{D=D+ +p[j+(v<<3)>>3]*(+p[(f[s+(v<<2)>>2]|0)+(E<<3)>>3]-+p[(f[s+(0-v<<2)>>2]|0)+(E<<3)>>3]);v=v+1|0}while((v|0)!=(o|0));p[r+(E<<3)>>3]=D;E=E+1|0}while((E|0)!=(g|0))}while(0);if(!t)break;else{r=r+d|0;s=s+4|0;t=t+-1|0}}return}else{if(m)return;m=g+-4|0;t=(g|0)<4;s=(h|0)<2;h=i+1|0;i=g&-4;r=l;l=c;c=b;while(1){c:do if(t)F=0;else{b=f[r>>2]|0;if(s){E=0;while(1){x=+p[j>>3];o=b+(E<<3)|0;y=k+x*+p[o+8>>3];z=k+x*+p[o+16>>3];A=k+x*+p[o+24>>3];p[l+(E<<3)>>3]=k+x*+p[o>>3];p[l+((E|1)<<3)>>3]=y;p[l+((E|2)<<3)>>3]=z;p[l+((E|3)<<3)>>3]=A;E=E+4|0;if((E|0)>(m|0)){F=i;break c}}}else G=0;do{A=+p[j>>3];E=b+(G<<3)|0;z=k+A*+p[E+24>>3];y=k+A*+p[E+16>>3];x=k+A*+p[E+8>>3];H=k+A*+p[E>>3];E=1;do{o=(f[r+(E<<2)>>2]|0)+(G<<3)|0;u=(f[r+(0-E<<2)>>2]|0)+(G<<3)|0;A=+p[j+(E<<3)>>3];H=H+A*(+p[o>>3]+ +p[u>>3]);x=x+A*(+p[o+8>>3]+ +p[u+8>>3]);y=y+A*(+p[o+16>>3]+ +p[u+16>>3]);z=z+A*(+p[o+24>>3]+ +p[u+24>>3]);E=E+1|0}while((E|0)!=(h|0));p[l+(G<<3)>>3]=H;p[l+((G|1)<<3)>>3]=x;p[l+((G|2)<<3)>>3]=y;p[l+((G|3)<<3)>>3]=z;G=G+4|0}while((G|0)<=(m|0));F=i}while(0);d:do if((F|0)<(g|0)){b=f[r>>2]|0;if(s){E=F;while(1){p[l+(E<<3)>>3]=k+ +p[j>>3]*+p[b+(E<<3)>>3];E=E+1|0;if((E|0)==(g|0))break d}}else I=F;do{D=k+ +p[j>>3]*+p[b+(I<<3)>>3];E=1;do{D=D+ +p[j+(E<<3)>>3]*(+p[(f[r+(E<<2)>>2]|0)+(I<<3)>>3]+ +p[(f[r+(0-E<<2)>>2]|0)+(I<<3)>>3]);E=E+1|0}while((E|0)!=(h|0));p[l+(I<<3)>>3]=D;I=I+1|0}while((I|0)!=(g|0))}while(0);if(!c)break;else{r=r+4|0;l=l+d|0;c=c+-1|0}}return}}function Eka(a){a=a|0;GQa(a);return}function Fka(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function Gka(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=59892;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0))return;dX(b);return}function Hka(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=59892;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0)){GQa(a);return}dX(b);GQa(a);return}function Ika(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0.0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0;h=f[a+28>>2]|0;i=+n[a+72>>2];j=f[a+4>>2]|0;if(!e)return;a=g+-4|0;k=(g|0)<4;l=(j|0)>1;m=g&-4;o=b;b=c;c=e;while(1){c=c+-1|0;a:do if(k)p=0;else{e=f[o>>2]|0;if(l)q=0;else{r=0;while(1){s=+n[h>>2];t=e+(r<<2)|0;u=i+s*+n[t+4>>2];v=i+s*+n[t+8>>2];w=i+s*+n[t+12>>2];n[b+(r<<2)>>2]=i+s*+n[t>>2];n[b+((r|1)<<2)>>2]=u;n[b+((r|2)<<2)>>2]=v;n[b+((r|3)<<2)>>2]=w;r=r+4|0;if((r|0)>(a|0)){p=m;break a}}}do{w=+n[h>>2];r=e+(q<<2)|0;v=i+w*+n[r+12>>2];u=i+w*+n[r+8>>2];s=i+w*+n[r+4>>2];x=i+w*+n[r>>2];r=1;do{t=(f[o+(r<<2)>>2]|0)+(q<<2)|0;w=+n[h+(r<<2)>>2];x=x+w*+n[t>>2];s=s+w*+n[t+4>>2];u=u+w*+n[t+8>>2];v=v+w*+n[t+12>>2];r=r+1|0}while((r|0)!=(j|0));n[b+(q<<2)>>2]=x;n[b+((q|1)<<2)>>2]=s;n[b+((q|2)<<2)>>2]=u;n[b+((q|3)<<2)>>2]=v;q=q+4|0}while((q|0)<=(a|0));p=m}while(0);b:do if((p|0)<(g|0)){e=f[o>>2]|0;if(l)y=p;else{r=p;while(1){n[b+(r<<2)>>2]=i+ +n[h>>2]*+n[e+(r<<2)>>2];r=r+1|0;if((r|0)==(g|0))break b}}do{w=i+ +n[h>>2]*+n[e+(y<<2)>>2];r=1;do{w=w+ +n[h+(r<<2)>>2]*+n[(f[o+(r<<2)>>2]|0)+(y<<2)>>2];r=r+1|0}while((r|0)!=(j|0));n[b+(y<<2)>>2]=w;y=y+1|0}while((y|0)!=(g|0))}while(0);if(!c)break;else{o=o+4|0;b=b+d|0}}return}function Jka(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=59892;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0)){GQa(a);return}dX(b);GQa(a);return}function Kka(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0.0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0.0,E=0,F=0,G=0,H=0.0,I=0;h=f[a+4>>2]|0;i=(h|0)/2|0;j=(f[a+28>>2]|0)+(i<<2)|0;k=+n[a+72>>2];l=b+(i<<2)|0;b=e+-1|0;m=(e|0)==0;if(!(f[a+76>>2]&1)){if(m)return;a=g+-4|0;e=(g|0)<4;o=(h|0)<2;p=i+1|0;q=g&-4;r=c;s=l;t=b;while(1){a:do if(e)u=0;else{if(o){v=0;while(1){n[r+(v<<2)>>2]=k;n[r+((v|1)<<2)>>2]=k;n[r+((v|2)<<2)>>2]=k;n[r+((v|3)<<2)>>2]=k;v=v+4|0;if((v|0)>(a|0)){u=q;break a}}}else w=0;do{x=k;y=k;z=k;A=k;v=1;do{B=(f[s+(v<<2)>>2]|0)+(w<<2)|0;C=(f[s+(0-v<<2)>>2]|0)+(w<<2)|0;D=+n[j+(v<<2)>>2];A=A+D*(+n[B>>2]-+n[C>>2]);z=z+D*(+n[B+4>>2]-+n[C+4>>2]);y=y+D*(+n[B+8>>2]-+n[C+8>>2]);x=x+D*(+n[B+12>>2]-+n[C+12>>2]);v=v+1|0}while((v|0)!=(p|0));n[r+(w<<2)>>2]=A;n[r+((w|1)<<2)>>2]=z;n[r+((w|2)<<2)>>2]=y;n[r+((w|3)<<2)>>2]=x;w=w+4|0}while((w|0)<=(a|0));u=q}while(0);b:do if((u|0)<(g|0)){if(o){v=u;while(1){n[r+(v<<2)>>2]=k;v=v+1|0;if((v|0)==(g|0))break b}}else E=u;do{D=k;v=1;do{D=D+ +n[j+(v<<2)>>2]*(+n[(f[s+(v<<2)>>2]|0)+(E<<2)>>2]-+n[(f[s+(0-v<<2)>>2]|0)+(E<<2)>>2]);v=v+1|0}while((v|0)!=(p|0));n[r+(E<<2)>>2]=D;E=E+1|0}while((E|0)!=(g|0))}while(0);if(!t)break;else{r=r+d|0;s=s+4|0;t=t+-1|0}}return}else{if(m)return;m=g+-4|0;t=(g|0)<4;s=(h|0)<2;h=i+1|0;i=g&-4;r=l;l=c;c=b;while(1){c:do if(t)F=0;else{b=f[r>>2]|0;if(s){E=0;while(1){x=+n[j>>2];p=b+(E<<2)|0;y=k+x*+n[p+4>>2];z=k+x*+n[p+8>>2];A=k+x*+n[p+12>>2];n[l+(E<<2)>>2]=k+x*+n[p>>2];n[l+((E|1)<<2)>>2]=y;n[l+((E|2)<<2)>>2]=z;n[l+((E|3)<<2)>>2]=A;E=E+4|0;if((E|0)>(m|0)){F=i;break c}}}else G=0;do{A=+n[j>>2];E=b+(G<<2)|0;z=k+A*+n[E+12>>2];y=k+A*+n[E+8>>2];x=k+A*+n[E+4>>2];H=k+A*+n[E>>2];E=1;do{p=(f[r+(E<<2)>>2]|0)+(G<<2)|0;u=(f[r+(0-E<<2)>>2]|0)+(G<<2)|0;A=+n[j+(E<<2)>>2];H=H+A*(+n[p>>2]+ +n[u>>2]);x=x+A*(+n[p+4>>2]+ +n[u+4>>2]);y=y+A*(+n[p+8>>2]+ +n[u+8>>2]);z=z+A*(+n[p+12>>2]+ +n[u+12>>2]);E=E+1|0}while((E|0)!=(h|0));n[l+(G<<2)>>2]=H;n[l+((G|1)<<2)>>2]=x;n[l+((G|2)<<2)>>2]=y;n[l+((G|3)<<2)>>2]=z;G=G+4|0}while((G|0)<=(m|0));F=i}while(0);d:do if((F|0)<(g|0)){b=f[r>>2]|0;if(s){E=F;while(1){n[l+(E<<2)>>2]=k+ +n[j>>2]*+n[b+(E<<2)>>2];E=E+1|0;if((E|0)==(g|0))break d}}else I=F;do{D=k+ +n[j>>2]*+n[b+(I<<2)>>2];E=1;do{D=D+ +n[j+(E<<2)>>2]*(+n[(f[r+(E<<2)>>2]|0)+(I<<2)>>2]+ +n[(f[r+(0-E<<2)>>2]|0)+(I<<2)>>2]);E=E+1|0}while((E|0)!=(h|0));n[l+(I<<2)>>2]=D;I=I+1|0}while((I|0)!=(g|0))}while(0);if(!c)break;else{r=r+4|0;l=l+d|0;c=c+-1|0}}return}}function Lka(a){a=a|0;GQa(a);return}function Mka(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function Nka(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=59940;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0))return;dX(b);return}function Oka(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=59940;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0)){GQa(a);return}dX(b);GQa(a);return}function Pka(a,b,c,e,g,h){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,q=0,r=0.0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0,z=0.0,A=0.0,B=0;i=f[a+28>>2]|0;j=+p[a+72>>3];k=f[a+4>>2]|0;if(!g)return;a=h+-4|0;l=(h|0)<4;m=(k|0)>1;n=h&-4;o=b;b=c;c=g;while(1){c=c+-1|0;a:do if(l)q=0;else{r=+p[i>>3];g=f[o>>2]|0;if(m)s=0;else{t=0;while(1){u=g+(t<<3)|0;v=j+r*+p[u+8>>3];w=j+r*+p[u+16>>3];x=j+r*+p[u+24>>3];y=AEa(j+r*+p[u>>3])|0;d[b+(t<<1)>>1]=(y+32768|0)>>>0<65536?y:(y|0)>0?32767:32768;y=AEa(v)|0;d[b+((t|1)<<1)>>1]=(y+32768|0)>>>0<65536?y:(y|0)>0?32767:32768;y=AEa(w)|0;d[b+((t|2)<<1)>>1]=(y+32768|0)>>>0<65536?y:(y|0)>0?32767:32768;y=AEa(x)|0;d[b+((t|3)<<1)>>1]=(y+32768|0)>>>0<65536?y:(y|0)>0?32767:32768;t=t+4|0;if((t|0)>(a|0)){q=n;break a}}}do{t=g+(s<<3)|0;x=j+r*+p[t+24>>3];w=j+r*+p[t+16>>3];v=j+r*+p[t+8>>3];z=j+r*+p[t>>3];t=1;do{y=(f[o+(t<<2)>>2]|0)+(s<<3)|0;A=+p[i+(t<<3)>>3];z=z+A*+p[y>>3];v=v+A*+p[y+8>>3];w=w+A*+p[y+16>>3];x=x+A*+p[y+24>>3];t=t+1|0}while((t|0)!=(k|0));t=AEa(z)|0;d[b+(s<<1)>>1]=(t+32768|0)>>>0<65536?t:(t|0)>0?32767:32768;t=AEa(v)|0;d[b+((s|1)<<1)>>1]=(t+32768|0)>>>0<65536?t:(t|0)>0?32767:32768;t=AEa(w)|0;d[b+((s|2)<<1)>>1]=(t+32768|0)>>>0<65536?t:(t|0)>0?32767:32768;t=AEa(x)|0;d[b+((s|3)<<1)>>1]=(t+32768|0)>>>0<65536?t:(t|0)>0?32767:32768;s=s+4|0}while((s|0)<=(a|0));q=n}while(0);b:do if((q|0)<(h|0)){r=+p[i>>3];g=f[o>>2]|0;if(m)B=q;else{t=q;while(1){y=AEa(j+r*+p[g+(t<<3)>>3])|0;d[b+(t<<1)>>1]=(y+32768|0)>>>0<65536?y:(y|0)>0?32767:32768;t=t+1|0;if((t|0)==(h|0))break b}}do{A=j+r*+p[g+(B<<3)>>3];t=1;do{A=A+ +p[i+(t<<3)>>3]*+p[(f[o+(t<<2)>>2]|0)+(B<<3)>>3];t=t+1|0}while((t|0)!=(k|0));t=AEa(A)|0;d[b+(B<<1)>>1]=(t+32768|0)>>>0<65536?t:(t|0)>0?32767:32768;B=B+1|0}while((B|0)!=(h|0))}while(0);if(!c)break;else{o=o+4|0;b=b+e|0}}return}function Qka(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=59940;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0)){GQa(a);return}dX(b);GQa(a);return}function Rka(a,b,c,e,g,h){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0.0,G=0.0,H=0,I=0,J=0,K=0;i=f[a+4>>2]|0;j=(i|0)/2|0;k=(f[a+28>>2]|0)+(j<<3)|0;l=+p[a+72>>3];m=b+(j<<2)|0;b=g+-1|0;n=(g|0)==0;if(f[a+80>>2]&1|0){if(n)return;a=h+-4|0;g=(h|0)<4;o=(i|0)<2;q=j+1|0;r=h&-4;s=m;t=c;u=b;while(1){a:do if(g)v=0;else{w=+p[k>>3];x=f[s>>2]|0;if(o){y=0;while(1){z=x+(y<<3)|0;A=l+w*+p[z+8>>3];B=l+w*+p[z+16>>3];C=l+w*+p[z+24>>3];D=AEa(l+w*+p[z>>3])|0;d[t+(y<<1)>>1]=(D+32768|0)>>>0<65536?D:(D|0)>0?32767:32768;D=AEa(A)|0;d[t+((y|1)<<1)>>1]=(D+32768|0)>>>0<65536?D:(D|0)>0?32767:32768;D=AEa(B)|0;d[t+((y|2)<<1)>>1]=(D+32768|0)>>>0<65536?D:(D|0)>0?32767:32768;D=AEa(C)|0;d[t+((y|3)<<1)>>1]=(D+32768|0)>>>0<65536?D:(D|0)>0?32767:32768;y=y+4|0;if((y|0)>(a|0)){v=r;break a}}}else E=0;do{y=x+(E<<3)|0;C=l+w*+p[y+24>>3];B=l+w*+p[y+16>>3];A=l+w*+p[y+8>>3];F=l+w*+p[y>>3];y=1;do{D=(f[s+(y<<2)>>2]|0)+(E<<3)|0;z=(f[s+(0-y<<2)>>2]|0)+(E<<3)|0;G=+p[k+(y<<3)>>3];F=F+G*(+p[D>>3]+ +p[z>>3]);A=A+G*(+p[D+8>>3]+ +p[z+8>>3]);B=B+G*(+p[D+16>>3]+ +p[z+16>>3]);C=C+G*(+p[D+24>>3]+ +p[z+24>>3]);y=y+1|0}while((y|0)!=(q|0));y=AEa(F)|0;d[t+(E<<1)>>1]=(y+32768|0)>>>0<65536?y:(y|0)>0?32767:32768;y=AEa(A)|0;d[t+((E|1)<<1)>>1]=(y+32768|0)>>>0<65536?y:(y|0)>0?32767:32768;y=AEa(B)|0;d[t+((E|2)<<1)>>1]=(y+32768|0)>>>0<65536?y:(y|0)>0?32767:32768;y=AEa(C)|0;d[t+((E|3)<<1)>>1]=(y+32768|0)>>>0<65536?y:(y|0)>0?32767:32768;E=E+4|0}while((E|0)<=(a|0));v=r}while(0);b:do if((v|0)<(h|0)){w=+p[k>>3];x=f[s>>2]|0;if(o){y=v;while(1){z=AEa(l+w*+p[x+(y<<3)>>3])|0;d[t+(y<<1)>>1]=(z+32768|0)>>>0<65536?z:(z|0)>0?32767:32768;y=y+1|0;if((y|0)==(h|0))break b}}else H=v;do{G=l+w*+p[x+(H<<3)>>3];y=1;do{G=G+ +p[k+(y<<3)>>3]*(+p[(f[s+(y<<2)>>2]|0)+(H<<3)>>3]+ +p[(f[s+(0-y<<2)>>2]|0)+(H<<3)>>3]);y=y+1|0}while((y|0)!=(q|0));y=AEa(G)|0;d[t+(H<<1)>>1]=(y+32768|0)>>>0<65536?y:(y|0)>0?32767:32768;H=H+1|0}while((H|0)!=(h|0))}while(0);if(!u)break;else{s=s+4|0;t=t+e|0;u=u+-1|0}}return}if(n)return;n=h+-4|0;u=(h|0)<4;t=(i|0)<2;i=j+1|0;j=h&-4;s=c;c=m;m=b;while(1){c:do if(u)I=0;else{if(t){b=AEa(l)|0;H=((b+32768|0)>>>0<65536?b:(b|0)>0?32767:32768)&65535;b=0;while(1){d[s+(b<<1)>>1]=H;d[s+((b|1)<<1)>>1]=H;d[s+((b|2)<<1)>>1]=H;d[s+((b|3)<<1)>>1]=H;b=b+4|0;if((b|0)>(n|0)){I=j;break c}}}else J=0;do{w=l;C=l;B=l;A=l;b=1;do{H=(f[c+(b<<2)>>2]|0)+(J<<3)|0;q=(f[c+(0-b<<2)>>2]|0)+(J<<3)|0;F=+p[k+(b<<3)>>3];A=A+F*(+p[H>>3]-+p[q>>3]);B=B+F*(+p[H+8>>3]-+p[q+8>>3]);C=C+F*(+p[H+16>>3]-+p[q+16>>3]);w=w+F*(+p[H+24>>3]-+p[q+24>>3]);b=b+1|0}while((b|0)!=(i|0));b=AEa(A)|0;d[s+(J<<1)>>1]=(b+32768|0)>>>0<65536?b:(b|0)>0?32767:32768;b=AEa(B)|0;d[s+((J|1)<<1)>>1]=(b+32768|0)>>>0<65536?b:(b|0)>0?32767:32768;b=AEa(C)|0;d[s+((J|2)<<1)>>1]=(b+32768|0)>>>0<65536?b:(b|0)>0?32767:32768;b=AEa(w)|0;d[s+((J|3)<<1)>>1]=(b+32768|0)>>>0<65536?b:(b|0)>0?32767:32768;J=J+4|0}while((J|0)<=(n|0));I=j}while(0);d:do if((I|0)<(h|0)){if(t){b=AEa(l)|0;q=((b+32768|0)>>>0<65536?b:(b|0)>0?32767:32768)&65535;b=I;while(1){d[s+(b<<1)>>1]=q;b=b+1|0;if((b|0)==(h|0))break d}}else K=I;do{G=l;b=1;do{G=G+ +p[k+(b<<3)>>3]*(+p[(f[c+(b<<2)>>2]|0)+(K<<3)>>3]-+p[(f[c+(0-b<<2)>>2]|0)+(K<<3)>>3]);b=b+1|0}while((b|0)!=(i|0));b=AEa(G)|0;d[s+(K<<1)>>1]=(b+32768|0)>>>0<65536?b:(b|0)>0?32767:32768;K=K+1|0}while((K|0)!=(h|0))}while(0);if(!m)break;else{s=s+e|0;c=c+4|0;m=m+-1|0}}return}function Ska(a){a=a|0;GQa(a);return}function Tka(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function Uka(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=59988;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0))return;dX(b);return}function Vka(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=59988;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0)){GQa(a);return}dX(b);GQa(a);return}function Wka(a,b,c,e,g,h){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0.0,k=0,l=0,m=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0,z=0.0,A=0.0,B=0;i=f[a+28>>2]|0;j=+n[a+72>>2];k=f[a+4>>2]|0;if(!g)return;a=h+-4|0;l=(h|0)<4;m=(k|0)>1;o=h&-4;p=b;b=c;c=g;while(1){c=c+-1|0;a:do if(l)q=0;else{r=+n[i>>2];g=f[p>>2]|0;if(m)s=0;else{t=0;while(1){u=g+(t<<2)|0;v=j+r*+n[u+4>>2];w=j+r*+n[u+8>>2];x=j+r*+n[u+12>>2];y=HEa(j+r*+n[u>>2])|0;d[b+(t<<1)>>1]=(y+32768|0)>>>0<65536?y:(y|0)>0?32767:32768;y=HEa(v)|0;d[b+((t|1)<<1)>>1]=(y+32768|0)>>>0<65536?y:(y|0)>0?32767:32768;y=HEa(w)|0;d[b+((t|2)<<1)>>1]=(y+32768|0)>>>0<65536?y:(y|0)>0?32767:32768;y=HEa(x)|0;d[b+((t|3)<<1)>>1]=(y+32768|0)>>>0<65536?y:(y|0)>0?32767:32768;t=t+4|0;if((t|0)>(a|0)){q=o;break a}}}do{t=g+(s<<2)|0;x=j+r*+n[t+12>>2];w=j+r*+n[t+8>>2];v=j+r*+n[t+4>>2];z=j+r*+n[t>>2];t=1;do{y=(f[p+(t<<2)>>2]|0)+(s<<2)|0;A=+n[i+(t<<2)>>2];z=z+A*+n[y>>2];v=v+A*+n[y+4>>2];w=w+A*+n[y+8>>2];x=x+A*+n[y+12>>2];t=t+1|0}while((t|0)!=(k|0));t=HEa(z)|0;d[b+(s<<1)>>1]=(t+32768|0)>>>0<65536?t:(t|0)>0?32767:32768;t=HEa(v)|0;d[b+((s|1)<<1)>>1]=(t+32768|0)>>>0<65536?t:(t|0)>0?32767:32768;t=HEa(w)|0;d[b+((s|2)<<1)>>1]=(t+32768|0)>>>0<65536?t:(t|0)>0?32767:32768;t=HEa(x)|0;d[b+((s|3)<<1)>>1]=(t+32768|0)>>>0<65536?t:(t|0)>0?32767:32768;s=s+4|0}while((s|0)<=(a|0));q=o}while(0);b:do if((q|0)<(h|0)){r=+n[i>>2];g=f[p>>2]|0;if(m)B=q;else{t=q;while(1){y=HEa(j+r*+n[g+(t<<2)>>2])|0;d[b+(t<<1)>>1]=(y+32768|0)>>>0<65536?y:(y|0)>0?32767:32768;t=t+1|0;if((t|0)==(h|0))break b}}do{A=j+r*+n[g+(B<<2)>>2];t=1;do{A=A+ +n[i+(t<<2)>>2]*+n[(f[p+(t<<2)>>2]|0)+(B<<2)>>2];t=t+1|0}while((t|0)!=(k|0));t=HEa(A)|0;d[b+(B<<1)>>1]=(t+32768|0)>>>0<65536?t:(t|0)>0?32767:32768;B=B+1|0}while((B|0)!=(h|0))}while(0);if(!c)break;else{p=p+4|0;b=b+e|0}}return}function Xka(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=59988;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0)){GQa(a);return}dX(b);GQa(a);return}function Yka(a,b,c,e,g,h){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0.0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0.0,G=0.0,H=0,I=0,J=0,K=0;i=f[a+4>>2]|0;j=(i|0)/2|0;k=(f[a+28>>2]|0)+(j<<2)|0;l=+n[a+72>>2];m=b+(j<<2)|0;b=g+-1|0;o=(g|0)==0;if(f[a+76>>2]&1|0){if(o)return;a=h+-4|0;g=(h|0)<4;p=(i|0)<2;q=j+1|0;r=h&-4;s=m;t=c;u=b;while(1){a:do if(g)v=0;else{w=+n[k>>2];x=f[s>>2]|0;if(p){y=0;while(1){z=x+(y<<2)|0;A=l+w*+n[z+4>>2];B=l+w*+n[z+8>>2];C=l+w*+n[z+12>>2];D=HEa(l+w*+n[z>>2])|0;d[t+(y<<1)>>1]=(D+32768|0)>>>0<65536?D:(D|0)>0?32767:32768;D=HEa(A)|0;d[t+((y|1)<<1)>>1]=(D+32768|0)>>>0<65536?D:(D|0)>0?32767:32768;D=HEa(B)|0;d[t+((y|2)<<1)>>1]=(D+32768|0)>>>0<65536?D:(D|0)>0?32767:32768;D=HEa(C)|0;d[t+((y|3)<<1)>>1]=(D+32768|0)>>>0<65536?D:(D|0)>0?32767:32768;y=y+4|0;if((y|0)>(a|0)){v=r;break a}}}else E=0;do{y=x+(E<<2)|0;C=l+w*+n[y+12>>2];B=l+w*+n[y+8>>2];A=l+w*+n[y+4>>2];F=l+w*+n[y>>2];y=1;do{D=(f[s+(y<<2)>>2]|0)+(E<<2)|0;z=(f[s+(0-y<<2)>>2]|0)+(E<<2)|0;G=+n[k+(y<<2)>>2];F=F+G*(+n[D>>2]+ +n[z>>2]);A=A+G*(+n[D+4>>2]+ +n[z+4>>2]);B=B+G*(+n[D+8>>2]+ +n[z+8>>2]);C=C+G*(+n[D+12>>2]+ +n[z+12>>2]);y=y+1|0}while((y|0)!=(q|0));y=HEa(F)|0;d[t+(E<<1)>>1]=(y+32768|0)>>>0<65536?y:(y|0)>0?32767:32768;y=HEa(A)|0;d[t+((E|1)<<1)>>1]=(y+32768|0)>>>0<65536?y:(y|0)>0?32767:32768;y=HEa(B)|0;d[t+((E|2)<<1)>>1]=(y+32768|0)>>>0<65536?y:(y|0)>0?32767:32768;y=HEa(C)|0;d[t+((E|3)<<1)>>1]=(y+32768|0)>>>0<65536?y:(y|0)>0?32767:32768;E=E+4|0}while((E|0)<=(a|0));v=r}while(0);b:do if((v|0)<(h|0)){w=+n[k>>2];x=f[s>>2]|0;if(p){y=v;while(1){z=HEa(l+w*+n[x+(y<<2)>>2])|0;d[t+(y<<1)>>1]=(z+32768|0)>>>0<65536?z:(z|0)>0?32767:32768;y=y+1|0;if((y|0)==(h|0))break b}}else H=v;do{G=l+w*+n[x+(H<<2)>>2];y=1;do{G=G+ +n[k+(y<<2)>>2]*(+n[(f[s+(y<<2)>>2]|0)+(H<<2)>>2]+ +n[(f[s+(0-y<<2)>>2]|0)+(H<<2)>>2]);y=y+1|0}while((y|0)!=(q|0));y=HEa(G)|0;d[t+(H<<1)>>1]=(y+32768|0)>>>0<65536?y:(y|0)>0?32767:32768;H=H+1|0}while((H|0)!=(h|0))}while(0);if(!u)break;else{s=s+4|0;t=t+e|0;u=u+-1|0}}return}if(o)return;o=h+-4|0;u=(h|0)<4;t=(i|0)<2;i=j+1|0;j=h&-4;s=c;c=m;m=b;while(1){c:do if(u)I=0;else{if(t){b=HEa(l)|0;H=((b+32768|0)>>>0<65536?b:(b|0)>0?32767:32768)&65535;b=0;while(1){d[s+(b<<1)>>1]=H;d[s+((b|1)<<1)>>1]=H;d[s+((b|2)<<1)>>1]=H;d[s+((b|3)<<1)>>1]=H;b=b+4|0;if((b|0)>(o|0)){I=j;break c}}}else J=0;do{w=l;C=l;B=l;A=l;b=1;do{H=(f[c+(b<<2)>>2]|0)+(J<<2)|0;q=(f[c+(0-b<<2)>>2]|0)+(J<<2)|0;F=+n[k+(b<<2)>>2];A=A+F*(+n[H>>2]-+n[q>>2]);B=B+F*(+n[H+4>>2]-+n[q+4>>2]);C=C+F*(+n[H+8>>2]-+n[q+8>>2]);w=w+F*(+n[H+12>>2]-+n[q+12>>2]);b=b+1|0}while((b|0)!=(i|0));b=HEa(A)|0;d[s+(J<<1)>>1]=(b+32768|0)>>>0<65536?b:(b|0)>0?32767:32768;b=HEa(B)|0;d[s+((J|1)<<1)>>1]=(b+32768|0)>>>0<65536?b:(b|0)>0?32767:32768;b=HEa(C)|0;d[s+((J|2)<<1)>>1]=(b+32768|0)>>>0<65536?b:(b|0)>0?32767:32768;b=HEa(w)|0;d[s+((J|3)<<1)>>1]=(b+32768|0)>>>0<65536?b:(b|0)>0?32767:32768;J=J+4|0}while((J|0)<=(o|0));I=j}while(0);d:do if((I|0)<(h|0)){if(t){b=HEa(l)|0;q=((b+32768|0)>>>0<65536?b:(b|0)>0?32767:32768)&65535;b=I;while(1){d[s+(b<<1)>>1]=q;b=b+1|0;if((b|0)==(h|0))break d}}else K=I;do{G=l;b=1;do{G=G+ +n[k+(b<<2)>>2]*(+n[(f[c+(b<<2)>>2]|0)+(K<<2)>>2]-+n[(f[c+(0-b<<2)>>2]|0)+(K<<2)>>2]);b=b+1|0}while((b|0)!=(i|0));b=HEa(G)|0;d[s+(K<<1)>>1]=(b+32768|0)>>>0<65536?b:(b|0)>0?32767:32768;K=K+1|0}while((K|0)!=(h|0))}while(0);if(!m)break;else{s=s+e|0;c=c+4|0;m=m+-1|0}}return}function Zka(a){a=a|0;GQa(a);return}function _ka(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function $ka(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;h=u;u=u+16|0;g=h;i=a+8|0;f[i>>2]=-1;j=a+4|0;f[j>>2]=-1;f[a>>2]=60036;k=a+12|0;f[k>>2]=1124007936;l=a+16|0;m=a+20|0;n=a+52|0;o=l;p=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));f[n>>2]=m;q=a+60|0;r=a+56|0;f[r>>2]=q;f[q>>2]=0;f[a+64>>2]=0;if(f[c>>2]&16384){if((k|0)!=(c|0)){q=c+36|0;s=f[q>>2]|0;if(s){t=s+12|0;f[t>>2]=(f[t>>2]|0)+1;t=a+48|0;s=f[t>>2]|0;if((s|0)!=0?(v=s+12|0,s=f[v>>2]|0,f[v>>2]=s+-1,(s|0)==1):0){XO(k);w=t}else w=t}else w=a+48|0;f[w>>2]=0;t=a+28|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;if((f[l>>2]|0)>0){s=f[n>>2]|0;n=0;do{f[s+(n<<2)>>2]=0;n=n+1|0;x=f[l>>2]|0}while((n|0)<(x|0));f[k>>2]=f[c>>2];if((x|0)<3)y=13;else y=15}else{f[k>>2]=f[c>>2];y=13}if((y|0)==13){x=f[c+4>>2]|0;if((x|0)<3){f[l>>2]=x;f[m>>2]=f[c+8>>2];f[a+24>>2]=f[c+12>>2];x=f[c+44>>2]|0;l=f[r>>2]|0;f[l>>2]=f[x>>2];f[l+4>>2]=f[x+4>>2]}else y=15}if((y|0)==15)WO(k,c);f[t>>2]=f[c+16>>2];f[a+32>>2]=f[c+20>>2];f[a+36>>2]=f[c+24>>2];f[a+40>>2]=f[c+28>>2];f[a+44>>2]=f[c+32>>2];f[w>>2]=f[q>>2]}}else{q=g+8|0;f[q>>2]=0;f[q+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=k;eM(c,g)}f[i>>2]=d;d=f[m>>2]|0;m=f[a+24>>2]|0;f[j>>2]=d+-1+m;j=AEa(e)|0;f[a+72>>2]=j;if((f[k>>2]&4095|0)==4?(d|0)==1|(m|0)==1:0){u=h;return}f[g>>2]=0;f[g+4>>2]=0;o=JV(g,77)|0;m=237289;p=o+77|0;do{b[o>>0]=b[m>>0]|0;o=o+1|0;m=m+1|0}while((o|0)<(p|0));EP(-215,g,237367,233284,3251);KV(g);u=h;return}function ala(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=60036;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0))return;dX(b);return}function bla(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=60036;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0)){GQa(a);return}dX(b);GQa(a);return}function cla(a,b,c,e,g,h){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;i=f[a+28>>2]|0;j=f[a+72>>2]|0;k=f[a+4>>2]|0;if(!g)return;a=h+-4|0;l=(h|0)<4;m=(k|0)>1;n=h&-4;o=b;b=c;c=g;while(1){c=c+-1|0;a:do if(l)p=0;else{g=f[i>>2]|0;q=f[o>>2]|0;if(m)r=0;else{s=0;while(1){t=q+(s<<2)|0;u=(X(f[t>>2]|0,g)|0)+j|0;v=(X(f[t+4>>2]|0,g)|0)+j|0;w=(X(f[t+8>>2]|0,g)|0)+j|0;x=(X(f[t+12>>2]|0,g)|0)+j|0;d[b+(s<<1)>>1]=(u+32768|0)>>>0<65536?u:(u|0)>0?32767:32768;d[b+((s|1)<<1)>>1]=(v+32768|0)>>>0<65536?v:(v|0)>0?32767:32768;d[b+((s|2)<<1)>>1]=(w+32768|0)>>>0<65536?w:(w|0)>0?32767:32768;d[b+((s|3)<<1)>>1]=(x+32768|0)>>>0<65536?x:(x|0)>0?32767:32768;s=s+4|0;if((s|0)>(a|0)){p=n;break a}}}do{s=q+(r<<2)|0;x=(X(f[s>>2]|0,g)|0)+j|0;w=(X(f[s+4>>2]|0,g)|0)+j|0;v=(X(f[s+8>>2]|0,g)|0)+j|0;u=(X(f[s+12>>2]|0,g)|0)+j|0;s=v;v=w;w=x;x=1;do{t=(f[o+(x<<2)>>2]|0)+(r<<2)|0;y=f[i+(x<<2)>>2]|0;w=(X(f[t>>2]|0,y)|0)+w|0;v=(X(f[t+4>>2]|0,y)|0)+v|0;s=(X(f[t+8>>2]|0,y)|0)+s|0;u=(X(f[t+12>>2]|0,y)|0)+u|0;x=x+1|0}while((x|0)!=(k|0));d[b+(r<<1)>>1]=(w+32768|0)>>>0<65536?w:(w|0)>0?32767:32768;d[b+((r|1)<<1)>>1]=(v+32768|0)>>>0<65536?v:(v|0)>0?32767:32768;d[b+((r|2)<<1)>>1]=(s+32768|0)>>>0<65536?s:(s|0)>0?32767:32768;d[b+((r|3)<<1)>>1]=(u+32768|0)>>>0<65536?u:(u|0)>0?32767:32768;r=r+4|0}while((r|0)<=(a|0));p=n}while(0);b:do if((p|0)<(h|0)){g=f[i>>2]|0;q=f[o>>2]|0;if(m)z=p;else{x=p;while(1){y=(X(f[q+(x<<2)>>2]|0,g)|0)+j|0;d[b+(x<<1)>>1]=(y+32768|0)>>>0<65536?y:(y|0)>0?32767:32768;x=x+1|0;if((x|0)==(h|0))break b}}do{x=(X(f[q+(z<<2)>>2]|0,g)|0)+j|0;y=1;do{x=(X(f[(f[o+(y<<2)>>2]|0)+(z<<2)>>2]|0,f[i+(y<<2)>>2]|0)|0)+x|0;y=y+1|0}while((y|0)!=(k|0));d[b+(z<<1)>>1]=(x+32768|0)>>>0<65536?x:(x|0)>0?32767:32768;z=z+1|0}while((z|0)!=(h|0))}while(0);if(!c)break;else{o=o+4|0;b=b+e|0}}return}function dla(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=60036;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0)){GQa(a);return}dX(b);GQa(a);return}function ela(a,b,c,e,g,h){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;i=f[a+4>>2]|0;j=(i|0)/2|0;k=(f[a+28>>2]|0)+(j<<2)|0;l=f[a+72>>2]|0;m=b+(j<<2)|0;b=g+-1|0;n=(g|0)==0;if(!(f[a+76>>2]&1)){if(n)return;a=h+-4|0;g=(h|0)<4;o=(i|0)<2;p=j+1|0;q=h&-4;r=((l+32768|0)>>>0<65536?l:(l|0)>0?32767:32768)&65535;s=((l+32768|0)>>>0<65536?l:(l|0)>0?32767:32768)&65535;t=c;u=m;v=b;while(1){a:do if(g)w=0;else{if(o){x=0;while(1){d[t+(x<<1)>>1]=s;d[t+((x|1)<<1)>>1]=s;d[t+((x|2)<<1)>>1]=s;d[t+((x|3)<<1)>>1]=s;x=x+4|0;if((x|0)>(a|0)){w=q;break a}}}else y=0;do{x=l;z=l;A=l;B=l;C=1;do{D=(f[u+(C<<2)>>2]|0)+(y<<2)|0;E=(f[u+(0-C<<2)>>2]|0)+(y<<2)|0;F=f[k+(C<<2)>>2]|0;B=(X((f[D>>2]|0)-(f[E>>2]|0)|0,F)|0)+B|0;A=(X((f[D+4>>2]|0)-(f[E+4>>2]|0)|0,F)|0)+A|0;z=(X((f[D+8>>2]|0)-(f[E+8>>2]|0)|0,F)|0)+z|0;x=(X((f[D+12>>2]|0)-(f[E+12>>2]|0)|0,F)|0)+x|0;C=C+1|0}while((C|0)!=(p|0));d[t+(y<<1)>>1]=(B+32768|0)>>>0<65536?B:(B|0)>0?32767:32768;d[t+((y|1)<<1)>>1]=(A+32768|0)>>>0<65536?A:(A|0)>0?32767:32768;d[t+((y|2)<<1)>>1]=(z+32768|0)>>>0<65536?z:(z|0)>0?32767:32768;d[t+((y|3)<<1)>>1]=(x+32768|0)>>>0<65536?x:(x|0)>0?32767:32768;y=y+4|0}while((y|0)<=(a|0));w=q}while(0);b:do if((w|0)<(h|0)){if(o){C=w;while(1){d[t+(C<<1)>>1]=r;C=C+1|0;if((C|0)==(h|0))break b}}else G=w;do{C=l;F=1;do{C=(X((f[(f[u+(F<<2)>>2]|0)+(G<<2)>>2]|0)-(f[(f[u+(0-F<<2)>>2]|0)+(G<<2)>>2]|0)|0,f[k+(F<<2)>>2]|0)|0)+C|0;F=F+1|0}while((F|0)!=(p|0));d[t+(G<<1)>>1]=(C+32768|0)>>>0<65536?C:(C|0)>0?32767:32768;G=G+1|0}while((G|0)!=(h|0))}while(0);if(!v)break;else{t=t+e|0;u=u+4|0;v=v+-1|0}}return}else{if(n)return;n=h+-4|0;v=(h|0)<4;u=(i|0)<2;i=j+1|0;j=h&-4;t=m;m=c;c=b;while(1){c:do if(v)H=0;else{b=f[k>>2]|0;G=f[t>>2]|0;if(u){p=0;while(1){w=G+(p<<2)|0;r=(X(f[w>>2]|0,b)|0)+l|0;o=(X(f[w+4>>2]|0,b)|0)+l|0;q=(X(f[w+8>>2]|0,b)|0)+l|0;a=(X(f[w+12>>2]|0,b)|0)+l|0;d[m+(p<<1)>>1]=(r+32768|0)>>>0<65536?r:(r|0)>0?32767:32768;d[m+((p|1)<<1)>>1]=(o+32768|0)>>>0<65536?o:(o|0)>0?32767:32768;d[m+((p|2)<<1)>>1]=(q+32768|0)>>>0<65536?q:(q|0)>0?32767:32768;d[m+((p|3)<<1)>>1]=(a+32768|0)>>>0<65536?a:(a|0)>0?32767:32768;p=p+4|0;if((p|0)>(n|0)){H=j;break c}}}else I=0;do{p=G+(I<<2)|0;a=(X(f[p>>2]|0,b)|0)+l|0;q=(X(f[p+4>>2]|0,b)|0)+l|0;o=(X(f[p+8>>2]|0,b)|0)+l|0;r=(X(f[p+12>>2]|0,b)|0)+l|0;p=o;o=q;q=a;a=1;do{w=(f[t+(a<<2)>>2]|0)+(I<<2)|0;y=(f[t+(0-a<<2)>>2]|0)+(I<<2)|0;s=f[k+(a<<2)>>2]|0;q=(X((f[y>>2]|0)+(f[w>>2]|0)|0,s)|0)+q|0;o=(X((f[y+4>>2]|0)+(f[w+4>>2]|0)|0,s)|0)+o|0;p=(X((f[y+8>>2]|0)+(f[w+8>>2]|0)|0,s)|0)+p|0;r=(X((f[y+12>>2]|0)+(f[w+12>>2]|0)|0,s)|0)+r|0;a=a+1|0}while((a|0)!=(i|0));d[m+(I<<1)>>1]=(q+32768|0)>>>0<65536?q:(q|0)>0?32767:32768;d[m+((I|1)<<1)>>1]=(o+32768|0)>>>0<65536?o:(o|0)>0?32767:32768;d[m+((I|2)<<1)>>1]=(p+32768|0)>>>0<65536?p:(p|0)>0?32767:32768;d[m+((I|3)<<1)>>1]=(r+32768|0)>>>0<65536?r:(r|0)>0?32767:32768;I=I+4|0}while((I|0)<=(n|0));H=j}while(0);d:do if((H|0)<(h|0)){b=f[k>>2]|0;G=f[t>>2]|0;if(u){a=H;while(1){C=(X(f[G+(a<<2)>>2]|0,b)|0)+l|0;d[m+(a<<1)>>1]=(C+32768|0)>>>0<65536?C:(C|0)>0?32767:32768;a=a+1|0;if((a|0)==(h|0))break d}}else J=H;do{a=(X(f[G+(J<<2)>>2]|0,b)|0)+l|0;C=1;do{a=(X((f[(f[t+(0-C<<2)>>2]|0)+(J<<2)>>2]|0)+(f[(f[t+(C<<2)>>2]|0)+(J<<2)>>2]|0)|0,f[k+(C<<2)>>2]|0)|0)+a|0;C=C+1|0}while((C|0)!=(i|0));d[m+(J<<1)>>1]=(a+32768|0)>>>0<65536?a:(a|0)>0?32767:32768;J=J+1|0}while((J|0)!=(h|0))}while(0);if(!c)break;else{t=t+4|0;m=m+e|0;c=c+-1|0}}return}}function fla(a){a=a|0;GQa(a);return}function gla(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function hla(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=60084;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0))return;dX(b);return}function ila(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=60084;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0)){GQa(a);return}dX(b);GQa(a);return}function jla(a,b,c,e,g,h){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,q=0,r=0.0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0,z=0.0,A=0.0,B=0;i=f[a+28>>2]|0;j=+p[a+72>>3];k=f[a+4>>2]|0;if(!g)return;a=h+-4|0;l=(h|0)<4;m=(k|0)>1;n=h&-4;o=b;b=c;c=g;while(1){c=c+-1|0;a:do if(l)q=0;else{r=+p[i>>3];g=f[o>>2]|0;if(m)s=0;else{t=0;while(1){u=g+(t<<3)|0;v=j+r*+p[u+8>>3];w=j+r*+p[u+16>>3];x=j+r*+p[u+24>>3];y=AEa(j+r*+p[u>>3])|0;d[b+(t<<1)>>1]=y>>>0<65536?y:(y|0)>0?65535:0;y=AEa(v)|0;d[b+((t|1)<<1)>>1]=y>>>0<65536?y:(y|0)>0?65535:0;y=AEa(w)|0;d[b+((t|2)<<1)>>1]=y>>>0<65536?y:(y|0)>0?65535:0;y=AEa(x)|0;d[b+((t|3)<<1)>>1]=y>>>0<65536?y:(y|0)>0?65535:0;t=t+4|0;if((t|0)>(a|0)){q=n;break a}}}do{t=g+(s<<3)|0;x=j+r*+p[t+24>>3];w=j+r*+p[t+16>>3];v=j+r*+p[t+8>>3];z=j+r*+p[t>>3];t=1;do{y=(f[o+(t<<2)>>2]|0)+(s<<3)|0;A=+p[i+(t<<3)>>3];z=z+A*+p[y>>3];v=v+A*+p[y+8>>3];w=w+A*+p[y+16>>3];x=x+A*+p[y+24>>3];t=t+1|0}while((t|0)!=(k|0));t=AEa(z)|0;d[b+(s<<1)>>1]=t>>>0<65536?t:(t|0)>0?65535:0;t=AEa(v)|0;d[b+((s|1)<<1)>>1]=t>>>0<65536?t:(t|0)>0?65535:0;t=AEa(w)|0;d[b+((s|2)<<1)>>1]=t>>>0<65536?t:(t|0)>0?65535:0;t=AEa(x)|0;d[b+((s|3)<<1)>>1]=t>>>0<65536?t:(t|0)>0?65535:0;s=s+4|0}while((s|0)<=(a|0));q=n}while(0);b:do if((q|0)<(h|0)){r=+p[i>>3];g=f[o>>2]|0;if(m)B=q;else{t=q;while(1){y=AEa(j+r*+p[g+(t<<3)>>3])|0;d[b+(t<<1)>>1]=y>>>0<65536?y:(y|0)>0?65535:0;t=t+1|0;if((t|0)==(h|0))break b}}do{A=j+r*+p[g+(B<<3)>>3];t=1;do{A=A+ +p[i+(t<<3)>>3]*+p[(f[o+(t<<2)>>2]|0)+(B<<3)>>3];t=t+1|0}while((t|0)!=(k|0));t=AEa(A)|0;d[b+(B<<1)>>1]=t>>>0<65536?t:(t|0)>0?65535:0;B=B+1|0}while((B|0)!=(h|0))}while(0);if(!c)break;else{o=o+4|0;b=b+e|0}}return}function kla(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=60084;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0)){GQa(a);return}dX(b);GQa(a);return}function lla(a,b,c,e,g,h){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0.0,G=0.0,H=0,I=0,J=0,K=0;i=f[a+4>>2]|0;j=(i|0)/2|0;k=(f[a+28>>2]|0)+(j<<3)|0;l=+p[a+72>>3];m=b+(j<<2)|0;b=g+-1|0;n=(g|0)==0;if(f[a+80>>2]&1|0){if(n)return;a=h+-4|0;g=(h|0)<4;o=(i|0)<2;q=j+1|0;r=h&-4;s=m;t=c;u=b;while(1){a:do if(g)v=0;else{w=+p[k>>3];x=f[s>>2]|0;if(o){y=0;while(1){z=x+(y<<3)|0;A=l+w*+p[z+8>>3];B=l+w*+p[z+16>>3];C=l+w*+p[z+24>>3];D=AEa(l+w*+p[z>>3])|0;d[t+(y<<1)>>1]=D>>>0<65536?D:(D|0)>0?65535:0;D=AEa(A)|0;d[t+((y|1)<<1)>>1]=D>>>0<65536?D:(D|0)>0?65535:0;D=AEa(B)|0;d[t+((y|2)<<1)>>1]=D>>>0<65536?D:(D|0)>0?65535:0;D=AEa(C)|0;d[t+((y|3)<<1)>>1]=D>>>0<65536?D:(D|0)>0?65535:0;y=y+4|0;if((y|0)>(a|0)){v=r;break a}}}else E=0;do{y=x+(E<<3)|0;C=l+w*+p[y+24>>3];B=l+w*+p[y+16>>3];A=l+w*+p[y+8>>3];F=l+w*+p[y>>3];y=1;do{D=(f[s+(y<<2)>>2]|0)+(E<<3)|0;z=(f[s+(0-y<<2)>>2]|0)+(E<<3)|0;G=+p[k+(y<<3)>>3];F=F+G*(+p[D>>3]+ +p[z>>3]);A=A+G*(+p[D+8>>3]+ +p[z+8>>3]);B=B+G*(+p[D+16>>3]+ +p[z+16>>3]);C=C+G*(+p[D+24>>3]+ +p[z+24>>3]);y=y+1|0}while((y|0)!=(q|0));y=AEa(F)|0;d[t+(E<<1)>>1]=y>>>0<65536?y:(y|0)>0?65535:0;y=AEa(A)|0;d[t+((E|1)<<1)>>1]=y>>>0<65536?y:(y|0)>0?65535:0;y=AEa(B)|0;d[t+((E|2)<<1)>>1]=y>>>0<65536?y:(y|0)>0?65535:0;y=AEa(C)|0;d[t+((E|3)<<1)>>1]=y>>>0<65536?y:(y|0)>0?65535:0;E=E+4|0}while((E|0)<=(a|0));v=r}while(0);b:do if((v|0)<(h|0)){w=+p[k>>3];x=f[s>>2]|0;if(o){y=v;while(1){z=AEa(l+w*+p[x+(y<<3)>>3])|0;d[t+(y<<1)>>1]=z>>>0<65536?z:(z|0)>0?65535:0;y=y+1|0;if((y|0)==(h|0))break b}}else H=v;do{G=l+w*+p[x+(H<<3)>>3];y=1;do{G=G+ +p[k+(y<<3)>>3]*(+p[(f[s+(y<<2)>>2]|0)+(H<<3)>>3]+ +p[(f[s+(0-y<<2)>>2]|0)+(H<<3)>>3]);y=y+1|0}while((y|0)!=(q|0));y=AEa(G)|0;d[t+(H<<1)>>1]=y>>>0<65536?y:(y|0)>0?65535:0;H=H+1|0}while((H|0)!=(h|0))}while(0);if(!u)break;else{s=s+4|0;t=t+e|0;u=u+-1|0}}return}if(n)return;n=h+-4|0;u=(h|0)<4;t=(i|0)<2;i=j+1|0;j=h&-4;s=c;c=m;m=b;while(1){c:do if(u)I=0;else{if(t){b=AEa(l)|0;H=(b>>>0<65536?b:(b|0)>0?65535:0)&65535;b=0;while(1){d[s+(b<<1)>>1]=H;d[s+((b|1)<<1)>>1]=H;d[s+((b|2)<<1)>>1]=H;d[s+((b|3)<<1)>>1]=H;b=b+4|0;if((b|0)>(n|0)){I=j;break c}}}else J=0;do{w=l;C=l;B=l;A=l;b=1;do{H=(f[c+(b<<2)>>2]|0)+(J<<3)|0;q=(f[c+(0-b<<2)>>2]|0)+(J<<3)|0;F=+p[k+(b<<3)>>3];A=A+F*(+p[H>>3]-+p[q>>3]);B=B+F*(+p[H+8>>3]-+p[q+8>>3]);C=C+F*(+p[H+16>>3]-+p[q+16>>3]);w=w+F*(+p[H+24>>3]-+p[q+24>>3]);b=b+1|0}while((b|0)!=(i|0));b=AEa(A)|0;d[s+(J<<1)>>1]=b>>>0<65536?b:(b|0)>0?65535:0;b=AEa(B)|0;d[s+((J|1)<<1)>>1]=b>>>0<65536?b:(b|0)>0?65535:0;b=AEa(C)|0;d[s+((J|2)<<1)>>1]=b>>>0<65536?b:(b|0)>0?65535:0;b=AEa(w)|0;d[s+((J|3)<<1)>>1]=b>>>0<65536?b:(b|0)>0?65535:0;J=J+4|0}while((J|0)<=(n|0));I=j}while(0);d:do if((I|0)<(h|0)){if(t){b=AEa(l)|0;q=(b>>>0<65536?b:(b|0)>0?65535:0)&65535;b=I;while(1){d[s+(b<<1)>>1]=q;b=b+1|0;if((b|0)==(h|0))break d}}else K=I;do{G=l;b=1;do{G=G+ +p[k+(b<<3)>>3]*(+p[(f[c+(b<<2)>>2]|0)+(K<<3)>>3]-+p[(f[c+(0-b<<2)>>2]|0)+(K<<3)>>3]);b=b+1|0}while((b|0)!=(i|0));b=AEa(G)|0;d[s+(K<<1)>>1]=b>>>0<65536?b:(b|0)>0?65535:0;K=K+1|0}while((K|0)!=(h|0))}while(0);if(!m)break;else{s=s+e|0;c=c+4|0;m=m+-1|0}}return}function mla(a){a=a|0;GQa(a);return}function nla(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(b|0)qg[f[(f[b>>2]|0)+4>>2]&1023](b);qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function ola(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=60132;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0))return;dX(b);return}function pla(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=60132;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0)){GQa(a);return}dX(b);GQa(a);return}function qla(a,b,c,e,g,h){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0.0,k=0,l=0,m=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0,z=0.0,A=0.0,B=0;i=f[a+28>>2]|0;j=+n[a+72>>2];k=f[a+4>>2]|0;if(!g)return;a=h+-4|0;l=(h|0)<4;m=(k|0)>1;o=h&-4;p=b;b=c;c=g;while(1){c=c+-1|0;a:do if(l)q=0;else{r=+n[i>>2];g=f[p>>2]|0;if(m)s=0;else{t=0;while(1){u=g+(t<<2)|0;v=j+r*+n[u+4>>2];w=j+r*+n[u+8>>2];x=j+r*+n[u+12>>2];y=HEa(j+r*+n[u>>2])|0;d[b+(t<<1)>>1]=y>>>0<65536?y:(y|0)>0?65535:0;y=HEa(v)|0;d[b+((t|1)<<1)>>1]=y>>>0<65536?y:(y|0)>0?65535:0;y=HEa(w)|0;d[b+((t|2)<<1)>>1]=y>>>0<65536?y:(y|0)>0?65535:0;y=HEa(x)|0;d[b+((t|3)<<1)>>1]=y>>>0<65536?y:(y|0)>0?65535:0;t=t+4|0;if((t|0)>(a|0)){q=o;break a}}}do{t=g+(s<<2)|0;x=j+r*+n[t+12>>2];w=j+r*+n[t+8>>2];v=j+r*+n[t+4>>2];z=j+r*+n[t>>2];t=1;do{y=(f[p+(t<<2)>>2]|0)+(s<<2)|0;A=+n[i+(t<<2)>>2];z=z+A*+n[y>>2];v=v+A*+n[y+4>>2];w=w+A*+n[y+8>>2];x=x+A*+n[y+12>>2];t=t+1|0}while((t|0)!=(k|0));t=HEa(z)|0;d[b+(s<<1)>>1]=t>>>0<65536?t:(t|0)>0?65535:0;t=HEa(v)|0;d[b+((s|1)<<1)>>1]=t>>>0<65536?t:(t|0)>0?65535:0;t=HEa(w)|0;d[b+((s|2)<<1)>>1]=t>>>0<65536?t:(t|0)>0?65535:0;t=HEa(x)|0;d[b+((s|3)<<1)>>1]=t>>>0<65536?t:(t|0)>0?65535:0;s=s+4|0}while((s|0)<=(a|0));q=o}while(0);b:do if((q|0)<(h|0)){r=+n[i>>2];g=f[p>>2]|0;if(m)B=q;else{t=q;while(1){y=HEa(j+r*+n[g+(t<<2)>>2])|0;d[b+(t<<1)>>1]=y>>>0<65536?y:(y|0)>0?65535:0;t=t+1|0;if((t|0)==(h|0))break b}}do{A=j+r*+n[g+(B<<2)>>2];t=1;do{A=A+ +n[i+(t<<2)>>2]*+n[(f[p+(t<<2)>>2]|0)+(B<<2)>>2];t=t+1|0}while((t|0)!=(k|0));t=HEa(A)|0;d[b+(B<<1)>>1]=t>>>0<65536?t:(t|0)>0?65535:0;B=B+1|0}while((B|0)!=(h|0))}while(0);if(!c)break;else{p=p+4|0;b=b+e|0}}return}function rla(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=60132;b=a+12|0;c=a+48|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+28|0;b=a+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+52>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+56>>2]|0;if((b|0)==(a+60|0)){GQa(a);return}dX(b);GQa(a);return} +function oC(a,b,c,d,e,g,h,i,j,k,l,m,n){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=+l;m=+m;n=n|0;var o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,Y=0,Z=0,_=0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0,ga=0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0.0,ta=0.0,ua=0.0,va=0.0,wa=0.0,xa=0.0,ya=0.0,za=0,Aa=0,Ba=0,Ca=0,Da=0.0,Ea=0.0,Fa=0.0,Ga=0.0,Ha=0.0,Ia=0.0,Ja=0.0,Ka=0.0,La=0.0,Ma=0.0,Na=0.0,Oa=0,Pa=0,Qa=0.0,Ra=0.0,Sa=0.0,Ta=0.0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0;o=u;u=u+2320|0;q=o+1160|0;r=o;s=f[j>>2]|0;t=f[j+4>>2]|0;j=f[k>>2]|0;v=f[k+4>>2]|0;k=q+8|0;FVa(k|0,0,1152)|0;f[q>>2]=k;w=q+4|0;f[w>>2]=72;x=b>>>4;y=d>>>4;z=g>>>4;g=i>>>4;i=(e|0)==0;A=(n&4|0)==0;B=i?0:A?z:1;C=i?0:A?1:z;if(n&1)if(b>>>0>31&(t|0)>1){f[w>>2]=t;if(t>>>0>72){z=FQa(t>>>0>268435455?-1:t<<4)|0;FVa(z|0,0,t<<4|0)|0;f[q>>2]=z;D=x;E=1;F=z;G=t;H=40}else{D=x;E=1;F=k;G=t;H=40}}else{I=x;J=1;K=t;H=5}else{I=1;J=x;K=s;H=5}if((H|0)==5)if((K|0)==1){s=r+8|0;FVa(s|0,0,1152)|0;f[r>>2]=s;z=r+4|0;f[z>>2]=72;if(b>>>0>31&(t|0)>1){f[w>>2]=v;if(v>>>0>72){t=FQa(v>>>0>268435455?-1:v<<4)|0;FVa(t|0,0,v<<4|0)|0;f[q>>2]=t;L=t}else L=k;if((v|0)>0){t=0;do{b=a+((X(t,x)|0)<<4)|0;A=L+(t<<4)|0;f[A>>2]=f[b>>2];f[A+4>>2]=f[b+4>>2];f[A+8>>2]=f[b+8>>2];f[A+12>>2]=f[b+12>>2];t=t+1|0}while((t|0)!=(v|0));M=L}else M=L}else M=a;if(d>>>0>31){f[z>>2]=j;if(j>>>0>72){d=FQa(j>>>0>268435455?-1:j<<4)|0;FVa(d|0,0,j<<4|0)|0;f[r>>2]=d;N=d}else N=s;if((j|0)>0){d=0;do{L=c+((X(d,y)|0)<<4)|0;t=N+(d<<4)|0;f[t>>2]=f[L>>2];f[t+4>>2]=f[L+4>>2];f[t+8>>2]=f[L+8>>2];f[t+12>>2]=f[L+12>>2];d=d+1|0}while((d|0)<(j|0));O=N}else O=N}else O=c;a:do if((v|0)>0){N=C<<1;d=j+-2|0;if((j|0)<2){L=(j|0)==1;t=e;x=0;b=h;while(1){P=+p[M+(x<<4)>>3]*l;Q=+p[M+(x<<4)+8>>3]*l;if(L){A=t;i=0;while(1){R=+p[O+(i<<4)>>3];S=+p[O+(i<<4)+8>>3];T=P*R-Q*S;U=Q*R+P*S;if(!A){V=U;W=T}else{V=U+ +p[A+8>>3]*m;W=T+ +p[A>>3]*m}p[b+(i<<4)>>3]=W;p[b+(i<<4)+8>>3]=V;i=i+1|0;if((i|0)==(j|0))break;else A=A+(C<<4)|0}}x=x+1|0;if((x|0)==(v|0))break a;else{t=t+(B<<4)|0;b=b+(g<<4)|0}}}b=j&-2;t=(b|0)<(j|0);x=e;L=0;A=h;i=e+(X(C,(d>>>1<<5)+32|0)|0)|0;while(1){P=+p[M+(L<<4)>>3]*l;Q=+p[M+(L<<4)+8>>3]*l;Y=x;Z=0;while(1){T=+p[O+(Z<<4)>>3];U=+p[O+(Z<<4)+8>>3];S=P*T-Q*U;R=Q*T+P*U;_=Z|1;U=+p[O+(_<<4)>>3];T=+p[O+(_<<4)+8>>3];$=P*U-Q*T;aa=Q*U+P*T;if(!Y){p[A+(Z<<4)>>3]=S;p[A+(Z<<4)+8>>3]=R;ba=aa;ca=$}else{T=R+ +p[Y+8>>3]*m;p[A+(Z<<4)>>3]=S+ +p[Y>>3]*m;p[A+(Z<<4)+8>>3]=T;ba=aa+ +p[Y+(C<<4)+8>>3]*m;ca=$+ +p[Y+(C<<4)>>3]*m}p[A+(_<<4)>>3]=ca;p[A+(_<<4)+8>>3]=ba;Z=Z+2|0;if((Z|0)>(d|0))break;else Y=Y+(N<<4)|0}if(t){Y=i;Z=b;while(1){$=+p[O+(Z<<4)>>3];aa=+p[O+(Z<<4)+8>>3];T=P*$-Q*aa;S=Q*$+P*aa;if(!Y){da=S;ea=T}else{da=S+ +p[Y+8>>3]*m;ea=T+ +p[Y>>3]*m}p[A+(Z<<4)>>3]=ea;p[A+(Z<<4)+8>>3]=da;Z=Z+1|0;if((Z|0)==(j|0))break;else Y=Y+(C<<4)|0}}L=L+1|0;if((L|0)==(v|0))break;else{x=x+(B<<4)|0;A=A+(g<<4)|0;i=i+(B<<4)|0}}}while(0);O=f[r>>2]|0;if((O|0)!=(s|0)){if(O|0)HQa(O);f[r>>2]=s;f[z>>2]=72}}else{D=I;E=J;F=0;G=K;H=40}b:do if((H|0)==40){if(n&2|0){if((v|0)<=0)break;K=(F|0)==0;J=G+-4|0;I=(G|0)<4;z=G&-4;s=K|(G|0)<1;O=(j|0)>0;M=a;i=e;A=0;x=h;while(1){if(s)fa=K?M:F;else{L=0;do{b=M+((X(L,D)|0)<<4)|0;t=F+(L<<4)|0;f[t>>2]=f[b>>2];f[t+4>>2]=f[b+4>>2];f[t+8>>2]=f[b+8>>2];f[t+12>>2]=f[b+12>>2];L=L+1|0}while((L|0)!=(G|0));fa=F}if(O){L=c;b=i;t=0;while(1){if(I){ga=0;ha=0.0;ia=0.0;ja=0.0;ka=0.0;la=0.0;ma=0.0;na=0.0;oa=0.0}else{N=0;da=0.0;ea=0.0;ba=0.0;ca=0.0;V=0.0;W=0.0;P=0.0;Q=0.0;while(1){T=+p[fa+(N<<4)>>3];S=+p[fa+(N<<4)+8>>3];aa=+p[L+(N<<4)>>3];$=+p[L+(N<<4)+8>>3];R=ca+(T*aa-S*$);U=V+(S*aa+T*$);d=N|1;$=+p[fa+(d<<4)>>3];T=+p[fa+(d<<4)+8>>3];aa=+p[L+(d<<4)>>3];S=+p[L+(d<<4)+8>>3];pa=ba+($*aa-T*S);qa=Q+(T*aa+$*S);d=N|2;S=+p[fa+(d<<4)>>3];$=+p[fa+(d<<4)+8>>3];aa=+p[L+(d<<4)>>3];T=+p[L+(d<<4)+8>>3];ra=ea+(S*aa-$*T);sa=P+($*aa+S*T);d=N|3;T=+p[fa+(d<<4)>>3];S=+p[fa+(d<<4)+8>>3];aa=+p[L+(d<<4)>>3];$=+p[L+(d<<4)+8>>3];ta=da+(T*aa-S*$);ua=W+(S*aa+T*$);N=N+4|0;if((N|0)>(J|0)){ga=z;ha=ta;ia=ra;ja=pa;ka=R;la=U;ma=ua;na=sa;oa=qa;break}else{da=ta;ea=ra;ba=pa;ca=R;V=U;W=ua;P=sa;Q=qa}}}if((ga|0)<(G|0)){N=ga;Q=ka;P=la;while(1){W=+p[fa+(N<<4)>>3];V=+p[fa+(N<<4)+8>>3];ca=+p[L+(N<<4)>>3];ba=+p[L+(N<<4)+8>>3];ea=Q+(W*ca-V*ba);da=P+(V*ca+W*ba);N=N+1|0;if((N|0)==(G|0)){va=ea;wa=da;break}else{Q=ea;P=da}}}else{va=ka;wa=la}P=(ha+(ia+(ja+va)))*l;Q=(ma+(na+(oa+wa)))*l;if(!b){xa=Q;ya=P}else{xa=Q+ +p[b+8>>3]*m;ya=P+ +p[b>>3]*m}p[x+(t<<4)>>3]=ya;p[x+(t<<4)+8>>3]=xa;t=t+1|0;if((t|0)==(j|0))break;else{L=L+(y<<4)|0;b=b+(C<<4)|0}}}A=A+1|0;if((A|0)==(v|0))break b;else{M=M+(E<<4)|0;i=i+(B<<4)|0;x=x+(g<<4)|0}}}x=j<<4;if(x>>>0<1601){if((v|0)<=0)break;i=(F|0)==0;M=j+-4|0;A=(j|0)<4;z=(G|0)>0;J=C<<2;I=C<<1;O=C*3|0;K=j&-4;s=i|(G|0)<1;P=l*0.0;b=a;L=e;t=0;N=h;d=e+(X((M>>>2<<6)+64|0,C)|0)|0;while(1){if(s)za=i?b:F;else{Y=0;do{Z=b+((X(Y,D)|0)<<4)|0;_=F+(Y<<4)|0;f[_>>2]=f[Z>>2];f[_+4>>2]=f[Z+4>>2];f[_+8>>2]=f[Z+8>>2];f[_+12>>2]=f[Z+12>>2];Y=Y+1|0}while((Y|0)!=(G|0));za=F}if(A){Aa=L;Ba=0}else{Y=L;Z=0;while(1){if(z){_=c+(Z<<4)|0;Ca=0;Q=0.0;da=0.0;ea=0.0;ba=0.0;W=0.0;ca=0.0;V=0.0;qa=0.0;while(1){sa=+p[za+(Ca<<4)>>3];ua=+p[za+(Ca<<4)+8>>3];U=+p[_>>3];R=+p[_+8>>3];pa=ea+(sa*U-ua*R);ra=qa+(ua*U+sa*R);R=+p[_+16>>3];U=+p[_+24>>3];ta=da+(sa*R-ua*U);$=V+(ua*R+sa*U);U=+p[_+32>>3];R=+p[_+40>>3];T=Q+(sa*U-ua*R);aa=ca+(ua*U+sa*R);R=+p[_+48>>3];U=+p[_+56>>3];S=ba+(sa*R-ua*U);Da=W+(ua*R+sa*U);Ca=Ca+1|0;if((Ca|0)==(G|0)){Ea=T;Fa=ta;Ga=pa;Ha=S;Ia=Da;Ja=aa;Ka=$;La=ra;break}else{_=_+(y<<4)|0;Q=T;da=ta;ea=pa;ba=S;W=Da;ca=aa;V=$;qa=ra}}}else{Ea=0.0;Fa=0.0;Ga=0.0;Ha=0.0;Ia=0.0;Ja=0.0;Ka=0.0;La=0.0}qa=Ga*l;V=La*l;if(!Y){p[N+(Z<<4)>>3]=qa;p[N+(Z<<4)+8>>3]=V;_=Z|1;p[N+(_<<4)>>3]=Fa*l;p[N+(_<<4)+8>>3]=Ka*l;_=Z|2;p[N+(_<<4)>>3]=Ea*l;p[N+(_<<4)+8>>3]=Ja*l;Ma=Ia*l;Na=Ha*l}else{ca=V+ +p[Y+8>>3]*m;p[N+(Z<<4)>>3]=qa+ +p[Y>>3]*m;p[N+(Z<<4)+8>>3]=ca;ca=Ka*l+ +p[Y+(C<<4)+8>>3]*m;_=Z|1;p[N+(_<<4)>>3]=Fa*l+ +p[Y+(C<<4)>>3]*m;p[N+(_<<4)+8>>3]=ca;ca=Ja*l+ +p[Y+(I<<4)+8>>3]*m;_=Z|2;p[N+(_<<4)>>3]=Ea*l+ +p[Y+(I<<4)>>3]*m;p[N+(_<<4)+8>>3]=ca;Ma=Ia*l+ +p[Y+(O<<4)+8>>3]*m;Na=Ha*l+ +p[Y+(O<<4)>>3]*m}_=Z|3;p[N+(_<<4)>>3]=Na;p[N+(_<<4)+8>>3]=Ma;Z=Z+4|0;if((Z|0)>(M|0)){Aa=d;Ba=K;break}else Y=Y+(J<<4)|0}}c:do if((Ba|0)<(j|0)){if(z){Oa=Aa;Pa=Ba}else{Y=Aa;Z=Ba;while(1){if(!Y){Qa=P;Ra=P}else{Qa=P+ +p[Y+8>>3]*m;Ra=P+ +p[Y>>3]*m}p[N+(Z<<4)>>3]=Ra;p[N+(Z<<4)+8>>3]=Qa;Z=Z+1|0;if((Z|0)==(j|0))break c;else Y=Y+(C<<4)|0}}while(1){Y=c+(Pa<<4)|0;Z=0;ca=0.0;qa=0.0;while(1){V=+p[za+(Z<<4)>>3];W=+p[za+(Z<<4)+8>>3];ba=+p[Y>>3];ea=+p[Y+8>>3];ca=ca+(V*ba-W*ea);qa=qa+(W*ba+V*ea);Z=Z+1|0;if((Z|0)==(G|0))break;else Y=Y+(y<<4)|0}ea=ca*l;V=qa*l;if(!Oa){Sa=V;Ta=ea}else{Sa=V+ +p[Oa+8>>3]*m;Ta=ea+ +p[Oa>>3]*m}p[N+(Pa<<4)>>3]=Ta;p[N+(Pa<<4)+8>>3]=Sa;Pa=Pa+1|0;if((Pa|0)==(j|0))break;else Oa=Oa+(C<<4)|0}}while(0);t=t+1|0;if((t|0)==(v|0))break b;else{b=b+(E<<4)|0;L=L+(B<<4)|0;N=N+(g<<4)|0;d=d+(B<<4)|0}}}d=r+8|0;FVa(d|0,0,1152)|0;f[r>>2]=d;N=r+4|0;f[N>>2]=j;if(j>>>0>72){L=FQa(j>>>0>268435455?-1:j<<4)|0;FVa(L|0,0,x|0)|0;f[r>>2]=L;Ua=L}else Ua=d;if((v|0)>0){L=(F|0)==0;b=(j|0)>0;t=(G|0)>0;z=j+-4|0;J=(j|0)<4;K=j&-4;M=L|(G|0)<1;O=a;I=e;A=0;i=h;while(1){if(M)Va=L?O:F;else{s=0;do{Y=O+((X(s,D)|0)<<4)|0;Z=F+(s<<4)|0;f[Z>>2]=f[Y>>2];f[Z+4>>2]=f[Y+4>>2];f[Z+8>>2]=f[Y+8>>2];f[Z+12>>2]=f[Y+12>>2];s=s+1|0}while((s|0)!=(G|0));Va=F}if(b)FVa(Ua|0,0,x|0)|0;if(t){s=c;Y=0;while(1){P=+p[Va+(Y<<4)>>3];ea=+p[Va+(Y<<4)+8>>3];if(J)Wa=0;else{Z=0;do{V=+p[s+(Z<<4)>>3];ba=+p[s+(Z<<4)+8>>3];_=Ua+(Z<<4)|0;Ca=Ua+(Z<<4)+8|0;W=+p[Ca>>3]+(ea*V+P*ba);Xa=Z|1;da=+p[s+(Xa<<4)>>3];Q=+p[s+(Xa<<4)+8>>3];Ya=Ua+(Xa<<4)|0;Za=Ua+(Xa<<4)+8|0;ra=+p[Ya>>3]+(P*da-ea*Q);$=+p[Za>>3]+(ea*da+P*Q);p[_>>3]=+p[_>>3]+(P*V-ea*ba);p[Ca>>3]=W;p[Ya>>3]=ra;p[Za>>3]=$;Za=Z|2;$=+p[s+(Za<<4)>>3];ra=+p[s+(Za<<4)+8>>3];Ya=Ua+(Za<<4)|0;Ca=Ua+(Za<<4)+8|0;W=+p[Ca>>3]+(ea*$+P*ra);Za=Z|3;ba=+p[s+(Za<<4)>>3];V=+p[s+(Za<<4)+8>>3];_=Ua+(Za<<4)|0;Xa=Ua+(Za<<4)+8|0;Q=+p[_>>3]+(P*ba-ea*V);da=+p[Xa>>3]+(ea*ba+P*V);p[Ya>>3]=+p[Ya>>3]+(P*$-ea*ra);p[Ca>>3]=W;p[_>>3]=Q;p[Xa>>3]=da;Z=Z+4|0}while((Z|0)<=(z|0));Wa=K}if((Wa|0)<(j|0)){Z=Wa;do{da=+p[s+(Z<<4)>>3];Q=+p[s+(Z<<4)+8>>3];Xa=Ua+(Z<<4)|0;p[Xa>>3]=+p[Xa>>3]+(P*da-ea*Q);Xa=Ua+(Z<<4)+8|0;p[Xa>>3]=ea*da+P*Q+ +p[Xa>>3];Z=Z+1|0}while((Z|0)!=(j|0))}Y=Y+1|0;if((Y|0)==(G|0))break;else s=s+(y<<4)|0}}if(!I){if(b){s=0;do{P=+p[Ua+(s<<4)+8>>3]*l;p[i+(s<<4)>>3]=+p[Ua+(s<<4)>>3]*l;p[i+(s<<4)+8>>3]=P;s=s+1|0}while((s|0)!=(j|0))}}else if(b){s=0;Y=I;while(1){P=+p[Ua+(s<<4)+8>>3]*l+ +p[Y+8>>3]*m;p[i+(s<<4)>>3]=+p[Ua+(s<<4)>>3]*l+ +p[Y>>3]*m;p[i+(s<<4)+8>>3]=P;s=s+1|0;if((s|0)==(j|0))break;else Y=Y+(C<<4)|0}}A=A+1|0;if((A|0)==(v|0))break;else{O=O+(E<<4)|0;I=I+(B<<4)|0;i=i+(g<<4)|0}}_a=f[r>>2]|0}else _a=Ua;if((_a|0)!=(d|0)){if(_a|0)HQa(_a);f[r>>2]=d;f[N>>2]=72}}while(0);r=f[q>>2]|0;if((r|0)==(k|0)){u=o;return}if(r|0)HQa(r);f[q>>2]=k;f[w>>2]=72;u=o;return}function pC(a,b,c,d,e,g,h,i,j,k,l,m,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=+l;m=+m;o=o|0;var q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0.0,W=0,Y=0.0,Z=0,_=0.0,$=0.0,aa=0,ba=0.0,ca=0.0,da=0,ea=0.0,fa=0.0,ga=0,ha=0,ia=0,ja=0.0,ka=0.0,la=0,ma=0,na=0,oa=0,pa=0,qa=0.0,ra=0.0,sa=0.0,ta=0,ua=0,va=0.0,wa=0.0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;q=u;u=u+2160|0;r=q+1096|0;s=q;t=f[j>>2]|0;v=f[j+4>>2]|0;j=f[k>>2]|0;w=f[k+4>>2]|0;k=r+8|0;f[r>>2]=k;x=r+4|0;f[x>>2]=264;y=b>>>2;z=d>>>2;A=g>>>2;g=i>>>2;i=(e|0)==0;B=(o&4|0)==0;C=i?0:B?A:1;D=i?0:B?1:A;if(o&1)if(b>>>0>7&(v|0)>1){f[x>>2]=v;if(v>>>0>264){A=FQa(v>>>0>1073741823?-1:v<<2)|0;f[r>>2]=A;E=y;F=1;G=A;H=v;I=43}else{E=y;F=1;G=k;H=v;I=43}}else{J=y;K=1;L=v;I=5}else{J=1;K=y;L=t;I=5}if((I|0)==5)if((L|0)==1){t=s+8|0;f[s>>2]=t;A=s+4|0;f[A>>2]=264;if(b>>>0>7&(v|0)>1){f[x>>2]=w;if(w>>>0>264){v=FQa(w>>>0>1073741823?-1:w<<2)|0;f[r>>2]=v;M=v}else M=k;if((w|0)>0){v=0;do{b=a+((X(v,y)|0)<<2)|0;f[M+(v<<2)>>2]=f[b>>2];v=v+1|0}while((v|0)!=(w|0));N=M}else N=M}else N=a;if(d>>>0>7){f[A>>2]=j;if(j>>>0>264){d=FQa(j>>>0>1073741823?-1:j<<2)|0;f[s>>2]=d;O=d}else O=t;if((j|0)>0){d=0;do{M=c+((X(d,z)|0)<<2)|0;f[O+(d<<2)>>2]=f[M>>2];d=d+1|0}while((d|0)!=(j|0));P=O;Q=O}else{P=O;Q=O}}else{P=c;Q=t}a:do if((w|0)>0){O=D<<1;if((j|0)<2){if((j|0)==1){R=h;S=0;T=e}else break;while(1){U=+n[N+(S<<2)>>2]*l*+n[P>>2];if(!T)V=U;else V=U+ +n[T>>2]*m;n[R>>2]=V;S=S+1|0;if((S|0)==(w|0))break a;else{R=R+(g<<2)|0;T=T+(C<<2)|0}}}d=j+-2|0;M=(d|0)>1?d:1;v=X(M>>>1,O)|0;y=(M&2147483646)+2|0;if((y|0)>=(j|0)){M=h;b=0;B=e;while(1){U=+n[N+(b<<2)>>2]*l;i=B;W=0;while(1){Y=U*+n[P+(W<<2)>>2];Z=W|1;_=U*+n[P+(Z<<2)>>2];if(!i){n[M+(W<<2)>>2]=Y;$=_}else{n[M+(W<<2)>>2]=Y+ +n[i>>2]*m;$=_+ +n[i+(D<<2)>>2]*m}n[M+(Z<<2)>>2]=$;W=W+2|0;if((W|0)>(d|0))break;else i=i+(O<<2)|0}b=b+1|0;if((b|0)==(w|0))break a;else{M=M+(g<<2)|0;B=B+(C<<2)|0}}}B=h;M=0;b=e;i=e+(O<<2)|0;while(1){U=+n[N+(M<<2)>>2]*l;W=b;Z=0;while(1){_=U*+n[P+(Z<<2)>>2];aa=Z|1;Y=U*+n[P+(aa<<2)>>2];if(!W){n[B+(Z<<2)>>2]=_;ba=Y}else{n[B+(Z<<2)>>2]=_+ +n[W>>2]*m;ba=Y+ +n[W+(D<<2)>>2]*m}n[B+(aa<<2)>>2]=ba;Z=Z+2|0;if((Z|0)>(d|0))break;else W=W+(O<<2)|0}W=i+(v<<2)|0;Z=y;while(1){Y=U*+n[P+(Z<<2)>>2];if(!W)ca=Y;else ca=Y+ +n[W>>2]*m;n[B+(Z<<2)>>2]=ca;Z=Z+1|0;if((Z|0)==(j|0))break;else W=W+(D<<2)|0}M=M+1|0;if((M|0)==(w|0))break;else{B=B+(g<<2)|0;b=b+(C<<2)|0;i=i+(C<<2)|0}}}while(0);if((Q|0)!=(t|0)){HQa(Q);f[s>>2]=t;f[A>>2]=264}}else{E=J;F=K;G=0;H=L;I=43}b:do if((I|0)==43){if(o&2|0){if((w|0)<=0)break;L=(G|0)==0;K=(j|0)>0;J=H+-4|0;A=(H|0)<4;t=H&-4;Q=L|(H|0)<1;P=(H|0)>0;N=(t|0)<(H|0);ca=l*0.0;T=a;R=h;S=0;i=e;while(1){if(Q)da=L?T:G;else{b=0;do{B=T+((X(b,E)|0)<<2)|0;f[G+(b<<2)>>2]=f[B>>2];b=b+1|0}while((b|0)!=(H|0));da=G}c:do if(K){if(!A){b=c;B=i;M=0;while(1){ba=0.0;$=0.0;V=0.0;U=0.0;y=0;do{U=U+ +n[da+(y<<2)>>2]*+n[b+(y<<2)>>2];v=y|1;V=V+ +n[da+(v<<2)>>2]*+n[b+(v<<2)>>2];v=y|2;$=$+ +n[da+(v<<2)>>2]*+n[b+(v<<2)>>2];v=y|3;ba=ba+ +n[da+(v<<2)>>2]*+n[b+(v<<2)>>2];y=y+4|0}while((y|0)<=(J|0));if(N){Y=U;y=t;while(1){_=Y+ +n[da+(y<<2)>>2]*+n[b+(y<<2)>>2];y=y+1|0;if((y|0)==(H|0)){ea=_;break}else Y=_}}else ea=U;Y=(ba+($+(V+ea)))*l;if(!B)fa=Y;else fa=Y+ +n[B>>2]*m;n[R+(M<<2)>>2]=fa;M=M+1|0;if((M|0)==(j|0))break c;else{b=b+(z<<2)|0;B=B+(D<<2)|0}}}if(P){ga=c;ha=i;ia=0}else{B=i;b=0;while(1){if(!B)ja=ca;else ja=ca+ +n[B>>2]*m;n[R+(b<<2)>>2]=ja;b=b+1|0;if((b|0)==(j|0))break c;else B=B+(D<<2)|0}}while(1){Y=0.0;B=0;do{Y=Y+ +n[da+(B<<2)>>2]*+n[ga+(B<<2)>>2];B=B+1|0}while((B|0)!=(H|0));V=(Y+0.0)*l;if(!ha)ka=V;else ka=V+ +n[ha>>2]*m;n[R+(ia<<2)>>2]=ka;ia=ia+1|0;if((ia|0)==(j|0))break;else{ga=ga+(z<<2)|0;ha=ha+(D<<2)|0}}}while(0);S=S+1|0;if((S|0)==(w|0))break b;else{T=T+(F<<2)|0;R=R+(g<<2)|0;i=i+(C<<2)|0}}}if(j<<2>>>0<1601){if((w|0)<=0)break;i=(G|0)==0;R=j+-4|0;T=(j|0)<4;S=(H|0)>0;P=D<<2;t=D<<1;N=D*3|0;J=j&-4;A=i|(H|0)<1;ca=l*0.0;V=ca;K=a;L=h;Q=0;B=e;b=e+(X((R>>>2<<4)+16|0,D)|0)|0;while(1){if(A)la=i?K:G;else{M=0;do{y=K+((X(M,E)|0)<<2)|0;f[G+(M<<2)>>2]=f[y>>2];M=M+1|0}while((M|0)!=(H|0));la=G}d:do if(T){ma=B;na=0}else{if(S){oa=B;pa=0}else{M=B;y=0;while(1){if(!M){n[L+(y<<2)>>2]=V;n[L+((y|1)<<2)>>2]=V;n[L+((y|2)<<2)>>2]=V;qa=ca}else{n[L+(y<<2)>>2]=ca+ +n[M>>2]*m;n[L+((y|1)<<2)>>2]=ca+ +n[M+(D<<2)>>2]*m;n[L+((y|2)<<2)>>2]=ca+ +n[M+(t<<2)>>2]*m;qa=ca+ +n[M+(N<<2)>>2]*m}n[L+((y|3)<<2)>>2]=qa;y=y+4|0;if((y|0)>(R|0)){ma=b;na=J;break d}else M=M+(P<<2)|0}}while(1){$=0.0;ba=0.0;U=0.0;_=0.0;M=c+(pa<<2)|0;y=0;while(1){ra=+n[la+(y<<2)>>2];_=_+ra*+n[M>>2];U=U+ra*+n[M+4>>2];ba=ba+ra*+n[M+8>>2];$=$+ra*+n[M+12>>2];y=y+1|0;if((y|0)==(H|0))break;else M=M+(z<<2)|0}Y=_*l;if(!oa){n[L+(pa<<2)>>2]=Y;n[L+((pa|1)<<2)>>2]=U*l;n[L+((pa|2)<<2)>>2]=ba*l;sa=$*l}else{n[L+(pa<<2)>>2]=Y+ +n[oa>>2]*m;n[L+((pa|1)<<2)>>2]=U*l+ +n[oa+(D<<2)>>2]*m;n[L+((pa|2)<<2)>>2]=ba*l+ +n[oa+(t<<2)>>2]*m;sa=$*l+ +n[oa+(N<<2)>>2]*m}n[L+((pa|3)<<2)>>2]=sa;pa=pa+4|0;if((pa|0)>(R|0)){ma=b;na=J;break}else oa=oa+(P<<2)|0}}while(0);e:do if((na|0)<(j|0)){if(S){ta=ma;ua=na}else{M=ma;y=na;while(1){if(!M)va=ca;else va=ca+ +n[M>>2]*m;n[L+(y<<2)>>2]=va;y=y+1|0;if((y|0)==(j|0))break e;else M=M+(D<<2)|0}}while(1){Y=0.0;M=c+(ua<<2)|0;y=0;while(1){Y=Y+ +n[la+(y<<2)>>2]*+n[M>>2];y=y+1|0;if((y|0)==(H|0))break;else M=M+(z<<2)|0}$=Y*l;if(!ta)wa=$;else wa=$+ +n[ta>>2]*m;n[L+(ua<<2)>>2]=wa;ua=ua+1|0;if((ua|0)==(j|0))break;else ta=ta+(D<<2)|0}}while(0);Q=Q+1|0;if((Q|0)==(w|0))break b;else{K=K+(F<<2)|0;L=L+(g<<2)|0;B=B+(C<<2)|0;b=b+(C<<2)|0}}}b=s+8|0;f[s>>2]=b;B=s+4|0;f[B>>2]=j;if(j>>>0>136){L=FQa(j>>>0>536870911?-1:j<<3)|0;f[s>>2]=L;xa=L}else xa=b;if((w|0)>0){L=(G|0)==0;K=(j|0)>0;Q=(H|0)>0;S=j+-4|0;P=(j|0)<4;J=j<<3;R=j&-4;N=L|(H|0)<1;t=(R|0)<(j|0);T=a;i=h;A=0;M=e;while(1){if(N)ya=L?T:G;else{y=0;do{v=T+((X(y,E)|0)<<2)|0;f[G+(y<<2)>>2]=f[v>>2];y=y+1|0}while((y|0)!=(H|0));ya=G}if(K)FVa(xa|0,0,J|0)|0;f:do if(Q){if(P){if(K){za=c;Aa=0}else break;while(1){ca=+n[ya+(Aa<<2)>>2];y=0;do{v=xa+(y<<3)|0;p[v>>3]=+p[v>>3]+ca*+n[za+(y<<2)>>2];y=y+1|0}while((y|0)!=(j|0));Aa=Aa+1|0;if((Aa|0)==(H|0))break f;else za=za+(z<<2)|0}}if(t){Ba=c;Ca=0}else{y=c;v=0;while(1){ca=+n[ya+(v<<2)>>2];O=0;do{d=xa+(O<<3)|0;W=O|1;Z=xa+(W<<3)|0;Y=+p[Z>>3]+ca*+n[y+(W<<2)>>2];p[d>>3]=+p[d>>3]+ca*+n[y+(O<<2)>>2];p[Z>>3]=Y;Z=O|2;d=xa+(Z<<3)|0;W=O|3;aa=xa+(W<<3)|0;Y=+p[aa>>3]+ca*+n[y+(W<<2)>>2];p[d>>3]=+p[d>>3]+ca*+n[y+(Z<<2)>>2];p[aa>>3]=Y;O=O+4|0}while((O|0)<=(S|0));v=v+1|0;if((v|0)==(H|0))break f;else y=y+(z<<2)|0}}while(1){ca=+n[ya+(Ca<<2)>>2];y=0;do{v=xa+(y<<3)|0;O=y|1;aa=xa+(O<<3)|0;Y=+p[aa>>3]+ca*+n[Ba+(O<<2)>>2];p[v>>3]=+p[v>>3]+ca*+n[Ba+(y<<2)>>2];p[aa>>3]=Y;aa=y|2;v=xa+(aa<<3)|0;O=y|3;Z=xa+(O<<3)|0;Y=+p[Z>>3]+ca*+n[Ba+(O<<2)>>2];p[v>>3]=+p[v>>3]+ca*+n[Ba+(aa<<2)>>2];p[Z>>3]=Y;y=y+4|0}while((y|0)<=(S|0));Da=R;do{y=xa+(Da<<3)|0;p[y>>3]=+p[y>>3]+ca*+n[Ba+(Da<<2)>>2];Da=Da+1|0}while((Da|0)!=(j|0));Ca=Ca+1|0;if((Ca|0)==(H|0))break;else Ba=Ba+(z<<2)|0}}while(0);if(!M){if(K){y=0;do{n[i+(y<<2)>>2]=+p[xa+(y<<3)>>3]*l;y=y+1|0}while((y|0)!=(j|0))}}else if(K){y=0;Z=M;while(1){n[i+(y<<2)>>2]=+p[xa+(y<<3)>>3]*l+ +n[Z>>2]*m;y=y+1|0;if((y|0)==(j|0))break;else Z=Z+(D<<2)|0}}A=A+1|0;if((A|0)==(w|0))break;else{T=T+(F<<2)|0;i=i+(g<<2)|0;M=M+(C<<2)|0}}}if((xa|0)!=(b|0)){HQa(xa);f[s>>2]=b;f[B>>2]=136}}while(0);s=f[r>>2]|0;if((s|0)==(k|0)){u=q;return}if(s|0)HQa(s);f[r>>2]=k;f[x>>2]=264;u=q;return}function qC(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0,S=0,T=0,U=0,V=0.0,W=0.0,Y=0.0,Z=0,_=0.0,$=0,aa=0,ba=0,ca=0,da=0.0,ea=0,fa=0,ga=0.0,ha=0.0,ia=0,ja=0,ka=0.0;k=u;u=u+1104|0;l=k;m=f[h>>2]|0;n=f[h+4>>2]|0;h=f[i>>2]|0;o=f[i+4>>2]|0;i=l+8|0;f[l>>2]=i;q=l+4|0;f[q>>2]=136;r=j&16;s=b>>>3;b=d>>>3;d=g>>>3;if(j&1){f[q>>2]=n;if(n>>>0>136){g=FQa(n>>>0>536870911?-1:n<<3)|0;f[l>>2]=g;t=s;v=1;w=g;x=n;y=g}else{t=s;v=1;w=i;x=n;y=i}}else{t=1;v=s;w=0;x=m;y=i}m=(o|0)>0;if(!(j&2)){if(m){j=(w|0)==0;s=h+-4|0;n=(h|0)<4;g=(r|0)==0;z=(x|0)>0;A=h&-4;B=(x|0)<1|j;C=(s>>>2<<5)+32|0;D=e;E=0;F=a;while(1){G=e+((X(d,E)|0)<<3)|0;if(B)H=j?F:w;else{I=0;do{J=F+((X(I,t)|0)<<3)|0;p[w+(I<<3)>>3]=+p[J>>3];I=I+1|0}while((I|0)!=(x|0));H=w}a:do if(!n)if(g){if(z)K=0;else{FVa(G|0,0,C|0)|0;L=A;break}do{I=c+(K<<3)|0;M=0.0;N=0.0;O=0.0;P=0.0;J=0;while(1){Q=+p[H+(J<<3)>>3];P=P+Q*+p[I>>3];O=O+Q*+p[I+8>>3];N=N+Q*+p[I+16>>3];M=M+Q*+p[I+24>>3];J=J+1|0;if((J|0)==(x|0))break;else I=I+(b<<3)|0}p[D+(K<<3)>>3]=P;p[D+((K|1)<<3)>>3]=O;p[D+((K|2)<<3)>>3]=N;p[D+((K|3)<<3)>>3]=M;K=K+4|0}while((K|0)<=(s|0));L=A}else{if(z)R=0;else{I=0;while(1){I=I+4|0;if((I|0)>(s|0)){L=A;break a}}}do{I=D+((R|3)<<3)|0;J=D+((R|2)<<3)|0;S=D+((R|1)<<3)|0;T=D+(R<<3)|0;U=c+(R<<3)|0;Q=+p[I>>3];V=+p[J>>3];W=+p[S>>3];Y=+p[T>>3];Z=0;while(1){_=+p[H+(Z<<3)>>3];Y=Y+_*+p[U>>3];W=W+_*+p[U+8>>3];V=V+_*+p[U+16>>3];Q=Q+_*+p[U+24>>3];Z=Z+1|0;if((Z|0)==(x|0))break;else U=U+(b<<3)|0}p[T>>3]=Y;p[S>>3]=W;p[J>>3]=V;p[I>>3]=Q;R=R+4|0}while((R|0)<=(s|0));L=A}else L=0;while(0);b:do if((h|0)>(L|0)){if(!g){if(z)$=L;else break;while(1){U=D+($<<3)|0;Z=c+($<<3)|0;M=+p[U>>3];aa=0;while(1){M=M+ +p[H+(aa<<3)>>3]*+p[Z>>3];aa=aa+1|0;if((aa|0)==(x|0))break;else Z=Z+(b<<3)|0}p[U>>3]=M;$=$+1|0;if(($|0)==(h|0))break b}}if(z)ba=L;else{FVa(G+(L<<3)|0,0,h-L<<3|0)|0;break}do{Z=c+(ba<<3)|0;Q=0.0;aa=0;while(1){Q=Q+ +p[H+(aa<<3)>>3]*+p[Z>>3];aa=aa+1|0;if((aa|0)==(x|0))break;else Z=Z+(b<<3)|0}p[D+(ba<<3)>>3]=Q;ba=ba+1|0}while((ba|0)!=(h|0))}while(0);E=E+1|0;if((E|0)==(o|0))break;else{D=D+(d<<3)|0;F=F+(v<<3)|0}}}}else if(m){m=(w|0)==0;F=(h|0)>0;D=(r|0)==0;r=x+-2|0;E=(x|0)<2;ba=x&-2;H=(x|0)<1|m;L=(x|0)>0;z=(ba|0)<(x|0);$=(x|0)>0;g=(ba|0)<(x|0);A=e;e=0;s=a;while(1){if(H)ca=m?s:w;else{a=0;do{R=s+((X(a,t)|0)<<3)|0;p[w+(a<<3)>>3]=+p[R>>3];a=a+1|0}while((a|0)!=(x|0));ca=w}c:do if(F)if(D){if(E){a=c;R=0;while(1){if(L){M=0.0;K=0;while(1){V=M+ +p[ca+(K<<3)>>3]*+p[a+(K<<3)>>3];K=K+1|0;if((K|0)==(x|0)){da=V;break}else M=V}}else da=0.0;p[A+(R<<3)>>3]=da+0.0;R=R+1|0;if((R|0)==(h|0))break c;else a=a+(b<<3)|0}}else{ea=c;fa=0}while(1){M=0.0;Q=0.0;a=0;do{Q=Q+ +p[ca+(a<<3)>>3]*+p[ea+(a<<3)>>3];R=a|1;M=M+ +p[ca+(R<<3)>>3]*+p[ea+(R<<3)>>3];a=a+2|0}while((a|0)<=(r|0));if(z){V=Q;a=ba;while(1){W=V+ +p[ca+(a<<3)>>3]*+p[ea+(a<<3)>>3];a=a+1|0;if((a|0)==(x|0)){ga=W;break}else V=W}}else ga=Q;p[A+(fa<<3)>>3]=M+ga;fa=fa+1|0;if((fa|0)==(h|0))break;else ea=ea+(b<<3)|0}}else{if(E){a=c;R=0;while(1){K=A+(R<<3)|0;V=+p[K>>3];if($){W=V;C=0;while(1){Y=W+ +p[ca+(C<<3)>>3]*+p[a+(C<<3)>>3];C=C+1|0;if((C|0)==(x|0)){ha=Y;break}else W=Y}}else ha=V;p[K>>3]=ha+0.0;R=R+1|0;if((R|0)==(h|0))break c;else a=a+(b<<3)|0}}else{ia=c;ja=0}while(1){a=A+(ja<<3)|0;W=0.0;M=+p[a>>3];R=0;do{M=M+ +p[ca+(R<<3)>>3]*+p[ia+(R<<3)>>3];C=R|1;W=W+ +p[ca+(C<<3)>>3]*+p[ia+(C<<3)>>3];R=R+2|0}while((R|0)<=(r|0));if(g){V=M;R=ba;while(1){Q=V+ +p[ca+(R<<3)>>3]*+p[ia+(R<<3)>>3];R=R+1|0;if((R|0)==(x|0)){ka=Q;break}else V=Q}}else ka=M;p[a>>3]=W+ka;ja=ja+1|0;if((ja|0)==(h|0))break;else ia=ia+(b<<3)|0}}while(0);e=e+1|0;if((e|0)==(o|0))break;else{A=A+(d<<3)|0;s=s+(v<<3)|0}}}if((y|0)==(i|0)){u=k;return}HQa(y);f[l>>2]=i;f[q>>2]=136;u=k;return}function rC(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0.0,ta=0.0,ua=0.0,va=0,wa=0,xa=0,ya=0.0,za=0.0,Aa=0,Ba=0,Ca=0.0,Da=0.0,Ea=0.0,Fa=0.0,Ga=0,Ha=0,Ia=0.0,Ja=0.0;k=u;u=u+1104|0;l=k;m=f[h>>2]|0;o=f[h+4>>2]|0;h=f[i>>2]|0;q=f[i+4>>2]|0;i=l+8|0;FVa(i|0,0,1088)|0;f[l>>2]=i;r=l+4|0;f[r>>2]=136;s=j&16;t=b>>>3;b=d>>>3;d=g>>>4;if(j&1){f[r>>2]=o;if(o>>>0>136){g=FQa(o>>>0>536870911?-1:o<<3)|0;FVa(g|0,0,o<<3|0)|0;f[l>>2]=g;v=t;w=1;x=g;y=o}else{v=t;w=1;x=i;y=o}}else{v=1;w=t;x=0;y=m}m=(q|0)>0;if(!(j&2)){if(m){j=(x|0)==0;t=h+-4|0;o=(h|0)<4;g=(s|0)==0;z=(y|0)>0;A=h&-4;B=(y|0)<1|j;C=a;D=e;E=0;while(1){F=e+((X(d,E)|0)<<4)|0;if(B)G=j?C:x;else{H=0;do{I=C+((X(H,v)|0)<<3)|0;J=f[I+4>>2]|0;K=x+(H<<3)|0;f[K>>2]=f[I>>2];f[K+4>>2]=J;H=H+1|0}while((H|0)!=(y|0));G=x}if(o)L=0;else{H=0;do{if(g){M=0.0;N=0.0;O=0.0;P=0.0;Q=0.0;R=0.0;S=0.0;T=0.0}else{J=H|1;K=H|2;I=H|3;M=+p[D+(K<<4)>>3];N=+p[D+(J<<4)>>3];O=+p[D+(H<<4)>>3];P=+p[D+(I<<4)>>3];Q=+p[D+(I<<4)+8>>3];R=+p[D+(K<<4)+8>>3];S=+p[D+(J<<4)+8>>3];T=+p[D+(H<<4)+8>>3]}if(z){J=c+(H<<3)|0;K=0;U=M;V=N;W=O;Y=P;Z=Q;_=R;$=S;aa=T;while(1){ba=+n[G+(K<<3)>>2];ca=+n[G+(K<<3)+4>>2];da=+n[J>>2];ea=+n[J+4>>2];fa=W+(ba*da-ca*ea);ga=aa+(ca*da+ba*ea);ea=+n[J+8>>2];da=+n[J+12>>2];ha=V+(ba*ea-ca*da);ia=$+(ca*ea+ba*da);da=+n[J+16>>2];ea=+n[J+20>>2];ja=U+(ba*da-ca*ea);ka=_+(ca*da+ba*ea);ea=+n[J+24>>2];da=+n[J+28>>2];la=Y+(ba*ea-ca*da);ma=Z+(ca*ea+ba*da);K=K+1|0;if((K|0)==(y|0)){na=ja;oa=ha;pa=fa;qa=la;ra=ma;sa=ka;ta=ia;ua=ga;break}else{J=J+(b<<3)|0;U=ja;V=ha;W=fa;Y=la;Z=ma;_=ka;$=ia;aa=ga}}}else{na=M;oa=N;pa=O;qa=P;ra=Q;sa=R;ta=S;ua=T}p[D+(H<<4)>>3]=pa;p[D+(H<<4)+8>>3]=ua;J=H|1;p[D+(J<<4)>>3]=oa;p[D+(J<<4)+8>>3]=ta;J=H|2;p[D+(J<<4)>>3]=na;p[D+(J<<4)+8>>3]=sa;J=H|3;p[D+(J<<4)>>3]=qa;p[D+(J<<4)+8>>3]=ra;H=H+4|0}while((H|0)<=(t|0));L=A}a:do if((h|0)>(L|0))if(g){if(z)va=L;else{FVa(F+(L<<4)|0,0,h-L<<4|0)|0;break}do{H=c+(va<<3)|0;J=0;aa=0.0;$=0.0;while(1){_=+n[G+(J<<3)>>2];Z=+n[G+(J<<3)+4>>2];Y=+n[H>>2];W=+n[H+4>>2];aa=aa+(_*Y-Z*W);$=$+(Z*Y+_*W);J=J+1|0;if((J|0)==(y|0))break;else H=H+(b<<3)|0}p[D+(va<<4)>>3]=aa;p[D+(va<<4)+8>>3]=$;va=va+1|0}while((va|0)!=(h|0))}else{if(z)wa=L;else{H=L;while(1){H=H+1|0;if((H|0)==(h|0))break a}}do{H=D+(wa<<4)+8|0;J=D+(wa<<4)|0;K=c+(wa<<3)|0;I=0;W=+p[J>>3];_=+p[H>>3];while(1){Y=+n[G+(I<<3)>>2];Z=+n[G+(I<<3)+4>>2];V=+n[K>>2];U=+n[K+4>>2];W=W+(Y*V-Z*U);_=_+(Z*V+Y*U);I=I+1|0;if((I|0)==(y|0))break;else K=K+(b<<3)|0}p[J>>3]=W;p[H>>3]=_;wa=wa+1|0}while((wa|0)!=(h|0))}while(0);E=E+1|0;if((E|0)==(q|0))break;else{C=C+(w<<3)|0;D=D+(d<<4)|0}}}}else if(m){m=(x|0)==0;D=(s|0)==0;s=y+-2|0;C=(y|0)<2;E=y&-2;wa=(y|0)<1|m;G=(h|0)>0;L=(y|0)>0;z=(E|0)<(y|0);va=(y|0)>0;g=(E|0)<(y|0);A=a;a=e;e=0;while(1){if(wa)xa=m?A:x;else{t=0;do{o=A+((X(t,v)|0)<<3)|0;j=f[o+4>>2]|0;B=x+(t<<3)|0;f[B>>2]=f[o>>2];f[B+4>>2]=j;t=t+1|0}while((t|0)!=(y|0));xa=x}b:do if(G)if(D){if(C){t=c;j=0;while(1){if(L){B=0;ra=0.0;qa=0.0;while(1){sa=+n[xa+(B<<3)>>2];na=+n[xa+(B<<3)+4>>2];ta=+n[t+(B<<3)>>2];oa=+n[t+(B<<3)+4>>2];ua=ra+(sa*ta-na*oa);pa=qa+(na*ta+sa*oa);B=B+1|0;if((B|0)==(y|0)){ya=ua;za=pa;break}else{ra=ua;qa=pa}}}else{ya=0.0;za=0.0}p[a+(j<<4)>>3]=ya+0.0;p[a+(j<<4)+8>>3]=za+0.0;j=j+1|0;if((j|0)==(h|0))break b;else t=t+(b<<3)|0}}else{Aa=c;Ba=0}while(1){t=0;qa=0.0;ra=0.0;_=0.0;W=0.0;do{pa=+n[xa+(t<<3)>>2];ua=+n[xa+(t<<3)+4>>2];oa=+n[Aa+(t<<3)>>2];sa=+n[Aa+(t<<3)+4>>2];ra=ra+(pa*oa-ua*sa);_=_+(ua*oa+pa*sa);j=t|1;sa=+n[xa+(j<<3)>>2];pa=+n[xa+(j<<3)+4>>2];oa=+n[Aa+(j<<3)>>2];ua=+n[Aa+(j<<3)+4>>2];qa=qa+(sa*oa-pa*ua);W=W+(pa*oa+sa*ua);t=t+2|0}while((t|0)<=(s|0));if(z){t=E;ua=ra;sa=_;while(1){oa=+n[xa+(t<<3)>>2];pa=+n[xa+(t<<3)+4>>2];ta=+n[Aa+(t<<3)>>2];na=+n[Aa+(t<<3)+4>>2];T=ua+(oa*ta-pa*na);S=sa+(pa*ta+oa*na);t=t+1|0;if((t|0)==(y|0)){Ca=T;Da=S;break}else{ua=T;sa=S}}}else{Ca=ra;Da=_}p[a+(Ba<<4)>>3]=qa+Ca;p[a+(Ba<<4)+8>>3]=W+Da;Ba=Ba+1|0;if((Ba|0)==(h|0))break;else Aa=Aa+(b<<3)|0}}else{if(C){t=c;j=0;while(1){B=a+(j<<4)+8|0;H=a+(j<<4)|0;sa=+p[H>>3];ua=+p[B>>3];if(va){J=0;S=sa;T=ua;while(1){na=+n[xa+(J<<3)>>2];oa=+n[xa+(J<<3)+4>>2];ta=+n[t+(J<<3)>>2];pa=+n[t+(J<<3)+4>>2];R=S+(na*ta-oa*pa);Q=T+(oa*ta+na*pa);J=J+1|0;if((J|0)==(y|0)){Ea=R;Fa=Q;break}else{S=R;T=Q}}}else{Ea=sa;Fa=ua}p[H>>3]=Ea+0.0;p[B>>3]=Fa+0.0;j=j+1|0;if((j|0)==(h|0))break b;else t=t+(b<<3)|0}}else{Ga=c;Ha=0}while(1){t=a+(Ha<<4)+8|0;j=a+(Ha<<4)|0;J=0;T=0.0;S=+p[j>>3];W=+p[t>>3];qa=0.0;do{_=+n[xa+(J<<3)>>2];ra=+n[xa+(J<<3)+4>>2];Q=+n[Ga+(J<<3)>>2];R=+n[Ga+(J<<3)+4>>2];S=S+(_*Q-ra*R);W=W+(ra*Q+_*R);o=J|1;R=+n[xa+(o<<3)>>2];_=+n[xa+(o<<3)+4>>2];Q=+n[Ga+(o<<3)>>2];ra=+n[Ga+(o<<3)+4>>2];T=T+(R*Q-_*ra);qa=qa+(_*Q+R*ra);J=J+2|0}while((J|0)<=(s|0));if(g){J=E;ua=S;sa=W;while(1){ra=+n[xa+(J<<3)>>2];R=+n[xa+(J<<3)+4>>2];Q=+n[Ga+(J<<3)>>2];_=+n[Ga+(J<<3)+4>>2];pa=ua+(ra*Q-R*_);na=sa+(R*Q+ra*_);J=J+1|0;if((J|0)==(y|0)){Ia=pa;Ja=na;break}else{ua=pa;sa=na}}}else{Ia=S;Ja=W}p[j>>3]=T+Ia;p[t>>3]=qa+Ja;Ha=Ha+1|0;if((Ha|0)==(h|0))break;else Ga=Ga+(b<<3)|0}}while(0);e=e+1|0;if((e|0)==(q|0))break;else{A=A+(w<<3)|0;a=a+(d<<4)|0}}}d=f[l>>2]|0;if((d|0)==(i|0)){u=k;return}if(d|0)HQa(d);f[l>>2]=i;f[r>>2]=136;u=k;return}function sC(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,Y=0.0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0,oa=0,pa=0,qa=0.0,ra=0.0,sa=0,ta=0,ua=0.0,va=0.0,wa=0.0,xa=0.0,ya=0,za=0,Aa=0.0,Ba=0.0;k=u;u=u+1168|0;l=k;m=f[h>>2]|0;n=f[h+4>>2]|0;h=f[i>>2]|0;o=f[i+4>>2]|0;i=l+8|0;FVa(i|0,0,1152)|0;f[l>>2]=i;q=l+4|0;f[q>>2]=72;r=j&16;s=b>>>4;b=d>>>4;d=g>>>4;if(j&1){f[q>>2]=n;if(n>>>0>72){g=FQa(n>>>0>268435455?-1:n<<4)|0;FVa(g|0,0,n<<4|0)|0;f[l>>2]=g;t=s;v=1;w=g;x=n}else{t=s;v=1;w=i;x=n}}else{t=1;v=s;w=0;x=m}m=(o|0)>0;if(!(j&2)){if(m){j=(w|0)==0;s=h+-4|0;n=(h|0)<4;g=(r|0)==0;y=(x|0)>0;z=h&-4;A=(x|0)<1|j;B=(s>>>2<<6)+64|0;C=a;D=e;E=0;while(1){F=e+((X(d,E)|0)<<4)|0;if(A)G=j?C:w;else{H=0;do{I=C+((X(H,t)|0)<<4)|0;J=w+(H<<4)|0;f[J>>2]=f[I>>2];f[J+4>>2]=f[I+4>>2];f[J+8>>2]=f[I+8>>2];f[J+12>>2]=f[I+12>>2];H=H+1|0}while((H|0)!=(x|0));G=w}a:do if(!n)if(g){if(y)K=0;else{FVa(F|0,0,B|0)|0;L=z;break}do{H=c+(K<<4)|0;I=0;M=0.0;N=0.0;O=0.0;P=0.0;Q=0.0;R=0.0;S=0.0;T=0.0;while(1){U=+p[G+(I<<4)>>3];V=+p[G+(I<<4)+8>>3];W=+p[H>>3];Y=+p[H+8>>3];N=N+(U*W-V*Y);T=T+(V*W+U*Y);Y=+p[H+16>>3];W=+p[H+24>>3];M=M+(U*Y-V*W);R=R+(V*Y+U*W);W=+p[H+32>>3];Y=+p[H+40>>3];P=P+(U*W-V*Y);S=S+(V*W+U*Y);Y=+p[H+48>>3];W=+p[H+56>>3];O=O+(U*Y-V*W);Q=Q+(V*Y+U*W);I=I+1|0;if((I|0)==(x|0))break;else H=H+(b<<4)|0}p[D+(K<<4)>>3]=N;p[D+(K<<4)+8>>3]=T;H=K|1;p[D+(H<<4)>>3]=M;p[D+(H<<4)+8>>3]=R;H=K|2;p[D+(H<<4)>>3]=P;p[D+(H<<4)+8>>3]=S;H=K|3;p[D+(H<<4)>>3]=O;p[D+(H<<4)+8>>3]=Q;K=K+4|0}while((K|0)<=(s|0));L=z}else{if(y)Z=0;else{H=0;while(1){H=H+4|0;if((H|0)>(s|0)){L=z;break a}}}do{H=D+(Z<<4)|0;I=D+(Z<<4)+8|0;J=Z|1;_=D+(J<<4)|0;$=D+(J<<4)+8|0;J=Z|2;aa=D+(J<<4)|0;ba=D+(J<<4)+8|0;J=Z|3;ca=D+(J<<4)|0;da=D+(J<<4)+8|0;J=c+(Z<<4)|0;ea=0;W=+p[_>>3];U=+p[H>>3];Y=+p[ca>>3];V=+p[aa>>3];fa=+p[da>>3];ga=+p[$>>3];ha=+p[ba>>3];ia=+p[I>>3];while(1){ja=+p[G+(ea<<4)>>3];ka=+p[G+(ea<<4)+8>>3];la=+p[J>>3];ma=+p[J+8>>3];U=U+(ja*la-ka*ma);ia=ia+(ka*la+ja*ma);ma=+p[J+16>>3];la=+p[J+24>>3];W=W+(ja*ma-ka*la);ga=ga+(ka*ma+ja*la);la=+p[J+32>>3];ma=+p[J+40>>3];V=V+(ja*la-ka*ma);ha=ha+(ka*la+ja*ma);ma=+p[J+48>>3];la=+p[J+56>>3];Y=Y+(ja*ma-ka*la);fa=fa+(ka*ma+ja*la);ea=ea+1|0;if((ea|0)==(x|0))break;else J=J+(b<<4)|0}p[H>>3]=U;p[I>>3]=ia;p[_>>3]=W;p[$>>3]=ga;p[aa>>3]=V;p[ba>>3]=ha;p[ca>>3]=Y;p[da>>3]=fa;Z=Z+4|0}while((Z|0)<=(s|0));L=z}else L=0;while(0);b:do if((h|0)>(L|0))if(g){if(y)na=L;else{FVa(F+(L<<4)|0,0,h-L<<4|0)|0;break}do{J=c+(na<<4)|0;ea=0;Q=0.0;O=0.0;while(1){S=+p[G+(ea<<4)>>3];P=+p[G+(ea<<4)+8>>3];R=+p[J>>3];M=+p[J+8>>3];Q=Q+(S*R-P*M);O=O+(P*R+S*M);ea=ea+1|0;if((ea|0)==(x|0))break;else J=J+(b<<4)|0}p[D+(na<<4)>>3]=Q;p[D+(na<<4)+8>>3]=O;na=na+1|0}while((na|0)!=(h|0))}else{if(y)oa=L;else{J=L;while(1){J=J+1|0;if((J|0)==(h|0))break b}}do{J=D+(oa<<4)+8|0;ea=D+(oa<<4)|0;da=c+(oa<<4)|0;ca=0;fa=+p[ea>>3];Y=+p[J>>3];while(1){ha=+p[G+(ca<<4)>>3];V=+p[G+(ca<<4)+8>>3];ga=+p[da>>3];W=+p[da+8>>3];fa=fa+(ha*ga-V*W);Y=Y+(V*ga+ha*W);ca=ca+1|0;if((ca|0)==(x|0))break;else da=da+(b<<4)|0}p[ea>>3]=fa;p[J>>3]=Y;oa=oa+1|0}while((oa|0)!=(h|0))}while(0);E=E+1|0;if((E|0)==(o|0))break;else{C=C+(v<<4)|0;D=D+(d<<4)|0}}}}else if(m){m=(w|0)==0;D=(r|0)==0;r=x+-2|0;C=(x|0)<2;E=x&-2;oa=(x|0)<1|m;G=(h|0)>0;L=(x|0)>0;y=(E|0)<(x|0);na=(x|0)>0;g=(E|0)<(x|0);z=a;a=e;e=0;while(1){if(oa)pa=m?z:w;else{s=0;do{Z=z+((X(s,t)|0)<<4)|0;K=w+(s<<4)|0;f[K>>2]=f[Z>>2];f[K+4>>2]=f[Z+4>>2];f[K+8>>2]=f[Z+8>>2];f[K+12>>2]=f[Z+12>>2];s=s+1|0}while((s|0)!=(x|0));pa=w}c:do if(G)if(D){if(C){s=c;Z=0;while(1){if(L){K=0;O=0.0;Q=0.0;while(1){W=+p[pa+(K<<4)>>3];ha=+p[pa+(K<<4)+8>>3];ga=+p[s+(K<<4)>>3];V=+p[s+(K<<4)+8>>3];ia=O+(W*ga-ha*V);U=Q+(ha*ga+W*V);K=K+1|0;if((K|0)==(x|0)){qa=ia;ra=U;break}else{O=ia;Q=U}}}else{qa=0.0;ra=0.0}p[a+(Z<<4)>>3]=qa+0.0;p[a+(Z<<4)+8>>3]=ra+0.0;Z=Z+1|0;if((Z|0)==(h|0))break c;else s=s+(b<<4)|0}}else{sa=c;ta=0}while(1){s=0;Q=0.0;O=0.0;Y=0.0;fa=0.0;do{U=+p[pa+(s<<4)>>3];ia=+p[pa+(s<<4)+8>>3];V=+p[sa+(s<<4)>>3];W=+p[sa+(s<<4)+8>>3];O=O+(U*V-ia*W);Y=Y+(ia*V+U*W);Z=s|1;W=+p[pa+(Z<<4)>>3];U=+p[pa+(Z<<4)+8>>3];V=+p[sa+(Z<<4)>>3];ia=+p[sa+(Z<<4)+8>>3];Q=Q+(W*V-U*ia);fa=fa+(U*V+W*ia);s=s+2|0}while((s|0)<=(r|0));if(y){s=E;ia=O;W=Y;while(1){V=+p[pa+(s<<4)>>3];U=+p[pa+(s<<4)+8>>3];ga=+p[sa+(s<<4)>>3];ha=+p[sa+(s<<4)+8>>3];M=ia+(V*ga-U*ha);S=W+(U*ga+V*ha);s=s+1|0;if((s|0)==(x|0)){ua=M;va=S;break}else{ia=M;W=S}}}else{ua=O;va=Y}p[a+(ta<<4)>>3]=Q+ua;p[a+(ta<<4)+8>>3]=fa+va;ta=ta+1|0;if((ta|0)==(h|0))break;else sa=sa+(b<<4)|0}}else{if(C){s=c;Z=0;while(1){K=a+(Z<<4)+8|0;J=a+(Z<<4)|0;W=+p[J>>3];ia=+p[K>>3];if(na){ea=0;S=W;M=ia;while(1){ha=+p[pa+(ea<<4)>>3];V=+p[pa+(ea<<4)+8>>3];ga=+p[s+(ea<<4)>>3];U=+p[s+(ea<<4)+8>>3];R=S+(ha*ga-V*U);P=M+(V*ga+ha*U);ea=ea+1|0;if((ea|0)==(x|0)){wa=R;xa=P;break}else{S=R;M=P}}}else{wa=W;xa=ia}p[J>>3]=wa+0.0;p[K>>3]=xa+0.0;Z=Z+1|0;if((Z|0)==(h|0))break c;else s=s+(b<<4)|0}}else{ya=c;za=0}while(1){s=a+(za<<4)+8|0;Z=a+(za<<4)|0;ea=0;M=0.0;S=+p[Z>>3];fa=+p[s>>3];Q=0.0;do{Y=+p[pa+(ea<<4)>>3];O=+p[pa+(ea<<4)+8>>3];P=+p[ya+(ea<<4)>>3];R=+p[ya+(ea<<4)+8>>3];S=S+(Y*P-O*R);fa=fa+(O*P+Y*R);B=ea|1;R=+p[pa+(B<<4)>>3];Y=+p[pa+(B<<4)+8>>3];P=+p[ya+(B<<4)>>3];O=+p[ya+(B<<4)+8>>3];M=M+(R*P-Y*O);Q=Q+(Y*P+R*O);ea=ea+2|0}while((ea|0)<=(r|0));if(g){ea=E;ia=S;W=fa;while(1){O=+p[pa+(ea<<4)>>3];R=+p[pa+(ea<<4)+8>>3];P=+p[ya+(ea<<4)>>3];Y=+p[ya+(ea<<4)+8>>3];U=ia+(O*P-R*Y);ha=W+(R*P+O*Y);ea=ea+1|0;if((ea|0)==(x|0)){Aa=U;Ba=ha;break}else{ia=U;W=ha}}}else{Aa=S;Ba=fa}p[Z>>3]=M+Aa;p[s>>3]=Q+Ba;za=za+1|0;if((za|0)==(h|0))break;else ya=ya+(b<<4)|0}}while(0);e=e+1|0;if((e|0)==(o|0))break;else{z=z+(v<<4)|0;a=a+(d<<4)|0}}}d=f[l>>2]|0;if((d|0)==(i|0)){u=k;return}if(d|0)HQa(d);f[l>>2]=i;f[q>>2]=72;u=k;return}function tC(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0,T=0,U=0,V=0,W=0.0,Y=0.0,Z=0.0,_=0,$=0.0,aa=0,ba=0,ca=0,da=0,ea=0.0,fa=0,ga=0,ha=0.0,ia=0.0,ja=0,ka=0,la=0.0;k=u;u=u+1072|0;l=k;m=f[h>>2]|0;o=f[h+4>>2]|0;h=f[i>>2]|0;q=f[i+4>>2]|0;i=l+8|0;f[l>>2]=i;r=l+4|0;f[r>>2]=264;s=j&16;t=b>>>2;b=d>>>2;d=g>>>3;if(j&1){f[r>>2]=o;if(o>>>0>264){g=FQa(o>>>0>1073741823?-1:o<<2)|0;f[l>>2]=g;v=t;w=1;x=g;y=o;z=g}else{v=t;w=1;x=i;y=o;z=i}}else{v=1;w=t;x=0;y=m;z=i}m=(q|0)>0;if(!(j&2)){if(m){j=(x|0)==0;t=h+-4|0;o=(h|0)<4;g=(s|0)==0;A=(y|0)>0;B=h&-4;C=(y|0)<1|j;D=(t>>>2<<5)+32|0;E=e;F=0;G=a;while(1){H=e+((X(d,F)|0)<<3)|0;if(C)I=j?G:x;else{J=0;do{K=G+((X(J,v)|0)<<2)|0;f[x+(J<<2)>>2]=f[K>>2];J=J+1|0}while((J|0)!=(y|0));I=x}a:do if(!o)if(g){if(A)L=0;else{FVa(H|0,0,D|0)|0;M=B;break}do{J=c+(L<<2)|0;N=0.0;O=0.0;P=0.0;Q=0.0;K=0;while(1){R=+n[I+(K<<2)>>2];Q=Q+R*+n[J>>2];P=P+R*+n[J+4>>2];O=O+R*+n[J+8>>2];N=N+R*+n[J+12>>2];K=K+1|0;if((K|0)==(y|0))break;else J=J+(b<<2)|0}p[E+(L<<3)>>3]=Q;p[E+((L|1)<<3)>>3]=P;p[E+((L|2)<<3)>>3]=O;p[E+((L|3)<<3)>>3]=N;L=L+4|0}while((L|0)<=(t|0));M=B}else{if(A)S=0;else{J=0;while(1){J=J+4|0;if((J|0)>(t|0)){M=B;break a}}}do{J=E+((S|3)<<3)|0;K=E+((S|2)<<3)|0;T=E+((S|1)<<3)|0;U=E+(S<<3)|0;V=c+(S<<2)|0;R=+p[J>>3];W=+p[K>>3];Y=+p[T>>3];Z=+p[U>>3];_=0;while(1){$=+n[I+(_<<2)>>2];Z=Z+$*+n[V>>2];Y=Y+$*+n[V+4>>2];W=W+$*+n[V+8>>2];R=R+$*+n[V+12>>2];_=_+1|0;if((_|0)==(y|0))break;else V=V+(b<<2)|0}p[U>>3]=Z;p[T>>3]=Y;p[K>>3]=W;p[J>>3]=R;S=S+4|0}while((S|0)<=(t|0));M=B}else M=0;while(0);b:do if((h|0)>(M|0)){if(!g){if(A)aa=M;else break;while(1){V=E+(aa<<3)|0;_=c+(aa<<2)|0;N=+p[V>>3];ba=0;while(1){N=N+ +n[I+(ba<<2)>>2]*+n[_>>2];ba=ba+1|0;if((ba|0)==(y|0))break;else _=_+(b<<2)|0}p[V>>3]=N;aa=aa+1|0;if((aa|0)==(h|0))break b}}if(A)ca=M;else{FVa(H+(M<<3)|0,0,h-M<<3|0)|0;break}do{_=c+(ca<<2)|0;R=0.0;ba=0;while(1){R=R+ +n[I+(ba<<2)>>2]*+n[_>>2];ba=ba+1|0;if((ba|0)==(y|0))break;else _=_+(b<<2)|0}p[E+(ca<<3)>>3]=R;ca=ca+1|0}while((ca|0)!=(h|0))}while(0);F=F+1|0;if((F|0)==(q|0))break;else{E=E+(d<<3)|0;G=G+(w<<2)|0}}}}else if(m){m=(x|0)==0;G=(h|0)>0;E=(s|0)==0;s=y+-2|0;F=(y|0)<2;ca=y&-2;I=(y|0)<1|m;M=(y|0)>0;A=(ca|0)<(y|0);aa=(y|0)>0;g=(ca|0)<(y|0);B=e;e=0;t=a;while(1){if(I)da=m?t:x;else{a=0;do{S=t+((X(a,v)|0)<<2)|0;f[x+(a<<2)>>2]=f[S>>2];a=a+1|0}while((a|0)!=(y|0));da=x}c:do if(G)if(E){if(F){a=c;S=0;while(1){if(M){N=0.0;L=0;while(1){W=N+ +n[da+(L<<2)>>2]*+n[a+(L<<2)>>2];L=L+1|0;if((L|0)==(y|0)){ea=W;break}else N=W}}else ea=0.0;p[B+(S<<3)>>3]=ea+0.0;S=S+1|0;if((S|0)==(h|0))break c;else a=a+(b<<2)|0}}else{fa=c;ga=0}while(1){N=0.0;R=0.0;a=0;do{R=R+ +n[da+(a<<2)>>2]*+n[fa+(a<<2)>>2];S=a|1;N=N+ +n[da+(S<<2)>>2]*+n[fa+(S<<2)>>2];a=a+2|0}while((a|0)<=(s|0));if(A){W=R;a=ca;while(1){Y=W+ +n[da+(a<<2)>>2]*+n[fa+(a<<2)>>2];a=a+1|0;if((a|0)==(y|0)){ha=Y;break}else W=Y}}else ha=R;p[B+(ga<<3)>>3]=N+ha;ga=ga+1|0;if((ga|0)==(h|0))break;else fa=fa+(b<<2)|0}}else{if(F){a=c;S=0;while(1){L=B+(S<<3)|0;W=+p[L>>3];if(aa){Y=W;D=0;while(1){Z=Y+ +n[da+(D<<2)>>2]*+n[a+(D<<2)>>2];D=D+1|0;if((D|0)==(y|0)){ia=Z;break}else Y=Z}}else ia=W;p[L>>3]=ia+0.0;S=S+1|0;if((S|0)==(h|0))break c;else a=a+(b<<2)|0}}else{ja=c;ka=0}while(1){a=B+(ka<<3)|0;Y=0.0;N=+p[a>>3];S=0;do{N=N+ +n[da+(S<<2)>>2]*+n[ja+(S<<2)>>2];D=S|1;Y=Y+ +n[da+(D<<2)>>2]*+n[ja+(D<<2)>>2];S=S+2|0}while((S|0)<=(s|0));if(g){W=N;S=ca;while(1){R=W+ +n[da+(S<<2)>>2]*+n[ja+(S<<2)>>2];S=S+1|0;if((S|0)==(y|0)){la=R;break}else W=R}}else la=N;p[a>>3]=Y+la;ka=ka+1|0;if((ka|0)==(h|0))break;else ja=ja+(b<<2)|0}}while(0);e=e+1|0;if((e|0)==(q|0))break;else{B=B+(d<<3)|0;t=t+(w<<2)|0}}}if((z|0)==(i|0)){u=k;return}HQa(z);f[l>>2]=i;f[r>>2]=264;u=k;return}function uC(a,b,c,d,e,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=+i;j=+j;k=k|0;var l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0;l=f[h>>2]|0;m=f[h+4>>2]|0;h=b>>>3;b=d>>>3;d=g>>>3;g=(a|0)==0;n=(k&4|0)==0;k=g?0:n?h:1;o=g?0:n?1:h;if(!m)return;h=o<<1;n=o*3|0;g=o<<2;q=(l|0)<4;r=l+-4|0;s=(r|0)>3?r:3;t=(s&2147483644)+4|0;u=X(s>>>2,g)|0;s=c;c=e;e=a;v=m;m=a+(g<<3)|0;while(1){v=v+-1|0;if(!e){if(q)w=0;else{a=0;do{x=a|1;y=+p[s+(x<<3)>>3]*i;p[c+(a<<3)>>3]=+p[s+(a<<3)>>3]*i;p[c+(x<<3)>>3]=y;x=a|2;z=a|3;y=+p[s+(z<<3)>>3]*i;p[c+(x<<3)>>3]=+p[s+(x<<3)>>3]*i;p[c+(z<<3)>>3]=y;a=a+4|0}while((a|0)<=(r|0));w=t}if((w|0)<(l|0)){a=w;do{p[c+(a<<3)>>3]=+p[s+(a<<3)>>3]*i;a=a+1|0}while((a|0)!=(l|0))}}else{if(q){A=e;B=0}else{a=0;z=e;while(1){x=a|1;y=+p[s+(x<<3)>>3]*i+ +p[z+(o<<3)>>3]*j;p[c+(a<<3)>>3]=+p[s+(a<<3)>>3]*i+ +p[z>>3]*j;p[c+(x<<3)>>3]=y;x=a|2;C=a|3;y=+p[s+(C<<3)>>3]*i+ +p[z+(n<<3)>>3]*j;p[c+(x<<3)>>3]=+p[s+(x<<3)>>3]*i+ +p[z+(h<<3)>>3]*j;p[c+(C<<3)>>3]=y;a=a+4|0;if((a|0)>(r|0))break;else z=z+(g<<3)|0}A=m+(u<<3)|0;B=t}if((B|0)<(l|0)){z=B;a=A;while(1){p[c+(z<<3)>>3]=+p[s+(z<<3)>>3]*i+ +p[a>>3]*j;z=z+1|0;if((z|0)==(l|0))break;else a=a+(o<<3)|0}}}if(!v)break;else{s=s+(b<<3)|0;c=c+(d<<3)|0;e=e+(k<<3)|0;m=m+(k<<3)|0}}return}function vC(a,b,c,d,e,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=+i;j=+j;k=k|0;var l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0,E=0;l=f[h>>2]|0;m=f[h+4>>2]|0;h=b>>>3;b=d>>>4;d=g>>>3;g=(a|0)==0;o=(k&4|0)==0;k=g?0:o?h:1;q=g?0:o?1:h;if(!m)return;h=q<<1;o=q*3|0;g=q<<2;r=(l|0)<4;s=l+-4|0;t=l&-4;u=c;c=e;e=a;v=m;m=a+(X(q,(s>>>2<<5)+32|0)|0)|0;while(1){v=v+-1|0;if(!e){if(r)w=0;else{a=0;do{x=a|1;y=+p[u+(x<<4)>>3]*i;z=+p[u+(x<<4)+8>>3]*i;A=+p[u+(a<<4)+8>>3]*i;n[c+(a<<3)>>2]=+p[u+(a<<4)>>3]*i;n[c+(a<<3)+4>>2]=A;n[c+(x<<3)>>2]=y;n[c+(x<<3)+4>>2]=z;x=a|2;B=a|3;z=+p[u+(B<<4)>>3]*i;y=+p[u+(B<<4)+8>>3]*i;A=+p[u+(x<<4)+8>>3]*i;n[c+(x<<3)>>2]=+p[u+(x<<4)>>3]*i;n[c+(x<<3)+4>>2]=A;n[c+(B<<3)>>2]=z;n[c+(B<<3)+4>>2]=y;a=a+4|0}while((a|0)<=(s|0));w=t}if((w|0)<(l|0)){a=w;do{y=+p[u+(a<<4)+8>>3]*i;n[c+(a<<3)>>2]=+p[u+(a<<4)>>3]*i;n[c+(a<<3)+4>>2]=y;a=a+1|0}while((a|0)!=(l|0))}}else{if(r){C=e;D=0}else{a=e;B=0;while(1){x=B|1;y=+p[u+(x<<4)>>3]*i+ +n[a+(q<<3)>>2]*j;z=+p[u+(x<<4)+8>>3]*i+ +n[a+(q<<3)+4>>2]*j;A=+p[u+(B<<4)+8>>3]*i+ +n[a+4>>2]*j;n[c+(B<<3)>>2]=+p[u+(B<<4)>>3]*i+ +n[a>>2]*j;n[c+(B<<3)+4>>2]=A;n[c+(x<<3)>>2]=y;n[c+(x<<3)+4>>2]=z;x=B|2;E=B|3;z=+p[u+(E<<4)>>3]*i+ +n[a+(o<<3)>>2]*j;y=+p[u+(E<<4)+8>>3]*i+ +n[a+(o<<3)+4>>2]*j;A=+p[u+(x<<4)+8>>3]*i+ +n[a+(h<<3)+4>>2]*j;n[c+(x<<3)>>2]=+p[u+(x<<4)>>3]*i+ +n[a+(h<<3)>>2]*j;n[c+(x<<3)+4>>2]=A;n[c+(E<<3)>>2]=z;n[c+(E<<3)+4>>2]=y;B=B+4|0;if((B|0)>(s|0)){C=m;D=t;break}else a=a+(g<<3)|0}}if((D|0)<(l|0)){a=C;B=D;while(1){y=+p[u+(B<<4)+8>>3]*i+ +n[a+4>>2]*j;n[c+(B<<3)>>2]=+p[u+(B<<4)>>3]*i+ +n[a>>2]*j;n[c+(B<<3)+4>>2]=y;B=B+1|0;if((B|0)==(l|0))break;else a=a+(q<<3)|0}}}if(!v)break;else{u=u+(b<<4)|0;c=c+(d<<3)|0;e=e+(k<<3)|0;m=m+(k<<3)|0}}return}function wC(a,b,c,d,e,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=+i;j=+j;k=k|0;var l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0,y=0.0,z=0.0,A=0,B=0,C=0,D=0;l=f[h>>2]|0;m=f[h+4>>2]|0;h=b>>>4;b=d>>>4;d=g>>>4;g=(a|0)==0;n=(k&4|0)==0;k=g?0:n?h:1;o=g?0:n?1:h;if(!m)return;h=o<<1;n=o*3|0;g=o<<2;q=(l|0)<4;r=l+-4|0;s=l&-4;t=a;u=c;c=e;e=m;m=a+(X(o,(r>>>2<<6)+64|0)|0)|0;while(1){e=e+-1|0;if(!t){if(q)v=0;else{a=0;do{w=+p[u+(a<<4)+8>>3]*i;x=a|1;y=+p[u+(x<<4)>>3]*i;z=+p[u+(x<<4)+8>>3]*i;p[c+(a<<4)>>3]=+p[u+(a<<4)>>3]*i;p[c+(a<<4)+8>>3]=w;p[c+(x<<4)>>3]=y;p[c+(x<<4)+8>>3]=z;x=a|2;z=+p[u+(x<<4)+8>>3]*i;A=a|3;y=+p[u+(A<<4)>>3]*i;w=+p[u+(A<<4)+8>>3]*i;p[c+(x<<4)>>3]=+p[u+(x<<4)>>3]*i;p[c+(x<<4)+8>>3]=z;p[c+(A<<4)>>3]=y;p[c+(A<<4)+8>>3]=w;a=a+4|0}while((a|0)<=(r|0));v=s}if((v|0)<(l|0)){a=v;do{w=+p[u+(a<<4)+8>>3]*i;p[c+(a<<4)>>3]=+p[u+(a<<4)>>3]*i;p[c+(a<<4)+8>>3]=w;a=a+1|0}while((a|0)!=(l|0))}}else{if(q){B=0;C=t}else{a=0;A=t;while(1){x=a|1;w=+p[u+(a<<4)+8>>3]*i+ +p[A+8>>3]*j;y=+p[u+(x<<4)>>3]*i+ +p[A+(o<<4)>>3]*j;z=+p[u+(x<<4)+8>>3]*i+ +p[A+(o<<4)+8>>3]*j;p[c+(a<<4)>>3]=+p[u+(a<<4)>>3]*i+ +p[A>>3]*j;p[c+(a<<4)+8>>3]=w;p[c+(x<<4)>>3]=y;p[c+(x<<4)+8>>3]=z;x=a|2;D=a|3;z=+p[u+(x<<4)+8>>3]*i+ +p[A+(h<<4)+8>>3]*j;y=+p[u+(D<<4)>>3]*i+ +p[A+(n<<4)>>3]*j;w=+p[u+(D<<4)+8>>3]*i+ +p[A+(n<<4)+8>>3]*j;p[c+(x<<4)>>3]=+p[u+(x<<4)>>3]*i+ +p[A+(h<<4)>>3]*j;p[c+(x<<4)+8>>3]=z;p[c+(D<<4)>>3]=y;p[c+(D<<4)+8>>3]=w;a=a+4|0;if((a|0)>(r|0)){B=s;C=m;break}else A=A+(g<<4)|0}}if((B|0)<(l|0)){A=C;a=B;while(1){w=+p[u+(a<<4)+8>>3]*i+ +p[A+8>>3]*j;p[c+(a<<4)>>3]=+p[u+(a<<4)>>3]*i+ +p[A>>3]*j;p[c+(a<<4)+8>>3]=w;a=a+1|0;if((a|0)==(l|0))break;else A=A+(o<<4)|0}}}if(!e)break;else{t=t+(k<<4)|0;u=u+(b<<4)|0;c=c+(d<<4)|0;m=m+(k<<4)|0}}return}function xC(a,b,c,d,e,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=+i;j=+j;k=k|0;var l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0,D=0;l=f[h>>2]|0;m=f[h+4>>2]|0;h=b>>>2;b=d>>>3;d=g>>>2;g=(a|0)==0;o=(k&4|0)==0;k=g?0:o?h:1;q=g?0:o?1:h;if(!m)return;h=q<<1;o=q*3|0;g=q<<2;r=(l|0)<4;s=l+-4|0;t=(s|0)>3?s:3;u=(t&2147483644)+4|0;v=X(t>>>2,g)|0;t=c;c=e;e=a;w=m;m=a+(g<<2)|0;while(1){w=w+-1|0;if(!e){if(r)x=0;else{a=0;do{y=a|1;z=+p[t+(y<<3)>>3]*i;n[c+(a<<2)>>2]=+p[t+(a<<3)>>3]*i;n[c+(y<<2)>>2]=z;y=a|2;A=a|3;z=+p[t+(A<<3)>>3]*i;n[c+(y<<2)>>2]=+p[t+(y<<3)>>3]*i;n[c+(A<<2)>>2]=z;a=a+4|0}while((a|0)<=(s|0));x=u}if((x|0)<(l|0)){a=x;do{n[c+(a<<2)>>2]=+p[t+(a<<3)>>3]*i;a=a+1|0}while((a|0)!=(l|0))}}else{if(r){B=e;C=0}else{a=0;A=e;while(1){y=a|1;z=+p[t+(y<<3)>>3]*i+ +n[A+(q<<2)>>2]*j;n[c+(a<<2)>>2]=+p[t+(a<<3)>>3]*i+ +n[A>>2]*j;n[c+(y<<2)>>2]=z;y=a|2;D=a|3;z=+p[t+(D<<3)>>3]*i+ +n[A+(o<<2)>>2]*j;n[c+(y<<2)>>2]=+p[t+(y<<3)>>3]*i+ +n[A+(h<<2)>>2]*j;n[c+(D<<2)>>2]=z;a=a+4|0;if((a|0)>(s|0))break;else A=A+(g<<2)|0}B=m+(v<<2)|0;C=u}if((C|0)<(l|0)){A=C;a=B;while(1){n[c+(A<<2)>>2]=+p[t+(A<<3)>>3]*i+ +n[a>>2]*j;A=A+1|0;if((A|0)==(l|0))break;else a=a+(q<<2)|0}}}if(!w)break;else{t=t+(b<<3)|0;c=c+(d<<2)|0;e=e+(k<<2)|0;m=m+(k<<2)|0}}return}function yC(a,b,c,d,e,g,h,i,j,k,l,m,n,o,p){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;i=+i;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;q=u;u=u+448|0;r=q+392|0;s=q+336|0;t=q+280|0;v=q+224|0;w=q+168|0;x=q+112|0;y=q+56|0;z=q;A=(o&2|0)==0;B=(o&1|0)==0;C=B?m:l;D=B?l:m;B=A?C:n;E=A?n:C;C=(o&4|0)==0;A=C?D:n;F=C?n:D;f[r>>2]=1124007936;C=r+4|0;G=r+8|0;H=r+40|0;I=C;J=I+36|0;do{f[I>>2]=0;I=I+4|0}while((I|0)<(J|0));f[H>>2]=G;K=r+48|0;L=r+44|0;f[L>>2]=K;f[K>>2]=0;f[r+52>>2]=0;f[s>>2]=1124007936;M=s+4|0;N=s+8|0;O=s+40|0;I=M;J=I+36|0;do{f[I>>2]=0;I=I+4|0}while((I|0)<(J|0));f[O>>2]=N;P=s+48|0;Q=s+44|0;f[Q>>2]=P;f[P>>2]=0;f[s+52>>2]=0;f[t>>2]=1124007936;R=t+4|0;S=t+8|0;T=t+40|0;I=R;J=I+36|0;do{f[I>>2]=0;I=I+4|0}while((I|0)<(J|0));f[T>>2]=S;I=t+48|0;J=t+44|0;f[J>>2]=I;f[I>>2]=0;f[t+52>>2]=0;if(a|0){Gi(v,l,m,p,a,b);b=v+36|0;a=f[b>>2]|0;if(a|0){m=a+12|0;f[m>>2]=(f[m>>2]|0)+1}m=r+36|0;a=f[m>>2]|0;if(a|0?(l=a+12|0,a=f[l>>2]|0,f[l>>2]=a+-1,(a|0)==1):0)XO(r);f[m>>2]=0;a=r+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if((f[C>>2]|0)>0){l=f[H>>2]|0;U=0;do{f[l+(U<<2)>>2]=0;U=U+1|0;V=f[C>>2]|0}while((U|0)<(V|0));f[r>>2]=f[v>>2];if((V|0)<3)W=12;else W=14}else{f[r>>2]=f[v>>2];W=12}if((W|0)==12){V=f[v+4>>2]|0;if((V|0)<3){f[C>>2]=V;f[G>>2]=f[v+8>>2];f[r+12>>2]=f[v+12>>2];V=f[v+44>>2]|0;U=f[L>>2]|0;f[U>>2]=f[V>>2];f[U+4>>2]=f[V+4>>2]}else W=14}if((W|0)==14)WO(r,v);V=v+16|0;f[a>>2]=f[V>>2];f[r+20>>2]=f[v+20>>2];f[r+24>>2]=f[v+24>>2];f[r+28>>2]=f[v+28>>2];f[r+32>>2]=f[v+32>>2];a=f[b>>2]|0;f[m>>2]=a;if(a|0?(m=a+12|0,a=f[m>>2]|0,f[m>>2]=a+-1,(a|0)==1):0)XO(v);f[b>>2]=0;b=v+4|0;f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;f[V+12>>2]=0;if((f[b>>2]|0)>0){V=f[v+40>>2]|0;a=0;do{f[V+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[b>>2]|0))}b=f[v+44>>2]|0;if((b|0)!=(v+48|0))dX(b)}if(c|0){Gi(v,B,E,p,c,d);d=v+36|0;c=f[d>>2]|0;if(c|0){E=c+12|0;f[E>>2]=(f[E>>2]|0)+1}E=s+36|0;c=f[E>>2]|0;if(c|0?(B=c+12|0,c=f[B>>2]|0,f[B>>2]=c+-1,(c|0)==1):0)XO(s);f[E>>2]=0;c=s+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[M>>2]|0)>0){B=f[O>>2]|0;b=0;do{f[B+(b<<2)>>2]=0;b=b+1|0;X=f[M>>2]|0}while((b|0)<(X|0));f[s>>2]=f[v>>2];if((X|0)<3)W=35;else W=37}else{f[s>>2]=f[v>>2];W=35}if((W|0)==35){X=f[v+4>>2]|0;if((X|0)<3){f[M>>2]=X;f[N>>2]=f[v+8>>2];f[s+12>>2]=f[v+12>>2];X=f[v+44>>2]|0;b=f[Q>>2]|0;f[b>>2]=f[X>>2];f[b+4>>2]=f[X+4>>2]}else W=37}if((W|0)==37)WO(s,v);X=v+16|0;f[c>>2]=f[X>>2];f[s+20>>2]=f[v+20>>2];f[s+24>>2]=f[v+24>>2];f[s+28>>2]=f[v+28>>2];f[s+32>>2]=f[v+32>>2];c=f[d>>2]|0;f[E>>2]=c;if(c|0?(E=c+12|0,c=f[E>>2]|0,f[E>>2]=c+-1,(c|0)==1):0)XO(v);f[d>>2]=0;d=v+4|0;f[X>>2]=0;f[X+4>>2]=0;f[X+8>>2]=0;f[X+12>>2]=0;if((f[d>>2]|0)>0){X=f[v+40>>2]|0;c=0;do{f[X+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[d>>2]|0))}d=f[v+44>>2]|0;if((d|0)!=(v+48|0))dX(d)}if((g|0)!=0&i!=0.0){Gi(v,A,F,p,g,h);h=v+36|0;g=f[h>>2]|0;if(g|0){F=g+12|0;f[F>>2]=(f[F>>2]|0)+1}F=t+36|0;g=f[F>>2]|0;if(g|0?(A=g+12|0,g=f[A>>2]|0,f[A>>2]=g+-1,(g|0)==1):0)XO(t);f[F>>2]=0;g=t+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;if((f[R>>2]|0)>0){A=f[T>>2]|0;d=0;do{f[A+(d<<2)>>2]=0;d=d+1|0;Y=f[R>>2]|0}while((d|0)<(Y|0));f[t>>2]=f[v>>2];if((Y|0)<3)W=58;else W=60}else{f[t>>2]=f[v>>2];W=58}if((W|0)==58){Y=f[v+4>>2]|0;if((Y|0)<3){f[R>>2]=Y;f[S>>2]=f[v+8>>2];f[t+12>>2]=f[v+12>>2];Y=f[v+44>>2]|0;d=f[J>>2]|0;f[d>>2]=f[Y>>2];f[d+4>>2]=f[Y+4>>2]}else W=60}if((W|0)==60)WO(t,v);W=v+16|0;f[g>>2]=f[W>>2];f[t+20>>2]=f[v+20>>2];f[t+24>>2]=f[v+24>>2];f[t+28>>2]=f[v+28>>2];f[t+32>>2]=f[v+32>>2];g=f[h>>2]|0;f[F>>2]=g;if(g|0?(F=g+12|0,g=f[F>>2]|0,f[F>>2]=g+-1,(g|0)==1):0)XO(v);f[h>>2]=0;h=v+4|0;f[W>>2]=0;f[W+4>>2]=0;f[W+8>>2]=0;f[W+12>>2]=0;if((f[h>>2]|0)>0){W=f[v+40>>2]|0;g=0;do{f[W+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[h>>2]|0))}h=f[v+44>>2]|0;if((h|0)!=(v+48|0))dX(h)}Gi(v,D,n,p,j,k);f[w>>2]=f[r>>2];k=w+4|0;j=f[C>>2]|0;f[k>>2]=j;p=w+8|0;f[p>>2]=f[G>>2];f[w+12>>2]=f[r+12>>2];G=w+16|0;n=r+16|0;f[G>>2]=f[n>>2];f[w+20>>2]=f[r+20>>2];f[w+24>>2]=f[r+24>>2];f[w+28>>2]=f[r+28>>2];f[w+32>>2]=f[r+32>>2];D=w+36|0;h=r+36|0;g=f[h>>2]|0;f[D>>2]=g;W=w+40|0;f[W>>2]=p;p=w+48|0;F=w+44|0;f[F>>2]=p;f[p>>2]=0;f[w+52>>2]=0;if(!g)Z=j;else{j=g+12|0;f[j>>2]=(f[j>>2]|0)+1;Z=f[C>>2]|0}if((Z|0)<3){Z=f[L>>2]|0;j=f[F>>2]|0;f[j>>2]=f[Z>>2];f[j+4>>2]=f[Z+4>>2]}else{f[k>>2]=0;WO(w,r)}f[x>>2]=f[s>>2];Z=x+4|0;j=f[M>>2]|0;f[Z>>2]=j;g=x+8|0;f[g>>2]=f[N>>2];f[x+12>>2]=f[s+12>>2];N=x+16|0;Y=s+16|0;f[N>>2]=f[Y>>2];f[x+20>>2]=f[s+20>>2];f[x+24>>2]=f[s+24>>2];f[x+28>>2]=f[s+28>>2];f[x+32>>2]=f[s+32>>2];d=x+36|0;A=s+36|0;c=f[A>>2]|0;f[d>>2]=c;X=x+40|0;f[X>>2]=g;g=x+48|0;E=x+44|0;f[E>>2]=g;f[g>>2]=0;f[x+52>>2]=0;if(!c)_=j;else{j=c+12|0;f[j>>2]=(f[j>>2]|0)+1;_=f[M>>2]|0}if((_|0)<3){_=f[Q>>2]|0;j=f[E>>2]|0;f[j>>2]=f[_>>2];f[j+4>>2]=f[_+4>>2]}else{f[Z>>2]=0;WO(x,s)}f[y>>2]=f[t>>2];_=y+4|0;j=f[R>>2]|0;f[_>>2]=j;c=y+8|0;f[c>>2]=f[S>>2];f[y+12>>2]=f[t+12>>2];S=y+16|0;b=t+16|0;f[S>>2]=f[b>>2];f[y+20>>2]=f[t+20>>2];f[y+24>>2]=f[t+24>>2];f[y+28>>2]=f[t+28>>2];f[y+32>>2]=f[t+32>>2];B=y+36|0;a=t+36|0;V=f[a>>2]|0;f[B>>2]=V;m=y+40|0;f[m>>2]=c;c=y+48|0;U=y+44|0;f[U>>2]=c;f[c>>2]=0;f[y+52>>2]=0;if(!V)$=j;else{j=V+12|0;f[j>>2]=(f[j>>2]|0)+1;$=f[R>>2]|0}if(($|0)<3){$=f[J>>2]|0;j=f[U>>2]|0;f[j>>2]=f[$>>2];f[j+4>>2]=f[$+4>>2]}else{f[_>>2]=0;WO(y,t)}f[z>>2]=f[v>>2];$=z+4|0;j=v+4|0;V=f[j>>2]|0;f[$>>2]=V;l=z+8|0;f[l>>2]=f[v+8>>2];f[z+12>>2]=f[v+12>>2];aa=z+16|0;ba=v+16|0;f[aa>>2]=f[ba>>2];f[z+20>>2]=f[v+20>>2];f[z+24>>2]=f[v+24>>2];f[z+28>>2]=f[v+28>>2];f[z+32>>2]=f[v+32>>2];ca=z+36|0;da=v+36|0;ea=f[da>>2]|0;f[ca>>2]=ea;fa=z+40|0;f[fa>>2]=l;l=z+48|0;ga=z+44|0;f[ga>>2]=l;f[l>>2]=0;f[z+52>>2]=0;if(!ea)ha=V;else{V=ea+12|0;f[V>>2]=(f[V>>2]|0)+1;ha=f[j>>2]|0}if((ha|0)<3){ha=f[v+44>>2]|0;V=f[ga>>2]|0;f[V>>2]=f[ha>>2];f[V+4>>2]=f[ha+4>>2]}else{f[$>>2]=0;WO(z,v)}lC(w,x,e,y,i,z,o);o=f[ca>>2]|0;if(o|0?(ha=o+12|0,o=f[ha>>2]|0,f[ha>>2]=o+-1,(o|0)==1):0)XO(z);f[ca>>2]=0;f[aa>>2]=0;f[aa+4>>2]=0;f[aa+8>>2]=0;f[aa+12>>2]=0;if((f[$>>2]|0)>0){aa=f[fa>>2]|0;fa=0;do{f[aa+(fa<<2)>>2]=0;fa=fa+1|0}while((fa|0)<(f[$>>2]|0))}$=f[ga>>2]|0;if(($|0)!=(l|0))dX($);$=f[B>>2]|0;if($|0?(l=$+12|0,$=f[l>>2]|0,f[l>>2]=$+-1,($|0)==1):0)XO(y);f[B>>2]=0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;f[S+12>>2]=0;if((f[_>>2]|0)>0){S=f[m>>2]|0;m=0;do{f[S+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[_>>2]|0))}_=f[U>>2]|0;if((_|0)!=(c|0))dX(_);_=f[d>>2]|0;if(_|0?(c=_+12|0,_=f[c>>2]|0,f[c>>2]=_+-1,(_|0)==1):0)XO(x);f[d>>2]=0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;if((f[Z>>2]|0)>0){N=f[X>>2]|0;X=0;do{f[N+(X<<2)>>2]=0;X=X+1|0}while((X|0)<(f[Z>>2]|0))}Z=f[E>>2]|0;if((Z|0)!=(g|0))dX(Z);Z=f[D>>2]|0;do if(Z|0){g=Z+12|0;E=f[g>>2]|0;f[g>>2]=E+-1;if((E|0)!=1)break;XO(w)}while(0);f[D>>2]=0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;if((f[k>>2]|0)>0){G=f[W>>2]|0;W=0;do{f[G+(W<<2)>>2]=0;W=W+1|0}while((W|0)<(f[k>>2]|0))}k=f[F>>2]|0;if((k|0)!=(p|0))dX(k);k=f[da>>2]|0;do if(k|0){p=k+12|0;F=f[p>>2]|0;f[p>>2]=F+-1;if((F|0)!=1)break;XO(v)}while(0);f[da>>2]=0;f[ba>>2]=0;f[ba+4>>2]=0;f[ba+8>>2]=0;f[ba+12>>2]=0;if((f[j>>2]|0)>0){ba=f[v+40>>2]|0;da=0;do{f[ba+(da<<2)>>2]=0;da=da+1|0}while((da|0)<(f[j>>2]|0))}j=f[v+44>>2]|0;if((j|0)!=(v+48|0))dX(j);j=f[a>>2]|0;do if(j|0){v=j+12|0;da=f[v>>2]|0;f[v>>2]=da+-1;if((da|0)!=1)break;XO(t)}while(0);f[a>>2]=0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[R>>2]|0)>0){b=f[T>>2]|0;T=0;do{f[b+(T<<2)>>2]=0;T=T+1|0}while((T|0)<(f[R>>2]|0))}R=f[J>>2]|0;if((R|0)!=(I|0))dX(R);R=f[A>>2]|0;do if(R|0){I=R+12|0;J=f[I>>2]|0;f[I>>2]=J+-1;if((J|0)!=1)break;XO(s)}while(0);f[A>>2]=0;f[Y>>2]=0;f[Y+4>>2]=0;f[Y+8>>2]=0;f[Y+12>>2]=0;if((f[M>>2]|0)>0){Y=f[O>>2]|0;O=0;do{f[Y+(O<<2)>>2]=0;O=O+1|0}while((O|0)<(f[M>>2]|0))}M=f[Q>>2]|0;if((M|0)!=(P|0))dX(M);M=f[h>>2]|0;do if(M|0){P=M+12|0;Q=f[P>>2]|0;f[P>>2]=Q+-1;if((Q|0)!=1)break;XO(r)}while(0);f[h>>2]=0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;if((f[C>>2]|0)>0){n=f[H>>2]|0;H=0;do{f[n+(H<<2)>>2]=0;H=H+1|0}while((H|0)<(f[C>>2]|0))}C=f[L>>2]|0;if((C|0)==(K|0)){u=q;return}dX(C);u=q;return}function zC(a,c,d,e,g,h,i){a=a|0;c=c|0;d=+d;e=e|0;g=+g;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;j=u;u=u+352|0;k=j+336|0;l=j+280|0;m=j+224|0;n=j+168|0;o=j+112|0;p=j+56|0;q=j;do if((HJ(a)|0)==65536){r=f[a+4>>2]|0;f[l>>2]=f[r>>2];s=l+4|0;t=r+4|0;f[s>>2]=f[t>>2];v=l+8|0;f[v>>2]=f[r+8>>2];f[l+12>>2]=f[r+12>>2];f[l+16>>2]=f[r+16>>2];f[l+20>>2]=f[r+20>>2];f[l+24>>2]=f[r+24>>2];f[l+28>>2]=f[r+28>>2];f[l+32>>2]=f[r+32>>2];w=f[r+36>>2]|0;f[l+36>>2]=w;f[l+40>>2]=v;v=l+48|0;x=l+44|0;f[x>>2]=v;f[v>>2]=0;f[l+52>>2]=0;if(w|0){v=w+12|0;f[v>>2]=(f[v>>2]|0)+1}if((f[t>>2]|0)<3){t=f[r+44>>2]|0;v=f[x>>2]|0;f[v>>2]=f[t>>2];f[v+4>>2]=f[t+4>>2];break}else{f[s>>2]=0;WO(l,r);break}}else DJ(l,a,-1);while(0);do if((HJ(c)|0)==65536){a=f[c+4>>2]|0;f[m>>2]=f[a>>2];r=m+4|0;s=a+4|0;f[r>>2]=f[s>>2];t=m+8|0;f[t>>2]=f[a+8>>2];f[m+12>>2]=f[a+12>>2];f[m+16>>2]=f[a+16>>2];f[m+20>>2]=f[a+20>>2];f[m+24>>2]=f[a+24>>2];f[m+28>>2]=f[a+28>>2];f[m+32>>2]=f[a+32>>2];v=f[a+36>>2]|0;f[m+36>>2]=v;f[m+40>>2]=t;t=m+48|0;x=m+44|0;f[x>>2]=t;f[t>>2]=0;f[m+52>>2]=0;if(v|0){t=v+12|0;f[t>>2]=(f[t>>2]|0)+1}if((f[s>>2]|0)<3){s=f[a+44>>2]|0;t=f[x>>2]|0;f[t>>2]=f[s>>2];f[t+4>>2]=f[s+4>>2];break}else{f[r>>2]=0;WO(m,a);break}}else DJ(m,c,-1);while(0);do if(g!=0.0){if((HJ(e)|0)!=65536){DJ(n,e,-1);break}c=f[e+4>>2]|0;f[n>>2]=f[c>>2];a=n+4|0;r=c+4|0;f[a>>2]=f[r>>2];s=n+8|0;f[s>>2]=f[c+8>>2];f[n+12>>2]=f[c+12>>2];f[n+16>>2]=f[c+16>>2];f[n+20>>2]=f[c+20>>2];f[n+24>>2]=f[c+24>>2];f[n+28>>2]=f[c+28>>2];f[n+32>>2]=f[c+32>>2];t=f[c+36>>2]|0;f[n+36>>2]=t;f[n+40>>2]=s;s=n+48|0;x=n+44|0;f[x>>2]=s;f[s>>2]=0;f[n+52>>2]=0;if(t|0){s=t+12|0;f[s>>2]=(f[s>>2]|0)+1}if((f[r>>2]|0)<3){r=f[c+44>>2]|0;s=f[x>>2]|0;f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2];break}else{f[a>>2]=0;WO(n,c);break}}else{f[n>>2]=1124007936;c=n+8|0;a=n+40|0;y=n+4|0;z=y+36|0;do{f[y>>2]=0;y=y+4|0}while((y|0)<(z|0));f[a>>2]=c;r=n+48|0;f[n+44>>2]=r;f[r>>2]=0;f[n+52>>2]=0}while(0);e=l+40|0;r=f[e>>2]|0;s=f[r+4>>2]|0;x=f[r>>2]|0;r=f[l>>2]|0;t=r&4095;if((t|0)!=(f[m>>2]&4095|0)){f[k>>2]=0;f[k+4>>2]=0;y=JV(k,16)|0;A=142198;z=y+16|0;do{b[y>>0]=b[A>>0]|0;y=y+1|0;A=A+1|0}while((y|0)<(z|0));EP(-215,k,142215,142068,1558);KV(k)}if(((r&4087)+-5|0)>>>0>=2){f[k>>2]=0;f[k+4>>2]=0;DVa(JV(k,210)|0,142220,210)|0;EP(-215,k,142215,142068,1558);KV(k)}switch(i&3){case 0:{v=f[m+12>>2]|0;if((s|0)==(f[m+8>>2]|0)){B=v;C=x}else{f[k>>2]=0;f[k+4>>2]=0;y=JV(k,19)|0;A=142431;z=y+19|0;do{b[y>>0]=b[A>>0]|0;y=y+1|0;A=A+1|0}while((y|0)<(z|0));EP(-215,k,142215,142068,1565);KV(k);B=v;C=x}break}case 1:{v=f[m+12>>2]|0;if((x|0)==(f[m+8>>2]|0)){B=v;C=s}else{f[k>>2]=0;f[k+4>>2]=0;y=JV(k,20)|0;A=142451;z=y+20|0;do{b[y>>0]=b[A>>0]|0;y=y+1|0;A=A+1|0}while((y|0)<(z|0));EP(-215,k,142215,142068,1570);KV(k);B=v;C=s}break}case 2:{v=f[m+8>>2]|0;if((s|0)==(f[m+12>>2]|0)){B=v;C=x}else{f[k>>2]=0;f[k+4>>2]=0;y=JV(k,19)|0;A=142431;z=y+19|0;do{b[y>>0]=b[A>>0]|0;y=y+1|0;A=A+1|0}while((y|0)<(z|0));EP(-215,k,142215,142068,1575);KV(k);B=v;C=x}break}case 3:{v=f[m+8>>2]|0;if((x|0)==(f[m+12>>2]|0)){B=v;C=s}else{f[k>>2]=0;f[k+4>>2]=0;y=JV(k,20)|0;A=142451;z=y+20|0;do{b[y>>0]=b[A>>0]|0;y=y+1|0;A=A+1|0}while((y|0)<(z|0));EP(-215,k,142215,142068,1580);KV(k);B=v;C=s}break}default:{}}v=n+16|0;do if(f[v>>2]|0){w=f[n+4>>2]|0;if((w|0)<3)D=X(f[n+12>>2]|0,f[n+8>>2]|0)|0;else{E=f[n+40>>2]|0;F=0;G=1;while(1){H=X(f[E+(F<<2)>>2]|0,G)|0;F=F+1|0;if((F|0)==(w|0)){D=H;break}else G=H}}if(!((w|0)==0|(D|0)==0)){if((f[n>>2]&4095|0)!=(t|0)){f[k>>2]=0;f[k+4>>2]=0;y=JV(k,16)|0;A=142472;z=y+16|0;do{b[y>>0]=b[A>>0]|0;y=y+1|0;A=A+1|0}while((y|0)<(z|0));EP(-215,k,142215,142068,1588);KV(k)}w=f[n+8>>2]|0;if(!(i&4)){if((w|0)==(C|0)?(f[n+12>>2]|0)==(B|0):0)break}else if((w|0)==(B|0)?(f[n+12>>2]|0)==(C|0):0)break;f[k>>2]=0;f[k+4>>2]=0;DVa(JV(k,158)|0,142489,158)|0;EP(-215,k,142215,142068,1588);KV(k)}}while(0);vK(h,C,B,t,-1,0,0);do if((HJ(h)|0)==65536){t=f[h+4>>2]|0;f[o>>2]=f[t>>2];D=o+4|0;w=t+4|0;f[D>>2]=f[w>>2];G=o+8|0;f[G>>2]=f[t+8>>2];f[o+12>>2]=f[t+12>>2];f[o+16>>2]=f[t+16>>2];f[o+20>>2]=f[t+20>>2];f[o+24>>2]=f[t+24>>2];f[o+28>>2]=f[t+28>>2];f[o+32>>2]=f[t+32>>2];F=f[t+36>>2]|0;f[o+36>>2]=F;f[o+40>>2]=G;G=o+48|0;E=o+44|0;f[E>>2]=G;f[G>>2]=0;f[o+52>>2]=0;if(F|0){G=F+12|0;f[G>>2]=(f[G>>2]|0)+1}if((f[w>>2]|0)<3){w=f[t+44>>2]|0;G=f[E>>2]|0;f[G>>2]=f[w>>2];f[G+4>>2]=f[w+4>>2];break}else{f[D>>2]=0;WO(o,t);break}}else DJ(o,h,-1);while(0);if(i&4){h=o+16|0;if((f[v>>2]|0)==(f[h>>2]|0)){f[k+8>>2]=0;f[k+12>>2]=0;f[k>>2]=16842752;f[k+4>>2]=n;t=p+8|0;f[t>>2]=0;f[t+4>>2]=0;f[p>>2]=33619968;f[p+4>>2]=n;DD(k,p);I=i&-5;J=h}else{I=i;J=h}}else{I=i;J=o+16|0}f[p>>2]=1124007936;i=p+4|0;h=p+8|0;t=p+40|0;y=i;z=y+36|0;do{f[y>>2]=0;y=y+4|0}while((y|0)<(z|0));f[t>>2]=h;D=p+48|0;w=p+44|0;f[w>>2]=D;f[D>>2]=0;f[p+52>>2]=0;G=f[J>>2]|0;E=l+16|0;if((G|0)!=(f[E>>2]|0)?(G|0)!=(f[m+16>>2]|0):0)K=o;else{G=f[o>>2]&4095;f[q>>2]=1124007936;F=q+4|0;c=q+8|0;a=q+40|0;y=F;z=y+36|0;do{f[y>>2]=0;y=y+4|0}while((y|0)<(z|0));f[a>>2]=c;H=q+48|0;L=q+44|0;f[L>>2]=H;f[H>>2]=0;f[q+52>>2]=0;f[k>>2]=C;f[k+4>>2]=B;VO(q,2,k,G);G=q+36|0;B=f[G>>2]|0;if(B|0){C=B+12|0;f[C>>2]=(f[C>>2]|0)+1}C=p+36|0;B=f[C>>2]|0;if(B|0?(M=B+12|0,B=f[M>>2]|0,f[M>>2]=B+-1,(B|0)==1):0)XO(p);f[C>>2]=0;B=p+16|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;if((f[i>>2]|0)>0){M=f[t>>2]|0;N=0;do{f[M+(N<<2)>>2]=0;N=N+1|0;O=f[i>>2]|0}while((N|0)<(O|0));f[p>>2]=f[q>>2];if((O|0)<3)P=75;else P=77}else{f[p>>2]=f[q>>2];P=75}if((P|0)==75){O=f[F>>2]|0;if((O|0)<3){f[i>>2]=O;f[h>>2]=f[c>>2];f[p+12>>2]=f[q+12>>2];c=f[L>>2]|0;h=f[w>>2]|0;f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2]}else P=77}if((P|0)==77)WO(p,q);c=q+16|0;f[B>>2]=f[c>>2];f[p+20>>2]=f[q+20>>2];f[p+24>>2]=f[q+24>>2];f[p+28>>2]=f[q+28>>2];f[p+32>>2]=f[q+32>>2];B=f[G>>2]|0;f[C>>2]=B;if(B|0?(C=B+12|0,B=f[C>>2]|0,f[C>>2]=B+-1,(B|0)==1):0)XO(q);f[G>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[F>>2]|0)>0){c=f[a>>2]|0;a=0;do{f[c+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[F>>2]|0))}F=f[L>>2]|0;if((F|0)!=(H|0))dX(F);K=p}switch(r&4095){case 5:{kC(f[E>>2]|0,f[l+48>>2]|0,f[m+16>>2]|0,f[m+48>>2]|0,d,f[v>>2]|0,f[n+48>>2]|0,g,f[K+16>>2]|0,f[K+48>>2]|0,x,s,f[K+12>>2]|0,I,5);break}case 6:{yC(f[E>>2]|0,f[l+48>>2]|0,f[m+16>>2]|0,f[m+48>>2]|0,d,f[v>>2]|0,f[n+48>>2]|0,g,f[K+16>>2]|0,f[K+48>>2]|0,x,s,f[K+12>>2]|0,I,6);break}case 13:{kC(f[E>>2]|0,f[l+48>>2]|0,f[m+16>>2]|0,f[m+48>>2]|0,d,f[v>>2]|0,f[n+48>>2]|0,g,f[K+16>>2]|0,f[K+48>>2]|0,x,s,f[K+12>>2]|0,I,13);break}case 14:{P=92;break}default:{f[k>>2]=0;f[k+4>>2]=0;y=JV(k,49)|0;A=142009;z=y+49|0;do{b[y>>0]=b[A>>0]|0;y=y+1|0;A=A+1|0}while((y|0)<(z|0));EP(-215,k,142215,142068,1623);KV(k);P=92}}if((P|0)==92)yC(f[E>>2]|0,f[l+48>>2]|0,f[m+16>>2]|0,f[m+48>>2]|0,d,f[v>>2]|0,f[n+48>>2]|0,g,f[J>>2]|0,f[o+48>>2]|0,x,s,f[K+12>>2]|0,I,14);if((K|0)!=(o|0)){I=k+8|0;f[I>>2]=0;f[I+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=o;eM(K,k)}k=p+36|0;K=f[k>>2]|0;if(K|0?(I=K+12|0,K=f[I>>2]|0,f[I>>2]=K+-1,(K|0)==1):0)XO(p);f[k>>2]=0;k=p+16|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;if((f[i>>2]|0)>0){k=f[t>>2]|0;t=0;do{f[k+(t<<2)>>2]=0;t=t+1|0}while((t|0)<(f[i>>2]|0))}i=f[w>>2]|0;if((i|0)!=(D|0))dX(i);i=o+36|0;D=f[i>>2]|0;if(D|0?(w=D+12|0,D=f[w>>2]|0,f[w>>2]=D+-1,(D|0)==1):0)XO(o);f[i>>2]=0;i=o+4|0;f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[J+12>>2]=0;if((f[i>>2]|0)>0){J=f[o+40>>2]|0;D=0;do{f[J+(D<<2)>>2]=0;D=D+1|0}while((D|0)<(f[i>>2]|0))}i=f[o+44>>2]|0;if((i|0)!=(o+48|0))dX(i);i=n+36|0;o=f[i>>2]|0;if(o|0?(D=o+12|0,o=f[D>>2]|0,f[D>>2]=o+-1,(o|0)==1):0)XO(n);f[i>>2]=0;i=n+4|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;if((f[i>>2]|0)>0){v=f[n+40>>2]|0;o=0;do{f[v+(o<<2)>>2]=0;o=o+1|0}while((o|0)<(f[i>>2]|0))}i=f[n+44>>2]|0;if((i|0)!=(n+48|0))dX(i);i=m+36|0;n=f[i>>2]|0;do if(n|0){o=n+12|0;v=f[o>>2]|0;f[o>>2]=v+-1;if((v|0)!=1)break;XO(m)}while(0);f[i>>2]=0;i=m+16|0;n=m+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[n>>2]|0)>0){i=f[m+40>>2]|0;v=0;do{f[i+(v<<2)>>2]=0;v=v+1|0}while((v|0)<(f[n>>2]|0))}n=f[m+44>>2]|0;if((n|0)!=(m+48|0))dX(n);n=l+36|0;m=f[n>>2]|0;do if(m|0){v=m+12|0;i=f[v>>2]|0;f[v>>2]=i+-1;if((i|0)!=1)break;XO(l)}while(0);f[n>>2]=0;n=l+4|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;if((f[n>>2]|0)>0){E=f[e>>2]|0;e=0;do{f[E+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(f[n>>2]|0))}n=f[l+44>>2]|0;if((n|0)==(l+48|0)){u=j;return}dX(n);u=j;return}function AC(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0.0,$=0,aa=0,ba=0,ca=0,da=0,ea=0.0,fa=0.0,ga=0.0,ha=0;e=u;u=u+1424|0;g=e+1400|0;h=e+1392|0;i=e+1384|0;j=e+1328|0;k=e+1272|0;l=e+1264|0;m=e+1208|0;o=e;q=e+1152|0;r=e+1096|0;yV(i,28560);do if((HJ(a)|0)==65536){s=f[a+4>>2]|0;f[j>>2]=f[s>>2];t=j+4|0;v=s+4|0;f[t>>2]=f[v>>2];w=j+8|0;f[w>>2]=f[s+8>>2];f[j+12>>2]=f[s+12>>2];f[j+16>>2]=f[s+16>>2];f[j+20>>2]=f[s+20>>2];f[j+24>>2]=f[s+24>>2];f[j+28>>2]=f[s+28>>2];f[j+32>>2]=f[s+32>>2];x=f[s+36>>2]|0;f[j+36>>2]=x;f[j+40>>2]=w;w=j+48|0;y=j+44|0;f[y>>2]=w;f[w>>2]=0;f[j+52>>2]=0;if(x|0){w=x+12|0;f[w>>2]=(f[w>>2]|0)+1}if((f[v>>2]|0)<3){v=f[s+44>>2]|0;w=f[y>>2]|0;f[w>>2]=f[v>>2];f[w+4>>2]=f[v+4>>2];break}else{f[t>>2]=0;WO(j,s);break}}else DJ(j,a,-1);while(0);do if((HJ(d)|0)==65536){a=f[d+4>>2]|0;f[k>>2]=f[a>>2];s=k+4|0;t=a+4|0;f[s>>2]=f[t>>2];v=k+8|0;f[v>>2]=f[a+8>>2];w=k+12|0;f[w>>2]=f[a+12>>2];f[k+16>>2]=f[a+16>>2];f[k+20>>2]=f[a+20>>2];f[k+24>>2]=f[a+24>>2];f[k+28>>2]=f[a+28>>2];f[k+32>>2]=f[a+32>>2];y=f[a+36>>2]|0;f[k+36>>2]=y;f[k+40>>2]=v;x=k+48|0;z=k+44|0;f[z>>2]=x;f[x>>2]=0;f[k+52>>2]=0;if(y|0){x=y+12|0;f[x>>2]=(f[x>>2]|0)+1}if((f[t>>2]|0)<3){t=f[a+44>>2]|0;x=f[z>>2]|0;f[x>>2]=f[t>>2];f[x+4>>2]=f[t+4>>2];A=w;B=v;break}else{f[s>>2]=0;WO(k,a);A=w;B=v;break}}else{DJ(k,d,-1);A=k+12|0;B=k+8|0}while(0);d=f[j>>2]|0;v=d&7;w=d>>>3&511;d=w+1|0;a=f[B>>2]|0;s=f[A>>2]|0;t=w+2|0;if(!((d|0)==(s|0)|(t|0)==(s|0))){f[g>>2]=0;f[g+4>>2]=0;C=JV(g,34)|0;D=142648;E=C+34|0;do{b[C>>0]=b[D>>0]|0;C=C+1|0;D=D+1|0}while((C|0)<(E|0));EP(-215,g,142683,142068,2088);KV(g)}s=j+40|0;x=f[s>>2]|0;z=f[x>>2]|0;f[l>>2]=f[x+4>>2];f[l+4>>2]=z;_J(c,l,(a<<3)+-8|v,-1,0,0);do if((HJ(c)|0)==65536){l=f[c+4>>2]|0;f[m>>2]=f[l>>2];z=m+4|0;x=l+4|0;f[z>>2]=f[x>>2];y=m+8|0;f[y>>2]=f[l+8>>2];f[m+12>>2]=f[l+12>>2];f[m+16>>2]=f[l+16>>2];f[m+20>>2]=f[l+20>>2];f[m+24>>2]=f[l+24>>2];f[m+28>>2]=f[l+28>>2];f[m+32>>2]=f[l+32>>2];F=f[l+36>>2]|0;f[m+36>>2]=F;f[m+40>>2]=y;y=m+48|0;G=m+44|0;f[G>>2]=y;f[y>>2]=0;f[m+52>>2]=0;if(F|0){y=F+12|0;f[y>>2]=(f[y>>2]|0)+1}if((f[x>>2]|0)<3){x=f[l+44>>2]|0;y=f[G>>2]|0;f[y>>2]=f[x>>2];f[y+4>>2]=f[x+4>>2];break}else{f[z>>2]=0;WO(m,l);break}}else DJ(m,c,-1);while(0);c=(v|2|0)==6;l=c?6:5;z=o+8|0;f[o>>2]=z;x=o+4|0;f[x>>2]=136;y=f[k>>2]|0;if((f[A>>2]|0)==(t|0)&((y&16384|0)!=0&(y&4095|0)==(l|0)))H=f[k+16>>2]|0;else{y=X(t,a)|0;f[x>>2]=y;if(y>>>0>136){G=FQa(y>>>0>536870911?-1:y<<3)|0;f[o>>2]=G;I=G}else I=z;G=q+4|0;f[G>>2]=2;y=q+8|0;f[y>>2]=a;F=q+12|0;f[F>>2]=t;J=q+16|0;f[J>>2]=I;L=q+20|0;f[L>>2]=I;M=q+24|0;N=q+28|0;O=q+40|0;P=M+8|0;f[P>>2]=0;f[P+4>>2]=0;f[O>>2]=y;P=q+48|0;Q=q+44|0;f[Q>>2]=P;R=47696>>>(l<<1)&3;S=t<>2]=l|1124024320;f[P>>2]=S;f[q+52>>2]=1<>2]|0;T=I+(X(R,S)|0)|0;f[N>>2]=T;f[M>>2]=T+(0-S)+S;S=f[G>>2]|0;if((S|0)<3)U=X(f[F>>2]|0,R)|0;else{R=1;T=a;while(1){V=X(f[y+(R<<2)>>2]|0,T)|0;R=R+1|0;if((R|0)==(S|0)){U=V;break}else T=V}}if((S|0)>0)W=f[q+48+(S+-1<<2)>>2]|0;else W=0;FVa(I|0,0,X(W,U)|0)|0;U=f[A>>2]|0;if((U|0)!=(t|0)){f[g>>2]=-2147483648;f[g+4>>2]=2147483647;f[h>>2]=0;f[h+4>>2]=U;YO(r,q,g,h);U=g+8|0;f[U>>2]=0;f[U+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=r;AO(k,g,l,1.0,0.0);U=r+36|0;t=f[U>>2]|0;if(t|0?(W=t+12|0,t=f[W>>2]|0,f[W>>2]=t+-1,(t|0)==1):0)XO(r);f[U>>2]=0;U=r+16|0;t=r+4|0;f[U>>2]=0;f[U+4>>2]=0;f[U+8>>2]=0;f[U+12>>2]=0;if((f[t>>2]|0)>0){U=f[r+40>>2]|0;W=0;do{f[U+(W<<2)>>2]=0;W=W+1|0}while((W|0)<(f[t>>2]|0))}t=f[r+44>>2]|0;if((t|0)!=(r+48|0))dX(t)}else{t=g+8|0;f[t>>2]=0;f[t+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=q;AO(k,g,l,1.0,0.0)}l=q+36|0;t=f[l>>2]|0;if(t|0){r=t+12|0;f[r>>2]=(f[r>>2]|0)+1}r=k+36|0;t=f[r>>2]|0;if(t|0?(W=t+12|0,t=f[W>>2]|0,f[W>>2]=t+-1,(t|0)==1):0)XO(k);f[r>>2]=0;t=k+16|0;W=k+4|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;if((f[W>>2]|0)>0){U=f[k+40>>2]|0;S=0;do{f[U+(S<<2)>>2]=0;S=S+1|0;Y=f[W>>2]|0}while((S|0)<(Y|0));f[k>>2]=f[q>>2];if((Y|0)<3)Z=53;else Z=55}else{f[k>>2]=f[q>>2];Z=53}if((Z|0)==53){Y=f[G>>2]|0;if((Y|0)<3){f[W>>2]=Y;f[B>>2]=f[y>>2];f[A>>2]=f[F>>2];F=f[Q>>2]|0;y=f[k+44>>2]|0;f[y>>2]=f[F>>2];f[y+4>>2]=f[F+4>>2]}else Z=55}if((Z|0)==55)WO(k,q);f[t>>2]=f[J>>2];f[k+20>>2]=f[L>>2];f[k+24>>2]=f[M>>2];f[k+28>>2]=f[N>>2];f[k+32>>2]=f[q+32>>2];N=f[l>>2]|0;f[r>>2]=N;if(N|0?(r=N+12|0,N=f[r>>2]|0,f[r>>2]=N+-1,(N|0)==1):0)XO(q);f[l>>2]=0;f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[J+12>>2]=0;if((f[G>>2]|0)>0){J=f[O>>2]|0;O=0;do{f[J+(O<<2)>>2]=0;O=O+1|0}while((O|0)<(f[G>>2]|0))}G=f[Q>>2]|0;if((G|0)!=(P|0))dX(G);H=I}do if((d|0)==(a|0)){_=c?2.220446049250313e-16:1.1920928955078125e-07;I=k+16|0;if(w|0){G=f[I>>2]|0;P=f[k+44>>2]|0;if(c){Q=1;O=0;while(1){if(!(Q&1))$=Q;else{J=G+(X(f[P>>2]|0,O)|0)|0;l=0;N=Q;while(1){r=(O|0)!=(l|0)?+K(+(+p[J+(l<<3)>>3]))>_:0;M=r?0:N;if((l|0)<(w|0)&(M&1)!=0){l=l+1|0;N=M}else{$=M;break}}}if((O|0)<(w|0)&($&1)!=0){Q=$;O=O+1|0}else{aa=$;break}}}else{O=1;Q=0;while(1){if(!(O&1))ba=O;else{N=G+(X(f[P>>2]|0,Q)|0)|0;l=0;J=O;while(1){M=(Q|0)!=(l|0)?_<+K(+(+n[N+(l<<2)>>2])):0;r=M?0:J;if((l|0)<(w|0)&(r&1)!=0){l=l+1|0;J=r}else{ba=r;break}}}if((Q|0)<(w|0)&(ba&1)!=0){O=ba;Q=Q+1|0}else{aa=ba;break}}}ca=aa&1?28580:28612;Z=94;break}if(c){Q=f[I>>2]|0;_=+p[Q>>3];do if((f[k>>2]&16384|0)==0?(O=f[k+40>>2]|0,(f[O>>2]|0)!=1):0)if((f[O+4>>2]|0)==1){da=Q+(f[f[k+44>>2]>>2]|0)|0;break}else{O=f[A>>2]|0;P=(O+1|0)>>>0<3?O:0;G=1-(X(P,O)|0)|0;da=Q+(X(f[f[k+44>>2]>>2]|0,P)|0)+(G<<3)|0;break}else Z=83;while(0);if((Z|0)==83)da=Q+8|0;ea=+p[da>>3];fa=_}else{G=f[I>>2]|0;ga=+n[G>>2];do if((f[k>>2]&16384|0)==0?(P=f[k+40>>2]|0,(f[P>>2]|0)!=1):0)if((f[P+4>>2]|0)==1){ha=G+(f[f[k+44>>2]>>2]|0)|0;break}else{P=f[A>>2]|0;O=(P+1|0)>>>0<3?P:0;J=1-(X(O,P)|0)|0;ha=G+(X(f[f[k+44>>2]>>2]|0,O)|0)+(J<<2)|0;break}else Z=76;while(0);if((Z|0)==76)ha=G+4|0;ea=+n[ha>>2];fa=ga}I=g+8|0;f[I>>2]=0;f[I+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=m;AO(j,g,f[m>>2]&4095,fa,ea)}else{ca=28612;Z=94}while(0);if((Z|0)==94){Z=f[ca+(v<<2)>>2]|0;if(!Z){f[g>>2]=0;f[g+4>>2]=0;C=JV(g,9)|0;D=196746;E=C+9|0;do{b[C>>0]=b[D>>0]|0;C=C+1|0;D=D+1|0}while((C|0)<(E|0));EP(-215,g,142683,142068,2144);KV(g)}f[g>>2]=j;f[g+4>>2]=m;f[g+8>>2]=0;FN(q,g,h,-1);g=f[q+20>>2]|0;D=q+16|0;C=h+4|0;E=0;while(1){if(E>>>0>=(f[D>>2]|0)>>>0)break;ci[Z&127](f[h>>2]|0,f[C>>2]|0,H,g,d,a);GN(q)|0;E=E+1|0}}E=f[o>>2]|0;if((E|0)!=(z|0)){if(E|0)HQa(E);f[o>>2]=z;f[x>>2]=136}x=m+36|0;z=f[x>>2]|0;if(z|0?(o=z+12|0,z=f[o>>2]|0,f[o>>2]=z+-1,(z|0)==1):0)XO(m);f[x>>2]=0;x=m+16|0;z=m+4|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;if((f[z>>2]|0)>0){x=f[m+40>>2]|0;o=0;do{f[x+(o<<2)>>2]=0;o=o+1|0}while((o|0)<(f[z>>2]|0))}z=f[m+44>>2]|0;if((z|0)!=(m+48|0))dX(z);z=k+36|0;m=f[z>>2]|0;if(m|0?(o=m+12|0,m=f[o>>2]|0,f[o>>2]=m+-1,(m|0)==1):0)XO(k);f[z>>2]=0;z=k+16|0;m=k+4|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;if((f[m>>2]|0)>0){z=f[k+40>>2]|0;o=0;do{f[z+(o<<2)>>2]=0;o=o+1|0}while((o|0)<(f[m>>2]|0))}m=f[k+44>>2]|0;if((m|0)!=(k+48|0))dX(m);m=j+36|0;k=f[m>>2]|0;if(k|0?(o=k+12|0,k=f[o>>2]|0,f[o>>2]=k+-1,(k|0)==1):0)XO(j);f[m>>2]=0;m=j+16|0;k=j+4|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;if((f[k>>2]|0)>0){m=f[s>>2]|0;s=0;do{f[m+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[k>>2]|0))}k=f[j+44>>2]|0;if((k|0)!=(j+48|0))dX(k);if(!(f[i+4>>2]|0)){u=e;return}u=e;return}function BC(a,c,d,e,f,g){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0.0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0,M=0,N=0,O=0,P=0;if((f|0)==2&(g|0)==2){i=e<<1;if((e|0)<=0)return;j=d+4|0;k=d+8|0;l=d+12|0;m=d+16|0;o=d+20|0;p=0;do{q=+(h[a+p>>0]|0);r=p|1;s=+(h[a+r>>0]|0);t=HEa(+n[k>>2]+(+n[d>>2]*q+ +n[j>>2]*s))|0;u=HEa(+n[o>>2]+(+n[l>>2]*q+ +n[m>>2]*s))|0;b[c+p>>0]=t>>>0<256?t:(t|0)>0?255:0;b[c+r>>0]=u>>>0<256?u:(u|0)>0?255:0;p=p+2|0}while((p|0)<(i|0));return}i=(f|0)==3;if(i&(g|0)==3){p=e*3|0;if((e|0)<=0)return;m=d+4|0;l=d+8|0;o=d+12|0;j=d+16|0;k=d+20|0;u=d+24|0;r=d+28|0;t=d+32|0;v=d+36|0;w=d+40|0;x=d+44|0;y=0;do{s=+(h[a+y>>0]|0);z=y+1|0;q=+(h[a+z>>0]|0);A=y+2|0;B=+(h[a+A>>0]|0);C=HEa(+n[o>>2]+(+n[d>>2]*s+ +n[m>>2]*q+ +n[l>>2]*B))|0;D=HEa(+n[r>>2]+(+n[j>>2]*s+ +n[k>>2]*q+ +n[u>>2]*B))|0;E=HEa(+n[x>>2]+(+n[t>>2]*s+ +n[v>>2]*q+ +n[w>>2]*B))|0;b[c+y>>0]=C>>>0<256?C:(C|0)>0?255:0;b[c+z>>0]=D>>>0<256?D:(D|0)>0?255:0;b[c+A>>0]=E>>>0<256?E:(E|0)>0?255:0;y=y+3|0}while((y|0)<(p|0));return}if(i&(g|0)==1){if((e|0)<=0)return;i=d+4|0;p=d+8|0;y=d+12|0;w=a;v=0;while(1){t=HEa(+n[y>>2]+(+n[d>>2]*+(h[w>>0]|0)+ +n[i>>2]*+(h[w+1>>0]|0)+ +n[p>>2]*+(h[w+2>>0]|0)))|0;b[c+v>>0]=t>>>0<256?t:(t|0)>0?255:0;v=v+1|0;if((v|0)==(e|0))break;else w=w+3|0}return}if((f|0)==4&(g|0)==4){w=e<<2;if((e|0)<=0)return;v=d+4|0;p=d+8|0;i=d+12|0;y=d+16|0;t=d+20|0;x=d+24|0;u=d+28|0;k=d+32|0;j=d+36|0;r=d+40|0;l=d+44|0;m=d+48|0;o=d+52|0;E=d+56|0;A=d+60|0;D=d+64|0;z=d+68|0;C=d+72|0;F=d+76|0;G=0;do{B=+(h[a+G>>0]|0);H=G|1;q=+(h[a+H>>0]|0);I=G|2;s=+(h[a+I>>0]|0);J=G|3;K=+(h[a+J>>0]|0);L=HEa(+n[y>>2]+(+n[d>>2]*B+ +n[v>>2]*q+ +n[p>>2]*s+ +n[i>>2]*K))|0;M=HEa(+n[j>>2]+(+n[t>>2]*B+ +n[x>>2]*q+ +n[u>>2]*s+ +n[k>>2]*K))|0;b[c+G>>0]=L>>>0<256?L:(L|0)>0?255:0;b[c+H>>0]=M>>>0<256?M:(M|0)>0?255:0;M=HEa(+n[E>>2]+(+n[r>>2]*B+ +n[l>>2]*q+ +n[m>>2]*s+ +n[o>>2]*K))|0;H=HEa(+n[F>>2]+(+n[A>>2]*B+ +n[D>>2]*q+ +n[z>>2]*s+ +n[C>>2]*K))|0;b[c+I>>0]=M>>>0<256?M:(M|0)>0?255:0;b[c+J>>0]=H>>>0<256?H:(H|0)>0?255:0;G=G+4|0}while((G|0)<(w|0));return}if((e|0)<=0)return;w=f+1|0;if((g|0)<=0)return;if((f|0)>0){N=c;O=a;P=0}else{a=c;c=0;while(1){G=0;C=d;while(1){z=HEa(+n[C+(f<<2)>>2])|0;b[a+G>>0]=z>>>0<256?z:(z|0)>0?255:0;G=G+1|0;if((G|0)==(g|0))break;else C=C+(w<<2)|0}c=c+1|0;if((c|0)==(e|0))break;else a=a+g|0}return}while(1){a=0;c=d;while(1){C=0;K=+n[c+(f<<2)>>2];do{K=K+ +n[c+(C<<2)>>2]*+(h[O+C>>0]|0);C=C+1|0}while((C|0)!=(f|0));C=HEa(K)|0;b[N+a>>0]=C>>>0<256?C:(C|0)>0?255:0;a=a+1|0;if((a|0)==(g|0))break;else c=c+(w<<2)|0}P=P+1|0;if((P|0)==(e|0))break;else{N=N+g|0;O=O+f|0}}return}function CC(a,c,d,e,f,g){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0.0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0,L=0,M=0,N=0,O=0;if((f|0)==2&(g|0)==2){h=e<<1;if((e|0)<=0)return;i=d+4|0;j=d+8|0;k=d+12|0;l=d+16|0;m=d+20|0;o=0;do{p=+(b[a+o>>0]|0);q=o|1;r=+(b[a+q>>0]|0);s=HEa(+n[j>>2]+(+n[d>>2]*p+ +n[i>>2]*r))|0;t=HEa(+n[m>>2]+(+n[k>>2]*p+ +n[l>>2]*r))|0;b[c+o>>0]=(s+128|0)>>>0<256?s:(s|0)>0?127:128;b[c+q>>0]=(t+128|0)>>>0<256?t:(t|0)>0?127:128;o=o+2|0}while((o|0)<(h|0));return}h=(f|0)==3;if(h&(g|0)==3){o=e*3|0;if((e|0)<=0)return;l=d+4|0;k=d+8|0;m=d+12|0;i=d+16|0;j=d+20|0;t=d+24|0;q=d+28|0;s=d+32|0;u=d+36|0;v=d+40|0;w=d+44|0;x=0;do{r=+(b[a+x>>0]|0);y=x+1|0;p=+(b[a+y>>0]|0);z=x+2|0;A=+(b[a+z>>0]|0);B=HEa(+n[m>>2]+(+n[d>>2]*r+ +n[l>>2]*p+ +n[k>>2]*A))|0;C=HEa(+n[q>>2]+(+n[i>>2]*r+ +n[j>>2]*p+ +n[t>>2]*A))|0;D=HEa(+n[w>>2]+(+n[s>>2]*r+ +n[u>>2]*p+ +n[v>>2]*A))|0;b[c+x>>0]=(B+128|0)>>>0<256?B:(B|0)>0?127:128;b[c+y>>0]=(C+128|0)>>>0<256?C:(C|0)>0?127:128;b[c+z>>0]=(D+128|0)>>>0<256?D:(D|0)>0?127:128;x=x+3|0}while((x|0)<(o|0));return}if(h&(g|0)==1){if((e|0)<=0)return;h=d+4|0;o=d+8|0;x=d+12|0;v=a;u=0;while(1){s=HEa(+n[x>>2]+(+n[d>>2]*+(b[v>>0]|0)+ +n[h>>2]*+(b[v+1>>0]|0)+ +n[o>>2]*+(b[v+2>>0]|0)))|0;b[c+u>>0]=(s+128|0)>>>0<256?s:(s|0)>0?127:128;u=u+1|0;if((u|0)==(e|0))break;else v=v+3|0}return}if((f|0)==4&(g|0)==4){v=e<<2;if((e|0)<=0)return;u=d+4|0;o=d+8|0;h=d+12|0;x=d+16|0;s=d+20|0;w=d+24|0;t=d+28|0;j=d+32|0;i=d+36|0;q=d+40|0;k=d+44|0;l=d+48|0;m=d+52|0;D=d+56|0;z=d+60|0;C=d+64|0;y=d+68|0;B=d+72|0;E=d+76|0;F=0;do{A=+(b[a+F>>0]|0);G=F|1;p=+(b[a+G>>0]|0);H=F|2;r=+(b[a+H>>0]|0);I=F|3;J=+(b[a+I>>0]|0);K=HEa(+n[x>>2]+(+n[d>>2]*A+ +n[u>>2]*p+ +n[o>>2]*r+ +n[h>>2]*J))|0;L=HEa(+n[i>>2]+(+n[s>>2]*A+ +n[w>>2]*p+ +n[t>>2]*r+ +n[j>>2]*J))|0;b[c+F>>0]=(K+128|0)>>>0<256?K:(K|0)>0?127:128;b[c+G>>0]=(L+128|0)>>>0<256?L:(L|0)>0?127:128;L=HEa(+n[D>>2]+(+n[q>>2]*A+ +n[k>>2]*p+ +n[l>>2]*r+ +n[m>>2]*J))|0;G=HEa(+n[E>>2]+(+n[z>>2]*A+ +n[C>>2]*p+ +n[y>>2]*r+ +n[B>>2]*J))|0;b[c+H>>0]=(L+128|0)>>>0<256?L:(L|0)>0?127:128;b[c+I>>0]=(G+128|0)>>>0<256?G:(G|0)>0?127:128;F=F+4|0}while((F|0)<(v|0));return}if((e|0)<=0)return;v=f+1|0;if((g|0)<=0)return;if((f|0)>0){M=c;N=a;O=0}else{a=c;c=0;while(1){F=0;B=d;while(1){y=HEa(+n[B+(f<<2)>>2])|0;b[a+F>>0]=(y+128|0)>>>0<256?y:(y|0)>0?127:128;F=F+1|0;if((F|0)==(g|0))break;else B=B+(v<<2)|0}c=c+1|0;if((c|0)==(e|0))break;else a=a+g|0}return}while(1){a=0;c=d;while(1){B=0;J=+n[c+(f<<2)>>2];do{J=J+ +n[c+(B<<2)>>2]*+(b[N+B>>0]|0);B=B+1|0}while((B|0)!=(f|0));B=HEa(J)|0;b[M+a>>0]=(B+128|0)>>>0<256?B:(B|0)>0?127:128;a=a+1|0;if((a|0)==(g|0))break;else c=c+(v<<2)|0}O=O+1|0;if((O|0)==(e|0))break;else{M=M+g|0;N=N+f|0}}return}function DC(a,b,c,e,f,g){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0.0,k=0.0,l=0.0,m=0.0,o=0.0,p=0.0,q=0,r=0.0,s=0,t=0.0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0,Q=0,R=0;if((f|0)==2&(g|0)==2){h=e<<1;if((e|0)<=0)return;i=+n[c>>2];k=+n[c+4>>2];l=+n[c+8>>2];m=+n[c+12>>2];o=+n[c+16>>2];p=+n[c+20>>2];q=0;do{r=+(j[a+(q<<1)>>1]|0);s=q|1;t=+(j[a+(s<<1)>>1]|0);u=HEa(l+(i*r+k*t))|0;v=HEa(p+(m*r+o*t))|0;d[b+(q<<1)>>1]=u>>>0<65536?u:(u|0)>0?65535:0;d[b+(s<<1)>>1]=v>>>0<65536?v:(v|0)>0?65535:0;q=q+2|0}while((q|0)<(h|0));return}h=(f|0)==3;if(h&(g|0)==3){q=e*3|0;if((e|0)<=0)return;o=+n[c>>2];m=+n[c+4>>2];p=+n[c+8>>2];k=+n[c+12>>2];i=+n[c+16>>2];l=+n[c+20>>2];t=+n[c+24>>2];r=+n[c+28>>2];w=+n[c+32>>2];x=+n[c+36>>2];y=+n[c+40>>2];z=+n[c+44>>2];v=0;do{A=+(j[a+(v<<1)>>1]|0);s=v+1|0;B=+(j[a+(s<<1)>>1]|0);u=v+2|0;C=+(j[a+(u<<1)>>1]|0);D=HEa(k+(o*A+m*B+p*C))|0;E=HEa(r+(i*A+l*B+t*C))|0;F=HEa(z+(w*A+x*B+y*C))|0;d[b+(v<<1)>>1]=D>>>0<65536?D:(D|0)>0?65535:0;d[b+(s<<1)>>1]=E>>>0<65536?E:(E|0)>0?65535:0;d[b+(u<<1)>>1]=F>>>0<65536?F:(F|0)>0?65535:0;v=v+3|0}while((v|0)<(q|0));return}if(h&(g|0)==1){if((e|0)<=0)return;y=+n[c>>2];x=+n[c+4>>2];w=+n[c+8>>2];z=+n[c+12>>2];h=a;q=0;while(1){v=HEa(z+(y*+(j[h>>1]|0)+x*+(j[h+2>>1]|0)+w*+(j[h+4>>1]|0)))|0;d[b+(q<<1)>>1]=v>>>0<65536?v:(v|0)>0?65535:0;q=q+1|0;if((q|0)==(e|0))break;else h=h+6|0}return}if((f|0)==4&(g|0)==4){h=e<<2;if((e|0)<=0)return;w=+n[c>>2];x=+n[c+4>>2];y=+n[c+8>>2];z=+n[c+12>>2];t=+n[c+16>>2];l=+n[c+20>>2];i=+n[c+24>>2];r=+n[c+28>>2];p=+n[c+32>>2];m=+n[c+36>>2];o=+n[c+40>>2];k=+n[c+44>>2];C=+n[c+48>>2];B=+n[c+52>>2];A=+n[c+56>>2];G=+n[c+60>>2];H=+n[c+64>>2];I=+n[c+68>>2];J=+n[c+72>>2];K=+n[c+76>>2];q=0;do{L=+(j[a+(q<<1)>>1]|0);v=q|1;M=+(j[a+(v<<1)>>1]|0);F=q|2;N=+(j[a+(F<<1)>>1]|0);u=q|3;O=+(j[a+(u<<1)>>1]|0);E=HEa(t+(w*L+x*M+y*N+z*O))|0;s=HEa(m+(l*L+i*M+r*N+p*O))|0;d[b+(q<<1)>>1]=E>>>0<65536?E:(E|0)>0?65535:0;d[b+(v<<1)>>1]=s>>>0<65536?s:(s|0)>0?65535:0;s=HEa(A+(o*L+k*M+C*N+B*O))|0;v=HEa(K+(G*L+H*M+I*N+J*O))|0;d[b+(F<<1)>>1]=s>>>0<65536?s:(s|0)>0?65535:0;d[b+(u<<1)>>1]=v>>>0<65536?v:(v|0)>0?65535:0;q=q+4|0}while((q|0)<(h|0));return}if((e|0)<=0)return;h=f+1|0;if((g|0)<=0)return;if((f|0)>0){P=b;Q=a;R=0}else{a=b;b=0;while(1){q=0;v=c;while(1){u=HEa(+n[v+(f<<2)>>2])|0;d[a+(q<<1)>>1]=u>>>0<65536?u:(u|0)>0?65535:0;q=q+1|0;if((q|0)==(g|0))break;else v=v+(h<<2)|0}b=b+1|0;if((b|0)==(e|0))break;else a=a+(g<<1)|0}return}while(1){a=0;b=c;while(1){v=0;J=+n[b+(f<<2)>>2];do{J=J+ +n[b+(v<<2)>>2]*+(j[Q+(v<<1)>>1]|0);v=v+1|0}while((v|0)!=(f|0));v=HEa(J)|0;d[P+(a<<1)>>1]=v>>>0<65536?v:(v|0)>0?65535:0;a=a+1|0;if((a|0)==(g|0))break;else b=b+(h<<2)|0}R=R+1|0;if((R|0)==(e|0))break;else{P=P+(g<<1)|0;Q=Q+(f<<1)|0}}return}function EC(a,b,c,e,f,g){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,o=0.0,p=0,q=0.0,r=0,s=0.0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0,P=0,Q=0;if((f|0)==2&(g|0)==2){h=e<<1;if((e|0)<=0)return;i=+n[c>>2];j=+n[c+4>>2];k=+n[c+8>>2];l=+n[c+12>>2];m=+n[c+16>>2];o=+n[c+20>>2];p=0;do{q=+(d[a+(p<<1)>>1]|0);r=p|1;s=+(d[a+(r<<1)>>1]|0);t=HEa(k+(i*q+j*s))|0;u=HEa(o+(l*q+m*s))|0;d[b+(p<<1)>>1]=(t+32768|0)>>>0<65536?t:(t|0)>0?32767:32768;d[b+(r<<1)>>1]=(u+32768|0)>>>0<65536?u:(u|0)>0?32767:32768;p=p+2|0}while((p|0)<(h|0));return}h=(f|0)==3;if(h&(g|0)==3){p=e*3|0;if((e|0)<=0)return;m=+n[c>>2];l=+n[c+4>>2];o=+n[c+8>>2];j=+n[c+12>>2];i=+n[c+16>>2];k=+n[c+20>>2];s=+n[c+24>>2];q=+n[c+28>>2];v=+n[c+32>>2];w=+n[c+36>>2];x=+n[c+40>>2];y=+n[c+44>>2];u=0;do{z=+(d[a+(u<<1)>>1]|0);r=u+1|0;A=+(d[a+(r<<1)>>1]|0);t=u+2|0;B=+(d[a+(t<<1)>>1]|0);C=HEa(j+(m*z+l*A+o*B))|0;D=HEa(q+(i*z+k*A+s*B))|0;E=HEa(y+(v*z+w*A+x*B))|0;d[b+(u<<1)>>1]=(C+32768|0)>>>0<65536?C:(C|0)>0?32767:32768;d[b+(r<<1)>>1]=(D+32768|0)>>>0<65536?D:(D|0)>0?32767:32768;d[b+(t<<1)>>1]=(E+32768|0)>>>0<65536?E:(E|0)>0?32767:32768;u=u+3|0}while((u|0)<(p|0));return}if(h&(g|0)==1){if((e|0)<=0)return;x=+n[c>>2];w=+n[c+4>>2];v=+n[c+8>>2];y=+n[c+12>>2];h=a;p=0;while(1){u=HEa(y+(x*+(d[h>>1]|0)+w*+(d[h+2>>1]|0)+v*+(d[h+4>>1]|0)))|0;d[b+(p<<1)>>1]=(u+32768|0)>>>0<65536?u:(u|0)>0?32767:32768;p=p+1|0;if((p|0)==(e|0))break;else h=h+6|0}return}if((f|0)==4&(g|0)==4){h=e<<2;if((e|0)<=0)return;v=+n[c>>2];w=+n[c+4>>2];x=+n[c+8>>2];y=+n[c+12>>2];s=+n[c+16>>2];k=+n[c+20>>2];i=+n[c+24>>2];q=+n[c+28>>2];o=+n[c+32>>2];l=+n[c+36>>2];m=+n[c+40>>2];j=+n[c+44>>2];B=+n[c+48>>2];A=+n[c+52>>2];z=+n[c+56>>2];F=+n[c+60>>2];G=+n[c+64>>2];H=+n[c+68>>2];I=+n[c+72>>2];J=+n[c+76>>2];p=0;do{K=+(d[a+(p<<1)>>1]|0);u=p|1;L=+(d[a+(u<<1)>>1]|0);E=p|2;M=+(d[a+(E<<1)>>1]|0);t=p|3;N=+(d[a+(t<<1)>>1]|0);D=HEa(s+(v*K+w*L+x*M+y*N))|0;r=HEa(l+(k*K+i*L+q*M+o*N))|0;d[b+(p<<1)>>1]=(D+32768|0)>>>0<65536?D:(D|0)>0?32767:32768;d[b+(u<<1)>>1]=(r+32768|0)>>>0<65536?r:(r|0)>0?32767:32768;r=HEa(z+(m*K+j*L+B*M+A*N))|0;u=HEa(J+(F*K+G*L+H*M+I*N))|0;d[b+(E<<1)>>1]=(r+32768|0)>>>0<65536?r:(r|0)>0?32767:32768;d[b+(t<<1)>>1]=(u+32768|0)>>>0<65536?u:(u|0)>0?32767:32768;p=p+4|0}while((p|0)<(h|0));return}if((e|0)<=0)return;h=f+1|0;if((g|0)<=0)return;if((f|0)>0){O=b;P=a;Q=0}else{a=b;b=0;while(1){p=0;u=c;while(1){t=HEa(+n[u+(f<<2)>>2])|0;d[a+(p<<1)>>1]=(t+32768|0)>>>0<65536?t:(t|0)>0?32767:32768;p=p+1|0;if((p|0)==(g|0))break;else u=u+(h<<2)|0}b=b+1|0;if((b|0)==(e|0))break;else a=a+(g<<1)|0}return}while(1){a=0;b=c;while(1){u=0;I=+n[b+(f<<2)>>2];do{I=I+ +n[b+(u<<2)>>2]*+(d[P+(u<<1)>>1]|0);u=u+1|0}while((u|0)!=(f|0));u=HEa(I)|0;d[O+(a<<1)>>1]=(u+32768|0)>>>0<65536?u:(u|0)>0?32767:32768;a=a+1|0;if((a|0)==(g|0))break;else b=b+(h<<2)|0}Q=Q+1|0;if((Q|0)==(e|0))break;else{O=O+(g<<1)|0;P=P+(f<<1)|0}}return}function FC(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,q=0.0,r=0,s=0.0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0,P=0,Q=0;if((e|0)==2&(g|0)==2){h=d<<1;if((d|0)<=0)return;i=+p[c>>3];j=+p[c+8>>3];k=+p[c+16>>3];l=+p[c+24>>3];m=+p[c+32>>3];n=+p[c+40>>3];o=0;do{q=+(f[a+(o<<2)>>2]|0);r=o|1;s=+(f[a+(r<<2)>>2]|0);t=AEa(k+(i*q+j*s))|0;u=AEa(n+(l*q+m*s))|0;f[b+(o<<2)>>2]=t;f[b+(r<<2)>>2]=u;o=o+2|0}while((o|0)<(h|0));return}h=(e|0)==3;if(h&(g|0)==3){o=d*3|0;if((d|0)<=0)return;m=+p[c>>3];l=+p[c+8>>3];n=+p[c+16>>3];j=+p[c+24>>3];i=+p[c+32>>3];k=+p[c+40>>3];s=+p[c+48>>3];q=+p[c+56>>3];v=+p[c+64>>3];w=+p[c+72>>3];x=+p[c+80>>3];y=+p[c+88>>3];u=0;do{z=+(f[a+(u<<2)>>2]|0);r=u+1|0;A=+(f[a+(r<<2)>>2]|0);t=u+2|0;B=+(f[a+(t<<2)>>2]|0);C=AEa(j+(m*z+l*A+n*B))|0;D=AEa(q+(i*z+k*A+s*B))|0;E=AEa(y+(v*z+w*A+x*B))|0;f[b+(u<<2)>>2]=C;f[b+(r<<2)>>2]=D;f[b+(t<<2)>>2]=E;u=u+3|0}while((u|0)<(o|0));return}if(h&(g|0)==1){if((d|0)<=0)return;x=+p[c>>3];w=+p[c+8>>3];v=+p[c+16>>3];y=+p[c+24>>3];h=a;o=0;while(1){u=AEa(y+(x*+(f[h>>2]|0)+w*+(f[h+4>>2]|0)+v*+(f[h+8>>2]|0)))|0;f[b+(o<<2)>>2]=u;o=o+1|0;if((o|0)==(d|0))break;else h=h+12|0}return}if((e|0)==4&(g|0)==4){h=d<<2;if((d|0)<=0)return;v=+p[c>>3];w=+p[c+8>>3];x=+p[c+16>>3];y=+p[c+24>>3];s=+p[c+32>>3];k=+p[c+40>>3];i=+p[c+48>>3];q=+p[c+56>>3];n=+p[c+64>>3];l=+p[c+72>>3];m=+p[c+80>>3];j=+p[c+88>>3];B=+p[c+96>>3];A=+p[c+104>>3];z=+p[c+112>>3];F=+p[c+120>>3];G=+p[c+128>>3];H=+p[c+136>>3];I=+p[c+144>>3];J=+p[c+152>>3];o=0;do{K=+(f[a+(o<<2)>>2]|0);u=o|1;L=+(f[a+(u<<2)>>2]|0);E=o|2;M=+(f[a+(E<<2)>>2]|0);t=o|3;N=+(f[a+(t<<2)>>2]|0);D=AEa(s+(v*K+w*L+x*M+y*N))|0;r=AEa(l+(k*K+i*L+q*M+n*N))|0;f[b+(o<<2)>>2]=D;f[b+(u<<2)>>2]=r;r=AEa(z+(m*K+j*L+B*M+A*N))|0;u=AEa(J+(F*K+G*L+H*M+I*N))|0;f[b+(E<<2)>>2]=r;f[b+(t<<2)>>2]=u;o=o+4|0}while((o|0)<(h|0));return}if((d|0)<=0)return;h=e+1|0;if((g|0)<=0)return;if((e|0)>0){O=b;P=a;Q=0}else{a=b;b=0;while(1){o=0;u=c;while(1){t=AEa(+p[u+(e<<3)>>3])|0;f[a+(o<<2)>>2]=t;o=o+1|0;if((o|0)==(g|0))break;else u=u+(h<<3)|0}b=b+1|0;if((b|0)==(d|0))break;else a=a+(g<<2)|0}return}while(1){a=0;b=c;while(1){u=0;I=+p[b+(e<<3)>>3];do{I=I+ +p[b+(u<<3)>>3]*+(f[P+(u<<2)>>2]|0);u=u+1|0}while((u|0)!=(e|0));u=AEa(I)|0;f[O+(a<<2)>>2]=u;a=a+1|0;if((a|0)==(g|0))break;else b=b+(h<<3)|0}Q=Q+1|0;if((Q|0)==(d|0))break;else{O=O+(g<<2)|0;P=P+(e<<2)|0}}return}function GC(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0.0,q=0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;if((e|0)==2&(g|0)==2){h=d<<1;if((d|0)<=0)return;i=c+4|0;j=c+8|0;k=c+12|0;l=c+16|0;m=c+20|0;o=0;do{p=+n[a+(o<<2)>>2];q=o|1;r=+n[a+(q<<2)>>2];s=+n[m>>2]+(p*+n[k>>2]+r*+n[l>>2]);n[b+(o<<2)>>2]=+n[j>>2]+(p*+n[c>>2]+r*+n[i>>2]);n[b+(q<<2)>>2]=s;o=o+2|0}while((o|0)<(h|0));return}h=(e|0)==3;if(h&(g|0)==3){o=d*3|0;if((d|0)<=0)return;i=c+4|0;j=c+8|0;l=c+12|0;k=c+16|0;m=c+20|0;q=c+24|0;t=c+28|0;u=c+32|0;v=c+36|0;w=c+40|0;x=c+44|0;y=0;do{s=+n[a+(y<<2)>>2];z=y+1|0;r=+n[a+(z<<2)>>2];A=y+2|0;p=+n[a+(A<<2)>>2];B=+n[t>>2]+(s*+n[k>>2]+r*+n[m>>2]+p*+n[q>>2]);C=+n[x>>2]+(s*+n[u>>2]+r*+n[v>>2]+p*+n[w>>2]);n[b+(y<<2)>>2]=+n[l>>2]+(s*+n[c>>2]+r*+n[i>>2]+p*+n[j>>2]);n[b+(z<<2)>>2]=B;n[b+(A<<2)>>2]=C;y=y+3|0}while((y|0)<(o|0));return}if(h&(g|0)==1){if((d|0)<=0)return;h=c+4|0;o=c+8|0;y=c+12|0;j=a;i=0;while(1){n[b+(i<<2)>>2]=+n[y>>2]+(+n[c>>2]*+n[j>>2]+ +n[h>>2]*+n[j+4>>2]+ +n[o>>2]*+n[j+8>>2]);i=i+1|0;if((i|0)==(d|0))break;else j=j+12|0}return}if((e|0)==4&(g|0)==4){j=d<<2;if((d|0)<=0)return;i=c+4|0;o=c+8|0;h=c+12|0;y=c+16|0;l=c+20|0;w=c+24|0;v=c+28|0;u=c+32|0;x=c+36|0;q=c+40|0;m=c+44|0;k=c+48|0;t=c+52|0;A=c+56|0;z=c+60|0;D=c+64|0;E=c+68|0;F=c+72|0;G=c+76|0;H=0;do{C=+n[a+(H<<2)>>2];I=H|1;B=+n[a+(I<<2)>>2];J=H|2;p=+n[a+(J<<2)>>2];K=H|3;r=+n[a+(K<<2)>>2];s=+n[x>>2]+(C*+n[l>>2]+B*+n[w>>2]+p*+n[v>>2]+r*+n[u>>2]);n[b+(H<<2)>>2]=+n[y>>2]+(C*+n[c>>2]+B*+n[i>>2]+p*+n[o>>2]+r*+n[h>>2]);n[b+(I<<2)>>2]=s;s=+n[G>>2]+(C*+n[z>>2]+B*+n[D>>2]+p*+n[E>>2]+r*+n[F>>2]);n[b+(J<<2)>>2]=+n[A>>2]+(C*+n[q>>2]+B*+n[m>>2]+p*+n[k>>2]+r*+n[t>>2]);n[b+(K<<2)>>2]=s;H=H+4|0}while((H|0)<(j|0));return}if((d|0)<=0)return;j=e+1|0;if((g|0)<=0)return;if((e|0)>0){L=b;M=a;N=0}else{a=b;b=0;while(1){H=0;t=c;while(1){f[a+(H<<2)>>2]=f[t+(e<<2)>>2];H=H+1|0;if((H|0)==(g|0))break;else t=t+(j<<2)|0}b=b+1|0;if((b|0)==(d|0))break;else a=a+(g<<2)|0}return}while(1){a=0;b=c;while(1){t=0;s=+n[b+(e<<2)>>2];do{s=s+ +n[b+(t<<2)>>2]*+n[M+(t<<2)>>2];t=t+1|0}while((t|0)!=(e|0));n[L+(a<<2)>>2]=s;a=a+1|0;if((a|0)==(g|0))break;else b=b+(j<<2)|0}N=N+1|0;if((N|0)==(d|0))break;else{L=L+(g<<2)|0;M=M+(e<<2)|0}}return}function HC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;if((e|0)==2&(f|0)==2){g=d<<1;if((d|0)<=0)return;h=c+8|0;i=c+16|0;j=c+24|0;k=c+32|0;l=c+40|0;m=0;do{n=+p[a+(m<<3)>>3];o=m|1;q=+p[a+(o<<3)>>3];r=+p[l>>3]+(n*+p[j>>3]+q*+p[k>>3]);p[b+(m<<3)>>3]=+p[i>>3]+(n*+p[c>>3]+q*+p[h>>3]);p[b+(o<<3)>>3]=r;m=m+2|0}while((m|0)<(g|0));return}g=(e|0)==3;if(g&(f|0)==3){m=d*3|0;if((d|0)<=0)return;h=c+8|0;i=c+16|0;k=c+24|0;j=c+32|0;l=c+40|0;o=c+48|0;s=c+56|0;t=c+64|0;u=c+72|0;v=c+80|0;w=c+88|0;x=0;do{r=+p[a+(x<<3)>>3];y=x+1|0;q=+p[a+(y<<3)>>3];z=x+2|0;n=+p[a+(z<<3)>>3];A=+p[s>>3]+(r*+p[j>>3]+q*+p[l>>3]+n*+p[o>>3]);B=+p[w>>3]+(r*+p[t>>3]+q*+p[u>>3]+n*+p[v>>3]);p[b+(x<<3)>>3]=+p[k>>3]+(r*+p[c>>3]+q*+p[h>>3]+n*+p[i>>3]);p[b+(y<<3)>>3]=A;p[b+(z<<3)>>3]=B;x=x+3|0}while((x|0)<(m|0));return}if(g&(f|0)==1){if((d|0)<=0)return;g=c+8|0;m=c+16|0;x=c+24|0;i=a;h=0;while(1){p[b+(h<<3)>>3]=+p[x>>3]+(+p[c>>3]*+p[i>>3]+ +p[g>>3]*+p[i+8>>3]+ +p[m>>3]*+p[i+16>>3]);h=h+1|0;if((h|0)==(d|0))break;else i=i+24|0}return}if((e|0)==4&(f|0)==4){i=d<<2;if((d|0)<=0)return;h=c+8|0;m=c+16|0;g=c+24|0;x=c+32|0;k=c+40|0;v=c+48|0;u=c+56|0;t=c+64|0;w=c+72|0;o=c+80|0;l=c+88|0;j=c+96|0;s=c+104|0;z=c+112|0;y=c+120|0;C=c+128|0;D=c+136|0;E=c+144|0;F=c+152|0;G=0;do{B=+p[a+(G<<3)>>3];H=G|1;A=+p[a+(H<<3)>>3];I=G|2;n=+p[a+(I<<3)>>3];J=G|3;q=+p[a+(J<<3)>>3];r=+p[w>>3]+(B*+p[k>>3]+A*+p[v>>3]+n*+p[u>>3]+q*+p[t>>3]);p[b+(G<<3)>>3]=+p[x>>3]+(B*+p[c>>3]+A*+p[h>>3]+n*+p[m>>3]+q*+p[g>>3]);p[b+(H<<3)>>3]=r;r=+p[F>>3]+(B*+p[y>>3]+A*+p[C>>3]+n*+p[D>>3]+q*+p[E>>3]);p[b+(I<<3)>>3]=+p[z>>3]+(B*+p[o>>3]+A*+p[l>>3]+n*+p[j>>3]+q*+p[s>>3]);p[b+(J<<3)>>3]=r;G=G+4|0}while((G|0)<(i|0));return}if((d|0)<=0)return;i=e+1|0;if((f|0)<=0)return;if((e|0)>0){K=b;L=a;M=0}else{a=b;b=0;while(1){G=0;s=c;while(1){p[a+(G<<3)>>3]=+p[s+(e<<3)>>3];G=G+1|0;if((G|0)==(f|0))break;else s=s+(i<<3)|0}b=b+1|0;if((b|0)==(d|0))break;else a=a+(f<<3)|0}return}while(1){a=0;b=c;while(1){s=0;r=+p[b+(e<<3)>>3];do{r=r+ +p[b+(s<<3)>>3]*+p[L+(s<<3)>>3];s=s+1|0}while((s|0)!=(e|0));p[K+(a<<3)>>3]=r;a=a+1|0;if((a|0)==(f|0))break;else b=b+(i<<3)|0}M=M+1|0;if((M|0)==(d|0))break;else{K=K+(f<<3)|0;L=L+(e<<3)|0}}return}function IC(a,c,d,e,f,g){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;switch(f|0){case 2:{g=e<<1;if((e|0)<=0)return;i=d+8|0;j=d+16|0;k=d+20|0;l=0;do{m=HEa(+n[i>>2]+ +n[d>>2]*+(h[a+l>>0]|0))|0;o=l|1;p=HEa(+n[k>>2]+ +n[j>>2]*+(h[a+o>>0]|0))|0;b[c+l>>0]=m>>>0<256?m:(m|0)>0?255:0;b[c+o>>0]=p>>>0<256?p:(p|0)>0?255:0;l=l+2|0}while((l|0)<(g|0));return}case 3:{g=e*3|0;if((e|0)<=0)return;l=d+12|0;j=d+20|0;k=d+28|0;i=d+40|0;p=d+44|0;o=0;do{m=HEa(+n[l>>2]+ +n[d>>2]*+(h[a+o>>0]|0))|0;q=o+1|0;r=HEa(+n[k>>2]+ +n[j>>2]*+(h[a+q>>0]|0))|0;s=o+2|0;t=HEa(+n[p>>2]+ +n[i>>2]*+(h[a+s>>0]|0))|0;b[c+o>>0]=m>>>0<256?m:(m|0)>0?255:0;b[c+q>>0]=r>>>0<256?r:(r|0)>0?255:0;b[c+s>>0]=t>>>0<256?t:(t|0)>0?255:0;o=o+3|0}while((o|0)<(g|0));return}case 4:{g=e<<2;if((e|0)<=0)return;o=d+16|0;i=d+24|0;p=d+36|0;j=d+48|0;k=d+56|0;l=d+72|0;t=d+76|0;s=0;do{r=HEa(+n[o>>2]+ +n[d>>2]*+(h[a+s>>0]|0))|0;q=s|1;m=HEa(+n[p>>2]+ +n[i>>2]*+(h[a+q>>0]|0))|0;b[c+s>>0]=r>>>0<256?r:(r|0)>0?255:0;b[c+q>>0]=m>>>0<256?m:(m|0)>0?255:0;m=s|2;q=HEa(+n[k>>2]+ +n[j>>2]*+(h[a+m>>0]|0))|0;r=s|3;u=HEa(+n[t>>2]+ +n[l>>2]*+(h[a+r>>0]|0))|0;b[c+m>>0]=q>>>0<256?q:(q|0)>0?255:0;b[c+r>>0]=u>>>0<256?u:(u|0)>0?255:0;s=s+4|0}while((s|0)<(g|0));return}default:{if((e|0)<=0)return;g=f+1|0;if((f|0)>0){v=a;w=c;x=0}else return;while(1){c=d;a=0;while(1){s=HEa(+n[c+(a<<2)>>2]*+(h[v+a>>0]|0)+ +n[c+(f<<2)>>2])|0;b[w+a>>0]=s>>>0<256?s:(s|0)>0?255:0;a=a+1|0;if((a|0)==(f|0))break;else c=c+(g<<2)|0}x=x+1|0;if((x|0)==(e|0))break;else{v=v+f|0;w=w+f|0}}return}}}function JC(a,c,d,e,f,g){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;switch(f|0){case 2:{g=e<<1;if((e|0)<=0)return;h=d+8|0;i=d+16|0;j=d+20|0;k=0;do{l=HEa(+n[h>>2]+ +n[d>>2]*+(b[a+k>>0]|0))|0;m=k|1;o=HEa(+n[j>>2]+ +n[i>>2]*+(b[a+m>>0]|0))|0;b[c+k>>0]=(l+128|0)>>>0<256?l:(l|0)>0?127:128;b[c+m>>0]=(o+128|0)>>>0<256?o:(o|0)>0?127:128;k=k+2|0}while((k|0)<(g|0));return}case 3:{g=e*3|0;if((e|0)<=0)return;k=d+12|0;i=d+20|0;j=d+28|0;h=d+40|0;o=d+44|0;m=0;do{l=HEa(+n[k>>2]+ +n[d>>2]*+(b[a+m>>0]|0))|0;p=m+1|0;q=HEa(+n[j>>2]+ +n[i>>2]*+(b[a+p>>0]|0))|0;r=m+2|0;s=HEa(+n[o>>2]+ +n[h>>2]*+(b[a+r>>0]|0))|0;b[c+m>>0]=(l+128|0)>>>0<256?l:(l|0)>0?127:128;b[c+p>>0]=(q+128|0)>>>0<256?q:(q|0)>0?127:128;b[c+r>>0]=(s+128|0)>>>0<256?s:(s|0)>0?127:128;m=m+3|0}while((m|0)<(g|0));return}case 4:{g=e<<2;if((e|0)<=0)return;m=d+16|0;h=d+24|0;o=d+36|0;i=d+48|0;j=d+56|0;k=d+72|0;s=d+76|0;r=0;do{q=HEa(+n[m>>2]+ +n[d>>2]*+(b[a+r>>0]|0))|0;p=r|1;l=HEa(+n[o>>2]+ +n[h>>2]*+(b[a+p>>0]|0))|0;b[c+r>>0]=(q+128|0)>>>0<256?q:(q|0)>0?127:128;b[c+p>>0]=(l+128|0)>>>0<256?l:(l|0)>0?127:128;l=r|2;p=HEa(+n[j>>2]+ +n[i>>2]*+(b[a+l>>0]|0))|0;q=r|3;t=HEa(+n[s>>2]+ +n[k>>2]*+(b[a+q>>0]|0))|0;b[c+l>>0]=(p+128|0)>>>0<256?p:(p|0)>0?127:128;b[c+q>>0]=(t+128|0)>>>0<256?t:(t|0)>0?127:128;r=r+4|0}while((r|0)<(g|0));return}default:{if((e|0)<=0)return;g=f+1|0;if((f|0)>0){u=a;v=c;w=0}else return;while(1){c=d;a=0;while(1){r=HEa(+n[c+(a<<2)>>2]*+(b[u+a>>0]|0)+ +n[c+(f<<2)>>2])|0;b[v+a>>0]=(r+128|0)>>>0<256?r:(r|0)>0?127:128;a=a+1|0;if((a|0)==(f|0))break;else c=c+(g<<2)|0}w=w+1|0;if((w|0)==(e|0))break;else{u=u+f|0;v=v+f|0}}return}}}function KC(a,b,c,e,f,g){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0.0,i=0.0,k=0.0,l=0.0,m=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0,u=0,v=0.0,w=0.0,x=0,y=0,z=0;switch(f|0){case 2:{g=e<<1;if((e|0)<=0)return;h=+n[c>>2];i=+n[c+8>>2];k=+n[c+16>>2];l=+n[c+20>>2];m=0;do{o=HEa(i+h*+(j[a+(m<<1)>>1]|0))|0;p=m|1;q=HEa(l+k*+(j[a+(p<<1)>>1]|0))|0;d[b+(m<<1)>>1]=o>>>0<65536?o:(o|0)>0?65535:0;d[b+(p<<1)>>1]=q>>>0<65536?q:(q|0)>0?65535:0;m=m+2|0}while((m|0)<(g|0));return}case 3:{g=e*3|0;if((e|0)<=0)return;k=+n[c>>2];l=+n[c+12>>2];h=+n[c+20>>2];i=+n[c+28>>2];r=+n[c+40>>2];s=+n[c+44>>2];m=0;do{q=HEa(l+k*+(j[a+(m<<1)>>1]|0))|0;p=m+1|0;o=HEa(i+h*+(j[a+(p<<1)>>1]|0))|0;t=m+2|0;u=HEa(s+r*+(j[a+(t<<1)>>1]|0))|0;d[b+(m<<1)>>1]=q>>>0<65536?q:(q|0)>0?65535:0;d[b+(p<<1)>>1]=o>>>0<65536?o:(o|0)>0?65535:0;d[b+(t<<1)>>1]=u>>>0<65536?u:(u|0)>0?65535:0;m=m+3|0}while((m|0)<(g|0));return}case 4:{g=e<<2;if((e|0)<=0)return;r=+n[c>>2];s=+n[c+16>>2];h=+n[c+24>>2];i=+n[c+36>>2];k=+n[c+48>>2];l=+n[c+56>>2];v=+n[c+72>>2];w=+n[c+76>>2];m=0;do{u=HEa(s+r*+(j[a+(m<<1)>>1]|0))|0;t=m|1;o=HEa(i+h*+(j[a+(t<<1)>>1]|0))|0;d[b+(m<<1)>>1]=u>>>0<65536?u:(u|0)>0?65535:0;d[b+(t<<1)>>1]=o>>>0<65536?o:(o|0)>0?65535:0;o=m|2;t=HEa(l+k*+(j[a+(o<<1)>>1]|0))|0;u=m|3;p=HEa(w+v*+(j[a+(u<<1)>>1]|0))|0;d[b+(o<<1)>>1]=t>>>0<65536?t:(t|0)>0?65535:0;d[b+(u<<1)>>1]=p>>>0<65536?p:(p|0)>0?65535:0;m=m+4|0}while((m|0)<(g|0));return}default:{if((e|0)<=0)return;g=f+1|0;if((f|0)>0){x=a;y=b;z=0}else return;while(1){b=c;a=0;while(1){m=HEa(+n[b+(a<<2)>>2]*+(j[x+(a<<1)>>1]|0)+ +n[b+(f<<2)>>2])|0;d[y+(a<<1)>>1]=m>>>0<65536?m:(m|0)>0?65535:0;a=a+1|0;if((a|0)==(f|0))break;else b=b+(g<<2)|0}z=z+1|0;if((z|0)==(e|0))break;else{x=x+(f<<1)|0;y=y+(f<<1)|0}}return}}}function LC(a,b,c,e,f,g){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0,o=0,p=0,q=0.0,r=0.0,s=0,t=0,u=0.0,v=0.0,w=0,x=0,y=0;switch(f|0){case 2:{g=e<<1;if((e|0)<=0)return;h=+n[c>>2];i=+n[c+8>>2];j=+n[c+16>>2];k=+n[c+20>>2];l=0;do{m=HEa(i+h*+(d[a+(l<<1)>>1]|0))|0;o=l|1;p=HEa(k+j*+(d[a+(o<<1)>>1]|0))|0;d[b+(l<<1)>>1]=(m+32768|0)>>>0<65536?m:(m|0)>0?32767:32768;d[b+(o<<1)>>1]=(p+32768|0)>>>0<65536?p:(p|0)>0?32767:32768;l=l+2|0}while((l|0)<(g|0));return}case 3:{g=e*3|0;if((e|0)<=0)return;j=+n[c>>2];k=+n[c+12>>2];h=+n[c+20>>2];i=+n[c+28>>2];q=+n[c+40>>2];r=+n[c+44>>2];l=0;do{p=HEa(k+j*+(d[a+(l<<1)>>1]|0))|0;o=l+1|0;m=HEa(i+h*+(d[a+(o<<1)>>1]|0))|0;s=l+2|0;t=HEa(r+q*+(d[a+(s<<1)>>1]|0))|0;d[b+(l<<1)>>1]=(p+32768|0)>>>0<65536?p:(p|0)>0?32767:32768;d[b+(o<<1)>>1]=(m+32768|0)>>>0<65536?m:(m|0)>0?32767:32768;d[b+(s<<1)>>1]=(t+32768|0)>>>0<65536?t:(t|0)>0?32767:32768;l=l+3|0}while((l|0)<(g|0));return}case 4:{g=e<<2;if((e|0)<=0)return;q=+n[c>>2];r=+n[c+16>>2];h=+n[c+24>>2];i=+n[c+36>>2];j=+n[c+48>>2];k=+n[c+56>>2];u=+n[c+72>>2];v=+n[c+76>>2];l=0;do{t=HEa(r+q*+(d[a+(l<<1)>>1]|0))|0;s=l|1;m=HEa(i+h*+(d[a+(s<<1)>>1]|0))|0;d[b+(l<<1)>>1]=(t+32768|0)>>>0<65536?t:(t|0)>0?32767:32768;d[b+(s<<1)>>1]=(m+32768|0)>>>0<65536?m:(m|0)>0?32767:32768;m=l|2;s=HEa(k+j*+(d[a+(m<<1)>>1]|0))|0;t=l|3;o=HEa(v+u*+(d[a+(t<<1)>>1]|0))|0;d[b+(m<<1)>>1]=(s+32768|0)>>>0<65536?s:(s|0)>0?32767:32768;d[b+(t<<1)>>1]=(o+32768|0)>>>0<65536?o:(o|0)>0?32767:32768;l=l+4|0}while((l|0)<(g|0));return}default:{if((e|0)<=0)return;g=f+1|0;if((f|0)>0){w=a;x=b;y=0}else return;while(1){b=c;a=0;while(1){l=HEa(+n[b+(a<<2)>>2]*+(d[w+(a<<1)>>1]|0)+ +n[b+(f<<2)>>2])|0;d[x+(a<<1)>>1]=(l+32768|0)>>>0<65536?l:(l|0)>0?32767:32768;a=a+1|0;if((a|0)==(f|0))break;else b=b+(g<<2)|0}y=y+1|0;if((y|0)==(e|0))break;else{w=w+(f<<1)|0;x=x+(f<<1)|0}}return}}}function MC(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0,n=0,o=0,q=0.0,r=0.0,s=0,t=0,u=0.0,v=0.0,w=0,x=0,y=0;switch(e|0){case 2:{g=d<<1;if((d|0)<=0)return;h=+p[c>>3];i=+p[c+16>>3];j=+p[c+32>>3];k=+p[c+40>>3];l=0;do{m=AEa(i+h*+(f[a+(l<<2)>>2]|0))|0;n=l|1;o=AEa(k+j*+(f[a+(n<<2)>>2]|0))|0;f[b+(l<<2)>>2]=m;f[b+(n<<2)>>2]=o;l=l+2|0}while((l|0)<(g|0));return}case 3:{g=d*3|0;if((d|0)<=0)return;j=+p[c>>3];k=+p[c+24>>3];h=+p[c+40>>3];i=+p[c+56>>3];q=+p[c+80>>3];r=+p[c+88>>3];l=0;do{o=AEa(k+j*+(f[a+(l<<2)>>2]|0))|0;n=l+1|0;m=AEa(i+h*+(f[a+(n<<2)>>2]|0))|0;s=l+2|0;t=AEa(r+q*+(f[a+(s<<2)>>2]|0))|0;f[b+(l<<2)>>2]=o;f[b+(n<<2)>>2]=m;f[b+(s<<2)>>2]=t;l=l+3|0}while((l|0)<(g|0));return}case 4:{g=d<<2;if((d|0)<=0)return;q=+p[c>>3];r=+p[c+32>>3];h=+p[c+48>>3];i=+p[c+72>>3];j=+p[c+96>>3];k=+p[c+112>>3];u=+p[c+144>>3];v=+p[c+152>>3];l=0;do{t=AEa(r+q*+(f[a+(l<<2)>>2]|0))|0;s=l|1;m=AEa(i+h*+(f[a+(s<<2)>>2]|0))|0;f[b+(l<<2)>>2]=t;f[b+(s<<2)>>2]=m;m=l|2;s=AEa(k+j*+(f[a+(m<<2)>>2]|0))|0;t=l|3;n=AEa(v+u*+(f[a+(t<<2)>>2]|0))|0;f[b+(m<<2)>>2]=s;f[b+(t<<2)>>2]=n;l=l+4|0}while((l|0)<(g|0));return}default:{if((d|0)<=0)return;g=e+1|0;if((e|0)>0){w=a;x=b;y=0}else return;while(1){b=c;a=0;while(1){l=AEa(+p[b+(a<<3)>>3]*+(f[w+(a<<2)>>2]|0)+ +p[b+(e<<3)>>3])|0;f[x+(a<<2)>>2]=l;a=a+1|0;if((a|0)==(e|0))break;else b=b+(g<<3)|0}y=y+1|0;if((y|0)==(d|0))break;else{w=w+(e<<2)|0;x=x+(e<<2)|0}}return}}}function NC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0.0,m=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0;switch(e|0){case 2:{f=d<<1;if((d|0)<=0)return;g=c+8|0;h=c+16|0;i=c+20|0;j=0;do{k=j|1;l=+n[h>>2]*+n[a+(k<<2)>>2]+ +n[i>>2];n[b+(j<<2)>>2]=+n[c>>2]*+n[a+(j<<2)>>2]+ +n[g>>2];n[b+(k<<2)>>2]=l;j=j+2|0}while((j|0)<(f|0));return}case 3:{f=d*3|0;if((d|0)<=0)return;j=c+12|0;g=c+20|0;i=c+28|0;h=c+40|0;k=c+44|0;m=0;do{o=m+1|0;l=+n[g>>2]*+n[a+(o<<2)>>2]+ +n[i>>2];p=m+2|0;q=+n[h>>2]*+n[a+(p<<2)>>2]+ +n[k>>2];n[b+(m<<2)>>2]=+n[c>>2]*+n[a+(m<<2)>>2]+ +n[j>>2];n[b+(o<<2)>>2]=l;n[b+(p<<2)>>2]=q;m=m+3|0}while((m|0)<(f|0));return}case 4:{f=d<<2;if((d|0)<=0)return;m=c+16|0;j=c+24|0;k=c+36|0;h=c+48|0;i=c+56|0;g=c+72|0;p=c+76|0;o=0;do{r=o|1;q=+n[j>>2]*+n[a+(r<<2)>>2]+ +n[k>>2];n[b+(o<<2)>>2]=+n[c>>2]*+n[a+(o<<2)>>2]+ +n[m>>2];n[b+(r<<2)>>2]=q;r=o|2;s=o|3;q=+n[g>>2]*+n[a+(s<<2)>>2]+ +n[p>>2];n[b+(r<<2)>>2]=+n[h>>2]*+n[a+(r<<2)>>2]+ +n[i>>2];n[b+(s<<2)>>2]=q;o=o+4|0}while((o|0)<(f|0));return}default:{if((d|0)<=0)return;f=e+1|0;if((e|0)>0){t=a;u=b;v=0}else return;while(1){b=c;a=0;while(1){n[u+(a<<2)>>2]=+n[t+(a<<2)>>2]*+n[b+(a<<2)>>2]+ +n[b+(e<<2)>>2];a=a+1|0;if((a|0)==(e|0))break;else b=b+(f<<2)|0}v=v+1|0;if((v|0)==(d|0))break;else{t=t+(e<<2)|0;u=u+(e<<2)|0}}return}}}function OC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,q=0.0,r=0,s=0,t=0,u=0,v=0;switch(e|0){case 2:{f=d<<1;if((d|0)<=0)return;g=c+16|0;h=c+32|0;i=c+40|0;j=0;do{k=j|1;l=+p[h>>3]*+p[a+(k<<3)>>3]+ +p[i>>3];p[b+(j<<3)>>3]=+p[c>>3]*+p[a+(j<<3)>>3]+ +p[g>>3];p[b+(k<<3)>>3]=l;j=j+2|0}while((j|0)<(f|0));return}case 3:{f=d*3|0;if((d|0)<=0)return;j=c+24|0;g=c+40|0;i=c+56|0;h=c+80|0;k=c+88|0;m=0;do{n=m+1|0;l=+p[g>>3]*+p[a+(n<<3)>>3]+ +p[i>>3];o=m+2|0;q=+p[h>>3]*+p[a+(o<<3)>>3]+ +p[k>>3];p[b+(m<<3)>>3]=+p[c>>3]*+p[a+(m<<3)>>3]+ +p[j>>3];p[b+(n<<3)>>3]=l;p[b+(o<<3)>>3]=q;m=m+3|0}while((m|0)<(f|0));return}case 4:{f=d<<2;if((d|0)<=0)return;m=c+32|0;j=c+48|0;k=c+72|0;h=c+96|0;i=c+112|0;g=c+144|0;o=c+152|0;n=0;do{r=n|1;q=+p[j>>3]*+p[a+(r<<3)>>3]+ +p[k>>3];p[b+(n<<3)>>3]=+p[c>>3]*+p[a+(n<<3)>>3]+ +p[m>>3];p[b+(r<<3)>>3]=q;r=n|2;s=n|3;q=+p[g>>3]*+p[a+(s<<3)>>3]+ +p[o>>3];p[b+(r<<3)>>3]=+p[h>>3]*+p[a+(r<<3)>>3]+ +p[i>>3];p[b+(s<<3)>>3]=q;n=n+4|0}while((n|0)<(f|0));return}default:{if((d|0)<=0)return;f=e+1|0;if((e|0)>0){t=a;u=b;v=0}else return;while(1){b=c;a=0;while(1){p[u+(a<<3)>>3]=+p[t+(a<<3)>>3]*+p[b+(a<<3)>>3]+ +p[b+(e<<3)>>3];a=a+1|0;if((a|0)==(e|0))break;else b=b+(f<<3)|0}v=v+1|0;if((v|0)==(d|0))break;else{t=t+(e<<3)|0;u=u+(e<<3)|0}}return}}}function PC(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;e=u;u=u+1392|0;g=e+1376|0;h=e+1320|0;i=e+1264|0;j=e+1208|0;k=e+1200|0;l=e;m=e+1144|0;n=e+1128|0;o=e+1096|0;yV(g,28644);do if((HJ(a)|0)==65536){p=f[a+4>>2]|0;f[h>>2]=f[p>>2];q=h+4|0;r=p+4|0;f[q>>2]=f[r>>2];s=h+8|0;f[s>>2]=f[p+8>>2];f[h+12>>2]=f[p+12>>2];f[h+16>>2]=f[p+16>>2];f[h+20>>2]=f[p+20>>2];f[h+24>>2]=f[p+24>>2];f[h+28>>2]=f[p+28>>2];f[h+32>>2]=f[p+32>>2];t=f[p+36>>2]|0;f[h+36>>2]=t;f[h+40>>2]=s;s=h+48|0;v=h+44|0;f[v>>2]=s;f[s>>2]=0;f[h+52>>2]=0;if(t|0){s=t+12|0;f[s>>2]=(f[s>>2]|0)+1}if((f[r>>2]|0)<3){r=f[p+44>>2]|0;s=f[v>>2]|0;f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2];break}else{f[q>>2]=0;WO(h,p);break}}else DJ(h,a,-1);while(0);do if((HJ(d)|0)==65536){a=f[d+4>>2]|0;f[i>>2]=f[a>>2];p=i+4|0;q=a+4|0;f[p>>2]=f[q>>2];r=i+8|0;f[r>>2]=f[a+8>>2];s=i+12|0;f[s>>2]=f[a+12>>2];f[i+16>>2]=f[a+16>>2];f[i+20>>2]=f[a+20>>2];f[i+24>>2]=f[a+24>>2];f[i+28>>2]=f[a+28>>2];f[i+32>>2]=f[a+32>>2];v=f[a+36>>2]|0;f[i+36>>2]=v;f[i+40>>2]=r;t=i+48|0;w=i+44|0;f[w>>2]=t;f[t>>2]=0;f[i+52>>2]=0;if(v|0){t=v+12|0;f[t>>2]=(f[t>>2]|0)+1}if((f[q>>2]|0)<3){q=f[a+44>>2]|0;t=f[w>>2]|0;f[t>>2]=f[q>>2];f[t+4>>2]=f[q+4>>2];x=r;y=s;break}else{f[p>>2]=0;WO(i,a);x=r;y=s;break}}else{DJ(i,d,-1);x=i+8|0;y=i+12|0}while(0);d=f[h>>2]|0;s=d&7;r=d>>>3&511;d=r+1|0;a=f[x>>2]|0;p=a+-1|0;q=r+2|0;if((q|0)!=(f[y>>2]|0)){f[j>>2]=0;f[j+4>>2]=0;z=JV(j,17)|0;A=142761;B=z+17|0;do{b[z>>0]=b[A>>0]|0;z=z+1|0;A=A+1|0}while((z|0)<(B|0));EP(-215,j,142779,142068,2268);KV(j)}r=(s|0)==5;if((s+-5|0)>>>0>=2){f[j>>2]=0;f[j+4>>2]=0;z=JV(j,24)|0;A=167958;B=z+24|0;do{b[z>>0]=b[A>>0]|0;z=z+1|0;A=A+1|0}while((z|0)<(B|0));EP(-215,j,142779,142068,2269);KV(j)}A=h+40|0;z=f[A>>2]|0;B=f[z>>2]|0;f[k>>2]=f[z+4>>2];f[k+4>>2]=B;_J(c,k,(a<<3)+-16|s,-1,0,0);do if((HJ(c)|0)==65536){s=f[c+4>>2]|0;f[j>>2]=f[s>>2];k=j+4|0;B=s+4|0;f[k>>2]=f[B>>2];z=j+8|0;f[z>>2]=f[s+8>>2];f[j+12>>2]=f[s+12>>2];f[j+16>>2]=f[s+16>>2];f[j+20>>2]=f[s+20>>2];f[j+24>>2]=f[s+24>>2];f[j+28>>2]=f[s+28>>2];f[j+32>>2]=f[s+32>>2];t=f[s+36>>2]|0;f[j+36>>2]=t;f[j+40>>2]=z;z=j+48|0;w=j+44|0;f[w>>2]=z;f[z>>2]=0;f[j+52>>2]=0;if(t|0){z=t+12|0;f[z>>2]=(f[z>>2]|0)+1}if((f[B>>2]|0)<3){B=f[s+44>>2]|0;z=f[w>>2]|0;f[z>>2]=f[B>>2];f[z+4>>2]=f[B+4>>2];break}else{f[k>>2]=0;WO(j,s);break}}else DJ(j,c,-1);while(0);c=l+8|0;f[l>>2]=c;s=l+4|0;f[s>>2]=136;if((f[i>>2]&20479|0)==16390)C=f[i+16>>2]|0;else{k=X(q,a)|0;f[s>>2]=k;if(k>>>0>136){B=FQa(k>>>0>536870911?-1:k<<3)|0;f[l>>2]=B;D=B}else D=c;B=m+4|0;f[B>>2]=2;k=m+8|0;f[k>>2]=a;a=m+12|0;f[a>>2]=q;z=m+16|0;f[z>>2]=D;w=m+20|0;f[w>>2]=D;t=m+24|0;v=m+28|0;E=m+40|0;F=t+8|0;f[F>>2]=0;f[F+4>>2]=0;f[E>>2]=k;F=m+48|0;G=m+44|0;f[G>>2]=F;H=q<<3;f[m>>2]=1124024326;f[F>>2]=H;f[m+52>>2]=8;q=D+(X(f[k>>2]|0,H)|0)|0;f[v>>2]=q;f[t>>2]=q+(0-H)+H;H=n+8|0;f[H>>2]=0;f[H+4>>2]=0;f[n>>2]=33619968;f[n+4>>2]=m;AO(i,n,6,1.0,0.0);H=m+36|0;q=f[H>>2]|0;if(q|0){D=q+12|0;f[D>>2]=(f[D>>2]|0)+1}D=i+36|0;q=f[D>>2]|0;if(q|0?(I=q+12|0,q=f[I>>2]|0,f[I>>2]=q+-1,(q|0)==1):0)XO(i);f[D>>2]=0;q=i+16|0;I=i+4|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;if((f[I>>2]|0)>0){J=f[i+40>>2]|0;K=0;do{f[J+(K<<2)>>2]=0;K=K+1|0;L=f[I>>2]|0}while((K|0)<(L|0));f[i>>2]=f[m>>2];if((L|0)<3)M=39;else M=41}else{f[i>>2]=f[m>>2];M=39}if((M|0)==39){L=f[B>>2]|0;if((L|0)<3){f[I>>2]=L;f[x>>2]=f[k>>2];f[y>>2]=f[a>>2];a=f[G>>2]|0;y=f[i+44>>2]|0;f[y>>2]=f[a>>2];f[y+4>>2]=f[a+4>>2]}else M=41}if((M|0)==41)WO(i,m);f[q>>2]=f[z>>2];f[i+20>>2]=f[w>>2];f[i+24>>2]=f[t>>2];f[i+28>>2]=f[v>>2];f[i+32>>2]=f[m+32>>2];v=f[H>>2]|0;f[D>>2]=v;if(v|0?(D=v+12|0,v=f[D>>2]|0,f[D>>2]=v+-1,(v|0)==1):0)XO(m);f[H>>2]=0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;if((f[B>>2]|0)>0){z=f[E>>2]|0;E=0;do{f[z+(E<<2)>>2]=0;E=E+1|0}while((E|0)<(f[B>>2]|0))}B=f[G>>2]|0;if((B|0)!=(F|0))dX(B);C=c}B=r?124:123;f[m>>2]=h;f[m+4>>2]=j;f[m+8>>2]=0;FN(o,m,n,-1);m=f[o+20>>2]|0;r=o+16|0;F=n+4|0;G=0;while(1){if(G>>>0>=(f[r>>2]|0)>>>0)break;ci[B&127](f[n>>2]|0,f[F>>2]|0,C,m,d,p);GN(o)|0;G=G+1|0}G=f[l>>2]|0;if((G|0)!=(c|0)){if(G|0)HQa(G);f[l>>2]=c;f[s>>2]=136}s=j+36|0;c=f[s>>2]|0;if(c|0?(l=c+12|0,c=f[l>>2]|0,f[l>>2]=c+-1,(c|0)==1):0)XO(j);f[s>>2]=0;s=j+16|0;c=j+4|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if((f[c>>2]|0)>0){s=f[j+40>>2]|0;l=0;do{f[s+(l<<2)>>2]=0;l=l+1|0}while((l|0)<(f[c>>2]|0))}c=f[j+44>>2]|0;if((c|0)!=(j+48|0))dX(c);c=i+36|0;j=f[c>>2]|0;if(j|0?(l=j+12|0,j=f[l>>2]|0,f[l>>2]=j+-1,(j|0)==1):0)XO(i);f[c>>2]=0;c=i+16|0;j=i+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[j>>2]|0)>0){c=f[i+40>>2]|0;l=0;do{f[c+(l<<2)>>2]=0;l=l+1|0}while((l|0)<(f[j>>2]|0))}j=f[i+44>>2]|0;if((j|0)!=(i+48|0))dX(j);j=h+36|0;i=f[j>>2]|0;if(i|0?(l=i+12|0,i=f[l>>2]|0,f[l>>2]=i+-1,(i|0)==1):0)XO(h);f[j>>2]=0;j=h+16|0;i=h+4|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;if((f[i>>2]|0)>0){j=f[A>>2]|0;A=0;do{f[j+(A<<2)>>2]=0;A=A+1|0}while((A|0)<(f[i>>2]|0))}i=f[h+44>>2]|0;if((i|0)!=(h+48|0))dX(i);if(!(f[g+4>>2]|0)){u=e;return}u=e;return}function QC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0.0,j=0.0,k=0.0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0.0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0,J=0.0,L=0.0,M=0,N=0.0,O=0,P=0,Q=0,R=0,S=0,T=0;g=(f|0)==2;if((e|0)==2&g){h=d<<1;if((d|0)<=0)return;i=+p[c+48>>3];j=+p[c+56>>3];k=+p[c+64>>3];l=c+8|0;m=c+16|0;o=c+24|0;q=c+32|0;r=c+40|0;s=0;do{t=s|1;u=+n[a+(s<<2)>>2];v=+n[a+(t<<2)>>2];w=k+(i*u+j*v);if(+K(+w)>1.1920928955078125e-07){x=1.0/w;n[b+(s<<2)>>2]=x*(+p[m>>3]+(+p[c>>3]*u+ +p[l>>3]*v));y=t;z=x*(+p[r>>3]+(+p[o>>3]*u+ +p[q>>3]*v))}else{n[b+(t<<2)>>2]=0.0;y=s;z=0.0}n[b+(y<<2)>>2]=z;s=s+2|0}while((s|0)<(h|0));return}h=(e|0)==3;if(h&(f|0)==3){s=d*3|0;if((d|0)<=0)return;z=+p[c+96>>3];j=+p[c+104>>3];i=+p[c+112>>3];k=+p[c+120>>3];y=c+8|0;q=c+16|0;o=c+24|0;r=c+32|0;l=c+40|0;m=c+48|0;t=c+56|0;A=c+64|0;B=c+72|0;C=c+80|0;D=c+88|0;E=0;do{F=E+1|0;G=E+2|0;v=+n[a+(E<<2)>>2];u=+n[a+(F<<2)>>2];x=+n[a+(G<<2)>>2];w=k+(z*v+j*u+i*x);if(+K(+w)>1.1920928955078125e-07){H=1.0/w;n[b+(E<<2)>>2]=H*(+p[o>>3]+(+p[c>>3]*v+ +p[y>>3]*u+ +p[q>>3]*x));I=G;J=H*(+p[t>>3]+(+p[r>>3]*v+ +p[l>>3]*u+ +p[m>>3]*x));L=H*(+p[D>>3]+(+p[A>>3]*v+ +p[B>>3]*u+ +p[C>>3]*x))}else{n[b+(G<<2)>>2]=0.0;I=E;J=0.0;L=0.0}n[b+(F<<2)>>2]=J;n[b+(I<<2)>>2]=L;E=E+3|0}while((E|0)<(s|0));return}s=(d|0)>0;if(h&g){if(!s)return;L=+p[c+64>>3];J=+p[c+72>>3];i=+p[c+80>>3];j=+p[c+88>>3];g=c+8|0;h=c+16|0;E=c+24|0;I=c+32|0;C=c+40|0;B=c+48|0;A=c+56|0;D=a;m=b;l=0;while(1){z=+n[D>>2];k=+n[D+4>>2];x=+n[D+8>>2];u=j+(L*z+J*k+i*x);if(+K(+u)>1.1920928955078125e-07){v=1.0/u;n[m>>2]=v*(+p[E>>3]+(+p[c>>3]*z+ +p[g>>3]*k+ +p[h>>3]*x));M=m+4|0;N=v*(+p[A>>3]+(+p[I>>3]*z+ +p[C>>3]*k+ +p[B>>3]*x))}else{n[m+4>>2]=0.0;M=m;N=0.0}n[M>>2]=N;l=l+1|0;if((l|0)==(d|0))break;else{D=D+12|0;m=m+8|0}}return}if(!s)return;s=e+1|0;m=c+((X(s,f)|0)<<3)|0;N=+p[m+(e<<3)>>3];D=(f|0)>0;l=f<<2;if((e|0)>0){if(D){O=a;P=b;Q=0}else return;while(1){a=b+((X(Q,f)|0)<<2)|0;M=0;i=N;do{i=i+ +p[m+(M<<3)>>3]*+n[O+(M<<2)>>2];M=M+1|0}while((M|0)!=(e|0));if(+K(+i)>1.1920928955078125e-07){M=0;B=c;while(1){J=+p[B+(e<<3)>>3];C=0;do{J=J+ +p[B+(C<<3)>>3]*+n[O+(C<<2)>>2];C=C+1|0}while((C|0)!=(e|0));n[P+(M<<2)>>2]=i*J;M=M+1|0;if((M|0)==(f|0))break;else B=B+(s<<3)|0}}else FVa(a|0,0,l|0)|0;Q=Q+1|0;if((Q|0)==(d|0))break;else{O=O+(e<<2)|0;P=P+(f<<2)|0}}return}else{if(!(+K(+N)>1.1920928955078125e-07)){if(D)R=0;else return;do{FVa(b+((X(R,f)|0)<<2)|0,0,l|0)|0;R=R+1|0}while((R|0)!=(d|0));return}if(D){S=b;T=0}else return;while(1){b=0;D=c;while(1){n[S+(b<<2)>>2]=N*+p[D+(e<<3)>>3];b=b+1|0;if((b|0)==(f|0))break;else D=D+(s<<3)|0}T=T+1|0;if((T|0)==(d|0))break;else S=S+(f<<2)|0}return}}function RC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0.0,t=0,u=0.0,v=0.0,w=0.0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0,L=0.0,M=0,N=0,O=0,P=0,Q=0;g=(f|0)==2;if((e|0)==2&g){h=d<<1;if((d|0)<=0)return;i=c+48|0;j=c+56|0;k=c+64|0;l=c+8|0;m=c+16|0;n=c+24|0;o=c+32|0;q=c+40|0;r=0;do{s=+p[a+(r<<3)>>3];t=r|1;u=+p[a+(t<<3)>>3];v=+p[k>>3]+(s*+p[i>>3]+u*+p[j>>3]);if(+K(+v)>1.1920928955078125e-07){w=1.0/v;p[b+(r<<3)>>3]=w*(+p[m>>3]+(s*+p[c>>3]+u*+p[l>>3]));x=t;y=w*(+p[q>>3]+(s*+p[n>>3]+u*+p[o>>3]))}else{p[b+(t<<3)>>3]=0.0;x=r;y=0.0}p[b+(x<<3)>>3]=y;r=r+2|0}while((r|0)<(h|0));return}h=(e|0)==3;if(h&(f|0)==3){r=d*3|0;if((d|0)<=0)return;x=c+96|0;o=c+104|0;n=c+112|0;q=c+120|0;l=c+8|0;m=c+16|0;j=c+24|0;i=c+32|0;k=c+40|0;t=c+48|0;z=c+56|0;A=c+64|0;B=c+72|0;C=c+80|0;D=c+88|0;E=0;do{y=+p[a+(E<<3)>>3];F=E+1|0;u=+p[a+(F<<3)>>3];G=E+2|0;s=+p[a+(G<<3)>>3];w=+p[q>>3]+(y*+p[x>>3]+u*+p[o>>3]+s*+p[n>>3]);if(+K(+w)>1.1920928955078125e-07){v=1.0/w;p[b+(E<<3)>>3]=v*(+p[j>>3]+(y*+p[c>>3]+u*+p[l>>3]+s*+p[m>>3]));p[b+(F<<3)>>3]=v*(+p[z>>3]+(y*+p[i>>3]+u*+p[k>>3]+s*+p[t>>3]));H=G;I=v*(+p[D>>3]+(y*+p[A>>3]+u*+p[B>>3]+s*+p[C>>3]))}else{p[b+(G<<3)>>3]=0.0;p[b+(F<<3)>>3]=0.0;H=E;I=0.0}p[b+(H<<3)>>3]=I;E=E+3|0}while((E|0)<(r|0));return}r=(d|0)>0;if(h&g){if(!r)return;g=c+64|0;h=c+72|0;E=c+80|0;H=c+88|0;C=c+8|0;B=c+16|0;A=c+24|0;D=c+32|0;t=c+40|0;k=c+48|0;i=c+56|0;z=a;m=b;l=0;while(1){I=+p[z>>3];s=+p[z+8>>3];u=+p[z+16>>3];y=+p[H>>3]+(I*+p[g>>3]+s*+p[h>>3]+u*+p[E>>3]);if(+K(+y)>1.1920928955078125e-07){v=1.0/y;p[m>>3]=v*(+p[A>>3]+(I*+p[c>>3]+s*+p[C>>3]+u*+p[B>>3]));J=m+8|0;L=v*(+p[i>>3]+(I*+p[D>>3]+s*+p[t>>3]+u*+p[k>>3]))}else{p[m+8>>3]=0.0;J=m;L=0.0}p[J>>3]=L;l=l+1|0;if((l|0)==(d|0))break;else{z=z+24|0;m=m+16|0}}return}if(!r)return;r=e+1|0;m=c+((X(r,f)|0)<<3)|0;z=m+(e<<3)|0;l=(f|0)>0;J=f<<3;if((e|0)<=0){if(l){M=b;N=0}else return;while(1){L=+p[z>>3];if(+K(+L)>1.1920928955078125e-07){k=0;t=c;while(1){p[M+(k<<3)>>3]=L*+p[t+(e<<3)>>3];k=k+1|0;if((k|0)==(f|0))break;else t=t+(r<<3)|0}}else FVa(b+((X(N,f)|0)<<3)|0,0,J|0)|0;N=N+1|0;if((N|0)==(d|0))break;else M=M+(f<<3)|0}return}if(l){O=a;P=b;Q=0}else return;while(1){a=b+((X(Q,f)|0)<<3)|0;l=0;L=+p[z>>3];do{L=L+ +p[m+(l<<3)>>3]*+p[O+(l<<3)>>3];l=l+1|0}while((l|0)!=(e|0));if(+K(+L)>1.1920928955078125e-07){l=0;M=c;while(1){u=+p[M+(e<<3)>>3];N=0;do{u=u+ +p[M+(N<<3)>>3]*+p[O+(N<<3)>>3];N=N+1|0}while((N|0)!=(e|0));p[P+(l<<3)>>3]=L*u;l=l+1|0;if((l|0)==(f|0))break;else M=M+(r<<3)|0}}else FVa(a|0,0,J|0)|0;Q=Q+1|0;if((Q|0)==(d|0))break;else{O=O+(e<<3)|0;P=P+(f<<3)|0}}return}function SC(a,c,d,e){a=a|0;c=+c;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;g=u;u=u+256|0;h=g;i=g+248|0;j=g+192|0;k=g+136|0;l=g+80|0;m=g+72|0;o=g+56|0;q=g+40|0;r=g+8|0;p[h>>3]=c;yV(i,28664);s=GJ(a,-1)|0;t=s&7;v=(s>>>3&511)+1|0;if((s|0)!=(GJ(d,-1)|0)){f[j>>2]=0;f[j+4>>2]=0;w=JV(j,20)|0;x=142879;y=w+20|0;do{b[w>>0]=b[x>>0]|0;w=w+1|0;x=x+1|0}while((w|0)<(y|0));EP(-215,j,142900,142068,2415);KV(j)}if(t>>>0>=5){do if((HJ(a)|0)==65536){z=f[a+4>>2]|0;f[j>>2]=f[z>>2];A=j+4|0;B=z+4|0;f[A>>2]=f[B>>2];C=j+8|0;f[C>>2]=f[z+8>>2];f[j+12>>2]=f[z+12>>2];f[j+16>>2]=f[z+16>>2];f[j+20>>2]=f[z+20>>2];f[j+24>>2]=f[z+24>>2];f[j+28>>2]=f[z+28>>2];f[j+32>>2]=f[z+32>>2];D=f[z+36>>2]|0;f[j+36>>2]=D;f[j+40>>2]=C;C=j+48|0;E=j+44|0;f[E>>2]=C;f[C>>2]=0;f[j+52>>2]=0;if(D|0){C=D+12|0;f[C>>2]=(f[C>>2]|0)+1}if((f[B>>2]|0)<3){B=f[z+44>>2]|0;C=f[E>>2]|0;f[C>>2]=f[B>>2];f[C+4>>2]=f[B+4>>2];break}else{f[A>>2]=0;WO(j,z);break}}else DJ(j,a,-1);while(0);do if((HJ(d)|0)==65536){z=f[d+4>>2]|0;f[k>>2]=f[z>>2];A=k+4|0;B=z+4|0;f[A>>2]=f[B>>2];C=k+8|0;f[C>>2]=f[z+8>>2];f[k+12>>2]=f[z+12>>2];f[k+16>>2]=f[z+16>>2];f[k+20>>2]=f[z+20>>2];f[k+24>>2]=f[z+24>>2];f[k+28>>2]=f[z+28>>2];f[k+32>>2]=f[z+32>>2];E=f[z+36>>2]|0;f[k+36>>2]=E;D=k+40|0;f[D>>2]=C;C=k+48|0;F=k+44|0;f[F>>2]=C;f[C>>2]=0;f[k+52>>2]=0;if(E|0){C=E+12|0;f[C>>2]=(f[C>>2]|0)+1}if((f[B>>2]|0)<3){B=f[z+44>>2]|0;C=f[F>>2]|0;f[C>>2]=f[B>>2];f[C+4>>2]=f[B+4>>2];G=D;break}else{f[A>>2]=0;WO(k,z);G=D;break}}else{DJ(k,d,-1);G=k+40|0}while(0);D=j+40|0;z=f[D>>2]|0;A=f[z+-4>>2]|0;B=f[G>>2]|0;a:do if((A|0)==(f[B+-4>>2]|0)){if((A|0)==2){if((f[z>>2]|0)!=(f[B>>2]|0)){H=26;break}if((f[z+4>>2]|0)==(f[B+4>>2]|0)){I=z;break}else{H=26;break}}if((A|0)>0){C=0;while(1){if((f[z+(C<<2)>>2]|0)!=(f[B+(C<<2)>>2]|0)){H=26;break a}C=C+1|0;if((C|0)>=(A|0)){I=z;break}}}else I=z}else H=26;while(0);if((H|0)==26){f[l>>2]=0;f[l+4>>2]=0;w=JV(l,22)|0;x=142909;y=w+22|0;do{b[w>>0]=b[x>>0]|0;w=w+1|0;x=x+1|0}while((w|0)<(y|0));EP(-215,l,142900,142068,2427);KV(l);I=f[D>>2]|0}x=j+4|0;$J(e,f[x>>2]|0,I,s,-1,0,0);do if((HJ(e)|0)==65536){s=f[e+4>>2]|0;f[l>>2]=f[s>>2];I=l+4|0;w=s+4|0;f[I>>2]=f[w>>2];y=l+8|0;f[y>>2]=f[s+8>>2];f[l+12>>2]=f[s+12>>2];f[l+16>>2]=f[s+16>>2];f[l+20>>2]=f[s+20>>2];f[l+24>>2]=f[s+24>>2];f[l+28>>2]=f[s+28>>2];f[l+32>>2]=f[s+32>>2];H=f[s+36>>2]|0;f[l+36>>2]=H;f[l+40>>2]=y;y=l+48|0;z=l+44|0;f[z>>2]=y;f[y>>2]=0;f[l+52>>2]=0;if(H|0){y=H+12|0;f[y>>2]=(f[y>>2]|0)+1}if((f[w>>2]|0)<3){w=f[s+44>>2]|0;y=f[z>>2]|0;f[y>>2]=f[w>>2];f[y+4>>2]=f[w+4>>2];break}else{f[I>>2]=0;WO(l,s);break}}else DJ(l,e,-1);while(0);n[m>>2]=+p[h>>3];s=(t|0)==5;I=s?m:h;m=s?131:130;if(((f[j>>2]&16384|0)!=0?(f[k>>2]&16384|0)!=0:0)?(f[l>>2]&16384|0)!=0:0){s=f[x>>2]|0;if((s|0)<3)J=X(f[j+12>>2]|0,f[j+8>>2]|0)|0;else{w=f[D>>2]|0;y=0;z=1;while(1){H=X(f[w+(y<<2)>>2]|0,z)|0;y=y+1|0;if((y|0)==(s|0)){J=H;break}else z=H}}z=X(J,v)|0;Sh[m&255](f[j+16>>2]|0,f[k+16>>2]|0,f[l+16>>2]|0,z,I)}else{f[o>>2]=j;f[o+4>>2]=k;f[o+8>>2]=l;f[o+12>>2]=0;FN(r,o,q,-1);o=X(f[r+20>>2]|0,v)|0;v=r+16|0;z=q+4|0;J=q+8|0;s=0;while(1){if(s>>>0>=(f[v>>2]|0)>>>0)break;Sh[m&255](f[q>>2]|0,f[z>>2]|0,f[J>>2]|0,o,I);GN(r)|0;s=s+1|0}}s=l+36|0;r=f[s>>2]|0;if(r|0?(I=r+12|0,r=f[I>>2]|0,f[I>>2]=r+-1,(r|0)==1):0)XO(l);f[s>>2]=0;s=l+16|0;r=l+4|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if((f[r>>2]|0)>0){s=f[l+40>>2]|0;I=0;do{f[s+(I<<2)>>2]=0;I=I+1|0}while((I|0)<(f[r>>2]|0))}r=f[l+44>>2]|0;if((r|0)!=(l+48|0))dX(r);r=k+36|0;l=f[r>>2]|0;if(l|0?(I=l+12|0,l=f[I>>2]|0,f[I>>2]=l+-1,(l|0)==1):0)XO(k);f[r>>2]=0;r=k+16|0;l=k+4|0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;if((f[l>>2]|0)>0){r=f[G>>2]|0;G=0;do{f[r+(G<<2)>>2]=0;G=G+1|0}while((G|0)<(f[l>>2]|0))}l=f[k+44>>2]|0;if((l|0)!=(k+48|0))dX(l);l=j+36|0;k=f[l>>2]|0;if(k|0?(G=k+12|0,k=f[G>>2]|0,f[G>>2]=k+-1,(k|0)==1):0)XO(j);f[l>>2]=0;l=j+16|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;if((f[x>>2]|0)>0){l=f[D>>2]|0;D=0;do{f[l+(D<<2)>>2]=0;D=D+1|0}while((D|0)<(f[x>>2]|0))}x=f[j+44>>2]|0;if((x|0)!=(j+48|0))dX(x)}else aJ(a,+p[h>>3],d,1.0,0.0,e,t);if(!(f[i+4>>2]|0)){u=g;return}u=g;return}function TC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0.0,g=0;f=+n[e>>2];if((d|0)>0)g=0;else return;do{n[c+(g<<2)>>2]=f*+n[a+(g<<2)>>2]+ +n[b+(g<<2)>>2];g=g+1|0}while((g|0)!=(d|0));return}function UC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0.0,g=0;f=+p[e>>3];if((d|0)>0)g=0;else return;do{p[c+(g<<3)>>3]=f*+p[a+(g<<3)>>3]+ +p[b+(g<<3)>>3];g=g+1|0}while((g|0)!=(d|0));return}function VC(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=+g;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;i=u;u=u+352|0;j=i+344|0;k=i+288|0;l=i+232|0;m=i+176|0;n=i+120|0;o=i+104|0;p=i+88|0;q=i+72|0;r=i+16|0;s=i;yV(j,28684);do if((HJ(a)|0)==65536){t=f[a+4>>2]|0;f[k>>2]=f[t>>2];v=k+4|0;w=t+4|0;f[v>>2]=f[w>>2];x=k+8|0;f[x>>2]=f[t+8>>2];f[k+12>>2]=f[t+12>>2];f[k+16>>2]=f[t+16>>2];f[k+20>>2]=f[t+20>>2];f[k+24>>2]=f[t+24>>2];f[k+28>>2]=f[t+28>>2];f[k+32>>2]=f[t+32>>2];y=f[t+36>>2]|0;f[k+36>>2]=y;f[k+40>>2]=x;x=k+48|0;z=k+44|0;f[z>>2]=x;f[x>>2]=0;f[k+52>>2]=0;if(y|0){x=y+12|0;f[x>>2]=(f[x>>2]|0)+1}if((f[w>>2]|0)<3){w=f[t+44>>2]|0;x=f[z>>2]|0;f[x>>2]=f[w>>2];f[x+4>>2]=f[w+4>>2];break}else{f[v>>2]=0;WO(k,t);break}}else DJ(k,a,-1);while(0);do if((HJ(e)|0)==65536){a=f[e+4>>2]|0;f[l>>2]=f[a>>2];t=l+4|0;v=a+4|0;f[t>>2]=f[v>>2];w=l+8|0;f[w>>2]=f[a+8>>2];f[l+12>>2]=f[a+12>>2];f[l+16>>2]=f[a+16>>2];f[l+20>>2]=f[a+20>>2];f[l+24>>2]=f[a+24>>2];f[l+28>>2]=f[a+28>>2];f[l+32>>2]=f[a+32>>2];x=f[a+36>>2]|0;f[l+36>>2]=x;f[l+40>>2]=w;w=l+48|0;z=l+44|0;f[z>>2]=w;f[w>>2]=0;f[l+52>>2]=0;if(x|0){w=x+12|0;f[w>>2]=(f[w>>2]|0)+1}if((f[v>>2]|0)<3){v=f[a+44>>2]|0;w=f[z>>2]|0;f[w>>2]=f[v>>2];f[w+4>>2]=f[v+4>>2];A=l;break}else{f[t>>2]=0;WO(l,a);A=l;break}}else{DJ(l,e,-1);A=l}while(0);e=f[k>>2]|0;a=e&4095;t=((h|0)>-1?h:e)&7;h=f[A>>2]&7;v=t>>>0>>0?h:t;t=(v|0)>5?v:5;if(e&4088|0){f[m>>2]=0;f[m+4>>2]=0;B=JV(m,19)|0;C=441705;D=B+19|0;do{b[B>>0]=b[C>>0]|0;B=B+1|0;C=C+1|0}while((B|0)<(D|0));EP(-215,m,143007,142068,2888);KV(m)}e=l+16|0;if(f[e>>2]|0){h=f[l+4>>2]|0;if((h|0)<3)E=X(f[l+12>>2]|0,f[l+8>>2]|0)|0;else{w=f[l+40>>2]|0;z=0;x=1;while(1){y=X(f[w+(z<<2)>>2]|0,x)|0;z=z+1|0;if((z|0)==(h|0)){E=y;break}else x=y}}if(!((h|0)==0|(E|0)==0)){if(f[A>>2]&4088|0){f[m>>2]=0;f[m+4>>2]=0;B=JV(m,21)|0;C=143021;D=B+21|0;do{b[B>>0]=b[C>>0]|0;B=B+1|0;C=C+1|0}while((B|0)<(D|0));EP(-215,m,143007,142068,2894);KV(m)}E=f[l+8>>2]|0;if(!((E|0)==1?1:(E|0)==(f[k+8>>2]|0))){f[m>>2]=0;f[m+4>>2]=0;B=JV(m,43)|0;C=143043;D=B+43|0;do{b[B>>0]=b[C>>0]|0;B=B+1|0;C=C+1|0}while((B|0)<(D|0));EP(-215,m,143007,142068,2894);KV(m)}E=f[l+12>>2]|0;if(!((E|0)==1?1:(E|0)==(f[k+12>>2]|0))){f[m>>2]=0;f[m+4>>2]=0;B=JV(m,43)|0;C=143087;D=B+43|0;do{b[B>>0]=b[C>>0]|0;B=B+1|0;C=C+1|0}while((B|0)<(D|0));EP(-215,m,143007,142068,2894);KV(m)}if((f[A>>2]&4095|0)!=(t|0)){A=m+8|0;f[A>>2]=0;f[A+4>>2]=0;f[m>>2]=33619968;f[m+4>>2]=l;AO(l,m,t,1.0,0.0)}}}A=k+8|0;C=k+12|0;E=d?f[C>>2]|0:f[A>>2]|0;vK(c,E,E,t,-1,0,0);do if((HJ(c)|0)==65536){E=f[c+4>>2]|0;f[m>>2]=f[E>>2];h=m+4|0;x=E+4|0;f[h>>2]=f[x>>2];z=m+8|0;f[z>>2]=f[E+8>>2];f[m+12>>2]=f[E+12>>2];w=m+16|0;f[w>>2]=f[E+16>>2];f[m+20>>2]=f[E+20>>2];f[m+24>>2]=f[E+24>>2];f[m+28>>2]=f[E+28>>2];f[m+32>>2]=f[E+32>>2];y=f[E+36>>2]|0;f[m+36>>2]=y;f[m+40>>2]=z;z=m+48|0;F=m+44|0;f[F>>2]=z;f[z>>2]=0;f[m+52>>2]=0;if(y|0){z=y+12|0;f[z>>2]=(f[z>>2]|0)+1}if((f[x>>2]|0)<3){x=f[E+44>>2]|0;z=f[F>>2]|0;f[z>>2]=f[x>>2];f[z+4>>2]=f[x+4>>2];G=w;break}else{f[h>>2]=0;WO(m,E);G=w;break}}else{DJ(m,c,-1);G=m+16|0}while(0);c=k+16|0;do if((f[c>>2]|0)==(f[G>>2]|0))H=42;else{if(((a|0)==(t|0)?(f[m+12>>2]|0)>99:0)?((f[C>>2]|0)>99?(f[m+8>>2]|0)>99:0)&(f[A>>2]|0)>99:0){H=42;break}w=(a|0)==0;E=(v|0)<6;do if(!(w&E)){h=(t|0)==6;if(w&h){I=d?18:17;break}x=(a|0)==2;if(x&E){I=d?20:19;break}if(x&h){I=d?22:21;break}x=(a|0)==3;if(x&E){I=d?24:23;break}if(x&h){I=d?26:25;break}x=(a|0)==5;if(x&E){I=d?28:27;break}if(x&h){I=d?30:29;break}if((a|0)==6&h)I=d?32:31;else{f[n>>2]=0;f[n+4>>2]=0;EP(-210,n,143007,142068,2989);KV(n)}}else I=d?16:15;while(0);Sg[I&63](k,m,l,g);E=n+8|0;f[E>>2]=0;f[E+4>>2]=0;f[n>>2]=50397184;f[n+4>>2]=m;YD(n,0)}while(0);if((H|0)==42){f[n>>2]=1124007936;H=n+4|0;I=n+8|0;a=n+40|0;B=H;D=B+36|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(D|0));f[a>>2]=I;I=n+48|0;t=n+44|0;f[t>>2]=I;f[I>>2]=0;f[n+52>>2]=0;do if(f[e>>2]|0){v=f[l+4>>2]|0;if((v|0)<3)J=X(f[l+12>>2]|0,f[l+8>>2]|0)|0;else{E=f[l+40>>2]|0;w=0;h=1;while(1){x=X(f[E+(w<<2)>>2]|0,h)|0;w=w+1|0;if((w|0)==(v|0)){J=x;break}else h=x}}if(!((v|0)==0|(J|0)==0)){h=f[l+40>>2]|0;w=f[k+40>>2]|0;if((f[h>>2]|0)==(f[w>>2]|0)?(f[h+4>>2]|0)==(f[w+4>>2]|0):0){f[o+8>>2]=0;f[o+12>>2]=0;f[o>>2]=16842752;f[o+4>>2]=k;f[p+8>>2]=0;f[p+12>>2]=0;f[p>>2]=16842752;f[p+4>>2]=l;w=q+8|0;f[w>>2]=0;f[w+4>>2]=0;f[q>>2]=33619968;f[q+4>>2]=n;aI(o,p,q,BK()|0,-1);K=n;break}else{f[o+8>>2]=0;f[o+12>>2]=0;f[o>>2]=16842752;f[o+4>>2]=l;w=f[A>>2]|0;h=f[l+8>>2]|0;E=f[C>>2]|0;x=f[l+12>>2]|0;z=p+8|0;f[z>>2]=0;f[z+4>>2]=0;f[p>>2]=33619968;f[p+4>>2]=n;kM(o,(w|0)/(h|0)|0,(E|0)/(x|0)|0,p);f[o+8>>2]=0;f[o+12>>2]=0;f[o>>2]=16842752;f[o+4>>2]=k;f[p+8>>2]=0;f[p+12>>2]=0;f[p>>2]=16842752;f[p+4>>2]=n;x=q+8|0;f[x>>2]=0;f[x+4>>2]=0;f[q>>2]=33619968;f[q+4>>2]=n;aI(o,p,q,BK()|0,-1);K=n;break}}else K=k}else K=k;while(0);f[o+8>>2]=0;f[o+12>>2]=0;f[o>>2]=16842752;f[o+4>>2]=K;f[p+8>>2]=0;f[p+12>>2]=0;f[p>>2]=16842752;f[p+4>>2]=K;f[r>>2]=1124007936;K=r+4|0;C=r+8|0;A=r+40|0;B=K;D=B+36|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(D|0));f[A>>2]=C;C=r+48|0;B=r+44|0;f[B>>2]=C;f[C>>2]=0;f[r+52>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;f[q>>2]=16842752;f[q+4>>2]=r;D=s+8|0;f[D>>2]=0;f[D+4>>2]=0;f[s>>2]=33619968;f[s+4>>2]=m;zC(o,p,g,q,0.0,s,d?1:2);d=r+36|0;s=f[d>>2]|0;if(s|0?(q=s+12|0,s=f[q>>2]|0,f[q>>2]=s+-1,(s|0)==1):0)XO(r);f[d>>2]=0;d=r+16|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[K>>2]|0)>0){d=f[A>>2]|0;A=0;do{f[d+(A<<2)>>2]=0;A=A+1|0}while((A|0)<(f[K>>2]|0))}K=f[B>>2]|0;if((K|0)!=(C|0))dX(K);K=n+36|0;C=f[K>>2]|0;if(C|0?(B=C+12|0,C=f[B>>2]|0,f[B>>2]=C+-1,(C|0)==1):0)XO(n);f[K>>2]=0;K=n+16|0;f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0;f[K+12>>2]=0;if((f[H>>2]|0)>0){K=f[a>>2]|0;a=0;do{f[K+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[H>>2]|0))}H=f[t>>2]|0;if((H|0)!=(I|0))dX(H)}H=m+36|0;I=f[H>>2]|0;if(I|0?(t=I+12|0,I=f[t>>2]|0,f[t>>2]=I+-1,(I|0)==1):0)XO(m);f[H>>2]=0;H=m+4|0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;if((f[H>>2]|0)>0){G=f[m+40>>2]|0;I=0;do{f[G+(I<<2)>>2]=0;I=I+1|0}while((I|0)<(f[H>>2]|0))}H=f[m+44>>2]|0;if((H|0)!=(m+48|0))dX(H);H=l+36|0;m=f[H>>2]|0;if(m|0?(I=m+12|0,m=f[I>>2]|0,f[I>>2]=m+-1,(m|0)==1):0)XO(l);f[H>>2]=0;H=l+4|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;if((f[H>>2]|0)>0){e=f[l+40>>2]|0;m=0;do{f[e+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[H>>2]|0))}H=f[l+44>>2]|0;if((H|0)!=(l+48|0))dX(H);H=k+36|0;l=f[H>>2]|0;if(l|0?(m=l+12|0,l=f[m>>2]|0,f[m>>2]=l+-1,(l|0)==1):0)XO(k);f[H>>2]=0;H=k+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[H>>2]|0)>0){c=f[k+40>>2]|0;l=0;do{f[c+(l<<2)>>2]=0;l=l+1|0}while((l|0)<(f[H>>2]|0))}H=f[k+44>>2]|0;if((H|0)!=(k+48|0))dX(H);if(!(f[j+4>>2]|0)){u=i;return}u=i;return}function WC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0,T=0,U=0;e=u;u=u+1040|0;g=e;i=f[a+16>>2]|0;j=f[b+16>>2]|0;k=f[c+16>>2]|0;l=f[a+48>>2]|0;m=(f[b+48>>2]|0)>>>2;b=(f[c+8>>2]|0)>1?(f[c+48>>2]|0)>>>2:0;o=f[c+12>>2]|0;c=f[a+40>>2]|0;a=f[c+4>>2]|0;p=f[c>>2]|0;c=g+8|0;f[g>>2]=c;q=g+4|0;f[q>>2]=1032;r=(k|0)!=0;s=(o|0)<(a|0);o=r&s?p*20|0:p<<2;f[q>>2]=o;if(o>>>0>1032){t=FQa(o)|0;f[g>>2]=t;v=t}else v=c;a:do if(r){do if(s){t=v+(p<<2)|0;if((p|0)<=0)if(!t){w=11;break a}else{x=t;y=t;z=b|0?4:0;break}else A=0;do{o=k+((X(A,b)|0)<<2)|0;B=f[o>>2]|0;o=A<<2;f[t+((o|3)<<2)>>2]=B;f[t+((o|2)<<2)>>2]=B;f[t+((o|1)<<2)>>2]=B;f[t+(o<<2)>>2]=B;A=A+1|0}while((A|0)!=(p|0));x=t;y=t;z=b|0?4:0}else{x=k;y=0;z=b}while(0);if((a|0)>0){B=(y|0)!=0;o=(p|0)>0;C=a+-4|0;D=d*0.0;E=d*0.0;F=d*0.0;G=j;H=0;while(1){if(B){if(o){I=0;do{J=i+((X(I,l)|0)+H)|0;K=y+((X(I,z)|0)<<2)|0;n[v+(I<<2)>>2]=+(h[J>>0]|0)-+n[K>>2];I=I+1|0}while((I|0)!=(p|0))}}else if(o){I=0;do{t=i+((X(I,l)|0)+H)|0;K=x+((X(I,z)|0)+H<<2)|0;n[v+(I<<2)>>2]=+(h[t>>0]|0)-+n[K>>2];I=I+1|0}while((I|0)!=(p|0))}b:do if((H|0)>(C|0))L=H;else{if(o)M=H;else{I=H;while(1){n[G+(I<<2)>>2]=F;n[G+(I+1<<2)>>2]=F;n[G+(I+2<<2)>>2]=F;n[G+(I+3<<2)>>2]=F;K=I+4|0;if((K|0)>(C|0)){L=K;break b}else I=K}}while(1){I=B?y:x+(M<<2)|0;K=i+M|0;N=0.0;O=0.0;P=0.0;Q=0.0;t=0;while(1){R=+n[v+(t<<2)>>2];Q=Q+R*(+(h[K>>0]|0)-+n[I>>2]);P=P+R*(+(h[K+1>>0]|0)-+n[I+4>>2]);O=O+R*(+(h[K+2>>0]|0)-+n[I+8>>2]);N=N+R*(+(h[K+3>>0]|0)-+n[I+12>>2]);t=t+1|0;if((t|0)==(p|0))break;else{I=I+(z<<2)|0;K=K+l|0}}n[G+(M<<2)>>2]=Q*d;n[G+(M+1<<2)>>2]=P*d;n[G+(M+2<<2)>>2]=O*d;n[G+(M+3<<2)>>2]=N*d;K=M+4|0;if((K|0)>(C|0)){L=K;break}else M=K}}while(0);c:do if((L|0)<(a|0)){if(!o)if(B){K=L;while(1){n[G+(K<<2)>>2]=D;K=K+1|0;if((K|0)==(a|0))break c}}else{K=L;while(1){n[G+(K<<2)>>2]=E;K=K+1|0;if((K|0)==(a|0))break c}}if(B){K=L;do{I=i+K|0;R=0.0;t=y;J=0;while(1){R=R+ +n[v+(J<<2)>>2]*(+(h[I>>0]|0)-+n[t>>2]);J=J+1|0;if((J|0)==(p|0))break;else{I=I+l|0;t=t+(z<<2)|0}}n[G+(K<<2)>>2]=R*d;K=K+1|0}while((K|0)!=(a|0))}else{K=L;do{t=i+K|0;N=0.0;I=x+(K<<2)|0;J=0;while(1){N=N+ +n[v+(J<<2)>>2]*(+(h[t>>0]|0)-+n[I>>2]);J=J+1|0;if((J|0)==(p|0))break;else{t=t+l|0;I=I+(z<<2)|0}}n[G+(K<<2)>>2]=N*d;K=K+1|0}while((K|0)!=(a|0))}}while(0);H=H+1|0;if((H|0)==(a|0))break;else G=G+(m<<2)|0}}}else w=11;while(0);if((w|0)==11?(a|0)>0:0){w=(p|0)>0;z=a+-4|0;E=d*0.0;D=d*0.0;x=j;j=0;while(1){if(w){L=0;do{y=i+((X(L,l)|0)+j)|0;n[v+(L<<2)>>2]=+(h[y>>0]|0);L=L+1|0}while((L|0)!=(p|0))}d:do if((j|0)>(z|0))S=j;else{if(w)T=j;else{L=j;while(1){n[x+(L<<2)>>2]=D;n[x+(L+1<<2)>>2]=D;n[x+(L+2<<2)>>2]=D;n[x+(L+3<<2)>>2]=D;y=L+4|0;if((y|0)>(z|0)){S=y;break d}else L=y}}while(1){L=i+T|0;F=0.0;R=0.0;O=0.0;P=0.0;y=0;while(1){Q=+n[v+(y<<2)>>2];P=P+Q*+(h[L>>0]|0);O=O+Q*+(h[L+1>>0]|0);R=R+Q*+(h[L+2>>0]|0);F=F+Q*+(h[L+3>>0]|0);y=y+1|0;if((y|0)==(p|0))break;else L=L+l|0}n[x+(T<<2)>>2]=P*d;n[x+(T+1<<2)>>2]=O*d;n[x+(T+2<<2)>>2]=R*d;n[x+(T+3<<2)>>2]=F*d;L=T+4|0;if((L|0)>(z|0)){S=L;break}else T=L}}while(0);e:do if((S|0)<(a|0)){if(w)U=S;else{L=S;while(1){n[x+(L<<2)>>2]=E;L=L+1|0;if((L|0)==(a|0))break e}}do{L=i+U|0;Q=0.0;y=0;while(1){Q=Q+ +n[v+(y<<2)>>2]*+(h[L>>0]|0);y=y+1|0;if((y|0)==(p|0))break;else L=L+l|0}n[x+(U<<2)>>2]=Q*d;U=U+1|0}while((U|0)!=(a|0))}while(0);j=j+1|0;if((j|0)==(a|0))break;else x=x+(m<<2)|0}}if((v|0)==(c|0)){u=e;return}HQa(v);f[g>>2]=c;f[q>>2]=1032;u=e;return}function XC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0,J=0.0,K=0.0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0.0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0.0,$=0.0,aa=0,ba=0,ca=0.0;e=u;u=u+1056|0;g=e+1040|0;i=e;j=f[a+16>>2]|0;k=f[b+16>>2]|0;l=f[c+16>>2]|0;m=f[a+48>>2]|0;o=(f[b+48>>2]|0)>>>2;b=(f[c+8>>2]|0)>1?(f[c+48>>2]|0)>>>2:0;p=f[c+12>>2]|0;c=f[a+40>>2]|0;a=f[c+4>>2]|0;q=f[c>>2]|0;if(!l){if((q|0)<=0){u=e;return}c=a+-4|0;r=(a|0)<4;t=a&-4;v=(a|0)>0;w=(t|0)<(a|0);x=0;y=k;while(1){z=j+(X(x,m)|0)|0;if(r){A=x;do{B=j+(X(A,m)|0)|0;if(v){C=0;D=0.0;while(1){E=D+ +(h[z+C>>0]|0)*+(h[B+C>>0]|0);C=C+1|0;if((C|0)==(a|0)){F=E;break}else D=E}}else F=0.0;n[y+(A<<2)>>2]=F*d;A=A+1|0}while((A|0)!=(q|0))}else{A=x;do{C=j+(X(A,m)|0)|0;B=0;D=0.0;do{G=B|1;H=B|2;I=B|3;D=D+(+(h[z+B>>0]|0)*+(h[C+B>>0]|0)+ +(h[z+G>>0]|0)*+(h[C+G>>0]|0)+ +(h[z+H>>0]|0)*+(h[C+H>>0]|0)+ +(h[z+I>>0]|0)*+(h[C+I>>0]|0));B=B+4|0}while((B|0)<=(c|0));if(w){B=t;E=D;while(1){J=E+ +(h[z+B>>0]|0)*+(h[C+B>>0]|0);B=B+1|0;if((B|0)==(a|0)){K=J;break}else E=J}}else K=D;n[y+(A<<2)>>2]=K*d;A=A+1|0}while((A|0)!=(q|0))}x=x+1|0;if((x|0)==(q|0))break;else y=y+(o<<2)|0}u=e;return}y=(p|0)==(a|0)?4:0;x=a<<2;t=i+8|0;f[i>>2]=t;w=i+4|0;f[w>>2]=x;if(x>>>0>1032){c=FQa(x)|0;f[i>>2]=c;L=c}else L=t;if((q|0)>0){c=(p|0)<(a|0);p=(a|0)>0;x=g+12|0;v=g+8|0;r=g+4|0;A=a+-4|0;z=(a|0)<4;B=a&-4;C=X(y,B)|0;I=g+C|0;H=0;G=k;k=l+C|0;while(1){C=j+(X(H,m)|0)|0;M=l+((X(H,b)|0)<<2)|0;if(c)if(p){N=0;do{n[L+(N<<2)>>2]=+(h[C+N>>0]|0)-+n[M>>2];N=N+1|0}while((N|0)!=(a|0));O=21}else{P=H;O=22}else if(p){N=0;do{n[L+(N<<2)>>2]=+(h[C+N>>0]|0)-+n[M+(N<<2)>>2];N=N+1|0}while((N|0)!=(a|0));O=21}else{Q=H;R=k;O=31}if((O|0)==21){O=0;if(c){P=H;O=22}else{Q=H;R=k;O=31}}if((O|0)==22)while(1){O=0;N=j+(X(P,m)|0)|0;M=l+((X(P,b)|0)<<2)|0;C=f[M>>2]|0;f[x>>2]=C;f[v>>2]=C;f[r>>2]=C;f[g>>2]=C;a:do if(z){S=0.0;T=g;U=0}else{K=0.0;M=g;V=0;F=(f[s>>2]=C,+n[s>>2]);while(1){W=V|1;Y=V|2;Z=V|3;E=K+(+n[L+(V<<2)>>2]*(+(h[N+V>>0]|0)-F)+ +n[L+(W<<2)>>2]*(+(h[N+W>>0]|0)-+n[M+4>>2])+ +n[L+(Y<<2)>>2]*(+(h[N+Y>>0]|0)-+n[M+8>>2])+ +n[L+(Z<<2)>>2]*(+(h[N+Z>>0]|0)-+n[M+12>>2]));Z=V+4|0;Y=M+(y<<2)|0;if((Z|0)>(A|0)){S=E;T=I;U=B;break a}K=E;M=Y;V=Z;F=+n[Y>>2]}}while(0);if((U|0)<(a|0)){D=S;C=T;V=U;while(1){F=D+ +n[L+(V<<2)>>2]*(+(h[N+V>>0]|0)-+n[C>>2]);V=V+1|0;if((V|0)==(a|0)){_=F;break}else{D=F;C=C+4|0}}}else _=S;n[G+(P<<2)>>2]=_*d;P=P+1|0;if((P|0)==(q|0))break;else O=22}else if((O|0)==31)while(1){O=0;C=j+(X(Q,m)|0)|0;V=l+((X(Q,b)|0)<<2)|0;if(z){$=0.0;aa=V;ba=0}else{D=0.0;N=V;V=0;while(1){M=V|1;Y=V|2;Z=V|3;F=D+(+n[L+(V<<2)>>2]*(+(h[C+V>>0]|0)-+n[N>>2])+ +n[L+(M<<2)>>2]*(+(h[C+M>>0]|0)-+n[N+4>>2])+ +n[L+(Y<<2)>>2]*(+(h[C+Y>>0]|0)-+n[N+8>>2])+ +n[L+(Z<<2)>>2]*(+(h[C+Z>>0]|0)-+n[N+12>>2]));V=V+4|0;if((V|0)>(A|0)){$=F;aa=R;ba=B;break}else{D=F;N=N+(y<<2)|0}}}if((ba|0)<(a|0)){D=$;N=aa;V=ba;while(1){F=D+ +n[L+(V<<2)>>2]*(+(h[C+V>>0]|0)-+n[N>>2]);V=V+1|0;if((V|0)==(a|0)){ca=F;break}else{D=F;N=N+4|0}}}else ca=$;n[G+(Q<<2)>>2]=ca*d;Q=Q+1|0;if((Q|0)==(q|0))break;else{R=R+(b<<2)|0;O=31}}H=H+1|0;if((H|0)==(q|0))break;else{G=G+(o<<2)|0;k=k+(b<<2)|0}}}if((L|0)!=(t|0)){HQa(L);f[i>>2]=t;f[w>>2]=1032}u=e;return}function YC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0,D=0,E=0.0,F=0.0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0,T=0,U=0;e=u;u=u+1040|0;g=e;i=f[a+16>>2]|0;j=f[b+16>>2]|0;k=f[c+16>>2]|0;l=f[a+48>>2]|0;m=(f[b+48>>2]|0)>>>3;b=(f[c+8>>2]|0)>1?(f[c+48>>2]|0)>>>3:0;n=f[c+12>>2]|0;c=f[a+40>>2]|0;a=f[c+4>>2]|0;o=f[c>>2]|0;c=g+8|0;f[g>>2]=c;q=g+4|0;f[q>>2]=1032;r=(k|0)!=0;s=(n|0)<(a|0);n=r&s?o*40|0:o<<3;f[q>>2]=n;if(n>>>0>1032){t=FQa(n)|0;f[g>>2]=t;v=t}else v=c;a:do if(r){do if(s){t=v+(o<<3)|0;if((o|0)<=0)if(!t){w=11;break a}else{x=t;y=t;z=b|0?4:0;break}else A=0;do{n=k+((X(A,b)|0)<<3)|0;B=+p[n>>3];n=A<<2;p[t+((n|3)<<3)>>3]=B;p[t+((n|2)<<3)>>3]=B;p[t+((n|1)<<3)>>3]=B;p[t+(n<<3)>>3]=B;A=A+1|0}while((A|0)!=(o|0));x=t;y=t;z=b|0?4:0}else{x=k;y=0;z=b}while(0);if((a|0)>0){n=(y|0)!=0;C=(o|0)>0;D=a+-4|0;B=d*0.0;E=d*0.0;F=d*0.0;G=j;H=0;while(1){if(n){if(C){I=0;do{J=i+((X(I,l)|0)+H)|0;K=y+((X(I,z)|0)<<3)|0;p[v+(I<<3)>>3]=+(h[J>>0]|0)-+p[K>>3];I=I+1|0}while((I|0)!=(o|0))}}else if(C){I=0;do{t=i+((X(I,l)|0)+H)|0;K=x+((X(I,z)|0)+H<<3)|0;p[v+(I<<3)>>3]=+(h[t>>0]|0)-+p[K>>3];I=I+1|0}while((I|0)!=(o|0))}b:do if((H|0)>(D|0))L=H;else{if(C)M=H;else{I=H;while(1){p[G+(I<<3)>>3]=F;p[G+(I+1<<3)>>3]=F;p[G+(I+2<<3)>>3]=F;p[G+(I+3<<3)>>3]=F;K=I+4|0;if((K|0)>(D|0)){L=K;break b}else I=K}}while(1){I=n?y:x+(M<<3)|0;K=i+M|0;N=0.0;O=0.0;P=0.0;Q=0.0;t=0;while(1){R=+p[v+(t<<3)>>3];Q=Q+R*(+(h[K>>0]|0)-+p[I>>3]);P=P+R*(+(h[K+1>>0]|0)-+p[I+8>>3]);O=O+R*(+(h[K+2>>0]|0)-+p[I+16>>3]);N=N+R*(+(h[K+3>>0]|0)-+p[I+24>>3]);t=t+1|0;if((t|0)==(o|0))break;else{I=I+(z<<3)|0;K=K+l|0}}p[G+(M<<3)>>3]=Q*d;p[G+(M+1<<3)>>3]=P*d;p[G+(M+2<<3)>>3]=O*d;p[G+(M+3<<3)>>3]=N*d;K=M+4|0;if((K|0)>(D|0)){L=K;break}else M=K}}while(0);c:do if((L|0)<(a|0)){if(!C)if(n){K=L;while(1){p[G+(K<<3)>>3]=B;K=K+1|0;if((K|0)==(a|0))break c}}else{K=L;while(1){p[G+(K<<3)>>3]=E;K=K+1|0;if((K|0)==(a|0))break c}}if(n){K=L;do{I=i+K|0;R=0.0;t=y;J=0;while(1){R=R+ +p[v+(J<<3)>>3]*(+(h[I>>0]|0)-+p[t>>3]);J=J+1|0;if((J|0)==(o|0))break;else{I=I+l|0;t=t+(z<<3)|0}}p[G+(K<<3)>>3]=R*d;K=K+1|0}while((K|0)!=(a|0))}else{K=L;do{t=i+K|0;N=0.0;I=x+(K<<3)|0;J=0;while(1){N=N+ +p[v+(J<<3)>>3]*(+(h[t>>0]|0)-+p[I>>3]);J=J+1|0;if((J|0)==(o|0))break;else{t=t+l|0;I=I+(z<<3)|0}}p[G+(K<<3)>>3]=N*d;K=K+1|0}while((K|0)!=(a|0))}}while(0);H=H+1|0;if((H|0)==(a|0))break;else G=G+(m<<3)|0}}}else w=11;while(0);if((w|0)==11?(a|0)>0:0){w=(o|0)>0;z=a+-4|0;E=d*0.0;B=d*0.0;x=j;j=0;while(1){if(w){L=0;do{y=i+((X(L,l)|0)+j)|0;p[v+(L<<3)>>3]=+(h[y>>0]|0);L=L+1|0}while((L|0)!=(o|0))}d:do if((j|0)>(z|0))S=j;else{if(w)T=j;else{L=j;while(1){p[x+(L<<3)>>3]=B;p[x+(L+1<<3)>>3]=B;p[x+(L+2<<3)>>3]=B;p[x+(L+3<<3)>>3]=B;y=L+4|0;if((y|0)>(z|0)){S=y;break d}else L=y}}while(1){L=i+T|0;F=0.0;R=0.0;O=0.0;P=0.0;y=0;while(1){Q=+p[v+(y<<3)>>3];P=P+Q*+(h[L>>0]|0);O=O+Q*+(h[L+1>>0]|0);R=R+Q*+(h[L+2>>0]|0);F=F+Q*+(h[L+3>>0]|0);y=y+1|0;if((y|0)==(o|0))break;else L=L+l|0}p[x+(T<<3)>>3]=P*d;p[x+(T+1<<3)>>3]=O*d;p[x+(T+2<<3)>>3]=R*d;p[x+(T+3<<3)>>3]=F*d;L=T+4|0;if((L|0)>(z|0)){S=L;break}else T=L}}while(0);e:do if((S|0)<(a|0)){if(w)U=S;else{L=S;while(1){p[x+(L<<3)>>3]=E;L=L+1|0;if((L|0)==(a|0))break e}}do{L=i+U|0;Q=0.0;y=0;while(1){Q=Q+ +p[v+(y<<3)>>3]*+(h[L>>0]|0);y=y+1|0;if((y|0)==(o|0))break;else L=L+l|0}p[x+(U<<3)>>3]=Q*d;U=U+1|0}while((U|0)!=(a|0))}while(0);j=j+1|0;if((j|0)==(a|0))break;else x=x+(m<<3)|0}}if((v|0)==(c|0)){u=e;return}HQa(v);f[g>>2]=c;f[q>>2]=1032;u=e;return}function ZC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0,G=0,H=0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0.0,S=0,T=0,U=0,V=0,W=0,Y=0.0,Z=0.0,_=0,$=0,aa=0.0;e=u;u=u+1072|0;g=e;i=e+32|0;j=f[a+16>>2]|0;k=f[b+16>>2]|0;l=f[c+16>>2]|0;m=f[a+48>>2]|0;n=(f[b+48>>2]|0)>>>3;b=(f[c+8>>2]|0)>1?(f[c+48>>2]|0)>>>3:0;o=f[c+12>>2]|0;c=f[a+40>>2]|0;a=f[c+4>>2]|0;q=f[c>>2]|0;if(!l){if((q|0)<=0){u=e;return}c=a+-4|0;r=(a|0)<4;s=a&-4;t=(a|0)>0;v=(s|0)<(a|0);w=0;x=k;while(1){y=j+(X(w,m)|0)|0;if(r){z=w;do{A=j+(X(z,m)|0)|0;if(t){B=0;C=0.0;while(1){D=C+ +(h[y+B>>0]|0)*+(h[A+B>>0]|0);B=B+1|0;if((B|0)==(a|0)){E=D;break}else C=D}}else E=0.0;p[x+(z<<3)>>3]=E*d;z=z+1|0}while((z|0)!=(q|0))}else{z=w;do{B=j+(X(z,m)|0)|0;A=0;C=0.0;do{F=A|1;G=A|2;H=A|3;C=C+(+(h[y+A>>0]|0)*+(h[B+A>>0]|0)+ +(h[y+F>>0]|0)*+(h[B+F>>0]|0)+ +(h[y+G>>0]|0)*+(h[B+G>>0]|0)+ +(h[y+H>>0]|0)*+(h[B+H>>0]|0));A=A+4|0}while((A|0)<=(c|0));if(v){A=s;D=C;while(1){I=D+ +(h[y+A>>0]|0)*+(h[B+A>>0]|0);A=A+1|0;if((A|0)==(a|0)){J=I;break}else D=I}}else J=C;p[x+(z<<3)>>3]=J*d;z=z+1|0}while((z|0)!=(q|0))}w=w+1|0;if((w|0)==(q|0))break;else x=x+(n<<3)|0}u=e;return}x=(o|0)==(a|0)?4:0;w=a<<3;s=i+8|0;f[i>>2]=s;v=i+4|0;f[v>>2]=w;if(w>>>0>1032){c=FQa(w)|0;f[i>>2]=c;K=c}else K=s;if((q|0)>0){c=(o|0)<(a|0);o=(a|0)>0;w=g+24|0;t=g+16|0;r=g+8|0;z=a+-4|0;y=(a|0)<4;A=a&-4;B=X(x,(z>>>2<<3)+8|0)|0;H=g+B|0;G=0;F=k;k=l+B|0;while(1){B=j+(X(G,m)|0)|0;L=l+((X(G,b)|0)<<3)|0;if(c)if(o){M=0;do{p[K+(M<<3)>>3]=+(h[B+M>>0]|0)-+p[L>>3];M=M+1|0}while((M|0)!=(a|0));N=21}else{O=G;N=22}else if(o){M=0;do{p[K+(M<<3)>>3]=+(h[B+M>>0]|0)-+p[L+(M<<3)>>3];M=M+1|0}while((M|0)!=(a|0));N=21}else{P=G;Q=k;N=30}if((N|0)==21){N=0;if(c){O=G;N=22}else{P=G;Q=k;N=30}}if((N|0)==22)while(1){N=0;M=j+(X(O,m)|0)|0;L=l+((X(O,b)|0)<<3)|0;J=+p[L>>3];p[w>>3]=J;p[t>>3]=J;p[r>>3]=J;p[g>>3]=J;a:do if(y){R=0.0;S=g;T=0}else{E=0.0;L=g;B=0;D=J;while(1){U=B|1;V=B|2;W=B|3;I=E+(+p[K+(B<<3)>>3]*(+(h[M+B>>0]|0)-D)+ +p[K+(U<<3)>>3]*(+(h[M+U>>0]|0)-+p[L+8>>3])+ +p[K+(V<<3)>>3]*(+(h[M+V>>0]|0)-+p[L+16>>3])+ +p[K+(W<<3)>>3]*(+(h[M+W>>0]|0)-+p[L+24>>3]));W=B+4|0;V=L+(x<<3)|0;if((W|0)>(z|0)){R=I;S=H;T=A;break a}E=I;L=V;B=W;D=+p[V>>3]}}while(0);if((T|0)<(a|0)){J=R;B=S;L=T;while(1){C=J+ +p[K+(L<<3)>>3]*(+(h[M+L>>0]|0)-+p[B>>3]);L=L+1|0;if((L|0)==(a|0)){Y=C;break}else{J=C;B=B+8|0}}}else Y=R;p[F+(O<<3)>>3]=Y*d;O=O+1|0;if((O|0)==(q|0))break;else N=22}else if((N|0)==30)while(1){N=0;B=j+(X(P,m)|0)|0;L=l+((X(P,b)|0)<<3)|0;if(y){Z=0.0;_=L;$=0}else{J=0.0;M=L;L=0;while(1){V=L|1;W=L|2;U=L|3;C=J+(+p[K+(L<<3)>>3]*(+(h[B+L>>0]|0)-+p[M>>3])+ +p[K+(V<<3)>>3]*(+(h[B+V>>0]|0)-+p[M+8>>3])+ +p[K+(W<<3)>>3]*(+(h[B+W>>0]|0)-+p[M+16>>3])+ +p[K+(U<<3)>>3]*(+(h[B+U>>0]|0)-+p[M+24>>3]));L=L+4|0;if((L|0)>(z|0)){Z=C;_=Q;$=A;break}else{J=C;M=M+(x<<3)|0}}}if(($|0)<(a|0)){J=Z;M=_;L=$;while(1){C=J+ +p[K+(L<<3)>>3]*(+(h[B+L>>0]|0)-+p[M>>3]);L=L+1|0;if((L|0)==(a|0)){aa=C;break}else{J=C;M=M+8|0}}}else aa=Z;p[F+(P<<3)>>3]=aa*d;P=P+1|0;if((P|0)==(q|0))break;else{Q=Q+(b<<3)|0;N=30}}G=G+1|0;if((G|0)==(q|0))break;else{F=F+(n<<3)|0;k=k+(b<<3)|0}}}if((K|0)!=(s|0)){HQa(K);f[i>>2]=s;f[v>>2]=1032}u=e;return}function _C(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0,h=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0,T=0,U=0;e=u;u=u+1040|0;g=e;h=f[a+16>>2]|0;i=f[b+16>>2]|0;k=f[c+16>>2]|0;l=(f[a+48>>2]|0)>>>1;m=(f[b+48>>2]|0)>>>2;b=(f[c+8>>2]|0)>1?(f[c+48>>2]|0)>>>2:0;o=f[c+12>>2]|0;c=f[a+40>>2]|0;a=f[c+4>>2]|0;p=f[c>>2]|0;c=g+8|0;f[g>>2]=c;q=g+4|0;f[q>>2]=1032;r=(k|0)!=0;s=(o|0)<(a|0);o=r&s?p*20|0:p<<2;f[q>>2]=o;if(o>>>0>1032){t=FQa(o)|0;f[g>>2]=t;v=t}else v=c;a:do if(r){do if(s){t=v+(p<<2)|0;if((p|0)<=0)if(!t){w=11;break a}else{x=t;y=t;z=b|0?4:0;break}else A=0;do{o=k+((X(A,b)|0)<<2)|0;B=f[o>>2]|0;o=A<<2;f[t+((o|3)<<2)>>2]=B;f[t+((o|2)<<2)>>2]=B;f[t+((o|1)<<2)>>2]=B;f[t+(o<<2)>>2]=B;A=A+1|0}while((A|0)!=(p|0));x=t;y=t;z=b|0?4:0}else{x=k;y=0;z=b}while(0);if((a|0)>0){B=(y|0)!=0;o=(p|0)>0;C=a+-4|0;D=d*0.0;E=d*0.0;F=d*0.0;G=i;H=0;while(1){if(B){if(o){I=0;do{J=h+((X(I,l)|0)+H<<1)|0;K=y+((X(I,z)|0)<<2)|0;n[v+(I<<2)>>2]=+(j[J>>1]|0)-+n[K>>2];I=I+1|0}while((I|0)!=(p|0))}}else if(o){I=0;do{t=h+((X(I,l)|0)+H<<1)|0;K=x+((X(I,z)|0)+H<<2)|0;n[v+(I<<2)>>2]=+(j[t>>1]|0)-+n[K>>2];I=I+1|0}while((I|0)!=(p|0))}b:do if((H|0)>(C|0))L=H;else{if(o)M=H;else{I=H;while(1){n[G+(I<<2)>>2]=F;n[G+(I+1<<2)>>2]=F;n[G+(I+2<<2)>>2]=F;n[G+(I+3<<2)>>2]=F;K=I+4|0;if((K|0)>(C|0)){L=K;break b}else I=K}}while(1){I=B?y:x+(M<<2)|0;K=h+(M<<1)|0;N=0.0;O=0.0;P=0.0;Q=0.0;t=0;while(1){R=+n[v+(t<<2)>>2];Q=Q+R*(+(j[K>>1]|0)-+n[I>>2]);P=P+R*(+(j[K+2>>1]|0)-+n[I+4>>2]);O=O+R*(+(j[K+4>>1]|0)-+n[I+8>>2]);N=N+R*(+(j[K+6>>1]|0)-+n[I+12>>2]);t=t+1|0;if((t|0)==(p|0))break;else{I=I+(z<<2)|0;K=K+(l<<1)|0}}n[G+(M<<2)>>2]=Q*d;n[G+(M+1<<2)>>2]=P*d;n[G+(M+2<<2)>>2]=O*d;n[G+(M+3<<2)>>2]=N*d;K=M+4|0;if((K|0)>(C|0)){L=K;break}else M=K}}while(0);c:do if((L|0)<(a|0)){if(!o)if(B){K=L;while(1){n[G+(K<<2)>>2]=D;K=K+1|0;if((K|0)==(a|0))break c}}else{K=L;while(1){n[G+(K<<2)>>2]=E;K=K+1|0;if((K|0)==(a|0))break c}}if(B){K=L;do{I=h+(K<<1)|0;R=0.0;t=y;J=0;while(1){R=R+ +n[v+(J<<2)>>2]*(+(j[I>>1]|0)-+n[t>>2]);J=J+1|0;if((J|0)==(p|0))break;else{I=I+(l<<1)|0;t=t+(z<<2)|0}}n[G+(K<<2)>>2]=R*d;K=K+1|0}while((K|0)!=(a|0))}else{K=L;do{t=h+(K<<1)|0;N=0.0;I=x+(K<<2)|0;J=0;while(1){N=N+ +n[v+(J<<2)>>2]*(+(j[t>>1]|0)-+n[I>>2]);J=J+1|0;if((J|0)==(p|0))break;else{t=t+(l<<1)|0;I=I+(z<<2)|0}}n[G+(K<<2)>>2]=N*d;K=K+1|0}while((K|0)!=(a|0))}}while(0);H=H+1|0;if((H|0)==(a|0))break;else G=G+(m<<2)|0}}}else w=11;while(0);if((w|0)==11?(a|0)>0:0){w=(p|0)>0;z=a+-4|0;E=d*0.0;D=d*0.0;x=i;i=0;while(1){if(w){L=0;do{y=h+((X(L,l)|0)+i<<1)|0;n[v+(L<<2)>>2]=+(j[y>>1]|0);L=L+1|0}while((L|0)!=(p|0))}d:do if((i|0)>(z|0))S=i;else{if(w)T=i;else{L=i;while(1){n[x+(L<<2)>>2]=D;n[x+(L+1<<2)>>2]=D;n[x+(L+2<<2)>>2]=D;n[x+(L+3<<2)>>2]=D;y=L+4|0;if((y|0)>(z|0)){S=y;break d}else L=y}}while(1){L=h+(T<<1)|0;F=0.0;R=0.0;O=0.0;P=0.0;y=0;while(1){Q=+n[v+(y<<2)>>2];P=P+Q*+(j[L>>1]|0);O=O+Q*+(j[L+2>>1]|0);R=R+Q*+(j[L+4>>1]|0);F=F+Q*+(j[L+6>>1]|0);y=y+1|0;if((y|0)==(p|0))break;else L=L+(l<<1)|0}n[x+(T<<2)>>2]=P*d;n[x+(T+1<<2)>>2]=O*d;n[x+(T+2<<2)>>2]=R*d;n[x+(T+3<<2)>>2]=F*d;L=T+4|0;if((L|0)>(z|0)){S=L;break}else T=L}}while(0);e:do if((S|0)<(a|0)){if(w)U=S;else{L=S;while(1){n[x+(L<<2)>>2]=E;L=L+1|0;if((L|0)==(a|0))break e}}do{L=h+(U<<1)|0;Q=0.0;y=0;while(1){Q=Q+ +n[v+(y<<2)>>2]*+(j[L>>1]|0);y=y+1|0;if((y|0)==(p|0))break;else L=L+(l<<1)|0}n[x+(U<<2)>>2]=Q*d;U=U+1|0}while((U|0)!=(a|0))}while(0);i=i+1|0;if((i|0)==(a|0))break;else x=x+(m<<2)|0}}if((v|0)==(c|0)){u=e;return}HQa(v);f[g>>2]=c;f[q>>2]=1032;u=e;return}function $C(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0,h=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0,J=0.0,K=0.0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0.0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0.0,$=0.0,aa=0,ba=0,ca=0.0;e=u;u=u+1056|0;g=e+1040|0;h=e;i=f[a+16>>2]|0;k=f[b+16>>2]|0;l=f[c+16>>2]|0;m=(f[a+48>>2]|0)>>>1;o=(f[b+48>>2]|0)>>>2;b=(f[c+8>>2]|0)>1?(f[c+48>>2]|0)>>>2:0;p=f[c+12>>2]|0;c=f[a+40>>2]|0;a=f[c+4>>2]|0;q=f[c>>2]|0;if(!l){if((q|0)<=0){u=e;return}c=a+-4|0;r=(a|0)<4;t=a&-4;v=(a|0)>0;w=(t|0)<(a|0);x=0;y=k;while(1){z=i+((X(x,m)|0)<<1)|0;if(r){A=x;do{B=i+((X(A,m)|0)<<1)|0;if(v){C=0;D=0.0;while(1){E=D+ +(j[z+(C<<1)>>1]|0)*+(j[B+(C<<1)>>1]|0);C=C+1|0;if((C|0)==(a|0)){F=E;break}else D=E}}else F=0.0;n[y+(A<<2)>>2]=F*d;A=A+1|0}while((A|0)!=(q|0))}else{A=x;do{C=i+((X(A,m)|0)<<1)|0;B=0;D=0.0;do{G=B|1;H=B|2;I=B|3;D=D+(+(j[z+(B<<1)>>1]|0)*+(j[C+(B<<1)>>1]|0)+ +(j[z+(G<<1)>>1]|0)*+(j[C+(G<<1)>>1]|0)+ +(j[z+(H<<1)>>1]|0)*+(j[C+(H<<1)>>1]|0)+ +(j[z+(I<<1)>>1]|0)*+(j[C+(I<<1)>>1]|0));B=B+4|0}while((B|0)<=(c|0));if(w){B=t;E=D;while(1){J=E+ +(j[z+(B<<1)>>1]|0)*+(j[C+(B<<1)>>1]|0);B=B+1|0;if((B|0)==(a|0)){K=J;break}else E=J}}else K=D;n[y+(A<<2)>>2]=K*d;A=A+1|0}while((A|0)!=(q|0))}x=x+1|0;if((x|0)==(q|0))break;else y=y+(o<<2)|0}u=e;return}y=(p|0)==(a|0)?4:0;x=a<<2;t=h+8|0;f[h>>2]=t;w=h+4|0;f[w>>2]=x;if(x>>>0>1032){c=FQa(x)|0;f[h>>2]=c;L=c}else L=t;if((q|0)>0){c=(p|0)<(a|0);p=(a|0)>0;x=g+12|0;v=g+8|0;r=g+4|0;A=a+-4|0;z=(a|0)<4;B=a&-4;C=X(y,B)|0;I=g+C|0;H=0;G=k;k=l+C|0;while(1){C=i+((X(H,m)|0)<<1)|0;M=l+((X(H,b)|0)<<2)|0;if(c)if(p){N=0;do{n[L+(N<<2)>>2]=+(j[C+(N<<1)>>1]|0)-+n[M>>2];N=N+1|0}while((N|0)!=(a|0));O=21}else{P=H;O=22}else if(p){N=0;do{n[L+(N<<2)>>2]=+(j[C+(N<<1)>>1]|0)-+n[M+(N<<2)>>2];N=N+1|0}while((N|0)!=(a|0));O=21}else{Q=H;R=k;O=31}if((O|0)==21){O=0;if(c){P=H;O=22}else{Q=H;R=k;O=31}}if((O|0)==22)while(1){O=0;N=i+((X(P,m)|0)<<1)|0;M=l+((X(P,b)|0)<<2)|0;C=f[M>>2]|0;f[x>>2]=C;f[v>>2]=C;f[r>>2]=C;f[g>>2]=C;a:do if(z){S=0.0;T=g;U=0}else{K=0.0;M=g;V=0;F=(f[s>>2]=C,+n[s>>2]);while(1){W=V|1;Y=V|2;Z=V|3;E=K+(+n[L+(V<<2)>>2]*(+(j[N+(V<<1)>>1]|0)-F)+ +n[L+(W<<2)>>2]*(+(j[N+(W<<1)>>1]|0)-+n[M+4>>2])+ +n[L+(Y<<2)>>2]*(+(j[N+(Y<<1)>>1]|0)-+n[M+8>>2])+ +n[L+(Z<<2)>>2]*(+(j[N+(Z<<1)>>1]|0)-+n[M+12>>2]));Z=V+4|0;Y=M+(y<<2)|0;if((Z|0)>(A|0)){S=E;T=I;U=B;break a}K=E;M=Y;V=Z;F=+n[Y>>2]}}while(0);if((U|0)<(a|0)){D=S;C=T;V=U;while(1){F=D+ +n[L+(V<<2)>>2]*(+(j[N+(V<<1)>>1]|0)-+n[C>>2]);V=V+1|0;if((V|0)==(a|0)){_=F;break}else{D=F;C=C+4|0}}}else _=S;n[G+(P<<2)>>2]=_*d;P=P+1|0;if((P|0)==(q|0))break;else O=22}else if((O|0)==31)while(1){O=0;C=i+((X(Q,m)|0)<<1)|0;V=l+((X(Q,b)|0)<<2)|0;if(z){$=0.0;aa=V;ba=0}else{D=0.0;N=V;V=0;while(1){M=V|1;Y=V|2;Z=V|3;F=D+(+n[L+(V<<2)>>2]*(+(j[C+(V<<1)>>1]|0)-+n[N>>2])+ +n[L+(M<<2)>>2]*(+(j[C+(M<<1)>>1]|0)-+n[N+4>>2])+ +n[L+(Y<<2)>>2]*(+(j[C+(Y<<1)>>1]|0)-+n[N+8>>2])+ +n[L+(Z<<2)>>2]*(+(j[C+(Z<<1)>>1]|0)-+n[N+12>>2]));V=V+4|0;if((V|0)>(A|0)){$=F;aa=R;ba=B;break}else{D=F;N=N+(y<<2)|0}}}if((ba|0)<(a|0)){D=$;N=aa;V=ba;while(1){F=D+ +n[L+(V<<2)>>2]*(+(j[C+(V<<1)>>1]|0)-+n[N>>2]);V=V+1|0;if((V|0)==(a|0)){ca=F;break}else{D=F;N=N+4|0}}}else ca=$;n[G+(Q<<2)>>2]=ca*d;Q=Q+1|0;if((Q|0)==(q|0))break;else{R=R+(b<<2)|0;O=31}}H=H+1|0;if((H|0)==(q|0))break;else{G=G+(o<<2)|0;k=k+(b<<2)|0}}}if((L|0)!=(t|0)){HQa(L);f[h>>2]=t;f[w>>2]=1032}u=e;return}function aD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0,D=0,E=0.0,F=0.0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0,T=0,U=0;e=u;u=u+1040|0;g=e;h=f[a+16>>2]|0;i=f[b+16>>2]|0;k=f[c+16>>2]|0;l=(f[a+48>>2]|0)>>>1;m=(f[b+48>>2]|0)>>>3;b=(f[c+8>>2]|0)>1?(f[c+48>>2]|0)>>>3:0;n=f[c+12>>2]|0;c=f[a+40>>2]|0;a=f[c+4>>2]|0;o=f[c>>2]|0;c=g+8|0;f[g>>2]=c;q=g+4|0;f[q>>2]=1032;r=(k|0)!=0;s=(n|0)<(a|0);n=r&s?o*40|0:o<<3;f[q>>2]=n;if(n>>>0>1032){t=FQa(n)|0;f[g>>2]=t;v=t}else v=c;a:do if(r){do if(s){t=v+(o<<3)|0;if((o|0)<=0)if(!t){w=11;break a}else{x=t;y=t;z=b|0?4:0;break}else A=0;do{n=k+((X(A,b)|0)<<3)|0;B=+p[n>>3];n=A<<2;p[t+((n|3)<<3)>>3]=B;p[t+((n|2)<<3)>>3]=B;p[t+((n|1)<<3)>>3]=B;p[t+(n<<3)>>3]=B;A=A+1|0}while((A|0)!=(o|0));x=t;y=t;z=b|0?4:0}else{x=k;y=0;z=b}while(0);if((a|0)>0){n=(y|0)!=0;C=(o|0)>0;D=a+-4|0;B=d*0.0;E=d*0.0;F=d*0.0;G=i;H=0;while(1){if(n){if(C){I=0;do{J=h+((X(I,l)|0)+H<<1)|0;K=y+((X(I,z)|0)<<3)|0;p[v+(I<<3)>>3]=+(j[J>>1]|0)-+p[K>>3];I=I+1|0}while((I|0)!=(o|0))}}else if(C){I=0;do{t=h+((X(I,l)|0)+H<<1)|0;K=x+((X(I,z)|0)+H<<3)|0;p[v+(I<<3)>>3]=+(j[t>>1]|0)-+p[K>>3];I=I+1|0}while((I|0)!=(o|0))}b:do if((H|0)>(D|0))L=H;else{if(C)M=H;else{I=H;while(1){p[G+(I<<3)>>3]=F;p[G+(I+1<<3)>>3]=F;p[G+(I+2<<3)>>3]=F;p[G+(I+3<<3)>>3]=F;K=I+4|0;if((K|0)>(D|0)){L=K;break b}else I=K}}while(1){I=n?y:x+(M<<3)|0;K=h+(M<<1)|0;N=0.0;O=0.0;P=0.0;Q=0.0;t=0;while(1){R=+p[v+(t<<3)>>3];Q=Q+R*(+(j[K>>1]|0)-+p[I>>3]);P=P+R*(+(j[K+2>>1]|0)-+p[I+8>>3]);O=O+R*(+(j[K+4>>1]|0)-+p[I+16>>3]);N=N+R*(+(j[K+6>>1]|0)-+p[I+24>>3]);t=t+1|0;if((t|0)==(o|0))break;else{I=I+(z<<3)|0;K=K+(l<<1)|0}}p[G+(M<<3)>>3]=Q*d;p[G+(M+1<<3)>>3]=P*d;p[G+(M+2<<3)>>3]=O*d;p[G+(M+3<<3)>>3]=N*d;K=M+4|0;if((K|0)>(D|0)){L=K;break}else M=K}}while(0);c:do if((L|0)<(a|0)){if(!C)if(n){K=L;while(1){p[G+(K<<3)>>3]=B;K=K+1|0;if((K|0)==(a|0))break c}}else{K=L;while(1){p[G+(K<<3)>>3]=E;K=K+1|0;if((K|0)==(a|0))break c}}if(n){K=L;do{I=h+(K<<1)|0;R=0.0;t=y;J=0;while(1){R=R+ +p[v+(J<<3)>>3]*(+(j[I>>1]|0)-+p[t>>3]);J=J+1|0;if((J|0)==(o|0))break;else{I=I+(l<<1)|0;t=t+(z<<3)|0}}p[G+(K<<3)>>3]=R*d;K=K+1|0}while((K|0)!=(a|0))}else{K=L;do{t=h+(K<<1)|0;N=0.0;I=x+(K<<3)|0;J=0;while(1){N=N+ +p[v+(J<<3)>>3]*(+(j[t>>1]|0)-+p[I>>3]);J=J+1|0;if((J|0)==(o|0))break;else{t=t+(l<<1)|0;I=I+(z<<3)|0}}p[G+(K<<3)>>3]=N*d;K=K+1|0}while((K|0)!=(a|0))}}while(0);H=H+1|0;if((H|0)==(a|0))break;else G=G+(m<<3)|0}}}else w=11;while(0);if((w|0)==11?(a|0)>0:0){w=(o|0)>0;z=a+-4|0;E=d*0.0;B=d*0.0;x=i;i=0;while(1){if(w){L=0;do{y=h+((X(L,l)|0)+i<<1)|0;p[v+(L<<3)>>3]=+(j[y>>1]|0);L=L+1|0}while((L|0)!=(o|0))}d:do if((i|0)>(z|0))S=i;else{if(w)T=i;else{L=i;while(1){p[x+(L<<3)>>3]=B;p[x+(L+1<<3)>>3]=B;p[x+(L+2<<3)>>3]=B;p[x+(L+3<<3)>>3]=B;y=L+4|0;if((y|0)>(z|0)){S=y;break d}else L=y}}while(1){L=h+(T<<1)|0;F=0.0;R=0.0;O=0.0;P=0.0;y=0;while(1){Q=+p[v+(y<<3)>>3];P=P+Q*+(j[L>>1]|0);O=O+Q*+(j[L+2>>1]|0);R=R+Q*+(j[L+4>>1]|0);F=F+Q*+(j[L+6>>1]|0);y=y+1|0;if((y|0)==(o|0))break;else L=L+(l<<1)|0}p[x+(T<<3)>>3]=P*d;p[x+(T+1<<3)>>3]=O*d;p[x+(T+2<<3)>>3]=R*d;p[x+(T+3<<3)>>3]=F*d;L=T+4|0;if((L|0)>(z|0)){S=L;break}else T=L}}while(0);e:do if((S|0)<(a|0)){if(w)U=S;else{L=S;while(1){p[x+(L<<3)>>3]=E;L=L+1|0;if((L|0)==(a|0))break e}}do{L=h+(U<<1)|0;Q=0.0;y=0;while(1){Q=Q+ +p[v+(y<<3)>>3]*+(j[L>>1]|0);y=y+1|0;if((y|0)==(o|0))break;else L=L+(l<<1)|0}p[x+(U<<3)>>3]=Q*d;U=U+1|0}while((U|0)!=(a|0))}while(0);i=i+1|0;if((i|0)==(a|0))break;else x=x+(m<<3)|0}}if((v|0)==(c|0)){u=e;return}HQa(v);f[g>>2]=c;f[q>>2]=1032;u=e;return}function bD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0,G=0,H=0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0.0,S=0,T=0,U=0,V=0,W=0,Y=0.0,Z=0.0,_=0,$=0,aa=0.0;e=u;u=u+1072|0;g=e;h=e+32|0;i=f[a+16>>2]|0;k=f[b+16>>2]|0;l=f[c+16>>2]|0;m=(f[a+48>>2]|0)>>>1;n=(f[b+48>>2]|0)>>>3;b=(f[c+8>>2]|0)>1?(f[c+48>>2]|0)>>>3:0;o=f[c+12>>2]|0;c=f[a+40>>2]|0;a=f[c+4>>2]|0;q=f[c>>2]|0;if(!l){if((q|0)<=0){u=e;return}c=a+-4|0;r=(a|0)<4;s=a&-4;t=(a|0)>0;v=(s|0)<(a|0);w=0;x=k;while(1){y=i+((X(w,m)|0)<<1)|0;if(r){z=w;do{A=i+((X(z,m)|0)<<1)|0;if(t){B=0;C=0.0;while(1){D=C+ +(j[y+(B<<1)>>1]|0)*+(j[A+(B<<1)>>1]|0);B=B+1|0;if((B|0)==(a|0)){E=D;break}else C=D}}else E=0.0;p[x+(z<<3)>>3]=E*d;z=z+1|0}while((z|0)!=(q|0))}else{z=w;do{B=i+((X(z,m)|0)<<1)|0;A=0;C=0.0;do{F=A|1;G=A|2;H=A|3;C=C+(+(j[y+(A<<1)>>1]|0)*+(j[B+(A<<1)>>1]|0)+ +(j[y+(F<<1)>>1]|0)*+(j[B+(F<<1)>>1]|0)+ +(j[y+(G<<1)>>1]|0)*+(j[B+(G<<1)>>1]|0)+ +(j[y+(H<<1)>>1]|0)*+(j[B+(H<<1)>>1]|0));A=A+4|0}while((A|0)<=(c|0));if(v){A=s;D=C;while(1){I=D+ +(j[y+(A<<1)>>1]|0)*+(j[B+(A<<1)>>1]|0);A=A+1|0;if((A|0)==(a|0)){J=I;break}else D=I}}else J=C;p[x+(z<<3)>>3]=J*d;z=z+1|0}while((z|0)!=(q|0))}w=w+1|0;if((w|0)==(q|0))break;else x=x+(n<<3)|0}u=e;return}x=(o|0)==(a|0)?4:0;w=a<<3;s=h+8|0;f[h>>2]=s;v=h+4|0;f[v>>2]=w;if(w>>>0>1032){c=FQa(w)|0;f[h>>2]=c;K=c}else K=s;if((q|0)>0){c=(o|0)<(a|0);o=(a|0)>0;w=g+24|0;t=g+16|0;r=g+8|0;z=a+-4|0;y=(a|0)<4;A=a&-4;B=X(x,(z>>>2<<3)+8|0)|0;H=g+B|0;G=0;F=k;k=l+B|0;while(1){B=i+((X(G,m)|0)<<1)|0;L=l+((X(G,b)|0)<<3)|0;if(c)if(o){M=0;do{p[K+(M<<3)>>3]=+(j[B+(M<<1)>>1]|0)-+p[L>>3];M=M+1|0}while((M|0)!=(a|0));N=21}else{O=G;N=22}else if(o){M=0;do{p[K+(M<<3)>>3]=+(j[B+(M<<1)>>1]|0)-+p[L+(M<<3)>>3];M=M+1|0}while((M|0)!=(a|0));N=21}else{P=G;Q=k;N=30}if((N|0)==21){N=0;if(c){O=G;N=22}else{P=G;Q=k;N=30}}if((N|0)==22)while(1){N=0;M=i+((X(O,m)|0)<<1)|0;L=l+((X(O,b)|0)<<3)|0;J=+p[L>>3];p[w>>3]=J;p[t>>3]=J;p[r>>3]=J;p[g>>3]=J;a:do if(y){R=0.0;S=g;T=0}else{E=0.0;L=g;B=0;D=J;while(1){U=B|1;V=B|2;W=B|3;I=E+(+p[K+(B<<3)>>3]*(+(j[M+(B<<1)>>1]|0)-D)+ +p[K+(U<<3)>>3]*(+(j[M+(U<<1)>>1]|0)-+p[L+8>>3])+ +p[K+(V<<3)>>3]*(+(j[M+(V<<1)>>1]|0)-+p[L+16>>3])+ +p[K+(W<<3)>>3]*(+(j[M+(W<<1)>>1]|0)-+p[L+24>>3]));W=B+4|0;V=L+(x<<3)|0;if((W|0)>(z|0)){R=I;S=H;T=A;break a}E=I;L=V;B=W;D=+p[V>>3]}}while(0);if((T|0)<(a|0)){J=R;B=S;L=T;while(1){C=J+ +p[K+(L<<3)>>3]*(+(j[M+(L<<1)>>1]|0)-+p[B>>3]);L=L+1|0;if((L|0)==(a|0)){Y=C;break}else{J=C;B=B+8|0}}}else Y=R;p[F+(O<<3)>>3]=Y*d;O=O+1|0;if((O|0)==(q|0))break;else N=22}else if((N|0)==30)while(1){N=0;B=i+((X(P,m)|0)<<1)|0;L=l+((X(P,b)|0)<<3)|0;if(y){Z=0.0;_=L;$=0}else{J=0.0;M=L;L=0;while(1){V=L|1;W=L|2;U=L|3;C=J+(+p[K+(L<<3)>>3]*(+(j[B+(L<<1)>>1]|0)-+p[M>>3])+ +p[K+(V<<3)>>3]*(+(j[B+(V<<1)>>1]|0)-+p[M+8>>3])+ +p[K+(W<<3)>>3]*(+(j[B+(W<<1)>>1]|0)-+p[M+16>>3])+ +p[K+(U<<3)>>3]*(+(j[B+(U<<1)>>1]|0)-+p[M+24>>3]));L=L+4|0;if((L|0)>(z|0)){Z=C;_=Q;$=A;break}else{J=C;M=M+(x<<3)|0}}}if(($|0)<(a|0)){J=Z;M=_;L=$;while(1){C=J+ +p[K+(L<<3)>>3]*(+(j[B+(L<<1)>>1]|0)-+p[M>>3]);L=L+1|0;if((L|0)==(a|0)){aa=C;break}else{J=C;M=M+8|0}}}else aa=Z;p[F+(P<<3)>>3]=aa*d;P=P+1|0;if((P|0)==(q|0))break;else{Q=Q+(b<<3)|0;N=30}}G=G+1|0;if((G|0)==(q|0))break;else{F=F+(n<<3)|0;k=k+(b<<3)|0}}}if((K|0)!=(s|0)){HQa(K);f[h>>2]=s;f[v>>2]=1032}u=e;return}function cD(a,b,c,e){a=a|0;b=b|0;c=c|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0,T=0,U=0;g=u;u=u+1040|0;h=g;i=f[a+16>>2]|0;j=f[b+16>>2]|0;k=f[c+16>>2]|0;l=(f[a+48>>2]|0)>>>1;m=(f[b+48>>2]|0)>>>2;b=(f[c+8>>2]|0)>1?(f[c+48>>2]|0)>>>2:0;o=f[c+12>>2]|0;c=f[a+40>>2]|0;a=f[c+4>>2]|0;p=f[c>>2]|0;c=h+8|0;f[h>>2]=c;q=h+4|0;f[q>>2]=1032;r=(k|0)!=0;s=(o|0)<(a|0);o=r&s?p*20|0:p<<2;f[q>>2]=o;if(o>>>0>1032){t=FQa(o)|0;f[h>>2]=t;v=t}else v=c;a:do if(r){do if(s){t=v+(p<<2)|0;if((p|0)<=0)if(!t){w=11;break a}else{x=t;y=t;z=b|0?4:0;break}else A=0;do{o=k+((X(A,b)|0)<<2)|0;B=f[o>>2]|0;o=A<<2;f[t+((o|3)<<2)>>2]=B;f[t+((o|2)<<2)>>2]=B;f[t+((o|1)<<2)>>2]=B;f[t+(o<<2)>>2]=B;A=A+1|0}while((A|0)!=(p|0));x=t;y=t;z=b|0?4:0}else{x=k;y=0;z=b}while(0);if((a|0)>0){B=(y|0)!=0;o=(p|0)>0;C=a+-4|0;D=e*0.0;E=e*0.0;F=e*0.0;G=j;H=0;while(1){if(B){if(o){I=0;do{J=i+((X(I,l)|0)+H<<1)|0;K=y+((X(I,z)|0)<<2)|0;n[v+(I<<2)>>2]=+(d[J>>1]|0)-+n[K>>2];I=I+1|0}while((I|0)!=(p|0))}}else if(o){I=0;do{t=i+((X(I,l)|0)+H<<1)|0;K=x+((X(I,z)|0)+H<<2)|0;n[v+(I<<2)>>2]=+(d[t>>1]|0)-+n[K>>2];I=I+1|0}while((I|0)!=(p|0))}b:do if((H|0)>(C|0))L=H;else{if(o)M=H;else{I=H;while(1){n[G+(I<<2)>>2]=F;n[G+(I+1<<2)>>2]=F;n[G+(I+2<<2)>>2]=F;n[G+(I+3<<2)>>2]=F;K=I+4|0;if((K|0)>(C|0)){L=K;break b}else I=K}}while(1){I=B?y:x+(M<<2)|0;K=i+(M<<1)|0;N=0.0;O=0.0;P=0.0;Q=0.0;t=0;while(1){R=+n[v+(t<<2)>>2];Q=Q+R*(+(d[K>>1]|0)-+n[I>>2]);P=P+R*(+(d[K+2>>1]|0)-+n[I+4>>2]);O=O+R*(+(d[K+4>>1]|0)-+n[I+8>>2]);N=N+R*(+(d[K+6>>1]|0)-+n[I+12>>2]);t=t+1|0;if((t|0)==(p|0))break;else{I=I+(z<<2)|0;K=K+(l<<1)|0}}n[G+(M<<2)>>2]=Q*e;n[G+(M+1<<2)>>2]=P*e;n[G+(M+2<<2)>>2]=O*e;n[G+(M+3<<2)>>2]=N*e;K=M+4|0;if((K|0)>(C|0)){L=K;break}else M=K}}while(0);c:do if((L|0)<(a|0)){if(!o)if(B){K=L;while(1){n[G+(K<<2)>>2]=D;K=K+1|0;if((K|0)==(a|0))break c}}else{K=L;while(1){n[G+(K<<2)>>2]=E;K=K+1|0;if((K|0)==(a|0))break c}}if(B){K=L;do{I=i+(K<<1)|0;R=0.0;t=y;J=0;while(1){R=R+ +n[v+(J<<2)>>2]*(+(d[I>>1]|0)-+n[t>>2]);J=J+1|0;if((J|0)==(p|0))break;else{I=I+(l<<1)|0;t=t+(z<<2)|0}}n[G+(K<<2)>>2]=R*e;K=K+1|0}while((K|0)!=(a|0))}else{K=L;do{t=i+(K<<1)|0;N=0.0;I=x+(K<<2)|0;J=0;while(1){N=N+ +n[v+(J<<2)>>2]*(+(d[t>>1]|0)-+n[I>>2]);J=J+1|0;if((J|0)==(p|0))break;else{t=t+(l<<1)|0;I=I+(z<<2)|0}}n[G+(K<<2)>>2]=N*e;K=K+1|0}while((K|0)!=(a|0))}}while(0);H=H+1|0;if((H|0)==(a|0))break;else G=G+(m<<2)|0}}}else w=11;while(0);if((w|0)==11?(a|0)>0:0){w=(p|0)>0;z=a+-4|0;E=e*0.0;D=e*0.0;x=j;j=0;while(1){if(w){L=0;do{y=i+((X(L,l)|0)+j<<1)|0;n[v+(L<<2)>>2]=+(d[y>>1]|0);L=L+1|0}while((L|0)!=(p|0))}d:do if((j|0)>(z|0))S=j;else{if(w)T=j;else{L=j;while(1){n[x+(L<<2)>>2]=D;n[x+(L+1<<2)>>2]=D;n[x+(L+2<<2)>>2]=D;n[x+(L+3<<2)>>2]=D;y=L+4|0;if((y|0)>(z|0)){S=y;break d}else L=y}}while(1){L=i+(T<<1)|0;F=0.0;R=0.0;O=0.0;P=0.0;y=0;while(1){Q=+n[v+(y<<2)>>2];P=P+Q*+(d[L>>1]|0);O=O+Q*+(d[L+2>>1]|0);R=R+Q*+(d[L+4>>1]|0);F=F+Q*+(d[L+6>>1]|0);y=y+1|0;if((y|0)==(p|0))break;else L=L+(l<<1)|0}n[x+(T<<2)>>2]=P*e;n[x+(T+1<<2)>>2]=O*e;n[x+(T+2<<2)>>2]=R*e;n[x+(T+3<<2)>>2]=F*e;L=T+4|0;if((L|0)>(z|0)){S=L;break}else T=L}}while(0);e:do if((S|0)<(a|0)){if(w)U=S;else{L=S;while(1){n[x+(L<<2)>>2]=E;L=L+1|0;if((L|0)==(a|0))break e}}do{L=i+(U<<1)|0;Q=0.0;y=0;while(1){Q=Q+ +n[v+(y<<2)>>2]*+(d[L>>1]|0);y=y+1|0;if((y|0)==(p|0))break;else L=L+(l<<1)|0}n[x+(U<<2)>>2]=Q*e;U=U+1|0}while((U|0)!=(a|0))}while(0);j=j+1|0;if((j|0)==(a|0))break;else x=x+(m<<2)|0}}if((v|0)==(c|0)){u=g;return}HQa(v);f[h>>2]=c;f[q>>2]=1032;u=g;return}function dD(a,b,c,e){a=a|0;b=b|0;c=c|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0,J=0.0,K=0.0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0.0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0.0,$=0.0,aa=0,ba=0,ca=0.0;g=u;u=u+1056|0;h=g+1040|0;i=g;j=f[a+16>>2]|0;k=f[b+16>>2]|0;l=f[c+16>>2]|0;m=(f[a+48>>2]|0)>>>1;o=(f[b+48>>2]|0)>>>2;b=(f[c+8>>2]|0)>1?(f[c+48>>2]|0)>>>2:0;p=f[c+12>>2]|0;c=f[a+40>>2]|0;a=f[c+4>>2]|0;q=f[c>>2]|0;if(!l){if((q|0)<=0){u=g;return}c=a+-4|0;r=(a|0)<4;t=a&-4;v=(a|0)>0;w=(t|0)<(a|0);x=0;y=k;while(1){z=j+((X(x,m)|0)<<1)|0;if(r){A=x;do{B=j+((X(A,m)|0)<<1)|0;if(v){C=0;D=0.0;while(1){E=D+ +(d[z+(C<<1)>>1]|0)*+(d[B+(C<<1)>>1]|0);C=C+1|0;if((C|0)==(a|0)){F=E;break}else D=E}}else F=0.0;n[y+(A<<2)>>2]=F*e;A=A+1|0}while((A|0)!=(q|0))}else{A=x;do{C=j+((X(A,m)|0)<<1)|0;B=0;D=0.0;do{G=B|1;H=B|2;I=B|3;D=D+(+(d[z+(B<<1)>>1]|0)*+(d[C+(B<<1)>>1]|0)+ +(d[z+(G<<1)>>1]|0)*+(d[C+(G<<1)>>1]|0)+ +(d[z+(H<<1)>>1]|0)*+(d[C+(H<<1)>>1]|0)+ +(d[z+(I<<1)>>1]|0)*+(d[C+(I<<1)>>1]|0));B=B+4|0}while((B|0)<=(c|0));if(w){B=t;E=D;while(1){J=E+ +(d[z+(B<<1)>>1]|0)*+(d[C+(B<<1)>>1]|0);B=B+1|0;if((B|0)==(a|0)){K=J;break}else E=J}}else K=D;n[y+(A<<2)>>2]=K*e;A=A+1|0}while((A|0)!=(q|0))}x=x+1|0;if((x|0)==(q|0))break;else y=y+(o<<2)|0}u=g;return}y=(p|0)==(a|0)?4:0;x=a<<2;t=i+8|0;f[i>>2]=t;w=i+4|0;f[w>>2]=x;if(x>>>0>1032){c=FQa(x)|0;f[i>>2]=c;L=c}else L=t;if((q|0)>0){c=(p|0)<(a|0);p=(a|0)>0;x=h+12|0;v=h+8|0;r=h+4|0;A=a+-4|0;z=(a|0)<4;B=a&-4;C=X(y,B)|0;I=h+C|0;H=0;G=k;k=l+C|0;while(1){C=j+((X(H,m)|0)<<1)|0;M=l+((X(H,b)|0)<<2)|0;if(c)if(p){N=0;do{n[L+(N<<2)>>2]=+(d[C+(N<<1)>>1]|0)-+n[M>>2];N=N+1|0}while((N|0)!=(a|0));O=21}else{P=H;O=22}else if(p){N=0;do{n[L+(N<<2)>>2]=+(d[C+(N<<1)>>1]|0)-+n[M+(N<<2)>>2];N=N+1|0}while((N|0)!=(a|0));O=21}else{Q=H;R=k;O=31}if((O|0)==21){O=0;if(c){P=H;O=22}else{Q=H;R=k;O=31}}if((O|0)==22)while(1){O=0;N=j+((X(P,m)|0)<<1)|0;M=l+((X(P,b)|0)<<2)|0;C=f[M>>2]|0;f[x>>2]=C;f[v>>2]=C;f[r>>2]=C;f[h>>2]=C;a:do if(z){S=0.0;T=h;U=0}else{K=0.0;M=h;V=0;F=(f[s>>2]=C,+n[s>>2]);while(1){W=V|1;Y=V|2;Z=V|3;E=K+(+n[L+(V<<2)>>2]*(+(d[N+(V<<1)>>1]|0)-F)+ +n[L+(W<<2)>>2]*(+(d[N+(W<<1)>>1]|0)-+n[M+4>>2])+ +n[L+(Y<<2)>>2]*(+(d[N+(Y<<1)>>1]|0)-+n[M+8>>2])+ +n[L+(Z<<2)>>2]*(+(d[N+(Z<<1)>>1]|0)-+n[M+12>>2]));Z=V+4|0;Y=M+(y<<2)|0;if((Z|0)>(A|0)){S=E;T=I;U=B;break a}K=E;M=Y;V=Z;F=+n[Y>>2]}}while(0);if((U|0)<(a|0)){D=S;C=T;V=U;while(1){F=D+ +n[L+(V<<2)>>2]*(+(d[N+(V<<1)>>1]|0)-+n[C>>2]);V=V+1|0;if((V|0)==(a|0)){_=F;break}else{D=F;C=C+4|0}}}else _=S;n[G+(P<<2)>>2]=_*e;P=P+1|0;if((P|0)==(q|0))break;else O=22}else if((O|0)==31)while(1){O=0;C=j+((X(Q,m)|0)<<1)|0;V=l+((X(Q,b)|0)<<2)|0;if(z){$=0.0;aa=V;ba=0}else{D=0.0;N=V;V=0;while(1){M=V|1;Y=V|2;Z=V|3;F=D+(+n[L+(V<<2)>>2]*(+(d[C+(V<<1)>>1]|0)-+n[N>>2])+ +n[L+(M<<2)>>2]*(+(d[C+(M<<1)>>1]|0)-+n[N+4>>2])+ +n[L+(Y<<2)>>2]*(+(d[C+(Y<<1)>>1]|0)-+n[N+8>>2])+ +n[L+(Z<<2)>>2]*(+(d[C+(Z<<1)>>1]|0)-+n[N+12>>2]));V=V+4|0;if((V|0)>(A|0)){$=F;aa=R;ba=B;break}else{D=F;N=N+(y<<2)|0}}}if((ba|0)<(a|0)){D=$;N=aa;V=ba;while(1){F=D+ +n[L+(V<<2)>>2]*(+(d[C+(V<<1)>>1]|0)-+n[N>>2]);V=V+1|0;if((V|0)==(a|0)){ca=F;break}else{D=F;N=N+4|0}}}else ca=$;n[G+(Q<<2)>>2]=ca*e;Q=Q+1|0;if((Q|0)==(q|0))break;else{R=R+(b<<2)|0;O=31}}H=H+1|0;if((H|0)==(q|0))break;else{G=G+(o<<2)|0;k=k+(b<<2)|0}}}if((L|0)!=(t|0)){HQa(L);f[i>>2]=t;f[w>>2]=1032}u=g;return}function eD(a,b,c,e){a=a|0;b=b|0;c=c|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0,D=0,E=0.0,F=0.0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0,T=0,U=0;g=u;u=u+1040|0;h=g;i=f[a+16>>2]|0;j=f[b+16>>2]|0;k=f[c+16>>2]|0;l=(f[a+48>>2]|0)>>>1;m=(f[b+48>>2]|0)>>>3;b=(f[c+8>>2]|0)>1?(f[c+48>>2]|0)>>>3:0;n=f[c+12>>2]|0;c=f[a+40>>2]|0;a=f[c+4>>2]|0;o=f[c>>2]|0;c=h+8|0;f[h>>2]=c;q=h+4|0;f[q>>2]=1032;r=(k|0)!=0;s=(n|0)<(a|0);n=r&s?o*40|0:o<<3;f[q>>2]=n;if(n>>>0>1032){t=FQa(n)|0;f[h>>2]=t;v=t}else v=c;a:do if(r){do if(s){t=v+(o<<3)|0;if((o|0)<=0)if(!t){w=11;break a}else{x=t;y=t;z=b|0?4:0;break}else A=0;do{n=k+((X(A,b)|0)<<3)|0;B=+p[n>>3];n=A<<2;p[t+((n|3)<<3)>>3]=B;p[t+((n|2)<<3)>>3]=B;p[t+((n|1)<<3)>>3]=B;p[t+(n<<3)>>3]=B;A=A+1|0}while((A|0)!=(o|0));x=t;y=t;z=b|0?4:0}else{x=k;y=0;z=b}while(0);if((a|0)>0){n=(y|0)!=0;C=(o|0)>0;D=a+-4|0;B=e*0.0;E=e*0.0;F=e*0.0;G=j;H=0;while(1){if(n){if(C){I=0;do{J=i+((X(I,l)|0)+H<<1)|0;K=y+((X(I,z)|0)<<3)|0;p[v+(I<<3)>>3]=+(d[J>>1]|0)-+p[K>>3];I=I+1|0}while((I|0)!=(o|0))}}else if(C){I=0;do{t=i+((X(I,l)|0)+H<<1)|0;K=x+((X(I,z)|0)+H<<3)|0;p[v+(I<<3)>>3]=+(d[t>>1]|0)-+p[K>>3];I=I+1|0}while((I|0)!=(o|0))}b:do if((H|0)>(D|0))L=H;else{if(C)M=H;else{I=H;while(1){p[G+(I<<3)>>3]=F;p[G+(I+1<<3)>>3]=F;p[G+(I+2<<3)>>3]=F;p[G+(I+3<<3)>>3]=F;K=I+4|0;if((K|0)>(D|0)){L=K;break b}else I=K}}while(1){I=n?y:x+(M<<3)|0;K=i+(M<<1)|0;N=0.0;O=0.0;P=0.0;Q=0.0;t=0;while(1){R=+p[v+(t<<3)>>3];Q=Q+R*(+(d[K>>1]|0)-+p[I>>3]);P=P+R*(+(d[K+2>>1]|0)-+p[I+8>>3]);O=O+R*(+(d[K+4>>1]|0)-+p[I+16>>3]);N=N+R*(+(d[K+6>>1]|0)-+p[I+24>>3]);t=t+1|0;if((t|0)==(o|0))break;else{I=I+(z<<3)|0;K=K+(l<<1)|0}}p[G+(M<<3)>>3]=Q*e;p[G+(M+1<<3)>>3]=P*e;p[G+(M+2<<3)>>3]=O*e;p[G+(M+3<<3)>>3]=N*e;K=M+4|0;if((K|0)>(D|0)){L=K;break}else M=K}}while(0);c:do if((L|0)<(a|0)){if(!C)if(n){K=L;while(1){p[G+(K<<3)>>3]=B;K=K+1|0;if((K|0)==(a|0))break c}}else{K=L;while(1){p[G+(K<<3)>>3]=E;K=K+1|0;if((K|0)==(a|0))break c}}if(n){K=L;do{I=i+(K<<1)|0;R=0.0;t=y;J=0;while(1){R=R+ +p[v+(J<<3)>>3]*(+(d[I>>1]|0)-+p[t>>3]);J=J+1|0;if((J|0)==(o|0))break;else{I=I+(l<<1)|0;t=t+(z<<3)|0}}p[G+(K<<3)>>3]=R*e;K=K+1|0}while((K|0)!=(a|0))}else{K=L;do{t=i+(K<<1)|0;N=0.0;I=x+(K<<3)|0;J=0;while(1){N=N+ +p[v+(J<<3)>>3]*(+(d[t>>1]|0)-+p[I>>3]);J=J+1|0;if((J|0)==(o|0))break;else{t=t+(l<<1)|0;I=I+(z<<3)|0}}p[G+(K<<3)>>3]=N*e;K=K+1|0}while((K|0)!=(a|0))}}while(0);H=H+1|0;if((H|0)==(a|0))break;else G=G+(m<<3)|0}}}else w=11;while(0);if((w|0)==11?(a|0)>0:0){w=(o|0)>0;z=a+-4|0;E=e*0.0;B=e*0.0;x=j;j=0;while(1){if(w){L=0;do{y=i+((X(L,l)|0)+j<<1)|0;p[v+(L<<3)>>3]=+(d[y>>1]|0);L=L+1|0}while((L|0)!=(o|0))}d:do if((j|0)>(z|0))S=j;else{if(w)T=j;else{L=j;while(1){p[x+(L<<3)>>3]=B;p[x+(L+1<<3)>>3]=B;p[x+(L+2<<3)>>3]=B;p[x+(L+3<<3)>>3]=B;y=L+4|0;if((y|0)>(z|0)){S=y;break d}else L=y}}while(1){L=i+(T<<1)|0;F=0.0;R=0.0;O=0.0;P=0.0;y=0;while(1){Q=+p[v+(y<<3)>>3];P=P+Q*+(d[L>>1]|0);O=O+Q*+(d[L+2>>1]|0);R=R+Q*+(d[L+4>>1]|0);F=F+Q*+(d[L+6>>1]|0);y=y+1|0;if((y|0)==(o|0))break;else L=L+(l<<1)|0}p[x+(T<<3)>>3]=P*e;p[x+(T+1<<3)>>3]=O*e;p[x+(T+2<<3)>>3]=R*e;p[x+(T+3<<3)>>3]=F*e;L=T+4|0;if((L|0)>(z|0)){S=L;break}else T=L}}while(0);e:do if((S|0)<(a|0)){if(w)U=S;else{L=S;while(1){p[x+(L<<3)>>3]=E;L=L+1|0;if((L|0)==(a|0))break e}}do{L=i+(U<<1)|0;Q=0.0;y=0;while(1){Q=Q+ +p[v+(y<<3)>>3]*+(d[L>>1]|0);y=y+1|0;if((y|0)==(o|0))break;else L=L+(l<<1)|0}p[x+(U<<3)>>3]=Q*e;U=U+1|0}while((U|0)!=(a|0))}while(0);j=j+1|0;if((j|0)==(a|0))break;else x=x+(m<<3)|0}}if((v|0)==(c|0)){u=g;return}HQa(v);f[h>>2]=c;f[q>>2]=1032;u=g;return}function fD(a,b,c,e){a=a|0;b=b|0;c=c|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0,G=0,H=0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0.0,S=0,T=0,U=0,V=0,W=0,Y=0.0,Z=0.0,_=0,$=0,aa=0.0;g=u;u=u+1072|0;h=g;i=g+32|0;j=f[a+16>>2]|0;k=f[b+16>>2]|0;l=f[c+16>>2]|0;m=(f[a+48>>2]|0)>>>1;n=(f[b+48>>2]|0)>>>3;b=(f[c+8>>2]|0)>1?(f[c+48>>2]|0)>>>3:0;o=f[c+12>>2]|0;c=f[a+40>>2]|0;a=f[c+4>>2]|0;q=f[c>>2]|0;if(!l){if((q|0)<=0){u=g;return}c=a+-4|0;r=(a|0)<4;s=a&-4;t=(a|0)>0;v=(s|0)<(a|0);w=0;x=k;while(1){y=j+((X(w,m)|0)<<1)|0;if(r){z=w;do{A=j+((X(z,m)|0)<<1)|0;if(t){B=0;C=0.0;while(1){D=C+ +(d[y+(B<<1)>>1]|0)*+(d[A+(B<<1)>>1]|0);B=B+1|0;if((B|0)==(a|0)){E=D;break}else C=D}}else E=0.0;p[x+(z<<3)>>3]=E*e;z=z+1|0}while((z|0)!=(q|0))}else{z=w;do{B=j+((X(z,m)|0)<<1)|0;A=0;C=0.0;do{F=A|1;G=A|2;H=A|3;C=C+(+(d[y+(A<<1)>>1]|0)*+(d[B+(A<<1)>>1]|0)+ +(d[y+(F<<1)>>1]|0)*+(d[B+(F<<1)>>1]|0)+ +(d[y+(G<<1)>>1]|0)*+(d[B+(G<<1)>>1]|0)+ +(d[y+(H<<1)>>1]|0)*+(d[B+(H<<1)>>1]|0));A=A+4|0}while((A|0)<=(c|0));if(v){A=s;D=C;while(1){I=D+ +(d[y+(A<<1)>>1]|0)*+(d[B+(A<<1)>>1]|0);A=A+1|0;if((A|0)==(a|0)){J=I;break}else D=I}}else J=C;p[x+(z<<3)>>3]=J*e;z=z+1|0}while((z|0)!=(q|0))}w=w+1|0;if((w|0)==(q|0))break;else x=x+(n<<3)|0}u=g;return}x=(o|0)==(a|0)?4:0;w=a<<3;s=i+8|0;f[i>>2]=s;v=i+4|0;f[v>>2]=w;if(w>>>0>1032){c=FQa(w)|0;f[i>>2]=c;K=c}else K=s;if((q|0)>0){c=(o|0)<(a|0);o=(a|0)>0;w=h+24|0;t=h+16|0;r=h+8|0;z=a+-4|0;y=(a|0)<4;A=a&-4;B=X(x,(z>>>2<<3)+8|0)|0;H=h+B|0;G=0;F=k;k=l+B|0;while(1){B=j+((X(G,m)|0)<<1)|0;L=l+((X(G,b)|0)<<3)|0;if(c)if(o){M=0;do{p[K+(M<<3)>>3]=+(d[B+(M<<1)>>1]|0)-+p[L>>3];M=M+1|0}while((M|0)!=(a|0));N=21}else{O=G;N=22}else if(o){M=0;do{p[K+(M<<3)>>3]=+(d[B+(M<<1)>>1]|0)-+p[L+(M<<3)>>3];M=M+1|0}while((M|0)!=(a|0));N=21}else{P=G;Q=k;N=30}if((N|0)==21){N=0;if(c){O=G;N=22}else{P=G;Q=k;N=30}}if((N|0)==22)while(1){N=0;M=j+((X(O,m)|0)<<1)|0;L=l+((X(O,b)|0)<<3)|0;J=+p[L>>3];p[w>>3]=J;p[t>>3]=J;p[r>>3]=J;p[h>>3]=J;a:do if(y){R=0.0;S=h;T=0}else{E=0.0;L=h;B=0;D=J;while(1){U=B|1;V=B|2;W=B|3;I=E+(+p[K+(B<<3)>>3]*(+(d[M+(B<<1)>>1]|0)-D)+ +p[K+(U<<3)>>3]*(+(d[M+(U<<1)>>1]|0)-+p[L+8>>3])+ +p[K+(V<<3)>>3]*(+(d[M+(V<<1)>>1]|0)-+p[L+16>>3])+ +p[K+(W<<3)>>3]*(+(d[M+(W<<1)>>1]|0)-+p[L+24>>3]));W=B+4|0;V=L+(x<<3)|0;if((W|0)>(z|0)){R=I;S=H;T=A;break a}E=I;L=V;B=W;D=+p[V>>3]}}while(0);if((T|0)<(a|0)){J=R;B=S;L=T;while(1){C=J+ +p[K+(L<<3)>>3]*(+(d[M+(L<<1)>>1]|0)-+p[B>>3]);L=L+1|0;if((L|0)==(a|0)){Y=C;break}else{J=C;B=B+8|0}}}else Y=R;p[F+(O<<3)>>3]=Y*e;O=O+1|0;if((O|0)==(q|0))break;else N=22}else if((N|0)==30)while(1){N=0;B=j+((X(P,m)|0)<<1)|0;L=l+((X(P,b)|0)<<3)|0;if(y){Z=0.0;_=L;$=0}else{J=0.0;M=L;L=0;while(1){V=L|1;W=L|2;U=L|3;C=J+(+p[K+(L<<3)>>3]*(+(d[B+(L<<1)>>1]|0)-+p[M>>3])+ +p[K+(V<<3)>>3]*(+(d[B+(V<<1)>>1]|0)-+p[M+8>>3])+ +p[K+(W<<3)>>3]*(+(d[B+(W<<1)>>1]|0)-+p[M+16>>3])+ +p[K+(U<<3)>>3]*(+(d[B+(U<<1)>>1]|0)-+p[M+24>>3]));L=L+4|0;if((L|0)>(z|0)){Z=C;_=Q;$=A;break}else{J=C;M=M+(x<<3)|0}}}if(($|0)<(a|0)){J=Z;M=_;L=$;while(1){C=J+ +p[K+(L<<3)>>3]*(+(d[B+(L<<1)>>1]|0)-+p[M>>3]);L=L+1|0;if((L|0)==(a|0)){aa=C;break}else{J=C;M=M+8|0}}}else aa=Z;p[F+(P<<3)>>3]=aa*e;P=P+1|0;if((P|0)==(q|0))break;else{Q=Q+(b<<3)|0;N=30}}G=G+1|0;if((G|0)==(q|0))break;else{F=F+(n<<3)|0;k=k+(b<<3)|0}}}if((K|0)!=(s|0)){HQa(K);f[i>>2]=s;f[v>>2]=1032}u=g;return}function gD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0,S=0,T=0;e=u;u=u+1040|0;g=e;h=f[a+16>>2]|0;i=f[b+16>>2]|0;j=f[c+16>>2]|0;k=(f[a+48>>2]|0)>>>2;l=(f[b+48>>2]|0)>>>2;b=(f[c+8>>2]|0)>1?(f[c+48>>2]|0)>>>2:0;m=f[c+12>>2]|0;c=f[a+40>>2]|0;a=f[c+4>>2]|0;o=f[c>>2]|0;c=g+8|0;f[g>>2]=c;p=g+4|0;f[p>>2]=1032;q=(j|0)!=0;r=(m|0)<(a|0);m=q&r?o*20|0:o<<2;f[p>>2]=m;if(m>>>0>1032){s=FQa(m)|0;f[g>>2]=s;t=s}else t=c;a:do if(q){do if(r){s=t+(o<<2)|0;if((o|0)<=0)if(!s){v=11;break a}else{w=s;x=s;y=b|0?4:0;break}else z=0;do{m=j+((X(z,b)|0)<<2)|0;A=f[m>>2]|0;m=z<<2;f[s+((m|3)<<2)>>2]=A;f[s+((m|2)<<2)>>2]=A;f[s+((m|1)<<2)>>2]=A;f[s+(m<<2)>>2]=A;z=z+1|0}while((z|0)!=(o|0));w=s;x=s;y=b|0?4:0}else{w=j;x=0;y=b}while(0);if((a|0)>0){A=(x|0)!=0;m=(o|0)>0;B=a+-4|0;C=d*0.0;D=d*0.0;E=d*0.0;F=i;G=0;while(1){if(A){if(m){H=0;do{I=h+((X(H,k)|0)+G<<2)|0;J=x+((X(H,y)|0)<<2)|0;n[t+(H<<2)>>2]=+n[I>>2]-+n[J>>2];H=H+1|0}while((H|0)!=(o|0))}}else if(m){H=0;do{s=h+((X(H,k)|0)+G<<2)|0;J=w+((X(H,y)|0)+G<<2)|0;n[t+(H<<2)>>2]=+n[s>>2]-+n[J>>2];H=H+1|0}while((H|0)!=(o|0))}b:do if((G|0)>(B|0))K=G;else{if(m)L=G;else{H=G;while(1){n[F+(H<<2)>>2]=E;n[F+(H+1<<2)>>2]=E;n[F+(H+2<<2)>>2]=E;n[F+(H+3<<2)>>2]=E;J=H+4|0;if((J|0)>(B|0)){K=J;break b}else H=J}}while(1){H=A?x:w+(L<<2)|0;J=h+(L<<2)|0;M=0.0;N=0.0;O=0.0;P=0.0;s=0;while(1){Q=+n[t+(s<<2)>>2];P=P+Q*(+n[J>>2]-+n[H>>2]);O=O+Q*(+n[J+4>>2]-+n[H+4>>2]);N=N+Q*(+n[J+8>>2]-+n[H+8>>2]);M=M+Q*(+n[J+12>>2]-+n[H+12>>2]);s=s+1|0;if((s|0)==(o|0))break;else{H=H+(y<<2)|0;J=J+(k<<2)|0}}n[F+(L<<2)>>2]=P*d;n[F+(L+1<<2)>>2]=O*d;n[F+(L+2<<2)>>2]=N*d;n[F+(L+3<<2)>>2]=M*d;J=L+4|0;if((J|0)>(B|0)){K=J;break}else L=J}}while(0);c:do if((K|0)<(a|0)){if(!m)if(A){J=K;while(1){n[F+(J<<2)>>2]=C;J=J+1|0;if((J|0)==(a|0))break c}}else{J=K;while(1){n[F+(J<<2)>>2]=D;J=J+1|0;if((J|0)==(a|0))break c}}if(A){J=K;do{H=h+(J<<2)|0;Q=0.0;s=x;I=0;while(1){Q=Q+ +n[t+(I<<2)>>2]*(+n[H>>2]-+n[s>>2]);I=I+1|0;if((I|0)==(o|0))break;else{H=H+(k<<2)|0;s=s+(y<<2)|0}}n[F+(J<<2)>>2]=Q*d;J=J+1|0}while((J|0)!=(a|0))}else{J=K;do{s=h+(J<<2)|0;M=0.0;H=w+(J<<2)|0;I=0;while(1){M=M+ +n[t+(I<<2)>>2]*(+n[s>>2]-+n[H>>2]);I=I+1|0;if((I|0)==(o|0))break;else{s=s+(k<<2)|0;H=H+(y<<2)|0}}n[F+(J<<2)>>2]=M*d;J=J+1|0}while((J|0)!=(a|0))}}while(0);G=G+1|0;if((G|0)==(a|0))break;else F=F+(l<<2)|0}}}else v=11;while(0);if((v|0)==11?(a|0)>0:0){v=(o|0)>0;y=a+-4|0;D=d*0.0;C=d*0.0;w=i;i=0;while(1){if(v){K=0;do{x=h+((X(K,k)|0)+i<<2)|0;f[t+(K<<2)>>2]=f[x>>2];K=K+1|0}while((K|0)!=(o|0))}d:do if((i|0)>(y|0))R=i;else{if(v)S=i;else{K=i;while(1){n[w+(K<<2)>>2]=C;n[w+(K+1<<2)>>2]=C;n[w+(K+2<<2)>>2]=C;n[w+(K+3<<2)>>2]=C;x=K+4|0;if((x|0)>(y|0)){R=x;break d}else K=x}}while(1){K=h+(S<<2)|0;E=0.0;Q=0.0;N=0.0;O=0.0;x=0;while(1){P=+n[t+(x<<2)>>2];O=O+P*+n[K>>2];N=N+P*+n[K+4>>2];Q=Q+P*+n[K+8>>2];E=E+P*+n[K+12>>2];x=x+1|0;if((x|0)==(o|0))break;else K=K+(k<<2)|0}n[w+(S<<2)>>2]=O*d;n[w+(S+1<<2)>>2]=N*d;n[w+(S+2<<2)>>2]=Q*d;n[w+(S+3<<2)>>2]=E*d;K=S+4|0;if((K|0)>(y|0)){R=K;break}else S=K}}while(0);e:do if((R|0)<(a|0)){if(v)T=R;else{K=R;while(1){n[w+(K<<2)>>2]=D;K=K+1|0;if((K|0)==(a|0))break e}}do{K=h+(T<<2)|0;P=0.0;x=0;while(1){P=P+ +n[t+(x<<2)>>2]*+n[K>>2];x=x+1|0;if((x|0)==(o|0))break;else K=K+(k<<2)|0}n[w+(T<<2)>>2]=P*d;T=T+1|0}while((T|0)!=(a|0))}while(0);i=i+1|0;if((i|0)==(a|0))break;else w=w+(l<<2)|0}}if((t|0)==(c|0)){u=e;return}HQa(t);f[g>>2]=c;f[p>>2]=1032;u=e;return}function hD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0,G=0,H=0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0.0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0.0,_=0.0,$=0,aa=0,ba=0.0;e=u;u=u+1056|0;g=e+1040|0;h=e;i=f[a+16>>2]|0;j=f[b+16>>2]|0;k=f[c+16>>2]|0;l=(f[a+48>>2]|0)>>>2;m=(f[b+48>>2]|0)>>>2;b=(f[c+8>>2]|0)>1?(f[c+48>>2]|0)>>>2:0;o=f[c+12>>2]|0;c=f[a+40>>2]|0;a=f[c+4>>2]|0;p=f[c>>2]|0;if(!k){if((p|0)<=0){u=e;return}c=a+-4|0;q=(a|0)<4;r=a&-4;t=(a|0)>0;v=(r|0)<(a|0);w=0;x=j;while(1){y=i+((X(w,l)|0)<<2)|0;if(q){z=w;do{A=i+((X(z,l)|0)<<2)|0;if(t){B=0;C=0.0;while(1){D=C+ +n[y+(B<<2)>>2]*+n[A+(B<<2)>>2];B=B+1|0;if((B|0)==(a|0)){E=D;break}else C=D}}else E=0.0;n[x+(z<<2)>>2]=E*d;z=z+1|0}while((z|0)!=(p|0))}else{z=w;do{B=i+((X(z,l)|0)<<2)|0;A=0;C=0.0;do{F=A|1;G=A|2;H=A|3;C=C+(+n[y+(A<<2)>>2]*+n[B+(A<<2)>>2]+ +n[y+(F<<2)>>2]*+n[B+(F<<2)>>2]+ +n[y+(G<<2)>>2]*+n[B+(G<<2)>>2]+ +n[y+(H<<2)>>2]*+n[B+(H<<2)>>2]);A=A+4|0}while((A|0)<=(c|0));if(v){A=r;D=C;while(1){I=D+ +n[y+(A<<2)>>2]*+n[B+(A<<2)>>2];A=A+1|0;if((A|0)==(a|0)){J=I;break}else D=I}}else J=C;n[x+(z<<2)>>2]=J*d;z=z+1|0}while((z|0)!=(p|0))}w=w+1|0;if((w|0)==(p|0))break;else x=x+(m<<2)|0}u=e;return}x=(o|0)==(a|0)?4:0;w=a<<2;r=h+8|0;f[h>>2]=r;v=h+4|0;f[v>>2]=w;if(w>>>0>1032){c=FQa(w)|0;f[h>>2]=c;K=c}else K=r;if((p|0)>0){c=(o|0)<(a|0);o=(a|0)>0;w=g+12|0;t=g+8|0;q=g+4|0;z=a+-4|0;y=(a|0)<4;A=a&-4;B=X(x,A)|0;H=g+B|0;G=0;F=j;j=k+B|0;while(1){B=i+((X(G,l)|0)<<2)|0;L=k+((X(G,b)|0)<<2)|0;if(c)if(o){M=0;do{n[K+(M<<2)>>2]=+n[B+(M<<2)>>2]-+n[L>>2];M=M+1|0}while((M|0)!=(a|0));N=21}else{O=G;N=22}else if(o){M=0;do{n[K+(M<<2)>>2]=+n[B+(M<<2)>>2]-+n[L+(M<<2)>>2];M=M+1|0}while((M|0)!=(a|0));N=21}else{P=G;Q=j;N=31}if((N|0)==21){N=0;if(c){O=G;N=22}else{P=G;Q=j;N=31}}if((N|0)==22)while(1){N=0;M=i+((X(O,l)|0)<<2)|0;L=k+((X(O,b)|0)<<2)|0;B=f[L>>2]|0;f[w>>2]=B;f[t>>2]=B;f[q>>2]=B;f[g>>2]=B;a:do if(y){R=0.0;S=g;T=0}else{J=0.0;L=g;U=0;E=(f[s>>2]=B,+n[s>>2]);while(1){V=U|1;W=U|2;Y=U|3;D=J+(+n[K+(U<<2)>>2]*(+n[M+(U<<2)>>2]-E)+ +n[K+(V<<2)>>2]*(+n[M+(V<<2)>>2]-+n[L+4>>2])+ +n[K+(W<<2)>>2]*(+n[M+(W<<2)>>2]-+n[L+8>>2])+ +n[K+(Y<<2)>>2]*(+n[M+(Y<<2)>>2]-+n[L+12>>2]));Y=U+4|0;W=L+(x<<2)|0;if((Y|0)>(z|0)){R=D;S=H;T=A;break a}J=D;L=W;U=Y;E=+n[W>>2]}}while(0);if((T|0)<(a|0)){C=R;B=S;U=T;while(1){E=C+ +n[K+(U<<2)>>2]*(+n[M+(U<<2)>>2]-+n[B>>2]);U=U+1|0;if((U|0)==(a|0)){Z=E;break}else{C=E;B=B+4|0}}}else Z=R;n[F+(O<<2)>>2]=Z*d;O=O+1|0;if((O|0)==(p|0))break;else N=22}else if((N|0)==31)while(1){N=0;B=i+((X(P,l)|0)<<2)|0;U=k+((X(P,b)|0)<<2)|0;if(y){_=0.0;$=U;aa=0}else{C=0.0;M=U;U=0;while(1){L=U|1;W=U|2;Y=U|3;E=C+(+n[K+(U<<2)>>2]*(+n[B+(U<<2)>>2]-+n[M>>2])+ +n[K+(L<<2)>>2]*(+n[B+(L<<2)>>2]-+n[M+4>>2])+ +n[K+(W<<2)>>2]*(+n[B+(W<<2)>>2]-+n[M+8>>2])+ +n[K+(Y<<2)>>2]*(+n[B+(Y<<2)>>2]-+n[M+12>>2]));U=U+4|0;if((U|0)>(z|0)){_=E;$=Q;aa=A;break}else{C=E;M=M+(x<<2)|0}}}if((aa|0)<(a|0)){C=_;M=$;U=aa;while(1){E=C+ +n[K+(U<<2)>>2]*(+n[B+(U<<2)>>2]-+n[M>>2]);U=U+1|0;if((U|0)==(a|0)){ba=E;break}else{C=E;M=M+4|0}}}else ba=_;n[F+(P<<2)>>2]=ba*d;P=P+1|0;if((P|0)==(p|0))break;else{Q=Q+(b<<2)|0;N=31}}G=G+1|0;if((G|0)==(p|0))break;else{F=F+(m<<2)|0;j=j+(b<<2)|0}}}if((K|0)!=(r|0)){HQa(K);f[h>>2]=r;f[v>>2]=1032}u=e;return}function iD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0,D=0,E=0.0,F=0.0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0,T=0,U=0;e=u;u=u+1040|0;g=e;h=f[a+16>>2]|0;i=f[b+16>>2]|0;j=f[c+16>>2]|0;k=(f[a+48>>2]|0)>>>2;l=(f[b+48>>2]|0)>>>3;b=(f[c+8>>2]|0)>1?(f[c+48>>2]|0)>>>3:0;m=f[c+12>>2]|0;c=f[a+40>>2]|0;a=f[c+4>>2]|0;o=f[c>>2]|0;c=g+8|0;f[g>>2]=c;q=g+4|0;f[q>>2]=1032;r=(j|0)!=0;s=(m|0)<(a|0);m=r&s?o*40|0:o<<3;f[q>>2]=m;if(m>>>0>1032){t=FQa(m)|0;f[g>>2]=t;v=t}else v=c;a:do if(r){do if(s){t=v+(o<<3)|0;if((o|0)<=0)if(!t){w=11;break a}else{x=t;y=t;z=b|0?4:0;break}else A=0;do{m=j+((X(A,b)|0)<<3)|0;B=+p[m>>3];m=A<<2;p[t+((m|3)<<3)>>3]=B;p[t+((m|2)<<3)>>3]=B;p[t+((m|1)<<3)>>3]=B;p[t+(m<<3)>>3]=B;A=A+1|0}while((A|0)!=(o|0));x=t;y=t;z=b|0?4:0}else{x=j;y=0;z=b}while(0);if((a|0)>0){m=(y|0)!=0;C=(o|0)>0;D=a+-4|0;B=d*0.0;E=d*0.0;F=d*0.0;G=i;H=0;while(1){if(m){if(C){I=0;do{J=h+((X(I,k)|0)+H<<2)|0;K=y+((X(I,z)|0)<<3)|0;p[v+(I<<3)>>3]=+n[J>>2]-+p[K>>3];I=I+1|0}while((I|0)!=(o|0))}}else if(C){I=0;do{t=h+((X(I,k)|0)+H<<2)|0;K=x+((X(I,z)|0)+H<<3)|0;p[v+(I<<3)>>3]=+n[t>>2]-+p[K>>3];I=I+1|0}while((I|0)!=(o|0))}b:do if((H|0)>(D|0))L=H;else{if(C)M=H;else{I=H;while(1){p[G+(I<<3)>>3]=F;p[G+(I+1<<3)>>3]=F;p[G+(I+2<<3)>>3]=F;p[G+(I+3<<3)>>3]=F;K=I+4|0;if((K|0)>(D|0)){L=K;break b}else I=K}}while(1){I=m?y:x+(M<<3)|0;K=h+(M<<2)|0;N=0.0;O=0.0;P=0.0;Q=0.0;t=0;while(1){R=+p[v+(t<<3)>>3];Q=Q+R*(+n[K>>2]-+p[I>>3]);P=P+R*(+n[K+4>>2]-+p[I+8>>3]);O=O+R*(+n[K+8>>2]-+p[I+16>>3]);N=N+R*(+n[K+12>>2]-+p[I+24>>3]);t=t+1|0;if((t|0)==(o|0))break;else{I=I+(z<<3)|0;K=K+(k<<2)|0}}p[G+(M<<3)>>3]=Q*d;p[G+(M+1<<3)>>3]=P*d;p[G+(M+2<<3)>>3]=O*d;p[G+(M+3<<3)>>3]=N*d;K=M+4|0;if((K|0)>(D|0)){L=K;break}else M=K}}while(0);c:do if((L|0)<(a|0)){if(!C)if(m){K=L;while(1){p[G+(K<<3)>>3]=B;K=K+1|0;if((K|0)==(a|0))break c}}else{K=L;while(1){p[G+(K<<3)>>3]=E;K=K+1|0;if((K|0)==(a|0))break c}}if(m){K=L;do{I=h+(K<<2)|0;R=0.0;t=y;J=0;while(1){R=R+ +p[v+(J<<3)>>3]*(+n[I>>2]-+p[t>>3]);J=J+1|0;if((J|0)==(o|0))break;else{I=I+(k<<2)|0;t=t+(z<<3)|0}}p[G+(K<<3)>>3]=R*d;K=K+1|0}while((K|0)!=(a|0))}else{K=L;do{t=h+(K<<2)|0;N=0.0;I=x+(K<<3)|0;J=0;while(1){N=N+ +p[v+(J<<3)>>3]*(+n[t>>2]-+p[I>>3]);J=J+1|0;if((J|0)==(o|0))break;else{t=t+(k<<2)|0;I=I+(z<<3)|0}}p[G+(K<<3)>>3]=N*d;K=K+1|0}while((K|0)!=(a|0))}}while(0);H=H+1|0;if((H|0)==(a|0))break;else G=G+(l<<3)|0}}}else w=11;while(0);if((w|0)==11?(a|0)>0:0){w=(o|0)>0;z=a+-4|0;E=d*0.0;B=d*0.0;x=i;i=0;while(1){if(w){L=0;do{y=h+((X(L,k)|0)+i<<2)|0;p[v+(L<<3)>>3]=+n[y>>2];L=L+1|0}while((L|0)!=(o|0))}d:do if((i|0)>(z|0))S=i;else{if(w)T=i;else{L=i;while(1){p[x+(L<<3)>>3]=B;p[x+(L+1<<3)>>3]=B;p[x+(L+2<<3)>>3]=B;p[x+(L+3<<3)>>3]=B;y=L+4|0;if((y|0)>(z|0)){S=y;break d}else L=y}}while(1){L=h+(T<<2)|0;F=0.0;R=0.0;O=0.0;P=0.0;y=0;while(1){Q=+p[v+(y<<3)>>3];P=P+Q*+n[L>>2];O=O+Q*+n[L+4>>2];R=R+Q*+n[L+8>>2];F=F+Q*+n[L+12>>2];y=y+1|0;if((y|0)==(o|0))break;else L=L+(k<<2)|0}p[x+(T<<3)>>3]=P*d;p[x+(T+1<<3)>>3]=O*d;p[x+(T+2<<3)>>3]=R*d;p[x+(T+3<<3)>>3]=F*d;L=T+4|0;if((L|0)>(z|0)){S=L;break}else T=L}}while(0);e:do if((S|0)<(a|0)){if(w)U=S;else{L=S;while(1){p[x+(L<<3)>>3]=E;L=L+1|0;if((L|0)==(a|0))break e}}do{L=h+(U<<2)|0;Q=0.0;y=0;while(1){Q=Q+ +p[v+(y<<3)>>3]*+n[L>>2];y=y+1|0;if((y|0)==(o|0))break;else L=L+(k<<2)|0}p[x+(U<<3)>>3]=Q*d;U=U+1|0}while((U|0)!=(a|0))}while(0);i=i+1|0;if((i|0)==(a|0))break;else x=x+(l<<3)|0}}if((v|0)==(c|0)){u=e;return}HQa(v);f[g>>2]=c;f[q>>2]=1032;u=e;return}function jD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0,G=0,H=0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0.0,S=0,T=0,U=0,V=0,W=0,Y=0.0,Z=0.0,_=0,$=0,aa=0.0;e=u;u=u+1072|0;g=e;h=e+32|0;i=f[a+16>>2]|0;j=f[b+16>>2]|0;k=f[c+16>>2]|0;l=(f[a+48>>2]|0)>>>2;m=(f[b+48>>2]|0)>>>3;b=(f[c+8>>2]|0)>1?(f[c+48>>2]|0)>>>3:0;o=f[c+12>>2]|0;c=f[a+40>>2]|0;a=f[c+4>>2]|0;q=f[c>>2]|0;if(!k){if((q|0)<=0){u=e;return}c=a+-4|0;r=(a|0)<4;s=a&-4;t=(a|0)>0;v=(s|0)<(a|0);w=0;x=j;while(1){y=i+((X(w,l)|0)<<2)|0;if(r){z=w;do{A=i+((X(z,l)|0)<<2)|0;if(t){B=0;C=0.0;while(1){D=C+ +n[y+(B<<2)>>2]*+n[A+(B<<2)>>2];B=B+1|0;if((B|0)==(a|0)){E=D;break}else C=D}}else E=0.0;p[x+(z<<3)>>3]=E*d;z=z+1|0}while((z|0)!=(q|0))}else{z=w;do{B=i+((X(z,l)|0)<<2)|0;A=0;C=0.0;do{F=A|1;G=A|2;H=A|3;C=C+(+n[y+(A<<2)>>2]*+n[B+(A<<2)>>2]+ +n[y+(F<<2)>>2]*+n[B+(F<<2)>>2]+ +n[y+(G<<2)>>2]*+n[B+(G<<2)>>2]+ +n[y+(H<<2)>>2]*+n[B+(H<<2)>>2]);A=A+4|0}while((A|0)<=(c|0));if(v){A=s;D=C;while(1){I=D+ +n[y+(A<<2)>>2]*+n[B+(A<<2)>>2];A=A+1|0;if((A|0)==(a|0)){J=I;break}else D=I}}else J=C;p[x+(z<<3)>>3]=J*d;z=z+1|0}while((z|0)!=(q|0))}w=w+1|0;if((w|0)==(q|0))break;else x=x+(m<<3)|0}u=e;return}x=(o|0)==(a|0)?4:0;w=a<<3;s=h+8|0;f[h>>2]=s;v=h+4|0;f[v>>2]=w;if(w>>>0>1032){c=FQa(w)|0;f[h>>2]=c;K=c}else K=s;if((q|0)>0){c=(o|0)<(a|0);o=(a|0)>0;w=g+24|0;t=g+16|0;r=g+8|0;z=a+-4|0;y=(a|0)<4;A=a&-4;B=X(x,(z>>>2<<3)+8|0)|0;H=g+B|0;G=0;F=j;j=k+B|0;while(1){B=i+((X(G,l)|0)<<2)|0;L=k+((X(G,b)|0)<<3)|0;if(c)if(o){M=0;do{p[K+(M<<3)>>3]=+n[B+(M<<2)>>2]-+p[L>>3];M=M+1|0}while((M|0)!=(a|0));N=21}else{O=G;N=22}else if(o){M=0;do{p[K+(M<<3)>>3]=+n[B+(M<<2)>>2]-+p[L+(M<<3)>>3];M=M+1|0}while((M|0)!=(a|0));N=21}else{P=G;Q=j;N=30}if((N|0)==21){N=0;if(c){O=G;N=22}else{P=G;Q=j;N=30}}if((N|0)==22)while(1){N=0;M=i+((X(O,l)|0)<<2)|0;L=k+((X(O,b)|0)<<3)|0;J=+p[L>>3];p[w>>3]=J;p[t>>3]=J;p[r>>3]=J;p[g>>3]=J;a:do if(y){R=0.0;S=g;T=0}else{E=0.0;L=g;B=0;D=J;while(1){U=B|1;V=B|2;W=B|3;I=E+(+p[K+(B<<3)>>3]*(+n[M+(B<<2)>>2]-D)+ +p[K+(U<<3)>>3]*(+n[M+(U<<2)>>2]-+p[L+8>>3])+ +p[K+(V<<3)>>3]*(+n[M+(V<<2)>>2]-+p[L+16>>3])+ +p[K+(W<<3)>>3]*(+n[M+(W<<2)>>2]-+p[L+24>>3]));W=B+4|0;V=L+(x<<3)|0;if((W|0)>(z|0)){R=I;S=H;T=A;break a}E=I;L=V;B=W;D=+p[V>>3]}}while(0);if((T|0)<(a|0)){J=R;B=S;L=T;while(1){C=J+ +p[K+(L<<3)>>3]*(+n[M+(L<<2)>>2]-+p[B>>3]);L=L+1|0;if((L|0)==(a|0)){Y=C;break}else{J=C;B=B+8|0}}}else Y=R;p[F+(O<<3)>>3]=Y*d;O=O+1|0;if((O|0)==(q|0))break;else N=22}else if((N|0)==30)while(1){N=0;B=i+((X(P,l)|0)<<2)|0;L=k+((X(P,b)|0)<<3)|0;if(y){Z=0.0;_=L;$=0}else{J=0.0;M=L;L=0;while(1){V=L|1;W=L|2;U=L|3;C=J+(+p[K+(L<<3)>>3]*(+n[B+(L<<2)>>2]-+p[M>>3])+ +p[K+(V<<3)>>3]*(+n[B+(V<<2)>>2]-+p[M+8>>3])+ +p[K+(W<<3)>>3]*(+n[B+(W<<2)>>2]-+p[M+16>>3])+ +p[K+(U<<3)>>3]*(+n[B+(U<<2)>>2]-+p[M+24>>3]));L=L+4|0;if((L|0)>(z|0)){Z=C;_=Q;$=A;break}else{J=C;M=M+(x<<3)|0}}}if(($|0)<(a|0)){J=Z;M=_;L=$;while(1){C=J+ +p[K+(L<<3)>>3]*(+n[B+(L<<2)>>2]-+p[M>>3]);L=L+1|0;if((L|0)==(a|0)){aa=C;break}else{J=C;M=M+8|0}}}else aa=Z;p[F+(P<<3)>>3]=aa*d;P=P+1|0;if((P|0)==(q|0))break;else{Q=Q+(b<<3)|0;N=30}}G=G+1|0;if((G|0)==(q|0))break;else{F=F+(m<<3)|0;j=j+(b<<3)|0}}}if((K|0)!=(s|0)){HQa(K);f[h>>2]=s;f[v>>2]=1032}u=e;return}function kD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0,C=0,D=0.0,E=0.0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0,S=0,T=0;e=u;u=u+1040|0;g=e;h=f[a+16>>2]|0;i=f[b+16>>2]|0;j=f[c+16>>2]|0;k=(f[a+48>>2]|0)>>>3;l=(f[b+48>>2]|0)>>>3;b=(f[c+8>>2]|0)>1?(f[c+48>>2]|0)>>>3:0;m=f[c+12>>2]|0;c=f[a+40>>2]|0;a=f[c+4>>2]|0;n=f[c>>2]|0;c=g+8|0;f[g>>2]=c;o=g+4|0;f[o>>2]=1032;q=(j|0)!=0;r=(m|0)<(a|0);m=q&r?n*40|0:n<<3;f[o>>2]=m;if(m>>>0>1032){s=FQa(m)|0;f[g>>2]=s;t=s}else t=c;a:do if(q){do if(r){s=t+(n<<3)|0;if((n|0)<=0)if(!s){v=11;break a}else{w=s;x=s;y=b|0?4:0;break}else z=0;do{m=j+((X(z,b)|0)<<3)|0;A=+p[m>>3];m=z<<2;p[s+((m|3)<<3)>>3]=A;p[s+((m|2)<<3)>>3]=A;p[s+((m|1)<<3)>>3]=A;p[s+(m<<3)>>3]=A;z=z+1|0}while((z|0)!=(n|0));w=s;x=s;y=b|0?4:0}else{w=j;x=0;y=b}while(0);if((a|0)>0){m=(x|0)!=0;B=(n|0)>0;C=a+-4|0;A=d*0.0;D=d*0.0;E=d*0.0;F=i;G=0;while(1){if(m){if(B){H=0;do{I=h+((X(H,k)|0)+G<<3)|0;J=x+((X(H,y)|0)<<3)|0;p[t+(H<<3)>>3]=+p[I>>3]-+p[J>>3];H=H+1|0}while((H|0)!=(n|0))}}else if(B){H=0;do{s=h+((X(H,k)|0)+G<<3)|0;J=w+((X(H,y)|0)+G<<3)|0;p[t+(H<<3)>>3]=+p[s>>3]-+p[J>>3];H=H+1|0}while((H|0)!=(n|0))}b:do if((G|0)>(C|0))K=G;else{if(B)L=G;else{H=G;while(1){p[F+(H<<3)>>3]=E;p[F+(H+1<<3)>>3]=E;p[F+(H+2<<3)>>3]=E;p[F+(H+3<<3)>>3]=E;J=H+4|0;if((J|0)>(C|0)){K=J;break b}else H=J}}while(1){H=m?x:w+(L<<3)|0;J=h+(L<<3)|0;M=0.0;N=0.0;O=0.0;P=0.0;s=0;while(1){Q=+p[t+(s<<3)>>3];P=P+Q*(+p[J>>3]-+p[H>>3]);O=O+Q*(+p[J+8>>3]-+p[H+8>>3]);N=N+Q*(+p[J+16>>3]-+p[H+16>>3]);M=M+Q*(+p[J+24>>3]-+p[H+24>>3]);s=s+1|0;if((s|0)==(n|0))break;else{H=H+(y<<3)|0;J=J+(k<<3)|0}}p[F+(L<<3)>>3]=P*d;p[F+(L+1<<3)>>3]=O*d;p[F+(L+2<<3)>>3]=N*d;p[F+(L+3<<3)>>3]=M*d;J=L+4|0;if((J|0)>(C|0)){K=J;break}else L=J}}while(0);c:do if((K|0)<(a|0)){if(!B)if(m){J=K;while(1){p[F+(J<<3)>>3]=A;J=J+1|0;if((J|0)==(a|0))break c}}else{J=K;while(1){p[F+(J<<3)>>3]=D;J=J+1|0;if((J|0)==(a|0))break c}}if(m){J=K;do{H=h+(J<<3)|0;Q=0.0;s=x;I=0;while(1){Q=Q+ +p[t+(I<<3)>>3]*(+p[H>>3]-+p[s>>3]);I=I+1|0;if((I|0)==(n|0))break;else{H=H+(k<<3)|0;s=s+(y<<3)|0}}p[F+(J<<3)>>3]=Q*d;J=J+1|0}while((J|0)!=(a|0))}else{J=K;do{s=h+(J<<3)|0;M=0.0;H=w+(J<<3)|0;I=0;while(1){M=M+ +p[t+(I<<3)>>3]*(+p[s>>3]-+p[H>>3]);I=I+1|0;if((I|0)==(n|0))break;else{s=s+(k<<3)|0;H=H+(y<<3)|0}}p[F+(J<<3)>>3]=M*d;J=J+1|0}while((J|0)!=(a|0))}}while(0);G=G+1|0;if((G|0)==(a|0))break;else F=F+(l<<3)|0}}}else v=11;while(0);if((v|0)==11?(a|0)>0:0){v=(n|0)>0;y=a+-4|0;D=d*0.0;A=d*0.0;w=i;i=0;while(1){if(v){K=0;do{x=h+((X(K,k)|0)+i<<3)|0;p[t+(K<<3)>>3]=+p[x>>3];K=K+1|0}while((K|0)!=(n|0))}d:do if((i|0)>(y|0))R=i;else{if(v)S=i;else{K=i;while(1){p[w+(K<<3)>>3]=A;p[w+(K+1<<3)>>3]=A;p[w+(K+2<<3)>>3]=A;p[w+(K+3<<3)>>3]=A;x=K+4|0;if((x|0)>(y|0)){R=x;break d}else K=x}}while(1){K=h+(S<<3)|0;E=0.0;Q=0.0;N=0.0;O=0.0;x=0;while(1){P=+p[t+(x<<3)>>3];O=O+P*+p[K>>3];N=N+P*+p[K+8>>3];Q=Q+P*+p[K+16>>3];E=E+P*+p[K+24>>3];x=x+1|0;if((x|0)==(n|0))break;else K=K+(k<<3)|0}p[w+(S<<3)>>3]=O*d;p[w+(S+1<<3)>>3]=N*d;p[w+(S+2<<3)>>3]=Q*d;p[w+(S+3<<3)>>3]=E*d;K=S+4|0;if((K|0)>(y|0)){R=K;break}else S=K}}while(0);e:do if((R|0)<(a|0)){if(v)T=R;else{K=R;while(1){p[w+(K<<3)>>3]=D;K=K+1|0;if((K|0)==(a|0))break e}}do{K=h+(T<<3)|0;P=0.0;x=0;while(1){P=P+ +p[t+(x<<3)>>3]*+p[K>>3];x=x+1|0;if((x|0)==(n|0))break;else K=K+(k<<3)|0}p[w+(T<<3)>>3]=P*d;T=T+1|0}while((T|0)!=(a|0))}while(0);i=i+1|0;if((i|0)==(a|0))break;else w=w+(l<<3)|0}}if((t|0)==(c|0)){u=e;return}HQa(t);f[g>>2]=c;f[o>>2]=1032;u=e;return}function lD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0,E=0,F=0,G=0,H=0.0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0,S=0,T=0,U=0,V=0,W=0.0,Y=0.0,Z=0,_=0,$=0.0;e=u;u=u+1072|0;g=e;h=e+32|0;i=f[a+16>>2]|0;j=f[b+16>>2]|0;k=f[c+16>>2]|0;l=(f[a+48>>2]|0)>>>3;m=(f[b+48>>2]|0)>>>3;b=(f[c+8>>2]|0)>1?(f[c+48>>2]|0)>>>3:0;n=f[c+12>>2]|0;c=f[a+40>>2]|0;a=f[c+4>>2]|0;o=f[c>>2]|0;if(!k){if((o|0)<=0){u=e;return}c=a+-4|0;q=(a|0)<4;r=a&-4;s=(a|0)>0;t=(r|0)<(a|0);v=0;w=j;while(1){x=i+((X(v,l)|0)<<3)|0;if(q){y=v;do{z=i+((X(y,l)|0)<<3)|0;if(s){A=0;B=0.0;while(1){C=B+ +p[x+(A<<3)>>3]*+p[z+(A<<3)>>3];A=A+1|0;if((A|0)==(a|0)){D=C;break}else B=C}}else D=0.0;p[w+(y<<3)>>3]=D*d;y=y+1|0}while((y|0)!=(o|0))}else{y=v;do{A=i+((X(y,l)|0)<<3)|0;z=0;B=0.0;do{E=z|1;F=z|2;G=z|3;B=B+(+p[x+(z<<3)>>3]*+p[A+(z<<3)>>3]+ +p[x+(E<<3)>>3]*+p[A+(E<<3)>>3]+ +p[x+(F<<3)>>3]*+p[A+(F<<3)>>3]+ +p[x+(G<<3)>>3]*+p[A+(G<<3)>>3]);z=z+4|0}while((z|0)<=(c|0));if(t){z=r;C=B;while(1){H=C+ +p[x+(z<<3)>>3]*+p[A+(z<<3)>>3];z=z+1|0;if((z|0)==(a|0)){I=H;break}else C=H}}else I=B;p[w+(y<<3)>>3]=I*d;y=y+1|0}while((y|0)!=(o|0))}v=v+1|0;if((v|0)==(o|0))break;else w=w+(m<<3)|0}u=e;return}w=(n|0)==(a|0)?4:0;v=a<<3;r=h+8|0;f[h>>2]=r;t=h+4|0;f[t>>2]=v;if(v>>>0>1032){c=FQa(v)|0;f[h>>2]=c;J=c}else J=r;if((o|0)>0){c=(n|0)<(a|0);n=(a|0)>0;v=g+24|0;s=g+16|0;q=g+8|0;y=a+-4|0;x=(a|0)<4;z=a&-4;A=X(w,(y>>>2<<3)+8|0)|0;G=g+A|0;F=0;E=j;j=k+A|0;while(1){A=i+((X(F,l)|0)<<3)|0;K=k+((X(F,b)|0)<<3)|0;if(c)if(n){L=0;do{p[J+(L<<3)>>3]=+p[A+(L<<3)>>3]-+p[K>>3];L=L+1|0}while((L|0)!=(a|0));M=21}else{N=F;M=22}else if(n){L=0;do{p[J+(L<<3)>>3]=+p[A+(L<<3)>>3]-+p[K+(L<<3)>>3];L=L+1|0}while((L|0)!=(a|0));M=21}else{O=F;P=j;M=30}if((M|0)==21){M=0;if(c){N=F;M=22}else{O=F;P=j;M=30}}if((M|0)==22)while(1){M=0;L=i+((X(N,l)|0)<<3)|0;K=k+((X(N,b)|0)<<3)|0;I=+p[K>>3];p[v>>3]=I;p[s>>3]=I;p[q>>3]=I;p[g>>3]=I;a:do if(x){Q=0.0;R=g;S=0}else{D=0.0;K=g;A=0;C=I;while(1){T=A|1;U=A|2;V=A|3;H=D+(+p[J+(A<<3)>>3]*(+p[L+(A<<3)>>3]-C)+ +p[J+(T<<3)>>3]*(+p[L+(T<<3)>>3]-+p[K+8>>3])+ +p[J+(U<<3)>>3]*(+p[L+(U<<3)>>3]-+p[K+16>>3])+ +p[J+(V<<3)>>3]*(+p[L+(V<<3)>>3]-+p[K+24>>3]));V=A+4|0;U=K+(w<<3)|0;if((V|0)>(y|0)){Q=H;R=G;S=z;break a}D=H;K=U;A=V;C=+p[U>>3]}}while(0);if((S|0)<(a|0)){I=Q;A=R;K=S;while(1){B=I+ +p[J+(K<<3)>>3]*(+p[L+(K<<3)>>3]-+p[A>>3]);K=K+1|0;if((K|0)==(a|0)){W=B;break}else{I=B;A=A+8|0}}}else W=Q;p[E+(N<<3)>>3]=W*d;N=N+1|0;if((N|0)==(o|0))break;else M=22}else if((M|0)==30)while(1){M=0;A=i+((X(O,l)|0)<<3)|0;K=k+((X(O,b)|0)<<3)|0;if(x){Y=0.0;Z=K;_=0}else{I=0.0;L=K;K=0;while(1){U=K|1;V=K|2;T=K|3;B=I+(+p[J+(K<<3)>>3]*(+p[A+(K<<3)>>3]-+p[L>>3])+ +p[J+(U<<3)>>3]*(+p[A+(U<<3)>>3]-+p[L+8>>3])+ +p[J+(V<<3)>>3]*(+p[A+(V<<3)>>3]-+p[L+16>>3])+ +p[J+(T<<3)>>3]*(+p[A+(T<<3)>>3]-+p[L+24>>3]));K=K+4|0;if((K|0)>(y|0)){Y=B;Z=P;_=z;break}else{I=B;L=L+(w<<3)|0}}}if((_|0)<(a|0)){I=Y;L=Z;K=_;while(1){B=I+ +p[J+(K<<3)>>3]*(+p[A+(K<<3)>>3]-+p[L>>3]);K=K+1|0;if((K|0)==(a|0)){$=B;break}else{I=B;L=L+8|0}}}else $=Y;p[E+(O<<3)>>3]=$*d;O=O+1|0;if((O|0)==(o|0))break;else{P=P+(b<<3)|0;M=30}}F=F+1|0;if((F|0)==(o|0))break;else{E=E+(m<<3)|0;j=j+(b<<3)|0}}}if((J|0)!=(r|0)){HQa(J);f[h>>2]=r;f[t>>2]=1032}u=e;return}function mD(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0;d=u;u=u+128|0;e=d+112|0;g=d+56|0;h=d+40|0;i=d+32|0;j=d;yV(e,28704);do if((HJ(c)|0)==65536){k=f[c+4>>2]|0;f[g>>2]=f[k>>2];l=g+4|0;m=k+4|0;f[l>>2]=f[m>>2];n=g+8|0;f[n>>2]=f[k+8>>2];f[g+12>>2]=f[k+12>>2];f[g+16>>2]=f[k+16>>2];f[g+20>>2]=f[k+20>>2];f[g+24>>2]=f[k+24>>2];f[g+28>>2]=f[k+28>>2];f[g+32>>2]=f[k+32>>2];o=f[k+36>>2]|0;f[g+36>>2]=o;f[g+40>>2]=n;n=g+48|0;p=g+44|0;f[p>>2]=n;f[n>>2]=0;f[g+52>>2]=0;if(o|0){n=o+12|0;f[n>>2]=(f[n>>2]|0)+1}if((f[m>>2]|0)<3){m=f[k+44>>2]|0;n=f[p>>2]|0;f[n>>2]=f[m>>2];f[n+4>>2]=f[m+4>>2];q=g;break}else{f[l>>2]=0;WO(g,k);q=g;break}}else{DJ(g,c,-1);q=g}while(0);c=f[a>>2]|0;k=(c>>>3&511)+1|0;l=c&7;m=f[28724+(l<<2)>>2]|0;if((f[q>>2]^c)&4095|0){f[h>>2]=0;f[h+4>>2]=0;r=JV(h,20)|0;s=143222;t=r+20|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));EP(-215,h,143243,142068,3295);KV(h)}c=g+40|0;n=f[c>>2]|0;p=f[n+-4>>2]|0;o=a+40|0;v=f[o>>2]|0;a:do if((p|0)==(f[v+-4>>2]|0)){if((p|0)==2){if((f[n>>2]|0)!=(f[v>>2]|0)){w=17;break}if((f[n+4>>2]|0)==(f[v+4>>2]|0))break;else{w=17;break}}if((p|0)>0){x=0;do{if((f[n+(x<<2)>>2]|0)!=(f[v+(x<<2)>>2]|0)){w=17;break a}x=x+1|0}while((x|0)<(p|0))}}else w=17;while(0);if((w|0)==17){f[h>>2]=0;f[h+4>>2]=0;r=JV(h,16)|0;s=143247;t=r+16|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));EP(-215,h,143243,142068,3295);KV(h)}if((l|0)==7){f[h>>2]=0;f[h+4>>2]=0;r=JV(h,9)|0;s=196746;t=r+9|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));EP(-215,h,143243,142068,3295);KV(h)}if((f[a>>2]&16384|0)!=0?(f[q>>2]&16384|0)!=0:0){q=f[a+4>>2]|0;if((q|0)<3)y=X(f[a+12>>2]|0,f[a+8>>2]|0)|0;else{s=f[o>>2]|0;o=0;r=1;while(1){t=X(f[s+(o<<2)>>2]|0,r)|0;o=o+1|0;if((o|0)==(q|0)){y=t;break}else r=t}}r=X(y,k)|0;z=+Mf[m&31](f[a+16>>2]|0,f[g+16>>2]|0,r)}else{f[h>>2]=a;f[h+4>>2]=g;f[h+8>>2]=0;FN(j,h,i,-1);h=X(f[j+20>>2]|0,k)|0;k=j+16|0;a=i+4|0;r=0;A=0.0;while(1){if(r>>>0>=(f[k>>2]|0)>>>0)break;B=A+ +Mf[m&31](f[i>>2]|0,f[a>>2]|0,h);GN(j)|0;r=r+1|0;A=B}z=A}r=g+36|0;j=f[r>>2]|0;if(j|0?(h=j+12|0,j=f[h>>2]|0,f[h>>2]=j+-1,(j|0)==1):0)XO(g);f[r>>2]=0;r=g+16|0;j=g+4|0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;if((f[j>>2]|0)>0){r=f[c>>2]|0;c=0;do{f[r+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[j>>2]|0))}j=f[g+44>>2]|0;if((j|0)!=(g+48|0))dX(j);if(!(f[e+4>>2]|0)){u=d;return +z}u=d;return +z}function nD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,f=0,g=0,i=0.0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0;d=c+-4|0;if((c|0)<4){e=0.0;f=0}else{g=0;i=0.0;do{j=g|1;k=g|2;l=g|3;i=i+(+(h[a+g>>0]|0)*+(h[b+g>>0]|0)+ +(h[a+j>>0]|0)*+(h[b+j>>0]|0)+ +(h[a+k>>0]|0)*+(h[b+k>>0]|0)+ +(h[a+l>>0]|0)*+(h[b+l>>0]|0));g=g+4|0}while((g|0)<=(d|0));e=i;f=c&-4}if((f|0)<(c|0)){m=f;n=e}else{o=e;p=o+0.0;return +p}while(1){e=n+ +(h[a+m>>0]|0)*+(h[b+m>>0]|0);m=m+1|0;if((m|0)==(c|0)){o=e;break}else n=e}p=o+0.0;return +p}function oD(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0.0,g=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0;e=d+-4|0;if((d|0)<4){f=0.0;g=0}else{h=0;i=0.0;do{j=h|1;k=h|2;l=h|3;i=i+(+(b[a+h>>0]|0)*+(b[c+h>>0]|0)+ +(b[a+j>>0]|0)*+(b[c+j>>0]|0)+ +(b[a+k>>0]|0)*+(b[c+k>>0]|0)+ +(b[a+l>>0]|0)*+(b[c+l>>0]|0));h=h+4|0}while((h|0)<=(e|0));f=i;g=d&-4}if((g|0)<(d|0)){m=g;n=f}else{o=f;p=o+0.0;return +p}while(1){f=n+ +(b[a+m>>0]|0)*+(b[c+m>>0]|0);m=m+1|0;if((m|0)==(d|0)){o=f;break}else n=f}p=o+0.0;return +p}function pD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,f=0,g=0,h=0.0,i=0,k=0,l=0,m=0,n=0.0,o=0.0;d=c+-4|0;if((c|0)<4){e=0.0;f=0}else{g=0;h=0.0;do{i=g|1;k=g|2;l=g|3;h=h+(+(j[a+(g<<1)>>1]|0)*+(j[b+(g<<1)>>1]|0)+ +(j[a+(i<<1)>>1]|0)*+(j[b+(i<<1)>>1]|0)+ +(j[a+(k<<1)>>1]|0)*+(j[b+(k<<1)>>1]|0)+ +(j[a+(l<<1)>>1]|0)*+(j[b+(l<<1)>>1]|0));g=g+4|0}while((g|0)<=(d|0));e=h;f=c&-4}if((f|0)<(c|0)){m=f;n=e}else{o=e;return +o}while(1){e=n+ +(j[a+(m<<1)>>1]|0)*+(j[b+(m<<1)>>1]|0);m=m+1|0;if((m|0)==(c|0)){o=e;break}else n=e}return +o}function qD(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,f=0.0,g=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0.0,o=0.0;e=c+-4|0;if((c|0)<4){f=0.0;g=0}else{h=0;i=0.0;do{j=h|1;k=h|2;l=h|3;i=i+(+(d[a+(h<<1)>>1]|0)*+(d[b+(h<<1)>>1]|0)+ +(d[a+(j<<1)>>1]|0)*+(d[b+(j<<1)>>1]|0)+ +(d[a+(k<<1)>>1]|0)*+(d[b+(k<<1)>>1]|0)+ +(d[a+(l<<1)>>1]|0)*+(d[b+(l<<1)>>1]|0));h=h+4|0}while((h|0)<=(e|0));f=i;g=c&-4}if((g|0)<(c|0)){m=g;n=f}else{o=f;return +o}while(1){f=n+ +(d[a+(m<<1)>>1]|0)*+(d[b+(m<<1)>>1]|0);m=m+1|0;if((m|0)==(c|0)){o=f;break}else n=f}return +o}function rD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,g=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0.0,o=0.0;d=c+-4|0;if((c|0)<4){e=0.0;g=0}else{h=0;i=0.0;do{j=h|1;k=h|2;l=h|3;i=i+(+(f[a+(h<<2)>>2]|0)*+(f[b+(h<<2)>>2]|0)+ +(f[a+(j<<2)>>2]|0)*+(f[b+(j<<2)>>2]|0)+ +(f[a+(k<<2)>>2]|0)*+(f[b+(k<<2)>>2]|0)+ +(f[a+(l<<2)>>2]|0)*+(f[b+(l<<2)>>2]|0));h=h+4|0}while((h|0)<=(d|0));e=i;g=c&-4}if((g|0)<(c|0)){m=g;n=e}else{o=e;return +o}while(1){e=n+ +(f[a+(m<<2)>>2]|0)*+(f[b+(m<<2)>>2]|0);m=m+1|0;if((m|0)==(c|0)){o=e;break}else n=e}return +o}function sD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,f=0,g=0,h=0.0,i=0,j=0,k=0,l=0,m=0.0,o=0.0,p=0.0;d=c+-4|0;if((c|0)<4){e=0.0;f=0}else{g=0;h=0.0;do{i=g|1;j=g|2;k=g|3;h=h+(+n[a+(g<<2)>>2]*+n[b+(g<<2)>>2]+ +n[a+(i<<2)>>2]*+n[b+(i<<2)>>2]+ +n[a+(j<<2)>>2]*+n[b+(j<<2)>>2]+ +n[a+(k<<2)>>2]*+n[b+(k<<2)>>2]);g=g+4|0}while((g|0)<=(d|0));e=h;f=c&-4}if((f|0)<(c|0)){l=f;m=e}else{o=e;p=o+0.0;return +p}while(1){e=m+ +n[a+(l<<2)>>2]*+n[b+(l<<2)>>2];l=l+1|0;if((l|0)==(c|0)){o=e;break}else m=e}p=o+0.0;return +p}function tD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,f=0,g=0,h=0.0,i=0,j=0,k=0,l=0,m=0.0,n=0.0;d=c+-4|0;if((c|0)<4){e=0.0;f=0}else{g=0;h=0.0;do{i=g|1;j=g|2;k=g|3;h=h+(+p[a+(g<<3)>>3]*+p[b+(g<<3)>>3]+ +p[a+(i<<3)>>3]*+p[b+(i<<3)>>3]+ +p[a+(j<<3)>>3]*+p[b+(j<<3)>>3]+ +p[a+(k<<3)>>3]*+p[b+(k<<3)>>3]);g=g+4|0}while((g|0)<=(d|0));e=h;f=c&-4}if((f|0)<(c|0)){l=f;m=e}else{n=e;return +n}while(1){e=m+ +p[a+(l<<3)>>3]*+p[b+(l<<3)>>3];l=l+1|0;if((l|0)==(c|0)){n=e;break}else m=e}return +n}function uD(a,c,d,e,g,h,i){a=a|0;c=c|0;d=+d;e=e|0;g=+g;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;j=u;u=u+336|0;k=j+272|0;l=j+216|0;m=j+160|0;n=j+104|0;o=j+48|0;p=j+32|0;q=j+16|0;r=j;NY(k,a,0,1,0,0);NY(l,c,0,1,0,0);f[m>>2]=1124007936;c=m+4|0;a=m+8|0;s=m+40|0;t=c;v=t+36|0;do{f[t>>2]=0;t=t+4|0}while((t|0)<(v|0));f[s>>2]=a;w=m+48|0;x=m+44|0;f[x>>2]=w;f[w>>2]=0;f[m+52>>2]=0;NY(n,h,0,1,0,0);if(e|0){NY(o,e,0,1,0,0);e=o+36|0;h=f[e>>2]|0;if(h|0){y=h+12|0;f[y>>2]=(f[y>>2]|0)+1}y=m+36|0;h=f[y>>2]|0;if(h|0?(z=h+12|0,h=f[z>>2]|0,f[z>>2]=h+-1,(h|0)==1):0)XO(m);f[y>>2]=0;h=m+16|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;if((f[c>>2]|0)>0){z=f[s>>2]|0;A=0;do{f[z+(A<<2)>>2]=0;A=A+1|0;B=f[c>>2]|0}while((A|0)<(B|0));f[m>>2]=f[o>>2];if((B|0)<3)C=12;else C=14}else{f[m>>2]=f[o>>2];C=12}if((C|0)==12){B=f[o+4>>2]|0;if((B|0)<3){f[c>>2]=B;f[a>>2]=f[o+8>>2];f[m+12>>2]=f[o+12>>2];a=f[o+44>>2]|0;B=f[x>>2]|0;f[B>>2]=f[a>>2];f[B+4>>2]=f[a+4>>2]}else C=14}if((C|0)==14)WO(m,o);C=o+16|0;f[h>>2]=f[C>>2];f[m+20>>2]=f[o+20>>2];f[m+24>>2]=f[o+24>>2];f[m+28>>2]=f[o+28>>2];f[m+32>>2]=f[o+32>>2];h=f[e>>2]|0;f[y>>2]=h;if(h|0?(y=h+12|0,h=f[y>>2]|0,f[y>>2]=h+-1,(h|0)==1):0)XO(o);f[e>>2]=0;e=o+4|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;f[C+12>>2]=0;if((f[e>>2]|0)>0){C=f[o+40>>2]|0;h=0;do{f[C+(h<<2)>>2]=0;h=h+1|0}while((h|0)<(f[e>>2]|0))}e=f[o+44>>2]|0;if((e|0)!=(o+48|0))dX(e)}if((f[n+8>>2]|0)!=(((i&1|0)==0?f[k+8>>2]|0:f[k+12>>2]|0)|0)){f[o>>2]=0;f[o+4>>2]=0;t=JV(o,48)|0;D=143306;v=t+48|0;do{b[t>>0]=b[D>>0]|0;t=t+1|0;D=D+1|0}while((t|0)<(v|0));EP(-215,o,143355,142068,3333);KV(o)}if((f[n+12>>2]|0)!=(((i&2|0)==0?f[l+12>>2]|0:f[l+8>>2]|0)|0)){f[o>>2]=0;f[o+4>>2]=0;t=JV(o,48)|0;D=143362;v=t+48|0;do{b[t>>0]=b[D>>0]|0;t=t+1|0;D=D+1|0}while((t|0)<(v|0));EP(-215,o,143355,142068,3333);KV(o)}if((f[k>>2]^f[n>>2])&4095|0){f[o>>2]=0;f[o+4>>2]=0;t=JV(o,20)|0;D=143411;v=t+20|0;do{b[t>>0]=b[D>>0]|0;t=t+1|0;D=D+1|0}while((t|0)<(v|0));EP(-215,o,143355,142068,3333);KV(o)}f[o+8>>2]=0;f[o+12>>2]=0;f[o>>2]=16842752;f[o+4>>2]=k;f[p+8>>2]=0;f[p+12>>2]=0;f[p>>2]=16842752;f[p+4>>2]=l;f[q+8>>2]=0;f[q+12>>2]=0;f[q>>2]=16842752;f[q+4>>2]=m;D=r+8|0;f[D>>2]=0;f[D+4>>2]=0;f[r>>2]=33619968;f[r+4>>2]=n;zC(o,p,d,q,g,r,i);i=n+36|0;r=f[i>>2]|0;if(r|0?(q=r+12|0,r=f[q>>2]|0,f[q>>2]=r+-1,(r|0)==1):0)XO(n);f[i>>2]=0;i=n+16|0;r=n+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[r>>2]|0)>0){i=f[n+40>>2]|0;q=0;do{f[i+(q<<2)>>2]=0;q=q+1|0}while((q|0)<(f[r>>2]|0))}r=f[n+44>>2]|0;if((r|0)!=(n+48|0))dX(r);r=m+36|0;n=f[r>>2]|0;if(n|0?(q=n+12|0,n=f[q>>2]|0,f[q>>2]=n+-1,(n|0)==1):0)XO(m);f[r>>2]=0;r=m+16|0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;if((f[c>>2]|0)>0){r=f[s>>2]|0;s=0;do{f[r+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[c>>2]|0))}c=f[x>>2]|0;if((c|0)!=(w|0))dX(c);c=l+36|0;w=f[c>>2]|0;if(w|0?(x=w+12|0,w=f[x>>2]|0,f[x>>2]=w+-1,(w|0)==1):0)XO(l);f[c>>2]=0;c=l+16|0;w=l+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[w>>2]|0)>0){c=f[l+40>>2]|0;x=0;do{f[c+(x<<2)>>2]=0;x=x+1|0}while((x|0)<(f[w>>2]|0))}w=f[l+44>>2]|0;if((w|0)!=(l+48|0))dX(w);w=k+36|0;l=f[w>>2]|0;if(l|0?(x=l+12|0,l=f[x>>2]|0,f[x>>2]=l+-1,(l|0)==1):0)XO(k);f[w>>2]=0;w=k+16|0;l=k+4|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;if((f[l>>2]|0)>0){w=f[k+40>>2]|0;x=0;do{f[w+(x<<2)>>2]=0;x=x+1|0}while((x|0)<(f[l>>2]|0))}l=f[k+44>>2]|0;if((l|0)==(k+48|0)){u=j;return}dX(l);u=j;return}function vD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=u;u=u+320|0;h=g+256|0;i=g+200|0;j=g+144|0;k=g+88|0;l=g+32|0;m=g+16|0;n=g;NY(h,a,0,1,0,0);NY(i,b,0,1,0,0);f[j>>2]=f[i>>2];b=j+4|0;a=i+4|0;o=f[a>>2]|0;f[b>>2]=o;p=j+8|0;f[p>>2]=f[i+8>>2];f[j+12>>2]=f[i+12>>2];q=j+16|0;r=i+16|0;f[q>>2]=f[r>>2];f[j+20>>2]=f[i+20>>2];f[j+24>>2]=f[i+24>>2];f[j+28>>2]=f[i+28>>2];f[j+32>>2]=f[i+32>>2];s=j+36|0;t=i+36|0;v=f[t>>2]|0;f[s>>2]=v;w=j+40|0;f[w>>2]=p;p=j+48|0;x=j+44|0;f[x>>2]=p;f[p>>2]=0;f[j+52>>2]=0;if(!v)y=o;else{o=v+12|0;f[o>>2]=(f[o>>2]|0)+1;y=f[a>>2]|0}if((y|0)<3){y=f[i+44>>2]|0;o=f[x>>2]|0;f[o>>2]=f[y>>2];f[o+4>>2]=f[y+4>>2]}else{f[b>>2]=0;WO(j,i)}f[k>>2]=1124007936;y=k+4|0;o=k+8|0;v=k+40|0;z=y;A=z+36|0;do{f[z>>2]=0;z=z+4|0}while((z|0)<(A|0));f[v>>2]=o;z=k+48|0;A=k+44|0;f[A>>2]=z;f[z>>2]=0;f[k+52>>2]=0;if(d|0){NY(l,d,0,1,0,0);d=l+36|0;B=f[d>>2]|0;if(B|0){C=B+12|0;f[C>>2]=(f[C>>2]|0)+1}C=k+36|0;B=f[C>>2]|0;if(B|0?(D=B+12|0,B=f[D>>2]|0,f[D>>2]=B+-1,(B|0)==1):0)XO(k);f[C>>2]=0;B=k+16|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;if((f[y>>2]|0)>0){D=f[v>>2]|0;E=0;do{f[D+(E<<2)>>2]=0;E=E+1|0;F=f[y>>2]|0}while((E|0)<(F|0));f[k>>2]=f[l>>2];if((F|0)<3)G=17;else G=19}else{f[k>>2]=f[l>>2];G=17}if((G|0)==17){F=f[l+4>>2]|0;if((F|0)<3){f[y>>2]=F;f[o>>2]=f[l+8>>2];f[k+12>>2]=f[l+12>>2];o=f[l+44>>2]|0;F=f[A>>2]|0;f[F>>2]=f[o>>2];f[F+4>>2]=f[o+4>>2]}else G=19}if((G|0)==19)WO(k,l);G=l+16|0;f[B>>2]=f[G>>2];f[k+20>>2]=f[l+20>>2];f[k+24>>2]=f[l+24>>2];f[k+28>>2]=f[l+28>>2];f[k+32>>2]=f[l+32>>2];B=f[d>>2]|0;f[C>>2]=B;if(B|0?(C=B+12|0,B=f[C>>2]|0,f[C>>2]=B+-1,(B|0)==1):0)XO(l);f[d>>2]=0;d=l+4|0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;if((f[d>>2]|0)>0){G=f[l+40>>2]|0;B=0;do{f[G+(B<<2)>>2]=0;B=B+1|0}while((B|0)<(f[d>>2]|0))}d=f[l+44>>2]|0;if((d|0)!=(l+48|0))dX(d)}f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=h;d=m+8|0;f[d>>2]=0;f[d+4>>2]=0;f[m>>2]=33619968;f[m+4>>2]=j;f[n+8>>2]=0;f[n+12>>2]=0;f[n>>2]=16842752;f[n+4>>2]=k;VC(l,m,(c|0)!=0,n,e,f[j>>2]&4095);if((f[q>>2]|0)!=(f[r>>2]|0)){n=l+8|0;f[n>>2]=0;f[n+4>>2]=0;f[l>>2]=33619968;f[l+4>>2]=i;AO(j,l,f[i>>2]&4095,1.0,0.0)}l=k+36|0;n=f[l>>2]|0;if(n|0?(c=n+12|0,n=f[c>>2]|0,f[c>>2]=n+-1,(n|0)==1):0)XO(k);f[l>>2]=0;l=k+16|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;if((f[y>>2]|0)>0){l=f[v>>2]|0;v=0;do{f[l+(v<<2)>>2]=0;v=v+1|0}while((v|0)<(f[y>>2]|0))}y=f[A>>2]|0;if((y|0)!=(z|0))dX(y);y=f[s>>2]|0;if(y|0?(z=y+12|0,y=f[z>>2]|0,f[z>>2]=y+-1,(y|0)==1):0)XO(j);f[s>>2]=0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;if((f[b>>2]|0)>0){q=f[w>>2]|0;w=0;do{f[q+(w<<2)>>2]=0;w=w+1|0}while((w|0)<(f[b>>2]|0))}b=f[x>>2]|0;if((b|0)!=(p|0))dX(b);b=f[t>>2]|0;if(b|0?(p=b+12|0,b=f[p>>2]|0,f[p>>2]=b+-1,(b|0)==1):0)XO(i);f[t>>2]=0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;if((f[a>>2]|0)>0){r=f[i+40>>2]|0;t=0;do{f[r+(t<<2)>>2]=0;t=t+1|0}while((t|0)<(f[a>>2]|0))}a=f[i+44>>2]|0;if((a|0)!=(i+48|0))dX(a);a=h+36|0;i=f[a>>2]|0;if(i|0?(t=i+12|0,i=f[t>>2]|0,f[t>>2]=i+-1,(i|0)==1):0)XO(h);f[a>>2]=0;a=h+16|0;i=h+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if((f[i>>2]|0)>0){a=f[h+40>>2]|0;t=0;do{f[a+(t<<2)>>2]=0;t=t+1|0}while((t|0)<(f[i>>2]|0))}i=f[h+44>>2]|0;if((i|0)==(h+48|0)){u=g;return}dX(i);u=g;return}function wD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=f[a>>2]|0;f[a>>2]=f[b>>2];f[b>>2]=c;c=a+4|0;d=b+4|0;e=f[c>>2]|0;f[c>>2]=f[d>>2];f[d>>2]=e;e=a+8|0;d=b+8|0;c=f[e>>2]|0;f[e>>2]=f[d>>2];f[d>>2]=c;c=a+12|0;g=b+12|0;h=f[c>>2]|0;f[c>>2]=f[g>>2];f[g>>2]=h;h=a+16|0;g=b+16|0;c=f[h>>2]|0;f[h>>2]=f[g>>2];f[g>>2]=c;c=a+20|0;g=b+20|0;h=f[c>>2]|0;f[c>>2]=f[g>>2];f[g>>2]=h;h=a+24|0;g=b+24|0;c=f[h>>2]|0;f[h>>2]=f[g>>2];f[g>>2]=c;c=a+28|0;g=b+28|0;h=f[c>>2]|0;f[c>>2]=f[g>>2];f[g>>2]=h;h=a+32|0;g=b+32|0;c=f[h>>2]|0;f[h>>2]=f[g>>2];f[g>>2]=c;c=a+36|0;g=b+36|0;h=f[c>>2]|0;f[c>>2]=f[g>>2];f[g>>2]=h;h=a+40|0;g=b+40|0;c=f[h>>2]|0;f[h>>2]=f[g>>2];f[g>>2]=c;c=a+44|0;i=b+44|0;j=f[c>>2]|0;f[c>>2]=f[i>>2];f[i>>2]=j;k=a+48|0;l=b+48|0;m=f[k>>2]|0;f[k>>2]=f[l>>2];f[l>>2]=m;m=a+52|0;a=b+52|0;b=f[m>>2]|0;f[m>>2]=f[a>>2];f[a>>2]=b;if((f[c>>2]|0)==(l|0)){f[c>>2]=k;f[h>>2]=e;n=f[i>>2]|0}else n=j;if((n|0)!=(k|0))return;f[i>>2]=l;f[g>>2]=d;return}function xD(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;e=u;u=u+144|0;g=e+128|0;h=e+72|0;i=e+16|0;j=e;yV(g,28756);if((a|0)!=0&(c|0)!=0){k=a+8|0;l=h+4|0;m=0;n=0;do{if(!(((f[a+(m*56|0)+4>>2]|0)<3?(f[a+(m*56|0)+8>>2]|0)==(f[k>>2]|0):0)?!((f[a>>2]^f[a+(m*56|0)>>2])&4095|0):0)){f[h>>2]=0;f[l>>2]=0;o=JV(h,80)|0;p=143432;q=o+80|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));EP(-215,h,143513,143521,63);KV(h)}n=(f[a+(m*56|0)+12>>2]|0)+n|0;m=m+1|0}while(m>>>0>>0);vK(d,f[k>>2]|0,n,f[a>>2]&4095,-1,0,0);do if((HJ(d)|0)==65536){n=f[d+4>>2]|0;f[h>>2]=f[n>>2];k=h+4|0;m=n+4|0;f[k>>2]=f[m>>2];l=h+8|0;f[l>>2]=f[n+8>>2];f[h+12>>2]=f[n+12>>2];f[h+16>>2]=f[n+16>>2];f[h+20>>2]=f[n+20>>2];f[h+24>>2]=f[n+24>>2];f[h+28>>2]=f[n+28>>2];f[h+32>>2]=f[n+32>>2];p=f[n+36>>2]|0;f[h+36>>2]=p;f[h+40>>2]=l;l=h+48|0;o=h+44|0;f[o>>2]=l;f[l>>2]=0;f[h+52>>2]=0;if(p|0){l=p+12|0;f[l>>2]=(f[l>>2]|0)+1}if((f[m>>2]|0)<3){m=f[n+44>>2]|0;l=f[o>>2]|0;f[l>>2]=f[m>>2];f[l+4>>2]=f[m+4>>2];break}else{f[k>>2]=0;WO(h,n);break}}else DJ(h,d,-1);while(0);n=j+4|0;k=j+8|0;m=j+12|0;l=j+8|0;o=j+4|0;p=i+36|0;q=i+16|0;r=i+4|0;s=i+40|0;t=i+44|0;v=i+48|0;w=0;x=0;while(1){y=a+(x*56|0)+12|0;z=f[y>>2]|0;A=f[a+(x*56|0)+8>>2]|0;f[j>>2]=w;f[n>>2]=0;f[k>>2]=z;f[m>>2]=A;$O(i,h,j);A=l;f[A>>2]=0;f[A+4>>2]=0;f[j>>2]=33619968;f[o>>2]=i;eM(a+(x*56|0)|0,j);A=f[y>>2]|0;y=f[p>>2]|0;if(y|0?(z=y+12|0,y=f[z>>2]|0,f[z>>2]=y+-1,(y|0)==1):0)XO(i);f[p>>2]=0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;if((f[r>>2]|0)>0){y=f[s>>2]|0;z=0;do{f[y+(z<<2)>>2]=0;z=z+1|0}while((z|0)<(f[r>>2]|0))}z=f[t>>2]|0;if((z|0)!=(v|0))dX(z);x=x+1|0;if(x>>>0>=c>>>0)break;else w=A+w|0}w=h+36|0;c=f[w>>2]|0;if(c|0?(x=c+12|0,c=f[x>>2]|0,f[x>>2]=c+-1,(c|0)==1):0)XO(h);f[w>>2]=0;w=h+16|0;c=h+4|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;if((f[c>>2]|0)>0){w=f[h+40>>2]|0;x=0;do{f[w+(x<<2)>>2]=0;x=x+1|0}while((x|0)<(f[c>>2]|0))}c=f[h+44>>2]|0;if((c|0)!=(h+48|0))dX(c)}else YJ(d);if(!(f[g+4>>2]|0)){u=e;return}u=e;return}function yD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=u;u=u+32|0;d=c+16|0;e=c;yV(d,28776);f[e>>2]=0;g=e+4|0;f[g>>2]=0;f[e+8>>2]=0;JJ(a,e);a=f[e>>2]|0;h=f[g>>2]|0;xD((a|0)==(h|0)?0:a,(h-a|0)/56|0,b);Rs(e);if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function zD(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;e=u;u=u+144|0;g=e+128|0;h=e+72|0;i=e+16|0;j=e;yV(g,28796);if((a|0)!=0&(c|0)!=0){k=a+12|0;l=h+4|0;m=0;n=0;do{if(!(((f[a+(m*56|0)+4>>2]|0)<3?(f[a+(m*56|0)+12>>2]|0)==(f[k>>2]|0):0)?!((f[a>>2]^f[a+(m*56|0)>>2])&4095|0):0)){f[h>>2]=0;f[l>>2]=0;o=JV(h,80)|0;p=143696;q=o+80|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));EP(-215,h,143777,143521,108);KV(h)}n=(f[a+(m*56|0)+8>>2]|0)+n|0;m=m+1|0}while(m>>>0>>0);vK(d,n,f[k>>2]|0,f[a>>2]&4095,-1,0,0);do if((HJ(d)|0)==65536){k=f[d+4>>2]|0;f[h>>2]=f[k>>2];n=h+4|0;m=k+4|0;f[n>>2]=f[m>>2];l=h+8|0;f[l>>2]=f[k+8>>2];f[h+12>>2]=f[k+12>>2];f[h+16>>2]=f[k+16>>2];f[h+20>>2]=f[k+20>>2];f[h+24>>2]=f[k+24>>2];f[h+28>>2]=f[k+28>>2];f[h+32>>2]=f[k+32>>2];p=f[k+36>>2]|0;f[h+36>>2]=p;f[h+40>>2]=l;l=h+48|0;o=h+44|0;f[o>>2]=l;f[l>>2]=0;f[h+52>>2]=0;if(p|0){l=p+12|0;f[l>>2]=(f[l>>2]|0)+1}if((f[m>>2]|0)<3){m=f[k+44>>2]|0;l=f[o>>2]|0;f[l>>2]=f[m>>2];f[l+4>>2]=f[m+4>>2];break}else{f[n>>2]=0;WO(h,k);break}}else DJ(h,d,-1);while(0);k=j+4|0;n=j+8|0;m=j+12|0;l=j+8|0;o=j+4|0;p=i+36|0;q=i+16|0;r=i+4|0;s=i+40|0;t=i+44|0;v=i+48|0;w=0;x=0;while(1){y=f[a+(x*56|0)+12>>2]|0;z=a+(x*56|0)+8|0;A=f[z>>2]|0;f[j>>2]=0;f[k>>2]=w;f[n>>2]=y;f[m>>2]=A;$O(i,h,j);A=l;f[A>>2]=0;f[A+4>>2]=0;f[j>>2]=33619968;f[o>>2]=i;eM(a+(x*56|0)|0,j);A=f[z>>2]|0;z=f[p>>2]|0;if(z|0?(y=z+12|0,z=f[y>>2]|0,f[y>>2]=z+-1,(z|0)==1):0)XO(i);f[p>>2]=0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;if((f[r>>2]|0)>0){z=f[s>>2]|0;y=0;do{f[z+(y<<2)>>2]=0;y=y+1|0}while((y|0)<(f[r>>2]|0))}y=f[t>>2]|0;if((y|0)!=(v|0))dX(y);x=x+1|0;if(x>>>0>=c>>>0)break;else w=A+w|0}w=h+36|0;c=f[w>>2]|0;if(c|0?(x=c+12|0,c=f[x>>2]|0,f[x>>2]=c+-1,(c|0)==1):0)XO(h);f[w>>2]=0;w=h+16|0;c=h+4|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;if((f[c>>2]|0)>0){w=f[h+40>>2]|0;x=0;do{f[w+(x<<2)>>2]=0;x=x+1|0}while((x|0)<(f[c>>2]|0))}c=f[h+44>>2]|0;if((c|0)!=(h+48|0))dX(c)}else YJ(d);if(!(f[g+4>>2]|0)){u=e;return}u=e;return}function AD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=u;u=u+32|0;d=c+16|0;e=c;yV(d,28816);f[e>>2]=0;g=e+4|0;f[g>>2]=0;f[e+8>>2]=0;JJ(a,e);a=f[e>>2]|0;h=f[g>>2]|0;zD((a|0)==(h|0)?0:a,(h-a|0)/56|0,b);Rs(e);if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function BD(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;d=u;u=u+160|0;e=d+144|0;g=d+88|0;h=d;i=d+32|0;yV(e,28836);if((RJ(a,-1)|0)>=3){f[g>>2]=0;f[g+4>>2]=0;j=JV(g,14)|0;k=143894;l=j+14|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-215,g,143909,143521,184);KV(g)}do if((HJ(a)|0)==65536){k=f[a+4>>2]|0;f[g>>2]=f[k>>2];j=g+4|0;l=k+4|0;f[j>>2]=f[l>>2];m=g+8|0;f[m>>2]=f[k+8>>2];o=g+12|0;f[o>>2]=f[k+12>>2];f[g+16>>2]=f[k+16>>2];f[g+20>>2]=f[k+20>>2];f[g+24>>2]=f[k+24>>2];f[g+28>>2]=f[k+28>>2];f[g+32>>2]=f[k+32>>2];q=f[k+36>>2]|0;f[g+36>>2]=q;f[g+40>>2]=m;r=g+48|0;s=g+44|0;f[s>>2]=r;f[r>>2]=0;f[g+52>>2]=0;if(q|0){r=q+12|0;f[r>>2]=(f[r>>2]|0)+1}if((f[l>>2]|0)<3){l=f[k+44>>2]|0;r=f[s>>2]|0;f[r>>2]=f[l>>2];f[r+4>>2]=f[l+4>>2];t=o;v=g;w=m;break}else{f[j>>2]=0;WO(g,k);t=o;v=g;w=m;break}}else{DJ(g,a,-1);t=g+12|0;v=g;w=g+8|0}while(0);a=f[w>>2]|0;w=f[t>>2]|0;a:do switch(f[v>>2]&4095){case 5:{t=f[g+16>>2]|0;x=+p[c>>3];m=(f[g+48>>2]|0)>>>2;if((a|0)>0){if((w|0)<=0){o=0;k=t;while(1){if((o|0)<(w|0))n[k+(o<<2)>>2]=x;o=o+1|0;if((o|0)==(a|0))break a;else k=k+(m<<2)|0}}k=w<<2;o=0;j=t;while(1){FVa(t+((X(m,o)|0)<<2)|0,0,k|0)|0;if((o|0)<(w|0))n[j+(o<<2)>>2]=x;o=o+1|0;if((o|0)==(a|0))break;else j=j+(m<<2)|0}}break}case 6:{x=+p[c>>3];m=(f[g+48>>2]|0)>>>3;if((a|0)>0&(w|0)>0){j=0;o=f[g+16>>2]|0;while(1){k=0;do{p[o+(k<<3)>>3]=(k|0)==(j|0)?x:0.0;k=k+1|0}while((k|0)!=(w|0));j=j+1|0;if((j|0)==(a|0))break;else o=o+(m<<3)|0}}break}default:{f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;f[h+28>>2]=0;gM(g,h)|0;bP(i,g,0);gM(i,c)|0;m=i+36|0;o=f[m>>2]|0;if(o|0?(j=o+12|0,o=f[j>>2]|0,f[j>>2]=o+-1,(o|0)==1):0)XO(i);f[m>>2]=0;m=i+16|0;o=i+4|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;if((f[o>>2]|0)>0){m=f[i+40>>2]|0;j=0;do{f[m+(j<<2)>>2]=0;j=j+1|0}while((j|0)<(f[o>>2]|0))}o=f[i+44>>2]|0;if((o|0)!=(i+48|0))dX(o)}}while(0);i=g+36|0;c=f[i>>2]|0;if(c|0?(h=c+12|0,c=f[h>>2]|0,f[h>>2]=c+-1,(c|0)==1):0)XO(g);f[i>>2]=0;i=g+16|0;c=g+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[c>>2]|0)>0){i=f[g+40>>2]|0;h=0;do{f[i+(h<<2)>>2]=0;h=h+1|0}while((h|0)<(f[c>>2]|0))}c=f[g+44>>2]|0;if((c|0)!=(g+48|0))dX(c);if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function CD(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0.0,t=0.0,v=0.0,w=0.0;d=u;u=u+144|0;e=d+128|0;g=d+72|0;h=d+56|0;i=d;yV(e,28856);do if((HJ(c)|0)==65536){j=f[c+4>>2]|0;f[g>>2]=f[j>>2];k=g+4|0;l=j+4|0;f[k>>2]=f[l>>2];m=g+8|0;f[m>>2]=f[j+8>>2];f[g+12>>2]=f[j+12>>2];f[g+16>>2]=f[j+16>>2];f[g+20>>2]=f[j+20>>2];f[g+24>>2]=f[j+24>>2];f[g+28>>2]=f[j+28>>2];f[g+32>>2]=f[j+32>>2];o=f[j+36>>2]|0;f[g+36>>2]=o;f[g+40>>2]=m;m=g+48|0;q=g+44|0;f[q>>2]=m;f[m>>2]=0;f[g+52>>2]=0;if(o|0){m=o+12|0;f[m>>2]=(f[m>>2]|0)+1}if((f[l>>2]|0)<3){l=f[j+44>>2]|0;m=f[q>>2]|0;f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];r=k;break}else{f[k>>2]=0;WO(g,j);r=k;break}}else{DJ(g,c,-1);r=g+4|0}while(0);if((f[r>>2]|0)>=3){f[h>>2]=0;f[h+4>>2]=0;c=JV(h,11)|0;k=174436;j=c+11|0;do{b[c>>0]=b[k>>0]|0;c=c+1|0;k=k+1|0}while((c|0)<(j|0));EP(-215,h,143984,143521,232);KV(h)}k=f[g+12>>2]|0;c=f[g+8>>2]|0;j=(k|0)<(c|0)?k:c;switch(f[g>>2]&4095){case 5:{c=f[g+16>>2]|0;k=((f[g+48>>2]|0)>>>2)+1|0;if((j|0)>0){l=0;s=0.0;while(1){m=c+((X(l,k)|0)<<2)|0;t=s+ +n[m>>2];l=l+1|0;if((l|0)>=(j|0)){v=t;break}else s=t}}else v=0.0;p[a>>3]=v;l=a+8|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;break}case 6:{l=f[g+16>>2]|0;k=((f[g+48>>2]|0)>>>3)+1|0;if((j|0)>0){v=0.0;c=0;while(1){m=l+((X(c,k)|0)<<3)|0;s=v+ +p[m>>3];c=c+1|0;if((c|0)>=(j|0)){w=s;break}else v=s}}else w=0.0;p[a>>3]=w;j=a+8|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;break}default:{bP(i,g,0);f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=i;IV(a,h);h=i+36|0;a=f[h>>2]|0;if(a|0?(j=a+12|0,a=f[j>>2]|0,f[j>>2]=a+-1,(a|0)==1):0)XO(i);f[h>>2]=0;h=i+16|0;a=i+4|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;if((f[a>>2]|0)>0){h=f[i+40>>2]|0;j=0;do{f[h+(j<<2)>>2]=0;j=j+1|0}while((j|0)<(f[a>>2]|0))}a=f[i+44>>2]|0;if((a|0)!=(i+48|0))dX(a)}}a=g+36|0;i=f[a>>2]|0;if(i|0?(j=i+12|0,i=f[j>>2]|0,f[j>>2]=i+-1,(i|0)==1):0)XO(g);f[a>>2]=0;a=g+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if((f[r>>2]|0)>0){a=f[g+40>>2]|0;i=0;do{f[a+(i<<2)>>2]=0;i=i+1|0}while((i|0)<(f[r>>2]|0))}r=f[g+44>>2]|0;if((r|0)!=(g+48|0))dX(r);if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function DD(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;d=u;u=u+144|0;e=d+136|0;g=d+80|0;h=d+24|0;i=d;j=d+16|0;yV(e,28876);k=GJ(a,-1)|0;l=(k>>>3&511)+1<<(47696>>>(k<<1&14)&3);if(!((l|0)<33&(RJ(a,-1)|0)<3)){f[g>>2]=0;f[g+4>>2]=0;m=JV(g,29)|0;n=144027;o=m+29|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,g,144057,143521,498);KV(g)}do if((HJ(a)|0)==65536){k=f[a+4>>2]|0;f[g>>2]=f[k>>2];p=g+4|0;q=k+4|0;f[p>>2]=f[q>>2];r=g+8|0;f[r>>2]=f[k+8>>2];f[g+12>>2]=f[k+12>>2];s=g+16|0;f[s>>2]=f[k+16>>2];f[g+20>>2]=f[k+20>>2];f[g+24>>2]=f[k+24>>2];f[g+28>>2]=f[k+28>>2];f[g+32>>2]=f[k+32>>2];t=f[k+36>>2]|0;f[g+36>>2]=t;f[g+40>>2]=r;r=g+48|0;v=g+44|0;f[v>>2]=r;f[r>>2]=0;f[g+52>>2]=0;if(t|0){r=t+12|0;f[r>>2]=(f[r>>2]|0)+1}if((f[q>>2]|0)<3){q=f[k+44>>2]|0;r=f[v>>2]|0;f[r>>2]=f[q>>2];f[r+4>>2]=f[q+4>>2];w=s;break}else{f[p>>2]=0;WO(g,k);w=s;break}}else{DJ(g,a,-1);w=g+16|0}while(0);if(f[w>>2]|0){a=f[g+4>>2]|0;if((a|0)<3)x=X(f[g+12>>2]|0,f[g+8>>2]|0)|0;else{s=f[g+40>>2]|0;k=0;p=1;while(1){q=X(f[s+(k<<2)>>2]|0,p)|0;k=k+1|0;if((k|0)==(a|0)){x=q;break}else p=q}}if(!((a|0)==0|(x|0)==0)){x=g+12|0;a=g+8|0;vK(c,f[x>>2]|0,f[a>>2]|0,f[g>>2]&4095,-1,0,0);do if((HJ(c)|0)==65536){p=f[c+4>>2]|0;f[h>>2]=f[p>>2];k=h+4|0;s=p+4|0;f[k>>2]=f[s>>2];q=h+8|0;f[q>>2]=f[p+8>>2];r=h+12|0;f[r>>2]=f[p+12>>2];f[h+16>>2]=f[p+16>>2];f[h+20>>2]=f[p+20>>2];f[h+24>>2]=f[p+24>>2];f[h+28>>2]=f[p+28>>2];f[h+32>>2]=f[p+32>>2];v=f[p+36>>2]|0;f[h+36>>2]=v;f[h+40>>2]=q;q=h+48|0;t=h+44|0;f[t>>2]=q;f[q>>2]=0;f[h+52>>2]=0;if(v|0){q=v+12|0;f[q>>2]=(f[q>>2]|0)+1}if((f[s>>2]|0)<3){s=f[p+44>>2]|0;q=f[t>>2]|0;f[q>>2]=f[s>>2];f[q+4>>2]=f[s+4>>2];y=r;break}else{f[k>>2]=0;WO(h,p);y=r;break}}else{DJ(h,c,-1);y=h+12|0}while(0);r=f[a>>2]|0;do if((r|0)==(f[y>>2]|0)?(a=f[x>>2]|0,p=h+8|0,(a|0)==(f[p>>2]|0)):0){k=h+16|0;s=f[k>>2]|0;q=f[w>>2]|0;if((s|0)!=(q|0)){t=f[29028+(l<<2)>>2]|0;if(!t){f[i>>2]=0;f[i+4>>2]=0;m=JV(i,9)|0;n=196746;o=m+9|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,i,144057,143521,533);KV(i);z=f[w>>2]|0;A=f[k>>2]|0}else{z=q;A=s}v=f[g+48>>2]|0;B=f[h+48>>2]|0;C=f[g+40>>2]|0;D=f[C>>2]|0;f[j>>2]=f[C+4>>2];f[j+4>>2]=D;Sh[t&255](z,v,A,B,j);break}B=f[28896+(l<<2)>>2]|0;if(!B){f[i>>2]=0;f[i+4>>2]=0;m=JV(i,9)|0;n=196746;o=m+9|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,i,144057,143521,526);KV(i);E=f[y>>2]|0;F=f[p>>2]|0}else{E=r;F=a}if((E|0)==(F|0))G=F;else{f[i>>2]=0;f[i+4>>2]=0;m=JV(i,20)|0;n=342079;o=m+20|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,i,144057,143521,527);KV(i);G=f[p>>2]|0}Rg[B&255](f[k>>2]|0,f[h+48>>2]|0,G)}else H=26;while(0);if((H|0)==26){G=f[g+40>>2]|0;F=f[h+40>>2]|0;if(!(((f[G>>2]|0)==(f[F>>2]|0)?(f[G+4>>2]|0)==(f[F+4>>2]|0):0)?(f[x>>2]|0)==1|(r|0)==1:0)){f[i>>2]=0;f[i+4>>2]=0;m=JV(i,60)|0;n=144067;o=m+60|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,i,144057,143521,516);KV(i)}n=i+8|0;f[n>>2]=0;f[n+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=h;eM(g,i)}i=h+36|0;n=f[i>>2]|0;if(n|0?(m=n+12|0,n=f[m>>2]|0,f[m>>2]=n+-1,(n|0)==1):0)XO(h);f[i>>2]=0;i=h+16|0;n=h+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[n>>2]|0)>0){i=f[h+40>>2]|0;m=0;do{f[i+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[n>>2]|0))}n=f[h+44>>2]|0;if((n|0)!=(h+48|0))dX(n)}else H=16}else H=16;if((H|0)==16)YJ(c);c=g+36|0;H=f[c>>2]|0;if(H|0?(n=H+12|0,H=f[n>>2]|0,f[n>>2]=H+-1,(H|0)==1):0)XO(g);f[c>>2]=0;c=g+4|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;if((f[c>>2]|0)>0){w=f[g+40>>2]|0;H=0;do{f[w+(H<<2)>>2]=0;H=H+1|0}while((H|0)<(f[c>>2]|0))}c=f[g+44>>2]|0;if((c|0)!=(g+48|0))dX(c);if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function ED(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;h=f[g>>2]|0;i=f[g+4>>2]|0;g=h+-4|0;do if((h|0)<4)j=0;else{k=i+-4|0;if((i|0)<4){if((i|0)>0){l=0;do{m=d+(X(l,e)|0)|0;n=d+(X(l|1,e)|0)|0;o=d+(X(l|2,e)|0)|0;p=d+(X(l|3,e)|0)|0;q=a+l|0;r=0;do{s=q+(X(r,c)|0)|0;b[m+r>>0]=b[s>>0]|0;b[n+r>>0]=b[s+1>>0]|0;b[o+r>>0]=b[s+2>>0]|0;b[p+r>>0]=b[s+3>>0]|0;r=r+1|0}while((r|0)!=(i|0));l=l+4|0}while((l|0)<=(g|0))}j=h&-4;break}l=i&-4;r=(l|0)<(i|0);p=0;do{o=d+(X(p,e)|0)|0;n=d+(X(p|1,e)|0)|0;m=d+(X(p|2,e)|0)|0;q=d+(X(p|3,e)|0)|0;s=a+p|0;t=0;do{u=s+(X(t,c)|0)|0;v=t|1;w=s+(X(v,c)|0)|0;x=t|2;y=s+(X(x,c)|0)|0;z=t|3;A=s+(X(z,c)|0)|0;b[o+t>>0]=b[u>>0]|0;b[o+v>>0]=b[w>>0]|0;b[o+x>>0]=b[y>>0]|0;b[o+z>>0]=b[A>>0]|0;b[n+t>>0]=b[u+1>>0]|0;b[n+v>>0]=b[w+1>>0]|0;b[n+x>>0]=b[y+1>>0]|0;b[n+z>>0]=b[A+1>>0]|0;b[m+t>>0]=b[u+2>>0]|0;b[m+v>>0]=b[w+2>>0]|0;b[m+x>>0]=b[y+2>>0]|0;b[m+z>>0]=b[A+2>>0]|0;b[q+t>>0]=b[u+3>>0]|0;b[q+v>>0]=b[w+3>>0]|0;b[q+x>>0]=b[y+3>>0]|0;b[q+z>>0]=b[A+3>>0]|0;t=t+4|0}while((t|0)<=(k|0));if(r){t=l;do{A=s+(X(t,c)|0)|0;b[o+t>>0]=b[A>>0]|0;b[n+t>>0]=b[A+1>>0]|0;b[m+t>>0]=b[A+2>>0]|0;b[q+t>>0]=b[A+3>>0]|0;t=t+1|0}while((t|0)!=(i|0))}p=p+4|0}while((p|0)<=(g|0));j=h&-4}while(0);if((j|0)>=(h|0))return;g=i+-4|0;if((i|0)<4){if((i|0)>0)B=j;else return;do{p=d+(X(B,e)|0)|0;l=a+B|0;r=0;do{k=l+(X(r,c)|0)|0;b[p+r>>0]=b[k>>0]|0;r=r+1|0}while((r|0)!=(i|0));B=B+1|0}while((B|0)!=(h|0));return}B=i&-4;if((B|0)<(i|0))C=j;else{r=j;do{j=d+(X(r,e)|0)|0;p=a+r|0;l=0;do{k=p+(X(l,c)|0)|0;t=l|1;q=p+(X(t,c)|0)|0;m=l|2;n=p+(X(m,c)|0)|0;o=l|3;s=p+(X(o,c)|0)|0;b[j+l>>0]=b[k>>0]|0;b[j+t>>0]=b[q>>0]|0;b[j+m>>0]=b[n>>0]|0;b[j+o>>0]=b[s>>0]|0;l=l+4|0}while((l|0)<=(g|0));r=r+1|0}while((r|0)!=(h|0));return}do{r=d+(X(C,e)|0)|0;l=a+C|0;j=0;do{p=l+(X(j,c)|0)|0;s=j|1;o=l+(X(s,c)|0)|0;n=j|2;m=l+(X(n,c)|0)|0;q=j|3;t=l+(X(q,c)|0)|0;b[r+j>>0]=b[p>>0]|0;b[r+s>>0]=b[o>>0]|0;b[r+n>>0]=b[m>>0]|0;b[r+q>>0]=b[t>>0]|0;j=j+4|0}while((j|0)<=(g|0));D=B;do{j=l+(X(D,c)|0)|0;b[r+D>>0]=b[j>>0]|0;D=D+1|0}while((D|0)!=(i|0));C=C+1|0}while((C|0)!=(h|0));return}function FD(a,b,c,e,g){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;h=f[g>>2]|0;i=f[g+4>>2]|0;g=h+-4|0;do if((h|0)<4)j=0;else{k=i+-4|0;if((i|0)<4){if((i|0)>0){l=0;do{m=c+(X(l,e)|0)|0;n=c+(X(l|1,e)|0)|0;o=c+(X(l|2,e)|0)|0;p=c+(X(l|3,e)|0)|0;q=a+(l<<1)|0;r=0;do{s=q+(X(r,b)|0)|0;d[m+(r<<1)>>1]=d[s>>1]|0;d[n+(r<<1)>>1]=d[s+2>>1]|0;d[o+(r<<1)>>1]=d[s+4>>1]|0;d[p+(r<<1)>>1]=d[s+6>>1]|0;r=r+1|0}while((r|0)!=(i|0));l=l+4|0}while((l|0)<=(g|0))}j=h&-4;break}l=i&-4;r=(l|0)<(i|0);p=0;do{o=c+(X(p,e)|0)|0;n=c+(X(p|1,e)|0)|0;m=c+(X(p|2,e)|0)|0;q=c+(X(p|3,e)|0)|0;s=a+(p<<1)|0;t=0;do{u=s+(X(t,b)|0)|0;v=t|1;w=s+(X(v,b)|0)|0;x=t|2;y=s+(X(x,b)|0)|0;z=t|3;A=s+(X(z,b)|0)|0;d[o+(t<<1)>>1]=d[u>>1]|0;d[o+(v<<1)>>1]=d[w>>1]|0;d[o+(x<<1)>>1]=d[y>>1]|0;d[o+(z<<1)>>1]=d[A>>1]|0;d[n+(t<<1)>>1]=d[u+2>>1]|0;d[n+(v<<1)>>1]=d[w+2>>1]|0;d[n+(x<<1)>>1]=d[y+2>>1]|0;d[n+(z<<1)>>1]=d[A+2>>1]|0;d[m+(t<<1)>>1]=d[u+4>>1]|0;d[m+(v<<1)>>1]=d[w+4>>1]|0;d[m+(x<<1)>>1]=d[y+4>>1]|0;d[m+(z<<1)>>1]=d[A+4>>1]|0;d[q+(t<<1)>>1]=d[u+6>>1]|0;d[q+(v<<1)>>1]=d[w+6>>1]|0;d[q+(x<<1)>>1]=d[y+6>>1]|0;d[q+(z<<1)>>1]=d[A+6>>1]|0;t=t+4|0}while((t|0)<=(k|0));if(r){t=l;do{A=s+(X(t,b)|0)|0;d[o+(t<<1)>>1]=d[A>>1]|0;d[n+(t<<1)>>1]=d[A+2>>1]|0;d[m+(t<<1)>>1]=d[A+4>>1]|0;d[q+(t<<1)>>1]=d[A+6>>1]|0;t=t+1|0}while((t|0)!=(i|0))}p=p+4|0}while((p|0)<=(g|0));j=h&-4}while(0);if((j|0)>=(h|0))return;g=i+-4|0;if((i|0)<4){if((i|0)>0)B=j;else return;do{p=c+(X(B,e)|0)|0;l=a+(B<<1)|0;r=0;do{k=l+(X(r,b)|0)|0;d[p+(r<<1)>>1]=d[k>>1]|0;r=r+1|0}while((r|0)!=(i|0));B=B+1|0}while((B|0)!=(h|0));return}B=i&-4;if((B|0)<(i|0))C=j;else{r=j;do{j=c+(X(r,e)|0)|0;p=a+(r<<1)|0;l=0;do{k=p+(X(l,b)|0)|0;t=l|1;q=p+(X(t,b)|0)|0;m=l|2;n=p+(X(m,b)|0)|0;o=l|3;s=p+(X(o,b)|0)|0;d[j+(l<<1)>>1]=d[k>>1]|0;d[j+(t<<1)>>1]=d[q>>1]|0;d[j+(m<<1)>>1]=d[n>>1]|0;d[j+(o<<1)>>1]=d[s>>1]|0;l=l+4|0}while((l|0)<=(g|0));r=r+1|0}while((r|0)!=(h|0));return}do{r=c+(X(C,e)|0)|0;l=a+(C<<1)|0;j=0;do{p=l+(X(j,b)|0)|0;s=j|1;o=l+(X(s,b)|0)|0;n=j|2;m=l+(X(n,b)|0)|0;q=j|3;t=l+(X(q,b)|0)|0;d[r+(j<<1)>>1]=d[p>>1]|0;d[r+(s<<1)>>1]=d[o>>1]|0;d[r+(n<<1)>>1]=d[m>>1]|0;d[r+(q<<1)>>1]=d[t>>1]|0;j=j+4|0}while((j|0)<=(g|0));D=B;do{j=l+(X(D,b)|0)|0;d[r+(D<<1)>>1]=d[j>>1]|0;D=D+1|0}while((D|0)!=(i|0));C=C+1|0}while((C|0)!=(h|0));return}function GD(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;h=f[g>>2]|0;i=f[g+4>>2]|0;g=h+-4|0;do if((h|0)<4)j=0;else{k=i+-4|0;if((i|0)<4){if((i|0)>0){l=0;do{m=d+(X(l,e)|0)|0;n=d+(X(l|1,e)|0)|0;o=d+(X(l|2,e)|0)|0;p=d+(X(l|3,e)|0)|0;q=a+(l*3|0)|0;r=0;do{s=q+(X(r,c)|0)|0;t=m+(r*3|0)|0;b[t>>0]=b[s>>0]|0;b[t+1>>0]=b[s+1>>0]|0;b[t+2>>0]=b[s+2>>0]|0;t=s+3|0;u=n+(r*3|0)|0;b[u>>0]=b[t>>0]|0;b[u+1>>0]=b[t+1>>0]|0;b[u+2>>0]=b[t+2>>0]|0;t=s+6|0;u=o+(r*3|0)|0;b[u>>0]=b[t>>0]|0;b[u+1>>0]=b[t+1>>0]|0;b[u+2>>0]=b[t+2>>0]|0;t=s+9|0;s=p+(r*3|0)|0;b[s>>0]=b[t>>0]|0;b[s+1>>0]=b[t+1>>0]|0;b[s+2>>0]=b[t+2>>0]|0;r=r+1|0}while((r|0)!=(i|0));l=l+4|0}while((l|0)<=(g|0))}j=h&-4;break}l=i&-4;r=(l|0)<(i|0);p=0;do{o=d+(X(p,e)|0)|0;n=d+(X(p|1,e)|0)|0;m=d+(X(p|2,e)|0)|0;q=d+(X(p|3,e)|0)|0;t=a+(p*3|0)|0;s=0;do{u=t+(X(s,c)|0)|0;v=s|1;w=t+(X(v,c)|0)|0;x=s|2;y=t+(X(x,c)|0)|0;z=s|3;A=t+(X(z,c)|0)|0;B=o+(s*3|0)|0;b[B>>0]=b[u>>0]|0;b[B+1>>0]=b[u+1>>0]|0;b[B+2>>0]=b[u+2>>0]|0;B=o+(v*3|0)|0;b[B>>0]=b[w>>0]|0;b[B+1>>0]=b[w+1>>0]|0;b[B+2>>0]=b[w+2>>0]|0;B=o+(x*3|0)|0;b[B>>0]=b[y>>0]|0;b[B+1>>0]=b[y+1>>0]|0;b[B+2>>0]=b[y+2>>0]|0;B=o+(z*3|0)|0;b[B>>0]=b[A>>0]|0;b[B+1>>0]=b[A+1>>0]|0;b[B+2>>0]=b[A+2>>0]|0;B=u+3|0;C=n+(s*3|0)|0;b[C>>0]=b[B>>0]|0;b[C+1>>0]=b[B+1>>0]|0;b[C+2>>0]=b[B+2>>0]|0;B=w+3|0;C=n+(v*3|0)|0;b[C>>0]=b[B>>0]|0;b[C+1>>0]=b[B+1>>0]|0;b[C+2>>0]=b[B+2>>0]|0;B=y+3|0;C=n+(x*3|0)|0;b[C>>0]=b[B>>0]|0;b[C+1>>0]=b[B+1>>0]|0;b[C+2>>0]=b[B+2>>0]|0;B=A+3|0;C=n+(z*3|0)|0;b[C>>0]=b[B>>0]|0;b[C+1>>0]=b[B+1>>0]|0;b[C+2>>0]=b[B+2>>0]|0;B=u+6|0;C=m+(s*3|0)|0;b[C>>0]=b[B>>0]|0;b[C+1>>0]=b[B+1>>0]|0;b[C+2>>0]=b[B+2>>0]|0;B=w+6|0;C=m+(v*3|0)|0;b[C>>0]=b[B>>0]|0;b[C+1>>0]=b[B+1>>0]|0;b[C+2>>0]=b[B+2>>0]|0;B=y+6|0;C=m+(x*3|0)|0;b[C>>0]=b[B>>0]|0;b[C+1>>0]=b[B+1>>0]|0;b[C+2>>0]=b[B+2>>0]|0;B=A+6|0;C=m+(z*3|0)|0;b[C>>0]=b[B>>0]|0;b[C+1>>0]=b[B+1>>0]|0;b[C+2>>0]=b[B+2>>0]|0;B=u+9|0;u=q+(s*3|0)|0;b[u>>0]=b[B>>0]|0;b[u+1>>0]=b[B+1>>0]|0;b[u+2>>0]=b[B+2>>0]|0;B=w+9|0;w=q+(v*3|0)|0;b[w>>0]=b[B>>0]|0;b[w+1>>0]=b[B+1>>0]|0;b[w+2>>0]=b[B+2>>0]|0;B=y+9|0;y=q+(x*3|0)|0;b[y>>0]=b[B>>0]|0;b[y+1>>0]=b[B+1>>0]|0;b[y+2>>0]=b[B+2>>0]|0;B=A+9|0;A=q+(z*3|0)|0;b[A>>0]=b[B>>0]|0;b[A+1>>0]=b[B+1>>0]|0;b[A+2>>0]=b[B+2>>0]|0;s=s+4|0}while((s|0)<=(k|0));if(r){s=l;do{B=t+(X(s,c)|0)|0;A=o+(s*3|0)|0;b[A>>0]=b[B>>0]|0;b[A+1>>0]=b[B+1>>0]|0;b[A+2>>0]=b[B+2>>0]|0;A=B+3|0;z=n+(s*3|0)|0;b[z>>0]=b[A>>0]|0;b[z+1>>0]=b[A+1>>0]|0;b[z+2>>0]=b[A+2>>0]|0;A=B+6|0;z=m+(s*3|0)|0;b[z>>0]=b[A>>0]|0;b[z+1>>0]=b[A+1>>0]|0;b[z+2>>0]=b[A+2>>0]|0;A=B+9|0;B=q+(s*3|0)|0;b[B>>0]=b[A>>0]|0;b[B+1>>0]=b[A+1>>0]|0;b[B+2>>0]=b[A+2>>0]|0;s=s+1|0}while((s|0)!=(i|0))}p=p+4|0}while((p|0)<=(g|0));j=h&-4}while(0);if((j|0)>=(h|0))return;g=i+-4|0;if((i|0)<4){if((i|0)>0)D=j;else return;do{p=d+(X(D,e)|0)|0;l=a+(D*3|0)|0;r=0;do{k=l+(X(r,c)|0)|0;s=p+(r*3|0)|0;b[s>>0]=b[k>>0]|0;b[s+1>>0]=b[k+1>>0]|0;b[s+2>>0]=b[k+2>>0]|0;r=r+1|0}while((r|0)!=(i|0));D=D+1|0}while((D|0)!=(h|0));return}D=i&-4;if((D|0)<(i|0))E=j;else{r=j;do{j=d+(X(r,e)|0)|0;p=a+(r*3|0)|0;l=0;do{k=p+(X(l,c)|0)|0;s=l|1;q=p+(X(s,c)|0)|0;m=l|2;n=p+(X(m,c)|0)|0;o=l|3;t=p+(X(o,c)|0)|0;A=j+(l*3|0)|0;b[A>>0]=b[k>>0]|0;b[A+1>>0]=b[k+1>>0]|0;b[A+2>>0]=b[k+2>>0]|0;k=j+(s*3|0)|0;b[k>>0]=b[q>>0]|0;b[k+1>>0]=b[q+1>>0]|0;b[k+2>>0]=b[q+2>>0]|0;q=j+(m*3|0)|0;b[q>>0]=b[n>>0]|0;b[q+1>>0]=b[n+1>>0]|0;b[q+2>>0]=b[n+2>>0]|0;n=j+(o*3|0)|0;b[n>>0]=b[t>>0]|0;b[n+1>>0]=b[t+1>>0]|0;b[n+2>>0]=b[t+2>>0]|0;l=l+4|0}while((l|0)<=(g|0));r=r+1|0}while((r|0)!=(h|0));return}do{r=d+(X(E,e)|0)|0;l=a+(E*3|0)|0;j=0;do{p=l+(X(j,c)|0)|0;t=j|1;n=l+(X(t,c)|0)|0;o=j|2;q=l+(X(o,c)|0)|0;m=j|3;k=l+(X(m,c)|0)|0;s=r+(j*3|0)|0;b[s>>0]=b[p>>0]|0;b[s+1>>0]=b[p+1>>0]|0;b[s+2>>0]=b[p+2>>0]|0;p=r+(t*3|0)|0;b[p>>0]=b[n>>0]|0;b[p+1>>0]=b[n+1>>0]|0;b[p+2>>0]=b[n+2>>0]|0;n=r+(o*3|0)|0;b[n>>0]=b[q>>0]|0;b[n+1>>0]=b[q+1>>0]|0;b[n+2>>0]=b[q+2>>0]|0;q=r+(m*3|0)|0;b[q>>0]=b[k>>0]|0;b[q+1>>0]=b[k+1>>0]|0;b[q+2>>0]=b[k+2>>0]|0;j=j+4|0}while((j|0)<=(g|0));F=D;do{j=l+(X(F,c)|0)|0;k=r+(F*3|0)|0;b[k>>0]=b[j>>0]|0;b[k+1>>0]=b[j+1>>0]|0;b[k+2>>0]=b[j+2>>0]|0;F=F+1|0}while((F|0)!=(i|0));E=E+1|0}while((E|0)!=(h|0));return}function HD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;g=f[e>>2]|0;h=f[e+4>>2]|0;e=g+-4|0;do if((g|0)<4)i=0;else{j=h+-4|0;if((h|0)<4){if((h|0)>0){k=0;do{l=c+(X(k,d)|0)|0;m=c+(X(k|1,d)|0)|0;n=c+(X(k|2,d)|0)|0;o=c+(X(k|3,d)|0)|0;p=a+(k<<2)|0;q=0;do{r=p+(X(q,b)|0)|0;f[l+(q<<2)>>2]=f[r>>2];f[m+(q<<2)>>2]=f[r+4>>2];f[n+(q<<2)>>2]=f[r+8>>2];f[o+(q<<2)>>2]=f[r+12>>2];q=q+1|0}while((q|0)!=(h|0));k=k+4|0}while((k|0)<=(e|0))}i=g&-4;break}k=h&-4;q=(k|0)<(h|0);o=0;do{n=c+(X(o,d)|0)|0;m=c+(X(o|1,d)|0)|0;l=c+(X(o|2,d)|0)|0;p=c+(X(o|3,d)|0)|0;r=a+(o<<2)|0;s=0;do{t=r+(X(s,b)|0)|0;u=s|1;v=r+(X(u,b)|0)|0;w=s|2;x=r+(X(w,b)|0)|0;y=s|3;z=r+(X(y,b)|0)|0;f[n+(s<<2)>>2]=f[t>>2];f[n+(u<<2)>>2]=f[v>>2];f[n+(w<<2)>>2]=f[x>>2];f[n+(y<<2)>>2]=f[z>>2];f[m+(s<<2)>>2]=f[t+4>>2];f[m+(u<<2)>>2]=f[v+4>>2];f[m+(w<<2)>>2]=f[x+4>>2];f[m+(y<<2)>>2]=f[z+4>>2];f[l+(s<<2)>>2]=f[t+8>>2];f[l+(u<<2)>>2]=f[v+8>>2];f[l+(w<<2)>>2]=f[x+8>>2];f[l+(y<<2)>>2]=f[z+8>>2];f[p+(s<<2)>>2]=f[t+12>>2];f[p+(u<<2)>>2]=f[v+12>>2];f[p+(w<<2)>>2]=f[x+12>>2];f[p+(y<<2)>>2]=f[z+12>>2];s=s+4|0}while((s|0)<=(j|0));if(q){s=k;do{z=r+(X(s,b)|0)|0;f[n+(s<<2)>>2]=f[z>>2];f[m+(s<<2)>>2]=f[z+4>>2];f[l+(s<<2)>>2]=f[z+8>>2];f[p+(s<<2)>>2]=f[z+12>>2];s=s+1|0}while((s|0)!=(h|0))}o=o+4|0}while((o|0)<=(e|0));i=g&-4}while(0);if((i|0)>=(g|0))return;e=h+-4|0;if((h|0)<4){if((h|0)>0)A=i;else return;do{o=c+(X(A,d)|0)|0;k=a+(A<<2)|0;q=0;do{j=k+(X(q,b)|0)|0;f[o+(q<<2)>>2]=f[j>>2];q=q+1|0}while((q|0)!=(h|0));A=A+1|0}while((A|0)!=(g|0));return}A=h&-4;if((A|0)<(h|0))B=i;else{q=i;do{i=c+(X(q,d)|0)|0;o=a+(q<<2)|0;k=0;do{j=o+(X(k,b)|0)|0;s=k|1;p=o+(X(s,b)|0)|0;l=k|2;m=o+(X(l,b)|0)|0;n=k|3;r=o+(X(n,b)|0)|0;f[i+(k<<2)>>2]=f[j>>2];f[i+(s<<2)>>2]=f[p>>2];f[i+(l<<2)>>2]=f[m>>2];f[i+(n<<2)>>2]=f[r>>2];k=k+4|0}while((k|0)<=(e|0));q=q+1|0}while((q|0)!=(g|0));return}do{q=c+(X(B,d)|0)|0;k=a+(B<<2)|0;i=0;do{o=k+(X(i,b)|0)|0;r=i|1;n=k+(X(r,b)|0)|0;m=i|2;l=k+(X(m,b)|0)|0;p=i|3;s=k+(X(p,b)|0)|0;f[q+(i<<2)>>2]=f[o>>2];f[q+(r<<2)>>2]=f[n>>2];f[q+(m<<2)>>2]=f[l>>2];f[q+(p<<2)>>2]=f[s>>2];i=i+4|0}while((i|0)<=(e|0));C=A;do{i=k+(X(C,b)|0)|0;f[q+(C<<2)>>2]=f[i>>2];C=C+1|0}while((C|0)!=(h|0));B=B+1|0}while((B|0)!=(g|0));return}function ID(a,b,c,e,g){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;h=f[g>>2]|0;i=f[g+4>>2]|0;g=h+-4|0;do if((h|0)<4)j=0;else{k=i+-4|0;if((i|0)<4){if((i|0)>0){l=0;do{m=c+(X(l,e)|0)|0;n=c+(X(l|1,e)|0)|0;o=c+(X(l|2,e)|0)|0;p=c+(X(l|3,e)|0)|0;q=a+(l*6|0)|0;r=0;do{s=q+(X(r,b)|0)|0;t=m+(r*6|0)|0;d[t>>1]=d[s>>1]|0;d[t+2>>1]=d[s+2>>1]|0;d[t+4>>1]=d[s+4>>1]|0;t=s+6|0;u=n+(r*6|0)|0;d[u>>1]=d[t>>1]|0;d[u+2>>1]=d[t+2>>1]|0;d[u+4>>1]=d[t+4>>1]|0;t=s+12|0;u=o+(r*6|0)|0;d[u>>1]=d[t>>1]|0;d[u+2>>1]=d[t+2>>1]|0;d[u+4>>1]=d[t+4>>1]|0;t=s+18|0;s=p+(r*6|0)|0;d[s>>1]=d[t>>1]|0;d[s+2>>1]=d[t+2>>1]|0;d[s+4>>1]=d[t+4>>1]|0;r=r+1|0}while((r|0)!=(i|0));l=l+4|0}while((l|0)<=(g|0))}j=h&-4;break}l=i&-4;r=(l|0)<(i|0);p=0;do{o=c+(X(p,e)|0)|0;n=c+(X(p|1,e)|0)|0;m=c+(X(p|2,e)|0)|0;q=c+(X(p|3,e)|0)|0;t=a+(p*6|0)|0;s=0;do{u=t+(X(s,b)|0)|0;v=s|1;w=t+(X(v,b)|0)|0;x=s|2;y=t+(X(x,b)|0)|0;z=s|3;A=t+(X(z,b)|0)|0;B=o+(s*6|0)|0;d[B>>1]=d[u>>1]|0;d[B+2>>1]=d[u+2>>1]|0;d[B+4>>1]=d[u+4>>1]|0;B=o+(v*6|0)|0;d[B>>1]=d[w>>1]|0;d[B+2>>1]=d[w+2>>1]|0;d[B+4>>1]=d[w+4>>1]|0;B=o+(x*6|0)|0;d[B>>1]=d[y>>1]|0;d[B+2>>1]=d[y+2>>1]|0;d[B+4>>1]=d[y+4>>1]|0;B=o+(z*6|0)|0;d[B>>1]=d[A>>1]|0;d[B+2>>1]=d[A+2>>1]|0;d[B+4>>1]=d[A+4>>1]|0;B=u+6|0;C=n+(s*6|0)|0;d[C>>1]=d[B>>1]|0;d[C+2>>1]=d[B+2>>1]|0;d[C+4>>1]=d[B+4>>1]|0;B=w+6|0;C=n+(v*6|0)|0;d[C>>1]=d[B>>1]|0;d[C+2>>1]=d[B+2>>1]|0;d[C+4>>1]=d[B+4>>1]|0;B=y+6|0;C=n+(x*6|0)|0;d[C>>1]=d[B>>1]|0;d[C+2>>1]=d[B+2>>1]|0;d[C+4>>1]=d[B+4>>1]|0;B=A+6|0;C=n+(z*6|0)|0;d[C>>1]=d[B>>1]|0;d[C+2>>1]=d[B+2>>1]|0;d[C+4>>1]=d[B+4>>1]|0;B=u+12|0;C=m+(s*6|0)|0;d[C>>1]=d[B>>1]|0;d[C+2>>1]=d[B+2>>1]|0;d[C+4>>1]=d[B+4>>1]|0;B=w+12|0;C=m+(v*6|0)|0;d[C>>1]=d[B>>1]|0;d[C+2>>1]=d[B+2>>1]|0;d[C+4>>1]=d[B+4>>1]|0;B=y+12|0;C=m+(x*6|0)|0;d[C>>1]=d[B>>1]|0;d[C+2>>1]=d[B+2>>1]|0;d[C+4>>1]=d[B+4>>1]|0;B=A+12|0;C=m+(z*6|0)|0;d[C>>1]=d[B>>1]|0;d[C+2>>1]=d[B+2>>1]|0;d[C+4>>1]=d[B+4>>1]|0;B=u+18|0;u=q+(s*6|0)|0;d[u>>1]=d[B>>1]|0;d[u+2>>1]=d[B+2>>1]|0;d[u+4>>1]=d[B+4>>1]|0;B=w+18|0;w=q+(v*6|0)|0;d[w>>1]=d[B>>1]|0;d[w+2>>1]=d[B+2>>1]|0;d[w+4>>1]=d[B+4>>1]|0;B=y+18|0;y=q+(x*6|0)|0;d[y>>1]=d[B>>1]|0;d[y+2>>1]=d[B+2>>1]|0;d[y+4>>1]=d[B+4>>1]|0;B=A+18|0;A=q+(z*6|0)|0;d[A>>1]=d[B>>1]|0;d[A+2>>1]=d[B+2>>1]|0;d[A+4>>1]=d[B+4>>1]|0;s=s+4|0}while((s|0)<=(k|0));if(r){s=l;do{B=t+(X(s,b)|0)|0;A=o+(s*6|0)|0;d[A>>1]=d[B>>1]|0;d[A+2>>1]=d[B+2>>1]|0;d[A+4>>1]=d[B+4>>1]|0;A=B+6|0;z=n+(s*6|0)|0;d[z>>1]=d[A>>1]|0;d[z+2>>1]=d[A+2>>1]|0;d[z+4>>1]=d[A+4>>1]|0;A=B+12|0;z=m+(s*6|0)|0;d[z>>1]=d[A>>1]|0;d[z+2>>1]=d[A+2>>1]|0;d[z+4>>1]=d[A+4>>1]|0;A=B+18|0;B=q+(s*6|0)|0;d[B>>1]=d[A>>1]|0;d[B+2>>1]=d[A+2>>1]|0;d[B+4>>1]=d[A+4>>1]|0;s=s+1|0}while((s|0)!=(i|0))}p=p+4|0}while((p|0)<=(g|0));j=h&-4}while(0);if((j|0)>=(h|0))return;g=i+-4|0;if((i|0)<4){if((i|0)>0)D=j;else return;do{p=c+(X(D,e)|0)|0;l=a+(D*6|0)|0;r=0;do{k=l+(X(r,b)|0)|0;s=p+(r*6|0)|0;d[s>>1]=d[k>>1]|0;d[s+2>>1]=d[k+2>>1]|0;d[s+4>>1]=d[k+4>>1]|0;r=r+1|0}while((r|0)!=(i|0));D=D+1|0}while((D|0)!=(h|0));return}D=i&-4;if((D|0)<(i|0))E=j;else{r=j;do{j=c+(X(r,e)|0)|0;p=a+(r*6|0)|0;l=0;do{k=p+(X(l,b)|0)|0;s=l|1;q=p+(X(s,b)|0)|0;m=l|2;n=p+(X(m,b)|0)|0;o=l|3;t=p+(X(o,b)|0)|0;A=j+(l*6|0)|0;d[A>>1]=d[k>>1]|0;d[A+2>>1]=d[k+2>>1]|0;d[A+4>>1]=d[k+4>>1]|0;k=j+(s*6|0)|0;d[k>>1]=d[q>>1]|0;d[k+2>>1]=d[q+2>>1]|0;d[k+4>>1]=d[q+4>>1]|0;q=j+(m*6|0)|0;d[q>>1]=d[n>>1]|0;d[q+2>>1]=d[n+2>>1]|0;d[q+4>>1]=d[n+4>>1]|0;n=j+(o*6|0)|0;d[n>>1]=d[t>>1]|0;d[n+2>>1]=d[t+2>>1]|0;d[n+4>>1]=d[t+4>>1]|0;l=l+4|0}while((l|0)<=(g|0));r=r+1|0}while((r|0)!=(h|0));return}do{r=c+(X(E,e)|0)|0;l=a+(E*6|0)|0;j=0;do{p=l+(X(j,b)|0)|0;t=j|1;n=l+(X(t,b)|0)|0;o=j|2;q=l+(X(o,b)|0)|0;m=j|3;k=l+(X(m,b)|0)|0;s=r+(j*6|0)|0;d[s>>1]=d[p>>1]|0;d[s+2>>1]=d[p+2>>1]|0;d[s+4>>1]=d[p+4>>1]|0;p=r+(t*6|0)|0;d[p>>1]=d[n>>1]|0;d[p+2>>1]=d[n+2>>1]|0;d[p+4>>1]=d[n+4>>1]|0;n=r+(o*6|0)|0;d[n>>1]=d[q>>1]|0;d[n+2>>1]=d[q+2>>1]|0;d[n+4>>1]=d[q+4>>1]|0;q=r+(m*6|0)|0;d[q>>1]=d[k>>1]|0;d[q+2>>1]=d[k+2>>1]|0;d[q+4>>1]=d[k+4>>1]|0;j=j+4|0}while((j|0)<=(g|0));F=D;do{j=l+(X(F,b)|0)|0;k=r+(F*6|0)|0;d[k>>1]=d[j>>1]|0;d[k+2>>1]=d[j+2>>1]|0;d[k+4>>1]=d[j+4>>1]|0;F=F+1|0}while((F|0)!=(i|0));E=E+1|0}while((E|0)!=(h|0));return}function JD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;g=f[e>>2]|0;h=f[e+4>>2]|0;e=g+-4|0;do if((g|0)<4)i=0;else{j=h+-4|0;if((h|0)<4){if((h|0)>0){k=0;do{l=c+(X(k,d)|0)|0;m=c+(X(k|1,d)|0)|0;n=c+(X(k|2,d)|0)|0;o=c+(X(k|3,d)|0)|0;p=a+(k<<3)|0;q=0;do{r=p+(X(q,b)|0)|0;s=r;t=f[s+4>>2]|0;u=l+(q<<3)|0;f[u>>2]=f[s>>2];f[u+4>>2]=t;t=r+8|0;u=f[t+4>>2]|0;s=m+(q<<3)|0;f[s>>2]=f[t>>2];f[s+4>>2]=u;u=r+16|0;s=f[u+4>>2]|0;t=n+(q<<3)|0;f[t>>2]=f[u>>2];f[t+4>>2]=s;s=r+24|0;r=f[s+4>>2]|0;t=o+(q<<3)|0;f[t>>2]=f[s>>2];f[t+4>>2]=r;q=q+1|0}while((q|0)!=(h|0));k=k+4|0}while((k|0)<=(e|0))}i=g&-4;break}k=h&-4;q=(k|0)<(h|0);o=0;do{n=c+(X(o,d)|0)|0;m=c+(X(o|1,d)|0)|0;l=c+(X(o|2,d)|0)|0;p=c+(X(o|3,d)|0)|0;r=a+(o<<3)|0;t=0;do{s=r+(X(t,b)|0)|0;u=t|1;v=r+(X(u,b)|0)|0;w=t|2;x=r+(X(w,b)|0)|0;y=t|3;z=r+(X(y,b)|0)|0;A=s;B=f[A+4>>2]|0;C=n+(t<<3)|0;f[C>>2]=f[A>>2];f[C+4>>2]=B;B=v;C=f[B+4>>2]|0;A=n+(u<<3)|0;f[A>>2]=f[B>>2];f[A+4>>2]=C;C=x;A=f[C+4>>2]|0;B=n+(w<<3)|0;f[B>>2]=f[C>>2];f[B+4>>2]=A;A=z;B=f[A+4>>2]|0;C=n+(y<<3)|0;f[C>>2]=f[A>>2];f[C+4>>2]=B;B=s+8|0;C=f[B+4>>2]|0;A=m+(t<<3)|0;f[A>>2]=f[B>>2];f[A+4>>2]=C;C=v+8|0;A=f[C+4>>2]|0;B=m+(u<<3)|0;f[B>>2]=f[C>>2];f[B+4>>2]=A;A=x+8|0;B=f[A+4>>2]|0;C=m+(w<<3)|0;f[C>>2]=f[A>>2];f[C+4>>2]=B;B=z+8|0;C=f[B+4>>2]|0;A=m+(y<<3)|0;f[A>>2]=f[B>>2];f[A+4>>2]=C;C=s+16|0;A=f[C+4>>2]|0;B=l+(t<<3)|0;f[B>>2]=f[C>>2];f[B+4>>2]=A;A=v+16|0;B=f[A+4>>2]|0;C=l+(u<<3)|0;f[C>>2]=f[A>>2];f[C+4>>2]=B;B=x+16|0;C=f[B+4>>2]|0;A=l+(w<<3)|0;f[A>>2]=f[B>>2];f[A+4>>2]=C;C=z+16|0;A=f[C+4>>2]|0;B=l+(y<<3)|0;f[B>>2]=f[C>>2];f[B+4>>2]=A;A=s+24|0;s=f[A+4>>2]|0;B=p+(t<<3)|0;f[B>>2]=f[A>>2];f[B+4>>2]=s;s=v+24|0;v=f[s+4>>2]|0;B=p+(u<<3)|0;f[B>>2]=f[s>>2];f[B+4>>2]=v;v=x+24|0;x=f[v+4>>2]|0;B=p+(w<<3)|0;f[B>>2]=f[v>>2];f[B+4>>2]=x;x=z+24|0;z=f[x+4>>2]|0;B=p+(y<<3)|0;f[B>>2]=f[x>>2];f[B+4>>2]=z;t=t+4|0}while((t|0)<=(j|0));if(q){t=k;do{z=r+(X(t,b)|0)|0;B=z;x=f[B+4>>2]|0;y=n+(t<<3)|0;f[y>>2]=f[B>>2];f[y+4>>2]=x;x=z+8|0;y=f[x+4>>2]|0;B=m+(t<<3)|0;f[B>>2]=f[x>>2];f[B+4>>2]=y;y=z+16|0;B=f[y+4>>2]|0;x=l+(t<<3)|0;f[x>>2]=f[y>>2];f[x+4>>2]=B;B=z+24|0;z=f[B+4>>2]|0;x=p+(t<<3)|0;f[x>>2]=f[B>>2];f[x+4>>2]=z;t=t+1|0}while((t|0)!=(h|0))}o=o+4|0}while((o|0)<=(e|0));i=g&-4}while(0);if((i|0)>=(g|0))return;e=h+-4|0;if((h|0)<4){if((h|0)>0)D=i;else return;do{o=c+(X(D,d)|0)|0;k=a+(D<<3)|0;q=0;do{j=k+(X(q,b)|0)|0;t=f[j+4>>2]|0;p=o+(q<<3)|0;f[p>>2]=f[j>>2];f[p+4>>2]=t;q=q+1|0}while((q|0)!=(h|0));D=D+1|0}while((D|0)!=(g|0));return}D=h&-4;if((D|0)<(h|0))E=i;else{q=i;do{i=c+(X(q,d)|0)|0;o=a+(q<<3)|0;k=0;do{t=k|1;p=o+(X(t,b)|0)|0;j=k|2;l=o+(X(j,b)|0)|0;m=k|3;n=o+(X(m,b)|0)|0;r=o+(X(k,b)|0)|0;z=f[r+4>>2]|0;x=i+(k<<3)|0;f[x>>2]=f[r>>2];f[x+4>>2]=z;z=p;p=f[z+4>>2]|0;x=i+(t<<3)|0;f[x>>2]=f[z>>2];f[x+4>>2]=p;p=l;l=f[p+4>>2]|0;x=i+(j<<3)|0;f[x>>2]=f[p>>2];f[x+4>>2]=l;l=n;n=f[l+4>>2]|0;x=i+(m<<3)|0;f[x>>2]=f[l>>2];f[x+4>>2]=n;k=k+4|0}while((k|0)<=(e|0));q=q+1|0}while((q|0)!=(g|0));return}do{q=c+(X(E,d)|0)|0;k=a+(E<<3)|0;i=0;do{o=i|1;n=k+(X(o,b)|0)|0;x=i|2;l=k+(X(x,b)|0)|0;m=i|3;p=k+(X(m,b)|0)|0;j=k+(X(i,b)|0)|0;z=f[j+4>>2]|0;t=q+(i<<3)|0;f[t>>2]=f[j>>2];f[t+4>>2]=z;z=n;n=f[z+4>>2]|0;t=q+(o<<3)|0;f[t>>2]=f[z>>2];f[t+4>>2]=n;n=l;l=f[n+4>>2]|0;t=q+(x<<3)|0;f[t>>2]=f[n>>2];f[t+4>>2]=l;l=p;p=f[l+4>>2]|0;t=q+(m<<3)|0;f[t>>2]=f[l>>2];f[t+4>>2]=p;i=i+4|0}while((i|0)<=(e|0));F=D;do{i=k+(X(F,b)|0)|0;p=f[i+4>>2]|0;t=q+(F<<3)|0;f[t>>2]=f[i>>2];f[t+4>>2]=p;F=F+1|0}while((F|0)!=(h|0));E=E+1|0}while((E|0)!=(g|0));return}function KD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;g=f[e>>2]|0;h=f[e+4>>2]|0;e=g+-4|0;do if((g|0)<4)i=0;else{j=h+-4|0;if((h|0)<4){if((h|0)>0){k=0;do{l=c+(X(k,d)|0)|0;m=c+(X(k|1,d)|0)|0;n=c+(X(k|2,d)|0)|0;o=c+(X(k|3,d)|0)|0;p=a+(k*12|0)|0;q=0;do{r=p+(X(q,b)|0)|0;s=l+(q*12|0)|0;f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2];f[s+8>>2]=f[r+8>>2];s=r+12|0;t=m+(q*12|0)|0;f[t>>2]=f[s>>2];f[t+4>>2]=f[s+4>>2];f[t+8>>2]=f[s+8>>2];s=r+24|0;t=n+(q*12|0)|0;f[t>>2]=f[s>>2];f[t+4>>2]=f[s+4>>2];f[t+8>>2]=f[s+8>>2];s=r+36|0;r=o+(q*12|0)|0;f[r>>2]=f[s>>2];f[r+4>>2]=f[s+4>>2];f[r+8>>2]=f[s+8>>2];q=q+1|0}while((q|0)!=(h|0));k=k+4|0}while((k|0)<=(e|0))}i=g&-4;break}k=h&-4;q=(k|0)<(h|0);o=0;do{n=c+(X(o,d)|0)|0;m=c+(X(o|1,d)|0)|0;l=c+(X(o|2,d)|0)|0;p=c+(X(o|3,d)|0)|0;s=a+(o*12|0)|0;r=0;do{t=s+(X(r,b)|0)|0;u=r|1;v=s+(X(u,b)|0)|0;w=r|2;x=s+(X(w,b)|0)|0;y=r|3;z=s+(X(y,b)|0)|0;A=n+(r*12|0)|0;f[A>>2]=f[t>>2];f[A+4>>2]=f[t+4>>2];f[A+8>>2]=f[t+8>>2];A=n+(u*12|0)|0;f[A>>2]=f[v>>2];f[A+4>>2]=f[v+4>>2];f[A+8>>2]=f[v+8>>2];A=n+(w*12|0)|0;f[A>>2]=f[x>>2];f[A+4>>2]=f[x+4>>2];f[A+8>>2]=f[x+8>>2];A=n+(y*12|0)|0;f[A>>2]=f[z>>2];f[A+4>>2]=f[z+4>>2];f[A+8>>2]=f[z+8>>2];A=t+12|0;B=m+(r*12|0)|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];f[B+8>>2]=f[A+8>>2];A=v+12|0;B=m+(u*12|0)|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];f[B+8>>2]=f[A+8>>2];A=x+12|0;B=m+(w*12|0)|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];f[B+8>>2]=f[A+8>>2];A=z+12|0;B=m+(y*12|0)|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];f[B+8>>2]=f[A+8>>2];A=t+24|0;B=l+(r*12|0)|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];f[B+8>>2]=f[A+8>>2];A=v+24|0;B=l+(u*12|0)|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];f[B+8>>2]=f[A+8>>2];A=x+24|0;B=l+(w*12|0)|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];f[B+8>>2]=f[A+8>>2];A=z+24|0;B=l+(y*12|0)|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];f[B+8>>2]=f[A+8>>2];A=t+36|0;t=p+(r*12|0)|0;f[t>>2]=f[A>>2];f[t+4>>2]=f[A+4>>2];f[t+8>>2]=f[A+8>>2];A=v+36|0;v=p+(u*12|0)|0;f[v>>2]=f[A>>2];f[v+4>>2]=f[A+4>>2];f[v+8>>2]=f[A+8>>2];A=x+36|0;x=p+(w*12|0)|0;f[x>>2]=f[A>>2];f[x+4>>2]=f[A+4>>2];f[x+8>>2]=f[A+8>>2];A=z+36|0;z=p+(y*12|0)|0;f[z>>2]=f[A>>2];f[z+4>>2]=f[A+4>>2];f[z+8>>2]=f[A+8>>2];r=r+4|0}while((r|0)<=(j|0));if(q){r=k;do{A=s+(X(r,b)|0)|0;z=n+(r*12|0)|0;f[z>>2]=f[A>>2];f[z+4>>2]=f[A+4>>2];f[z+8>>2]=f[A+8>>2];z=A+12|0;y=m+(r*12|0)|0;f[y>>2]=f[z>>2];f[y+4>>2]=f[z+4>>2];f[y+8>>2]=f[z+8>>2];z=A+24|0;y=l+(r*12|0)|0;f[y>>2]=f[z>>2];f[y+4>>2]=f[z+4>>2];f[y+8>>2]=f[z+8>>2];z=A+36|0;A=p+(r*12|0)|0;f[A>>2]=f[z>>2];f[A+4>>2]=f[z+4>>2];f[A+8>>2]=f[z+8>>2];r=r+1|0}while((r|0)!=(h|0))}o=o+4|0}while((o|0)<=(e|0));i=g&-4}while(0);if((i|0)>=(g|0))return;e=h+-4|0;if((h|0)<4){if((h|0)>0)C=i;else return;do{o=c+(X(C,d)|0)|0;k=a+(C*12|0)|0;q=0;do{j=k+(X(q,b)|0)|0;r=o+(q*12|0)|0;f[r>>2]=f[j>>2];f[r+4>>2]=f[j+4>>2];f[r+8>>2]=f[j+8>>2];q=q+1|0}while((q|0)!=(h|0));C=C+1|0}while((C|0)!=(g|0));return}C=h&-4;if((C|0)<(h|0))D=i;else{q=i;do{i=c+(X(q,d)|0)|0;o=a+(q*12|0)|0;k=0;do{j=o+(X(k,b)|0)|0;r=k|1;p=o+(X(r,b)|0)|0;l=k|2;m=o+(X(l,b)|0)|0;n=k|3;s=o+(X(n,b)|0)|0;z=i+(k*12|0)|0;f[z>>2]=f[j>>2];f[z+4>>2]=f[j+4>>2];f[z+8>>2]=f[j+8>>2];j=i+(r*12|0)|0;f[j>>2]=f[p>>2];f[j+4>>2]=f[p+4>>2];f[j+8>>2]=f[p+8>>2];p=i+(l*12|0)|0;f[p>>2]=f[m>>2];f[p+4>>2]=f[m+4>>2];f[p+8>>2]=f[m+8>>2];m=i+(n*12|0)|0;f[m>>2]=f[s>>2];f[m+4>>2]=f[s+4>>2];f[m+8>>2]=f[s+8>>2];k=k+4|0}while((k|0)<=(e|0));q=q+1|0}while((q|0)!=(g|0));return}do{q=c+(X(D,d)|0)|0;k=a+(D*12|0)|0;i=0;do{o=k+(X(i,b)|0)|0;s=i|1;m=k+(X(s,b)|0)|0;n=i|2;p=k+(X(n,b)|0)|0;l=i|3;j=k+(X(l,b)|0)|0;r=q+(i*12|0)|0;f[r>>2]=f[o>>2];f[r+4>>2]=f[o+4>>2];f[r+8>>2]=f[o+8>>2];o=q+(s*12|0)|0;f[o>>2]=f[m>>2];f[o+4>>2]=f[m+4>>2];f[o+8>>2]=f[m+8>>2];m=q+(n*12|0)|0;f[m>>2]=f[p>>2];f[m+4>>2]=f[p+4>>2];f[m+8>>2]=f[p+8>>2];p=q+(l*12|0)|0;f[p>>2]=f[j>>2];f[p+4>>2]=f[j+4>>2];f[p+8>>2]=f[j+8>>2];i=i+4|0}while((i|0)<=(e|0));E=C;do{i=k+(X(E,b)|0)|0;j=q+(E*12|0)|0;f[j>>2]=f[i>>2];f[j+4>>2]=f[i+4>>2];f[j+8>>2]=f[i+8>>2];E=E+1|0}while((E|0)!=(h|0));D=D+1|0}while((D|0)!=(g|0));return}function LD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;g=f[e>>2]|0;h=f[e+4>>2]|0;e=g+-4|0;do if((g|0)<4)i=0;else{j=h+-4|0;if((h|0)<4){if((h|0)>0){k=0;do{l=c+(X(k,d)|0)|0;m=c+(X(k|1,d)|0)|0;n=c+(X(k|2,d)|0)|0;o=c+(X(k|3,d)|0)|0;p=a+(k<<4)|0;q=0;do{r=p+(X(q,b)|0)|0;s=l+(q<<4)|0;f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2];f[s+8>>2]=f[r+8>>2];f[s+12>>2]=f[r+12>>2];s=r+16|0;t=m+(q<<4)|0;f[t>>2]=f[s>>2];f[t+4>>2]=f[s+4>>2];f[t+8>>2]=f[s+8>>2];f[t+12>>2]=f[s+12>>2];s=r+32|0;t=n+(q<<4)|0;f[t>>2]=f[s>>2];f[t+4>>2]=f[s+4>>2];f[t+8>>2]=f[s+8>>2];f[t+12>>2]=f[s+12>>2];s=r+48|0;r=o+(q<<4)|0;f[r>>2]=f[s>>2];f[r+4>>2]=f[s+4>>2];f[r+8>>2]=f[s+8>>2];f[r+12>>2]=f[s+12>>2];q=q+1|0}while((q|0)!=(h|0));k=k+4|0}while((k|0)<=(e|0))}i=g&-4;break}k=h&-4;q=(k|0)<(h|0);o=0;do{n=c+(X(o,d)|0)|0;m=c+(X(o|1,d)|0)|0;l=c+(X(o|2,d)|0)|0;p=c+(X(o|3,d)|0)|0;s=a+(o<<4)|0;r=0;do{t=s+(X(r,b)|0)|0;u=r|1;v=s+(X(u,b)|0)|0;w=r|2;x=s+(X(w,b)|0)|0;y=r|3;z=s+(X(y,b)|0)|0;A=n+(r<<4)|0;f[A>>2]=f[t>>2];f[A+4>>2]=f[t+4>>2];f[A+8>>2]=f[t+8>>2];f[A+12>>2]=f[t+12>>2];A=n+(u<<4)|0;f[A>>2]=f[v>>2];f[A+4>>2]=f[v+4>>2];f[A+8>>2]=f[v+8>>2];f[A+12>>2]=f[v+12>>2];A=n+(w<<4)|0;f[A>>2]=f[x>>2];f[A+4>>2]=f[x+4>>2];f[A+8>>2]=f[x+8>>2];f[A+12>>2]=f[x+12>>2];A=n+(y<<4)|0;f[A>>2]=f[z>>2];f[A+4>>2]=f[z+4>>2];f[A+8>>2]=f[z+8>>2];f[A+12>>2]=f[z+12>>2];A=t+16|0;B=m+(r<<4)|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];f[B+8>>2]=f[A+8>>2];f[B+12>>2]=f[A+12>>2];A=v+16|0;B=m+(u<<4)|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];f[B+8>>2]=f[A+8>>2];f[B+12>>2]=f[A+12>>2];A=x+16|0;B=m+(w<<4)|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];f[B+8>>2]=f[A+8>>2];f[B+12>>2]=f[A+12>>2];A=z+16|0;B=m+(y<<4)|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];f[B+8>>2]=f[A+8>>2];f[B+12>>2]=f[A+12>>2];A=t+32|0;B=l+(r<<4)|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];f[B+8>>2]=f[A+8>>2];f[B+12>>2]=f[A+12>>2];A=v+32|0;B=l+(u<<4)|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];f[B+8>>2]=f[A+8>>2];f[B+12>>2]=f[A+12>>2];A=x+32|0;B=l+(w<<4)|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];f[B+8>>2]=f[A+8>>2];f[B+12>>2]=f[A+12>>2];A=z+32|0;B=l+(y<<4)|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];f[B+8>>2]=f[A+8>>2];f[B+12>>2]=f[A+12>>2];A=t+48|0;t=p+(r<<4)|0;f[t>>2]=f[A>>2];f[t+4>>2]=f[A+4>>2];f[t+8>>2]=f[A+8>>2];f[t+12>>2]=f[A+12>>2];A=v+48|0;v=p+(u<<4)|0;f[v>>2]=f[A>>2];f[v+4>>2]=f[A+4>>2];f[v+8>>2]=f[A+8>>2];f[v+12>>2]=f[A+12>>2];A=x+48|0;x=p+(w<<4)|0;f[x>>2]=f[A>>2];f[x+4>>2]=f[A+4>>2];f[x+8>>2]=f[A+8>>2];f[x+12>>2]=f[A+12>>2];A=z+48|0;z=p+(y<<4)|0;f[z>>2]=f[A>>2];f[z+4>>2]=f[A+4>>2];f[z+8>>2]=f[A+8>>2];f[z+12>>2]=f[A+12>>2];r=r+4|0}while((r|0)<=(j|0));if(q){r=k;do{A=s+(X(r,b)|0)|0;z=n+(r<<4)|0;f[z>>2]=f[A>>2];f[z+4>>2]=f[A+4>>2];f[z+8>>2]=f[A+8>>2];f[z+12>>2]=f[A+12>>2];z=A+16|0;y=m+(r<<4)|0;f[y>>2]=f[z>>2];f[y+4>>2]=f[z+4>>2];f[y+8>>2]=f[z+8>>2];f[y+12>>2]=f[z+12>>2];z=A+32|0;y=l+(r<<4)|0;f[y>>2]=f[z>>2];f[y+4>>2]=f[z+4>>2];f[y+8>>2]=f[z+8>>2];f[y+12>>2]=f[z+12>>2];z=A+48|0;A=p+(r<<4)|0;f[A>>2]=f[z>>2];f[A+4>>2]=f[z+4>>2];f[A+8>>2]=f[z+8>>2];f[A+12>>2]=f[z+12>>2];r=r+1|0}while((r|0)!=(h|0))}o=o+4|0}while((o|0)<=(e|0));i=g&-4}while(0);if((i|0)>=(g|0))return;e=h+-4|0;if((h|0)<4){if((h|0)>0)C=i;else return;do{o=c+(X(C,d)|0)|0;k=a+(C<<4)|0;q=0;do{j=k+(X(q,b)|0)|0;r=o+(q<<4)|0;f[r>>2]=f[j>>2];f[r+4>>2]=f[j+4>>2];f[r+8>>2]=f[j+8>>2];f[r+12>>2]=f[j+12>>2];q=q+1|0}while((q|0)!=(h|0));C=C+1|0}while((C|0)!=(g|0));return}C=h&-4;if((C|0)<(h|0))D=i;else{q=i;do{i=c+(X(q,d)|0)|0;o=a+(q<<4)|0;k=0;do{j=o+(X(k,b)|0)|0;r=k|1;p=o+(X(r,b)|0)|0;l=k|2;m=o+(X(l,b)|0)|0;n=k|3;s=o+(X(n,b)|0)|0;z=i+(k<<4)|0;f[z>>2]=f[j>>2];f[z+4>>2]=f[j+4>>2];f[z+8>>2]=f[j+8>>2];f[z+12>>2]=f[j+12>>2];j=i+(r<<4)|0;f[j>>2]=f[p>>2];f[j+4>>2]=f[p+4>>2];f[j+8>>2]=f[p+8>>2];f[j+12>>2]=f[p+12>>2];p=i+(l<<4)|0;f[p>>2]=f[m>>2];f[p+4>>2]=f[m+4>>2];f[p+8>>2]=f[m+8>>2];f[p+12>>2]=f[m+12>>2];m=i+(n<<4)|0;f[m>>2]=f[s>>2];f[m+4>>2]=f[s+4>>2];f[m+8>>2]=f[s+8>>2];f[m+12>>2]=f[s+12>>2];k=k+4|0}while((k|0)<=(e|0));q=q+1|0}while((q|0)!=(g|0));return}do{q=c+(X(D,d)|0)|0;k=a+(D<<4)|0;i=0;do{o=k+(X(i,b)|0)|0;s=i|1;m=k+(X(s,b)|0)|0;n=i|2;p=k+(X(n,b)|0)|0;l=i|3;j=k+(X(l,b)|0)|0;r=q+(i<<4)|0;f[r>>2]=f[o>>2];f[r+4>>2]=f[o+4>>2];f[r+8>>2]=f[o+8>>2];f[r+12>>2]=f[o+12>>2];o=q+(s<<4)|0;f[o>>2]=f[m>>2];f[o+4>>2]=f[m+4>>2];f[o+8>>2]=f[m+8>>2];f[o+12>>2]=f[m+12>>2];m=q+(n<<4)|0;f[m>>2]=f[p>>2];f[m+4>>2]=f[p+4>>2];f[m+8>>2]=f[p+8>>2];f[m+12>>2]=f[p+12>>2];p=q+(l<<4)|0;f[p>>2]=f[j>>2];f[p+4>>2]=f[j+4>>2];f[p+8>>2]=f[j+8>>2];f[p+12>>2]=f[j+12>>2];i=i+4|0}while((i|0)<=(e|0));E=C;do{i=k+(X(E,b)|0)|0;j=q+(E<<4)|0;f[j>>2]=f[i>>2];f[j+4>>2]=f[i+4>>2];f[j+8>>2]=f[i+8>>2];f[j+12>>2]=f[i+12>>2];E=E+1|0}while((E|0)!=(h|0));D=D+1|0}while((D|0)!=(g|0));return}function MD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;g=f[e>>2]|0;h=f[e+4>>2]|0;e=g+-4|0;do if((g|0)<4)i=0;else{j=h+-4|0;if((h|0)<4){if((h|0)>0){k=0;do{l=c+(X(k,d)|0)|0;m=c+(X(k|1,d)|0)|0;n=c+(X(k|2,d)|0)|0;o=c+(X(k|3,d)|0)|0;p=a+(k*24|0)|0;q=0;do{r=p+(X(q,b)|0)|0;s=l+(q*24|0)|0;f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2];f[s+8>>2]=f[r+8>>2];f[s+12>>2]=f[r+12>>2];f[s+16>>2]=f[r+16>>2];f[s+20>>2]=f[r+20>>2];s=r+24|0;t=m+(q*24|0)|0;f[t>>2]=f[s>>2];f[t+4>>2]=f[s+4>>2];f[t+8>>2]=f[s+8>>2];f[t+12>>2]=f[s+12>>2];f[t+16>>2]=f[s+16>>2];f[t+20>>2]=f[s+20>>2];s=r+48|0;t=n+(q*24|0)|0;f[t>>2]=f[s>>2];f[t+4>>2]=f[s+4>>2];f[t+8>>2]=f[s+8>>2];f[t+12>>2]=f[s+12>>2];f[t+16>>2]=f[s+16>>2];f[t+20>>2]=f[s+20>>2];s=r+72|0;r=o+(q*24|0)|0;f[r>>2]=f[s>>2];f[r+4>>2]=f[s+4>>2];f[r+8>>2]=f[s+8>>2];f[r+12>>2]=f[s+12>>2];f[r+16>>2]=f[s+16>>2];f[r+20>>2]=f[s+20>>2];q=q+1|0}while((q|0)!=(h|0));k=k+4|0}while((k|0)<=(e|0))}i=g&-4;break}k=h&-4;q=(k|0)<(h|0);o=0;do{n=c+(X(o,d)|0)|0;m=c+(X(o|1,d)|0)|0;l=c+(X(o|2,d)|0)|0;p=c+(X(o|3,d)|0)|0;s=a+(o*24|0)|0;r=0;do{t=s+(X(r,b)|0)|0;u=r|1;v=s+(X(u,b)|0)|0;w=r|2;x=s+(X(w,b)|0)|0;y=r|3;z=s+(X(y,b)|0)|0;A=n+(r*24|0)|0;f[A>>2]=f[t>>2];f[A+4>>2]=f[t+4>>2];f[A+8>>2]=f[t+8>>2];f[A+12>>2]=f[t+12>>2];f[A+16>>2]=f[t+16>>2];f[A+20>>2]=f[t+20>>2];A=n+(u*24|0)|0;f[A>>2]=f[v>>2];f[A+4>>2]=f[v+4>>2];f[A+8>>2]=f[v+8>>2];f[A+12>>2]=f[v+12>>2];f[A+16>>2]=f[v+16>>2];f[A+20>>2]=f[v+20>>2];A=n+(w*24|0)|0;f[A>>2]=f[x>>2];f[A+4>>2]=f[x+4>>2];f[A+8>>2]=f[x+8>>2];f[A+12>>2]=f[x+12>>2];f[A+16>>2]=f[x+16>>2];f[A+20>>2]=f[x+20>>2];A=n+(y*24|0)|0;f[A>>2]=f[z>>2];f[A+4>>2]=f[z+4>>2];f[A+8>>2]=f[z+8>>2];f[A+12>>2]=f[z+12>>2];f[A+16>>2]=f[z+16>>2];f[A+20>>2]=f[z+20>>2];A=t+24|0;B=m+(r*24|0)|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];f[B+8>>2]=f[A+8>>2];f[B+12>>2]=f[A+12>>2];f[B+16>>2]=f[A+16>>2];f[B+20>>2]=f[A+20>>2];A=v+24|0;B=m+(u*24|0)|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];f[B+8>>2]=f[A+8>>2];f[B+12>>2]=f[A+12>>2];f[B+16>>2]=f[A+16>>2];f[B+20>>2]=f[A+20>>2];A=x+24|0;B=m+(w*24|0)|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];f[B+8>>2]=f[A+8>>2];f[B+12>>2]=f[A+12>>2];f[B+16>>2]=f[A+16>>2];f[B+20>>2]=f[A+20>>2];A=z+24|0;B=m+(y*24|0)|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];f[B+8>>2]=f[A+8>>2];f[B+12>>2]=f[A+12>>2];f[B+16>>2]=f[A+16>>2];f[B+20>>2]=f[A+20>>2];A=t+48|0;B=l+(r*24|0)|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];f[B+8>>2]=f[A+8>>2];f[B+12>>2]=f[A+12>>2];f[B+16>>2]=f[A+16>>2];f[B+20>>2]=f[A+20>>2];A=v+48|0;B=l+(u*24|0)|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];f[B+8>>2]=f[A+8>>2];f[B+12>>2]=f[A+12>>2];f[B+16>>2]=f[A+16>>2];f[B+20>>2]=f[A+20>>2];A=x+48|0;B=l+(w*24|0)|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];f[B+8>>2]=f[A+8>>2];f[B+12>>2]=f[A+12>>2];f[B+16>>2]=f[A+16>>2];f[B+20>>2]=f[A+20>>2];A=z+48|0;B=l+(y*24|0)|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];f[B+8>>2]=f[A+8>>2];f[B+12>>2]=f[A+12>>2];f[B+16>>2]=f[A+16>>2];f[B+20>>2]=f[A+20>>2];A=t+72|0;t=p+(r*24|0)|0;f[t>>2]=f[A>>2];f[t+4>>2]=f[A+4>>2];f[t+8>>2]=f[A+8>>2];f[t+12>>2]=f[A+12>>2];f[t+16>>2]=f[A+16>>2];f[t+20>>2]=f[A+20>>2];A=v+72|0;v=p+(u*24|0)|0;f[v>>2]=f[A>>2];f[v+4>>2]=f[A+4>>2];f[v+8>>2]=f[A+8>>2];f[v+12>>2]=f[A+12>>2];f[v+16>>2]=f[A+16>>2];f[v+20>>2]=f[A+20>>2];A=x+72|0;x=p+(w*24|0)|0;f[x>>2]=f[A>>2];f[x+4>>2]=f[A+4>>2];f[x+8>>2]=f[A+8>>2];f[x+12>>2]=f[A+12>>2];f[x+16>>2]=f[A+16>>2];f[x+20>>2]=f[A+20>>2];A=z+72|0;z=p+(y*24|0)|0;f[z>>2]=f[A>>2];f[z+4>>2]=f[A+4>>2];f[z+8>>2]=f[A+8>>2];f[z+12>>2]=f[A+12>>2];f[z+16>>2]=f[A+16>>2];f[z+20>>2]=f[A+20>>2];r=r+4|0}while((r|0)<=(j|0));if(q){r=k;do{A=s+(X(r,b)|0)|0;z=n+(r*24|0)|0;f[z>>2]=f[A>>2];f[z+4>>2]=f[A+4>>2];f[z+8>>2]=f[A+8>>2];f[z+12>>2]=f[A+12>>2];f[z+16>>2]=f[A+16>>2];f[z+20>>2]=f[A+20>>2];z=A+24|0;y=m+(r*24|0)|0;f[y>>2]=f[z>>2];f[y+4>>2]=f[z+4>>2];f[y+8>>2]=f[z+8>>2];f[y+12>>2]=f[z+12>>2];f[y+16>>2]=f[z+16>>2];f[y+20>>2]=f[z+20>>2];z=A+48|0;y=l+(r*24|0)|0;f[y>>2]=f[z>>2];f[y+4>>2]=f[z+4>>2];f[y+8>>2]=f[z+8>>2];f[y+12>>2]=f[z+12>>2];f[y+16>>2]=f[z+16>>2];f[y+20>>2]=f[z+20>>2];z=A+72|0;A=p+(r*24|0)|0;f[A>>2]=f[z>>2];f[A+4>>2]=f[z+4>>2];f[A+8>>2]=f[z+8>>2];f[A+12>>2]=f[z+12>>2];f[A+16>>2]=f[z+16>>2];f[A+20>>2]=f[z+20>>2];r=r+1|0}while((r|0)!=(h|0))}o=o+4|0}while((o|0)<=(e|0));i=g&-4}while(0);if((i|0)>=(g|0))return;e=h+-4|0;if((h|0)<4){if((h|0)>0)C=i;else return;do{o=c+(X(C,d)|0)|0;k=a+(C*24|0)|0;q=0;do{j=k+(X(q,b)|0)|0;r=o+(q*24|0)|0;f[r>>2]=f[j>>2];f[r+4>>2]=f[j+4>>2];f[r+8>>2]=f[j+8>>2];f[r+12>>2]=f[j+12>>2];f[r+16>>2]=f[j+16>>2];f[r+20>>2]=f[j+20>>2];q=q+1|0}while((q|0)!=(h|0));C=C+1|0}while((C|0)!=(g|0));return}C=h&-4;if((C|0)<(h|0))D=i;else{q=i;do{i=c+(X(q,d)|0)|0;o=a+(q*24|0)|0;k=0;do{j=o+(X(k,b)|0)|0;r=k|1;p=o+(X(r,b)|0)|0;l=k|2;m=o+(X(l,b)|0)|0;n=k|3;s=o+(X(n,b)|0)|0;z=i+(k*24|0)|0;f[z>>2]=f[j>>2];f[z+4>>2]=f[j+4>>2];f[z+8>>2]=f[j+8>>2];f[z+12>>2]=f[j+12>>2];f[z+16>>2]=f[j+16>>2];f[z+20>>2]=f[j+20>>2];j=i+(r*24|0)|0;f[j>>2]=f[p>>2];f[j+4>>2]=f[p+4>>2];f[j+8>>2]=f[p+8>>2];f[j+12>>2]=f[p+12>>2];f[j+16>>2]=f[p+16>>2];f[j+20>>2]=f[p+20>>2];p=i+(l*24|0)|0;f[p>>2]=f[m>>2];f[p+4>>2]=f[m+4>>2];f[p+8>>2]=f[m+8>>2];f[p+12>>2]=f[m+12>>2];f[p+16>>2]=f[m+16>>2];f[p+20>>2]=f[m+20>>2];m=i+(n*24|0)|0;f[m>>2]=f[s>>2];f[m+4>>2]=f[s+4>>2];f[m+8>>2]=f[s+8>>2];f[m+12>>2]=f[s+12>>2];f[m+16>>2]=f[s+16>>2];f[m+20>>2]=f[s+20>>2];k=k+4|0}while((k|0)<=(e|0));q=q+1|0}while((q|0)!=(g|0));return}do{q=c+(X(D,d)|0)|0;k=a+(D*24|0)|0;i=0;do{o=k+(X(i,b)|0)|0;s=i|1;m=k+(X(s,b)|0)|0;n=i|2;p=k+(X(n,b)|0)|0;l=i|3;j=k+(X(l,b)|0)|0;r=q+(i*24|0)|0;f[r>>2]=f[o>>2];f[r+4>>2]=f[o+4>>2];f[r+8>>2]=f[o+8>>2];f[r+12>>2]=f[o+12>>2];f[r+16>>2]=f[o+16>>2];f[r+20>>2]=f[o+20>>2];o=q+(s*24|0)|0;f[o>>2]=f[m>>2];f[o+4>>2]=f[m+4>>2];f[o+8>>2]=f[m+8>>2];f[o+12>>2]=f[m+12>>2];f[o+16>>2]=f[m+16>>2];f[o+20>>2]=f[m+20>>2];m=q+(n*24|0)|0;f[m>>2]=f[p>>2];f[m+4>>2]=f[p+4>>2];f[m+8>>2]=f[p+8>>2];f[m+12>>2]=f[p+12>>2];f[m+16>>2]=f[p+16>>2];f[m+20>>2]=f[p+20>>2];p=q+(l*24|0)|0;f[p>>2]=f[j>>2];f[p+4>>2]=f[j+4>>2];f[p+8>>2]=f[j+8>>2];f[p+12>>2]=f[j+12>>2];f[p+16>>2]=f[j+16>>2];f[p+20>>2]=f[j+20>>2];i=i+4|0}while((i|0)<=(e|0));E=C;do{i=k+(X(E,b)|0)|0;j=q+(E*24|0)|0;f[j>>2]=f[i>>2];f[j+4>>2]=f[i+4>>2];f[j+8>>2]=f[i+8>>2];f[j+12>>2]=f[i+12>>2];f[j+16>>2]=f[i+16>>2];f[j+20>>2]=f[i+20>>2];E=E+1|0}while((E|0)!=(h|0));D=D+1|0}while((D|0)!=(g|0));return} +function Yfa(a){a=a|0;var b=0,c=0,d=0,e=0;b=a+56|0;c=a+92|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+72|0;b=a+60|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+96>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+100>>2]|0;if((b|0)!=(a+104|0))dX(b);b=a+36|0;d=f[b>>2]|0;if(d|0?(c=d+12|0,d=f[c>>2]|0,f[c>>2]=d+-1,(d|0)==1):0)XO(a);f[b>>2]=0;b=a+16|0;d=a+4|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[d>>2]|0)>0){b=f[a+40>>2]|0;c=0;do{f[b+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[d>>2]|0))}d=f[a+44>>2]|0;if((d|0)==(a+48|0))return;dX(d);return}function Zfa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=u;u=u+208|0;d=c+8|0;e=c;g=c+80|0;h=c+24|0;_fa(g,a,b,1);b=f[g+124>>2]|0;f[d>>2]=-2147483648;f[d+4>>2]=2147483647;f[e>>2]=0;f[e+4>>2]=b;YO(h,g,e,d);e=d+8|0;f[e>>2]=0;f[e+4>>2]=0;f[d>>2]=33619968;f[d+4>>2]=g+56;eM(h,d);d=h+36|0;e=f[d>>2]|0;if(e|0?(b=e+12|0,e=f[b>>2]|0,f[b>>2]=e+-1,(e|0)==1):0)XO(h);f[d>>2]=0;d=h+16|0;e=h+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[e>>2]|0)>0){d=f[h+40>>2]|0;b=0;do{f[d+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(f[e>>2]|0))}e=f[h+44>>2]|0;if((e|0)==(h+48|0)){$fa(g);u=c;return}dX(e);$fa(g);u=c;return}function _fa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;g=u;u=u+64|0;h=g+8|0;i=g;f[a>>2]=1124007936;j=a+4|0;k=a+8|0;l=a+40|0;m=j;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[l>>2]=k;o=a+48|0;p=a+44|0;f[p>>2]=o;f[o>>2]=0;f[a+52>>2]=0;o=a+56|0;f[o>>2]=1124007936;q=a+60|0;r=a+64|0;s=a+96|0;m=q;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[s>>2]=r;t=a+104|0;v=a+100|0;f[v>>2]=t;f[t>>2]=0;f[a+108>>2]=0;t=a+120|0;f[t>>2]=0;w=a+124|0;f[w>>2]=0;x=GJ(c,-1)|0;y=x>>>3&511;f[a+116>>2]=y+1;z=x&7;x=a+112|0;f[x>>2]=z;if(!((e|0)==1&(y|z|0)==0)){f[h>>2]=0;f[h+4>>2]=0;m=JV(h,69)|0;A=247788;n=m+69|0;do{b[m>>0]=b[A>>0]|0;m=m+1|0;A=A+1|0}while((m|0)<(n|0));EP(-215,h,247858,247995,253);KV(h)}z=c+4|0;y=d+4|0;if((f[z>>2]|0)!=(f[y>>2]|0)){do if((HJ(c)|0)==65536){B=f[z>>2]|0;f[h>>2]=f[B>>2];C=h+4|0;D=B+4|0;f[C>>2]=f[D>>2];E=h+8|0;f[E>>2]=f[B+8>>2];f[h+12>>2]=f[B+12>>2];f[h+16>>2]=f[B+16>>2];f[h+20>>2]=f[B+20>>2];f[h+24>>2]=f[B+24>>2];f[h+28>>2]=f[B+28>>2];f[h+32>>2]=f[B+32>>2];F=f[B+36>>2]|0;f[h+36>>2]=F;f[h+40>>2]=E;E=h+48|0;G=h+44|0;f[G>>2]=E;f[E>>2]=0;f[h+52>>2]=0;if(F|0){E=F+12|0;f[E>>2]=(f[E>>2]|0)+1}if((f[D>>2]|0)<3){D=f[B+44>>2]|0;E=f[G>>2]|0;f[E>>2]=f[D>>2];f[E+4>>2]=f[D+4>>2];break}else{f[C>>2]=0;WO(h,B);break}}else DJ(h,c,-1);while(0);z=h+36|0;B=f[z>>2]|0;if((a|0)==(h|0))H=B;else{if(B|0){C=B+12|0;f[C>>2]=(f[C>>2]|0)+1}C=a+36|0;B=f[C>>2]|0;if(B|0?(D=B+12|0,B=f[D>>2]|0,f[D>>2]=B+-1,(B|0)==1):0)XO(a);f[C>>2]=0;B=a+16|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;if((f[j>>2]|0)>0){D=f[l>>2]|0;E=0;do{f[D+(E<<2)>>2]=0;E=E+1|0;I=f[j>>2]|0}while((E|0)<(I|0));f[a>>2]=f[h>>2];if((I|0)<3)J=23;else J=25}else{f[a>>2]=f[h>>2];J=23}if((J|0)==23){I=f[h+4>>2]|0;if((I|0)<3){f[j>>2]=I;f[k>>2]=f[h+8>>2];f[a+12>>2]=f[h+12>>2];k=f[h+44>>2]|0;I=f[p>>2]|0;f[I>>2]=f[k>>2];f[I+4>>2]=f[k+4>>2]}else J=25}if((J|0)==25)WO(a,h);f[B>>2]=f[h+16>>2];f[a+20>>2]=f[h+20>>2];f[a+24>>2]=f[h+24>>2];f[a+28>>2]=f[h+28>>2];f[a+32>>2]=f[h+32>>2];B=f[z>>2]|0;f[C>>2]=B;H=B}if(H|0?(B=H+12|0,H=f[B>>2]|0,f[B>>2]=H+-1,(H|0)==1):0)XO(h);f[z>>2]=0;z=h+16|0;H=h+4|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;if((f[H>>2]|0)>0){z=f[h+40>>2]|0;B=0;do{f[z+(B<<2)>>2]=0;B=B+1|0}while((B|0)<(f[H>>2]|0))}H=f[h+44>>2]|0;if((H|0)!=(h+48|0))dX(H)}else{H=h+8|0;f[H>>2]=0;f[H+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=a;XJ(c,h)}c=f[l>>2]|0;l=f[c+4>>2]|0;H=f[c>>2]|0;if((H|0)%3|0|l&1|0){f[h>>2]=0;f[h+4>>2]=0;m=JV(h,39)|0;A=229275;n=m+39|0;do{b[m>>0]=b[A>>0]|0;m=m+1|0;A=A+1|0}while((m|0)<(n|0));EP(-215,h,247858,247995,267);KV(h)}A=(H<<1|0)/3|0;f[t>>2]=l;f[w>>2]=A;f[i>>2]=l;f[i+4>>2]=A;_J(d,i,f[x>>2]&7|(e<<3)+-8,-1,0,0);do if((HJ(d)|0)==65536){e=f[y>>2]|0;f[h>>2]=f[e>>2];x=h+4|0;i=e+4|0;f[x>>2]=f[i>>2];A=h+8|0;f[A>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];f[h+24>>2]=f[e+24>>2];f[h+28>>2]=f[e+28>>2];f[h+32>>2]=f[e+32>>2];l=f[e+36>>2]|0;f[h+36>>2]=l;f[h+40>>2]=A;A=h+48|0;w=h+44|0;f[w>>2]=A;f[A>>2]=0;f[h+52>>2]=0;if(l|0){A=l+12|0;f[A>>2]=(f[A>>2]|0)+1}if((f[i>>2]|0)<3){i=f[e+44>>2]|0;A=f[w>>2]|0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];break}else{f[x>>2]=0;WO(h,e);break}}else DJ(h,d,-1);while(0);d=h+36|0;y=f[d>>2]|0;if((o|0)==(h|0))K=y;else{if(y|0){e=y+12|0;f[e>>2]=(f[e>>2]|0)+1}e=a+92|0;y=f[e>>2]|0;if(y|0?(x=y+12|0,y=f[x>>2]|0,f[x>>2]=y+-1,(y|0)==1):0)XO(o);f[e>>2]=0;y=a+72|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;if((f[q>>2]|0)>0){x=f[s>>2]|0;s=0;do{f[x+(s<<2)>>2]=0;s=s+1|0;L=f[q>>2]|0}while((s|0)<(L|0));f[o>>2]=f[h>>2];if((L|0)<3)J=56;else J=58}else{f[o>>2]=f[h>>2];J=56}if((J|0)==56){L=f[h+4>>2]|0;if((L|0)<3){f[q>>2]=L;f[r>>2]=f[h+8>>2];f[a+68>>2]=f[h+12>>2];r=f[h+44>>2]|0;L=f[v>>2]|0;f[L>>2]=f[r>>2];f[L+4>>2]=f[r+4>>2]}else J=58}if((J|0)==58)WO(o,h);f[y>>2]=f[h+16>>2];f[a+76>>2]=f[h+20>>2];f[a+80>>2]=f[h+24>>2];f[a+84>>2]=f[h+28>>2];f[a+88>>2]=f[h+32>>2];a=f[d>>2]|0;f[e>>2]=a;K=a}if(K|0?(a=K+12|0,K=f[a>>2]|0,f[a>>2]=K+-1,(K|0)==1):0)XO(h);f[d>>2]=0;d=h+16|0;K=h+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[K>>2]|0)>0){d=f[h+40>>2]|0;a=0;do{f[d+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[K>>2]|0))}K=f[h+44>>2]|0;if((K|0)==(h+48|0)){u=g;return}dX(K);u=g;return}function $fa(a){a=a|0;var b=0,c=0,d=0,e=0;b=a+56|0;c=a+92|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+72|0;b=a+60|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+96>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+100>>2]|0;if((b|0)!=(a+104|0))dX(b);b=a+36|0;d=f[b>>2]|0;if(d|0?(c=d+12|0,d=f[c>>2]|0,f[c>>2]=d+-1,(d|0)==1):0)XO(a);f[b>>2]=0;b=a+16|0;d=a+4|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[d>>2]|0)>0){b=f[a+40>>2]|0;c=0;do{f[b+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[d>>2]|0))}d=f[a+44>>2]|0;if((d|0)==(a+48|0))return;dX(d);return}function aga(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=u;u=u+128|0;h=g;i=(c|0)<1?3:c;bga(h,a,b,i);dfa(f[h+16>>2]|0,f[h+48>>2]|0,f[h+72>>2]|0,f[h+104>>2]|0,f[h+68>>2]|0,f[h+64>>2]|0,i,d,e);cga(h);u=g;return}function bga(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;g=u;u=u+64|0;h=g+8|0;i=g;f[a>>2]=1124007936;j=a+4|0;k=a+8|0;l=a+40|0;m=j;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[l>>2]=k;o=a+48|0;p=a+44|0;f[p>>2]=o;f[o>>2]=0;f[a+52>>2]=0;o=a+56|0;f[o>>2]=1124007936;q=a+60|0;r=a+64|0;s=a+96|0;m=q;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[s>>2]=r;t=a+104|0;v=a+100|0;f[v>>2]=t;f[t>>2]=0;f[a+108>>2]=0;t=a+120|0;f[t>>2]=0;w=a+124|0;f[w>>2]=0;x=GJ(c,-1)|0;y=x>>>3&511;f[a+116>>2]=y+1;z=x&7;x=a+112|0;f[x>>2]=z;if(!((e+-3|0)>>>0<2&(y|z|0)==0)){f[h>>2]=0;f[h+4>>2]=0;m=JV(h,69)|0;A=247788;n=m+69|0;do{b[m>>0]=b[A>>0]|0;m=m+1|0;A=A+1|0}while((m|0)<(n|0));EP(-215,h,247858,247995,253);KV(h)}z=c+4|0;y=d+4|0;if((f[z>>2]|0)!=(f[y>>2]|0)){do if((HJ(c)|0)==65536){B=f[z>>2]|0;f[h>>2]=f[B>>2];C=h+4|0;D=B+4|0;f[C>>2]=f[D>>2];E=h+8|0;f[E>>2]=f[B+8>>2];f[h+12>>2]=f[B+12>>2];f[h+16>>2]=f[B+16>>2];f[h+20>>2]=f[B+20>>2];f[h+24>>2]=f[B+24>>2];f[h+28>>2]=f[B+28>>2];f[h+32>>2]=f[B+32>>2];F=f[B+36>>2]|0;f[h+36>>2]=F;f[h+40>>2]=E;E=h+48|0;G=h+44|0;f[G>>2]=E;f[E>>2]=0;f[h+52>>2]=0;if(F|0){E=F+12|0;f[E>>2]=(f[E>>2]|0)+1}if((f[D>>2]|0)<3){D=f[B+44>>2]|0;E=f[G>>2]|0;f[E>>2]=f[D>>2];f[E+4>>2]=f[D+4>>2];break}else{f[C>>2]=0;WO(h,B);break}}else DJ(h,c,-1);while(0);z=h+36|0;B=f[z>>2]|0;if((a|0)==(h|0))H=B;else{if(B|0){C=B+12|0;f[C>>2]=(f[C>>2]|0)+1}C=a+36|0;B=f[C>>2]|0;if(B|0?(D=B+12|0,B=f[D>>2]|0,f[D>>2]=B+-1,(B|0)==1):0)XO(a);f[C>>2]=0;B=a+16|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;if((f[j>>2]|0)>0){D=f[l>>2]|0;E=0;do{f[D+(E<<2)>>2]=0;E=E+1|0;I=f[j>>2]|0}while((E|0)<(I|0));f[a>>2]=f[h>>2];if((I|0)<3)J=23;else J=25}else{f[a>>2]=f[h>>2];J=23}if((J|0)==23){I=f[h+4>>2]|0;if((I|0)<3){f[j>>2]=I;f[k>>2]=f[h+8>>2];f[a+12>>2]=f[h+12>>2];k=f[h+44>>2]|0;I=f[p>>2]|0;f[I>>2]=f[k>>2];f[I+4>>2]=f[k+4>>2]}else J=25}if((J|0)==25)WO(a,h);f[B>>2]=f[h+16>>2];f[a+20>>2]=f[h+20>>2];f[a+24>>2]=f[h+24>>2];f[a+28>>2]=f[h+28>>2];f[a+32>>2]=f[h+32>>2];B=f[z>>2]|0;f[C>>2]=B;H=B}if(H|0?(B=H+12|0,H=f[B>>2]|0,f[B>>2]=H+-1,(H|0)==1):0)XO(h);f[z>>2]=0;z=h+16|0;H=h+4|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;if((f[H>>2]|0)>0){z=f[h+40>>2]|0;B=0;do{f[z+(B<<2)>>2]=0;B=B+1|0}while((B|0)<(f[H>>2]|0))}H=f[h+44>>2]|0;if((H|0)!=(h+48|0))dX(H)}else{H=h+8|0;f[H>>2]=0;f[H+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=a;XJ(c,h)}c=f[l>>2]|0;l=f[c+4>>2]|0;H=f[c>>2]|0;if((H|0)%3|0|l&1|0){f[h>>2]=0;f[h+4>>2]=0;m=JV(h,39)|0;A=229275;n=m+39|0;do{b[m>>0]=b[A>>0]|0;m=m+1|0;A=A+1|0}while((m|0)<(n|0));EP(-215,h,247858,247995,267);KV(h)}A=(H<<1|0)/3|0;f[t>>2]=l;f[w>>2]=A;f[i>>2]=l;f[i+4>>2]=A;_J(d,i,f[x>>2]&7|(e<<3)+-8,-1,0,0);do if((HJ(d)|0)==65536){e=f[y>>2]|0;f[h>>2]=f[e>>2];x=h+4|0;i=e+4|0;f[x>>2]=f[i>>2];A=h+8|0;f[A>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];f[h+24>>2]=f[e+24>>2];f[h+28>>2]=f[e+28>>2];f[h+32>>2]=f[e+32>>2];l=f[e+36>>2]|0;f[h+36>>2]=l;f[h+40>>2]=A;A=h+48|0;w=h+44|0;f[w>>2]=A;f[A>>2]=0;f[h+52>>2]=0;if(l|0){A=l+12|0;f[A>>2]=(f[A>>2]|0)+1}if((f[i>>2]|0)<3){i=f[e+44>>2]|0;A=f[w>>2]|0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];break}else{f[x>>2]=0;WO(h,e);break}}else DJ(h,d,-1);while(0);d=h+36|0;y=f[d>>2]|0;if((o|0)==(h|0))K=y;else{if(y|0){e=y+12|0;f[e>>2]=(f[e>>2]|0)+1}e=a+92|0;y=f[e>>2]|0;if(y|0?(x=y+12|0,y=f[x>>2]|0,f[x>>2]=y+-1,(y|0)==1):0)XO(o);f[e>>2]=0;y=a+72|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;if((f[q>>2]|0)>0){x=f[s>>2]|0;s=0;do{f[x+(s<<2)>>2]=0;s=s+1|0;L=f[q>>2]|0}while((s|0)<(L|0));f[o>>2]=f[h>>2];if((L|0)<3)J=56;else J=58}else{f[o>>2]=f[h>>2];J=56}if((J|0)==56){L=f[h+4>>2]|0;if((L|0)<3){f[q>>2]=L;f[r>>2]=f[h+8>>2];f[a+68>>2]=f[h+12>>2];r=f[h+44>>2]|0;L=f[v>>2]|0;f[L>>2]=f[r>>2];f[L+4>>2]=f[r+4>>2]}else J=58}if((J|0)==58)WO(o,h);f[y>>2]=f[h+16>>2];f[a+76>>2]=f[h+20>>2];f[a+80>>2]=f[h+24>>2];f[a+84>>2]=f[h+28>>2];f[a+88>>2]=f[h+32>>2];a=f[d>>2]|0;f[e>>2]=a;K=a}if(K|0?(a=K+12|0,K=f[a>>2]|0,f[a>>2]=K+-1,(K|0)==1):0)XO(h);f[d>>2]=0;d=h+16|0;K=h+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[K>>2]|0)>0){d=f[h+40>>2]|0;a=0;do{f[d+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[K>>2]|0))}K=f[h+44>>2]|0;if((K|0)==(h+48|0)){u=g;return}dX(K);u=g;return}function cga(a){a=a|0;var b=0,c=0,d=0,e=0;b=a+56|0;c=a+92|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+72|0;b=a+60|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+96>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+100>>2]|0;if((b|0)!=(a+104|0))dX(b);b=a+36|0;d=f[b>>2]|0;if(d|0?(c=d+12|0,d=f[c>>2]|0,f[c>>2]=d+-1,(d|0)==1):0)XO(a);f[b>>2]=0;b=a+16|0;d=a+4|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[d>>2]|0)>0){b=f[a+40>>2]|0;c=0;do{f[b+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[d>>2]|0))}d=f[a+44>>2]|0;if((d|0)==(a+48|0))return;dX(d);return}function dga(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=u;u=u+144|0;h=g+128|0;i=g;j=(c|0)<1?3:c;bga(i,a,b,j);b=f[i+16>>2]|0;a=f[i+48>>2]|0;c=f[i+72>>2]|0;k=f[i+104>>2]|0;l=f[i+68>>2]|0;m=f[i+64>>2]|0;yV(h,57384);Oea(b,b+(X(m,a)|0)|0,a,c,k,l,m,j,d,e);if(!(f[h+4>>2]|0)){cga(i);u=g;return}cga(i);u=g;return}function ega(){var a=0;if(((((fga(1,0)|0)!=0?(fga(1,1)|0)!=0:0)?(fga(2,0)|0)!=0:0)?(fga(2,1)|0)!=0:0)?(fga(4,0)|0)!=0:0)a=(fga(4,1)|0)!=0&1;else a=0;b[1075306]=a;return}function fga(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0;e=u;u=u+1072|0;g=e+1064|0;h=e;switch(a|0){case 1:{i=787516;k=976216;l=2;break}case 2:{i=459836;k=812376;l=4;break}case 4:{i=525372;k=845144;l=8;break}default:{f[g>>2]=0;f[g+4>>2]=0;m=JV(g,38)|0;o=229315;p=m+38|0;do{b[m>>0]=b[o>>0]|0;m=m+1|0;o=o+1|0}while((m|0)<(p|0));EP(-5,g,229354,229369,224);KV(g);i=0;k=0;l=0}}q=1075307+a|0;if(b[q>>0]|0){r=i;s=k;t=c?s:r;u=e;return t|0}v=h+8|0;f[h>>2]=v;w=h+4|0;f[w>>2]=256;switch(a|0){case 1:{n[v>>2]=1.0;n[h+12>>2]=0.0;n[h+16>>2]=.96875;n[h+20>>2]=.03125;n[h+24>>2]=.9375;n[h+28>>2]=.0625;n[h+32>>2]=.90625;n[h+36>>2]=.09375;n[h+40>>2]=.875;n[h+44>>2]=.125;n[h+48>>2]=.84375;n[h+52>>2]=.15625;n[h+56>>2]=.8125;n[h+60>>2]=.1875;n[h+64>>2]=.78125;n[h+68>>2]=.21875;n[h+72>>2]=.75;n[h+76>>2]=.25;n[h+80>>2]=.71875;n[h+84>>2]=.28125;n[h+88>>2]=.6875;n[h+92>>2]=.3125;n[h+96>>2]=.65625;n[h+100>>2]=.34375;n[h+104>>2]=.625;n[h+108>>2]=.375;n[h+112>>2]=.59375;n[h+116>>2]=.40625;n[h+120>>2]=.5625;n[h+124>>2]=.4375;n[h+128>>2]=.53125;n[h+132>>2]=.46875;n[h+136>>2]=.5;n[h+140>>2]=.5;n[h+144>>2]=.46875;n[h+148>>2]=.53125;n[h+152>>2]=.4375;n[h+156>>2]=.5625;n[h+160>>2]=.40625;n[h+164>>2]=.59375;n[h+168>>2]=.375;n[h+172>>2]=.625;n[h+176>>2]=.34375;n[h+180>>2]=.65625;n[h+184>>2]=.3125;n[h+188>>2]=.6875;n[h+192>>2]=.28125;n[h+196>>2]=.71875;n[h+200>>2]=.25;n[h+204>>2]=.75;n[h+208>>2]=.21875;n[h+212>>2]=.78125;n[h+216>>2]=.1875;n[h+220>>2]=.8125;n[h+224>>2]=.15625;n[h+228>>2]=.84375;n[h+232>>2]=.125;n[h+236>>2]=.875;n[h+240>>2]=.09375;n[h+244>>2]=.90625;n[h+248>>2]=.0625;n[h+252>>2]=.9375;n[h+256>>2]=.03125;n[h+260>>2]=.96875;break}case 2:{a=0;x=v;while(1){y=+(a|0)*.03125;z=y+1.0;A=z*(z*(3.75-z*.75)+-6.0)+3.0;n[x>>2]=A;z=y*(y*(y*1.25+-2.25))+1.0;n[x+4>>2]=z;B=1.0-y;y=B*(B*(B*1.25+-2.25))+1.0;n[x+8>>2]=y;n[x+12>>2]=1.0-A-z-y;a=a+1|0;if((a|0)==32)break;else x=x+16|0}break}case 4:{x=0;a=v;while(1){y=+(x|0)*.03125;if(y<1.1920928955078125e-07){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[a+24>>2]=0;f[a+28>>2]=0;C=1.0}else{z=y+3.0;y=-z*3.141592653589793*.25;A=+O(+y);B=+N(+y);D=B*0.0;E=(A+D)/(y*y);y=-(z+-1.0)*3.141592653589793*.25;F=A*-.7071067811865476;G=B*-.7071067811865476;H=(F+G)/(y*y);y=-(z+-2.0)*3.141592653589793*.25;I=A*0.0;J=(I+B)/(y*y);y=-(z+-3.0)*3.141592653589793*.25;K=A*.7071067811865476;L=(K+G)/(y*y);y=-(z+-4.0)*3.141592653589793*.25;G=(D-A)/(y*y);y=-(z+-5.0)*3.141592653589793*.25;A=B*.7071067811865476;D=(K+A)/(y*y);y=-(z+-6.0)*3.141592653589793*.25;K=(I-B)/(y*y);y=-(z+-7.0)*3.141592653589793*.25;z=(F+A)/(y*y);y=1.0/(E+0.0+H+J+L+G+D+K+z);n[a>>2]=y*E;n[a+4>>2]=y*H;n[a+8>>2]=y*J;n[a+16>>2]=y*G;n[a+20>>2]=y*D;n[a+24>>2]=y*K;n[a+28>>2]=y*z;C=y*L}n[a+12>>2]=C;x=x+1|0;if((x|0)==32)break;else a=a+32|0}break}default:{f[g>>2]=0;f[g+4>>2]=0;m=JV(g,28)|0;o=229428;p=m+28|0;do{b[m>>0]=b[o>>0]|0;m=m+1|0;o=o+1|0}while((m|0)<(p|0));EP(-5,g,229457,229369,207);KV(g)}}g=(l|0)==0;o=f[h>>2]|0;m=X(l,l)|0;p=l>>>1;a=m<<5;x=m<<10;M=i+(x<<2)|0;P=X(p,l)|0;Q=p+P|0;R=p+1|0;S=R+P|0;T=X(R,l)|0;U=p+T|0;V=R+T|0;T=0;W=i;i=k;while(1){Y=T<<5;Z=(T|0)<16&1;_=X(T,l)|0;$=0;aa=W;W=W+(a<<2)|0;ba=i;while(1){ca=$+Y|0;b[1075315+(ca<<1)>>0]=($|0)<16&1;b[1075315+(ca<<1)+1>>0]=Z;if(!g){ca=X($,l)|0;da=0;ea=0;while(1){C=+n[o+(ea+_<<2)>>2];fa=X(ea,l)|0;ga=0;ha=da;do{L=C*+n[o+(ga+ca<<2)>>2];ia=ga+fa|0;n[aa+(ia<<2)>>2]=L;ja=HEa(L*32768.0)|0;ka=(ja+32768|0)>>>0<65536?ja:(ja|0)>0?32767:32768;d[ba+(ia<<1)>>1]=ka;ha=(ka<<16>>16)+ha|0;ga=ga+1|0}while((ga|0)<(l|0));ea=ea+1|0;if((ea|0)>=(l|0))break;else da=ha}if((ha|0)!=32768){la=ha;ma=34}}else{la=0;ma=34}if((ma|0)==34){ma=0;da=d[ba+(Q<<1)>>1]|0;ea=d[ba+(S<<1)>>1]|0;ca=ea<<16>>16>16;ga=ca?p:ea<<16>>16>da<<16>>16?R:p;da=ca?R:p;ca=d[ba+(U<<1)>>1]|0;if(ca<<16>>16<(d[ba+(P+da<<1)>>1]|0)){na=p;oa=R;pa=ga;qa=p}else{ea=ca<<16>>16>(d[ba+(P+ga<<1)>>1]|0);na=da;oa=p;pa=ea?p:ga;qa=ea?R:p}ea=d[ba+(V<<1)>>1]|0;ga=ba+((X(oa,l)|0)+na<<1)|0;if(ea<<16>>16<(d[ga>>1]|0)){ra=R;sa=R;ta=pa;ua=qa}else{ga=ba+((X(qa,l)|0)+pa<<1)|0;da=ea<<16>>16>(d[ga>>1]|0);ra=na;sa=oa;ta=da?R:pa;ua=da?R:qa}if((la|0)<32768){da=(X(ua,l)|0)+ta|0;va=d[ba+(da<<1)>>1]|0;wa=da}else{da=(X(sa,l)|0)+ra|0;va=j[ba+(da<<1)>>1]|0;wa=da}d[ba+(wa<<1)>>1]=32768-la+va}$=$+1|0;if(($|0)==32)break;else{aa=aa+(m<<2)|0;ba=ba+(m<<1)|0}}T=T+1|0;if((T|0)==32)break;else i=i+(a<<1)|0}a=X(X(l,-1024)|0,l)|0;l=M+(a<<2)|0;M=k+(x<<1)+(a<<1)|0;b[q>>0]=1;q=f[h>>2]|0;if((q|0)!=(v|0)){if(q|0)HQa(q);f[h>>2]=v;f[w>>2]=264}r=l;s=M;t=c?s:r;u=e;return t|0}function gga(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;j=u;u=u+384|0;k=j;l=j+368|0;m=j+360|0;n=j+304|0;o=j+240|0;q=j+184|0;r=j+296|0;s=j+128|0;t=j+72|0;yV(l,57984);FJ(m,d,-1);if((X(f[m+4>>2]|0,f[m>>2]|0)|0)<=0){f[k>>2]=0;f[k+4>>2]=0;v=JV(k,23)|0;w=229472;x=v+23|0;do{b[v>>0]=b[w>>0]|0;v=v+1|0;w=w+1|0}while((v|0)<(x|0));EP(-215,k,229496,229369,1728);KV(k)}if(!(VJ(e)|0)?(FJ(k,e,-1),FJ(n,d,-1),!((f[k>>2]|0)==(f[n>>2]|0)?(f[k+4>>2]|0)==(f[n+4>>2]|0):0)):0){f[k>>2]=0;f[k+4>>2]=0;v=JV(k,47)|0;w=229502;x=v+47|0;do{b[v>>0]=b[w>>0]|0;v=v+1|0;w=w+1|0}while((v|0)<(x|0));EP(-215,k,229496,229369,1729);KV(k)}do if((HJ(a)|0)==65536){m=f[a+4>>2]|0;f[n>>2]=f[m>>2];y=n+4|0;z=m+4|0;f[y>>2]=f[z>>2];A=n+8|0;f[A>>2]=f[m+8>>2];f[n+12>>2]=f[m+12>>2];f[n+16>>2]=f[m+16>>2];f[n+20>>2]=f[m+20>>2];f[n+24>>2]=f[m+24>>2];f[n+28>>2]=f[m+28>>2];f[n+32>>2]=f[m+32>>2];B=f[m+36>>2]|0;f[n+36>>2]=B;f[n+40>>2]=A;A=n+48|0;C=n+44|0;f[C>>2]=A;f[A>>2]=0;f[n+52>>2]=0;if(B|0){A=B+12|0;f[A>>2]=(f[A>>2]|0)+1}if((f[z>>2]|0)<3){z=f[m+44>>2]|0;A=f[C>>2]|0;f[A>>2]=f[z>>2];f[A+4>>2]=f[z+4>>2];break}else{f[y>>2]=0;WO(n,m);break}}else DJ(n,a,-1);while(0);do if((HJ(d)|0)==65536){m=f[d+4>>2]|0;f[o>>2]=f[m>>2];y=o+4|0;z=m+4|0;f[y>>2]=f[z>>2];A=o+8|0;f[A>>2]=f[m+8>>2];f[o+12>>2]=f[m+12>>2];f[o+16>>2]=f[m+16>>2];f[o+20>>2]=f[m+20>>2];f[o+24>>2]=f[m+24>>2];f[o+28>>2]=f[m+28>>2];f[o+32>>2]=f[m+32>>2];C=f[m+36>>2]|0;f[o+36>>2]=C;f[o+40>>2]=A;A=o+48|0;B=o+44|0;f[B>>2]=A;f[A>>2]=0;f[o+52>>2]=0;if(C|0){A=C+12|0;f[A>>2]=(f[A>>2]|0)+1}if((f[z>>2]|0)<3){z=f[m+44>>2]|0;A=f[B>>2]|0;f[A>>2]=f[z>>2];f[A+4>>2]=f[z+4>>2];break}else{f[y>>2]=0;WO(o,m);break}}else DJ(o,d,-1);while(0);do if((HJ(e)|0)==65536){d=f[e+4>>2]|0;f[q>>2]=f[d>>2];m=q+4|0;y=d+4|0;f[m>>2]=f[y>>2];z=q+8|0;f[z>>2]=f[d+8>>2];f[q+12>>2]=f[d+12>>2];f[q+16>>2]=f[d+16>>2];f[q+20>>2]=f[d+20>>2];f[q+24>>2]=f[d+24>>2];f[q+28>>2]=f[d+28>>2];f[q+32>>2]=f[d+32>>2];A=f[d+36>>2]|0;f[q+36>>2]=A;f[q+40>>2]=z;z=q+48|0;B=q+44|0;f[B>>2]=z;f[z>>2]=0;f[q+52>>2]=0;if(A|0){z=A+12|0;f[z>>2]=(f[z>>2]|0)+1}if((f[y>>2]|0)<3){y=f[d+44>>2]|0;z=f[B>>2]|0;f[z>>2]=f[y>>2];f[z+4>>2]=f[y+4>>2];break}else{f[m>>2]=0;WO(q,d);break}}else DJ(q,e,-1);while(0);e=o+40|0;d=f[e>>2]|0;m=f[d>>2]|0;f[r>>2]=f[d+4>>2];f[r+4>>2]=m;_J(c,r,f[n>>2]&4095,-1,0,0);do if((HJ(c)|0)==65536){r=f[c+4>>2]|0;f[s>>2]=f[r>>2];m=s+4|0;d=r+4|0;f[m>>2]=f[d>>2];y=s+8|0;f[y>>2]=f[r+8>>2];z=s+12|0;f[z>>2]=f[r+12>>2];f[s+16>>2]=f[r+16>>2];f[s+20>>2]=f[r+20>>2];f[s+24>>2]=f[r+24>>2];f[s+28>>2]=f[r+28>>2];f[s+32>>2]=f[r+32>>2];B=f[r+36>>2]|0;f[s+36>>2]=B;f[s+40>>2]=y;y=s+48|0;A=s+44|0;f[A>>2]=y;f[y>>2]=0;f[s+52>>2]=0;if(B|0){y=B+12|0;f[y>>2]=(f[y>>2]|0)+1}if((f[d>>2]|0)<3){d=f[r+44>>2]|0;y=f[A>>2]|0;f[y>>2]=f[d>>2];f[y+4>>2]=f[d+4>>2];D=z;break}else{f[m>>2]=0;WO(s,r);D=z;break}}else{DJ(s,c,-1);D=s+12|0}while(0);if(!((((f[D>>2]|0)<32767?(f[s+8>>2]|0)<32767:0)?(f[n+12>>2]|0)<32767:0)?(f[n+8>>2]|0)<32767:0)){f[k>>2]=0;f[k+4>>2]=0;v=JV(k,80)|0;w=229550;x=v+80|0;do{b[v>>0]=b[w>>0]|0;v=v+1|0;w=w+1|0}while((v|0)<(x|0));EP(-215,k,229496,229369,1749);KV(k)}c=s+16|0;z=n+16|0;if((f[c>>2]|0)==(f[z>>2]|0)){f[t>>2]=1124007936;r=t+4|0;m=t+8|0;d=t+40|0;v=r;x=v+36|0;do{f[v>>2]=0;v=v+4|0}while((v|0)<(x|0));f[d>>2]=m;y=t+48|0;A=t+44|0;f[A>>2]=y;f[y>>2]=0;f[t+52>>2]=0;B=k+8|0;f[B>>2]=0;f[B+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=t;eM(n,k);B=t+36|0;C=f[B>>2]|0;if(C|0){E=C+12|0;f[E>>2]=(f[E>>2]|0)+1}E=n+36|0;C=f[E>>2]|0;if(C|0?(F=C+12|0,C=f[F>>2]|0,f[F>>2]=C+-1,(C|0)==1):0)XO(n);f[E>>2]=0;C=n+4|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;if((f[C>>2]|0)>0){F=f[n+40>>2]|0;G=0;do{f[F+(G<<2)>>2]=0;G=G+1|0;H=f[C>>2]|0}while((G|0)<(H|0));f[n>>2]=f[t>>2];if((H|0)<3)I=50;else I=52}else{f[n>>2]=f[t>>2];I=50}if((I|0)==50){H=f[r>>2]|0;if((H|0)<3){f[C>>2]=H;f[n+8>>2]=f[m>>2];f[n+12>>2]=f[t+12>>2];m=f[A>>2]|0;H=f[n+44>>2]|0;f[H>>2]=f[m>>2];f[H+4>>2]=f[m+4>>2]}else I=52}if((I|0)==52)WO(n,t);m=t+16|0;f[z>>2]=f[m>>2];f[n+20>>2]=f[t+20>>2];f[n+24>>2]=f[t+24>>2];f[n+28>>2]=f[t+28>>2];f[n+32>>2]=f[t+32>>2];H=f[B>>2]|0;f[E>>2]=H;if(H|0?(E=H+12|0,H=f[E>>2]|0,f[E>>2]=H+-1,(H|0)==1):0)XO(t);f[B>>2]=0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;if((f[r>>2]|0)>0){m=f[d>>2]|0;d=0;do{f[m+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[r>>2]|0))}r=f[A>>2]|0;if((r|0)!=(y|0))dX(r)}r=(g|0)==3?1:g;g=f[n>>2]&7;y=(g|0)==0;switch(r|0){case 0:{A=f[58004+(g<<2)>>2]|0;if((g|0)==7){f[k>>2]=0;f[k+4>>2]=0;v=JV(k,11)|0;w=229631;x=v+11|0;do{b[v>>0]=b[w>>0]|0;v=v+1|0;w=w+1|0}while((v|0)<(x|0));EP(-215,k,229496,229369,1809);KV(k);J=0;K=A;L=0}else{J=0;K=A;L=0}break}case 1:{M=f[58036+(g<<2)>>2]|0;I=71;break}case 2:{A=f[58068+(g<<2)>>2]|0;if((UJ(a,-1)|0)<5){M=A;I=71}else{f[k>>2]=0;f[k+4>>2]=0;v=JV(k,20)|0;w=229643;x=v+20|0;do{b[v>>0]=b[w>>0]|0;v=v+1|0;w=w+1|0}while((v|0)<(x|0));EP(-215,k,229496,229369,1817);KV(k);M=A;I=71}break}case 4:{A=f[58100+(g<<2)>>2]|0;if((UJ(a,-1)|0)<5){M=A;I=71}else{f[k>>2]=0;f[k+4>>2]=0;v=JV(k,20)|0;w=229643;x=v+20|0;do{b[v>>0]=b[w>>0]|0;v=v+1|0;w=w+1|0}while((v|0)<(x|0));EP(-215,k,229496,229369,1821);KV(k);M=A;I=71}break}default:{f[k>>2]=0;f[k+4>>2]=0;v=JV(k,28)|0;w=229428;x=v+28|0;do{b[v>>0]=b[w>>0]|0;v=v+1|0;w=w+1|0}while((v|0)<(x|0));EP(-5,k,229496,229369,1824);KV(k);I=72}}if((I|0)==71)if(!M)I=72;else{N=M;I=73}if((I|0)==72){f[k>>2]=0;f[k+4>>2]=0;v=JV(k,10)|0;w=229664;x=v+10|0;do{b[v>>0]=b[w>>0]|0;v=v+1|0;w=w+1|0}while((v|0)<(x|0));EP(-215,k,229496,229369,1825);KV(k);N=0;I=73}if((I|0)==73){J=fga(r,y)|0;K=0;L=N}N=o;y=q;r=f[o>>2]|0;w=r&4095;v=(w|0)==11;x=f[q>>2]|0;if(v)if((x&4094|0)!=2?(f[q+16>>2]|0)!=0:0){M=f[q+4>>2]|0;if((M|0)<3)O=X(f[q+12>>2]|0,f[q+8>>2]|0)|0;else{A=f[q+40>>2]|0;a=0;g=1;while(1){d=X(f[A+(a<<2)>>2]|0,g)|0;a=a+1|0;if((a|0)==(M|0)){O=d;break}else g=d}}if(!((M|0)==0|(O|0)==0))I=82;else I=90}else I=90;else I=82;do if((I|0)==82){O=x&4095;if((O|0)==11){if((r&4094|0)==2){I=90;break}if(!(f[o+16>>2]|0)){I=90;break}M=f[o+4>>2]|0;if((M|0)<3)P=X(f[o+12>>2]|0,f[o+8>>2]|0)|0;else{g=f[e>>2]|0;a=0;A=1;while(1){d=X(f[g+(a<<2)>>2]|0,A)|0;a=a+1|0;if((a|0)==(M|0)){P=d;break}else A=d}}if((M|0)==0|(P|0)==0){I=90;break}}switch(r&4095){case 11:case 13:{if(f[q+16>>2]|0){A=f[q+4>>2]|0;if((A|0)<3)Q=X(f[q+12>>2]|0,f[q+8>>2]|0)|0;else{a=f[q+40>>2]|0;g=0;d=1;while(1){m=X(f[a+(g<<2)>>2]|0,d)|0;g=g+1|0;if((g|0)==(A|0)){Q=m;break}else d=m}}if(!((A|0)==0|(Q|0)==0))I=98;else R=r}else R=r;break}default:I=98}if((I|0)==98)if((w|0)==5&(O|0)==5)R=r;else{f[k>>2]=0;f[k+4>>2]=0;DVa(JV(k,258)|0,229675,258)|0;EP(-215,k,229496,229369,1840);KV(k);R=f[o>>2]|0}S=(R&4088|0)==0&1;T=y;U=N}while(0);if((I|0)==90){S=0;T=v?y:N;U=v?N:y}f[k>>2]=58140;f[k+4>>2]=n;f[k+8>>2]=s;f[k+12>>2]=U;f[k+16>>2]=T;f[k+20>>2]=h;p[k+24>>3]=+p[i>>3];p[k+32>>3]=+p[i+8>>3];p[k+40>>3]=+p[i+16>>3];p[k+48>>3]=+p[i+24>>3];f[k+56>>2]=S;f[k+60>>2]=K;f[k+64>>2]=L;f[k+68>>2]=J;J=f[s+8>>2]|0;f[t>>2]=0;f[t+4>>2]=J;L=s+4|0;K=f[L>>2]|0;if((K|0)<3)V=X(f[D>>2]|0,J)|0;else{J=f[s+40>>2]|0;D=0;S=1;while(1){i=X(f[J+(D<<2)>>2]|0,S)|0;D=D+1|0;if((D|0)==(K|0)){V=i;break}else S=i}}$Z(t,k,+(V>>>0)*.0000152587890625);V=s+36|0;k=f[V>>2]|0;if(k|0?(t=k+12|0,k=f[t>>2]|0,f[t>>2]=k+-1,(k|0)==1):0)XO(s);f[V>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[L>>2]|0)>0){c=f[s+40>>2]|0;V=0;do{f[c+(V<<2)>>2]=0;V=V+1|0}while((V|0)<(f[L>>2]|0))}L=f[s+44>>2]|0;if((L|0)!=(s+48|0))dX(L);L=q+36|0;s=f[L>>2]|0;if(s|0?(V=s+12|0,s=f[V>>2]|0,f[V>>2]=s+-1,(s|0)==1):0)XO(q);f[L>>2]=0;L=q+16|0;s=q+4|0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;if((f[s>>2]|0)>0){L=f[q+40>>2]|0;V=0;do{f[L+(V<<2)>>2]=0;V=V+1|0}while((V|0)<(f[s>>2]|0))}s=f[q+44>>2]|0;if((s|0)!=(q+48|0))dX(s);s=o+36|0;q=f[s>>2]|0;if(q|0?(V=q+12|0,q=f[V>>2]|0,f[V>>2]=q+-1,(q|0)==1):0)XO(o);f[s>>2]=0;s=o+16|0;q=o+4|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if((f[q>>2]|0)>0){s=f[e>>2]|0;e=0;do{f[s+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(f[q>>2]|0))}q=f[o+44>>2]|0;if((q|0)!=(o+48|0))dX(q);q=n+36|0;o=f[q>>2]|0;do if(o|0){e=o+12|0;s=f[e>>2]|0;f[e>>2]=s+-1;if((s|0)!=1)break;XO(n)}while(0);f[q>>2]=0;q=n+4|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;if((f[q>>2]|0)>0){z=f[n+40>>2]|0;o=0;do{f[z+(o<<2)>>2]=0;o=o+1|0}while((o|0)<(f[q>>2]|0))}q=f[n+44>>2]|0;if((q|0)!=(n+48|0))dX(q);if(!(f[l+4>>2]|0)){u=j;return}u=j;return}function hga(a){a=a|0;GQa(a);return}function iga(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0;c=u;u=u+416|0;e=c+352|0;g=c+296|0;i=c+240|0;k=c+184|0;l=c+72|0;m=c+16|0;o=c+128|0;p=c;q=a+8|0;r=f[q>>2]|0;s=f[r+8>>2]|0;t=a+12|0;v=f[f[t>>2]>>2]&7;w=16384/(((s|0)<128?s:128)|0)|0;x=f[r+12>>2]|0;r=(x|0)<(w|0)?x:w;w=16384/(r|0)|0;x=(s|0)<(w|0)?s:w;f[g>>2]=1124007936;w=g+4|0;s=g+8|0;y=g+40|0;z=w;A=z+36|0;do{f[z>>2]=0;z=z+4|0}while((z|0)<(A|0));f[y>>2]=s;s=g+48|0;B=g+44|0;f[B>>2]=s;f[s>>2]=0;f[g+52>>2]=0;f[e>>2]=x;C=e+4|0;f[C>>2]=r;VO(g,2,e,11);f[i>>2]=1124007936;D=i+4|0;E=i+8|0;F=i+40|0;z=D;A=z+36|0;do{f[z>>2]=0;z=z+4|0}while((z|0)<(A|0));f[F>>2]=E;E=i+48|0;z=i+44|0;f[z>>2]=E;f[E>>2]=0;f[i+52>>2]=0;A=a+60|0;if(!(f[A>>2]|0)){f[e>>2]=x;f[C>>2]=r;VO(i,2,e,2)}C=f[b>>2]|0;G=b+4|0;if((C|0)<(f[G>>2]|0)){b=k+4|0;H=k+8|0;I=k+12|0;J=l+4|0;K=l+8|0;L=l+12|0;M=m+4|0;N=m+8|0;O=m+12|0;P=a+64|0;Q=a+4|0;R=a+68|0;S=a+20|0;T=a+24|0;U=l+36|0;V=l+16|0;W=l+4|0;Y=l+40|0;Z=l+44|0;_=l+48|0;$=k+16|0;aa=k+44|0;ba=a+16|0;ca=p+4|0;da=p+8|0;ea=p+12|0;fa=m+36|0;ga=k+36|0;ha=k+4|0;ia=k+40|0;ja=m+4|0;ka=m+8|0;la=k+8|0;ma=m+12|0;na=k+12|0;oa=m+44|0;pa=m+16|0;qa=m+20|0;ra=k+20|0;sa=m+24|0;ta=k+24|0;ua=m+28|0;va=k+28|0;wa=m+32|0;xa=k+32|0;ya=m+40|0;za=m+48|0;Aa=a+56|0;a=k+48|0;Ba=e+36|0;Ca=e+16|0;Da=e+4|0;Ea=e+40|0;Fa=e+44|0;Ga=e+48|0;Ha=m+4|0;Ia=m+8|0;Ja=m+12|0;Ka=l+36|0;La=l+4|0;Ma=l+8|0;Na=l+12|0;Oa=l+44|0;Pa=l+16|0;Qa=l+20|0;Ra=l+24|0;Sa=l+28|0;Ta=l+32|0;Ua=l+40|0;Va=l+48|0;Wa=(v|0)==5;v=l+4|0;Xa=l+8|0;Ya=l+12|0;Za=m+8|0;_a=m+4|0;$a=o+36|0;ab=o+16|0;bb=o+4|0;cb=o+40|0;db=o+44|0;eb=o+48|0;fb=C;C=f[q>>2]|0;while(1){gb=f[C+12>>2]|0;if((gb|0)>0){hb=0;ib=gb;gb=C;while(1){jb=(f[G>>2]|0)-fb|0;kb=(jb|0)<(x|0)?jb:x;jb=ib-hb|0;lb=(jb|0)<(r|0)?jb:r;f[k>>2]=hb;f[b>>2]=fb;f[H>>2]=lb;f[I>>2]=kb;$O(e,gb,k);f[l>>2]=0;f[J>>2]=0;f[K>>2]=lb;f[L>>2]=kb;$O(k,g,l);if(!(f[A>>2]|0)){f[m>>2]=0;f[M>>2]=0;f[N>>2]=lb;f[O>>2]=kb;$O(l,i,m);if((kb|0)>0){jb=(lb|0)>0;mb=hb<<1;nb=0;do{ob=(f[$>>2]|0)+(X(f[f[aa>>2]>>2]|0,nb)|0)|0;pb=(f[V>>2]|0)+(X(f[f[Z>>2]>>2]|0,nb)|0)|0;qb=f[t>>2]|0;do if((f[qb>>2]&4095|0)==11?(f[f[ba>>2]>>2]&4094|0)==2:0){f[p>>2]=hb;f[ca>>2]=fb;f[da>>2]=lb;f[ea>>2]=kb;$O(m,qb,p);rb=f[fa>>2]|0;if(rb|0){sb=rb+12|0;f[sb>>2]=(f[sb>>2]|0)+1}sb=f[ga>>2]|0;if(sb|0?(rb=sb+12|0,sb=f[rb>>2]|0,f[rb>>2]=sb+-1,(sb|0)==1):0)XO(k);f[ga>>2]=0;f[$>>2]=0;f[$+4>>2]=0;f[$+8>>2]=0;f[$+12>>2]=0;if((f[ha>>2]|0)>0){sb=f[ia>>2]|0;rb=0;do{f[sb+(rb<<2)>>2]=0;rb=rb+1|0;tb=f[ha>>2]|0}while((rb|0)<(tb|0));f[k>>2]=f[m>>2];if((tb|0)<3)ub=73;else ub=75}else{f[k>>2]=f[m>>2];ub=73}if((ub|0)==73){ub=0;rb=f[ja>>2]|0;if((rb|0)<3){f[ha>>2]=rb;f[la>>2]=f[ka>>2];f[na>>2]=f[ma>>2];rb=f[oa>>2]|0;sb=f[aa>>2]|0;f[sb>>2]=f[rb>>2];f[sb+4>>2]=f[rb+4>>2]}else ub=75}if((ub|0)==75){ub=0;WO(k,m)}f[$>>2]=f[pa>>2];f[ra>>2]=f[qa>>2];f[ta>>2]=f[sa>>2];f[va>>2]=f[ua>>2];f[xa>>2]=f[wa>>2];rb=f[fa>>2]|0;f[ga>>2]=rb;do if(rb|0){sb=rb+12|0;vb=f[sb>>2]|0;f[sb>>2]=vb+-1;if((vb|0)!=1)break;XO(m)}while(0);f[fa>>2]=0;f[pa>>2]=0;f[pa+4>>2]=0;f[pa+8>>2]=0;f[pa+12>>2]=0;if((f[ja>>2]|0)>0){rb=f[ya>>2]|0;vb=0;do{f[rb+(vb<<2)>>2]=0;vb=vb+1|0}while((vb|0)<(f[ja>>2]|0))}vb=f[oa>>2]|0;if((vb|0)!=(za|0))dX(vb);vb=f[ba>>2]|0;rb=(f[vb+16>>2]|0)+(X(f[f[vb+44>>2]>>2]|0,nb+fb|0)|0)+(hb<<1)|0;if(jb)wb=0;else break;do{d[pb+(wb<<1)>>1]=d[rb+(wb<<1)>>1]&1023;wb=wb+1|0}while((wb|0)<(lb|0))}else ub=86;while(0);do if((ub|0)==86){ub=0;rb=nb+fb|0;vb=(f[qb+16>>2]|0)+(X(f[f[qb+44>>2]>>2]|0,rb)|0)|0;if(!(f[Aa>>2]|0)){sb=vb+(mb<<2)|0;if(jb)xb=0;else break;do{yb=xb<<1;zb=HEa(+n[sb+(yb<<2)>>2]*32.0)|0;Ab=yb|1;Bb=HEa(+n[sb+(Ab<<2)>>2]*32.0)|0;Cb=zb>>5;d[ob+(yb<<1)>>1]=(Cb+32768|0)>>>0<65536?Cb:(Cb|0)>0?32767:32768;Cb=Bb>>5;d[ob+(Ab<<1)>>1]=(Cb+32768|0)>>>0<65536?Cb:(Cb|0)>0?32767:32768;d[pb+(xb<<1)>>1]=Bb<<5&992|zb&31;xb=xb+1|0}while((xb|0)<(lb|0))}else{sb=vb+(hb<<2)|0;zb=f[ba>>2]|0;Bb=(f[zb+16>>2]|0)+(X(f[f[zb+44>>2]>>2]|0,rb)|0)+(hb<<2)|0;if(jb)Db=0;else break;do{zb=HEa(+n[sb+(Db<<2)>>2]*32.0)|0;Cb=HEa(+n[Bb+(Db<<2)>>2]*32.0)|0;Ab=zb>>5;yb=Db<<1;d[ob+(yb<<1)>>1]=(Ab+32768|0)>>>0<65536?Ab:(Ab|0)>0?32767:32768;Ab=Cb>>5;d[ob+((yb|1)<<1)>>1]=(Ab+32768|0)>>>0<65536?Ab:(Ab|0)>0?32767:32768;d[pb+(Db<<1)>>1]=Cb<<5&992|zb&31;Db=Db+1|0}while((Db|0)<(lb|0))}}while(0);nb=nb+1|0}while((nb|0)<(kb|0))}li[f[P>>2]&127](f[Q>>2]|0,e,k,l,f[R>>2]|0,f[S>>2]|0,T);nb=f[U>>2]|0;if(nb|0?(jb=nb+12|0,nb=f[jb>>2]|0,f[jb>>2]=nb+-1,(nb|0)==1):0)XO(l);f[U>>2]=0;f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;f[V+12>>2]=0;if((f[W>>2]|0)>0){nb=f[Y>>2]|0;jb=0;do{f[nb+(jb<<2)>>2]=0;jb=jb+1|0}while((jb|0)<(f[W>>2]|0))}jb=f[Z>>2]|0;if((jb|0)!=(_|0))dX(jb)}else{jb=f[t>>2]|0;do if((f[jb>>2]&4095|0)==11){nb=f[ba>>2]|0;if(f[nb+16>>2]|0){mb=f[nb+4>>2]|0;if((mb|0)<3)Eb=X(f[nb+12>>2]|0,f[nb+8>>2]|0)|0;else{pb=f[nb+40>>2]|0;nb=0;ob=1;while(1){qb=X(f[pb+(nb<<2)>>2]|0,ob)|0;nb=nb+1|0;if((nb|0)==(mb|0)){Eb=qb;break}else ob=qb}}if(!((mb|0)==0|(Eb|0)==0)){ub=36;break}}f[m>>2]=hb;f[Ha>>2]=fb;f[Ia>>2]=lb;f[Ja>>2]=kb;$O(l,jb,m);ob=f[Ka>>2]|0;if(ob|0){nb=ob+12|0;f[nb>>2]=(f[nb>>2]|0)+1}nb=f[ga>>2]|0;if(nb|0?(ob=nb+12|0,nb=f[ob>>2]|0,f[ob>>2]=nb+-1,(nb|0)==1):0)XO(k);f[ga>>2]=0;f[$>>2]=0;f[$+4>>2]=0;f[$+8>>2]=0;f[$+12>>2]=0;if((f[ha>>2]|0)>0){nb=f[ia>>2]|0;ob=0;do{f[nb+(ob<<2)>>2]=0;ob=ob+1|0;Fb=f[ha>>2]|0}while((ob|0)<(Fb|0));f[k>>2]=f[l>>2];if((Fb|0)<3)ub=24;else ub=26}else{f[k>>2]=f[l>>2];ub=24}if((ub|0)==24){ub=0;ob=f[La>>2]|0;if((ob|0)<3){f[ha>>2]=ob;f[la>>2]=f[Ma>>2];f[na>>2]=f[Na>>2];ob=f[Oa>>2]|0;nb=f[aa>>2]|0;f[nb>>2]=f[ob>>2];f[nb+4>>2]=f[ob+4>>2]}else ub=26}if((ub|0)==26){ub=0;WO(k,l)}f[$>>2]=f[Pa>>2];f[ra>>2]=f[Qa>>2];f[ta>>2]=f[Ra>>2];f[va>>2]=f[Sa>>2];f[xa>>2]=f[Ta>>2];ob=f[Ka>>2]|0;f[ga>>2]=ob;if(ob|0?(nb=ob+12|0,ob=f[nb>>2]|0,f[nb>>2]=ob+-1,(ob|0)==1):0)XO(l);f[Ka>>2]=0;f[Pa>>2]=0;f[Pa+4>>2]=0;f[Pa+8>>2]=0;f[Pa+12>>2]=0;if((f[La>>2]|0)>0){ob=f[Ua>>2]|0;nb=0;do{f[ob+(nb<<2)>>2]=0;nb=nb+1|0}while((nb|0)<(f[La>>2]|0))}nb=f[Oa>>2]|0;if((nb|0)!=(Va|0))dX(nb)}else ub=36;while(0);a:do if((ub|0)==36){ub=0;if(!Wa){if((kb|0)<=0)break;nb=f[$>>2]|0;ob=f[jb+16>>2]|0;mb=hb<<1;pb=f[ba>>2]|0;qb=f[pb+16>>2]|0;if((lb|0)<=0)break;Bb=f[f[aa>>2]>>2]|0;sb=f[f[jb+44>>2]>>2]|0;rb=f[f[pb+44>>2]>>2]|0;pb=0;while(1){vb=nb+(X(Bb,pb)|0)|0;zb=pb+fb|0;Cb=ob+(X(sb,zb)|0)+(mb<<1)|0;Ab=qb+(X(rb,zb)|0)+(hb<<1)|0;zb=0;do{yb=d[Ab+(zb<<1)>>1]&1023;Gb=zb<<1;d[vb+(Gb<<1)>>1]=(h[1075315+(yb<<1)>>0]|0)+(j[Cb+(Gb<<1)>>1]|0);Hb=Gb|1;d[vb+(Hb<<1)>>1]=(h[1075315+(yb<<1)+1>>0]|0)+(j[Cb+(Hb<<1)>>1]|0);zb=zb+1|0}while((zb|0)<(lb|0));pb=pb+1|0;if((pb|0)>=(kb|0))break a}}if(f[Aa>>2]|0){if((kb|0)<=0)break;pb=f[$>>2]|0;rb=f[f[aa>>2]>>2]|0;qb=f[jb+16>>2]|0;mb=f[f[jb+44>>2]>>2]|0;sb=f[ba>>2]|0;ob=f[sb+16>>2]|0;Bb=f[f[sb+44>>2]>>2]|0;if((lb|0)>0)Ib=0;else break;while(1){sb=pb+(X(rb,Ib)|0)|0;nb=Ib+fb|0;zb=qb+(X(mb,nb)|0)+(hb<<2)|0;Cb=ob+(X(Bb,nb)|0)+(hb<<2)|0;nb=0;do{vb=HEa(+n[zb+(nb<<2)>>2])|0;Ab=nb<<1;d[sb+(Ab<<1)>>1]=(vb+32768|0)>>>0<65536?vb:(vb|0)>0?32767:32768;vb=HEa(+n[Cb+(nb<<2)>>2])|0;d[sb+((Ab|1)<<1)>>1]=(vb+32768|0)>>>0<65536?vb:(vb|0)>0?32767:32768;nb=nb+1|0}while((nb|0)<(lb|0));Ib=Ib+1|0;if((Ib|0)>=(kb|0))break a}}f[l>>2]=hb;f[v>>2]=fb;f[Xa>>2]=lb;f[Ya>>2]=kb;$O(o,jb,l);Bb=Za;f[Bb>>2]=0;f[Bb+4>>2]=0;f[m>>2]=33619968;f[_a>>2]=k;AO(o,m,f[k>>2]&7,1.0,0.0);Bb=f[$a>>2]|0;if(Bb|0?(ob=Bb+12|0,Bb=f[ob>>2]|0,f[ob>>2]=Bb+-1,(Bb|0)==1):0)XO(o);f[$a>>2]=0;f[ab>>2]=0;f[ab+4>>2]=0;f[ab+8>>2]=0;f[ab+12>>2]=0;if((f[bb>>2]|0)>0){Bb=f[cb>>2]|0;ob=0;do{f[Bb+(ob<<2)>>2]=0;ob=ob+1|0}while((ob|0)<(f[bb>>2]|0))}ob=f[db>>2]|0;if((ob|0)!=(eb|0))dX(ob)}while(0);Sh[f[A>>2]&255](f[Q>>2]|0,e,k,f[S>>2]|0,T)}jb=f[ga>>2]|0;if(jb|0?(kb=jb+12|0,jb=f[kb>>2]|0,f[kb>>2]=jb+-1,(jb|0)==1):0)XO(k);f[ga>>2]=0;f[$>>2]=0;f[$+4>>2]=0;f[$+8>>2]=0;f[$+12>>2]=0;if((f[ha>>2]|0)>0){jb=f[ia>>2]|0;kb=0;do{f[jb+(kb<<2)>>2]=0;kb=kb+1|0}while((kb|0)<(f[ha>>2]|0))}kb=f[aa>>2]|0;if((kb|0)!=(a|0))dX(kb);kb=f[Ba>>2]|0;if(kb|0?(jb=kb+12|0,kb=f[jb>>2]|0,f[jb>>2]=kb+-1,(kb|0)==1):0)XO(e);f[Ba>>2]=0;f[Ca>>2]=0;f[Ca+4>>2]=0;f[Ca+8>>2]=0;f[Ca+12>>2]=0;if((f[Da>>2]|0)>0){kb=f[Ea>>2]|0;jb=0;do{f[kb+(jb<<2)>>2]=0;jb=jb+1|0}while((jb|0)<(f[Da>>2]|0))}jb=f[Fa>>2]|0;if((jb|0)!=(Ga|0))dX(jb);hb=hb+r|0;jb=f[q>>2]|0;ib=f[jb+12>>2]|0;if((ib|0)<=(hb|0)){Jb=jb;break}else gb=jb}}else Jb=C;fb=fb+x|0;if((fb|0)>=(f[G>>2]|0))break;else C=Jb}}Jb=i+36|0;C=f[Jb>>2]|0;if(C|0?(G=C+12|0,C=f[G>>2]|0,f[G>>2]=C+-1,(C|0)==1):0)XO(i);f[Jb>>2]=0;Jb=i+16|0;f[Jb>>2]=0;f[Jb+4>>2]=0;f[Jb+8>>2]=0;f[Jb+12>>2]=0;if((f[D>>2]|0)>0){Jb=f[F>>2]|0;F=0;do{f[Jb+(F<<2)>>2]=0;F=F+1|0}while((F|0)<(f[D>>2]|0))}D=f[z>>2]|0;if((D|0)!=(E|0))dX(D);D=g+36|0;E=f[D>>2]|0;if(E|0?(z=E+12|0,E=f[z>>2]|0,f[z>>2]=E+-1,(E|0)==1):0)XO(g);f[D>>2]=0;D=g+16|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;if((f[w>>2]|0)>0){D=f[y>>2]|0;y=0;do{f[D+(y<<2)>>2]=0;y=y+1|0}while((y|0)<(f[w>>2]|0))}w=f[B>>2]|0;if((w|0)==(s|0)){u=c;return}dX(w);u=c;return}function jga(a,c,e,g,i,k,l){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;var m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0;m=u;u=u+576|0;n=m+64|0;o=m+32|0;q=m;r=f[a+40>>2]|0;s=f[r+4>>2]|0;t=f[r>>2]|0;r=f[c+40>>2]|0;v=f[r+4>>2]|0;w=f[r>>2]|0;r=((f[a>>2]|0)>>>3&511)+1|0;x=f[a+16>>2]|0;y=f[a+48>>2]|0;a=0;do{z=AEa(+p[l+((a&3)<<3)>>3])|0;b[n+a>>0]=z>>>0<256?z:(z|0)>0?255:0;a=a+1|0}while((a|0)!=(r|0));a=(k|0)!=5?k:4;l=s+-7|0;z=(l|0)>0?l:0;l=t+-7|0;A=(l|0)>0?l:0;if((f[c>>2]&16384|0)!=0?(f[e>>2]&16384|0)!=0:0){l=(f[g>>2]&16384|0)!=0;B=X(l?w:1,v)|0;if(l){C=B;D=1}else{E=B;F=6}}else{E=v;F=6}if((F|0)==6)if((w|0)>0){C=E;D=w}else{u=m;return}w=c+16|0;E=c+44|0;c=e+16|0;v=e+44|0;e=g+16|0;B=g+44|0;g=(C|0)>0;l=r<<1;G=r*3|0;H=r<<2;I=r*5|0;J=r*6|0;K=r*7|0;L=(k|0)==5;k=(a|0)==0;M=o+4|0;N=o+8|0;O=o+12|0;P=o+16|0;Q=o+20|0;R=o+24|0;S=o+28|0;T=q+4|0;U=q+8|0;V=q+12|0;W=q+16|0;Y=q+20|0;Z=q+24|0;_=q+28|0;$=0;do{aa=f[w>>2]|0;ba=X(f[f[E>>2]>>2]|0,$)|0;ca=(f[c>>2]|0)+(X(f[f[v>>2]>>2]|0,$)|0)|0;da=(f[e>>2]|0)+(X(f[f[B>>2]>>2]|0,$)|0)|0;if(g){ea=aa+ba|0;fa=0;while(1){ga=aa+(ba+(X(r,fa)|0))|0;ha=fa<<1;ia=d[ca+(ha<<1)>>1]|0;ja=ia<<16>>16;ka=ja+-3|0;la=d[ca+((ha|1)<<1)>>1]|0;ha=la<<16>>16;ma=ha+-3|0;na=i+(j[da+(fa<<1)>>1]<<6<<1)|0;if(ka>>>0>>0&ma>>>0>>0){oa=0;pa=x+(X(ma,y)|0)+(X(ka,r)|0)|0;while(1){qa=0;ra=0;sa=pa;ta=na;while(1){ua=X(d[ta>>1]|0,h[sa>>0]|0)|0;va=X(d[ta+2>>1]|0,h[sa+r>>0]|0)|0;wa=X(d[ta+4>>1]|0,h[sa+l>>0]|0)|0;xa=X(d[ta+6>>1]|0,h[sa+G>>0]|0)|0;ya=X(d[ta+8>>1]|0,h[sa+H>>0]|0)|0;za=X(d[ta+10>>1]|0,h[sa+I>>0]|0)|0;Aa=X(d[ta+12>>1]|0,h[sa+J>>0]|0)|0;ra=ua+ra+va+wa+xa+ya+za+Aa+(X(d[ta+14>>1]|0,h[sa+K>>0]|0)|0)|0;qa=qa+1|0;if((qa|0)==8)break;else{sa=sa+y|0;ta=ta+16|0}}ta=ra+16384>>15;b[ea+oa>>0]=ta>>>0<256?ta:(ta|0)>0?255:0;oa=oa+1|0;if((oa|0)==(r|0))break;else pa=pa+1|0}}else{if(!(L?!(s>>>0>ja>>>0&t>>>0>ha>>>0):0))F=19;a:do if((F|0)==19){F=0;if(k?la<<16>>16<-4|ia<<16>>16>-5&(ka|0)<(s|0)&(ma|0)<(t|0)^1:0){DVa(ga|0,n|0,r|0)|0;break}pa=X(lM(ka,s,a)|0,r)|0;f[o>>2]=pa;oa=lM(ma,t,a)|0;f[q>>2]=oa;oa=X(lM(ja+-2|0,s,a)|0,r)|0;f[M>>2]=oa;ta=lM(ha+-2|0,t,a)|0;f[T>>2]=ta;ta=X(lM(ja+-1|0,s,a)|0,r)|0;f[N>>2]=ta;sa=lM(ha+-1|0,t,a)|0;f[U>>2]=sa;sa=X(lM(ja,s,a)|0,r)|0;f[O>>2]=sa;qa=lM(ha,t,a)|0;f[V>>2]=qa;qa=X(lM(ja+1|0,s,a)|0,r)|0;f[P>>2]=qa;Aa=lM(ha+1|0,t,a)|0;f[W>>2]=Aa;Aa=X(lM(ja+2|0,s,a)|0,r)|0;f[Q>>2]=Aa;za=lM(ha+2|0,t,a)|0;f[Y>>2]=za;za=X(lM(ja+3|0,s,a)|0,r)|0;f[R>>2]=za;ya=lM(ha+3|0,t,a)|0;f[Z>>2]=ya;ya=X(lM(ja+4|0,s,a)|0,r)|0;f[S>>2]=ya;xa=lM(ha+4|0,t,a)|0;f[_>>2]=xa;xa=0;wa=x;va=pa;pa=oa;oa=ta;ta=sa;sa=qa;qa=Aa;Aa=za;za=ya;while(1){ya=h[n+xa>>0]|0;ua=ya<<15;Ba=(pa|0)>-1;Ca=(oa|0)>-1;Da=(ta|0)>-1;Ea=(sa|0)>-1;Fa=(qa|0)>-1;Ga=(Aa|0)>-1;Ha=(za|0)>-1;if((va|0)>-1){Ia=0;Ja=ua;Ka=na;while(1){La=f[q+(Ia<<2)>>2]|0;Ma=wa+(X(La,y)|0)|0;do if((La|0)<0)Na=Ja;else{Oa=(X((h[Ma+va>>0]|0)-ya|0,d[Ka>>1]|0)|0)+Ja|0;if(Ba)Pa=(X((h[Ma+pa>>0]|0)-ya|0,d[Ka+2>>1]|0)|0)+Oa|0;else Pa=Oa;if(Ca)Qa=(X((h[Ma+oa>>0]|0)-ya|0,d[Ka+4>>1]|0)|0)+Pa|0;else Qa=Pa;if(Da)Ra=(X((h[Ma+ta>>0]|0)-ya|0,d[Ka+6>>1]|0)|0)+Qa|0;else Ra=Qa;if(Ea)Sa=(X((h[Ma+sa>>0]|0)-ya|0,d[Ka+8>>1]|0)|0)+Ra|0;else Sa=Ra;if(Fa)Ta=(X((h[Ma+qa>>0]|0)-ya|0,d[Ka+10>>1]|0)|0)+Sa|0;else Ta=Sa;if(Ga)Ua=(X((h[Ma+Aa>>0]|0)-ya|0,d[Ka+12>>1]|0)|0)+Ta|0;else Ua=Ta;if(!Ha){Na=Ua;break}Na=(X((h[Ma+za>>0]|0)-ya|0,d[Ka+14>>1]|0)|0)+Ua|0}while(0);Ia=Ia+1|0;if((Ia|0)==8){Va=Na;break}else{Ja=Na;Ka=Ka+16|0}}}else{Ka=0;Ja=ua;Ia=na;while(1){Ma=f[q+(Ka<<2)>>2]|0;La=wa+(X(Ma,y)|0)|0;do if((Ma|0)<0)Wa=Ja;else{if(Ba)Xa=(X((h[La+pa>>0]|0)-ya|0,d[Ia+2>>1]|0)|0)+Ja|0;else Xa=Ja;if(Ca)Ya=(X((h[La+oa>>0]|0)-ya|0,d[Ia+4>>1]|0)|0)+Xa|0;else Ya=Xa;if(Da)Za=(X((h[La+ta>>0]|0)-ya|0,d[Ia+6>>1]|0)|0)+Ya|0;else Za=Ya;if(Ea)_a=(X((h[La+sa>>0]|0)-ya|0,d[Ia+8>>1]|0)|0)+Za|0;else _a=Za;if(Fa)$a=(X((h[La+qa>>0]|0)-ya|0,d[Ia+10>>1]|0)|0)+_a|0;else $a=_a;if(Ga)ab=(X((h[La+Aa>>0]|0)-ya|0,d[Ia+12>>1]|0)|0)+$a|0;else ab=$a;if(!Ha){Wa=ab;break}Wa=(X((h[La+za>>0]|0)-ya|0,d[Ia+14>>1]|0)|0)+ab|0}while(0);Ka=Ka+1|0;if((Ka|0)==8){Va=Wa;break}else{Ja=Wa;Ia=Ia+16|0}}}Ia=Va+16384>>15;b[ea+xa>>0]=Ia>>>0<256?Ia:(Ia|0)>0?255:0;Ia=xa+1|0;if((Ia|0)==(r|0))break a;xa=Ia;wa=wa+1|0;va=f[o>>2]|0;pa=f[M>>2]|0;oa=f[N>>2]|0;ta=f[O>>2]|0;sa=f[P>>2]|0;qa=f[Q>>2]|0;Aa=f[R>>2]|0;za=f[S>>2]|0}}while(0)}fa=fa+1|0;if((fa|0)==(C|0))break;else ea=ea+r|0}}$=$+1|0}while(($|0)!=(D|0));u=m;return}function kga(a,b,c,e,g,h,i){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0.0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0.0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0.0,Ja=0,Ka=0,La=0,Ma=0.0,Na=0.0,Oa=0.0,Pa=0.0,Qa=0.0,Ra=0.0,Sa=0.0,Ta=0.0,Ua=0.0,Va=0.0,Wa=0.0,Xa=0.0,Ya=0.0,Za=0.0,_a=0.0,$a=0.0;k=u;u=u+1088|0;l=k+64|0;m=k+32|0;o=k;q=f[a+40>>2]|0;r=f[q+4>>2]|0;s=f[q>>2]|0;q=f[b+40>>2]|0;t=f[q+4>>2]|0;v=f[q>>2]|0;q=(f[a>>2]|0)>>>3&511;w=q+1|0;x=f[a+16>>2]|0;y=(f[a+48>>2]|0)>>>1;a=0;do{z=AEa(+p[i+((a&3)<<3)>>3])|0;d[l+(a<<1)>>1]=z>>>0<65536?z:(z|0)>0?65535:0;a=a+1|0}while((a|0)!=(w|0));a=(h|0)!=5?h:4;i=r+-7|0;z=(i|0)>0?i:0;i=s+-7|0;A=(i|0)>0?i:0;if((f[b>>2]&16384|0)!=0?(f[c>>2]&16384|0)!=0:0){i=(f[e>>2]&16384|0)!=0;B=X(i?v:1,t)|0;if(i){C=B;D=1}else{E=B;F=6}}else{E=t;F=6}if((F|0)==6)if((v|0)>0){C=E;D=v}else{u=k;return}v=b+16|0;E=b+44|0;b=c+16|0;t=c+44|0;c=e+16|0;B=e+44|0;e=(C|0)>0;i=w<<1;G=w*3|0;H=w<<2;I=w*5|0;J=w*6|0;K=w*7|0;L=(h|0)==5;h=(a|0)==0;M=m+4|0;N=m+8|0;O=m+12|0;P=m+16|0;Q=m+20|0;R=m+24|0;S=m+28|0;T=(q<<1)+2|0;q=o+4|0;U=o+8|0;V=o+12|0;W=o+16|0;Y=o+20|0;Z=o+24|0;_=o+28|0;$=0;do{aa=f[v>>2]|0;ba=X(f[f[E>>2]>>2]|0,$)|0;ca=(f[b>>2]|0)+(X(f[f[t>>2]>>2]|0,$)|0)|0;da=(f[c>>2]|0)+(X(f[f[B>>2]>>2]|0,$)|0)|0;if(e){ea=aa+ba|0;fa=0;while(1){ga=aa+(ba+(X(T,fa)|0))|0;ha=fa<<1;ia=d[ca+(ha<<1)>>1]|0;ja=ia<<16>>16;ka=ja+-3|0;la=d[ca+((ha|1)<<1)>>1]|0;ha=la<<16>>16;ma=ha+-3|0;na=g+((j[da+(fa<<1)>>1]|0)<<6<<2)|0;if(ka>>>0>>0&ma>>>0>>0){oa=0;pa=x+((X(ma,y)|0)<<1)+((X(ka,w)|0)<<1)|0;while(1){qa=0;ra=0.0;sa=pa;ta=na;while(1){ra=ra+(+n[ta>>2]*+(j[sa>>1]|0)+ +n[ta+4>>2]*+(j[sa+(w<<1)>>1]|0)+ +n[ta+8>>2]*+(j[sa+(i<<1)>>1]|0)+ +n[ta+12>>2]*+(j[sa+(G<<1)>>1]|0)+ +n[ta+16>>2]*+(j[sa+(H<<1)>>1]|0)+ +n[ta+20>>2]*+(j[sa+(I<<1)>>1]|0)+ +n[ta+24>>2]*+(j[sa+(J<<1)>>1]|0)+ +n[ta+28>>2]*+(j[sa+(K<<1)>>1]|0));qa=qa+1|0;if((qa|0)==8)break;else{sa=sa+(y<<1)|0;ta=ta+32|0}}ta=HEa(ra)|0;d[ea+(oa<<1)>>1]=ta>>>0<65536?ta:(ta|0)>0?65535:0;oa=oa+1|0;if((oa|0)==(w|0))break;else pa=pa+2|0}}else{if(!(L?!(r>>>0>ja>>>0&s>>>0>ha>>>0):0))F=19;a:do if((F|0)==19){F=0;if(h?la<<16>>16<-4|ia<<16>>16>-5&(ka|0)<(r|0)&(ma|0)<(s|0)^1:0){DVa(ga|0,l|0,T|0)|0;break}pa=X(lM(ka,r,a)|0,w)|0;f[m>>2]=pa;oa=lM(ma,s,a)|0;f[o>>2]=oa;oa=X(lM(ja+-2|0,r,a)|0,w)|0;f[M>>2]=oa;ta=lM(ha+-2|0,s,a)|0;f[q>>2]=ta;ta=X(lM(ja+-1|0,r,a)|0,w)|0;f[N>>2]=ta;sa=lM(ha+-1|0,s,a)|0;f[U>>2]=sa;sa=X(lM(ja,r,a)|0,w)|0;f[O>>2]=sa;qa=lM(ha,s,a)|0;f[V>>2]=qa;qa=X(lM(ja+1|0,r,a)|0,w)|0;f[P>>2]=qa;ua=lM(ha+1|0,s,a)|0;f[W>>2]=ua;ua=X(lM(ja+2|0,r,a)|0,w)|0;f[Q>>2]=ua;va=lM(ha+2|0,s,a)|0;f[Y>>2]=va;va=X(lM(ja+3|0,r,a)|0,w)|0;f[R>>2]=va;wa=lM(ha+3|0,s,a)|0;f[Z>>2]=wa;wa=X(lM(ja+4|0,r,a)|0,w)|0;f[S>>2]=wa;xa=lM(ha+4|0,s,a)|0;f[_>>2]=xa;xa=0;ya=x;za=pa;pa=oa;oa=ta;ta=sa;sa=qa;qa=ua;ua=va;va=wa;while(1){Aa=+(j[l+(xa<<1)>>1]|0);wa=(pa|0)>-1;Ba=(oa|0)>-1;Ca=(ta|0)>-1;Da=(sa|0)>-1;Ea=(qa|0)>-1;Fa=(ua|0)>-1;Ga=(va|0)>-1;if((za|0)>-1){Ha=0;Ia=Aa;Ja=na;while(1){Ka=f[o+(Ha<<2)>>2]|0;La=ya+((X(Ka,y)|0)<<1)|0;do if((Ka|0)<0)Ma=Ia;else{Na=Ia+ +n[Ja>>2]*(+(j[La+(za<<1)>>1]|0)-Aa);if(wa)Oa=Na+ +n[Ja+4>>2]*(+(j[La+(pa<<1)>>1]|0)-Aa);else Oa=Na;if(Ba)Pa=Oa+ +n[Ja+8>>2]*(+(j[La+(oa<<1)>>1]|0)-Aa);else Pa=Oa;if(Ca)Qa=Pa+ +n[Ja+12>>2]*(+(j[La+(ta<<1)>>1]|0)-Aa);else Qa=Pa;if(Da)Ra=Qa+ +n[Ja+16>>2]*(+(j[La+(sa<<1)>>1]|0)-Aa);else Ra=Qa;if(Ea)Sa=Ra+ +n[Ja+20>>2]*(+(j[La+(qa<<1)>>1]|0)-Aa);else Sa=Ra;if(Fa)Ta=Sa+ +n[Ja+24>>2]*(+(j[La+(ua<<1)>>1]|0)-Aa);else Ta=Sa;if(!Ga){Ma=Ta;break}Ma=Ta+ +n[Ja+28>>2]*(+(j[La+(va<<1)>>1]|0)-Aa)}while(0);Ha=Ha+1|0;if((Ha|0)==8){Ua=Ma;break}else{Ia=Ma;Ja=Ja+32|0}}}else{Ja=0;Ia=Aa;Ha=na;while(1){La=f[o+(Ja<<2)>>2]|0;Ka=ya+((X(La,y)|0)<<1)|0;do if((La|0)<0)Va=Ia;else{if(wa)Wa=Ia+ +n[Ha+4>>2]*(+(j[Ka+(pa<<1)>>1]|0)-Aa);else Wa=Ia;if(Ba)Xa=Wa+ +n[Ha+8>>2]*(+(j[Ka+(oa<<1)>>1]|0)-Aa);else Xa=Wa;if(Ca)Ya=Xa+ +n[Ha+12>>2]*(+(j[Ka+(ta<<1)>>1]|0)-Aa);else Ya=Xa;if(Da)Za=Ya+ +n[Ha+16>>2]*(+(j[Ka+(sa<<1)>>1]|0)-Aa);else Za=Ya;if(Ea)_a=Za+ +n[Ha+20>>2]*(+(j[Ka+(qa<<1)>>1]|0)-Aa);else _a=Za;if(Fa)$a=_a+ +n[Ha+24>>2]*(+(j[Ka+(ua<<1)>>1]|0)-Aa);else $a=_a;if(!Ga){Va=$a;break}Va=$a+ +n[Ha+28>>2]*(+(j[Ka+(va<<1)>>1]|0)-Aa)}while(0);Ja=Ja+1|0;if((Ja|0)==8){Ua=Va;break}else{Ia=Va;Ha=Ha+32|0}}}Ha=HEa(Ua)|0;d[ea+(xa<<1)>>1]=Ha>>>0<65536?Ha:(Ha|0)>0?65535:0;Ha=xa+1|0;if((Ha|0)==(w|0))break a;xa=Ha;ya=ya+2|0;za=f[m>>2]|0;pa=f[M>>2]|0;oa=f[N>>2]|0;ta=f[O>>2]|0;sa=f[P>>2]|0;qa=f[Q>>2]|0;ua=f[R>>2]|0;va=f[S>>2]|0}}while(0)}fa=fa+1|0;if((fa|0)==(C|0))break;else ea=ea+(w<<1)|0}}$=$+1|0}while(($|0)!=(D|0));u=k;return}function lga(a,b,c,e,g,h,i){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0.0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0.0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0.0,Ja=0,Ka=0,La=0,Ma=0.0,Na=0.0,Oa=0.0,Pa=0.0,Qa=0.0,Ra=0.0,Sa=0.0,Ta=0.0,Ua=0.0,Va=0.0,Wa=0.0,Xa=0.0,Ya=0.0,Za=0.0,_a=0.0,$a=0.0;k=u;u=u+1088|0;l=k+64|0;m=k+32|0;o=k;q=f[a+40>>2]|0;r=f[q+4>>2]|0;s=f[q>>2]|0;q=f[b+40>>2]|0;t=f[q+4>>2]|0;v=f[q>>2]|0;q=(f[a>>2]|0)>>>3&511;w=q+1|0;x=f[a+16>>2]|0;y=(f[a+48>>2]|0)>>>1;a=0;do{z=AEa(+p[i+((a&3)<<3)>>3])|0;d[l+(a<<1)>>1]=(z+32768|0)>>>0<65536?z:(z|0)>0?32767:32768;a=a+1|0}while((a|0)!=(w|0));a=(h|0)!=5?h:4;i=r+-7|0;z=(i|0)>0?i:0;i=s+-7|0;A=(i|0)>0?i:0;if((f[b>>2]&16384|0)!=0?(f[c>>2]&16384|0)!=0:0){i=(f[e>>2]&16384|0)!=0;B=X(i?v:1,t)|0;if(i){C=B;D=1}else{E=B;F=6}}else{E=t;F=6}if((F|0)==6)if((v|0)>0){C=E;D=v}else{u=k;return}v=b+16|0;E=b+44|0;b=c+16|0;t=c+44|0;c=e+16|0;B=e+44|0;e=(C|0)>0;i=w<<1;G=w*3|0;H=w<<2;I=w*5|0;J=w*6|0;K=w*7|0;L=(h|0)==5;h=(a|0)==0;M=m+4|0;N=m+8|0;O=m+12|0;P=m+16|0;Q=m+20|0;R=m+24|0;S=m+28|0;T=(q<<1)+2|0;q=o+4|0;U=o+8|0;V=o+12|0;W=o+16|0;Y=o+20|0;Z=o+24|0;_=o+28|0;$=0;do{aa=f[v>>2]|0;ba=X(f[f[E>>2]>>2]|0,$)|0;ca=(f[b>>2]|0)+(X(f[f[t>>2]>>2]|0,$)|0)|0;da=(f[c>>2]|0)+(X(f[f[B>>2]>>2]|0,$)|0)|0;if(e){ea=aa+ba|0;fa=0;while(1){ga=aa+(ba+(X(T,fa)|0))|0;ha=fa<<1;ia=d[ca+(ha<<1)>>1]|0;ja=ia<<16>>16;ka=ja+-3|0;la=d[ca+((ha|1)<<1)>>1]|0;ha=la<<16>>16;ma=ha+-3|0;na=g+(j[da+(fa<<1)>>1]<<6<<2)|0;if(ka>>>0>>0&ma>>>0>>0){oa=0;pa=x+((X(ma,y)|0)<<1)+((X(ka,w)|0)<<1)|0;while(1){qa=0;ra=0.0;sa=pa;ta=na;while(1){ra=ra+(+n[ta>>2]*+(d[sa>>1]|0)+ +n[ta+4>>2]*+(d[sa+(w<<1)>>1]|0)+ +n[ta+8>>2]*+(d[sa+(i<<1)>>1]|0)+ +n[ta+12>>2]*+(d[sa+(G<<1)>>1]|0)+ +n[ta+16>>2]*+(d[sa+(H<<1)>>1]|0)+ +n[ta+20>>2]*+(d[sa+(I<<1)>>1]|0)+ +n[ta+24>>2]*+(d[sa+(J<<1)>>1]|0)+ +n[ta+28>>2]*+(d[sa+(K<<1)>>1]|0));qa=qa+1|0;if((qa|0)==8)break;else{sa=sa+(y<<1)|0;ta=ta+32|0}}ta=HEa(ra)|0;d[ea+(oa<<1)>>1]=(ta+32768|0)>>>0<65536?ta:(ta|0)>0?32767:32768;oa=oa+1|0;if((oa|0)==(w|0))break;else pa=pa+2|0}}else{if(!(L?!(r>>>0>ja>>>0&s>>>0>ha>>>0):0))F=19;a:do if((F|0)==19){F=0;if(h?la<<16>>16<-4|ia<<16>>16>-5&(ka|0)<(r|0)&(ma|0)<(s|0)^1:0){DVa(ga|0,l|0,T|0)|0;break}pa=X(lM(ka,r,a)|0,w)|0;f[m>>2]=pa;oa=lM(ma,s,a)|0;f[o>>2]=oa;oa=X(lM(ja+-2|0,r,a)|0,w)|0;f[M>>2]=oa;ta=lM(ha+-2|0,s,a)|0;f[q>>2]=ta;ta=X(lM(ja+-1|0,r,a)|0,w)|0;f[N>>2]=ta;sa=lM(ha+-1|0,s,a)|0;f[U>>2]=sa;sa=X(lM(ja,r,a)|0,w)|0;f[O>>2]=sa;qa=lM(ha,s,a)|0;f[V>>2]=qa;qa=X(lM(ja+1|0,r,a)|0,w)|0;f[P>>2]=qa;ua=lM(ha+1|0,s,a)|0;f[W>>2]=ua;ua=X(lM(ja+2|0,r,a)|0,w)|0;f[Q>>2]=ua;va=lM(ha+2|0,s,a)|0;f[Y>>2]=va;va=X(lM(ja+3|0,r,a)|0,w)|0;f[R>>2]=va;wa=lM(ha+3|0,s,a)|0;f[Z>>2]=wa;wa=X(lM(ja+4|0,r,a)|0,w)|0;f[S>>2]=wa;xa=lM(ha+4|0,s,a)|0;f[_>>2]=xa;xa=0;ya=x;za=pa;pa=oa;oa=ta;ta=sa;sa=qa;qa=ua;ua=va;va=wa;while(1){Aa=+(d[l+(xa<<1)>>1]|0);wa=(pa|0)>-1;Ba=(oa|0)>-1;Ca=(ta|0)>-1;Da=(sa|0)>-1;Ea=(qa|0)>-1;Fa=(ua|0)>-1;Ga=(va|0)>-1;if((za|0)>-1){Ha=0;Ia=Aa;Ja=na;while(1){Ka=f[o+(Ha<<2)>>2]|0;La=ya+((X(Ka,y)|0)<<1)|0;do if((Ka|0)<0)Ma=Ia;else{Na=Ia+ +n[Ja>>2]*(+(d[La+(za<<1)>>1]|0)-Aa);if(wa)Oa=Na+ +n[Ja+4>>2]*(+(d[La+(pa<<1)>>1]|0)-Aa);else Oa=Na;if(Ba)Pa=Oa+ +n[Ja+8>>2]*(+(d[La+(oa<<1)>>1]|0)-Aa);else Pa=Oa;if(Ca)Qa=Pa+ +n[Ja+12>>2]*(+(d[La+(ta<<1)>>1]|0)-Aa);else Qa=Pa;if(Da)Ra=Qa+ +n[Ja+16>>2]*(+(d[La+(sa<<1)>>1]|0)-Aa);else Ra=Qa;if(Ea)Sa=Ra+ +n[Ja+20>>2]*(+(d[La+(qa<<1)>>1]|0)-Aa);else Sa=Ra;if(Fa)Ta=Sa+ +n[Ja+24>>2]*(+(d[La+(ua<<1)>>1]|0)-Aa);else Ta=Sa;if(!Ga){Ma=Ta;break}Ma=Ta+ +n[Ja+28>>2]*(+(d[La+(va<<1)>>1]|0)-Aa)}while(0);Ha=Ha+1|0;if((Ha|0)==8){Ua=Ma;break}else{Ia=Ma;Ja=Ja+32|0}}}else{Ja=0;Ia=Aa;Ha=na;while(1){La=f[o+(Ja<<2)>>2]|0;Ka=ya+((X(La,y)|0)<<1)|0;do if((La|0)<0)Va=Ia;else{if(wa)Wa=Ia+ +n[Ha+4>>2]*(+(d[Ka+(pa<<1)>>1]|0)-Aa);else Wa=Ia;if(Ba)Xa=Wa+ +n[Ha+8>>2]*(+(d[Ka+(oa<<1)>>1]|0)-Aa);else Xa=Wa;if(Ca)Ya=Xa+ +n[Ha+12>>2]*(+(d[Ka+(ta<<1)>>1]|0)-Aa);else Ya=Xa;if(Da)Za=Ya+ +n[Ha+16>>2]*(+(d[Ka+(sa<<1)>>1]|0)-Aa);else Za=Ya;if(Ea)_a=Za+ +n[Ha+20>>2]*(+(d[Ka+(qa<<1)>>1]|0)-Aa);else _a=Za;if(Fa)$a=_a+ +n[Ha+24>>2]*(+(d[Ka+(ua<<1)>>1]|0)-Aa);else $a=_a;if(!Ga){Va=$a;break}Va=$a+ +n[Ha+28>>2]*(+(d[Ka+(va<<1)>>1]|0)-Aa)}while(0);Ja=Ja+1|0;if((Ja|0)==8){Ua=Va;break}else{Ia=Va;Ha=Ha+32|0}}}Ha=HEa(Ua)|0;d[ea+(xa<<1)>>1]=(Ha+32768|0)>>>0<65536?Ha:(Ha|0)>0?32767:32768;Ha=xa+1|0;if((Ha|0)==(w|0))break a;xa=Ha;ya=ya+2|0;za=f[m>>2]|0;pa=f[M>>2]|0;oa=f[N>>2]|0;ta=f[O>>2]|0;sa=f[P>>2]|0;qa=f[Q>>2]|0;ua=f[R>>2]|0;va=f[S>>2]|0}}while(0)}fa=fa+1|0;if((fa|0)==(C|0))break;else ea=ea+(w<<1)|0}}$=$+1|0}while(($|0)!=(D|0));u=k;return}function mga(a,b,c,e,g,h,i){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0.0,Hb=0.0,Ib=0.0,Jb=0.0,Kb=0.0,Lb=0.0,Mb=0.0,Nb=0.0,Ob=0.0,Pb=0.0,Qb=0.0,Rb=0.0,Sb=0.0,Tb=0.0,Ub=0.0,Vb=0.0,Wb=0.0,Xb=0.0;k=u;u=u+2112|0;l=k+64|0;m=k+32|0;o=k;q=f[a+40>>2]|0;r=f[q+4>>2]|0;s=f[q>>2]|0;q=f[b+40>>2]|0;t=f[q+4>>2]|0;v=f[q>>2]|0;q=(f[a>>2]|0)>>>3&511;w=q+1|0;x=f[a+16>>2]|0;y=(f[a+48>>2]|0)>>>2;a=0;do{n[l+(a<<2)>>2]=+p[i+((a&3)<<3)>>3];a=a+1|0}while((a|0)!=(w|0));a=(h|0)!=5?h:4;i=r+-7|0;z=(i|0)>0?i:0;i=s+-7|0;A=(i|0)>0?i:0;if((f[b>>2]&16384|0)!=0?(f[c>>2]&16384|0)!=0:0){i=(f[e>>2]&16384|0)!=0;B=X(i?v:1,t)|0;if(i){C=B;D=1}else{E=B;F=6}}else{E=t;F=6}if((F|0)==6)if((v|0)>0){C=E;D=v}else{u=k;return}v=b+16|0;E=b+44|0;b=c+16|0;t=c+44|0;c=e+16|0;B=e+44|0;e=(C|0)>0;i=w<<1;G=w*3|0;H=w<<2;I=w*5|0;J=w*6|0;K=w*7|0;L=(h|0)==5;h=(a|0)==0;M=m+4|0;N=m+8|0;O=m+12|0;P=m+16|0;Q=m+20|0;R=m+24|0;S=m+28|0;T=(q<<2)+4|0;q=o+4|0;U=o+8|0;V=o+12|0;W=o+16|0;Y=o+20|0;Z=o+24|0;_=o+28|0;$=0;do{aa=f[v>>2]|0;ba=X(f[f[E>>2]>>2]|0,$)|0;ca=(f[b>>2]|0)+(X(f[f[t>>2]>>2]|0,$)|0)|0;da=(f[c>>2]|0)+(X(f[f[B>>2]>>2]|0,$)|0)|0;if(e){ea=aa+ba|0;fa=0;while(1){ga=aa+(ba+(X(T,fa)|0))|0;ha=fa<<1;ia=d[ca+(ha<<1)>>1]|0;ja=ia<<16>>16;ka=ja+-3|0;la=d[ca+((ha|1)<<1)>>1]|0;ha=la<<16>>16;ma=ha+-3|0;na=g+((j[da+(fa<<1)>>1]|0)<<6<<2)|0;if(ka>>>0>>0&ma>>>0>>0){oa=na+4|0;pa=na+8|0;qa=na+12|0;ra=na+16|0;sa=na+20|0;ta=na+24|0;ua=na+28|0;va=na+32|0;wa=na+36|0;xa=na+40|0;ya=na+44|0;za=na+48|0;Aa=na+52|0;Ba=na+56|0;Ca=na+60|0;Da=na+64|0;Ea=na+68|0;Fa=na+72|0;Ga=na+76|0;Ha=na+80|0;Ia=na+84|0;Ja=na+88|0;Ka=na+92|0;La=na+96|0;Ma=na+100|0;Na=na+104|0;Oa=na+108|0;Pa=na+112|0;Qa=na+116|0;Ra=na+120|0;Sa=na+124|0;Ta=na+128|0;Ua=na+132|0;Va=na+136|0;Wa=na+140|0;Xa=na+144|0;Ya=na+148|0;Za=na+152|0;_a=na+156|0;$a=na+160|0;ab=na+164|0;bb=na+168|0;cb=na+172|0;db=na+176|0;eb=na+180|0;fb=na+184|0;gb=na+188|0;hb=na+192|0;ib=na+196|0;jb=na+200|0;kb=na+204|0;lb=na+208|0;mb=na+212|0;nb=na+216|0;ob=na+220|0;pb=na+224|0;qb=na+228|0;rb=na+232|0;sb=na+236|0;tb=na+240|0;ub=na+244|0;vb=na+248|0;wb=na+252|0;xb=0;yb=x+((X(ma,y)|0)<<2)+((X(ka,w)|0)<<2)|0;while(1){zb=yb+(y<<2)|0;Ab=zb+(y<<2)|0;Bb=Ab+(y<<2)|0;Cb=Bb+(y<<2)|0;Db=Cb+(y<<2)|0;Eb=Db+(y<<2)|0;Fb=Eb+(y<<2)|0;n[ea+(xb<<2)>>2]=+n[yb>>2]*+n[na>>2]+ +n[yb+(w<<2)>>2]*+n[oa>>2]+ +n[yb+(i<<2)>>2]*+n[pa>>2]+ +n[yb+(G<<2)>>2]*+n[qa>>2]+ +n[yb+(H<<2)>>2]*+n[ra>>2]+ +n[yb+(I<<2)>>2]*+n[sa>>2]+ +n[yb+(J<<2)>>2]*+n[ta>>2]+ +n[yb+(K<<2)>>2]*+n[ua>>2]+0.0+(+n[zb>>2]*+n[va>>2]+ +n[zb+(w<<2)>>2]*+n[wa>>2]+ +n[zb+(i<<2)>>2]*+n[xa>>2]+ +n[zb+(G<<2)>>2]*+n[ya>>2]+ +n[zb+(H<<2)>>2]*+n[za>>2]+ +n[zb+(I<<2)>>2]*+n[Aa>>2]+ +n[zb+(J<<2)>>2]*+n[Ba>>2]+ +n[zb+(K<<2)>>2]*+n[Ca>>2])+(+n[Ab>>2]*+n[Da>>2]+ +n[Ab+(w<<2)>>2]*+n[Ea>>2]+ +n[Ab+(i<<2)>>2]*+n[Fa>>2]+ +n[Ab+(G<<2)>>2]*+n[Ga>>2]+ +n[Ab+(H<<2)>>2]*+n[Ha>>2]+ +n[Ab+(I<<2)>>2]*+n[Ia>>2]+ +n[Ab+(J<<2)>>2]*+n[Ja>>2]+ +n[Ab+(K<<2)>>2]*+n[Ka>>2])+(+n[Bb>>2]*+n[La>>2]+ +n[Bb+(w<<2)>>2]*+n[Ma>>2]+ +n[Bb+(i<<2)>>2]*+n[Na>>2]+ +n[Bb+(G<<2)>>2]*+n[Oa>>2]+ +n[Bb+(H<<2)>>2]*+n[Pa>>2]+ +n[Bb+(I<<2)>>2]*+n[Qa>>2]+ +n[Bb+(J<<2)>>2]*+n[Ra>>2]+ +n[Bb+(K<<2)>>2]*+n[Sa>>2])+(+n[Cb>>2]*+n[Ta>>2]+ +n[Cb+(w<<2)>>2]*+n[Ua>>2]+ +n[Cb+(i<<2)>>2]*+n[Va>>2]+ +n[Cb+(G<<2)>>2]*+n[Wa>>2]+ +n[Cb+(H<<2)>>2]*+n[Xa>>2]+ +n[Cb+(I<<2)>>2]*+n[Ya>>2]+ +n[Cb+(J<<2)>>2]*+n[Za>>2]+ +n[Cb+(K<<2)>>2]*+n[_a>>2])+(+n[Db>>2]*+n[$a>>2]+ +n[Db+(w<<2)>>2]*+n[ab>>2]+ +n[Db+(i<<2)>>2]*+n[bb>>2]+ +n[Db+(G<<2)>>2]*+n[cb>>2]+ +n[Db+(H<<2)>>2]*+n[db>>2]+ +n[Db+(I<<2)>>2]*+n[eb>>2]+ +n[Db+(J<<2)>>2]*+n[fb>>2]+ +n[Db+(K<<2)>>2]*+n[gb>>2])+(+n[Eb>>2]*+n[hb>>2]+ +n[Eb+(w<<2)>>2]*+n[ib>>2]+ +n[Eb+(i<<2)>>2]*+n[jb>>2]+ +n[Eb+(G<<2)>>2]*+n[kb>>2]+ +n[Eb+(H<<2)>>2]*+n[lb>>2]+ +n[Eb+(I<<2)>>2]*+n[mb>>2]+ +n[Eb+(J<<2)>>2]*+n[nb>>2]+ +n[Eb+(K<<2)>>2]*+n[ob>>2])+(+n[Fb>>2]*+n[pb>>2]+ +n[Fb+(w<<2)>>2]*+n[qb>>2]+ +n[Fb+(i<<2)>>2]*+n[rb>>2]+ +n[Fb+(G<<2)>>2]*+n[sb>>2]+ +n[Fb+(H<<2)>>2]*+n[tb>>2]+ +n[Fb+(I<<2)>>2]*+n[ub>>2]+ +n[Fb+(J<<2)>>2]*+n[vb>>2]+ +n[Fb+(K<<2)>>2]*+n[wb>>2]);xb=xb+1|0;if((xb|0)==(w|0))break;else yb=yb+4|0}}else{if(!(L?!(r>>>0>ja>>>0&s>>>0>ha>>>0):0))F=17;a:do if((F|0)==17){F=0;if(h?la<<16>>16<-4|ia<<16>>16>-5&(ka|0)<(r|0)&(ma|0)<(s|0)^1:0){DVa(ga|0,l|0,T|0)|0;break}yb=X(lM(ka,r,a)|0,w)|0;f[m>>2]=yb;xb=lM(ma,s,a)|0;f[o>>2]=xb;xb=X(lM(ja+-2|0,r,a)|0,w)|0;f[M>>2]=xb;wb=lM(ha+-2|0,s,a)|0;f[q>>2]=wb;wb=X(lM(ja+-1|0,r,a)|0,w)|0;f[N>>2]=wb;vb=lM(ha+-1|0,s,a)|0;f[U>>2]=vb;vb=X(lM(ja,r,a)|0,w)|0;f[O>>2]=vb;ub=lM(ha,s,a)|0;f[V>>2]=ub;ub=X(lM(ja+1|0,r,a)|0,w)|0;f[P>>2]=ub;tb=lM(ha+1|0,s,a)|0;f[W>>2]=tb;tb=X(lM(ja+2|0,r,a)|0,w)|0;f[Q>>2]=tb;sb=lM(ha+2|0,s,a)|0;f[Y>>2]=sb;sb=X(lM(ja+3|0,r,a)|0,w)|0;f[R>>2]=sb;rb=lM(ha+3|0,s,a)|0;f[Z>>2]=rb;rb=X(lM(ja+4|0,r,a)|0,w)|0;f[S>>2]=rb;qb=lM(ha+4|0,s,a)|0;f[_>>2]=qb;qb=0;pb=x;ob=yb;yb=xb;xb=wb;wb=vb;vb=ub;ub=tb;tb=sb;sb=rb;while(1){Gb=+n[l+(qb<<2)>>2];rb=(yb|0)>-1;nb=(xb|0)>-1;mb=(wb|0)>-1;lb=(vb|0)>-1;kb=(ub|0)>-1;jb=(tb|0)>-1;ib=(sb|0)>-1;if((ob|0)>-1){hb=0;Hb=Gb;gb=na;while(1){fb=f[o+(hb<<2)>>2]|0;eb=pb+((X(fb,y)|0)<<2)|0;do if((fb|0)<0)Ib=Hb;else{Jb=Hb+(+n[eb+(ob<<2)>>2]-Gb)*+n[gb>>2];if(rb)Kb=Jb+(+n[eb+(yb<<2)>>2]-Gb)*+n[gb+4>>2];else Kb=Jb;if(nb)Lb=Kb+(+n[eb+(xb<<2)>>2]-Gb)*+n[gb+8>>2];else Lb=Kb;if(mb)Mb=Lb+(+n[eb+(wb<<2)>>2]-Gb)*+n[gb+12>>2];else Mb=Lb;if(lb)Nb=Mb+(+n[eb+(vb<<2)>>2]-Gb)*+n[gb+16>>2];else Nb=Mb;if(kb)Ob=Nb+(+n[eb+(ub<<2)>>2]-Gb)*+n[gb+20>>2];else Ob=Nb;if(jb)Pb=Ob+(+n[eb+(tb<<2)>>2]-Gb)*+n[gb+24>>2];else Pb=Ob;if(!ib){Ib=Pb;break}Ib=Pb+(+n[eb+(sb<<2)>>2]-Gb)*+n[gb+28>>2]}while(0);hb=hb+1|0;if((hb|0)==8){Qb=Ib;break}else{Hb=Ib;gb=gb+32|0}}}else{gb=0;Hb=Gb;hb=na;while(1){eb=f[o+(gb<<2)>>2]|0;fb=pb+((X(eb,y)|0)<<2)|0;do if((eb|0)<0)Rb=Hb;else{if(rb)Sb=Hb+(+n[fb+(yb<<2)>>2]-Gb)*+n[hb+4>>2];else Sb=Hb;if(nb)Tb=Sb+(+n[fb+(xb<<2)>>2]-Gb)*+n[hb+8>>2];else Tb=Sb;if(mb)Ub=Tb+(+n[fb+(wb<<2)>>2]-Gb)*+n[hb+12>>2];else Ub=Tb;if(lb)Vb=Ub+(+n[fb+(vb<<2)>>2]-Gb)*+n[hb+16>>2];else Vb=Ub;if(kb)Wb=Vb+(+n[fb+(ub<<2)>>2]-Gb)*+n[hb+20>>2];else Wb=Vb;if(jb)Xb=Wb+(+n[fb+(tb<<2)>>2]-Gb)*+n[hb+24>>2];else Xb=Wb;if(!ib){Rb=Xb;break}Rb=Xb+(+n[fb+(sb<<2)>>2]-Gb)*+n[hb+28>>2]}while(0);gb=gb+1|0;if((gb|0)==8){Qb=Rb;break}else{Hb=Rb;hb=hb+32|0}}}n[ea+(qb<<2)>>2]=Qb;hb=qb+1|0;if((hb|0)==(w|0))break a;qb=hb;pb=pb+4|0;ob=f[m>>2]|0;yb=f[M>>2]|0;xb=f[N>>2]|0;wb=f[O>>2]|0;vb=f[P>>2]|0;ub=f[Q>>2]|0;tb=f[R>>2]|0;sb=f[S>>2]|0}}while(0)}fa=fa+1|0;if((fa|0)==(C|0))break;else ea=ea+(w<<2)|0}}$=$+1|0}while(($|0)!=(D|0));u=k;return}function nga(a,b,c,e,g,h,i){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0.0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0.0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0.0,Ja=0,Ka=0,La=0,Ma=0.0,Na=0.0,Oa=0.0,Pa=0.0,Qa=0.0,Ra=0.0,Sa=0.0,Ta=0.0,Ua=0.0,Va=0.0,Wa=0.0,Xa=0.0,Ya=0.0,Za=0.0,_a=0.0,$a=0.0;k=u;u=u+4160|0;l=k;m=k+4128|0;o=k+4096|0;q=f[a+40>>2]|0;r=f[q+4>>2]|0;s=f[q>>2]|0;q=f[b+40>>2]|0;t=f[q+4>>2]|0;v=f[q>>2]|0;q=(f[a>>2]|0)>>>3&511;w=q+1|0;x=f[a+16>>2]|0;y=(f[a+48>>2]|0)>>>3;a=0;do{p[l+(a<<3)>>3]=+p[i+((a&3)<<3)>>3];a=a+1|0}while((a|0)!=(w|0));a=(h|0)!=5?h:4;i=r+-7|0;z=(i|0)>0?i:0;i=s+-7|0;A=(i|0)>0?i:0;if((f[b>>2]&16384|0)!=0?(f[c>>2]&16384|0)!=0:0){i=(f[e>>2]&16384|0)!=0;B=X(i?v:1,t)|0;if(i){C=B;D=1}else{E=B;F=6}}else{E=t;F=6}if((F|0)==6)if((v|0)>0){C=E;D=v}else{u=k;return}v=b+16|0;E=b+44|0;b=c+16|0;t=c+44|0;c=e+16|0;B=e+44|0;e=(C|0)>0;i=w<<1;G=w*3|0;H=w<<2;I=w*5|0;J=w*6|0;K=w*7|0;L=(h|0)==5;h=(a|0)==0;M=m+4|0;N=m+8|0;O=m+12|0;P=m+16|0;Q=m+20|0;R=m+24|0;S=m+28|0;T=(q<<3)+8|0;q=o+4|0;U=o+8|0;V=o+12|0;W=o+16|0;Y=o+20|0;Z=o+24|0;_=o+28|0;$=0;do{aa=f[v>>2]|0;ba=X(f[f[E>>2]>>2]|0,$)|0;ca=(f[b>>2]|0)+(X(f[f[t>>2]>>2]|0,$)|0)|0;da=(f[c>>2]|0)+(X(f[f[B>>2]>>2]|0,$)|0)|0;if(e){ea=aa+ba|0;fa=0;while(1){ga=aa+(ba+(X(T,fa)|0))|0;ha=fa<<1;ia=d[ca+(ha<<1)>>1]|0;ja=ia<<16>>16;ka=ja+-3|0;la=d[ca+((ha|1)<<1)>>1]|0;ha=la<<16>>16;ma=ha+-3|0;na=g+((j[da+(fa<<1)>>1]|0)<<6<<2)|0;if(ka>>>0>>0&ma>>>0>>0){oa=0;pa=x+((X(ma,y)|0)<<3)+((X(ka,w)|0)<<3)|0;while(1){qa=0;ra=0.0;sa=pa;ta=na;while(1){ra=ra+(+p[sa>>3]*+n[ta>>2]+ +p[sa+(w<<3)>>3]*+n[ta+4>>2]+ +p[sa+(i<<3)>>3]*+n[ta+8>>2]+ +p[sa+(G<<3)>>3]*+n[ta+12>>2]+ +p[sa+(H<<3)>>3]*+n[ta+16>>2]+ +p[sa+(I<<3)>>3]*+n[ta+20>>2]+ +p[sa+(J<<3)>>3]*+n[ta+24>>2]+ +p[sa+(K<<3)>>3]*+n[ta+28>>2]);qa=qa+1|0;if((qa|0)==8)break;else{sa=sa+(y<<3)|0;ta=ta+32|0}}p[ea+(oa<<3)>>3]=ra;oa=oa+1|0;if((oa|0)==(w|0))break;else pa=pa+8|0}}else{if(!(L?!(r>>>0>ja>>>0&s>>>0>ha>>>0):0))F=19;a:do if((F|0)==19){F=0;if(h?la<<16>>16<-4|ia<<16>>16>-5&(ka|0)<(r|0)&(ma|0)<(s|0)^1:0){DVa(ga|0,l|0,T|0)|0;break}pa=X(lM(ka,r,a)|0,w)|0;f[m>>2]=pa;oa=lM(ma,s,a)|0;f[o>>2]=oa;oa=X(lM(ja+-2|0,r,a)|0,w)|0;f[M>>2]=oa;ta=lM(ha+-2|0,s,a)|0;f[q>>2]=ta;ta=X(lM(ja+-1|0,r,a)|0,w)|0;f[N>>2]=ta;sa=lM(ha+-1|0,s,a)|0;f[U>>2]=sa;sa=X(lM(ja,r,a)|0,w)|0;f[O>>2]=sa;qa=lM(ha,s,a)|0;f[V>>2]=qa;qa=X(lM(ja+1|0,r,a)|0,w)|0;f[P>>2]=qa;ua=lM(ha+1|0,s,a)|0;f[W>>2]=ua;ua=X(lM(ja+2|0,r,a)|0,w)|0;f[Q>>2]=ua;va=lM(ha+2|0,s,a)|0;f[Y>>2]=va;va=X(lM(ja+3|0,r,a)|0,w)|0;f[R>>2]=va;wa=lM(ha+3|0,s,a)|0;f[Z>>2]=wa;wa=X(lM(ja+4|0,r,a)|0,w)|0;f[S>>2]=wa;xa=lM(ha+4|0,s,a)|0;f[_>>2]=xa;xa=0;ya=x;za=pa;pa=oa;oa=ta;ta=sa;sa=qa;qa=ua;ua=va;va=wa;while(1){Aa=+p[l+(xa<<3)>>3];wa=(pa|0)>-1;Ba=(oa|0)>-1;Ca=(ta|0)>-1;Da=(sa|0)>-1;Ea=(qa|0)>-1;Fa=(ua|0)>-1;Ga=(va|0)>-1;if((za|0)>-1){Ha=0;Ia=Aa;Ja=na;while(1){Ka=f[o+(Ha<<2)>>2]|0;La=ya+((X(Ka,y)|0)<<3)|0;do if((Ka|0)<0)Ma=Ia;else{Na=Ia+(+p[La+(za<<3)>>3]-Aa)*+n[Ja>>2];if(wa)Oa=Na+(+p[La+(pa<<3)>>3]-Aa)*+n[Ja+4>>2];else Oa=Na;if(Ba)Pa=Oa+(+p[La+(oa<<3)>>3]-Aa)*+n[Ja+8>>2];else Pa=Oa;if(Ca)Qa=Pa+(+p[La+(ta<<3)>>3]-Aa)*+n[Ja+12>>2];else Qa=Pa;if(Da)Ra=Qa+(+p[La+(sa<<3)>>3]-Aa)*+n[Ja+16>>2];else Ra=Qa;if(Ea)Sa=Ra+(+p[La+(qa<<3)>>3]-Aa)*+n[Ja+20>>2];else Sa=Ra;if(Fa)Ta=Sa+(+p[La+(ua<<3)>>3]-Aa)*+n[Ja+24>>2];else Ta=Sa;if(!Ga){Ma=Ta;break}Ma=Ta+(+p[La+(va<<3)>>3]-Aa)*+n[Ja+28>>2]}while(0);Ha=Ha+1|0;if((Ha|0)==8){Ua=Ma;break}else{Ia=Ma;Ja=Ja+32|0}}}else{Ja=0;Ia=Aa;Ha=na;while(1){La=f[o+(Ja<<2)>>2]|0;Ka=ya+((X(La,y)|0)<<3)|0;do if((La|0)<0)Va=Ia;else{if(wa)Wa=Ia+(+p[Ka+(pa<<3)>>3]-Aa)*+n[Ha+4>>2];else Wa=Ia;if(Ba)Xa=Wa+(+p[Ka+(oa<<3)>>3]-Aa)*+n[Ha+8>>2];else Xa=Wa;if(Ca)Ya=Xa+(+p[Ka+(ta<<3)>>3]-Aa)*+n[Ha+12>>2];else Ya=Xa;if(Da)Za=Ya+(+p[Ka+(sa<<3)>>3]-Aa)*+n[Ha+16>>2];else Za=Ya;if(Ea)_a=Za+(+p[Ka+(qa<<3)>>3]-Aa)*+n[Ha+20>>2];else _a=Za;if(Fa)$a=_a+(+p[Ka+(ua<<3)>>3]-Aa)*+n[Ha+24>>2];else $a=_a;if(!Ga){Va=$a;break}Va=$a+(+p[Ka+(va<<3)>>3]-Aa)*+n[Ha+28>>2]}while(0);Ja=Ja+1|0;if((Ja|0)==8){Ua=Va;break}else{Ia=Va;Ha=Ha+32|0}}}p[ea+(xa<<3)>>3]=Ua;Ha=xa+1|0;if((Ha|0)==(w|0))break a;xa=Ha;ya=ya+8|0;za=f[m>>2]|0;pa=f[M>>2]|0;oa=f[N>>2]|0;ta=f[O>>2]|0;sa=f[P>>2]|0;qa=f[Q>>2]|0;ua=f[R>>2]|0;va=f[S>>2]|0}}while(0)}fa=fa+1|0;if((fa|0)==(C|0))break;else ea=ea+(w<<3)|0}}$=$+1|0}while(($|0)!=(D|0));u=k;return}function oga(a,c,e,g,i,k,l){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;var m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0;m=u;u=u+544|0;n=m+32|0;o=m+16|0;q=m;r=f[a+40>>2]|0;s=f[r+4>>2]|0;t=f[r>>2]|0;r=f[c+40>>2]|0;v=f[r+4>>2]|0;w=f[r>>2]|0;r=((f[a>>2]|0)>>>3&511)+1|0;x=f[a+16>>2]|0;y=f[a+48>>2]|0;a=0;do{z=AEa(+p[l+((a&3)<<3)>>3])|0;b[n+a>>0]=z>>>0<256?z:(z|0)>0?255:0;a=a+1|0}while((a|0)!=(r|0));a=(k|0)!=5?k:4;l=s+-3|0;z=(l|0)>0?l:0;l=t+-3|0;A=(l|0)>0?l:0;if((f[c>>2]&16384|0)!=0?(f[e>>2]&16384|0)!=0:0){l=(f[g>>2]&16384|0)!=0;B=X(l?w:1,v)|0;if(l){C=B;D=1}else{E=B;F=6}}else{E=v;F=6}if((F|0)==6)if((w|0)>0){C=E;D=w}else{u=m;return}w=c+16|0;E=c+44|0;c=e+16|0;v=e+44|0;e=g+16|0;B=g+44|0;g=(C|0)>0;l=r<<1;G=r*3|0;H=(X(y,-3)|0)+1|0;I=(k|0)==5;k=(a|0)==0;J=o+4|0;K=o+8|0;L=o+12|0;M=q+4|0;N=q+8|0;O=q+12|0;P=0;do{Q=f[w>>2]|0;R=X(f[f[E>>2]>>2]|0,P)|0;S=(f[c>>2]|0)+(X(f[f[v>>2]>>2]|0,P)|0)|0;T=(f[e>>2]|0)+(X(f[f[B>>2]>>2]|0,P)|0)|0;if(g){U=Q+R|0;V=0;while(1){W=Q+(R+(X(r,V)|0))|0;Y=V<<1;Z=d[S+(Y<<1)>>1]|0;_=Z<<16>>16;$=_+-1|0;aa=d[S+((Y|1)<<1)>>1]|0;Y=aa<<16>>16;ba=Y+-1|0;ca=i+(j[T+(V<<1)>>1]<<4<<1)|0;if($>>>0>>0&ba>>>0>>0){da=ca+2|0;ea=ca+4|0;fa=ca+6|0;ga=ca+8|0;ha=ca+10|0;ia=ca+12|0;ja=ca+14|0;ka=ca+16|0;la=ca+18|0;ma=ca+20|0;na=ca+22|0;oa=ca+24|0;pa=ca+26|0;qa=ca+28|0;ra=ca+30|0;sa=0;ta=x+(X(ba,y)|0)+(X($,r)|0)|0;while(1){ua=X(d[ca>>1]|0,h[ta>>0]|0)|0;va=X(d[da>>1]|0,h[ta+r>>0]|0)|0;wa=X(d[ea>>1]|0,h[ta+l>>0]|0)|0;xa=X(d[fa>>1]|0,h[ta+G>>0]|0)|0;ya=ta+y|0;za=X(d[ga>>1]|0,h[ya>>0]|0)|0;Aa=X(d[ha>>1]|0,h[ya+r>>0]|0)|0;Ba=X(d[ia>>1]|0,h[ya+l>>0]|0)|0;Ca=X(d[ja>>1]|0,h[ya+G>>0]|0)|0;Da=ya+y|0;ya=X(d[ka>>1]|0,h[Da>>0]|0)|0;Ea=X(d[la>>1]|0,h[Da+r>>0]|0)|0;Fa=X(d[ma>>1]|0,h[Da+l>>0]|0)|0;Ga=X(d[na>>1]|0,h[Da+G>>0]|0)|0;Ha=Da+y|0;Da=X(d[oa>>1]|0,h[Ha>>0]|0)|0;Ia=X(d[pa>>1]|0,h[Ha+r>>0]|0)|0;Ja=X(d[qa>>1]|0,h[Ha+l>>0]|0)|0;Ka=ua+16384+va+wa+xa+za+Aa+Ba+Ca+ya+Ea+Fa+Ga+Da+Ia+Ja+(X(d[ra>>1]|0,h[Ha+G>>0]|0)|0)>>15;b[U+sa>>0]=Ka>>>0<256?Ka:(Ka|0)>0?255:0;sa=sa+1|0;if((sa|0)==(r|0))break;else ta=Ha+H|0}}else{if(!(I?!(s>>>0>_>>>0&t>>>0>Y>>>0):0))F=17;a:do if((F|0)==17){F=0;if(k?aa<<16>>16<-2|(Z<<16>>16<-2|(s|0)<(_|0)|(t|0)<(Y|0)):0){DVa(W|0,n|0,r|0)|0;break}ta=X(lM($,s,a)|0,r)|0;f[o>>2]=ta;sa=lM(ba,t,a)|0;f[q>>2]=sa;sa=X(lM(_,s,a)|0,r)|0;f[J>>2]=sa;ra=lM(Y,t,a)|0;f[M>>2]=ra;ra=X(lM(_+1|0,s,a)|0,r)|0;f[K>>2]=ra;qa=lM(Y+1|0,t,a)|0;f[N>>2]=qa;qa=X(lM(_+2|0,s,a)|0,r)|0;f[L>>2]=qa;pa=lM(Y+2|0,t,a)|0;f[O>>2]=pa;pa=ca+8|0;oa=pa+8|0;na=oa+8|0;ma=na+2|0;la=na+4|0;ka=na+6|0;ja=oa+2|0;ia=oa+4|0;ha=oa+6|0;ga=pa+2|0;fa=pa+4|0;ea=pa+6|0;da=ca+2|0;Ha=ca+4|0;Ka=ca+6|0;Ja=ca+8|0;Ia=Ja+8|0;Da=Ia+8|0;Ga=Da+2|0;Fa=Da+4|0;Ea=Da+6|0;Da=Ia+2|0;ya=Ia+4|0;Ca=Ia+6|0;Ia=Ja+2|0;Ba=Ja+4|0;Aa=Ja+6|0;Ja=ca+2|0;za=ca+4|0;xa=ca+6|0;wa=ca+8|0;va=ca+16|0;ua=ca+24|0;La=ua+4|0;Ma=ua+6|0;ua=va+4|0;Na=va+6|0;va=wa+4|0;Oa=wa+6|0;wa=ca+4|0;Pa=ca+6|0;Qa=0;Ra=x;Sa=ta;ta=sa;sa=ra;ra=qa;while(1){qa=h[n+Qa>>0]|0;Ta=qa<<15;Ua=(ta|0)>-1;Va=(sa|0)>-1;Wa=(ra|0)>-1;Xa=f[q>>2]|0;Ya=Ra+(X(Xa,y)|0)|0;Za=(Xa|0)<0;do if((Sa|0)>-1){if(!Za){Xa=(X((h[Ya+Sa>>0]|0)-qa|0,d[ca>>1]|0)|0)+Ta|0;if(Ua)_a=(X((h[Ya+ta>>0]|0)-qa|0,d[da>>1]|0)|0)+Xa|0;else _a=Xa;if(Va)$a=(X((h[Ya+sa>>0]|0)-qa|0,d[Ha>>1]|0)|0)+_a|0;else $a=_a;if(Wa)ab=(X((h[Ya+ra>>0]|0)-qa|0,d[Ka>>1]|0)|0)+$a|0;else ab=$a}else ab=Ta;Xa=f[M>>2]|0;bb=Ra+(X(Xa,y)|0)|0;if((Xa|0)>=0){Xa=(X((h[bb+Sa>>0]|0)-qa|0,d[pa>>1]|0)|0)+ab|0;if(Ua)cb=(X((h[bb+ta>>0]|0)-qa|0,d[ga>>1]|0)|0)+Xa|0;else cb=Xa;if(Va)db=(X((h[bb+sa>>0]|0)-qa|0,d[fa>>1]|0)|0)+cb|0;else db=cb;if(Wa)eb=(X((h[bb+ra>>0]|0)-qa|0,d[ea>>1]|0)|0)+db|0;else eb=db}else eb=ab;bb=f[N>>2]|0;Xa=Ra+(X(bb,y)|0)|0;if((bb|0)>=0){bb=(X((h[Xa+Sa>>0]|0)-qa|0,d[oa>>1]|0)|0)+eb|0;if(Ua)fb=(X((h[Xa+ta>>0]|0)-qa|0,d[ja>>1]|0)|0)+bb|0;else fb=bb;if(Va)gb=(X((h[Xa+sa>>0]|0)-qa|0,d[ia>>1]|0)|0)+fb|0;else gb=fb;if(Wa)hb=(X((h[Xa+ra>>0]|0)-qa|0,d[ha>>1]|0)|0)+gb|0;else hb=gb}else hb=eb;Xa=f[O>>2]|0;bb=Ra+(X(Xa,y)|0)|0;if((Xa|0)>=0){Xa=(X((h[bb+Sa>>0]|0)-qa|0,d[na>>1]|0)|0)+hb|0;if(Ua)ib=(X((h[bb+ta>>0]|0)-qa|0,d[ma>>1]|0)|0)+Xa|0;else ib=Xa;if(Va)jb=(X((h[bb+sa>>0]|0)-qa|0,d[la>>1]|0)|0)+ib|0;else jb=ib;if(Wa)kb=(X((h[bb+ra>>0]|0)-qa|0,d[ka>>1]|0)|0)+jb|0;else kb=jb}else kb=hb}else if(Ua){if(!Za){bb=(X((h[Ya+ta>>0]|0)-qa|0,d[Ja>>1]|0)|0)+Ta|0;if(Va)lb=(X((h[Ya+sa>>0]|0)-qa|0,d[za>>1]|0)|0)+bb|0;else lb=bb;if(Wa)mb=(X((h[Ya+ra>>0]|0)-qa|0,d[xa>>1]|0)|0)+lb|0;else mb=lb}else mb=Ta;bb=f[M>>2]|0;Xa=Ra+(X(bb,y)|0)|0;if((bb|0)>=0){bb=(X((h[Xa+ta>>0]|0)-qa|0,d[Ia>>1]|0)|0)+mb|0;if(Va)nb=(X((h[Xa+sa>>0]|0)-qa|0,d[Ba>>1]|0)|0)+bb|0;else nb=bb;if(Wa)ob=(X((h[Xa+ra>>0]|0)-qa|0,d[Aa>>1]|0)|0)+nb|0;else ob=nb}else ob=mb;Xa=f[N>>2]|0;bb=Ra+(X(Xa,y)|0)|0;do if((Xa|0)<0)pb=ob;else{qb=(X((h[bb+ta>>0]|0)-qa|0,d[Da>>1]|0)|0)+ob|0;if(Va)rb=(X((h[bb+sa>>0]|0)-qa|0,d[ya>>1]|0)|0)+qb|0;else rb=qb;if(!Wa){pb=rb;break}pb=(X((h[bb+ra>>0]|0)-qa|0,d[Ca>>1]|0)|0)+rb|0}while(0);bb=f[O>>2]|0;Xa=Ra+(X(bb,y)|0)|0;if((bb|0)<0){kb=pb;break}bb=(X((h[Xa+ta>>0]|0)-qa|0,d[Ga>>1]|0)|0)+pb|0;if(Va)sb=(X((h[Xa+sa>>0]|0)-qa|0,d[Fa>>1]|0)|0)+bb|0;else sb=bb;if(!Wa){kb=sb;break}kb=(X((h[Xa+ra>>0]|0)-qa|0,d[Ea>>1]|0)|0)+sb|0;break}else{if(!Za){if(Va)tb=(X((h[Ya+sa>>0]|0)-qa|0,d[wa>>1]|0)|0)+Ta|0;else tb=Ta;if(Wa)ub=(X((h[Ya+ra>>0]|0)-qa|0,d[Pa>>1]|0)|0)+tb|0;else ub=tb}else ub=Ta;Xa=f[M>>2]|0;bb=Ra+(X(Xa,y)|0)|0;if((Xa|0)>=0){if(Va)vb=(X((h[bb+sa>>0]|0)-qa|0,d[va>>1]|0)|0)+ub|0;else vb=ub;if(Wa)wb=(X((h[bb+ra>>0]|0)-qa|0,d[Oa>>1]|0)|0)+vb|0;else wb=vb}else wb=ub;bb=f[N>>2]|0;Xa=Ra+(X(bb,y)|0)|0;do if((bb|0)<0)xb=wb;else{if(Va)yb=(X((h[Xa+sa>>0]|0)-qa|0,d[ua>>1]|0)|0)+wb|0;else yb=wb;if(!Wa){xb=yb;break}xb=(X((h[Xa+ra>>0]|0)-qa|0,d[Na>>1]|0)|0)+yb|0}while(0);Xa=f[O>>2]|0;bb=Ra+(X(Xa,y)|0)|0;if((Xa|0)<0){kb=xb;break}if(Va)zb=(X((h[bb+sa>>0]|0)-qa|0,d[La>>1]|0)|0)+xb|0;else zb=xb;if(!Wa){kb=zb;break}kb=(X((h[bb+ra>>0]|0)-qa|0,d[Ma>>1]|0)|0)+zb|0;break}while(0);qa=kb+16384>>15;b[U+Qa>>0]=qa>>>0<256?qa:(qa|0)>0?255:0;qa=Qa+1|0;if((qa|0)==(r|0))break a;Qa=qa;Ra=Ra+1|0;Sa=f[o>>2]|0;ta=f[J>>2]|0;sa=f[K>>2]|0;ra=f[L>>2]|0}}while(0)}V=V+1|0;if((V|0)==(C|0))break;else U=U+r|0}}P=P+1|0}while((P|0)!=(D|0));u=m;return}function pga(a,b,c,e,g,h,i){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0.0,Fb=0.0,Gb=0.0,Hb=0.0,Ib=0.0,Jb=0.0,Kb=0.0,Lb=0.0,Mb=0.0,Nb=0.0,Ob=0.0,Pb=0.0,Qb=0.0,Rb=0.0,Sb=0.0,Tb=0.0,Ub=0.0,Vb=0.0,Wb=0.0,Xb=0.0,Yb=0.0,Zb=0.0,_b=0.0,$b=0.0,ac=0.0,bc=0.0;k=u;u=u+1040|0;l=k+16|0;m=k;o=f[a+40>>2]|0;q=f[o+4>>2]|0;r=f[o>>2]|0;o=f[b+40>>2]|0;s=f[o+4>>2]|0;t=f[o>>2]|0;o=(f[a>>2]|0)>>>3&511;v=o+1|0;w=f[a+16>>2]|0;x=(f[a+48>>2]|0)>>>1;a=0;do{y=AEa(+p[i+((a&3)<<3)>>3])|0;d[l+(a<<1)>>1]=y>>>0<65536?y:(y|0)>0?65535:0;a=a+1|0}while((a|0)!=(v|0));a=(h|0)!=5?h:4;i=q+-3|0;y=(i|0)>0?i:0;i=r+-3|0;z=(i|0)>0?i:0;if((f[b>>2]&16384|0)!=0?(f[c>>2]&16384|0)!=0:0){i=(f[e>>2]&16384|0)!=0;A=X(i?t:1,s)|0;if(i){B=A;C=1}else{D=A;E=6}}else{D=s;E=6}if((E|0)==6)if((t|0)>0){B=D;C=t}else{u=k;return}t=b+16|0;D=b+44|0;b=c+16|0;s=c+44|0;c=e+16|0;A=e+44|0;e=(B|0)>0;i=v<<1;F=v*3|0;G=(X(x,-3)|0)+1|0;H=(h|0)==5;h=(a|0)==0;I=m+4|0;J=m+8|0;K=m+12|0;L=(o<<1)+2|0;o=0;do{M=f[t>>2]|0;N=X(f[f[D>>2]>>2]|0,o)|0;O=(f[b>>2]|0)+(X(f[f[s>>2]>>2]|0,o)|0)|0;P=(f[c>>2]|0)+(X(f[f[A>>2]>>2]|0,o)|0)|0;if(e){Q=M+N|0;R=0;while(1){S=M+(N+(X(L,R)|0))|0;T=R<<1;U=d[O+(T<<1)>>1]|0;V=U<<16>>16;W=V+-1|0;Y=d[O+((T|1)<<1)>>1]|0;T=Y<<16>>16;Z=T+-1|0;_=g+((j[P+(R<<1)>>1]|0)<<4<<2)|0;if(W>>>0>>0&Z>>>0>>0){$=w+((X(Z,x)|0)<<1)+((X(W,v)|0)<<1)|0;aa=+n[_>>2];ba=+n[_+4>>2];ca=+n[_+8>>2];da=+n[_+12>>2];ea=+n[_+16>>2];fa=+n[_+20>>2];ga=+n[_+24>>2];ha=+n[_+28>>2];ia=+n[_+32>>2];ja=+n[_+36>>2];ka=+n[_+40>>2];la=+n[_+44>>2];ma=+n[_+48>>2];na=+n[_+52>>2];oa=+n[_+56>>2];pa=+n[_+60>>2];qa=0;ra=$;while(1){$=ra+(x<<1)|0;sa=$+(x<<1)|0;ta=sa+(x<<1)|0;ua=HEa(aa*+(j[ra>>1]|0)+ba*+(j[ra+(v<<1)>>1]|0)+ca*+(j[ra+(i<<1)>>1]|0)+da*+(j[ra+(F<<1)>>1]|0)+(ea*+(j[$>>1]|0)+fa*+(j[$+(v<<1)>>1]|0)+ga*+(j[$+(i<<1)>>1]|0)+ha*+(j[$+(F<<1)>>1]|0))+(ia*+(j[sa>>1]|0)+ja*+(j[sa+(v<<1)>>1]|0)+ka*+(j[sa+(i<<1)>>1]|0)+la*+(j[sa+(F<<1)>>1]|0))+(ma*+(j[ta>>1]|0)+na*+(j[ta+(v<<1)>>1]|0)+oa*+(j[ta+(i<<1)>>1]|0)+pa*+(j[ta+(F<<1)>>1]|0)))|0;d[Q+(qa<<1)>>1]=ua>>>0<65536?ua:(ua|0)>0?65535:0;qa=qa+1|0;if((qa|0)==(v|0))break;else ra=ta+(G<<1)|0}}else{if(!(H?!(q>>>0>V>>>0&r>>>0>T>>>0):0))E=17;a:do if((E|0)==17){E=0;if(h?Y<<16>>16<-2|(U<<16>>16<-2|(q|0)<(V|0)|(r|0)<(T|0)):0){DVa(S|0,l|0,L|0)|0;break}ra=X(lM(W,q,a)|0,v)|0;f[m>>2]=ra;qa=lM(Z,r,a)|0;ta=X(lM(V,q,a)|0,v)|0;f[I>>2]=ta;ua=lM(T,r,a)|0;sa=X(lM(V+1|0,q,a)|0,v)|0;f[J>>2]=sa;$=lM(T+1|0,r,a)|0;va=X(lM(V+2|0,q,a)|0,v)|0;f[K>>2]=va;wa=lM(T+2|0,r,a)|0;xa=X(qa,x)|0;ya=(qa|0)<0;za=_+16|0;Aa=X(ua,x)|0;Ba=(ua|0)<0;Ca=za+16|0;Da=X($,x)|0;Ea=($|0)<0;Fa=Ca+16|0;Ga=X(wa,x)|0;Ha=(wa|0)<0;Ia=Fa+4|0;Ja=Fa+8|0;Ka=Fa+12|0;La=Ca+4|0;Ma=Ca+8|0;Na=Ca+12|0;Oa=za+4|0;Pa=za+8|0;Qa=za+12|0;Ra=_+4|0;Sa=_+8|0;Ta=_+12|0;Ua=X(qa,x)|0;Va=(qa|0)<0;Wa=_+16|0;Xa=X(ua,x)|0;Ya=(ua|0)<0;Za=Wa+16|0;_a=X($,x)|0;$a=($|0)<0;ab=Za+16|0;bb=X(wa,x)|0;cb=(wa|0)<0;db=ab+4|0;eb=ab+8|0;fb=ab+12|0;ab=Za+4|0;gb=Za+8|0;hb=Za+12|0;Za=Wa+4|0;ib=Wa+8|0;jb=Wa+12|0;Wa=_+4|0;kb=_+8|0;lb=_+12|0;mb=X(qa,x)|0;nb=(qa|0)<0;qa=_+16|0;ob=X(ua,x)|0;pb=(ua|0)<0;ua=_+32|0;qb=X($,x)|0;rb=($|0)<0;$=_+48|0;sb=X(wa,x)|0;tb=(wa|0)<0;wa=$+8|0;ub=$+12|0;$=ua+8|0;vb=ua+12|0;ua=qa+8|0;wb=qa+12|0;qa=_+8|0;xb=_+12|0;yb=0;zb=w;Ab=ra;ra=ta;ta=sa;sa=va;while(1){pa=+(j[l+(yb<<1)>>1]|0);va=(ra|0)>-1;Bb=(ta|0)>-1;Cb=(sa|0)>-1;do if((Ab|0)>-1){Db=zb+(xa<<1)|0;if(!ya){oa=+n[_>>2]*(+(j[Db+(Ab<<1)>>1]|0)-pa)+pa;if(va)Eb=oa+ +n[Ra>>2]*(+(j[Db+(ra<<1)>>1]|0)-pa);else Eb=oa;if(Bb)Fb=Eb+ +n[Sa>>2]*(+(j[Db+(ta<<1)>>1]|0)-pa);else Fb=Eb;if(Cb)Gb=Fb+ +n[Ta>>2]*(+(j[Db+(sa<<1)>>1]|0)-pa);else Gb=Fb}else Gb=pa;Db=zb+(Aa<<1)|0;if(!Ba){oa=Gb+ +n[za>>2]*(+(j[Db+(Ab<<1)>>1]|0)-pa);if(va)Hb=oa+ +n[Oa>>2]*(+(j[Db+(ra<<1)>>1]|0)-pa);else Hb=oa;if(Bb)Ib=Hb+ +n[Pa>>2]*(+(j[Db+(ta<<1)>>1]|0)-pa);else Ib=Hb;if(Cb)Jb=Ib+ +n[Qa>>2]*(+(j[Db+(sa<<1)>>1]|0)-pa);else Jb=Ib}else Jb=Gb;Db=zb+(Da<<1)|0;if(!Ea){oa=Jb+ +n[Ca>>2]*(+(j[Db+(Ab<<1)>>1]|0)-pa);if(va)Kb=oa+ +n[La>>2]*(+(j[Db+(ra<<1)>>1]|0)-pa);else Kb=oa;if(Bb)Lb=Kb+ +n[Ma>>2]*(+(j[Db+(ta<<1)>>1]|0)-pa);else Lb=Kb;if(Cb)Mb=Lb+ +n[Na>>2]*(+(j[Db+(sa<<1)>>1]|0)-pa);else Mb=Lb}else Mb=Jb;Db=zb+(Ga<<1)|0;if(!Ha){oa=Mb+ +n[Fa>>2]*(+(j[Db+(Ab<<1)>>1]|0)-pa);if(va)Nb=oa+ +n[Ia>>2]*(+(j[Db+(ra<<1)>>1]|0)-pa);else Nb=oa;if(Bb)Ob=Nb+ +n[Ja>>2]*(+(j[Db+(ta<<1)>>1]|0)-pa);else Ob=Nb;if(Cb)Pb=Ob+ +n[Ka>>2]*(+(j[Db+(sa<<1)>>1]|0)-pa);else Pb=Ob}else Pb=Mb}else if(va){Db=zb+(Ua<<1)|0;if(!Va){oa=+n[Wa>>2]*(+(j[Db+(ra<<1)>>1]|0)-pa)+pa;if(Bb)Qb=oa+ +n[kb>>2]*(+(j[Db+(ta<<1)>>1]|0)-pa);else Qb=oa;if(Cb)Rb=Qb+ +n[lb>>2]*(+(j[Db+(sa<<1)>>1]|0)-pa);else Rb=Qb}else Rb=pa;Db=zb+(Xa<<1)|0;if(!Ya){oa=Rb+ +n[Za>>2]*(+(j[Db+(ra<<1)>>1]|0)-pa);if(Bb)Sb=oa+ +n[ib>>2]*(+(j[Db+(ta<<1)>>1]|0)-pa);else Sb=oa;if(Cb)Tb=Sb+ +n[jb>>2]*(+(j[Db+(sa<<1)>>1]|0)-pa);else Tb=Sb}else Tb=Rb;Db=zb+(_a<<1)|0;do if($a)Ub=Tb;else{oa=Tb+ +n[ab>>2]*(+(j[Db+(ra<<1)>>1]|0)-pa);if(Bb)Vb=oa+ +n[gb>>2]*(+(j[Db+(ta<<1)>>1]|0)-pa);else Vb=oa;if(!Cb){Ub=Vb;break}Ub=Vb+ +n[hb>>2]*(+(j[Db+(sa<<1)>>1]|0)-pa)}while(0);Db=zb+(bb<<1)|0;if(cb){Pb=Ub;break}oa=Ub+ +n[db>>2]*(+(j[Db+(ra<<1)>>1]|0)-pa);if(Bb)Wb=oa+ +n[eb>>2]*(+(j[Db+(ta<<1)>>1]|0)-pa);else Wb=oa;if(!Cb){Pb=Wb;break}Pb=Wb+ +n[fb>>2]*(+(j[Db+(sa<<1)>>1]|0)-pa);break}else{Db=zb+(mb<<1)|0;if(!nb){if(Bb)Xb=+n[qa>>2]*(+(j[Db+(ta<<1)>>1]|0)-pa)+pa;else Xb=pa;if(Cb)Yb=Xb+ +n[xb>>2]*(+(j[Db+(sa<<1)>>1]|0)-pa);else Yb=Xb}else Yb=pa;Db=zb+(ob<<1)|0;if(!pb){if(Bb)Zb=Yb+ +n[ua>>2]*(+(j[Db+(ta<<1)>>1]|0)-pa);else Zb=Yb;if(Cb)_b=Zb+ +n[wb>>2]*(+(j[Db+(sa<<1)>>1]|0)-pa);else _b=Zb}else _b=Yb;Db=zb+(qb<<1)|0;do if(rb)$b=_b;else{if(Bb)ac=_b+ +n[$>>2]*(+(j[Db+(ta<<1)>>1]|0)-pa);else ac=_b;if(!Cb){$b=ac;break}$b=ac+ +n[vb>>2]*(+(j[Db+(sa<<1)>>1]|0)-pa)}while(0);Db=zb+(sb<<1)|0;if(tb){Pb=$b;break}if(Bb)bc=$b+ +n[wa>>2]*(+(j[Db+(ta<<1)>>1]|0)-pa);else bc=$b;if(!Cb){Pb=bc;break}Pb=bc+ +n[ub>>2]*(+(j[Db+(sa<<1)>>1]|0)-pa);break}while(0);Cb=HEa(Pb)|0;d[Q+(yb<<1)>>1]=Cb>>>0<65536?Cb:(Cb|0)>0?65535:0;Cb=yb+1|0;if((Cb|0)==(v|0))break a;yb=Cb;zb=zb+2|0;Ab=f[m>>2]|0;ra=f[I>>2]|0;ta=f[J>>2]|0;sa=f[K>>2]|0}}while(0)}R=R+1|0;if((R|0)==(B|0))break;else Q=Q+(v<<1)|0}}o=o+1|0}while((o|0)!=(C|0));u=k;return}function qga(a,b,c,e,g,h,i){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0.0,Fb=0.0,Gb=0.0,Hb=0.0,Ib=0.0,Jb=0.0,Kb=0.0,Lb=0.0,Mb=0.0,Nb=0.0,Ob=0.0,Pb=0.0,Qb=0.0,Rb=0.0,Sb=0.0,Tb=0.0,Ub=0.0,Vb=0.0,Wb=0.0,Xb=0.0,Yb=0.0,Zb=0.0,_b=0.0,$b=0.0,ac=0.0,bc=0.0;k=u;u=u+1040|0;l=k+16|0;m=k;o=f[a+40>>2]|0;q=f[o+4>>2]|0;r=f[o>>2]|0;o=f[b+40>>2]|0;s=f[o+4>>2]|0;t=f[o>>2]|0;o=(f[a>>2]|0)>>>3&511;v=o+1|0;w=f[a+16>>2]|0;x=(f[a+48>>2]|0)>>>1;a=0;do{y=AEa(+p[i+((a&3)<<3)>>3])|0;d[l+(a<<1)>>1]=(y+32768|0)>>>0<65536?y:(y|0)>0?32767:32768;a=a+1|0}while((a|0)!=(v|0));a=(h|0)!=5?h:4;i=q+-3|0;y=(i|0)>0?i:0;i=r+-3|0;z=(i|0)>0?i:0;if((f[b>>2]&16384|0)!=0?(f[c>>2]&16384|0)!=0:0){i=(f[e>>2]&16384|0)!=0;A=X(i?t:1,s)|0;if(i){B=A;C=1}else{D=A;E=6}}else{D=s;E=6}if((E|0)==6)if((t|0)>0){B=D;C=t}else{u=k;return}t=b+16|0;D=b+44|0;b=c+16|0;s=c+44|0;c=e+16|0;A=e+44|0;e=(B|0)>0;i=v<<1;F=v*3|0;G=(X(x,-3)|0)+1|0;H=(h|0)==5;h=(a|0)==0;I=m+4|0;J=m+8|0;K=m+12|0;L=(o<<1)+2|0;o=0;do{M=f[t>>2]|0;N=X(f[f[D>>2]>>2]|0,o)|0;O=(f[b>>2]|0)+(X(f[f[s>>2]>>2]|0,o)|0)|0;P=(f[c>>2]|0)+(X(f[f[A>>2]>>2]|0,o)|0)|0;if(e){Q=M+N|0;R=0;while(1){S=M+(N+(X(L,R)|0))|0;T=R<<1;U=d[O+(T<<1)>>1]|0;V=U<<16>>16;W=V+-1|0;Y=d[O+((T|1)<<1)>>1]|0;T=Y<<16>>16;Z=T+-1|0;_=g+(j[P+(R<<1)>>1]<<4<<2)|0;if(W>>>0>>0&Z>>>0>>0){$=w+((X(Z,x)|0)<<1)+((X(W,v)|0)<<1)|0;aa=+n[_>>2];ba=+n[_+4>>2];ca=+n[_+8>>2];da=+n[_+12>>2];ea=+n[_+16>>2];fa=+n[_+20>>2];ga=+n[_+24>>2];ha=+n[_+28>>2];ia=+n[_+32>>2];ja=+n[_+36>>2];ka=+n[_+40>>2];la=+n[_+44>>2];ma=+n[_+48>>2];na=+n[_+52>>2];oa=+n[_+56>>2];pa=+n[_+60>>2];qa=0;ra=$;while(1){$=ra+(x<<1)|0;sa=$+(x<<1)|0;ta=sa+(x<<1)|0;ua=HEa(aa*+(d[ra>>1]|0)+ba*+(d[ra+(v<<1)>>1]|0)+ca*+(d[ra+(i<<1)>>1]|0)+da*+(d[ra+(F<<1)>>1]|0)+(ea*+(d[$>>1]|0)+fa*+(d[$+(v<<1)>>1]|0)+ga*+(d[$+(i<<1)>>1]|0)+ha*+(d[$+(F<<1)>>1]|0))+(ia*+(d[sa>>1]|0)+ja*+(d[sa+(v<<1)>>1]|0)+ka*+(d[sa+(i<<1)>>1]|0)+la*+(d[sa+(F<<1)>>1]|0))+(ma*+(d[ta>>1]|0)+na*+(d[ta+(v<<1)>>1]|0)+oa*+(d[ta+(i<<1)>>1]|0)+pa*+(d[ta+(F<<1)>>1]|0)))|0;d[Q+(qa<<1)>>1]=(ua+32768|0)>>>0<65536?ua:(ua|0)>0?32767:32768;qa=qa+1|0;if((qa|0)==(v|0))break;else ra=ta+(G<<1)|0}}else{if(!(H?!(q>>>0>V>>>0&r>>>0>T>>>0):0))E=17;a:do if((E|0)==17){E=0;if(h?Y<<16>>16<-2|(U<<16>>16<-2|(q|0)<(V|0)|(r|0)<(T|0)):0){DVa(S|0,l|0,L|0)|0;break}ra=X(lM(W,q,a)|0,v)|0;f[m>>2]=ra;qa=lM(Z,r,a)|0;ta=X(lM(V,q,a)|0,v)|0;f[I>>2]=ta;ua=lM(T,r,a)|0;sa=X(lM(V+1|0,q,a)|0,v)|0;f[J>>2]=sa;$=lM(T+1|0,r,a)|0;va=X(lM(V+2|0,q,a)|0,v)|0;f[K>>2]=va;wa=lM(T+2|0,r,a)|0;xa=X(qa,x)|0;ya=(qa|0)<0;za=_+16|0;Aa=X(ua,x)|0;Ba=(ua|0)<0;Ca=za+16|0;Da=X($,x)|0;Ea=($|0)<0;Fa=Ca+16|0;Ga=X(wa,x)|0;Ha=(wa|0)<0;Ia=Fa+4|0;Ja=Fa+8|0;Ka=Fa+12|0;La=Ca+4|0;Ma=Ca+8|0;Na=Ca+12|0;Oa=za+4|0;Pa=za+8|0;Qa=za+12|0;Ra=_+4|0;Sa=_+8|0;Ta=_+12|0;Ua=X(qa,x)|0;Va=(qa|0)<0;Wa=_+16|0;Xa=X(ua,x)|0;Ya=(ua|0)<0;Za=Wa+16|0;_a=X($,x)|0;$a=($|0)<0;ab=Za+16|0;bb=X(wa,x)|0;cb=(wa|0)<0;db=ab+4|0;eb=ab+8|0;fb=ab+12|0;ab=Za+4|0;gb=Za+8|0;hb=Za+12|0;Za=Wa+4|0;ib=Wa+8|0;jb=Wa+12|0;Wa=_+4|0;kb=_+8|0;lb=_+12|0;mb=X(qa,x)|0;nb=(qa|0)<0;qa=_+16|0;ob=X(ua,x)|0;pb=(ua|0)<0;ua=_+32|0;qb=X($,x)|0;rb=($|0)<0;$=_+48|0;sb=X(wa,x)|0;tb=(wa|0)<0;wa=$+8|0;ub=$+12|0;$=ua+8|0;vb=ua+12|0;ua=qa+8|0;wb=qa+12|0;qa=_+8|0;xb=_+12|0;yb=0;zb=w;Ab=ra;ra=ta;ta=sa;sa=va;while(1){pa=+(d[l+(yb<<1)>>1]|0);va=(ra|0)>-1;Bb=(ta|0)>-1;Cb=(sa|0)>-1;do if((Ab|0)>-1){Db=zb+(xa<<1)|0;if(!ya){oa=+n[_>>2]*(+(d[Db+(Ab<<1)>>1]|0)-pa)+pa;if(va)Eb=oa+ +n[Ra>>2]*(+(d[Db+(ra<<1)>>1]|0)-pa);else Eb=oa;if(Bb)Fb=Eb+ +n[Sa>>2]*(+(d[Db+(ta<<1)>>1]|0)-pa);else Fb=Eb;if(Cb)Gb=Fb+ +n[Ta>>2]*(+(d[Db+(sa<<1)>>1]|0)-pa);else Gb=Fb}else Gb=pa;Db=zb+(Aa<<1)|0;if(!Ba){oa=Gb+ +n[za>>2]*(+(d[Db+(Ab<<1)>>1]|0)-pa);if(va)Hb=oa+ +n[Oa>>2]*(+(d[Db+(ra<<1)>>1]|0)-pa);else Hb=oa;if(Bb)Ib=Hb+ +n[Pa>>2]*(+(d[Db+(ta<<1)>>1]|0)-pa);else Ib=Hb;if(Cb)Jb=Ib+ +n[Qa>>2]*(+(d[Db+(sa<<1)>>1]|0)-pa);else Jb=Ib}else Jb=Gb;Db=zb+(Da<<1)|0;if(!Ea){oa=Jb+ +n[Ca>>2]*(+(d[Db+(Ab<<1)>>1]|0)-pa);if(va)Kb=oa+ +n[La>>2]*(+(d[Db+(ra<<1)>>1]|0)-pa);else Kb=oa;if(Bb)Lb=Kb+ +n[Ma>>2]*(+(d[Db+(ta<<1)>>1]|0)-pa);else Lb=Kb;if(Cb)Mb=Lb+ +n[Na>>2]*(+(d[Db+(sa<<1)>>1]|0)-pa);else Mb=Lb}else Mb=Jb;Db=zb+(Ga<<1)|0;if(!Ha){oa=Mb+ +n[Fa>>2]*(+(d[Db+(Ab<<1)>>1]|0)-pa);if(va)Nb=oa+ +n[Ia>>2]*(+(d[Db+(ra<<1)>>1]|0)-pa);else Nb=oa;if(Bb)Ob=Nb+ +n[Ja>>2]*(+(d[Db+(ta<<1)>>1]|0)-pa);else Ob=Nb;if(Cb)Pb=Ob+ +n[Ka>>2]*(+(d[Db+(sa<<1)>>1]|0)-pa);else Pb=Ob}else Pb=Mb}else if(va){Db=zb+(Ua<<1)|0;if(!Va){oa=+n[Wa>>2]*(+(d[Db+(ra<<1)>>1]|0)-pa)+pa;if(Bb)Qb=oa+ +n[kb>>2]*(+(d[Db+(ta<<1)>>1]|0)-pa);else Qb=oa;if(Cb)Rb=Qb+ +n[lb>>2]*(+(d[Db+(sa<<1)>>1]|0)-pa);else Rb=Qb}else Rb=pa;Db=zb+(Xa<<1)|0;if(!Ya){oa=Rb+ +n[Za>>2]*(+(d[Db+(ra<<1)>>1]|0)-pa);if(Bb)Sb=oa+ +n[ib>>2]*(+(d[Db+(ta<<1)>>1]|0)-pa);else Sb=oa;if(Cb)Tb=Sb+ +n[jb>>2]*(+(d[Db+(sa<<1)>>1]|0)-pa);else Tb=Sb}else Tb=Rb;Db=zb+(_a<<1)|0;do if($a)Ub=Tb;else{oa=Tb+ +n[ab>>2]*(+(d[Db+(ra<<1)>>1]|0)-pa);if(Bb)Vb=oa+ +n[gb>>2]*(+(d[Db+(ta<<1)>>1]|0)-pa);else Vb=oa;if(!Cb){Ub=Vb;break}Ub=Vb+ +n[hb>>2]*(+(d[Db+(sa<<1)>>1]|0)-pa)}while(0);Db=zb+(bb<<1)|0;if(cb){Pb=Ub;break}oa=Ub+ +n[db>>2]*(+(d[Db+(ra<<1)>>1]|0)-pa);if(Bb)Wb=oa+ +n[eb>>2]*(+(d[Db+(ta<<1)>>1]|0)-pa);else Wb=oa;if(!Cb){Pb=Wb;break}Pb=Wb+ +n[fb>>2]*(+(d[Db+(sa<<1)>>1]|0)-pa);break}else{Db=zb+(mb<<1)|0;if(!nb){if(Bb)Xb=+n[qa>>2]*(+(d[Db+(ta<<1)>>1]|0)-pa)+pa;else Xb=pa;if(Cb)Yb=Xb+ +n[xb>>2]*(+(d[Db+(sa<<1)>>1]|0)-pa);else Yb=Xb}else Yb=pa;Db=zb+(ob<<1)|0;if(!pb){if(Bb)Zb=Yb+ +n[ua>>2]*(+(d[Db+(ta<<1)>>1]|0)-pa);else Zb=Yb;if(Cb)_b=Zb+ +n[wb>>2]*(+(d[Db+(sa<<1)>>1]|0)-pa);else _b=Zb}else _b=Yb;Db=zb+(qb<<1)|0;do if(rb)$b=_b;else{if(Bb)ac=_b+ +n[$>>2]*(+(d[Db+(ta<<1)>>1]|0)-pa);else ac=_b;if(!Cb){$b=ac;break}$b=ac+ +n[vb>>2]*(+(d[Db+(sa<<1)>>1]|0)-pa)}while(0);Db=zb+(sb<<1)|0;if(tb){Pb=$b;break}if(Bb)bc=$b+ +n[wa>>2]*(+(d[Db+(ta<<1)>>1]|0)-pa);else bc=$b;if(!Cb){Pb=bc;break}Pb=bc+ +n[ub>>2]*(+(d[Db+(sa<<1)>>1]|0)-pa);break}while(0);Cb=HEa(Pb)|0;d[Q+(yb<<1)>>1]=(Cb+32768|0)>>>0<65536?Cb:(Cb|0)>0?32767:32768;Cb=yb+1|0;if((Cb|0)==(v|0))break a;yb=Cb;zb=zb+2|0;Ab=f[m>>2]|0;ra=f[I>>2]|0;ta=f[J>>2]|0;sa=f[K>>2]|0}}while(0)}R=R+1|0;if((R|0)==(B|0))break;else Q=Q+(v<<1)|0}}o=o+1|0}while((o|0)!=(C|0));u=k;return}function rga(a,b,c,e,g,h,i){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0.0,mb=0,nb=0,ob=0,pb=0.0,qb=0.0,rb=0.0,sb=0.0,tb=0.0,ub=0.0,vb=0.0,wb=0.0,xb=0.0,yb=0.0,zb=0.0,Ab=0.0,Bb=0.0,Cb=0.0,Db=0.0,Eb=0.0,Fb=0.0,Gb=0.0,Hb=0.0,Ib=0.0,Jb=0.0,Kb=0.0,Lb=0.0,Mb=0.0,Nb=0.0,Ob=0.0,Pb=0.0;k=u;u=u+2064|0;l=k+16|0;m=k;o=f[a+40>>2]|0;q=f[o+4>>2]|0;r=f[o>>2]|0;o=f[b+40>>2]|0;s=f[o+4>>2]|0;t=f[o>>2]|0;o=(f[a>>2]|0)>>>3&511;v=o+1|0;w=f[a+16>>2]|0;x=(f[a+48>>2]|0)>>>2;a=0;do{n[l+(a<<2)>>2]=+p[i+((a&3)<<3)>>3];a=a+1|0}while((a|0)!=(v|0));a=(h|0)!=5?h:4;i=q+-3|0;y=(i|0)>0?i:0;i=r+-3|0;z=(i|0)>0?i:0;if((f[b>>2]&16384|0)!=0?(f[c>>2]&16384|0)!=0:0){i=(f[e>>2]&16384|0)!=0;A=X(i?t:1,s)|0;if(i){B=A;C=1}else{D=A;E=6}}else{D=s;E=6}if((E|0)==6)if((t|0)>0){B=D;C=t}else{u=k;return}t=b+16|0;D=b+44|0;b=c+16|0;s=c+44|0;c=e+16|0;A=e+44|0;e=(B|0)>0;i=v<<1;F=v*3|0;G=(X(x,-3)|0)+1|0;H=(h|0)==5;h=(a|0)==0;I=m+4|0;J=m+8|0;K=m+12|0;L=(o<<2)+4|0;o=0;do{M=f[t>>2]|0;N=X(f[f[D>>2]>>2]|0,o)|0;O=(f[b>>2]|0)+(X(f[f[s>>2]>>2]|0,o)|0)|0;P=(f[c>>2]|0)+(X(f[f[A>>2]>>2]|0,o)|0)|0;if(e){Q=M+N|0;R=0;while(1){S=M+(N+(X(L,R)|0))|0;T=R<<1;U=d[O+(T<<1)>>1]|0;V=U<<16>>16;W=V+-1|0;Y=d[O+((T|1)<<1)>>1]|0;T=Y<<16>>16;Z=T+-1|0;_=g+((j[P+(R<<1)>>1]|0)<<4<<2)|0;if(W>>>0>>0&Z>>>0>>0){$=_+4|0;aa=_+8|0;ba=_+12|0;ca=_+16|0;da=_+20|0;ea=_+24|0;fa=_+28|0;ga=_+32|0;ha=_+36|0;ia=_+40|0;ja=_+44|0;ka=_+48|0;la=_+52|0;ma=_+56|0;na=_+60|0;oa=0;pa=w+((X(Z,x)|0)<<2)+((X(W,v)|0)<<2)|0;while(1){qa=pa+(x<<2)|0;ra=qa+(x<<2)|0;sa=ra+(x<<2)|0;n[Q+(oa<<2)>>2]=+n[pa>>2]*+n[_>>2]+ +n[pa+(v<<2)>>2]*+n[$>>2]+ +n[pa+(i<<2)>>2]*+n[aa>>2]+ +n[pa+(F<<2)>>2]*+n[ba>>2]+(+n[qa>>2]*+n[ca>>2]+ +n[qa+(v<<2)>>2]*+n[da>>2]+ +n[qa+(i<<2)>>2]*+n[ea>>2]+ +n[qa+(F<<2)>>2]*+n[fa>>2])+(+n[ra>>2]*+n[ga>>2]+ +n[ra+(v<<2)>>2]*+n[ha>>2]+ +n[ra+(i<<2)>>2]*+n[ia>>2]+ +n[ra+(F<<2)>>2]*+n[ja>>2])+(+n[sa>>2]*+n[ka>>2]+ +n[sa+(v<<2)>>2]*+n[la>>2]+ +n[sa+(i<<2)>>2]*+n[ma>>2]+ +n[sa+(F<<2)>>2]*+n[na>>2]);oa=oa+1|0;if((oa|0)==(v|0))break;else pa=sa+(G<<2)|0}}else{if(!(H?!(q>>>0>V>>>0&r>>>0>T>>>0):0))E=17;a:do if((E|0)==17){E=0;if(h?Y<<16>>16<-2|(U<<16>>16<-2|(q|0)<(V|0)|(r|0)<(T|0)):0){DVa(S|0,l|0,L|0)|0;break}pa=X(lM(W,q,a)|0,v)|0;f[m>>2]=pa;oa=lM(Z,r,a)|0;na=X(lM(V,q,a)|0,v)|0;f[I>>2]=na;ma=lM(T,r,a)|0;la=X(lM(V+1|0,q,a)|0,v)|0;f[J>>2]=la;ka=lM(T+1|0,r,a)|0;ja=X(lM(V+2|0,q,a)|0,v)|0;f[K>>2]=ja;ia=lM(T+2|0,r,a)|0;ha=X(oa,x)|0;ga=(oa|0)<0;fa=_+16|0;ea=X(ma,x)|0;da=(ma|0)<0;ca=fa+16|0;ba=X(ka,x)|0;aa=(ka|0)<0;$=ca+16|0;sa=X(ia,x)|0;ra=(ia|0)<0;qa=$+4|0;ta=$+8|0;ua=$+12|0;va=ca+4|0;wa=ca+8|0;xa=ca+12|0;ya=fa+4|0;za=fa+8|0;Aa=fa+12|0;Ba=_+4|0;Ca=_+8|0;Da=_+12|0;Ea=X(oa,x)|0;Fa=(oa|0)<0;Ga=_+16|0;Ha=X(ma,x)|0;Ia=(ma|0)<0;Ja=Ga+16|0;Ka=X(ka,x)|0;La=(ka|0)<0;Ma=Ja+16|0;Na=X(ia,x)|0;Oa=(ia|0)<0;Pa=Ma+4|0;Qa=Ma+8|0;Ra=Ma+12|0;Ma=Ja+4|0;Sa=Ja+8|0;Ta=Ja+12|0;Ja=Ga+4|0;Ua=Ga+8|0;Va=Ga+12|0;Ga=_+4|0;Wa=_+8|0;Xa=_+12|0;Ya=X(oa,x)|0;Za=(oa|0)<0;oa=_+16|0;_a=X(ma,x)|0;$a=(ma|0)<0;ma=_+32|0;ab=X(ka,x)|0;bb=(ka|0)<0;ka=_+48|0;cb=X(ia,x)|0;db=(ia|0)<0;ia=ka+8|0;eb=ka+12|0;ka=ma+8|0;fb=ma+12|0;ma=oa+8|0;gb=oa+12|0;oa=_+8|0;hb=_+12|0;ib=0;jb=w;kb=pa;pa=na;na=la;la=ja;while(1){lb=+n[l+(ib<<2)>>2];ja=(pa|0)>-1;mb=(na|0)>-1;nb=(la|0)>-1;do if((kb|0)>-1){ob=jb+(ha<<2)|0;if(!ga){pb=lb+(+n[ob+(kb<<2)>>2]-lb)*+n[_>>2];if(ja)qb=pb+(+n[ob+(pa<<2)>>2]-lb)*+n[Ba>>2];else qb=pb;if(mb)rb=qb+(+n[ob+(na<<2)>>2]-lb)*+n[Ca>>2];else rb=qb;if(nb)sb=rb+(+n[ob+(la<<2)>>2]-lb)*+n[Da>>2];else sb=rb}else sb=lb;ob=jb+(ea<<2)|0;if(!da){pb=sb+(+n[ob+(kb<<2)>>2]-lb)*+n[fa>>2];if(ja)tb=pb+(+n[ob+(pa<<2)>>2]-lb)*+n[ya>>2];else tb=pb;if(mb)ub=tb+(+n[ob+(na<<2)>>2]-lb)*+n[za>>2];else ub=tb;if(nb)vb=ub+(+n[ob+(la<<2)>>2]-lb)*+n[Aa>>2];else vb=ub}else vb=sb;ob=jb+(ba<<2)|0;if(!aa){pb=vb+(+n[ob+(kb<<2)>>2]-lb)*+n[ca>>2];if(ja)wb=pb+(+n[ob+(pa<<2)>>2]-lb)*+n[va>>2];else wb=pb;if(mb)xb=wb+(+n[ob+(na<<2)>>2]-lb)*+n[wa>>2];else xb=wb;if(nb)yb=xb+(+n[ob+(la<<2)>>2]-lb)*+n[xa>>2];else yb=xb}else yb=vb;ob=jb+(sa<<2)|0;if(!ra){pb=yb+(+n[ob+(kb<<2)>>2]-lb)*+n[$>>2];if(ja)zb=pb+(+n[ob+(pa<<2)>>2]-lb)*+n[qa>>2];else zb=pb;if(mb)Ab=zb+(+n[ob+(na<<2)>>2]-lb)*+n[ta>>2];else Ab=zb;if(nb)Bb=Ab+(+n[ob+(la<<2)>>2]-lb)*+n[ua>>2];else Bb=Ab}else Bb=yb}else if(ja){ob=jb+(Ea<<2)|0;if(!Fa){pb=lb+(+n[ob+(pa<<2)>>2]-lb)*+n[Ga>>2];if(mb)Cb=pb+(+n[ob+(na<<2)>>2]-lb)*+n[Wa>>2];else Cb=pb;if(nb)Db=Cb+(+n[ob+(la<<2)>>2]-lb)*+n[Xa>>2];else Db=Cb}else Db=lb;ob=jb+(Ha<<2)|0;if(!Ia){pb=Db+(+n[ob+(pa<<2)>>2]-lb)*+n[Ja>>2];if(mb)Eb=pb+(+n[ob+(na<<2)>>2]-lb)*+n[Ua>>2];else Eb=pb;if(nb)Fb=Eb+(+n[ob+(la<<2)>>2]-lb)*+n[Va>>2];else Fb=Eb}else Fb=Db;ob=jb+(Ka<<2)|0;do if(La)Gb=Fb;else{pb=Fb+(+n[ob+(pa<<2)>>2]-lb)*+n[Ma>>2];if(mb)Hb=pb+(+n[ob+(na<<2)>>2]-lb)*+n[Sa>>2];else Hb=pb;if(!nb){Gb=Hb;break}Gb=Hb+(+n[ob+(la<<2)>>2]-lb)*+n[Ta>>2]}while(0);ob=jb+(Na<<2)|0;if(Oa){Bb=Gb;break}pb=Gb+(+n[ob+(pa<<2)>>2]-lb)*+n[Pa>>2];if(mb)Ib=pb+(+n[ob+(na<<2)>>2]-lb)*+n[Qa>>2];else Ib=pb;if(!nb){Bb=Ib;break}Bb=Ib+(+n[ob+(la<<2)>>2]-lb)*+n[Ra>>2];break}else{ob=jb+(Ya<<2)|0;if(!Za){if(mb)Jb=lb+(+n[ob+(na<<2)>>2]-lb)*+n[oa>>2];else Jb=lb;if(nb)Kb=Jb+(+n[ob+(la<<2)>>2]-lb)*+n[hb>>2];else Kb=Jb}else Kb=lb;ob=jb+(_a<<2)|0;if(!$a){if(mb)Lb=Kb+(+n[ob+(na<<2)>>2]-lb)*+n[ma>>2];else Lb=Kb;if(nb)Mb=Lb+(+n[ob+(la<<2)>>2]-lb)*+n[gb>>2];else Mb=Lb}else Mb=Kb;ob=jb+(ab<<2)|0;do if(bb)Nb=Mb;else{if(mb)Ob=Mb+(+n[ob+(na<<2)>>2]-lb)*+n[ka>>2];else Ob=Mb;if(!nb){Nb=Ob;break}Nb=Ob+(+n[ob+(la<<2)>>2]-lb)*+n[fb>>2]}while(0);ob=jb+(cb<<2)|0;if(db){Bb=Nb;break}if(mb)Pb=Nb+(+n[ob+(na<<2)>>2]-lb)*+n[ia>>2];else Pb=Nb;if(!nb){Bb=Pb;break}Bb=Pb+(+n[ob+(la<<2)>>2]-lb)*+n[eb>>2];break}while(0);n[Q+(ib<<2)>>2]=Bb;nb=ib+1|0;if((nb|0)==(v|0))break a;ib=nb;jb=jb+4|0;kb=f[m>>2]|0;pa=f[I>>2]|0;na=f[J>>2]|0;la=f[K>>2]|0}}while(0)}R=R+1|0;if((R|0)==(B|0))break;else Q=Q+(v<<2)|0}}o=o+1|0}while((o|0)!=(C|0));u=k;return}function sga(a,b,c,e,g,h,i){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0.0,Fb=0.0,Gb=0.0,Hb=0.0,Ib=0.0,Jb=0.0,Kb=0.0,Lb=0.0,Mb=0.0,Nb=0.0,Ob=0.0,Pb=0.0,Qb=0.0,Rb=0.0,Sb=0.0,Tb=0.0,Ub=0.0,Vb=0.0,Wb=0.0,Xb=0.0,Yb=0.0,Zb=0.0,_b=0.0,$b=0.0,ac=0.0,bc=0.0;k=u;u=u+4112|0;l=k;m=k+4096|0;o=f[a+40>>2]|0;q=f[o+4>>2]|0;r=f[o>>2]|0;o=f[b+40>>2]|0;s=f[o+4>>2]|0;t=f[o>>2]|0;o=(f[a>>2]|0)>>>3&511;v=o+1|0;w=f[a+16>>2]|0;x=(f[a+48>>2]|0)>>>3;a=0;do{p[l+(a<<3)>>3]=+p[i+((a&3)<<3)>>3];a=a+1|0}while((a|0)!=(v|0));a=(h|0)!=5?h:4;i=q+-3|0;y=(i|0)>0?i:0;i=r+-3|0;z=(i|0)>0?i:0;if((f[b>>2]&16384|0)!=0?(f[c>>2]&16384|0)!=0:0){i=(f[e>>2]&16384|0)!=0;A=X(i?t:1,s)|0;if(i){B=A;C=1}else{D=A;E=6}}else{D=s;E=6}if((E|0)==6)if((t|0)>0){B=D;C=t}else{u=k;return}t=b+16|0;D=b+44|0;b=c+16|0;s=c+44|0;c=e+16|0;A=e+44|0;e=(B|0)>0;i=v<<1;F=v*3|0;G=(X(x,-3)|0)+1|0;H=(h|0)==5;h=(a|0)==0;I=m+4|0;J=m+8|0;K=m+12|0;L=(o<<3)+8|0;o=0;do{M=f[t>>2]|0;N=X(f[f[D>>2]>>2]|0,o)|0;O=(f[b>>2]|0)+(X(f[f[s>>2]>>2]|0,o)|0)|0;P=(f[c>>2]|0)+(X(f[f[A>>2]>>2]|0,o)|0)|0;if(e){Q=M+N|0;R=0;while(1){S=M+(N+(X(L,R)|0))|0;T=R<<1;U=d[O+(T<<1)>>1]|0;V=U<<16>>16;W=V+-1|0;Y=d[O+((T|1)<<1)>>1]|0;T=Y<<16>>16;Z=T+-1|0;_=g+((j[P+(R<<1)>>1]|0)<<4<<2)|0;if(W>>>0>>0&Z>>>0>>0){$=w+((X(Z,x)|0)<<3)+((X(W,v)|0)<<3)|0;aa=+n[_>>2];ba=+n[_+4>>2];ca=+n[_+8>>2];da=+n[_+12>>2];ea=+n[_+16>>2];fa=+n[_+20>>2];ga=+n[_+24>>2];ha=+n[_+28>>2];ia=+n[_+32>>2];ja=+n[_+36>>2];ka=+n[_+40>>2];la=+n[_+44>>2];ma=+n[_+48>>2];na=+n[_+52>>2];oa=+n[_+56>>2];pa=+n[_+60>>2];qa=0;ra=$;while(1){$=ra+(x<<3)|0;sa=$+(x<<3)|0;ta=sa+(x<<3)|0;p[Q+(qa<<3)>>3]=+p[ra>>3]*aa+ +p[ra+(v<<3)>>3]*ba+ +p[ra+(i<<3)>>3]*ca+ +p[ra+(F<<3)>>3]*da+(+p[$>>3]*ea+ +p[$+(v<<3)>>3]*fa+ +p[$+(i<<3)>>3]*ga+ +p[$+(F<<3)>>3]*ha)+(+p[sa>>3]*ia+ +p[sa+(v<<3)>>3]*ja+ +p[sa+(i<<3)>>3]*ka+ +p[sa+(F<<3)>>3]*la)+(+p[ta>>3]*ma+ +p[ta+(v<<3)>>3]*na+ +p[ta+(i<<3)>>3]*oa+ +p[ta+(F<<3)>>3]*pa);qa=qa+1|0;if((qa|0)==(v|0))break;else ra=ta+(G<<3)|0}}else{if(!(H?!(q>>>0>V>>>0&r>>>0>T>>>0):0))E=17;a:do if((E|0)==17){E=0;if(h?Y<<16>>16<-2|(U<<16>>16<-2|(q|0)<(V|0)|(r|0)<(T|0)):0){DVa(S|0,l|0,L|0)|0;break}ra=X(lM(W,q,a)|0,v)|0;f[m>>2]=ra;qa=lM(Z,r,a)|0;ta=X(lM(V,q,a)|0,v)|0;f[I>>2]=ta;sa=lM(T,r,a)|0;$=X(lM(V+1|0,q,a)|0,v)|0;f[J>>2]=$;ua=lM(T+1|0,r,a)|0;va=X(lM(V+2|0,q,a)|0,v)|0;f[K>>2]=va;wa=lM(T+2|0,r,a)|0;xa=X(qa,x)|0;ya=(qa|0)<0;za=_+16|0;Aa=X(sa,x)|0;Ba=(sa|0)<0;Ca=za+16|0;Da=X(ua,x)|0;Ea=(ua|0)<0;Fa=Ca+16|0;Ga=X(wa,x)|0;Ha=(wa|0)<0;Ia=Fa+4|0;Ja=Fa+8|0;Ka=Fa+12|0;La=Ca+4|0;Ma=Ca+8|0;Na=Ca+12|0;Oa=za+4|0;Pa=za+8|0;Qa=za+12|0;Ra=_+4|0;Sa=_+8|0;Ta=_+12|0;Ua=X(qa,x)|0;Va=(qa|0)<0;Wa=_+16|0;Xa=X(sa,x)|0;Ya=(sa|0)<0;Za=Wa+16|0;_a=X(ua,x)|0;$a=(ua|0)<0;ab=Za+16|0;bb=X(wa,x)|0;cb=(wa|0)<0;db=ab+4|0;eb=ab+8|0;fb=ab+12|0;ab=Za+4|0;gb=Za+8|0;hb=Za+12|0;Za=Wa+4|0;ib=Wa+8|0;jb=Wa+12|0;Wa=_+4|0;kb=_+8|0;lb=_+12|0;mb=X(qa,x)|0;nb=(qa|0)<0;qa=_+16|0;ob=X(sa,x)|0;pb=(sa|0)<0;sa=_+32|0;qb=X(ua,x)|0;rb=(ua|0)<0;ua=_+48|0;sb=X(wa,x)|0;tb=(wa|0)<0;wa=ua+8|0;ub=ua+12|0;ua=sa+8|0;vb=sa+12|0;sa=qa+8|0;wb=qa+12|0;qa=_+8|0;xb=_+12|0;yb=0;zb=w;Ab=ra;ra=ta;ta=$;$=va;while(1){pa=+p[l+(yb<<3)>>3];va=(ra|0)>-1;Bb=(ta|0)>-1;Cb=($|0)>-1;do if((Ab|0)>-1){Db=zb+(xa<<3)|0;if(!ya){oa=pa+(+p[Db+(Ab<<3)>>3]-pa)*+n[_>>2];if(va)Eb=oa+(+p[Db+(ra<<3)>>3]-pa)*+n[Ra>>2];else Eb=oa;if(Bb)Fb=Eb+(+p[Db+(ta<<3)>>3]-pa)*+n[Sa>>2];else Fb=Eb;if(Cb)Gb=Fb+(+p[Db+($<<3)>>3]-pa)*+n[Ta>>2];else Gb=Fb}else Gb=pa;Db=zb+(Aa<<3)|0;if(!Ba){oa=Gb+(+p[Db+(Ab<<3)>>3]-pa)*+n[za>>2];if(va)Hb=oa+(+p[Db+(ra<<3)>>3]-pa)*+n[Oa>>2];else Hb=oa;if(Bb)Ib=Hb+(+p[Db+(ta<<3)>>3]-pa)*+n[Pa>>2];else Ib=Hb;if(Cb)Jb=Ib+(+p[Db+($<<3)>>3]-pa)*+n[Qa>>2];else Jb=Ib}else Jb=Gb;Db=zb+(Da<<3)|0;if(!Ea){oa=Jb+(+p[Db+(Ab<<3)>>3]-pa)*+n[Ca>>2];if(va)Kb=oa+(+p[Db+(ra<<3)>>3]-pa)*+n[La>>2];else Kb=oa;if(Bb)Lb=Kb+(+p[Db+(ta<<3)>>3]-pa)*+n[Ma>>2];else Lb=Kb;if(Cb)Mb=Lb+(+p[Db+($<<3)>>3]-pa)*+n[Na>>2];else Mb=Lb}else Mb=Jb;Db=zb+(Ga<<3)|0;if(!Ha){oa=Mb+(+p[Db+(Ab<<3)>>3]-pa)*+n[Fa>>2];if(va)Nb=oa+(+p[Db+(ra<<3)>>3]-pa)*+n[Ia>>2];else Nb=oa;if(Bb)Ob=Nb+(+p[Db+(ta<<3)>>3]-pa)*+n[Ja>>2];else Ob=Nb;if(Cb)Pb=Ob+(+p[Db+($<<3)>>3]-pa)*+n[Ka>>2];else Pb=Ob}else Pb=Mb}else if(va){Db=zb+(Ua<<3)|0;if(!Va){oa=pa+(+p[Db+(ra<<3)>>3]-pa)*+n[Wa>>2];if(Bb)Qb=oa+(+p[Db+(ta<<3)>>3]-pa)*+n[kb>>2];else Qb=oa;if(Cb)Rb=Qb+(+p[Db+($<<3)>>3]-pa)*+n[lb>>2];else Rb=Qb}else Rb=pa;Db=zb+(Xa<<3)|0;if(!Ya){oa=Rb+(+p[Db+(ra<<3)>>3]-pa)*+n[Za>>2];if(Bb)Sb=oa+(+p[Db+(ta<<3)>>3]-pa)*+n[ib>>2];else Sb=oa;if(Cb)Tb=Sb+(+p[Db+($<<3)>>3]-pa)*+n[jb>>2];else Tb=Sb}else Tb=Rb;Db=zb+(_a<<3)|0;do if($a)Ub=Tb;else{oa=Tb+(+p[Db+(ra<<3)>>3]-pa)*+n[ab>>2];if(Bb)Vb=oa+(+p[Db+(ta<<3)>>3]-pa)*+n[gb>>2];else Vb=oa;if(!Cb){Ub=Vb;break}Ub=Vb+(+p[Db+($<<3)>>3]-pa)*+n[hb>>2]}while(0);Db=zb+(bb<<3)|0;if(cb){Pb=Ub;break}oa=Ub+(+p[Db+(ra<<3)>>3]-pa)*+n[db>>2];if(Bb)Wb=oa+(+p[Db+(ta<<3)>>3]-pa)*+n[eb>>2];else Wb=oa;if(!Cb){Pb=Wb;break}Pb=Wb+(+p[Db+($<<3)>>3]-pa)*+n[fb>>2];break}else{Db=zb+(mb<<3)|0;if(!nb){if(Bb)Xb=pa+(+p[Db+(ta<<3)>>3]-pa)*+n[qa>>2];else Xb=pa;if(Cb)Yb=Xb+(+p[Db+($<<3)>>3]-pa)*+n[xb>>2];else Yb=Xb}else Yb=pa;Db=zb+(ob<<3)|0;if(!pb){if(Bb)Zb=Yb+(+p[Db+(ta<<3)>>3]-pa)*+n[sa>>2];else Zb=Yb;if(Cb)_b=Zb+(+p[Db+($<<3)>>3]-pa)*+n[wb>>2];else _b=Zb}else _b=Yb;Db=zb+(qb<<3)|0;do if(rb)$b=_b;else{if(Bb)ac=_b+(+p[Db+(ta<<3)>>3]-pa)*+n[ua>>2];else ac=_b;if(!Cb){$b=ac;break}$b=ac+(+p[Db+($<<3)>>3]-pa)*+n[vb>>2]}while(0);Db=zb+(sb<<3)|0;if(tb){Pb=$b;break}if(Bb)bc=$b+(+p[Db+(ta<<3)>>3]-pa)*+n[wa>>2];else bc=$b;if(!Cb){Pb=bc;break}Pb=bc+(+p[Db+($<<3)>>3]-pa)*+n[ub>>2];break}while(0);p[Q+(yb<<3)>>3]=Pb;Cb=yb+1|0;if((Cb|0)==(v|0))break a;yb=Cb;zb=zb+8|0;Ab=f[m>>2]|0;ra=f[I>>2]|0;ta=f[J>>2]|0;$=f[K>>2]|0}}while(0)}R=R+1|0;if((R|0)==(B|0))break;else Q=Q+(v<<3)|0}}o=o+1|0}while((o|0)!=(C|0));u=k;return}function tga(a,c,e,g,i,k,l){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;var m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0;m=u;u=u+528|0;n=m+8|0;o=m;q=f[a+40>>2]|0;r=f[q+4>>2]|0;s=f[q>>2]|0;q=f[c+40>>2]|0;t=f[q+4>>2]|0;v=f[q>>2]|0;q=(f[a>>2]|0)>>>3;w=q&511;x=w+1|0;y=f[a+16>>2]|0;z=f[a+48>>2]|0;a=0;do{A=AEa(+p[l+((a&3)<<3)>>3])|0;b[n+a>>0]=A>>>0<256?A:(A|0)>0?255:0;a=a+1|0}while((a|0)!=(x|0));a=r+-1|0;l=(a|0)>0?a:0;A=s+-1|0;B=(A|0)>0?A:0;if((X(s,r)|0)<=0){f[o>>2]=0;f[o+4>>2]=0;C=JV(o,16)|0;D=229954;E=C+16|0;do{b[C>>0]=b[D>>0]|0;C=C+1|0;D=D+1|0}while((C|0)<(E|0));EP(-215,o,229971,229369,662);KV(o)}if((v|0)<=0){u=m;return}o=c+16|0;D=c+44|0;c=e+16|0;C=e+44|0;e=g+16|0;E=g+44|0;g=(t|0)<0;F=(k|0)==5;G=F&(x|0)!=3;H=(w|0)==0;w=(k|0)==0;I=(k|0)==1;J=q&65535;q=z+1|0;K=z+2|0;L=z+3|0;M=z+4|0;N=z+5|0;O=z+6|0;P=z+7|0;Q=0;do{R=(f[c>>2]|0)+(X(f[f[C>>2]>>2]|0,Q)|0)|0;S=(f[e>>2]|0)+(X(f[f[E>>2]>>2]|0,Q)|0)|0;if(!g){T=(f[o>>2]|0)+(X(f[f[D>>2]>>2]|0,Q)|0)|0;U=0;V=0;W=0;while(1){do if((W|0)<(t|0)){Y=W<<1;if(l>>>0<=(d[R+(Y<<1)>>1]|0)>>>0)if(V){Z=18;break}else{_=T;$=W;aa=U;ba=0;break}else{ca=B>>>0>(d[R+((Y|1)<<1)>>1]|0)>>>0;Z=16;break}}else{ca=V^1;Z=16}while(0);do if((Z|0)==16){Z=0;if(V^ca)if(ca){if(G){_=T+(X(W-U|0,x)|0)|0;$=W;aa=W;ba=1;break}Y=(W|0)>(U|0);if(H){if(!Y){_=T;$=U;aa=W;ba=1;break}da=W-U|0;ea=U;fa=T;while(1){ga=ea<<1;ha=d[R+(ga<<1)>>1]|0;ia=ha<<16>>16;ja=d[R+((ga|1)<<1)>>1]|0;ga=ja<<16>>16;do if(w)if(ja<<16>>16<-1|ha<<16>>16>-2&(r|0)>(ia|0)&(s|0)>(ga|0)^1){ka=b[n>>0]|0;break}else{la=i+(j[S+(ea<<1)>>1]<<2<<1)|0;Z=49;break}else{ma=i+(j[S+(ea<<1)>>1]<<2<<1)|0;if(I){na=ha<<16>>16>-1?((r|0)>(ia|0)?ia:a):0;oa=ia+1|0;pa=ha<<16>>16>-2?((oa|0)<(r|0)?oa:a):0;oa=ga+1|0;qa=X(ja<<16>>16>-1?((s|0)>(ga|0)?ga:A):0,z)|0;ra=X(ja<<16>>16>-2?((oa|0)<(s|0)?oa:A):0,z)|0;sa=y+(ra+pa)|0;ta=y+(ra+na)|0;ua=y+(qa+pa)|0;va=y+(qa+na)|0;wa=ma;Z=50}else{la=ma;Z=49}}while(0);if((Z|0)==49){Z=0;ja=lM(ia,r,k)|0;ha=lM(ia+1|0,r,k)|0;ma=lM(ga,s,k)|0;na=lM(ga+1|0,s,k)|0;qa=X(ma,z)|0;pa=X(na,z)|0;sa=(na|ha|0)>-1?y+(pa+ha)|0:n;ta=(na|ja|0)>-1?y+(pa+ja)|0:n;ua=(ma|ha|0)>-1?y+(qa+ha)|0:n;va=(ma|ja|0)>-1?y+(qa+ja)|0:n;wa=la;Z=50}if((Z|0)==50){Z=0;ja=X(d[wa>>1]|0,h[va>>0]|0)|0;qa=X(d[wa+2>>1]|0,h[ua>>0]|0)|0;ma=X(d[wa+4>>1]|0,h[ta>>0]|0)|0;ha=ja+16384+qa+ma+(X(d[wa+6>>1]|0,h[sa>>0]|0)|0)>>15;ka=(ha>>>0<256?ha:(ha|0)>0?255:0)&255}b[fa>>0]=ka;ea=ea+1|0;if((ea|0)==(W|0))break;else fa=fa+1|0}_=T+da|0;$=W;aa=W;ba=1;break}if(Y){fa=X(x,W+-1-U|0)|0;ea=U;ha=T;while(1){ma=ea<<1;qa=d[R+(ma<<1)>>1]|0;ja=qa<<16>>16;pa=d[R+((ma|1)<<1)>>1]|0;ma=pa<<16>>16;do if(w)if(pa<<16>>16<-1|qa<<16>>16>-2&(r|0)>(ja|0)&(s|0)>(ma|0)^1){na=0;do{b[ha+na>>0]=b[n+na>>0]|0;na=na+1|0}while((na|0)!=(x|0))}else{xa=i+(j[S+(ea<<1)>>1]<<2<<1)|0;Z=58;break}else{na=i+(j[S+(ea<<1)>>1]<<2<<1)|0;if(I){ra=ja+1|0;oa=ma+1|0;ya=y+(X(pa<<16>>16>-1?((s|0)>(ma|0)?ma:A):0,z)|0)|0;za=X(qa<<16>>16>-1?((r|0)>(ja|0)?ja:a):0,x)|0;Aa=X(qa<<16>>16>-2?((ra|0)<(r|0)?ra:a):0,x)|0;ra=y+(X(pa<<16>>16>-2?((oa|0)<(s|0)?oa:A):0,z)|0)|0;Ba=ra+Aa|0;Ca=ra+za|0;Da=ya+Aa|0;Ea=ya+za|0;Fa=na;Z=61}else{xa=na;Z=58}}while(0);do if((Z|0)==58){Z=0;if(F?!(a>>>0>ja>>>0&A>>>0>ma>>>0):0)break;pa=lM(ja,r,k)|0;qa=lM(ja+1|0,r,k)|0;ga=lM(ma,s,k)|0;ia=lM(ma+1|0,s,k)|0;na=y+(X(ga,z)|0)|0;za=X(pa,x)|0;ya=X(qa,x)|0;Aa=y+(X(ia,z)|0)|0;Ba=(ia|qa|0)>-1?Aa+ya|0:n;Ca=(ia|pa|0)>-1?Aa+za|0:n;Da=(ga|qa|0)>-1?na+ya|0:n;Ea=(ga|pa|0)>-1?na+za|0:n;Fa=xa;Z=61}while(0);if((Z|0)==61){Z=0;ma=Fa+2|0;ja=Fa+4|0;za=Fa+6|0;na=0;do{pa=X(d[Fa>>1]|0,h[Ea+na>>0]|0)|0;ga=X(d[ma>>1]|0,h[Da+na>>0]|0)|0;ya=X(d[ja>>1]|0,h[Ca+na>>0]|0)|0;qa=pa+16384+ga+ya+(X(d[za>>1]|0,h[Ba+na>>0]|0)|0)>>15;b[ha+na>>0]=qa>>>0<256?qa:(qa|0)>0?255:0;na=na+1|0}while((na|0)!=(x|0))}ea=ea+1|0;if((ea|0)==(W|0))break;else ha=ha+x|0}_=T+x+fa|0;$=W;aa=W;ba=1}else{_=T;$=U;aa=W;ba=1}}else Z=18;else{_=T;$=W;aa=U;ba=V}}while(0);a:do if((Z|0)==18){Z=0;switch(J&511){case 0:{if((W|0)<=(U|0)){_=T;$=U;aa=W;ba=0;break a}ha=W-U|0;ea=T;Y=U;while(1){da=Y<<1;na=i+(j[S+(Y<<1)>>1]<<2<<1)|0;za=y+(X(z,d[R+((da|1)<<1)>>1]|0)|0)+(d[R+(da<<1)>>1]|0)|0;da=X(d[na>>1]|0,h[za>>0]|0)|0;ja=X(d[na+2>>1]|0,h[za+1>>0]|0)|0;ma=X(d[na+4>>1]|0,h[za+z>>0]|0)|0;qa=da+16384+ja+ma+(X(d[na+6>>1]|0,h[za+q>>0]|0)|0)>>15;b[ea>>0]=qa>>>0<256?qa:(qa|0)>0?255:0;Y=Y+1|0;if((Y|0)==(W|0))break;else ea=ea+1|0}_=T+ha|0;$=W;aa=W;ba=0;break a;break}case 1:{if((W|0)<=(U|0)){_=T;$=U;aa=W;ba=0;break a}ea=W-U<<1;Y=T;fa=U;while(1){qa=fa<<1;za=i+(j[S+(fa<<1)>>1]<<2<<1)|0;na=y+(X(z,d[R+((qa|1)<<1)>>1]|0)|0)+(d[R+(qa<<1)>>1]<<1)|0;qa=d[za>>1]|0;ma=X(qa,h[na>>0]|0)|0;ja=d[za+2>>1]|0;da=X(ja,h[na+2>>0]|0)|0;ya=d[za+4>>1]|0;ga=X(ya,h[na+z>>0]|0)|0;pa=d[za+6>>1]|0;za=X(pa,h[na+K>>0]|0)|0;Aa=X(h[na+1>>0]|0,qa)|0;qa=X(h[na+3>>0]|0,ja)|0;ja=X(h[na+q>>0]|0,ya)|0;ya=X(h[na+L>>0]|0,pa)|0;pa=ma+16384+da+ga+za>>15;b[Y>>0]=pa>>>0<256?pa:(pa|0)>0?255:0;pa=Aa+16384+qa+ja+ya>>15;b[Y+1>>0]=pa>>>0<256?pa:(pa|0)>0?255:0;fa=fa+1|0;if((fa|0)==(W|0))break;else Y=Y+2|0}_=T+ea|0;$=W;aa=W;ba=0;break a;break}case 2:{if((W|0)<=(U|0)){_=T;$=U;aa=W;ba=0;break a}Y=(W-U|0)*3|0;fa=T;ha=U;while(1){pa=ha<<1;ya=i+(j[S+(ha<<1)>>1]<<2<<1)|0;ja=y+(X(z,d[R+((pa|1)<<1)>>1]|0)|0)+((d[R+(pa<<1)>>1]|0)*3|0)|0;pa=d[ya>>1]|0;qa=X(pa,h[ja>>0]|0)|0;Aa=d[ya+2>>1]|0;za=X(Aa,h[ja+3>>0]|0)|0;ga=d[ya+4>>1]|0;da=X(ga,h[ja+z>>0]|0)|0;ma=d[ya+6>>1]|0;ya=X(ma,h[ja+L>>0]|0)|0;na=X(h[ja+1>>0]|0,pa)|0;ia=X(h[ja+4>>0]|0,Aa)|0;ra=X(h[ja+q>>0]|0,ga)|0;oa=X(h[ja+M>>0]|0,ma)|0;Ga=X(h[ja+2>>0]|0,pa)|0;pa=X(h[ja+5>>0]|0,Aa)|0;Aa=X(h[ja+K>>0]|0,ga)|0;ga=X(h[ja+N>>0]|0,ma)|0;ma=qa+16384+za+da+ya>>15;b[fa>>0]=ma>>>0<256?ma:(ma|0)>0?255:0;ma=na+16384+ia+ra+oa>>15;b[fa+1>>0]=ma>>>0<256?ma:(ma|0)>0?255:0;ma=Ga+16384+pa+Aa+ga>>15;b[fa+2>>0]=ma>>>0<256?ma:(ma|0)>0?255:0;ha=ha+1|0;if((ha|0)==(W|0))break;else fa=fa+3|0}_=T+Y|0;$=W;aa=W;ba=0;break a;break}case 3:{if((W|0)<=(U|0)){_=T;$=U;aa=W;ba=0;break a}fa=W-U<<2;ha=U;ea=T;while(1){ma=ha<<1;ga=i+(j[S+(ha<<1)>>1]<<2<<1)|0;Aa=y+(X(z,d[R+((ma|1)<<1)>>1]|0)|0)+(d[R+(ma<<1)>>1]<<2)|0;ma=d[ga>>1]|0;pa=X(ma,h[Aa>>0]|0)|0;Ga=ga+2|0;oa=d[Ga>>1]|0;ra=X(oa,h[Aa+4>>0]|0)|0;ia=ga+4|0;na=d[ia>>1]|0;ya=X(na,h[Aa+z>>0]|0)|0;da=ga+6|0;za=d[da>>1]|0;qa=X(za,h[Aa+M>>0]|0)|0;ja=X(h[Aa+1>>0]|0,ma)|0;ma=X(h[Aa+5>>0]|0,oa)|0;oa=X(h[Aa+q>>0]|0,na)|0;na=X(h[Aa+N>>0]|0,za)|0;za=pa+16384+ra+ya+qa>>15;b[ea>>0]=za>>>0<256?za:(za|0)>0?255:0;za=ja+16384+ma+oa+na>>15;b[ea+1>>0]=za>>>0<256?za:(za|0)>0?255:0;za=d[ga>>1]|0;ga=X(za,h[Aa+2>>0]|0)|0;na=d[Ga>>1]|0;Ga=X(na,h[Aa+6>>0]|0)|0;oa=d[ia>>1]|0;ia=X(oa,h[Aa+K>>0]|0)|0;ma=d[da>>1]|0;da=X(ma,h[Aa+O>>0]|0)|0;ja=X(h[Aa+3>>0]|0,za)|0;za=X(h[Aa+7>>0]|0,na)|0;na=X(h[Aa+L>>0]|0,oa)|0;oa=X(h[Aa+P>>0]|0,ma)|0;ma=ga+16384+Ga+ia+da>>15;b[ea+2>>0]=ma>>>0<256?ma:(ma|0)>0?255:0;ma=ja+16384+za+na+oa>>15;b[ea+3>>0]=ma>>>0<256?ma:(ma|0)>0?255:0;ha=ha+1|0;if((ha|0)==(W|0))break;else ea=ea+4|0}_=T+fa|0;$=W;aa=W;ba=0;break a;break}default:{if((W|0)<=(U|0)){_=T;$=U;aa=W;ba=0;break a}ea=X(x,W+-1-U|0)|0;ha=U;Y=T;while(1){ma=ha<<1;oa=i+(j[S+(ha<<1)>>1]<<2<<1)|0;na=y+(X(z,d[R+((ma|1)<<1)>>1]|0)|0)+(X(x,d[R+(ma<<1)>>1]|0)|0)|0;ma=oa+2|0;za=oa+4|0;ja=oa+6|0;da=0;do{ia=X(d[oa>>1]|0,h[na+da>>0]|0)|0;Ga=X(d[ma>>1]|0,h[na+(da+x)>>0]|0)|0;ga=da+z|0;Aa=X(d[za>>1]|0,h[na+ga>>0]|0)|0;qa=ia+16384+Ga+Aa+(X(d[ja>>1]|0,h[na+(ga+x)>>0]|0)|0)>>15;b[Y+da>>0]=qa>>>0<256?qa:(qa|0)>0?255:0;da=da+1|0}while((da|0)!=(x|0));ha=ha+1|0;if((ha|0)==(W|0))break;else Y=Y+x|0}_=T+x+ea|0;$=W;aa=W;ba=0;break a}}}while(0);if(($|0)<(t|0)){T=_;U=aa;V=ba;W=$+1|0}else break}}Q=Q+1|0}while((Q|0)!=(v|0));u=m;return}function uga(a,c,e,g,h,i,k){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;k=k|0;var l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0.0,Ma=0.0,Na=0.0,Oa=0.0,Pa=0.0,Qa=0.0;l=u;u=u+1040|0;m=l+8|0;o=l;q=f[a+40>>2]|0;r=f[q+4>>2]|0;s=f[q>>2]|0;q=f[c+40>>2]|0;t=f[q+4>>2]|0;v=f[q>>2]|0;q=(f[a>>2]|0)>>>3;w=q&511;x=w+1|0;y=f[a+16>>2]|0;z=f[a+48>>2]|0;a=0;do{A=AEa(+p[k+((a&3)<<3)>>3])|0;d[m+(a<<1)>>1]=A>>>0<65536?A:(A|0)>0?65535:0;a=a+1|0}while((a|0)!=(x|0));a=z>>>1;z=r+-1|0;k=(z|0)>0?z:0;A=s+-1|0;B=(A|0)>0?A:0;if((X(s,r)|0)<=0){f[o>>2]=0;f[o+4>>2]=0;C=JV(o,16)|0;D=229954;E=C+16|0;do{b[C>>0]=b[D>>0]|0;C=C+1|0;D=D+1|0}while((C|0)<(E|0));EP(-215,o,229971,229369,662);KV(o)}if((v|0)<=0){u=l;return}o=c+16|0;D=c+44|0;c=e+16|0;C=e+44|0;e=g+16|0;E=g+44|0;g=(t|0)<0;F=(i|0)==5;G=F&(x|0)!=3;H=(w|0)==0;I=(i|0)==0;J=(i|0)==1;K=q&65535;q=a+1|0;L=a+2|0;M=a+3|0;N=a+4|0;O=a+5|0;P=a+6|0;Q=a+7|0;R=(w<<1)+2|0;w=0;do{S=(f[c>>2]|0)+(X(f[f[C>>2]>>2]|0,w)|0)|0;T=(f[e>>2]|0)+(X(f[f[E>>2]>>2]|0,w)|0)|0;if(!g){U=(f[o>>2]|0)+(X(f[f[D>>2]>>2]|0,w)|0)|0;V=0;W=0;Y=0;while(1){do if((Y|0)<(t|0)){Z=Y<<1;if(k>>>0<=(d[S+(Z<<1)>>1]|0)>>>0)if(W){_=18;break}else{$=U;aa=Y;ba=V;ca=0;break}else{da=B>>>0>(d[S+((Z|1)<<1)>>1]|0)>>>0;_=16;break}}else{da=W^1;_=16}while(0);do if((_|0)==16){_=0;if(W^da)if(da){if(G){$=U+((X(Y-V|0,x)|0)<<1)|0;aa=Y;ba=Y;ca=1;break}Z=(Y|0)>(V|0);if(H){if(!Z){$=U;aa=V;ba=Y;ca=1;break}ea=Y-V|0;fa=V;ga=U;while(1){ha=fa<<1;ia=d[S+(ha<<1)>>1]|0;ja=ia<<16>>16;ka=d[S+((ha|1)<<1)>>1]|0;ha=ka<<16>>16;do if(I)if(ka<<16>>16<-1|ia<<16>>16>-2&(r|0)>(ja|0)&(s|0)>(ha|0)^1){la=d[m>>1]|0;break}else{ma=h+(j[T+(fa<<1)>>1]<<2<<2)|0;_=49;break}else{na=h+(j[T+(fa<<1)>>1]<<2<<2)|0;if(J){oa=ia<<16>>16>-1?((r|0)>(ja|0)?ja:z):0;pa=ja+1|0;qa=ia<<16>>16>-2?((pa|0)<(r|0)?pa:z):0;pa=ha+1|0;ra=X(ka<<16>>16>-1?((s|0)>(ha|0)?ha:A):0,a)|0;sa=X(ka<<16>>16>-2?((pa|0)<(s|0)?pa:A):0,a)|0;ta=y+(sa+qa<<1)|0;ua=d[y+(sa+oa<<1)>>1]|0;va=d[y+(ra+qa<<1)>>1]|0;wa=d[y+(ra+oa<<1)>>1]|0;xa=na;_=57}else{ma=na;_=49}}while(0);do if((_|0)==49){_=0;ka=lM(ja,r,i)|0;ia=lM(ja+1|0,r,i)|0;na=lM(ha,s,i)|0;oa=lM(ha+1|0,s,i)|0;if((na|ka|0)>-1)ya=y+((X(na,a)|0)+ka<<1)|0;else ya=m;ra=d[ya>>1]|0;if((na|ia|0)>-1)za=y+((X(na,a)|0)+ia<<1)|0;else za=m;na=d[za>>1]|0;if((oa|ka|0)>-1)Aa=y+((X(oa,a)|0)+ka<<1)|0;else Aa=m;ka=d[Aa>>1]|0;if((oa|ia|0)<=-1){ta=m;ua=ka;va=na;wa=ra;xa=ma;_=57;break}ta=y+((X(oa,a)|0)+ia<<1)|0;ua=ka;va=na;wa=ra;xa=ma;_=57}while(0);if((_|0)==57){_=0;ha=HEa(+n[xa>>2]*+(wa&65535)+ +n[xa+4>>2]*+(va&65535)+ +n[xa+8>>2]*+(ua&65535)+ +n[xa+12>>2]*+(j[ta>>1]|0))|0;la=(ha>>>0<65536?ha:(ha|0)>0?65535:0)&65535}d[ga>>1]=la;fa=fa+1|0;if((fa|0)==(Y|0))break;else ga=ga+2|0}$=U+(ea<<1)|0;aa=Y;ba=Y;ca=1;break}if(Z){ga=U+(x<<1)+(X(R,Y+-1-V|0)|0)|0;fa=V;ha=U;while(1){ja=fa<<1;ra=d[S+(ja<<1)>>1]|0;na=ra<<16>>16;ka=d[S+((ja|1)<<1)>>1]|0;ja=ka<<16>>16;do if(I)if(ka<<16>>16<-1|ra<<16>>16>-2&(r|0)>(na|0)&(s|0)>(ja|0)^1){ia=0;do{d[ha+(ia<<1)>>1]=d[m+(ia<<1)>>1]|0;ia=ia+1|0}while((ia|0)!=(x|0))}else{Ba=h+(j[T+(fa<<1)>>1]<<2<<2)|0;_=65;break}else{ia=h+(j[T+(fa<<1)>>1]<<2<<2)|0;if(J){oa=na+1|0;qa=ja+1|0;sa=y+((X(ka<<16>>16>-1?((s|0)>(ja|0)?ja:A):0,a)|0)<<1)|0;pa=X(ra<<16>>16>-1?((r|0)>(na|0)?na:z):0,x)|0;Ca=X(ra<<16>>16>-2?((oa|0)<(r|0)?oa:z):0,x)|0;oa=y+((X(ka<<16>>16>-2?((qa|0)<(s|0)?qa:A):0,a)|0)<<1)|0;Da=oa+(Ca<<1)|0;Ea=oa+(pa<<1)|0;Fa=sa+(Ca<<1)|0;Ga=sa+(pa<<1)|0;Ha=ia;_=75}else{Ba=ia;_=65}}while(0);do if((_|0)==65){_=0;if(F?!(z>>>0>na>>>0&A>>>0>ja>>>0):0)break;ka=lM(na,r,i)|0;ra=lM(na+1|0,r,i)|0;ia=lM(ja,s,i)|0;pa=lM(ja+1|0,s,i)|0;if((ia|ka|0)>-1)Ia=y+((X(ia,a)|0)<<1)+((X(ka,x)|0)<<1)|0;else Ia=m;if((ia|ra|0)>-1)Ja=y+((X(ia,a)|0)<<1)+((X(ra,x)|0)<<1)|0;else Ja=m;if((pa|ka|0)>-1)Ka=y+((X(pa,a)|0)<<1)+((X(ka,x)|0)<<1)|0;else Ka=m;if((pa|ra|0)<=-1){Da=m;Ea=Ka;Fa=Ja;Ga=Ia;Ha=Ba;_=75;break}Da=y+((X(pa,a)|0)<<1)+((X(ra,x)|0)<<1)|0;Ea=Ka;Fa=Ja;Ga=Ia;Ha=Ba;_=75}while(0);if((_|0)==75){_=0;La=+n[Ha>>2];Ma=+n[Ha+4>>2];Na=+n[Ha+8>>2];Oa=+n[Ha+12>>2];ja=0;do{na=HEa(La*+(j[Ga+(ja<<1)>>1]|0)+Ma*+(j[Fa+(ja<<1)>>1]|0)+Na*+(j[Ea+(ja<<1)>>1]|0)+Oa*+(j[Da+(ja<<1)>>1]|0))|0;d[ha+(ja<<1)>>1]=na>>>0<65536?na:(na|0)>0?65535:0;ja=ja+1|0}while((ja|0)!=(x|0))}fa=fa+1|0;if((fa|0)==(Y|0))break;else ha=ha+(x<<1)|0}$=ga;aa=Y;ba=Y;ca=1}else{$=U;aa=V;ba=Y;ca=1}}else _=18;else{$=U;aa=Y;ba=V;ca=W}}while(0);a:do if((_|0)==18){_=0;switch(K&511){case 0:{if((Y|0)<=(V|0)){$=U;aa=V;ba=Y;ca=0;break a}ha=Y-V|0;fa=U;Z=V;while(1){ea=Z<<1;ja=h+(j[T+(Z<<1)>>1]<<2<<2)|0;na=y+((X(a,d[S+((ea|1)<<1)>>1]|0)|0)<<1)+(d[S+(ea<<1)>>1]<<1)|0;ea=HEa(+n[ja>>2]*+(j[na>>1]|0)+ +n[ja+4>>2]*+(j[na+2>>1]|0)+ +n[ja+8>>2]*+(j[na+(a<<1)>>1]|0)+ +n[ja+12>>2]*+(j[na+(q<<1)>>1]|0))|0;d[fa>>1]=ea>>>0<65536?ea:(ea|0)>0?65535:0;Z=Z+1|0;if((Z|0)==(Y|0))break;else fa=fa+2|0}$=U+(ha<<1)|0;aa=Y;ba=Y;ca=0;break a;break}case 1:{if((Y|0)<=(V|0)){$=U;aa=V;ba=Y;ca=0;break a}fa=Y-V<<1;Z=U;ga=V;while(1){ea=ga<<1;na=h+(j[T+(ga<<1)>>1]<<2<<2)|0;ja=y+((X(a,d[S+((ea|1)<<1)>>1]|0)|0)<<1)+(d[S+(ea<<1)>>1]<<1<<1)|0;Oa=+n[na>>2];Na=+n[na+4>>2];Ma=+n[na+8>>2];La=+n[na+12>>2];Pa=Oa*+(j[ja+2>>1]|0)+Na*+(j[ja+6>>1]|0)+Ma*+(j[ja+(q<<1)>>1]|0)+La*+(j[ja+(M<<1)>>1]|0);na=HEa(Oa*+(j[ja>>1]|0)+Na*+(j[ja+4>>1]|0)+Ma*+(j[ja+(a<<1)>>1]|0)+La*+(j[ja+(L<<1)>>1]|0))|0;d[Z>>1]=na>>>0<65536?na:(na|0)>0?65535:0;na=HEa(Pa)|0;d[Z+2>>1]=na>>>0<65536?na:(na|0)>0?65535:0;ga=ga+1|0;if((ga|0)==(Y|0))break;else Z=Z+4|0}$=U+(fa<<1)|0;aa=Y;ba=Y;ca=0;break a;break}case 2:{if((Y|0)<=(V|0)){$=U;aa=V;ba=Y;ca=0;break a}Z=(Y-V|0)*3|0;ga=U;ha=V;while(1){na=ha<<1;ja=h+(j[T+(ha<<1)>>1]<<2<<2)|0;ea=y+((X(a,d[S+((na|1)<<1)>>1]|0)|0)<<1)+((d[S+(na<<1)>>1]|0)*3<<1)|0;Pa=+n[ja>>2];La=+n[ja+4>>2];Ma=+n[ja+8>>2];Na=+n[ja+12>>2];Oa=Pa*+(j[ea+2>>1]|0)+La*+(j[ea+8>>1]|0)+Ma*+(j[ea+(q<<1)>>1]|0)+Na*+(j[ea+(N<<1)>>1]|0);Qa=Pa*+(j[ea+4>>1]|0)+La*+(j[ea+10>>1]|0)+Ma*+(j[ea+(L<<1)>>1]|0)+Na*+(j[ea+(O<<1)>>1]|0);ja=HEa(Pa*+(j[ea>>1]|0)+La*+(j[ea+6>>1]|0)+Ma*+(j[ea+(a<<1)>>1]|0)+Na*+(j[ea+(M<<1)>>1]|0))|0;d[ga>>1]=ja>>>0<65536?ja:(ja|0)>0?65535:0;ja=HEa(Oa)|0;d[ga+2>>1]=ja>>>0<65536?ja:(ja|0)>0?65535:0;ja=HEa(Qa)|0;d[ga+4>>1]=ja>>>0<65536?ja:(ja|0)>0?65535:0;ha=ha+1|0;if((ha|0)==(Y|0))break;else ga=ga+6|0}$=U+(Z<<1)|0;aa=Y;ba=Y;ca=0;break a;break}case 3:{if((Y|0)<=(V|0)){$=U;aa=V;ba=Y;ca=0;break a}ga=Y-V<<2;ha=V;fa=U;while(1){ja=ha<<1;ea=h+(j[T+(ha<<1)>>1]<<2<<2)|0;na=y+((X(a,d[S+((ja|1)<<1)>>1]|0)|0)<<1)+(d[S+(ja<<1)>>1]<<2<<1)|0;Qa=+n[ea>>2];Oa=+n[ea+4>>2];Na=+n[ea+8>>2];Ma=+n[ea+12>>2];La=Qa*+(j[na+2>>1]|0)+Oa*+(j[na+10>>1]|0)+Na*+(j[na+(q<<1)>>1]|0)+Ma*+(j[na+(O<<1)>>1]|0);ea=HEa(Qa*+(j[na>>1]|0)+Oa*+(j[na+8>>1]|0)+Na*+(j[na+(a<<1)>>1]|0)+Ma*+(j[na+(N<<1)>>1]|0))|0;d[fa>>1]=ea>>>0<65536?ea:(ea|0)>0?65535:0;ea=HEa(La)|0;d[fa+2>>1]=ea>>>0<65536?ea:(ea|0)>0?65535:0;La=Qa*+(j[na+6>>1]|0)+Oa*+(j[na+14>>1]|0)+Na*+(j[na+(M<<1)>>1]|0)+Ma*+(j[na+(Q<<1)>>1]|0);ea=HEa(Qa*+(j[na+4>>1]|0)+Oa*+(j[na+12>>1]|0)+Na*+(j[na+(L<<1)>>1]|0)+Ma*+(j[na+(P<<1)>>1]|0))|0;d[fa+4>>1]=ea>>>0<65536?ea:(ea|0)>0?65535:0;ea=HEa(La)|0;d[fa+6>>1]=ea>>>0<65536?ea:(ea|0)>0?65535:0;ha=ha+1|0;if((ha|0)==(Y|0))break;else fa=fa+8|0}$=U+(ga<<1)|0;aa=Y;ba=Y;ca=0;break a;break}default:{if((Y|0)<=(V|0)){$=U;aa=V;ba=Y;ca=0;break a}fa=U+(x<<1)+(X(R,Y+-1-V|0)|0)|0;ha=V;Z=U;while(1){ea=ha<<1;na=h+(j[T+(ha<<1)>>1]<<2<<2)|0;ja=y+((X(a,d[S+((ea|1)<<1)>>1]|0)|0)<<1)+((X(x,d[S+(ea<<1)>>1]|0)|0)<<1)|0;La=+n[na>>2];Ma=+n[na+4>>2];Na=+n[na+8>>2];Oa=+n[na+12>>2];na=0;do{ea=na+a|0;ra=HEa(La*+(j[ja+(na<<1)>>1]|0)+Ma*+(j[ja+(na+x<<1)>>1]|0)+Na*+(j[ja+(ea<<1)>>1]|0)+Oa*+(j[ja+(ea+x<<1)>>1]|0))|0;d[Z+(na<<1)>>1]=ra>>>0<65536?ra:(ra|0)>0?65535:0;na=na+1|0}while((na|0)!=(x|0));ha=ha+1|0;if((ha|0)==(Y|0))break;else Z=Z+(x<<1)|0}$=fa;aa=Y;ba=Y;ca=0;break a}}}while(0);if((aa|0)<(t|0)){U=$;V=ba;W=ca;Y=aa+1|0}else break}}w=w+1|0}while((w|0)!=(v|0));u=l;return}function vga(a,c,e,g,h,i,k){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;k=k|0;var l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0.0,Ma=0.0,Na=0.0,Oa=0.0,Pa=0.0,Qa=0.0;l=u;u=u+1040|0;m=l+8|0;o=l;q=f[a+40>>2]|0;r=f[q+4>>2]|0;s=f[q>>2]|0;q=f[c+40>>2]|0;t=f[q+4>>2]|0;v=f[q>>2]|0;q=(f[a>>2]|0)>>>3;w=q&511;x=w+1|0;y=f[a+16>>2]|0;z=f[a+48>>2]|0;a=0;do{A=AEa(+p[k+((a&3)<<3)>>3])|0;d[m+(a<<1)>>1]=(A+32768|0)>>>0<65536?A:(A|0)>0?32767:32768;a=a+1|0}while((a|0)!=(x|0));a=z>>>1;z=r+-1|0;k=(z|0)>0?z:0;A=s+-1|0;B=(A|0)>0?A:0;if((X(s,r)|0)<=0){f[o>>2]=0;f[o+4>>2]=0;C=JV(o,16)|0;D=229954;E=C+16|0;do{b[C>>0]=b[D>>0]|0;C=C+1|0;D=D+1|0}while((C|0)<(E|0));EP(-215,o,229971,229369,662);KV(o)}if((v|0)<=0){u=l;return}o=c+16|0;D=c+44|0;c=e+16|0;C=e+44|0;e=g+16|0;E=g+44|0;g=(t|0)<0;F=(i|0)==5;G=F&(x|0)!=3;H=(w|0)==0;I=(i|0)==0;J=(i|0)==1;K=q&65535;q=a+1|0;L=a+2|0;M=a+3|0;N=a+4|0;O=a+5|0;P=a+6|0;Q=a+7|0;R=(w<<1)+2|0;w=0;do{S=(f[c>>2]|0)+(X(f[f[C>>2]>>2]|0,w)|0)|0;T=(f[e>>2]|0)+(X(f[f[E>>2]>>2]|0,w)|0)|0;if(!g){U=(f[o>>2]|0)+(X(f[f[D>>2]>>2]|0,w)|0)|0;V=0;W=0;Y=0;while(1){do if((Y|0)<(t|0)){Z=Y<<1;if(k>>>0<=(d[S+(Z<<1)>>1]|0)>>>0)if(W){_=18;break}else{$=U;aa=Y;ba=V;ca=0;break}else{da=B>>>0>(d[S+((Z|1)<<1)>>1]|0)>>>0;_=16;break}}else{da=W^1;_=16}while(0);do if((_|0)==16){_=0;if(W^da)if(da){if(G){$=U+((X(Y-V|0,x)|0)<<1)|0;aa=Y;ba=Y;ca=1;break}Z=(Y|0)>(V|0);if(H){if(!Z){$=U;aa=V;ba=Y;ca=1;break}ea=Y-V|0;fa=V;ga=U;while(1){ha=fa<<1;ia=d[S+(ha<<1)>>1]|0;ja=ia<<16>>16;ka=d[S+((ha|1)<<1)>>1]|0;ha=ka<<16>>16;do if(I)if(ka<<16>>16<-1|ia<<16>>16>-2&(r|0)>(ja|0)&(s|0)>(ha|0)^1){la=d[m>>1]|0;break}else{ma=h+(j[T+(fa<<1)>>1]<<2<<2)|0;_=49;break}else{na=h+(j[T+(fa<<1)>>1]<<2<<2)|0;if(J){oa=ia<<16>>16>-1?((r|0)>(ja|0)?ja:z):0;pa=ja+1|0;qa=ia<<16>>16>-2?((pa|0)<(r|0)?pa:z):0;pa=ha+1|0;ra=X(ka<<16>>16>-1?((s|0)>(ha|0)?ha:A):0,a)|0;sa=X(ka<<16>>16>-2?((pa|0)<(s|0)?pa:A):0,a)|0;ta=y+(sa+qa<<1)|0;ua=d[y+(sa+oa<<1)>>1]|0;va=d[y+(ra+qa<<1)>>1]|0;wa=d[y+(ra+oa<<1)>>1]|0;xa=na;_=57}else{ma=na;_=49}}while(0);do if((_|0)==49){_=0;ka=lM(ja,r,i)|0;ia=lM(ja+1|0,r,i)|0;na=lM(ha,s,i)|0;oa=lM(ha+1|0,s,i)|0;if((na|ka|0)>-1)ya=y+((X(na,a)|0)+ka<<1)|0;else ya=m;ra=d[ya>>1]|0;if((na|ia|0)>-1)za=y+((X(na,a)|0)+ia<<1)|0;else za=m;na=d[za>>1]|0;if((oa|ka|0)>-1)Aa=y+((X(oa,a)|0)+ka<<1)|0;else Aa=m;ka=d[Aa>>1]|0;if((oa|ia|0)<=-1){ta=m;ua=ka;va=na;wa=ra;xa=ma;_=57;break}ta=y+((X(oa,a)|0)+ia<<1)|0;ua=ka;va=na;wa=ra;xa=ma;_=57}while(0);if((_|0)==57){_=0;ha=HEa(+n[xa>>2]*+(wa<<16>>16)+ +n[xa+4>>2]*+(va<<16>>16)+ +n[xa+8>>2]*+(ua<<16>>16)+ +n[xa+12>>2]*+(d[ta>>1]|0))|0;la=((ha+32768|0)>>>0<65536?ha:(ha|0)>0?32767:32768)&65535}d[ga>>1]=la;fa=fa+1|0;if((fa|0)==(Y|0))break;else ga=ga+2|0}$=U+(ea<<1)|0;aa=Y;ba=Y;ca=1;break}if(Z){ga=U+(x<<1)+(X(R,Y+-1-V|0)|0)|0;fa=V;ha=U;while(1){ja=fa<<1;ra=d[S+(ja<<1)>>1]|0;na=ra<<16>>16;ka=d[S+((ja|1)<<1)>>1]|0;ja=ka<<16>>16;do if(I)if(ka<<16>>16<-1|ra<<16>>16>-2&(r|0)>(na|0)&(s|0)>(ja|0)^1){ia=0;do{d[ha+(ia<<1)>>1]=d[m+(ia<<1)>>1]|0;ia=ia+1|0}while((ia|0)!=(x|0))}else{Ba=h+(j[T+(fa<<1)>>1]<<2<<2)|0;_=65;break}else{ia=h+(j[T+(fa<<1)>>1]<<2<<2)|0;if(J){oa=na+1|0;qa=ja+1|0;sa=y+((X(ka<<16>>16>-1?((s|0)>(ja|0)?ja:A):0,a)|0)<<1)|0;pa=X(ra<<16>>16>-1?((r|0)>(na|0)?na:z):0,x)|0;Ca=X(ra<<16>>16>-2?((oa|0)<(r|0)?oa:z):0,x)|0;oa=y+((X(ka<<16>>16>-2?((qa|0)<(s|0)?qa:A):0,a)|0)<<1)|0;Da=oa+(Ca<<1)|0;Ea=oa+(pa<<1)|0;Fa=sa+(Ca<<1)|0;Ga=sa+(pa<<1)|0;Ha=ia;_=75}else{Ba=ia;_=65}}while(0);do if((_|0)==65){_=0;if(F?!(z>>>0>na>>>0&A>>>0>ja>>>0):0)break;ka=lM(na,r,i)|0;ra=lM(na+1|0,r,i)|0;ia=lM(ja,s,i)|0;pa=lM(ja+1|0,s,i)|0;if((ia|ka|0)>-1)Ia=y+((X(ia,a)|0)<<1)+((X(ka,x)|0)<<1)|0;else Ia=m;if((ia|ra|0)>-1)Ja=y+((X(ia,a)|0)<<1)+((X(ra,x)|0)<<1)|0;else Ja=m;if((pa|ka|0)>-1)Ka=y+((X(pa,a)|0)<<1)+((X(ka,x)|0)<<1)|0;else Ka=m;if((pa|ra|0)<=-1){Da=m;Ea=Ka;Fa=Ja;Ga=Ia;Ha=Ba;_=75;break}Da=y+((X(pa,a)|0)<<1)+((X(ra,x)|0)<<1)|0;Ea=Ka;Fa=Ja;Ga=Ia;Ha=Ba;_=75}while(0);if((_|0)==75){_=0;La=+n[Ha>>2];Ma=+n[Ha+4>>2];Na=+n[Ha+8>>2];Oa=+n[Ha+12>>2];ja=0;do{na=HEa(La*+(d[Ga+(ja<<1)>>1]|0)+Ma*+(d[Fa+(ja<<1)>>1]|0)+Na*+(d[Ea+(ja<<1)>>1]|0)+Oa*+(d[Da+(ja<<1)>>1]|0))|0;d[ha+(ja<<1)>>1]=(na+32768|0)>>>0<65536?na:(na|0)>0?32767:32768;ja=ja+1|0}while((ja|0)!=(x|0))}fa=fa+1|0;if((fa|0)==(Y|0))break;else ha=ha+(x<<1)|0}$=ga;aa=Y;ba=Y;ca=1}else{$=U;aa=V;ba=Y;ca=1}}else _=18;else{$=U;aa=Y;ba=V;ca=W}}while(0);a:do if((_|0)==18){_=0;switch(K&511){case 0:{if((Y|0)<=(V|0)){$=U;aa=V;ba=Y;ca=0;break a}ha=Y-V|0;fa=U;Z=V;while(1){ea=Z<<1;ja=h+(j[T+(Z<<1)>>1]<<2<<2)|0;na=y+((X(a,d[S+((ea|1)<<1)>>1]|0)|0)<<1)+(d[S+(ea<<1)>>1]<<1)|0;ea=HEa(+n[ja>>2]*+(d[na>>1]|0)+ +n[ja+4>>2]*+(d[na+2>>1]|0)+ +n[ja+8>>2]*+(d[na+(a<<1)>>1]|0)+ +n[ja+12>>2]*+(d[na+(q<<1)>>1]|0))|0;d[fa>>1]=(ea+32768|0)>>>0<65536?ea:(ea|0)>0?32767:32768;Z=Z+1|0;if((Z|0)==(Y|0))break;else fa=fa+2|0}$=U+(ha<<1)|0;aa=Y;ba=Y;ca=0;break a;break}case 1:{if((Y|0)<=(V|0)){$=U;aa=V;ba=Y;ca=0;break a}fa=Y-V<<1;Z=U;ga=V;while(1){ea=ga<<1;na=h+(j[T+(ga<<1)>>1]<<2<<2)|0;ja=y+((X(a,d[S+((ea|1)<<1)>>1]|0)|0)<<1)+(d[S+(ea<<1)>>1]<<1<<1)|0;Oa=+n[na>>2];Na=+n[na+4>>2];Ma=+n[na+8>>2];La=+n[na+12>>2];Pa=Oa*+(d[ja+2>>1]|0)+Na*+(d[ja+6>>1]|0)+Ma*+(d[ja+(q<<1)>>1]|0)+La*+(d[ja+(M<<1)>>1]|0);na=HEa(Oa*+(d[ja>>1]|0)+Na*+(d[ja+4>>1]|0)+Ma*+(d[ja+(a<<1)>>1]|0)+La*+(d[ja+(L<<1)>>1]|0))|0;d[Z>>1]=(na+32768|0)>>>0<65536?na:(na|0)>0?32767:32768;na=HEa(Pa)|0;d[Z+2>>1]=(na+32768|0)>>>0<65536?na:(na|0)>0?32767:32768;ga=ga+1|0;if((ga|0)==(Y|0))break;else Z=Z+4|0}$=U+(fa<<1)|0;aa=Y;ba=Y;ca=0;break a;break}case 2:{if((Y|0)<=(V|0)){$=U;aa=V;ba=Y;ca=0;break a}Z=(Y-V|0)*3|0;ga=U;ha=V;while(1){na=ha<<1;ja=h+(j[T+(ha<<1)>>1]<<2<<2)|0;ea=y+((X(a,d[S+((na|1)<<1)>>1]|0)|0)<<1)+((d[S+(na<<1)>>1]|0)*3<<1)|0;Pa=+n[ja>>2];La=+n[ja+4>>2];Ma=+n[ja+8>>2];Na=+n[ja+12>>2];Oa=Pa*+(d[ea+2>>1]|0)+La*+(d[ea+8>>1]|0)+Ma*+(d[ea+(q<<1)>>1]|0)+Na*+(d[ea+(N<<1)>>1]|0);Qa=Pa*+(d[ea+4>>1]|0)+La*+(d[ea+10>>1]|0)+Ma*+(d[ea+(L<<1)>>1]|0)+Na*+(d[ea+(O<<1)>>1]|0);ja=HEa(Pa*+(d[ea>>1]|0)+La*+(d[ea+6>>1]|0)+Ma*+(d[ea+(a<<1)>>1]|0)+Na*+(d[ea+(M<<1)>>1]|0))|0;d[ga>>1]=(ja+32768|0)>>>0<65536?ja:(ja|0)>0?32767:32768;ja=HEa(Oa)|0;d[ga+2>>1]=(ja+32768|0)>>>0<65536?ja:(ja|0)>0?32767:32768;ja=HEa(Qa)|0;d[ga+4>>1]=(ja+32768|0)>>>0<65536?ja:(ja|0)>0?32767:32768;ha=ha+1|0;if((ha|0)==(Y|0))break;else ga=ga+6|0}$=U+(Z<<1)|0;aa=Y;ba=Y;ca=0;break a;break}case 3:{if((Y|0)<=(V|0)){$=U;aa=V;ba=Y;ca=0;break a}ga=Y-V<<2;ha=V;fa=U;while(1){ja=ha<<1;ea=h+(j[T+(ha<<1)>>1]<<2<<2)|0;na=y+((X(a,d[S+((ja|1)<<1)>>1]|0)|0)<<1)+(d[S+(ja<<1)>>1]<<2<<1)|0;Qa=+n[ea>>2];Oa=+n[ea+4>>2];Na=+n[ea+8>>2];Ma=+n[ea+12>>2];La=Qa*+(d[na+2>>1]|0)+Oa*+(d[na+10>>1]|0)+Na*+(d[na+(q<<1)>>1]|0)+Ma*+(d[na+(O<<1)>>1]|0);ea=HEa(Qa*+(d[na>>1]|0)+Oa*+(d[na+8>>1]|0)+Na*+(d[na+(a<<1)>>1]|0)+Ma*+(d[na+(N<<1)>>1]|0))|0;d[fa>>1]=(ea+32768|0)>>>0<65536?ea:(ea|0)>0?32767:32768;ea=HEa(La)|0;d[fa+2>>1]=(ea+32768|0)>>>0<65536?ea:(ea|0)>0?32767:32768;La=Qa*+(d[na+6>>1]|0)+Oa*+(d[na+14>>1]|0)+Na*+(d[na+(M<<1)>>1]|0)+Ma*+(d[na+(Q<<1)>>1]|0);ea=HEa(Qa*+(d[na+4>>1]|0)+Oa*+(d[na+12>>1]|0)+Na*+(d[na+(L<<1)>>1]|0)+Ma*+(d[na+(P<<1)>>1]|0))|0;d[fa+4>>1]=(ea+32768|0)>>>0<65536?ea:(ea|0)>0?32767:32768;ea=HEa(La)|0;d[fa+6>>1]=(ea+32768|0)>>>0<65536?ea:(ea|0)>0?32767:32768;ha=ha+1|0;if((ha|0)==(Y|0))break;else fa=fa+8|0}$=U+(ga<<1)|0;aa=Y;ba=Y;ca=0;break a;break}default:{if((Y|0)<=(V|0)){$=U;aa=V;ba=Y;ca=0;break a}fa=U+(x<<1)+(X(R,Y+-1-V|0)|0)|0;ha=V;Z=U;while(1){ea=ha<<1;na=h+(j[T+(ha<<1)>>1]<<2<<2)|0;ja=y+((X(a,d[S+((ea|1)<<1)>>1]|0)|0)<<1)+((X(x,d[S+(ea<<1)>>1]|0)|0)<<1)|0;La=+n[na>>2];Ma=+n[na+4>>2];Na=+n[na+8>>2];Oa=+n[na+12>>2];na=0;do{ea=na+a|0;ra=HEa(La*+(d[ja+(na<<1)>>1]|0)+Ma*+(d[ja+(na+x<<1)>>1]|0)+Na*+(d[ja+(ea<<1)>>1]|0)+Oa*+(d[ja+(ea+x<<1)>>1]|0))|0;d[Z+(na<<1)>>1]=(ra+32768|0)>>>0<65536?ra:(ra|0)>0?32767:32768;na=na+1|0}while((na|0)!=(x|0));ha=ha+1|0;if((ha|0)==(Y|0))break;else Z=Z+(x<<1)|0}$=fa;aa=Y;ba=Y;ca=0;break a}}}while(0);if((aa|0)<(t|0)){U=$;V=ba;W=ca;Y=aa+1|0}else break}}w=w+1|0}while((w|0)!=(v|0));u=l;return}function wga(a,c,e,g,h,i,k){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;k=k|0;var l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0.0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0.0,va=0.0,wa=0.0,xa=0,ya=0,za=0.0,Aa=0,Ba=0.0,Ca=0,Da=0.0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0.0,Pa=0.0,Qa=0.0;l=u;u=u+2064|0;m=l+8|0;o=l;q=f[a+40>>2]|0;r=f[q+4>>2]|0;s=f[q>>2]|0;q=f[c+40>>2]|0;t=f[q+4>>2]|0;v=f[q>>2]|0;q=(f[a>>2]|0)>>>3;w=q&511;x=w+1|0;y=f[a+16>>2]|0;z=f[a+48>>2]|0;a=0;do{n[m+(a<<2)>>2]=+p[k+((a&3)<<3)>>3];a=a+1|0}while((a|0)!=(x|0));a=z>>>2;z=r+-1|0;k=(z|0)>0?z:0;A=s+-1|0;B=(A|0)>0?A:0;if((X(s,r)|0)<=0){f[o>>2]=0;f[o+4>>2]=0;C=JV(o,16)|0;D=229954;E=C+16|0;do{b[C>>0]=b[D>>0]|0;C=C+1|0;D=D+1|0}while((C|0)<(E|0));EP(-215,o,229971,229369,662);KV(o)}if((v|0)<=0){u=l;return}o=c+16|0;D=c+44|0;c=e+16|0;C=e+44|0;e=g+16|0;E=g+44|0;g=(t|0)<0;F=(i|0)==5;G=F&(x|0)!=3;H=(w|0)==0;I=(i|0)==0;J=(i|0)==1;K=q&65535;q=a+1|0;L=a+2|0;M=a+3|0;N=a+4|0;O=a+5|0;P=a+6|0;Q=a+7|0;R=(w<<2)+4|0;w=0;do{S=(f[c>>2]|0)+(X(f[f[C>>2]>>2]|0,w)|0)|0;T=(f[e>>2]|0)+(X(f[f[E>>2]>>2]|0,w)|0)|0;if(!g){U=(f[o>>2]|0)+(X(f[f[D>>2]>>2]|0,w)|0)|0;V=0;W=0;Y=0;while(1){do if((Y|0)<(t|0)){Z=Y<<1;if(k>>>0<=(d[S+(Z<<1)>>1]|0)>>>0)if(W){_=18;break}else{$=U;aa=Y;ba=V;ca=0;break}else{da=B>>>0>(d[S+((Z|1)<<1)>>1]|0)>>>0;_=16;break}}else{da=W^1;_=16}while(0);do if((_|0)==16){_=0;if(W^da)if(da){if(G){$=U+((X(Y-V|0,x)|0)<<2)|0;aa=Y;ba=Y;ca=1;break}Z=(Y|0)>(V|0);if(H){if(!Z){$=U;aa=V;ba=Y;ca=1;break}ea=Y-V|0;fa=V;ga=U;while(1){ha=fa<<1;ia=d[S+(ha<<1)>>1]|0;ja=ia<<16>>16;ka=d[S+((ha|1)<<1)>>1]|0;ha=ka<<16>>16;do if(I)if(ka<<16>>16<-1|ia<<16>>16>-2&(r|0)>(ja|0)&(s|0)>(ha|0)^1){la=+n[m>>2];break}else{ma=h+(j[T+(fa<<1)>>1]<<2<<2)|0;_=49;break}else{na=h+(j[T+(fa<<1)>>1]<<2<<2)|0;if(J){oa=ia<<16>>16>-1?((r|0)>(ja|0)?ja:z):0;pa=ja+1|0;qa=ia<<16>>16>-2?((pa|0)<(r|0)?pa:z):0;pa=ha+1|0;ra=X(ka<<16>>16>-1?((s|0)>(ha|0)?ha:A):0,a)|0;sa=X(ka<<16>>16>-2?((pa|0)<(s|0)?pa:A):0,a)|0;ta=y+(sa+qa<<2)|0;ua=+n[y+(sa+oa<<2)>>2];va=+n[y+(ra+qa<<2)>>2];wa=+n[y+(ra+oa<<2)>>2];xa=na;_=57}else{ma=na;_=49}}while(0);do if((_|0)==49){_=0;ka=lM(ja,r,i)|0;ia=lM(ja+1|0,r,i)|0;na=lM(ha,s,i)|0;oa=lM(ha+1|0,s,i)|0;if((na|ka|0)>-1)ya=y+((X(na,a)|0)+ka<<2)|0;else ya=m;za=+n[ya>>2];if((na|ia|0)>-1)Aa=y+((X(na,a)|0)+ia<<2)|0;else Aa=m;Ba=+n[Aa>>2];if((oa|ka|0)>-1)Ca=y+((X(oa,a)|0)+ka<<2)|0;else Ca=m;Da=+n[Ca>>2];if((oa|ia|0)<=-1){ta=m;ua=Da;va=Ba;wa=za;xa=ma;_=57;break}ta=y+((X(oa,a)|0)+ia<<2)|0;ua=Da;va=Ba;wa=za;xa=ma;_=57}while(0);if((_|0)==57){_=0;la=wa*+n[xa>>2]+va*+n[xa+4>>2]+ua*+n[xa+8>>2]+ +n[ta>>2]*+n[xa+12>>2]}n[ga>>2]=la;fa=fa+1|0;if((fa|0)==(Y|0))break;else ga=ga+4|0}$=U+(ea<<2)|0;aa=Y;ba=Y;ca=1;break}if(Z){ga=U+(x<<2)+(X(R,Y+-1-V|0)|0)|0;fa=V;ha=U;while(1){ja=fa<<1;ia=d[S+(ja<<1)>>1]|0;oa=ia<<16>>16;ka=d[S+((ja|1)<<1)>>1]|0;ja=ka<<16>>16;do if(I)if(ka<<16>>16<-1|ia<<16>>16>-2&(r|0)>(oa|0)&(s|0)>(ja|0)^1){na=0;do{f[ha+(na<<2)>>2]=f[m+(na<<2)>>2];na=na+1|0}while((na|0)!=(x|0))}else{Ea=h+(j[T+(fa<<1)>>1]<<2<<2)|0;_=65;break}else{na=h+(j[T+(fa<<1)>>1]<<2<<2)|0;if(J){ra=oa+1|0;qa=ja+1|0;sa=y+((X(ka<<16>>16>-1?((s|0)>(ja|0)?ja:A):0,a)|0)<<2)|0;pa=X(ia<<16>>16>-1?((r|0)>(oa|0)?oa:z):0,x)|0;Fa=X(ia<<16>>16>-2?((ra|0)<(r|0)?ra:z):0,x)|0;ra=y+((X(ka<<16>>16>-2?((qa|0)<(s|0)?qa:A):0,a)|0)<<2)|0;Ga=ra+(Fa<<2)|0;Ha=ra+(pa<<2)|0;Ia=sa+(Fa<<2)|0;Ja=sa+(pa<<2)|0;Ka=na;_=75}else{Ea=na;_=65}}while(0);do if((_|0)==65){_=0;if(F?!(z>>>0>oa>>>0&A>>>0>ja>>>0):0)break;ka=lM(oa,r,i)|0;ia=lM(oa+1|0,r,i)|0;na=lM(ja,s,i)|0;pa=lM(ja+1|0,s,i)|0;if((na|ka|0)>-1)La=y+((X(na,a)|0)<<2)+((X(ka,x)|0)<<2)|0;else La=m;if((na|ia|0)>-1)Ma=y+((X(na,a)|0)<<2)+((X(ia,x)|0)<<2)|0;else Ma=m;if((pa|ka|0)>-1)Na=y+((X(pa,a)|0)<<2)+((X(ka,x)|0)<<2)|0;else Na=m;if((pa|ia|0)<=-1){Ga=m;Ha=Na;Ia=Ma;Ja=La;Ka=Ea;_=75;break}Ga=y+((X(pa,a)|0)<<2)+((X(ia,x)|0)<<2)|0;Ha=Na;Ia=Ma;Ja=La;Ka=Ea;_=75}while(0);if((_|0)==75){_=0;ja=Ka+4|0;oa=Ka+8|0;ia=Ka+12|0;pa=0;do{n[ha+(pa<<2)>>2]=+n[Ja+(pa<<2)>>2]*+n[Ka>>2]+ +n[Ia+(pa<<2)>>2]*+n[ja>>2]+ +n[Ha+(pa<<2)>>2]*+n[oa>>2]+ +n[Ga+(pa<<2)>>2]*+n[ia>>2];pa=pa+1|0}while((pa|0)!=(x|0))}fa=fa+1|0;if((fa|0)==(Y|0))break;else ha=ha+(x<<2)|0}$=ga;aa=Y;ba=Y;ca=1}else{$=U;aa=V;ba=Y;ca=1}}else _=18;else{$=U;aa=Y;ba=V;ca=W}}while(0);a:do if((_|0)==18){_=0;switch(K&511){case 0:{if((Y|0)<=(V|0)){$=U;aa=V;ba=Y;ca=0;break a}ha=Y-V|0;fa=U;Z=V;while(1){ea=Z<<1;pa=h+(j[T+(Z<<1)>>1]<<2<<2)|0;ia=y+((X(a,d[S+((ea|1)<<1)>>1]|0)|0)<<2)+(d[S+(ea<<1)>>1]<<2)|0;n[fa>>2]=+n[ia>>2]*+n[pa>>2]+ +n[ia+4>>2]*+n[pa+4>>2]+ +n[ia+(a<<2)>>2]*+n[pa+8>>2]+ +n[ia+(q<<2)>>2]*+n[pa+12>>2];Z=Z+1|0;if((Z|0)==(Y|0))break;else fa=fa+4|0}$=U+(ha<<2)|0;aa=Y;ba=Y;ca=0;break a;break}case 1:{if((Y|0)<=(V|0)){$=U;aa=V;ba=Y;ca=0;break a}fa=Y-V<<1;Z=U;ga=V;while(1){pa=ga<<1;ia=h+(j[T+(ga<<1)>>1]<<2<<2)|0;ea=y+((X(a,d[S+((pa|1)<<1)>>1]|0)|0)<<2)+(d[S+(pa<<1)>>1]<<1<<2)|0;za=+n[ia>>2];Ba=+n[ia+4>>2];Da=+n[ia+8>>2];Oa=+n[ia+12>>2];Pa=za*+n[ea+4>>2]+Ba*+n[ea+12>>2]+Da*+n[ea+(q<<2)>>2]+Oa*+n[ea+(M<<2)>>2];n[Z>>2]=+n[ea>>2]*za+ +n[ea+8>>2]*Ba+ +n[ea+(a<<2)>>2]*Da+ +n[ea+(L<<2)>>2]*Oa;n[Z+4>>2]=Pa;ga=ga+1|0;if((ga|0)==(Y|0))break;else Z=Z+8|0}$=U+(fa<<2)|0;aa=Y;ba=Y;ca=0;break a;break}case 2:{if((Y|0)<=(V|0)){$=U;aa=V;ba=Y;ca=0;break a}Z=(Y-V|0)*3|0;ga=U;ha=V;while(1){ea=ha<<1;ia=h+(j[T+(ha<<1)>>1]<<2<<2)|0;pa=y+((X(a,d[S+((ea|1)<<1)>>1]|0)|0)<<2)+((d[S+(ea<<1)>>1]|0)*3<<2)|0;Pa=+n[ia>>2];Oa=+n[ia+4>>2];Da=+n[ia+8>>2];Ba=+n[ia+12>>2];za=Pa*+n[pa+4>>2]+Oa*+n[pa+16>>2]+Da*+n[pa+(q<<2)>>2]+Ba*+n[pa+(N<<2)>>2];Qa=Pa*+n[pa+8>>2]+Oa*+n[pa+20>>2]+Da*+n[pa+(L<<2)>>2]+Ba*+n[pa+(O<<2)>>2];n[ga>>2]=+n[pa>>2]*Pa+ +n[pa+12>>2]*Oa+ +n[pa+(a<<2)>>2]*Da+ +n[pa+(M<<2)>>2]*Ba;n[ga+4>>2]=za;n[ga+8>>2]=Qa;ha=ha+1|0;if((ha|0)==(Y|0))break;else ga=ga+12|0}$=U+(Z<<2)|0;aa=Y;ba=Y;ca=0;break a;break}case 3:{if((Y|0)<=(V|0)){$=U;aa=V;ba=Y;ca=0;break a}ga=Y-V<<2;ha=V;fa=U;while(1){pa=ha<<1;ia=h+(j[T+(ha<<1)>>1]<<2<<2)|0;ea=y+((X(a,d[S+((pa|1)<<1)>>1]|0)|0)<<2)+(d[S+(pa<<1)>>1]<<2<<2)|0;Qa=+n[ia>>2];pa=ia+4|0;za=+n[pa>>2];oa=ia+8|0;Ba=+n[oa>>2];ja=ia+12|0;Da=+n[ja>>2];Oa=Qa*+n[ea+4>>2]+za*+n[ea+20>>2]+Ba*+n[ea+(q<<2)>>2]+Da*+n[ea+(O<<2)>>2];n[fa>>2]=+n[ea>>2]*Qa+ +n[ea+16>>2]*za+ +n[ea+(a<<2)>>2]*Ba+ +n[ea+(N<<2)>>2]*Da;n[fa+4>>2]=Oa;Oa=+n[ia>>2];Da=+n[pa>>2];Ba=+n[oa>>2];za=+n[ja>>2];Qa=Oa*+n[ea+12>>2]+Da*+n[ea+28>>2]+Ba*+n[ea+(M<<2)>>2]+za*+n[ea+(Q<<2)>>2];n[fa+8>>2]=+n[ea+8>>2]*Oa+ +n[ea+24>>2]*Da+ +n[ea+(L<<2)>>2]*Ba+ +n[ea+(P<<2)>>2]*za;n[fa+12>>2]=Qa;ha=ha+1|0;if((ha|0)==(Y|0))break;else fa=fa+16|0}$=U+(ga<<2)|0;aa=Y;ba=Y;ca=0;break a;break}default:{if((Y|0)<=(V|0)){$=U;aa=V;ba=Y;ca=0;break a}fa=U+(x<<2)+(X(R,Y+-1-V|0)|0)|0;ha=V;Z=U;while(1){ea=ha<<1;ja=h+(j[T+(ha<<1)>>1]<<2<<2)|0;oa=y+((X(a,d[S+((ea|1)<<1)>>1]|0)|0)<<2)+((X(x,d[S+(ea<<1)>>1]|0)|0)<<2)|0;ea=ja+4|0;pa=ja+8|0;ia=ja+12|0;ka=0;do{na=ka+a|0;n[Z+(ka<<2)>>2]=+n[oa+(ka<<2)>>2]*+n[ja>>2]+ +n[oa+(ka+x<<2)>>2]*+n[ea>>2]+ +n[oa+(na<<2)>>2]*+n[pa>>2]+ +n[oa+(na+x<<2)>>2]*+n[ia>>2];ka=ka+1|0}while((ka|0)!=(x|0));ha=ha+1|0;if((ha|0)==(Y|0))break;else Z=Z+(x<<2)|0}$=fa;aa=Y;ba=Y;ca=0;break a}}}while(0);if((aa|0)<(t|0)){U=$;V=ba;W=ca;Y=aa+1|0}else break}}w=w+1|0}while((w|0)!=(v|0));u=l;return}function xga(a,c,e,g,h,i,k){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;k=k|0;var l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0.0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0.0,va=0.0,wa=0.0,xa=0,ya=0,za=0.0,Aa=0,Ba=0.0,Ca=0,Da=0.0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0.0,Pa=0.0,Qa=0.0;l=u;u=u+4112|0;m=l;o=l+4096|0;q=f[a+40>>2]|0;r=f[q+4>>2]|0;s=f[q>>2]|0;q=f[c+40>>2]|0;t=f[q+4>>2]|0;v=f[q>>2]|0;q=(f[a>>2]|0)>>>3;w=q&511;x=w+1|0;y=f[a+16>>2]|0;z=f[a+48>>2]|0;a=0;do{p[m+(a<<3)>>3]=+p[k+((a&3)<<3)>>3];a=a+1|0}while((a|0)!=(x|0));a=z>>>3;z=r+-1|0;k=(z|0)>0?z:0;A=s+-1|0;B=(A|0)>0?A:0;if((X(s,r)|0)<=0){f[o>>2]=0;f[o+4>>2]=0;C=JV(o,16)|0;D=229954;E=C+16|0;do{b[C>>0]=b[D>>0]|0;C=C+1|0;D=D+1|0}while((C|0)<(E|0));EP(-215,o,229971,229369,662);KV(o)}if((v|0)<=0){u=l;return}o=c+16|0;D=c+44|0;c=e+16|0;C=e+44|0;e=g+16|0;E=g+44|0;g=(t|0)<0;F=(i|0)==5;G=F&(x|0)!=3;H=(w|0)==0;I=(i|0)==0;J=(i|0)==1;K=q&65535;q=a+1|0;L=a+2|0;M=a+3|0;N=a+4|0;O=a+5|0;P=a+6|0;Q=a+7|0;R=(w<<3)+8|0;w=0;do{S=(f[c>>2]|0)+(X(f[f[C>>2]>>2]|0,w)|0)|0;T=(f[e>>2]|0)+(X(f[f[E>>2]>>2]|0,w)|0)|0;if(!g){U=(f[o>>2]|0)+(X(f[f[D>>2]>>2]|0,w)|0)|0;V=0;W=0;Y=0;while(1){do if((Y|0)<(t|0)){Z=Y<<1;if(k>>>0<=(d[S+(Z<<1)>>1]|0)>>>0)if(W){_=18;break}else{$=U;aa=Y;ba=V;ca=0;break}else{da=B>>>0>(d[S+((Z|1)<<1)>>1]|0)>>>0;_=16;break}}else{da=W^1;_=16}while(0);do if((_|0)==16){_=0;if(W^da)if(da){if(G){$=U+((X(Y-V|0,x)|0)<<3)|0;aa=Y;ba=Y;ca=1;break}Z=(Y|0)>(V|0);if(H){if(!Z){$=U;aa=V;ba=Y;ca=1;break}ea=Y-V|0;fa=V;ga=U;while(1){ha=fa<<1;ia=d[S+(ha<<1)>>1]|0;ja=ia<<16>>16;ka=d[S+((ha|1)<<1)>>1]|0;ha=ka<<16>>16;do if(I)if(ka<<16>>16<-1|ia<<16>>16>-2&(r|0)>(ja|0)&(s|0)>(ha|0)^1){la=+p[m>>3];break}else{ma=h+(j[T+(fa<<1)>>1]<<2<<2)|0;_=49;break}else{na=h+(j[T+(fa<<1)>>1]<<2<<2)|0;if(J){oa=ia<<16>>16>-1?((r|0)>(ja|0)?ja:z):0;pa=ja+1|0;qa=ia<<16>>16>-2?((pa|0)<(r|0)?pa:z):0;pa=ha+1|0;ra=X(ka<<16>>16>-1?((s|0)>(ha|0)?ha:A):0,a)|0;sa=X(ka<<16>>16>-2?((pa|0)<(s|0)?pa:A):0,a)|0;ta=y+(sa+qa<<3)|0;ua=+p[y+(sa+oa<<3)>>3];va=+p[y+(ra+qa<<3)>>3];wa=+p[y+(ra+oa<<3)>>3];xa=na;_=57}else{ma=na;_=49}}while(0);do if((_|0)==49){_=0;ka=lM(ja,r,i)|0;ia=lM(ja+1|0,r,i)|0;na=lM(ha,s,i)|0;oa=lM(ha+1|0,s,i)|0;if((na|ka|0)>-1)ya=y+((X(na,a)|0)+ka<<3)|0;else ya=m;za=+p[ya>>3];if((na|ia|0)>-1)Aa=y+((X(na,a)|0)+ia<<3)|0;else Aa=m;Ba=+p[Aa>>3];if((oa|ka|0)>-1)Ca=y+((X(oa,a)|0)+ka<<3)|0;else Ca=m;Da=+p[Ca>>3];if((oa|ia|0)<=-1){ta=m;ua=Da;va=Ba;wa=za;xa=ma;_=57;break}ta=y+((X(oa,a)|0)+ia<<3)|0;ua=Da;va=Ba;wa=za;xa=ma;_=57}while(0);if((_|0)==57){_=0;la=wa*+n[xa>>2]+va*+n[xa+4>>2]+ua*+n[xa+8>>2]+ +p[ta>>3]*+n[xa+12>>2]}p[ga>>3]=la;fa=fa+1|0;if((fa|0)==(Y|0))break;else ga=ga+8|0}$=U+(ea<<3)|0;aa=Y;ba=Y;ca=1;break}if(Z){ga=U+(x<<3)+(X(R,Y+-1-V|0)|0)|0;fa=V;ha=U;while(1){ja=fa<<1;ia=d[S+(ja<<1)>>1]|0;oa=ia<<16>>16;ka=d[S+((ja|1)<<1)>>1]|0;ja=ka<<16>>16;do if(I)if(ka<<16>>16<-1|ia<<16>>16>-2&(r|0)>(oa|0)&(s|0)>(ja|0)^1){na=0;do{p[ha+(na<<3)>>3]=+p[m+(na<<3)>>3];na=na+1|0}while((na|0)!=(x|0))}else{Ea=h+(j[T+(fa<<1)>>1]<<2<<2)|0;_=65;break}else{na=h+(j[T+(fa<<1)>>1]<<2<<2)|0;if(J){ra=oa+1|0;qa=ja+1|0;sa=y+((X(ka<<16>>16>-1?((s|0)>(ja|0)?ja:A):0,a)|0)<<3)|0;pa=X(ia<<16>>16>-1?((r|0)>(oa|0)?oa:z):0,x)|0;Fa=X(ia<<16>>16>-2?((ra|0)<(r|0)?ra:z):0,x)|0;ra=y+((X(ka<<16>>16>-2?((qa|0)<(s|0)?qa:A):0,a)|0)<<3)|0;Ga=ra+(Fa<<3)|0;Ha=ra+(pa<<3)|0;Ia=sa+(Fa<<3)|0;Ja=sa+(pa<<3)|0;Ka=na;_=75}else{Ea=na;_=65}}while(0);do if((_|0)==65){_=0;if(F?!(z>>>0>oa>>>0&A>>>0>ja>>>0):0)break;ka=lM(oa,r,i)|0;ia=lM(oa+1|0,r,i)|0;na=lM(ja,s,i)|0;pa=lM(ja+1|0,s,i)|0;if((na|ka|0)>-1)La=y+((X(na,a)|0)<<3)+((X(ka,x)|0)<<3)|0;else La=m;if((na|ia|0)>-1)Ma=y+((X(na,a)|0)<<3)+((X(ia,x)|0)<<3)|0;else Ma=m;if((pa|ka|0)>-1)Na=y+((X(pa,a)|0)<<3)+((X(ka,x)|0)<<3)|0;else Na=m;if((pa|ia|0)<=-1){Ga=m;Ha=Na;Ia=Ma;Ja=La;Ka=Ea;_=75;break}Ga=y+((X(pa,a)|0)<<3)+((X(ia,x)|0)<<3)|0;Ha=Na;Ia=Ma;Ja=La;Ka=Ea;_=75}while(0);if((_|0)==75){_=0;za=+n[Ka>>2];Ba=+n[Ka+4>>2];Da=+n[Ka+8>>2];Oa=+n[Ka+12>>2];ja=0;do{p[ha+(ja<<3)>>3]=+p[Ja+(ja<<3)>>3]*za+ +p[Ia+(ja<<3)>>3]*Ba+ +p[Ha+(ja<<3)>>3]*Da+ +p[Ga+(ja<<3)>>3]*Oa;ja=ja+1|0}while((ja|0)!=(x|0))}fa=fa+1|0;if((fa|0)==(Y|0))break;else ha=ha+(x<<3)|0}$=ga;aa=Y;ba=Y;ca=1}else{$=U;aa=V;ba=Y;ca=1}}else _=18;else{$=U;aa=Y;ba=V;ca=W}}while(0);a:do if((_|0)==18){_=0;switch(K&511){case 0:{if((Y|0)<=(V|0)){$=U;aa=V;ba=Y;ca=0;break a}ha=Y-V|0;fa=U;Z=V;while(1){ea=Z<<1;ja=h+(j[T+(Z<<1)>>1]<<2<<2)|0;oa=y+((X(a,d[S+((ea|1)<<1)>>1]|0)|0)<<3)+(d[S+(ea<<1)>>1]<<3)|0;p[fa>>3]=+p[oa>>3]*+n[ja>>2]+ +p[oa+8>>3]*+n[ja+4>>2]+ +p[oa+(a<<3)>>3]*+n[ja+8>>2]+ +p[oa+(q<<3)>>3]*+n[ja+12>>2];Z=Z+1|0;if((Z|0)==(Y|0))break;else fa=fa+8|0}$=U+(ha<<3)|0;aa=Y;ba=Y;ca=0;break a;break}case 1:{if((Y|0)<=(V|0)){$=U;aa=V;ba=Y;ca=0;break a}fa=Y-V<<1;Z=U;ga=V;while(1){ja=ga<<1;oa=h+(j[T+(ga<<1)>>1]<<2<<2)|0;ea=y+((X(a,d[S+((ja|1)<<1)>>1]|0)|0)<<3)+(d[S+(ja<<1)>>1]<<1<<3)|0;Oa=+n[oa>>2];Da=+n[oa+4>>2];Ba=+n[oa+8>>2];za=+n[oa+12>>2];Pa=+p[ea+8>>3]*Oa+ +p[ea+24>>3]*Da+ +p[ea+(q<<3)>>3]*Ba+ +p[ea+(M<<3)>>3]*za;p[Z>>3]=+p[ea>>3]*Oa+ +p[ea+16>>3]*Da+ +p[ea+(a<<3)>>3]*Ba+ +p[ea+(L<<3)>>3]*za;p[Z+8>>3]=Pa;ga=ga+1|0;if((ga|0)==(Y|0))break;else Z=Z+16|0}$=U+(fa<<3)|0;aa=Y;ba=Y;ca=0;break a;break}case 2:{if((Y|0)<=(V|0)){$=U;aa=V;ba=Y;ca=0;break a}Z=(Y-V|0)*3|0;ga=U;ha=V;while(1){ea=ha<<1;oa=h+(j[T+(ha<<1)>>1]<<2<<2)|0;ja=y+((X(a,d[S+((ea|1)<<1)>>1]|0)|0)<<3)+((d[S+(ea<<1)>>1]|0)*3<<3)|0;Pa=+n[oa>>2];za=+n[oa+4>>2];Ba=+n[oa+8>>2];Da=+n[oa+12>>2];Oa=+p[ja+8>>3]*Pa+ +p[ja+32>>3]*za+ +p[ja+(q<<3)>>3]*Ba+ +p[ja+(N<<3)>>3]*Da;Qa=+p[ja+16>>3]*Pa+ +p[ja+40>>3]*za+ +p[ja+(L<<3)>>3]*Ba+ +p[ja+(O<<3)>>3]*Da;p[ga>>3]=+p[ja>>3]*Pa+ +p[ja+24>>3]*za+ +p[ja+(a<<3)>>3]*Ba+ +p[ja+(M<<3)>>3]*Da;p[ga+8>>3]=Oa;p[ga+16>>3]=Qa;ha=ha+1|0;if((ha|0)==(Y|0))break;else ga=ga+24|0}$=U+(Z<<3)|0;aa=Y;ba=Y;ca=0;break a;break}case 3:{if((Y|0)<=(V|0)){$=U;aa=V;ba=Y;ca=0;break a}ga=Y-V<<2;ha=V;fa=U;while(1){ja=ha<<1;oa=h+(j[T+(ha<<1)>>1]<<2<<2)|0;ea=y+((X(a,d[S+((ja|1)<<1)>>1]|0)|0)<<3)+(d[S+(ja<<1)>>1]<<2<<3)|0;Qa=+n[oa>>2];Oa=+n[oa+4>>2];Da=+n[oa+8>>2];Ba=+n[oa+12>>2];za=+p[ea+8>>3]*Qa+ +p[ea+40>>3]*Oa+ +p[ea+(q<<3)>>3]*Da+ +p[ea+(O<<3)>>3]*Ba;p[fa>>3]=+p[ea>>3]*Qa+ +p[ea+32>>3]*Oa+ +p[ea+(a<<3)>>3]*Da+ +p[ea+(N<<3)>>3]*Ba;p[fa+8>>3]=za;za=+p[ea+24>>3]*Qa+ +p[ea+56>>3]*Oa+ +p[ea+(M<<3)>>3]*Da+ +p[ea+(Q<<3)>>3]*Ba;p[fa+16>>3]=+p[ea+16>>3]*Qa+ +p[ea+48>>3]*Oa+ +p[ea+(L<<3)>>3]*Da+ +p[ea+(P<<3)>>3]*Ba;p[fa+24>>3]=za;ha=ha+1|0;if((ha|0)==(Y|0))break;else fa=fa+32|0}$=U+(ga<<3)|0;aa=Y;ba=Y;ca=0;break a;break}default:{if((Y|0)<=(V|0)){$=U;aa=V;ba=Y;ca=0;break a}fa=U+(x<<3)+(X(R,Y+-1-V|0)|0)|0;ha=V;Z=U;while(1){ea=ha<<1;oa=h+(j[T+(ha<<1)>>1]<<2<<2)|0;ja=y+((X(a,d[S+((ea|1)<<1)>>1]|0)|0)<<3)+((X(x,d[S+(ea<<1)>>1]|0)|0)<<3)|0;za=+n[oa>>2];Ba=+n[oa+4>>2];Da=+n[oa+8>>2];Oa=+n[oa+12>>2];oa=0;do{ea=oa+a|0;p[Z+(oa<<3)>>3]=+p[ja+(oa<<3)>>3]*za+ +p[ja+(oa+x<<3)>>3]*Ba+ +p[ja+(ea<<3)>>3]*Da+ +p[ja+(ea+x<<3)>>3]*Oa;oa=oa+1|0}while((oa|0)!=(x|0));ha=ha+1|0;if((ha|0)==(Y|0))break;else Z=Z+(x<<3)|0}$=fa;aa=Y;ba=Y;ca=0;break a}}}while(0);if((aa|0)<(t|0)){U=$;V=ba;W=ca;Y=aa+1|0}else break}}w=w+1|0}while((w|0)!=(v|0));u=l;return}function yga(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;i=u;u=u+512|0;j=i;k=f[a+40>>2]|0;l=f[k+4>>2]|0;m=f[k>>2]|0;k=f[c+40>>2]|0;n=f[k+4>>2]|0;o=f[k>>2]|0;k=(f[a>>2]|0)>>>3&511;q=k+1|0;r=f[a+16>>2]|0;s=f[a+48>>2]|0;a=0;do{t=AEa(+p[h+((a&3)<<3)>>3])|0;b[j+a>>0]=t>>>0<256?t:(t|0)>0?255:0;a=a+1|0}while((a|0)!=(q|0));if(f[c>>2]&16384){a=(f[e>>2]&16384|0)!=0;h=X(a?o:1,n)|0;if(a){v=h;w=1}else{x=h;y=5}}else{x=n;y=5}if((y|0)==5)if((o|0)>0){v=x;w=o}else{u=i;return}o=c+16|0;x=c+44|0;c=e+16|0;n=e+44|0;e=(k|0)==0;k=(v|0)>0;h=l+-1|0;a=m+-1|0;t=(q|0)==3;z=(q|0)==4;A=(g|0)==5;B=0;do{C=(f[o>>2]|0)+(X(f[f[x>>2]>>2]|0,B)|0)|0;D=(f[c>>2]|0)+(X(f[f[n>>2]>>2]|0,B)|0)|0;a:do if(e){if(k)switch(g|0){case 1:{E=0;do{F=E<<1;G=d[D+(F<<1)>>1]|0;H=G<<16>>16;I=d[D+((F|1)<<1)>>1]|0;F=I<<16>>16;if(l>>>0>H>>>0&m>>>0>F>>>0){J=F;K=H}else{J=I<<16>>16>-1?((m|0)>(F|0)?F:a):0;K=G<<16>>16>-1?((l|0)>(H|0)?H:h):0}H=r+((X(J,s)|0)+K)|0;b[C+E>>0]=b[H>>0]|0;E=E+1|0}while((E|0)!=(v|0));break}case 0:{E=0;do{H=E<<1;G=d[D+(H<<1)>>1]|0;F=d[D+((H|1)<<1)>>1]|0;H=r+((X(s,F)|0)+G)|0;b[C+E>>0]=b[(l>>>0>G>>>0&m>>>0>F>>>0?H:j)>>0]|0;E=E+1|0}while((E|0)!=(v|0));break}default:{E=0;do{H=E<<1;F=d[D+(H<<1)>>1]|0;G=d[D+((H|1)<<1)>>1]|0;if(!(l>>>0>F>>>0&m>>>0>G>>>0)){if(!A){H=lM(F,l,g)|0;L=H;M=lM(G,m,g)|0;y=28}}else{L=F;M=G;y=28}if((y|0)==28){y=0;G=r+((X(M,s)|0)+L)|0;b[C+E>>0]=b[G>>0]|0}E=E+1|0}while((E|0)!=(v|0))}}}else if(k){if(A){E=0;G=C;while(1){F=E<<1;H=d[D+(F<<1)>>1]|0;I=d[D+((F|1)<<1)>>1]|0;do if(l>>>0>H>>>0&m>>>0>I>>>0){F=r+(X(s,I)|0)|0;if(t){N=F+(H*3|0)|0;b[G>>0]=b[N>>0]|0;b[G+1>>0]=b[N+1>>0]|0;b[G+2>>0]=b[N+2>>0]|0;break}if(z){N=F+(H<<2)|0;b[G>>0]=b[N>>0]|0;b[G+1>>0]=b[N+1>>0]|0;b[G+2>>0]=b[N+2>>0]|0;b[G+3>>0]=b[N+3>>0]|0;break}N=F+(X(q,H)|0)|0;F=0;do{b[G+F>>0]=b[N+F>>0]|0;F=F+1|0}while((F|0)!=(q|0))}while(0);E=E+1|0;if((E|0)==(v|0))break a;else G=G+q|0}}else{O=0;P=C}while(1){G=O<<1;E=d[D+(G<<1)>>1]|0;H=E<<16>>16;I=d[D+((G|1)<<1)>>1]|0;G=I<<16>>16;b:do if(l>>>0>H>>>0&m>>>0>G>>>0){F=r+(X(s,G)|0)|0;if(t){N=F+(H*3|0)|0;b[P>>0]=b[N>>0]|0;b[P+1>>0]=b[N+1>>0]|0;b[P+2>>0]=b[N+2>>0]|0;break}if(z){N=F+(H<<2)|0;b[P>>0]=b[N>>0]|0;b[P+1>>0]=b[N+1>>0]|0;b[P+2>>0]=b[N+2>>0]|0;b[P+3>>0]=b[N+3>>0]|0;break}N=F+(X(q,H)|0)|0;F=0;do{b[P+F>>0]=b[N+F>>0]|0;F=F+1|0}while((F|0)!=(q|0))}else{switch(g|0){case 5:{break b;break}case 1:{Q=r+(X(I<<16>>16>-1?((m|0)>(G|0)?G:a):0,s)|0)+(X(E<<16>>16>-1?((l|0)>(H|0)?H:h):0,q)|0)|0;break}case 0:{Q=j;break}default:{F=lM(H,l,g)|0;Q=r+(X(lM(G,m,g)|0,s)|0)+(X(F,q)|0)|0}}F=0;do{b[P+F>>0]=b[Q+F>>0]|0;F=F+1|0}while((F|0)!=(q|0))}while(0);O=O+1|0;if((O|0)==(v|0))break;else P=P+q|0}}while(0);B=B+1|0}while((B|0)!=(w|0));u=i;return}function zga(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;i=u;u=u+512|0;j=i;k=f[a+40>>2]|0;l=f[k+4>>2]|0;m=f[k>>2]|0;k=f[c+40>>2]|0;n=f[k+4>>2]|0;o=f[k>>2]|0;k=(f[a>>2]|0)>>>3&511;q=k+1|0;r=f[a+16>>2]|0;s=f[a+48>>2]|0;a=0;do{t=AEa(+p[h+((a&3)<<3)>>3])|0;b[j+a>>0]=(t+128|0)>>>0<256?t:(t|0)>0?127:128;a=a+1|0}while((a|0)!=(q|0));if(f[c>>2]&16384){a=(f[e>>2]&16384|0)!=0;h=X(a?o:1,n)|0;if(a){v=h;w=1}else{x=h;y=5}}else{x=n;y=5}if((y|0)==5)if((o|0)>0){v=x;w=o}else{u=i;return}o=c+16|0;x=c+44|0;c=e+16|0;n=e+44|0;e=(k|0)==0;k=(v|0)>0;h=l+-1|0;a=m+-1|0;t=(q|0)==3;z=(q|0)==4;A=(g|0)==5;B=0;do{C=(f[o>>2]|0)+(X(f[f[x>>2]>>2]|0,B)|0)|0;D=(f[c>>2]|0)+(X(f[f[n>>2]>>2]|0,B)|0)|0;a:do if(e){if(k)switch(g|0){case 1:{E=0;do{F=E<<1;G=d[D+(F<<1)>>1]|0;H=G<<16>>16;I=d[D+((F|1)<<1)>>1]|0;F=I<<16>>16;if(l>>>0>H>>>0&m>>>0>F>>>0){J=F;K=H}else{J=I<<16>>16>-1?((m|0)>(F|0)?F:a):0;K=G<<16>>16>-1?((l|0)>(H|0)?H:h):0}H=r+((X(J,s)|0)+K)|0;b[C+E>>0]=b[H>>0]|0;E=E+1|0}while((E|0)!=(v|0));break}case 0:{E=0;do{H=E<<1;G=d[D+(H<<1)>>1]|0;F=d[D+((H|1)<<1)>>1]|0;H=r+((X(s,F)|0)+G)|0;b[C+E>>0]=b[(l>>>0>G>>>0&m>>>0>F>>>0?H:j)>>0]|0;E=E+1|0}while((E|0)!=(v|0));break}default:{E=0;do{H=E<<1;F=d[D+(H<<1)>>1]|0;G=d[D+((H|1)<<1)>>1]|0;if(!(l>>>0>F>>>0&m>>>0>G>>>0)){if(!A){H=lM(F,l,g)|0;L=H;M=lM(G,m,g)|0;y=28}}else{L=F;M=G;y=28}if((y|0)==28){y=0;G=r+((X(M,s)|0)+L)|0;b[C+E>>0]=b[G>>0]|0}E=E+1|0}while((E|0)!=(v|0))}}}else if(k){if(A){E=0;G=C;while(1){F=E<<1;H=d[D+(F<<1)>>1]|0;I=d[D+((F|1)<<1)>>1]|0;do if(l>>>0>H>>>0&m>>>0>I>>>0){F=r+(X(s,I)|0)|0;if(t){N=F+(H*3|0)|0;b[G>>0]=b[N>>0]|0;b[G+1>>0]=b[N+1>>0]|0;b[G+2>>0]=b[N+2>>0]|0;break}if(z){N=F+(H<<2)|0;b[G>>0]=b[N>>0]|0;b[G+1>>0]=b[N+1>>0]|0;b[G+2>>0]=b[N+2>>0]|0;b[G+3>>0]=b[N+3>>0]|0;break}N=F+(X(q,H)|0)|0;F=0;do{b[G+F>>0]=b[N+F>>0]|0;F=F+1|0}while((F|0)!=(q|0))}while(0);E=E+1|0;if((E|0)==(v|0))break a;else G=G+q|0}}else{O=0;P=C}while(1){G=O<<1;E=d[D+(G<<1)>>1]|0;H=E<<16>>16;I=d[D+((G|1)<<1)>>1]|0;G=I<<16>>16;b:do if(l>>>0>H>>>0&m>>>0>G>>>0){F=r+(X(s,G)|0)|0;if(t){N=F+(H*3|0)|0;b[P>>0]=b[N>>0]|0;b[P+1>>0]=b[N+1>>0]|0;b[P+2>>0]=b[N+2>>0]|0;break}if(z){N=F+(H<<2)|0;b[P>>0]=b[N>>0]|0;b[P+1>>0]=b[N+1>>0]|0;b[P+2>>0]=b[N+2>>0]|0;b[P+3>>0]=b[N+3>>0]|0;break}N=F+(X(q,H)|0)|0;F=0;do{b[P+F>>0]=b[N+F>>0]|0;F=F+1|0}while((F|0)!=(q|0))}else{switch(g|0){case 5:{break b;break}case 1:{Q=r+(X(I<<16>>16>-1?((m|0)>(G|0)?G:a):0,s)|0)+(X(E<<16>>16>-1?((l|0)>(H|0)?H:h):0,q)|0)|0;break}case 0:{Q=j;break}default:{F=lM(H,l,g)|0;Q=r+(X(lM(G,m,g)|0,s)|0)+(X(F,q)|0)|0}}F=0;do{b[P+F>>0]=b[Q+F>>0]|0;F=F+1|0}while((F|0)!=(q|0))}while(0);O=O+1|0;if((O|0)==(v|0))break;else P=P+q|0}}while(0);B=B+1|0}while((B|0)!=(w|0));u=i;return}function Aga(a,b,c,e,g){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;h=u;u=u+1024|0;i=h;j=f[a+40>>2]|0;k=f[j+4>>2]|0;l=f[j>>2]|0;j=f[b+40>>2]|0;m=f[j+4>>2]|0;n=f[j>>2]|0;j=(f[a>>2]|0)>>>3&511;o=j+1|0;q=f[a+16>>2]|0;r=f[a+48>>2]|0;a=0;do{s=AEa(+p[g+((a&3)<<3)>>3])|0;d[i+(a<<1)>>1]=s>>>0<65536?s:(s|0)>0?65535:0;a=a+1|0}while((a|0)!=(o|0));a=r>>>1;if(f[b>>2]&16384){r=(f[c>>2]&16384|0)!=0;g=X(r?n:1,m)|0;if(r){t=g;v=1}else{w=g;x=5}}else{w=m;x=5}if((x|0)==5)if((n|0)>0){t=w;v=n}else{u=h;return}n=b+16|0;w=b+44|0;b=c+16|0;m=c+44|0;c=(j|0)==0;j=(t|0)>0;g=k+-1|0;r=l+-1|0;s=(o|0)==3;y=(o|0)==4;z=(e|0)==5;A=0;do{B=(f[n>>2]|0)+(X(f[f[w>>2]>>2]|0,A)|0)|0;C=(f[b>>2]|0)+(X(f[f[m>>2]>>2]|0,A)|0)|0;a:do if(c){if(j)switch(e|0){case 1:{D=0;do{E=D<<1;F=d[C+(E<<1)>>1]|0;G=F<<16>>16;H=d[C+((E|1)<<1)>>1]|0;E=H<<16>>16;if(k>>>0>G>>>0&l>>>0>E>>>0){I=E;J=G}else{I=H<<16>>16>-1?((l|0)>(E|0)?E:r):0;J=F<<16>>16>-1?((k|0)>(G|0)?G:g):0}G=q+((X(I,a)|0)+J<<1)|0;d[B+(D<<1)>>1]=d[G>>1]|0;D=D+1|0}while((D|0)!=(t|0));break}case 0:{D=0;do{G=D<<1;F=d[C+(G<<1)>>1]|0;E=d[C+((G|1)<<1)>>1]|0;if(k>>>0>F>>>0&l>>>0>E>>>0)K=q+((X(a,E)|0)+F<<1)|0;else K=i;d[B+(D<<1)>>1]=d[K>>1]|0;D=D+1|0}while((D|0)!=(t|0));break}default:{D=0;do{F=D<<1;E=d[C+(F<<1)>>1]|0;G=d[C+((F|1)<<1)>>1]|0;if(!(k>>>0>E>>>0&l>>>0>G>>>0)){if(!z){F=lM(E,k,e)|0;L=F;M=lM(G,l,e)|0;x=30}}else{L=E;M=G;x=30}if((x|0)==30){x=0;G=q+((X(M,a)|0)+L<<1)|0;d[B+(D<<1)>>1]=d[G>>1]|0}D=D+1|0}while((D|0)!=(t|0))}}}else if(j){if(z){D=0;G=B;while(1){E=D<<1;F=d[C+(E<<1)>>1]|0;H=d[C+((E|1)<<1)>>1]|0;do if(k>>>0>F>>>0&l>>>0>H>>>0){E=q+((X(a,H)|0)<<1)|0;if(s){N=E+(F*3<<1)|0;d[G>>1]=d[N>>1]|0;d[G+2>>1]=d[N+2>>1]|0;d[G+4>>1]=d[N+4>>1]|0;break}if(y){N=E+(F<<2<<1)|0;d[G>>1]=d[N>>1]|0;d[G+2>>1]=d[N+2>>1]|0;d[G+4>>1]=d[N+4>>1]|0;d[G+6>>1]=d[N+6>>1]|0;break}N=E+((X(o,F)|0)<<1)|0;E=0;do{d[G+(E<<1)>>1]=d[N+(E<<1)>>1]|0;E=E+1|0}while((E|0)!=(o|0))}while(0);D=D+1|0;if((D|0)==(t|0))break a;else G=G+(o<<1)|0}}else{O=0;P=B}while(1){G=O<<1;D=d[C+(G<<1)>>1]|0;F=D<<16>>16;H=d[C+((G|1)<<1)>>1]|0;G=H<<16>>16;b:do if(k>>>0>F>>>0&l>>>0>G>>>0){E=q+((X(a,G)|0)<<1)|0;if(s){N=E+(F*3<<1)|0;d[P>>1]=d[N>>1]|0;d[P+2>>1]=d[N+2>>1]|0;d[P+4>>1]=d[N+4>>1]|0;break}if(y){N=E+(F<<2<<1)|0;d[P>>1]=d[N>>1]|0;d[P+2>>1]=d[N+2>>1]|0;d[P+4>>1]=d[N+4>>1]|0;d[P+6>>1]=d[N+6>>1]|0;break}N=E+((X(o,F)|0)<<1)|0;E=0;do{d[P+(E<<1)>>1]=d[N+(E<<1)>>1]|0;E=E+1|0}while((E|0)!=(o|0))}else{switch(e|0){case 5:{break b;break}case 1:{Q=q+((X(H<<16>>16>-1?((l|0)>(G|0)?G:r):0,a)|0)<<1)+((X(D<<16>>16>-1?((k|0)>(F|0)?F:g):0,o)|0)<<1)|0;break}case 0:{Q=i;break}default:{E=lM(F,k,e)|0;Q=q+((X(lM(G,l,e)|0,a)|0)<<1)+((X(E,o)|0)<<1)|0}}E=0;do{d[P+(E<<1)>>1]=d[Q+(E<<1)>>1]|0;E=E+1|0}while((E|0)!=(o|0))}while(0);O=O+1|0;if((O|0)==(t|0))break;else P=P+(o<<1)|0}}while(0);A=A+1|0}while((A|0)!=(v|0));u=h;return}function Bga(a,b,c,e,g){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;h=u;u=u+1024|0;i=h;j=f[a+40>>2]|0;k=f[j+4>>2]|0;l=f[j>>2]|0;j=f[b+40>>2]|0;m=f[j+4>>2]|0;n=f[j>>2]|0;j=(f[a>>2]|0)>>>3&511;o=j+1|0;q=f[a+16>>2]|0;r=f[a+48>>2]|0;a=0;do{s=AEa(+p[g+((a&3)<<3)>>3])|0;d[i+(a<<1)>>1]=(s+32768|0)>>>0<65536?s:(s|0)>0?32767:32768;a=a+1|0}while((a|0)!=(o|0));a=r>>>1;if(f[b>>2]&16384){r=(f[c>>2]&16384|0)!=0;g=X(r?n:1,m)|0;if(r){t=g;v=1}else{w=g;x=5}}else{w=m;x=5}if((x|0)==5)if((n|0)>0){t=w;v=n}else{u=h;return}n=b+16|0;w=b+44|0;b=c+16|0;m=c+44|0;c=(j|0)==0;j=(t|0)>0;g=k+-1|0;r=l+-1|0;s=(o|0)==3;y=(o|0)==4;z=(e|0)==5;A=0;do{B=(f[n>>2]|0)+(X(f[f[w>>2]>>2]|0,A)|0)|0;C=(f[b>>2]|0)+(X(f[f[m>>2]>>2]|0,A)|0)|0;a:do if(c){if(j)switch(e|0){case 1:{D=0;do{E=D<<1;F=d[C+(E<<1)>>1]|0;G=F<<16>>16;H=d[C+((E|1)<<1)>>1]|0;E=H<<16>>16;if(k>>>0>G>>>0&l>>>0>E>>>0){I=E;J=G}else{I=H<<16>>16>-1?((l|0)>(E|0)?E:r):0;J=F<<16>>16>-1?((k|0)>(G|0)?G:g):0}G=q+((X(I,a)|0)+J<<1)|0;d[B+(D<<1)>>1]=d[G>>1]|0;D=D+1|0}while((D|0)!=(t|0));break}case 0:{D=0;do{G=D<<1;F=d[C+(G<<1)>>1]|0;E=d[C+((G|1)<<1)>>1]|0;if(k>>>0>F>>>0&l>>>0>E>>>0)K=q+((X(a,E)|0)+F<<1)|0;else K=i;d[B+(D<<1)>>1]=d[K>>1]|0;D=D+1|0}while((D|0)!=(t|0));break}default:{D=0;do{F=D<<1;E=d[C+(F<<1)>>1]|0;G=d[C+((F|1)<<1)>>1]|0;if(!(k>>>0>E>>>0&l>>>0>G>>>0)){if(!z){F=lM(E,k,e)|0;L=F;M=lM(G,l,e)|0;x=30}}else{L=E;M=G;x=30}if((x|0)==30){x=0;G=q+((X(M,a)|0)+L<<1)|0;d[B+(D<<1)>>1]=d[G>>1]|0}D=D+1|0}while((D|0)!=(t|0))}}}else if(j){if(z){D=0;G=B;while(1){E=D<<1;F=d[C+(E<<1)>>1]|0;H=d[C+((E|1)<<1)>>1]|0;do if(k>>>0>F>>>0&l>>>0>H>>>0){E=q+((X(a,H)|0)<<1)|0;if(s){N=E+(F*3<<1)|0;d[G>>1]=d[N>>1]|0;d[G+2>>1]=d[N+2>>1]|0;d[G+4>>1]=d[N+4>>1]|0;break}if(y){N=E+(F<<2<<1)|0;d[G>>1]=d[N>>1]|0;d[G+2>>1]=d[N+2>>1]|0;d[G+4>>1]=d[N+4>>1]|0;d[G+6>>1]=d[N+6>>1]|0;break}N=E+((X(o,F)|0)<<1)|0;E=0;do{d[G+(E<<1)>>1]=d[N+(E<<1)>>1]|0;E=E+1|0}while((E|0)!=(o|0))}while(0);D=D+1|0;if((D|0)==(t|0))break a;else G=G+(o<<1)|0}}else{O=0;P=B}while(1){G=O<<1;D=d[C+(G<<1)>>1]|0;F=D<<16>>16;H=d[C+((G|1)<<1)>>1]|0;G=H<<16>>16;b:do if(k>>>0>F>>>0&l>>>0>G>>>0){E=q+((X(a,G)|0)<<1)|0;if(s){N=E+(F*3<<1)|0;d[P>>1]=d[N>>1]|0;d[P+2>>1]=d[N+2>>1]|0;d[P+4>>1]=d[N+4>>1]|0;break}if(y){N=E+(F<<2<<1)|0;d[P>>1]=d[N>>1]|0;d[P+2>>1]=d[N+2>>1]|0;d[P+4>>1]=d[N+4>>1]|0;d[P+6>>1]=d[N+6>>1]|0;break}N=E+((X(o,F)|0)<<1)|0;E=0;do{d[P+(E<<1)>>1]=d[N+(E<<1)>>1]|0;E=E+1|0}while((E|0)!=(o|0))}else{switch(e|0){case 5:{break b;break}case 1:{Q=q+((X(H<<16>>16>-1?((l|0)>(G|0)?G:r):0,a)|0)<<1)+((X(D<<16>>16>-1?((k|0)>(F|0)?F:g):0,o)|0)<<1)|0;break}case 0:{Q=i;break}default:{E=lM(F,k,e)|0;Q=q+((X(lM(G,l,e)|0,a)|0)<<1)+((X(E,o)|0)<<1)|0}}E=0;do{d[P+(E<<1)>>1]=d[Q+(E<<1)>>1]|0;E=E+1|0}while((E|0)!=(o|0))}while(0);O=O+1|0;if((O|0)==(t|0))break;else P=P+(o<<1)|0}}while(0);A=A+1|0}while((A|0)!=(v|0));u=h;return}function Cga(a,b,c,e,g){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;h=u;u=u+2048|0;i=h;j=f[a+40>>2]|0;k=f[j+4>>2]|0;l=f[j>>2]|0;j=f[b+40>>2]|0;m=f[j+4>>2]|0;n=f[j>>2]|0;j=(f[a>>2]|0)>>>3&511;o=j+1|0;q=f[a+16>>2]|0;r=f[a+48>>2]|0;a=0;do{s=AEa(+p[g+((a&3)<<3)>>3])|0;f[i+(a<<2)>>2]=s;a=a+1|0}while((a|0)!=(o|0));a=r>>>2;if(f[b>>2]&16384){r=(f[c>>2]&16384|0)!=0;g=X(r?n:1,m)|0;if(r){t=g;v=1}else{w=g;x=5}}else{w=m;x=5}if((x|0)==5)if((n|0)>0){t=w;v=n}else{u=h;return}n=b+16|0;w=b+44|0;b=c+16|0;m=c+44|0;c=(j|0)==0;j=(t|0)>0;g=k+-1|0;r=l+-1|0;s=(o|0)==3;y=(o|0)==4;z=(e|0)==5;A=0;do{B=(f[n>>2]|0)+(X(f[f[w>>2]>>2]|0,A)|0)|0;C=(f[b>>2]|0)+(X(f[f[m>>2]>>2]|0,A)|0)|0;a:do if(c){if(j)switch(e|0){case 1:{D=0;do{E=D<<1;F=d[C+(E<<1)>>1]|0;G=F<<16>>16;H=d[C+((E|1)<<1)>>1]|0;E=H<<16>>16;if(k>>>0>G>>>0&l>>>0>E>>>0){I=E;J=G}else{I=H<<16>>16>-1?((l|0)>(E|0)?E:r):0;J=F<<16>>16>-1?((k|0)>(G|0)?G:g):0}G=q+((X(I,a)|0)+J<<2)|0;f[B+(D<<2)>>2]=f[G>>2];D=D+1|0}while((D|0)!=(t|0));break}case 0:{D=0;do{G=D<<1;F=d[C+(G<<1)>>1]|0;E=d[C+((G|1)<<1)>>1]|0;if(k>>>0>F>>>0&l>>>0>E>>>0)K=q+((X(a,E)|0)+F<<2)|0;else K=i;f[B+(D<<2)>>2]=f[K>>2];D=D+1|0}while((D|0)!=(t|0));break}default:{D=0;do{F=D<<1;E=d[C+(F<<1)>>1]|0;G=d[C+((F|1)<<1)>>1]|0;if(!(k>>>0>E>>>0&l>>>0>G>>>0)){if(!z){F=lM(E,k,e)|0;L=F;M=lM(G,l,e)|0;x=30}}else{L=E;M=G;x=30}if((x|0)==30){x=0;G=q+((X(M,a)|0)+L<<2)|0;f[B+(D<<2)>>2]=f[G>>2]}D=D+1|0}while((D|0)!=(t|0))}}}else if(j){if(z){D=0;G=B;while(1){E=D<<1;F=d[C+(E<<1)>>1]|0;H=d[C+((E|1)<<1)>>1]|0;do if(k>>>0>F>>>0&l>>>0>H>>>0){E=q+((X(a,H)|0)<<2)|0;if(s){N=E+(F*3<<2)|0;f[G>>2]=f[N>>2];f[G+4>>2]=f[N+4>>2];f[G+8>>2]=f[N+8>>2];break}if(y){N=E+(F<<2<<2)|0;f[G>>2]=f[N>>2];f[G+4>>2]=f[N+4>>2];f[G+8>>2]=f[N+8>>2];f[G+12>>2]=f[N+12>>2];break}N=E+((X(o,F)|0)<<2)|0;E=0;do{f[G+(E<<2)>>2]=f[N+(E<<2)>>2];E=E+1|0}while((E|0)!=(o|0))}while(0);D=D+1|0;if((D|0)==(t|0))break a;else G=G+(o<<2)|0}}else{O=0;P=B}while(1){G=O<<1;D=d[C+(G<<1)>>1]|0;F=D<<16>>16;H=d[C+((G|1)<<1)>>1]|0;G=H<<16>>16;b:do if(k>>>0>F>>>0&l>>>0>G>>>0){E=q+((X(a,G)|0)<<2)|0;if(s){N=E+(F*3<<2)|0;f[P>>2]=f[N>>2];f[P+4>>2]=f[N+4>>2];f[P+8>>2]=f[N+8>>2];break}if(y){N=E+(F<<2<<2)|0;f[P>>2]=f[N>>2];f[P+4>>2]=f[N+4>>2];f[P+8>>2]=f[N+8>>2];f[P+12>>2]=f[N+12>>2];break}N=E+((X(o,F)|0)<<2)|0;E=0;do{f[P+(E<<2)>>2]=f[N+(E<<2)>>2];E=E+1|0}while((E|0)!=(o|0))}else{switch(e|0){case 5:{break b;break}case 1:{Q=q+((X(H<<16>>16>-1?((l|0)>(G|0)?G:r):0,a)|0)<<2)+((X(D<<16>>16>-1?((k|0)>(F|0)?F:g):0,o)|0)<<2)|0;break}case 0:{Q=i;break}default:{E=lM(F,k,e)|0;Q=q+((X(lM(G,l,e)|0,a)|0)<<2)+((X(E,o)|0)<<2)|0}}E=0;do{f[P+(E<<2)>>2]=f[Q+(E<<2)>>2];E=E+1|0}while((E|0)!=(o|0))}while(0);O=O+1|0;if((O|0)==(t|0))break;else P=P+(o<<2)|0}}while(0);A=A+1|0}while((A|0)!=(v|0));u=h;return}function Dga(a,b,c,e,g){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;h=u;u=u+2048|0;i=h;j=f[a+40>>2]|0;k=f[j+4>>2]|0;l=f[j>>2]|0;j=f[b+40>>2]|0;m=f[j+4>>2]|0;o=f[j>>2]|0;j=(f[a>>2]|0)>>>3&511;q=j+1|0;r=f[a+16>>2]|0;s=f[a+48>>2]|0;a=0;do{n[i+(a<<2)>>2]=+p[g+((a&3)<<3)>>3];a=a+1|0}while((a|0)!=(q|0));a=s>>>2;if(f[b>>2]&16384){s=(f[c>>2]&16384|0)!=0;g=X(s?o:1,m)|0;if(s){t=g;v=1}else{w=g;x=5}}else{w=m;x=5}if((x|0)==5)if((o|0)>0){t=w;v=o}else{u=h;return}o=b+16|0;w=b+44|0;b=c+16|0;m=c+44|0;c=(j|0)==0;j=(t|0)>0;g=k+-1|0;s=l+-1|0;y=(q|0)==3;z=(q|0)==4;A=(e|0)==5;B=0;do{C=(f[o>>2]|0)+(X(f[f[w>>2]>>2]|0,B)|0)|0;D=(f[b>>2]|0)+(X(f[f[m>>2]>>2]|0,B)|0)|0;a:do if(c){if(j)switch(e|0){case 1:{E=0;do{F=E<<1;G=d[D+(F<<1)>>1]|0;H=G<<16>>16;I=d[D+((F|1)<<1)>>1]|0;F=I<<16>>16;if(k>>>0>H>>>0&l>>>0>F>>>0){J=F;K=H}else{J=I<<16>>16>-1?((l|0)>(F|0)?F:s):0;K=G<<16>>16>-1?((k|0)>(H|0)?H:g):0}H=r+((X(J,a)|0)+K<<2)|0;f[C+(E<<2)>>2]=f[H>>2];E=E+1|0}while((E|0)!=(t|0));break}case 0:{E=0;do{H=E<<1;G=d[D+(H<<1)>>1]|0;F=d[D+((H|1)<<1)>>1]|0;if(k>>>0>G>>>0&l>>>0>F>>>0)L=r+((X(a,F)|0)+G<<2)|0;else L=i;f[C+(E<<2)>>2]=f[L>>2];E=E+1|0}while((E|0)!=(t|0));break}default:{E=0;do{G=E<<1;F=d[D+(G<<1)>>1]|0;H=d[D+((G|1)<<1)>>1]|0;if(!(k>>>0>F>>>0&l>>>0>H>>>0)){if(!A){G=lM(F,k,e)|0;M=G;N=lM(H,l,e)|0;x=30}}else{M=F;N=H;x=30}if((x|0)==30){x=0;H=r+((X(N,a)|0)+M<<2)|0;f[C+(E<<2)>>2]=f[H>>2]}E=E+1|0}while((E|0)!=(t|0))}}}else if(j){if(A){E=0;H=C;while(1){F=E<<1;G=d[D+(F<<1)>>1]|0;I=d[D+((F|1)<<1)>>1]|0;do if(k>>>0>G>>>0&l>>>0>I>>>0){F=r+((X(a,I)|0)<<2)|0;if(y){O=F+(G*3<<2)|0;f[H>>2]=f[O>>2];f[H+4>>2]=f[O+4>>2];f[H+8>>2]=f[O+8>>2];break}if(z){O=F+(G<<2<<2)|0;f[H>>2]=f[O>>2];f[H+4>>2]=f[O+4>>2];f[H+8>>2]=f[O+8>>2];f[H+12>>2]=f[O+12>>2];break}O=F+((X(q,G)|0)<<2)|0;F=0;do{f[H+(F<<2)>>2]=f[O+(F<<2)>>2];F=F+1|0}while((F|0)!=(q|0))}while(0);E=E+1|0;if((E|0)==(t|0))break a;else H=H+(q<<2)|0}}else{P=0;Q=C}while(1){H=P<<1;E=d[D+(H<<1)>>1]|0;G=E<<16>>16;I=d[D+((H|1)<<1)>>1]|0;H=I<<16>>16;b:do if(k>>>0>G>>>0&l>>>0>H>>>0){F=r+((X(a,H)|0)<<2)|0;if(y){O=F+(G*3<<2)|0;f[Q>>2]=f[O>>2];f[Q+4>>2]=f[O+4>>2];f[Q+8>>2]=f[O+8>>2];break}if(z){O=F+(G<<2<<2)|0;f[Q>>2]=f[O>>2];f[Q+4>>2]=f[O+4>>2];f[Q+8>>2]=f[O+8>>2];f[Q+12>>2]=f[O+12>>2];break}O=F+((X(q,G)|0)<<2)|0;F=0;do{f[Q+(F<<2)>>2]=f[O+(F<<2)>>2];F=F+1|0}while((F|0)!=(q|0))}else{switch(e|0){case 5:{break b;break}case 1:{R=r+((X(I<<16>>16>-1?((l|0)>(H|0)?H:s):0,a)|0)<<2)+((X(E<<16>>16>-1?((k|0)>(G|0)?G:g):0,q)|0)<<2)|0;break}case 0:{R=i;break}default:{F=lM(G,k,e)|0;R=r+((X(lM(H,l,e)|0,a)|0)<<2)+((X(F,q)|0)<<2)|0}}F=0;do{f[Q+(F<<2)>>2]=f[R+(F<<2)>>2];F=F+1|0}while((F|0)!=(q|0))}while(0);P=P+1|0;if((P|0)==(t|0))break;else Q=Q+(q<<2)|0}}while(0);B=B+1|0}while((B|0)!=(v|0));u=h;return}function Ega(a,b,c,e,g){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;h=u;u=u+4096|0;i=h;j=f[a+40>>2]|0;k=f[j+4>>2]|0;l=f[j>>2]|0;j=f[b+40>>2]|0;m=f[j+4>>2]|0;n=f[j>>2]|0;j=(f[a>>2]|0)>>>3&511;o=j+1|0;q=f[a+16>>2]|0;r=f[a+48>>2]|0;a=0;do{p[i+(a<<3)>>3]=+p[g+((a&3)<<3)>>3];a=a+1|0}while((a|0)!=(o|0));a=r>>>3;if(f[b>>2]&16384){r=(f[c>>2]&16384|0)!=0;g=X(r?n:1,m)|0;if(r){s=g;t=1}else{v=g;w=5}}else{v=m;w=5}if((w|0)==5)if((n|0)>0){s=v;t=n}else{u=h;return}n=b+16|0;v=b+44|0;b=c+16|0;m=c+44|0;c=(j|0)==0;j=(s|0)>0;g=k+-1|0;r=l+-1|0;x=(o|0)==3;y=(o|0)==4;z=(e|0)==5;A=0;do{B=(f[n>>2]|0)+(X(f[f[v>>2]>>2]|0,A)|0)|0;C=(f[b>>2]|0)+(X(f[f[m>>2]>>2]|0,A)|0)|0;a:do if(c){if(j)switch(e|0){case 1:{D=0;do{E=D<<1;F=d[C+(E<<1)>>1]|0;G=F<<16>>16;H=d[C+((E|1)<<1)>>1]|0;E=H<<16>>16;if(k>>>0>G>>>0&l>>>0>E>>>0){I=E;J=G}else{I=H<<16>>16>-1?((l|0)>(E|0)?E:r):0;J=F<<16>>16>-1?((k|0)>(G|0)?G:g):0}G=q+((X(I,a)|0)+J<<3)|0;p[B+(D<<3)>>3]=+p[G>>3];D=D+1|0}while((D|0)!=(s|0));break}case 0:{D=0;do{G=D<<1;F=d[C+(G<<1)>>1]|0;E=d[C+((G|1)<<1)>>1]|0;if(k>>>0>F>>>0&l>>>0>E>>>0)K=q+((X(a,E)|0)+F<<3)|0;else K=i;p[B+(D<<3)>>3]=+p[K>>3];D=D+1|0}while((D|0)!=(s|0));break}default:{D=0;do{F=D<<1;E=d[C+(F<<1)>>1]|0;G=d[C+((F|1)<<1)>>1]|0;if(!(k>>>0>E>>>0&l>>>0>G>>>0)){if(!z){F=lM(E,k,e)|0;L=F;M=lM(G,l,e)|0;w=30}}else{L=E;M=G;w=30}if((w|0)==30){w=0;G=q+((X(M,a)|0)+L<<3)|0;p[B+(D<<3)>>3]=+p[G>>3]}D=D+1|0}while((D|0)!=(s|0))}}}else if(j){if(z){D=0;G=B;while(1){E=D<<1;F=d[C+(E<<1)>>1]|0;H=d[C+((E|1)<<1)>>1]|0;do if(k>>>0>F>>>0&l>>>0>H>>>0){E=q+((X(a,H)|0)<<3)|0;if(x){N=E+(F*3<<3)|0;p[G>>3]=+p[N>>3];p[G+8>>3]=+p[N+8>>3];p[G+16>>3]=+p[N+16>>3];break}if(y){N=E+(F<<2<<3)|0;p[G>>3]=+p[N>>3];p[G+8>>3]=+p[N+8>>3];p[G+16>>3]=+p[N+16>>3];p[G+24>>3]=+p[N+24>>3];break}N=E+((X(o,F)|0)<<3)|0;E=0;do{p[G+(E<<3)>>3]=+p[N+(E<<3)>>3];E=E+1|0}while((E|0)!=(o|0))}while(0);D=D+1|0;if((D|0)==(s|0))break a;else G=G+(o<<3)|0}}else{O=0;P=B}while(1){G=O<<1;D=d[C+(G<<1)>>1]|0;F=D<<16>>16;H=d[C+((G|1)<<1)>>1]|0;G=H<<16>>16;b:do if(k>>>0>F>>>0&l>>>0>G>>>0){E=q+((X(a,G)|0)<<3)|0;if(x){N=E+(F*3<<3)|0;p[P>>3]=+p[N>>3];p[P+8>>3]=+p[N+8>>3];p[P+16>>3]=+p[N+16>>3];break}if(y){N=E+(F<<2<<3)|0;p[P>>3]=+p[N>>3];p[P+8>>3]=+p[N+8>>3];p[P+16>>3]=+p[N+16>>3];p[P+24>>3]=+p[N+24>>3];break}N=E+((X(o,F)|0)<<3)|0;E=0;do{p[P+(E<<3)>>3]=+p[N+(E<<3)>>3];E=E+1|0}while((E|0)!=(o|0))}else{switch(e|0){case 5:{break b;break}case 1:{Q=q+((X(H<<16>>16>-1?((l|0)>(G|0)?G:r):0,a)|0)<<3)+((X(D<<16>>16>-1?((k|0)>(F|0)?F:g):0,o)|0)<<3)|0;break}case 0:{Q=i;break}default:{E=lM(F,k,e)|0;Q=q+((X(lM(G,l,e)|0,a)|0)<<3)+((X(E,o)|0)<<3)|0}}E=0;do{p[P+(E<<3)>>3]=+p[Q+(E<<3)>>3];E=E+1|0}while((E|0)!=(o|0))}while(0);O=O+1|0;if((O|0)==(s|0))break;else P=P+(o<<3)|0}}while(0);A=A+1|0}while((A|0)!=(t|0));u=h;return}function Fga(a,b,c,d,e,g,h,i,j,k,l,m,n){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0;o=u;u=u+1408|0;q=o+1352|0;r=o+1288|0;s=o+1296|0;t=o+208|0;v=o+224|0;w=o+216|0;x=o+32|0;y=o;f[r>>2]=d;f[r+4>>2]=e;EJ(q,r,a,b,c);f[t>>2]=i;f[t+4>>2]=j;EJ(s,t,a,g,h);h=s+12|0;g=f[h>>2]|0;a=g<<1;t=v+8|0;f[v>>2]=t;j=v+4|0;f[j>>2]=a;if(a>>>0>264){i=FQa(a>>>0>1073741823?-1:a<<2)|0;f[v>>2]=i;z=i}else z=t;i=z+(g<<2)|0;if((g|0)>0){A=+p[k>>3];B=+p[k+24>>3];a=0;do{C=+(a|0);c=AEa(A*C*1024.0)|0;f[z+(a<<2)>>2]=c;c=AEa(B*C*1024.0)|0;f[i+(a<<2)>>2]=c;a=a+1|0}while((a|0)<(g|0))}g=s+8|0;a=f[g>>2]|0;f[w>>2]=0;f[w+4>>2]=a;B=+p[n+8>>3];A=+p[n+16>>3];C=+p[n+24>>3];p[y>>3]=+p[n>>3];p[y+8>>3]=B;p[y+16>>3]=A;p[y+24>>3]=C;Gga(x,q,s,l,m,y,z,i,k);k=s+4|0;i=f[k>>2]|0;if((i|0)<3)D=X(f[h>>2]|0,f[g>>2]|0)|0;else{g=f[s+40>>2]|0;h=0;z=1;while(1){y=X(f[g+(h<<2)>>2]|0,z)|0;h=h+1|0;if((h|0)==(i|0)){D=y;break}else z=y}}$Z(w,x,+(D>>>0)*.0000152587890625);Hga(x);x=f[v>>2]|0;if((x|0)!=(t|0)){if(x|0)HQa(x);f[v>>2]=t;f[j>>2]=264}j=s+36|0;t=f[j>>2]|0;if(t|0?(v=t+12|0,t=f[v>>2]|0,f[v>>2]=t+-1,(t|0)==1):0)XO(s);f[j>>2]=0;j=s+16|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;if((f[k>>2]|0)>0){j=f[s+40>>2]|0;t=0;do{f[j+(t<<2)>>2]=0;t=t+1|0}while((t|0)<(f[k>>2]|0))}k=f[s+44>>2]|0;if((k|0)!=(s+48|0))dX(k);k=q+36|0;s=f[k>>2]|0;if(s|0?(t=s+12|0,s=f[t>>2]|0,f[t>>2]=s+-1,(s|0)==1):0)XO(q);f[k>>2]=0;k=q+16|0;s=q+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;if((f[s>>2]|0)>0){k=f[q+40>>2]|0;t=0;do{f[k+(t<<2)>>2]=0;t=t+1|0}while((t|0)<(f[s>>2]|0))}s=f[q+44>>2]|0;if((s|0)==(q+48|0)){u=o;return}dX(s);u=o;return}function Gga(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0.0,x=0,y=0,z=0.0,A=0,B=0,C=0.0,D=0,E=0,F=0,G=0;f[a>>2]=58160;k=a+4|0;f[k>>2]=f[b>>2];l=a+8|0;m=b+4|0;f[l>>2]=f[m>>2];n=a+12|0;f[n>>2]=f[b+8>>2];f[a+16>>2]=f[b+12>>2];f[a+20>>2]=f[b+16>>2];f[a+24>>2]=f[b+20>>2];f[a+28>>2]=f[b+24>>2];f[a+32>>2]=f[b+28>>2];f[a+36>>2]=f[b+32>>2];o=f[b+36>>2]|0;f[a+40>>2]=o;f[a+44>>2]=n;n=a+52|0;q=a+48|0;f[q>>2]=n;f[n>>2]=0;f[a+56>>2]=0;if(o|0){n=o+12|0;f[n>>2]=(f[n>>2]|0)+1}if((f[m>>2]|0)<3){m=f[b+44>>2]|0;n=f[q>>2]|0;f[n>>2]=f[m>>2];f[n+4>>2]=f[m+4>>2]}else{f[l>>2]=0;WO(k,b)}b=a+60|0;f[b>>2]=f[c>>2];k=a+64|0;l=c+4|0;f[k>>2]=f[l>>2];m=a+68|0;f[m>>2]=f[c+8>>2];f[a+72>>2]=f[c+12>>2];f[a+76>>2]=f[c+16>>2];f[a+80>>2]=f[c+20>>2];f[a+84>>2]=f[c+24>>2];f[a+88>>2]=f[c+28>>2];f[a+92>>2]=f[c+32>>2];n=f[c+36>>2]|0;f[a+96>>2]=n;f[a+100>>2]=m;m=a+108|0;q=a+104|0;f[q>>2]=m;f[m>>2]=0;f[a+112>>2]=0;if(n|0){m=n+12|0;f[m>>2]=(f[m>>2]|0)+1}if((f[l>>2]|0)<3){l=f[c+44>>2]|0;m=f[q>>2]|0;f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];r=a+116|0;f[r>>2]=d;s=a+120|0;f[s>>2]=e;t=+p[g>>3];u=a+128|0;p[u>>3]=t;v=g+8|0;w=+p[v>>3];x=a+136|0;p[x>>3]=w;y=g+16|0;z=+p[y>>3];A=a+144|0;p[A>>3]=z;B=g+24|0;C=+p[B>>3];D=a+152|0;p[D>>3]=C;E=a+160|0;f[E>>2]=h;F=a+164|0;f[F>>2]=i;G=a+168|0;f[G>>2]=j;return}else{f[k>>2]=0;WO(b,c);r=a+116|0;f[r>>2]=d;s=a+120|0;f[s>>2]=e;t=+p[g>>3];u=a+128|0;p[u>>3]=t;v=g+8|0;w=+p[v>>3];x=a+136|0;p[x>>3]=w;y=g+16|0;z=+p[y>>3];A=a+144|0;p[A>>3]=z;B=g+24|0;C=+p[B>>3];D=a+152|0;p[D>>3]=C;E=a+160|0;f[E>>2]=h;F=a+164|0;f[F>>2]=i;G=a+168|0;f[G>>2]=j;return}}function Hga(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=58160;b=a+60|0;c=a+96|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+76|0;b=a+64|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+100>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+104>>2]|0;if((b|0)!=(a+108|0))dX(b);b=a+4|0;d=a+40|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+20|0;b=a+8|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[a+44>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+48>>2]|0;if((b|0)==(a+52|0))return;dX(b);return}function Iga(a){a=a|0;Hga(a);GQa(a);return}function Jga(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0.0,eb=0.0,fb=0.0,gb=0.0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0.0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0;c=u;u=u+24912|0;e=c+8520|0;g=c+328|0;h=c+272|0;i=c+216|0;j=c+160|0;k=c+104|0;l=c+88|0;m=c+72|0;n=c+56|0;o=c;q=a+116|0;r=(f[q>>2]|0)==0?512:16;s=a+60|0;t=f[a+68>>2]|0;v=4096/(((t|0)<32?t:32)|0)|0;w=a+72|0;x=f[w>>2]|0;y=(x|0)<(v|0)?x:v;v=4096/(y|0)|0;x=(t|0)<(v|0)?t:v;v=f[b>>2]|0;t=b+4|0;if((v|0)>=(f[t>>2]|0)){u=c;return}b=h+4|0;z=h+8|0;A=h+12|0;B=h+16|0;C=h+20|0;D=h+24|0;E=h+28|0;F=h+40|0;G=h+48|0;H=h+44|0;I=i+4|0;J=i+8|0;K=i+40|0;L=i+48|0;M=i+44|0;N=i+52|0;O=k+4|0;P=k+8|0;Q=k+12|0;R=a+4|0;S=k+8|0;T=k+12|0;U=k+4|0;V=l+8|0;W=l+4|0;Y=m+8|0;Z=m+12|0;_=m+4|0;$=o+4|0;aa=o+8|0;ba=o+40|0;ca=o+48|0;da=o+44|0;ea=o+52|0;fa=n+8|0;ga=n+12|0;ha=n+4|0;ia=a+120|0;ja=a+128|0;ka=o+36|0;la=o+16|0;ma=j+36|0;na=j+16|0;oa=j+4|0;pa=j+40|0;qa=j+44|0;ra=j+48|0;sa=i+36|0;ta=i+16|0;ua=h+36|0;va=k+4|0;wa=k+8|0;xa=k+12|0;ya=k+16|0;za=k+20|0;Aa=k+24|0;Ba=k+28|0;Ca=k+40|0;Da=k+48|0;Ea=k+44|0;Fa=l+8|0;Ga=l+12|0;Ha=l+4|0;Ia=m+8|0;Ja=m+4|0;Ka=n+8|0;La=n+12|0;Ma=n+4|0;Na=o+8|0;Oa=o+12|0;Pa=o+4|0;Qa=k+36|0;Ra=a+168|0;Sa=a+160|0;Ta=a+164|0;a=D+8|0;Ua=h+52|0;Va=Aa+8|0;Wa=k+52|0;Xa=v;v=f[w>>2]|0;while(1){if((v|0)>0){Ya=0;Za=v;while(1){_a=Za-Ya|0;$a=(_a|0)<(y|0)?_a:y;_a=(f[t>>2]|0)-Xa|0;ab=(_a|0)<(x|0)?_a:x;f[b>>2]=2;f[z>>2]=ab;f[A>>2]=$a;f[B>>2]=e;f[C>>2]=e;_a=a;f[_a>>2]=0;f[_a+4>>2]=0;f[F>>2]=z;f[H>>2]=G;_a=$a<<2;f[h>>2]=1124024331;f[G>>2]=_a;f[Ua>>2]=4;bb=e+(X(ab,_a)|0)|0;f[E>>2]=bb;f[D>>2]=bb+(0-_a)+_a;f[i>>2]=1124007936;_a=I;bb=_a+36|0;do{f[_a>>2]=0;_a=_a+4|0}while((_a|0)<(bb|0));f[K>>2]=J;f[M>>2]=L;f[L>>2]=0;f[N>>2]=0;f[k>>2]=Ya;f[O>>2]=Xa;f[P>>2]=$a;f[Q>>2]=ab;$O(j,s,k);if((ab|0)>0){cb=f[Ra>>2]|0;db=+p[cb+8>>3];eb=+p[cb+16>>3];fb=+p[cb+32>>3];gb=+p[cb+40>>3];cb=f[q>>2]|0;hb=(cb|0)==0;ib=($a|0)>0;jb=0;do{kb=X(jb,$a)|0;lb=e+(kb<<1<<1)|0;mb=+(jb+Xa|0);nb=(AEa((db*mb+eb)*1024.0)|0)+r|0;ob=(AEa((fb*mb+gb)*1024.0)|0)+r|0;if(hb){if(ib){pb=f[Sa>>2]|0;qb=f[Ta>>2]|0;rb=0;do{sb=rb+Ya|0;tb=(f[pb+(sb<<2)>>2]|0)+nb>>10;ub=(f[qb+(sb<<2)>>2]|0)+ob>>10;sb=rb<<1;d[lb+(sb<<1)>>1]=(tb+32768|0)>>>0<65536?tb:(tb|0)>0?32767:32768;d[lb+((sb|1)<<1)>>1]=(ub+32768|0)>>>0<65536?ub:(ub|0)>0?32767:32768;rb=rb+1|0}while((rb|0)<($a|0))}}else{rb=g+(kb<<1)|0;if(ib){qb=f[Sa>>2]|0;pb=f[Ta>>2]|0;ub=0;do{sb=ub+Ya|0;tb=(f[qb+(sb<<2)>>2]|0)+nb|0;vb=(f[pb+(sb<<2)>>2]|0)+ob|0;sb=tb>>10;wb=ub<<1;d[lb+(wb<<1)>>1]=(sb+32768|0)>>>0<65536?sb:(sb|0)>0?32767:32768;sb=vb>>10;d[lb+((wb|1)<<1)>>1]=(sb+32768|0)>>>0<65536?sb:(sb|0)>0?32767:32768;d[rb+(ub<<1)>>1]=vb&992|tb>>>5&31;ub=ub+1|0}while((ub|0)<($a|0))}}jb=jb+1|0}while((jb|0)<(ab|0));xb=cb}else xb=f[q>>2]|0;if(!xb){f[S>>2]=0;f[T>>2]=0;f[k>>2]=16842752;f[U>>2]=R;cb=V;f[cb>>2]=0;f[cb+4>>2]=0;f[l>>2]=33619968;f[W>>2]=j;f[Y>>2]=0;f[Z>>2]=0;f[m>>2]=16842752;f[_>>2]=h;f[o>>2]=1124007936;_a=$;bb=_a+36|0;do{f[_a>>2]=0;_a=_a+4|0}while((_a|0)<(bb|0));f[ba>>2]=aa;f[da>>2]=ca;f[ca>>2]=0;f[ea>>2]=0;f[fa>>2]=0;f[ga>>2]=0;f[n>>2]=16842752;f[ha>>2]=o;gga(k,l,m,n,0,f[ia>>2]|0,ja);_a=f[ka>>2]|0;if(_a|0?(bb=_a+12|0,_a=f[bb>>2]|0,f[bb>>2]=_a+-1,(_a|0)==1):0)XO(o);f[ka>>2]=0;f[la>>2]=0;f[la+4>>2]=0;f[la+8>>2]=0;f[la+12>>2]=0;if((f[$>>2]|0)>0){_a=f[ba>>2]|0;bb=0;do{f[_a+(bb<<2)>>2]=0;bb=bb+1|0}while((bb|0)<(f[$>>2]|0))}bb=f[da>>2]|0;if((bb|0)!=(ca|0))dX(bb)}else{f[va>>2]=2;f[wa>>2]=ab;f[xa>>2]=$a;f[ya>>2]=g;f[za>>2]=g;bb=Va;f[bb>>2]=0;f[bb+4>>2]=0;f[Ca>>2]=wa;f[Ea>>2]=Da;bb=$a<<1;f[k>>2]=1124024322;f[Da>>2]=bb;f[Wa>>2]=2;_a=g+(X(ab,bb)|0)|0;f[Ba>>2]=_a;f[Aa>>2]=_a+(0-bb)+bb;f[Fa>>2]=0;f[Ga>>2]=0;f[l>>2]=16842752;f[Ha>>2]=R;bb=Ia;f[bb>>2]=0;f[bb+4>>2]=0;f[m>>2]=33619968;f[Ja>>2]=j;f[Ka>>2]=0;f[La>>2]=0;f[n>>2]=16842752;f[Ma>>2]=h;f[Na>>2]=0;f[Oa>>2]=0;f[o>>2]=16842752;f[Pa>>2]=k;gga(l,m,n,o,xb,f[ia>>2]|0,ja);bb=f[Qa>>2]|0;if(bb|0?(_a=bb+12|0,bb=f[_a>>2]|0,f[_a>>2]=bb+-1,(bb|0)==1):0)XO(k);f[Qa>>2]=0;f[ya>>2]=0;f[ya+4>>2]=0;f[ya+8>>2]=0;f[ya+12>>2]=0;if((f[va>>2]|0)>0){bb=f[Ca>>2]|0;_a=0;do{f[bb+(_a<<2)>>2]=0;_a=_a+1|0}while((_a|0)<(f[va>>2]|0))}_a=f[Ea>>2]|0;if((_a|0)!=(Da|0))dX(_a)}_a=f[ma>>2]|0;if(_a|0?(bb=_a+12|0,_a=f[bb>>2]|0,f[bb>>2]=_a+-1,(_a|0)==1):0)XO(j);f[ma>>2]=0;f[na>>2]=0;f[na+4>>2]=0;f[na+8>>2]=0;f[na+12>>2]=0;if((f[oa>>2]|0)>0){_a=f[pa>>2]|0;bb=0;do{f[_a+(bb<<2)>>2]=0;bb=bb+1|0}while((bb|0)<(f[oa>>2]|0))}bb=f[qa>>2]|0;if((bb|0)!=(ra|0))dX(bb);bb=f[sa>>2]|0;if(bb|0?(_a=bb+12|0,bb=f[_a>>2]|0,f[_a>>2]=bb+-1,(bb|0)==1):0)XO(i);f[sa>>2]=0;f[ta>>2]=0;f[ta+4>>2]=0;f[ta+8>>2]=0;f[ta+12>>2]=0;if((f[I>>2]|0)>0){bb=f[K>>2]|0;_a=0;do{f[bb+(_a<<2)>>2]=0;_a=_a+1|0}while((_a|0)<(f[I>>2]|0))}_a=f[M>>2]|0;if((_a|0)!=(L|0))dX(_a);_a=f[ua>>2]|0;if(_a|0?(bb=_a+12|0,_a=f[bb>>2]|0,f[bb>>2]=_a+-1,(_a|0)==1):0)XO(h);f[ua>>2]=0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;if((f[b>>2]|0)>0){_a=f[F>>2]|0;bb=0;do{f[_a+(bb<<2)>>2]=0;bb=bb+1|0}while((bb|0)<(f[b>>2]|0))}bb=f[H>>2]|0;if((bb|0)!=(G|0))dX(bb);Ya=Ya+y|0;bb=f[w>>2]|0;if((bb|0)<=(Ya|0)){yb=bb;break}else Za=bb}}else yb=v;Xa=Xa+x|0;if((Xa|0)>=(f[t>>2]|0))break;else v=yb}u=c;return}function Kga(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0;j=u;u=u+304|0;k=j;l=j+296|0;m=j+240|0;n=j+176|0;o=j+232|0;q=j+120|0;r=j+64|0;s=j+48|0;yV(l,58172);t=g&7;a:do if((UJ(a,-1)|0)>=5){switch(g&7){case 2:case 4:break;default:break a}f[k>>2]=0;f[k+4>>2]=0;v=JV(k,89)|0;w=230120;x=v+89|0;do{b[v>>0]=b[w>>0]|0;v=v+1|0;w=w+1|0}while((v|0)<(x|0));EP(-215,k,230210,229369,2677);KV(k)}while(0);do if((HJ(a)|0)==65536){y=f[a+4>>2]|0;f[m>>2]=f[y>>2];z=m+4|0;A=y+4|0;f[z>>2]=f[A>>2];B=m+8|0;f[B>>2]=f[y+8>>2];f[m+12>>2]=f[y+12>>2];f[m+16>>2]=f[y+16>>2];f[m+20>>2]=f[y+20>>2];f[m+24>>2]=f[y+24>>2];f[m+28>>2]=f[y+28>>2];f[m+32>>2]=f[y+32>>2];C=f[y+36>>2]|0;f[m+36>>2]=C;f[m+40>>2]=B;B=m+48|0;D=m+44|0;f[D>>2]=B;f[B>>2]=0;f[m+52>>2]=0;if(C|0){B=C+12|0;f[B>>2]=(f[B>>2]|0)+1}if((f[A>>2]|0)<3){A=f[y+44>>2]|0;B=f[D>>2]|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];break}else{f[z>>2]=0;WO(m,y);break}}else DJ(m,a,-1);while(0);do if((HJ(d)|0)==65536){a=f[d+4>>2]|0;f[n>>2]=f[a>>2];y=n+4|0;z=a+4|0;f[y>>2]=f[z>>2];A=n+8|0;f[A>>2]=f[a+8>>2];f[n+12>>2]=f[a+12>>2];f[n+16>>2]=f[a+16>>2];f[n+20>>2]=f[a+20>>2];f[n+24>>2]=f[a+24>>2];f[n+28>>2]=f[a+28>>2];f[n+32>>2]=f[a+32>>2];B=f[a+36>>2]|0;f[n+36>>2]=B;f[n+40>>2]=A;A=n+48|0;D=n+44|0;f[D>>2]=A;f[A>>2]=0;f[n+52>>2]=0;if(B|0){A=B+12|0;f[A>>2]=(f[A>>2]|0)+1}if((f[z>>2]|0)<3){z=f[a+44>>2]|0;A=f[D>>2]|0;f[A>>2]=f[z>>2];f[A+4>>2]=f[z+4>>2];break}else{f[y>>2]=0;WO(n,a);break}}else DJ(n,d,-1);while(0);d=f[e>>2]|0;a=f[e+4>>2]|0;if(!(X(a,d)|0)){e=f[m+40>>2]|0;E=f[e>>2]|0;F=f[e+4>>2]|0}else{E=a;F=d}f[o>>2]=F;f[o+4>>2]=E;_J(c,o,f[m>>2]&4095,-1,0,0);do if((HJ(c)|0)==65536){o=f[c+4>>2]|0;f[q>>2]=f[o>>2];E=q+4|0;F=o+4|0;f[E>>2]=f[F>>2];d=q+8|0;f[d>>2]=f[o+8>>2];f[q+12>>2]=f[o+12>>2];f[q+16>>2]=f[o+16>>2];f[q+20>>2]=f[o+20>>2];f[q+24>>2]=f[o+24>>2];f[q+28>>2]=f[o+28>>2];f[q+32>>2]=f[o+32>>2];a=f[o+36>>2]|0;f[q+36>>2]=a;f[q+40>>2]=d;d=q+48|0;e=q+44|0;f[e>>2]=d;f[d>>2]=0;f[q+52>>2]=0;if(a|0){d=a+12|0;f[d>>2]=(f[d>>2]|0)+1}if((f[F>>2]|0)<3){F=f[o+44>>2]|0;d=f[e>>2]|0;f[d>>2]=f[F>>2];f[d+4>>2]=f[F+4>>2];break}else{f[E>>2]=0;WO(q,o);break}}else DJ(q,c,-1);while(0);c=m+12|0;if(!((f[c>>2]|0)>0?(f[m+8>>2]|0)>0:0)){f[k>>2]=0;f[k+4>>2]=0;v=JV(k,28)|0;w=230221;x=v+28|0;do{b[v>>0]=b[w>>0]|0;v=v+1|0;w=w+1|0}while((v|0)<(x|0));EP(-215,k,230210,229369,2691);KV(k)}o=q+16|0;E=m+16|0;if((f[o>>2]|0)==(f[E>>2]|0)){f[r>>2]=1124007936;F=r+4|0;d=r+8|0;e=r+40|0;v=F;x=v+36|0;do{f[v>>2]=0;v=v+4|0}while((v|0)<(x|0));f[e>>2]=d;a=r+48|0;y=r+44|0;f[y>>2]=a;f[a>>2]=0;f[r+52>>2]=0;z=k+8|0;f[z>>2]=0;f[z+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=r;eM(m,k);z=r+36|0;A=f[z>>2]|0;if(A|0){D=A+12|0;f[D>>2]=(f[D>>2]|0)+1}D=m+36|0;A=f[D>>2]|0;if(A|0?(B=A+12|0,A=f[B>>2]|0,f[B>>2]=A+-1,(A|0)==1):0)XO(m);f[D>>2]=0;A=m+4|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;if((f[A>>2]|0)>0){B=f[m+40>>2]|0;C=0;do{f[B+(C<<2)>>2]=0;C=C+1|0;G=f[A>>2]|0}while((C|0)<(G|0));f[m>>2]=f[r>>2];if((G|0)<3)H=41;else H=43}else{f[m>>2]=f[r>>2];H=41}if((H|0)==41){G=f[F>>2]|0;if((G|0)<3){f[A>>2]=G;f[m+8>>2]=f[d>>2];f[c>>2]=f[r+12>>2];d=f[y>>2]|0;G=f[m+44>>2]|0;f[G>>2]=f[d>>2];f[G+4>>2]=f[d+4>>2]}else H=43}if((H|0)==43)WO(m,r);H=r+16|0;f[E>>2]=f[H>>2];f[m+20>>2]=f[r+20>>2];f[m+24>>2]=f[r+24>>2];f[m+28>>2]=f[r+28>>2];f[m+32>>2]=f[r+32>>2];d=f[z>>2]|0;f[D>>2]=d;if(d|0?(D=d+12|0,d=f[D>>2]|0,f[D>>2]=d+-1,(d|0)==1):0)XO(r);f[z>>2]=0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;if((f[F>>2]|0)>0){H=f[e>>2]|0;e=0;do{f[H+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(f[F>>2]|0))}F=f[y>>2]|0;if((F|0)!=(a|0))dX(F)}v=k;x=v+48|0;do{f[v>>2]=0;v=v+4|0}while((v|0)<(x|0));F=r+4|0;f[F>>2]=2;a=r+8|0;f[a>>2]=2;f[r+12>>2]=3;y=r+16|0;f[y>>2]=k;f[r+20>>2]=k;e=r+24|0;H=r+40|0;z=e+8|0;f[z>>2]=0;f[z+4>>2]=0;f[H>>2]=a;a=r+48|0;z=r+44|0;f[z>>2]=a;f[r>>2]=1124024326;f[a>>2]=24;f[r+52>>2]=8;f[r+28>>2]=k+48;f[e>>2]=k+48;e=(t|0)==3?1:t;if((((f[n>>2]&4095)+-5|0)>>>0<2?(f[n+8>>2]|0)==2:0)?(f[n+12>>2]|0)==3:0)I=1124024326;else{f[s>>2]=0;f[s+4>>2]=0;v=JV(s,66)|0;w=230250;x=v+66|0;do{b[v>>0]=b[w>>0]|0;v=v+1|0;w=w+1|0}while((v|0)<(x|0));EP(-215,s,230210,229369,2700);KV(s);I=f[r>>2]|0}w=s+8|0;f[w>>2]=0;f[w+4>>2]=0;f[s>>2]=33619968;f[s+4>>2]=r;AO(n,s,I&4095,1.0,0.0);if(!(g&16)){J=+p[k>>3];g=k+32|0;K=+p[g>>3];I=k+8|0;L=+p[I>>3];s=k+24|0;M=+p[s>>3];N=J*K-L*M;O=N!=0.0?1.0/N:0.0;N=K*O;K=J*O;p[k>>3]=N;J=-O;O=L*J;p[I>>3]=O;L=M*J;p[s>>3]=L;p[g>>3]=K;g=k+16|0;J=+p[g>>3];s=k+40|0;M=+p[s>>3];p[g>>3]=-(N*J)-O*M;p[s>>3]=-(J*L)-K*M}s=m+48|0;g=q+48|0;Fga(f[m>>2]&4095,f[E>>2]|0,f[s>>2]|0,f[c>>2]|0,f[m+8>>2]|0,f[o>>2]|0,f[g>>2]|0,f[q+12>>2]|0,f[q+8>>2]|0,k,e,h,i);i=r+36|0;h=f[i>>2]|0;if(h|0?(e=h+12|0,h=f[e>>2]|0,f[e>>2]=h+-1,(h|0)==1):0)XO(r);f[i>>2]=0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;if((f[F>>2]|0)>0){y=f[H>>2]|0;H=0;do{f[y+(H<<2)>>2]=0;H=H+1|0}while((H|0)<(f[F>>2]|0))}F=f[z>>2]|0;if((F|0)!=(a|0))dX(F);F=q+36|0;a=f[F>>2]|0;if(a|0?(z=a+12|0,a=f[z>>2]|0,f[z>>2]=a+-1,(a|0)==1):0)XO(q);f[F>>2]=0;F=q+4|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;if((f[F>>2]|0)>0){o=f[q+40>>2]|0;a=0;do{f[o+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[F>>2]|0))}F=f[q+44>>2]|0;if((F|0)!=(g|0))dX(F);F=n+36|0;g=f[F>>2]|0;if(g|0?(q=g+12|0,g=f[q>>2]|0,f[q>>2]=g+-1,(g|0)==1):0)XO(n);f[F>>2]=0;F=n+16|0;g=n+4|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;f[F+12>>2]=0;if((f[g>>2]|0)>0){F=f[n+40>>2]|0;q=0;do{f[F+(q<<2)>>2]=0;q=q+1|0}while((q|0)<(f[g>>2]|0))}g=f[n+44>>2]|0;if((g|0)!=(n+48|0))dX(g);g=m+36|0;n=f[g>>2]|0;do if(n|0){q=n+12|0;F=f[q>>2]|0;f[q>>2]=F+-1;if((F|0)!=1)break;XO(m)}while(0);f[g>>2]=0;g=m+4|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;if((f[g>>2]|0)>0){E=f[m+40>>2]|0;n=0;do{f[E+(n<<2)>>2]=0;n=n+1|0}while((n|0)<(f[g>>2]|0))}g=f[m+44>>2]|0;if((g|0)!=(s|0))dX(g);if(!(f[l+4>>2]|0)){u=j;return}u=j;return}function Lga(a,b,c,d,e,g,h,i,j,k,l,m,n){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0;o=u;u=u+336|0;q=o+272|0;r=o+208|0;s=o+216|0;t=o+192|0;v=o+200|0;w=o+32|0;x=o;f[r>>2]=d;f[r+4>>2]=e;EJ(q,r,a,b,c);f[t>>2]=i;f[t+4>>2]=j;EJ(s,t,a,g,h);h=s+8|0;g=f[h>>2]|0;f[v>>2]=0;f[v+4>>2]=g;y=+p[n+8>>3];z=+p[n+16>>3];A=+p[n+24>>3];p[x>>3]=+p[n>>3];p[x+8>>3]=y;p[x+16>>3]=z;p[x+24>>3]=A;Mga(w,q,s,k,l,m,x);x=s+4|0;m=f[x>>2]|0;if((m|0)<3)B=X(f[s+12>>2]|0,f[h>>2]|0)|0;else{h=f[s+40>>2]|0;l=0;k=1;while(1){n=X(f[h+(l<<2)>>2]|0,k)|0;l=l+1|0;if((l|0)==(m|0)){B=n;break}else k=n}}$Z(v,w,+(B>>>0)*.0000152587890625);Nga(w);w=s+36|0;B=f[w>>2]|0;if(B|0?(v=B+12|0,B=f[v>>2]|0,f[v>>2]=B+-1,(B|0)==1):0)XO(s);f[w>>2]=0;w=s+16|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;if((f[x>>2]|0)>0){w=f[s+40>>2]|0;B=0;do{f[w+(B<<2)>>2]=0;B=B+1|0}while((B|0)<(f[x>>2]|0))}x=f[s+44>>2]|0;if((x|0)!=(s+48|0))dX(x);x=q+36|0;s=f[x>>2]|0;if(s|0?(B=s+12|0,s=f[B>>2]|0,f[B>>2]=s+-1,(s|0)==1):0)XO(q);f[x>>2]=0;x=q+16|0;s=q+4|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;if((f[s>>2]|0)>0){x=f[q+40>>2]|0;B=0;do{f[x+(B<<2)>>2]=0;B=B+1|0}while((B|0)<(f[s>>2]|0))}s=f[q+44>>2]|0;if((s|0)==(q+48|0)){u=o;return}dX(s);u=o;return}function Mga(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0.0,t=0,u=0,v=0.0,w=0,x=0,y=0.0,z=0,A=0,B=0.0,C=0;f[a>>2]=58200;i=a+4|0;f[i>>2]=f[b>>2];j=a+8|0;k=b+4|0;f[j>>2]=f[k>>2];l=a+12|0;f[l>>2]=f[b+8>>2];f[a+16>>2]=f[b+12>>2];f[a+20>>2]=f[b+16>>2];f[a+24>>2]=f[b+20>>2];f[a+28>>2]=f[b+24>>2];f[a+32>>2]=f[b+28>>2];f[a+36>>2]=f[b+32>>2];m=f[b+36>>2]|0;f[a+40>>2]=m;f[a+44>>2]=l;l=a+52|0;n=a+48|0;f[n>>2]=l;f[l>>2]=0;f[a+56>>2]=0;if(m|0){l=m+12|0;f[l>>2]=(f[l>>2]|0)+1}if((f[k>>2]|0)<3){k=f[b+44>>2]|0;l=f[n>>2]|0;f[l>>2]=f[k>>2];f[l+4>>2]=f[k+4>>2]}else{f[j>>2]=0;WO(i,b)}b=a+60|0;f[b>>2]=f[c>>2];i=a+64|0;j=c+4|0;f[i>>2]=f[j>>2];k=a+68|0;f[k>>2]=f[c+8>>2];f[a+72>>2]=f[c+12>>2];f[a+76>>2]=f[c+16>>2];f[a+80>>2]=f[c+20>>2];f[a+84>>2]=f[c+24>>2];f[a+88>>2]=f[c+28>>2];f[a+92>>2]=f[c+32>>2];l=f[c+36>>2]|0;f[a+96>>2]=l;f[a+100>>2]=k;k=a+108|0;n=a+104|0;f[n>>2]=k;f[k>>2]=0;f[a+112>>2]=0;if(l|0){k=l+12|0;f[k>>2]=(f[k>>2]|0)+1}if((f[j>>2]|0)<3){j=f[c+44>>2]|0;k=f[n>>2]|0;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];o=a+116|0;f[o>>2]=d;q=a+120|0;f[q>>2]=e;r=a+124|0;f[r>>2]=g;s=+p[h>>3];t=a+128|0;p[t>>3]=s;u=h+8|0;v=+p[u>>3];w=a+136|0;p[w>>3]=v;x=h+16|0;y=+p[x>>3];z=a+144|0;p[z>>3]=y;A=h+24|0;B=+p[A>>3];C=a+152|0;p[C>>3]=B;return}else{f[i>>2]=0;WO(b,c);o=a+116|0;f[o>>2]=d;q=a+120|0;f[q>>2]=e;r=a+124|0;f[r>>2]=g;s=+p[h>>3];t=a+128|0;p[t>>3]=s;u=h+8|0;v=+p[u>>3];w=a+136|0;p[w>>3]=v;x=h+16|0;y=+p[x>>3];z=a+144|0;p[z>>3]=y;A=h+24|0;B=+p[A>>3];C=a+152|0;p[C>>3]=B;return}}function Nga(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=58200;b=a+60|0;c=a+96|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+76|0;b=a+64|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+100>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+104>>2]|0;if((b|0)!=(a+108|0))dX(b);b=a+4|0;d=a+40|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+20|0;b=a+8|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[a+44>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+48>>2]|0;if((b|0)==(a+52|0))return;dX(b);return}function Oga(a){a=a|0;Nga(a);GQa(a);return}function Pga(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0.0,ab=0.0,bb=0.0,cb=0.0,db=0.0,eb=0.0,fb=0.0,gb=0.0,hb=0.0,ib=0.0,jb=0.0,kb=0.0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0.0,rb=0.0,sb=0.0,tb=0.0,ub=0,vb=0.0,wb=0.0,xb=0.0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0;c=u;u=u+6480|0;e=c+2376|0;g=c+328|0;h=c+272|0;i=c+216|0;j=c+160|0;k=c+104|0;l=c+88|0;m=c+72|0;n=c+56|0;o=c;q=a+60|0;r=f[a+72>>2]|0;s=f[a+68>>2]|0;t=1024/(((s|0)<16?s:16)|0)|0;v=(r|0)<(t|0)?r:t;t=1024/(v|0)|0;w=(s|0)<(t|0)?s:t;t=f[b>>2]|0;s=b+4|0;if((t|0)>=(f[s>>2]|0)){u=c;return}b=(r|0)>0;x=h+4|0;y=h+8|0;z=h+12|0;A=h+16|0;B=h+20|0;C=h+24|0;D=h+28|0;E=h+40|0;F=h+48|0;G=h+44|0;H=i+4|0;I=i+8|0;J=i+40|0;K=i+48|0;L=i+44|0;M=i+52|0;N=k+4|0;O=k+8|0;P=k+12|0;Q=a+120|0;R=a+4|0;S=k+8|0;T=k+12|0;U=k+4|0;V=l+8|0;W=l+4|0;Y=m+8|0;Z=m+12|0;_=m+4|0;$=o+4|0;aa=o+8|0;ba=o+40|0;ca=o+48|0;da=o+44|0;ea=o+52|0;fa=n+8|0;ga=n+12|0;ha=n+4|0;ia=a+124|0;ja=a+128|0;ka=o+36|0;la=o+16|0;ma=j+36|0;na=j+16|0;oa=j+4|0;pa=j+40|0;qa=j+44|0;ra=j+48|0;sa=i+36|0;ta=i+16|0;ua=h+36|0;va=k+4|0;wa=k+8|0;xa=k+12|0;ya=k+16|0;za=k+20|0;Aa=k+24|0;Ba=k+28|0;Ca=k+40|0;Da=k+48|0;Ea=k+44|0;Fa=l+8|0;Ga=l+12|0;Ha=l+4|0;Ia=m+8|0;Ja=m+4|0;Ka=n+8|0;La=n+12|0;Ma=n+4|0;Na=o+8|0;Oa=o+12|0;Pa=o+4|0;Qa=k+36|0;Ra=a+116|0;a=C+8|0;Sa=h+52|0;Ta=Aa+8|0;Ua=k+52|0;Va=t;do{if(b){t=0;do{Wa=r-t|0;Xa=(Wa|0)<(v|0)?Wa:v;Wa=(f[s>>2]|0)-Va|0;Ya=(Wa|0)<(w|0)?Wa:w;f[x>>2]=2;f[y>>2]=Ya;f[z>>2]=Xa;f[A>>2]=e;f[B>>2]=e;Wa=a;f[Wa>>2]=0;f[Wa+4>>2]=0;f[E>>2]=y;f[G>>2]=F;Wa=Xa<<2;f[h>>2]=1124024331;f[F>>2]=Wa;f[Sa>>2]=4;Za=e+(X(Ya,Wa)|0)|0;f[D>>2]=Za;f[C>>2]=Za+(0-Wa)+Wa;f[i>>2]=1124007936;Wa=H;Za=Wa+36|0;do{f[Wa>>2]=0;Wa=Wa+4|0}while((Wa|0)<(Za|0));f[J>>2]=I;f[L>>2]=K;f[K>>2]=0;f[M>>2]=0;f[k>>2]=t;f[N>>2]=Va;f[O>>2]=Xa;f[P>>2]=Ya;$O(j,q,k);if((Ya|0)>0){_a=f[Ra>>2]|0;$a=+p[_a>>3];ab=+(t|0);bb=$a*ab;cb=+p[_a+8>>3];db=+p[_a+16>>3];eb=+p[_a+24>>3];fb=eb*ab;gb=+p[_a+32>>3];hb=+p[_a+40>>3];ib=+p[_a+48>>3];jb=ib*ab;ab=+p[_a+56>>3];kb=+p[_a+64>>3];_a=f[Q>>2]|0;lb=(_a|0)==0;mb=(Xa|0)>0;nb=0;do{ob=X(nb,Xa)|0;pb=e+(ob<<1<<1)|0;qb=+(nb+Va|0);rb=db+(bb+cb*qb);sb=hb+(fb+gb*qb);tb=kb+(jb+ab*qb);if(lb){if(mb){ub=0;do{qb=+(ub|0);vb=tb+ib*qb;wb=vb!=0.0?1.0/vb:0.0;vb=wb*(rb+$a*qb);xb=vb<2147483647.0?vb:2147483647.0;vb=wb*(sb+eb*qb);qb=vb<2147483647.0?vb:2147483647.0;yb=AEa(xb>-2147483648.0?xb:-2147483648.0)|0;zb=AEa(qb>-2147483648.0?qb:-2147483648.0)|0;Ab=ub<<1;d[pb+(Ab<<1)>>1]=(yb+32768|0)>>>0<65536?yb:(yb|0)>0?32767:32768;d[pb+((Ab|1)<<1)>>1]=(zb+32768|0)>>>0<65536?zb:(zb|0)>0?32767:32768;ub=ub+1|0}while((ub|0)<(Xa|0))}}else{ub=g+(ob<<1)|0;if(mb){zb=0;do{qb=+(zb|0);xb=tb+ib*qb;vb=xb!=0.0?32.0/xb:0.0;xb=vb*(rb+$a*qb);wb=xb<2147483647.0?xb:2147483647.0;xb=vb*(sb+eb*qb);qb=xb<2147483647.0?xb:2147483647.0;Ab=AEa(wb>-2147483648.0?wb:-2147483648.0)|0;yb=AEa(qb>-2147483648.0?qb:-2147483648.0)|0;Bb=Ab>>5;Cb=zb<<1;d[pb+(Cb<<1)>>1]=(Bb+32768|0)>>>0<65536?Bb:(Bb|0)>0?32767:32768;Bb=yb>>5;d[pb+((Cb|1)<<1)>>1]=(Bb+32768|0)>>>0<65536?Bb:(Bb|0)>0?32767:32768;d[ub+(zb<<1)>>1]=yb<<5&992|Ab&31;zb=zb+1|0}while((zb|0)<(Xa|0))}}nb=nb+1|0}while((nb|0)<(Ya|0));Db=_a}else Db=f[Q>>2]|0;if(!Db){f[S>>2]=0;f[T>>2]=0;f[k>>2]=16842752;f[U>>2]=R;_a=V;f[_a>>2]=0;f[_a+4>>2]=0;f[l>>2]=33619968;f[W>>2]=j;f[Y>>2]=0;f[Z>>2]=0;f[m>>2]=16842752;f[_>>2]=h;f[o>>2]=1124007936;Wa=$;Za=Wa+36|0;do{f[Wa>>2]=0;Wa=Wa+4|0}while((Wa|0)<(Za|0));f[ba>>2]=aa;f[da>>2]=ca;f[ca>>2]=0;f[ea>>2]=0;f[fa>>2]=0;f[ga>>2]=0;f[n>>2]=16842752;f[ha>>2]=o;gga(k,l,m,n,0,f[ia>>2]|0,ja);Wa=f[ka>>2]|0;if(Wa|0?(Za=Wa+12|0,Wa=f[Za>>2]|0,f[Za>>2]=Wa+-1,(Wa|0)==1):0)XO(o);f[ka>>2]=0;f[la>>2]=0;f[la+4>>2]=0;f[la+8>>2]=0;f[la+12>>2]=0;if((f[$>>2]|0)>0){Wa=f[ba>>2]|0;Za=0;do{f[Wa+(Za<<2)>>2]=0;Za=Za+1|0}while((Za|0)<(f[$>>2]|0))}Za=f[da>>2]|0;if((Za|0)!=(ca|0))dX(Za)}else{f[va>>2]=2;f[wa>>2]=Ya;f[xa>>2]=Xa;f[ya>>2]=g;f[za>>2]=g;Za=Ta;f[Za>>2]=0;f[Za+4>>2]=0;f[Ca>>2]=wa;f[Ea>>2]=Da;Za=Xa<<1;f[k>>2]=1124024322;f[Da>>2]=Za;f[Ua>>2]=2;Wa=g+(X(Ya,Za)|0)|0;f[Ba>>2]=Wa;f[Aa>>2]=Wa+(0-Za)+Za;f[Fa>>2]=0;f[Ga>>2]=0;f[l>>2]=16842752;f[Ha>>2]=R;Za=Ia;f[Za>>2]=0;f[Za+4>>2]=0;f[m>>2]=33619968;f[Ja>>2]=j;f[Ka>>2]=0;f[La>>2]=0;f[n>>2]=16842752;f[Ma>>2]=h;f[Na>>2]=0;f[Oa>>2]=0;f[o>>2]=16842752;f[Pa>>2]=k;gga(l,m,n,o,Db,f[ia>>2]|0,ja);Za=f[Qa>>2]|0;if(Za|0?(Wa=Za+12|0,Za=f[Wa>>2]|0,f[Wa>>2]=Za+-1,(Za|0)==1):0)XO(k);f[Qa>>2]=0;f[ya>>2]=0;f[ya+4>>2]=0;f[ya+8>>2]=0;f[ya+12>>2]=0;if((f[va>>2]|0)>0){Za=f[Ca>>2]|0;Wa=0;do{f[Za+(Wa<<2)>>2]=0;Wa=Wa+1|0}while((Wa|0)<(f[va>>2]|0))}Wa=f[Ea>>2]|0;if((Wa|0)!=(Da|0))dX(Wa)}Wa=f[ma>>2]|0;if(Wa|0?(Za=Wa+12|0,Wa=f[Za>>2]|0,f[Za>>2]=Wa+-1,(Wa|0)==1):0)XO(j);f[ma>>2]=0;f[na>>2]=0;f[na+4>>2]=0;f[na+8>>2]=0;f[na+12>>2]=0;if((f[oa>>2]|0)>0){Wa=f[pa>>2]|0;Za=0;do{f[Wa+(Za<<2)>>2]=0;Za=Za+1|0}while((Za|0)<(f[oa>>2]|0))}Za=f[qa>>2]|0;if((Za|0)!=(ra|0))dX(Za);Za=f[sa>>2]|0;if(Za|0?(Wa=Za+12|0,Za=f[Wa>>2]|0,f[Wa>>2]=Za+-1,(Za|0)==1):0)XO(i);f[sa>>2]=0;f[ta>>2]=0;f[ta+4>>2]=0;f[ta+8>>2]=0;f[ta+12>>2]=0;if((f[H>>2]|0)>0){Za=f[J>>2]|0;Wa=0;do{f[Za+(Wa<<2)>>2]=0;Wa=Wa+1|0}while((Wa|0)<(f[H>>2]|0))}Wa=f[L>>2]|0;if((Wa|0)!=(K|0))dX(Wa);Wa=f[ua>>2]|0;if(Wa|0?(Za=Wa+12|0,Wa=f[Za>>2]|0,f[Za>>2]=Wa+-1,(Wa|0)==1):0)XO(h);f[ua>>2]=0;f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;f[A+12>>2]=0;if((f[x>>2]|0)>0){Wa=f[E>>2]|0;Za=0;do{f[Wa+(Za<<2)>>2]=0;Za=Za+1|0}while((Za|0)<(f[x>>2]|0))}Za=f[G>>2]|0;if((Za|0)!=(F|0))dX(Za);t=t+v|0}while((r|0)>(t|0))}Va=Va+w|0}while((Va|0)<(f[s>>2]|0));u=c;return}function Qga(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;j=u;u=u+352|0;k=j;l=j+336|0;m=j+280|0;n=j+216|0;o=j+272|0;p=j+160|0;q=j+104|0;r=j+88|0;s=j+72|0;yV(l,58212);if(!(SJ(a,-1)|0)){f[k>>2]=0;f[k+4>>2]=0;t=JV(k,16)|0;v=230456;w=t+16|0;do{b[t>>0]=b[v>>0]|0;t=t+1|0;v=v+1|0}while((t|0)<(w|0));EP(-215,k,230473,229369,2983);KV(k)}do if((HJ(a)|0)==65536){x=f[a+4>>2]|0;f[m>>2]=f[x>>2];y=m+4|0;z=x+4|0;f[y>>2]=f[z>>2];A=m+8|0;f[A>>2]=f[x+8>>2];f[m+12>>2]=f[x+12>>2];f[m+16>>2]=f[x+16>>2];f[m+20>>2]=f[x+20>>2];f[m+24>>2]=f[x+24>>2];f[m+28>>2]=f[x+28>>2];f[m+32>>2]=f[x+32>>2];B=f[x+36>>2]|0;f[m+36>>2]=B;f[m+40>>2]=A;A=m+48|0;C=m+44|0;f[C>>2]=A;f[A>>2]=0;f[m+52>>2]=0;if(B|0){A=B+12|0;f[A>>2]=(f[A>>2]|0)+1}if((f[z>>2]|0)<3){z=f[x+44>>2]|0;A=f[C>>2]|0;f[A>>2]=f[z>>2];f[A+4>>2]=f[z+4>>2];break}else{f[y>>2]=0;WO(m,x);break}}else DJ(m,a,-1);while(0);do if((HJ(d)|0)==65536){a=f[d+4>>2]|0;f[n>>2]=f[a>>2];x=n+4|0;y=a+4|0;f[x>>2]=f[y>>2];z=n+8|0;f[z>>2]=f[a+8>>2];f[n+12>>2]=f[a+12>>2];f[n+16>>2]=f[a+16>>2];f[n+20>>2]=f[a+20>>2];f[n+24>>2]=f[a+24>>2];f[n+28>>2]=f[a+28>>2];f[n+32>>2]=f[a+32>>2];A=f[a+36>>2]|0;f[n+36>>2]=A;f[n+40>>2]=z;z=n+48|0;C=n+44|0;f[C>>2]=z;f[z>>2]=0;f[n+52>>2]=0;if(A|0){z=A+12|0;f[z>>2]=(f[z>>2]|0)+1}if((f[y>>2]|0)<3){y=f[a+44>>2]|0;z=f[C>>2]|0;f[z>>2]=f[y>>2];f[z+4>>2]=f[y+4>>2];break}else{f[x>>2]=0;WO(n,a);break}}else DJ(n,d,-1);while(0);d=f[e>>2]|0;a=f[e+4>>2]|0;if(!(X(a,d)|0)){e=f[m+40>>2]|0;D=f[e>>2]|0;E=f[e+4>>2]|0}else{D=a;E=d}f[o>>2]=E;f[o+4>>2]=D;_J(c,o,f[m>>2]&4095,-1,0,0);do if((HJ(c)|0)==65536){o=f[c+4>>2]|0;f[p>>2]=f[o>>2];D=p+4|0;E=o+4|0;f[D>>2]=f[E>>2];d=p+8|0;f[d>>2]=f[o+8>>2];f[p+12>>2]=f[o+12>>2];a=p+16|0;f[a>>2]=f[o+16>>2];f[p+20>>2]=f[o+20>>2];f[p+24>>2]=f[o+24>>2];f[p+28>>2]=f[o+28>>2];f[p+32>>2]=f[o+32>>2];e=f[o+36>>2]|0;f[p+36>>2]=e;f[p+40>>2]=d;d=p+48|0;x=p+44|0;f[x>>2]=d;f[d>>2]=0;f[p+52>>2]=0;if(e|0){d=e+12|0;f[d>>2]=(f[d>>2]|0)+1}if((f[E>>2]|0)<3){E=f[o+44>>2]|0;d=f[x>>2]|0;f[d>>2]=f[E>>2];f[d+4>>2]=f[E+4>>2];F=a;break}else{f[D>>2]=0;WO(p,o);F=a;break}}else{DJ(p,c,-1);F=p+16|0}while(0);c=m+16|0;if((f[F>>2]|0)==(f[c>>2]|0)){f[q>>2]=1124007936;a=q+4|0;o=q+8|0;D=q+40|0;t=a;w=t+36|0;do{f[t>>2]=0;t=t+4|0}while((t|0)<(w|0));f[D>>2]=o;E=q+48|0;d=q+44|0;f[d>>2]=E;f[E>>2]=0;f[q+52>>2]=0;x=k+8|0;f[x>>2]=0;f[x+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=q;eM(m,k);x=q+36|0;e=f[x>>2]|0;if(e|0){y=e+12|0;f[y>>2]=(f[y>>2]|0)+1}y=m+36|0;e=f[y>>2]|0;if(e|0?(z=e+12|0,e=f[z>>2]|0,f[z>>2]=e+-1,(e|0)==1):0)XO(m);f[y>>2]=0;e=m+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[e>>2]|0)>0){z=f[m+40>>2]|0;C=0;do{f[z+(C<<2)>>2]=0;C=C+1|0;G=f[e>>2]|0}while((C|0)<(G|0));f[m>>2]=f[q>>2];if((G|0)<3)H=37;else H=39}else{f[m>>2]=f[q>>2];H=37}if((H|0)==37){G=f[a>>2]|0;if((G|0)<3){f[e>>2]=G;f[m+8>>2]=f[o>>2];f[m+12>>2]=f[q+12>>2];o=f[d>>2]|0;G=f[m+44>>2]|0;f[G>>2]=f[o>>2];f[G+4>>2]=f[o+4>>2]}else H=39}if((H|0)==39)WO(m,q);H=q+16|0;f[c>>2]=f[H>>2];f[m+20>>2]=f[q+20>>2];f[m+24>>2]=f[q+24>>2];f[m+28>>2]=f[q+28>>2];f[m+32>>2]=f[q+32>>2];o=f[x>>2]|0;f[y>>2]=o;if(o|0?(y=o+12|0,o=f[y>>2]|0,f[y>>2]=o+-1,(o|0)==1):0)XO(q);f[x>>2]=0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;if((f[a>>2]|0)>0){H=f[D>>2]|0;D=0;do{f[H+(D<<2)>>2]=0;D=D+1|0}while((D|0)<(f[a>>2]|0))}a=f[d>>2]|0;if((a|0)!=(E|0))dX(a)}a=q+4|0;f[a>>2]=2;E=q+8|0;f[E>>2]=3;f[q+12>>2]=3;d=q+16|0;f[d>>2]=k;f[q+20>>2]=k;D=q+24|0;H=q+40|0;x=D+8|0;f[x>>2]=0;f[x+4>>2]=0;f[H>>2]=E;E=q+48|0;x=q+44|0;f[x>>2]=E;f[q>>2]=1124024326;f[E>>2]=24;f[q+52>>2]=8;f[q+28>>2]=k+72;f[D>>2]=k+72;k=g&7;D=(k|0)==3?1:k;if((((f[n>>2]&4095)+-5|0)>>>0<2?(f[n+8>>2]|0)==3:0)?(f[n+12>>2]|0)==3:0)I=1124024326;else{f[r>>2]=0;f[r+4>>2]=0;t=JV(r,66)|0;v=230489;w=t+66|0;do{b[t>>0]=b[v>>0]|0;t=t+1|0;v=v+1|0}while((t|0)<(w|0));EP(-215,r,230473,229369,3007);KV(r);I=f[q>>2]|0}v=r+8|0;f[v>>2]=0;f[v+4>>2]=0;f[r>>2]=33619968;f[r+4>>2]=q;AO(n,r,I&4095,1.0,0.0);if(!(g&16)){f[r+8>>2]=0;f[r+12>>2]=0;f[r>>2]=16842752;f[r+4>>2]=q;g=s+8|0;f[g>>2]=0;f[g+4>>2]=0;f[s>>2]=33619968;f[s+4>>2]=q;+KR(r,s,0)}s=m+48|0;r=p+48|0;Lga(f[m>>2]&4095,f[c>>2]|0,f[s>>2]|0,f[m+12>>2]|0,f[m+8>>2]|0,f[F>>2]|0,f[r>>2]|0,f[p+12>>2]|0,f[p+8>>2]|0,f[d>>2]|0,D,h,i);i=q+36|0;h=f[i>>2]|0;if(h|0?(D=h+12|0,h=f[D>>2]|0,f[D>>2]=h+-1,(h|0)==1):0)XO(q);f[i>>2]=0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[a>>2]|0)>0){d=f[H>>2]|0;H=0;do{f[d+(H<<2)>>2]=0;H=H+1|0}while((H|0)<(f[a>>2]|0))}a=f[x>>2]|0;if((a|0)!=(E|0))dX(a);a=p+36|0;E=f[a>>2]|0;if(E|0?(x=E+12|0,E=f[x>>2]|0,f[x>>2]=E+-1,(E|0)==1):0)XO(p);f[a>>2]=0;a=p+4|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;f[F+12>>2]=0;if((f[a>>2]|0)>0){F=f[p+40>>2]|0;E=0;do{f[F+(E<<2)>>2]=0;E=E+1|0}while((E|0)<(f[a>>2]|0))}a=f[p+44>>2]|0;if((a|0)!=(r|0))dX(a);a=n+36|0;r=f[a>>2]|0;if(r|0?(p=r+12|0,r=f[p>>2]|0,f[p>>2]=r+-1,(r|0)==1):0)XO(n);f[a>>2]=0;a=n+16|0;r=n+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if((f[r>>2]|0)>0){a=f[n+40>>2]|0;p=0;do{f[a+(p<<2)>>2]=0;p=p+1|0}while((p|0)<(f[r>>2]|0))}r=f[n+44>>2]|0;if((r|0)!=(n+48|0))dX(r);r=m+36|0;n=f[r>>2]|0;if(n|0?(p=n+12|0,n=f[p>>2]|0,f[p>>2]=n+-1,(n|0)==1):0)XO(m);f[r>>2]=0;r=m+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[r>>2]|0)>0){c=f[m+40>>2]|0;n=0;do{f[c+(n<<2)>>2]=0;n=n+1|0}while((n|0)<(f[r>>2]|0))}r=f[m+44>>2]|0;if((r|0)!=(s|0))dX(r);if(!(f[l+4>>2]|0)){u=j;return}u=j;return}function Rga(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;var e=0,g=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0,o=0,q=0.0;e=u;u=u+16|0;g=e+8|0;h=e;yV(h,58232);i=c*.017453292519943295;c=+N(+i)*d;j=+O(+i)*d;f[a>>2]=1124007936;k=a+8|0;l=a+40|0;m=a+4|0;o=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(o|0));f[l>>2]=k;k=a+48|0;f[a+44>>2]=k;f[k>>2]=0;f[a+52>>2]=0;f[g>>2]=2;f[g+4>>2]=3;VO(a,2,g,6);g=f[a+16>>2]|0;p[g>>3]=c;p[g+8>>3]=j;d=1.0-c;i=+n[b>>2];q=+n[b+4>>2];p[g+16>>3]=d*i-j*q;p[g+24>>3]=-j;p[g+32>>3]=c;p[g+40>>3]=j*i+d*q;if(!(f[h+4>>2]|0)){u=e;return}u=e;return}function Sga(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0.0,M=0.0,N=0.0;e=u;u=u+800|0;g=e+64|0;h=e+792|0;i=e+736|0;j=e;k=e+680|0;l=e+624|0;m=e+608|0;o=e+592|0;q=e+576|0;yV(h,58252);f[a>>2]=1124007936;r=a+8|0;s=a+40|0;t=a+4|0;v=t+36|0;do{f[t>>2]=0;t=t+4|0}while((t|0)<(v|0));f[s>>2]=r;r=a+48|0;f[a+44>>2]=r;f[r>>2]=0;f[a+52>>2]=0;f[g>>2]=3;f[g+4>>2]=3;VO(a,2,g,6);r=a+16|0;a=f[r>>2]|0;f[i>>2]=1124007942;s=i+4|0;f[s>>2]=2;w=i+8|0;f[w>>2]=8;x=i+12|0;f[x>>2]=1;y=i+16|0;f[y>>2]=a;z=i+20|0;f[z>>2]=a;A=i+24|0;B=i+28|0;C=i+40|0;f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;f[A+12>>2]=0;f[C>>2]=w;D=i+48|0;E=i+44|0;f[E>>2]=D;f[i+52>>2]=0;f[D>>2]=0;if(!a){f[g>>2]=0;f[g+4>>2]=0;t=JV(g,26)|0;F=346743;v=t+26|0;do{b[t>>0]=b[F>>0]|0;t=t+1|0;F=F+1|0}while((t|0)<(v|0));EP(-215,g,346770,346774,500);KV(g);G=f[x>>2]|0;H=f[i>>2]|0;I=f[E>>2]|0;J=f[z>>2]|0}else{G=1;H=1124007942;I=D;J=a}a=G<<3;f[i>>2]=H|16384;f[I>>2]=a;f[I+4>>2]=8;I=J+(X(f[w>>2]|0,a)|0)|0;f[B>>2]=I;f[A>>2]=I+(0-a)+a;a=k+4|0;f[a>>2]=2;I=k+8|0;f[I>>2]=8;f[k+12>>2]=8;A=k+16|0;f[A>>2]=g;f[k+20>>2]=g;B=k+24|0;w=k+40|0;J=B+8|0;f[J>>2]=0;f[J+4>>2]=0;f[w>>2]=I;I=k+48|0;J=k+44|0;f[J>>2]=I;f[k>>2]=1124024326;f[I>>2]=64;f[k+52>>2]=8;f[k+28>>2]=g+512;f[B>>2]=g+512;B=l+4|0;f[B>>2]=2;H=l+8|0;f[H>>2]=8;f[l+12>>2]=1;G=l+16|0;f[G>>2]=j;f[l+20>>2]=j;z=l+24|0;x=l+40|0;F=z+8|0;f[F>>2]=0;f[F+4>>2]=0;f[x>>2]=H;H=l+48|0;F=l+44|0;f[F>>2]=H;f[l>>2]=1124024326;f[H>>2]=8;f[l+52>>2]=8;f[l+28>>2]=j+64;f[z>>2]=j+64;K=+n[c>>2];L=K;p[g+280>>3]=L;p[g>>3]=L;L=+n[c+4>>2];M=L;p[g+288>>3]=M;p[g+8>>3]=M;p[g+296>>3]=1.0;p[g+16>>3]=1.0;z=g+256|0;t=g+24|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;f[t+16>>2]=0;f[t+20>>2]=0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;f[z+16>>2]=0;f[z+20>>2]=0;M=+n[d>>2];p[g+48>>3]=-(K*M);p[g+56>>3]=-(L*M);N=+n[d+4>>2];p[g+304>>3]=-(K*N);p[g+312>>3]=-(L*N);p[j>>3]=M;p[j+32>>3]=N;N=+n[c+8>>2];M=N;p[g+344>>3]=M;p[g+64>>3]=M;M=+n[c+12>>2];L=M;p[g+352>>3]=L;p[g+72>>3]=L;p[g+360>>3]=1.0;p[g+80>>3]=1.0;z=g+320|0;t=g+88|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;f[t+16>>2]=0;f[t+20>>2]=0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;f[z+16>>2]=0;f[z+20>>2]=0;L=+n[d+8>>2];p[g+112>>3]=-(N*L);p[g+120>>3]=-(M*L);K=+n[d+12>>2];p[g+368>>3]=-(N*K);p[g+376>>3]=-(M*K);p[j+8>>3]=L;p[j+40>>3]=K;K=+n[c+16>>2];L=K;p[g+408>>3]=L;p[g+128>>3]=L;L=+n[c+20>>2];M=L;p[g+416>>3]=M;p[g+136>>3]=M;p[g+424>>3]=1.0;p[g+144>>3]=1.0;z=g+384|0;t=g+152|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;f[t+16>>2]=0;f[t+20>>2]=0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;f[z+16>>2]=0;f[z+20>>2]=0;M=+n[d+16>>2];p[g+176>>3]=-(K*M);p[g+184>>3]=-(L*M);N=+n[d+20>>2];p[g+432>>3]=-(K*N);p[g+440>>3]=-(L*N);p[j+16>>3]=M;p[j+48>>3]=N;N=+n[c+24>>2];M=N;p[g+472>>3]=M;p[g+192>>3]=M;M=+n[c+28>>2];L=M;p[g+480>>3]=L;p[g+200>>3]=L;p[g+488>>3]=1.0;p[g+208>>3]=1.0;c=g+448|0;z=g+216|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;f[z+16>>2]=0;f[z+20>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;L=+n[d+24>>2];p[g+240>>3]=-(N*L);p[g+248>>3]=-(M*L);K=+n[d+28>>2];p[g+496>>3]=-(N*K);p[g+504>>3]=-(M*K);p[j+24>>3]=L;p[j+56>>3]=K;f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=k;f[o+8>>2]=0;f[o+12>>2]=0;f[o>>2]=16842752;f[o+4>>2]=l;j=q+8|0;f[j>>2]=0;f[j+4>>2]=0;f[q>>2]=33619968;f[q+4>>2]=i;UR(m,o,q,1)|0;p[(f[r>>2]|0)+64>>3]=1.0;r=l+36|0;q=f[r>>2]|0;if(q|0?(o=q+12|0,q=f[o>>2]|0,f[o>>2]=q+-1,(q|0)==1):0)XO(l);f[r>>2]=0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;if((f[B>>2]|0)>0){G=f[x>>2]|0;x=0;do{f[G+(x<<2)>>2]=0;x=x+1|0}while((x|0)<(f[B>>2]|0))}B=f[F>>2]|0;if((B|0)!=(H|0))dX(B);B=k+36|0;H=f[B>>2]|0;if(H|0?(F=H+12|0,H=f[F>>2]|0,f[F>>2]=H+-1,(H|0)==1):0)XO(k);f[B>>2]=0;f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;f[A+12>>2]=0;if((f[a>>2]|0)>0){A=f[w>>2]|0;w=0;do{f[A+(w<<2)>>2]=0;w=w+1|0}while((w|0)<(f[a>>2]|0))}a=f[J>>2]|0;if((a|0)!=(I|0))dX(a);a=i+36|0;I=f[a>>2]|0;if(I|0?(J=I+12|0,I=f[J>>2]|0,f[J>>2]=I+-1,(I|0)==1):0)XO(i);f[a>>2]=0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;if((f[s>>2]|0)>0){y=f[C>>2]|0;C=0;do{f[y+(C<<2)>>2]=0;C=C+1|0}while((C|0)<(f[s>>2]|0))}s=f[E>>2]|0;if((s|0)!=(D|0))dX(s);if(!(f[h+4>>2]|0)){u=e;return}u=e;return}function Tga(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0;e=u;u=u+560|0;g=e+48|0;h=e+496|0;i=e;j=e+440|0;k=e+384|0;l=e+368|0;m=e+352|0;o=e+336|0;f[a>>2]=1124007936;q=a+8|0;r=a+40|0;s=a+4|0;t=s+36|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(t|0));f[r>>2]=q;q=a+48|0;f[a+44>>2]=q;f[q>>2]=0;f[a+52>>2]=0;f[g>>2]=2;f[g+4>>2]=3;VO(a,2,g,6);q=f[a+16>>2]|0;f[h>>2]=1124007942;a=h+4|0;f[a>>2]=2;r=h+8|0;f[r>>2]=6;v=h+12|0;f[v>>2]=1;w=h+16|0;f[w>>2]=q;x=h+20|0;f[x>>2]=q;y=h+24|0;z=h+28|0;A=h+40|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;f[A>>2]=r;B=h+48|0;C=h+44|0;f[C>>2]=B;f[h+52>>2]=0;f[B>>2]=0;if(!q){f[g>>2]=0;f[g+4>>2]=0;s=JV(g,26)|0;D=346743;t=s+26|0;do{b[s>>0]=b[D>>0]|0;s=s+1|0;D=D+1|0}while((s|0)<(t|0));EP(-215,g,346770,346774,500);KV(g);E=f[v>>2]|0;F=f[h>>2]|0;G=f[C>>2]|0;H=f[x>>2]|0}else{E=1;F=1124007942;G=B;H=q}q=E<<3;f[h>>2]=F|16384;f[G>>2]=q;f[G+4>>2]=8;G=H+(X(f[r>>2]|0,q)|0)|0;f[z>>2]=G;f[y>>2]=G+(0-q)+q;q=j+4|0;f[q>>2]=2;G=j+8|0;f[G>>2]=6;f[j+12>>2]=6;y=j+16|0;f[y>>2]=g;f[j+20>>2]=g;z=j+24|0;r=j+40|0;H=z+8|0;f[H>>2]=0;f[H+4>>2]=0;f[r>>2]=G;G=j+48|0;H=j+44|0;f[H>>2]=G;f[j>>2]=1124024326;f[G>>2]=48;f[j+52>>2]=8;f[j+28>>2]=g+288;f[z>>2]=g+288;z=k+4|0;f[z>>2]=2;F=k+8|0;f[F>>2]=6;f[k+12>>2]=1;E=k+16|0;f[E>>2]=i;f[k+20>>2]=i;x=k+24|0;v=k+40|0;D=x+8|0;f[D>>2]=0;f[D+4>>2]=0;f[v>>2]=F;F=k+48|0;D=k+44|0;f[D>>2]=F;f[k>>2]=1124024326;f[F>>2]=8;f[k+52>>2]=8;f[k+28>>2]=i+48;f[x>>2]=i+48;I=+n[c>>2];p[g+72>>3]=I;p[g>>3]=I;I=+n[c+4>>2];p[g+80>>3]=I;p[g+8>>3]=I;p[g+88>>3]=1.0;p[g+16>>3]=1.0;s=g+24|0;t=s+48|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(t|0));p[i>>3]=+n[d>>2];p[i+8>>3]=+n[d+4>>2];I=+n[c+8>>2];p[g+168>>3]=I;p[g+96>>3]=I;I=+n[c+12>>2];p[g+176>>3]=I;p[g+104>>3]=I;p[g+184>>3]=1.0;p[g+112>>3]=1.0;x=d+8|0;s=g+120|0;t=s+48|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(t|0));p[i+16>>3]=+n[x>>2];p[i+24>>3]=+n[d+12>>2];I=+n[c+16>>2];p[g+264>>3]=I;p[g+192>>3]=I;I=+n[c+20>>2];p[g+272>>3]=I;p[g+200>>3]=I;p[g+280>>3]=1.0;p[g+208>>3]=1.0;c=d+16|0;s=g+216|0;t=s+48|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(t|0));p[i+32>>3]=+n[c>>2];p[i+40>>3]=+n[d+20>>2];f[l+8>>2]=0;f[l+12>>2]=0;f[l>>2]=16842752;f[l+4>>2]=j;f[m+8>>2]=0;f[m+12>>2]=0;f[m>>2]=16842752;f[m+4>>2]=k;d=o+8|0;f[d>>2]=0;f[d+4>>2]=0;f[o>>2]=33619968;f[o+4>>2]=h;UR(l,m,o,0)|0;o=k+36|0;m=f[o>>2]|0;if(m|0?(l=m+12|0,m=f[l>>2]|0,f[l>>2]=m+-1,(m|0)==1):0)XO(k);f[o>>2]=0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;if((f[z>>2]|0)>0){E=f[v>>2]|0;v=0;do{f[E+(v<<2)>>2]=0;v=v+1|0}while((v|0)<(f[z>>2]|0))}z=f[D>>2]|0;if((z|0)!=(F|0))dX(z);z=j+36|0;F=f[z>>2]|0;if(F|0?(D=F+12|0,F=f[D>>2]|0,f[D>>2]=F+-1,(F|0)==1):0)XO(j);f[z>>2]=0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;if((f[q>>2]|0)>0){y=f[r>>2]|0;r=0;do{f[y+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[q>>2]|0))}q=f[H>>2]|0;if((q|0)!=(G|0))dX(q);q=h+36|0;G=f[q>>2]|0;if(G|0?(H=G+12|0,G=f[H>>2]|0,f[H>>2]=G+-1,(G|0)==1):0)XO(h);f[q>>2]=0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;if((f[a>>2]|0)>0){w=f[A>>2]|0;A=0;do{f[w+(A<<2)>>2]=0;A=A+1|0}while((A|0)<(f[a>>2]|0))}a=f[C>>2]|0;if((a|0)==(B|0)){u=e;return}dX(a);u=e;return}function Uga(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+128|0;g=e+64|0;h=e+8|0;i=e;do if((HJ(c)|0)==65536){j=f[c+4>>2]|0;f[g>>2]=f[j>>2];k=g+4|0;l=j+4|0;f[k>>2]=f[l>>2];m=g+8|0;f[m>>2]=f[j+8>>2];f[g+12>>2]=f[j+12>>2];f[g+16>>2]=f[j+16>>2];f[g+20>>2]=f[j+20>>2];f[g+24>>2]=f[j+24>>2];f[g+28>>2]=f[j+28>>2];f[g+32>>2]=f[j+32>>2];n=f[j+36>>2]|0;f[g+36>>2]=n;f[g+40>>2]=m;m=g+48|0;o=g+44|0;f[o>>2]=m;f[m>>2]=0;f[g+52>>2]=0;if(n|0){m=n+12|0;f[m>>2]=(f[m>>2]|0)+1}if((f[l>>2]|0)<3){l=f[j+44>>2]|0;m=f[o>>2]|0;f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];break}else{f[k>>2]=0;WO(g,j);break}}else DJ(g,c,-1);while(0);do if((HJ(d)|0)==65536){c=f[d+4>>2]|0;f[h>>2]=f[c>>2];j=h+4|0;k=c+4|0;f[j>>2]=f[k>>2];l=h+8|0;f[l>>2]=f[c+8>>2];f[h+12>>2]=f[c+12>>2];f[h+16>>2]=f[c+16>>2];f[h+20>>2]=f[c+20>>2];f[h+24>>2]=f[c+24>>2];f[h+28>>2]=f[c+28>>2];f[h+32>>2]=f[c+32>>2];m=f[c+36>>2]|0;f[h+36>>2]=m;f[h+40>>2]=l;l=h+48|0;o=h+44|0;f[o>>2]=l;f[l>>2]=0;f[h+52>>2]=0;if(m|0){l=m+12|0;f[l>>2]=(f[l>>2]|0)+1}if((f[k>>2]|0)<3){k=f[c+44>>2]|0;l=f[o>>2]|0;f[l>>2]=f[k>>2];f[l+4>>2]=f[k+4>>2];break}else{f[j>>2]=0;WO(h,c);break}}else DJ(h,d,-1);while(0);if(!((jP(g,2,5,1)|0)==4?(jP(h,2,5,1)|0)==4:0)){f[i>>2]=0;f[i+4>>2]=0;d=JV(i,56)|0;c=230809;j=d+56|0;do{b[d>>0]=b[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(j|0));EP(-215,i,230866,229369,3237);KV(i)}i=g+16|0;c=h+16|0;Sga(a,f[i>>2]|0,f[c>>2]|0);a=h+36|0;d=f[a>>2]|0;if(d|0?(j=d+12|0,d=f[j>>2]|0,f[j>>2]=d+-1,(d|0)==1):0)XO(h);f[a>>2]=0;a=h+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[a>>2]|0)>0){c=f[h+40>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[a>>2]|0))}a=f[h+44>>2]|0;if((a|0)!=(h+48|0))dX(a);a=g+36|0;h=f[a>>2]|0;if(h|0?(d=h+12|0,h=f[d>>2]|0,f[d>>2]=h+-1,(h|0)==1):0)XO(g);f[a>>2]=0;a=g+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[a>>2]|0)>0){i=f[g+40>>2]|0;h=0;do{f[i+(h<<2)>>2]=0;h=h+1|0}while((h|0)<(f[a>>2]|0))}a=f[g+44>>2]|0;if((a|0)==(g+48|0)){u=e;return}dX(a);u=e;return}function Vga(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+128|0;g=e+64|0;h=e+8|0;i=e;do if((HJ(c)|0)==65536){j=f[c+4>>2]|0;f[g>>2]=f[j>>2];k=g+4|0;l=j+4|0;f[k>>2]=f[l>>2];m=g+8|0;f[m>>2]=f[j+8>>2];f[g+12>>2]=f[j+12>>2];f[g+16>>2]=f[j+16>>2];f[g+20>>2]=f[j+20>>2];f[g+24>>2]=f[j+24>>2];f[g+28>>2]=f[j+28>>2];f[g+32>>2]=f[j+32>>2];n=f[j+36>>2]|0;f[g+36>>2]=n;f[g+40>>2]=m;m=g+48|0;o=g+44|0;f[o>>2]=m;f[m>>2]=0;f[g+52>>2]=0;if(n|0){m=n+12|0;f[m>>2]=(f[m>>2]|0)+1}if((f[l>>2]|0)<3){l=f[j+44>>2]|0;m=f[o>>2]|0;f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];break}else{f[k>>2]=0;WO(g,j);break}}else DJ(g,c,-1);while(0);do if((HJ(d)|0)==65536){c=f[d+4>>2]|0;f[h>>2]=f[c>>2];j=h+4|0;k=c+4|0;f[j>>2]=f[k>>2];l=h+8|0;f[l>>2]=f[c+8>>2];f[h+12>>2]=f[c+12>>2];f[h+16>>2]=f[c+16>>2];f[h+20>>2]=f[c+20>>2];f[h+24>>2]=f[c+24>>2];f[h+28>>2]=f[c+28>>2];f[h+32>>2]=f[c+32>>2];m=f[c+36>>2]|0;f[h+36>>2]=m;f[h+40>>2]=l;l=h+48|0;o=h+44|0;f[o>>2]=l;f[l>>2]=0;f[h+52>>2]=0;if(m|0){l=m+12|0;f[l>>2]=(f[l>>2]|0)+1}if((f[k>>2]|0)<3){k=f[c+44>>2]|0;l=f[o>>2]|0;f[l>>2]=f[k>>2];f[l+4>>2]=f[k+4>>2];break}else{f[j>>2]=0;WO(h,c);break}}else DJ(h,d,-1);while(0);if(!((jP(g,2,5,1)|0)==3?(jP(h,2,5,1)|0)==3:0)){f[i>>2]=0;f[i+4>>2]=0;d=JV(i,56)|0;c=230890;j=d+56|0;do{b[d>>0]=b[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(j|0));EP(-215,i,230947,229369,3244);KV(i)}i=g+16|0;c=h+16|0;Tga(a,f[i>>2]|0,f[c>>2]|0);a=h+36|0;d=f[a>>2]|0;if(d|0?(j=d+12|0,d=f[j>>2]|0,f[j>>2]=d+-1,(d|0)==1):0)XO(h);f[a>>2]=0;a=h+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[a>>2]|0)>0){c=f[h+40>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[a>>2]|0))}a=f[h+44>>2]|0;if((a|0)!=(h+48|0))dX(a);a=g+36|0;h=f[a>>2]|0;if(h|0?(d=h+12|0,h=f[d>>2]|0,f[d>>2]=h+-1,(h|0)==1):0)XO(g);f[a>>2]=0;a=g+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[a>>2]|0)>0){i=f[g+40>>2]|0;h=0;do{f[i+(h<<2)>>2]=0;h=h+1|0}while((h|0)<(f[a>>2]|0))}a=f[g+44>>2]|0;if((a|0)==(g+48|0)){u=e;return}dX(a);u=e;return}function Wga(a){a=a|0;GQa(a);return}function Xga(a){a=a|0;rW(a+12|0,f[a+8>>2]|0);if(!a)return;qg[f[(f[a>>2]|0)+4>>2]&1023](a);return}function Yga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Zga(a,b,c,d,-1)|0}function Zga(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;h=u;u=u+144|0;i=h+72|0;j=h+8|0;k=h+16|0;l=h+128|0;m=h;do if((HJ(a)|0)==65536){n=f[a+4>>2]|0;f[i>>2]=f[n>>2];o=i+4|0;p=n+4|0;f[o>>2]=f[p>>2];q=i+8|0;f[q>>2]=f[n+8>>2];f[i+12>>2]=f[n+12>>2];f[i+16>>2]=f[n+16>>2];f[i+20>>2]=f[n+20>>2];f[i+24>>2]=f[n+24>>2];f[i+28>>2]=f[n+28>>2];f[i+32>>2]=f[n+32>>2];r=f[n+36>>2]|0;f[i+36>>2]=r;s=i+40|0;f[s>>2]=q;q=i+48|0;t=i+44|0;f[t>>2]=q;f[q>>2]=0;f[i+52>>2]=0;if(r|0){q=r+12|0;f[q>>2]=(f[q>>2]|0)+1}if((f[p>>2]|0)<3){p=f[n+44>>2]|0;q=f[t>>2]|0;f[q>>2]=f[p>>2];f[q+4>>2]=f[p+4>>2];v=s;break}else{f[o>>2]=0;WO(i,n);v=s;break}}else{DJ(i,a,-1);v=i+40|0}while(0);a=f[v>>2]|0;s=f[a>>2]|0;f[j>>2]=f[a+4>>2];f[j+4>>2]=s;_J(c,j,e&7,-1,0,0);do if((HJ(c)|0)==65536){j=f[c+4>>2]|0;f[k>>2]=f[j>>2];s=k+4|0;a=j+4|0;f[s>>2]=f[a>>2];n=k+8|0;f[n>>2]=f[j+8>>2];f[k+12>>2]=f[j+12>>2];f[k+16>>2]=f[j+16>>2];f[k+20>>2]=f[j+20>>2];f[k+24>>2]=f[j+24>>2];f[k+28>>2]=f[j+28>>2];f[k+32>>2]=f[j+32>>2];o=f[j+36>>2]|0;f[k+36>>2]=o;f[k+40>>2]=n;n=k+48|0;p=k+44|0;f[p>>2]=n;f[n>>2]=0;f[k+52>>2]=0;if(o|0){n=o+12|0;f[n>>2]=(f[n>>2]|0)+1}if((f[a>>2]|0)<3){a=f[j+44>>2]|0;n=f[p>>2]|0;f[n>>2]=f[a>>2];f[n+4>>2]=f[a+4>>2];break}else{f[s>>2]=0;WO(k,j);break}}else DJ(k,c,-1);while(0);switch(e|0){case 2:{w=_ga(i,k,d,g,l)|0;break}case 4:{w=_ga(i,k,d,g,l)|0;break}default:{f[m>>2]=0;f[m+4>>2]=0;l=JV(m,37)|0;g=231026;d=l+37|0;do{b[l>>0]=b[g>>0]|0;l=l+1|0;g=g+1|0}while((l|0)<(d|0));EP(-210,m,231064,231084,4005);KV(m);w=0}}m=k+36|0;g=f[m>>2]|0;if(g|0?(l=g+12|0,g=f[l>>2]|0,f[l>>2]=g+-1,(g|0)==1):0)XO(k);f[m>>2]=0;m=k+16|0;g=k+4|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;if((f[g>>2]|0)>0){m=f[k+40>>2]|0;l=0;do{f[m+(l<<2)>>2]=0;l=l+1|0}while((l|0)<(f[g>>2]|0))}g=f[k+44>>2]|0;if((g|0)!=(k+48|0))dX(g);g=i+36|0;k=f[g>>2]|0;if(k|0?(l=k+12|0,k=f[l>>2]|0,f[l>>2]=k+-1,(k|0)==1):0)XO(i);f[g>>2]=0;g=i+16|0;k=i+4|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;if((f[k>>2]|0)>0){g=f[v>>2]|0;v=0;do{f[g+(v<<2)>>2]=0;v=v+1|0}while((v|0)<(f[k>>2]|0))}k=f[i+44>>2]|0;if((k|0)==(i+48|0)){u=h;return w|0}dX(k);u=h;return w|0}function _ga(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;h=u;u=u+16|0;i=h;j=h+13|0;k=h+12|0;l=h+11|0;m=h+10|0;n=h+9|0;o=h+8|0;if(!((f[c>>2]&4088|0)==0?!(f[a>>2]&4088|0):0)){f[i>>2]=0;f[i+4>>2]=0;p=JV(i,38)|0;q=231155;r=p+38|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));EP(-215,i,231194,231084,3927);KV(i)}s=(d|0)==8;t=(d|0)==4;switch(d|0){case 4:case 8:break;default:{f[i>>2]=0;f[i+4>>2]=0;p=JV(i,38)|0;q=231219;r=p+38|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));EP(-215,i,231194,231084,3928);KV(i)}}v=(e|0)==1;w=(e|0)==0;x=(e|0)==-1;switch(e|0){case 0:case 1:case -1:break;default:{f[i>>2]=0;f[i+4>>2]=0;p=JV(i,67)|0;q=231258;r=p+67|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));EP(-215,i,231194,231084,3929);KV(i)}}e=f[c>>2]|0;y=e&7;z=f[a>>2]&6;A=c_()|0;B=a_()|0;if(z>>>0>=2){f[i>>2]=0;f[i+4>>2]=0;p=JV(i,26)|0;q=231326;r=p+26|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));EP(-215,i,231194,231084,3936);KV(i)}if((A|0)!=0&(B|0)>1)C=((f[c+8>>2]|0)/(B|0)|0|0)>1;else C=0;a:do if(t|w){switch(e&7){case 4:break;case 2:{D=($ga(j,a,c,d,g)|0)&65535;u=h;return D|0}default:break a}if(C){D=bha(l,a,c,d,g)|0;u=h;return D|0}else{D=aha(k,a,c,d,g)|0;u=h;return D|0}}else if(!((y|0)==0|s&(v|x)^1)){switch(e&7){case 2:{D=(cha(m,a,c,d,g)|0)&65535;u=h;return D|0}case 4:break;default:break a}if(C){D=eha(o,a,c,d,g)|0;u=h;return D|0}else{D=dha(n,a,c,d,g)|0;u=h;return D|0}}while(0);f[i>>2]=0;f[i+4>>2]=0;p=JV(i,28)|0;q=231353;r=p+28|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));EP(-210,i,231194,231084,3982);KV(i);D=-1;u=h;return D|0}function $ga(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;h=u;u=u+16|0;a=h;i=c+8|0;if((f[e+8>>2]|0)!=(f[i>>2]|0)){f[a>>2]=0;f[a+4>>2]=0;k=JV(a,26)|0;l=231847;m=k+26|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-215,a,451664,231084,656);KV(a)}n=c+12|0;if((f[e+12>>2]|0)!=(f[n>>2]|0)){f[a>>2]=0;f[a+4>>2]=0;k=JV(a,26)|0;l=231874;m=k+26|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-215,a,451664,231084,657);KV(a)}o=(g|0)==8;switch(g|0){case 4:case 8:break;default:{f[a>>2]=0;f[a+4>>2]=0;k=JV(a,38)|0;l=231219;m=k+38|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-215,a,451664,231084,658);KV(a)}}a=f[i>>2]|0;i=f[n>>2]|0;n=cX((X(i,a)|0)+3&-2)|0;d[n>>1]=0;l=(a|0)>0;if(o){if(!l){p=1;dX(n);u=h;return p|0}o=(i|0)>0;k=i+-1|0;m=f[c+16>>2]|0;g=f[f[c+44>>2]>>2]|0;q=f[e+16>>2]|0;r=f[f[e+44>>2]>>2]|0;s=0-g|0;t=0-r|0;v=1;w=0;while(1){x=m+(X(g,w)|0)|0;y=x+s|0;z=q+(X(r,w)|0)|0;A=z+t|0;if(o){B=(w|0)>0;C=0;D=v;while(1){a:do if(!(b[x+C>>0]|0)){d[z+(C<<1)>>1]=0;E=D}else{if(B){if(b[y+C>>0]|0){d[z+(C<<1)>>1]=d[A+(C<<1)>>1]|0;E=D;break}if((C|0)<(k|0)?(F=C+1|0,b[y+F>>0]|0):0){do if((C|0)>0){G=C+-1|0;if(!(b[y+G>>0]|0)){H=C+-1|0;if(!(b[x+H>>0]|0)){I=42;break}J=d[z+(H<<1)>>1]|0;H=d[A+(F<<1)>>1]|0;K=J;while(1){L=d[n+((K&65535)<<1)>>1]|0;if((L&65535)<(K&65535))K=L;else break}if(J<<16>>16==H<<16>>16)M=K;else{L=H;while(1){N=d[n+((L&65535)<<1)>>1]|0;if((N&65535)<(L&65535))L=N;else break}N=(K&65535)>(L&65535)?L:K;O=H;do{P=n+((O&65535)<<1)|0;Q=O;O=d[P>>1]|0;d[P>>1]=N}while((O&65535)<(Q&65535));M=N}N=J;do{O=n+((N&65535)<<1)|0;H=N;N=d[O>>1]|0;d[O>>1]=M}while((N&65535)<(H&65535));R=M}else{N=d[A+(G<<1)>>1]|0;J=d[A+(F<<1)>>1]|0;H=N;while(1){O=d[n+((H&65535)<<1)>>1]|0;if((O&65535)<(H&65535))H=O;else break}if(N<<16>>16==J<<16>>16)S=H;else{G=J;while(1){O=d[n+((G&65535)<<1)>>1]|0;if((O&65535)<(G&65535))G=O;else break}O=(H&65535)>(G&65535)?G:H;K=J;do{L=n+((K&65535)<<1)|0;Q=K;K=d[L>>1]|0;d[L>>1]=O}while((K&65535)<(Q&65535));S=O}O=N;do{K=n+((O&65535)<<1)|0;J=O;O=d[K>>1]|0;d[K>>1]=S}while((O&65535)<(J&65535));d[z+(C<<1)>>1]=S;E=D;break a}}else I=42;while(0);if((I|0)==42){I=0;R=d[A+(F<<1)>>1]|0}d[z+(C<<1)>>1]=R;E=D;break}if((C|0)>0){O=C+-1|0;if(!(b[y+O>>0]|0))I=47;else{d[z+(C<<1)>>1]=d[A+(O<<1)>>1]|0;E=D;break}}}else if((C|0)>0)I=47;if((I|0)==47?(I=0,O=C+-1|0,b[x+O>>0]|0):0){d[z+(C<<1)>>1]=d[z+(O<<1)>>1]|0;E=D;break}d[z+(C<<1)>>1]=D;O=D&65535;d[n+(O<<1)>>1]=D;E=O+1&65535}while(0);C=C+1|0;if((C|0)==(i|0)){T=E;break}else D=E}}else T=v;w=w+1|0;if((w|0)==(a|0)){U=T;break}else v=T}}else{if(!l){p=1;dX(n);u=h;return p|0}T=(i|0)>0;v=f[c+16>>2]|0;w=f[f[c+44>>2]>>2]|0;c=f[e+16>>2]|0;E=f[f[e+44>>2]>>2]|0;I=0-w|0;R=0-E|0;S=0;M=1;while(1){k=v+(X(w,S)|0)|0;o=k+I|0;t=c+(X(E,S)|0)|0;r=t+R|0;b:do if(T){if((S|0)>0){V=0;W=M}else{q=0;s=M;while(1){do if(!(b[k+q>>0]|0)){d[t+(q<<1)>>1]=0;Y=s}else{if((q|0)>0?(g=q+-1|0,b[k+g>>0]|0):0){d[t+(q<<1)>>1]=d[t+(g<<1)>>1]|0;Y=s;break}d[t+(q<<1)>>1]=s;g=s&65535;d[n+(g<<1)>>1]=s;Y=g+1&65535}while(0);q=q+1|0;if((q|0)==(i|0)){Z=Y;break b}else s=Y}}while(1){do if(!(b[k+V>>0]|0)){d[t+(V<<1)>>1]=0;_=W}else{s=(V|0)>0;if(!(b[o+V>>0]|0)){if(s?(q=V+-1|0,b[k+q>>0]|0):0){d[t+(V<<1)>>1]=d[t+(q<<1)>>1]|0;_=W;break}d[t+(V<<1)>>1]=W;q=W&65535;d[n+(q<<1)>>1]=W;_=q+1&65535;break}if(s?(s=V+-1|0,(b[k+s>>0]|0)!=0):0){q=d[t+(s<<1)>>1]|0;s=d[r+(V<<1)>>1]|0;F=q;while(1){g=d[n+((F&65535)<<1)>>1]|0;if((g&65535)<(F&65535))F=g;else break}if(q<<16>>16==s<<16>>16)$=F;else{g=s;while(1){m=d[n+((g&65535)<<1)>>1]|0;if((m&65535)<(g&65535))g=m;else break}m=(F&65535)>(g&65535)?g:F;D=s;do{C=n+((D&65535)<<1)|0;z=D;D=d[C>>1]|0;d[C>>1]=m}while((D&65535)<(z&65535));$=m}m=q;do{D=n+((m&65535)<<1)|0;s=m;m=d[D>>1]|0;d[D>>1]=$}while((m&65535)<(s&65535));aa=$}else aa=d[r+(V<<1)>>1]|0;d[t+(V<<1)>>1]=aa;_=W}while(0);V=V+1|0;if((V|0)==(i|0)){Z=_;break}else W=_}}else Z=M;while(0);S=S+1|0;if((S|0)==(a|0)){U=Z;break}else M=Z}}if((U&65535)>1){Z=U&65535;U=1;M=1;while(1){S=n+(M<<1)|0;_=j[S>>1]|0;if(M>>>0>_>>>0){d[S>>1]=d[n+(_<<1)>>1]|0;ba=U}else{d[S>>1]=U;ba=(U&65535)+1&65535}M=M+1|0;if((M|0)==(Z|0)){ca=ba;break}else U=ba}}else ca=1;if(!l){p=ca;dX(n);u=h;return p|0}l=f[e+16>>2]|0;ba=f[f[e+44>>2]>>2]|0;e=0;do{U=l+(X(ba,e)|0)|0;Z=U+(i<<1)|0;if((Z|0)!=(U|0)){M=U;do{d[M>>1]=d[n+(j[M>>1]<<1)>>1]|0;M=M+2|0}while((M|0)!=(Z|0))}e=e+1|0}while((e|0)!=(a|0));p=ca;dX(n);u=h;return p|0}function aha(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0;g=u;u=u+16|0;a=g;h=c+8|0;if((f[d+8>>2]|0)!=(f[h>>2]|0)){f[a>>2]=0;f[a+4>>2]=0;i=JV(a,26)|0;j=231847;k=i+26|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-215,a,451664,231084,656);KV(a)}l=c+12|0;if((f[d+12>>2]|0)!=(f[l>>2]|0)){f[a>>2]=0;f[a+4>>2]=0;i=JV(a,26)|0;j=231874;k=i+26|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-215,a,451664,231084,657);KV(a)}m=(e|0)==8;switch(e|0){case 4:case 8:break;default:{f[a>>2]=0;f[a+4>>2]=0;i=JV(a,38)|0;j=231219;k=i+38|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-215,a,451664,231084,658);KV(a)}}a=f[h>>2]|0;h=f[l>>2]|0;l=cX((((X(h,a)|0)+1|0)>>>1<<2)+4|0)|0;f[l>>2]=0;j=(a|0)>0;if(m){if(!j){n=1;dX(l);u=g;return n|0}m=(h|0)>0;i=h+-1|0;k=f[c+16>>2]|0;e=f[c+44>>2]|0;o=f[d+16>>2]|0;p=f[d+44>>2]|0;q=1;r=0;while(1){s=f[e>>2]|0;t=k+(X(s,r)|0)|0;v=t+(0-s)|0;s=f[p>>2]|0;w=o+(X(s,r)|0)|0;x=w+(0-s)|0;if(m){s=(r|0)>0;y=0;z=q;while(1){a:do if(!(b[t+y>>0]|0)){f[w+(y<<2)>>2]=0;A=z}else{if(s){if(b[v+y>>0]|0){f[w+(y<<2)>>2]=f[x+(y<<2)>>2];A=z;break}if((y|0)<(i|0)?(B=y+1|0,b[v+B>>0]|0):0){do if((y|0)>0){C=y+-1|0;if(!(b[v+C>>0]|0)){D=y+-1|0;if(!(b[t+D>>0]|0)){E=42;break}F=f[w+(D<<2)>>2]|0;D=f[x+(B<<2)>>2]|0;G=F;while(1){H=f[l+(G<<2)>>2]|0;if((H|0)<(G|0))G=H;else break}if((F|0)==(D|0))I=G;else{H=D;while(1){J=f[l+(H<<2)>>2]|0;if((J|0)<(H|0))H=J;else break}J=(G|0)>(H|0)?H:G;K=D;do{L=l+(K<<2)|0;M=K;K=f[L>>2]|0;f[L>>2]=J}while((K|0)<(M|0));I=J}J=F;do{K=l+(J<<2)|0;D=J;J=f[K>>2]|0;f[K>>2]=I}while((J|0)<(D|0));N=I}else{J=f[x+(C<<2)>>2]|0;F=f[x+(B<<2)>>2]|0;D=J;while(1){K=f[l+(D<<2)>>2]|0;if((K|0)<(D|0))D=K;else break}if((J|0)==(F|0))O=D;else{C=F;while(1){K=f[l+(C<<2)>>2]|0;if((K|0)<(C|0))C=K;else break}K=(D|0)>(C|0)?C:D;G=F;do{H=l+(G<<2)|0;M=G;G=f[H>>2]|0;f[H>>2]=K}while((G|0)<(M|0));O=K}K=J;do{G=l+(K<<2)|0;F=K;K=f[G>>2]|0;f[G>>2]=O}while((K|0)<(F|0));f[w+(y<<2)>>2]=O;A=z;break a}}else E=42;while(0);if((E|0)==42){E=0;N=f[x+(B<<2)>>2]|0}f[w+(y<<2)>>2]=N;A=z;break}if((y|0)>0){K=y+-1|0;if(!(b[v+K>>0]|0))E=47;else{f[w+(y<<2)>>2]=f[x+(K<<2)>>2];A=z;break}}}else if((y|0)>0)E=47;if((E|0)==47?(E=0,K=y+-1|0,b[t+K>>0]|0):0){f[w+(y<<2)>>2]=f[w+(K<<2)>>2];A=z;break}f[w+(y<<2)>>2]=z;f[l+(z<<2)>>2]=z;A=z+1|0}while(0);y=y+1|0;if((y|0)==(h|0)){P=A;break}else z=A}}else P=q;r=r+1|0;if((r|0)==(a|0)){Q=P;break}else q=P}}else{if(!j){n=1;dX(l);u=g;return n|0}P=(h|0)>0;q=f[c+16>>2]|0;r=f[c+44>>2]|0;c=f[d+16>>2]|0;A=f[d+44>>2]|0;E=0;N=1;while(1){O=f[r>>2]|0;I=q+(X(O,E)|0)|0;i=I+(0-O)|0;O=f[A>>2]|0;m=c+(X(O,E)|0)|0;o=m+(0-O)|0;b:do if(P){if((E|0)>0){R=0;S=N}else{O=0;p=N;while(1){do if(!(b[I+O>>0]|0)){f[m+(O<<2)>>2]=0;T=p}else{if((O|0)>0?(k=O+-1|0,b[I+k>>0]|0):0){f[m+(O<<2)>>2]=f[m+(k<<2)>>2];T=p;break}f[m+(O<<2)>>2]=p;f[l+(p<<2)>>2]=p;T=p+1|0}while(0);O=O+1|0;if((O|0)==(h|0)){U=T;break b}else p=T}}while(1){do if(!(b[I+R>>0]|0)){f[m+(R<<2)>>2]=0;V=S}else{p=(R|0)>0;if(!(b[i+R>>0]|0)){if(p?(O=R+-1|0,b[I+O>>0]|0):0){f[m+(R<<2)>>2]=f[m+(O<<2)>>2];V=S;break}f[m+(R<<2)>>2]=S;f[l+(S<<2)>>2]=S;V=S+1|0;break}if(p?(p=R+-1|0,(b[I+p>>0]|0)!=0):0){O=f[m+(p<<2)>>2]|0;p=f[o+(R<<2)>>2]|0;B=O;while(1){k=f[l+(B<<2)>>2]|0;if((k|0)<(B|0))B=k;else break}if((O|0)==(p|0))W=B;else{k=p;while(1){e=f[l+(k<<2)>>2]|0;if((e|0)<(k|0))k=e;else break}e=(B|0)>(k|0)?k:B;z=p;do{y=l+(z<<2)|0;w=z;z=f[y>>2]|0;f[y>>2]=e}while((z|0)<(w|0));W=e}e=O;do{z=l+(e<<2)|0;p=e;e=f[z>>2]|0;f[z>>2]=W}while((e|0)<(p|0));Y=W}else Y=f[o+(R<<2)>>2]|0;f[m+(R<<2)>>2]=Y;V=S}while(0);R=R+1|0;if((R|0)==(h|0)){U=V;break}else S=V}}else U=N;while(0);E=E+1|0;if((E|0)==(a|0)){Q=U;break}else N=U}}if((Q|0)>1){U=1;N=1;while(1){E=l+(N<<2)|0;V=f[E>>2]|0;if((V|0)<(N|0)){f[E>>2]=f[l+(V<<2)>>2];Z=U}else{f[E>>2]=U;Z=U+1|0}N=N+1|0;if((N|0)==(Q|0)){_=Z;break}else U=Z}}else _=1;if(!j){n=_;dX(l);u=g;return n|0}j=f[d+16>>2]|0;Z=f[d+44>>2]|0;d=0;do{U=j+(X(f[Z>>2]|0,d)|0)|0;Q=U+(h<<2)|0;if((Q|0)!=(U|0)){N=U;do{f[N>>2]=f[l+(f[N>>2]<<2)>>2];N=N+4|0}while((N|0)!=(Q|0))}d=d+1|0}while((d|0)!=(a|0));n=_;dX(l);u=g;return n|0}function bha(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;a=u;u=u+48|0;h=a+32|0;i=a+24|0;j=a;k=c+8|0;l=d+8|0;if((f[k>>2]|0)!=(f[l>>2]|0)){f[h>>2]=0;f[h+4>>2]=0;m=JV(h,26)|0;n=231382;o=m+26|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,h,451664,231084,578);KV(h)}p=c+12|0;q=d+12|0;if((f[p>>2]|0)!=(f[q>>2]|0)){f[h>>2]=0;f[h+4>>2]=0;m=JV(h,26)|0;n=231409;o=m+26|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,h,451664,231084,579);KV(h)}r=(e|0)==8;switch(e|0){case 4:case 8:break;default:{f[h>>2]=0;f[h+4>>2]=0;m=JV(h,38)|0;n=231219;o=m+38|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,h,451664,231084,580);KV(h)}}n=f[k>>2]|0;k=f[p>>2]|0;p=((X(k,n)|0)+1|0)>>>1;m=cX(n<<2)|0;o=cX((p<<2)+4|0)|0;f[o>>2]=0;f[h>>2]=0;f[h+4>>2]=n;p=(n|0)/2|0;e=(a_()|0)<<2;s=(e|0)<(p|0)?e:p;t=+(((s|0)>1?s:1)|0);f[i>>2]=1;if(r){f[j>>2]=58340;f[j+4>>2]=c;f[j+8>>2]=d;f[j+12>>2]=o;f[j+16>>2]=m;$Z(h,j,t);kha(d,o,m);if((n|0)>0){r=(k+1|0)/2|0;s=0;do{p=s+1|0;e=(X((p|0)/2|0,r)|0)+1|0;v=f[m+(p<<2)>>2]|0;p=v+e|0;if((v|0)>0){v=e;do{e=o+(v<<2)|0;w=f[e>>2]|0;if((w|0)<(v|0))f[e>>2]=f[o+(w<<2)>>2];else{f[e>>2]=f[i>>2];f[i>>2]=(f[i>>2]|0)+1}v=v+1|0}while((v|0)<(p|0))}s=f[m+(s<<2)>>2]|0}while((s|0)<(n|0))}}else{f[j>>2]=58360;f[j+4>>2]=c;f[j+8>>2]=d;f[j+12>>2]=o;f[j+16>>2]=m;$Z(h,j,t);c=f[q>>2]|0;q=f[l>>2]|0;l=f[m>>2]|0;a:do if((l|0)<(q|0)){s=f[d+16>>2]|0;r=f[d+44>>2]|0;if((c|0)>0)x=l;else{p=l;while(1){p=f[m+(p<<2)>>2]|0;if((p|0)>=(q|0))break a}}do{p=f[r>>2]|0;v=s+(X(p,x)|0)|0;e=v+(0-p)|0;p=0;do{w=v+(p<<2)|0;y=f[w>>2]|0;if((y|0)>0?(z=f[e+(p<<2)>>2]|0,(z|0)>0):0){A=z;while(1){B=f[o+(A<<2)>>2]|0;if((B|0)<(A|0))A=B;else break}if((z|0)==(y|0))C=A;else{B=y;while(1){D=f[o+(B<<2)>>2]|0;if((D|0)<(B|0))B=D;else break}D=(A|0)>(B|0)?B:A;E=y;do{F=o+(E<<2)|0;G=E;E=f[F>>2]|0;f[F>>2]=D}while((E|0)<(G|0));C=D}D=z;do{E=o+(D<<2)|0;y=D;D=f[E>>2]|0;f[E>>2]=C}while((D|0)<(y|0));f[w>>2]=C}p=p+1|0}while((p|0)!=(c|0));x=f[m+(x<<2)>>2]|0}while((x|0)<(q|0))}while(0);if((n|0)>0){q=0;do{x=(((X(q,k)|0)+1|0)/2|0)+1|0;c=f[m+(q+1<<2)>>2]|0;C=c+x|0;if((c|0)>0){c=x;do{x=o+(c<<2)|0;l=f[x>>2]|0;if((l|0)<(c|0))f[x>>2]=f[o+(l<<2)>>2];else{f[x>>2]=f[i>>2];f[i>>2]=(f[i>>2]|0)+1}c=c+1|0}while((c|0)<(C|0))}q=f[m+(q<<2)>>2]|0}while((q|0)<(n|0))}}q=FQa((n|0)>-1?n:-1)|0;f[j>>2]=58380;f[j+4>>2]=d;f[j+8>>2]=o;f[j+12>>2]=g;f[j+16>>2]=q;f[j+20>>2]=i;$Z(h,j,t);HQa(q);dX(m);dX(o);u=a;return f[i>>2]|0} +function yha(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0.0;a=u;u=u+16|0;i=a;k=c+8|0;l=e+8|0;if((f[k>>2]|0)!=(f[l>>2]|0)){f[i>>2]=0;f[i+4>>2]=0;m=JV(i,26)|0;n=231382;o=m+26|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,i,451664,231084,2589);KV(i)}q=c+12|0;r=e+12|0;if((f[q>>2]|0)!=(f[r>>2]|0)){f[i>>2]=0;f[i+4>>2]=0;m=JV(i,26)|0;n=231409;o=m+26|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,i,451664,231084,2590);KV(i)}if((g|0)!=8){f[i>>2]=0;f[i+4>>2]=0;m=JV(i,17)|0;n=231436;o=m+17|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,i,451664,231084,2591);KV(i)}i=f[k>>2]|0;k=f[q>>2]|0;q=cX((X(((i+1|0)/2|0)<<1,(k+1|0)/2|0)|0)+2|0)|0;d[q>>1]=0;if((i|0)>0){n=c+16|0;m=c+44|0;o=e+16|0;g=e+44|0;s=(k|0)>0;t=1;v=0;while(1){w=f[f[m>>2]>>2]|0;x=(f[n>>2]|0)+(X(w,v)|0)|0;y=0-w|0;z=x+y|0;A=z+y|0;y=x+w|0;w=f[f[g>>2]>>2]|0;B=(f[o>>2]|0)+(X(w,v)|0)|0;C=0-w|0;w=B+C+C|0;if(s){C=(v|1|0)<(i|0);D=(v|0)>0;E=(v|0)>1;F=0;G=t;while(1){a:do if(!(b[x+F>>0]|0)){if(C?b[y+F>>0]|0:0){H=F|1;if((H|0)<(k|0)?b[x+H>>0]|0:0){J=F+-1|0;do if((F|0)>0){if(b[x+J>>0]|0){do if(D){if(b[z+H>>0]|0){if(b[z+F>>0]|0){d[B+(F<<1)>>1]=d[B+(F+-2<<1)>>1]|0;K=G;break a}do if(E){if(!(b[A+F>>0]|0))break;L=F+-2|0;if(b[z+J>>0]|0){d[B+(F<<1)>>1]=d[B+(L<<1)>>1]|0;K=G;break a}do if((F|0)>1){if(!(b[z+L>>0]|0))break;if(b[A+J>>0]|0){d[B+(F<<1)>>1]=d[B+(L<<1)>>1]|0;K=G;break a}M=d[w+(F<<1)>>1]|0;N=d[B+(L<<1)>>1]|0;O=M;while(1){P=d[q+((O&65535)<<1)>>1]|0;if((P&65535)<(O&65535))O=P;else break}if(M<<16>>16==N<<16>>16)Q=O;else{P=N;while(1){R=d[q+((P&65535)<<1)>>1]|0;if((R&65535)<(P&65535))P=R;else break}R=(O&65535)>(P&65535)?P:O;S=N;do{T=q+((S&65535)<<1)|0;U=S;S=d[T>>1]|0;d[T>>1]=R}while((S&65535)<(U&65535));Q=R}R=M;do{S=q+((R&65535)<<1)|0;N=R;R=d[S>>1]|0;d[S>>1]=Q}while((R&65535)<(N&65535));d[B+(F<<1)>>1]=Q;K=G;break a}while(0);R=d[w+(F<<1)>>1]|0;M=d[B+(L<<1)>>1]|0;N=R;while(1){S=d[q+((N&65535)<<1)>>1]|0;if((S&65535)<(N&65535))N=S;else break}if(R<<16>>16==M<<16>>16)V=N;else{L=M;while(1){S=d[q+((L&65535)<<1)>>1]|0;if((S&65535)<(L&65535))L=S;else break}S=(N&65535)>(L&65535)?L:N;O=M;do{P=q+((O&65535)<<1)|0;U=O;O=d[P>>1]|0;d[P>>1]=S}while((O&65535)<(U&65535));V=S}S=R;do{O=q+((S&65535)<<1)|0;M=S;S=d[O>>1]|0;d[O>>1]=V}while((S&65535)<(M&65535));d[B+(F<<1)>>1]=V;K=G;break a}while(0);S=d[w+(F<<1)>>1]|0;R=d[B+(F+-2<<1)>>1]|0;M=S;while(1){O=d[q+((M&65535)<<1)>>1]|0;if((O&65535)<(M&65535))M=O;else break}if(S<<16>>16==R<<16>>16)W=M;else{O=R;while(1){N=d[q+((O&65535)<<1)>>1]|0;if((N&65535)<(O&65535))O=N;else break}N=(M&65535)>(O&65535)?O:M;L=R;do{U=q+((L&65535)<<1)|0;P=L;L=d[U>>1]|0;d[U>>1]=N}while((L&65535)<(P&65535));W=N}N=S;do{L=q+((N&65535)<<1)|0;R=N;N=d[L>>1]|0;d[L>>1]=W}while((N&65535)<(R&65535));d[B+(F<<1)>>1]=W;K=G;break a}N=F+2|0;if((N|0)>=(k|0))break;if(!(b[z+N>>0]|0))break;do if(E){if(!(b[A+H>>0]|0))break;if(b[z+F>>0]|0){d[B+(F<<1)>>1]=d[B+(F+-2<<1)>>1]|0;K=G;break a}if(!(b[A+F>>0]|0)){S=d[w+(N<<1)>>1]|0;R=d[B+(F+-2<<1)>>1]|0;L=S;while(1){M=d[q+((L&65535)<<1)>>1]|0;if((M&65535)<(L&65535))L=M;else break}if(S<<16>>16==R<<16>>16)Y=L;else{M=R;while(1){O=d[q+((M&65535)<<1)>>1]|0;if((O&65535)<(M&65535))M=O;else break}O=(L&65535)>(M&65535)?M:L;P=R;do{U=q+((P&65535)<<1)|0;T=P;P=d[U>>1]|0;d[U>>1]=O}while((P&65535)<(T&65535));Y=O}O=S;do{P=q+((O&65535)<<1)|0;R=O;O=d[P>>1]|0;d[P>>1]=Y}while((O&65535)<(R&65535));d[B+(F<<1)>>1]=Y;K=G;break a}O=F+-2|0;if(b[z+J>>0]|0){d[B+(F<<1)>>1]=d[B+(O<<1)>>1]|0;K=G;break a}do if((F|0)>1){if(!(b[z+O>>0]|0))break;if(b[A+J>>0]|0){d[B+(F<<1)>>1]=d[B+(O<<1)>>1]|0;K=G;break a}S=d[w+(N<<1)>>1]|0;R=d[B+(O<<1)>>1]|0;P=S;while(1){L=d[q+((P&65535)<<1)>>1]|0;if((L&65535)<(P&65535))P=L;else break}if(S<<16>>16==R<<16>>16)Z=P;else{L=R;while(1){M=d[q+((L&65535)<<1)>>1]|0;if((M&65535)<(L&65535))L=M;else break}M=(P&65535)>(L&65535)?L:P;T=R;do{U=q+((T&65535)<<1)|0;_=T;T=d[U>>1]|0;d[U>>1]=M}while((T&65535)<(_&65535));Z=M}M=S;do{T=q+((M&65535)<<1)|0;R=M;M=d[T>>1]|0;d[T>>1]=Z}while((M&65535)<(R&65535));d[B+(F<<1)>>1]=Z;K=G;break a}while(0);M=d[w+(N<<1)>>1]|0;S=d[B+(O<<1)>>1]|0;R=M;while(1){T=d[q+((R&65535)<<1)>>1]|0;if((T&65535)<(R&65535))R=T;else break}if(M<<16>>16==S<<16>>16)$=R;else{O=S;while(1){T=d[q+((O&65535)<<1)>>1]|0;if((T&65535)<(O&65535))O=T;else break}T=(R&65535)>(O&65535)?O:R;P=S;do{L=q+((P&65535)<<1)|0;_=P;P=d[L>>1]|0;d[L>>1]=T}while((P&65535)<(_&65535));$=T}T=M;do{P=q+((T&65535)<<1)|0;S=T;T=d[P>>1]|0;d[P>>1]=$}while((T&65535)<(S&65535));d[B+(F<<1)>>1]=$;K=G;break a}while(0);T=d[w+(N<<1)>>1]|0;M=d[B+(F+-2<<1)>>1]|0;S=T;while(1){P=d[q+((S&65535)<<1)>>1]|0;if((P&65535)<(S&65535))S=P;else break}if(T<<16>>16==M<<16>>16)aa=S;else{N=M;while(1){P=d[q+((N&65535)<<1)>>1]|0;if((P&65535)<(N&65535))N=P;else break}P=(S&65535)>(N&65535)?N:S;R=M;do{O=q+((R&65535)<<1)|0;_=R;R=d[O>>1]|0;d[O>>1]=P}while((R&65535)<(_&65535));aa=P}P=T;do{R=q+((P&65535)<<1)|0;M=P;P=d[R>>1]|0;d[R>>1]=aa}while((P&65535)<(M&65535));d[B+(F<<1)>>1]=aa;K=G;break a}while(0);d[B+(F<<1)>>1]=d[B+(F+-2<<1)>>1]|0;K=G;break a}if(!(b[y+J>>0]|0))break;do if(D){if(b[z+H>>0]|0){P=F+-2|0;do if((F|0)>1){if(!(b[x+P>>0]|0))break;if(b[z+J>>0]|0){if(b[z+F>>0]|0){d[B+(F<<1)>>1]=d[B+(P<<1)>>1]|0;K=G;break a}do if(E){if(!(b[A+F>>0]|0))break;d[B+(F<<1)>>1]=d[B+(P<<1)>>1]|0;K=G;break a}while(0);T=d[w+(F<<1)>>1]|0;M=d[B+(P<<1)>>1]|0;R=T;while(1){S=d[q+((R&65535)<<1)>>1]|0;if((S&65535)<(R&65535))R=S;else break}if(T<<16>>16==M<<16>>16)ba=R;else{S=M;while(1){N=d[q+((S&65535)<<1)>>1]|0;if((N&65535)<(S&65535))S=N;else break}N=(R&65535)>(S&65535)?S:R;_=M;do{O=q+((_&65535)<<1)|0;L=_;_=d[O>>1]|0;d[O>>1]=N}while((_&65535)<(L&65535));ba=N}N=T;do{_=q+((N&65535)<<1)|0;M=N;N=d[_>>1]|0;d[_>>1]=ba}while((N&65535)<(M&65535));d[B+(F<<1)>>1]=ba;K=G;break a}if(!(b[z+P>>0]|0)){N=d[w+(F<<1)>>1]|0;T=d[B+(P<<1)>>1]|0;M=N;while(1){_=d[q+((M&65535)<<1)>>1]|0;if((_&65535)<(M&65535))M=_;else break}if(N<<16>>16==T<<16>>16)ca=M;else{_=T;while(1){R=d[q+((_&65535)<<1)>>1]|0;if((R&65535)<(_&65535))_=R;else break}R=(M&65535)>(_&65535)?_:M;S=T;do{L=q+((S&65535)<<1)|0;O=S;S=d[L>>1]|0;d[L>>1]=R}while((S&65535)<(O&65535));ca=R}R=N;do{S=q+((R&65535)<<1)|0;T=R;R=d[S>>1]|0;d[S>>1]=ca}while((R&65535)<(T&65535));d[B+(F<<1)>>1]=ca;K=G;break a}do if(E){if(!(b[A+J>>0]|0))break;if(b[z+F>>0]|0){d[B+(F<<1)>>1]=d[B+(P<<1)>>1]|0;K=G;break a}if(b[A+F>>0]|0){d[B+(F<<1)>>1]=d[B+(P<<1)>>1]|0;K=G;break a}R=d[w+(F<<1)>>1]|0;N=d[B+(P<<1)>>1]|0;T=R;while(1){S=d[q+((T&65535)<<1)>>1]|0;if((S&65535)<(T&65535))T=S;else break}if(R<<16>>16==N<<16>>16)da=T;else{S=N;while(1){M=d[q+((S&65535)<<1)>>1]|0;if((M&65535)<(S&65535))S=M;else break}M=(T&65535)>(S&65535)?S:T;_=N;do{O=q+((_&65535)<<1)|0;L=_;_=d[O>>1]|0;d[O>>1]=M}while((_&65535)<(L&65535));da=M}M=R;do{_=q+((M&65535)<<1)|0;N=M;M=d[_>>1]|0;d[_>>1]=da}while((M&65535)<(N&65535));d[B+(F<<1)>>1]=da;K=G;break a}while(0);M=d[w+(F<<1)>>1]|0;R=d[B+(P<<1)>>1]|0;N=M;while(1){_=d[q+((N&65535)<<1)>>1]|0;if((_&65535)<(N&65535))N=_;else break}if(M<<16>>16==R<<16>>16)ea=N;else{_=R;while(1){T=d[q+((_&65535)<<1)>>1]|0;if((T&65535)<(_&65535))_=T;else break}T=(N&65535)>(_&65535)?_:N;S=R;do{L=q+((S&65535)<<1)|0;O=S;S=d[L>>1]|0;d[L>>1]=T}while((S&65535)<(O&65535));ea=T}T=M;do{S=q+((T&65535)<<1)|0;R=T;T=d[S>>1]|0;d[S>>1]=ea}while((T&65535)<(R&65535));d[B+(F<<1)>>1]=ea;K=G;break a}while(0);T=d[w+(F<<1)>>1]|0;M=d[B+(P<<1)>>1]|0;R=T;while(1){S=d[q+((R&65535)<<1)>>1]|0;if((S&65535)<(R&65535))R=S;else break}if(T<<16>>16==M<<16>>16)fa=R;else{P=M;while(1){S=d[q+((P&65535)<<1)>>1]|0;if((S&65535)<(P&65535))P=S;else break}S=(R&65535)>(P&65535)?P:R;N=M;do{_=q+((N&65535)<<1)|0;O=N;N=d[_>>1]|0;d[_>>1]=S}while((N&65535)<(O&65535));fa=S}S=T;do{N=q+((S&65535)<<1)|0;M=S;S=d[N>>1]|0;d[N>>1]=fa}while((S&65535)<(M&65535));d[B+(F<<1)>>1]=fa;K=G;break a}S=F+2|0;do if((S|0)<(k|0)){if(!(b[z+S>>0]|0))break;do if(E){if(!(b[A+H>>0]|0))break;T=F+-2|0;do if((F|0)>1){if(!(b[x+T>>0]|0))break;if(b[z+J>>0]|0){if(b[z+F>>0]|0){d[B+(F<<1)>>1]=d[B+(T<<1)>>1]|0;K=G;break a}if(b[A+F>>0]|0){d[B+(F<<1)>>1]=d[B+(T<<1)>>1]|0;K=G;break a}M=d[w+(S<<1)>>1]|0;N=d[B+(T<<1)>>1]|0;R=M;while(1){P=d[q+((R&65535)<<1)>>1]|0;if((P&65535)<(R&65535))R=P;else break}if(M<<16>>16==N<<16>>16)ga=R;else{P=N;while(1){O=d[q+((P&65535)<<1)>>1]|0;if((O&65535)<(P&65535))P=O;else break}O=(R&65535)>(P&65535)?P:R;_=N;do{L=q+((_&65535)<<1)|0;U=_;_=d[L>>1]|0;d[L>>1]=O}while((_&65535)<(U&65535));ga=O}O=M;do{_=q+((O&65535)<<1)|0;N=O;O=d[_>>1]|0;d[_>>1]=ga}while((O&65535)<(N&65535));d[B+(F<<1)>>1]=ga;K=G;break a}if(!(b[z+T>>0]|0)){O=d[w+(S<<1)>>1]|0;M=d[B+(T<<1)>>1]|0;N=O;while(1){_=d[q+((N&65535)<<1)>>1]|0;if((_&65535)<(N&65535))N=_;else break}if(O<<16>>16==M<<16>>16)ha=N;else{_=M;while(1){R=d[q+((_&65535)<<1)>>1]|0;if((R&65535)<(_&65535))_=R;else break}R=(N&65535)>(_&65535)?_:N;P=M;do{U=q+((P&65535)<<1)|0;L=P;P=d[U>>1]|0;d[U>>1]=R}while((P&65535)<(L&65535));ha=R}R=O;do{P=q+((R&65535)<<1)|0;M=R;R=d[P>>1]|0;d[P>>1]=ha}while((R&65535)<(M&65535));d[B+(F<<1)>>1]=ha;K=G;break a}if(!(b[A+J>>0]|0)){R=d[w+(S<<1)>>1]|0;O=d[B+(T<<1)>>1]|0;M=R;while(1){P=d[q+((M&65535)<<1)>>1]|0;if((P&65535)<(M&65535))M=P;else break}if(R<<16>>16==O<<16>>16)ia=M;else{P=O;while(1){N=d[q+((P&65535)<<1)>>1]|0;if((N&65535)<(P&65535))P=N;else break}N=(M&65535)>(P&65535)?P:M;_=O;do{L=q+((_&65535)<<1)|0;U=_;_=d[L>>1]|0;d[L>>1]=N}while((_&65535)<(U&65535));ia=N}N=R;do{_=q+((N&65535)<<1)|0;O=N;N=d[_>>1]|0;d[_>>1]=ia}while((N&65535)<(O&65535));d[B+(F<<1)>>1]=ia;K=G;break a}if(b[z+F>>0]|0){d[B+(F<<1)>>1]=d[B+(T<<1)>>1]|0;K=G;break a}if(b[A+F>>0]|0){d[B+(F<<1)>>1]=d[B+(T<<1)>>1]|0;K=G;break a}N=d[w+(S<<1)>>1]|0;R=d[B+(T<<1)>>1]|0;O=N;while(1){_=d[q+((O&65535)<<1)>>1]|0;if((_&65535)<(O&65535))O=_;else break}if(N<<16>>16==R<<16>>16)ja=O;else{_=R;while(1){M=d[q+((_&65535)<<1)>>1]|0;if((M&65535)<(_&65535))_=M;else break}M=(O&65535)>(_&65535)?_:O;P=R;do{U=q+((P&65535)<<1)|0;L=P;P=d[U>>1]|0;d[U>>1]=M}while((P&65535)<(L&65535));ja=M}M=N;do{P=q+((M&65535)<<1)|0;R=M;M=d[P>>1]|0;d[P>>1]=ja}while((M&65535)<(R&65535));d[B+(F<<1)>>1]=ja;K=G;break a}while(0);M=d[w+(S<<1)>>1]|0;N=d[B+(T<<1)>>1]|0;R=M;while(1){P=d[q+((R&65535)<<1)>>1]|0;if((P&65535)<(R&65535))R=P;else break}if(M<<16>>16==N<<16>>16)ka=R;else{T=N;while(1){P=d[q+((T&65535)<<1)>>1]|0;if((P&65535)<(T&65535))T=P;else break}P=(R&65535)>(T&65535)?T:R;O=N;do{_=q+((O&65535)<<1)|0;L=O;O=d[_>>1]|0;d[_>>1]=P}while((O&65535)<(L&65535));ka=P}P=M;do{O=q+((P&65535)<<1)|0;N=P;P=d[O>>1]|0;d[O>>1]=ka}while((P&65535)<(N&65535));d[B+(F<<1)>>1]=ka;K=G;break a}while(0);if(!(b[z+F>>0]|0)){P=d[w+(S<<1)>>1]|0;M=d[B+(F+-2<<1)>>1]|0;N=P;while(1){O=d[q+((N&65535)<<1)>>1]|0;if((O&65535)<(N&65535))N=O;else break}if(P<<16>>16==M<<16>>16)la=N;else{O=M;while(1){R=d[q+((O&65535)<<1)>>1]|0;if((R&65535)<(O&65535))O=R;else break}R=(N&65535)>(O&65535)?O:N;T=M;do{L=q+((T&65535)<<1)|0;_=T;T=d[L>>1]|0;d[L>>1]=R}while((T&65535)<(_&65535));la=R}R=P;do{T=q+((R&65535)<<1)|0;M=R;R=d[T>>1]|0;d[T>>1]=la}while((R&65535)<(M&65535));d[B+(F<<1)>>1]=la;K=G;break a}R=F+-2|0;do if((F|0)>1){if(!(b[x+R>>0]|0))break;if(b[z+J>>0]|0){P=d[w+(S<<1)>>1]|0;M=d[B+(R<<1)>>1]|0;T=P;while(1){N=d[q+((T&65535)<<1)>>1]|0;if((N&65535)<(T&65535))T=N;else break}if(P<<16>>16==M<<16>>16)ma=T;else{N=M;while(1){O=d[q+((N&65535)<<1)>>1]|0;if((O&65535)<(N&65535))N=O;else break}O=(T&65535)>(N&65535)?N:T;_=M;do{L=q+((_&65535)<<1)|0;U=_;_=d[L>>1]|0;d[L>>1]=O}while((_&65535)<(U&65535));ma=O}O=P;do{_=q+((O&65535)<<1)|0;M=O;O=d[_>>1]|0;d[_>>1]=ma}while((O&65535)<(M&65535));d[B+(F<<1)>>1]=ma;K=G;break a}if(!(b[z+R>>0]|0)){O=d[w+(F<<1)>>1]|0;P=d[w+(S<<1)>>1]|0;M=O;while(1){_=d[q+((M&65535)<<1)>>1]|0;if((_&65535)<(M&65535))M=_;else break}if(O<<16>>16==P<<16>>16)na=M;else{_=P;while(1){T=d[q+((_&65535)<<1)>>1]|0;if((T&65535)<(_&65535))_=T;else break}T=(M&65535)>(_&65535)?_:M;N=P;do{U=q+((N&65535)<<1)|0;L=N;N=d[U>>1]|0;d[U>>1]=T}while((N&65535)<(L&65535));na=T}T=O;do{N=q+((T&65535)<<1)|0;P=T;T=d[N>>1]|0;d[N>>1]=na}while((T&65535)<(P&65535));T=d[B+(R<<1)>>1]|0;O=na;while(1){P=d[q+((O&65535)<<1)>>1]|0;if((P&65535)<(O&65535))O=P;else break}if(na<<16>>16==T<<16>>16)oa=O;else{P=T;while(1){N=d[q+((P&65535)<<1)>>1]|0;if((N&65535)<(P&65535))P=N;else break}N=(O&65535)>(P&65535)?P:O;M=T;do{_=q+((M&65535)<<1)|0;L=M;M=d[_>>1]|0;d[_>>1]=N}while((M&65535)<(L&65535));oa=N}N=na;do{M=q+((N&65535)<<1)|0;T=N;N=d[M>>1]|0;d[M>>1]=oa}while((N&65535)<(T&65535));d[B+(F<<1)>>1]=oa;K=G;break a}do if(E){if(!(b[A+J>>0]|0))break;N=d[w+(S<<1)>>1]|0;T=d[B+(R<<1)>>1]|0;M=N;while(1){O=d[q+((M&65535)<<1)>>1]|0;if((O&65535)<(M&65535))M=O;else break}if(N<<16>>16==T<<16>>16)pa=M;else{O=T;while(1){P=d[q+((O&65535)<<1)>>1]|0;if((P&65535)<(O&65535))O=P;else break}P=(M&65535)>(O&65535)?O:M;L=T;do{_=q+((L&65535)<<1)|0;U=L;L=d[_>>1]|0;d[_>>1]=P}while((L&65535)<(U&65535));pa=P}P=N;do{L=q+((P&65535)<<1)|0;T=P;P=d[L>>1]|0;d[L>>1]=pa}while((P&65535)<(T&65535));d[B+(F<<1)>>1]=pa;K=G;break a}while(0);P=d[w+(F<<1)>>1]|0;N=d[w+(S<<1)>>1]|0;T=P;while(1){L=d[q+((T&65535)<<1)>>1]|0;if((L&65535)<(T&65535))T=L;else break}if(P<<16>>16==N<<16>>16)qa=T;else{L=N;while(1){M=d[q+((L&65535)<<1)>>1]|0;if((M&65535)<(L&65535))L=M;else break}M=(T&65535)>(L&65535)?L:T;O=N;do{U=q+((O&65535)<<1)|0;_=O;O=d[U>>1]|0;d[U>>1]=M}while((O&65535)<(_&65535));qa=M}M=P;do{O=q+((M&65535)<<1)|0;N=M;M=d[O>>1]|0;d[O>>1]=qa}while((M&65535)<(N&65535));M=d[B+(R<<1)>>1]|0;P=qa;while(1){N=d[q+((P&65535)<<1)>>1]|0;if((N&65535)<(P&65535))P=N;else break}if(qa<<16>>16==M<<16>>16)ra=P;else{N=M;while(1){O=d[q+((N&65535)<<1)>>1]|0;if((O&65535)<(N&65535))N=O;else break}O=(P&65535)>(N&65535)?N:P;T=M;do{L=q+((T&65535)<<1)|0;_=T;T=d[L>>1]|0;d[L>>1]=O}while((T&65535)<(_&65535));ra=O}O=qa;do{T=q+((O&65535)<<1)|0;M=O;O=d[T>>1]|0;d[T>>1]=ra}while((O&65535)<(M&65535));d[B+(F<<1)>>1]=ra;K=G;break a}while(0);O=d[w+(F<<1)>>1]|0;M=d[w+(S<<1)>>1]|0;T=O;while(1){P=d[q+((T&65535)<<1)>>1]|0;if((P&65535)<(T&65535))T=P;else break}if(O<<16>>16==M<<16>>16)sa=T;else{P=M;while(1){N=d[q+((P&65535)<<1)>>1]|0;if((N&65535)<(P&65535))P=N;else break}N=(T&65535)>(P&65535)?P:T;_=M;do{L=q+((_&65535)<<1)|0;U=_;_=d[L>>1]|0;d[L>>1]=N}while((_&65535)<(U&65535));sa=N}N=O;do{_=q+((N&65535)<<1)|0;M=N;N=d[_>>1]|0;d[_>>1]=sa}while((N&65535)<(M&65535));N=d[B+(R<<1)>>1]|0;O=sa;while(1){M=d[q+((O&65535)<<1)>>1]|0;if((M&65535)<(O&65535))O=M;else break}if(sa<<16>>16==N<<16>>16)ta=O;else{R=N;while(1){M=d[q+((R&65535)<<1)>>1]|0;if((M&65535)<(R&65535))R=M;else break}M=(O&65535)>(R&65535)?R:O;_=N;do{T=q+((_&65535)<<1)|0;P=_;_=d[T>>1]|0;d[T>>1]=M}while((_&65535)<(P&65535));ta=M}M=sa;do{_=q+((M&65535)<<1)|0;N=M;M=d[_>>1]|0;d[_>>1]=ta}while((M&65535)<(N&65535));d[B+(F<<1)>>1]=ta;K=G;break a}while(0);if(!(b[z+F>>0]|0))break;S=F+-2|0;do if((F|0)>1){if(!(b[x+S>>0]|0))break;if(b[z+J>>0]|0){d[B+(F<<1)>>1]=d[B+(S<<1)>>1]|0;K=G;break a}if(!(b[z+S>>0]|0)){M=d[w+(F<<1)>>1]|0;N=d[B+(S<<1)>>1]|0;_=M;while(1){O=d[q+((_&65535)<<1)>>1]|0;if((O&65535)<(_&65535))_=O;else break}if(M<<16>>16==N<<16>>16)ua=_;else{O=N;while(1){R=d[q+((O&65535)<<1)>>1]|0;if((R&65535)<(O&65535))O=R;else break}R=(_&65535)>(O&65535)?O:_;P=N;do{T=q+((P&65535)<<1)|0;U=P;P=d[T>>1]|0;d[T>>1]=R}while((P&65535)<(U&65535));ua=R}R=M;do{P=q+((R&65535)<<1)|0;N=R;R=d[P>>1]|0;d[P>>1]=ua}while((R&65535)<(N&65535));d[B+(F<<1)>>1]=ua;K=G;break a}do if(E){if(!(b[A+J>>0]|0))break;d[B+(F<<1)>>1]=d[B+(S<<1)>>1]|0;K=G;break a}while(0);R=d[w+(F<<1)>>1]|0;M=d[B+(S<<1)>>1]|0;N=R;while(1){P=d[q+((N&65535)<<1)>>1]|0;if((P&65535)<(N&65535))N=P;else break}if(R<<16>>16==M<<16>>16)va=N;else{P=M;while(1){_=d[q+((P&65535)<<1)>>1]|0;if((_&65535)<(P&65535))P=_;else break}_=(N&65535)>(P&65535)?P:N;O=M;do{U=q+((O&65535)<<1)|0;T=O;O=d[U>>1]|0;d[U>>1]=_}while((O&65535)<(T&65535));va=_}_=R;do{O=q+((_&65535)<<1)|0;M=_;_=d[O>>1]|0;d[O>>1]=va}while((_&65535)<(M&65535));d[B+(F<<1)>>1]=va;K=G;break a}while(0);_=d[w+(F<<1)>>1]|0;R=d[B+(S<<1)>>1]|0;M=_;while(1){O=d[q+((M&65535)<<1)>>1]|0;if((O&65535)<(M&65535))M=O;else break}if(_<<16>>16==R<<16>>16)wa=M;else{S=R;while(1){O=d[q+((S&65535)<<1)>>1]|0;if((O&65535)<(S&65535))S=O;else break}O=(M&65535)>(S&65535)?S:M;N=R;do{P=q+((N&65535)<<1)|0;T=N;N=d[P>>1]|0;d[P>>1]=O}while((N&65535)<(T&65535));wa=O}O=_;do{N=q+((O&65535)<<1)|0;R=O;O=d[N>>1]|0;d[N>>1]=wa}while((O&65535)<(R&65535));d[B+(F<<1)>>1]=wa;K=G;break a}while(0);d[B+(F<<1)>>1]=d[B+(F+-2<<1)>>1]|0;K=G;break a}while(0);do if(D){if(b[z+H>>0]|0){d[B+(F<<1)>>1]=d[w+(F<<1)>>1]|0;K=G;break a}J=F+2|0;do if((J|0)<(k|0)){if(!(b[z+J>>0]|0))break;if(!(b[z+F>>0]|0)){d[B+(F<<1)>>1]=d[w+(J<<1)>>1]|0;K=G;break a}do if(E){if(!(b[A+H>>0]|0))break;d[B+(F<<1)>>1]=d[w+(J<<1)>>1]|0;K=G;break a}while(0);O=d[w+(F<<1)>>1]|0;_=d[w+(J<<1)>>1]|0;R=O;while(1){N=d[q+((R&65535)<<1)>>1]|0;if((N&65535)<(R&65535))R=N;else break}if(O<<16>>16==_<<16>>16)xa=R;else{N=_;while(1){M=d[q+((N&65535)<<1)>>1]|0;if((M&65535)<(N&65535))N=M;else break}M=(R&65535)>(N&65535)?N:R;S=_;do{T=q+((S&65535)<<1)|0;P=S;S=d[T>>1]|0;d[T>>1]=M}while((S&65535)<(P&65535));xa=M}M=O;do{S=q+((M&65535)<<1)|0;_=M;M=d[S>>1]|0;d[S>>1]=xa}while((M&65535)<(_&65535));d[B+(F<<1)>>1]=xa;K=G;break a}while(0);if(!(b[z+F>>0]|0))break;d[B+(F<<1)>>1]=d[w+(F<<1)>>1]|0;K=G;break a}while(0);d[B+(F<<1)>>1]=G;H=G&65535;d[q+(H<<1)>>1]=G;K=H+1&65535;break}H=F+-1|0;if((F|0)>0){if(b[y+H>>0]|0){d[B+(F<<1)>>1]=d[B+(F+-2<<1)>>1]|0;K=G;break}if(b[x+H>>0]|0){d[B+(F<<1)>>1]=d[B+(F+-2<<1)>>1]|0;K=G;break}}d[B+(F<<1)>>1]=G;H=G&65535;d[q+(H<<1)>>1]=G;K=H+1&65535;break}H=F|1;do if((H|0)<(k|0)){if(!(b[x+H>>0]|0)){if(!C)break;if(!(b[y+H>>0]|0))break;d[B+(F<<1)>>1]=G;J=G&65535;d[q+(J<<1)>>1]=G;K=J+1&65535;break a}if(D){if(b[z+H>>0]|0){d[B+(F<<1)>>1]=d[w+(F<<1)>>1]|0;K=G;break a}J=F+2|0;do if((J|0)<(k|0)){if(!(b[z+J>>0]|0))break;if(!(b[z+F>>0]|0)){d[B+(F<<1)>>1]=d[w+(J<<1)>>1]|0;K=G;break a}do if(E){if(!(b[A+H>>0]|0))break;d[B+(F<<1)>>1]=d[w+(J<<1)>>1]|0;K=G;break a}while(0);M=d[w+(F<<1)>>1]|0;O=d[w+(J<<1)>>1]|0;_=M;while(1){S=d[q+((_&65535)<<1)>>1]|0;if((S&65535)<(_&65535))_=S;else break}if(M<<16>>16==O<<16>>16)ya=_;else{S=O;while(1){R=d[q+((S&65535)<<1)>>1]|0;if((R&65535)<(S&65535))S=R;else break}R=(_&65535)>(S&65535)?S:_;N=O;do{P=q+((N&65535)<<1)|0;T=N;N=d[P>>1]|0;d[P>>1]=R}while((N&65535)<(T&65535));ya=R}R=M;do{N=q+((R&65535)<<1)|0;O=R;R=d[N>>1]|0;d[N>>1]=ya}while((R&65535)<(O&65535));d[B+(F<<1)>>1]=ya;K=G;break a}while(0);if(b[z+F>>0]|0){d[B+(F<<1)>>1]=d[w+(F<<1)>>1]|0;K=G;break a}}d[B+(F<<1)>>1]=G;J=G&65535;d[q+(J<<1)>>1]=G;K=J+1&65535;break a}while(0);d[B+(F<<1)>>1]=0;K=G}else{H=F+-1|0;J=(F|0)>0;if(J){if(b[x+H>>0]|0){R=F|1;M=(R|0)<(k|0);if(D&M?b[z+R>>0]|0:0){if(b[z+F>>0]|0){d[B+(F<<1)>>1]=d[B+(F+-2<<1)>>1]|0;K=G;break}do if(E){if(!(b[A+F>>0]|0))break;O=F+-2|0;if(b[z+H>>0]|0){d[B+(F<<1)>>1]=d[B+(O<<1)>>1]|0;K=G;break a}do if((F|0)>1){if(!(b[z+O>>0]|0))break;if(b[A+H>>0]|0){d[B+(F<<1)>>1]=d[B+(O<<1)>>1]|0;K=G;break a}N=d[w+(F<<1)>>1]|0;_=d[B+(O<<1)>>1]|0;S=N;while(1){T=d[q+((S&65535)<<1)>>1]|0;if((T&65535)<(S&65535))S=T;else break}if(N<<16>>16==_<<16>>16)za=S;else{T=_;while(1){P=d[q+((T&65535)<<1)>>1]|0;if((P&65535)<(T&65535))T=P;else break}P=(S&65535)>(T&65535)?T:S;U=_;do{L=q+((U&65535)<<1)|0;Aa=U;U=d[L>>1]|0;d[L>>1]=P}while((U&65535)<(Aa&65535));za=P}P=N;do{U=q+((P&65535)<<1)|0;_=P;P=d[U>>1]|0;d[U>>1]=za}while((P&65535)<(_&65535));d[B+(F<<1)>>1]=za;K=G;break a}while(0);P=d[w+(F<<1)>>1]|0;N=d[B+(O<<1)>>1]|0;_=P;while(1){U=d[q+((_&65535)<<1)>>1]|0;if((U&65535)<(_&65535))_=U;else break}if(P<<16>>16==N<<16>>16)Ba=_;else{O=N;while(1){U=d[q+((O&65535)<<1)>>1]|0;if((U&65535)<(O&65535))O=U;else break}U=(_&65535)>(O&65535)?O:_;S=N;do{T=q+((S&65535)<<1)|0;Aa=S;S=d[T>>1]|0;d[T>>1]=U}while((S&65535)<(Aa&65535));Ba=U}U=P;do{S=q+((U&65535)<<1)|0;N=U;U=d[S>>1]|0;d[S>>1]=Ba}while((U&65535)<(N&65535));d[B+(F<<1)>>1]=Ba;K=G;break a}while(0);U=d[w+(F<<1)>>1]|0;P=d[B+(F+-2<<1)>>1]|0;N=U;while(1){S=d[q+((N&65535)<<1)>>1]|0;if((S&65535)<(N&65535))N=S;else break}if(U<<16>>16==P<<16>>16)Ca=N;else{S=P;while(1){_=d[q+((S&65535)<<1)>>1]|0;if((_&65535)<(S&65535))S=_;else break}_=(N&65535)>(S&65535)?S:N;O=P;do{Aa=q+((O&65535)<<1)|0;T=O;O=d[Aa>>1]|0;d[Aa>>1]=_}while((O&65535)<(T&65535));Ca=_}_=U;do{O=q+((_&65535)<<1)|0;P=_;_=d[O>>1]|0;d[O>>1]=Ca}while((_&65535)<(P&65535));d[B+(F<<1)>>1]=Ca;K=G;break}if(M?b[x+R>>0]|0:0){_=F+2|0;do if(D&(_|0)<(k|0)){if(!(b[z+_>>0]|0))break;do if(E){if(!(b[A+R>>0]|0))break;if(b[z+F>>0]|0){d[B+(F<<1)>>1]=d[B+(F+-2<<1)>>1]|0;K=G;break a}if(!(b[A+F>>0]|0)){U=d[w+(_<<1)>>1]|0;P=d[B+(F+-2<<1)>>1]|0;O=U;while(1){N=d[q+((O&65535)<<1)>>1]|0;if((N&65535)<(O&65535))O=N;else break}if(U<<16>>16==P<<16>>16)Da=O;else{N=P;while(1){S=d[q+((N&65535)<<1)>>1]|0;if((S&65535)<(N&65535))N=S;else break}S=(O&65535)>(N&65535)?N:O;T=P;do{Aa=q+((T&65535)<<1)|0;L=T;T=d[Aa>>1]|0;d[Aa>>1]=S}while((T&65535)<(L&65535));Da=S}S=U;do{T=q+((S&65535)<<1)|0;P=S;S=d[T>>1]|0;d[T>>1]=Da}while((S&65535)<(P&65535));d[B+(F<<1)>>1]=Da;K=G;break a}S=F+-2|0;if(b[z+H>>0]|0){d[B+(F<<1)>>1]=d[B+(S<<1)>>1]|0;K=G;break a}do if((F|0)>1){if(!(b[z+S>>0]|0))break;if(b[A+H>>0]|0){d[B+(F<<1)>>1]=d[B+(S<<1)>>1]|0;K=G;break a}U=d[w+(_<<1)>>1]|0;P=d[B+(S<<1)>>1]|0;T=U;while(1){O=d[q+((T&65535)<<1)>>1]|0;if((O&65535)<(T&65535))T=O;else break}if(U<<16>>16==P<<16>>16)Ea=T;else{O=P;while(1){N=d[q+((O&65535)<<1)>>1]|0;if((N&65535)<(O&65535))O=N;else break}N=(T&65535)>(O&65535)?O:T;L=P;do{Aa=q+((L&65535)<<1)|0;Fa=L;L=d[Aa>>1]|0;d[Aa>>1]=N}while((L&65535)<(Fa&65535));Ea=N}N=U;do{L=q+((N&65535)<<1)|0;P=N;N=d[L>>1]|0;d[L>>1]=Ea}while((N&65535)<(P&65535));d[B+(F<<1)>>1]=Ea;K=G;break a}while(0);N=d[w+(_<<1)>>1]|0;U=d[B+(S<<1)>>1]|0;P=N;while(1){L=d[q+((P&65535)<<1)>>1]|0;if((L&65535)<(P&65535))P=L;else break}if(N<<16>>16==U<<16>>16)Ga=P;else{S=U;while(1){L=d[q+((S&65535)<<1)>>1]|0;if((L&65535)<(S&65535))S=L;else break}L=(P&65535)>(S&65535)?S:P;T=U;do{O=q+((T&65535)<<1)|0;Fa=T;T=d[O>>1]|0;d[O>>1]=L}while((T&65535)<(Fa&65535));Ga=L}L=N;do{T=q+((L&65535)<<1)|0;U=L;L=d[T>>1]|0;d[T>>1]=Ga}while((L&65535)<(U&65535));d[B+(F<<1)>>1]=Ga;K=G;break a}while(0);L=d[w+(_<<1)>>1]|0;N=d[B+(F+-2<<1)>>1]|0;U=L;while(1){T=d[q+((U&65535)<<1)>>1]|0;if((T&65535)<(U&65535))U=T;else break}if(L<<16>>16==N<<16>>16)Ha=U;else{T=N;while(1){P=d[q+((T&65535)<<1)>>1]|0;if((P&65535)<(T&65535))T=P;else break}P=(U&65535)>(T&65535)?T:U;S=N;do{Fa=q+((S&65535)<<1)|0;O=S;S=d[Fa>>1]|0;d[Fa>>1]=P}while((S&65535)<(O&65535));Ha=P}P=L;do{S=q+((P&65535)<<1)|0;N=P;P=d[S>>1]|0;d[S>>1]=Ha}while((P&65535)<(N&65535));d[B+(F<<1)>>1]=Ha;K=G;break a}while(0);d[B+(F<<1)>>1]=d[B+(F+-2<<1)>>1]|0;K=G;break}d[B+(F<<1)>>1]=d[B+(F+-2<<1)>>1]|0;K=G;break}if(C?b[y+H>>0]|0:0){_=F|1;R=(_|0)<(k|0);if(D&R?b[z+_>>0]|0:0){M=F+-2|0;do if((F|0)>1){if(!(b[x+M>>0]|0))break;if(b[z+H>>0]|0){if(b[z+F>>0]|0){d[B+(F<<1)>>1]=d[B+(M<<1)>>1]|0;K=G;break a}do if(E){if(!(b[A+F>>0]|0))break;d[B+(F<<1)>>1]=d[B+(M<<1)>>1]|0;K=G;break a}while(0);P=d[w+(F<<1)>>1]|0;L=d[B+(M<<1)>>1]|0;N=P;while(1){S=d[q+((N&65535)<<1)>>1]|0;if((S&65535)<(N&65535))N=S;else break}if(P<<16>>16==L<<16>>16)Ia=N;else{S=L;while(1){U=d[q+((S&65535)<<1)>>1]|0;if((U&65535)<(S&65535))S=U;else break}U=(N&65535)>(S&65535)?S:N;T=L;do{O=q+((T&65535)<<1)|0;Fa=T;T=d[O>>1]|0;d[O>>1]=U}while((T&65535)<(Fa&65535));Ia=U}U=P;do{T=q+((U&65535)<<1)|0;L=U;U=d[T>>1]|0;d[T>>1]=Ia}while((U&65535)<(L&65535));d[B+(F<<1)>>1]=Ia;K=G;break a}if(!(b[z+M>>0]|0)){U=d[w+(F<<1)>>1]|0;P=d[B+(M<<1)>>1]|0;L=U;while(1){T=d[q+((L&65535)<<1)>>1]|0;if((T&65535)<(L&65535))L=T;else break}if(U<<16>>16==P<<16>>16)Ja=L;else{T=P;while(1){N=d[q+((T&65535)<<1)>>1]|0;if((N&65535)<(T&65535))T=N;else break}N=(L&65535)>(T&65535)?T:L;S=P;do{Fa=q+((S&65535)<<1)|0;O=S;S=d[Fa>>1]|0;d[Fa>>1]=N}while((S&65535)<(O&65535));Ja=N}N=U;do{S=q+((N&65535)<<1)|0;P=N;N=d[S>>1]|0;d[S>>1]=Ja}while((N&65535)<(P&65535));d[B+(F<<1)>>1]=Ja;K=G;break a}do if(E){if(!(b[A+H>>0]|0))break;if(b[z+F>>0]|0){d[B+(F<<1)>>1]=d[B+(M<<1)>>1]|0;K=G;break a}if(b[A+F>>0]|0){d[B+(F<<1)>>1]=d[B+(M<<1)>>1]|0;K=G;break a}N=d[w+(F<<1)>>1]|0;U=d[B+(M<<1)>>1]|0;P=N;while(1){S=d[q+((P&65535)<<1)>>1]|0;if((S&65535)<(P&65535))P=S;else break}if(N<<16>>16==U<<16>>16)Ka=P;else{S=U;while(1){L=d[q+((S&65535)<<1)>>1]|0;if((L&65535)<(S&65535))S=L;else break}L=(P&65535)>(S&65535)?S:P;T=U;do{O=q+((T&65535)<<1)|0;Fa=T;T=d[O>>1]|0;d[O>>1]=L}while((T&65535)<(Fa&65535));Ka=L}L=N;do{T=q+((L&65535)<<1)|0;U=L;L=d[T>>1]|0;d[T>>1]=Ka}while((L&65535)<(U&65535));d[B+(F<<1)>>1]=Ka;K=G;break a}while(0);L=d[w+(F<<1)>>1]|0;N=d[B+(M<<1)>>1]|0;U=L;while(1){T=d[q+((U&65535)<<1)>>1]|0;if((T&65535)<(U&65535))U=T;else break}if(L<<16>>16==N<<16>>16)La=U;else{T=N;while(1){P=d[q+((T&65535)<<1)>>1]|0;if((P&65535)<(T&65535))T=P;else break}P=(U&65535)>(T&65535)?T:U;S=N;do{Fa=q+((S&65535)<<1)|0;O=S;S=d[Fa>>1]|0;d[Fa>>1]=P}while((S&65535)<(O&65535));La=P}P=L;do{S=q+((P&65535)<<1)|0;N=P;P=d[S>>1]|0;d[S>>1]=La}while((P&65535)<(N&65535));d[B+(F<<1)>>1]=La;K=G;break a}while(0);if(b[z+F>>0]|0){P=d[w+(F<<1)>>1]|0;L=d[B+(M<<1)>>1]|0;N=P;while(1){S=d[q+((N&65535)<<1)>>1]|0;if((S&65535)<(N&65535))N=S;else break}if(P<<16>>16==L<<16>>16)Ma=N;else{S=L;while(1){U=d[q+((S&65535)<<1)>>1]|0;if((U&65535)<(S&65535))S=U;else break}U=(N&65535)>(S&65535)?S:N;T=L;do{O=q+((T&65535)<<1)|0;Fa=T;T=d[O>>1]|0;d[O>>1]=U}while((T&65535)<(Fa&65535));Ma=U}U=P;do{T=q+((U&65535)<<1)|0;L=U;U=d[T>>1]|0;d[T>>1]=Ma}while((U&65535)<(L&65535));d[B+(F<<1)>>1]=Ma;K=G;break}if(!(b[z+H>>0]|0)){U=d[w+(F<<1)>>1]|0;P=d[B+(M<<1)>>1]|0;L=U;while(1){T=d[q+((L&65535)<<1)>>1]|0;if((T&65535)<(L&65535))L=T;else break}if(U<<16>>16==P<<16>>16)Na=L;else{T=P;while(1){N=d[q+((T&65535)<<1)>>1]|0;if((N&65535)<(T&65535))T=N;else break}N=(L&65535)>(T&65535)?T:L;S=P;do{Fa=q+((S&65535)<<1)|0;O=S;S=d[Fa>>1]|0;d[Fa>>1]=N}while((S&65535)<(O&65535));Na=N}N=U;do{S=q+((N&65535)<<1)|0;P=N;N=d[S>>1]|0;d[S>>1]=Na}while((N&65535)<(P&65535));d[B+(F<<1)>>1]=Na;K=G;break}do if(E){if(!(b[A+F>>0]|0))break;N=d[w+(F<<1)>>1]|0;U=d[B+(M<<1)>>1]|0;P=N;while(1){S=d[q+((P&65535)<<1)>>1]|0;if((S&65535)<(P&65535))P=S;else break}if(N<<16>>16==U<<16>>16)Oa=P;else{S=U;while(1){L=d[q+((S&65535)<<1)>>1]|0;if((L&65535)<(S&65535))S=L;else break}L=(P&65535)>(S&65535)?S:P;T=U;do{O=q+((T&65535)<<1)|0;Fa=T;T=d[O>>1]|0;d[O>>1]=L}while((T&65535)<(Fa&65535));Oa=L}L=N;do{T=q+((L&65535)<<1)|0;U=L;L=d[T>>1]|0;d[T>>1]=Oa}while((L&65535)<(U&65535));d[B+(F<<1)>>1]=Oa;K=G;break a}while(0);L=d[w+(M<<1)>>1]|0;N=d[w+(F<<1)>>1]|0;U=L;while(1){T=d[q+((U&65535)<<1)>>1]|0;if((T&65535)<(U&65535))U=T;else break}if(L<<16>>16==N<<16>>16)Pa=U;else{T=N;while(1){P=d[q+((T&65535)<<1)>>1]|0;if((P&65535)<(T&65535))T=P;else break}P=(U&65535)>(T&65535)?T:U;S=N;do{Fa=q+((S&65535)<<1)|0;O=S;S=d[Fa>>1]|0;d[Fa>>1]=P}while((S&65535)<(O&65535));Pa=P}P=L;do{S=q+((P&65535)<<1)|0;N=P;P=d[S>>1]|0;d[S>>1]=Pa}while((P&65535)<(N&65535));P=d[B+(M<<1)>>1]|0;L=Pa;while(1){N=d[q+((L&65535)<<1)>>1]|0;if((N&65535)<(L&65535))L=N;else break}if(Pa<<16>>16==P<<16>>16)Qa=L;else{M=P;while(1){N=d[q+((M&65535)<<1)>>1]|0;if((N&65535)<(M&65535))M=N;else break}N=(L&65535)>(M&65535)?M:L;S=P;do{U=q+((S&65535)<<1)|0;T=S;S=d[U>>1]|0;d[U>>1]=N}while((S&65535)<(T&65535));Qa=N}N=Pa;do{S=q+((N&65535)<<1)|0;P=N;N=d[S>>1]|0;d[S>>1]=Qa}while((N&65535)<(P&65535));d[B+(F<<1)>>1]=Qa;K=G;break}if(R?b[x+_>>0]|0:0){N=F+2|0;do if(D&(N|0)<(k|0)){if(!(b[z+N>>0]|0))break;P=F+-2|0;do if((F|0)>1){if(!(b[x+P>>0]|0))break;if(b[z+H>>0]|0){do if(E){if(!(b[A+_>>0]|0))break;if(b[z+F>>0]|0){d[B+(F<<1)>>1]=d[B+(P<<1)>>1]|0;K=G;break a}if(b[A+F>>0]|0){d[B+(F<<1)>>1]=d[B+(P<<1)>>1]|0;K=G;break a}S=d[w+(N<<1)>>1]|0;L=d[B+(P<<1)>>1]|0;M=S;while(1){T=d[q+((M&65535)<<1)>>1]|0;if((T&65535)<(M&65535))M=T;else break}if(S<<16>>16==L<<16>>16)Ra=M;else{T=L;while(1){U=d[q+((T&65535)<<1)>>1]|0;if((U&65535)<(T&65535))T=U;else break}U=(M&65535)>(T&65535)?T:M;O=L;do{Fa=q+((O&65535)<<1)|0;Aa=O;O=d[Fa>>1]|0;d[Fa>>1]=U}while((O&65535)<(Aa&65535));Ra=U}U=S;do{O=q+((U&65535)<<1)|0;L=U;U=d[O>>1]|0;d[O>>1]=Ra}while((U&65535)<(L&65535));d[B+(F<<1)>>1]=Ra;K=G;break a}while(0);U=d[w+(N<<1)>>1]|0;S=d[B+(P<<1)>>1]|0;L=U;while(1){O=d[q+((L&65535)<<1)>>1]|0;if((O&65535)<(L&65535))L=O;else break}if(U<<16>>16==S<<16>>16)Sa=L;else{O=S;while(1){M=d[q+((O&65535)<<1)>>1]|0;if((M&65535)<(O&65535))O=M;else break}M=(L&65535)>(O&65535)?O:L;T=S;do{Aa=q+((T&65535)<<1)|0;Fa=T;T=d[Aa>>1]|0;d[Aa>>1]=M}while((T&65535)<(Fa&65535));Sa=M}M=U;do{T=q+((M&65535)<<1)|0;S=M;M=d[T>>1]|0;d[T>>1]=Sa}while((M&65535)<(S&65535));d[B+(F<<1)>>1]=Sa;K=G;break a}do if(E){if(!(b[A+_>>0]|0))break;if(!(b[z+P>>0]|0)){M=d[w+(N<<1)>>1]|0;U=d[B+(P<<1)>>1]|0;S=M;while(1){T=d[q+((S&65535)<<1)>>1]|0;if((T&65535)<(S&65535))S=T;else break}if(M<<16>>16==U<<16>>16)Ta=S;else{T=U;while(1){L=d[q+((T&65535)<<1)>>1]|0;if((L&65535)<(T&65535))T=L;else break}L=(S&65535)>(T&65535)?T:S;O=U;do{Fa=q+((O&65535)<<1)|0;Aa=O;O=d[Fa>>1]|0;d[Fa>>1]=L}while((O&65535)<(Aa&65535));Ta=L}L=M;do{O=q+((L&65535)<<1)|0;U=L;L=d[O>>1]|0;d[O>>1]=Ta}while((L&65535)<(U&65535));d[B+(F<<1)>>1]=Ta;K=G;break a}if(!(b[A+H>>0]|0)){L=d[w+(N<<1)>>1]|0;M=d[B+(P<<1)>>1]|0;U=L;while(1){O=d[q+((U&65535)<<1)>>1]|0;if((O&65535)<(U&65535))U=O;else break}if(L<<16>>16==M<<16>>16)Ua=U;else{O=M;while(1){S=d[q+((O&65535)<<1)>>1]|0;if((S&65535)<(O&65535))O=S;else break}S=(U&65535)>(O&65535)?O:U;T=M;do{Aa=q+((T&65535)<<1)|0;Fa=T;T=d[Aa>>1]|0;d[Aa>>1]=S}while((T&65535)<(Fa&65535));Ua=S}S=L;do{T=q+((S&65535)<<1)|0;M=S;S=d[T>>1]|0;d[T>>1]=Ua}while((S&65535)<(M&65535));d[B+(F<<1)>>1]=Ua;K=G;break a}if(b[z+F>>0]|0){d[B+(F<<1)>>1]=d[B+(P<<1)>>1]|0;K=G;break a}if(b[A+F>>0]|0){d[B+(F<<1)>>1]=d[B+(P<<1)>>1]|0;K=G;break a}S=d[w+(N<<1)>>1]|0;L=d[B+(P<<1)>>1]|0;M=S;while(1){T=d[q+((M&65535)<<1)>>1]|0;if((T&65535)<(M&65535))M=T;else break}if(S<<16>>16==L<<16>>16)Va=M;else{T=L;while(1){U=d[q+((T&65535)<<1)>>1]|0;if((U&65535)<(T&65535))T=U;else break}U=(M&65535)>(T&65535)?T:M;O=L;do{Fa=q+((O&65535)<<1)|0;Aa=O;O=d[Fa>>1]|0;d[Fa>>1]=U}while((O&65535)<(Aa&65535));Va=U}U=S;do{O=q+((U&65535)<<1)|0;L=U;U=d[O>>1]|0;d[O>>1]=Va}while((U&65535)<(L&65535));d[B+(F<<1)>>1]=Va;K=G;break a}while(0);if(!(b[z+F>>0]|0)){U=d[w+(N<<1)>>1]|0;S=d[B+(P<<1)>>1]|0;L=U;while(1){O=d[q+((L&65535)<<1)>>1]|0;if((O&65535)<(L&65535))L=O;else break}if(U<<16>>16==S<<16>>16)Wa=L;else{O=S;while(1){M=d[q+((O&65535)<<1)>>1]|0;if((M&65535)<(O&65535))O=M;else break}M=(L&65535)>(O&65535)?O:L;T=S;do{Aa=q+((T&65535)<<1)|0;Fa=T;T=d[Aa>>1]|0;d[Aa>>1]=M}while((T&65535)<(Fa&65535));Wa=M}M=U;do{T=q+((M&65535)<<1)|0;S=M;M=d[T>>1]|0;d[T>>1]=Wa}while((M&65535)<(S&65535));d[B+(F<<1)>>1]=Wa;K=G;break a}if(!(b[z+P>>0]|0)){M=d[w+(F<<1)>>1]|0;U=d[w+(N<<1)>>1]|0;S=M;while(1){T=d[q+((S&65535)<<1)>>1]|0;if((T&65535)<(S&65535))S=T;else break}if(M<<16>>16==U<<16>>16)Xa=S;else{T=U;while(1){L=d[q+((T&65535)<<1)>>1]|0;if((L&65535)<(T&65535))T=L;else break}L=(S&65535)>(T&65535)?T:S;O=U;do{Fa=q+((O&65535)<<1)|0;Aa=O;O=d[Fa>>1]|0;d[Fa>>1]=L}while((O&65535)<(Aa&65535));Xa=L}L=M;do{O=q+((L&65535)<<1)|0;U=L;L=d[O>>1]|0;d[O>>1]=Xa}while((L&65535)<(U&65535));L=d[B+(P<<1)>>1]|0;M=Xa;while(1){U=d[q+((M&65535)<<1)>>1]|0;if((U&65535)<(M&65535))M=U;else break}if(Xa<<16>>16==L<<16>>16)Ya=M;else{U=L;while(1){O=d[q+((U&65535)<<1)>>1]|0;if((O&65535)<(U&65535))U=O;else break}O=(M&65535)>(U&65535)?U:M;S=L;do{T=q+((S&65535)<<1)|0;Aa=S;S=d[T>>1]|0;d[T>>1]=O}while((S&65535)<(Aa&65535));Ya=O}O=Xa;do{S=q+((O&65535)<<1)|0;L=O;O=d[S>>1]|0;d[S>>1]=Ya}while((O&65535)<(L&65535));d[B+(F<<1)>>1]=Ya;K=G;break a}do if(E){if(!(b[A+H>>0]|0))break;O=d[w+(N<<1)>>1]|0;L=d[B+(P<<1)>>1]|0;S=O;while(1){M=d[q+((S&65535)<<1)>>1]|0;if((M&65535)<(S&65535))S=M;else break}if(O<<16>>16==L<<16>>16)Za=S;else{M=L;while(1){U=d[q+((M&65535)<<1)>>1]|0;if((U&65535)<(M&65535))M=U;else break}U=(S&65535)>(M&65535)?M:S;Aa=L;do{T=q+((Aa&65535)<<1)|0;Fa=Aa;Aa=d[T>>1]|0;d[T>>1]=U}while((Aa&65535)<(Fa&65535));Za=U}U=O;do{Aa=q+((U&65535)<<1)|0;L=U;U=d[Aa>>1]|0;d[Aa>>1]=Za}while((U&65535)<(L&65535));d[B+(F<<1)>>1]=Za;K=G;break a}while(0);U=d[w+(F<<1)>>1]|0;O=d[w+(N<<1)>>1]|0;L=U;while(1){Aa=d[q+((L&65535)<<1)>>1]|0;if((Aa&65535)<(L&65535))L=Aa;else break}if(U<<16>>16==O<<16>>16)_a=L;else{Aa=O;while(1){S=d[q+((Aa&65535)<<1)>>1]|0;if((S&65535)<(Aa&65535))Aa=S;else break}S=(L&65535)>(Aa&65535)?Aa:L;M=O;do{Fa=q+((M&65535)<<1)|0;T=M;M=d[Fa>>1]|0;d[Fa>>1]=S}while((M&65535)<(T&65535));_a=S}S=U;do{M=q+((S&65535)<<1)|0;O=S;S=d[M>>1]|0;d[M>>1]=_a}while((S&65535)<(O&65535));S=d[B+(P<<1)>>1]|0;U=_a;while(1){O=d[q+((U&65535)<<1)>>1]|0;if((O&65535)<(U&65535))U=O;else break}if(_a<<16>>16==S<<16>>16)$a=U;else{O=S;while(1){M=d[q+((O&65535)<<1)>>1]|0;if((M&65535)<(O&65535))O=M;else break}M=(U&65535)>(O&65535)?O:U;L=S;do{Aa=q+((L&65535)<<1)|0;T=L;L=d[Aa>>1]|0;d[Aa>>1]=M}while((L&65535)<(T&65535));$a=M}M=_a;do{L=q+((M&65535)<<1)|0;S=M;M=d[L>>1]|0;d[L>>1]=$a}while((M&65535)<(S&65535));d[B+(F<<1)>>1]=$a;K=G;break a}while(0);if(b[z+F>>0]|0){do if(E){if(!(b[A+_>>0]|0))break;M=d[w+(N<<1)>>1]|0;S=d[B+(P<<1)>>1]|0;L=M;while(1){U=d[q+((L&65535)<<1)>>1]|0;if((U&65535)<(L&65535))L=U;else break}if(M<<16>>16==S<<16>>16)ab=L;else{U=S;while(1){O=d[q+((U&65535)<<1)>>1]|0;if((O&65535)<(U&65535))U=O;else break}O=(L&65535)>(U&65535)?U:L;T=S;do{Aa=q+((T&65535)<<1)|0;Fa=T;T=d[Aa>>1]|0;d[Aa>>1]=O}while((T&65535)<(Fa&65535));ab=O}O=M;do{T=q+((O&65535)<<1)|0;S=O;O=d[T>>1]|0;d[T>>1]=ab}while((O&65535)<(S&65535));d[B+(F<<1)>>1]=ab;K=G;break a}while(0);O=d[w+(F<<1)>>1]|0;M=d[w+(N<<1)>>1]|0;S=O;while(1){T=d[q+((S&65535)<<1)>>1]|0;if((T&65535)<(S&65535))S=T;else break}if(O<<16>>16==M<<16>>16)bb=S;else{T=M;while(1){L=d[q+((T&65535)<<1)>>1]|0;if((L&65535)<(T&65535))T=L;else break}L=(S&65535)>(T&65535)?T:S;U=M;do{Fa=q+((U&65535)<<1)|0;Aa=U;U=d[Fa>>1]|0;d[Fa>>1]=L}while((U&65535)<(Aa&65535));bb=L}L=O;do{U=q+((L&65535)<<1)|0;M=L;L=d[U>>1]|0;d[U>>1]=bb}while((L&65535)<(M&65535));L=d[B+(P<<1)>>1]|0;O=bb;while(1){M=d[q+((O&65535)<<1)>>1]|0;if((M&65535)<(O&65535))O=M;else break}if(bb<<16>>16==L<<16>>16)cb=O;else{M=L;while(1){U=d[q+((M&65535)<<1)>>1]|0;if((U&65535)<(M&65535))M=U;else break}U=(O&65535)>(M&65535)?M:O;S=L;do{T=q+((S&65535)<<1)|0;Aa=S;S=d[T>>1]|0;d[T>>1]=U}while((S&65535)<(Aa&65535));cb=U}U=bb;do{S=q+((U&65535)<<1)|0;L=U;U=d[S>>1]|0;d[S>>1]=cb}while((U&65535)<(L&65535));d[B+(F<<1)>>1]=cb;K=G;break a}if(!(b[z+H>>0]|0)){U=d[w+(N<<1)>>1]|0;L=d[B+(P<<1)>>1]|0;S=U;while(1){O=d[q+((S&65535)<<1)>>1]|0;if((O&65535)<(S&65535))S=O;else break}if(U<<16>>16==L<<16>>16)db=S;else{O=L;while(1){M=d[q+((O&65535)<<1)>>1]|0;if((M&65535)<(O&65535))O=M;else break}M=(S&65535)>(O&65535)?O:S;Aa=L;do{T=q+((Aa&65535)<<1)|0;Fa=Aa;Aa=d[T>>1]|0;d[T>>1]=M}while((Aa&65535)<(Fa&65535));db=M}M=U;do{Aa=q+((M&65535)<<1)|0;L=M;M=d[Aa>>1]|0;d[Aa>>1]=db}while((M&65535)<(L&65535));d[B+(F<<1)>>1]=db;K=G;break a}do if(E){if(!(b[A+_>>0]|0))break;if(b[A+F>>0]|0){M=d[w+(N<<1)>>1]|0;U=d[B+(P<<1)>>1]|0;L=M;while(1){Aa=d[q+((L&65535)<<1)>>1]|0;if((Aa&65535)<(L&65535))L=Aa;else break}if(M<<16>>16==U<<16>>16)eb=L;else{Aa=U;while(1){S=d[q+((Aa&65535)<<1)>>1]|0;if((S&65535)<(Aa&65535))Aa=S;else break}S=(L&65535)>(Aa&65535)?Aa:L;O=U;do{Fa=q+((O&65535)<<1)|0;T=O;O=d[Fa>>1]|0;d[Fa>>1]=S}while((O&65535)<(T&65535));eb=S}S=M;do{O=q+((S&65535)<<1)|0;U=S;S=d[O>>1]|0;d[O>>1]=eb}while((S&65535)<(U&65535));d[B+(F<<1)>>1]=eb;K=G;break a}S=d[w+(P<<1)>>1]|0;M=d[w+(N<<1)>>1]|0;U=S;while(1){O=d[q+((U&65535)<<1)>>1]|0;if((O&65535)<(U&65535))U=O;else break}if(S<<16>>16==M<<16>>16)fb=U;else{O=M;while(1){L=d[q+((O&65535)<<1)>>1]|0;if((L&65535)<(O&65535))O=L;else break}L=(U&65535)>(O&65535)?O:U;Aa=M;do{T=q+((Aa&65535)<<1)|0;Fa=Aa;Aa=d[T>>1]|0;d[T>>1]=L}while((Aa&65535)<(Fa&65535));fb=L}L=S;do{Aa=q+((L&65535)<<1)|0;M=L;L=d[Aa>>1]|0;d[Aa>>1]=fb}while((L&65535)<(M&65535));L=d[B+(P<<1)>>1]|0;S=fb;while(1){M=d[q+((S&65535)<<1)>>1]|0;if((M&65535)<(S&65535))S=M;else break}if(fb<<16>>16==L<<16>>16)gb=S;else{M=L;while(1){Aa=d[q+((M&65535)<<1)>>1]|0;if((Aa&65535)<(M&65535))M=Aa;else break}Aa=(S&65535)>(M&65535)?M:S;U=L;do{O=q+((U&65535)<<1)|0;Fa=U;U=d[O>>1]|0;d[O>>1]=Aa}while((U&65535)<(Fa&65535));gb=Aa}Aa=fb;do{U=q+((Aa&65535)<<1)|0;L=Aa;Aa=d[U>>1]|0;d[U>>1]=gb}while((Aa&65535)<(L&65535));d[B+(F<<1)>>1]=gb;K=G;break a}while(0);Aa=d[w+(P<<1)>>1]|0;L=d[w+(N<<1)>>1]|0;U=Aa;while(1){S=d[q+((U&65535)<<1)>>1]|0;if((S&65535)<(U&65535))U=S;else break}if(Aa<<16>>16==L<<16>>16)hb=U;else{S=L;while(1){M=d[q+((S&65535)<<1)>>1]|0;if((M&65535)<(S&65535))S=M;else break}M=(U&65535)>(S&65535)?S:U;Fa=L;do{O=q+((Fa&65535)<<1)|0;T=Fa;Fa=d[O>>1]|0;d[O>>1]=M}while((Fa&65535)<(T&65535));hb=M}M=Aa;do{Fa=q+((M&65535)<<1)|0;L=M;M=d[Fa>>1]|0;d[Fa>>1]=hb}while((M&65535)<(L&65535));M=d[B+(P<<1)>>1]|0;Aa=hb;while(1){L=d[q+((Aa&65535)<<1)>>1]|0;if((L&65535)<(Aa&65535))Aa=L;else break}if(hb<<16>>16==M<<16>>16)ib=Aa;else{P=M;while(1){L=d[q+((P&65535)<<1)>>1]|0;if((L&65535)<(P&65535))P=L;else break}L=(Aa&65535)>(P&65535)?P:Aa;Fa=M;do{U=q+((Fa&65535)<<1)|0;S=Fa;Fa=d[U>>1]|0;d[U>>1]=L}while((Fa&65535)<(S&65535));ib=L}L=hb;do{Fa=q+((L&65535)<<1)|0;M=L;L=d[Fa>>1]|0;d[Fa>>1]=ib}while((L&65535)<(M&65535));d[B+(F<<1)>>1]=ib;K=G;break a}while(0);do if(D){if(b[z+H>>0]|0){N=F+-2|0;do if((F|0)>1){if(!(b[x+N>>0]|0))break;d[B+(F<<1)>>1]=d[B+(N<<1)>>1]|0;K=G;break a}while(0);_=d[w+(N<<1)>>1]|0;R=d[B+(N<<1)>>1]|0;L=_;while(1){M=d[q+((L&65535)<<1)>>1]|0;if((M&65535)<(L&65535))L=M;else break}if(_<<16>>16==R<<16>>16)jb=L;else{N=R;while(1){M=d[q+((N&65535)<<1)>>1]|0;if((M&65535)<(N&65535))N=M;else break}M=(L&65535)>(N&65535)?N:L;Fa=R;do{Aa=q+((Fa&65535)<<1)|0;P=Fa;Fa=d[Aa>>1]|0;d[Aa>>1]=M}while((Fa&65535)<(P&65535));jb=M}M=_;do{Fa=q+((M&65535)<<1)|0;R=M;M=d[Fa>>1]|0;d[Fa>>1]=jb}while((M&65535)<(R&65535));d[B+(F<<1)>>1]=jb;K=G;break a}if(!(b[z+F>>0]|0))break;M=F+-2|0;do if((F|0)>1){if(!(b[x+M>>0]|0))break;if(!(b[z+M>>0]|0)){_=d[w+(F<<1)>>1]|0;R=d[B+(M<<1)>>1]|0;Fa=_;while(1){L=d[q+((Fa&65535)<<1)>>1]|0;if((L&65535)<(Fa&65535))Fa=L;else break}if(_<<16>>16==R<<16>>16)kb=Fa;else{L=R;while(1){N=d[q+((L&65535)<<1)>>1]|0;if((N&65535)<(L&65535))L=N;else break}N=(Fa&65535)>(L&65535)?L:Fa;P=R;do{Aa=q+((P&65535)<<1)|0;S=P;P=d[Aa>>1]|0;d[Aa>>1]=N}while((P&65535)<(S&65535));kb=N}N=_;do{P=q+((N&65535)<<1)|0;R=N;N=d[P>>1]|0;d[P>>1]=kb}while((N&65535)<(R&65535));d[B+(F<<1)>>1]=kb;K=G;break a}do if(E){if(!(b[A+H>>0]|0))break;d[B+(F<<1)>>1]=d[B+(M<<1)>>1]|0;K=G;break a}while(0);N=d[w+(F<<1)>>1]|0;_=d[B+(M<<1)>>1]|0;R=N;while(1){P=d[q+((R&65535)<<1)>>1]|0;if((P&65535)<(R&65535))R=P;else break}if(N<<16>>16==_<<16>>16)lb=R;else{P=_;while(1){Fa=d[q+((P&65535)<<1)>>1]|0;if((Fa&65535)<(P&65535))P=Fa;else break}Fa=(R&65535)>(P&65535)?P:R;L=_;do{S=q+((L&65535)<<1)|0;Aa=L;L=d[S>>1]|0;d[S>>1]=Fa}while((L&65535)<(Aa&65535));lb=Fa}Fa=N;do{L=q+((Fa&65535)<<1)|0;_=Fa;Fa=d[L>>1]|0;d[L>>1]=lb}while((Fa&65535)<(_&65535));d[B+(F<<1)>>1]=lb;K=G;break a}while(0);Fa=d[w+(F<<1)>>1]|0;N=d[B+(M<<1)>>1]|0;_=Fa;while(1){L=d[q+((_&65535)<<1)>>1]|0;if((L&65535)<(_&65535))_=L;else break}if(Fa<<16>>16==N<<16>>16)mb=_;else{M=N;while(1){L=d[q+((M&65535)<<1)>>1]|0;if((L&65535)<(M&65535))M=L;else break}L=(_&65535)>(M&65535)?M:_;R=N;do{P=q+((R&65535)<<1)|0;Aa=R;R=d[P>>1]|0;d[P>>1]=L}while((R&65535)<(Aa&65535));mb=L}L=Fa;do{R=q+((L&65535)<<1)|0;N=L;L=d[R>>1]|0;d[R>>1]=mb}while((L&65535)<(N&65535));d[B+(F<<1)>>1]=mb;K=G;break a}while(0);d[B+(F<<1)>>1]=d[B+(F+-2<<1)>>1]|0;K=G;break}do if(D){if(b[z+H>>0]|0){L=F+-2|0;do if((F|0)>1){if(!(b[x+L>>0]|0))break;d[B+(F<<1)>>1]=d[B+(L<<1)>>1]|0;K=G;break a}while(0);Fa=d[w+(L<<1)>>1]|0;N=d[B+(L<<1)>>1]|0;R=Fa;while(1){_=d[q+((R&65535)<<1)>>1]|0;if((_&65535)<(R&65535))R=_;else break}if(Fa<<16>>16==N<<16>>16)nb=R;else{L=N;while(1){_=d[q+((L&65535)<<1)>>1]|0;if((_&65535)<(L&65535))L=_;else break}_=(R&65535)>(L&65535)?L:R;M=N;do{Aa=q+((M&65535)<<1)|0;P=M;M=d[Aa>>1]|0;d[Aa>>1]=_}while((M&65535)<(P&65535));nb=_}_=Fa;do{M=q+((_&65535)<<1)|0;N=_;_=d[M>>1]|0;d[M>>1]=nb}while((_&65535)<(N&65535));d[B+(F<<1)>>1]=nb;K=G;break a}if(!(b[z+F>>0]|0))break;_=F+-2|0;do if((F|0)>1){if(!(b[x+_>>0]|0))break;if(!(b[z+_>>0]|0)){Fa=d[w+(F<<1)>>1]|0;N=d[B+(_<<1)>>1]|0;M=Fa;while(1){R=d[q+((M&65535)<<1)>>1]|0;if((R&65535)<(M&65535))M=R;else break}if(Fa<<16>>16==N<<16>>16)ob=M;else{R=N;while(1){L=d[q+((R&65535)<<1)>>1]|0;if((L&65535)<(R&65535))R=L;else break}L=(M&65535)>(R&65535)?R:M;P=N;do{Aa=q+((P&65535)<<1)|0;S=P;P=d[Aa>>1]|0;d[Aa>>1]=L}while((P&65535)<(S&65535));ob=L}L=Fa;do{P=q+((L&65535)<<1)|0;N=L;L=d[P>>1]|0;d[P>>1]=ob}while((L&65535)<(N&65535));d[B+(F<<1)>>1]=ob;K=G;break a}do if(E){if(!(b[A+H>>0]|0))break;d[B+(F<<1)>>1]=d[B+(_<<1)>>1]|0;K=G;break a}while(0);L=d[w+(F<<1)>>1]|0;Fa=d[B+(_<<1)>>1]|0;N=L;while(1){P=d[q+((N&65535)<<1)>>1]|0;if((P&65535)<(N&65535))N=P;else break}if(L<<16>>16==Fa<<16>>16)pb=N;else{P=Fa;while(1){M=d[q+((P&65535)<<1)>>1]|0;if((M&65535)<(P&65535))P=M;else break}M=(N&65535)>(P&65535)?P:N;R=Fa;do{S=q+((R&65535)<<1)|0;Aa=R;R=d[S>>1]|0;d[S>>1]=M}while((R&65535)<(Aa&65535));pb=M}M=L;do{R=q+((M&65535)<<1)|0;Fa=M;M=d[R>>1]|0;d[R>>1]=pb}while((M&65535)<(Fa&65535));d[B+(F<<1)>>1]=pb;K=G;break a}while(0);M=d[w+(F<<1)>>1]|0;L=d[B+(_<<1)>>1]|0;Fa=M;while(1){R=d[q+((Fa&65535)<<1)>>1]|0;if((R&65535)<(Fa&65535))Fa=R;else break}if(M<<16>>16==L<<16>>16)qb=Fa;else{_=L;while(1){R=d[q+((_&65535)<<1)>>1]|0;if((R&65535)<(_&65535))_=R;else break}R=(Fa&65535)>(_&65535)?_:Fa;N=L;do{P=q+((N&65535)<<1)|0;Aa=N;N=d[P>>1]|0;d[P>>1]=R}while((N&65535)<(Aa&65535));qb=R}R=M;do{N=q+((R&65535)<<1)|0;L=R;R=d[N>>1]|0;d[N>>1]=qb}while((R&65535)<(L&65535));d[B+(F<<1)>>1]=qb;K=G;break a}while(0);d[B+(F<<1)>>1]=d[B+(F+-2<<1)>>1]|0;K=G;break}}R=F|1;M=(R|0)<(k|0);if(D&M?b[z+R>>0]|0:0){if(b[z+F>>0]|0){d[B+(F<<1)>>1]=d[w+(F<<1)>>1]|0;K=G;break}if(J?b[z+H>>0]|0:0){do if(E){if(!(b[A+F>>0]|0))break;d[B+(F<<1)>>1]=d[w+(F<<1)>>1]|0;K=G;break a}while(0);L=d[w+(F+-2<<1)>>1]|0;N=d[w+(F<<1)>>1]|0;Fa=L;while(1){_=d[q+((Fa&65535)<<1)>>1]|0;if((_&65535)<(Fa&65535))Fa=_;else break}if(L<<16>>16==N<<16>>16)rb=Fa;else{_=N;while(1){Aa=d[q+((_&65535)<<1)>>1]|0;if((Aa&65535)<(_&65535))_=Aa;else break}Aa=(Fa&65535)>(_&65535)?_:Fa;P=N;do{S=q+((P&65535)<<1)|0;U=P;P=d[S>>1]|0;d[S>>1]=Aa}while((P&65535)<(U&65535));rb=Aa}Aa=L;do{P=q+((Aa&65535)<<1)|0;N=Aa;Aa=d[P>>1]|0;d[P>>1]=rb}while((Aa&65535)<(N&65535));d[B+(F<<1)>>1]=rb;K=G;break}d[B+(F<<1)>>1]=d[w+(F<<1)>>1]|0;K=G;break}if(M?b[x+R>>0]|0:0){Aa=F+2|0;if(D&(Aa|0)<(k|0)?b[z+Aa>>0]|0:0){if(b[z+F>>0]|0){do if(E){if(!(b[A+R>>0]|0))break;d[B+(F<<1)>>1]=d[w+(Aa<<1)>>1]|0;K=G;break a}while(0);M=d[w+(F<<1)>>1]|0;L=d[w+(Aa<<1)>>1]|0;N=M;while(1){P=d[q+((N&65535)<<1)>>1]|0;if((P&65535)<(N&65535))N=P;else break}if(M<<16>>16==L<<16>>16)sb=N;else{P=L;while(1){Fa=d[q+((P&65535)<<1)>>1]|0;if((Fa&65535)<(P&65535))P=Fa;else break}Fa=(N&65535)>(P&65535)?P:N;_=L;do{U=q+((_&65535)<<1)|0;S=_;_=d[U>>1]|0;d[U>>1]=Fa}while((_&65535)<(S&65535));sb=Fa}Fa=M;do{_=q+((Fa&65535)<<1)|0;L=Fa;Fa=d[_>>1]|0;d[_>>1]=sb}while((Fa&65535)<(L&65535));d[B+(F<<1)>>1]=sb;K=G;break}do if(J){if(!(b[z+H>>0]|0))break;do if(E){if(!(b[A+R>>0]|0))break;if(b[A+F>>0]|0){d[B+(F<<1)>>1]=d[w+(Aa<<1)>>1]|0;K=G;break a}Fa=d[w+(F+-2<<1)>>1]|0;M=d[w+(Aa<<1)>>1]|0;L=Fa;while(1){_=d[q+((L&65535)<<1)>>1]|0;if((_&65535)<(L&65535))L=_;else break}if(Fa<<16>>16==M<<16>>16)tb=L;else{_=M;while(1){N=d[q+((_&65535)<<1)>>1]|0;if((N&65535)<(_&65535))_=N;else break}N=(L&65535)>(_&65535)?_:L;P=M;do{S=q+((P&65535)<<1)|0;U=P;P=d[S>>1]|0;d[S>>1]=N}while((P&65535)<(U&65535));tb=N}N=Fa;do{P=q+((N&65535)<<1)|0;M=N;N=d[P>>1]|0;d[P>>1]=tb}while((N&65535)<(M&65535));d[B+(F<<1)>>1]=tb;K=G;break a}while(0);N=d[w+(F+-2<<1)>>1]|0;Fa=d[w+(Aa<<1)>>1]|0;M=N;while(1){P=d[q+((M&65535)<<1)>>1]|0;if((P&65535)<(M&65535))M=P;else break}if(N<<16>>16==Fa<<16>>16)ub=M;else{P=Fa;while(1){L=d[q+((P&65535)<<1)>>1]|0;if((L&65535)<(P&65535))P=L;else break}L=(M&65535)>(P&65535)?P:M;_=Fa;do{U=q+((_&65535)<<1)|0;S=_;_=d[U>>1]|0;d[U>>1]=L}while((_&65535)<(S&65535));ub=L}L=N;do{_=q+((L&65535)<<1)|0;Fa=L;L=d[_>>1]|0;d[_>>1]=ub}while((L&65535)<(Fa&65535));d[B+(F<<1)>>1]=ub;K=G;break a}while(0);d[B+(F<<1)>>1]=d[w+(Aa<<1)>>1]|0;K=G;break}do if(D){if(b[z+F>>0]|0){d[B+(F<<1)>>1]=d[w+(F<<1)>>1]|0;K=G;break a}if(!J)break;if(!(b[z+H>>0]|0))break;d[B+(F<<1)>>1]=d[w+(F+-2<<1)>>1]|0;K=G;break a}while(0);d[B+(F<<1)>>1]=G;Aa=G&65535;d[q+(Aa<<1)>>1]=G;K=Aa+1&65535;break}if(D){if(b[z+F>>0]|0){d[B+(F<<1)>>1]=d[w+(F<<1)>>1]|0;K=G;break}if(J?b[z+H>>0]|0:0){d[B+(F<<1)>>1]=d[w+(F+-2<<1)>>1]|0;K=G;break}}d[B+(F<<1)>>1]=G;Aa=G&65535;d[q+(Aa<<1)>>1]=G;K=Aa+1&65535}while(0);F=F+2|0;if((F|0)>=(k|0)){vb=K;break}else G=K}}else vb=t;v=v+2|0;if((v|0)>=(i|0))break;else t=vb}if((vb&65535)>1){t=vb&65535;vb=1;i=1;while(1){v=q+(i<<1)|0;K=j[v>>1]|0;if(i>>>0>K>>>0){d[v>>1]=d[q+(K<<1)>>1]|0;wb=vb}else{d[v>>1]=vb;wb=(vb&65535)+1&65535}i=i+1|0;if((i|0)==(t|0)){xb=wb;break}else vb=wb}}else xb=1}else xb=1;Cha(h,xb&65535);wb=f[l>>2]|0;vb=f[r>>2]|0;t=(vb&1|0)!=0;i=(wb|0)>0;b:do if(!(wb&1)){if(!t){if(!i)break;v=c+16|0;K=c+44|0;k=e+16|0;ub=e+44|0;tb=h+20|0;sb=h+120|0;rb=h+48|0;qb=0;pb=vb;ob=wb;while(1){nb=f[f[K>>2]>>2]|0;mb=(f[v>>2]|0)+(X(nb,qb)|0)|0;lb=mb+nb|0;nb=f[f[ub>>2]>>2]|0;kb=(f[k>>2]|0)+(X(nb,qb)|0)|0;jb=kb+nb|0;if((pb|0)>0){nb=((qb|0)<0)<<31>>31;ib=qb|1;hb=((ib|0)<0)<<31>>31;gb=0;do{fb=kb+(gb<<1)|0;eb=d[fb>>1]|0;do if(eb<<16>>16){db=d[q+((eb&65535)<<1)>>1]|0;if(!(b[mb+gb>>0]|0)){d[fb>>1]=0;cb=f[tb>>2]|0;bb=f[cb>>2]|0;f[cb>>2]=(bb|0)>(gb|0)?gb:bb;bb=cb+8|0;ab=f[bb>>2]|0;f[bb>>2]=(ab|0)<(gb|0)?gb:ab;ab=cb+4|0;bb=f[ab>>2]|0;f[ab>>2]=(bb|0)>(qb|0)?qb:bb;bb=cb+12|0;ab=f[bb>>2]|0;f[bb>>2]=(ab|0)<(qb|0)?qb:ab;ab=cb+16|0;f[ab>>2]=(f[ab>>2]|0)+1;ab=f[sb>>2]|0;bb=ab;$a=qVa(f[bb>>2]|0,f[bb+4>>2]|0,gb|0,((gb|0)<0)<<31>>31|0)|0;bb=ab;f[bb>>2]=$a;f[bb+4>>2]=I;yb=ab+8|0;zb=cb;Ab=ab}else{d[fb>>1]=db;ab=db&65535;cb=f[tb>>2]|0;bb=cb+(X(f[f[rb>>2]>>2]|0,ab)|0)|0;$a=f[bb>>2]|0;f[bb>>2]=($a|0)>(gb|0)?gb:$a;$a=bb+8|0;_a=f[$a>>2]|0;f[$a>>2]=(_a|0)<(gb|0)?gb:_a;_a=bb+4|0;$a=f[_a>>2]|0;f[_a>>2]=($a|0)>(qb|0)?qb:$a;$a=bb+12|0;_a=f[$a>>2]|0;f[$a>>2]=(_a|0)<(qb|0)?qb:_a;_a=bb+16|0;f[_a>>2]=(f[_a>>2]|0)+1;_a=f[sb>>2]|0;bb=_a+(ab<<4)|0;$a=bb;Za=qVa(f[$a>>2]|0,f[$a+4>>2]|0,gb|0,((gb|0)<0)<<31>>31|0)|0;$a=bb;f[$a>>2]=Za;f[$a+4>>2]=I;yb=_a+(ab<<4)+8|0;zb=cb;Ab=_a}_a=yb;cb=qVa(f[_a>>2]|0,f[_a+4>>2]|0,qb|0,nb|0)|0;_a=yb;f[_a>>2]=cb;f[_a+4>>2]=I;_a=gb|1;cb=kb+(_a<<1)|0;if(!(b[mb+_a>>0]|0)){d[cb>>1]=0;Bb=0;Cb=zb}else{d[cb>>1]=db;cb=db&65535;Bb=cb;Cb=zb+(X(f[f[rb>>2]>>2]|0,cb)|0)|0}cb=f[Cb>>2]|0;f[Cb>>2]=(cb|0)>(_a|0)?_a:cb;cb=Cb+8|0;ab=f[cb>>2]|0;f[cb>>2]=(ab|0)<(_a|0)?_a:ab;ab=Cb+4|0;cb=f[ab>>2]|0;f[ab>>2]=(cb|0)>(qb|0)?qb:cb;cb=Cb+12|0;ab=f[cb>>2]|0;f[cb>>2]=(ab|0)<(qb|0)?qb:ab;ab=Cb+16|0;f[ab>>2]=(f[ab>>2]|0)+1;ab=Ab+(Bb<<4)|0;cb=ab;$a=qVa(f[cb>>2]|0,f[cb+4>>2]|0,_a|0,((_a|0)<0)<<31>>31|0)|0;cb=ab;f[cb>>2]=$a;f[cb+4>>2]=I;cb=Ab+(Bb<<4)+8|0;$a=cb;ab=qVa(f[$a>>2]|0,f[$a+4>>2]|0,qb|0,nb|0)|0;$a=cb;f[$a>>2]=ab;f[$a+4>>2]=I;$a=jb+(gb<<1)|0;if(!(b[lb+gb>>0]|0)){d[$a>>1]=0;Db=0;Eb=zb}else{d[$a>>1]=db;$a=db&65535;Db=$a;Eb=zb+(X(f[f[rb>>2]>>2]|0,$a)|0)|0}$a=f[Eb>>2]|0;f[Eb>>2]=($a|0)>(gb|0)?gb:$a;$a=Eb+8|0;ab=f[$a>>2]|0;f[$a>>2]=(ab|0)<(gb|0)?gb:ab;ab=Eb+4|0;$a=f[ab>>2]|0;f[ab>>2]=($a|0)>(ib|0)?ib:$a;$a=Eb+12|0;ab=f[$a>>2]|0;f[$a>>2]=(ab|0)<(ib|0)?ib:ab;ab=Eb+16|0;f[ab>>2]=(f[ab>>2]|0)+1;ab=Ab+(Db<<4)|0;$a=ab;cb=qVa(f[$a>>2]|0,f[$a+4>>2]|0,gb|0,((gb|0)<0)<<31>>31|0)|0;$a=ab;f[$a>>2]=cb;f[$a+4>>2]=I;$a=Ab+(Db<<4)+8|0;cb=$a;ab=qVa(f[cb>>2]|0,f[cb+4>>2]|0,ib|0,hb|0)|0;cb=$a;f[cb>>2]=ab;f[cb+4>>2]=I;cb=jb+(_a<<1)|0;if(!(b[lb+_a>>0]|0)){d[cb>>1]=0;ab=f[zb>>2]|0;f[zb>>2]=(ab|0)>(_a|0)?_a:ab;ab=zb+8|0;$a=f[ab>>2]|0;f[ab>>2]=($a|0)<(_a|0)?_a:$a;$a=zb+4|0;ab=f[$a>>2]|0;f[$a>>2]=(ab|0)>(ib|0)?ib:ab;ab=zb+12|0;$a=f[ab>>2]|0;f[ab>>2]=($a|0)<(ib|0)?ib:$a;$a=zb+16|0;f[$a>>2]=(f[$a>>2]|0)+1;$a=Ab;ab=qVa(f[$a>>2]|0,f[$a+4>>2]|0,_a|0,((_a|0)<0)<<31>>31|0)|0;$a=Ab;f[$a>>2]=ab;f[$a+4>>2]=I;Fb=Ab+8|0;break}else{d[cb>>1]=db;cb=db&65535;db=zb+(X(f[f[rb>>2]>>2]|0,cb)|0)|0;$a=f[db>>2]|0;f[db>>2]=($a|0)>(_a|0)?_a:$a;$a=db+8|0;ab=f[$a>>2]|0;f[$a>>2]=(ab|0)<(_a|0)?_a:ab;ab=db+4|0;$a=f[ab>>2]|0;f[ab>>2]=($a|0)>(ib|0)?ib:$a;$a=db+12|0;ab=f[$a>>2]|0;f[$a>>2]=(ab|0)<(ib|0)?ib:ab;ab=db+16|0;f[ab>>2]=(f[ab>>2]|0)+1;ab=Ab+(cb<<4)|0;db=ab;$a=qVa(f[db>>2]|0,f[db+4>>2]|0,_a|0,((_a|0)<0)<<31>>31|0)|0;_a=ab;f[_a>>2]=$a;f[_a+4>>2]=I;Fb=Ab+(cb<<4)+8|0;break}}else{d[fb>>1]=0;cb=gb|1;d[kb+(cb<<1)>>1]=0;d[jb+(gb<<1)>>1]=0;d[jb+(cb<<1)>>1]=0;_a=f[tb>>2]|0;$a=f[_a>>2]|0;ab=($a|0)>(gb|0)?gb:$a;$a=_a+8|0;db=f[$a>>2]|0;Za=(db|0)<(gb|0)?gb:db;db=_a+4|0;bb=f[db>>2]|0;Ya=(bb|0)>(qb|0)?qb:bb;bb=_a+12|0;Xa=f[bb>>2]|0;Wa=(Xa|0)<(qb|0)?qb:Xa;Xa=_a+16|0;Va=f[Xa>>2]|0;Ua=f[sb>>2]|0;Ta=((gb|0)<0)<<31>>31;Sa=Ua;Ra=qVa(f[Sa>>2]|0,f[Sa+4>>2]|0,gb|0,Ta|0)|0;Sa=I;Qa=Ua+8|0;Pa=Qa;Oa=qVa(f[Pa>>2]|0,f[Pa+4>>2]|0,qb|0,nb|0)|0;Pa=I;Na=(ab|0)>(cb|0)?cb:ab;ab=((cb|0)<0)<<31>>31;Ma=qVa(Ra|0,Sa|0,cb|0,ab|0)|0;Sa=I;Ra=qVa(Oa|0,Pa|0,qb|0,nb|0)|0;Pa=I;Oa=qVa(Ma|0,Sa|0,gb|0,Ta|0)|0;Ta=I;Sa=qVa(Ra|0,Pa|0,ib|0,hb|0)|0;Pa=Qa;f[Pa>>2]=Sa;f[Pa+4>>2]=I;f[_a>>2]=(Na|0)>(gb|0)?gb:Na;f[$a>>2]=(Za|0)<(cb|0)?cb:Za;f[db>>2]=(Ya|0)>(ib|0)?ib:Ya;f[bb>>2]=(Wa|0)<(ib|0)?ib:Wa;f[Xa>>2]=Va+4;Va=qVa(Oa|0,Ta|0,cb|0,ab|0)|0;ab=Ua;f[ab>>2]=Va;f[ab+4>>2]=I;Fb=Qa}while(0);fb=Fb;eb=qVa(f[fb>>2]|0,f[fb+4>>2]|0,ib|0,hb|0)|0;fb=Fb;f[fb>>2]=eb;f[fb+4>>2]=I;gb=gb+2|0;Gb=f[r>>2]|0}while((gb|0)<(Gb|0));Hb=f[l>>2]|0;Ib=Gb}else{Hb=ob;Ib=pb}qb=qb+2|0;if((qb|0)>=(Hb|0))break b;else{pb=Ib;ob=Hb}}}if(i){ob=h+20|0;pb=h+120|0;qb=h+48|0;sb=f[c+16>>2]|0;tb=f[c+44>>2]|0;rb=f[e+16>>2]|0;k=f[e+44>>2]|0;ub=0;v=vb;K=wb;while(1){gb=f[tb>>2]|0;hb=sb+(X(gb,ub)|0)|0;ib=hb+gb|0;gb=f[k>>2]|0;nb=rb+(X(gb,ub)|0)|0;jb=nb+gb|0;if((v|0)>0){gb=((ub|0)<0)<<31>>31;kb=ub|1;lb=((kb|0)<0)<<31>>31;mb=0;do{fb=nb+(mb<<1)|0;eb=d[fb>>1]|0;do if(!(eb<<16>>16)){d[fb>>1]=0;d[jb+(mb<<1)>>1]=0;H=f[ob>>2]|0;J=f[H>>2]|0;Qa=(J|0)>(mb|0)?mb:J;J=H+8|0;ab=f[J>>2]|0;Va=(ab|0)<(mb|0)?mb:ab;ab=H+4|0;Ua=f[ab>>2]|0;cb=(Ua|0)>(ub|0)?ub:Ua;Ua=H+12|0;Ta=f[Ua>>2]|0;Oa=(Ta|0)<(ub|0)?ub:Ta;Ta=H+16|0;Xa=f[Ta>>2]|0;Wa=f[pb>>2]|0;bb=((mb|0)<0)<<31>>31;Ya=Wa;db=qVa(f[Ya>>2]|0,f[Ya+4>>2]|0,mb|0,bb|0)|0;Ya=I;Za=Wa+8|0;$a=Za;Na=qVa(f[$a>>2]|0,f[$a+4>>2]|0,ub|0,gb|0)|0;$a=I;f[H>>2]=Qa;f[J>>2]=Va;_a=(cb|0)>(kb|0)?kb:cb;f[ab>>2]=_a;cb=(Oa|0)<(kb|0)?kb:Oa;f[Ua>>2]=cb;f[Ta>>2]=Xa+2;Oa=qVa(db|0,Ya|0,mb|0,bb|0)|0;bb=I;Ya=Wa;f[Ya>>2]=Oa;f[Ya+4>>2]=bb;Ya=qVa(Na|0,$a|0,kb|0,lb|0)|0;$a=I;Na=Za;f[Na>>2]=Ya;f[Na+4>>2]=$a;Na=mb|1;if((Na|0)<(f[r>>2]|0)){d[nb+(Na<<1)>>1]=0;d[jb+(Na<<1)>>1]=0;db=((Na|0)<0)<<31>>31;Pa=qVa(Oa|0,bb|0,Na|0,db|0)|0;bb=I;Oa=qVa(Ya|0,$a|0,ub|0,gb|0)|0;$a=I;f[H>>2]=(Qa|0)>(Na|0)?Na:Qa;f[J>>2]=(Va|0)<(Na|0)?Na:Va;f[ab>>2]=(_a|0)>(ub|0)?ub:_a;f[Ua>>2]=cb;f[Ta>>2]=Xa+4;Xa=qVa(Pa|0,bb|0,Na|0,db|0)|0;db=Wa;f[db>>2]=Xa;f[db+4>>2]=I;db=qVa(Oa|0,$a|0,kb|0,lb|0)|0;$a=Za;f[$a>>2]=db;f[$a+4>>2]=I}}else{$a=d[q+((eb&65535)<<1)>>1]|0;if(!(b[hb+mb>>0]|0)){d[fb>>1]=0;db=f[ob>>2]|0;Za=f[db>>2]|0;f[db>>2]=(Za|0)>(mb|0)?mb:Za;Za=db+8|0;Oa=f[Za>>2]|0;f[Za>>2]=(Oa|0)<(mb|0)?mb:Oa;Oa=db+4|0;Za=f[Oa>>2]|0;f[Oa>>2]=(Za|0)>(ub|0)?ub:Za;Za=db+12|0;Oa=f[Za>>2]|0;f[Za>>2]=(Oa|0)<(ub|0)?ub:Oa;Oa=db+16|0;f[Oa>>2]=(f[Oa>>2]|0)+1;Oa=f[pb>>2]|0;Za=Oa;Xa=qVa(f[Za>>2]|0,f[Za+4>>2]|0,mb|0,((mb|0)<0)<<31>>31|0)|0;Za=Oa;f[Za>>2]=Xa;f[Za+4>>2]=I;Jb=Oa+8|0;Kb=db;Lb=Oa}else{d[fb>>1]=$a;Oa=$a&65535;db=f[ob>>2]|0;Za=db+(X(f[f[qb>>2]>>2]|0,Oa)|0)|0;Xa=f[Za>>2]|0;f[Za>>2]=(Xa|0)>(mb|0)?mb:Xa;Xa=Za+8|0;Wa=f[Xa>>2]|0;f[Xa>>2]=(Wa|0)<(mb|0)?mb:Wa;Wa=Za+4|0;Xa=f[Wa>>2]|0;f[Wa>>2]=(Xa|0)>(ub|0)?ub:Xa;Xa=Za+12|0;Wa=f[Xa>>2]|0;f[Xa>>2]=(Wa|0)<(ub|0)?ub:Wa;Wa=Za+16|0;f[Wa>>2]=(f[Wa>>2]|0)+1;Wa=f[pb>>2]|0;Za=Wa+(Oa<<4)|0;Xa=Za;Na=qVa(f[Xa>>2]|0,f[Xa+4>>2]|0,mb|0,((mb|0)<0)<<31>>31|0)|0;Xa=Za;f[Xa>>2]=Na;f[Xa+4>>2]=I;Jb=Wa+(Oa<<4)+8|0;Kb=db;Lb=Wa}Wa=Jb;db=qVa(f[Wa>>2]|0,f[Wa+4>>2]|0,ub|0,gb|0)|0;Wa=Jb;f[Wa>>2]=db;f[Wa+4>>2]=I;Wa=jb+(mb<<1)|0;if(!(b[ib+mb>>0]|0)){d[Wa>>1]=0;Mb=0;Nb=Kb}else{d[Wa>>1]=$a;Wa=$a&65535;Mb=Wa;Nb=Kb+(X(f[f[qb>>2]>>2]|0,Wa)|0)|0}Wa=f[Nb>>2]|0;f[Nb>>2]=(Wa|0)>(mb|0)?mb:Wa;Wa=Nb+8|0;db=f[Wa>>2]|0;f[Wa>>2]=(db|0)<(mb|0)?mb:db;db=Nb+4|0;Wa=f[db>>2]|0;f[db>>2]=(Wa|0)>(kb|0)?kb:Wa;Wa=Nb+12|0;db=f[Wa>>2]|0;f[Wa>>2]=(db|0)<(kb|0)?kb:db;db=Nb+16|0;f[db>>2]=(f[db>>2]|0)+1;db=Lb+(Mb<<4)|0;Wa=db;Oa=qVa(f[Wa>>2]|0,f[Wa+4>>2]|0,mb|0,((mb|0)<0)<<31>>31|0)|0;Wa=db;f[Wa>>2]=Oa;f[Wa+4>>2]=I;Wa=Lb+(Mb<<4)+8|0;Oa=Wa;db=qVa(f[Oa>>2]|0,f[Oa+4>>2]|0,kb|0,lb|0)|0;Oa=Wa;f[Oa>>2]=db;f[Oa+4>>2]=I;Oa=mb|1;if((Oa|0)<(f[r>>2]|0)){db=nb+(Oa<<1)|0;if(!(b[hb+Oa>>0]|0)){d[db>>1]=0;Ob=0;Pb=Kb}else{d[db>>1]=$a;db=$a&65535;Ob=db;Pb=Kb+(X(f[f[qb>>2]>>2]|0,db)|0)|0}db=f[Pb>>2]|0;f[Pb>>2]=(db|0)>(Oa|0)?Oa:db;db=Pb+8|0;Wa=f[db>>2]|0;f[db>>2]=(Wa|0)<(Oa|0)?Oa:Wa;Wa=Pb+4|0;db=f[Wa>>2]|0;f[Wa>>2]=(db|0)>(ub|0)?ub:db;db=Pb+12|0;Wa=f[db>>2]|0;f[db>>2]=(Wa|0)<(ub|0)?ub:Wa;Wa=Pb+16|0;f[Wa>>2]=(f[Wa>>2]|0)+1;Wa=Lb+(Ob<<4)|0;db=Wa;Xa=qVa(f[db>>2]|0,f[db+4>>2]|0,Oa|0,((Oa|0)<0)<<31>>31|0)|0;db=Wa;f[db>>2]=Xa;f[db+4>>2]=I;db=Lb+(Ob<<4)+8|0;Xa=db;Wa=qVa(f[Xa>>2]|0,f[Xa+4>>2]|0,ub|0,gb|0)|0;Xa=db;f[Xa>>2]=Wa;f[Xa+4>>2]=I;Xa=jb+(Oa<<1)|0;if(!(b[ib+Oa>>0]|0)){d[Xa>>1]=0;Wa=f[Kb>>2]|0;f[Kb>>2]=(Wa|0)>(Oa|0)?Oa:Wa;Wa=Kb+8|0;db=f[Wa>>2]|0;f[Wa>>2]=(db|0)<(Oa|0)?Oa:db;db=Kb+4|0;Wa=f[db>>2]|0;f[db>>2]=(Wa|0)>(kb|0)?kb:Wa;Wa=Kb+12|0;db=f[Wa>>2]|0;f[Wa>>2]=(db|0)<(kb|0)?kb:db;db=Kb+16|0;f[db>>2]=(f[db>>2]|0)+1;db=Lb;Wa=qVa(f[db>>2]|0,f[db+4>>2]|0,Oa|0,((Oa|0)<0)<<31>>31|0)|0;db=Lb;f[db>>2]=Wa;f[db+4>>2]=I;db=Lb+8|0;Wa=db;Na=qVa(f[Wa>>2]|0,f[Wa+4>>2]|0,kb|0,lb|0)|0;Wa=db;f[Wa>>2]=Na;f[Wa+4>>2]=I;break}else{d[Xa>>1]=$a;Xa=$a&65535;$a=Kb+(X(f[f[qb>>2]>>2]|0,Xa)|0)|0;Wa=f[$a>>2]|0;f[$a>>2]=(Wa|0)>(Oa|0)?Oa:Wa;Wa=$a+8|0;Na=f[Wa>>2]|0;f[Wa>>2]=(Na|0)<(Oa|0)?Oa:Na;Na=$a+4|0;Wa=f[Na>>2]|0;f[Na>>2]=(Wa|0)>(kb|0)?kb:Wa;Wa=$a+12|0;Na=f[Wa>>2]|0;f[Wa>>2]=(Na|0)<(kb|0)?kb:Na;Na=$a+16|0;f[Na>>2]=(f[Na>>2]|0)+1;Na=Lb+(Xa<<4)|0;$a=Na;Wa=qVa(f[$a>>2]|0,f[$a+4>>2]|0,Oa|0,((Oa|0)<0)<<31>>31|0)|0;Oa=Na;f[Oa>>2]=Wa;f[Oa+4>>2]=I;Oa=Lb+(Xa<<4)+8|0;Xa=Oa;Wa=qVa(f[Xa>>2]|0,f[Xa+4>>2]|0,kb|0,lb|0)|0;Xa=Oa;f[Xa>>2]=Wa;f[Xa+4>>2]=I;break}}}while(0);mb=mb+2|0;Qb=f[r>>2]|0}while((mb|0)<(Qb|0));Rb=f[l>>2]|0;Sb=Qb}else{Rb=K;Sb=v}ub=ub+2|0;if((ub|0)>=(Rb|0))break;else{v=Sb;K=Rb}}}}else{if(!t){if(!i)break;K=h+20|0;v=h+120|0;ub=h+48|0;qb=f[c+16>>2]|0;pb=f[c+44>>2]|0;ob=f[e+16>>2]|0;rb=f[e+44>>2]|0;k=0;sb=vb;tb=wb;while(1){mb=f[pb>>2]|0;lb=qb+(X(mb,k)|0)|0;kb=lb+mb|0;mb=f[rb>>2]|0;ib=ob+(X(mb,k)|0)|0;jb=ib+mb|0;if((sb|0)>0){mb=((k|0)<0)<<31>>31;gb=k|1;hb=((gb|0)<0)<<31>>31;nb=0;do{fb=ib+(nb<<1)|0;eb=d[fb>>1]|0;do if(!(eb<<16>>16)){d[fb>>1]=0;Xa=nb|1;d[ib+(Xa<<1)>>1]=0;Wa=f[K>>2]|0;Oa=f[Wa>>2]|0;Na=(Oa|0)>(nb|0)?nb:Oa;Oa=Wa+8|0;$a=f[Oa>>2]|0;db=($a|0)<(nb|0)?nb:$a;$a=Wa+4|0;Za=f[$a>>2]|0;bb=(Za|0)>(k|0)?k:Za;Za=Wa+12|0;Pa=f[Za>>2]|0;Ta=(Pa|0)<(k|0)?k:Pa;Pa=Wa+16|0;cb=f[Pa>>2]|0;Ua=f[v>>2]|0;_a=((nb|0)<0)<<31>>31;ab=Ua;Va=qVa(f[ab>>2]|0,f[ab+4>>2]|0,nb|0,_a|0)|0;ab=I;J=Ua+8|0;Qa=J;H=qVa(f[Qa>>2]|0,f[Qa+4>>2]|0,k|0,mb|0)|0;Qa=I;Ya=(Na|0)>(Xa|0)?Xa:Na;f[Wa>>2]=Ya;Na=(db|0)<(Xa|0)?Xa:db;f[Oa>>2]=Na;f[$a>>2]=bb;f[Za>>2]=Ta;f[Pa>>2]=cb+2;db=((Xa|0)<0)<<31>>31;Sa=qVa(Va|0,ab|0,Xa|0,db|0)|0;ab=I;Va=Ua;f[Va>>2]=Sa;f[Va+4>>2]=ab;Va=qVa(H|0,Qa|0,k|0,mb|0)|0;Qa=I;H=J;f[H>>2]=Va;f[H+4>>2]=Qa;if((gb|0)<(f[l>>2]|0)){d[jb+(nb<<1)>>1]=0;d[jb+(Xa<<1)>>1]=0;H=qVa(Sa|0,ab|0,nb|0,_a|0)|0;_a=I;ab=qVa(Va|0,Qa|0,gb|0,hb|0)|0;Qa=I;f[Wa>>2]=(Ya|0)>(nb|0)?nb:Ya;f[Oa>>2]=Na;f[$a>>2]=(bb|0)>(gb|0)?gb:bb;f[Za>>2]=(Ta|0)<(gb|0)?gb:Ta;f[Pa>>2]=cb+4;cb=qVa(H|0,_a|0,Xa|0,db|0)|0;db=Ua;f[db>>2]=cb;f[db+4>>2]=I;db=qVa(ab|0,Qa|0,gb|0,hb|0)|0;Qa=J;f[Qa>>2]=db;f[Qa+4>>2]=I}}else{Qa=d[q+((eb&65535)<<1)>>1]|0;if(!(b[lb+nb>>0]|0)){d[fb>>1]=0;db=f[K>>2]|0;J=f[db>>2]|0;f[db>>2]=(J|0)>(nb|0)?nb:J;J=db+8|0;ab=f[J>>2]|0;f[J>>2]=(ab|0)<(nb|0)?nb:ab;ab=db+4|0;J=f[ab>>2]|0;f[ab>>2]=(J|0)>(k|0)?k:J;J=db+12|0;ab=f[J>>2]|0;f[J>>2]=(ab|0)<(k|0)?k:ab;ab=db+16|0;f[ab>>2]=(f[ab>>2]|0)+1;ab=f[v>>2]|0;J=ab;cb=qVa(f[J>>2]|0,f[J+4>>2]|0,nb|0,((nb|0)<0)<<31>>31|0)|0;J=ab;f[J>>2]=cb;f[J+4>>2]=I;Tb=ab+8|0;Ub=db;Vb=ab}else{d[fb>>1]=Qa;ab=Qa&65535;db=f[K>>2]|0;J=db+(X(f[f[ub>>2]>>2]|0,ab)|0)|0;cb=f[J>>2]|0;f[J>>2]=(cb|0)>(nb|0)?nb:cb;cb=J+8|0;Ua=f[cb>>2]|0;f[cb>>2]=(Ua|0)<(nb|0)?nb:Ua;Ua=J+4|0;cb=f[Ua>>2]|0;f[Ua>>2]=(cb|0)>(k|0)?k:cb;cb=J+12|0;Ua=f[cb>>2]|0;f[cb>>2]=(Ua|0)<(k|0)?k:Ua;Ua=J+16|0;f[Ua>>2]=(f[Ua>>2]|0)+1;Ua=f[v>>2]|0;J=Ua+(ab<<4)|0;cb=J;Xa=qVa(f[cb>>2]|0,f[cb+4>>2]|0,nb|0,((nb|0)<0)<<31>>31|0)|0;cb=J;f[cb>>2]=Xa;f[cb+4>>2]=I;Tb=Ua+(ab<<4)+8|0;Ub=db;Vb=Ua}Ua=Tb;db=qVa(f[Ua>>2]|0,f[Ua+4>>2]|0,k|0,mb|0)|0;Ua=Tb;f[Ua>>2]=db;f[Ua+4>>2]=I;Ua=nb|1;db=ib+(Ua<<1)|0;if(!(b[lb+Ua>>0]|0)){d[db>>1]=0;Wb=0;Xb=Ub}else{d[db>>1]=Qa;db=Qa&65535;Wb=db;Xb=Ub+(X(f[f[ub>>2]>>2]|0,db)|0)|0}db=f[Xb>>2]|0;f[Xb>>2]=(db|0)>(Ua|0)?Ua:db;db=Xb+8|0;ab=f[db>>2]|0;f[db>>2]=(ab|0)<(Ua|0)?Ua:ab;ab=Xb+4|0;db=f[ab>>2]|0;f[ab>>2]=(db|0)>(k|0)?k:db;db=Xb+12|0;ab=f[db>>2]|0;f[db>>2]=(ab|0)<(k|0)?k:ab;ab=Xb+16|0;f[ab>>2]=(f[ab>>2]|0)+1;ab=Vb+(Wb<<4)|0;db=ab;cb=qVa(f[db>>2]|0,f[db+4>>2]|0,Ua|0,((Ua|0)<0)<<31>>31|0)|0;db=ab;f[db>>2]=cb;f[db+4>>2]=I;db=Vb+(Wb<<4)+8|0;cb=db;ab=qVa(f[cb>>2]|0,f[cb+4>>2]|0,k|0,mb|0)|0;cb=db;f[cb>>2]=ab;f[cb+4>>2]=I;if((gb|0)<(f[l>>2]|0)){cb=jb+(nb<<1)|0;if(!(b[kb+nb>>0]|0)){d[cb>>1]=0;Yb=0;Zb=Ub}else{d[cb>>1]=Qa;cb=Qa&65535;Yb=cb;Zb=Ub+(X(f[f[ub>>2]>>2]|0,cb)|0)|0}cb=f[Zb>>2]|0;f[Zb>>2]=(cb|0)>(nb|0)?nb:cb;cb=Zb+8|0;ab=f[cb>>2]|0;f[cb>>2]=(ab|0)<(nb|0)?nb:ab;ab=Zb+4|0;cb=f[ab>>2]|0;f[ab>>2]=(cb|0)>(gb|0)?gb:cb;cb=Zb+12|0;ab=f[cb>>2]|0;f[cb>>2]=(ab|0)<(gb|0)?gb:ab;ab=Zb+16|0;f[ab>>2]=(f[ab>>2]|0)+1;ab=Vb+(Yb<<4)|0;cb=ab;db=qVa(f[cb>>2]|0,f[cb+4>>2]|0,nb|0,((nb|0)<0)<<31>>31|0)|0;cb=ab;f[cb>>2]=db;f[cb+4>>2]=I;cb=Vb+(Yb<<4)+8|0;db=cb;ab=qVa(f[db>>2]|0,f[db+4>>2]|0,gb|0,hb|0)|0;db=cb;f[db>>2]=ab;f[db+4>>2]=I;db=jb+(Ua<<1)|0;if(!(b[kb+Ua>>0]|0)){d[db>>1]=0;ab=f[Ub>>2]|0;f[Ub>>2]=(ab|0)>(Ua|0)?Ua:ab;ab=Ub+8|0;cb=f[ab>>2]|0;f[ab>>2]=(cb|0)<(Ua|0)?Ua:cb;cb=Ub+4|0;ab=f[cb>>2]|0;f[cb>>2]=(ab|0)>(gb|0)?gb:ab;ab=Ub+12|0;cb=f[ab>>2]|0;f[ab>>2]=(cb|0)<(gb|0)?gb:cb;cb=Ub+16|0;f[cb>>2]=(f[cb>>2]|0)+1;cb=Vb;ab=qVa(f[cb>>2]|0,f[cb+4>>2]|0,Ua|0,((Ua|0)<0)<<31>>31|0)|0;cb=Vb;f[cb>>2]=ab;f[cb+4>>2]=I;cb=Vb+8|0;ab=cb;Xa=qVa(f[ab>>2]|0,f[ab+4>>2]|0,gb|0,hb|0)|0;ab=cb;f[ab>>2]=Xa;f[ab+4>>2]=I;break}else{d[db>>1]=Qa;db=Qa&65535;Qa=Ub+(X(f[f[ub>>2]>>2]|0,db)|0)|0;ab=f[Qa>>2]|0;f[Qa>>2]=(ab|0)>(Ua|0)?Ua:ab;ab=Qa+8|0;Xa=f[ab>>2]|0;f[ab>>2]=(Xa|0)<(Ua|0)?Ua:Xa;Xa=Qa+4|0;ab=f[Xa>>2]|0;f[Xa>>2]=(ab|0)>(gb|0)?gb:ab;ab=Qa+12|0;Xa=f[ab>>2]|0;f[ab>>2]=(Xa|0)<(gb|0)?gb:Xa;Xa=Qa+16|0;f[Xa>>2]=(f[Xa>>2]|0)+1;Xa=Vb+(db<<4)|0;Qa=Xa;ab=qVa(f[Qa>>2]|0,f[Qa+4>>2]|0,Ua|0,((Ua|0)<0)<<31>>31|0)|0;Ua=Xa;f[Ua>>2]=ab;f[Ua+4>>2]=I;Ua=Vb+(db<<4)+8|0;db=Ua;ab=qVa(f[db>>2]|0,f[db+4>>2]|0,gb|0,hb|0)|0;db=Ua;f[db>>2]=ab;f[db+4>>2]=I;break}}}while(0);nb=nb+2|0;_b=f[r>>2]|0}while((nb|0)<(_b|0));$b=f[l>>2]|0;ac=_b}else{$b=tb;ac=sb}k=k+2|0;if((k|0)>=($b|0))break b;else{sb=ac;tb=$b}}}if(i){tb=h+20|0;sb=h+120|0;k=h+48|0;ub=f[c+16>>2]|0;v=f[c+44>>2]|0;K=f[e+16>>2]|0;ob=f[e+44>>2]|0;rb=0;qb=vb;pb=wb;while(1){nb=f[v>>2]|0;hb=ub+(X(nb,rb)|0)|0;gb=hb+nb|0;nb=f[ob>>2]|0;kb=K+(X(nb,rb)|0)|0;jb=kb+nb|0;if((qb|0)>0){nb=((rb|0)<0)<<31>>31;mb=rb|1;lb=((mb|0)<0)<<31>>31;ib=0;do{fb=kb+(ib<<1)|0;eb=d[fb>>1]|0;do if(!(eb<<16>>16)){d[fb>>1]=0;db=f[tb>>2]|0;ab=f[db>>2]|0;Ua=(ab|0)>(ib|0)?ib:ab;f[db>>2]=Ua;ab=db+8|0;Xa=f[ab>>2]|0;Qa=(Xa|0)<(ib|0)?ib:Xa;f[ab>>2]=Qa;Xa=db+4|0;cb=f[Xa>>2]|0;J=(cb|0)>(rb|0)?rb:cb;f[Xa>>2]=J;cb=db+12|0;_a=f[cb>>2]|0;H=(_a|0)<(rb|0)?rb:_a;f[cb>>2]=H;_a=db+16|0;Pa=f[_a>>2]|0;f[_a>>2]=Pa+1;Ta=f[sb>>2]|0;Za=((ib|0)<0)<<31>>31;bb=Ta;$a=qVa(f[bb>>2]|0,f[bb+4>>2]|0,ib|0,Za|0)|0;bb=I;Na=Ta;f[Na>>2]=$a;f[Na+4>>2]=bb;Na=Ta+8|0;Oa=Na;Ya=qVa(f[Oa>>2]|0,f[Oa+4>>2]|0,rb|0,nb|0)|0;Oa=I;Wa=Na;f[Wa>>2]=Ya;f[Wa+4>>2]=Oa;Wa=ib|1;if((Wa|0)<(f[r>>2]|0)){d[kb+(Wa<<1)>>1]=0;Va=(Ua|0)>(Wa|0)?Wa:Ua;f[db>>2]=Va;Sa=(Qa|0)<(Wa|0)?Wa:Qa;f[ab>>2]=Sa;f[Xa>>2]=J;f[cb>>2]=H;f[_a>>2]=Pa+2;Ra=((Wa|0)<0)<<31>>31;Ma=qVa($a|0,bb|0,Wa|0,Ra|0)|0;La=I;Ka=Ta;f[Ka>>2]=Ma;f[Ka+4>>2]=La;Ka=qVa(Ya|0,Oa|0,rb|0,nb|0)|0;Ja=I;Ia=Na;f[Ia>>2]=Ka;f[Ia+4>>2]=Ja;if((mb|0)>=(f[l>>2]|0))break;d[jb+(ib<<1)>>1]=0;d[jb+(Wa<<1)>>1]=0;Ia=qVa(Ma|0,La|0,ib|0,Za|0)|0;La=I;Ma=qVa(Ka|0,Ja|0,mb|0,lb|0)|0;Ja=I;f[db>>2]=(Va|0)>(ib|0)?ib:Va;f[ab>>2]=Sa;f[Xa>>2]=(J|0)>(mb|0)?mb:J;f[cb>>2]=(H|0)<(mb|0)?mb:H;f[_a>>2]=Pa+4;Sa=qVa(Ia|0,La|0,Wa|0,Ra|0)|0;Ra=Ta;f[Ra>>2]=Sa;f[Ra+4>>2]=I;Ra=qVa(Ma|0,Ja|0,mb|0,lb|0)|0;Ja=Na;f[Ja>>2]=Ra;f[Ja+4>>2]=I;break}else{if((mb|0)>=(f[l>>2]|0))break;d[jb+(ib<<1)>>1]=0;f[db>>2]=Ua;f[ab>>2]=Qa;f[Xa>>2]=(J|0)>(mb|0)?mb:J;f[cb>>2]=(H|0)<(mb|0)?mb:H;f[_a>>2]=Pa+2;Pa=qVa($a|0,bb|0,ib|0,Za|0)|0;Za=Ta;f[Za>>2]=Pa;f[Za+4>>2]=I;Za=qVa(Ya|0,Oa|0,mb|0,lb|0)|0;Oa=Na;f[Oa>>2]=Za;f[Oa+4>>2]=I;break}}else{Oa=d[q+((eb&65535)<<1)>>1]|0;if(!(b[hb+ib>>0]|0)){d[fb>>1]=0;Za=f[tb>>2]|0;Na=f[Za>>2]|0;f[Za>>2]=(Na|0)>(ib|0)?ib:Na;Na=Za+8|0;Ya=f[Na>>2]|0;f[Na>>2]=(Ya|0)<(ib|0)?ib:Ya;Ya=Za+4|0;Na=f[Ya>>2]|0;f[Ya>>2]=(Na|0)>(rb|0)?rb:Na;Na=Za+12|0;Ya=f[Na>>2]|0;f[Na>>2]=(Ya|0)<(rb|0)?rb:Ya;Ya=Za+16|0;f[Ya>>2]=(f[Ya>>2]|0)+1;Ya=f[sb>>2]|0;Na=Ya;Pa=qVa(f[Na>>2]|0,f[Na+4>>2]|0,ib|0,((ib|0)<0)<<31>>31|0)|0;Na=Ya;f[Na>>2]=Pa;f[Na+4>>2]=I;bc=Ya+8|0;cc=Za;dc=Ya}else{d[fb>>1]=Oa;Ya=Oa&65535;Za=f[tb>>2]|0;Na=Za+(X(f[f[k>>2]>>2]|0,Ya)|0)|0;Pa=f[Na>>2]|0;f[Na>>2]=(Pa|0)>(ib|0)?ib:Pa;Pa=Na+8|0;Ta=f[Pa>>2]|0;f[Pa>>2]=(Ta|0)<(ib|0)?ib:Ta;Ta=Na+4|0;Pa=f[Ta>>2]|0;f[Ta>>2]=(Pa|0)>(rb|0)?rb:Pa;Pa=Na+12|0;Ta=f[Pa>>2]|0;f[Pa>>2]=(Ta|0)<(rb|0)?rb:Ta;Ta=Na+16|0;f[Ta>>2]=(f[Ta>>2]|0)+1;Ta=f[sb>>2]|0;Na=Ta+(Ya<<4)|0;Pa=Na;bb=qVa(f[Pa>>2]|0,f[Pa+4>>2]|0,ib|0,((ib|0)<0)<<31>>31|0)|0;Pa=Na;f[Pa>>2]=bb;f[Pa+4>>2]=I;bc=Ta+(Ya<<4)+8|0;cc=Za;dc=Ta}Ta=bc;Za=qVa(f[Ta>>2]|0,f[Ta+4>>2]|0,rb|0,nb|0)|0;Ta=bc;f[Ta>>2]=Za;f[Ta+4>>2]=I;Ta=ib|1;if((Ta|0)>=(f[r>>2]|0)){if((mb|0)>=(f[l>>2]|0))break;Za=jb+(ib<<1)|0;if(!(b[gb+ib>>0]|0)){d[Za>>1]=0;Ya=f[cc>>2]|0;f[cc>>2]=(Ya|0)>(ib|0)?ib:Ya;Ya=cc+8|0;Pa=f[Ya>>2]|0;f[Ya>>2]=(Pa|0)<(ib|0)?ib:Pa;Pa=cc+4|0;Ya=f[Pa>>2]|0;f[Pa>>2]=(Ya|0)>(mb|0)?mb:Ya;Ya=cc+12|0;Pa=f[Ya>>2]|0;f[Ya>>2]=(Pa|0)<(mb|0)?mb:Pa;Pa=cc+16|0;f[Pa>>2]=(f[Pa>>2]|0)+1;Pa=dc;Ya=qVa(f[Pa>>2]|0,f[Pa+4>>2]|0,ib|0,((ib|0)<0)<<31>>31|0)|0;Pa=dc;f[Pa>>2]=Ya;f[Pa+4>>2]=I;Pa=dc+8|0;Ya=Pa;bb=qVa(f[Ya>>2]|0,f[Ya+4>>2]|0,mb|0,lb|0)|0;Ya=Pa;f[Ya>>2]=bb;f[Ya+4>>2]=I;break}else{d[Za>>1]=Oa;Za=Oa&65535;Ya=cc+(X(f[f[k>>2]>>2]|0,Za)|0)|0;bb=f[Ya>>2]|0;f[Ya>>2]=(bb|0)>(ib|0)?ib:bb;bb=Ya+8|0;Pa=f[bb>>2]|0;f[bb>>2]=(Pa|0)<(ib|0)?ib:Pa;Pa=Ya+4|0;bb=f[Pa>>2]|0;f[Pa>>2]=(bb|0)>(mb|0)?mb:bb;bb=Ya+12|0;Pa=f[bb>>2]|0;f[bb>>2]=(Pa|0)<(mb|0)?mb:Pa;Pa=Ya+16|0;f[Pa>>2]=(f[Pa>>2]|0)+1;Pa=dc+(Za<<4)|0;Ya=Pa;bb=qVa(f[Ya>>2]|0,f[Ya+4>>2]|0,ib|0,((ib|0)<0)<<31>>31|0)|0;Ya=Pa;f[Ya>>2]=bb;f[Ya+4>>2]=I;Ya=dc+(Za<<4)+8|0;Za=Ya;bb=qVa(f[Za>>2]|0,f[Za+4>>2]|0,mb|0,lb|0)|0;Za=Ya;f[Za>>2]=bb;f[Za+4>>2]=I;break}}Za=kb+(Ta<<1)|0;if(!(b[hb+Ta>>0]|0)){d[Za>>1]=0;ec=0;fc=cc}else{d[Za>>1]=Oa;Za=Oa&65535;ec=Za;fc=cc+(X(f[f[k>>2]>>2]|0,Za)|0)|0}Za=f[fc>>2]|0;f[fc>>2]=(Za|0)>(Ta|0)?Ta:Za;Za=fc+8|0;bb=f[Za>>2]|0;f[Za>>2]=(bb|0)<(Ta|0)?Ta:bb;bb=fc+4|0;Za=f[bb>>2]|0;f[bb>>2]=(Za|0)>(rb|0)?rb:Za;Za=fc+12|0;bb=f[Za>>2]|0;f[Za>>2]=(bb|0)<(rb|0)?rb:bb;bb=fc+16|0;f[bb>>2]=(f[bb>>2]|0)+1;bb=dc+(ec<<4)|0;Za=bb;Ya=qVa(f[Za>>2]|0,f[Za+4>>2]|0,Ta|0,((Ta|0)<0)<<31>>31|0)|0;Za=bb;f[Za>>2]=Ya;f[Za+4>>2]=I;Za=dc+(ec<<4)+8|0;Ya=Za;bb=qVa(f[Ya>>2]|0,f[Ya+4>>2]|0,rb|0,nb|0)|0;Ya=Za;f[Ya>>2]=bb;f[Ya+4>>2]=I;if((mb|0)<(f[l>>2]|0)){Ya=jb+(ib<<1)|0;if(!(b[gb+ib>>0]|0)){d[Ya>>1]=0;gc=0;hc=cc}else{d[Ya>>1]=Oa;Ya=Oa&65535;gc=Ya;hc=cc+(X(f[f[k>>2]>>2]|0,Ya)|0)|0}Ya=f[hc>>2]|0;f[hc>>2]=(Ya|0)>(ib|0)?ib:Ya;Ya=hc+8|0;bb=f[Ya>>2]|0;f[Ya>>2]=(bb|0)<(ib|0)?ib:bb;bb=hc+4|0;Ya=f[bb>>2]|0;f[bb>>2]=(Ya|0)>(mb|0)?mb:Ya;Ya=hc+12|0;bb=f[Ya>>2]|0;f[Ya>>2]=(bb|0)<(mb|0)?mb:bb;bb=hc+16|0;f[bb>>2]=(f[bb>>2]|0)+1;bb=dc+(gc<<4)|0;Ya=bb;Za=qVa(f[Ya>>2]|0,f[Ya+4>>2]|0,ib|0,((ib|0)<0)<<31>>31|0)|0;Ya=bb;f[Ya>>2]=Za;f[Ya+4>>2]=I;Ya=dc+(gc<<4)+8|0;Za=Ya;bb=qVa(f[Za>>2]|0,f[Za+4>>2]|0,mb|0,lb|0)|0;Za=Ya;f[Za>>2]=bb;f[Za+4>>2]=I;Za=jb+(Ta<<1)|0;if(!(b[gb+Ta>>0]|0)){d[Za>>1]=0;bb=f[cc>>2]|0;f[cc>>2]=(bb|0)>(Ta|0)?Ta:bb;bb=cc+8|0;Ya=f[bb>>2]|0;f[bb>>2]=(Ya|0)<(Ta|0)?Ta:Ya;Ya=cc+4|0;bb=f[Ya>>2]|0;f[Ya>>2]=(bb|0)>(mb|0)?mb:bb;bb=cc+12|0;Ya=f[bb>>2]|0;f[bb>>2]=(Ya|0)<(mb|0)?mb:Ya;Ya=cc+16|0;f[Ya>>2]=(f[Ya>>2]|0)+1;Ya=dc;bb=qVa(f[Ya>>2]|0,f[Ya+4>>2]|0,Ta|0,((Ta|0)<0)<<31>>31|0)|0;Ya=dc;f[Ya>>2]=bb;f[Ya+4>>2]=I;Ya=dc+8|0;bb=Ya;Pa=qVa(f[bb>>2]|0,f[bb+4>>2]|0,mb|0,lb|0)|0;bb=Ya;f[bb>>2]=Pa;f[bb+4>>2]=I;break}else{d[Za>>1]=Oa;Za=Oa&65535;Oa=cc+(X(f[f[k>>2]>>2]|0,Za)|0)|0;bb=f[Oa>>2]|0;f[Oa>>2]=(bb|0)>(Ta|0)?Ta:bb;bb=Oa+8|0;Pa=f[bb>>2]|0;f[bb>>2]=(Pa|0)<(Ta|0)?Ta:Pa;Pa=Oa+4|0;bb=f[Pa>>2]|0;f[Pa>>2]=(bb|0)>(mb|0)?mb:bb;bb=Oa+12|0;Pa=f[bb>>2]|0;f[bb>>2]=(Pa|0)<(mb|0)?mb:Pa;Pa=Oa+16|0;f[Pa>>2]=(f[Pa>>2]|0)+1;Pa=dc+(Za<<4)|0;Oa=Pa;bb=qVa(f[Oa>>2]|0,f[Oa+4>>2]|0,Ta|0,((Ta|0)<0)<<31>>31|0)|0;Ta=Pa;f[Ta>>2]=bb;f[Ta+4>>2]=I;Ta=dc+(Za<<4)+8|0;Za=Ta;bb=qVa(f[Za>>2]|0,f[Za+4>>2]|0,mb|0,lb|0)|0;Za=Ta;f[Za>>2]=bb;f[Za+4>>2]=I;break}}}while(0);ib=ib+2|0;ic=f[r>>2]|0}while((ib|0)<(ic|0));jc=f[l>>2]|0;kc=ic}else{jc=pb;kc=qb}rb=rb+2|0;if((rb|0)>=(jc|0))break;else{qb=kc;pb=jc}}}}while(0);jc=h+12|0;if((f[jc>>2]|0)<=0){dX(q);u=a;return xb|0}kc=f[h+20>>2]|0;ic=f[h+48>>2]|0;l=f[h+120>>2]|0;r=f[h+80>>2]|0;dc=f[h+108>>2]|0;h=0;do{cc=kc+(X(f[ic>>2]|0,h)|0)|0;gc=cc+8|0;f[gc>>2]=(f[gc>>2]|0)+1-(f[cc>>2]|0);gc=cc+12|0;f[gc>>2]=(f[gc>>2]|0)+1-(f[cc+4>>2]|0);gc=r+(X(f[dc>>2]|0,h)|0)|0;lc=+((f[cc+16>>2]|0)>>>0);cc=l+(h<<4)|0;p[gc>>3]=(+((f[cc>>2]|0)>>>0)+4294967296.0*+((f[cc+4>>2]|0)>>>0))/lc;cc=l+(h<<4)+8|0;p[gc+8>>3]=(+((f[cc>>2]|0)>>>0)+4294967296.0*+((f[cc+4>>2]|0)>>>0))/lc;h=h+1|0}while((h|0)<(f[jc>>2]|0));dX(q);u=a;return xb|0}function zha(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0.0;a=u;u=u+16|0;h=a;i=c+8|0;j=d+8|0;if((f[i>>2]|0)!=(f[j>>2]|0)){f[h>>2]=0;f[h+4>>2]=0;k=JV(h,26)|0;l=231382;m=k+26|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-215,h,451664,231084,2589);KV(h)}n=c+12|0;o=d+12|0;if((f[n>>2]|0)!=(f[o>>2]|0)){f[h>>2]=0;f[h+4>>2]=0;k=JV(h,26)|0;l=231409;m=k+26|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-215,h,451664,231084,2590);KV(h)}if((e|0)!=8){f[h>>2]=0;f[h+4>>2]=0;k=JV(h,17)|0;l=231436;m=k+17|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-215,h,451664,231084,2591);KV(h)}h=f[i>>2]|0;i=f[n>>2]|0;n=cX((X(((h+1|0)/2|0)<<2,(i+1|0)/2|0)|0)+4|0)|0;f[n>>2]=0;if((h|0)>0){l=c+16|0;k=c+44|0;m=d+16|0;e=d+44|0;q=(i|0)>0;r=1;s=0;while(1){t=f[f[k>>2]>>2]|0;v=(f[l>>2]|0)+(X(t,s)|0)|0;w=0-t|0;x=v+w|0;y=x+w|0;w=v+t|0;t=f[f[e>>2]>>2]|0;z=(f[m>>2]|0)+(X(t,s)|0)|0;A=0-t|0;t=z+A+A|0;if(q){A=(s|1|0)<(h|0);B=(s|0)>0;C=(s|0)>1;D=0;E=r;while(1){a:do if(!(b[v+D>>0]|0)){if(A?b[w+D>>0]|0:0){F=D|1;if((F|0)<(i|0)?b[v+F>>0]|0:0){G=D+-1|0;do if((D|0)>0){if(b[v+G>>0]|0){do if(B){if(b[x+F>>0]|0){if(b[x+D>>0]|0){f[z+(D<<2)>>2]=f[z+(D+-2<<2)>>2];H=E;break a}do if(C){if(!(b[y+D>>0]|0))break;J=D+-2|0;if(b[x+G>>0]|0){f[z+(D<<2)>>2]=f[z+(J<<2)>>2];H=E;break a}do if((D|0)>1){if(!(b[x+J>>0]|0))break;if(b[y+G>>0]|0){f[z+(D<<2)>>2]=f[z+(J<<2)>>2];H=E;break a}K=f[t+(D<<2)>>2]|0;L=f[z+(J<<2)>>2]|0;M=K;while(1){N=f[n+(M<<2)>>2]|0;if((N|0)<(M|0))M=N;else break}if((K|0)==(L|0))O=M;else{N=L;while(1){P=f[n+(N<<2)>>2]|0;if((P|0)<(N|0))N=P;else break}P=(M|0)>(N|0)?N:M;Q=L;do{R=n+(Q<<2)|0;S=Q;Q=f[R>>2]|0;f[R>>2]=P}while((Q|0)<(S|0));O=P}P=K;do{Q=n+(P<<2)|0;L=P;P=f[Q>>2]|0;f[Q>>2]=O}while((P|0)<(L|0));f[z+(D<<2)>>2]=O;H=E;break a}while(0);P=f[t+(D<<2)>>2]|0;K=f[z+(J<<2)>>2]|0;L=P;while(1){Q=f[n+(L<<2)>>2]|0;if((Q|0)<(L|0))L=Q;else break}if((P|0)==(K|0))T=L;else{J=K;while(1){Q=f[n+(J<<2)>>2]|0;if((Q|0)<(J|0))J=Q;else break}Q=(L|0)>(J|0)?J:L;M=K;do{N=n+(M<<2)|0;S=M;M=f[N>>2]|0;f[N>>2]=Q}while((M|0)<(S|0));T=Q}Q=P;do{M=n+(Q<<2)|0;K=Q;Q=f[M>>2]|0;f[M>>2]=T}while((Q|0)<(K|0));f[z+(D<<2)>>2]=T;H=E;break a}while(0);Q=f[t+(D<<2)>>2]|0;P=f[z+(D+-2<<2)>>2]|0;K=Q;while(1){M=f[n+(K<<2)>>2]|0;if((M|0)<(K|0))K=M;else break}if((Q|0)==(P|0))U=K;else{M=P;while(1){L=f[n+(M<<2)>>2]|0;if((L|0)<(M|0))M=L;else break}L=(K|0)>(M|0)?M:K;J=P;do{S=n+(J<<2)|0;N=J;J=f[S>>2]|0;f[S>>2]=L}while((J|0)<(N|0));U=L}L=Q;do{J=n+(L<<2)|0;P=L;L=f[J>>2]|0;f[J>>2]=U}while((L|0)<(P|0));f[z+(D<<2)>>2]=U;H=E;break a}L=D+2|0;if((L|0)>=(i|0))break;if(!(b[x+L>>0]|0))break;do if(C){if(!(b[y+F>>0]|0))break;if(b[x+D>>0]|0){f[z+(D<<2)>>2]=f[z+(D+-2<<2)>>2];H=E;break a}if(!(b[y+D>>0]|0)){Q=f[t+(L<<2)>>2]|0;P=f[z+(D+-2<<2)>>2]|0;J=Q;while(1){K=f[n+(J<<2)>>2]|0;if((K|0)<(J|0))J=K;else break}if((Q|0)==(P|0))V=J;else{K=P;while(1){M=f[n+(K<<2)>>2]|0;if((M|0)<(K|0))K=M;else break}M=(J|0)>(K|0)?K:J;N=P;do{S=n+(N<<2)|0;R=N;N=f[S>>2]|0;f[S>>2]=M}while((N|0)<(R|0));V=M}M=Q;do{N=n+(M<<2)|0;P=M;M=f[N>>2]|0;f[N>>2]=V}while((M|0)<(P|0));f[z+(D<<2)>>2]=V;H=E;break a}M=D+-2|0;if(b[x+G>>0]|0){f[z+(D<<2)>>2]=f[z+(M<<2)>>2];H=E;break a}do if((D|0)>1){if(!(b[x+M>>0]|0))break;if(b[y+G>>0]|0){f[z+(D<<2)>>2]=f[z+(M<<2)>>2];H=E;break a}Q=f[t+(L<<2)>>2]|0;P=f[z+(M<<2)>>2]|0;N=Q;while(1){J=f[n+(N<<2)>>2]|0;if((J|0)<(N|0))N=J;else break}if((Q|0)==(P|0))W=N;else{J=P;while(1){K=f[n+(J<<2)>>2]|0;if((K|0)<(J|0))J=K;else break}K=(N|0)>(J|0)?J:N;R=P;do{S=n+(R<<2)|0;Y=R;R=f[S>>2]|0;f[S>>2]=K}while((R|0)<(Y|0));W=K}K=Q;do{R=n+(K<<2)|0;P=K;K=f[R>>2]|0;f[R>>2]=W}while((K|0)<(P|0));f[z+(D<<2)>>2]=W;H=E;break a}while(0);K=f[t+(L<<2)>>2]|0;Q=f[z+(M<<2)>>2]|0;P=K;while(1){R=f[n+(P<<2)>>2]|0;if((R|0)<(P|0))P=R;else break}if((K|0)==(Q|0))Z=P;else{M=Q;while(1){R=f[n+(M<<2)>>2]|0;if((R|0)<(M|0))M=R;else break}R=(P|0)>(M|0)?M:P;N=Q;do{J=n+(N<<2)|0;Y=N;N=f[J>>2]|0;f[J>>2]=R}while((N|0)<(Y|0));Z=R}R=K;do{N=n+(R<<2)|0;Q=R;R=f[N>>2]|0;f[N>>2]=Z}while((R|0)<(Q|0));f[z+(D<<2)>>2]=Z;H=E;break a}while(0);R=f[t+(L<<2)>>2]|0;K=f[z+(D+-2<<2)>>2]|0;Q=R;while(1){N=f[n+(Q<<2)>>2]|0;if((N|0)<(Q|0))Q=N;else break}if((R|0)==(K|0))_=Q;else{L=K;while(1){N=f[n+(L<<2)>>2]|0;if((N|0)<(L|0))L=N;else break}N=(Q|0)>(L|0)?L:Q;P=K;do{M=n+(P<<2)|0;Y=P;P=f[M>>2]|0;f[M>>2]=N}while((P|0)<(Y|0));_=N}N=R;do{P=n+(N<<2)|0;K=N;N=f[P>>2]|0;f[P>>2]=_}while((N|0)<(K|0));f[z+(D<<2)>>2]=_;H=E;break a}while(0);f[z+(D<<2)>>2]=f[z+(D+-2<<2)>>2];H=E;break a}if(!(b[w+G>>0]|0))break;do if(B){if(b[x+F>>0]|0){N=D+-2|0;do if((D|0)>1){if(!(b[v+N>>0]|0))break;if(b[x+G>>0]|0){if(b[x+D>>0]|0){f[z+(D<<2)>>2]=f[z+(N<<2)>>2];H=E;break a}do if(C){if(!(b[y+D>>0]|0))break;f[z+(D<<2)>>2]=f[z+(N<<2)>>2];H=E;break a}while(0);R=f[t+(D<<2)>>2]|0;K=f[z+(N<<2)>>2]|0;P=R;while(1){Q=f[n+(P<<2)>>2]|0;if((Q|0)<(P|0))P=Q;else break}if((R|0)==(K|0))$=P;else{Q=K;while(1){L=f[n+(Q<<2)>>2]|0;if((L|0)<(Q|0))Q=L;else break}L=(P|0)>(Q|0)?Q:P;Y=K;do{M=n+(Y<<2)|0;J=Y;Y=f[M>>2]|0;f[M>>2]=L}while((Y|0)<(J|0));$=L}L=R;do{Y=n+(L<<2)|0;K=L;L=f[Y>>2]|0;f[Y>>2]=$}while((L|0)<(K|0));f[z+(D<<2)>>2]=$;H=E;break a}if(!(b[x+N>>0]|0)){L=f[t+(D<<2)>>2]|0;R=f[z+(N<<2)>>2]|0;K=L;while(1){Y=f[n+(K<<2)>>2]|0;if((Y|0)<(K|0))K=Y;else break}if((L|0)==(R|0))aa=K;else{Y=R;while(1){P=f[n+(Y<<2)>>2]|0;if((P|0)<(Y|0))Y=P;else break}P=(K|0)>(Y|0)?Y:K;Q=R;do{J=n+(Q<<2)|0;M=Q;Q=f[J>>2]|0;f[J>>2]=P}while((Q|0)<(M|0));aa=P}P=L;do{Q=n+(P<<2)|0;R=P;P=f[Q>>2]|0;f[Q>>2]=aa}while((P|0)<(R|0));f[z+(D<<2)>>2]=aa;H=E;break a}do if(C){if(!(b[y+G>>0]|0))break;if(b[x+D>>0]|0){f[z+(D<<2)>>2]=f[z+(N<<2)>>2];H=E;break a}if(b[y+D>>0]|0){f[z+(D<<2)>>2]=f[z+(N<<2)>>2];H=E;break a}P=f[t+(D<<2)>>2]|0;L=f[z+(N<<2)>>2]|0;R=P;while(1){Q=f[n+(R<<2)>>2]|0;if((Q|0)<(R|0))R=Q;else break}if((P|0)==(L|0))ba=R;else{Q=L;while(1){K=f[n+(Q<<2)>>2]|0;if((K|0)<(Q|0))Q=K;else break}K=(R|0)>(Q|0)?Q:R;Y=L;do{M=n+(Y<<2)|0;J=Y;Y=f[M>>2]|0;f[M>>2]=K}while((Y|0)<(J|0));ba=K}K=P;do{Y=n+(K<<2)|0;L=K;K=f[Y>>2]|0;f[Y>>2]=ba}while((K|0)<(L|0));f[z+(D<<2)>>2]=ba;H=E;break a}while(0);K=f[t+(D<<2)>>2]|0;P=f[z+(N<<2)>>2]|0;L=K;while(1){Y=f[n+(L<<2)>>2]|0;if((Y|0)<(L|0))L=Y;else break}if((K|0)==(P|0))ca=L;else{Y=P;while(1){R=f[n+(Y<<2)>>2]|0;if((R|0)<(Y|0))Y=R;else break}R=(L|0)>(Y|0)?Y:L;Q=P;do{J=n+(Q<<2)|0;M=Q;Q=f[J>>2]|0;f[J>>2]=R}while((Q|0)<(M|0));ca=R}R=K;do{Q=n+(R<<2)|0;P=R;R=f[Q>>2]|0;f[Q>>2]=ca}while((R|0)<(P|0));f[z+(D<<2)>>2]=ca;H=E;break a}while(0);R=f[t+(D<<2)>>2]|0;K=f[z+(N<<2)>>2]|0;P=R;while(1){Q=f[n+(P<<2)>>2]|0;if((Q|0)<(P|0))P=Q;else break}if((R|0)==(K|0))da=P;else{N=K;while(1){Q=f[n+(N<<2)>>2]|0;if((Q|0)<(N|0))N=Q;else break}Q=(P|0)>(N|0)?N:P;L=K;do{Y=n+(L<<2)|0;M=L;L=f[Y>>2]|0;f[Y>>2]=Q}while((L|0)<(M|0));da=Q}Q=R;do{L=n+(Q<<2)|0;K=Q;Q=f[L>>2]|0;f[L>>2]=da}while((Q|0)<(K|0));f[z+(D<<2)>>2]=da;H=E;break a}Q=D+2|0;do if((Q|0)<(i|0)){if(!(b[x+Q>>0]|0))break;do if(C){if(!(b[y+F>>0]|0))break;R=D+-2|0;do if((D|0)>1){if(!(b[v+R>>0]|0))break;if(b[x+G>>0]|0){if(b[x+D>>0]|0){f[z+(D<<2)>>2]=f[z+(R<<2)>>2];H=E;break a}if(b[y+D>>0]|0){f[z+(D<<2)>>2]=f[z+(R<<2)>>2];H=E;break a}K=f[t+(Q<<2)>>2]|0;L=f[z+(R<<2)>>2]|0;P=K;while(1){N=f[n+(P<<2)>>2]|0;if((N|0)<(P|0))P=N;else break}if((K|0)==(L|0))ea=P;else{N=L;while(1){M=f[n+(N<<2)>>2]|0;if((M|0)<(N|0))N=M;else break}M=(P|0)>(N|0)?N:P;Y=L;do{J=n+(Y<<2)|0;S=Y;Y=f[J>>2]|0;f[J>>2]=M}while((Y|0)<(S|0));ea=M}M=K;do{Y=n+(M<<2)|0;L=M;M=f[Y>>2]|0;f[Y>>2]=ea}while((M|0)<(L|0));f[z+(D<<2)>>2]=ea;H=E;break a}if(!(b[x+R>>0]|0)){M=f[t+(Q<<2)>>2]|0;K=f[z+(R<<2)>>2]|0;L=M;while(1){Y=f[n+(L<<2)>>2]|0;if((Y|0)<(L|0))L=Y;else break}if((M|0)==(K|0))fa=L;else{Y=K;while(1){P=f[n+(Y<<2)>>2]|0;if((P|0)<(Y|0))Y=P;else break}P=(L|0)>(Y|0)?Y:L;N=K;do{S=n+(N<<2)|0;J=N;N=f[S>>2]|0;f[S>>2]=P}while((N|0)<(J|0));fa=P}P=M;do{N=n+(P<<2)|0;K=P;P=f[N>>2]|0;f[N>>2]=fa}while((P|0)<(K|0));f[z+(D<<2)>>2]=fa;H=E;break a}if(!(b[y+G>>0]|0)){P=f[t+(Q<<2)>>2]|0;M=f[z+(R<<2)>>2]|0;K=P;while(1){N=f[n+(K<<2)>>2]|0;if((N|0)<(K|0))K=N;else break}if((P|0)==(M|0))ga=K;else{N=M;while(1){L=f[n+(N<<2)>>2]|0;if((L|0)<(N|0))N=L;else break}L=(K|0)>(N|0)?N:K;Y=M;do{J=n+(Y<<2)|0;S=Y;Y=f[J>>2]|0;f[J>>2]=L}while((Y|0)<(S|0));ga=L}L=P;do{Y=n+(L<<2)|0;M=L;L=f[Y>>2]|0;f[Y>>2]=ga}while((L|0)<(M|0));f[z+(D<<2)>>2]=ga;H=E;break a}if(b[x+D>>0]|0){f[z+(D<<2)>>2]=f[z+(R<<2)>>2];H=E;break a}if(b[y+D>>0]|0){f[z+(D<<2)>>2]=f[z+(R<<2)>>2];H=E;break a}L=f[t+(Q<<2)>>2]|0;P=f[z+(R<<2)>>2]|0;M=L;while(1){Y=f[n+(M<<2)>>2]|0;if((Y|0)<(M|0))M=Y;else break}if((L|0)==(P|0))ha=M;else{Y=P;while(1){K=f[n+(Y<<2)>>2]|0;if((K|0)<(Y|0))Y=K;else break}K=(M|0)>(Y|0)?Y:M;N=P;do{S=n+(N<<2)|0;J=N;N=f[S>>2]|0;f[S>>2]=K}while((N|0)<(J|0));ha=K}K=L;do{N=n+(K<<2)|0;P=K;K=f[N>>2]|0;f[N>>2]=ha}while((K|0)<(P|0));f[z+(D<<2)>>2]=ha;H=E;break a}while(0);K=f[t+(Q<<2)>>2]|0;L=f[z+(R<<2)>>2]|0;P=K;while(1){N=f[n+(P<<2)>>2]|0;if((N|0)<(P|0))P=N;else break}if((K|0)==(L|0))ia=P;else{R=L;while(1){N=f[n+(R<<2)>>2]|0;if((N|0)<(R|0))R=N;else break}N=(P|0)>(R|0)?R:P;M=L;do{Y=n+(M<<2)|0;J=M;M=f[Y>>2]|0;f[Y>>2]=N}while((M|0)<(J|0));ia=N}N=K;do{M=n+(N<<2)|0;L=N;N=f[M>>2]|0;f[M>>2]=ia}while((N|0)<(L|0));f[z+(D<<2)>>2]=ia;H=E;break a}while(0);if(!(b[x+D>>0]|0)){N=f[t+(Q<<2)>>2]|0;K=f[z+(D+-2<<2)>>2]|0;L=N;while(1){M=f[n+(L<<2)>>2]|0;if((M|0)<(L|0))L=M;else break}if((N|0)==(K|0))ja=L;else{M=K;while(1){P=f[n+(M<<2)>>2]|0;if((P|0)<(M|0))M=P;else break}P=(L|0)>(M|0)?M:L;R=K;do{J=n+(R<<2)|0;Y=R;R=f[J>>2]|0;f[J>>2]=P}while((R|0)<(Y|0));ja=P}P=N;do{R=n+(P<<2)|0;K=P;P=f[R>>2]|0;f[R>>2]=ja}while((P|0)<(K|0));f[z+(D<<2)>>2]=ja;H=E;break a}P=D+-2|0;do if((D|0)>1){if(!(b[v+P>>0]|0))break;if(b[x+G>>0]|0){N=f[t+(Q<<2)>>2]|0;K=f[z+(P<<2)>>2]|0;R=N;while(1){L=f[n+(R<<2)>>2]|0;if((L|0)<(R|0))R=L;else break}if((N|0)==(K|0))ka=R;else{L=K;while(1){M=f[n+(L<<2)>>2]|0;if((M|0)<(L|0))L=M;else break}M=(R|0)>(L|0)?L:R;Y=K;do{J=n+(Y<<2)|0;S=Y;Y=f[J>>2]|0;f[J>>2]=M}while((Y|0)<(S|0));ka=M}M=N;do{Y=n+(M<<2)|0;K=M;M=f[Y>>2]|0;f[Y>>2]=ka}while((M|0)<(K|0));f[z+(D<<2)>>2]=ka;H=E;break a}if(!(b[x+P>>0]|0)){M=f[t+(D<<2)>>2]|0;N=f[t+(Q<<2)>>2]|0;K=M;while(1){Y=f[n+(K<<2)>>2]|0;if((Y|0)<(K|0))K=Y;else break}if((M|0)==(N|0))la=K;else{Y=N;while(1){R=f[n+(Y<<2)>>2]|0;if((R|0)<(Y|0))Y=R;else break}R=(K|0)>(Y|0)?Y:K;L=N;do{S=n+(L<<2)|0;J=L;L=f[S>>2]|0;f[S>>2]=R}while((L|0)<(J|0));la=R}R=M;do{L=n+(R<<2)|0;N=R;R=f[L>>2]|0;f[L>>2]=la}while((R|0)<(N|0));R=f[z+(P<<2)>>2]|0;M=la;while(1){N=f[n+(M<<2)>>2]|0;if((N|0)<(M|0))M=N;else break}if((la|0)==(R|0))ma=M;else{N=R;while(1){L=f[n+(N<<2)>>2]|0;if((L|0)<(N|0))N=L;else break}L=(M|0)>(N|0)?N:M;K=R;do{Y=n+(K<<2)|0;J=K;K=f[Y>>2]|0;f[Y>>2]=L}while((K|0)<(J|0));ma=L}L=la;do{K=n+(L<<2)|0;R=L;L=f[K>>2]|0;f[K>>2]=ma}while((L|0)<(R|0));f[z+(D<<2)>>2]=ma;H=E;break a}do if(C){if(!(b[y+G>>0]|0))break;L=f[t+(Q<<2)>>2]|0;R=f[z+(P<<2)>>2]|0;K=L;while(1){M=f[n+(K<<2)>>2]|0;if((M|0)<(K|0))K=M;else break}if((L|0)==(R|0))na=K;else{M=R;while(1){N=f[n+(M<<2)>>2]|0;if((N|0)<(M|0))M=N;else break}N=(K|0)>(M|0)?M:K;J=R;do{Y=n+(J<<2)|0;S=J;J=f[Y>>2]|0;f[Y>>2]=N}while((J|0)<(S|0));na=N}N=L;do{J=n+(N<<2)|0;R=N;N=f[J>>2]|0;f[J>>2]=na}while((N|0)<(R|0));f[z+(D<<2)>>2]=na;H=E;break a}while(0);N=f[t+(D<<2)>>2]|0;L=f[t+(Q<<2)>>2]|0;R=N;while(1){J=f[n+(R<<2)>>2]|0;if((J|0)<(R|0))R=J;else break}if((N|0)==(L|0))oa=R;else{J=L;while(1){K=f[n+(J<<2)>>2]|0;if((K|0)<(J|0))J=K;else break}K=(R|0)>(J|0)?J:R;M=L;do{S=n+(M<<2)|0;Y=M;M=f[S>>2]|0;f[S>>2]=K}while((M|0)<(Y|0));oa=K}K=N;do{M=n+(K<<2)|0;L=K;K=f[M>>2]|0;f[M>>2]=oa}while((K|0)<(L|0));K=f[z+(P<<2)>>2]|0;N=oa;while(1){L=f[n+(N<<2)>>2]|0;if((L|0)<(N|0))N=L;else break}if((oa|0)==(K|0))pa=N;else{L=K;while(1){M=f[n+(L<<2)>>2]|0;if((M|0)<(L|0))L=M;else break}M=(N|0)>(L|0)?L:N;R=K;do{J=n+(R<<2)|0;Y=R;R=f[J>>2]|0;f[J>>2]=M}while((R|0)<(Y|0));pa=M}M=oa;do{R=n+(M<<2)|0;K=M;M=f[R>>2]|0;f[R>>2]=pa}while((M|0)<(K|0));f[z+(D<<2)>>2]=pa;H=E;break a}while(0);M=f[t+(D<<2)>>2]|0;K=f[t+(Q<<2)>>2]|0;R=M;while(1){N=f[n+(R<<2)>>2]|0;if((N|0)<(R|0))R=N;else break}if((M|0)==(K|0))qa=R;else{N=K;while(1){L=f[n+(N<<2)>>2]|0;if((L|0)<(N|0))N=L;else break}L=(R|0)>(N|0)?N:R;Y=K;do{J=n+(Y<<2)|0;S=Y;Y=f[J>>2]|0;f[J>>2]=L}while((Y|0)<(S|0));qa=L}L=M;do{Y=n+(L<<2)|0;K=L;L=f[Y>>2]|0;f[Y>>2]=qa}while((L|0)<(K|0));L=f[z+(P<<2)>>2]|0;M=qa;while(1){K=f[n+(M<<2)>>2]|0;if((K|0)<(M|0))M=K;else break}if((qa|0)==(L|0))ra=M;else{P=L;while(1){K=f[n+(P<<2)>>2]|0;if((K|0)<(P|0))P=K;else break}K=(M|0)>(P|0)?P:M;Y=L;do{R=n+(Y<<2)|0;N=Y;Y=f[R>>2]|0;f[R>>2]=K}while((Y|0)<(N|0));ra=K}K=qa;do{Y=n+(K<<2)|0;L=K;K=f[Y>>2]|0;f[Y>>2]=ra}while((K|0)<(L|0));f[z+(D<<2)>>2]=ra;H=E;break a}while(0);if(!(b[x+D>>0]|0))break;Q=D+-2|0;do if((D|0)>1){if(!(b[v+Q>>0]|0))break;if(b[x+G>>0]|0){f[z+(D<<2)>>2]=f[z+(Q<<2)>>2];H=E;break a}if(!(b[x+Q>>0]|0)){K=f[t+(D<<2)>>2]|0;L=f[z+(Q<<2)>>2]|0;Y=K;while(1){M=f[n+(Y<<2)>>2]|0;if((M|0)<(Y|0))Y=M;else break}if((K|0)==(L|0))sa=Y;else{M=L;while(1){P=f[n+(M<<2)>>2]|0;if((P|0)<(M|0))M=P;else break}P=(Y|0)>(M|0)?M:Y;N=L;do{R=n+(N<<2)|0;S=N;N=f[R>>2]|0;f[R>>2]=P}while((N|0)<(S|0));sa=P}P=K;do{N=n+(P<<2)|0;L=P;P=f[N>>2]|0;f[N>>2]=sa}while((P|0)<(L|0));f[z+(D<<2)>>2]=sa;H=E;break a}do if(C){if(!(b[y+G>>0]|0))break;f[z+(D<<2)>>2]=f[z+(Q<<2)>>2];H=E;break a}while(0);P=f[t+(D<<2)>>2]|0;K=f[z+(Q<<2)>>2]|0;L=P;while(1){N=f[n+(L<<2)>>2]|0;if((N|0)<(L|0))L=N;else break}if((P|0)==(K|0))ta=L;else{N=K;while(1){Y=f[n+(N<<2)>>2]|0;if((Y|0)<(N|0))N=Y;else break}Y=(L|0)>(N|0)?N:L;M=K;do{S=n+(M<<2)|0;R=M;M=f[S>>2]|0;f[S>>2]=Y}while((M|0)<(R|0));ta=Y}Y=P;do{M=n+(Y<<2)|0;K=Y;Y=f[M>>2]|0;f[M>>2]=ta}while((Y|0)<(K|0));f[z+(D<<2)>>2]=ta;H=E;break a}while(0);Y=f[t+(D<<2)>>2]|0;P=f[z+(Q<<2)>>2]|0;K=Y;while(1){M=f[n+(K<<2)>>2]|0;if((M|0)<(K|0))K=M;else break}if((Y|0)==(P|0))ua=K;else{Q=P;while(1){M=f[n+(Q<<2)>>2]|0;if((M|0)<(Q|0))Q=M;else break}M=(K|0)>(Q|0)?Q:K;L=P;do{N=n+(L<<2)|0;R=L;L=f[N>>2]|0;f[N>>2]=M}while((L|0)<(R|0));ua=M}M=Y;do{L=n+(M<<2)|0;P=M;M=f[L>>2]|0;f[L>>2]=ua}while((M|0)<(P|0));f[z+(D<<2)>>2]=ua;H=E;break a}while(0);f[z+(D<<2)>>2]=f[z+(D+-2<<2)>>2];H=E;break a}while(0);do if(B){if(b[x+F>>0]|0){f[z+(D<<2)>>2]=f[t+(D<<2)>>2];H=E;break a}G=D+2|0;do if((G|0)<(i|0)){if(!(b[x+G>>0]|0))break;if(!(b[x+D>>0]|0)){f[z+(D<<2)>>2]=f[t+(G<<2)>>2];H=E;break a}do if(C){if(!(b[y+F>>0]|0))break;f[z+(D<<2)>>2]=f[t+(G<<2)>>2];H=E;break a}while(0);M=f[t+(D<<2)>>2]|0;Y=f[t+(G<<2)>>2]|0;P=M;while(1){L=f[n+(P<<2)>>2]|0;if((L|0)<(P|0))P=L;else break}if((M|0)==(Y|0))va=P;else{L=Y;while(1){K=f[n+(L<<2)>>2]|0;if((K|0)<(L|0))L=K;else break}K=(P|0)>(L|0)?L:P;Q=Y;do{R=n+(Q<<2)|0;N=Q;Q=f[R>>2]|0;f[R>>2]=K}while((Q|0)<(N|0));va=K}K=M;do{Q=n+(K<<2)|0;Y=K;K=f[Q>>2]|0;f[Q>>2]=va}while((K|0)<(Y|0));f[z+(D<<2)>>2]=va;H=E;break a}while(0);if(!(b[x+D>>0]|0))break;f[z+(D<<2)>>2]=f[t+(D<<2)>>2];H=E;break a}while(0);f[z+(D<<2)>>2]=E;f[n+(E<<2)>>2]=E;H=E+1|0;break}F=D+-1|0;if((D|0)>0){if(b[w+F>>0]|0){f[z+(D<<2)>>2]=f[z+(D+-2<<2)>>2];H=E;break}if(b[v+F>>0]|0){f[z+(D<<2)>>2]=f[z+(D+-2<<2)>>2];H=E;break}}f[z+(D<<2)>>2]=E;f[n+(E<<2)>>2]=E;H=E+1|0;break}F=D|1;do if((F|0)<(i|0)){if(!(b[v+F>>0]|0)){if(!A)break;if(!(b[w+F>>0]|0))break;f[z+(D<<2)>>2]=E;f[n+(E<<2)>>2]=E;H=E+1|0;break a}if(B){if(b[x+F>>0]|0){f[z+(D<<2)>>2]=f[t+(D<<2)>>2];H=E;break a}G=D+2|0;do if((G|0)<(i|0)){if(!(b[x+G>>0]|0))break;if(!(b[x+D>>0]|0)){f[z+(D<<2)>>2]=f[t+(G<<2)>>2];H=E;break a}do if(C){if(!(b[y+F>>0]|0))break;f[z+(D<<2)>>2]=f[t+(G<<2)>>2];H=E;break a}while(0);K=f[t+(D<<2)>>2]|0;M=f[t+(G<<2)>>2]|0;Y=K;while(1){Q=f[n+(Y<<2)>>2]|0;if((Q|0)<(Y|0))Y=Q;else break}if((K|0)==(M|0))wa=Y;else{Q=M;while(1){P=f[n+(Q<<2)>>2]|0;if((P|0)<(Q|0))Q=P;else break}P=(Y|0)>(Q|0)?Q:Y;L=M;do{N=n+(L<<2)|0;R=L;L=f[N>>2]|0;f[N>>2]=P}while((L|0)<(R|0));wa=P}P=K;do{L=n+(P<<2)|0;M=P;P=f[L>>2]|0;f[L>>2]=wa}while((P|0)<(M|0));f[z+(D<<2)>>2]=wa;H=E;break a}while(0);if(b[x+D>>0]|0){f[z+(D<<2)>>2]=f[t+(D<<2)>>2];H=E;break a}}f[z+(D<<2)>>2]=E;f[n+(E<<2)>>2]=E;H=E+1|0;break a}while(0);f[z+(D<<2)>>2]=0;H=E}else{F=D+-1|0;G=(D|0)>0;if(G){if(b[v+F>>0]|0){P=D|1;K=(P|0)<(i|0);if(B&K?b[x+P>>0]|0:0){if(b[x+D>>0]|0){f[z+(D<<2)>>2]=f[z+(D+-2<<2)>>2];H=E;break}do if(C){if(!(b[y+D>>0]|0))break;M=D+-2|0;if(b[x+F>>0]|0){f[z+(D<<2)>>2]=f[z+(M<<2)>>2];H=E;break a}do if((D|0)>1){if(!(b[x+M>>0]|0))break;if(b[y+F>>0]|0){f[z+(D<<2)>>2]=f[z+(M<<2)>>2];H=E;break a}L=f[t+(D<<2)>>2]|0;Y=f[z+(M<<2)>>2]|0;Q=L;while(1){R=f[n+(Q<<2)>>2]|0;if((R|0)<(Q|0))Q=R;else break}if((L|0)==(Y|0))xa=Q;else{R=Y;while(1){N=f[n+(R<<2)>>2]|0;if((N|0)<(R|0))R=N;else break}N=(Q|0)>(R|0)?R:Q;S=Y;do{J=n+(S<<2)|0;ya=S;S=f[J>>2]|0;f[J>>2]=N}while((S|0)<(ya|0));xa=N}N=L;do{S=n+(N<<2)|0;Y=N;N=f[S>>2]|0;f[S>>2]=xa}while((N|0)<(Y|0));f[z+(D<<2)>>2]=xa;H=E;break a}while(0);N=f[t+(D<<2)>>2]|0;L=f[z+(M<<2)>>2]|0;Y=N;while(1){S=f[n+(Y<<2)>>2]|0;if((S|0)<(Y|0))Y=S;else break}if((N|0)==(L|0))za=Y;else{M=L;while(1){S=f[n+(M<<2)>>2]|0;if((S|0)<(M|0))M=S;else break}S=(Y|0)>(M|0)?M:Y;Q=L;do{R=n+(Q<<2)|0;ya=Q;Q=f[R>>2]|0;f[R>>2]=S}while((Q|0)<(ya|0));za=S}S=N;do{Q=n+(S<<2)|0;L=S;S=f[Q>>2]|0;f[Q>>2]=za}while((S|0)<(L|0));f[z+(D<<2)>>2]=za;H=E;break a}while(0);S=f[t+(D<<2)>>2]|0;N=f[z+(D+-2<<2)>>2]|0;L=S;while(1){Q=f[n+(L<<2)>>2]|0;if((Q|0)<(L|0))L=Q;else break}if((S|0)==(N|0))Aa=L;else{Q=N;while(1){Y=f[n+(Q<<2)>>2]|0;if((Y|0)<(Q|0))Q=Y;else break}Y=(L|0)>(Q|0)?Q:L;M=N;do{ya=n+(M<<2)|0;R=M;M=f[ya>>2]|0;f[ya>>2]=Y}while((M|0)<(R|0));Aa=Y}Y=S;do{M=n+(Y<<2)|0;N=Y;Y=f[M>>2]|0;f[M>>2]=Aa}while((Y|0)<(N|0));f[z+(D<<2)>>2]=Aa;H=E;break}if(K?b[v+P>>0]|0:0){Y=D+2|0;do if(B&(Y|0)<(i|0)){if(!(b[x+Y>>0]|0))break;do if(C){if(!(b[y+P>>0]|0))break;if(b[x+D>>0]|0){f[z+(D<<2)>>2]=f[z+(D+-2<<2)>>2];H=E;break a}if(!(b[y+D>>0]|0)){S=f[t+(Y<<2)>>2]|0;N=f[z+(D+-2<<2)>>2]|0;M=S;while(1){L=f[n+(M<<2)>>2]|0;if((L|0)<(M|0))M=L;else break}if((S|0)==(N|0))Ba=M;else{L=N;while(1){Q=f[n+(L<<2)>>2]|0;if((Q|0)<(L|0))L=Q;else break}Q=(M|0)>(L|0)?L:M;R=N;do{ya=n+(R<<2)|0;J=R;R=f[ya>>2]|0;f[ya>>2]=Q}while((R|0)<(J|0));Ba=Q}Q=S;do{R=n+(Q<<2)|0;N=Q;Q=f[R>>2]|0;f[R>>2]=Ba}while((Q|0)<(N|0));f[z+(D<<2)>>2]=Ba;H=E;break a}Q=D+-2|0;if(b[x+F>>0]|0){f[z+(D<<2)>>2]=f[z+(Q<<2)>>2];H=E;break a}do if((D|0)>1){if(!(b[x+Q>>0]|0))break;if(b[y+F>>0]|0){f[z+(D<<2)>>2]=f[z+(Q<<2)>>2];H=E;break a}S=f[t+(Y<<2)>>2]|0;N=f[z+(Q<<2)>>2]|0;R=S;while(1){M=f[n+(R<<2)>>2]|0;if((M|0)<(R|0))R=M;else break}if((S|0)==(N|0))Ca=R;else{M=N;while(1){L=f[n+(M<<2)>>2]|0;if((L|0)<(M|0))M=L;else break}L=(R|0)>(M|0)?M:R;J=N;do{ya=n+(J<<2)|0;Da=J;J=f[ya>>2]|0;f[ya>>2]=L}while((J|0)<(Da|0));Ca=L}L=S;do{J=n+(L<<2)|0;N=L;L=f[J>>2]|0;f[J>>2]=Ca}while((L|0)<(N|0));f[z+(D<<2)>>2]=Ca;H=E;break a}while(0);L=f[t+(Y<<2)>>2]|0;S=f[z+(Q<<2)>>2]|0;N=L;while(1){J=f[n+(N<<2)>>2]|0;if((J|0)<(N|0))N=J;else break}if((L|0)==(S|0))Ea=N;else{Q=S;while(1){J=f[n+(Q<<2)>>2]|0;if((J|0)<(Q|0))Q=J;else break}J=(N|0)>(Q|0)?Q:N;R=S;do{M=n+(R<<2)|0;Da=R;R=f[M>>2]|0;f[M>>2]=J}while((R|0)<(Da|0));Ea=J}J=L;do{R=n+(J<<2)|0;S=J;J=f[R>>2]|0;f[R>>2]=Ea}while((J|0)<(S|0));f[z+(D<<2)>>2]=Ea;H=E;break a}while(0);J=f[t+(Y<<2)>>2]|0;L=f[z+(D+-2<<2)>>2]|0;S=J;while(1){R=f[n+(S<<2)>>2]|0;if((R|0)<(S|0))S=R;else break}if((J|0)==(L|0))Fa=S;else{R=L;while(1){N=f[n+(R<<2)>>2]|0;if((N|0)<(R|0))R=N;else break}N=(S|0)>(R|0)?R:S;Q=L;do{Da=n+(Q<<2)|0;M=Q;Q=f[Da>>2]|0;f[Da>>2]=N}while((Q|0)<(M|0));Fa=N}N=J;do{Q=n+(N<<2)|0;L=N;N=f[Q>>2]|0;f[Q>>2]=Fa}while((N|0)<(L|0));f[z+(D<<2)>>2]=Fa;H=E;break a}while(0);f[z+(D<<2)>>2]=f[z+(D+-2<<2)>>2];H=E;break}f[z+(D<<2)>>2]=f[z+(D+-2<<2)>>2];H=E;break}if(A?b[w+F>>0]|0:0){Y=D|1;P=(Y|0)<(i|0);if(B&P?b[x+Y>>0]|0:0){K=D+-2|0;do if((D|0)>1){if(!(b[v+K>>0]|0))break;if(b[x+F>>0]|0){if(b[x+D>>0]|0){f[z+(D<<2)>>2]=f[z+(K<<2)>>2];H=E;break a}do if(C){if(!(b[y+D>>0]|0))break;f[z+(D<<2)>>2]=f[z+(K<<2)>>2];H=E;break a}while(0);N=f[t+(D<<2)>>2]|0;J=f[z+(K<<2)>>2]|0;L=N;while(1){Q=f[n+(L<<2)>>2]|0;if((Q|0)<(L|0))L=Q;else break}if((N|0)==(J|0))Ga=L;else{Q=J;while(1){S=f[n+(Q<<2)>>2]|0;if((S|0)<(Q|0))Q=S;else break}S=(L|0)>(Q|0)?Q:L;R=J;do{M=n+(R<<2)|0;Da=R;R=f[M>>2]|0;f[M>>2]=S}while((R|0)<(Da|0));Ga=S}S=N;do{R=n+(S<<2)|0;J=S;S=f[R>>2]|0;f[R>>2]=Ga}while((S|0)<(J|0));f[z+(D<<2)>>2]=Ga;H=E;break a}if(!(b[x+K>>0]|0)){S=f[t+(D<<2)>>2]|0;N=f[z+(K<<2)>>2]|0;J=S;while(1){R=f[n+(J<<2)>>2]|0;if((R|0)<(J|0))J=R;else break}if((S|0)==(N|0))Ha=J;else{R=N;while(1){L=f[n+(R<<2)>>2]|0;if((L|0)<(R|0))R=L;else break}L=(J|0)>(R|0)?R:J;Q=N;do{Da=n+(Q<<2)|0;M=Q;Q=f[Da>>2]|0;f[Da>>2]=L}while((Q|0)<(M|0));Ha=L}L=S;do{Q=n+(L<<2)|0;N=L;L=f[Q>>2]|0;f[Q>>2]=Ha}while((L|0)<(N|0));f[z+(D<<2)>>2]=Ha;H=E;break a}do if(C){if(!(b[y+F>>0]|0))break;if(b[x+D>>0]|0){f[z+(D<<2)>>2]=f[z+(K<<2)>>2];H=E;break a}if(b[y+D>>0]|0){f[z+(D<<2)>>2]=f[z+(K<<2)>>2];H=E;break a}L=f[t+(D<<2)>>2]|0;S=f[z+(K<<2)>>2]|0;N=L;while(1){Q=f[n+(N<<2)>>2]|0;if((Q|0)<(N|0))N=Q;else break}if((L|0)==(S|0))Ia=N;else{Q=S;while(1){J=f[n+(Q<<2)>>2]|0;if((J|0)<(Q|0))Q=J;else break}J=(N|0)>(Q|0)?Q:N;R=S;do{M=n+(R<<2)|0;Da=R;R=f[M>>2]|0;f[M>>2]=J}while((R|0)<(Da|0));Ia=J}J=L;do{R=n+(J<<2)|0;S=J;J=f[R>>2]|0;f[R>>2]=Ia}while((J|0)<(S|0));f[z+(D<<2)>>2]=Ia;H=E;break a}while(0);J=f[t+(D<<2)>>2]|0;L=f[z+(K<<2)>>2]|0;S=J;while(1){R=f[n+(S<<2)>>2]|0;if((R|0)<(S|0))S=R;else break}if((J|0)==(L|0))Ja=S;else{R=L;while(1){N=f[n+(R<<2)>>2]|0;if((N|0)<(R|0))R=N;else break}N=(S|0)>(R|0)?R:S;Q=L;do{Da=n+(Q<<2)|0;M=Q;Q=f[Da>>2]|0;f[Da>>2]=N}while((Q|0)<(M|0));Ja=N}N=J;do{Q=n+(N<<2)|0;L=N;N=f[Q>>2]|0;f[Q>>2]=Ja}while((N|0)<(L|0));f[z+(D<<2)>>2]=Ja;H=E;break a}while(0);if(b[x+D>>0]|0){N=f[t+(D<<2)>>2]|0;J=f[z+(K<<2)>>2]|0;L=N;while(1){Q=f[n+(L<<2)>>2]|0;if((Q|0)<(L|0))L=Q;else break}if((N|0)==(J|0))Ka=L;else{Q=J;while(1){S=f[n+(Q<<2)>>2]|0;if((S|0)<(Q|0))Q=S;else break}S=(L|0)>(Q|0)?Q:L;R=J;do{M=n+(R<<2)|0;Da=R;R=f[M>>2]|0;f[M>>2]=S}while((R|0)<(Da|0));Ka=S}S=N;do{R=n+(S<<2)|0;J=S;S=f[R>>2]|0;f[R>>2]=Ka}while((S|0)<(J|0));f[z+(D<<2)>>2]=Ka;H=E;break}if(!(b[x+F>>0]|0)){S=f[t+(D<<2)>>2]|0;N=f[z+(K<<2)>>2]|0;J=S;while(1){R=f[n+(J<<2)>>2]|0;if((R|0)<(J|0))J=R;else break}if((S|0)==(N|0))La=J;else{R=N;while(1){L=f[n+(R<<2)>>2]|0;if((L|0)<(R|0))R=L;else break}L=(J|0)>(R|0)?R:J;Q=N;do{Da=n+(Q<<2)|0;M=Q;Q=f[Da>>2]|0;f[Da>>2]=L}while((Q|0)<(M|0));La=L}L=S;do{Q=n+(L<<2)|0;N=L;L=f[Q>>2]|0;f[Q>>2]=La}while((L|0)<(N|0));f[z+(D<<2)>>2]=La;H=E;break}do if(C){if(!(b[y+D>>0]|0))break;L=f[t+(D<<2)>>2]|0;S=f[z+(K<<2)>>2]|0;N=L;while(1){Q=f[n+(N<<2)>>2]|0;if((Q|0)<(N|0))N=Q;else break}if((L|0)==(S|0))Ma=N;else{Q=S;while(1){J=f[n+(Q<<2)>>2]|0;if((J|0)<(Q|0))Q=J;else break}J=(N|0)>(Q|0)?Q:N;R=S;do{M=n+(R<<2)|0;Da=R;R=f[M>>2]|0;f[M>>2]=J}while((R|0)<(Da|0));Ma=J}J=L;do{R=n+(J<<2)|0;S=J;J=f[R>>2]|0;f[R>>2]=Ma}while((J|0)<(S|0));f[z+(D<<2)>>2]=Ma;H=E;break a}while(0);J=f[t+(K<<2)>>2]|0;L=f[t+(D<<2)>>2]|0;S=J;while(1){R=f[n+(S<<2)>>2]|0;if((R|0)<(S|0))S=R;else break}if((J|0)==(L|0))Na=S;else{R=L;while(1){N=f[n+(R<<2)>>2]|0;if((N|0)<(R|0))R=N;else break}N=(S|0)>(R|0)?R:S;Q=L;do{Da=n+(Q<<2)|0;M=Q;Q=f[Da>>2]|0;f[Da>>2]=N}while((Q|0)<(M|0));Na=N}N=J;do{Q=n+(N<<2)|0;L=N;N=f[Q>>2]|0;f[Q>>2]=Na}while((N|0)<(L|0));N=f[z+(K<<2)>>2]|0;J=Na;while(1){L=f[n+(J<<2)>>2]|0;if((L|0)<(J|0))J=L;else break}if((Na|0)==(N|0))Oa=J;else{K=N;while(1){L=f[n+(K<<2)>>2]|0;if((L|0)<(K|0))K=L;else break}L=(J|0)>(K|0)?K:J;Q=N;do{S=n+(Q<<2)|0;R=Q;Q=f[S>>2]|0;f[S>>2]=L}while((Q|0)<(R|0));Oa=L}L=Na;do{Q=n+(L<<2)|0;N=L;L=f[Q>>2]|0;f[Q>>2]=Oa}while((L|0)<(N|0));f[z+(D<<2)>>2]=Oa;H=E;break}if(P?b[v+Y>>0]|0:0){L=D+2|0;do if(B&(L|0)<(i|0)){if(!(b[x+L>>0]|0))break;N=D+-2|0;do if((D|0)>1){if(!(b[v+N>>0]|0))break;if(b[x+F>>0]|0){do if(C){if(!(b[y+Y>>0]|0))break;if(b[x+D>>0]|0){f[z+(D<<2)>>2]=f[z+(N<<2)>>2];H=E;break a}if(b[y+D>>0]|0){f[z+(D<<2)>>2]=f[z+(N<<2)>>2];H=E;break a}Q=f[t+(L<<2)>>2]|0;J=f[z+(N<<2)>>2]|0;K=Q;while(1){R=f[n+(K<<2)>>2]|0;if((R|0)<(K|0))K=R;else break}if((Q|0)==(J|0))Pa=K;else{R=J;while(1){S=f[n+(R<<2)>>2]|0;if((S|0)<(R|0))R=S;else break}S=(K|0)>(R|0)?R:K;M=J;do{Da=n+(M<<2)|0;ya=M;M=f[Da>>2]|0;f[Da>>2]=S}while((M|0)<(ya|0));Pa=S}S=Q;do{M=n+(S<<2)|0;J=S;S=f[M>>2]|0;f[M>>2]=Pa}while((S|0)<(J|0));f[z+(D<<2)>>2]=Pa;H=E;break a}while(0);S=f[t+(L<<2)>>2]|0;Q=f[z+(N<<2)>>2]|0;J=S;while(1){M=f[n+(J<<2)>>2]|0;if((M|0)<(J|0))J=M;else break}if((S|0)==(Q|0))Qa=J;else{M=Q;while(1){K=f[n+(M<<2)>>2]|0;if((K|0)<(M|0))M=K;else break}K=(J|0)>(M|0)?M:J;R=Q;do{ya=n+(R<<2)|0;Da=R;R=f[ya>>2]|0;f[ya>>2]=K}while((R|0)<(Da|0));Qa=K}K=S;do{R=n+(K<<2)|0;Q=K;K=f[R>>2]|0;f[R>>2]=Qa}while((K|0)<(Q|0));f[z+(D<<2)>>2]=Qa;H=E;break a}do if(C){if(!(b[y+Y>>0]|0))break;if(!(b[x+N>>0]|0)){K=f[t+(L<<2)>>2]|0;S=f[z+(N<<2)>>2]|0;Q=K;while(1){R=f[n+(Q<<2)>>2]|0;if((R|0)<(Q|0))Q=R;else break}if((K|0)==(S|0))Ra=Q;else{R=S;while(1){J=f[n+(R<<2)>>2]|0;if((J|0)<(R|0))R=J;else break}J=(Q|0)>(R|0)?R:Q;M=S;do{Da=n+(M<<2)|0;ya=M;M=f[Da>>2]|0;f[Da>>2]=J}while((M|0)<(ya|0));Ra=J}J=K;do{M=n+(J<<2)|0;S=J;J=f[M>>2]|0;f[M>>2]=Ra}while((J|0)<(S|0));f[z+(D<<2)>>2]=Ra;H=E;break a}if(!(b[y+F>>0]|0)){J=f[t+(L<<2)>>2]|0;K=f[z+(N<<2)>>2]|0;S=J;while(1){M=f[n+(S<<2)>>2]|0;if((M|0)<(S|0))S=M;else break}if((J|0)==(K|0))Sa=S;else{M=K;while(1){Q=f[n+(M<<2)>>2]|0;if((Q|0)<(M|0))M=Q;else break}Q=(S|0)>(M|0)?M:S;R=K;do{ya=n+(R<<2)|0;Da=R;R=f[ya>>2]|0;f[ya>>2]=Q}while((R|0)<(Da|0));Sa=Q}Q=J;do{R=n+(Q<<2)|0;K=Q;Q=f[R>>2]|0;f[R>>2]=Sa}while((Q|0)<(K|0));f[z+(D<<2)>>2]=Sa;H=E;break a}if(b[x+D>>0]|0){f[z+(D<<2)>>2]=f[z+(N<<2)>>2];H=E;break a}if(b[y+D>>0]|0){f[z+(D<<2)>>2]=f[z+(N<<2)>>2];H=E;break a}Q=f[t+(L<<2)>>2]|0;J=f[z+(N<<2)>>2]|0;K=Q;while(1){R=f[n+(K<<2)>>2]|0;if((R|0)<(K|0))K=R;else break}if((Q|0)==(J|0))Ta=K;else{R=J;while(1){S=f[n+(R<<2)>>2]|0;if((S|0)<(R|0))R=S;else break}S=(K|0)>(R|0)?R:K;M=J;do{Da=n+(M<<2)|0;ya=M;M=f[Da>>2]|0;f[Da>>2]=S}while((M|0)<(ya|0));Ta=S}S=Q;do{M=n+(S<<2)|0;J=S;S=f[M>>2]|0;f[M>>2]=Ta}while((S|0)<(J|0));f[z+(D<<2)>>2]=Ta;H=E;break a}while(0);if(!(b[x+D>>0]|0)){S=f[t+(L<<2)>>2]|0;Q=f[z+(N<<2)>>2]|0;J=S;while(1){M=f[n+(J<<2)>>2]|0;if((M|0)<(J|0))J=M;else break}if((S|0)==(Q|0))Ua=J;else{M=Q;while(1){K=f[n+(M<<2)>>2]|0;if((K|0)<(M|0))M=K;else break}K=(J|0)>(M|0)?M:J;R=Q;do{ya=n+(R<<2)|0;Da=R;R=f[ya>>2]|0;f[ya>>2]=K}while((R|0)<(Da|0));Ua=K}K=S;do{R=n+(K<<2)|0;Q=K;K=f[R>>2]|0;f[R>>2]=Ua}while((K|0)<(Q|0));f[z+(D<<2)>>2]=Ua;H=E;break a}if(!(b[x+N>>0]|0)){K=f[t+(D<<2)>>2]|0;S=f[t+(L<<2)>>2]|0;Q=K;while(1){R=f[n+(Q<<2)>>2]|0;if((R|0)<(Q|0))Q=R;else break}if((K|0)==(S|0))Va=Q;else{R=S;while(1){J=f[n+(R<<2)>>2]|0;if((J|0)<(R|0))R=J;else break}J=(Q|0)>(R|0)?R:Q;M=S;do{Da=n+(M<<2)|0;ya=M;M=f[Da>>2]|0;f[Da>>2]=J}while((M|0)<(ya|0));Va=J}J=K;do{M=n+(J<<2)|0;S=J;J=f[M>>2]|0;f[M>>2]=Va}while((J|0)<(S|0));J=f[z+(N<<2)>>2]|0;K=Va;while(1){S=f[n+(K<<2)>>2]|0;if((S|0)<(K|0))K=S;else break}if((Va|0)==(J|0))Wa=K;else{S=J;while(1){M=f[n+(S<<2)>>2]|0;if((M|0)<(S|0))S=M;else break}M=(K|0)>(S|0)?S:K;Q=J;do{R=n+(Q<<2)|0;ya=Q;Q=f[R>>2]|0;f[R>>2]=M}while((Q|0)<(ya|0));Wa=M}M=Va;do{Q=n+(M<<2)|0;J=M;M=f[Q>>2]|0;f[Q>>2]=Wa}while((M|0)<(J|0));f[z+(D<<2)>>2]=Wa;H=E;break a}do if(C){if(!(b[y+F>>0]|0))break;M=f[t+(L<<2)>>2]|0;J=f[z+(N<<2)>>2]|0;Q=M;while(1){K=f[n+(Q<<2)>>2]|0;if((K|0)<(Q|0))Q=K;else break}if((M|0)==(J|0))Xa=Q;else{K=J;while(1){S=f[n+(K<<2)>>2]|0;if((S|0)<(K|0))K=S;else break}S=(Q|0)>(K|0)?K:Q;ya=J;do{R=n+(ya<<2)|0;Da=ya;ya=f[R>>2]|0;f[R>>2]=S}while((ya|0)<(Da|0));Xa=S}S=M;do{ya=n+(S<<2)|0;J=S;S=f[ya>>2]|0;f[ya>>2]=Xa}while((S|0)<(J|0));f[z+(D<<2)>>2]=Xa;H=E;break a}while(0);S=f[t+(D<<2)>>2]|0;M=f[t+(L<<2)>>2]|0;J=S;while(1){ya=f[n+(J<<2)>>2]|0;if((ya|0)<(J|0))J=ya;else break}if((S|0)==(M|0))Ya=J;else{ya=M;while(1){Q=f[n+(ya<<2)>>2]|0;if((Q|0)<(ya|0))ya=Q;else break}Q=(J|0)>(ya|0)?ya:J;K=M;do{Da=n+(K<<2)|0;R=K;K=f[Da>>2]|0;f[Da>>2]=Q}while((K|0)<(R|0));Ya=Q}Q=S;do{K=n+(Q<<2)|0;M=Q;Q=f[K>>2]|0;f[K>>2]=Ya}while((Q|0)<(M|0));Q=f[z+(N<<2)>>2]|0;S=Ya;while(1){M=f[n+(S<<2)>>2]|0;if((M|0)<(S|0))S=M;else break}if((Ya|0)==(Q|0))Za=S;else{M=Q;while(1){K=f[n+(M<<2)>>2]|0;if((K|0)<(M|0))M=K;else break}K=(S|0)>(M|0)?M:S;J=Q;do{ya=n+(J<<2)|0;R=J;J=f[ya>>2]|0;f[ya>>2]=K}while((J|0)<(R|0));Za=K}K=Ya;do{J=n+(K<<2)|0;Q=K;K=f[J>>2]|0;f[J>>2]=Za}while((K|0)<(Q|0));f[z+(D<<2)>>2]=Za;H=E;break a}while(0);if(b[x+D>>0]|0){do if(C){if(!(b[y+Y>>0]|0))break;K=f[t+(L<<2)>>2]|0;Q=f[z+(N<<2)>>2]|0;J=K;while(1){S=f[n+(J<<2)>>2]|0;if((S|0)<(J|0))J=S;else break}if((K|0)==(Q|0))_a=J;else{S=Q;while(1){M=f[n+(S<<2)>>2]|0;if((M|0)<(S|0))S=M;else break}M=(J|0)>(S|0)?S:J;R=Q;do{ya=n+(R<<2)|0;Da=R;R=f[ya>>2]|0;f[ya>>2]=M}while((R|0)<(Da|0));_a=M}M=K;do{R=n+(M<<2)|0;Q=M;M=f[R>>2]|0;f[R>>2]=_a}while((M|0)<(Q|0));f[z+(D<<2)>>2]=_a;H=E;break a}while(0);M=f[t+(D<<2)>>2]|0;K=f[t+(L<<2)>>2]|0;Q=M;while(1){R=f[n+(Q<<2)>>2]|0;if((R|0)<(Q|0))Q=R;else break}if((M|0)==(K|0))$a=Q;else{R=K;while(1){J=f[n+(R<<2)>>2]|0;if((J|0)<(R|0))R=J;else break}J=(Q|0)>(R|0)?R:Q;S=K;do{Da=n+(S<<2)|0;ya=S;S=f[Da>>2]|0;f[Da>>2]=J}while((S|0)<(ya|0));$a=J}J=M;do{S=n+(J<<2)|0;K=J;J=f[S>>2]|0;f[S>>2]=$a}while((J|0)<(K|0));J=f[z+(N<<2)>>2]|0;M=$a;while(1){K=f[n+(M<<2)>>2]|0;if((K|0)<(M|0))M=K;else break}if(($a|0)==(J|0))ab=M;else{K=J;while(1){S=f[n+(K<<2)>>2]|0;if((S|0)<(K|0))K=S;else break}S=(M|0)>(K|0)?K:M;Q=J;do{R=n+(Q<<2)|0;ya=Q;Q=f[R>>2]|0;f[R>>2]=S}while((Q|0)<(ya|0));ab=S}S=$a;do{Q=n+(S<<2)|0;J=S;S=f[Q>>2]|0;f[Q>>2]=ab}while((S|0)<(J|0));f[z+(D<<2)>>2]=ab;H=E;break a}if(!(b[x+F>>0]|0)){S=f[t+(L<<2)>>2]|0;J=f[z+(N<<2)>>2]|0;Q=S;while(1){M=f[n+(Q<<2)>>2]|0;if((M|0)<(Q|0))Q=M;else break}if((S|0)==(J|0))bb=Q;else{M=J;while(1){K=f[n+(M<<2)>>2]|0;if((K|0)<(M|0))M=K;else break}K=(Q|0)>(M|0)?M:Q;ya=J;do{R=n+(ya<<2)|0;Da=ya;ya=f[R>>2]|0;f[R>>2]=K}while((ya|0)<(Da|0));bb=K}K=S;do{ya=n+(K<<2)|0;J=K;K=f[ya>>2]|0;f[ya>>2]=bb}while((K|0)<(J|0));f[z+(D<<2)>>2]=bb;H=E;break a}do if(C){if(!(b[y+Y>>0]|0))break;if(b[y+D>>0]|0){K=f[t+(L<<2)>>2]|0;S=f[z+(N<<2)>>2]|0;J=K;while(1){ya=f[n+(J<<2)>>2]|0;if((ya|0)<(J|0))J=ya;else break}if((K|0)==(S|0))cb=J;else{ya=S;while(1){Q=f[n+(ya<<2)>>2]|0;if((Q|0)<(ya|0))ya=Q;else break}Q=(J|0)>(ya|0)?ya:J;M=S;do{Da=n+(M<<2)|0;R=M;M=f[Da>>2]|0;f[Da>>2]=Q}while((M|0)<(R|0));cb=Q}Q=K;do{M=n+(Q<<2)|0;S=Q;Q=f[M>>2]|0;f[M>>2]=cb}while((Q|0)<(S|0));f[z+(D<<2)>>2]=cb;H=E;break a}Q=f[t+(N<<2)>>2]|0;K=f[t+(L<<2)>>2]|0;S=Q;while(1){M=f[n+(S<<2)>>2]|0;if((M|0)<(S|0))S=M;else break}if((Q|0)==(K|0))db=S;else{M=K;while(1){J=f[n+(M<<2)>>2]|0;if((J|0)<(M|0))M=J;else break}J=(S|0)>(M|0)?M:S;ya=K;do{R=n+(ya<<2)|0;Da=ya;ya=f[R>>2]|0;f[R>>2]=J}while((ya|0)<(Da|0));db=J}J=Q;do{ya=n+(J<<2)|0;K=J;J=f[ya>>2]|0;f[ya>>2]=db}while((J|0)<(K|0));J=f[z+(N<<2)>>2]|0;Q=db;while(1){K=f[n+(Q<<2)>>2]|0;if((K|0)<(Q|0))Q=K;else break}if((db|0)==(J|0))eb=Q;else{K=J;while(1){ya=f[n+(K<<2)>>2]|0;if((ya|0)<(K|0))K=ya;else break}ya=(Q|0)>(K|0)?K:Q;S=J;do{M=n+(S<<2)|0;Da=S;S=f[M>>2]|0;f[M>>2]=ya}while((S|0)<(Da|0));eb=ya}ya=db;do{S=n+(ya<<2)|0;J=ya;ya=f[S>>2]|0;f[S>>2]=eb}while((ya|0)<(J|0));f[z+(D<<2)>>2]=eb;H=E;break a}while(0);ya=f[t+(N<<2)>>2]|0;J=f[t+(L<<2)>>2]|0;S=ya;while(1){Q=f[n+(S<<2)>>2]|0;if((Q|0)<(S|0))S=Q;else break}if((ya|0)==(J|0))fb=S;else{Q=J;while(1){K=f[n+(Q<<2)>>2]|0;if((K|0)<(Q|0))Q=K;else break}K=(S|0)>(Q|0)?Q:S;Da=J;do{M=n+(Da<<2)|0;R=Da;Da=f[M>>2]|0;f[M>>2]=K}while((Da|0)<(R|0));fb=K}K=ya;do{Da=n+(K<<2)|0;J=K;K=f[Da>>2]|0;f[Da>>2]=fb}while((K|0)<(J|0));K=f[z+(N<<2)>>2]|0;ya=fb;while(1){J=f[n+(ya<<2)>>2]|0;if((J|0)<(ya|0))ya=J;else break}if((fb|0)==(K|0))gb=ya;else{N=K;while(1){J=f[n+(N<<2)>>2]|0;if((J|0)<(N|0))N=J;else break}J=(ya|0)>(N|0)?N:ya;Da=K;do{S=n+(Da<<2)|0;Q=Da;Da=f[S>>2]|0;f[S>>2]=J}while((Da|0)<(Q|0));gb=J}J=fb;do{Da=n+(J<<2)|0;K=J;J=f[Da>>2]|0;f[Da>>2]=gb}while((J|0)<(K|0));f[z+(D<<2)>>2]=gb;H=E;break a}while(0);do if(B){if(b[x+F>>0]|0){L=D+-2|0;do if((D|0)>1){if(!(b[v+L>>0]|0))break;f[z+(D<<2)>>2]=f[z+(L<<2)>>2];H=E;break a}while(0);Y=f[t+(L<<2)>>2]|0;P=f[z+(L<<2)>>2]|0;J=Y;while(1){K=f[n+(J<<2)>>2]|0;if((K|0)<(J|0))J=K;else break}if((Y|0)==(P|0))hb=J;else{L=P;while(1){K=f[n+(L<<2)>>2]|0;if((K|0)<(L|0))L=K;else break}K=(J|0)>(L|0)?L:J;Da=P;do{ya=n+(Da<<2)|0;N=Da;Da=f[ya>>2]|0;f[ya>>2]=K}while((Da|0)<(N|0));hb=K}K=Y;do{Da=n+(K<<2)|0;P=K;K=f[Da>>2]|0;f[Da>>2]=hb}while((K|0)<(P|0));f[z+(D<<2)>>2]=hb;H=E;break a}if(!(b[x+D>>0]|0))break;K=D+-2|0;do if((D|0)>1){if(!(b[v+K>>0]|0))break;if(!(b[x+K>>0]|0)){Y=f[t+(D<<2)>>2]|0;P=f[z+(K<<2)>>2]|0;Da=Y;while(1){J=f[n+(Da<<2)>>2]|0;if((J|0)<(Da|0))Da=J;else break}if((Y|0)==(P|0))ib=Da;else{J=P;while(1){L=f[n+(J<<2)>>2]|0;if((L|0)<(J|0))J=L;else break}L=(Da|0)>(J|0)?J:Da;N=P;do{ya=n+(N<<2)|0;Q=N;N=f[ya>>2]|0;f[ya>>2]=L}while((N|0)<(Q|0));ib=L}L=Y;do{N=n+(L<<2)|0;P=L;L=f[N>>2]|0;f[N>>2]=ib}while((L|0)<(P|0));f[z+(D<<2)>>2]=ib;H=E;break a}do if(C){if(!(b[y+F>>0]|0))break;f[z+(D<<2)>>2]=f[z+(K<<2)>>2];H=E;break a}while(0);L=f[t+(D<<2)>>2]|0;Y=f[z+(K<<2)>>2]|0;P=L;while(1){N=f[n+(P<<2)>>2]|0;if((N|0)<(P|0))P=N;else break}if((L|0)==(Y|0))jb=P;else{N=Y;while(1){Da=f[n+(N<<2)>>2]|0;if((Da|0)<(N|0))N=Da;else break}Da=(P|0)>(N|0)?N:P;J=Y;do{Q=n+(J<<2)|0;ya=J;J=f[Q>>2]|0;f[Q>>2]=Da}while((J|0)<(ya|0));jb=Da}Da=L;do{J=n+(Da<<2)|0;Y=Da;Da=f[J>>2]|0;f[J>>2]=jb}while((Da|0)<(Y|0));f[z+(D<<2)>>2]=jb;H=E;break a}while(0);Da=f[t+(D<<2)>>2]|0;L=f[z+(K<<2)>>2]|0;Y=Da;while(1){J=f[n+(Y<<2)>>2]|0;if((J|0)<(Y|0))Y=J;else break}if((Da|0)==(L|0))kb=Y;else{K=L;while(1){J=f[n+(K<<2)>>2]|0;if((J|0)<(K|0))K=J;else break}J=(Y|0)>(K|0)?K:Y;P=L;do{N=n+(P<<2)|0;ya=P;P=f[N>>2]|0;f[N>>2]=J}while((P|0)<(ya|0));kb=J}J=Da;do{P=n+(J<<2)|0;L=J;J=f[P>>2]|0;f[P>>2]=kb}while((J|0)<(L|0));f[z+(D<<2)>>2]=kb;H=E;break a}while(0);f[z+(D<<2)>>2]=f[z+(D+-2<<2)>>2];H=E;break}do if(B){if(b[x+F>>0]|0){J=D+-2|0;do if((D|0)>1){if(!(b[v+J>>0]|0))break;f[z+(D<<2)>>2]=f[z+(J<<2)>>2];H=E;break a}while(0);Da=f[t+(J<<2)>>2]|0;L=f[z+(J<<2)>>2]|0;P=Da;while(1){Y=f[n+(P<<2)>>2]|0;if((Y|0)<(P|0))P=Y;else break}if((Da|0)==(L|0))lb=P;else{J=L;while(1){Y=f[n+(J<<2)>>2]|0;if((Y|0)<(J|0))J=Y;else break}Y=(P|0)>(J|0)?J:P;K=L;do{ya=n+(K<<2)|0;N=K;K=f[ya>>2]|0;f[ya>>2]=Y}while((K|0)<(N|0));lb=Y}Y=Da;do{K=n+(Y<<2)|0;L=Y;Y=f[K>>2]|0;f[K>>2]=lb}while((Y|0)<(L|0));f[z+(D<<2)>>2]=lb;H=E;break a}if(!(b[x+D>>0]|0))break;Y=D+-2|0;do if((D|0)>1){if(!(b[v+Y>>0]|0))break;if(!(b[x+Y>>0]|0)){Da=f[t+(D<<2)>>2]|0;L=f[z+(Y<<2)>>2]|0;K=Da;while(1){P=f[n+(K<<2)>>2]|0;if((P|0)<(K|0))K=P;else break}if((Da|0)==(L|0))mb=K;else{P=L;while(1){J=f[n+(P<<2)>>2]|0;if((J|0)<(P|0))P=J;else break}J=(K|0)>(P|0)?P:K;N=L;do{ya=n+(N<<2)|0;Q=N;N=f[ya>>2]|0;f[ya>>2]=J}while((N|0)<(Q|0));mb=J}J=Da;do{N=n+(J<<2)|0;L=J;J=f[N>>2]|0;f[N>>2]=mb}while((J|0)<(L|0));f[z+(D<<2)>>2]=mb;H=E;break a}do if(C){if(!(b[y+F>>0]|0))break;f[z+(D<<2)>>2]=f[z+(Y<<2)>>2];H=E;break a}while(0);J=f[t+(D<<2)>>2]|0;Da=f[z+(Y<<2)>>2]|0;L=J;while(1){N=f[n+(L<<2)>>2]|0;if((N|0)<(L|0))L=N;else break}if((J|0)==(Da|0))nb=L;else{N=Da;while(1){K=f[n+(N<<2)>>2]|0;if((K|0)<(N|0))N=K;else break}K=(L|0)>(N|0)?N:L;P=Da;do{Q=n+(P<<2)|0;ya=P;P=f[Q>>2]|0;f[Q>>2]=K}while((P|0)<(ya|0));nb=K}K=J;do{P=n+(K<<2)|0;Da=K;K=f[P>>2]|0;f[P>>2]=nb}while((K|0)<(Da|0));f[z+(D<<2)>>2]=nb;H=E;break a}while(0);K=f[t+(D<<2)>>2]|0;J=f[z+(Y<<2)>>2]|0;Da=K;while(1){P=f[n+(Da<<2)>>2]|0;if((P|0)<(Da|0))Da=P;else break}if((K|0)==(J|0))ob=Da;else{Y=J;while(1){P=f[n+(Y<<2)>>2]|0;if((P|0)<(Y|0))Y=P;else break}P=(Da|0)>(Y|0)?Y:Da;L=J;do{N=n+(L<<2)|0;ya=L;L=f[N>>2]|0;f[N>>2]=P}while((L|0)<(ya|0));ob=P}P=K;do{L=n+(P<<2)|0;J=P;P=f[L>>2]|0;f[L>>2]=ob}while((P|0)<(J|0));f[z+(D<<2)>>2]=ob;H=E;break a}while(0);f[z+(D<<2)>>2]=f[z+(D+-2<<2)>>2];H=E;break}}P=D|1;K=(P|0)<(i|0);if(B&K?b[x+P>>0]|0:0){if(b[x+D>>0]|0){f[z+(D<<2)>>2]=f[t+(D<<2)>>2];H=E;break}if(G?b[x+F>>0]|0:0){do if(C){if(!(b[y+D>>0]|0))break;f[z+(D<<2)>>2]=f[t+(D<<2)>>2];H=E;break a}while(0);J=f[t+(D+-2<<2)>>2]|0;L=f[t+(D<<2)>>2]|0;Da=J;while(1){Y=f[n+(Da<<2)>>2]|0;if((Y|0)<(Da|0))Da=Y;else break}if((J|0)==(L|0))pb=Da;else{Y=L;while(1){ya=f[n+(Y<<2)>>2]|0;if((ya|0)<(Y|0))Y=ya;else break}ya=(Da|0)>(Y|0)?Y:Da;N=L;do{Q=n+(N<<2)|0;S=N;N=f[Q>>2]|0;f[Q>>2]=ya}while((N|0)<(S|0));pb=ya}ya=J;do{N=n+(ya<<2)|0;L=ya;ya=f[N>>2]|0;f[N>>2]=pb}while((ya|0)<(L|0));f[z+(D<<2)>>2]=pb;H=E;break}f[z+(D<<2)>>2]=f[t+(D<<2)>>2];H=E;break}if(K?b[v+P>>0]|0:0){ya=D+2|0;if(B&(ya|0)<(i|0)?b[x+ya>>0]|0:0){if(b[x+D>>0]|0){do if(C){if(!(b[y+P>>0]|0))break;f[z+(D<<2)>>2]=f[t+(ya<<2)>>2];H=E;break a}while(0);K=f[t+(D<<2)>>2]|0;J=f[t+(ya<<2)>>2]|0;L=K;while(1){N=f[n+(L<<2)>>2]|0;if((N|0)<(L|0))L=N;else break}if((K|0)==(J|0))qb=L;else{N=J;while(1){Da=f[n+(N<<2)>>2]|0;if((Da|0)<(N|0))N=Da;else break}Da=(L|0)>(N|0)?N:L;Y=J;do{S=n+(Y<<2)|0;Q=Y;Y=f[S>>2]|0;f[S>>2]=Da}while((Y|0)<(Q|0));qb=Da}Da=K;do{Y=n+(Da<<2)|0;J=Da;Da=f[Y>>2]|0;f[Y>>2]=qb}while((Da|0)<(J|0));f[z+(D<<2)>>2]=qb;H=E;break}do if(G){if(!(b[x+F>>0]|0))break;do if(C){if(!(b[y+P>>0]|0))break;if(b[y+D>>0]|0){f[z+(D<<2)>>2]=f[t+(ya<<2)>>2];H=E;break a}Da=f[t+(D+-2<<2)>>2]|0;K=f[t+(ya<<2)>>2]|0;J=Da;while(1){Y=f[n+(J<<2)>>2]|0;if((Y|0)<(J|0))J=Y;else break}if((Da|0)==(K|0))rb=J;else{Y=K;while(1){L=f[n+(Y<<2)>>2]|0;if((L|0)<(Y|0))Y=L;else break}L=(J|0)>(Y|0)?Y:J;N=K;do{Q=n+(N<<2)|0;S=N;N=f[Q>>2]|0;f[Q>>2]=L}while((N|0)<(S|0));rb=L}L=Da;do{N=n+(L<<2)|0;K=L;L=f[N>>2]|0;f[N>>2]=rb}while((L|0)<(K|0));f[z+(D<<2)>>2]=rb;H=E;break a}while(0);L=f[t+(D+-2<<2)>>2]|0;Da=f[t+(ya<<2)>>2]|0;K=L;while(1){N=f[n+(K<<2)>>2]|0;if((N|0)<(K|0))K=N;else break}if((L|0)==(Da|0))sb=K;else{N=Da;while(1){J=f[n+(N<<2)>>2]|0;if((J|0)<(N|0))N=J;else break}J=(K|0)>(N|0)?N:K;Y=Da;do{S=n+(Y<<2)|0;Q=Y;Y=f[S>>2]|0;f[S>>2]=J}while((Y|0)<(Q|0));sb=J}J=L;do{Y=n+(J<<2)|0;Da=J;J=f[Y>>2]|0;f[Y>>2]=sb}while((J|0)<(Da|0));f[z+(D<<2)>>2]=sb;H=E;break a}while(0);f[z+(D<<2)>>2]=f[t+(ya<<2)>>2];H=E;break}do if(B){if(b[x+D>>0]|0){f[z+(D<<2)>>2]=f[t+(D<<2)>>2];H=E;break a}if(!G)break;if(!(b[x+F>>0]|0))break;f[z+(D<<2)>>2]=f[t+(D+-2<<2)>>2];H=E;break a}while(0);f[z+(D<<2)>>2]=E;f[n+(E<<2)>>2]=E;H=E+1|0;break}if(B){if(b[x+D>>0]|0){f[z+(D<<2)>>2]=f[t+(D<<2)>>2];H=E;break}if(G?b[x+F>>0]|0:0){f[z+(D<<2)>>2]=f[t+(D+-2<<2)>>2];H=E;break}}f[z+(D<<2)>>2]=E;f[n+(E<<2)>>2]=E;H=E+1|0}while(0);D=D+2|0;if((D|0)>=(i|0)){tb=H;break}else E=H}}else tb=r;s=s+2|0;if((s|0)>=(h|0))break;else r=tb}if((tb|0)>1){r=1;h=1;while(1){s=n+(h<<2)|0;H=f[s>>2]|0;if((H|0)<(h|0)){f[s>>2]=f[n+(H<<2)>>2];ub=r}else{f[s>>2]=r;ub=r+1|0}h=h+1|0;if((h|0)==(tb|0)){vb=ub;break}else r=ub}}else vb=1}else vb=1;Cha(g,vb);ub=f[j>>2]|0;r=f[o>>2]|0;tb=(r&1|0)!=0;h=(ub|0)>0;b:do if(!(ub&1)){if(!tb){if(!h)break;s=c+16|0;H=c+44|0;i=d+16|0;sb=d+44|0;rb=g+20|0;qb=g+120|0;pb=g+48|0;ob=0;nb=r;mb=ub;while(1){lb=f[f[H>>2]>>2]|0;kb=(f[s>>2]|0)+(X(lb,ob)|0)|0;jb=kb+lb|0;lb=f[f[sb>>2]>>2]|0;ib=(f[i>>2]|0)+(X(lb,ob)|0)|0;hb=ib+lb|0;if((nb|0)>0){lb=((ob|0)<0)<<31>>31;gb=ob|1;fb=((gb|0)<0)<<31>>31;eb=0;do{db=ib+(eb<<2)|0;cb=f[db>>2]|0;do if((cb|0)>0){bb=f[n+(cb<<2)>>2]|0;if(!(b[kb+eb>>0]|0)){f[db>>2]=0;ab=f[rb>>2]|0;$a=f[ab>>2]|0;f[ab>>2]=($a|0)>(eb|0)?eb:$a;$a=ab+8|0;_a=f[$a>>2]|0;f[$a>>2]=(_a|0)<(eb|0)?eb:_a;_a=ab+4|0;$a=f[_a>>2]|0;f[_a>>2]=($a|0)>(ob|0)?ob:$a;$a=ab+12|0;_a=f[$a>>2]|0;f[$a>>2]=(_a|0)<(ob|0)?ob:_a;_a=ab+16|0;f[_a>>2]=(f[_a>>2]|0)+1;_a=f[qb>>2]|0;$a=_a;Za=qVa(f[$a>>2]|0,f[$a+4>>2]|0,eb|0,((eb|0)<0)<<31>>31|0)|0;$a=_a;f[$a>>2]=Za;f[$a+4>>2]=I;wb=_a+8|0;xb=ab;yb=_a}else{f[db>>2]=bb;_a=f[rb>>2]|0;ab=_a+(X(f[f[pb>>2]>>2]|0,bb)|0)|0;$a=f[ab>>2]|0;f[ab>>2]=($a|0)>(eb|0)?eb:$a;$a=ab+8|0;Za=f[$a>>2]|0;f[$a>>2]=(Za|0)<(eb|0)?eb:Za;Za=ab+4|0;$a=f[Za>>2]|0;f[Za>>2]=($a|0)>(ob|0)?ob:$a;$a=ab+12|0;Za=f[$a>>2]|0;f[$a>>2]=(Za|0)<(ob|0)?ob:Za;Za=ab+16|0;f[Za>>2]=(f[Za>>2]|0)+1;Za=f[qb>>2]|0;ab=Za+(bb<<4)|0;$a=ab;Ya=qVa(f[$a>>2]|0,f[$a+4>>2]|0,eb|0,((eb|0)<0)<<31>>31|0)|0;$a=ab;f[$a>>2]=Ya;f[$a+4>>2]=I;wb=Za+(bb<<4)+8|0;xb=_a;yb=Za}Za=wb;_a=qVa(f[Za>>2]|0,f[Za+4>>2]|0,ob|0,lb|0)|0;Za=wb;f[Za>>2]=_a;f[Za+4>>2]=I;Za=eb|1;_a=ib+(Za<<2)|0;if(!(b[kb+Za>>0]|0)){f[_a>>2]=0;zb=0;Ab=xb}else{f[_a>>2]=bb;zb=bb;Ab=xb+(X(f[f[pb>>2]>>2]|0,bb)|0)|0}_a=f[Ab>>2]|0;f[Ab>>2]=(_a|0)>(Za|0)?Za:_a;_a=Ab+8|0;$a=f[_a>>2]|0;f[_a>>2]=($a|0)<(Za|0)?Za:$a;$a=Ab+4|0;_a=f[$a>>2]|0;f[$a>>2]=(_a|0)>(ob|0)?ob:_a;_a=Ab+12|0;$a=f[_a>>2]|0;f[_a>>2]=($a|0)<(ob|0)?ob:$a;$a=Ab+16|0;f[$a>>2]=(f[$a>>2]|0)+1;$a=yb+(zb<<4)|0;_a=$a;Ya=qVa(f[_a>>2]|0,f[_a+4>>2]|0,Za|0,((Za|0)<0)<<31>>31|0)|0;_a=$a;f[_a>>2]=Ya;f[_a+4>>2]=I;_a=yb+(zb<<4)+8|0;Ya=_a;$a=qVa(f[Ya>>2]|0,f[Ya+4>>2]|0,ob|0,lb|0)|0;Ya=_a;f[Ya>>2]=$a;f[Ya+4>>2]=I;Ya=hb+(eb<<2)|0;if(!(b[jb+eb>>0]|0)){f[Ya>>2]=0;Bb=0;Cb=xb}else{f[Ya>>2]=bb;Bb=bb;Cb=xb+(X(f[f[pb>>2]>>2]|0,bb)|0)|0}Ya=f[Cb>>2]|0;f[Cb>>2]=(Ya|0)>(eb|0)?eb:Ya;Ya=Cb+8|0;$a=f[Ya>>2]|0;f[Ya>>2]=($a|0)<(eb|0)?eb:$a;$a=Cb+4|0;Ya=f[$a>>2]|0;f[$a>>2]=(Ya|0)>(gb|0)?gb:Ya;Ya=Cb+12|0;$a=f[Ya>>2]|0;f[Ya>>2]=($a|0)<(gb|0)?gb:$a;$a=Cb+16|0;f[$a>>2]=(f[$a>>2]|0)+1;$a=yb+(Bb<<4)|0;Ya=$a;_a=qVa(f[Ya>>2]|0,f[Ya+4>>2]|0,eb|0,((eb|0)<0)<<31>>31|0)|0;Ya=$a;f[Ya>>2]=_a;f[Ya+4>>2]=I;Ya=yb+(Bb<<4)+8|0;_a=Ya;$a=qVa(f[_a>>2]|0,f[_a+4>>2]|0,gb|0,fb|0)|0;_a=Ya;f[_a>>2]=$a;f[_a+4>>2]=I;_a=hb+(Za<<2)|0;if(!(b[jb+Za>>0]|0)){f[_a>>2]=0;$a=f[xb>>2]|0;f[xb>>2]=($a|0)>(Za|0)?Za:$a;$a=xb+8|0;Ya=f[$a>>2]|0;f[$a>>2]=(Ya|0)<(Za|0)?Za:Ya;Ya=xb+4|0;$a=f[Ya>>2]|0;f[Ya>>2]=($a|0)>(gb|0)?gb:$a;$a=xb+12|0;Ya=f[$a>>2]|0;f[$a>>2]=(Ya|0)<(gb|0)?gb:Ya;Ya=xb+16|0;f[Ya>>2]=(f[Ya>>2]|0)+1;Ya=yb;$a=qVa(f[Ya>>2]|0,f[Ya+4>>2]|0,Za|0,((Za|0)<0)<<31>>31|0)|0;Ya=yb;f[Ya>>2]=$a;f[Ya+4>>2]=I;Db=yb+8|0;break}else{f[_a>>2]=bb;_a=xb+(X(f[f[pb>>2]>>2]|0,bb)|0)|0;Ya=f[_a>>2]|0;f[_a>>2]=(Ya|0)>(Za|0)?Za:Ya;Ya=_a+8|0;$a=f[Ya>>2]|0;f[Ya>>2]=($a|0)<(Za|0)?Za:$a;$a=_a+4|0;Ya=f[$a>>2]|0;f[$a>>2]=(Ya|0)>(gb|0)?gb:Ya;Ya=_a+12|0;$a=f[Ya>>2]|0;f[Ya>>2]=($a|0)<(gb|0)?gb:$a;$a=_a+16|0;f[$a>>2]=(f[$a>>2]|0)+1;$a=yb+(bb<<4)|0;_a=$a;Ya=qVa(f[_a>>2]|0,f[_a+4>>2]|0,Za|0,((Za|0)<0)<<31>>31|0)|0;Za=$a;f[Za>>2]=Ya;f[Za+4>>2]=I;Db=yb+(bb<<4)+8|0;break}}else{f[db>>2]=0;bb=eb|1;f[ib+(bb<<2)>>2]=0;f[hb+(eb<<2)>>2]=0;f[hb+(bb<<2)>>2]=0;Za=f[rb>>2]|0;Ya=f[Za>>2]|0;$a=(Ya|0)>(eb|0)?eb:Ya;Ya=Za+8|0;_a=f[Ya>>2]|0;ab=(_a|0)<(eb|0)?eb:_a;_a=Za+4|0;Xa=f[_a>>2]|0;Wa=(Xa|0)>(ob|0)?ob:Xa;Xa=Za+12|0;Va=f[Xa>>2]|0;Ua=(Va|0)<(ob|0)?ob:Va;Va=Za+16|0;Ta=f[Va>>2]|0;Sa=f[qb>>2]|0;Ra=((eb|0)<0)<<31>>31;Qa=Sa;Pa=qVa(f[Qa>>2]|0,f[Qa+4>>2]|0,eb|0,Ra|0)|0;Qa=I;Oa=Sa+8|0;Na=Oa;Ma=qVa(f[Na>>2]|0,f[Na+4>>2]|0,ob|0,lb|0)|0;Na=I;La=($a|0)>(bb|0)?bb:$a;$a=((bb|0)<0)<<31>>31;Ka=qVa(Pa|0,Qa|0,bb|0,$a|0)|0;Qa=I;Pa=qVa(Ma|0,Na|0,ob|0,lb|0)|0;Na=I;Ma=qVa(Ka|0,Qa|0,eb|0,Ra|0)|0;Ra=I;Qa=qVa(Pa|0,Na|0,gb|0,fb|0)|0;Na=Oa;f[Na>>2]=Qa;f[Na+4>>2]=I;f[Za>>2]=(La|0)>(eb|0)?eb:La;f[Ya>>2]=(ab|0)<(bb|0)?bb:ab;f[_a>>2]=(Wa|0)>(gb|0)?gb:Wa;f[Xa>>2]=(Ua|0)<(gb|0)?gb:Ua;f[Va>>2]=Ta+4;Ta=qVa(Ma|0,Ra|0,bb|0,$a|0)|0;$a=Sa;f[$a>>2]=Ta;f[$a+4>>2]=I;Db=Oa}while(0);db=Db;cb=qVa(f[db>>2]|0,f[db+4>>2]|0,gb|0,fb|0)|0;db=Db;f[db>>2]=cb;f[db+4>>2]=I;eb=eb+2|0;Eb=f[o>>2]|0}while((eb|0)<(Eb|0));Fb=f[j>>2]|0;Gb=Eb}else{Fb=mb;Gb=nb}ob=ob+2|0;if((ob|0)>=(Fb|0))break b;else{nb=Gb;mb=Fb}}}if(h){mb=g+20|0;nb=g+120|0;ob=g+48|0;qb=f[c+16>>2]|0;rb=f[c+44>>2]|0;pb=f[d+16>>2]|0;i=f[d+44>>2]|0;sb=0;s=r;H=ub;while(1){eb=f[rb>>2]|0;fb=qb+(X(eb,sb)|0)|0;gb=fb+eb|0;eb=f[i>>2]|0;lb=pb+(X(eb,sb)|0)|0;hb=lb+eb|0;if((s|0)>0){eb=((sb|0)<0)<<31>>31;ib=sb|1;jb=((ib|0)<0)<<31>>31;kb=0;do{db=lb+(kb<<2)|0;cb=f[db>>2]|0;do if((cb|0)>0){F=f[n+(cb<<2)>>2]|0;if(!(b[fb+kb>>0]|0)){f[db>>2]=0;G=f[mb>>2]|0;Oa=f[G>>2]|0;f[G>>2]=(Oa|0)>(kb|0)?kb:Oa;Oa=G+8|0;$a=f[Oa>>2]|0;f[Oa>>2]=($a|0)<(kb|0)?kb:$a;$a=G+4|0;Oa=f[$a>>2]|0;f[$a>>2]=(Oa|0)>(sb|0)?sb:Oa;Oa=G+12|0;$a=f[Oa>>2]|0;f[Oa>>2]=($a|0)<(sb|0)?sb:$a;$a=G+16|0;f[$a>>2]=(f[$a>>2]|0)+1;$a=f[nb>>2]|0;Oa=$a;Ta=qVa(f[Oa>>2]|0,f[Oa+4>>2]|0,kb|0,((kb|0)<0)<<31>>31|0)|0;Oa=$a;f[Oa>>2]=Ta;f[Oa+4>>2]=I;Hb=$a+8|0;Ib=G;Jb=$a}else{f[db>>2]=F;$a=f[mb>>2]|0;G=$a+(X(f[f[ob>>2]>>2]|0,F)|0)|0;Oa=f[G>>2]|0;f[G>>2]=(Oa|0)>(kb|0)?kb:Oa;Oa=G+8|0;Ta=f[Oa>>2]|0;f[Oa>>2]=(Ta|0)<(kb|0)?kb:Ta;Ta=G+4|0;Oa=f[Ta>>2]|0;f[Ta>>2]=(Oa|0)>(sb|0)?sb:Oa;Oa=G+12|0;Ta=f[Oa>>2]|0;f[Oa>>2]=(Ta|0)<(sb|0)?sb:Ta;Ta=G+16|0;f[Ta>>2]=(f[Ta>>2]|0)+1;Ta=f[nb>>2]|0;G=Ta+(F<<4)|0;Oa=G;Sa=qVa(f[Oa>>2]|0,f[Oa+4>>2]|0,kb|0,((kb|0)<0)<<31>>31|0)|0;Oa=G;f[Oa>>2]=Sa;f[Oa+4>>2]=I;Hb=Ta+(F<<4)+8|0;Ib=$a;Jb=Ta}Ta=Hb;$a=qVa(f[Ta>>2]|0,f[Ta+4>>2]|0,sb|0,eb|0)|0;Ta=Hb;f[Ta>>2]=$a;f[Ta+4>>2]=I;Ta=hb+(kb<<2)|0;if(!(b[gb+kb>>0]|0)){f[Ta>>2]=0;Kb=0;Lb=Ib}else{f[Ta>>2]=F;Kb=F;Lb=Ib+(X(f[f[ob>>2]>>2]|0,F)|0)|0}Ta=f[Lb>>2]|0;f[Lb>>2]=(Ta|0)>(kb|0)?kb:Ta;Ta=Lb+8|0;$a=f[Ta>>2]|0;f[Ta>>2]=($a|0)<(kb|0)?kb:$a;$a=Lb+4|0;Ta=f[$a>>2]|0;f[$a>>2]=(Ta|0)>(ib|0)?ib:Ta;Ta=Lb+12|0;$a=f[Ta>>2]|0;f[Ta>>2]=($a|0)<(ib|0)?ib:$a;$a=Lb+16|0;f[$a>>2]=(f[$a>>2]|0)+1;$a=Jb+(Kb<<4)|0;Ta=$a;Oa=qVa(f[Ta>>2]|0,f[Ta+4>>2]|0,kb|0,((kb|0)<0)<<31>>31|0)|0;Ta=$a;f[Ta>>2]=Oa;f[Ta+4>>2]=I;Ta=Jb+(Kb<<4)+8|0;Oa=Ta;$a=qVa(f[Oa>>2]|0,f[Oa+4>>2]|0,ib|0,jb|0)|0;Oa=Ta;f[Oa>>2]=$a;f[Oa+4>>2]=I;Oa=kb|1;if((Oa|0)<(f[o>>2]|0)){$a=lb+(Oa<<2)|0;if(!(b[fb+Oa>>0]|0)){f[$a>>2]=0;Mb=0;Nb=Ib}else{f[$a>>2]=F;Mb=F;Nb=Ib+(X(f[f[ob>>2]>>2]|0,F)|0)|0}$a=f[Nb>>2]|0;f[Nb>>2]=($a|0)>(Oa|0)?Oa:$a;$a=Nb+8|0;Ta=f[$a>>2]|0;f[$a>>2]=(Ta|0)<(Oa|0)?Oa:Ta;Ta=Nb+4|0;$a=f[Ta>>2]|0;f[Ta>>2]=($a|0)>(sb|0)?sb:$a;$a=Nb+12|0;Ta=f[$a>>2]|0;f[$a>>2]=(Ta|0)<(sb|0)?sb:Ta;Ta=Nb+16|0;f[Ta>>2]=(f[Ta>>2]|0)+1;Ta=Jb+(Mb<<4)|0;$a=Ta;Sa=qVa(f[$a>>2]|0,f[$a+4>>2]|0,Oa|0,((Oa|0)<0)<<31>>31|0)|0;$a=Ta;f[$a>>2]=Sa;f[$a+4>>2]=I;$a=Jb+(Mb<<4)+8|0;Sa=$a;Ta=qVa(f[Sa>>2]|0,f[Sa+4>>2]|0,sb|0,eb|0)|0;Sa=$a;f[Sa>>2]=Ta;f[Sa+4>>2]=I;Sa=hb+(Oa<<2)|0;if(!(b[gb+Oa>>0]|0)){f[Sa>>2]=0;Ta=f[Ib>>2]|0;f[Ib>>2]=(Ta|0)>(Oa|0)?Oa:Ta;Ta=Ib+8|0;$a=f[Ta>>2]|0;f[Ta>>2]=($a|0)<(Oa|0)?Oa:$a;$a=Ib+4|0;Ta=f[$a>>2]|0;f[$a>>2]=(Ta|0)>(ib|0)?ib:Ta;Ta=Ib+12|0;$a=f[Ta>>2]|0;f[Ta>>2]=($a|0)<(ib|0)?ib:$a;$a=Ib+16|0;f[$a>>2]=(f[$a>>2]|0)+1;$a=Jb;Ta=qVa(f[$a>>2]|0,f[$a+4>>2]|0,Oa|0,((Oa|0)<0)<<31>>31|0)|0;$a=Jb;f[$a>>2]=Ta;f[$a+4>>2]=I;$a=Jb+8|0;Ta=$a;G=qVa(f[Ta>>2]|0,f[Ta+4>>2]|0,ib|0,jb|0)|0;Ta=$a;f[Ta>>2]=G;f[Ta+4>>2]=I;break}else{f[Sa>>2]=F;Sa=Ib+(X(f[f[ob>>2]>>2]|0,F)|0)|0;Ta=f[Sa>>2]|0;f[Sa>>2]=(Ta|0)>(Oa|0)?Oa:Ta;Ta=Sa+8|0;G=f[Ta>>2]|0;f[Ta>>2]=(G|0)<(Oa|0)?Oa:G;G=Sa+4|0;Ta=f[G>>2]|0;f[G>>2]=(Ta|0)>(ib|0)?ib:Ta;Ta=Sa+12|0;G=f[Ta>>2]|0;f[Ta>>2]=(G|0)<(ib|0)?ib:G;G=Sa+16|0;f[G>>2]=(f[G>>2]|0)+1;G=Jb+(F<<4)|0;Sa=G;Ta=qVa(f[Sa>>2]|0,f[Sa+4>>2]|0,Oa|0,((Oa|0)<0)<<31>>31|0)|0;Oa=G;f[Oa>>2]=Ta;f[Oa+4>>2]=I;Oa=Jb+(F<<4)+8|0;F=Oa;Ta=qVa(f[F>>2]|0,f[F+4>>2]|0,ib|0,jb|0)|0;F=Oa;f[F>>2]=Ta;f[F+4>>2]=I;break}}}else{f[db>>2]=0;f[hb+(kb<<2)>>2]=0;F=f[mb>>2]|0;Ta=f[F>>2]|0;Oa=F+8|0;G=f[Oa>>2]|0;Sa=F+4|0;$a=f[Sa>>2]|0;bb=($a|0)>(sb|0)?sb:$a;$a=F+12|0;Ra=f[$a>>2]|0;Ma=(Ra|0)<(sb|0)?sb:Ra;Ra=F+16|0;Va=f[Ra>>2]|0;Ua=f[nb>>2]|0;Xa=((kb|0)<0)<<31>>31;Wa=Ua;_a=qVa(f[Wa>>2]|0,f[Wa+4>>2]|0,kb|0,Xa|0)|0;Wa=I;ab=Ua+8|0;Ya=ab;La=qVa(f[Ya>>2]|0,f[Ya+4>>2]|0,sb|0,eb|0)|0;Ya=I;f[F>>2]=(Ta|0)>(kb|0)?kb:Ta;f[Oa>>2]=(G|0)<(kb|0)?kb:G;f[Sa>>2]=(bb|0)>(ib|0)?ib:bb;f[$a>>2]=(Ma|0)<(ib|0)?ib:Ma;f[Ra>>2]=Va+2;Va=qVa(_a|0,Wa|0,kb|0,Xa|0)|0;Xa=I;Wa=Ua;f[Wa>>2]=Va;f[Wa+4>>2]=Xa;Wa=qVa(La|0,Ya|0,ib|0,jb|0)|0;Ya=I;La=ab;f[La>>2]=Wa;f[La+4>>2]=Ya;La=kb|1;if((La|0)<(f[o>>2]|0)){f[lb+(La<<2)>>2]=0;f[hb+(La<<2)>>2]=0;_a=f[F>>2]|0;Ma=f[Oa>>2]|0;bb=f[Sa>>2]|0;G=(bb|0)>(sb|0)?sb:bb;bb=f[$a>>2]|0;Ta=(bb|0)<(sb|0)?sb:bb;bb=f[Ra>>2]|0;Za=((La|0)<0)<<31>>31;Na=qVa(Va|0,Xa|0,La|0,Za|0)|0;Xa=I;Va=qVa(Wa|0,Ya|0,sb|0,eb|0)|0;Ya=I;f[F>>2]=(_a|0)>(La|0)?La:_a;f[Oa>>2]=(Ma|0)<(La|0)?La:Ma;f[Sa>>2]=(G|0)>(ib|0)?ib:G;f[$a>>2]=(Ta|0)<(ib|0)?ib:Ta;f[Ra>>2]=bb+2;bb=qVa(Na|0,Xa|0,La|0,Za|0)|0;Za=Ua;f[Za>>2]=bb;f[Za+4>>2]=I;Za=qVa(Va|0,Ya|0,ib|0,jb|0)|0;Ya=ab;f[Ya>>2]=Za;f[Ya+4>>2]=I}}while(0);kb=kb+2|0;Ob=f[o>>2]|0}while((kb|0)<(Ob|0));Pb=f[j>>2]|0;Qb=Ob}else{Pb=H;Qb=s}sb=sb+2|0;if((sb|0)>=(Pb|0))break;else{s=Qb;H=Pb}}}}else{if(!tb){if(!h)break;H=g+20|0;s=g+120|0;sb=g+48|0;nb=f[c+16>>2]|0;mb=f[c+44>>2]|0;ob=f[d+16>>2]|0;pb=f[d+44>>2]|0;i=0;qb=r;rb=ub;while(1){kb=f[mb>>2]|0;jb=nb+(X(kb,i)|0)|0;ib=jb+kb|0;kb=f[pb>>2]|0;eb=ob+(X(kb,i)|0)|0;hb=eb+kb|0;if((qb|0)>0){kb=((i|0)<0)<<31>>31;lb=i|1;gb=((lb|0)<0)<<31>>31;fb=0;do{db=eb+(fb<<2)|0;cb=f[db>>2]|0;do if((cb|0)>0){Ya=f[n+(cb<<2)>>2]|0;if(!(b[jb+fb>>0]|0)){f[db>>2]=0;Za=f[H>>2]|0;ab=f[Za>>2]|0;f[Za>>2]=(ab|0)>(fb|0)?fb:ab;ab=Za+8|0;Va=f[ab>>2]|0;f[ab>>2]=(Va|0)<(fb|0)?fb:Va;Va=Za+4|0;ab=f[Va>>2]|0;f[Va>>2]=(ab|0)>(i|0)?i:ab;ab=Za+12|0;Va=f[ab>>2]|0;f[ab>>2]=(Va|0)<(i|0)?i:Va;Va=Za+16|0;f[Va>>2]=(f[Va>>2]|0)+1;Va=f[s>>2]|0;ab=Va;bb=qVa(f[ab>>2]|0,f[ab+4>>2]|0,fb|0,((fb|0)<0)<<31>>31|0)|0;ab=Va;f[ab>>2]=bb;f[ab+4>>2]=I;Rb=Va+8|0;Sb=Za;Tb=Va}else{f[db>>2]=Ya;Va=f[H>>2]|0;Za=Va+(X(f[f[sb>>2]>>2]|0,Ya)|0)|0;ab=f[Za>>2]|0;f[Za>>2]=(ab|0)>(fb|0)?fb:ab;ab=Za+8|0;bb=f[ab>>2]|0;f[ab>>2]=(bb|0)<(fb|0)?fb:bb;bb=Za+4|0;ab=f[bb>>2]|0;f[bb>>2]=(ab|0)>(i|0)?i:ab;ab=Za+12|0;bb=f[ab>>2]|0;f[ab>>2]=(bb|0)<(i|0)?i:bb;bb=Za+16|0;f[bb>>2]=(f[bb>>2]|0)+1;bb=f[s>>2]|0;Za=bb+(Ya<<4)|0;ab=Za;Ua=qVa(f[ab>>2]|0,f[ab+4>>2]|0,fb|0,((fb|0)<0)<<31>>31|0)|0;ab=Za;f[ab>>2]=Ua;f[ab+4>>2]=I;Rb=bb+(Ya<<4)+8|0;Sb=Va;Tb=bb}bb=Rb;Va=qVa(f[bb>>2]|0,f[bb+4>>2]|0,i|0,kb|0)|0;bb=Rb;f[bb>>2]=Va;f[bb+4>>2]=I;bb=fb|1;Va=eb+(bb<<2)|0;if(!(b[jb+bb>>0]|0)){f[Va>>2]=0;Ub=0;Vb=Sb}else{f[Va>>2]=Ya;Ub=Ya;Vb=Sb+(X(f[f[sb>>2]>>2]|0,Ya)|0)|0}Va=f[Vb>>2]|0;f[Vb>>2]=(Va|0)>(bb|0)?bb:Va;Va=Vb+8|0;ab=f[Va>>2]|0;f[Va>>2]=(ab|0)<(bb|0)?bb:ab;ab=Vb+4|0;Va=f[ab>>2]|0;f[ab>>2]=(Va|0)>(i|0)?i:Va;Va=Vb+12|0;ab=f[Va>>2]|0;f[Va>>2]=(ab|0)<(i|0)?i:ab;ab=Vb+16|0;f[ab>>2]=(f[ab>>2]|0)+1;ab=Tb+(Ub<<4)|0;Va=ab;Ua=qVa(f[Va>>2]|0,f[Va+4>>2]|0,bb|0,((bb|0)<0)<<31>>31|0)|0;Va=ab;f[Va>>2]=Ua;f[Va+4>>2]=I;Va=Tb+(Ub<<4)+8|0;Ua=Va;ab=qVa(f[Ua>>2]|0,f[Ua+4>>2]|0,i|0,kb|0)|0;Ua=Va;f[Ua>>2]=ab;f[Ua+4>>2]=I;if((lb|0)<(f[j>>2]|0)){Ua=hb+(fb<<2)|0;if(!(b[ib+fb>>0]|0)){f[Ua>>2]=0;Wb=0;Xb=Sb}else{f[Ua>>2]=Ya;Wb=Ya;Xb=Sb+(X(f[f[sb>>2]>>2]|0,Ya)|0)|0}Ua=f[Xb>>2]|0;f[Xb>>2]=(Ua|0)>(fb|0)?fb:Ua;Ua=Xb+8|0;ab=f[Ua>>2]|0;f[Ua>>2]=(ab|0)<(fb|0)?fb:ab;ab=Xb+4|0;Ua=f[ab>>2]|0;f[ab>>2]=(Ua|0)>(lb|0)?lb:Ua;Ua=Xb+12|0;ab=f[Ua>>2]|0;f[Ua>>2]=(ab|0)<(lb|0)?lb:ab;ab=Xb+16|0;f[ab>>2]=(f[ab>>2]|0)+1;ab=Tb+(Wb<<4)|0;Ua=ab;Va=qVa(f[Ua>>2]|0,f[Ua+4>>2]|0,fb|0,((fb|0)<0)<<31>>31|0)|0;Ua=ab;f[Ua>>2]=Va;f[Ua+4>>2]=I;Ua=Tb+(Wb<<4)+8|0;Va=Ua;ab=qVa(f[Va>>2]|0,f[Va+4>>2]|0,lb|0,gb|0)|0;Va=Ua;f[Va>>2]=ab;f[Va+4>>2]=I;Va=hb+(bb<<2)|0;if(!(b[ib+bb>>0]|0)){f[Va>>2]=0;ab=f[Sb>>2]|0;f[Sb>>2]=(ab|0)>(bb|0)?bb:ab;ab=Sb+8|0;Ua=f[ab>>2]|0;f[ab>>2]=(Ua|0)<(bb|0)?bb:Ua;Ua=Sb+4|0;ab=f[Ua>>2]|0;f[Ua>>2]=(ab|0)>(lb|0)?lb:ab;ab=Sb+12|0;Ua=f[ab>>2]|0;f[ab>>2]=(Ua|0)<(lb|0)?lb:Ua;Ua=Sb+16|0;f[Ua>>2]=(f[Ua>>2]|0)+1;Ua=Tb;ab=qVa(f[Ua>>2]|0,f[Ua+4>>2]|0,bb|0,((bb|0)<0)<<31>>31|0)|0;Ua=Tb;f[Ua>>2]=ab;f[Ua+4>>2]=I;Ua=Tb+8|0;ab=Ua;Za=qVa(f[ab>>2]|0,f[ab+4>>2]|0,lb|0,gb|0)|0;ab=Ua;f[ab>>2]=Za;f[ab+4>>2]=I;break}else{f[Va>>2]=Ya;Va=Sb+(X(f[f[sb>>2]>>2]|0,Ya)|0)|0;ab=f[Va>>2]|0;f[Va>>2]=(ab|0)>(bb|0)?bb:ab;ab=Va+8|0;Za=f[ab>>2]|0;f[ab>>2]=(Za|0)<(bb|0)?bb:Za;Za=Va+4|0;ab=f[Za>>2]|0;f[Za>>2]=(ab|0)>(lb|0)?lb:ab;ab=Va+12|0;Za=f[ab>>2]|0;f[ab>>2]=(Za|0)<(lb|0)?lb:Za;Za=Va+16|0;f[Za>>2]=(f[Za>>2]|0)+1;Za=Tb+(Ya<<4)|0;Va=Za;ab=qVa(f[Va>>2]|0,f[Va+4>>2]|0,bb|0,((bb|0)<0)<<31>>31|0)|0;bb=Za;f[bb>>2]=ab;f[bb+4>>2]=I;bb=Tb+(Ya<<4)+8|0;Ya=bb;ab=qVa(f[Ya>>2]|0,f[Ya+4>>2]|0,lb|0,gb|0)|0;Ya=bb;f[Ya>>2]=ab;f[Ya+4>>2]=I;break}}}else{f[db>>2]=0;Ya=fb|1;f[eb+(Ya<<2)>>2]=0;ab=f[H>>2]|0;bb=f[ab>>2]|0;Za=(bb|0)>(fb|0)?fb:bb;bb=ab+8|0;Va=f[bb>>2]|0;Ua=(Va|0)<(fb|0)?fb:Va;Va=ab+4|0;La=f[Va>>2]|0;Xa=ab+12|0;Na=f[Xa>>2]|0;Ra=ab+16|0;Ta=f[Ra>>2]|0;$a=f[s>>2]|0;G=((fb|0)<0)<<31>>31;Sa=$a;Ma=qVa(f[Sa>>2]|0,f[Sa+4>>2]|0,fb|0,G|0)|0;Sa=I;Oa=$a+8|0;_a=Oa;F=qVa(f[_a>>2]|0,f[_a+4>>2]|0,i|0,kb|0)|0;_a=I;f[ab>>2]=(Za|0)>(Ya|0)?Ya:Za;f[bb>>2]=(Ua|0)<(Ya|0)?Ya:Ua;f[Va>>2]=(La|0)>(i|0)?i:La;f[Xa>>2]=(Na|0)<(i|0)?i:Na;f[Ra>>2]=Ta+2;Ta=((Ya|0)<0)<<31>>31;Na=qVa(Ma|0,Sa|0,Ya|0,Ta|0)|0;Sa=I;Ma=$a;f[Ma>>2]=Na;f[Ma+4>>2]=Sa;Ma=qVa(F|0,_a|0,i|0,kb|0)|0;_a=I;F=Oa;f[F>>2]=Ma;f[F+4>>2]=_a;if((lb|0)<(f[j>>2]|0)){f[hb+(fb<<2)>>2]=0;f[hb+(Ya<<2)>>2]=0;F=f[ab>>2]|0;La=(F|0)>(fb|0)?fb:F;F=f[bb>>2]|0;Ua=(F|0)<(fb|0)?fb:F;F=f[Va>>2]|0;Za=f[Xa>>2]|0;Wa=f[Ra>>2]|0;Qa=qVa(Na|0,Sa|0,fb|0,G|0)|0;G=I;Sa=qVa(Ma|0,_a|0,lb|0,gb|0)|0;_a=I;f[ab>>2]=(La|0)>(Ya|0)?Ya:La;f[bb>>2]=(Ua|0)<(Ya|0)?Ya:Ua;f[Va>>2]=(F|0)>(lb|0)?lb:F;f[Xa>>2]=(Za|0)<(lb|0)?lb:Za;f[Ra>>2]=Wa+2;Wa=qVa(Qa|0,G|0,Ya|0,Ta|0)|0;Ta=$a;f[Ta>>2]=Wa;f[Ta+4>>2]=I;Ta=qVa(Sa|0,_a|0,lb|0,gb|0)|0;_a=Oa;f[_a>>2]=Ta;f[_a+4>>2]=I}}while(0);fb=fb+2|0;Yb=f[o>>2]|0}while((fb|0)<(Yb|0));Zb=f[j>>2]|0;_b=Yb}else{Zb=rb;_b=qb}i=i+2|0;if((i|0)>=(Zb|0))break b;else{qb=_b;rb=Zb}}}if(h){rb=g+20|0;qb=g+120|0;i=g+48|0;s=f[c+16>>2]|0;H=f[c+44>>2]|0;sb=f[d+16>>2]|0;ob=f[d+44>>2]|0;pb=0;nb=r;mb=ub;while(1){fb=f[H>>2]|0;gb=s+(X(fb,pb)|0)|0;lb=gb+fb|0;fb=f[ob>>2]|0;hb=sb+(X(fb,pb)|0)|0;kb=hb+fb|0;if((nb|0)>0){fb=((pb|0)<0)<<31>>31;eb=pb|1;ib=((eb|0)<0)<<31>>31;jb=0;do{db=hb+(jb<<2)|0;cb=f[db>>2]|0;do if((cb|0)>0){_a=f[n+(cb<<2)>>2]|0;if(!(b[gb+jb>>0]|0)){f[db>>2]=0;Ta=f[rb>>2]|0;Oa=f[Ta>>2]|0;f[Ta>>2]=(Oa|0)>(jb|0)?jb:Oa;Oa=Ta+8|0;Sa=f[Oa>>2]|0;f[Oa>>2]=(Sa|0)<(jb|0)?jb:Sa;Sa=Ta+4|0;Oa=f[Sa>>2]|0;f[Sa>>2]=(Oa|0)>(pb|0)?pb:Oa;Oa=Ta+12|0;Sa=f[Oa>>2]|0;f[Oa>>2]=(Sa|0)<(pb|0)?pb:Sa;Sa=Ta+16|0;f[Sa>>2]=(f[Sa>>2]|0)+1;Sa=f[qb>>2]|0;Oa=Sa;Wa=qVa(f[Oa>>2]|0,f[Oa+4>>2]|0,jb|0,((jb|0)<0)<<31>>31|0)|0;Oa=Sa;f[Oa>>2]=Wa;f[Oa+4>>2]=I;$b=Sa+8|0;ac=Ta;bc=Sa}else{f[db>>2]=_a;Sa=f[rb>>2]|0;Ta=Sa+(X(f[f[i>>2]>>2]|0,_a)|0)|0;Oa=f[Ta>>2]|0;f[Ta>>2]=(Oa|0)>(jb|0)?jb:Oa;Oa=Ta+8|0;Wa=f[Oa>>2]|0;f[Oa>>2]=(Wa|0)<(jb|0)?jb:Wa;Wa=Ta+4|0;Oa=f[Wa>>2]|0;f[Wa>>2]=(Oa|0)>(pb|0)?pb:Oa;Oa=Ta+12|0;Wa=f[Oa>>2]|0;f[Oa>>2]=(Wa|0)<(pb|0)?pb:Wa;Wa=Ta+16|0;f[Wa>>2]=(f[Wa>>2]|0)+1;Wa=f[qb>>2]|0;Ta=Wa+(_a<<4)|0;Oa=Ta;$a=qVa(f[Oa>>2]|0,f[Oa+4>>2]|0,jb|0,((jb|0)<0)<<31>>31|0)|0;Oa=Ta;f[Oa>>2]=$a;f[Oa+4>>2]=I;$b=Wa+(_a<<4)+8|0;ac=Sa;bc=Wa}Wa=$b;Sa=qVa(f[Wa>>2]|0,f[Wa+4>>2]|0,pb|0,fb|0)|0;Wa=$b;f[Wa>>2]=Sa;f[Wa+4>>2]=I;Wa=jb|1;if((Wa|0)>=(f[o>>2]|0)){if((eb|0)>=(f[j>>2]|0))break;Sa=kb+(jb<<2)|0;if(!(b[lb+jb>>0]|0)){f[Sa>>2]=0;Oa=f[ac>>2]|0;f[ac>>2]=(Oa|0)>(jb|0)?jb:Oa;Oa=ac+8|0;$a=f[Oa>>2]|0;f[Oa>>2]=($a|0)<(jb|0)?jb:$a;$a=ac+4|0;Oa=f[$a>>2]|0;f[$a>>2]=(Oa|0)>(eb|0)?eb:Oa;Oa=ac+12|0;$a=f[Oa>>2]|0;f[Oa>>2]=($a|0)<(eb|0)?eb:$a;$a=ac+16|0;f[$a>>2]=(f[$a>>2]|0)+1;$a=bc;Oa=qVa(f[$a>>2]|0,f[$a+4>>2]|0,jb|0,((jb|0)<0)<<31>>31|0)|0;$a=bc;f[$a>>2]=Oa;f[$a+4>>2]=I;$a=bc+8|0;Oa=$a;Ta=qVa(f[Oa>>2]|0,f[Oa+4>>2]|0,eb|0,ib|0)|0;Oa=$a;f[Oa>>2]=Ta;f[Oa+4>>2]=I;break}else{f[Sa>>2]=_a;Sa=ac+(X(f[f[i>>2]>>2]|0,_a)|0)|0;Oa=f[Sa>>2]|0;f[Sa>>2]=(Oa|0)>(jb|0)?jb:Oa;Oa=Sa+8|0;Ta=f[Oa>>2]|0;f[Oa>>2]=(Ta|0)<(jb|0)?jb:Ta;Ta=Sa+4|0;Oa=f[Ta>>2]|0;f[Ta>>2]=(Oa|0)>(eb|0)?eb:Oa;Oa=Sa+12|0;Ta=f[Oa>>2]|0;f[Oa>>2]=(Ta|0)<(eb|0)?eb:Ta;Ta=Sa+16|0;f[Ta>>2]=(f[Ta>>2]|0)+1;Ta=bc+(_a<<4)|0;Sa=Ta;Oa=qVa(f[Sa>>2]|0,f[Sa+4>>2]|0,jb|0,((jb|0)<0)<<31>>31|0)|0;Sa=Ta;f[Sa>>2]=Oa;f[Sa+4>>2]=I;Sa=bc+(_a<<4)+8|0;Oa=Sa;Ta=qVa(f[Oa>>2]|0,f[Oa+4>>2]|0,eb|0,ib|0)|0;Oa=Sa;f[Oa>>2]=Ta;f[Oa+4>>2]=I;break}}Oa=hb+(Wa<<2)|0;if(!(b[gb+Wa>>0]|0)){f[Oa>>2]=0;cc=0;dc=ac}else{f[Oa>>2]=_a;cc=_a;dc=ac+(X(f[f[i>>2]>>2]|0,_a)|0)|0}Oa=f[dc>>2]|0;f[dc>>2]=(Oa|0)>(Wa|0)?Wa:Oa;Oa=dc+8|0;Ta=f[Oa>>2]|0;f[Oa>>2]=(Ta|0)<(Wa|0)?Wa:Ta;Ta=dc+4|0;Oa=f[Ta>>2]|0;f[Ta>>2]=(Oa|0)>(pb|0)?pb:Oa;Oa=dc+12|0;Ta=f[Oa>>2]|0;f[Oa>>2]=(Ta|0)<(pb|0)?pb:Ta;Ta=dc+16|0;f[Ta>>2]=(f[Ta>>2]|0)+1;Ta=bc+(cc<<4)|0;Oa=Ta;Sa=qVa(f[Oa>>2]|0,f[Oa+4>>2]|0,Wa|0,((Wa|0)<0)<<31>>31|0)|0;Oa=Ta;f[Oa>>2]=Sa;f[Oa+4>>2]=I;Oa=bc+(cc<<4)+8|0;Sa=Oa;Ta=qVa(f[Sa>>2]|0,f[Sa+4>>2]|0,pb|0,fb|0)|0;Sa=Oa;f[Sa>>2]=Ta;f[Sa+4>>2]=I;if((eb|0)<(f[j>>2]|0)){Sa=kb+(jb<<2)|0;if(!(b[lb+jb>>0]|0)){f[Sa>>2]=0;ec=0;fc=ac}else{f[Sa>>2]=_a;ec=_a;fc=ac+(X(f[f[i>>2]>>2]|0,_a)|0)|0}Sa=f[fc>>2]|0;f[fc>>2]=(Sa|0)>(jb|0)?jb:Sa;Sa=fc+8|0;Ta=f[Sa>>2]|0;f[Sa>>2]=(Ta|0)<(jb|0)?jb:Ta;Ta=fc+4|0;Sa=f[Ta>>2]|0;f[Ta>>2]=(Sa|0)>(eb|0)?eb:Sa;Sa=fc+12|0;Ta=f[Sa>>2]|0;f[Sa>>2]=(Ta|0)<(eb|0)?eb:Ta;Ta=fc+16|0;f[Ta>>2]=(f[Ta>>2]|0)+1;Ta=bc+(ec<<4)|0;Sa=Ta;Oa=qVa(f[Sa>>2]|0,f[Sa+4>>2]|0,jb|0,((jb|0)<0)<<31>>31|0)|0;Sa=Ta;f[Sa>>2]=Oa;f[Sa+4>>2]=I;Sa=bc+(ec<<4)+8|0;Oa=Sa;Ta=qVa(f[Oa>>2]|0,f[Oa+4>>2]|0,eb|0,ib|0)|0;Oa=Sa;f[Oa>>2]=Ta;f[Oa+4>>2]=I;Oa=kb+(Wa<<2)|0;if(!(b[lb+Wa>>0]|0)){f[Oa>>2]=0;Ta=f[ac>>2]|0;f[ac>>2]=(Ta|0)>(Wa|0)?Wa:Ta;Ta=ac+8|0;Sa=f[Ta>>2]|0;f[Ta>>2]=(Sa|0)<(Wa|0)?Wa:Sa;Sa=ac+4|0;Ta=f[Sa>>2]|0;f[Sa>>2]=(Ta|0)>(eb|0)?eb:Ta;Ta=ac+12|0;Sa=f[Ta>>2]|0;f[Ta>>2]=(Sa|0)<(eb|0)?eb:Sa;Sa=ac+16|0;f[Sa>>2]=(f[Sa>>2]|0)+1;Sa=bc;Ta=qVa(f[Sa>>2]|0,f[Sa+4>>2]|0,Wa|0,((Wa|0)<0)<<31>>31|0)|0;Sa=bc;f[Sa>>2]=Ta;f[Sa+4>>2]=I;Sa=bc+8|0;Ta=Sa;$a=qVa(f[Ta>>2]|0,f[Ta+4>>2]|0,eb|0,ib|0)|0;Ta=Sa;f[Ta>>2]=$a;f[Ta+4>>2]=I;break}else{f[Oa>>2]=_a;Oa=ac+(X(f[f[i>>2]>>2]|0,_a)|0)|0;Ta=f[Oa>>2]|0;f[Oa>>2]=(Ta|0)>(Wa|0)?Wa:Ta;Ta=Oa+8|0;$a=f[Ta>>2]|0;f[Ta>>2]=($a|0)<(Wa|0)?Wa:$a;$a=Oa+4|0;Ta=f[$a>>2]|0;f[$a>>2]=(Ta|0)>(eb|0)?eb:Ta;Ta=Oa+12|0;$a=f[Ta>>2]|0;f[Ta>>2]=($a|0)<(eb|0)?eb:$a;$a=Oa+16|0;f[$a>>2]=(f[$a>>2]|0)+1;$a=bc+(_a<<4)|0;Oa=$a;Ta=qVa(f[Oa>>2]|0,f[Oa+4>>2]|0,Wa|0,((Wa|0)<0)<<31>>31|0)|0;Wa=$a;f[Wa>>2]=Ta;f[Wa+4>>2]=I;Wa=bc+(_a<<4)+8|0;_a=Wa;Ta=qVa(f[_a>>2]|0,f[_a+4>>2]|0,eb|0,ib|0)|0;_a=Wa;f[_a>>2]=Ta;f[_a+4>>2]=I;break}}}else{f[db>>2]=0;_a=f[rb>>2]|0;Ta=f[_a>>2]|0;f[_a>>2]=(Ta|0)>(jb|0)?jb:Ta;Ta=_a+8|0;Wa=f[Ta>>2]|0;f[Ta>>2]=(Wa|0)<(jb|0)?jb:Wa;Wa=_a+4|0;$a=f[Wa>>2]|0;f[Wa>>2]=($a|0)>(pb|0)?pb:$a;$a=_a+12|0;Oa=f[$a>>2]|0;f[$a>>2]=(Oa|0)<(pb|0)?pb:Oa;Oa=_a+16|0;f[Oa>>2]=(f[Oa>>2]|0)+1;Sa=f[qb>>2]|0;Ya=((jb|0)<0)<<31>>31;G=Sa;Qa=qVa(f[G>>2]|0,f[G+4>>2]|0,jb|0,Ya|0)|0;G=I;Ra=Sa;f[Ra>>2]=Qa;f[Ra+4>>2]=G;Ra=Sa+8|0;Za=Ra;Xa=qVa(f[Za>>2]|0,f[Za+4>>2]|0,pb|0,fb|0)|0;Za=I;F=Ra;f[F>>2]=Xa;f[F+4>>2]=Za;F=jb|1;if((F|0)<(f[o>>2]|0)){f[hb+(F<<2)>>2]=0;Va=f[_a>>2]|0;f[_a>>2]=(Va|0)>(F|0)?F:Va;Va=f[Ta>>2]|0;f[Ta>>2]=(Va|0)<(F|0)?F:Va;Va=f[Wa>>2]|0;f[Wa>>2]=(Va|0)>(pb|0)?pb:Va;Va=f[$a>>2]|0;f[$a>>2]=(Va|0)<(pb|0)?pb:Va;f[Oa>>2]=(f[Oa>>2]|0)+1;Va=((F|0)<0)<<31>>31;Ua=qVa(Qa|0,G|0,F|0,Va|0)|0;bb=I;La=Sa;f[La>>2]=Ua;f[La+4>>2]=bb;La=qVa(Xa|0,Za|0,pb|0,fb|0)|0;ab=I;Ma=Ra;f[Ma>>2]=La;f[Ma+4>>2]=ab;if((eb|0)>=(f[j>>2]|0))break;f[kb+(jb<<2)>>2]=0;f[kb+(F<<2)>>2]=0;Ma=f[_a>>2]|0;Na=(Ma|0)>(jb|0)?jb:Ma;Ma=f[Ta>>2]|0;Pa=(Ma|0)<(jb|0)?jb:Ma;Ma=f[Wa>>2]|0;Ka=f[$a>>2]|0;Ja=f[Oa>>2]|0;Ia=qVa(Ua|0,bb|0,jb|0,Ya|0)|0;bb=I;Ua=qVa(La|0,ab|0,eb|0,ib|0)|0;ab=I;f[_a>>2]=(Na|0)>(F|0)?F:Na;f[Ta>>2]=(Pa|0)<(F|0)?F:Pa;f[Wa>>2]=(Ma|0)>(eb|0)?eb:Ma;f[$a>>2]=(Ka|0)<(eb|0)?eb:Ka;f[Oa>>2]=Ja+2;Ja=qVa(Ia|0,bb|0,F|0,Va|0)|0;Va=Sa;f[Va>>2]=Ja;f[Va+4>>2]=I;Va=qVa(Ua|0,ab|0,eb|0,ib|0)|0;ab=Ra;f[ab>>2]=Va;f[ab+4>>2]=I;break}else{if((eb|0)>=(f[j>>2]|0))break;f[kb+(jb<<2)>>2]=0;ab=f[_a>>2]|0;f[_a>>2]=(ab|0)>(jb|0)?jb:ab;ab=f[Ta>>2]|0;f[Ta>>2]=(ab|0)<(jb|0)?jb:ab;ab=f[Wa>>2]|0;f[Wa>>2]=(ab|0)>(eb|0)?eb:ab;ab=f[$a>>2]|0;f[$a>>2]=(ab|0)<(eb|0)?eb:ab;f[Oa>>2]=(f[Oa>>2]|0)+1;Oa=qVa(Qa|0,G|0,jb|0,Ya|0)|0;Ya=Sa;f[Ya>>2]=Oa;f[Ya+4>>2]=I;Ya=qVa(Xa|0,Za|0,eb|0,ib|0)|0;Za=Ra;f[Za>>2]=Ya;f[Za+4>>2]=I;break}}while(0);jb=jb+2|0;gc=f[o>>2]|0}while((jb|0)<(gc|0));hc=f[j>>2]|0;ic=gc}else{hc=mb;ic=nb}pb=pb+2|0;if((pb|0)>=(hc|0))break;else{nb=ic;mb=hc}}}}while(0);hc=g+12|0;if((f[hc>>2]|0)<=0){dX(n);u=a;return vb|0}ic=f[g+20>>2]|0;gc=f[g+48>>2]|0;j=f[g+120>>2]|0;o=f[g+80>>2]|0;bc=f[g+108>>2]|0;g=0;do{ac=ic+(X(f[gc>>2]|0,g)|0)|0;ec=ac+8|0;f[ec>>2]=(f[ec>>2]|0)+1-(f[ac>>2]|0);ec=ac+12|0;f[ec>>2]=(f[ec>>2]|0)+1-(f[ac+4>>2]|0);ec=o+(X(f[bc>>2]|0,g)|0)|0;jc=+((f[ac+16>>2]|0)>>>0);ac=j+(g<<4)|0;p[ec>>3]=(+((f[ac>>2]|0)>>>0)+4294967296.0*+((f[ac+4>>2]|0)>>>0))/jc;ac=j+(g<<4)+8|0;p[ec+8>>3]=(+((f[ac>>2]|0)>>>0)+4294967296.0*+((f[ac+4>>2]|0)>>>0))/jc;g=g+1|0}while((g|0)<(f[hc>>2]|0));dX(n);u=a;return vb|0}function Aha(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0;a=u;u=u+64|0;h=a+48|0;i=a+28|0;j=a;k=c+8|0;l=d+8|0;if((f[k>>2]|0)!=(f[l>>2]|0)){f[h>>2]=0;f[h+4>>2]=0;m=JV(h,26)|0;n=231382;o=m+26|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,h,451664,231084,2526);KV(h)}q=c+12|0;if((f[q>>2]|0)!=(f[d+12>>2]|0)){f[h>>2]=0;f[h+4>>2]=0;m=JV(h,26)|0;n=231409;o=m+26|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,h,451664,231084,2527);KV(h)}if((e|0)!=8){f[h>>2]=0;f[h+4>>2]=0;m=JV(h,17)|0;n=231436;o=m+17|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,h,451664,231084,2528);KV(h)}n=f[k>>2]|0;k=((f[q>>2]|0)+1|0)/2|0;q=cX(n<<2)|0;e=cX((X(((n+1|0)/2|0)<<2,k)|0)+4|0)|0;f[e>>2]=0;f[h>>2]=0;f[h+4>>2]=n;r=(n|0)/2|0;s=(a_()|0)<<2;t=(s|0)<(r|0)?s:r;v=+(((t|0)>1?t:1)|0);f[i>>2]=58400;f[i+4>>2]=c;f[i+8>>2]=d;f[i+12>>2]=e;f[i+16>>2]=q;$Z(h,i,v);Bha(c,d,e,q);f[i>>2]=1;if((n|0)>0){t=0;do{r=t+1|0;s=(X((r|0)/2|0,k)|0)+1|0;w=f[q+(r<<2)>>2]|0;r=w+s|0;if((w|0)>0){w=s;do{s=e+(w<<2)|0;x=f[s>>2]|0;if((x|0)<(w|0))f[s>>2]=f[e+(x<<2)>>2];else{f[s>>2]=f[i>>2];f[i>>2]=(f[i>>2]|0)+1}w=w+1|0}while((w|0)<(r|0))}t=f[q+(t<<2)>>2]|0}while((t|0)<(n|0))}t=n*136|0;k=FQa(n>>>0>31580641|t>>>0>4294967291?-1:t+4|0)|0;f[k>>2]=n;t=k+4|0;if(n|0){r=t+(n*136|0)|0;n=t;do{f[n>>2]=0;f[n+4>>2]=1124007936;w=n+12|0;s=n+44|0;m=n+8|0;o=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(o|0));f[s>>2]=w;x=n+52|0;f[n+48>>2]=x;f[x>>2]=0;f[n+56>>2]=0;f[n+60>>2]=0;f[n+64>>2]=1124007936;x=n+72|0;y=n+104|0;m=n+68|0;o=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(o|0));f[y>>2]=x;w=n+112|0;f[n+108>>2]=w;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;f[w+16>>2]=0;f[w+20>>2]=0;n=n+136|0}while((n|0)!=(r|0))}Cha(g,f[i>>2]|0);f[j>>2]=58420;f[j+4>>2]=c;f[j+8>>2]=d;f[j+12>>2]=e;f[j+16>>2]=g;f[j+20>>2]=t;f[j+24>>2]=i;$Z(h,j,v);j=f[l>>2]|0;l=f[g+132>>2]|0;if((l|0)<(j|0)){h=g+20|0;d=g+48|0;c=g+120|0;r=l;l=f[i>>2]|0;while(1){if((l|0)>0){n=t+(r*136|0)+120|0;m=f[t+(r*136|0)+20>>2]|0;o=f[t+(r*136|0)+48>>2]|0;w=0;s=l;while(1){z=m+(X(f[o>>2]|0,w)|0)|0;A=z+16|0;if((f[A>>2]|0)>0){B=(f[h>>2]|0)+(X(f[f[d>>2]>>2]|0,w)|0)|0;C=f[B>>2]|0;D=f[z>>2]|0;f[B>>2]=(C|0)>(D|0)?D:C;C=B+8|0;f[C>>2]=f[((f[C>>2]|0)<(f[z+8>>2]|0)?z:B)+8>>2];C=B+4|0;f[C>>2]=f[((f[C>>2]|0)>(f[z+4>>2]|0)?z:B)+4>>2];C=B+12|0;f[C>>2]=f[((f[C>>2]|0)<(f[z+12>>2]|0)?z:B)+12>>2];z=B+16|0;f[z>>2]=(f[z>>2]|0)+(f[A>>2]|0);A=f[n>>2]|0;z=A+(w<<4)|0;B=f[c>>2]|0;C=B+(w<<4)|0;D=C;E=qVa(f[D>>2]|0,f[D+4>>2]|0,f[z>>2]|0,f[z+4>>2]|0)|0;z=C;f[z>>2]=E;f[z+4>>2]=I;z=A+(w<<4)+8|0;A=B+(w<<4)+8|0;B=A;E=qVa(f[B>>2]|0,f[B+4>>2]|0,f[z>>2]|0,f[z+4>>2]|0)|0;z=A;f[z>>2]=E;f[z+4>>2]=I;F=f[i>>2]|0}else F=s;w=w+1|0;if((w|0)>=(F|0)){G=F;break}else s=F}}else G=l;r=f[t+(r*136|0)+132>>2]|0;if((r|0)>=(j|0))break;else l=G}}G=g+12|0;if((f[G>>2]|0)>0){l=f[g+20>>2]|0;j=f[g+48>>2]|0;r=f[g+120>>2]|0;F=f[g+80>>2]|0;c=f[g+108>>2]|0;g=0;do{d=l+(X(f[j>>2]|0,g)|0)|0;h=d+8|0;f[h>>2]=(f[h>>2]|0)+1-(f[d>>2]|0);h=d+12|0;f[h>>2]=(f[h>>2]|0)+1-(f[d+4>>2]|0);h=F+(X(f[c>>2]|0,g)|0)|0;v=+((f[d+16>>2]|0)>>>0);d=r+(g<<4)|0;p[h>>3]=(+((f[d>>2]|0)>>>0)+4294967296.0*+((f[d+4>>2]|0)>>>0))/v;d=r+(g<<4)+8|0;p[h+8>>3]=(+((f[d>>2]|0)>>>0)+4294967296.0*+((f[d+4>>2]|0)>>>0))/v;g=g+1|0}while((g|0)<(f[G>>2]|0))}G=t+((f[k>>2]|0)*136|0)|0;if((G|0)==(t|0)){HQa(k);dX(q);dX(e);H=f[i>>2]|0;u=a;return H|0}else J=G;do{J=J+-136|0;uha(J)}while((J|0)!=(t|0));HQa(k);dX(q);dX(e);H=f[i>>2]|0;u=a;return H|0}function Bha(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;g=f[c+12>>2]|0;h=f[c+8>>2]|0;i=f[e>>2]|0;if((i|0)>=(h|0))return;j=(g|0)>0;k=g+-1|0;l=g+-2|0;m=f[c+16>>2]|0;n=f[c+44>>2]|0;c=f[a+16>>2]|0;o=f[a+44>>2]|0;a=i;do{i=f[n>>2]|0;p=m+(X(i,a)|0)|0;q=0-i|0;i=p+q+q|0;q=f[o>>2]|0;r=c+(X(q,a)|0)|0;s=r+(0-q)|0;if(j){q=0;do{t=p+(q<<2)|0;u=f[t>>2]|0;if((u|0)>0){if((((q|0)>1?(v=f[i+(q+-2<<2)>>2]|0,(v|0)>0):0)?(b[r+q>>0]|0)!=0:0)?(b[s+(q+-1)>>0]|0)!=0:0){w=v;while(1){x=f[d+(w<<2)>>2]|0;if((x|0)<(w|0))w=x;else break}if((v|0)==(u|0))y=w;else{x=u;while(1){z=f[d+(x<<2)>>2]|0;if((z|0)<(x|0))x=z;else break}z=(w|0)>(x|0)?x:w;A=u;do{B=d+(A<<2)|0;C=A;A=f[B>>2]|0;f[B>>2]=z}while((A|0)<(C|0));y=z}z=v;do{A=d+(z<<2)|0;w=z;z=f[A>>2]|0;f[A>>2]=y}while((z|0)<(w|0));f[t>>2]=y;D=y}else D=u;z=f[i+(q<<2)>>2]|0;a:do if((z|0)>0){v=b[r+q>>0]|0;w=v<<24>>24!=0;if((q|0)>=(k|0)){if(!w){E=D;break}if(!(b[s+q>>0]|0)){E=D;break}else F=z;while(1){A=f[d+(F<<2)>>2]|0;if((A|0)<(F|0))F=A;else break}if((z|0)==(D|0))G=F;else{A=D;while(1){x=f[d+(A<<2)>>2]|0;if((x|0)<(A|0))A=x;else break}x=(F|0)>(A|0)?A:F;C=D;do{B=d+(C<<2)|0;H=C;C=f[B>>2]|0;f[B>>2]=x}while((C|0)<(H|0));G=x}x=z;do{C=d+(x<<2)|0;A=x;x=f[C>>2]|0;f[C>>2]=G}while((x|0)<(A|0));f[t>>2]=G;E=G;break}if(w?(b[s+q>>0]|0)!=0:0)I=z;else J=23;do if((J|0)==23){J=0;x=q|1;A=(b[r+x>>0]|0)==0;if(!A?b[s+q>>0]|0:0){I=z;break}if(v<<24>>24?b[s+x>>0]|0:0){I=z;break}if(A){E=D;break a}if(!(b[s+x>>0]|0)){E=D;break a}else I=z}while(0);while(1){v=f[d+(I<<2)>>2]|0;if((v|0)<(I|0))I=v;else break}if((z|0)==(D|0))K=I;else{v=D;while(1){w=f[d+(v<<2)>>2]|0;if((w|0)<(v|0))v=w;else break}w=(I|0)>(v|0)?v:I;x=D;do{A=d+(x<<2)|0;C=x;x=f[A>>2]|0;f[A>>2]=w}while((x|0)<(C|0));K=w}w=z;do{x=d+(w<<2)|0;v=w;w=f[x>>2]|0;f[x>>2]=K}while((w|0)<(v|0));f[t>>2]=K;E=K}else E=D;while(0);if((((q|0)<(l|0)?(z=q+2|0,u=f[i+(z<<2)>>2]|0,(u|0)>0):0)?b[r+(q|1)>>0]|0:0)?b[s+z>>0]|0:0){z=u;while(1){w=f[d+(z<<2)>>2]|0;if((w|0)<(z|0))z=w;else break}if((u|0)==(E|0))L=z;else{w=E;while(1){v=f[d+(w<<2)>>2]|0;if((v|0)<(w|0))w=v;else break}v=(z|0)>(w|0)?w:z;x=E;do{C=d+(x<<2)|0;A=x;x=f[C>>2]|0;f[C>>2]=v}while((x|0)<(A|0));L=v}v=u;do{x=d+(v<<2)|0;z=v;v=f[x>>2]|0;f[x>>2]=L}while((v|0)<(z|0));f[t>>2]=L}}q=q+2|0}while((q|0)<(g|0))}a=f[e+(a<<2)>>2]|0}while((a|0)<(h|0));return}function Cha(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+80|0;d=c+64|0;e=c;g=c+56|0;h=f[a>>2]|0;f[d>>2]=5;f[d+4>>2]=b;_J(h,d,4,-1,0,0);d=f[a>>2]|0;do if((HJ(d)|0)==65536){h=f[d+4>>2]|0;f[e>>2]=f[h>>2];i=e+4|0;j=h+4|0;f[i>>2]=f[j>>2];k=e+8|0;f[k>>2]=f[h+8>>2];f[e+12>>2]=f[h+12>>2];f[e+16>>2]=f[h+16>>2];f[e+20>>2]=f[h+20>>2];f[e+24>>2]=f[h+24>>2];f[e+28>>2]=f[h+28>>2];f[e+32>>2]=f[h+32>>2];l=f[h+36>>2]|0;f[e+36>>2]=l;f[e+40>>2]=k;k=e+48|0;m=e+44|0;f[m>>2]=k;f[k>>2]=0;f[e+52>>2]=0;if(l|0){k=l+12|0;f[k>>2]=(f[k>>2]|0)+1}if((f[j>>2]|0)<3){j=f[h+44>>2]|0;k=f[m>>2]|0;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];break}else{f[i>>2]=0;WO(e,h);break}}else DJ(e,d,-1);while(0);d=a+4|0;h=e+36|0;i=f[h>>2]|0;if((d|0)==(e|0))n=i;else{if(i|0){j=i+12|0;f[j>>2]=(f[j>>2]|0)+1}j=a+40|0;i=f[j>>2]|0;if(i|0?(k=i+12|0,i=f[k>>2]|0,f[k>>2]=i+-1,(i|0)==1):0)XO(d);f[j>>2]=0;i=a+20|0;k=a+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[k>>2]|0)>0){m=f[a+44>>2]|0;l=0;do{f[m+(l<<2)>>2]=0;l=l+1|0;o=f[k>>2]|0}while((l|0)<(o|0));f[d>>2]=f[e>>2];if((o|0)<3)p=19;else p=21}else{f[d>>2]=f[e>>2];p=19}if((p|0)==19){o=f[e+4>>2]|0;if((o|0)<3){f[k>>2]=o;f[a+12>>2]=f[e+8>>2];f[a+16>>2]=f[e+12>>2];o=f[e+44>>2]|0;k=f[a+48>>2]|0;f[k>>2]=f[o>>2];f[k+4>>2]=f[o+4>>2]}else p=21}if((p|0)==21)WO(d,e);f[i>>2]=f[e+16>>2];f[a+24>>2]=f[e+20>>2];f[a+28>>2]=f[e+24>>2];f[a+32>>2]=f[e+28>>2];f[a+36>>2]=f[e+32>>2];i=f[h>>2]|0;f[j>>2]=i;n=i}if(n|0?(i=n+12|0,n=f[i>>2]|0,f[i>>2]=n+-1,(n|0)==1):0)XO(e);f[h>>2]=0;h=e+16|0;n=e+4|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;if((f[n>>2]|0)>0){h=f[e+40>>2]|0;i=0;do{f[h+(i<<2)>>2]=0;i=i+1|0}while((i|0)<(f[n>>2]|0))}n=f[e+44>>2]|0;if((n|0)!=(e+48|0))dX(n);n=a+60|0;i=f[n>>2]|0;f[g>>2]=2;f[g+4>>2]=b;_J(i,g,6,-1,0,0);g=f[n>>2]|0;do if((HJ(g)|0)==65536){n=f[g+4>>2]|0;f[e>>2]=f[n>>2];i=e+4|0;h=n+4|0;f[i>>2]=f[h>>2];j=e+8|0;f[j>>2]=f[n+8>>2];f[e+12>>2]=f[n+12>>2];f[e+16>>2]=f[n+16>>2];f[e+20>>2]=f[n+20>>2];f[e+24>>2]=f[n+24>>2];f[e+28>>2]=f[n+28>>2];f[e+32>>2]=f[n+32>>2];d=f[n+36>>2]|0;f[e+36>>2]=d;f[e+40>>2]=j;j=e+48|0;o=e+44|0;f[o>>2]=j;f[j>>2]=0;f[e+52>>2]=0;if(d|0){j=d+12|0;f[j>>2]=(f[j>>2]|0)+1}if((f[h>>2]|0)<3){h=f[n+44>>2]|0;j=f[o>>2]|0;f[j>>2]=f[h>>2];f[j+4>>2]=f[h+4>>2];break}else{f[i>>2]=0;WO(e,n);break}}else DJ(e,g,-1);while(0);g=a+64|0;n=e+36|0;i=f[n>>2]|0;if((g|0)==(e|0))q=i;else{if(i|0){h=i+12|0;f[h>>2]=(f[h>>2]|0)+1}h=a+100|0;i=f[h>>2]|0;if(i|0?(j=i+12|0,i=f[j>>2]|0,f[j>>2]=i+-1,(i|0)==1):0)XO(g);f[h>>2]=0;i=a+80|0;j=a+68|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[j>>2]|0)>0){o=f[a+104>>2]|0;d=0;do{f[o+(d<<2)>>2]=0;d=d+1|0;r=f[j>>2]|0}while((d|0)<(r|0));f[g>>2]=f[e>>2];if((r|0)<3)p=49;else p=51}else{f[g>>2]=f[e>>2];p=49}if((p|0)==49){r=f[e+4>>2]|0;if((r|0)<3){f[j>>2]=r;f[a+72>>2]=f[e+8>>2];f[a+76>>2]=f[e+12>>2];r=f[e+44>>2]|0;j=f[a+108>>2]|0;f[j>>2]=f[r>>2];f[j+4>>2]=f[r+4>>2]}else p=51}if((p|0)==51)WO(g,e);f[i>>2]=f[e+16>>2];f[a+84>>2]=f[e+20>>2];f[a+88>>2]=f[e+24>>2];f[a+92>>2]=f[e+28>>2];f[a+96>>2]=f[e+32>>2];i=f[n>>2]|0;f[h>>2]=i;q=i}if(q|0?(i=q+12|0,q=f[i>>2]|0,f[i>>2]=q+-1,(q|0)==1):0)XO(e);f[n>>2]=0;n=e+16|0;q=e+4|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;if((f[q>>2]|0)>0){n=f[e+40>>2]|0;i=0;do{f[n+(i<<2)>>2]=0;i=i+1|0}while((i|0)<(f[q>>2]|0))}q=f[e+44>>2]|0;if((q|0)!=(e+48|0))dX(q);if((b|0)>0){q=f[a+20>>2]|0;i=f[a+48>>2]|0;n=0;do{h=q+(X(f[i>>2]|0,n)|0)|0;f[h>>2]=2147483647;f[h+4>>2]=2147483647;f[h+8>>2]=-2147483648;f[h+12>>2]=-2147483648;f[h+16>>2]=0;n=n+1|0}while((n|0)!=(b|0))}n=a+120|0;i=a+124|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;a=f[i>>2]|0;q=f[n>>2]|0;h=a-q>>4;g=a;if(h>>>0>>0){Gha(n,b-h|0,e);u=c;return}if(h>>>0<=b>>>0){u=c;return}h=q+(b<<4)|0;if((h|0)==(g|0)){u=c;return}f[i>>2]=g+(~((g+-16-h|0)>>>4)<<4);u=c;return}function Dha(a){a=a|0;GQa(a);return}function Eha(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0;d=f[c>>2]|0;e=((d|0)%2|0)+d|0;d=f[c+4>>2]|0;c=((d|0)%2|0)+d|0;if((e|0)>0){d=a+20|0;Fha((f[d>>2]|0)+(e*136|0)|0,f[f[a+24>>2]>>2]|0);g=f[d>>2]|0;f[g+(e*136|0)+132>>2]=c;d=a+8|0;h=f[d>>2]|0;i=f[h+12>>2]|0;j=(i&1|0)!=0;k=(e|0)<(c|0);if(!(f[h+8>>2]&1)){if(!j){if(!k)return;l=a+4|0;m=a+12|0;n=g+(e*136|0)+20|0;o=g+(e*136|0)+120|0;p=g+(e*136|0)+48|0;q=g+(e*136|0)+48|0;r=g+(e*136|0)+48|0;s=g+(e*136|0)+20|0;t=g+(e*136|0)+48|0;u=g+(e*136|0)+120|0;v=g+(e*136|0)+20|0;w=g+(e*136|0)+120|0;x=e;y=h;z=i;while(1){A=f[l>>2]|0;B=f[f[A+44>>2]>>2]|0;C=(f[A+16>>2]|0)+(X(B,x)|0)|0;A=C+B|0;B=f[f[y+44>>2]>>2]|0;D=(f[y+16>>2]|0)+(X(B,x)|0)|0;E=D+B|0;if((z|0)>0){B=((x|0)<0)<<31>>31;F=x+1|0;G=((F|0)<0)<<31>>31;H=0;do{J=D+(H<<2)|0;K=f[J>>2]|0;do if((K|0)>0){L=f[(f[m>>2]|0)+(K<<2)>>2]|0;if(!(b[C+H>>0]|0)){f[J>>2]=0;M=f[n>>2]|0;N=f[M>>2]|0;f[M>>2]=(N|0)>(H|0)?H:N;N=M+8|0;O=f[N>>2]|0;f[N>>2]=(O|0)<(H|0)?H:O;O=M+4|0;N=f[O>>2]|0;f[O>>2]=(N|0)>(x|0)?x:N;N=M+12|0;O=f[N>>2]|0;f[N>>2]=(O|0)<(x|0)?x:O;O=M+16|0;f[O>>2]=(f[O>>2]|0)+1;O=f[o>>2]|0;N=O;P=qVa(f[N>>2]|0,f[N+4>>2]|0,H|0,((H|0)<0)<<31>>31|0)|0;N=O;f[N>>2]=P;f[N+4>>2]=I;Q=O+8|0;R=M;S=O}else{f[J>>2]=L;O=f[s>>2]|0;M=O+(X(f[f[t>>2]>>2]|0,L)|0)|0;N=f[M>>2]|0;f[M>>2]=(N|0)>(H|0)?H:N;N=M+8|0;P=f[N>>2]|0;f[N>>2]=(P|0)<(H|0)?H:P;P=M+4|0;N=f[P>>2]|0;f[P>>2]=(N|0)>(x|0)?x:N;N=M+12|0;P=f[N>>2]|0;f[N>>2]=(P|0)<(x|0)?x:P;P=M+16|0;f[P>>2]=(f[P>>2]|0)+1;P=f[u>>2]|0;M=P+(L<<4)|0;N=M;T=qVa(f[N>>2]|0,f[N+4>>2]|0,H|0,((H|0)<0)<<31>>31|0)|0;N=M;f[N>>2]=T;f[N+4>>2]=I;Q=P+(L<<4)+8|0;R=O;S=P}P=Q;O=qVa(f[P>>2]|0,f[P+4>>2]|0,x|0,B|0)|0;P=Q;f[P>>2]=O;f[P+4>>2]=I;P=H|1;O=D+(P<<2)|0;if(!(b[C+P>>0]|0)){f[O>>2]=0;U=0;V=R}else{f[O>>2]=L;U=L;V=R+(X(f[f[r>>2]>>2]|0,L)|0)|0}O=f[V>>2]|0;f[V>>2]=(O|0)>(P|0)?P:O;O=V+8|0;N=f[O>>2]|0;f[O>>2]=(N|0)<(P|0)?P:N;N=V+4|0;O=f[N>>2]|0;f[N>>2]=(O|0)>(x|0)?x:O;O=V+12|0;N=f[O>>2]|0;f[O>>2]=(N|0)<(x|0)?x:N;N=V+16|0;f[N>>2]=(f[N>>2]|0)+1;N=S+(U<<4)|0;O=N;T=qVa(f[O>>2]|0,f[O+4>>2]|0,P|0,((P|0)<0)<<31>>31|0)|0;O=N;f[O>>2]=T;f[O+4>>2]=I;O=S+(U<<4)+8|0;T=O;N=qVa(f[T>>2]|0,f[T+4>>2]|0,x|0,B|0)|0;T=O;f[T>>2]=N;f[T+4>>2]=I;T=E+(H<<2)|0;if(!(b[A+H>>0]|0)){f[T>>2]=0;W=0;Y=R}else{f[T>>2]=L;W=L;Y=R+(X(f[f[q>>2]>>2]|0,L)|0)|0}T=f[Y>>2]|0;f[Y>>2]=(T|0)>(H|0)?H:T;T=Y+8|0;N=f[T>>2]|0;f[T>>2]=(N|0)<(H|0)?H:N;N=Y+4|0;T=f[N>>2]|0;f[N>>2]=(T|0)>(F|0)?F:T;T=Y+12|0;N=f[T>>2]|0;f[T>>2]=(N|0)<(F|0)?F:N;N=Y+16|0;f[N>>2]=(f[N>>2]|0)+1;N=S+(W<<4)|0;T=N;O=qVa(f[T>>2]|0,f[T+4>>2]|0,H|0,((H|0)<0)<<31>>31|0)|0;T=N;f[T>>2]=O;f[T+4>>2]=I;T=S+(W<<4)+8|0;O=T;N=qVa(f[O>>2]|0,f[O+4>>2]|0,F|0,G|0)|0;O=T;f[O>>2]=N;f[O+4>>2]=I;O=E+(P<<2)|0;if(!(b[A+P>>0]|0)){f[O>>2]=0;N=f[R>>2]|0;f[R>>2]=(N|0)>(P|0)?P:N;N=R+8|0;T=f[N>>2]|0;f[N>>2]=(T|0)<(P|0)?P:T;T=R+4|0;N=f[T>>2]|0;f[T>>2]=(N|0)>(F|0)?F:N;N=R+12|0;T=f[N>>2]|0;f[N>>2]=(T|0)<(F|0)?F:T;T=R+16|0;f[T>>2]=(f[T>>2]|0)+1;T=S;N=qVa(f[T>>2]|0,f[T+4>>2]|0,P|0,((P|0)<0)<<31>>31|0)|0;T=S;f[T>>2]=N;f[T+4>>2]=I;Z=S+8|0;break}else{f[O>>2]=L;O=R+(X(f[f[p>>2]>>2]|0,L)|0)|0;T=f[O>>2]|0;f[O>>2]=(T|0)>(P|0)?P:T;T=O+8|0;N=f[T>>2]|0;f[T>>2]=(N|0)<(P|0)?P:N;N=O+4|0;T=f[N>>2]|0;f[N>>2]=(T|0)>(F|0)?F:T;T=O+12|0;N=f[T>>2]|0;f[T>>2]=(N|0)<(F|0)?F:N;N=O+16|0;f[N>>2]=(f[N>>2]|0)+1;N=S+(L<<4)|0;O=N;T=qVa(f[O>>2]|0,f[O+4>>2]|0,P|0,((P|0)<0)<<31>>31|0)|0;P=N;f[P>>2]=T;f[P+4>>2]=I;Z=S+(L<<4)+8|0;break}}else{f[J>>2]=0;L=H|1;f[D+(L<<2)>>2]=0;f[E+(H<<2)>>2]=0;f[E+(L<<2)>>2]=0;P=f[v>>2]|0;T=f[P>>2]|0;N=(T|0)>(H|0)?H:T;T=P+8|0;O=f[T>>2]|0;M=(O|0)<(H|0)?H:O;O=P+4|0;_=f[O>>2]|0;$=(_|0)>(x|0)?x:_;_=P+12|0;aa=f[_>>2]|0;ba=(aa|0)<(x|0)?x:aa;aa=P+16|0;ca=f[aa>>2]|0;da=f[w>>2]|0;ea=((H|0)<0)<<31>>31;fa=da;ga=qVa(f[fa>>2]|0,f[fa+4>>2]|0,H|0,ea|0)|0;fa=I;ha=da+8|0;ia=ha;ja=qVa(f[ia>>2]|0,f[ia+4>>2]|0,x|0,B|0)|0;ia=I;ka=(N|0)>(L|0)?L:N;N=((L|0)<0)<<31>>31;la=qVa(ga|0,fa|0,L|0,N|0)|0;fa=I;ga=qVa(ja|0,ia|0,x|0,B|0)|0;ia=I;ja=qVa(la|0,fa|0,H|0,ea|0)|0;ea=I;fa=qVa(ga|0,ia|0,F|0,G|0)|0;ia=ha;f[ia>>2]=fa;f[ia+4>>2]=I;f[P>>2]=(ka|0)>(H|0)?H:ka;f[T>>2]=(M|0)<(L|0)?L:M;f[O>>2]=($|0)>(F|0)?F:$;f[_>>2]=(ba|0)<(F|0)?F:ba;f[aa>>2]=ca+4;ca=qVa(ja|0,ea|0,L|0,N|0)|0;N=da;f[N>>2]=ca;f[N+4>>2]=I;Z=ha}while(0);J=Z;K=qVa(f[J>>2]|0,f[J+4>>2]|0,F|0,G|0)|0;J=Z;f[J>>2]=K;f[J+4>>2]=I;H=H+2|0;J=f[d>>2]|0;K=f[J+12>>2]|0}while((H|0)<(K|0));ma=K;na=J}else{ma=z;na=y}x=x+2|0;if((x|0)>=(c|0))break;else{y=na;z=ma}}return}if(!k)return;ma=a+4|0;z=a+12|0;na=g+(e*136|0)+20|0;y=g+(e*136|0)+120|0;x=g+(e*136|0)+48|0;Z=g+(e*136|0)+48|0;w=g+(e*136|0)+48|0;v=g+(e*136|0)+20|0;S=g+(e*136|0)+48|0;p=g+(e*136|0)+120|0;R=g+(e*136|0)+20|0;W=g+(e*136|0)+120|0;Y=e;q=h;U=i;while(1){V=f[ma>>2]|0;r=f[f[V+44>>2]>>2]|0;Q=(f[V+16>>2]|0)+(X(r,Y)|0)|0;V=Q+r|0;r=f[f[q+44>>2]>>2]|0;u=(f[q+16>>2]|0)+(X(r,Y)|0)|0;t=u+r|0;if((U|0)>0){r=((Y|0)<0)<<31>>31;s=Y+1|0;o=((s|0)<0)<<31>>31;n=0;do{m=u+(n<<2)|0;l=f[m>>2]|0;do if((l|0)>0){H=f[(f[z>>2]|0)+(l<<2)>>2]|0;if(!(b[Q+n>>0]|0)){f[m>>2]=0;G=f[na>>2]|0;F=f[G>>2]|0;f[G>>2]=(F|0)>(n|0)?n:F;F=G+8|0;B=f[F>>2]|0;f[F>>2]=(B|0)<(n|0)?n:B;B=G+4|0;F=f[B>>2]|0;f[B>>2]=(F|0)>(Y|0)?Y:F;F=G+12|0;B=f[F>>2]|0;f[F>>2]=(B|0)<(Y|0)?Y:B;B=G+16|0;f[B>>2]=(f[B>>2]|0)+1;B=f[y>>2]|0;F=B;E=qVa(f[F>>2]|0,f[F+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;F=B;f[F>>2]=E;f[F+4>>2]=I;oa=B+8|0;pa=G;qa=B}else{f[m>>2]=H;B=f[v>>2]|0;G=B+(X(f[f[S>>2]>>2]|0,H)|0)|0;F=f[G>>2]|0;f[G>>2]=(F|0)>(n|0)?n:F;F=G+8|0;E=f[F>>2]|0;f[F>>2]=(E|0)<(n|0)?n:E;E=G+4|0;F=f[E>>2]|0;f[E>>2]=(F|0)>(Y|0)?Y:F;F=G+12|0;E=f[F>>2]|0;f[F>>2]=(E|0)<(Y|0)?Y:E;E=G+16|0;f[E>>2]=(f[E>>2]|0)+1;E=f[p>>2]|0;G=E+(H<<4)|0;F=G;D=qVa(f[F>>2]|0,f[F+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;F=G;f[F>>2]=D;f[F+4>>2]=I;oa=E+(H<<4)+8|0;pa=B;qa=E}E=oa;B=qVa(f[E>>2]|0,f[E+4>>2]|0,Y|0,r|0)|0;E=oa;f[E>>2]=B;f[E+4>>2]=I;E=t+(n<<2)|0;if(!(b[V+n>>0]|0)){f[E>>2]=0;ra=0;sa=pa}else{f[E>>2]=H;ra=H;sa=pa+(X(f[f[w>>2]>>2]|0,H)|0)|0}E=f[sa>>2]|0;f[sa>>2]=(E|0)>(n|0)?n:E;E=sa+8|0;B=f[E>>2]|0;f[E>>2]=(B|0)<(n|0)?n:B;B=sa+4|0;E=f[B>>2]|0;f[B>>2]=(E|0)>(s|0)?s:E;E=sa+12|0;B=f[E>>2]|0;f[E>>2]=(B|0)<(s|0)?s:B;B=sa+16|0;f[B>>2]=(f[B>>2]|0)+1;B=qa+(ra<<4)|0;E=B;F=qVa(f[E>>2]|0,f[E+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;E=B;f[E>>2]=F;f[E+4>>2]=I;E=qa+(ra<<4)+8|0;F=E;B=qVa(f[F>>2]|0,f[F+4>>2]|0,s|0,o|0)|0;F=E;f[F>>2]=B;f[F+4>>2]=I;F=n|1;if((F|0)<(f[(f[d>>2]|0)+12>>2]|0)){B=u+(F<<2)|0;if(!(b[Q+F>>0]|0)){f[B>>2]=0;ta=0;ua=pa}else{f[B>>2]=H;ta=H;ua=pa+(X(f[f[Z>>2]>>2]|0,H)|0)|0}B=f[ua>>2]|0;f[ua>>2]=(B|0)>(F|0)?F:B;B=ua+8|0;E=f[B>>2]|0;f[B>>2]=(E|0)<(F|0)?F:E;E=ua+4|0;B=f[E>>2]|0;f[E>>2]=(B|0)>(Y|0)?Y:B;B=ua+12|0;E=f[B>>2]|0;f[B>>2]=(E|0)<(Y|0)?Y:E;E=ua+16|0;f[E>>2]=(f[E>>2]|0)+1;E=qa+(ta<<4)|0;B=E;D=qVa(f[B>>2]|0,f[B+4>>2]|0,F|0,((F|0)<0)<<31>>31|0)|0;B=E;f[B>>2]=D;f[B+4>>2]=I;B=qa+(ta<<4)+8|0;D=B;E=qVa(f[D>>2]|0,f[D+4>>2]|0,Y|0,r|0)|0;D=B;f[D>>2]=E;f[D+4>>2]=I;D=t+(F<<2)|0;if(!(b[V+F>>0]|0)){f[D>>2]=0;E=f[pa>>2]|0;f[pa>>2]=(E|0)>(F|0)?F:E;E=pa+8|0;B=f[E>>2]|0;f[E>>2]=(B|0)<(F|0)?F:B;B=pa+4|0;E=f[B>>2]|0;f[B>>2]=(E|0)>(s|0)?s:E;E=pa+12|0;B=f[E>>2]|0;f[E>>2]=(B|0)<(s|0)?s:B;B=pa+16|0;f[B>>2]=(f[B>>2]|0)+1;B=qa;E=qVa(f[B>>2]|0,f[B+4>>2]|0,F|0,((F|0)<0)<<31>>31|0)|0;B=qa;f[B>>2]=E;f[B+4>>2]=I;B=qa+8|0;E=B;G=qVa(f[E>>2]|0,f[E+4>>2]|0,s|0,o|0)|0;E=B;f[E>>2]=G;f[E+4>>2]=I;break}else{f[D>>2]=H;D=pa+(X(f[f[x>>2]>>2]|0,H)|0)|0;E=f[D>>2]|0;f[D>>2]=(E|0)>(F|0)?F:E;E=D+8|0;G=f[E>>2]|0;f[E>>2]=(G|0)<(F|0)?F:G;G=D+4|0;E=f[G>>2]|0;f[G>>2]=(E|0)>(s|0)?s:E;E=D+12|0;G=f[E>>2]|0;f[E>>2]=(G|0)<(s|0)?s:G;G=D+16|0;f[G>>2]=(f[G>>2]|0)+1;G=qa+(H<<4)|0;D=G;E=qVa(f[D>>2]|0,f[D+4>>2]|0,F|0,((F|0)<0)<<31>>31|0)|0;F=G;f[F>>2]=E;f[F+4>>2]=I;F=qa+(H<<4)+8|0;H=F;E=qVa(f[H>>2]|0,f[H+4>>2]|0,s|0,o|0)|0;H=F;f[H>>2]=E;f[H+4>>2]=I;break}}}else{f[m>>2]=0;f[t+(n<<2)>>2]=0;H=f[R>>2]|0;E=f[H>>2]|0;F=H+8|0;G=f[F>>2]|0;D=H+4|0;B=f[D>>2]|0;A=(B|0)>(Y|0)?Y:B;B=H+12|0;C=f[B>>2]|0;J=(C|0)<(Y|0)?Y:C;C=H+16|0;K=f[C>>2]|0;ha=f[W>>2]|0;N=((n|0)<0)<<31>>31;ca=ha;da=qVa(f[ca>>2]|0,f[ca+4>>2]|0,n|0,N|0)|0;ca=I;L=ha+8|0;ea=L;ja=qVa(f[ea>>2]|0,f[ea+4>>2]|0,Y|0,r|0)|0;ea=I;f[H>>2]=(E|0)>(n|0)?n:E;f[F>>2]=(G|0)<(n|0)?n:G;f[D>>2]=(A|0)>(s|0)?s:A;f[B>>2]=(J|0)<(s|0)?s:J;f[C>>2]=K+2;K=qVa(da|0,ca|0,n|0,N|0)|0;N=I;ca=ha;f[ca>>2]=K;f[ca+4>>2]=N;ca=qVa(ja|0,ea|0,s|0,o|0)|0;ea=I;ja=L;f[ja>>2]=ca;f[ja+4>>2]=ea;ja=n|1;if((ja|0)<(f[(f[d>>2]|0)+12>>2]|0)){f[u+(ja<<2)>>2]=0;f[t+(ja<<2)>>2]=0;da=f[H>>2]|0;J=f[F>>2]|0;A=f[D>>2]|0;G=(A|0)>(Y|0)?Y:A;A=f[B>>2]|0;E=(A|0)<(Y|0)?Y:A;A=f[C>>2]|0;aa=((ja|0)<0)<<31>>31;ba=qVa(K|0,N|0,ja|0,aa|0)|0;N=I;K=qVa(ca|0,ea|0,Y|0,r|0)|0;ea=I;f[H>>2]=(da|0)>(ja|0)?ja:da;f[F>>2]=(J|0)<(ja|0)?ja:J;f[D>>2]=(G|0)>(s|0)?s:G;f[B>>2]=(E|0)<(s|0)?s:E;f[C>>2]=A+2;A=qVa(ba|0,N|0,ja|0,aa|0)|0;aa=ha;f[aa>>2]=A;f[aa+4>>2]=I;aa=qVa(K|0,ea|0,s|0,o|0)|0;ea=L;f[ea>>2]=aa;f[ea+4>>2]=I}}while(0);n=n+2|0;m=f[d>>2]|0;l=f[m+12>>2]|0}while((n|0)<(l|0));va=l;wa=m}else{va=U;wa=q}Y=Y+2|0;if((Y|0)>=(c|0))break;else{q=wa;U=va}}return}if(!j){if(!k)return;j=a+4|0;va=a+12|0;U=g+(e*136|0)+20|0;wa=g+(e*136|0)+120|0;q=g+(e*136|0)+48|0;Y=g+(e*136|0)+48|0;W=g+(e*136|0)+48|0;R=g+(e*136|0)+20|0;qa=g+(e*136|0)+48|0;x=g+(e*136|0)+120|0;pa=g+(e*136|0)+20|0;ta=g+(e*136|0)+120|0;ua=e;Z=h;ra=i;while(1){sa=f[j>>2]|0;w=f[f[sa+44>>2]>>2]|0;oa=(f[sa+16>>2]|0)+(X(w,ua)|0)|0;sa=oa+w|0;w=f[f[Z+44>>2]>>2]|0;p=(f[Z+16>>2]|0)+(X(w,ua)|0)|0;S=p+w|0;if((ra|0)>0){w=((ua|0)<0)<<31>>31;v=ua+1|0;y=((v|0)<0)<<31>>31;na=0;do{z=p+(na<<2)|0;ma=f[z>>2]|0;do if((ma|0)>0){n=f[(f[va>>2]|0)+(ma<<2)>>2]|0;if(!(b[oa+na>>0]|0)){f[z>>2]=0;o=f[U>>2]|0;s=f[o>>2]|0;f[o>>2]=(s|0)>(na|0)?na:s;s=o+8|0;r=f[s>>2]|0;f[s>>2]=(r|0)<(na|0)?na:r;r=o+4|0;s=f[r>>2]|0;f[r>>2]=(s|0)>(ua|0)?ua:s;s=o+12|0;r=f[s>>2]|0;f[s>>2]=(r|0)<(ua|0)?ua:r;r=o+16|0;f[r>>2]=(f[r>>2]|0)+1;r=f[wa>>2]|0;s=r;t=qVa(f[s>>2]|0,f[s+4>>2]|0,na|0,((na|0)<0)<<31>>31|0)|0;s=r;f[s>>2]=t;f[s+4>>2]=I;xa=r+8|0;ya=o;za=r}else{f[z>>2]=n;r=f[R>>2]|0;o=r+(X(f[f[qa>>2]>>2]|0,n)|0)|0;s=f[o>>2]|0;f[o>>2]=(s|0)>(na|0)?na:s;s=o+8|0;t=f[s>>2]|0;f[s>>2]=(t|0)<(na|0)?na:t;t=o+4|0;s=f[t>>2]|0;f[t>>2]=(s|0)>(ua|0)?ua:s;s=o+12|0;t=f[s>>2]|0;f[s>>2]=(t|0)<(ua|0)?ua:t;t=o+16|0;f[t>>2]=(f[t>>2]|0)+1;t=f[x>>2]|0;o=t+(n<<4)|0;s=o;u=qVa(f[s>>2]|0,f[s+4>>2]|0,na|0,((na|0)<0)<<31>>31|0)|0;s=o;f[s>>2]=u;f[s+4>>2]=I;xa=t+(n<<4)+8|0;ya=r;za=t}t=xa;r=qVa(f[t>>2]|0,f[t+4>>2]|0,ua|0,w|0)|0;t=xa;f[t>>2]=r;f[t+4>>2]=I;t=na|1;r=p+(t<<2)|0;if(!(b[oa+t>>0]|0)){f[r>>2]=0;Aa=0;Ba=ya}else{f[r>>2]=n;Aa=n;Ba=ya+(X(f[f[W>>2]>>2]|0,n)|0)|0}r=f[Ba>>2]|0;f[Ba>>2]=(r|0)>(t|0)?t:r;r=Ba+8|0;s=f[r>>2]|0;f[r>>2]=(s|0)<(t|0)?t:s;s=Ba+4|0;r=f[s>>2]|0;f[s>>2]=(r|0)>(ua|0)?ua:r;r=Ba+12|0;s=f[r>>2]|0;f[r>>2]=(s|0)<(ua|0)?ua:s;s=Ba+16|0;f[s>>2]=(f[s>>2]|0)+1;s=za+(Aa<<4)|0;r=s;u=qVa(f[r>>2]|0,f[r+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;r=s;f[r>>2]=u;f[r+4>>2]=I;r=za+(Aa<<4)+8|0;u=r;s=qVa(f[u>>2]|0,f[u+4>>2]|0,ua|0,w|0)|0;u=r;f[u>>2]=s;f[u+4>>2]=I;if((v|0)<(f[(f[d>>2]|0)+8>>2]|0)){u=S+(na<<2)|0;if(!(b[sa+na>>0]|0)){f[u>>2]=0;Ca=0;Da=ya}else{f[u>>2]=n;Ca=n;Da=ya+(X(f[f[Y>>2]>>2]|0,n)|0)|0}u=f[Da>>2]|0;f[Da>>2]=(u|0)>(na|0)?na:u;u=Da+8|0;s=f[u>>2]|0;f[u>>2]=(s|0)<(na|0)?na:s;s=Da+4|0;u=f[s>>2]|0;f[s>>2]=(u|0)>(v|0)?v:u;u=Da+12|0;s=f[u>>2]|0;f[u>>2]=(s|0)<(v|0)?v:s;s=Da+16|0;f[s>>2]=(f[s>>2]|0)+1;s=za+(Ca<<4)|0;u=s;r=qVa(f[u>>2]|0,f[u+4>>2]|0,na|0,((na|0)<0)<<31>>31|0)|0;u=s;f[u>>2]=r;f[u+4>>2]=I;u=za+(Ca<<4)+8|0;r=u;s=qVa(f[r>>2]|0,f[r+4>>2]|0,v|0,y|0)|0;r=u;f[r>>2]=s;f[r+4>>2]=I;r=S+(t<<2)|0;if(!(b[sa+t>>0]|0)){f[r>>2]=0;s=f[ya>>2]|0;f[ya>>2]=(s|0)>(t|0)?t:s;s=ya+8|0;u=f[s>>2]|0;f[s>>2]=(u|0)<(t|0)?t:u;u=ya+4|0;s=f[u>>2]|0;f[u>>2]=(s|0)>(v|0)?v:s;s=ya+12|0;u=f[s>>2]|0;f[s>>2]=(u|0)<(v|0)?v:u;u=ya+16|0;f[u>>2]=(f[u>>2]|0)+1;u=za;s=qVa(f[u>>2]|0,f[u+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;u=za;f[u>>2]=s;f[u+4>>2]=I;u=za+8|0;s=u;o=qVa(f[s>>2]|0,f[s+4>>2]|0,v|0,y|0)|0;s=u;f[s>>2]=o;f[s+4>>2]=I;break}else{f[r>>2]=n;r=ya+(X(f[f[q>>2]>>2]|0,n)|0)|0;s=f[r>>2]|0;f[r>>2]=(s|0)>(t|0)?t:s;s=r+8|0;o=f[s>>2]|0;f[s>>2]=(o|0)<(t|0)?t:o;o=r+4|0;s=f[o>>2]|0;f[o>>2]=(s|0)>(v|0)?v:s;s=r+12|0;o=f[s>>2]|0;f[s>>2]=(o|0)<(v|0)?v:o;o=r+16|0;f[o>>2]=(f[o>>2]|0)+1;o=za+(n<<4)|0;r=o;s=qVa(f[r>>2]|0,f[r+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;t=o;f[t>>2]=s;f[t+4>>2]=I;t=za+(n<<4)+8|0;n=t;s=qVa(f[n>>2]|0,f[n+4>>2]|0,v|0,y|0)|0;n=t;f[n>>2]=s;f[n+4>>2]=I;break}}}else{f[z>>2]=0;n=na|1;f[p+(n<<2)>>2]=0;s=f[pa>>2]|0;t=f[s>>2]|0;o=(t|0)>(na|0)?na:t;t=s+8|0;r=f[t>>2]|0;u=(r|0)<(na|0)?na:r;r=s+4|0;V=f[r>>2]|0;Q=s+12|0;m=f[Q>>2]|0;l=s+16|0;ea=f[l>>2]|0;aa=f[ta>>2]|0;L=((na|0)<0)<<31>>31;K=aa;A=qVa(f[K>>2]|0,f[K+4>>2]|0,na|0,L|0)|0;K=I;ha=aa+8|0;ja=ha;N=qVa(f[ja>>2]|0,f[ja+4>>2]|0,ua|0,w|0)|0;ja=I;f[s>>2]=(o|0)>(n|0)?n:o;f[t>>2]=(u|0)<(n|0)?n:u;f[r>>2]=(V|0)>(ua|0)?ua:V;f[Q>>2]=(m|0)<(ua|0)?ua:m;f[l>>2]=ea+2;ea=((n|0)<0)<<31>>31;m=qVa(A|0,K|0,n|0,ea|0)|0;K=I;A=aa;f[A>>2]=m;f[A+4>>2]=K;A=qVa(N|0,ja|0,ua|0,w|0)|0;ja=I;N=ha;f[N>>2]=A;f[N+4>>2]=ja;if((v|0)<(f[(f[d>>2]|0)+8>>2]|0)){f[S+(na<<2)>>2]=0;f[S+(n<<2)>>2]=0;N=f[s>>2]|0;V=(N|0)>(na|0)?na:N;N=f[t>>2]|0;u=(N|0)<(na|0)?na:N;N=f[r>>2]|0;o=f[Q>>2]|0;ba=f[l>>2]|0;C=qVa(m|0,K|0,na|0,L|0)|0;L=I;K=qVa(A|0,ja|0,v|0,y|0)|0;ja=I;f[s>>2]=(V|0)>(n|0)?n:V;f[t>>2]=(u|0)<(n|0)?n:u;f[r>>2]=(N|0)>(v|0)?v:N;f[Q>>2]=(o|0)<(v|0)?v:o;f[l>>2]=ba+2;ba=qVa(C|0,L|0,n|0,ea|0)|0;ea=aa;f[ea>>2]=ba;f[ea+4>>2]=I;ea=qVa(K|0,ja|0,v|0,y|0)|0;ja=ha;f[ja>>2]=ea;f[ja+4>>2]=I}}while(0);na=na+2|0;z=f[d>>2]|0;ma=f[z+12>>2]|0}while((na|0)<(ma|0));Ea=ma;Fa=z}else{Ea=ra;Fa=Z}ua=ua+2|0;if((ua|0)>=(c|0))break;else{Z=Fa;ra=Ea}}return}if(!k)return;k=a+4|0;Ea=a+12|0;ra=g+(e*136|0)+20|0;Fa=g+(e*136|0)+120|0;Z=g+(e*136|0)+48|0;ua=g+(e*136|0)+48|0;ta=g+(e*136|0)+48|0;pa=g+(e*136|0)+48|0;za=g+(e*136|0)+20|0;q=g+(e*136|0)+48|0;ya=g+(e*136|0)+120|0;Ca=g+(e*136|0)+20|0;Da=g+(e*136|0)+120|0;g=e;Y=h;h=i;while(1){i=f[k>>2]|0;Aa=f[f[i+44>>2]>>2]|0;Ba=(f[i+16>>2]|0)+(X(Aa,g)|0)|0;i=Ba+Aa|0;Aa=f[f[Y+44>>2]>>2]|0;W=(f[Y+16>>2]|0)+(X(Aa,g)|0)|0;xa=W+Aa|0;if((h|0)>0){Aa=((g|0)<0)<<31>>31;x=g+1|0;qa=((x|0)<0)<<31>>31;R=0;do{wa=W+(R<<2)|0;U=f[wa>>2]|0;do if((U|0)>0){va=f[(f[Ea>>2]|0)+(U<<2)>>2]|0;if(!(b[Ba+R>>0]|0)){f[wa>>2]=0;j=f[ra>>2]|0;na=f[j>>2]|0;f[j>>2]=(na|0)>(R|0)?R:na;na=j+8|0;y=f[na>>2]|0;f[na>>2]=(y|0)<(R|0)?R:y;y=j+4|0;na=f[y>>2]|0;f[y>>2]=(na|0)>(g|0)?g:na;na=j+12|0;y=f[na>>2]|0;f[na>>2]=(y|0)<(g|0)?g:y;y=j+16|0;f[y>>2]=(f[y>>2]|0)+1;y=f[Fa>>2]|0;na=y;v=qVa(f[na>>2]|0,f[na+4>>2]|0,R|0,((R|0)<0)<<31>>31|0)|0;na=y;f[na>>2]=v;f[na+4>>2]=I;Ga=y+8|0;Ha=j;Ia=y}else{f[wa>>2]=va;y=f[za>>2]|0;j=y+(X(f[f[q>>2]>>2]|0,va)|0)|0;na=f[j>>2]|0;f[j>>2]=(na|0)>(R|0)?R:na;na=j+8|0;v=f[na>>2]|0;f[na>>2]=(v|0)<(R|0)?R:v;v=j+4|0;na=f[v>>2]|0;f[v>>2]=(na|0)>(g|0)?g:na;na=j+12|0;v=f[na>>2]|0;f[na>>2]=(v|0)<(g|0)?g:v;v=j+16|0;f[v>>2]=(f[v>>2]|0)+1;v=f[ya>>2]|0;j=v+(va<<4)|0;na=j;S=qVa(f[na>>2]|0,f[na+4>>2]|0,R|0,((R|0)<0)<<31>>31|0)|0;na=j;f[na>>2]=S;f[na+4>>2]=I;Ga=v+(va<<4)+8|0;Ha=y;Ia=v}v=Ga;y=qVa(f[v>>2]|0,f[v+4>>2]|0,g|0,Aa|0)|0;v=Ga;f[v>>2]=y;f[v+4>>2]=I;v=R|1;y=f[d>>2]|0;if((v|0)>=(f[y+12>>2]|0)){if((x|0)>=(f[y+8>>2]|0))break;y=xa+(R<<2)|0;if(!(b[i+R>>0]|0)){f[y>>2]=0;na=f[Ha>>2]|0;f[Ha>>2]=(na|0)>(R|0)?R:na;na=Ha+8|0;S=f[na>>2]|0;f[na>>2]=(S|0)<(R|0)?R:S;S=Ha+4|0;na=f[S>>2]|0;f[S>>2]=(na|0)>(x|0)?x:na;na=Ha+12|0;S=f[na>>2]|0;f[na>>2]=(S|0)<(x|0)?x:S;S=Ha+16|0;f[S>>2]=(f[S>>2]|0)+1;S=Ia;na=qVa(f[S>>2]|0,f[S+4>>2]|0,R|0,((R|0)<0)<<31>>31|0)|0;S=Ia;f[S>>2]=na;f[S+4>>2]=I;S=Ia+8|0;na=S;j=qVa(f[na>>2]|0,f[na+4>>2]|0,x|0,qa|0)|0;na=S;f[na>>2]=j;f[na+4>>2]=I;break}else{f[y>>2]=va;y=Ha+(X(f[f[pa>>2]>>2]|0,va)|0)|0;na=f[y>>2]|0;f[y>>2]=(na|0)>(R|0)?R:na;na=y+8|0;j=f[na>>2]|0;f[na>>2]=(j|0)<(R|0)?R:j;j=y+4|0;na=f[j>>2]|0;f[j>>2]=(na|0)>(x|0)?x:na;na=y+12|0;j=f[na>>2]|0;f[na>>2]=(j|0)<(x|0)?x:j;j=y+16|0;f[j>>2]=(f[j>>2]|0)+1;j=Ia+(va<<4)|0;y=j;na=qVa(f[y>>2]|0,f[y+4>>2]|0,R|0,((R|0)<0)<<31>>31|0)|0;y=j;f[y>>2]=na;f[y+4>>2]=I;y=Ia+(va<<4)+8|0;na=y;j=qVa(f[na>>2]|0,f[na+4>>2]|0,x|0,qa|0)|0;na=y;f[na>>2]=j;f[na+4>>2]=I;break}}na=W+(v<<2)|0;if(!(b[Ba+v>>0]|0)){f[na>>2]=0;Ja=0;Ka=Ha}else{f[na>>2]=va;Ja=va;Ka=Ha+(X(f[f[ta>>2]>>2]|0,va)|0)|0}na=f[Ka>>2]|0;f[Ka>>2]=(na|0)>(v|0)?v:na;na=Ka+8|0;j=f[na>>2]|0;f[na>>2]=(j|0)<(v|0)?v:j;j=Ka+4|0;na=f[j>>2]|0;f[j>>2]=(na|0)>(g|0)?g:na;na=Ka+12|0;j=f[na>>2]|0;f[na>>2]=(j|0)<(g|0)?g:j;j=Ka+16|0;f[j>>2]=(f[j>>2]|0)+1;j=Ia+(Ja<<4)|0;na=j;y=qVa(f[na>>2]|0,f[na+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;na=j;f[na>>2]=y;f[na+4>>2]=I;na=Ia+(Ja<<4)+8|0;y=na;j=qVa(f[y>>2]|0,f[y+4>>2]|0,g|0,Aa|0)|0;y=na;f[y>>2]=j;f[y+4>>2]=I;if((x|0)<(f[(f[d>>2]|0)+8>>2]|0)){y=xa+(R<<2)|0;if(!(b[i+R>>0]|0)){f[y>>2]=0;La=0;Ma=Ha}else{f[y>>2]=va;La=va;Ma=Ha+(X(f[f[ua>>2]>>2]|0,va)|0)|0}y=f[Ma>>2]|0;f[Ma>>2]=(y|0)>(R|0)?R:y;y=Ma+8|0;j=f[y>>2]|0;f[y>>2]=(j|0)<(R|0)?R:j;j=Ma+4|0;y=f[j>>2]|0;f[j>>2]=(y|0)>(x|0)?x:y;y=Ma+12|0;j=f[y>>2]|0;f[y>>2]=(j|0)<(x|0)?x:j;j=Ma+16|0;f[j>>2]=(f[j>>2]|0)+1;j=Ia+(La<<4)|0;y=j;na=qVa(f[y>>2]|0,f[y+4>>2]|0,R|0,((R|0)<0)<<31>>31|0)|0;y=j;f[y>>2]=na;f[y+4>>2]=I;y=Ia+(La<<4)+8|0;na=y;j=qVa(f[na>>2]|0,f[na+4>>2]|0,x|0,qa|0)|0;na=y;f[na>>2]=j;f[na+4>>2]=I;na=xa+(v<<2)|0;if(!(b[i+v>>0]|0)){f[na>>2]=0;j=f[Ha>>2]|0;f[Ha>>2]=(j|0)>(v|0)?v:j;j=Ha+8|0;y=f[j>>2]|0;f[j>>2]=(y|0)<(v|0)?v:y;y=Ha+4|0;j=f[y>>2]|0;f[y>>2]=(j|0)>(x|0)?x:j;j=Ha+12|0;y=f[j>>2]|0;f[j>>2]=(y|0)<(x|0)?x:y;y=Ha+16|0;f[y>>2]=(f[y>>2]|0)+1;y=Ia;j=qVa(f[y>>2]|0,f[y+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;y=Ia;f[y>>2]=j;f[y+4>>2]=I;y=Ia+8|0;j=y;S=qVa(f[j>>2]|0,f[j+4>>2]|0,x|0,qa|0)|0;j=y;f[j>>2]=S;f[j+4>>2]=I;break}else{f[na>>2]=va;na=Ha+(X(f[f[Z>>2]>>2]|0,va)|0)|0;j=f[na>>2]|0;f[na>>2]=(j|0)>(v|0)?v:j;j=na+8|0;S=f[j>>2]|0;f[j>>2]=(S|0)<(v|0)?v:S;S=na+4|0;j=f[S>>2]|0;f[S>>2]=(j|0)>(x|0)?x:j;j=na+12|0;S=f[j>>2]|0;f[j>>2]=(S|0)<(x|0)?x:S;S=na+16|0;f[S>>2]=(f[S>>2]|0)+1;S=Ia+(va<<4)|0;na=S;j=qVa(f[na>>2]|0,f[na+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;v=S;f[v>>2]=j;f[v+4>>2]=I;v=Ia+(va<<4)+8|0;va=v;j=qVa(f[va>>2]|0,f[va+4>>2]|0,x|0,qa|0)|0;va=v;f[va>>2]=j;f[va+4>>2]=I;break}}}else{f[wa>>2]=0;va=f[Ca>>2]|0;j=f[va>>2]|0;f[va>>2]=(j|0)>(R|0)?R:j;j=va+8|0;v=f[j>>2]|0;f[j>>2]=(v|0)<(R|0)?R:v;v=va+4|0;S=f[v>>2]|0;f[v>>2]=(S|0)>(g|0)?g:S;S=va+12|0;na=f[S>>2]|0;f[S>>2]=(na|0)<(g|0)?g:na;na=va+16|0;f[na>>2]=(f[na>>2]|0)+1;y=f[Da>>2]|0;w=((R|0)<0)<<31>>31;p=y;sa=qVa(f[p>>2]|0,f[p+4>>2]|0,R|0,w|0)|0;p=I;oa=y;f[oa>>2]=sa;f[oa+4>>2]=p;oa=y+8|0;z=oa;ma=qVa(f[z>>2]|0,f[z+4>>2]|0,g|0,Aa|0)|0;z=I;ja=oa;f[ja>>2]=ma;f[ja+4>>2]=z;ja=R|1;ea=f[d>>2]|0;if((ja|0)<(f[ea+12>>2]|0)){f[W+(ja<<2)>>2]=0;ha=f[va>>2]|0;f[va>>2]=(ha|0)>(ja|0)?ja:ha;ha=f[j>>2]|0;f[j>>2]=(ha|0)<(ja|0)?ja:ha;ha=f[v>>2]|0;f[v>>2]=(ha|0)>(g|0)?g:ha;ha=f[S>>2]|0;f[S>>2]=(ha|0)<(g|0)?g:ha;f[na>>2]=(f[na>>2]|0)+1;ha=((ja|0)<0)<<31>>31;K=qVa(sa|0,p|0,ja|0,ha|0)|0;ba=I;aa=y;f[aa>>2]=K;f[aa+4>>2]=ba;aa=qVa(ma|0,z|0,g|0,Aa|0)|0;n=I;L=oa;f[L>>2]=aa;f[L+4>>2]=n;if((x|0)>=(f[(f[d>>2]|0)+8>>2]|0))break;f[xa+(R<<2)>>2]=0;f[xa+(ja<<2)>>2]=0;L=f[va>>2]|0;C=(L|0)>(R|0)?R:L;L=f[j>>2]|0;l=(L|0)<(R|0)?R:L;L=f[v>>2]|0;o=f[S>>2]|0;Q=f[na>>2]|0;N=qVa(K|0,ba|0,R|0,w|0)|0;ba=I;K=qVa(aa|0,n|0,x|0,qa|0)|0;n=I;f[va>>2]=(C|0)>(ja|0)?ja:C;f[j>>2]=(l|0)<(ja|0)?ja:l;f[v>>2]=(L|0)>(x|0)?x:L;f[S>>2]=(o|0)<(x|0)?x:o;f[na>>2]=Q+2;Q=qVa(N|0,ba|0,ja|0,ha|0)|0;ha=y;f[ha>>2]=Q;f[ha+4>>2]=I;ha=qVa(K|0,n|0,x|0,qa|0)|0;n=oa;f[n>>2]=ha;f[n+4>>2]=I;break}else{if((x|0)>=(f[ea+8>>2]|0))break;f[xa+(R<<2)>>2]=0;ea=f[va>>2]|0;f[va>>2]=(ea|0)>(R|0)?R:ea;ea=f[j>>2]|0;f[j>>2]=(ea|0)<(R|0)?R:ea;ea=f[v>>2]|0;f[v>>2]=(ea|0)>(x|0)?x:ea;ea=f[S>>2]|0;f[S>>2]=(ea|0)<(x|0)?x:ea;f[na>>2]=(f[na>>2]|0)+1;na=qVa(sa|0,p|0,R|0,w|0)|0;w=y;f[w>>2]=na;f[w+4>>2]=I;w=qVa(ma|0,z|0,x|0,qa|0)|0;z=oa;f[z>>2]=w;f[z+4>>2]=I;break}}while(0);R=R+2|0;wa=f[d>>2]|0;U=f[wa+12>>2]|0}while((R|0)<(U|0));Na=U;Oa=wa}else{Na=h;Oa=Y}g=g+2|0;if((g|0)>=(c|0))break;else{Y=Oa;h=Na}}return}else{Na=a+16|0;f[(f[Na>>2]|0)+132>>2]=c;h=a+8|0;Oa=f[h>>2]|0;Y=f[Oa+12>>2]|0;g=(Y&1|0)!=0;d=(e|0)<(c|0);if(!(f[Oa+8>>2]&1)){if(!g){if(!d)return;Da=a+4|0;Ca=a+12|0;Ia=e;Z=Oa;Ha=Y;while(1){La=f[Da>>2]|0;Ma=f[f[La+44>>2]>>2]|0;ua=(f[La+16>>2]|0)+(X(Ma,Ia)|0)|0;La=ua+Ma|0;Ma=f[f[Z+44>>2]>>2]|0;Ja=(f[Z+16>>2]|0)+(X(Ma,Ia)|0)|0;Ka=Ja+Ma|0;if((Ha|0)>0){Ma=((Ia|0)<0)<<31>>31;ta=Ia+1|0;pa=((ta|0)<0)<<31>>31;Ga=0;do{ya=Ja+(Ga<<2)|0;q=f[ya>>2]|0;do if((q|0)>0){za=f[(f[Ca>>2]|0)+(q<<2)>>2]|0;if(!(b[ua+Ga>>0]|0)){f[ya>>2]=0;Fa=f[Na>>2]|0;ra=f[Fa+20>>2]|0;Ea=f[ra>>2]|0;f[ra>>2]=(Ea|0)>(Ga|0)?Ga:Ea;Ea=ra+8|0;k=f[Ea>>2]|0;f[Ea>>2]=(k|0)<(Ga|0)?Ga:k;k=ra+4|0;Ea=f[k>>2]|0;f[k>>2]=(Ea|0)>(Ia|0)?Ia:Ea;Ea=ra+12|0;k=f[Ea>>2]|0;f[Ea>>2]=(k|0)<(Ia|0)?Ia:k;k=ra+16|0;f[k>>2]=(f[k>>2]|0)+1;k=f[Fa+120>>2]|0;Fa=k;ra=qVa(f[Fa>>2]|0,f[Fa+4>>2]|0,Ga|0,((Ga|0)<0)<<31>>31|0)|0;Fa=k;f[Fa>>2]=ra;f[Fa+4>>2]=I;Pa=k+8|0}else{f[ya>>2]=za;k=f[Na>>2]|0;Fa=(f[k+20>>2]|0)+(X(f[f[k+48>>2]>>2]|0,za)|0)|0;ra=f[Fa>>2]|0;f[Fa>>2]=(ra|0)>(Ga|0)?Ga:ra;ra=Fa+8|0;Ea=f[ra>>2]|0;f[ra>>2]=(Ea|0)<(Ga|0)?Ga:Ea;Ea=Fa+4|0;ra=f[Ea>>2]|0;f[Ea>>2]=(ra|0)>(Ia|0)?Ia:ra;ra=Fa+12|0;Ea=f[ra>>2]|0;f[ra>>2]=(Ea|0)<(Ia|0)?Ia:Ea;Ea=Fa+16|0;f[Ea>>2]=(f[Ea>>2]|0)+1;Ea=f[k+120>>2]|0;k=Ea+(za<<4)|0;Fa=k;ra=qVa(f[Fa>>2]|0,f[Fa+4>>2]|0,Ga|0,((Ga|0)<0)<<31>>31|0)|0;Fa=k;f[Fa>>2]=ra;f[Fa+4>>2]=I;Pa=Ea+(za<<4)+8|0}Ea=Pa;Fa=qVa(f[Ea>>2]|0,f[Ea+4>>2]|0,Ia|0,Ma|0)|0;Ea=Pa;f[Ea>>2]=Fa;f[Ea+4>>2]=I;Ea=Ga|1;Fa=Ja+(Ea<<2)|0;if(!(b[ua+Ea>>0]|0)){f[Fa>>2]=0;ra=f[Na>>2]|0;k=f[ra+20>>2]|0;R=f[k>>2]|0;f[k>>2]=(R|0)>(Ea|0)?Ea:R;R=k+8|0;qa=f[R>>2]|0;f[R>>2]=(qa|0)<(Ea|0)?Ea:qa;qa=k+4|0;R=f[qa>>2]|0;f[qa>>2]=(R|0)>(Ia|0)?Ia:R;R=k+12|0;qa=f[R>>2]|0;f[R>>2]=(qa|0)<(Ia|0)?Ia:qa;qa=k+16|0;f[qa>>2]=(f[qa>>2]|0)+1;qa=f[ra+120>>2]|0;ra=qa;k=qVa(f[ra>>2]|0,f[ra+4>>2]|0,Ea|0,((Ea|0)<0)<<31>>31|0)|0;ra=qa;f[ra>>2]=k;f[ra+4>>2]=I;Qa=qa+8|0}else{f[Fa>>2]=za;Fa=f[Na>>2]|0;qa=(f[Fa+20>>2]|0)+(X(f[f[Fa+48>>2]>>2]|0,za)|0)|0;ra=f[qa>>2]|0;f[qa>>2]=(ra|0)>(Ea|0)?Ea:ra;ra=qa+8|0;k=f[ra>>2]|0;f[ra>>2]=(k|0)<(Ea|0)?Ea:k;k=qa+4|0;ra=f[k>>2]|0;f[k>>2]=(ra|0)>(Ia|0)?Ia:ra;ra=qa+12|0;k=f[ra>>2]|0;f[ra>>2]=(k|0)<(Ia|0)?Ia:k;k=qa+16|0;f[k>>2]=(f[k>>2]|0)+1;k=f[Fa+120>>2]|0;Fa=k+(za<<4)|0;qa=Fa;ra=qVa(f[qa>>2]|0,f[qa+4>>2]|0,Ea|0,((Ea|0)<0)<<31>>31|0)|0;qa=Fa;f[qa>>2]=ra;f[qa+4>>2]=I;Qa=k+(za<<4)+8|0}k=Qa;qa=qVa(f[k>>2]|0,f[k+4>>2]|0,Ia|0,Ma|0)|0;k=Qa;f[k>>2]=qa;f[k+4>>2]=I;k=Ka+(Ga<<2)|0;if(!(b[La+Ga>>0]|0)){f[k>>2]=0;qa=f[Na>>2]|0;ra=f[qa+20>>2]|0;Fa=f[ra>>2]|0;f[ra>>2]=(Fa|0)>(Ga|0)?Ga:Fa;Fa=ra+8|0;R=f[Fa>>2]|0;f[Fa>>2]=(R|0)<(Ga|0)?Ga:R;R=ra+4|0;Fa=f[R>>2]|0;f[R>>2]=(Fa|0)>(ta|0)?ta:Fa;Fa=ra+12|0;R=f[Fa>>2]|0;f[Fa>>2]=(R|0)<(ta|0)?ta:R;R=ra+16|0;f[R>>2]=(f[R>>2]|0)+1;R=f[qa+120>>2]|0;qa=R;ra=qVa(f[qa>>2]|0,f[qa+4>>2]|0,Ga|0,((Ga|0)<0)<<31>>31|0)|0;qa=R;f[qa>>2]=ra;f[qa+4>>2]=I;Ra=R+8|0}else{f[k>>2]=za;k=f[Na>>2]|0;R=(f[k+20>>2]|0)+(X(f[f[k+48>>2]>>2]|0,za)|0)|0;qa=f[R>>2]|0;f[R>>2]=(qa|0)>(Ga|0)?Ga:qa;qa=R+8|0;ra=f[qa>>2]|0;f[qa>>2]=(ra|0)<(Ga|0)?Ga:ra;ra=R+4|0;qa=f[ra>>2]|0;f[ra>>2]=(qa|0)>(ta|0)?ta:qa;qa=R+12|0;ra=f[qa>>2]|0;f[qa>>2]=(ra|0)<(ta|0)?ta:ra;ra=R+16|0;f[ra>>2]=(f[ra>>2]|0)+1;ra=f[k+120>>2]|0;k=ra+(za<<4)|0;R=k;qa=qVa(f[R>>2]|0,f[R+4>>2]|0,Ga|0,((Ga|0)<0)<<31>>31|0)|0;R=k;f[R>>2]=qa;f[R+4>>2]=I;Ra=ra+(za<<4)+8|0}ra=Ra;R=qVa(f[ra>>2]|0,f[ra+4>>2]|0,ta|0,pa|0)|0;ra=Ra;f[ra>>2]=R;f[ra+4>>2]=I;ra=Ka+(Ea<<2)|0;if(!(b[La+Ea>>0]|0)){f[ra>>2]=0;R=f[Na>>2]|0;qa=f[R+20>>2]|0;k=f[qa>>2]|0;f[qa>>2]=(k|0)>(Ea|0)?Ea:k;k=qa+8|0;Fa=f[k>>2]|0;f[k>>2]=(Fa|0)<(Ea|0)?Ea:Fa;Fa=qa+4|0;k=f[Fa>>2]|0;f[Fa>>2]=(k|0)>(ta|0)?ta:k;k=qa+12|0;Fa=f[k>>2]|0;f[k>>2]=(Fa|0)<(ta|0)?ta:Fa;Fa=qa+16|0;f[Fa>>2]=(f[Fa>>2]|0)+1;Fa=f[R+120>>2]|0;R=Fa;qa=qVa(f[R>>2]|0,f[R+4>>2]|0,Ea|0,((Ea|0)<0)<<31>>31|0)|0;R=Fa;f[R>>2]=qa;f[R+4>>2]=I;Sa=Fa+8|0;break}else{f[ra>>2]=za;ra=f[Na>>2]|0;Fa=(f[ra+20>>2]|0)+(X(f[f[ra+48>>2]>>2]|0,za)|0)|0;R=f[Fa>>2]|0;f[Fa>>2]=(R|0)>(Ea|0)?Ea:R;R=Fa+8|0;qa=f[R>>2]|0;f[R>>2]=(qa|0)<(Ea|0)?Ea:qa;qa=Fa+4|0;R=f[qa>>2]|0;f[qa>>2]=(R|0)>(ta|0)?ta:R;R=Fa+12|0;qa=f[R>>2]|0;f[R>>2]=(qa|0)<(ta|0)?ta:qa;qa=Fa+16|0;f[qa>>2]=(f[qa>>2]|0)+1;qa=f[ra+120>>2]|0;ra=qa+(za<<4)|0;Fa=ra;R=qVa(f[Fa>>2]|0,f[Fa+4>>2]|0,Ea|0,((Ea|0)<0)<<31>>31|0)|0;Ea=ra;f[Ea>>2]=R;f[Ea+4>>2]=I;Sa=qa+(za<<4)+8|0;break}}else{f[ya>>2]=0;za=Ga|1;f[Ja+(za<<2)>>2]=0;f[Ka+(Ga<<2)>>2]=0;f[Ka+(za<<2)>>2]=0;qa=f[Na>>2]|0;Ea=f[qa+20>>2]|0;R=f[Ea>>2]|0;f[Ea>>2]=(R|0)>(Ga|0)?Ga:R;R=Ea+8|0;ra=f[R>>2]|0;f[R>>2]=(ra|0)<(Ga|0)?Ga:ra;ra=Ea+4|0;R=f[ra>>2]|0;f[ra>>2]=(R|0)>(Ia|0)?Ia:R;R=Ea+12|0;ra=f[R>>2]|0;f[R>>2]=(ra|0)<(Ia|0)?Ia:ra;ra=Ea+16|0;f[ra>>2]=(f[ra>>2]|0)+1;ra=f[qa+120>>2]|0;qa=((Ga|0)<0)<<31>>31;Ea=ra;R=qVa(f[Ea>>2]|0,f[Ea+4>>2]|0,Ga|0,qa|0)|0;Ea=ra;f[Ea>>2]=R;f[Ea+4>>2]=I;Ea=ra+8|0;ra=Ea;R=qVa(f[ra>>2]|0,f[ra+4>>2]|0,Ia|0,Ma|0)|0;ra=Ea;f[ra>>2]=R;f[ra+4>>2]=I;ra=f[Na>>2]|0;R=f[ra+20>>2]|0;Ea=f[R>>2]|0;f[R>>2]=(Ea|0)>(za|0)?za:Ea;Ea=R+8|0;Fa=f[Ea>>2]|0;f[Ea>>2]=(Fa|0)<(za|0)?za:Fa;Fa=R+4|0;Ea=f[Fa>>2]|0;f[Fa>>2]=(Ea|0)>(Ia|0)?Ia:Ea;Ea=R+12|0;Fa=f[Ea>>2]|0;f[Ea>>2]=(Fa|0)<(Ia|0)?Ia:Fa;Fa=R+16|0;f[Fa>>2]=(f[Fa>>2]|0)+1;Fa=f[ra+120>>2]|0;ra=((za|0)<0)<<31>>31;R=Fa;Ea=qVa(f[R>>2]|0,f[R+4>>2]|0,za|0,ra|0)|0;R=Fa;f[R>>2]=Ea;f[R+4>>2]=I;R=Fa+8|0;Fa=R;Ea=qVa(f[Fa>>2]|0,f[Fa+4>>2]|0,Ia|0,Ma|0)|0;Fa=R;f[Fa>>2]=Ea;f[Fa+4>>2]=I;Fa=f[Na>>2]|0;Ea=f[Fa+20>>2]|0;R=f[Ea>>2]|0;f[Ea>>2]=(R|0)>(Ga|0)?Ga:R;R=Ea+8|0;k=f[R>>2]|0;f[R>>2]=(k|0)<(Ga|0)?Ga:k;k=Ea+4|0;R=f[k>>2]|0;f[k>>2]=(R|0)>(ta|0)?ta:R;R=Ea+12|0;k=f[R>>2]|0;f[R>>2]=(k|0)<(ta|0)?ta:k;k=Ea+16|0;f[k>>2]=(f[k>>2]|0)+1;k=f[Fa+120>>2]|0;Fa=k;Ea=qVa(f[Fa>>2]|0,f[Fa+4>>2]|0,Ga|0,qa|0)|0;qa=k;f[qa>>2]=Ea;f[qa+4>>2]=I;qa=k+8|0;k=qa;Ea=qVa(f[k>>2]|0,f[k+4>>2]|0,ta|0,pa|0)|0;k=qa;f[k>>2]=Ea;f[k+4>>2]=I;k=f[Na>>2]|0;Ea=f[k+20>>2]|0;qa=f[Ea>>2]|0;f[Ea>>2]=(qa|0)>(za|0)?za:qa;qa=Ea+8|0;Fa=f[qa>>2]|0;f[qa>>2]=(Fa|0)<(za|0)?za:Fa;Fa=Ea+4|0;qa=f[Fa>>2]|0;f[Fa>>2]=(qa|0)>(ta|0)?ta:qa;qa=Ea+12|0;Fa=f[qa>>2]|0;f[qa>>2]=(Fa|0)<(ta|0)?ta:Fa;Fa=Ea+16|0;f[Fa>>2]=(f[Fa>>2]|0)+1;Fa=f[k+120>>2]|0;k=Fa;Ea=qVa(f[k>>2]|0,f[k+4>>2]|0,za|0,ra|0)|0;ra=Fa;f[ra>>2]=Ea;f[ra+4>>2]=I;Sa=Fa+8|0}while(0);ya=Sa;q=qVa(f[ya>>2]|0,f[ya+4>>2]|0,ta|0,pa|0)|0;ya=Sa;f[ya>>2]=q;f[ya+4>>2]=I;Ga=Ga+2|0;ya=f[h>>2]|0;q=f[ya+12>>2]|0}while((Ga|0)<(q|0));Ta=q;Ua=ya}else{Ta=Ha;Ua=Z}Ia=Ia+2|0;if((Ia|0)>=(c|0))break;else{Z=Ua;Ha=Ta}}return}if(!d)return;Ta=a+4|0;Ha=a+12|0;Ua=e;Z=Oa;Ia=Y;while(1){Sa=f[Ta>>2]|0;Ra=f[f[Sa+44>>2]>>2]|0;Qa=(f[Sa+16>>2]|0)+(X(Ra,Ua)|0)|0;Sa=Qa+Ra|0;Ra=f[f[Z+44>>2]>>2]|0;Pa=(f[Z+16>>2]|0)+(X(Ra,Ua)|0)|0;Ca=Pa+Ra|0;if((Ia|0)>0){Ra=((Ua|0)<0)<<31>>31;Da=Ua+1|0;Ga=((Da|0)<0)<<31>>31;pa=0;do{ta=Pa+(pa<<2)|0;Ma=f[ta>>2]|0;do if((Ma|0)>0){Ka=f[(f[Ha>>2]|0)+(Ma<<2)>>2]|0;if(!(b[Qa+pa>>0]|0)){f[ta>>2]=0;Ja=f[Na>>2]|0;La=f[Ja+20>>2]|0;ua=f[La>>2]|0;f[La>>2]=(ua|0)>(pa|0)?pa:ua;ua=La+8|0;ya=f[ua>>2]|0;f[ua>>2]=(ya|0)<(pa|0)?pa:ya;ya=La+4|0;ua=f[ya>>2]|0;f[ya>>2]=(ua|0)>(Ua|0)?Ua:ua;ua=La+12|0;ya=f[ua>>2]|0;f[ua>>2]=(ya|0)<(Ua|0)?Ua:ya;ya=La+16|0;f[ya>>2]=(f[ya>>2]|0)+1;ya=f[Ja+120>>2]|0;Ja=ya;La=qVa(f[Ja>>2]|0,f[Ja+4>>2]|0,pa|0,((pa|0)<0)<<31>>31|0)|0;Ja=ya;f[Ja>>2]=La;f[Ja+4>>2]=I;Va=ya+8|0}else{f[ta>>2]=Ka;ya=f[Na>>2]|0;Ja=(f[ya+20>>2]|0)+(X(f[f[ya+48>>2]>>2]|0,Ka)|0)|0;La=f[Ja>>2]|0;f[Ja>>2]=(La|0)>(pa|0)?pa:La;La=Ja+8|0;ua=f[La>>2]|0;f[La>>2]=(ua|0)<(pa|0)?pa:ua;ua=Ja+4|0;La=f[ua>>2]|0;f[ua>>2]=(La|0)>(Ua|0)?Ua:La;La=Ja+12|0;ua=f[La>>2]|0;f[La>>2]=(ua|0)<(Ua|0)?Ua:ua;ua=Ja+16|0;f[ua>>2]=(f[ua>>2]|0)+1;ua=f[ya+120>>2]|0;ya=ua+(Ka<<4)|0;Ja=ya;La=qVa(f[Ja>>2]|0,f[Ja+4>>2]|0,pa|0,((pa|0)<0)<<31>>31|0)|0;Ja=ya;f[Ja>>2]=La;f[Ja+4>>2]=I;Va=ua+(Ka<<4)+8|0}ua=Va;Ja=qVa(f[ua>>2]|0,f[ua+4>>2]|0,Ua|0,Ra|0)|0;ua=Va;f[ua>>2]=Ja;f[ua+4>>2]=I;ua=Ca+(pa<<2)|0;if(!(b[Sa+pa>>0]|0)){f[ua>>2]=0;Ja=f[Na>>2]|0;La=f[Ja+20>>2]|0;ya=f[La>>2]|0;f[La>>2]=(ya|0)>(pa|0)?pa:ya;ya=La+8|0;q=f[ya>>2]|0;f[ya>>2]=(q|0)<(pa|0)?pa:q;q=La+4|0;ya=f[q>>2]|0;f[q>>2]=(ya|0)>(Da|0)?Da:ya;ya=La+12|0;q=f[ya>>2]|0;f[ya>>2]=(q|0)<(Da|0)?Da:q;q=La+16|0;f[q>>2]=(f[q>>2]|0)+1;q=f[Ja+120>>2]|0;Ja=q;La=qVa(f[Ja>>2]|0,f[Ja+4>>2]|0,pa|0,((pa|0)<0)<<31>>31|0)|0;Ja=q;f[Ja>>2]=La;f[Ja+4>>2]=I;Wa=q+8|0}else{f[ua>>2]=Ka;ua=f[Na>>2]|0;q=(f[ua+20>>2]|0)+(X(f[f[ua+48>>2]>>2]|0,Ka)|0)|0;Ja=f[q>>2]|0;f[q>>2]=(Ja|0)>(pa|0)?pa:Ja;Ja=q+8|0;La=f[Ja>>2]|0;f[Ja>>2]=(La|0)<(pa|0)?pa:La;La=q+4|0;Ja=f[La>>2]|0;f[La>>2]=(Ja|0)>(Da|0)?Da:Ja;Ja=q+12|0;La=f[Ja>>2]|0;f[Ja>>2]=(La|0)<(Da|0)?Da:La;La=q+16|0;f[La>>2]=(f[La>>2]|0)+1;La=f[ua+120>>2]|0;ua=La+(Ka<<4)|0;q=ua;Ja=qVa(f[q>>2]|0,f[q+4>>2]|0,pa|0,((pa|0)<0)<<31>>31|0)|0;q=ua;f[q>>2]=Ja;f[q+4>>2]=I;Wa=La+(Ka<<4)+8|0}La=Wa;q=qVa(f[La>>2]|0,f[La+4>>2]|0,Da|0,Ga|0)|0;La=Wa;f[La>>2]=q;f[La+4>>2]=I;La=pa|1;if((La|0)<(f[(f[h>>2]|0)+12>>2]|0)){q=Pa+(La<<2)|0;if(!(b[Qa+La>>0]|0)){f[q>>2]=0;Ja=f[Na>>2]|0;ua=f[Ja+20>>2]|0;ya=f[ua>>2]|0;f[ua>>2]=(ya|0)>(La|0)?La:ya;ya=ua+8|0;Fa=f[ya>>2]|0;f[ya>>2]=(Fa|0)<(La|0)?La:Fa;Fa=ua+4|0;ya=f[Fa>>2]|0;f[Fa>>2]=(ya|0)>(Ua|0)?Ua:ya;ya=ua+12|0;Fa=f[ya>>2]|0;f[ya>>2]=(Fa|0)<(Ua|0)?Ua:Fa;Fa=ua+16|0;f[Fa>>2]=(f[Fa>>2]|0)+1;Fa=f[Ja+120>>2]|0;Ja=Fa;ua=qVa(f[Ja>>2]|0,f[Ja+4>>2]|0,La|0,((La|0)<0)<<31>>31|0)|0;Ja=Fa;f[Ja>>2]=ua;f[Ja+4>>2]=I;Xa=Fa+8|0}else{f[q>>2]=Ka;q=f[Na>>2]|0;Fa=(f[q+20>>2]|0)+(X(f[f[q+48>>2]>>2]|0,Ka)|0)|0;Ja=f[Fa>>2]|0;f[Fa>>2]=(Ja|0)>(La|0)?La:Ja;Ja=Fa+8|0;ua=f[Ja>>2]|0;f[Ja>>2]=(ua|0)<(La|0)?La:ua;ua=Fa+4|0;Ja=f[ua>>2]|0;f[ua>>2]=(Ja|0)>(Ua|0)?Ua:Ja;Ja=Fa+12|0;ua=f[Ja>>2]|0;f[Ja>>2]=(ua|0)<(Ua|0)?Ua:ua;ua=Fa+16|0;f[ua>>2]=(f[ua>>2]|0)+1;ua=f[q+120>>2]|0;q=ua+(Ka<<4)|0;Fa=q;Ja=qVa(f[Fa>>2]|0,f[Fa+4>>2]|0,La|0,((La|0)<0)<<31>>31|0)|0;Fa=q;f[Fa>>2]=Ja;f[Fa+4>>2]=I;Xa=ua+(Ka<<4)+8|0}ua=Xa;Fa=qVa(f[ua>>2]|0,f[ua+4>>2]|0,Ua|0,Ra|0)|0;ua=Xa;f[ua>>2]=Fa;f[ua+4>>2]=I;ua=Ca+(La<<2)|0;if(!(b[Sa+La>>0]|0)){f[ua>>2]=0;Fa=f[Na>>2]|0;Ja=f[Fa+20>>2]|0;q=f[Ja>>2]|0;f[Ja>>2]=(q|0)>(La|0)?La:q;q=Ja+8|0;ya=f[q>>2]|0;f[q>>2]=(ya|0)<(La|0)?La:ya;ya=Ja+4|0;q=f[ya>>2]|0;f[ya>>2]=(q|0)>(Da|0)?Da:q;q=Ja+12|0;ya=f[q>>2]|0;f[q>>2]=(ya|0)<(Da|0)?Da:ya;ya=Ja+16|0;f[ya>>2]=(f[ya>>2]|0)+1;ya=f[Fa+120>>2]|0;Fa=ya;Ja=qVa(f[Fa>>2]|0,f[Fa+4>>2]|0,La|0,((La|0)<0)<<31>>31|0)|0;Fa=ya;f[Fa>>2]=Ja;f[Fa+4>>2]=I;Fa=ya+8|0;ya=Fa;Ja=qVa(f[ya>>2]|0,f[ya+4>>2]|0,Da|0,Ga|0)|0;ya=Fa;f[ya>>2]=Ja;f[ya+4>>2]=I;break}else{f[ua>>2]=Ka;ua=f[Na>>2]|0;ya=(f[ua+20>>2]|0)+(X(f[f[ua+48>>2]>>2]|0,Ka)|0)|0;Ja=f[ya>>2]|0;f[ya>>2]=(Ja|0)>(La|0)?La:Ja;Ja=ya+8|0;Fa=f[Ja>>2]|0;f[Ja>>2]=(Fa|0)<(La|0)?La:Fa;Fa=ya+4|0;Ja=f[Fa>>2]|0;f[Fa>>2]=(Ja|0)>(Da|0)?Da:Ja;Ja=ya+12|0;Fa=f[Ja>>2]|0;f[Ja>>2]=(Fa|0)<(Da|0)?Da:Fa;Fa=ya+16|0;f[Fa>>2]=(f[Fa>>2]|0)+1;Fa=f[ua+120>>2]|0;ua=Fa+(Ka<<4)|0;ya=ua;Ja=qVa(f[ya>>2]|0,f[ya+4>>2]|0,La|0,((La|0)<0)<<31>>31|0)|0;La=ua;f[La>>2]=Ja;f[La+4>>2]=I;La=Fa+(Ka<<4)+8|0;Ka=La;Fa=qVa(f[Ka>>2]|0,f[Ka+4>>2]|0,Da|0,Ga|0)|0;Ka=La;f[Ka>>2]=Fa;f[Ka+4>>2]=I;break}}}else{f[ta>>2]=0;f[Ca+(pa<<2)>>2]=0;Ka=f[Na>>2]|0;Fa=f[Ka+20>>2]|0;La=f[Fa>>2]|0;f[Fa>>2]=(La|0)>(pa|0)?pa:La;La=Fa+8|0;Ja=f[La>>2]|0;f[La>>2]=(Ja|0)<(pa|0)?pa:Ja;Ja=Fa+4|0;La=f[Ja>>2]|0;f[Ja>>2]=(La|0)>(Ua|0)?Ua:La;La=Fa+12|0;Ja=f[La>>2]|0;f[La>>2]=(Ja|0)<(Ua|0)?Ua:Ja;Ja=Fa+16|0;f[Ja>>2]=(f[Ja>>2]|0)+1;Ja=f[Ka+120>>2]|0;Ka=((pa|0)<0)<<31>>31;Fa=Ja;La=qVa(f[Fa>>2]|0,f[Fa+4>>2]|0,pa|0,Ka|0)|0;Fa=Ja;f[Fa>>2]=La;f[Fa+4>>2]=I;Fa=Ja+8|0;Ja=Fa;La=qVa(f[Ja>>2]|0,f[Ja+4>>2]|0,Ua|0,Ra|0)|0;Ja=Fa;f[Ja>>2]=La;f[Ja+4>>2]=I;Ja=f[Na>>2]|0;La=f[Ja+20>>2]|0;Fa=f[La>>2]|0;f[La>>2]=(Fa|0)>(pa|0)?pa:Fa;Fa=La+8|0;ua=f[Fa>>2]|0;f[Fa>>2]=(ua|0)<(pa|0)?pa:ua;ua=La+4|0;Fa=f[ua>>2]|0;f[ua>>2]=(Fa|0)>(Da|0)?Da:Fa;Fa=La+12|0;ua=f[Fa>>2]|0;f[Fa>>2]=(ua|0)<(Da|0)?Da:ua;ua=La+16|0;f[ua>>2]=(f[ua>>2]|0)+1;ua=f[Ja+120>>2]|0;Ja=ua;La=qVa(f[Ja>>2]|0,f[Ja+4>>2]|0,pa|0,Ka|0)|0;Ka=ua;f[Ka>>2]=La;f[Ka+4>>2]=I;Ka=ua+8|0;ua=Ka;La=qVa(f[ua>>2]|0,f[ua+4>>2]|0,Da|0,Ga|0)|0;ua=Ka;f[ua>>2]=La;f[ua+4>>2]=I;ua=pa|1;if((ua|0)<(f[(f[h>>2]|0)+12>>2]|0)){f[Pa+(ua<<2)>>2]=0;f[Ca+(ua<<2)>>2]=0;La=f[Na>>2]|0;Ka=f[La+20>>2]|0;Ja=f[Ka>>2]|0;f[Ka>>2]=(Ja|0)>(ua|0)?ua:Ja;Ja=Ka+8|0;Fa=f[Ja>>2]|0;f[Ja>>2]=(Fa|0)<(ua|0)?ua:Fa;Fa=Ka+4|0;Ja=f[Fa>>2]|0;f[Fa>>2]=(Ja|0)>(Ua|0)?Ua:Ja;Ja=Ka+12|0;Fa=f[Ja>>2]|0;f[Ja>>2]=(Fa|0)<(Ua|0)?Ua:Fa;Fa=Ka+16|0;f[Fa>>2]=(f[Fa>>2]|0)+1;Fa=f[La+120>>2]|0;La=((ua|0)<0)<<31>>31;Ka=Fa;Ja=qVa(f[Ka>>2]|0,f[Ka+4>>2]|0,ua|0,La|0)|0;Ka=Fa;f[Ka>>2]=Ja;f[Ka+4>>2]=I;Ka=Fa+8|0;Fa=Ka;Ja=qVa(f[Fa>>2]|0,f[Fa+4>>2]|0,Ua|0,Ra|0)|0;Fa=Ka;f[Fa>>2]=Ja;f[Fa+4>>2]=I;Fa=f[Na>>2]|0;Ja=f[Fa+20>>2]|0;Ka=f[Ja>>2]|0;f[Ja>>2]=(Ka|0)>(ua|0)?ua:Ka;Ka=Ja+8|0;ya=f[Ka>>2]|0;f[Ka>>2]=(ya|0)<(ua|0)?ua:ya;ya=Ja+4|0;Ka=f[ya>>2]|0;f[ya>>2]=(Ka|0)>(Da|0)?Da:Ka;Ka=Ja+12|0;ya=f[Ka>>2]|0;f[Ka>>2]=(ya|0)<(Da|0)?Da:ya;ya=Ja+16|0;f[ya>>2]=(f[ya>>2]|0)+1;ya=f[Fa+120>>2]|0;Fa=ya;Ja=qVa(f[Fa>>2]|0,f[Fa+4>>2]|0,ua|0,La|0)|0;La=ya;f[La>>2]=Ja;f[La+4>>2]=I;La=ya+8|0;ya=La;Ja=qVa(f[ya>>2]|0,f[ya+4>>2]|0,Da|0,Ga|0)|0;ya=La;f[ya>>2]=Ja;f[ya+4>>2]=I}}while(0);pa=pa+2|0;ta=f[h>>2]|0;Ma=f[ta+12>>2]|0}while((pa|0)<(Ma|0));Ya=Ma;Za=ta}else{Ya=Ia;Za=Z}Ua=Ua+2|0;if((Ua|0)>=(c|0))break;else{Z=Za;Ia=Ya}}return}if(!g){if(!d)return;g=a+4|0;Ya=a+12|0;Ia=e;Za=Oa;Z=Y;while(1){Ua=f[g>>2]|0;Xa=f[f[Ua+44>>2]>>2]|0;Wa=(f[Ua+16>>2]|0)+(X(Xa,Ia)|0)|0;Ua=Wa+Xa|0;Xa=f[f[Za+44>>2]>>2]|0;Va=(f[Za+16>>2]|0)+(X(Xa,Ia)|0)|0;Ha=Va+Xa|0;if((Z|0)>0){Xa=((Ia|0)<0)<<31>>31;Ta=Ia+1|0;pa=((Ta|0)<0)<<31>>31;Ga=0;do{Da=Va+(Ga<<2)|0;Ra=f[Da>>2]|0;do if((Ra|0)>0){Ca=f[(f[Ya>>2]|0)+(Ra<<2)>>2]|0;if(!(b[Wa+Ga>>0]|0)){f[Da>>2]=0;Pa=f[Na>>2]|0;Sa=f[Pa+20>>2]|0;Qa=f[Sa>>2]|0;f[Sa>>2]=(Qa|0)>(Ga|0)?Ga:Qa;Qa=Sa+8|0;ta=f[Qa>>2]|0;f[Qa>>2]=(ta|0)<(Ga|0)?Ga:ta;ta=Sa+4|0;Qa=f[ta>>2]|0;f[ta>>2]=(Qa|0)>(Ia|0)?Ia:Qa;Qa=Sa+12|0;ta=f[Qa>>2]|0;f[Qa>>2]=(ta|0)<(Ia|0)?Ia:ta;ta=Sa+16|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=f[Pa+120>>2]|0;Pa=ta;Sa=qVa(f[Pa>>2]|0,f[Pa+4>>2]|0,Ga|0,((Ga|0)<0)<<31>>31|0)|0;Pa=ta;f[Pa>>2]=Sa;f[Pa+4>>2]=I;_a=ta+8|0}else{f[Da>>2]=Ca;ta=f[Na>>2]|0;Pa=(f[ta+20>>2]|0)+(X(f[f[ta+48>>2]>>2]|0,Ca)|0)|0;Sa=f[Pa>>2]|0;f[Pa>>2]=(Sa|0)>(Ga|0)?Ga:Sa;Sa=Pa+8|0;Qa=f[Sa>>2]|0;f[Sa>>2]=(Qa|0)<(Ga|0)?Ga:Qa;Qa=Pa+4|0;Sa=f[Qa>>2]|0;f[Qa>>2]=(Sa|0)>(Ia|0)?Ia:Sa;Sa=Pa+12|0;Qa=f[Sa>>2]|0;f[Sa>>2]=(Qa|0)<(Ia|0)?Ia:Qa;Qa=Pa+16|0;f[Qa>>2]=(f[Qa>>2]|0)+1;Qa=f[ta+120>>2]|0;ta=Qa+(Ca<<4)|0;Pa=ta;Sa=qVa(f[Pa>>2]|0,f[Pa+4>>2]|0,Ga|0,((Ga|0)<0)<<31>>31|0)|0;Pa=ta;f[Pa>>2]=Sa;f[Pa+4>>2]=I;_a=Qa+(Ca<<4)+8|0}Qa=_a;Pa=qVa(f[Qa>>2]|0,f[Qa+4>>2]|0,Ia|0,Xa|0)|0;Qa=_a;f[Qa>>2]=Pa;f[Qa+4>>2]=I;Qa=Ga|1;Pa=Va+(Qa<<2)|0;if(!(b[Wa+Qa>>0]|0)){f[Pa>>2]=0;Sa=f[Na>>2]|0;ta=f[Sa+20>>2]|0;Ma=f[ta>>2]|0;f[ta>>2]=(Ma|0)>(Qa|0)?Qa:Ma;Ma=ta+8|0;ya=f[Ma>>2]|0;f[Ma>>2]=(ya|0)<(Qa|0)?Qa:ya;ya=ta+4|0;Ma=f[ya>>2]|0;f[ya>>2]=(Ma|0)>(Ia|0)?Ia:Ma;Ma=ta+12|0;ya=f[Ma>>2]|0;f[Ma>>2]=(ya|0)<(Ia|0)?Ia:ya;ya=ta+16|0;f[ya>>2]=(f[ya>>2]|0)+1;ya=f[Sa+120>>2]|0;Sa=ya;ta=qVa(f[Sa>>2]|0,f[Sa+4>>2]|0,Qa|0,((Qa|0)<0)<<31>>31|0)|0;Sa=ya;f[Sa>>2]=ta;f[Sa+4>>2]=I;$a=ya+8|0}else{f[Pa>>2]=Ca;Pa=f[Na>>2]|0;ya=(f[Pa+20>>2]|0)+(X(f[f[Pa+48>>2]>>2]|0,Ca)|0)|0;Sa=f[ya>>2]|0;f[ya>>2]=(Sa|0)>(Qa|0)?Qa:Sa;Sa=ya+8|0;ta=f[Sa>>2]|0;f[Sa>>2]=(ta|0)<(Qa|0)?Qa:ta;ta=ya+4|0;Sa=f[ta>>2]|0;f[ta>>2]=(Sa|0)>(Ia|0)?Ia:Sa;Sa=ya+12|0;ta=f[Sa>>2]|0;f[Sa>>2]=(ta|0)<(Ia|0)?Ia:ta;ta=ya+16|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=f[Pa+120>>2]|0;Pa=ta+(Ca<<4)|0;ya=Pa;Sa=qVa(f[ya>>2]|0,f[ya+4>>2]|0,Qa|0,((Qa|0)<0)<<31>>31|0)|0;ya=Pa;f[ya>>2]=Sa;f[ya+4>>2]=I;$a=ta+(Ca<<4)+8|0}ta=$a;ya=qVa(f[ta>>2]|0,f[ta+4>>2]|0,Ia|0,Xa|0)|0;ta=$a;f[ta>>2]=ya;f[ta+4>>2]=I;if((Ta|0)<(f[(f[h>>2]|0)+8>>2]|0)){ta=Ha+(Ga<<2)|0;if(!(b[Ua+Ga>>0]|0)){f[ta>>2]=0;ya=f[Na>>2]|0;Sa=f[ya+20>>2]|0;Pa=f[Sa>>2]|0;f[Sa>>2]=(Pa|0)>(Ga|0)?Ga:Pa;Pa=Sa+8|0;Ma=f[Pa>>2]|0;f[Pa>>2]=(Ma|0)<(Ga|0)?Ga:Ma;Ma=Sa+4|0;Pa=f[Ma>>2]|0;f[Ma>>2]=(Pa|0)>(Ta|0)?Ta:Pa;Pa=Sa+12|0;Ma=f[Pa>>2]|0;f[Pa>>2]=(Ma|0)<(Ta|0)?Ta:Ma;Ma=Sa+16|0;f[Ma>>2]=(f[Ma>>2]|0)+1;Ma=f[ya+120>>2]|0;ya=Ma;Sa=qVa(f[ya>>2]|0,f[ya+4>>2]|0,Ga|0,((Ga|0)<0)<<31>>31|0)|0;ya=Ma;f[ya>>2]=Sa;f[ya+4>>2]=I;ab=Ma+8|0}else{f[ta>>2]=Ca;ta=f[Na>>2]|0;Ma=(f[ta+20>>2]|0)+(X(f[f[ta+48>>2]>>2]|0,Ca)|0)|0;ya=f[Ma>>2]|0;f[Ma>>2]=(ya|0)>(Ga|0)?Ga:ya;ya=Ma+8|0;Sa=f[ya>>2]|0;f[ya>>2]=(Sa|0)<(Ga|0)?Ga:Sa;Sa=Ma+4|0;ya=f[Sa>>2]|0;f[Sa>>2]=(ya|0)>(Ta|0)?Ta:ya;ya=Ma+12|0;Sa=f[ya>>2]|0;f[ya>>2]=(Sa|0)<(Ta|0)?Ta:Sa;Sa=Ma+16|0;f[Sa>>2]=(f[Sa>>2]|0)+1;Sa=f[ta+120>>2]|0;ta=Sa+(Ca<<4)|0;Ma=ta;ya=qVa(f[Ma>>2]|0,f[Ma+4>>2]|0,Ga|0,((Ga|0)<0)<<31>>31|0)|0;Ma=ta;f[Ma>>2]=ya;f[Ma+4>>2]=I;ab=Sa+(Ca<<4)+8|0}Sa=ab;Ma=qVa(f[Sa>>2]|0,f[Sa+4>>2]|0,Ta|0,pa|0)|0;Sa=ab;f[Sa>>2]=Ma;f[Sa+4>>2]=I;Sa=Ha+(Qa<<2)|0;if(!(b[Ua+Qa>>0]|0)){f[Sa>>2]=0;Ma=f[Na>>2]|0;ya=f[Ma+20>>2]|0;ta=f[ya>>2]|0;f[ya>>2]=(ta|0)>(Qa|0)?Qa:ta;ta=ya+8|0;Pa=f[ta>>2]|0;f[ta>>2]=(Pa|0)<(Qa|0)?Qa:Pa;Pa=ya+4|0;ta=f[Pa>>2]|0;f[Pa>>2]=(ta|0)>(Ta|0)?Ta:ta;ta=ya+12|0;Pa=f[ta>>2]|0;f[ta>>2]=(Pa|0)<(Ta|0)?Ta:Pa;Pa=ya+16|0;f[Pa>>2]=(f[Pa>>2]|0)+1;Pa=f[Ma+120>>2]|0;Ma=Pa;ya=qVa(f[Ma>>2]|0,f[Ma+4>>2]|0,Qa|0,((Qa|0)<0)<<31>>31|0)|0;Ma=Pa;f[Ma>>2]=ya;f[Ma+4>>2]=I;Ma=Pa+8|0;Pa=Ma;ya=qVa(f[Pa>>2]|0,f[Pa+4>>2]|0,Ta|0,pa|0)|0;Pa=Ma;f[Pa>>2]=ya;f[Pa+4>>2]=I;break}else{f[Sa>>2]=Ca;Sa=f[Na>>2]|0;Pa=(f[Sa+20>>2]|0)+(X(f[f[Sa+48>>2]>>2]|0,Ca)|0)|0;ya=f[Pa>>2]|0;f[Pa>>2]=(ya|0)>(Qa|0)?Qa:ya;ya=Pa+8|0;Ma=f[ya>>2]|0;f[ya>>2]=(Ma|0)<(Qa|0)?Qa:Ma;Ma=Pa+4|0;ya=f[Ma>>2]|0;f[Ma>>2]=(ya|0)>(Ta|0)?Ta:ya;ya=Pa+12|0;Ma=f[ya>>2]|0;f[ya>>2]=(Ma|0)<(Ta|0)?Ta:Ma;Ma=Pa+16|0;f[Ma>>2]=(f[Ma>>2]|0)+1;Ma=f[Sa+120>>2]|0;Sa=Ma+(Ca<<4)|0;Pa=Sa;ya=qVa(f[Pa>>2]|0,f[Pa+4>>2]|0,Qa|0,((Qa|0)<0)<<31>>31|0)|0;Qa=Sa;f[Qa>>2]=ya;f[Qa+4>>2]=I;Qa=Ma+(Ca<<4)+8|0;Ca=Qa;Ma=qVa(f[Ca>>2]|0,f[Ca+4>>2]|0,Ta|0,pa|0)|0;Ca=Qa;f[Ca>>2]=Ma;f[Ca+4>>2]=I;break}}}else{f[Da>>2]=0;Ca=Ga|1;f[Va+(Ca<<2)>>2]=0;Ma=f[Na>>2]|0;Qa=f[Ma+20>>2]|0;ya=f[Qa>>2]|0;f[Qa>>2]=(ya|0)>(Ga|0)?Ga:ya;ya=Qa+8|0;Sa=f[ya>>2]|0;f[ya>>2]=(Sa|0)<(Ga|0)?Ga:Sa;Sa=Qa+4|0;ya=f[Sa>>2]|0;f[Sa>>2]=(ya|0)>(Ia|0)?Ia:ya;ya=Qa+12|0;Sa=f[ya>>2]|0;f[ya>>2]=(Sa|0)<(Ia|0)?Ia:Sa;Sa=Qa+16|0;f[Sa>>2]=(f[Sa>>2]|0)+1;Sa=f[Ma+120>>2]|0;Ma=((Ga|0)<0)<<31>>31;Qa=Sa;ya=qVa(f[Qa>>2]|0,f[Qa+4>>2]|0,Ga|0,Ma|0)|0;Qa=Sa;f[Qa>>2]=ya;f[Qa+4>>2]=I;Qa=Sa+8|0;Sa=Qa;ya=qVa(f[Sa>>2]|0,f[Sa+4>>2]|0,Ia|0,Xa|0)|0;Sa=Qa;f[Sa>>2]=ya;f[Sa+4>>2]=I;Sa=f[Na>>2]|0;ya=f[Sa+20>>2]|0;Qa=f[ya>>2]|0;f[ya>>2]=(Qa|0)>(Ca|0)?Ca:Qa;Qa=ya+8|0;Pa=f[Qa>>2]|0;f[Qa>>2]=(Pa|0)<(Ca|0)?Ca:Pa;Pa=ya+4|0;Qa=f[Pa>>2]|0;f[Pa>>2]=(Qa|0)>(Ia|0)?Ia:Qa;Qa=ya+12|0;Pa=f[Qa>>2]|0;f[Qa>>2]=(Pa|0)<(Ia|0)?Ia:Pa;Pa=ya+16|0;f[Pa>>2]=(f[Pa>>2]|0)+1;Pa=f[Sa+120>>2]|0;Sa=((Ca|0)<0)<<31>>31;ya=Pa;Qa=qVa(f[ya>>2]|0,f[ya+4>>2]|0,Ca|0,Sa|0)|0;ya=Pa;f[ya>>2]=Qa;f[ya+4>>2]=I;ya=Pa+8|0;Pa=ya;Qa=qVa(f[Pa>>2]|0,f[Pa+4>>2]|0,Ia|0,Xa|0)|0;Pa=ya;f[Pa>>2]=Qa;f[Pa+4>>2]=I;if((Ta|0)<(f[(f[h>>2]|0)+8>>2]|0)){f[Ha+(Ga<<2)>>2]=0;f[Ha+(Ca<<2)>>2]=0;Pa=f[Na>>2]|0;Qa=f[Pa+20>>2]|0;ya=f[Qa>>2]|0;f[Qa>>2]=(ya|0)>(Ga|0)?Ga:ya;ya=Qa+8|0;ta=f[ya>>2]|0;f[ya>>2]=(ta|0)<(Ga|0)?Ga:ta;ta=Qa+4|0;ya=f[ta>>2]|0;f[ta>>2]=(ya|0)>(Ta|0)?Ta:ya;ya=Qa+12|0;ta=f[ya>>2]|0;f[ya>>2]=(ta|0)<(Ta|0)?Ta:ta;ta=Qa+16|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=f[Pa+120>>2]|0;Pa=ta;Qa=qVa(f[Pa>>2]|0,f[Pa+4>>2]|0,Ga|0,Ma|0)|0;Ma=ta;f[Ma>>2]=Qa;f[Ma+4>>2]=I;Ma=ta+8|0;ta=Ma;Qa=qVa(f[ta>>2]|0,f[ta+4>>2]|0,Ta|0,pa|0)|0;ta=Ma;f[ta>>2]=Qa;f[ta+4>>2]=I;ta=f[Na>>2]|0;Qa=f[ta+20>>2]|0;Ma=f[Qa>>2]|0;f[Qa>>2]=(Ma|0)>(Ca|0)?Ca:Ma;Ma=Qa+8|0;Pa=f[Ma>>2]|0;f[Ma>>2]=(Pa|0)<(Ca|0)?Ca:Pa;Pa=Qa+4|0;Ma=f[Pa>>2]|0;f[Pa>>2]=(Ma|0)>(Ta|0)?Ta:Ma;Ma=Qa+12|0;Pa=f[Ma>>2]|0;f[Ma>>2]=(Pa|0)<(Ta|0)?Ta:Pa;Pa=Qa+16|0;f[Pa>>2]=(f[Pa>>2]|0)+1;Pa=f[ta+120>>2]|0;ta=Pa;Qa=qVa(f[ta>>2]|0,f[ta+4>>2]|0,Ca|0,Sa|0)|0;Sa=Pa;f[Sa>>2]=Qa;f[Sa+4>>2]=I;Sa=Pa+8|0;Pa=Sa;Qa=qVa(f[Pa>>2]|0,f[Pa+4>>2]|0,Ta|0,pa|0)|0;Pa=Sa;f[Pa>>2]=Qa;f[Pa+4>>2]=I}}while(0);Ga=Ga+2|0;Da=f[h>>2]|0;Ra=f[Da+12>>2]|0}while((Ga|0)<(Ra|0));bb=Ra;cb=Da}else{bb=Z;cb=Za}Ia=Ia+2|0;if((Ia|0)>=(c|0))break;else{Za=cb;Z=bb}}return}if(!d)return;d=a+4|0;bb=a+12|0;a=e;e=Oa;Oa=Y;while(1){Y=f[d>>2]|0;Z=f[f[Y+44>>2]>>2]|0;cb=(f[Y+16>>2]|0)+(X(Z,a)|0)|0;Y=cb+Z|0;Z=f[f[e+44>>2]>>2]|0;Za=(f[e+16>>2]|0)+(X(Z,a)|0)|0;Ia=Za+Z|0;if((Oa|0)>0){Z=((a|0)<0)<<31>>31;ab=a+1|0;$a=((ab|0)<0)<<31>>31;_a=0;do{Ya=Za+(_a<<2)|0;g=f[Ya>>2]|0;do if((g|0)>0){Ga=f[(f[bb>>2]|0)+(g<<2)>>2]|0;if(!(b[cb+_a>>0]|0)){f[Ya>>2]=0;pa=f[Na>>2]|0;Ta=f[pa+20>>2]|0;Ha=f[Ta>>2]|0;f[Ta>>2]=(Ha|0)>(_a|0)?_a:Ha;Ha=Ta+8|0;Xa=f[Ha>>2]|0;f[Ha>>2]=(Xa|0)<(_a|0)?_a:Xa;Xa=Ta+4|0;Ha=f[Xa>>2]|0;f[Xa>>2]=(Ha|0)>(a|0)?a:Ha;Ha=Ta+12|0;Xa=f[Ha>>2]|0;f[Ha>>2]=(Xa|0)<(a|0)?a:Xa;Xa=Ta+16|0;f[Xa>>2]=(f[Xa>>2]|0)+1;Xa=f[pa+120>>2]|0;pa=Xa;Ta=qVa(f[pa>>2]|0,f[pa+4>>2]|0,_a|0,((_a|0)<0)<<31>>31|0)|0;pa=Xa;f[pa>>2]=Ta;f[pa+4>>2]=I;db=Xa+8|0}else{f[Ya>>2]=Ga;Xa=f[Na>>2]|0;pa=(f[Xa+20>>2]|0)+(X(f[f[Xa+48>>2]>>2]|0,Ga)|0)|0;Ta=f[pa>>2]|0;f[pa>>2]=(Ta|0)>(_a|0)?_a:Ta;Ta=pa+8|0;Ha=f[Ta>>2]|0;f[Ta>>2]=(Ha|0)<(_a|0)?_a:Ha;Ha=pa+4|0;Ta=f[Ha>>2]|0;f[Ha>>2]=(Ta|0)>(a|0)?a:Ta;Ta=pa+12|0;Ha=f[Ta>>2]|0;f[Ta>>2]=(Ha|0)<(a|0)?a:Ha;Ha=pa+16|0;f[Ha>>2]=(f[Ha>>2]|0)+1;Ha=f[Xa+120>>2]|0;Xa=Ha+(Ga<<4)|0;pa=Xa;Ta=qVa(f[pa>>2]|0,f[pa+4>>2]|0,_a|0,((_a|0)<0)<<31>>31|0)|0;pa=Xa;f[pa>>2]=Ta;f[pa+4>>2]=I;db=Ha+(Ga<<4)+8|0}Ha=db;pa=qVa(f[Ha>>2]|0,f[Ha+4>>2]|0,a|0,Z|0)|0;Ha=db;f[Ha>>2]=pa;f[Ha+4>>2]=I;Ha=_a|1;pa=f[h>>2]|0;if((Ha|0)>=(f[pa+12>>2]|0)){if((ab|0)>=(f[pa+8>>2]|0))break;pa=Ia+(_a<<2)|0;if(!(b[Y+_a>>0]|0)){f[pa>>2]=0;Ta=f[Na>>2]|0;Xa=f[Ta+20>>2]|0;Va=f[Xa>>2]|0;f[Xa>>2]=(Va|0)>(_a|0)?_a:Va;Va=Xa+8|0;Ua=f[Va>>2]|0;f[Va>>2]=(Ua|0)<(_a|0)?_a:Ua;Ua=Xa+4|0;Va=f[Ua>>2]|0;f[Ua>>2]=(Va|0)>(ab|0)?ab:Va;Va=Xa+12|0;Ua=f[Va>>2]|0;f[Va>>2]=(Ua|0)<(ab|0)?ab:Ua;Ua=Xa+16|0;f[Ua>>2]=(f[Ua>>2]|0)+1;Ua=f[Ta+120>>2]|0;Ta=Ua;Xa=qVa(f[Ta>>2]|0,f[Ta+4>>2]|0,_a|0,((_a|0)<0)<<31>>31|0)|0;Ta=Ua;f[Ta>>2]=Xa;f[Ta+4>>2]=I;Ta=Ua+8|0;Ua=Ta;Xa=qVa(f[Ua>>2]|0,f[Ua+4>>2]|0,ab|0,$a|0)|0;Ua=Ta;f[Ua>>2]=Xa;f[Ua+4>>2]=I;break}else{f[pa>>2]=Ga;pa=f[Na>>2]|0;Ua=(f[pa+20>>2]|0)+(X(f[f[pa+48>>2]>>2]|0,Ga)|0)|0;Xa=f[Ua>>2]|0;f[Ua>>2]=(Xa|0)>(_a|0)?_a:Xa;Xa=Ua+8|0;Ta=f[Xa>>2]|0;f[Xa>>2]=(Ta|0)<(_a|0)?_a:Ta;Ta=Ua+4|0;Xa=f[Ta>>2]|0;f[Ta>>2]=(Xa|0)>(ab|0)?ab:Xa;Xa=Ua+12|0;Ta=f[Xa>>2]|0;f[Xa>>2]=(Ta|0)<(ab|0)?ab:Ta;Ta=Ua+16|0;f[Ta>>2]=(f[Ta>>2]|0)+1;Ta=f[pa+120>>2]|0;pa=Ta+(Ga<<4)|0;Ua=pa;Xa=qVa(f[Ua>>2]|0,f[Ua+4>>2]|0,_a|0,((_a|0)<0)<<31>>31|0)|0;Ua=pa;f[Ua>>2]=Xa;f[Ua+4>>2]=I;Ua=Ta+(Ga<<4)+8|0;Ta=Ua;Xa=qVa(f[Ta>>2]|0,f[Ta+4>>2]|0,ab|0,$a|0)|0;Ta=Ua;f[Ta>>2]=Xa;f[Ta+4>>2]=I;break}}Ta=Za+(Ha<<2)|0;if(!(b[cb+Ha>>0]|0)){f[Ta>>2]=0;Xa=f[Na>>2]|0;Ua=f[Xa+20>>2]|0;pa=f[Ua>>2]|0;f[Ua>>2]=(pa|0)>(Ha|0)?Ha:pa;pa=Ua+8|0;Va=f[pa>>2]|0;f[pa>>2]=(Va|0)<(Ha|0)?Ha:Va;Va=Ua+4|0;pa=f[Va>>2]|0;f[Va>>2]=(pa|0)>(a|0)?a:pa;pa=Ua+12|0;Va=f[pa>>2]|0;f[pa>>2]=(Va|0)<(a|0)?a:Va;Va=Ua+16|0;f[Va>>2]=(f[Va>>2]|0)+1;Va=f[Xa+120>>2]|0;Xa=Va;Ua=qVa(f[Xa>>2]|0,f[Xa+4>>2]|0,Ha|0,((Ha|0)<0)<<31>>31|0)|0;Xa=Va;f[Xa>>2]=Ua;f[Xa+4>>2]=I;eb=Va+8|0}else{f[Ta>>2]=Ga;Ta=f[Na>>2]|0;Va=(f[Ta+20>>2]|0)+(X(f[f[Ta+48>>2]>>2]|0,Ga)|0)|0;Xa=f[Va>>2]|0;f[Va>>2]=(Xa|0)>(Ha|0)?Ha:Xa;Xa=Va+8|0;Ua=f[Xa>>2]|0;f[Xa>>2]=(Ua|0)<(Ha|0)?Ha:Ua;Ua=Va+4|0;Xa=f[Ua>>2]|0;f[Ua>>2]=(Xa|0)>(a|0)?a:Xa;Xa=Va+12|0;Ua=f[Xa>>2]|0;f[Xa>>2]=(Ua|0)<(a|0)?a:Ua;Ua=Va+16|0;f[Ua>>2]=(f[Ua>>2]|0)+1;Ua=f[Ta+120>>2]|0;Ta=Ua+(Ga<<4)|0;Va=Ta;Xa=qVa(f[Va>>2]|0,f[Va+4>>2]|0,Ha|0,((Ha|0)<0)<<31>>31|0)|0;Va=Ta;f[Va>>2]=Xa;f[Va+4>>2]=I;eb=Ua+(Ga<<4)+8|0}Ua=eb;Va=qVa(f[Ua>>2]|0,f[Ua+4>>2]|0,a|0,Z|0)|0;Ua=eb;f[Ua>>2]=Va;f[Ua+4>>2]=I;if((ab|0)<(f[(f[h>>2]|0)+8>>2]|0)){Ua=Ia+(_a<<2)|0;if(!(b[Y+_a>>0]|0)){f[Ua>>2]=0;Va=f[Na>>2]|0;Xa=f[Va+20>>2]|0;Ta=f[Xa>>2]|0;f[Xa>>2]=(Ta|0)>(_a|0)?_a:Ta;Ta=Xa+8|0;pa=f[Ta>>2]|0;f[Ta>>2]=(pa|0)<(_a|0)?_a:pa;pa=Xa+4|0;Ta=f[pa>>2]|0;f[pa>>2]=(Ta|0)>(ab|0)?ab:Ta;Ta=Xa+12|0;pa=f[Ta>>2]|0;f[Ta>>2]=(pa|0)<(ab|0)?ab:pa;pa=Xa+16|0;f[pa>>2]=(f[pa>>2]|0)+1;pa=f[Va+120>>2]|0;Va=pa;Xa=qVa(f[Va>>2]|0,f[Va+4>>2]|0,_a|0,((_a|0)<0)<<31>>31|0)|0;Va=pa;f[Va>>2]=Xa;f[Va+4>>2]=I;fb=pa+8|0}else{f[Ua>>2]=Ga;Ua=f[Na>>2]|0;pa=(f[Ua+20>>2]|0)+(X(f[f[Ua+48>>2]>>2]|0,Ga)|0)|0;Va=f[pa>>2]|0;f[pa>>2]=(Va|0)>(_a|0)?_a:Va;Va=pa+8|0;Xa=f[Va>>2]|0;f[Va>>2]=(Xa|0)<(_a|0)?_a:Xa;Xa=pa+4|0;Va=f[Xa>>2]|0;f[Xa>>2]=(Va|0)>(ab|0)?ab:Va;Va=pa+12|0;Xa=f[Va>>2]|0;f[Va>>2]=(Xa|0)<(ab|0)?ab:Xa;Xa=pa+16|0;f[Xa>>2]=(f[Xa>>2]|0)+1;Xa=f[Ua+120>>2]|0;Ua=Xa+(Ga<<4)|0;pa=Ua;Va=qVa(f[pa>>2]|0,f[pa+4>>2]|0,_a|0,((_a|0)<0)<<31>>31|0)|0;pa=Ua;f[pa>>2]=Va;f[pa+4>>2]=I;fb=Xa+(Ga<<4)+8|0}Xa=fb;pa=qVa(f[Xa>>2]|0,f[Xa+4>>2]|0,ab|0,$a|0)|0;Xa=fb;f[Xa>>2]=pa;f[Xa+4>>2]=I;Xa=Ia+(Ha<<2)|0;if(!(b[Y+Ha>>0]|0)){f[Xa>>2]=0;pa=f[Na>>2]|0;Va=f[pa+20>>2]|0;Ua=f[Va>>2]|0;f[Va>>2]=(Ua|0)>(Ha|0)?Ha:Ua;Ua=Va+8|0;Ta=f[Ua>>2]|0;f[Ua>>2]=(Ta|0)<(Ha|0)?Ha:Ta;Ta=Va+4|0;Ua=f[Ta>>2]|0;f[Ta>>2]=(Ua|0)>(ab|0)?ab:Ua;Ua=Va+12|0;Ta=f[Ua>>2]|0;f[Ua>>2]=(Ta|0)<(ab|0)?ab:Ta;Ta=Va+16|0;f[Ta>>2]=(f[Ta>>2]|0)+1;Ta=f[pa+120>>2]|0;pa=Ta;Va=qVa(f[pa>>2]|0,f[pa+4>>2]|0,Ha|0,((Ha|0)<0)<<31>>31|0)|0;pa=Ta;f[pa>>2]=Va;f[pa+4>>2]=I;pa=Ta+8|0;Ta=pa;Va=qVa(f[Ta>>2]|0,f[Ta+4>>2]|0,ab|0,$a|0)|0;Ta=pa;f[Ta>>2]=Va;f[Ta+4>>2]=I;break}else{f[Xa>>2]=Ga;Xa=f[Na>>2]|0;Ta=(f[Xa+20>>2]|0)+(X(f[f[Xa+48>>2]>>2]|0,Ga)|0)|0;Va=f[Ta>>2]|0;f[Ta>>2]=(Va|0)>(Ha|0)?Ha:Va;Va=Ta+8|0;pa=f[Va>>2]|0;f[Va>>2]=(pa|0)<(Ha|0)?Ha:pa;pa=Ta+4|0;Va=f[pa>>2]|0;f[pa>>2]=(Va|0)>(ab|0)?ab:Va;Va=Ta+12|0;pa=f[Va>>2]|0;f[Va>>2]=(pa|0)<(ab|0)?ab:pa;pa=Ta+16|0;f[pa>>2]=(f[pa>>2]|0)+1;pa=f[Xa+120>>2]|0;Xa=pa+(Ga<<4)|0;Ta=Xa;Va=qVa(f[Ta>>2]|0,f[Ta+4>>2]|0,Ha|0,((Ha|0)<0)<<31>>31|0)|0;Ha=Xa;f[Ha>>2]=Va;f[Ha+4>>2]=I;Ha=pa+(Ga<<4)+8|0;Ga=Ha;pa=qVa(f[Ga>>2]|0,f[Ga+4>>2]|0,ab|0,$a|0)|0;Ga=Ha;f[Ga>>2]=pa;f[Ga+4>>2]=I;break}}}else{f[Ya>>2]=0;Ga=f[Na>>2]|0;pa=f[Ga+20>>2]|0;Ha=f[pa>>2]|0;f[pa>>2]=(Ha|0)>(_a|0)?_a:Ha;Ha=pa+8|0;Va=f[Ha>>2]|0;f[Ha>>2]=(Va|0)<(_a|0)?_a:Va;Va=pa+4|0;Ha=f[Va>>2]|0;f[Va>>2]=(Ha|0)>(a|0)?a:Ha;Ha=pa+12|0;Va=f[Ha>>2]|0;f[Ha>>2]=(Va|0)<(a|0)?a:Va;Va=pa+16|0;f[Va>>2]=(f[Va>>2]|0)+1;Va=f[Ga+120>>2]|0;Ga=((_a|0)<0)<<31>>31;pa=Va;Ha=qVa(f[pa>>2]|0,f[pa+4>>2]|0,_a|0,Ga|0)|0;pa=Va;f[pa>>2]=Ha;f[pa+4>>2]=I;pa=Va+8|0;Va=pa;Ha=qVa(f[Va>>2]|0,f[Va+4>>2]|0,a|0,Z|0)|0;Va=pa;f[Va>>2]=Ha;f[Va+4>>2]=I;Va=_a|1;Ha=f[h>>2]|0;if((Va|0)<(f[Ha+12>>2]|0)){f[Za+(Va<<2)>>2]=0;pa=f[Na>>2]|0;Xa=f[pa+20>>2]|0;Ta=f[Xa>>2]|0;f[Xa>>2]=(Ta|0)>(Va|0)?Va:Ta;Ta=Xa+8|0;Ua=f[Ta>>2]|0;f[Ta>>2]=(Ua|0)<(Va|0)?Va:Ua;Ua=Xa+4|0;Ta=f[Ua>>2]|0;f[Ua>>2]=(Ta|0)>(a|0)?a:Ta;Ta=Xa+12|0;Ua=f[Ta>>2]|0;f[Ta>>2]=(Ua|0)<(a|0)?a:Ua;Ua=Xa+16|0;f[Ua>>2]=(f[Ua>>2]|0)+1;Ua=f[pa+120>>2]|0;pa=((Va|0)<0)<<31>>31;Xa=Ua;Ta=qVa(f[Xa>>2]|0,f[Xa+4>>2]|0,Va|0,pa|0)|0;Xa=Ua;f[Xa>>2]=Ta;f[Xa+4>>2]=I;Xa=Ua+8|0;Ua=Xa;Ta=qVa(f[Ua>>2]|0,f[Ua+4>>2]|0,a|0,Z|0)|0;Ua=Xa;f[Ua>>2]=Ta;f[Ua+4>>2]=I;if((ab|0)>=(f[(f[h>>2]|0)+8>>2]|0))break;f[Ia+(_a<<2)>>2]=0;f[Ia+(Va<<2)>>2]=0;Ua=f[Na>>2]|0;Ta=f[Ua+20>>2]|0;Xa=f[Ta>>2]|0;f[Ta>>2]=(Xa|0)>(_a|0)?_a:Xa;Xa=Ta+8|0;Wa=f[Xa>>2]|0;f[Xa>>2]=(Wa|0)<(_a|0)?_a:Wa;Wa=Ta+4|0;Xa=f[Wa>>2]|0;f[Wa>>2]=(Xa|0)>(ab|0)?ab:Xa;Xa=Ta+12|0;Wa=f[Xa>>2]|0;f[Xa>>2]=(Wa|0)<(ab|0)?ab:Wa;Wa=Ta+16|0;f[Wa>>2]=(f[Wa>>2]|0)+1;Wa=f[Ua+120>>2]|0;Ua=Wa;Ta=qVa(f[Ua>>2]|0,f[Ua+4>>2]|0,_a|0,Ga|0)|0;Ua=Wa;f[Ua>>2]=Ta;f[Ua+4>>2]=I;Ua=Wa+8|0;Wa=Ua;Ta=qVa(f[Wa>>2]|0,f[Wa+4>>2]|0,ab|0,$a|0)|0;Wa=Ua;f[Wa>>2]=Ta;f[Wa+4>>2]=I;Wa=f[Na>>2]|0;Ta=f[Wa+20>>2]|0;Ua=f[Ta>>2]|0;f[Ta>>2]=(Ua|0)>(Va|0)?Va:Ua;Ua=Ta+8|0;Xa=f[Ua>>2]|0;f[Ua>>2]=(Xa|0)<(Va|0)?Va:Xa;Xa=Ta+4|0;Ua=f[Xa>>2]|0;f[Xa>>2]=(Ua|0)>(ab|0)?ab:Ua;Ua=Ta+12|0;Xa=f[Ua>>2]|0;f[Ua>>2]=(Xa|0)<(ab|0)?ab:Xa;Xa=Ta+16|0;f[Xa>>2]=(f[Xa>>2]|0)+1;Xa=f[Wa+120>>2]|0;Wa=Xa;Ta=qVa(f[Wa>>2]|0,f[Wa+4>>2]|0,Va|0,pa|0)|0;pa=Xa;f[pa>>2]=Ta;f[pa+4>>2]=I;pa=Xa+8|0;Xa=pa;Ta=qVa(f[Xa>>2]|0,f[Xa+4>>2]|0,ab|0,$a|0)|0;Xa=pa;f[Xa>>2]=Ta;f[Xa+4>>2]=I;break}else{if((ab|0)>=(f[Ha+8>>2]|0))break;f[Ia+(_a<<2)>>2]=0;Ha=f[Na>>2]|0;Xa=f[Ha+20>>2]|0;Ta=f[Xa>>2]|0;f[Xa>>2]=(Ta|0)>(_a|0)?_a:Ta;Ta=Xa+8|0;pa=f[Ta>>2]|0;f[Ta>>2]=(pa|0)<(_a|0)?_a:pa;pa=Xa+4|0;Ta=f[pa>>2]|0;f[pa>>2]=(Ta|0)>(ab|0)?ab:Ta;Ta=Xa+12|0;pa=f[Ta>>2]|0;f[Ta>>2]=(pa|0)<(ab|0)?ab:pa;pa=Xa+16|0;f[pa>>2]=(f[pa>>2]|0)+1;pa=f[Ha+120>>2]|0;Ha=pa;Xa=qVa(f[Ha>>2]|0,f[Ha+4>>2]|0,_a|0,Ga|0)|0;Ga=pa;f[Ga>>2]=Xa;f[Ga+4>>2]=I;Ga=pa+8|0;pa=Ga;Xa=qVa(f[pa>>2]|0,f[pa+4>>2]|0,ab|0,$a|0)|0;pa=Ga;f[pa>>2]=Xa;f[pa+4>>2]=I;break}}while(0);_a=_a+2|0;Ya=f[h>>2]|0;g=f[Ya+12>>2]|0}while((_a|0)<(g|0));gb=g;hb=Ya}else{gb=Oa;hb=e}a=a+2|0;if((a|0)>=(c|0))break;else{e=hb;Oa=gb}}return}}function Fha(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;c=u;u=u+80|0;d=c;e=c+16|0;f[e>>2]=1124007936;g=e+4|0;h=e+8|0;i=e+40|0;j=g;k=j+36|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[i>>2]=h;j=e+48|0;k=e+44|0;f[k>>2]=j;f[j>>2]=0;f[e+52>>2]=0;f[d>>2]=b;f[d+4>>2]=5;VO(e,2,d,4);l=a+4|0;m=e+36|0;n=f[m>>2]|0;if((l|0)==(e|0))o=n;else{if(n|0){p=n+12|0;f[p>>2]=(f[p>>2]|0)+1}p=a+40|0;n=f[p>>2]|0;if(n|0?(q=n+12|0,n=f[q>>2]|0,f[q>>2]=n+-1,(n|0)==1):0)XO(l);f[p>>2]=0;n=a+20|0;q=a+8|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;if((f[q>>2]|0)>0){r=f[a+44>>2]|0;s=0;do{f[r+(s<<2)>>2]=0;s=s+1|0;t=f[q>>2]|0}while((s|0)<(t|0));f[l>>2]=f[e>>2];if((t|0)<3)v=12;else v=14}else{f[l>>2]=f[e>>2];v=12}if((v|0)==12){t=f[g>>2]|0;if((t|0)<3){f[q>>2]=t;f[a+12>>2]=f[h>>2];f[a+16>>2]=f[e+12>>2];h=f[k>>2]|0;t=f[a+48>>2]|0;f[t>>2]=f[h>>2];f[t+4>>2]=f[h+4>>2]}else v=14}if((v|0)==14)WO(l,e);f[n>>2]=f[e+16>>2];f[a+24>>2]=f[e+20>>2];f[a+28>>2]=f[e+24>>2];f[a+32>>2]=f[e+28>>2];f[a+36>>2]=f[e+32>>2];n=f[m>>2]|0;f[p>>2]=n;o=n}if(o|0?(n=o+12|0,o=f[n>>2]|0,f[n>>2]=o+-1,(o|0)==1):0)XO(e);f[m>>2]=0;m=e+16|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;if((f[g>>2]|0)>0){m=f[i>>2]|0;i=0;do{f[m+(i<<2)>>2]=0;i=i+1|0}while((i|0)<(f[g>>2]|0))}g=f[k>>2]|0;if((g|0)!=(j|0))dX(g);if((b|0)>0){g=f[a+20>>2]|0;j=f[a+48>>2]|0;k=0;do{i=g+(X(f[j>>2]|0,k)|0)|0;f[i>>2]=2147483647;f[i+4>>2]=2147483647;f[i+8>>2]=-2147483648;f[i+12>>2]=-2147483648;f[i+16>>2]=0;k=k+1|0}while((k|0)!=(b|0))}k=a+120|0;j=a+124|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;a=f[j>>2]|0;g=f[k>>2]|0;i=a-g>>4;m=a;if(i>>>0>>0){Gha(k,b-i|0,d);u=c;return}if(i>>>0<=b>>>0){u=c;return}i=g+(b<<4)|0;if((i|0)==(m|0)){u=c;return}f[j>>2]=m+(~((m+-16-i|0)>>>4)<<4);u=c;return}function Gha(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if(e-h>>4>>>0>=b>>>0){i=b;j=h;do{f[j>>2]=f[c>>2];f[j+4>>2]=f[c+4>>2];f[j+8>>2]=f[c+8>>2];f[j+12>>2]=f[c+12>>2];j=(f[g>>2]|0)+16|0;f[g>>2]=j;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;j=h-i>>4;h=j+b|0;if(h>>>0>268435455)ZOa(a);k=e-i|0;i=k>>3;e=k>>4>>>0<134217727?(i>>>0>>0?h:i):268435455;do if(e)if(e>>>0>268435455){i=hd(8)|0;LQa(i,349912);f[i>>2]=118288;ld(i|0,20688,857)}else{l=EQa(e<<4)|0;break}else l=0;while(0);i=l+(j<<4)|0;j=l+(e<<4)|0;e=b;b=i;l=i;do{f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];f[b+12>>2]=f[c+12>>2];b=l+16|0;l=b;e=e+-1|0}while((e|0)!=0);e=f[a>>2]|0;b=(f[g>>2]|0)-e|0;c=i+(0-(b>>4)<<4)|0;if((b|0)>0)DVa(c|0,e|0,b|0)|0;f[a>>2]=c;f[g>>2]=l;f[d>>2]=j;if(!e)return;GQa(e);return}function Hha(a){a=a|0;GQa(a);return} +function cha(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0;h=u;u=u+16|0;a=h;i=c+8|0;k=e+8|0;if((f[i>>2]|0)!=(f[k>>2]|0)){f[a>>2]=0;f[a+4>>2]=0;l=JV(a,26)|0;m=231382;n=l+26|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-215,a,451664,231084,2589);KV(a)}o=c+12|0;p=e+12|0;if((f[o>>2]|0)!=(f[p>>2]|0)){f[a>>2]=0;f[a+4>>2]=0;l=JV(a,26)|0;m=231409;n=l+26|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-215,a,451664,231084,2590);KV(a)}if((g|0)!=8){f[a>>2]=0;f[a+4>>2]=0;l=JV(a,17)|0;m=231436;n=l+17|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-215,a,451664,231084,2591);KV(a)}a=f[i>>2]|0;i=f[o>>2]|0;o=cX((X(((a+1|0)/2|0)<<1,(i+1|0)/2|0)|0)+2|0)|0;d[o>>1]=0;if((a|0)>0){m=c+16|0;l=c+44|0;n=e+16|0;g=e+44|0;q=(i|0)>0;r=1;s=0;while(1){t=f[f[l>>2]>>2]|0;v=(f[m>>2]|0)+(X(t,s)|0)|0;w=0-t|0;x=v+w|0;y=x+w|0;w=v+t|0;t=f[f[g>>2]>>2]|0;z=(f[n>>2]|0)+(X(t,s)|0)|0;A=0-t|0;t=z+A+A|0;if(q){A=(s|1|0)<(a|0);B=(s|0)>0;C=(s|0)>1;D=0;E=r;while(1){a:do if(!(b[v+D>>0]|0)){if(A?b[w+D>>0]|0:0){F=D|1;if((F|0)<(i|0)?b[v+F>>0]|0:0){G=D+-1|0;do if((D|0)>0){if(b[v+G>>0]|0){do if(B){if(b[x+F>>0]|0){if(b[x+D>>0]|0){d[z+(D<<1)>>1]=d[z+(D+-2<<1)>>1]|0;H=E;break a}do if(C){if(!(b[y+D>>0]|0))break;I=D+-2|0;if(b[x+G>>0]|0){d[z+(D<<1)>>1]=d[z+(I<<1)>>1]|0;H=E;break a}do if((D|0)>1){if(!(b[x+I>>0]|0))break;if(b[y+G>>0]|0){d[z+(D<<1)>>1]=d[z+(I<<1)>>1]|0;H=E;break a}J=d[t+(D<<1)>>1]|0;K=d[z+(I<<1)>>1]|0;L=J;while(1){M=d[o+((L&65535)<<1)>>1]|0;if((M&65535)<(L&65535))L=M;else break}if(J<<16>>16==K<<16>>16)N=L;else{M=K;while(1){O=d[o+((M&65535)<<1)>>1]|0;if((O&65535)<(M&65535))M=O;else break}O=(L&65535)>(M&65535)?M:L;P=K;do{Q=o+((P&65535)<<1)|0;R=P;P=d[Q>>1]|0;d[Q>>1]=O}while((P&65535)<(R&65535));N=O}O=J;do{P=o+((O&65535)<<1)|0;K=O;O=d[P>>1]|0;d[P>>1]=N}while((O&65535)<(K&65535));d[z+(D<<1)>>1]=N;H=E;break a}while(0);O=d[t+(D<<1)>>1]|0;J=d[z+(I<<1)>>1]|0;K=O;while(1){P=d[o+((K&65535)<<1)>>1]|0;if((P&65535)<(K&65535))K=P;else break}if(O<<16>>16==J<<16>>16)S=K;else{I=J;while(1){P=d[o+((I&65535)<<1)>>1]|0;if((P&65535)<(I&65535))I=P;else break}P=(K&65535)>(I&65535)?I:K;L=J;do{M=o+((L&65535)<<1)|0;R=L;L=d[M>>1]|0;d[M>>1]=P}while((L&65535)<(R&65535));S=P}P=O;do{L=o+((P&65535)<<1)|0;J=P;P=d[L>>1]|0;d[L>>1]=S}while((P&65535)<(J&65535));d[z+(D<<1)>>1]=S;H=E;break a}while(0);P=d[t+(D<<1)>>1]|0;O=d[z+(D+-2<<1)>>1]|0;J=P;while(1){L=d[o+((J&65535)<<1)>>1]|0;if((L&65535)<(J&65535))J=L;else break}if(P<<16>>16==O<<16>>16)T=J;else{L=O;while(1){K=d[o+((L&65535)<<1)>>1]|0;if((K&65535)<(L&65535))L=K;else break}K=(J&65535)>(L&65535)?L:J;I=O;do{R=o+((I&65535)<<1)|0;M=I;I=d[R>>1]|0;d[R>>1]=K}while((I&65535)<(M&65535));T=K}K=P;do{I=o+((K&65535)<<1)|0;O=K;K=d[I>>1]|0;d[I>>1]=T}while((K&65535)<(O&65535));d[z+(D<<1)>>1]=T;H=E;break a}K=D+2|0;if((K|0)>=(i|0))break;if(!(b[x+K>>0]|0))break;do if(C){if(!(b[y+F>>0]|0))break;if(b[x+D>>0]|0){d[z+(D<<1)>>1]=d[z+(D+-2<<1)>>1]|0;H=E;break a}if(!(b[y+D>>0]|0)){P=d[t+(K<<1)>>1]|0;O=d[z+(D+-2<<1)>>1]|0;I=P;while(1){J=d[o+((I&65535)<<1)>>1]|0;if((J&65535)<(I&65535))I=J;else break}if(P<<16>>16==O<<16>>16)U=I;else{J=O;while(1){L=d[o+((J&65535)<<1)>>1]|0;if((L&65535)<(J&65535))J=L;else break}L=(I&65535)>(J&65535)?J:I;M=O;do{R=o+((M&65535)<<1)|0;Q=M;M=d[R>>1]|0;d[R>>1]=L}while((M&65535)<(Q&65535));U=L}L=P;do{M=o+((L&65535)<<1)|0;O=L;L=d[M>>1]|0;d[M>>1]=U}while((L&65535)<(O&65535));d[z+(D<<1)>>1]=U;H=E;break a}L=D+-2|0;if(b[x+G>>0]|0){d[z+(D<<1)>>1]=d[z+(L<<1)>>1]|0;H=E;break a}do if((D|0)>1){if(!(b[x+L>>0]|0))break;if(b[y+G>>0]|0){d[z+(D<<1)>>1]=d[z+(L<<1)>>1]|0;H=E;break a}P=d[t+(K<<1)>>1]|0;O=d[z+(L<<1)>>1]|0;M=P;while(1){I=d[o+((M&65535)<<1)>>1]|0;if((I&65535)<(M&65535))M=I;else break}if(P<<16>>16==O<<16>>16)V=M;else{I=O;while(1){J=d[o+((I&65535)<<1)>>1]|0;if((J&65535)<(I&65535))I=J;else break}J=(M&65535)>(I&65535)?I:M;Q=O;do{R=o+((Q&65535)<<1)|0;W=Q;Q=d[R>>1]|0;d[R>>1]=J}while((Q&65535)<(W&65535));V=J}J=P;do{Q=o+((J&65535)<<1)|0;O=J;J=d[Q>>1]|0;d[Q>>1]=V}while((J&65535)<(O&65535));d[z+(D<<1)>>1]=V;H=E;break a}while(0);J=d[t+(K<<1)>>1]|0;P=d[z+(L<<1)>>1]|0;O=J;while(1){Q=d[o+((O&65535)<<1)>>1]|0;if((Q&65535)<(O&65535))O=Q;else break}if(J<<16>>16==P<<16>>16)Y=O;else{L=P;while(1){Q=d[o+((L&65535)<<1)>>1]|0;if((Q&65535)<(L&65535))L=Q;else break}Q=(O&65535)>(L&65535)?L:O;M=P;do{I=o+((M&65535)<<1)|0;W=M;M=d[I>>1]|0;d[I>>1]=Q}while((M&65535)<(W&65535));Y=Q}Q=J;do{M=o+((Q&65535)<<1)|0;P=Q;Q=d[M>>1]|0;d[M>>1]=Y}while((Q&65535)<(P&65535));d[z+(D<<1)>>1]=Y;H=E;break a}while(0);Q=d[t+(K<<1)>>1]|0;J=d[z+(D+-2<<1)>>1]|0;P=Q;while(1){M=d[o+((P&65535)<<1)>>1]|0;if((M&65535)<(P&65535))P=M;else break}if(Q<<16>>16==J<<16>>16)Z=P;else{K=J;while(1){M=d[o+((K&65535)<<1)>>1]|0;if((M&65535)<(K&65535))K=M;else break}M=(P&65535)>(K&65535)?K:P;O=J;do{L=o+((O&65535)<<1)|0;W=O;O=d[L>>1]|0;d[L>>1]=M}while((O&65535)<(W&65535));Z=M}M=Q;do{O=o+((M&65535)<<1)|0;J=M;M=d[O>>1]|0;d[O>>1]=Z}while((M&65535)<(J&65535));d[z+(D<<1)>>1]=Z;H=E;break a}while(0);d[z+(D<<1)>>1]=d[z+(D+-2<<1)>>1]|0;H=E;break a}if(!(b[w+G>>0]|0))break;do if(B){if(b[x+F>>0]|0){M=D+-2|0;do if((D|0)>1){if(!(b[v+M>>0]|0))break;if(b[x+G>>0]|0){if(b[x+D>>0]|0){d[z+(D<<1)>>1]=d[z+(M<<1)>>1]|0;H=E;break a}do if(C){if(!(b[y+D>>0]|0))break;d[z+(D<<1)>>1]=d[z+(M<<1)>>1]|0;H=E;break a}while(0);Q=d[t+(D<<1)>>1]|0;J=d[z+(M<<1)>>1]|0;O=Q;while(1){P=d[o+((O&65535)<<1)>>1]|0;if((P&65535)<(O&65535))O=P;else break}if(Q<<16>>16==J<<16>>16)_=O;else{P=J;while(1){K=d[o+((P&65535)<<1)>>1]|0;if((K&65535)<(P&65535))P=K;else break}K=(O&65535)>(P&65535)?P:O;W=J;do{L=o+((W&65535)<<1)|0;I=W;W=d[L>>1]|0;d[L>>1]=K}while((W&65535)<(I&65535));_=K}K=Q;do{W=o+((K&65535)<<1)|0;J=K;K=d[W>>1]|0;d[W>>1]=_}while((K&65535)<(J&65535));d[z+(D<<1)>>1]=_;H=E;break a}if(!(b[x+M>>0]|0)){K=d[t+(D<<1)>>1]|0;Q=d[z+(M<<1)>>1]|0;J=K;while(1){W=d[o+((J&65535)<<1)>>1]|0;if((W&65535)<(J&65535))J=W;else break}if(K<<16>>16==Q<<16>>16)$=J;else{W=Q;while(1){O=d[o+((W&65535)<<1)>>1]|0;if((O&65535)<(W&65535))W=O;else break}O=(J&65535)>(W&65535)?W:J;P=Q;do{I=o+((P&65535)<<1)|0;L=P;P=d[I>>1]|0;d[I>>1]=O}while((P&65535)<(L&65535));$=O}O=K;do{P=o+((O&65535)<<1)|0;Q=O;O=d[P>>1]|0;d[P>>1]=$}while((O&65535)<(Q&65535));d[z+(D<<1)>>1]=$;H=E;break a}do if(C){if(!(b[y+G>>0]|0))break;if(b[x+D>>0]|0){d[z+(D<<1)>>1]=d[z+(M<<1)>>1]|0;H=E;break a}if(b[y+D>>0]|0){d[z+(D<<1)>>1]=d[z+(M<<1)>>1]|0;H=E;break a}O=d[t+(D<<1)>>1]|0;K=d[z+(M<<1)>>1]|0;Q=O;while(1){P=d[o+((Q&65535)<<1)>>1]|0;if((P&65535)<(Q&65535))Q=P;else break}if(O<<16>>16==K<<16>>16)aa=Q;else{P=K;while(1){J=d[o+((P&65535)<<1)>>1]|0;if((J&65535)<(P&65535))P=J;else break}J=(Q&65535)>(P&65535)?P:Q;W=K;do{L=o+((W&65535)<<1)|0;I=W;W=d[L>>1]|0;d[L>>1]=J}while((W&65535)<(I&65535));aa=J}J=O;do{W=o+((J&65535)<<1)|0;K=J;J=d[W>>1]|0;d[W>>1]=aa}while((J&65535)<(K&65535));d[z+(D<<1)>>1]=aa;H=E;break a}while(0);J=d[t+(D<<1)>>1]|0;O=d[z+(M<<1)>>1]|0;K=J;while(1){W=d[o+((K&65535)<<1)>>1]|0;if((W&65535)<(K&65535))K=W;else break}if(J<<16>>16==O<<16>>16)ba=K;else{W=O;while(1){Q=d[o+((W&65535)<<1)>>1]|0;if((Q&65535)<(W&65535))W=Q;else break}Q=(K&65535)>(W&65535)?W:K;P=O;do{I=o+((P&65535)<<1)|0;L=P;P=d[I>>1]|0;d[I>>1]=Q}while((P&65535)<(L&65535));ba=Q}Q=J;do{P=o+((Q&65535)<<1)|0;O=Q;Q=d[P>>1]|0;d[P>>1]=ba}while((Q&65535)<(O&65535));d[z+(D<<1)>>1]=ba;H=E;break a}while(0);Q=d[t+(D<<1)>>1]|0;J=d[z+(M<<1)>>1]|0;O=Q;while(1){P=d[o+((O&65535)<<1)>>1]|0;if((P&65535)<(O&65535))O=P;else break}if(Q<<16>>16==J<<16>>16)ca=O;else{M=J;while(1){P=d[o+((M&65535)<<1)>>1]|0;if((P&65535)<(M&65535))M=P;else break}P=(O&65535)>(M&65535)?M:O;K=J;do{W=o+((K&65535)<<1)|0;L=K;K=d[W>>1]|0;d[W>>1]=P}while((K&65535)<(L&65535));ca=P}P=Q;do{K=o+((P&65535)<<1)|0;J=P;P=d[K>>1]|0;d[K>>1]=ca}while((P&65535)<(J&65535));d[z+(D<<1)>>1]=ca;H=E;break a}P=D+2|0;do if((P|0)<(i|0)){if(!(b[x+P>>0]|0))break;do if(C){if(!(b[y+F>>0]|0))break;Q=D+-2|0;do if((D|0)>1){if(!(b[v+Q>>0]|0))break;if(b[x+G>>0]|0){if(b[x+D>>0]|0){d[z+(D<<1)>>1]=d[z+(Q<<1)>>1]|0;H=E;break a}if(b[y+D>>0]|0){d[z+(D<<1)>>1]=d[z+(Q<<1)>>1]|0;H=E;break a}J=d[t+(P<<1)>>1]|0;K=d[z+(Q<<1)>>1]|0;O=J;while(1){M=d[o+((O&65535)<<1)>>1]|0;if((M&65535)<(O&65535))O=M;else break}if(J<<16>>16==K<<16>>16)da=O;else{M=K;while(1){L=d[o+((M&65535)<<1)>>1]|0;if((L&65535)<(M&65535))M=L;else break}L=(O&65535)>(M&65535)?M:O;W=K;do{I=o+((W&65535)<<1)|0;R=W;W=d[I>>1]|0;d[I>>1]=L}while((W&65535)<(R&65535));da=L}L=J;do{W=o+((L&65535)<<1)|0;K=L;L=d[W>>1]|0;d[W>>1]=da}while((L&65535)<(K&65535));d[z+(D<<1)>>1]=da;H=E;break a}if(!(b[x+Q>>0]|0)){L=d[t+(P<<1)>>1]|0;J=d[z+(Q<<1)>>1]|0;K=L;while(1){W=d[o+((K&65535)<<1)>>1]|0;if((W&65535)<(K&65535))K=W;else break}if(L<<16>>16==J<<16>>16)ea=K;else{W=J;while(1){O=d[o+((W&65535)<<1)>>1]|0;if((O&65535)<(W&65535))W=O;else break}O=(K&65535)>(W&65535)?W:K;M=J;do{R=o+((M&65535)<<1)|0;I=M;M=d[R>>1]|0;d[R>>1]=O}while((M&65535)<(I&65535));ea=O}O=L;do{M=o+((O&65535)<<1)|0;J=O;O=d[M>>1]|0;d[M>>1]=ea}while((O&65535)<(J&65535));d[z+(D<<1)>>1]=ea;H=E;break a}if(!(b[y+G>>0]|0)){O=d[t+(P<<1)>>1]|0;L=d[z+(Q<<1)>>1]|0;J=O;while(1){M=d[o+((J&65535)<<1)>>1]|0;if((M&65535)<(J&65535))J=M;else break}if(O<<16>>16==L<<16>>16)fa=J;else{M=L;while(1){K=d[o+((M&65535)<<1)>>1]|0;if((K&65535)<(M&65535))M=K;else break}K=(J&65535)>(M&65535)?M:J;W=L;do{I=o+((W&65535)<<1)|0;R=W;W=d[I>>1]|0;d[I>>1]=K}while((W&65535)<(R&65535));fa=K}K=O;do{W=o+((K&65535)<<1)|0;L=K;K=d[W>>1]|0;d[W>>1]=fa}while((K&65535)<(L&65535));d[z+(D<<1)>>1]=fa;H=E;break a}if(b[x+D>>0]|0){d[z+(D<<1)>>1]=d[z+(Q<<1)>>1]|0;H=E;break a}if(b[y+D>>0]|0){d[z+(D<<1)>>1]=d[z+(Q<<1)>>1]|0;H=E;break a}K=d[t+(P<<1)>>1]|0;O=d[z+(Q<<1)>>1]|0;L=K;while(1){W=d[o+((L&65535)<<1)>>1]|0;if((W&65535)<(L&65535))L=W;else break}if(K<<16>>16==O<<16>>16)ga=L;else{W=O;while(1){J=d[o+((W&65535)<<1)>>1]|0;if((J&65535)<(W&65535))W=J;else break}J=(L&65535)>(W&65535)?W:L;M=O;do{R=o+((M&65535)<<1)|0;I=M;M=d[R>>1]|0;d[R>>1]=J}while((M&65535)<(I&65535));ga=J}J=K;do{M=o+((J&65535)<<1)|0;O=J;J=d[M>>1]|0;d[M>>1]=ga}while((J&65535)<(O&65535));d[z+(D<<1)>>1]=ga;H=E;break a}while(0);J=d[t+(P<<1)>>1]|0;K=d[z+(Q<<1)>>1]|0;O=J;while(1){M=d[o+((O&65535)<<1)>>1]|0;if((M&65535)<(O&65535))O=M;else break}if(J<<16>>16==K<<16>>16)ha=O;else{Q=K;while(1){M=d[o+((Q&65535)<<1)>>1]|0;if((M&65535)<(Q&65535))Q=M;else break}M=(O&65535)>(Q&65535)?Q:O;L=K;do{W=o+((L&65535)<<1)|0;I=L;L=d[W>>1]|0;d[W>>1]=M}while((L&65535)<(I&65535));ha=M}M=J;do{L=o+((M&65535)<<1)|0;K=M;M=d[L>>1]|0;d[L>>1]=ha}while((M&65535)<(K&65535));d[z+(D<<1)>>1]=ha;H=E;break a}while(0);if(!(b[x+D>>0]|0)){M=d[t+(P<<1)>>1]|0;J=d[z+(D+-2<<1)>>1]|0;K=M;while(1){L=d[o+((K&65535)<<1)>>1]|0;if((L&65535)<(K&65535))K=L;else break}if(M<<16>>16==J<<16>>16)ia=K;else{L=J;while(1){O=d[o+((L&65535)<<1)>>1]|0;if((O&65535)<(L&65535))L=O;else break}O=(K&65535)>(L&65535)?L:K;Q=J;do{I=o+((Q&65535)<<1)|0;W=Q;Q=d[I>>1]|0;d[I>>1]=O}while((Q&65535)<(W&65535));ia=O}O=M;do{Q=o+((O&65535)<<1)|0;J=O;O=d[Q>>1]|0;d[Q>>1]=ia}while((O&65535)<(J&65535));d[z+(D<<1)>>1]=ia;H=E;break a}O=D+-2|0;do if((D|0)>1){if(!(b[v+O>>0]|0))break;if(b[x+G>>0]|0){M=d[t+(P<<1)>>1]|0;J=d[z+(O<<1)>>1]|0;Q=M;while(1){K=d[o+((Q&65535)<<1)>>1]|0;if((K&65535)<(Q&65535))Q=K;else break}if(M<<16>>16==J<<16>>16)ja=Q;else{K=J;while(1){L=d[o+((K&65535)<<1)>>1]|0;if((L&65535)<(K&65535))K=L;else break}L=(Q&65535)>(K&65535)?K:Q;W=J;do{I=o+((W&65535)<<1)|0;R=W;W=d[I>>1]|0;d[I>>1]=L}while((W&65535)<(R&65535));ja=L}L=M;do{W=o+((L&65535)<<1)|0;J=L;L=d[W>>1]|0;d[W>>1]=ja}while((L&65535)<(J&65535));d[z+(D<<1)>>1]=ja;H=E;break a}if(!(b[x+O>>0]|0)){L=d[t+(D<<1)>>1]|0;M=d[t+(P<<1)>>1]|0;J=L;while(1){W=d[o+((J&65535)<<1)>>1]|0;if((W&65535)<(J&65535))J=W;else break}if(L<<16>>16==M<<16>>16)ka=J;else{W=M;while(1){Q=d[o+((W&65535)<<1)>>1]|0;if((Q&65535)<(W&65535))W=Q;else break}Q=(J&65535)>(W&65535)?W:J;K=M;do{R=o+((K&65535)<<1)|0;I=K;K=d[R>>1]|0;d[R>>1]=Q}while((K&65535)<(I&65535));ka=Q}Q=L;do{K=o+((Q&65535)<<1)|0;M=Q;Q=d[K>>1]|0;d[K>>1]=ka}while((Q&65535)<(M&65535));Q=d[z+(O<<1)>>1]|0;L=ka;while(1){M=d[o+((L&65535)<<1)>>1]|0;if((M&65535)<(L&65535))L=M;else break}if(ka<<16>>16==Q<<16>>16)la=L;else{M=Q;while(1){K=d[o+((M&65535)<<1)>>1]|0;if((K&65535)<(M&65535))M=K;else break}K=(L&65535)>(M&65535)?M:L;J=Q;do{W=o+((J&65535)<<1)|0;I=J;J=d[W>>1]|0;d[W>>1]=K}while((J&65535)<(I&65535));la=K}K=ka;do{J=o+((K&65535)<<1)|0;Q=K;K=d[J>>1]|0;d[J>>1]=la}while((K&65535)<(Q&65535));d[z+(D<<1)>>1]=la;H=E;break a}do if(C){if(!(b[y+G>>0]|0))break;K=d[t+(P<<1)>>1]|0;Q=d[z+(O<<1)>>1]|0;J=K;while(1){L=d[o+((J&65535)<<1)>>1]|0;if((L&65535)<(J&65535))J=L;else break}if(K<<16>>16==Q<<16>>16)ma=J;else{L=Q;while(1){M=d[o+((L&65535)<<1)>>1]|0;if((M&65535)<(L&65535))L=M;else break}M=(J&65535)>(L&65535)?L:J;I=Q;do{W=o+((I&65535)<<1)|0;R=I;I=d[W>>1]|0;d[W>>1]=M}while((I&65535)<(R&65535));ma=M}M=K;do{I=o+((M&65535)<<1)|0;Q=M;M=d[I>>1]|0;d[I>>1]=ma}while((M&65535)<(Q&65535));d[z+(D<<1)>>1]=ma;H=E;break a}while(0);M=d[t+(D<<1)>>1]|0;K=d[t+(P<<1)>>1]|0;Q=M;while(1){I=d[o+((Q&65535)<<1)>>1]|0;if((I&65535)<(Q&65535))Q=I;else break}if(M<<16>>16==K<<16>>16)na=Q;else{I=K;while(1){J=d[o+((I&65535)<<1)>>1]|0;if((J&65535)<(I&65535))I=J;else break}J=(Q&65535)>(I&65535)?I:Q;L=K;do{R=o+((L&65535)<<1)|0;W=L;L=d[R>>1]|0;d[R>>1]=J}while((L&65535)<(W&65535));na=J}J=M;do{L=o+((J&65535)<<1)|0;K=J;J=d[L>>1]|0;d[L>>1]=na}while((J&65535)<(K&65535));J=d[z+(O<<1)>>1]|0;M=na;while(1){K=d[o+((M&65535)<<1)>>1]|0;if((K&65535)<(M&65535))M=K;else break}if(na<<16>>16==J<<16>>16)oa=M;else{K=J;while(1){L=d[o+((K&65535)<<1)>>1]|0;if((L&65535)<(K&65535))K=L;else break}L=(M&65535)>(K&65535)?K:M;Q=J;do{I=o+((Q&65535)<<1)|0;W=Q;Q=d[I>>1]|0;d[I>>1]=L}while((Q&65535)<(W&65535));oa=L}L=na;do{Q=o+((L&65535)<<1)|0;J=L;L=d[Q>>1]|0;d[Q>>1]=oa}while((L&65535)<(J&65535));d[z+(D<<1)>>1]=oa;H=E;break a}while(0);L=d[t+(D<<1)>>1]|0;J=d[t+(P<<1)>>1]|0;Q=L;while(1){M=d[o+((Q&65535)<<1)>>1]|0;if((M&65535)<(Q&65535))Q=M;else break}if(L<<16>>16==J<<16>>16)pa=Q;else{M=J;while(1){K=d[o+((M&65535)<<1)>>1]|0;if((K&65535)<(M&65535))M=K;else break}K=(Q&65535)>(M&65535)?M:Q;W=J;do{I=o+((W&65535)<<1)|0;R=W;W=d[I>>1]|0;d[I>>1]=K}while((W&65535)<(R&65535));pa=K}K=L;do{W=o+((K&65535)<<1)|0;J=K;K=d[W>>1]|0;d[W>>1]=pa}while((K&65535)<(J&65535));K=d[z+(O<<1)>>1]|0;L=pa;while(1){J=d[o+((L&65535)<<1)>>1]|0;if((J&65535)<(L&65535))L=J;else break}if(pa<<16>>16==K<<16>>16)qa=L;else{O=K;while(1){J=d[o+((O&65535)<<1)>>1]|0;if((J&65535)<(O&65535))O=J;else break}J=(L&65535)>(O&65535)?O:L;W=K;do{Q=o+((W&65535)<<1)|0;M=W;W=d[Q>>1]|0;d[Q>>1]=J}while((W&65535)<(M&65535));qa=J}J=pa;do{W=o+((J&65535)<<1)|0;K=J;J=d[W>>1]|0;d[W>>1]=qa}while((J&65535)<(K&65535));d[z+(D<<1)>>1]=qa;H=E;break a}while(0);if(!(b[x+D>>0]|0))break;P=D+-2|0;do if((D|0)>1){if(!(b[v+P>>0]|0))break;if(b[x+G>>0]|0){d[z+(D<<1)>>1]=d[z+(P<<1)>>1]|0;H=E;break a}if(!(b[x+P>>0]|0)){J=d[t+(D<<1)>>1]|0;K=d[z+(P<<1)>>1]|0;W=J;while(1){L=d[o+((W&65535)<<1)>>1]|0;if((L&65535)<(W&65535))W=L;else break}if(J<<16>>16==K<<16>>16)ra=W;else{L=K;while(1){O=d[o+((L&65535)<<1)>>1]|0;if((O&65535)<(L&65535))L=O;else break}O=(W&65535)>(L&65535)?L:W;M=K;do{Q=o+((M&65535)<<1)|0;R=M;M=d[Q>>1]|0;d[Q>>1]=O}while((M&65535)<(R&65535));ra=O}O=J;do{M=o+((O&65535)<<1)|0;K=O;O=d[M>>1]|0;d[M>>1]=ra}while((O&65535)<(K&65535));d[z+(D<<1)>>1]=ra;H=E;break a}do if(C){if(!(b[y+G>>0]|0))break;d[z+(D<<1)>>1]=d[z+(P<<1)>>1]|0;H=E;break a}while(0);O=d[t+(D<<1)>>1]|0;J=d[z+(P<<1)>>1]|0;K=O;while(1){M=d[o+((K&65535)<<1)>>1]|0;if((M&65535)<(K&65535))K=M;else break}if(O<<16>>16==J<<16>>16)sa=K;else{M=J;while(1){W=d[o+((M&65535)<<1)>>1]|0;if((W&65535)<(M&65535))M=W;else break}W=(K&65535)>(M&65535)?M:K;L=J;do{R=o+((L&65535)<<1)|0;Q=L;L=d[R>>1]|0;d[R>>1]=W}while((L&65535)<(Q&65535));sa=W}W=O;do{L=o+((W&65535)<<1)|0;J=W;W=d[L>>1]|0;d[L>>1]=sa}while((W&65535)<(J&65535));d[z+(D<<1)>>1]=sa;H=E;break a}while(0);W=d[t+(D<<1)>>1]|0;O=d[z+(P<<1)>>1]|0;J=W;while(1){L=d[o+((J&65535)<<1)>>1]|0;if((L&65535)<(J&65535))J=L;else break}if(W<<16>>16==O<<16>>16)ta=J;else{P=O;while(1){L=d[o+((P&65535)<<1)>>1]|0;if((L&65535)<(P&65535))P=L;else break}L=(J&65535)>(P&65535)?P:J;K=O;do{M=o+((K&65535)<<1)|0;Q=K;K=d[M>>1]|0;d[M>>1]=L}while((K&65535)<(Q&65535));ta=L}L=W;do{K=o+((L&65535)<<1)|0;O=L;L=d[K>>1]|0;d[K>>1]=ta}while((L&65535)<(O&65535));d[z+(D<<1)>>1]=ta;H=E;break a}while(0);d[z+(D<<1)>>1]=d[z+(D+-2<<1)>>1]|0;H=E;break a}while(0);do if(B){if(b[x+F>>0]|0){d[z+(D<<1)>>1]=d[t+(D<<1)>>1]|0;H=E;break a}G=D+2|0;do if((G|0)<(i|0)){if(!(b[x+G>>0]|0))break;if(!(b[x+D>>0]|0)){d[z+(D<<1)>>1]=d[t+(G<<1)>>1]|0;H=E;break a}do if(C){if(!(b[y+F>>0]|0))break;d[z+(D<<1)>>1]=d[t+(G<<1)>>1]|0;H=E;break a}while(0);L=d[t+(D<<1)>>1]|0;W=d[t+(G<<1)>>1]|0;O=L;while(1){K=d[o+((O&65535)<<1)>>1]|0;if((K&65535)<(O&65535))O=K;else break}if(L<<16>>16==W<<16>>16)ua=O;else{K=W;while(1){J=d[o+((K&65535)<<1)>>1]|0;if((J&65535)<(K&65535))K=J;else break}J=(O&65535)>(K&65535)?K:O;P=W;do{Q=o+((P&65535)<<1)|0;M=P;P=d[Q>>1]|0;d[Q>>1]=J}while((P&65535)<(M&65535));ua=J}J=L;do{P=o+((J&65535)<<1)|0;W=J;J=d[P>>1]|0;d[P>>1]=ua}while((J&65535)<(W&65535));d[z+(D<<1)>>1]=ua;H=E;break a}while(0);if(!(b[x+D>>0]|0))break;d[z+(D<<1)>>1]=d[t+(D<<1)>>1]|0;H=E;break a}while(0);d[z+(D<<1)>>1]=E;F=E&65535;d[o+(F<<1)>>1]=E;H=F+1&65535;break}F=D+-1|0;if((D|0)>0){if(b[w+F>>0]|0){d[z+(D<<1)>>1]=d[z+(D+-2<<1)>>1]|0;H=E;break}if(b[v+F>>0]|0){d[z+(D<<1)>>1]=d[z+(D+-2<<1)>>1]|0;H=E;break}}d[z+(D<<1)>>1]=E;F=E&65535;d[o+(F<<1)>>1]=E;H=F+1&65535;break}F=D|1;do if((F|0)<(i|0)){if(!(b[v+F>>0]|0)){if(!A)break;if(!(b[w+F>>0]|0))break;d[z+(D<<1)>>1]=E;G=E&65535;d[o+(G<<1)>>1]=E;H=G+1&65535;break a}if(B){if(b[x+F>>0]|0){d[z+(D<<1)>>1]=d[t+(D<<1)>>1]|0;H=E;break a}G=D+2|0;do if((G|0)<(i|0)){if(!(b[x+G>>0]|0))break;if(!(b[x+D>>0]|0)){d[z+(D<<1)>>1]=d[t+(G<<1)>>1]|0;H=E;break a}do if(C){if(!(b[y+F>>0]|0))break;d[z+(D<<1)>>1]=d[t+(G<<1)>>1]|0;H=E;break a}while(0);J=d[t+(D<<1)>>1]|0;L=d[t+(G<<1)>>1]|0;W=J;while(1){P=d[o+((W&65535)<<1)>>1]|0;if((P&65535)<(W&65535))W=P;else break}if(J<<16>>16==L<<16>>16)va=W;else{P=L;while(1){O=d[o+((P&65535)<<1)>>1]|0;if((O&65535)<(P&65535))P=O;else break}O=(W&65535)>(P&65535)?P:W;K=L;do{M=o+((K&65535)<<1)|0;Q=K;K=d[M>>1]|0;d[M>>1]=O}while((K&65535)<(Q&65535));va=O}O=J;do{K=o+((O&65535)<<1)|0;L=O;O=d[K>>1]|0;d[K>>1]=va}while((O&65535)<(L&65535));d[z+(D<<1)>>1]=va;H=E;break a}while(0);if(b[x+D>>0]|0){d[z+(D<<1)>>1]=d[t+(D<<1)>>1]|0;H=E;break a}}d[z+(D<<1)>>1]=E;G=E&65535;d[o+(G<<1)>>1]=E;H=G+1&65535;break a}while(0);d[z+(D<<1)>>1]=0;H=E}else{F=D+-1|0;G=(D|0)>0;if(G){if(b[v+F>>0]|0){O=D|1;J=(O|0)<(i|0);if(B&J?b[x+O>>0]|0:0){if(b[x+D>>0]|0){d[z+(D<<1)>>1]=d[z+(D+-2<<1)>>1]|0;H=E;break}do if(C){if(!(b[y+D>>0]|0))break;L=D+-2|0;if(b[x+F>>0]|0){d[z+(D<<1)>>1]=d[z+(L<<1)>>1]|0;H=E;break a}do if((D|0)>1){if(!(b[x+L>>0]|0))break;if(b[y+F>>0]|0){d[z+(D<<1)>>1]=d[z+(L<<1)>>1]|0;H=E;break a}K=d[t+(D<<1)>>1]|0;W=d[z+(L<<1)>>1]|0;P=K;while(1){Q=d[o+((P&65535)<<1)>>1]|0;if((Q&65535)<(P&65535))P=Q;else break}if(K<<16>>16==W<<16>>16)wa=P;else{Q=W;while(1){M=d[o+((Q&65535)<<1)>>1]|0;if((M&65535)<(Q&65535))Q=M;else break}M=(P&65535)>(Q&65535)?Q:P;R=W;do{I=o+((R&65535)<<1)|0;xa=R;R=d[I>>1]|0;d[I>>1]=M}while((R&65535)<(xa&65535));wa=M}M=K;do{R=o+((M&65535)<<1)|0;W=M;M=d[R>>1]|0;d[R>>1]=wa}while((M&65535)<(W&65535));d[z+(D<<1)>>1]=wa;H=E;break a}while(0);M=d[t+(D<<1)>>1]|0;K=d[z+(L<<1)>>1]|0;W=M;while(1){R=d[o+((W&65535)<<1)>>1]|0;if((R&65535)<(W&65535))W=R;else break}if(M<<16>>16==K<<16>>16)ya=W;else{L=K;while(1){R=d[o+((L&65535)<<1)>>1]|0;if((R&65535)<(L&65535))L=R;else break}R=(W&65535)>(L&65535)?L:W;P=K;do{Q=o+((P&65535)<<1)|0;xa=P;P=d[Q>>1]|0;d[Q>>1]=R}while((P&65535)<(xa&65535));ya=R}R=M;do{P=o+((R&65535)<<1)|0;K=R;R=d[P>>1]|0;d[P>>1]=ya}while((R&65535)<(K&65535));d[z+(D<<1)>>1]=ya;H=E;break a}while(0);R=d[t+(D<<1)>>1]|0;M=d[z+(D+-2<<1)>>1]|0;K=R;while(1){P=d[o+((K&65535)<<1)>>1]|0;if((P&65535)<(K&65535))K=P;else break}if(R<<16>>16==M<<16>>16)za=K;else{P=M;while(1){W=d[o+((P&65535)<<1)>>1]|0;if((W&65535)<(P&65535))P=W;else break}W=(K&65535)>(P&65535)?P:K;L=M;do{xa=o+((L&65535)<<1)|0;Q=L;L=d[xa>>1]|0;d[xa>>1]=W}while((L&65535)<(Q&65535));za=W}W=R;do{L=o+((W&65535)<<1)|0;M=W;W=d[L>>1]|0;d[L>>1]=za}while((W&65535)<(M&65535));d[z+(D<<1)>>1]=za;H=E;break}if(J?b[v+O>>0]|0:0){W=D+2|0;do if(B&(W|0)<(i|0)){if(!(b[x+W>>0]|0))break;do if(C){if(!(b[y+O>>0]|0))break;if(b[x+D>>0]|0){d[z+(D<<1)>>1]=d[z+(D+-2<<1)>>1]|0;H=E;break a}if(!(b[y+D>>0]|0)){R=d[t+(W<<1)>>1]|0;M=d[z+(D+-2<<1)>>1]|0;L=R;while(1){K=d[o+((L&65535)<<1)>>1]|0;if((K&65535)<(L&65535))L=K;else break}if(R<<16>>16==M<<16>>16)Aa=L;else{K=M;while(1){P=d[o+((K&65535)<<1)>>1]|0;if((P&65535)<(K&65535))K=P;else break}P=(L&65535)>(K&65535)?K:L;Q=M;do{xa=o+((Q&65535)<<1)|0;I=Q;Q=d[xa>>1]|0;d[xa>>1]=P}while((Q&65535)<(I&65535));Aa=P}P=R;do{Q=o+((P&65535)<<1)|0;M=P;P=d[Q>>1]|0;d[Q>>1]=Aa}while((P&65535)<(M&65535));d[z+(D<<1)>>1]=Aa;H=E;break a}P=D+-2|0;if(b[x+F>>0]|0){d[z+(D<<1)>>1]=d[z+(P<<1)>>1]|0;H=E;break a}do if((D|0)>1){if(!(b[x+P>>0]|0))break;if(b[y+F>>0]|0){d[z+(D<<1)>>1]=d[z+(P<<1)>>1]|0;H=E;break a}R=d[t+(W<<1)>>1]|0;M=d[z+(P<<1)>>1]|0;Q=R;while(1){L=d[o+((Q&65535)<<1)>>1]|0;if((L&65535)<(Q&65535))Q=L;else break}if(R<<16>>16==M<<16>>16)Ba=Q;else{L=M;while(1){K=d[o+((L&65535)<<1)>>1]|0;if((K&65535)<(L&65535))L=K;else break}K=(Q&65535)>(L&65535)?L:Q;I=M;do{xa=o+((I&65535)<<1)|0;Ca=I;I=d[xa>>1]|0;d[xa>>1]=K}while((I&65535)<(Ca&65535));Ba=K}K=R;do{I=o+((K&65535)<<1)|0;M=K;K=d[I>>1]|0;d[I>>1]=Ba}while((K&65535)<(M&65535));d[z+(D<<1)>>1]=Ba;H=E;break a}while(0);K=d[t+(W<<1)>>1]|0;R=d[z+(P<<1)>>1]|0;M=K;while(1){I=d[o+((M&65535)<<1)>>1]|0;if((I&65535)<(M&65535))M=I;else break}if(K<<16>>16==R<<16>>16)Da=M;else{P=R;while(1){I=d[o+((P&65535)<<1)>>1]|0;if((I&65535)<(P&65535))P=I;else break}I=(M&65535)>(P&65535)?P:M;Q=R;do{L=o+((Q&65535)<<1)|0;Ca=Q;Q=d[L>>1]|0;d[L>>1]=I}while((Q&65535)<(Ca&65535));Da=I}I=K;do{Q=o+((I&65535)<<1)|0;R=I;I=d[Q>>1]|0;d[Q>>1]=Da}while((I&65535)<(R&65535));d[z+(D<<1)>>1]=Da;H=E;break a}while(0);I=d[t+(W<<1)>>1]|0;K=d[z+(D+-2<<1)>>1]|0;R=I;while(1){Q=d[o+((R&65535)<<1)>>1]|0;if((Q&65535)<(R&65535))R=Q;else break}if(I<<16>>16==K<<16>>16)Ea=R;else{Q=K;while(1){M=d[o+((Q&65535)<<1)>>1]|0;if((M&65535)<(Q&65535))Q=M;else break}M=(R&65535)>(Q&65535)?Q:R;P=K;do{Ca=o+((P&65535)<<1)|0;L=P;P=d[Ca>>1]|0;d[Ca>>1]=M}while((P&65535)<(L&65535));Ea=M}M=I;do{P=o+((M&65535)<<1)|0;K=M;M=d[P>>1]|0;d[P>>1]=Ea}while((M&65535)<(K&65535));d[z+(D<<1)>>1]=Ea;H=E;break a}while(0);d[z+(D<<1)>>1]=d[z+(D+-2<<1)>>1]|0;H=E;break}d[z+(D<<1)>>1]=d[z+(D+-2<<1)>>1]|0;H=E;break}if(A?b[w+F>>0]|0:0){W=D|1;O=(W|0)<(i|0);if(B&O?b[x+W>>0]|0:0){J=D+-2|0;do if((D|0)>1){if(!(b[v+J>>0]|0))break;if(b[x+F>>0]|0){if(b[x+D>>0]|0){d[z+(D<<1)>>1]=d[z+(J<<1)>>1]|0;H=E;break a}do if(C){if(!(b[y+D>>0]|0))break;d[z+(D<<1)>>1]=d[z+(J<<1)>>1]|0;H=E;break a}while(0);M=d[t+(D<<1)>>1]|0;I=d[z+(J<<1)>>1]|0;K=M;while(1){P=d[o+((K&65535)<<1)>>1]|0;if((P&65535)<(K&65535))K=P;else break}if(M<<16>>16==I<<16>>16)Fa=K;else{P=I;while(1){R=d[o+((P&65535)<<1)>>1]|0;if((R&65535)<(P&65535))P=R;else break}R=(K&65535)>(P&65535)?P:K;Q=I;do{L=o+((Q&65535)<<1)|0;Ca=Q;Q=d[L>>1]|0;d[L>>1]=R}while((Q&65535)<(Ca&65535));Fa=R}R=M;do{Q=o+((R&65535)<<1)|0;I=R;R=d[Q>>1]|0;d[Q>>1]=Fa}while((R&65535)<(I&65535));d[z+(D<<1)>>1]=Fa;H=E;break a}if(!(b[x+J>>0]|0)){R=d[t+(D<<1)>>1]|0;M=d[z+(J<<1)>>1]|0;I=R;while(1){Q=d[o+((I&65535)<<1)>>1]|0;if((Q&65535)<(I&65535))I=Q;else break}if(R<<16>>16==M<<16>>16)Ga=I;else{Q=M;while(1){K=d[o+((Q&65535)<<1)>>1]|0;if((K&65535)<(Q&65535))Q=K;else break}K=(I&65535)>(Q&65535)?Q:I;P=M;do{Ca=o+((P&65535)<<1)|0;L=P;P=d[Ca>>1]|0;d[Ca>>1]=K}while((P&65535)<(L&65535));Ga=K}K=R;do{P=o+((K&65535)<<1)|0;M=K;K=d[P>>1]|0;d[P>>1]=Ga}while((K&65535)<(M&65535));d[z+(D<<1)>>1]=Ga;H=E;break a}do if(C){if(!(b[y+F>>0]|0))break;if(b[x+D>>0]|0){d[z+(D<<1)>>1]=d[z+(J<<1)>>1]|0;H=E;break a}if(b[y+D>>0]|0){d[z+(D<<1)>>1]=d[z+(J<<1)>>1]|0;H=E;break a}K=d[t+(D<<1)>>1]|0;R=d[z+(J<<1)>>1]|0;M=K;while(1){P=d[o+((M&65535)<<1)>>1]|0;if((P&65535)<(M&65535))M=P;else break}if(K<<16>>16==R<<16>>16)Ha=M;else{P=R;while(1){I=d[o+((P&65535)<<1)>>1]|0;if((I&65535)<(P&65535))P=I;else break}I=(M&65535)>(P&65535)?P:M;Q=R;do{L=o+((Q&65535)<<1)|0;Ca=Q;Q=d[L>>1]|0;d[L>>1]=I}while((Q&65535)<(Ca&65535));Ha=I}I=K;do{Q=o+((I&65535)<<1)|0;R=I;I=d[Q>>1]|0;d[Q>>1]=Ha}while((I&65535)<(R&65535));d[z+(D<<1)>>1]=Ha;H=E;break a}while(0);I=d[t+(D<<1)>>1]|0;K=d[z+(J<<1)>>1]|0;R=I;while(1){Q=d[o+((R&65535)<<1)>>1]|0;if((Q&65535)<(R&65535))R=Q;else break}if(I<<16>>16==K<<16>>16)Ia=R;else{Q=K;while(1){M=d[o+((Q&65535)<<1)>>1]|0;if((M&65535)<(Q&65535))Q=M;else break}M=(R&65535)>(Q&65535)?Q:R;P=K;do{Ca=o+((P&65535)<<1)|0;L=P;P=d[Ca>>1]|0;d[Ca>>1]=M}while((P&65535)<(L&65535));Ia=M}M=I;do{P=o+((M&65535)<<1)|0;K=M;M=d[P>>1]|0;d[P>>1]=Ia}while((M&65535)<(K&65535));d[z+(D<<1)>>1]=Ia;H=E;break a}while(0);if(b[x+D>>0]|0){M=d[t+(D<<1)>>1]|0;I=d[z+(J<<1)>>1]|0;K=M;while(1){P=d[o+((K&65535)<<1)>>1]|0;if((P&65535)<(K&65535))K=P;else break}if(M<<16>>16==I<<16>>16)Ja=K;else{P=I;while(1){R=d[o+((P&65535)<<1)>>1]|0;if((R&65535)<(P&65535))P=R;else break}R=(K&65535)>(P&65535)?P:K;Q=I;do{L=o+((Q&65535)<<1)|0;Ca=Q;Q=d[L>>1]|0;d[L>>1]=R}while((Q&65535)<(Ca&65535));Ja=R}R=M;do{Q=o+((R&65535)<<1)|0;I=R;R=d[Q>>1]|0;d[Q>>1]=Ja}while((R&65535)<(I&65535));d[z+(D<<1)>>1]=Ja;H=E;break}if(!(b[x+F>>0]|0)){R=d[t+(D<<1)>>1]|0;M=d[z+(J<<1)>>1]|0;I=R;while(1){Q=d[o+((I&65535)<<1)>>1]|0;if((Q&65535)<(I&65535))I=Q;else break}if(R<<16>>16==M<<16>>16)Ka=I;else{Q=M;while(1){K=d[o+((Q&65535)<<1)>>1]|0;if((K&65535)<(Q&65535))Q=K;else break}K=(I&65535)>(Q&65535)?Q:I;P=M;do{Ca=o+((P&65535)<<1)|0;L=P;P=d[Ca>>1]|0;d[Ca>>1]=K}while((P&65535)<(L&65535));Ka=K}K=R;do{P=o+((K&65535)<<1)|0;M=K;K=d[P>>1]|0;d[P>>1]=Ka}while((K&65535)<(M&65535));d[z+(D<<1)>>1]=Ka;H=E;break}do if(C){if(!(b[y+D>>0]|0))break;K=d[t+(D<<1)>>1]|0;R=d[z+(J<<1)>>1]|0;M=K;while(1){P=d[o+((M&65535)<<1)>>1]|0;if((P&65535)<(M&65535))M=P;else break}if(K<<16>>16==R<<16>>16)La=M;else{P=R;while(1){I=d[o+((P&65535)<<1)>>1]|0;if((I&65535)<(P&65535))P=I;else break}I=(M&65535)>(P&65535)?P:M;Q=R;do{L=o+((Q&65535)<<1)|0;Ca=Q;Q=d[L>>1]|0;d[L>>1]=I}while((Q&65535)<(Ca&65535));La=I}I=K;do{Q=o+((I&65535)<<1)|0;R=I;I=d[Q>>1]|0;d[Q>>1]=La}while((I&65535)<(R&65535));d[z+(D<<1)>>1]=La;H=E;break a}while(0);I=d[t+(J<<1)>>1]|0;K=d[t+(D<<1)>>1]|0;R=I;while(1){Q=d[o+((R&65535)<<1)>>1]|0;if((Q&65535)<(R&65535))R=Q;else break}if(I<<16>>16==K<<16>>16)Ma=R;else{Q=K;while(1){M=d[o+((Q&65535)<<1)>>1]|0;if((M&65535)<(Q&65535))Q=M;else break}M=(R&65535)>(Q&65535)?Q:R;P=K;do{Ca=o+((P&65535)<<1)|0;L=P;P=d[Ca>>1]|0;d[Ca>>1]=M}while((P&65535)<(L&65535));Ma=M}M=I;do{P=o+((M&65535)<<1)|0;K=M;M=d[P>>1]|0;d[P>>1]=Ma}while((M&65535)<(K&65535));M=d[z+(J<<1)>>1]|0;I=Ma;while(1){K=d[o+((I&65535)<<1)>>1]|0;if((K&65535)<(I&65535))I=K;else break}if(Ma<<16>>16==M<<16>>16)Na=I;else{J=M;while(1){K=d[o+((J&65535)<<1)>>1]|0;if((K&65535)<(J&65535))J=K;else break}K=(I&65535)>(J&65535)?J:I;P=M;do{R=o+((P&65535)<<1)|0;Q=P;P=d[R>>1]|0;d[R>>1]=K}while((P&65535)<(Q&65535));Na=K}K=Ma;do{P=o+((K&65535)<<1)|0;M=K;K=d[P>>1]|0;d[P>>1]=Na}while((K&65535)<(M&65535));d[z+(D<<1)>>1]=Na;H=E;break}if(O?b[v+W>>0]|0:0){K=D+2|0;do if(B&(K|0)<(i|0)){if(!(b[x+K>>0]|0))break;M=D+-2|0;do if((D|0)>1){if(!(b[v+M>>0]|0))break;if(b[x+F>>0]|0){do if(C){if(!(b[y+W>>0]|0))break;if(b[x+D>>0]|0){d[z+(D<<1)>>1]=d[z+(M<<1)>>1]|0;H=E;break a}if(b[y+D>>0]|0){d[z+(D<<1)>>1]=d[z+(M<<1)>>1]|0;H=E;break a}P=d[t+(K<<1)>>1]|0;I=d[z+(M<<1)>>1]|0;J=P;while(1){Q=d[o+((J&65535)<<1)>>1]|0;if((Q&65535)<(J&65535))J=Q;else break}if(P<<16>>16==I<<16>>16)Oa=J;else{Q=I;while(1){R=d[o+((Q&65535)<<1)>>1]|0;if((R&65535)<(Q&65535))Q=R;else break}R=(J&65535)>(Q&65535)?Q:J;L=I;do{Ca=o+((L&65535)<<1)|0;xa=L;L=d[Ca>>1]|0;d[Ca>>1]=R}while((L&65535)<(xa&65535));Oa=R}R=P;do{L=o+((R&65535)<<1)|0;I=R;R=d[L>>1]|0;d[L>>1]=Oa}while((R&65535)<(I&65535));d[z+(D<<1)>>1]=Oa;H=E;break a}while(0);R=d[t+(K<<1)>>1]|0;P=d[z+(M<<1)>>1]|0;I=R;while(1){L=d[o+((I&65535)<<1)>>1]|0;if((L&65535)<(I&65535))I=L;else break}if(R<<16>>16==P<<16>>16)Pa=I;else{L=P;while(1){J=d[o+((L&65535)<<1)>>1]|0;if((J&65535)<(L&65535))L=J;else break}J=(I&65535)>(L&65535)?L:I;Q=P;do{xa=o+((Q&65535)<<1)|0;Ca=Q;Q=d[xa>>1]|0;d[xa>>1]=J}while((Q&65535)<(Ca&65535));Pa=J}J=R;do{Q=o+((J&65535)<<1)|0;P=J;J=d[Q>>1]|0;d[Q>>1]=Pa}while((J&65535)<(P&65535));d[z+(D<<1)>>1]=Pa;H=E;break a}do if(C){if(!(b[y+W>>0]|0))break;if(!(b[x+M>>0]|0)){J=d[t+(K<<1)>>1]|0;R=d[z+(M<<1)>>1]|0;P=J;while(1){Q=d[o+((P&65535)<<1)>>1]|0;if((Q&65535)<(P&65535))P=Q;else break}if(J<<16>>16==R<<16>>16)Qa=P;else{Q=R;while(1){I=d[o+((Q&65535)<<1)>>1]|0;if((I&65535)<(Q&65535))Q=I;else break}I=(P&65535)>(Q&65535)?Q:P;L=R;do{Ca=o+((L&65535)<<1)|0;xa=L;L=d[Ca>>1]|0;d[Ca>>1]=I}while((L&65535)<(xa&65535));Qa=I}I=J;do{L=o+((I&65535)<<1)|0;R=I;I=d[L>>1]|0;d[L>>1]=Qa}while((I&65535)<(R&65535));d[z+(D<<1)>>1]=Qa;H=E;break a}if(!(b[y+F>>0]|0)){I=d[t+(K<<1)>>1]|0;J=d[z+(M<<1)>>1]|0;R=I;while(1){L=d[o+((R&65535)<<1)>>1]|0;if((L&65535)<(R&65535))R=L;else break}if(I<<16>>16==J<<16>>16)Ra=R;else{L=J;while(1){P=d[o+((L&65535)<<1)>>1]|0;if((P&65535)<(L&65535))L=P;else break}P=(R&65535)>(L&65535)?L:R;Q=J;do{xa=o+((Q&65535)<<1)|0;Ca=Q;Q=d[xa>>1]|0;d[xa>>1]=P}while((Q&65535)<(Ca&65535));Ra=P}P=I;do{Q=o+((P&65535)<<1)|0;J=P;P=d[Q>>1]|0;d[Q>>1]=Ra}while((P&65535)<(J&65535));d[z+(D<<1)>>1]=Ra;H=E;break a}if(b[x+D>>0]|0){d[z+(D<<1)>>1]=d[z+(M<<1)>>1]|0;H=E;break a}if(b[y+D>>0]|0){d[z+(D<<1)>>1]=d[z+(M<<1)>>1]|0;H=E;break a}P=d[t+(K<<1)>>1]|0;I=d[z+(M<<1)>>1]|0;J=P;while(1){Q=d[o+((J&65535)<<1)>>1]|0;if((Q&65535)<(J&65535))J=Q;else break}if(P<<16>>16==I<<16>>16)Sa=J;else{Q=I;while(1){R=d[o+((Q&65535)<<1)>>1]|0;if((R&65535)<(Q&65535))Q=R;else break}R=(J&65535)>(Q&65535)?Q:J;L=I;do{Ca=o+((L&65535)<<1)|0;xa=L;L=d[Ca>>1]|0;d[Ca>>1]=R}while((L&65535)<(xa&65535));Sa=R}R=P;do{L=o+((R&65535)<<1)|0;I=R;R=d[L>>1]|0;d[L>>1]=Sa}while((R&65535)<(I&65535));d[z+(D<<1)>>1]=Sa;H=E;break a}while(0);if(!(b[x+D>>0]|0)){R=d[t+(K<<1)>>1]|0;P=d[z+(M<<1)>>1]|0;I=R;while(1){L=d[o+((I&65535)<<1)>>1]|0;if((L&65535)<(I&65535))I=L;else break}if(R<<16>>16==P<<16>>16)Ta=I;else{L=P;while(1){J=d[o+((L&65535)<<1)>>1]|0;if((J&65535)<(L&65535))L=J;else break}J=(I&65535)>(L&65535)?L:I;Q=P;do{xa=o+((Q&65535)<<1)|0;Ca=Q;Q=d[xa>>1]|0;d[xa>>1]=J}while((Q&65535)<(Ca&65535));Ta=J}J=R;do{Q=o+((J&65535)<<1)|0;P=J;J=d[Q>>1]|0;d[Q>>1]=Ta}while((J&65535)<(P&65535));d[z+(D<<1)>>1]=Ta;H=E;break a}if(!(b[x+M>>0]|0)){J=d[t+(D<<1)>>1]|0;R=d[t+(K<<1)>>1]|0;P=J;while(1){Q=d[o+((P&65535)<<1)>>1]|0;if((Q&65535)<(P&65535))P=Q;else break}if(J<<16>>16==R<<16>>16)Ua=P;else{Q=R;while(1){I=d[o+((Q&65535)<<1)>>1]|0;if((I&65535)<(Q&65535))Q=I;else break}I=(P&65535)>(Q&65535)?Q:P;L=R;do{Ca=o+((L&65535)<<1)|0;xa=L;L=d[Ca>>1]|0;d[Ca>>1]=I}while((L&65535)<(xa&65535));Ua=I}I=J;do{L=o+((I&65535)<<1)|0;R=I;I=d[L>>1]|0;d[L>>1]=Ua}while((I&65535)<(R&65535));I=d[z+(M<<1)>>1]|0;J=Ua;while(1){R=d[o+((J&65535)<<1)>>1]|0;if((R&65535)<(J&65535))J=R;else break}if(Ua<<16>>16==I<<16>>16)Va=J;else{R=I;while(1){L=d[o+((R&65535)<<1)>>1]|0;if((L&65535)<(R&65535))R=L;else break}L=(J&65535)>(R&65535)?R:J;P=I;do{Q=o+((P&65535)<<1)|0;xa=P;P=d[Q>>1]|0;d[Q>>1]=L}while((P&65535)<(xa&65535));Va=L}L=Ua;do{P=o+((L&65535)<<1)|0;I=L;L=d[P>>1]|0;d[P>>1]=Va}while((L&65535)<(I&65535));d[z+(D<<1)>>1]=Va;H=E;break a}do if(C){if(!(b[y+F>>0]|0))break;L=d[t+(K<<1)>>1]|0;I=d[z+(M<<1)>>1]|0;P=L;while(1){J=d[o+((P&65535)<<1)>>1]|0;if((J&65535)<(P&65535))P=J;else break}if(L<<16>>16==I<<16>>16)Wa=P;else{J=I;while(1){R=d[o+((J&65535)<<1)>>1]|0;if((R&65535)<(J&65535))J=R;else break}R=(P&65535)>(J&65535)?J:P;xa=I;do{Q=o+((xa&65535)<<1)|0;Ca=xa;xa=d[Q>>1]|0;d[Q>>1]=R}while((xa&65535)<(Ca&65535));Wa=R}R=L;do{xa=o+((R&65535)<<1)|0;I=R;R=d[xa>>1]|0;d[xa>>1]=Wa}while((R&65535)<(I&65535));d[z+(D<<1)>>1]=Wa;H=E;break a}while(0);R=d[t+(D<<1)>>1]|0;L=d[t+(K<<1)>>1]|0;I=R;while(1){xa=d[o+((I&65535)<<1)>>1]|0;if((xa&65535)<(I&65535))I=xa;else break}if(R<<16>>16==L<<16>>16)Xa=I;else{xa=L;while(1){P=d[o+((xa&65535)<<1)>>1]|0;if((P&65535)<(xa&65535))xa=P;else break}P=(I&65535)>(xa&65535)?xa:I;J=L;do{Ca=o+((J&65535)<<1)|0;Q=J;J=d[Ca>>1]|0;d[Ca>>1]=P}while((J&65535)<(Q&65535));Xa=P}P=R;do{J=o+((P&65535)<<1)|0;L=P;P=d[J>>1]|0;d[J>>1]=Xa}while((P&65535)<(L&65535));P=d[z+(M<<1)>>1]|0;R=Xa;while(1){L=d[o+((R&65535)<<1)>>1]|0;if((L&65535)<(R&65535))R=L;else break}if(Xa<<16>>16==P<<16>>16)Ya=R;else{L=P;while(1){J=d[o+((L&65535)<<1)>>1]|0;if((J&65535)<(L&65535))L=J;else break}J=(R&65535)>(L&65535)?L:R;I=P;do{xa=o+((I&65535)<<1)|0;Q=I;I=d[xa>>1]|0;d[xa>>1]=J}while((I&65535)<(Q&65535));Ya=J}J=Xa;do{I=o+((J&65535)<<1)|0;P=J;J=d[I>>1]|0;d[I>>1]=Ya}while((J&65535)<(P&65535));d[z+(D<<1)>>1]=Ya;H=E;break a}while(0);if(b[x+D>>0]|0){do if(C){if(!(b[y+W>>0]|0))break;J=d[t+(K<<1)>>1]|0;P=d[z+(M<<1)>>1]|0;I=J;while(1){R=d[o+((I&65535)<<1)>>1]|0;if((R&65535)<(I&65535))I=R;else break}if(J<<16>>16==P<<16>>16)Za=I;else{R=P;while(1){L=d[o+((R&65535)<<1)>>1]|0;if((L&65535)<(R&65535))R=L;else break}L=(I&65535)>(R&65535)?R:I;Q=P;do{xa=o+((Q&65535)<<1)|0;Ca=Q;Q=d[xa>>1]|0;d[xa>>1]=L}while((Q&65535)<(Ca&65535));Za=L}L=J;do{Q=o+((L&65535)<<1)|0;P=L;L=d[Q>>1]|0;d[Q>>1]=Za}while((L&65535)<(P&65535));d[z+(D<<1)>>1]=Za;H=E;break a}while(0);L=d[t+(D<<1)>>1]|0;J=d[t+(K<<1)>>1]|0;P=L;while(1){Q=d[o+((P&65535)<<1)>>1]|0;if((Q&65535)<(P&65535))P=Q;else break}if(L<<16>>16==J<<16>>16)_a=P;else{Q=J;while(1){I=d[o+((Q&65535)<<1)>>1]|0;if((I&65535)<(Q&65535))Q=I;else break}I=(P&65535)>(Q&65535)?Q:P;R=J;do{Ca=o+((R&65535)<<1)|0;xa=R;R=d[Ca>>1]|0;d[Ca>>1]=I}while((R&65535)<(xa&65535));_a=I}I=L;do{R=o+((I&65535)<<1)|0;J=I;I=d[R>>1]|0;d[R>>1]=_a}while((I&65535)<(J&65535));I=d[z+(M<<1)>>1]|0;L=_a;while(1){J=d[o+((L&65535)<<1)>>1]|0;if((J&65535)<(L&65535))L=J;else break}if(_a<<16>>16==I<<16>>16)$a=L;else{J=I;while(1){R=d[o+((J&65535)<<1)>>1]|0;if((R&65535)<(J&65535))J=R;else break}R=(L&65535)>(J&65535)?J:L;P=I;do{Q=o+((P&65535)<<1)|0;xa=P;P=d[Q>>1]|0;d[Q>>1]=R}while((P&65535)<(xa&65535));$a=R}R=_a;do{P=o+((R&65535)<<1)|0;I=R;R=d[P>>1]|0;d[P>>1]=$a}while((R&65535)<(I&65535));d[z+(D<<1)>>1]=$a;H=E;break a}if(!(b[x+F>>0]|0)){R=d[t+(K<<1)>>1]|0;I=d[z+(M<<1)>>1]|0;P=R;while(1){L=d[o+((P&65535)<<1)>>1]|0;if((L&65535)<(P&65535))P=L;else break}if(R<<16>>16==I<<16>>16)ab=P;else{L=I;while(1){J=d[o+((L&65535)<<1)>>1]|0;if((J&65535)<(L&65535))L=J;else break}J=(P&65535)>(L&65535)?L:P;xa=I;do{Q=o+((xa&65535)<<1)|0;Ca=xa;xa=d[Q>>1]|0;d[Q>>1]=J}while((xa&65535)<(Ca&65535));ab=J}J=R;do{xa=o+((J&65535)<<1)|0;I=J;J=d[xa>>1]|0;d[xa>>1]=ab}while((J&65535)<(I&65535));d[z+(D<<1)>>1]=ab;H=E;break a}do if(C){if(!(b[y+W>>0]|0))break;if(b[y+D>>0]|0){J=d[t+(K<<1)>>1]|0;R=d[z+(M<<1)>>1]|0;I=J;while(1){xa=d[o+((I&65535)<<1)>>1]|0;if((xa&65535)<(I&65535))I=xa;else break}if(J<<16>>16==R<<16>>16)bb=I;else{xa=R;while(1){P=d[o+((xa&65535)<<1)>>1]|0;if((P&65535)<(xa&65535))xa=P;else break}P=(I&65535)>(xa&65535)?xa:I;L=R;do{Ca=o+((L&65535)<<1)|0;Q=L;L=d[Ca>>1]|0;d[Ca>>1]=P}while((L&65535)<(Q&65535));bb=P}P=J;do{L=o+((P&65535)<<1)|0;R=P;P=d[L>>1]|0;d[L>>1]=bb}while((P&65535)<(R&65535));d[z+(D<<1)>>1]=bb;H=E;break a}P=d[t+(M<<1)>>1]|0;J=d[t+(K<<1)>>1]|0;R=P;while(1){L=d[o+((R&65535)<<1)>>1]|0;if((L&65535)<(R&65535))R=L;else break}if(P<<16>>16==J<<16>>16)cb=R;else{L=J;while(1){I=d[o+((L&65535)<<1)>>1]|0;if((I&65535)<(L&65535))L=I;else break}I=(R&65535)>(L&65535)?L:R;xa=J;do{Q=o+((xa&65535)<<1)|0;Ca=xa;xa=d[Q>>1]|0;d[Q>>1]=I}while((xa&65535)<(Ca&65535));cb=I}I=P;do{xa=o+((I&65535)<<1)|0;J=I;I=d[xa>>1]|0;d[xa>>1]=cb}while((I&65535)<(J&65535));I=d[z+(M<<1)>>1]|0;P=cb;while(1){J=d[o+((P&65535)<<1)>>1]|0;if((J&65535)<(P&65535))P=J;else break}if(cb<<16>>16==I<<16>>16)db=P;else{J=I;while(1){xa=d[o+((J&65535)<<1)>>1]|0;if((xa&65535)<(J&65535))J=xa;else break}xa=(P&65535)>(J&65535)?J:P;R=I;do{L=o+((R&65535)<<1)|0;Ca=R;R=d[L>>1]|0;d[L>>1]=xa}while((R&65535)<(Ca&65535));db=xa}xa=cb;do{R=o+((xa&65535)<<1)|0;I=xa;xa=d[R>>1]|0;d[R>>1]=db}while((xa&65535)<(I&65535));d[z+(D<<1)>>1]=db;H=E;break a}while(0);xa=d[t+(M<<1)>>1]|0;I=d[t+(K<<1)>>1]|0;R=xa;while(1){P=d[o+((R&65535)<<1)>>1]|0;if((P&65535)<(R&65535))R=P;else break}if(xa<<16>>16==I<<16>>16)eb=R;else{P=I;while(1){J=d[o+((P&65535)<<1)>>1]|0;if((J&65535)<(P&65535))P=J;else break}J=(R&65535)>(P&65535)?P:R;Ca=I;do{L=o+((Ca&65535)<<1)|0;Q=Ca;Ca=d[L>>1]|0;d[L>>1]=J}while((Ca&65535)<(Q&65535));eb=J}J=xa;do{Ca=o+((J&65535)<<1)|0;I=J;J=d[Ca>>1]|0;d[Ca>>1]=eb}while((J&65535)<(I&65535));J=d[z+(M<<1)>>1]|0;xa=eb;while(1){I=d[o+((xa&65535)<<1)>>1]|0;if((I&65535)<(xa&65535))xa=I;else break}if(eb<<16>>16==J<<16>>16)fb=xa;else{M=J;while(1){I=d[o+((M&65535)<<1)>>1]|0;if((I&65535)<(M&65535))M=I;else break}I=(xa&65535)>(M&65535)?M:xa;Ca=J;do{R=o+((Ca&65535)<<1)|0;P=Ca;Ca=d[R>>1]|0;d[R>>1]=I}while((Ca&65535)<(P&65535));fb=I}I=eb;do{Ca=o+((I&65535)<<1)|0;J=I;I=d[Ca>>1]|0;d[Ca>>1]=fb}while((I&65535)<(J&65535));d[z+(D<<1)>>1]=fb;H=E;break a}while(0);do if(B){if(b[x+F>>0]|0){K=D+-2|0;do if((D|0)>1){if(!(b[v+K>>0]|0))break;d[z+(D<<1)>>1]=d[z+(K<<1)>>1]|0;H=E;break a}while(0);W=d[t+(K<<1)>>1]|0;O=d[z+(K<<1)>>1]|0;I=W;while(1){J=d[o+((I&65535)<<1)>>1]|0;if((J&65535)<(I&65535))I=J;else break}if(W<<16>>16==O<<16>>16)gb=I;else{K=O;while(1){J=d[o+((K&65535)<<1)>>1]|0;if((J&65535)<(K&65535))K=J;else break}J=(I&65535)>(K&65535)?K:I;Ca=O;do{xa=o+((Ca&65535)<<1)|0;M=Ca;Ca=d[xa>>1]|0;d[xa>>1]=J}while((Ca&65535)<(M&65535));gb=J}J=W;do{Ca=o+((J&65535)<<1)|0;O=J;J=d[Ca>>1]|0;d[Ca>>1]=gb}while((J&65535)<(O&65535));d[z+(D<<1)>>1]=gb;H=E;break a}if(!(b[x+D>>0]|0))break;J=D+-2|0;do if((D|0)>1){if(!(b[v+J>>0]|0))break;if(!(b[x+J>>0]|0)){W=d[t+(D<<1)>>1]|0;O=d[z+(J<<1)>>1]|0;Ca=W;while(1){I=d[o+((Ca&65535)<<1)>>1]|0;if((I&65535)<(Ca&65535))Ca=I;else break}if(W<<16>>16==O<<16>>16)hb=Ca;else{I=O;while(1){K=d[o+((I&65535)<<1)>>1]|0;if((K&65535)<(I&65535))I=K;else break}K=(Ca&65535)>(I&65535)?I:Ca;M=O;do{xa=o+((M&65535)<<1)|0;P=M;M=d[xa>>1]|0;d[xa>>1]=K}while((M&65535)<(P&65535));hb=K}K=W;do{M=o+((K&65535)<<1)|0;O=K;K=d[M>>1]|0;d[M>>1]=hb}while((K&65535)<(O&65535));d[z+(D<<1)>>1]=hb;H=E;break a}do if(C){if(!(b[y+F>>0]|0))break;d[z+(D<<1)>>1]=d[z+(J<<1)>>1]|0;H=E;break a}while(0);K=d[t+(D<<1)>>1]|0;W=d[z+(J<<1)>>1]|0;O=K;while(1){M=d[o+((O&65535)<<1)>>1]|0;if((M&65535)<(O&65535))O=M;else break}if(K<<16>>16==W<<16>>16)ib=O;else{M=W;while(1){Ca=d[o+((M&65535)<<1)>>1]|0;if((Ca&65535)<(M&65535))M=Ca;else break}Ca=(O&65535)>(M&65535)?M:O;I=W;do{P=o+((I&65535)<<1)|0;xa=I;I=d[P>>1]|0;d[P>>1]=Ca}while((I&65535)<(xa&65535));ib=Ca}Ca=K;do{I=o+((Ca&65535)<<1)|0;W=Ca;Ca=d[I>>1]|0;d[I>>1]=ib}while((Ca&65535)<(W&65535));d[z+(D<<1)>>1]=ib;H=E;break a}while(0);Ca=d[t+(D<<1)>>1]|0;K=d[z+(J<<1)>>1]|0;W=Ca;while(1){I=d[o+((W&65535)<<1)>>1]|0;if((I&65535)<(W&65535))W=I;else break}if(Ca<<16>>16==K<<16>>16)jb=W;else{J=K;while(1){I=d[o+((J&65535)<<1)>>1]|0;if((I&65535)<(J&65535))J=I;else break}I=(W&65535)>(J&65535)?J:W;O=K;do{M=o+((O&65535)<<1)|0;xa=O;O=d[M>>1]|0;d[M>>1]=I}while((O&65535)<(xa&65535));jb=I}I=Ca;do{O=o+((I&65535)<<1)|0;K=I;I=d[O>>1]|0;d[O>>1]=jb}while((I&65535)<(K&65535));d[z+(D<<1)>>1]=jb;H=E;break a}while(0);d[z+(D<<1)>>1]=d[z+(D+-2<<1)>>1]|0;H=E;break}do if(B){if(b[x+F>>0]|0){I=D+-2|0;do if((D|0)>1){if(!(b[v+I>>0]|0))break;d[z+(D<<1)>>1]=d[z+(I<<1)>>1]|0;H=E;break a}while(0);Ca=d[t+(I<<1)>>1]|0;K=d[z+(I<<1)>>1]|0;O=Ca;while(1){W=d[o+((O&65535)<<1)>>1]|0;if((W&65535)<(O&65535))O=W;else break}if(Ca<<16>>16==K<<16>>16)kb=O;else{I=K;while(1){W=d[o+((I&65535)<<1)>>1]|0;if((W&65535)<(I&65535))I=W;else break}W=(O&65535)>(I&65535)?I:O;J=K;do{xa=o+((J&65535)<<1)|0;M=J;J=d[xa>>1]|0;d[xa>>1]=W}while((J&65535)<(M&65535));kb=W}W=Ca;do{J=o+((W&65535)<<1)|0;K=W;W=d[J>>1]|0;d[J>>1]=kb}while((W&65535)<(K&65535));d[z+(D<<1)>>1]=kb;H=E;break a}if(!(b[x+D>>0]|0))break;W=D+-2|0;do if((D|0)>1){if(!(b[v+W>>0]|0))break;if(!(b[x+W>>0]|0)){Ca=d[t+(D<<1)>>1]|0;K=d[z+(W<<1)>>1]|0;J=Ca;while(1){O=d[o+((J&65535)<<1)>>1]|0;if((O&65535)<(J&65535))J=O;else break}if(Ca<<16>>16==K<<16>>16)lb=J;else{O=K;while(1){I=d[o+((O&65535)<<1)>>1]|0;if((I&65535)<(O&65535))O=I;else break}I=(J&65535)>(O&65535)?O:J;M=K;do{xa=o+((M&65535)<<1)|0;P=M;M=d[xa>>1]|0;d[xa>>1]=I}while((M&65535)<(P&65535));lb=I}I=Ca;do{M=o+((I&65535)<<1)|0;K=I;I=d[M>>1]|0;d[M>>1]=lb}while((I&65535)<(K&65535));d[z+(D<<1)>>1]=lb;H=E;break a}do if(C){if(!(b[y+F>>0]|0))break;d[z+(D<<1)>>1]=d[z+(W<<1)>>1]|0;H=E;break a}while(0);I=d[t+(D<<1)>>1]|0;Ca=d[z+(W<<1)>>1]|0;K=I;while(1){M=d[o+((K&65535)<<1)>>1]|0;if((M&65535)<(K&65535))K=M;else break}if(I<<16>>16==Ca<<16>>16)mb=K;else{M=Ca;while(1){J=d[o+((M&65535)<<1)>>1]|0;if((J&65535)<(M&65535))M=J;else break}J=(K&65535)>(M&65535)?M:K;O=Ca;do{P=o+((O&65535)<<1)|0;xa=O;O=d[P>>1]|0;d[P>>1]=J}while((O&65535)<(xa&65535));mb=J}J=I;do{O=o+((J&65535)<<1)|0;Ca=J;J=d[O>>1]|0;d[O>>1]=mb}while((J&65535)<(Ca&65535));d[z+(D<<1)>>1]=mb;H=E;break a}while(0);J=d[t+(D<<1)>>1]|0;I=d[z+(W<<1)>>1]|0;Ca=J;while(1){O=d[o+((Ca&65535)<<1)>>1]|0;if((O&65535)<(Ca&65535))Ca=O;else break}if(J<<16>>16==I<<16>>16)nb=Ca;else{W=I;while(1){O=d[o+((W&65535)<<1)>>1]|0;if((O&65535)<(W&65535))W=O;else break}O=(Ca&65535)>(W&65535)?W:Ca;K=I;do{M=o+((K&65535)<<1)|0;xa=K;K=d[M>>1]|0;d[M>>1]=O}while((K&65535)<(xa&65535));nb=O}O=J;do{K=o+((O&65535)<<1)|0;I=O;O=d[K>>1]|0;d[K>>1]=nb}while((O&65535)<(I&65535));d[z+(D<<1)>>1]=nb;H=E;break a}while(0);d[z+(D<<1)>>1]=d[z+(D+-2<<1)>>1]|0;H=E;break}}O=D|1;J=(O|0)<(i|0);if(B&J?b[x+O>>0]|0:0){if(b[x+D>>0]|0){d[z+(D<<1)>>1]=d[t+(D<<1)>>1]|0;H=E;break}if(G?b[x+F>>0]|0:0){do if(C){if(!(b[y+D>>0]|0))break;d[z+(D<<1)>>1]=d[t+(D<<1)>>1]|0;H=E;break a}while(0);I=d[t+(D+-2<<1)>>1]|0;K=d[t+(D<<1)>>1]|0;Ca=I;while(1){W=d[o+((Ca&65535)<<1)>>1]|0;if((W&65535)<(Ca&65535))Ca=W;else break}if(I<<16>>16==K<<16>>16)ob=Ca;else{W=K;while(1){xa=d[o+((W&65535)<<1)>>1]|0;if((xa&65535)<(W&65535))W=xa;else break}xa=(Ca&65535)>(W&65535)?W:Ca;M=K;do{P=o+((M&65535)<<1)|0;R=M;M=d[P>>1]|0;d[P>>1]=xa}while((M&65535)<(R&65535));ob=xa}xa=I;do{M=o+((xa&65535)<<1)|0;K=xa;xa=d[M>>1]|0;d[M>>1]=ob}while((xa&65535)<(K&65535));d[z+(D<<1)>>1]=ob;H=E;break}d[z+(D<<1)>>1]=d[t+(D<<1)>>1]|0;H=E;break}if(J?b[v+O>>0]|0:0){xa=D+2|0;if(B&(xa|0)<(i|0)?b[x+xa>>0]|0:0){if(b[x+D>>0]|0){do if(C){if(!(b[y+O>>0]|0))break;d[z+(D<<1)>>1]=d[t+(xa<<1)>>1]|0;H=E;break a}while(0);J=d[t+(D<<1)>>1]|0;I=d[t+(xa<<1)>>1]|0;K=J;while(1){M=d[o+((K&65535)<<1)>>1]|0;if((M&65535)<(K&65535))K=M;else break}if(J<<16>>16==I<<16>>16)pb=K;else{M=I;while(1){Ca=d[o+((M&65535)<<1)>>1]|0;if((Ca&65535)<(M&65535))M=Ca;else break}Ca=(K&65535)>(M&65535)?M:K;W=I;do{R=o+((W&65535)<<1)|0;P=W;W=d[R>>1]|0;d[R>>1]=Ca}while((W&65535)<(P&65535));pb=Ca}Ca=J;do{W=o+((Ca&65535)<<1)|0;I=Ca;Ca=d[W>>1]|0;d[W>>1]=pb}while((Ca&65535)<(I&65535));d[z+(D<<1)>>1]=pb;H=E;break}do if(G){if(!(b[x+F>>0]|0))break;do if(C){if(!(b[y+O>>0]|0))break;if(b[y+D>>0]|0){d[z+(D<<1)>>1]=d[t+(xa<<1)>>1]|0;H=E;break a}Ca=d[t+(D+-2<<1)>>1]|0;J=d[t+(xa<<1)>>1]|0;I=Ca;while(1){W=d[o+((I&65535)<<1)>>1]|0;if((W&65535)<(I&65535))I=W;else break}if(Ca<<16>>16==J<<16>>16)qb=I;else{W=J;while(1){K=d[o+((W&65535)<<1)>>1]|0;if((K&65535)<(W&65535))W=K;else break}K=(I&65535)>(W&65535)?W:I;M=J;do{P=o+((M&65535)<<1)|0;R=M;M=d[P>>1]|0;d[P>>1]=K}while((M&65535)<(R&65535));qb=K}K=Ca;do{M=o+((K&65535)<<1)|0;J=K;K=d[M>>1]|0;d[M>>1]=qb}while((K&65535)<(J&65535));d[z+(D<<1)>>1]=qb;H=E;break a}while(0);K=d[t+(D+-2<<1)>>1]|0;Ca=d[t+(xa<<1)>>1]|0;J=K;while(1){M=d[o+((J&65535)<<1)>>1]|0;if((M&65535)<(J&65535))J=M;else break}if(K<<16>>16==Ca<<16>>16)rb=J;else{M=Ca;while(1){I=d[o+((M&65535)<<1)>>1]|0;if((I&65535)<(M&65535))M=I;else break}I=(J&65535)>(M&65535)?M:J;W=Ca;do{R=o+((W&65535)<<1)|0;P=W;W=d[R>>1]|0;d[R>>1]=I}while((W&65535)<(P&65535));rb=I}I=K;do{W=o+((I&65535)<<1)|0;Ca=I;I=d[W>>1]|0;d[W>>1]=rb}while((I&65535)<(Ca&65535));d[z+(D<<1)>>1]=rb;H=E;break a}while(0);d[z+(D<<1)>>1]=d[t+(xa<<1)>>1]|0;H=E;break}do if(B){if(b[x+D>>0]|0){d[z+(D<<1)>>1]=d[t+(D<<1)>>1]|0;H=E;break a}if(!G)break;if(!(b[x+F>>0]|0))break;d[z+(D<<1)>>1]=d[t+(D+-2<<1)>>1]|0;H=E;break a}while(0);d[z+(D<<1)>>1]=E;xa=E&65535;d[o+(xa<<1)>>1]=E;H=xa+1&65535;break}if(B){if(b[x+D>>0]|0){d[z+(D<<1)>>1]=d[t+(D<<1)>>1]|0;H=E;break}if(G?b[x+F>>0]|0:0){d[z+(D<<1)>>1]=d[t+(D+-2<<1)>>1]|0;H=E;break}}d[z+(D<<1)>>1]=E;xa=E&65535;d[o+(xa<<1)>>1]=E;H=xa+1&65535}while(0);D=D+2|0;if((D|0)>=(i|0)){sb=H;break}else E=H}}else sb=r;s=s+2|0;if((s|0)>=(a|0))break;else r=sb}if((sb&65535)>1){r=sb&65535;sb=1;a=1;while(1){s=o+(a<<1)|0;H=j[s>>1]|0;if(a>>>0>H>>>0){d[s>>1]=d[o+(H<<1)>>1]|0;tb=sb}else{d[s>>1]=sb;tb=(sb&65535)+1&65535}a=a+1|0;if((a|0)==(r|0)){ub=tb;break}else sb=tb}}else ub=1}else ub=1;tb=f[k>>2]|0;k=f[p>>2]|0;p=(k&1|0)!=0;sb=(tb|0)>0;if(!(tb&1)){if(!p){if(!sb){dX(o);u=h;return ub|0}r=f[c+16>>2]|0;a=f[f[c+44>>2]>>2]|0;s=f[e+16>>2]|0;H=f[f[e+44>>2]>>2]|0;i=(k|0)>0;rb=0;do{qb=r+(X(a,rb)|0)|0;pb=qb+a|0;ob=s+(X(H,rb)|0)|0;nb=ob+H|0;if(i){mb=0;do{lb=ob+(mb<<1)|0;kb=d[lb>>1]|0;do if(kb<<16>>16){jb=d[o+((kb&65535)<<1)>>1]|0;d[lb>>1]=(b[qb+mb>>0]|0)==0?0:jb;ib=mb|1;d[ob+(ib<<1)>>1]=(b[qb+ib>>0]|0)==0?0:jb;d[nb+(mb<<1)>>1]=(b[pb+mb>>0]|0)==0?0:jb;hb=nb+(ib<<1)|0;if(!(b[pb+ib>>0]|0)){d[hb>>1]=0;break}else{d[hb>>1]=jb;break}}else{d[lb>>1]=0;jb=mb|1;d[ob+(jb<<1)>>1]=0;d[nb+(mb<<1)>>1]=0;d[nb+(jb<<1)>>1]=0}while(0);mb=mb+2|0}while((mb|0)<(k|0))}rb=rb+2|0}while((rb|0)<(tb|0));dX(o);u=h;return ub|0}if(!sb){dX(o);u=h;return ub|0}rb=f[c+16>>2]|0;i=f[f[c+44>>2]>>2]|0;H=f[e+16>>2]|0;s=f[f[e+44>>2]>>2]|0;a=(k|0)>0;r=0;do{mb=rb+(X(i,r)|0)|0;nb=mb+i|0;ob=H+(X(s,r)|0)|0;pb=ob+s|0;if(a){qb=0;do{lb=ob+(qb<<1)|0;kb=d[lb>>1]|0;do if(!(kb<<16>>16)){d[lb>>1]=0;d[pb+(qb<<1)>>1]=0;jb=qb|1;if((jb|0)<(k|0)){d[ob+(jb<<1)>>1]=0;d[pb+(jb<<1)>>1]=0}}else{jb=d[o+((kb&65535)<<1)>>1]|0;d[lb>>1]=(b[mb+qb>>0]|0)==0?0:jb;d[pb+(qb<<1)>>1]=(b[nb+qb>>0]|0)==0?0:jb;hb=qb|1;if((hb|0)<(k|0)){d[ob+(hb<<1)>>1]=(b[mb+hb>>0]|0)==0?0:jb;ib=pb+(hb<<1)|0;if(!(b[nb+hb>>0]|0)){d[ib>>1]=0;break}else{d[ib>>1]=jb;break}}}while(0);qb=qb+2|0}while((qb|0)<(k|0))}r=r+2|0}while((r|0)<(tb|0));dX(o);u=h;return ub|0}if(!p){if(!sb){dX(o);u=h;return ub|0}p=f[c+16>>2]|0;r=f[f[c+44>>2]>>2]|0;a=f[e+16>>2]|0;s=f[f[e+44>>2]>>2]|0;H=(k|0)>0;i=0;do{rb=p+(X(r,i)|0)|0;qb=rb+r|0;nb=a+(X(s,i)|0)|0;pb=nb+s|0;if(H){mb=i|1;ob=(mb|0)<(tb|0);lb=(mb|0)<(tb|0);mb=0;do{kb=nb+(mb<<1)|0;jb=d[kb>>1]|0;do if(!(jb<<16>>16)){d[kb>>1]=0;ib=mb|1;d[nb+(ib<<1)>>1]=0;if(ob){d[pb+(mb<<1)>>1]=0;d[pb+(ib<<1)>>1]=0}}else{ib=d[o+((jb&65535)<<1)>>1]|0;d[kb>>1]=(b[rb+mb>>0]|0)==0?0:ib;hb=mb|1;d[nb+(hb<<1)>>1]=(b[rb+hb>>0]|0)==0?0:ib;if(lb){d[pb+(mb<<1)>>1]=(b[qb+mb>>0]|0)==0?0:ib;gb=pb+(hb<<1)|0;if(!(b[qb+hb>>0]|0)){d[gb>>1]=0;break}else{d[gb>>1]=ib;break}}}while(0);mb=mb+2|0}while((mb|0)<(k|0))}i=i+2|0}while((i|0)<(tb|0));dX(o);u=h;return ub|0}if(!sb){dX(o);u=h;return ub|0}sb=f[c+16>>2]|0;i=f[f[c+44>>2]>>2]|0;c=f[e+16>>2]|0;H=f[f[e+44>>2]>>2]|0;e=(k|0)>0;s=0;do{a=sb+(X(i,s)|0)|0;r=a+i|0;p=c+(X(H,s)|0)|0;mb=p+H|0;if(e){qb=s|1;pb=(qb|0)<(tb|0);lb=(qb|0)<(tb|0);rb=(qb|0)<(tb|0);nb=(qb|0)<(tb|0);qb=0;do{ob=p+(qb<<1)|0;kb=d[ob>>1]|0;do if(!(kb<<16>>16)){d[ob>>1]=0;jb=qb|1;if((jb|0)<(k|0)){d[p+(jb<<1)>>1]=0;if(!pb)break;d[mb+(qb<<1)>>1]=0;d[mb+(jb<<1)>>1]=0;break}else{if(!lb)break;d[mb+(qb<<1)>>1]=0;break}}else{jb=d[o+((kb&65535)<<1)>>1]|0;d[ob>>1]=(b[a+qb>>0]|0)==0?0:jb;ib=qb|1;if((ib|0)<(k|0)){d[p+(ib<<1)>>1]=(b[a+ib>>0]|0)==0?0:jb;if(!rb)break;d[mb+(qb<<1)>>1]=(b[r+qb>>0]|0)==0?0:jb;gb=mb+(ib<<1)|0;if(!(b[r+ib>>0]|0)){d[gb>>1]=0;break}else{d[gb>>1]=jb;break}}else{if(!nb)break;gb=mb+(qb<<1)|0;if(!(b[r+qb>>0]|0)){d[gb>>1]=0;break}else{d[gb>>1]=jb;break}}}while(0);qb=qb+2|0}while((qb|0)<(k|0))}s=s+2|0}while((s|0)<(tb|0));dX(o);u=h;return ub|0}function dha(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0;g=u;u=u+16|0;a=g;h=c+8|0;i=d+8|0;if((f[h>>2]|0)!=(f[i>>2]|0)){f[a>>2]=0;f[a+4>>2]=0;j=JV(a,26)|0;k=231382;l=j+26|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-215,a,451664,231084,2589);KV(a)}m=c+12|0;n=d+12|0;if((f[m>>2]|0)!=(f[n>>2]|0)){f[a>>2]=0;f[a+4>>2]=0;j=JV(a,26)|0;k=231409;l=j+26|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-215,a,451664,231084,2590);KV(a)}if((e|0)!=8){f[a>>2]=0;f[a+4>>2]=0;j=JV(a,17)|0;k=231436;l=j+17|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-215,a,451664,231084,2591);KV(a)}a=f[h>>2]|0;h=f[m>>2]|0;m=cX((X(((a+1|0)/2|0)<<2,(h+1|0)/2|0)|0)+4|0)|0;f[m>>2]=0;if((a|0)>0){k=c+16|0;j=c+44|0;l=d+16|0;e=d+44|0;o=(h|0)>0;p=1;q=0;while(1){r=f[f[j>>2]>>2]|0;s=(f[k>>2]|0)+(X(r,q)|0)|0;t=0-r|0;v=s+t|0;w=v+t|0;t=s+r|0;r=f[f[e>>2]>>2]|0;x=(f[l>>2]|0)+(X(r,q)|0)|0;y=0-r|0;r=x+y+y|0;if(o){y=(q|1|0)<(a|0);z=(q|0)>0;A=(q|0)>1;B=0;C=p;while(1){a:do if(!(b[s+B>>0]|0)){if(y?b[t+B>>0]|0:0){D=B|1;if((D|0)<(h|0)?b[s+D>>0]|0:0){E=B+-1|0;do if((B|0)>0){if(b[s+E>>0]|0){do if(z){if(b[v+D>>0]|0){if(b[v+B>>0]|0){f[x+(B<<2)>>2]=f[x+(B+-2<<2)>>2];F=C;break a}do if(A){if(!(b[w+B>>0]|0))break;G=B+-2|0;if(b[v+E>>0]|0){f[x+(B<<2)>>2]=f[x+(G<<2)>>2];F=C;break a}do if((B|0)>1){if(!(b[v+G>>0]|0))break;if(b[w+E>>0]|0){f[x+(B<<2)>>2]=f[x+(G<<2)>>2];F=C;break a}H=f[r+(B<<2)>>2]|0;I=f[x+(G<<2)>>2]|0;J=H;while(1){K=f[m+(J<<2)>>2]|0;if((K|0)<(J|0))J=K;else break}if((H|0)==(I|0))L=J;else{K=I;while(1){M=f[m+(K<<2)>>2]|0;if((M|0)<(K|0))K=M;else break}M=(J|0)>(K|0)?K:J;N=I;do{O=m+(N<<2)|0;P=N;N=f[O>>2]|0;f[O>>2]=M}while((N|0)<(P|0));L=M}M=H;do{N=m+(M<<2)|0;I=M;M=f[N>>2]|0;f[N>>2]=L}while((M|0)<(I|0));f[x+(B<<2)>>2]=L;F=C;break a}while(0);M=f[r+(B<<2)>>2]|0;H=f[x+(G<<2)>>2]|0;I=M;while(1){N=f[m+(I<<2)>>2]|0;if((N|0)<(I|0))I=N;else break}if((M|0)==(H|0))Q=I;else{G=H;while(1){N=f[m+(G<<2)>>2]|0;if((N|0)<(G|0))G=N;else break}N=(I|0)>(G|0)?G:I;J=H;do{K=m+(J<<2)|0;P=J;J=f[K>>2]|0;f[K>>2]=N}while((J|0)<(P|0));Q=N}N=M;do{J=m+(N<<2)|0;H=N;N=f[J>>2]|0;f[J>>2]=Q}while((N|0)<(H|0));f[x+(B<<2)>>2]=Q;F=C;break a}while(0);N=f[r+(B<<2)>>2]|0;M=f[x+(B+-2<<2)>>2]|0;H=N;while(1){J=f[m+(H<<2)>>2]|0;if((J|0)<(H|0))H=J;else break}if((N|0)==(M|0))R=H;else{J=M;while(1){I=f[m+(J<<2)>>2]|0;if((I|0)<(J|0))J=I;else break}I=(H|0)>(J|0)?J:H;G=M;do{P=m+(G<<2)|0;K=G;G=f[P>>2]|0;f[P>>2]=I}while((G|0)<(K|0));R=I}I=N;do{G=m+(I<<2)|0;M=I;I=f[G>>2]|0;f[G>>2]=R}while((I|0)<(M|0));f[x+(B<<2)>>2]=R;F=C;break a}I=B+2|0;if((I|0)>=(h|0))break;if(!(b[v+I>>0]|0))break;do if(A){if(!(b[w+D>>0]|0))break;if(b[v+B>>0]|0){f[x+(B<<2)>>2]=f[x+(B+-2<<2)>>2];F=C;break a}if(!(b[w+B>>0]|0)){N=f[r+(I<<2)>>2]|0;M=f[x+(B+-2<<2)>>2]|0;G=N;while(1){H=f[m+(G<<2)>>2]|0;if((H|0)<(G|0))G=H;else break}if((N|0)==(M|0))S=G;else{H=M;while(1){J=f[m+(H<<2)>>2]|0;if((J|0)<(H|0))H=J;else break}J=(G|0)>(H|0)?H:G;K=M;do{P=m+(K<<2)|0;O=K;K=f[P>>2]|0;f[P>>2]=J}while((K|0)<(O|0));S=J}J=N;do{K=m+(J<<2)|0;M=J;J=f[K>>2]|0;f[K>>2]=S}while((J|0)<(M|0));f[x+(B<<2)>>2]=S;F=C;break a}J=B+-2|0;if(b[v+E>>0]|0){f[x+(B<<2)>>2]=f[x+(J<<2)>>2];F=C;break a}do if((B|0)>1){if(!(b[v+J>>0]|0))break;if(b[w+E>>0]|0){f[x+(B<<2)>>2]=f[x+(J<<2)>>2];F=C;break a}N=f[r+(I<<2)>>2]|0;M=f[x+(J<<2)>>2]|0;K=N;while(1){G=f[m+(K<<2)>>2]|0;if((G|0)<(K|0))K=G;else break}if((N|0)==(M|0))T=K;else{G=M;while(1){H=f[m+(G<<2)>>2]|0;if((H|0)<(G|0))G=H;else break}H=(K|0)>(G|0)?G:K;O=M;do{P=m+(O<<2)|0;U=O;O=f[P>>2]|0;f[P>>2]=H}while((O|0)<(U|0));T=H}H=N;do{O=m+(H<<2)|0;M=H;H=f[O>>2]|0;f[O>>2]=T}while((H|0)<(M|0));f[x+(B<<2)>>2]=T;F=C;break a}while(0);H=f[r+(I<<2)>>2]|0;N=f[x+(J<<2)>>2]|0;M=H;while(1){O=f[m+(M<<2)>>2]|0;if((O|0)<(M|0))M=O;else break}if((H|0)==(N|0))V=M;else{J=N;while(1){O=f[m+(J<<2)>>2]|0;if((O|0)<(J|0))J=O;else break}O=(M|0)>(J|0)?J:M;K=N;do{G=m+(K<<2)|0;U=K;K=f[G>>2]|0;f[G>>2]=O}while((K|0)<(U|0));V=O}O=H;do{K=m+(O<<2)|0;N=O;O=f[K>>2]|0;f[K>>2]=V}while((O|0)<(N|0));f[x+(B<<2)>>2]=V;F=C;break a}while(0);O=f[r+(I<<2)>>2]|0;H=f[x+(B+-2<<2)>>2]|0;N=O;while(1){K=f[m+(N<<2)>>2]|0;if((K|0)<(N|0))N=K;else break}if((O|0)==(H|0))W=N;else{I=H;while(1){K=f[m+(I<<2)>>2]|0;if((K|0)<(I|0))I=K;else break}K=(N|0)>(I|0)?I:N;M=H;do{J=m+(M<<2)|0;U=M;M=f[J>>2]|0;f[J>>2]=K}while((M|0)<(U|0));W=K}K=O;do{M=m+(K<<2)|0;H=K;K=f[M>>2]|0;f[M>>2]=W}while((K|0)<(H|0));f[x+(B<<2)>>2]=W;F=C;break a}while(0);f[x+(B<<2)>>2]=f[x+(B+-2<<2)>>2];F=C;break a}if(!(b[t+E>>0]|0))break;do if(z){if(b[v+D>>0]|0){K=B+-2|0;do if((B|0)>1){if(!(b[s+K>>0]|0))break;if(b[v+E>>0]|0){if(b[v+B>>0]|0){f[x+(B<<2)>>2]=f[x+(K<<2)>>2];F=C;break a}do if(A){if(!(b[w+B>>0]|0))break;f[x+(B<<2)>>2]=f[x+(K<<2)>>2];F=C;break a}while(0);O=f[r+(B<<2)>>2]|0;H=f[x+(K<<2)>>2]|0;M=O;while(1){N=f[m+(M<<2)>>2]|0;if((N|0)<(M|0))M=N;else break}if((O|0)==(H|0))Y=M;else{N=H;while(1){I=f[m+(N<<2)>>2]|0;if((I|0)<(N|0))N=I;else break}I=(M|0)>(N|0)?N:M;U=H;do{J=m+(U<<2)|0;G=U;U=f[J>>2]|0;f[J>>2]=I}while((U|0)<(G|0));Y=I}I=O;do{U=m+(I<<2)|0;H=I;I=f[U>>2]|0;f[U>>2]=Y}while((I|0)<(H|0));f[x+(B<<2)>>2]=Y;F=C;break a}if(!(b[v+K>>0]|0)){I=f[r+(B<<2)>>2]|0;O=f[x+(K<<2)>>2]|0;H=I;while(1){U=f[m+(H<<2)>>2]|0;if((U|0)<(H|0))H=U;else break}if((I|0)==(O|0))Z=H;else{U=O;while(1){M=f[m+(U<<2)>>2]|0;if((M|0)<(U|0))U=M;else break}M=(H|0)>(U|0)?U:H;N=O;do{G=m+(N<<2)|0;J=N;N=f[G>>2]|0;f[G>>2]=M}while((N|0)<(J|0));Z=M}M=I;do{N=m+(M<<2)|0;O=M;M=f[N>>2]|0;f[N>>2]=Z}while((M|0)<(O|0));f[x+(B<<2)>>2]=Z;F=C;break a}do if(A){if(!(b[w+E>>0]|0))break;if(b[v+B>>0]|0){f[x+(B<<2)>>2]=f[x+(K<<2)>>2];F=C;break a}if(b[w+B>>0]|0){f[x+(B<<2)>>2]=f[x+(K<<2)>>2];F=C;break a}M=f[r+(B<<2)>>2]|0;I=f[x+(K<<2)>>2]|0;O=M;while(1){N=f[m+(O<<2)>>2]|0;if((N|0)<(O|0))O=N;else break}if((M|0)==(I|0))_=O;else{N=I;while(1){H=f[m+(N<<2)>>2]|0;if((H|0)<(N|0))N=H;else break}H=(O|0)>(N|0)?N:O;U=I;do{J=m+(U<<2)|0;G=U;U=f[J>>2]|0;f[J>>2]=H}while((U|0)<(G|0));_=H}H=M;do{U=m+(H<<2)|0;I=H;H=f[U>>2]|0;f[U>>2]=_}while((H|0)<(I|0));f[x+(B<<2)>>2]=_;F=C;break a}while(0);H=f[r+(B<<2)>>2]|0;M=f[x+(K<<2)>>2]|0;I=H;while(1){U=f[m+(I<<2)>>2]|0;if((U|0)<(I|0))I=U;else break}if((H|0)==(M|0))$=I;else{U=M;while(1){O=f[m+(U<<2)>>2]|0;if((O|0)<(U|0))U=O;else break}O=(I|0)>(U|0)?U:I;N=M;do{G=m+(N<<2)|0;J=N;N=f[G>>2]|0;f[G>>2]=O}while((N|0)<(J|0));$=O}O=H;do{N=m+(O<<2)|0;M=O;O=f[N>>2]|0;f[N>>2]=$}while((O|0)<(M|0));f[x+(B<<2)>>2]=$;F=C;break a}while(0);O=f[r+(B<<2)>>2]|0;H=f[x+(K<<2)>>2]|0;M=O;while(1){N=f[m+(M<<2)>>2]|0;if((N|0)<(M|0))M=N;else break}if((O|0)==(H|0))aa=M;else{K=H;while(1){N=f[m+(K<<2)>>2]|0;if((N|0)<(K|0))K=N;else break}N=(M|0)>(K|0)?K:M;I=H;do{U=m+(I<<2)|0;J=I;I=f[U>>2]|0;f[U>>2]=N}while((I|0)<(J|0));aa=N}N=O;do{I=m+(N<<2)|0;H=N;N=f[I>>2]|0;f[I>>2]=aa}while((N|0)<(H|0));f[x+(B<<2)>>2]=aa;F=C;break a}N=B+2|0;do if((N|0)<(h|0)){if(!(b[v+N>>0]|0))break;do if(A){if(!(b[w+D>>0]|0))break;O=B+-2|0;do if((B|0)>1){if(!(b[s+O>>0]|0))break;if(b[v+E>>0]|0){if(b[v+B>>0]|0){f[x+(B<<2)>>2]=f[x+(O<<2)>>2];F=C;break a}if(b[w+B>>0]|0){f[x+(B<<2)>>2]=f[x+(O<<2)>>2];F=C;break a}H=f[r+(N<<2)>>2]|0;I=f[x+(O<<2)>>2]|0;M=H;while(1){K=f[m+(M<<2)>>2]|0;if((K|0)<(M|0))M=K;else break}if((H|0)==(I|0))ba=M;else{K=I;while(1){J=f[m+(K<<2)>>2]|0;if((J|0)<(K|0))K=J;else break}J=(M|0)>(K|0)?K:M;U=I;do{G=m+(U<<2)|0;P=U;U=f[G>>2]|0;f[G>>2]=J}while((U|0)<(P|0));ba=J}J=H;do{U=m+(J<<2)|0;I=J;J=f[U>>2]|0;f[U>>2]=ba}while((J|0)<(I|0));f[x+(B<<2)>>2]=ba;F=C;break a}if(!(b[v+O>>0]|0)){J=f[r+(N<<2)>>2]|0;H=f[x+(O<<2)>>2]|0;I=J;while(1){U=f[m+(I<<2)>>2]|0;if((U|0)<(I|0))I=U;else break}if((J|0)==(H|0))ca=I;else{U=H;while(1){M=f[m+(U<<2)>>2]|0;if((M|0)<(U|0))U=M;else break}M=(I|0)>(U|0)?U:I;K=H;do{P=m+(K<<2)|0;G=K;K=f[P>>2]|0;f[P>>2]=M}while((K|0)<(G|0));ca=M}M=J;do{K=m+(M<<2)|0;H=M;M=f[K>>2]|0;f[K>>2]=ca}while((M|0)<(H|0));f[x+(B<<2)>>2]=ca;F=C;break a}if(!(b[w+E>>0]|0)){M=f[r+(N<<2)>>2]|0;J=f[x+(O<<2)>>2]|0;H=M;while(1){K=f[m+(H<<2)>>2]|0;if((K|0)<(H|0))H=K;else break}if((M|0)==(J|0))da=H;else{K=J;while(1){I=f[m+(K<<2)>>2]|0;if((I|0)<(K|0))K=I;else break}I=(H|0)>(K|0)?K:H;U=J;do{G=m+(U<<2)|0;P=U;U=f[G>>2]|0;f[G>>2]=I}while((U|0)<(P|0));da=I}I=M;do{U=m+(I<<2)|0;J=I;I=f[U>>2]|0;f[U>>2]=da}while((I|0)<(J|0));f[x+(B<<2)>>2]=da;F=C;break a}if(b[v+B>>0]|0){f[x+(B<<2)>>2]=f[x+(O<<2)>>2];F=C;break a}if(b[w+B>>0]|0){f[x+(B<<2)>>2]=f[x+(O<<2)>>2];F=C;break a}I=f[r+(N<<2)>>2]|0;M=f[x+(O<<2)>>2]|0;J=I;while(1){U=f[m+(J<<2)>>2]|0;if((U|0)<(J|0))J=U;else break}if((I|0)==(M|0))ea=J;else{U=M;while(1){H=f[m+(U<<2)>>2]|0;if((H|0)<(U|0))U=H;else break}H=(J|0)>(U|0)?U:J;K=M;do{P=m+(K<<2)|0;G=K;K=f[P>>2]|0;f[P>>2]=H}while((K|0)<(G|0));ea=H}H=I;do{K=m+(H<<2)|0;M=H;H=f[K>>2]|0;f[K>>2]=ea}while((H|0)<(M|0));f[x+(B<<2)>>2]=ea;F=C;break a}while(0);H=f[r+(N<<2)>>2]|0;I=f[x+(O<<2)>>2]|0;M=H;while(1){K=f[m+(M<<2)>>2]|0;if((K|0)<(M|0))M=K;else break}if((H|0)==(I|0))fa=M;else{O=I;while(1){K=f[m+(O<<2)>>2]|0;if((K|0)<(O|0))O=K;else break}K=(M|0)>(O|0)?O:M;J=I;do{U=m+(J<<2)|0;G=J;J=f[U>>2]|0;f[U>>2]=K}while((J|0)<(G|0));fa=K}K=H;do{J=m+(K<<2)|0;I=K;K=f[J>>2]|0;f[J>>2]=fa}while((K|0)<(I|0));f[x+(B<<2)>>2]=fa;F=C;break a}while(0);if(!(b[v+B>>0]|0)){K=f[r+(N<<2)>>2]|0;H=f[x+(B+-2<<2)>>2]|0;I=K;while(1){J=f[m+(I<<2)>>2]|0;if((J|0)<(I|0))I=J;else break}if((K|0)==(H|0))ga=I;else{J=H;while(1){M=f[m+(J<<2)>>2]|0;if((M|0)<(J|0))J=M;else break}M=(I|0)>(J|0)?J:I;O=H;do{G=m+(O<<2)|0;U=O;O=f[G>>2]|0;f[G>>2]=M}while((O|0)<(U|0));ga=M}M=K;do{O=m+(M<<2)|0;H=M;M=f[O>>2]|0;f[O>>2]=ga}while((M|0)<(H|0));f[x+(B<<2)>>2]=ga;F=C;break a}M=B+-2|0;do if((B|0)>1){if(!(b[s+M>>0]|0))break;if(b[v+E>>0]|0){K=f[r+(N<<2)>>2]|0;H=f[x+(M<<2)>>2]|0;O=K;while(1){I=f[m+(O<<2)>>2]|0;if((I|0)<(O|0))O=I;else break}if((K|0)==(H|0))ha=O;else{I=H;while(1){J=f[m+(I<<2)>>2]|0;if((J|0)<(I|0))I=J;else break}J=(O|0)>(I|0)?I:O;U=H;do{G=m+(U<<2)|0;P=U;U=f[G>>2]|0;f[G>>2]=J}while((U|0)<(P|0));ha=J}J=K;do{U=m+(J<<2)|0;H=J;J=f[U>>2]|0;f[U>>2]=ha}while((J|0)<(H|0));f[x+(B<<2)>>2]=ha;F=C;break a}if(!(b[v+M>>0]|0)){J=f[r+(B<<2)>>2]|0;K=f[r+(N<<2)>>2]|0;H=J;while(1){U=f[m+(H<<2)>>2]|0;if((U|0)<(H|0))H=U;else break}if((J|0)==(K|0))ia=H;else{U=K;while(1){O=f[m+(U<<2)>>2]|0;if((O|0)<(U|0))U=O;else break}O=(H|0)>(U|0)?U:H;I=K;do{P=m+(I<<2)|0;G=I;I=f[P>>2]|0;f[P>>2]=O}while((I|0)<(G|0));ia=O}O=J;do{I=m+(O<<2)|0;K=O;O=f[I>>2]|0;f[I>>2]=ia}while((O|0)<(K|0));O=f[x+(M<<2)>>2]|0;J=ia;while(1){K=f[m+(J<<2)>>2]|0;if((K|0)<(J|0))J=K;else break}if((ia|0)==(O|0))ja=J;else{K=O;while(1){I=f[m+(K<<2)>>2]|0;if((I|0)<(K|0))K=I;else break}I=(J|0)>(K|0)?K:J;H=O;do{U=m+(H<<2)|0;G=H;H=f[U>>2]|0;f[U>>2]=I}while((H|0)<(G|0));ja=I}I=ia;do{H=m+(I<<2)|0;O=I;I=f[H>>2]|0;f[H>>2]=ja}while((I|0)<(O|0));f[x+(B<<2)>>2]=ja;F=C;break a}do if(A){if(!(b[w+E>>0]|0))break;I=f[r+(N<<2)>>2]|0;O=f[x+(M<<2)>>2]|0;H=I;while(1){J=f[m+(H<<2)>>2]|0;if((J|0)<(H|0))H=J;else break}if((I|0)==(O|0))ka=H;else{J=O;while(1){K=f[m+(J<<2)>>2]|0;if((K|0)<(J|0))J=K;else break}K=(H|0)>(J|0)?J:H;G=O;do{U=m+(G<<2)|0;P=G;G=f[U>>2]|0;f[U>>2]=K}while((G|0)<(P|0));ka=K}K=I;do{G=m+(K<<2)|0;O=K;K=f[G>>2]|0;f[G>>2]=ka}while((K|0)<(O|0));f[x+(B<<2)>>2]=ka;F=C;break a}while(0);K=f[r+(B<<2)>>2]|0;I=f[r+(N<<2)>>2]|0;O=K;while(1){G=f[m+(O<<2)>>2]|0;if((G|0)<(O|0))O=G;else break}if((K|0)==(I|0))la=O;else{G=I;while(1){H=f[m+(G<<2)>>2]|0;if((H|0)<(G|0))G=H;else break}H=(O|0)>(G|0)?G:O;J=I;do{P=m+(J<<2)|0;U=J;J=f[P>>2]|0;f[P>>2]=H}while((J|0)<(U|0));la=H}H=K;do{J=m+(H<<2)|0;I=H;H=f[J>>2]|0;f[J>>2]=la}while((H|0)<(I|0));H=f[x+(M<<2)>>2]|0;K=la;while(1){I=f[m+(K<<2)>>2]|0;if((I|0)<(K|0))K=I;else break}if((la|0)==(H|0))ma=K;else{I=H;while(1){J=f[m+(I<<2)>>2]|0;if((J|0)<(I|0))I=J;else break}J=(K|0)>(I|0)?I:K;O=H;do{G=m+(O<<2)|0;U=O;O=f[G>>2]|0;f[G>>2]=J}while((O|0)<(U|0));ma=J}J=la;do{O=m+(J<<2)|0;H=J;J=f[O>>2]|0;f[O>>2]=ma}while((J|0)<(H|0));f[x+(B<<2)>>2]=ma;F=C;break a}while(0);J=f[r+(B<<2)>>2]|0;H=f[r+(N<<2)>>2]|0;O=J;while(1){K=f[m+(O<<2)>>2]|0;if((K|0)<(O|0))O=K;else break}if((J|0)==(H|0))na=O;else{K=H;while(1){I=f[m+(K<<2)>>2]|0;if((I|0)<(K|0))K=I;else break}I=(O|0)>(K|0)?K:O;U=H;do{G=m+(U<<2)|0;P=U;U=f[G>>2]|0;f[G>>2]=I}while((U|0)<(P|0));na=I}I=J;do{U=m+(I<<2)|0;H=I;I=f[U>>2]|0;f[U>>2]=na}while((I|0)<(H|0));I=f[x+(M<<2)>>2]|0;J=na;while(1){H=f[m+(J<<2)>>2]|0;if((H|0)<(J|0))J=H;else break}if((na|0)==(I|0))oa=J;else{M=I;while(1){H=f[m+(M<<2)>>2]|0;if((H|0)<(M|0))M=H;else break}H=(J|0)>(M|0)?M:J;U=I;do{O=m+(U<<2)|0;K=U;U=f[O>>2]|0;f[O>>2]=H}while((U|0)<(K|0));oa=H}H=na;do{U=m+(H<<2)|0;I=H;H=f[U>>2]|0;f[U>>2]=oa}while((H|0)<(I|0));f[x+(B<<2)>>2]=oa;F=C;break a}while(0);if(!(b[v+B>>0]|0))break;N=B+-2|0;do if((B|0)>1){if(!(b[s+N>>0]|0))break;if(b[v+E>>0]|0){f[x+(B<<2)>>2]=f[x+(N<<2)>>2];F=C;break a}if(!(b[v+N>>0]|0)){H=f[r+(B<<2)>>2]|0;I=f[x+(N<<2)>>2]|0;U=H;while(1){J=f[m+(U<<2)>>2]|0;if((J|0)<(U|0))U=J;else break}if((H|0)==(I|0))pa=U;else{J=I;while(1){M=f[m+(J<<2)>>2]|0;if((M|0)<(J|0))J=M;else break}M=(U|0)>(J|0)?J:U;K=I;do{O=m+(K<<2)|0;P=K;K=f[O>>2]|0;f[O>>2]=M}while((K|0)<(P|0));pa=M}M=H;do{K=m+(M<<2)|0;I=M;M=f[K>>2]|0;f[K>>2]=pa}while((M|0)<(I|0));f[x+(B<<2)>>2]=pa;F=C;break a}do if(A){if(!(b[w+E>>0]|0))break;f[x+(B<<2)>>2]=f[x+(N<<2)>>2];F=C;break a}while(0);M=f[r+(B<<2)>>2]|0;H=f[x+(N<<2)>>2]|0;I=M;while(1){K=f[m+(I<<2)>>2]|0;if((K|0)<(I|0))I=K;else break}if((M|0)==(H|0))qa=I;else{K=H;while(1){U=f[m+(K<<2)>>2]|0;if((U|0)<(K|0))K=U;else break}U=(I|0)>(K|0)?K:I;J=H;do{P=m+(J<<2)|0;O=J;J=f[P>>2]|0;f[P>>2]=U}while((J|0)<(O|0));qa=U}U=M;do{J=m+(U<<2)|0;H=U;U=f[J>>2]|0;f[J>>2]=qa}while((U|0)<(H|0));f[x+(B<<2)>>2]=qa;F=C;break a}while(0);U=f[r+(B<<2)>>2]|0;M=f[x+(N<<2)>>2]|0;H=U;while(1){J=f[m+(H<<2)>>2]|0;if((J|0)<(H|0))H=J;else break}if((U|0)==(M|0))ra=H;else{N=M;while(1){J=f[m+(N<<2)>>2]|0;if((J|0)<(N|0))N=J;else break}J=(H|0)>(N|0)?N:H;I=M;do{K=m+(I<<2)|0;O=I;I=f[K>>2]|0;f[K>>2]=J}while((I|0)<(O|0));ra=J}J=U;do{I=m+(J<<2)|0;M=J;J=f[I>>2]|0;f[I>>2]=ra}while((J|0)<(M|0));f[x+(B<<2)>>2]=ra;F=C;break a}while(0);f[x+(B<<2)>>2]=f[x+(B+-2<<2)>>2];F=C;break a}while(0);do if(z){if(b[v+D>>0]|0){f[x+(B<<2)>>2]=f[r+(B<<2)>>2];F=C;break a}E=B+2|0;do if((E|0)<(h|0)){if(!(b[v+E>>0]|0))break;if(!(b[v+B>>0]|0)){f[x+(B<<2)>>2]=f[r+(E<<2)>>2];F=C;break a}do if(A){if(!(b[w+D>>0]|0))break;f[x+(B<<2)>>2]=f[r+(E<<2)>>2];F=C;break a}while(0);J=f[r+(B<<2)>>2]|0;U=f[r+(E<<2)>>2]|0;M=J;while(1){I=f[m+(M<<2)>>2]|0;if((I|0)<(M|0))M=I;else break}if((J|0)==(U|0))sa=M;else{I=U;while(1){H=f[m+(I<<2)>>2]|0;if((H|0)<(I|0))I=H;else break}H=(M|0)>(I|0)?I:M;N=U;do{O=m+(N<<2)|0;K=N;N=f[O>>2]|0;f[O>>2]=H}while((N|0)<(K|0));sa=H}H=J;do{N=m+(H<<2)|0;U=H;H=f[N>>2]|0;f[N>>2]=sa}while((H|0)<(U|0));f[x+(B<<2)>>2]=sa;F=C;break a}while(0);if(!(b[v+B>>0]|0))break;f[x+(B<<2)>>2]=f[r+(B<<2)>>2];F=C;break a}while(0);f[x+(B<<2)>>2]=C;f[m+(C<<2)>>2]=C;F=C+1|0;break}D=B+-1|0;if((B|0)>0){if(b[t+D>>0]|0){f[x+(B<<2)>>2]=f[x+(B+-2<<2)>>2];F=C;break}if(b[s+D>>0]|0){f[x+(B<<2)>>2]=f[x+(B+-2<<2)>>2];F=C;break}}f[x+(B<<2)>>2]=C;f[m+(C<<2)>>2]=C;F=C+1|0;break}D=B|1;do if((D|0)<(h|0)){if(!(b[s+D>>0]|0)){if(!y)break;if(!(b[t+D>>0]|0))break;f[x+(B<<2)>>2]=C;f[m+(C<<2)>>2]=C;F=C+1|0;break a}if(z){if(b[v+D>>0]|0){f[x+(B<<2)>>2]=f[r+(B<<2)>>2];F=C;break a}E=B+2|0;do if((E|0)<(h|0)){if(!(b[v+E>>0]|0))break;if(!(b[v+B>>0]|0)){f[x+(B<<2)>>2]=f[r+(E<<2)>>2];F=C;break a}do if(A){if(!(b[w+D>>0]|0))break;f[x+(B<<2)>>2]=f[r+(E<<2)>>2];F=C;break a}while(0);H=f[r+(B<<2)>>2]|0;J=f[r+(E<<2)>>2]|0;U=H;while(1){N=f[m+(U<<2)>>2]|0;if((N|0)<(U|0))U=N;else break}if((H|0)==(J|0))ta=U;else{N=J;while(1){M=f[m+(N<<2)>>2]|0;if((M|0)<(N|0))N=M;else break}M=(U|0)>(N|0)?N:U;I=J;do{K=m+(I<<2)|0;O=I;I=f[K>>2]|0;f[K>>2]=M}while((I|0)<(O|0));ta=M}M=H;do{I=m+(M<<2)|0;J=M;M=f[I>>2]|0;f[I>>2]=ta}while((M|0)<(J|0));f[x+(B<<2)>>2]=ta;F=C;break a}while(0);if(b[v+B>>0]|0){f[x+(B<<2)>>2]=f[r+(B<<2)>>2];F=C;break a}}f[x+(B<<2)>>2]=C;f[m+(C<<2)>>2]=C;F=C+1|0;break a}while(0);f[x+(B<<2)>>2]=0;F=C}else{D=B+-1|0;E=(B|0)>0;if(E){if(b[s+D>>0]|0){M=B|1;H=(M|0)<(h|0);if(z&H?b[v+M>>0]|0:0){if(b[v+B>>0]|0){f[x+(B<<2)>>2]=f[x+(B+-2<<2)>>2];F=C;break}do if(A){if(!(b[w+B>>0]|0))break;J=B+-2|0;if(b[v+D>>0]|0){f[x+(B<<2)>>2]=f[x+(J<<2)>>2];F=C;break a}do if((B|0)>1){if(!(b[v+J>>0]|0))break;if(b[w+D>>0]|0){f[x+(B<<2)>>2]=f[x+(J<<2)>>2];F=C;break a}I=f[r+(B<<2)>>2]|0;U=f[x+(J<<2)>>2]|0;N=I;while(1){O=f[m+(N<<2)>>2]|0;if((O|0)<(N|0))N=O;else break}if((I|0)==(U|0))ua=N;else{O=U;while(1){K=f[m+(O<<2)>>2]|0;if((K|0)<(O|0))O=K;else break}K=(N|0)>(O|0)?O:N;P=U;do{G=m+(P<<2)|0;va=P;P=f[G>>2]|0;f[G>>2]=K}while((P|0)<(va|0));ua=K}K=I;do{P=m+(K<<2)|0;U=K;K=f[P>>2]|0;f[P>>2]=ua}while((K|0)<(U|0));f[x+(B<<2)>>2]=ua;F=C;break a}while(0);K=f[r+(B<<2)>>2]|0;I=f[x+(J<<2)>>2]|0;U=K;while(1){P=f[m+(U<<2)>>2]|0;if((P|0)<(U|0))U=P;else break}if((K|0)==(I|0))wa=U;else{J=I;while(1){P=f[m+(J<<2)>>2]|0;if((P|0)<(J|0))J=P;else break}P=(U|0)>(J|0)?J:U;N=I;do{O=m+(N<<2)|0;va=N;N=f[O>>2]|0;f[O>>2]=P}while((N|0)<(va|0));wa=P}P=K;do{N=m+(P<<2)|0;I=P;P=f[N>>2]|0;f[N>>2]=wa}while((P|0)<(I|0));f[x+(B<<2)>>2]=wa;F=C;break a}while(0);P=f[r+(B<<2)>>2]|0;K=f[x+(B+-2<<2)>>2]|0;I=P;while(1){N=f[m+(I<<2)>>2]|0;if((N|0)<(I|0))I=N;else break}if((P|0)==(K|0))xa=I;else{N=K;while(1){U=f[m+(N<<2)>>2]|0;if((U|0)<(N|0))N=U;else break}U=(I|0)>(N|0)?N:I;J=K;do{va=m+(J<<2)|0;O=J;J=f[va>>2]|0;f[va>>2]=U}while((J|0)<(O|0));xa=U}U=P;do{J=m+(U<<2)|0;K=U;U=f[J>>2]|0;f[J>>2]=xa}while((U|0)<(K|0));f[x+(B<<2)>>2]=xa;F=C;break}if(H?b[s+M>>0]|0:0){U=B+2|0;do if(z&(U|0)<(h|0)){if(!(b[v+U>>0]|0))break;do if(A){if(!(b[w+M>>0]|0))break;if(b[v+B>>0]|0){f[x+(B<<2)>>2]=f[x+(B+-2<<2)>>2];F=C;break a}if(!(b[w+B>>0]|0)){P=f[r+(U<<2)>>2]|0;K=f[x+(B+-2<<2)>>2]|0;J=P;while(1){I=f[m+(J<<2)>>2]|0;if((I|0)<(J|0))J=I;else break}if((P|0)==(K|0))ya=J;else{I=K;while(1){N=f[m+(I<<2)>>2]|0;if((N|0)<(I|0))I=N;else break}N=(J|0)>(I|0)?I:J;O=K;do{va=m+(O<<2)|0;G=O;O=f[va>>2]|0;f[va>>2]=N}while((O|0)<(G|0));ya=N}N=P;do{O=m+(N<<2)|0;K=N;N=f[O>>2]|0;f[O>>2]=ya}while((N|0)<(K|0));f[x+(B<<2)>>2]=ya;F=C;break a}N=B+-2|0;if(b[v+D>>0]|0){f[x+(B<<2)>>2]=f[x+(N<<2)>>2];F=C;break a}do if((B|0)>1){if(!(b[v+N>>0]|0))break;if(b[w+D>>0]|0){f[x+(B<<2)>>2]=f[x+(N<<2)>>2];F=C;break a}P=f[r+(U<<2)>>2]|0;K=f[x+(N<<2)>>2]|0;O=P;while(1){J=f[m+(O<<2)>>2]|0;if((J|0)<(O|0))O=J;else break}if((P|0)==(K|0))za=O;else{J=K;while(1){I=f[m+(J<<2)>>2]|0;if((I|0)<(J|0))J=I;else break}I=(O|0)>(J|0)?J:O;G=K;do{va=m+(G<<2)|0;Aa=G;G=f[va>>2]|0;f[va>>2]=I}while((G|0)<(Aa|0));za=I}I=P;do{G=m+(I<<2)|0;K=I;I=f[G>>2]|0;f[G>>2]=za}while((I|0)<(K|0));f[x+(B<<2)>>2]=za;F=C;break a}while(0);I=f[r+(U<<2)>>2]|0;P=f[x+(N<<2)>>2]|0;K=I;while(1){G=f[m+(K<<2)>>2]|0;if((G|0)<(K|0))K=G;else break}if((I|0)==(P|0))Ba=K;else{N=P;while(1){G=f[m+(N<<2)>>2]|0;if((G|0)<(N|0))N=G;else break}G=(K|0)>(N|0)?N:K;O=P;do{J=m+(O<<2)|0;Aa=O;O=f[J>>2]|0;f[J>>2]=G}while((O|0)<(Aa|0));Ba=G}G=I;do{O=m+(G<<2)|0;P=G;G=f[O>>2]|0;f[O>>2]=Ba}while((G|0)<(P|0));f[x+(B<<2)>>2]=Ba;F=C;break a}while(0);G=f[r+(U<<2)>>2]|0;I=f[x+(B+-2<<2)>>2]|0;P=G;while(1){O=f[m+(P<<2)>>2]|0;if((O|0)<(P|0))P=O;else break}if((G|0)==(I|0))Ca=P;else{O=I;while(1){K=f[m+(O<<2)>>2]|0;if((K|0)<(O|0))O=K;else break}K=(P|0)>(O|0)?O:P;N=I;do{Aa=m+(N<<2)|0;J=N;N=f[Aa>>2]|0;f[Aa>>2]=K}while((N|0)<(J|0));Ca=K}K=G;do{N=m+(K<<2)|0;I=K;K=f[N>>2]|0;f[N>>2]=Ca}while((K|0)<(I|0));f[x+(B<<2)>>2]=Ca;F=C;break a}while(0);f[x+(B<<2)>>2]=f[x+(B+-2<<2)>>2];F=C;break}f[x+(B<<2)>>2]=f[x+(B+-2<<2)>>2];F=C;break}if(y?b[t+D>>0]|0:0){U=B|1;M=(U|0)<(h|0);if(z&M?b[v+U>>0]|0:0){H=B+-2|0;do if((B|0)>1){if(!(b[s+H>>0]|0))break;if(b[v+D>>0]|0){if(b[v+B>>0]|0){f[x+(B<<2)>>2]=f[x+(H<<2)>>2];F=C;break a}do if(A){if(!(b[w+B>>0]|0))break;f[x+(B<<2)>>2]=f[x+(H<<2)>>2];F=C;break a}while(0);K=f[r+(B<<2)>>2]|0;G=f[x+(H<<2)>>2]|0;I=K;while(1){N=f[m+(I<<2)>>2]|0;if((N|0)<(I|0))I=N;else break}if((K|0)==(G|0))Da=I;else{N=G;while(1){P=f[m+(N<<2)>>2]|0;if((P|0)<(N|0))N=P;else break}P=(I|0)>(N|0)?N:I;O=G;do{J=m+(O<<2)|0;Aa=O;O=f[J>>2]|0;f[J>>2]=P}while((O|0)<(Aa|0));Da=P}P=K;do{O=m+(P<<2)|0;G=P;P=f[O>>2]|0;f[O>>2]=Da}while((P|0)<(G|0));f[x+(B<<2)>>2]=Da;F=C;break a}if(!(b[v+H>>0]|0)){P=f[r+(B<<2)>>2]|0;K=f[x+(H<<2)>>2]|0;G=P;while(1){O=f[m+(G<<2)>>2]|0;if((O|0)<(G|0))G=O;else break}if((P|0)==(K|0))Ea=G;else{O=K;while(1){I=f[m+(O<<2)>>2]|0;if((I|0)<(O|0))O=I;else break}I=(G|0)>(O|0)?O:G;N=K;do{Aa=m+(N<<2)|0;J=N;N=f[Aa>>2]|0;f[Aa>>2]=I}while((N|0)<(J|0));Ea=I}I=P;do{N=m+(I<<2)|0;K=I;I=f[N>>2]|0;f[N>>2]=Ea}while((I|0)<(K|0));f[x+(B<<2)>>2]=Ea;F=C;break a}do if(A){if(!(b[w+D>>0]|0))break;if(b[v+B>>0]|0){f[x+(B<<2)>>2]=f[x+(H<<2)>>2];F=C;break a}if(b[w+B>>0]|0){f[x+(B<<2)>>2]=f[x+(H<<2)>>2];F=C;break a}I=f[r+(B<<2)>>2]|0;P=f[x+(H<<2)>>2]|0;K=I;while(1){N=f[m+(K<<2)>>2]|0;if((N|0)<(K|0))K=N;else break}if((I|0)==(P|0))Fa=K;else{N=P;while(1){G=f[m+(N<<2)>>2]|0;if((G|0)<(N|0))N=G;else break}G=(K|0)>(N|0)?N:K;O=P;do{J=m+(O<<2)|0;Aa=O;O=f[J>>2]|0;f[J>>2]=G}while((O|0)<(Aa|0));Fa=G}G=I;do{O=m+(G<<2)|0;P=G;G=f[O>>2]|0;f[O>>2]=Fa}while((G|0)<(P|0));f[x+(B<<2)>>2]=Fa;F=C;break a}while(0);G=f[r+(B<<2)>>2]|0;I=f[x+(H<<2)>>2]|0;P=G;while(1){O=f[m+(P<<2)>>2]|0;if((O|0)<(P|0))P=O;else break}if((G|0)==(I|0))Ga=P;else{O=I;while(1){K=f[m+(O<<2)>>2]|0;if((K|0)<(O|0))O=K;else break}K=(P|0)>(O|0)?O:P;N=I;do{Aa=m+(N<<2)|0;J=N;N=f[Aa>>2]|0;f[Aa>>2]=K}while((N|0)<(J|0));Ga=K}K=G;do{N=m+(K<<2)|0;I=K;K=f[N>>2]|0;f[N>>2]=Ga}while((K|0)<(I|0));f[x+(B<<2)>>2]=Ga;F=C;break a}while(0);if(b[v+B>>0]|0){K=f[r+(B<<2)>>2]|0;G=f[x+(H<<2)>>2]|0;I=K;while(1){N=f[m+(I<<2)>>2]|0;if((N|0)<(I|0))I=N;else break}if((K|0)==(G|0))Ha=I;else{N=G;while(1){P=f[m+(N<<2)>>2]|0;if((P|0)<(N|0))N=P;else break}P=(I|0)>(N|0)?N:I;O=G;do{J=m+(O<<2)|0;Aa=O;O=f[J>>2]|0;f[J>>2]=P}while((O|0)<(Aa|0));Ha=P}P=K;do{O=m+(P<<2)|0;G=P;P=f[O>>2]|0;f[O>>2]=Ha}while((P|0)<(G|0));f[x+(B<<2)>>2]=Ha;F=C;break}if(!(b[v+D>>0]|0)){P=f[r+(B<<2)>>2]|0;K=f[x+(H<<2)>>2]|0;G=P;while(1){O=f[m+(G<<2)>>2]|0;if((O|0)<(G|0))G=O;else break}if((P|0)==(K|0))Ia=G;else{O=K;while(1){I=f[m+(O<<2)>>2]|0;if((I|0)<(O|0))O=I;else break}I=(G|0)>(O|0)?O:G;N=K;do{Aa=m+(N<<2)|0;J=N;N=f[Aa>>2]|0;f[Aa>>2]=I}while((N|0)<(J|0));Ia=I}I=P;do{N=m+(I<<2)|0;K=I;I=f[N>>2]|0;f[N>>2]=Ia}while((I|0)<(K|0));f[x+(B<<2)>>2]=Ia;F=C;break}do if(A){if(!(b[w+B>>0]|0))break;I=f[r+(B<<2)>>2]|0;P=f[x+(H<<2)>>2]|0;K=I;while(1){N=f[m+(K<<2)>>2]|0;if((N|0)<(K|0))K=N;else break}if((I|0)==(P|0))Ja=K;else{N=P;while(1){G=f[m+(N<<2)>>2]|0;if((G|0)<(N|0))N=G;else break}G=(K|0)>(N|0)?N:K;O=P;do{J=m+(O<<2)|0;Aa=O;O=f[J>>2]|0;f[J>>2]=G}while((O|0)<(Aa|0));Ja=G}G=I;do{O=m+(G<<2)|0;P=G;G=f[O>>2]|0;f[O>>2]=Ja}while((G|0)<(P|0));f[x+(B<<2)>>2]=Ja;F=C;break a}while(0);G=f[r+(H<<2)>>2]|0;I=f[r+(B<<2)>>2]|0;P=G;while(1){O=f[m+(P<<2)>>2]|0;if((O|0)<(P|0))P=O;else break}if((G|0)==(I|0))Ka=P;else{O=I;while(1){K=f[m+(O<<2)>>2]|0;if((K|0)<(O|0))O=K;else break}K=(P|0)>(O|0)?O:P;N=I;do{Aa=m+(N<<2)|0;J=N;N=f[Aa>>2]|0;f[Aa>>2]=K}while((N|0)<(J|0));Ka=K}K=G;do{N=m+(K<<2)|0;I=K;K=f[N>>2]|0;f[N>>2]=Ka}while((K|0)<(I|0));K=f[x+(H<<2)>>2]|0;G=Ka;while(1){I=f[m+(G<<2)>>2]|0;if((I|0)<(G|0))G=I;else break}if((Ka|0)==(K|0))La=G;else{H=K;while(1){I=f[m+(H<<2)>>2]|0;if((I|0)<(H|0))H=I;else break}I=(G|0)>(H|0)?H:G;N=K;do{P=m+(N<<2)|0;O=N;N=f[P>>2]|0;f[P>>2]=I}while((N|0)<(O|0));La=I}I=Ka;do{N=m+(I<<2)|0;K=I;I=f[N>>2]|0;f[N>>2]=La}while((I|0)<(K|0));f[x+(B<<2)>>2]=La;F=C;break}if(M?b[s+U>>0]|0:0){I=B+2|0;do if(z&(I|0)<(h|0)){if(!(b[v+I>>0]|0))break;K=B+-2|0;do if((B|0)>1){if(!(b[s+K>>0]|0))break;if(b[v+D>>0]|0){do if(A){if(!(b[w+U>>0]|0))break;if(b[v+B>>0]|0){f[x+(B<<2)>>2]=f[x+(K<<2)>>2];F=C;break a}if(b[w+B>>0]|0){f[x+(B<<2)>>2]=f[x+(K<<2)>>2];F=C;break a}N=f[r+(I<<2)>>2]|0;G=f[x+(K<<2)>>2]|0;H=N;while(1){O=f[m+(H<<2)>>2]|0;if((O|0)<(H|0))H=O;else break}if((N|0)==(G|0))Ma=H;else{O=G;while(1){P=f[m+(O<<2)>>2]|0;if((P|0)<(O|0))O=P;else break}P=(H|0)>(O|0)?O:H;J=G;do{Aa=m+(J<<2)|0;va=J;J=f[Aa>>2]|0;f[Aa>>2]=P}while((J|0)<(va|0));Ma=P}P=N;do{J=m+(P<<2)|0;G=P;P=f[J>>2]|0;f[J>>2]=Ma}while((P|0)<(G|0));f[x+(B<<2)>>2]=Ma;F=C;break a}while(0);P=f[r+(I<<2)>>2]|0;N=f[x+(K<<2)>>2]|0;G=P;while(1){J=f[m+(G<<2)>>2]|0;if((J|0)<(G|0))G=J;else break}if((P|0)==(N|0))Na=G;else{J=N;while(1){H=f[m+(J<<2)>>2]|0;if((H|0)<(J|0))J=H;else break}H=(G|0)>(J|0)?J:G;O=N;do{va=m+(O<<2)|0;Aa=O;O=f[va>>2]|0;f[va>>2]=H}while((O|0)<(Aa|0));Na=H}H=P;do{O=m+(H<<2)|0;N=H;H=f[O>>2]|0;f[O>>2]=Na}while((H|0)<(N|0));f[x+(B<<2)>>2]=Na;F=C;break a}do if(A){if(!(b[w+U>>0]|0))break;if(!(b[v+K>>0]|0)){H=f[r+(I<<2)>>2]|0;P=f[x+(K<<2)>>2]|0;N=H;while(1){O=f[m+(N<<2)>>2]|0;if((O|0)<(N|0))N=O;else break}if((H|0)==(P|0))Oa=N;else{O=P;while(1){G=f[m+(O<<2)>>2]|0;if((G|0)<(O|0))O=G;else break}G=(N|0)>(O|0)?O:N;J=P;do{Aa=m+(J<<2)|0;va=J;J=f[Aa>>2]|0;f[Aa>>2]=G}while((J|0)<(va|0));Oa=G}G=H;do{J=m+(G<<2)|0;P=G;G=f[J>>2]|0;f[J>>2]=Oa}while((G|0)<(P|0));f[x+(B<<2)>>2]=Oa;F=C;break a}if(!(b[w+D>>0]|0)){G=f[r+(I<<2)>>2]|0;H=f[x+(K<<2)>>2]|0;P=G;while(1){J=f[m+(P<<2)>>2]|0;if((J|0)<(P|0))P=J;else break}if((G|0)==(H|0))Pa=P;else{J=H;while(1){N=f[m+(J<<2)>>2]|0;if((N|0)<(J|0))J=N;else break}N=(P|0)>(J|0)?J:P;O=H;do{va=m+(O<<2)|0;Aa=O;O=f[va>>2]|0;f[va>>2]=N}while((O|0)<(Aa|0));Pa=N}N=G;do{O=m+(N<<2)|0;H=N;N=f[O>>2]|0;f[O>>2]=Pa}while((N|0)<(H|0));f[x+(B<<2)>>2]=Pa;F=C;break a}if(b[v+B>>0]|0){f[x+(B<<2)>>2]=f[x+(K<<2)>>2];F=C;break a}if(b[w+B>>0]|0){f[x+(B<<2)>>2]=f[x+(K<<2)>>2];F=C;break a}N=f[r+(I<<2)>>2]|0;G=f[x+(K<<2)>>2]|0;H=N;while(1){O=f[m+(H<<2)>>2]|0;if((O|0)<(H|0))H=O;else break}if((N|0)==(G|0))Qa=H;else{O=G;while(1){P=f[m+(O<<2)>>2]|0;if((P|0)<(O|0))O=P;else break}P=(H|0)>(O|0)?O:H;J=G;do{Aa=m+(J<<2)|0;va=J;J=f[Aa>>2]|0;f[Aa>>2]=P}while((J|0)<(va|0));Qa=P}P=N;do{J=m+(P<<2)|0;G=P;P=f[J>>2]|0;f[J>>2]=Qa}while((P|0)<(G|0));f[x+(B<<2)>>2]=Qa;F=C;break a}while(0);if(!(b[v+B>>0]|0)){P=f[r+(I<<2)>>2]|0;N=f[x+(K<<2)>>2]|0;G=P;while(1){J=f[m+(G<<2)>>2]|0;if((J|0)<(G|0))G=J;else break}if((P|0)==(N|0))Ra=G;else{J=N;while(1){H=f[m+(J<<2)>>2]|0;if((H|0)<(J|0))J=H;else break}H=(G|0)>(J|0)?J:G;O=N;do{va=m+(O<<2)|0;Aa=O;O=f[va>>2]|0;f[va>>2]=H}while((O|0)<(Aa|0));Ra=H}H=P;do{O=m+(H<<2)|0;N=H;H=f[O>>2]|0;f[O>>2]=Ra}while((H|0)<(N|0));f[x+(B<<2)>>2]=Ra;F=C;break a}if(!(b[v+K>>0]|0)){H=f[r+(B<<2)>>2]|0;P=f[r+(I<<2)>>2]|0;N=H;while(1){O=f[m+(N<<2)>>2]|0;if((O|0)<(N|0))N=O;else break}if((H|0)==(P|0))Sa=N;else{O=P;while(1){G=f[m+(O<<2)>>2]|0;if((G|0)<(O|0))O=G;else break}G=(N|0)>(O|0)?O:N;J=P;do{Aa=m+(J<<2)|0;va=J;J=f[Aa>>2]|0;f[Aa>>2]=G}while((J|0)<(va|0));Sa=G}G=H;do{J=m+(G<<2)|0;P=G;G=f[J>>2]|0;f[J>>2]=Sa}while((G|0)<(P|0));G=f[x+(K<<2)>>2]|0;H=Sa;while(1){P=f[m+(H<<2)>>2]|0;if((P|0)<(H|0))H=P;else break}if((Sa|0)==(G|0))Ta=H;else{P=G;while(1){J=f[m+(P<<2)>>2]|0;if((J|0)<(P|0))P=J;else break}J=(H|0)>(P|0)?P:H;N=G;do{O=m+(N<<2)|0;va=N;N=f[O>>2]|0;f[O>>2]=J}while((N|0)<(va|0));Ta=J}J=Sa;do{N=m+(J<<2)|0;G=J;J=f[N>>2]|0;f[N>>2]=Ta}while((J|0)<(G|0));f[x+(B<<2)>>2]=Ta;F=C;break a}do if(A){if(!(b[w+D>>0]|0))break;J=f[r+(I<<2)>>2]|0;G=f[x+(K<<2)>>2]|0;N=J;while(1){H=f[m+(N<<2)>>2]|0;if((H|0)<(N|0))N=H;else break}if((J|0)==(G|0))Ua=N;else{H=G;while(1){P=f[m+(H<<2)>>2]|0;if((P|0)<(H|0))H=P;else break}P=(N|0)>(H|0)?H:N;va=G;do{O=m+(va<<2)|0;Aa=va;va=f[O>>2]|0;f[O>>2]=P}while((va|0)<(Aa|0));Ua=P}P=J;do{va=m+(P<<2)|0;G=P;P=f[va>>2]|0;f[va>>2]=Ua}while((P|0)<(G|0));f[x+(B<<2)>>2]=Ua;F=C;break a}while(0);P=f[r+(B<<2)>>2]|0;J=f[r+(I<<2)>>2]|0;G=P;while(1){va=f[m+(G<<2)>>2]|0;if((va|0)<(G|0))G=va;else break}if((P|0)==(J|0))Va=G;else{va=J;while(1){N=f[m+(va<<2)>>2]|0;if((N|0)<(va|0))va=N;else break}N=(G|0)>(va|0)?va:G;H=J;do{Aa=m+(H<<2)|0;O=H;H=f[Aa>>2]|0;f[Aa>>2]=N}while((H|0)<(O|0));Va=N}N=P;do{H=m+(N<<2)|0;J=N;N=f[H>>2]|0;f[H>>2]=Va}while((N|0)<(J|0));N=f[x+(K<<2)>>2]|0;P=Va;while(1){J=f[m+(P<<2)>>2]|0;if((J|0)<(P|0))P=J;else break}if((Va|0)==(N|0))Wa=P;else{J=N;while(1){H=f[m+(J<<2)>>2]|0;if((H|0)<(J|0))J=H;else break}H=(P|0)>(J|0)?J:P;G=N;do{va=m+(G<<2)|0;O=G;G=f[va>>2]|0;f[va>>2]=H}while((G|0)<(O|0));Wa=H}H=Va;do{G=m+(H<<2)|0;N=H;H=f[G>>2]|0;f[G>>2]=Wa}while((H|0)<(N|0));f[x+(B<<2)>>2]=Wa;F=C;break a}while(0);if(b[v+B>>0]|0){do if(A){if(!(b[w+U>>0]|0))break;H=f[r+(I<<2)>>2]|0;N=f[x+(K<<2)>>2]|0;G=H;while(1){P=f[m+(G<<2)>>2]|0;if((P|0)<(G|0))G=P;else break}if((H|0)==(N|0))Xa=G;else{P=N;while(1){J=f[m+(P<<2)>>2]|0;if((J|0)<(P|0))P=J;else break}J=(G|0)>(P|0)?P:G;O=N;do{va=m+(O<<2)|0;Aa=O;O=f[va>>2]|0;f[va>>2]=J}while((O|0)<(Aa|0));Xa=J}J=H;do{O=m+(J<<2)|0;N=J;J=f[O>>2]|0;f[O>>2]=Xa}while((J|0)<(N|0));f[x+(B<<2)>>2]=Xa;F=C;break a}while(0);J=f[r+(B<<2)>>2]|0;H=f[r+(I<<2)>>2]|0;N=J;while(1){O=f[m+(N<<2)>>2]|0;if((O|0)<(N|0))N=O;else break}if((J|0)==(H|0))Ya=N;else{O=H;while(1){G=f[m+(O<<2)>>2]|0;if((G|0)<(O|0))O=G;else break}G=(N|0)>(O|0)?O:N;P=H;do{Aa=m+(P<<2)|0;va=P;P=f[Aa>>2]|0;f[Aa>>2]=G}while((P|0)<(va|0));Ya=G}G=J;do{P=m+(G<<2)|0;H=G;G=f[P>>2]|0;f[P>>2]=Ya}while((G|0)<(H|0));G=f[x+(K<<2)>>2]|0;J=Ya;while(1){H=f[m+(J<<2)>>2]|0;if((H|0)<(J|0))J=H;else break}if((Ya|0)==(G|0))Za=J;else{H=G;while(1){P=f[m+(H<<2)>>2]|0;if((P|0)<(H|0))H=P;else break}P=(J|0)>(H|0)?H:J;N=G;do{O=m+(N<<2)|0;va=N;N=f[O>>2]|0;f[O>>2]=P}while((N|0)<(va|0));Za=P}P=Ya;do{N=m+(P<<2)|0;G=P;P=f[N>>2]|0;f[N>>2]=Za}while((P|0)<(G|0));f[x+(B<<2)>>2]=Za;F=C;break a}if(!(b[v+D>>0]|0)){P=f[r+(I<<2)>>2]|0;G=f[x+(K<<2)>>2]|0;N=P;while(1){J=f[m+(N<<2)>>2]|0;if((J|0)<(N|0))N=J;else break}if((P|0)==(G|0))_a=N;else{J=G;while(1){H=f[m+(J<<2)>>2]|0;if((H|0)<(J|0))J=H;else break}H=(N|0)>(J|0)?J:N;va=G;do{O=m+(va<<2)|0;Aa=va;va=f[O>>2]|0;f[O>>2]=H}while((va|0)<(Aa|0));_a=H}H=P;do{va=m+(H<<2)|0;G=H;H=f[va>>2]|0;f[va>>2]=_a}while((H|0)<(G|0));f[x+(B<<2)>>2]=_a;F=C;break a}do if(A){if(!(b[w+U>>0]|0))break;if(b[w+B>>0]|0){H=f[r+(I<<2)>>2]|0;P=f[x+(K<<2)>>2]|0;G=H;while(1){va=f[m+(G<<2)>>2]|0;if((va|0)<(G|0))G=va;else break}if((H|0)==(P|0))$a=G;else{va=P;while(1){N=f[m+(va<<2)>>2]|0;if((N|0)<(va|0))va=N;else break}N=(G|0)>(va|0)?va:G;J=P;do{Aa=m+(J<<2)|0;O=J;J=f[Aa>>2]|0;f[Aa>>2]=N}while((J|0)<(O|0));$a=N}N=H;do{J=m+(N<<2)|0;P=N;N=f[J>>2]|0;f[J>>2]=$a}while((N|0)<(P|0));f[x+(B<<2)>>2]=$a;F=C;break a}N=f[r+(K<<2)>>2]|0;H=f[r+(I<<2)>>2]|0;P=N;while(1){J=f[m+(P<<2)>>2]|0;if((J|0)<(P|0))P=J;else break}if((N|0)==(H|0))ab=P;else{J=H;while(1){G=f[m+(J<<2)>>2]|0;if((G|0)<(J|0))J=G;else break}G=(P|0)>(J|0)?J:P;va=H;do{O=m+(va<<2)|0;Aa=va;va=f[O>>2]|0;f[O>>2]=G}while((va|0)<(Aa|0));ab=G}G=N;do{va=m+(G<<2)|0;H=G;G=f[va>>2]|0;f[va>>2]=ab}while((G|0)<(H|0));G=f[x+(K<<2)>>2]|0;N=ab;while(1){H=f[m+(N<<2)>>2]|0;if((H|0)<(N|0))N=H;else break}if((ab|0)==(G|0))bb=N;else{H=G;while(1){va=f[m+(H<<2)>>2]|0;if((va|0)<(H|0))H=va;else break}va=(N|0)>(H|0)?H:N;P=G;do{J=m+(P<<2)|0;Aa=P;P=f[J>>2]|0;f[J>>2]=va}while((P|0)<(Aa|0));bb=va}va=ab;do{P=m+(va<<2)|0;G=va;va=f[P>>2]|0;f[P>>2]=bb}while((va|0)<(G|0));f[x+(B<<2)>>2]=bb;F=C;break a}while(0);va=f[r+(K<<2)>>2]|0;G=f[r+(I<<2)>>2]|0;P=va;while(1){N=f[m+(P<<2)>>2]|0;if((N|0)<(P|0))P=N;else break}if((va|0)==(G|0))cb=P;else{N=G;while(1){H=f[m+(N<<2)>>2]|0;if((H|0)<(N|0))N=H;else break}H=(P|0)>(N|0)?N:P;Aa=G;do{J=m+(Aa<<2)|0;O=Aa;Aa=f[J>>2]|0;f[J>>2]=H}while((Aa|0)<(O|0));cb=H}H=va;do{Aa=m+(H<<2)|0;G=H;H=f[Aa>>2]|0;f[Aa>>2]=cb}while((H|0)<(G|0));H=f[x+(K<<2)>>2]|0;va=cb;while(1){G=f[m+(va<<2)>>2]|0;if((G|0)<(va|0))va=G;else break}if((cb|0)==(H|0))db=va;else{K=H;while(1){G=f[m+(K<<2)>>2]|0;if((G|0)<(K|0))K=G;else break}G=(va|0)>(K|0)?K:va;Aa=H;do{P=m+(Aa<<2)|0;N=Aa;Aa=f[P>>2]|0;f[P>>2]=G}while((Aa|0)<(N|0));db=G}G=cb;do{Aa=m+(G<<2)|0;H=G;G=f[Aa>>2]|0;f[Aa>>2]=db}while((G|0)<(H|0));f[x+(B<<2)>>2]=db;F=C;break a}while(0);do if(z){if(b[v+D>>0]|0){I=B+-2|0;do if((B|0)>1){if(!(b[s+I>>0]|0))break;f[x+(B<<2)>>2]=f[x+(I<<2)>>2];F=C;break a}while(0);U=f[r+(I<<2)>>2]|0;M=f[x+(I<<2)>>2]|0;G=U;while(1){H=f[m+(G<<2)>>2]|0;if((H|0)<(G|0))G=H;else break}if((U|0)==(M|0))eb=G;else{I=M;while(1){H=f[m+(I<<2)>>2]|0;if((H|0)<(I|0))I=H;else break}H=(G|0)>(I|0)?I:G;Aa=M;do{va=m+(Aa<<2)|0;K=Aa;Aa=f[va>>2]|0;f[va>>2]=H}while((Aa|0)<(K|0));eb=H}H=U;do{Aa=m+(H<<2)|0;M=H;H=f[Aa>>2]|0;f[Aa>>2]=eb}while((H|0)<(M|0));f[x+(B<<2)>>2]=eb;F=C;break a}if(!(b[v+B>>0]|0))break;H=B+-2|0;do if((B|0)>1){if(!(b[s+H>>0]|0))break;if(!(b[v+H>>0]|0)){U=f[r+(B<<2)>>2]|0;M=f[x+(H<<2)>>2]|0;Aa=U;while(1){G=f[m+(Aa<<2)>>2]|0;if((G|0)<(Aa|0))Aa=G;else break}if((U|0)==(M|0))fb=Aa;else{G=M;while(1){I=f[m+(G<<2)>>2]|0;if((I|0)<(G|0))G=I;else break}I=(Aa|0)>(G|0)?G:Aa;K=M;do{va=m+(K<<2)|0;N=K;K=f[va>>2]|0;f[va>>2]=I}while((K|0)<(N|0));fb=I}I=U;do{K=m+(I<<2)|0;M=I;I=f[K>>2]|0;f[K>>2]=fb}while((I|0)<(M|0));f[x+(B<<2)>>2]=fb;F=C;break a}do if(A){if(!(b[w+D>>0]|0))break;f[x+(B<<2)>>2]=f[x+(H<<2)>>2];F=C;break a}while(0);I=f[r+(B<<2)>>2]|0;U=f[x+(H<<2)>>2]|0;M=I;while(1){K=f[m+(M<<2)>>2]|0;if((K|0)<(M|0))M=K;else break}if((I|0)==(U|0))gb=M;else{K=U;while(1){Aa=f[m+(K<<2)>>2]|0;if((Aa|0)<(K|0))K=Aa;else break}Aa=(M|0)>(K|0)?K:M;G=U;do{N=m+(G<<2)|0;va=G;G=f[N>>2]|0;f[N>>2]=Aa}while((G|0)<(va|0));gb=Aa}Aa=I;do{G=m+(Aa<<2)|0;U=Aa;Aa=f[G>>2]|0;f[G>>2]=gb}while((Aa|0)<(U|0));f[x+(B<<2)>>2]=gb;F=C;break a}while(0);Aa=f[r+(B<<2)>>2]|0;I=f[x+(H<<2)>>2]|0;U=Aa;while(1){G=f[m+(U<<2)>>2]|0;if((G|0)<(U|0))U=G;else break}if((Aa|0)==(I|0))hb=U;else{H=I;while(1){G=f[m+(H<<2)>>2]|0;if((G|0)<(H|0))H=G;else break}G=(U|0)>(H|0)?H:U;M=I;do{K=m+(M<<2)|0;va=M;M=f[K>>2]|0;f[K>>2]=G}while((M|0)<(va|0));hb=G}G=Aa;do{M=m+(G<<2)|0;I=G;G=f[M>>2]|0;f[M>>2]=hb}while((G|0)<(I|0));f[x+(B<<2)>>2]=hb;F=C;break a}while(0);f[x+(B<<2)>>2]=f[x+(B+-2<<2)>>2];F=C;break}do if(z){if(b[v+D>>0]|0){G=B+-2|0;do if((B|0)>1){if(!(b[s+G>>0]|0))break;f[x+(B<<2)>>2]=f[x+(G<<2)>>2];F=C;break a}while(0);Aa=f[r+(G<<2)>>2]|0;I=f[x+(G<<2)>>2]|0;M=Aa;while(1){U=f[m+(M<<2)>>2]|0;if((U|0)<(M|0))M=U;else break}if((Aa|0)==(I|0))ib=M;else{G=I;while(1){U=f[m+(G<<2)>>2]|0;if((U|0)<(G|0))G=U;else break}U=(M|0)>(G|0)?G:M;H=I;do{va=m+(H<<2)|0;K=H;H=f[va>>2]|0;f[va>>2]=U}while((H|0)<(K|0));ib=U}U=Aa;do{H=m+(U<<2)|0;I=U;U=f[H>>2]|0;f[H>>2]=ib}while((U|0)<(I|0));f[x+(B<<2)>>2]=ib;F=C;break a}if(!(b[v+B>>0]|0))break;U=B+-2|0;do if((B|0)>1){if(!(b[s+U>>0]|0))break;if(!(b[v+U>>0]|0)){Aa=f[r+(B<<2)>>2]|0;I=f[x+(U<<2)>>2]|0;H=Aa;while(1){M=f[m+(H<<2)>>2]|0;if((M|0)<(H|0))H=M;else break}if((Aa|0)==(I|0))jb=H;else{M=I;while(1){G=f[m+(M<<2)>>2]|0;if((G|0)<(M|0))M=G;else break}G=(H|0)>(M|0)?M:H;K=I;do{va=m+(K<<2)|0;N=K;K=f[va>>2]|0;f[va>>2]=G}while((K|0)<(N|0));jb=G}G=Aa;do{K=m+(G<<2)|0;I=G;G=f[K>>2]|0;f[K>>2]=jb}while((G|0)<(I|0));f[x+(B<<2)>>2]=jb;F=C;break a}do if(A){if(!(b[w+D>>0]|0))break;f[x+(B<<2)>>2]=f[x+(U<<2)>>2];F=C;break a}while(0);G=f[r+(B<<2)>>2]|0;Aa=f[x+(U<<2)>>2]|0;I=G;while(1){K=f[m+(I<<2)>>2]|0;if((K|0)<(I|0))I=K;else break}if((G|0)==(Aa|0))kb=I;else{K=Aa;while(1){H=f[m+(K<<2)>>2]|0;if((H|0)<(K|0))K=H;else break}H=(I|0)>(K|0)?K:I;M=Aa;do{N=m+(M<<2)|0;va=M;M=f[N>>2]|0;f[N>>2]=H}while((M|0)<(va|0));kb=H}H=G;do{M=m+(H<<2)|0;Aa=H;H=f[M>>2]|0;f[M>>2]=kb}while((H|0)<(Aa|0));f[x+(B<<2)>>2]=kb;F=C;break a}while(0);H=f[r+(B<<2)>>2]|0;G=f[x+(U<<2)>>2]|0;Aa=H;while(1){M=f[m+(Aa<<2)>>2]|0;if((M|0)<(Aa|0))Aa=M;else break}if((H|0)==(G|0))lb=Aa;else{U=G;while(1){M=f[m+(U<<2)>>2]|0;if((M|0)<(U|0))U=M;else break}M=(Aa|0)>(U|0)?U:Aa;I=G;do{K=m+(I<<2)|0;va=I;I=f[K>>2]|0;f[K>>2]=M}while((I|0)<(va|0));lb=M}M=H;do{I=m+(M<<2)|0;G=M;M=f[I>>2]|0;f[I>>2]=lb}while((M|0)<(G|0));f[x+(B<<2)>>2]=lb;F=C;break a}while(0);f[x+(B<<2)>>2]=f[x+(B+-2<<2)>>2];F=C;break}}M=B|1;H=(M|0)<(h|0);if(z&H?b[v+M>>0]|0:0){if(b[v+B>>0]|0){f[x+(B<<2)>>2]=f[r+(B<<2)>>2];F=C;break}if(E?b[v+D>>0]|0:0){do if(A){if(!(b[w+B>>0]|0))break;f[x+(B<<2)>>2]=f[r+(B<<2)>>2];F=C;break a}while(0);G=f[r+(B+-2<<2)>>2]|0;I=f[r+(B<<2)>>2]|0;Aa=G;while(1){U=f[m+(Aa<<2)>>2]|0;if((U|0)<(Aa|0))Aa=U;else break}if((G|0)==(I|0))mb=Aa;else{U=I;while(1){va=f[m+(U<<2)>>2]|0;if((va|0)<(U|0))U=va;else break}va=(Aa|0)>(U|0)?U:Aa;K=I;do{N=m+(K<<2)|0;P=K;K=f[N>>2]|0;f[N>>2]=va}while((K|0)<(P|0));mb=va}va=G;do{K=m+(va<<2)|0;I=va;va=f[K>>2]|0;f[K>>2]=mb}while((va|0)<(I|0));f[x+(B<<2)>>2]=mb;F=C;break}f[x+(B<<2)>>2]=f[r+(B<<2)>>2];F=C;break}if(H?b[s+M>>0]|0:0){va=B+2|0;if(z&(va|0)<(h|0)?b[v+va>>0]|0:0){if(b[v+B>>0]|0){do if(A){if(!(b[w+M>>0]|0))break;f[x+(B<<2)>>2]=f[r+(va<<2)>>2];F=C;break a}while(0);H=f[r+(B<<2)>>2]|0;G=f[r+(va<<2)>>2]|0;I=H;while(1){K=f[m+(I<<2)>>2]|0;if((K|0)<(I|0))I=K;else break}if((H|0)==(G|0))nb=I;else{K=G;while(1){Aa=f[m+(K<<2)>>2]|0;if((Aa|0)<(K|0))K=Aa;else break}Aa=(I|0)>(K|0)?K:I;U=G;do{P=m+(U<<2)|0;N=U;U=f[P>>2]|0;f[P>>2]=Aa}while((U|0)<(N|0));nb=Aa}Aa=H;do{U=m+(Aa<<2)|0;G=Aa;Aa=f[U>>2]|0;f[U>>2]=nb}while((Aa|0)<(G|0));f[x+(B<<2)>>2]=nb;F=C;break}do if(E){if(!(b[v+D>>0]|0))break;do if(A){if(!(b[w+M>>0]|0))break;if(b[w+B>>0]|0){f[x+(B<<2)>>2]=f[r+(va<<2)>>2];F=C;break a}Aa=f[r+(B+-2<<2)>>2]|0;H=f[r+(va<<2)>>2]|0;G=Aa;while(1){U=f[m+(G<<2)>>2]|0;if((U|0)<(G|0))G=U;else break}if((Aa|0)==(H|0))ob=G;else{U=H;while(1){I=f[m+(U<<2)>>2]|0;if((I|0)<(U|0))U=I;else break}I=(G|0)>(U|0)?U:G;K=H;do{N=m+(K<<2)|0;P=K;K=f[N>>2]|0;f[N>>2]=I}while((K|0)<(P|0));ob=I}I=Aa;do{K=m+(I<<2)|0;H=I;I=f[K>>2]|0;f[K>>2]=ob}while((I|0)<(H|0));f[x+(B<<2)>>2]=ob;F=C;break a}while(0);I=f[r+(B+-2<<2)>>2]|0;Aa=f[r+(va<<2)>>2]|0;H=I;while(1){K=f[m+(H<<2)>>2]|0;if((K|0)<(H|0))H=K;else break}if((I|0)==(Aa|0))pb=H;else{K=Aa;while(1){G=f[m+(K<<2)>>2]|0;if((G|0)<(K|0))K=G;else break}G=(H|0)>(K|0)?K:H;U=Aa;do{P=m+(U<<2)|0;N=U;U=f[P>>2]|0;f[P>>2]=G}while((U|0)<(N|0));pb=G}G=I;do{U=m+(G<<2)|0;Aa=G;G=f[U>>2]|0;f[U>>2]=pb}while((G|0)<(Aa|0));f[x+(B<<2)>>2]=pb;F=C;break a}while(0);f[x+(B<<2)>>2]=f[r+(va<<2)>>2];F=C;break}do if(z){if(b[v+B>>0]|0){f[x+(B<<2)>>2]=f[r+(B<<2)>>2];F=C;break a}if(!E)break;if(!(b[v+D>>0]|0))break;f[x+(B<<2)>>2]=f[r+(B+-2<<2)>>2];F=C;break a}while(0);f[x+(B<<2)>>2]=C;f[m+(C<<2)>>2]=C;F=C+1|0;break}if(z){if(b[v+B>>0]|0){f[x+(B<<2)>>2]=f[r+(B<<2)>>2];F=C;break}if(E?b[v+D>>0]|0:0){f[x+(B<<2)>>2]=f[r+(B+-2<<2)>>2];F=C;break}}f[x+(B<<2)>>2]=C;f[m+(C<<2)>>2]=C;F=C+1|0}while(0);B=B+2|0;if((B|0)>=(h|0)){qb=F;break}else C=F}}else qb=p;q=q+2|0;if((q|0)>=(a|0))break;else p=qb}if((qb|0)>1){p=1;a=1;while(1){q=m+(a<<2)|0;F=f[q>>2]|0;if((F|0)<(a|0)){f[q>>2]=f[m+(F<<2)>>2];rb=p}else{f[q>>2]=p;rb=p+1|0}a=a+1|0;if((a|0)==(qb|0)){sb=rb;break}else p=rb}}else sb=1}else sb=1;rb=f[i>>2]|0;p=f[n>>2]|0;qb=(p&1|0)!=0;a=(rb|0)>0;if(!(rb&1)){if(!qb){if(!a){dX(m);u=g;return sb|0}q=f[c+16>>2]|0;F=f[c+44>>2]|0;h=f[d+16>>2]|0;pb=f[d+44>>2]|0;ob=0;nb=p;mb=rb;while(1){lb=f[F>>2]|0;kb=q+(X(lb,ob)|0)|0;jb=kb+lb|0;lb=f[pb>>2]|0;ib=h+(X(lb,ob)|0)|0;hb=ib+lb|0;if((nb|0)>0){lb=0;do{gb=ib+(lb<<2)|0;fb=f[gb>>2]|0;do if((fb|0)>0){eb=f[m+(fb<<2)>>2]|0;f[gb>>2]=(b[kb+lb>>0]|0)==0?0:eb;db=lb|1;f[ib+(db<<2)>>2]=(b[kb+db>>0]|0)==0?0:eb;f[hb+(lb<<2)>>2]=(b[jb+lb>>0]|0)==0?0:eb;cb=hb+(db<<2)|0;if(!(b[jb+db>>0]|0)){f[cb>>2]=0;break}else{f[cb>>2]=eb;break}}else{f[gb>>2]=0;eb=lb|1;f[ib+(eb<<2)>>2]=0;f[hb+(lb<<2)>>2]=0;f[hb+(eb<<2)>>2]=0}while(0);lb=lb+2|0;tb=f[n>>2]|0}while((lb|0)<(tb|0));ub=f[i>>2]|0;vb=tb}else{ub=mb;vb=nb}ob=ob+2|0;if((ob|0)>=(ub|0))break;else{nb=vb;mb=ub}}dX(m);u=g;return sb|0}if(!a){dX(m);u=g;return sb|0}ub=f[c+16>>2]|0;mb=f[c+44>>2]|0;vb=f[d+16>>2]|0;nb=f[d+44>>2]|0;ob=0;tb=p;h=rb;while(1){pb=f[mb>>2]|0;q=ub+(X(pb,ob)|0)|0;F=q+pb|0;pb=f[nb>>2]|0;lb=vb+(X(pb,ob)|0)|0;hb=lb+pb|0;if((tb|0)>0){pb=0;do{ib=lb+(pb<<2)|0;jb=f[ib>>2]|0;do if((jb|0)>0){kb=f[m+(jb<<2)>>2]|0;f[ib>>2]=(b[q+pb>>0]|0)==0?0:kb;f[hb+(pb<<2)>>2]=(b[F+pb>>0]|0)==0?0:kb;gb=pb|1;if((gb|0)<(f[n>>2]|0)){f[lb+(gb<<2)>>2]=(b[q+gb>>0]|0)==0?0:kb;fb=hb+(gb<<2)|0;if(!(b[F+gb>>0]|0)){f[fb>>2]=0;break}else{f[fb>>2]=kb;break}}}else{f[ib>>2]=0;f[hb+(pb<<2)>>2]=0;kb=pb|1;if((kb|0)<(f[n>>2]|0)){f[lb+(kb<<2)>>2]=0;f[hb+(kb<<2)>>2]=0}}while(0);pb=pb+2|0;wb=f[n>>2]|0}while((pb|0)<(wb|0));xb=f[i>>2]|0;yb=wb}else{xb=h;yb=tb}ob=ob+2|0;if((ob|0)>=(xb|0))break;else{tb=yb;h=xb}}dX(m);u=g;return sb|0}if(!qb){if(!a){dX(m);u=g;return sb|0}qb=f[c+16>>2]|0;xb=f[c+44>>2]|0;h=f[d+16>>2]|0;yb=f[d+44>>2]|0;tb=0;ob=p;wb=rb;while(1){vb=f[xb>>2]|0;nb=qb+(X(vb,tb)|0)|0;ub=nb+vb|0;vb=f[yb>>2]|0;mb=h+(X(vb,tb)|0)|0;pb=mb+vb|0;if((ob|0)>0){vb=tb|1;hb=0;do{lb=mb+(hb<<2)|0;F=f[lb>>2]|0;do if((F|0)>0){q=f[m+(F<<2)>>2]|0;f[lb>>2]=(b[nb+hb>>0]|0)==0?0:q;ib=hb|1;f[mb+(ib<<2)>>2]=(b[nb+ib>>0]|0)==0?0:q;if((vb|0)<(f[i>>2]|0)){f[pb+(hb<<2)>>2]=(b[ub+hb>>0]|0)==0?0:q;jb=pb+(ib<<2)|0;if(!(b[ub+ib>>0]|0)){f[jb>>2]=0;break}else{f[jb>>2]=q;break}}}else{f[lb>>2]=0;q=hb|1;f[mb+(q<<2)>>2]=0;if((vb|0)<(f[i>>2]|0)){f[pb+(hb<<2)>>2]=0;f[pb+(q<<2)>>2]=0}}while(0);hb=hb+2|0;zb=f[n>>2]|0}while((hb|0)<(zb|0));Ab=f[i>>2]|0;Bb=zb}else{Ab=wb;Bb=ob}tb=tb+2|0;if((tb|0)>=(Ab|0))break;else{ob=Bb;wb=Ab}}dX(m);u=g;return sb|0}if(!a){dX(m);u=g;return sb|0}a=f[c+16>>2]|0;Ab=f[c+44>>2]|0;c=f[d+16>>2]|0;wb=f[d+44>>2]|0;d=0;Bb=p;p=rb;while(1){rb=f[Ab>>2]|0;ob=a+(X(rb,d)|0)|0;tb=ob+rb|0;rb=f[wb>>2]|0;zb=c+(X(rb,d)|0)|0;h=zb+rb|0;if((Bb|0)>0){rb=d|1;yb=0;do{qb=zb+(yb<<2)|0;xb=f[qb>>2]|0;do if((xb|0)>0){hb=f[m+(xb<<2)>>2]|0;f[qb>>2]=(b[ob+yb>>0]|0)==0?0:hb;pb=yb|1;if((pb|0)<(f[n>>2]|0)){f[zb+(pb<<2)>>2]=(b[ob+pb>>0]|0)==0?0:hb;if((rb|0)>=(f[i>>2]|0))break;f[h+(yb<<2)>>2]=(b[tb+yb>>0]|0)==0?0:hb;vb=h+(pb<<2)|0;if(!(b[tb+pb>>0]|0)){f[vb>>2]=0;break}else{f[vb>>2]=hb;break}}else{if((rb|0)>=(f[i>>2]|0))break;vb=h+(yb<<2)|0;if(!(b[tb+yb>>0]|0)){f[vb>>2]=0;break}else{f[vb>>2]=hb;break}}}else{f[qb>>2]=0;hb=yb|1;if((hb|0)<(f[n>>2]|0)){f[zb+(hb<<2)>>2]=0;if((rb|0)>=(f[i>>2]|0))break;f[h+(yb<<2)>>2]=0;f[h+(hb<<2)>>2]=0;break}else{if((rb|0)>=(f[i>>2]|0))break;f[h+(yb<<2)>>2]=0;break}}while(0);yb=yb+2|0;Cb=f[n>>2]|0}while((yb|0)<(Cb|0));Db=f[i>>2]|0;Eb=Cb}else{Db=p;Eb=Bb}d=d+2|0;if((d|0)>=(Db|0))break;else{Bb=Eb;p=Db}}dX(m);u=g;return sb|0}function eha(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;a=u;u=u+64|0;h=a+48|0;i=a+28|0;j=a;k=c+8|0;if((f[k>>2]|0)!=(f[d+8>>2]|0)){f[h>>2]=0;f[h+4>>2]=0;l=JV(h,26)|0;m=231382;n=l+26|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-215,h,451664,231084,2526);KV(h)}o=c+12|0;if((f[o>>2]|0)!=(f[d+12>>2]|0)){f[h>>2]=0;f[h+4>>2]=0;l=JV(h,26)|0;m=231409;n=l+26|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-215,h,451664,231084,2527);KV(h)}if((e|0)!=8){f[h>>2]=0;f[h+4>>2]=0;l=JV(h,17)|0;m=231436;n=l+17|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-215,h,451664,231084,2528);KV(h)}m=f[k>>2]|0;k=((f[o>>2]|0)+1|0)/2|0;o=cX(m<<2)|0;l=cX((X(((m+1|0)/2|0)<<2,k)|0)+4|0)|0;f[l>>2]=0;f[h>>2]=0;f[h+4>>2]=m;n=(m|0)/2|0;e=(a_()|0)<<2;p=(e|0)<(n|0)?e:n;q=+(((p|0)>1?p:1)|0);f[i>>2]=58300;f[i+4>>2]=c;f[i+8>>2]=d;f[i+12>>2]=l;f[i+16>>2]=o;$Z(h,i,q);fha(c,d,l,o);f[i>>2]=1;if((m|0)>0)r=0;else{s=(m|0)>-1;t=s?m:-1;v=FQa(t)|0;f[j>>2]=58320;w=j+4|0;f[w>>2]=c;x=j+8|0;f[x>>2]=d;y=j+12|0;f[y>>2]=l;z=j+16|0;f[z>>2]=g;A=j+20|0;f[A>>2]=v;B=j+24|0;f[B>>2]=i;$Z(h,j,q);HQa(v);dX(o);dX(l);C=f[i>>2]|0;u=a;return C|0}do{p=r+1|0;n=(X((p|0)/2|0,k)|0)+1|0;e=f[o+(p<<2)>>2]|0;p=e+n|0;if((e|0)>0){e=n;do{n=l+(e<<2)|0;D=f[n>>2]|0;if((D|0)<(e|0))f[n>>2]=f[l+(D<<2)>>2];else{f[n>>2]=f[i>>2];f[i>>2]=(f[i>>2]|0)+1}e=e+1|0}while((e|0)<(p|0))}r=f[o+(r<<2)>>2]|0}while((r|0)<(m|0));s=(m|0)>-1;t=s?m:-1;v=FQa(t)|0;f[j>>2]=58320;w=j+4|0;f[w>>2]=c;x=j+8|0;f[x>>2]=d;y=j+12|0;f[y>>2]=l;z=j+16|0;f[z>>2]=g;A=j+20|0;f[A>>2]=v;B=j+24|0;f[B>>2]=i;$Z(h,j,q);HQa(v);dX(o);dX(l);C=f[i>>2]|0;u=a;return C|0}function fha(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;g=f[c+12>>2]|0;h=f[c+8>>2]|0;i=f[e>>2]|0;if((i|0)>=(h|0))return;j=(g|0)>0;k=g+-1|0;l=g+-2|0;m=f[c+16>>2]|0;n=f[c+44>>2]|0;c=f[a+16>>2]|0;o=f[a+44>>2]|0;a=i;do{i=f[n>>2]|0;p=m+(X(i,a)|0)|0;q=0-i|0;i=p+q+q|0;q=f[o>>2]|0;r=c+(X(q,a)|0)|0;s=r+(0-q)|0;if(j){q=0;do{t=p+(q<<2)|0;u=f[t>>2]|0;if((u|0)>0){if((((q|0)>1?(v=f[i+(q+-2<<2)>>2]|0,(v|0)>0):0)?(b[r+q>>0]|0)!=0:0)?(b[s+(q+-1)>>0]|0)!=0:0){w=v;while(1){x=f[d+(w<<2)>>2]|0;if((x|0)<(w|0))w=x;else break}if((v|0)==(u|0))y=w;else{x=u;while(1){z=f[d+(x<<2)>>2]|0;if((z|0)<(x|0))x=z;else break}z=(w|0)>(x|0)?x:w;A=u;do{B=d+(A<<2)|0;C=A;A=f[B>>2]|0;f[B>>2]=z}while((A|0)<(C|0));y=z}z=v;do{A=d+(z<<2)|0;w=z;z=f[A>>2]|0;f[A>>2]=y}while((z|0)<(w|0));f[t>>2]=y;D=y}else D=u;z=f[i+(q<<2)>>2]|0;a:do if((z|0)>0){v=b[r+q>>0]|0;w=v<<24>>24!=0;if((q|0)>=(k|0)){if(!w){E=D;break}if(!(b[s+q>>0]|0)){E=D;break}else F=z;while(1){A=f[d+(F<<2)>>2]|0;if((A|0)<(F|0))F=A;else break}if((z|0)==(D|0))G=F;else{A=D;while(1){x=f[d+(A<<2)>>2]|0;if((x|0)<(A|0))A=x;else break}x=(F|0)>(A|0)?A:F;C=D;do{B=d+(C<<2)|0;H=C;C=f[B>>2]|0;f[B>>2]=x}while((C|0)<(H|0));G=x}x=z;do{C=d+(x<<2)|0;A=x;x=f[C>>2]|0;f[C>>2]=G}while((x|0)<(A|0));f[t>>2]=G;E=G;break}if(w?(b[s+q>>0]|0)!=0:0)I=z;else J=23;do if((J|0)==23){J=0;x=q|1;A=(b[r+x>>0]|0)==0;if(!A?b[s+q>>0]|0:0){I=z;break}if(v<<24>>24?b[s+x>>0]|0:0){I=z;break}if(A){E=D;break a}if(!(b[s+x>>0]|0)){E=D;break a}else I=z}while(0);while(1){v=f[d+(I<<2)>>2]|0;if((v|0)<(I|0))I=v;else break}if((z|0)==(D|0))K=I;else{v=D;while(1){w=f[d+(v<<2)>>2]|0;if((w|0)<(v|0))v=w;else break}w=(I|0)>(v|0)?v:I;x=D;do{A=d+(x<<2)|0;C=x;x=f[A>>2]|0;f[A>>2]=w}while((x|0)<(C|0));K=w}w=z;do{x=d+(w<<2)|0;v=w;w=f[x>>2]|0;f[x>>2]=K}while((w|0)<(v|0));f[t>>2]=K;E=K}else E=D;while(0);if((((q|0)<(l|0)?(z=q+2|0,u=f[i+(z<<2)>>2]|0,(u|0)>0):0)?b[r+(q|1)>>0]|0:0)?b[s+z>>0]|0:0){z=u;while(1){w=f[d+(z<<2)>>2]|0;if((w|0)<(z|0))z=w;else break}if((u|0)==(E|0))L=z;else{w=E;while(1){v=f[d+(w<<2)>>2]|0;if((v|0)<(w|0))w=v;else break}v=(z|0)>(w|0)?w:z;x=E;do{C=d+(x<<2)|0;A=x;x=f[C>>2]|0;f[C>>2]=v}while((x|0)<(A|0));L=v}v=u;do{x=d+(v<<2)|0;z=v;v=f[x>>2]|0;f[x>>2]=L}while((v|0)<(z|0));f[t>>2]=L}}q=q+2|0}while((q|0)<(g|0))}a=f[e+(a<<2)>>2]|0}while((a|0)<(h|0));return}function gha(a){a=a|0;GQa(a);return}function hha(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;d=f[c>>2]|0;e=((d|0)%2|0)+d|0;d=f[c+4>>2]|0;c=((d|0)%2|0)+d|0;d=a+8|0;g=f[d>>2]|0;h=(f[g+8>>2]&1|0)==0;i=f[g+12>>2]|0;j=(i&1|0)!=0;k=(e|0)<(c|0);if((e|0)>0){if(h){if(!j){if(!k)return;l=a+4|0;m=a+12|0;n=e;o=g;p=i;while(1){q=f[l>>2]|0;r=f[f[q+44>>2]>>2]|0;s=(f[q+16>>2]|0)+(X(r,n)|0)|0;q=s+r|0;r=f[f[o+44>>2]>>2]|0;t=(f[o+16>>2]|0)+(X(r,n)|0)|0;u=t+r|0;if((p|0)>0){r=0;do{v=t+(r<<2)|0;w=f[v>>2]|0;do if((w|0)>0){x=f[(f[m>>2]|0)+(w<<2)>>2]|0;f[v>>2]=(b[s+r>>0]|0)==0?0:x;y=r|1;f[t+(y<<2)>>2]=(b[s+y>>0]|0)==0?0:x;f[u+(r<<2)>>2]=(b[q+r>>0]|0)==0?0:x;z=u+(y<<2)|0;if(!(b[q+y>>0]|0)){f[z>>2]=0;break}else{f[z>>2]=x;break}}else{f[v>>2]=0;x=r|1;f[t+(x<<2)>>2]=0;f[u+(r<<2)>>2]=0;f[u+(x<<2)>>2]=0}while(0);r=r+2|0;v=f[d>>2]|0;w=f[v+12>>2]|0}while((r|0)<(w|0));A=w;B=v}else{A=p;B=o}n=n+2|0;if((n|0)>=(c|0))break;else{o=B;p=A}}return}if(!k)return;A=a+4|0;p=a+12|0;B=e;o=g;n=i;while(1){m=f[A>>2]|0;l=f[f[m+44>>2]>>2]|0;r=(f[m+16>>2]|0)+(X(l,B)|0)|0;m=r+l|0;l=f[f[o+44>>2]>>2]|0;u=(f[o+16>>2]|0)+(X(l,B)|0)|0;t=u+l|0;if((n|0)>0){l=0;do{q=u+(l<<2)|0;s=f[q>>2]|0;do if((s|0)>0){v=f[(f[p>>2]|0)+(s<<2)>>2]|0;f[q>>2]=(b[r+l>>0]|0)==0?0:v;f[t+(l<<2)>>2]=(b[m+l>>0]|0)==0?0:v;w=l|1;if((w|0)<(f[(f[d>>2]|0)+12>>2]|0)){f[u+(w<<2)>>2]=(b[r+w>>0]|0)==0?0:v;x=t+(w<<2)|0;if(!(b[m+w>>0]|0)){f[x>>2]=0;break}else{f[x>>2]=v;break}}}else{f[q>>2]=0;f[t+(l<<2)>>2]=0;v=l|1;if((v|0)<(f[(f[d>>2]|0)+12>>2]|0)){f[u+(v<<2)>>2]=0;f[t+(v<<2)>>2]=0}}while(0);l=l+2|0;q=f[d>>2]|0;s=f[q+12>>2]|0}while((l|0)<(s|0));C=s;D=q}else{C=n;D=o}B=B+2|0;if((B|0)>=(c|0))break;else{o=D;n=C}}return}if(!j){if(!k)return;C=a+4|0;n=a+12|0;D=e;o=g;B=i;while(1){p=f[C>>2]|0;A=f[f[p+44>>2]>>2]|0;l=(f[p+16>>2]|0)+(X(A,D)|0)|0;p=l+A|0;A=f[f[o+44>>2]>>2]|0;t=(f[o+16>>2]|0)+(X(A,D)|0)|0;u=t+A|0;if((B|0)>0){A=D+1|0;m=0;do{r=t+(m<<2)|0;q=f[r>>2]|0;do if((q|0)>0){s=f[(f[n>>2]|0)+(q<<2)>>2]|0;f[r>>2]=(b[l+m>>0]|0)==0?0:s;v=m|1;f[t+(v<<2)>>2]=(b[l+v>>0]|0)==0?0:s;if((A|0)<(f[(f[d>>2]|0)+8>>2]|0)){f[u+(m<<2)>>2]=(b[p+m>>0]|0)==0?0:s;x=u+(v<<2)|0;if(!(b[p+v>>0]|0)){f[x>>2]=0;break}else{f[x>>2]=s;break}}}else{f[r>>2]=0;s=m|1;f[t+(s<<2)>>2]=0;if((A|0)<(f[(f[d>>2]|0)+8>>2]|0)){f[u+(m<<2)>>2]=0;f[u+(s<<2)>>2]=0}}while(0);m=m+2|0;r=f[d>>2]|0;q=f[r+12>>2]|0}while((m|0)<(q|0));E=q;F=r}else{E=B;F=o}D=D+2|0;if((D|0)>=(c|0))break;else{o=F;B=E}}return}if(!k)return;E=a+4|0;B=a+12|0;F=e;o=g;D=i;while(1){n=f[E>>2]|0;C=f[f[n+44>>2]>>2]|0;m=(f[n+16>>2]|0)+(X(C,F)|0)|0;n=m+C|0;C=f[f[o+44>>2]>>2]|0;u=(f[o+16>>2]|0)+(X(C,F)|0)|0;A=u+C|0;if((D|0)>0){C=F+1|0;t=0;do{p=u+(t<<2)|0;l=f[p>>2]|0;do if((l|0)>0){r=f[(f[B>>2]|0)+(l<<2)>>2]|0;f[p>>2]=(b[m+t>>0]|0)==0?0:r;q=t|1;s=f[d>>2]|0;if((q|0)<(f[s+12>>2]|0)){f[u+(q<<2)>>2]=(b[m+q>>0]|0)==0?0:r;if((C|0)>=(f[(f[d>>2]|0)+8>>2]|0))break;f[A+(t<<2)>>2]=(b[n+t>>0]|0)==0?0:r;x=A+(q<<2)|0;if(!(b[n+q>>0]|0)){f[x>>2]=0;break}else{f[x>>2]=r;break}}else{if((C|0)>=(f[s+8>>2]|0))break;s=A+(t<<2)|0;if(!(b[n+t>>0]|0)){f[s>>2]=0;break}else{f[s>>2]=r;break}}}else{f[p>>2]=0;r=t|1;s=f[d>>2]|0;if((r|0)<(f[s+12>>2]|0)){f[u+(r<<2)>>2]=0;if((C|0)>=(f[(f[d>>2]|0)+8>>2]|0))break;f[A+(t<<2)>>2]=0;f[A+(r<<2)>>2]=0;break}else{if((C|0)>=(f[s+8>>2]|0))break;f[A+(t<<2)>>2]=0;break}}while(0);t=t+2|0;p=f[d>>2]|0;l=f[p+12>>2]|0}while((t|0)<(l|0));G=l;H=p}else{G=D;H=o}F=F+2|0;if((F|0)>=(c|0))break;else{o=H;D=G}}return}else{if(h){if(!j){if(!k)return;h=a+4|0;G=a+12|0;D=e;H=g;o=i;while(1){F=f[h>>2]|0;B=f[f[F+44>>2]>>2]|0;E=(f[F+16>>2]|0)+(X(B,D)|0)|0;F=E+B|0;B=f[f[H+44>>2]>>2]|0;t=(f[H+16>>2]|0)+(X(B,D)|0)|0;A=t+B|0;if((o|0)>0){B=0;do{C=t+(B<<2)|0;u=f[C>>2]|0;do if((u|0)>0){n=f[(f[G>>2]|0)+(u<<2)>>2]|0;f[C>>2]=(b[E+B>>0]|0)==0?0:n;m=B|1;f[t+(m<<2)>>2]=(b[E+m>>0]|0)==0?0:n;f[A+(B<<2)>>2]=(b[F+B>>0]|0)==0?0:n;p=A+(m<<2)|0;if(!(b[F+m>>0]|0)){f[p>>2]=0;break}else{f[p>>2]=n;break}}else{f[C>>2]=0;n=B|1;f[t+(n<<2)>>2]=0;f[A+(B<<2)>>2]=0;f[A+(n<<2)>>2]=0}while(0);B=B+2|0;C=f[d>>2]|0;u=f[C+12>>2]|0}while((B|0)<(u|0));I=u;J=C}else{I=o;J=H}D=D+2|0;if((D|0)>=(c|0))break;else{H=J;o=I}}return}if(!k)return;I=a+4|0;o=a+12|0;J=e;H=g;D=i;while(1){G=f[I>>2]|0;h=f[f[G+44>>2]>>2]|0;B=(f[G+16>>2]|0)+(X(h,J)|0)|0;G=B+h|0;h=f[f[H+44>>2]>>2]|0;A=(f[H+16>>2]|0)+(X(h,J)|0)|0;t=A+h|0;if((D|0)>0){h=0;do{F=A+(h<<2)|0;E=f[F>>2]|0;do if((E|0)>0){C=f[(f[o>>2]|0)+(E<<2)>>2]|0;f[F>>2]=(b[B+h>>0]|0)==0?0:C;f[t+(h<<2)>>2]=(b[G+h>>0]|0)==0?0:C;u=h|1;if((u|0)<(f[(f[d>>2]|0)+12>>2]|0)){f[A+(u<<2)>>2]=(b[B+u>>0]|0)==0?0:C;n=t+(u<<2)|0;if(!(b[G+u>>0]|0)){f[n>>2]=0;break}else{f[n>>2]=C;break}}}else{f[F>>2]=0;f[t+(h<<2)>>2]=0;C=h|1;if((C|0)<(f[(f[d>>2]|0)+12>>2]|0)){f[A+(C<<2)>>2]=0;f[t+(C<<2)>>2]=0}}while(0);h=h+2|0;F=f[d>>2]|0;E=f[F+12>>2]|0}while((h|0)<(E|0));K=E;L=F}else{K=D;L=H}J=J+2|0;if((J|0)>=(c|0))break;else{H=L;D=K}}return}if(!j){if(!k)return;j=a+4|0;K=a+12|0;D=e;L=g;H=i;while(1){J=f[j>>2]|0;o=f[f[J+44>>2]>>2]|0;I=(f[J+16>>2]|0)+(X(o,D)|0)|0;J=I+o|0;o=f[f[L+44>>2]>>2]|0;h=(f[L+16>>2]|0)+(X(o,D)|0)|0;t=h+o|0;if((H|0)>0){o=D+1|0;A=0;do{G=h+(A<<2)|0;B=f[G>>2]|0;do if((B|0)>0){F=f[(f[K>>2]|0)+(B<<2)>>2]|0;f[G>>2]=(b[I+A>>0]|0)==0?0:F;E=A|1;f[h+(E<<2)>>2]=(b[I+E>>0]|0)==0?0:F;if((o|0)<(f[(f[d>>2]|0)+8>>2]|0)){f[t+(A<<2)>>2]=(b[J+A>>0]|0)==0?0:F;C=t+(E<<2)|0;if(!(b[J+E>>0]|0)){f[C>>2]=0;break}else{f[C>>2]=F;break}}}else{f[G>>2]=0;F=A|1;f[h+(F<<2)>>2]=0;if((o|0)<(f[(f[d>>2]|0)+8>>2]|0)){f[t+(A<<2)>>2]=0;f[t+(F<<2)>>2]=0}}while(0);A=A+2|0;G=f[d>>2]|0;B=f[G+12>>2]|0}while((A|0)<(B|0));M=B;N=G}else{M=H;N=L}D=D+2|0;if((D|0)>=(c|0))break;else{L=N;H=M}}return}if(!k)return;k=a+4|0;M=a+12|0;a=e;e=g;g=i;while(1){i=f[k>>2]|0;H=f[f[i+44>>2]>>2]|0;N=(f[i+16>>2]|0)+(X(H,a)|0)|0;i=N+H|0;H=f[f[e+44>>2]>>2]|0;L=(f[e+16>>2]|0)+(X(H,a)|0)|0;D=L+H|0;if((g|0)>0){H=a+1|0;K=0;do{j=L+(K<<2)|0;A=f[j>>2]|0;do if((A|0)>0){t=f[(f[M>>2]|0)+(A<<2)>>2]|0;f[j>>2]=(b[N+K>>0]|0)==0?0:t;o=K|1;h=f[d>>2]|0;if((o|0)<(f[h+12>>2]|0)){f[L+(o<<2)>>2]=(b[N+o>>0]|0)==0?0:t;if((H|0)>=(f[(f[d>>2]|0)+8>>2]|0))break;f[D+(K<<2)>>2]=(b[i+K>>0]|0)==0?0:t;J=D+(o<<2)|0;if(!(b[i+o>>0]|0)){f[J>>2]=0;break}else{f[J>>2]=t;break}}else{if((H|0)>=(f[h+8>>2]|0))break;h=D+(K<<2)|0;if(!(b[i+K>>0]|0)){f[h>>2]=0;break}else{f[h>>2]=t;break}}}else{f[j>>2]=0;t=K|1;h=f[d>>2]|0;if((t|0)<(f[h+12>>2]|0)){f[L+(t<<2)>>2]=0;if((H|0)>=(f[(f[d>>2]|0)+8>>2]|0))break;f[D+(K<<2)>>2]=0;f[D+(t<<2)>>2]=0;break}else{if((H|0)>=(f[h+8>>2]|0))break;f[D+(K<<2)>>2]=0;break}}while(0);K=K+2|0;j=f[d>>2]|0;A=f[j+12>>2]|0}while((K|0)<(A|0));O=A;P=j}else{O=g;P=e}a=a+2|0;if((a|0)>=(c|0))break;else{e=P;g=O}}return}}function iha(a){a=a|0;GQa(a);return}function jha(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0;d=f[c>>2]|0;e=((d|0)%2|0)+d|0;d=c+4|0;c=f[d>>2]|0;g=a+16|0;h=f[g>>2]|0;f[h+(e<<2)>>2]=((c|0)%2|0)+c;c=e+1|0;i=a+8|0;j=(X(((f[(f[i>>2]|0)+12>>2]|0)+1|0)/2|0,(c|0)/2|0)|0)+1|0;k=a+4|0;l=f[k>>2]|0;m=f[l+8>>2]|0;n=f[l+12>>2]|0;if((e|0)>=(f[d>>2]|0)){o=j;p=h;q=o-j|0;r=p+(c<<2)|0;f[r>>2]=q;return}h=(n|0)>0;l=a+12|0;a=e;s=j;while(1){t=f[k>>2]|0;u=f[f[t+44>>2]>>2]|0;v=(f[t+16>>2]|0)+(X(u,a)|0)|0;t=0-u|0;w=v+t|0;x=w+t|0;t=v+u|0;u=f[i>>2]|0;y=f[f[u+44>>2]>>2]|0;z=(f[u+16>>2]|0)+(X(y,a)|0)|0;u=0-y|0;y=z+u+u|0;if(h){u=(a+1|0)<(m|0);A=(a|0)>(e|0);B=(a|0)>(c|0);C=0;D=s;while(1){a:do if(!(b[v+C>>0]|0)){if(u?b[t+C>>0]|0:0){E=C|1;if((E|0)<(n|0)?b[v+E>>0]|0:0){F=C+-1|0;if((C|0)>0){if(b[v+F>>0]|0){do if(A){if(b[w+E>>0]|0){if(b[w+C>>0]|0){f[z+(C<<2)>>2]=f[z+(C+-2<<2)>>2];G=D;break a}do if(B){if(!(b[x+C>>0]|0))break;H=C+-2|0;if(b[w+F>>0]|0){f[z+(C<<2)>>2]=f[z+(H<<2)>>2];G=D;break a}do if((C|0)>1){if(!(b[w+H>>0]|0))break;if(b[x+F>>0]|0){f[z+(C<<2)>>2]=f[z+(H<<2)>>2];G=D;break a}I=f[l>>2]|0;J=f[y+(C<<2)>>2]|0;K=f[z+(H<<2)>>2]|0;L=J;while(1){M=f[I+(L<<2)>>2]|0;if((M|0)<(L|0))L=M;else break}if((J|0)==(K|0))N=L;else{M=K;while(1){O=f[I+(M<<2)>>2]|0;if((O|0)<(M|0))M=O;else break}O=(L|0)>(M|0)?M:L;P=K;do{Q=I+(P<<2)|0;R=P;P=f[Q>>2]|0;f[Q>>2]=O}while((P|0)<(R|0));N=O}O=J;do{P=I+(O<<2)|0;K=O;O=f[P>>2]|0;f[P>>2]=N}while((O|0)<(K|0));f[z+(C<<2)>>2]=N;G=D;break a}while(0);O=f[l>>2]|0;I=f[y+(C<<2)>>2]|0;J=f[z+(H<<2)>>2]|0;K=I;while(1){P=f[O+(K<<2)>>2]|0;if((P|0)<(K|0))K=P;else break}if((I|0)==(J|0))S=K;else{H=J;while(1){P=f[O+(H<<2)>>2]|0;if((P|0)<(H|0))H=P;else break}P=(K|0)>(H|0)?H:K;L=J;do{M=O+(L<<2)|0;R=L;L=f[M>>2]|0;f[M>>2]=P}while((L|0)<(R|0));S=P}P=I;do{L=O+(P<<2)|0;J=P;P=f[L>>2]|0;f[L>>2]=S}while((P|0)<(J|0));f[z+(C<<2)>>2]=S;G=D;break a}while(0);P=f[l>>2]|0;O=f[y+(C<<2)>>2]|0;I=f[z+(C+-2<<2)>>2]|0;J=O;while(1){L=f[P+(J<<2)>>2]|0;if((L|0)<(J|0))J=L;else break}if((O|0)==(I|0))T=J;else{L=I;while(1){K=f[P+(L<<2)>>2]|0;if((K|0)<(L|0))L=K;else break}K=(J|0)>(L|0)?L:J;H=I;do{R=P+(H<<2)|0;M=H;H=f[R>>2]|0;f[R>>2]=K}while((H|0)<(M|0));T=K}K=O;do{H=P+(K<<2)|0;I=K;K=f[H>>2]|0;f[H>>2]=T}while((K|0)<(I|0));f[z+(C<<2)>>2]=T;G=D;break a}K=C+2|0;if((K|0)>=(n|0))break;if(!(b[w+K>>0]|0))break;do if(B){if(!(b[x+E>>0]|0))break;if(b[w+C>>0]|0){f[z+(C<<2)>>2]=f[z+(C+-2<<2)>>2];G=D;break a}if(!(b[x+C>>0]|0)){P=f[l>>2]|0;O=f[y+(K<<2)>>2]|0;I=f[z+(C+-2<<2)>>2]|0;H=O;while(1){J=f[P+(H<<2)>>2]|0;if((J|0)<(H|0))H=J;else break}if((O|0)==(I|0))U=H;else{J=I;while(1){L=f[P+(J<<2)>>2]|0;if((L|0)<(J|0))J=L;else break}L=(H|0)>(J|0)?J:H;M=I;do{R=P+(M<<2)|0;Q=M;M=f[R>>2]|0;f[R>>2]=L}while((M|0)<(Q|0));U=L}L=O;do{M=P+(L<<2)|0;I=L;L=f[M>>2]|0;f[M>>2]=U}while((L|0)<(I|0));f[z+(C<<2)>>2]=U;G=D;break a}L=C+-2|0;if(b[w+F>>0]|0){f[z+(C<<2)>>2]=f[z+(L<<2)>>2];G=D;break a}do if((C|0)>1){if(!(b[w+L>>0]|0))break;if(b[x+F>>0]|0){f[z+(C<<2)>>2]=f[z+(L<<2)>>2];G=D;break a}P=f[l>>2]|0;O=f[y+(K<<2)>>2]|0;I=f[z+(L<<2)>>2]|0;M=O;while(1){H=f[P+(M<<2)>>2]|0;if((H|0)<(M|0))M=H;else break}if((O|0)==(I|0))V=M;else{H=I;while(1){J=f[P+(H<<2)>>2]|0;if((J|0)<(H|0))H=J;else break}J=(M|0)>(H|0)?H:M;Q=I;do{R=P+(Q<<2)|0;W=Q;Q=f[R>>2]|0;f[R>>2]=J}while((Q|0)<(W|0));V=J}J=O;do{Q=P+(J<<2)|0;I=J;J=f[Q>>2]|0;f[Q>>2]=V}while((J|0)<(I|0));f[z+(C<<2)>>2]=V;G=D;break a}while(0);J=f[l>>2]|0;P=f[y+(K<<2)>>2]|0;O=f[z+(L<<2)>>2]|0;I=P;while(1){Q=f[J+(I<<2)>>2]|0;if((Q|0)<(I|0))I=Q;else break}if((P|0)==(O|0))Y=I;else{L=O;while(1){Q=f[J+(L<<2)>>2]|0;if((Q|0)<(L|0))L=Q;else break}Q=(I|0)>(L|0)?L:I;M=O;do{H=J+(M<<2)|0;W=M;M=f[H>>2]|0;f[H>>2]=Q}while((M|0)<(W|0));Y=Q}Q=P;do{M=J+(Q<<2)|0;O=Q;Q=f[M>>2]|0;f[M>>2]=Y}while((Q|0)<(O|0));f[z+(C<<2)>>2]=Y;G=D;break a}while(0);Q=f[l>>2]|0;J=f[y+(K<<2)>>2]|0;P=f[z+(C+-2<<2)>>2]|0;O=J;while(1){M=f[Q+(O<<2)>>2]|0;if((M|0)<(O|0))O=M;else break}if((J|0)==(P|0))Z=O;else{K=P;while(1){M=f[Q+(K<<2)>>2]|0;if((M|0)<(K|0))K=M;else break}M=(O|0)>(K|0)?K:O;I=P;do{L=Q+(I<<2)|0;W=I;I=f[L>>2]|0;f[L>>2]=M}while((I|0)<(W|0));Z=M}M=J;do{I=Q+(M<<2)|0;P=M;M=f[I>>2]|0;f[I>>2]=Z}while((M|0)<(P|0));f[z+(C<<2)>>2]=Z;G=D;break a}while(0);f[z+(C<<2)>>2]=f[z+(C+-2<<2)>>2];G=D;break}if(b[t+F>>0]|0){do if(A){if(b[w+E>>0]|0){M=C+-2|0;do if((C|0)>1){if(!(b[v+M>>0]|0))break;if(b[w+F>>0]|0){if(b[w+C>>0]|0){f[z+(C<<2)>>2]=f[z+(M<<2)>>2];G=D;break a}do if(B){if(!(b[x+C>>0]|0))break;f[z+(C<<2)>>2]=f[z+(M<<2)>>2];G=D;break a}while(0);Q=f[l>>2]|0;J=f[y+(C<<2)>>2]|0;P=f[z+(M<<2)>>2]|0;I=J;while(1){O=f[Q+(I<<2)>>2]|0;if((O|0)<(I|0))I=O;else break}if((J|0)==(P|0))_=I;else{O=P;while(1){K=f[Q+(O<<2)>>2]|0;if((K|0)<(O|0))O=K;else break}K=(I|0)>(O|0)?O:I;W=P;do{L=Q+(W<<2)|0;H=W;W=f[L>>2]|0;f[L>>2]=K}while((W|0)<(H|0));_=K}K=J;do{W=Q+(K<<2)|0;P=K;K=f[W>>2]|0;f[W>>2]=_}while((K|0)<(P|0));f[z+(C<<2)>>2]=_;G=D;break a}if(!(b[w+M>>0]|0)){K=f[l>>2]|0;Q=f[y+(C<<2)>>2]|0;J=f[z+(M<<2)>>2]|0;P=Q;while(1){W=f[K+(P<<2)>>2]|0;if((W|0)<(P|0))P=W;else break}if((Q|0)==(J|0))$=P;else{W=J;while(1){I=f[K+(W<<2)>>2]|0;if((I|0)<(W|0))W=I;else break}I=(P|0)>(W|0)?W:P;O=J;do{H=K+(O<<2)|0;L=O;O=f[H>>2]|0;f[H>>2]=I}while((O|0)<(L|0));$=I}I=Q;do{O=K+(I<<2)|0;J=I;I=f[O>>2]|0;f[O>>2]=$}while((I|0)<(J|0));f[z+(C<<2)>>2]=$;G=D;break a}do if(B){if(!(b[x+F>>0]|0))break;if(b[w+C>>0]|0){f[z+(C<<2)>>2]=f[z+(M<<2)>>2];G=D;break a}if(b[x+C>>0]|0){f[z+(C<<2)>>2]=f[z+(M<<2)>>2];G=D;break a}I=f[l>>2]|0;K=f[y+(C<<2)>>2]|0;Q=f[z+(M<<2)>>2]|0;J=K;while(1){O=f[I+(J<<2)>>2]|0;if((O|0)<(J|0))J=O;else break}if((K|0)==(Q|0))aa=J;else{O=Q;while(1){P=f[I+(O<<2)>>2]|0;if((P|0)<(O|0))O=P;else break}P=(J|0)>(O|0)?O:J;W=Q;do{L=I+(W<<2)|0;H=W;W=f[L>>2]|0;f[L>>2]=P}while((W|0)<(H|0));aa=P}P=K;do{W=I+(P<<2)|0;Q=P;P=f[W>>2]|0;f[W>>2]=aa}while((P|0)<(Q|0));f[z+(C<<2)>>2]=aa;G=D;break a}while(0);P=f[l>>2]|0;I=f[y+(C<<2)>>2]|0;K=f[z+(M<<2)>>2]|0;Q=I;while(1){W=f[P+(Q<<2)>>2]|0;if((W|0)<(Q|0))Q=W;else break}if((I|0)==(K|0))ba=Q;else{W=K;while(1){J=f[P+(W<<2)>>2]|0;if((J|0)<(W|0))W=J;else break}J=(Q|0)>(W|0)?W:Q;O=K;do{H=P+(O<<2)|0;L=O;O=f[H>>2]|0;f[H>>2]=J}while((O|0)<(L|0));ba=J}J=I;do{O=P+(J<<2)|0;K=J;J=f[O>>2]|0;f[O>>2]=ba}while((J|0)<(K|0));f[z+(C<<2)>>2]=ba;G=D;break a}while(0);J=f[l>>2]|0;P=f[y+(C<<2)>>2]|0;I=f[z+(M<<2)>>2]|0;K=P;while(1){O=f[J+(K<<2)>>2]|0;if((O|0)<(K|0))K=O;else break}if((P|0)==(I|0))ca=K;else{M=I;while(1){O=f[J+(M<<2)>>2]|0;if((O|0)<(M|0))M=O;else break}O=(K|0)>(M|0)?M:K;Q=I;do{W=J+(Q<<2)|0;L=Q;Q=f[W>>2]|0;f[W>>2]=O}while((Q|0)<(L|0));ca=O}O=P;do{Q=J+(O<<2)|0;I=O;O=f[Q>>2]|0;f[Q>>2]=ca}while((O|0)<(I|0));f[z+(C<<2)>>2]=ca;G=D;break a}O=C+2|0;do if((O|0)<(n|0)){if(!(b[w+O>>0]|0))break;do if(B){if(!(b[x+E>>0]|0))break;J=C+-2|0;do if((C|0)>1){if(!(b[v+J>>0]|0))break;if(b[w+F>>0]|0){if(b[w+C>>0]|0){f[z+(C<<2)>>2]=f[z+(J<<2)>>2];G=D;break a}if(b[x+C>>0]|0){f[z+(C<<2)>>2]=f[z+(J<<2)>>2];G=D;break a}P=f[l>>2]|0;I=f[y+(O<<2)>>2]|0;Q=f[z+(J<<2)>>2]|0;K=I;while(1){M=f[P+(K<<2)>>2]|0;if((M|0)<(K|0))K=M;else break}if((I|0)==(Q|0))da=K;else{M=Q;while(1){L=f[P+(M<<2)>>2]|0;if((L|0)<(M|0))M=L;else break}L=(K|0)>(M|0)?M:K;W=Q;do{H=P+(W<<2)|0;R=W;W=f[H>>2]|0;f[H>>2]=L}while((W|0)<(R|0));da=L}L=I;do{W=P+(L<<2)|0;Q=L;L=f[W>>2]|0;f[W>>2]=da}while((L|0)<(Q|0));f[z+(C<<2)>>2]=da;G=D;break a}if(!(b[w+J>>0]|0)){L=f[l>>2]|0;P=f[y+(O<<2)>>2]|0;I=f[z+(J<<2)>>2]|0;Q=P;while(1){W=f[L+(Q<<2)>>2]|0;if((W|0)<(Q|0))Q=W;else break}if((P|0)==(I|0))ea=Q;else{W=I;while(1){K=f[L+(W<<2)>>2]|0;if((K|0)<(W|0))W=K;else break}K=(Q|0)>(W|0)?W:Q;M=I;do{R=L+(M<<2)|0;H=M;M=f[R>>2]|0;f[R>>2]=K}while((M|0)<(H|0));ea=K}K=P;do{M=L+(K<<2)|0;I=K;K=f[M>>2]|0;f[M>>2]=ea}while((K|0)<(I|0));f[z+(C<<2)>>2]=ea;G=D;break a}if(!(b[x+F>>0]|0)){K=f[l>>2]|0;L=f[y+(O<<2)>>2]|0;P=f[z+(J<<2)>>2]|0;I=L;while(1){M=f[K+(I<<2)>>2]|0;if((M|0)<(I|0))I=M;else break}if((L|0)==(P|0))fa=I;else{M=P;while(1){Q=f[K+(M<<2)>>2]|0;if((Q|0)<(M|0))M=Q;else break}Q=(I|0)>(M|0)?M:I;W=P;do{H=K+(W<<2)|0;R=W;W=f[H>>2]|0;f[H>>2]=Q}while((W|0)<(R|0));fa=Q}Q=L;do{W=K+(Q<<2)|0;P=Q;Q=f[W>>2]|0;f[W>>2]=fa}while((Q|0)<(P|0));f[z+(C<<2)>>2]=fa;G=D;break a}if(b[w+C>>0]|0){f[z+(C<<2)>>2]=f[z+(J<<2)>>2];G=D;break a}if(b[x+C>>0]|0){f[z+(C<<2)>>2]=f[z+(J<<2)>>2];G=D;break a}Q=f[l>>2]|0;K=f[y+(O<<2)>>2]|0;L=f[z+(J<<2)>>2]|0;P=K;while(1){W=f[Q+(P<<2)>>2]|0;if((W|0)<(P|0))P=W;else break}if((K|0)==(L|0))ga=P;else{W=L;while(1){I=f[Q+(W<<2)>>2]|0;if((I|0)<(W|0))W=I;else break}I=(P|0)>(W|0)?W:P;M=L;do{R=Q+(M<<2)|0;H=M;M=f[R>>2]|0;f[R>>2]=I}while((M|0)<(H|0));ga=I}I=K;do{M=Q+(I<<2)|0;L=I;I=f[M>>2]|0;f[M>>2]=ga}while((I|0)<(L|0));f[z+(C<<2)>>2]=ga;G=D;break a}while(0);I=f[l>>2]|0;Q=f[y+(O<<2)>>2]|0;K=f[z+(J<<2)>>2]|0;L=Q;while(1){M=f[I+(L<<2)>>2]|0;if((M|0)<(L|0))L=M;else break}if((Q|0)==(K|0))ha=L;else{J=K;while(1){M=f[I+(J<<2)>>2]|0;if((M|0)<(J|0))J=M;else break}M=(L|0)>(J|0)?J:L;P=K;do{W=I+(P<<2)|0;H=P;P=f[W>>2]|0;f[W>>2]=M}while((P|0)<(H|0));ha=M}M=Q;do{P=I+(M<<2)|0;K=M;M=f[P>>2]|0;f[P>>2]=ha}while((M|0)<(K|0));f[z+(C<<2)>>2]=ha;G=D;break a}while(0);if(!(b[w+C>>0]|0)){M=f[l>>2]|0;I=f[y+(O<<2)>>2]|0;Q=f[z+(C+-2<<2)>>2]|0;K=I;while(1){P=f[M+(K<<2)>>2]|0;if((P|0)<(K|0))K=P;else break}if((I|0)==(Q|0))ia=K;else{P=Q;while(1){L=f[M+(P<<2)>>2]|0;if((L|0)<(P|0))P=L;else break}L=(K|0)>(P|0)?P:K;J=Q;do{H=M+(J<<2)|0;W=J;J=f[H>>2]|0;f[H>>2]=L}while((J|0)<(W|0));ia=L}L=I;do{J=M+(L<<2)|0;Q=L;L=f[J>>2]|0;f[J>>2]=ia}while((L|0)<(Q|0));f[z+(C<<2)>>2]=ia;G=D;break a}L=C+-2|0;do if((C|0)>1){if(!(b[v+L>>0]|0))break;if(b[w+F>>0]|0){M=f[l>>2]|0;I=f[y+(O<<2)>>2]|0;Q=f[z+(L<<2)>>2]|0;J=I;while(1){K=f[M+(J<<2)>>2]|0;if((K|0)<(J|0))J=K;else break}if((I|0)==(Q|0))ja=J;else{K=Q;while(1){P=f[M+(K<<2)>>2]|0;if((P|0)<(K|0))K=P;else break}P=(J|0)>(K|0)?K:J;W=Q;do{H=M+(W<<2)|0;R=W;W=f[H>>2]|0;f[H>>2]=P}while((W|0)<(R|0));ja=P}P=I;do{W=M+(P<<2)|0;Q=P;P=f[W>>2]|0;f[W>>2]=ja}while((P|0)<(Q|0));f[z+(C<<2)>>2]=ja;G=D;break a}if(!(b[w+L>>0]|0)){P=f[l>>2]|0;M=f[y+(C<<2)>>2]|0;I=f[y+(O<<2)>>2]|0;Q=M;while(1){W=f[P+(Q<<2)>>2]|0;if((W|0)<(Q|0))Q=W;else break}if((M|0)==(I|0))ka=Q;else{W=I;while(1){J=f[P+(W<<2)>>2]|0;if((J|0)<(W|0))W=J;else break}J=(Q|0)>(W|0)?W:Q;K=I;do{R=P+(K<<2)|0;H=K;K=f[R>>2]|0;f[R>>2]=J}while((K|0)<(H|0));ka=J}J=M;do{K=P+(J<<2)|0;I=J;J=f[K>>2]|0;f[K>>2]=ka}while((J|0)<(I|0));J=f[z+(L<<2)>>2]|0;M=ka;while(1){I=f[P+(M<<2)>>2]|0;if((I|0)<(M|0))M=I;else break}if((ka|0)==(J|0))la=M;else{I=J;while(1){K=f[P+(I<<2)>>2]|0;if((K|0)<(I|0))I=K;else break}K=(M|0)>(I|0)?I:M;Q=J;do{W=P+(Q<<2)|0;H=Q;Q=f[W>>2]|0;f[W>>2]=K}while((Q|0)<(H|0));la=K}K=ka;do{Q=P+(K<<2)|0;J=K;K=f[Q>>2]|0;f[Q>>2]=la}while((K|0)<(J|0));f[z+(C<<2)>>2]=la;G=D;break a}do if(B){if(!(b[x+F>>0]|0))break;K=f[l>>2]|0;P=f[y+(O<<2)>>2]|0;J=f[z+(L<<2)>>2]|0;Q=P;while(1){M=f[K+(Q<<2)>>2]|0;if((M|0)<(Q|0))Q=M;else break}if((P|0)==(J|0))ma=Q;else{M=J;while(1){I=f[K+(M<<2)>>2]|0;if((I|0)<(M|0))M=I;else break}I=(Q|0)>(M|0)?M:Q;H=J;do{W=K+(H<<2)|0;R=H;H=f[W>>2]|0;f[W>>2]=I}while((H|0)<(R|0));ma=I}I=P;do{H=K+(I<<2)|0;J=I;I=f[H>>2]|0;f[H>>2]=ma}while((I|0)<(J|0));f[z+(C<<2)>>2]=ma;G=D;break a}while(0);I=f[l>>2]|0;K=f[y+(C<<2)>>2]|0;P=f[y+(O<<2)>>2]|0;J=K;while(1){H=f[I+(J<<2)>>2]|0;if((H|0)<(J|0))J=H;else break}if((K|0)==(P|0))na=J;else{H=P;while(1){Q=f[I+(H<<2)>>2]|0;if((Q|0)<(H|0))H=Q;else break}Q=(J|0)>(H|0)?H:J;M=P;do{R=I+(M<<2)|0;W=M;M=f[R>>2]|0;f[R>>2]=Q}while((M|0)<(W|0));na=Q}Q=K;do{M=I+(Q<<2)|0;P=Q;Q=f[M>>2]|0;f[M>>2]=na}while((Q|0)<(P|0));Q=f[z+(L<<2)>>2]|0;K=na;while(1){P=f[I+(K<<2)>>2]|0;if((P|0)<(K|0))K=P;else break}if((na|0)==(Q|0))oa=K;else{P=Q;while(1){M=f[I+(P<<2)>>2]|0;if((M|0)<(P|0))P=M;else break}M=(K|0)>(P|0)?P:K;J=Q;do{H=I+(J<<2)|0;W=J;J=f[H>>2]|0;f[H>>2]=M}while((J|0)<(W|0));oa=M}M=na;do{J=I+(M<<2)|0;Q=M;M=f[J>>2]|0;f[J>>2]=oa}while((M|0)<(Q|0));f[z+(C<<2)>>2]=oa;G=D;break a}while(0);M=f[l>>2]|0;I=f[y+(C<<2)>>2]|0;Q=f[y+(O<<2)>>2]|0;J=I;while(1){K=f[M+(J<<2)>>2]|0;if((K|0)<(J|0))J=K;else break}if((I|0)==(Q|0))pa=J;else{K=Q;while(1){P=f[M+(K<<2)>>2]|0;if((P|0)<(K|0))K=P;else break}P=(J|0)>(K|0)?K:J;W=Q;do{H=M+(W<<2)|0;R=W;W=f[H>>2]|0;f[H>>2]=P}while((W|0)<(R|0));pa=P}P=I;do{W=M+(P<<2)|0;Q=P;P=f[W>>2]|0;f[W>>2]=pa}while((P|0)<(Q|0));P=f[z+(L<<2)>>2]|0;I=pa;while(1){Q=f[M+(I<<2)>>2]|0;if((Q|0)<(I|0))I=Q;else break}if((pa|0)==(P|0))qa=I;else{L=P;while(1){Q=f[M+(L<<2)>>2]|0;if((Q|0)<(L|0))L=Q;else break}Q=(I|0)>(L|0)?L:I;W=P;do{J=M+(W<<2)|0;K=W;W=f[J>>2]|0;f[J>>2]=Q}while((W|0)<(K|0));qa=Q}Q=pa;do{W=M+(Q<<2)|0;P=Q;Q=f[W>>2]|0;f[W>>2]=qa}while((Q|0)<(P|0));f[z+(C<<2)>>2]=qa;G=D;break a}while(0);if(!(b[w+C>>0]|0))break;O=C+-2|0;do if((C|0)>1){if(!(b[v+O>>0]|0))break;if(b[w+F>>0]|0){f[z+(C<<2)>>2]=f[z+(O<<2)>>2];G=D;break a}if(!(b[w+O>>0]|0)){Q=f[l>>2]|0;M=f[y+(C<<2)>>2]|0;P=f[z+(O<<2)>>2]|0;W=M;while(1){I=f[Q+(W<<2)>>2]|0;if((I|0)<(W|0))W=I;else break}if((M|0)==(P|0))ra=W;else{I=P;while(1){L=f[Q+(I<<2)>>2]|0;if((L|0)<(I|0))I=L;else break}L=(W|0)>(I|0)?I:W;K=P;do{J=Q+(K<<2)|0;R=K;K=f[J>>2]|0;f[J>>2]=L}while((K|0)<(R|0));ra=L}L=M;do{K=Q+(L<<2)|0;P=L;L=f[K>>2]|0;f[K>>2]=ra}while((L|0)<(P|0));f[z+(C<<2)>>2]=ra;G=D;break a}do if(B){if(!(b[x+F>>0]|0))break;f[z+(C<<2)>>2]=f[z+(O<<2)>>2];G=D;break a}while(0);L=f[l>>2]|0;Q=f[y+(C<<2)>>2]|0;M=f[z+(O<<2)>>2]|0;P=Q;while(1){K=f[L+(P<<2)>>2]|0;if((K|0)<(P|0))P=K;else break}if((Q|0)==(M|0))sa=P;else{K=M;while(1){W=f[L+(K<<2)>>2]|0;if((W|0)<(K|0))K=W;else break}W=(P|0)>(K|0)?K:P;I=M;do{R=L+(I<<2)|0;J=I;I=f[R>>2]|0;f[R>>2]=W}while((I|0)<(J|0));sa=W}W=Q;do{I=L+(W<<2)|0;M=W;W=f[I>>2]|0;f[I>>2]=sa}while((W|0)<(M|0));f[z+(C<<2)>>2]=sa;G=D;break a}while(0);W=f[l>>2]|0;L=f[y+(C<<2)>>2]|0;Q=f[z+(O<<2)>>2]|0;M=L;while(1){I=f[W+(M<<2)>>2]|0;if((I|0)<(M|0))M=I;else break}if((L|0)==(Q|0))ta=M;else{O=Q;while(1){I=f[W+(O<<2)>>2]|0;if((I|0)<(O|0))O=I;else break}I=(M|0)>(O|0)?O:M;P=Q;do{K=W+(P<<2)|0;J=P;P=f[K>>2]|0;f[K>>2]=I}while((P|0)<(J|0));ta=I}I=L;do{P=W+(I<<2)|0;Q=I;I=f[P>>2]|0;f[P>>2]=ta}while((I|0)<(Q|0));f[z+(C<<2)>>2]=ta;G=D;break a}while(0);f[z+(C<<2)>>2]=f[z+(C+-2<<2)>>2];G=D;break}}if(A){if(b[w+E>>0]|0){f[z+(C<<2)>>2]=f[y+(C<<2)>>2];G=D;break}F=C+2|0;if((F|0)<(n|0)?b[w+F>>0]|0:0){if(!(b[w+C>>0]|0)){f[z+(C<<2)>>2]=f[y+(F<<2)>>2];G=D;break}do if(B){if(!(b[x+E>>0]|0))break;f[z+(C<<2)>>2]=f[y+(F<<2)>>2];G=D;break a}while(0);E=f[l>>2]|0;I=f[y+(C<<2)>>2]|0;W=f[y+(F<<2)>>2]|0;L=I;while(1){Q=f[E+(L<<2)>>2]|0;if((Q|0)<(L|0))L=Q;else break}if((I|0)==(W|0))ua=L;else{F=W;while(1){Q=f[E+(F<<2)>>2]|0;if((Q|0)<(F|0))F=Q;else break}Q=(L|0)>(F|0)?F:L;P=W;do{M=E+(P<<2)|0;O=P;P=f[M>>2]|0;f[M>>2]=Q}while((P|0)<(O|0));ua=Q}Q=I;do{P=E+(Q<<2)|0;W=Q;Q=f[P>>2]|0;f[P>>2]=ua}while((Q|0)<(W|0));f[z+(C<<2)>>2]=ua;G=D;break}if(b[w+C>>0]|0){f[z+(C<<2)>>2]=f[y+(C<<2)>>2];G=D;break}}f[z+(C<<2)>>2]=D;f[(f[l>>2]|0)+(D<<2)>>2]=D;G=D+1|0;break}Q=C+-1|0;if((C|0)>0){if(b[t+Q>>0]|0){f[z+(C<<2)>>2]=f[z+(C+-2<<2)>>2];G=D;break}if(b[v+Q>>0]|0){f[z+(C<<2)>>2]=f[z+(C+-2<<2)>>2];G=D;break}}f[z+(C<<2)>>2]=D;f[(f[l>>2]|0)+(D<<2)>>2]=D;G=D+1|0;break}Q=C|1;do if((Q|0)<(n|0)){if(!(b[v+Q>>0]|0)){if(!u)break;if(!(b[t+Q>>0]|0))break;f[z+(C<<2)>>2]=D;f[(f[l>>2]|0)+(D<<2)>>2]=D;G=D+1|0;break a}if(A){if(b[w+Q>>0]|0){f[z+(C<<2)>>2]=f[y+(C<<2)>>2];G=D;break a}E=C+2|0;if((E|0)<(n|0)?b[w+E>>0]|0:0){if(!(b[w+C>>0]|0)){f[z+(C<<2)>>2]=f[y+(E<<2)>>2];G=D;break a}do if(B){if(!(b[x+Q>>0]|0))break;f[z+(C<<2)>>2]=f[y+(E<<2)>>2];G=D;break a}while(0);I=f[l>>2]|0;W=f[y+(C<<2)>>2]|0;P=f[y+(E<<2)>>2]|0;L=W;while(1){F=f[I+(L<<2)>>2]|0;if((F|0)<(L|0))L=F;else break}if((W|0)==(P|0))va=L;else{E=P;while(1){F=f[I+(E<<2)>>2]|0;if((F|0)<(E|0))E=F;else break}F=(L|0)>(E|0)?E:L;O=P;do{M=I+(O<<2)|0;J=O;O=f[M>>2]|0;f[M>>2]=F}while((O|0)<(J|0));va=F}F=W;do{O=I+(F<<2)|0;P=F;F=f[O>>2]|0;f[O>>2]=va}while((F|0)<(P|0));f[z+(C<<2)>>2]=va;G=D;break a}if(b[w+C>>0]|0){f[z+(C<<2)>>2]=f[y+(C<<2)>>2];G=D;break a}}f[z+(C<<2)>>2]=D;f[(f[l>>2]|0)+(D<<2)>>2]=D;G=D+1|0;break a}while(0);f[z+(C<<2)>>2]=0;G=D}else{Q=C+-1|0;F=(C|0)>0;if(F){if(b[v+Q>>0]|0){I=C|1;W=(I|0)<(n|0);if(A&W?b[w+I>>0]|0:0){if(b[w+C>>0]|0){f[z+(C<<2)>>2]=f[z+(C+-2<<2)>>2];G=D;break}if(B?b[x+C>>0]|0:0){P=C+-2|0;if(b[w+Q>>0]|0){f[z+(C<<2)>>2]=f[z+(P<<2)>>2];G=D;break}do if((C|0)>1){if(!(b[w+P>>0]|0))break;if(b[x+Q>>0]|0){f[z+(C<<2)>>2]=f[z+(P<<2)>>2];G=D;break a}O=f[l>>2]|0;L=f[y+(C<<2)>>2]|0;E=f[z+(P<<2)>>2]|0;J=L;while(1){M=f[O+(J<<2)>>2]|0;if((M|0)<(J|0))J=M;else break}if((L|0)==(E|0))wa=J;else{M=E;while(1){K=f[O+(M<<2)>>2]|0;if((K|0)<(M|0))M=K;else break}K=(J|0)>(M|0)?M:J;R=E;do{H=O+(R<<2)|0;xa=R;R=f[H>>2]|0;f[H>>2]=K}while((R|0)<(xa|0));wa=K}K=L;do{R=O+(K<<2)|0;E=K;K=f[R>>2]|0;f[R>>2]=wa}while((K|0)<(E|0));f[z+(C<<2)>>2]=wa;G=D;break a}while(0);K=f[l>>2]|0;O=f[y+(C<<2)>>2]|0;L=f[z+(P<<2)>>2]|0;E=O;while(1){R=f[K+(E<<2)>>2]|0;if((R|0)<(E|0))E=R;else break}if((O|0)==(L|0))ya=E;else{P=L;while(1){R=f[K+(P<<2)>>2]|0;if((R|0)<(P|0))P=R;else break}R=(E|0)>(P|0)?P:E;J=L;do{M=K+(J<<2)|0;xa=J;J=f[M>>2]|0;f[M>>2]=R}while((J|0)<(xa|0));ya=R}R=O;do{J=K+(R<<2)|0;L=R;R=f[J>>2]|0;f[J>>2]=ya}while((R|0)<(L|0));f[z+(C<<2)>>2]=ya;G=D;break}R=f[l>>2]|0;K=f[y+(C<<2)>>2]|0;O=f[z+(C+-2<<2)>>2]|0;L=K;while(1){J=f[R+(L<<2)>>2]|0;if((J|0)<(L|0))L=J;else break}if((K|0)==(O|0))za=L;else{J=O;while(1){E=f[R+(J<<2)>>2]|0;if((E|0)<(J|0))J=E;else break}E=(L|0)>(J|0)?J:L;P=O;do{xa=R+(P<<2)|0;M=P;P=f[xa>>2]|0;f[xa>>2]=E}while((P|0)<(M|0));za=E}E=K;do{P=R+(E<<2)|0;O=E;E=f[P>>2]|0;f[P>>2]=za}while((E|0)<(O|0));f[z+(C<<2)>>2]=za;G=D;break}if(W?b[v+I>>0]|0:0){E=C+2|0;if(A&(E|0)<(n|0)?b[w+E>>0]|0:0){do if(B){if(!(b[x+I>>0]|0))break;if(b[w+C>>0]|0){f[z+(C<<2)>>2]=f[z+(C+-2<<2)>>2];G=D;break a}if(!(b[x+C>>0]|0)){R=f[l>>2]|0;K=f[y+(E<<2)>>2]|0;O=f[z+(C+-2<<2)>>2]|0;P=K;while(1){L=f[R+(P<<2)>>2]|0;if((L|0)<(P|0))P=L;else break}if((K|0)==(O|0))Aa=P;else{L=O;while(1){J=f[R+(L<<2)>>2]|0;if((J|0)<(L|0))L=J;else break}J=(P|0)>(L|0)?L:P;M=O;do{xa=R+(M<<2)|0;H=M;M=f[xa>>2]|0;f[xa>>2]=J}while((M|0)<(H|0));Aa=J}J=K;do{M=R+(J<<2)|0;O=J;J=f[M>>2]|0;f[M>>2]=Aa}while((J|0)<(O|0));f[z+(C<<2)>>2]=Aa;G=D;break a}J=C+-2|0;if(b[w+Q>>0]|0){f[z+(C<<2)>>2]=f[z+(J<<2)>>2];G=D;break a}do if((C|0)>1){if(!(b[w+J>>0]|0))break;if(b[x+Q>>0]|0){f[z+(C<<2)>>2]=f[z+(J<<2)>>2];G=D;break a}R=f[l>>2]|0;K=f[y+(E<<2)>>2]|0;O=f[z+(J<<2)>>2]|0;M=K;while(1){P=f[R+(M<<2)>>2]|0;if((P|0)<(M|0))M=P;else break}if((K|0)==(O|0))Ba=M;else{P=O;while(1){L=f[R+(P<<2)>>2]|0;if((L|0)<(P|0))P=L;else break}L=(M|0)>(P|0)?P:M;H=O;do{xa=R+(H<<2)|0;Ca=H;H=f[xa>>2]|0;f[xa>>2]=L}while((H|0)<(Ca|0));Ba=L}L=K;do{H=R+(L<<2)|0;O=L;L=f[H>>2]|0;f[H>>2]=Ba}while((L|0)<(O|0));f[z+(C<<2)>>2]=Ba;G=D;break a}while(0);L=f[l>>2]|0;R=f[y+(E<<2)>>2]|0;K=f[z+(J<<2)>>2]|0;O=R;while(1){H=f[L+(O<<2)>>2]|0;if((H|0)<(O|0))O=H;else break}if((R|0)==(K|0))Da=O;else{J=K;while(1){H=f[L+(J<<2)>>2]|0;if((H|0)<(J|0))J=H;else break}H=(O|0)>(J|0)?J:O;M=K;do{P=L+(M<<2)|0;Ca=M;M=f[P>>2]|0;f[P>>2]=H}while((M|0)<(Ca|0));Da=H}H=R;do{M=L+(H<<2)|0;K=H;H=f[M>>2]|0;f[M>>2]=Da}while((H|0)<(K|0));f[z+(C<<2)>>2]=Da;G=D;break a}while(0);I=f[l>>2]|0;W=f[y+(E<<2)>>2]|0;H=f[z+(C+-2<<2)>>2]|0;L=W;while(1){R=f[I+(L<<2)>>2]|0;if((R|0)<(L|0))L=R;else break}if((W|0)==(H|0))Ea=L;else{E=H;while(1){R=f[I+(E<<2)>>2]|0;if((R|0)<(E|0))E=R;else break}R=(L|0)>(E|0)?E:L;K=H;do{M=I+(K<<2)|0;O=K;K=f[M>>2]|0;f[M>>2]=R}while((K|0)<(O|0));Ea=R}R=W;do{K=I+(R<<2)|0;H=R;R=f[K>>2]|0;f[K>>2]=Ea}while((R|0)<(H|0));f[z+(C<<2)>>2]=Ea;G=D;break}f[z+(C<<2)>>2]=f[z+(C+-2<<2)>>2];G=D;break}f[z+(C<<2)>>2]=f[z+(C+-2<<2)>>2];G=D;break}if(u?b[t+Q>>0]|0:0){R=C|1;I=(R|0)<(n|0);if(A&I?b[w+R>>0]|0:0){W=C+-2|0;if((C|0)>1?b[v+W>>0]|0:0){if(b[w+Q>>0]|0){if(b[w+C>>0]|0){f[z+(C<<2)>>2]=f[z+(W<<2)>>2];G=D;break}do if(B){if(!(b[x+C>>0]|0))break;f[z+(C<<2)>>2]=f[z+(W<<2)>>2];G=D;break a}while(0);H=f[l>>2]|0;K=f[y+(C<<2)>>2]|0;L=f[z+(W<<2)>>2]|0;E=K;while(1){O=f[H+(E<<2)>>2]|0;if((O|0)<(E|0))E=O;else break}if((K|0)==(L|0))Fa=E;else{O=L;while(1){M=f[H+(O<<2)>>2]|0;if((M|0)<(O|0))O=M;else break}M=(E|0)>(O|0)?O:E;J=L;do{Ca=H+(J<<2)|0;P=J;J=f[Ca>>2]|0;f[Ca>>2]=M}while((J|0)<(P|0));Fa=M}M=K;do{J=H+(M<<2)|0;L=M;M=f[J>>2]|0;f[J>>2]=Fa}while((M|0)<(L|0));f[z+(C<<2)>>2]=Fa;G=D;break}if(!(b[w+W>>0]|0)){M=f[l>>2]|0;H=f[y+(C<<2)>>2]|0;K=f[z+(W<<2)>>2]|0;L=H;while(1){J=f[M+(L<<2)>>2]|0;if((J|0)<(L|0))L=J;else break}if((H|0)==(K|0))Ga=L;else{J=K;while(1){E=f[M+(J<<2)>>2]|0;if((E|0)<(J|0))J=E;else break}E=(L|0)>(J|0)?J:L;O=K;do{P=M+(O<<2)|0;Ca=O;O=f[P>>2]|0;f[P>>2]=E}while((O|0)<(Ca|0));Ga=E}E=H;do{O=M+(E<<2)|0;K=E;E=f[O>>2]|0;f[O>>2]=Ga}while((E|0)<(K|0));f[z+(C<<2)>>2]=Ga;G=D;break}do if(B){if(!(b[x+Q>>0]|0))break;if(b[w+C>>0]|0){f[z+(C<<2)>>2]=f[z+(W<<2)>>2];G=D;break a}if(b[x+C>>0]|0){f[z+(C<<2)>>2]=f[z+(W<<2)>>2];G=D;break a}E=f[l>>2]|0;M=f[y+(C<<2)>>2]|0;H=f[z+(W<<2)>>2]|0;K=M;while(1){O=f[E+(K<<2)>>2]|0;if((O|0)<(K|0))K=O;else break}if((M|0)==(H|0))Ha=K;else{O=H;while(1){L=f[E+(O<<2)>>2]|0;if((L|0)<(O|0))O=L;else break}L=(K|0)>(O|0)?O:K;J=H;do{Ca=E+(J<<2)|0;P=J;J=f[Ca>>2]|0;f[Ca>>2]=L}while((J|0)<(P|0));Ha=L}L=M;do{J=E+(L<<2)|0;H=L;L=f[J>>2]|0;f[J>>2]=Ha}while((L|0)<(H|0));f[z+(C<<2)>>2]=Ha;G=D;break a}while(0);L=f[l>>2]|0;E=f[y+(C<<2)>>2]|0;M=f[z+(W<<2)>>2]|0;H=E;while(1){J=f[L+(H<<2)>>2]|0;if((J|0)<(H|0))H=J;else break}if((E|0)==(M|0))Ia=H;else{J=M;while(1){K=f[L+(J<<2)>>2]|0;if((K|0)<(J|0))J=K;else break}K=(H|0)>(J|0)?J:H;O=M;do{P=L+(O<<2)|0;Ca=O;O=f[P>>2]|0;f[P>>2]=K}while((O|0)<(Ca|0));Ia=K}K=E;do{O=L+(K<<2)|0;M=K;K=f[O>>2]|0;f[O>>2]=Ia}while((K|0)<(M|0));f[z+(C<<2)>>2]=Ia;G=D;break}if(b[w+C>>0]|0){K=f[l>>2]|0;L=f[y+(C<<2)>>2]|0;E=f[z+(W<<2)>>2]|0;M=L;while(1){O=f[K+(M<<2)>>2]|0;if((O|0)<(M|0))M=O;else break}if((L|0)==(E|0))Ja=M;else{O=E;while(1){H=f[K+(O<<2)>>2]|0;if((H|0)<(O|0))O=H;else break}H=(M|0)>(O|0)?O:M;J=E;do{Ca=K+(J<<2)|0;P=J;J=f[Ca>>2]|0;f[Ca>>2]=H}while((J|0)<(P|0));Ja=H}H=L;do{J=K+(H<<2)|0;E=H;H=f[J>>2]|0;f[J>>2]=Ja}while((H|0)<(E|0));f[z+(C<<2)>>2]=Ja;G=D;break}if(!(b[w+Q>>0]|0)){H=f[l>>2]|0;K=f[y+(C<<2)>>2]|0;L=f[z+(W<<2)>>2]|0;E=K;while(1){J=f[H+(E<<2)>>2]|0;if((J|0)<(E|0))E=J;else break}if((K|0)==(L|0))Ka=E;else{J=L;while(1){M=f[H+(J<<2)>>2]|0;if((M|0)<(J|0))J=M;else break}M=(E|0)>(J|0)?J:E;O=L;do{P=H+(O<<2)|0;Ca=O;O=f[P>>2]|0;f[P>>2]=M}while((O|0)<(Ca|0));Ka=M}M=K;do{O=H+(M<<2)|0;L=M;M=f[O>>2]|0;f[O>>2]=Ka}while((M|0)<(L|0));f[z+(C<<2)>>2]=Ka;G=D;break}do if(B){if(!(b[x+C>>0]|0))break;M=f[l>>2]|0;H=f[y+(C<<2)>>2]|0;K=f[z+(W<<2)>>2]|0;L=H;while(1){O=f[M+(L<<2)>>2]|0;if((O|0)<(L|0))L=O;else break}if((H|0)==(K|0))La=L;else{O=K;while(1){E=f[M+(O<<2)>>2]|0;if((E|0)<(O|0))O=E;else break}E=(L|0)>(O|0)?O:L;J=K;do{Ca=M+(J<<2)|0;P=J;J=f[Ca>>2]|0;f[Ca>>2]=E}while((J|0)<(P|0));La=E}E=H;do{J=M+(E<<2)|0;K=E;E=f[J>>2]|0;f[J>>2]=La}while((E|0)<(K|0));f[z+(C<<2)>>2]=La;G=D;break a}while(0);E=f[l>>2]|0;M=f[y+(W<<2)>>2]|0;H=f[y+(C<<2)>>2]|0;K=M;while(1){J=f[E+(K<<2)>>2]|0;if((J|0)<(K|0))K=J;else break}if((M|0)==(H|0))Ma=K;else{J=H;while(1){L=f[E+(J<<2)>>2]|0;if((L|0)<(J|0))J=L;else break}L=(K|0)>(J|0)?J:K;O=H;do{P=E+(O<<2)|0;Ca=O;O=f[P>>2]|0;f[P>>2]=L}while((O|0)<(Ca|0));Ma=L}L=M;do{O=E+(L<<2)|0;H=L;L=f[O>>2]|0;f[O>>2]=Ma}while((L|0)<(H|0));L=f[z+(W<<2)>>2]|0;M=Ma;while(1){H=f[E+(M<<2)>>2]|0;if((H|0)<(M|0))M=H;else break}if((Ma|0)==(L|0))Na=M;else{W=L;while(1){H=f[E+(W<<2)>>2]|0;if((H|0)<(W|0))W=H;else break}H=(M|0)>(W|0)?W:M;O=L;do{K=E+(O<<2)|0;J=O;O=f[K>>2]|0;f[K>>2]=H}while((O|0)<(J|0));Na=H}H=Ma;do{O=E+(H<<2)|0;L=H;H=f[O>>2]|0;f[O>>2]=Na}while((H|0)<(L|0));f[z+(C<<2)>>2]=Na;G=D;break}if(I?b[v+R>>0]|0:0){H=C+2|0;if(A&(H|0)<(n|0)?b[w+H>>0]|0:0){E=C+-2|0;do if((C|0)>1){if(!(b[v+E>>0]|0))break;if(b[w+Q>>0]|0){do if(B){if(!(b[x+R>>0]|0))break;if(b[w+C>>0]|0){f[z+(C<<2)>>2]=f[z+(E<<2)>>2];G=D;break a}if(b[x+C>>0]|0){f[z+(C<<2)>>2]=f[z+(E<<2)>>2];G=D;break a}L=f[l>>2]|0;O=f[y+(H<<2)>>2]|0;M=f[z+(E<<2)>>2]|0;W=O;while(1){J=f[L+(W<<2)>>2]|0;if((J|0)<(W|0))W=J;else break}if((O|0)==(M|0))Oa=W;else{J=M;while(1){K=f[L+(J<<2)>>2]|0;if((K|0)<(J|0))J=K;else break}K=(W|0)>(J|0)?J:W;Ca=M;do{P=L+(Ca<<2)|0;xa=Ca;Ca=f[P>>2]|0;f[P>>2]=K}while((Ca|0)<(xa|0));Oa=K}K=O;do{Ca=L+(K<<2)|0;M=K;K=f[Ca>>2]|0;f[Ca>>2]=Oa}while((K|0)<(M|0));f[z+(C<<2)>>2]=Oa;G=D;break a}while(0);K=f[l>>2]|0;L=f[y+(H<<2)>>2]|0;O=f[z+(E<<2)>>2]|0;M=L;while(1){Ca=f[K+(M<<2)>>2]|0;if((Ca|0)<(M|0))M=Ca;else break}if((L|0)==(O|0))Pa=M;else{Ca=O;while(1){W=f[K+(Ca<<2)>>2]|0;if((W|0)<(Ca|0))Ca=W;else break}W=(M|0)>(Ca|0)?Ca:M;J=O;do{xa=K+(J<<2)|0;P=J;J=f[xa>>2]|0;f[xa>>2]=W}while((J|0)<(P|0));Pa=W}W=L;do{J=K+(W<<2)|0;O=W;W=f[J>>2]|0;f[J>>2]=Pa}while((W|0)<(O|0));f[z+(C<<2)>>2]=Pa;G=D;break a}do if(B){if(!(b[x+R>>0]|0))break;if(!(b[w+E>>0]|0)){W=f[l>>2]|0;K=f[y+(H<<2)>>2]|0;L=f[z+(E<<2)>>2]|0;O=K;while(1){J=f[W+(O<<2)>>2]|0;if((J|0)<(O|0))O=J;else break}if((K|0)==(L|0))Qa=O;else{J=L;while(1){M=f[W+(J<<2)>>2]|0;if((M|0)<(J|0))J=M;else break}M=(O|0)>(J|0)?J:O;Ca=L;do{P=W+(Ca<<2)|0;xa=Ca;Ca=f[P>>2]|0;f[P>>2]=M}while((Ca|0)<(xa|0));Qa=M}M=K;do{Ca=W+(M<<2)|0;L=M;M=f[Ca>>2]|0;f[Ca>>2]=Qa}while((M|0)<(L|0));f[z+(C<<2)>>2]=Qa;G=D;break a}if(!(b[x+Q>>0]|0)){M=f[l>>2]|0;W=f[y+(H<<2)>>2]|0;K=f[z+(E<<2)>>2]|0;L=W;while(1){Ca=f[M+(L<<2)>>2]|0;if((Ca|0)<(L|0))L=Ca;else break}if((W|0)==(K|0))Ra=L;else{Ca=K;while(1){O=f[M+(Ca<<2)>>2]|0;if((O|0)<(Ca|0))Ca=O;else break}O=(L|0)>(Ca|0)?Ca:L;J=K;do{xa=M+(J<<2)|0;P=J;J=f[xa>>2]|0;f[xa>>2]=O}while((J|0)<(P|0));Ra=O}O=W;do{J=M+(O<<2)|0;K=O;O=f[J>>2]|0;f[J>>2]=Ra}while((O|0)<(K|0));f[z+(C<<2)>>2]=Ra;G=D;break a}if(b[w+C>>0]|0){f[z+(C<<2)>>2]=f[z+(E<<2)>>2];G=D;break a}if(b[x+C>>0]|0){f[z+(C<<2)>>2]=f[z+(E<<2)>>2];G=D;break a}O=f[l>>2]|0;M=f[y+(H<<2)>>2]|0;W=f[z+(E<<2)>>2]|0;K=M;while(1){J=f[O+(K<<2)>>2]|0;if((J|0)<(K|0))K=J;else break}if((M|0)==(W|0))Sa=K;else{J=W;while(1){L=f[O+(J<<2)>>2]|0;if((L|0)<(J|0))J=L;else break}L=(K|0)>(J|0)?J:K;Ca=W;do{P=O+(Ca<<2)|0;xa=Ca;Ca=f[P>>2]|0;f[P>>2]=L}while((Ca|0)<(xa|0));Sa=L}L=M;do{Ca=O+(L<<2)|0;W=L;L=f[Ca>>2]|0;f[Ca>>2]=Sa}while((L|0)<(W|0));f[z+(C<<2)>>2]=Sa;G=D;break a}while(0);if(!(b[w+C>>0]|0)){L=f[l>>2]|0;O=f[y+(H<<2)>>2]|0;M=f[z+(E<<2)>>2]|0;W=O;while(1){Ca=f[L+(W<<2)>>2]|0;if((Ca|0)<(W|0))W=Ca;else break}if((O|0)==(M|0))Ta=W;else{Ca=M;while(1){K=f[L+(Ca<<2)>>2]|0;if((K|0)<(Ca|0))Ca=K;else break}K=(W|0)>(Ca|0)?Ca:W;J=M;do{xa=L+(J<<2)|0;P=J;J=f[xa>>2]|0;f[xa>>2]=K}while((J|0)<(P|0));Ta=K}K=O;do{J=L+(K<<2)|0;M=K;K=f[J>>2]|0;f[J>>2]=Ta}while((K|0)<(M|0));f[z+(C<<2)>>2]=Ta;G=D;break a}if(!(b[w+E>>0]|0)){K=f[l>>2]|0;L=f[y+(C<<2)>>2]|0;O=f[y+(H<<2)>>2]|0;M=L;while(1){J=f[K+(M<<2)>>2]|0;if((J|0)<(M|0))M=J;else break}if((L|0)==(O|0))Ua=M;else{J=O;while(1){W=f[K+(J<<2)>>2]|0;if((W|0)<(J|0))J=W;else break}W=(M|0)>(J|0)?J:M;Ca=O;do{P=K+(Ca<<2)|0;xa=Ca;Ca=f[P>>2]|0;f[P>>2]=W}while((Ca|0)<(xa|0));Ua=W}W=L;do{Ca=K+(W<<2)|0;O=W;W=f[Ca>>2]|0;f[Ca>>2]=Ua}while((W|0)<(O|0));W=f[z+(E<<2)>>2]|0;L=Ua;while(1){O=f[K+(L<<2)>>2]|0;if((O|0)<(L|0))L=O;else break}if((Ua|0)==(W|0))Va=L;else{O=W;while(1){Ca=f[K+(O<<2)>>2]|0;if((Ca|0)<(O|0))O=Ca;else break}Ca=(L|0)>(O|0)?O:L;M=W;do{J=K+(M<<2)|0;xa=M;M=f[J>>2]|0;f[J>>2]=Ca}while((M|0)<(xa|0));Va=Ca}Ca=Ua;do{M=K+(Ca<<2)|0;W=Ca;Ca=f[M>>2]|0;f[M>>2]=Va}while((Ca|0)<(W|0));f[z+(C<<2)>>2]=Va;G=D;break a}do if(B){if(!(b[x+Q>>0]|0))break;Ca=f[l>>2]|0;K=f[y+(H<<2)>>2]|0;W=f[z+(E<<2)>>2]|0;M=K;while(1){L=f[Ca+(M<<2)>>2]|0;if((L|0)<(M|0))M=L;else break}if((K|0)==(W|0))Wa=M;else{L=W;while(1){O=f[Ca+(L<<2)>>2]|0;if((O|0)<(L|0))L=O;else break}O=(M|0)>(L|0)?L:M;xa=W;do{J=Ca+(xa<<2)|0;P=xa;xa=f[J>>2]|0;f[J>>2]=O}while((xa|0)<(P|0));Wa=O}O=K;do{xa=Ca+(O<<2)|0;W=O;O=f[xa>>2]|0;f[xa>>2]=Wa}while((O|0)<(W|0));f[z+(C<<2)>>2]=Wa;G=D;break a}while(0);O=f[l>>2]|0;Ca=f[y+(C<<2)>>2]|0;K=f[y+(H<<2)>>2]|0;W=Ca;while(1){xa=f[O+(W<<2)>>2]|0;if((xa|0)<(W|0))W=xa;else break}if((Ca|0)==(K|0))Xa=W;else{xa=K;while(1){M=f[O+(xa<<2)>>2]|0;if((M|0)<(xa|0))xa=M;else break}M=(W|0)>(xa|0)?xa:W;L=K;do{P=O+(L<<2)|0;J=L;L=f[P>>2]|0;f[P>>2]=M}while((L|0)<(J|0));Xa=M}M=Ca;do{L=O+(M<<2)|0;K=M;M=f[L>>2]|0;f[L>>2]=Xa}while((M|0)<(K|0));M=f[z+(E<<2)>>2]|0;Ca=Xa;while(1){K=f[O+(Ca<<2)>>2]|0;if((K|0)<(Ca|0))Ca=K;else break}if((Xa|0)==(M|0))Ya=Ca;else{K=M;while(1){L=f[O+(K<<2)>>2]|0;if((L|0)<(K|0))K=L;else break}L=(Ca|0)>(K|0)?K:Ca;W=M;do{xa=O+(W<<2)|0;J=W;W=f[xa>>2]|0;f[xa>>2]=L}while((W|0)<(J|0));Ya=L}L=Xa;do{W=O+(L<<2)|0;M=L;L=f[W>>2]|0;f[W>>2]=Ya}while((L|0)<(M|0));f[z+(C<<2)>>2]=Ya;G=D;break a}while(0);if(b[w+C>>0]|0){do if(B){if(!(b[x+R>>0]|0))break;I=f[l>>2]|0;L=f[y+(H<<2)>>2]|0;O=f[z+(E<<2)>>2]|0;M=L;while(1){W=f[I+(M<<2)>>2]|0;if((W|0)<(M|0))M=W;else break}if((L|0)==(O|0))Za=M;else{W=O;while(1){Ca=f[I+(W<<2)>>2]|0;if((Ca|0)<(W|0))W=Ca;else break}Ca=(M|0)>(W|0)?W:M;K=O;do{J=I+(K<<2)|0;xa=K;K=f[J>>2]|0;f[J>>2]=Ca}while((K|0)<(xa|0));Za=Ca}Ca=L;do{K=I+(Ca<<2)|0;O=Ca;Ca=f[K>>2]|0;f[K>>2]=Za}while((Ca|0)<(O|0));f[z+(C<<2)>>2]=Za;G=D;break a}while(0);Ca=f[l>>2]|0;I=f[y+(C<<2)>>2]|0;L=f[y+(H<<2)>>2]|0;O=I;while(1){K=f[Ca+(O<<2)>>2]|0;if((K|0)<(O|0))O=K;else break}if((I|0)==(L|0))_a=O;else{K=L;while(1){M=f[Ca+(K<<2)>>2]|0;if((M|0)<(K|0))K=M;else break}M=(O|0)>(K|0)?K:O;W=L;do{xa=Ca+(W<<2)|0;J=W;W=f[xa>>2]|0;f[xa>>2]=M}while((W|0)<(J|0));_a=M}M=I;do{W=Ca+(M<<2)|0;L=M;M=f[W>>2]|0;f[W>>2]=_a}while((M|0)<(L|0));M=f[z+(E<<2)>>2]|0;I=_a;while(1){L=f[Ca+(I<<2)>>2]|0;if((L|0)<(I|0))I=L;else break}if((_a|0)==(M|0))$a=I;else{L=M;while(1){W=f[Ca+(L<<2)>>2]|0;if((W|0)<(L|0))L=W;else break}W=(I|0)>(L|0)?L:I;O=M;do{K=Ca+(O<<2)|0;J=O;O=f[K>>2]|0;f[K>>2]=W}while((O|0)<(J|0));$a=W}W=_a;do{O=Ca+(W<<2)|0;M=W;W=f[O>>2]|0;f[O>>2]=$a}while((W|0)<(M|0));f[z+(C<<2)>>2]=$a;G=D;break}if(!(b[w+Q>>0]|0)){W=f[l>>2]|0;Ca=f[y+(H<<2)>>2]|0;M=f[z+(E<<2)>>2]|0;O=Ca;while(1){I=f[W+(O<<2)>>2]|0;if((I|0)<(O|0))O=I;else break}if((Ca|0)==(M|0))ab=O;else{I=M;while(1){L=f[W+(I<<2)>>2]|0;if((L|0)<(I|0))I=L;else break}L=(O|0)>(I|0)?I:O;J=M;do{K=W+(J<<2)|0;xa=J;J=f[K>>2]|0;f[K>>2]=L}while((J|0)<(xa|0));ab=L}L=Ca;do{J=W+(L<<2)|0;M=L;L=f[J>>2]|0;f[J>>2]=ab}while((L|0)<(M|0));f[z+(C<<2)>>2]=ab;G=D;break}do if(B){if(!(b[x+R>>0]|0))break;L=f[l>>2]|0;if(b[x+C>>0]|0){W=f[y+(H<<2)>>2]|0;Ca=f[z+(E<<2)>>2]|0;M=W;while(1){J=f[L+(M<<2)>>2]|0;if((J|0)<(M|0))M=J;else break}if((W|0)==(Ca|0))bb=M;else{J=Ca;while(1){O=f[L+(J<<2)>>2]|0;if((O|0)<(J|0))J=O;else break}O=(M|0)>(J|0)?J:M;I=Ca;do{xa=L+(I<<2)|0;K=I;I=f[xa>>2]|0;f[xa>>2]=O}while((I|0)<(K|0));bb=O}O=W;do{I=L+(O<<2)|0;Ca=O;O=f[I>>2]|0;f[I>>2]=bb}while((O|0)<(Ca|0));f[z+(C<<2)>>2]=bb;G=D;break a}O=f[y+(E<<2)>>2]|0;W=f[y+(H<<2)>>2]|0;Ca=O;while(1){I=f[L+(Ca<<2)>>2]|0;if((I|0)<(Ca|0))Ca=I;else break}if((O|0)==(W|0))cb=Ca;else{I=W;while(1){M=f[L+(I<<2)>>2]|0;if((M|0)<(I|0))I=M;else break}M=(Ca|0)>(I|0)?I:Ca;J=W;do{K=L+(J<<2)|0;xa=J;J=f[K>>2]|0;f[K>>2]=M}while((J|0)<(xa|0));cb=M}M=O;do{J=L+(M<<2)|0;W=M;M=f[J>>2]|0;f[J>>2]=cb}while((M|0)<(W|0));M=f[z+(E<<2)>>2]|0;O=cb;while(1){W=f[L+(O<<2)>>2]|0;if((W|0)<(O|0))O=W;else break}if((cb|0)==(M|0))db=O;else{W=M;while(1){J=f[L+(W<<2)>>2]|0;if((J|0)<(W|0))W=J;else break}J=(O|0)>(W|0)?W:O;Ca=M;do{I=L+(Ca<<2)|0;xa=Ca;Ca=f[I>>2]|0;f[I>>2]=J}while((Ca|0)<(xa|0));db=J}J=cb;do{Ca=L+(J<<2)|0;M=J;J=f[Ca>>2]|0;f[Ca>>2]=db}while((J|0)<(M|0));f[z+(C<<2)>>2]=db;G=D;break a}while(0);R=f[l>>2]|0;J=f[y+(E<<2)>>2]|0;L=f[y+(H<<2)>>2]|0;M=J;while(1){Ca=f[R+(M<<2)>>2]|0;if((Ca|0)<(M|0))M=Ca;else break}if((J|0)==(L|0))eb=M;else{H=L;while(1){Ca=f[R+(H<<2)>>2]|0;if((Ca|0)<(H|0))H=Ca;else break}Ca=(M|0)>(H|0)?H:M;O=L;do{W=R+(O<<2)|0;xa=O;O=f[W>>2]|0;f[W>>2]=Ca}while((O|0)<(xa|0));eb=Ca}Ca=J;do{O=R+(Ca<<2)|0;L=Ca;Ca=f[O>>2]|0;f[O>>2]=eb}while((Ca|0)<(L|0));Ca=f[z+(E<<2)>>2]|0;J=eb;while(1){L=f[R+(J<<2)>>2]|0;if((L|0)<(J|0))J=L;else break}if((eb|0)==(Ca|0))fb=J;else{E=Ca;while(1){L=f[R+(E<<2)>>2]|0;if((L|0)<(E|0))E=L;else break}L=(J|0)>(E|0)?E:J;O=Ca;do{M=R+(O<<2)|0;H=O;O=f[M>>2]|0;f[M>>2]=L}while((O|0)<(H|0));fb=L}L=eb;do{O=R+(L<<2)|0;Ca=L;L=f[O>>2]|0;f[O>>2]=fb}while((L|0)<(Ca|0));f[z+(C<<2)>>2]=fb;G=D;break}do if(A){if(b[w+Q>>0]|0){L=C+-2|0;do if((C|0)>1){if(!(b[v+L>>0]|0))break;f[z+(C<<2)>>2]=f[z+(L<<2)>>2];G=D;break a}while(0);R=f[l>>2]|0;Ca=f[y+(L<<2)>>2]|0;O=f[z+(L<<2)>>2]|0;J=Ca;while(1){E=f[R+(J<<2)>>2]|0;if((E|0)<(J|0))J=E;else break}if((Ca|0)==(O|0))gb=J;else{L=O;while(1){E=f[R+(L<<2)>>2]|0;if((E|0)<(L|0))L=E;else break}E=(J|0)>(L|0)?L:J;H=O;do{M=R+(H<<2)|0;xa=H;H=f[M>>2]|0;f[M>>2]=E}while((H|0)<(xa|0));gb=E}E=Ca;do{H=R+(E<<2)|0;O=E;E=f[H>>2]|0;f[H>>2]=gb}while((E|0)<(O|0));f[z+(C<<2)>>2]=gb;G=D;break a}if(!(b[w+C>>0]|0))break;E=C+-2|0;do if((C|0)>1){if(!(b[v+E>>0]|0))break;if(!(b[w+E>>0]|0)){R=f[l>>2]|0;Ca=f[y+(C<<2)>>2]|0;O=f[z+(E<<2)>>2]|0;H=Ca;while(1){J=f[R+(H<<2)>>2]|0;if((J|0)<(H|0))H=J;else break}if((Ca|0)==(O|0))hb=H;else{J=O;while(1){L=f[R+(J<<2)>>2]|0;if((L|0)<(J|0))J=L;else break}L=(H|0)>(J|0)?J:H;xa=O;do{M=R+(xa<<2)|0;W=xa;xa=f[M>>2]|0;f[M>>2]=L}while((xa|0)<(W|0));hb=L}L=Ca;do{xa=R+(L<<2)|0;O=L;L=f[xa>>2]|0;f[xa>>2]=hb}while((L|0)<(O|0));f[z+(C<<2)>>2]=hb;G=D;break a}do if(B){if(!(b[x+Q>>0]|0))break;f[z+(C<<2)>>2]=f[z+(E<<2)>>2];G=D;break a}while(0);L=f[l>>2]|0;R=f[y+(C<<2)>>2]|0;Ca=f[z+(E<<2)>>2]|0;O=R;while(1){xa=f[L+(O<<2)>>2]|0;if((xa|0)<(O|0))O=xa;else break}if((R|0)==(Ca|0))ib=O;else{xa=Ca;while(1){H=f[L+(xa<<2)>>2]|0;if((H|0)<(xa|0))xa=H;else break}H=(O|0)>(xa|0)?xa:O;J=Ca;do{W=L+(J<<2)|0;M=J;J=f[W>>2]|0;f[W>>2]=H}while((J|0)<(M|0));ib=H}H=R;do{J=L+(H<<2)|0;Ca=H;H=f[J>>2]|0;f[J>>2]=ib}while((H|0)<(Ca|0));f[z+(C<<2)>>2]=ib;G=D;break a}while(0);H=f[l>>2]|0;L=f[y+(C<<2)>>2]|0;R=f[z+(E<<2)>>2]|0;Ca=L;while(1){J=f[H+(Ca<<2)>>2]|0;if((J|0)<(Ca|0))Ca=J;else break}if((L|0)==(R|0))jb=Ca;else{E=R;while(1){J=f[H+(E<<2)>>2]|0;if((J|0)<(E|0))E=J;else break}J=(Ca|0)>(E|0)?E:Ca;O=R;do{xa=H+(O<<2)|0;M=O;O=f[xa>>2]|0;f[xa>>2]=J}while((O|0)<(M|0));jb=J}J=L;do{O=H+(J<<2)|0;R=J;J=f[O>>2]|0;f[O>>2]=jb}while((J|0)<(R|0));f[z+(C<<2)>>2]=jb;G=D;break a}while(0);f[z+(C<<2)>>2]=f[z+(C+-2<<2)>>2];G=D;break}if(A){if(b[w+Q>>0]|0){J=C+-2|0;do if((C|0)>1){if(!(b[v+J>>0]|0))break;f[z+(C<<2)>>2]=f[z+(J<<2)>>2];G=D;break a}while(0);H=f[l>>2]|0;L=f[y+(J<<2)>>2]|0;R=f[z+(J<<2)>>2]|0;O=L;while(1){Ca=f[H+(O<<2)>>2]|0;if((Ca|0)<(O|0))O=Ca;else break}if((L|0)==(R|0))kb=O;else{J=R;while(1){Ca=f[H+(J<<2)>>2]|0;if((Ca|0)<(J|0))J=Ca;else break}Ca=(O|0)>(J|0)?J:O;E=R;do{M=H+(E<<2)|0;xa=E;E=f[M>>2]|0;f[M>>2]=Ca}while((E|0)<(xa|0));kb=Ca}Ca=L;do{E=H+(Ca<<2)|0;R=Ca;Ca=f[E>>2]|0;f[E>>2]=kb}while((Ca|0)<(R|0));f[z+(C<<2)>>2]=kb;G=D;break}if(b[w+C>>0]|0){Ca=C+-2|0;do if((C|0)>1){if(!(b[v+Ca>>0]|0))break;if(!(b[w+Ca>>0]|0)){H=f[l>>2]|0;L=f[y+(C<<2)>>2]|0;R=f[z+(Ca<<2)>>2]|0;E=L;while(1){O=f[H+(E<<2)>>2]|0;if((O|0)<(E|0))E=O;else break}if((L|0)==(R|0))lb=E;else{O=R;while(1){J=f[H+(O<<2)>>2]|0;if((J|0)<(O|0))O=J;else break}J=(E|0)>(O|0)?O:E;xa=R;do{M=H+(xa<<2)|0;W=xa;xa=f[M>>2]|0;f[M>>2]=J}while((xa|0)<(W|0));lb=J}J=L;do{xa=H+(J<<2)|0;R=J;J=f[xa>>2]|0;f[xa>>2]=lb}while((J|0)<(R|0));f[z+(C<<2)>>2]=lb;G=D;break a}do if(B){if(!(b[x+Q>>0]|0))break;f[z+(C<<2)>>2]=f[z+(Ca<<2)>>2];G=D;break a}while(0);J=f[l>>2]|0;H=f[y+(C<<2)>>2]|0;L=f[z+(Ca<<2)>>2]|0;R=H;while(1){xa=f[J+(R<<2)>>2]|0;if((xa|0)<(R|0))R=xa;else break}if((H|0)==(L|0))mb=R;else{xa=L;while(1){E=f[J+(xa<<2)>>2]|0;if((E|0)<(xa|0))xa=E;else break}E=(R|0)>(xa|0)?xa:R;O=L;do{W=J+(O<<2)|0;M=O;O=f[W>>2]|0;f[W>>2]=E}while((O|0)<(M|0));mb=E}E=H;do{O=J+(E<<2)|0;L=E;E=f[O>>2]|0;f[O>>2]=mb}while((E|0)<(L|0));f[z+(C<<2)>>2]=mb;G=D;break a}while(0);E=f[l>>2]|0;J=f[y+(C<<2)>>2]|0;H=f[z+(Ca<<2)>>2]|0;L=J;while(1){O=f[E+(L<<2)>>2]|0;if((O|0)<(L|0))L=O;else break}if((J|0)==(H|0))nb=L;else{Ca=H;while(1){O=f[E+(Ca<<2)>>2]|0;if((O|0)<(Ca|0))Ca=O;else break}O=(L|0)>(Ca|0)?Ca:L;R=H;do{xa=E+(R<<2)|0;M=R;R=f[xa>>2]|0;f[xa>>2]=O}while((R|0)<(M|0));nb=O}O=J;do{R=E+(O<<2)|0;H=O;O=f[R>>2]|0;f[R>>2]=nb}while((O|0)<(H|0));f[z+(C<<2)>>2]=nb;G=D;break}}f[z+(C<<2)>>2]=f[z+(C+-2<<2)>>2];G=D;break}}O=C|1;E=(O|0)<(n|0);if(A&E?b[w+O>>0]|0:0){if(b[w+C>>0]|0){f[z+(C<<2)>>2]=f[y+(C<<2)>>2];G=D;break}if(F?b[w+Q>>0]|0:0){if(B?b[x+C>>0]|0:0){f[z+(C<<2)>>2]=f[y+(C<<2)>>2];G=D;break}J=f[l>>2]|0;H=f[y+(C+-2<<2)>>2]|0;R=f[y+(C<<2)>>2]|0;L=H;while(1){Ca=f[J+(L<<2)>>2]|0;if((Ca|0)<(L|0))L=Ca;else break}if((H|0)==(R|0))ob=L;else{Ca=R;while(1){M=f[J+(Ca<<2)>>2]|0;if((M|0)<(Ca|0))Ca=M;else break}M=(L|0)>(Ca|0)?Ca:L;xa=R;do{W=J+(xa<<2)|0;I=xa;xa=f[W>>2]|0;f[W>>2]=M}while((xa|0)<(I|0));ob=M}M=H;do{xa=J+(M<<2)|0;R=M;M=f[xa>>2]|0;f[xa>>2]=ob}while((M|0)<(R|0));f[z+(C<<2)>>2]=ob;G=D;break}f[z+(C<<2)>>2]=f[y+(C<<2)>>2];G=D;break}if(E?b[v+O>>0]|0:0){M=C+2|0;if(A&(M|0)<(n|0)?b[w+M>>0]|0:0){if(b[w+C>>0]|0){if(B?b[x+O>>0]|0:0){f[z+(C<<2)>>2]=f[y+(M<<2)>>2];G=D;break}J=f[l>>2]|0;H=f[y+(C<<2)>>2]|0;R=f[y+(M<<2)>>2]|0;xa=H;while(1){L=f[J+(xa<<2)>>2]|0;if((L|0)<(xa|0))xa=L;else break}if((H|0)==(R|0))pb=xa;else{E=R;while(1){L=f[J+(E<<2)>>2]|0;if((L|0)<(E|0))E=L;else break}L=(xa|0)>(E|0)?E:xa;Ca=R;do{I=J+(Ca<<2)|0;W=Ca;Ca=f[I>>2]|0;f[I>>2]=L}while((Ca|0)<(W|0));pb=L}L=H;do{Ca=J+(L<<2)|0;R=L;L=f[Ca>>2]|0;f[Ca>>2]=pb}while((L|0)<(R|0));f[z+(C<<2)>>2]=pb;G=D;break}if(F?b[w+Q>>0]|0:0){do if(B){if(!(b[x+O>>0]|0))break;if(b[x+C>>0]|0){f[z+(C<<2)>>2]=f[y+(M<<2)>>2];G=D;break a}L=f[l>>2]|0;J=f[y+(C+-2<<2)>>2]|0;H=f[y+(M<<2)>>2]|0;R=J;while(1){Ca=f[L+(R<<2)>>2]|0;if((Ca|0)<(R|0))R=Ca;else break}if((J|0)==(H|0))qb=R;else{Ca=H;while(1){xa=f[L+(Ca<<2)>>2]|0;if((xa|0)<(Ca|0))Ca=xa;else break}xa=(R|0)>(Ca|0)?Ca:R;E=H;do{W=L+(E<<2)|0;I=E;E=f[W>>2]|0;f[W>>2]=xa}while((E|0)<(I|0));qb=xa}xa=J;do{E=L+(xa<<2)|0;H=xa;xa=f[E>>2]|0;f[E>>2]=qb}while((xa|0)<(H|0));f[z+(C<<2)>>2]=qb;G=D;break a}while(0);O=f[l>>2]|0;xa=f[y+(C+-2<<2)>>2]|0;L=f[y+(M<<2)>>2]|0;J=xa;while(1){H=f[O+(J<<2)>>2]|0;if((H|0)<(J|0))J=H;else break}if((xa|0)==(L|0))rb=J;else{H=L;while(1){E=f[O+(H<<2)>>2]|0;if((E|0)<(H|0))H=E;else break}E=(J|0)>(H|0)?H:J;R=L;do{Ca=O+(R<<2)|0;I=R;R=f[Ca>>2]|0;f[Ca>>2]=E}while((R|0)<(I|0));rb=E}E=xa;do{R=O+(E<<2)|0;L=E;E=f[R>>2]|0;f[R>>2]=rb}while((E|0)<(L|0));f[z+(C<<2)>>2]=rb;G=D;break}f[z+(C<<2)>>2]=f[y+(M<<2)>>2];G=D;break}if(A){if(b[w+C>>0]|0){f[z+(C<<2)>>2]=f[y+(C<<2)>>2];G=D;break}if(F?b[w+Q>>0]|0:0){f[z+(C<<2)>>2]=f[y+(C+-2<<2)>>2];G=D;break}}f[z+(C<<2)>>2]=D;f[(f[l>>2]|0)+(D<<2)>>2]=D;G=D+1|0;break}if(A){if(b[w+C>>0]|0){f[z+(C<<2)>>2]=f[y+(C<<2)>>2];G=D;break}if(F?b[w+Q>>0]|0:0){f[z+(C<<2)>>2]=f[y+(C+-2<<2)>>2];G=D;break}}f[z+(C<<2)>>2]=D;f[(f[l>>2]|0)+(D<<2)>>2]=D;G=D+1|0}while(0);C=C+2|0;if((C|0)>=(n|0)){sb=G;break}else D=G}}else sb=s;a=a+2|0;if((a|0)>=(f[d>>2]|0))break;else s=sb}o=sb;p=f[g>>2]|0;q=o-j|0;r=p+(c<<2)|0;f[r>>2]=q;return}function kha(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;d=f[a+12>>2]|0;e=f[a+8>>2]|0;g=f[c>>2]|0;if((g|0)>=(e|0))return;h=f[a+16>>2]|0;i=f[a+44>>2]|0;a=(d|0)>0;j=d+-1|0;k=g;do{g=f[i>>2]|0;l=h+(X(g,k)|0)|0;m=l+(0-g)|0;if(a){g=0;do{n=l+(g<<2)|0;o=f[n>>2]|0;if((o|0)>0){if((g|0)>0?(p=f[m+(g+-1<<2)>>2]|0,(p|0)>0):0){q=p;while(1){r=f[b+(q<<2)>>2]|0;if((r|0)<(q|0))q=r;else break}if((p|0)==(o|0))s=q;else{r=o;while(1){t=f[b+(r<<2)>>2]|0;if((t|0)<(r|0))r=t;else break}t=(q|0)>(r|0)?r:q;u=o;do{v=b+(u<<2)|0;w=u;u=f[v>>2]|0;f[v>>2]=t}while((u|0)<(w|0));s=t}t=p;do{u=b+(t<<2)|0;q=t;t=f[u>>2]|0;f[u>>2]=s}while((t|0)<(q|0));f[n>>2]=s;x=s}else x=o;if((g|0)<(j|0)?(t=f[m+(g+1<<2)>>2]|0,(t|0)>0):0){p=t;while(1){q=f[b+(p<<2)>>2]|0;if((q|0)<(p|0))p=q;else break}if((t|0)==(x|0))y=p;else{o=x;while(1){q=f[b+(o<<2)>>2]|0;if((q|0)<(o|0))o=q;else break}q=(p|0)>(o|0)?o:p;u=x;do{r=b+(u<<2)|0;w=u;u=f[r>>2]|0;f[r>>2]=q}while((u|0)<(w|0));y=q}q=t;do{u=b+(q<<2)|0;p=q;q=f[u>>2]|0;f[u>>2]=y}while((q|0)<(p|0));f[n>>2]=y;z=y}else z=x;q=f[m+(g<<2)>>2]|0;if((q|0)>0){t=q;while(1){p=f[b+(t<<2)>>2]|0;if((p|0)<(t|0))t=p;else break}if((q|0)==(z|0))A=t;else{p=z;while(1){u=f[b+(p<<2)>>2]|0;if((u|0)<(p|0))p=u;else break}u=(t|0)>(p|0)?p:t;o=z;do{w=b+(o<<2)|0;r=o;o=f[w>>2]|0;f[w>>2]=u}while((o|0)<(r|0));A=u}u=q;do{o=b+(u<<2)|0;t=u;u=f[o>>2]|0;f[o>>2]=A}while((u|0)<(t|0));f[n>>2]=A}}g=g+1|0}while((g|0)!=(d|0))}k=f[c+(k<<2)>>2]|0}while((k|0)<(e|0));return}function lha(a){a=a|0;GQa(a);return}function mha(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=f[b>>2]|0;d=f[b+4>>2]|0;b=(c|0)<(d|0);if((c|0)>0){if(!b)return;e=a+4|0;g=a+8|0;h=c;do{i=f[e>>2]|0;j=(f[i+16>>2]|0)+(X(f[f[i+44>>2]>>2]|0,h)|0)|0;k=j+(f[i+12>>2]<<2)|0;if((k|0)!=(j|0)){i=f[g>>2]|0;l=j;do{f[l>>2]=f[i+(f[l>>2]<<2)>>2];l=l+4|0}while((l|0)!=(k|0))}h=h+1|0}while((h|0)!=(d|0));return}else{if(!b)return;b=a+4|0;h=a+8|0;a=c;do{c=f[b>>2]|0;g=(f[c+16>>2]|0)+(X(f[f[c+44>>2]>>2]|0,a)|0)|0;e=g+(f[c+12>>2]<<2)|0;if((e|0)!=(g|0)){c=f[h>>2]|0;k=g;do{f[k>>2]=f[c+(f[k>>2]<<2)>>2];k=k+4|0}while((k|0)!=(e|0))}a=a+1|0}while((a|0)!=(d|0));return}}function nha(a){a=a|0;GQa(a);return}function oha(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;d=f[c>>2]|0;e=c+4|0;c=f[a+16>>2]|0;f[c+(d<<2)>>2]=f[e>>2];g=a+8|0;h=f[g>>2]|0;i=(((X(f[h+12>>2]|0,d)|0)+1|0)/2|0)+1|0;j=a+4|0;k=f[j>>2]|0;l=f[k+12>>2]|0;if((d|0)==(f[e>>2]|0)){m=i;n=m-i|0;o=d+1|0;p=c+(o<<2)|0;f[p>>2]=n;return}q=(l|0)>0;r=a+12|0;a=d;s=i;t=k;k=h;while(1){h=f[f[t+44>>2]>>2]|0;u=(f[t+16>>2]|0)+(X(h,a)|0)|0;v=u+(0-h)|0;h=f[f[k+44>>2]>>2]|0;w=(f[k+16>>2]|0)+(X(h,a)|0)|0;x=w+(0-h)|0;a:do if(q){if((a|0)>(d|0)){y=0;z=s}else{h=0;A=s;while(1){do if(!(b[u+h>>0]|0)){f[w+(h<<2)>>2]=0;B=A}else{if((h|0)>0?(C=h+-1|0,b[u+C>>0]|0):0){f[w+(h<<2)>>2]=f[w+(C<<2)>>2];B=A;break}f[w+(h<<2)>>2]=A;f[(f[r>>2]|0)+(A<<2)>>2]=A;B=A+1|0}while(0);h=h+1|0;if((h|0)==(l|0)){D=B;break a}else A=B}}while(1){do if(!(b[u+y>>0]|0)){f[w+(y<<2)>>2]=0;E=z}else{A=(y|0)>0;if(!(b[v+y>>0]|0)){if(A?(h=y+-1|0,b[u+h>>0]|0):0){f[w+(y<<2)>>2]=f[w+(h<<2)>>2];E=z;break}f[w+(y<<2)>>2]=z;f[(f[r>>2]|0)+(z<<2)>>2]=z;E=z+1|0;break}if(A?(A=y+-1|0,(b[u+A>>0]|0)!=0):0){h=f[r>>2]|0;C=f[w+(A<<2)>>2]|0;A=f[x+(y<<2)>>2]|0;F=C;while(1){G=f[h+(F<<2)>>2]|0;if((G|0)<(F|0))F=G;else break}if((C|0)==(A|0))H=F;else{G=A;while(1){I=f[h+(G<<2)>>2]|0;if((I|0)<(G|0))G=I;else break}I=(F|0)>(G|0)?G:F;J=A;do{K=h+(J<<2)|0;L=J;J=f[K>>2]|0;f[K>>2]=I}while((J|0)<(L|0));H=I}I=C;do{J=h+(I<<2)|0;A=I;I=f[J>>2]|0;f[J>>2]=H}while((I|0)<(A|0));M=H}else M=f[x+(y<<2)>>2]|0;f[w+(y<<2)>>2]=M;E=z}while(0);y=y+1|0;if((y|0)==(l|0)){D=E;break}else z=E}}else D=s;while(0);w=a+1|0;if((w|0)==(f[e>>2]|0)){m=D;break}a=w;s=D;t=f[j>>2]|0;k=f[g>>2]|0}n=m-i|0;o=d+1|0;p=c+(o<<2)|0;f[p>>2]=n;return}function pha(a){a=a|0;GQa(a);return}function qha(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;d=f[c>>2]|0;e=c+4|0;c=f[a+16>>2]|0;f[c+(d<<2)>>2]=f[e>>2];g=d+1|0;h=a+8|0;i=f[h>>2]|0;j=(X(((f[i+12>>2]|0)+1|0)/2|0,(g|0)/2|0)|0)+1|0;k=a+4|0;l=f[k>>2]|0;m=f[l+12>>2]|0;n=f[e>>2]|0;if((d|0)==(n|0)){o=j;p=o-j|0;q=c+(g<<2)|0;f[q>>2]=p;return}r=(m|0)>0;s=m+-1|0;t=a+12|0;a=d;u=j;v=n;n=l;l=i;while(1){i=f[f[n+44>>2]>>2]|0;w=(f[n+16>>2]|0)+(X(i,a)|0)|0;x=w+(0-i)|0;i=f[f[l+44>>2]>>2]|0;y=(f[l+16>>2]|0)+(X(i,a)|0)|0;z=y+(0-i)|0;if(r){i=(a|0)>(d|0);A=i^1;B=0;C=u;while(1){a:do if(!(b[w+B>>0]|0)){f[y+(B<<2)>>2]=0;D=C}else{if(i){if(b[x+B>>0]|0){f[y+(B<<2)>>2]=f[z+(B<<2)>>2];D=C;break}if(!((B|0)>=(s|0)|A)){E=B+1|0;if(!(b[x+E>>0]|0))F=0;else{do if((B|0)>0){G=B+-1|0;if(!(b[x+G>>0]|0)){if(!(b[w+G>>0]|0)){H=34;break}I=f[t>>2]|0;J=f[y+(G<<2)>>2]|0;K=f[z+(E<<2)>>2]|0;L=J;while(1){M=f[I+(L<<2)>>2]|0;if((M|0)<(L|0))L=M;else break}if((J|0)==(K|0))N=L;else{M=K;while(1){O=f[I+(M<<2)>>2]|0;if((O|0)<(M|0))M=O;else break}O=(L|0)>(M|0)?M:L;P=K;do{Q=I+(P<<2)|0;R=P;P=f[Q>>2]|0;f[Q>>2]=O}while((P|0)<(R|0));N=O}O=J;do{P=I+(O<<2)|0;K=O;O=f[P>>2]|0;f[P>>2]=N}while((O|0)<(K|0));S=N}else{O=f[t>>2]|0;I=f[z+(G<<2)>>2]|0;J=f[z+(E<<2)>>2]|0;K=I;while(1){P=f[O+(K<<2)>>2]|0;if((P|0)<(K|0))K=P;else break}if((I|0)==(J|0))T=K;else{G=J;while(1){P=f[O+(G<<2)>>2]|0;if((P|0)<(G|0))G=P;else break}P=(K|0)>(G|0)?G:K;L=J;do{M=O+(L<<2)|0;R=L;L=f[M>>2]|0;f[M>>2]=P}while((L|0)<(R|0));T=P}P=I;do{L=O+(P<<2)|0;J=P;P=f[L>>2]|0;f[L>>2]=T}while((P|0)<(J|0));f[y+(B<<2)>>2]=T;D=C;break a}}else H=34;while(0);if((H|0)==34){H=0;S=f[z+(E<<2)>>2]|0}f[y+(B<<2)>>2]=S;D=C;break}}else F=A}else F=A;P=(B|0)>0;if(!(F|P^1)?(O=B+-1|0,b[x+O>>0]|0):0){f[y+(B<<2)>>2]=f[z+(O<<2)>>2];D=C;break}if(P?(P=B+-1|0,b[w+P>>0]|0):0){f[y+(B<<2)>>2]=f[y+(P<<2)>>2];D=C;break}f[y+(B<<2)>>2]=C;f[(f[t>>2]|0)+(C<<2)>>2]=C;D=C+1|0}while(0);B=B+1|0;if((B|0)==(m|0))break;else C=D}U=D;V=f[e>>2]|0}else{U=u;V=v}C=a+1|0;if((C|0)==(V|0)){o=U;break}a=C;u=U;v=V;n=f[k>>2]|0;l=f[h>>2]|0}p=o-j|0;q=c+(g<<2)|0;f[q>>2]=p;return}function rha(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return sha(a,b,c,d,e,f,-1)|0}function sha(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;j=u;u=u+272|0;k=j+208|0;l=j+144|0;m=j+152|0;n=j+8|0;o=j;do if((HJ(a)|0)==65536){p=f[a+4>>2]|0;f[k>>2]=f[p>>2];q=k+4|0;r=p+4|0;f[q>>2]=f[r>>2];s=k+8|0;f[s>>2]=f[p+8>>2];f[k+12>>2]=f[p+12>>2];f[k+16>>2]=f[p+16>>2];f[k+20>>2]=f[p+20>>2];f[k+24>>2]=f[p+24>>2];f[k+28>>2]=f[p+28>>2];f[k+32>>2]=f[p+32>>2];t=f[p+36>>2]|0;f[k+36>>2]=t;v=k+40|0;f[v>>2]=s;s=k+48|0;w=k+44|0;f[w>>2]=s;f[s>>2]=0;f[k+52>>2]=0;if(t|0){s=t+12|0;f[s>>2]=(f[s>>2]|0)+1}if((f[r>>2]|0)<3){r=f[p+44>>2]|0;s=f[w>>2]|0;f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2];x=v;break}else{f[q>>2]=0;WO(k,p);x=v;break}}else{DJ(k,a,-1);x=k+40|0}while(0);a=f[x>>2]|0;v=f[a>>2]|0;f[l>>2]=f[a+4>>2];f[l+4>>2]=v;_J(c,l,h&7,-1,0,0);do if((HJ(c)|0)==65536){l=f[c+4>>2]|0;f[m>>2]=f[l>>2];v=m+4|0;a=l+4|0;f[v>>2]=f[a>>2];p=m+8|0;f[p>>2]=f[l+8>>2];f[m+12>>2]=f[l+12>>2];f[m+16>>2]=f[l+16>>2];f[m+20>>2]=f[l+20>>2];f[m+24>>2]=f[l+24>>2];f[m+28>>2]=f[l+28>>2];f[m+32>>2]=f[l+32>>2];q=f[l+36>>2]|0;f[m+36>>2]=q;f[m+40>>2]=p;p=m+48|0;r=m+44|0;f[r>>2]=p;f[p>>2]=0;f[m+52>>2]=0;if(q|0){p=q+12|0;f[p>>2]=(f[p>>2]|0)+1}if((f[a>>2]|0)<3){a=f[l+44>>2]|0;p=f[r>>2]|0;f[p>>2]=f[a>>2];f[p+4>>2]=f[a+4>>2];break}else{f[v>>2]=0;WO(m,l);break}}else DJ(m,c,-1);while(0);f[n>>2]=d;f[n+4>>2]=1124007936;d=n+12|0;c=n+44|0;l=n+8|0;v=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(v|0));f[c>>2]=d;d=n+52|0;f[n+48>>2]=d;f[d>>2]=0;f[n+56>>2]=0;f[n+60>>2]=e;f[n+64>>2]=1124007936;e=n+72|0;d=n+104|0;l=n+68|0;v=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(v|0));f[d>>2]=e;e=n+112|0;f[n+108>>2]=e;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;switch(h|0){case 2:{y=tha(k,m,g,i,n)|0;break}case 4:{y=tha(k,m,g,i,n)|0;break}default:{f[o>>2]=0;f[o+4>>2]=0;l=JV(o,37)|0;i=231026;v=l+37|0;do{b[l>>0]=b[i>>0]|0;l=l+1|0;i=i+1|0}while((l|0)<(v|0));EP(-210,o,231901,231084,4031);KV(o);y=0}}uha(n);n=m+36|0;o=f[n>>2]|0;if(o|0?(i=o+12|0,o=f[i>>2]|0,f[i>>2]=o+-1,(o|0)==1):0)XO(m);f[n>>2]=0;n=m+16|0;o=m+4|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;if((f[o>>2]|0)>0){n=f[m+40>>2]|0;i=0;do{f[n+(i<<2)>>2]=0;i=i+1|0}while((i|0)<(f[o>>2]|0))}o=f[m+44>>2]|0;if((o|0)!=(m+48|0))dX(o);o=k+36|0;m=f[o>>2]|0;if(m|0?(i=m+12|0,m=f[i>>2]|0,f[i>>2]=m+-1,(m|0)==1):0)XO(k);f[o>>2]=0;o=k+16|0;m=k+4|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;if((f[m>>2]|0)>0){o=f[x>>2]|0;x=0;do{f[o+(x<<2)>>2]=0;x=x+1|0}while((x|0)<(f[m>>2]|0))}m=f[k+44>>2]|0;if((m|0)==(k+48|0)){u=j;return y|0}dX(m);u=j;return y|0}function tha(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;h=u;u=u+16|0;i=h;j=h+13|0;k=h+12|0;l=h+11|0;m=h+10|0;n=h+9|0;o=h+8|0;if(!((f[c>>2]&4088|0)==0?!(f[a>>2]&4088|0):0)){f[i>>2]=0;f[i+4>>2]=0;p=JV(i,38)|0;q=231155;r=p+38|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));EP(-215,i,231194,231084,3927);KV(i)}s=(d|0)==8;t=(d|0)==4;switch(d|0){case 4:case 8:break;default:{f[i>>2]=0;f[i+4>>2]=0;p=JV(i,38)|0;q=231219;r=p+38|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));EP(-215,i,231194,231084,3928);KV(i)}}v=(e|0)==1;w=(e|0)==0;x=(e|0)==-1;switch(e|0){case 0:case 1:case -1:break;default:{f[i>>2]=0;f[i+4>>2]=0;p=JV(i,67)|0;q=231258;r=p+67|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));EP(-215,i,231194,231084,3929);KV(i)}}e=f[c>>2]|0;y=e&7;z=f[a>>2]&6;A=c_()|0;B=a_()|0;if(z>>>0>=2){f[i>>2]=0;f[i+4>>2]=0;p=JV(i,26)|0;q=231326;r=p+26|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));EP(-215,i,231194,231084,3936);KV(i)}if((A|0)!=0&(B|0)>1)C=((f[c+8>>2]|0)/(B|0)|0|0)>1;else C=0;a:do if(t|w){switch(e&7){case 4:break;case 2:{D=(vha(j,a,c,d,g)|0)&65535;u=h;return D|0}default:break a}if(C){D=xha(l,a,c,d,g)|0;u=h;return D|0}else{D=wha(k,a,c,d,g)|0;u=h;return D|0}}else if(!((y|0)==0|s&(v|x)^1)){switch(e&7){case 2:{D=(yha(m,a,c,d,g)|0)&65535;u=h;return D|0}case 4:break;default:break a}if(C){D=Aha(o,a,c,d,g)|0;u=h;return D|0}else{D=zha(n,a,c,d,g)|0;u=h;return D|0}}while(0);f[i>>2]=0;f[i+4>>2]=0;p=JV(i,28)|0;q=231353;r=p+28|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));EP(-210,i,231194,231084,3982);KV(i);D=-1;u=h;return D|0}function uha(a){a=a|0;var b=0,c=0,d=0,e=0;b=f[a+120>>2]|0;if(b|0){c=a+124|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-16-b|0)>>>4)<<4);GQa(b)}b=a+64|0;d=a+100|0;c=f[d>>2]|0;if(c|0?(e=c+12|0,c=f[e>>2]|0,f[e>>2]=c+-1,(c|0)==1):0)XO(b);f[d>>2]=0;d=a+80|0;b=a+68|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[b>>2]|0)>0){d=f[a+104>>2]|0;c=0;do{f[d+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[a+108>>2]|0;if((b|0)!=(a+112|0))dX(b);b=a+4|0;c=a+40|0;d=f[c>>2]|0;if(d|0?(e=d+12|0,d=f[e>>2]|0,f[e>>2]=d+-1,(d|0)==1):0)XO(b);f[c>>2]=0;c=a+20|0;b=a+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[a+44>>2]|0;d=0;do{f[c+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[b>>2]|0))}b=f[a+48>>2]|0;if((b|0)==(a+52|0))return;dX(b);return}function vha(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0.0;a=u;u=u+16|0;i=a;k=c+8|0;if((f[e+8>>2]|0)!=(f[k>>2]|0)){f[i>>2]=0;f[i+4>>2]=0;l=JV(i,26)|0;m=231847;n=l+26|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-215,i,451664,231084,656);KV(i)}o=c+12|0;if((f[e+12>>2]|0)!=(f[o>>2]|0)){f[i>>2]=0;f[i+4>>2]=0;l=JV(i,26)|0;m=231874;n=l+26|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-215,i,451664,231084,657);KV(i)}q=(g|0)==8;switch(g|0){case 4:case 8:break;default:{f[i>>2]=0;f[i+4>>2]=0;l=JV(i,38)|0;m=231219;n=l+38|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-215,i,451664,231084,658);KV(i)}}i=f[k>>2]|0;k=f[o>>2]|0;o=cX((X(k,i)|0)+3&-2)|0;d[o>>1]=0;m=(i|0)>0;if(q)if(m){q=(k|0)>0;l=k+-1|0;n=f[c+16>>2]|0;g=f[f[c+44>>2]>>2]|0;r=f[e+16>>2]|0;s=f[f[e+44>>2]>>2]|0;t=0-g|0;v=0-s|0;w=1;x=0;while(1){y=n+(X(g,x)|0)|0;z=y+t|0;A=r+(X(s,x)|0)|0;B=A+v|0;if(q){C=(x|0)>0;D=0;E=w;while(1){a:do if(!(b[y+D>>0]|0)){d[A+(D<<1)>>1]=0;F=E}else{if(C){if(b[z+D>>0]|0){d[A+(D<<1)>>1]=d[B+(D<<1)>>1]|0;F=E;break}if((D|0)<(l|0)?(G=D+1|0,b[z+G>>0]|0):0){do if((D|0)>0){H=D+-1|0;if(!(b[z+H>>0]|0)){J=D+-1|0;if(!(b[y+J>>0]|0)){K=42;break}L=d[A+(J<<1)>>1]|0;J=d[B+(G<<1)>>1]|0;M=L;while(1){N=d[o+((M&65535)<<1)>>1]|0;if((N&65535)<(M&65535))M=N;else break}if(L<<16>>16==J<<16>>16)O=M;else{N=J;while(1){P=d[o+((N&65535)<<1)>>1]|0;if((P&65535)<(N&65535))N=P;else break}P=(M&65535)>(N&65535)?N:M;Q=J;do{R=o+((Q&65535)<<1)|0;S=Q;Q=d[R>>1]|0;d[R>>1]=P}while((Q&65535)<(S&65535));O=P}P=L;do{Q=o+((P&65535)<<1)|0;J=P;P=d[Q>>1]|0;d[Q>>1]=O}while((P&65535)<(J&65535));T=O}else{P=d[B+(H<<1)>>1]|0;L=d[B+(G<<1)>>1]|0;J=P;while(1){Q=d[o+((J&65535)<<1)>>1]|0;if((Q&65535)<(J&65535))J=Q;else break}if(P<<16>>16==L<<16>>16)U=J;else{H=L;while(1){Q=d[o+((H&65535)<<1)>>1]|0;if((Q&65535)<(H&65535))H=Q;else break}Q=(J&65535)>(H&65535)?H:J;M=L;do{N=o+((M&65535)<<1)|0;S=M;M=d[N>>1]|0;d[N>>1]=Q}while((M&65535)<(S&65535));U=Q}Q=P;do{M=o+((Q&65535)<<1)|0;L=Q;Q=d[M>>1]|0;d[M>>1]=U}while((Q&65535)<(L&65535));d[A+(D<<1)>>1]=U;F=E;break a}}else K=42;while(0);if((K|0)==42){K=0;T=d[B+(G<<1)>>1]|0}d[A+(D<<1)>>1]=T;F=E;break}if((D|0)>0){Q=D+-1|0;if(!(b[z+Q>>0]|0))K=47;else{d[A+(D<<1)>>1]=d[B+(Q<<1)>>1]|0;F=E;break}}}else if((D|0)>0)K=47;if((K|0)==47?(K=0,Q=D+-1|0,b[y+Q>>0]|0):0){d[A+(D<<1)>>1]=d[A+(Q<<1)>>1]|0;F=E;break}d[A+(D<<1)>>1]=E;Q=E&65535;d[o+(Q<<1)>>1]=E;F=Q+1&65535}while(0);D=D+1|0;if((D|0)==(k|0)){V=F;break}else E=F}}else V=w;x=x+1|0;if((x|0)==(i|0)){W=V;K=83;break}else w=V}}else K=82;else if(m){V=(k|0)>0;w=f[c+16>>2]|0;x=f[f[c+44>>2]>>2]|0;c=f[e+16>>2]|0;F=f[f[e+44>>2]>>2]|0;T=0-x|0;U=0-F|0;O=0;l=1;while(1){q=w+(X(x,O)|0)|0;v=q+T|0;s=c+(X(F,O)|0)|0;r=s+U|0;b:do if(V){if((O|0)>0){Y=0;Z=l}else{t=0;g=l;while(1){do if(!(b[q+t>>0]|0)){d[s+(t<<1)>>1]=0;_=g}else{if((t|0)>0?(n=t+-1|0,b[q+n>>0]|0):0){d[s+(t<<1)>>1]=d[s+(n<<1)>>1]|0;_=g;break}d[s+(t<<1)>>1]=g;n=g&65535;d[o+(n<<1)>>1]=g;_=n+1&65535}while(0);t=t+1|0;if((t|0)==(k|0)){$=_;break b}else g=_}}while(1){do if(!(b[q+Y>>0]|0)){d[s+(Y<<1)>>1]=0;aa=Z}else{g=(Y|0)>0;if(!(b[v+Y>>0]|0)){if(g?(t=Y+-1|0,b[q+t>>0]|0):0){d[s+(Y<<1)>>1]=d[s+(t<<1)>>1]|0;aa=Z;break}d[s+(Y<<1)>>1]=Z;t=Z&65535;d[o+(t<<1)>>1]=Z;aa=t+1&65535;break}if(g?(g=Y+-1|0,(b[q+g>>0]|0)!=0):0){t=d[s+(g<<1)>>1]|0;g=d[r+(Y<<1)>>1]|0;G=t;while(1){n=d[o+((G&65535)<<1)>>1]|0;if((n&65535)<(G&65535))G=n;else break}if(t<<16>>16==g<<16>>16)ba=G;else{n=g;while(1){E=d[o+((n&65535)<<1)>>1]|0;if((E&65535)<(n&65535))n=E;else break}E=(G&65535)>(n&65535)?n:G;D=g;do{A=o+((D&65535)<<1)|0;y=D;D=d[A>>1]|0;d[A>>1]=E}while((D&65535)<(y&65535));ba=E}E=t;do{D=o+((E&65535)<<1)|0;g=E;E=d[D>>1]|0;d[D>>1]=ba}while((E&65535)<(g&65535));ca=ba}else ca=d[r+(Y<<1)>>1]|0;d[s+(Y<<1)>>1]=ca;aa=Z}while(0);Y=Y+1|0;if((Y|0)==(k|0)){$=aa;break}else Z=aa}}else $=l;while(0);O=O+1|0;if((O|0)==(i|0)){W=$;K=83;break}else l=$}}else K=82;if((K|0)==82){Cha(h,1);da=1}else if((K|0)==83){if((W&65535)>1){K=W&65535;W=1;$=1;while(1){l=o+($<<1)|0;O=j[l>>1]|0;if($>>>0>O>>>0){d[l>>1]=d[o+(O<<1)>>1]|0;ea=W}else{d[l>>1]=W;ea=(W&65535)+1&65535}$=$+1|0;if(($|0)==(K|0)){fa=ea;break}else W=ea}}else fa=1;Cha(h,fa&65535);if(m){m=f[e+16>>2]|0;ea=f[e+44>>2]|0;e=f[h+20>>2]|0;W=f[h+48>>2]|0;K=f[h+120>>2]|0;$=0;do{l=m+(X(f[ea>>2]|0,$)|0)|0;O=l+(k<<1)|0;if((O|0)!=(l|0)){aa=(($|0)<0)<<31>>31;Z=l;l=0;while(1){Y=d[o+(j[Z>>1]<<1)>>1]|0;d[Z>>1]=Y;ca=Y&65535;Y=e+(X(f[W>>2]|0,ca)|0)|0;ba=f[Y>>2]|0;f[Y>>2]=(ba|0)>(l|0)?l:ba;ba=Y+8|0;_=f[ba>>2]|0;f[ba>>2]=(_|0)<(l|0)?l:_;_=Y+4|0;ba=f[_>>2]|0;f[_>>2]=(ba|0)>($|0)?$:ba;ba=Y+12|0;_=f[ba>>2]|0;f[ba>>2]=(_|0)<($|0)?$:_;_=Y+16|0;f[_>>2]=(f[_>>2]|0)+1;_=K+(ca<<4)|0;Y=_;ba=qVa(f[Y>>2]|0,f[Y+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;Y=_;f[Y>>2]=ba;f[Y+4>>2]=I;Y=K+(ca<<4)+8|0;ca=Y;ba=qVa(f[ca>>2]|0,f[ca+4>>2]|0,$|0,aa|0)|0;ca=Y;f[ca>>2]=ba;f[ca+4>>2]=I;Z=Z+2|0;if((Z|0)==(O|0))break;else l=l+1|0}}$=$+1|0}while(($|0)!=(i|0));da=fa}else da=fa}fa=h+12|0;if((f[fa>>2]|0)<=0){dX(o);u=a;return da|0}i=f[h+20>>2]|0;$=f[h+48>>2]|0;K=f[h+120>>2]|0;W=f[h+80>>2]|0;e=f[h+108>>2]|0;h=0;do{k=i+(X(f[$>>2]|0,h)|0)|0;ea=k+8|0;f[ea>>2]=(f[ea>>2]|0)+1-(f[k>>2]|0);ea=k+12|0;f[ea>>2]=(f[ea>>2]|0)+1-(f[k+4>>2]|0);ea=W+(X(f[e>>2]|0,h)|0)|0;ga=+((f[k+16>>2]|0)>>>0);k=K+(h<<4)|0;p[ea>>3]=(+((f[k>>2]|0)>>>0)+4294967296.0*+((f[k+4>>2]|0)>>>0))/ga;k=K+(h<<4)+8|0;p[ea+8>>3]=(+((f[k>>2]|0)>>>0)+4294967296.0*+((f[k+4>>2]|0)>>>0))/ga;h=h+1|0}while((h|0)<(f[fa>>2]|0));dX(o);u=a;return da|0}function wha(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0.0;a=u;u=u+16|0;h=a;i=c+8|0;if((f[d+8>>2]|0)!=(f[i>>2]|0)){f[h>>2]=0;f[h+4>>2]=0;j=JV(h,26)|0;k=231847;l=j+26|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-215,h,451664,231084,656);KV(h)}m=c+12|0;if((f[d+12>>2]|0)!=(f[m>>2]|0)){f[h>>2]=0;f[h+4>>2]=0;j=JV(h,26)|0;k=231874;l=j+26|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-215,h,451664,231084,657);KV(h)}n=(e|0)==8;switch(e|0){case 4:case 8:break;default:{f[h>>2]=0;f[h+4>>2]=0;j=JV(h,38)|0;k=231219;l=j+38|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-215,h,451664,231084,658);KV(h)}}h=f[i>>2]|0;i=f[m>>2]|0;m=cX((((X(i,h)|0)+1|0)>>>1<<2)+4|0)|0;f[m>>2]=0;k=(h|0)>0;if(n)if(k){n=(i|0)>0;j=i+-1|0;l=f[c+16>>2]|0;e=f[c+44>>2]|0;o=f[d+16>>2]|0;q=f[d+44>>2]|0;r=1;s=0;while(1){t=f[e>>2]|0;v=l+(X(t,s)|0)|0;w=v+(0-t)|0;t=f[q>>2]|0;x=o+(X(t,s)|0)|0;y=x+(0-t)|0;if(n){t=(s|0)>0;z=0;A=r;while(1){a:do if(!(b[v+z>>0]|0)){f[x+(z<<2)>>2]=0;B=A}else{if(t){if(b[w+z>>0]|0){f[x+(z<<2)>>2]=f[y+(z<<2)>>2];B=A;break}if((z|0)<(j|0)?(C=z+1|0,b[w+C>>0]|0):0){do if((z|0)>0){D=z+-1|0;if(!(b[w+D>>0]|0)){E=z+-1|0;if(!(b[v+E>>0]|0)){F=42;break}G=f[x+(E<<2)>>2]|0;E=f[y+(C<<2)>>2]|0;H=G;while(1){J=f[m+(H<<2)>>2]|0;if((J|0)<(H|0))H=J;else break}if((G|0)==(E|0))K=H;else{J=E;while(1){L=f[m+(J<<2)>>2]|0;if((L|0)<(J|0))J=L;else break}L=(H|0)>(J|0)?J:H;M=E;do{N=m+(M<<2)|0;O=M;M=f[N>>2]|0;f[N>>2]=L}while((M|0)<(O|0));K=L}L=G;do{M=m+(L<<2)|0;E=L;L=f[M>>2]|0;f[M>>2]=K}while((L|0)<(E|0));P=K}else{L=f[y+(D<<2)>>2]|0;G=f[y+(C<<2)>>2]|0;E=L;while(1){M=f[m+(E<<2)>>2]|0;if((M|0)<(E|0))E=M;else break}if((L|0)==(G|0))Q=E;else{D=G;while(1){M=f[m+(D<<2)>>2]|0;if((M|0)<(D|0))D=M;else break}M=(E|0)>(D|0)?D:E;H=G;do{J=m+(H<<2)|0;O=H;H=f[J>>2]|0;f[J>>2]=M}while((H|0)<(O|0));Q=M}M=L;do{H=m+(M<<2)|0;G=M;M=f[H>>2]|0;f[H>>2]=Q}while((M|0)<(G|0));f[x+(z<<2)>>2]=Q;B=A;break a}}else F=42;while(0);if((F|0)==42){F=0;P=f[y+(C<<2)>>2]|0}f[x+(z<<2)>>2]=P;B=A;break}if((z|0)>0){M=z+-1|0;if(!(b[w+M>>0]|0))F=47;else{f[x+(z<<2)>>2]=f[y+(M<<2)>>2];B=A;break}}}else if((z|0)>0)F=47;if((F|0)==47?(F=0,M=z+-1|0,b[v+M>>0]|0):0){f[x+(z<<2)>>2]=f[x+(M<<2)>>2];B=A;break}f[x+(z<<2)>>2]=A;f[m+(A<<2)>>2]=A;B=A+1|0}while(0);z=z+1|0;if((z|0)==(i|0)){R=B;break}else A=B}}else R=r;s=s+1|0;if((s|0)==(h|0)){S=R;F=83;break}else r=R}}else F=82;else if(k){R=(i|0)>0;r=f[c+16>>2]|0;s=f[c+44>>2]|0;c=f[d+16>>2]|0;B=f[d+44>>2]|0;P=0;Q=1;while(1){K=f[s>>2]|0;j=r+(X(K,P)|0)|0;n=j+(0-K)|0;K=f[B>>2]|0;o=c+(X(K,P)|0)|0;q=o+(0-K)|0;b:do if(R){if((P|0)>0){T=0;U=Q}else{K=0;l=Q;while(1){do if(!(b[j+K>>0]|0)){f[o+(K<<2)>>2]=0;V=l}else{if((K|0)>0?(e=K+-1|0,b[j+e>>0]|0):0){f[o+(K<<2)>>2]=f[o+(e<<2)>>2];V=l;break}f[o+(K<<2)>>2]=l;f[m+(l<<2)>>2]=l;V=l+1|0}while(0);K=K+1|0;if((K|0)==(i|0)){W=V;break b}else l=V}}while(1){do if(!(b[j+T>>0]|0)){f[o+(T<<2)>>2]=0;Y=U}else{l=(T|0)>0;if(!(b[n+T>>0]|0)){if(l?(K=T+-1|0,b[j+K>>0]|0):0){f[o+(T<<2)>>2]=f[o+(K<<2)>>2];Y=U;break}f[o+(T<<2)>>2]=U;f[m+(U<<2)>>2]=U;Y=U+1|0;break}if(l?(l=T+-1|0,(b[j+l>>0]|0)!=0):0){K=f[o+(l<<2)>>2]|0;l=f[q+(T<<2)>>2]|0;C=K;while(1){e=f[m+(C<<2)>>2]|0;if((e|0)<(C|0))C=e;else break}if((K|0)==(l|0))Z=C;else{e=l;while(1){A=f[m+(e<<2)>>2]|0;if((A|0)<(e|0))e=A;else break}A=(C|0)>(e|0)?e:C;z=l;do{x=m+(z<<2)|0;v=z;z=f[x>>2]|0;f[x>>2]=A}while((z|0)<(v|0));Z=A}A=K;do{z=m+(A<<2)|0;l=A;A=f[z>>2]|0;f[z>>2]=Z}while((A|0)<(l|0));_=Z}else _=f[q+(T<<2)>>2]|0;f[o+(T<<2)>>2]=_;Y=U}while(0);T=T+1|0;if((T|0)==(i|0)){W=Y;break}else U=Y}}else W=Q;while(0);P=P+1|0;if((P|0)==(h|0)){S=W;F=83;break}else Q=W}}else F=82;if((F|0)==82){Cha(g,1);$=1}else if((F|0)==83){if((S|0)>1){F=1;W=1;while(1){Q=m+(W<<2)|0;P=f[Q>>2]|0;if((P|0)<(W|0)){f[Q>>2]=f[m+(P<<2)>>2];aa=F}else{f[Q>>2]=F;aa=F+1|0}W=W+1|0;if((W|0)==(S|0)){ba=aa;break}else F=aa}}else ba=1;Cha(g,ba);if(k){k=f[d+16>>2]|0;aa=f[d+44>>2]|0;d=f[g+20>>2]|0;F=f[g+48>>2]|0;S=f[g+120>>2]|0;W=0;do{Q=k+(X(f[aa>>2]|0,W)|0)|0;P=Q+(i<<2)|0;if((P|0)!=(Q|0)){Y=((W|0)<0)<<31>>31;U=Q;Q=0;while(1){T=f[m+(f[U>>2]<<2)>>2]|0;f[U>>2]=T;_=d+(X(f[F>>2]|0,T)|0)|0;Z=f[_>>2]|0;f[_>>2]=(Z|0)>(Q|0)?Q:Z;Z=_+8|0;V=f[Z>>2]|0;f[Z>>2]=(V|0)<(Q|0)?Q:V;V=_+4|0;Z=f[V>>2]|0;f[V>>2]=(Z|0)>(W|0)?W:Z;Z=_+12|0;V=f[Z>>2]|0;f[Z>>2]=(V|0)<(W|0)?W:V;V=_+16|0;f[V>>2]=(f[V>>2]|0)+1;V=S+(T<<4)|0;_=V;Z=qVa(f[_>>2]|0,f[_+4>>2]|0,Q|0,((Q|0)<0)<<31>>31|0)|0;_=V;f[_>>2]=Z;f[_+4>>2]=I;_=S+(T<<4)+8|0;T=_;Z=qVa(f[T>>2]|0,f[T+4>>2]|0,W|0,Y|0)|0;T=_;f[T>>2]=Z;f[T+4>>2]=I;U=U+4|0;if((U|0)==(P|0))break;else Q=Q+1|0}}W=W+1|0}while((W|0)!=(h|0));$=ba}else $=ba}ba=g+12|0;if((f[ba>>2]|0)<=0){dX(m);u=a;return $|0}h=f[g+20>>2]|0;W=f[g+48>>2]|0;S=f[g+120>>2]|0;F=f[g+80>>2]|0;d=f[g+108>>2]|0;g=0;do{i=h+(X(f[W>>2]|0,g)|0)|0;aa=i+8|0;f[aa>>2]=(f[aa>>2]|0)+1-(f[i>>2]|0);aa=i+12|0;f[aa>>2]=(f[aa>>2]|0)+1-(f[i+4>>2]|0);aa=F+(X(f[d>>2]|0,g)|0)|0;ca=+((f[i+16>>2]|0)>>>0);i=S+(g<<4)|0;p[aa>>3]=(+((f[i>>2]|0)>>>0)+4294967296.0*+((f[i+4>>2]|0)>>>0))/ca;i=S+(g<<4)+8|0;p[aa+8>>3]=(+((f[i>>2]|0)>>>0)+4294967296.0*+((f[i+4>>2]|0)>>>0))/ca;g=g+1|0}while((g|0)<(f[ba>>2]|0));dX(m);u=a;return $|0}function xha(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;a=u;u=u+48|0;h=a+32|0;i=a+24|0;j=a;k=c+8|0;l=d+8|0;if((f[k>>2]|0)!=(f[l>>2]|0)){f[h>>2]=0;f[h+4>>2]=0;m=JV(h,26)|0;n=231382;o=m+26|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,h,451664,231084,578);KV(h)}q=c+12|0;r=d+12|0;if((f[q>>2]|0)!=(f[r>>2]|0)){f[h>>2]=0;f[h+4>>2]=0;m=JV(h,26)|0;n=231409;o=m+26|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,h,451664,231084,579);KV(h)}s=(e|0)==8;switch(e|0){case 4:case 8:break;default:{f[h>>2]=0;f[h+4>>2]=0;m=JV(h,38)|0;n=231219;o=m+38|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,h,451664,231084,580);KV(h)}}n=f[k>>2]|0;k=f[q>>2]|0;q=((X(k,n)|0)+1|0)>>>1;e=cX(n<<2)|0;t=cX((q<<2)+4|0)|0;f[t>>2]=0;f[h>>2]=0;f[h+4>>2]=n;q=(n|0)/2|0;v=(a_()|0)<<2;w=(v|0)<(q|0)?v:q;x=+(((w|0)>1?w:1)|0);f[i>>2]=1;if(s){f[j>>2]=58440;f[j+4>>2]=c;f[j+8>>2]=d;f[j+12>>2]=t;f[j+16>>2]=e;$Z(h,j,x);Jha(d,t,e);if((n|0)>0){s=(k+1|0)/2|0;w=0;do{q=w+1|0;v=(X((q|0)/2|0,s)|0)+1|0;y=f[e+(q<<2)>>2]|0;q=y+v|0;if((y|0)>0){y=v;do{v=t+(y<<2)|0;z=f[v>>2]|0;if((z|0)<(y|0))f[v>>2]=f[t+(z<<2)>>2];else{f[v>>2]=f[i>>2];f[i>>2]=(f[i>>2]|0)+1}y=y+1|0}while((y|0)<(q|0))}w=f[e+(w<<2)>>2]|0}while((w|0)<(n|0))}}else{f[j>>2]=58460;f[j+4>>2]=c;f[j+8>>2]=d;f[j+12>>2]=t;f[j+16>>2]=e;$Z(h,j,x);c=f[r>>2]|0;r=f[l>>2]|0;w=f[e>>2]|0;a:do if((w|0)<(r|0)){s=f[d+16>>2]|0;q=f[d+44>>2]|0;if((c|0)>0)A=w;else{y=w;while(1){y=f[e+(y<<2)>>2]|0;if((y|0)>=(r|0))break a}}do{y=f[q>>2]|0;v=s+(X(y,A)|0)|0;z=v+(0-y)|0;y=0;do{B=v+(y<<2)|0;C=f[B>>2]|0;if((C|0)>0?(D=f[z+(y<<2)>>2]|0,(D|0)>0):0){E=D;while(1){F=f[t+(E<<2)>>2]|0;if((F|0)<(E|0))E=F;else break}if((D|0)==(C|0))G=E;else{F=C;while(1){H=f[t+(F<<2)>>2]|0;if((H|0)<(F|0))F=H;else break}H=(E|0)>(F|0)?F:E;J=C;do{K=t+(J<<2)|0;L=J;J=f[K>>2]|0;f[K>>2]=H}while((J|0)<(L|0));G=H}H=D;do{J=t+(H<<2)|0;C=H;H=f[J>>2]|0;f[J>>2]=G}while((H|0)<(C|0));f[B>>2]=G}y=y+1|0}while((y|0)!=(c|0));A=f[e+(A<<2)>>2]|0}while((A|0)<(r|0))}while(0);if((n|0)>0){r=0;do{A=(((X(r,k)|0)+1|0)/2|0)+1|0;c=f[e+(r+1<<2)>>2]|0;G=c+A|0;if((c|0)>0){c=A;do{A=t+(c<<2)|0;w=f[A>>2]|0;if((w|0)<(c|0))f[A>>2]=f[t+(w<<2)>>2];else{f[A>>2]=f[i>>2];f[i>>2]=(f[i>>2]|0)+1}c=c+1|0}while((c|0)<(G|0))}r=f[e+(r<<2)>>2]|0}while((r|0)<(n|0))}}r=n*136|0;k=FQa(n>>>0>31580641|r>>>0>4294967291?-1:r+4|0)|0;f[k>>2]=n;r=k+4|0;if(n|0){G=r+(n*136|0)|0;n=r;do{f[n>>2]=0;f[n+4>>2]=1124007936;c=n+12|0;A=n+44|0;m=n+8|0;o=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(o|0));f[A>>2]=c;w=n+52|0;f[n+48>>2]=w;f[w>>2]=0;f[n+56>>2]=0;f[n+60>>2]=0;f[n+64>>2]=1124007936;w=n+72|0;s=n+104|0;m=n+68|0;o=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(o|0));f[s>>2]=w;c=n+112|0;f[n+108>>2]=c;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;n=n+136|0}while((n|0)!=(G|0))}Cha(g,f[i>>2]|0);f[j>>2]=58480;f[j+4>>2]=d;f[j+8>>2]=t;f[j+12>>2]=g;f[j+16>>2]=r;f[j+20>>2]=i;$Z(h,j,x);j=f[l>>2]|0;l=f[g+132>>2]|0;if((l|0)<(j|0)){h=g+20|0;d=g+48|0;G=g+120|0;n=l;l=f[i>>2]|0;while(1){if((l|0)>0){m=r+(n*136|0)+120|0;o=f[r+(n*136|0)+20>>2]|0;c=f[r+(n*136|0)+48>>2]|0;A=0;q=l;while(1){y=o+(X(f[c>>2]|0,A)|0)|0;z=y+16|0;if((f[z>>2]|0)>0){v=(f[h>>2]|0)+(X(f[f[d>>2]>>2]|0,A)|0)|0;H=f[v>>2]|0;D=f[y>>2]|0;f[v>>2]=(H|0)>(D|0)?D:H;H=v+8|0;f[H>>2]=f[((f[H>>2]|0)<(f[y+8>>2]|0)?y:v)+8>>2];H=v+4|0;f[H>>2]=f[((f[H>>2]|0)>(f[y+4>>2]|0)?y:v)+4>>2];H=v+12|0;f[H>>2]=f[((f[H>>2]|0)<(f[y+12>>2]|0)?y:v)+12>>2];y=v+16|0;f[y>>2]=(f[y>>2]|0)+(f[z>>2]|0);z=f[m>>2]|0;y=z+(A<<4)|0;v=f[G>>2]|0;H=v+(A<<4)|0;D=H;C=qVa(f[D>>2]|0,f[D+4>>2]|0,f[y>>2]|0,f[y+4>>2]|0)|0;y=H;f[y>>2]=C;f[y+4>>2]=I;y=z+(A<<4)+8|0;z=v+(A<<4)+8|0;v=z;C=qVa(f[v>>2]|0,f[v+4>>2]|0,f[y>>2]|0,f[y+4>>2]|0)|0;y=z;f[y>>2]=C;f[y+4>>2]=I;M=f[i>>2]|0}else M=q;A=A+1|0;if((A|0)>=(M|0)){N=M;break}else q=M}}else N=l;n=f[r+(n*136|0)+132>>2]|0;if((n|0)>=(j|0))break;else l=N}}N=g+12|0;if((f[N>>2]|0)>0){l=f[g+20>>2]|0;j=f[g+48>>2]|0;n=f[g+120>>2]|0;M=f[g+80>>2]|0;G=f[g+108>>2]|0;g=0;do{d=l+(X(f[j>>2]|0,g)|0)|0;h=d+8|0;f[h>>2]=(f[h>>2]|0)+1-(f[d>>2]|0);h=d+12|0;f[h>>2]=(f[h>>2]|0)+1-(f[d+4>>2]|0);h=M+(X(f[G>>2]|0,g)|0)|0;x=+((f[d+16>>2]|0)>>>0);d=n+(g<<4)|0;p[h>>3]=(+((f[d>>2]|0)>>>0)+4294967296.0*+((f[d+4>>2]|0)>>>0))/x;d=n+(g<<4)+8|0;p[h+8>>3]=(+((f[d>>2]|0)>>>0)+4294967296.0*+((f[d+4>>2]|0)>>>0))/x;g=g+1|0}while((g|0)<(f[N>>2]|0))}N=r+((f[k>>2]|0)*136|0)|0;if((N|0)==(r|0)){HQa(k);dX(e);dX(t);O=f[i>>2]|0;u=a;return O|0}else P=N;do{P=P+-136|0;uha(P)}while((P|0)!=(r|0));HQa(k);dX(e);dX(t);O=f[i>>2]|0;u=a;return O|0} +function RSa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;e=u;u=u+112|0;g=e+96|0;h=e+72|0;i=e+48|0;j=e+36|0;k=e+24|0;l=e+12|0;m=e;do if(((a|0)!=(c|0)?(b[a>>0]|0)==65:0)?(n=a+1|0,(n|0)!=(c|0)):0){o=b[n>>0]|0;if(o<<24>>24==95){p=a+2|0;q=JSa(p,c,d)|0;if((q|0)==(p|0)){r=a;break}p=d+4|0;s=f[p>>2]|0;if((f[d>>2]|0)==(s|0)){r=a;break}WSa(g,s+-12|0,2);s=$Ga(451314)|0;t=b[g+11>>0]|0;if((s|0)==((t<<24>>24<0?f[g+4>>2]|0:t&255)|0)){t=(XSa(g,451314,s)|0)==0;FSa(g);if(t)VUa((f[p>>2]|0)+-12|0)}else FSa(g);MSa((f[p>>2]|0)+-12|0,0,452755)|0;r=q;break}if((o+-49&255)<9){o=kTa(n,c)|0;if((o|0)==(c|0)){r=a;break}if((b[o>>0]|0)!=95){r=a;break}q=o+1|0;p=JSa(q,c,d)|0;if((p|0)==(q|0)){r=a;break}q=d+4|0;t=f[q>>2]|0;if((f[d>>2]|0)==(t|0)){r=a;break}WSa(g,t+-12|0,2);t=$Ga(451314)|0;s=b[g+11>>0]|0;if((t|0)==((s<<24>>24<0?f[g+4>>2]|0:s&255)|0)){s=(XSa(g,451314,t)|0)==0;FSa(g);if(s)VUa((f[q>>2]|0)+-12|0)}else FSa(g);s=(f[q>>2]|0)+-12|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;q=o-n|0;if(q>>>0>4294967279)NQa(j);if(q>>>0<11){b[j+11>>0]=q;v=j}else{t=q+16&-16;w=CSa(t)|0;f[j>>2]=w;f[j+8>>2]=t|-2147483648;f[j+4>>2]=q;v=w}w=n;t=v;while(1){if((w|0)==(o|0))break;aHa(t,w);w=w+1|0;t=t+1|0}b[g>>0]=0;aHa(v+q|0,g);MSa(j,0,451314)|0;f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];f[i+8>>2]=f[j+8>>2];t=0;while(1){if((t|0)==3)break;f[j+(t<<2)>>2]=0;t=t+1|0}NSa(i,451369)|0;f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];f[h+8>>2]=f[i+8>>2];t=0;while(1){if((t|0)==3)break;f[i+(t<<2)>>2]=0;t=t+1|0}t=b[h+11>>0]|0;q=t<<24>>24<0;OUa(s,0,q?f[h>>2]|0:h,q?f[h+4>>2]|0:t&255)|0;FSa(h);FSa(i);FSa(j);r=p;break}t=lTa(n,c,d)|0;if(((!((t|0)==(n|0)|(t|0)==(c|0))?(b[t>>0]|0)==95:0)?(q=t+1|0,t=JSa(q,c,d)|0,(t|0)!=(q|0)):0)?(q=d+4|0,w=f[q>>2]|0,((w-(f[d>>2]|0)|0)/24|0)>>>0>=2):0){eTa(h,w+-24|0);w=f[q>>2]|0;o=w+-24|0;x=w;while(1){if((x|0)==(o|0))break;y=x+-24|0;f[q>>2]=y;oSa(y);x=f[q>>2]|0}eTa(i,w+-48|0);x=f[q>>2]|0;o=x+-24|0;n=o+11|0;if((b[n>>0]|0)<0){p=f[o>>2]|0;b[g>>0]=0;aHa(p,g);f[x+-20>>2]=0}else{b[g>>0]=0;aHa(o,g);b[n>>0]=0}mTa(o);f[o>>2]=f[h>>2];f[o+4>>2]=f[h+4>>2];f[o+8>>2]=f[h+8>>2];o=0;while(1){if((o|0)==3)break;f[h+(o<<2)>>2]=0;o=o+1|0}o=h+12|0;WSa(g,o,2);w=$Ga(451314)|0;n=b[g+11>>0]|0;if((w|0)==((n<<24>>24<0?f[g+4>>2]|0:n&255)|0)){n=(XSa(g,451314,w)|0)==0;FSa(g);if(n)VUa(o)}else FSa(g);$Sa(m,i);MSa(m,0,451314)|0;f[l>>2]=f[m>>2];f[l+4>>2]=f[m+4>>2];f[l+8>>2]=f[m+8>>2];n=0;while(1){if((n|0)==3)break;f[m+(n<<2)>>2]=0;n=n+1|0}NSa(l,451369)|0;f[k>>2]=f[l>>2];f[k+4>>2]=f[l+4>>2];f[k+8>>2]=f[l+8>>2];n=0;while(1){if((n|0)==3)break;f[l+(n<<2)>>2]=0;n=n+1|0}n=b[o+11>>0]|0;w=n<<24>>24<0;rSa(k,w?f[o>>2]|0:o,w?f[h+16>>2]|0:n&255)|0;f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];f[j+8>>2]=f[k+8>>2];n=0;while(1){if((n|0)==3)break;f[k+(n<<2)>>2]=0;n=n+1|0}n=f[q>>2]|0;o=n+-12|0;w=o+11|0;if((b[w>>0]|0)<0){x=f[o>>2]|0;b[g>>0]=0;aHa(x,g);f[n+-8>>2]=0}else{b[g>>0]=0;aHa(o,g);b[w>>0]=0}mTa(o);f[o>>2]=f[j>>2];f[o+4>>2]=f[j+4>>2];f[o+8>>2]=f[j+8>>2];o=0;while(1){if((o|0)==3)break;f[j+(o<<2)>>2]=0;o=o+1|0}FSa(j);FSa(k);FSa(l);FSa(m);oSa(i);oSa(h);r=t}else r=a}else r=a;while(0);u=e;return r|0}function SSa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;f[a>>2]=0;d=a+4|0;f[d>>2]=0;e=f[c>>2]|0;f[a+8>>2]=0;f[a+12>>2]=e;UUa(a);OSa(f[d>>2]|0,b);f[d>>2]=(f[d>>2]|0)+24;return}function TSa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+32|0;d=c;e=a+4|0;g=((f[e>>2]|0)-(f[a>>2]|0)>>4)+1|0;h=PUa(a)|0;if(h>>>0>>0)ZOa(a);else{i=f[a>>2]|0;j=(f[a+8>>2]|0)-i|0;k=j>>3;QUa(d,j>>4>>>0>>1>>>0?(k>>>0>>0?g:k):h,(f[e>>2]|0)-i>>4,a+12|0);i=d+8|0;e=f[i>>2]|0;f[e>>2]=0;h=e+4|0;f[h>>2]=0;k=f[b+12>>2]|0;f[e+8>>2]=0;f[e+12>>2]=k;f[e>>2]=f[b>>2];k=b+4|0;f[h>>2]=f[k>>2];h=b+8|0;f[e+8>>2]=f[h>>2];f[h>>2]=0;f[k>>2]=0;f[b>>2]=0;f[i>>2]=e+16;RUa(a,d);SUa(d);u=c;return}}function USa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;e=u;u=u+32|0;g=e+12|0;h=e;a:do if(((a|0)!=(c|0)?(b[a>>0]|0)==70:0)?(i=a+1|0,(i|0)!=(c|0)):0){if((b[i>>0]|0)==89){j=a+2|0;if((j|0)==(c|0)){k=a;break}else l=j}else l=i;i=JSa(l,c,d)|0;if((i|0)!=(l|0)){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;j=$Ga(451322)|0;if(j>>>0>4294967279)NQa(h);if(j>>>0<11){m=h+11|0;b[m>>0]=j;n=h;o=m;p=h+4|0}else{m=j+16&-16;q=CSa(m)|0;f[h>>2]=q;f[h+8>>2]=m|-2147483648;m=h+4|0;f[m>>2]=j;n=q;o=h+11|0;p=m}gGa(n,451322,j)|0;b[g>>0]=0;aHa(n+j|0,g);j=d+4|0;m=g+11|0;q=g+4|0;r=0;s=i;b:while(1){t=s;c:while(1){if((t|0)==(c|0)){v=15;break b}switch(b[t>>0]|0){case 69:{v=19;break b;break}case 118:{t=t+1|0;continue c;break}case 82:{i=t+1|0;if((i|0)!=(c|0)?(b[i>>0]|0)==69:0){r=1;s=i;continue b}break}case 79:{i=t+1|0;if((i|0)!=(c|0)?(b[i>>0]|0)==69:0){r=2;s=i;continue b}break}default:{}}i=((f[j>>2]|0)-(f[d>>2]|0)|0)/24|0;w=JSa(t,c,d)|0;x=((f[j>>2]|0)-(f[d>>2]|0)|0)/24|0;if((w|0)==(t|0)|(w|0)==(c|0))break b;else y=i;while(1){if(y>>>0>=x>>>0){z=i;break}A=b[o>>0]|0;if((A<<24>>24<0?f[p>>2]|0:A&255)>>>0>1)NSa(h,451544)|0;$Sa(g,(f[d>>2]|0)+(y*24|0)|0);A=b[m>>0]|0;B=A<<24>>24<0;rSa(h,B?f[g>>2]|0:g,B?f[q>>2]|0:A&255)|0;FSa(g);y=y+1|0}while(1){if(z>>>0>=x>>>0){t=w;continue c}i=f[j>>2]|0;A=i+-24|0;B=i;while(1){if((B|0)==(A|0))break;i=B+-24|0;f[j>>2]=i;oSa(i);B=f[j>>2]|0}z=z+1|0}}}d:do if((v|0)==15){q=f[j>>2]|0;m=q+-24|0;s=q;while(1){if((s|0)==(m|0))break d;q=s+-24|0;f[j>>2]=q;oSa(q);s=f[j>>2]|0}}else if((v|0)==19){s=t+1|0;NSa(h,451320)|0;switch(r&3){case 1:{NSa(h,452748)|0;break}case 2:{NSa(h,452751)|0;break}default:{}}m=f[j>>2]|0;if((f[d>>2]|0)!=(m|0)){NSa(m+-24|0,451354)|0;m=b[o>>0]|0;q=m<<24>>24<0;OUa((f[j>>2]|0)+-12|0,0,q?f[h>>2]|0:h,q?f[p>>2]|0:m&255)|0;FSa(h);k=s;break a}}while(0);FSa(h);k=a}else k=a}else k=a;while(0);u=e;return k|0}function VSa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=u;u=u+112|0;g=e+96|0;h=e+72|0;i=e+48|0;j=e+36|0;k=e+24|0;l=e+12|0;m=e;if(((((a|0)!=(c|0)?(b[a>>0]|0)==77:0)?(n=a+1|0,o=JSa(n,c,d)|0,(o|0)!=(n|0)):0)?(n=JSa(o,c,d)|0,(n|0)!=(o|0)):0)?(o=d+4|0,c=f[o>>2]|0,((c-(f[d>>2]|0)|0)/24|0)>>>0>=2):0){eTa(h,c+-24|0);c=f[o>>2]|0;d=c+-24|0;p=c;while(1){if((p|0)==(d|0))break;q=p+-24|0;f[o>>2]=q;oSa(q);p=f[o>>2]|0}eTa(i,c+-48|0);c=h+12|0;a:do if((b[((b[c+11>>0]|0)<0?f[c>>2]|0:c)>>0]|0)==40){NSa(h,451322)|0;f[l>>2]=f[h>>2];f[l+4>>2]=f[h+4>>2];f[l+8>>2]=f[h+8>>2];p=0;while(1){if((p|0)==3)break;f[h+(p<<2)>>2]=0;p=p+1|0}$Sa(m,i);p=b[m+11>>0]|0;d=p<<24>>24<0;rSa(l,d?f[m>>2]|0:m,d?f[m+4>>2]|0:p&255)|0;f[k>>2]=f[l>>2];f[k+4>>2]=f[l+4>>2];f[k+8>>2]=f[l+8>>2];p=0;while(1){if((p|0)==3)break;f[l+(p<<2)>>2]=0;p=p+1|0}NSa(k,452744)|0;f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];f[j+8>>2]=f[k+8>>2];p=0;while(1){if((p|0)==3)break;f[k+(p<<2)>>2]=0;p=p+1|0}p=f[o>>2]|0;d=p+-24|0;q=d+11|0;if((b[q>>0]|0)<0){r=f[d>>2]|0;b[g>>0]=0;aHa(r,g);f[p+-20>>2]=0}else{b[g>>0]=0;aHa(d,g);b[q>>0]=0}mTa(d);f[d>>2]=f[j>>2];f[d+4>>2]=f[j+4>>2];f[d+8>>2]=f[j+8>>2];d=0;while(1){if((d|0)==3)break;f[j+(d<<2)>>2]=0;d=d+1|0}FSa(j);FSa(k);FSa(m);FSa(l);MSa(c,0,451320)|0;f[j>>2]=f[c>>2];f[j+4>>2]=f[c+4>>2];f[j+8>>2]=f[c+8>>2];d=0;while(1){if((d|0)==3)break;f[c+(d<<2)>>2]=0;d=d+1|0}d=f[o>>2]|0;q=d+-12|0;p=q+11|0;if((b[p>>0]|0)<0){r=f[q>>2]|0;b[g>>0]=0;aHa(r,g);f[d+-8>>2]=0}else{b[g>>0]=0;aHa(q,g);b[p>>0]=0}mTa(q);f[q>>2]=f[j>>2];f[q+4>>2]=f[j+4>>2];f[q+8>>2]=f[j+8>>2];q=0;while(1){if((q|0)==3)break;f[j+(q<<2)>>2]=0;q=q+1|0}FSa(j)}else{NSa(h,451354)|0;f[l>>2]=f[h>>2];f[l+4>>2]=f[h+4>>2];f[l+8>>2]=f[h+8>>2];q=0;while(1){if((q|0)==3)break;f[h+(q<<2)>>2]=0;q=q+1|0}$Sa(m,i);q=b[m+11>>0]|0;p=q<<24>>24<0;rSa(l,p?f[m>>2]|0:m,p?f[m+4>>2]|0:q&255)|0;f[k>>2]=f[l>>2];f[k+4>>2]=f[l+4>>2];f[k+8>>2]=f[l+8>>2];q=0;while(1){if((q|0)==3)break;f[l+(q<<2)>>2]=0;q=q+1|0}NSa(k,452744)|0;f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];f[j+8>>2]=f[k+8>>2];q=0;while(1){if((q|0)==3)break;f[k+(q<<2)>>2]=0;q=q+1|0}q=f[o>>2]|0;p=q+-24|0;d=p+11|0;if((b[d>>0]|0)<0){r=f[p>>2]|0;b[g>>0]=0;aHa(r,g);f[q+-20>>2]=0}else{b[g>>0]=0;aHa(p,g);b[d>>0]=0}mTa(p);f[p>>2]=f[j>>2];f[p+4>>2]=f[j+4>>2];f[p+8>>2]=f[j+8>>2];p=0;while(1){if((p|0)==3)break;f[j+(p<<2)>>2]=0;p=p+1|0}FSa(j);FSa(k);FSa(m);FSa(l);p=f[o>>2]|0;d=p+-12|0;q=d+11|0;if((b[q>>0]|0)<0){r=f[d>>2]|0;b[g>>0]=0;aHa(r,g);f[p+-8>>2]=0}else{b[g>>0]=0;aHa(d,g);b[q>>0]=0}mTa(d);f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];d=0;while(1){if((d|0)==3)break a;f[c+(d<<2)>>2]=0;d=d+1|0}}while(0);oSa(i);oSa(h);s=n}else s=a;u=e;return s|0}function WSa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;h=b[c+11>>0]|0;i=h<<24>>24<0;j=i?f[c+4>>2]|0:h&255;h=i?f[c>>2]|0:c;c=j>>>0>>0?j:d;if(c>>>0>4294967279)NQa(a);if(c>>>0<11){b[a+11>>0]=c;k=a}else{d=c+16&-16;j=CSa(d)|0;f[a>>2]=j;f[a+8>>2]=d|-2147483648;f[a+4>>2]=c;k=j}gGa(k,h,c)|0;b[g>>0]=0;aHa(k+c|0,g);u=e;return}function XSa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=b[a+11>>0]|0;g=e<<24>>24<0;if(g)h=f[a+4>>2]|0;else h=e&255;if((d|0)==-1)OQa(a);if(g)i=f[a>>2]|0;else i=a;a=h>>>0>d>>>0;g=xQa(i,c,a?d:h)|0;if(!g)return (h>>>0>>0?-1:a&1)|0;else return g|0;return 0}function YSa(a){a=a|0;NUa(a,$Ga(452741)|0);return}function ZSa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;e=u;u=u+64|0;g=e+40|0;h=e;i=e+24|0;j=a;a:do if((c-j|0)>1?(b[a>>0]|0)==84:0){k=b[a+1>>0]|0;if(k<<24>>24==95){l=f[d+36>>2]|0;if((f[d+32>>2]|0)==(l|0)){m=a;break}n=f[l+-16>>2]|0;if((n|0)==(f[l+-12>>2]|0)){MUa(g);l=d+4|0;o=f[l>>2]|0;if(o>>>0<(f[d+8>>2]|0)>>>0){eTa(o,g);f[l>>2]=(f[l>>2]|0)+24}else fTa(d,g);oSa(g);b[d+62>>0]=1;m=a+2|0;break}l=f[n+4>>2]|0;o=d+4|0;p=d+8|0;q=f[n>>2]|0;while(1){if((q|0)==(l|0))break;n=f[o>>2]|0;if((n|0)==(f[p>>2]|0))PSa(d,q);else{OSa(n,q);f[o>>2]=(f[o>>2]|0)+24}q=q+24|0}m=a+2|0;break}q=(k<<24>>24)+-48|0;if(q>>>0<10){o=q;q=a+2|0;while(1){if((q|0)==(c|0)){m=a;break a}r=b[q>>0]|0;p=(r<<24>>24)+-48|0;if(p>>>0>=10)break;o=p+(o*10|0)|0;q=q+1|0}if(r<<24>>24==95?(k=f[d+36>>2]|0,(f[d+32>>2]|0)!=(k|0)):0){p=o+1|0;l=f[k+-16>>2]|0;n=l;if(p>>>0<(f[k+-12>>2]|0)-l>>4>>>0){l=f[n+(p<<4)+4>>2]|0;k=d+4|0;s=d+8|0;t=f[n+(p<<4)>>2]|0;while(1){if((t|0)==(l|0))break;p=f[k>>2]|0;if((p|0)==(f[s>>2]|0))PSa(d,t);else{OSa(p,t);f[k>>2]=(f[k>>2]|0)+24}t=t+24|0}m=q+1|0;break}t=q+1|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;k=t-j|0;if(k>>>0>4294967279)NQa(i);if(k>>>0<11){b[i+11>>0]=k;v=i}else{s=k+16&-16;l=CSa(s)|0;f[i>>2]=l;f[i+8>>2]=s|-2147483648;f[i+4>>2]=k;v=l}l=a;s=v;while(1){if((l|0)==(t|0))break;aHa(s,l);l=l+1|0;s=s+1|0}b[g>>0]=0;aHa(v+k|0,g);cTa(h,i);s=d+4|0;l=f[s>>2]|0;if(l>>>0<(f[d+8>>2]|0)>>>0){eTa(l,h);f[s>>2]=(f[s>>2]|0)+24}else fTa(d,h);oSa(h);FSa(i);b[d+62>>0]=1;m=t}else m=a}else m=a}else m=a;while(0);u=e;return m|0}function _Sa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;e=u;u=u+64|0;g=e+32|0;h=e+16|0;i=e;j=e+4|0;do if((c-a|0)>1?(b[a>>0]|0)==73:0){k=d+61|0;a:do if(b[k>>0]|0){l=f[d+36>>2]|0;m=f[l+-16>>2]|0;n=l+-12|0;while(1){l=f[n>>2]|0;if((l|0)==(m|0))break a;o=l+-16|0;f[n>>2]=o;pSa(o)}}while(0);f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;n=$Ga(451356)|0;if(n>>>0>4294967279)NQa(h);if(n>>>0<11){m=h+11|0;b[m>>0]=n;p=h;q=m;r=h+4|0}else{m=n+16&-16;o=CSa(m)|0;f[h>>2]=o;f[h+8>>2]=m|-2147483648;m=h+4|0;f[m>>2]=n;p=o;q=h+11|0;r=m}gGa(p,451356,n)|0;b[g>>0]=0;aHa(p+n|0,g);n=d+4|0;m=d+36|0;o=d+12|0;l=g+11|0;s=g+4|0;t=d+40|0;v=d+32|0;w=a+1|0;b:while(1){if((b[w>>0]|0)==69)break;if(b[k>>0]|0){f[i>>2]=f[o>>2];x=f[m>>2]|0;if(x>>>0<(f[t>>2]|0)>>>0){EUa(g,i);f[x>>2]=0;f[x+4>>2]=0;y=f[g>>2]|0;f[x+8>>2]=0;f[x+12>>2]=y;f[m>>2]=(f[m>>2]|0)+16}else FUa(v,i)}y=((f[n>>2]|0)-(f[d>>2]|0)|0)/24|0;x=GUa(w,c,d)|0;z=((f[n>>2]|0)-(f[d>>2]|0)|0)/24|0;c:do if(b[k>>0]|0){A=f[m>>2]|0;B=A+-16|0;C=A;while(1){if((C|0)==(B|0))break c;A=C+-16|0;f[m>>2]=A;vSa(A);C=f[m>>2]|0}}while(0);if((x|0)==(w|0)|(x|0)==(c|0)){D=53;break}d:do if(!(b[k>>0]|0))E=y;else{C=f[m>>2]|0;B=f[o>>2]|0;f[g>>2]=B;A=C+-12|0;F=f[A>>2]|0;if(F>>>0<(f[C+-8>>2]|0)>>>0){f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;f[F+12>>2]=B;f[A>>2]=(f[A>>2]|0)+16}else LSa(C+-16|0,g);C=y;while(1){if(C>>>0>=z>>>0){E=y;break d}A=f[(f[m>>2]|0)+-12>>2]|0;B=(f[d>>2]|0)+(C*24|0)|0;F=A+-12|0;G=f[F>>2]|0;if((G|0)==(f[A+-8>>2]|0))PSa(A+-16|0,B);else{OSa(G,B);f[F>>2]=(f[F>>2]|0)+24}C=C+1|0}}while(0);while(1){if(E>>>0>=z>>>0){H=z;break}C=b[q>>0]|0;if((C<<24>>24<0?f[r>>2]|0:C&255)>>>0>1)NSa(h,451544)|0;$Sa(g,(f[d>>2]|0)+(E*24|0)|0);C=b[l>>0]|0;F=C<<24>>24<0;rSa(h,F?f[g>>2]|0:g,F?f[s>>2]|0:C&255)|0;FSa(g);E=E+1|0}while(1){if((H|0)==(y|0)){w=x;continue b}z=f[n>>2]|0;C=z+-24|0;F=z;while(1){if((F|0)==(C|0))break;z=F+-24|0;f[n>>2]=z;oSa(z);F=f[n>>2]|0}H=H+-1|0}}if((D|0)==53){FSa(h);I=a;break}s=w+1|0;l=b[q>>0]|0;m=l<<24>>24<0;if((b[(m?f[h>>2]|0:h)+(m?f[r>>2]|0:l&255)+-1>>0]|0)==62)NSa(h,452735)|0;else NSa(h,451358)|0;f[j>>2]=f[h>>2];f[j+4>>2]=f[h+4>>2];f[j+8>>2]=f[h+8>>2];l=0;while(1){if((l|0)==3)break;f[h+(l<<2)>>2]=0;l=l+1|0}cTa(g,j);l=f[n>>2]|0;if(l>>>0<(f[d+8>>2]|0)>>>0){eTa(l,g);f[n>>2]=(f[n>>2]|0)+24}else fTa(d,g);oSa(g);FSa(j);FSa(h);I=s}else I=a;while(0);u=e;return I|0}function $Sa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=c+12|0;e=b[d+11>>0]|0;g=e<<24>>24<0;rSa(c,g?f[d>>2]|0:d,g?f[c+16>>2]|0:e&255)|0;f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];a=0;while(1){if((a|0)==3)break;f[c+(a<<2)>>2]=0;a=a+1|0}return}function aTa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=u;u=u+48|0;g=e+24|0;h=e+12|0;i=e;a:do if(((a|0)!=(c|0)?(j=(b[a>>0]|0)+-48|0,j>>>0<10):0)?(k=a+1|0,(k|0)!=(c|0)):0){l=j;j=k;while(1){k=(b[j>>0]|0)+-48|0;if(k>>>0>=10)break;m=j+1|0;if((m|0)==(c|0)){n=a;break a}l=k+(l*10|0)|0;j=m}if((c-j|0)>>>0>=l>>>0){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;if(l>>>0>4294967279)NQa(h);if(l>>>0<11){b[h+11>>0]=l;o=h}else{m=l+16&-16;k=CSa(m)|0;f[h>>2]=k;f[h+8>>2]=m|-2147483648;f[h+4>>2]=l;o=k}gGa(o,j,l)|0;b[g>>0]=0;aHa(o+l|0,g);WSa(g,h,10);k=$Ga(452702)|0;m=b[g+11>>0]|0;if((k|0)==((m<<24>>24<0?f[g+4>>2]|0:m&255)|0))p=(XSa(g,452702,k)|0)==0;else p=0;FSa(g);if(p){DUa(g);k=d+4|0;m=f[k>>2]|0;if(m>>>0<(f[d+8>>2]|0)>>>0){eTa(m,g);f[k>>2]=(f[k>>2]|0)+24}else fTa(d,g);oSa(g)}else{f[i>>2]=f[h>>2];f[i+4>>2]=f[h+4>>2];f[i+8>>2]=f[h+8>>2];k=0;while(1){if((k|0)==3)break;f[h+(k<<2)>>2]=0;k=k+1|0}cTa(g,i);k=d+4|0;m=f[k>>2]|0;if(m>>>0<(f[d+8>>2]|0)>>>0){eTa(m,g);f[k>>2]=(f[k>>2]|0)+24}else fTa(d,g);oSa(g);FSa(i)}FSa(h);n=j+l|0}else n=a}else n=a;while(0);u=e;return n|0}function bTa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=u;u=u+16|0;g=e;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;h=0;while(1){if((h|0)==3)break;f[a+(h<<2)>>2]=0;h=h+1|0}h=c+11|0;i=b[h>>0]|0;j=i<<24>>24<0?f[c+4>>2]|0:i&255;i=$Ga(d)|0;k=(b[h>>0]|0)<0?f[c>>2]|0:c;c=j+i|0;if(c>>>0>4294967279)NQa(a);if(c>>>0<11){b[a+11>>0]=j;l=a}else{h=c+16&-16;c=CSa(h)|0;f[a>>2]=c;f[a+8>>2]=h|-2147483648;f[a+4>>2]=j;l=c}gGa(l,k,j)|0;b[g>>0]=0;aHa(l+j|0,g);rSa(a,d,i)|0;u=e;return}function cTa(a,b){a=a|0;b=b|0;var c=0;f[a>>2]=f[b>>2];f[a+4>>2]=f[b+4>>2];f[a+8>>2]=f[b+8>>2];c=0;while(1){if((c|0)==3)break;f[b+(c<<2)>>2]=0;c=c+1|0}c=a+12|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[c+(a<<2)>>2]=0;a=a+1|0}return}function dTa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+16|0;e=d;g=a+11|0;if((b[g>>0]|0)<0){h=f[a>>2]|0;b[e>>0]=0;aHa(h,e);f[a+4>>2]=0}else{b[e>>0]=0;aHa(a,e);b[g>>0]=0}mTa(a);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];g=0;while(1){if((g|0)==3)break;f[c+(g<<2)>>2]=0;g=g+1|0}g=a+12|0;h=c+12|0;c=g+11|0;if((b[c>>0]|0)<0){i=f[g>>2]|0;b[e>>0]=0;aHa(i,e);f[a+16>>2]=0}else{b[e>>0]=0;aHa(g,e);b[c>>0]=0}mTa(g);f[g>>2]=f[h>>2];f[g+4>>2]=f[h+4>>2];f[g+8>>2]=f[h+8>>2];g=0;while(1){if((g|0)==3)break;f[h+(g<<2)>>2]=0;g=g+1|0}u=d;return}function eTa(a,b){a=a|0;b=b|0;var c=0;f[a>>2]=f[b>>2];f[a+4>>2]=f[b+4>>2];f[a+8>>2]=f[b+8>>2];c=0;while(1){if((c|0)==3)break;f[b+(c<<2)>>2]=0;c=c+1|0}c=a+12|0;a=b+12|0;f[c>>2]=f[a>>2];f[c+4>>2]=f[a+4>>2];f[c+8>>2]=f[a+8>>2];c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}return}function fTa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+32|0;d=c;e=a+4|0;g=(((f[e>>2]|0)-(f[a>>2]|0)|0)/24|0)+1|0;h=mUa(a)|0;if(h>>>0>>0)ZOa(a);else{i=f[a>>2]|0;j=((f[a+8>>2]|0)-i|0)/24|0;k=j<<1;nUa(d,j>>>0>>1>>>0?(k>>>0>>0?g:k):h,((f[e>>2]|0)-i|0)/24|0,a+12|0);i=d+8|0;e=f[i>>2]|0;eTa(e,b);f[i>>2]=e+24;oUa(a,d);pUa(d);u=c;return}}function gTa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=u;u=u+32|0;g=e+8|0;h=e;a:do if((c-a|0)>1){i=(b[a>>0]|0)==76?a+1|0:a;switch(b[i>>0]|0){case 78:{j=yUa(i,c,d)|0;k=(j|0)==(i|0)?a:j;break a;break}case 90:{j=zUa(i,c,d)|0;k=(j|0)==(i|0)?a:j;break a;break}default:{j=AUa(i,c,d)|0;if((j|0)==(i|0)){l=hTa(i,c,d)|0;if((l|0)==(i|0)|(l|0)==(c|0)){k=a;break a}if((b[l>>0]|0)!=73){k=a;break a}i=_Sa(l,c,d)|0;if((i|0)==(l|0)){k=a;break a}l=d+4|0;m=f[l>>2]|0;if(((m-(f[d>>2]|0)|0)/24|0)>>>0<2){k=a;break a}$Sa(g,m+-24|0);m=f[l>>2]|0;n=m+-24|0;o=m;while(1){if((o|0)==(n|0))break;p=o+-24|0;f[l>>2]=p;oSa(p);o=f[l>>2]|0}l=b[g+11>>0]|0;o=l<<24>>24<0;rSa(m+-48|0,o?f[g>>2]|0:g,o?f[g+4>>2]|0:l&255)|0;FSa(g);k=i;break a}if((j|0)==(c|0)){k=c;break a}if((b[j>>0]|0)!=73){k=j;break a}l=d+4|0;o=f[l>>2]|0;if((f[d>>2]|0)==(o|0)){k=a;break a}f[h>>2]=f[d+12>>2];SSa(g,o+-24|0,h);o=d+20|0;n=f[o>>2]|0;if(n>>>0<(f[d+24>>2]|0)>>>0){f[n>>2]=0;p=n+4|0;f[p>>2]=0;q=f[g+12>>2]|0;f[n+8>>2]=0;f[n+12>>2]=q;f[n>>2]=f[g>>2];q=g+4|0;f[p>>2]=f[q>>2];p=g+8|0;f[n+8>>2]=f[p>>2];f[p>>2]=0;f[q>>2]=0;f[g>>2]=0;f[o>>2]=(f[o>>2]|0)+16}else TSa(d+16|0,g);pSa(g);o=_Sa(j,c,d)|0;if((o|0)==(j|0)){k=a;break a}q=f[l>>2]|0;if(((q-(f[d>>2]|0)|0)/24|0)>>>0<2){k=a;break a}$Sa(g,q+-24|0);q=f[l>>2]|0;p=q+-24|0;n=q;while(1){if((n|0)==(p|0))break;r=n+-24|0;f[l>>2]=r;oSa(r);n=f[l>>2]|0}l=b[g+11>>0]|0;n=l<<24>>24<0;rSa(q+-48|0,n?f[g>>2]|0:g,n?f[g+4>>2]|0:l&255)|0;FSa(g);k=o;break a}}}else k=a;while(0);u=e;return k|0}function hTa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=u;u=u+32|0;g=e;a:do if((c-a|0)>1?(b[a>>0]|0)==83:0){h=b[a+1>>0]|0;switch(h|0){case 97:{bUa(g,452648);i=d+4|0;j=f[i>>2]|0;if(j>>>0<(f[d+8>>2]|0)>>>0){eTa(j,g);f[i>>2]=(f[i>>2]|0)+24}else fTa(d,g);oSa(g);k=a+2|0;break a;break}case 98:{_Ta(g,452663);i=d+4|0;j=f[i>>2]|0;if(j>>>0<(f[d+8>>2]|0)>>>0){eTa(j,g);f[i>>2]=(f[i>>2]|0)+24}else fTa(d,g);oSa(g);k=a+2|0;break a;break}case 115:{aUa(g,452142);i=d+4|0;j=f[i>>2]|0;if(j>>>0<(f[d+8>>2]|0)>>>0){eTa(j,g);f[i>>2]=(f[i>>2]|0)+24}else fTa(d,g);oSa(g);k=a+2|0;break a;break}case 105:{cUa(g,452238);i=d+4|0;j=f[i>>2]|0;if(j>>>0<(f[d+8>>2]|0)>>>0){eTa(j,g);f[i>>2]=(f[i>>2]|0)+24}else fTa(d,g);oSa(g);k=a+2|0;break a;break}case 111:{cUa(g,452315);i=d+4|0;j=f[i>>2]|0;if(j>>>0<(f[d+8>>2]|0)>>>0){eTa(j,g);f[i>>2]=(f[i>>2]|0)+24}else fTa(d,g);oSa(g);k=a+2|0;break a;break}case 100:{xUa(g,452392);i=d+4|0;j=f[i>>2]|0;if(j>>>0<(f[d+8>>2]|0)>>>0){eTa(j,g);f[i>>2]=(f[i>>2]|0)+24}else fTa(d,g);oSa(g);k=a+2|0;break a;break}case 95:{i=f[d+16>>2]|0;if((i|0)==(f[d+20>>2]|0)){k=a;break a}j=f[i+4>>2]|0;l=d+4|0;m=d+8|0;n=f[i>>2]|0;while(1){if((n|0)==(j|0))break;i=f[l>>2]|0;if((i|0)==(f[m>>2]|0))PSa(d,n);else{OSa(i,n);f[l>>2]=(f[l>>2]|0)+24}n=n+24|0}k=a+2|0;break a;break}default:{n=(h+-48|0)>>>0<10;if(!n?(JDa(h)|0)==0:0){k=a;break a}l=a+2|0;m=(n?-48:-55)+h|0;while(1){if((l|0)==(c|0)){k=a;break a}o=b[l>>0]|0;n=o<<24>>24;j=(n+-48|0)>>>0<10;if(!j?(JDa(n)|0)==0:0)break;l=l+1|0;m=(m*36|0)+n+(j?-48:-55)|0}if(o<<24>>24!=95){k=a;break a}h=m+1|0;j=f[d+16>>2]|0;n=j;if(h>>>0>=(f[d+20>>2]|0)-j>>4>>>0){k=a;break a}j=f[n+(h<<4)+4>>2]|0;i=d+4|0;p=d+8|0;q=f[n+(h<<4)>>2]|0;while(1){if((q|0)==(j|0))break;h=f[i>>2]|0;if((h|0)==(f[p>>2]|0))PSa(d,q);else{OSa(h,q);f[i>>2]=(f[i>>2]|0)+24}q=q+24|0}k=l+1|0;break a}}}else k=a;while(0);u=e;return k|0}function iTa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+64|0;g=e+40|0;h=e+12|0;i=e+24|0;j=e;a:do if((c-a|0)>3?(b[a>>0]|0)==68:0){switch(b[a+1>>0]|0){case 84:case 116:break;default:{k=a;break a}}l=a+2|0;m=lTa(l,c,d)|0;if((!((m|0)==(l|0)|(m|0)==(c|0))?(b[m>>0]|0)==69:0)?(l=d+4|0,n=f[l>>2]|0,(f[d>>2]|0)!=(n|0)):0){$Sa(j,n+-24|0);MSa(j,0,452638)|0;f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];f[i+8>>2]=f[j+8>>2];n=0;while(1){if((n|0)==3)break;f[j+(n<<2)>>2]=0;n=n+1|0}NSa(i,451320)|0;f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];f[h+8>>2]=f[i+8>>2];n=0;while(1){if((n|0)==3)break;f[i+(n<<2)>>2]=0;n=n+1|0}cTa(g,h);dTa((f[l>>2]|0)+-24|0,g);oSa(g);FSa(h);FSa(i);FSa(j);k=m+1|0}else k=a}else k=a;while(0);u=e;return k|0}function jTa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;e=u;u=u+80|0;g=e+60|0;h=e+24|0;i=e+12|0;j=e;k=e+48|0;a:do if(((c-a|0)>3?(b[a>>0]|0)==68:0)?(b[a+1>>0]|0)==118:0){l=a+2|0;m=b[l>>0]|0;if((m+-49&255)>=9){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;n=0;while(1){if((n|0)==3)break;f[h+(n<<2)>>2]=0;n=n+1|0}b:do if(m<<24>>24!=95?(n=lTa(l,c,d)|0,(n|0)!=(l|0)):0){o=d+4|0;p=f[o>>2]|0;if((f[d>>2]|0)!=(p|0)){$Sa(i,p+-24|0);p=h+11|0;if((b[p>>0]|0)<0){q=f[h>>2]|0;b[g>>0]=0;aHa(q,g);f[h+4>>2]=0}else{b[g>>0]=0;aHa(h,g);b[p>>0]=0}mTa(h);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];f[h+8>>2]=f[i+8>>2];p=0;while(1){if((p|0)==3)break;f[i+(p<<2)>>2]=0;p=p+1|0}FSa(i);p=f[o>>2]|0;q=p+-24|0;r=p;while(1){if((r|0)==(q|0)){s=n;t=53;break b}p=r+-24|0;f[o>>2]=p;oSa(p);r=f[o>>2]|0}}}else{s=l;t=53}while(0);do if((t|0)==53){if((((s|0)!=(c|0)?(b[s>>0]|0)==95:0)?(m=s+1|0,(m|0)!=(c|0)):0)?(o=JSa(m,c,d)|0,(o|0)!=(m|0)):0){m=d+4|0;if((f[d>>2]|0)==(f[m>>2]|0))break;nTa(i,451360,h);NSa(i,451369)|0;f[g>>2]=f[i>>2];f[g+4>>2]=f[i+4>>2];f[g+8>>2]=f[i+8>>2];r=0;while(1){if((r|0)==3)break;f[i+(r<<2)>>2]=0;r=r+1|0}r=b[g+11>>0]|0;n=r<<24>>24<0;rSa((f[m>>2]|0)+-24|0,n?f[g>>2]|0:g,n?f[g+4>>2]|0:r&255)|0;FSa(g);FSa(i);v=o}else v=a;FSa(h);w=v;break a}while(0);FSa(h);w=a;break}r=kTa(l,c)|0;if(((r|0)!=(c|0)?(b[r>>0]|0)==95:0)?(n=r-l|0,q=r+1|0,(q|0)!=(c|0)):0){if((b[q>>0]|0)!=112){p=JSa(q,c,d)|0;if((p|0)==(q|0)){w=a;break}q=d+4|0;if((f[d>>2]|0)==(f[q>>2]|0)){w=a;break};f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if(n>>>0>4294967279)NQa(j);if(n>>>0<11){b[j+11>>0]=n;x=j}else{y=n+16&-16;z=CSa(y)|0;f[j>>2]=z;f[j+8>>2]=y|-2147483648;f[j+4>>2]=n;x=z}gGa(x,l,n)|0;b[g>>0]=0;aHa(x+n|0,g);MSa(j,0,451360)|0;f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];f[i+8>>2]=f[j+8>>2];z=0;while(1){if((z|0)==3)break;f[j+(z<<2)>>2]=0;z=z+1|0}NSa(i,451369)|0;f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];f[h+8>>2]=f[i+8>>2];z=0;while(1){if((z|0)==3)break;f[i+(z<<2)>>2]=0;z=z+1|0}z=b[h+11>>0]|0;y=z<<24>>24<0;rSa((f[q>>2]|0)+-24|0,y?f[h>>2]|0:h,y?f[h+4>>2]|0:z&255)|0;FSa(h);FSa(i);FSa(j);w=p;break}z=r+2|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if(n>>>0>4294967279)NQa(j);if(n>>>0<11){b[j+11>>0]=n;A=j}else{y=n+16&-16;B=CSa(y)|0;f[j>>2]=B;f[j+8>>2]=y|-2147483648;f[j+4>>2]=n;A=B}gGa(A,l,n)|0;b[g>>0]=0;aHa(A+n|0,g);MSa(j,0,451371)|0;f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];f[i+8>>2]=f[j+8>>2];B=0;while(1){if((B|0)==3)break;f[j+(B<<2)>>2]=0;B=B+1|0}NSa(i,451369)|0;f[k>>2]=f[i>>2];f[k+4>>2]=f[i+4>>2];f[k+8>>2]=f[i+8>>2];B=0;while(1){if((B|0)==3)break;f[i+(B<<2)>>2]=0;B=B+1|0}cTa(h,k);B=d+4|0;n=f[B>>2]|0;if(n>>>0<(f[d+8>>2]|0)>>>0){eTa(n,h);f[B>>2]=(f[B>>2]|0)+24}else fTa(d,h);oSa(h);FSa(k);FSa(i);FSa(j);w=z}else w=a}else w=a;while(0);u=e;return w|0}function kTa(a,c){a=a|0;c=c|0;var d=0,e=0,f=0;a:do if((a|0)!=(c|0)?(d=(b[a>>0]|0)==110?a+1|0:a,(d|0)!=(c|0)):0){e=b[d>>0]|0;if(e<<24>>24==48){f=d+1|0;break}if((e+-49&255)<9){e=d;while(1){d=e+1|0;if((d|0)==(c|0)){f=c;break a}if(((b[d>>0]|0)+-48|0)>>>0<10)e=d;else{f=d;break}}}else f=a}else f=a;while(0);return f|0}function lTa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;e=u;u=u+208|0;g=e+176|0;h=e+112|0;i=e+88|0;j=e+64|0;k=e+48|0;l=e+160|0;m=e+36|0;n=e+148|0;o=e+136|0;p=e+124|0;q=e+24|0;r=e+12|0;s=e;t=c;v=t-a|0;a:do if((v|0)>1){if((v|0)>3?(b[a>>0]|0)==103:0){w=(b[a+1>>0]|0)==115;x=w?a+2|0:a;y=w}else{x=a;y=0}do switch(b[x>>0]|0){case 76:{z=oTa(a,c,d)|0;break a;break}case 84:{z=ZSa(a,c,d)|0;break a;break}case 102:{z=pTa(a,c,d)|0;break a;break}case 97:{switch(b[x+1>>0]|0){case 97:{w=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;A=$Ga(451324)|0;if(A>>>0>4294967279)NQa(h);if(A>>>0<11){b[h+11>>0]=A;B=h}else{C=A+16&-16;D=CSa(C)|0;f[h>>2]=D;f[h+8>>2]=C|-2147483648;f[h+4>>2]=A;B=D}gGa(B,451324,A)|0;b[g>>0]=0;aHa(B+A|0,g);A=qTa(w,c,h,d)|0;FSa(h);z=(A|0)==(w|0)?a:A;break a;break}case 100:{A=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;w=$Ga(451342)|0;if(w>>>0>4294967279)NQa(h);if(w>>>0<11){b[h+11>>0]=w;E=h}else{D=w+16&-16;C=CSa(D)|0;f[h>>2]=C;f[h+8>>2]=D|-2147483648;f[h+4>>2]=w;E=C}gGa(E,451342,w)|0;b[g>>0]=0;aHa(E+w|0,g);w=rTa(A,c,h,d)|0;FSa(h);z=(w|0)==(A|0)?a:w;break a;break}case 110:{w=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;A=$Ga(451342)|0;if(A>>>0>4294967279)NQa(h);if(A>>>0<11){b[h+11>>0]=A;F=h}else{C=A+16&-16;D=CSa(C)|0;f[h>>2]=D;f[h+8>>2]=C|-2147483648;f[h+4>>2]=A;F=D}gGa(F,451342,A)|0;b[g>>0]=0;aHa(F+A|0,g);A=qTa(w,c,h,d)|0;FSa(h);z=(A|0)==(w|0)?a:A;break a;break}case 78:{A=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;w=$Ga(451385)|0;if(w>>>0>4294967279)NQa(h);if(w>>>0<11){b[h+11>>0]=w;G=h}else{D=w+16&-16;C=CSa(D)|0;f[h>>2]=C;f[h+8>>2]=D|-2147483648;f[h+4>>2]=w;G=C}gGa(G,451385,w)|0;b[g>>0]=0;aHa(G+w|0,g);w=qTa(A,c,h,d)|0;FSa(h);z=(w|0)==(A|0)?a:w;break a;break}case 83:{w=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;A=$Ga(451388)|0;if(A>>>0>4294967279)NQa(h);if(A>>>0<11){b[h+11>>0]=A;H=h}else{C=A+16&-16;D=CSa(C)|0;f[h>>2]=D;f[h+8>>2]=C|-2147483648;f[h+4>>2]=A;H=D}gGa(H,451388,A)|0;b[g>>0]=0;aHa(H+A|0,g);A=qTa(w,c,h,d)|0;FSa(h);z=(A|0)==(w|0)?a:A;break a;break}case 116:{z=sTa(a,c,d)|0;break a;break}case 122:{z=tTa(a,c,d)|0;break a;break}default:{z=a;break a}}break}case 99:{switch(b[x+1>>0]|0){case 99:{z=uTa(a,c,d)|0;break a;break}case 108:{z=vTa(a,c,d)|0;break a;break}case 109:{A=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;w=$Ga(451390)|0;if(w>>>0>4294967279)NQa(h);if(w>>>0<11){b[h+11>>0]=w;I=h}else{D=w+16&-16;C=CSa(D)|0;f[h>>2]=C;f[h+8>>2]=D|-2147483648;f[h+4>>2]=w;I=C}gGa(I,451390,w)|0;b[g>>0]=0;aHa(I+w|0,g);w=qTa(A,c,h,d)|0;FSa(h);z=(w|0)==(A|0)?a:w;break a;break}case 111:{w=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;A=$Ga(451392)|0;if(A>>>0>4294967279)NQa(h);if(A>>>0<11){b[h+11>>0]=A;J=h}else{C=A+16&-16;D=CSa(C)|0;f[h>>2]=D;f[h+8>>2]=C|-2147483648;f[h+4>>2]=A;J=D}gGa(J,451392,A)|0;b[g>>0]=0;aHa(J+A|0,g);A=rTa(w,c,h,d)|0;FSa(h);z=(A|0)==(w|0)?a:A;break a;break}case 118:{z=wTa(a,c,d)|0;break a;break}default:{z=a;break a}}break}case 100:{switch(b[x+1>>0]|0){case 97:{A=x+2|0;w=lTa(A,c,d)|0;if((w|0)==(A|0)){z=a;break a}A=d+4|0;if((f[d>>2]|0)==(f[A>>2]|0)){z=a;break a};f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;b:do if(y){D=$Ga(451394)|0;if(D>>>0>4294967279)NQa(j);if(D>>>0<11){b[j+11>>0]=D;K=j}else{C=D+16&-16;L=CSa(C)|0;f[j>>2]=L;f[j+8>>2]=C|-2147483648;f[j+4>>2]=D;K=L}gGa(K,451394,D)|0;b[g>>0]=0;aHa(K+D|0,g)}else{D=0;while(1){if((D|0)==3)break b;f[j+(D<<2)>>2]=0;D=D+1|0}}while(0);NSa(j,451397)|0;f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];f[i+8>>2]=f[j+8>>2];D=0;while(1){if((D|0)==3)break;f[j+(D<<2)>>2]=0;D=D+1|0}$Sa(k,(f[A>>2]|0)+-24|0);D=b[k+11>>0]|0;L=D<<24>>24<0;rSa(i,L?f[k>>2]|0:k,L?f[k+4>>2]|0:D&255)|0;f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];f[h+8>>2]=f[i+8>>2];D=0;while(1){if((D|0)==3)break;f[i+(D<<2)>>2]=0;D=D+1|0}D=f[A>>2]|0;L=D+-24|0;C=L+11|0;if((b[C>>0]|0)<0){M=f[L>>2]|0;b[g>>0]=0;aHa(M,g);f[D+-20>>2]=0}else{b[g>>0]=0;aHa(L,g);b[C>>0]=0}mTa(L);f[L>>2]=f[h>>2];f[L+4>>2]=f[h+4>>2];f[L+8>>2]=f[h+8>>2];L=0;while(1){if((L|0)==3)break;f[h+(L<<2)>>2]=0;L=L+1|0}FSa(h);FSa(k);FSa(i);FSa(j);z=w;break a;break}case 99:{z=xTa(a,c,d)|0;break a;break}case 101:{L=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;A=$Ga(451340)|0;if(A>>>0>4294967279)NQa(h);if(A>>>0<11){b[h+11>>0]=A;N=h}else{C=A+16&-16;D=CSa(C)|0;f[h>>2]=D;f[h+8>>2]=C|-2147483648;f[h+4>>2]=A;N=D}gGa(N,451340,A)|0;b[g>>0]=0;aHa(N+A|0,g);A=rTa(L,c,h,d)|0;FSa(h);z=(A|0)==(L|0)?a:A;break a;break}case 108:{A=x+2|0;L=lTa(A,c,d)|0;if((L|0)==(A|0)){z=a;break a}A=d+4|0;if((f[d>>2]|0)==(f[A>>2]|0)){z=a;break a};f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;c:do if(y){D=$Ga(451394)|0;if(D>>>0>4294967279)NQa(j);if(D>>>0<11){b[j+11>>0]=D;O=j}else{C=D+16&-16;M=CSa(C)|0;f[j>>2]=M;f[j+8>>2]=C|-2147483648;f[j+4>>2]=D;O=M}gGa(O,451394,D)|0;b[g>>0]=0;aHa(O+D|0,g)}else{D=0;while(1){if((D|0)==3)break c;f[j+(D<<2)>>2]=0;D=D+1|0}}while(0);NSa(j,451407)|0;f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];f[i+8>>2]=f[j+8>>2];w=0;while(1){if((w|0)==3)break;f[j+(w<<2)>>2]=0;w=w+1|0}$Sa(k,(f[A>>2]|0)+-24|0);w=b[k+11>>0]|0;D=w<<24>>24<0;rSa(i,D?f[k>>2]|0:k,D?f[k+4>>2]|0:w&255)|0;f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];f[h+8>>2]=f[i+8>>2];w=0;while(1){if((w|0)==3)break;f[i+(w<<2)>>2]=0;w=w+1|0}w=f[A>>2]|0;D=w+-24|0;M=D+11|0;if((b[M>>0]|0)<0){C=f[D>>2]|0;b[g>>0]=0;aHa(C,g);f[w+-20>>2]=0}else{b[g>>0]=0;aHa(D,g);b[M>>0]=0}mTa(D);f[D>>2]=f[h>>2];f[D+4>>2]=f[h+4>>2];f[D+8>>2]=f[h+8>>2];D=0;while(1){if((D|0)==3)break;f[h+(D<<2)>>2]=0;D=D+1|0}FSa(h);FSa(k);FSa(i);FSa(j);z=L;break a;break}case 110:{z=yTa(a,c,d)|0;break a;break}case 115:{z=zTa(a,c,d)|0;break a;break}case 116:{z=ATa(a,c,d)|0;break a;break}case 118:{D=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;A=$Ga(451415)|0;if(A>>>0>4294967279)NQa(h);if(A>>>0<11){b[h+11>>0]=A;P=h}else{M=A+16&-16;w=CSa(M)|0;f[h>>2]=w;f[h+8>>2]=M|-2147483648;f[h+4>>2]=A;P=w}gGa(P,451415,A)|0;b[g>>0]=0;aHa(P+A|0,g);A=qTa(D,c,h,d)|0;FSa(h);z=(A|0)==(D|0)?a:A;break a;break}case 86:{A=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;D=$Ga(451417)|0;if(D>>>0>4294967279)NQa(h);if(D>>>0<11){b[h+11>>0]=D;Q=h}else{w=D+16&-16;M=CSa(w)|0;f[h>>2]=M;f[h+8>>2]=w|-2147483648;f[h+4>>2]=D;Q=M}gGa(Q,451417,D)|0;b[g>>0]=0;aHa(Q+D|0,g);D=qTa(A,c,h,d)|0;FSa(h);z=(D|0)==(A|0)?a:D;break a;break}default:{z=a;break a}}break}case 101:{switch(b[x+1>>0]|0){case 111:{D=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;A=$Ga(451420)|0;if(A>>>0>4294967279)NQa(h);if(A>>>0<11){b[h+11>>0]=A;R=h}else{M=A+16&-16;w=CSa(M)|0;f[h>>2]=w;f[h+8>>2]=M|-2147483648;f[h+4>>2]=A;R=w}gGa(R,451420,A)|0;b[g>>0]=0;aHa(R+A|0,g);A=qTa(D,c,h,d)|0;FSa(h);z=(A|0)==(D|0)?a:A;break a;break}case 79:{A=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;D=$Ga(451422)|0;if(D>>>0>4294967279)NQa(h);if(D>>>0<11){b[h+11>>0]=D;S=h}else{w=D+16&-16;M=CSa(w)|0;f[h>>2]=M;f[h+8>>2]=w|-2147483648;f[h+4>>2]=D;S=M}gGa(S,451422,D)|0;b[g>>0]=0;aHa(S+D|0,g);D=qTa(A,c,h,d)|0;FSa(h);z=(D|0)==(A|0)?a:D;break a;break}case 113:{D=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;A=$Ga(451425)|0;if(A>>>0>4294967279)NQa(h);if(A>>>0<11){b[h+11>>0]=A;T=h}else{M=A+16&-16;w=CSa(M)|0;f[h>>2]=w;f[h+8>>2]=M|-2147483648;f[h+4>>2]=A;T=w}gGa(T,451425,A)|0;b[g>>0]=0;aHa(T+A|0,g);A=qTa(D,c,h,d)|0;FSa(h);z=(A|0)==(D|0)?a:A;break a;break}default:{z=a;break a}}break}case 103:{switch(b[x+1>>0]|0){case 101:{A=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;D=$Ga(451428)|0;if(D>>>0>4294967279)NQa(h);if(D>>>0<11){b[h+11>>0]=D;U=h}else{w=D+16&-16;M=CSa(w)|0;f[h>>2]=M;f[h+8>>2]=w|-2147483648;f[h+4>>2]=D;U=M}gGa(U,451428,D)|0;b[g>>0]=0;aHa(U+D|0,g);D=qTa(A,c,h,d)|0;FSa(h);z=(D|0)==(A|0)?a:D;break a;break}case 116:{D=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;A=$Ga(451358)|0;if(A>>>0>4294967279)NQa(h);if(A>>>0<11){b[h+11>>0]=A;V=h}else{M=A+16&-16;w=CSa(M)|0;f[h>>2]=w;f[h+8>>2]=M|-2147483648;f[h+4>>2]=A;V=w}gGa(V,451358,A)|0;b[g>>0]=0;aHa(V+A|0,g);A=qTa(D,c,h,d)|0;FSa(h);z=(A|0)==(D|0)?a:A;break a;break}default:{z=a;break a}}break}case 105:{if((b[x+1>>0]|0)!=120){z=a;break a}A=a+2|0;D=lTa(A,c,d)|0;if((D|0)==(A|0)){z=a;break a}A=lTa(D,c,d)|0;w=d+4|0;if((A|0)==(D|0)){D=f[w>>2]|0;M=D+-24|0;C=D;while(1){if((C|0)==(M|0)){z=a;break a}D=C+-24|0;f[w>>2]=D;oSa(D);C=f[w>>2]|0}}C=f[w>>2]|0;if(((C-(f[d>>2]|0)|0)/24|0)>>>0<2){z=a;break a}$Sa(g,C+-24|0);C=f[w>>2]|0;M=C+-24|0;L=C;while(1){if((L|0)==(M|0))break;D=L+-24|0;f[w>>2]=D;oSa(D);L=f[w>>2]|0}$Sa(h,C+-48|0);nTa(m,451322,h);NSa(m,451431)|0;f[k>>2]=f[m>>2];f[k+4>>2]=f[m+4>>2];f[k+8>>2]=f[m+8>>2];L=0;while(1){if((L|0)==3)break;f[m+(L<<2)>>2]=0;L=L+1|0}L=b[g+11>>0]|0;C=L<<24>>24<0;rSa(k,C?f[g>>2]|0:g,C?f[g+4>>2]|0:L&255)|0;f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];f[j+8>>2]=f[k+8>>2];L=0;while(1){if((L|0)==3)break;f[k+(L<<2)>>2]=0;L=L+1|0}NSa(j,451369)|0;f[l>>2]=f[j>>2];f[l+4>>2]=f[j+4>>2];f[l+8>>2]=f[j+8>>2];L=0;while(1){if((L|0)==3)break;f[j+(L<<2)>>2]=0;L=L+1|0}cTa(i,l);dTa((f[w>>2]|0)+-24|0,i);oSa(i);FSa(l);FSa(j);FSa(k);FSa(m);FSa(h);FSa(g);z=A;break a;break}case 108:{switch(b[x+1>>0]|0){case 101:{L=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;C=$Ga(451434)|0;if(C>>>0>4294967279)NQa(h);if(C>>>0<11){b[h+11>>0]=C;W=h}else{M=C+16&-16;D=CSa(M)|0;f[h>>2]=D;f[h+8>>2]=M|-2147483648;f[h+4>>2]=C;W=D}gGa(W,451434,C)|0;b[g>>0]=0;aHa(W+C|0,g);C=qTa(L,c,h,d)|0;FSa(h);z=(C|0)==(L|0)?a:C;break a;break}case 115:{C=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;L=$Ga(451437)|0;if(L>>>0>4294967279)NQa(h);if(L>>>0<11){b[h+11>>0]=L;X=h}else{D=L+16&-16;M=CSa(D)|0;f[h>>2]=M;f[h+8>>2]=D|-2147483648;f[h+4>>2]=L;X=M}gGa(X,451437,L)|0;b[g>>0]=0;aHa(X+L|0,g);L=qTa(C,c,h,d)|0;FSa(h);z=(L|0)==(C|0)?a:L;break a;break}case 83:{L=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;C=$Ga(451440)|0;if(C>>>0>4294967279)NQa(h);if(C>>>0<11){b[h+11>>0]=C;Y=h}else{M=C+16&-16;D=CSa(M)|0;f[h>>2]=D;f[h+8>>2]=M|-2147483648;f[h+4>>2]=C;Y=D}gGa(Y,451440,C)|0;b[g>>0]=0;aHa(Y+C|0,g);C=qTa(L,c,h,d)|0;FSa(h);z=(C|0)==(L|0)?a:C;break a;break}case 116:{C=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;L=$Ga(451356)|0;if(L>>>0>4294967279)NQa(h);if(L>>>0<11){b[h+11>>0]=L;Z=h}else{D=L+16&-16;M=CSa(D)|0;f[h>>2]=M;f[h+8>>2]=D|-2147483648;f[h+4>>2]=L;Z=M}gGa(Z,451356,L)|0;b[g>>0]=0;aHa(Z+L|0,g);L=qTa(C,c,h,d)|0;FSa(h);z=(L|0)==(C|0)?a:L;break a;break}default:{z=a;break a}}break}case 109:{switch(b[x+1>>0]|0){case 105:{L=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;C=$Ga(451444)|0;if(C>>>0>4294967279)NQa(h);if(C>>>0<11){b[h+11>>0]=C;_=h}else{M=C+16&-16;D=CSa(M)|0;f[h>>2]=D;f[h+8>>2]=M|-2147483648;f[h+4>>2]=C;_=D}gGa(_,451444,C)|0;b[g>>0]=0;aHa(_+C|0,g);C=qTa(L,c,h,d)|0;FSa(h);z=(C|0)==(L|0)?a:C;break a;break}case 73:{C=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;L=$Ga(451446)|0;if(L>>>0>4294967279)NQa(h);if(L>>>0<11){b[h+11>>0]=L;$=h}else{D=L+16&-16;M=CSa(D)|0;f[h>>2]=M;f[h+8>>2]=D|-2147483648;f[h+4>>2]=L;$=M}gGa($,451446,L)|0;b[g>>0]=0;aHa($+L|0,g);L=qTa(C,c,h,d)|0;FSa(h);z=(L|0)==(C|0)?a:L;break a;break}case 108:{L=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;C=$Ga(451340)|0;if(C>>>0>4294967279)NQa(h);if(C>>>0<11){b[h+11>>0]=C;aa=h}else{M=C+16&-16;D=CSa(M)|0;f[h>>2]=D;f[h+8>>2]=M|-2147483648;f[h+4>>2]=C;aa=D}gGa(aa,451340,C)|0;b[g>>0]=0;aHa(aa+C|0,g);C=qTa(L,c,h,d)|0;FSa(h);z=(C|0)==(L|0)?a:C;break a;break}case 76:{C=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;L=$Ga(451449)|0;if(L>>>0>4294967279)NQa(h);if(L>>>0<11){b[h+11>>0]=L;ba=h}else{D=L+16&-16;M=CSa(D)|0;f[h>>2]=M;f[h+8>>2]=D|-2147483648;f[h+4>>2]=L;ba=M}gGa(ba,451449,L)|0;b[g>>0]=0;aHa(ba+L|0,g);L=qTa(C,c,h,d)|0;FSa(h);z=(L|0)==(C|0)?a:L;break a;break}case 109:{L=a+2|0;if((L|0)!=(c|0)?(b[L>>0]|0)==95:0){C=a+3|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;M=$Ga(451452)|0;if(M>>>0>4294967279)NQa(h);if(M>>>0<11){b[h+11>>0]=M;ca=h}else{D=M+16&-16;da=CSa(D)|0;f[h>>2]=da;f[h+8>>2]=D|-2147483648;f[h+4>>2]=M;ca=da}gGa(ca,451452,M)|0;b[g>>0]=0;aHa(ca+M|0,g);M=rTa(C,c,h,d)|0;FSa(h);z=(M|0)==(C|0)?a:M;break a}M=lTa(L,c,d)|0;if((M|0)==(L|0)){z=a;break a}L=d+4|0;C=f[L>>2]|0;if((f[d>>2]|0)==(C|0)){z=a;break a}$Sa(i,C+-24|0);MSa(i,0,451322)|0;f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];f[h+8>>2]=f[i+8>>2];C=0;while(1){if((C|0)==3)break;f[i+(C<<2)>>2]=0;C=C+1|0}NSa(h,451455)|0;f[n>>2]=f[h>>2];f[n+4>>2]=f[h+4>>2];f[n+8>>2]=f[h+8>>2];C=0;while(1){if((C|0)==3)break;f[h+(C<<2)>>2]=0;C=C+1|0}cTa(g,n);dTa((f[L>>2]|0)+-24|0,g);oSa(g);FSa(n);FSa(h);FSa(i);z=M;break a;break}default:{z=a;break a}}break}case 110:{switch(b[x+1>>0]|0){case 119:case 97:{z=BTa(a,c,d)|0;break a;break}case 101:{C=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;A=$Ga(451459)|0;if(A>>>0>4294967279)NQa(h);if(A>>>0<11){b[h+11>>0]=A;ea=h}else{w=A+16&-16;da=CSa(w)|0;f[h>>2]=da;f[h+8>>2]=w|-2147483648;f[h+4>>2]=A;ea=da}gGa(ea,451459,A)|0;b[g>>0]=0;aHa(ea+A|0,g);A=qTa(C,c,h,d)|0;FSa(h);z=(A|0)==(C|0)?a:A;break a;break}case 103:{A=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;C=$Ga(451444)|0;if(C>>>0>4294967279)NQa(h);if(C>>>0<11){b[h+11>>0]=C;fa=h}else{da=C+16&-16;w=CSa(da)|0;f[h>>2]=w;f[h+8>>2]=da|-2147483648;f[h+4>>2]=C;fa=w}gGa(fa,451444,C)|0;b[g>>0]=0;aHa(fa+C|0,g);C=rTa(A,c,h,d)|0;FSa(h);z=(C|0)==(A|0)?a:C;break a;break}case 116:{C=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;A=$Ga(451462)|0;if(A>>>0>4294967279)NQa(h);if(A>>>0<11){b[h+11>>0]=A;ga=h}else{w=A+16&-16;da=CSa(w)|0;f[h>>2]=da;f[h+8>>2]=w|-2147483648;f[h+4>>2]=A;ga=da}gGa(ga,451462,A)|0;b[g>>0]=0;aHa(ga+A|0,g);A=rTa(C,c,h,d)|0;FSa(h);z=(A|0)==(C|0)?a:A;break a;break}case 120:{A=a+2|0;C=CTa(A,c,d)|0;z=(C|0)==(A|0)?a:C;break a;break}default:{z=a;break a}}break}case 111:{switch(b[x+1>>0]|0){case 110:{z=yTa(a,c,d)|0;break a;break}case 111:{C=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;A=$Ga(451464)|0;if(A>>>0>4294967279)NQa(h);if(A>>>0<11){b[h+11>>0]=A;ha=h}else{da=A+16&-16;w=CSa(da)|0;f[h>>2]=w;f[h+8>>2]=da|-2147483648;f[h+4>>2]=A;ha=w}gGa(ha,451464,A)|0;b[g>>0]=0;aHa(ha+A|0,g);A=qTa(C,c,h,d)|0;FSa(h);z=(A|0)==(C|0)?a:A;break a;break}case 114:{A=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;C=$Ga(451467)|0;if(C>>>0>4294967279)NQa(h);if(C>>>0<11){b[h+11>>0]=C;ia=h}else{w=C+16&-16;da=CSa(w)|0;f[h>>2]=da;f[h+8>>2]=w|-2147483648;f[h+4>>2]=C;ia=da}gGa(ia,451467,C)|0;b[g>>0]=0;aHa(ia+C|0,g);C=qTa(A,c,h,d)|0;FSa(h);z=(C|0)==(A|0)?a:C;break a;break}case 82:{C=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;A=$Ga(451469)|0;if(A>>>0>4294967279)NQa(h);if(A>>>0<11){b[h+11>>0]=A;ja=h}else{da=A+16&-16;w=CSa(da)|0;f[h>>2]=w;f[h+8>>2]=da|-2147483648;f[h+4>>2]=A;ja=w}gGa(ja,451469,A)|0;b[g>>0]=0;aHa(ja+A|0,g);A=qTa(C,c,h,d)|0;FSa(h);z=(A|0)==(C|0)?a:A;break a;break}default:{z=a;break a}}break}case 112:{switch(b[x+1>>0]|0){case 109:{A=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;C=$Ga(451472)|0;if(C>>>0>4294967279)NQa(h);if(C>>>0<11){b[h+11>>0]=C;ka=h}else{w=C+16&-16;da=CSa(w)|0;f[h>>2]=da;f[h+8>>2]=w|-2147483648;f[h+4>>2]=C;ka=da}gGa(ka,451472,C)|0;b[g>>0]=0;aHa(ka+C|0,g);C=qTa(A,c,h,d)|0;FSa(h);z=(C|0)==(A|0)?a:C;break a;break}case 108:{C=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;A=$Ga(451476)|0;if(A>>>0>4294967279)NQa(h);if(A>>>0<11){b[h+11>>0]=A;la=h}else{da=A+16&-16;w=CSa(da)|0;f[h>>2]=w;f[h+8>>2]=da|-2147483648;f[h+4>>2]=A;la=w}gGa(la,451476,A)|0;b[g>>0]=0;aHa(la+A|0,g);A=qTa(C,c,h,d)|0;FSa(h);z=(A|0)==(C|0)?a:A;break a;break}case 76:{A=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;C=$Ga(451478)|0;if(C>>>0>4294967279)NQa(h);if(C>>>0<11){b[h+11>>0]=C;ma=h}else{w=C+16&-16;da=CSa(w)|0;f[h>>2]=da;f[h+8>>2]=w|-2147483648;f[h+4>>2]=C;ma=da}gGa(ma,451478,C)|0;b[g>>0]=0;aHa(ma+C|0,g);C=qTa(A,c,h,d)|0;FSa(h);z=(C|0)==(A|0)?a:C;break a;break}case 112:{C=a+2|0;if((C|0)!=(c|0)?(b[C>>0]|0)==95:0){A=a+3|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;da=$Ga(451481)|0;if(da>>>0>4294967279)NQa(h);if(da>>>0<11){b[h+11>>0]=da;na=h}else{w=da+16&-16;D=CSa(w)|0;f[h>>2]=D;f[h+8>>2]=w|-2147483648;f[h+4>>2]=da;na=D}gGa(na,451481,da)|0;b[g>>0]=0;aHa(na+da|0,g);da=rTa(A,c,h,d)|0;FSa(h);z=(da|0)==(A|0)?a:da;break a}da=lTa(C,c,d)|0;if((da|0)==(C|0)){z=a;break a}C=d+4|0;A=f[C>>2]|0;if((f[d>>2]|0)==(A|0)){z=a;break a}$Sa(i,A+-24|0);MSa(i,0,451322)|0;f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];f[h+8>>2]=f[i+8>>2];A=0;while(1){if((A|0)==3)break;f[i+(A<<2)>>2]=0;A=A+1|0}NSa(h,451484)|0;f[o>>2]=f[h>>2];f[o+4>>2]=f[h+4>>2];f[o+8>>2]=f[h+8>>2];A=0;while(1){if((A|0)==3)break;f[h+(A<<2)>>2]=0;A=A+1|0}cTa(g,o);dTa((f[C>>2]|0)+-24|0,g);oSa(g);FSa(o);FSa(h);FSa(i);z=da;break a;break}case 115:{A=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;M=$Ga(451476)|0;if(M>>>0>4294967279)NQa(h);if(M>>>0<11){b[h+11>>0]=M;oa=h}else{L=M+16&-16;D=CSa(L)|0;f[h>>2]=D;f[h+8>>2]=L|-2147483648;f[h+4>>2]=M;oa=D}gGa(oa,451476,M)|0;b[g>>0]=0;aHa(oa+M|0,g);M=rTa(A,c,h,d)|0;FSa(h);z=(M|0)==(A|0)?a:M;break a;break}case 116:{z=DTa(a,c,d)|0;break a;break}default:{z=a;break a}}break}case 113:{if((b[x+1>>0]|0)!=117){z=a;break a}M=a+2|0;A=lTa(M,c,d)|0;if((A|0)==(M|0)){z=a;break a}M=lTa(A,c,d)|0;if((M|0)==(A|0)){A=d+4|0;D=f[A>>2]|0;L=D+-24|0;w=D;while(1){if((w|0)==(L|0)){z=a;break a}D=w+-24|0;f[A>>2]=D;oSa(D);w=f[A>>2]|0}}A=lTa(M,c,d)|0;w=d+4|0;if((A|0)==(M|0)){L=f[w>>2]|0;da=L+-24|0;C=L;while(1){if((C|0)==(da|0))break;D=C+-24|0;f[w>>2]=D;oSa(D);C=f[w>>2]|0}C=L+-48|0;M=da;while(1){if((M|0)==(C|0)){z=a;break a}D=M+-24|0;f[w>>2]=D;oSa(D);M=f[w>>2]|0}}M=f[w>>2]|0;if(((M-(f[d>>2]|0)|0)/24|0)>>>0<3){z=a;break a}$Sa(g,M+-24|0);M=f[w>>2]|0;C=M+-24|0;da=M;while(1){if((da|0)==(C|0))break;L=da+-24|0;f[w>>2]=L;oSa(L);da=f[w>>2]|0}$Sa(h,M+-48|0);da=f[w>>2]|0;C=da+-24|0;L=da;while(1){if((L|0)==(C|0))break;D=L+-24|0;f[w>>2]=D;oSa(D);L=f[w>>2]|0}$Sa(i,da+-48|0);nTa(s,451322,i);NSa(s,451488)|0;f[r>>2]=f[s>>2];f[r+4>>2]=f[s+4>>2];f[r+8>>2]=f[s+8>>2];L=0;while(1){if((L|0)==3)break;f[s+(L<<2)>>2]=0;L=L+1|0}L=b[h+11>>0]|0;da=L<<24>>24<0;rSa(r,da?f[h>>2]|0:h,da?f[h+4>>2]|0:L&255)|0;f[q>>2]=f[r>>2];f[q+4>>2]=f[r+4>>2];f[q+8>>2]=f[r+8>>2];L=0;while(1){if((L|0)==3)break;f[r+(L<<2)>>2]=0;L=L+1|0}NSa(q,451494)|0;f[m>>2]=f[q>>2];f[m+4>>2]=f[q+4>>2];f[m+8>>2]=f[q+8>>2];L=0;while(1){if((L|0)==3)break;f[q+(L<<2)>>2]=0;L=L+1|0}L=b[g+11>>0]|0;da=L<<24>>24<0;rSa(m,da?f[g>>2]|0:g,da?f[g+4>>2]|0:L&255)|0;f[k>>2]=f[m>>2];f[k+4>>2]=f[m+4>>2];f[k+8>>2]=f[m+8>>2];L=0;while(1){if((L|0)==3)break;f[m+(L<<2)>>2]=0;L=L+1|0}NSa(k,451320)|0;f[p>>2]=f[k>>2];f[p+4>>2]=f[k+4>>2];f[p+8>>2]=f[k+8>>2];L=0;while(1){if((L|0)==3)break;f[k+(L<<2)>>2]=0;L=L+1|0}cTa(j,p);dTa((f[w>>2]|0)+-24|0,j);oSa(j);FSa(p);FSa(k);FSa(m);FSa(q);FSa(r);FSa(s);FSa(i);FSa(h);FSa(g);z=A;break a;break}case 114:{switch(b[x+1>>0]|0){case 99:{z=ETa(a,c,d)|0;break a;break}case 109:{L=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;da=$Ga(451500)|0;if(da>>>0>4294967279)NQa(h);if(da>>>0<11){b[h+11>>0]=da;pa=h}else{C=da+16&-16;M=CSa(C)|0;f[h>>2]=M;f[h+8>>2]=C|-2147483648;f[h+4>>2]=da;pa=M}gGa(pa,451500,da)|0;b[g>>0]=0;aHa(pa+da|0,g);da=qTa(L,c,h,d)|0;FSa(h);z=(da|0)==(L|0)?a:da;break a;break}case 77:{da=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;L=$Ga(451502)|0;if(L>>>0>4294967279)NQa(h);if(L>>>0<11){b[h+11>>0]=L;qa=h}else{M=L+16&-16;C=CSa(M)|0;f[h>>2]=C;f[h+8>>2]=M|-2147483648;f[h+4>>2]=L;qa=C}gGa(qa,451502,L)|0;b[g>>0]=0;aHa(qa+L|0,g);L=qTa(da,c,h,d)|0;FSa(h);z=(L|0)==(da|0)?a:L;break a;break}case 115:{L=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;da=$Ga(451505)|0;if(da>>>0>4294967279)NQa(h);if(da>>>0<11){b[h+11>>0]=da;ra=h}else{C=da+16&-16;M=CSa(C)|0;f[h>>2]=M;f[h+8>>2]=C|-2147483648;f[h+4>>2]=da;ra=M}gGa(ra,451505,da)|0;b[g>>0]=0;aHa(ra+da|0,g);da=qTa(L,c,h,d)|0;FSa(h);z=(da|0)==(L|0)?a:da;break a;break}case 83:{da=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;L=$Ga(451508)|0;if(L>>>0>4294967279)NQa(h);if(L>>>0<11){b[h+11>>0]=L;sa=h}else{M=L+16&-16;C=CSa(M)|0;f[h>>2]=C;f[h+8>>2]=M|-2147483648;f[h+4>>2]=L;sa=C}gGa(sa,451508,L)|0;b[g>>0]=0;aHa(sa+L|0,g);L=qTa(da,c,h,d)|0;FSa(h);z=(L|0)==(da|0)?a:L;break a;break}default:{z=a;break a}}break}case 115:{switch(b[x+1>>0]|0){case 99:{z=FTa(a,c,d)|0;break a;break}case 112:{z=GTa(a,c,d)|0;break a;break}case 114:{z=yTa(a,c,d)|0;break a;break}case 116:{z=HTa(a,c,d)|0;break a;break}case 122:{z=ITa(a,c,d)|0;break a;break}case 90:{if((t-x|0)<=2){z=a;break a}switch(b[x+2>>0]|0){case 84:{z=JTa(a,c,d)|0;break a;break}case 102:{z=KTa(a,c,d)|0;break a;break}default:{z=a;break a}}break}default:{z=a;break a}}break}case 116:{switch(b[x+1>>0]|0){case 105:case 101:{z=LTa(a,c,d)|0;break a;break}case 114:{MTa(g,451512);L=d+4|0;da=f[L>>2]|0;if(da>>>0<(f[d+8>>2]|0)>>>0){eTa(da,g);f[L>>2]=(f[L>>2]|0)+24}else fTa(d,g);oSa(g);z=a+2|0;break a;break}case 119:{z=NTa(a,c,d)|0;break a;break}default:{z=a;break a}}break}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:{z=yTa(a,c,d)|0;break a;break}default:{z=a;break a}}while(0)}else z=a;while(0);u=e;return z|0}function mTa(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=a+11|0;d=b[c>>0]|0;e=d<<24>>24<0;if(e){g=f[a+4>>2]|0;h=(f[a+8>>2]&2147483647)+-1|0}else{g=d&255;h=10}i=g>>>0<11;j=i?10:(g+16&-16)+-1|0;a:do if((j|0)!=(h|0)){do if(i){k=f[a>>2]|0;if(e){l=0;m=k;n=a;o=12}else{gGa(a,k,(d&255)+1|0)|0;DSa(k);o=15}}else{k=j+1|0;p=CSa(k)|0;if(j>>>0<=h>>>0&(p|0)==0)break a;q=b[c>>0]|0;if(q<<24>>24<0){l=1;m=f[a>>2]|0;n=p;o=12;break}else{gGa(p,a,(q&255)+1|0)|0;r=p;s=k;t=a+4|0;o=14;break}}while(0);if((o|0)==12){k=a+4|0;gGa(n,m,(f[k>>2]|0)+1|0)|0;DSa(m);if(l){r=n;s=j+1|0;t=k;o=14}else o=15}if((o|0)==14){f[a+8>>2]=s|-2147483648;f[t>>2]=g;f[a>>2]=r;break}else if((o|0)==15){b[c>>0]=g;break}}while(0);return}function nTa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;h=0;while(1){if((h|0)==3)break;f[a+(h<<2)>>2]=0;h=h+1|0}h=$Ga(c)|0;i=d+11|0;j=b[i>>0]|0;k=j<<24>>24<0?f[d+4>>2]|0:j&255;j=k+h|0;if(j>>>0>4294967279)NQa(a);if(j>>>0<11){b[a+11>>0]=h;l=a}else{m=j+16&-16;j=CSa(m)|0;f[a>>2]=j;f[a+8>>2]=m|-2147483648;f[a+4>>2]=h;l=j}gGa(l,c,h)|0;b[g>>0]=0;aHa(l+h|0,g);rSa(a,(b[i>>0]|0)<0?f[d>>2]|0:d,k)|0;u=e;return}function oTa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;e=u;u=u+112|0;g=e+88|0;h=e+48|0;i=e+72|0;j=e+36|0;k=e+24|0;l=e+12|0;m=e;a:do if((c-a|0)>3?(b[a>>0]|0)==76:0){n=a+1|0;do switch(b[n>>0]|0){case 84:{o=a;break a;break}case 119:{p=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;q=$Ga(452514)|0;if(q>>>0>4294967279)NQa(h);if(q>>>0<11){b[h+11>>0]=q;r=h}else{s=q+16&-16;t=CSa(s)|0;f[h>>2]=t;f[h+8>>2]=s|-2147483648;f[h+4>>2]=q;r=t}gGa(r,452514,q)|0;b[g>>0]=0;aHa(r+q|0,g);q=sUa(p,c,h,d)|0;FSa(h);o=(q|0)==(p|0)?a:q;break a;break}case 98:{if((b[a+3>>0]|0)!=69){o=a;break a}switch(b[a+2>>0]|0){case 48:{MTa(g,452522);q=d+4|0;p=f[q>>2]|0;if(p>>>0<(f[d+8>>2]|0)>>>0){eTa(p,g);f[q>>2]=(f[q>>2]|0)+24}else fTa(d,g);oSa(g);o=a+4|0;break a;break}case 49:{tUa(g,452528);q=d+4|0;p=f[q>>2]|0;if(p>>>0<(f[d+8>>2]|0)>>>0){eTa(p,g);f[q>>2]=(f[q>>2]|0)+24}else fTa(d,g);oSa(g);o=a+4|0;break a;break}default:{o=a;break a}}break}case 99:{q=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;p=$Ga(452533)|0;if(p>>>0>4294967279)NQa(h);if(p>>>0<11){b[h+11>>0]=p;v=h}else{t=p+16&-16;s=CSa(t)|0;f[h>>2]=s;f[h+8>>2]=t|-2147483648;f[h+4>>2]=p;v=s}gGa(v,452533,p)|0;b[g>>0]=0;aHa(v+p|0,g);p=sUa(q,c,h,d)|0;FSa(h);o=(p|0)==(q|0)?a:p;break a;break}case 97:{p=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;q=$Ga(452538)|0;if(q>>>0>4294967279)NQa(h);if(q>>>0<11){b[h+11>>0]=q;w=h}else{s=q+16&-16;t=CSa(s)|0;f[h>>2]=t;f[h+8>>2]=s|-2147483648;f[h+4>>2]=q;w=t}gGa(w,452538,q)|0;b[g>>0]=0;aHa(w+q|0,g);q=sUa(p,c,h,d)|0;FSa(h);o=(q|0)==(p|0)?a:q;break a;break}case 104:{q=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;p=$Ga(452550)|0;if(p>>>0>4294967279)NQa(h);if(p>>>0<11){b[h+11>>0]=p;x=h}else{t=p+16&-16;s=CSa(t)|0;f[h>>2]=s;f[h+8>>2]=t|-2147483648;f[h+4>>2]=p;x=s}gGa(x,452550,p)|0;b[g>>0]=0;aHa(x+p|0,g);p=sUa(q,c,h,d)|0;FSa(h);o=(p|0)==(q|0)?a:p;break a;break}case 115:{p=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;q=$Ga(452564)|0;if(q>>>0>4294967279)NQa(h);if(q>>>0<11){b[h+11>>0]=q;y=h}else{s=q+16&-16;t=CSa(s)|0;f[h>>2]=t;f[h+8>>2]=s|-2147483648;f[h+4>>2]=q;y=t}gGa(y,452564,q)|0;b[g>>0]=0;aHa(y+q|0,g);q=sUa(p,c,h,d)|0;FSa(h);o=(q|0)==(p|0)?a:q;break a;break}case 116:{q=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;p=$Ga(452570)|0;if(p>>>0>4294967279)NQa(h);if(p>>>0<11){b[h+11>>0]=p;z=h}else{t=p+16&-16;s=CSa(t)|0;f[h>>2]=s;f[h+8>>2]=t|-2147483648;f[h+4>>2]=p;z=s}gGa(z,452570,p)|0;b[g>>0]=0;aHa(z+p|0,g);p=sUa(q,c,h,d)|0;FSa(h);o=(p|0)==(q|0)?a:p;break a;break}case 105:{p=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;q=$Ga(1079437)|0;if(q>>>0>4294967279)NQa(h);if(q>>>0<11){b[h+11>>0]=q;A=h}else{s=q+16&-16;t=CSa(s)|0;f[h>>2]=t;f[h+8>>2]=s|-2147483648;f[h+4>>2]=q;A=t}gGa(A,1079437,q)|0;b[g>>0]=0;aHa(A+q|0,g);q=sUa(p,c,h,d)|0;FSa(h);o=(q|0)==(p|0)?a:q;break a;break}case 106:{q=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;p=$Ga(452585)|0;if(p>>>0>4294967279)NQa(h);if(p>>>0<11){b[h+11>>0]=p;B=h}else{t=p+16&-16;s=CSa(t)|0;f[h>>2]=s;f[h+8>>2]=t|-2147483648;f[h+4>>2]=p;B=s}gGa(B,452585,p)|0;b[g>>0]=0;aHa(B+p|0,g);p=sUa(q,c,h,d)|0;FSa(h);o=(p|0)==(q|0)?a:p;break a;break}case 108:{p=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;q=$Ga(452587)|0;if(q>>>0>4294967279)NQa(h);if(q>>>0<11){b[h+11>>0]=q;C=h}else{s=q+16&-16;t=CSa(s)|0;f[h>>2]=t;f[h+8>>2]=s|-2147483648;f[h+4>>2]=q;C=t}gGa(C,452587,q)|0;b[g>>0]=0;aHa(C+q|0,g);q=sUa(p,c,h,d)|0;FSa(h);o=(q|0)==(p|0)?a:q;break a;break}case 109:{q=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;p=$Ga(452589)|0;if(p>>>0>4294967279)NQa(h);if(p>>>0<11){b[h+11>>0]=p;D=h}else{t=p+16&-16;s=CSa(t)|0;f[h>>2]=s;f[h+8>>2]=t|-2147483648;f[h+4>>2]=p;D=s}gGa(D,452589,p)|0;b[g>>0]=0;aHa(D+p|0,g);p=sUa(q,c,h,d)|0;FSa(h);o=(p|0)==(q|0)?a:p;break a;break}case 120:{p=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;q=$Ga(452592)|0;if(q>>>0>4294967279)NQa(h);if(q>>>0<11){b[h+11>>0]=q;E=h}else{s=q+16&-16;t=CSa(s)|0;f[h>>2]=t;f[h+8>>2]=s|-2147483648;f[h+4>>2]=q;E=t}gGa(E,452592,q)|0;b[g>>0]=0;aHa(E+q|0,g);q=sUa(p,c,h,d)|0;FSa(h);o=(q|0)==(p|0)?a:q;break a;break}case 121:{q=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;p=$Ga(452595)|0;if(p>>>0>4294967279)NQa(h);if(p>>>0<11){b[h+11>>0]=p;F=h}else{t=p+16&-16;s=CSa(t)|0;f[h>>2]=s;f[h+8>>2]=t|-2147483648;f[h+4>>2]=p;F=s}gGa(F,452595,p)|0;b[g>>0]=0;aHa(F+p|0,g);p=sUa(q,c,h,d)|0;FSa(h);o=(p|0)==(q|0)?a:p;break a;break}case 110:{p=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;q=$Ga(452599)|0;if(q>>>0>4294967279)NQa(h);if(q>>>0<11){b[h+11>>0]=q;G=h}else{s=q+16&-16;t=CSa(s)|0;f[h>>2]=t;f[h+8>>2]=s|-2147483648;f[h+4>>2]=q;G=t}gGa(G,452599,q)|0;b[g>>0]=0;aHa(G+q|0,g);q=sUa(p,c,h,d)|0;FSa(h);o=(q|0)==(p|0)?a:q;break a;break}case 111:{q=a+2|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;p=$Ga(452608)|0;if(p>>>0>4294967279)NQa(h);if(p>>>0<11){b[h+11>>0]=p;H=h}else{t=p+16&-16;s=CSa(t)|0;f[h>>2]=s;f[h+8>>2]=t|-2147483648;f[h+4>>2]=p;H=s}gGa(H,452608,p)|0;b[g>>0]=0;aHa(H+p|0,g);p=sUa(q,c,h,d)|0;FSa(h);o=(p|0)==(q|0)?a:p;break a;break}case 102:{p=a+2|0;q=uUa(p,c,d)|0;o=(q|0)==(p|0)?a:q;break a;break}case 100:{q=a+2|0;p=vUa(q,c,d)|0;o=(p|0)==(q|0)?a:p;break a;break}case 101:{p=a+2|0;q=wUa(p,c,d)|0;o=(q|0)==(p|0)?a:q;break a;break}case 95:{if((b[a+2>>0]|0)!=90){o=a;break a}q=a+3|0;p=GSa(q,c,d)|0;if((p|0)==(q|0)|(p|0)==(c|0)){o=a;break a}o=(b[p>>0]|0)==69?p+1|0:a;break a;break}default:{p=JSa(n,c,d)|0;if((p|0)==(n|0)|(p|0)==(c|0)){o=a;break a}if((b[p>>0]|0)==69){o=p+1|0;break a}else I=p;while(1){if((I|0)==(c|0)){o=a;break a}J=b[I>>0]|0;if(((J<<24>>24)+-48|0)>>>0>=10)break;I=I+1|0}if(!((I|0)!=(p|0)&J<<24>>24==69)){o=a;break a}q=d+4|0;s=f[q>>2]|0;if((f[d>>2]|0)==(s|0)){o=a;break a}$Sa(l,s+-24|0);MSa(l,0,451322)|0;f[k>>2]=f[l>>2];f[k+4>>2]=f[l+4>>2];f[k+8>>2]=f[l+8>>2];s=0;while(1){if((s|0)==3)break;f[l+(s<<2)>>2]=0;s=s+1|0}NSa(k,451320)|0;f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];f[j+8>>2]=f[k+8>>2];s=0;while(1){if((s|0)==3)break;f[k+(s<<2)>>2]=0;s=s+1|0}f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;s=I-p|0;if(s>>>0>4294967279)NQa(m);if(s>>>0<11){b[m+11>>0]=s;K=m}else{t=s+16&-16;L=CSa(t)|0;f[m>>2]=L;f[m+8>>2]=t|-2147483648;f[m+4>>2]=s;K=L}L=p;t=K;while(1){if((L|0)==(I|0))break;aHa(t,L);L=L+1|0;t=t+1|0}b[g>>0]=0;aHa(K+s|0,g);t=b[m+11>>0]|0;L=t<<24>>24<0;rSa(j,L?f[m>>2]|0:m,L?f[m+4>>2]|0:t&255)|0;f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];f[i+8>>2]=f[j+8>>2];t=0;while(1){if((t|0)==3)break;f[j+(t<<2)>>2]=0;t=t+1|0}cTa(h,i);dTa((f[q>>2]|0)+-24|0,h);oSa(h);FSa(i);FSa(m);FSa(j);FSa(k);FSa(l);o=I+1|0;break a}}while(0)}else o=a;while(0);u=e;return o|0}function pTa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;e=u;u=u+80|0;g=e+64|0;h=e+60|0;i=e+24|0;j=e+48|0;k=e+12|0;l=e;a:do if((c-a|0)>2?(b[a>>0]|0)==102:0){switch(b[a+1>>0]|0){case 112:{m=KSa(a+2|0,c,h)|0;n=kTa(m,c)|0;if((n|0)!=(c|0)?(b[n>>0]|0)==95:0){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;o=n-m|0;if(o>>>0>4294967279)NQa(k);if(o>>>0<11){b[k+11>>0]=o;p=k}else{q=o+16&-16;r=CSa(q)|0;f[k>>2]=r;f[k+8>>2]=q|-2147483648;f[k+4>>2]=o;p=r}r=m;m=p;while(1){if((r|0)==(n|0))break;aHa(m,r);r=r+1|0;m=m+1|0}b[g>>0]=0;aHa(p+o|0,g);MSa(k,0,452511)|0;f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];f[j+8>>2]=f[k+8>>2];m=0;while(1){if((m|0)==3)break;f[k+(m<<2)>>2]=0;m=m+1|0}cTa(i,j);m=d+4|0;o=f[m>>2]|0;if(o>>>0<(f[d+8>>2]|0)>>>0){eTa(o,i);f[m>>2]=(f[m>>2]|0)+24}else fTa(d,i);oSa(i);FSa(j);FSa(k);s=n+1|0}else s=a;t=s;break a;break}case 76:break;default:{t=a;break a}}m=kTa(a+2|0,c)|0;if((((m|0)!=(c|0)?(b[m>>0]|0)==112:0)?(o=KSa(m+1|0,c,h)|0,m=kTa(o,c)|0,(m|0)!=(c|0)):0)?(b[m>>0]|0)==95:0){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;r=m-o|0;if(r>>>0>4294967279)NQa(k);if(r>>>0<11){b[k+11>>0]=r;v=k}else{q=r+16&-16;w=CSa(q)|0;f[k>>2]=w;f[k+8>>2]=q|-2147483648;f[k+4>>2]=r;v=w}w=o;o=v;while(1){if((w|0)==(m|0))break;aHa(o,w);w=w+1|0;o=o+1|0}b[g>>0]=0;aHa(v+r|0,g);MSa(k,0,452511)|0;f[l>>2]=f[k>>2];f[l+4>>2]=f[k+4>>2];f[l+8>>2]=f[k+8>>2];o=0;while(1){if((o|0)==3)break;f[k+(o<<2)>>2]=0;o=o+1|0}cTa(i,l);o=d+4|0;r=f[o>>2]|0;if(r>>>0<(f[d+8>>2]|0)>>>0){eTa(r,i);f[o>>2]=(f[o>>2]|0)+24}else fTa(d,i);oSa(i);FSa(l);FSa(k);x=m+1|0}else x=a;t=x}else t=a;while(0);u=e;return t|0}function qTa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;g=u;u=u+96|0;h=g+84|0;i=g+72|0;j=g+60|0;k=g+48|0;l=g+36|0;m=g+24|0;n=g+12|0;o=g;p=lTa(a,c,e)|0;a:do if((p|0)!=(a|0)){q=lTa(p,c,e)|0;r=e+4|0;if((q|0)==(p|0)){s=f[r>>2]|0;t=s+-24|0;v=s;while(1){if((v|0)==(t|0)){w=a;break a}s=v+-24|0;f[r>>2]=s;oSa(s);v=f[r>>2]|0}}v=f[r>>2]|0;if(((v-(f[e>>2]|0)|0)/24|0)>>>0>=2){$Sa(i,v+-24|0);v=f[r>>2]|0;t=v+-24|0;s=v;while(1){if((s|0)==(t|0))break;x=s+-24|0;f[r>>2]=x;oSa(x);s=f[r>>2]|0}$Sa(j,v+-48|0);s=f[r>>2]|0;t=s+-24|0;x=t+11|0;if((b[x>>0]|0)<0){y=f[t>>2]|0;b[h>>0]=0;aHa(y,h);f[s+-20>>2]=0}else{b[h>>0]=0;aHa(t,h);b[x>>0]=0}x=$Ga(451358)|0;s=d+11|0;y=b[s>>0]|0;z=d+4|0;if((x|0)==((y<<24>>24<0?f[z>>2]|0:y&255)|0)?(XSa(d,451358,x)|0)==0:0)eUa(t,40);nTa(o,451322,j);NSa(o,451608)|0;f[n>>2]=f[o>>2];f[n+4>>2]=f[o+4>>2];f[n+8>>2]=f[o+8>>2];x=0;while(1){if((x|0)==3)break;f[o+(x<<2)>>2]=0;x=x+1|0}x=b[s>>0]|0;r=x<<24>>24<0;rSa(n,r?f[d>>2]|0:d,r?f[z>>2]|0:x&255)|0;f[m>>2]=f[n>>2];f[m+4>>2]=f[n+4>>2];f[m+8>>2]=f[n+8>>2];x=0;while(1){if((x|0)==3)break;f[n+(x<<2)>>2]=0;x=x+1|0}NSa(m,451317)|0;f[l>>2]=f[m>>2];f[l+4>>2]=f[m+4>>2];f[l+8>>2]=f[m+8>>2];x=0;while(1){if((x|0)==3)break;f[m+(x<<2)>>2]=0;x=x+1|0}x=b[i+11>>0]|0;r=x<<24>>24<0;rSa(l,r?f[i>>2]|0:i,r?f[i+4>>2]|0:x&255)|0;f[k>>2]=f[l>>2];f[k+4>>2]=f[l+4>>2];f[k+8>>2]=f[l+8>>2];x=0;while(1){if((x|0)==3)break;f[l+(x<<2)>>2]=0;x=x+1|0}NSa(k,451320)|0;f[h>>2]=f[k>>2];f[h+4>>2]=f[k+4>>2];f[h+8>>2]=f[k+8>>2];x=0;while(1){if((x|0)==3)break;f[k+(x<<2)>>2]=0;x=x+1|0}x=b[h+11>>0]|0;r=x<<24>>24<0;rSa(t,r?f[h>>2]|0:h,r?f[h+4>>2]|0:x&255)|0;FSa(h);FSa(k);FSa(l);FSa(m);FSa(n);FSa(o);x=$Ga(451358)|0;r=b[s>>0]|0;if((x|0)==((r<<24>>24<0?f[z>>2]|0:r&255)|0)?(XSa(d,451358,x)|0)==0:0)eUa(t,41);FSa(j);FSa(i);w=q}else w=a}else w=a;while(0);u=g;return w|0}function rTa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=u;u=u+64|0;h=g+48|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=lTa(a,c,e)|0;if((m|0)!=(a|0)?(c=e+4|0,(f[e>>2]|0)!=(f[c>>2]|0)):0){bTa(k,d,451322);$Sa(l,(f[c>>2]|0)+-24|0);d=b[l+11>>0]|0;e=d<<24>>24<0;rSa(k,e?f[l>>2]|0:l,e?f[l+4>>2]|0:d&255)|0;f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];f[j+8>>2]=f[k+8>>2];d=0;while(1){if((d|0)==3)break;f[k+(d<<2)>>2]=0;d=d+1|0}NSa(j,451320)|0;f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];f[i+8>>2]=f[j+8>>2];d=0;while(1){if((d|0)==3)break;f[j+(d<<2)>>2]=0;d=d+1|0}d=f[c>>2]|0;c=d+-24|0;e=c+11|0;if((b[e>>0]|0)<0){n=f[c>>2]|0;b[h>>0]=0;aHa(n,h);f[d+-20>>2]=0}else{b[h>>0]=0;aHa(c,h);b[e>>0]=0}mTa(c);f[c>>2]=f[i>>2];f[c+4>>2]=f[i+4>>2];f[c+8>>2]=f[i+8>>2];c=0;while(1){if((c|0)==3)break;f[i+(c<<2)>>2]=0;c=c+1|0}FSa(i);FSa(j);FSa(l);FSa(k);o=m}else o=a;u=g;return o|0}function sTa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+48|0;g=e+36|0;h=e+24|0;i=e+12|0;j=e;if(((((c-a|0)>2?(b[a>>0]|0)==97:0)?(b[a+1>>0]|0)==116:0)?(k=a+2|0,l=JSa(k,c,d)|0,(l|0)!=(k|0)):0)?(k=d+4|0,c=f[k>>2]|0,(f[d>>2]|0)!=(c|0)):0){$Sa(j,c+-24|0);MSa(j,0,452501)|0;f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];f[i+8>>2]=f[j+8>>2];c=0;while(1){if((c|0)==3)break;f[j+(c<<2)>>2]=0;c=c+1|0}NSa(i,451320)|0;f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];f[h+8>>2]=f[i+8>>2];c=0;while(1){if((c|0)==3)break;f[i+(c<<2)>>2]=0;c=c+1|0}c=f[k>>2]|0;k=c+-24|0;d=k+11|0;if((b[d>>0]|0)<0){m=f[k>>2]|0;b[g>>0]=0;aHa(m,g);f[c+-20>>2]=0}else{b[g>>0]=0;aHa(k,g);b[d>>0]=0}mTa(k);f[k>>2]=f[h>>2];f[k+4>>2]=f[h+4>>2];f[k+8>>2]=f[h+8>>2];k=0;while(1){if((k|0)==3)break;f[h+(k<<2)>>2]=0;k=k+1|0}FSa(h);FSa(i);FSa(j);n=l}else n=a;u=e;return n|0}function tTa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+48|0;g=e+36|0;h=e+24|0;i=e+12|0;j=e;if(((((c-a|0)>2?(b[a>>0]|0)==97:0)?(b[a+1>>0]|0)==122:0)?(k=a+2|0,l=lTa(k,c,d)|0,(l|0)!=(k|0)):0)?(k=d+4|0,c=f[k>>2]|0,(f[d>>2]|0)!=(c|0)):0){$Sa(j,c+-24|0);MSa(j,0,452501)|0;f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];f[i+8>>2]=f[j+8>>2];c=0;while(1){if((c|0)==3)break;f[j+(c<<2)>>2]=0;c=c+1|0}NSa(i,451320)|0;f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];f[h+8>>2]=f[i+8>>2];c=0;while(1){if((c|0)==3)break;f[i+(c<<2)>>2]=0;c=c+1|0}c=f[k>>2]|0;k=c+-24|0;d=k+11|0;if((b[d>>0]|0)<0){m=f[k>>2]|0;b[g>>0]=0;aHa(m,g);f[c+-20>>2]=0}else{b[g>>0]=0;aHa(k,g);b[d>>0]=0}mTa(k);f[k>>2]=f[h>>2];f[k+4>>2]=f[h+4>>2];f[k+8>>2]=f[h+8>>2];k=0;while(1){if((k|0)==3)break;f[h+(k<<2)>>2]=0;k=k+1|0}FSa(h);FSa(i);FSa(j);n=l}else n=a;u=e;return n|0}function uTa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=u;u=u+112|0;g=e+88|0;h=e+64|0;i=e+36|0;j=e+48|0;k=e+24|0;l=e+12|0;m=e;if((((((c-a|0)>2?(b[a>>0]|0)==99:0)?(b[a+1>>0]|0)==99:0)?(n=a+2|0,o=JSa(n,c,d)|0,(o|0)!=(n|0)):0)?(n=lTa(o,c,d)|0,(n|0)!=(o|0)):0)?(o=d+4|0,c=f[o>>2]|0,((c-(f[d>>2]|0)|0)/24|0)>>>0>=2):0){$Sa(g,c+-24|0);c=f[o>>2]|0;d=c+-24|0;p=c;while(1){if((p|0)==(d|0))break;q=p+-24|0;f[o>>2]=q;oSa(q);p=f[o>>2]|0}$Sa(m,c+-48|0);MSa(m,0,452489)|0;f[l>>2]=f[m>>2];f[l+4>>2]=f[m+4>>2];f[l+8>>2]=f[m+8>>2];c=0;while(1){if((c|0)==3)break;f[m+(c<<2)>>2]=0;c=c+1|0}NSa(l,451569)|0;f[k>>2]=f[l>>2];f[k+4>>2]=f[l+4>>2];f[k+8>>2]=f[l+8>>2];c=0;while(1){if((c|0)==3)break;f[l+(c<<2)>>2]=0;c=c+1|0}c=b[g+11>>0]|0;p=c<<24>>24<0;rSa(k,p?f[g>>2]|0:g,p?f[g+4>>2]|0:c&255)|0;f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];f[j+8>>2]=f[k+8>>2];c=0;while(1){if((c|0)==3)break;f[k+(c<<2)>>2]=0;c=c+1|0}NSa(j,451320)|0;f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];f[i+8>>2]=f[j+8>>2];c=0;while(1){if((c|0)==3)break;f[j+(c<<2)>>2]=0;c=c+1|0}cTa(h,i);dTa((f[o>>2]|0)+-24|0,h);oSa(h);FSa(i);FSa(j);FSa(k);FSa(l);FSa(m);FSa(g);r=n}else r=a;u=e;return r|0}function vTa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;e=u;u=u+32|0;g=e+12|0;h=e;a:do if(((((c-a|0)>3?(b[a>>0]|0)==99:0)?(b[a+1>>0]|0)==108:0)?(i=a+2|0,j=lTa(i,c,d)|0,!((j|0)==(i|0)|(j|0)==(c|0))):0)?(i=d+4|0,k=f[i>>2]|0,(f[d>>2]|0)!=(k|0)):0){l=k+-12|0;m=b[l+11>>0]|0;n=m<<24>>24<0;rSa(k+-24|0,n?f[l>>2]|0:l,n?f[k+-8>>2]|0:m&255)|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;m=0;while(1){if((m|0)==3)break;f[h+(m<<2)>>2]=0;m=m+1|0}m=f[i>>2]|0;k=m+-12|0;n=k+11|0;if((b[n>>0]|0)<0){l=f[k>>2]|0;b[g>>0]=0;aHa(l,g);f[m+-8>>2]=0}else{b[g>>0]=0;aHa(k,g);b[n>>0]=0}mTa(k);f[k>>2]=f[h>>2];f[k+4>>2]=f[h+4>>2];f[k+8>>2]=f[h+8>>2];k=0;while(1){if((k|0)==3)break;f[h+(k<<2)>>2]=0;k=k+1|0}FSa(h);NSa((f[i>>2]|0)+-24|0,451322)|0;k=g+11|0;n=g+4|0;m=j;while(1){if((b[m>>0]|0)==69)break;l=lTa(m,c,d)|0;if((l|0)==(m|0)|(l|0)==(c|0)){o=a;break a}p=f[i>>2]|0;if((f[d>>2]|0)==(p|0)){o=a;break a}$Sa(g,p+-24|0);p=f[i>>2]|0;q=p+-24|0;r=p;while(1){if((r|0)==(q|0))break;s=r+-24|0;f[i>>2]=s;oSa(s);r=f[i>>2]|0}r=b[k>>0]|0;s=r<<24>>24<0;t=s?f[n>>2]|0:r&255;if(t|0){if((f[d>>2]|0)==(q|0)){v=26;break}rSa(p+-48|0,s?f[g>>2]|0:g,t)|0}FSa(g);m=l}if((v|0)==26){FSa(g);o=a;break}n=f[i>>2]|0;if((f[d>>2]|0)!=(n|0)){NSa(n+-24|0,451320)|0;o=m+1|0}else o=a}else o=a;while(0);u=e;return o|0}function wTa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;e=u;u=u+112|0;g=e+88|0;h=e+64|0;i=e+36|0;j=e+48|0;k=e+24|0;l=e+12|0;m=e;a:do if((((c-a|0)>2?(b[a>>0]|0)==99:0)?(b[a+1>>0]|0)==118:0)?(n=d+63|0,o=b[n>>0]|0,b[n>>0]=0,p=a+2|0,q=JSa(p,c,d)|0,b[n>>0]=o,!((q|0)==(p|0)|(q|0)==(c|0))):0){if((b[q>>0]|0)!=95){p=lTa(q,c,d)|0;if((p|0)==(q|0)){r=a;break}else s=p}else{p=q+1|0;if((p|0)==(c|0)){r=a;break}q=b[p>>0]|0;b:do if(q<<24>>24==69){o=d+4|0;n=f[o>>2]|0;if(n>>>0<(f[d+8>>2]|0)>>>0){f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;f[n+16>>2]=0;f[n+20>>2]=0;kUa(n);f[o>>2]=(f[o>>2]|0)+24;t=p;break}else{lUa(d);t=p;break}}else{o=p;n=q;while(1){if(n<<24>>24==69){t=o;break b}v=lTa(o,c,d)|0;w=(v|0)==(o|0)|(v|0)==(c|0);if(w){r=a;break a}x=b[(w?o:v)>>0]|0;o=v;n=x}}while(0);s=t+1|0}q=d+4|0;p=f[q>>2]|0;if(((p-(f[d>>2]|0)|0)/24|0)>>>0>=2){$Sa(g,p+-24|0);p=f[q>>2]|0;n=p+-24|0;o=p;while(1){if((o|0)==(n|0))break;x=o+-24|0;f[q>>2]=x;oSa(x);o=f[q>>2]|0}$Sa(m,p+-48|0);MSa(m,0,451322)|0;f[l>>2]=f[m>>2];f[l+4>>2]=f[m+4>>2];f[l+8>>2]=f[m+8>>2];o=0;while(1){if((o|0)==3)break;f[m+(o<<2)>>2]=0;o=o+1|0}NSa(l,452486)|0;f[k>>2]=f[l>>2];f[k+4>>2]=f[l+4>>2];f[k+8>>2]=f[l+8>>2];o=0;while(1){if((o|0)==3)break;f[l+(o<<2)>>2]=0;o=o+1|0}o=b[g+11>>0]|0;p=o<<24>>24<0;rSa(k,p?f[g>>2]|0:g,p?f[g+4>>2]|0:o&255)|0;f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];f[j+8>>2]=f[k+8>>2];o=0;while(1){if((o|0)==3)break;f[k+(o<<2)>>2]=0;o=o+1|0}NSa(j,451320)|0;f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];f[i+8>>2]=f[j+8>>2];o=0;while(1){if((o|0)==3)break;f[j+(o<<2)>>2]=0;o=o+1|0}cTa(h,i);dTa((f[q>>2]|0)+-24|0,h);oSa(h);FSa(i);FSa(j);FSa(k);FSa(l);FSa(m);FSa(g);r=s}else r=a}else r=a;while(0);u=e;return r|0}function xTa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=u;u=u+112|0;g=e+88|0;h=e+64|0;i=e+36|0;j=e+48|0;k=e+24|0;l=e+12|0;m=e;if((((((c-a|0)>2?(b[a>>0]|0)==100:0)?(b[a+1>>0]|0)==99:0)?(n=a+2|0,o=JSa(n,c,d)|0,(o|0)!=(n|0)):0)?(n=lTa(o,c,d)|0,(n|0)!=(o|0)):0)?(o=d+4|0,c=f[o>>2]|0,((c-(f[d>>2]|0)|0)/24|0)>>>0>=2):0){$Sa(g,c+-24|0);c=f[o>>2]|0;d=c+-24|0;p=c;while(1){if((p|0)==(d|0))break;q=p+-24|0;f[o>>2]=q;oSa(q);p=f[o>>2]|0}$Sa(m,c+-48|0);MSa(m,0,452472)|0;f[l>>2]=f[m>>2];f[l+4>>2]=f[m+4>>2];f[l+8>>2]=f[m+8>>2];c=0;while(1){if((c|0)==3)break;f[m+(c<<2)>>2]=0;c=c+1|0}NSa(l,451569)|0;f[k>>2]=f[l>>2];f[k+4>>2]=f[l+4>>2];f[k+8>>2]=f[l+8>>2];c=0;while(1){if((c|0)==3)break;f[l+(c<<2)>>2]=0;c=c+1|0}c=b[g+11>>0]|0;p=c<<24>>24<0;rSa(k,p?f[g>>2]|0:g,p?f[g+4>>2]|0:c&255)|0;f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];f[j+8>>2]=f[k+8>>2];c=0;while(1){if((c|0)==3)break;f[k+(c<<2)>>2]=0;c=c+1|0}NSa(j,451320)|0;f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];f[i+8>>2]=f[j+8>>2];c=0;while(1){if((c|0)==3)break;f[j+(c<<2)>>2]=0;c=c+1|0}cTa(h,i);dTa((f[o>>2]|0)+-24|0,h);oSa(h);FSa(i);FSa(j);FSa(k);FSa(l);FSa(m);FSa(g);r=n}else r=a;u=e;return r|0}function yTa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;e=u;u=u+32|0;g=e+12|0;h=e;i=c;a:do if((i-a|0)>2){if((b[a>>0]|0)==103){j=(b[a+1>>0]|0)==115;k=j;l=j?a+2|0:a}else{k=0;l=a}j=QTa(l,c,d)|0;if((j|0)!=(l|0)){if(!k){m=j;break}n=f[d+4>>2]|0;if((f[d>>2]|0)==(n|0)){m=a;break}MSa(n+-24|0,0,451394)|0;m=j;break}if(((i-l|0)>2?(b[l>>0]|0)==115:0)?(b[l+1>>0]|0)==114:0){j=l+2|0;if((b[j>>0]|0)==78){n=l+3|0;o=RTa(n,c,d)|0;if((o|0)==(n|0)|(o|0)==(c|0)){m=a;break}n=_Sa(o,c,d)|0;p=d+4|0;do if((n|0)==(o|0)){q=o;r=d}else{s=f[p>>2]|0;if(((s-(f[d>>2]|0)|0)/24|0)>>>0<2){m=a;break a}$Sa(g,s+-24|0);s=f[p>>2]|0;t=s+-24|0;v=s;while(1){if((v|0)==(t|0))break;w=v+-24|0;f[p>>2]=w;oSa(w);v=f[p>>2]|0}v=b[g+11>>0]|0;t=v<<24>>24<0;rSa(s+-48|0,t?f[g>>2]|0:g,t?f[g+4>>2]|0:v&255)|0;if((n|0)!=(c|0)){FSa(g);q=n;r=d;break}v=f[p>>2]|0;t=v+-24|0;w=v;while(1){if((w|0)==(t|0))break;v=w+-24|0;f[p>>2]=v;oSa(v);w=f[p>>2]|0}FSa(g);m=a;break a}while(0);n=h+11|0;o=h+4|0;w=q;while(1){if((b[w>>0]|0)==69)break;t=STa(w,c,d)|0;if((t|0)==(w|0)|(t|0)==(c|0)){m=a;break a}s=f[p>>2]|0;if(((s-(f[r>>2]|0)|0)/24|0)>>>0<2){m=a;break a}$Sa(g,s+-24|0);s=f[p>>2]|0;v=s+-24|0;x=s;while(1){if((x|0)==(v|0))break;s=x+-24|0;f[p>>2]=s;oSa(s);x=f[p>>2]|0}MSa(g,0,451394)|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];x=0;while(1){if((x|0)==3)break;f[g+(x<<2)>>2]=0;x=x+1|0}x=b[n>>0]|0;v=x<<24>>24<0;rSa((f[p>>2]|0)+-24|0,v?f[h>>2]|0:h,v?f[o>>2]|0:x&255)|0;FSa(h);FSa(g);w=t}o=w+1|0;n=QTa(o,c,d)|0;if((n|0)==(o|0)){o=f[p>>2]|0;if((f[d>>2]|0)==(o|0)){m=a;break}x=o+-24|0;v=o;while(1){if((v|0)==(x|0)){m=a;break a}o=v+-24|0;f[p>>2]=o;oSa(o);v=f[p>>2]|0}}v=f[p>>2]|0;if(((v-(f[r>>2]|0)|0)/24|0)>>>0<2){m=a;break}$Sa(g,v+-24|0);v=f[p>>2]|0;x=v+-24|0;w=v;while(1){if((w|0)==(x|0))break;v=w+-24|0;f[p>>2]=v;oSa(v);w=f[p>>2]|0}MSa(g,0,451394)|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];w=0;while(1){if((w|0)==3)break;f[g+(w<<2)>>2]=0;w=w+1|0}w=b[h+11>>0]|0;x=w<<24>>24<0;rSa((f[p>>2]|0)+-24|0,x?f[h>>2]|0:h,x?f[h+4>>2]|0:w&255)|0;FSa(h);FSa(g);m=n;break}w=RTa(j,c,d)|0;if((w|0)!=(j|0)){x=_Sa(w,c,d)|0;if((x|0)==(w|0))y=w;else{w=d+4|0;v=f[w>>2]|0;if(((v-(f[d>>2]|0)|0)/24|0)>>>0<2){m=a;break}$Sa(g,v+-24|0);v=f[w>>2]|0;o=v+-24|0;s=v;while(1){if((s|0)==(o|0))break;z=s+-24|0;f[w>>2]=z;oSa(z);s=f[w>>2]|0}w=b[g+11>>0]|0;s=w<<24>>24<0;rSa(v+-48|0,s?f[g>>2]|0:g,s?f[g+4>>2]|0:w&255)|0;FSa(g);y=x}w=QTa(y,c,d)|0;if((w|0)==(y|0)){s=d+4|0;o=f[s>>2]|0;if((f[d>>2]|0)==(o|0)){m=a;break}n=o+-24|0;p=o;while(1){if((p|0)==(n|0)){m=a;break a}o=p+-24|0;f[s>>2]=o;oSa(o);p=f[s>>2]|0}}s=d+4|0;p=f[s>>2]|0;if(((p-(f[d>>2]|0)|0)/24|0)>>>0<2){m=a;break}$Sa(g,p+-24|0);p=f[s>>2]|0;n=p+-24|0;x=p;while(1){if((x|0)==(n|0))break;p=x+-24|0;f[s>>2]=p;oSa(p);x=f[s>>2]|0}MSa(g,0,451394)|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];x=0;while(1){if((x|0)==3)break;f[g+(x<<2)>>2]=0;x=x+1|0}x=b[h+11>>0]|0;n=x<<24>>24<0;rSa((f[s>>2]|0)+-24|0,n?f[h>>2]|0:h,n?f[h+4>>2]|0:x&255)|0;FSa(h);FSa(g);m=w;break}x=STa(j,c,d)|0;if(!((x|0)==(j|0)|(x|0)==(c|0))){if(k){n=d+4|0;p=f[n>>2]|0;if((f[d>>2]|0)==(p|0)){m=a;break}MSa(p+-24|0,0,451394)|0;A=n}else A=d+4|0;n=h+11|0;p=h+4|0;v=x;while(1){if((b[v>>0]|0)==69)break;x=STa(v,c,d)|0;if((x|0)==(v|0)|(x|0)==(c|0)){m=a;break a}o=f[A>>2]|0;if(((o-(f[d>>2]|0)|0)/24|0)>>>0<2){m=a;break a}$Sa(g,o+-24|0);o=f[A>>2]|0;z=o+-24|0;B=o;while(1){if((B|0)==(z|0))break;o=B+-24|0;f[A>>2]=o;oSa(o);B=f[A>>2]|0}MSa(g,0,451394)|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];B=0;while(1){if((B|0)==3)break;f[g+(B<<2)>>2]=0;B=B+1|0}B=b[n>>0]|0;z=B<<24>>24<0;rSa((f[A>>2]|0)+-24|0,z?f[h>>2]|0:h,z?f[p>>2]|0:B&255)|0;FSa(h);FSa(g);v=x}p=v+1|0;n=QTa(p,c,d)|0;if((n|0)==(p|0)){p=f[A>>2]|0;if((f[d>>2]|0)==(p|0)){m=a;break}j=p+-24|0;w=p;while(1){if((w|0)==(j|0)){m=a;break a}p=w+-24|0;f[A>>2]=p;oSa(p);w=f[A>>2]|0}}w=f[A>>2]|0;if(((w-(f[d>>2]|0)|0)/24|0)>>>0>=2){$Sa(g,w+-24|0);w=f[A>>2]|0;j=w+-24|0;v=w;while(1){if((v|0)==(j|0))break;w=v+-24|0;f[A>>2]=w;oSa(w);v=f[A>>2]|0}MSa(g,0,451394)|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];v=0;while(1){if((v|0)==3)break;f[g+(v<<2)>>2]=0;v=v+1|0}v=b[h+11>>0]|0;j=v<<24>>24<0;rSa((f[A>>2]|0)+-24|0,j?f[h>>2]|0:h,j?f[h+4>>2]|0:v&255)|0;FSa(h);FSa(g);m=n}else m=a}else m=a}else m=a}else m=a;while(0);u=e;return m|0}function zTa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=u;u=u+32|0;g=e+12|0;h=e;if((((((c-a|0)>2?(b[a>>0]|0)==100:0)?(b[a+1>>0]|0)==115:0)?(i=a+2|0,j=lTa(i,c,d)|0,(j|0)!=(i|0)):0)?(i=lTa(j,c,d)|0,(i|0)!=(j|0)):0)?(j=d+4|0,c=f[j>>2]|0,((c-(f[d>>2]|0)|0)/24|0)>>>0>=2):0){$Sa(g,c+-24|0);c=f[j>>2]|0;d=c+-24|0;k=c;while(1){if((k|0)==(d|0))break;c=k+-24|0;f[j>>2]=c;oSa(c);k=f[j>>2]|0}nTa(h,451613,g);k=b[h+11>>0]|0;d=k<<24>>24<0;rSa((f[j>>2]|0)+-24|0,d?f[h>>2]|0:h,d?f[h+4>>2]|0:k&255)|0;FSa(h);FSa(g);l=i}else l=a;u=e;return l|0}function ATa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=u;u=u+32|0;g=e+12|0;h=e;if((((((c-a|0)>2?(b[a>>0]|0)==100:0)?(b[a+1>>0]|0)==116:0)?(i=a+2|0,j=lTa(i,c,d)|0,(j|0)!=(i|0)):0)?(i=yTa(j,c,d)|0,(i|0)!=(j|0)):0)?(j=d+4|0,c=f[j>>2]|0,((c-(f[d>>2]|0)|0)/24|0)>>>0>=2):0){$Sa(g,c+-24|0);c=f[j>>2]|0;d=c+-24|0;k=c;while(1){if((k|0)==(d|0))break;c=k+-24|0;f[j>>2]=c;oSa(c);k=f[j>>2]|0}nTa(h,451611,g);k=b[h+11>>0]|0;d=k<<24>>24<0;rSa((f[j>>2]|0)+-24|0,d?f[h>>2]|0:h,d?f[h+4>>2]|0:k&255)|0;FSa(h);FSa(g);l=i}else l=a;u=e;return l|0}function BTa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;e=u;u=u+112|0;g=e+88|0;h=e+76|0;i=e+64|0;j=e+40|0;k=e+16|0;l=e;m=e+52|0;n=c;a:do if((n-a|0)>3){o=b[a>>0]|0;if(o<<24>>24==103){p=(b[a+1>>0]|0)==115;q=p?a+2|0:a;r=p;s=q;t=b[q>>0]|0}else{r=0;s=a;t=o}if(t<<24>>24==110){o=b[s+1>>0]|0;switch(o<<24>>24){case 97:case 119:break;default:{v=a;break a}}q=o<<24>>24==97;o=s+2|0;b:do if((o|0)!=(c|0)){p=0;w=o;while(1){if((b[w>>0]|0)==95)break;x=lTa(w,c,d)|0;y=(x|0)==(w|0);z=(x|0)==(c|0);if(y|z)break b;else{p=p|(y|z)^1;w=x}}x=w+1|0;z=JSa(x,c,d)|0;if(!((z|0)==(x|0)|(z|0)==(c|0))){x=b[z>>0]|0;c:do if(!((n-z|0)>2&x<<24>>24==112))if(x<<24>>24==69){A=0;B=z}else break b;else{if((b[z+1>>0]|0)!=105)break b;y=z+2|0;while(1){if((b[y>>0]|0)==69){A=1;B=y;break c}C=y;y=lTa(y,c,d)|0;if((y|0)==(C|0)|(y|0)==(c|0))break b}}while(0);f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;z=0;while(1){if((z|0)==3)break;f[h+(z<<2)>>2]=0;z=z+1|0}d:do if(A){z=d+4|0;x=f[z>>2]|0;if((f[d>>2]|0)==(x|0)){D=a;E=1}else{$Sa(i,x+-24|0);x=h+11|0;if((b[x>>0]|0)<0){w=f[h>>2]|0;b[g>>0]=0;aHa(w,g);f[h+4>>2]=0}else{b[g>>0]=0;aHa(h,g);b[x>>0]=0}mTa(h);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];f[h+8>>2]=f[i+8>>2];x=0;while(1){if((x|0)==3)break;f[i+(x<<2)>>2]=0;x=x+1|0}FSa(i);x=f[z>>2]|0;w=x+-24|0;y=x;while(1){if((y|0)==(w|0)){F=z;G=d;H=w;I=31;break d}x=y+-24|0;f[z>>2]=x;oSa(x);y=f[z>>2]|0}}}else{z=d+4|0;F=z;G=d;H=f[z>>2]|0;I=31}while(0);if((I|0)==31)if((f[G>>2]|0)==(H|0)){D=a;E=1}else{$Sa(i,H+-24|0);z=f[F>>2]|0;y=z+-24|0;w=z;while(1){if((w|0)==(y|0))break;x=w+-24|0;f[F>>2]=x;oSa(x);w=f[F>>2]|0}f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;w=0;while(1){if((w|0)==3)break;f[j+(w<<2)>>2]=0;w=w+1|0}e:do if(p)if((f[G>>2]|0)==(y|0)){J=a;K=1}else{$Sa(k,z+-48|0);w=j+11|0;if((b[w>>0]|0)<0){x=f[j>>2]|0;b[g>>0]=0;aHa(x,g);f[j+4>>2]=0}else{b[g>>0]=0;aHa(j,g);b[w>>0]=0}mTa(j);f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];f[j+8>>2]=f[k+8>>2];w=0;while(1){if((w|0)==3)break;f[k+(w<<2)>>2]=0;w=w+1|0}FSa(k);w=f[F>>2]|0;x=w+-24|0;C=w;while(1){if((C|0)==(x|0)){I=49;break e}w=C+-24|0;f[F>>2]=w;oSa(w);C=f[F>>2]|0}}else I=49;while(0);if((I|0)==49){f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;z=0;while(1){if((z|0)==3)break;f[g+(z<<2)>>2]=0;z=z+1|0}if(r)OTa(g,451394);if(q)NSa(g,451604)|0;else NSa(g,451354)|0;if(p){nTa(l,451322,j);NSa(l,451608)|0;f[k>>2]=f[l>>2];f[k+4>>2]=f[l+4>>2];f[k+8>>2]=f[l+8>>2];z=0;while(1){if((z|0)==3)break;f[l+(z<<2)>>2]=0;z=z+1|0}z=b[k+11>>0]|0;p=z<<24>>24<0;rSa(g,p?f[k>>2]|0:k,p?f[k+4>>2]|0:z&255)|0;FSa(k);FSa(l)}z=b[i+11>>0]|0;p=z<<24>>24<0;rSa(g,p?f[i>>2]|0:i,p?f[i+4>>2]|0:z&255)|0;if(A){nTa(l,451317,h);NSa(l,451320)|0;f[k>>2]=f[l>>2];f[k+4>>2]=f[l+4>>2];f[k+8>>2]=f[l+8>>2];z=0;while(1){if((z|0)==3)break;f[l+(z<<2)>>2]=0;z=z+1|0}z=b[k+11>>0]|0;p=z<<24>>24<0;rSa(g,p?f[k>>2]|0:k,p?f[k+4>>2]|0:z&255)|0;FSa(k);FSa(l)};f[m>>2]=f[g>>2];f[m+4>>2]=f[g+4>>2];f[m+8>>2]=f[g+8>>2];z=0;while(1){if((z|0)==3)break;f[g+(z<<2)>>2]=0;z=z+1|0}cTa(k,m);z=f[F>>2]|0;if(z>>>0<(f[d+8>>2]|0)>>>0){eTa(z,k);f[F>>2]=(f[F>>2]|0)+24}else fTa(d,k);oSa(k);FSa(m);FSa(g);J=B+1|0;K=0}FSa(j);FSa(i);D=J;E=K}FSa(h);if(!E){v=D;break a}}}while(0);v=a}else v=a}else v=a;while(0);u=e;return v|0}function CTa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+48|0;g=e+36|0;h=e+24|0;i=e+12|0;j=e;k=lTa(a,c,d)|0;if((k|0)!=(a|0)?(c=d+4|0,l=f[c>>2]|0,(f[d>>2]|0)!=(l|0)):0){$Sa(j,l+-24|0);MSa(j,0,451593)|0;f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];f[i+8>>2]=f[j+8>>2];l=0;while(1){if((l|0)==3)break;f[j+(l<<2)>>2]=0;l=l+1|0}NSa(i,451320)|0;f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];f[h+8>>2]=f[i+8>>2];l=0;while(1){if((l|0)==3)break;f[i+(l<<2)>>2]=0;l=l+1|0}l=f[c>>2]|0;c=l+-24|0;d=c+11|0;if((b[d>>0]|0)<0){m=f[c>>2]|0;b[g>>0]=0;aHa(m,g);f[l+-20>>2]=0}else{b[g>>0]=0;aHa(c,g);b[d>>0]=0}mTa(c);f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];c=0;while(1){if((c|0)==3)break;f[h+(c<<2)>>2]=0;c=c+1|0}FSa(h);FSa(i);FSa(j);n=k}else n=a;u=e;return n|0}function DTa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=u;u=u+16|0;g=e;if((((((c-a|0)>2?(b[a>>0]|0)==112:0)?(b[a+1>>0]|0)==116:0)?(h=a+2|0,i=lTa(h,c,d)|0,(i|0)!=(h|0)):0)?(h=lTa(i,c,d)|0,(h|0)!=(i|0)):0)?(i=d+4|0,c=f[i>>2]|0,((c-(f[d>>2]|0)|0)/24|0)>>>0>=2):0){$Sa(g,c+-24|0);c=f[i>>2]|0;d=c+-24|0;j=c;while(1){if((j|0)==(d|0))break;k=j+-24|0;f[i>>2]=k;oSa(k);j=f[i>>2]|0}NSa(c+-48|0,451590)|0;c=b[g+11>>0]|0;j=c<<24>>24<0;rSa((f[i>>2]|0)+-24|0,j?f[g>>2]|0:g,j?f[g+4>>2]|0:c&255)|0;FSa(g);l=h}else l=a;u=e;return l|0}function ETa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=u;u=u+112|0;g=e+88|0;h=e+64|0;i=e+36|0;j=e+48|0;k=e+24|0;l=e+12|0;m=e;if((((((c-a|0)>2?(b[a>>0]|0)==114:0)?(b[a+1>>0]|0)==99:0)?(n=a+2|0,o=JSa(n,c,d)|0,(o|0)!=(n|0)):0)?(n=lTa(o,c,d)|0,(n|0)!=(o|0)):0)?(o=d+4|0,c=f[o>>2]|0,((c-(f[d>>2]|0)|0)/24|0)>>>0>=2):0){$Sa(g,c+-24|0);c=f[o>>2]|0;d=c+-24|0;p=c;while(1){if((p|0)==(d|0))break;q=p+-24|0;f[o>>2]=q;oSa(q);p=f[o>>2]|0}$Sa(m,c+-48|0);MSa(m,0,451572)|0;f[l>>2]=f[m>>2];f[l+4>>2]=f[m+4>>2];f[l+8>>2]=f[m+8>>2];c=0;while(1){if((c|0)==3)break;f[m+(c<<2)>>2]=0;c=c+1|0}NSa(l,451569)|0;f[k>>2]=f[l>>2];f[k+4>>2]=f[l+4>>2];f[k+8>>2]=f[l+8>>2];c=0;while(1){if((c|0)==3)break;f[l+(c<<2)>>2]=0;c=c+1|0}c=b[g+11>>0]|0;p=c<<24>>24<0;rSa(k,p?f[g>>2]|0:g,p?f[g+4>>2]|0:c&255)|0;f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];f[j+8>>2]=f[k+8>>2];c=0;while(1){if((c|0)==3)break;f[k+(c<<2)>>2]=0;c=c+1|0}NSa(j,451320)|0;f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];f[i+8>>2]=f[j+8>>2];c=0;while(1){if((c|0)==3)break;f[j+(c<<2)>>2]=0;c=c+1|0}cTa(h,i);dTa((f[o>>2]|0)+-24|0,h);oSa(h);FSa(i);FSa(j);FSa(k);FSa(l);FSa(m);FSa(g);r=n}else r=a;u=e;return r|0}function FTa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=u;u=u+112|0;g=e+88|0;h=e+64|0;i=e+36|0;j=e+48|0;k=e+24|0;l=e+12|0;m=e;if((((((c-a|0)>2?(b[a>>0]|0)==115:0)?(b[a+1>>0]|0)==99:0)?(n=a+2|0,o=JSa(n,c,d)|0,(o|0)!=(n|0)):0)?(n=lTa(o,c,d)|0,(n|0)!=(o|0)):0)?(o=d+4|0,c=f[o>>2]|0,((c-(f[d>>2]|0)|0)/24|0)>>>0>=2):0){$Sa(g,c+-24|0);c=f[o>>2]|0;d=c+-24|0;p=c;while(1){if((p|0)==(d|0))break;q=p+-24|0;f[o>>2]=q;oSa(q);p=f[o>>2]|0}$Sa(m,c+-48|0);MSa(m,0,451556)|0;f[l>>2]=f[m>>2];f[l+4>>2]=f[m+4>>2];f[l+8>>2]=f[m+8>>2];c=0;while(1){if((c|0)==3)break;f[m+(c<<2)>>2]=0;c=c+1|0}NSa(l,451569)|0;f[k>>2]=f[l>>2];f[k+4>>2]=f[l+4>>2];f[k+8>>2]=f[l+8>>2];c=0;while(1){if((c|0)==3)break;f[l+(c<<2)>>2]=0;c=c+1|0}c=b[g+11>>0]|0;p=c<<24>>24<0;rSa(k,p?f[g>>2]|0:g,p?f[g+4>>2]|0:c&255)|0;f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];f[j+8>>2]=f[k+8>>2];c=0;while(1){if((c|0)==3)break;f[k+(c<<2)>>2]=0;c=c+1|0}NSa(j,451320)|0;f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];f[i+8>>2]=f[j+8>>2];c=0;while(1){if((c|0)==3)break;f[j+(c<<2)>>2]=0;c=c+1|0}cTa(h,i);dTa((f[o>>2]|0)+-24|0,h);oSa(h);FSa(i);FSa(j);FSa(k);FSa(l);FSa(m);FSa(g);r=n}else r=a;u=e;return r|0}function GTa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0;if(((c-a|0)>2?(b[a>>0]|0)==115:0)?(b[a+1>>0]|0)==112:0){e=a+2|0;f=lTa(e,c,d)|0;g=(f|0)==(e|0)?a:f}else g=a;return g|0}function HTa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+64|0;g=e+40|0;h=e+12|0;i=e+24|0;j=e;if(((((c-a|0)>2?(b[a>>0]|0)==115:0)?(b[a+1>>0]|0)==116:0)?(k=a+2|0,l=JSa(k,c,d)|0,(l|0)!=(k|0)):0)?(k=d+4|0,c=f[k>>2]|0,(f[d>>2]|0)!=(c|0)):0){$Sa(j,c+-24|0);MSa(j,0,451547)|0;f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];f[i+8>>2]=f[j+8>>2];c=0;while(1){if((c|0)==3)break;f[j+(c<<2)>>2]=0;c=c+1|0}NSa(i,451320)|0;f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];f[h+8>>2]=f[i+8>>2];c=0;while(1){if((c|0)==3)break;f[i+(c<<2)>>2]=0;c=c+1|0}cTa(g,h);dTa((f[k>>2]|0)+-24|0,g);oSa(g);FSa(h);FSa(i);FSa(j);m=l}else m=a;u=e;return m|0}function ITa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+64|0;g=e+40|0;h=e+12|0;i=e+24|0;j=e;if(((((c-a|0)>2?(b[a>>0]|0)==115:0)?(b[a+1>>0]|0)==122:0)?(k=a+2|0,l=lTa(k,c,d)|0,(l|0)!=(k|0)):0)?(k=d+4|0,c=f[k>>2]|0,(f[d>>2]|0)!=(c|0)):0){$Sa(j,c+-24|0);MSa(j,0,451547)|0;f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];f[i+8>>2]=f[j+8>>2];c=0;while(1){if((c|0)==3)break;f[j+(c<<2)>>2]=0;c=c+1|0}NSa(i,451320)|0;f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];f[h+8>>2]=f[i+8>>2];c=0;while(1){if((c|0)==3)break;f[i+(c<<2)>>2]=0;c=c+1|0}cTa(g,h);dTa((f[k>>2]|0)+-24|0,g);oSa(g);FSa(h);FSa(i);FSa(j);m=l}else m=a;u=e;return m|0}function JTa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+64|0;g=e+40|0;h=e+24|0;i=e;j=e+12|0;if(((((c-a|0)>2?(b[a>>0]|0)==115:0)?(b[a+1>>0]|0)==90:0)?(k=a+2|0,(b[k>>0]|0)==84):0)?(l=d+4|0,m=((f[l>>2]|0)-(f[d>>2]|0)|0)/24|0,n=ZSa(k,c,d)|0,c=((f[l>>2]|0)-(f[d>>2]|0)|0)/24|0,(n|0)!=(k|0)):0){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;k=$Ga(451533)|0;if(k>>>0>4294967279)NQa(h);if(k>>>0<11){b[h+11>>0]=k;o=h}else{p=k+16&-16;q=CSa(p)|0;f[h>>2]=q;f[h+8>>2]=p|-2147483648;f[h+4>>2]=k;o=q}gGa(o,451533,k)|0;b[g>>0]=0;aHa(o+k|0,g);a:do if((m|0)!=(c|0)){$Sa(g,(f[d>>2]|0)+(m*24|0)|0);k=b[g+11>>0]|0;o=k<<24>>24<0;rSa(h,o?f[g>>2]|0:g,o?f[g+4>>2]|0:k&255)|0;FSa(g);k=g+11|0;o=g+4|0;q=m;while(1){p=q+1|0;if((p|0)==(c|0))break a;$Sa(i,(f[d>>2]|0)+(p*24|0)|0);MSa(i,0,451544)|0;f[g>>2]=f[i>>2];f[g+4>>2]=f[i+4>>2];f[g+8>>2]=f[i+8>>2];r=0;while(1){if((r|0)==3)break;f[i+(r<<2)>>2]=0;r=r+1|0}r=b[k>>0]|0;s=r<<24>>24<0;rSa(h,s?f[g>>2]|0:g,s?f[o>>2]|0:r&255)|0;FSa(g);FSa(i);q=p}}while(0);NSa(h,451320)|0;i=c;while(1){if((i|0)==(m|0))break;c=f[l>>2]|0;q=c+-24|0;o=c;while(1){if((o|0)==(q|0))break;c=o+-24|0;f[l>>2]=c;oSa(c);o=f[l>>2]|0}i=i+-1|0}f[j>>2]=f[h>>2];f[j+4>>2]=f[h+4>>2];f[j+8>>2]=f[h+8>>2];i=0;while(1){if((i|0)==3)break;f[h+(i<<2)>>2]=0;i=i+1|0}cTa(g,j);i=f[l>>2]|0;if(i>>>0<(f[d+8>>2]|0)>>>0){eTa(i,g);f[l>>2]=(f[l>>2]|0)+24}else fTa(d,g);oSa(g);FSa(j);FSa(h);t=n}else t=a;u=e;return t|0}function KTa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+64|0;g=e+40|0;h=e+12|0;i=e+24|0;j=e;if((((((c-a|0)>2?(b[a>>0]|0)==115:0)?(b[a+1>>0]|0)==90:0)?(k=a+2|0,(b[k>>0]|0)==102):0)?(l=pTa(k,c,d)|0,(l|0)!=(k|0)):0)?(k=d+4|0,c=f[k>>2]|0,(f[d>>2]|0)!=(c|0)):0){$Sa(j,c+-24|0);MSa(j,0,451533)|0;f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];f[i+8>>2]=f[j+8>>2];c=0;while(1){if((c|0)==3)break;f[j+(c<<2)>>2]=0;c=c+1|0}NSa(i,451320)|0;f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];f[h+8>>2]=f[i+8>>2];c=0;while(1){if((c|0)==3)break;f[i+(c<<2)>>2]=0;c=c+1|0}cTa(g,h);dTa((f[k>>2]|0)+-24|0,g);oSa(g);FSa(h);FSa(i);FSa(j);m=l}else m=a;u=e;return m|0}function LTa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+64|0;g=e+40|0;h=e+12|0;i=e+24|0;j=e;a:do if((c-a|0)>2?(b[a>>0]|0)==116:0){k=b[a+1>>0]|0;switch(k<<24>>24){case 105:case 101:break;default:{l=a;break a}}m=a+2|0;if(k<<24>>24==101)n=lTa(m,c,d)|0;else n=JSa(m,c,d)|0;if((n|0)!=(m|0)?(m=d+4|0,k=f[m>>2]|0,(f[d>>2]|0)!=(k|0)):0){$Sa(j,k+-24|0);MSa(j,0,451525)|0;f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];f[i+8>>2]=f[j+8>>2];k=0;while(1){if((k|0)==3)break;f[j+(k<<2)>>2]=0;k=k+1|0}NSa(i,451320)|0;f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];f[h+8>>2]=f[i+8>>2];k=0;while(1){if((k|0)==3)break;f[i+(k<<2)>>2]=0;k=k+1|0}cTa(g,h);dTa((f[m>>2]|0)+-24|0,g);oSa(g);FSa(h);FSa(i);FSa(j);l=n}else l=a}else l=a;while(0);u=e;return l|0}function MTa(a,c){a=a|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b[a+11>>0]=5;gGa(a,c,5)|0;b[e>>0]=0;aHa(a+5|0,e);e=a+12|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[e+(a<<2)>>2]=0;a=a+1|0}u=d;return}function NTa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=u;u=u+48|0;g=e+24|0;h=e;i=e+12|0;if(((((c-a|0)>2?(b[a>>0]|0)==116:0)?(b[a+1>>0]|0)==119:0)?(j=a+2|0,k=lTa(j,c,d)|0,(k|0)!=(j|0)):0)?(j=d+4|0,c=f[j>>2]|0,(f[d>>2]|0)!=(c|0)):0){$Sa(i,c+-24|0);MSa(i,0,451518)|0;f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];f[h+8>>2]=f[i+8>>2];c=0;while(1){if((c|0)==3)break;f[i+(c<<2)>>2]=0;c=c+1|0}cTa(g,h);dTa((f[j>>2]|0)+-24|0,g);oSa(g);FSa(h);FSa(i);l=k}else l=a;u=e;return l|0}function OTa(a,b){a=a|0;b=b|0;PTa(a,b,$Ga(b)|0);return}function PTa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=(f[a+8>>2]&2147483647)+-1|0;else k=10;do if(k>>>0>=d>>>0){if(j)l=f[a>>2]|0;else l=a;UQa(l,c,d)|0;b[g>>0]=0;aHa(l+d|0,g);if((b[h>>0]|0)<0){f[a+4>>2]=d;break}else{b[h>>0]=d;break}}else{if(j)m=f[a+4>>2]|0;else m=i&255;BSa(a,k,d-k|0,m,0,m,d,c)}while(0);u=e;return}function QTa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=u;u=u+16|0;g=e;a:do if((c-a|0)>1){h=b[a>>0]|0;switch(h<<24>>24){case 100:case 111:{if((b[a+1>>0]|0)==110){i=a+2|0;if(h<<24>>24!=111){h=jUa(i,c,d)|0;j=(h|0)==(i|0)?a:h;break a}h=XTa(i,c,d)|0;if((h|0)==(i|0)){j=a;break a}i=_Sa(h,c,d)|0;if((i|0)==(h|0)){j=h;break a}h=d+4|0;k=f[h>>2]|0;if(((k-(f[d>>2]|0)|0)/24|0)>>>0<2){j=i;break a}$Sa(g,k+-24|0);k=f[h>>2]|0;l=k+-24|0;m=k;while(1){if((m|0)==(l|0))break;n=m+-24|0;f[h>>2]=n;oSa(n);m=f[h>>2]|0}h=b[g+11>>0]|0;m=h<<24>>24<0;rSa(k+-48|0,m?f[g>>2]|0:g,m?f[g+4>>2]|0:h&255)|0;FSa(g);j=i;break a}break}default:{}}h=TTa(a,c,d)|0;if((h|0)==(a|0)){m=XTa(a,c,d)|0;if((m|0)!=(a|0)){l=_Sa(m,c,d)|0;if((l|0)!=(m|0)){n=d+4|0;o=f[n>>2]|0;if(((o-(f[d>>2]|0)|0)/24|0)>>>0<2)j=l;else{$Sa(g,o+-24|0);o=f[n>>2]|0;p=o+-24|0;q=o;while(1){if((q|0)==(p|0))break;r=q+-24|0;f[n>>2]=r;oSa(r);q=f[n>>2]|0}n=b[g+11>>0]|0;q=n<<24>>24<0;rSa(o+-48|0,q?f[g>>2]|0:g,q?f[g+4>>2]|0:n&255)|0;FSa(g);j=l}}else j=m}else j=a}else j=h}else j=a;while(0);u=e;return j|0}function RTa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+32|0;g=e+8|0;h=e;a:do if((a|0)==(c|0))i=a;else switch(b[a>>0]|0){case 84:{j=d+4|0;k=((f[j>>2]|0)-(f[d>>2]|0)|0)/24|0;l=ZSa(a,c,d)|0;m=f[j>>2]|0;n=(m-(f[d>>2]|0)|0)/24|0;o=m;if((l|0)!=(a|0)&(n|0)==(k+1|0)){f[h>>2]=f[d+12>>2];SSa(g,o+-24|0,h);m=d+20|0;p=f[m>>2]|0;if(p>>>0<(f[d+24>>2]|0)>>>0){f[p>>2]=0;q=p+4|0;f[q>>2]=0;r=f[g+12>>2]|0;f[p+8>>2]=0;f[p+12>>2]=r;f[p>>2]=f[g>>2];r=g+4|0;f[q>>2]=f[r>>2];q=g+8|0;f[p+8>>2]=f[q>>2];f[q>>2]=0;f[r>>2]=0;f[g>>2]=0;f[m>>2]=(f[m>>2]|0)+16}else TSa(d+16|0,g);pSa(g);i=l;break a}else{s=n;t=o}while(1){if((s|0)==(k|0)){i=a;break a}o=t+-24|0;n=t;while(1){if((n|0)==(o|0))break;l=n+-24|0;f[j>>2]=l;oSa(l);n=f[j>>2]|0}s=s+-1|0;t=o}break}case 68:{j=iTa(a,c,d)|0;if((j|0)==(a|0)){i=a;break a}k=f[d+4>>2]|0;if((f[d>>2]|0)==(k|0)){i=a;break a}f[h>>2]=f[d+12>>2];SSa(g,k+-24|0,h);k=d+20|0;n=f[k>>2]|0;if(n>>>0<(f[d+24>>2]|0)>>>0){f[n>>2]=0;l=n+4|0;f[l>>2]=0;m=f[g+12>>2]|0;f[n+8>>2]=0;f[n+12>>2]=m;f[n>>2]=f[g>>2];m=g+4|0;f[l>>2]=f[m>>2];l=g+8|0;f[n+8>>2]=f[l>>2];f[l>>2]=0;f[m>>2]=0;f[g>>2]=0;f[k>>2]=(f[k>>2]|0)+16}else TSa(d+16|0,g);pSa(g);i=j;break a;break}case 83:{j=hTa(a,c,d)|0;if((j|0)!=(a|0)){i=j;break a}if((c-a|0)<=2){i=a;break a}if((b[a+1>>0]|0)!=116){i=a;break a}j=a+2|0;k=UTa(j,c,d)|0;if((k|0)==(j|0)){i=a;break a}j=d+4|0;m=f[j>>2]|0;if((f[d>>2]|0)==(m|0)){i=a;break a}MSa(m+-24|0,0,451616)|0;m=(f[j>>2]|0)+-24|0;f[h>>2]=f[d+12>>2];SSa(g,m,h);m=d+20|0;j=f[m>>2]|0;if(j>>>0<(f[d+24>>2]|0)>>>0){f[j>>2]=0;l=j+4|0;f[l>>2]=0;n=f[g+12>>2]|0;f[j+8>>2]=0;f[j+12>>2]=n;f[j>>2]=f[g>>2];n=g+4|0;f[l>>2]=f[n>>2];l=g+8|0;f[j+8>>2]=f[l>>2];f[l>>2]=0;f[n>>2]=0;f[g>>2]=0;f[m>>2]=(f[m>>2]|0)+16}else TSa(d+16|0,g);pSa(g);i=k;break a;break}default:{i=a;break a}}while(0);u=e;return i|0}function STa(a,b,c){a=a|0;b=b|0;c=c|0;return TTa(a,b,c)|0}function TTa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;if((a|0)!=(c|0)?(h=aTa(a,c,d)|0,(h|0)!=(a|0)):0){i=_Sa(h,c,d)|0;if((i|0)!=(h|0)){c=d+4|0;j=f[c>>2]|0;if(((j-(f[d>>2]|0)|0)/24|0)>>>0<2)k=a;else{$Sa(g,j+-24|0);j=f[c>>2]|0;d=j+-24|0;l=j;while(1){if((l|0)==(d|0))break;m=l+-24|0;f[c>>2]=m;oSa(m);l=f[c>>2]|0}c=b[g+11>>0]|0;l=c<<24>>24<0;rSa(j+-48|0,l?f[g>>2]|0:g,l?f[g+4>>2]|0:c&255)|0;FSa(g);k=i}}else k=h}else k=a;u=e;return k|0}function UTa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;a:do if((a|0)==(c|0))e=a;else switch(b[a>>0]|0){case 68:case 67:{e=VTa(a,c,d)|0;break a;break}case 85:{e=WTa(a,c,d)|0;break a;break}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:{e=aTa(a,c,d)|0;break a;break}default:return XTa(a,c,d)|0}while(0);return e|0}function VTa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+64|0;g=e+40|0;h=e+24|0;i=e;j=e+12|0;a:do if((c-a|0)>1?(k=d+4|0,l=f[k>>2]|0,(f[d>>2]|0)!=(l|0)):0){switch(b[a>>0]|0){case 67:{switch(b[a+1>>0]|0){case 53:case 51:case 50:case 49:break;default:{m=a;break a}}hUa(h,l+-24|0);cTa(g,h);n=f[k>>2]|0;if(n>>>0<(f[d+8>>2]|0)>>>0){eTa(n,g);f[k>>2]=(f[k>>2]|0)+24}else fTa(d,g);oSa(g);FSa(h);b[d+60>>0]=1;m=a+2|0;break a;break}case 68:break;default:{m=a;break a}}switch(b[a+1>>0]|0){case 53:case 50:case 49:case 48:break;default:{m=a;break a}}hUa(j,l+-24|0);MSa(j,0,451392)|0;f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];f[i+8>>2]=f[j+8>>2];l=0;while(1){if((l|0)==3)break;f[j+(l<<2)>>2]=0;l=l+1|0}cTa(g,i);l=f[k>>2]|0;if(l>>>0<(f[d+8>>2]|0)>>>0){eTa(l,g);f[k>>2]=(f[k>>2]|0)+24}else fTa(d,g);oSa(g);FSa(i);FSa(j);b[d+60>>0]=1;m=a+2|0}else m=a;while(0);u=e;return m|0}function WTa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;e=u;u=u+80|0;g=e+68|0;h=e+16|0;i=e+56|0;j=e+44|0;k=e;l=e+40|0;a:do if((c-a|0)>2?(b[a>>0]|0)==85:0){switch(b[a+1>>0]|0){case 116:{f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;m=$Ga(452123)|0;if(m>>>0>4294967279)NQa(i);if(m>>>0<11){b[i+11>>0]=m;n=i}else{o=m+16&-16;p=CSa(o)|0;f[i>>2]=p;f[i+8>>2]=o|-2147483648;f[i+4>>2]=m;n=p}gGa(n,452123,m)|0;b[g>>0]=0;aHa(n+m|0,g);cTa(h,i);m=d+4|0;p=f[m>>2]|0;if(p>>>0<(f[d+8>>2]|0)>>>0){eTa(p,h);f[m>>2]=(f[m>>2]|0)+24}else fTa(d,h);oSa(h);FSa(i);p=a+2|0;if((p|0)==(c|0)){o=f[m>>2]|0;q=o+-24|0;r=o;while(1){if((r|0)==(q|0)){s=a;break a}o=r+-24|0;f[m>>2]=o;oSa(o);r=f[m>>2]|0}}if(((b[p>>0]|0)+-48|0)>>>0<10){r=a+3|0;while(1){if((r|0)==(c|0)){t=c;break}if(((b[r>>0]|0)+-48|0)>>>0>=10){t=r;break}r=r+1|0}dUa((f[m>>2]|0)+-24|0,p,t);v=t}else v=p;eUa((f[m>>2]|0)+-24|0,39);if((v|0)!=(c|0)?(b[v>>0]|0)==95:0){s=v+1|0;break a}r=f[m>>2]|0;q=r+-24|0;o=r;while(1){if((o|0)==(q|0)){s=a;break a}r=o+-24|0;f[m>>2]=r;oSa(r);o=f[m>>2]|0}break}case 108:break;default:{s=a;break a}}f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;m=$Ga(452132)|0;if(m>>>0>4294967279)NQa(j);if(m>>>0<11){b[j+11>>0]=m;w=j}else{o=m+16&-16;q=CSa(o)|0;f[j>>2]=q;f[j+8>>2]=o|-2147483648;f[j+4>>2]=m;w=q}gGa(w,452132,m)|0;b[g>>0]=0;aHa(w+m|0,g);cTa(h,j);m=d+4|0;q=f[m>>2]|0;if(q>>>0<(f[d+8>>2]|0)>>>0){eTa(q,h);f[m>>2]=(f[m>>2]|0)+24}else fTa(d,h);oSa(h);FSa(j);q=a+2|0;do if((b[q>>0]|0)!=118){o=JSa(q,c,d)|0;if((o|0)==(q|0)){p=f[m>>2]|0;r=p+-24|0;x=p;while(1){if((x|0)==(r|0)){s=a;break a}p=x+-24|0;f[m>>2]=p;oSa(p);x=f[m>>2]|0}}x=f[m>>2]|0;if(((x-(f[d>>2]|0)|0)/24|0)>>>0<2){s=a;break a}$Sa(h,x+-24|0);x=f[m>>2]|0;r=x+-24|0;p=x;while(1){if((p|0)==(r|0))break;y=p+-24|0;f[m>>2]=y;oSa(y);p=f[m>>2]|0}p=h+11|0;r=b[p>>0]|0;y=r<<24>>24<0;z=h+4|0;rSa(x+-48|0,y?f[h>>2]|0:h,y?f[z>>2]|0:r&255)|0;r=o;while(1){y=JSa(r,c,d)|0;if((y|0)==(r|0)){A=60;break}B=f[m>>2]|0;if(((B-(f[d>>2]|0)|0)/24|0)>>>0<2){A=85;break}$Sa(k,B+-24|0);if((b[p>>0]|0)<0){B=f[h>>2]|0;b[g>>0]=0;aHa(B,g);f[z>>2]=0}else{b[g>>0]=0;aHa(h,g);b[p>>0]=0}mTa(h);f[h>>2]=f[k>>2];f[h+4>>2]=f[k+4>>2];f[h+8>>2]=f[k+8>>2];B=0;while(1){if((B|0)==3)break;f[k+(B<<2)>>2]=0;B=B+1|0}FSa(k);B=f[m>>2]|0;C=B+-24|0;D=B;while(1){if((D|0)==(C|0))break;E=D+-24|0;f[m>>2]=E;oSa(E);D=f[m>>2]|0}D=b[p>>0]|0;if(!((D<<24>>24<0?f[z>>2]|0:D&255)|0)){r=y;continue}NSa(B+-48|0,451544)|0;D=b[p>>0]|0;C=D<<24>>24<0;rSa((f[m>>2]|0)+-24|0,C?f[h>>2]|0:h,C?f[z>>2]|0:D&255)|0;r=y}if((A|0)==60){NSa((f[m>>2]|0)+-24|0,451320)|0;FSa(h);F=r;break}else if((A|0)==85){FSa(h);s=a;break a}}else{eUa((f[m>>2]|0)+-24|0,41);F=a+3|0}while(0);if((F|0)!=(c|0)?(b[F>>0]|0)==69:0){q=F+1|0;if((q|0)==(c|0)){z=f[m>>2]|0;p=z+-24|0;o=z;while(1){if((o|0)==(p|0)){s=a;break a}z=o+-24|0;f[m>>2]=z;oSa(z);o=f[m>>2]|0}}if(((b[q>>0]|0)+-48|0)>>>0<10){o=F+2|0;while(1){if((o|0)==(c|0)){G=c;break}if(((b[o>>0]|0)+-48|0)>>>0>=10){G=o;break}o=o+1|0}o=(f[m>>2]|0)+-24|0;if((b[o+11>>0]|0)<0)H=f[o>>2]|0;else H=o;f[l>>2]=H+7;f[g>>2]=f[l>>2];fUa(o,g,q,G)|0;I=G}else I=q;if((I|0)!=(c|0)?(b[I>>0]|0)==95:0){s=I+1|0;break}o=f[m>>2]|0;p=o+-24|0;z=o;while(1){if((z|0)==(p|0)){s=a;break a}o=z+-24|0;f[m>>2]=o;oSa(o);z=f[m>>2]|0}}z=f[m>>2]|0;p=z+-24|0;q=z;while(1){if((q|0)==(p|0)){s=a;break a}z=q+-24|0;f[m>>2]=z;oSa(z);q=f[m>>2]|0}}else s=a;while(0);u=e;return s|0}function XTa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=u;u=u+32|0;g=e;a:do if((c-a|0)>1)do switch(b[a>>0]|0){case 97:{switch(b[a+1>>0]|0){case 97:{YTa(g,451622);h=d+4|0;i=f[h>>2]|0;if(i>>>0<(f[d+8>>2]|0)>>>0){eTa(i,g);f[h>>2]=(f[h>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}case 110:case 100:{ZTa(g,451633);h=d+4|0;i=f[h>>2]|0;if(i>>>0<(f[d+8>>2]|0)>>>0){eTa(i,g);f[h>>2]=(f[h>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}case 78:{YTa(g,451643);h=d+4|0;i=f[h>>2]|0;if(i>>>0<(f[d+8>>2]|0)>>>0){eTa(i,g);f[h>>2]=(f[h>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}case 83:{ZTa(g,451654);h=d+4|0;i=f[h>>2]|0;if(i>>>0<(f[d+8>>2]|0)>>>0){eTa(i,g);f[h>>2]=(f[h>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}default:{j=a;break a}}break}case 99:{switch(b[a+1>>0]|0){case 108:{YTa(g,451664);h=d+4|0;i=f[h>>2]|0;if(i>>>0<(f[d+8>>2]|0)>>>0){eTa(i,g);f[h>>2]=(f[h>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}case 109:{ZTa(g,451675);h=d+4|0;i=f[h>>2]|0;if(i>>>0<(f[d+8>>2]|0)>>>0){eTa(i,g);f[h>>2]=(f[h>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}case 111:{ZTa(g,451685);h=d+4|0;i=f[h>>2]|0;if(i>>>0<(f[d+8>>2]|0)>>>0){eTa(i,g);f[h>>2]=(f[h>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}case 118:{h=d+63|0;i=b[h>>0]|0;b[h>>0]=0;k=a+2|0;l=JSa(k,c,d)|0;b[h>>0]=i;if((l|0)==(k|0)){j=a;break a}k=f[d+4>>2]|0;if((f[d>>2]|0)==(k|0)){j=a;break a}MSa(k+-24|0,0,451695)|0;b[d+60>>0]=1;j=l;break a;break}default:{j=a;break a}}break}case 100:{switch(b[a+1>>0]|0){case 97:{_Ta(g,451705);l=d+4|0;k=f[l>>2]|0;if(k>>>0<(f[d+8>>2]|0)>>>0){eTa(k,g);f[l>>2]=(f[l>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}case 101:{ZTa(g,451723);l=d+4|0;k=f[l>>2]|0;if(k>>>0<(f[d+8>>2]|0)>>>0){eTa(k,g);f[l>>2]=(f[l>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}case 108:{$Ta(g);l=d+4|0;k=f[l>>2]|0;if(k>>>0<(f[d+8>>2]|0)>>>0){eTa(k,g);f[l>>2]=(f[l>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}case 118:{ZTa(g,451733);l=d+4|0;k=f[l>>2]|0;if(k>>>0<(f[d+8>>2]|0)>>>0){eTa(k,g);f[l>>2]=(f[l>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}case 86:{YTa(g,451743);l=d+4|0;k=f[l>>2]|0;if(k>>>0<(f[d+8>>2]|0)>>>0){eTa(k,g);f[l>>2]=(f[l>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}default:{j=a;break a}}break}case 101:{switch(b[a+1>>0]|0){case 111:{ZTa(g,451754);l=d+4|0;k=f[l>>2]|0;if(k>>>0<(f[d+8>>2]|0)>>>0){eTa(k,g);f[l>>2]=(f[l>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}case 79:{YTa(g,451764);l=d+4|0;k=f[l>>2]|0;if(k>>>0<(f[d+8>>2]|0)>>>0){eTa(k,g);f[l>>2]=(f[l>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}case 113:{YTa(g,451775);l=d+4|0;k=f[l>>2]|0;if(k>>>0<(f[d+8>>2]|0)>>>0){eTa(k,g);f[l>>2]=(f[l>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}default:{j=a;break a}}break}case 103:{switch(b[a+1>>0]|0){case 101:{YTa(g,451786);l=d+4|0;k=f[l>>2]|0;if(k>>>0<(f[d+8>>2]|0)>>>0){eTa(k,g);f[l>>2]=(f[l>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}case 116:{ZTa(g,451797);l=d+4|0;k=f[l>>2]|0;if(k>>>0<(f[d+8>>2]|0)>>>0){eTa(k,g);f[l>>2]=(f[l>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}default:{j=a;break a}}break}case 105:{if((b[a+1>>0]|0)!=120){j=a;break a}YTa(g,451807);l=d+4|0;k=f[l>>2]|0;if(k>>>0<(f[d+8>>2]|0)>>>0){eTa(k,g);f[l>>2]=(f[l>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}case 108:{switch(b[a+1>>0]|0){case 101:{YTa(g,451818);l=d+4|0;k=f[l>>2]|0;if(k>>>0<(f[d+8>>2]|0)>>>0){eTa(k,g);f[l>>2]=(f[l>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}case 105:{l=a+2|0;k=aTa(l,c,d)|0;if((k|0)==(l|0)){j=a;break a}l=f[d+4>>2]|0;if((f[d>>2]|0)==(l|0)){j=a;break a}MSa(l+-24|0,0,451829)|0;j=k;break a;break}case 115:{YTa(g,451841);k=d+4|0;l=f[k>>2]|0;if(l>>>0<(f[d+8>>2]|0)>>>0){eTa(l,g);f[k>>2]=(f[k>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}case 83:{aUa(g,451852);k=d+4|0;l=f[k>>2]|0;if(l>>>0<(f[d+8>>2]|0)>>>0){eTa(l,g);f[k>>2]=(f[k>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}case 116:{ZTa(g,451864);k=d+4|0;l=f[k>>2]|0;if(l>>>0<(f[d+8>>2]|0)>>>0){eTa(l,g);f[k>>2]=(f[k>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}default:{j=a;break a}}break}case 109:{switch(b[a+1>>0]|0){case 105:{ZTa(g,451874);k=d+4|0;l=f[k>>2]|0;if(l>>>0<(f[d+8>>2]|0)>>>0){eTa(l,g);f[k>>2]=(f[k>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}case 73:{YTa(g,451884);k=d+4|0;l=f[k>>2]|0;if(l>>>0<(f[d+8>>2]|0)>>>0){eTa(l,g);f[k>>2]=(f[k>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}case 108:{ZTa(g,451723);k=d+4|0;l=f[k>>2]|0;if(l>>>0<(f[d+8>>2]|0)>>>0){eTa(l,g);f[k>>2]=(f[k>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}case 76:{YTa(g,451895);k=d+4|0;l=f[k>>2]|0;if(l>>>0<(f[d+8>>2]|0)>>>0){eTa(l,g);f[k>>2]=(f[k>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}case 109:{YTa(g,451906);k=d+4|0;l=f[k>>2]|0;if(l>>>0<(f[d+8>>2]|0)>>>0){eTa(l,g);f[k>>2]=(f[k>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}default:{j=a;break a}}break}case 110:{switch(b[a+1>>0]|0){case 97:{bUa(g,451917);k=d+4|0;l=f[k>>2]|0;if(l>>>0<(f[d+8>>2]|0)>>>0){eTa(l,g);f[k>>2]=(f[k>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}case 101:{YTa(g,451932);k=d+4|0;l=f[k>>2]|0;if(l>>>0<(f[d+8>>2]|0)>>>0){eTa(l,g);f[k>>2]=(f[k>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}case 103:{ZTa(g,451874);k=d+4|0;l=f[k>>2]|0;if(l>>>0<(f[d+8>>2]|0)>>>0){eTa(l,g);f[k>>2]=(f[k>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}case 116:{ZTa(g,451943);k=d+4|0;l=f[k>>2]|0;if(l>>>0<(f[d+8>>2]|0)>>>0){eTa(l,g);f[k>>2]=(f[k>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}case 119:{cUa(g,451953);k=d+4|0;l=f[k>>2]|0;if(l>>>0<(f[d+8>>2]|0)>>>0){eTa(l,g);f[k>>2]=(f[k>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}default:{j=a;break a}}break}case 111:{switch(b[a+1>>0]|0){case 111:{YTa(g,451966);k=d+4|0;l=f[k>>2]|0;if(l>>>0<(f[d+8>>2]|0)>>>0){eTa(l,g);f[k>>2]=(f[k>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}case 114:{ZTa(g,451977);k=d+4|0;l=f[k>>2]|0;if(l>>>0<(f[d+8>>2]|0)>>>0){eTa(l,g);f[k>>2]=(f[k>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}case 82:{YTa(g,451987);k=d+4|0;l=f[k>>2]|0;if(l>>>0<(f[d+8>>2]|0)>>>0){eTa(l,g);f[k>>2]=(f[k>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}default:{j=a;break a}}break}case 112:{switch(b[a+1>>0]|0){case 109:{aUa(g,451998);k=d+4|0;l=f[k>>2]|0;if(l>>>0<(f[d+8>>2]|0)>>>0){eTa(l,g);f[k>>2]=(f[k>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}case 108:{ZTa(g,452010);k=d+4|0;l=f[k>>2]|0;if(l>>>0<(f[d+8>>2]|0)>>>0){eTa(l,g);f[k>>2]=(f[k>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}case 76:{YTa(g,452020);k=d+4|0;l=f[k>>2]|0;if(l>>>0<(f[d+8>>2]|0)>>>0){eTa(l,g);f[k>>2]=(f[k>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}case 112:{YTa(g,452031);k=d+4|0;l=f[k>>2]|0;if(l>>>0<(f[d+8>>2]|0)>>>0){eTa(l,g);f[k>>2]=(f[k>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}case 115:{ZTa(g,452010);k=d+4|0;l=f[k>>2]|0;if(l>>>0<(f[d+8>>2]|0)>>>0){eTa(l,g);f[k>>2]=(f[k>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}case 116:{YTa(g,452042);k=d+4|0;l=f[k>>2]|0;if(l>>>0<(f[d+8>>2]|0)>>>0){eTa(l,g);f[k>>2]=(f[k>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}default:{j=a;break a}}break}case 113:{if((b[a+1>>0]|0)!=117){j=a;break a}ZTa(g,452053);k=d+4|0;l=f[k>>2]|0;if(l>>>0<(f[d+8>>2]|0)>>>0){eTa(l,g);f[k>>2]=(f[k>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}case 114:{switch(b[a+1>>0]|0){case 109:{ZTa(g,452063);k=d+4|0;l=f[k>>2]|0;if(l>>>0<(f[d+8>>2]|0)>>>0){eTa(l,g);f[k>>2]=(f[k>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}case 77:{YTa(g,452073);k=d+4|0;l=f[k>>2]|0;if(l>>>0<(f[d+8>>2]|0)>>>0){eTa(l,g);f[k>>2]=(f[k>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}case 115:{YTa(g,452084);k=d+4|0;l=f[k>>2]|0;if(l>>>0<(f[d+8>>2]|0)>>>0){eTa(l,g);f[k>>2]=(f[k>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}case 83:{aUa(g,452095);k=d+4|0;l=f[k>>2]|0;if(l>>>0<(f[d+8>>2]|0)>>>0){eTa(l,g);f[k>>2]=(f[k>>2]|0)+24}else fTa(d,g);oSa(g);j=a+2|0;break a;break}default:{j=a;break a}}break}case 118:{if(((b[a+1>>0]|0)+-48|0)>>>0>=10){j=a;break a}k=a+2|0;l=aTa(k,c,d)|0;if((l|0)==(k|0)){j=a;break a}k=f[d+4>>2]|0;if((f[d>>2]|0)==(k|0)){j=a;break a}MSa(k+-24|0,0,451695)|0;j=l;break a;break}default:{j=a;break a}}while(0);else j=a;while(0);u=e;return j|0}function YTa(a,c){a=a|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b[a+11>>0]=10;gGa(a,c,10)|0;b[e>>0]=0;aHa(a+10|0,e);e=a+12|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[e+(a<<2)>>2]=0;a=a+1|0}u=d;return}function ZTa(a,c){a=a|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b[a+11>>0]=9;gGa(a,c,9)|0;b[e>>0]=0;aHa(a+9|0,e);e=a+12|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[e+(a<<2)>>2]=0;a=a+1|0}u=d;return}function _Ta(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;e=d;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;g=CSa(32)|0;f[a>>2]=g;f[a+8>>2]=-2147483616;f[a+4>>2]=17;gGa(g,c,17)|0;b[e>>0]=0;aHa(g+17|0,e);e=a+12|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[e+(a<<2)>>2]=0;a=a+1|0}u=d;return}function $Ta(a){a=a|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;e=CSa(16)|0;f[a>>2]=e;f[a+8>>2]=-2147483632;f[a+4>>2]=15;gGa(e,452107,15)|0;b[d>>0]=0;aHa(e+15|0,d);d=a+12|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[d+(a<<2)>>2]=0;a=a+1|0}u=c;return}function aUa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;e=d;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;g=CSa(16)|0;f[a>>2]=g;f[a+8>>2]=-2147483632;f[a+4>>2]=11;gGa(g,c,11)|0;b[e>>0]=0;aHa(g+11|0,e);e=a+12|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[e+(a<<2)>>2]=0;a=a+1|0}u=d;return}function bUa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;e=d;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;g=CSa(16)|0;f[a>>2]=g;f[a+8>>2]=-2147483632;f[a+4>>2]=14;gGa(g,c,14)|0;b[e>>0]=0;aHa(g+14|0,e);e=a+12|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[e+(a<<2)>>2]=0;a=a+1|0}u=d;return}function cUa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;e=d;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;g=CSa(16)|0;f[a>>2]=g;f[a+8>>2]=-2147483632;f[a+4>>2]=12;gGa(g,c,12)|0;b[e>>0]=0;aHa(g+12|0,e);e=a+12|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[e+(a<<2)>>2]=0;a=a+1|0}u=d;return}function dUa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;e=u;u=u+16|0;g=c;h=e+12|0;i=e;j=a+11|0;k=b[j>>0]|0;l=k<<24>>24<0;if(l){m=f[a+4>>2]|0;n=(f[a+8>>2]&2147483647)+-1|0}else{m=k&255;n=10}o=d-g|0;do if(o|0){if(l){p=f[a>>2]|0;q=f[a+4>>2]|0}else{p=a;q=k&255}if(cRa(c,p,p+q|0)|0){f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;if(o>>>0>4294967279)NQa(i);if(o>>>0<11){b[i+11>>0]=o;r=i}else{s=o+16&-16;t=CSa(s)|0;f[i>>2]=t;f[i+8>>2]=s|-2147483648;f[i+4>>2]=o;r=t}t=c;s=r;while(1){if((t|0)==(d|0))break;aHa(s,t);t=t+1|0;s=s+1|0}b[h>>0]=0;aHa(r+o|0,h);s=b[i+11>>0]|0;t=s<<24>>24<0;rSa(a,t?f[i>>2]|0:i,t?f[i+4>>2]|0:s&255)|0;FSa(i);break}if((n-m|0)>>>0>>0)gUa(a,n,m+o-n|0,m,m,0);if((b[j>>0]|0)<0)v=f[a>>2]|0;else v=a;s=d+(m-g)|0;t=v+m|0;w=c;while(1){if((w|0)==(d|0))break;aHa(t,w);t=t+1|0;w=w+1|0}b[h>>0]=0;aHa(v+s|0,h);w=m+o|0;if((b[j>>0]|0)<0){f[a+4>>2]=w;break}else{b[j>>0]=w;break}}while(0);u=e;return}function eUa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=u;u=u+16|0;e=d;g=d+1|0;b[e>>0]=c;c=a+11|0;h=b[c>>0]|0;i=h<<24>>24<0;if(i){j=f[a+4>>2]|0;k=(f[a+8>>2]&2147483647)+-1|0}else{j=h&255;k=10}if((j|0)==(k|0)){gUa(a,k,1,k,k,0);if((b[c>>0]|0)<0)l=8;else l=7}else if(i)l=8;else l=7;if((l|0)==7){b[c>>0]=j+1;m=a}else if((l|0)==8){l=f[a>>2]|0;f[a+4>>2]=j+1;m=l}l=m+j|0;aHa(l,e);b[g>>0]=0;aHa(l+1|0,g);u=d;return}function fUa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;g=u;u=u+32|0;h=g+16|0;i=g;j=g+12|0;k=a+11|0;l=b[k>>0]|0;m=l<<24>>24<0;if(m)n=f[a>>2]|0;else n=a;o=f[c>>2]|0;c=o-n|0;n=e-d|0;do if(!n){p=l;q=35}else{if(m){r=f[a>>2]|0;s=f[a+4>>2]|0}else{r=a;s=l&255}if(cRa(d,r,r+s|0)|0){f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;if(n>>>0>4294967279)NQa(i);if(n>>>0<11){b[i+11>>0]=n;t=i}else{v=n+16&-16;w=CSa(v)|0;f[i>>2]=w;f[i+8>>2]=v|-2147483648;f[i+4>>2]=n;t=w}w=d;v=t;while(1){if((w|0)==(e|0))break;aHa(v,w);w=w+1|0;v=v+1|0}b[h>>0]=0;aHa(t+n|0,h);f[j>>2]=o;v=b[i+11>>0]|0;w=v<<24>>24<0;x=w?f[i>>2]|0:i;y=x+(w?f[i+4>>2]|0:v&255)|0;f[h>>2]=f[j>>2];v=fUa(a,h,x,y)|0;FSa(i);z=v;break}v=b[k>>0]|0;y=v<<24>>24<0;if(y){A=f[a+4>>2]|0;B=(f[a+8>>2]&2147483647)+-1|0}else{A=v&255;B=10}if((B-A|0)>>>0>=n>>>0){if(y)C=f[a>>2]|0;else C=a;y=A-c|0;if(!y)D=C;else{v=C+c|0;UQa(v+n|0,v,y)|0;D=C}}else{gUa(a,B,A+n-B|0,A,c,n);D=f[a>>2]|0}y=A+n|0;if((b[k>>0]|0)<0)f[a+4>>2]=y;else b[k>>0]=y;b[h>>0]=0;aHa(D+y|0,h);y=d;v=D+c|0;while(1){if((y|0)==(e|0))break;aHa(v,y);y=y+1|0;v=v+1|0}p=b[k>>0]|0;q=35}while(0);if((q|0)==35){if(p<<24>>24<0)E=f[a>>2]|0;else E=a;z=E+c|0}u=g;return z|0}function gUa(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;if((-17-c|0)>>>0>>0)NQa(a);if((b[a+11>>0]|0)<0)i=f[a>>2]|0;else i=a;if(c>>>0<2147483623){j=d+c|0;d=c<<1;k=j>>>0>>0?d:j;l=k>>>0<11?11:k+16&-16}else l=-17;k=CSa(l)|0;if(g|0)gGa(k,i,g)|0;j=e-g|0;if(j|0)gGa(k+g+h|0,i+g|0,j)|0;if((c|0)!=10)DSa(i);f[a>>2]=k;f[a+8>>2]=l|-2147483648;return}function hUa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;d=u;u=u+16|0;e=d;g=c+11|0;h=b[g>>0]|0;i=c+4|0;a:do if(!((h<<24>>24<0?f[i>>2]|0:h&255)|0))iUa(a,c);else{j=$Ga(452142)|0;k=b[g>>0]|0;if((j|0)==((k<<24>>24<0?f[i>>2]|0:k&255)|0)?(XSa(c,452142,j)|0)==0:0){OTa(c,452154);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;j=$Ga(452225)|0;if(j>>>0>4294967279)NQa(a);if(j>>>0<11){b[a+11>>0]=j;l=a}else{k=j+16&-16;m=CSa(k)|0;f[a>>2]=m;f[a+8>>2]=k|-2147483648;f[a+4>>2]=j;l=m}gGa(l,452225,j)|0;b[e>>0]=0;aHa(l+j|0,e);break}j=$Ga(452238)|0;m=b[g>>0]|0;if((j|0)==((m<<24>>24<0?f[i>>2]|0:m&255)|0)?(XSa(c,452238,j)|0)==0:0){OTa(c,452251);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;j=$Ga(452301)|0;if(j>>>0>4294967279)NQa(a);if(j>>>0<11){b[a+11>>0]=j;n=a}else{m=j+16&-16;k=CSa(m)|0;f[a>>2]=k;f[a+8>>2]=m|-2147483648;f[a+4>>2]=j;n=k}gGa(n,452301,j)|0;b[e>>0]=0;aHa(n+j|0,e);break}j=$Ga(452315)|0;k=b[g>>0]|0;if((j|0)==((k<<24>>24<0?f[i>>2]|0:k&255)|0)?(XSa(c,452315,j)|0)==0:0){OTa(c,452328);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;j=$Ga(452378)|0;if(j>>>0>4294967279)NQa(a);if(j>>>0<11){b[a+11>>0]=j;o=a}else{k=j+16&-16;m=CSa(k)|0;f[a>>2]=m;f[a+8>>2]=k|-2147483648;f[a+4>>2]=j;o=m}gGa(o,452378,j)|0;b[e>>0]=0;aHa(o+j|0,e);break}j=$Ga(452392)|0;m=b[g>>0]|0;k=f[i>>2]|0;do if((j|0)==((m<<24>>24<0?k:m&255)|0)){if(XSa(c,452392,j)|0){p=f[i>>2]|0;q=b[g>>0]|0;break}OTa(c,452406);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;r=$Ga(452457)|0;if(r>>>0>4294967279)NQa(a);if(r>>>0<11){b[a+11>>0]=r;s=a}else{t=r+16&-16;v=CSa(t)|0;f[a>>2]=v;f[a+8>>2]=t|-2147483648;f[a+4>>2]=r;s=v}gGa(s,452457,r)|0;b[e>>0]=0;aHa(s+r|0,e);break a}else{p=k;q=m}while(0);m=q<<24>>24<0;k=m?f[c>>2]|0:c;j=k+(m?p:q&255)|0;b:do if((b[j+-1>>0]|0)==62){m=1;r=j;c:while(1){v=r;d:while(1){w=v+-1|0;if((w|0)==(k|0))break c;x=v+-2|0;switch(b[x>>0]|0){case 60:{y=43;break d;break}case 62:{y=44;break d;break}default:v=w}}if((y|0)==43){y=0;v=m+-1|0;if(!v){z=x;break b}else{m=v;r=w;continue}}else if((y|0)==44){y=0;m=m+1|0;r=w;continue}}f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;r=0;while(1){if((r|0)==3)break a;f[a+(r<<2)>>2]=0;r=r+1|0}}else z=j;while(0);j=z;while(1){r=j+-1|0;if((r|0)==(k|0)){A=k;break}if((b[r>>0]|0)==58){A=j;break}else j=r}f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;j=z-A|0;if(j>>>0>4294967279)NQa(a);if(j>>>0<11){b[a+11>>0]=j;B=a}else{k=j+16&-16;r=CSa(k)|0;f[a>>2]=r;f[a+8>>2]=k|-2147483648;f[a+4>>2]=j;B=r}r=A;k=B;while(1){if((r|0)==(z|0))break;aHa(k,r);r=r+1|0;k=k+1|0}b[e>>0]=0;aHa(B+j|0,e)}while(0);u=d;return}function iUa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if((b[c+11>>0]|0)<0){g=f[c>>2]|0;h=f[c+4>>2]|0;if(h>>>0>4294967279)NQa(a);if(h>>>0<11){b[a+11>>0]=h;i=a}else{j=h+16&-16;k=CSa(j)|0;f[a>>2]=k;f[a+8>>2]=j|-2147483648;f[a+4>>2]=h;i=k}gGa(i,g,h)|0;b[e>>0]=0;aHa(i+h|0,e)}else{f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2]}u=d;return}function jUa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;if((a|0)!=(b|0)){d=RTa(a,b,c)|0;if((d|0)==(a|0))e=TTa(a,b,c)|0;else e=d;if((e|0)!=(a|0)?(d=f[c+4>>2]|0,(f[c>>2]|0)!=(d|0)):0){MSa(d+-24|0,0,451392)|0;g=e}else g=a}else g=a;return g|0}function kUa(a){a=a|0;var b=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;f[a+(b<<2)>>2]=0;b=b+1|0}b=a+12|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[b+(a<<2)>>2]=0;a=a+1|0}return}function lUa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=u;u=u+32|0;c=b;d=a+4|0;e=(((f[d>>2]|0)-(f[a>>2]|0)|0)/24|0)+1|0;g=mUa(a)|0;if(g>>>0>>0)ZOa(a);else{h=f[a>>2]|0;i=((f[a+8>>2]|0)-h|0)/24|0;j=i<<1;nUa(c,i>>>0>>1>>>0?(j>>>0>>0?e:j):g,((f[d>>2]|0)-h|0)/24|0,a+12|0);h=c+8|0;d=f[h>>2]|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;kUa(d);f[h>>2]=d+24;oUa(a,c);pUa(c);u=b;return}}function mUa(a){a=a|0;return 178956970}function nUa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;f[a+12>>2]=0;f[a+16>>2]=d;if(!b)e=0;else e=qUa(d,b)|0;f[a>>2]=e;d=e+(c*24|0)|0;f[a+8>>2]=d;f[a+4>>2]=d;f[a+12>>2]=e+(b*24|0);return}function oUa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[a>>2]|0;d=a+4|0;e=b+4|0;g=f[d>>2]|0;while(1){if((g|0)==(c|0))break;h=g+-24|0;eTa((f[e>>2]|0)+-24|0,h);f[e>>2]=(f[e>>2]|0)+-24;g=h}g=f[a>>2]|0;f[a>>2]=f[e>>2];f[e>>2]=g;g=b+8|0;c=f[d>>2]|0;f[d>>2]=f[g>>2];f[g>>2]=c;c=a+8|0;a=b+12|0;g=f[c>>2]|0;f[c>>2]=f[a>>2];f[a>>2]=g;f[b>>2]=f[e>>2];return}function pUa(a){a=a|0;var b=0,c=0,d=0,e=0;b=f[a+4>>2]|0;c=a+8|0;while(1){d=f[c>>2]|0;if((d|0)==(b|0))break;e=d+-24|0;f[c>>2]=e;oSa(e)}c=f[a>>2]|0;if(c|0)ESa(f[a+16>>2]|0,c,((f[a+12>>2]|0)-c|0)/24|0);return}function qUa(a,b){a=a|0;b=b|0;return rUa(f[a>>2]|0,b*24|0)|0}function rUa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zSa(b)|0;b=a+4096|0;d=f[b>>2]|0;if((a+4096-d|0)>>>0>>0)e=YBa(c)|0;else{f[b>>2]=d+c;e=d}return e|0}function sUa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=u;u=u+48|0;h=g+24|0;i=g;j=g+12|0;k=kTa(a,c)|0;if(!((k|0)==(a|0)|(k|0)==(c|0))?(b[k>>0]|0)==69:0){c=d+11|0;l=b[c>>0]|0;m=d+4|0;do if((l<<24>>24<0?f[m>>2]|0:l&255)>>>0<=3){n=e+4|0;o=f[n>>2]|0;if(o>>>0<(f[e+8>>2]|0)>>>0){f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;kUa(o);f[n>>2]=(f[n>>2]|0)+24;break}else{lUa(e);break}}else{nTa(j,451322,d);NSa(j,451320)|0;f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];f[i+8>>2]=f[j+8>>2];n=0;while(1){if((n|0)==3)break;f[j+(n<<2)>>2]=0;n=n+1|0}cTa(h,i);n=e+4|0;o=f[n>>2]|0;if(o>>>0<(f[e+8>>2]|0)>>>0){eTa(o,h);f[n>>2]=(f[n>>2]|0)+24}else fTa(e,h);oSa(h);FSa(i);FSa(j)}while(0);j=e+4|0;if((b[a>>0]|0)==110){eUa((f[j>>2]|0)+-24|0,45);p=a+1|0}else p=a;dUa((f[j>>2]|0)+-24|0,p,k);p=b[c>>0]|0;c=p<<24>>24<0;e=c?f[m>>2]|0:p&255;if(e>>>0<4)rSa((f[j>>2]|0)+-24|0,c?f[d>>2]|0:d,e)|0;q=k+1|0}else q=a;u=g;return q|0}function tUa(a,c){a=a|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b[a+11>>0]=4;gGa(a,c,4)|0;b[e>>0]=0;aHa(a+4|0,e);e=a+12|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[e+(a<<2)>>2]=0;a=a+1|0}u=d;return}function uUa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;e=u;u=u+80|0;g=e;h=e+44|0;i=e+48|0;j=e+8|0;k=e+32|0;a:do if((c-a|0)>>>0>8){l=0;m=h;while(1){o=a+l|0;q=b[o>>0]|0;r=q<<24>>24;if((l|0)==8){s=6;break}if(!(ODa(r)|0))break;t=b[a+(l|1)>>0]|0;b[m>>0]=(((r+-48|0)>>>0<10?0:9)+r<<4)+t+((t+-48|0)>>>0<10?208:169);l=l+2|0;m=m+1|0}do if((s|0)==6){if(q<<24>>24==69){b:do if((m|0)!=(h|0)){l=m;t=h;while(1){r=l+-1|0;if(t>>>0>=r>>>0)break b;v=b[t>>0]|0;b[t>>0]=b[r>>0]|0;b[r>>0]=v;l=r;t=t+1|0}}while(0);t=i;l=t+24|0;do{b[t>>0]=0;t=t+1|0}while((t|0)<(l|0));p[g>>3]=+n[h>>2];t=qDa(i,24,452634,g)|0;if(t>>>0>23)break;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;if(t>>>0<11){b[k+11>>0]=t;w=k}else{l=t+16&-16;r=CSa(l)|0;f[k>>2]=r;f[k+8>>2]=l|-2147483648;f[k+4>>2]=t;w=r}gGa(w,i,t)|0;b[g>>0]=0;aHa(w+t|0,g);cTa(j,k);t=d+4|0;r=f[t>>2]|0;if(r>>>0<(f[d+8>>2]|0)>>>0){eTa(r,j);f[t>>2]=(f[t>>2]|0)+24}else fTa(d,j);oSa(j);FSa(k);x=o+1|0}else x=a;y=x;break a}while(0);y=a}else y=a;while(0);u=e;return y|0}function vUa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;e=u;u=u+96|0;g=e+8|0;h=e;i=e+56|0;j=e+16|0;k=e+40|0;a:do if((c-a|0)>>>0>16){l=0;m=h;while(1){n=a+l|0;o=b[n>>0]|0;q=o<<24>>24;if((l|0)==16){r=6;break}if(!(ODa(q)|0))break;s=b[a+(l|1)>>0]|0;b[m>>0]=(((q+-48|0)>>>0<10?0:9)+q<<4)+s+((s+-48|0)>>>0<10?208:169);l=l+2|0;m=m+1|0}do if((r|0)==6){if(o<<24>>24==69){b:do if((m|0)!=(h|0)){l=m;s=h;while(1){q=l+-1|0;if(s>>>0>=q>>>0)break b;t=b[s>>0]|0;b[s>>0]=b[q>>0]|0;b[q>>0]=t;l=q;s=s+1|0}}while(0);s=i;l=s+32|0;do{b[s>>0]=0;s=s+1|0}while((s|0)<(l|0));p[g>>3]=+p[h>>3];s=qDa(i,32,452631,g)|0;if(s>>>0>31)break;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;if(s>>>0<11){b[k+11>>0]=s;v=k}else{l=s+16&-16;q=CSa(l)|0;f[k>>2]=q;f[k+8>>2]=l|-2147483648;f[k+4>>2]=s;v=q}gGa(v,i,s)|0;b[g>>0]=0;aHa(v+s|0,g);cTa(j,k);s=d+4|0;q=f[s>>2]|0;if(q>>>0<(f[d+8>>2]|0)>>>0){eTa(q,j);f[s>>2]=(f[s>>2]|0)+24}else fTa(d,j);oSa(j);FSa(k);w=n+1|0}else w=a;x=w;break a}while(0);x=a}else x=a;while(0);u=e;return x|0}function wUa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;e=u;u=u+96|0;g=e+8|0;h=e;i=e+56|0;j=e+16|0;k=e+40|0;a:do if((c-a|0)>>>0>20){l=0;m=h;while(1){n=a+l|0;o=b[n>>0]|0;q=o<<24>>24;if((l|0)==20){r=6;break}if(!(ODa(q)|0))break;s=b[a+(l|1)>>0]|0;b[m>>0]=(((q+-48|0)>>>0<10?0:9)+q<<4)+s+((s+-48|0)>>>0<10?208:169);l=l+2|0;m=m+1|0}do if((r|0)==6){if(o<<24>>24==69){b:do if((m|0)!=(h|0)){l=m;s=h;while(1){q=l+-1|0;if(s>>>0>=q>>>0)break b;t=b[s>>0]|0;b[s>>0]=b[q>>0]|0;b[q>>0]=t;l=q;s=s+1|0}}while(0);s=i;l=s+40|0;do{b[s>>0]=0;s=s+1|0}while((s|0)<(l|0));p[g>>3]=+p[h>>3];s=qDa(i,40,452626,g)|0;if(s>>>0>39)break;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;if(s>>>0<11){b[k+11>>0]=s;v=k}else{l=s+16&-16;q=CSa(l)|0;f[k>>2]=q;f[k+8>>2]=l|-2147483648;f[k+4>>2]=s;v=q}gGa(v,i,s)|0;b[g>>0]=0;aHa(v+s|0,g);cTa(j,k);s=d+4|0;q=f[s>>2]|0;if(q>>>0<(f[d+8>>2]|0)>>>0){eTa(q,j);f[s>>2]=(f[s>>2]|0)+24}else fTa(d,j);oSa(j);FSa(k);w=n+1|0}else w=a;x=w;break a}while(0);x=a}else x=a;while(0);u=e;return x|0}function xUa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;e=d;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;g=CSa(16)|0;f[a>>2]=g;f[a+8>>2]=-2147483632;f[a+4>>2]=13;gGa(g,c,13)|0;b[e>>0]=0;aHa(g+13|0,e);e=a+12|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[e+(a<<2)>>2]=0;a=a+1|0}u=d;return}function yUa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;e=u;u=u+48|0;g=e+36|0;h=e+24|0;i=e+8|0;j=e;a:do if((a|0)!=(c|0)?(b[a>>0]|0)==78:0){k=KSa(a+1|0,c,g)|0;b:do if((k|0)!=(c|0)){l=d+52|0;f[l>>2]=0;switch(b[k>>0]|0){case 82:{m=1;n=6;break}case 79:{m=2;n=6;break}default:o=k}if((n|0)==6){f[l>>2]=m;o=k+1|0}l=d+4|0;p=f[l>>2]|0;if(p>>>0<(f[d+8>>2]|0)>>>0){f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;kUa(p);f[l>>2]=(f[l>>2]|0)+24}else lUa(d);if(((c-o|0)>1?(b[o>>0]|0)==83:0)?(b[o+1>>0]|0)==116:0){OTa((f[l>>2]|0)+-24|0,452698);q=o+2|0}else q=o;if((q|0)==(c|0)){p=f[l>>2]|0;r=p+-24|0;s=p;while(1){if((s|0)==(r|0))break b;p=s+-24|0;f[l>>2]=p;oSa(p);s=f[l>>2]|0}}s=h+11|0;r=h+4|0;p=d+12|0;t=d+20|0;v=d+24|0;w=i+12|0;x=i+4|0;y=i+8|0;z=d+16|0;A=i+12|0;B=i+4|0;C=i+8|0;D=i+11|0;E=i+4|0;F=i+11|0;G=i+4|0;H=i+12|0;I=i+4|0;J=i+8|0;K=i+12|0;L=i+4|0;M=i+8|0;N=i+11|0;O=i+4|0;P=i+12|0;Q=i+4|0;R=i+8|0;S=i+11|0;T=i+4|0;U=0;V=q;c:while(1){W=V;d:while(1){X=b[W>>0]|0;if(X<<24>>24==69)break c;switch(X<<24>>24|0){case 83:{n=21;break d;break}case 84:{n=37;break d;break}case 68:{n=51;break d;break}case 73:break;case 76:{X=W+1|0;if((X|0)==(c|0))break b;else{W=X;continue d}break}default:break d}X=_Sa(W,c,d)|0;if((X|0)==(W|0)|(X|0)==(c|0))break b;$Sa(h,(f[l>>2]|0)+-24|0);Y=f[l>>2]|0;Z=Y+-24|0;_=Y;while(1){if((_|0)==(Z|0))break;$=_+-24|0;f[l>>2]=$;oSa($);_=f[l>>2]|0}_=b[s>>0]|0;Z=_<<24>>24<0;rSa(Y+-48|0,Z?f[h>>2]|0:h,Z?f[r>>2]|0:_&255)|0;_=(f[l>>2]|0)+-24|0;f[j>>2]=f[p>>2];SSa(i,_,j);_=f[t>>2]|0;if(_>>>0<(f[v>>2]|0)>>>0){f[_>>2]=0;Z=_+4|0;f[Z>>2]=0;$=f[w>>2]|0;f[_+8>>2]=0;f[_+12>>2]=$;f[_>>2]=f[i>>2];f[Z>>2]=f[x>>2];f[_+8>>2]=f[y>>2];f[y>>2]=0;f[x>>2]=0;f[i>>2]=0;f[t>>2]=(f[t>>2]|0)+16}else TSa(z,i);pSa(i);FSa(h);W=X}e:do if((n|0)==21){n=0;_=W+1|0;if((_|0)!=(c|0)?(b[_>>0]|0)==116:0)break;_=hTa(W,c,d)|0;if((_|0)==(W|0)|(_|0)==(c|0))break b;$Sa(h,(f[l>>2]|0)+-24|0);Z=f[l>>2]|0;$=Z+-24|0;aa=Z;while(1){if((aa|0)==($|0))break;ba=aa+-24|0;f[l>>2]=ba;oSa(ba);aa=f[l>>2]|0}aa=Z+-48|0;$=b[aa+11>>0]|0;if($<<24>>24<0)ca=f[Z+-44>>2]|0;else ca=$&255;if(!ca)CUa(aa,h);else{nTa(i,451394,h);aa=b[F>>0]|0;$=aa<<24>>24<0;rSa((f[l>>2]|0)+-24|0,$?f[i>>2]|0:i,$?f[G>>2]|0:aa&255)|0;FSa(i);aa=(f[l>>2]|0)+-24|0;f[j>>2]=f[p>>2];SSa(i,aa,j);aa=f[t>>2]|0;if(aa>>>0<(f[v>>2]|0)>>>0){f[aa>>2]=0;$=aa+4|0;f[$>>2]=0;X=f[H>>2]|0;f[aa+8>>2]=0;f[aa+12>>2]=X;f[aa>>2]=f[i>>2];f[$>>2]=f[I>>2];f[aa+8>>2]=f[J>>2];f[J>>2]=0;f[I>>2]=0;f[i>>2]=0;f[t>>2]=(f[t>>2]|0)+16}else TSa(z,i);pSa(i)}FSa(h);U=1;V=_;continue c}else if((n|0)==37){n=0;aa=ZSa(W,c,d)|0;if((aa|0)==(W|0)|(aa|0)==(c|0))break b;$Sa(h,(f[l>>2]|0)+-24|0);$=f[l>>2]|0;X=$+-24|0;Y=$;while(1){if((Y|0)==(X|0))break;ba=Y+-24|0;f[l>>2]=ba;oSa(ba);Y=f[l>>2]|0}Y=$+-48|0;X=b[Y+11>>0]|0;if(X<<24>>24<0)da=f[$+-44>>2]|0;else da=X&255;if(!da)CUa(Y,h);else{nTa(i,451394,h);Y=b[N>>0]|0;X=Y<<24>>24<0;rSa((f[l>>2]|0)+-24|0,X?f[i>>2]|0:i,X?f[O>>2]|0:Y&255)|0;FSa(i)}Y=(f[l>>2]|0)+-24|0;f[j>>2]=f[p>>2];SSa(i,Y,j);Y=f[t>>2]|0;if(Y>>>0<(f[v>>2]|0)>>>0){f[Y>>2]=0;X=Y+4|0;f[X>>2]=0;_=f[K>>2]|0;f[Y+8>>2]=0;f[Y+12>>2]=_;f[Y>>2]=f[i>>2];f[X>>2]=f[L>>2];f[Y+8>>2]=f[M>>2];f[M>>2]=0;f[L>>2]=0;f[i>>2]=0;f[t>>2]=(f[t>>2]|0)+16}else TSa(z,i);pSa(i);FSa(h);U=1;V=aa;continue c}else if((n|0)==51){n=0;Y=W+1|0;if((Y|0)!=(c|0))switch(b[Y>>0]|0){case 84:case 116:break;default:break e}Y=iTa(W,c,d)|0;if((Y|0)==(W|0)|(Y|0)==(c|0))break b;$Sa(h,(f[l>>2]|0)+-24|0);X=f[l>>2]|0;_=X+-24|0;Z=X;while(1){if((Z|0)==(_|0))break;ba=Z+-24|0;f[l>>2]=ba;oSa(ba);Z=f[l>>2]|0}Z=X+-48|0;_=b[Z+11>>0]|0;if(_<<24>>24<0)ea=f[X+-44>>2]|0;else ea=_&255;if(!ea)CUa(Z,h);else{nTa(i,451394,h);Z=b[S>>0]|0;_=Z<<24>>24<0;rSa((f[l>>2]|0)+-24|0,_?f[i>>2]|0:i,_?f[T>>2]|0:Z&255)|0;FSa(i)}Z=(f[l>>2]|0)+-24|0;f[j>>2]=f[p>>2];SSa(i,Z,j);Z=f[t>>2]|0;if(Z>>>0<(f[v>>2]|0)>>>0){f[Z>>2]=0;_=Z+4|0;f[_>>2]=0;aa=f[P>>2]|0;f[Z+8>>2]=0;f[Z+12>>2]=aa;f[Z>>2]=f[i>>2];f[_>>2]=f[Q>>2];f[Z+8>>2]=f[R>>2];f[R>>2]=0;f[Q>>2]=0;f[i>>2]=0;f[t>>2]=(f[t>>2]|0)+16}else TSa(z,i);pSa(i);FSa(h);U=1;V=Y;continue c}while(0);Z=UTa(W,c,d)|0;if((Z|0)==(W|0)|(Z|0)==(c|0))break b;$Sa(h,(f[l>>2]|0)+-24|0);_=f[l>>2]|0;aa=_+-24|0;$=_;while(1){if(($|0)==(aa|0))break;ba=$+-24|0;f[l>>2]=ba;oSa(ba);$=f[l>>2]|0}$=_+-48|0;aa=b[$+11>>0]|0;if(aa<<24>>24<0)fa=f[_+-44>>2]|0;else fa=aa&255;if(!fa)CUa($,h);else{nTa(i,451394,h);$=b[D>>0]|0;aa=$<<24>>24<0;rSa((f[l>>2]|0)+-24|0,aa?f[i>>2]|0:i,aa?f[E>>2]|0:$&255)|0;FSa(i)}$=(f[l>>2]|0)+-24|0;f[j>>2]=f[p>>2];SSa(i,$,j);$=f[t>>2]|0;if($>>>0<(f[v>>2]|0)>>>0){f[$>>2]=0;aa=$+4|0;f[aa>>2]=0;ba=f[A>>2]|0;f[$+8>>2]=0;f[$+12>>2]=ba;f[$>>2]=f[i>>2];f[aa>>2]=f[B>>2];f[$+8>>2]=f[C>>2];f[C>>2]=0;f[B>>2]=0;f[i>>2]=0;f[t>>2]=(f[t>>2]|0)+16}else TSa(z,i);pSa(i);FSa(h);U=1;V=Z}V=W+1|0;f[d+48>>2]=f[g>>2];f:do if(U?(z=f[t>>2]|0,(f[d+16>>2]|0)!=(z|0)):0){B=z+-16|0;C=z;while(1){if((C|0)==(B|0))break f;z=C+-16|0;f[t>>2]=z;pSa(z);C=f[t>>2]|0}}while(0);ga=V;break a}while(0);ga=a}else ga=a;while(0);u=e;return ga|0}function zUa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=u;u=u+16|0;g=e;a:do if(((((a|0)!=(c|0)?(b[a>>0]|0)==90:0)?(h=a+1|0,i=GSa(h,c,d)|0,!((i|0)==(h|0)|(i|0)==(c|0))):0)?(b[i>>0]|0)==69:0)?(h=i+1|0,(h|0)!=(c|0)):0)switch(b[h>>0]|0){case 115:{j=BUa(i+2|0,c)|0;k=f[d+4>>2]|0;if((f[d>>2]|0)==(k|0)){l=j;break a}NSa(k+-24|0,452681)|0;l=j;break a;break}case 100:{j=i+2|0;if((j|0)==(c|0)){l=a;break a}i=kTa(j,c)|0;if((i|0)==(c|0)){l=a;break a}if((b[i>>0]|0)!=95){l=a;break a}j=i+1|0;i=gTa(j,c,d)|0;k=d+4|0;if((i|0)==(j|0)){j=f[k>>2]|0;m=j+-24|0;n=j;while(1){if((n|0)==(m|0)){l=a;break a}j=n+-24|0;f[k>>2]=j;oSa(j);n=f[k>>2]|0}}n=f[k>>2]|0;if(((n-(f[d>>2]|0)|0)/24|0)>>>0<2){l=a;break a}$Sa(g,n+-24|0);n=f[k>>2]|0;m=n+-24|0;j=n;while(1){if((j|0)==(m|0))break;o=j+-24|0;f[k>>2]=o;oSa(o);j=f[k>>2]|0}NSa(n+-48|0,451394)|0;j=b[g+11>>0]|0;m=j<<24>>24<0;rSa((f[k>>2]|0)+-24|0,m?f[g>>2]|0:g,m?f[g+4>>2]|0:j&255)|0;FSa(g);l=i;break a;break}default:{j=gTa(h,c,d)|0;if((j|0)==(h|0)){m=d+4|0;o=f[m>>2]|0;p=o+-24|0;q=o;while(1){if((q|0)==(p|0)){l=a;break a}o=q+-24|0;f[m>>2]=o;oSa(o);q=f[m>>2]|0}}m=BUa(j,c)|0;q=d+4|0;p=f[q>>2]|0;if(((p-(f[d>>2]|0)|0)/24|0)>>>0<2){l=m;break a}$Sa(g,p+-24|0);p=f[q>>2]|0;h=p+-24|0;i=p;while(1){if((i|0)==(h|0))break;k=i+-24|0;f[q>>2]=k;oSa(k);i=f[q>>2]|0}NSa(p+-48|0,451394)|0;i=b[g+11>>0]|0;h=i<<24>>24<0;rSa((f[q>>2]|0)+-24|0,h?f[g>>2]|0:g,h?f[g+4>>2]|0:i&255)|0;FSa(g);l=m;break a}}else l=a;while(0);u=e;return l|0}function AUa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;if((c-a|0)>1){if((b[a>>0]|0)==83?(b[a+1>>0]|0)==116:0){e=a+2|0;if((e|0)==(c|0)){g=0;h=c}else{g=0;h=(b[e>>0]|0)==76?a+3|0:e}}else{g=1;h=a}e=UTa(h,c,d)|0;c=(e|0)==(h|0);if(!(g|c)){g=f[d+4>>2]|0;if((f[d>>2]|0)==(g|0))i=a;else{MSa(g+-24|0,0,451616)|0;i=e}}else i=c?a:e}else i=a;return i|0}function BUa(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;a:do if((a|0)!=(c|0)){d=b[a>>0]|0;if(d<<24>>24!=95){if(((d<<24>>24)+-48|0)>>>0<10)e=a;else{f=a;break}while(1){d=e+1|0;if((d|0)==(c|0)){f=c;break a}if(((b[d>>0]|0)+-48|0)>>>0<10)e=d;else{f=d;break a}}}d=a+1|0;if((d|0)!=(c|0)){g=b[d>>0]|0;if(((g<<24>>24)+-48|0)>>>0<10){f=a+2|0;break}if(g<<24>>24==95){g=a+2|0;while(1){if((g|0)==(c|0)){f=a;break a}h=b[g>>0]|0;if(((h<<24>>24)+-48|0)>>>0>=10)break;g=g+1|0}return (h<<24>>24==95?g+1|0:a)|0}else f=a}else f=a}else f=a;while(0);return f|0}function CUa(a,c){a=a|0;c=c|0;var d=0,e=0;if((a|0)!=(c|0)){d=b[c+11>>0]|0;e=d<<24>>24<0;PTa(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)}return}function DUa(a){a=a|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;e=CSa(32)|0;f[a>>2]=e;f[a+8>>2]=-2147483616;f[a+4>>2]=21;gGa(e,452713,21)|0;b[d>>0]=0;aHa(e+21|0,d);d=a+12|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[d+(a<<2)>>2]=0;a=a+1|0}u=c;return}function EUa(a,b){a=a|0;b=b|0;f[a>>2]=f[b>>2];return}function FUa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+32|0;d=c+20|0;e=c;g=a+4|0;h=((f[g>>2]|0)-(f[a>>2]|0)>>4)+1|0;i=HUa(a)|0;if(i>>>0>>0)ZOa(a);else{j=f[a>>2]|0;k=(f[a+8>>2]|0)-j|0;l=k>>3;IUa(e,k>>4>>>0>>1>>>0?(l>>>0>>0?h:l):i,(f[g>>2]|0)-j>>4,a+12|0);j=e+8|0;g=f[j>>2]|0;EUa(d,b);f[g>>2]=0;f[g+4>>2]=0;b=f[d>>2]|0;f[g+8>>2]=0;f[g+12>>2]=b;f[j>>2]=g+16;JUa(a,e);KUa(e);u=c;return}}function GUa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;a:do if((a|0)==(c|0))e=a;else switch(b[a>>0]|0){case 88:{f=a+1|0;g=lTa(f,c,d)|0;if((g|0)==(f|0)|(g|0)==(c|0)){e=a;break a}e=(b[g>>0]|0)==69?g+1|0:a;break a;break}case 74:{g=a+1|0;if((g|0)==(c|0)){e=a;break a}else h=g;while(1){if((b[h>>0]|0)==69)break;g=GUa(h,c,d)|0;if((g|0)==(h|0)){e=a;break a}else h=g}e=h+1|0;break a;break}case 76:{g=a+1|0;if((g|0)!=(c|0)?(b[g>>0]|0)==90:0){g=a+2|0;f=GSa(g,c,d)|0;if((f|0)==(g|0)|(f|0)==(c|0)){e=a;break a}e=(b[f>>0]|0)==69?f+1|0:a;break a}e=oTa(a,c,d)|0;break a;break}default:{e=JSa(a,c,d)|0;break a}}while(0);return e|0}function HUa(a){a=a|0;return 268435455}function IUa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;f[a+12>>2]=0;f[a+16>>2]=d;if(!b)e=0;else e=LUa(d,b)|0;f[a>>2]=e;d=e+(c<<4)|0;f[a+8>>2]=d;f[a+4>>2]=d;f[a+12>>2]=e+(b<<4);return}function JUa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=f[a>>2]|0;d=a+4|0;e=b+4|0;g=f[d>>2]|0;while(1){if((g|0)==(c|0))break;h=f[e>>2]|0;i=h+-16|0;j=g+-16|0;f[i>>2]=0;k=h+-12|0;f[k>>2]=0;l=f[g+-4>>2]|0;f[h+-8>>2]=0;f[h+-4>>2]=l;f[i>>2]=f[j>>2];i=g+-12|0;f[k>>2]=f[i>>2];k=g+-8|0;f[h+-8>>2]=f[k>>2];f[k>>2]=0;f[i>>2]=0;f[j>>2]=0;f[e>>2]=(f[e>>2]|0)+-16;g=j}g=f[a>>2]|0;f[a>>2]=f[e>>2];f[e>>2]=g;g=b+8|0;c=f[d>>2]|0;f[d>>2]=f[g>>2];f[g>>2]=c;c=a+8|0;a=b+12|0;g=f[c>>2]|0;f[c>>2]=f[a>>2];f[a>>2]=g;f[b>>2]=f[e>>2];return}function KUa(a){a=a|0;var b=0,c=0,d=0,e=0;b=f[a+4>>2]|0;c=a+8|0;while(1){d=f[c>>2]|0;if((d|0)==(b|0))break;e=d+-16|0;f[c>>2]=e;vSa(e)}c=f[a>>2]|0;if(c|0)ASa(f[a+16>>2]|0,c,(f[a+12>>2]|0)-c>>4);return}function LUa(a,b){a=a|0;b=b|0;return rUa(f[a>>2]|0,b<<4)|0}function MUa(a){a=a|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b[a+11>>0]=2;gGa(a,452738,2)|0;b[d>>0]=0;aHa(a+2|0,d);d=a+12|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[d+(a<<2)>>2]=0;a=a+1|0}u=c;return}function NUa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;g=a+11|0;h=b[g>>0]|0;i=h<<24>>24<0;if(i){j=f[a+4>>2]|0;k=j>>>0<11?j:11;l=j;m=(f[a+8>>2]&2147483647)+-1|0}else{j=h&255;k=j>>>0<11?j:11;l=j;m=10}if((k-l+m|0)>>>0>>0)BSa(a,m,c-k+l-m|0,l,0,k,c,452741);else{if(i)n=f[a>>2]|0;else n=a;do if((k|0)!=(c|0)){i=l-k|0;if(!i){o=k;p=0;q=452741;r=c;s=17}else{if(k>>>0>c>>>0){UQa(n,452741,c)|0;UQa(n+c|0,n+k|0,i)|0;t=k;v=c;break}do if(n>>>0<452741>>>0&(n+l|0)>>>0>452741>>>0)if((n+k|0)>>>0>452741>>>0){UQa(n,452741,k)|0;w=0;x=k;y=452741+c|0;z=c-k|0;break}else{w=k;x=0;y=452741+(c-k)|0;z=c;break}else{w=k;x=0;y=452741;z=c}while(0);m=n+x|0;UQa(m+z|0,m+w|0,i)|0;o=w;p=x;q=y;r=z;s=17}}else{o=c;p=0;q=452741;r=c;s=17}while(0);if((s|0)==17){UQa(n+p|0,q,r)|0;t=o;v=r}r=v-t+l|0;if((b[g>>0]|0)<0)f[a+4>>2]=r;else b[g>>0]=r;b[e>>0]=0;aHa(n+r|0,e)}u=d;return}function OUa(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=u;u=u+16|0;h=g;i=a+11|0;j=b[i>>0]|0;k=j<<24>>24<0;if(k)l=f[a+4>>2]|0;else l=j&255;if(l>>>0>>0)OQa(a);if(k)m=(f[a+8>>2]&2147483647)+-1|0;else m=10;if((m-l|0)>>>0>=e>>>0){if(e|0){if(k)n=f[a>>2]|0;else n=a;k=l-c|0;j=n+c|0;if(!k)o=d;else{UQa(j+e|0,j,k)|0;o=j>>>0<=d>>>0&(n+l|0)>>>0>d>>>0?d+e|0:d}UQa(j,o,e)|0;o=l+e|0;if((b[i>>0]|0)<0)f[a+4>>2]=o;else b[i>>0]=o;b[h>>0]=0;aHa(n+o|0,h)}}else BSa(a,m,l+e-m|0,l,c,0,e,d);u=g;return a|0}function PUa(a){a=a|0;return 268435455}function QUa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;f[a+12>>2]=0;f[a+16>>2]=d;if(!b)e=0;else e=TUa(d,b)|0;f[a>>2]=e;d=e+(c<<4)|0;f[a+8>>2]=d;f[a+4>>2]=d;f[a+12>>2]=e+(b<<4);return}function RUa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=f[a>>2]|0;d=a+4|0;e=b+4|0;g=f[d>>2]|0;while(1){if((g|0)==(c|0))break;h=f[e>>2]|0;i=h+-16|0;j=g+-16|0;f[i>>2]=0;k=h+-12|0;f[k>>2]=0;l=f[g+-4>>2]|0;f[h+-8>>2]=0;f[h+-4>>2]=l;f[i>>2]=f[j>>2];i=g+-12|0;f[k>>2]=f[i>>2];k=g+-8|0;f[h+-8>>2]=f[k>>2];f[k>>2]=0;f[i>>2]=0;f[j>>2]=0;f[e>>2]=(f[e>>2]|0)+-16;g=j}g=f[a>>2]|0;f[a>>2]=f[e>>2];f[e>>2]=g;g=b+8|0;c=f[d>>2]|0;f[d>>2]=f[g>>2];f[g>>2]=c;c=a+8|0;a=b+12|0;g=f[c>>2]|0;f[c>>2]=f[a>>2];f[a>>2]=g;f[b>>2]=f[e>>2];return}function SUa(a){a=a|0;var b=0,c=0,d=0,e=0;b=f[a+4>>2]|0;c=a+8|0;while(1){d=f[c>>2]|0;if((d|0)==(b|0))break;e=d+-16|0;f[c>>2]=e;pSa(e)}c=f[a>>2]|0;if(c|0)wSa(f[a+16>>2]|0,c,(f[a+12>>2]|0)-c>>4);return}function TUa(a,b){a=a|0;b=b|0;return rUa(f[a>>2]|0,b<<4)|0}function UUa(a){a=a|0;var b=0;if(!(mUa(a)|0))ZOa(a);else{b=qUa(a+12|0,1)|0;f[a+4>>2]=b;f[a>>2]=b;f[a+8>>2]=b+24;return}}function VUa(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+16|0;d=c;e=a+11|0;g=b[e>>0]|0;if(g<<24>>24<0){h=f[a>>2]|0;i=f[a+4>>2]|0}else{h=a;i=g&255}j=(i|0)!=0&1;k=i-j|0;if(!k)l=g;else{UQa(h,h+j|0,k)|0;l=b[e>>0]|0}if(l<<24>>24<0)f[a+4>>2]=k;else b[e>>0]=k;b[d>>0]=0;aHa(h+k|0,d);u=c;return}function WUa(a){a=a|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b[a+11>>0]=7;gGa(a,452514,7)|0;b[d>>0]=0;aHa(a+7|0,d);d=a+12|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[d+(a<<2)>>2]=0;a=a+1|0}u=c;return}function XUa(a,c){a=a|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b[a+11>>0]=3;gGa(a,c,3)|0;b[e>>0]=0;aHa(a+3|0,e);e=a+12|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[e+(a<<2)>>2]=0;a=a+1|0}u=d;return}function YUa(a){a=a|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;e=CSa(32)|0;f[a>>2]=e;f[a+8>>2]=-2147483616;f[a+4>>2]=18;gGa(e,452934,18)|0;b[d>>0]=0;aHa(e+18|0,d);d=a+12|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[d+(a<<2)>>2]=0;a=a+1|0}u=c;return}function ZUa(a,c){a=a|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b[a+11>>0]=8;gGa(a,c,8)|0;b[e>>0]=0;aHa(a+8|0,e);e=a+12|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[e+(a<<2)>>2]=0;a=a+1|0}u=d;return}function _Ua(a){a=a|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b[a+11>>0]=6;gGa(a,452927,6)|0;b[d>>0]=0;aHa(a+6|0,d);d=a+12|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[d+(a<<2)>>2]=0;a=a+1|0}u=c;return}function $Ua(a,b){a=a|0;b=b|0;f[a>>2]=b;f[a+4>>2]=f[b>>2];return}function aVa(a,c){a=a|0;c=c|0;f[a>>2]=c;b[a+4>>0]=b[c>>0]|0;return}function bVa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;e=u;u=u+64|0;g=e+60|0;h=e+48|0;i=e+36|0;j=e+24|0;k=e+12|0;l=e;a:do if((c-a|0)>2){switch(b[a>>0]|0){case 84:break;case 71:{switch(b[a+1>>0]|0){case 86:{m=a+2|0;n=gTa(m,c,d)|0;if((n|0)==(m|0)){o=a;p=60;break a}m=f[d+4>>2]|0;if((f[d>>2]|0)==(m|0)){q=a;break a}MSa(m+-24|0,0,453152)|0;o=n;p=60;break a;break}case 82:{n=a+2|0;m=gTa(n,c,d)|0;if((m|0)==(n|0)){o=a;p=60;break a}n=f[d+4>>2]|0;if((f[d>>2]|0)==(n|0)){q=a;break a}MSa(n+-24|0,0,453172)|0;o=m;p=60;break a;break}default:{o=a;p=60;break a}}break}default:{o=a;p=60;break a}}m=a+1|0;switch(b[m>>0]|0){case 86:{n=a+2|0;r=JSa(n,c,d)|0;if((r|0)==(n|0)){o=a;p=60;break a}n=f[d+4>>2]|0;if((f[d>>2]|0)==(n|0)){q=a;break a}MSa(n+-24|0,0,453001)|0;o=r;p=60;break a;break}case 84:{r=a+2|0;n=JSa(r,c,d)|0;if((n|0)==(r|0)){o=a;p=60;break a}r=f[d+4>>2]|0;if((f[d>>2]|0)==(r|0)){q=a;break a}MSa(r+-24|0,0,453013)|0;o=n;p=60;break a;break}case 73:{n=a+2|0;r=JSa(n,c,d)|0;if((r|0)==(n|0)){o=a;p=60;break a}n=f[d+4>>2]|0;if((f[d>>2]|0)==(n|0)){q=a;break a}MSa(n+-24|0,0,453022)|0;o=r;p=60;break a;break}case 83:{r=a+2|0;n=JSa(r,c,d)|0;if((n|0)==(r|0)){o=a;p=60;break a}r=f[d+4>>2]|0;if((f[d>>2]|0)==(r|0)){q=a;break a}MSa(r+-24|0,0,453036)|0;o=n;p=60;break a;break}case 99:{n=a+2|0;r=eVa(n,c)|0;if((r|0)==(n|0)){o=a;p=60;break a}n=eVa(r,c)|0;if((n|0)==(r|0)){o=a;p=60;break a}r=GSa(n,c,d)|0;if((r|0)==(n|0)){o=a;p=60;break a}n=f[d+4>>2]|0;if((f[d>>2]|0)==(n|0)){q=a;break a}MSa(n+-24|0,0,453055)|0;o=r;p=60;break a;break}case 67:{r=a+2|0;n=JSa(r,c,d)|0;if((n|0)==(r|0)){o=a;p=60;break a}r=kTa(n,c)|0;if((r|0)==(n|0)|(r|0)==(c|0)){o=a;p=60;break a}if((b[r>>0]|0)!=95){o=a;p=60;break a}n=r+1|0;r=JSa(n,c,d)|0;if((r|0)==(n|0)){o=a;p=60;break a}n=d+4|0;s=f[n>>2]|0;if(((s-(f[d>>2]|0)|0)/24|0)>>>0<2){q=a;break a}$Sa(h,s+-24|0);s=f[n>>2]|0;t=s+-24|0;v=s;while(1){if((v|0)==(t|0))break;s=v+-24|0;f[n>>2]=s;oSa(s);v=f[n>>2]|0}MSa(h,0,453082)|0;f[k>>2]=f[h>>2];f[k+4>>2]=f[h+4>>2];f[k+8>>2]=f[h+8>>2];v=0;while(1){if((v|0)==3)break;f[h+(v<<2)>>2]=0;v=v+1|0}NSa(k,453107)|0;f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];f[j+8>>2]=f[k+8>>2];v=0;while(1){if((v|0)==3)break;f[k+(v<<2)>>2]=0;v=v+1|0}$Sa(l,(f[n>>2]|0)+-24|0);v=b[l+11>>0]|0;t=v<<24>>24<0;rSa(j,t?f[l>>2]|0:l,t?f[l+4>>2]|0:v&255)|0;f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];f[i+8>>2]=f[j+8>>2];v=0;while(1){if((v|0)==3)break;f[j+(v<<2)>>2]=0;v=v+1|0}v=f[n>>2]|0;t=v+-24|0;s=t+11|0;if((b[s>>0]|0)<0){w=f[t>>2]|0;b[g>>0]=0;aHa(w,g);f[v+-20>>2]=0}else{b[g>>0]=0;aHa(t,g);b[s>>0]=0}mTa(t);f[t>>2]=f[i>>2];f[t+4>>2]=f[i+4>>2];f[t+8>>2]=f[i+8>>2];t=0;while(1){if((t|0)==3)break;f[i+(t<<2)>>2]=0;t=t+1|0}FSa(i);FSa(l);FSa(j);FSa(k);FSa(h);o=r;p=60;break a;break}default:{t=eVa(m,c)|0;do if((t|0)!=(m|0)){n=GSa(t,c,d)|0;if((n|0)!=(t|0)){s=f[d+4>>2]|0;if((f[d>>2]|0)!=(s|0)){v=s+-24|0;if((b[a+2>>0]|0)==118){MSa(v,0,453112)|0;x=0;y=n;break}else{MSa(v,0,453130)|0;x=0;y=n;break}}else{x=1;y=a}}else{x=0;y=a}}else{x=3;y=a}while(0);switch(x&3){case 3:case 0:{o=y;p=60;break a;break}default:{}}if(!x){o=y;p=60;break a}else{q=a;break a}}}}else{o=a;p=60}while(0);if((p|0)==60)q=o;u=e;return q|0}function cVa(a){a=a|0;b[f[a>>2]>>0]=b[a+4>>0]|0;return}function dVa(a){a=a|0;f[f[a>>2]>>2]=f[a+4>>2];return}function eVa(a,c){a=a|0;c=c|0;var d=0,e=0,f=0;a:do if((a|0)!=(c|0)){switch(b[a>>0]|0){case 104:{d=a+1|0;e=kTa(d,c)|0;if((e|0)==(d|0)|(e|0)==(c|0)){f=a;break a}return ((b[e>>0]|0)==95?e+1|0:a)|0}case 118:break;default:{f=a;break a}}e=a+1|0;d=kTa(e,c)|0;if((!((d|0)==(e|0)|(d|0)==(c|0))?(b[d>>0]|0)==95:0)?(e=d+1|0,d=kTa(e,c)|0,!((d|0)==(e|0)|(d|0)==(c|0))):0)f=(b[d>>0]|0)==95?d+1|0:a;else f=a}else f=a;while(0);return f|0}function fVa(a,b){a=a|0;b=b|0;f[a>>2]=b;return}function gVa(a,b){a=a|0;b=b|0;var c=0;f[a>>2]=0;f[a+4>>2]=0;c=f[b>>2]|0;f[a+8>>2]=0;f[a+12>>2]=c;return}function hVa(a,b){a=a|0;b=b|0;f[a>>2]=b;return}function iVa(a,b){a=a|0;b=b|0;var c=0;f[a>>2]=0;f[a+4>>2]=0;c=f[b>>2]|0;f[a+8>>2]=0;f[a+12>>2]=c;return}function jVa(a){a=a|0;var c=0;if((b[a>>0]|0)==1)c=0;else{b[a>>0]=1;c=1}return c|0}function kVa(a){a=a|0;return}function lVa(a){a=a|0;return}function mVa(){var a=0;a=f[203073]|0;f[203073]=a+0;return a|0}function nVa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;e=d;f[e>>2]=f[c>>2];g=bg[f[(f[a>>2]|0)+16>>2]&127](a,b,e)|0;if(g)f[c>>2]=f[e>>2];u=d;return g&1|0}function oVa(a){a=a|0;var b=0;if(!a)b=0;else b=(FRa(a,20632,20720,0)|0)!=0&1;return b|0}function pVa(){}function qVa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=a+c>>>0;return (I=b+d+(e>>>0>>0|0)>>>0,e|0)|0}function rVa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (I=e,a-c>>>0|0)|0}function sVa(a){a=a|0;var c=0;c=b[w+(a&255)>>0]|0;if((c|0)<8)return c|0;c=b[w+(a>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=b[w+(a>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (b[w+(a>>>24)>>0]|0)+24|0}function tVa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=a;h=b;i=h;j=c;k=d;l=k;if(!i){m=(e|0)!=0;if(!l){if(m){f[e>>2]=(g>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (I=n,o)|0}else{if(!m){n=0;o=0;return (I=n,o)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;o=0;return (I=n,o)|0}}m=(l|0)==0;do if(j){if(!m){p=(_(l|0)|0)-(_(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<>>(q>>>0)&s;w=0;x=g<>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (I=n,o)|0}r=j-1|0;if(r&j|0){s=(_(j|0)|0)+33-(_(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<>>(z>>>0))&y|g<>31;break}if(e|0){f[e>>2]=r&g;f[e+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (I=n,o)|0}else{r=sVa(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (I=n,o)|0}}else{if(m){if(e|0){f[e>>2]=(i>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (I=n,o)|0}if(!g){if(e|0){f[e>>2]=0;f[e+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (I=n,o)|0}r=l-1|0;if(!(r&l)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=r&i|b&0}n=0;o=i>>>((sVa(l|0)|0)>>>0);return (I=n,o)|0}r=(_(l|0)|0)-(_(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (I=n,o)|0}while(0);if(!t){B=x;C=w;D=v;E=u;F=0;G=0}else{b=c|0|0;c=k|d&0;d=qVa(b|0,c|0,-1,-1)|0;k=I;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;rVa(d|0,k|0,g|0,a|0)|0;i=I;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=rVa(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&c|0)|0;w=I;u=u-1|0}while((u|0)!=0);B=h;C=x;D=w;E=v;F=0;G=t}t=C;C=0;if(e|0){f[e>>2]=E;f[e+4>>2]=D}n=(t|0)>>>31|(B|C)<<1|(C<<1|t>>>31)&0|F;o=(t<<1|0>>>31)&-2|G;return (I=n,o)|0}function uVa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;i=rVa(e^a|0,f^b|0,e|0,f|0)|0;b=I;a=g^e;e=h^f;return rVa((tVa(i,b,rVa(g^c|0,h^d|0,g|0,h|0)|0,I,0)|0)^a|0,I^e|0,a|0,e|0)|0}function vVa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=X(d,c)|0;f=a>>>16;a=(e>>>16)+(X(d,f)|0)|0;d=b>>>16;b=X(d,c)|0;return (I=(a>>>16)+(X(d,f)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|e&65535|0)|0}function wVa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=vVa(e,a)|0;f=I;return (I=(X(b,a)|0)+(X(d,e)|0)+f|f&0,c|0|0)|0}function xVa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return tVa(a,b,c,d,0)|0}function yVa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e|0;tVa(a,b,c,d,g)|0;u=e;return (I=f[g+4>>2]|0,f[g>>2]|0)|0}function zVa(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b>>c;return a>>>c|(b&(1<>c-32|0}function AVa(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b>>>c;return a>>>c|(b&(1<>>c-32|0}function BVa(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b<>>32-c;return a<>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function DVa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return qe(a|0,c|0,d|0)|0;e=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return e|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}h=g&-4|0;d=h-64|0;while((a|0)<=(d|0)){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[a+36>>2]=f[c+36>>2];f[a+40>>2]=f[c+40>>2];f[a+44>>2]=f[c+44>>2];f[a+48>>2]=f[c+48>>2];f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];f[a+60>>2]=f[c+60>>2];a=a+64|0;c=c+64|0}while((a|0)<(h|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{h=g-4|0;while((a|0)<(h|0)){b[a>>0]=b[c>>0]|0;b[a+1>>0]=b[c+1>>0]|0;b[a+2>>0]=b[c+2>>0]|0;b[a+3>>0]=b[c+3>>0]|0;a=a+4|0;c=c+4|0}}while((a|0)<(g|0)){b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0}return e|0}function EVa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if((c|0)<(a|0)&(a|0)<(c+d|0)){e=a;c=c+d|0;a=a+d|0;while((d|0)>0){a=a-1|0;c=c-1|0;d=d-1|0;b[a>>0]=b[c>>0]|0}a=e}else DVa(a,c,d)|0;return a|0}function FVa(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}g=e&-4|0;h=g-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(h|0)){f[a>>2]=i;f[a+4>>2]=i;f[a+8>>2]=i;f[a+12>>2]=i;f[a+16>>2]=i;f[a+20>>2]=i;f[a+24>>2]=i;f[a+28>>2]=i;f[a+32>>2]=i;f[a+36>>2]=i;f[a+40>>2]=i;f[a+44>>2]=i;f[a+48>>2]=i;f[a+52>>2]=i;f[a+56>>2]=i;f[a+60>>2]=i;a=a+64|0}while((a|0)<(g|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(e|0)){b[a>>0]=c;a=a+1|0}return e-d|0}function GVa(a){a=a|0;return 0}function HVa(a){a=a|0;return 0}function IVa(a){a=a|0;return 0}function JVa(a){a=+a;return a>=0.0?+J(a+.5):+W(a-.5)}function KVa(a){a=+a;return a-+J(a)!=.5?+JVa(a):+JVa(a/2.0)*2.0}function LVa(a){a=a|0;var b=0,c=0;b=f[r>>2]|0;c=b+a|0;if((a|0)>0&(c|0)<(b|0)|(c|0)<0){da()|0;qd(12);return -1}f[r>>2]=c;if((c|0)>(ca()|0)?(ba()|0)==0:0){f[r>>2]=b;qd(12);return -1}return b|0}function MVa(a,b){a=a|0;b=b|0;return +Jf[a&31](b|0)}function NVa(a,b,c){a=a|0;b=b|0;c=c|0;return +Kf[a&31](b|0,c|0)}function OVa(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;return +Lf[a&1](b|0,c|0,+d,+e,f|0)}function PVa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +Mf[a&31](b|0,c|0,d|0)}function QVa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return +Nf[a&1](b|0,c|0,d|0,+e)}function RVa(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;return +Of[a&1](b|0,c|0,d|0,+e,+f,g|0)}function SVa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return +Pf[a&15](b|0,c|0,d|0,e|0)}function TVa(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return +Qf[a&1](b|0,c|0,d|0,e|0,+f)}function UVa(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return +Rf[a&7](b|0,c|0,d|0,e|0,f|0)}function VVa(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return +Sf[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function WVa(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return +Tf[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function XVa(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return +Uf[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function YVa(a){a=a|0;return Vf[a&31]()|0}function ZVa(a,b){a=a|0;b=b|0;return Wf[a&255](b|0)|0}function _Va(a,b,c){a=a|0;b=b|0;c=+c;return Xf[a&1](b|0,+c)|0}function $Va(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;return Yf[a&1](b|0,+c,d|0)|0}function aWa(a,b,c){a=a|0;b=b|0;c=c|0;return Zf[a&127](b|0,c|0)|0}function bWa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return _f[a&3](b|0,c|0,+d)|0}function cWa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;return $f[a&1](b|0,c|0,+d,+e)|0}function dWa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;return ag[a&1](b|0,c|0,+d,e|0)|0}function eWa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return bg[a&127](b|0,c|0,d|0)|0}function fWa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return cg[a&3](b|0,c|0,d|0,+e)|0}function gWa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return dg[a&63](b|0,c|0,d|0,e|0)|0}function hWa(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return eg[a&7](b|0,c|0,d|0,e|0,+f)|0}function iWa(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return fg[a&63](b|0,c|0,d|0,e|0,f|0)|0}function jWa(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;return gg[a&3](b|0,c|0,d|0,e|0,f|0,+g)|0}function kWa(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;i=i|0;j=+j;k=k|0;l=+l;m=m|0;n=n|0;o=o|0;return hg[a&1](b|0,c|0,d|0,e|0,f|0,+g,h|0,i|0,+j,k|0,+l,m|0,n|0,o|0)|0}function lWa(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ig[a&127](b|0,c|0,d|0,e|0,f|0,g|0)|0}function mWa(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return jg[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function nWa(a,b,c,d,e,f,g,h,i,j,k,l,m,n){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=+i;j=j|0;k=+k;l=l|0;m=m|0;n=n|0;return kg[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i,j|0,+k,l|0,m|0,n|0)|0}function oWa(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return lg[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function pWa(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;return mg[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0)|0}function qWa(a){a=a|0;ng[a&3]()}function rWa(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;og[a&1](+b,c|0,d|0)}function sWa(a,b,c,d,e){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;pg[a&1](+b,c|0,d|0,e|0)}function tWa(a,b){a=a|0;b=b|0;qg[a&1023](b|0)}function uWa(a,b,c){a=a|0;b=b|0;c=+c;rg[a&15](b|0,+c)}function vWa(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;sg[a&3](b|0,+c,d|0)}function wWa(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=+e;f=+f;g=g|0;tg[a&1](b|0,+c,d|0,+e,+f,g|0)}function xWa(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=+c;d=d|0;e=+e;f=+f;g=g|0;h=h|0;ug[a&1](b|0,+c,d|0,+e,+f,g|0,h|0)}function yWa(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;vg[a&7](b|0,+c,d|0,e|0)}function zWa(a,b,c,d,e,f){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;wg[a&1](b|0,+c,d|0,e|0,f|0)}function AWa(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;xg[a&1](b|0,+c,d|0,e|0,f|0,g|0)}function BWa(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;yg[a&1](b|0,+c,d|0,e|0,f|0,g|0,h|0)}function CWa(a,b,c){a=a|0;b=b|0;c=c|0;zg[a&511](b|0,c|0)}function DWa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;Ag[a&31](b|0,c|0,+d)}function EWa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;Bg[a&7](b|0,c|0,+d,+e)}function FWa(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;Cg[a&7](b|0,c|0,+d,+e,f|0)}function GWa(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;g=+g;Dg[a&3](b|0,c|0,+d,+e,f|0,+g)}function HWa(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;g=+g;h=+h;Eg[a&3](b|0,c|0,+d,+e,f|0,+g,+h)}function IWa(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;g=+g;h=+h;i=+i;Fg[a&1](b|0,c|0,+d,+e,f|0,+g,+h,+i)}function JWa(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;g=+g;h=+h;i=+i;j=+j;Gg[a&1](b|0,c|0,+d,+e,f|0,+g,+h,+i,+j)}function KWa(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;g=g|0;Hg[a&3](b|0,c|0,+d,+e,f|0,g|0)}function LWa(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;g=g|0;h=h|0;Ig[a&1](b|0,c|0,+d,+e,f|0,g|0,h|0)}function MWa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;Jg[a&15](b|0,c|0,+d,e|0)}function NWa(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=+f;g=+g;h=h|0;Kg[a&1](b|0,c|0,+d,e|0,+f,+g,h|0)}function OWa(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=+f;g=+g;h=h|0;i=i|0;Lg[a&1](b|0,c|0,+d,e|0,+f,+g,h|0,i|0)}function PWa(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=+f;g=g|0;Mg[a&1](b|0,c|0,+d,e|0,+f,g|0)}function QWa(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=+f;g=g|0;h=h|0;Ng[a&1](b|0,c|0,+d,e|0,+f,g|0,h|0)}function RWa(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;g=g|0;h=+h;Og[a&1](b|0,c|0,+d,e|0,f|0,g|0,+h)}function SWa(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;g=g|0;h=h|0;Pg[a&1](b|0,c|0,+d,e|0,f|0,g|0,h|0)}function TWa(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;Qg[a&1](b|0,c|0,+d,e|0,f|0,g|0,h|0,i|0)}function UWa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Rg[a&255](b|0,c|0,d|0)}function VWa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;Sg[a&63](b|0,c|0,d|0,+e)}function WWa(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;Tg[a&15](b|0,c|0,d|0,+e,+f)}function XWa(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;Ug[a&3](b|0,c|0,d|0,+e,+f,+g)}function YWa(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;Vg[a&1](b|0,c|0,d|0,+e,+f,+g,+h)}function ZWa(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;Wg[a&1](b|0,c|0,d|0,+e,+f,+g,+h,i|0)}function _Wa(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;Xg[a&1](b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0)}function $Wa(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=h|0;Yg[a&1](b|0,c|0,d|0,+e,+f,+g,h|0)}function aXa(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=h|0;i=i|0;Zg[a&1](b|0,c|0,d|0,+e,+f,+g,h|0,i|0)}function bXa(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=h|0;i=i|0;j=j|0;_g[a&1](b|0,c|0,d|0,+e,+f,+g,h|0,i|0,j|0)}function cXa(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=h|0;i=i|0;j=j|0;k=k|0;$g[a&1](b|0,c|0,d|0,+e,+f,+g,h|0,i|0,j|0,k|0)}function dXa(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;ah[a&7](b|0,c|0,d|0,+e,+f,g|0)}function eXa(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;h=+h;bh[a&1](b|0,c|0,d|0,+e,+f,g|0,+h)}function fXa(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;h=+h;i=+i;ch[a&1](b|0,c|0,d|0,+e,+f,g|0,+h,+i)}function gXa(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;h=+h;i=+i;j=+j;dh[a&1](b|0,c|0,d|0,+e,+f,g|0,+h,+i,+j)}function hXa(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;h=+h;i=+i;j=+j;k=+k;eh[a&1](b|0,c|0,d|0,+e,+f,g|0,+h,+i,+j,+k)}function iXa(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;h=h|0;fh[a&3](b|0,c|0,d|0,+e,+f,g|0,h|0)}function jXa(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;h=h|0;i=i|0;gh[a&3](b|0,c|0,d|0,+e,+f,g|0,h|0,i|0)}function kXa(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;h=h|0;i=i|0;j=+j;hh[a&1](b|0,c|0,d|0,+e,+f,g|0,h|0,i|0,+j)}function lXa(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;h=h|0;i=i|0;j=j|0;ih[a&1](b|0,c|0,d|0,+e,+f,g|0,h|0,i|0,j|0)}function mXa(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;h=h|0;i=i|0;j=j|0;k=+k;jh[a&1](b|0,c|0,d|0,+e,+f,g|0,h|0,i|0,j|0,+k)}function nXa(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;kh[a&7](b|0,c|0,d|0,+e,f|0)}function oXa(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=+g;h=h|0;lh[a&1](b|0,c|0,d|0,+e,f|0,+g,h|0)}function pXa(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=+g;h=h|0;i=i|0;mh[a&1](b|0,c|0,d|0,+e,f|0,+g,h|0,i|0)}function qXa(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;nh[a&1](b|0,c|0,d|0,+e,f|0,g|0)}function rXa(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;h=+h;i=+i;j=j|0;oh[a&1](b|0,c|0,d|0,+e,f|0,g|0,+h,+i,j|0)}function sXa(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;h=h|0;ph[a&3](b|0,c|0,d|0,+e,f|0,g|0,h|0)}function tXa(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;h=h|0;i=+i;qh[a&1](b|0,c|0,d|0,+e,f|0,g|0,h|0,+i)}function uXa(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;rh[a&3](b|0,c|0,d|0,+e,f|0,g|0,h|0,i|0)}function vXa(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;j=+j;k=k|0;sh[a&1](b|0,c|0,d|0,+e,f|0,g|0,h|0,i|0,+j,k|0)}function wXa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;th[a&255](b|0,c|0,d|0,e|0)}function xXa(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;uh[a&15](b|0,c|0,d|0,e|0,+f)}function yXa(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;vh[a&7](b|0,c|0,d|0,e|0,+f,+g)}function zXa(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=+h;wh[a&1](b|0,c|0,d|0,e|0,+f,+g,+h)}function AXa(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=+h;i=+i;xh[a&1](b|0,c|0,d|0,e|0,+f,+g,+h,+i)}function BXa(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=+h;i=+i;j=j|0;yh[a&1](b|0,c|0,d|0,e|0,+f,+g,+h,+i,j|0)}function CXa(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=+h;i=+i;j=j|0;k=k|0;zh[a&1](b|0,c|0,d|0,e|0,+f,+g,+h,+i,j|0,k|0)}function DXa(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=+h;i=i|0;Ah[a&1](b|0,c|0,d|0,e|0,+f,+g,+h,i|0)}function EXa(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=+h;i=i|0;j=j|0;Bh[a&1](b|0,c|0,d|0,e|0,+f,+g,+h,i|0,j|0)}function FXa(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=k|0;Ch[a&1](b|0,c|0,d|0,e|0,+f,+g,+h,i|0,j|0,k|0)}function GXa(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=k|0;l=l|0;Dh[a&1](b|0,c|0,d|0,e|0,+f,+g,+h,i|0,j|0,k|0,l|0)}function HXa(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=h|0;Eh[a&7](b|0,c|0,d|0,e|0,+f,+g,h|0)}function IXa(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=h|0;i=i|0;Fh[a&1](b|0,c|0,d|0,e|0,+f,+g,h|0,i|0)}function JXa(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=h|0;i=i|0;j=j|0;Gh[a&3](b|0,c|0,d|0,e|0,+f,+g,h|0,i|0,j|0)}function KXa(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=h|0;i=i|0;j=j|0;k=+k;Hh[a&1](b|0,c|0,d|0,e|0,+f,+g,h|0,i|0,j|0,+k)}function LXa(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=h|0;i=i|0;j=j|0;k=k|0;Ih[a&1](b|0,c|0,d|0,e|0,+f,+g,h|0,i|0,j|0,k|0)}function MXa(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=h|0;i=i|0;j=j|0;k=k|0;l=+l;Jh[a&1](b|0,c|0,d|0,e|0,+f,+g,h|0,i|0,j|0,k|0,+l)}function NXa(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=g|0;Kh[a&7](b|0,c|0,d|0,e|0,+f,g|0)}function OXa(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=g|0;h=h|0;Lh[a&7](b|0,c|0,d|0,e|0,+f,g|0,h|0)}function PXa(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=g|0;h=h|0;i=+i;Mh[a&1](b|0,c|0,d|0,e|0,+f,g|0,h|0,+i)}function QXa(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=g|0;h=h|0;i=+i;j=+j;Nh[a&1](b|0,c|0,d|0,e|0,+f,g|0,h|0,+i,+j)}function RXa(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=g|0;h=h|0;i=+i;j=+j;k=k|0;Oh[a&3](b|0,c|0,d|0,e|0,+f,g|0,h|0,+i,+j,k|0)}function SXa(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=g|0;h=h|0;i=i|0;Ph[a&7](b|0,c|0,d|0,e|0,+f,g|0,h|0,i|0)}function TXa(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=g|0;h=h|0;i=i|0;j=j|0;Qh[a&7](b|0,c|0,d|0,e|0,+f,g|0,h|0,i|0,j|0)}function UXa(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=g|0;h=h|0;i=i|0;j=j|0;k=+k;l=l|0;Rh[a&1](b|0,c|0,d|0,e|0,+f,g|0,h|0,i|0,j|0,+k,l|0)}function VXa(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Sh[a&255](b|0,c|0,d|0,e|0,f|0)}function WXa(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;Th[a&15](b|0,c|0,d|0,e|0,f|0,+g)}function XXa(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=+h;Uh[a&3](b|0,c|0,d|0,e|0,f|0,+g,+h)}function YXa(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=+h;i=i|0;Vh[a&3](b|0,c|0,d|0,e|0,f|0,+g,+h,i|0)}function ZXa(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;Wh[a&7](b|0,c|0,d|0,e|0,f|0,+g,h|0)}function _Xa(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;i=i|0;Xh[a&7](b|0,c|0,d|0,e|0,f|0,+g,h|0,i|0)}function $Xa(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;i=i|0;j=+j;Yh[a&1](b|0,c|0,d|0,e|0,f|0,+g,h|0,i|0,+j)}function aYa(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;i=i|0;j=+j;k=+k;Zh[a&1](b|0,c|0,d|0,e|0,f|0,+g,h|0,i|0,+j,+k)}function bYa(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;i=i|0;j=+j;k=+k;l=l|0;_h[a&1](b|0,c|0,d|0,e|0,f|0,+g,h|0,i|0,+j,+k,l|0)}function cYa(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;i=i|0;j=j|0;$h[a&3](b|0,c|0,d|0,e|0,f|0,+g,h|0,i|0,j|0)}function dYa(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;i=i|0;j=j|0;k=k|0;ai[a&3](b|0,c|0,d|0,e|0,f|0,+g,h|0,i|0,j|0,k|0)}function eYa(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;bi[a&3](b|0,c|0,d|0,e|0,f|0,+g,h|0,i|0,j|0,k|0,l|0)}function fYa(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ci[a&127](b|0,c|0,d|0,e|0,f|0,g|0)}function gYa(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;di[a&7](b|0,c|0,d|0,e|0,f|0,g|0,+h)}function hYa(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;i=+i;ei[a&3](b|0,c|0,d|0,e|0,f|0,g|0,+h,+i)}function iYa(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;i=+i;j=j|0;fi[a&3](b|0,c|0,d|0,e|0,f|0,g|0,+h,+i,j|0)}function jYa(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;i=i|0;gi[a&3](b|0,c|0,d|0,e|0,f|0,g|0,+h,i|0)}function kYa(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;i=i|0;j=j|0;hi[a&1](b|0,c|0,d|0,e|0,f|0,g|0,+h,i|0,j|0)}function lYa(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;i=i|0;j=j|0;k=k|0;ii[a&1](b|0,c|0,d|0,e|0,f|0,g|0,+h,i|0,j|0,k|0)}function mYa(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;i=i|0;j=j|0;k=k|0;l=l|0;ji[a&1](b|0,c|0,d|0,e|0,f|0,g|0,+h,i|0,j|0,k|0,l|0)}function nYa(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;ki[a&1](b|0,c|0,d|0,e|0,f|0,g|0,+h,i|0,j|0,k|0,l|0,m|0)}function oYa(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;li[a&127](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function pYa(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=+i;mi[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function qYa(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=+i;j=+j;ni[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i,+j)}function rYa(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=+i;j=+j;k=k|0;oi[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i,+j,k|0)}function sYa(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=+i;j=j|0;pi[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i,j|0)}function tYa(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;qi[a&255](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function uYa(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ri[a&127](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function vYa(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=+k;l=+l;si[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,+k,+l)}function wYa(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;ti[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function xYa(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=+l;ui[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,+l)}function yYa(a,b,c,d,e,f,g,h,i,j,k,l,m,n){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=+l;m=+m;n=n|0;vi[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,+l,+m,n|0)}function zYa(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;wi[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)}function AYa(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=+m;xi[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,+m)}function BYa(a){a=a|0;$(0);return 0.0}function CYa(a,b){a=a|0;b=b|0;$(1);return 0.0}function DYa(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=e|0;$(2);return 0.0}function EYa(a,b,c){a=a|0;b=b|0;c=c|0;$(3);return 0.0}function FYa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;$(4);return 0.0}function GYa(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;$(5);return 0.0}function HYa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;$(6);return 0.0}function IYa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;$(7);return 0.0}function JYa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;$(8);return 0.0}function KYa(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;$(9);return 0.0}function LYa(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;$(10);return 0.0}function MYa(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;$(11);return 0.0}function NYa(){$(12);return 0}function OYa(a){a=a|0;$(13);return 0}function PYa(a,b){a=a|0;b=+b;$(14);return 0}function QYa(a,b,c){a=a|0;b=+b;c=c|0;$(15);return 0}function RYa(a,b){a=a|0;b=b|0;$(16);return 0}function SYa(a,b,c){a=a|0;b=b|0;c=+c;$(17);return 0}function TYa(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;$(18);return 0}function UYa(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;$(19);return 0}function VYa(a,b,c){a=a|0;b=b|0;c=c|0;$(20);return 0}function WYa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;$(21);return 0}function XYa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;$(22);return 0}function YYa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;$(23);return 0}function ZYa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;$(24);return 0}function _Ya(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;$(25);return 0}function $Ya(a,b,c,d,e,f,g,h,i,j,k,l,m,n){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=g|0;h=h|0;i=+i;j=j|0;k=+k;l=l|0;m=m|0;n=n|0;$(26);return 0}function aZa(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;$(27);return 0}function bZa(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;$(28);return 0}function cZa(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;i=i|0;j=+j;k=k|0;l=l|0;m=m|0;$(29);return 0}function dZa(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;$(30);return 0}function eZa(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;$(31);return 0}function fZa(){$(32)}function gZa(){kd()}function hZa(a,b,c){a=+a;b=b|0;c=c|0;$(33)}function iZa(a,b,c,d){a=+a;b=b|0;c=c|0;d=d|0;$(34)}function jZa(a){a=a|0;$(35)}function kZa(a,b){a=a|0;b=+b;$(36)}function lZa(a,b,c){a=a|0;b=+b;c=c|0;$(37)}function mZa(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=+d;e=+e;f=f|0;$(38)}function nZa(a,b,c,d,e,f,g){a=a|0;b=+b;c=c|0;d=+d;e=+e;f=f|0;g=g|0;$(39)}function oZa(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;$(40)}function pZa(a,b,c,d,e){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;$(41)}function qZa(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;$(42)}function rZa(a,b,c,d,e,f,g){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;$(43)}function sZa(a,b){a=a|0;b=b|0;$(44)}function tZa(a,b,c){a=a|0;b=b|0;c=+c;$(45)}function uZa(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;$(46)}function vZa(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=e|0;$(47)}function wZa(a,b,c,d,e,f){a=a|0;b=b|0;c=+c;d=+d;e=e|0;f=+f;$(48)}function xZa(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=+d;e=e|0;f=+f;g=+g;$(49)}function yZa(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=+c;d=+d;e=e|0;f=+f;g=+g;h=+h;$(50)}function zZa(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=+c;d=+d;e=e|0;f=+f;g=+g;h=+h;i=+i;$(51)}function AZa(a,b,c,d,e,f){a=a|0;b=b|0;c=+c;d=+d;e=e|0;f=f|0;$(52)}function BZa(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=+d;e=e|0;f=f|0;g=g|0;$(53)}function CZa(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;$(54)}function DZa(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=+e;f=+f;g=g|0;$(55)}function EZa(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=+c;d=d|0;e=+e;f=+f;g=g|0;h=h|0;$(56)}function FZa(a,b,c,d,e,f){a=a|0;b=b|0;c=+c;d=d|0;e=+e;f=f|0;$(57)}function GZa(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=+e;f=f|0;g=g|0;$(58)}function HZa(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;g=+g;$(59)}function IZa(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;$(60)}function JZa(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;$(61)}function KZa(a,b,c){a=a|0;b=b|0;c=c|0;$(62)}function LZa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;$(63)}function MZa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;$(64)}function NZa(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=+f;$(65)}function OZa(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=+f;g=+g;$(66)}function PZa(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=+f;g=+g;h=h|0;$(67)}function QZa(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=+f;g=+g;h=h|0;i=i|0;$(68)}function RZa(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=+f;g=g|0;$(69)}function SZa(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=+f;g=g|0;h=h|0;$(70)}function TZa(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=+f;g=g|0;h=h|0;i=i|0;$(71)}function UZa(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=+f;g=g|0;h=h|0;i=i|0;j=j|0;$(72)}function VZa(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;$(73)}function WZa(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;g=+g;$(74)}function XZa(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;g=+g;h=+h;$(75)}function YZa(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;g=+g;h=+h;i=+i;$(76)}function ZZa(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;g=+g;h=+h;i=+i;j=+j;$(77)}function _Za(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;g=g|0;$(78)}function $Za(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;g=g|0;h=h|0;$(79)}function a_a(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;g=g|0;h=h|0;i=+i;$(80)}function b_a(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;$(81)}function c_a(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;j=+j;$(82)}function d_a(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;$(83)}function e_a(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=+f;g=g|0;$(84)}function f_a(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=+f;g=g|0;h=h|0;$(85)}function g_a(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;$(86)}function h_a(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;g=+g;h=+h;i=i|0;$(87)}function i_a(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;g=g|0;$(88)}function j_a(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;g=g|0;h=+h;$(89)}function k_a(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;g=g|0;h=h|0;$(90)}function l_a(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;g=g|0;h=h|0;i=+i;j=j|0;$(91)}function m_a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;$(92)}function n_a(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;$(93)}function o_a(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;$(94)}function p_a(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;$(95)}function q_a(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;$(96)}function r_a(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;$(97)}function s_a(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;$(98)}function t_a(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=h|0;$(99)}function u_a(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=h|0;i=i|0;$(100)}function v_a(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=h|0;i=i|0;j=j|0;$(101)}function w_a(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=h|0;i=i|0;j=j|0;k=k|0;$(102)}function x_a(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;$(103)}function y_a(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;h=h|0;$(104)}function z_a(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;h=h|0;i=i|0;$(105)}function A_a(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;h=h|0;i=i|0;j=+j;$(106)}function B_a(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;h=h|0;i=i|0;j=j|0;$(107)}function C_a(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;h=h|0;i=i|0;j=j|0;k=+k;$(108)}function D_a(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;$(109)}function E_a(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;$(110)}function F_a(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;h=+h;$(111)}function G_a(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;h=+h;i=+i;$(112)}function H_a(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;h=+h;i=+i;j=j|0;$(113)}function I_a(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;h=h|0;$(114)}function J_a(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;$(115)}function K_a(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;j=+j;k=k|0;$(116)}function L_a(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;$(117)}function M_a(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;$(118)}function N_a(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;$(119)}function O_a(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=h|0;$(120)}function P_a(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=g|0;$(121)}function Q_a(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=g|0;h=h|0;$(122)}function R_a(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=g|0;h=h|0;i=+i;$(123)}function S_a(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=g|0;h=h|0;i=+i;j=+j;$(124)}function T_a(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=g|0;h=h|0;i=+i;j=+j;k=k|0;$(125)}function U_a(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=g|0;h=h|0;i=i|0;$(126)}function V_a(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=g|0;h=h|0;i=i|0;j=j|0;$(127)}function W_a(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;$(128)}function X_a(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;$(129)}function Y_a(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;$(130)}function Z_a(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=+h;$(131)}function __a(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=+h;i=i|0;$(132)}function $_a(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;$(133)}function a$a(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;i=i|0;$(134)}function b$a(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;i=i|0;j=j|0;$(135)}function c$a(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;i=i|0;j=j|0;k=k|0;$(136)}function d$a(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;$(137)}function e$a(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;$(138)}function f$a(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;$(139)}function g$a(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;i=+i;$(140)}function h$a(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;i=+i;j=j|0;$(141)}function i$a(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;i=i|0;$(142)}function j$a(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;$(143)}function k$a(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;$(144)}function l$a(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=+j;k=+k;$(145)}function m$a(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;$(146)}function n$a(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=+k;$(147)}function o$a(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=+k;l=+l;m=m|0;$(148)}function p$a(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;$(149)}function q$a(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=+l;$(150)} + +// EMSCRIPTEN_END_FUNCS +var Jf=[BYa,c9,sva,Hva,Jva,Lva,Nva,Pva,Rva,Tva,Zva,uwa,Ewa,yxa,lm,Fm,So,BYa,BYa,BYa,BYa,BYa,BYa,BYa,BYa,BYa,BYa,BYa,BYa,BYa,BYa,BYa];var Kf=[CYa,wra,Mra,Qi,Gu,Ou,Wu,cv,kv,rv,vv,Dv,Hv,tl,km,qx,jo,Ro,Vo,Pp,qA,pB,EB,GB,CYa,CYa,CYa,CYa,CYa,CYa,CYa,CYa];var Lf=[DYa,Vp];var Mf=[EYa,nD,oD,pD,qD,rD,sD,tD,Vt,su,wu,Iw,dm,Dn,io,Fy,Qo,Zy,Uo,$y,bp,Op,EYa,EYa,EYa,EYa,EYa,EYa,EYa,EYa,EYa,EYa];var Nf=[FYa,to];var Of=[GYa,zz];var Pf=[HYa,tu,xu,jx,Cn,gy,Ey,Yy,To,cz,HYa,HYa,HYa,HYa,HYa,HYa];var Qf=[IYa,Ny];var Rf=[JYa,uu,vu,Bn,fy,_y,JYa,JYa];var Sf=[KYa,An,ey,mo];var Tf=[LYa,dy,lo,Iy];var Uf=[MYa,Hy];var Vf=[NYa,qt,yu,Cu,Iu,Mu,Qu,Uu,Yu,av,ev,pv,tv,zv,Fv,Jv,Fr,Vr,js,zs,Ss,ht,Yz,EA,bB,sB,zB,TB,NYa,NYa,NYa,NYa];var Wf=[OYa,lN,IO,JO,BP,eQ,hS,AU,YFa,ZFa,vX,aGa,IY,rra,Kra,fsa,ysa,Dsa,Fsa,Gsa,mva,qva,Dva,Fva,Vva,Xva,swa,wwa,ywa,Awa,Cwa,Gwa,vxa,eCa,$Fa,oGa,pGa,rGa,sGa,BHa,IHa,PHa,QHa,WHa,XHa,lKa,sKa,tKa,uKa,vKa,wKa,xKa,yKa,VKa,aLa,bLa,cLa,dLa,eLa,fLa,gLa,QLa,RLa,WLa,aMa,bMa,gMa,lMa,mMa,rMa,wMa,xMa,CMa,vNa,wNa,yNa,NNa,ONa,QNa,tOa,uOa,AOa,BOa,GNa,HNa,JNa,WNa,XNa,ZNa,TRa,ot,rt,st,Dj,Ej,Fj,Gj,Mj,Nj,Sj,Vj,Tv,bj,Wv,Dr,Gr,yr,Tr,Wr,Or,hs,ks,cs,xs,As,ss,Ps,Ts,Is,ft,it,at,Am,Kn,ko,Uz,Zz,aA,dA,yA,DA,FA,LA,NA,OA,SA,UA,VA,ZA,aB,cB,eB,gB,hB,lB,rB,tB,vB,xB,yB,AB,IB,KB,UB,VB,Lta,e_,g_,k_,m_,p_,$V,s_,qW,v_,QV,y_,UV,Sda,Wda,Rta,Vta,Vua,Zua,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa,OYa];var Xf=[PYa,kB];var Yf=[QYa,jB];var Zf=[RYa,XE,YE,ZE,_E,$E,CF,xF,HF,KF,NF,UF,eG,kG,qG,tG,HO,wX,xX,xra,hsa,zsa,rua,kya,FBa,GBa,HBa,bGa,dGa,tGa,vGa,DHa,KHa,RHa,YHa,gOa,iOa,kOa,LOa,NOa,POa,tt,ut,Dt,Ft,Gt,Ht,St,Qj,Ut,Yt,au,ik,lk,ok,rk,uk,xk,Bk,Au,Eu,Ku,Su,_u,gv,iv,mv,nv,ov,xv,Bv,Lv,Nv,Pv,Qv,Sv,Uv,Jr,Zr,ns,Ds,Ws,lt,Pw,gm,xx,cn,hy,Gy,Qy,Uy,yq,bA,mA,oA,sA,uA,AA,HA,JA,YA,oB,CB,Zq,WB,cC,TX,UX,VX,WX,XX,cY,dY,eY,fY,gY,h_,j_,n_,q_,t_,w_,A_,Uda,$oa,Tta,Xua,bza];var _f=[SYa,xxa,XA,SYa];var $f=[TYa,ly];var ag=[UYa,WA];var bg=[VYa,VFa,_Fa,cGa,pra,sra,tra,Ira,Lra,dsa,gsa,tua,fCa,gCa,lCa,jCa,oDa,lGa,qGa,uGa,CHa,JHa,dIa,jIa,jNa,oNa,hOa,jOa,mOa,HOa,MOa,OOa,ROa,xRa,ZRa,$Ra,vt,wt,Bt,Lt,Pt,Tt,Xt,Zt,bu,du,jk,gu,mk,ju,pk,mu,sk,pu,vk,yk,Ck,Rv,Kr,Ar,_r,Qr,os,es,Es,us,Xs,Ks,mt,ct,fm,mx,bn,Px,ky,ny,Py,Ty,Np,xq,Xz,CA,MB,C_,wBa,AFa,VYa,VYa,VYa,VYa,VYa,VYa,VYa,VYa,VYa,VYa,VYa,VYa,VYa,VYa,VYa,VYa,VYa,VYa,VYa,VYa,VYa,VYa,VYa,VYa,VYa,VYa,VYa,VYa,VYa,VYa,VYa,VYa,VYa,VYa,VYa,VYa,VYa,VYa,VYa,VYa,VYa,VYa];var cg=[WYa,Wt,$r,ps];var dg=[XYa,TO,uQ,vQ,wQ,xQ,yQ,gS,tia,uia,gxa,ixa,bxa,lOa,IOa,JOa,KOa,QOa,xt,yt,Ct,Ot,cu,eu,kk,hu,nk,ku,qk,nu,tk,qu,wk,zk,Ak,Vv,Lr,Fs,Zs,nt,em,lx,jm,Ox,Yx,my,Mp,xz,Wz,BA,XYa,XYa,XYa,XYa,XYa,XYa,XYa,XYa,XYa,XYa,XYa,XYa,XYa,XYa];var eg=[YYa,NJa,OJa,cKa,dKa,YYa,YYa,YYa];var fg=[ZYa,JK,KK,LK,MK,NK,OK,PK,QK,RK,SK,TK,UK,VK,WK,XK,YK,ZK,_K,$K,aL,bL,BV,CV,DV,EV,FV,GV,HV,Xxa,cya,bIa,hIa,IJa,JJa,LJa,PJa,ZJa,_Ja,aKa,eKa,uNa,xNa,MNa,PNa,nOa,SOa,FNa,INa,VNa,YNa,zt,Fi,fu,iu,lu,ou,ru,kx,im,px,wz,ZYa,ZYa];var gg=[_Ya,ZMa,dNa,_Ya];var hg=[$Ya,Axa];var ig=[aZa,PE,QE,RE,SE,TE,UE,VE,lL,mL,nL,oL,pL,qL,rL,sL,tL,uL,vL,wL,xL,yL,zL,AL,BL,CL,DL,EL,FL,via,nIa,oIa,pIa,qIa,rIa,sIa,tIa,uIa,vIa,wIa,xIa,hJa,iJa,jJa,kJa,lJa,mJa,nJa,oJa,pJa,qJa,rJa,KJa,MJa,$Ja,bKa,mKa,nKa,oKa,pKa,qKa,WKa,XKa,YKa,ZKa,_Ka,_Ma,eNa,At,hm,ox,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa,aZa];var jg=[bZa,ELa,KLa,HMa,IMa,QMa,RMa,nx];var kg=[cZa,$z];var lg=[dZa,SO,rKa,$Ka,sNa,tNa,KNa,LNa,DNa,ENa,TNa,UNa,dZa,dZa,dZa,dZa];var mg=[eZa,_z];var ng=[fZa,gZa,qRa,LRa];var og=[hZa,Wm];var pg=[iZa,Vm];var qg=[jZa,aF,BF,GF,JF,MF,TF,dG,jG,pG,sG,jN,kN,LO,MO,NO,BO,RO,zP,AP,CP,DP,cQ,dQ,WQ,qR,nR,oR,YQ,ZQ,_Q,sR,DR,xR,yR,uR,vR,eS,fS,iS,kS,lS,fU,ZU,XU,YU,UU,SU,TU,PU,NU,OU,LU,JU,KU,GU,EU,FU,jU,hU,iU,qU,rU,BU,CU,DU,_Z,BW,zW,xW,pX,yX,zX,AX,rX,sX,AGa,BGa,CGa,DGa,DX,EX,FX,GX,DY,EY,FY,V_,W_,jia,L$,J$,K$,H$,F$,G$,D$,B$,C$,z$,x$,y$,v$,t$,u$,r$,p$,q$,n$,l$,m$,j$,h$,i$,f$,d$,e$,b$,$_,a$,c1,d1,f1,a1,b1,X0,Y0,_0,V0,W0,R0,S0,U0,P0,Q0,L0,M0,O0,J0,K0,F0,G0,I0,D0,E0,z0,A0,C0,x0,y0,t0,u0,w0,r0,s0,n0,o0,q0,l0,m0,h0,i0,k0,f0,g0,b0,c0,e0,$$,a0,X$,Y$,_$,V$,W$,Q$,R$,T$,O$,P$,h1,i1,D1,N1,L1,_1,$1,d2,e2,i2,j2,n2,o2,s2,t2,C2,D2,I2,J2,O2,P2,U2,V2,_2,$2,j3,k3,p3,q3,v3,w3,B3,C3,H3,I3,R3,T3,V3,X3,Z3,f4,g4,j4,k4,n4,o4,s4,t4,x4,y4,R1,B4,T4,e5,r5,E5,R5,N6,L6,M6,J6,H6,I6,F6,D6,E6,B6,z6,A6,x6,v6,w6,t6,r6,s6,p6,n6,o6,l6,j6,k6,h6,f6,g6,d6,b6,c6,lia,A7,nia,y7,z7,w7,u7,v7,s7,q7,r7,o7,m7,n7,k7,i7,j7,g7,e7,f7,c7,a7,b7,_6,Y6,Z6,W6,U6,V6,S6,Q6,R6,F8,G8,A8,B8,v8,w8,q8,r8,l8,m8,g8,h8,b8,c8,Y7,Z7,T7,U7,N7,O7,Q7,R7,qia,V7,W7,_7,$7,d8,e8,i8,j8,n8,o8,s8,t8,x8,y8,C8,D8,H8,I8,U8,S8,_8,$8,f9,Y8,Z8,x9,y9,v9,w9,s9,t9,q9,r9,n9,o9,l9,m9,i9,j9,g9,h9,baa,vaa,waa,taa,yaa,raa,Aaa,Daa,Eaa,oaa,Gaa,maa,Iaa,Cca,zca,wca,Fca,Jca,Rca,Pca,Nca,Yca,Wca,Uca,$ca,cda,fda,ida,jea,iea,rea,sea,Bea,yea,wea,Lea,Iea,Fea,cfa,bfa,afa,$ea,_ea,Zea,Yea,Xea,lfa,kfa,jfa,ifa,ofa,Nfa,Mfa,Lfa,Kfa,Jfa,Ifa,Hfa,Gfa,Ffa,Efa,Dfa,Cfa,hga,Hga,Iga,Nga,Oga,Wga,Xga,iha,gha,pha,nha,lha,Hha,Dha,Oha,Mha,Kha,Yha,Zha,Uha,kia,mia,oia,pia,ria,sia,Uja,Vja,Mja,Nja,Hja,Ija,Cja,Dja,xja,yja,sja,tja,nja,oja,ija,jja,dja,eja,_ia,$ia,Via,Wia,Qia,Ria,Sia,Tia,Xia,Yia,aja,bja,fja,gja,kja,lja,pja,qja,uja,vja,zja,Aja,Eja,Fja,Jja,Kja,Pja,Sja,Qja,Xja,_ja,Yja,Cma,Dma,Ama,Bma,yma,zma,wma,xma,uma,vma,sma,tma,qma,rma,oma,pma,mma,nma,ima,jma,Zla,_la,Ola,Pla,Hla,Ila,Ala,Bla,tla,ula,mla,nla,fla,gla,Zka,_ka,Ska,Tka,Lka,Mka,Eka,Fka,xka,yka,zka,Cka,Aka,Gka,Jka,Hka,Nka,Qka,Oka,Uka,Xka,Vka,ala,dla,bla,hla,kla,ila,ola,rla,pla,vla,yla,wla,Cla,Fla,Dla,Jla,Mla,Kla,Rla,Ula,Sla,Xla,ama,dma,bma,gma,kma,$na,aoa,Wna,Xna,Rna,Sna,Mna,Nna,Hna,Ina,Cna,Dna,xna,yna,sna,tna,nna,ona,ina,jna,dna,ena,_ma,$ma,Vma,Wma,Xma,Yma,ana,bna,fna,gna,kna,lna,pna,qna,una,vna,zna,Ana,Ena,Fna,Jna,Kna,Ona,Pna,Tna,Una,Yna,Zna,boa,coa,rpa,npa,kpa,lpa,fpa,gpa,Dpa,Bpa,ypa,wpa,Qpa,Npa,Kpa,Hpa,gqa,dqa,bqa,qqa,nqa,kqa,Mqa,Jqa,Bqa,yqa,dra,ara,Xqa,Uqa,nra,ora,vra,zra,Era,Fra,Gra,Hra,Ora,Vra,Wra,$ra,asa,Zra,_ra,bsa,csa,jsa,nsa,osa,rsa,ssa,psa,qsa,vsa,wsa,Rsa,Ssa,fta,gta,Ita,Jta,cua,bua,fua,iua,jua,oua,pua,Fua,Gua,Nua,Oua,cva,iva,gva,hva,xva,yva,ewa,iwa,jwa,pwa,rwa,nwa,owa,exa,fxa,cxa,dxa,Zwa,_wa,$wa,axa,txa,uxa,wxa,Mxa,Nxa,Uxa,Vxa,Sxa,Txa,bya,$xa,aya,hya,iya,fya,gya,mya,nya,Lya,Iya,Gya,Cya,Oya,Pya,Rya,Sya,Uya,Vya,Wya,Xya,Yya,Zya,UGa,VGa,WGa,XGa,YGa,ZGa,KGa,LGa,MGa,NGa,OFa,QFa,SFa,TFa,iGa,jGa,FGa,GGa,HGa,IGa,PGa,QGa,RGa,SGa,yHa,zHa,FHa,GHa,MHa,NHa,THa,UHa,_Ha,$Ha,aIa,fIa,gIa,lIa,mIa,fJa,gJa,GJa,HJa,XJa,YJa,jKa,kKa,TKa,UKa,CLa,DLa,ILa,JLa,OLa,PLa,_La,$La,jMa,kMa,uMa,vMa,FMa,GMa,OMa,PMa,XMa,YMa,bNa,cNa,hNa,iNa,mNa,nNa,eIa,CNa,rNa,RNa,SNa,bOa,cOa,eOa,fOa,rOa,sOa,yOa,zOa,FOa,GOa,TOa,UOa,VOa,tRa,uRa,vRa,wRa,GRa,RRa,SRa,XRa,YRa,_Ra,bSa,pt,zu,Du,Ju,Nu,Ru,Vu,Zu,bv,fv,qv,uv,Av,Gv,Kv,Dk,kj,Er,Ur,is,ys,Qs,gt,Kp,Lp,Vz,_ua,$ua,zA,GA,MA,TA,Qq,dB,fB,Wq,uB,wB,lya,BB,JB,LB,zU,yU,xU,wU,vU,uU,tU,sU,eZ,fZ,N_,O_,tZ,uZ,f_,l_,_V,mW,PV,z_,Tda,Sta,Wua,FIa,HIa,JMa,ZBa,MRa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa,jZa];var rg=[kZa,b9,tva,Iva,Kva,Mva,Ova,Qva,Sva,Uva,_va,vwa,Fwa,Vq,Xq,kZa];var sg=[lZa,ep,Uq,lZa];var tg=[mZa,rl];var ug=[nZa,ql];var vg=[oZa,rF,ZF,hG,Hx,oZa,oZa,oZa];var wg=[pZa,Gx];var xg=[qZa,vq];var yg=[rZa,uq];var zg=[sZa,mN,KO,UO,DO,fQ,jS,lU,mU,nU,CW,AW,yW,UFa,GY,HY,JY,KY,X_,E1,O1,M1,a2,f2,k2,p2,u2,E2,K2,Q2,W2,a3,l3,r3,x3,D3,J3,S3,U3,W3,Y3,_3,h4,l4,p4,u4,z4,C4,U4,f5,s5,F5,S5,V8,T8,d9,e9,z9,u9,p9,k9,caa,xaa,zaa,Baa,Faa,Haa,Jaa,Dca,Aca,xca,Gca,Kca,Sca,Qca,Oca,Zca,Xca,Vca,ada,dda,gda,jda,gea,hea,Cea,zea,xea,Mea,Jea,Gea,Pea,Qea,Rea,Sea,Tea,Uea,Vea,Wea,efa,ffa,gfa,hfa,nfa,qfa,rfa,sfa,tfa,ufa,vfa,wfa,xfa,yfa,zfa,Afa,Bfa,iga,Jga,Pga,jha,hha,qha,oha,mha,Iha,Eha,Pha,Nha,Lha,_ha,Vha,spa,opa,mpa,hpa,Epa,Cpa,zpa,xpa,Rpa,Opa,Lpa,Ipa,hqa,eqa,cqa,rqa,oqa,lqa,Nqa,Kqa,Cqa,zqa,era,bra,Yqa,Vqa,qra,ura,Jra,esa,xsa,Esa,Hsa,Isa,Tsa,dua,gua,lua,qua,vua,Hua,Pua,dva,kva,lva,nva,ova,pva,rva,zva,Ava,Cva,Eva,Gva,Wva,Yva,fwa,twa,xwa,zwa,Bwa,Dwa,Hwa,Wxa,jya,Mya,Jya,Hya,Dya,Qya,kGa,AHa,HHa,OHa,VHa,SLa,TLa,ULa,VLa,XLa,YLa,cMa,dMa,eMa,fMa,hMa,iMa,nMa,oMa,pMa,qMa,sMa,tMa,yMa,zMa,AMa,BMa,DMa,EMa,lNa,qNa,vOa,wOa,xOa,COa,DOa,EOa,uj,vj,wj,xj,yj,zj,Aj,Bj,Cj,Ui,Rj,Si,Xi,Yi,Ki,_i,$i,aj,hj,ij,jj,ej,dj,wr,Mr,as,qs,Gs,_s,zl,Hl,om,rm,Im,mn,tn,En,$n,eo,ro,yo,Co,Eo,Ho,$o,lp,op,Jp,uz,vz,Qp,Rp,Wp,Yp,$p,iq,rq,zq,Hq,Mq,Pq,Tq,mB,$D,aE,bE,cE,dE,eE,ME,LE,KE,JE,IE,HE,GE,FE,EE,DE,CE,BE,AE,zE,yE,xE,wE,vE,uE,tE,sE,rE,qE,pE,oE,nE,mE,lE,kE,jE,iE,hE,gE,fE,ooa,poa,loa,moa,noa,xBa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa,sZa];var Ag=[tZa,Hu,Pu,Xu,dv,lv,sv,wv,Ev,Iv,Xr,ls,nm,_o,rA,Oq,nB,FB,HB,iZ,Q_,wZ,tZa,tZa,tZa,tZa,tZa,tZa,tZa,tZa,tZa,tZa];var Bg=[uZa,Gk,mm,Mn,Zo,uZa,uZa,uZa];var Cg=[vZa,Fk,Vk,Yk,Yo,vZa,vZa,vZa];var Dg=[wZa,Uk,Xk,wZa];var Eg=[xZa,Tk,Wk,xZa];var Fg=[yZa,Sk];var Gg=[zZa,Rk];var Hg=[AZa,Ek,Xo,AZa];var Ig=[BZa,Wo];var Jg=[CZa,pF,RF,YF,gG,mG,vG,sl,dz,Nq,CZa,CZa,CZa,CZa,CZa,CZa];var Kg=[DZa,Gw];var Lg=[EZa,Fw];var Mg=[FZa,In];var Ng=[GZa,Hn];var Og=[HZa,ml];var Pg=[IZa,Sz];var Qg=[JZa,Rz];var Rg=[KZa,OD,PD,QD,RD,SD,TD,UD,VD,WD,XD,dF,eF,fF,gF,hF,iF,jF,sF,tF,wF,SF,_F,$F,nG,CO,pR,mR,aR,bR,cR,dR,eR,fR,_U,VU,QU,MU,HU,kU,a9,yra,Nra,isa,sua,uua,zxa,sj,Pi,Ni,Et,Ii,Hj,Jj,Lj,Qt,Vi,Pj,Tj,Ti,Uj,Wi,_t,Zi,Wj,Yj,_j,ak,ck,ek,gk,Bu,Fu,Lu,Tu,$u,hv,jv,yv,Cv,Mv,Ov,cj,Hr,xr,zr,Nr,Pr,bs,ds,Bs,rs,ts,Us,Hs,Js,jt,$s,bt,bl,ll,pl,xl,yl,Lw,Bl,Dl,Gl,qm,sm,zm,Cm,Em,Hm,Nm,Um,kn,rn,Gn,Jn,Ln,On,_n,zy,co,ho,so,wo,xo,Ao,Bo,Do,Fo,Go,Po,ap,kp,np,pp,qp,Ep,tz,yz,Up,Xp,qq,Oz,eA,nA,pA,tA,vA,Jq,IA,KA,Lq,RA,Sq,iB,Yq,DB,qr,ZT,YT,$T,_T,hZ,kZ,P_,S_,vZ,yZ,Q9,M9,N9,O9,P9,W9,S9,T9,U9,V9,Oda,Nda,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa,KZa];var Sg=[LZa,Bva,Ji,Ri,Yr,ms,Lk,rx,Tm,Zn,Oo,Dp,Kq,Rq,pr,XC,WC,ZC,YC,$C,_C,bD,aD,dD,cD,fD,eD,hD,gD,jD,iD,lD,kD,Mda,Lda,Kda,LZa,LZa,LZa,LZa,LZa,LZa,LZa,LZa,LZa,LZa,LZa,LZa,LZa,LZa,LZa,LZa,LZa,LZa,LZa,LZa,LZa,LZa,LZa,LZa,LZa,LZa,LZa,LZa];var Tg=[MZa,Hi,$v,Ik,Kk,Qk,vl,Tn,Cp,MZa,MZa,MZa,MZa,MZa,MZa,MZa];var Ug=[NZa,Pk,Fn,NZa];var Vg=[OZa,Ok];var Wg=[PZa,Nk];var Xg=[QZa,Mk];var Yg=[RZa,gn];var Zg=[SZa,fn];var _g=[TZa,en];var $g=[UZa,dn];var ah=[VZa,_v,Hk,Jk,ul,Sn,Bp,VZa];var bh=[WZa,nw];var ch=[XZa,mw];var dh=[YZa,lw];var eh=[ZZa,kw];var fh=[_Za,Zv,Rn,bz];var gh=[$Za,Qn,Wn,az];var hh=[a_a,Pn];var ih=[b_a,Vn];var jh=[c_a,Un];var kh=[d_a,Hw,Sm,No,or,d_a,d_a,d_a];var lh=[e_a,jy];var mh=[f_a,iy];var nh=[g_a,nr];var oh=[h_a,Aua];var ph=[i_a,yua,mr,i_a];var qh=[j_a,Cw];var rh=[k_a,Asa,lr,k_a];var sh=[l_a,Rl];var th=[m_a,DF,cF,kF,lF,mF,nF,EF,vF,IF,uF,LF,OF,PF,QF,VF,WF,XF,fG,lG,rG,uG,kP,lP,mP,nP,GQ,HQ,IQ,JQ,KQ,LQ,MQ,_R,$R,aS,bS,uX,qwa,XFa,nGa,cIa,iIa,ARa,JRa,eSa,tj,Oi,Li,Jt,Ij,Nt,Kj,Rt,Oj,$t,Xj,Zj,$j,bk,dk,fk,hk,fj,gj,Ir,Cs,Vs,kt,al,sw,Bw,ol,wl,Kw,Al,Cl,Fl,Ow,Ll,Zl,bm,cm,pm,tx,ym,Bm,Dm,Gm,Mm,Pm,an,jn,Wx,qn,sn,xn,Nn,yy,ao,go,Dy,qo,vo,zo,Sy,Mo,dp,jp,jz,mp,kz,up,wp,Ap,Tp,_p,dq,hq,nq,pq,Nz,tq,Gq,Iq,QA,$A,qB,dr,iC,cZ,jZ,M_,R_,sZ,xZ,i_,o_,r_,u_,x_,B_,Vda,Uta,Yua,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a,m_a];var uh=[n_a,oF,qF,Kt,ew,$k,wm,Fx,xy,Fq,PA,_A,cr,hC,n_a,n_a];var vh=[o_a,It,bw,dw,jw,_k,o_a,o_a];var wh=[p_a,iw];var xh=[q_a,hw];var yh=[r_a,gw];var zh=[s_a,fw];var Ah=[t_a,Tx];var Bh=[u_a,Sx];var Ch=[v_a,Rx];var Dh=[w_a,Qx];var Eh=[x_a,aw,cw,Zk,Jw,ry,x_a,x_a];var Fh=[y_a,qy];var Gh=[z_a,py,uy,z_a];var Hh=[A_a,oy];var Ih=[B_a,ty];var Jh=[C_a,sy];var Kh=[D_a,Dua,vm,Ex,ip,Eq,br,gC];var Lh=[E_a,hp,Dq,ar,fC,E_a,E_a,E_a];var Mh=[F_a,Cq];var Nh=[G_a,Bq];var Oh=[H_a,zua,Aq,H_a];var Ph=[I_a,xua,gp,$q,eC,I_a,I_a,I_a];var Qh=[J_a,Bsa,fp,_q,dC,J_a,J_a,J_a];var Rh=[K_a,Xw];var Sh=[L_a,ED,FD,GD,HD,ID,JD,KD,LD,MD,ND,bF,CR,wR,iV,jV,kV,lV,mV,nV,oV,pV,qV,rV,sV,tV,M$,I$,E$,A$,w$,s$,o$,k$,g$,c$,O6,K6,G6,C6,y6,u6,q6,m6,i6,e6,yga,zga,Aga,Bga,Cga,Dga,Ega,wia,Uia,Zia,cja,hja,mja,rja,wja,Bja,Gja,Lja,Tja,Rja,$ja,Zja,hxa,zRa,IRa,dSa,Mt,rw,fl,kl,nl,Ew,El,Nw,Kl,Tw,Yl,dx,am,hx,ix,sx,xm,Lm,Bx,Om,Rm,$m,Nx,hn,Vx,pn,wn,ay,zn,Ay,fo,Cy,po,My,uo,Ry,Lo,cp,iz,tp,vp,zp,oz,Ip,Sp,Zp,Bz,cq,Fz,gq,mq,Kz,Mz,sq,Qz,lA,SB,kr,UC,TC,x1,w1,z1,y1,B1,A1,C1,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a,L_a];var Th=[M_a,qw,el,Ml,vn,oq,kA,RB,jr,M_a,M_a,M_a,M_a,M_a,M_a,M_a];var Uh=[N_a,pw,dl,N_a];var Vh=[O_a,ow,cl,O_a];var Wh=[P_a,wx,un,hz,jA,QB,ir,P_a];var Xh=[Q_a,Cua,gz,iA,PB,hr,Q_a,Q_a];var Yh=[R_a,hA];var Zh=[S_a,gA];var _h=[T_a,fA];var $h=[U_a,fz,OB,gr];var ai=[V_a,ez,NB,fr];var bi=[W_a,Csa,er,W_a];var ci=[X_a,IC,JC,KC,LC,MC,NC,OC,BC,CC,DC,EC,FC,GC,HC,tX,kY,lY,mY,nY,e1,Z0,T0,N0,H0,B0,v0,p0,j0,d0,Z$,S$,$3,a4,b4,c4,d4,B7,x7,t7,p7,l7,h7,d7,$6,X6,T6,Dka,Bka,Kka,Ika,Rka,Pka,Yka,Wka,ela,cla,lla,jla,sla,qla,zla,xla,Gla,Ela,Nla,Lla,Vla,Tla,Yla,ema,cma,hma,lma,wua,Bua,WFa,mGa,kNa,pNa,yRa,HRa,cSa,ww,jl,Dw,Mw,Jl,Sw,Ql,Xl,cx,$l,gx,Km,Ax,Qm,Dx,_m,Mx,Ux,on,$x,yn,cy,Yn,oo,Ly,Oy,Ko,sp,yp,nz,Hp,sz,Az,bq,Ez,fq,lq,Jz,Pz,bC,RC,QC,X_a,X_a,X_a];var di=[Y_a,vw,il,Uw,_x,Gp,Lz,aC];var ei=[Z_a,uw,hl,Z_a];var fi=[__a,tw,gl,__a];var gi=[$_a,Zx,Fp,$B];var hi=[a$a,_B];var ii=[b$a,ZB];var ji=[c$a,YB];var ki=[d$a,XB];var li=[e$a,bV,cV,dV,eV,fV,gV,hV,M3,N3,O3,P3,Q3,S7,X7,a8,f8,k8,p8,u8,z8,E8,J8,tga,uga,vga,wga,xga,oga,pga,qga,rga,sga,jga,kga,lga,mga,nga,Zma,cna,hna,mna,rna,wna,Bna,Gna,Lna,Qna,Vna,_na,doa,kua,jva,Aw,Il,Rw,Pl,Ww,Wl,bx,_l,fx,um,Jm,zx,Cx,Zm,Lx,ln,nn,by,Xn,wy,no,Ky,Jo,Xy,rp,xp,mz,rz,aq,Dz,eq,kq,Iz,q1,p1,s1,r1,u1,t1,v1,e$a,e$a,e$a,e$a,e$a,e$a,e$a,e$a,e$a,e$a,e$a,e$a,e$a,e$a,e$a,e$a,e$a,e$a,e$a,e$a,e$a,e$a,e$a,e$a,e$a,e$a,e$a,e$a,e$a,e$a,e$a,e$a,e$a,e$a,e$a];var mi=[f$a,zw,qz,f$a];var ni=[g$a,yw];var oi=[h$a,xw,xC,uC,vC,wC,h$a,h$a];var pi=[i$a,pz];var qi=[j$a,UL,VL,WL,XL,YL,ZL,_L,$L,aM,bM,IN,JN,KN,LN,MN,NN,ON,PN,QN,RN,SN,TN,UN,VN,WN,XN,YN,ZN,_N,$N,aO,bO,cO,dO,eO,fO,gO,hO,iO,jO,kO,lO,mO,nO,oO,pO,qO,rO,sO,tO,uO,vO,wO,xO,yO,zO,EO,FO,rP,sP,tP,uP,vP,wP,xP,KS,LS,MS,NS,OS,PS,QS,RS,SS,TS,US,VS,WS,XS,YS,ZS,_S,$S,aT,bT,cT,dT,eT,fT,gT,hT,iT,jT,kT,lT,mT,nT,oT,pT,qT,rT,sT,tT,uT,vT,wT,xT,yT,zT,AT,BT,CT,DT,ET,GT,HT,IT,JT,KT,LT,MT,Qw,Vw,Vl,ax,ex,tm,vx,yx,Ym,Kx,Xx,vy,bo,Jy,Io,Wy,lz,Cz,jq,Hz,wq,dM,H5,G5,J5,I5,L5,K5,N5,M5,P5,O5,u5,t5,w5,v5,y5,x5,A5,z5,C5,B5,h5,g5,j5,i5,l5,k5,n5,m5,p5,o5,W4,V4,Y4,X4,_4,Z4,a5,$4,c5,b5,J4,I4,L4,K4,N4,M4,P4,O4,R4,Q4,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a,j$a];var ri=[k$a,jH,kH,lH,mH,nH,oH,pH,xH,yH,zH,AH,BH,CH,DH,OH,PH,QH,RH,SH,TH,UH,bI,cI,dI,eI,fI,gI,hI,qI,rI,sI,tI,uI,vI,wI,FI,GI,HI,II,JI,KI,LI,NI,OI,PI,QI,RI,SI,TI,VI,WI,XI,YI,ZI,_I,$I,bJ,cJ,dJ,eJ,fJ,gJ,hJ,jJ,kJ,lJ,mJ,nJ,oJ,pJ,rJ,sJ,tJ,uJ,vJ,wJ,xJ,d3,e3,f3,g3,h3,w2,x2,y2,z2,A2,U1,V1,W1,X1,Y1,Ul,$w,ux,Xm,Jx,By,Vy,Gz,Tz,tC,qC,rC,sC,aH,dH,fH,hH,k$a,k$a,k$a,k$a,k$a,k$a,k$a,k$a,k$a,k$a,k$a,k$a,k$a,k$a,k$a,k$a,k$a,k$a];var si=[l$a,D4,E4,F4,G4,H4,l$a,l$a];var ti=[m$a,GO,Tl,_w,Ix,m$a,m$a,m$a];var ui=[n$a,Sl];var vi=[o$a,pC,mC,nC,oC,o$a,o$a,o$a];var wi=[p$a,Zw];var xi=[q$a,Yw];return{__GLOBAL__I_000101:qHa,__GLOBAL__sub_I_bind_cpp:VBa,__GLOBAL__sub_I_bindings_cpp:jC,__GLOBAL__sub_I_color_lab_cpp:$pa,__GLOBAL__sub_I_dictionary_cpp:hza,__GLOBAL__sub_I_haar_cpp:Qta,__GLOBAL__sub_I_histogram_cpp:Rda,__GLOBAL__sub_I_hog_cpp:Uua,__GLOBAL__sub_I_imgwarp_cpp:ega,__GLOBAL__sub_I_iostream_cpp:rHa,__GLOBAL__sub_I_kmeans_cpp:vW,__GLOBAL__sub_I_persistence_types_cpp:d_,__GLOBAL__sub_I_system_cpp:MP,__GLOBAL__sub_I_umatrix_cpp:eN,___cxa_can_catch:nVa,___cxa_demangle:iSa,___cxa_is_pointer_type:oVa,___divdi3:uVa,___errno_location:iCa,___getTypeName:XBa,___muldi3:wVa,___udivdi3:xVa,___uremdi3:yVa,_bitshift64Ashr:zVa,_bitshift64Lshr:AVa,_bitshift64Shl:BVa,_emscripten_replace_memory:If,_free:ZBa,_i64Add:qVa,_i64Subtract:rVa,_llvm_bswap_i32:CVa,_malloc:YBa,_memcpy:DVa,_memmove:EVa,_memset:FVa,_pthread_cond_broadcast:GVa,_pthread_mutex_lock:HVa,_pthread_mutex_unlock:IVa,_rintf:KVa,_sbrk:LVa,dynCall_di:MVa,dynCall_dii:NVa,dynCall_diiddi:OVa,dynCall_diii:PVa,dynCall_diiid:QVa,dynCall_diiiddi:RVa,dynCall_diiii:SVa,dynCall_diiiid:TVa,dynCall_diiiii:UVa,dynCall_diiiiii:VVa,dynCall_diiiiiii:WVa,dynCall_diiiiiiii:XVa,dynCall_i:YVa,dynCall_ii:ZVa,dynCall_iid:_Va,dynCall_iidi:$Va,dynCall_iii:aWa,dynCall_iiid:bWa,dynCall_iiidd:cWa,dynCall_iiidi:dWa,dynCall_iiii:eWa,dynCall_iiiid:fWa,dynCall_iiiii:gWa,dynCall_iiiiid:hWa,dynCall_iiiiii:iWa,dynCall_iiiiiid:jWa,dynCall_iiiiiidiididiii:kWa,dynCall_iiiiiii:lWa,dynCall_iiiiiiii:mWa,dynCall_iiiiiiiididiii:nWa,dynCall_iiiiiiiii:oWa,dynCall_iiiiiiiiiiiii:pWa,dynCall_v:qWa,dynCall_vdii:rWa,dynCall_vdiii:sWa,dynCall_vi:tWa,dynCall_vid:uWa,dynCall_vidi:vWa,dynCall_vididdi:wWa,dynCall_vididdii:xWa,dynCall_vidii:yWa,dynCall_vidiii:zWa,dynCall_vidiiii:AWa,dynCall_vidiiiii:BWa,dynCall_vii:CWa,dynCall_viid:DWa,dynCall_viidd:EWa,dynCall_viiddi:FWa,dynCall_viiddid:GWa,dynCall_viiddidd:HWa,dynCall_viiddiddd:IWa,dynCall_viiddidddd:JWa,dynCall_viiddii:KWa,dynCall_viiddiii:LWa,dynCall_viidi:MWa,dynCall_viididdi:NWa,dynCall_viididdii:OWa,dynCall_viididi:PWa,dynCall_viididii:QWa,dynCall_viidiiid:RWa,dynCall_viidiiii:SWa,dynCall_viidiiiii:TWa,dynCall_viii:UWa,dynCall_viiid:VWa,dynCall_viiidd:WWa,dynCall_viiiddd:XWa,dynCall_viiidddd:YWa,dynCall_viiiddddi:ZWa,dynCall_viiiddddii:_Wa,dynCall_viiidddi:$Wa,dynCall_viiidddii:aXa,dynCall_viiidddiii:bXa,dynCall_viiidddiiii:cXa,dynCall_viiiddi:dXa,dynCall_viiiddid:eXa,dynCall_viiiddidd:fXa,dynCall_viiiddiddd:gXa,dynCall_viiiddidddd:hXa,dynCall_viiiddii:iXa,dynCall_viiiddiii:jXa,dynCall_viiiddiiid:kXa,dynCall_viiiddiiii:lXa,dynCall_viiiddiiiid:mXa,dynCall_viiidi:nXa,dynCall_viiididi:oXa,dynCall_viiididii:pXa,dynCall_viiidii:qXa,dynCall_viiidiiddi:rXa,dynCall_viiidiii:sXa,dynCall_viiidiiid:tXa,dynCall_viiidiiii:uXa,dynCall_viiidiiiidi:vXa,dynCall_viiii:wXa,dynCall_viiiid:xXa,dynCall_viiiidd:yXa,dynCall_viiiiddd:zXa,dynCall_viiiidddd:AXa,dynCall_viiiiddddi:BXa,dynCall_viiiiddddii:CXa,dynCall_viiiidddi:DXa,dynCall_viiiidddii:EXa,dynCall_viiiidddiii:FXa,dynCall_viiiidddiiii:GXa,dynCall_viiiiddi:HXa,dynCall_viiiiddii:IXa,dynCall_viiiiddiii:JXa,dynCall_viiiiddiiid:KXa,dynCall_viiiiddiiii:LXa,dynCall_viiiiddiiiid:MXa,dynCall_viiiidi:NXa,dynCall_viiiidii:OXa,dynCall_viiiidiid:PXa,dynCall_viiiidiidd:QXa,dynCall_viiiidiiddi:RXa,dynCall_viiiidiii:SXa,dynCall_viiiidiiii:TXa,dynCall_viiiidiiiidi:UXa,dynCall_viiiii:VXa,dynCall_viiiiid:WXa,dynCall_viiiiidd:XXa,dynCall_viiiiiddi:YXa,dynCall_viiiiidi:ZXa,dynCall_viiiiidii:_Xa,dynCall_viiiiidiid:$Xa,dynCall_viiiiidiidd:aYa,dynCall_viiiiidiiddi:bYa,dynCall_viiiiidiii:cYa,dynCall_viiiiidiiii:dYa,dynCall_viiiiidiiiii:eYa,dynCall_viiiiii:fYa,dynCall_viiiiiid:gYa,dynCall_viiiiiidd:hYa,dynCall_viiiiiiddi:iYa,dynCall_viiiiiidi:jYa,dynCall_viiiiiidii:kYa,dynCall_viiiiiidiii:lYa,dynCall_viiiiiidiiii:mYa,dynCall_viiiiiidiiiii:nYa,dynCall_viiiiiii:oYa,dynCall_viiiiiiid:pYa,dynCall_viiiiiiidd:qYa,dynCall_viiiiiiiddi:rYa,dynCall_viiiiiiidi:sYa,dynCall_viiiiiiii:tYa,dynCall_viiiiiiiii:uYa,dynCall_viiiiiiiiidd:vYa,dynCall_viiiiiiiiii:wYa,dynCall_viiiiiiiiiid:xYa,dynCall_viiiiiiiiiiddi:yYa,dynCall_viiiiiiiiiii:zYa,dynCall_viiiiiiiiiiid:AYa,establishStackSpace:Bi,getTempRet0:Ei,runPostSets:pVa,setTempRet0:Di,setThrew:Ci,stackAlloc:yi,stackRestore:Ai,stackSave:zi}}) + + +// EMSCRIPTEN_END_ASM +(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var __GLOBAL__I_000101=Module["__GLOBAL__I_000101"]=asm["__GLOBAL__I_000101"];var __GLOBAL__sub_I_bind_cpp=Module["__GLOBAL__sub_I_bind_cpp"]=asm["__GLOBAL__sub_I_bind_cpp"];var __GLOBAL__sub_I_bindings_cpp=Module["__GLOBAL__sub_I_bindings_cpp"]=asm["__GLOBAL__sub_I_bindings_cpp"];var __GLOBAL__sub_I_color_lab_cpp=Module["__GLOBAL__sub_I_color_lab_cpp"]=asm["__GLOBAL__sub_I_color_lab_cpp"];var __GLOBAL__sub_I_dictionary_cpp=Module["__GLOBAL__sub_I_dictionary_cpp"]=asm["__GLOBAL__sub_I_dictionary_cpp"];var __GLOBAL__sub_I_haar_cpp=Module["__GLOBAL__sub_I_haar_cpp"]=asm["__GLOBAL__sub_I_haar_cpp"];var __GLOBAL__sub_I_histogram_cpp=Module["__GLOBAL__sub_I_histogram_cpp"]=asm["__GLOBAL__sub_I_histogram_cpp"];var __GLOBAL__sub_I_hog_cpp=Module["__GLOBAL__sub_I_hog_cpp"]=asm["__GLOBAL__sub_I_hog_cpp"];var __GLOBAL__sub_I_imgwarp_cpp=Module["__GLOBAL__sub_I_imgwarp_cpp"]=asm["__GLOBAL__sub_I_imgwarp_cpp"];var __GLOBAL__sub_I_iostream_cpp=Module["__GLOBAL__sub_I_iostream_cpp"]=asm["__GLOBAL__sub_I_iostream_cpp"];var __GLOBAL__sub_I_kmeans_cpp=Module["__GLOBAL__sub_I_kmeans_cpp"]=asm["__GLOBAL__sub_I_kmeans_cpp"];var __GLOBAL__sub_I_persistence_types_cpp=Module["__GLOBAL__sub_I_persistence_types_cpp"]=asm["__GLOBAL__sub_I_persistence_types_cpp"];var __GLOBAL__sub_I_system_cpp=Module["__GLOBAL__sub_I_system_cpp"]=asm["__GLOBAL__sub_I_system_cpp"];var __GLOBAL__sub_I_umatrix_cpp=Module["__GLOBAL__sub_I_umatrix_cpp"]=asm["__GLOBAL__sub_I_umatrix_cpp"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_demangle=Module["___cxa_demangle"]=asm["___cxa_demangle"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___divdi3=Module["___divdi3"]=asm["___divdi3"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___getTypeName=Module["___getTypeName"]=asm["___getTypeName"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _pthread_cond_broadcast=Module["_pthread_cond_broadcast"]=asm["_pthread_cond_broadcast"];var _pthread_mutex_lock=Module["_pthread_mutex_lock"]=asm["_pthread_mutex_lock"];var _pthread_mutex_unlock=Module["_pthread_mutex_unlock"]=asm["_pthread_mutex_unlock"];var _rintf=Module["_rintf"]=asm["_rintf"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var setThrew=Module["setThrew"]=asm["setThrew"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_di=Module["dynCall_di"]=asm["dynCall_di"];var dynCall_dii=Module["dynCall_dii"]=asm["dynCall_dii"];var dynCall_diiddi=Module["dynCall_diiddi"]=asm["dynCall_diiddi"];var dynCall_diii=Module["dynCall_diii"]=asm["dynCall_diii"];var dynCall_diiid=Module["dynCall_diiid"]=asm["dynCall_diiid"];var dynCall_diiiddi=Module["dynCall_diiiddi"]=asm["dynCall_diiiddi"];var dynCall_diiii=Module["dynCall_diiii"]=asm["dynCall_diiii"];var dynCall_diiiid=Module["dynCall_diiiid"]=asm["dynCall_diiiid"];var dynCall_diiiii=Module["dynCall_diiiii"]=asm["dynCall_diiiii"];var dynCall_diiiiii=Module["dynCall_diiiiii"]=asm["dynCall_diiiiii"];var dynCall_diiiiiii=Module["dynCall_diiiiiii"]=asm["dynCall_diiiiiii"];var dynCall_diiiiiiii=Module["dynCall_diiiiiiii"]=asm["dynCall_diiiiiiii"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iid=Module["dynCall_iid"]=asm["dynCall_iid"];var dynCall_iidi=Module["dynCall_iidi"]=asm["dynCall_iidi"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiid=Module["dynCall_iiid"]=asm["dynCall_iiid"];var dynCall_iiidd=Module["dynCall_iiidd"]=asm["dynCall_iiidd"];var dynCall_iiidi=Module["dynCall_iiidi"]=asm["dynCall_iiidi"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiid=Module["dynCall_iiiid"]=asm["dynCall_iiiid"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_iiiiid=Module["dynCall_iiiiid"]=asm["dynCall_iiiiid"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_iiiiiid=Module["dynCall_iiiiiid"]=asm["dynCall_iiiiiid"];var dynCall_iiiiiidiididiii=Module["dynCall_iiiiiidiididiii"]=asm["dynCall_iiiiiidiididiii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=asm["dynCall_iiiiiiii"];var dynCall_iiiiiiiididiii=Module["dynCall_iiiiiiiididiii"]=asm["dynCall_iiiiiiiididiii"];var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=asm["dynCall_iiiiiiiii"];var dynCall_iiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiii"]=asm["dynCall_iiiiiiiiiiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vdii=Module["dynCall_vdii"]=asm["dynCall_vdii"];var dynCall_vdiii=Module["dynCall_vdiii"]=asm["dynCall_vdiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vid=Module["dynCall_vid"]=asm["dynCall_vid"];var dynCall_vidi=Module["dynCall_vidi"]=asm["dynCall_vidi"];var dynCall_vididdi=Module["dynCall_vididdi"]=asm["dynCall_vididdi"];var dynCall_vididdii=Module["dynCall_vididdii"]=asm["dynCall_vididdii"];var dynCall_vidii=Module["dynCall_vidii"]=asm["dynCall_vidii"];var dynCall_vidiii=Module["dynCall_vidiii"]=asm["dynCall_vidiii"];var dynCall_vidiiii=Module["dynCall_vidiiii"]=asm["dynCall_vidiiii"];var dynCall_vidiiiii=Module["dynCall_vidiiiii"]=asm["dynCall_vidiiiii"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viid=Module["dynCall_viid"]=asm["dynCall_viid"];var dynCall_viidd=Module["dynCall_viidd"]=asm["dynCall_viidd"];var dynCall_viiddi=Module["dynCall_viiddi"]=asm["dynCall_viiddi"];var dynCall_viiddid=Module["dynCall_viiddid"]=asm["dynCall_viiddid"];var dynCall_viiddidd=Module["dynCall_viiddidd"]=asm["dynCall_viiddidd"];var dynCall_viiddiddd=Module["dynCall_viiddiddd"]=asm["dynCall_viiddiddd"];var dynCall_viiddidddd=Module["dynCall_viiddidddd"]=asm["dynCall_viiddidddd"];var dynCall_viiddii=Module["dynCall_viiddii"]=asm["dynCall_viiddii"];var dynCall_viiddiii=Module["dynCall_viiddiii"]=asm["dynCall_viiddiii"];var dynCall_viidi=Module["dynCall_viidi"]=asm["dynCall_viidi"];var dynCall_viididdi=Module["dynCall_viididdi"]=asm["dynCall_viididdi"];var dynCall_viididdii=Module["dynCall_viididdii"]=asm["dynCall_viididdii"];var dynCall_viididi=Module["dynCall_viididi"]=asm["dynCall_viididi"];var dynCall_viididii=Module["dynCall_viididii"]=asm["dynCall_viididii"];var dynCall_viidiiid=Module["dynCall_viidiiid"]=asm["dynCall_viidiiid"];var dynCall_viidiiii=Module["dynCall_viidiiii"]=asm["dynCall_viidiiii"];var dynCall_viidiiiii=Module["dynCall_viidiiiii"]=asm["dynCall_viidiiiii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiid=Module["dynCall_viiid"]=asm["dynCall_viiid"];var dynCall_viiidd=Module["dynCall_viiidd"]=asm["dynCall_viiidd"];var dynCall_viiiddd=Module["dynCall_viiiddd"]=asm["dynCall_viiiddd"];var dynCall_viiidddd=Module["dynCall_viiidddd"]=asm["dynCall_viiidddd"];var dynCall_viiiddddi=Module["dynCall_viiiddddi"]=asm["dynCall_viiiddddi"];var dynCall_viiiddddii=Module["dynCall_viiiddddii"]=asm["dynCall_viiiddddii"];var dynCall_viiidddi=Module["dynCall_viiidddi"]=asm["dynCall_viiidddi"];var dynCall_viiidddii=Module["dynCall_viiidddii"]=asm["dynCall_viiidddii"];var dynCall_viiidddiii=Module["dynCall_viiidddiii"]=asm["dynCall_viiidddiii"];var dynCall_viiidddiiii=Module["dynCall_viiidddiiii"]=asm["dynCall_viiidddiiii"];var dynCall_viiiddi=Module["dynCall_viiiddi"]=asm["dynCall_viiiddi"];var dynCall_viiiddid=Module["dynCall_viiiddid"]=asm["dynCall_viiiddid"];var dynCall_viiiddidd=Module["dynCall_viiiddidd"]=asm["dynCall_viiiddidd"];var dynCall_viiiddiddd=Module["dynCall_viiiddiddd"]=asm["dynCall_viiiddiddd"];var dynCall_viiiddidddd=Module["dynCall_viiiddidddd"]=asm["dynCall_viiiddidddd"];var dynCall_viiiddii=Module["dynCall_viiiddii"]=asm["dynCall_viiiddii"];var dynCall_viiiddiii=Module["dynCall_viiiddiii"]=asm["dynCall_viiiddiii"];var dynCall_viiiddiiid=Module["dynCall_viiiddiiid"]=asm["dynCall_viiiddiiid"];var dynCall_viiiddiiii=Module["dynCall_viiiddiiii"]=asm["dynCall_viiiddiiii"];var dynCall_viiiddiiiid=Module["dynCall_viiiddiiiid"]=asm["dynCall_viiiddiiiid"];var dynCall_viiidi=Module["dynCall_viiidi"]=asm["dynCall_viiidi"];var dynCall_viiididi=Module["dynCall_viiididi"]=asm["dynCall_viiididi"];var dynCall_viiididii=Module["dynCall_viiididii"]=asm["dynCall_viiididii"];var dynCall_viiidii=Module["dynCall_viiidii"]=asm["dynCall_viiidii"];var dynCall_viiidiiddi=Module["dynCall_viiidiiddi"]=asm["dynCall_viiidiiddi"];var dynCall_viiidiii=Module["dynCall_viiidiii"]=asm["dynCall_viiidiii"];var dynCall_viiidiiid=Module["dynCall_viiidiiid"]=asm["dynCall_viiidiiid"];var dynCall_viiidiiii=Module["dynCall_viiidiiii"]=asm["dynCall_viiidiiii"];var dynCall_viiidiiiidi=Module["dynCall_viiidiiiidi"]=asm["dynCall_viiidiiiidi"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiid=Module["dynCall_viiiid"]=asm["dynCall_viiiid"];var dynCall_viiiidd=Module["dynCall_viiiidd"]=asm["dynCall_viiiidd"];var dynCall_viiiiddd=Module["dynCall_viiiiddd"]=asm["dynCall_viiiiddd"];var dynCall_viiiidddd=Module["dynCall_viiiidddd"]=asm["dynCall_viiiidddd"];var dynCall_viiiiddddi=Module["dynCall_viiiiddddi"]=asm["dynCall_viiiiddddi"];var dynCall_viiiiddddii=Module["dynCall_viiiiddddii"]=asm["dynCall_viiiiddddii"];var dynCall_viiiidddi=Module["dynCall_viiiidddi"]=asm["dynCall_viiiidddi"];var dynCall_viiiidddii=Module["dynCall_viiiidddii"]=asm["dynCall_viiiidddii"];var dynCall_viiiidddiii=Module["dynCall_viiiidddiii"]=asm["dynCall_viiiidddiii"];var dynCall_viiiidddiiii=Module["dynCall_viiiidddiiii"]=asm["dynCall_viiiidddiiii"];var dynCall_viiiiddi=Module["dynCall_viiiiddi"]=asm["dynCall_viiiiddi"];var dynCall_viiiiddii=Module["dynCall_viiiiddii"]=asm["dynCall_viiiiddii"];var dynCall_viiiiddiii=Module["dynCall_viiiiddiii"]=asm["dynCall_viiiiddiii"];var dynCall_viiiiddiiid=Module["dynCall_viiiiddiiid"]=asm["dynCall_viiiiddiiid"];var dynCall_viiiiddiiii=Module["dynCall_viiiiddiiii"]=asm["dynCall_viiiiddiiii"];var dynCall_viiiiddiiiid=Module["dynCall_viiiiddiiiid"]=asm["dynCall_viiiiddiiiid"];var dynCall_viiiidi=Module["dynCall_viiiidi"]=asm["dynCall_viiiidi"];var dynCall_viiiidii=Module["dynCall_viiiidii"]=asm["dynCall_viiiidii"];var dynCall_viiiidiid=Module["dynCall_viiiidiid"]=asm["dynCall_viiiidiid"];var dynCall_viiiidiidd=Module["dynCall_viiiidiidd"]=asm["dynCall_viiiidiidd"];var dynCall_viiiidiiddi=Module["dynCall_viiiidiiddi"]=asm["dynCall_viiiidiiddi"];var dynCall_viiiidiii=Module["dynCall_viiiidiii"]=asm["dynCall_viiiidiii"];var dynCall_viiiidiiii=Module["dynCall_viiiidiiii"]=asm["dynCall_viiiidiiii"];var dynCall_viiiidiiiidi=Module["dynCall_viiiidiiiidi"]=asm["dynCall_viiiidiiiidi"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiid=Module["dynCall_viiiiid"]=asm["dynCall_viiiiid"];var dynCall_viiiiidd=Module["dynCall_viiiiidd"]=asm["dynCall_viiiiidd"];var dynCall_viiiiiddi=Module["dynCall_viiiiiddi"]=asm["dynCall_viiiiiddi"];var dynCall_viiiiidi=Module["dynCall_viiiiidi"]=asm["dynCall_viiiiidi"];var dynCall_viiiiidii=Module["dynCall_viiiiidii"]=asm["dynCall_viiiiidii"];var dynCall_viiiiidiid=Module["dynCall_viiiiidiid"]=asm["dynCall_viiiiidiid"];var dynCall_viiiiidiidd=Module["dynCall_viiiiidiidd"]=asm["dynCall_viiiiidiidd"];var dynCall_viiiiidiiddi=Module["dynCall_viiiiidiiddi"]=asm["dynCall_viiiiidiiddi"];var dynCall_viiiiidiii=Module["dynCall_viiiiidiii"]=asm["dynCall_viiiiidiii"];var dynCall_viiiiidiiii=Module["dynCall_viiiiidiiii"]=asm["dynCall_viiiiidiiii"];var dynCall_viiiiidiiiii=Module["dynCall_viiiiidiiiii"]=asm["dynCall_viiiiidiiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_viiiiiid=Module["dynCall_viiiiiid"]=asm["dynCall_viiiiiid"];var dynCall_viiiiiidd=Module["dynCall_viiiiiidd"]=asm["dynCall_viiiiiidd"];var dynCall_viiiiiiddi=Module["dynCall_viiiiiiddi"]=asm["dynCall_viiiiiiddi"];var dynCall_viiiiiidi=Module["dynCall_viiiiiidi"]=asm["dynCall_viiiiiidi"];var dynCall_viiiiiidii=Module["dynCall_viiiiiidii"]=asm["dynCall_viiiiiidii"];var dynCall_viiiiiidiii=Module["dynCall_viiiiiidiii"]=asm["dynCall_viiiiiidiii"];var dynCall_viiiiiidiiii=Module["dynCall_viiiiiidiiii"]=asm["dynCall_viiiiiidiiii"];var dynCall_viiiiiidiiiii=Module["dynCall_viiiiiidiiiii"]=asm["dynCall_viiiiiidiiiii"];var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=asm["dynCall_viiiiiii"];var dynCall_viiiiiiid=Module["dynCall_viiiiiiid"]=asm["dynCall_viiiiiiid"];var dynCall_viiiiiiidd=Module["dynCall_viiiiiiidd"]=asm["dynCall_viiiiiiidd"];var dynCall_viiiiiiiddi=Module["dynCall_viiiiiiiddi"]=asm["dynCall_viiiiiiiddi"];var dynCall_viiiiiiidi=Module["dynCall_viiiiiiidi"]=asm["dynCall_viiiiiiidi"];var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=asm["dynCall_viiiiiiii"];var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=asm["dynCall_viiiiiiiii"];var dynCall_viiiiiiiiidd=Module["dynCall_viiiiiiiiidd"]=asm["dynCall_viiiiiiiiidd"];var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=asm["dynCall_viiiiiiiiii"];var dynCall_viiiiiiiiiid=Module["dynCall_viiiiiiiiiid"]=asm["dynCall_viiiiiiiiiid"];var dynCall_viiiiiiiiiiddi=Module["dynCall_viiiiiiiiiiddi"]=asm["dynCall_viiiiiiiiiiddi"];var dynCall_viiiiiiiiiii=Module["dynCall_viiiiiiiiiii"]=asm["dynCall_viiiiiiiiiii"];var dynCall_viiiiiiiiiiid=Module["dynCall_viiiiiiiiiiid"]=asm["dynCall_viiiiiiiiiiid"];Module["asm"]=asm;Module["getMemory"]=getMemory;Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;if(memoryInitializer){if(!isDataURI(memoryInitializer)){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}Module["then"]=(function(func){if(Module["calledRun"]){func(Module)}else{var old=Module["onRuntimeInitialized"];Module["onRuntimeInitialized"]=(function(){if(old)old();func(Module)})}return Module});function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}Module["noExitRuntime"]=true;run();Module["imread"]=(function(imageSource){var img=null;if(typeof imageSource==="string"){img=document.getElementById(imageSource)}else{img=imageSource}var canvas=null;var ctx=null;if(img instanceof HTMLImageElement){canvas=document.createElement("canvas");canvas.width=img.width;canvas.height=img.height;ctx=canvas.getContext("2d");ctx.drawImage(img,0,0,img.width,img.height)}else if(img instanceof HTMLCanvasElement){canvas=img;ctx=canvas.getContext("2d")}else{throw new Error("Please input the valid canvas or img id.");return}var imgData=ctx.getImageData(0,0,canvas.width,canvas.height);return cv.matFromImageData(imgData)});Module["imshow"]=(function(canvasSource,mat){var canvas=null;if(typeof canvasSource==="string"){canvas=document.getElementById(canvasSource)}else{canvas=canvasSource}if(!(canvas instanceof HTMLCanvasElement)){throw new Error("Please input the valid canvas element or id.");return}if(!(mat instanceof cv.Mat)){throw new Error("Please input the valid cv.Mat instance.");return}var img=new cv.Mat;var depth=mat.type()%8;var scale=depth<=cv.CV_8S?1:depth<=cv.CV_32S?1/256:255;var shift=depth===cv.CV_8S||depth===cv.CV_16S?128:0;mat.convertTo(img,cv.CV_8U,scale,shift);switch(img.type()){case cv.CV_8UC1:cv.cvtColor(img,img,cv.COLOR_GRAY2RGBA);break;case cv.CV_8UC3:cv.cvtColor(img,img,cv.COLOR_RGB2RGBA);break;case cv.CV_8UC4:break;default:throw new Error("Bad number of channels (Source image must have 1, 3 or 4 channels)");return}var imgData=new ImageData(new Uint8ClampedArray(img.data),img.cols,img.rows);var ctx=canvas.getContext("2d");ctx.clearRect(0,0,canvas.width,canvas.height);canvas.width=imgData.width;canvas.height=imgData.height;ctx.putImageData(imgData,0,0);img.delete()});Module["VideoCapture"]=(function(videoSource){var video=null;if(typeof videoSource==="string"){video=document.getElementById(videoSource)}else{video=videoSource}if(!(video instanceof HTMLVideoElement)){throw new Error("Please input the valid video element or id.");return}var canvas=document.createElement("canvas");canvas.width=video.width;canvas.height=video.height;var ctx=canvas.getContext("2d");this.video=video;this.read=(function(frame){if(!(frame instanceof cv.Mat)){throw new Error("Please input the valid cv.Mat instance.");return}if(frame.type()!==cv.CV_8UC4){throw new Error("Bad type of input mat: the type should be cv.CV_8UC4.");return}if(frame.cols!==video.width||frame.rows!==video.height){throw new Error("Bad size of input mat: the size should be same as the video.");return}ctx.drawImage(video,0,0,video.width,video.height);frame.data.set(ctx.getImageData(0,0,video.width,video.height).data)})});function Range(start,end){this.start=typeof start==="undefined"?0:start;this.end=typeof end==="undefined"?0:end}Module["Range"]=Range;function Point(x,y){this.x=typeof x==="undefined"?0:x;this.y=typeof y==="undefined"?0:y}Module["Point"]=Point;function Size(width,height){this.width=typeof width==="undefined"?0:width;this.height=typeof height==="undefined"?0:height}Module["Size"]=Size;function Rect(){switch(arguments.length){case 0:{this.x=0;this.y=0;this.width=0;this.height=0;break};case 1:{var rect=arguments[0];this.x=rect.x;this.y=rect.y;this.width=rect.width;this.height=rect.height;break};case 2:{var point=arguments[0];var size=arguments[1];this.x=point.x;this.y=point.y;this.width=size.width;this.height=size.height;break};case 4:{this.x=arguments[0];this.y=arguments[1];this.width=arguments[2];this.height=arguments[3];break};default:{throw new Error("Invalid arguments")}}}Module["Rect"]=Rect;function RotatedRect(){switch(arguments.length){case 0:{this.center={x:0,y:0};this.size={width:0,height:0};this.angle=0;break};case 3:{this.center=arguments[0];this.size=arguments[1];this.angle=arguments[2];break};default:{throw new Error("Invalid arguments")}}}RotatedRect.points=(function(obj){return Module.rotatedRectPoints(obj)});RotatedRect.boundingRect=(function(obj){return Module.rotatedRectBoundingRect(obj)});RotatedRect.boundingRect2f=(function(obj){return Module.rotatedRectBoundingRect2f(obj)});Module["RotatedRect"]=RotatedRect;function Scalar(v0,v1,v2,v3){this.push(typeof v0==="undefined"?0:v0);this.push(typeof v1==="undefined"?0:v1);this.push(typeof v2==="undefined"?0:v2);this.push(typeof v3==="undefined"?0:v3)}Scalar.prototype=new Array;Scalar.all=(function(v){return new Scalar(v,v,v,v)});Module["Scalar"]=Scalar;function MinMaxLoc(){switch(arguments.length){case 0:{this.minVal=0;this.maxVal=0;this.minLoc=new Point;this.maxLoc=new Point;break};case 4:{this.minVal=arguments[0];this.maxVal=arguments[1];this.minLoc=arguments[2];this.maxLoc=arguments[3];break};default:{throw new Error("Invalid arguments")}}}Module["MinMaxLoc"]=MinMaxLoc;function Circle(){switch(arguments.length){case 0:{this.center=new Point;this.radius=0;break};case 2:{this.center=arguments[0];this.radius=arguments[1];break};default:{throw new Error("Invalid arguments")}}}Module["Circle"]=Circle;function TermCriteria(){switch(arguments.length){case 0:{this.type=0;this.maxCount=0;this.epsilon=0;break};case 3:{this.type=arguments[0];this.maxCount=arguments[1];this.epsilon=arguments[2];break};default:{throw new Error("Invalid arguments")}}}Module["TermCriteria"]=TermCriteria;Module["matFromArray"]=(function(rows,cols,type,array){var mat=new cv.Mat(rows,cols,type);switch(type){case cv.CV_8U:case cv.CV_8UC1:case cv.CV_8UC2:case cv.CV_8UC3:case cv.CV_8UC4:{mat.data.set(array);break};case cv.CV_8S:case cv.CV_8SC1:case cv.CV_8SC2:case cv.CV_8SC3:case cv.CV_8SC4:{mat.data8S.set(array);break};case cv.CV_16U:case cv.CV_16UC1:case cv.CV_16UC2:case cv.CV_16UC3:case cv.CV_16UC4:{mat.data16U.set(array);break};case cv.CV_16S:case cv.CV_16SC1:case cv.CV_16SC2:case cv.CV_16SC3:case cv.CV_16SC4:{mat.data16S.set(array);break};case cv.CV_32S:case cv.CV_32SC1:case cv.CV_32SC2:case cv.CV_32SC3:case cv.CV_32SC4:{mat.data32S.set(array);break};case cv.CV_32F:case cv.CV_32FC1:case cv.CV_32FC2:case cv.CV_32FC3:case cv.CV_32FC4:{mat.data32F.set(array);break};case cv.CV_64F:case cv.CV_64FC1:case cv.CV_64FC2:case cv.CV_64FC3:case cv.CV_64FC4:{mat.data64F.set(array);break};default:{throw new Error("Type is unsupported")}}return mat});Module["matFromImageData"]=(function(imageData){var mat=new cv.Mat(imageData.height,imageData.width,cv.CV_8UC4);mat.data.set(imageData.data);return mat}) + + + + + + + return cv; +}; +if (typeof exports === 'object' && typeof module === 'object') + module.exports = cv; +else if (typeof define === 'function' && define['amd']) + define([], function() { return cv; }); +else if (typeof exports === 'object') + exports["cv"] = cv; + + if (typeof Module === 'undefined') + Module = {}; + return cv(Module); +})); + \ No newline at end of file diff --git a/dist/soundfont/acoustic_grand_piano-mp3.js b/dist/soundfont/acoustic_grand_piano-mp3.js new file mode 100644 index 0000000000000000000000000000000000000000..c059cb6ecefa8398026ae9db475af4b1cfae35de --- /dev/null +++ b/dist/soundfont/acoustic_grand_piano-mp3.js @@ -0,0 +1,93 @@ +if (typeof MIDI === 'undefined') var MIDI = {}; +if (typeof MIDI.Soundfont === 'undefined') MIDI.Soundfont = {}; +MIDI.Soundfont.acoustic_grand_piano = { + A0: 'data:audio/mpeg;base64,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Mw0KCQICYnM3X3B+ukyVjw3/+xBEmo/wjwlUgekoSg9BKjA9JwlCCBlWBjEiaDkEqUDEiFTxMSICQTIxNt7jProHwkEZbUKS5AgUalEwU1raJmchG0+Ki4IQYalBYUWofATbEIbLNkYTQkbrDQ1pR1BNWYi9CfTj/f/7EEScj/CHCVSBiRC6DkEqQDDFFwH0JVIHpGEgOQTpAPMIXEmp4VxWqooO5RjcdQqPQsI2zU3jeWmP2icKtpRp1PSYIty7mL549i8QS4Mlyu5JSrDhRYewoaK0hIESg8afYKAUIQx9//sQRKAP8JEJ1QHpMJoPYTpAMGVDAgglUgekQSA9BKjA9JQkQ1tFKkkzK/R7rSTVT8Ll4qCdVCSzOJk0DbOHRMu+3iqCtASEoMQ4HYtrTZYfNnkqQbtIAAsMQ4HY3WlowPkxnmOLUhD/+xBEoY/wjAbUgeZgmA7hGjA9IxdCBB9UB7Bg4D8EqMD0jFSF6xqQeQjInMhROrPcq9s2HRbWEMYiBg8kHbq4k42bDbTQ8MAWRyAUo5iHhXEGvuqO9NMy8J22BaKiPCuYjooQTMMgSP/7EESjD/CICVUBhhBAEAE6MDEnJQIcGVQHpSJoPoSpAPSMVHg0RD7J5deh4YQpywlMyiDZIKJBxqnvHwwyqygL4hJECF4XNWQNSC8GdxxQIh6pDCryMTRCNCHw900sYxTIDgRaXbDJ//sQRKQP8IAI1QGJEEoOwSowPSUJAfAjVAYkQShBBKiAxhhUaEswQdw43iThj91bZrklQgbi7aYCNcGlWQ/DjaiRwl9iQwKyRJJdIEmTiTngqILQfl9aeGn4aO4tAD0zqUaLgAmVKy3/+xBEpo/whwlVAewwGA8BOjA8wSkCKCVSBjBBIDoE6QCTFJRi/oDJJiHKOoIcVww15SmQoVLKbzIYapkCn18pGYaS02Lv88AAVCopJUOBQS78grIKttoAAFCgIL4VTEFNRTMuOTlVVf/7EESoj/CGCVUB5hIIDmEqQD0iCQIQI1QGMEEgQASowJYYHFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQRKqP8IcI1IGGSAgPIRpAMMYBAiQjUgekwKg5hKkA9JhEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBErI/wiAlVAYkQuA8BKkAwwxUB/CNUB6RhIDsEqQD0jFRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EESvAACzCdQFPCAKFOE6IKeEAQSoM0gZhAAAeIZoAx5gAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQRJmP8IADTMckwAoI4Dp04YABwAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=', + A1: 'data:audio/mpeg;base64,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', + A2: 'data:audio/mpeg;base64,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', + A3: 'data:audio/mpeg;base64,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', + A4: 'data:audio/mpeg;base64,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', + A5: 'data:audio/mpeg;base64,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AAAAIJv4xF6gANEB9hLQAPD/+xBk7AMwngxUckBLGA0gys4AMCECYDNNyQEsYC2DKzgQQAzfAPAAAAXwCL/R4BwTwB4DRHryH9YWEldo2PSASDyAV9J4AJ3kOxXwDdngDgAAABbB48wetQWCJxcDjwDw/wDwAAAG1//7EGTuAzCcDFTyADMYDoDKvgQQAwIgMU/GgMxgL4MpOBA8xNYBmn6vAOC/APAZgi/l9s6AipNqWYjDgDg/gDQMHg3ATQ56VUxBTUVVVeAOCvAOAAAAJAveaPqBrDJdAY8AAPAA0AAA//sQZPCDsJIMVHIgSxgLwMreBA8HAjQxS8aA7GAcAyr4EDwcCHYwv6eANCMAN8VoMHzZtYNaiqMBHv8AANAA8Dag0fJq0A3r8A0AAAA0f0aZcWBgDUMAh/BL4dvv/B4AAACoZ/6ar2P/+xBk9wNw8wxOeaBLGA6Ayr4EDzECFDFPxoDMYCODazgQNAxQZKAewxGTV9+BgnfMnOntrLgKgAcDgcAAAAACKXIr2miO2PNDMDDUeBgkrUSMaIz4YVWkwMmecO/+ZyJqPhQC/JBR///7EGT1gTCmDFPyAEsYE4DJnQQQAwKYMT/ogSxgL4MquBBADCpIc/HnYjJjIeIgHgfjUDAUCgB+IMh2+15gMbATtUZidpKEMUjJwsLA2Fm4OWoZUB4RxzHojdMmhYbBqOJFmZm7+cJR//sQZPMDMJQMU/GgMxgOQOquBA0DAgwxT8aBLGArA2q4EDQMWQTGZmZc338SxLmo+AGvBUBB3+CoCDrv8qZDo1P/2DUsG0xBTUUzLjk5VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBE9wMwegbT8SBQGBHBip40A2MByDFRyABsYEKGKjigJYxVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGT5AzCcDNRxoEsYDGDK7gAKAwIYMU/IASxgLoMoeBAoDFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZPyDMJwMU/IAMxgOANrOBBADAkgxT8mBbGAyAyp4EGDEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk+wMwlAxUciBDGAxAyr4EGAcCODFJyIEsYCeDK3gQNBxVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EET/gACnDFP1NEAIGiGafqecAQdoQ0f5owBBio8ofzTASFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQRLsP8AAAf4cAAAgAAA/w4AABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=', + A6: 'data:audio/mpeg;base64,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VVVVVVVVVVVVVVVVVVVVVVX/+xBk7QHwgQxReOBAeAAAD/AAAAEB1DE544BBYAAAP8AAAARVVVVVVVVVoAAAAAsAAOAAAyDFf//+jAAAAI4WM///9KpMQU1FMy45Oaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/7EGTqh/B9DFF44Eh4AAAP8AAAAQFAMUXDgSHgAAA/wAAABKqqqqqqqqqqoAAAAAsAAOAAAyga///8rYAAAGIK///+qkxBTUUzLjk5qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sQZPGB8IQMUXjgSHgKYAoOAAABAZgxO+KBYeAAAD/AAAAEqqqqgAAAAAkAOKAAASgf/6kf+uwAAAACwAA4dLHf//+iTEFNRTMuOTmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqr/+xBk6wHwZwDQcOAACAAAD/AAAAEBtDFF44Eh4AAAP8AAAASqqqqqqqqwAAAADQAA4AADpUSN///6QALAJTcIX///8rVMQU1FMy45OVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGTtgfCBDFH4oEh4AAAP8AAAAQHsMT/igEEgAAA/wAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjk5VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZOyB8H0MUPigQHgAAA/wAAABAbQxOeOBIeAAAD/AAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk6gvwfwxReSAQeAAAD/AAAAEBJDFFw4Fh4AAAP8AAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGTqh/B8DFD4oBB4AAAP8AAAAQE0MUPEgMHgAAA/wAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZOoH8H0MUPigQHgAAA/wAAABARwxRcOAYeAAAD/AAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk7IHwggxO+KA4eAAAD/AAAAEBsDFF44DB4AAAP8AAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGTrC/CCDFF44Eh4AAAP8AAAAQFEMUHDAQHgAAA/wAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZN2P8AAAf4AAAAgAAA/wAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=', + A7: 'data:audio/mpeg;base64,//uQZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWGluZwAAAA8AAABwAAAvIQAEBgkLDRASFBkbHSAiJCYpLTAyNDY5Oz1CREZJS01QUlRZW11gYmRmaW1wcnR2eXt9goSGiYuNkJKUmZudoKKkpqmtsLK0trm7vcLExsnLzdDS1Nnb3eDi5Obp7fDy9Pb5+/0AAAA8TEFNRTMuOTkgBK8AAAAALRAAADUgJAUATQABzAAALyFn8aQCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//sQRAAAAAAAVAUAAAgFYBqloAABAmBzYBgTgABSDm3DAnAAACAH/8Mf6/XaPXPVzkZGT9DXqcQ8H3hC/+v1oyD1z1c5GRk/Q16jxDSD7wWu+Rl/yRQscO16taC0f9TGISaN+igtN+j/+xBEC4/wkBhUhwWgAhSjCwDhNABCPF9KAJXwwD6MK0ARPhiKFjh116taCzFvVqYxBvRvdxQOKcpkxB4JetqVb+dcgzbu+KnFOUyYgIN+3Vv78hJdVe5kJWZo60Zq4Hbz3b1dJeBZnf/7EEQJD/CWGFGAInwwEYMKkAQvTgJgYUQAiHDASwvpgDClOKabmhKzCtaPY687z0yMOQP52mZucxTQe09K4p3ssqzfaiVGQ1q3UV1wZw0HW8IWJvwmyf8tjJns4piCZH5kfGQXxyGO//sQRAYPMJcYUIAhMnASgxpADCpOAcRhRACEScg9jCmUILE8FbrScDDP0aQVhTJ4e8IcREb+VGFk/8DInp3xp/ytJ5zI+Q1v0okZhz2g9L+T2lxL/EI5frgKPO9nnualnR/mxNfyqAD/+xBkBo8wdhhSgCFCcBHjGjUIKIcCPGNEAIXpwEWMKAAgplDfpWsAHbnKm7fwwGv24PqYcgCKf8hkFqOHxiCxGeEpu1/DyOiNX+D/50qDMM1S5zXaxOgNkhzTy+pa64jEJc6cXzb2AP/7EEQGg/B3GFAAIUJyDeMKMAQrTgHUYUSghSngRIwoABCtOObNg5mvXs7xLKd0v5cGziBr/sks/6KFdYnP70rB4xIDpgLP56IIlwylD9zDsDL+taolHfW37Q6IJSPk2/4yqWbQrRmu//sQZAoP8JMYUIBBfDAKIvoABAcaQchhQgCJDwgsDCgAEClI5V/66/59ABVLrp8utYIl+RPT+peAx1a+8/b3rod/5lQJkZEbGT3l5mVi2aOYXwXLyQa//X5xE/97ASzzhmyBdLPaiNL/+xBkEQ/wgBhPgEEycAli+fAECpJCRGE+AQTSgDSL50AgqTkLnexSMt/lOxapC9Qn1/RAkq+X38AtOoC9ci7lxyNG9ilPL6A77ozXfT9f164AMfzXc1zwChn0Jk/fsD4h5+QQAABIhP/7EGQWjxB4F8+AIUJwCGL54AQHOAH8Xz4AhQnAMgwo7CAU7H9tv/9KAZ6q5o6MVKT9VpPdvRrLUHA69EADABHeiRNlau3/soCLW3Ruv+iDfrPL8eQfpbEYACEJXpPX/7f+IT6qChAA//sQZB6PEIMYzwAgOiAOgwn4BAU5AZxhPgEA1gA0DChsEB0cpiC6Vrt9Nvo6L9/UJJ/Q2IAAE2AKPwU/b2/rQAB7QRVIgxmlH26xrJ/T/1oAhvMA4hEPx6Oi/6/+mAc9vx8vvzT/0qH/+xBkJAMQlxhPwGBRmA9DGhsEBTkB/GFBAICgYDaMJ+AQHNxvRAUlARSJne+rq3+n/0wjoopRIz2p56lyI73/6ogZfT4GEH7/Vumk130/1wOMoKCQALP7n/6IF/MvwDNt+gI5/R99nf/7EEQmAxBHGE4AICyQDyL5+AgKNAHwYTsAgPIgOYwnlCAqgGRXrl/6sH9DS5o+X6+rcHevu9/62ARVZRvs/t9eVvT/WwQrQi96SpErf3v/ScBclAASABCfUlf+3/4FHoNTV/yNtvdv//sQRC0D8HEYT0AgRYgPownVCC0+AfhhNqCNUCgtjCeAICpA6ZoCU8cBQRR0bd2//e/gq5VBQtK/v7/fo9EsTwafrAQCABKIX9bX/9v+oZv2dgKbXef/mB+pmSX+9DM7CDwJFFf2/v3/+xBkMo8QYxhNgCBRsAyDCcgEBRsBgF80AYDjADGMJuAgMlTwEdXS4ARSLqT5/AVi9zR/8t4ZTGGAAGKAABBMsmv+ujf0xeRRAkf6q3/Q3/4TS6eAARCEFiim/9//iXWAYzJ/6/qmv//7EGQ7gxBrGM0AQE2ADcMJuAgKVQHsYTSihSngKwwnYCAWHOtAIF18AM8gKADnftyiLP9LEEAMCI25fZ/6YJvRBBEIM7832/0/7/CqoQpQAIWOFenqia9G/64FS7gYAAgiAAIIcV1d//sQZEKHEIUYTKhBWngPgvnMBAI5AZBjNKEBSOAvjCbkMAh0v6f/4ElEAEGhATfoi///0oAp/MAMBAdm5//9W6DK8ADiAAAUDePrO/uv/6hV7BAAAAEAAEAHnsG8MzyEBMze3d/5Lf//+xBkSAMQYhjNAGA4sAxgOcgMQgEBcGE1AQDtIDEL5qAgCsS74QL+YYYwU3y9f+L/TDewAAAQRAAECayyf0//g3ogAqACAdFjf527dP/4HfwBh1/8Ev7zzIQIDZbTpi71+/99/+oIOf/7EGRRgxCBGE1AoDyYD8MJvAgCOQGsYTUDgOcgLgwmoFAOVPMM8pAAMDMWhev+q/8//0wnOgEAAAGQAAwr5af/wv8woDArN2//z8BXjAAIgCKf+EWSQAAUZAACgKfaRn/s//xBYAAA//sQZFcBEHoYTkhgONgLAvncBAZPAeRfOSEA9iguC+agEB5MAAwAAQAY5P4fzDPCCRQt+vr/vTheiBhIham0AAAUBgADCDv//+peEFEFAAAYDgR35/rrxA1ABAMv8B/PyEFhi8laQPX/+xBEXocQdBhO4MAQ6A7DCaggBTkAwGE1AQDJ4EYL5qSAlH2wAAAAAQAAAMEf/oAkDAcAEIAAoQEl7/brt/+AkABBIH/wMzkEAQFAcSM6bf2wdrQAAABBAAAAkfT//BbaIAAKAgAAof/7EGRmB1COGEzJITgoDIL5rAgFPQFYYTcCgLKgHgvmrCAJPIUmq//6eAMYAAQIa/wlGGwwAOQFA0cXYr9vf/pgubAAAAAGAAMECf4NpGwIAAQDAYDzSvq2FeAAAIAMA///8pGG2wAA//sQZG+BcH8XzuBgOcgL4vmcFAJPAYBfNwEA8qAUASagMYgGgYHKHaGTLWoIFbAAAAABAAAAUUX/Cd0gFAAgQAAANAcDkxt/tp//CPwAMBgZ/8BHlEAxBgqD8a6af/wEoFAAAAFAAAD/+xBEewVQcRfO4EA8qAzDCZgcB3kAvF83AICp8CML5qAgHXQgN9eGmtFAAAEDAAAEAGNN/3HdP/hO2AAQJv///K0AAOBEYbKX3bCV1ZAAAAABAAAAmf+GtFgoAAYAAaE5UtnX7tgFQP/7EESIBVBiF81oQDJ4ECL5vBwFdQDYYTMBAKnwL4wnMFAV5ARRIf//+VkDAYAAQDoSg9I9PtgKgAAAgBj/8M2ttAAAgYAAANAXIu/el3//CLAAIEv+D+FAoAA0AIFg20/fENXAAAAg//sQRJKFEGkXzeggOXgOwvncFAWVAOBfNYCAqeA/i+awUB2cAAQK/4Q1dAAAAYAAKAGhOLX4QPGAAAb///y4EADgKLl1bg7Z1AAAAAFAAADAb/424AGAAEgAAAKAYaG/6f64ZGAAECH/+xBEmwUQWhhNYKASeAzC+ascB2sBLAc7oQBAIDeL5nBwHaxP//+m4UARgGgQCJfs36YM+AAAAAHAAAAYIv/gG/38bcDSAAAAyAond6mXQu9Xl/7X/XBzgAEAgF/wGbYW60ADQLINdP/7EESlBVBhF81oQCp4EiL5rRwHZwD4YS8hAKngMAvmsHAU9L13pwXNhwAAAAAAOAAAAQLKv8D2qHloiAd/6AAABcgSxwm9j5deAYkTa+vvaLnhvIUt+HADBAj6t0AjUwCgDsDhfQEM//sQRK4FsGYYTOhAOngRowmtJAc9AOgDOSCA4CAqjCbQUB2sJA0PsweA9/K/9/Xea6AOOlW0AAAAAUAAADMjfwP8ADAACUAAACoEGBn+T/TAe2AAQI9///0fC2gQAlBCH5L0omBFmAD/+xBEt4UQWBfNaCASeA7i+bwcBWsA9Ac1AYTAMDWL5rBwFawAAAAAOAAAAwEZ/4uHeHBgcA/wAAAQAGOx/z5dMffqZf+QS868pgfZP4AAIPc38FqQeHcAABuAhA1kLOr+lr5xnOP+vP/7EETCBTA/GExAQBJ8EWL5vSAHSwCwXzUggEngMYvnEHAdrCxdqAAAAAAAOAAAA4HKf4FUy7wDgEfcAAALAVqiiVgtMzL1//VH/6UADNMAAAGSTt/CMSEgDgEB/wHBoiQ/roP9P/pf//sQRM4H0EoXzUhAKnwOIwm8IAdPAOgDMoCAQCAkjCcMUB08zELlu+Ry5SqXAAAAAAA4AAADIsNf+FTQRESAAGHAAAA+gwBKOfZ1UQ9etv/qD5RLAAAGAds/8JzDM7s4AA/AUAh5iqr/+xBE3AVQXRfOaEASeBAC+d0UBWkBBAM3gIBAIDCL5zRgFPyYGjCycn///7dKsE/ZdYYAAAAAADgAAAMDif4CRDw4OAAF/AAAAkAoIhGrjWb37/a9aABHTEAAAGDWL/A4kHAIAAAXgP/7EETmBTBnF81ooDp4FwL5vSQnPwDsYTchAKnwNowm0HAd5FgzCwF7sd6mJ+mATZcAAAAAADgAAAFDj/4z1Du4BEBA3AAACNA1FvbMgMvhK5g/r//XCEmiAAAEnX/Ffii4AC3gB0Aw//sQROuHEHgYTfigOngeAwm/QCtPASxfMoKBKehjjCa88Kh8+mqd3ft/1YK8yZcAAAAAADgAAAMon+AzIO7uAAA/AAAABpYLDGys6z3+1OsJrRUAAAEginN/DVIQEQAAHHAOQR0/mX//+xBE5YVQYBfM6EASeBEjCc0UB2kA6AM1IISgIDCL5zSgFXSl/8Urv7//QDSHAAAAAAA4AAABBY/+F1LxAAAAAHAAAA7AuS3c7biReGCv/CEsEODAABtwBqARnbD5F7a2/6NQbFWWAP/7EETvBxBwF874oBJ4HGMJrzAqPwDkXzSCgKngWQwm/PA1pAAAAAA4AAADI2b/A2mXdglgAB+AAAAvQAwEJKxyGN3vfTelQA5aAAAADgApf+I///////1XD4cGANeAOkDpo/5i1X+v//sQRO0HEHEXzvjgEngaQwnPPCovAQBfN8OAqeBkDCb8kL08Dw6VmAAAAAAAOAAAAwWP/ipgHB3AAq7gAAAShsP576b8Nb12Tf/pYBJkXQAADBg3///5WYZwdgAAGABsCXpVKT1rX/r/+xBE6gcQdRfOeOAqeBiDCc8sDWcBEF83w4Cp4GcMJrzwtGzgFXWqkAAADgAAOAAAAwX//nVhpkGcAAAADgAAAHAFxGGvafgFrwUn/Cy4OAOAAA1CQNl532wM1aAAAAAAADgAAAMjf//7EETnBxBxF8144Cp4GIMJvxwKZwD8XznCgEngTQvm/KAppPgpiJcAAAADgAAAlAGtLaqGeBZwAAM3/A/gABeAChhSf+k0AOy6TEFNRTMuOTmqqqqQAAAAAAA4AAADB//EQwODsAAA//sQROgHEHEYTvigEngaIwm/PCodANxfO8EASeBLjCZ0UDWcHAAAAFAaWNzTedbAQdEOAAAYIE/x5cHAB0B4GEfUnwiaTEFNRTMuOTmqqqqqqqqqqqrgAAAAAcAAADF/4mYZwdgAAA7/+xBE6QcQaxfOeOASeBcDCb8cDWkBEF89w4BJ4FgL5zzwKZwAAAFAIJQfUQzm24a2mAAAAMnf8CqhwUACUAYSTO/ALMhMQU1FMy45OaqqqqqqqqqqqpgAAAAAADgAAAMGn/wsQAAAAP/7EETpjxBvF834oCp4EcL53ywLTwCIXzYCgKngUQvmvKA1nAABwAAAGQNEsa/6Ct4AAAAwPf8IQwOACYAcXP3N1BAOmkxBTUWQAAAAAAA4AAABC/8P+MBgAAOAAAAkFI4dqb9uR91Q//sQRO8GUHQYTnjgEngZQwmvKAp3AghfOeKASeBCDCZ8sDT0wAABQAADP/6MzgDozAAoAAGA4AAtAurf6NwCD///Y9y6TEFNRTMuOTmqqqqqqqqqqqqYAAAAAAA4AAADJE3/F1IQAAD/+xBE7IcwbhfO+KASeBljCa8sCmUBLAdDwwQAIE6MJrjQKaQAAHAAACEklQ17/aB/Au1gAAAY////0VQRIBUFZD/3rDJMQU1FMy45OaqqqpAAAAAAADgAAAMGf8U8AAAAAAAYAcAAgP/7EETsDzB6F8544BPIEsL5rxwMTwB0XzoCgEngNgvm+KAprEDA9/B07////q/UGCX/Cy4MAUAAAHACkAuQzdfczIYymkxBTUUzLjk5qqqqqqqqqqqqqqqqqqqqgAAAAAAAOAAAAw3+//sQRPQHUGwXz3jgEngRovnfJAtPALRfOIEASeAzjCZ0UCj9wr4YAAAAcAAAAQFOurcHqMAABj/7BbQ4AAC0F5cv/orqTEFNRTMuOTmqqqqqqqqqqqqqqqqqqvgAAAABwAAACon/gkr/+xBE94dwaRfOeOASeBPDCZ8cCmsA7F85woBJ4C4MJnjQKTyxAMAAAAAHAAAASiYRht04CHgAAADl/4H+MAChEXbrwC5MQU1FMy45OaqqqqqqqqqqqqqqqqqqqoAAAAAAADgAAAEGf//7EET3B3BaF85oQBJ4FEMJrygLawD4YTXDgEngLwwmeHApPMQ8OAAAAAABwAAABApC/wkwAAGX/oqZCAAWAqNT9zeBmkxBTUUzLjk5qqqqqqqqqqqqqqqqqqqqqpAAAAAAADgAAAZn//sQRPcHcG0XzvigEngRIwmvHAxPAOxfNcOAqeAxjCY4oDU8///K/DgAAADgAAAEEG6k4DaOAAAxv+A0noAAKKI38BlVTEFNRTMuOTlVVVVVVVVVVVVVcAAAAACwOAAABZF+tf/8oW//+xBE/YMAZxfO+KASeBIDCY0cD2sBhGEzwQBNYFIL5bRwMaxtinAAAAAAA4AAACyASPN/gbIAAAGN/wVQDgAcEjP14QVMQU1FMy45OVVVVVVVVVVVVVVVVVVVVVXgAAAAAcAAAAj/8P/7EET3B3BvF8544BJ4EwMJvzwHTwEAA0PDAAAgJ4vnuIAVPB64YAAAAAADgAAAMC487+AvAAAYv/ACr4AAMApv9BiSVUxBTUUzLjk5VVVVVVVVVXAAAA4AADgAAAZ//7vjy4QABYAA//sQRPoPEGkXznjgEngVwvmfFAdPAIBfOAOASeBGjCa8oC2sHAAAAYHk8n9HwaIAAAAANDKndJv/+JdEQAAAKCB0f/AFTEFNRTMuOTlVVVVVVVVVVVVVVVVVVVVVVeAAAAABwAAAGC//+xBE9AdwahfNeOAyeA7DCZ0UCk8A1GEygQCp4CaL5rhwMTz+YFEzQAAAAAAHAAAAsEsMkv4DBif8BYcGAA4TGN17EKpMQU1FMy45OaqqqqqqqqqqqqqqqqqqqqqqgAAAAAAAOAAABv/7EET0h3BrGEzooDJ6ESMJrxwHTwDUXzXDgEngIovmUFAdPF/4L4AAAAAcAAABgmxf4KUcAADE/6HphQAADILH/2C+VUxBTUUzLjk5VVVVVVVVVVVVVVVVVVVVVVVVsAAAAAAAOAAA//sQRPQHcG0YTfigEngOovm/FAdPALhfNIEAaeArDCc4cBU8A4////ymwAAAAA4AAAEnP/g4XIAAAGU/4uHAAAFZG/g6TEFNRTMuOTmqqqqqqqqqqqqqqqqqqqqq4AAAAAHAAAAII/7/+xBE84dwcQDQeEAACA5jCa0UB08A3F8ygoCp6B8L5lBQLTzDKlqkAAAAAADgAAAJAhHjf4mQAAAMEv+KaHAAAEHn/wJMQU1FMy45OaqqqqqqqqqqqqqqqqqqqqqqquAAAAABwAAAMf/7EET2h3CUF8x5ICh6D+L5vygHTwDQXzvCgEngIovneHAVPH/gMgDgAAAABwAAACh36cBYAAAAyPf7CqZYAAAyIzf4SkxBTUUzLjk5qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sQRPOHcGQYTOigKngPQvmvHAdPANhfNIEAaeAjDCZQUCU8qqqqqqqqhwAAAAAAOAAAARGpn+BOGAAAOJP/gJ4AAfTVTEFNRTMuOTlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWVAAD/+xBE+ANwcRfOeEATyBAi+c8UBXkBrGE3wwBD4CSL5vhQFTwAAAA4AAABQIQ//A8OAAAAAABwAAAJzn///CKwQF//BHVMQU1FMy45OVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVlv/7EETzD3BrGEzooBp4D8L53xwFTwB8XzICgKngJIvmuHAlPAAAoAAAOAAAARER/+jYNDAAACIlp/cA7wAABwCn///kFUxBTUUzLjk5VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQRPMHcGQXzvhAEngN4wmtFAdPANRfOIEAaeAkjCa4cCU8VVVVVVVVVVVVVVWYAAAAAAA4AAABhY3/CUuAAAIF2/wtTEFNRTMuOTlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVlgAAAAD/+xBE8odwdQDQeOAACA0C+Z0IB08A1F85w4BJ4B2L5vhQFTzAOAAAAYFDPp//wg44AAAAA4AAAT///y8OAAAMIod/ANVMQU1FMy45OVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWXAAAAAP/7EETzh3BuF8zooBJ6D0L57xwCTwDwYTnDgEngHgvnOFAJPAA4AAABEbG/2CAAAAPAAAAAA/Q7AABYAABxU//o6sPxSkxBTUUzLjk5qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sQRPKHcFsXzehAEngOIvnPFAVPAQhfNcOAyeAgC+c4cBU8qqqqqqqqqqqqqqqqlwAAAAAAOAAAAQFT/4FfgAAEX/gNTEFNRTMuOTlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk6wewdhfNeOA6eAAAD/AAAAEA9F83w4Cp4A8AaTgAAARVVVVVVVVVVYYAAAAAADgAAAES6t/CFs9gAAUVK37AYypMQU1FMy45Oaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq+P/7EGTvj/B3F815QCp4D6AJvwAAAQCgYTYDgKngAAA/wAAABAAAAAHAAAAIjdP9gvcHQAAAHgAAAAAfRDAAACBBv7gj5ExBTUUzLjk5qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sQZO6HUH0XzfjgK1gAAA/wAAABASBhNcOAyeAigCb0AAAEqqqqqqqqqqqqqqqAAAAAAAA4AAABAl/uF5MgAAGGP/xNTEFNRTMuOTlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk6IfwcRfOeOAqeAAAD/AAAAEA9F85w4Cp4AAAP8AAAARVVVVVVVVVVVVVhgAAAAAAOAAAARG7v/AJkgiOHP/YOspMQU1FMy45Oaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/7EGTwh/CHGE344Cj4DAAZzQAAAQEMXzXDgKngAAA/wAAABKqqqqqq2AAAAAHAAAAYr/0B60cAAQAAMFP9AVsd///aukxBTUUzLjk5qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq+AAA//sQZPCD8HYXzfjgMngJYBoeAAABAahhNcOAzWAAAD/AAAAEAAHAAAAIFTf8gpKgAAAAAB4AAB//IQAAAAwc/4Hb//VVTEFNRTMuOTlVVVVVVVVVVVVVVVVVVVVVVVVVVVVV/AAAAAH/+xBk6AfwdhhN+OAqeAAAD/AAAAEAxF82goCp4AAAP8AAAATAowAcyN/gZ////JI///0IvfDAAANwAREp2/7JKDI0dtVMQU1FMy45OVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVcP/7EGTqB/B+GEz44Dp6AAAP8AAAAQEUXzKCgOnoAAA/wAAABAAAoAAAOBAAA4h/69gEg5///9i4cAAAQLud+4M7///tUkxBTUUzLjk5qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sQZO6H8HsYTGjgSnoJQBn+AAABASxfNcOAyegAAD/AAAAEqqqqqqqqqqqqqoAAAAAAADgAAAGDX/UCz5uAAA47/hA9TEFNRTMuOTlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk6IfwcxhNeOAyeAAAD/AAAAEA6F89w4BJ4AAAP8AAAARVVVVVVVVVhgAAAAAAOAAAARIGv/oDV+AADibP+wRLU2lMQU1FMy45OVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGTpD/B/GEz44Cp4AAAP8AAAAQDQYTIDgQngAAA/wAAABFVVVVVVVYcAAAAAADgQAAEBwz/gdzv//9igYVZf2G7LtUxBTUUzLjk5VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWFAAAA//sQZOuG8G0YTOigQngAAA/wAAABAbxfM6OA6eAAAD/AAAAEAAA4AAABEaP/oRMElQAAYBgBwACL/6//8K////4krm2qTEFNRTMuOTmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqr/+xBk74fwcxfMaOBKeAqACf4AAAEA/GE1w4Cp4AmAaAAAAASqqqqQAAAAAAA4FAABEz/hD///1+gADcAMDqf+zzgPempMQU1FMy45Oaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/7EGTwhfCzF81o4DJ4AAAP8AAAAQHcYTPjgKfoAAA/wAAABKqqqqqqqqqqhgAAAAAAOBAAAQJH/9AD3f//7Fgwj/uF30xBTUUzLjk5VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZO6H8KQXzPjgM1gAAA/wAAABAaRfNcOAyeAAAD/AAAAEVVVVVVVVVVWWAAAAAAG4AAABEVN/9aiYtAAAACI7/wCZTEFNRTMuOTlVVVVVVVVVVVVVVVVVhgAAAAAAOBQAA45/8Bf/+xBk6QfwfhfM+OBCegAAD/AAAAEA3GEyg4Dp4AAAP8AAAAT///agAAAcD///////////48AALG4AQMT+tf/ssgSdhVVMQU1FMy45OVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVgP/7EGTqh/B+F8z44DJ6AAAP8AAAAQFAYTKDgMnoAAA/wAAABAAAAAAAOAwAAQJ/8D1Jf//6vQAIAACI4/+QCOe7//+1KkxBTUUzLjk5qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sQZOsP8JwXzXjgMngAAA/wAAABAOBhNAOAyegAAD/AAAAEqqqqqqqqqqqqqoAAAAAAADgAAAERv/wN08gAAAIlv+GPTEFNRTMuOTlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk8AjwiRfM+OBKeAAAD/AAAAECaF8z5ADh4AAAP8AAAARVVeAAAAABwIAAHP/wMxH//+1LsAAAWAAHDhn/62sAiIBMQU1FMy45OaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrAAP/7EGTshfCHGE544Cp4AAAP8AAAAQGMXzOjgKfoAAA/wAAABAAAAcBgABxv/Ak5z3///sTDgABAAARGxqfxGbMmf//5ekxBTUUzLjk5qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sQZOoP8J0XzPjgMngAAA/wAAABAKhfNAOAyeAAAD/AAAAEqqqqqqqqqocAAAAAAbgAAAOKn//bCn58AAAwe/4AZlldTEFNRTMuOTlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVYD/+xBk6gfwhRfN+OAR+AAAD/AAAAEBBGEzw4Cp4AAAP8AAAAQAAAAAADgYAAEX/iP///aiHAAALAAH4AMLq3/9/sSQG0JMQU1FMy45OaqqqqqqqqqqqqqqqqqqqqqqqqqqqqrYAAAAAf/7EGT1CfCOF8344Cp4DYAJkwAAAQHgYTXkgKPoAAA/wAAABMBgABkib/YIQ6GnO///YiHAACAAAiNzD/2AT3t///n1VUxBTUUzLjk5VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVZAA//sQZO6G8JIYTPjgOngAAA/wAAABAeRfMaOBKeAAAD/AAAAEAAAAADgAAAECH/AWAAACwALBAbf+9v/6ToEHQg8AD/MqTEFNRTMuOTmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqtj/+xBk6QfweRfNeOASegAAD/AAAAEA+GE3w4Cp4AAAP8AAAAQAAAABwGAAGGP/2A7Qt///tVDAABAAAYN3f9wgPr///6JMQU1FMy45OaqqqqqqqqqqqqqqqqqqqqqqqqqqZgAADACgOP/7EGTtA/CFF81o4Cp4AAAP8AAAAQHIXzPDgM8oAAA/wAAABAwAAyYj//c43/01CPAoaT//+r4ACgABxV/7jWH///8+ukxBTUUzLjk5qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sQZO8G8JEXzGjgOngAAA/wAAABAgxhM+OBKeAAAD/AAAAEqqqqqqqqqqqQAAAMAAA4AAABAp//vgTQ4AAAgPm/4VfLTEFNRTMuOTlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk6ofwgxfN+OAp+gAAD/AAAAEBKF8ug4Dp4AAAP8AAAARVVVWAAAAAAAA4GAADjP+Ff//+1f4AAYyN/Cbf//9jyCpMQU1FMy45Oaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqh//7EGTugfCGF874oBJ4AAAP8AAAAQIcYTXjgK7gAAA/wAAABAAAAAAB+AAAARGzt/opZgELjvgACAABxD/YBuD///+fVUxBTUUzLjk5VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZPCG8KIXzGjgQngAAA/wAAABAhxfM+OAyeAAAD/AAAAEVagAAAAAADgcAAECT/4h///+1yeAABuADBr/9SVAzBWhTEFNRTMuOTlVVVVVVVVVVVVVVVVVVVVVVVVVVVVV4AAAAAH/+xBk7wOwbhfN+OAqeAAAD/AAAAECCF8zw4D0aBGAJzgAAATAgAAMO/9AVB////aqGAACgAAiQNf+BJnf//7Hk/AAD9JMQU1FMy45Oaqqqqqqqqqqqqqqqqqq1AAAAAHAYAAcTb+qNv/7EGTuhvCTF8xo4Ep4AAAP8AAAAQHsXzPjgMngAAA/wAAABB4Jf//7FfAAQAAGDhn9wGHwff///PrHAH///////9FH60xBTUUzLjk5qqqqqqqqqqqqqqqqqqqqqqqqqqqqqpAAAAAA//sQZPGG8MoYTHjgRRgAAA/wAAABAchfNaOAyeAAAD/AAAAEADgAAAGFf+A4AAAHgAAAAAfohQAAgAAIjR/7BEGf//+qTEFNRTMuOTmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqr/+xBk6gfwexhOeOATyAAAD/AAAAEBMF81w4Dp6AAAP8AAAASqqqqqqpAAAAAAADgAAAET/+DNwABQAAy3/AF///+55ipMQU1FMy45Oaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/7EGTsh/CJF8544Cp4AAAP8AAAAQGAYTaCgKngAAA/wAAABKr0AAAADcAAABgdT/oqTAMZRaGAACAAAgSX/gK3///7UUxBTUUzLjk5VVVVVVVVVVVVVVVVVVVVVVVVVVVVVYAAAAAA//sQZO6G8JoYTXjgKfoAAA/wAAABAcxfM6OAyeAAAD/AAAAEADgUAAGDX/gYYY///+4BegAC8BgAAiPN/96gTaQv///rTEFNRTMuOTlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk7YXwlhfO+OASeAAAD/AAAAEBoF8xo4Cn4AAAP8AAAARVVVWQAACwAAA4AAABEd/9maBHhQAAwANSZ/+D7k///9JMQU1FMy45Oaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/7EGTwhrCOF8xo4Ep4AAAP8AAAAQIIYTPjgOngD4An+AAABKr4AAAADcAAABggf/0V6gUxHAAABAAAQJ/+gIIP///2pkxBTUUzLjk5qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sQZPSG4JcXzGjgSngAAA/wAAABAgxfMaOBCeArAGWMAAAEqocAAAAAADgUAAERod/gLZ///jVwAAERv/0NPKf//71VTEFNRTMuOTlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk8IbwbRfOeOAqeAlgGe4AAAEB2F8z44DJ4AAAP8AAAARVVVVVVVVVkAAAAAAAOBQAARLf8I////XAAAABRf/cAdRMQU1FMy45Oaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/7EGTrhvBvGE344Cp4AAAP8AAAAQGsYTOjgKngAAA/wAAABKqqqqqqqqqqqqqqqqqqqqqqqqqqqgABwAP//////6ReMkxBTUUzLjk5qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sQZO2G8IoYTOjgKfoAAA/wAAABAdRfM+OBKeAAAD/AAAAEqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqr/+xBk8ITwoRfM+OA6eAAAD/AAAAECPF8xo4Dn4AAAP8AAAASqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/7EGTshvCAGE344CtYAAAP8AAAAQG8XzHFASngAAA/wAAABKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sQZO2G8IUXzOjgKfoAAA/wAAABAeRfM+OAyeAAAD/AAAAEqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqr/+xBk7Y7wmxfNeOAqeAAAD/AAAAEBgF8yY4Ep4AAAP8AAAASqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/7EGTqh/CJGE344Dp4AAAP8AAAAQEYYTXCgGngAAA/wAAABKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sQZOOP8F4Ax5gAAAgAAA/wAAABAAABpAAAACAAADSAAAAEqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqo=', + Ab1: 'data:audio/mpeg;base64,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', + Ab2: 'data:audio/mpeg;base64,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S6y6w98LVBbE/fu4GDfjh1v/+xBERI/wcQrUAG8Qmg+hakAN4hIB7C1QBghmwDsFqUDBDNgCXXAfC1QWynrn3CYW/HhdDNfoMI0hgTFqvqcML3u60J5xUo9E0YGC1/qdAXvd1xPfVXIQBlYxrjbH2Agb6xaR6PRqyv/7EGRIj/CGDNOBhRooD0GaECQDYQIoK04HpKKANYPogJAVBSGGCdJ/XYUDf3PbeoFZCtXhSGQzOJL3s6lbQagViIleFIZDdxIHvZ1K6yruUNcForRavbfRBb8Ycipnpg10gbGLcV9w//sQREsP8IMNU4GAEgAPgUpACYUEAhArTAYAyCg8BWkAwBkFgNfjh8vNUVDQYloT/9zhYlfdlKsn3nGioYj8Rba+TA192xVm98hgDR1AcjbWwCHH0irM7yHA0dQHI2/ERa/21KzO9Xf/+xBETQ/wgQrTgM8QkA3g+lAwAkFB8CtOAbzCKDqFqQA3mEWJhubiC5b4otfZlokBn0a9cNFZuILt8UWvsy0SAz6F1EyNQZkxdFH9Gzr/9e1ImmlEyQhmYNRX3CwsfjikVx+iYNztPf/7EERQj/CGCtOB5hEwDcFaUBWFBUIEK0wGAMgoPQVpALCYzVLgAMeLgVC0elrgUG52nr3cABj60uu6oEGpHroZfjX+Gir/lwW0C6oE2Wrc27Y2w4UfVgyHIy2TEZGqC9NcFLX2dRr7//sQRFOP8HYK04GBEYoOgVpAMCYzQgwrTgYcxIA/hWkAw5iQojahjJaw8zcBBj0jBbtKx+o1kY+L1IvQ8m/+nJNYR20dvAfCRMcqbcKGj+ECuwQCbY1+L68HNX3bC7s71FBW0O65y8D/+xBEVo/whArTAYJJmg5BakAwojVB8CNQBgRGADcEaUBmCFVxobVI27O6xT4WmhbL++9gY8P+yyibzeyns6Dpg2dvZMIDj6OCa/6Yuw+HDCrcuwEFHpHD3s1S/onjA8Zfh8JGh+3Wev/7EERaj/CECtMAb0iKDkFaQA3iEwHgLVAFgMgoNoVpQCYIFUU7KpKgDKx+Mbkr8xlM//b1EuR6NYpCGC8ufy48w+m/+b1EgMx6NK2djHS5BrMZhbYwuFRLweCQFRkuWvNh68fdAWrE//sQRF6P8IsK04GBSZANAWpQJKM3AdQrTgYAyCg6BWkAtJRNWllYHzHVYCPCRQcjCXqjYJGouJf+ABAJxIYcBjbGqChT5UxBTUUzLjk5VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBEYo/wjgrTAYAyAA7BWlAkAkAB3C1QASRAgD+FaQDAmMhVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGRkj/CKCtOAz0iAEgFaADApQAKIK0oHpMTAPIRnwMEYzVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZGMP8G4ITwBmMAoOQPm1DGMTQAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=', + Ab3: 'data:audio/mpeg;base64,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', + Ab4: 'data:audio/mpeg;base64,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AAdUAWd3LMN+ywK0Y3+Ye33/+xBkj4MwsAvNQ0A6iAiBGoQIBzWCcC8yoeoCYCqEajhQDUTSL0sL8EG5V9AAThIQABCl4NvHopmkAElBPiSVGKT8FhhXwn/sX3jCgDgDqgApnXQTjWPYQaym/ncOP+pwX1CbxM9AMP/7EGSTCzClC80oWWiYDqEafgXiEQJcLTStGaRgJQRp+FAc1AAWABfinwXfwAO1CPGfszz0me073lM1DHjzev6QAZAAwAAAAA+CjtD9DJVEQ2Jxg4QN7M72Kfs/0B+HG0yAOABYAF+O//sQZJUPMIQIzIB6eIgNoRpOHAZRAfgvMgHoouAlhGn4IBjU+hrdoABG1Lg1O2ez3bMWp9Qbwvu/oAEBHAEAxunwWRVZCAFDPqcQ02t/8n0Y8O1BPEXmRcACQAJ1gb8v3+AAQPArdjr/+xBkmwMwpgvNwFpomA2hGo4IB1ECgCM1A2miYCgEafhQDNTxfreWknIU+gXwj7/6fMTAAAykoGKy6JlGaRrVt1mwmB0w23YKZkFeDeFaBBBRABWFJxatymFVUABiJQtsBkdpy/oXYv/7EGScizCtC80oeji4CqEZ6BwGUYI0LTSh5OLgKIRpuAKIVCJ4kw5/6LAxRAAYpZFyJ8FWxGoqytTLdR4zvsR7y+TfIluXw7qaBaAAoAA/Bl3lquYyhVQBBD5N0x4XhK0P3y1//3+F//sQZKCDMJ0LzkB5WIgKARnkHANRAigvMANo4uAkhGo4IBTUfd/TqKOOALnitwSMXYZ8tcHXWWhTaPLiUqUEQUthnv77IabOQMPmCoa0woBfkgo/6CQ5/9qv/aoyBSEJMHAAAAAAAAD/+xBkpoMwrAvNKHk4uAwhGn4UCTUCgDE3A2hC4CSEabggDNQACDhJh44GlAzRv/9+/+AAAAHkiRIycAgER9EkjooU+L4S7/xVTEFNRTMuOTlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGSpAzCeC80oOii4CMEZ9ADlFQJ4LzUB6KLgJoHp+BEEDFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZK4DMKoLzSh5ELgKgHnoBCcBgnAtNQy8pKAkgylQARgeVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBksYMwqAbNQNl4iAxguaQF5xECZC01DLxEoCcB6ngQJARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGS0AAC3C8uFaEAADMEZ9KOAAQUMM0IZgQAAV4JrewQgSFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZKUP8NIHTO8YAAoAAA/w4AABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=', + Ab5: 'data:audio/mpeg;base64,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zfgH9XBmgDKIa5AVG4dCFMn/+xBk6oMw0AvP+O85OA8g2q4EDwMC3C9NxT1E4DADKrgQGAwHb9A+ANdgAOAAQpAdhQH//////WQ9VcB++KACinpFjfK4WQEssz6/CoAICHBwAAAAvyJyI5/XQLXRQBC6/7QWKjvUAP/7EGTmgzClC9LwTxEoEODKjgQYAwIcL0vEAaBgKYLqeBA0DRuyQJi1KvAN+vDbAAAACUE/wo7UFFVEUDov4dtAN/eDQAAAAr6UKDvZWdXgH/XhwAAiLXpBCrqQDcHgJyD/gr4B294a//sQZOgDMLsL0/FPOTgP4MqeBA8DAkgfUcMB4GAwgyk4EDwMACS2rCBFvOdV8N7X/80AAAASiA/kQjBp1cLDla19D8AeH8AAAAABfmEkIieuAP+vDcAMG+kkMeoaB3DyqouPwg/gH///+xBE5wMwmQtT8C8RKBYhan4VhycB/BtTxIHgYECDajiQMAzBwBLN/YkAiTut4A3n0LsAAAAdF7OEVSlnWE3kNAP/fDwAAAArN/YaCWO9clkMtlgAELzDjZ/5o4HArrccEN+wAiJQMv/7EGTkBzCUC1RwwFAYDqDKrgQLAwGMLVHBAaBgKANq+BAcDGE0y+XmbXZuBFvEo+g4dLzdhxOGVQALzcAAAAAAnCRQUJVVAFXVUAAAAAQzACAkjQLFTEFNRTMuOTlVVVVVVVVVVVVV//sQZOoDMLEL0/CvETgNYNqeBAkDAmQvUcO85KA1Ayp4EDwMVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk6gMg8AvN+Pg5OA4gyg4EDQMCeC9PxIIAYEoDJnQAvIxVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGTig3CQC0ygryk4DeDKDgQPMQGAGU6BgYBwGQMq+ACYjFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZOsDMK4L1HD4ESgPIMqeBG8xApAtT8U85KA1Ayq4EEAMVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk6YMwrwvT8WETGA2g2r4EDzECjC9Pwryk4DODKvgQPAxVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGTpATCSBtRxIHgYDyDKvgQPAwN4LzGmPGhgRIPp+DMwxFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQROOP8G0HU/AAMBgPIMpuBAYDQAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=', + Ab6: 'data:audio/mpeg;base64,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VVVVVVWQAAAAgAAHAAAG8H//+xBE9QKwUQtWcEAQaA2Bep4YDRsB5AUrooAAIB4GKnhQKDT//0YAAAB90AAAAOWhnUHzfB3AN+L8N+AAAAH6Ac3ASXVMQU1FMy45OVVVVVVVVVVVVVVVVVVVVVVVVbAAAACQAAcAAP/7EET2BzB7C0/4oBBoDSGKnhgHDQEcLT/BAEGgLAXqeGAobAO8J///0+AAAAG+AAAAGbhQl4AAAAfwDeGYA/gDZoE4kUxBTUUzLjk5VVVVVVVVVVVVVVVVVVXwAAAA7QAAAAzw7cAA//sQRPELMFoA1PDAAAgMwXp+FAoNAJQtWcEAQaAmhar4UBxsAAH8AAAAGzUJY1oAAAAKAABwGeF///9PgAAAB3AGeBp6TEFNRTMuOTmqqqqqqqqqqqqqqqqqqqqqqpAAAACYAAcAAAb/+xBE+IEwfwFP+EAACAwBep4IBw0BuC074QChYDCF6HhQHGT/0P///0eAAAAHeAAAAGeWD/AAAAD9AS/DOAb4CbnCQOpMQU1FMy45Oaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/7EET0A3B5C0/4QBBoDIF6nhgKDQEUA1nBAAAgH4Xp+GAcNKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqAAAA8AAAAAD6V0xBTUUzLjk5VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQRPKBsFMLVPCgEGgLAWqeGAcNAcAFP+KAACAXhep4YAg0VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBE84GwUwtU8KAQaA0hep4YBxsBwAVB44AAIBiF6rhgFDRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EET0CzB1C0/4QBBoDaF6LiQKCwDUAzvDAAAgJoXqOHAcNFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQRPKDsHcLUHjgEGgLwXqeGAcNAQQvV8EAQaAcBep4YCg0VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBE9IEwVwvU8KAQaAyhen4YCg0BpC0/4oChoCQF6nhQHDRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EETzA7B9AVB4QAAIC2F6nhQHDQEUL1XBAEGgHYXqeDAUNFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQROKP8AAAf4AAAAgJ4Bn+AAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=', + Ab7: 'data:audio/mpeg;base64,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', + B0: 'data:audio/mpeg;base64,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', + B1: 'data:audio/mpeg;base64,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', + B2: 'data:audio/mpeg;base64,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', + B3: 'data:audio/mpeg;base64,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', + B4: 'data:audio/mpeg;base64,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', + B5: 'data:audio/mpeg;base64,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qvAAANAAwAAABk+Nlb/d4AD/+xBk/IOwvw3M+eBoOAzg+u4ECwkCBDdPx4Gg6CGD6nhgNCQZIBfgAAAHSjWKv/6iMrAALAy8VKD/dABeBIUcCMv/9C1MQU1FMy45OVVVVVVVVVVVVVVV8AAA0ADQAAAAqC0O/u8AAP/7EGT2B7CGDdPx4GhIDOD6zgQNCQFkN1PGgaDgIAPqeCA0JAoAzgAAAArAfRv/+osVoAGDFQuS1/dYBugyMAdCP/6FlUxBTUUzLjk5VVVVVVVVVVVVVVVVVVXwAADQAMAAAA4OqWv7//sQZPwDsOgOTPngaDgLoOquBA0JAaw3U8eBoSAcA6q4IDQkvAADcAA4AAAG0SH+0WIa43gAcBFUgNb91AAUGinalr+58AAPzACwAAAFwW/+gFsCSAQMl3+jwAA/gAAAAAHb/qeGGuL/+xBE+IOwdQdP8YBYSBBhum48DQkBbB1Nx4FhICwG6jjwNCQuG2qBnl4AHH4HAwAAAAremZedm98r0yHcyGrQOdSDeAANEXFFAUcvPAISH+CoC0ucHQVd9IdGu/sX1r1L+MAKAKAAB//7EET0C7BpB1Vw4FhID0GqniwNCQEEHVPFgeEgIIPq+LAoJAAAAAAAA49zvb+B4WOMWgK+PCjVPyv/5JVMQU1FMy45OUxBTUUzLjk5VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZPUDcH4N1HFgiEgLgOq+BA8JAaw3U8WBoOAYg6s4EDwkVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk+AMweg3VcWBQOAyg+s4EDQkBwDdRx4Gg4CkDqzgQPCRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EET2C7BvB1RxIHhIEGHKfjANBwEMHU3GAeEgKQbpePAoJFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQRPYLsGwHVPEAWEgQYcp+MA0JAQgdUcYB4SAohuo4sCgkVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBE9IuwagdUcOB4SA/huo40AmUBCB1VxAHhICGDqXjwPCRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGT/gACmB9N1NAAIDQD63qOAAQdkQ0X5koJAiYTqPx4AUFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQRN2P8AAAf4cAAAgAAA/w4AABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=', + B6: 'data:audio/mpeg;base64,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', + B7: 'data:audio/mpeg;base64,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qqqqqqqqqqqqqqqqqqqqqqr/+xBk7obwdxtOeOAqeAAAD/AAAAECVG0z5QBJ4AAAP8AAAAT8AAAAAcAAAAicWO/SamVA8qzAABQAABw+cv/q/0+gIq1MQU1FMy45OVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGTsh/CZGsxo4EJ4AAAP8AAAAQFcBTSEgAAgAAA/wAAABFVVVVWAAAAAAAA4AAABEd/9PCB4YAAA1IjjP/9eYkGQhUxBTUUzLjk5VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZOsH8H8bTfjgKngAAA/wAAABAWRtMIOAqeAAAD/AAAAEhQAAAAAAPwAAAYF0/pRSVCc46b9egAAgJjP75l77AKVqTEFNRTMuOTmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqr/+xBk8QWwoBrM+SA4+gAAD/AAAAEB1G0z44BJ4BAAaDgAAASqhwAAAAAAOAAAAQHnT/RNQgeFAAAD4BIt3//+qSWHDhJMQU1FMy45Oaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/7EGTth7CHGs144Dp6AAAP8AAAAQFMbTKDgEngD4BoOAAABKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqAAADwAAAAACf8lUxBTUUzLjk5VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZOmP8H4bTWjgKngAAA/wAAABAQRvMgOAqeAAAD/AAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk7gXwiBvMaOA6eAAAD/AAAAEB8G8z44BJ4AAAP8AAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGTuA/CLG0xo4Dp4AAAP8AAAAQHobzHDgG1gAAA/wAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZOwH8HwbTXjgOngAAA/wAAABAaBvMcUAyeAAAD/AAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk7gfwoxrM+OAqegAAD/AAAAEBgG8ug4DJ4AAAP8AAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGTthfCIG0144Cp4AAAP8AAAAQHgBTXjAAAgAAA/wAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZOMP8FUAznAgAAgAAA/wAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=', + Bb0: 'data:audio/mpeg;base64,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', + Bb1: 'data:audio/mpeg;base64,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', + Bb2: 'data:audio/mpeg;base64,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ayBFb/FhULoZV18Vp4BmaAP/+xBElY/wiQxTgWkTABABikAsBzAB+CVOAy0iIEMGKMDBJNQ7J8pQQCj0l5clq0CDsFAnylCgSXzcqpMIXAm7AvNM32YaKVSMmP6pOIXBVnE9Mz+4NFKUhMf1SZ7EFuceuJR1waNxiv/7EESWj/CDCVOBIUmgEAEqQDApNAIgL04FpEwAQARpALEk0Emn65M4XQvyR1dqOuDRuMUk0/XVgTXBRmA5KG+g0UDNcUYmrrgBRgwjD8ylfZJoReAE1deEeOAHhwP6S9kEpVtcWm7q//sQRJeP8IgLU4DsOBAPoSpALEk0AiAtTAOwQaA+hejAdiwMyfrB7Y8X0WIA6Ve0um7q45TgMa8UOLGQnUe0omvqksYiFnxiQ4vXoTqPFyia+qG4WDrXibNT/VXFQHMaF/283Tgajon/+xBEmI/wfwtTgOgSkBABekAlAjYB+C1OAqRBoD8F6QCTCNiU8IyYPUsv+tWHQRBS344/9PljRgmi4Rt/XJpA6DVvw5bXqWECzpRt/XDUHBMywWRaXpIFKZlHpt+qHqUGSrAoi4/Rgv/7EESaj/CJC1MBaRIgDYEqUCTmJAHkLU4EoOToNoSpALAgxU9Uu36lhLBoK7ES2Un6ch0R650G/VJrBoW7EIaQ8rBoH4Ro9mPyjgo3C25m9VMUFXrh0fXCZSxQ1hwvJ/ksgJW0v+uI//sQRJ6P8IQLU4GGEUAPoSpAMCYwAfwtTgYE5kBAhajAwJzIdMKOSOj0t2tN1KNkA4WBp64JGjKuB60rAHcWgDOcmpRJALSog5wV27DQ9QcBkill+Wxyn6UDMhsIuxcmwW8/i3ColDH/+xBEoA/whAtTgKxAEA9hKkAUawACBC1OBCRMADwEqQCwpNBxWyfnPHngRsiH9hpD0I0a6eYxyqEqHI5YSKOqAW9PHMDIhDydh4fs6n7fBZQABaLVEnfiI8DR6V2AAGABUNfkVUxBTf/7EESij/B4CVOBIUmgEEEqMDApMgIEI0wDrSBAN4SpAJCk0EUzLjk5VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQRKWP8IULUwDsEGAPwSowMCkyAgwtTAOxYEA7BKjAdZggVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBEp4/wgwtTAOxYIA7BGjAwJzICAC1MBaRFADuEqMB1mBBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EESqgACrC1IFPGAAFUF6AKYIAASwP0QY9IAAgoZoAx5gAVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQRJQP8GQBzKcMIAgHwAqE4AABgAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=', + Bb3: 'data:audio/mpeg;base64,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', + Bb4: 'data:audio/mpeg;base64,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S5x/DA3q+fjyAAACxSlwQgT/+xBkgIMwkwpNwS04GAxBOeQoBmECFCc8gwGgIDMDafgQKATND8SAIW8vz2mwqgvAAAAAACfFmFM/KwNXsij6CtWPjIawH49pBBvfwJ8byNA8hMgAAw8Qjbx0JPk7/AAAItRDRgW32P/7EGSEgTCICc6gwGgIEIE6ngwNAQJwNTuDAaAgMwNqOBAoBFcDz9RX1arC6DLCwAAAAXoDoKPKCXKZv/+Hh9iJBVz7Y/jMI9ApZfVQVIVYSAGpiKDc4PPXxaqiAFR5AMfBdjdC7Cit//sQZIWBMKENTcivUJgKgNnkCAUxAhgdOSE9QmAxg2m4ECgE3J3u0WDqF0FgAAAAjcYGecGxXr/+QADTuASZYrmVCgP36g19+jAmwugwAvxABX1IYyr1C/wAeNHzgHaGRUNn6A0Oo1z/+xBkiYMwhQbOoQB4CA6g2o4oCTECKBs4gcGAoCyDqjgRJCSEUE0EgAAAAb8VBvHQM5eBFySBghqQroPGeoxIp6ZD/rkKgKXwnBG8EB6qbQbUbdo/7wUAqs+og+QAteuwuQuwkAAAAP/7EGSNgTCgCk3Ir1CYEADqbgWsCQJkNTUHrKTgL4NpeDAcBApiTCO/WQsrSVUEGGN8ZBCCVofDAfuDP76CICqCQBG4XBLUnx6MsRxtiQjtkKIneNjw16gm+vVYTIXYWAAAACH8EZF7//sQZI4DMJYJzcDQUCgPoNqOKAkxAjgnNwSCQCAzA2n4EDQECbjJERJIGodOyJ0E3visc8wBn1WFAEvwxA5gg/wOsYkkgZMF1MvnBdBXJ8trL5iO3pl8MQ/6rzJzMzQAAAAqUxmH8IT/+xBkj4EwlwpNQSCQCA6BOo4UAmECXCk3IbziYC+E6rhwCYQ0ZSCiF6APJJHHLbaJQL7G8U74ZsFArhMaUSqU8oc8aCjD4Njz80GvHGnR4OHB2IAAAAAAAAAAPJ0hbI2pTVu9Ot1TVf/7EGSRA3CNCc3B4FGYD2DabgVnEwIwJzqDAgAgKANpuKAIxP8P7/AAAAAAIKf4VwKVTEFNRTMuOTlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZJSBMIgJzqGNKTgP4Np+BA0BAhwnNweJJuAwBOo4cAjEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBkl4OwkQnOoM84mA9hOo4oBmECJCc8g7ziYCiE6figCMRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGSbAADCCc4lQWAIFWFKfqagAQREL0SZg4AAZoLpex4gQVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZIgP8GoA1XcEAAoAAA/w4AABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=', + Bb5: 'data:audio/mpeg;base64,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AA2gCvAAAARmQZyHKGv/mGf/+xBk7wOwmAzUcYBoKA7g6o4IDwcCTDNNx4IgYCKDazgQPBzgHd0gHgAAAC2t7UUTIGmJwR4EIAAB0AHDgAAdpjECxb/y+7////1eAaGQAeAWLe/TCsCxbgLV4AAP0A0AAAAF1B4DZ//7EGTygzCcDNNx4GgYDiDajhgNBwIkM1PDvEhgM4PqOCA8HLynA2qA4AAAA4GSh73SMQeg30uAH/////////7rvc1OjwAA6wCwBhbB7Bk/06AYGwAb4eCh7cwAKcEafhuUQuAAD8AL//sQZPSDMK4M1HHgiBgNwNqeBA8HAmQzT8eGQOAzg+n4kGAcAAAACJ6EMkkh30eAbt0AcAAAAJQ41lpCFBSEf/KPAGgJXXOwQE55bwAAyADQH6gTwHAIW/8m8AAP4A0AAAADK2TuEDP/+xBE9IMwfQdT8eB4OBShmo414icBiBtTw4Hg4EYGajjANAzeV8AD/sA8AAAAfrpJIxAMwKWl/5d7g7v3gwAm/H5TDg5ACAYWOaoVVaCd2ff8ASp7Kl8PLDcLiAaLSfAsss6/41r6NP/7EET1gzByBtTxIGA4E2GajjANAwGIG1XDgWDgTIZqeLDAHIRLCRAfAzRtdPE0R8M2WgAADe8AAAAA9QFBIlgAF7+doAAABOaoSoETAdtNFDdZVUxBTUUzLjk5VVVVVVVVVVVVVVVV//sQRPcDMHgG1PEgeDgUoaqOKW0lAbwzT8WBoOBGBmo4wCgMVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk94MwpgzT8gA7GBEBmn4EEQcCPDNRx4IAYDMD6vggYBxVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EET3AjCPDNDw4IA6E2GajkAHYwKEMzPlAaDgO4Zp+NAdjFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQRPSDMHUG1PCgYDge4ZmdNAVjAYwbT8WBgOBHBmk40B2MVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBE8IswfQbTcSB4OBMBmn4sDQMBPBtRxIHg4DoGafjwKBxVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EET1AxB+BtRxYHg4E4GanjwNBQIwG0/DAYIgsQbmPLewzVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQROaP8GMA0/AAAAgTwQpeBAwFQAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=', + Bb6: 'data:audio/mpeg;base64,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qqqqqqqqqqqqqqqqqqqqqqr/+xBk7wHwUwzU8KAoeApgGWMAAAEBsDVH4oCh4AAAP8AAAASwAAAADAAA4AADuE////6wAAAA8AAAAA/1+AAAAAaAIcZMQU1FMy45Oaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/7EGTqA/CBDVB44Dh4AAAP8AAAAQEUM1HEgOHgAAA/wAAABKqqqqqqqqqqqrAAAAAMAADgAAM4G////V4AAAAB4BngLUxBTUUzLjk5VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZO8D4HoNUfigKHgAAA/wAAABAQQzUcOA4eAuAGZMAAAEVVVVVVWwAAAACwAA4AADOFf///roAAAAAwAzgT////UqTEFNRTMuOTmqqqqqqqqqqqqqqqAAAAALAADgAAM4Cf///qD/+xBk7oPweg1R+KAQeApgCSMAAAEBDDVTwoCh4AAAP8AAAAQAAAAADwAAD/8ovAAAAIXkFiP///rHAH////////4e1IpMQU1FMy45Oaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/7EGTrj7B+DVH4oCh4AAAP8AAAAQDMNUQDgOHgFIAnOAAABKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqAAAA8AAAAAD6V0xBTUUzLjk5VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZPEB4H0NUPigOHgAAA/wAAABAdw1OeOA4eAiACVMAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk6gHwVwzUcOAoeAAAD/AAAAEBtDVF44Ch4AAAP8AAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGTuA/B8DVF44Dh4CaAJ7gAAAQD8M1HDgEHgAAA/wAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZOmD8HsNUfigKHgAAA/wAAABAQgzVcOAoeAAAD/AAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk64Pweg1R+KAoeAAAD/AAAAEBfDVDwoDh4AAAP8AAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGT2B+B8DVD4oCh4CwAZzgAAAQFYNUPEAEHgLQBkjAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZOKP8E8AzvAAAAgAAA/wAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=', + Bb7: 'data:audio/mpeg;base64,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', + C1: 'data:audio/mpeg;base64,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', + C2: 'data:audio/mpeg;base64,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', + C3: 'data:audio/mpeg;base64,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', + C4: 'data:audio/mpeg;base64,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2brXS9pNuxQOXuoQipLDwN3/+xBk6A8wyw1Mg1gQ2A2gCq4AAAEC0Cs0DWFjIDICZlAUgBTqls76QKn3J0ACl5Ma9UjVpazPTc2h2VCiEWu1BvUEyL+jKauUBgoQGAAAAAFEjdp5XaoKe3LhVYlGZUZ7iQueGt9YLv/7EGTlD3CxCU0DTzGoC2AKvgAAAQK8LTYMvOagE4ArUBCITINzAYloADA9ArRcRdWxTLLN3Kd+MBdRFCfyk2sk0IV0IwzkkVndMF2tkAAAAAlJGdTYVRUzdA6SN5LohGTJ715ssE9p//sQZOiPMM4KzINYeJAO4Oq+BCIJAuQlMgTp4KAtA6r4EIgkBaAlvuuF/U5AXKoMAHHVuEl+ta3J8XFQqlJSMO4zC9RzuPan9wvH5gVHtgAAAAABNriH8oZP4aE04wOq+lD3tCU36xT/+xBk5Q9wrwtNg1g4yAugCr4EIhMCjCU4DI3mIBAAKlAQjAxwknOgQKE3Lemt4AQEsyP3V1s1ACg6xQPvu4m5PYNgVmPzpsfpaVNvOGYAAAA42o0TazXQho3pg05LUMkcvmIaCJeft//7EGTqAzDLDsyDQROQD2AavgQAAUOEKzKtZWMgMQBrOAAABQ9LKqVzmU7xupqBH3Y2OOQAyRcoJ4RejTba524lcqgrASFYRAkQzU+huDJQKaZuS2gAQCBjAQMZrsJVTEFNRTMuOTlV//sQZOMPcLEKzQNYWJgKoBrOAAABAnglOAHpoKALgGsgAAAGVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk6Q8wswrNAFpYKA6AGr4AAAEDLCsyDWEjACuAK3gAiCRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGTmDzCnCU2DOGCYC2AK3gBAAQK4NTYMvEboKQPm0AMUBFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZOePMMQKzINYYMgN4OrOBAURAwQ5NA1hZOAsAGr4AAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk5I9wpw1OA08RugrgGs4AAAEClCs4DLBG4BaAa3gAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGTpgzDhDk0o2UhYDsAavgAAAQP0My4NZMNoPgKmUBMkDFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQRN6P8HgFTAGLYAoMgIp0DEMBQAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=', + C5: 'data:audio/mpeg;base64,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', + C6: 'data:audio/mpeg;base64,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', + C7: 'data:audio/mpeg;base64,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VVVVVVVVVVVVVVVVVVVVVVX/+xBk5ofwWQ5UcOBI+AAAD/AAAAEAyDlTw4Cj4AAAP8AAAARVVVVVVVVVVVVVVVVVVVXwAAAAAPAAAAy/AduAAAAzwR1MQU1FMy45OVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGTqi/CUDs344ChIAAAP8AAAAQDgOz/CgKFgAAA/wAAABFVVVVVVVVVVsAAAAADAABwAA7wmb////V4AAAAAHBh+AkxBTUUzLjk5qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sQZOiHsFkOVPCgKPgAAA/wAAABALQ5V8KAo+ARgGa4AAAEqqqqqqqqqqqqqqpwAADwAJAAAAz/60gS8AAAAADwYZwPTEFNRTMuOTmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqr/+xBk6gPwhQ7ReOA4+AAAD/AAAAEBDDlTw4Cj4AAAP8AAAASqqqqqqqqqqqqqqqqqqvAAAAAA4AAABFfgIAAHhKfnAxFMQU1FMy45OVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGTqA/CCDtH4oCj4AAAP8AAAAQEMOVPCgKPgAAA/wAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjk5VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZOoD8H8O0fjgKPgAAA/wAAABAQg5U8KAo+AAAD/AAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk6gLwWA5UcOBI+AAAD/AAAAEBwDtH4oCj4AAAP8AAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGTmh/BeDtTw4Cj4AAAP8AAAAQDAO1PCgKPgAAA/wAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZOoD8IMO0XjgOPgAAA/wAAABARA5U8OAQ+AAAD/AAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk6IPwaA5N8KA7KAAAD/AAAAEBIDlRw4Dj4AAAP8AAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGTnC/BdDlRxACh4AAAP8AAAAQDoO1HDAEHgAAA/wAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZN2P8AAAf4AAAAgAAA/wAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=', + C8: 'data:audio/mpeg;base64,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', + D1: 'data:audio/mpeg;base64,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', + D2: 'data:audio/mpeg;base64,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Ap5oJIjQEkN66UkcB5WpCoH/+xBEb4/whQtVgSYaEBAhenAkw0MB7B9WAyTEYD8D6cBkmMRcWiJmomNjpqNxDCQDp2IgVypCktDriPIqxjEJMYJpE8aKNoJRtPiGuQgio4WIFrD4OMsARKC6DmiBEYZQJ4IAHQpWTP/7EERxj/B4B9WAqTCYD2D6YBUmFQH0L1QBpEMgPQXpgBYIZPWtDfv24EhjKC8EAB0K1kx9Kkh+9NWEw6CpGhkTCRZOiVxQCw5ogw6CpGrRMLLJ0SnigFQe0QMjOE5zQVAMmpYmN1Yf//sQRHSP8HsL1YEmGhgOQPqADMkTAhAfVACkwOg7g+nAFJgcG5KCpd5fB4pDqFi58rrHxuSV1VQHDDlLg00vQ9cmkxdMO0FD0hW4eAti4CUOeOCOmb6sRgLIDsFYORuefLzLRJzEOHD/+xBEeA/wcgfVACYwmA4A+mAEphMCJC9SBIRMIDwEKYCEmMSJAnTwUfDUTYbaLcwqoXBobQueIQ2St4SoGaPCHm4XljqHNEJOy3iFAaYV5uhdgFXLcHAyidpMvI7WHptX6Cqa3BwEUf/7EER7j/CIC9UBhhIYDwD6cAUjBwIIIVIBpAMoP4PpQDSkTDtJl0m2PTXWfToj5+hmCyV7j1jsH3EXLedFhiVwfiqF7lrDPfEeVgYFMTa0TWK+fQqAChbS86JAo4lzka1lfXQqAChb//sQRH0P8IAH1IBJSBgP4PpQBSkDAgQtUACkQWA9BakAFggsSnhaICRU0DgQNrYSpamuop2YNNCpmHA4MG5YhSq62FdF1pQVmUWCsTHk5Eyto1xnuTdaUI2ZYRiZ1yRK2nuM9ctV0UX/+xBEfw/wfwtUgQwRqA+hClAFhhUCBCFQBLAGoDoEKYAUgCzWy7whIhKWXTihrF4lxoQDMz3JqFchCny/QsgFLSFETV00uIhANiUUcB6h6UqhTgP8QgN43k6ediexmx2VNgOildX8yP/7EESBj/CGCFQAaQhYDoEKYAkgCwHoLVIBpEMgO4WpQJCJhMFXP0h126syz9amZEiRTC4sA6yWEOUz1N4P20kdVsLrAUvgi72fWoAAAAAA79dMQU1FMy45OVVVVVVVVVVVVVVVVVVV//sQRISP8IYL1AGDAxgNgQpQGYE1QfQfUgMhgmA/A+lAZDBMVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBEh4/wiAtUAMkZOA6helAFIhkCGC9SBIRMIDgF6YCQiYRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGSKAAC3C1KFPEAKE+FqAKYIAQTkQUgY9IAAcwWoAx6QAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZHSAAAAAbAY0rAAG4AzVwIOAgAABpBwAACAAADSDgAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=', + D3: 'data:audio/mpeg;base64,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', + D4: 'data:audio/mpeg;base64,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2roy9C3LItQ91eq7kGpoAAb/+xBk5gtwuQpNwwFKmAyAyv4EAgECtCkyrIDKIB0AKzgAAAQL662Bpy22wAAAADwIGrkFRIdSYAqlISiIJJjZWKTQ3EazTOn7lb/zegGAAAAA8ngeE6YiLdbajRWpwQMmvYukJV234f/7EGTngzDRDE3LAVKYDQALHgAAAQLsKTcMBSpgKwMrOBCITOIiGdW67MAOs0BeG0U9oTmAHgD1Szi/KKmnAJaeMXAYgeq7PBNw5UtDaaQwG3QDQAAAAlzWI6ImgsdW7cKpIYr1EOUU//sQZOSHMKUKTasBGpgMYMp+BAIDAmArNKws5mAjACw4EAhEwwitAKdAJrX6HpqpKMWWihvAAegdE9QK5iyQlEz0AupOOygbaAPAAAAB66jiOJNG8/Sw1ShVZMm1XLSqjlcfVKP7gnf/+xBk6AEwzA5Nww8pKA6AGm4EAAEDJCkzDIkqYCyAKngAAATrSX7874BwA83msV0VYZijkjFZZdJXsRyuFRUGYXnCXVMQRHJ/+1fgGgAAAA8DwvQHpYIJjUaOsieAwHR+XQsBzhENy//7EGTjhzCjCs2rDDmYDEAKvgQiEwJQKTasLEZgIwArOACITMSkxE7hwW3Bhz+ci8nEiQDPAUjIz2tiVZW4gACwCoAKBUcBI6OqsrB7UgADYAAcsRVMQU1FMy45OVVVVVVVVVVVVVVV//sQZOeDMNYMTcsBSpgNAAruAAABAxgpOowFKmApAyu4EIgcVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk5AdwnwpNKfgQuAlAyZgEAhECHCk2rACqYBMAK/gQiExVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGTsgzEXDc3rAmqYDODK/gQiBwPUOTaMLKqgKgAsOAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZOIDcJYKUSHgKpgMAMr+ACIHAkApPQwAamAXACx4EIhMVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk6IMwtg5PoeAqiA0ACt4AAAEC7DE1DAVqYCkDLHgQiBxVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGTngzC7Ck4jAUqYDWDLDgQjBwPIOzKMPQSgLQBquBAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZOIP8JIGTMEpSJgGQBq0AAABgAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=', + D5: 'data:audio/mpeg;base64,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VwI2z6JeNpsXVUxuiQCcsKD/+xBk6QUwzgzO6S85OBPhCm4F5RcCmCE7o71ioDuEargXiIwAewcA1m+Damp5gmqICAoAAAAZdmHgkMFCKWpyDrD4bxD00FVlBQB4AAAFZDiABkLEfSYz439EA5q7wDAAgGgDNBRiov/7EGTiATB4CE8gLxC4DcCqbgHmIQJAITUBPKSgKYJqOAAwDKFwZct4QcjgVPYGAAF5Sguw6YQE3F3bu4YYMJvR/QHMJRgXF+L6QDLzAAAAAAAs4WITTVoolFAAl/Mkog6lu5TcIAU1//sQZOcDMJIMUCBvKLgQwQqeAeUXAkQhQIM8pKAwhCp4EBwE0EgATwLjChmthoNHdwcKAAAAAwPb3mIwCAFmpyYvi4T/jujAy/0MDAAAABrulAoydLcIljwXS7SbS7gwQABAnUgOYEb/+xBk6AFwlAxQIM85GBIhCo4GBSMCuDE7oLxC4CyDKfgAvESlLIYaxI2wl2dABddYWAB+E2FEiU3DDtwqohcEEAlfaoScxZGKsr0gAJOBQAAAABCAqG6qhZqB6BAhjUcIBxDcS4WHBP/7EGTnAzCsCEzgbykoD4DKfgAvEQIsMTEB4KSgMIMq+BCwDODBRz2apIXIwBEnpmAlBsECQpHSE4d3dwAAAAAAMMmbBga3VVAABJHKSEjQEBrJ5Y1MQU1FMy45OVVVVVVVVVVVVVVV//sQZOeDMLMIUHBAeAgRgQp+BwIjAiQhPIE8QuA3hCo4B4hcVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk5gcwjAhPoK8pKBBgqn4EOAMBtCFCgrxEoDMDKbgQPAxVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGTpgzDJCFB4zykoFIEaLgcCJQKQIT3BYQSgOgQpuBeIjFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZOMDMIIIUCBPELgNQLquAasTAcQhPIE8QuAsgqm4ALBEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk6YEw0AxO+S8pKBOhCl4HAiUC4CE/4OCi4DwEKTgMCFRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGThgzBzBk8gYHgIDCCqjgCiIQK4GzMDPYJgPwLmEGWshVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQROOP8G0E03AhEBoOAKmYGMYhQAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=', + D6: 'data:audio/mpeg;base64,//uQRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWGluZwAAAA8AAABwAAAvIQAEBgkLDRASFBkbHSAiJCYpLTAyNDY5Oz1CREZJS01QUlRZW11gYmRmaW1wcnR2eXt9goSGiYuNkJKUmZudoKKkpqmtsLK0trm7vcLExsnLzdDS1Nnb3eDi5Obp7fDy9Pb5+/0AAAA8TEFNRTMuOTkgBK8AAAAALIQAADUgJAUATQABzAAALyGceg5wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//sQRAAAAC8ATi0AAAgEgBoloAABAkgnYhiwgABVhO1DHhAAAKAH/D/QAQAP8v/DW9uqlSQWBUMBUUkAwr///1f/FYP3abUrAyFUVhsLkgGFe7/o3+r7WV/HvavK2uU80/4tLlZv/gn/+xBECQ/wrA/Vh2BAABeB+vDsCAACRD9SAaJKAEcH68AkSQj/lf6ftZX7OXavK2r0rjzliYuVmWn+CP/lf5eMomc846KA8FcKqLv/5KP/V/RRhKU3h0UDwVQqou//ko/9X9CD5KAwf//7EEQCj/CID9QAZpKAEWH60A8HYAIIP1IApioAQIfrgBNFQGvsWArau//H5/6f6oORKAwfNrDChI8v3/4Kfy39RIhnbirKGwFQj0f+Sjv1/1kiGdu6yhYB8Nej/yUd+v+uIbKmKbu0//sQRAMP8HQQVAAmahAOYgrADTFQAexBSgHgqkBCCGqAMMyQCAAGzZ9/+VHoHNtD7bawYA30uf/5SLUZogTXKHvU+FnV8sd/woMgpsgjwE8mwISRSz3/MiW/osaxnIbWes24ASfWeM//+xBkBo/wlxDTgHk6kBICGkALB1ICYENMA2TsAEGIKMA8HUj84Gfy39ceDkdNfakfBtrfKlv+OB/9f9TJzCd1to/LgBm3FF8Eiz/lQZ/XREqotS9+3LDZOxmqF/+IBmrTdMn2MwjjHP/7EEQED/CHENGAeCsAEEIacAsFYAHAQ0QAjmMARQhpQCydgAt7rkP/4Z//1SKORq+Q4k+Hk2dBf/hYZ/RdHY0v7gACqj/b/rLX9U8p2m/DA+KT4Ipif4hI/y39dZSUmP2mloF4tXfa//sQRAWP8IAQ0QEYEwAUAfogGPQmAkw/PgNgTABJiCjAYNAgL/wYn+oSCSEMzdWUcC4DIwiOkY/8f2//6jTXuqbtrnmJjRN8i28yN/Bu/WWCmxO5IaB0jgNOHJ7Y2dv5RN0k92Kyb5r/+xBEAw/wjwrPARgTABGCGjAYcwQCAD9CAJoIQD6IaUATSUBogF5sJV7ifQ/+/9JYW8bBzqeRoHCBV5r/2Lf//UG0Ezcmd3EA38/3v/Of1f1hKp8pu4gAHUuf/5gf/q/rTM853YGCDv/7EEQDj/CED9AAI4kwESIaQA8HYAIcQz4BJkhAR4foADy1SAQy+ev/JR3/+UIXaWZd+wGKUx7lv+IC/9f8pSNRttyTxEBDXfP7/koe//6VCVOT1/K3HgBvYzoEf/ip//0qNKqXd1gy//sQRAMP8HQQ0AApihASQhoQDDQEAfxDPgCaKgBBCGjAHBVIA/e3/LB7//laMkkl6kSNAxKZNsqf8ax7+r+gKfnt1YoAylpef/5wtf/8sFP+XXZg1RnN4v/wkGf1/y0I9b7zvU59Rb7/+xBkBI/whRDRADg6kBDCGdAHJ1ICLENEAuTsAEIIZ4BcnYAykP+PB3//WIn5fzcgOomQdoT/46H/0/1FBtLvWzOOA5M5nn/88O/lv6jAqe27WBhc6fwqn/QP/lf61UESSemdDBG4k//7EEQEj/CLEM8AYZhQEKIaIBcnYAHYQzoC5KwARYhoQFydgEK0P+dLX9f9ZASRv1sLjacn5VP+Jw7+v+sIHu283QUCQMO5f+Fjv6ggNo3+gFPIqi7Qj/xCMfyn9CoEY+ZtXb7sBHKb//sQRAUP8JYPzgBZKpAPohogHwVgAiQ/OAFgqkBJh+fArJ2APcqLf8Ld+n+koSP0+1QiPtZ76i3/Cx39MbOq6K+6B6TdylywX/jf6/6FEyv6pKA6anlLqcGW/xS78r/RRrTp8127dIX/+xBEBA/wkQrNAXk7ABMBWeAYOggCGD86AWBKQEIH58CsnYACPOg3YP8p/V/LCUY15eV1ngWlyjfcIPfyr/y39IC8httO7kAgGlPhjf8F/X/WKr2+upQMzh0i+Bh4Y/45/WoRNr6dQP/7EEQCj/B2D84AuBMAEUH54CtFYAHIQzgBZEwAO4hoACyJgEPj5zOwv/gnflBVQ3b+eEg4yeBMzkA//CnflGE2+dcgcBnT+GT/ghv6WG/rnIBgfqR4EUn/BDf01QDb+o9ZUo3BJuqh//sQRAWP8HsQzYA5KpAR4vngUAKwAfxDNALk7ABIC+dAYFBYf+gZ/Wgdev95sQEAdIN51nEf+cLX4UVDlfpSUBjvNi3Kkv+od/UaEW6SIxwHNTjuZSyt/5Lf/5gqEQWyVqGqBwoXeVf/+xBEBY/wexDNgKCZIBNCGcArR1ICFEM0AwJiQEiIZ0BgUFj+dLX9I9BTav33QLZNhGjOmcEW/yod/Lgqfe2gmNYGvzidi3/zpa/lQUL7oGYlQSflBNNAhX/zpLfytQWqiPABw3Qz3//7EEQEj/BmEM4AwJBAEIIZ4CQUCAIAQTID5KwAO4gnwFyVgPOnv6hCstAWsDLqifQQctf86Wv6gejDUO+9wgOI2czVB//CwwOhjf9nAQ5D5BmqC//GhioOBnppuwBBr0H4Iqf8QjH9//sQRAgD8IMQzAC5OwAPYhnQGBQIAcRDOKGCQuA/iGdAYFBYZgaxPAFeh7NFLQ/5Klr+VwqgvuRoFwNdSP/JU9/UYF70Uh0gKZCRepH/j+e/qlIEQAASCt3oj8ABs25t/yKwZG1n3/X/+xBECwPwhRBNwEBpmBDCCaAfLVIBuD8wBIJCwDsIZwCQTCBVmR7vw9yxSf/DSiZHftQ+QShNrnv+P7/1mQ5OC9AEwdVctf8bpv/XgAiGgEQusmAnLd/+Vn/6iULq1i0AYJCTiabFv//7EEQOA/B6EM7AwGhIEYIZoCQUBgHQQTsCgaSgQ4gmgHwdSPjVIX+rMDMg6Bt9i+CaP62/5WfB6AUff9t4Rs/skeCKQ/4VBqqACISAMjlRiCMNqb/rP/1iyEC9f6ymRNGTdPQ//mB3//sQRA+LMHsQzkEgaEgQ4hmQKypSAYhDNwMBoSA6CCbUkEgc+tIhgusqBJ0u//Wf/qhqYC9aSI1gFXK3f/lgesA4ggAAAwGl1oD6G0n2/8tBACl6A3QKR1Vz3/LBbkEAYgAsErdP4wD/+xBEFAPwghBOSSBoOA2CCaAkEAYBsEE+hQBQYD8IJkBwSMgRbvHAYJJHprGcA4EuJux//kofYAREAAQHe/KQK4VeS7KX/5YfwPAoAAAOWMi/9UzLgPrfC3GCNakXQB4Kuo9/yxmaYv/7EGQYj7COEE1BgJi4EMIJqTQFcwF8PzYDAkLgMIgnIGA0XPPRNgnb63/5WfqABESAJAjkcAlS5//nP6lgxVrHUBlqbaz//LB7+qCgIqofwC8vnvU79Ygd6WofYEeWq57/qPWgBEKA//sQRB0F8HYPzMEggEgOghmQMBMGAXwrNKMBoSAyCCbAkEhYAIINZZGABJpz/3fo8DROAAGBxtNlkYAMoc//3PSAAMQOAAQKr9H4P54ROeSCCO6dAi4AWIk0EFof86e/qYAIiCAAB1D/+xBEJAEQgArMwOCAuBCiCegoEBUB9CE7g4Hi4EIIZkCQUFhc8C8Hq1I/87/WCIiL/1cYD8IO6qF/4W79bgACDCQCfmSQDTfWbessDXY6IxwG5NjuZSyt/yVVgASKAAAGB6iaAGhHnv/7EEQlg/CHD81JIJBID4H5kB8lYAG0KzqDAaLgPQfmALBQXP+ddQIEQAEgE3/0VANNFrP3Bf+FvgAOHKx+CUq2Lf/Wf8ARKABwi9Vj6CCVbH/+dPqANIoAAAaErQXI8AGJ7lT/rP41//sQRCiHEHwQTcjAaEgSIgm4HwVhAYRBMwSCQSA/iCekkEhcAAWQaW/0UwMzryX4I4Y/6l4KgGj6yYAZTTP+TDD6ZMAaIOVE1qN//P1gACCAQAAAlaoG4Zp6znpYgRAAAKi501/MJjb/+xBEK4EwjRBMyMCIOBIiCaUrB2EBYCU2owIBMDOIJsBgUCA1HxFJ/47EADPMQGQ5R304AJFADN0iiAqwtPUj/1H1wAiOAAAGrrH4AH6XP/9R9wCBBBQAAAYG0t0R1AfJtzb/nD8ACP/7EEQvixB6CE7hIIBIEaIJyB8iYQEwITqDgaEgPIgnYLBMJIwGbUVgJhHnvkUIERAEJt+oboBEkdy1/yw6wAiIAAYP1FwTfL+pgAQhBBgXrrJQEGhy3/ywLGsfAC0eoMlVUR4G+Buh//sQRDSBEHwQTcjAaEgTYgnsFBETAXwtNwMBoSA/iCcgYEwMmn/LDaAIRgAEGfTLgDNPan/5xvAIhgAAAg7fTLgDJPak/+cPYAREJa3AXj+zyEAEIgCFLG4LmLbVq/5w8sAEigAAAi7/+xBENw8wXgrQwSBQTA8h+fQkEAcA1CNCBIDhMDGIJsBgTBjLIEw90f+o94BEcABKMNpEaBMD2pH/qPQAAQsAY/y3CHvnvRAAAwxIAGH1k4A1vzb/rPWgACBgYAAAEmsXgGbvR4AiUP/7EERCAxB4EEzA4Ii4ESIJ+SQRFwFAJTcEgaEgOggnYIBMJAAAhM+olQCMjz3/OnmAAGGJAA0ZlAZ3+SgAiKABKOVlAM7Vz//WeYAAGWHAAAB6e1HQT7z3yUACIwAABJTxqI8A3k+W//sQREeDEHUQTMkggEgQAgnoHBIXAXghOoMB4SA9CCgwYDQkv+dPcAAY4cOPzAG6fW4AAggw4b2OYA3Chz//OqAAAJOQkAAAGL6cIt3tgrABAPYvgdQFdqzT/nXgAgKAY5oHXfk/AMj/+xBETIEQbQhO4SBQSBAiCcgcERcBeCE9gwFBIDkIJ6SQQCSKSBrLOVQJtLT1J/9Z+qAAIIJgAABEtrMg9vs8jQAAxBIAAANjWsyDQ31pf9R+iiBkT+SATO+R8AiIMg3vyaBIN0f+cP/7EERSgzB5C05hgGhIEQIJqTwSCQFII0SEgOEgOgfnUJBAXP27AACVsJAAAAyRb8YA+n1SAAIMIEQtuZUEX8//znAAHfGHR2gnEGj1QAJFAB4I1FYaPb/nGcAAMsLgAACwbygLd/kP//sQRFgBMHAIU3DAQEgOQgmVGBMJASghOwOBQTBACCZg8ExcAIigAACMDvayZMAuUOf/5w8wABCAxhLUCz/yFgYEAlnqzMDOfW3/UeX4ADIAQAAAABojXmhj+hwABiAQAAAEKu+ahCP/+xBEXwswdQhN4WBoSBEiCewwEAkBKCE6hIEBIDaIJ2CQNFxq/+eYAAigGAAYH9pgBG+/0QATGKB/OBI37/9Z5eAAK8BAAAAAMDihUCW70YAbnAAACQULURQoF89/1nqAAIaJgAkHcf/7EERlgxB7CNTxICi4DcH55CQNFwFgI0SEgOEgMognZJA0JMBzv8lGBEQiAV3qWPgJyh3/508qcAAAggBgAAAEL9Iwl/bGBmUAAAAY2+gQ8EUb6aH/OtQAABBgEgMzYMf1tsAMQMBh//sQRG0DcGwIT+EgOEgRogm5LA0XAUghOIMA4SA0iCbgkDRUGvuaAuNqX/zt4AA64osfqNgC35f1uQCMMLAAABg2NP9fL4Od9/kxZBlQg0RGNiZUTQIIjz3/WfXAACnAQAAAADgpqJj/+xBEc4EwcghP6WA4uBACCcwkDRcBtCEzhIFhIC6IJ2CQNCQI+X+miBEIAGQIzR6vrIgGlXPx4AAGYAMD5UALQkUADQOvqKwAlJ6z3/UfgAAAgnAAAAAIEG8kCWpeQUBiCYAAAYCBvf/7EER5gTB3CE9pgDhID+IJySQNCQGMITuEgOEgPAgmoHA0lHJgEtbUb/I8AAY8AMR3BurwDM4AMhnKsWwqz8VZ5FXgADrgBEXuPQEGiGUACBh4AAAlHNz7K0Cw5R3yPWGDV3ssAPf7//sQRH4DMHEIUPEgSEgRQgmZKBAlAVgjS8YA4SA6B+cQoDSULgAIIIAVuMZAF35f1KAAAIJwcAAAAzPoqMbvZAAIggwCvVUTQbi+e/5zgACnDDV4mAj5f1QANXlQN1XP/841oAAhgmD/+xBEg4+wYQrPoYA4SBFhCcwkLwkApCNEBIDhIC+IJuDANCQAAEG6ieCdPz3yDAgDCDgAABia/1D+Abz89/zh6AACABgfQDddf6BIEqZQAaT3T/6jyoAAIIBAAADUtxSetnogAAgYEP/7EESOA5B+C09pIDhID4IJuDQCg4EsIzqDAOEgOYgmpKA0XAAAOtWNwKz61f+eoAAggmABRfREm7yWZhBnMQRhuj/1nqAAKKJgAADtVFQBfl/ksAMigAAAhSiPwAZpc2/508yxA2ZU//sQRJSDEHYI0PEgWEgRoWncHA0zARQjQoMA4SA5BKbkkERcBGj1+AREOuz1EUAsEee/51rgADDDUAAAADLxgXv8lAAAwghxGpZEAsq5//naAAIYIBKWJgNo9eAERBlaongM5Pnv+dr/+xBEmoswWgjQISBQSBEhCcwsDxcBHCFAhYEhIDKFaFCAKFywAACjoJAAABiOMIA6fXgBmcAAAOhyswAmLc//zr8AAdcYSs+4Bt3tgqAWlnL4B+P6zT5O4AA4w1AAAAARM/rgjn/JwP/7EESjg9B1CFJxYEhIDiH55CANBwFcK0CDAOEgKAgniGA0JAAMQTAAAFqDc8Ci2pP/rPwAQAM+cCdAAFFFCA+9PhRvWe8jkAAAgYBgAAAIHMUhJlfVGAAgw4AAAGDSvJoAgNqNf+cf//sQRKyF8HsLTeEgaEgSIgncGA0DAUghO4MBoSAqiCcAkEAkAAACWwKDjdADy3qoAAQYgcQ5QAv7/8oqgAAAg4CAAAAMj+VCDR6vAMywAABSP76isHB57/nD2AAFWAgAASZlAh3+jM7/+xBEswGwaghOYMBoSA/CCewkDQkBdCE9hAFhICmIJ+CQNCQAAIJWTArW5//qPagAAJOQDAAAAANQbqqsKwHdS3/ltwAKONQAAAAgCSwOpgzAaeYeNP+4okAAAcnBTFHnsEvv/1LX4P/7EES7izByC07hIDhIECIJySANCQD4Iz6DAOEgNognIJA0XAccZUlPauuaHygFi1M4b/86RpAAAJQAigAAAAYHWPBv+SkAAgoeAAAECLP6QTetnkuAALAKFH1Bx/XYAAzAwYJ8+VBA//sQRMODMG0IUOjAKEgN4fnEJA0JAVQjSoSAoTAxh+cgkDQkdd5J/QAA+8DQAAAD4Hb8rMxCBWq7/873AH/0+HAAAAmAqmfx2xUHANpdhS/+L/vQ4pEIUwSwCR/b/lboKCqWwngABoD/+xBEzAMQcwjT8WAQSA9CCdkkDQkBTCFChIEBIC8FplTARCZoIevEicDuCdJ0EyA3+VuqsAAAhACMAAAAA5DJyAOO/JwAAAOTg0AAAAASCTUVAOto//KvAAABBgDAg/OCf+u0ADjD0P/7EETUAzB5CE7pYEhIEIIJvDAQCQDIITsBAOEwNAQnUGA8JAADi+12HwK31f/lS9WwAACjkAwAAAACsfUCwA3enW0SjCYAAAAwqtY5/VpYHQLxq0iD/1n5AAAISAASL1KAfv9NgADE//sQRNyDMHcI0HGAOEgR4gmsLA0XAXAjUcWAoSAvh+eQkCgkFgAAHBOfUZAP+X/6F7AAAIOQbAAAAAUBJKBcF3ct8jeABBR8KAAABICZXQSwldy3/Fxf+rrAADVwJBYC7XUxAGc/7Nj/+xBE4gGQdAjQ8SA4SA/iCbkkDRcBhCE9owDhIDGIJyRgNCRgKMNQAAkBVF01GAILXMJ/+UfAAAC1AAAAAA4JuiwSqgAAkrCgAAAjCa+w+GtFM/5SwAACTAACBJmhiHAABgcGGAidvv/7EETogzCiEE/5oDi4FYIJ3TwKFwG0QT3HgOEgTognEPA0lHRJUQ+p8AAA+ODAAAArFLDQSgD7+T3qmAkIcJB+AAAABQDZZt39lagBgCb0NCmf/KFsAAAKKgjgAAUSbNcKI2fuMvyE//sQROUDMHwIUPmAOEgPQQnMJAsXASwjPoQA4SAyhCdQkChcMDA7A4MCtF8+fMkTIQUFMayQ2t/nCxWAACGAATlRAIfL4ARHgAABrVZUDSrn/+o9wABnwBr5UF2iAGYaC8Ad5b6FwAD/+xBE7IsQoQ/T8eBouBbh+r48KgkBmD9Tx4FBIGGIKHzwtCQAxMAOAAAAAYm28UAc1vYX/dDu7M4MC8AAAAB0mNSDvG8fXzSOOQGLT3oq9+ocfQAACzsJFCcfgThKKnPJTAODuEhATP/7EETmAxCFCE/54FBIE0IJ/zAKCQFkI0HEgOEgRIgndLAoXIXYDxHyTLgw4E88wJ4wjf41joqAAACCAHAAAA4a7UEP7WAAIGFgAACxr7ehMOUd8lQABTRRM9gD7/bAAAxAxrZEATfn//sQROeDEIQIUPngKEgXAgmMPQ0LAYQhQ8WA4SBBiCb0oChcf8rV8AAA5/DAAAANxhoBkBTnBZb/K2AOAKDA3AAAAA3BUr/oFUAJ3Gv/EcnwAAAkqCuAAHlkRQUC/YZ/4nemAHBQUFH/+xBE54MQkwtP+eA4SBTiGc0sChcB2CFLxoEi4EwIJ3RwKMysrUr0tR0RwPatiP/ysb2wAACksJwAAAACy1BCAruMfJ8AAY0WgAAAAYoqhdBPu5Z/zpbAAAA5OC0AAIN44AD5f5OgAP/7EETlAzBoCFLxYEBIEcH6biwHFwE4IUnEgOEgOQRoOMAsXCiCQAAcbrHYCctzf/rLVYAAAHJwDAAAAAPTzh4Os56eAAMMBQAAAAAUSKBJg7n1mn/lvAAGPACAc2BHP+mgCIoDgY16//sQROuBMJAK1HHgWEgaggnfNQonAkQtP+eBYSBaiCb48LQkAJltSf/UfaAAAJOADgAAAASrDYvCm/V/5+nAACgoG4AAAAFsqly+ahPgp3oHR3P/nC20kICFVuJIaZ3yO2ABVBYUJJX/+xBE4oPQUQrQISA4TA7CCaksDQkBHCNCgwDhICMFp0TAKCZdrK84CISanCS3+JnV8AAA6OCwAAAIHqhYAPyXq/AAA1eDgAAASQaTUKgaAp80KZ/8PNbQsNxkoFQg8t6sgICKKAngAP/7EETvAzCbCtF5gFhIHSIZrzwKgQHUIUXHgSEgZQgm+PC0JC4FcIteSzgMIbHcg/8iHqAAAKSgDgAAAALTiAFfL/RcAAAwQEcAAAAAvBeq1EAG55ge/+PDGAAAFrASLCa3ojANu8lM//sQROSDMHAIUHEgQEgPYQm8JA8JATghPIGBASAwB+eQYCgkAABAQDg3REp6TADwFsw8LH/Iw+WAAABzYHAAABKJMwHOn10AAUUTAAADIkqQAgtz/+VbQAAAIAMHEI9/b+AB0BRwU1//+xBE7IEwlw/T8eBQSBZiCd9gCgMCOEFB54DhIFMIJvmAtBynCa/1qvAAANgAoAAAJKK3HQQ/r7gAP+PDwAAA6Rt2890C5A41UNX/D390MFCuMZSQh9qfXMAABI0EcAAN1IawpYdhz//7EETmgRCNC1F5YDhIEoIJ3TANCQHcLTvkgOEgQQgm9JA0JLsQn/ys/aAAAKiAjgAAAArEfnCTKJt3k7gAAJWgngAAAAGoD/x0zgfweF2cjN/nT9gAAAtBNvdsH6c/TDgAPJwDiACN//sQROaDEIQITvmAWEgS4gnNMA0JAVQhOoSA4SA3CCbgsDRee1ai+FAC0oU2Lf+stbAAAJcADgAAAAIDTPBN/6beAAKOQDgAAAABoAcGt/SYS8OJ6C0I+AAAEvQAPxd5oCDrvTUwABL/+xBE6oswkhBO+eBoSBjCCc9gDRcBTCFBxgFhIE+IKLmAHFSSDjcP+mNdnLoORtTf9R/AAACmgA4AAAADANv2cAPv9NAEAEFQRwAAAAAkDWb80DgA+oa/5Qv4AAB04GDEcvR0a3ey5v/7EETnixB+CtPxYDhIFUH6fkAKFwFQK03HgOEgWggnvYC0JEACjoKAYDWdfzUB8Kncc/4uddAAAMegAAAACB7EAB04AAAWuBQAAALD6oQAXsP9VgAAFMAAMVnBtgAMMLAABINFamBG//sQROaDMIELUHlgOEgWQgnfRAcXAbghQceBISBRiCb48ChcAc+pn/KM8AAAtwAAAAAmh17AzIAACxoI4AAAAAsAAvG2H4HASaeQEf/KFvfQApUdaiwR8ncgABQSACMg0t6PNB0E+in/+xBE5AMwdQjPcSA4SBAiCcwkCgkBPCFTxIEhYC4EaBCQLFwv/LXwAADowAAAAAgID0QghuuAAAgZAOAAAAAmAuNbnAJAI5wt/8t08ABAd1EYDfYu9SEgEBAOTQv+KonoaGQUfYU/9f/7EETrixB2CNNx4DhIFYH6rjwKFQFsI0/HgeEgVAgnfPA0XCzwAAD68AAAAAhXUEsB7y1QAADhANwAAAACtMrfUoB4Eu4Yb/Utz8AC0uqhQHPMJ9QWFWVhYHKx2ur9UIwMANzzA2/+//sQROsHMJAIT3ngeEgYIgnvPA0XAXAhP8eB4SBUiCb48DRUVarwAADH4MAAACa5zwmxJ67AAALKwngAAAAK1rcwFsCJ5hGLCf5VufgwPXrlgZivr/AAA49DArTy+TC4cD7PQr/xffD/+xBE54MwfghQeYBQSBaiCe80AoMBoCFBx4FBIEqIJ7jwNJQAAOfgwAAACE/xsE+W9cgEAEhITwAAAAOkm7J80FoCN6KLX/D0vYAABZwEcAApVq5AqKN3k5cAAJGAkSpet5RMgkoLY//7EETmgzCJCE/54EhIFgIJ3zwHAwGUIVHHgSEgSwgoOPCoDGkQf+NJasAAALagngAAAApYFRKAf8v8nIAAAwQD8AAAABkqBFCsA/uaFr/lQ/o7DSGQaBYS8d8N3AAEsMgALgZVqpQR//sQROUDEGsI03GAKEgQAVp+MAUJARwhTcMAoSBGiCb0sBxcwnbOHzf8dsAAALWQDgAAAALHKhQBu/0uAAAQLg/AAAAAWLJmFACstTQIf/ODrYAABSyEhxveG27yNAAAEBAKDkiKbDv/+xBE6wswZAhTceA4SBiCCd88ChcBLCNPx4EBIEkIJ7jwHFzCdPQTHh/zg63AAACUkI4AAAAKR3sBXb5GnAACQkI4AAAACUI77iwCnPQf/8XF7AAAClQjODf+R0AAJoqChIocCzsKwf/7EETsizB0CFRxYEhIFaIJ7zwHFwFILU/GAUEgTggnePAoRB9SL/iM6vAAAMjAsAAAF4YvtDTd7P0AAPbw4AAABWBM66lAXQINThZ/4jfOBgRf7LAb3+yAAABwcFgAHAACxX5oTgBf//sQRO2LMHcK1PGAUEgWAgnfPAcXAUArT8eA4SBViCi5hRwsNE7/lHf///9N8AAA6cDAAAAIXqFQEaPVYAABJ2FcAAAAElS1BCAjuGf+Ub5wABj1EwK6YGgAbSqRQUBXPYGv/yzwAAD/+xBE7QswdgjUceA4SBaCCg88CgkBMCNRxgDhIEeH6XjwKFzowAAAACkiaDQe3UAAAUUg3AAAAAlEYpABsCbY8Uf9S0AAADI4MAOBg/QAFqfX/////////71WO/VY2FFIxseEgROeYP/7EETugTB5CNRxgDhIF4IJzzwKAwHsIUHngSEgUognOPA0XJ7/4jtV8AAAuACwAAAfrNuBb+vwAADl0NAAAA5TKPMEsJupn/EPYAaEQhoii366gAAJGAngADpDc1ZnGoM9f+IS6rAA//sQROsLMI0LUPngUEgV4gm/PAoJAVQtQ8eAoSBKiCe5EChUAKkADgAAAAYGOZAs3/poAAAkYBeAAAABGB7oaA8FP1Jv+o7UAABqJvSoAP6cgAAKRwBIkaV31KBNAoe3/l6gAACYAA7/+xBE6oMwgwhReWA4SBZCCb8sDQkBeCFDxQFhIE0IJrkANCQAAAABlbKBj/TQAABBSD8AAAABcrFRAIfL/9C/gAAF6AAERB6gEn2QAAt4CA3Qm9/YI4BT7vI18AAADQAAAAAYHwWrAP/7EETphzB+CFB54DhIFYIJ3zQKFwEwIT/HgUEgRogoOYAoHAACloH4AAAAB0BzZ7gQuUf8j2AACxF7AHv9AAD54OAwLex2FoFb6v/yikxB8AAAzQDQAAAGG9Qkf1eAAAfeBwAAADQP//sQROsLAHgIU3HgWEgVofp+PAoXASwhUcWBISBih+Z88Cgk5wVQADdv+U7QAA8QeVAK2AAAUtBPAAEwK6oeBj2L/8o1TEFNRTMuOTlVVVVVVVVVVVVVVVXwAADsAAAAAAgR5GA0+QD/+xBE6YuwdwjUcYA4SBNiCh88BwkBACNRw4DhIDaIJ3jwHCQAFLARwAAAADQNvfoB4AW7yAkdmAdbEoAF4h3mAgM5/0JMQcAAKgAAABwAEHbgm///////79NOAAAFpYBwAAAALQYvxP/7EETvgrBvCFPx4EBIFUIJ3zwKCQMgIzflgOEgPAgn+PAoJGE3irPR4AABtgHDAt5oBBv12AAAWVhB4E3VwBAnQVbyVUxBTUUzLjk5VVVV8AAA6sDgAAAIV2KgF6fXgAABaSD8AAAA//sQROuLEHAI0vHgOEgSofpuPAcJARwjU8SBoSBLiCd88BxcCAkKQhAeAH+TfJbWAAwRZUDtHgAAHR4YDAcoBoKbOMetTEFNRTMuOTlVVVVVVVVVVVXwAADs0AAAAAg3kAA3T4AAB7//+xBE7wswgghQeWBoSBTiCb88CgkBLCE/xYEhIEUIJ7mAKFyGAAAAsLe8MBt/ov9evgAUsDEwNo5uCxetToA8F37metVMQU1FMy45OcAAAIOQfgAAAASK5uYELlH/J+AAAdYBoAAAJv/7EETxAzB5CE95YFBIEoIJ3zwHCQFcI0/FgUEgP4QoePAsXH6Yen/VoAABaUEgWWv+Pgjes95OQAACFAA4AAFM0Djv0ExBTUWqqqqQAACUgA4AAAADPHQcbvTQAABQyAcAAAAAZenB//sQRPSLMF4I1PGAWFgS4Qn/PAwJAOwjUcYBASBBh+o4wChcJBo6DX/y9AAAFK4ALX/ZYA+/0yMgA/TzQqGQXfNG3/l6TEFNRaqqqqAAAJSADgAAAASuyog3emwAACBkG4AAAAB+qKj/+xBE+gsQbQjU8SBQSBHh+o4wCgkA9CFRxgFhIEYIJ/zwKCQKgp3GP+hfgAAD6wNCqeZQBd/stLCwhUIeGAEu5g3/4udMQU1FMy45OaqqqvAAANrg0AAAGE6gFaPV+AAB78HAAAALhv/7EET1j7BrCNRxgFBIEsEKDzwHFwCUI1IFgUEgK4QoePAkJC1TAowQnoeNP+I3UAYHG9glr9Xx4eEDJjxUA61UP/4jVUxBTUUzLjk5VVVVVVVVVVXwAADpANAAAAZzg/+qwAACykL4//sQRP6DMJ0ITGkgOEgSQQofPAkJAYgjT8YBQSA9Bag48BQkAAAACMuaEQN6p/xA3UAcObmhJ/Vi0Fix6kO0NxtSP/MmTEHwAADK0NAAABsaaAP0+rQAADEsJ4AAAAIkXiKBwD+pL5D/+xBE+gswdwjT8YA4SBPBae88CgkA+CNRxgDhIDmFaniwHCSAAABBUAHABNFTqAm7//////70EKbAACwPGorCadyD9CpMQU1FMy45OaqqqqqqqqqqqqrwAADL0AAAAA4/QM9NgAAFrv/7EET3C7BtCNTxIFBIEQFajjALCQD8I03HgKEgLwVp+PAgJABwAAAAFj9Q8B/dhO+jb4ABFtQJaLOggDKpTAjCLuW+SkxBTUUzLjk5qqqqqqqqqqqqqqrgAADsAPAAAAzoAD/X4AAB//sQZPuDEI8IT/sAUEgOARqeJA0JAdwhQ8eBgSA0hCe8MCgk9eGAAAAMSowACtsT+vwAAAYUBr+AAAPfQsYLbiMTbvbVTEFNRTMuOTlVVVVVVVVVVVVVVVVV8AAACwAAAAAYWDNgAAH/+xBE/AOweQhPeOA4SBNCCd8wCgkBkCE9xgEhIDaIJ3jwKCQNQRwAAAAECfsFK63yYUAAJUB/QAAC2sAJKuOkgbfPelVMQU1FMy45OVVVVVVVVVVVVVVVVVXwAADKAAAAABigagTJAP/7EET8A7B6CE/5YDhIE4IJ3zwHCQGIIVHEASEgOAgoeMAoJAC1kJ4AAAAESGVvoqGN3kc0AAYL9AB7SAcpDTqBwj7/IkxBTUUzLjk5qqqqqqqqqqqqqqqqqvAAAM0AAAAAD0+1Ccvg//sQRPoLsG8I1PFgOEgUwfp+NAoXAQgjUcUBYSA1B+p4sCgkAAHTgaAAAAdCqgnA72/5TfAAErdABLdehgMVuOAAtT6qTEFNRaqq8AAADQDgAAAWqxlf6v0AAOoAwAAAAyE79lg1f6v/+xBE94uwZgjU8OA4SBKiCg8sBwkA+CNVxIDhIDOIKHjANCSAAAO8AAJS8rEhvf6G7vXvaA0dh8xxsESUkaBfp1nHmftMQU1FMy45Oaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/7EET+grByCNRxgDhIEsFqLzwHCQKAITHngKEgMIWoePA0JKqqqqqqqqqqqqrwAAAAAAAAAC4AAA3+AAAAAThqEFBUtUxBTUUzLjk5VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQRPaLsGUI1HFgUEgSIWofLAoJAOgjU8QA4SAvBag4wBwkVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBE9gcwZwjU8KA4SBBhWp4cCgkA0CNRxYGBYDGEKjiwJCRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EET1CzBXCFRxYEhYEIEKDywNCQCsIU/FgSFgNgQouPAsJFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQRPULsGAIU/GAKEgRwQofNAkXANghT8YA4SAphCg48BwkVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBE9QuwZwjTcYBQSBCh+n4wBwkA5CNRxYFBICeEanjAHCRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EET8gzBoCNPxgFhYD8EafiwLFwFsJU/DAWEgV4RpuMC8JVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQROkP8EQA1fAgAAgN4SqOBAMJQAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=', + D7: 'data:audio/mpeg;base64,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qqqqqqqqqqqq4AAAAvAwAAD/+xBk7oHwgBBPeOAQ+AZACfMAAAEBXEFD4oDj4AAAP8AAAAQYX9ASZ//UsAAAAPAAAAAP9NAAAAeAYGNv/5hgAA///VVMQU1FMy45OVVVVVVVVVVVVVVVVVVVVVVVVVVVVYAAAAAAbv/7EGTuA/BoEE744BD4CiAZ3gAAAQEgQT3DgEPgAAA/wAAABAAAAAKJ/qGAAAAAAB4AAB//qoAAAAACAQ/gxvAAj6P9SkxBTUUzLjk5qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sQZPAF8GoQTfjgKPgKYBreAAABAVRDOeOAReAJgGtAAAAEqqqqwAAAAACuAAAAAQT/BtAAAB4AE0DgE//Inhbv/8ZVTEFNRTMuOTlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVZD/+xBk7wvwZBBPeOAQ+ApgGt4AAAEBHEE7xABBIAmAa0AAAAQAAAAAjgAAAAM/g24AAAA//6IAAAAAAkSf6BEgeAB/SlVMQU1FMy45OVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGTtgdBqEFB44Cj4AAAP8AAAAQG0QTvjAOHgEYAnzAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjk5VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZPUD0KYPzXjgEFgMQAnfAAABARg/UcOAQ+ARgCfMAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk6YPwdxBQ+OA7KAAAD/AAAAEBIEE7woBD4AAAP8AAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGTyA7B8EM1o4Cj4CaAKDgAAAQFMQT/DgEFgE4BreAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZPEDsGsQTfkAKHgKYBruAAABAShBO8OAQ+AVgGf4AAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk7IHwaxBReQAQeAAAD/AAAAEB+D874oCsoAAAP8AAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGTug7BkEE/4oBD4BkAJ8wAAAQE8QTvBAKPgEoAneAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZN2P8AAAf4AAAAgAAA/wAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=', + Db1: 'data:audio/mpeg;base64,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', + Db2: 'data:audio/mpeg;base64,//uQRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWGluZwAAAA8AAABwAAAvIQAEBgkLDRASFBkbHSAiJCYpLTAyNDY5Oz1CREZJS01QUlRZW11gYmRmaW1wcnR2eXt9goSGiYuNkJKUmZudoKKkpqmtsLK0trm7vcLExsnLzdDS1Nnb3eDi5Obp7fDy9Pb5+/0AAAA8TEFNRTMuOTkgBK8AAAAALHIAADUgJAUATQABzAAALyEiWA1SAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//sQRAAAAAAAVQUEAAgAAAqQoAABAuBXYBjxAABSiutDGiAA/78vg4PefoQOT+FV63cPTolBf7Zxi+nm4ngVSm8eAVmkianOH/Sgv9uMX0pgoiLTPJusIDODELpJiuytDBREWmeTdYT/+xBEDA/wgwZaBxhAABAgywDjCAACLB1oApjASESDrABTGAkGcGJ9JMV2Vohqig0BTuQGii78ycPrfVb9UQ1RQaAp3IDTi78ycPrfVb/oIbGkaGwjA1QTkkb2tqFyGxpGhsIwNwJySP/7EEQMj/B0BlqAJjCQDmDLEATGEgH4GWoBhMAAQYOsADMYSN7W1C4KmiJxNiNDUwhDpUxiraxgK0iIomwLQ1MxodKmMVO1jATOSI0UWkNNPQ0kxirKk9QJnONootIaayGkmMVZ+ooh//sQRBAP8H8GWoBBMAAOYMsQCCYAAiQjaAMUSABFBKwAZIjIrmkgzExwZFlxTQ44jDutpRDZNJDWJx49xZcUpYwp5bi9hHUsebm0PGFgaYxig/Fm1inMVRwZOzQ8YWBpjGKD8Wbq6yz/+xBEEY/whwlaAEkQQBEhKwAZIjICGCVoAyRGQEiEq8BkiJDVOWPJWkaHFgB8WyAbVa6os1Tmj1lywmHFgB8WyAbVJOqSD4K7E4JB2IoRAwjBL4R5WHUhbNHUdGaWJDNiBocXSj+pMf/7EEQRD/CnC1kBKRkgEeEq8CQpAAJUOWQEgFAAQgUrwFMgGFNqQtmsPpt0mTk8BRQ4Qo4fE5dvJAr9QWq2LC04AEBQVLToa2eZ2dVMRSsoQLJHDwaNLfsqrBLDDp5uLpiLbSQLJFDw//sQRA4P8J8LWQEoGiASoWrgJQNEAoQlZAQlIohKhKvAZKRQUUu+yqsEsMaebrQFSIjOmUiYdHRg5fxnUAphWN/95ACjFzplJEOjpRKfxnSh0YZE2tUoJzLRAIifmgiDKhUfQ7eLUtz/+xBECQ/wrAtYgSkxIBFhKuAYqSACYC1kBIUgAEsFq4CRGUDWVJ6hAWjRgMDzQMjsEofTVID1zdQeG4UYpSjMSiVGV/7Eabe6GSvQcG/FcUpKzEolbC/GT01qmQD/Wg8hPpIBMZtCSv/7EEQEj/CfClkBKRBgECEq8CRCUAJIJWQEmSQAPANsAGCYADpVWf1t8WHFuY3UcQvpQmZtChHVQp8W6Q5s6iwUfaMWH0KVRZ5av1HEgguIusoEZnhk2AJYbSpQaALbO2rRAkwJ0khl//sQRAOP8JcK2QEhSAAQASrwHCYAAkQtZAMkY0A/BKvAYwiQGOJIs9J38Ye0aKc5CBIgPgoSTGFVn5boDNAt1FyGp4oM0RiscaO3+iakIdcX6S5VSYQiwOFjKBrhnYlcX6Y6MzUDh7T/+xBEAw/wigjZgSEwABChGvAkokACWC1kBKTEgEWFq4BkjJDCxnR39FwNvbF9h06M+2Eb5ticElfEuBt7YvsaHyr4Giii9CcwmIr9K31PXvEHUBiVwHEKLpBswmEbxVsF75DqAxS9Gv/7EEQCD/CTClkAxhEgEAEq8BjDCAHoHWYEhMAAPwSrwJMIIAqMhAWGwUXGSJBxb1My5YElqjZcICw2MvjMVBzUzXYiQSQUtggmrD8h4qYvT0WIsdIkuAgmrA7YthCYvT0VgOpiISgU//sQRAMP8IMLWYDBEpARIWrgGCJQAjQlZAQkosBGhKuAhIxQUWjCFgdxmVW2stAcMxEJQKECUcQsI9xA2ttZYgH1csPKyFRCZoKXGoWBGP6ljAfV0Q8qsTCkTAV8HCwIx/UtOFX4VHH/+xBEAo/wjglZASYRIA9BGvAYIlACIC1kBJhIQEIFq4CRCUBuAgCNZxGGKJAqqpmooDXhoxfCglHtYZwJNxTsOED5HBWwqkGRuia8S9hTq+k4gfRYnYVkGWdBpYS9hTq+lUhB0zpBLv/7EEQDD/CIC1kBJhkgEQFq4CTDJAJQLWIBJMBAPYSrwDMIWDQCGsnzHkpj624lSGOmVIHcaAVWT5jyUx6hVuuEcoUGxzAEAjLFR8QnpytWRrFIgyAQtJgkFQ0MTGYuG1fUTGXaXImF//sQRAMP8JILWIEiGpAQYSrgGCJQAgQdZASYwGA9A6uAkJgEBkhYgLJi3rCTVFma3Eq0WDKMEiYhli3Fg2qLM1nRDcggS7A4tAoDLhgSBra1MQsIgJcoHB4YsuGCga2tOsGkhWDRqYr/+xBEBA/wnAtYASkZIBGhatAlIiQCQC1iBKRBQEWFq0CQiYDC7FADeDujjKrO1pOsPSIxM1MnC7FCEwexxlVndKYPauSDphOw25M5LJjXca5jNaY1q5AOmF9DblUpZE7uNcxmunCnYf/7EEQBj/CEB1kAyTAQDsDq4A0pAgHkHWQDGMJAPwSrgGSMwLH7kMA0TSZsNFw5qPaqBOxGPziYDcVZqw0kOfqgHVQwISYYA5w9oHac2t14TVQwIrBIK1IPPFUkc2t11UhuaZ8jYSUE//sQRAQP8JEKWIEhEwARYUrQJMIkAjQtYgSETABDBatAkwiQcTijXaKMGV2mdCQ3qZsjUUQB5KCCsY0YM7TOg5j1DIeXWFQfZkor41ZB10M0nIvUPB484BCZoIFxbcddDNI4INmTCFr/+xBEAw/wjAtYgSETAA/hatAlIiQCNC1iAyRhQEODq0BjJEixUIXLpqeTu4+w1rODG6aEMrFQVxcGTJucfZ1lCHKoRU5U4FcTVfnZm465FuooRkjQEo0sFcTTehqQeXIt1YVxwVAzNf/7EEQDD/CKB1gASUgQEEDqwAkpAgIYHWIEpSJARAOrQJSkSMkBGFLJpPIJrtdl4VyRMDLaZgEYUsmk8hq7eXTENrkIu1RkK0osogygNbWaExDa6EXlQlCtJLKIOlQ1tZoVOoXsEQkZ//sQRAMP8IMLWIEpGRAPwWrQJCNgAgwtYgMkQoBGBasAlIiQUKhWQG/mU1G0csmhfiISMqEIhlSe9vDUb8sWISoqG26Ixl1AQeTeNexus6UakQhttILg6+xIPJmjXsbrLBsLAgSrJxv/+xBEBA/wiAdYgMZIkBDg6tAYyRICECtgBIxIQEAFawCUiJCaqiUmJg5eniQsGwsUCNYrG24pJQ+LBy9PKRNuUOh9yaYDuoqltYNrVqHWfcoVD7K64XbiKtTYNrVxyqEePKCJuJkLt//7EEQEj/CBB1iBKUiQEWDqwCUpEgIILWAEgEwAQQWrAJMJAEXVfKkVW8rgjx5wRNqmQTbpdV7RUip7eVSOvQkYZSwdBNuUVvcg6tupIu9UuGUsDgJj6YNm3IOr6jhR5wgBplJgLn9K//sQRAWP8IwLWAEhEwAQwWrAJSIkAggtYASAbABIharAwI2AN+t46orxU4o9IoDTKTAXP6EPtuw6rOXODGLkYcbWJhGfvWZ8o6viRCIHNlcbPtGRXQd9be9SileolQSMMIAbqxUHzVn/+xBEBQ/wiwdYAGlIEBIg6rAkKSACIB1eBKUiQEeDqoB0pAjUmUA8pwtyySjDBABZGCQyPWmkxiAeU4W5axDFETgg46NCE/8RnXLJXW64QsohWBhk6FgRHviMk4VBy71qLBbEmBG9cP/7EEQDj/CEB1gAyTCQEUFqsCTiQAIsLV4EhEwAR4WqgJCJgAAEPxSN6Q1dZqTEMypIF3lxQGQ+GE77qNczqOsNFB8PVQ4GReEynS3Ya6zLnWGignA6HDgEh2EynS7DXMZpLAowwLJk//sQRAMP8HsHWIDBMAAQoOrAGMkSAhgbXgSY5EBBgyrAkxyIhIdjT3NQhbrdBYFqYwAyYhJRfqruagMLd5VNEyhHg0soBgEPkDKoCc2vsTROQi4aWUAwCHwRexBBe3VVqZxJiyHsJgX/+xBEBA/wkgrXAYkZMBHhWqAxI0ICKB1eBJkkQEmDqoCTMACQh2zhb0uOGtq7amcSY1FrlxHSh20jnq8MNbV20N6XFQdksWeL2udcbLkV2M1UI9Flob1Tma8o63CMNpDq7GZRS72CEP/7EEQCD/CBC1eBIRMAEEFqsCQiYAIgHWADGSJAQQWqwJCJhCHqkpOL9PNpZB17dKXewKQYeVJTYv082lkHXt0lAWpAwDjBKbF0lETnoMri/Qkc1oiBOEQiLi9KLZezDri6SOOKjIKK//sQRAMP8IkHV4EjSQAQYOqwJGkgAiQdXgMlIkBEA6rAZKRIGZHxeSR2cQTvQzUkccVEIKKGPC4vVJzknehmpjVCBoZesaPi9psHySQ/eKdbGqECIZesTGhe03HyST94p11wW0YfFUP/+xBEAw/wiAdYAMkwEBCA6rAkKSAB6B1gBJjEQEQDqsCUmIiAlhy5JHDyT96W6uIbbGQsoakL3FEET0PXkW6k2XslAzhYMwflHtOySq+lNC9kPATh0LKB+UeLHUEsX6UsRQoRhJ64of/7EEQED/CQC1eAyRCwEOEqwCTCJAJcOVwGJETARwWqgMSIkIPpGEY+zDKkj2hNSSxcJUeCEA7GEY9BhUke0Ql7i+SBg7iQcF6OreIfINThG6oU3JyoMHcGBIL0DDYh8gypTqWi3ICc//sQRAIP8IEHWABpMBAQIOrADSYSAfQdYAMExAA+g6sAYxhITuZgwP5Ph5JBUid10WMhGJ7URGB/h8PJIKkTuvg+JBAAZBYwO5RjxWe1syji8SCABpRMYHcqGCs9rZlFpd5CJwXhMGz/+xBEBA/wlAtXASMSgBJBaqAlIyQCLDleBIBwAEOFqsCSiQDAvEdllfMPcSDmml3lRWC8NAskF4m1wZ5MPkg5pSSeUMDVpo4H+mV/lnun0I3KpJPKEg1aZOoGwYPM1XHxZutI5iM+Ff/7EEQCj/CAC1eBJhEwEEFqsCTCJgJIOVwEjEwAPwSrADSIUKNCTg7QVsbWPqdqSLYjNhWjSJIO0FbE54+p2pKmGTIFQwMkx/nGsg7ZTegNmXkISeE2REpMPBGaO8FsVZpVxLx0fDHW//sQRAMP8IoLVwGHGgARQVqgMMJEAhQdXgMlIkBBA6rAIyQAlpaD7gJ0QXg5rfoxLyY2GOtHpOD+zadDLA2ZPucjYGShPUjYmP9VJQPyWLN1QGxZkJ6k8TH+qkLA/JYs3Uq2JIBUBGX/+xBEAw/whQtXgSMSkBBBarAkYkQCEC1eBJhkwDwF6sCTCKSJiY10HSybjYs7XbEkBMBGcTEwrQdLJuNiztaZynikL8sGJJc424pfBtbNVlKeShflgIUl6NtpzQbi1S6kFIhjVyA4/P/7EEQEj/CGCVeAyRjADsEqsCRDQwHAJV4EhSQgQISqgJCkgF1Koo5DFT+lOUVSYY1cQFB4cJoo5DFbR4cKiFISED4Kt+nVZqtHhwhBVIMCh8It+manNWta5fSMaBK1GAwfpSPtvLJ///sQRAeP8I8OVwEhE4ARISqgGSMUAkQtWgMwYwBDhapAFggwBMqU4vSZECVqGAwPAi2jkkjqZUpmWNIYe2aQR0V60ktBB3gvS7WWNSXQ9xCPx0f2zGY5/Frp60jnIhgJfR8kbTBvZ2v/+xBEBo/whAtXgSMSgA6BarAkYkMCMC1aBLBigECEakCWDFBF626qS6weCX0Tkjgwb2fZRetJZwfHsIKwn5gLtsgawqPejpSWcNkMWVhLZg9tkBRr03d9gOAQQAXqpCU1I4sVDaW3qf/7EEQID/COB1cAZkgAEQEaoAzJAAHoJVwEhSQAPoRqgJCNQJWiA4BBgC9KkJzaLJe1Xj6bNruVt4jCihki1bU8k1hMl+qitvEYUywyKtWZphTh5j9itmZCKAf5wKAqsTmyp7RhlfX2//sQRAkP8IkLVwEmEUAQwWqgJMJCAkQtXgGkwEA6hGsAMwwYZkIgB/pCkNVomdKNtGdX10JI4TiLSiYCovDspPcxkXRflKEoCJg3KTCmpNwW8YY/dU0sIxICII8GpRLJioYgiMo6bSz/+xBECY/wigdXASFJABBA6qAkKSACHClcAyRigDsDqsA0mEgjDAIqEg1UVrFQxDAyjpLuRg+BXXIhVEFjPLmOwZVytdRicTdMBAzQmoLNSxX1qtT8dIAx54IDYYJqK3yDjLOrU/LjQf/7EEQKj/CGC1cBhhkwEUFqoDEjJAIwLVwEhSQAQ4WqgBSMGI8uIC2KBWKhuyDjLOr3oyPA3QYORphf0z8zXucnUXnpUXBv4GCiwQ/BPkYpzk6i9YCeIAyBiKiAKK2cY6jnK4pzhfoY//sQRAoP8JoLVoBpGFARQSqgGSMUAkQpXASkZIBJBSpAlIyQrQQyGMUJBQtBJ0cxUHrhfopbDYqC+rGgxFMPJBuCxa4k/LUWw2GgH04aDEUw8kG4LFriT9StghEIeTHhJmnVxc+TBRb/+xBEB4/wjAdXASFJABLhKpAFIgoCVC1cBKRkgEiFqoCUjJDhTrJwQikDskEwIdp1eyi4mBRbhB10nxoRBXEzYkYkEaHOiFELkXVqpPnBUFcTHxIxIJIadEKIXIu1VerMuIQS00iEIf/7EEQEj/CQC1cBJhEgEWFqoAkiCAH4K1wApMDgQQOqgBSgCEGqy0ERC5dlSYWZcKhrVUKBiQbYHRohcuypMGsCIGYcMpIcXP2u2pOatMGsCIGUkFpRmNVJ4iHF2v1qtSkQyHbSEKJK//sQRASP8JILVwEjEhARAUqwJGJCAjwtXAMkYwA7hGrAZJhEAtlGxYqPeJG6rUpEVDtpClpKFbYbHDr4kbqepEjAMakRk2RKbjD94O94o7W7SJOCTShY7JM36tajdRC18KEYbBHjskn/+xBEBI/wjAtXgSExABABerAkIkFCDCteBIRsAEYFqoCUmJAr5H6lLe8RsrtfFC4bhQ+aQRTWJjMO++FrT7ZAIMXaNM4XrseEJN4n2Wn2yAQYuTDzOC29X2xFb6z9VZahFYf1NAaZSP/7EEQEj/B4C1eAKRBID0FqoAEiCwH4G2ADBMQAPgNrADEYAKLzYoHVFtQkYf1cgNMpRbwqYoHHRZiuKIAyQQkjQiVWDbmLFOyAoYgDZIApGjJVYNuYsU7FasFk4ZkwAMifUZiXlSaK//sQRAeP8IsLVwDJMIAQQWqwJMMkAfAvXgGkQyg/BerANIhkor11LC6MMuYEQjZpk3RjEqivXKgAYE2rImHLl79sSgnblcqCEAm1JY85cvfjUEoJ1C6ldaNhx0hMLCM0n2DgAm5XTSv/+xBECQ/whQtXASIaEA4BaqAkQ0UCEC1eAKRBQEAFqwAUiChtE4cdITCwjdWF44AtTKnhPdmhZhI5LuTHELizNdTVYE92aPMJHK7kxxC4szXVhGEDgBReBkCnXK9BILubrVCMIDgCi//7EEQLD/CDC1eARhhADwFqsAjDBgH4LV4BpMIAO4XqwDSIZJGiJVyvQSC9vVZgZkRxwlWOJb7X6C14q3XZizwjhZKzlla7mxDj6heuokmGrSCsZEoJfEe0prXYzRaokeGppBW1CoKy//sQRA4P8IsLVwBpMKAQgWqgDSMUAewpXgMYxKA6hSrAMRgEE8osfYzQ5fFBILpQu5kGn6vWTD66qDhgkF0oWnMip+r3ph/U96dIhMoWPkxND4rHtGNrdc9TRCbGCx8wnDYrCYKbW67/+xBEEA/wgQtXgSExAA+hKrAFJgICBC1eAKTAQEOFqoAUmBhagKjrnpj5OE39vugip1vVLUBCEbXPj8nCb+33QGoOt6qlotDQTaTYH5WQv42sgiGWqlsaIgnJdQflZC/kayGBlqJ4VP/7EEQRj/CEC9cBJgo4EAF6oCTBRwIULVwApMDAOwXqwJGBHD4kdESH8PFGfXxqSVs1VuKlRI6IkPk4IJnShsNVpOjgeFdlBC2LB3zKvVhWduqk+UGhXOAYfKB0mNjgTduqGaMbGJLF//sQRBOP8IgLVwEmMSAPwWqgJGJCAegtXACkYUBBBapANJhArS529MTLQx/riuBh8QUKFSUwG+6izuSX+tWDXDAy6QaZpQot8fnZUfi3VBrhgZdINGWMEHfF50YXi0FRERiqdiod8Cn/+xBEFQ/whQtXAClIEA+BaqAFJgcB+C1cASTAwD2FqoCRGQj+xrSoP9fSpYuKp2Jh2QMvUNaVB/rVPh1ASyTgOvItHctmSNXr1HkDICWk6HbimzuTl2lX69VuEJx7LMmbQobOFQwc9v/7EEQXD/B/C1eAKTAwEAFqsATJAAHoLV4BpGKAQIVqgDSkQHVaQQVjzrJR27VWzUstZfV7FbccwOWUARpbiCfydeCcauu3HJByygCie4FfybdAnmrrlpCPhuSg3G+Ag26kzEUw23lN//sQRBkP8IALVwBpMIAQAWqgDSYQAjAtWgCkwMA8BepABIA8IROG5FA/c+id9aqkOnq1hoUGACmAd7Qsr4rGPgNr1plChgARYBp7QspsVjHwGxfW1YDjhaZ4WPaiJPtuOACch1xiAw7/+xBEGo/whAtXAEUwABBhaqAEpgACGC1cAwRMAEKFqoAzGEAtdhY9qIk/q96yCOQ61WeBhKIqOxDqWgMS6MRxgouKdUdBA6IqL8OpaDidGJJApOKdVK6RCoETMRwJLJkhH255A5PLdf/7EEQbD/CRC1YAyUCwEUFqgA0oFgJYLVgEpMSAPIWqgDMgRMuGCgCaoUCzDWI7dcxh+lWpjIpEzdEg9JCC535T6w0f29FWBkomfQkHpRGzvxJ9WaP7eiEoYCwRMOFDlkJK3Ziiaw+J//sQRBoP8I8LVoApSAARYWqQBMkAAkAtWAEkwEBAhapAJJgMemEooKgjBwhLUJbdNjU1h8SqlTZCPs0GqmUBxFhNd1H2M10ixSPxSDUJqB5bCZa6j7Ou1QEiDD0wsYPbQX6rZUR1ey3/+xBEGQ/whQtWgCkYUBAhapAJIxgCECtaAaTCgEAFakA0pEBQEiDD7BIwv9V+u3HIdXsqtPliojUOnBxMuMqahqIARtNp8sVEah0sOJriY3E88EVabvS5QPM2YHHPgdmw7Vaq1Xelxv/7EEQaD/CHC1aBIRMIEGFqkCUmJQH0L1oEmAjgQAXqAJMBHIYimOBAs+ArNh2StVeWkgjEJtIShDZCIrPLl3tOrGWGIGxCfSEoQ2QiV+XXSHKyUNKQIFQYLDUcmQ5wa0MWQbrmihAV//sQRBuP8I0L1gApAHgQwWqADSYZAhwtWgEYYUA3A+qAIxhNBgkNR1odpkGd/LwqKx1mgTctIQvwic1CavZeFSMdikCeHUJS+TfRM1UvQwKBc/ME5LWSF7bFKIfhSl+UIBc1MDbS1sL/+xBEHQ/wgQrWACkYUA6BWpAFJgcCHCtYBIRsIEGFagCQjYT22KUQ/Cik5oyccYTOmpKjRBuY6Zh66TmjIxxg6XHqNFEPmK6WLraNRGE5klHtcB+ZvWcViVuqoaygR2qZHmhfrl4Z3//7EEQfD/CCC9YBIgOIEEF6gCTARwIILVoDJGZAOgNqgJCJBdrqpKixtRqh0euAMvtSwt1WddJUsTqNULD1wBl9qWFvqlEPjp1gtAGjygQV76PNuxQpKI2OHWCyAGl6IDmnRoFd1qKK//sQRCEP8IELVoEmEhAOoVqQJMJDAiQrVgCkwOBGhWnAFIwtg5BBwMWUAgo/QK8aPOM5kfBxQC5EmcDRMfoFuZSftTmR9p95KhasLLPYsjryYzqxe1e8yhasElK4cBM1lxmxdus1pCL/+xBEIg/wgwrWAEYQWBEBWnAJJgcB5CtaBJhIYEIFqgCRiRCjTB0aQexIpBUoYuQzUa0iFDmDoiJPNVJBUoYuR1UFoeFJhNcEBI1CB+X15C6FClBQolMTXFAkhJRvN7yj8UqGwjERO//7EEQjj/CFB1YAKTAwEADqgATJAgIwK1YBpMDgPYSqADKkBFQkBgpgYJuJj2k+/CtDYRkRO1QQBhKlkOpU3HNcjHRQQViJIyLFoDZTnmhz72HboMIUB4oQgwtBdTPHNfv51YfkQeua//sQRCSP8I8K1YBJMDoQwWpwDSMLAhgfVACxIOg/A6nANKRNwbCFYChfjEslVq2w/IhpOaQJjksVb8MfKNXF4lwNB9ZE2BsktkYjduh8G2wzVzOjKzWgbY1CLXqWEsuUghgcGEJ46I3/+xBEJI/wgwrVgEkwOA/hanAJIg0CNCtUBCTDIDyFqcCRiRQk1SIpAh5CuvoYygQPITx0Loi5JCIFMIV76GKwLB0m1QqTJ4LP9zXpeXiOksbG2m1RSJgsOHvRWw5ZFc2piSHV2BSHxf/7EEQmD/CKB1UBCUiaEMDqYBkmFUIYLVYDJMSgPwWpwJENDJxGdigywbestVpUiXcHouNqZ8ap+OptjsLBdhhSEGraKFuGHg377zeKB7dQj0XPQg7jjwZ/9bV0bEiS+A2F1H2BkjtA//sQRCaP8IYLVIGGKigPQVpgBYYHAfQfVgOZImg8g+nAZhiNYg1VObosAGIyxMDUG4DVHFQGIPU8aED8VrDQmUXOs7UGzGfU8aEFuFqQqLRh4GjVwr6p9Sqy2EwckiTio6ONkGyHTc7/+xBEKQ/wiQtVASwZKBEBamAZIyUB+CtWAyRjIEEFaYBmGFQ3VRW0sJhyR46HSYAtDaV6GV7FW04FTZw/ThIcEDBQvLpuQJ2XJwyPuVpwkMFjDTfO0IAA99WHgMEs1oAYDEEKDbEy0v/7EEQpj/CQC1SBLDEoECFaYCWDMQIoK1IEsMKgQwVpQJYMnJur5fBgdba4KB0cWUrYRRaR7q2LsBhUGSiAGJwSdlrWxOnVwdkx0MlDAMRxVbJ68RmtqmbRoK6to3FjLKIP4VHTQwi8//sQRCkP8IAK1QBJMDgQwVpQJYYlAgwrVAMkxGA9BKnAIyQM9MdVpi2EBE2QfwqOmgqhI5QiET4PD8WLYRSHu5eBjqqOUIjL4LAzGBFzlPacvAx1VaSiD4hcZKiscJdSKZoXxiD6her/+xBEKo/wegtVAMwxKBCBalAFhgcCICtSBLDEoEKFaUCWGFSwbIXMphswh1gUiDxAh8Vg8BBp5tUK05pM7dphAi+uk8IBE82VCshqRYG7lw1LXF3q8+MsJcDJphok4GsccfWKQsGGXP/7EEQrj/CSCtSBKTEoEAFqYCRiUwHwI1QBGSAgRAXpQJMBHKWBkeYayHpa+978WozwqMLkpwBQkg1RF6JauLO3PIRqaE4JIyAHQN0S1cWatTQ8I0jZwnCSC3C4ONRK6he1NDw2kbOL//sQRCwP8IEL1QEjEpgPoWpgCKkBAggtUgGkYWA+halAlgzExks2DoO0SdxVzsBwAaEhIJIGV2NtidMsuqtbCMQKqcGgkgi6NRDwSJdVe8DAMkyXCw85jFFHaDiRsWe8DAMkyXBIeYj/+xBELg/wiArVASIaiA/BSmAlgjMCGCtUAwkkIEGFaYCUjJRW4LaDjDYtD8VCQyfXAREJSA+wS4pG2H5EKGT5cBJCUgfqDOBI2olwNE5tTAAKAKQAOU6EFc7O5TM1blQOOHvQQcr1Bf/7EEQvD/CEC1UAyRkoEGFqYBkjJQH0KVQBJGDgPYUpgCSMHHO0lIQHiREQABhG6xVoQkU+qkpCAkJEJAGAgAvWKtMGpPqqxC5WqO0aY+GxG3A9irAZG8ixWDw5M+WaDiGdB8VYDI3k//sQRDEP8IEK1IEJGKgPQVpQBYMJAgQrVASYZKBDBWlAkZkUSPjE9SOWGQ2DJlGd9XQ8zky8cqUjlhmMVaxnde0PM5OKYHGRytZNxiEJHUzZDpI1kpWFiZVVMThEQwJpBkrCT1cLMRj/+xBEMo/wiQpUgYYaGBAhSmAZIyUCEClSALDA4D0FKUAWGBxUVGiopHSSVlbr2gASVMQ6DhIUOEgo0hVC2utAAkqYtTSQLCVBwAxQUaY1NTDA8qzXBpgVErFgZmAYVOQ4MHlWa6C6Iv/7EEQ0D/CIC1SA7DCoD+FaYB0jFQI4KVIBJGFgQYUpgBMMJBNKpBVtFQftKOO6qguiITVpAibRUbtKCx3VVTeDI0JHnBGP4icb6a+PpzFmLBkiHHnBsJ4ysr2a0dnMXa+AoNhtBx/G//sQRDSP8I8KVIEpMSAQIUpgBSMGAdArVgGkYOA6hWnANIwcdXX1llJrgu4Wc/BAkBoMCYJqa5ASLmM/6oPScgEEVyYJkYLXlfOGQ25EHFlCC1yYfVgDe9owh6p5KFw+aLhQOoVlE+r/+xBENo/wgwrVACkwOBBBWmAFIwsCLC1SBLBmoEADqYBjIE3RRh7hWWoS4faLiAfAYgPLOEQ+KqS4iICJjAMH0L0lOfIKo7VUlxogImIgYeh1RTXFxzr2VLBsjEtqCjuRpzxU4EBmuP/7EEQ3j/CFC1UASTA4DWFqcAkiFwIwLVIEhGwgPYWpgBSMHLVLBsjJbUBBmLY61RQGY+LVpPBQSDzSxEZgudT12ogW5q6TxAQDzRYsOwmdT3ajC3NX1eaJw4ekBQRUpJblxAFxmxeF//sQRDoP8IML1QEjAxgPwWpgJCZhAhAtVASEbCA/BamAkI1MikYs6QmHVKBAraCYy62piEwJ10yYIkDBV/e9HwpcVqZUkE80x4GVEgxw/gGg2K9Shg+KGk4jsIJoek44gbinUoobJJH/+xBEO4/whgrVASEbCBAhWmAkI2ECJC9UBIwMYDsFqcAkiFzYjqIDWteOIG4ousRmSNiwyZyKFam1QQD7411iM8RsWGTORVWptUICOJnuRpoPLpBVW1VG+SXEM+tddRIuHl0gCpuaYv/7EEQ9D/CGC1UAKTA4D+FqYAUjCQIAL1YEhEwgPQXpwJGJDH8ieMo/Wupy+DBILRg2jTxEzzc4oodUq5fBhoLQgPo08RM83OKKHys9D6ImdQbJ06XU+V6be9ilT06TEzqDYnul1Ple//sQRD8P8IEKVYEhGwoPoUpwJCNhAfwrVgMkYyBChWmANJhUm3vqpLSAhHZrmxPFZCjxh0XR1S1AhHZrmxPWCiyNej0fGuVF4XvJ1gz6Mqd6d1BNkrA3KisM3k6QZysEf5WuMCatwhD/+xBEQI/whQtVgMkZqBBBanAZIzUCCC9WAKQB4DuF6cAUgDz4kdESD9LrKdpRgEbWonhUqJHRDA/U1lPuZTkLq4DoPB4VtpBg2lYjTzF61OGgOFBoVtqBhtKyNPMf6as9hmRjYgo4U//7EERCj/B/C1WBIRsIDeFqcAUjBwIUK1IGBMwgPYVpQDYYHJ0G/djeOWGzXDNGMlKOApOg37sfpLVBp4YEJ6QJGZKDCLMvL1E5VQa4PFXLBozRgg7MvH5JSulREIws2mGh3QMFzlgo//sQREWP8IQL1YEhEwgPgXpwBSAPAggtVAGkwWA+hamAM6QExezXBURDYWbTDQR2DjfpT8aU51DIoDKyag7cQ+7cjtRQP26j4dICWk6HXkDz5OtKG7TwgDYSdY6EU00QqNSxloB7Twj/+xBER4/wfQvVACkwGA2BanAFJgMCGC9UAKQh4DoFqcAUmBwFYScmJQivaJKNSxlqD244kEjaQpMr8PL3jvaK2rcckHG0gyZX5xf472tbSpaQj4bkUG2bocM3U+5hNLZ1S1CThuRQMv/7EERLD/CHC1UBIyogD4FqYAkmBwIkLVYAoSAANYWqABSYHK7HGdn8mC52yG5w8KGaC87YMt0lQaL9nbDc4YFDNAm3tAdfIxkSf9tqwHNDba4bNnJDQf7ese6tvVUsIz42+YnNswkP//sQRE2P8IQLVQEpMSgQYWpgJSYlAeQtVgGlIiA5hanANKREm5wPRq2eBhKIqTiLrTBxTYaumoNi8sGMkVJ2LlWIM+NvTUrF1YF86MhJU1KAyONTbLlTsMDaOuk9REwZZVHAksqOm5X/+xBEUA/wiQtVACkwMA9hanAFKAUB/CtWASUAwD4FacAkmBg8IBqmVIRM+jA8yhOJdGejAxinVUzpKJn0JB5lCcboz5gY2dSEwqEoWmCgIcsgQFbaNNhJ9PXCUUFQRgUIHaQg7bRpuf/7EERSD/CLC1UAyTCgD2F6cCRgRwIULVQDJMMgO4WpwDSYVC3TKmxCE2aBKUygHSyD81tE3XSLFITZSBKE1A9LIPzW0TddtUBEQYemCTB/PBduN90nttUBIgw+wSML9dDriDrsL20H//sQRFOP8JILVIBsMDAPgWpgJEZRAhwpVgClAMBBBSnAFKAYywyF1DoeHEy4yl0sUhh9Dl8UJB4HSw4muJK8W3UpanehYwMM2SDjnmB8tp6iO7Oq70ucGIpkgQrhByeLGAX1S0kIyFv/+xBEVA/wkQtUgEwwEA/BamAJJgMCEC9UAKQB4EEF6YAkgHRIyOasIkM0UeMD75awXIX0JRzTgYjcTrUXmmrnSSBAFBh0cOOJgnvY9JurixIQFQYJGUceZ72PSbq63BkLiVlIEzC0gv/7EERUj/B+C1UAaTCoD+FqYA0jGQIYLVQBpGFgPAWpwGSYlKT4hLccasbeFSMdikCbjtBU/GS+LVtqpOigoFz8w3RxYIX71fllVUvyhALtTDclk0Cfcx9YNVK4GTjiBYsdREGEeMhn//sQRFaP8IYLVQDJMKAPYVpgJGJFAfwrVACkYWA9BamAFJgcQdUqVwMjHGEyM1SpEU6Ekoh1VWjRokE6qoEg1rgunj92Ed7RqIAC5NEoS1QPft56SG6aUoiNkBqhKDVmCS/Megk7WwX/+xBEWI/wgArVAMkxiA6BWnAExgMCNC9SBIwMYDyFqYAUmBwDHkHYaCzoS0Uex9aShkdOsLYDS9CAt547we9clKJccOsFmAaPYQK9yh4WvJQckBwMWUFDns4vIb9HfUqeEA4MWUAgqv/7EERaj/B/C9UBJgI4D4F6YCRgYwIMK1QBpMIgPoVpgDSMZOGpQ70d9VWG22VReTlR0Qby6gsZ7o2eHV8YHzvATK1NpfLQUkk2qExKhOxrH19vVxhyneAm6n4UclSasNS5Kh3xARi1//sQRFyP8H8K1ADJGMgPoWpQGSYxAgwpUgSYaGA0A2nAIaAErT1R9UsYlU8CqZLqz33i5roRKHYfLCyPtZCghEJYlccijEcQUayQayEvGKMEsm213PJxWntV3QvNzQAAAACgICtZ0FX/+xBEYA/whQtUgChICBABalAFJgcB7CtUARhhYDiFaYATDBzQV/AHHAFUSvBXEqpMQU1FMy45Oaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/7EGRigADDDlKFPGAAFqHKAKYMAATYP0YZhIAAcgdoAx6AAKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sQREsP8H4CVHcMAAgJYEqU4YABgAABpAAAACAAADSAAAAEqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqo=', + Db3: 'data:audio/mpeg;base64,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', + Db4: 'data:audio/mpeg;base64,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dIB1MUp1sIBVlAWUa4INVUD/+xBk64Ew9gvN4w85mA5gmr4EIgUDxDUzh+FhICkAa/gQAATAuxfNrYIa7XRAAAAAiLWmwpFS+cjRFsr287isfs8qGFcLX9+NUfIbYAAAAChtYRXybEVVkowBLinmhFgcTwKcBeOd+//7EGTij3CnCk2p+DhIC0Aa3gQAAQI0JzYMrOZgFgBsOBAABNI6fU+Kwc6Fsd5PV1foPsAHkDQhj8iq/cADe9pTetoNqWk5JzCC4TqG9ygQHCACgAAAAtUfv0bXH4jYVwGFB1LIqaaO//sQZOiDMLsJzkH4WCgP4JmuBwMBAtQpMqfg4SAqAGt4IAAE+ugqStB7YLmb1UGIo0xAAALdo5gK0a5VtlDhedhhLdHKiA4ld3Y9z9BugAAAA8S0QlcmwzFG4FWQ9QiGrLY8o6mhQ23/+xBk5gMwsgnNwwFKmA+gWm4F5gEClCk3BeRBICUAbDgQAASkwvNhwK5Xj3LzfQBYAOJ4AFOlRJlgAHyoIYByFR1JYPJsVMYHt93/3R+rr1rjrDeAAAAATiKgfU7EDcl2/2w3G4GAwP/7EGTmA3C3Cc0rAUqYDMAavgQAAQKgKTcMMEZgGQBr+BAABAAAAAC4L3BIpOsplsB6IWrWLeXmnb0eZQrd3igw+iCoC+RCbvpIjVAXA6JQIAAAAAAAAAAGeg/Y7SILMYRo783Q7wAA//sQZOiDMNAKTksMOZgM4BreBAABAzwtNQzgpKAqAGw4EAAEAACiQCARwKDeC/CVTEFNRTMuOTlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk5INwjQpMAwZpiAuAGt4EAAECaCk2rDBGYBWAa3gAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGTrgTD3C85rD1mYDYAazgQAAQOsNTeMPOMgLYJrOBCIFFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZOKDcJ4KTasAOogL4Bq+AAABAjwnPweASiAVgGw4AAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk6QMw3QnN4wxpiA1Amt4EYSEDKDU2jAjqYCqAa3gQAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGTkgADGCk3FYMAIDqAa3qCAAQYUQ1O48QAAXAJqewwgiFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZM8P8IoCU3cYAAoAAA/w4AABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=', + Db5: 'data:audio/mpeg;base64,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PPNAPwfSBptgALWKgYZ7nJb/+xBkwgMwgghPIC8QuA7A+aQF4hcB5B8+iKRGYC0CafgQPA3hbYbc47WCFGAhKN+0RMfk+4Al7mgAAjbB4sgl+tetsBQleNNER4gcQMjvnekAyd3AAAAAAPVdCljnDpT0lUkEgKR0b//7EGTHAzCIB86gz0kIEEC6bgMGEwIAHzqBRQQgL4Pp+ACsRCoByqyjTPhuRw9/4AB80SYdT+8zsaIZYJBgAALtF4HsGS7byeR/UBltRANWbRGFnAxcF1wRSQMABmWoaYWpju0Ot+Ts//sQZMoDcIoITiBPELgPwMqOAWYTAfQhQIE8pGAlg+n4B4hUsLersAAC1ZwMwg966tsdsKAKAAAAZdmuH6IoysyGMqqKEf5T+ijK3CAN+4r4D2Gy7acjth3SHcGYCI1nkXw7gZ5CcG7/+xBkzwMwmQvMQC8QuA8gup4ALxEB7B88gWBEYCeD55AUiIyD3rOQwMzrwAACeZBBwKynfzK51aioIgC9zW5W+8vFpRfOTVMOX+j9YBzZdgFgAAAeKgLhoQjQi1HTdW3LRaLQIBQAAP/7EGTTAzB/B9AgL0iYDwDajgEgF0IEHzyB4SQgLgKouAC8RAAAABhtYTuOU9gGBPhA0IG8ra+Ht45buGP0IDXjjXyQ53h5YHcAcAAAAAAAAAD4xK+XI9bwGQjzlPKW6tX/D+/wAAAA//sQZNeBMIELzqAvELgQgMouAeYTAiAfNwFhBCAxAun4B5hNAAr+BXApTEFNRTMuOTlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk2oMwjwtOoFgRKAqg2pQBIBeCOB84gzxEoC8CabgAvEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGTfgzCAB9AgOFiYD6DKjgHmEwIEHzyAvELgMQLn0BA8BVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZOODMI0Hz2AxQQgNAQmkAeIVAgwfOoGB4CAxAuo4ECQEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk54MwwgtOaTg5KA6A+YQF6BMCiB9Bwz2CYDyC6fgQPAVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGTkAACjB81FYKAMEYCabqUAAQVUL0O48QAAbwLpOx4gAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZM+P8GYA1XcAAAoAAA/w4AABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=', + Db6: 'data:audio/mpeg;base64,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AK0A4AAAEvgKb8h4AAA/gGj/+xBE8g+wXgfT8UBoSA4hCn40CgkAjB9OBYGhICeHqrjAKCQAAAxY2AMBQ8z/0I5wBoRysOqf6Y8A8IVFQMj8xf/KC3VMQU1FMy45OVVVVVVVVVVVVVVVVVVV8AAAzwDgAAAIXQHDv//7EETyi/BjCFRxYFBIDqEKjjwHCQDMIVXEgUEgIoepwPAoJE+AAARoBwAAAQx7QHDv/1Hc0AAEdQD2jwDAhcwliye+LExBTUUzLjk5qqqqqqqqqqqq8AAA3wDgAAAObAYL/o8AAAvw//sQRPULsGEIU/GAOEgRoepuNAJzANAhV8SBQSArBCn48CgkDwAAASrXBOBub/6yNnAABC8Ey2gAAFcAeGfD2Oj//OGt8AAAzwDQAAAGX4BJP9PgAAEaAaAAADhNfBBE9v/oT+G7uX3/+xBk9QuwfQhT8YBQSA2hCq4EDQkBMCFPx4HhKB4EKfhgNCTB4GWskY45doJPr/D4g1K/N7uju7gCmW/Smr/XvlTtBJeI8a9+jlc0JCFVTEFNRTMuOTlVVVVVVVVVVVVVVVVVVVVVVf/7EET0C7BfB9TxIGhIDoEKjjANCQDkIVHGAWEgLAQpePAsJFXgAAD/AAAAACs4mJdAO3f/gAAAAJyuPjERE4IjR9ClYUxBTUUzLjk5VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZPYLsIAIU/HgeEgNYQq+CA0JAXQ9U8WBoSAehCs4EEAkVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBE/4swYQhUcQBQSBfhGa8kBwkBDCFTxIDhIF0HprjwHCRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EET3i7BpCFRxYDhIEYHqfjwHCQEMIVPEgaEgMYeqOMAoJFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQRPSLsG0IVXEgUEgP4eqOPAoJANAhU8OBQSAnhCo4wCgkVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBE9wswbAhV8OBQSBEh6p4sDQkA0CFRxIFBIDYHqjhgNCRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EET/gzBvCFTxIDhIEQHqbjwKCQJsJU3EhYEgbgfpuMYMPFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQRO2P8F4IVPAgGEoUASp+BAkDQAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=', + Db7: 'data:audio/mpeg;base64,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qqqqqqqqqqqqqqqqqqqqqqr/+xBk7gPwbg9R8QAQSApgCt4AAAEBFD1TwoDj4AAAP8AAAASqqqqq8AAAAADwAAAEfjwFwAAAAAA8AAA//0h31Bv/9FVMQU1FMy45OVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV8AAAAP/7EGTvg7BpAU9xIAAICmAK3gAAAQEIPVPCgOPgEABm+AAABADwAAAO+DEAAAAAAB4AAB//ogAAAAACQBwGH8wGO//WhUxBTUUzLjk5VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZO+D8IcPUXjgEPgKYAreAAABARg9U8KA4+AAAD/AAAAEVVVVVfAAAAAAwAAABD//FQAAAAAA8AAA//0gABwcZ6BqTEFNRTMuOTmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqr/+xBk8IHwXQ9UcOAo+ArgCc4AAAEB2D034oCj4AAAP8AAAASqqqrwAAAAAPAAAAZ8aDAAAAAAB4AAB//o0AAAEv4WCLVMQU1FMy45OVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGTpB7BfD9RwoDj4AAAP8AAAAQDEPVXDgEPgE4AreAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjk5VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZOkLsFoPVPDgOPgAAA/wAAABAMwFV8KAACATgCt4AAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk7QOwgw9OeOA4+AAAD/AAAAEBLD1Tw4BD4BOAK3gAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGTsD/BiD1Pw4Dj4CmAKzgAAAQBkPVQDgKPgCYArAAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZPAB8FsPVXDgEPgKYAreAAABAdg9OeOA4+AAAD/AAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk7AvwYAFUcOAACApgCt4AAAEAyD1Tw4Cj4AAAP8AAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGTsh/BdD1Rw4Cj4CmAKzgAAAQDsP0/BAKPgAAA/wAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZN2P8AAAf4AAAAgAAA/wAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=', + Db8: 'data:audio/mpeg;base64,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9bBGkwgPAACGlUxBTUUzLjk5VVVVVVWogAAAAAAHAAAFkjrf///83DgAAAAA//sQRPuNcL4CTPkjAAgQA8nvFAJfASwFNmMAACApAKe4YAAEADgAAAowv/7jvohQAAFknf///0OMTUwAAAscGf////iZTEFNRTMuOTlVVVVVVVVVVVVVVVVVVVVVVVVVVVVViAAACwD/+xBE9gdwfB7N+KAS+A8Dyd8UAl8AyAdTwwQAKC+BJ/iTAAQABwAAAYYNDf/pOWkM56l3AACJdmv///9R2kAcf////SpMQU1FMy45OaqqqqqqqqqpAAAAAAAHAAAGETX////T/gAAAP/7EET7B0B/Ak94owAIEgBJ/xhAAQFgAzSDAAAgOA8mtCAJfABwAAAwOlHN/mQIW6VRAAADRU////4fqgAAGip////01UxBTUUzLjk5VVVVVVVVVVVVVVVVVVVVVVVVVVV4AAAAAAAH//sQZPOH0IceTXjgEvgIoBq+AAABAYh7NcOAq+AYgCeMAAAEAAADSBtf///6XlIwAcAAD////6IVQAAKDh9/8VGFUgKKTEFNRTMuOTmqqqqqqqqqqqqqqqqqqqqqqqqqqQAAAAAABwD/+xBE94dwewFOeSAACBGASc8kYAEBOAU9wwAAICKPJvhQCXwAAgcEHf///9QA4AAH////0wwAAAgPs//eQeLV////8lVMQU1FMy45OVVVVVVVVVVVVVVVVVVVVVVVVVVVVXhgAAAAAP/7EGTyB7CGHs144BL4CAAJ8wAAAQGAeTPDgKvoEQBoOAAABAcAAAMCcaj6f9A47Z8qAHAAA////+iXAAAGCExP/xDkqkxBTUUzLjk5qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq9AAA//sQZPMHcHUezeigEvgIAAnzAAABAewJNcSIACARACr4AAAEAAA4AAAYH0/65AVp9ADgAAf////TuAAHGEyn+zMGHnytTEFNRTMuOTlVVVVVVVWHYAAAAAAHAAADARGGp/7CtQA4AAH/+xBE+QdwhQFO+SAACA/jyb8UAl8BdAU1xIAAICqBJziRAAT////0fYABgTGGHf0OAw3oASgDj////////////v76tCpMQU1FMy45OaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqoYAAP/7EGTwh9CcHs144CvaAAAP8AAAAQF4BznEhAAgGIAnzAAABAAAAAcAAAERUb/10BFLVvQAGOIo3+WhBPDVABx////9NUxBTUUzLjk5VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWG//sQRPgHcH8BT3jAAAgRg9mdFANfATQJOcEMACAkgSh4IYAEYAAAAAAHAAABELorf6TDvJ+AACqH0//FHUoAcf////QqTEFNRTMuOTmqqqqqqqqqqqqqqqqqqqqq+AAAAAA4AAAMk3//+xBk8YfwlgJNeQgACAgACdMAAAEBlHszw4EL6AAAP8AAAATztChHySLgAAAeAAAAAB9CHdgAAkAAMoNmP/8yz6Bm5PlMQU1FMy45OVVVVVVVVVVVVVVVVVVVVVVV2gAAAAAw4AAMFP/7EGTyB/CHAc95IgAICAAJ4wAAAQFgezXDgGvgEgAnQAAABBQff/ZQgMKioY/qFKPUAOAAB////9IA4DJxFv+H3R5VdUxBTUUzLjk5VVVVVVW5AAAAAPAAABpoP/oQnYAAAAADgAAD//sQZPEH8KAezPjgEvoIAAnjAAABAUR5N8OAS+AAAD/AAAAEKT/+O9X+AAA4DBpGX/yjKTDgAAGAACyYI/T///TBR5dKTEFNRTMuOTmqqqqqqqqqqqqqqqqqqqqqqqp2AAAIAAAHAAD/+xBk74fwfx7NaOAq+ggACdMAAAEBeHkwg4BL4AAAP8AAAAQDIpNT/7+Y5w1owcAOAAB////9MMwAAaj1TH/+uGQIWqxMQU1FMy45OaqqqqqqqqqqqqqqqqqqqqqqqpZgAAAAwAcAAP/7EGT4h+CJHs144BL4CAAJ4wAAAQGwezCDgGvoOgBmDAAABAEgXDnf///zXo+O4+q+3hgAAxQWn////8P5cAcf////RUxBTUUzLjk5VVVVVVVVVVVVVVVViAAAAAAABwAAAQExE7/b//sQZO+H0I0eTPjgKvgAAA/wAAABAXR5MoKAa+gYgCeMAAAEYZosAAAAHgAAAAH9Y2GUAAEBwy393hgEjtYAcf////SqTEFNRTMuOTmqqqqqqqqqqqqqqqqqqqqqqqqHYAAAAAAHAAD/+xBk7ofQix7NeOAS+gAAD/AAAAEBNHs0goBL4BiAJ4wAAAQDgzOOb+rRgaxPkqAAAaAAEALtv/uiQ1o+NtgDj////6JMQU1FMy45Oaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/7EGTzg/CLHsxo4BL6CeAaLgAAAQIUezPDgK9oAAA/wAAABKqqqqqq/AAAAAA4AAAZwJn///+XIYEeAAADGDV/32GcikxBTUUzLjk5qqqqqqqqqqqqqqqqqqqqlmAAAAAABwAAAUEB//sQZPMN8L8eS2jgGvgIAAnzAAABAVR5MGOAy+gAAD/AAAAE9//DTU7AHAAA////+nMAAAYcAAEBMy/7VtDlMPN/pv8tTEFNRTMuOTlVVVVVVVVVVVVVVVVVVVVVVVVVVYYAAAAAAAf/+xBE+QUwbAHQcMEACA1j2a0IAl8BcHkzooBL4EEApriQAAQAAANB+x3/VQGBQnzgDgAAf////R/gAGCo1Uz/acA3gypMQU1FMy45OaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqeP/7EGTyh/CjHkx44DPaCAAJ0wAAAQG0eTPFAG9gAAA/wAAABAAAAAAABwAAAwaOJ/tkGxT3AAMD6X/2QELOIAOP////pkxBTUUzLjk5qqqqqqqqqqqqqqqqqqqqqqqqqqrSgAAAADgA//sQZPKH0LoeTPlANSoAAA/wAAABAYgJNcMMACAYgCeMAAAEABxjo/93ehxfxrqAAASAAHBEi//rhsFYcaLAHH////0VTEFNRTMuOTlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk9YfQjx7NeOAS+ApgCe4AAAEBmHkzw4BL6BiAJ4wAAARVVVWFYAAAAAAHAAADAmSd/Z5xDrkeAMAyPfrz4QThRSpMQU1FMy45Oaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqh1AAAP/7EGTyg9CbHsz5QCr6AAAP8AAAAQIIeTPFAG9oGIAnjAAABAAABwAAAYSKmN/rQHMn4DAEQuh/m/YjQ4RMuAOP////okxBTUUzLjk5qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sQZOuH8IoBzWjCAAgAAA/wAAABAUh5N8KAS+AAAD/AAAAEqqqJYAAAAAAHAAAHUxOoX///+VM1zIAAAgVEs7/fUaUqTEFNRTMuOTmqqqqqqqqqqqqqqqqqqqqqqqqqqqqq+AAAAAD/+xBk9ATwih3NeUAS+ggACeMAAAECdHkto4DL4AAAP8AAAAQ4AAAIyS/7GYQKa1IAHAAA////+mGAAANRgh/+rUB8zVZMQU1FMy45OaqqqqqqqqqqqqqqqqqqqqqqqqqqqoZgAAAAAP/7EGTxh/CbHkx5QBr6CAAJ8wAAAQGAezKDgEvgAAA/wAAABAcAAAERsazfyOOPsxcAcAAD////6IgAAB1MAf////lXV0xBTUUzLjk5VVVVVVVVVVVVVVVVVVVVVVVVVVVVVXZwAAoA//sQZO6H0IgezfigEvgAAA/wAAABAVR7MoOAa+gYgCeMAAAEAAcAAAOKmTW/+jcS25NQwAAAiKTU/2qCA+yQA4////+lTEFNRTMuOTlVVVVVVVVVVVVVVVVVVVVVVVVVhVAAAAAABwD/+xBk8YPQiR5MaOAy+gAAD/AAAAECBHkxw4BvaBiAJ4wAAAQAAhFVWf/DVQWUKi4YAAA4IBP////mgODJk2AOP////oVMQU1FMy45OVVVVVVVVVVVVVVVVVVVVVVVVVVVVXZwAJAAAP/7EGTsh/CUHs144BL4AAAP8AAAAQFUezKDgEvgAAA/wAAABAcAAAMGKU/9vsM1aoYAAAQExv/7CW0sAAHgDj//LO//pUxBTUUzLjk5VVVVVVVVVVVVVVVVVVVVVVVVVVVV+gAAAAA4//sQZPAH0I4ezXjgKvgAAA/wAAABAZx5MIOAy+gYgCeMAAAEAAAIDhlv9dzh+YcXAHAAA////+kGD6Hf9zGBWGw8AD+pTEFNRTMuOTlVVVVVVVVVVVVVVVWWAAAAALAHAAACAfZq3///+xBk7QfwmQLNeSkICAAAD/AAAAEBZHk3w4BL4AAAP8AAAAT//uoMhjsAAAAMAAAHAAA/0f//5DegAMUDCS/zusEbrNJMQU1FMy45OaqqqqqqqqqqqqqqqqqHcAAAAAAHAAABBRyX///7EGTwh/CKHsxo4Br4CAAJ4wAAAQGQeTPFAKvoAAA/wAAABP//vJOS1IAAAAeAAAOAAB/gl///phgAAAoYe3/WcHnj10xBTUUzLjk5qqqqqqqqqqqqqqqqqqqqqvQAAAAAOAAAGBMy//sQZPEH8JgeTPjgGvoIAAnzAAABAXwHN8SIACAAAD/AAAAE/8h0U60AAAAeAAAA4AAH9////RDOAAEHoQ////0DTik1TEFNRTMuOTlVVVVVVVVVVVVVVVVVVVVVVVVVVVWHUAAAAAD/+xBk8IfQmx7NeOAT2gAAD/AAAAEBiHszw4BL6BiAJ4wAAAQHAAABAfGqt/TMCPh1X4AAWXG////3FA+g6oAcf////SpMQU1FMy45Oaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/wAAAP/7EGTyB9CeHkx5QEL6AAAP8AAAAQHUBzPEhAAgGIAnjAAABAA4AAAYHzHf/Ijhryb3oADYOGf///4nC7wAaAHH////0UxBTUUzLjk5VVVVVVVVVVVVVVVVVVVVVVVVVZYAAAAAAAcA//sQZPEHkJAezXigE2gAAA/wAAABAVx7NcOAS+gngCd8AAAEAAOBRV/+ozwjAABIAAICBKf/dlzCXpxwaAAAOP89///pTEFNRTMuOTlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVYAAAAD/+xBk8Q+wkB7MaOAy+ggACdMAAAEBGHkwA4DL4BAAaHgAAAQAAAcAAAERV/72IBt22AOAAB////8ntRgGGUjdvdDg2rZMQU1FMy45Oaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/7EGT1h/CoHcz5YBD6DkAJzwAAAQGUezCCgKvoAAA/wAAABKqqqvgAAAAAOAAAOl0////+QGmC6P8AAyVJmJ/zFBWNRUxBTUUzLjk5VVVVVVVVVVVVVVVVVVVVVVWHYAAAAAAHAAAB//sQZPUH8KEBzXkGAAgOoAnvAAABAYh5M8OA6+gAAD/AAAAEhUbod/fMAtrMUAOAAB////9MMAAAIqcv+2wPzLf////rTEFNRTMuOTlVVVVVVVVVVVVVVVVVVVVVVVVVVVVV+AAAAAD/+xBk84fwgx7M6OAa+A4ACe8AAAEBoAc1xIQAIAAAP8AAAAQ4AAAcOFD/+VwYpqZQBwAAP////o+oABEVGs39TSiCQpRMQU1FMy45OVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVYeAAP/7EGTxB9CcHsz44Cr6AAAP8AAAAQGYBzKEiAAgGIAnjAAABAAAAAcAAAMmkHMb/sM6j8AAOURf///6IVcUAHH////0qkxBTUUzLjk5qqqqqqqqqqqqqqqqqqqqh3AAAAAABwAAARFJ//sQZPAH0IoezWjgKvoAAA/wAAABAbAHMoMIACAYgCeMAAAEEw/+uwe1cgA4AAH////xaHUAANRiRmv/mgw1qf////oqTEFNRTMuOTmqqqqqqqqqqqqqqqqqqqqGAAAAAAAHAAABgiH/+xBk8gOQfR7NeUAS+AAAD/AAAAECAHkzw4BPaCWAJ3wAAATP/wmoim0gAAAAeAAAAAf6f+AAwYcrt/yDOoAHH////01MQU1FMy45OVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWGAAAAAP/7EGTwB/CNHkz44BL6CEAJwwAAAQFgezKCgKvoAAA/wAAABAAHAAACBQ////96T9iYZQAAQFCO3+mdxz2UAHH////ySkxBTUUzLjk5qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq9AAA//sQZOyH8JABzOkhAAgAAA/wAAABAXR5MoOAq+AAAD/AAAAEAAA4AAAMPRP86QVE0o6GAAAEAqq/9Hgm55ABx////8R1TEFNRTMuOTlVVVVVVVVVd2AAkAAABwAAAwVGxx/9bHwgzrn/+xBk8wfwnR7M+OAS+ggACeMAAAEBaHkzw4Cr6BCAZwAAAASQAAAAAA4AcAAD//Q3/+mHAAAaWBT////kWFgAA///CSpMQU1FMy45Oaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/7EGTwh/CMHszo4BL6CAAJ4wAAAQGQeTCDgGvoAAA/wAAABKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqvAAAAAAAAAAlkxBTUUzLjk5qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sQZO+H0IweTfjgEvgAAA/wAAABAXAJNIOMACAYgCeMAAAEqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqr/+xBk9AfwmR7M+OA6+ghgCcMAAAEBkHszxQBL4BEAJ4AAAASqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/7EGT0B9CVHkz44Br6CaAKHgAAAQFIeTSCgEvgGIAnjAAABKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sQZPCH0JQBzXkhAAgAAA/wAAABAZB7M8OAy+gZgCbMAAAEqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqr/+xBk74fQiB5MaOAa+gAAD/AAAAEBeHkzw4Cr6BqAJswAAASqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/7EGT4B7CkHsz44BNoDoAJ7wAAAQF4CTXDDAAgFYBneAAABKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sQZOIP8EYAVfAAAAoAAA/wAAABAAABpAAAACAAADSAAAAEqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqo=', + E1: 'data:audio/mpeg;base64,//uQRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWGluZwAAAA8AAABwAAAvIQAEBgkLDRASFBkbHSAiJCYpLTAyNDY5Oz1CREZJS01QUlRZW11gYmRmaW1wcnR2eXt9goSGiYuNkJKUmZudoKKkpqmtsLK0trm7vcLExsnLzdDS1Nnb3eDi5Obp7fDy9Pb5+/0AAAA8TEFNRTMuOTkgBK8AAAAALIQAADUgJAUATQABzAAALyEylyPMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//sQRAAAAEsAVPUAAAgAAA/woAABAzhXXBiygABbCuoDFlAAAADQAAAAAADy+zuV6s5k6vBDIcDhRjBwDC/OqCafI6RJGfRs7lfs5k6vBDLwOIYwcAwvzqgmnyUiSEywVLUYITR7WeP/+xBEBQ/wlwtZBySgABDBWtDkiAACDC1kAxihQD4FqwBgiYD/MhuFC0gKFNtlhCW7BV7tZ5v54bgjynMdWBiAyOHWynLMJOgqcD4fRxUDMUjh1spyzCVoGXA8Po66VAgVCmaR4VJWwf/7EEQFD/CRC1mBIUGADSDa8CQmMQIoK2IGJGFoPwVrAJMIbXJqa/JWWSY1piREhnTkSW0POolTuigUic1OA0/cgMLHbVn8PbJyeAEj77gVt5Ag4t5q8PbJyeo4DOglNoUFj94cHk3L//sQRAaP8JIM2QEpEFAP4OrQJMYSAjwzZASYSqhABmsAZJSc5R6gxnsOCXRVaQAAg74UOLdhtZL1B7EDDoLFz9vDxhaFVvYXOEPxAoIQqFi5/6HoJsI/CZcQlQ8VMhmDxo1L8EHH4kv/+xBEBo/wmQtZASYYwA9hauAYwgsCDC9kBKCmqD4F6wCUFNXiQBZ823WBCUQDFoopfiEi8SuJET6Q8RGV3xRkaQoPGPSUzhjRdB4seRvsujMhQeR6SmcEaLVIekGtVMoXexgTTTxoGf/7EEQHD/B6C1mBITqYDgFq4CQlUwI0LWIEmKhgPIXrAJAJhIgSHpE2qslT3soJprkBZCQ+DZxlGbIha2BhtoW4kCLbMyHw2ciu2RC3pZm3YYRF6IRkfllaygiZlgehlTlfiE5mwkjJ//sQRAoP8IYLWQGJMSgOwWrQJGVTAlQtZASgpsBBhatAkYjYYxUszXOSDUjwgPmToJjBXVz4OLDEBDBrzOYHsee1nQ2MFdXPiCzCCYr25hdk9rUQoAB1cC63oUhE36Aaoi5AH6QC7Yj/+xBECo/wfwzYgOYoWhDBmrAlAxlCNC1kBIRMADkDa0CQpEVMG1YoxKpz4BdCuQB9YERFDCckF44gEqmKPOPOeoPrBUiSbMC95AlMc/M7BRkSIT2Iji4fvQgEA7U1JrrB0cZHMWOIw//7EEQMD/CCBtiBJzGAEeF6oCTCRAJEG2QEiMIIOoOrQJQMVL3WERFbmgOk0nWqCAqCsAJgFLb4SRpOzOxez/8TDBMKchwdOzgCilQehtCoUjMt3gIELHMFwwUmm/4XrIcuIEj5PZQi//sQRAyP8JYM14GJQagQIXqwJMUZAjAtZASETAA8BatAk4zERnQLCDOSuwbKVpAy2CUy1iE9nmS97RYMeJbdyQM6GprRKh0jAYZlPBvEtThkkQQgMEAt5FSSn4UFdN7DhkkJMgUIA5X/+xBEDI/whAtZASATAA+hCsAkwEMB7C9mBIRKaEGF6wCTCGVEQhlrgpdNnCE8GYNO7PouFsK4Ubw7APEJkMxSjhu0TN3StwY3h2AaGh0jagMBR9kFIWmevYM5VPWHjh4j2AwFH1EgDv/7EEQOj/CRDViBJjmgEMGqwCRlNAJYL2AGDKpoQwXrAJMJDWfyAuNT1lIXLhGeZRLkevkMGY9tqQE4KZHAkiE0lTxYXuxZe7rVBHDWVVg6DYwzMPHheLi4TSJ54KwZaI47lyrZSPRv//sQRA0P8IgLWIEmGhgSAVqwMCJhQggdYgUlICA0g2sApJgcX23Lxplgn5G8hsTiVCqYeL44ZRrvfFYneiGyMSxVY0X+CbD/asPqQwPkAT3kYiBVrdEctBV2VqBraYJjB3S5EB4nA2P/+xBEDo/wkwjYAYkYug9g2sAkIjFB+B1gBJki4DwDasCEmATpdy3PbD5oUCajSHQtgUTpjMQwctDJyAeosgiM7EUyRyqXOLoPogREUDoWGxbIHWVDVeBlmHJD6IKiKlRUXDmQLo9HQP/7EEQQD/CSC1iBKRkoEAFawCQiUwIkLWAEoEagPwWqwJKNFE1CAdEhKOQ0oQAwjqDK9iYIeK3DJhkchpQUBylKGrycgqK3VSoICoK9waJhv01I2StzA8H5ssABQL8CgZH6bNGvDYve//sQRBAP8IwLWIEmKagOYWrQGCVTAjgvYAYkpOhAherAlBTUyHozLb/lCCc4vCUXCdtQ3JvioZHxPOiih7yeFlRbY0NoqYAhXiU+kJwlB9SCoy0wYFyE4LbiVdCMiUH4l4y0wZ2Qk4L/+xBEEQ/wiQvYAYcRig9hWrAw4jFCKC1iBJxqIDgDa0BgpEVSQkYogXF8aaCaxGvQpRagoaQCERAuL5Js1pW8V3UPBkWBFgiJmj+MFB4XE7RuLB4UjoZYRInj2IEeF87RPFgeDw6F2v/7EEQTD/CHC9iBIwKqD+F6sCRgR0I4L2AEoEaoPgOqwJCYzCAKAO3RARNSPrEd3ZDwweFbSgUAcqQVQCespegThdYRiVErGaeBxbAAjvfBfFnB6QmaMDGbZ1oZ1tWmIwvKjKgIBsOV//sQRBQP8I0HV4GGQKoMgNrAJGYTAiAfYAYlImA+A2rAlKRMyAmSxG5RlZYXAsQRoKD4croERDnVGVqAuJxKyr0halREdq5F4iqRwZLyyq8AxCixcTaTxELUrgbGBubYoBJnzGGQ6U7/+xBEFo/wgAtYAWkQWA8harAxAhsCJC9iBIwKqDeDK0CTJAxBtHasNiBe2QBZnzUCj8hAV1UPmiQe0iekm9CgWNtt7FIqQHyZAL6qeOC3SOLjVvQEJqQB5oAIHURiAEhfUDApTL0BPP/7EEQZD/CFC9gBJgDoEIF6oCTCJwJMLWAEoEhgQQWqwJOUxF6A+aBEaouUCwNkChjOvQY8XRpMCyWKanEsb5QgAoXlVjAeERlAyOI5YLwZ8gmrv0DYRGQCBoQwISzx6OliTNovDb3o//sQRBkP8JALV4GGKigOwWqwJQUZAigtYASkoWA7harAkwhcOhQVCGCIo8dPFAF9ePfQSjqLy2/c7EtpRIBLrR+oqLWqhkTiec0YJpqABdy26d23WAyThZtwqOnpJvEnaAD638k3gQr/+xBEGo/wiwtYAYYRqA/g2rAlIxNCNB9gBaUgKEUD6oDEpE3xKbgKhsWkq0Sd8h9f8k3VKAyYCRFdObDa10E2OrJReZKDooDDtLiYOOeoi99Yln5kTgpIgixJjLQZYTBhecC6f7IHAf/7EEQaD/CEB1eBLDA4EEDqoCUrEwIkHV4GHSYoRAOqQJUgxZFgMuLEzw5SQgfaLpb2dhcPAMgm8sSh072PrT5j+v5sDhAaiW8sZFTPRRXtaJ3qpA4e0NNESJ4u0QjkxUtbFg8PNA00//sQRBqP8IYG14FpYAoQANqgJYIHAegdYASJJiA8A2qAkqTEsiEwPaZHA+1i6xoeBsKOICUaF5wLCrW+oiMGhcPxw44LJeDe+B1+0/oiEFAuJxLGUg2HeqVPTy+ihlKgXJx2NSE4S7L/+xBEHQ/wggtYASYSCBDBapAlgwcB/C9gBaShYDsF6oC0iCzJ6eX0jU24HykPd2hKqaxcbnbrvkDPZrgfIA93XD6QS1zaeasWQF9m2XxkYFHWWgTUzBGexiG/Ag0VOg0SB3Z0BkM5Mf/7EEQfD/CIC9gBiSk6EaF6kDAlU0IsLVwGJGMgPoWqQJMMZL8h3gQoqg+PAZGO2OiEWpwy1mJ4R6aA+PAiHtbMh8WpgqeGYZvGk4NR8pV86G1rHaQSvQe6UgsIixTX0w2tAxLMl9B6//sQRB8P8IQK2AEpEFgOwMqwJSkBAggvXgYESmg7BaqAwQkEqg+AgqGYHTNi2nAoVBl0tFAPAQEhCwVHWgjrRKiw46WhQgh6EY7vtlsHHe4pvBotrv6XRFD8P305bBxXMG446u139qn/+xBEIY/wfgdYASkwOBDA6pAlKRMCFB9cBjBhKEKD6gDGJE0NUZ/JgEYFG8RqgVSGvoX9LQijBJshYFQ/h8hTM96F/SkDIoDDkYnQAzLknsLi03HqAySBhy5bcG+2JCy1TcfVKQUkQv/7EEQij/CLB1cB5kiaEADqkC0mB0IAHWAEpQJgOwMqgJYYjGu8obDs3PE0tv3DaykFJoTXZYVjLVJhTbfnHrDwoHRXKycQtdIDjw9D8UKRINRLtx+NI75JNtu2HeKKA41w0iWOTQQW//sQRCQP8IAL14GJKTgPgXqQMMJDAeAdYgSEaCA/haqAwwjUaE0tJ+A5CwHH5A00scTCIpMKbw5wGkLB40JwpiBGMhsgwDta5MNNA2FMQIwPBlEA5z+UaZpCDc3NeaSJAY1IOh0k2Gr/+xBEJo/wgQtXgSEbCBBBapAkwzUBwB1iBJhGaDyFqoCTjMSQg3VkXmi4YBt6kBQ5zYTy8B40A8xhd47I2HiPGrdhq/A+HhHZxMiHZNrAd7cg1dVOMjwj3YKg4BuCHSk1xSUThEeDN//7EEQpj/B6C9gBiBGoD8F6kDBiRUIAL14GJEFgPIXqgMSIJNgeAkbl9Y1WNrhJKB8OgZEGkiICD4iDHhtslSRRkAEY1EhAYJxciRnSUk1KA9IyJIgEkO3MopFaFiCTE1CRCxyhUSiu//sQRCwP8HoH1wGBMYgQoPpwMYwBAfAbYASYwmBBA2pAtKQEvRBk9b7A8GA8FBUH0CY0cHbWLJi5zKncFYsBIHXGyy8N9aXLxc5lTuUZEoNicaOAe1rBxBYUfEMkMhkGwb/UIVpdACD/+xBELg/weAdYASZImBCA6oAxpjFCEBteBJkiaEKDagC0sAWL3xWSbStDYWbEJnUFWQFD0M2GeNbStJws2QmVRJSgDg+N+GaNoHpgIjq86JZQ5M4IvE6GDeXC0wCh07JRLDbkwYZeJ//7EEQvj/B/B1gBIUiIDyDKoCWGEwIQLVwHpEEgQgWqAPSMHEMG8kIDJYMXVrJAHOhUVykLlFxZCBiaE11l1YGtQA3Kd5Rdqg8GB0E1iwEFDaL0YO19J3A8CA6BvS4aAMOyto8O15U7//sQRDGP8IcL14GGKhoRIXqAMMVDQhgtXgYkZKA+hapAxQzEAsrKgUi7IgXefaZ3FTQLVWDT7h897pcP/RprQ/gWOWoHkQNgEgyJgDC8VExbQniWGxqQNghBwmAYOxSszo3EsmmCLQb/+xBEMg/wfgbYASYwmhDA2pAlKRNCAC1YB6RBaDwFqYDAjU2V55wrhvEjljU7ME+UTgzNyL1nCWWtUbxlfmCfLVgBlgvaAeaD6yI0gLW1tAfKRL04LT4N2iNINteXcpMJHhHu0eBOlf/7EEQ0D/CIB1eBKUiYD2DqoCUpEwIMIVoHsGKoP4QqAMeMxfFwGH9m9S4uPCPeA8AuGfDwBlsTN07SL4zEUqWKDljKImjY6T64jyOh0ERBMs86Y6HBKU6uIyE06NR8WMFgdxhRGNhi//sQRDWP8HEG2AEnMYgQINqQMOYxAeAZXAWwwKhBg2oAxgxNU+NJiedIhY4wWCOG1G04IlPjSdUDxoiLsIm4C2aus5P4JUJ5CMim4uXyMZ98S1PMJUQSyLx3egEgBjPYKgSWbQESaGT/+xBEOI/whAvXgYYYyg8BeqAkQFVCFC1cBiRIIEAFqgDGCJSUGwb2BIAw3YNBJtoCSaVcloo1M7lFkiepCwcew+AhcJmIWAYMs0DCgvdJhUr0BDwnECUAYZ0kEQv2kIFc/xB5GIlQAf/7EEQ6D/BzC9gBIwKoDwF6kDBAVQIsLV4GJELgPwWqgJMIzBGZIIg7b2Vq0/RhaoAYlgxdZQzMo15lf/hfiucAMSwesqnQ2HW0qmkN54uHgICIG9ByGi+K2i0emA4w4GB0N6DmFj2K//sQRDyP8I0LVoHmGSgQQWqALMIJAfQtYASIamA+BeqAkQGM2sltD0ITHGS08yVwTp0ywHyz+49GesBzrE0lRGANLZpryNrSzkiowBsAEBlYQmNYeKhm+5fWByQNgYoqsDoUtDzyqy3/+xBEPg/wfwvXgYETCg9A2pAxKxMB9B1eBJkiYDeDaoCTJEwXEIJlE1pcroI2gcoZ7aZ9cXIlIjozWlyufDbHOA7p9cXIpgPiIE80WUGIOY4WM9G/MsAMaBPqCrG2PB04z0d86vDJYf/7EERBj/CLB1aBjDCaD0DagCUpAQIIHVwFpEEoPIMqQJSgTLt+VxUEyUYFz8ncOCgpYZOG97JxqCXqANcvDhIKJwjCkcExAUkT8oHTlL5RNliGMxJJF0JUfH+qsUr/KMqqE0SiKHjk//sQREOP8IsLVwFsGFgPwWqQMENTAewbXgYlACg7AupAkzBNBdGgb+DigucOukMkw+THhJBIqUDuryF5+kTJiaORkV0AYKCw7NoIXF/AM0fsDwGAQtAGeLYyFgF5/oM0/dUHUINgXQL/+xBERY/whwtXAYYRuA9BapAwwjMCGC1cBhhjID+F6kDBgRwAQUeieRN2VxWgHUINgXQIKQVHosNPsrLCOQoKYwJ6ZI4kA6jgSBoOykq5ZTGBmdJUkAwkIEky/4T4u6pKHpwIiIgSgv/7EERHD/CSC1aBhioYDuFqoCUiJQI0G1wGGWJoQYJqQJMwDaLaiS3XQrGQSVAkgAiKQlB0OSaoeMrGQhITVQMKM0KG1nGFHhCsEZbAYlg9mdAg45iiqD8yP5UpAYFoH7qx9hG2QrIo//sQREcP8H4HV4EmSJgRgOqQJMkRAgQbXAYYwmBAA2oAwwxNlqg3E4BgdAubYl0OVbDOGfUbiHjyprYvBxHCdBm8fqO4boPHnCvZfFC3l9nf1iKCKhMOBeBzCuRT4DUpxCt3A8XvA4j/+xBESA/whghXAYZIiA+g6pAlIgkB9B1cB5mCYDqDKkDDLE0BsDFFx0LBb+KaCt3B4uBwTDotBM2QB3WZmax78cVpfgHD58WgseQG/97shf4b9P5VLwHysI9DkwfDutbE1P0BiqiwB//7EERKj/CEC9aBgRKaDyDakCUhCUH0G14EpMJoOIOqQJMwBBoE8IWDQbWaS39HDVUJBdAPrricFR6JRo2Er8ovARYJMD7uH4GjpKlGxvlTeoZDzJOQmiCEykBjlRrvoURwmhlOXFDE//sQRE2P8IgLVoGDKagQYWqAJMU1AjgvXASMDGhAA2pAkzBN1CBZDA3KjXfRRsCYTxGKAeOPj+JotSNCzmpYwYsPhocBhzy2NY2s3E7w7FFLA8AxERsLHCgce9UFAmC6iYfBIVEbljj/+xBETY/whgtXAYkZKA+hapAlQzECHB1cBaTA6DqDaoCUGE2AOO7gpzPiEKUQNhu8sM1Y2stbNTO7U1AA0kGwbkgRog4BSs1xRlUPjgbSaWKCBmppho6sWlA+OE6UliggVLQW1/YnIv/7EERPj/COC9aB5hDKEQF6cDzCGUIoIVoGMSJgQAOqAJYwTBUCSADDiA6CTcUTaeyCtYnNFQyQARhRMBjcWtOwrWJ0KoWIYQxoQYE7AFDVg/9gjifJNSwtrhxob6w7Bvh+qDcC0gGB//sQRE+P8IEHVwErEZgOYNqQJUMxAhgZWgWtgCg3gmpAhKQEaB+50clob+VD2r2DYukBA6Bc1kLQdsl+/oK+uiAUFp9/FQVibm8MeV+gHoVGBZUm3DgHy1L/JsfoB8kFQeB/A5isxfb/+xBEUo/wdgdXgSkQSA5g6pAlIxNCIC9cBIRMIDwF6kCQiUw4TQO5t8YVAgnGA/hQxMJAyGLQ92dxN7UTCOUUBiqEE5QoC0ZYLkKKlgOHxcWgmcAONqLfODpQFpYHgDioDcCQCYHNbv/7EERVj/CAC1cBqRg6EEFqgD2CC0IELVoGDEhgOIKqQJSoFUjsoxRWbGgDlYR6JTFwNrC5fC3MfGpMG7huvbMicEXgVQVXZIPDUwycN5rkwJBHVtIquyQeXuTcKREXnJikdxxgXGN2//sQRFgP8IIL1oGJEZoPAWqAJYIlQhwtWgWwYOA/A6oAwwxVYW0NvBsDIYbQoTgWCB8BUGa6KYfFAfIjstAkHxcEsJbWL5HRMYBjFx4BhdVBoV9z8gPAERCt3Qowmq+Dw9YmiwHgaIj/+xBEWg/wiAtWgYYSCBAAyoAlLBMCGB1cBJkiYD+DKgCWCB1W7qk4XaOj4OXE0LUVvD8d2ojxME7ZgcAe2oWphuBt6pGeDfVPOT8JssE0sDukeaWhOWrIdnQz6nE0oD5ITpSWZAOTSf/7EERbD/CCBlaBiTGKD4DKgDEpE0IsL1oHsEEgOYKqALSIFF10n64m9SCB0qAYcKAmdM66QqNr/dCKxkMnAecsNy6AXMMjU7iK5RaRES1aUg3G0QRu05z+Fe0yjxUD2rSInhtwA7NQ//sQRF0P8IUL1oGGEZoOYJqQJSkDQeQhXASESiA+BCoAlYjEx+B3aYBJDFJfDXlHULMKDMYAn0Xzl1QKCKH9gQXIckksQ+g/PZcGwSlZgsAYIyNY0Ndll3AoHFTV2EAOgjJ8Shzsud7/+xBEYA/wcgZXAWxICA9A2nAtbAECKC9aBgRKIDsFqkCQjUwqNguB5jgoVAukhbiiZijinRQTAoH8BnJhGRKzdS45nGPoDQ/GSAscIgLIPAsuSJbVhPo4Tj82RUoaCoo8t4RUuwmTGv/7EERjD/CKC1YBiTCYDwFqgCWCBQIkIVgHsMDoQoQpwPYMVYJxKAesbIZmG8R+2Jhh57hEjRoRkQFw4GPG/P3CS6QQrPYi4iPf1RkAJooLYhYvnYB8yXhlER39UMhvpMVj+wXRsTcy//sQRGQP8JMI1gHrGYoOwJqAMMoTQfwZWgYZIGg8gyoAliRNTojsK+c47RjzmjPqguiwMxFJj6UpiWfeo07T1i0MDQwDx0zWDiseeu9tt3AoihD40FkR3QUnljbc5xURKj5HEpkPUsn/+xBEZY/wiAhVgekYqBABCmAxIhVCOC9YBhhIKD0FqgDAiUwM/GHAS1cMb4Z/VimA4rGbKoPvCDD1C5Z8PyYmqw/D95OuORtwyisITZRqAPJx3F/wvMjYwC0MVnUVLNWBWYG2KYVCWP/7EERmj/CYC1YBjBkoDsDKkCTMEwI8L1YHrGYgOQWpwMCNFCvTDtPGmcNxFZoTzi3j2Fg+2C4XfLFIhGkQS4BhxSfYy+r1dvjk0h9ZBJJwDCFDgYux70+riw+utWsmqglrYvigNuZZ//sQRGeP8IgL1oHmEagOwWqAMCJTAiAtWAYAbCA5hanAwAkEdCS/f5GIMhBuUHwUDokA7QDn72DcCEB7ZwWj8N6FBTkDh50VVweEUP9YVIxvyI1IKxImqWwtDF67RVPRu6FUT+JtiWT/+xBEaY/wkAjWAewYqg/gynAxKxMCDC9aBgxIIDiCagCWMAysSBstemkIQqN6vA2gL1yrlCcFBuFHnR8ZqtYYNjO9Y0VKQ6FsPPOnjt7WKFp6xoqqFSYSMKKBkBXSZYOtuqCKRUmbIv/7EERrD/CQBtWB7FgKD8DKcC2FBwIcL1gGCAxgP4RpwMMYVGGCaDoUY1C+u5wPzGoeycFaxc9YiWXwFQp8VIRDJQfowpAgomkxAdqauiEM6Ft9YWTkYc4KwghlAdotGg7g/OAlTDk5//sQRGuP8H0GVoHsQJoOYJqALMkDAjQtWAawYOA8hCoAxgxUcgRRj7ltxJwpCh9mMUD7yloiM3xW5bQMxFHR9l8OBL3Awh2euXW5JkAcDr4xMmfDipjrVqlyNOgyHwWMowiAy+vSsxz/+xBEbg/wiAhWAewwOA/gunAxLBMCDC1aBjBBIDuFqgDAiUzKlyJfA0mJ7KrYgF5oqYok1RSbL4Gjotusvkgb3PsEdcjDTaoTUEPx387NFQNgELgVVkkJ5bHcP/O1B8G9VmBVRS0NU//7EERvj/B6C1aBaRBID4DKcC2IBUHgIVoGBEogOwNpwMGsTAjnlmS2VRlEWgMbpn4jkALKFaCSZODoSxUEQufiOQoaRxKQUMJQgLCpTtTOR9op01EEqpA8gSQPJSnrIt9o7pqTJNUM//sQRHMP8IgIVoGMGDgOYRqAJUMxAhgvWAewQSA9AunAxiRMvq6rM0NaPGNpP9o9JTCEw2blsL0Dxo0Mr9oqmmQYC0K9dSYULLW02KfF6mQ8H0P3UBIBBx17gMPi9TAbGPr6G0YQkOT/+xBEdQ/wiQlVgewwqA/BCmAxIxcCBB1aBiUiYECFqcDGCJTV9MCUSSTAstebsZxhhjz42YJZlRElSA4FWPy6YpCgi1SHLUG0RUuAMLYGLFHAEEsVkLimaioqNRk4okRgkrjB1n62zv/7EER2D/B5CFaBhxmIDuEKcDACUQIgIVgGMMKgPgOqAISMHECwOByo86CRcBnJAbi7q5sNCCTgNkAYQICek6FZ9qi0mJg8iUDNAGEGBn69be0oqTFw14TvICoqCc9OrTCmJOUB4Xwf//sQRHiP8I0L1gGGETgPoXpwMMIXAgQtWAeYZqA8hanAwQ0E0EEgILvsxNSs/G/BTAbHUdH0UB8JRJV32XBySoTB+TR82lAXBJTXHlwtEtFgZDAdHYAq2TMJnaqw7+IpwPiwPk0ARZL/+xBEeg/weAhWgYESiA8gynAwyxMB+CFaBiTCoEAFqcC2DCSJLVWv4ilMDSQnZioC7sWXHmA9IUt5JkxbrVgOw6SG5KgHdEfKB4dAsC9TAOBzSRVuFKmrE8jh+H+owqhC1mgLwaqatf/7EER9D/CCCFWB7BC4D6DKYDDJEQIYJVgFsSAgNYMqAJSMTBNMh3PLVaQRs9rINjA1EUwJpkTzyzK4nBZzURWGBWIpgWkUsBEDopKDvN9tBjeogoaEHkAYBEDsDfbhBl6lPkpSQ/Rt//sQRIAP8IUGVgGGSJgP4MpgMMwTAfghWgWkYSA+AynAkyxNBCaLOMj1426KcsJ4tML0bQQWdcBFVGzvv5F0IB9CvVpjYNzaH8NoqpSjoWQ/1acvEfQsXMoqpakchvbXj+Shm+PMHVj/+xBEgg/whAdWgYlImA9gyoAxKBMCBC1YBiRkoDgFqcDDCFxF0RyVSJANHno9iK+8eka2nrojkqlwMRGBi9DEcwlM5I3vXflMApAMKwYXwxHMXa14vDrbz9CqBwSiaEJidcmgYOCpyP/7EESFD/B1B1cBaRBIEEDqcD2HBUHkG1oEmSJgPgLpgMSsTFqKqDwlJnJhGGSUDDF3sWeUJhifB+wiJQHdDVBeIHycTPE4xXB/RpaSw0VBeUfJxNUNDfT+NYJaUba8aeWISUWExHU3//sQRIgP8IEIVgGMKEgQYQpgMWIzAcgbWgWlICA7A2nAwyRM1ACZULPPpPGEEkqhqCsmgwespeGMakqHSG9RFA0GxSDFMNFDb3WBxbElCl0PJGIQ4oAcoEVi4ia4g5K1l4GR4PmJAOX/+xBEiw/wgwlVgexIKA9A6mAxgxNB3B1YBhzGIDkDqcDAiQSBlJNFAhyVcu4olwXt3jUasw0BygWx3Xw7kOXRxu8pDS8HAT22M8fh1SKEieH66IFzg/FAcdhcVqpIoXJ4f3eHsrDNlv/7EESOj/CFCFWB7DCoESEKUDzPAwIkJVYHsSCgQQQpgMYIJSBTOn+BeDISx8jcUIQR7g07OhysSEMPiuWGnUAr8zNSADoiRQtM0IKKPkNORvRrAzDmfQaQGkzSB5S4npxd8axam6CZ//sQRI6P8H4L1gEjEpgOINpwJQYTAhQhWAYkQuA7g6nAwwzEANSIMCdikAhE3YWBIGPRBLhqRC4f0+gpLXc0Im3xBSogkRaH8iIRChgSUGcoHYjlyCaLQ/iQPGTGGUncoBojl20bQVf/+xBEkY/wegZVgYxIOA9AymAxKxMCFC1WBjBEoDkDKcCTMEw29YQhDEczE6aP8HbS0YaXvZShCHMRyd+C6qDwkJJdwUuBj7UaL+XZ9IqjRNLF4vQgrAxjXNDWN0iqC4EIEmLokARkwv/7EESUj/CJCFUB6RC4ECDKUDEpEwIIGVQHsSJoPoMpQPYYTaeWAH4v4XAYrOxdoQC2zkUWhD0L+SyNqcY8S4ORQqkxY2ueZtiI2CtsLXzwcgp2uxtct1sRFlmVn1kmEA+yOBRu9MBQ//sQRJWP8IIHVYFsSAgPIMpQLYwBQhAhVAYxIqA6gylAwLxEWkxVql7RoHAnE+y7QOMi0mozlHKTR58SUgvdiKYnEk4nmBqM4QYUmAYCaNJnYTrP3EIMmCxChxoytErW9U3JyonDJg3/+xBEmA/wiAtVgYUSiA+BamAwIlECBB1UBiShIDsDqQDGCCQiBwkJWavWhuL52m4h7YXtyolGR55wZ0lnvy2IbiHrxe3KiUHRNrzqsn9PbUMplwLXkPA6pFAXkgDvqJlnhJGDc9FwVP/7EESaD/CCB1YBhzCYD8DqYDBJEQHwLVQHpGFgNwWpQPWMxGSYeMKPiWWqXZTDIMNsmSEcg4q8yK+40WL4RF0fLxKTkYUiW7J7jRYs0u8LBRzS8E1cO19pgXoImBNN1gso8LqEXH1Y//sQRJ0P8IYLVQHsENgPgWpQPYIlAewbVgYNICg9A2lAxLAVGxBMVQfIhWH9xg0OBa/7IrgL5T9ImpisbolBUFscbJ5TorFQtNTMGcoicaPahVHwZmx5czXFXk3dQ/i5WoiXlU2PLkj/+xBEn4/whghUgewwmA9hCjA9hhMCFCFUB6TCoDqDqUCwpESWg2YesSDA+Cdjvqc1MQRQsdY1YkGAni4PQ9exDaRysJJAhPJQzdXaj/3T8EZREIEgDEAPzoM6rteBXwjKVWweIJuLMP/7EEShj/CICFUB7BC4DuDaUDDLEwHoIVYGGWJgOYNpQMMsTE4ZaeSq1Kf2T0EhNWDKZgUwy1Zr2gWshABSBgtBnJQOTDd6Hzkf2X5SkDB0GcnCxY9qhfb+gXiVKhoSv7xIB9iVVFW8//sQRKSP8IgK1QHpQKgQINpAPSEXQgwtVAekQSA7AylAtJgUIdYPLiYgQo94kA+AQdRVIF8XSD1LZNLOS/KjNOMgHIRcsVysVLKwYfGhpRZwmLoP7PwmEwjnygxQIFjGi2A8WdE1AqH/+xBEpg/whAtVgekQSA+BalAwIlECIC1SB4RKIDiDKUDELEzIUMY44fDHFvHizoPSBCAemBmwuMlBj6tc3qA3kXheCtMH8ExkoMffeP47kXlIJOE69nAsZmklCIKXpRpZoMnR/b1MC//7EESoD/CFB1UBbBBKDuDKUDAsEQIAIVQGJELgPYMpAPWYTCn2sEkFdKNLN5HiSHj5yPKYeyBV4om9lhBDYbmI+WaJFBuQPR/znAPBowDGI0QWBmjiEQq/Sf0Pg0SAxiMmAYL0uQQ7//sQRKqP8HsI1QHpMCgOALpQLSkFAiwhUgeVgiA9gylAsTBE+x/RNEoyH9mIhIw6i5AWKvi1YHgkRD+SJBxlr1Asj1oKUQ3DehYmmHbJVGK7RqCkeLVR3F8kx4uHZmQQm6ziQPCArMT/+xBErQ/wfwdVAeZgGg8A6lA8LBEB9B1WBhkCaDwCqUDDJE2kIQHjB2XBfE+yh8cBxlUVAdSSsnqytVUuh6SAMURFE5CDtjGpP1gxSiolMBZjiClImGyQk/WDVVEZER/VxJNwxiLHqf/7EESwD/B/C1SB7ChYDsFqQDBiNQIkLVQFvEEoPIOpQLYIHaONqGenI8VBfwla5Fbp5ZitagjtqmwfiEljlUiPmQOOCGdG6AeSYAwTQZ6kLdBjiJE36AdZAGBzMMBNBYasKzaSNdpN//sQRLKP8HsGVYGGYJgPAMpQLMwBAhAdVAYlgmg8AylAxLBNpsYDhWWwFkHhqQ6EyV2k3t0TCYNwMeSgGxO4lV6feeLicTCiDDzozXH+iSbDvni5ZI8InEiwWhcMuOXXnrZY/AFRPEz/+xBEtY/wfgtVgWkYSA9hakAwI1MCMCNUB7DAoDWCqYDDHE3mGCKQAyqtM32HZxUagTOgZrIyuSwyiC7E4x/AD2iEIaYGbGjYrCVG4FgOxyWF4NzQ/fcIp6DKo9rbm6D5ovDJEbjQ6P/7EES4j/CABtWBKUCaD4C6UCUrE0H8GVYGJWJgNQMpgJMwTFQ7UvtN/DvW2Q8yS8NlRsB60xZWcF3YXXYNhkGNVGxGpoJOgbAZTCocAiKMWAUKMc505jImlUMPjQWSDog5FlnlUltR//sQRLwP8IUIVQFmSIgOoLpQLYkBAdwvVgSMRmg0AymAkyQMnhoTQDGQvdOR7XBtzVQhTWoPrE8BwlC9kqC5wtKPtAol3SQ0rw/HfzuCEI46Iqz91ExQaV4fi/0/RDHkEVPuomKVM1X/+xBEwA/wiAtVAYxAKA7hamAlgwcCHCtSB7BBID2FaQDwiU0HWlIVTfKAJoX7SASuWIiYDyQzUW0cwcW2B1WVtoiLC0CUcAMKEKJZG2P2ivrjoVuIIkkgGGLXjot3B4ZYNro1O8CiIf/7EETBj/CIC9UB4xIYDqFqUDAiRQIUIVQGMMCoPYMpQJYYTY57hEzG4RVViMxv67/2YGfBWSLCJHAz2kLuTgVUV5Ghw/v+5g7xhXAsNhZlCNfCoi+RhA1dQpXT7ypdfI82bumDcV2Z//sQRMOP8HsI1QGMMBgPQRpQMCNDAhwZUgexgCg7AulAtLAEditLB8FnymSf6mkk24m2wAAqjBMOiImAZs20nJH6d8uDWYiqbbjgABoBAJHK2SNRRVUE1QAAAAAAUKJWsNlaTEFNRTP/+xBExg/wjghVAYYSCg+gulAxKxMCBC9UBiBGoDoCaUDApEUuOTmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/7EETID/CDC1UB6RC4DUDKYC0lBwIMIVQGJQCgP4KpAMMwRaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sQRMsP8IYK1QGBEpgQIMpAMS8TQfwtVgYkRKA6halAwIkUqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqr/+xBEzQ/wjgtUgeYZmA9halAlggcCJCFSBbEgID4EKQDCiQWqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/7EETOAACxC9MFPGAKFaF6EKeIAUTIOUYZhgAAZoVrExIgAKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sQRLoP8GkFTKcYAAoNYEpu4YABAAABpAAAACAAADSAAAAEqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqo=', + E2: 'data:audio/mpeg;base64,//uQRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWGluZwAAAA8AAABwAAAvIQAEBgkLDRASFBkbHSAiJCYpLTAyNDY5Oz1CREZJS01QUlRZW11gYmRmaW1wcnR2eXt9goSGiYuNkJKUmZudoKKkpqmtsLK0trm7vcLExsnLzdDS1Nnb3eDi5Obp7fDy9Pb5+/0AAAA8TEFNRTMuOTkgBK8AAAAALHMAADUgJAUATQABzAAALyGrS6wlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//sQRAAAAAAAVgUAAAgAAAqgoAABArQnZhiwgABbBmuDFiAA96iIz+mj4IrMd7x6M0XNH4fi3uIfV71CkJ/TR8FrMd7x6M2ndg+H4W9xD6kKegomdIGFyUgDrP0HJCbcbinl3oKJnSD/+xBEC4/wkgfaBxhAABJA+wDjCAACQClqAZhDAD8DbIAwiMBhclIA6z9ByQm3G4p5eia6hxQb2BGpxZi4N5EOJzj+yia4w4IawQUWGTVqiztSeqpwyLIhhI7iTiAWfZOYKqEz6RZuw//7EEQKD/CjCtmAwRsAE0Fa8BgjYAJAK2gCmEMARoVsAFMIYE4ZFpGCR3NOIBZ9k5gqos/Fm7DUEL0mKIuYDgiZujPg8BPRFkdMEL0mcRcwHBEzdGfB5l6IsjpqSMPzpFSLtEIiUOwk//sQRAYP8J0N2YEjEoARobrwGQI0AiQraAMETAg2A6xAMRgFmETZx66UaFFILznFg2wcg8pbCWwibOPXSgrB/wicJ4GYDIl01h17mN58oJBfETi+WYDIvK7O9x8CLD+xxEV4GtGi2Xf/+xBEBg/wmgrZgMkyABDhGwAYKTACSCtmAyRDAEqFK4BhJAj5kLLpXYb6Siw/6yJUA1plfv2EFl67DfSBC4+sEx3nJCFkvY74t4HcWsNgQOTEEy/LSEJkvZ+X6N6QcnlJSRjmQWEiMv/7EEQDj/CLCtmBJkCQEcFa8BjIEgJII2gDGMKAR4UsAGSI0MMgbLr15iqLmF0FEwzQ40hlhkDZdaroxVAc4vQw4bDpDj2NAxaZ6KsjlJcWoR0sODNaQe6VOjba7IzYtjDVl3vVgYvV//sQRAGP8IMI2gCmEMANAQsQFEMUAdQfaAMIwAA8hSwAYwgoBkOYZoe0BsyoBORF/RAzXGGaCCOPRA1Fgc1uFC8Jh0/QEIStA7CsEu1wpPwmPX6AhC7QXjtQesWqTeL1JgxTAbg4zmH/+xBEBY/wnArZgSZAoBJBWvAlAkICNCNmAxTAAEgFa8CSiYD15sLERpEunpTeL1FQw6k7BxnMHbEosRGiv6QM8G6aFpOgLAkKUH8G1kXp/QdXNfVSdq8Lh5iTIbxR1kXp/RUGAiMUAP/7EEQCj/CCB9oAQhAAEQD68AhGAgIQK2gDmEMAPoNsAGMIICYYKKEOJNw1Bt6LAYCIxRAjzjSQzSIdhqDb0frUWh3BhMlzzCaDS3DIoR0/pLGhviBM72YTGKuhSI3p/SqCAvSZhvNO//sQRAOP8H0K2gCmGLARwVrwGSZAAjgzZAKkRIBHBuuAkQ1QEpCGLwdUI/9DhA36TEG+SwzFYGz811CNyP0IABcYXLcpMQipBuC0CHcnM8vRJf6xc51JiEVINsG4jjaczy8ogP+EQIv/+xBEAw/wjApZgMExgA3g2wAYJjECBCFmAZzAAEcEa8AymACxJqXOvfy2CRF1HsKQD/ESi7AzUlB+LQy5AKh+xwkzgcnJZSco0WIdHuBUN6HEmcs05L0H8IrETk5jQhUoHavTBEj6hf/7EEQED/CTCNkAyTBAEwFa4BkiQAJEH2QDFSAARYPrwCSMWIPVljsg4sUlMx0lA6V9AGJtBwaFVFNhyLFJTMaDZQOCWFyFBZY4MQimKwzCj17uoEBiOJoWLWODCUGEYZhR693Ujhu5//sQRAGP8G0IWgBGGEoOwRsACMMIAhg3ZgMIDIA6hCxAMRgAxJPnlmCFoz8zaNxw3dIlvPswQtGOF1Mf/Q5Ib6GhKuaLtUwJ7JRI68z00UJ6pHPIHavCMowUT7++TFTfgPjz7GMEblX/+xBEBY/wlw1YgSkRMBBhquAkI2ICaCNiBKRiyEeEa4CQpMAAkbHfCKPZKpom/A2PPs5EjdFQK3xKKsoOrBOlSQdZp5AN1QAe+T6A279ApOQvUUA6yTKDfiw+42EWLsMdFU4j2tJi6P/7EEQDD/CZCNkBJTGAEWEa8AymAAH8NWQDGGTgOwargGCNhKFnAqeKDrhRYhcqxHSDobo0PXLOBV4oOuOWKuVYjpLIs8BQwi5AmiPxEeer9ijFkY8DhhrwTRD4RZdb2KMqcJGdEMFn//sQRAMP8JAN2QDBE4ARgbrgGCJwAkQjZAMdIAA/hCwAIpgAc4SBLgjCvEszDVWpcaG8jAs5jhIEuCKCvEszDVaWGB15OKE+XgNXTJi4mUIHbU9MQGdTIF8/BXZSFbBQMa7++oACcIT/+xBEAg/wiQjZAGJIEBEhGuAMyRQBrB1mAxRmIDKDq8AxGARpdksNM0w56RVRR230QAX5QOV5ODTNMOekKqEDtvoKMT6iIg+FMgkEEWLwyCQXwiIvlHQiwJsXhmpLRepjw2gtsqdGlf/7EEQFj/CWDdiBJhKQEWG64BhAZAJsN2IEmEpARYbrgGSImAPV6ayD9iOkrQ/scLMewMsaUw42nQg+xHSkjNXIwHkdDJ0H5KcdPqtbD12egomk9DDjdFTo3FKxS662H7PRoVw7CMQs//sQRAMP8JUN2IEjAyARQbrQGSJCAeQjZAEYwABEhmtAZIiYTKUNtpLsP8LpqP08uxNDoHgqrMoF20l0H01lH9PXFhms4GXzhEj2tVair+nq6YZrJET+sMKm6mMbXuFej8sqoEC0gkD/+xBEAo/whQjYgGUwAA9hGuAMpgACPCNiAyRhAD4Da4AjJFAqYXQIHbQyq1Fe30UCBdDQnGF0QDtoZViiv+gsVeMD4aatkjGDZhl1FXItRzYMMuB4VTyuMPLAG1RVyP01TSH6VFAMof/7EEQDj/CVDdgBIBOAEoG6wCRAZAIwN2IEgE4APIbrgGAJwOHlQWY1bX+xRqdHUmkfpUgEquHCoLO1YcfJ2KMn9ScRfWjo8tJtAiPbI21q2Go/Q8h9SNHU1oEg26nW7DUfoXIpPAUL//sQRAKP8IoI2IDJMQAQoRrQDSYUAdgjYgKlIGA/BGtAIyQIK8SKLDba1XLKOTp6aAtwJhZO1RR4bbWqcWUcn9MCsYyLD6XKPGc6dM3yjkQFWSGH0uUaGXanBmflKP1KYMHT4nEic0T/+xBEBA/wiAjYAMdIChCBGtAMyAQCUCNgBJzGAEIEa0BimMBUHX+LDb7cwfuDBusLCH2EoG3qYe85KPT+hJAZuiANqQuJPD+BqVqij0Wo6WMRflAOIWJFh/CKU+oo9H6aSSb54Uggvf/7EEQDj/CZDdeBIROAEEG6wBgicUJEN2AEjEoAPQRrQBMkEDixwe6iFjsGlh5f9BRSfUEgC2QKOD8yUOwaWH5pSF6bEwXhY0cBwVEHE5+zD0aSYdkxwPFnDgw1VPdfQ9GmpGauQ4IH//sQRAMP8JEI2AEnMgAPoRrQDMgEAgQjYAGkwoBFhGrAJKRQwRwghuOTuWVeXsT0wWk9DBG5eDiRnPcsq9enpgHMwTh/OVFnDGdY69ZWr9EDJMEYfdyo2cMUm81HLK1beipyYZlywLP/+xBEAw/wigfXgMlIkBDA+sAZJhICNCNiApjCgEQEa0AzGFDiMJozySYKPGyteh0wzLkQi1xBqYZiwA8bKuXoUwZSCQDLJEAdTWgpz5VyrUdNYTpDQWWSIA6m1SnPlXKtR01NKOMC4v/7EEQCj/CJCNiBJTGADiDK4AwmAAIQI2IDJGSAPwRrQGGYwKlCyhOtqF3KQ5cX9FBUgPBq5ZQlQcPosMf7izFsaEBmOMNoR9qO89Q5VaS4W0kAmaITBV+nW89Q5VaVdQfTRcTVywmA//sQRASP8JAI2ADJMKARwRrABMkAAnQjXgGlIoBAhGsAIKQA/STadiRy4qnpNB9aOiaqLHcP9pup2JHLiqemgIqsCoGbsjZETXefPQ7EjlRVvRAXgTDt2uhLNfXuh2JKor6FgLEGR0P/+xBEAo/whQjYAEkYQA+g2tAIyQICOCNgBJzGAEAEa0AkmFC1BCWGpuKsJxbrR1xKsRDC9dVIaouFYTi3Wjrpk9z4+OXCgoQp7hcUiz01o5ZGGvJxy+UFCFe8XFIs/WjpKgNdEAFwtv/7EEQDj/CVDVeAyRDAEKGqwBkFJAIEI2IAmMKAQARrQBMYUJXD12JNcGusfWJPc0KthARpNygYsVS6rrH6yXuIjqIgB2AwMtTspVlr8XM9JCHURCHYDAy1dlKstemt3SqCjdIxMF8t//sQRAOP8IoG2ABpAEAQIMrAJEkwAjwjXgSIygBFBWrAhIiQBZGoEXBaLv1meqmn02PCvISxG5gaL1k+Sf2U2atoOBTbGih0eiw8E4u/W7og86WCgU2yxQbHoOPhFi/W7oqBmmCcR4z/+xBEAw/wggjYAEkwkBGBGsAJJhYCMDdeBIwOQEUGqsA0jGgsqV506h6Lu1u6YGlhGI8oucZD506eHou5Fbum23SXOAdtoUaBrL12aN9ojWYrjMuWD22hRkhrL12aT7RHJOoug3JgyP/7EEQCj/CbDVcAyRDAD8G6wA0iFgGkIWIAmELAPwRrAJCNQCuYDh0ali5BNha6xuS91YbaJRnMKHThmUjZ18b3dBkkgHBv1qFNUQfQyjousxgXIqp7JErEObCFTu7pTUbpCBABbsZD//sQRASP8JgK1wEmEpASwZqgJMJSAhAjXgCkwIBEBSrAFIwoyINlIpYw8XU7mbUfSoYBG7GQ8RBvSKWML8E7u6jR/TRGCWsCEjVYdKCRtSE7jT9NFw1VICJU9i1TMbY59Huq1HsCIS7/+xBEAo/wgAjYAGkwoBDBGrAJKRQB+DVgAaRiwD0GqwAUjFhpYsTM0tSgpU/u6YkewTCXNLJjMYtPcp6lP7umBSRkdHvy5U66mKfqnzx+ggoDI6Pflyp16Yp+r88fooojPj4cuALBxf/7EEQEj/CQDVeAaRiQEMG6sCUCJgJAH1wDMSJARgRqgDSkUKuOPmy86PdR7aixz4nBiYNyz1dx7mXqP7uspg14YC/LA4PJG01wAgJRpr+mQZ6IAnVh4PJG013YgJRr+7pqanYMCgUy//sQRAMP8IoI14DHMRARARqwGOYiAiwhXgGkwMBCBCrANJhIZQJZbhlGQqtaEfoanYMChJkygRMvhlGTy1oR+iCm6RiYN1QyLESXCDRtoa1fbGFo2Jg3TCRYiS4VANoa1fbVjvuQsAH/+xBEAo/wfQjYAEkwEBBBusAEwgoB9CFgAIUgAEMG6sAUiGjcgfSLmOuyaMq/Ta3oYAHcwDORcxXzd2Gqs9MYpgnC9UiYbZnBsguRMf7oxTBOF/SJhtmcG6yD0cg3+hV7yjxAgvRsof/7EEQED/CFCNeAyTEgEaFKsBkmJAJgK1wCpMJAQwVqwCSMWNncDqsUUMKte95R4oQbpcodR2Q+dyrAxYv7VhkmFIH+URwLempSzH9QKV2m+pY1olD/tyIhcwrXgPUCldvpqDKwPDX5//sQRAMP8IoH2ABpSIARoRqwIOYiAiA1YAQYRsBABusAYo2IxdV+qhlByChva/olKUwNhbEwsinpqGmDkFHqt9EpwSEAO1yZGl1gau59VjvbNvGsaEAuc8Tq9wMe5+3HNdKB+miMLTz/+xBEAw/wjw3XgCkYYBBhqrAEwwoCPB9eAJkgQEYD6sAjJEgqkW2VGc5J9ej6bDVL0cLAW4JMFbpQksk+2j6roVvAMGc5QaOQ1ZA0/C5pEVf0Sj4JAHOUGjlasaAZ9YXNIs9FIMDIlP/7EEQCD/B7CFgAKRigEKEKsAUmEgIIIWABpMLAQAarABMMYE0rW0Q2HeIIjEl9JBgZHRNJzmIRtB3iCIxJf++KIzY+OxoPnbjbDvTFSV1ryNVjxssBgbobY59f5aNda9Wu6dEgvvcm//sQRAOP8HgN2AEhExARIbqwJCJiAkAzYASEbgBDhusANIiYvDV3taFjUxeu6dIBeu46jhNfTWgWNTF+hFSjzxUcjZZRerXYzp9Cs5EX9Ma4wUcuyyi9XMQ1n5UGoi/p9XBMKE9UjKT/+xBEBA/wkgzXgMkpMBEhmsAkI3ACGDNeAKTAgDqGawATDCBlegi3bGjTGEy6PKdNkw/VLlIyuj19roVjCa0W+2h0MXwVNCiykd+V+WfT9dregwQ/NWpqCU8m+g2frYxRgWA2wQLajf/7EEQEj/CGDdgAJhDAEKGqwATDGAIoN14DDA5ARAbqwGGByCjvl5zD12emMVAmFxhguKNKFnmv12Ht/e75RYgAX0iJJjYH543xxx8VS75R4ECWyREkxuB88b444+tKWNSIi44GZUTI//sQRASP8HwN2ABGAPgQgbqwCMAfAjwzXgGkYsBBhmsAEwxg7O8vynTWtY1IJB84GIJRJo6e8vynTWuoMrA8Hp9giwlAYezfFA3qr9JgSQDgW+BWZJFD2b4oG/X6ajBJCJBmGlrV8WT/+xBEBQ/whwzXgCkY0A8hqrAFIhsCKDdeAKThADkGqwATCGz28r9UDdtRBJUkGYaWmhyLJ7ewXlA2gfpojEW8uMp2IBky6ZViZbrptI8G3niS/iA2O6asLGqlvAoKxpW254gc75ddPf/7EEQHD/CHDVeAJkgQEGG6sATFGAIkN14EmEigN4arABMIbHu/308EgWWNLTvCBWsNxseGf0JqOwMiUVSsYAquCAe/I+YUNTOkRpKnAgLbiA9+mrihqiME2HQzHvKKThgu/x14wE7p//sQRAiP8IgM1wApGNAQYaqgBSMbAgQzXgCkYShEhmrAFIxYIwTY+JY94eUnCIu/wPeMBEV05EgmWoPrsVAY86kwUAlyodIBMtR1dioDH+pMFAJ6f02IM8dFlbQF9VpNh3Z7xBQ/+6L/+xBECQ/wig1XgCkY0BChqrAFIxYCHDVcAJkgYDyGqsCAmcQNyo6nag31gMQNs94gof/dFcEwEE0uRObVqY5fyGe1Hn9nQ8PguMyjR6xhSdA/Cw6320OgwvpGMTLo4avdW3LMTD2Orf/7EEQKD/CNDVcAKTBIEaGqoARpAQI8M14DJGTAO4ZrABMMSAsOLyLjE09WMv3W66ajZ/3TjAsTwtCidPVgcyK9BBz39EboEwuNQIqYZ5kV7A7/6Hf0WCAC+BHqeyQ9XNrDB+sziLEA//sQRAoP8IANV4DBE4ARAaqgBMkYAiw1XAGlAkBDBuqAFIB4C+BC1XdD7vN+e1l4a7Rs0QhdjPB1pdwiXhb4KLHdp1aJSNjtiHbmuJr9R30su7XVmqUwLCE+JhLLLYfrXgKjF/RSCgP/+xBECg/wiQ3XgQYZMBBBurAEwB4CIDVeAKTCQESGqsAUmFiEbxOJPZbL70/YrQ39EEmRw67iBXyzQ1fZbsYytX3wSiSHY9Qallmhq+y3YplavvWBs+KxpqyyTNI3Dpjsh8ICG1QNmv/7EEQKD/CNDVcAKRDQEQGqoAUiGgH0M14ABMAARIZqgACkACMalayTvNgdMdjHwgIbUzgUCywsDlrIKR+vncopuh4ERWNFxuNTIHM/Y57USbo9CiNoMEg1dEDurBFp/GruUYn/TOlB//sQRAoP8I0N1wAmAPAQYbqwBMAeAgw1XgCkY0BABqrAFIxoINXkDtrIB1/GbuUUv+kjVsXJVbOKPlrA+17b4ZB9ZGrZ9CrZxR9a4fa729DQfXW1XQQTLUjGEkqQn2Mqs9LY/Xk5IET/+xBECo/wiw1XACZIEA8hqrABIwwCKDdcAJgDwEAGasATDFiVTGKqkL3ZIXhqPriUYLGl8SkgUwKYj5euxUr/piVAsafzUkJAEQJ7ZwEr/6WIyPJBzMEC4hkRiaRVQh7Ip0uTGlMKDf/7EEQLj/B8CNeAITAAESGaoAUjDAIAI1wAjSAAQAYqgBMMMMFKZHG+0vAQX02PWh08vSJC+CjA60gpELtl7KQ0NbJAq4YwalyqcCBrUruVsD5uHG1G4KKKsdp+KNqmzQHp5wMxOIKq//sQRA0P8IINVwEhG4ANwaqwBMMZAdQjXgCEwAA5BqqAFIxsZofwhpxGkEE+gDS0FLUUWsg7ROJVRh/YGo1CR93R72ENlGmiqNjRpzWFHCx/PHwY7aiw0cCk1aKs1kcLH4WYLBjXToz/+xBEEY/wiAzWgElAoA/hKpAIyBQB+DVaAKRBgEEEakBkGQAJlGuRjMdYXaP9J9BHX4VMDjEuLA1dgXS1A/Bjt9KCRkWOoaIU2jQOMnSX4IfpTAyOLq0VOtbBc8ZMbwSRNnxOsisYD//7EEQTD/CFDNaAKRiwDYEKkAQJAUIoM1oApENAQIaqQBSMbC15osew0FoM/URNnydJaxgYRfNFj2Mc5Bh6Ku6EFVe0MKRxYxP51/VOemKFfOjiqvaA5ScFKv5h/ZkX4o17gYAlFQGS//sQRBUP8IsM1gAmSBARAZqABSYIAgg1WgMgpMBBBmpAEyBMzFUo4beTiu5RDaDBJxUBkXMVSjx/dp8G0Y4QRiZCdtAC65KsEcUiN+bTvjQGx6KdsDdqsBeKSm+Dat02hxpTjTKNW7P/+xBEFY/wjgzWAClAQA8BqpAFKBcCIDVaAKRBgECGqkATDDBHupwfGa6m1WkMoziiJM3ljlene4xXUolMEbK8hGIF1+qCvIncYr1piVheK8i4wuDhQi0pWM19LtbFilkHIgyJ+kRgfv/7EEQWj/CIDVYAKRjAD2GqkAUiFgIoM1gDBG4AQwaqAJCJwBb2iO191OkyLWLQiJlfsiz+FvcQ3TWwejwZYb4OEZ5HrAQx3RPuZc/SsekE4viCar2AVLsu4pC1aAXbYm2Cq16QRDfN//sQRBcP8JcNVYBpQMANgZqQCMUZAhw1WACkwSA8BqoAFIwkK7OrYWrYH9drYKrOYSjZHOUY1YYiUSQPwB2AFKRg6c3L7OrbVQxISTvwZkKmoHP9y+zqeuUaHB3R4IDy2NYfP9U3EXL/+xBEGI/wjw1VgCkwoA9hmoAFJhUB5CVYARkiqD0GqgAkmFyNPl+zRQHlpqRy/Gz/KOpsVJQColYiOOciTHbqguhVraFTAVqKyIPOciTNurOhRNZEpkdxWhsbVgiTceyNegxRFmR3Ff/7EEQaj/CGDNWAyRmoECGacBkjJwH4MVgApGNoPAYqABSMbaGxtDkk3OyNegxVkHY2E3rdCD5diVjEdmc7nqSDsbH9W7IPl2S0ZOzOdz8UTXaQAUJkChQXKZhx/bFeWGNZN82iDDth//sQRByP8IUMVYBpMLoQQapwDSYXAjgxVgCZAIBAhqnAFJgc5ALqjlL+1X58KY34OFZnKJwUpFJEu18TT9LyRtDDbKg8BkHMUe3UzwWIjRLhpQvxCFBB3SHofSoYoto0R4Ux/Ekgg7r/+xBEHQ/wiQxVgClIGg7hioAEyBNCGDNWAKTCoDqGagATDGzDq5xOA4o26zQ6mgiIBGgS7bTPjnwKNt1tHrUiQCNAC3ZeU+BZTJGgFtbEgVIJOguLNEpvUZIzBPJukQhRBN0H7L0Knf/7EEQfD/CGDFWAKRhqDoGKgAUjCUHsJVoAmELAPwYqABSMWFV2djQRVjjaB6COiTZ0gwYf1O1saIVdxtAaALiW950GH9VQfHiFZuBgBxKLBpnSXyW/RUHzRCifjALWiwSNkh9Dj4X2//sQRCGP8IcMVgDJETAQAYqAGSMkAhgzVgGlAoA9hinANIxdgEyF2g9IhpmomnNRjv/uo9QDzLtGmhTBlFJ7ox0MjJhproxlVyxz5hjDWuGSIxJJxYZJZcefYAYIw9rVijQfFZlDQhD/+xBEIw/whQlVgCkQUg5AynANKRNBzCFaAKRCwEAEqgATIFA01ozqXvb5WGtfi7n0blaKh9t7ot2zgqa1whrI4fWsYEHaqcQUYgJ2mENaLG1rGBBLVTimFOInb/YiUWFJhXohgpN2MP/7EEQmD/CNDFWAaTCgD4GKgCQjYgHsI1gBpMKAQYRpwDSYUcjwosBciRKeJTCvRA4Um7GHDxywF2RMkY8bWoPuAKSE+a2g4HdUTJsXJ0qD+oKSE+ZXB4d1VbPzJhIKDtkgD8VRHO6a//sQRCeP8IUI1YApSKAQARpwBCkAAgAxWACkYoA+BioAFIxYsa1j9EhcevFgwQ9cFdAFILFZMWDYx7lbj0cIxWpxoiPNjpwkJCgNv0RuMFg5nFAo8jHThIxgNv0KjRFgwg+gcEPNazD/+xBEKQ/wmQ3VAClAMBJBqmAFgwgCKCNWAaTCgD8EacATGFCesEjdcaI8kIPoHBCYWOwnI7gmD+s7rHhKdUshESEPHR+6YIIS1ndZodOsWhESoeOIfuWCBEtdsGqAfLN8YbZX3XPelP/7EEQnj/B7DFYAJhDAEKGKgATDFgIcMVYApGEAQwYpwBSMIJxyqXbHQHik+ITGn/VL3eJRnh2IhAKhqwhubKn96hDPDsRAAKhqwNy7KNT1qSMqqDmPFxU3gHxRW20416QaBixUC9HA//sQRCiP8IAI1gBpSIAOQaqAGCNxAcQ1WAMcaCA7BqnAZAkUYMvAM0ld0416QcB3KfcCYUs9ANLTejj7niY5qp9wJiVmlA8s96OtFYMVhZGR0masaAolO1r77whMMjIsTIrLB5BFtd7/+xBELI/wjQxVgGkQwA+heoAEwgtB8CFYAKTBADaEagAUmCT0rgw/uqOUbHx1mhs6zjdoHKCiDtOceFjZYWLRxN0DlBMg6iuuRALrdCNrwTwMrv75UYvWV1yUF1uhG18bw87rwSMORP/7EEQvD/B1CVYAKTCqECEacAQpAAHkNVgEhGxgOgaqAGCNjKYIRxWw9iOOg15/ko9xEp5COJ2cxHHQa8/hKPdVinSMTCdKmxBrOEcfKTBkFiZIzQnSpsQTZwjj5SdILa3SDBB/EkkK//sQRDKP8IcNVgApMEAPAaqABSINAdg1WACkYuA6BqoAFIxcuB7c1uDoq1ukMCD+JBkKuAdLlWNh1yH2txgWAzJBAdA7oh1Yi64kaNmMJgMySAOgdsh1YU+uJGe+xYECWwMC0CgIZdf/+xBENY/wfgzWACkYSA7hmoAFIxcB3DFaAJhhqEEGagATFCyOMM9+ixQJdIhDJLoRizrzjgy0bNEo3DjbDSlITD/JcFUGWNHBIuOLUkYyIxeyeCdBqgysC4ebxka5kIDa7u3KNMx/kv/7EEQ4j/CEDVYAwRuIEAGqgATDGwHcNVgDCGqgPoapwGSU1IBwK7BaRCAqVXGKIMq1MUFIEAq54LExkogICEx6jfpEEPr09NqdQhAgFWdEQqMkCAgVPejN9EQROT/e2GsxiyxRzkeS//sQRDsP8IANVgBpGNgPQaqACMMbAhg1WAGkwuA5hqpAY5TMlhfUKdTP1EhSGK9MH0CqaM1Vjl9UI91EBLvyY1LuaxdW2TBjqZzVyOVirTG0CttmqscvqnO6ivGdwIiFmip18oWLt9z/+xBEPYAAuQzUhSTAABbBqlCkmAAEGD9QGPSAAHuH6UMekACYMHH8duBEQxoqH3yhY8/uTGjYaRtBgkBU4gqtg8dsnvQ9Hq9gZHQFXEGJVB47ZPeh6PWrhQ+EwJQ8iBxLuI1DO6m7Hv/7EEQoj/CCDVYHJEAIEGGqgOSUAQHkNVoAmGMgPoaqAJMMnFrIwTY+JVeiBxLuXMO5ycODcqroIEy1DesXkxxnK3+k08Kq6BBMtQfkx3aEGcrf6XTxiUwVFlbcI4vJwZPzj9i7VEpg//sQRCqP8JINVQEpMTgQQapwBSIbAgA1WACZIGBBBqnAEyQMqLJ24R48nBk/OPyi3VFdIxUPpcaIpyaKPS+035uq9W1hQ+pzhVtVDOKzacXGtm0OiReSMgbTVSH2OSv0Kw1sLQsOLyT/+xBEKw/wfQ1WACkwuA/BqoAFJhcCFDVYAKTA4DwGqkBkjJRkDcrAXTpX8lh106AWFxzRWHy45SQ4sTO2x06AWFxzRWXJY5XTOrGKM4jQQAXxC1HuJOT6Vu0N2mcRYgAXxC1HyJBPov/7EEQtj/CHDVYAKRjYD8GqgAUoFwHwI1oAmMBAOQSqQBMYDc6DDVRs0QhdibQzSdoTxr2W7gQ507mhSRsa0DsF7QizXsvhww+kGBoo3zqrVzYHYeVOVh4HRYHij8D5VpOZgSw8qccU//sQRDAP8H8M1gAmGNAPAZqABMMZAig3VgGkY2BDBqnAFIw0PBJkcOssQFVOkEQ3lt7OteqCSIQBosYBJTpBFXWHyuPqgbPisaasaDzlMAHfO3iiz1QNnyMsissHsjqA/PDt4osyvuj/+xBEMY/wdg1WgCkY2BDhqnAFIw0CDDVYAKTCQEAGqgATDGixCzQjTZjJgPGbImxPobrdgYFlhZ6M0oPGZSeoHCNo8JSJbkI2n1kJ+udfuLLWRtHhKRLdCD6b0aHYPeLh7WRomx5Crf/7EEQzj/CFDVWAKRiwD+GqcAUjGwIIM1YApOFAPQapwGONhIxienGwGw4daHtc0kw5E1wKU/RqCsSL2mNrsZ2hITJU8QSkiVEjSbJq3TkSEyVPEEtWiOX6c7mNEpguZX0ZBkKOYMH8//sQRDWP8IcNVYApGNAQgQpwBSYWAgglWACkwoA9hqoAEwxoh/jIkxgGNP0SDIVRQ1fINhx6tjwYOZJAHQKo408ddPanq4PAQ4ySAOQahQdJbUiuo77NCUwvREMyMo4eG7z0O6r74tD/+xBENw/wdghVgCNICA8hqnAFIw0B1CVWAKTCqDoEqcATGFTp6dLDMoqh6u7JSKe0VWB82xxtzyIcLL1jfi9oqsCc2xo2yaQSXE0ex147wxEQggnCI1anXaP95nF4YlSBhvGQempy5v/7EEQ7j/B8CFWAxjEAEAGqYBjCJgIIJVYApMEAPQapwJMJTA28mg91hGmjq7tDyyGsXceOHlP1yjTRWbtDxEhS6Z6XTbsFwKmApRq0YyhWjx08srI+FTAUoitGH0K2UOnvSXsFqiAp//sQRD4P8HcLVYBpQLoQQapgDSIbAcwlVgCZIqg8BqmAFJRkkOJoaGQ/OpKDI5LbixAkZCCaGhkD5oonHM5DnYO5Ug7GxOsisQKNSZUe3op/FpB2NidZaxAo00yofP6Vn0HaJvm0QKr/+xBEQY/weQhVgCJIAA8BmmAJIxsByCNUAJkgYD8GaYBkjKS8iBw4xqBc7t18Ye1Nq7oCRRyULDCTsH2uubQMjaHCGRahuiHVIdD5hXJSG0OCmRyhtEKO5U+7CKcBNY0BGJonbcI4Rf/7EERFD/B5CVUAKTC6EUGaUAUjGwH0JVQBpSIoQwapQDSIbMqozzN+Al40BGPYnbhHDHKsM9c+he3TNDmqYNELbMGTDfRmwi9umaEmqYNCFs1DQofxVeQuMkYQA8PomCEzYQGpem3Q//sQREaP8IsMVIApQEAPoSpQGWklQdArVACkwqhAhmlAFIxsU5iUYD4TomAAs2CA1L026CHu1saBWQshGlV4KKI4t6CtDtbGinQcFA4ktCKI4t6CeiqwfNEsG+IFjScMtH5UfnTWD5r/+xBESI/wfgxVACkY2g6BKmAFKRVB9DFUAKRBqEAGKUAUoCUlpuAwOCScMHR+VHc6aFq0A9bE2hnEdc03zVuBkQtWwf7taB3EdWab7lTDIoaolEkn4B4KSPo/Utxi+xSkMkJJr8D4hf/7EERLj/CBDFUAJhjaEEGKUATDG0IAM1QDJGagP4ZpQGQNDBL0vrWk14CRC6hcjihpANEQVnEiN6nAgiUaHPwixACBqzjFvU4CESSpOBnorB4DlGZaecojBCIMsBlGu0hCYkI1QZWM//sQRE0P8HsMVQBpMKoQIYpQDSYVQewxVACkYaA7himAFIg02/mQRJCwlYQ0I12WXjB9ZtQkiSHR1hWhGueZesTnQa9CCYw7E4TbW5CD6cXybf0lqlYw7Gx9tbkIPpxfJt/atUqTXaT/+xBEUA/whQxUgCkwOg9BilAFIxsCDDFSAKRhKDqGKYAjDF0QwrYxFH29bMZvGVtdpEILcQaTu45jPxlVnHjh1Gco0Dj2e7G7AeJY3GCTzGWDgvZ7sbgRoiDeuNEuKlF9A8RMNN2j5P/7EERSj/B6CNSAJkgYEKGaQA2GFwHcHVIApSJoQQYpABSMZfMFjGiXJkl9D4icKeiH0W5BNuseHSzJCAsgdfUvkj5AxqNus0LGkJIBYQSuEV+4vtiOWDUkE5EjoRAqskDgKKNQ07ZY//sQRFUP8H4JVIBpSKoPYSpQDSkVQcwhVACZIGg0BCmAEwglNQgLIm6IgdSSmoCijUw7YqCsQkBCxojRCjNjVZo6sQZGSEohY0RkQozYWrJjooioPjxVE3BCNSALClu6wYk6Kg+aIUT/+xBEWY/wdAjUgElAqhABKlAEyBQB5C9SAKRjKDmEaUAUjF3eMg80g3BR7usHEtR6wWj1F4mCJCp46/UJgOJ/+6j1QeMu0PDTKnjr9MROGdcLIdFjTTpiSJUAqwcwRp1wyMjhpFbYGf/7EERdj/CECVSAKTAQEKGqQAUmAwIgG1ABpSIAQgPpADMkQBKaVMNxGnXVxBcJE2daNUti6lmp30Sji0eJL4o9zy5PEFwkSyHo1S4O0s12+pRxdaRbAQeitcmixyPEwnCXFcPo8tkG//sQRF4P8HsJVIBpMKoPoSpQBSYVQggvUgGkQsA+BelANIhlEBR0FHSKRSwDeHUkkGqLxm0Q3OU5MKLpgQpBHcm3ZpCwo6qqkXDbAXgGcyGwXOpENyqqjg4KRxWJEIFEUJNvpWE+yqj/+xBEYI/wjwlUAGxIohABKlANKRQB8B1SAKTCQDsEKUAUmFDh4lEicUQgSRQk2+mE+yIZIx4nWobWQSY1tloua1EJkjHidKhsUQpC02OaJQ9qjvsmEgYO2ZC6DHI3GvSDO41vs0JBQf/7EERiAAC+DNKFPMAAF2G6EKeMAAQMP0gY9IAAdofoQx5gANtkLoKcjMNekGrjRtWJCMVqYHhl6jOIVGDzkxszBcjUwPDLRE4iorB5ybr2EgniUHEMBPEQd1ql5AR3fUwhgRNFpm14//sQRE0P8IQI1IckQAAPwRpQ5IgAAewhVACFIABBhClAFJhQKDYaBReicGBOy6Qs+b9wjhq9y0icbopUUQYRg3Bjheo5TF4UB/MqufNESQzJoJS63WDsPxbWeZNNxpFIkDjHyqoSEMj/+xBETw/whw1UAEkQWBBBqkAFIgsB+CNSAKRhIDyEaUAUjFymivnzS1HZSF9UoWRRzMzcwNDQAACVqPKAng1xLlfD+4AAAAAAAi/CxFpMQU1FMy45Oaqqqqqqqqqqqqqqqqqqqqqqqv/7EERRAADCDNKFMGAAFMGqIKSMAAQwPUgY9IAIcYaogx6QAKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sQRD2P8IYE1HcIAAgL4Aqe4AABQAABpAAAACAAADSAAAAEqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqo=', + E3: 'data:audio/mpeg;base64,//uQZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWGluZwAAAA8AAABwAAAvIQAEBgkLDRASFBkbHSAiJCYpLTAyNDY5Oz1CREZJS01QUlRZW11gYmRmaW1wcnR2eXt9goSGiYuNkJKUmZudoKKkpqmtsLK0trm7vcLExsnLzdDS1Nnb3eDi5Obp7fDy9Pb5+/0AAAA8TEFNRTMuOTkgBK8AAAAALEUAADUgJAUATQABzAAALyGfay/9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//sQZAAAADEATi0AAAwAAAqAoAABAqxVaBjBAABNh6qDEiAADIAHl38P3xYWxMH7rq+fteWEcS/lGL6BKr7cbegE4HCbJt43KfSP4j5WL8IttFDB8HS4grIpeKNvXO5NZactTIgZtGj/+xBkCo/wwRFYhzxAABOBaoDniAACTC1mA7DAgEUFqkB2CChr0GTheUMwjFUIpB7b8ay78mgZ1x6QTCItkIU4JcinlbYXXR1+f3Q974WLZCFOGcwbX86F4l8P3Q976sXLWOEVcBkVoP/7EGQEj/CgC1kB5xlAEoFqgD0lJAJEQ2YHpKSAQ4hqQJeISFNipCL+UKPvfJIqxc244lrghy9FPYaSG6iI+98kjrtVNogFQv2MLOtDFEOEHXycby4mKikaT/EMGayjKThK+Tg65UwH//sQZAGP8HsJ2gEqEJAOoRqgMOIgAgwtaAC84EA6hOqAF4gQgDYkQKHGsglBOHNdcpVBSCXgghodrINOw5rrhQFxEpxDFMUvYofGeV56TTCfVxWzt/Bwr2BNH20Fq+vGqpQkEVFcE6D/+xBkBQ/wmA9YgeYRsBAhKpAViQICPC1kB6SmwEIFqkDzCNi3xg7kOIe9o2mFEUugCVGOU+beJP7Eq/O05TDGkAwaIntyGNvLP0h4V30o69DXAgNF/k6AtfOHYvhO+ZrtxrvgRc4W1P/7EGQED/ClENkB6SkwEIEqkAnoAgJkLWIHpKUAQIXqQLEBUDizrxM0N4m3eTjHu0wSDbhA5wezaKqcadnSzs5I9vKY+RyVBGg9Y2zfTYtThEde2zTGRBgLSPOlp0sGSI4NiV0ViF88//sQZAGP8JELWQDvOBAPQRqQHeUCAgQtZgK84EA2BeqAwoicB+zAHRvCrrjCEeKH56HExCzUCdmAKE42uGI2ZZLS0LSjcLXYJZaYXWhGM8eduolKaJgH2AGSR1oNH4LogCxFAdSILKr/+xBkBA/wiwtZACsoYA+g+pAF6QICOC1kB6RFAD+F6kDxiRDInNqPlDhe4/NUai7FiuJuipL3qTjkPUJp64ZYgTswR53rOvaP0Z4z85ajrhKvQ8TLPa+xU4P3hXykqspI810LnYJ9BP/7EGQEj/CQC9iB6TlADoF6kDDiIAIkJWQAvMCAPoRqQCeIEEbde2f5viDrl9IR+UgfsHwkHvHvwj65ezWbxxXSnS0Tv0unKl3Xnp1MMbbGI1tY4uV7qPOQ5SWlaumTyghMTAXZXoH3//sQZAWP8JILWIHpKSAQoWqAHeIEAlQtYAW84EBDhKnAp6QIGikF4Rfe6mFzGbQuKqvgLEe4MkvB73Q/AtRiYJngAiIIKbw5BfxEeufhmGMBIDBoGOW1LK2zHfKvXfM18EiG8MqcE+j/+xBkBA/wlAtYgekRQA/haoA8ZTQCLC9kB5imgDsD6kC3iEj8nVqTrW4E65kijtpWXCenV/D7lDgZJxm45T2xAwRaKpzoyLxtKWC8JtQVq0AiUjgqwdoOkEdOw9QupcQkyIB1gj62lf/7EGQEj/CMC1kBaREgEEF6gD0CJAJcLWAHpOUAQIWqAHecCHpQdBfEvVfYnpBhXAsNAfyrW0ghcfhdiau3EXHBFTgpZeiB9ez9ouIN7pBMLHm+CfnCkTylMZmccfe6QYTKZfHBoQyE//sQZAQP8IYLWICvOBAPgWqABeIEAjgtYgekpQA3hapA8IjILUlSUY5N15+iMrl8umVzwkMyVHl4Z176OmXzYLDoRdrXurpsU3wi/ZJI6+qoAtOmLuaSDS/D9lDrkxLB7nCvK4H417P/+xBkBg/wkAvYgekRQA6hGpAd4gQCNC1iB6SkgD+F6cAXlAjWi4A9BWuFVRCHXZh4WDpUayG6F1+haLkumQtynKvSg6GcJOufamEiEyPrIBQqzoyBkV4VoTXV56ISwBcxAR7chA/4lf/7EGQGj/CYC1gB6SlADMC6kB3lAgJALWIHpESAPwWqAJYUQNI+E3Kuk4URtBm6As8ZGOfNaK8pJHtwtew1qHBqFkHUVwF97abA4nGgD2A1pmsMPTjann6VsVSTJFc8cCaTGLKHwxwp//sQZAeP8JALV4AvOCAPwSqACecCAhQtYgecRIA5haoAtohIvPUohi1bxxXDMentZBmRlH3sp67PKgeZgSj8Q7AxSB+O7dI5WDTQXGIUHB7KPfgt7qXB8qhdCx2CPY6F/xNizXEOhNX/+xBkCQ/wjwvYAek5QA8henAsYkQCOC9gATzgwDsF6gDyiJiK0CIAvBG0NDuDlnDtamqFIhfHFdL99YKElqMRZyD0FKu2mJKLVsHmjK1Gtwr0IqWPgQ01B4eGQh+gedfSHaT0Cw1Tm//7EGQKD/CnC1cCCTmwDuF6gAnlAgI8LWAGJKSAOYRqAMKIhCEIar0WjQEiMzLhk/ENC6tExOUgL2DdKWjcsYWDcJuVPUaJy0pBzgHgoNlghNkOaoWIexhdRzo6+K5nUL5LPyS+90ll//sQZAoP8JkLV4DvWCAQYWpgPEU2AmAvXAO84QA8hGmAJ5QQJFPHCanUHPCusEeNwve6iEYem0FZMc+WHT12uHoO8KPSXrhxrL4sFU/yyOtA2fmaU1qBezLxIcAsiaBhyypKLuSa0pX/+xBkCQ/wkQvXgW84EBBhemAp5QQCaC1cB6TmwECE6UC4CEjDNHLwuNFJxKFVdQ2bjNpSvB6i8hgep0X0dAsxfThZjiHcdk4FoGHA7PkfDzNcGaNh6SXX28B7IkGJFPjsxEZn7YtSvP/7EGQID/CpDtaB6RGwDUF6gAXlAwIYLWAGIKSANIRqAHeUDED9orf0wlY2n5kKkjW1HT8boTonDqXAC0CXKwNfQMhvCXdIwoeMAktAjNK94ZPTmhXKSR8YVc4itPufgiqI4dqS9Vg8//sQZAmP8IkL2AHpESAPYRpwJaIUAigvXgegpsBCBelAV5QQKywKtySnZHuCE3Q5pq9hWrslGU70wMbxh8CvCL0qqhIVaTJllO8QhVIw6H4T0qqVwkymbBAdId43YnQbDeEH52Qhch3/+xBkCg/wigtXgeAqgA8hGmAd5QICMC1eB6RFADsFqYC3nAhA8zAFe7JQNnobpK1YPlQQhG9hnq4NurptWxwzt9ECuRuHHYJZsrSozLcp30LtozFyC2k6WNIPpGkQV4XudRZEiUTIh//7EGQLj/CLC1eB7CiwEUEKQDymMAJYLVwHpKSAMAXqALaURF0dwqbrcDSXLuudRlEDNeBMzAzjeoD6VDIbxz7j8loBFoZGBZ5H1HX43RXJVL66FjsNVtxVGgYohwr83G5LJDUwN+wN//sQZAyP8I0Q1wHrKSAP4TpAPOAoAkwtXAekRIBDBelAt5QQtFTJh0tDNiq9IoZ6nFyuEOl0R7BCUE8W690nQuKdjECnWOJTtjAWvEmpK1rC7CeqCImE+ni87FKC8H4RfvH5OMVTWGT/+xBkDA/wnA9WgespMA/halAF5wICiEVYB7DmQDyEKUCwmNBoJ5WJ9ii34+698nge51JIV+xweLRSrsgeo5xEfXM8vAvExEBWB8wQuiDolXruptmaLxfCVTnXzqBB1hoNBeHnXNkeZv/7EGQKj/CcC1aB5imQEEFqQDynJAIwLVwHrKSAOoQpgBeIEJeIYNacA5oQeyh9eU3Np8QOx6IxFGzVgVMxqRfhPcekYRqMI/KsHWGbBmTS65kj0LAYlwHcJeR0g2NBFGcr/bjJFg8V//sQZAqP8IwQ1wGGKZAQgXpALeIEAgAtXAU84EBCBGkA8pzIwLjRP4BQ7LBiJOD6KoPHHHDenCC8DyPGJHibn5CpVIfGB5zqTnhdah07DMimpYg7WsYmhu1eIT/6TNNy7r2SEnAzj+H/+xBkCw/wiwlXAC9IEA/BalA0ZTQCPC1aB4yqQDiEKYB3lAh0kWuQ94GX4lvOSHM8Xy8LjpMeToh3cELobhHnaIXIdISXQSpGVjFRL720KsFmdGws50T3wLmLQNhnEH75LA911CBfxv/7EGQMD/CMC1aB6ymQEeEKMDzmIAIIL14HmEZAQ4WowPSckAhn87H5Q8rKvXPSXbRmNpyVU3nEwy1Hn4ZqEV2O0NxIlFkLfMLuXD5flNzpKoGDNYBi0Tvkymc4Mym4fl6+wB5eBuxA//sQZAuP8IQL1wDvEEAQQRpAPKYiAkAlWga9IEA+BekA8oCoBmid+lpdk1QXrWKi5bgy5w1a/IT/1NjnpV+yTyWR0roWOwGjZHuNJLxuqurooUa7M7Kh6YDDrwxD8K3nZORcPNdkKur/+xBkDA/wigtWgegpkBBBCkAt5QQCMCVaAr0AgEOHqIEEiRCeSFbqGJofedk4DhZYDd0juVAHGdjDc6Xde+mbhWWFQ8O6lWd9SHfXDe8fJ8EbMpuDrsgeB4DhrjDwzhHnJGGYRJgnsP/7EGQMD/CSC1YB5imQDkEKUCmIAgJILVgHsEbAQoQowPOYgFecuuxiol+6nBUiML4uV0t2NDXc/FeX4R+2RwVJYF2GlcPmcTraUPTK8/IqxEC2iiITDmbrJ+ts/2uGagtVZhB4MIZE//sQZAwP8I8L1oHpEUAQIXowPQckAlQtWAespsBAhGjAt5QQwU3yB6YfTlNCqslQOlMEHsj+jAsPRqns5wm7dISCglUgZuFXywqkaDXTVBWqqVRe4Yxrg4lIiPV02BWVfvkMlUr7iWn/+xBkC4/wjAhWgedJEA6hCkA8oyICOC1YB6TkgD0EKQCXlAjAkZMaYNE198hl8CXlDI0G+vxGeSodJcTbzlFiIPbWPzQBzwulQxVG85RV5RhNJIocIZ3aha+kYCxTj3XtkuuxrNxo6P/7EGQMj/CYC1WB7CmQDgEKUDxGJgJML1YHpKUAPIQpANeYCALQrpQMirtosNk0IYL6cB+W0wL1hy6V4Xy1ahVYtitnF+uZrYUimX561cKUPDCPypAacCp1kHj4Z0VoBpDG05KhCsY1//sQZA0P8IMJ1oHrESAN4PpQHeUCAhwvWgekpIA2BClA8JjQhj9uivogPLATmg3UORHrQ2KcSbL19sGq8LDRr4LVEHRV32rI9lLYROca8uC5mwMUheHdspyVBktwjc4SvC9lDrp5y3T/+xBkEI/wjAtWAekRIA7BCjA8piYCMCVYBj1gAD0FqMD1iFhUG+uwIKHnVxRP9Ks15V+dpyZw812Lsk6OivYGl+D7aexg8moUnSe5nBA744Z44VpTVHDtwL3QNyuZr46kUb34I2ZT4f/7EGQSD/CNC9YB5imwDcEKQAnmAwIgI1gHpWRAN4RpAKeUCC+wr3yFUTUGUHZrRUgPk2hFj2BZ4ky4Z2aKqrEBEYSJhZBLocJha8SLH0hfL4FoeIYNrgapOVwQlNfe54GROBuzE2iF//sQZBSP8I8L1YHpKTgOAQpAMKMhAnghVgg9ggAxg+lAJ4gMo1u70D4kWUfcz1wEakxHaE0g6wR91urI0AuV4K+yOyx8Uq1w9CPFTZWRYL1sOfANE5XWgb2ZWo0iTt5CrhG3cQH76Zr/+xBkFo/wkAvVAew6CA2BGkAt5QMCNDtWB6RFIDqEaIDzlIzv4dvj5Gkn28UrYdIQp1qG3zWmWTQP4WEyb7FYzqLBkVOFfnLdWUUE/KLzQbmhmWDPOt0YMMJpTFvsjOdxsWvbPdnhXf/7EGQYj/CTC1WCDxCwDgD6MDziIQIgL1YHpKbgNYQpAHeYDHCMVTckeM5fPx9LVo5+wNk/G8Urar7ypn1NkG6dLs968D3T0MX2wPEIW94ZNXZ68m4kSIymZZDGNaFR+9SZuXC/xWwp//sQZBsP8JIJVYHhMoAPAQowPKYmAmA7VAwkpSA5BGjAx4gUEowj8qyceR7ghPP5WsnYB5XBg4BPlaBQ1cELjYZ09gB0sBo0Y+FhW4xrrdNRsIbcS06c6SRU5dA2L8S5z1ZIwSWwic7/+xBkG4/wiQnVgekRKA3A+jA8RTECOC1WB7CmQD0EKIDymIwCQqcr6UHTVzmpAgObeHRpP9/1e0fSxz1w7a6qkaFrbwFIPz+LxtcOqW7ZNhWKQBeLku1DXc+E0bhX571xQdsIBmjDrf/7EGQdj/CUC9UB5hKQDwEKID1GEQI8LVYIMEMANgPpACesBBuLVPOt1MCnjGnCznTPLaSi9amCT8IfjkB8eUYeexPO2Ftyzj7tFipHQuTkqNWXoHJI8MnprTYjJkL4ukJQuFUqGau///sQZB8P8JAO1QHpKagOYPowKeYDAgAjWAekpKA6BCiA9ZRA1ZqDImBi0UuImkVMkEJjcH2erbCFhEIbpt4TYpwMivnFBwXsg89kVNcRnq6QWPwzlVBwJlsH/sBo+FskYdfbrcinD/X/+xBkIY/wjAtVgg8QsA4BCjA8ZjUCEB9YBT0gYDsD6ICnlAzZhcSdLtQtfSgbFrRLv9axUEa4AtAYWFdIIfs08gImfWTh4GuU7AvWWL93Dto4VAJ+DUwGhUQdGht09oXmGE0xD/sPuf/7EGQkD/CXC1UB7CkgDUEaMDUiAwIkL1QMJEUgOQRogMaUDPcLHRSpq8K+XqhGE83HPYFicKaw0Wvt04DvRC+Qq4m1DgiMViYiK4TqwKeaTeMa492cm6wM4y7U6JDxFIjRmjljbNoZ//sQZCYP8IwL1YHrETAOYRowHeUDAiQvVAekROA7g+hA9IiUdDmVsMkCgwhkRRbCLRCtioYusysdAOSgCeBuK4Gk7ILUW8r0wALFsSOAeNleyBn6ash3GjDFK2ELY5AfsCWPcGaEZKj/+xBkKA/weAjWAekpKBDhGgA9JyMCCC9WCDDiIDCEaMAnlAwvOSHbGczma+FHduipAgX8olNKvrrBpm9ADxTjOupGh1ygY4L6WisfCk0Vc/VibCuIcM7DHGcRHlaHzsPZauBBTKQAcP/7EGQrj/CJCdUB6REoDeD6MD3mAwIoL1QHsKagPIQogPYYRJOVxd15R/V2YI2SZ+Q7Yr5BYPs3ibXfO6K+Z4vpxXcvzCV70dNfcrDJEAYR+VTnj7RLncGlTgumuxGTobTkqwd/01g2//sQZC2P8IoI1QIpOSAN4QogCgkBAiwnVgekBQA0hCjA9oxcO9NcugzEwBGhX054qKlqGFaXZymylB0PAM8D9HALX5aGrurJAAicCr2PGRLFxxaBkfxvbTzsCZkHnsRxWnYuGX+uopz/+xBkMI/wjAvVAeMSkA4g+iA8IkACLCFUCLCiwDoEKID2GERc2sBSI8H6YZ+UdOQzQWqyPZfawOieL5+PpSKK/srGAiZc0vXhBZk0Xtm1BcTWC6KqioJuQhuhXIOB6+lH9miHcedLlf/7EGQyj/CLC1UB6ykgDWEaIDzFJQIwH1QHqMJAOQQogPOYSB3wIxGcIQ9XQPl6R/SmrsYqoQB7J2tLug9/psDZA46D1kVnaBxq9TNKlezBGzqbzSuDcTgVuobdbTkzEeZOKhvEnDiR//sQZDUP8JQL1QMLETAOgPogMeYDAnAvUgbg4EAxBGkA9AhcU5cLSK0jO2ixAQyIo1NAMR6V9LPfXYSCKswwfoao/pGLfUzHbWl2+SlwKJQAHiVJxeNpaCasimFxlNLap7DUVvR0DJr/+xBkNo/wgAhVgelICA5hGiA8xSMCVC1SDDCkgDaD6EDxGISRuhFeSoHTKBqy3O0jaPDPoQqCMoCnxWaCXD2si9akz3NDOXrqRok+Sk0DRWma2sr99shYM5NCHhrJ3g0PZ8D5eW7LZP/7EGQ5D/CUCVSBWEgQDQEKIEDmFQJEL1QHrKgANwRogPWUXBgeyaBWj3L0c9dJr7PXwJ2F0xjGuHdPYCxhKB86sf3nZPBRhFRwpnLaGapuUH++xGSSQTE0Yoi0RuSobHZ3TYjIkJQ8//sQZDsP8JIJ1IHpAUAN4QogPKYgAiQhVANFgAA6g+hAaKQA4EizhdMNRWqgCUUlAhwCfkXFp+NV2/nU7qbCkHhcBHCflfHa6bX7sjIA41JtsMcg6A/XTMdpgeo1SCgLlATVwBxHEa3/+xBkPQ/wmgtUgek5IA2BChA9phMB/CdWB6SkoDMEKID2FAyFoat1gg7idyk00h/VWDSyNDpCsd0KqqGsfsqGcB9OjsRlDrraNWLdiJ8qCvCnIcRHqxJmr4R/VUoga8INaBORw/PjBv/7EGRAD/COC1SA2FgADYEKEDIJAQI8J1IHpAUAOgQoALiYDNMzHrW2hdHvC5o1u5yELj4cpTV2MHlGCel+Cg3sCbs9UIHqEyGIlSBp35VjsgfIcr3UYGmSaGFKFQ8j2BDorKKjVKQP//sQZEIP8JYL1AHsOZAPYRoAPMckAjAvUgwkQ0AxhChA9ZhELBbkuCA/8THhClD/RWSdFiXgZoRcsoQVZw/X9HX0Jy3mpdDrCtYhOKwWaP4VuyTiStFgG+Iui2TrxNpNSqpIRCnEROD/+xBkRA/wmQnUAwwRMA1A+iA9IhICOC1QB7DhAC+EKEDyiEyWSHy9FvQmmsPD1GvInAK2pFwryuHfeJsIq3VUOwsesCPAFySIKqrQ5CPHX015FOH/hG9XcJCutQ2v7cHFJ6MO2DnJ1v/7EGRHD/CVCFODC0iQD4EJ4GFnFAJYLU4MMKSANgQoACwkBHTOdQtz/ehdKK4gMD+bE+hntyU2/R5OBOwKUMMWBVlcGJLBF7OGaYWPKpy1ibocLYsEd2U1rEhUrMH943uhjkTr9C9G//sQZEeP8JgJ0wMMANAOoQnwPekBAlgvTgwk4oA2hCgA8RjQbwv6bBSiio7gR5zruvpG0S+TSSNllqXQlk/EdZZUNSfLPuyNh2j2LwTwbFcQ1eHprdrIHq2SZwwlbUuvrGmUS4Vo1Zv/+xBkSI/wlgvTgNhYAAzhCgAmKQEB8B9QB6RC6DkD58GEiFwwH02RWhpV1LfSxypTdsggkjDakNwcfFaCLfSxnDQ9oqyIIQmgSwLztAt+lnHWepXFZQ9u0HbDTK4CzK8OQnx16U4pvP/7EGRLj/CSC1MDCSmwDaEJ8D2JAQJYLUwMLOSANIQngPwcBDS6YT6BHO9Z11DL7dPG5kXqcEOBvsY27BCVFcI9PI2UipynBPqWXy6Bll1KsDvHFgCcAJ0WgqtyhOMceZQQoFpxosMp//sQZE2P8I8L04MMKLAPoQnQYUYSAkAnTgeYBsA7A+fA85hIfoztwotuMySVFoYsf6E+pZdR3QPQf4r0WCghKNI/gP1eo/GA6abssKQ0o2NFDQwo+ouUlmaEVyCpNylCygQlIgbjNlv/+xBkTg/wjQvTgws4qA9BGeBhJRcCEC9ODCRC4DkEZ4GElFxCJQQgDSwFhoZ+E+DKxqQThXTkgAHF4jdBeHu2DFXWaYIUIJW+Jvs9vHBt2NDEG4egg7gJtDv4HWUQtlTC9WL7E65WE//7EGRQD/CCC9OB6TioDoFp0EElMwIsL0wMMOSgNoQngPSUlCEmUgaTvDou47pXUVET6cRoQzo6X1GC1dXSqY0rJmvHa3fBF3BCYjhH06X2Pivsd4ANKwo+g3qle9IJZBMDr2aPrA5P//sQZFMP8IcJ04MLOKAOYRngJwcBAhwvTAeYpmA3hGfA84iEGHwTw5oSCKBawV+ATMhZsodP2aHJYEbZEWVbYl9ceG0D3F3K6C9hkjzJl3tv17w42g89fQn18D4ZYq28DmpkXz6pdJz/+xBkVg/wggnTgekpmA3hCeA9hwMCGC9MDCjiYDUEJ8DMHASZ1aFCbNEKDDA0ZFT5aisxCOG6khc7FN0gKGo4WiB3jOs6EoFquC/4MbpGHwYq314raHlytr3Rj8CIvqGQ3D2mofQP9//7EGRZj/CHC9ODBhGYD2Ep0GDmJwIAJ0wIPQCgOgPnQQYcDOBqwZWIHypx9mnj7kcraLF4U9AnDRKChR5yHoxixXmnUhwJ8ZKW1DpbbSjAOMJU3AHwIOEYtSUIoR5Tl9J3jRpUE2Cj//sQZFwP8I8L0oMGOZgPIRngPwIFAhwnTAwsBSA0hCeAnDQEjbNejK6+9bB8g/GsdW0L9SLXpBC4+e1WClHBKPLaj6idblNfZqoJKSS1SFl3MXigamGqIcbyuTokYIyPyqGeuQW3YOj/+xBkXo/wkAvSgi8oKA6hGcBB4gUCBCdODCykoDkD54D1nET3Ndp2CyYABWAH/MBQ6NUuzs5p2sgarEAI0AHrECJUZt9NQdwsccJqcCSkiFqxOHNy3dUKI97BDuOClxsGef6FxdIm/P/7EGRhD/CMC9KDDVEID4E5wGFnJQIgL0wHqOJgOgQnQYUkVK1LOBLnxW7nao2Cvn6lEC/KYrSEc+IeVIXenBRcfFElBeBRrSCpejIHRbhvVQZkXppWHgKWiKXtGJ31KsA9T4jg85xb//sQZGKP8IMJ04HrEZgOIPngPCYxAhwvTANgoKA9hCdBh5hMpOHgj9KFQXwXK4EHJdGF/sK64hfxlJ+6xAR5ERZRiH7TgXM6UPianvsMkFYuRVI9auNO+JN+musgH6uwHBsAVosqglD/+xBkZQ/wiAnTAwsA2A6hGdBhhxECGCVMB6kkYDSD54D2iEz4vBsY47ynbBQmkX7wF8c9VkHu9GQdgsLcD/nObz5KutgY4RynbkaAtLUSfYBXiHZS6aqTw0+A2FbA7qXhxN95Dpr0Of/7EGRoD/CGCVMDCmEYDcEZ4D4nAwJEJ0oMLOSgOgRnQLwcDJao0h1t5pbUPXIe4NtWM+V1rDybwOsiOBQumlQxGOV6MBgpuGpiWnJUtbneitIdxY0SQ3tF57/BROCeULUfmdMDYbzc//sQZGoP8I8L0wHrETgN4QngPOYhAhghTgfhYGA4A+eA9aRUae1nnhmXGv9MIKUOhMibXF0u1JaAsEWK4LlLDZORvH9ce7sL5eDau6rJwSOEhKKURaUU1xowxsKB4Jh7XY7QPD0Xkwf/+xBkbI/wnQvSAww5OA2BGfBgwiUCMCFMB4jKIDGEJ8DynIRO0Tr8q0ZIABxSBB7A3ZfmRdcNReN6YTCJMQbHoT870D72j+vvqFMb7GDSjnB3nKiM+ljulwj6Mh3GjcN6cJI5EF9cP//7EGRvD/CYCdKDDAFIDKEJ8D3jBQJUL0oMLOTgMQLoAGg0BO7FuxEuukBeAumpAsYvUyRGHNNSiCblGJoL6/Sn0s86zTXjcyK0BM90IklWorNd/UDK8P1YDlDo8w3AUdXBvPqbEgU5//sQZHGP8JcI0oMPSSgMwRoAKeIFAjwvTAewRKA3BCfA9IyUbmMDlOh/UmSpj2QdL4b14I2SaOK2cB4VCL3hk1rJbI0SIpWWQEsnkSC+akJk4LpsRkWhcghU4lfjH3Qa6zT2GCbL6Cb/+xBkc4/wnQnSAw8pKA0BCfA85iECFC9OB6SkoDsEJ4CsJAy0Rfe6Ki1wQtDsPaNGlZpQtXAR92DXrUm7NFWUQQQGwJecHKGtCwtW0Hy/K8vkqBGZBf7CobMaHB0199Q+gf67Fs0BsP/7EGR1j/CSC9MB5hKYDcEJ4DzmJQI8J04MJETgOgPnwPeYDLwfU58KrTkM6qinFjXYIoVieIaVGULkuKTx5CmwPUnlQdVwehpE8M2VUBxMusnDwG5BzVty0tWk7xpUuHh2nB8VSCg9//sQZHcP8JML0wMMEUgNAQngGwkDAjgnTAeE6iA2BCfA8picDUzHfw/TgrD0+LHYF69M2026hBSjgSJRZELS7QLqJhyshvRYO9IL4ErmUpeTclQy63R10SaksSZvAjQgs0LJBCYnguv/+xBkeY/wkgvTAwkROA7hGfA9ghcCNCNMDDxC4DmD54BsJAyxMR5E6lheALCHPU2MGtsIHmxxS/IdpV+F7udAePmtW4AIkxxnegND8LwgSpqggkjvXYm1w90xqHJvnYHqlZXoyPY6Yf/7EGR6j/CRC9MB6Tk4DgEJ8DyjIQI8I0wHnYRgMoQngPUcRJJtgsTkPCg9xUWGz9KzXgykhWBQ2zoQ1I4Z01IEEXKJTQ9y2hW0N7dPG5kXn2G/Y+up8FVEsFmi+eyjF8GJSA1BiK4Z//sQZH0P8JgL0oMMETgN4QngIwYDAmAvSgwkRuAugygAx5gNrKOmpcCnlybxjXDcZJMN8LQVXgaYtT8S04PISLz4XGSbo0iMpAWUI0rrlnW0OlsN5awnIgClFgqElLROvjhkVuxgnDD/+xBkfw/wiQjTAew5KA8BGeA9hRcCPC9MDCREoDcEJ0D8GAwBU4OvKZ6taVYYCofjOjb0EowGjQDxPjXxgyahSA0cg1pwCIQQce3kJp6a05KgSuAjuXJMlW4JaqhQgabWGhoS8V2FSv/7EGSBD/CLCdMDDBE4DeEJ4GCjJQJYL0oHsOTgLoQnwPKMhB8KH9VfZUQYD6GBDgHybUp+UmiQETbiTEeBTkMRGZvOfL1fY0MiKc0rDwE5GReP2Dpq0neNKnwe86L6YuVN1gxU9PaY//sQZIQP8JcJ0gMMOTgNwRngPSUjAkAnSgw8ouAzhCfBA4hUdyJVMqO+N8tpV99M1qsDtFwSJBKgdYjkZF1gxEbboqwHekl8XSYSVwhdwcRVyZiRojCSNgW5ZQYDY66yNbM6bGCB4iD/+xBkhg/wdQhTgecxCAyBCeA8piECRCdKDDzkoDqEJ0DzmIRSsTZclTU6NtfA9mYDL2isJ6yKWFdAyLcZCAqYCF8NNduMRCMYK+UWTl4roFy2bMG624dkaBYWsAWkPK4F7jBVGK2hq//7EGSKD/CSC9KDDyi4DIEJ8DymIQIkH0oHnYRgLYQnwPaMXNZOHgDpI0LX5+BXjbdNSBAY8IzBXEc3fpV146ZN6NDHsdPd2VjTeHy+zRXI8rTKgTsYyvsk+fxHgHeLEuyFXQq6loD0//sQZI4P8I0JUoHsMSgNYQnQPYYDAhQhTANhIEA2hCdAvBgMdqjikt9uCNi1MZYrgaRwVn1w6IfHVwGAqAogiivb7GpW05vKS3BcxUpbQty3Mk0w+OtBSG9GiRR5c3ip43OVLcfpgj//+xBkkQ/wjAjSgw8QuA4BCdA3CQMCQCdKB6REgDKEJ4D1jFxgVlSHFiUTiShJVe6+2XrQa2+8rllLIYzAotIwIiVD2Jppkc+vfAAAAGWp0YhxVK2PVD1I/ew9QZptKm4GUBZNEsVkZv/7EGSTj/CSCNIDC2kYDGEJ4D2jFwIoLUoMPKLgJAQoQFeIDN09P13jeHQKVd8IohGVagu4eJXW8fzQQSQLfIoNCfC0gUNVqTIhlzEIhB5RiaR/ZrL1kjAWsuER7hoK3AMYvYFRyNQv//sQZJkP8IkJ0gIPWCoNQQngPSUVAigjSgwdhCAvBCeA9pgM14bp1NBYF+UhmZEInKxuVek3xq1OOrZ12VlWd0lA+nKTfEBlYysNgcJbTTIJcbjaOipoaLrB9qlKl2tzXqUGkLJiiwD/+xBknQ/wiQnSgw84sAzBCdAbDAECOCFKB6zIQDWEJ4DymISLhXTHrLAj7IwNNAn0eePUHOQ0i+D0VlFRqFgKeC/Q4UfWJtJV6oYN9vLOzApiywsezoTTT0M6AQnjSMX6ClDWjTvibP/7EGSggADjC1AFZKAAFUEJkKwIAQQsLUQZkQAAYIQqkx7AAWuqWCLC4tpwa5M7FZxGQOluPZB2BKYIUgfEeer5wyKlpUPhb8qHGQuk9qV1NgQlD8O1UlAJLrNrwCUxEP38SMp44ZGF//sQZIyP8JcIUoc8QAgMgQnw54gBAhQhSAetJCA3BCbBB5QkIym2T3orZ6x7AhcVhv14FBXmw/oh6LYv+JXruErQyU2yTFc2xXhgjVkBsYrE2k7xZVOMWFrK0MbeUfRWIDh0LA80AjL/+xBkj48wlwnRgwsA0AxBCdAuJgUCCC1IDDzi4CkCqeCyiERhwuiaVLobNUbcsKaSzQLAGEmZcfUqyd0pUnV/Zrq0FUODPgHDpcL3wADANB8PG+Gu318vG2OGD0zrTODF0ianvVWKhv/7EGSUj/CUCdGCL1ggCoEJ8DUiAwJEL0YMMEMgOIQmwYYkRCQwzFoC7WGQLLCvebWqSoR/mn100LxiyF60DkXjyisoABkbC/gjDUpI642qyvIf3PlNsrez2SE6wQmK4dqmEB7jD9Do//sQZJeP8IsI0QMLYRgOoQmgJwkDAhwtRgww5KA2hCbA85hU/E1aFkrBMsXlK2mban0lwRMLBC4jDd+AAwBwdJkxHuMzjYJUV1iw9hVR2eL0wGrEZlaB6DvKGQTw26WeDyV3l+ugaur/+xBkmg/wjQvRgwwQuA6hCaBg6SECRCdEDLxCwDKEJ0BopASmHAi+KVV3R/9d89Z1jQaG4csMkFZUE4O5WFfjpq6tAfJh0BlQCa5KxGsGRRHB340YDA1KcMdTlNiZFapUMhrHAI0Anv/7EGScjzCTC1CDDDmYDcEJsGEpFQIwI0QMMWKgMgQn1PKITC6wKItRhCOGVr+AACBglYJgd4JpKlQ+Fn2mP9CSWeeRaBkfxlRpDrsj9hBLO3GSl7tEYJL9TCGFU845XZ/e/5ilr1Hw//sQZJ8PMIoLUIMmKbgNgMn1IikBQjwnQgw85KApAyeBAohN7aa/+AB7RiObO4KqPXutnJe/+rKKTIGLvhWZ4gQWAjV7RTF/l+uDNSukp5Y/wwhhgwqcOFSWbhQC/JDn/tVLP//AAAD/+xBko48wgwtRAwk5mA5hCgg84hUCIC9EDDxC4C+EJ0DzHEQASh+J9QvqErTy87Q9hVgZTZqaqqAAAAAAokAkvOHEphDdwMAAA1BRLPJMQU1FMy45Oaqqqqqqqqqqqqqqqqqqqqqqqv/7EGSnjzCJCdEDCRGYDsEJ5SYCBQIoLUIMJOZgNIQmgQYUXKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sQZKoPMIwJ0IMPKSgMAQnAPOIVAhQtQgywQuAxAyeUaCQEqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqr/+xBkro8wignRAww4qAxAykgdYgEB9C1GDDCkoCsEJ0DziISqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/7EGS0gAC8C88FaEAAEsEJtawUAQUcM0AZkQAAWgQqUx4wAKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sQZKGP8IQFU3cYAAoIIEp04wABgAABpAAAACAAADSAAAAEqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqo=', + E4: 'data:audio/mpeg;base64,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', + E5: 'data:audio/mpeg;base64,//uQRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWGluZwAAAA8AAABwAAAvIQAEBgkLDRASFBkbHSAiJCYpLTAyNDY5Oz1CREZJS01QUlRZW11gYmRmaW1wcnR2eXt9goSGiYuNkJKUmZudoKKkpqmtsLK0trm7vcLExsnLzdDS1Nnb3eDi5Obp7fDy9Pb5+/0AAAA8TEFNRTMuOTkgBK8AAAAALFsAADUgJAUATQABzAAALyEQ3pseAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//sQZAAAADQF0AUIAAoGIBnFoAABAoRdcBhRAABJhCwDCiAA+QjHABDI8wAAYnHA/q5TnFAsMECajKPe98j3T/RWg++jsYhBcYGnPoNW5znF3DfFns3UqqSSTspQPA82ZXUT3f40M/r/+xBkCA/wpRdaBzSgABRi6sDmlAACVFtkALykQEeLaoAXlIib+Ij/TRRRZ1rCjIDuvrJjN8YG/0L/Eh3oyEnZhAX24qdFBv40M/q/+P9/TmGqvgNRtN6oC/xgb/Rv8d7uiqkn2OAYg//7EGQDD/CGFtiBoCuQEWLagAXnIgJEWV4A4OYAPgsqABgUwAKX5ADP9/4wf7+iYV7lCbOI38Nt/F3+38qW93THIZSBpnuf5QI7/HA7+r/xM/pgnOYDshG+NCv6hv//hbuipdHhZC2U//sQZAMP8I8WV4C4OYAQwspwBiciAfQ3XgE85gBDC6mAFojoFvqDr+UFv9X/lHcnOjU4CWMSX4FX/Ki7/b+Vf0fSOAsKE76gz+Jm638Odfo4c0BJjBN84Of+Vmt+N/IP6Isay8AERxf/+xBkA4/wjBbWgC8pEBDCynAF5TACPFtYAOFEQEOLKYAsKMDjAH/hT/4/+Jjuv0aGElSrfGgE34W39R38Y/orJ6mxFd7DfngXJ+Lhv/Qv/KtdfDCJEbO/CD+Ly39S38XO6Od4oIQOj//7EEQDD/B3DlSAeDmAEGLawAsKMAHkSVIAvKRARgjqgBwciJL6gi/5QZ8j10rsGBhoZJvqCj+UFP9H/lXmvmICvMopvGBP+gb/GP16f2kEpL2NTxMEN/lAav5R/De4SdiJgibUWfzw//sQRAUP8IsW04A4URASQsqgBwoiAjxbTgDg5EBLiyqAHByIVN+g7/T/KPFk8ImDMtmZ/PA838U/yn+Uf0ySGWdAIuRslfqBR2/L/7fynqkkfdwLWjpJn5UAy31F39G/ib0qj9oFHcb/+xBkAo/wiBZVgDgpgA9C2lAEEAICAEdUAOFEQDyLaQEgCkAr+MAF/1H/xrfxjumVMNhHCh86OJvzjf1P/MXj56lZkK2qfcE2/V/4v8h77PtMAHwQr/RFQf85wT/49YPuxwKwPeXbyv/7EEQEj/CGElKAOTkQEmLqgAcnIgI0WUwBYOYASwtqQCwoyILLfX/Kv7umBfccIYH7ObxOAi3yv+Vf+pb0z9YMKziRE5uYAa/6t/Uv/K+mf4UCrhqzl5ABa/5Vv6l/5X7+hTKmNwXB//sQRAKP8IMR0wAggIAQIkqQCgI4AhBHSgDg5EBFiOoAHByISqX0hpt+v/OP5P308gsFUWFL6Q02/Vv6D9b+mHMs4gBZOc/yoW/r/iZ/I++HlnHAbJs7/E4RW+rfxM/kfeqK/VCI7yj/+xBkAw/wgBZUgFhREBCCShALDSICbFlOAWDmAEALKEAXnMAlf2CF/1b+Ub+Uif3QBRkRSb3DM35x/53y/ot3ijURrpI3xMAXf5Vv5xb+JncnE+YAPZxG/E4DLfKF/6v/K75blBpEzf/7EGQDD/CYF1OAOFEQD+HKEAcKIgIQW04AYUKAPwjoQFwowJflQQm/Kt/Iy384t5M1+psKJe38gARf9C/ket/R+8I+INvYS/UIH/Vv4jt/Utr4UMOlZM3kQH2/v/KeGfcqJ/ugEEo6//sQRAMP8IgWUgA4KRAPgtqABBECAjRbRgFhRgBEi2mAHCiILN4wJ3+o7+Fj/40nMgEYmUm84Uf62/ll/51kG9xAYtpxL88FTfy38hHV/KuS/OkKHNON+eB5v5b+aOr+Veoh/qVgBbf/+xBEAw/wiRbRgDg5EBCiWmAHByICBFtGAGCkQEMLaYAMHIi/lQKf0LfxwZX9i8f6mwQ97W+VAMt9C38cGV5ncwSWjZm8YAL/jB38KH/xj7oBiUrObxwA1/yhb+Ji/8o9r8BM73Ks5f/7EEQDj/CJFlCAWFGQEeLaUAQQAgIoW0IBYOYARYtpQQAdCOcHW/Fxb+Hj/xdOiAHjNGr+kMNvywe/ko/8seuP5AMHVZKd8qJrfE3+Fm/jxaf9AzACRYZULW+Jm/ipv483WtxwG4e8//sQRAKP8H8W0IAYURAPQtpQAwoiAgRbRALgpgBCC2lAEEgI75gav+Li/8oW/y25gVlA53zAhf8XP/KFv8tX0CxG+gK/jAD/hQb/jv41pzEBMk0i/nCD3+WC3/nv51o3/LY0hpp3yMH/+xBkBI/wkRbSADhREA9C2fAF5zACiFtEAOGkQESLZ0EgHgAJvygpX8q38XtXmAGMjvxwA1/1GP9/5T1B5lnEDHZjz/MQfHb6QkV/nf8mv139RTAh48N8yFHZ8GJ/f+Ubqo36oR3MYP/7EGQDD/CSFtGAWFEQDoG54AInJgJYW0QAgiBANwbnQAe0iJX8XBVv8qHV/V/5pecAhCil8ThFb6BzNb+jqubAcwuU2b0xDm/JUelt+/9R/r9Ai0Kb6AZX/KiN7+S6qiE84ACnM2X4//sQZAQP8JIW0QBYUYAPYsnQQAdCAlRZRAGCYEA7BqdAEEQIvAIW+HonW+n+Ue/zMG3R5iYAu/xALb/v/KwKopgOqNhvlATqm/xupW+cb+cMlnAlC+/zMUs35KNfketQL9zQUtHTZvP/+xBkBI/wnxLQgFhpEBCCOcAF7TACWEtCAuFGAD+G5wAnqMAgJ9kvi6QFN9R70Q/CBfVyPzEHI7fGYp3+cf0oGe5A5bjGv0EcHEb4ehojflvJR/nDRRv1EYJp7/EYUk9XkdC0CmABxv/7EGQDD/CRDdCAwIgQD6G5wAgQAgJYSUAC4aRAOYcnACeowI/mAbCb/kaMQhrdyTCJgBULb/TEOb8sEK3U7kVAn7mCXEXNm6x+Az2S+iGpX51kF/UFHIb8YgELfQOr0dVgv4iAVu0a//sQZAOP8JURz4C4aYAPwcmwBe0wAjg5QAECAEA4hubAEDQIv1DWBMjRvkwMqvzsvsUhUv6x8CQpv8zF9fJdQUNMwRI4X+eBgbo/HwMFT8n1kcwAuiF+kBzZL5FG4lrVNCVlABfEK/r/+xBkBA/wlA5QAMCIEA+ByaAMEAICXFtAAYJAQD2G5oAXtMDH4QHW/xuEjfk+uCp0IM0b1D+J4U3x/K136nFKOgnJgj6iPDBRo3xuLv+/864A/IKh6/rJgDJN/xdUj+QVDqyQNwEVS//7EGQDj/CRDc+AYIAQD6G5kAQNAgJQWz4BPaYAPIbmwBA0COTIKB9H43CTJ9/JgdAIclm+PwBjsl8XSAQ/oC/hAWyO+saAoU3+NQt1v+/9R8tMIqUfqH8Kkg3yKRiH8kog3oHAhSWb//sQZAOP8J4Wz4BRUbANAcmwBA0CAoxbPALhpgBAC2aAEDQI1F8EWJE+MgTX9H/lHuoIJP9ADif/Ojoro6yBvqMFFU6TdQ0gD45r9xSX+p/5UxgrB1mTesfgV+/4vK/t/OvVQR8oSN//+xBkAo/wig3QAE9RgA9BuaAEEAQCXFs+AcDhgDoG5oCgNQgb6iQABPf5ULTdT+QMYwC79RHhtyDfOEIzW7kwT/TDBJEfsfCsQO+IQSVvo/9Syp9AAxNMQIh0flRB63cigCzAB+Hp/f/7EGQDj/CfFs8AQIgQEELZkAQNAgJkWTwBgkBAPosmgBA0CEP4ZEUe+P5Wt84/8606wUJ76xmCvW/yIa3+d/zjwGosgh0nG9ZGBZSbv8f0LfOf50xVBJE3+ZgS40/Ij3+d/zlQnzAG//sQZAIP8I8Rz4BPaYAOojmgBA0EAiBHPgGBoEA7hubAECgIjCk3mQCfPJfIpZb5zyZGFXL35NBGHb5UW/zr+QomgAjhgkfURQ6Kb50jfzjukhTwGRr9RcEk9/lB3rfySjEgUwEeMFv/+xBkA4/wmBbPACCQEBFi2YAKBzYCYFk8AYJgQEKLJgAQQAjWTAWZN/5Cfzh7+cdC/CAnEm/zcFogn0D1/Uv/KtRKywA6xAzZvKQYXZL5wlv89/OE50B+UEfURobY7fWS/+f/nVn/ov/7EGQBj/CIEs+CDBMADuG5oDWCYAIQSTwAgiBAOQjmQCe0wABY5yP4XwLEb4Ib+o3onvuCkEq/6kAKd/gx+p/SgIF8AOicUvoBdpv+WP863XP8IBeR36QIrfnX/nH8jQQvpnBAXmam//sQZAQP8JoSToBZaRAOYkmQBBICAkQ3PADlRIA7hyZAEEAI/rH4Chsl8qP/zvrME6EpKjfJUVpb51v5z1AB+o6BYX0s5dBmACMb6DvW/kxnMgERRS+UBAFP86e8h1IgB/y0fkKlpsX/+xBkBI/wmRLOALiBIA2ByZAEEAICRDk6AuFEQD0HJgAsKIhc1Cibo/kv/n/ImCgF3jiR+ZCHs/1nvIIEtyZwwc6J9L6iMAXv8qO+R6lC/qbBCW9+gjhMt9C3kus4D1wgsUvYoSv4zP/7EGQFj/CQDc8AWVEQDoHJkAsNIgJgNzgD5aSAOYbmACw0yAJGflS/V5BBX7oCCEXS+YBup/qPeSQNP9wEanjPZdil0QQDo/K/U7klG+FMa32s5eZBLs/zjdcoJaxwIHrl8pbkvFwC//sQZAaPMJ0WTgC5UZAPIamACwowAnxbOAHlpEA/ByaUEEgM9/lS3+38q4vyAYc1kp3xeE63yj+3qgvseo3M2ux4FvmYO5D9ZZ/W3868r4EyMAfg33+gJ9f9R/09SgAcyrtgEFRdcuv/+xBkBQ/wnRHOADppIAvhOaAXBzACJDc6AOTkgDWG5kAcHMApdEHx2/LP53ydfQLEL5Qa/oBf0/6DH/ZSbtKmUtyN5QCd/oW6/IkXpgpDkkm8qEX9S/+SootHqO2dhYcKPl8jASb8of/7EGQID3ClFs4AeVEQEQEpuAQRAwKAWzgB6aRAOgSm4BwcjG/q/8o6CwygASTJgDcE/L+w0X63/10D+pXZgYukUAzZn6IeH/ON/v/OMglB+o+QPihF/QJ063/11RAbrcaKZPOsA/No//sQZAWPEKQNzYBaOSANATmABwckAlg3OANlRkA9hOdgEEAM18TATv8TP1P5CH9zRiw+trHyoLvb/pUbn94OPBIuzLsTueBc35Qv1eSg2KpDJMuA6GSR/Hl+S/yKitSU7SDp0FilTzT/+xBkBY8QlBbOAFlREBFBKhwF5SMCXFs4AWjkgDkEptQcFIwUP+hf+n+VaCMQMCEAAFc6N4wXTfQD+7+pBPPUZ+MYUuJbablAvf8v/t/KvKkBv9yQUhGxZvUBvd/VDj/i6RrKSGL9Wf/7EGQFD3CaDc2AWlEgEAE52AXnJQJYNzYB6USAMQTnoBeIjDmzwLm/Uv1u5PCIikAAv3FBVq6Lb4Z8h/oQRlUp3cA4IIJS3JuoKH/Kv1+RgSv8QwwUan0A/If6FYB7x5QvMzmMmIkX//sQZAWPMJ8WzYB6ORAR4SmoBwUjAhglOgDpBEA3BKdgEEAMblBDf5X/X/KPFCRAAGDgrvAK4e8WbxoBdX+sJcrrYjAUGVhEa1fIRO1u/qgSEgjmID8pGqXy11f61Qpe1+Kn7WWih23/+xBkBQ9wmQ3NgFlRIA7BOcgF4iUCUDc0AejkQDcE5qAcCIwadmgo/qW6n8hBEIIACF9I4NRCY1fQD9IsC3R5QwM4UEMQjy+UEP+W6vJJIoPBnEAK5vn+oF6f9KoHcnSbWQCeSEcWsv/7EGQFj7CYDk2AelEgD+EplQcnJQJwNzQBaUSAM4SmlBwIjO2eCpv0LezrtyABFzwg0Zhfydybw73/1DG/JuJsdaE51aY05poKP5Rup3Jrr+UxiI5IovoB9b/6qhAndHpGvj7kBJYe//sQZAWPsKINzIB6OSAP4SmoBwUjApw3MgHtREArhKbUHBSMqnLUoEN/lPu6YkiEgBvgzlAKUzYv1ALr9IVuOEiaWhmsAPEw6z88DzflC/W7kVF54R8UjCBV/hnXGAuizCj5hMKkI/P/+xBkBY8Qow5NALs5IBAgycgEGAMCdDc0AujkgD0E5qAcFJRo07HQDP6F/b1QTCVABvceBko7axxH1u7OsaD97z/HEeAIC/VKcblAW/5fr8ggkIICX52BZ7jUuXqBvR1KDhOOkrZQcf/7EGQDjzCYDc0AelEQDwE5uAcFIwJEJTYB6OSAMITnFBwIjlsGIiFPcNm/Uv1v6I4hCAAB5DqQGCDvK34Z6CB9R5QwswW0eATtpn1CTrf09dqWXLckJGS8UX0D+ioSBdNs+NRsTJfq//sQZAUPMJsNTQBaOSAQoSm4BBADAlw3NAFpRIA3BKcgF5yMlONygOf5V/I9eEREIAIMmQBcgRdS9ZPdX+oSF3JTwICyYKJQ7kanDrflW6vTmmZAhcdH4LU4Tl9Qx1VxXUDyheZrro3/+xBkBI8wlQ3NAHopEA9hObgHAiMCSDk0AWjkgDaEplQcFIwZHP40AP6juryMURDAAlyrwAI2QeKb0B+Rjakm2MAz4mG/Vk5tAc/1LeQ6pc3+o6DcyQFM3UG9/9ZD/sZOW1IqK5G+G//7EGQFjzB0Dk4AOTkgECEpqBcFMQKINzAB6OSANYTnIBeIjP8t/qgiEFAJPIGhxHFDxfUE9/9YRJUDxhc52GoKW02KcqFLfQY63dGeBnmfBDPwB9Jb9Avk6gA+VJWvgxe4iDz2L9Al//sQZAcP8I4JzQB6OSAOwTmoBwUlAkg1NAFo5IAsBKcAJ4jG8h1+SQRkUAB/1HyrWKWet4N5MgjrcbqZvCos/No07QN/yju3rv8MA2K0UX1Edf+qgP0ekdc8w4ygN3qU43Kha3yj9b//+xBkCg8wqA3LgHo5IA7hKbgHAiMCLCcyAejkQDeE5yAcFJSTz3IQADFyzjAYptip6APWBgtHCStaBsbQ0aLt8EfI+/pzzMMB86kBihZNZ78N9FUgs5ZhR8K/UiH5tFfQD/0H9XkYEv/7EGQKDzCUDcyAeikgEEEpqBcFMQI0OTIBaESAMoTnkCeIxKCQCb1ChAyhBiv1Dnu/rAQ3fGGjcQi2r9WTF1Av8f2dTAhYYDN9xhA1EX8T6EBvx4p3AP+AMWpcvhn+pfq8hFEQQAOP//sQZAuPMI0NzIDZOSAPITnIDecjghgnMgHoRIAxguhQBLyE8eAf4JlKmfh/oR+wPKFlmK3kQSdtN0A/J/6ABThQLYwHdHjHaznQcR0ut2M5iUVfqyZtQLyf+SgEFEDCH/YQv3zLG+L/+xBkDoNwhAnMgFoRIA3BKdQF4iUCaDUyoOTkoCaEp5AHiIx6vdAOhgp3kA/YOOf2mNO4d/K+3rAEMoxh0o034/VV92AGhmuCcQT3NJTHiIzt0A/Jdfk4JDBBBfKYwEKdmtXVIogXqv/7EGQSizCkCcyo2hEYDGCp9AUvIQJAJzcBaGSgMISoEBA0DF1qgWmM7i1llPob5L/TQGbaAGp0DucNUm81gRkEAAQQ/sOnC+kVDtopuN7v6qBVRAIM9RwuFDGO7+lwvx6RwzypDkQy//sQZBUDEJgJTcC5ESgNALn0BA8DAdglMgHkREBAAqZkFeBM/F+7s6s8zDIBC5YmGAJM8z8Se/+t92AAMFypNrIBNZM+LWXbUN1O7OqAMQUCEeGsQeJFfnelwH6zdTLw1pPzTFM2J8j/+xBkF48woAlNKHoRKAzAueQEDwMCECc0AWhEoDMEp1AXiJR1eiAQwQAIX6fApFa+r8dJFRAAIh/4ukd8nZDAY1ibxfV6OuC1UUQEuC6cBPHkdynX7sKIscJK09DN0CYUGs/UZ1P6Ov/7EGQag3CiCU1A2REoDaCp5AQvAwJsJTKh6KRgLQMnkBTAhOiw0Q+cBsEkqGr5VQEP1uKdmH5pyPzaK/E9T+SgEDjAAeIjqAdCiTyKXn4kZBEE5+RY5mEUYesmLwf09YFpooAq8Qp2//sQZBwDMIIJTAC6ESAOgSmkDBEDAiwnNQFkpKAsAyfQALxEaLbKKlkRBAAMLscAlbADruFjgaeoL39vVhasMBQrnRTgSKytR3ohRkIEK0PUYWKUVeRW0V9AX/H/6oBTBAIa/KYBkP7/+xBkIAMwpQlMwFkRGA2gufQF4SMCeDk1AWikoDcE55AXiJQ1fj+igRkYABj/i6RsbK2v1ZMV8H8mAIYIAHEhI1dFtlEkVFGFf2hTuQB3g4YATF6jOt/Z1xJEAPx42ACasxDViRkQAP/7EGQgAzCPCc1AWSkoCuDJ1ABPIQKEJTMDZKRgKQKnYBCwDkD+j1G7mBapwKu3gvX/rw1PGACp0UKCdRwZvhtCIU6FQeMDh4wiNavgI+uAQwUAV+EQq4Qk3qIV/i88AIjvzYPFjqFX//sQZCQLMJYJTkB5KRgNISoEHeUxAeQlNwVlBiAxBKeQV4jEUO5FNjQl5KC4UUAX3QzDFS9voJWREGh/2D6RpZsUoWmfQM+7+qi0UMAJcrqQkU79KokZBAASI1JXbAVPGngYpm0B/d//+xBkKAMwmgnOQTgpmAxBKeQFgiUCOCU1A2TkYCyCp9AQvAzVQKsKALw1hC4DjbEkpBf9hk04V3BCcrfJXugEMEAEnsOJgyii+gm+IqkAGHfYPpGtngKSNNj8EX5D/RQKqIABn91IDf/7EGQrhzCfCU3AWSkYC8DKBAQPAwG8JTahZQRgMgSnUCeIxKRy/jrIqKBl44SuvgwflXgzP0A/U7+sAUUYAYXZZ0Ev6hK3QABjdbjYTGx2fAFOVvkOur/XgM+MACt8MEMes1fQT78I//sQZDCBMKMJzcDYOSgMQSnkBeIjAmQlNQHkpGAsBKgQB4iM7Q7EXBZiA2NYneCL8j/kwBTBABdgJMzF/Hr+MiyAABbBOXYXgoZ9LeF29AP5H/TRaKKACPnRFjtmZ/UIiioQCietRo7/+xBkMwMwlwlMqFpBGAzBKhQJ4jMCNCcyoOTkoCkEp5AHiIwj/a5FbTdQL/H/1QBCCAMn/kEUljV9BPoqwy4IgAAC/5DQAI/oGKbwX3/1QQyCgBR/wh45QWLLsTm4d7/6qKzRQIlmC//7EGQ3ATCpCc5JmCmIDMEp5AXiIwJgOTUBZESgNYTnEBeIlLwK5HFT0F+n+MgkEcdKdwDapXwVPQD9P+Qqzi4sgAAAcH0PUZ+Ip28net1AvJ/6M9zAAAAOV0wDsjizegKgjIiED8Xi//sQRDeDMJEJTcg4KRgSISmoCwclAdAnQIC8RGBGBObgPAiMNDhkIBjWX8GOv2dYAzwoA70I+rhJvj2JKiMARH/3FhBSpS4CmXoB+v2deGzwwAYOdGMMFGm+oKpIRSIV3i6jczGtVpH/+xBkNwEwqgnOSLkRKA3hKfgF5SOCUCUzAOUEYCwEqBAHiIzP6gbyUAhgoAJfdcBLnN29AVWCMSsAI+W5IQCpwMUzcdEjIUACL9m3qBFkBy7E5uHe7ogDCbAaBv29AhqKLYvQD9EKMv/7EGQ4gzCbCU3A2CmIDOEp9AXiIwIkJzUDZKRgM4SnUBeUjAmDds6I5hV0BTF6B/3f1I4iioAAJCf4JyhaZ2+hai+oOnd3JdXG6o4AQVyQy6BJml/oEucXHx9QldnhDY68WsnNwZ5D//sQRDsDMHMJTyA4KRgSISmoDyclAewnOIE8RKBEBKagLBSMroGWGAFfhfDbgRbfB4IaIwASI/J9Tb9lQTU1+wP1e3rwGfGAE/sKBuKFmr6go4jX9HQFYZVeosX1A3V/rw2YFAAgcF3/+xBkPIMwrwlMyNg5GA5BKeQJ5yMCNCc3AWTkoDEEp9AXlJRICmR38FqOINttwEeHMrt0CvGpz3H8EH5HDcTYAR84BnlTEa3QHzjQW+qA6BY4MfmmVvGA/7wAISgkADSA40nN9Q3KLv/7EGQ9hzCaCU1AWDEYDQEp5AniMwHwJTkEYKYgMwSnkBeUjAkAOG58J8I4wUPlZfkIvf/Vxs8MAAB5XeCNI438M1JCAGI/Hiu6Bp8q4/6hj/9VAqrf4bxFXTfQHc4/MIAAFFfLUfEd//sQZEEHMJYJziDYOSgNASnkBeUjAgAlNwVlBmAwhKm4BYiU/DkVtFfGBft/0UAUtBQAAAAAS/K6HZkUX1DQRcQhB/kaNDGchErL8hF1/6wNzA26GOqntvhl92AA00dKdrB3Yl0NUXr/+xBkRQNwlwlNwFhBGA0BKeQF5yMCGCU1A2DkYCiEp9AXlIyBTrd/WBuwOAPminDhWf0A+cfhoQM0PUeMU28gKZuMCPu/roEGFAF7AFl3uxMqzi7MgAAMPLGAjBp9YtZZfwtXR/pw3P/7EGRJgTCnCc5IeCkoEIEqfgXiIwIsJTcA4QRgKASnYAeclsAAEL9vRb30W3w6JGRUMCZyZw4TyTWpci9QJ5D/I0CuigC6PxYVSzEdzjMggAAAof0PUbmBNsdHP4wBer/VwOsOABA+//sQZEsBMJUJTKh4ORwLwSoEAeUVAkwlOQLgpGApgyfQEDAM6QGVO7eoFnFxiKH8KioQYiYfK1fhbq/1QCqCAAv4bQ/4RX+M/y4MgAAg7W7FQFNlwFMVNQJ6f9GA7wwAl9GcaipFN6D/+xBkTwEwognNyDhBKAyBKegF5yWCZCczAuCkoCsCp9AQPAx84zDYNkPUfcwHaCn0AX3/1gDG3KgFo3+oqs4uDIAAIA/UrtgJYn7nsXbhr3/18DjfgBCQRwzQldvHIIuCQUV/YiY4u//7EGRRgzCnCU3IuCkYDMEqBAXiIwIwJTkF4QYgLwSnkBeIjEE1NfuEe/+uAUwUAV/PAMWm+gfPMzCAAAYbY9E+Aql5fV9AH2/6cLjBgA4PyPyeApkcv1AOzj8wQ/uldugV454uZ/Bv//sQZFQDcJ8JzchYKRgMoSnkBeIjAgwlOQFgpGAihKfQBgiMX/qAFWYWDCaGr/KFzS48gAAhOuoJAscGRW0rfQDrd/VgMeOAJ5QAiiy/8Dc8/DIX90C4khpoGKboBfd/VgPKZfdWAgj/+xBkWQEwoQlNyHk5KAwhKgQECgMCMCU3AWDEYC0Ep1AWCIziN+oTKmIww4HAAAIIzhKdkBhkxZ2+DW6OoDd4YAfMA7wULQz/BIUZJwJP1uPWK5u4E1O/uQ6nch1gDP5agfEoMX0G1f/7EGRcg3CaCc7ITxEoDsEplBXnIwIoJTcB4ORgJYSn0AM0hM4vMoAABjd+S4zIckDFN0AvV6OvgZ8cANfuYdbNFt6g2eZEUP7pTuAZwL2q6+G+z3dIF6AoA+YBvhwrP8QqijsrABAb//sQZGADcKEJTUhZGSgLoSoEBAgDAhwlOQRgpiAuBKdQF5yMQ9Rn4ipaBFbTdQE6n9vVx4P+AGHllqKi7NV+gPOLw6AQj0ULAiERAxTdAL7+3qw3MBX+FAHXO2+Kzi4KAAAGH+6HgsL/+xBkY4FwpAnN4Fg5GAyBKeQB5RUCbCUzAWTEYCcEp9AHlIyRrWluRvhv09eA8wwACvonwYpwm/EdREUGQ+5dI4Zk6x0S/qE8mABa2FAAXKgPe92Ias8/PIAABF+y62AYxG4tZN0Bev/7EGRmAzCeCU3IWCkYDKEp9AXlJQIoJzcB4KSgLgSnUAeIVN/9eAy4wAGX4XIi8jLb4NhlxFAIH9hkzncoJqa/Yf1+zrAFeFAFi0MsauUqYiDDDEAAA0+jkArAxW1DL6hvb1UDECgC//sQZGkBMKcJTUBZKSgNYSnUBeIlAkglOSPgpiAqBKfgJgjOVyoCT3K5x8eIb6ldugj484Mz+C+SAFFEAGF8q6CX+PXDPwyAAAIf1AINfEoraL0A/u/q4HfHAFyuAEWvVxJnFwSDTvT/+xBka4MwnwnNSRg5mAyBKeQF4iMCCCc1A2BEYC6DKjgAMAx0CMiwwUDFTqHvd/UAMqKBbBAHKt53pYIxBAIJvuld0AqZ7i7fDPokKsrCwAAAAB+agLjOM78Nzi8sgFH+XT4iu4wBTP/7EGRvATCjCU5IeCkoDQEp5AXlJQJEJTcg4MRgJwMnkAC8hF6B/qd/XgOuMAKyuhZJWauJFc8/MIAAEDvkuMQHJi1k3UC6v9YA5w4AcwEzi/if4yLBPx0p30M5F/FT4Z5H/JgCsDAC//sQZHIDMJ0JzmEYEYgJwKnkBAwDAfQnNwHgpGAphKdQB4iMjGBqrP8WgjEkEgAnx6jxkDZBO5N0A/I4DrjgA/5TAnFxTeoLCLwiAYD/cSAFH1AxTNqBvT/kQBVRQBtATNi/iYGxBAH/+xBkeAEwmAlOSDgpKAsgygQEDAMCQCU1BGCmICqC55ADMISQAACRXJdWAejiZbfDPf/U4BCgDAAAAAENFOEhRvTnGYYTwDqOmCLtWGf0D+/+oAdYUANigSKPG1qqwtG2FxBXS61QYP/7EGR8gTCCCc6geDkYD8EqbgUlJQJUJTch4KRgLoMnkBA8DJXfqyYr1A3kwALbAoAAAAAwuRhwmW3xoJBJAwEfW2UBHOpW2L4Z1gAZFhgAFH5aMpm9BdXDU0YQGAABALpDeE/AHJ4p//sQZH8DMJcJTcg4ESgJoSn0AQIjAiQnNQHgpGApBKdQB4iM9A/X/rcHlGCAAAAACuTYKBJml+JsNBbhaWrfLExYCSc2ar+K8lgBR4GgACaDQnFX+KrAY7UDAUH/J0QaONPzTFNxvRb/+xBkhQEwiwnOoHgRKAxhKeQF4iMCUCc1IWCkYCcEp5AFiIwBc5dAAAAAAgeMA4KFmq+mCQwQBhE46j/hyWS0x3P9GBlyAaAAf44QTZa6qoIxBAH4AAR8oWAwVJJ7XMt7uzqYAg4BgP/7EGSKAzCfCU5gTykoDkCqDgQPAwIMJTUA4ERgKwMnUAY8hAAAACUA9w+YkXeiBsOMBwAAAuunpEL6CK5FfjejqAA2NDAAKqYKiCFTpuLxdxQCAXvES46GVmqboB9WAGxgWAAAAAGK//sQZI0DMJIJzyBYKSgPASpuAeIlAfQlOIC8pKAxBKo4B4iM6sKZmCWrbQUUUKKNJqLgIEOWj+JuqwDWskwHYKxOytXjUfcYBCv7wD3B3xEJjFfgvVYBjaFAAAAAAuT2F0yooumgUW3/+xBkkAMwpAlPYE8QqBAAqf4FjyECHCc+hbxGYDEEqngQFAwCYAFN9U8AkK1CnrX4L9/bQLMKAC/Q/2YS2pXXQ4YChRuOl04AxHE9t6gXpsN1gDQAAAAC+cBGFXcQ0WnXAVcA6jPxhP/7EGSRAzCLCc8guBEoEGDKbgQPAwH0FziBhwBgL4KqeBG8TMgBXbwX0gAYuhQAEiIKrHTp4GG+AoaIJhAzIKFRY1d/DP7wANjg0AAAAA0FG++ZbYkwuOuAoFfkjqgN9ClbZeoF6bAM//sQZJQBMJoGTuAowJgPgMnuBA8DAmAnN4FgRKAwAyn4B5iMbAwAAsEYlZPZVfvzxhgJEdQOwB/gHqVIP8M9ehuvoaAAAAAXyuXBVG7fHotNtEBBfS62QgRTgYr9BfrAAxLCgAKGRHT/+xBklQNwhQlPoK8RKA8gqo4EDwMB+BU8gaXiYCaCqfgQMAzO6sLjthQUC7bQ0BbUSEvipqBuvADKwNAAAAAK/HFoVJvoJolMEAggB53hzgQTxMvwz0UDMCgC/uVAmj/jqqJDRQIa3//7EGSaATCLCU+hDykoD6DKXgQPAwJcJTmBPGSgKYMp0BeMxsOBg6aRgxfQP+jAaYYATwvin0i7xaAQSQBiRP2RICmxKmxeoF6LALWwwAC5gAKZvivDdbUDAIvY7wywSpws1U8M9FgG//sQZJyDMIYJzqBvESgOYKqeBCkDAfgnPIDgpGAsgyn4BZiMqAYAAAAAEvXCgaa/g9FpooEMu9IZuAMybHb0D+igvGoKAAXnRJlDM7UqgkElEBgAAA+enxHS1AKZuoG6v9eAGPgaAAD/+xBkoYMwjAlPIMB4GA7Ayo4AzyECGCc8grxEoC4CqjgQJAwAAU+EgU16vwWAQUMMAX6jCYMrNX43UAPOMAHEFezHcvXj9ccYAQ/ej8ngDsjlT0AfqsM6LCwAAAAA/NYC4Zrp2LYajf/7EGSlAzCLCU8gbzkYD2EqrgWCIwIQJTyBYKRgKwMp+AAkDLAYRPlgHuFLEZbN1A3pAAt6CgAFCigB7uWAQyQBoP6YgHwws1X8M9IAGLgYAAAAAbIXSO/FwSmDG5H6GA/jirb0D+nD//sQZKkDMIwJTqBPKSgPQSqeCeIxAfwnOoE8pGAqBKmQFgiOa0UAQ8eETMx1+p9QyuPjxwMKI/we8JmA8tDjv1Cb06AYuBgAAAAAER4UCznN8jwOPsAA1SlEGJKhUW3/6wABq6GgAcT/+xBkrQMwgAnPIRgpiAtAyoQEDwOCCCc4gTxEoC2EqjgQFAyD9GvQXcLRbQAIAAAAMB3Mu0ClqplsXoH//XgPeMALozi9VL6uWw3WGAA1+OwEjAJUC31CYADFAKAAsQIt6MC7bMsAAP/7EGSzgzCJCc8gTykoDwEqbgUlIwH8JzyAvEKgMIKpuBC8DAAArT/FMzkCuj38/x/Nh8NsAIMT+jyI3BRQy9q+P6aysbW57YWgUDbwwxpqFubQiEtZ2cufY3dvXHeO+23SO6i0WgUC//sQZLcDMJ8JTmA4KRgPISqOFYUzAbQlOoC8RKAnAqeQAbyEgAAAAAAC9IFU8e5viiA3qobr7V4kGHNjQpyksHfGmfsWAA//AAAAAADlTolqTEFNRTMuOTmqqqqqqqqqqqqqqqqqqqr/+xBku4MwhglPoK8oqA/gqm4FjyECDCc8gbykoCoCafgCvISqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/7EGS/hzB3Cc6gLykoDUEqjgDCJQG8JziBPESgNYSmUBwIjKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sQZMWDMI8JzyDPOSgPgSqOBAcDAeAlPIMB4GAtBKp4AwiUqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqr/+xBkyYMwqwlOaO8RKAtgyoQEDwOB2CU8gbzkYCYCqjgDJISqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/7EETPAACfCVR1PAAIEwEpxKeAAQNsJUaZgAAAooXotx4gAKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sQRLuP8AAAf4cAAAgLQAqu4AABAAABpAAAACAAADSAAAAEqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqo=', + E6: 'data:audio/mpeg;base64,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', + E7: 'data:audio/mpeg;base64,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', + Eb1: 'data:audio/mpeg;base64,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YgnzxCsjDcnPOjNyXwZh8OD/+xBEXY/wlgfVAYZJEA6g+lAhJgFCMCFUBhkkQDuDqQCTJIQroPotJasBmSs9XDP5qg1Ag+etCOoGG1TZpkgODcgnCAfDCbKgnQEEI8dJCEcpggJ4tIKgezFhqKAcVUNtWKIzR0OB9//7EERej/CHCNUBgUmIECEaQCQpMQIAI1gEpMBgQoPpAJCkxQjJWG0ActzMnOY9VRPA4sJTAgHBHUoDd8RGaKoKYUcWTUeDROzGBlx5GaKh4pi0rmj5NZU1GJrRvaceiPgjoRIxYOEy//sQRF+P8JQI1QFiSAAPoNpAJCYwAkgzVAYkZOA/g+kAlJhNK2xMuvKWvVsVXx+LyygAcNBjZgYDhCA/UJn+s6BCQ6SggWnMsomMxPUJh4pgxLZFFyTxmBACJx6F590zO9cIxRlAVOf/+xBEXw/wkQjUAYkxOA9BGkAkJjECICNWBiTEoDwEKUCQpMSQyUDMGlZPymd61YQYFxyQUeQqkwaVmmbvgiQixCRGgo8EqiYNI481TCiYEiZkFBUiRSeDHGr0MycPWJSZkQE1JyeDHP/7EERgD/CCCFUBiTBIEEEKIDEANQIgMVYGJETgOwRpAJMkVNEj7y6UZhcYPwTXF+ZAEhoEhlqTBOEBSorCc4T3AGDEC1LUTgnYEgabMNMqLFDpXDyhuScO4agGmOomRpYoVK4joFxe//sQRGGP8JQI1IHsMIAPwRpAJSYDAlQjUgYtIgBBhGjAxaRAeqrA1YD5VoISEXoTh9oe087vfBwEVkRoJDj7oNnZGpDDa8HgUiEURSckohVOsXvKSan8ASAkLC40rVpi4uC7UYaQ2Qr/+xBEYI/wfQzVgYYQyA9A+kAwxhMCCB9WBKTCYDcDKUCUmAyQXrKCuBwySJWOJEzmnv8W4ZAEOoLQ0OpCiTSaKzz+6yOASRBIH0KyKjgUKAj4D7bE6QlLDwLoZP5xpJJvv22TXQXJ+v/7EERkD/CKCNSB7DAoD+EaMCmGAwIAI1QEpMEgQYRogLSULKtcEkR6Tg3VR+UVUdbiYUKIwQ9DcSVhW3hwI9S5ujk5dmy7pigxEj7kOJNdAFgyqFKOJ8uHIrLorC13Lg9rs6LFiBeF//sQRGUP8I0MVIHpEUgPgYowLSILAhQfUgYxIGg/A+jAlhhMxtjJcAiUDU3DyAh2kugsTMZyBSM9oJ01Vc6tihwYR1Ujxhc6TooqjcbDgBoKRIz6JAyrIlgazQAAANAAAAAFTv9VTEH/+xBEZg/wiwjUgexIGg8hCjAwKTFCHCNUBKTCoDqEaQCUpARNRTMuOTlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EERoAAC9DNOFPEAIFOFaEKeMAASYP0gZgwAAdAcoQx4wAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQRFKP8HgETKcZIAgLoBqO4AABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=', + Eb2: 'data:audio/mpeg;base64,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', + Eb3: 'data:audio/mpeg;base64,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O0Zb8eG2RmAxpXFq5bVA8Vr/+xBkZQ/whQfSge84SA6A+cA87CMB1B9MCDUiIDUD50CnsAySCZgd10QhVQdLy0D+UGiShcebLtB5Oto2bldUP4WS6Guun23i4DHL4rLSqoC2DyfiJQjdDUNDP/1pEtXDSNa5Hwhdev/7EGRpj/CICFKBuDgQDkD5wCnpAwJAH0gD4eAgOIPnAHewBBoT7ttIlleCHF8fIzrpvKaY0dmmnEVQV1xyNmMvoK7TmbZt3/mXRQFCocK7GECZcIsOzdOhd7RVzLuqUj0y2GZOBMdi//sQZGuP8IkI0gB4YAgM4PnQPQsTAfQfTAPFgCA1AudAV6QF1awsCKynW/fDAAAI2EJ0aLHHjoh2hs6OzEbaxYxUq2hSmDgwyZWkmWxJVZw6xMIsV46vbsU0SBeJzkmNFUAAQQ+TiKv/+xBkcA/wiQfSgwZhCA4A+dAd6wECEB9KBuEgYD8D5sDXsAxiSbM3VbR+Wzla83xKUEvZBohAQTRoboRZn9NFy2quCHcKzRDcyOgY9+uF6XCXkMM0ajagIaCakf6AMVK1QaVBdGDIdP/7EGRyD/CBB9KBr2AYDeD5wDXpAwJUH0oU9gAgOAPnQp4gBGRAO6EVUYSsJxhDsoFjE88ZXWR9aW1waRgiNqIGvNDP+x9FKQS4VBMCpXARKjh1b+1C8rCJKygxSKa82MjQmTQq0SHK//sQZHSAAQ0M0AZkwAIZgTqEx4QAA6A1OB2igABWBWcjniAEONgYq9CNDExGGXQMyXJVLTRAAEFQ4keSWwMl42nRIEpI0QsicR0I1gGM/h/G4mDorF51CV47UYGRGijiTpSQo0q24a7/+xBkX4/wjgfRgk9gCA1A+cA1bAECJCNGCTxBIDMD5wDWHAySZ15/5pVEh+Kr/4AHPUVi9OheWnAK8kmn4BK8Pg59ctYSbkQfZQwp3IyaEYqfYvJ5wD2iiqKZh8fcVsVrZm21C80fdf/7EGRjD/CDCNGCT1gYDQD5wDVsAQIAH0YIvSIgMwLnANewBL+zEd7O/ujqV78ADcTJmQxI4/IvtZKf73VL9mkGpjKCrxhUCopiciFdlN2gv37Et1d2DCuYKhrTCgF+SCj/oJK/2qTb//sQZGePMJEK0QMLOSgN4Po4HSIDAigrRAwwQyAzAucAp7AEjcEAAAAAexKuAwvBRQUkNGbu1ZJHbAAVAKAEDJmpb7QssDYu6AAAAAAAAARQVUxBTUUzLjk5VVVVVVVVVVVVVVVVVVX/+xBkao8wmArQAy8QyA7A+eU9JxUCHCtEDDzkoDCD50DUlFRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGRtAAC3Cs+FZMAIEyEZtawIAQTQM0gZgYAAToLpkxKQAVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZFyP8IUGTCckAAoJ4Aqe4YABQAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=', + Eb4: 'data:audio/mpeg;base64,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1QmGyu1NSxwhMRrtUSpyM1L/+xBk1gcwqArOwTgQOAyAmt4EIgMCSCs7BmDioCIAa/gAiATQQAAR78UcC4R+5bj/DwB6WEGSJOje4ADFuAsVxv2En0DrNFNA7/i9dWOrTcgAAAAAOQiFKESfnul9lHs9IupIXBthp//7EGTZhzCgCs4rBioIDECazgAiA0IYKzil4ODgJIBrOBCIBPyHoBWhqwAAJLBOldXXPPwAF6t6JTkYs8mAlDK1LQgJ/A/fjcW9T6Dw8AAAehcDak8v1IpJURE9wl6Ja3XHDCZZdA94//sQZN4DMKoKzkMPOSgM4JrOBCIDAmArOwTgQSAjAmt4AIgMVm/HBzHDetDzvAAA8nqK1GWJqKwAGAioJY/M5CiJXdpgAP8PVVjK0XgAAAAADyeohCP6hxnIkWPUx9hRFuqSQE/5TqD/+xBk4QdwqQrOQZg4OAzgmm4AIgMCKCs4peBBIBiDangAiFxisr0AAJPCrsNVZLLbbizZBDY6cX44l5Q8XFZllC5XP7/0Cp87D2Wkvth4AAAAGWr4QSXBvlVVaaiRhgQQQQIYLszhM//7EGTmAzC0C03BuFCoDaCa3gQiAwKgKzsMJEhgLQBreACIBJrMVZY+qWzF6GGrHyyxR0qOAihEF7uhjP9soiAtOHQVd8sRGu/Swb/7F2f/W5BRjVEAAAAAAAAAAABJhtdYmBOVrlfa//sQZOWHcK4LTSsLKhgMQJr+BCIDAkwrOKXg4OAagmo4IIgMyu/v7u8AAAAAokAgElpoKRrEFcFVTEFNRTMuOTlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk6gMw6g9O4woqiA6gmt4EIgMDND04jChKoC4Ca7gQiAxVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGTjizChCs4peCi4C+Aa3gQAAQI4LTkMGOggJYJrOACIDFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZOeDMLgOzkH4KEgO4JrOBEEFAvA1MQfhoSAogmu4EIgNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk5YMwowrOwg8QuAxgmt4EIgMCOCs4pODg4CcDajgAmBxVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGTpAADhC02lYOAID6CavqEAAQdcV0E5goAAXwNpexYACVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZMuP8JsFVHcYAAoAAA/w4AABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=', + Eb5: 'data:audio/mpeg;base64,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Rm7yEh8ABMVNd5E3QrkCAxP/+xBk3INwgAXPIGDACA4gyo4ALxEBxBdCgQHgICCDKrgQJAxGDOefWFk/4/eQ6PD87w4ABr8D1CUIKdRAk/lqwqU1GBRumRpBlyrWjcR1gAS8hoAAAABgjJiYE/F0WmgHx2HvKFUoZf/7EGTkA3CTBc7gIcAYCWDKpAHjI4HcFziAvwJgIALqOBOYjOgeQDFmo5CCJK2GgCV4BgAAAIqW94DHgqwGqKgNp1wKfp4OuvDwAAAABhtQkMHAKTsr5ugF46G/HAoAQGYlwIKXjBSx//sQZOyBMPYNT/nmOpgRwMquBA8BQ7A1PeeA7iA7Ayn4ELwNq7/TXK/77AHrg0AC/yewEeCTaL4OwsNGFAkP2cZkGRkAm6AfUABi6GAAAAACBYGcpspAyWIGBIrpcTgCjGW9dQ3WAA7/+xBk4ANwcQjPoDgRKA3Auo4A5hUB6CM6gTzkYCGC6ngAvETWEgAYF4fcaPla46l2HAK2qZFOAl5Utp+C8poa78HAAAAAD+sQhJFr3hrbATjbJ2goJIDa/QIyC2n/CRASLozizEAMsP/7EGToAzDCCM9472EYEeDKHgQYAwIsIz6CvELgOgLp+Bw8hJnnq6lrugAEMJpmBEpMxbRSvfoR/v8AAJI4ckJGgIbPsxhReRETMAAAAAABKcnAQStMQU1FMy45OVVVVVVVVVVVVVVV//sQZOUDcHsIzqAvOKgOQLqeBWkhAawjQIE8RKAbAuiQB7CEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk7gEw+w1PeY8Q2BKAul4EOAMDpDU75+GioEIEarg8KIxVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGTgB3B5CM+gTxEoDkEafgHiIwGMIzyA4ERgH4JpOBA8DVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZOkBMLwIzvHhSogTgRqOCeUlAqgjPaMB4CA6hGm4F5SUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk44MwfQjPIFAQqA2Auo4ACAMB+CM4gTxEoC6C6XgAMAxVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGTpAzCDCM+grykoD4Eanh2FQQOEJzCE4SKoSAOpuGewhVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZOQP8H8GTUDGSQoNAJpuBCIDQAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=', + Eb6: 'data:audio/mpeg;base64,//uQRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWGluZwAAAA8AAABwAAAvIQAEBgkLDRASFBkbHSAiJCYpLTAyNDY5Oz1CREZJS01QUlRZW11gYmRmaW1wcnR2eXt9goSGiYuNkJKUmZudoKKkpqmtsLK0trm7vcLExsnLzdDS1Nnb3eDi5Obp7fDy9Pb5+/0AAAA8TEFNRTMuOTkgBK8AAAAALLUAADUgJAUATQABzAAALyEsA9+aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//sQRAAAAAAAToUAAAgE4BoVoAABgqAvXhkCgABUBe0DGlAAAIAH/EHMFp6SzU4qiHHphtk4AQDN/7vfR9vMFp6SzU4qiBjpgXk4AQDN/7vfR9r28m9e28692x8UQF9Qiwa//xN39///+xBECo/wrRDWBzygABbiGxDnlAACQENUAI2jAE0Ia8A4HYBHtiTevafOvdsYiiAvqEWDXTb+Ju/v/ou3OOc4ahoAGjp883/yKf/u/pp7ucc5IahlgDR0uWZf/EJ/+7+miIjCgPmYpv/7EEQDj/B9EVSAOBMAEUIq0A8FYAIcQ1AA4OwARIhrQBwdgAOrxj+/8QP/Ts0USSG+VrRwNbeIJ//igb/THDSGrLOAhp9pTn/+CjP7v6I4aR7I5ukLbnlJP/8FGf3f0YZp3ORmslm0//sQRAQP8HERU4BPEwASojqwDeVgAZRFUAC8rABHiOpAHB2AHJWJ//FDYEUdn/isoQ2QHiDDG/+LBn//phIti4slwUNCD3/+FtCWBizF30Ng5YYL3/9QVI//+hXFSFDcikoRJcHqxdn/+xBEBg/wfhFRgHgrABOCOnAPJWAB8EVIAbxMADuIqgA3lYA7/wFfFRBmN/+sTpE5UjE0N/8BR/+/+vXUnYNwzNWRINBxQrev4R9eJWnmZkGM0AgiwVv/hTrDQOSedpdorgTy4YL3ff/7EEQHD/CfENCAcDsAE0IaYA4FYAI4RUIB4EwARQipADwVgD+Fnf2f0YZnVM+0mxY6AOyoQNf/4Sd/f/QT0KJpE7K+OFjYmKXhxmTb+4xOHUawvJ8wsSG7QsTIif+Ex1WBIwwK73cw//sQRAOP8IYRUIBYKwARAiowGBIiAjBDQACaCgA8CKjBEAoIU06HInCCrf/C2wBeUDlOkicI0D4GUVW7/yNcEwD/e0ClID9Bis/f+Yv/t/pQdkLbV+NYJ0wQJd8AH/rVgPCGdKOYWjj/+xBEBA/wigpQAMHAUBDiGkAYMQoCLCtAAeBMAEeI6MAcCUiElXkgd8j/V/ugdNdRPMh4BeTWVG/+Unf/9CPnd0L5IDggDhkAQD/L/7v5cBpjbr61XsC4ZAgP/8DG/3fy6osJjNTLyv/7EEQDD/CAENAAOBMAEAIaMEgHggH4KUIAleoARgjowDgJUIbffOY3/wb//+mbdHa3QMwFXPppPgaf/v/pMHQOncKTIBpF8Uz8z/R/uoxc5PjZYJUAgRlVv/jD/7v6KgqAhodMjjjw//sQRAQP8IcRT4A4KwARQhowBedgAaRFQADgTAA5iOkAHAmAWLSEB3b/wr/SFQFQ+RxpgAleGC9//iD/f/WF5luiwwGGWnzkb/4Zgjr+XiYlqfORv/mG//9NChLmvPRIvEQ2lEQRL///+xBEBw/wiRFPAHgrABRCGhAXJ2ACEEU6AWDsAEyI6EBcHYAJt/SIhCrrNoyKj6gcCTGDU3/4Xd/b/QUGsz/aGO0YytyUNP/8Kv/UULWj2+g1owNfWYPLt/4pL/7P6GK3V9qzgtYAsP/7EEQEj/BxEU8CIBQQEeI6IEgCggI8RTYB5OwARginwC0dgL6ZUbCDsT3V+yzAUOB+hPplRsIP/u/pRLEUj7roBwAC7YEHBuf/6AcYEYqS37WHnSkK8g4VX/4HJ/LqCANuZexrhFO4//sQZASP8JsRT4C5ExARYWmgFwtgAkBFQAGCYoA/habAXCWA50ZdjCrXP/MN/UEwLVrN8oUlKbNSlwxW3eT/rAE7aiUA64GORNpjwef/zp7+VD70/bIA6yD4+HEA+//J/1UBx4q9jcD/+xBEAw/wfhFOADgrAA/hSfAIGTICCCk2AYMkQEAIqABcHYA/BihAc6f+I/5YAZF391bfgN5eSpTi3yX8sg/ZcdcyqsyEw5Pdpj3yf9BB9/6TBFeR9PIlDRL/5X/QKjJ+Z6hmNiJl3f/7EEQFD/CECs0AWEsAESFp4BcMYAH8KTQDCwFAQ4inwCyJgBZz/v/v/pKSS33qEElzP6Nrxg57vDf8uaF2f2moHdA8DimE+/5H+UCge+vuQ7+AuV5AADP/8E/9VQEMuw6gXGVwePfZ//sQRAWP8GMJTgBAmEASoingFydgAdQpNAE8rABICKeAXB2A/WAoDf6uphFQ47SZEVCYl/8eb+sBBpp1TKh6gPi8Fd8h/LB0L6elFEE/wbSNj4MLf/ct/LJKJEAAQi+k13IakBixKTn/+xBEB4HwmApOQSF4WBMiKcArRWACFEU7CACwYE4IpwBcnYCvh7+VESEW3+YTtYOEBbQBAOdv/CbfyrQEIELqFV/2di8GbPr8Lf+kARQpv8phFPY8SYUVDRJv/CpP+mouFHf92XF0G//7EEQED/B+EcyBoBQQEcIpwB8HYAHkRTIIAPBARQinAGBQIItzzYw/+7+gcDv+6KUSfANpWTBhb/40Gf6ECvV/2WQwC6aKTToBify5g+yY5gB2UdhgT6av+oXSH9MYA2cdwCTSu//y//sQRAUP8GkRTQBAaTARQinAFyVgAdBFMAMBoMA3CKeBACIISPf1AgCNb/MVeRwgzygw//4MGf0DAl9ahnCTLnm/9Y1mv9ZoXf/rUKeAaGaZabIHqjUnt/12TNALqCCa/BV/9ROkCe//+xBECYPweRFLggBMEBQCKZBQCYIB7EU0poDQYEmIpoEwMgj9zxuNgBUCNAmC+voIi7v1YcNSM3/udH4CXm138Qv+sqi2t/6RZDrAdzk8skjbgWPf12AJQABAL+ZgVwAR9m/+MmYBvf/7EEQJAfB8EU3AwFC4EKIpsCQSFgHoRTcDAaEgS4imQUAiCMUtAP+B6hPpksef/yaPQAZBQJBHZ0QjMh//Mz39BFRzNv7njYZkFsg8GCKKpA83+hWSgCpgQAAAPRO2/+oqAH3fB0AI//sQRAmBMIcQ0GDgFBgRwinoJA0XAbAlNQMB4SA+iKbAXBWAgAAGRmHXWLIBtpMWv/8mugBKAAUh90U4NKOSd8yAICNf/ORuYLdFxMEJ/8QdwA2CABKQ2cxBYMpv/zgIhVTJCkQCohD/+xBEC4PwbxDOwSBoSA8iKaAkFAgBfCk3AwFBIEYIpkEwCgiHDVH/5YaACECIVqIwGUl3/DhDRxPb/UWQ1wNKlBAez+ON/SrADIIAIhtDwPD3fXeBCEAGJLMpv+gTYI43TNGwuwAJRv/7EEQQBxBbCM/AwFBIESIaCEAFgwFoKTcDgeMgOgimwHwVgB8ENDWIrvhsJQy//qc6ID5IUBS//KPqwA2CAAAGo6i4JqS7//KPxAAB2kilf/UWRFAKaYIEufaFHgoAalsZg5nTQ//M//sQRBaBMHcRT8jAUEgS4im1SAeDAYBFOqMBoTA7CKbAkFAgmHWmTQFngHSh3mZoh/8yavAMggAABaDKWSJoHgyjVv/mbEQQp/2ObiAwJCgKX/4m2wID9RcCNJd//lcKIBPvWo6KwCX/+xBEGgswjxFOSOBouA6CKbAfJWABTEM/AwFBIEKIp1SQRFxMECXPt/5i9YAIggAABgjQJ4BjG6Zo3/2P4UAAJAo3/Y8g6YLKgcBwIT/4gPYAAgYAwPdELBlIt/85ABCDhl0UhyQFUP/7EEQeAzCJEU3IwGhIE2IptR8lYQGsQz6BAaEgQIhnYJBMJFo4VUf/nIAJQgAdRZ0XACnUxa/4cYCRAAAKjZ/9KFVOiVNSAdfnzWAGQCVnUZhOk0zRv/naoBwlVrVf0CHgK0VzMqNg//sQRB8DcHYKTUEgaEgSYWnIHwlhAaxDPQSBoSA/CGehIAoM1cAMggAAAl6SIEQeUiv/5i7ACIAADm3/sdDIbiTBAEv/wrwAAQoABXUXAL7v/8oAtUsRwBJqYjn//mDqwAxCAAACY0H/+xBEIYPwfxFOSOBoSBHCKcgfAmEBkENAgYFBIDEIp4AgNCSYAo9Szf/ImgoAABhSZgMeAGInzMkEP/mTZAOnt2CFZS//zNnAIQgChjdy6C4HkEV//KbVwoAAcPv0R9AHZssrP/8ovv/7EEQmCxB+EU7IwFBIEWIpxRgTCQFURTsEgaEgPoin4FBIXABEEADC9ZEBW0pa//zF4ANQgGfzhdhxXvM74ZYARABIu//rQHWAVF9MqNhHwADCAAAGcwDrIf/+UgAyAABw+7HzUGQa//sQRCoBEH0RS6jggLgOoioYGA0JAagpNwOB4SBCCKdhAAoMGC1//LEFADY0TIDzdZs/5qEICUZSx+AKNKbP/9zywA2CAAAGhegvAcWWb/5WCgADQGpahrAHpNMsb/5WgBKEBoV/mAH/+xBELgGQZhDPyEBQWBAiGegkEgkBbCk0owGhMDWIp6AwNCSDTE/4bwEoaf/x0gdWcqW2/DfADMIAAACT2zik61f/nHwAyCAAAD1A0TIEbdaT//OOMAachAINb/8oyAEoADXWoZwMhf/7EEQ1AXB2EM5IwFBIDyIZxRgNCQGcKTUDAeEgNIUm1JDgLM831MANggAABi9ZUFahPv/8zbADEIAAAAH0zAJCgo//+ZsMhMLJ7f/nYGAIGAMgw2/7OGZ1q4V6goAAcV1GISjCH8M4//sQRDsLEHQRTkkgaEgQYin5MA0JATBFOQQBQWAyBWdgYDQkAbBAAABBWtRGhtiM1b/5g8AEwQAlFrIgbap9//mTQoCAkNqUATf9VWAJggAADxBb/6jMJ0624dkwAIGBAAAFoxrug4X/+xBEQo8wehFNSMBoSA/iKekIDQkA5EM4AwGhYDkIp9DQCgwzpof/mbYADAs0EG//yvgGwGAb+aDEBBrN/8hdoAAroEAAAAAGQQ1KBel/wz4BsEAAAFyCxb/sowAKmIXfIP4AIEABk//7EERKAZBbCUwpIGhMEMIp2SQQCQHARS8EgaEgJQRobCAcJLnPDT//5SwDMAydh9nFN0//5xVsABuAQAAAZQZ9BSAxxj9zAEoQACIozfmQ9Q4K+Z3zQwASISgFWv/+VoAMkOmTAWII//sQRFIHMH4RTEmgFBgR4incLA0XARBDNwMA4WA2iKegkChcG/rVgAGCAAACQpILN7//mL1AQhAA5IuJ7f9EvAX59aXCvgAWASNE4GUfkaMCUOBLP+S+TDPmd8MqwAHCAAACJ4wCFjD/+xBEWAEwgwlN6SA4SBICKckoAoMBfEM3JIDjIDAIZ2CQNFz//ykFAAEp7WTAHk0QN3+qAAAGAAySuBuxN+SwEo+x7F4FWfB498PVwA3CAAAHWtCoCMs3/ysAADCAgAABifVQYgGLLP/7EERci5B9CM1hIDi4D8FJmCQPFwEsQzMEgOFgKgRm1JA0JN/8rAAAZCMAU8R/SwBCEBaDKfrOCAgtjCff8MrAAMIAAAwPuKbrV/+c8AyCAAAJAb37OBFn00v/zkLADGaFQAMs1AEI//sQRGSDcG0RTEjAaFgRAimIRAKDASwlNwMA4WA1hSbgkLwsQAoBBvzIeoCRXunfNYAJQgAYH8lAALNf9uAGIQAACgPTJgFFQQN3/+dwAzCAAitsmEM4Ofk4AMggDJFdA3CuNzNTPk3/+xBEa4NwbxDNSSBQWAzhWbUkDQkBcCU2hIFhYDCEppSwRF7CgAAVIt1GINhlGrvhmwCEIAD1T34zCXIDhXxXfDOAEwQEtai4B1Jd/qoAC/8rwcNKO9/UwAyCAAACZ0EwsnEn4egAhP/7EER0BxBvEM1JIDhIEMIZ3DAKCQEgJTaEgYFgQAUmYHBgXCAACjdAvgjYrg4z4ezAJjdELBlI//ncAMggABTQhAQa3/5WwA2CAAAHTOouAfSXf8zYBCEAAVDm5xKmBTcadv+GdwGu//sQRHoLEGgQzUkgaFgQIhnZJA0XAQgrOIMA4SA+BSZgcDxchGCE6t/+UgoAY+gZgeSaZo3/zlWACIIABHuwZGCLfhzADIIAAAI7uYgOA8pFv/pHoGAGdqFze/69ggGXqLgD0l3+tYD/+xBEgYEQYQpMwEBYSBAiGdkYDQkBiCUzJIGhIDkFJuCQRCQIQgAABsaEYBx8t/+QvgBsEAAAJStAngGo3TNG/+YvgAOA0LoOnQJ/kcggJQ3uwESeBP8iwAjCAAAD0nbJA53Wk//zkP/7EESIAZBsCkwo4Gi8EGFJuDAPFwF0KzUEgUEgKYVnFFA8JAEIQAJSbWZAkb0n/+c4AADoAEnkwpcwAiAEns+oigoluWO+asANwgAAA0+pQAqYYXf/5WAACBAQAAA63nmAIsj//lRn//sQRJALEGwJTUjAaEgPASmoGBIJAUBDNwMBoSAxCGhkMCgksGrqwAiCAYF7sXgXZ8Hj3zPAAcIAAAKIQgINNb/5SgACFgQAAAsWVQXgFGlm/+UgAACYAcqQO3wAAMMAIGPyUACsYZv/+xBEmIsQcQpNSSBQSBAhSbgcDxcBMEM7AYFBIDGIZ5RgNCb+aYAAAmBAAABJzwNPd9dAAFMAwAABKW2cInUz/8rgAAJwHDthDEUATBAyEteofQSBGed8yoABggAYPGBPf/8ZKABUwP/7EESgAZBgCU1A4GhMEEIp2SQNCQEIIzKhAeFgKAVoIGAoJMAAAwP7mpQBpl//ygSEOEV4AZhAAZAwp2cMzhZnw5X0AAQAQAAAABqY12Of12AbhAAABk7D6CkADLN/8q0AAAYAgAJQ//sQRKqDkHURTEjAUEgRQinZDA0JAUQlNQMB4WArhKcgkDQkKCf62AJggAQjNz8rgNGJSd/w2oAAAAUAAAAAAyPLhPdAAEEAwAABwj5rZILNyZ74ZwAPCAAECTBy76sANggAFAWgvCb/+xBEsgMwexDLyYBoSA3iGcgkDQkBHCNChIEhYDaFJmCQNFwss3/ylckAAKagDgAAAACyBxrjTMAsWQN3/NTAQDwDgHHAAACCpGWloMOnaQDMAsWJAeZu3/lMs/lpAAAAOAAiKuBIN//7EES6DxB6EMzJAFBID4IZ7CQKCQCIJTYBAWFoN4SmIJBEJNzM2dv+sirpmgAkIAAG2gt172f72e2JvtjVT7X/UGVVgAACYA6hTGLvAMggAABaWc2s4RQ6LljvhsKAQAFWgNRj/qHV//sQRMODMGwQzMkAUFgQwhncMAoJAQwjNoOBIWA4hSaQsCwkqkzAN1BBP/84yAAAhKAOAAAAAzII7VskFm5mbHvhyQBiCAQAAAADRElWr39zUvAiz5mXksCGgAAAdHAKAAYhT6C8AxX/+xBEywMQZwjN4MBYWA9CGfwkCgkBECVAhIEhYDgFJmCwNFzHG+uMACAgYAMAHt/+pZURQTxcsbCbVaAAAoBgAACyBICXP+vACIIABgKfF1wEFiUjn/kxg9jO4AAGGBAAcB7OxsC2fP/7EETTjxBXEM3AwChcEEIZ/CQHFwCIJTYDAQFwOASmZJA0JM0j3wyqgAAAc3AMAAAABKpLIheAAZBQb/8XfDDcwDAAAAABwiDOrv0VIj8PoHojIJrwKSnAACFgAEZRuvxJgAKxhe/5//sQRN6BEG8Iz2lgSMgQAimpJAcXAUwjOYMAwWA9hSYgYDxcqwAChgUAAQExdYmBPHwB0oGBDP//PllgAAGAQAAALuUwHOfXgBkEAAAJc2cCsfTV/+d4AAC4A2VCShFvAMQCUd/zZcj/+xBE5IEQZwlPcYBYWBDhKaw8DQkBQCMzIQEhYDaIZuRgKCQxK+K74bWgAACDcAwAAAAEBQxUKi4MUMHX/+MPtQOYBQAAAAEhGEQtV9ZgTyIDpQQIZ/Ch3gAGNAByh5b/1oJhvOmaN//7EETrgzCtCk/54Gi4HuIpv2BNGQI4RTXMAaFgYAinOTepVIMq2AXCAB5ES1v3plwzASRuZlxDCIYVoAABgGAAAGnkGKEP5LADIIAAAZekYgsGUi3/zNsABwgAFlAF5d//ldgG7RRc//sQRN4J8EQIzSEgSFgQwUmZMA0XASgjN4QBYWApiGcAkDQkD6S7//KuwAAAtbAOAAAAAtjypdhsB115Ec+UfqBRhAKAAAAAhBbL/X0u8YwW0d+qKf/weB/AAFOAoAARJjs7CixgZr//+xBE6YEQrApPeiBouBeCKY1AAoMCICs554FBIEyIpjDQFgz+VQAAAQLgGAAGJ46JsiFIxgXUf/jV4AADwA6T0Bc9gBsEAAAShv4yuhC7eM/5qAAAJgYANOTA6764AMQgNJfCYDp+t//7EETijxBoCM5hIEhYD4FJmCQPCQB4JTwBAWFgQ4UmcHBAJO2wAACDoA4AAAACKpw55AAiw8CnJ//kLwwAAQDAHAAAAAA4QWCj/z5oT6AcaxMEHTVocq+g5AAZDv2SFNzMyS/+YPTg//sQROuDEKkQzfngUEgZIim9NAiDAigpP8eBYuBZiKZ08DRcABAOAArIe+6P+tIupCf3OkGNmoFGlaAAI6BgAADj9BiAIaWb6oAAGWBAAABC9BeA4ss75CAAAOACESCt/1wUAFE/vAH/+xBE4oMwZwjNYKB4WA5iGbkkDQkBKCtAgwDhYDgFJmBgPFzDSk7/h5WQAACEgA4AAAAGo17JhZOmh/+YvKqAA4MAcAAAAAqAP+9/7GxdSEXczOJdBVX1AAAALIAIyfBiG4yjVH/5g//7EETrAzCsEM754FBIGOIpzTQHgwIsRTKGgNBgUgimkNAeDMODADi4AAYoPDJ6/qWZFYWhkhtKL4CipeAABaBAAAAAOAykDrH/V4BuEAAAOBSt/9SgDJhhd8M1AAAgAwAMH0Gn/rDA//sQROKBsGoJTeEAWFgPginJGA0JAWhDMyKA4WAriKdgYCgkwEzgTdf/5GygAAAIgA4AAAAJKPwmg5Gt/+Y+gAdcDgAcAACigCA3/ZzIfQtC3G01fJMY////9j0q2VAAABcAAO0f2nr/+xBE6wEQrQrQeeBgSBlCKZ0151UCIEMzpYGhIFAIZ7zANCQITET+mXZwCCkAAHokZUd6m+zDbAGaGBHfz/w4G5AAAAkAAAAAEpI4J3GAADAMAAAMhjOcB91f/8pwAAOAAZKnQ9gABv/7EETjARBHCM+hIEhYD6FJqSQPCQFgIzeDASFgLgUmoGAsJJQIAABIh0F4ZNMfucAAAAmwDgAAAAfpvQBmgAP/XYQABJSAcAAAAADkAuy/zkDmAeWJAl0//k9reQAXo8e2uDd7/rl2//sQRO2LMLcRTnsAUEgcYjmfTAyDAcRFOcgBoSBbiKb5ICYMgAgYAA90Fyip6bei5dSFjczJI28StYAAAAZwCgAAAAbIkwWu+qgACJgYAABWoHGcL5As+Z3wzQAAEAMAHWaHf6sAMgj/+xBE4wMQeArM4SBQSA9BSawYCgkBLCM4gYEhYC6FJhSAPCYAIkumYBKsgn/+cYAAAAWADAAAAAYpnAbtLPksAMwgAACtU1DTgI3KjY7/5G0gAADNABAAC0JLqIoaFpljfXgABVQKAP/7EETrAzCdEU554GhIGgI5j0wMgwIQRTnHgaFgXYimeNAyDAOgzoLwYVxxv/lV8AAAytAAAAASgq/7wBaaUj7hQAAgHAOAAAAA3AIt/+6BJmAWLEgPM3aAD2AAAU1gHAACweNTgPjw//sQROIBsHUIzmkgSFgRAimZKAKDAVwjOYMBIWAliKZgkCgsp9UuAAEhAAAjAHIy/+kZO2HntvUT6v/QFOAABMAOLlQEZZuAAOoBAAAAAMB6oVCRlnfR7wBralACWTAABCwIAHUvegD/+xBE6gMwkxDO+eBoWB+CKY00D4MB1CU9xoHjIGGIprkWFVQaxh+/rbAAAKWgDgAAAAeKp2cEwOKfXKg4BAQAcAAAAAMhC5LK0X+LGZbCj2i1M+r/1A0nIAABKyAAyyNyIBFQWnfhmv/7EETfgxBjCVDxIFhYD8IZrCQKGQEIIzqEgSFgOYRntJAoJAAABxYADGv4ikQxAAGnBZJf/iAJleAALOBQAAAANnUoALl3+rADYIAAASusmArqCj7//OB8AbFhLYmYBJDZMGZwc/Dy//sQROgLMI0I0HngeFgZ4inPPE0LAWAjQceBYSBcCKb5EBoMgAAAg4AOAAAACtStTjQIGMJTf/i+WAACRcA4AAAACZFDroQisQgEGQQpL/6gy9AAAERQAEDfWMwMakCOf/MwKAA8xnb/+xBE4wEQegjPeYBIWBFhSZw8DwkBRCM3hIEhYDgIZiSQNCRmYDHIgOlBAjv/7kYdauAANcBQAAAAEb1GYKUmtD/85wABhQKAAAAB4x6aCYWTmZor/5EeAAAAEcADjUhAY36sAAKKBP/7EETogRCECU75gFhYEWIpqTwKCYIwKzfngaEgQIhndJAoJAABsq+2gYqDp34cgAAAdpAOAAAAAixrKgVtKUn/+ZtAAAA5MAcAAAACiPD/3UVlQTNSA3H2kXlsgAAAQjuTwiyaZAb///sQROiBMIoK0vHgeEgZoimvNAKDAgAjQ+WBQSBciGa4151U515cABmFgALFQGNL/XWgZh6yZfHYh0Uv1cAAKsBAAAAADErbsC6xgZt+GYAAAAWAAAAAHEbEXuNAAACwIABkzAFb3/X/+xBE4YsQTgrOISA4WBAhSe0YCgkA8CVAgwDhIDmFZzCQLCRwAANwBTpghcrKAAC4oA4AAAAByMN0cZkPkENe6am381AAAAyuAUADgAA0Y/y2Be0o7f8z/////RAAAA6QAFItUEyYAP/7EETrgzCNCNB54FBIHUIpn03nVQH0KTvFgWEgUwimuYAoJIJoSAy0//WM67AAAKmgDgABxtkwEkbiT9mQAAAFkAoAAAACBZYh48Gvo4AAG4GAAAAAt4I6NFf0QAABsDAA5ReApt/+//sQROOLsHoKzujAOEgPYhmpDA0JAMglPIMBIWgnBKZgYDQkUGwFAAHhgL7/raAAAIiQDgAAAApVxrJgTVCff81lAABb4AcAAAAAjIbDfiG2By0eJePj5rAAAAJsAGA62Boe766YAAH/+xBE7gOwphDN+eBQSBliKc88ChcCCC0/xYGhIEuIpnmANCTOAAOwA0t/9FIVbmalVBVVkAAACYAOAAAABgOW0WjSPzMuAADrIBwAAAAFICCdv/UPoVBbkE9iR7AAAAyQAWj4uB8nH//7EETnAxCNEM5pIGhIFCIpvTwNCQF4Iz3EgWFgPgUm9MAsJPVQAAA6OAJIhzFsmYBOUED7//GZ1YAAAAYADAAAAAGb0e/qhQAABHAKAAAAAcp1uE49/1cAADUKE1AAswAShI3QTgdl//sQROiHMKERTnkgaEgYgimvNAuDAcRFOcYBoWBZiKZ5ADIMm+uwAAALAA4AAAAJKvwBQxP7aAAAIWQDgAAAAGKLrQTMAXTxgbp//O6AAAB4AAMnGICXjStAABQW+IMIY+5VqNr4ZcD/+xBk4YEwkApN6YBoSA0hKe4YDwtBgCM3hIGBYCEEaJAgJCwAAAyQDgAAAApTxPkOI+76rkAAHagDgAAAAhoTOsaiKE2TTGw9/854AAAGxowI1K2AB2ET/ehDdPH5/5qwAAAJkA4AAP/7EGTpgxC7C1B6AHi4GAFJnyQPCQKURTXHgaEgP4SofCA0JAACJJhD/e/66kAAJWgDgAAAAZp04vomQO91kI2/+d8AAADsAAiVL5IrosAAAlYAAci1YzAXyRXusTf4baAAAAigDgAA//sQZOGBkIYI0HmAeFgOYSndDA8LAZRDN4OBQWAkBGd0MCwsAAOCWg8Rh/6qkAALOgDgAAAA1R+7oeYPzAOsPBbP/+UkAAABWAABwVhrWJPtP//////////mP30ZAAAUdgAcYDN+2Zv/+xBE6QMwmQpO+eBoSBchag80DxcBkCNFxgFhYEsIpvkAHgwDP2x+e34coAAAB5AOAAAAA2JhiFE6zvkrAAAJSADgAAAAF4IYgmcIoflpjYe/+dbAAAAIsACAzgEl1SPv65AAAJOAAf/7EETmAzCHCU75YHhYFyIpvzQCgwGkI0HGAeFgTIimuYA0JIDm6BfMAVKBcJdP/511kAAAlZAOAAAABmqSm6wgKc8N8e+GfAAAAzwAAAAHl4IPybEWuQAAExIAJVV7zTrMhTQEYxch//sQROOHMHAIzvkgSFgQoRnvLAsZAKQjPIMAYWA1BWcQcBxcD3/zlAAAERQBwABMa1kQHGpi1/rV4AAA7PAAAAAKp8oASsYfuAAAB0YAAAAAIp/eAP2lI+5AAAAYAAbMOvgABTgIAAP/+xBE7QOwgglP+eB4WBZiGc88DQkBaCVLxIHhYDuFp3jAPCRR2cIwOKfWoAAABpAOAAAAAhPGQGdjrvhvAAAC2oA4AAAAFJLhjMJciaV6Vm/w3YAABVWADFT/lcCe0pPv6oYAAHNgAP/7EETuh7CKCNB54HhYFuIZ7zwNFwDwJVHGAWFgNYUn+PA8JKUOFv/UZj4CcoIEN+BjVZAAAASADgAAAAIHzwPOeZ/+RNAAAAouAcAAAADMVeyYPzl8uK/+MYoA0gAxfUmmhC75LHAB//sQRPIDMIII0HlgeFgWQhnvPA0XAWglUcWB4WBIBad5ADwkEv60jEJwyiCa/+sY5RWgAAAHgA4AAAAK2MRA7qn3/+dkAAAhGAOAAAACJVSajMfAbqCBa//x9TsAAACKAAitDEyveJ//+xBE8gIwhAjP+SB4WBfCGe88ChcDBCU154HhYEqFp7kAMFymgAACCkAK1YZzDwInFcQhn/zC6sAAAAegDgAAAApUfQWGN+qgAACCkA4AAAAFJGPY40DjEA9Nf/xdIAAAEOACVSEHO//7EETqgzCMCk75gFhYF4IpzzwNCQHAK0HGAeFgTginOMA0JN/1OtAA6Ul8mADuKGpevhygAAAIcA4AAAAFqlUXXfXAAAAxsAUAAAAElRv9JgC2bs+uQAAAGcAwAAcXoBlz/r4AAD4G//sQZOcDEKoKTvngeEgPIVqOJA8LAqBDPcwCIuBDhWf8kDQkAACL6BmgT/J1kAAABgAOAAAAA53BN/6pAAAISADgAAAAWKtEyDfdZs//zBwpwAEEXIhB131OsABSPNBeCJTxxv/kTKD/+xBE44MQfArU8QBYSBBBWe4gDwkBFCVDwwFBYDYEZzRgKCQAAAqADgAAAAYPbBNTj/rgAAAhIAOAAAABgnuYAixhP/+RsEgADFBwfn/rkAAACEcDgjdTjv/kL6AAAAoADgAAAAIErf/7EETqgzCOCk75gGBYFeFqDzwPCQHsK0PGAeEgUIimuNAiDKPx36qAAAHeADgAAAA1B+6COAYss3/yB7sAAYKtRgAFOfqmAAAlpAAgDV1QcwDdQQPv/8yZ8AAADwAAAAAImLCV0AAA//sQROaLsJMRTflgUFgWAimfPA0JAUQlO8WB4WBACKYQ8DQkBFAHAAAAB4lJCEuPBr5d1AAAAUABwABLJYAd+vJAACrsABYmbdQug9Lc831qTEHwAAAOAAAAAAhLDBLVAAAANABwAAD/+xBE5wMwkhDOeeBoWBdCKb88DQkBqCk9xYHhYEqIpzjwKCQATUklCl0R/TYAAAGAHiVVoDb/qwAAACZACSnq3Dje/6pMQU1F4AAADwAAAAASpHQBbIAABLyAcAAAAASHomCKAM96zv/7EETkA7CACNB54FhYFeIZzzwKCQGIIzvFgeFgN4WnuPAsJPkOAABwBwAA4ZQFBv////9P0YAAAU1gBtEN3MBIABf66kxBoAAAm6AOAAAACsaNYzwHYm0+e+T4AAAD/AAAABYdcgIk//sQROYBEHkIz/mAWFgSoVnPPAkJAbgjOeWBgWAzhKc0kCwsXEXUgAAD1QAVrDqEvABxfTJA9+GcAAAM+wAdtYvADEuJTEFNRTMuOTmqqqqqqqqqqqqq8AAADQAAAAAYqMCNWAAAA1D/+xBE6YuwdAjO+OBYWBRCKc8wDQkBNCM9xAHhYDYIpzjwKCQHAAAABWr1CtAB/6g8AAOErcHXuFkAK0lvykAfclx75KpMQU1FMy45OaqqqvAAAA/gAAAAFjSGC10YAAAQ+AHAAAABiP/7EETui3CCCM95YHhYE2IpzywKCQEMIz3FgaFgM4inOMAoLFd8GIC0m40LfWGgABxhgM1QAABKUABAOmfuhS6ePz/01UxBTUUzLjk5VVXwAAAOAAAAAA1uA3eAAAFtYBwAAAALDP2u//sQRPQLMH4Iz3kgeFgUQinfPAoJAUgjPcYBQSBKCKc4sDRcAbuT1/V/4ADFDUPoOBaKAAAHegwhqs1DOB+TTGw9z9hB8AAADuAAAAAI5AJLpMgAADpABwAAAAJVG6ZgB4mhcKaf/zP/+xBE9YEwYQlU8SBYWBJBGe88DwsBnCM95YDBYECFaHjQNFxypAAAJaQDgABOzaEBYMnG+tgAGWAd33/AA4bDCMNgooPQNBSC7dMRbyc4QVngkRnmDh6CPA517ll1TEFNRTMuOTlVVf/7EET4gzBlCVNxgFhYEMEp3zwPCwFsI0HFgYFgNARoePA8LFUAAAD+8AAAAPyQVGjAAADe//AAAAikq4LFxKqSrNRYSkxBTUUzLjk5qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sQRP2CMGUJU/EgSFgT4UnfJAsJAgwlM6SBoWA5hGg48Cgkqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqr/+xBk/oMwogpP+eCQSA9hWn4YDwsCPC07x4IhIDIEqXgwQCSqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/7EET2i7BhCVRxYFhYEKEaDzwPCwD4JVHEgeFgMwUnePAsJKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sQRPoLMGsJVPEgYFgUAVoPPAsJANglU8SBYWBABSd4wDwkqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqr/+xBE+oswXwlV8MBYWBJBWh8wCwkBLCVRxYGhIEkFp3jwNCSqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/7EET/gRBpCVVxIHhYFyIZrzwNCQIAIz3jAQEgoQimPFAkFaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sQRO2P8GQA1PAAAAgS4Wp+AClBQAABpAAAACAAADSAAAAEqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqo=', + Eb7: 'data:audio/mpeg;base64,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', + F1: 'data:audio/mpeg;base64,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', + F2: 'data:audio/mpeg;base64,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QTwVqIM5Rb3QyDn6T9fW6w3/+xBEVw/whglTgYcyig8BGlAw5jVB8CVOBgDmIDkEqUCQGMSyXwVoiCpRKpgVEGUL2q1PloTbgZkszWQMiIV56PrXHKdhNuBmZktZAoGAefh1vHKdOysABICrSj6AQ29w+Ppc+Y7KYP/7EERaD/CHDdOBiSkoDmEaUCQGMQIEIU4GASYoPAQpQMAYxQDAKtKaARu9w+PFbyVlAaBc2Dh9YwyDQqh02tcNSchRWFZ8KI6JBQM3LS1y+HKIFQ6PTJbhYJQrlaes1vnIFQ6PT5bh//sQZFyP8IMN1AGJOJgPgRoQMCkxQiQlTgS9IGhDBKgA9ZxNgZCuVp67t8VCU8B06DVlqxcQe03VRX7x8CngOmQ1stPMJDHtPKKb/1qjzk2X1Q+X144T57POWx7NByR5ymEJl6268IH/+xBEXY/wggjTgYBJig/BGkAwBjFCCCVOBITGKD6EqQCQGMQee3M6PU6qkS9CGHYURAt7gGwK+CFNGLo9TC3ykTB7NkJAXia/MU6nT9ag8FZXK6zJBAb9lLUC+cug8BsezNZB+VMAG//7EERfj/CMCNMBgUmKD0EaQDAGMUHkI04GAOYoOoRpAMAcxYMtQL/lQ1zYCCYOKpY7xGB90kSbDV3DUNpsBBIHmNY7QjGbpIGbDV3bQ0TQaoIOXccwUAmMdmjZ1+worDSWx4fcYYgF//sQZGIP8IMJU4GASYoP4RoAMCkxQjQ3TgekRSBBBGgA9KRVGUVSmdfqqUHQBiybGOOEJvOkfsejPMm5AqCRoZLcfBCjz0+dYfrsizokquKlrs9gIJ38OuJK2zyBFwGS0JrNm7ASO9n/+xBkYo/wlAtTAekpKhAhKgA8CDFB3CNQBgDGKECEaADCjUV7HKndygpZyKRKGNNbuko1/Z+FUiz5Wq85FBUw0i3ZBkBuPpoVV5It6JomDuYLYOF/l0qmZ7p4FfAwHoahFPYJhPqSYv/7EGRjj/CSCFMBgUmKEcEJ8DApMUIUK04GBKYoQARoAMCcxbV1ufcAQ8d451ZAnpMlWDeWuBdGAPr29L590E3J+OdWY3SK0KzeWuBcSwOO53BrktQJkZIrpYTzHMHvJdjlbUY5qt4///sQZGMP8IoJUwGASYoPYRoAMCkxQiwrTAeExihCBWgAwJjFDYmW0ifrHUcVJCnY9rOMISeo+ThMc3hV5N5Ow0o0qulw2TSmtuu6TuNGdSqaCamQAAAAAIwpv2AmAq7CrywAAAAAIQX/+xBkY4/wiglTAK9IGhAhGfA9JRdCBCVOB4DGKD2EaADDHIV+QwKG1UxBTUUzLjk5VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EERlAAC0DdGFPMAIFeG6AKeIAQREO0IY9IAAeoenwx6QAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQRFAP8HIE0/cMAAoN4Ap+4QABQAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=', + F3: 'data:audio/mpeg;base64,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', + F4: 'data:audio/mpeg;base64,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', + F5: 'data:audio/mpeg;base64,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', + F6: 'data:audio/mpeg;base64,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', + F7: 'data:audio/mpeg;base64,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', + G1: 'data:audio/mpeg;base64,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0L4GeikCT5Neh9EweTZwn0X/+xBEiY/whA1UgYEaqBBBqkAxAicCCDVSBhhEoD8GqQDAiUznCLnABTAlq9gJg+qrRfRecEOdhdYRCjvLJDbKWfonKgpONTQiFHWLAg1lX7XMnLFVdBAdA0PM9g1L1DvVH6L0MG6HRP/7EESLD/CJDdOBJhE4EUG6ECQjYQIQN1IGDArgQQapAMOMVILA1HmewWStrbNMqL0ccvLiYB51qlj43eZTq0EcOwtM8YBUrQwMgXSKDW8L8OotL5RCkdxtfDxARaU7TtX2OOuHQRE4//sQRIsP8IwN1IGIETgPAQpAMCkhAiA3TAYYoyA9BqiAkJWMQ+FgAIup1n19g46kxGIKnbNwEg0l3RLnE8McVoZQiwCk52AUGm3m5y8MHGgVJQAyzpGhnjOhfZ+4U2glWgRg7gCQG7P/+xBEjI/wiAzUAYATiA+hqkAkAnEB9DNQBgRIoD0GqMDAjRw8NqnOFdrH2vOkHA9kABqcdXBr2DroTnGAnD2JCBzkt1P2D4h3oMfTV8kiFZkUeMkpuGCuo4llEJghwsGIo1Kat+GBjf/7EESOj/B9DNQBhhE6D4GqMCUCJwHcNVIGGESgPYapAMMInLnwpLYCtb7C0VYBNRbpi+HCiLj6vCYxqEQOwzZ9xw/5ZJisIRrAgvshIAkjoarKwJOwcaV5kjuCy/4RB4gOdZYL2OMh//sQRJGP8IwN1AGDKhgQAapAMCJTAhA1UAYkROA/BqjAxAxUCUrCUS3ctOIiVPgn4YomKwCUrCUDr8mnERKnwT80TVVTh+FuDZgQvKhRozz1YIt98oR4+VDpcynw/C5CQ0heq0hu59P/+xBEko/wgw1UAYYROA+BqkAkwicCNDdOBhhE4DmGKQCTCF3It98oR4+VDqzKeQYyyJOY6j1PM0IpKnr7aXzTbIJ9pOJdYSZdGqzOFAL8kr//kAAAlKgtFo5E7jckSZbb1c9MQfwxdf/7EESUj/B4DVSBiRg4D0GqMDECJwH8NVAHmETgNwZpAMSIHIM1cEu5ZZG2Aw0oCAgJFga6zvBoUbAAYTsRHv6lTEFNRTMuOTlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQRJiP8I4M04HmETgQAaowMKMVAig1UAYMSGA/hqkAwKBMVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBEmQ/wkg1TgYkRKA7hqjAwYkMCGDVSBhhDID4G6QDDCGRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGSaAAC7DVKFPOAAFkGqEKecAARUQ0gY9YAAdQgpFxiAAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQRIUP8G4CzCcMYAgIwAqE4AABgAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=', + G2: 'data:audio/mpeg;base64,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yixejVXhokVhNvUOIbjFFi//+xBEsg/weQfUgKkYKA5A+mAdIgUBzBtSBiRiYDmDaYC0jExFcY4FgYCYQqtyjtP1GFbFN2YcIhIEwhVog/T/duayxSkMgXBkJBvbjNWH7upBm6npDIRiUJBvfvtV5/MhEmNVw0wSzP/7EES2j/CDCdQBgTGYDsE6UDAmM0HwMVAEgGwoOwYpQJANhGWgSfuxCa+z4fVmbrEcIagawR70CC30o75wwWFIlrCrlpgVx2LyJZW2mtIFQ2SCGrTCgzlwmUoq4tZAEw4GtuhSIbuX//sQRLmP8HwKVIGDEaoNoPpgLSMTQaQpUgYAqCg5BWlAwJTN0Wbq+6HWQD4cDW/fAs492mNJjfdiHIVD5KpWtt6gG/fU9lL42wFjRqRa224gbVxbyl661cokMio/EeUbQX6ttQkHW3D/+xBEvw/wfAfUASERmA5hmlAlIycBwB9SBIBIIDsGaUB2CBRrhcYOq8vgyF1HAbURQORgQTgs3aIThmkdZDG++TEPAI4Cb4HS/3WEmO9NeKFRh9mQeRsv4c+cvVtN7zQLhZkY+R99Ov/7EETDj/B9CtQBgSmYDqDaUDAlM0HkK1AEhMZgOoPpQJCYzHeKFnGWhCOPmHDnzl6ttO80Djqik3HlvAMCcD5L8tkW5OTw0W1DpyUTK16jAblHmd8OYi4pL1F/BuGgX0/mci4zk8OV//sQRMeP8IEM04DMGCgPAZpAMCMxAcwpUAYAbCA4hSlAw4iUtUWy2aVr1OANlPZ/fDcVun26gCgC0KAgJ3qf86VvcAAAAAAAAAFBVUxBTUUzLjk5VVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBEy4/wfwrTgMkQWg9hWkAkKTNCADNOBITGYD0GaQCQjYRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EETOD/CCClOB6TCKDSDqUDDCE0HwJU4GBMZoOQNpAJCUzVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQRNIP8IIMU4EhMZAP4YpAHSMKAegrTgeExmg5hWkAwIjNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk1Q/wiwpTAeJJmg0BOhAVggVCBDFOBJxlADiE6ECCmJBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EETYgADMDNGFPQACFeGaEKeYAUQIQUQY9YAAeIfoAx6QAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQRMOP8GICTKcMAAgKABp+4AABQAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=', + G3: 'data:audio/mpeg;base64,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', + G4: 'data:audio/mpeg;base64,//uQZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWGluZwAAAA8AAABwAAAvIQAEBgkLDRASFBkbHSAiJCYpLTAyNDY5Oz1CREZJS01QUlRZW11gYmRmaW1wcnR2eXt9goSGiYuNkJKUmZudoKKkpqmtsLK0trm7vcLExsnLzdDS1Nnb3eDi5Obp7fDy9Pb5+/0AAAA8TEFNRTMuOTkgBK8AAAAALEgAADUgJAUATQABzAAALyF/vd6nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//sQZAAAAEEA0sUEAAgE4BnooAABguQvbhiRgAA0geyXBCAAgwAIAFqd/w+BgAAAa6FFB6I2Ym5Tl9/em05kOCegWfRJJaR1fvgAAAKeDgnMtZGGI1XxrXKEPe1TaU/rf1VlvMDNwp//+xBkCQ9w0RjYhzygAAuAyrDjgAADNFlgATziwCkC62ATCEyvoJXoFfHa9dsVAhJUHcvur+2vTNEhQW6Z7eAYuqnAJ6hC/EzdTPFvnFsV+/roQhsCfaxWeq2+lSZiHuG5je14y91gFP/7EGQGDzDGGNgALziwDmFagCwCUALEVV4B4UIAMoWrFBWIRPwU88t1LeM+K28Z1aOokQhPfSpMwHweZ30bN0GllJNhiZiMBJ9AU+F34vbxzyTyF8W2JcnB12oJ83hNWnfUxf3MAPLW//sQZAMP8KMY2QHqEUANAQqgBYUQAhwtZAC84gBABanAFhxQNBQ3D9+AP1foN5/R/G1wZfGTvQH8c6fq07K9MRGNBhS4mBz1CTyWp8hnqsVhkGp1udCE3QN+W15PO1vk6ocjQTe9bsX/+xBkA4/woBjYgC84sA2BCoAF5xACiEtgAODiAEGJqYAXlEA+9AX+KfKejeR928vqu0yUipUEOo0z1e3ZVoup8rSXZhCES6gd4m85uUfy+2tnpriBYs6DAB8Jtwi/v1bx2rRV5FGL5//7EGQCD/CACtkAL1CADuFacAXqEAIoQWIAPOBAPIgpwKAKQNgSbQRPkeSqfKfd6I89Ca3uG/jLxhka3U/P1ZwNFDLuJgv4JPyD8r6F9tWK1weC/fKit0Fnx+3QbOV6VdFQjEF4aqpi//sQZAQP8JsY14IgFYAPwgpgBeoQAlBBYABE4EA+hamAF5xAZPxoNy96L+f9LH1TdFB7LtYNG4WvJX9vLbfJXIYDyWsKQWdAd+KfR+pfO+LfdLU4ei7OPBfwKeNtbpDPehWcxBBGaX//+xBkAw/wkBNXgC84sBDBWmAF6hACTEFeADzhADkFqYAXnEAApdahTxR5Tyr+X+iDKsvTtPA8+gi/F+2p1Hz/oxkKYf+N2bjL3oC3xH+3KtnKtFyKk4HsVBx4o8Ud9mf9KrhZkRXPtP/7EGQDD/CeENcAOGiADWFaYAXnEAI8QVwA4ULAPIVpwBecQJ4WT6xgn5p6/Ontf3+itSh4Z44BXxF8b6anylU3Mi1f5jMs0x4cbk3q/Utnq71wKFnRAL+JXltlT6/u9FXdwlOgdv+y//sQZAOP8KITVgAYUEAOYVpgBecQAqxNWAHg4sAdBCqABJRARguGgCb8VfR/HPJe+jmWSEpYqJXhnx775bb/TRVDEh0DMdZSpUdpqgCeJvKP0GPL6g8J/BPF9vpVMCEvkjYS2EcBo/T/+xBkBY/wnRBWADhQgBBhWkBAJSACeEFWAOFCwEKFaMAcNEAJviv6eULZz008hwV23Cgj1ADwhtrfTs/ojQ1DB/NjPlKlBeeoDT8WH6eU7a4JM/IlJquK76if5f216Pu9Ktd1dJDJqv/7EGQDDzCXEFYDCFEQD0FqIAXnEAJwTVYB4aLANoQplBeoRI7AUC6nA63L/8o+e9FyB3mkrGicQdQfeR75LbXBoFJUCT8uatJZ3+Ht+Xf+o/57V+WKIgIjBrzAhbjXPeSqmwsiJ90d//sQZAMP8JgQVYA4UKAJ4RpgAeUQAoxBUgHmAgA4CGiBAAoI7GCQwXUBhuMvT5ff6ah2M8YH/Dcr91FRwgyGLpFes0B6ezgnvyP9XrP5ytSdYfwFVtMUZ9ZOecjaat83cJXobN2jIQL/+xBkBQ/wngtVAwxRIBChahBBJyQClEFSAeGiwD6FaIEFlJB21AO8ePU6T2+hVR0JQ+azCoGI6BH4315DZWp0MQRDwUuuU6JV9qATluf+3Ovnqq6IdYFN1WgDNcJeO9Tv/024nBJ6Hv/7EGQCj/CDCFWAOGiADOFaIEklJAI0K1QA4aLAOQVoQRWckKI+heEeKT53dbu9PY+DLf9WAvdAB8W9WmaGhwG8zmfzCkbGsLBuZba3U9AN2CqPs0w2vgl47sq0KlVHQlwYlpeySGPb//sQZAWP8JMLVQJPUSAR4VnwSM0wAnRBUAHhosAyhChACKQoQBvyuvJbPRSnAjY1F5EhKNxOG5VsqfL/+nrBR2gfO1e5BaNWedDp5c/89nfRSDqgqDV5YHD1BvP+mqRjMCJ65FexgFL/+xBkBQ/wmwtUAHlosA9BWfAHBxYCeCFOAeXiADoEKAAcHEDiy84EVbn/o312nICmt7uppf+WoEPLbd9FJwgyaJzOfnPQILTPuHU+7dIbvTzScHmkLCcB3QFu/ye/0Te6Aq5SKr5Wov/7EGQEj/CcCFQAOGhAD+EJ8EhtIgJsNVAB4aLAQQQngAwoCEkHaawQrr68hn6tR0IwLXKQUMjaxMs7Vk91asoYciHwpcMYLV1npAs3/zuzZ6NVSEQ2smuIwLqcIXWVbfVpUiFMNJ+G//sQZAMP8JkIU4B5eIAOIQnwBw0QAlQjTgHlosA9hCeALCBAi8VSgcJv5RbHdb7N1dVFymRuzpBrfidvt8l6uoBjBgezLLeT0Ltwzgq68jVp08IQlFvHooZAqfkABuryW5W9UJU8l7D/+xBkAw/wkwhTgDh4EBAhCeAPDRACQCNOAWXiAD6EZ4AcHEAvZiA9z/yj1P6vuq02UEVFsoR2DK2oa99b6N9eiMYKOqB4bNNMfJKs/0FJ1X/5rQiAI2gi7iAI01AV9O7/9KogtOUUv//7EGQCj/CQC1QAOWiwD4EJ4AcNEAHMI1IA4UIgOAQngAwoCEfN0qWF57hnfnNf9ei04cJ8lj3FJ9Qc11tWj1aeAhGLyJ5cSgoU1AQaXyesyQQtUksMREeET5yrIXhwIsdUqlxucHvP//sQZAWP8JEIU4DYeIAQIQnQDw0QAmQhTgDlYEA/hCdAHBxAryE/3VPp9UsBlVyw5xdAPLawvjr69nrXGsOIh4BNg6LRQn1QLZ6rT5Z1NCCQgG5krioB/QAfdXs9ehVGId+SmyQZ8sL/+xBkBI/wkAtTgHlQsA/hCcAHLRICjCtMAeWiwEAEJ4AMHAhQ3tABLcrq2+tpga2RrT9iZhLPrFzZvkfVCQDGEg9mWW8nqZXrcHM/Kttfw3u3UIRi0ibKKQDOgDdtWn1aVWlgMsaXzf/7EGQDD/CSC1OA2GigD+Fp0A8KEAJsIU4A5YBAOoQngBwgQM3quByfRCUbmevJeqygio1YhrygHW4Fz8g1afXWVUdOEw1UVSCDSszgE3zm+S9Wm4k3R8Bt2UAe/wQdP+n1qhpqBivO//sQZAKP8IkIU4A5ULAOYQngBwcQAnArTAHlYgA6BCdAPCxAj52oqHmVCZnqtHr0gdvoTxLWKgW6A73V/1aLuEGUw9InwuIwB7q4Ac1+jkN3nZwOQGFqnJpESV8jxnv+qrut0BY+rJL/+xBkA4/wpAtTAw9pIBAhadAPBxACoCtKDL2kgDmFZ0AcLETTt4ZU7VhvPyrW6Q9WicBlVSm5yxwA1tAh8r9vr02e40wwuGyMvipEOiqrBGbk/bU72VNQpLD7z3aQnv5HV/obK2FMO//7EGQBj/CXC1MAWVCwDOEJ4AcHEAJILU4B4OLANQQngBgkYMhTrILfxxXuGgCb8efZ69NU6ZOou0qE3hnP/9WhuBxxQnmczyjzJ8tQEeX1bPXpOYAhQRybTo8Nx/d/+ipFQLKsiW9b//sQZAOP8KULUoC5ULAPoWnADwcQAnwtTADlQQA3haeAHBxAHkfVizygDvj16nSPq0XoIkehoa7iYHPUHHkv/XprKqOmCacus4x1XmL1BCfkXdT6tFxLJHwEXnAm+gn8d//pokxnHJz/+xBkAo/wmQrSgHpogA1BadAHBRACVC1MAeFCwDUFp4EEFJAxHY+RAdrLw8tyvbv9tVxtII6ilhoe6gN4z/1U6EHYh/pfh2VLP61AVvyD6fXp6wgAtJSdQQrgXxP/+iretzRJWXsa6f/7EGQED/CkCtIDLzkgD+FZsA8HEAJ4LUgB5ULAP4WmwByoQFSY4rtUADxu6yt/srnApLIOGPK4mEXwb402/21JqBCi4bpIe4ylJi8lAz8lerb6tFMKHIfLGzOcCb6iE8m1/+nVrltd//sQZAIP8KELUgNMOSAM4QnQBwUQAiAtTAHg4sA4hacAPChAhGZIiuwmARpqAN4jd1vryHAzMjcLtGhXh/O/9WmFA45APrSZ6rLf7wl8d1/16adCEqRJR+wcbUXeRf/0VYKpDJLkWTn/+xBkA4/wowrRgTlQsA6hacAPBRACnC1GAGjhADiFZoAMqAisbz4sq3oHX4kZPd7N/KCJFl+Cu4wJ+HfE//XoypRGYDR8Ws/SowWXqAZ4j6n0bqsljkgyNsDV7hE/Frx5/+qM4hTMfP/7EGQCj/CTC1IAWjiADKEJ0AcCEAKEK0YDZKLAOwVmgBwoEHBti4HARrQR/IatHr0cbMCNIh2BhPGz//VphdiBmUFtRup2+gTvtUBvBnUbvbVWq5JIMjSZzAhbjfyX/9bLLceJLQMQ//sQZAOP8JcLUYMsKSAOoWmwDwUQAkQrRgDo4QA+haZADKgIlpUTRRvAvgLr0erT2BSVgkc1xgH8Q8S1f16KxphQmHhJDf5YShvcXeIMnV9nbKDQ/OKWkYHn5H4v1f16KkchaAgbcwj/+xBkA4/wpArRAHo4sBBBaZBlJSQCcDVEA2SiwD2FpoA8HECfyepleWpDwjyNWjD27fM8EGxuI2xZ0MXxnhD/1acyBYxUB2ZZnhmk1f5/ADxmzfK6KdCEsQ4w+joBXzfG+v+rTWlhJP/7EGQBj/CQCtGA2SiwDmFpoA8HEgI0K0YA5EEANQWmwBwUQDQCj5rHkdcjF8ng7pDf7NqGIIh0KXKPBO/JeW/9b5UoqcJ/xbHtRfvOfwHJb/ZvVCXiR8BXZQN47xb/+hWIcQhPG1UL//sQZAOP8JkK0QBaUKAPQWmQBycSAlQtRABkoQBBBaYBgxSQwvx4BN1yDxW276cPWhoMDas5mxoINyfinVo9W5gZpBaUbsbm2TZtjfC++T3V6NfqbJOBESFsYC/hzwr6PVpV/W5oklD/+xBkAo/wgwtRgywpIA5haZAPBxACWCtEAejiADmFpkAciEhxi3KpRZ3N4Q1bfV2BSGQdsbaA3yvivX/XpXUCERETGBkvEwBKcj43yFerZvdhT2I16PkGE8N4B9nr0FMhYgAC7mEW0P/7EGQEj/CjCtCAelCQDUFpkAcnEAJcNUID5KIARAWlwZSUkKAfO4744+SrdRkt/AhzGzhezwz5Hy//q0JQLjFwHZAA5BoBeBPAzcbo316N/uYIYQckjrVhPvDfDurTuqqTKwyQ6AJ8//sQZAOPMJ0LUIE5OIAJ4VnABeIRAkgtQANo4kA0hacUHBxERlmgxnwf9RT30ZzfRZiBCgrC6ivEeGt6BRCaDX7zccoP1qFPCmrIbal2aE3EnIMO0MeN/K/Tq/nLAuFF6QzcvctXWgD/+xBkBw+wqwtQA0wpIA7hadUHAhECmCs+BOjiQDWFZpQ8HEw+A+p0hnt1O7AALGzwiiIegXwXhP/6FaXEArBN+Ch+weoSdQDn4kPh6rRtbLA5UUjjUzSDfGvk/Wq2kxog9NQCU5Kg7f/7EGQFj/CcDVABOTiQDsFpkAcFAgKANT4DaOJAMYWmQBycQLBjcXNyuR3+itVSFwlcPFjRDwbxXV/6YqQEFkITYeW00PdKAH+EPlXyOcqqFeRGWLmoGW4x499FvCXhQQJ7XktkDQkZ//sQZAYPMKIKz4A6OCARAWmVAyUJAmwtQARk4kA+hWYAPCBAKgs6CDI76/vXYAGdIjuNhT+Ha0P94H8L+jdAnGMgHDGKdBwJW0CviPq0769PKCJahgi0ywiv8j/I27v7la2NyCR2IZv/+xBkA48wpgtPg0ZREArhWZAPBxECbC1CAejiADmFZuAMHAwKDO1Af6g3eLD1Ok93ovQxA0SgR1CTx3ycVgERkBMmGi0Tg+XgV8k1eT31aCJRQ5abiToDi8oJPjbyyoTiBCDF4ULsZ//7EGQEj3CVDdAAelCwDsFptQcHEQKALUAMmORAMoVmlAwUDItAxXDfxV8rr1LuADQ1kEYRY6ICfi3x7VnhXjgziA3gHCxQQ9QDPEHfbna9L+rpJIOCIKw0BvB/EYyTGiDcBSSnK4Z3//sQZAWPcJUK0AE5aJAOgVm1DwcRAnQtQAHo4kAsAucgHAhEaod/knka3U/kACcCkqhJ5JZoINyHjhClAhAVD1EC5MFQpSoReQ1aN1WhhWmF0ibYq4ILtl6GQsQAhdzAlvmC4eJQA1v/+xBkB49wjgtQAHo4sA9hWbgHChMCNC1AAOVBAC8EZtUDCJSS7qCGQQADYF9kXp/B3Dr8i8tDUj4xcB1Yxbykj764bPxV16F9ZwJ4csfDliPxOWrPdaOkOgCjBpY8H59YlHlWT3Ubd//7EGQKD3ChCtADJmkQDqFZpQ8KEQKkKzwDaOLAMoVm4AwUDO5AA4oYkKLEJXmBC3L+VW9AELogfneadxelnGL0AH6hG6Rq0kK8tOiTgDHjAH8U8QpLtgQgxtlC72dRVvFqFvIatnq0//sQZAmPMJkLUAA6OEAPQWmlBwoRApQrPATpQuA4BWdhAwiUbuAB41FB9I0dlCJ+P/J9dyTBQVhm/CP/UvwEuu0bQBluLWQqNuLDUdCUIAw+CQjOG8ZWJCYc9NgKU3OTaZ19sDz8Vdb/+xBkCQ9wrAtPgRlQsA9hGbgB5wUCfC0+A2lCwDMFZyAcHETpH16SJQQADEEEMCvfZmAVbkctNSDCAyGvIFyswCtTiYHG4u16f6SadhbkTvGWceCfy/laKTwLCwYXmvZP6jifOCUAL//7EGQID3CjC0+A2jiwDqFZtQcHEQJ0LT4E5OLAMYLm4DwgRMR++n1bkAA1Avsi0TMj4Fn5DxxTVBsY2AcMYt1oKT7y1BTyGrT/QyregiVaOTpI0CGfl0mUhkh6NkGNY8gtPrPQBvjb//sQZAiPcKMLT4E5OLAOYLnIDgYRAqArPgHpQsA3BWahNYiUU6T9fuAQABWoYIMCwR3sE7JVlYBEJYNdwNZxiKXFl8C5+MclX9u+RVF2SFdB7C29IT3y+GposIC40P3PPhbfBNXi8PD/+xBkB49woQtPANposA3BWaUHBRECoC0+BOTiwDKEZyEUCJTairXt9WhAAuNZA+UEdhoG8W8b3LjAzqA2o3UvypIO+1AC/G+vJerQTRqOhKBypE0oUrjZSqurseIOTaAOWKjWAa7VAv/7EGQHjzCmC0+DLDkgD+FZyEDCIwKULT4NPOSAMgRmlBwcRB5DVkvXod8DAAFVGIQwIsk9AQD5/F3e40wgKh7hKz1YQakyUAb5LVo9enYhWF0idYyznAm/KaLVwFhQcH5W8n8mwLC4//sQZAaPMKoLTwDaULAPoVmoBwIFAqwtPA0mJEAzBWbgB5wMagXPxV7qPVpYgCAAKzpFlj4p+xBgXl8NSbqRMYgGyBhhuiIF2bXYYjcsa8h6iFAQzICTH8fmgzyXlTlrA6OwjShY1Zv/+xBkBQ8wqwtPATpQsA7hGbgPAhEClCs6AOjhADAC5yAcHETNhYFt6AX+K+vZ/QzACAAXoYkOLMAXggvjZSrUZCp4J/t9Z3SkxCdPqAjxIyNX2kKBBoUAlECz3D8/L+3s6QQixN8INv/7EGQEjzCeC0+DSzkgDEC5xQcDEYJcLT4EZgJANoVnYQWIlC4uCmFoEPktWz+nQgAXGzwiSIpAwWcofcJBnUBlRuo58GJ9qyDeXe6n1G/BhqOhIE6oP2DGuvhlVWVGhiCagFGallsL//sQZAYPcKcLTwE6ULAOgLnIDgMRAnAtPgLo4sAyhWagHBxEMNphq3F2vT/QzKCAATgUIQEeKpggPPVrKBhAPE2kJv8pEWbyYT+P69Pr0CSbT7E6w8tPBJ+W8cVgfgKwYQA8lZpI6zH/+xBkBg8wsAtOATs4sA2gucgHBhECYC08DJoEQCyC56AHlAyk562oDPEjvp/ppgCAAKgUXHvD45ZDfL4fcj458cwYAuDwXj+ojfP6v6tJvA4ZkCnOo+gLnKFpamFIrYOCLd6WzrPUxP/7EGQHDzCpCs4Bmji4DiC52A3jEQJ8LTwDagJALoLnYBwYRKV6gO8SchX7gWAALKGCggvBLcF7Za10EhccJ13mvOTALJ5PJHyl3fr0GyDBoUMlGFb3HbJVD7ExQDSMFjTN7FG3ZH+0//sQZAePMKsKzgE7OLAPIVm4BwURArArOADooQAxAubgDBgMbhvqF9v9LCgwAATIa2CJopYRBPL4y7r0DNk2Yx25ZuAxYdPtgTwEfJ/2bydAg1dKiGGmX2G75dWzSoPCkc3ASM6svCj/+xBkBg8wngtOgToQsA4gucgPBhECiC04BO4CQC2C5yAcGEThilAfi9X/ptwHAAIUCodhpZJ+w/dQ6TImBguHjjUaOM4BNNFZl5V1aPXTAMD1Gik4fO6W+WWAtABgwkBYS2k/WbEgff/7EGQHDzCoC04A2yiwDcC5yAcFAwJ4LTgE6KLAMILnYAG8BK5fAbuo++i3QMAArOoouPWB2qCeVg9QHxioaoTDF2xBaSWaZvCOvR6jfigoIHqc0uNyPdtSpsa0AiOccMOhz2qJCIiv//sQZAePMKwLTgNPKSANwVnIDeIRAoQrNgTsQsAtgedgAOAEivhDXs3enxQ8AAU1DDJCYLoP6eHku0GQSMB520K9fgxTXi4rwPI1fabyWCcZK1URoTZ2UoLcMA0rA5E28stypKO+XDP/+xBkCA8wpgtNgDsoQA2AucgDBgMCxC00BmiiwDMB59ABvATBNWR/oN4PAAMK6qA9EZfxWepcxODgrvNySduMXXrZVm2D+Bm3U7qtAipIkAgMKI/YB8V3StWJcyKhBnOwOd21jVTY4v/7EGQHDzCjCs0BmiiwDUEZyAYCEQKsLTQE7UJAMIHnkADgBDQJ4C5LfTzgeAAPCG6BXFNj+Ly2JMiYCDoasMVk6B4DKJjPxK15PdXpEMZEYDVMVlo3CTOVqsaekf8AHR3AGLxVvJBR//sQZAcPMKsKzINvOSANIHnIAHgBAnwtOA0kpIAvAufgN4hOWSoReEemvWbyeAAUItseVPmRDtlKlu5BY5KNEHCi8FSDHwL4pq2+rRTCUF6CCjT0uMfPS9VCUphSI8B1RrvVUMAqx+D/+xBkB48wowrNAZo4kA5AubgPAxECgC02A2ziQDIC55AYFESXjOQrdRb0UAAU1DJOjyAFugs7QUNSCQaKB42515zg3XCTxrr0b69LhgYcAtMugyDHwzfLKs8LcMAktA5kzeWWeKdaA//7EGQHjzCbDU0DZjmQDQC55AHjAwJUKzYEaOJAK4LnoAeUDL8VeV0CGOBwDwygCZEPwDzlZaFgYM1TUiIbqHwzaoU8V5Pd7DfzwxKHcpU1Bs/VJYkBwpPOEGf2tMB3agA+HNlRvZYA//sQZAqPMI0KzYEaKJgNoLnIAeYDAnwtNA285IAqAuegBowMBiCJ0C/SzuEbJe9lZjQIGw04KV3NKzbTAt5fVs3VmfnhZIEUcjgnO0J3QAYMKgWSs0l9jAIGOw+8e6KtJv5gAB6FGDX/+xBkDY+wmwrNANtQoAzhCdgB5QUCWC00DSTkgCSC52AHjAyj0dwfxb6eo9YxeNgNARGkMDMHwL+KteksMyBrp6zobdXVR1oBEdg5Yt3qVSYa3W6xweV5PeIYGGwMwipEoKvhmfqStv/7EGQRDzCbCs0AOmggDOC55AHlAwKQKzIE7UJAKQLnoAgIDISgEgCV9i0mUPQmKtAq+PH076TfxwuXQYDPQHsrKpMAA0nBY0285bwU4xWoDvL7N9AZgYLA4ygBquF8P20MsJwcGdpu//sQZBOPcJ8KzQDbOLAMgLnUBecTAoQtMgZpQsAagenQAKAEyTt1LcBOXkbgpbj3VpHf/mBRMRIqVpUFhSucYQ/tbldV19sE34qHnGA4GKmcQ8W4Z65WiFAwXDSBqN+9EWWcSoOPFev/+xBkF48wigrNATo4uAuAulQB5QMCSC00A2zi4CkB6bgAnAQJBWUAkAah7xH6qjFoAMGEgLEWaS/CIKRsHUCPxzSO/8BwOAvjJ/qivX3Go9YxoNsROR/Ikg07XUBXl2q/9I7/44AmBf/7EGQcjzCZCs0A2zi4C0C6dAWCEwKYLTINPOSAKIMpkAWUDGkuoJrqWZWBUR0jjiX+s4R9PrPQA1uO6tBvR4ABmxGRKI72G56WRdIJBooHj7fUW46nxZPw6/Kd1BvY4XNQRFb2H7q6//sQZB+PMJ8LTQE6OLANILnYAeYDAmQtNANtQsApgufgBpgMphGGASXgc2ZvYn4MTV4tQLG4z16BDGwWBi5mChQ+OO31NYYiwZzmxIPvUtw0hHaagC/GmvQCg8P0FZ6jKjslQWEU85D/+xBkIg9wpAtMgTtQsAygueQB5gMCgC0yBejiwByC6fgBmBwZ/bll611dTkHs97IhHeAAAAAAALlSEEZtAETSIUDBETGHNv3pSiReSgDfHdlQOkQ/ViPXnofVpc8I2FjwPqixXg0Ajf/7EGQlj3CWCE0BOkC4DoC6fgWCAwJsKzQDbOLgIgLp+BeYRDgk/KDz7gYD0PcZwtqgXr+3cgscjGYCgh7HBm3vHY3M9ekNQMGAcg71MvDt9SpnKAaI5Ryw7vWbz4tK29AH+Q16f6ZV//sQZCiPMIUKzYNMOSgL4LpUAeIDAlAtNg0aBEAsgufQF5xEZQQBehipEojvKE7tbtRUCiAehlM6u9B8NU6x8ebfT6gzAwWBc1BgMPg3P0WUXKeGAaZgMeJvEdmEWdjaAC+O6smDnEP/+xBkLQ8wpgtNARo4sAzAufQN5hECiC0yDb4kQC+C51AIHAyAAAAAAEZADE50qoiDQMIY5kwkTqZ20Yr7YFvKav6w1GQIBkYay5kzYb1qXUVBYQVTuCnduWWisA2mEDcZ6KwhJVACAP/7EGQuDzCpC0yDbzkgDkC6bgArAQJkLTYEaOLAL4LnkBeITAAAAhIQRvRX1O6I4GAouINmn2JgF00VUOPzTX/VpEFZBgFnDWHzuvdTIW4BcKLAPpbSfrNiXflqEHktegQxEAAUINhJ//sQZC6PMJ4KzIE6ULgOIHp+ACwBApwtNANuAkAsgufQBpgMsyYRuQWSRDFBZRvCbRK7oEPjv0evQIoyBAMyBrrhdBPqpVYBQvQPCJcadst1TAsvgHPxNq0CqogQBQxAQaji8R+utWH/+xBkL48wmgtNATo4sAnAelQAaQHCdC02AWjhAC2C55AHiAwgkCGz9qVm3HARk8njeblP/1aQkpdACQBPA4eeT9RRBMKBdeB7zr0lG8Sa9o3Av5DWKqiDAIHKgSsQ+JN1O71C9BDhMf/7EGQzjzCjC0yBOjiwDGB55ABvAQKYLTIDbiKALYHp+ACkBCORbBk7wI0dqgs8lr2esIR1OAxUnEhVcokHhA/OsCfnKzAKImKUCvjv/9FitgAAI4TCD2d2UFyKlDkHSMIbNP6ehJHB//sQZDUPcJcLTQE6OLgMgHn0AG8BAqQtMg085IAegen4AawEMAvGav6h3wwOBVy1ncn1qlLQFYgYAOa6kvuQEhHa4Z8f1f+kVVkCAZgFWL4WnRvVFqC8qXgYPjlWw+KOWb0DfjTX/WH/+xBkOI8wnwtNARo4sAvgufQF6BECWC00A2yiwCaB6ZAAvAQNAHQQd6czRZiK1n1C8Q9YVxrOMAjRLL1Anj9f/ocMZCgBuI9RQCXoPvoXKwyvikHbPyjfBdPFwfhf/VIqStkwFUY8Tf/7EGQ8D3CeC00BGjiwDCC59AHjAwJwLTIF6OLAIQHpuAG8BOlNRcBAu/PeCcekvxoF2W0cveUtX9Q84QGAjFgMsaj142LsGFiaSBimsqNYCrtifB6v6xVCQIBAY2FHiK+pjNqq+wUS//sQZEAPcKwLTINYKSAMwLnkBeIRAiQtNANsQsAmgeeQGBhEzgARtbWMpJoXkaP4B3frCEgDAIAAAACFdFfGcn1kYUHW4T+QgHUBgDKdvJ9f9UhhQEALT8RKdwt6FU00ADhaUfQO4lP/+xBkQ48wpwtMgTqIoApAelQAKwECXC00DTBEgCsB59ABvATUrFAq0jx/E69HqCFkCAAAAAAAwGeTaOZrKnoHxKuYLjyEzENIKVfEeBatHr0iKNCQCghonRWI99bfwAQWmfULuAHTZP/7EGRHDzCoC0wDeBEgDmB6bgAvAQIYLTQDaUIALIHnkBC8BNSuaAsnk838o6tHrmVqVCZAAAAC4lyRA15PdVIrKDusMycjjOfYvx53+rk8J/6ghJBQiAC4BEuD0b66VWXAQQxz1hnH//sQZEkPMKYLTAE6ELAOAHpuAC8BQpQtMA0wRIAuAeeQAbwElmdOr62XD+B69m6rQEtLsAAAAAAEDlQTWh8Hfx2ERUVIYWCR2oojgIWyLyTXpCVkFgMNC3amx8QsIGYHkOralALUTHv/+xBkSYMwtgtMqLqAKA+gen4F5hECZC03A2hC4DAB6bgAvATk30+sISXYAkAAAAIW4r3Jwt6N/F0oepoR2WoT+FA3+SYN4jq0hCyEBAAFjMUh2xtFVtQRiJwdIC/FOQoGpgnjPp31Bv/7EGRIg3CtC0wBOhCwDiB6fgBvAUJgLTSl6UJgIAHp+AGwBKSBsCoGMFULhwXvrwt3I6S/A0M4nDBbHwPw48444A4FZMXitCoi2B0QrAXDfqy6B+tQh4pr/rEUEEAG4pCA3EZdRlUT//sQZEsDMI4LTIE6UJAOwHpuAC8BAlQtNKNoouAuAyo4BogMsWMUHI5znzluuBlWgC+LaR1/xwBcA454h2XfwAQhYOCq0Dgn7pD1DHUSvGurRuqBxkJCAAAAACoISTh9uOFWDCpiXAH/+xBkTY8wkQtMgTookAygucQBowMB1Cs0DKREoCcDKZAFiAyUpyX1sM+U1aAhYiJiofzy2UrfgAKqQEIkIScdW0ygk5mE/j/0esIWAkIAAAAAIScKZ/lmi+T6Kg/pey2YaElMSPIawv/7EGRTgzCMC0yBGiiQCkDKdAFiA4JoKzUDaKKgJoHpkACkBEmiIFD3qP01kVmgAOWakTGIgfCGEcFBLhqBPx7VhCxEBAAAAABwLxBH1FZSUFJGAaVbi2ZUrCgn75JX+iEJEODgASD5//sQZFkPcKoLTSkaOJgNILp+AEYHAgwtNgyk5KAjgan4AKwEg6s5Wt3AAnGQVEZ4JNvNZicApeEvlNQQsxIQAAAAAbikIDPQTq9CrGKBj75z5zOqvzFcG+P6hFJLQGK18H6RWYAAIQv/+xBkXQNwogtNKNo4mA5Ayn4ALQEB2C0yAOjgoCCBqfgAnAQHBWsD3P3gTCwDZtQk8gEtMyAAAAAAHIUCVMqKQrsGEkMwgKO3KQZ3aoe/m2sIWAjkVD+bglWRWUAANONAQiNhJR1ciP/7EGRiCzCpC03DKSkoDqDKfgFiAwIUKzcEZWIgLQGp+ACkBIhAlSoW8dCVhpAAAAAADdV0NcVoF39OoD1MCMy9ltkAjMqoevnNQOkA1ieKQtsdkVGgAKuAccYDQYctoIAjThrx/UEp//sQZGQLcJcLTSk6OJgOoMqOAWIDAhgtNKNo4uAeAunQAKwGMSAQAAAAEg+anntL1SUzFUz1JSWAvGDS1hme8gee0BKyEyBUJDeHKqFZYAC2UQVFUg/sGnRGQCR30K89WEHMwAAAAAD/+xBkaQNwowrNQRk4mA2gun4BYwMCIC0yAOmgoCCC6bgFlAwFqhx29Ke/knBE5x8s997Ooq3i1CHiOsJaQmMmBlPctsNZxAVzAexPpGXgP+WgC+MCGmZAAAAAACoOBSplQCoKjRJmAv/7EGRtA3CkCs1A2jiYDkC6XgHiAwI0LTajaaJgIYLpeAaIDCJm5MwlnbHln6gl5meZGi9naBlhWYAABpY0KHh/EC9sx1gnEwZ5YIWZkAAAAAAKbiLjfcjPv6fA9DAbWt5P6jikbCYB//sQZHCDcJsLTkDZOJgOgLp+ACkBAkArOQyZpGAhAun4AJwE+ersTxSTzuOq38ADywscwG1jFvUeZPlqAniOsIWIkAkAAAAKAqEx9QT1SK5JQGkOAGTlVnklViz0CHygQ0PPIqTgLoD/+xBkdANwpQhNwTlIiA1Aun4AKQECLC02ouii4CIC6jgAtARaoVlAAD8oAjJAvPA1ncyvTF6gbLhKzUgAAAAABcxFBW8ofv4j7CC+42me+9bgxavFwR8tq0hLU6xrgasR89XfgAcyu//7EGR4D3CCCsyDLCkoDgC6fgFDAwHwITQE5aJgJQLp+BecRBAdhB3yjgTsQl52wnz3pCBoECJAAAACYJQjUbqJFZUqVjRJ0IRKcMZK5XWqAniOsKegeYuE7pUg0gwgLhrCBe40qeHE//sQZH6D8JwKzcA5OEgOYLpuAC8BAiwhNKNo4uAYAunABpgMoF+MCnoDAJAAAACFuGvPT66KZgS5L1VB9mET6AoAlNRtlwlZZoG8ro7qlZFZYACv8AMMEHjkN7sKk0oXb73CK7qg2cn/+xBkg4dwlAtOKNgouA6gun4A5QMCMCs1BGTi4COC6bgXlEQ7DAAAAA/RY9YG8epAOJI6X0MusYSBaZaleokUaQwVkM1YuW8p53q4KEY4D54It0tAWvItd9SbuMyLugAAAAAAAAAAAP/7EGSHg3CdCM5A2Si4DgC6fgGmAwJgLTSjaOLgIgHp+AC8BcieyBiQrHnDWoW7hqr/3d/u8AAAACwJAaDUv6l0SI6K7ooPAAAAAAAAAIaqTEFNRTMuOTmqqqqqqqqqqqqqqqqqqqqq//sQZIqDcJ4ITasvOSgNwHpuACMBAmAtOQTgouAeAep4AKwEqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqr/+xBkjoNwgArMgNoouA3Aep4ALwECKCM7AOTgoCEB6bgAvAWqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/7EGSUgAC0CE3FYEAIEsB6fqeIAQTIPzQZoQAAZoLr+x4gAKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sQZIGP8KgGVHckAAoJQAqe4AABAAABpAAAACAAADSAAAAEqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqo=', + G5: 'data:audio/mpeg;base64,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', + G6: 'data:audio/mpeg;base64,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qqqqqqqqqqqqqoAAAACg8AD/+xBE7w+wUQrU8KAQaA7Bae8gBw0ASCtSAoBBoBwFp5CAHDQAG4QaqfAAAADQAAAABOCx6AAAABwGcD///1gHAAJwD2pMQU1FMy45OaqqqpAAAACAAAYAcAO4j///V//////6+AAAMP/7EET1gzB2C0/4oBBoD2Fp7yAHGwEMLVPBAKGgJgWqeFAobAAAAOAGcOP////////f/2L8AAAAPABuK8AAAAOAA0YBTUxBTUUzLjk5VVVVVVVVVVVVVZAAAACgAAcAAAbgP//+vAAA//sQRPUDMFIK1nBAKGgQIWnPFAcbASwrQ8EBQSAphaf4YBw0DAAAADgDcBP/////////9fgAAABwAGcN4AAAAcADdoBpTEFNRTMuOTlVVVVVVVVVVZAAAACQAAYAcAM4X///q///////+xBE+YEwmArQeOA4aA6haf8YBw0BhC034QDhoCWFanhQHGz9f+AAABoAAAABtnMD/AAAADwAS+4J+AAAADwAS9owUJ1MQU1FMy45OVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EETzh3CSCtL4wDhoC2FqnhgHDQDELVHDAKGgHYWqeFAcbFVVVVVVVVVVVVVVVQAAAA8AAAAA/qWAAAAAeAAAAH/WlUxBTUUzLjk5VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQRO0H8FEK1fBAEGgMAWqeFAcbAKwrUcEAoaALBWpAUBw0VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBE84HwdwtP+KAoaAtBWp4YCg0BwC074oChoA2FakBgHDRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EETxhbBgCs7wQDhoC0FqnhQHDQFMLT/igEGgF4WqeFAcNFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQRPoDMKILTnjgEGgUAWmdFAoNAPArV8EAQaAkhap4YBw0VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBE9oMwdAtQeEAQaBKhaa0IBw0A+CtTwoBBoCOFanhgKDRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EET3gzCjC074oChoC+FanhgHGwEgLVPBgGGgKgWqODAkNFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQROgP8FEATvAAAAgKYAqeAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=', + G7: 'data:audio/mpeg;base64,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', + Gb1: 'data:audio/mpeg;base64,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', + Gb2: 'data:audio/mpeg;base64,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qomMCYKB+D15iY799UwgFqb/+xBEjA/whQjUASYRqg+hGlAlBiMCCCNQBITGKD+D6UCQmMUmMDogD7D2wpMPJjFGWXwKdCU6JKnB5D0P1PVI3bSRmwCkRCZk8h6H72qRu2pp+ANDwUMrHdxzVpOEBlLT8AaNmIs7Hf/7EESNj/CNCdOB6EkqEKE6QDwpM0IQJ04EtSAgQoTpAMCkxdxxv7syRi29NqgXIKU01+gxxWsArkr/mm1QnILJEq7lpDvWpXJX/E60OF2w49OgxA3qEyz76TrQ4XbDj1oMYRJFFJXd//sQRI2P8IUJ1AEiCpoQYTpAJCUxQfglUASMpmA+hKlAkxyEVAcCZYqIuDzGX+6ljmaeROBMseIuPMYXQbFEb5ItyzXm5omJoCmyiEGETFEDtwvKSZAiWQ1L2YYlU/TSvAkKxwi15AT/+xBEjw/whQnTgO9ICg/hOkAd6QFCGC9OB5hk6D+F6QDEjGXDcYZuVe3WPgAQGBAzvMEo36jcq9u1020ZKhQy9OAhxfcS40iimx6wkqFHPTgIcXaGxpHTDTwlEYxMX2YeV+yqPEXUQ//7EESQD/B+CdQBITGIDuDqUCSmMwHoH1AGBMZoO4PpQJCYzU8CoLjExfZh53qRPlY/So4wOCQbcTlFCfkQ0PrhlCybWLVJ0UvwYQLEbUwLbgDqBCD3f4mh/gJVbQcdVA7cJ3BZ+rg3//sQRJOP8HcG1IGGMJgPoPpQMSYhQfwfUAYMRmg+g+kAwJjFH+CS4vWRbeENP5FHm7xm7W6YKYgVHBg4vtsZFt4Vp/IpHzyZzLMyUxJUO7smKypfgXxITyTrYm4ZN9GlBQnDBl7MOWj/+xBElo/wdgfUASMRmg4g6lAkIzEB1CdQBgTGYDYDqUDAmMyRlq3/OkHcpAJn5Ea79i1MTZEqphgR8o/Suq9w8zWg4FBUy+WI+tWSAMSQQCAhT8GsGna7gBRQBGAhXEWWTEFNRTMuOf/7EEScD/B/CdQB5RmoDwD6UDAmM0H0J1AGDEZoO4PpQIMMTTlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQRJ8P8HwJ04GJGJgOYPpAJGIzAegnUAYkwiA9A+kAxJhFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBkoo/wagdUgUYYmg5hOiAV4wMCIC9MBhhk4DMDqIDEiE1VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGSngACsC9KFPEAKFGF58KeYAQR8P0oY8wAAXgTogx4gAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQRJaP8GQCTKcMIAgJgEmk4YABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=', + Gb3: 'data:audio/mpeg;base64,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', + Gb4: 'data:audio/mpeg;base64,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Mo47z+ANRMUBHYNAP/SV2ED/+xBk5INwnApNK0YpKA4gam4EzwFB9CEyBGiioCCBqbgBvAXypAr49q3UVDgQQDsBiCvwS156taJkUACbnhweGKRHvlnXnDnwfeO6A1MkAAAAAAAYWo4xokWRbmWhSF9RY2XYqDqbtv/7EGTpgTDnDM1jLDkoEACqrhgmIQNwMzWNMOSgOoLqeBMEHEj5tvpFWw9CFo7ClbDXYJZWzqN3GOq/JDfAUNuwi8jnKLgr6gCgAAAADjAq3nhO7pkDbQTZAQxPyBk4OBKRyscqCHIG//sQZOADcKQKTcGZOJgMoKrOAEYBAkwfNwThIiAegap4ExgFywx8d17f1baZIUFgB4Aww7FdlCriaKAAQrKgsIuDwiVdQqr5E89pyjpgAAAAAAARsIcZ6lJkVpiosFekkJXhtyA1wjz/+xBk5ANwmwrNQ0Y5KA0Aap4EYgFCeCsyrSTkoB2BqbgEpAW+6gLTZCAwuxeMNNhtkAAFyctuoWWJ4GOyXFeRl0gSePM/X6M8LeaDAAAAAjWATpiHKvn5eBVVQF436SoSQEckS8IkTf/7EGToATC8DU2jDzkYEEC6fgTBBwMQKzeMpOSgLoGrOAGYBM8wSKMViDgmgQWgVnkh9yc+379CEtvAGFQuPiAOwMpH6P+3Vf+AApScowQou46SVLYIvFLgqLCyh3AAAAAAAADLGVVM//sQZOQDcJ4ITsGZUJgNIKp+AMYDAkQrOQwk5KAfAip4AKwEQU1FMy45OVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk6IEwzApMy0w5KBAAeo4N5hEC1Cs5JeTioDGCJlA3mERVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGTkA3CiCs1BOTioDICKvgBDAQJwKTcGZaJgHAKqkAMUFlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZOgBMKgKUCMMOSgPgKp+BKwDA0wrNYy9RKAxAiq4EIgEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk5ANwmArOwThoiA0Aao4EIgECSCE3BeTioBqBqzgBlARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGTpgTDWCk3jD1EoEMCKbgWDAQRAKS8NPSSoQwHnEJSkBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZNwP8KAGTCnvSJoKQAq+AAABQAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=', + Gb5: 'data:audio/mpeg;base64,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6ZrCLj9fPbV8E3wAy/ALABv/+xBk5YNwhApT8C8RKAsgyp4ABRMCMCk0grykoB0DKjgAsIT4YIIwKU9/jP3PuNDgAAAAAQCLL5jib86EhEixsz+FhoB32AeAAAACv8JOAjBn+D8G/G+HAAQG/aS9nF0lIyi6k138Af/7EGTtAzC2ClPxWFEoD8DKrgQYAwKgKU/GAeBgNAMqOBA8DD+Adfrf6ahVK1QC4A6b7vAAAAAdfKZ0IBLDdjRba3X5JQAB/+AeAAAAGJYIEAptfwNwaBJgcAAHCUn/xdOBn4AUTH0N//sQZOqDMMAK1HF4USgQgUp+SAJTApQrT8eNSiA1hSo40BVMfAv//////////6P9igAPe6EhhH+EsAtqsMAAAAAv3E5F0OKpvwkABucAaAAAAFwg/0bbroFcooAzfqTxcNvb8KABl4D/+xBk5wNwngpS8O85KBDBSo4F4iUCYCs3w71EoCWDKrgQJAwUAT4KSj3V/d5t/fAAAAAhKAprMNjPPAkIM8f5c3zymsLwDCOAOf/DQAAAAR/RoqEAkBh8rDyzs8Q7uEQDwBwOAAAAAP/7EGTog3DMCtNxWHkoEIFKjgXiMwKIKU/DvUSgMAUqOQAJTBer4fLmswKgcVACRF9ODvUJttrEix6CuxFCqJ0woBfkgo/8kqg3d0LuqAAoAsAAAAACrLpNDbAaQvEEeH4izs2YrGL3//sQZOUDMJAKU3CvKSgN4UpuAaIlAYwpUIEA4HAmgyq4AoiMez1qAA/wAAAAAADg1UxBTUUzLjk5VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk7AMwtgrT8RhRKA+hSo4B4iUCZCtRxT1E4DmFKXgXiMxVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGTqA3C9ClNxeGkYEAFKngnlMQKgKU/EYWSgKIUquNAJTFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQZOiCcLMKU/EgeBgPoUquAeIlBAApMeeFamAgBSq4AYiEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xBk44MwiQpT8E8pmA2gyp4ALyEBlClOgTBEsCoDKjgAsIRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7EGTqgADmClN1PYAKEODKnqOAAQZ0Q0X5gQAAiISpuyAgAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQRMqP8AAAf4cAAAgJoBq+4AABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=', + Gb6: 'data:audio/mpeg;base64,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', + Gb7: 'data:audio/mpeg;base64,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', +}; diff --git a/dist/soundfont/acoustic_grand_piano-ogg.js b/dist/soundfont/acoustic_grand_piano-ogg.js new file mode 100644 index 0000000000000000000000000000000000000000..36283c5cb05e49cbfdc7fce9c42a0b7ff0191164 --- /dev/null +++ b/dist/soundfont/acoustic_grand_piano-ogg.js @@ -0,0 +1,93 @@ +if (typeof MIDI === 'undefined') var MIDI = {}; +if (typeof MIDI.Soundfont === 'undefined') MIDI.Soundfont = {}; +MIDI.Soundfont.acoustic_grand_piano = { + A0: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAABKoxd0AAAAAMotGGgBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAASqMXdAEAAACj3OE3Dz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + A1: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAAC6vRt0AAAAAPFlGAMBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAur0bdAEAAABkFfZADz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + A2: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAAAUYiF0AAAAAHnjQdwBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAFGIhdAEAAABbJlISDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + A3: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAABi5SF0AAAAAF6zS6gBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAYuUhdAEAAADe3neKDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + A4: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAADodSR0AAAAAB2p0WsBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAA6HUkdAEAAADZH+2WDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + A5: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAACK64NzAAAAAByOn+cBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAiuuDcwEAAAClEUEFDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + A6: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAAAn2IpzAAAAAM6qlQ8BHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAJ9iKcwEAAACumGJBDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + A7: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAAD7641zAAAAAJ/A07UBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAA++uNcwEAAACpwwukDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHGGHPOOSA0ZBUAAAgAIAAAAEBxFEdxHMmRJMmyLM3yLM8SNVMzNVNzNVdzRVd1Tdd0Vdd1Tdd0TVd0Vdd1XVd1Vdd1Xdd1Xdc0Xdd1XdN1Xdd1Xdd1Xdd1XRcIDVkFAEgAAOg4juM4juM4juM4jiQBoSGrAAAZAAABACiK4jiO4ziSJEmWpVma5VmiJmqiqIqu6QKhIasAAEAAAAEAAAAAACiWoimapGmaplmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmkaEBqyCgCQAABQcRzHcRzHkRzJkRxHAkJDVgEAMgAAAgBQDEdxHEeSLMmSNMuyNE3zRFF0TdU0XdMEQkNWAQCAAAACAAAAAABQLEmTNE3TNEmTNEmTNE3TNEfTNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TLMuyLMuyLCA0ZCUAEAUAACmrrfZgHIEok1ZzaBBlEnPRFUPKUewpUggpiLlFTCEFrbaKOcWgxdo5hpCT1kPolGIQAqEhKwSA0AwAgyMBkqYBkqYBAAAAAAAAgOR5gCeKgOaJAAAAAAAAACB5HqCJHuCJIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkucBnikCnigCAAAAAAAAgGaKgCiagGiaAAAAAAAAAKCJIuCZIiCaJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkucBnigCnmgCAAAAAAAAgCaKgGiagCeaAAAAAAAAAKCJJiCaJiCaIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAHAIAAC6HQkBUBQJwAgMFxLAsAABxJ0jQAAHAkSdMAAMDSNFEEAABN00QRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAMCAAwBAgAlloNCQlQBAFACAQXE0DTiOpgFH0jRgaZ4H8DyAKAJMEaCqAEAAAECBAwBAgA2aEosDFBqyEgCIAgAwOIplaZookiRN8zRRJEma5nmiSNM8z/NME57neaYJURRF04QoiqJpwjRNU1WBaaqqAACAAgcAgAAbNCUWByg0ZCUAEBIAYHAcy/I8UfQ8UTRNVWVZmuZ5oiiKpqmqrsuSNM3zRFEUTVNVXZemaZrniaIomqaqui40zfNE0TRVVVVdF54niqZpmqrquq4LzxNF0zRNVXVd14UoiqJpmqaquq4sA1E0TdNUVdeVZSCKpqmqrivLsgxE0TRV1XVdWZaBaaqqqrquLNs2QFVV1XVl2bYBquq6sizLtg1QVdeVZVm2bYDrurIs27ZtA3BdWbZt2xYAAHDgAAAQYASdZFRZhI0mXHgACg1ZEQBEAQAAxjClmFKGKQkhhdAoJiGkEDIpJaWUSgUhlZJKqSCkklIpGaWUUkspg5BKaaVkEFIpqZQCAMAOHADADiyEQkNWAgB5AACEMQgxxphzEiGlGHPOOYmQUow555xkjDHnnHNOSskYY845J6V0zjnnnJNSOuecc85JKZ1zzjkIpZRSOucchFJKKSGE0EEppZQOOgedAACgAgcAgAAbRTYnGAkqNGQlAJAKAGBwHMvSNE0TRdPUJEnTPM/zTFE1NUnSNM/zPNFUVZ7neaIoiqapqjzP80RRFE1TVbmuKIqmaaqq65JlURRF01RV14Vpmqaquq4rwzRNU1Vd13Vh26qqqq4sy7Bt1VRV15Vl4LquK8uyDWTXdWVZtgUAgCc4AAAV2LA6wknRWGChISsBgAwAAMIYgxRCCCmEEFIIIaSUQkgAAMCAAwBAgAlloNCQlQBAFAAAYIylGGttGKNYa62JI1prrbWWVmuttdYaaae11tpqrLXWWmuspdZaa6211lprrbXWWmstAEB3wgFA98EGTYnFAQoNWQkApAIAAMYo5RyEklKqEGLMOSklpVQhxJhzUlJrrWaMOQgppZZa0JhjEFJqrbWaUuekpNZiajWlzklJrcXYaq6llJJaay3V2EspoaXWYq251lhKSi3FVFuONZVWWosxxppzaym1FFuttQbXUokpxgIAMBscACASbFgd4aRoLLDQkJUAQEgAAGKMUow55xyEEEIolVKKMecchBBCCKVSSjHmnHMQQgihZIwx55yDEEIIIZRSMsaccxBCCCGEUkrnnHMOQgghhFBK6ZxzzkEIIYQQUkmdc845CCGEEEIpJaXOOQchhBBCSCWlFEIIIYQQQggllZRCCCGEEEIIJaWSUgghhBBCCCGkklJKKYQQQgghhJJSSimFUkoIIYSQSkoppRBCCCGEEFJKKaVUSgghhBBCSSmllFIKIYQQQigAAODAAQAgwAg6yaiyCBtNuPAAFBqyEgCIAgBAiHPOSauJUIw5aT1TDDpptXfKGcQgxUw5pBik2jnJmHISQ2ohZE5aiTmlEkqMPdhcYw0CAAAQBAAEmAACAwQFoxAECGMAAIIQmSESCqtggUEZNDjMA4AHiAiJACAxQdHqwgXoYgAX6MJdDghBEARBEBYNQAES4MAJbvCEN3iCGziBjqKkDgQAAAAAwAIAPgAAEAogIqKZq7C4wMjQ2ODo8PgAEQAAAAAAUgD4AABAQoCIiGauwuICI0Njg6PD4wMkAAAQQAAAAAAABBCAgIAAAAAAAEAAAACAgE9nZ1MAAIDdAAAAAAAA++uNcwIAAAAh+FnKHkA5tp6WlIuMgXxxbmViU1JFQzyw07Snx6XAyL66vLTYb8xmbP3ZZjcLJrDAbW/dd+uBA727IiKiGOnVVdq2aZq2BYgks2JFJs+d33uTxf4/z9P/JHPvvTf160PsvQDE0p9skFz7MVnnCgM4HAEAIhBcKqCZB9V3+1O/yopISzKJuJ5pCNqaVnmMz9MmzVkUkCGAQqSZPgC62E3lov2Izw0U2Tec7HwlRCu/OjadCWsy9OebMGVTAZtHNuC7lrLrY9wDAGBCwAAAgKABAABk15+wm2uoGqdxqCgAN63sdm4VGYIi+92naqfI+uzdK+tTfxyqIhNJ20wraJJNUtA0iTRN0kxDeaby5JHmQ1UavVbBJUnFe9jZrHNi88NDSPPSFdkGLqzHEiCVSjuFjQSPkpJnUFCpRrOlwAAQWZF96zPyXaIig2c63tPMwEDnFL7YbcPrx4taBPLbtGgfx9Q0dod01n7DVQr4XbQ42vk3dMxGDvCNOKUxNACDzBawQQAwBAwAAEDC2MY5miHQIQAAnqNRIKNXjSgRGWnlxdsfXDjL0WKMC5pRoR7NVEo8irRVuKuYSnmmUkqrygtJ0jlyR7k1fZU4j/ZWnsh3UkpJGqXkqw1MAag8m3//K40MEhYa5AF6ZqsBgQoa4DcBvtgdlof2BJBa0ZQ24GKHrUFit9VP7RGMWGCUBaia0d6m0RvjDiAA0wIGSIAEDQAAAEAS+U66vX/8lZD6ALC45Pg7R0SI6OmkW34tlibpKFICeRbAA5J2XFGPyQ4FfkMIRFTqO/DXN/5QPKn3LXJ73vNjeTYUUaUNUl8/SaWAKQDGFz5cShUsQUNW3PjPTrgYoCGhYWYCvthd5qv2CCBWijIWAnbVZBK7Y79pjwBip8956XDxhmSP9qaZOH2ALUCTpgUMAAAAGgAAAICW8BW5zXjtwXtdSQLEMl7Mr64WWYyyujLzxmIkouoXIVpALSqvf+tYc5QfezMArSeK5nInoUJVPdIObaVC8pUi5VcBz4eqpqQA4C3/90XI0GiwYDFsGkb3HaNO8IY2AL7Ync/Xt7wE2Ma6MOHRuFknid1tOr9lUwOZxWiWZdHjphyWVrOU1I0tYMZoAQAAAIAAAAAAkHwnKegKT+UBAPJX/alqxvuPPMzVffcWxgmotFB+UoFfX0ynn9+bp+H1M1m5dAvoTmjvT1B+kBH7S4SKj1BgAOCPf78kDVgMlx5JYR8QDA0anDKfCxfe2H2cNu0xMANm60JZ5bgZTGL3vO7akzCCkvO9FbOseNysYN1G3DSABkCwaAIAAAAAAAAAgK8qX99R2i/VAkBYjfU1ISPdV1dmnp1AEmkBLb9VIFEJLekh4plqV4CqqnZXgbjSqFTrFwVVjwDAeEmGizShWqWUqCCVXwBA/etRkXGxLg0Iaai4aOdsZt7YfZ5W7SGQALUxB8pKx30MHHZP+67tAUcA2/sL+ql+L47o1CQ2NACAlQUAAAAAAAAAAIBnRFHfIQKs+dVjb5QHlUV3TwiBPAryKAJ8I9JW6SrNlu7htW24i+RBHo1CiOQJAB46Bg+t6+ngQlKoyiPAAkAaT6DCJeNyYcFFFWP9AN7YfZ7Wjy4CtPa7EFmxSezejlU7CSzAV+qCbtUhZvRJ19UYWwAgnQkAAAAAAAAAALSC7yIqXwAAVS2pChFV+SMpUlQVviW4j2eVJ76VQEp4UJJKpV8x5zWWKkUbqjhNgKjSBnzciGs3CuoByTeAAcDVwxsqCFyoFQYmD0q+2P3Yx3d8K1BLGmjpik1i971P2gmAAOa0EFWx0WfE7QVoAABMmwAAAAAAAAAAIC0kv+8bgC8hWlWV+q7vAEIqVfhGVIlHS0kLXhFEecAjKN3RVq6Fvn4Vi4jIF7UNa5iQT45WtY0CANX4fiJAc2FgFr7Y/bV17VaQAtP+B8pCFT8kdr/WWjsZLEA2eKA9VbzosilFP8AWAEDaBAAAAAAAAAAA6ju074L5nxAexNeIAIoWCICAqrS1d578d48pdKJDjJ2HxIWq0ooChq/QgHiH4pFHVAAANBc0EhZUHFcA3tj92YdPvAjA+i5AdSeJ3a+11k4HBLBFC9EVL7pYXHu6sQUAkwQBAAAAAAAAAIA2lbxnBtqFKl+AyuWxlJSKQguuc4jJcYf1joC4QjSijrCWbFN+PREVRfS2sg2A6BW4aDBgMQC+2P1jK9oNgAKs7wBUnyGx+2ttT34rQPsOQPGiJxaLlY6hAQAADAIAAAAAAAAAAHyrasDqrB3UmwISkq9AiC8AkK8KRFsRXjrKqGaxjsm7rtoQBWKJSp7PqAqgASCtRwFZBr7Y/Wsrb7gKwHouQPUZEru/l6KdChaA8bsQUfEhcVUDyAEAJAAAAAAAAAAAYD9/PHkRoOIbQF56dCL/EJCvu5WeS4ygXgCpdiEpj+IZBdBzLAYA3tj9t5c3JAFoawGK3yx2/9qKdgNIAdbvABQ/JCatpxMaAAASBgAAAAAAAADQNbsuuBFVvgnoWDedRQVtCqRwwehFK1EKPJQvNvYIAGg8gQtRAd7Y/beXNyQBaG0Bqnto7P7byxveCjDeA1B9korVDmgAAAgAAAAAAAAAAMCPBam9LFTQ15CAOlwJaAgBCMvA5iYAtB8BGt7Y/beXNwQBaGUBqm4Wu39t5Q0vAVjvhYiqnyRxgNsNOQCAAAAAAAAAAAAAjHEvWFB8AYQl1qqGypUBEHjCFSzADyS+2P1rK08wASi5ANVpFrt/beUNVwFoz4WIqrdxpmGd2AIAAAAAAAAAAAAAwEKMhxq4BgIMgIJWIAgAkAH+Z/1ry28QASi+ANWb9Fn/WPMTrwLQngsRVT/NrJmZOYOtoIZnRkNwQNqwQdqkAQAAtjXm2+74nm8YAFiDXZPxxbMJpmENhrFjsUP2S60FFmbMfg3LYgwAC0DtmLEL1s5ia7AsBowFlgljChbAmQzHjIenpCZ2Rg3MAWoAoJYFOoC45FQAAB0A6C4AwAI6AAAMAMABDAAAOuCABcAAHcACAKADGgQsGWgIggWXBNUAKt5X/beXN5ACFB+A6nbyqn+s5QlXBWjPgciq38PMzMyMjq3gzMyM4MyMbtq2bZo0AAAz+2WWiZllDADKYrRHe037Ww1YrF0MtbN258vM2PYwMwvGMON7MAOrDcsAMBiYxZI2LC12AIAdA2R2MtEes7MAmO5raTXave8Ns+0OAG44eqeYANjXMpcADgAA7AEAB2A6AIAOQAcWDHQAHIABDgYAAAsHACwDoANgAAA4DADgAywAgA4AgAHAAQAAFsAA0AEAAwAyKgsJGQksBI0LFUsCKhX+Z/1ry29gASi2AMWhz/rHmp9wCMC4FyKqfoZZMzNzRnArKJ4RHA1BjTEJgiRJ2yQAALO7ljHssACww2AM8nM+AcaOHYtZa1ks1rZ2YWGMYX0DAxaABbOsYcbMgrGWYSzAwgBgB3aMXQuDzWAQTx0DS1EAfAAAUsNwdIADAHD9KgA6ADRw6AAAQAcAFjAAAIAOsDjoAAAAFnQLADoAGAADDmAAAAeAJWOAZCCgMlgwCCAEBBf+Z/1ry29gASi2AMWhz/rHmt9wCEC7FyKq7mFmZjTmDO4EZ0ZQYzQEh4RJ2yZNAwAA7DKzrBkLADAsjFlfWuxghpkBg11rGHanZQBgBjsAYAAAwO4wMIsvYBcAdgwLOAAG5sCyrMHsAgADDqhuAQAGy9oEdAAAsACgAwCAxQEArAMAALAcGAAcWAAAWBwAsADoAB2wAA4AA4CAjIHgwmWBiqqCLINEBd5X/beXN6ACpAxAscmr/rGWJ2wKMPZAZNXvZmZmZs7M3cyMoIaGhsZoaOigTdK0TQMAYL7YmbXDMAuAWQvfy/ie7xkLwMCyduEAWYAB1syChR0LYMHA2tHtsOyMNWAHMENZZ1dhzOiW/m0sgD2M6TEs58TOxCwA+rAAuGHgdGAAgAMAgOVFNBMAcDg4AAB9AOgAAA7AAgDjGCyAAQAMmAMwQAcAhg6ggwGOAQADAOg6AAcMAB0GAB0ArAwqXBc0GUTAgoZsgQQeaP1rzx9gASi2AMWhz/rHmp+wCEA7FyKoPs3MzMzMYCuoMYIzGiM4tmGYNGkCAADAMLPMsgsAsADG8A0wg4VZWGPtWNMGLADYBYAFMAAYgMXaAQMYwIIBbBkGA4BhYHfb7VnMLrMsgDUHgCsLDgAy2QPoAEAHWIADADAAFgcACwCADgwAAwAdBgAOWAAwAOAAwMEAgAPAAQQWWDI0BgyQVViwkAHeV/23lzewAhQZgOJCXvWPtTxhKECuAag+zczMzMxo3AnOzMxojIaGBk3btE2aAACAHQbLAADsgJ1Zs8M3CxaMMQM7mAFaYGCBWYM1gAEAdmBgzWLM7iwGYAGABZhlFgNYZsbuV3ba7QFjZwZwC8PBgMI4C2AAALTDuG6gGzgAAAPQAXAA7MIADCywgM4CDAAA7BodAHAsADAYsACAcQCAAwPAAADoAIB1uEPv6CzgGABYyFBBJsm4QFBpoCHhIgHeV/23lzeoAhQGoNjkVf9YyxOGArQ1ANXPMDMzM2c07kZQY2ZmZmY0SJqkaZoAAGB216w1azEAYAyww7cvA+ywAxbMAMa0FwCYwRcAzAAAwGBgBmZ2GAuAtYAFZhZghgFMO0zM+fwwTWsHAQA1OGCFDAAAcGCAdgUJAB1ABx3AGQCDAAAAMIBZoI8BawA4AADgFjALAIAOwC4AAAN4wQBABwugA6wOHcgBjg7d6AcOAB3AAHQAACwADihkUDUSJNA0NFwyuDQuAN5X/beXN6gCFBag2ORV/1jLE5oCtDEA1WeYmZmZM4LP0ZiZGUGN0RDUTZp0NmkDALBrGYyxAAALZtmZMcMCgAEDdgZ2AcAACwAsAAAAdjA2AxYGAGCBsd3uGljoiwGmqU/DwLB9MAcc0wG6swYA0AEAKKozAAcA6AAcAOAwAAAAx8IAgGPBDguAWQDQYQDA4mAAwMIAFgDoAABw7AEAOhYc4AAW6NxZuAMABxgDDgAGC4GBMBBAqhAYsEjQIAjeV/23lzeoAhQGoJjkVf9YyxOKApQxANXbzMzMzIzg0ZiZ0RjBmRGkTZOmbdsAAJgZdoEBACwwg1nzjQGshYUxAIsFsAAMWGABAAaLARgLLAAACwDDshgWhumms6yW4KgpcCwc6AA7y0EHOADgYGXOAABw7gAOgIMXHAB0cIAD7ABgAAAsQAcAOGABALA4wAEAA8ByAGAAYADocHDooPcbAKCjOgAAOOjAggPIJBqQSBIECKQEVDJUBgveV/23lzeoAhQGoJjsVf/ayhuSAmQbgOoeZkZwNGZG8DkzM6MxMxqjYZKmTZIGAAAGhl0sAMAAw7K+FzAYYDGAYQ0YADAAAGAABmsBCwCGNSywALqdZVprCGvRu+PoAHp3+oQOADoAgFAdOQAA9A4OONABgO70jg/QAQBDBwBYOMCxAACwAEAHDAALABjgAMByANABgAUAALAHAKDDugP9AABcB6eDBYADABYwcACQUDFkLFxQMypQFyQwAE9nZ1MAAICVAQAAAAAA++uNcwMAAADkJbgVF7a0qsnJm8DRtajCtrW3uLq6urq6u7m63lf9t5c3qAIUBqBo8qp/rOUJSQFKG4DqHmZmRmNm5jkzozGjMRozNGDTNkkAAAAWCxgAAMBijFkDADAADFgLDADsAsAAAABgAQOABQDGYNYMAN3OzLYCYLeg6x3QDRYAHS8wAIAOADBINVGgowPgrrvjDgBYHHQAHV44ALAL6GABDMAeANgBAIZjAXAALAAAAAtABwAGoAMA6wAA0MH9sq53YAA6AAAAFgAcSBgILshIFQRULhLeV/23lzeoAhQGoGj2qn9t5Q1BAUoZgOptZkZwNDRmBJ8zIzgzgjOjQZqmadoEAACwLIy1AAAWALu+AGAXFrAANrAAYAEAAMDCGMAAsAD0xZDtELjFFXB9xwCHmtPpABzQYQCDZZXtHAYAQKcvDgCAA6PTAQAdAHCAXRwAwLHAAsCCAwCwsACgAwCABQ4A0AEWwMIBANABB/0XAAfL9Q7OAQMAABYdqDQQBhhQWVwsXHCx0ADeV/23lze4AhQWoFjZq/61lSeYApQcgOrTaIygIGZmBO9mZjRmZmY0QBumbcMAAABYFgAwAAMAgBkYAGAAAADAAsAsFswCzFqzZlvfy4K5BabjujE6QOiABQ4AME1l9dBwfXVc5wAAHAegG8ChQ8dhAQAdAAALrBsAAHRmAQADOgAwAAAdAMCADgAAwwEAYAEAoHccAGx318EBABgAewBYJGBcNCCyhiSADJ43/WvLb1AFaDIAxSRv+teW3yAKUHIAqruZmdHQmJl5juDMzMzMaOgmado0TQAGYGYYDAsAYACwYwHAAGABIACAgQWAAQBgFxgYgJkFWGAMXAcz2oFb3AEEqT57B0dftwcfwAAAjgMAGKLOTA4H4Dp33DkHdIOug851LMxhnTEYoAPAwIKFAcOAA8DBgDEADBYAAJgOwLCwBwaABRYOAAYAC1g+4Ba9Dw6udwA6oP8AgAMscFhwAEAHgLpgYCCQwGWpSECjIiwkAL43/WvPH3AFaDIAxULe9K8tf0AUoOQAVLuZERTU0JiZec7MjODMzGjohk0y0yRJAzBYGCwAAGDBWoABBhYsABgAAFgAAFgw0BnoABiaamqNM9C5/tLPzLmFw9jj2ANw6AA6DEwYDDp1ZAAAen/PuRcdgAW4M10/h1u4AGCBWTg6boEO08ctBhYsA1gAgB04YAEYHACwgBsAAACsDgAAoAOdAQDdgblfAEB3/uuHfgAWwABgHAA6ANwLCZoGLosKGY0AC6EiQQKLBd5X/beXN6gCFAagmPRV/+3lDaQAxQegOskIAtCYGcG70RgNQY2Z0ZihAZO2TQMAALAAGAAwBgAGAGCBBSyAwXVg2gvQpx/WsIZAPwCBpYMDA8BA6qlppuno3aHfwEEHsHTgxeGAG3CwAADLsDoGC3QAcNYAANABoAMABgDAAQAADABwP93wAwAMAAewAABwgMRCBi4aV4YAtyIDvjf9a88fcAVoMgDFQt70ry2/ARWg2AAUF2YoKKgxM/OcGY7GjMaMBkmbjrZtkwZgsbAAAAAYWAYAlQEAwADAAAwAGLAGLAAdi7Z82KG2W0N9utBB57XmtrvQ5xaAjg7QLR1MmEJ1RQ4mdHSgo0NHB2Y7B2McezCgO70DdNABVqd3M8BCA+hYALAAAI4BLAAdwMFABwCADhwMnAUO3E8HdDpY9wNwAIBFBwboQCJBloHFEEDNi3IGtYJsAMEgQLAAXif9aytvUAUoDEAxqZP+tZU3oAKkDUCx0ZgRxMzMPGdGYwRHY85MJE1WpmmbAJgFALCw1o4FAFgsMGD1YQEArAGDBQAAQDd0WBg4u2d266s9pnPY3q29PejddXMWFkGsWWAt4HAdADDJ2e9ZsO4AgLt+p9NZc3TUnDnodMP6dJYDYDiwcM6YAXAs+gAAwFoL6ACAwYEFAAZ0BgBwAIMBwMJ2OHQ4xXF+bqADUP3p4A7AwAEAC+AAACoZyA0MJBlY8krVUHNVFyoVaAzIGhIILCS+N/1rzx9wBWgyAMUkb/rXlj/AClBsAIqNhiAAjZmZ58yMoMbMzAxJkpFFwwYAGCwwFgAsAADAAAZ00PsNi7A2y4E+q7N0cNCPcoN+BoCO4+AMgMkwaNTqyTmAQwfX6Yd17jowFgf0AwwOdFjcQac7AP2gs4ABAOgAsDgABgAO6MCAAwADHAAAnMGxIACrA6ADeHyAdYJFl0MHgA4AOgBgAABcDa4G1IsEA0uYIJNZKi5UCBU0njf9a8tvcAUoMgDFJm/615bfoApQZACKFQhCEMDMPGcEZwRnZkYjkyRdNGnAAAvAAgAcGC0LdNt1uj184rrt4KgOxg0AcMA5AExgVu0TDQCAfh1Hp78A6Pjgut4B2A4dB+g6DAAGgA5gwQF0wAIAADgsAAwAOgAAOhaABXTAYTAsQMepwpgHFgAk19PXAjoAwAIdYDUYNCQGUCuouJFlGQsBDRYBLgkBXif9aytvUAUoDEAxqJP+tZU3qAIUBqBYgKAgoDEz85yZGfHMzAxtkyybtAHAMAAA4IAZAACwHICF4KoHSDxwwk91ACfBbU0/GF3/OB+gY4EODqAD0lRRZ6aBrnOgp3d3d7foBgfQ9Q8bYOkohnPoFLrg0KEDLABgYQFsBywA0AEAFgyAcTiAAQAwwAAAMBxQwCz6DHY720EBqHmwgiiUkWeBtdYc6zAAC2AAgA5jQeCCpnExEmFBrndpi04gk3ENWAB+J/23lzeoARQaoJjcSf/t5Q2qAIUBKBYgSAAzM8+ZmRnBEY8uqNsmWSRJAwYMADIAHQCADu4WnEVxkUNCrvfecY45gGLuHICOQwcdBgZgaJu6ZBjQO4D65bLo53TYAWfQ5a50Bgh0nQEMEMvoBejoAAAdcywAAAewAAAAHQDAwOqwAAAWLAY64DIAw9bQo2B6AzHWQbEVw0QdBiQBsGDhAMhgoAUYUHGR8tVKmppgaRAgZBpoAH4n/beXN6gBFBqgmNxJ/+3lDaoAhQEoFiAoCEBwRvA5MzMzM2eGpkmWTRIAwFoAAOAAAAfOwaOnMIsEDmzvOVOCDtPZjgV3wAAY5CxX3OQAAD16OVWuoLuhoKM7B/Rus7oDwOoBpw/Q6bDAQrcAADoG4LAAADoHAJiBAwAdAAwAdABguwUAGAAMjN7NLGoAcLVhcT3YYdMEw1IwgaFgwQGAAQBJgIXAZYErLmzkgZZIoHKRoAF+J/23lzeoAhQGoBjcSf/t5Q2qAIUBKCYQBICZmefMaMzMzOy6TtNmtkkYAGABAIwOB9AHIMctaoeasRxqI8UUq/fitqecbvQeABx0FPoBCDAHdVe3MSccDlx16nbLmYDZA8hSfZRZ3ercEDgAHX3AkeFGBwALB0AHAMAAsOAAwIE1AIADAMABGDpQQMFCEFgABqboW8+gUBQWuWrRAYBgWeiAZQEANAJUEgMMFtRxRTIMcKlILABeJ/1rK09QBSgMQDGok/61lSeoAhQGoJgAgoDGzPA5MzMjODNjnabNskkDIABwgGXhAA4AwGGwZoCrOn1hn4GuWNNlBQCL41YuYYBsMmsvFiQA0LvUTVGUrqPo4iwQzLmFi1UAfXCdEcA5wAAAOAADAAALONABcLAAxwDYDgAAS+cAABYHABgCO9SiFqRZAEANeVyBDCYILAIq4ACQQCaQMUigsarB7GiyIJNBhSWBAQAAAAAAAAAAXif9aytvUAUoDEAxqJP+tZU3qAIUBqCYQFBQEBqCM/OcEc+MhoZ+dA2dNM2yaRsAWAMAADoMAAAcABhwndV7AFuBHEoHm+o2XlxQitgscgCIYwwcoANtDNTRpiFxhQPZqlKqblUFOoRwCNyy1mGMdVDuLgkdB3AAgAUADgAsBwAAgA4sAGA6AHTo7AALEIiwqShYFkER7CC1RjoskHSAsbAAAAmVBpYEhoCLK99LZiCg0ZAhAwAAAAAAfif9t5c3qAIUBqCY1En/2sobVAEKA1BMAEFAcMQzz5kZCs7MGQ3dpMkiTQAgAOgAgAMAZ4AOAjDZoesWpxeq0a/TsTo5GUbkACwdiBwAgdC0K/QJ2kIHUF1tvyByAGq6sr3riIANBdBZFkAWZw4ADDAAnQOgo2FwADgAwAELAMABAAv6HAwBC4BR2GoMc7oiAGCoZuqMrcF2DAAwjA4A6ABokBEYDIIFWoHQaUiVigSsDFwAAAAAAAAAfif9t5c3qAIUBqAY1En/2soTVAEKC1BMIEgAMyP4nNEtqCEoODNDmyTLtEEAgAXAAMABAMtx+gNQCs51CqR0CLKFTgeWoOsT6ABEJlVqj9NQAByUXCglyMrAQnSFm+P62jpkAcAe6H0wgMwNABgd0IFiAOi3AIAAA2YtDgoKB1pXWGwUBGnAHrcG5rAQABgGADpAJbAgaCSoGoumXDUGmRhoqCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfif9t5cPqAIUFqCY3En/7eUNqgCFASgmgCCAmZnn6KOh4RnxaIxuk2SRtAkYAA4AOAAAHSgOHgmFcYtetnIUIlx1p59YRABkcCjoAEBiXJeMJiAAp7qk7IQyLE4n2M5uP8CiVIAB1MHp3WABwAAdGAewgA4Ai8MAAEBnAIDJLgCWK2z6suPRpIAbCA32dAEDdFAAAAsLOgAXgYSKysACEk1/V1S4BgSoCQEGAAAAAAAAAAAAAAAAAAAAXif9aytPUAUoDECxUCf9aytPUAUoLECxAEFBQHBmBO9mZmY4gkfXSdNm2aQBADAAAOAAAAMAnA7Oorvg+nTW6IeldwI6OlU9qwIOBjo2GB0ASIPMukpRUZuUpA7UooB1B3A6qS76WgACFHRwMMCCAwCgAwAwAHQAOgAAAOvCAYBbAEBhAWUKwsDJQCBYRvdsBWPmVq1GAg4AkgQVEtmABZZ0odQ1BpIUNBAsGgAAAAAAAAAAAAAAAAAAfif9t5c3qAIUBqCY3En/7eUNqgCFASgmgKAgNGZmnjOjMTMzZ0Y3abJsEwAAAA4WAICBAgBAB4ADosBMCn0GOSTdBjp650jRT6HPAVAwsPQDOgmBXrXEjOEKQLZTYVKu1i7oE2SRoNB3IQR0HCh0q4M6nA4AWByADgAMAGAA4AAA0wFABwBAh3E4QIclAB0HgCHGRhliFQO2FIRq5Aalu4EBwAEWAAAcDACAAZmLMHCBhbBGqhqJhgxkXF4n/Wsrb3AFKCxAMaiT/rWVN6gBFBqgGAAAoM/Mc2ZmRnBmxjRps0jaBg0ALARdAYK+nHV7nGAvPdsP6BbVFwEAwqwTAEhA1l5eICiA1SulVyQCHEoc6BQF1ojVxS1sH66DBVaHYwDdAusAAA4ABgcAAAAMAOhw0AEDdOgAYAHb0QEULDAsSoapNFAcQEQ9g1WDCcCgD1RkMpBIMCxUUKkmRkaMCoMGMlRBggAAAAAAAAAAAAAAAAAAXif9aytvcAUoDEAxqJP+tZU3uAIUFqAYQFAQ0JgZ/TkzMzMzM0PTNLNJkwAACwAA+gEADgDQAUBHd1t0hDhOuIMQ8cgMGdM5OsuYLICUot+GRCbqGCU5bgEUVaW2sFLKQU+n60oxwC7gijooKMwC9APosACApQMAYAB0AAAdAAALAAcAgAHoWAAAmAIAgrNYUBBlFVQrMCyBkCYWDNuZAwMdAAOAA4DswgVZAlUBLkPNv6WSkGgqMNAAT2dnUwAEwPABAAAAAAD7641zBAAAAPlznTYMurq6urq8uri7ubq6fif9t5c3uAIUBqCY3En/7eUNqgCFASgmAASBmRE/Z0ZDcEZw5mhkm2TRJgmYBQAA0DE4ANB1QPXdXqBAras+hT6wxumUQQyN4gSAmWhQuz5ICICtXttjpFR1MJRuFe4oDmqomAlzADjg2DXgAAA6QwccFgCgAwAM6ACgA8AIdAAsMAJFB4CFyljTGxjmANGtCozowQQAFrgBgMaARgUqAxmuJJP0s0RQgYVUgUvFAgAAAAAAAAAAAAAAfif9t5c3qAEUGqAY3En/7eUNqgCFASgmEBQEMDPznJkZDUFBwTmjYdpkNmkYABgBAAAdALDQMVg4fXRATYEr5RwiVs0xBQfQlRtw0OkMShwsmAxBVteMU1uABd2z52aLhGE6g8J0BLXOWbtxADjYAf2AdADgBizQAQBgAQAAxwCIDg4AYwFwWNARzCwYq5rBgCsYVhYDBmMzwKAAAAsAHQAOARcsJAMLqstieJgdLHIDrkEAAAAAAAAAfif9t5c3qAIUBqCY3En/7eUNqgCFBSgmgCCAmZnnzGhoaIzgzIxO0mTRtgEYAHTAgOuwAOigo9M9jRRG7xCjyCIHHa7rYftcAOj0xS69A5DQTpV1CBYFINslRZQoM+wphq3D6A7dQnG1DABwHSCDA+AYAMA4AAbAAToAHGAAAThYBRYdBQCyrKkbs/0ZAkcwMdWEKQqAAwgAOAMAFgwcAC4SGiSDBdxLYqRsSAELFtJCAgsAAAAAAAAAXif9aytvUAUoDEAxqZP+tZU3qAIUBqCYQFAQ0BDP8A1YZmY8M3N0Dd2kyUzTBAAA0FAUgyKABQAAOgA4oGKxDgN2gd7rKDoKzp0ZVdleAWXhHLJ5UOgAqKjLytXQoVBmDacDw3UUxAF9BiwFOAdgcDpwAAAYCADAQQeMAdABAANw0AEMAIABAO4YKAQiDENcHSxnwIxcYwt6Z+1yAQYcwAEgQzNAMhAg48LtHCRUIHEhAQAAAAAAAAAAfif9t5c3qAIUBqCY3En/7eUNqgCFASgmgCCgMTPznBnBGcGZM0OSNsumDQAA4AALAKADAOAABSiHbtbdQt0oNoZeEIcunAkAAYOy/QAECIo6hEAB6FFUJEWFAUhHQcHC4hQF6EDR0Qco0AGABQ4AWAA4AAp0MACAAwxwAAAHUAydwyhYDADYYDCvDh3mSmHYqKLHYGAcgA4AFnQAAIuMhQtxIYGojVK9VBAJAwNYAAAAAAAAAAAAAAAAXif9aytvUAUoLEAxqJP+tZU3qAEUGqCYAIKC0JiZec7MjODMzGiQJMkyaYI0ADgYAAAHAACwgIO5DAZAl64XRxh6d0Z/dLqOcXdWBgIAdCgOAAJCqFmhICAHOtsrpbq9Yjs4GMGZCAPTjUDoIEs/UDADgAMwgD0A0AE4AGAAwHQAsABAhwMAwMEACOhzAIAiECNr+yZY1WQGgKGqUtzYjhmAhQW6PQACCQSVBtkFKjn3N7jBoEJAhkuVwAVeJ/1rK29QBSgMQDGok/61lTeoAhQGoBhAUBDQmJl5zozgzAjOzOg2SZZp0wBgGAAAcIADAAALAKwO5xcgdXDiTmeKYoSd0B2kW4wAUGCVIh1AoMlW1lqSyAFAT1VZIpeKrBukQ0eGCAdKKYADBTg6CgBrAcABAxycAQAAdMACADoA4LAABUAHBtjBLbjDwAQdZJ8AJQhTjcDCgNGhAwDYAQAHAB0AlQSWC+qFbHGTJtJoNDK1gSXjIgB+J/23lze4AhQWoJjcSf/t5Q2qAIUBKCaAIAQxM/OcmRkKCs7MZJJkkSQBEAAcgAUAQAcAOMABHnNSCw4Sk6MwYA43rq+OALAECgF0okGa6oxIBtUBdzrSZ6skxyK6AkcH6FNDDwqgDzgUy1F9cacDB2CADgAAGIAOAFQOzAACcEBA5wYAwFjSxbJpojA6RJ/HU6EoLCyAAAYAOgBggIvGgMsycCFkNfQ0MhUJC6hYWAAAAAAAAAAAfif9t5c3uAIUBqAY3En/7eUNrgCFASgmEBQUhMbMzHNmZmY05oxOkyazSZIAwFoAAOBwAAAsAADQAQA49OOQG7aj1LlulRpVPUY70KFjOgHggLDiAEAOEVmrd5kSOoB+VaE2o+hQBSWYUwhczAr6OQYOdSD6OHAAOABwAMAuWB0AcCDoQAdgDACAAwAAhg4FMACAhXXYQWCCsXoAusIg1RjAEICDAAAWqAgXNCRIAQyE1vIwPGKADBW3An4n/beXN7gCFAagmNxJ/+3lDaoAhQEoJoAggJmZ58wIzszM7GLdpMmiaQMAAOgAh8EBGOhAOC4KW0bvoKzrQKAHW3cKNQ6AcBhL7wAEQlpeS0iUA8h1UaioHtvhqmAHV653dGtxqseBg7uOPtDpNws4AMwBwAEAYAEAC0NH1wEMAOgAAOhgAAeAmQBOR4cBYHUj5qRRCEIw6KuxB4FjAokGwFkYAACWBYag4kIGqQ6KkOHCVaFJAAAAfif9t5c3uAIUBqCY1En/2soTXAEKA1BMAAAa4hnB5+ijMYKCMzMaukmbZRIAADAADonB6DBYQkeuo+DKcPRuZWquBAwoHLGQDoCBoBML/amlIwBLRWUqKgg9ljIL+nVnIdAZmI7FOOgAFkwBAAAM6AAAoBsAHQALgM4ZAAAdABwUKAYCXbsRKIAJVA/j1gBAsHALAIAOgICLgYHKRQKJkfrVzEKgQQIAAAAAAAAAAAAAAAAAAAAAAAAAfif9e0tvyAIAG4A76d9bekMUANgAAAAAQPBoAAAAEAAAAAAAAADALQBnQ6SZbKLRVGqAAXsAABkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA', + Ab1: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAAAHDZNzAAAAANgwE7kBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAABw2TcwEAAABjG4NoDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + Ab2: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAAAz+Y9zAAAAACkSrwoBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAM/mPcwEAAAAjL0dRDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHGGHPOOSA0ZBUAAAgAIAAAAEBxFEdxHMmRJMmyLM3yLM8SNVMzNVNzNVdzRVd1Tdd0Vdd1Tdd0TVd0Vdd1XVd1Vdd1Xdd1Xdc0Xdd1XdN1Xdd1Xdd1Xdd1XRcIDVkFAEgAAOg4juM4juM4juM4jiQBoSGrAAAZAAABACiK4jiO4ziSJEmWpVma5VmiJmqiqIqu6QKhIasAAEAAAAEAAAAAACiWoimapGmaplmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmkaEBqyCgCQAABQcRzHcRzHkRzJkRxHAkJDVgEAMgAAAgBQDEdxHEeSLMmSNMuyNE3zRFF0TdU0XdMEQkNWAQCAAAACAAAAAABQLEmTNE3TNEmTNEmTNE3TNEfTNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TLMuyLMuyLCA0ZCUAEAUAACmrrfZgHIEok1ZzaBBlEnPRFUPKUewpUggpiLlFTCEFrbaKOcWgxdo5hpCT1kPolGIQAqEhKwSA0AwAgyMBkqYBkqYBAAAAAAAAgOR5gCeKgOaJAAAAAAAAACB5HqCJHuCJIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkucBnikCnigCAAAAAAAAgGaKgCiagGiaAAAAAAAAAKCJIuCZIiCaJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkucBnigCnmgCAAAAAAAAgCaKgGiagCeaAAAAAAAAAKCJJiCaJiCaIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAHAIAAC6HQkBUBQJwAgMFxLAsAABxJ0jQAAHAkSdMAAMDSNFEEAABN00QRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAMCAAwBAgAlloNCQlQBAFACAQXE0DTiOpgFH0jRgaZ4H8DyAKAJMEaCqAEAAAECBAwBAgA2aEosDFBqyEgCIAgAwOIplaZookiRN8zRRJEma5nmiSNM8z/NME57neaYJURRF04QoiqJpwjRNU1WBaaqqAACAAgcAgAAbNCUWByg0ZCUAEBIAYHAcy/I8UfQ8UTRNVWVZmuZ5oiiKpqmqrsuSNM3zRFEUTVNVXZemaZrniaIomqaqui40zfNE0TRVVVVdF54niqZpmqrquq4LzxNF0zRNVXVd14UoiqJpmqaquq4sA1E0TdNUVdeVZSCKpqmqrivLsgxE0TRV1XVdWZaBaaqqqrquLNs2QFVV1XVl2bYBquq6sizLtg1QVdeVZVm2bYDrurIs27ZtA3BdWbZt2xYAAHDgAAAQYASdZFRZhI0mXHgACg1ZEQBEAQAAxjClmFKGKQkhhdAoJiGkEDIpJaWUSgUhlZJKqSCkklIpGaWUUkspg5BKaaVkEFIpqZQCAMAOHADADiyEQkNWAgB5AACEMQgxxphzEiGlGHPOOYmQUow555xkjDHnnHNOSskYY845J6V0zjnnnJNSOuecc85JKZ1zzjkIpZRSOucchFJKKSGE0EEppZQOOgedAACgAgcAgAAbRTYnGAkqNGQlAJAKAGBwHMvSNE0TRdPUJEnTPM/zTFE1NUnSNM/zPNFUVZ7neaIoiqapqjzP80RRFE1TVbmuKIqmaaqq65JlURRF01RV14Vpmqaquq4rwzRNU1Vd13Vh26qqqq4sy7Bt1VRV15Vl4LquK8uyDWTXdWVZtgUAgCc4AAAV2LA6wknRWGChISsBgAwAAMIYgxRCCCmEEFIIIaSUQkgAAMCAAwBAgAlloNCQlQBAFAAAYIylGGttGKNYa62JI1prrbWWVmuttdYaaae11tpqrLXWWmuspdZaa6211lprrbXWWmstAEB3wgFA98EGTYnFAQoNWQkApAIAAMYo5RyEklKqEGLMOSklpVQhxJhzUlJrrWaMOQgppZZa0JhjEFJqrbWaUuekpNZiajWlzklJrcXYaq6llJJaay3V2EspoaXWYq251lhKSi3FVFuONZVWWosxxppzaym1FFuttQbXUokpxgIAMBscACASbFgd4aRoLLDQkJUAQEgAAGKMUow55xyEEEIolVKKMecchBBCCKVSSjHmnHMQQgihZIwx55yDEEIIIZRSMsaccxBCCCGEUkrnnHMOQgghhFBK6ZxzzkEIIYQQUkmdc845CCGEEEIpJaXOOQchhBBCSCWlFEIIIYQQQggllZRCCCGEEEIIJaWSUgghhBBCCCGkklJKKYQQQgghhJJSSimFUkoIIYSQSkoppRBCCCGEEFJKKaVUSgghhBBCSSmllFIKIYQQQigAAODAAQAgwAg6yaiyCBtNuPAAFBqyEgCIAgBAiHPOSauJUIw5aT1TDDpptXfKGcQgxUw5pBik2jnJmHISQ2ohZE5aiTmlEkqMPdhcYw0CAAAQBAAEmAACAwQFoxAECGMAAIIQmSESCqtggUEZNDjMA4AHiAiJACAxQdHqwgXoYgAX6MJdDghBEARBEBYNQAES4MAJbvCEN3iCGziBjqKkDgQAAAAAwAIAPgAAEAogIqKZq7C4wMjQ2ODo8PgAEQAAAAAAUgD4AABAQoCIiGauwuICI0Njg6PD4wMkAAAQQAAAAAAABBCAgIAAAAAAAEAAAACAgE9nZ1MAAIDdAAAAAAAAM/mPcwIAAACln9KEHjgzt5qYkpiYlZKSlZOXko6MkY6WjIyOjImIioyJhbTWN3dpi30XZN/zg0wAwBXB8VorDhERVJUs+/ZT07ubiIiIA+fLEEkmSSKAf+lf+vd/LjfRghUALNd3AX/H9b3Au22/D1SB08N0tT1oGdSqQuXIaJpWREQo92N17p69+1LuMjSsySRHe6gAWumVwZ8MzY1Ep+dbPfMXAJFdBv8rIyqJLhyn6vATAI8WWt7RgoDggedL3VtLlEoKySHlsh1BAgAAqNudON3G02FdHV52inECmqiAogYnRgDQDE8AgLBiddTIiEQ/XSEjoywCfosqFRkZKcvlAagnQBVARd2CLEpJBkACOvFNAWEJbtIlyaQAUSbcVIqLnYALAv/AHlSam0gEGfAOiwsBa8wDDBbwxiEWGhIBLqbcTGMWDRULKC8AXhqm8E+DqQAYm+qEYLNL4X9CUAWKMJhTCOEdBgbWt7lvyrrbyhJSkinw1mWTMAACAAAAABCbtwRAcDhVABS3QUFF3TWAolYGyL7VgKRZgII3pFeAZgJuqIBrqwWigILspgCuwE26CEbLE6CEDIBeUIx3ApERgApHAEsAc5D0Z+qqEJAFoC3gYkFFNgAUEgz08eaih7BoLAaQAL4JBuRPW2BFFbTF5w8AKrsY/JESK9UFbXP9J4B3EEgYPyRmc39Jba2igCopJrcUSQMAAAAAAACADt8iADjybACwnTkCoNJGASArSkBNFUBkLoCIwhcb1wCRT0EAqBUJpEkGQAKZEpKbZAtpzgQgCfq56QheiWdBA9+ECQBPYKC9ufiV8AtvFlxkFjtICgJagj+OXC7QmCIAXgrW9I+QUFFBbqq6gM2uhn/FAoIIWFT/C+EdFhbWt3n/lLrbblJAoRQst5QNAwAAAAAAAEBt8VAAyJyqAiALi4KlVS4JWLJCAvqpALgWgCYBL7SlAP2ARRegOhNINQDqAdkqATfJJMpDjwCRJXEFwAWLEEAzAboEA0QJc4B+GCy8Ev4JFoQuQBCwErzQ46KijAU+Clbw75iAoTRYdG8m0Nm1+F9NwFAaLKo3A3iHhYHxQ8DZN0e/k2tCUErKljs7AgYAAAAAAACaN04FgGmiAkAiKQRAjHULAOiKJNDvCkBlAFKAdgGkGUBzE5A0QI5lgVFgA0gAHk8AAag2QAqJUZ8xQAavRKcUQFULKAHwKMAe8IUGjRUMUCSNHwtWeApohAZU3lRkEhgqAJ75xeRfK1FIMITBV8fUjMguJv9KykIFgW5sdWbBO0iA9UPC5v7a5VuNYyGdsmDDdDQAAAAAAAAAcJEDAJ4TBgCM6UAB1EzqVABwV44A/RSAXg9AKExgxQUQuUu4GcCymgQ0A5AGQATAaoIt0SnJLgCSUo8ApJAGgJwAPAFkAFYBaBeAwAQWAgpAc4RBw6KLcblWwFBJZAYSnvp14q9apiBqxAU/Zi9NaDeqP3roQlUNvWAOXpp3GADj27x/7frddo8lC7YLAQAAAAAAAAAQk3ILAGSuWgBIMloIqFrWAaipKEA61AIQ2QIkoIS+AVADhAEo+gGwCpAGgABYpUI1AfJEMO5nBFAmsgEQRaYA0QvMUoKBEfZMmZJgcSEA0Gx4c4TkiewyeCcyrVookgBe6rX0PzVlhtKMQfdVJsxm18G/auoMAbbIvgys8A4DA4cfAjbvX7u+9bZUlCmg3NkmAAAAAAAAACBpPAQAtI0AIBltFEBkqgIAekkB6VADELKANqCAZQEoowKEAYhDAqQZgBSAAHgPFTQBtBEs3xNAI5ggZQFIiiI0kFwkKOEFjjQQAGSa8IYg6BKkSwUqlwouGZ7ppehfKlkoLWDx+RGCya5Cf8WWWVCAwfQnAO8gADrf2V+j3HlbUin2FrZNAAAAAAAAAAB3hkUAaGflAKg6pgjkkjpXAFT0NwNSfwZAjgKiBTwDcJUCYkVBMgC5Igk0A5ACqAA8HgAFUEJJEH0SIJJMygUgoAQ/UNCSN7PwDgySxeJyTPjixwVBswCgcdmmgssAHuq19F9uKrQ2haVc/AhCZzfxX2NTEZRwX1L8Aea8wwI4PMLi7C/xruHNJClmy5FtAAAAAAAAAACqEy0FANfCAiCSFFQsAMoAACArV7w6gf5pJgFIANIG1DoDiJUFCUDPiiRoNgOwKFQeAAXAEsCChcZvE6CJSsoWAEAJCRYIPHCkwj/AZWjJnj3vZMFiS7C4yLypqAA+6g34r2ogtI6KLKXkTayms5vorzGwCDpIW5L8GDW8wyZA54eAzftLrGw1VEmqpGC5mQ0AAAAAAAAAQL2NtwKAdiIAqsGJAIgiAgDZNQlSnQDtKqAC3mjLAWVWAHqA5fUANAPQQnUfAAVQYtNKWBkAgQRAnpgA2BICGkh4AmYA/BKNgIsHvMNgYSVRAhUoMZCoyADe2dX4r9xAqKAVW8z9JtFms5v593GQCForvgpQ/wUa3mES4PCYWGzeX/rRkGsmqFCIsJ1tAAAAAAAAAAB4j/gCAE1aABDJp6o5CqB4KABgWdYJgOsBiBR8seUCQJ8EoQFWXgXQNAdAU4AC8AwglgAtgCfAsx2AFBl4UrsAFPAdkGAAVB4AU4D+AlQAaNYIJP1BUoHEIWgCntnl4K9cUEQtSltqbavsTkdkV4FfdbDomGyrZviOUTS8wwDo/JCwub90Rb6VmCqhQDkcAAAAAAAAAABAcKkAgGNhAVCtXQKAWi8dCgDu5SPACgmIqxQgwAPXLoDIprBogH7GAUhzAEgBqgCeTOkSm27yrZBkASRFAXwrWCDcoADgHRgkIBsAkkgub1SeBHpc3gje2RX0Xy0utDY5llLasvgNk10FftegIijkWEpliywaHoHwQ2D1+5fUVi5RSEkoZ0cAAAAAAAAAgAsABO8uBUCctlMAYAWg6iXrAEUBUr97AGk1ASX8qAlA9hQgyYAaATTNAEQKw4WnZCXVhUwACD4kHqqFLUADcAWgBEk/KslFtACaYc/lwkLmDzIaF5UKvtm14HdtrIJSKEM5+D/VsdnN/Ps8VAQRtFWQ+wtreATSt9+/ZMm3MgroSdlymwAAAAAAAACgsQKA4m4JgKysa38TQK/q2oCyjghgeQmQA0CKPUsCoBogA/p2Aog0FyBJYeoWIFOwEi5dQOhqACSBbASwCsAAvwStAFAo0QiDi1eCMMIeCSt5LmCBSwJe2k38jz250Ar4kuYnrGGzm/n3vWShzSgfBeWOkDT8AQskwBR+SFDtmzJ9u70gUGUHEwAAAAAAAAAAoNKRKADYUwCMWxUAJUEBwPQ3A1heCbwL1MQc/XIKyDcLwgDkXBHAv8CTZKsAqwHQKgAQ5JcLgJZmA2CdQAFkAcRqAVBL/Jgl0wi4HPmFN0cWSKY0LlwSXtnl6K+cotAK+FJJWxbSJrKr4a+euogIclWt3CKhy/EHSBAAdXyq/SXpdxpiCpWQBBsGAAAAAAAAAAAA1/IUAEABwPFUAFWr1AJUj0rA8krgX2AECuw6B6A584ABqOwDiGwCkAHZgi7AA4BCkDUBIGg8CyANZC2BPApAA5ABWFQymQQUgMiWLfiCyyQqF77ZtfCPMUShlYIPCb7CLpvJroW/xlRFcEdZhaQvksvwB0wCAJXgh4Czv5ausd2EQBYKjiYAAAAAAAAAAEBakywJAHQVAIznFAAx1S0A4Fo+BixdCpATQArwDCBxHdAca5DMAso+gC4DIAMAgEcAahXgAaAKQfPRAEgROQrQBFEAGeA5gHfgTY/MgABAZBK0hDALFokGAt7ZtfivPUURxVCWlC0zOB2X3YB/XUMV1ZIaS9IOCJyadxgA6YcEfX9JvtMQQyAKZNsEAAAAAAAAAABA7Iq3AIC0FQAVZ5YAoMa0FQBYcQmial9Ank1AFG93mQFEpCCpgHHdACsDIDegWYFvsJgV/QMo0fQAaD9QdAzwUAC4BQaNJOAJ+BiwuCCZoBEC/tiFzF85RRGloCzl5KegI7Kr8K+9TNFtYKzKknWMSt5BALR8+t1L5u32WJZlOZsAAAAAAAAAAADgxgIA4gAA0aUOBVQtawGqrjACLFYFpPEEVANHqowBagNA9gtgGQBJApU1QBZYVLlNASJwHUAaCACyAfAoABlIgGwAGo1KxYUKALLhIlyQyGRuQwBe2cXgX7cuIoWtJWXHSGoqu4r/cdoquhV2r8J8B0DgHRZA31sEbN6/ZN1pqFvGZBJsEAAAAAAAAAAAAG3a2QoAFgFAZeYQBRBQAQDPSABXOQEyAE3BD2oAsihAaADVAFkAkUB1A+CqYIVKwookQPJIATQh4ZdAXAGoQACyBdCfRrKQIBsAoske/kDo4hgAntkV+N8uXUQrWEtSHaOaya7Cv68yRfWC55LmTwDeYQG0fJr3D6hpu5VZErBAyCYAAAAAAAAAAADqmNRTAUDaACA69VIFVNQsByzWEQGi7AdQjwcgVfDAsgIQVUpAA3QODfgmFFj4BuBZYIVK4qoJQIOuArgUYSUgCyADgSgBb+jCL6Emg3dCEGRaRQA+2cXo3yhTRE+UIUWNNER2Ffx1pV30TIwlxQ9hziPQ9539UnynsZJKKNAgAAAAAAAAAIA4AEBzr6soQJU+dQWQiyuqAogVywCR/QDaNcAqgCcgV1lArCxIGiDJAZAtQBOwiS/DCj3ZP4ARqh2AKrQBVACkVwFQggESnkQD/ZgSFkQByAQsZDI3AD7ZpeCvVabo4ihLirpqmOxa/usuq5rN+Vqy9oQV3mEAtPwQoOybp63GsoCSZNAAAAAAAAAAAAAAwooKAFgEANG2lwiAaM0FADwqSiDyYOALN+xdOQBpugrIgNxrgC2xBaAAVwDyBCv0CFbzKUBLCoA2WgFQALINgCLwgDlAiVm4SHTCPAwqmQE+2YXw32ynqJlaW1J2BniDhsiuor/u4RRTSbmXlP2FasQj0Pcp95ua3Wmol5Is0AAAAAAAAAAAgDgBQE22EwWo2t/+AGCJFQDVVUsgHBL4Jn7pZxUXAGoBZEBmFfAt8Q1AATwTT7JCI4jlCSDwAJAn5lABaW4AlKCBMIIJQOYQDCQIACKbvLkIugBe2cXw3y6nqsOtNaRsfFAvSWRX4V9POkVfLs8lbauY4R02AMYPCcr9pthbjRWtyAINAAAAAAAAAAAAoE7fUwFAvBUAbKcDAVA1RgFA6ipBxCGBKPGwp+8IUGQlCAOQSQBb4htM3SdAo8AKzWW5BggoAHmiEQCPAHQFgCIMXH5AAbSwEgQAkUkWN5HoAh7ZxeivlXdRG8q9pNUQhseugr+ecIu+jN9LxpYowzssgPXp95fYW68oT5JMwwAAAAAAAAAAAKi0rQKAEwEA0/ZEIcpaSwCVK4oE4mCAxxNQwuBJALImAAOQCYBmAVIw5QnQAFZoei0AioKVmk+AagYgrhWgBAs38QLhiWSwEk/ACCPwggslMgMLHtml8I/VTlGb8XtJqhMIjV2Nv9/pFD2FPZeUesLwIBJAjde+X2raejOWlDMAAAAAAAAAAJBEAcDhEIAq47oCUFFdA6htFZDkBFgFcIVmXV8CmkkAs4BMAKJZgCXwQDcBHsAKXSQiUwDoTsonAJEteA4UoWGfXBqZQbZnJbIA4TJCA0EmA09nZ1MAAICVAQAAAAAAM/mPcwMAAAABMI0dF5CdtLfPrNOZ2bGt2JrSm8PSsLHRl9CpPtml+K+dHlGL8b2kqBJo7Gr8/Y636EVwLklm3JQ/YIAAiCo/JOj7NW23Y6GScgYAAAAAAAAAAACQHLcAgPgAgGWHAqh4iQJARx2jAIpKQDUegKQY7joHIJ9JARWQA0CvA6QFaAB4PAESsEIXieSjAIFeB6CoJkDyBHg0AZQAWAVAo5NK+LHwD/iHy2WBRCID3pil8K+VbtEbZC0JtQxiDrMCfz/pE1MDa0nZMQUj/oABCSBrPAbg3F9H4257WZJSV2zTBgAAAAADAAAAiLNkCgBYFgBwfKQgAOBwAgCqVvQPCHquARoBeACksxzI6M8ygQbIUUA0J0BagCQAXuoAaQAkAA9k3wCQrEoBFJEAyAFANgAyEHgXWGT4QoMFD+AKgCRNeEGCS9bA0JBAAJ6IxeTfTLeaimCMgqzehLMyiBXg1ymfmItQa0jYXyqaiXcQAIfv+bwdNdv7scBO9UGRpAmYhkkYAAAARM8MBQBSHQqAmAw3ClHUpTKA6v7LAajoAnJ5ACwCPAGqZgFQmXUDHIAGQI4UwHKAcQkQa4CXAOoaQAcegA4ge08ATQP9jQBIGGhS4DkNgGZvAFTgX4DIAgiYkFx4ArgqADkWQAmAUQCCTAPLRcIFckMG8kWFBBWLCp6IpeiPkVYxJdS9C6g9w9hk5hCr6a+7rOrhUM8haY+UtCvvsAA6rwfeBAS3TfF2v5KpoeYI6rZJAjAMkDAAAADQOmYUAIoHAGjjmCPuCgAiVgWALOpamUAdK7OAawCxvASEhAIBAC4AmSwg1ABkCTASgNXALVhhCnAAvTYAruEqTQCiMJAHkB0AzQRAARZIgCsAH0ECSAcsgDwAooQbAGkDoBWABWABSHVApYuGixsYyGARoKEhA35oxeTfLKuYl1DPUUBsCYYogVYBvp9pFcc2+r2i7Ac27eAdNgEOjwl43t80fXe3kvZZ4tFnNEibME3SNgEAAEFduasCgDMtAIiooqgCgCsHAFQuVgMqqLACQAHQDNBdogQUy5cCMiCTE2CoDaAE6A1AfxT4F6wwNeqTgFgsiUtlAsMooSiQLYB8DgEoWzQqcEqIa1kAigzoAAKABdDnASAyFwBxOAJ6M4CjAAAAu+BABRAIAEsdAGAAAOAAAAsdEGgYqJCRWWQYElAbErASAJ6I5eCPPXUxF6F+R4E1mvEIU4jV8Ps9dDWn0N9RcI0EDe3MI9B5R0ACHri/LY3tVpbgThkFs0kSgEEAIAAA4GgUANWkBAEQqgoAOL0UBUCNAwCAJSu24gGG6H8MyAyYYSuqAMqaCsAUkOQEhBqApgSoBqDfKuBk1wAJwBQ5mgLaDKs5UoDkIFtAZl2AAgyANJ4AsgkA0AWJgJcAaL1ZAABBkSwMWFBdBGhkEgB+aFXo91yymBPhf8UZGSqiBFod/FxbFrOL+LvijGVOWpl3GACH13ODF4JPq3F3t1onsa7PCGrYNmyTpkkDAAAgemgEALQzACDiMKq1EwBEvTACgIqqVQF1zZkBZqwAhuy/AEQCNFuAAEpA1ABEDUCUAM0WoDsMUDMAZAAU6pTAUCUpD10EYAGmAOQAMssClGEbAwAArh3AkCMFUACqHaCR4AZXCYBGu6CDgJWY3juwnAQHkj3g0HFwKDrAAAcdgAE4LAD0CosFCyosgYQBGpLFAIkLnpjV4Pu6ZDEXE94roUYLFTjMRvxxXaqYm4vPlRJjWZKG8g4ZAJ1v8/672t7JEtiEFG2SAAAYAAAAAAAAOhMLAFhPAcCqu0MEZNUKwIr6XwggKgBpmgMgwA/bswRQkTWAWYDaALEcIBLgKgAuqwDXCxYIrqerANfLePkIoAhwgcgCyNDAO0A2AAjwTdxAwMNlkWAlQyVDNoAA3miN+Pu6VTG5qN9VDWpcgSSg0Jrw57pNMbuI75U24yEKGsy/AOoAAaCWPAbgged36Q8FsBXVNY9YU5+Z0bBJgqZt0wQAAMD11hQAaugAGL8ouQgASAoASawvAKDGAJjVAIumFQ0TyAx4o6sXgcy6FgkAUAfQXQEglgOMEiAL4GMV4HIF0AIAQuYqPcBM8ggXyOUAegEABgBgQBYYVhRABIC0msAPACwAngEQ8IdFp8AxGAeAGAAAUN2CBQDoxQJ0YAHgAAAwAAAHwIUmg2AZwKpQYWBApUGVAb6IdfjXvExRU4nP0STGCAABg9gE79cxRU8lPtdEipHEqAEeJAOgjo0BeN1fR7+7kyV4jVgAuk0TAEDSMAEAgDQKAA6aMIkVADA+AABVVrzOBJCkWUAOiuVVAUMCyAJV5wBEWUcFoAdY5gSILEAUIFuAqwBME6BVALCwpM8iIKJkqE6AKIAEllcBkGEP4BkAVwAEAPPaAKBXAAqAAxckAB7BFwAdYGDBJUDCgLRgwUW1AN6Ijfh731YVHPEeXajGVcCQiC38fj9OVd3Ee3ShGg9hhT9gEiRALXhd99eZO41FwUnS4WgTNmAYNkgAAADEZT0CAFQAwLCsgOzWA+qSyQKSPGCduQ6wBhgZgP47gIqiBtAAK68HILIAASBNAa4GoPEEaBXAAbgOUKxQAlQGzWsAXAMBoLEA2REALkA6AA0A0gbQ3gbQ4HKRAdMMgICWYDVUMAywIBANGQkEmQsX3miN9Pt4OUV3U9daA4txlfCFObQW+rFfTjG7qefqZjEeRm7GfwC1AED6HtgwSF6Xcne3xOKlC+kzM2OaNm3StmEAAFBMqxMAcBgFQGXVLXQ5AUApogAYKsaAFatrZQIVAYT+NgOQCf5odAFqFgMQWYAEIGYW4OoAQ+YAT6KRKPsZAVQEsVwLaAtUAWwjAFe5GyADqAGoJEBjADwB0AQwshuASwcIcK4GAFkL0AUWWEAHMAAADgbgAODhAAAAGABY4ADAHgA4AADaQoPEwgINVaABlawBA4kLvph19Ge83mJKE/aaSDZGiMNhNvP7/XKLXlw412SCEkLCOwiAlo0JOPtr9K2GOgVKKNMkAAAAAAAAAAAAeLYqAJBuCQCi42mVhSoAtAQAIGcBQbrOAQCg9QDUOgcgvXYNkAE1GYC4AgiApAnw7AANAK0CCCTSawkgeuHRKoBqoOEWQK8B0MC7QKMyhwEXcVUAEcllBQnER3AFAP5oLfinH6cIaeK5uomNFeFwaO38fr7uoqcL9/ImMg6hhndYWOh7TMDr+Tr73fYllolHLB6xxmjYBm3YJE0CAACgzrSHAgDjRACVhZeiXhgFAEcAAORCBaAfsqYCYASwvACiuQSgqK4KcAAKoN+dAEQWIAIgyQL0F1CNFkBuAeJwMepXBpBZsFiNDVisIQGpLwDXACQA1QEygDYDwCEArQ5A1QF0AIALyRNASfYJqA6A9AGwAOAggQGAxy0AQAcAACwAHQsqggpkjAoWAupCBRkSGf6YzeJzvq5icqH38gIwMqKhMVvr93ldxZRG7+UFYCRZazjvsABa3gL2gfsHjrLdLgopSdk2AQAAAAIAAAAA0NaJpwJAK6UASBK9QADIHW0AoJxrgAwgY4UESDDBVi4B0opnAgPQt1cAXaIDWF0A6IDSAB7oJMi9pABJaRZAGhCAtJsAsQrAApANAKAg0wi4eMCLI28EFGRQDZABXmh15KeOXTCEWivSjkwvMRNojfBjPXYxDSd7SdiTanP+gEjIAMTJCx4D8Lp/4FLuts9kY5lOjbGGbdokSZI0AAAAdKW8JAJgtwCg/T6lJ0YAwCUAQLp0gBoqZg0gAFwB7FoXAJVFNUhmATW1IoASHcC1CbAPoOkq8EAnwaxzSECJZBTgKiABTfQpARqNDpCg0QDE9QIIAMkCuAHekFAAZKMBQB3sEwRAOqB3AHQAWGiwAOBoSFBdNFAtLFC5sFQYGgK4vmiN9Pt8PcXkRdhLgrXsoNCa+Od+fGKypMeSYi0aIf4DqCSw0LIxAA/cPy81d9vN1ujCMzOjYZOmSdI0DQAAgEgzAYCQCQBiPV1INgIA3gIASDM5gD0Ylo0BCjCD2gPQRB2VgApYWpchAE+ANAByN8AGkA3ggS4BF4CaTRVAFgVdHQOQbuwAaI4Az4ECDBQAHUC4AlALoFEF0OsASF+ABCIBGFboBUAHUDkAHAAAYAC4DgAsAB0AYABwAB0AAFh0wAJXgoWKDFUCEhqNAAmJBIsGvoh1+Pu83CKmU+dSQiKiEQaxEX7uy6d6K9QaUkbSJfwBExABkFW+5/0GQ2DNQwFoXJapsUyNSdMGYJgEAQAAAADp2m8LAPSsAGDlowBAkyAAlPglBQCgAVD0vwjov79lAL0CkMsKQCZAswVwyQ7QRr9LQNtEF0ACsAGQnQA5AE+AA6hmAJoLBVhccgFWFaACCZApQECXAKkFBi7EugCS1RIA6AAXGiQuCSQkVAEaNAO+iHXw1zxuFVbDXkrEjwwcYiP+Otun4mhkDEWyn4qN+QM2QABSjbdIzOb9BkNgzZ3GyzI1yYJN0gZIgwRoAAAAoF0pGwHAdQEAKyAAKrmtANABAAQvEQDSK0COPCDtNUAU/NAX9waU3T4gtE10AXoPQG2AqxQgAehNgOsAF9UvBRgHj2cBPAsRAGoArKYFyEAAzQQAUAJoAQYBF6wGgMtqWFyI3LhUCSQWBlguFwFcBCq+aHX41zp+UUujz6WirBUBhdaIP7XZoJiyYC0lMQ4pF+JfAHUACRBVHhPw2jAI3kJAXbnbLo2VeI1HQ0OQJG2SIEkbAACAHm4UAKhUAMx9tKgCgMsHYO4BAIJVAQCAVBMFAFA5lwGWYPkIoB6guYCiuSqAXLDw3QCXLNCBLUlm58lzAgrInAHoAtUGyDYB1jk7AVcAFgBwWYB0XgPgLN05hA5QAcAWgMtZBeDyAFB1AKIDFgCng24ABpgA0NEBGHQAAQyEgQYLJKQEkgGZC1TCAr6YteD7mm4Ri7O9FMkemMJhNsKPe3lEbcn2UmQjwVKId9gE6LwjIAGb9w+o2mosyyQLRJoEAAAgAMAAAACAzk4fADC+AqDW2wMBEGlUAMDmogDgbQAgrqeACviim+WAorIHkAG9+k/gm1Bg4QtKVpglcVm5Bmh5CkA1oQWgUQCuK6AIJMBVABrgCw3fgD+NRUAmAxdZQwK+aA3w+55uUYezeymhHRKHQavDX2f6RV9J9lIi/oMY8w6TAIfv3L/O3B2tsvQRUqMh1hgN0zRp07ZNAAAAkWyTLQCgLQFAjHWjoGJFywErWloBqO4FWMd1gBRgGoCqugxQ9q0AZED1sgRkLwBNAFqAqwLIEyAPgGYBWICe6lUAQVwBGBcsAKCaCqg5gMWLIwE/gIEBoACM6wVQBWCDCSDTAQ5AASI9ANbZOSRArwPgBnRABgwAOQDoOgAACwA4ANCw0CSgoaFmVCBXJFAZDBgAnohV8PeZPjGVwveQZDUTEwqxjn5qe4LqaIWPoYjGIGIj/gOoBAA63+bzqUbNnYa6XKxGF9JB2wYAALAJGAAAAIgzFQCoTgDQpkyCgMqaZYDatYoAqvQCuFZAJIU/1DoHmuxXAACYAqh7IQHNJkC7ASS+T4BGBwS+AB3AqP8xQCRJAeSJFyzgegPgDUAAqSfACwDQAoAnABo4AOJaATjgIsiwIOOqoFpIAE9nZ1MABMDwAQAAAAAAM/mPcwQAAAATnbQnDM+k26Wu0KjXqM+S1T5oFcyvVT4xLVfOhdEKHPqslnye9ot5p7ZWgVxi4dqYd8gAOLwjIADn/rX0rX7p0kl2RlBDY0jDtG3atgEAAMCjCAJAjgIgIl6qAggqAgBqEQBwuQCgOQKQJgkgD6BmxTeACv2AMAB1DwlYmQKkCYA2wPMKIANAA6AdBLlXS4CiHgFoPBFoVoFYA47rmTXAowkg4E0FngTNAogJYAU4C79wE7QArvKrAM56A2ABKAwAAOgAbgDmAHAAHBhwAAAWIOFiQAIrQ4XBgOGCJIEkAN6Idfj7Kb/ow+1zKaE6k/qFQWyAn9pOSMzLrbUk1bLUi3mHBdD5zv0lU+70leDRlxikCQAAAIAgAAAAgFq3SwFAswFAdTETARXlCoAqK1YGyF51AxqrAFmALUAduh5Ide0kMAvI0QKWKUAaMHWvAFYBCmwQzJoACEwBaBQCaQDUIwDnGoAiDACPARC5ABSABYAHAPYAWwAoANlwAQ5AheGigoAMXmjV6LuWAYppiLKXhFrlUumzOvSpVUBiWvC1JNUSNuUdNgEOPyTmPF/q8u25RvOIZ2ZmNEwStGmTpAkAAFBH9VAAaJwFAF9c2VoB1BaHAkBHVgJZ3y8NaLoKSHYBeQByoQZQVlkC0AEKwLJyAnJmAbIBnkRcB1gFKKCwXCcASqwOgDgAOoB0qWA2zQPkZgqQNoABIAdgAADcAkavACgAOeAjhQHNAsAWgOR5AKkChhQ4qAcAOuMAAAYAAAsHABwAGABwABYAwAEABmgIJBAwMBJcGLgSkCwwGHABXohV5JdWEYo+kHtIrBUsxCA2wC9tZ6h6EzaGEvRFbMkfMAkA1INvf15L407jSiZOLBakaQIAAAAwAAAAAPDIMgCAVQXA1VQEiLIuFYCKumaCjD4A1wGa2fzcbjWgqO4BAFAHkFkCZLMAVwAaAB5XAOsA0ALQQPUESDwF4DoiAYjrBVidBSjCBQHIbsBiFqBqgCnskaBRAGwC4HkAANBhyUAlqEgAXogV8JfWidRUYGtgZ0A0iEFshJ/aSqKmIbChxOoPEvAvgAqAAKgljwnY76+jb3d1sUyTkgZ0myQBgjRgAwAAACo8FQDIGgAwflPWFgUgkgkAWLKwAiDZ2RTQq2Bv9VkKZNRZJtAASRYgmwVYAkgArD4B0gDQArgGEqsjBYhAzgI40PgvJiWwzpqACqADQACxcgEAALXgm4SLxANeADgAOABJBiEwwDCApWGBhioAPmhV6LtWgURcYC3JW4UiINAa4Je2ooq4hGYowy1zEuJBJEBD/JDY+/vrzN1c4jX6aIzYghokSZu0SdoAACoFAAdFAFAaUQDwAAx9V6wuYHkFIKsACssBo0x+Rl2PgMrFakAXIMkJiGwWIC1AEgAvdYBrAGgBJAA6QCxvAUMkjcYTQAHMARgJgBwAejUOILuAAaAAqAXIj5UAl/YCFABJG4A6AGEB7ucJMP3xANCcAOh1MAcAANCBBABwGAAdWOAAkGVckGHhIhGwDBLQBhYIAl6IteBnt09UF2qPAmf/qMkwiM304x5+NRWjxyDtDyfdyh+wAQGghm/fcEBwHY3tVjMhnaMLkrYBAIBJAgAAAAA4jVsBwAUFwLhM6fIBQKgIACqrVANWVL0wAIsLgMhRgAR70AWInABpFiAtQATASwBdA0ALIOGyDIAUvRYAUWgq4DkN8K1QdhkAMgdANQD0IEsuwAOALgCuCcAVWAADABGwEGBc0AxgAV5odehnl0dMxeh7VaPaT1zalUFrpvd3e8RcXNhLGfXvobX5D+AEANJjAB7YvzPbs3TpzNJnRkODNEjQNG0TAACAbicrAKSzBQArXRmCigBAWwAARb96A0pUByBnwBx9PScgN5sTMAUM/QCisgYgS4BIAFYfgF4NAC2ABwAHsFwHwOqaS86YgCiADqAHQHMAZDZADgDQyMA7IJIsAAHABQAAdgFIB+ABYJ6rYMK2o0CHLIxgAQAAOEDHAUAHDO5AB8ACABboAIDBqSRYDKjQsCA10CBLsGQAPoi16Ou0R0xNqOeKsSM4msEgtuD7tz3qaEKvUVDsEZfm5B0kFloeA3Ce19K4264EDqU0aNowYYCGAQAAAABW2jkAUDMBwOiKpzKpFQBwAwBk1LVMoII0rgF2CtA4QA3VQFvWrgcA4AkgJ0CaE6ApgAbAYw2wDAABSEfdGiAskrycAqxBAWQLIFYBJLjgFiCbABAAOBAkC1+gwgUdAGQyZGjICAZIFxgu/me16Gstq5hT6PeKNZph6R4CrZneP8surhThXmk1mmjoO95hAPS9Hnjelsb2bonX5owuODMaJGybpk2TAAAAQVq+WwDAYRQAleWWKKjMasCKra8DVqaArCkAEQklur4qENkf9QEA4AnQnIAolwMoAaoB6LcKcH0DTABSZHJTQK/WxLIMQAE1AAJghQIEwFYAdAAAcBUAMimAAL4AOsDoAHSmAzkAqSeABAAHFgBwBkAHQGcBHAAABgAAYIEDAADoGC5oJHBlGmgISBgBVAwqPpgN5GNvu5hK0veKNwgWrUdidqSP/1jFUZJeK2nG0Aatx/dt7tfiVi5EgZ3ZtgkAAAAAAAAAQFq+YlVAZtVRkJlZtS51V2ZmZmafHomI6ppxgigzICTZClCaFJBNAOvIAioQi2yIiIhoNgAKUC1A1RoQWQBLki3AKqYFGpAsAWjgB1wFAMUcCUZYyegALtnAhQs+iL3ETfsOJOahBBbNFAnzh33H8XfcIm4EFrYYWZLbd+Y6c45YLCgGAAAAAAAAAAAAAGBf1hfv169lkzRkkEXfuvtGr373Rz/1yoUyZpQVVSuyrLJ8SQoaM8qiDE2yiYZGozTVaKakUqlsfzQbBdVoNkoqlRpUKgWYUZHmpqG52dzOJI3SmPahW2M2n8Y866tGuZ5noz1ptgowWAAglcrKVSaNuESjcU6kUVQqqFS2kqu8rhsaTpSeAoCk0alG81KNCkzh6kilA6h0eT661ONDcAWuAgA=', + Ab3: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAABmiHRzAAAAAMmSkowBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAZoh0cwEAAAAdefI+Dz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + Ab4: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAAB95HhzAAAAANOHIkQBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAfeR4cwEAAADEbfw2Dz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + Ab5: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAACJBX5zAAAAAGdeIpYBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAiQV+cwEAAACFihWsDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + Ab6: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAABR+HtzAAAAADK8t2ABHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAUfh7cwEAAABkkY3CDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + Ab7: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAAAlDH9zAAAAALEhv2sBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAJQx/cwEAAABMpr5eDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + B0: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAAD1h2pzAAAAAO0XjtkBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAA9YdqcwEAAABYn00SDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + B1: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAADpZmVzAAAAAJB8bsABHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAA6WZlcwEAAABkauW0Dz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + B2: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAAABqW9zAAAAAGy4NEYBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAAalvcwEAAAClJhNaDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + B3: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAAAtlWxzAAAAAG7/GtcBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAALZVscwEAAACKY2CnDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + B4: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAABWz1dzAAAAAJgTpTcBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAVs9XcwEAAABSo1yyDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + B5: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAABAWVlzAAAAAL6EoBcBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAQFlZcwEAAACvfMGeDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + B6: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAAB3gFVzAAAAALDpOwABHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAd4BVcwEAAADkwAoYDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + B7: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAADzu15zAAAAAJBPYvUBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAA87tecwEAAAC6mwxXDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + Bb0: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAABXtV1zAAAAAN83IFABHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAV7VdcwEAAAAMpc1/Dz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHGGHPOOSA0ZBUAAAgAIAAAAEBxFEdxHMmRJMmyLM3yLM8SNVMzNVNzNVdzRVd1Tdd0Vdd1Tdd0TVd0Vdd1XVd1Vdd1Xdd1Xdc0Xdd1XdN1Xdd1Xdd1Xdd1XRcIDVkFAEgAAOg4juM4juM4juM4jiQBoSGrAAAZAAABACiK4jiO4ziSJEmWpVma5VmiJmqiqIqu6QKhIasAAEAAAAEAAAAAACiWoimapGmaplmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmkaEBqyCgCQAABQcRzHcRzHkRzJkRxHAkJDVgEAMgAAAgBQDEdxHEeSLMmSNMuyNE3zRFF0TdU0XdMEQkNWAQCAAAACAAAAAABQLEmTNE3TNEmTNEmTNE3TNEfTNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TLMuyLMuyLCA0ZCUAEAUAACmrrfZgHIEok1ZzaBBlEnPRFUPKUewpUggpiLlFTCEFrbaKOcWgxdo5hpCT1kPolGIQAqEhKwSA0AwAgyMBkqYBkqYBAAAAAAAAgOR5gCeKgOaJAAAAAAAAACB5HqCJHuCJIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkucBnikCnigCAAAAAAAAgGaKgCiagGiaAAAAAAAAAKCJIuCZIiCaJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkucBnigCnmgCAAAAAAAAgCaKgGiagCeaAAAAAAAAAKCJJiCaJiCaIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAHAIAAC6HQkBUBQJwAgMFxLAsAABxJ0jQAAHAkSdMAAMDSNFEEAABN00QRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAMCAAwBAgAlloNCQlQBAFACAQXE0DTiOpgFH0jRgaZ4H8DyAKAJMEaCqAEAAAECBAwBAgA2aEosDFBqyEgCIAgAwOIplaZookiRN8zRRJEma5nmiSNM8z/NME57neaYJURRF04QoiqJpwjRNU1WBaaqqAACAAgcAgAAbNCUWByg0ZCUAEBIAYHAcy/I8UfQ8UTRNVWVZmuZ5oiiKpqmqrsuSNM3zRFEUTVNVXZemaZrniaIomqaqui40zfNE0TRVVVVdF54niqZpmqrquq4LzxNF0zRNVXVd14UoiqJpmqaquq4sA1E0TdNUVdeVZSCKpqmqrivLsgxE0TRV1XVdWZaBaaqqqrquLNs2QFVV1XVl2bYBquq6sizLtg1QVdeVZVm2bYDrurIs27ZtA3BdWbZt2xYAAHDgAAAQYASdZFRZhI0mXHgACg1ZEQBEAQAAxjClmFKGKQkhhdAoJiGkEDIpJaWUSgUhlZJKqSCkklIpGaWUUkspg5BKaaVkEFIpqZQCAMAOHADADiyEQkNWAgB5AACEMQgxxphzEiGlGHPOOYmQUow555xkjDHnnHNOSskYY845J6V0zjnnnJNSOuecc85JKZ1zzjkIpZRSOucchFJKKSGE0EEppZQOOgedAACgAgcAgAAbRTYnGAkqNGQlAJAKAGBwHMvSNE0TRdPUJEnTPM/zTFE1NUnSNM/zPNFUVZ7neaIoiqapqjzP80RRFE1TVbmuKIqmaaqq65JlURRF01RV14Vpmqaquq4rwzRNU1Vd13Vh26qqqq4sy7Bt1VRV15Vl4LquK8uyDWTXdWVZtgUAgCc4AAAV2LA6wknRWGChISsBgAwAAMIYgxRCCCmEEFIIIaSUQkgAAMCAAwBAgAlloNCQlQBAFAAAYIylGGttGKNYa62JI1prrbWWVmuttdYaaae11tpqrLXWWmuspdZaa6211lprrbXWWmstAEB3wgFA98EGTYnFAQoNWQkApAIAAMYo5RyEklKqEGLMOSklpVQhxJhzUlJrrWaMOQgppZZa0JhjEFJqrbWaUuekpNZiajWlzklJrcXYaq6llJJaay3V2EspoaXWYq251lhKSi3FVFuONZVWWosxxppzaym1FFuttQbXUokpxgIAMBscACASbFgd4aRoLLDQkJUAQEgAAGKMUow55xyEEEIolVKKMecchBBCCKVSSjHmnHMQQgihZIwx55yDEEIIIZRSMsaccxBCCCGEUkrnnHMOQgghhFBK6ZxzzkEIIYQQUkmdc845CCGEEEIpJaXOOQchhBBCSCWlFEIIIYQQQggllZRCCCGEEEIIJaWSUgghhBBCCCGkklJKKYQQQgghhJJSSimFUkoIIYSQSkoppRBCCCGEEFJKKaVUSgghhBBCSSmllFIKIYQQQigAAODAAQAgwAg6yaiyCBtNuPAAFBqyEgCIAgBAiHPOSauJUIw5aT1TDDpptXfKGcQgxUw5pBik2jnJmHISQ2ohZE5aiTmlEkqMPdhcYw0CAAAQBAAEmAACAwQFoxAECGMAAIIQmSESCqtggUEZNDjMA4AHiAiJACAxQdHqwgXoYgAX6MJdDghBEARBEBYNQAES4MAJbvCEN3iCGziBjqKkDgQAAAAAwAIAPgAAEAogIqKZq7C4wMjQ2ODo8PgAEQAAAAAAUgD4AABAQoCIiGauwuICI0Njg6PD4wMkAAAQQAAAAAAABBCAgIAAAAAAAEAAAACAgE9nZ1MAAIDcAAAAAAAAV7VdcwIAAADSQTr2HTnOpqWamJ+UiJqYkIuTiYiUjYWSlI2MlYqBkI+OxNj7ir8t9k7cZb0JmgKwfrr6xeGyNu0Op9PtmaGvAnQERCS5mRU5cuRYkUmSiACIONDN7m6SbEgAmtmF6huakgh5mc6oOREdVrvj8usMrHiJPkaNieg1D2YWNVkooirKMn4xmzvjdWleAhRCVhRXOZLZIAAAAAAY3Fp90AbmO+t0ONR4OJ0eDk/1NAlYWmftVBYVlaqUWaghsqiuCIQiy7K+j9DJopORZLOaXSYFpU2pyplTWyCESNMk40EjaEalUkR2sRu0SFJRkWRzXmsrgyDI5/MnGG0OABqZJAQuo5eEkAXdAP+oI+Gy7THtJXBve/Eigtl4I2E0HnBTjwQtYa0kZVhkSAC+6431n3dhof40xqK5tJLTbhz+VYtC/Sici+Qyar6XmpMuS6hKSanKBgAAAAAAAKBYYmmO+s+IjBVisSZkZBaprFG7srJ20bdr2RKhqBRERa0MQdlR7EZEVTsAVCBJ02sAEKiHFBcdKKUAWpN13yoQWQ0Asjb7SaMA68giQHriu9XYBIkalwRbRBcJw31fBtjfmncZlBhVifnaoK3UelFdvxIu0MgAvgvu7c9mQcFPFNZi7LZgzWm3br9nQ6b+ovheSbCbhvADybe5K8kEhKCnK3a5DAAAAAAAAADAacxyI2uqGmxNqJt0QWVFvdqVnT79V5b9dKOyr5RLI0Ok5EBKAfRaA4pnKxIaIr/I0QDaDMuK1WZbXRv/uuosKWiWLIDcqCVAoSuDqgSAerTKCwgUaAHJSGRxNzBstnbXycSSKVCmqIdRkzZcCQZUPvsN5c9Dc6IeJoxBmh4mhc9uKb/CYKU/pu9BKFQavpfmru8yQSHk3TazDQAAAAAAAACgPy2PPPSSzKiaRbcvshtRaWXvTq0edXEwsUzXYmckFRVyI+uiwEMTouSNAgsqKrsSkJstUCqgnH5vEKVUrE6eHTEFrCRTAEFV5RGgKLXMJAzeF5dK4SoPtCLpthhHHs7XSkWoGhISAL77Le3PR8yMV6DGYJSmSJ7V7jD+miWq+hfFc1C2H0jN96n22WUURil2pAkAAAAAAAAAgIpl5WIU5ytSqbKKbbWQC2FZ1Fo6qnO8dIXRIUfRWarLEtERKTnELoVk3zS/DjRBkFrNUSA/2gSlAFS0CFAA6GqQM6rpkrSA3/HlAgjZ3yRzHNgACf1LOoNPv29euOuo0ZlhQgUW3vuthz+bUxTqE+i1aFMF27R2h+n3HKrSj0h/B6UnAHyfalNzZBRi1pDbzDQAAAAAAAAAwOKyhVzI7pNEpEtG1BCxkFlVv7Ln1GdZ5WI/CyovErkwGmdGJ+mUX6LeiKBn0Rle4wKh1UXuj0so4FEtCSEgebRQAUB9B4J6KGRULFMSgJV3AoDlFchzaKO6TwDkCRR8MIK1iA8qmRJDhcECHvyd67/X4IyfKLTBmCiiAK/defo1pyzCTxDXYkyl8Np8LzUv8cgSBrFVbNoAAAAAAAAAAEDWGeWSWPa4QrEkVWOUWSzJ/hZWjP7tWxbVi8JoaQb50ufsk6D4zBeVaIMCIUj6IgUAZNiRUFCPUKACgLRDPFKkVDSgy1AIyNZ7+roBkBdqgsYlYBUQiWnsBnCJIVNxAb7rncq/VVwwVTUbZXmFB3BWu9P4fQ5ZhbmqY6T0+hJ4bb5vrpJRCLBtgwYAAAAAAAAAACqy0pJ88kdSLJH6kSxXNVWpKA4sLSuLvT5qArk0MozSWPT7FOMMCpKCZwlN1Q6AoEHIAQBAhpTIhdBYD9PxVHkIVqaaBxhtAArX3xMCjoHCJpoFVQX+662Hv1dYhfxUaizGcpd42bR21/prxah4zKs0aDMFTPkxBK95JV4URtYok7YJAAAAAAAAAEA7yLP5GtqYpZl1S2WO+ihHfXou0SuW5q4O/Q0Z5zGKCtZy40UXBeRZ0KiQVrUBFEjCxQgACBkeEp6v1pJfAEpL0AYAorFMVQDay24CkpTLSi5joALwDID0TsC4oE0KyAbIEsgAvusdyt+rVMWFuAYt9RpWu0v9tVMU4dUXaVF2m0qH833nlmZiYejQyKZJAgAAAAAAAAAsLl0YFT6kMrK0Av0gF6Jygeqsy6ioksc+qvbosoTQScnt7VJIaFwpuqZUaAGgrIXL90wECQAXhVfClQwJAPzytS0mjM3vusfjgwblWVEKAGB5SQgADwuAJwD9JzNYzTAvUYGKgQye2x3avxkq49WFXJTVFfPVpHbH+vtKVeifrj4XZS6FBN83lySWUQiGbQMAAAAAAAAAAACKmnKhGD9yaBW5uDTyEDpiSVbUZM+Sit3yyijO6s4ly0SORmOpyIxReUuFMwJSjxRVlRJtWoKAamnkXgdAQW4oBKsfdJeF4hlUpcjMIydNAdRNAOpqZYBBwisdXLi+2y3tz+c8Ga9Kr8X4TQU7Wrvz8H3WLvRrFv8XY3dj4Ps0n0uXiYVg2DBsEwAAAAAAAAAg6siLhCemqIxR1KDIzCp6Rrmijpos9suqiMUUCqLc63tTjFISlVTBkyL6ICCQDiwAoECLeoJQQIAMgAQAnvxGBrEsADE0KEqeAQC4Ws2DZkH/gYR0oTIAvusd2t+rr4JPpddiVG+rWe1O4/fVpwo/B/0dtM21suZ7hIWa+xGLE0JwNmADAAAAAAAAABRysMjrjagKUBlLlozHVR/LnlhcJusWLDVeQdXRuO6KhWVZ5aZxt1rICyHOlBhKtIoCgQzCsm2AlFsPAKCAVkDJyfsJD6ASjUu1QwFgHM0AIKym4DebhQWpM4EFIUMAvuut6z8fqQv5q9RajHW+8BhWu+P0a5YsU4iDFm16hNrke619FFnCAGAYsAEAAAAAAAAAYMWNxg59HuPUv6IfqcxRRZ9cGvUX9V26UNS6rM9yGYvFKEhI5L6+6EMBj4CwBCkAUCJeXgkYzSehKBAELUolnRl4NqYrVS5yhlDAhqbpAYCahIAq4QLe253bv5mqkBl6DFb6yWK1Ow8/K0WhH53+X7Tu8dU2+B5hIH7pSQkDhmEAAAAAAAAAAAAgGMUqa9AgolBRUVks9aQR9Vmx0M2DpFwSvStjaTf6M63I/lPWFJKLtG/jg6DaCgBCKI/VUCAoPtp4yEMgsCrT5Hj3xzHL8qvS5iN4AoDx8hEJpIYMvtud+l8z7EJ+KrUWa6qFR7PaXYevmadQr5l+Ltq+hFCbfN+6dLE4IQRnwwAAAAAAAAAAAMpLFrE0f2Qhz2JJZtGPNFqS1XJpubi6bMmy8qBztVIaxVgqpKLnlZW5QAdKBTzjGlQoACUaT1cACCCrXYIAxNZkJAtUyFPCYCOq3VIpFGi0haBoXDIJaE9cFwo3gQZhAb7bnfNfK+zCXpXeizVVzC1J7W79Y7Yq+HT1O2gTITRtvpfmJemyhBCQDQAAAAAAAAAAAChXVIwvjvcvzjJGy7PyIJHF4rim6CxWdvrbU1ml2L9c7S4Ziymsicti5VOsqxAPgap8d4sABFIrAwIAXJHAk4SUAuAnemRgZSICAhpqP6AQub0CdxaUVwYLGZ7bHctfK0zB1em9GLsY56VJ7U71z05d6EenvoOyj23UVnyf9JJ0KWEYMGwbAAAAAAAAAACoKJeOl6aLYjHzElH0FSxVLDeuOur3okvXqZpLKoRcjGTEoni95WicIX8nl7oASJJlAABElsTygCoFoNox3jVzUyFwc9NqfwDoLAcWJRhcDRc+263jXyPsQq5K70WbHFKS2l3b54q3ok/COWh9Rez4MeDTvMQqWUIwbBgGAQAAAAAAAAAATEpj89aZ+E37QiztI6I06vYrOst7zqssqVJ2aseFqsR4FEFBRaw8u9VSZUeIApLna7x2QVCLyF89QwEgsh4NgniEEJsJP6HslZ2oNlcjACu79BAUNGcCrgXpqHGBCp7bXfIfu/2CT6Teg+aUjEntrv1T6wSFfnV6LMo+BbHj+2RXuiSWWYfl2TQAAAAAAAAAAFBZueRCusQjllhajKr0lpEXhRWiqFSHxYoi+0nVhCWEgnG6HSmi64PeS1SkBQBB0silAAX5rPpAOSaaogDhyzTPVJJvIWAAlDwUoAlUiMjnBg0KAPwMWGALDitXkJOLAQu+293aH2taBa8qPBejRUBqd+2fe9qFviLuRZtgoRy+1zoliYUQYJs0AAAAAAAAAABQrKhcGvEkmd3RuIrKXtKoIhf6V71Y7FtqRRZrolgujSLVOipZPuV2VSSCPIuS0moa2qUCQEUif6UAgFZT0VjxSptWRtvcl2cRXWzAAOBZAAByf6TgqpCmuGgNuFi+253L3yedTI5A34vVewZSu2v/3OEU6qo4F22EVqglfJ901EgShWHDMAkAAAAAAAAAAKDob1mO4keVlor+VfeWWSzm8sqoNe6uUF9UjBf7qllCxoUURmFU7mqvxijLHP1E2dtoQYREs6+EAApaTT9aAxWeRKjJzeyi6zFh1fgXS6MAAJ3lwAoQrQJNA37bnfJfe/iFOhR5L8okK0tSu1v/0KaoCFdFLsomkonxfdLR1MXJHJxtmwAAAAAAAAAAqFyoGB/23pLRdrzkLPvWR2RWVSWy/yLrHo2LWLoX1WMhFyPTiEXxJcsoM3K8mp7qPQVQJWo1LwIgIG3PBgAQ4kmWAEBLp4kMUi0pUFyVNRcupaHkm2EhuCoudJ8m0AhUMgQZntvd0u89TcEVyP+iRdDWlHaX/LHaLTgC2SuN9zGQls2PBS+ZrhJLCSHAtm0AAAAAAAAAAADwsdmiZ2STndmnRygV/RTq7lUcq+qr716sADmKCOuwGvlk6UqTMXfSqigZABRoejYpaRk/sdLiQTaO4ElRSGblU2zqXsN1NQIB114oWFMQHSwEFRokftud8l+znYKHImsxmo1Hktrdho89nCJ+NH0uymQoNcn3LUUllhKCAQMAAAAAAAAAAACAJcVSS7L7WEaMavLgVRG5TJWl5UIftSNk31BdT1gCo4gc5+uJFEqKJKC0upArVwFo+ZJEfXfA4tE0gPYTqapoLDnrtH6zPQQAIfNyQSMBnttdyh+7/Yop4D0YPcMgtXvqb20WJEKsQi7KNhhZ830yzaaEEGyaBAAAAAAAAAAAML600WiJix7NqpHLo083RbEwLvtP/Y+rLMkl0XcUS6tKo8hg1Mms2Pf8Ng6tfmGyGlkVkRZQhVJJ66kAvrmdhmJpoEUAPEJFIV+Kyt13pNwqJEDA+noCjo1rQWwTkCoCfttd4h9aTVAwa+oejElFkNrd28eZfhGuQI1FWQcjG76b7EosiYVg27RNAgAAAAAAAACgXGFhVOTFEaeycjFqOtJoMdXOqss617LNxsqMdQ4aV4QIC6WDt6NRluJ0PEVEqssAIARYBgFQkK2UrPr4eOzyMgIPEKFy44kBKgQ8AASCsM4R4B2wID0hISoQWAGe213zH6ftgkelfhdjQpmmJLV7tPuTTqEfM7UXpb8yTZvvk13SpiQWAgDTpgkAAAAAAAAAgIqllQtFfqATFblYRN0pM5fHqP9cYSFqj0eZPcuisxy5GNIoXNC5tYzFjLIe0rkqkqYCgFCETAAAKlsMdJQtBABYRjyxg0FQVLgNCjwBQMBqvlBaVKjILsgDT2dnUwAAgJQBAAAAAABXtV1zAwAAAJGOEdsXjIa5seeM6o3Cs8DF1ou/w7DmjO2GwNR+213T7zWsikvjdzAmSGlKUrtHv9emQREeFW3R1pFCy/C9ZEucWCwEwzZpAgAAAAAAAAAAUZdcwqNljjq5TF8hS6PKmrj0KC1Rxa46e6oI4yIirJOuJvkVy16FjD8P220jmgsAUvBsQgGFbCoBIo8nKJk78ksps0gLAtQCCTwAQAgyVwXNhYRkoKKCC37b3dKv3X7FEXEPWk8KSO1ey1ObgUS4JtoXLVvEuH2ySxLLEoIBkyYAAAAAAAAAAIBsr6328vpSl+s4dNZNcGj9R14qo//uuAx1q14kHIYowjhvJ8YR5WKdNVJSckEABFgFAHCVKlzw5OrMJRRKOyKzSXMDAfSnuiMhEBrikiEzMCwqBlABHotdwl+zPEquSL6DNiFGiFDske5He5SaK/agNTltmx8LvnXNmhEBCBoGNIyxTQIACBgkAAAAMLnmbWRZTrQFChSAuRVhlDWEhWJco1ihpuhbWSzm8SC1B2kkg6GTZbFvfYuLVAxVbBp1JA3tnU/yi1wpBAfOhYjcCwQQHJZZzQIo6IpkG+NCSCkInd8LLOGcRZ6aAAi1UJohVUR2ayiAOrjCgg4AaADAFCoAd9BxgAIyV4WFi8wClgE+i13cv10eIVGRc9Am/RFjFLunjx0+paZI9qD0ndJxfN96nbNGGDpgAKZpAAAAAiQAAFBRq7JYOpc+MqoYLymz7iFFsTSrLLVYu1zaS7WFg7JWaA2LchCFi7I91O3oOF6sSD/pzyenX6xqZuSzEwAiCH03MICAsVjKXYOwgYv0WqNQSIHNEbm/0ETvU4vnANiuamSqhQiiRwUg6NL1AMBAOHSvSgCAbgADDQ2NKkCGJgP+al3DH7P9Qh0a70WbQCFCqPUoH1oOJOIRSVu0CRLamu9bD5xZI2pdwxozMxqjQdM2SdOgCQCwtP8lsdRjM5fEaAX9pJTLh97VRadm1hrKMpbcYnlvcrwYUhQu7tZ/ce/RxTnUqFOgVDPpoiujKwMAchCdXNYhJcKW2TcnQEHhSbsogiaArhpDxRbbmArVwaAgmrB6AeVo2lCHQo9wwKChFWTmRf2ZrQEAILdY0wEAAwxUIECABbBYQAE61x0YgOG4Q8cei5sFC9CBOQd0ALDoAIAOBgCADjAgqaBREQhkGgQIFWQVFgye2z3Sr5MfIY9Onou1rhJw2j3aW5sEhX5FUhZlMpW25nvNrkZcQjBgkyQAAAAAAAAAAJArHuOlHjfeG3Uv1iekxSiidvSqKXZVizKrrHYX+ghZhBBJk9X8iud+RKwSkQLt0taqagoUBVFRH0tImAigCJ6AWSAeBUkYrC1/yVK1jCKgj8kqGFQVDcgZGb5qHe1fHW9BV/x30XpKaXI6rVv6mOkRdQ44F6WnlLbje4TBOmetUQsEaNgzGjMaMyRN2yZt0wSAUloiy80b+cLk7gYVKADse40AyywfL/VI0Sxvl5ajvmUkhzbqr0teyEsVlqluzBpiWCLiec9ekNodVmhuQNlgLbLp8zWCgAL1k+wQUUQnwhFpNEGhGQDmh0HuZF/m3oYsAAhWtKI4hcIAFNWhHQAAcAAYToILLIDjMIBjWIDhAFi36LgYxg0dOo7rA52A3tE5ABwL4ADQsWAAAIAOAMAABwAV0gCLC81ABkJloIHAQEI1AF7bXdOvkx7BS7P3ok21k+C0e/T3br8IH422VNhU+VqG76U6MrE4IQCATRIAAAAAAAAAAMgVi3EZp0dHMb5QEXVXiFwoysqauGSO+yyMx9FnXPZUYyQjyDe7XrzlekmySNHyLTIKANVF5JYQoArqYT4BJVMQZjkGJai2iswjhYcCNNVSAoD3TEEiQWIgAf6KXd1vrSoLHh17UabeQSj2lO+1rlHhmmkGZT1j4HuExXquNUsUuu0ZQdq0AQAgSRIAAIXioDPG10NeVDOhcoWKpak93B66mcuid6VQXDxeViUvrVMcrizK3L+oz1JpWMqMElD9oY2czecXqgHSQNmNmlYAgK7ZAMWJAgjNDJtQJaAc2lvoVYLoPPOYAIDS6qVSXKEInQ4Ohb4HwKUJQUYeDyQAgJMIkMjQAQAdACgAcAAcBx0ABDIIWC4SCAmWBTQN3oqd7R9ajKz4dLIHafaYgE7sGj607KJ4dJIjBaZXaFG+13XNkomFMYABDQ3btg0AAEACAAAVK1RWDjE6H7dFLMv9FRmydvSb6vqh37KKXstzRSMyz2OUZF+l+X8u99VpliGkgbquM2JFkxQEnDqka9fyVIEA2YRjCQVdp6p2dNRp5gDHmMrVIHa+QUW3XCQQuLXCwePZAcEI6cBdAYIO6FIOAFQA3UEH6EA00JC4qFADCQ3+it3dd60jFByVvhdlqn0IxV7iS6uAhK6Vzq3CPiVqaX4M+NZtZkYYGvZQECRNAABMgAQBAABitWmxmNJVsoc8UFXG0lFRqyzPqsvOknHG6vL2kiGMRyG0CxlVtofYywuxcqEyqloNSqOawmIdlgSgbGYmbkudEgiG1LeQshCgCxXtArpmAI7qh3z3lWr0CwUgxZ72HWmgypaJDeA61+maJ0AyEIN91Q2AA0hoNwEQdACAgQAAdFQqDRoaDQMNLheeip3VLy1XVhwTdQ7CbtPBJ/ZI99rMUeGawKDsLp0Qt2/d5swIYyzWR1CDtg0AAEDDNAAAcsqxuOa3k9yymcrxyl4y2kuqWm3oP/rbjbGmn2GFSg1LSO1CLJznlyhOo1jaSUgUco3u1FKrBTScLZK+uEoAYFLTUQ3QKVCIbBM0aQDAx7LzaMJNLVUAOtWSpSoIvRQbChRPkJkCEFNq9upuIQC4IQDQM+wTBgAAKKWDC4CODqADAICu0wFgQULjonHBEkAiAf6K3eIvLTor9er8HLSFjBAmFHsub62qK/3ojMGYTQY/FnxzO2uNeGa2GhqjQdI2AAKAYRoAACC+Jg5mFFcty/VUNqmoH9fXzp4qowOlwuybC9XEKDJCW7g49hZXOqzoDVXNg2o0tJOptgQF1uKImDneCAEgONBYLxUAAUqjySE0HJwjbwmrU8UMhkcBTJZB7jZOAAgGRNAIpX+3j6Beav10YX+a4AIAgEOgCgFoq6KqsyghDAgABpbJEHInCAAehA4cDh0AdAA6AAAcUCsskAIVFQaoaAI+2z3Cl7YqCV4TtRZpWaXgtHspT+3UCP2ZBBZtOg3cPtWlSiYoxGzbJgEAAAAAAAAAgNUcy/U1r5H+TNKLo76XyIXlY3Xk0iXlhfoU496RNVIsShSWRBzIkCpaBP+Y9AYQhKgrAACWvAH0A02W8u3K1qJCXAGgIK0ALVENlgUpsVomYAVqZUG4YBAAvopd3XctMyt1VXoPUpsPodhLfmsTVamjCowU+DgIj5C7Xtd1rhkha2hoaAhqCJKmAQAwQBAAAGDSaUTVQ5wDvFsVKqsrFgpzzpqh6iGGSIv7VFaTuRjR0yTS7NP9xX1leRXobAqyjaiGXAqITY12Z6gCBzyzzmoAAw5URqg66wwQNhFvmCeDo5NtBYBIiVRTwRLYGCD0CL1ZCwqlltlAggoKIb3oAAIiXaADljw6AgA6gK5DB8ABAwsIA1wVXDLeil3cb606C5kCOzelhcEn9sj3WlVXao40Q4WsIgn8WPBdZ/PIxMIaM9ahIajbtAEAhmHYAAAANZJLlZIvbLvKUL+yjaiMok+fXKEtNpVC5S6ql2Ic0YYsMpc0r6ed46FXW+y4BMT6yvUiohFgCyJoPGWVAjpYLhmRMAxwVn61EHGADdcGmqGjSo8ouSFpAZpLOmwuICVJyP6LQOkAQAHBRGtLgAAALAADcANAdeiXABxwgAMAcDqAsECykNFwQZW4UAGeil3cdy0zEvoRcC/KhCgxPrGn8tYmqgqPAAZtApUY3+s8zxmxEMTWMDRgkjYAAwBNAAAAy/StmJlz1Gcc/ev2aCP7109lZ4WetnaTqbJV50iwhOpqXLukX3LP3pfcDU0KMroNo1VVAEMa06a+A5EBdNjHrJciQKFwNJ9AiSgQ6M8GNOHIUADcqlUNKgVEg07F1BRgcFRcy2RZXAoAegDQBqDwRgcAXAaMBNQMNJILBr5q3fV3rSIUzND3IsQRodO6p3ttcoQ+NMUiTbQvxveJfJ1rRqsh1tCYmZkZDZKkbdM0bQCArEtUjNOoe1FRsSTr66WKKmUd2S6vWq5cCHpGagVGkUPIsNyub8eIqvQliz6gNwlQUTUzebY1AM5c9ZFIWgUoEG06IlFQ8LxGzCsY3Wh2AAXS6BqNQgLIEFAcVagAAKATzBRU9GeZ4CyAInslGwAaFBYGznJbAIAqujoLBgAA6AAAAwR0Oh0ArHMwAIAOnQ6ABToAABwAsOgAHCwAOACwwFFhYNAsIKMOWCRguVSwkNEA/tpdw492IhL6CjgXaZINnHbP9Uu70YS+AmFRJshI8L3UqE+yhBBgmzYAAAAAAAAAALC4fCEusHhec3ZRd1z2yKxYoex3r2Jc01nSI3QjaioRZbaadHUd3zbIJ2zzbW1UG4Bs/dUACM14FAUAQAsh/iCmo06JICMaoCSW7YaiGlxWsdwei0IjwSAxkAC+at3dd60iEsyBuhelWUCn9ZqfWmcRce4CizYAmBjfS3vNNSMCEPTRGI2ZGUGNsW2aNG3bBgCoQlWAPEGAippKS42jc3E3ajI6ZK4QVWqbl4ra4yx1i1xSjVw6BGkSrj9lXoxj5UlxjQZIPfvFUBaRaEk9pGb0xTWkALTLHJ5ocoCD2FYgxTotKJyrO+RWMOMgC+CWqIaqRiAOGAIQVDWvEAjQAVIUgFIPKYIOprpdACwQoAMAAwueRe8FgAPOAgBwAIvjAOj6cOA6AB0OANBhAECH7sACVgcAABYOAFQyFiQNNFQYAi6ZigWXBSQe213j9x0+wRzJvRiTZmw47V76U1tJhL4izapBPMkGfgx4aW42iYVgINMAAAAAAAAAAAAAMlPa5JqnGl2u7AqVirI/otfy8lQRQSfUSGPR0OhltSsC67QK1QQe6kWxUCIIGWiCb1FgxX1YPAuAPAvyCAiZtNEZNAAeFQBawmq+4E20AIsEFX6KXdV3LWdWTJ1eg7SLQtCJPeWXdsYS9ZgEFmkAIvg+9WudNUIzI9YAhrRtAwYAAAYAAJZnlXGlyujWve1dRqejiey/UWdUL6pu5zAMkT3VGhZE6haW5d79Ssxq+sWIzEGSXwiGQylhXC0wA0BUzlzNpwIAwBJhK6kDIJ6eoFHS1Ub1ABSUTLUBAAK4jnM8TwEp52i7eh1EBwAAdFQVBMwz0lB0AQ4FADAMgAAABoDq0OsAAEAHgETgosKSwCAYAN6KPbsvbUcRoXb4MgAOBD6x1/zQTozq80QYBkATfN91zcws8RFrjIYGaJsEANiAaQIAIFY8l+ZweFh8dcnyilE3iYWKcUUttXK0VyoJ1ZWIIoXuKC5RtodsMpUXRzeNS6Bp5F5lVT7bApywGe1iFQJAj5yJxoPhCPR00C6FJs+mDgfVerHNuHTzvPIE4JayaZYeACJDAA7l8aygABQjdAxvZ4d+jxUMLgA4NRJwIOK9qyoH7jBPBQC7TqBmgB3gwGUBAAAMAMDBQANuAtpChkEFg8sCT2dnUwAEwPABAAAAAABXtV1zBAAAANSQ5OQMl8LGu66x3q+uvbqxvprd3I9WGQnmid4rBfobM+czey5PrasJrplm0UZgCDyC/nipX/poioURYJg2CAAAAAAAAAAeGEExbps5LsNBAhX9V47F4tglZE29QqR+B2KcrXTd1dXk22XJ7IwuWcuAJQUI0FiRAgDI0nwCFFTe9e55lgIQBc1nEZmiXQCKqrX8omV7gGcCSBIRo7qB40hQfhS4BJCwAL6KXfJvrQOLcAXsQZkYZ8on9ly/tRWi6iNSDMpkMfi+dZ1ZS8gjFos1IEjbNgwDpmEbAABLq5eUI2dLFi4vFofOMrWZKwx115e1+mTdRYpmtivWgeWCchRxYVvdbcJifUSeDUGimclFKhHgENCOnBsKAMshd5WgGNBxNEJQngDgMUi7SWIzEwWgRwWZ0qIHkE4OAKyeIiAc1EtnyUIKALmyNQCGBAsAuAkMAIgVgAFYAAAAB0QDFRLZhQoqFg0ZqosLvoo93I9WQQRHpMagTKqCT+y1PLSVTYSjExalPwn4seBb55pZMsEZ8QCwSRMAABAkAQAA0FzaLQnt6BFckfWhUdkW/Q5LahULlcOiWcYKvaVxRtKNXFrklyg6Qw69iX1oglyuVTUzAFsEW2Ou5tICCrRjeUWwhUIRbaxChTodcOoTJylO+j54FICR6FXNUk8nEToBMIC4mnsAfsTUYN17mgsKwNGB4phnpEEbCI4CAIDOgJUAgAWgDvQFAOAaNGjIkJExNJABfopd7PcVf8EcyLlIEyK0DJvYPb61iSqIgTAoTUKC77vOWUssDLE1BhqwbQAAYNgwCACAZVE1l8zx4fJu4XDV7J1iyBWL/uhb2faHfjeKnN1cWIZcGCKVI8vsLd4UpU6VOUKkKdCRu3I58pIVi3EAgRIxcjpHgA7uIXctAvaE0KGaDYoH9QBwtMHqDuw4JQBsF0JWKFTcnC+QulFAMgfY1KUIiSYBgA0AYgCAAzgAAOgA0GQSUNHQVDQsAL6K3cL3lT/FEcg9KBOltAyf2HN7a5NFhStSDMouQ4jwfeustcRCENsaAEgbAAAANmADACBXLGKJJeNZM6hRBLFQMa7sX2X/5WpFRoy7oQaxMIVyiAvl8HpnLqrMiE2j6Dz78/q6EcmlAjZRwh5duYoAKLiG9q/oCMgOsNx2cKgGgOM2cXKTshtxlAAojsaVSxQRrClAN7UHwBa8lCMLBgUAF7AA6CBQNUgMBgaQBL6K3d2P1oMoYsAaNBdhzCf21m7aGlT0KYKljLwKwfdar1GzRtg6rAGAtA0AAAwANgEAKmtXDBUuVpzKyuVRNaWFC+O49Lz0i+LQpUVlzsplwijz1HLduJb7fWWaj8yyEunVLHLUtZCyEgApE/pMQgEgMlpHG66Aoiq1Cpct5HKPKmHTbN9QA2CoskxFAsAWbSaAQ2wjECHNkFE+OFjrDQMAPyqLAHAQ54KMrIGFS3ZBAp5qXeMvLZMIPUdqLUorMWbTepS3NtlEPDpkUXyjwfetay7NkXk0ZgRnZjRg0CRN2yQNAFClpveoIi8qhrpnZRP7Q2bWDPql30P0LSOycohaS+FiQTmKhcXt7bXNRbKPUDwKHh6ZSzKaLgImhwp05FyiBQIqB502JNBDr2igSCc5NoCXC1ecjtGiABxKlKALCgAFplkAgwUnRL34UoaB6uBQPPsgAKiFDgCUGjhgATCAAteXBWBZOgAAwAFgAAAdGAALoAMAYAHgAADAAgDQB2lhwKAiQ0UGFwmLDEHDAp6KXcP3VX4RjoBzkSZYaGo6sef20jqpqEcVGMqgJ5kIPwZ86zZrRhgasAYAkjZgAAAA2gAAAGk0O3DStofGVone2cjFdlT2E7W73fP6LKIn1B4wLiMpB8uj55X6Ysi2qiEauq5csm0Szc0bYJs00L2CFoBBttWcQkktOjxG48FQJACdzAWW5UgGsgWgRqLS9EzQKQoLgBzUAwAGaC9NAAAOCUA6XUdCpUJD1oCrwgV+it30lxYNCqKm9qJNIrFmE3vOD22aitArxaJtAwh837pm1ghZh4YhCJI2DBgACAIAAFiey5bM8bBk9h6ppU8IWR3VvSzvrW4q9VSo1dHKIiKVI8vs+lkdls76hQrPNHV4eqbRNGQOACgjnq4gABxNc3gUcRAASoMjPAKA/epKFnWPNIoUgCHBsoZAUJRdAgXlIk8Iiq21zpFlQQCgegXgAND0AwAYFgMBCa4GFgueij3Cl5YNCR4aa1AMA3Rib+WhVVMVHhPNUCarACbGjwXf+mZmhD0QA9AwSRoAAYA0DAAAyKeaL5AzOVHHQvYdi1hYMl6hXLiwooXu0gXj7rJYXlUaLiKUQyxWxuuW4wtRGQnpGhB9MyNpkygMG2EYGcy+IwRgElQu8wx4yBQU0GxQ6Boo0Dm/Yh5L7VqZBoC5gmirCpZCWARQcXg4IIORGMbdfnBxBQB3CoCDBQAWOACAFbhAZqnQINPQQAD+iR3Ud00NKmok58CUOm1JJXaPLy0HUaFHMAzgJDkpfN91rTMjrGFAAwBtEgQAwCQIAABU1KosLs6lh0d9skqWfSIjloyzVmpW1F1Rpzysrc6F6giF8UyLQ1q2cuHAheJsoeqJaqwnFasin8ohyYIBtiNCrw0oUOa0XKFRAAsHahnC0RDYCNirXaeh61WpqATAUtXrKWkOFVWjKlsYwHXc9gEEBmTN4SoRyQEADIAO4CJxsZAhGRhgQQKeur3VT22HCGKgWbx1qBPjc/uzbtqdkGAOYPG6RgnxvdYkFidDoE0AAAAAAAAAAABALlxiWdUiI4vKJVWXVPaqWqVqlarV/fTrUA/RW33fQ/RT98F9DtR3RUaGrj9eevn9x9dvnp8e88vV5qNQqSD1uESTNHOVNAQAqZCeCqBUqtFsOXOtMzNr5jRZlVJptwqpVB9U2o1mq1IpwGk6nYEbNBqNS5Jdkc0XM8cZJLjILgA=', + Bb1: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAACLeMtzAAAAAN+AMaMBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAi3jLcwEAAAAFzriGDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + Bb2: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAADvccpzAAAAAITpj/wBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAA73HKcwEAAABAuB78Dz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + Bb3: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAACKksVzAAAAALRqLfgBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAipLFcwEAAAB/Xfs7Dz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + Bb4: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAADEa9NzAAAAAN3SFxkBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAxGvTcwEAAADU0cjLDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + Bb5: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAACi1M9zAAAAAIvZF0YBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAotTPcwEAAADiRgg6Dz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + Bb6: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAADA07tzAAAAAEdGJjcBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAwNO7cwEAAACcFWk+Dz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHGGHPOOSA0ZBUAAAgAIAAAAEBxFEdxHMmRJMmyLM3yLM8SNVMzNVNzNVdzRVd1Tdd0Vdd1Tdd0TVd0Vdd1XVd1Vdd1Xdd1Xdc0Xdd1XdN1Xdd1Xdd1Xdd1XRcIDVkFAEgAAOg4juM4juM4juM4jiQBoSGrAAAZAAABACiK4jiO4ziSJEmWpVma5VmiJmqiqIqu6QKhIasAAEAAAAEAAAAAACiWoimapGmaplmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmkaEBqyCgCQAABQcRzHcRzHkRzJkRxHAkJDVgEAMgAAAgBQDEdxHEeSLMmSNMuyNE3zRFF0TdU0XdMEQkNWAQCAAAACAAAAAABQLEmTNE3TNEmTNEmTNE3TNEfTNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TLMuyLMuyLCA0ZCUAEAUAACmrrfZgHIEok1ZzaBBlEnPRFUPKUewpUggpiLlFTCEFrbaKOcWgxdo5hpCT1kPolGIQAqEhKwSA0AwAgyMBkqYBkqYBAAAAAAAAgOR5gCeKgOaJAAAAAAAAACB5HqCJHuCJIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkucBnikCnigCAAAAAAAAgGaKgCiagGiaAAAAAAAAAKCJIuCZIiCaJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkucBnigCnmgCAAAAAAAAgCaKgGiagCeaAAAAAAAAAKCJJiCaJiCaIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAHAIAAC6HQkBUBQJwAgMFxLAsAABxJ0jQAAHAkSdMAAMDSNFEEAABN00QRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAMCAAwBAgAlloNCQlQBAFACAQXE0DTiOpgFH0jRgaZ4H8DyAKAJMEaCqAEAAAECBAwBAgA2aEosDFBqyEgCIAgAwOIplaZookiRN8zRRJEma5nmiSNM8z/NME57neaYJURRF04QoiqJpwjRNU1WBaaqqAACAAgcAgAAbNCUWByg0ZCUAEBIAYHAcy/I8UfQ8UTRNVWVZmuZ5oiiKpqmqrsuSNM3zRFEUTVNVXZemaZrniaIomqaqui40zfNE0TRVVVVdF54niqZpmqrquq4LzxNF0zRNVXVd14UoiqJpmqaquq4sA1E0TdNUVdeVZSCKpqmqrivLsgxE0TRV1XVdWZaBaaqqqrquLNs2QFVV1XVl2bYBquq6sizLtg1QVdeVZVm2bYDrurIs27ZtA3BdWbZt2xYAAHDgAAAQYASdZFRZhI0mXHgACg1ZEQBEAQAAxjClmFKGKQkhhdAoJiGkEDIpJaWUSgUhlZJKqSCkklIpGaWUUkspg5BKaaVkEFIpqZQCAMAOHADADiyEQkNWAgB5AACEMQgxxphzEiGlGHPOOYmQUow555xkjDHnnHNOSskYY845J6V0zjnnnJNSOuecc85JKZ1zzjkIpZRSOucchFJKKSGE0EEppZQOOgedAACgAgcAgAAbRTYnGAkqNGQlAJAKAGBwHMvSNE0TRdPUJEnTPM/zTFE1NUnSNM/zPNFUVZ7neaIoiqapqjzP80RRFE1TVbmuKIqmaaqq65JlURRF01RV14Vpmqaquq4rwzRNU1Vd13Vh26qqqq4sy7Bt1VRV15Vl4LquK8uyDWTXdWVZtgUAgCc4AAAV2LA6wknRWGChISsBgAwAAMIYgxRCCCmEEFIIIaSUQkgAAMCAAwBAgAlloNCQlQBAFAAAYIylGGttGKNYa62JI1prrbWWVmuttdYaaae11tpqrLXWWmuspdZaa6211lprrbXWWmstAEB3wgFA98EGTYnFAQoNWQkApAIAAMYo5RyEklKqEGLMOSklpVQhxJhzUlJrrWaMOQgppZZa0JhjEFJqrbWaUuekpNZiajWlzklJrcXYaq6llJJaay3V2EspoaXWYq251lhKSi3FVFuONZVWWosxxppzaym1FFuttQbXUokpxgIAMBscACASbFgd4aRoLLDQkJUAQEgAAGKMUow55xyEEEIolVKKMecchBBCCKVSSjHmnHMQQgihZIwx55yDEEIIIZRSMsaccxBCCCGEUkrnnHMOQgghhFBK6ZxzzkEIIYQQUkmdc845CCGEEEIpJaXOOQchhBBCSCWlFEIIIYQQQggllZRCCCGEEEIIJaWSUgghhBBCCCGkklJKKYQQQgghhJJSSimFUkoIIYSQSkoppRBCCCGEEFJKKaVUSgghhBBCSSmllFIKIYQQQigAAODAAQAgwAg6yaiyCBtNuPAAFBqyEgCIAgBAiHPOSauJUIw5aT1TDDpptXfKGcQgxUw5pBik2jnJmHISQ2ohZE5aiTmlEkqMPdhcYw0CAAAQBAAEmAACAwQFoxAECGMAAIIQmSESCqtggUEZNDjMA4AHiAiJACAxQdHqwgXoYgAX6MJdDghBEARBEBYNQAES4MAJbvCEN3iCGziBjqKkDgQAAAAAwAIAPgAAEAogIqKZq7C4wMjQ2ODo8PgAEQAAAAAAUgD4AABAQoCIiGauwuICI0Njg6PD4wMkAAAQQAAAAAAABBCAgIAAAAAAAEAAAACAgE9nZ1MAAIDdAAAAAAAAwNO7cwIAAACIKbjIHjEwpYyUmJiHgHJ0Z2dcWlVOTlbMzcSN0MyKvL21zJzY1304V+vHfn5LmFZQEWRItyTphNTYxkhGZkpqrfv58+dL/vd/bpP5/f+/cSCwMADc2PtZ8wXh+1nz7ggSbhAAxqjLaRweVsWAKEHWJaKMFAj1vgrN7RHZCgCAaDQHaAC66PUbvz6hN2je4xcNasxK4efZN97/Qmyo5rt/0WQ0DRuRsRPfbe0bBuagQaEtgAQMADQAAAAAAAAAEeO7szI9fJefWAEEUFEY2/ACQLKMFbltRWWqVPaprBqhOqqjMqtUrZKjXGZhHEVKZCPaHGlTjbRYCBXZrR0RCIVIs9WMokijkSakVyHSxDISEFDHqu9NxS3hAiAaWdFMAQAXMtDvkYGZyQC+2PXMf/3LaWDYdmOK1GwPPsXy8v2XPgfN4ovVs+r4XpesPwUA2acLABTSAEABAAANAAAAAAAAAABAbPcKhIyyRpaByOoyK6vc7avUK07jrOip7tGTqadXlisyluIxeH0UxCprsSCECo1LvDa3gapOpIjSCOFDXt8lFjIoAkAfYv3RIggAFdu+I9G2BJ7YhfP3z1IVyt2cmMMytx0eu2j4fbVuAOdjMRvYqIzj9lr5LbCRBpJp0KAAAIByAAAAAAAAAAAAyPemByiaiUaAqOi9NOw93q84ZSIzzp8kQ+xuuZCp1waL3/NfP/XyWPkplUKEhDbNfa8QoBjZn68lt9/QCADIU8BPAaA4GYSqDQD0x+PqOm0BAExlqCBqCX/tBACe2FXbx3vpCtzXT2gaWxLZpfvPb5kGmludmKY2PiwegXWt8RtA7zSckEFEwDblAAAAAAAAACQ9uqEWufFYOz0HAABRXay9BCB2q6/kqlAPeX5etCvy30RaoY1sxNWjddEqAkklLetGfhktCJCHFEVVKqXyLWqrJxRPAFAqgqoHAGR5VdUFANa/r69VZJBU+J32FyC4cHYaAJ7YdZf792tXqOGdG87U65DYxcf3z9IVpKdtRJvbBe03o78BfI/Zsi1JCgC2BQwAAAAAAAAAAAC5e3wIEF8VLRD7cnxjX8drT3eiMnQzLsqeiE6nG7dzf8ZIdsrxqTheUQ1FgmqpFO1WGs0IADwjIECVViieBQLc4EsAQJGxB8EjMhIA0MTqM2sBgEWApSCDsa9ElaACdnYCnti1169newSxOW1hAsvSNYld5vJPu40ENKstxLHmdsnEfgM4aFBQgzQJAKABAAAAAAAAAAAgmZO8BYp+oUCOxPgsnvDhB50FxDr/YgYvvLR4aZ2N0HyjvdZ8ue11lXwa8ZZQuDsGVQXt+C4hy48CgCAvULoAqPp3Nf42oAAYZAwkjdKzPtwEntgVz+/P8gjY7r0wzUNTk9glz3/a2aDAhnUuNC5rhF+T/xQAMLkBQGhLMwIAYAAAAAAAAAAAAGjqHsQ43LCLt7csZETKCF8Uo1xd7UTy7bKxQPPfHxatZ6sSqlqFx7Mt9fC3EQUF/yayd7FhAAA+/Wz+vQIAqCoQFiWVjXPndACe2NWPL+0kKMCtsdC8NI7DLn78uodPgFvnQFuz43qN2HcAIGzYJAAAAAAAAAAAAAD+ASBC/rF/ecyNyBBBV2R+1s33f0S+jxXP4SMuVDs/aKWkTRCpltZDiiuAR0mqhb4AANRUrxgA5E/HmG00kGQDhSKe2A3PD20HKMB8x0J7qGlI7Krnj3aSCjCjDDQPG0RfYpk3DDgAUFiDJAkAgAEAAAAAAAAAACAy2boKIHKbXhsBQpDCLTci02h+EVzar3k9zm0v9YtHVcOjIqp+o4ogvD6VFgQIAATfR1YrAMAgQFJlJld5AN7Ybc+39iAU4N5lQT8bDrvu+qHtwgJPZy6YbBtk+xL3EJAEKLSlTRIAAAAAAAAAAAAAAKiUbRYgeI6FyEMDoSTPxtWNb4UESGDBSxRyPN4oKOpR4hsuEigCgHX9/LsAAG4gI8O4VACe2G3Xl3Y6KXBvH2iNlhx23fVD20UExd2+4Gi1JrKRif0QEAAotIVtAgAAAAAAAAAAAAAAiPR/WQAE/1AAUdGqSn0r4rt8fZWX1fH0JoRmQ6BSro88IaVJKgNUAIRL9OeyKAAJGSQsntht15e2d1NgngzoJ85h1z0+tJ1LQDpZOKOjOIJLpuMOAGVbmiQAAAAAAAAAAACANoCCKviObwqltEYUtaKrEZUgQABa9DcLABS3fzEZdQKA8oK+HAIAqAgYZMi+2B2uD+3rLMDdshCARDnsxuu9tldXoJwMlAWKwzNi3AOATAMgCQAAAAAAAAAAgABEFc/SVgJtVeRbAQFtKH6qIso6NABJqTYAQE9ZKwEJAOJ6H/8AADTIkACe2K0vD+3eTUB6sqBXnMRuub21M5sAc7NQVigOxWLdGwYEAMgM2wQAAAAAAAAAAAAAABBsmo2EaQJB1TewpPgOtCmgKO3ArHehIZAAAM29SLCgskAGntgdLjft3COgeLOhnziJ3fp6087oAtxmw9GTAbpYjDsApEmaAAAAAAAAAAAAAIF8G0a+SQ2hLUkKNKkCtPJVAEAW/VmyRcOrAYMBCQxkvthdLlftW01A82RBP0jsjpebtncTYE4W9JMEYnG+A0Bq0LYJAAAAAAAAAABos2kBkEK6kpRoK4FhpTGKj1MAgJ6oRYL4AwAg4eIikeACXrhdj5N2ThHQvFkoK4DC7Xy+aPtUAebJRlkHAZ4ZbxgQABBo0jYAAAAAAAAAAAAAACLDLhZAQdmpNoAvUAoACyFV2gDASpYqgN4SCQEkFFU0sFy4CA3eZ91PJ+2uLGB5s1DWCfqs0+WqndUEuCcLbUmYmVnzBpDAzMzMzGgIjoZtkoRtmwQAAAAAqJ+1A6wxdgEYdmBnh12G1fK9ZvG93+CrtQx2fNnZ9rbbKdQYZoerbZUC5rAI8xvGVAPogDEAaAMAHKAf9DMAwDEO1oAOw44dpbbrvQ+WdUBX21/l8IEDOpgFsNsBAO9B16Gb6wAAdBR7YGFuQMfqHJwbAGBYLGagA0AHBoAOsH11AACADsAAANABAQMyBgYyFtbCwAVJgwX+Zz3OJ+3pLGB4s9AewZ51uNy0vUaA+7Iw0UGYmbVmw4AWMDMzMzMaMxokCcMkTRIAAAAAgPvEKzA7AAC7wyxY7NgZ+F47O+x8GbQYY4YRMz/G9GyhJgwwtmZ2LIYYjFjG8yJMFQCwAAMyugMAO52hgwPHgiwO+tIPHIuzy+J2Hebxd9XhtgNHpwe2cCw6LLMdxnRgroPpFrwMgO3Acmtw0AF0mIVlcAYAHACOhTkDOuAcDDAAgAMAdADAAAAA0LFoIJAvNGRcuJBkMjAA3mc9H5t2ViSgebJQ1gn6rNPlqp2dBZhfFpqTKLNmZsOAQ1BwZs2MhobgcIakQZMkSRoAAAAAxPsVAxgsAGAZxq6xs75n9zk/Dcw5PWDXLCyW7Ci+dnYWWCxa01o1A3Hl0aiMFsCCHcCCwAIAAAADvRvA6LfLwQDCLAOD3u0slgWWV4A7mPSFYM/o4HTQOQdr8OJAxwAcHwAdAADRdQA3gA6wFnAwABgAQAewAAYAHAAAAAsdAARUhoyMAA3JQMYCkoqGCh6IvR3LJ/8KmpuBsk4QiF3PZ+3uIsC9WSgLgJlZ4g0DEpiZmYEgaBoAAIAACAIAAAAANLT7YGEBALSAHcYYg7ZlgDX4GsCaXTNsatYM7AzYZc0Jw5zjKb8wGpgFgIQDcBzoAJ0O54AOLOejOwDodADADjgWhkMHAGABrDEIHA4AdMACADoAiYRLggyDBN5nvRybdlYoYHiz0FZgzzqer9reVUD6ZWGiE8xaax4CWhCcmZmZEZwZDdK2bdOmTQAAAAAQ55p9YMEAYGAsWMauGebEHGNOXw27dgCGYUHjeYw5TMYyUGXGzGMwF03mctoFABSAAec4AEAvuv5Cd+O4D4yO650+WMAOoHeA3K0DHL3auD46dxyv5aUD+tHpBcAYAB1zB3RgvbgOgAM4Ou9hLWd19N4BDjrQOyyADtABHABYAMBA1wEOAAOgAwAABlSCDJYF1AESMgYNkgEWjAzeZ72cNu3MUEDzZqG1wJ51Ol+0fZoA92WhJcHMLPFDwAoKzszMzIzGaAxJgDRt0iYAAAAA4BoXwGAGABhgwVi7ozXswC4sWgwWWsWYr535BmCWmGHANNW854YGOwALAwAAHDrAAZ1O12c/d7iOA4brH6Bj1mF1cwYbS4zRe8eMo+MA7O30uc7pjg6c631eACycPQCz049zLIfO5w7oC8DdcAHTGXQA4GA4ADpgwGFxLAAAdAADAICOBQA6LAAgcYGaQGYwsICQ4UIYSAAeiH0cyzt+ApqbhbIgCMQe50M7KylwTwbKCmBmZjYMSAgKaszMCAqCpm0DIAzSBAAAAABAa9ICYAAADGBYa2B3wKydwe4CDGsZwgCwIGuZBTOZRrEtAIABAAkAOAAdLOhgOUAHAHQAZQAA4wAAAHALXgAACywGLADAAgALIMCigYFgQJNpCMgYUAH+Z30d8yd/AtJmoT2BPut6Pmt3ZQHNLwsTm2BmrdkwoAXBmZmZGcEZQZAkaNM2bRoAAACAcc5HwDIAADCAZQF2MHYNi9kF2DXGmIZnY5gDMMuOGTPmxDCMF5gwAGAHAAQA6MA6WKADrDIOjHGAwwwzY7GAWcAHwKk5nY7OOACz6N04OOCGvpxwAzoYwBzHYgAAHwD6AWP0HQBwAAAGOmAPLAAAoENnAQB0AGDASUBSkTGQoApIUKkIcHEJyP5nfR3zO38C0slCa4E+63Y+aWcXAcWXhZYAmFnzELAQnJmZmRnBGQ2TJmmTtG0AAAAAwGMWAXax+GYB38AuFjB27NfsGjAAdswymQZjPudnjFkAUAMYAOCABQwLcLvQwQK4wRowC9e9HQPdcJ01YMro4EYfxXxgbNzqHXusBcxZ3QD0WYZlsJblAwAdtgNYwKwFADt0AFhYDnQAnRcWLEMHADoAAAsALNABAABYVCwkuLgWJAwCLhkVGg0kCd5nfR3TMz4C0mahtcGedTudtL2zgOLLQnsEM7Nmw4BOEDMzMzMzI6hBmyAJ2KQJAAAAANpulgFgAYABGDCs2RlgWVgLi7XLQmaXZbFgtMeaME0h1/BlAQuYAYCEBQAAsxxgjFndQAdwWAbYZS0AvFNqYDGnctgBHXQOLEBfwAEA8zIAAAss0LkOAAA6AYDpAzAAABg4WAAGgKUDAIAFBwBgAQwAdAAWgLVAgkbGwiWDCAhIMgC+V73fx3e8FaTFQFkJ5FX306GdlRQ0XwbaIxAUnDV/CgCohKDgzMzMzIygxswQtm2atk0AAAAA4mwAwCzsYMGAGQCGEbPfuwTWgtlh1wBjPngBQwwA2AEAAQDQAQBn2FtngTYY3MC7zsx2btAtg8wMdGE+ozNYw0J3bdVdx6Ebtve56QBrAQPoDAt9x8ICYK9DZy0Au+AzOsABHwBgADcAAHCAAwMHWAAAFnAABjCgAwAWAMABAAMcAAAG6AAADDIDEpaLCgIDhsQCggxPZ2dTAACAlQEAAAAAAMDTu3MDAAAArnIKxhewuLPbqMeixLvDw7DCotSrqrjKr8HAtf5nfR3zJ38C0maheUCfdT+dtLuzgObLwsQWwMzS3wD6EJyZmRmNmRHUoAHYBEjbJAAAAIDq6jQADACAWYYBlmXGmoEFC2AY5mAiPz0zd2YBoFosAACAATAGA3ahW3cAi+lwO3SAWeDQzQHr7OHdm9PPXmcNLAzLAgu6ZY5lARwHFn3ZBU4HgL4AHQAABjqgg+50AADDAAAHAAAcAGABMHQAAOhAwwqQMSBZMFjIkGQA/mf93IdPPAW4wUJrgT7r+di0uyIB6c1CWwKNmZk3gE5QcGZmZmY0BAU1aBq0TZO0YQAAAEDdpgJgAYDBGgBmAQsAwBgAALsDgKE1Zn0DFlgAoA4AGAAA0AF03XaGMwYsGKDjwHBY69bosOhWH8uNdXzKVZ9udByk98EuGAw4iwWfsQx0APRbBswAdAwAFuBwGOAMAIADwAAwQAd0APAu8AIABoADuAUgLDQqsGg0XHBlMFhoUEk0AP5nvd+nT74FpMVC44A+6/nYtLsiAcWbhbYCgoKz5k8BADUQnJmZmZkR1BgasA3TNA0AAAAAED4AsDAALDAADGOpBQsMmIEJpsGTObAMAHYADgLAGRgMMtCxYGEWgOkWXIfhWLNeOmYs6wPWYRSz6WCPBYxh7cBi8MGuGuNYYFkAdtFxCx0A0IcB2GEMQDfAADoA0O0RAwDQ0QEAgAXosAB0DACwAAcAXBYwkAguCxkDGBUIvlf92MdPPBWkxUBjgbzqfjq0s5KC5stA4wDMzGwY0BecmZmZmZmZERyQtknSJgEAAABAs08KADAALDPAAAxjhmEMACDL7BcW2067jbEAoAAWVCwAAMwADAAc6Kyp7TeY1eembx+7H/1soTO9j85nplvG2IE+h76fAburv2Y7O3zOjA7jCvNi5xx7MAeYzyyr658dmL57gD0DAIeBwwA6WMPpYAADWMbt6geLcncYgJc1AKDTATDQwQAALEAHAAAYACwAANBBPwALAHQAYKHCQiWhQqNBw5DBMEgA/nf93IdPPhW4wUJjgT7r+di0syIBxZuFxgKYmdkwYCA4MzOCMzMzIAnAoEGSAAAAAAA8xwoAMCwAAAMABjsAAMAAA0zLsgMssAADMhgYgGXdAgtg1wA7YMAOCyx7nDEvdm4YdKoqAE9uYdgBnXIYA3PG4jUDy+LgtV5gwcCABRboYCwAQAcMWBb6gdUPY8AAAOgMAABgABwAgA5gASDD0kAlwRJYEAQA3lf9PMZfPBW4xUBjg7zq5Vi1M0MFzZOB5gGCgjPzpwCAWmJmZmZmZgRHQ3Bo0zBJ26YBAAAAa9EHgIUBLBYWAJbBAgsAdjCANV+zzAIMsAEsCAADACwO0Hcxa4CdnfkwAJbOYPgsy2CAMTA79FUWvXsHbv4J2w1r0BdWgRmAbjAMTF+z2DF7wADosADwYhkL7Fmw6BawFlgwDIAuADAMgAEAgA4MdBjAAgCADgMHgK5jgAMHAAAsLBq4yMiwVAwaqAwyULFcAP5n/dnqT1wFmMZCS4I+6/VYtbNCAc3NQssACM7MQ0AfgjMzMzMzgoKCtGHSJmgSNAAAANCYdiYALLAAwLJjAQCwsAC+dhcLACwAAAsAYwAsY1FgAR8MC4C+DHRggYPh3o5d6G8ArAEAhoWhAwyAAbsAAFgdMAAAgFsYwAIMDHA4A/ALAMCyAPQFsAYAxwIDAEAHACUSCBYNGMgXAxgBhAGSBd5X/drrX9wVmMFAFNirXk+rdmeoYHgy0LgAMzMbBnYEZ2ZmZgTPCI7GDGzaJmmaNAAAAEBmdg4AlgUAAADGwg4GADAMgNnZbZm1AyxQAxDIGAAAA8AAOACOPQtwwFg7OIAPWMtgx+sseh8YH2D45GJgeocDQzlmYTqAHSzow90tHLMHi4VZnA4wsAAcwABgu+EAgLdfd1i60dcCWLcAYAE4GAAMAKADAIBFZwEAAIAO0AFYAFBpIBBQSRgwhKjQQE7A8ga+V/3Z6o93BaYx0JBgr/o4lnf8FDQ3A00DIDgzGwYcgoIza2ZGcAQFNUZQEDZN07RNGgAAABDHeA4AAywAAAwAAAYAI1rLGhYG2AmgIDAAwC0MLOjcWbwsGIBB7wAOMLiP7cDous4C9t72T7fjFnQ/uBsKGJQ7B71bAK9jMAAAFgPg0AEWLADQ0QEM514cw/XR+10/mAMALKADjA4AfAAAAwA6AAAGDoA+gCWD5HbhYmnAbWw2qHBhoRoAvlf93OtPnArMYiAK7FVvx/LOv4LmZqDxADCj/ykAoJ6CM7POzMyMoKCG4MBgpkmbtAEAAICc9sQAADAsAwDAGsBogQUAqiUBAMwNgGUAQAegLzB0a1hgfWBZPszaobuOYdHXrN4txtmcc36esY/bPuf113ljnzFNXj6vtQYDzIDZs5azFgDQYdeirwXAAjjgwAIGAADg0AHoHQDM6QAMHAAMMNABMAAABg4AB/AeHQAALCABg4qBBlVA9aNJyAwwuGgA3lf92eufTwVuMBAF9qrPY/nER0FxMtC0AIKCoz8EtDAza2ZmZgRHYzR0mHLbJEnDAAAAgGQNJwOABQuDBQAsACzat44BOqiGAwAswFoOMKBbMMCAc/SOjv7q6Ga7bvlcge0db2w77P+2O3Po+j9d75/ucMfCy/h8AJwzHSwLAAMAANb0BcALLIAXwLBgdcB2DgC4z0EHTEe3QAcAYHCGAwAYAACADjB0YAEAoAP03hcAAA4AGZYK/IBKgusiQ4awIBgA3lf9vvdfnApEYaCBQF71tc/PeCsoNgONAwDMbBiYQ3BmZmZG8MxoaAgOYJsATAIwAAAAECZeOQ8AGACLFswABtgxICCwAABgAQCAhV0YwMFiAdAXA/3sLotZAFhjD9657dPnvTNTX6/jloMFWPa6BWDpoANrgR0AzMJZy8AAAPRlgQW7PpxuTyZn7P3zAMABAGAAAA4AHQAwALAAgAXc4RZAdwAAwAAqFuhPgNWwoAG+N/1+1B+fAkyJA5Ggbno9lnv+FRQnA3EAgiMo+KcAgGmYmZmZmTMjqCGooUHSpEHbpAEAAAClFAAYYAAAwywsLMB+gWWAgQRgAQBmwPV3rf5iQM0BuzAQFhjQdxmDcWCMmTWc45++GOw/42axazDo8xGwa7cfjLXrCBYLC3QQdAvOmAUYAH1g2FkAbhcWrAFjmgC/vZ1iABgLAAYsYDlYWAA4AIAOCwAMOs4egH4ADAwAgEZDg+5ISFAHkBYWsAwMAN5X/bX3j08FJuNABOir3h/TL94K0magcQAgOPMG0BIUnJmZGX07GhqCghoAbACkAcAAAACApNe3AAMAAAMAsxZ2gGVhASwYAGAAABhgAOxaBhasswDgBmOZATrQMTCwGPiZO7Pe1c84YNwAtlsLwBgAAMfoANgFLAwLAKMDYMGAWQC0wQBifxQAwIIBHAsAAAsAHWAArgC4DgArgX5k0JA0AH4n/b7XH58KTKsDDQjmpO9tesdTQVoMNDaAIGb+DABafVJwZtaZmXnOjOBokLSGSZMkaQAAACD8nxcAAAAWAJjZwQKABTAwCxhgAGAAAGvBAixjjbVrZzswiwEG2NXNgbGGXWeMBWPs473ndtbv+4wx5ratjnNG73MyhrllZxxYGA47WMAsO2YtFsxiwRl2AIYFw4I9ADAsA4ABgAaa95vEwAJ2AR0GAGABABYAMBgAMAAAABzLAIDOfXQL3OowABbIAwwA/kNoZFRcXAauChKB5Q4Avjf9OYaPrwJMqwMNCfamH6fxE28BbrDQMACCEBT8MwBwOwQFNWZmZgSfgiMoKDggbBImTdoAAABAdtWzAMAAY43FzgJAG2CBAQDAAAx3Y3WwYMABwDJgdRYL2N5N9Wvc2DWznm2XLhkwwO4NwwAY0BkAjAUAwNANBgALwHIYwAAsgBbfmw0GAwDAAsAAAIABsAAAwID3AHxABwAsAFQZ9IfGdTHICzQuaCoXvje9P82feAtwqw60MMib3u/TL98C0mKhcQAgKCj4ZwBgqgtiZmZm5m4EBTVGAzBt2qRtGgAAAEj5XIABALA7u1gAwAAAAICZBUoHFgM7AMaZGRhYAMvoDDsA7pl0LF3yvKsBxkAHY+EGgAEAFlgs0C0sAAYDADBuYMEAMEC3oAWwXv9uaCwAFgsABoABYAEAABYAGMDnBeClA7ACqHRB4F4g0AYMVMgQHgC+N/219493ASbrgEbIm94f0zveCtJioEEABAVH8A0wi5mZmZl5amhoaAgKAqBNOpO2AQAAACY8+wMAAIAFAFgAwFgLsADAAsAAABYYwACAdXQABgY60AcAugXLwufcff7ZM1af/2/veu9rMWvMAFjYw3IArNmFZd4BgAGwC8YCZgAcAABmxgCYl2kaGm2rbb9927TtLoZhBgsAjAUAAAADABYsA9ABsECydLJATXDBuKQAqgBLwpIAvjf9ftQfnwJMqQOR4G76tdVPnwpMY6AhASA482cAkDdbgjOjnZmZpy4oKCiooWFbMWFmkwYAAAA0/BGwAADMAgAzs7AAwI4FA74BBlgAwAtYsAyABTAYi7Usw7sG1nBmgV3YGTDdN7NrYLBea4frT81Aq/3M19/P57PvWOwaa8YHgwWAPmCxABgAzlgAA2AHANgPBpgBOwYWAADM9vv7FjAsDBgwAAYABhgDABYA9MUBqMUBAFgAFzIG8EsuJDBYJo26cEGmgUWlAd5X/b73j3cFpjHQFGCv+rPVH+8KTGOgKQEgOPMQUGJm5jkz8xQU1BAcDYC0CdAAYAAAAMCPLwaAAQAArAEwYAAAC2DAAAALAIAdCwvQYQwA3drFrjUAAAvDrs/4vO/Xv33G0DabXzTD0DRt02o0wFoMy2CtxYIbAMvAru0AAwAYsAA6WAuwAFigD4MGMNe+nwMLwAAADAAAAwAMgAUAwAJSACMDAFBxMQOLsGcELAC+N/1+1B+fAkypA4C86ccxvuOpwC0GmhgAEJyHgP7MzMzMzBlBwZkhza1N0jRgAAAAQL1NCoDZHcMCDFgAC7AAAADLjGEAAOxYwOgMw2AA2IExMD7ms8AYa4YPYM2wXu9+vr/+fsC+4/PFx2ewYI3paw2AMWNeLCyz7AALgAMDwC7AAFi79l0AwHwwAGACzvz/9zAAYyws4ACAAQzAAMAAAAAWAGAAGCwGATBnYAGAAYCVwYIE0FyAi9AgQK1AY/AGfif9vtcfXxWYVgcaENxJv+/1z6cC0xiIBAAEBd8AOszMzMzMGQ1BQcHRMGkapg3AQAAACEQ8N70AgIEdgFlsLAAAABZj1loAVmEXYFkDzrAwhx2DxaylZ4EBzv38yf7/GWu6np///8z8uGOt2WHcdLN22G46Y/thWAYwYwCw6ACYBXQAwIABA7CDHYMhzATmmIuc72NMA2sNdmAxBmDBAhYAYAEAgGERpmYY2AxuAAADADAAMiws3H4YsBDIDSQGfif9tfePTwWm1AGtcCf9vtc/nwpMYyASABDU+FMAwBTMzDozM88ZQcEZENQgCNoEDEAIAACp/A5gDADAIqADAAADCyhWxwKYBWCAmAV0wPQDmJkYZw/n3D7WbBAfYe+tgN1lb69buxgDs0NnLQAMCx2DBRgYFgBYAViwAIABdGamATRNc6AiogXYvrvsAIABAGRZAAAAFsACBgAsAGCAKRZIbS0AAAvAwgIgzypACBpdFyoqGk9nZ1MABMDwAQAAAAAAwNO7cwQAAABq6BzoDK26urq6urq6urq6un4nfR/LJz4C0u4NrQLupL/2/vOpwJQ6AAAgiA0D+hqCMzMzgr4THA1BGgYM2DQAGAAAANDU7TYALBIAWGAAABYgZ+kA2xc6ALAW3MJgAEBI3PPTDZL38dSXztoxMAAswwAGMDoGC+gsAFgA6GDAAmBmdTMAAMMCAKADAIAOBgBgkwwa5iAYsHKCAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfif9tfePTwWm1AGNcCf9vfWPVgWmMAAAALwBdgQxs87MzHM0BDVoDYByACQJwAAAAACZJRgAYAEAYNnDAYABOwCCGWsBALBYxKV7fbI7AhzZmWgDE2vCbRUGWBjdAFA6AICBWgAYADoAgAGABQDACg3AcIgZFoDFAhYAABwDAAAAFoABdLoZLABAoJ9mYaECWQsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfif9vtcfXxWYVgcaENxJf/bh46sCM+pAAwEAwIYBBzRm1pkRFLwThKDgaABAAEACgAEAAABpuVYCFgAAOgBYOCwAlgEw4kDgFmBnaZyc0wa1zp07uoMDGHbUAQuAAsAAHQDAAgAGBNCBAQBoc7NMAADTAQ4AGAAAgA5TAMqgA0A/El3UCz8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfif92YeP7wpMqwMNBe6kv/b+8anAlDqgFQAAbwAJjZmZGc7dABqCGgAgBwAaAAwAAACoZKQ7ACAAYHAsAAAGGAzoWKAAh3EAmIxSebanuq5oV9pTZgAgO3YOUDgLAAwAAHSwANAAAA7AAgBY6JMBAHAAwGIBAGw6gCwAAH8MaoI9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfif9vvePdwWmMdCA4E76a+8frwpMY0AjAAAeAlqAxqyjMSP41BhY0ABoAKABIAAAAKC4OxT0AQDgCMsBWADg4MjHGE2XOjBj5ib56gIAUHDAAaMvALAAdADQAQAYAIC+AGDQf302jYEBCwM4AAsAADggQ60ByACCcywEDCoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfif9tfePTwWm1AGNcCf92Yef7wpMqwMNBAAAbwAHMDMzGoKCdyMICg4AyAGABAADAAAA4vJiOgCAhT0sOEAHDLDY48Bg6UjvAEiPmqQ3mwtuTLNsqj4F4NCeAQsAA8yxgAMAgwMDABywAMKyzmwADAAA6ACAhcaZApAOAAAsALzRyAsWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfif9tfePVwWmMaAR7qTf9/rjXYFpLEQCAMBfAEAdMLPOjOA8OYKCggYAAwANAAYAAAAcD2CgAwALsFgsOF2w0A0AMMI+cz2WxoayYjYcALBQDgYA4AAsBgAAHYADMAAAOAAWGBpANP2vewAALNoCAHAAABgAOgAL+gaATtBlkAe8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfif9tfePTwWm1AGNcCf9vvePTwWmMdCAAADwENCCZ9bM0E9qaAgKagCAHABIADAAAAAgTnEmQMewAAsDDMCxHCwMuFkAQNvdhatGMaWeSkYHOuDALtCBoQMWAACGxegASFgaQLhN1WwBA6xFGwAAsAAAAAP2AIqlAwD/IMgBCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfif9tfePTwWmxAHAnfTX3j+eFZjGgGYAADwEZoGZdUZw+BwNQUFBDQA0AdAAYAAAAICuTK+BYQCgAwMAMJ3F0OkIBoDdYtDIBja8uG40dgAYWOd0AAY4MABgAOgAAwAwHQQALbF/aQswAAADAAA6A+gAAMDAABxDnwKYOhgAyKQ5kFEbXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfid9H/MnfgrSrgPNAu6kP3v98anADAYaCgAAHgISnllnRlDjydGAoAFADgC0ARgAAADQumUqHCs4OACwGNycDiwAcB0AbGrqOnI/FENYTZvGHmICEOoAwBjgWAAAwAA6AwAgBgBLBwDaXFnTTVgAwAUWAADQGeAAdBsAHgBPMKgBFQsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfif9vg8fXwWYNjVEgjvpr73++BRgSm/QDACAN4AARjwzI6hxJwhoCGoAgAYAEABgAACAqoo7d1R1AAALcAs4cEBCLAC6AYCg1zaoCynVOoWBBbd0AACwAMABgD3AAAAcAwAcMABDE03fAQAwgAUArAMMfQAAKPUIQPUGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfif9t5c3VAGABcCd9N9e3lAFABYAAIABAAAABgAAAAAAAAAAAIBUo52rRwUAAKTC1QEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA', + Bb7: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAAAaeMFzAAAAAFPjo74BHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAGnjBcwEAAAAgwJoUDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + C1: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAAA8D8VzAAAAALHjkYUBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAPA/FcwEAAABSKNI1Dz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHGGHPOOSA0ZBUAAAgAIAAAAEBxFEdxHMmRJMmyLM3yLM8SNVMzNVNzNVdzRVd1Tdd0Vdd1Tdd0TVd0Vdd1XVd1Vdd1Xdd1Xdc0Xdd1XdN1Xdd1Xdd1Xdd1XRcIDVkFAEgAAOg4juM4juM4juM4jiQBoSGrAAAZAAABACiK4jiO4ziSJEmWpVma5VmiJmqiqIqu6QKhIasAAEAAAAEAAAAAACiWoimapGmaplmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmkaEBqyCgCQAABQcRzHcRzHkRzJkRxHAkJDVgEAMgAAAgBQDEdxHEeSLMmSNMuyNE3zRFF0TdU0XdMEQkNWAQCAAAACAAAAAABQLEmTNE3TNEmTNEmTNE3TNEfTNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TLMuyLMuyLCA0ZCUAEAUAACmrrfZgHIEok1ZzaBBlEnPRFUPKUewpUggpiLlFTCEFrbaKOcWgxdo5hpCT1kPolGIQAqEhKwSA0AwAgyMBkqYBkqYBAAAAAAAAgOR5gCeKgOaJAAAAAAAAACB5HqCJHuCJIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkucBnikCnigCAAAAAAAAgGaKgCiagGiaAAAAAAAAAKCJIuCZIiCaJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkucBnigCnmgCAAAAAAAAgCaKgGiagCeaAAAAAAAAAKCJJiCaJiCaIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAHAIAAC6HQkBUBQJwAgMFxLAsAABxJ0jQAAHAkSdMAAMDSNFEEAABN00QRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAMCAAwBAgAlloNCQlQBAFACAQXE0DTiOpgFH0jRgaZ4H8DyAKAJMEaCqAEAAAECBAwBAgA2aEosDFBqyEgCIAgAwOIplaZookiRN8zRRJEma5nmiSNM8z/NME57neaYJURRF04QoiqJpwjRNU1WBaaqqAACAAgcAgAAbNCUWByg0ZCUAEBIAYHAcy/I8UfQ8UTRNVWVZmuZ5oiiKpqmqrsuSNM3zRFEUTVNVXZemaZrniaIomqaqui40zfNE0TRVVVVdF54niqZpmqrquq4LzxNF0zRNVXVd14UoiqJpmqaquq4sA1E0TdNUVdeVZSCKpqmqrivLsgxE0TRV1XVdWZaBaaqqqrquLNs2QFVV1XVl2bYBquq6sizLtg1QVdeVZVm2bYDrurIs27ZtA3BdWbZt2xYAAHDgAAAQYASdZFRZhI0mXHgACg1ZEQBEAQAAxjClmFKGKQkhhdAoJiGkEDIpJaWUSgUhlZJKqSCkklIpGaWUUkspg5BKaaVkEFIpqZQCAMAOHADADiyEQkNWAgB5AACEMQgxxphzEiGlGHPOOYmQUow555xkjDHnnHNOSskYY845J6V0zjnnnJNSOuecc85JKZ1zzjkIpZRSOucchFJKKSGE0EEppZQOOgedAACgAgcAgAAbRTYnGAkqNGQlAJAKAGBwHMvSNE0TRdPUJEnTPM/zTFE1NUnSNM/zPNFUVZ7neaIoiqapqjzP80RRFE1TVbmuKIqmaaqq65JlURRF01RV14Vpmqaquq4rwzRNU1Vd13Vh26qqqq4sy7Bt1VRV15Vl4LquK8uyDWTXdWVZtgUAgCc4AAAV2LA6wknRWGChISsBgAwAAMIYgxRCCCmEEFIIIaSUQkgAAMCAAwBAgAlloNCQlQBAFAAAYIylGGttGKNYa62JI1prrbWWVmuttdYaaae11tpqrLXWWmuspdZaa6211lprrbXWWmstAEB3wgFA98EGTYnFAQoNWQkApAIAAMYo5RyEklKqEGLMOSklpVQhxJhzUlJrrWaMOQgppZZa0JhjEFJqrbWaUuekpNZiajWlzklJrcXYaq6llJJaay3V2EspoaXWYq251lhKSi3FVFuONZVWWosxxppzaym1FFuttQbXUokpxgIAMBscACASbFgd4aRoLLDQkJUAQEgAAGKMUow55xyEEEIolVKKMecchBBCCKVSSjHmnHMQQgihZIwx55yDEEIIIZRSMsaccxBCCCGEUkrnnHMOQgghhFBK6ZxzzkEIIYQQUkmdc845CCGEEEIpJaXOOQchhBBCSCWlFEIIIYQQQggllZRCCCGEEEIIJaWSUgghhBBCCCGkklJKKYQQQgghhJJSSimFUkoIIYSQSkoppRBCCCGEEFJKKaVUSgghhBBCSSmllFIKIYQQQigAAODAAQAgwAg6yaiyCBtNuPAAFBqyEgCIAgBAiHPOSauJUIw5aT1TDDpptXfKGcQgxUw5pBik2jnJmHISQ2ohZE5aiTmlEkqMPdhcYw0CAAAQBAAEmAACAwQFoxAECGMAAIIQmSESCqtggUEZNDjMA4AHiAiJACAxQdHqwgXoYgAX6MJdDghBEARBEBYNQAES4MAJbvCEN3iCGziBjqKkDgQAAAAAwAIAPgAAEAogIqKZq7C4wMjQ2ODo8PgAEQAAAAAAUgD4AABAQoCIiGauwuICI0Njg6PD4wMkAAAQQAAAAAAABBCAgIAAAAAAAEAAAACAgE9nZ1MAAIDUAAAAAAAAPA/FcwIAAABVvHv5HDTJr6WaoJyakZuPkI+Mj5WPkpKKk5WQn5iOj5jM1jei92Lvwl38Vh9QRbD5ylL7+JRWrm0rBm02S6sRVVVVEhf7//z581zXGuHAgRA0VQsqmtll1Z8NA5TrLaizvoKaEtDabeu/96ICtQVptNpmJX9gQhI7nx+O1tFRUebvyGhlyz5w21T2TQrJKynHXLZtAwAAAACAWrIyJLEDp8uKf0ZtXfbUQ63ibnnp0fZs1CHadrkcHqpErUJSWRZk1lTNQASVoqgsN4c6DZkQQJUokFHRXykTAm1FZJuEsfK/3pC0egdCNjTEBS0AUORsZgoorBIAUJkJgASZO6pMY9wkAHzHKajqotnLiAcEwe2MCtMETDHWEIQAWgMqnutt8c/HJQiUoIwssSLEySntlvR73ECgnF4rQ/yzcBm+B3ZRVWquhDRKylW2bQMAAAAAAFD1ooWa0vIVGRdiRWqqhNDJzMqIKpVqh/6IUKlPxz6xX71NFAWadVutVIIi+1skAHxNJeTctj3Uh8QrdUpKPUMBASC4SjSrAKBZ2y+zFQWg1x+AAjDYiA50kGF1+qLDha4/JR5+0oXHQ6YJBrO0oJetHFk6ypeptGQkAN4KtvbPwiYCXaiyInkNcEpWu73/sR+oqANtpJGMju91ZLKUS0BIXkl2zAUAAAAAAACApUtimVxhhVCpd02oLZMlMkZZqyiLKuXKQ1issKwgrCIIRKyoIiCaBCCgXbLbpCyW1u95KmjqCkBQcFRHXXhCr6QEQIPsWm5TAJA9vBMEBIGcJRJXH+thcQeVRf6lFZDwPd+jayUrPQVGNJahyA0hQYDcAJ76Ferv0IIgKN5GIjgzqZx2S/ljHSSompSVBh4rvBzfBhMLR1RqX4JCICnZJkEDAAAAAAAA1u3tjzltLxMPyPYG1CyJqmLFu6Mo9N0WRXVK5V6hbp68YjvnQkvButFA8aREKdGg6HRdWicCMGeOwG2zbVSgWYQoepEBhUjzoRkBAImkeCYAAUDkIILKPgkATyiyjrhfNNASkAG++235z8YBwoMiudLE55CXI7Xb+h/jgUqqYI8NS7Ehwe343qxc2BRVdGUloFEC2SZtAwAAAAAAAPlSI8dtydt0WDWZgKr9R0VphbMYZ1TeXvTejZLO0lywKBpPIahqN5cSgDRs8yjSROrpUisjAHgUdECARwj1YpKEiXICgqLqoSsDAGCVcg8E/wcAYN3BfcBChjcEMPeYQLCZArMsMhdkvvvt5c/GhRgYlYvlAtw2p926/ZoHCWbBuVJIitvwQxCeT5kafS5BIQdmG7YBAAAAAAAAAOA8wDpwn0hLORT1S1OIXhn9KCp69+z1qY/bT1UyqqU8mio8eciyFCmSEDkKBfUEaQmyfMjVl4MQIPkc2rQQFFAgjwIVqIBoUxC0AQCwTOQWACiEdgoAAORMoOGBY9wA+h8rFiQrQbAAnvsd019ja4KqSBsppFx0TU67Y/mZNxFMQpWVJi7A//ghCG9HDBzRo+tXQgAEaBsAAAAAAAAAAABg3aSySA6gpWMiQ5XLtDjaqp3otSxHfTJCGVF2CyGuKNUQKysARJOCJKAdiUEouVSEAABIclabKBAQoUraRTFLStUzRJ4tPu02BYRodbGquQEA8PC4CgCAyMF+g8XcERAWAF7q1eLvspAAQVlUF+ZxnHZ7/7VuIOgmvyODZpB6Sb7XET0pewLyQNqmDQAAAAAAAABAHaKPhRXLWNRnV1ZmkPrKat1xfX3V3nl7LJe9q4hyRYBUesl4D0FQvUqgiqJNMHTppEuMCBIQIHJUC00A9PZLqxdF6jBRLgIQJZtoloGH6AKYFwAG64F3gomBCxKBxABe6y3p7zGpIMLKJnk18XKcduv2ax0q6M6+KwtckATf6yl60tTFwhaDtA0DAAAAAAAAAEDUQV8XVedoIZccMmNpSkWRFfWV0e+sPGSVbsV+y8IKCxpcaVmLUjejkAQyElKPqIhSZsjUFY8vpiABQLYJbSUgMO5trQL1AKkio30BikC7IeCiVPH0DAAAsiZhaQAeAPsEr7wkXJgnAb7rHfPfczFGDawtmvcRXZ3T7tS/xoMEB6wNVikw/YdvgwmsI3r2NBMyIUAbAAAAAAAAAADAF6vn+ToyLurGWwCjOlT00X/kODlUqkndiihq8mypo47lpUKghKRAFQ9aZIgU6UJNAAAQWW2HAIAIGmQRzC6pN1/80G0CQIV6NjwJGDy2CgBIMgkEPFgUMhYAfuut819jQ0E3kosia6xKabe3X2tBwWzyf2WYC5DC92bsstTIZGnqAkImSMMwAAAAAAAAAIAsvMnUgWi7xVICWKilp0f/F7LIPFDTqdozSrImKqsuFM+mIlRL++NGyvEPeERSQoUEER8vB1EM/TNAEfBzVp69gjQLHi1EeT0AgLQbBsJ4OgEAsgJusALSAkECvusdyr+1RMFkrG2W0vNynHbr/mtdouBo/LvSwJIswbfB5MIuKqRsnoRBkIYBAAAAAAAAAEAiRs8RWR/Dw0pXBuCiS+ayTla5VJaFfradisoU6jPLZcV+c+U/VnAhgEaNPzW5Ukd2Y/XxJJLsgqAB0HoLMsA1sFayhy9A0AiVkXYBAJa4GQDIXM4DNyBWhgSe6x3y33MTRsdag7X8Q1VITrtD/z4vLLhEWyNDPH4bIPke0BRdzZ6QARIAAAAAAAAAAAAAh74ol0bEpbPU0kOEaoHqKKpLB0dPn/31cUg13Viskd/szTPaTU+KAo0klASURETFE0EAArRinStUQwWe3pezC2gG8tWitCQAAIBlLhaDjcd+AIBMkuCCBJ7rndIfYwGRVZTcLHfsf5x2p/Y1N1Iy2UqMWkRuWArfBhMDm6KbLVVCpkEAAAAAAAAAAAAgT1uT5fTXSKtxiHoC+q/IKmWerxAW6A/j3iEtLo4WLl7cr9143WxeK0IRVWV+RysjpB6x7AIIALBYhq9SwFjGWQqpUvFolFqrFrkAJMU3LLCsKAEAkY0AD1gQftut47+5ZUY3ba0s8XzktTntjuVnb1Uxu/Y7MkyWVL435MCm6KXse0IgSNsgAAAAAAAAAACXlW6SjZRIW6QLcMnIyiUu7hvlOHpVd3tlSp3KbvYTRTOCh2rFClRL0FggdkKBJqjnCQkCgJIsF55DI0AB0QVjJAGrIJRU7AeUKE0z2h1jYP3p3wAKbU4PwUrQ/Q0JQgWe2x3bX+uVGdW1tliWQf7DaXesf9YrC6ayEYvhBqXyPTVFn509IRMkAAAAAAAAAAAAAC4pOzUulbEgq3fd7jIyojorRxXdPkWPuns7lFy+ENWXEJoPRVLVTNpNjychQpLsYpVpgsqRJyAEQJKopoUHAIY/w0igVyj5oESCNgBUS8hoaIP0uQgAyESCGyxQAl7aDfyvNCKzyVhb0dyh1yazW+xXbS6Yc4VWgrliqXxviIUjuiviIwmBIA2AAAAAAAAAAAB1pxixOrlDO0U82iA82ThVUfUsxoWK281x38hQKqK/WTwfUlLSrlqGNS1BNARCSykyWVLfzcc6hABAyTZR07WBkjqI/pulh6LQAEAQpXJpBQA00E8CAMiu3UBAlkACnttd0u/1qIIZ8rsyxH2A0+5aPvbLVBxC3iND3IEUvg1elrG5Tm0TcqCAbRoAAAAAAAAAIJnWz5rwz8kQp8VTAcuW5rivpYeOWEp/KqQQNSpUxhatfOSGNQJwCSibJwCCkibeVwkAAqxztm0UCjB+enUkyUppphMQCouMgZgvNTRoCRfXA25wI9wA/GIlaNjksgCe213iv3VzBrDVWPIkOO0u5ePcoqAm/98ZIk2C76kpu9pUEjJBGgAAAAAAAAAAAGDZJbKoQn9FhX01nZ6KCIr6Ur91Knq6B3rVx+1mLlGrAxqUaqfdSEOzGg/1FFSSwk5bkQH5tLFKhAKAyPACUBTa/teMJNBSIjfIqL6AyCymGPALAECmCS4uyBme253zv3XLjG58D5YrkMJpd2mf+5YVc+P/I4MkSfC9HTGMI1uNIhYCQRoAAAAAAAAAAAA2wzD0/XPS4rKsugBLnjyr9sSo/xwvRj/ZyRpSWRGV3YrAqkDokpVRaxGUaAgU7YQoMQSL3FoToYAC9RUvLkEpqPesNig0EB4pHkoVSQHW8I0hWEAqzwoAAKQZN5CgVgB+253j7/mYgmjsf7HcIZx25/a1X07FXNg9MkiWJT8kPI9MpqTIBOU0aZsAAAAAAAAAAADQuods0WyXOsjK24mK+pSyn+j2K3oqV9br3X09HTVyoRrSAC1pV+WGrilVLgHQoE2RWUJkm74jYPiKXFACoHci20giLRsz3UFViyFwgZBbAYpChVJpFyS4D7jsExRuJoHrAp7bXfO/9XBGL8pqnGnasjjtbuVjv7hgLsbvyqKt4KeX80PC6yx1fVeTkAkSAAAAAAAAAAAAAEDOx1NkBW1M6JdyFFgwruhVOaqzzEON0v5cspDRvyASQRC5IlJXQVAaqhRIq1R5FAAKReJqFVFY/OWXBChAgTyK0gYFIDLoLFSQsvAEAqhDeKkAgLie4GKBCj7bncPv8eKCydaiZZE8qZR2t3a/vrJiMu07MkCWrsoPCc99LX2OImSaNG0aAAAAAAAAAADgSxxWsxcqHVZWd6NGRmTd6mt36yt6d+uud9uVoWr21ILHg0hpt2IlKRYKDabTJwAILamXAwEgoKUsQ7QQAaqCSJsijywIUvJTPFRVEQVAEEJELmmFElBRSIguAAI0R4J7sRBQkMClalC5AJ7bXfPv/bILelK/m+UC4LS79o/9+gjmxF4sV2LDDwlvhwXN9WoUSXArCGbbBgAAAAAAAAAAoGvhdOFYVVZs3zjGsxhF3S3N6kTd0S16pVD2jsp+KoIkKNVstBXNIiAqSOXjAQBCIFyhIQCA/kMuGgB8fLeWB4VnKASlFLQAyBhFz9JYeBoIBJGfXAAA4AngFwIo70FGtkAFXtudwh/rkgXksgyGM9RBnHaX9rkvU9BTeS+WNF2SH5L0wJHtbaoSAkDapgEAAAAAAAAAALT3hS5Yod1WcXD2jghZVGZllaKnrHeoqadHdeqn4FHXp5Gk0Ze50qDRKlCqUlrKZIG6WtAQgKKy2bwaG4wnBoFIgQyyCBeIiC1egWaKNAJAgF53wcSAC1UGBn7bXcLv/ciC7muxWe5AF1DaXdLHeXTB5MZ7ZZD7oEvyvY5scxcnCZlgNk0AAAAAAAAAAFh66aFa1igi41CpSopqRa0yDjV7olen0zuWllYgSECD3FoSF4KAKCAqtKNAroCPK0oAoJLspSUSQCALxiBNa33AkxRAv67md4f1MOxvARCUyCS4kKAiDVwQGBYAfttd8+/1MgWTKP+D5Q7EKO2u7WN/nYI+lL0Yykrb8L0hhnVkr0ZPUE6wSAMAAAAAAAAA4J1nyIbKhqpkM08DLl4hyhpLK2NxFPv66USflCoVvRYri0YJWtppVT6xWlKCaAMUDZ6lzFCIXkEAAOomN4AqyM6OMSWoR4gKSlsVaQCgCGjp78PSpCgmgAR4FAAXCxfEBQbGRQBPZ2dTAACAlAEAAAAAADwPxXMDAAAAb+4n2RiVkYqNkJe9z6XZlsi/vbyj4JvAt7rAwah+213iH+uIgkm2ysoC90UKpd2lfezbVOEo2ntkoCxdne81S6UfXSwEgjRNAgAAAAAAAADAJZZGUWGpiKX6ZmcxI4nlmSuKrEPRt6fbZ2VUVEbNAViXECobGqWBB0EKEFFJmwdAULQ04goCRJvHZyEjIIRqURgUroBVlJagKgCgCo+YWekOKNASAABIr7tYIF0IDDJQAV7bXdLv/VDBlFtlMdygVEq7a/s4L1VxDOM70sid6qp8z0t2pUaigAHQNgkAAAAAAAAAAE+6GFUro+pZxDJVbycqlmZGVPQpq0ZF71OVngO9err7rRCxWFvxaFKUVjUtWYe4gIoCpeRSIUpurLiCKEAhlipDCwV3YBCeTETRJG1Anuj+S52tTQL4kIBYcEGSQAMe2i34VxpTMdkaDbhAHUxp90jvc9kFk8m9WHPYdRm+18hkqUkSME2aNgwAAAAAAAAASE8uqshyiVyMPEREFRHKikIdGf0pD4VDdrJKEWogLgRlBVryUA1BSoBQKi1FyNPUtQsowzR3qQXA2u/VQRKxBUoVeQDM7ZiRbutREAD0E3DhcqkUF5AEKjRe253TH+uWBbNtxWBZBuoCSrtbuz+PqZiL9RwMN6pX872OqEw56gkBAGzTAAAAAAAAAABwqYiqEZZZErmyVpY9QWadKjqVvVStyL6dQ/aOcmnUX0pxpZQ0ksitJqJAFFAK7SghhajiSRIhof+LQQAFUGAKuACrKA1BWwDUHEUsgQKBVVoBAEizCzQVBjJe213jr31zwWw7y2C4T7Io7W7l/rplwZHO72K4A72S7+1IsCl66ZNYyABomwAAAAAAAAAA6FDpNr6Z0LZLPDoAlzocVSozllksos+orBinVBGVUVeQgmAly7qEBqUiafFVhCR7XFSQkQBAMyGXiAIAiEcVtCmFR0BBKE20ATXV7tIdgydQAABAZp2ALEAmLAAeu13srzWdgq7576K5I03K6PZIr7M9gh60tVjzJPVqvteR7cqmLiCkQZC0SQAAAAAAAAAAWGFZlFUsVGSxNHsdyO4yMsq6o7J3ReW2V9mnl9sTy1KtMTTVEHm50srLkk8pUSjqCZm2gJJk+tIqjQIEuOQMdeNqVkkbBIogXYUyBQCEPGhofokCSlhfxQMAQGJBqlQsLAYSHovd3O+5PYJJse/KEksrXZhP7BHe8/gFM2ysLJrfXK/k+y7ZNWdkQhaEoCCGNgkAAACYIAAArHBp0amx0ExLjPo9y96RlDVF2d/Q74hePbmyE8vpb0PIkhQN1SJTV3VZc5yQBog15YUj0ROVXXler7GIbgCCHM3O7OBsUXbRe5WS+AJwjQKLThzK1eukNOSoAEBXojRM46Bw6K3JG0SmBWCgBFfXA4Aq6hTAAOgGQDoAWMABAAMJgbxAQ0ICvoqd9B9jOAVo63dQ3Jmu4BO7pY+1PIKKtgfLlejVfK/nes2ZEfJYUNBD2yQMGLZBAAAAqq7YENUWxnO8VE/tKJoUKspyoe7KXnu9m0PNbndlLlRk/72oy4UQH65bXfdeHBYft3BBMsej4om65q8u1Wi5AMCDQW7SxSodMwAtQdYa5AaIYiIcadIskCUFIJAA2cXgpNSpJgA9eMQ1Yw8UgpPrgJ5OdUczD50DoCpk1gkAgA6A4XABFwAA6MUCdBw6ADiASmUQuDBgMUCouEgA/pqd3e/ZHsGstffKghkGWpTP7JI/tFqQYBajLZaL0qX5IeBbsks/YrGQbUHaNg0AAAAAAAAAAHScT+NGFrTy7HsquhUiqEOvFUr90S31ctuIqMwldQvGKckuNbJa0tR8QDwfwOpmzSLU0JR0IftOCQCQXg9dKlSBQFHPQM5AGqirAG1tNKqA1ngUANRQ7zMSmh4AAi3l6hLA4gI8AkBuFQkuDAwunoqd1S8tFhJUIedKAVcAn9g93mu9RFANtrPAFcEPAa+n7JprRlA8uuCMhk7TAACAsEkCAACwFVdKadNBVN0fKgeysme02J9F5cpecSjZ6Xbn0lEOtai0YuqOXKn9oigVJcFIGY7miJo2RbpMknB9Te0AQFhdXJrNkIAdoCCrWuhYUoCyEVfgMolGiKAZADoY+4yrJgAAgHT1iJBGJaQ7VTee7Uw196fSAgCwEEKODtB40NCbFQt04Y4KKAH6AQAA4Pmk6AAAFgBAdwCADiS4JKBeCDSQBtAyAL66He2vHn7BYfy5GM7CQOh2K2+tBxFcLn2xnJguzg8B38huYj0BIRdpmwAAAAAAAAAAAKDn40RUMW2zXwopFTVZdUmR/e50KvdpupbInv5hjGBEH7HlQTsEDwUeaGIFU0Hr5QUVAMC5Jg6lFJGQAYXRULQAgKTg2UYt9aNWU9cR+QMuQUUEXgpcLtFYGPziLvo3CDIYAP6KXdzvOXyKWPh75IAD0gI6sUv60GpgRW+yDY4DkMo7AsCI11lqEzCzlrCGoIaAoIYGaRsAAJAGCQAAAGUfj0a1oJ2MemjMQYN4kg91kFDaEAIIQMWByu7B9VbbKMvspwqVonZysk2azVvdMhdj223i4BnVjC8KAKZNEMPHkp4ADHp4TUUnOKCKBwDQfASekKVdpLkAdBTVY2YPAKAAhCslrqIFSMyBYHzxgQIAEFqhAIyg4wsA8ATUAYCuA2ADASoLF7KEBC4a/okt/I8cTsE0rO8gOEJdlE3snD60alDwaNpaWeAAdGl+CPiOGq1yjlhIngUFNQR1mzYAALAJAAAAwLxiHUKOdumzKZWSqlH0GVcW/SrzEPU6MY1mf55BOWhCzGxqZG6ILQ2BaBrwaGs/wqgSyupRld5ke56AQrSl3Wu/LENg0tqQCmQDkuvgMhmSGmh0APaxi+xaqzt0BLZJ/VRINaADCERkWgJoiOACpgoAC0iB6wAAABzAAWQ0LFwwNHATuADeil3cH3OaQgW3focycWW6MJfY2d3P9iiiGXvQnJVezaPEytclu82ZEbagBgUtqNO0AcAgQBgAAHWNawkVQTy0DgALdZlFVQoVh3sOqq+vr5RhVLr0lrqEIpUby2QvSWRKVVLgkmcFk3IyK2XETj5gXADAyNnoHJBFCGgkVwhRwNACAKyCSzac6uRJJQAcFPXQ7g0oDBAAOkcVqQQdJIJkvCwAyJAAAL1gJQDwDAsABwDQAWQVFhqSALKAxgL+il3DH3u6hUTR3oPlZnRVOrFHeu3hV1xatsGYUamX80PAd2TfzBELycUWFNSAbtsAABCGQQMAAFiZafEgFzoI/SlHhIoqZdVuRU8/9Q611Z1KzYp6w3hkILuR1WSHE9KgXKwWSFtjCgrUmKUyBQVAKKq7+nYoCCSpcihSKCo0LDDgKfDsSJVn55oAnGArV1ujHgDAlaorqqkJHU4RFNkCgIVCWiJgATwAACCl6+UAgA4ACwssARoMKiSZC/6a3cL3teyC6MZ3MVyFVD6ze36f5RF008ZizSrQdXgExOuSvdpHEnKAoE2SBAAAAAACAKAZWaIK4PROaQJYViuzt5ALlfWHWvZEr4g0Ehf3Q13WhIZlmtvc0LBaKlwaoCGyoExPIHEtoAVAWB5FrkiECpTqtanekwzrl0u9LTS6cn+gqJS0k2o9oFCIWXpztiRAgLieQGIFAKgHMsiCwIIKKjJeah3sH7Wcgujyd5HcmSZl0jqGzzH9gim1vUguTNfm+671mjNLVEPTulhjRmMETRCmadomAABcsjorKjIWjZfpu+2ElJn9GRV9KntVV8ahZFNBZpxWHHKB1BYzamckqZLdioiLA/uiKwPuQUBHg6CLeS2BTgAyFHXNZi9J2Sjk2h1oIgyiA0AzoNlwSrSKbQCgk6yqhtwCAFoACoFtZiKKgwaBIQjykj3QAQC4goIiNDcAAOMXEgAwiqL3OQDMARboAB0AToc9AAAABwMAGAA6OACADEMCDRoVggQ1YCDQAP663cLPXh5BF35vhvuiyQndbu2tzUSChyu5ssiF6JJ8GzxAHjUvfTQTsoSyaQIAAAAAAAAA7IakMtIqPoikOgGXrMjKDEvlJVQeFEakiqisrzNtUTs+lEuQVNFICoh2Al8BoUjqGlABICmqSzkDBBSSgOoh8hOgAr+FwxOaAFAKmg/vBJ5gsjAQiECIq2hYAYoG10UC+SYWBKhY3ord3fd1PIKgqXsxhhFiTSf2lF9ab0jRBWVkoTvTRfm+a900Z2TCGpoagroGNEgSAAgAoAkAALi0IqvMHC8qlmj61UrtjLJWlP0uDlTt1dO3Pns6zKh7OVgwiSmrI/MJXCFEU3uDsgJ4OAAJpT2LawMzACjZfOIQAaIRMtkqFDVktWehsL1Db1ZlUiWRKgBwiV4N990EAANgyrYAYGjAePkTKAAAoCOzqBJwgHJgC9ABAKg6AADAQTCoEAy4aAsL/ont/FcutyCIfC8FMq9Yh7KJXePH3j5FdG2MDJgzqlfzvV2BcdZtzhELW9eAoAZIGwQAACBAAgDMuiZZImMKgmcDBpc2s7JoynJYOqPXsu4o56SsKXpXF5AIRipd5o7MQrdVBCENEI9WgSeACDZ55yoDAoBD5Dyj7wFtEI0ZmeQOoaCwRAeASECvgkLqaAAgqCAbeIIAxhJQ00gVgAQko2UJgA5gRQBABwDcgwMA4AoSFmjINC4A/ord0/d9+wV18OdiuGJTOrFHfmlzIMHUSC6WC7TkERA/YBytVtccIfFW0hAU1IBtEwAAAABoAIBmDi0tEFzWGtt4ZGc5xO3HNAKTBsCljbOoaukQS0oMC4TZir7pxbqQMsIR+QK6NEuxAdClQJmWSyICUMA92+0hRBAMAQaU3gjdyBSqSdE7TpRxAwAiG9oOwsEEaSaiOBijEPIU9ai7BjQArmVlUWMBhQPAAwAAqo5zAIAqQGVZ0KACfopd9fc+VoFe8jtSYFK7Xkwn9pRea/sEdWlj5dAGeKqo+d6OxLi02jkjFoKgBgUxOmkbgAGAgAEA0KTgLaQSrOiyA9DfpZlVlAvDeImFfrLMwUB/VVksEatU15HJpD2Jy5Eh9pQuQoDQlZspTwAoks50iR5ENBMUjEzlNn3JBEAtkEYRFA2OgcAeQLZnTJQJbQCgalQ19AoIHZkdLaBoTgAIFFxdB2gpAQDlQACAHACCDsABMABAgoSqgYFLFVgA3opdw6+5rYLYrP/FcoK6Mp3YU37t7VQcaezBmsKp6/AoQb7Ous05aoQ0aEFdAzpNEgABGIQBACDxDqIKONOiPqD/S2T21V3C8r6LfXrqe9kf6iMvqlsQa7FJNEeMa1MvUoK9TxqgNLW0qABAm9ZCXL9CxAEEkIODg3IAQSMXWNlOWLTGAYoIHOflvPNUHkUaHYDDxl6sevQHXIDayYIgkhI6ACXIEU8AAPPBBTDAAAAWCR0AdACAi4zrgiHjguriAt6a3cL3dXkEOLkXw42Ys5k94kvrCwliITnSQJYuzPd2BcQlezVqRtgCIE2SNgAAAAAAAADpqYxZxIhanXYBlj15jqqIZYol2buyo0KkYnm3r3qs10qMptfXsUzDh1WiGusoEGSIUDJmRUXjkqWhACSVNZEv5DUCCJzcn3bVrAbNJhXTcZUUJAC+sqg8ACC0AEABjxSATHIsGZWP5QEUcEG8wEVGpSLBBU9nZ1MABMDwAQAAAAAAPA/FcwQAAAA2eXhfDMixvr+8qbnvl7yiu96K3e33te0CDf9uhjvToXRij/w6l19Qk7fFmmWsV/OOBDDiddZrzhELWdCCgkOSJgAAMGzaAAAAXFN1p6XlqO1Gsrr9Ji0okgVJ6DPq2zlkT7enPhW5V7cgCbvGpZHzkqaJ1VQWFy7Wew4ljVLxDMBRiYQZkb9OhwJakj49PbGfSUoQYbhKoURR1BCOgWI1ahPXW5ESehOA7dhKNvFwAId6Qg9RzQCgKPR6GsCgWmCxwLrqAACowQEA6ABgkDBwoUHAQuZCysAAnoqd7a++rIpoyv/IAvdBm7KJ3fL9vN2KyeQeWWRJ0jH8kPB2WNbmeu2aa4RNCArCpG0AgAECMA0AADjOxyGa7WtL67Ak6VQcB4fV8U7muO6hPjOpVFTUl0iCcNKdz9SKbZUERRt0369HB+hsSwUzMlfUKSBJZn9ZDoqgAYoGWdAyQT1Ani2mWagJONSafTi5EyAQFBzAA6QqAGAmWJYJBGAOAADSwQo0kGgIDCRccBcAfoqd1fe+fIqQ8jlSwBXo6mxij/DW6oIUsTAfLCWhAvNDwusS+TUzI4QBqQEN0yYAgCBIAwAAgORkiWSrNo7o1N1aQoiajNrZO3vpl05lj6o5a0aCBHWZ0RWRf1y4tmWrJR9OGWZZGhZKIJQIy8akBCRy6r1Cfa5IQIRT4IbQfLYYhASWVagnovW2x5VWBY0BICcp1cN3E0LvoYCAjnRCowCAwon0GqAHCCzVImCBjAMA6ABKBSrSAhfqggxaAD6KHdWvvu2CkNp3UCxJWpxN7Jbf+/YLampjs9wnXZofEt4uWJf2OmdGWC4IjoYGaQIAAAA2AQAAAGFtUk51dCir9KqvGb7J0GyDK6LPQjmuGsJClbKyn6IkBHNtkY1FNt9k1Wooh6QgQmfI5QEMuowoUw4OjVYOgEBlVqbRLIiwC44yR5xcBELiOkRgVSGyrZjSoJoA6MBdQ9KEsMWEQgciHUgKHUAi5MVZAAAbAAEABgAwgAMALAAWGhYsDLAQfopd9Pe+VUHILV4090EvZhO7p/d+2RV9GHuwbEbU3/yQ8JYc1qb2NeeMkAUBaICkSQCAARg0AAAALWRk4nchrvGSpd0pLtXgDtlp2j77uhVNBpUVRU+twpAchx0nsu2KOGNVWh2ibay7xRNPACIroqvI7L8ejQACJsuyXeagbE4BcSkUB2QAFOk1Dt4SnmlfA40qsOEQq3Qnms0O19muShU49E7OpaoCAAAy1xMAwgA6AFygsdCoyGBJBASeml3c9z52QXfrvViuWC9nM7vn17r9gqkYZWSJr0EVJT8kvB0xcLSirZWwadIkCQAAAAIAAAAAoL2W4Il20W4YimZ560RKO1qy6kmMDqmnIiIza8eoX1mSCxWVX7HIS3tZlRvkRahS5KRV1W54BBSAgrJw0RKEYOjcX8oIAO7Yy5lAM0J6m2hEo2SAQAHaDZmFgIKIXsubO1oGEGC8LIEIFhfUDAFBYgEJvordwvd5nMomk9+RRfMzanE2saf03JdfMTlvI4vmseui/JDwurTac0YstCUAaOikSQAAABoEAACA1WnBg8ZZWjG7/W6yRqaKWKyyvLJqU6W+V9Wyp4/+Z5zXJqyvCJFKV8TMDlchLeHYSTlcjji1kl4AQAr1lXl2ESICUIDRdxCRIAFBEBnAkggsxVYlskRM9QdVAQAeuIaagCJsb5cmTgGAQFC9Wq8CANwAMAAACyQIuMjIKliwkAC+aj3c9711wSTG/8oAOXoxmdYjvtayC2azzpUFMlTUfG9XLvLSvuZaI6whaMGZmdHQAE2TpG2SJgD1YaC6HuiyErIBl1hRLNYMF3djcWGoeqGzUJ9zRlnLrOvQKa60zkK6Mt8XwnWSMIJLGwPWm1S+SxrgOKCkp9dsn0BGNEAC2VeuyIu0CoWDKo32E2yRuCAn4Bp2xI+kLpGVIBYFkGMLzUatzgQUQ2w6QDlVsWgqACBgWFi+HQAA1AC4AEcBgAMDACygw7gBAAegw3ALAB2wHWAAcMAAAACADujAAvYASGDIuDRcUAUGUCuwLhBcGd7aXcPX2naRU7Dei2XJ0NUZ7Z7r5317BIc422K5Lyo032vJ1CgjFgsBIE0DAAAAAAAAAADwpBfHQr3KiFiu5qaiciGExRUVKywsqdKtWjmqUhzoXUaV2F9DkELJLyttzadnQSioQsitCiWfbXaVChBMhjYVBQXIktEoaILGs1QqrQpaAF2FagUUQOMBogAAwCVjQSBQVQC+ij3sl1YHEgQhazHcFy3JJvYSH1pdWDELY+TQ/ORS+F6X6GvOyLgdYwCatAHAAGAAAABwqcqo2o1yQSwxrlssJ1SUqS46/Wo7h8hO/b4oFqPupTq5UmYy8jlSK8fuh/VacCKSgvUkzNyhyBCt7n7LF8iIBJqmJZW1wnI4QYOY6kqotRMOnUccIGAcJ6xeEdGoCk8BAJ6UyIHeWUbLOCCHAGIj5qwCAACADtCOXOlYOAAAAB0yCxYCGo0AC56ZrfFXSI+wqpV7pJIL0aWJzK72ocUGBV3JXEngjmTxvY7sAf2oEQuBAE3SJgAAAAAAAACkFUSvzFwwXoxOrbaoyEAdqi2trO/Vq3fXbVLVQh3jFKSUaDaTNDeJ9ZVLSvVSifBMompbIpmFsdL1oBQAKVfo5AQRiCIPqkCXVsSaYPVBVaOtAU2AJX6hVQAoiA6qAgBEIGKddUFIsJAkXKChAf6ZvdQP7RwmOLSmFmv5myiIw+x52LXzwkJdZrEocwxkcXuN7NJHLBM0AQAAAAAAAAAAAADgcu366gma5Fx28dl2X6/e9d3IihXqUtf+K4ueXr3rM7rNqKczXLjo5dXLa2d+kV/kl7nLpPJsNB8FUo9mo0KlUqk8WzUg0txl7qL7Eo0CNBoNixUrM2lUo4gGUpBqVeBzyTuVSoF7NpqtGqm0UxScJqSnAgBuNBpN0tw0aTQKgFSr2SiC+xk=', + C2: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAAD3+rdzAAAAAJNLY/0BHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAA9/q3cwEAAABmV04BDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + C3: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAADLDrtzAAAAAAG4wmQBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAyw67cwEAAABBmQM0Dz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + C4: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAADfuK1zAAAAAM3jOhoBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAA37itcwEAAAC1mqBkDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + C5: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAABaDrFzAAAAAI3bUHkBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAWg6xcwEAAABklyGmDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + C6: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAAD0SKZzAAAAALA9Ub4BHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAA9EimcwEAAABR8A6RDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + C7: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAABCzKZzAAAAAEAlTZkBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAQsymcwEAAAAi5OgTDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + C8: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAAAAaqtzAAAAAF2kbI8BHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAAGqrcwEAAACaiyobDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + D1: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAAAqipxzAAAAAFLrzTcBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAKoqccwEAAAD65hWcDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + D2: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAAAV+qNzAAAAAF26bS8BHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAFfqjcwEAAAB2sajnDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + D3: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAAAppJZzAAAAAG7c8SMBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAKaSWcwEAAADRrfN0Dz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + D4: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAAA1xZtzAAAAAMPk2/gBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAANcWbcwEAAABTbk2fDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + D5: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAABJIQtzAAAAAGgyGU0BHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAASSELcwEAAAAi/YB/Dz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + D6: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAAC4VQlzAAAAANpYaqIBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAuFUJcwEAAACjQd6RDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + D7: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAADa7AxzAAAAAL2M8uUBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAA2uwMcwEAAADqrxUmDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + Db1: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAAB0JwJzAAAAAA25pl4BHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAdCcCcwEAAAARfD/PDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHGGHPOOSA0ZBUAAAgAIAAAAEBxFEdxHMmRJMmyLM3yLM8SNVMzNVNzNVdzRVd1Tdd0Vdd1Tdd0TVd0Vdd1XVd1Vdd1Xdd1Xdc0Xdd1XdN1Xdd1Xdd1Xdd1XRcIDVkFAEgAAOg4juM4juM4juM4jiQBoSGrAAAZAAABACiK4jiO4ziSJEmWpVma5VmiJmqiqIqu6QKhIasAAEAAAAEAAAAAACiWoimapGmaplmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmkaEBqyCgCQAABQcRzHcRzHkRzJkRxHAkJDVgEAMgAAAgBQDEdxHEeSLMmSNMuyNE3zRFF0TdU0XdMEQkNWAQCAAAACAAAAAABQLEmTNE3TNEmTNEmTNE3TNEfTNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TLMuyLMuyLCA0ZCUAEAUAACmrrfZgHIEok1ZzaBBlEnPRFUPKUewpUggpiLlFTCEFrbaKOcWgxdo5hpCT1kPolGIQAqEhKwSA0AwAgyMBkqYBkqYBAAAAAAAAgOR5gCeKgOaJAAAAAAAAACB5HqCJHuCJIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkucBnikCnigCAAAAAAAAgGaKgCiagGiaAAAAAAAAAKCJIuCZIiCaJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkucBnigCnmgCAAAAAAAAgCaKgGiagCeaAAAAAAAAAKCJJiCaJiCaIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAHAIAAC6HQkBUBQJwAgMFxLAsAABxJ0jQAAHAkSdMAAMDSNFEEAABN00QRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAMCAAwBAgAlloNCQlQBAFACAQXE0DTiOpgFH0jRgaZ4H8DyAKAJMEaCqAEAAAECBAwBAgA2aEosDFBqyEgCIAgAwOIplaZookiRN8zRRJEma5nmiSNM8z/NME57neaYJURRF04QoiqJpwjRNU1WBaaqqAACAAgcAgAAbNCUWByg0ZCUAEBIAYHAcy/I8UfQ8UTRNVWVZmuZ5oiiKpqmqrsuSNM3zRFEUTVNVXZemaZrniaIomqaqui40zfNE0TRVVVVdF54niqZpmqrquq4LzxNF0zRNVXVd14UoiqJpmqaquq4sA1E0TdNUVdeVZSCKpqmqrivLsgxE0TRV1XVdWZaBaaqqqrquLNs2QFVV1XVl2bYBquq6sizLtg1QVdeVZVm2bYDrurIs27ZtA3BdWbZt2xYAAHDgAAAQYASdZFRZhI0mXHgACg1ZEQBEAQAAxjClmFKGKQkhhdAoJiGkEDIpJaWUSgUhlZJKqSCkklIpGaWUUkspg5BKaaVkEFIpqZQCAMAOHADADiyEQkNWAgB5AACEMQgxxphzEiGlGHPOOYmQUow555xkjDHnnHNOSskYY845J6V0zjnnnJNSOuecc85JKZ1zzjkIpZRSOucchFJKKSGE0EEppZQOOgedAACgAgcAgAAbRTYnGAkqNGQlAJAKAGBwHMvSNE0TRdPUJEnTPM/zTFE1NUnSNM/zPNFUVZ7neaIoiqapqjzP80RRFE1TVbmuKIqmaaqq65JlURRF01RV14Vpmqaquq4rwzRNU1Vd13Vh26qqqq4sy7Bt1VRV15Vl4LquK8uyDWTXdWVZtgUAgCc4AAAV2LA6wknRWGChISsBgAwAAMIYgxRCCCmEEFIIIaSUQkgAAMCAAwBAgAlloNCQlQBAFAAAYIylGGttGKNYa62JI1prrbWWVmuttdYaaae11tpqrLXWWmuspdZaa6211lprrbXWWmstAEB3wgFA98EGTYnFAQoNWQkApAIAAMYo5RyEklKqEGLMOSklpVQhxJhzUlJrrWaMOQgppZZa0JhjEFJqrbWaUuekpNZiajWlzklJrcXYaq6llJJaay3V2EspoaXWYq251lhKSi3FVFuONZVWWosxxppzaym1FFuttQbXUokpxgIAMBscACASbFgd4aRoLLDQkJUAQEgAAGKMUow55xyEEEIolVKKMecchBBCCKVSSjHmnHMQQgihZIwx55yDEEIIIZRSMsaccxBCCCGEUkrnnHMOQgghhFBK6ZxzzkEIIYQQUkmdc845CCGEEEIpJaXOOQchhBBCSCWlFEIIIYQQQggllZRCCCGEEEIIJaWSUgghhBBCCCGkklJKKYQQQgghhJJSSimFUkoIIYSQSkoppRBCCCGEEFJKKaVUSgghhBBCSSmllFIKIYQQQigAAODAAQAgwAg6yaiyCBtNuPAAFBqyEgCIAgBAiHPOSauJUIw5aT1TDDpptXfKGcQgxUw5pBik2jnJmHISQ2ohZE5aiTmlEkqMPdhcYw0CAAAQBAAEmAACAwQFoxAECGMAAIIQmSESCqtggUEZNDjMA4AHiAiJACAxQdHqwgXoYgAX6MJdDghBEARBEBYNQAES4MAJbvCEN3iCGziBjqKkDgQAAAAAwAIAPgAAEAogIqKZq7C4wMjQ2ODo8PgAEQAAAAAAUgD4AABAQoCIiGauwuICI0Njg6PD4wMkAAAQQAAAAAAABBCAgIAAAAAAAEAAAACAgE9nZ1MAAIDdAAAAAAAAdCcCcwIAAABqZ35HHjY0zqahm6aZkZaNipONk4uKjZKDipWJkJGQkImFkczWN1rvxb4odvHbWEAVwfbFoywft/PslloVh0m1m+2SICHd+b1qfX34MAn7n///y7jJnZtYAfzWPz3MG/uvxz1IZ0GUTiMRVAStdHFKfRJa1cajhErSaIR6FkAComn/rHNNj28dXDdIMQCa2YXwXzmKSRsqO9vmV4bTbl3/vl8Cg6HaIs3PXPOOHblac6D75eomwnVdqiWzJeQEsssx2zQAAAAAAHLr4VCxDrfxMNIutJdLdkO2o5mvuTbuRba63Dak0/3MJKNvFjUsG42NjKKM0GyaRCnRJrIROYsIlUblRkRWBY2G0MaatM2mOaoiAC0azQbVBsrMDGGC7SjUo0LI9eqaiILWBgCy1o2EWg9mWN8PQGIM1Xoi8GSA72RDxiVNWelfJBqDhYqzt7n2BuRBlSUuuC4SLt77rfOfj+/C0AZfOWVjI3jtzu2X7IAJlKlt5YyNgzq+1xEVSpK1FWWOtmmXSQAAAAAAQF56lGWFuhQyVEZEnVIqC5YqqpaxrIzq6qyMYrwiB1xCIBDkAgU0mw+gcAeSJCJlWFYCDaso2d52TVJramq+sd0FFbQsruVjNYDUENESqxBckcsSAFATs61m84Ow2hTSt3cHauZubNdhqFAcC4MMg0BACwCeC27p7/loDAS5aJaUO3Oqrd2vdSTTTNGNtHJnTtf6XqMumFiUGhJKYrazCQAAAAAAALA0i1who87aynqdOrMyewlxy9ipt/pavaOu1N1/FkvFalaJJSVQGmlL0QI8q4CCakILBNFqyFlQPBNQLipvFRGkZ4sijUKVPAUQSR7EgkFKRB4CGOP1GUBtjduoCMMrEXB6GrBoU8yPFHAxUF1cKv77HfKfrdvGQPOxGJZDrFntDuH3tSwMFclYGWNJuSvfd7TqyWS2KEoSyCYNAgAAAAAAAJS1RsW47Fb0B/VG1al/gp5CmVEuKyxbkv1XEUsyVgDqQQQhcpLQAu16AlXgSRQIiUSShT7jEgBSfCCIqhjlKuHagiAK1fIAQSDyK1qBtFGEoegLANAbg4WKcD0BwC26EyyrZZAFMjJk/vsdyp+vh7ECKINhGZSy2h3Sr32IGFpTe6XdkCROw/fSVBePTKahIcRKIJs0CAAAAAAAAFD0tyyKMrKussLS62JhXFWEg5arfE/liiqiXFH2a1lW5qhMMlSXBELRrIZHBPgHi2MKitDSkF3dAGg+RSkUBGgB9QwVIDN/FSACoVGqAIUcUW8PAEBQJfIEdX0NACgFvVG5qAh0GeB33UkQZBglBhkZAt77HfPf67ExtPA10srS2JrV7pR/naMwQiBtpZ2lwZI633fUBcSSLA0Z6EgbNgAAAAAAAACwULXMZbKsi6hQXCLHy0PQs8BhxfJyXFmtT0UuVGb0X4a0MMqQMgRyhAgA9UxABd4qQqAaNJEjOGVb1aqhHgigxMPqnht32gOF4IVFtTYqFBSegNGaTQIAehULln7g8OpiIEFiAP7rXcK/fRxioDFGRgwNVXOz2h3j77M1NrRmY2WdpdHd+V4jspQks4VRArQNAAAAAAAAAADIunbKqIjqfosKZ7Uyly3QcZsaZ71yobqMOkq9gioiZ0pdCaVUNBpN9RAU6hkBDfg6ckkyCIS+RYBaUnFTuZQk0suiqg1AQ2ReREKxOMFi/wAAg+xi4BsI6BLQQAKe6x3Cv/kwURRkjJSwDLkrqd0x/7ougRFh/yOl3Df4AZ23RsIRlVEmCsugW4C2AQAAAAAAAAAAwIlRp+jkY6QOtOkSmSqZqk4rtrD0uFBUXJCh8iKH0xWC9bJFUbGyGgRQ9SiQkDXUQBDQsT/naeBaCRpsRo5gI66AtDREdAFAjg6QD6tEJaxIAQAA1NMYLPwS4EVDhQXe653yv3UpAg3GYNh4wV1J7Y7l974EQQxsNIaNy0T4IQjfEpXpYhkshEwaBgAAAAAAAAAAAG0jXdC3mE52LpFWSMlqpbiQ5WKRfaroU2ZFmfpFkAVBIprtaKIIahUIxK9XRwZJJEJfDwCrVFAUAC3sqLHK8IOoCpFaU1Ci6ItEmu8gN1sAQG0wGAYKEhDe6x3Lf/atMLTJtmiHF+hdSe0O5Y/rYoyq+BhpYVkmxg9Ir10rk8QyWxgGaRgAAAAAAAAAAAAcS06jGfTBwUJ1lipk2qsil4rlGWpUqSr7V5FdCa6AanUFKQJGYW1E0CqCIoFEqF5UAYErIOdRpgSZaBaKKkpavQECga9XGgkx30GxAgBAnYIsAQm+213jH+vFGNqosdJiuLCvSmp3SV/nIoLIhFbGDA1Sk/BDEr7RlkxmCyGThgEAAAAAAAAAACB3NTiUvgNHWnosov8MqVPVYjciylxeRZW+uVgZZT/1gmIhJVIijbYqVUBJAW0qCs8iBAFSCA4ODPpL9RYfCqueg0yALqBqAETQpSBQN7vUygQA0CaydsRUQ/kGyAD+213Tv/0oAp2yjIwYruQldVK7c/w6tyQItuSVMZbBmozvO6JifWS2EGjSAAAAAAAAAAAAoFyhyCri9vsqMuMSGWVJ6vZSHkOVUIuKvorMrC4EixkQqcTKchEIVB6AoulsywBBUHcmgOCBEAC0kCI9tgVAkecvooC0NkCgiOt5Who9Sdb0WgDAQEMGVQCe2x3jf/ZLYoRUykgJkYcWJbU75u/XLQiCr9WVUZZDtBS+l+ZNlnhpWBgZBAAAAAAAAAAAAKjss5BRkQf1h4oeZ9XjrCkE26q6S6RR1C7V96NcFhX5lYTVRQVBSjUjTwWMYH0LVkMAAEGRakayBjKhDW0o2isUxAQCpZrB88kz+AGAQGCRKzxBAKhTyv4BAEYPA2S+213i3/sCjGhYg2JZbkpqdw5f98KCKktaaWNZrM34vhFZIJnMliFHAwAAAAAAAAAAgFixtHQU3f4UvS09FrmsEKhiVJEuNi4uUqxgvFTWBlkPgopqxKOkKNQDUKRd6iuBIFDQJ+VTHIeQVmltfPFwBVwiCKoBKN5WII/BxgSakFwBAMbV9IDVQHcJntud8r/1MEF0uRZlGMh3J7U7p6/rJoIoy1gZZRlkxvc6WiGZTJZlCCQAAAAAAAAAAABAhUpVM8f9IaqKJxUVpQiqOttmkWUUy6Oo04IsMxmCLEVwEUmtIgjUQ4GKpE1Us0EBSCRF6htUZQgkIMMVAKZYRdBCGw1AEZFLS9CwtYQhkpwFANSBBnoAXtqN+K+wmSAK2ys5LEOX00ntLvHrupAg2jxWxlgaaxjft3lJunhlUQTSAAAAAAAAAAAAkFHXpIwq/Za9jZaNoyZTUEVxzrJUUyj6UVZE0ackdBaAECGWJKElGBAPSkYAQFCSWtFbkf9iJQighZc8r4+NKlAPSJUnUgAQRJGbICHDKtFQ9AUAaA09MAQAvttd4l/nJQpw/C6aZSCkdqf8c1+6Igr7HRkxDDL4vk11WYosi6k4yTYAAAAAAAAAAKDywhLLSv1Zt6xqaYzKrJAh+8qLLRYVakWMDimXi9pdKBNkaHUZXSciKCPhie7/AlSRpFbGAng5RKDUvFKSUpmQktKuNUApPEXJyLB6eDdpNwAARUAhWEiowIJ3d/eBCwm+213zv/0CjCjYg+Y+m5PaXfLXebCgIv9XVlkaCfG91KiLE8tsIdAgAAAAAAAAAAAAwLiOwpJCHT3KSnEJDk0SfZwqIy8VsXyp6LeFYrzYHJAAJXaiSE3lWQAUd6cgKLCuzAUNNKlHQJSuKGTBQ4Xg8cCjtAoQgVwIWJ3aHAEAAxfUDJ7bncNf54ECyjwWzQ0akdpd0+d1UUG1JY2M8hIgxPftl0yS9CxDIG0DAAAAAAAAAACKS5ZppK5UljFalkUuSrKvyoiicjFVEQerrCiiDpIsQHIRkamuypcwym5eYBUABIJ1amXcDGj1KsBGFtszIVWikD2TM09UACxHaWBgJRiaowCAsTBASRESGt7b3dIf57UqSPK/WO4QUrt7+ri+qgAj78GQY8r32lxiaWS2DLrJbAMAAAAAAAAAwMLyyqw6yn6NVGZURuTykCn26x6OUa2Mit70pUaRzSpSSisqv1w0uyYRyAFfitQTAEpgXRkbGVDkWYTt2qJ7LqEFQJEC0kJodGsAAl0iN2wUGXe4XKUAAAA8deKHYaBwBzJUWFwAntvdwh/nFRi4vBdtniakdpf0dT9UEG1JI2vcB2F+SNJ31MXJpCyKTBoAAAAAAAAAAAAAzYUOi7cbN51LKJcUIY0PiGXKisIKIXsrFjJr6iEKIHWtWa6ClKI8AWjn2SkIhChR2fgxQBOPolhGusVQIhWI3FKxaBlhKTfGkCsMDJG1AQDqRcMASQB+213sH+eWBTHJ/0oxVwqp3TV+3pcu0M6/I8NcsDnft1+yRsoSMmkbAAAAAAAAAACwNJaMYjGrVKss4qw6i4pSMOpjoX6cKxRZHbo9FqPI6iCNxwSRpBb5kCWC8CtLCxJWAShKicq0VUC2isBK8jM1tQGA8qB4BKk06kC7/lkTMqwgtxYfAbQjBqagTtaAjAu+293KH+clC6pR/4vhTiG1u+bP+9IFFfZdOeVpwJIfgvXaXFJiKbkMmbRJAAAAAAAAAAAAGkU6VRIPnIWlEbFCChb7Wng4rli+NCqXW1opLmUhckICBLEWuY00lQI34SnVlHoCQEOhsrEq/Eoa4iEnQTyeIA2UqjyLdfyyMzKSZ2E0kkwAAJpKQxeYGJ2QQNMAnttdwx/nBQWUZV20WY5mpHbX9PncXEDR/hfDEcP3nSWTxGINDRkA0rYBAAAAAAAAAKBioTIrisxD6PZSXCLLXBBhYb/OxaK/48wlKkujJalOpHGQBJeF/GKhV/ILiqoKKLRIeAYAAgFW9EIQkSVQclopFaCMZ0AUKVIFUPgW9QBQIMADgEGSAwA0kFPGAK4Knttd0h/nVgVTWaGVZs4UUrt7/rhvVTCbfK+scILWfC/9kiUWZwkGaRIAAAAAAAAAADCqc1zmQiyp0a3irDr1T4TKvk7LY2mVJdF/pb6lqorKHDkEcaWI8ECTPGnAL935cBFWgQJFoFaGjCCupXoBElY5pUyqJxUJpJm+BkKCaqHc6kCq8wnG+AGY9kATsGAAnttd3B/XLYok13jR3CGkdrf08V6iIJjxOzLCFVnyfbu6LNmyZQikbQMAAAAAAAAAQLlCkctlP/uptjRGC1nJyEV9XNiL8tJD7VQ1RVXRpwQFgZCGRt7qRZeEHxGn/yBAoGQqGwKZihZEohYJxCqIlqACDwAoEJGL4miShEaaswCAodIDVaBBAxee2z2539eDGNXlPdJs/k5jUrt7/HgurKhu/I+McINCfLddZKFkYlsUAAAAAAAAAAAAAACw2GchFsdqlaKP4hKZNZFJZW+VP2P1etociZWNyNGkdinIMRCi5LJaEdQve4i3KSSgZEzfAAlWEUgip0iJ+bgC0UDIawCV0GqRaKqUoKlcHgAAnttd0x/nVgWTGP8rzSwJIqR2t/zxXKYgYrxXhlkytDjf61xiXSy2xaBJ0wAAAAAAAAAAgFixLIpK/aboZVSduVBIlvTiCVFcsixyuZq0NEeVaQ5BElVK10JlWACqAEEbWc0AQQDKhUzRAJ4eSigA2nieCdQPIs+Cavb9gQoRvqKq3lHTAi1tDQC4WBggS2BhAE9nZ1MAAICVAQAAAAAAdCcCcwMAAAClU8TeF4mQyMSez6bIwbbBn9+Vw7e5wLe/s7u3Xttd3O9zUUG3NV4pNqSmgNTulj/erQom074jI9yhEK9vVxfLxJKGRWGAJggAAAAAAAAAAEuy0jL6VeiVcV0SOdJo5XwxXqtkWaXIpRX6UiylLgRlBCQuLFmHfAm/0nrM1/jTBChScsaqgOCJQqJYBSAqqV1AExJ5gPQ4TwAQsVCxUA0A0KgCGcheu13d7/1gQfTtstLMMlBLULrdw/19c0HA+l1ZYVkkwg8Jr30JJRNrWAYANE0AAAAAAAAAAAAYbMtIVhrvIovlGVVLUpWVKrbj8QqF/lNfoVpFdiVhnRKUnViIRkKuYIRUmkXzAaBAkIYcQIaIEmRis0pF0mrQ6gXtQm9AEKVnVeMRUEDUBUMzOQoADAEkgQE+iz3ZX/slK4Iov4MxDF0Dn9izfV2PKgiKv1eGDI3bmu87t7XWjMaCGIKCIEnDAGDaBAgAAFWXVhmXFdmrj4OiHdXKrCxEqtmneDyLmkq1S30blYtR9rui1ZgLhoaZLmlYQVdZaRYloVNNTEnN1aCcIDA1kSrpO6DogGIyryXOpFC2QAZKXG06nDyzVQWEkHMQTs4N+YIOAAZVrtq0r6CHQhAc0OkBjWaB41C4qJLmvmcBAFkHAFgAgKNzgAEyVyBDkIGFZpAgAz6L3e0f+9gVAXxHBlkO1OKEYtfweS23IijlObLMskRb80PAd26yWaNoaKGLKShIm6QBAAQIEwAAQNvm0gWJG1fm0rbI6hBU35TrSwxRXWaxRO9QsZhlfxSEXCRp0uqDxKLLVZncClJSHO2KVJoRSmlICIHK0GeujNLIIc40DjmA0kaOKmDRBMDBZByXNETbVQ+jPwCwhZT5aRslAcgp8GgWAEC6DWU/AAA6gFLhAgC4AU5Hua47gHMgI4CLhIRLIEtAqAB+m93D73OZgpDa78ogy2ADo9ktfdyXLohiv1cWWBZpar7Xri5ridPQAiZNmgQAAAAAAAAAihWrLBbL1EefMjuXyFAK+rnZ4oFRWV0URVX7gmq9cnMS1msQlQYryW6pwDHuvK/pAqKULDmNjNKrDAmQtPxSlFsBoHAVlMvKErXsdaESolRrURhNpT6BNAUAwRMRZQ0AGBigNg0ag4QGDD6LXcMfZzsVwYzfQbMkGBOK3cP9dZyKIMY5skQktQzfYwI2tdpZMxpaQENQcHSbJgAAIEECABDQCLZCCfgAlvRTORSLhkoVvY36H1seGaHu1XbpXZTLi1yhUIaykuTDYobr5KZVPYItGg0SPWyBsiEpQ59mpWoDQOLiMC5DJEcHSFFUA5A12oDQcW0SpMuY51T+0uahsxRoRUVuqvf2o8AJgsIAoudBkfJAB4J+ERvd5QEAXAGAKwAA4Hqf3gFwAAAHdADAhYzmsoAgY2BhAT6bPbnv+/YIomMvhiVdjNHsOb7u4xNU0EZWuENNww8J36ZMJq3ZNQ51CwrQtgEAAAAAAAAAAC2inaApUn0tjSJHBfSzFz2PKVbI7D90Q0VmZdEHigRB38kVl2oGDCj627uBBCVlpVVRIq24KnlYjhlytQAheAtwVXBREXkCQEF4lLgqAID5K4VWEgBEEGVJ838ABUQxCICn1pg2PAoQAO9YSAQaBgH+ij2rn3V0QXS8R5rM84ZP7GHf13QKgvBz5Ygb0DJ833Mt8RpvFxtBQQ2dpgkABEHDBgCA5bNKVhSiFDXiEq2FlKF61VBtoWIxykoZsiI6dZRNMi6YDKGp1Ol0m1nKAwRTDwVajzItQbMIgEUVHXIk9EoVoNNhz7P3tWpRrz4yKORoFCAcWS+PyXKRh1JHbwOApaJr08iay2CHVbuHA0jxpNpc5a4BgEQ2VFDUACgAMAI4AKD6A3ADADoAIJERIENaYEHjEpAYAB6LPeyvvU1FSPIdjOKzJmYTu7qPvayC6PwcDHeiafgh4Dtr6ddSo6GFoFhQUIMmaQAADcIgAAAA9VLQFmqgH6Mq41hMST83msMrZ9aKLCtkyEpF7UrJUJpJG3bmxMoaF0luldQD0NjaakGJhEF1JCT0WLmIMAUYBI9c7bVEKRIoPcyX1SXABuflBKSBCCFF7QHQgeKyVAVAByAIxKMUAOBORTS1hgAAhQ44DRYA8AAAAK505AQAWEhwBUgaKmgyBEg+i93jH/sSFbps0WC4U03gE7vH+3PrAlz5Lpb7YM33nVmjXaOhRRYUNE0aAAAAIEkAAFhy6KqWhyhljaXHUc6Q1FrNKm/HlZVL1CplKIwr+6kCzQIDGT6Wlsu8/MVKAerxBNKkOaDRBQHSltBpNBAPgADL8kEDACLLogkwtAI4Oh4bg1Iisi2OBwB2iWKZxjlV0FFAYQHYTkjVEwCBokV1RRcA0DQu5AAAQK6DBIwKJFwBqosLLj6Lvdmvc1MFzn8HY5YvfGLP7n1dqgDXniML5nBqab7vLNmsNRpapCEoqEHTJAACpg0YAAAW6lxUWep2lH01lzALpH52Ok9MK0o1Kcki2rpEIMcE5eClvMWKsD5y0ylQeRbQpFmgWW4BpEMUtXhRRhBXWXt9SOk4UFdA7dHjHks1FbgI3gKkq4EIChcAhIk6K419nkE5AAUFDuJSUtWPABRPQlb3lACA3EAOBcABAIC6g+oKAJAsYHBl0FARUHFZUAEemz3Hr3nrQmKS91IRM1hFCM2e8+u6rILq8lxZ5AK1DT8kfEddlrpMbi0CBWwTAAAAAAAAAACAzQ1i8S3uqnF26PPROAX92uZphaFiYWlWVJFkGVX0A0WQjLmKiKSCZigqT6CKKu0jgTyKilwNUeu47oLIE6t5Kcw/vpuO6J0FiwQNphk6ECU7QhQa1NUDFC6UzJoAAExHpQf4cwIMFwP+at3t73NUgS7yf9HcRyE2rZu7v44uUKm8VwbJs+F7TMDmJSpeazS0HI0ZDcEZDZOmaZA2TQAwEgEbQEEVsLxiWSxLlaFvTyw9G8kQqd87S28ucsWiGFVVTiEz96P5ZW260kROWTUFq6WcQdBqUXKqiBT9l2KcEmIkaKAwaJUCDvrLq9i6msQWa1XBEwAW7DjMFU6rUB2AHgo4qoeKRlUAAOmqqJ0dAEA9ANDEIgDIsQAAOkABdIA9AABc0cUJ0IGBDgA4HQAALABYAEAHwHQAGhaZRQKGAS4NWUPFAKoG/rrdws++rYJYyHcxLC01gdHtkV/3bRWEZOfKIUuyxvBDwLd5yVory5CjTQMAAAAAAAAAAGAtyM5xKFm4hCyIUPfa0neiclyRKxTKJFRWV4FRF0iLVZYgyRPknI2n4KpaoDQUqrkqlBxIAFqsmmsbAPBeIFPakCrqCYAIGpARLaKSYnUyhsiZBwTA6IIGbgU5KhpkMgDeit3V93nZlZB4DxXhPtrQiT3c+z5OBU72yAB3oOn4vmvJ5ix9uziCgjM2TQMAARIAAABg2ULVVDhAPxGHl53HTOinje6hRX/K6tBNRFF3JcyCoEnjujSfp5YCtAUEmYPKQwGCQDAryaYB1dVE2rUZdASUKkSeuOI55MYoQLC/Aq6B9PAQ3QFgbFvY+cwUDwBAJQqHqwCHDuGOWEcGEAAlEDiejaNTgA4dAFzvgAMAWBxAhytdAQAOAKAhuRgEkMmoaAAeiz2FX+vSlYVCfocqc1+F+MQe7n1vu/KQ/Bw1KORoG35I+I52idcSb7XIEARt0zAAADBoAAAA+SRWO4RMyKqIpe8VFsMMh7L2oF9zWVSNpUuVYzJHK162sAg6086IFQRJOhVVFSC0Go40miroZpKTIFNZDdIBUD2JuF5KbLTiFU88Mai2AzjSlGCdA71oVdgHACxoyskk064AgA4QXCkAQBcsmwkAaAMLAJ6d6xpUyBIGLFARaKieil3t93GbCl3k7yK5Uy1OJnYP732sCu3KOdLADWrZfD8DnEumryPXWNRNQQ3aNAGAMAHDBIDuSkXVhU1ANANUrqiwtNS31LuXZgVZhOSQm+ainmqIgqTgYynfhWTqCgL1LGBO9VyQRYCAMDZt5GZXhslZW1+rkaegQA0ei5G2BUBRl1UOGYjKRy9YBcBkKeorNaZ6Acg1FQCgH6WZnAAAFQA8lC4uBgBO5zgAwEWCRCAjQSWDBeuCDP6K3d2vc9sVYbD3oLlR+MSe4uu6nIqYfI8skWfH9xiAa621ZrygaAhyaNokDIAgbAIAIgJYBUACYGmtisKiKhXK6mZJxTiGsaTudVY8mktzWVRX6kkZYXXUShK6xKEXBYFlS9BoEDCDqEArZyaKCyBAPu/yHtoBaiwSoKtQRogUAB3rAzK5qHQhOdEBMGOKezRLGoeqEwBsgQ7lSQRBsJNmdwY4AKSyC8oBgCsAQMYBAAAGWBAuSNAMcMkWEC6BAB6LPYVf6+YCygoNxhxFAZ/YPX6cS1dIau+RA25Ao/kh4Jcr4VprlnY0RCHWEKQGbZoGAAMEAQAAAGJVslXSGeiKkqt6KDaCxdFHeRYqkfoZbHv6QoEgQvYeS7kyidzcKtoIEJMsFfEEUFKUkiOLsgcAGgkfWxSoDlSBS0dQNOkA4WITZE5KEFVHngAYEpFmHJB5hQTQqQEAClCgc5uqtQIAMOgAAB0AHABA0wEAqAGuARK0CgSZBL6K3ez3edsFFLwXw4VrSjqxe3if41YoZ3vkgBO24/ueSzZrjYYoxBYU1NBNGwAAEIQJAABY1q2ay0Zt9BF9NCsooxDUfcrzvkNFVGaVCj2MIrM/ixbjAO1I/bl5EMWCHmEIqi5A0S5KbwZAECg9ciarQmiasQfWgINVIRF4oNAKDp1DekXJGIh0pkMBACJwWSnOE3RAUQB0CIlUBU4dLRary4AJyM6COxy6BQ8AAOB6Bw4AADoALCoDKhcSAxpU/oo92e/70gXK8DsywE0K8Yk9hdd1rAqMnCOLXKmm4YeEb79E9bXSWLApqEHbNg0AMGkAAABA8bJaWiJZSB9L6jMqUnDwYHE3smIKVVWGLKKsVQ9RkrRh8ZLcsaiM3OUUfiUpJeFagOCgVZQcqQphLg8TswUKRAvb5RRVik45XXkJZE4JcSqoA0AHDfbMEgVGxRVFmgA6FQREcr0AQOtdNAC4TtcPAGBApYKQoNGQaaAZQAb+it3Sr/2SFaFt0KDNQzewiV3jx7l1QUzrOTJiDqC24/uOyNo1M1stDAqCpEEAAGyTNgAAVL24IpdH9tStooryohhVHc8I/Rq3le9F1VySyyv0LliuorovqGCgOxhXrNR0lYwoygOoopH//ksCgoKWmgJFARyRsaLUjFvNJGeBzaLhXAUwIQB0eIJWM8hGoQcAFg16u1L7KEp1CoVCQMcFiCsAADrFwgoTANAaADoAmQpXwgJZhUsioaECHos97Pd9mQKd8ndlmftsSSf2sO/r2AXKlT2yTJ6W4/surWzW6HJR6BCkBm0bAAwAoAEAAFisyyiqpl691dfnrFGWBRw4Nu1FM+qkmp5CUWT0O1vkIkHJTiwaZ2XoSjWodYAacmmkqvkAPQSRokDoM15ZM0Jks3YCFFVgFI56BIWYVgE6Q3JfKfku0EgjXAMAyapCc2Z6E0MoCk2uwhSMkaOaAhgAAMhUhX4AgAoADkjIDLhYBA0qT2dnUwAEwPABAAAAAAB0JwJzBAAAAPrxm/EMud6V5JbFtLrOm9Gr3opdw69164KY2v9KIw+DmkAndo/357Yquiv3yIq1ItTU/BCk79xks5ZuURjE0CQNAABJgwAAANCaWYOTzBTeYclqqg4Z6h476zOrWB61K1WtaCqLojKqBcWISaZLtwzXSfJTHnURqNAKqXANKJJshJbQN2REiH1dam0gpYBaoSOdwi1trkMnuH4BrkOsk3roHtMBKMDM3c6EoggCtd5JWltZLqsfAIBR0XUAwAAAXC4al4QMhMpAAxXeaj3s931zgfYVWhlgSYVN627vr6MKlBnvlWXu0JrvZ2A9oJWpWWs01AoAukcfDY0RtGESJm2TIID1ygwVF04H0glqIwIAAIAlNUstS/1qVdFWXhQLKiV9z5oldUkDpUEy00KjU5TN8lJlRCONIxVaGs3KswmqG4JASRTqnhhgnXIdQWui0OByBIUGAKer1fdD9QyadmpO5AkELIj0OGeFWF+h6mQQCnQQhKIodADoBDgYlIwFDADoAAAADsgcAABwAxwArG4BHFgAAKADgAFAgsYQIGOQGUBlIJNBYwEeu93jz3rsgurKdzEsyUKMbo/8ei6noLqxV1bIr2n4IUnffpOSaWYZMmkSAAAAAAAAAAAANBfNFjLBOzNrZA1Jn3EWj+dSS2JJVb2rRMWysqKmkjDqAindYlmXVKTUMeYfQjOkCVAJZBKhb2gGMvILaWcVZZLScMmC5MRRTwBaZhSZujSDErT1pJksAKAOXAyQBHCpAH5q3dT39agC7ex/pcGQrAIirbO6X7dVoEy7VxpZhmhqvu/clnbNaGgpNvUZjdGwQYKmadM0AFDTLBu3VbJfFfr0OFw/LkcLMh28YL1CO1dc1g6VvVRGlDW9YC4QdKb8x0yX+X2umzkIVAwIimZ3rw2wywQZIZbof4woQB+gS32JUFZPIISM6WJAO2Vv6Qc6ZL0gWM4w5qKJoC8ADIFGQ5qC7RQAqwPHc3SkCqATnaBEZ8XLCQBk9HQAYCEDAFhUwAFuAIDuAKAz4BjggAEAFoADAMBhAeQLsgWaigAXGs0ClQRyAP6aPbmvfXFBZYMWI7S1JvCZPbnXs1RBVdpzZZWlkabhh4DviCwTyyRrCMMAbZMAAAAAAAMAAIBWcAsZGaR6qzxcxLIMaf+i855hIRf1H8oqRsvligUoQeBdcyPiSrNARYG0KR/GpQmgQxT6xq0aFbLa0DW53kh5eoASSkQaqLQlWNaGldYTjQCegBjVBgBoDAJUKg0LA/6KPbnv+7YKgsnvyBLLYk3NJvZqb9flFITAx8qKoeHq0nzf0a5ZM1tRiCEoKGiSJAAAAE0CAACqLKsaSzM7fXT6trNGVJYiHahQeVcM/c2isqqyl6I6K/TVhs5CK4nGLStyK3OR5KuoADTZ0nS92aBISIIIokL1JOgAIHKk9kDpRYAEE/voFLKrPQNwunottuvinHOsXnA/ABA0ImmrLRSdQkchYNGCZgHaqEY1BQDgI+gdAMABwOEAwAHgBhoMXCpoAgsJ3ord7fdzPIog/DkywJKgqenEbvHjXh5BxVgjKywjNB0/JHxniYrVV/KFATUA2yYNADBJAAAAQCtvl+CUmAX9WKgvs7Iwos9SPU9oyqjIrCIrLGZkXSNRpokIr6tiOV07sjtApYaimliNso2JYgaUQCRy7mM2ZIZa5BA0BOUgARYFSBHEkd0I6aKbcQFAx0CwOo3mZQyi2SkAeCC6yBEA0AEgRdcBYAADACwZSAkVXBJYEgtI3ord3fe97YIuxntliKWxNZ3YI77uZVdUZZ0rJyxJmoYfEr5zLX3NWAtYUBA2aQAwYAM2AQAA2DyFS1FvOFjl4aKtEoIDS5pj9bSiUN0jeymqzsrqKtrBQkvQhstClzFXQ35JoPLE0eyhuiqkowdABJNYlWOgHECnNJOQYlIIWMJGSVQBdJ24opWdYTdiqCzPDqCnKOELrQdIJygCwJLSLQKKU5Kai30AQAMdAADooCNX4FIRAgguGYMMnord3Pd1OQXRleegWRra0Ik9x9d9fAItVhs5Ir+24fueIstmHbGGVnBGUFBDt20YAAwAJAAA4OIqVSwZNdFb2ddcYYgoCX2WOnzTuKJcakVT1otlKmpVSsYdgQwLjazvWCjoIxKVZ4FmTvKrXAtyTNKM9G237ESpVeukIrgOECmcNAFXbAuAIF0FK1fZEYsdSXGFASRZKXvRa8vDEBaKoIliKwUAeJ7sWuzTNgAAOAA4AJwDACroACwAcAUGAODgcAAAcAALFxUElwwLtAaeuj3U/b49gmhkL4plqZZkdPuIV+1eoEgtsF1PwMYFmpwfAr5NmSyZWPdiJm0CAAAAAAAAAAAAFWihBmffqFjt0Vfidfuo8jCjVmZFBR1litqlJMYkSbpFLrHWJchE0WvfKjShSKwwqqa4JPoeCoaXYqySfH2AdF1EtPMsFFTxQPMZAID8WDAXUAja5FcBAGpU0ztBW2QDRQESAp6JnelnXk5BTOUcmKWrbWjELuqxjk8RXCkjSWRpab7vyJZ4zWwX9BlBQdomDAAAaMAAALBstDyXFlHfjd49ncplnYyRjOGgfrK5VFt1SZWKhaoUKirLmp66QdGiyWHI/Zj5RdpFIpOvQGkeOo2S37sfSBZqELFy0UoqBYCyT56X19YLaIZaAkEzwIWixurUWuYGRphS6gYAbVwxVZcDOgF0AgT74ghx1RMEoEIvVbHiNZ0AADqQItMJOoCwAABABw9AAQB6ADgABAGCC4MMWsIAnrl9x117Cgl6UVhpMYOePInbV5v/7RFEc7KSYv0fCnF77U2j5wENAAAAAAAAAAAAAKxfXn1rcpm5iy4sX1bZkaPxaFxRtbp352yFFVtRFeNiPIwrqlbpZiabdL+9Hhp0X5JFfjbJZlLRaMx8fT7O+Io1U3rWKqkAlaLSnvToP10K6zFizaQelaJSKalot0raLSDVKqkUAD6fphJ6x8cT7wAQ1OMZ9SgACBoA', + Db2: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAAAyxQZzAAAAAGO1wwoBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAMsUGcwEAAACZD+pEDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + Db3: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAADXOvtyAAAAAH0gQmgBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAA1zr7cgEAAAAbdFodDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + Db4: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAAADJ/hyAAAAAF89k5sBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAAyf4cgEAAAAoRlCaDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + Db5: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAADXOvtyAAAAAH0gQmgBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAA1zr7cgEAAAAbdFodDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + Db6: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAADLGfZyAAAAAAKTmAQBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAyxn2cgEAAAAfcF12Dz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + Db7: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAAC/+PByAAAAAOJehJABHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAv/jwcgEAAABia3VtDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + Db8: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAACz1+tyAAAAAK7PLmUBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAs9frcgEAAAD8kGIIDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + E1: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAADfw+hyAAAAADBm6w4BHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAA38PocgEAAABMe4P/Dz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHGGHPOOSA0ZBUAAAgAIAAAAEBxFEdxHMmRJMmyLM3yLM8SNVMzNVNzNVdzRVd1Tdd0Vdd1Tdd0TVd0Vdd1XVd1Vdd1Xdd1Xdc0Xdd1XdN1Xdd1Xdd1Xdd1XRcIDVkFAEgAAOg4juM4juM4juM4jiQBoSGrAAAZAAABACiK4jiO4ziSJEmWpVma5VmiJmqiqIqu6QKhIasAAEAAAAEAAAAAACiWoimapGmaplmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmkaEBqyCgCQAABQcRzHcRzHkRzJkRxHAkJDVgEAMgAAAgBQDEdxHEeSLMmSNMuyNE3zRFF0TdU0XdMEQkNWAQCAAAACAAAAAABQLEmTNE3TNEmTNEmTNE3TNEfTNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TLMuyLMuyLCA0ZCUAEAUAACmrrfZgHIEok1ZzaBBlEnPRFUPKUewpUggpiLlFTCEFrbaKOcWgxdo5hpCT1kPolGIQAqEhKwSA0AwAgyMBkqYBkqYBAAAAAAAAgOR5gCeKgOaJAAAAAAAAACB5HqCJHuCJIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkucBnikCnigCAAAAAAAAgGaKgCiagGiaAAAAAAAAAKCJIuCZIiCaJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkucBnigCnmgCAAAAAAAAgCaKgGiagCeaAAAAAAAAAKCJJiCaJiCaIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAHAIAAC6HQkBUBQJwAgMFxLAsAABxJ0jQAAHAkSdMAAMDSNFEEAABN00QRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAMCAAwBAgAlloNCQlQBAFACAQXE0DTiOpgFH0jRgaZ4H8DyAKAJMEaCqAEAAAECBAwBAgA2aEosDFBqyEgCIAgAwOIplaZookiRN8zRRJEma5nmiSNM8z/NME57neaYJURRF04QoiqJpwjRNU1WBaaqqAACAAgcAgAAbNCUWByg0ZCUAEBIAYHAcy/I8UfQ8UTRNVWVZmuZ5oiiKpqmqrsuSNM3zRFEUTVNVXZemaZrniaIomqaqui40zfNE0TRVVVVdF54niqZpmqrquq4LzxNF0zRNVXVd14UoiqJpmqaquq4sA1E0TdNUVdeVZSCKpqmqrivLsgxE0TRV1XVdWZaBaaqqqrquLNs2QFVV1XVl2bYBquq6sizLtg1QVdeVZVm2bYDrurIs27ZtA3BdWbZt2xYAAHDgAAAQYASdZFRZhI0mXHgACg1ZEQBEAQAAxjClmFKGKQkhhdAoJiGkEDIpJaWUSgUhlZJKqSCkklIpGaWUUkspg5BKaaVkEFIpqZQCAMAOHADADiyEQkNWAgB5AACEMQgxxphzEiGlGHPOOYmQUow555xkjDHnnHNOSskYY845J6V0zjnnnJNSOuecc85JKZ1zzjkIpZRSOucchFJKKSGE0EEppZQOOgedAACgAgcAgAAbRTYnGAkqNGQlAJAKAGBwHMvSNE0TRdPUJEnTPM/zTFE1NUnSNM/zPNFUVZ7neaIoiqapqjzP80RRFE1TVbmuKIqmaaqq65JlURRF01RV14Vpmqaquq4rwzRNU1Vd13Vh26qqqq4sy7Bt1VRV15Vl4LquK8uyDWTXdWVZtgUAgCc4AAAV2LA6wknRWGChISsBgAwAAMIYgxRCCCmEEFIIIaSUQkgAAMCAAwBAgAlloNCQlQBAFAAAYIylGGttGKNYa62JI1prrbWWVmuttdYaaae11tpqrLXWWmuspdZaa6211lprrbXWWmstAEB3wgFA98EGTYnFAQoNWQkApAIAAMYo5RyEklKqEGLMOSklpVQhxJhzUlJrrWaMOQgppZZa0JhjEFJqrbWaUuekpNZiajWlzklJrcXYaq6llJJaay3V2EspoaXWYq251lhKSi3FVFuONZVWWosxxppzaym1FFuttQbXUokpxgIAMBscACASbFgd4aRoLLDQkJUAQEgAAGKMUow55xyEEEIolVKKMecchBBCCKVSSjHmnHMQQgihZIwx55yDEEIIIZRSMsaccxBCCCGEUkrnnHMOQgghhFBK6ZxzzkEIIYQQUkmdc845CCGEEEIpJaXOOQchhBBCSCWlFEIIIYQQQggllZRCCCGEEEIIJaWSUgghhBBCCCGkklJKKYQQQgghhJJSSimFUkoIIYSQSkoppRBCCCGEEFJKKaVUSgghhBBCSSmllFIKIYQQQigAAODAAQAgwAg6yaiyCBtNuPAAFBqyEgCIAgBAiHPOSauJUIw5aT1TDDpptXfKGcQgxUw5pBik2jnJmHISQ2ohZE5aiTmlEkqMPdhcYw0CAAAQBAAEmAACAwQFoxAECGMAAIIQmSESCqtggUEZNDjMA4AHiAiJACAxQdHqwgXoYgAX6MJdDghBEARBEBYNQAES4MAJbvCEN3iCGziBjqKkDgQAAAAAwAIAPgAAEAogIqKZq7C4wMjQ2ODo8PgAEQAAAAAAUgD4AABAQoCIiGauwuICI0Njg6PD4wMkAAAQQAAAAAAABBCAgIAAAAAAAEAAAACAgE9nZ1MAAIDUAAAAAAAA38PocgIAAADVyobWHC7Oo6GknqOinpecl56bkpWamZONlo+OjpmUko3M2Bvhxti7k6RhJABgPM7RRYe+aGE0WliILMv+EPd2lcoHbj1LGo2oqpIUSAUAutrV9u95IVPsF23rmuKjnSntpvLXuSFL+8e5KNN8xHnHYI3W4N0O5GKgUhfJAqnEKEi5XNlVIGEAAAAAIJ1dNKI2213UanXJipua7bZYUVk61S9X29l0dIl6Y/uWLOswkmQiIA4PRG3aA18UoJ5i+tfq+Th7xZ792Jev3KZKZBtNIk1yybmsp8l4U9LF5jeXRnlBqtGoRxXVpP8nLrNIzWxn6HefTZq8BBeFxqadV1slGp7VtNbwcKvKpEzmRQ+sIyEpk6BCQ8JIGgMLLlQe67X8z+tgMcav3MuIdOzSDj67jv+ri7JW/uVzGbAF6tIKfhj4ZIpsT1ZiLFfynGkAAAAAAAAAIDqp5jgMDkdSQ+2qcsUXpEiVUtWUfVGZWSVZ2pH6ENRUUCRXKOALLZUKRRk5Qj7NVr4AAEXuxdBvdpa2AAQNumqBweaMy0iEZ4AmQgEU6omsAgHtsgdvCXkZitTh2mlfaNcttCGg0YNoVG4F3trV4j91qCjlydtokZ3313R2rfirjqhae/I9WvSHjw23l0wSVZLlqFgpV3YAAAAAAAAArpIcmoZsplD0oi51U0dQiLIsLFaGqlUZL48kRU56PRfUmiJKcyCAm9QwpC/VNIuRsOJEF4D0XZeh25htZ9dCYRFCEBlao11Rp1CrHqTApvIsqdfwBJY0sMyRKA2qa4ui24WOwUNSwUr3BUKA7AIe2w3qz/PCYuSbjdVJsuO7HTtCu0H8VVtUoz3ZHp3K2553830ySVTXxUxKsryKNgwAAAAAAACgrL0kozLTCpmVe/RnbVa4QJmyQvQshJoMi1VjMdE7OWSCrOYGrtMCN8lphUemK8cdkSuMRBcAEOQxLhQoDxqM1q5AoZlQpNl2pVWYEvoLeZMtAle2cjWGYkHAPyyQEiRqW2wnBkwp6coCixusMv7aDeo/ebBodso1ErKj17Yln92g/sgtquZbeY4O0p09PJ3vkiVTk6ykYnQxwwAAAAAAAAAZK16KIlVclHqRddQhKw5NhoiSg5yrIed1ssTySixXgpwLVYlrRBCQ1MipH15cEasRYgFAmuMJBRj6+jH2gsjjajUQemUNLJQHIbcUtRMFmlSHyKazH5tgeCdkJlRisJnpgEVBy+BHFy4kvtpV9M9jczHKV97LiCyj/21rNrua/xVTVC1v5Ts62S5jfhm+T5aooshK5eWtczRgAAAAAAAAAEuytqwIS4uRnpGosz8jRpegQCULnbGeaqqWcmmKvGD0WFVQa8oRpFe0gCSnWuqvmo1ucmndsSgBoNgvJCN+yRpXVkivIWgkGiw3D0JR+obrSSmSIVUBHqgisqUAXGgGABKkS2MtGKG7WsFAAB7bDfQ/NalY48ufw4h1z5Phs+v4Xzm42O2t/K9OlhPyy+Z7hIFMLKrrMuqaSUU7BAAAAAAAAAA4LUzbwgwAQMSKlbIMUVt2KmW/+iNdoorIlBmKxRR9qEw1SmlRctdEEFhJbUGo0BbUEBl56KpEFwAA7awFBbQjjzLcdhFFVwGZWiLwRAGLiqCNSnjQEgtXoXavdwpU0PwClqmwAhtwqRqNBh7bjfw/PbFo+dR+h5HonCPNZzfwP7JFMfLcoNUltrOfDN8nS6boYrG8NL0tRwMAAAAAAAAAiLKOClGm4tAZqoh++jP0N2UGFeTyULE/VSUqKzmcxssOg5yzQLYsCqwkp1oqVbKgSSZhAQC/K1BAoloxjHUTgvYDRQsD4AGFhMcSrugaP9qCqAI8Q7ETabEgsoUCCaQmkbetmyoDmQwWvtq1+M9riqKUt3wvQ9P5jXfT2XX8j2xZtLyXtLpUdtwvx/fJJFF9lyXXuSy35GgAAAAAAAAAACrL/kVFWqqQVSOr+yNjhTEjIsaWdgt9IlUNsioXUZ4vA1nKDTLII7CohdbecgUU/UUCAECrXSiQBlmmGgmQQiCLYMAXIHgWoBlIEsATBZkSIEDoV4KAYCkEd2EtqobBAv7aTfw/OUUx/FZ+VxfL7hmSfHYT/50ti+Fb+19dqjtzSfPDYj+ZWKaoZNSIkhVmwwAAAAAAAAAAgGouqC/knZlFfUZNf0a5bJnIpJLyotBrMVUdiaiUFUFNgKpUY8FVngWKRX5C4Ykm6BGaX00pQOK/biKpUeSTuCwIZAEVjhRaKQBNKtUxi6tc59SeN0J942MAGUe46tMSUeUGFx7bzfw/vVTRyq39ji6SRhk+u5H/UcMULbf2vzpZp44o302WLEWWHmXeVpEAAAAAAAAAABQrVM2sDEX/GZUZWaU/FLlcZmhD5Kh8zsquRhSVsjMSfUsg55BnNSUBrCByLuAfNGdDCwz7uxLJjUe2LFggC0XCSFig3QoAZKRqm9YhTGtlAwAGVBYKCNSMqGaPP2pmwCAzIAPe2o38P7V0MdpTflcHy84+ENnl4I8kp2q25Xd0tl4EPAOPWMNLJolqimXcS9N2jgYAAAAAAAAAg7eqeAZsuwsMQEWVGtHtqppyISzkWPZD5ZKIHKlalcgJsnLqgo8MKYqF0rquXPMEWFGfkUwAALThgSH6eQQQKEEErgJBRFkCsQQAXaQ89LBSMp8K4IHiTCAFWpJYEBOtLUW4dIJFA97aTfzvnLoodsv/0clyGT2gsmvhr5R20fKUv6trvIYB7xjAwEsmFlkRC3LPy9tyMAAAAAAAAAAAIBwgOKDlqdiW4BoinU5QFZE6y1Nlb8oqYUW5JCJHCijVfPCaJSkgeEBICBY8gYzlVVImABTrGIZ+JXmgUIiCZ4AU7S6QAQBtYOjRFgAPFCJTIlBIR4gMACDVjCB/PLoBjRIM/trN9O8apmj2lL/LSHT3gs9uFr+63KLZlt/VKXoduDQTj1jJbUmiicXcMk0r0QEAAAAAAAAAgPgZ4BygHoAKsLhkmYwQtci2l5whp9AcVOBCRF7aCCjAA6HoNdKgEFlpXSOoRVBZM5YAjm4YIvt+AITKRQoVFJ4Mq+gSgOltWEgEqIQnPbcQMA+gYkkDBjfgSAYe2y3i715WMfxpvJeR6NgDn90sfo3pFsVO47s6VE7REeURI/hkYpFHEkiJy3s0AQAAAAAAAAAw4AKHheUWGIByhSqpN1XPZYbKY+hdESyjCC5O42IZoFyO4mWigKAFIUgbVvuCqFwhAIAA0gY8AYaybyxrEds7MbBNmiQI1U2RV8OeAlR40mYDAAaIbAFAg0gVLBFUAP7abfxfL7tYZRvvldLVLazw2e38p4dTDC/Gd3WyXiwIzcQ7FrCWl0w2uybFo6RbbtoAAAAAAAAAAACgMomqoCy5G5oMcAp0rIAqBarQ7UNUAZYXzbkCZKWQJ79K88CVLaEU8gCAJ5CqhwoAAiDXOwUF0ga+hKFjvNt8RwAeiEJQrRAAAvBEkEoNGv4cCeCJJweTcsMLQKiITAW+2s34X227KH7y9zIkU/SL09lt/KeWRwwb/F4pvmw4wjxi4BEWS9IqYkGxUioqzgQAAAAAAAAAADEp1OEVqAeoAEjSVnIFAKgoV6CKcGki0mghRTVFFQAeVLAg/SAWwA0KLSwARdIGsUzKAEh8rRRDSp7fCIKqSqgmijxKAIAHEr4awrAeiz1oixEWm1+KbcA1DyBAstBYFRn+2i36Xy+faHaye3Wi7qkDn92mvvfwiyKLnauD7SpoifKIhZdYElnRBdNLoZyZAAAAAAAAAAAYnIhYhJUuMIAYXVqlUli6lEUqzlOVXmnJMqEirsTKLKjKVWg8qAZwUWKoWDwthP6rJgEAz1oApI1i1qCJegKpmMAY85AWAMikUjVoi3WjIb/+vKHxKQUyUPNlQQL+2q3pHz3dosjJnsuIde2Bz+4gvmq6RZFFnquL7CJlSPOOAQx8kqSujGBVyZ0NAAAAAAAAAAAAoo0BJ2SnG4yikiieAqjMYDlVpF69iOSR0ujwckDka+4nXBTakWgtC4JraZAHgP9PRClQ8MBXAQTSKJ5C8KwbGFeqLFhyNbCwVHrnDvIArR8AV5AHAhZ+2s3gj9ge1fxk72Wo2jtJNrudftX0q+KL7dGpdhm2tDuPWMFGGKzUdUWgpjJpAwAAAAAAAACAJAZRI9oloIJRWFHhXgUAqNS/IlL2l1VeXq6tuE6OhAD1oIrAKiTATSTFgPUFkhxBAKAArcb7RsA3M6auMkzkvu5rtCtlFg2oVsgDCkI9ASNCkmkHW6mBMY5hqLQ9AgTe2q3xHzWcanCy5zAk7Zk4n92Rf/bwiaaWvEcnaQcrzjsWMPCpi7UqsWApliwnaQAAAAAAAAAAAFDNDTjA2eUjTlQixt0BOSJSuRCihirBApaErD4M4C8UV4GUwE00IORJBYUiSLtIsn5ZEgAw91goUALgCdJGGhDiDrSWlFhJwjJHpVHl1gWA5MtCoAsaLv7arekfY/pF80Xdw5C8FZTw2R34l+YJiZYLe3SynKQDj1j4xJJq18WM6VZMEwAAAAAAAAAAizgQBCudCAqyWFFldrNjSZeSqEL2DVVQQdafKcf9g2qiqHi00QAkSrQF7WXd7QIgALlGEIBm8WDWfrWGFhopQtJkUURS6dHQXqcEkFAPH9sSDZMENDQVCzK+2m38j1we1TjxHF0sn6Yknd1afGlqUBQG1uoS+8JNncojBr6RRFaTuCRGOWkbAAAAAAAAACCiaZSIaXWhjQAVFStQybiWzLDQGavaO1QnFSEV1HQAQD1QaPFsoAlI8kRbDXiDXC7ECIBQkicAMJGGO/YAD4BmbsMgVSRzUIAt0OaV9XpTVPQ7gEBFwoIG3tpt4q/YPlHkZs/Vxbr1yPDZrdWXpgGJxiJ7dan3JKV5xwAWPjVikVW6TE9WlpsmAQAAAAAAAAAACI2KiGK7BOMj4qNdKRCoCMXS1Dc6qseyKDgVom8JGl+VNmmiBayktguFoGCtfwgs7xViBECaeQEC1LOkynC0ABToFTwpAA5dqcBNpkO5U0BgFbAgCrnWgQbfAAiNgMoC/tpt/J8WBYrmmz2XIeuqX5LPblc/WiQShU3W6mT9Rk7qdB4xgptMfClqZCWVbdoGAAAAAAAAAFgsaBJFugAUKJdViawIVYio5mRlJqxIpYILHQt5CVD1T4KuIgUW+REEhQACgSwCV1H5NQDtPeZpRD60ChBUBIoCmom7gYYil2wpNdkFKkwqVzWPpQ7eKUFoaBhYAP7aLfyf5oLEkq9yLyO2zFvw2W3iu+bEotlTWatT7CpnwSNW8smkmxpJShEneUvaAAAAAAAAAACImAYxoqy0oRGgXF5FlqGsZjEtCllNRaVUsJR4kkpQdY/CFZFQLOrcqpJSFBFLBGVtOiMA1g9PBCCbW34guXjZgg6dCRY/IBQsswAegAZNZigFNBCZAkBGg8AF3tot+F+lXyy5+XMZsdYFn90mvmsKLBqbrdUtcqJ/U96xWAx8aqRLGXGKgiy3bQAAAAAAAAAAAFAKKlbRTlE1YCu0VkCQGbpLQvShqCSDynFkf0cAvlrgQTWBlRUnqiuAIkUGJRbXE/kAoD17QYBUSbt4BABctEEDSDU9wpIeIADemKo4SzQoAyAhyDQAT2dnUwAAgJQBAAAAAADfw+hyAwAAALVRxXkYlJKNiI+MisC9uLa7wLy4uLnEucC3u7K03trN/J8WBYrGl93LgL2Zk9J0dpv40ZxINZ5kjS6RU/tL8oiF24gvRSWliJG3pAkAAAAAAAAAgAUnOASkC1CgorJGFKnKiExY52DFC5XPSRLdRYv1y4AAaaFNoZ4kFFZJ6VlUERRAECqNXEqsk5C7BuD4Hi+Q+WQXgMTRBaYSBukLhDK5B+DxBJl2MCqIbAGgYpCBCv7aLeqfpgTF0rfxXMZsgXsk+ew2/V1zIFHU1tbqEj2xS5JHDHxi6ZZYLE5GCXLSBgAAAAAAAABAkBQ4K6xmQwOIoo6lkUVYrCIiVWTqkylqQBwXlZeoAqruBUUetAtYBcWJKgUo5JEFLJOKAIz9vTCnUz0AhSJRLeQBVKIT4AFAgRUqKoC4AlxlmhnglUBFgwQB3tpt4q9sv2r6LZ/DiE1/Jc5nt1ZfmhKJwc3XMmZnx2h33jFYrOARFmpST13mVMg2bQMAAAAAAAAAABBtDGoFOlG1grePdimIICBLaeVSAaAkltNraVJj8ZOEKloBhFK5HJnjxi8FzWRJAtB+rXNDI/PLMgCgCwoByLQlVpEFLBOgpED7A41jgNaQgdoAntqN9J/GLKrpWzuHEZuaAZvdTL9r7qqK3kobRmKqFnyfSrokSZy8stw2AQAAAAAAAAAAlkYtUaaKhVIRmVXrIpYnUmYYV4ZYTi4lgiWpONAXNF6OVc0FBcWJKi0QRCsyCCpJ5AZgNO0BZqdfoBcE7QApaxLj4gvIaZilLQZl2lmiwjdAAgtJAt7aLfSf5oDEkpvfy0hN95Lhs9vVj+bMounF1+oSueA+upNHLLymmyQWW4nZpg0AAAAAAAAAQI5FxCOnyV6BBpBZ1wVRn5ZWsEDlMYwPpuxNBJmQvJQTADyFB1BFK8ANpXKKDCChuQHoL/UB2A/riSYbRc82ANSCQvMBaNZCegCmVi0PPUgFbImKlmBgUUEG3tpt/K8Ovxg85XMZiZk50nx2a/2lOZJoesu1ukRP99KtfN90JZZZErBkuWkDAAAAAAAAAACyWPFKGcGKZCcza+qisFxGiEi5jN77QmVvGYUszsKlAQrIs2hSCNpFcCkWQoVAhV6tKbVOZQJw3+8xL5utqg0AEQikq0AlCwnAAxQYJHLPgArvAFgqVCpe2k34Dw0AiqG3dg9D4XKl2ewW8aOpsii1WWN1qV5KN53O96lSl8RSlDHYJAwAAAAAAAAAACqKFWRlqFhSyiKiVl1zfOEiIUUlCxVjfSNUrZQKacH4osMAHlVIE9xQKieZ9vUDrrLkBtDWUftGkw2+CgDl4toCszXQXHRaAIhVwBJq/oMfWFhILAB+iu38r4yfKuq23sOIuV3dIBPb1XeNFYkSTnvvLpYrm6E9+WHgu+amPjPi5WVDwyYNAAAAgDYAAACR0oio0mEKetrsd39E9F8yJjNUnJd6V6GfSllWyEcrLD56SQMEkC5DaujgFctDQNcsQDPkQQaoAk7JJ5UkWSQr6lSosgHg+FLbviobBNgqFK0OAB3PNQBaUA+g0VhkCgCQLbqDwgUA6nTQpUiOBjar6wKSAvQii5UAoOKdwAEAsgWSBtoAGgm+iq3pP00ZqcEp38OYzO7RSWxia/5dY0eq6SHX6Fa5kv31KN8jLJbqGjVLT108kGto2CQJAwYBwgYA4MzhzFddywAAonLFlkVTQaww51CIWiueLjWJgaLRVKVbNzVd3YHGb0mTmFxKLsDCzF+igkCTiHNth030WmXuACgUtPAk1+SgEeVD6wUEG9LLAOjAYmIgJ2RwAONKSbrARv8o4FoLLEDQgSBIJ6gNAHgAAOgA0AFkmQpBBoIEoYKqcQF+iu34X8ZfLU7jPYzZbA9xLrEdf9eYkVhqWXt4Y5vpo5X5HmFx9JtslrjFgQagkzRBgwAN2wAAnAJdPTWTuwEAltbUkk0oDp1DduWKr1jof4kYUozSYhlG1Wl5S4F5DQmGhCYOqCageRRCAsFc0pMQWKgpLdkA2o9wWJ0AAUp5CjcAqEXKAIgFcs4Baq8AVA9JIZVAVR1ABQWsXi8gFNURHLYBAHgKAAA6gIHMANVFwECSgKSBnGAAXonVzD8tRaRKXPI9TNp8PrqJR2yCPxplVi0WvobB+FapR/lh4bvmJj5LnNYDDQjStA0AAE3ABgAAoBgUJ3SEQtGIutSZQy5nzLCYFs9ClV5pBfRm6Huu13CoJBtwyW4nRfkomUnR0QGNTjUpHAJQ8rPkLDBcejGrbABjjwe9EYAAQsniMwBQeJgBII+cO4AkBMADAvKCwYGDBRBiOTAQAgvIFABwTwCwAKCrsCC74DKgkag0cAGeih3pH5V/MRjaexgjt6qd2MSO4ktzQKrQlDG6WC85h3blEZ3hEQbXXDNrxEtQBg2ANG2QAEjTBABA1Rbw3dT2KohglZIsi9zrBABYcokVhDSqLTOoQq/ZVROsgdVR6zgE70GKDWgCmkceBB0VAOQSsxQ7x6ocdwB0ZGiinlE9AAEqpdUoDgAEOQPAEjkDQUipCugARAeQFoCDBgEI1REbcB0IgA7lDFcTAMgDAAhcBFSGCqyLBQGJyoULnoodxF+RfzF0s96jh/hsJXEysaP41FhJtJjWWt0sp6toMI84BN81tzlrZhJDA6ObNAAAAAADAAAVaSDxgC4niIKoqEtNqKDTv1wIC0XqtTTVLAyRKY6Lkf0qwLHBYnW4bJSrSTIpEAM0OtWkcFAAtEEGsORJ0pIWAGBpIM/iOQABxKw0N3gAQBVkBkDk4voGooolCAAKHcCjgAMcgCAQRUOnB3g2D1i4CjVT7QAAlQMADh3o0HUAgA5ABgkLDQ0Jfort/C9NGYmmh3IvIzabQ5pM7EB/NGcWQxVtDWMxnUs3844BdJLvmiU7S6yoSQYNQUHdNgmAAGAQAAAAIDoVUYSOaoimYjwpc6BBjFKxmKImZ9UK5NA81qN351BoUOBkiQuCVUc6AKQWaB5pEHRoAIo0qcGmyfIiM4G2jlhFAQRwopozaAQAGfQbABaCtJh0GX4J0KEgvYHQk7Lo5gl4OjAWmnLIujoAAE8AQAcAwAHAAYBEYIEkIEEguQC+ic3kd4FfNJq8twFyqXqYSWwNvzRUUUM792HEpqLpVh4RgkdYrFmqWWKVpnhBQwM2bRgAYIAAAAAKVoieaEcLRIBCZ1SbZwIALF+ow9CbhRpRJlXJvlQucdfBo1U0aLmKkEwKxACNTjUpHLYAmAaaYdPraSJzxwTWTxkSAqjS2DaPBgDqUAaAmEgX2MjUAHRB0O2XhULKIFATqs6SO4EFKKxCgqAQK14oABAdAAwAQB3IYHFBRlMBnoodxB8aA4mht/Zcxmy2kjCZ2Fp91xhdDDU0G91Mp2IY847FIC2PsFiaWvUzmonFAwvCpGkAAGzSBgAAALUlG18U6UDEKMGD3NkJolCorlxFGkVBlmGxG6r2DpXVBGg+otrEZjU9FgNAFNA8XkKqAGoi2xEsrx6p2CCB9hBZKEAA4jgZdhsAmELVAFBBsw1EC05EAAoQCNVVWUADsAAGDLUoQNB6tgFgAegAUHGpJAaoaKiQUCsWAH6KHegfmgKJpoZyDyM2E0k7yMSO/EtzjmjBuQ0vHIWWTuYdCwjDd81aaygWY8EaoG2TIACQMAwAAECNl07UGzraBlXBdmhTu8AiKwbl4UbVIXSryZD1h1Xs6zdwgHGdGBRXq1tMDpAEaHSqSSGd6gBo4lEcZ3edytxRAEyhyTpTojgQQNF+xlmumQACagCYxbMAzaY/KGZIcEizrJuHQNFoLARJATksAcAFoAOgIdEYEAZYqNCQkA0A/onN4A8NUERT27qXIfO6DIvYBL40YldNF02GY1t1JGMekfCtUYuEWaOr0eQIaggObZsAQBAgbQBAg6AYh0inGw2CVohTrY4ICkCVqFOZHUuqiiINVabeFaGtpiTXVaK+P26XQAFpdHXEZH2dApAU0DymQVBHAyDkSk0AUEcaNB+hAR0CCGlj5QaAifQBoIJnEyiNAk8FcCT9AHIACgpV6A8az4WVoILgUBcAAAA6ogMAHADoAAB0AANcCAuVwILEAItAAF6KrfFvjZlEU826l5FaTQTNTCZ25F+aclTT6bRhrJyiKe8YDELyCAPtaEXXzIg90IAgaRIAAICgQQAAACJeWiQNdCFahOhUsgWk4lTiIiX0igAYFqeFTupWo5oAzY0U2SGXES0ACdDoaFLHFRUAegsVEO3FCxY2TGg/LEcEw4QACymuPwIAPAwA11yaTaDSCsk+MgJADRSqoIUBEAAHShIsjWaBQUHhEFwLAOAAwAEAqFQJC0guCIEGnoqd+S9NEYmmi3IvYzWbRTeziZ3FpxZVVNMmfazhaGUufcojUvDd1MhmrRGvxNAQFNSwaQIAAJiwAQCCqGKM4GlAAbG4YlUiilQuyuyov5CGPkS1qCy50LHYqxqcAOJqsmYoaVcws0HAQUmDFD2koDwriGsZVu8YgI5CC43GU9WDdAiQY0N8vAgIgMsAIBdNAZEikaIDIAB9ASlADrIg1EAAkROwICK3Ib0AgO4AoHQAAA5wAA4KiQqWhYqMBRUCXort/C/NnVSLzbqHoSi2dDKX2FF9aa6qSnXDxgrXTofQqTwi4Lup0a41MzJqwtCgSRMEAZuAAQBQyIVqVZxdVApQ2beWLMJCSQWzZlCstoq6RVnJ4pzjJy5hooAMpygoLmmIREKjoEmFe6IBQKo4MFixtlTRIgAANaSrQYoNBqgJRXzKAgDUDQDtJnoTiAbEc4sAyBXAQQGAawMcJGyUZk0QaqgCBCVwAcABDAwkEo2KBBKSCgwG3onN+A8NkEXRqZ2j43h1D2kmsV19aawlMjhnLOJkdR5p3rGANDzCQruWbK0RazbQgAZp2yYAAyYIAAAAyiRotIGaDVUjkotqFwiiGZBUZVAjgBhKF/cU6icVtVx18GyfG9qk5+KGBgG0FmhCLlGssQBAC0HptYbkEUHzxnVHWjYIcItif/MBAFAGgPyGFHBViBMA8ARwAW0c+h4OBIUlv1M0kIIUCofaAAB5AAB0AGQguBgaVLAQKmgGuJ6KndUvLTqrFlM7h7HaXDZhMrGz/dQ8l8hoCqPH7WZjiPOIEHza0c5aeiOoCQ2ANAkAAGyDBABAkAA0UVa7AIAqNbVFphxTSe8lHZ2kSrWIpWymhd6XIPAAGr0UIqjyWJI0CSygAU0qeJIGANUHSFJ/C0UXAABaNFLiyYEAPeGw4g0QAN0AkA64AppXiPQA1HUVuUmloIQW1DJoJrBAAAo9qAJbAJQDAJULBmFAI1BxYQG+ip3tby0jidabdq9u5LN5JMnEzvZTy96i1JSsFZau2iXgESl53Ua71hIrmiO2BmCbBAADpgECAFDRAlVgLQEFxEJdloeCaKUwLEOG6mqRpGzyOVYCA+gqgcTyU9AggBagid5gCg+qALg2KgxTnvrbbUZdGoCOwhbNBEkBBlAhzNVPAFCoASC/wLkCzMQEQKDQwxdcKqB6UQ8kWwCADIABEDWTVgFABZ6wAFyLDBKCSgMykgBPZ2dTAATA8AEAAAAAAN/D6HIEAAAAazS2sQyzt+qF6ZDrheWP6ph+ip30Ly06qVKLdg8jsbo60mRiF/2hxRpVqnOGF6zdpyPJOwYQgkcY3Ea7ZCNWsxLDAEkaAAgANGgAAACiXhpRhApII1CpHS0o4LAAUm9KQIEFltSPGUKtKhQ4V3QTOPR1ahEJLKAxpInQnwQGmMZSCHJ5N426ADgECc1uEoCmq86fT4CBHUgfAKqB5xPQaJsH5AEgvABqAFFYIEwhCsgABFJRZqoAYJ+QWMDCYhAkDKBhAR6KHfl3TZFU6qXtYUxWd02YSuysP7TIERmbwtjA6OXegHcIIOHTjlY8sklzZBoaAGkbAAAYBgkAAAB4lgaxUAJglIpIRxeAyFR/IUU0+lUxFUmy2OtJDLjtoJGiyODi1UFAAA1Ac6kGintQUEBNnCbNwIrmSJSA36ChyANAwDYfoP42ANBrwRKXAjHAQwMAuHYHkLghA3qhikbPAMAOAEgWpWyW55gTAAAGUI8DAMvCAEHDgEoGA35qnfVvzSOLrE3Zy5hsb44ol9ZF32vuJbImZ3WzXO0seMcCwvAIi3WWbK0ZzZkZjRkNwSFtm6Rp0wYAALTx0qEiigJqBYJqXQWFUKHR2r7PAwDKZs4aimDFivQA2o8QlJdWHg3iAo4Cq4M0EfqTLKDQRMM4IXIm7CUw9m+aYTYPIGDyAOfbNQDWA7mBgJHgFJCFiqriAFQNADJtdABaAAGdRNFKB8+ylgnUACRiBVoo7FFFPQYAwAJYnAWAfV4BYAEAA+hYOgAAYDkAAAsABxboAA4LAACggwFABkGGNoBKkEHDwnLBlcFSAb7aHfUvLaKIEW5jLWOzujvw2Z3DvVbhRKlPhW3sZvfBIxIeYaFGV08spYdsGAAAAAAAAAAAAEQUUZGVDhRBFVQVrxQAkMWKV8oIUcoiLO0ZKZJakfC14NkgEFABPFGshUSrOQolXF+QAu76XZp+tAGgCJaS9Qu0BbQAELKVMVXxERpvsAD+aa3pb40BiaJveS9jMntHDzFpHcWnpuqi1M1ZJmJmnwyPCMl3zW1mzawZ8WjMzAiaBk3bpEkCAFgEL3xlKYAALKuy4nKRWCKK1HM4RCV1SFkaLLYVB9cp4QKsM8c6MHm9ToMoKAU0hkaThN5PFiiahGbRJkNdw6YHAFBBm1TRLDoQEA8wzzYAUvQKACIgJyBJUBGnAyCLggdVTQAwAWxaUDCLYiiCudIEUDAAUFZBC1BYeNYCYABYAHh0AAAWQAcMAOB0HACDDtDRATiAxQEAOAsAgA4AC2AAgIxMQIIESUYgsUBGIJHQAF66HfmPpkSi6dvYywh5ytUAm9tF32sZI0q4NcYaWrt9MrxjAAmf+qiLk1kshmSbJgAAAAAAAAAAAAheqgiKUwVRRRJRjxaiSplUIatSdyYlo7HRE5YCKCNBV4kCKAGeeIYqggLh75eCWEdCFvBeeBBPCpp+ZlkXBVkgIn0LAQDQDgKAdhtUw06BjBEskGlgAD5qHflvjQGJxtu6h7E4L0iSSuskPjVnFU3dlq81DjwvSjvziIBHGFxzk4llM2tmRkNjRlCDNGzbtm0TABQ1gjUqtgtVQZzQGaX6RQDAsLS/tUIFRaUsQ0VnrLJq6L9kDeRfnuICzA+aZwClgMbQKDJ0pABrklmRA4H+L8qhrQTa+FHbXi3noFMfX20MQN1Efk56FQSRjrpeVACAJnTQEZzCwQLypNzSXSgAm6sdABwIwADBBrh0KjQTwIG+AMAAANwTMAB0AAbAAboDGAesDtABANABWADoALgFAAYk4DKQ4A6oEGQqaGTQNAh+2q35L82BxNBP+1yGYqW3oLM7u3utgokStsHqEjv7FTwi4bWnLollWbJkgwAAAAAAAAAAAAhpJaRF252QA5Q1VWQG/ZUVoVhMfbuhTw9JyrVwyVwDALGKBLmUblEqJkXW4x3QTFpNAa1ZDzSdVasAEBINKNCsX4NGwpUWW8BFrgpgYI8MHmqd6HeNEYqmlnYuY+a6tSqT1lnca8wsih6ar26WLlu78o4FhOA751KjZo1Y5BFrjMZoCI6Gado2SdI0AACg0qjirDiXDWIC0YF0OQEVozRr6Ft09KlKlZQVh2f5pNXABUgXoVkO+0uzAWzaAqtBo2gBUkBgcQnNBode0sTjdYB0lVy60kCH4BeVdAA4PABgL5AvJs0E91yjAECO3oAIG1AAHSGYkYBcBgCwAKx11VFMrUqrAADoGAcqZwEAAHMwgAMAYHQAoDPTAcAC0MEAAMABAGCwqFhwcRlAbbiQGEAlXDAgAR667fS7poTEYGnnMiQz3cTJ3E76Q8skoqhhyegWvaI6GuARKXmExWiKLCUuGYJNAwAAAAAAAAAAS5OAZMAcaAQHaFhS1kIBgCWLtUWkJZWiJy12Q0+fUFFVAI1nSQBH2hSgAM+ilGhw8kdisTqiXQSst+EbaFr3zF3QQqMJpOXCxysyyEgAXANUU/wQCOACPmod6W9NncSg8XNpma2nT5m0jvhT0xyxVWEsA/Y5mxyPCMF3jVZ81syaEdQYjdEYQdMGadI0bQAoYgIavVW7WmAKRIxqVcqC2V8yIg/HMFRHLCyVhczzKkOVg2vI6QTQa0e6Y8fEhUuGQCbpBTRCowh0FKBIYy+NJhjmssrYLQXcI54nzQ4wA1gGOYN7ARClZBaABTtz3YHoAr0sAOAJHQ5VsAEAZTUicpBiIHCEJEcBlAMAC9ZSQTgdS20AAMAxINdBBwcAABZABwYAAG4BgMMCgAMYADoAAA4AAjUhoQFpASnQgEtjwCUB3tr9GC46MhUAZ3NmesgQ2v2aNp0JClAGOys3FEmS65qmZKYgggEAAAAAAAAAAACg66ukXb1avYgGi8zKFSsz2UyaVFySq0w2d2F9de0qINrcnDlS63R9eVSoVAhSeaaiUgGnRcczZ84UqRSk0m40U6lUmo3mowAaX5/7jumrBMczZxpdX1avkkYjTRaRwC2ByjOkQglvSAA=', + E2: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAADJTepyAAAAAEUD0NcBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAyU3qcgEAAAAYYQRkDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + E3: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAABZM+ZyAAAAANPcVVQBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAWTPmcgEAAABf44RoDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + E4: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAACFH+NyAAAAABcRHsUBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAhR/jcgEAAACbyTrbDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + E5: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAAAVBd9yAAAAAOXjbBsBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAFQXfcgEAAACREusjDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + E6: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAAAJ5NlyAAAAAMkpyHoBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAACeTZcgEAAABT0H8RDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + E7: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAACZydVyAAAAAC10Q3gBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAmcnVcgEAAADCHflSDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + Eb1: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAAD9wtRyAAAAANVyuv8BHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAA/cLUcgEAAAAf3+O6Dz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + Eb2: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAACNqNByAAAAALsozhIBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAjajQcgEAAABR2dlQDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + Eb3: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAABgJFFzAAAAAPUmUkQBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAYCRRcwEAAABXg3OoDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + Eb4: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAADZrUhzAAAAABmuXywBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAA2a1IcwEAAACn5R5lDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + Eb5: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAADCUURzAAAAAEtDPeMBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAwlFEcwEAAABexfvPDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + Eb6: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAABvqeRyAAAAAOhOG/ABHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAb6nkcgEAAACfICp0Dz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + Eb7: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAADq/udyAAAAAEXK18sBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAA6v7ncgEAAAAev0SqDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + F1: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAAAMlutyAAAAALaEydUBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAADJbrcgEAAACwq1TVDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + F2: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAACSJu5yAAAAAOXks8gBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAkibucgEAAAAzTgJ2Dz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + F3: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAABQxPJyAAAAACVDiKABHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAUMTycgEAAACmEJe9Dz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + F4: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAAA6TvRyAAAAAPrTVGgBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAOk70cgEAAADFm+NKDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + F5: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAACU8vlyAAAAAIGMjUABHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAlPL5cgEAAAAjcueZDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + F6: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAABdy/1yAAAAAA3N4IwBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAXcv9cgEAAAACnQsODz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHGGHPOOSA0ZBUAAAgAIAAAAEBxFEdxHMmRJMmyLM3yLM8SNVMzNVNzNVdzRVd1Tdd0Vdd1Tdd0TVd0Vdd1XVd1Vdd1Xdd1Xdc0Xdd1XdN1Xdd1Xdd1Xdd1XRcIDVkFAEgAAOg4juM4juM4juM4jiQBoSGrAAAZAAABACiK4jiO4ziSJEmWpVma5VmiJmqiqIqu6QKhIasAAEAAAAEAAAAAACiWoimapGmaplmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmkaEBqyCgCQAABQcRzHcRzHkRzJkRxHAkJDVgEAMgAAAgBQDEdxHEeSLMmSNMuyNE3zRFF0TdU0XdMEQkNWAQCAAAACAAAAAABQLEmTNE3TNEmTNEmTNE3TNEfTNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TLMuyLMuyLCA0ZCUAEAUAACmrrfZgHIEok1ZzaBBlEnPRFUPKUewpUggpiLlFTCEFrbaKOcWgxdo5hpCT1kPolGIQAqEhKwSA0AwAgyMBkqYBkqYBAAAAAAAAgOR5gCeKgOaJAAAAAAAAACB5HqCJHuCJIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkucBnikCnigCAAAAAAAAgGaKgCiagGiaAAAAAAAAAKCJIuCZIiCaJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkucBnigCnmgCAAAAAAAAgCaKgGiagCeaAAAAAAAAAKCJJiCaJiCaIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAHAIAAC6HQkBUBQJwAgMFxLAsAABxJ0jQAAHAkSdMAAMDSNFEEAABN00QRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAMCAAwBAgAlloNCQlQBAFACAQXE0DTiOpgFH0jRgaZ4H8DyAKAJMEaCqAEAAAECBAwBAgA2aEosDFBqyEgCIAgAwOIplaZookiRN8zRRJEma5nmiSNM8z/NME57neaYJURRF04QoiqJpwjRNU1WBaaqqAACAAgcAgAAbNCUWByg0ZCUAEBIAYHAcy/I8UfQ8UTRNVWVZmuZ5oiiKpqmqrsuSNM3zRFEUTVNVXZemaZrniaIomqaqui40zfNE0TRVVVVdF54niqZpmqrquq4LzxNF0zRNVXVd14UoiqJpmqaquq4sA1E0TdNUVdeVZSCKpqmqrivLsgxE0TRV1XVdWZaBaaqqqrquLNs2QFVV1XVl2bYBquq6sizLtg1QVdeVZVm2bYDrurIs27ZtA3BdWbZt2xYAAHDgAAAQYASdZFRZhI0mXHgACg1ZEQBEAQAAxjClmFKGKQkhhdAoJiGkEDIpJaWUSgUhlZJKqSCkklIpGaWUUkspg5BKaaVkEFIpqZQCAMAOHADADiyEQkNWAgB5AACEMQgxxphzEiGlGHPOOYmQUow555xkjDHnnHNOSskYY845J6V0zjnnnJNSOuecc85JKZ1zzjkIpZRSOucchFJKKSGE0EEppZQOOgedAACgAgcAgAAbRTYnGAkqNGQlAJAKAGBwHMvSNE0TRdPUJEnTPM/zTFE1NUnSNM/zPNFUVZ7neaIoiqapqjzP80RRFE1TVbmuKIqmaaqq65JlURRF01RV14Vpmqaquq4rwzRNU1Vd13Vh26qqqq4sy7Bt1VRV15Vl4LquK8uyDWTXdWVZtgUAgCc4AAAV2LA6wknRWGChISsBgAwAAMIYgxRCCCmEEFIIIaSUQkgAAMCAAwBAgAlloNCQlQBAFAAAYIylGGttGKNYa62JI1prrbWWVmuttdYaaae11tpqrLXWWmuspdZaa6211lprrbXWWmstAEB3wgFA98EGTYnFAQoNWQkApAIAAMYo5RyEklKqEGLMOSklpVQhxJhzUlJrrWaMOQgppZZa0JhjEFJqrbWaUuekpNZiajWlzklJrcXYaq6llJJaay3V2EspoaXWYq251lhKSi3FVFuONZVWWosxxppzaym1FFuttQbXUokpxgIAMBscACASbFgd4aRoLLDQkJUAQEgAAGKMUow55xyEEEIolVKKMecchBBCCKVSSjHmnHMQQgihZIwx55yDEEIIIZRSMsaccxBCCCGEUkrnnHMOQgghhFBK6ZxzzkEIIYQQUkmdc845CCGEEEIpJaXOOQchhBBCSCWlFEIIIYQQQggllZRCCCGEEEIIJaWSUgghhBBCCCGkklJKKYQQQgghhJJSSimFUkoIIYSQSkoppRBCCCGEEFJKKaVUSgghhBBCSSmllFIKIYQQQigAAODAAQAgwAg6yaiyCBtNuPAAFBqyEgCIAgBAiHPOSauJUIw5aT1TDDpptXfKGcQgxUw5pBik2jnJmHISQ2ohZE5aiTmlEkqMPdhcYw0CAAAQBAAEmAACAwQFoxAECGMAAIIQmSESCqtggUEZNDjMA4AHiAiJACAxQdHqwgXoYgAX6MJdDghBEARBEBYNQAES4MAJbvCEN3iCGziBjqKkDgQAAAAAwAIAPgAAEAogIqKZq7C4wMjQ2ODo8PgAEQAAAAAAUgD4AABAQoCIiGauwuICI0Njg6PD4wMkAAAQQAAAAAAABBCAgIAAAAAAAEAAAACAgE9nZ1MAAIDdAAAAAAAAXcv9cgIAAAA/OhE+Hjg4pIGCfnt2eW9sZmVlVFJNUdDDwrWzsL+9uLKxtNTYvzzcTv35Bl2tabWCrKjprMwMMqPv7ShOD0f+2zhwoNtv7v5AN/f2h0kNfsn9vywxlwOFhLkJ3Nb7eXB77P0wsvuZkcWUCWQkXJAMgjfTMZpIDnjOTSI76N+eGIPPhpBtAdBnFHuCzgpfANAcAAM66bXpYVjMH9JhN65rpmfES88hP8zN/CeVLrtxXaMMj8ZkbLxe+h2NLYAtAAEAVADYAAEgAAA0EaenQyeZt+5tLy99ARBlRG95iH76GcXikqX9r6i6Yrkse1XU5y2TNDc0xyLTS7QQNZ2yEJGlSGmSRpJrZRpp0qDQaCftVjPVLPnz66I+/UoAsJILIGcAAFStltc0ObDOQI/n9MH94p1oC+5nAL7YVf3jPao906LWhaHJFGyadXu/U7WHQ6wnQo+CRwF8o98B0ACwBUAA2AKAAQIAAAAQvPBwOIzLT150akICBLpFZfS78OSLdVetu+f+EmN2O+PoIyXRLV4+TFktUq1SWm2knba0BaoQEb8pVJ1CdXQBACmPBgBAA7lkRwAgo25CA57Y1fnLcLg+etFlYFhWIwUyx276+ISoD5crLhwcdHB7XRp3AO4AbAEQALYAYAAAAAAAQAnXsjmymaDucZHj+n2f3a3QO9/N8QtFZv6peZGMvVt6kmjut1GPV18+f5L+ZFVUFEEjiGVENBAg5LtSoNeBBAAYxX4AAD64XAI3ABDNlAt+2HX1x6+hPLa47oViyI5IsFs+noP0kdOHhWHBwUY3Qb7EGncAtgC2AAiAcgAwAAAAAAC+R/pPRbRLR7jhvi0Alk/5Nh19667mLUX5oU6FsiJuShaLi3rOr5T7cvtp7o2ip0KrBFSk1E/lh5BWXAIA5F5fAAB84LXwhgD7BAl+2E3j+72pfLPhKAuhaSPLsei189evqDxcHnUgNAduL0ljC+AOgAYAAqAcAAAAAAAAABDE47fRz3k33feQD45PrJqjS8Q2bnS6GS8/SX97up1Cdl6IxauEfLOXP77ne+jxIbrvk02B0A6wzBkAABwoEgAQnppwxErAcwB+2C3r61m6fIubuS0UEcpy2LXL5zNEffRpYqBi0MjSaF9i3wHYAtCwIQCABgAAAAAAAACKpJ1qp2lf7/0FD+o+QNV6o0R2fnSvnqBcre7GeyqUfF+8JvTWo/ZPtKpSgopWpN9ZAADE44oAAPAk7SaDBvANCFYGntgdro/nluWJl3kvRFMOh113+nguWR8utSzMIxspR/sabwHcAdiSIAAaAAAAAAAAAAgt30pLRlFKemKhp8/D+jJTZ1x0DrxmZYVe3zuun/u2Lpr/+7Vvr6nQqlI8KvKEfAfQhci5IgAAxPc3AAAueOuzBItrn7jwB57YXc6X59blUZt5LFSLsuGwW06vZ4nycDevhaJAWbQvse8A3AHYSRMADAAAAAAAAAAArVJhrxPIXJIfTkYZZMbbjIgPZ7y/0Nfoo1iG/3vrbP87ivJMO4VgvphkvzIAABkHAgAAvC0lNKBKXD+YAn7YXY/zPa3yyN1cFmJZk9itz8+nVX7kaSoLkZTl9lKDLYA7AAptAoABAAAAAAAAgAILzxWviY7IvdiL3BsBWezGhEMU+fr1SySCtL2sc41nx9akDY9mqlWpkMlRAICwPwAg1TKBhktDeidMAX7YnU8XbQ9InjxMDMSBw267PO9ll4fTURaiqCXMa3AHQAOA3DQBwAAAAAAAAAAAkFItQPluf6WddLZWYy8YZXZvejWf4xmtRbvqslbfoYiS0vqhpEIpHEIXAEDjDwBAyYW2wD5hAJ7Y3U+np33y5F1lIe2kOez28+Mebnns4WoLhYWmYV06tgA0AGjYJgAYAAAAAAAAAABpk/KU/0Zg0fiWeFbyT4sEvnzLN3QR9bWa75VKGyKpRP04Z8ixLACANNsAAAWeCAkLHGEAvtg9nY63/Pr4Q2QgbcRJ7A6Xh3YGKE/eXb4QS0sy1447AFsAGrYFAMAAAAAAAAAAAEj4LkkbfH2pVsmHts/rqD7HY5+/YQGPJboWXVINIUgvO4iDJQBAsw8FAAT+KWhcC+CbMACe2D0du3YilMfvLhbiQGJ3Ol+f6ZGnXQ5fiGGJ7BnuAGwB2DYBAAAAAAAAAABooc1Dm/dUEHQig+jcGlWtKoXSTFXd8vJGtyYAAKK5AYBKg7TAPgG+2L2etnf69MnNi4EeMHDYnU+Xe/jlaaeLhWgiiJeOLQA5AA0aBAAAAAAAAAAAIG0pKUjrOwoKCqraPCl5ShTa34Qihc3LyuYBgP4CAPjGhYwBfti9bcsdHnn84cVCo4LE7n46Pe2Rp9z9MBALZBO2ALYA5DQIAAAAAAAAAAAgCxqA+AoALZFKtUOUihRd6om0OUn2BQAALAMA+BJUNBee2H3u8xM+efzuwcJDhMPudpzu8suTpwcLsUB2xLgDIAcgN00AAAAAAAAAAADWg3gCITwULSoUT/lUK0pJq00iFbULql0A2ScAAAUAX6gVZEieV33u0xMeffzpYuApkySvelr3t3z62MsfA9PshLleF+5AbEdjZmZmNAQFZ3STNkmaJgGAORmLOX0b07Nv5xyexnx6Mla3Oj3d+r2Opmk6+3U+5yf5WJG382OR9+KgwQwzlmN0LJKRu6g4UTr96gYAEsDqC28BAB0AgAWg6AAdXgfAYR0WuM6K7pp9ABhsXziAW3BwwAB4AdDBHUoHAwBABw4AAE5rATiwAEYHMOgAmANggI4BAGAA6AAAwAELYAAAZBgYFqgsLshINBkDDDQZvmd9btNdH3nsZgcLT5Vs9qynbXvCJ4+//LEwqU6YdRuNOwDbmZkRnBmNGZsmTdKmbQMAFlqrteObb/KPppl/zOensZhzjPHtAryQ55Z2lxqdTqDTard2FltmW1qsLiM4CwDQp6IEADjJ1QJABwAAHQcHADjAWXR0dKfPOcyBTgHodLs66D4Ajutc1zGAeaHjDhQdAMBwAHTcsaBzYAB9OwA6ADAAwIIDwALAAQBwAAsAIGHAIhlQycCgccHAkMBFaiAD3md9b9NbT3nsZp2FJ0I2fdbTsWsnInn85cPCEyHKug7uIIjtzMzMjOCMoGnDJEnahgEA0Ib2HIsFzMXzeJ5zRljMGU8L8vn803h+ys/FmNNT3hyHMZ/zBtM0DcvsfCXT7tCndxcADg50gDabLwDgAOCA3rtDh34OB6f360NHB+i4BWOMYwGcnRk6WKB3ANBh6QAG6JgBgA59AQsAHAAAdIABFAAsdMAA0AHgAACGDgDgIABk3AWGCqQLhAoJGjKBhgD+Z/3Yx4/e8tjTxcInVbLps56OXbsZyeNvLxY+KRNnPQd3EMR2ZmZmZkZDkCZJEyZpGgAA2GXHIp5Mc4wp8simQVdL3pK2WjW0TGjrsyOySxZl1m4buxCHlAAAQAeImQkAgAPAHQDOOaB39AGADmfdwXWAA8Ba9sgXcBwAb+9zXP84DgB9oFsHAAwLALAMLMABAB0DBzcCgw4AAAbgAAAAWHRgAAcAUGlQLVhcIBFYJAKoGBID3mf93Oq37vLYzR4sfFKUoc96ObYn/PL424uFKfWFWddgC0FsZ2ZmZgRHg6Rt0rRJ2wQAlqHQ8jAXBo+LJ9+cgRk0jOFp1PzGHAMDOkx7Z+wGY2BGVVVrYJkzDwAdAAAjf5YAgAMAGDod4HRCBx0Ax9kDC+iLYcG9B5jWjgN6gIkFcN0BMB0cDoYFCwDAADiADhwACwALwEBH1wEAAIAFAPZYkAIVSGQIFRcVqgWJCiQVKgTeZ/1Z+ztOebj8sNDky7FnvW3LXW55/O6PhSYnyjqjcQdgOzNnRmMEBUeDJE2TpmkaAIBdLGPwxJxM89sJJvXMHIux7S8ZLVO7MGMtEHMQpDU6BwBQe1sAAMyTTQAAOgAAdAAOADiLw16HftcBzqeD4DB1mBi5exzddA4d4D7dAHTgWHgBDmx0gIMBDqADBnQ47FoAsB0AnQEADKADADAACGQssgqWQMIFMioacobKBb5n/Vzru6/ycPdh4YMI2exZb9tyl08ef/hh4QOjKOsM7jDYzszMzIygxtgmSdO2TRIAmIVtTWvlx/PEo8nAnBj5aZjPnr62ZRe7X8ss2uzsoK1dq9ptQQyVfToNAAAAlw4AACsAgA4AwDowAA5dRwfo0Bfgrle3exh918Etdq1t1dEJgD197TkwgAMs0J05q3DAAXgBALAWABaA5VgUAHCAYQGwwAHQARgAwA0AgCyjgkwC0SDTICNB46JRMbAA3mf9Wuunr/Jwd7DwUVCGPettW+72yZN3fyx8JCbKXIM7CGpsZ0Y8MzMjKEiaoG3aNgkAAMQoq20HO3Zm8sNc5B9Nk/k0zMWYY8z5PM2ZX4x2awysUjVLpo0F+tUGADp06BwOAABJ7tkAOHAAsACwBwAAnNWXpQOgo4vOQR+9M3uOw8cB4EYHPjosA4Cud/TOLtjeOWDBgQUA4AA67GA6ANBhAAAAOgCAxQDodAMAGmhQUS0ESLhYFQQVhgou3mf9Wfvbuzzc5GBhSn3Z7Flv23KHTx5/+bDQ4guzrsEWghpb8czMzMwIatC2SdMmTRMAAIwx8vkFg44+DWMyLORhzieeHqdhzAVmsDGGmbUrg2EV8EKOBQAUAHD0DgBwIrsAqHAAoHcAHQY6ju4YOnSgA91gVgdrBgyQ7gxg4VgYHTrngHUYnMMCBjgcAMNwAHQAYADd7gAAOBwDABYAAAcA+gAAABwVBgOBTNCAq4G0gMC9IEFFA/5n/bW1j0952BdZaGKS9Fkf+/KETx5/eLDwiEkzZ3AHYDszMzMzGqNBEoZp26QBAABmltmdNpivMWUH0xiLYI7xlN9Wdhjfy1pKYAzMYkatFqjVLQEAmmZXC2BcBwAdMNAB9KOH3m/cHroOgB4X07HkFp11jnM3dACYmTkdYHb5sAAdMAIAANMdHTAAjvM5sHQ4CwCwiwUAAKADAGcAgAE4AABAX8gMZNC4ZEhYGqgsEMjeZ/1Z+ztOebjJxcJHQ9n0WZ/7/IRPHr8VHxY+qZBhzeAOghrbmZmZERTUENSwbZs0SZoEAABYmHkw55zPJuzuDqwWZscsDGbHAMbMAi0MKPpmC4ABwADQAWDPzADoWAAdADgWOI6OKw7QWbAf5mDBOcy6687SO1rLACzd6NCBMXygRwccWB2dBQc49GVhAQ5AB/pxY7gFwAIOFgBzAABAR4VakYCbgSohyGDgwrqQYADeZ/2+trd3ebjhYGFafdnsWZ/bdMdHHn95sDClviSzBncQ1NjOzMzMjOBomAZp26RNAwDAYhnTXhjLAAx2tYYnhsnEgG9jzYIBVTLaIGuiBYAOAADoAIz8ZXkAAAe6Drg+utP1gwHghs51QN++oOvocIMbZSy4D+lrQd9ZewawnGO4A3YYdAA4AGewAMBhAOgAWADQsYADAGAAAB0wAGCgAwAs6AAM5AYGBAHZhQW5Ag1rQABPZ2dTAACAjQEAAAAAAF3L/XIDAAAAP2x6QBbFz7arxqK+yKzOsbTDvbq6uLC6vrHCnlf9tZanV33Y82BgUpxs8qr32/DkUx+7+2PgEUozMxp3gMZ2ZmZmBEcfQUFB0iZp0yYNACxQGK1ZhvG1CzBarLX7ZVbZ1oCZxQAjGGu2vQMDAOhn3AGAcwAAepYZAADHAX3oXdeB4eiAwY+O0aUr9tSp3sf1sTfcOOq4ZQ69tcuOcWN9XAeAfkOHCeheHCzomK6Dw1oDAL3bDmcBGAM6YPoHgA8AAACDDEAHGAAAGDgAMHQAYDgLZKwG1AqqDDQXFwySABqeV/21lqdWfTh9GJhVXxHyqu9tfMKjjz/8MPBJlRxzFu4w2M7MzMzMzIwGads2TdIGAIDdadFqt2GwgznNOZ+Zw+NzfO201zCMsqwxLFYXnZV/Qg/0rS8AAA4A0AFMB1YcAHBAZwDQT0dOt3q3c44boIPTdRazfWyBHtAN3PV1WjDzsroBOAwYjuNHh5e9wzBj6IwOAKAbHTr0hYVjrjsAYBnTwUKHDpYBAAsAOgAAHQADAA4sAHAAAAALDgAALwBkDBkLLKqEChkZJOQEKhX+Z/29tk/s8qh9kYUpJZL0We+38c23PP70w8JHYdLMDO4wODMzMzMzo0EaIGnStA0AAMAuZsDaZdgBKGMXSwtr2RbAoo1oGwNktQCADgAcAH0AVp8OAHAAONCBw2E5Hee9Ph3QO+D6AYPtLzj0G2PO6Vc4FjjTAUyf3oeuT19HNwzAYcGADujAYNCBmwU6c4ADgAEAHQCAAQYsDgAABwB9AQsAcACAAywBFzI0XJIFrIDGBYvKAh5o/WvLP6/yqH2RBWchTp/1fhuffstjTz8sfDAmw8xgC0HczczMzMyMhk3Dpm3bNAAAYMFsG1iFBbOgbbTWQADGAMMawMiAJEcBQAcAJmZcnADdAQBgHb1zjkV06syZDlj0MXyWZXScZfTQYcBV3QJYHWcADoDF3HYAGHQDcByGgQMAcADgACwAOAAs0NEBwAAADgAAsAAA6DosABVYBBcNBIsBywKNhIoKF95X/WvLH6/6sAMDzgL2qh/78NZTH7nhYOAJk2NmcAdBwTMzMzMzGoKCMxqkadokSQMAAGbNtmC/mbEw2rPYna9txRgGFDssgJhhCwX6NZQAsDoAOHQAQK/SlwCAAzBWhwOAviyrA8zAGB2Mfugw7JpF2bOro875nJ01a9juYDtA2R2jbx8sCqD3AbCg6/Z2YWTpMJh0wGKBAIAFAAZ3AFgdACzQASwYAHcY6AAAgAMLAAAdAAALMAAykCQyAi4XFwuoJFgMNP5n/WMtH6/ysK+yMOdMkj/r5z584imPPLwYeCpkIziDLQSxnZmZmRlBQQ0TJGnTtAkAsLMwM2PBMsAGABgAAAOMtQsyKwsAwIFugH3tAAD6OocBAKsMcw6AHTrcnsNxjIFORmdgMKsvzBacAnYWAOjQTQcLsFi6ZQCj7wGAA3RgAeAAAGAAADDsAQDoABYdLMAAHLBgyGgwLEg0oGFRIWTQAL5X/WvNb876cKgMuD+S5FU/t/rpqz7c8GLgKZNjZnAHQWxnZmZmBAVHQ0NQg7ZtkrRNAAAYdtiBxTcADGtoGQYAO2AAsMZqLbT9bhIAAwAMSF7OThyYcw7QofcCvTun407N7unH2jDH3PSb2Y7dM0D/kMOs1SGuU6tfxzrzMjCw72A60wFwlu3AHbAvBh3AghuWBXAAM14AwBYAPgsAGNABBwCAAR3AAmAAXQcWYAEALgYIBhKNCypEYAF3gQueV/1jyU/O+rCqDLgbSfKqP2t7+tSHfT8MfGSUY2ZwJyiocWZmZgRHH43RENRpkjRt0wAABrAwC+ALADuAASwwFgWWgWW17Fh9KyMBAOgdACxgARwANL1mAwBw0A+AwHKnG4dPN8fdcr1jONGpWdUdPtaAw+idZW6YxfSY6tnTOYdjAAUL63rXWfD6UDPO5+BAB5iXRe/dbffSwRrgLAA6OmA7FgC9AwAHBgsA3QIADgAAwLEcgAUDAKBhoWogy5ANkCE3JGBdAP5n/bfmt2Z52FQW3JU4fdavtX76Kg+Xl1p4LBQyM7gTFMTdzMzMzAiOBk3QJm3SNgAAAMOUAYAFA6YMCxZ2sQCgkGkvA2qiAAAA6ACAARguSgCLwwLAATCzYznemeM6bo6bDtCNjtHBdLfoc0zvB3oBXXU72AN0eAcALOC4dbAHMAAADKZ3wKADjgMAAAsYAAfAwS0AAIAFAB0sANARWGQaJAEkFgMqEg2CjAy+V/1jzW/v+rCBAXcHedWvtT996sPdg4FPhrKZGdwJagg+Z2ZmZmZmNDRo0zRpmwQAAMBigJlZBrMDbHsUGAtgAGbMws7sLLBYLQAAAB0A6ODgAGCYj60mEwAHdHQwtgOdxe10PuhXvevX/ez05W5Yi+tFN0vHmOv6DGuvjK7GcU7vdGfMfG7UMQe6daCfO4CZ41gO4GUoB0NHHwAUsIxBB8thgAPAAQAAHHMDAADg6AYAADoAAAsAAE4HwALA4ECiSUBkoA5gDAQGMJAuAP5n/WvNb63ysEezEBxF+bN+3/onTnm4yUctfHSmEMEZ3AkKCp6ZmZnRR2M0aJO0TZokDYA2gAWwgB2zAxYAACwAu6DpAwAAgHM6AIAOQMcW1wsHHDjAARQA3qs+ezDjBnTupbvpwDAOuzq67dA/sGdQCx2AOf263rEAC4CODnY6OugHALfoAJbAoA84AIBDxwUA6AAORrcAgA4AALAAHQxANUjAWuASNFhIYAQyAgwSNB5o/WvLP63ysIAFNwd/1l9b+/iUh8vMwpQaOWYGW8ERnJmZmZkZjaFhkKZJ0gYAAGBgwCwDMEDtGMACGAAYYGAhx+oCAIAOAAB0A6ADAODAaW7j0GEAALA+wJ3BAUc39AUQ7o6bDp2OAwPojIsOmIVzTD+GY1gdfQHYd8+YvQOgY3f5AGq43gGjAwNABwCWOUDXAVgADMcCABwAAGABrAMAAOgGALCAhYyEhqQxUDGAxUUWAN5X/bflD2d9WAQG3J04e9XvW3vHqQ+XBwNfFBUiqCGIreDMdmZmZmYEBTU0NEDaNEmaBgAswACwMABjxwzIsUwBoAPgABwcdAAA6ADQAYDD2DkOsHU6cGfiHAD/dNacQn+n97muG9P3089nDy4sjNmZuw/gVseO+dRrHa7v6mu7OxwoL/fxOqzzub3ulgNHB+CM7uiA7uAMsLMAdNCB1adjAOAWHMAZ6KADDKADBgYcAPQF4IAFWA0GCw0BlgCVARdCAr5X/WvNb876sAoM2KeJs1f9tbW3dn24XAzMupON4AzuBAWxnZmZmZmZGUHQpm2TJm0AA8MAAFgMAIBhALtgZg0DQw0AAACdHVgAIK4vuQO4uq6DBdcHe/3D3ixTx73M+xEmlo4XfAyWg3PmI9grs8bRe1jMe94dAJjOsMPpQB/WgYMOfVgwADAAsDCcNQDoYGHBDQAOAGCODgBYgAPAAABwAKADYABgAQAAcAAcsC5kkBcwGgKoFWQSWBpoA55X/b3kp3Z9GGDAPg3yqr+XfPeqD3suBmbMyEZwBLHFaDxnZmZmZkZjNGDQpGmbNgAswA4AwGAAA4AxFljmjAIAABgDAABAB5jZXtQaAOAAMDjQLYa+FrA2rGUts3Ms6CPY7Qy3S83Y5YNzfbpbe73zN71bnANjumXoSx97ADAwHRgA3XAdwILVwRwDwDF0cOsAWAcMgGMBAAsA0AEAALAAgA5wC+gAAAAMDhYAFyRcgwaSCpoEGQsyDN5X/beVD2d9GDQDwac4e9Xfa3lr1YfDi4FpdgoRnMEdRuNuZmZmZgQFR3BA26ZJ27QBdgAAhgVjBwMAdgGYscwsGDg4CwBgAQYAAAtgFw6G4aIEDJRxAIBxBmBuZrEZHTOrgJtlXt1Ze7PYYQ0s5p3d05e617EHGACdXbAD8EHHYFnGRQfHArDAAh0WTgdY6AAwBhZYqwMdgB0OAADdAACAAwCGAyxwAAAWAGAEWHBxkRhwBSwMSEhIuN5X/bflD1d9GGDAPgl71T/W/PaqD3sOBmZEySE4gy1mzszMzMx4ZjRgkqZJkrQBABgMAMyyYA0GAMAsmGWAlSsiAMACgAUADAAAdACYrD4VNgAA3QAMOlbHMGvNuFvwscz22dllwHwq2D0cr2XgBZjcdgZwGzq6g469BYBBxw4DY3AAHIwxgANYAHTAAnTDAgCwsBZgOQIZAKBjAAAwAIAOAIADAGCgA8BiyeAyENBISJADEiwXZBbeV/235R9XfVjAgH0z6Kv+teWPV304XQzMuZKN4AjiTlBwtjMzMyMoKCioMYIaNkmbtkkbYAEMAAMGswAAgAH00QAAAAMAWFgAAAcAsDtyOgAO1h4ANwDWzq5dYBaz/Ywd1sEay2Kgd1jwGeZuARsdfZnlg1n9YDAAwBhYcMBYpQMAYw8DXkDftYC+12FxAACsDhwAFgzA0QEAACwACwBwABgyGpAaEhgCCRVcDAIsGt5X/bflH1d9aDAQfEJf9d+WP5r1YU9gwNWIIziC2EJjzszMzMzMjOBo0GY0aZsGwABYAADLAADAAJC5VgAAFgAsANxBhw4YL95zAbjjALDOQgcWGAD6zTIsM86N7T4WdWuHPmB9mOHj6JblOpjPocO76GEdLAAOBnRA78AA3cCA4QAAB7AA3B0DLGAw2APAAgAA0AEYAFgAAB0AwHUAAwAAC4cOAAAGwAIALhYLmeUmMKAN0AgYMiQ0AN5X/WvLP+36YDBgnwZ91b+2/PGqDzudgVkT0ghqCGKLmTMzMzMzgqOhMTZh0qRtAgAAFgCABRgWyNEUAABgMQAABvoCABzuYIsVlw0OADh6wOJAh2W4mTmwY8b1/q6OsWAYQ5/Lvbd8eMfnrqMf3OTn81nvLMDw9vd4B7ywAwxGX7CArmPw6QBnMDh4XV8H1wHAuYEDDlj9AHsAsACABQdwAADAABbQuw4AzAE4AGAAsMAKLGSwkFxkGAygCQDeV/1ryz/t+tBgwH4U7FX/WPPbqz4cOgPzf5NGUFAQdxDUODMzMzOCMxqCGjANmjRpAgAADAwAAAYAo74AAMAuAMAAyOd8PhwACwAwHYYZ1po5dPSylsHOmnG73sDsLYxhZmAWnY4zwY90/dB7f3EDrLXsADA+7Ay6cQMGve8CdhkDFgcWI6xuAEs3QKcDwAALdAAvAGMBAKADgAEAgNsDgAGADhgI5IWKBhlcLNQENBneV/1ryz/t+mAwYN8K8qp/LPmpVR9WgQE3B4KCg7vRmOfMzIzgzAhqaAxJ0zZpkwDAAgAGAAAsAIABun0lAAAAY4ABAIABABbXATquT8hhv/UwGOicrgPmsNx0DLsMA46lAyYY6xjgWK6vg7VA2Z7te9zovfqzi5vrFvuuOQyw424H6AfMMgZgzWJggW7QD6+zCqcDZ/txCxwHugVsBwYAAAYABuugYwBwAF1fLAcAsAAAgE4lwIVkgLYguLBAy9BoAE9nZ1MABMDwAQAAAAAAXcv9cgQAAACgciKDDbjDvLGzyqPNrsGs153eV/1ryz/t+gAwYJ8Ge9W/1vzWrA+ryoCrkQQagy0EBZ8zMzMzM6MxgrRpk7ZtAgAAMAAAMxgGQM5sAgDAAugAAAxD7M8GAGCBHdDNWtCB2Q/921oLmD6OWTsMa3ADY7qdUWDo986esR6fuzfdMnDGTXQAdtYCDPTOAFMWGMvQsbtwQOfAWoZhwFlYcMDZA1gAHQaAQQcAsBbgsAAAABbAnjsAoAMAMFgAwIWaQAhgYCRIZFzQoJkA3lf9t+UfVwV/YMD9D3vVv9b85qwPq8CAuxMHI4g7QY05MzMzM4IaM4KCJOls0iQBAAAMFgAAgIHlRQwAABYAAAsGAKzDHXB05m7ul8U8Z9/RdQCHO9bNAGwfxxyONdnt2IVZxs12LIMb7+pmHGPsUl3vDuen6x8KdmR0n7l+W30whtXBDd0uADALxejsYoBhwQB058VBPwP9OJ3OAAAYHQOHAQDAAAA6cDroAABYGAA6HAPAhaViAAkrQSaA5sKlgmgA3lf9a8s/7fogMGDfAvqq/7b84awPm8qA+18SQBB3goLznJmZmdHQ0BhBQQ3TiLRNEgAAWCCrBQAAFsBgFwAMAO4AunEM2uZAYzIMdNA74IZbcPrYYdfNZ6HvxWLsGm4WuzvALnavGMzAO9Z1jFV9Pv1nPo5jgA69M2vBDgC6xbzdMpihc2sdHWaBBQCMOw5H5wb0pePAnA6Aw+IcgAHQAQOA6zoAMHAAC6DDAhwAwMJwwSrDwACtQYVAJQDeV/23lR9HfQAYsE9CX/WvLf+868MKBoIjQAO409AQPDPznJkRHI0RHNpmNmibAAAABsWybAAAQAcWwGCwOAAYz/FkjmmfOwBjYSywh1l2jIFZ288Mw4KBGGsXLJbDLowdcLUmvD+bVssclgWLAQPMglncjIVlGcsAu2A4AADWggV0gE5fs2AHcLDAwhkzAADLAQAANwD0DoCOBQAcAwBYHQDAcqFx4YKVQMAQ0HCRrQC+N/1rzx/OAvkDC/ZJ2Jv+teWfdn0YNAPBEQDgDqPxnJnnzIw+HsEhaZgmbQuSgD5DCQDAAgB0AABg0QyaV9IkMEAxMLodHAa2W8BMYfe2Y6yxLNhZWMZg2MFYLNwYNO34vSG1QssYrAGGAcyC1XdZa/g6di2M6bsWgEFnWABjYNhZBuNWABgWDhgA1mAB7GIAYJwGsJDfjgEAWABgYQAAFgBqgwQNrqAiEEDQUFF+AZCBAX4n/beVD2d9EBiwHwF30n9b+XHWh6oyYN9CGggK4g4ags+Zec7MzMzMkDTFJqMpSIIGAABYC1QcnAAAMAA4ABjmzDjQZbYTAzDABgbQF/tl1xgDnw4WB8DuOwzD6IwcZoFZs59d8OD37xQbmFhmxywOfWZwgLVzqywWQF+AzjIAlgFuYdEtsMord6czN7fWgAMWAACjA8ALACwAAAAHwAAAfe6XWQAA2A4AsADQYQCwACwkYDBQ4d9PAADCAC5qEriQL+BHASAZIADeV/23lR9HBX9gwD4JedXfS35q14cFDNhnAQDcARpnZs7MjIag4MwwAztN2iYAaJdLAAAwAEbzL5RzDMAaABgwFgDwYowdLABWZ8EAYuwYAH0/3Y45jJ9+TRhzvw5wMNg5AIYFALCABWChgwEsxrCdPYAPex0YmI4O4AMAA1jAMQDQAfTrfQEdAACgAwMABgAAAJ3BooEKAPCrQgNN4CLQQBYAfif9t5UfV30QGLBfAXfSf1v5cNaHFhiwb5QEGoIad4IaeM7MmZkZjRnBoWkemrYtpkEAYAysBbAAgN59OwAABgAGAHYyNHGbbJitdA4YmPWCgRsAWLszpjBwu1iw/WbW2j12YZm+tTp94bJzchm//hSmmGNZAOsDGMc41A5YfQOAwXSzB9YB2QGs6Y7t56AfXDcLlA4sBOgAAHQWgHUAYAFAtwAA4Ho/ABYYAzgAAHBYAEDlopFABQDtr18AAIYG7mJU8IPLheQXAC4EGb43/bflD6KCF2zA3ZmSN/1rzR+t8pBgwZIfIAiNOwhqnJl5zsyMoKDGQLdJmU2aJg1YAAAAOtRuCgAYAAAABtjm08O3E7ZpsGAADGDXAQAYBwwwCyzWACzDAjO2j7EthvmBFtq2aXaZsTjAwEuHBdiBAwAMHQ5YABgw9G7AQh90gAFADhwAwGAA9AEAACywoLvnASwAgA4AFoAFiwo0MvR+FQCQMUATsFCRGdAsAH4n/beVH6OCP8iAfdKUO+m/rfy46kNTDNi3AEBQ406Qgs+Zec7MzMwIDm1TlCRNk4YBGAAAC5V1RwAAwALIABa7NGbrS0YLNGAYALAACyyDW2BgAMCAPnwGZtaaMcsMlgVm86MeRtOCtTBrLXYZBh0LLMwCs8O6geGszgIHMAwWewZesNwtu7BnWcbBWuww6AALADpgASwwwwEAAAsA3ONTAFgMDoAFDAAAADqjsSTBBRfr+wAAUAdQFyQQDDIYDMi+N/235h+rPACyYJ8Ge9N/a/5xlIcGC/aNAA3gqQGNMzPPmdHQmHmOIGlbbJM2CQAAwND00QAAAFgAYADAAoxFPNkMYLADADCAbmGsPbAssGBgmAODgwUGO2BhMMz/+T82NLSYAQYAHRgYMBgWWCxsBwADHTAsYMCwGG/3sgO6AaADALAAAABYoAMMgOH03R0AAAPgABgAAAA3LLgJMgKsJxAAgQbuwgIXbgsAfif9t+UfZwUXWHA1cCf9t5UfV30wGLBPAwAaT8GZMzPPmZmZ2WoIkqajTRMEAAAYzOqFqm22AABgAQMwAFgDgAUA0O/A2x3OR6fv7YzXb7LnPufdGf11rzsdvcPOngEArOWgd/ti3YudcTqzaj4H7LBu+OhucJ+Yd65nO5+N/vmNzdCkaTC1bsHCdLBDBwMMjM1HRwdwiwEsAAA+x2foLLf23u6s0TmcDn0BdMAsOADADQAMoAMAAGDBYN/58f9/9/YBABYOgEWWqMAQYHVHIANLAhd5DQB+J/17S2/IAgALgDvp32v6eBZQwQYAgOAWgAYgOBCEIAANAAAAAAAAAABgdtqtkn/xhWUeAGAH6ACADv0AAAYAgA6AAwAAXAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA', + F7: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAAD50f5yAAAAABlHUEUBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAA+dH+cgEAAAAvBZOBDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + G1: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAAAx3wBzAAAAAEtWa4oBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAMd8AcwEAAAAdpdxwDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + G2: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAAB1DQhzAAAAAJFJKY4BHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAdQ0IcwEAAABN20qWDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + G3: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAACXpAtzAAAAAF4U/nEBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAl6QLcwEAAACiaoSdDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + G4: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAABruA5zAAAAAMaQNJwBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAa7gOcwEAAAD6VKmBDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + G5: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAADPsQ1zAAAAANF8PbsBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAz7ENcwEAAAAf8DJTDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + G6: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAACjd41yAAAAAKY038QBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAo3eNcgEAAACU3AuVDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + G7: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAACvmJJyAAAAAB2/5roBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAr5iScgEAAAAsEyoUDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + Gb1: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAAC7uZdyAAAAAPoH3L8BHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAu7mXcgEAAAChpA8EDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHGGHPOOSA0ZBUAAAgAIAAAAEBxFEdxHMmRJMmyLM3yLM8SNVMzNVNzNVdzRVd1Tdd0Vdd1Tdd0TVd0Vdd1XVd1Vdd1Xdd1Xdc0Xdd1XdN1Xdd1Xdd1Xdd1XRcIDVkFAEgAAOg4juM4juM4juM4jiQBoSGrAAAZAAABACiK4jiO4ziSJEmWpVma5VmiJmqiqIqu6QKhIasAAEAAAAEAAAAAACiWoimapGmaplmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmkaEBqyCgCQAABQcRzHcRzHkRzJkRxHAkJDVgEAMgAAAgBQDEdxHEeSLMmSNMuyNE3zRFF0TdU0XdMEQkNWAQCAAAACAAAAAABQLEmTNE3TNEmTNEmTNE3TNEfTNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TLMuyLMuyLCA0ZCUAEAUAACmrrfZgHIEok1ZzaBBlEnPRFUPKUewpUggpiLlFTCEFrbaKOcWgxdo5hpCT1kPolGIQAqEhKwSA0AwAgyMBkqYBkqYBAAAAAAAAgOR5gCeKgOaJAAAAAAAAACB5HqCJHuCJIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkucBnikCnigCAAAAAAAAgGaKgCiagGiaAAAAAAAAAKCJIuCZIiCaJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkucBnigCnmgCAAAAAAAAgCaKgGiagCeaAAAAAAAAAKCJJiCaJiCaIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAHAIAAC6HQkBUBQJwAgMFxLAsAABxJ0jQAAHAkSdMAAMDSNFEEAABN00QRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAMCAAwBAgAlloNCQlQBAFACAQXE0DTiOpgFH0jRgaZ4H8DyAKAJMEaCqAEAAAECBAwBAgA2aEosDFBqyEgCIAgAwOIplaZookiRN8zRRJEma5nmiSNM8z/NME57neaYJURRF04QoiqJpwjRNU1WBaaqqAACAAgcAgAAbNCUWByg0ZCUAEBIAYHAcy/I8UfQ8UTRNVWVZmuZ5oiiKpqmqrsuSNM3zRFEUTVNVXZemaZrniaIomqaqui40zfNE0TRVVVVdF54niqZpmqrquq4LzxNF0zRNVXVd14UoiqJpmqaquq4sA1E0TdNUVdeVZSCKpqmqrivLsgxE0TRV1XVdWZaBaaqqqrquLNs2QFVV1XVl2bYBquq6sizLtg1QVdeVZVm2bYDrurIs27ZtA3BdWbZt2xYAAHDgAAAQYASdZFRZhI0mXHgACg1ZEQBEAQAAxjClmFKGKQkhhdAoJiGkEDIpJaWUSgUhlZJKqSCkklIpGaWUUkspg5BKaaVkEFIpqZQCAMAOHADADiyEQkNWAgB5AACEMQgxxphzEiGlGHPOOYmQUow555xkjDHnnHNOSskYY845J6V0zjnnnJNSOuecc85JKZ1zzjkIpZRSOucchFJKKSGE0EEppZQOOgedAACgAgcAgAAbRTYnGAkqNGQlAJAKAGBwHMvSNE0TRdPUJEnTPM/zTFE1NUnSNM/zPNFUVZ7neaIoiqapqjzP80RRFE1TVbmuKIqmaaqq65JlURRF01RV14Vpmqaquq4rwzRNU1Vd13Vh26qqqq4sy7Bt1VRV15Vl4LquK8uyDWTXdWVZtgUAgCc4AAAV2LA6wknRWGChISsBgAwAAMIYgxRCCCmEEFIIIaSUQkgAAMCAAwBAgAlloNCQlQBAFAAAYIylGGttGKNYa62JI1prrbWWVmuttdYaaae11tpqrLXWWmuspdZaa6211lprrbXWWmstAEB3wgFA98EGTYnFAQoNWQkApAIAAMYo5RyEklKqEGLMOSklpVQhxJhzUlJrrWaMOQgppZZa0JhjEFJqrbWaUuekpNZiajWlzklJrcXYaq6llJJaay3V2EspoaXWYq251lhKSi3FVFuONZVWWosxxppzaym1FFuttQbXUokpxgIAMBscACASbFgd4aRoLLDQkJUAQEgAAGKMUow55xyEEEIolVKKMecchBBCCKVSSjHmnHMQQgihZIwx55yDEEIIIZRSMsaccxBCCCGEUkrnnHMOQgghhFBK6ZxzzkEIIYQQUkmdc845CCGEEEIpJaXOOQchhBBCSCWlFEIIIYQQQggllZRCCCGEEEIIJaWSUgghhBBCCCGkklJKKYQQQgghhJJSSimFUkoIIYSQSkoppRBCCCGEEFJKKaVUSgghhBBCSSmllFIKIYQQQigAAODAAQAgwAg6yaiyCBtNuPAAFBqyEgCIAgBAiHPOSauJUIw5aT1TDDpptXfKGcQgxUw5pBik2jnJmHISQ2ohZE5aiTmlEkqMPdhcYw0CAAAQBAAEmAACAwQFoxAECGMAAIIQmSESCqtggUEZNDjMA4AHiAiJACAxQdHqwgXoYgAX6MJdDghBEARBEBYNQAES4MAJbvCEN3iCGziBjqKkDgQAAAAAwAIAPgAAEAogIqKZq7C4wMjQ2ODo8PgAEQAAAAAAUgD4AABAQoCIiGauwuICI0Njg6PD4wMkAAAQQAAAAAAABBCAgIAAAAAAAEAAAACAgE9nZ1MAAIDMAAAAAAAAu7mXcgIAAABIQ5bOGy3Rs6mpqJ+lmJidnZqdmJidm5WTkZyRl5GRmcTY5x/ni72JN60iOL9wYRwXPcmhF0IUFUXs5+wa7s7o+pXXgX9z98EvwQqoAJrYNdh/yyHGwia5LSCmEBa7XP2OVxGojdZqSvdihgezSlRQLWUc4hF9eF3KvaILupL2XFWZtg0AAAAAU2Vwimvqv+kc6qKLlX2U7JaqBXJFK65KVEdlFUpj40tFrqhQ9jqUfgSEkCpFk6QIIMmUNA1BNNLVHBENEEpkfTjPiKIlPxHZT1RHlbIM9eDqv4d81KOeqKIEuKhmnlFUMy7o3JJMQm28QluIKvHN1aRZoQKCSqAiS9mSUigJrrBaBwmMxYOHYMA6aSUComOB5iZIFjQAPtrF6s/DS4XWW8vVQd5oTGqFyC5Uf6dXZipspa2O8gYktsoPAt+m1L2iy9LFpVSVmWkAAAAAAABA7CEt6IKKWqKsKMTSFWRRR0aWkZkjUVGW+nYXIvpkRiDGSSYBCuoh8H7YsGaaNI5LwgqxJFnS3yKoBNdOJag8gwQFaruahhaCuK7vu6ABpEg8yWQgoA3uVkj4SWb3vgkUaeCqDCVQU5MFWbhjPpAwMPWQ0UtawjXQ0ADe2QXgv8oFmchQGJ2jBzSAyi4V//JRhajCy2rWA0Y8hu91xN0pydJTUiRWmTQNAAAAAABgyah2ZlmF2oudzJpQxIp0K+pOGRGqSJUVdPopOUIUrojmBBRKnigo6vmQ0npAoBB3SbiMK4L+xgoyK8idOJY76/e7KQWJAZdSRP6KkxepC0CgjexW5IZiAY29ZPbtlBBiCMBOkSFtIy1YuAEJuTE8wkosCxgL3qnF+L/aKypRC5XO0YMAvE0rssvpH+naReoGVkfZgQk8Nj9IvDanez1ZicsCjrEIGAAAAAAAAFCqqDjaUKssFb3HOnVZgWX7MyygarJQlYpDNLpeZR1U6DIDUKK2RPsVigK0AlDwZD0EFtkTVKm9RBQ9MBTJEw0UDMcBY2EPWUSRKQ2CVQ/RSAge0ASrx1jaHfUms8fdKQbsBDRkg0z28BBIaCQYCAauBf7Zxfw/7Z0FejC9OsRaMB5HZJfSP8IxhenCfHW0tWC8bB4Hg9ez7ndFli5WktOuTAMGAAAAACDLU0QciaAKnb4CLl7WP0tHiEgZCyz2L2pGuZquEoG1cFACApG0C6DIIyWravu1ItCIMlm4xPLMsgALrlBBA1MdJhoZXFyuogR9TawBeQCqQKtoxLhQoFVAeWFIaDeZbf0k4CMMHCVcrKhcqIsuFXosBF7aVfQ/4RKVsZgaXWwHFJ4Vmexq+CsdU6QekNWsB0b4snmHwGKM12ZtGBJ6spJKLmDbNAEAAAAAAAAAkNY9HUI2IC1oHCKq2dClChgFLZ3gUBAlUZREXxn9VteDCCJKzgUAgg2pvSPFot275iuOmYVqhbQhyPLHhQYLVwLoYtVxD7VSGDTCDSe9MY+baOsyhjcApmRgP2ByPo0wlRL2AB7aFfw/5VqFqcHVaLIjwXRWZbKr6a9wrMJUYb6avf7LX4d3SAwEr6eu77oiS5fKAiajCQAAAAAAAACAOvIOxa2QOxVdFqzHDPFYqCwjVUVWi177U3H9wjohLtViPyAR0AAo6hk8AUjiCPBAAe9qIHuVrZVBBjwKLXgImaoE1UVDGgBZ9VBR7CHwbILQ4AZ8cem6aLM3TPfH0GAnJBi4iSsQbwYVGR7a1fTv8opC1OCyOlgPQnxWJbKr6K90WYXrxtqKOzDDr+QRBK+Tfq8kJHZlAZumAQAAAAAAAHhmiYpTSdsEca0qYPml+qeiQEbIhRFqOFAlEa5YJ7gQuSsBSiAtQKAppVWu441AixIw0MUKKxyaCnCk5zI6aNr2Jbu4gCB65Y4M4AGCQsONtkhkGm6Y3l8A/mBg5cuQYBAA/tnV8F+5ZGE6Wa4OsQNKLuomsmvh97CswoOxsZrtgJJ/5weB1wN69yky3WJ5cgGbJggAAAAAAAAAgOihiFgn1JLicMq61qL+EiiIKIllZL+J1RIJFfQNQCDCs1KqRZ4ASHUMNwINsLz/MT2omptLXVRLIZJsYSAtFLkXQEsAJKQh3KASaAMTYByF6dE3FmCnYKENqnUNsAC+2RXgX3tlIWqxtjrGDkJyOTaPXQ2/p8sqJBS2V8d6AzO1wiMs+XpA3K4r4jTESXIBl0kAAAAAAAAAntkijUMULwVYAXBoK5KxhAxJZVAuZ38nDdcQCdZCnwAIhC6F8KxEEwC0uPMVPwSur6+FJGCABrQQqFZfD1jYo5kQ1CMMMAAeBaiAKqQFqwQxrpcVeFLsFwAT0DAaFhqsCOQBHtqN+I92VWGq8LE6RedlQ2TX4Z+wVWXB+XO02P6F4R0SiyVfm+kbhoCiy6iRIsmzaYIAAAAAAAAAAKjORAUnpDxUtS0qpgO0EwCASRZCopBRYklQsUz01IroepVIiKjIrgQUwpZIdz6FxA/BMyigZZe+0pNUwBMlUAkuugpBu4ZZFDwbgITxQwmqGLfFgidd39R0gB8LLFcewmVwAR7adfxfunYhemCsDrYWlMcQ2Q3wKx5TuC78HE16QHP4XlfKru8StyUpEk0TAAAAAAAAAIBY3t/+KSuIuohR5TiLmrpyvjwyyxBZUnmxXOx3tOkqkeBCFzkAiiAVFFFcreQmbeFrG35BsbqOEHlY4BkUHk/XYF0acAWiXSwK64uoaLHOQokmNDfTU5ElHtqWgpDIYO2DCsHFFQ0e2g30r/KaynWTZXSQ3RPwl2Oya8WvcJzKY1PWSGgLCrxDYCH5HtCVe0WX2qsEaJsAAAAAAAAAAADiWNMtOCx0eAuSrWJaBu1wi4yQ44IqSzho3JOWB4IchzioBASwhdBq8SgUUCl740vAHrCkv2My4c1O0OWGTCsIUgUZvPUKpzQqyhDFJQOCSrJ0HaUSTWJU5PdKyEDPWKCOAY0FHtoN+K/ymsIYRlkdbEcK9Msx2Y3wKx67SD20tTpYjwRweIcETPJ6Kcq9oguk6JQUARImAAAAAAAAAACAtrzsUDIEPFKKGhG/8YDVtFAIVVB1kewX8fIFQSOonUAKEjJQFIknYWVH7ZsNfoBlS5MIOF59oLwyAvAAeSANT999kZunmi+oUALgoV8zcNO40JQeQEDrORILAwMe2g30r3TdlYTGc3QIr1+wI7Ib8Fc4HiHBeVnN2kqhlMfE4HVU4l1JJilRkgvYNAEAAAAAAADAw+RoWwQvFVYRwPIn1qIKhBSVSfUo9T44sXYFeKcrVgAKSAsFoSoei61A4aYEAHgArkVpodFzbLmNOo6hgoFGoDQy1g0QutRMSGaJusTRdBm33Uvo2JcnJInYKTQEEnfBAN7ZDeCP9tqFUahcLXJ/EddEdgP+StsnPBTSVos0Q/AOgcXg9VLThiGhtyRFnGQhmyYAAAAAAAAAAIDoVASngnenqlgV1U5wTwUAaK2ZgBigJBXUZOhVdSGuXYBQ+egLkEDSElBkPQQbANDmJrjZgnqGKlR5RB2XCgDQCmQAGl1HYCl1KMGwwgIPSIFgKtG2b0D4rSgCRTMgAZVEAwO+2dXor3KcwtWQa3WUNQc5kV0HfzRcoHLdyBpNsn8KeBwIXg8omvqeupomKQGbBgAAAAAAAABog8iSivVokI5jASzrrkhWLCAzxEJSBXEI4VqguNC+9YAAurSIfMAGewT1RAB4EGi2SjXhgkwQRZlXcg9dMoA/IopAr0oUAPAE5fcQGAAAD/AAgVVZN9U7+t8CGCuCAPqLAHkAFR7aDeIvKcApTC2+1y2gfkFhJrtB/GhwRcL1YGslPDUE75BYCF4PiJV7ua6ul1KSQQAAAAAAAAAAAEDtgVFJnNB2iaoRbNuCc4XIQCVqgn72cl3WqyhtcCiAFGBLiWdJGkEBaEMJvAHjJ08UcKSPx+KJBwAZwANXUCIuAdEuBND1XjC1WBKUoOtisih43wdNJSNhioELHtp1/F84HiFhsLY6WNcxuyWRXUu/azCgsNDYWs16jyDgMbAhXpuKst2TSlxyySQAAAAAAAAAAF0uRduimmdBsgoQS1fs0MESQkEWBdVdWV970aaruNAIkXMloMB3CCHjCYmojlBKtCOK6zJIgetoIcQddj8tyuDtO4SnuAuii4SpBcgTgFugC1ghD18CFaAgo4EEHtqN9I90uYXpQcZq0uYwZ7Ib8I/GC1IWBllLizmAx8QS31MsbXVdoKxLziQAAAAAAAAAAB5ikESVmQCrAFGxYn1DVCKkiJKqRUTRr2Q59GBEVx8gJPB8BEVBcwUtAEGj1koJMANku9Am4OlBqoCbieIJARVbaGN270XNVwmZhMijAGi4rf+Cx9Z3Chr8gdGADB7adeLvcnxCYlHW6GCtziCyq8UvjTYSVlNZq8XbMxB4hwQsXpemeLsn02vPAjYBAAAAAAAAAAAAbXndVqwBl1uRlqqYLhAPKKWqQZXe6eDIFS9fcCFU5MgCAiCDIhCKPBAgFSitBAB4Aly9tEo+BVYhAcjG2RGiXgxIitJsWjxLMyGwFKcmi8gU0VCuAEDUm5+tVLve+wTsFAGVC97ZtfivdH2EsbBXR9k8hMhuwF8aHlCYKmytFrtjwPA4kLwekDR3XZf0qgRsAgAAAAAAAABgnYiKYLKm6LxTAcsv9JcqXWQGFUFlBZ1DJVzhgos6VEAK0IXAs8ICaQJ4FABQINDMlWbzYCFVVDsoNCp4QAEu9iR+JVJaAAiUkeHqWm5mVlSTVkpt3IQEREEFmgXe2dX0X1keJXVoe3WM7YUMkd1Av/L4hdUhz9VszSm8Q2AheW2qUe711Ggo7VkyAQAAAAAAAAAAAAgthCxAfZQ2mJZBs71VjohcpKIqvQ5KI64VpQ3NkQso8GyvldGFpFMAhXZTe4DxA7hoIVQkWNAMrSqUpHn52BIW4IuqAGlV0KBdKIAXyC7XLLAKgAojS1G1lCSAORYNvtmN8Fe57oJQqD06xm6ILjx2E/4IxyMsNOzVrHt4w+Ngku+B0fc9WQkkKQImAAAAAAAAAABwZSmiKmIzIbtbAcsqV0SVgIIsCxarRd+KIlwURJIjOvoCAF1KfOGBAgKCKmgBWgCMPYokc52cwAqaBDJoUY2xYOGIJgHI5K0F2lJGNihhlbG0ixLglUCGtA8SAx7aDfSvtDzC4mBjtegMvDiT3Uw/w/iF18LaatG9kOEdEonB61IjbXWvSkkuBAMAAAAAAAAAAABQu6ZRnA10ag4thEkQVlCRSRWMlkuHSmMViDVdmQEEoFkElJCKRVcBKkj7rgDLF5DEKivyhDyKaodmuap2dgQA0ILIABphvYaipYBMYMAUWAlukvUDAIhMwQUe2nXqnwYHVBKbbKOD5VZA5kR2nfjRYJCw2ORYHaJ7oMIjDF5PNeJd0WVTShYwCAAAAAAAAACAR1tREVHtBNdMgVhal2WhWIBSRmVJ9i/6rEz1+ioQLYcCANBsBwVoUAi6ADzQtFYAADwQWI3rpCm4oXSsBSk84AmMi4F1FGgWVLShAOABEAldcGsjdwKyhHyT/D4+AD0n4wJPZ2dTAACAlAEAAAAAALu5l3IDAAAAKC93CBmRk4eKkYuKiIuhury+usTKn8PGnbrFtrfD/tl1/K80PmG98b0MWC9kiOw6/qNhIeFTUdaCGYR3CAwE31OzfU9IT7AsYAMAAAAAAAAAAACQ7ANPUCdkuAXags2siOtEZYZUYDm9a3W4FAQWZfTtASSgmdAGlFAPAAx0KIZAewPWVwmRARdtIBdpuIb1sSXaRQDEFWjSAkBCHTRQ9YDAKpElUtcNxg0S+6aBBf7ZtfSfBgMqi0uuZcB6oENkN8AvjQNSGQtfQ1tUeIfEQvB6icW7rst0p0gJAAAAAAAAAAAAAAA0f2yrqgPIUVHFdljEsYocERWJKmS/o/HyFYJLwyL6AAC6igDoDdoFSBXNugIAwTOAda+wEtzCAwX1sGQEBQ+gQUOsAiIgz1KFAKleRcLK7aIE48K4BeCGJoCYAZ7Z1fSPtv2CXrBWYm8YIjx2A//SsEEhc2FrtWhTCo+Dxesa8d2eLCNJLgAAAAAAAAAAAIDstAotVL32AL8LQM15HaKoRHTQG90a6ra0jisadE1ksoAARAYKCDyDAhSAJrSWACDwALC8ICsooUQh40E26xeMhYtIADLYgHBVCjTQFED6E4CeA/7ZDfiP1H5hdbG9WmwvVojsBvqlQSHhtcm1OthmILxDAJZ8PUfa98S2S04TAAAAAAAAAAAAgDBFaBvwdAoqogCwQkamHBV0qohu3RGulQbWOBgAoJGiDRA8A0BVAM92SHPcAJ1KACmZJbRVXCCPWLU02y4sHNFQQD1YjZWQWCUaWCvk5pdA3oZ2Ab7Z1fSvUh5BT+1cHW01ShLZDfxL40BC5qKs1WK7McFjYPE6atr31MT25AIwAAAAAAAAAADwVAttVIInqCeAZVVXRJUklURR0rNcVh4y9FrQIFrNkQAKaLURgPINwVYBKqHZulcw9oDmXJMNGAsiqGCd6+q59on2C6DA4wmoJmtAeSRgsUAWAAS+hK6rlgDMIAD+2U3qdxmnsJ78XgnbBV2YyG4SnxomKGx2uRYaM7xDYiB5vdTbdbEssxQBGAAAAAAAAAAAAIDatR1KBpDVJYgqLXdBF55kCiqDiiXUvbiURg6WeVyRz76AALiCAviCBWAVudaF8QNckgs5Cm1BoI1HUI22AACeGAgAWRYwqMxetwBBgq6jJ4EKmEMC/tkt9Fcaq7DJ+b06RHfRFCeym+lHDL/wyYy1mnVThncILCSvTTXtelLmNjkNAAAAAAAAAAAAANIxaafgEPAdQAsx2QaWs4SCrBhRuUjWQa+vaVChK3MBAezUQPuCFcCjVTRrkKgLcLm+JmdhrOBZRNGAyh/QEkfPwSEChbFkBrBaALDUxhOAQ2QA/tkt/Fdqt5A5ca5m240TIruN38f0C+lG1mr1mjo8DgbfU013iiIOUDJNAAAAAAAAAACQu1UUEZnUE1adAlhyyRp6SkQnhUWqLKSqB4q0HBkYCbeTgAQ0hQegxDclqwCN36LVuKBewHhZyl4FscOjk6EpgbbQ0KgCtMoFlZ6DAeqSqxUaHw0sAP7ZTep3WR4hc7JzNetuqMJEdrP60KBBIYfxNVp0N1Z4hwQMXpuytrouo1NoARoAAAAAAAAAAACAyqSNIilwe4piESYRWE1EZMrKgr6LkX1q0q4/rmgQayJnCiiwhcXe5AaAK0gXQTsCmgZpluCBaiOFAdQjKMDCD/krgHWREATawhRYpFqNALoEyQV+mY3gdxqPICY/l8HYMGxhErMJfOT0C+ku1/KYtiWcAt6xg8AEbwHzybpXlJXbBTWiSQIAAAAGAAAAANA5axDc0CENgkpTu8CzL2ABF+DKERmKdeY6abC+HGlUAxEJWIYyCEQ8JjcCcFkGl2QsQXsD8pKkKtBu9JqlJNvomU0MAQDVQmQhqHy4m5BJcGvvglUAWDxRAQDPAECFbRkYAiyJC96JTfQvTQoSXp2MYciauAmJ2Ig/NQukrJsyhrYGCe8QAMH3Eqs5+1mNWJ+tIEibJgAAgEECAAAglyUVVQd4ZkvBgHU0lK65SCHKkr5J35vrBys2SbhA56C+gACskxKD4uQ+pNAqQPMnNMpXhwQgwROC08uMSHKiABYKUlgBkCniqkQyAWAvKAAWjUKkAOk1RkVkFKRgAbgOVm63rpNAAPEEIEugQ4EqXEeg4AoAAEiHQIIGBoEK6YJLAH6JTeAPzQpUFhVbQ9uKUMIjttMPDQ0pj5qvYcSSXMDjQvC9TcBqwxDYR9aIz2gIgiZJAAAAwwYAwOFS1SDYLktwr8h5AhSoWgAAADjwwZ0CIGv1e0UUPQwKMguqDNT305WHrgDGM5JMK0YJ9BI8AZAAWMXSWpHIDReNIF0GtqaL6tTzQTUCAFpQiYG4Auhr7Z+hZgCBcwCBo0QF6VCAc7UGANALAF0BPB09uMOF1BMAADzBRQVDBhkDCaECvolN9I+y/UqiyXs007WzhkZsg58aLKqsGrehY+eg4R0Sg8Xrtbrfz5rRt2NBkLZtkoBtwgYAAIA613YpTh9wIlhUSyakO8MQkVRJqjZDM+pXXXqNwFnd0brrAQmILIpipx0FQMIG1knJjSEw/SExmmWoTjL3MJKSmy3C0ACraBoIwNSSK4AYgCwEw8qDiHYIADxbGDBQBQBoAVCgoKexCDIBAAADdUjBIX0lAHQHC7gCCQwGpIQFLBoLAUOgAr6JLfB32T5lQcge2qpNC1jEdvihyWBhUREbOjYK15h3CCyW+F5i8d29GmnEIxdrEKRNwiBMkDYAAAAgzpotZEdweogKqtQKyQlD5KR3UqVtHRiKzBVGFEmcpSIPBgTg5EQMArHeSGnlCWj8FtW8IgAoOJiMLtmhL5KhTIZ+aURoqtbrlwBYeDT2tkRPwVYLAAsBUBgFkAEYZymoKjQL1YboL2D2QgUOBY8CAE2Gy4CEC5bFAgNLIEFlAb6JbfhXuHxCgrBztOiNLy3MI7bmHxpvrCQa99EleuMoNZjHwKb4Xks/+1kn8dE1BDVo2wYAG7QJAAC6HAoGzU0nNS4DRPWK1UnVyWBMxgJVg84h24zlSTEZcsq+vYAZA5CmwShwMkcKgEcEYFxnngSDCgfMXgSuXbLRHGsUAJhDG2SXCQlDZUAHsVosgEGJABBtpClAkruB3KkKgABnSeiCBalCgkWvBwAWAADAgmgNDwAAoAM4QIcMSULAogI1IwGrggueiS30dzk+IQF2jo6iB9FUlEVs458aLCYsakbrIL3xTeEdEiDF9zYAo5/9zD5zRkMQtkkTgEGTAAAAAKC5bZRUDp4iqAiOtKDTDvpAAVAAGNIgipJlXepfp7QwL2bJxLmGZQQLKIuPBikW0CqAZ/t4FA4VFKhHdHPtpRBpFh3AIZBgRc4FSU8zAIGuBgAATwCg2UKzAHWNQrCsEEBqVIayjAFgAqBAsAYsChZ9IQFMCOwAgA6BQoFDQQIDAOAAl4ZMQkbmQoWAhowBPpkN4JcmFygkCD9XV+vDylyYxWzj9xpfIqQLY8U+KsDhESbFdcmU+3s1Z4/bTNsGAAIAABIAALg6VLGQ6jLovEsBNac6RFYSAldBzjwvJvmIHBcyaImcWUABzSAgiOyG2HABpK/BkvUFWgMsubiUUQFvIHEIIUoDAv8AAOgFALnQLIB2sxAh/xQFyCxoMhC5CwBwRfML+CiwwEVDg4oKXolN4HfafiFa5BqG46CKFGYRW+inxkMFQSs2dAwrXIN5hwAMvtdSc86+zsxWLBcEadO2DZu2YQAAAEjIVlFSkLigqIpM4glLHpVARVClq21uJS8tQt2TOdCThwAEYK9iQMmvmxwuQJoA5jUkG18CAEEP4nAtjRNW4gBqABpkl8G4wgEBFCbi6gCrACDtQpoC4lwFxBjLUgB4QIccqgAABAOAhTBcAEAWALhQsEH4AgA8gYUGkgVZgEbGBS0DFVWCJAEXvolt4pfGF6RUNDlGMz3MJCERm8WnppsJNYtmw6AcE8YG3jF9wOD1Gv0NJM7M0YXUjIYgaJsmAYA2QAAAAICuzByMheAEyVVwlMKKtwIAco8S1QECkSXL64mm0nUOcsAWUasSAzMGIElKYXNyHACgWYBHq2g/ETQLBxoAsjgIZK4WnBSAAZQQ5FGALIAHBUBVC00BtBqHRp/zAQAcqMDEScGgiTJHLqJgX4AFAMChQw8c6gCeBQAAdQ+4sNDAHQggaGhQGVABvplt4ruGGxSqK76XtiOiEBqzRX9oukSoLlxWsz5sBME7JGCC23Pa73f1PX1L07ZpAAAAAAAAAACgzhOX4hTABzUijXpCZ7dS2oQcK5GX40scZgFCOtQEJKBRBSiavw1AG6gAtJ6FlpsS+Yii16OSKyoLJOrGOCNpUKDvwBBAga4CGmsouQBIvauIBgqAjbZAbgEIlUT4KMMFi0amAd6JbeK3phtSEpRShpYDojiwiM3qS9Phio7G0HZIBQvxDi2AGBst8Fr6hiFxZp2ZXdCCoG0DMAAAMAAAAABxe+EpOAoEBW0Ep/ckSNdAgzKNYAABbKUALN8DtA1QJCXnCuwqfQATEFcIwM7ZUSigJICRRRSgjQ5y465AkS6DbgdQgDQBvQ4AaqEHANIu7MwBzrIHF5adFAA9AbCgCQCoYEBgLJKgalGAyC4AIASgQ1kJAJ6AC+nCgmsAGf6J7fqXpgMpomh7GLFhmEIktg6fmrcS0pXG6AZ6iBnDOxyADW6vpeZ5dNmZNWILgjZpAwAAwiAAAADEw0uXYBtQAyVd1dnpBeJxoExcIcdKc7GIuXDxcmkSOdX36gcQAFmYQPLaRFEZsJECPhZBdmhKAFB4QuDiIagoEYAeCMQm91Ik2AUFSALcE2hXcxbygLhKEWkbT0IAFpNCFXSk1YIAUANgClkQMWxLFCxVDQAYAMBYwQI4CwDqHuCyUEGDWNC4uKABnolt4peGG1RqEmUPh7ZV5JCIzfpTwxHBJNJGs9wIQXiHBGzwvWTz3MXqo4j3GUHYNE0AAACDAAAAgLZWO1QxgBtEVBOywGOh2kBRULUPncq0sORicmIs81A7gACkadAATkYKCUDXQe4GpHAAoPAAuHgpqgYAXKGCvcvMgVi1N3y0AJDiJFBAJoDI20RN2ikA4AlVbJqTVLhAGwGQAYAFBMwhBdABPAAAgAMALgWoWBoIAZKEgQVeiU30t0YNKqqxMVr02gHBITbxLw2TMukwRoteOgh4hMX3Uhc/sOtLb7ZiDUGAtkkSoAnQBgAYDwRHUZwVXMsKWOHiFROjEgrCIkv6EgcJl5xkkoYmD6UekICrHSSAxSmUHXQEAvsaFpe7EgBbeBYSi4cOqgC0L6RIl8Fqcn6mavsAdQFjAQBbiGsAmYCUdooC1H0KVBAwUAoFBmBZABirADo4PAIAAJ7ABZkrA5VqgYoKVVCBzAB+iU3iD00aKenJ1+hkaoyMOMQm/qmBmZLZFIYHjEYI/wFmkYBNvtfMc9dnH7EiqCEIkrYNGLZtmwAAAGh1FyEJZLgFraK5dIL3ahRNysWCxWqqtsVQHrqCyi5zYVCU/QAScLlGKLCzmCYASeHwaJXtDS5oFABAwSOAxUxqEgAUnpMjyLes6n5lqnGAJrBWAGAraDQKqEfQ4AkAAS0AALDAqs3BAmAfMPAE6AVF7w8AAKifgIsEggXBooI7gIuBYFBhoAJPZ2dTAATA8AEAAAAAALu5l3IEAAAA36YJqAy9t7Dik7q7uMOzya4eiXXwD40CFHTX9uho3g1Qs3CITfRTw0BKptTG6GBpAoV5xywCUr5uM88z6uPZ2wrCtg0SAGzABgAAAOhI59AJuMVSnFVbGQVGV2I2JZag6Cs7/W4vfYmrEmu6cgUgAMMylAMQQ5EnCkgAWs+i0WaDQAeACvoTgby0oEo9AAh6sYZcrF5KL0QC1BYJ6QUAguoBFEgKOCuLyqkNAHBXCJRBB6AA0KG4BgAShmQccQUAAM4TMAxIyCwIGRcDqGg+iU3we2u/sFr43s26B7qAQ2zCXxoVYV6LZHSQ9gUI75BISPk9oK5mP7PSJWU0BAEaNgkAtG2DAAAAattGcSpkOnykKKbTQHdnzDlmqBwzXiYqDpHm8qBMIrNxKAkI4JmZoD0JXQDXHdnhqwGAFjwAu6nI5oS7ym7pDJIrOIwNUBXJIgBgLJoAwBbCBsb1GvMJKeMgARIslycEns+ABAAdCiAdQZ4FAACeBxgXuCQMKg0GGgEEqgBeic30Vyu/ohdljQ6xnTSFOcRmfq+RkZDZjLY6WDdWeFwM+b0u8f0Zmdhtx4KgaRoAAQAACQBweCgYRKonhE6AWF6X/kNFQeYQ0gLRDwcX9WL5mDKxKKOfSkACVlsxykAPVosA8qeASxpkoqUIAII8MTEcupBRBdY6nEsgRVxBBwVwaBYCACwicUQmgSBG/V4HQBekjEgWtAG9HgAA4KDQIR20BACPQIVEgoSFCy7uAr5p7fyXRgUKi07OZSxWBFSYQmuGnxqZCu/JGTq6oMI7BAZD/gD7Wpr3+6wR62c0BGcEBce2aZumaQIAAEBca3oW1EJMI1pFyAvMPACDiMNC7YQwaLOYF7NYMj6NlFE3JnICcd2RbmC304AAaQDS92CZUi0YBNBhClgYVx2aYjncBckm8sUVKqmuKhAAEHj0AYBWkOMUsAIUBWUBeBRSrurQARS6WhiYqgkjzZEHgADQAdgDVQgEOpInAABcfgEOAOiABYAOAIDBdABABwvAAQCwALBkaBDIVLgsWAYSUAcusAC+ue3iR6MFCulO1uhi2wUdHreDuNe4EZPJOK1TbDdOeIfEYoLXtcR7u5gW65kEAQAAAAAAAAAAAG3NnKo4oO0SxSKN7YKFp4hIlkMNVW6TRly70NI1sSILCECzCIA1HgBICmAVknsBEHhAIF5aJZuBtVap+yyzgFUoYOGi0QR4FBIyCdALCpDHEwAS2pXYhDwg0QAeiY3wu2YNKokuz9WslwRTlENspp8aBmXSXTI6mK4QMjwGBN/bBIx+dl3ctIs1BEHSJmAbJmkDAJCVqUhRrLdFOjLKQACgCgAAVri4DhG9YUwWBc0ycaBKEfoPZkucablahBilaIRG0AHtAjxaZR5NYikoMAYguVwnRwoACgcpZHEmBkI00e5gmOCIRhNCNZ22oKGDJwSAwBBj5bFAFgJwId/goAN4BAAA+h1gsVA1UBkgBiRouBawCBoeiW3oqy2/kG7Yw2BsGSYUYhu416Cx8O6SZkC2BBveIZAQvAXsa83znEsXp4+GIEiaBgwCBmACAABA6ESwKfAuhmrAdvWRrhGhWhCxoG60DrisXsNk3Y7WXQ9IwHIdpABXeAQLSAOQfJRsHi1UAQBoI8FEcayS+mkAoAeCjjWrUc4GIB2YcB0RBQAZFAATuUVSgGyysZQA0K4MwARcY6kX6gIAAcABDxQoOMoDAACkAyouQQUVAxk1g4oE/oiN8JdmG1JU+B4GZaUkhSnEFvyhQWEhFYVhIAppeAwsvpdM/Nz3ESfWR4OgbdomANImTQDI8tSqVVS9zKx0RQH033vFqVIih6Bq0FlGn5U9yqoXEbCU+jwkMMwJ9BpiIIi5EW4KIItcVwoAtVAILJwvN6sECuDARoJmAhuZorFGBkK7VQDQhjQBqUdZCcADxJLQ3IzCBgK4RwFAAA5AEEhH4BkAMGhcIC2gISdISJDhkrEsIGOhAV6JbfBHswUKi6acq5WuFbWARGyn9xosriwaZ3Sq3hpKeIfEYPG9Zs7zLE3xbHUNapA0QAAASdIGAACA2ialOAWsO4BFoSpdU6EQWSXoqUpP3R0uMRADOQfZtxcgAJE5KIqXcMEBVR3wbIdmEVAcAKiBByDSa41sFh0A1EBkkn0HAhzIAGC1tGsAmFpyBcDQYVxBEElaxKRCAEpQagEQDGiBgZuFQBuj0xIwB4AFXKQ8yBMAaADoYAFtQEBDhhqQWVhgAT6Jzfy7ZhtS0mF7NNuNMhUmEdvpvYalhAcIo0PsDFJ4hxYWm3xvAzDi5zmSro9GJkzTBgAQAGwAAABAupouwQWoAxVRNSEbPJfkPAWAWgoAokmRi1QsYdyfkXFxSQRzNASrUVIIOhoIBqgNoP0IaayVEoANAom4cLGMCgwAKMxLkBkLorgCAijR4joAsPDAnhJPCbShgAygAoMewAACGpBWYaPSAIBGcBNcqKgEFQ00AjIWvomt9XcND6hURJ6jRS+dpSiN2FG/NT9cUOGMZrlx4vAIktdr6c8z68wcagiCNkmAAEiTBADAkWmppoh34qtmrQiGQVSsWG16pzYiZVZWDKOexULdltaRczYC6yPppwcTCUjS6obi+iAApckGZoaxUyxSFNCOgFmzTEQlDgB0NLDMESEuuh5QAwz08EgTBWBQIoAh10azgO4kEJobAACBDjJIWQqAGgCwFrWGag3KMERkCgYAAEMCOgAA6AC1Apcmg4oEwyVBRkMDPrq9zjetviKsimS9Elh+mTOV5HL7nA9tvbDwLgbr5YfvzbCA71IjTtd1sQndBgAAAAAAAAAAAIDxkkv0v7wiodNT0dOrb9111lHTicoqPeP18nrmg/N6m2OdzZHz2vXVSyAaaSabmQL9bDQDlUqFzyVSKVTIs9FMWkWsYqUezUZbyqPZKLipVCrNRjsq5csXAKnHMwXXOnOmUlGpVJ6P56OsM+lzfC5BT6UACRoL', + Gb2: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAADH2pxyAAAAAJ3y1qgBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAx9qccgEAAAAsI7imDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + Gb3: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAADT+6FyAAAAALVRzugBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAA0/uhcgEAAABFLMHYDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + Gb4: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAACnD6VyAAAAADbMxuMBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAApw+lcgEAAABtG/JEDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHGGHPOOSA0ZBUAAAgAIAAAAEBxFEdxHMmRJMmyLM3yLM8SNVMzNVNzNVdzRVd1Tdd0Vdd1Tdd0TVd0Vdd1XVd1Vdd1Xdd1Xdc0Xdd1XdN1Xdd1Xdd1Xdd1XRcIDVkFAEgAAOg4juM4juM4juM4jiQBoSGrAAAZAAABACiK4jiO4ziSJEmWpVma5VmiJmqiqIqu6QKhIasAAEAAAAEAAAAAACiWoimapGmaplmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmkaEBqyCgCQAABQcRzHcRzHkRzJkRxHAkJDVgEAMgAAAgBQDEdxHEeSLMmSNMuyNE3zRFF0TdU0XdMEQkNWAQCAAAACAAAAAABQLEmTNE3TNEmTNEmTNE3TNEfTNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TLMuyLMuyLCA0ZCUAEAUAACmrrfZgHIEok1ZzaBBlEnPRFUPKUewpUggpiLlFTCEFrbaKOcWgxdo5hpCT1kPolGIQAqEhKwSA0AwAgyMBkqYBkqYBAAAAAAAAgOR5gCeKgOaJAAAAAAAAACB5HqCJHuCJIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkucBnikCnigCAAAAAAAAgGaKgCiagGiaAAAAAAAAAKCJIuCZIiCaJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkucBnigCnmgCAAAAAAAAgCaKgGiagCeaAAAAAAAAAKCJJiCaJiCaIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAHAIAAC6HQkBUBQJwAgMFxLAsAABxJ0jQAAHAkSdMAAMDSNFEEAABN00QRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAMCAAwBAgAlloNCQlQBAFACAQXE0DTiOpgFH0jRgaZ4H8DyAKAJMEaCqAEAAAECBAwBAgA2aEosDFBqyEgCIAgAwOIplaZookiRN8zRRJEma5nmiSNM8z/NME57neaYJURRF04QoiqJpwjRNU1WBaaqqAACAAgcAgAAbNCUWByg0ZCUAEBIAYHAcy/I8UfQ8UTRNVWVZmuZ5oiiKpqmqrsuSNM3zRFEUTVNVXZemaZrniaIomqaqui40zfNE0TRVVVVdF54niqZpmqrquq4LzxNF0zRNVXVd14UoiqJpmqaquq4sA1E0TdNUVdeVZSCKpqmqrivLsgxE0TRV1XVdWZaBaaqqqrquLNs2QFVV1XVl2bYBquq6sizLtg1QVdeVZVm2bYDrurIs27ZtA3BdWbZt2xYAAHDgAAAQYASdZFRZhI0mXHgACg1ZEQBEAQAAxjClmFKGKQkhhdAoJiGkEDIpJaWUSgUhlZJKqSCkklIpGaWUUkspg5BKaaVkEFIpqZQCAMAOHADADiyEQkNWAgB5AACEMQgxxphzEiGlGHPOOYmQUow555xkjDHnnHNOSskYY845J6V0zjnnnJNSOuecc85JKZ1zzjkIpZRSOucchFJKKSGE0EEppZQOOgedAACgAgcAgAAbRTYnGAkqNGQlAJAKAGBwHMvSNE0TRdPUJEnTPM/zTFE1NUnSNM/zPNFUVZ7neaIoiqapqjzP80RRFE1TVbmuKIqmaaqq65JlURRF01RV14Vpmqaquq4rwzRNU1Vd13Vh26qqqq4sy7Bt1VRV15Vl4LquK8uyDWTXdWVZtgUAgCc4AAAV2LA6wknRWGChISsBgAwAAMIYgxRCCCmEEFIIIaSUQkgAAMCAAwBAgAlloNCQlQBAFAAAYIylGGttGKNYa62JI1prrbWWVmuttdYaaae11tpqrLXWWmuspdZaa6211lprrbXWWmstAEB3wgFA98EGTYnFAQoNWQkApAIAAMYo5RyEklKqEGLMOSklpVQhxJhzUlJrrWaMOQgppZZa0JhjEFJqrbWaUuekpNZiajWlzklJrcXYaq6llJJaay3V2EspoaXWYq251lhKSi3FVFuONZVWWosxxppzaym1FFuttQbXUokpxgIAMBscACASbFgd4aRoLLDQkJUAQEgAAGKMUow55xyEEEIolVKKMecchBBCCKVSSjHmnHMQQgihZIwx55yDEEIIIZRSMsaccxBCCCGEUkrnnHMOQgghhFBK6ZxzzkEIIYQQUkmdc845CCGEEEIpJaXOOQchhBBCSCWlFEIIIYQQQggllZRCCCGEEEIIJaWSUgghhBBCCCGkklJKKYQQQgghhJJSSimFUkoIIYSQSkoppRBCCCGEEFJKKaVUSgghhBBCSSmllFIKIYQQQigAAODAAQAgwAg6yaiyCBtNuPAAFBqyEgCIAgBAiHPOSauJUIw5aT1TDDpptXfKGcQgxUw5pBik2jnJmHISQ2ohZE5aiTmlEkqMPdhcYw0CAAAQBAAEmAACAwQFoxAECGMAAIIQmSESCqtggUEZNDjMA4AHiAiJACAxQdHqwgXoYgAX6MJdDghBEARBEBYNQAES4MAJbvCEN3iCGziBjqKkDgQAAAAAwAIAPgAAEAogIqKZq7C4wMjQ2ODo8PgAEQAAAAAAUgD4AABAQoCIiGauwuICI0Njg6PD4wMkAAAQQAAAAAAABBCAgIAAAAAAAEAAAACAgE9nZ1MAAIDdAAAAAAAApw+lcgIAAACV9yWoHjQysY+Ek4yCgHp6dXdybW1raW1sZ6u8vcm+qcaquhTXJ5n3yD7JfJcoKpUiAFQAsGatCE1MUCR6lc2mads0TdO0Zb9y8/+7nd3i31z/kyqlAwEk2/vumEv3vjvmPtWiXo2EAJERQBHrUpyBayq/XGv77O+uXXGr38maqbOXyi8d3m0DA7o67vRq8cVNUbnsuVB9M8lqyVdyTW8W3VyIymHvFds/E6zm+5uYLgFgwyx4iISHILnfFBYShOVW0SbhCBM2ABAAANEekmIqSBdVEVQNCgCAKGoMnYIKAABA3iiigDI6PRVllbpWGVcUUVE1KqsrewpZL8ukUZlGpEGABCALdYmaopgBgGhk3zEAshoAgGYCAIBWs1TgSaAf3zjB2R/g5gTFRQmK9gkcXAQ3k4NiMmDEBT5KtuD7LzYxdyXY/jnUVvpfR6nZgu8fH6JPWvT9cyQ38K7h9aeU9QCAu4dYeAiSOxECICQgDMsdLY+wnDABAwAAAFBRcQAAAADKNQoAAADYqQGoCAAAACAjy2ohhDSVI5sNGlCBLPorAAAQK1QXgST3AgB6BgAol9EDngC+5EURlBB8SkCTIRwBmKFEQ+AC/jm26LsRNzFro9r+OZLTK9qMlgP5MvEiJqDWHo6+iUVOw+vhtoCHLLi7ewism5CAMGxEbyNsAgAMAAAAQEbGrQAAAICPFygAAAAAAEYUoFheFB1S+7pUBQpUF70BAGorAACQOV8OAGDFsgDgKQEAsZwejGAOSiAhQZopAGQJkhZgIDEA3ikO6MeGTVwBaq/fqOaCHziOUHJAXzYe4tDwex9R/T3ouTS3vyIalwDwkAF3d1u1CRAWEILG1grtCJsAAAMAAABw3i0GAAAAahUBAMhbCgAAAIhoyHi/RESKvhVlpAwAsbQuEQBA9F6xCABAJkcKAKgniteVANBTAEDkwDMAAJANAAZToNiggOLtBqYCtxoBFhcNvhnO5MuCC5ujkD1+am2msTCf48LcW3BhcxSy108tl9LUqbkezgJ3dw9BcLcxAMICQtCQW6G3ETYAAAAAAACAR9oAAAAAAIAXKsDaLgAAAAAaOSK1ICKJXq2jgEBUWXEJALKyziIBAOgbBQAgstjr20kAUAIAFtngGQCAXwKzFOCpAMoIkAUAS4IgwAX+GW7ow4wmpgjO9VPJmQfOzei4oE+zm6gV+l4/1XZuknuy+VfGTADg7u7u7iYkIAQNDblCO8IGAAAAAAAAkru7AwAAALJCEMMUIGv6CwBQpaYSAKCi7gQA5MLBAQCwWn0JAADZCACwUwDAU5QnAABEGwCckhI2Kiii3knwpASdLrAAvhnuzIcFmT2qiTZ+ltJDlhmd48Z+WpXYHE2nDav/Qg8Isz/cDrh7iIG7rdoECAkIQUMuj3CEAQAAAAAAAGjGwioAAACA+DYRAJhUFQAAANA2k2q+3OQS+lUDAIBakQAADzkCAFAPpCsAgG8FACwD9QQAeBJALRWIIggTYMhQXQBeGe7S24IgriiUrZ9IeuiruRx3+WVmElcUOtew8jz1lOx/KRsEADwkwd2dxicsJAS5txHyCAAAAAAAAACwvpoBAACg5NkAAABaV5k0BI8AaooqAADLDk4AQKoVAIDl+gcAENUJAKCrBQAg84gScAEAGZSJAIk3wLYKGR4JHoybGYK4gvGxhpV/brRbUymujYeZTVzK5FrDynFbHk1/KRokADwkwEMs3FmkAAgJCkFuuUQ4AgAAAAAAAAAsXtEAAAAQvFAAAABAEVEAWLcCAAAAB7sDAEU/CZhEwzerCwAA7QAA4PoDXQJuAoxCEOYABR2gJ6ACngke2JfNSTyiY60jKv/sqppO8ci+bA7i0knvccTIP7sKejh94CEJ7jS2LyEBIVhDLhEOAAAAAAAAAAB1DYwCAACgYiwAAJi+9hIWUEsNAAJ5pgAAkS4BAKqXOQEAZB4LAHYCALhWpgCSNgD4hjJMSFBWBk0CHgke5IcZRVwx1XsMo29xTaBSPBoPM5OYdar3Gkbf4prA9u8AANw9xIDGnaiAkBC8tYp2AAAAAAAAAABQAgAAREEAAGhkWyFIqWcSAQAAABBZRx8AAOQJAECfbmCsqEgAoEsAiBwAALgqGYBMAehjAvgDZIQAWQX++O3Gy8zAXiHVcw2H37dmMBnuxsvsLF7K9XMMl94bNwL2h9sBd3fb7SUgJAjLraIdAAAAAAAAAAA60YoKAAAAuhoCLhexvE4AgL6VvQAAIpsCAKTZAAC4yqwCAJQAkJsUAIBH6ALeAWTmgIcAJSQVDBl++V2lmw1JvJQ47nXE0JlPCiLDo+dmZhAvzLHXsPQOAh0ofykbBAA8ZMDdditKAQHIDYW2AQAAAAAAAACwEjAAAABoxCIAALT5IQcgizozAQDNqQCAHGmh9TcDAFzgmQP46gIwgv0AVFBElsEA3vgdjIcZQUxazOca8t1cG4gED8bNrMAmJaZzDe3NwsoH/S9FgwSAu7vt3QUhAciNnYYBAAAAAAAAADC7cwMAAICGhwKZhaivqwQAKuruAQDI5gwAgLJPBAAg4woAAEROAPCmAFwQzQIggxICFR7pneSblUk8tJjONYz8Cy0VUwme5JtVSVzK9HsNI2+h6QI9nD5wd3d3JwwhIWjYO20AAAAAAAAAAKCukVwBAABtN2Eh+6kFAFC1ugAAqMkAAFATuSIJAADNBgAAmQU8AIALMtoMACooIkkAXumd2ZtNSXRt4nMfwf0LDReIBI/mzRJJdI16ryH3FhouIP8rs1EAcHe33apDSAg25LQNAAAAAAAAAIClbg4AAEB8QahjKQAgs66RAICcmTwAQJIpwLcZAABw1QAAIGfQYKE/AVQkJdAAPuldpJvVTXQt+nMcYW8KL3gET+bV7CZeiHqv4fCajhHQ/3KWBQA8JMHd3VaUAkKwvdMGAAAAAAAAAADsywcAAADFCwEAAFDxaBQQLlCdlQAAPXVHAACyAlr/AAAJfCsAIAd6sECFbAKAABkhA97YHY2bJZK4tInPMYy8BYfvAiK/k3GzZBKTNvFeQ9tbSPhOQP5XZOMCAO7u7rYXhYRgeIcNAAAAAAAAAACyG6sBAABszgMi69IBAETWIQAA+iMDAJDJAgBYlQUAbgLQDAAAVqICAzIFQAJVAN7YnYyHpYN4BSWeY1h6E6U8wON3NB7mDuITlHiuYelMlO8C5H8paiUA3G3v7oQpJATYO2wAAAAAAAAAACB2mwAAADADYkV9AQCy2QQAoKJWBgAgq6kBAFwAZAAAkBu4IEO2AAiQJAA+aJ2Ym7myeHXluNeVLMyHZNoKhdjOvM09qkfEvMeVDM0TS0fh+ZdawxIAHtICdw9h8BBYLyEhIWjY+2iMhuCYBGzbBgwAgHNbFAAAgGI7AgIAAAAIXng4BQAAAMiYikIWPWoqBGA6AAFZXRUAAHDx4hoAgOYCALCaKQCAyKaoNgDQEmT0WgKABAA6AMACAD3DIQUAABgAC3QA4AWAA8ACYKFComnAIsjgMgA+WJ3Jw9pVPaI23+MqlmoafS2VQutEntbp6grBdY4rq4wJ8jVV7v8OAMBfCNMAbB/C4E6kAAgJCUEu9xGcERyOIGnaIE3aBiBLAADkXyQDAAAAgjjdEfBaBAAAAESqjKImkiZjHtmMyq0CAAAAAIDrlysAANSxUEKDDAAAOZoCAGhuhi0BPAk0TqQrAYAMAABwFr0DLsUAAKBmARwAWDDQgQMAAFiABAwAAAdgDwAykDBoBAgkMmSLCwwXA75XHeWHebp6RO1zj2HtvInJNBX6qqN8M3cXr6i97jUcW29BME2F598BAHjIgLuHMMndJyQkBLmG7zVmODMaOmmStG2TAJQCAAAdm6sAAAAoCCqqAIA+YyTFCEATyg46AAAAAABUV5cAAKizVxEAgOpxnQAA8hkAAJKVBQAQMydbAsA2ANCQQx8BIAEAqwN0KAAsDBAArsMBGBkA6AAYgAMAAGDRAQAYAAAWdHQAABlCUMFAwiCR4EJYwJJZAB5YndHDWqu6tPI6x5VVxhLSaSnsVQfpZupZfZT2OMfpgC0hfC2F83cAAB6y4CEG/gIQVfAQWCIlQEhICFsN3wvOCAqO4NAmTZqmbQKyAgAAJXNSUQAAAMTppUsAAAAA/aoAAABAtgmqRgEAAACNXlYWRiEB0GXKNJRIAAAAAOCHXAUAcHIGAIAjB5rdAADUBIAuRKevBFAAACbDAHQAHPoCNMsBACwAFIAzOAAAgIUDAADgBmAA6ACA1GDhwiAjIzDIYLFIQCVDBt5XncjDUqt6gesc9ssXkr6mwl91Yh7WntWPaY9zhAKFmfA1Cvtfag1KAHjIgIdY+AtAVsFDYNyEBIShoeFdcDRGUFBwTNsmaZImAJM7CgAAAATn2ioAAACoZ3UoAAAAYB8HAAAApBRA7lyMXAglFgAQOetSPQAAJCsLAL5TAIC+UrsJAIDeHAAams0AoAwA0gsAnQAzdABoKA7dGgDMAtBxAPRlAHAs0FkAADqABQCIgYEKrAxUXCyDAYFEBQv+Z52ZqyV28XDl2Mt++RLIaCn8WRfpYqlZfDK6zmW/MFXKCvpfajNKALi7u7u7CQsKQa4h3wVnZjRswCZp26QJwP3LMgAAAJVVaykpLGTPpSQA0N8VlgMA1Fm7IgEAh1zsJAAg0x9VAwBAXwAAmo8AAJhnBacEgLQLAHwRMgVAAQB0MXAAAAAGpmoBABwAAFjQ4QwAgAOABQAcMJDAUEGgBQQkARW0ARUSvlcdmYd5ruqltXmN0yE7APG1FPaqjX2b11V9lNLXOB2ybyc0BfrfAQC4e4iBh7C425gAISEhyOUamzMzgjMaumnbJknbAGQJAAAQ36UCAACAIi4PAda0CgAAANCuqAyJQbCt4lYBAAAAADTquDQBAADL+i4CAGSwzAYAgF4DACAiS5QAagkAyLNAdgPAHwAcAACmiQMWAAAL1jR6B8ABADDAAgoDABgdAIAFOAsAGAAAOizQAeAAQEJVoaIiIHAlNGgIVGQkHmgdyMPSV/FQil7roLHyJi0TI9A6sA9L7+JDEM910Gh7ExdB/0ujvQIAD+mDu4cguNMKCQhBvrUawZnR0KBB0yZJ0wYA3u0DAABAlMwcBQAAAKDtNQKAhmmCjHCBuqobAACzPzIAgG32XQIAIDsCAPQMAJiLXGoJAHILwISdAKwGdADg2AAAGYADgGEADAB0AMDGAAcAcFgADrBoJCoNSIELhgWkAQsyiwX+Zx2Zm3mu4qEVvdfpgP2SijrAn3WUbua1i5fSwrmG49kvQKhFmb8DAPCQAQ+x8BAEdyILCQpBQ2NGcGZGwzRpgiRtGgAoAABgHQUBAABADaoAAACAYxIVACxSYAMBYFE6st0EAAAAAAB6VgiAX3+LAABIV2wAAHkWAMCQm3KNJgAAqhWABUDAAQDS2wAGlyYAAIwUAAYAFuAMHQADAAAABhh0ADAAAAcAHQCChgYDBppA5WJAIoAgWQBPZ2dTAACAjQEAAAAAAKcPpXIDAAAAhD6vQxbEyralxr2ww6nBtry/ucevyK6+qsLE3ldd0NXiXb2UmdY4XbA3qVCb01edmZvFq/rg+jlOB+wtSNSm6H+pnSsB4CELHqIFD2Fw9wkJCWGroXFmZgTFMzRp27RNGoCxtAEAAEAq5UYBAAAQt7oFAAAA0JZTAIhIWyh1wgKAurslAEB1reUAAMYKAADzZAEAsDLYmQIAoMQAA8BKR5cJDkxQD8cBWIDDAFDHAWAxA/3A4JiChQF0AB0LGGBYADgLQMACAIAOAAsABwAAGFBxcRHACmgwVGRgETQEaL5XXZirOVf1igjnOF26pTbTwfRVZ+Zm6V09ohLOcVo5S0tfF2L/K2sNSwB4SAceooOHMMmd2gQICglh6zkzMxojODpNmiRt2gCSG0oGAABArQMEAAAAcSUuAQAAADp8J0AvrQAAAIDI1QghbGxbALC0XxEAgBZaKQAAVw0AAHLAik4AcAPoAAEABuzM2QAgBQOgG0AHYJkCwOjBogAO6LM6AMABHWABsHSAA8ACACwAdMAAHAAASwcADACgkcBlGdCgMiAEkAI0LhoeaJ3QzZJ3cVSj1rqi8lnZ+CowgdaBeVj6Kq5q1F5XVJq3PDKp6H8HAOAhB3iIhYcgubsJCglh1/AZjZkZkyZpmyRNAJAlAACR6AEAAABoEkUBACAAoCgAk0alFGwH0vSilQgAAAAAAKwQAIBmey8DAJBvAADSTAAAsCwyAAAqMNUB6OKMbAGAOgCgAwCAVcACRoEJAIADYAEAADgAQAcMAAwAAA4ABosKBmQBwQXJAkswgCvgAv5n3ZmTmbuYg+lrnZauB5FezJ91k85mr+II6GOdlm4NgWTRXxrtFQB4SIK7hyDZilJICHINz4hnZmybpEmbJgAgtKsCAACAYlsAAAAAgGduKqBrjG0u0B9RAwCAFdcK7xVrAgBIACIHAAByE54AgLkFoDIaDQAgOgAAOgCALEgWegeAAhwAAAvgAIAFAAAG0AEA0IEBABIuZAYJBrgJDBckJBgGEt5XXdDVUqe6JiFjnA6/X4GFPH3Vjb1YalaPDrXH6cCtPBl59L8DAPCQAA8x8BAWdx+FhKAxcwRnZgRHQ8M0SZK2aQNUAAAQslMAAACAOIMIAAAAkVANAKJapZEQm5AJ+0bBBAAAAAAA+ukEAMCyzooAgFsEkCNTAACxXFKPAABACwAAOgBgqgBAB6JZANwqAABgNgAHK9AdYFnIAgALADoAAAuADgAAABaAQQcAHVgAAAsd6AAFDFQWkGhoGCRwkUi4BjIwAN5XXcnV3Hd1TdBtXNHSLTV9BeirzszNPHd1degxrmjkLLV8BTh/qdVKAHhIHzzEwt2d2gQICgnBYh+NmZkRHJKkTZM0CcD2jQAAAKASU0QAAABw594KAJMUBQAAAGbDyLkoYAhAANTZHwUAQFEzAQAGWgAAXLsUAECTVbrDMcA4AOiPdgUA2ADAAOgAwMg6AECnWwBwwGKAAwAMAACAdQAAOgCwAMBZAGABAIADsCyQYWSw0CS4IC0gZ+AiAP5n3Zizua7i6kos63Tg3qJhshi0bszF0lfxiEpd68oGbkHp6xI8/1JpWALAQ1rg7iEI7i4KCcEac2ZGYwRJ2zRJk7YBwPm5OQAAAELi9goBAAAAoLEIALoh+giSGAogQHXfEgAATS0AANl9DQBYASByFgBANEsPwFYAACALHAAMyRUAUMABLAAAwAFwQ6dbAAByAIABAMA4MAAAwAEAA8B1YaCSQIIkg2uBxGDAMIABvlc9MYc5d3V1bSrjdPgsKJVU+qoLuVrmqh4VdY3T8nkDS+kQzt8BAHjIgruHILjTCgoLYTQ0jsbMCGqMoGmbpGmSBiBLAACkmgwUAAAAAG8SASAsLXLGAgZVAFZaU5leBAAAAACM69INAACWXhwAgOyKCQCAlgUAkDUSAGDKoEIHAABYQNoFHAD0BE7OtQ0AARigA7DQAQtgMHBQA3wABwewYADQAdCBARgA4AwAQAcAANAtrACyRYbgAgONhCBAttAA/mfdyMU8TzFVpfo4LZ9HQldj0LqTs3Xu4hG1qayDxrNHTEdw/tKwVQDAQwZo3G0vQSEhaFjjaMzMDE2SoEmbMADIeKUAAAAANitHAACARuQuAJwAFKAHAKDWsgQAyLEoAMBqZAEApA0AQDYNAAAjlmhmDgD2CQCowZA5AMACwOIAALM4AAcADgCwAAALAAAHQAcAGAAWALA6AIBKZqFCRaCSwGC4YGiQAL5X3dHZVHd1dTH7OC3NixDF+Ktu6GLpU11VOca4gsK8EFEI/e8AADzkANuHMLhTmwBBIQGMXOMIzszMaGiQtknaNA2AEQAAUtIiCgAAABQmRQGmVAAAAIBoC0qexKpoT0cCAAAAAEiTDAAAFvsMAIAO1wQA4GodAPCRZwAAAJgOTwIArgYnchYAuAMACzoAMIDrsADoAABgAQYAAOhgAXAAdMBiAAAAHABwAAAGDAA6OAAlo0JDhUQQwEpAlSGQZQD+Vz2hk3me6ojK4ePKhu5NbqaDCKzu4GLpp7qCMvu4soV6g5KJof+lQaUEgLu7u7ubkJAA5DNnZmYER4MmadImbQOQ3LIAAADAVKsAHRap35cmAECO65QAgP7WlAAALhUAANcXlgEAaBYAgF4DAJ98KwBUawAAgA4ADOgAgNwEAKgOAAAYcAAAy9KhA0AHDACAbgEAlsMAAABwAAsADoBlAQAAgA6LAwzQsCBroBEqUGUIBMICFr5XPcDJVB/1UMok43S5LaidVPaqJ+Ywx109RJl92B9aQDAp6H9lZaYEgLu7hyDZigoKCWBmzszMaAiOTdsmSZIEkLzmHAAAAACAQ1AAoq0ZUDlbaPtfQQIA1VkVAACZHGBdcnEAAGj2AACITAHgI82GAQBwAICqYQAAdAAHCjpgAcYiCwAkAAsHDkCHDgsAB4CzABwsAAsAg4MCAMACBgBABwB7ABwAGAAcACwAjYwBiYYEQwIVg8SC4YIMvlc9ocNUb3W4Uhn2hxaTRoy96ooupnqryxXtw37550QJxH8HAODuIQYegmQrspCAkODMqJkRnBnBIU3btmkSAGQJAACQWhEAAADA5lIB0woTBVDSFNGGCAAAAABxuqQAAIDr+QB4VigBACxfCADwHADAagpwADwDAAAOGOCaAAewAAZAdQAcsA8ACwo6gAEYLAAAncUC0IEBOACAAQAHAA4AxgAcAAAAGB0ASwcAsADggmDBRYOkMnARyMC1oALeVz3w2dQ/dQiCDBuN90YXE6OvuoOzqX7qMgSGDcabDF+C/tKwVQGAhyy4u9suYQEBQY2ZmRmNGY3Rbdo0bdsAIP2qAgAAAGTkKACA2UxygZqlVQAAVlgaAACRswCA3syZAQAw+wAAzxzAFABgNQNYAKSaRgcALBzgGDUA4DDkCYDVBQA4ugEAYAAWcNABAKBbAAA4AOAWABg6AADAAcAAADqwABgAADqwOgAMFSwkMjILAi6NhUCGDL5XvaDdVG81BU3LOK2MCh26gL3qRs7meqsDkOO0YAsKJ4b47wAA3D3Ewt2dyEJCQoIaMzMzIzgjqJs0adqkAYAKAACAtoxVABC1BVgAmeBryQQAAAAA2amLAACwvMoIACAuSoBf/zEAAOQzEwCA63sCAMidAHSwNAuAA0iqLwAOAAA7lz3QuwPAMwAHegHgsDoAAKYHQEcHB8cCAODgYBgYHYDhBgAAdGBYAACADhwAAAAsAMB06ACQyVDBwnXhQpKpIHFBZgDeZ72i1Siu4kAzW6cFmQyhQ+mzXpjNVFfxUJXbGq61hRTRVZm/1ColADxkwd3dVl1IUEhjNDRmRlBDcGiDJE3bJgFAvCsKAAAA5KagAABgKACmAAgYqvS3HAAAWWsIAMDKBsCTuQIAsGIWAAyaFQAAsgfgAGgWAAsHAACNBR0AtgNawELHBjoMOgsHFgAAgAEGHQAAi24A0AGLDgDAgg4AFi4WBGQNGYgBNDRcEgkB3le9gt08bzUFTck4rZ6hsHRl+qoruprXXx0abuN0eCy1nV6O/ldWZkoAeEgH7u62wkJCQpiZmZkZwRkNm6RNmrYBmH/1DAAAANalCAAAMCaWpVpATd0VAAAV/ZcBAEiy9aQJACBZAgDQawEAwGpwzSYAsIADGMh14AAfgNPpQM0cDEa3YHr1zwJgiqUDOmAYoLPoB7iFcUDQYZneATAADAAA4wBgLACAA8AAAKsDOAAAwAAOAFgAwAGgoYGhYkCDYFjQIEHlMgDeZ72i1Sg/YooIsk5Dt9I4Uumznpjd1B8xRyhZp6Wr0qMX098BAHjIAR5iYbu9hIQEcDRmZgRHUMMEadg2TQMAZAkAQCTpBAAAAFSDKADIc0mu1KJ8GyIAAAAAADlmCgAgBwBAr9JrAAAsAQCITAHgs90rAIBlDwCLDY4OL8AOONC7DmwM0EHBAgB0AADH0gEAwHCAWwAcAMAAAJYOAABgadBoqAygDZBYoHGhGgC+V72AzZQfdXQhMk6HbkWhFKCvekInc73VFYXbOB34KwqlgjJ/aThRAMBDEtzdbUUKgKCQgMZ2ZmZGYzRGkKRtk7ZNABDrSQAAAFBVBwAAzEQAAAAAsSIgrAIooA41AAALdWYCANKrgDfaFQDAlmkKAC+AA4heAYAOrgawDgDsAPTOAEwHC2ktANjsAGDpYwEHCwCDAQPgoANYwHUMADA4ADgAYAEAALoFACwAwEEHC5BBQlDJDKAhaFwCWIEG/me9odWUbzFVBVmnhVtpKgX4s96Y1RRP0SO0rdPw20gsFYD+dwAAHhLgIQbutheFBaAhnpmZEdSwAdumTdMAAAoAAAICAAAAiLUiAAACwdKJjNsddgAAAAAAsk4JAMjMAgBkRk4A4AaAWJ4A8DeagA7cdDkA0B0AdMCaDqB9dBxgAQYABgDsAQBYwHA6AAAcYAEAAAfAABYdAACAZRkQaMgMICNUDJBRJQC+V73CzVRvNc1KYJyG31LzyGKveqCTaT7qmBQl458BrqR8BRD/pUGlCgAPSXB3txUhAYLCQoIzMxozMxoaGqRpmqRNEoDwpwAAAKDByywAAJgWBQAAQC5bACBATZ29EgBQU1kkAKArgBYAAOPlkQAAdQ3AAUiTPgAAgAFuprP6coDj8KEDDF4dAAMaA3RgDoAbOjDEATicAQ6AwxhwAMAMDADQAQADAAsOAIAFHYAFzgGAHaDhQka2ULEIJGggNZBoAJ5XvYLVKD5q6kpgnEbOQsKXZ696Rrup3qpXIOMKYs5C0lcA/e8AADykBe7u7m4UEsLMzMxozIwgSdM0TdoEIEoAAKLVIgAAQLQCSJalbCQKRQAAAAAgl/V7sQUA9FNfDwCQNQAArp8tAwBWBZCzAQAgIouUDgCHA5h0OA0AAND7OAcLAcA5YDWfFv0AHYAO4Oi2A2DBgsXRgQU46I7hAAwAgFsAAAOAAwAADgCwABwAADDAcgCZDAOVBE0DDRWBSzBwkQFPZ2dTAATA8AEAAAAAAKcPpXIEAAAApBmHCw20x7WvwqnCtsiutby0/md9gMVcHzFNWmSdhs9KwijAn/WCNnP/xFy1yDoNv6Wmk4X+V1YbLQDgIQvu7rZaQSEhzMzMCM5okCRt26RJAkDzXnYAAADgu71CAQCAaAMqF4j+5gAAKGtFAACS1QIAcv3nAACgDQBAuhoAANpcBAAG0FkAqD4M+gAHfADAZkA/x2Gh0tABBwcLANABMAOgAwAALLAA0AE6AABYAIDhAAB0AEBboAmwoCJRGahQkVVQIXMB3ld9wtWo3mqalMi4osp5CwMVoK96Q5upnmqqSpVxRTXrniBlof+lXikA4CEDtg9BsL0EhAVmZs7MCGqMoKAGSZO0bdIAzJcqAAAAYEkhAAAAAEhFAFClUQtMukDOsQoAgGw+AAAyH1cAgC0BYPYvAPCJDgAAsMAjAjoAwAGgCRh8zAFgAVYf0LnrAMa5OnM7AFvQdQswAKPgAAAAywKgAwAcYBdwDgAGOgAG0AEAAAvQWTAAOoA5CLioGKCy4OKyVCAYGhoSAP5nvYHV1D/Ru1JZp6V7AaJU/qwXsJn6J6aKzjotnzcAmFT0vwMA8JAF27utMIUEZ2ZGnxmNoUHapGnbBAAKAAD4mQEFAABMJUBFJrLJLAAAAAAAkqsAAKiyLAMAEDlZLgHABSC5VgAAmi0AsAA6ABIcYGHpLBYgvd2PDhgWLMB1VgEAdE6vBgDoN2AAAwA0BwDQwQCwAIADAEAHAMAAdBYAAB1gAYALNZCB4EKWCVAhBrC4EgDeZ32AxajeYurorGG96wJfKn3WM9qM+ifmKibWsPa/kJgE85fGogoAd9u7uyUoJCQ4MzOCI6gxJAmSJEmbBsC7AwAAADC0gQUBCNReMQEAXJYFAKgVJQBALAMA8FxfAwBQLQAAMgoAQG4BdAB57ICDAwB0OiMFAMUBc7CADtABQKO5AKB3ODpwsADoBgAAfeEAAAAWWAB0ADgsABjgAECQgTvAhevChRxoGMBgkGgA3ld90cVUTxUn5WCc2n3VsKTQV33C1VRPNVflYJyOrEo4EsxfWTSaAHC3vdtqhYSENGZmZmY0NGZomiRpk4SBUo9lAAAAQBYAAI5GHSuSAEDmkgUA6G9lCQCQzSYAgLRqlQAAZAAASLIFACALcAtAsjgMcABABw3QGQCznWOAw8IsdPrRLc10QAcO7HSA0zvAAjhAB7sAADoGHQDAcQAABww6AABg+gCAAwAL6AAAAOwBAFzQUFVYcC+4kCWocBOQcQHeZ33i2Sg/oiptYp1ay4JTSBBofdLFFG8xo12sUKR8Mp8Y+l+qMxcAcHd3txUVEBLSmJmjoaEhKAibME3apGkAcJqcAgAAYFcVgIum9jIDABB1CADAQu05AQCZglVTAgC6AABZBwBALg4AoBUf57DAAYCDnfTrgQU6i+44cHqBAYA5yT3sOQCndzpAAGBAB6wOMwccDDgADNABKokKy8ACAtWAQSBBgxoAnlc9091w/mqWQDHsD31dlCCv+gCLUdzV4UFl2B+ayCOB/pd6rQCAu7u7u0tIUEhwZmZmZmYEbdskSdMkAPO3LwAAANhiAFzk4Sc1AYCa2QsAIFccAEDWDQBgmc0xAQBWzAIAaDbTAQBHFqAPAI0wug5AAToGeJ7p4A4HMKBDhw7A0oEmgI7RzwF9Ac6BroMFfcACHdB1ALDAcToYAAA4gAXAAAA4AAAALOAAOAAALAA6sACahAuuBeQFkgbBBYGBQAbeZ33gxXB+okoQGPatS1ElQZ/1Bhaj+ohqSmTZj54NI4bg3wEAuLvbbrVCAkIaMzMjODMaJmmaNE3SAEABAKAsAEn6SCwFAAAAAFDfvwEAZNSZLQBg5cqYAIDFSgAAWwsAgFgWAHwrABhyNwcsgFbAcAAH6zhAmrUO5kV3C3sAlpMO+gC8OBnAgbN0gA7ABwCAQTcAAAAdAAsAOgBYABYAAB0AtwBAIIGLpKFRwUKFxWCAZaAiAL5XfcPJKN+qKq0zTkO2wDRi7FVvcDWqn+pKiYxTc5tKX4z5SyPzKgDc3d1tLyGh0ZiZGY2ZmdEgbZsmDdIA8LYAAACAYgAAgBaiZ8UlAFC9rCoAQE1FBQDANSkAwLW4DgDASgAAZsYGgAMAYDUL8AKweRjcAQ6K3Q5wZstC7wDdpx8sAKFD30PvN3SnphsAJwAzFr0vADjo+u1xsJgDAMNxAOAA4AAADAYAAFgOwAAAOAAdAABgAYCOgQtpAQNXRqbiggoJjUYAPmj9EJOp7qLqANaVmMvCkkkwaH3yxVwfEakU60qsZaGjxBD8OwAADxlwd7cVFhAUGDUzIziCGoKCNmzbtknSAEAJAABFEQAAWABYRkiWigAAAADAsLhiowAA5CWHAABc5dhWMAGA7xQAHo06AHYCgAGADpAFADh0BiALAM4uAGDpAnCWA/QDAwALAOC2LwBAPwAGWADQOwAsDA7ADQAwYDCQQGOQIYFcgcxCVaEB3md94cmw3qJrTVin5VV0SPBnfeHZqN8i6shYpzZl8aFJRfAv9XoBAA9ZcHe3VRcSFJyZmRkNQQ0N04ZJkqRJAHC7ZAUAAADfZVAAAGABCmRlnUUCAIr+EwBATgBfGQAAy4cAADqNZi0AONJsAgDoAAvYagD0DrZbQAXMbOvQAXa2w2AOgL7oWADdSAeAAwsAiwNYdI4NAGABhg4dbgCAAwwA6CwAMCCxcBGQISRooJEFkAICFt5nvcejYdzF5wKsn7HcjyQS9FlfcDLMp/gcimL9jMc9FJOCbMPbAu7u7raiQkKCGhqjz8wIzpgGYNI2SQCA2lSXAKCqqsrLyieZTI5MEsy2i2x5fyDIrLosAgARUUfVqgkAqFaZLQCQSVK4tdIEADQXAGBzPQwA6Ko0sB0AVLPhGHQd6LtzdODoAPABMwsGMB0AMAVAd0AHgAEAHAAADDgAAAwAALwAwAFgAQDgABYAMJAIZCwJGsgNF1gyXjf9w+VPz2KeAGvIZ+oc6qZ/2PypWRwTYA35TH0F0bdHAJvPMyMoSA0NDQ0IAgAAAAAAAAAAIAlON44sl9uV4bBSI/dzpOjp1btX74qyyKHTN9LcbCabpEEskjRJE72WM0ebpEmapDESez4VZZFZUdN/5RBlUUYGVCqVhUYjTSrJZlKjqVQA/TpgKpXaVrNRsLMDANehUilppwBgpwAAKkWlDqbv+UoHAFPpAAAcAAAWMAAA', + Gb5: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAACQs6ByAAAAAABjGQwBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAAkLOgcgEAAACCdOQlDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + Gb6: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAAD2eKtyAAAAAMC79yABHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAA9nircgEAAACwNHSiDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHG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', + Gb7: 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAADU4adyAAAAAD+4nokBHgF2b3JiaXMAAAAAAkSsAAAA+gAAf7sAAAB9AADJAU9nZ1MAAAAAAAAAAAAA1OGncgEAAACWqmHIDz3/////////////////fQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAAAAAAEFdm9yYmlzIUJDVgEAAAEAFGNWKWaZUpJbihlzmDFnGWPUWoolhBRCKKVzVlurKbWaWsq5xZxzzpViUilFmVJQW4oZY1IpBhlTEltpIYQUQgehcxJbaa2l2FpqObacc62VUk4ppBhTiEromFJMKaQYU4pK6Jxz0DnmnFOMSgg1lVpTyTGFlFtLKXROQgephM5SS7F0kEoHJXRQOms5lRJTKZ1jVkJquaUcU8qtpphzjIHQkFUAAAEAwEAQGrIKAFAAABCGoSiKAoSGrAIAMgAABOAojuIokiI5kmM5FhAasgoAAAIAEAAAwHAUSZEUy9EcTdIszdI8U5ZlWZZlWZZlWZZd13VdIDRkFQAAAQBAKAcZxRgQhJSyEggNWQUAIAAAAIIowxADQkNWAQAAAQAIUR4h5qGj3nvvEXIeIeYdg9577yG0XjnqoaTee++99x5777n33nvvkWFeIeehk9577xFiHBnFmXLee+8hpJwx6J2D3nvvvfeec+451957752j3kHpqdTee++Vk14x6Z2jXnvvJdUeQuqlpN5777333nvvvffee++9955777333nvvrefeau+9995777333nvvvffee++9995777333nvvgdCQVQAAEAAAYRg2iHHHpPfae2GYJ4Zp56T3nnvlqGcMegqx9557773X3nvvvffeeyA0ZBUAAAgAACGEEFJIIYUUUkghhhhiyCGHHIIIKqmkoooqqqiiiiqqLKOMMsook4wyyiyjjjrqqMPOQgoppNJKC620VFtvLdUehBBCCCGEEEIIIYQQvvceCA1ZBQCAAAAwxhhjjEEIIYQQQkgppZRiiimmmAJCQ1YBAIAAAAIAAAAsSZM0R3M8x3M8x1M8R3RER3RER5RESbRETfREUTRFVbRF3dRN3dRNXdVN27VVW7ZlXdddXddlXdZlXdd1Xdd1Xdd1Xdd1XbeB0JBVAAAIAABhkEEGGYQQQkghhZRSijHGGHPOOSA0ZBUAAAgAIAAAAEBxFEdxHMmRJMmyLM3yLM8SNVMzNVNzNVdzRVd1Tdd0Vdd1Tdd0TVd0Vdd1XVd1Vdd1Xdd1Xdc0Xdd1XdN1Xdd1Xdd1Xdd1XRcIDVkFAEgAAOg4juM4juM4juM4jiQBoSGrAAAZAAABACiK4jiO4ziSJEmWpVma5VmiJmqiqIqu6QKhIasAAEAAAAEAAAAAACiWoimapGmaplmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmmapmkaEBqyCgCQAABQcRzHcRzHkRzJkRxHAkJDVgEAMgAAAgBQDEdxHEeSLMmSNMuyNE3zRFF0TdU0XdMEQkNWAQCAAAACAAAAAABQLEmTNE3TNEmTNEmTNE3TNEfTNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TNE3TLMuyLMuyLCA0ZCUAEAUAACmrrfZgHIEok1ZzaBBlEnPRFUPKUewpUggpiLlFTCEFrbaKOcWgxdo5hpCT1kPolGIQAqEhKwSA0AwAgyMBkqYBkqYBAAAAAAAAgOR5gCeKgOaJAAAAAAAAACB5HqCJHuCJIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkucBnikCnigCAAAAAAAAgGaKgCiagGiaAAAAAAAAAKCJIuCZIiCaJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkucBnigCnmgCAAAAAAAAgCaKgGiagCeaAAAAAAAAAKCJJiCaJiCaIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAHAIAAC6HQkBUBQJwAgMFxLAsAABxJ0jQAAHAkSdMAAMDSNFEEAABN00QRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAMCAAwBAgAlloNCQlQBAFACAQXE0DTiOpgFH0jRgaZ4H8DyAKAJMEaCqAEAAAECBAwBAgA2aEosDFBqyEgCIAgAwOIplaZookiRN8zRRJEma5nmiSNM8z/NME57neaYJURRF04QoiqJpwjRNU1WBaaqqAACAAgcAgAAbNCUWByg0ZCUAEBIAYHAcy/I8UfQ8UTRNVWVZmuZ5oiiKpqmqrsuSNM3zRFEUTVNVXZemaZrniaIomqaqui40zfNE0TRVVVVdF54niqZpmqrquq4LzxNF0zRNVXVd14UoiqJpmqaquq4sA1E0TdNUVdeVZSCKpqmqrivLsgxE0TRV1XVdWZaBaaqqqrquLNs2QFVV1XVl2bYBquq6sizLtg1QVdeVZVm2bYDrurIs27ZtA3BdWbZt2xYAAHDgAAAQYASdZFRZhI0mXHgACg1ZEQBEAQAAxjClmFKGKQkhhdAoJiGkEDIpJaWUSgUhlZJKqSCkklIpGaWUUkspg5BKaaVkEFIpqZQCAMAOHADADiyEQkNWAgB5AACEMQgxxphzEiGlGHPOOYmQUow555xkjDHnnHNOSskYY845J6V0zjnnnJNSOuecc85JKZ1zzjkIpZRSOucchFJKKSGE0EEppZQOOgedAACgAgcAgAAbRTYnGAkqNGQlAJAKAGBwHMvSNE0TRdPUJEnTPM/zTFE1NUnSNM/zPNFUVZ7neaIoiqapqjzP80RRFE1TVbmuKIqmaaqq65JlURRF01RV14Vpmqaquq4rwzRNU1Vd13Vh26qqqq4sy7Bt1VRV15Vl4LquK8uyDWTXdWVZtgUAgCc4AAAV2LA6wknRWGChISsBgAwAAMIYgxRCCCmEEFIIIaSUQkgAAMCAAwBAgAlloNCQlQBAFAAAYIylGGttGKNYa62JI1prrbWWVmuttdYaaae11tpqrLXWWmuspdZaa6211lprrbXWWmstAEB3wgFA98EGTYnFAQoNWQkApAIAAMYo5RyEklKqEGLMOSklpVQhxJhzUlJrrWaMOQgppZZa0JhjEFJqrbWaUuekpNZiajWlzklJrcXYaq6llJJaay3V2EspoaXWYq251lhKSi3FVFuONZVWWosxxppzaym1FFuttQbXUokpxgIAMBscACASbFgd4aRoLLDQkJUAQEgAAGKMUow55xyEEEIolVKKMecchBBCCKVSSjHmnHMQQgihZIwx55yDEEIIIZRSMsaccxBCCCGEUkrnnHMOQgghhFBK6ZxzzkEIIYQQUkmdc845CCGEEEIpJaXOOQchhBBCSCWlFEIIIYQQQggllZRCCCGEEEIIJaWSUgghhBBCCCGkklJKKYQQQgghhJJSSimFUkoIIYSQSkoppRBCCCGEEFJKKaVUSgghhBBCSSmllFIKIYQQQigAAODAAQAgwAg6yaiyCBtNuPAAFBqyEgCIAgBAiHPOSauJUIw5aT1TDDpptXfKGcQgxUw5pBik2jnJmHISQ2ohZE5aiTmlEkqMPdhcYw0CAAAQBAAEmAACAwQFoxAECGMAAIIQmSESCqtggUEZNDjMA4AHiAiJACAxQdHqwgXoYgAX6MJdDghBEARBEBYNQAES4MAJbvCEN3iCGziBjqKkDgQAAAAAwAIAPgAAEAogIqKZq7C4wMjQ2ODo8PgAEQAAAAAAUgD4AABAQoCIiGauwuICI0Njg6PD4wMkAAAQQAAAAAAABBCAgIAAAAAAAEAAAACAgE9nZ1MAAIDdAAAAAAAA1OGncgIAAAD97YUAHj4zsJySiYN4gnRqZmVZWkpLRLq5sKumt73Arci/wKzU19VJC/3YOKSDrGDfvlv3ZWflLStX1nciOsWHDx8mFdVstotqNpvNZrNdN8Hrw6Rr7WrQFf6VQ0jsPhAAzNLXk3jHVhqVT68GyChAJQEQFIDyQBaHOJTeUZ+lCjr/2X6XHu6phkwOjQKDMbwT10cAuthV7dPIF1Ns9jc1zS1miFGhSTFwm5GmZjb5cKPFV5C+/f0MQ1ybm2qWhQEAMBQAAAgaAACAAIAza5hFypKRiLjdBqCzKlZ74vV2bts5RE/U96SMjIyajiILKhWRykiymaJpkols0jSTTbLrRoimCaL5bBBpaFLe040M0oiStPnIuSIu4BfsId9JRQpUnkGaSVFKqrXMRwFKZQtRxiF6RxIJFsZ4T/sTEDiuGZxOpwC+2NXD5x9BLYK5n3h+jIpJZNe250+Sg+gTN+05bt0ta+MG8DxNYgsDGjBJFQwAWQgAAAAEAH1jLK1oCgAAoM8s8s/5iIraVHSj2EW3Xzt/WxUp9awk5eW8Bs0vGot8o1T4IYV2Tva2TUfnUSlUqXZ+ylMUIoDXwfzMPaV+CkAbXBCfbj1LAAB4EAgShgqon/MbgAUViQGASjPqjgS+2G3z6yOb2Bz+wsY0m7U+FrutPf56qMYjhDNSk1mbQfvSdT11CwMASGwCBGDTAAAABAAAqHbxm7/OrazcA7j78MObulltGxef39z7phv/8i5p12k09OfjCVQ0WxoS86EE7QiKdgB40qhfTD+y8sbk0aw4IT821wPgMWgAPnhZkLgIABDRTHSWQAOVKTX9vs8gA96oHebnD4Y5bfIDiOPRrcRuqx+feFE3c/IzWvweG9m1p7cgDAAArbJtgBAAAAAAAIAUD7798mjxBHD5/tIKjdxfuW/L///9wrWsouoj2uDSKL6GRdK1fODp4JlRNp2O9SiIr6TqR9WxMsfFhx7apVBplegHAIAc14oAZAigR30/sBDQuLgIkBsF3tjd9ss/DcGoLT5w961jUTuN1w9dzOmhzcBNdC3Rb2bvQAgAAFJFkwBAAAAAAAAo1NXObW8QAMjsZkScKuPsdVZ45PEzEZKCk0hfpZCiFChRWilSfkCqSEEg2qABTdp+XLRkmz4R6+S0QluIxiLXbwWAgLCaBUiQQYdvfQAZyBoZjAG+2N1P53dYBFZrH7ixkX+GxO68Xz+2CFTPtqI9F26D/hpdT7EwAADEDhAAQAAAAAAAAHzHt7IJiMXIXt1uHvzxcPdlfY+g2gi0I8hTNT3jF0BK5QmkAuQ0KJCipbTGWsbSJnqqb4QN3SzXAl46uAOwAIBmWmU0oBO+2L2d1ncaAqa6LBQVo/KrSexup/MzDYXPLTbw1dQo/jnET11RdBkEAbBoBQAAAAAAAAAAkIp8KwCQoRsRLmfxJVcef0v7UVSpEJGgWqqkXbz3k2nQ2nYxOyhqKbWboKoe/BQc663nttPSe9cAAuD5vxUA2VJQcvMl3XaRuYB41x4Avti9nva3NobN9V64MeWHxe5+ubxtYRDa7oWP5qqmX+hH1ydNCAFg5QAAAAgAAAAAAEC+CDZ6EKJAn/qdVCpE4UsFqq0h1abtc/FEqoAxrEpBfpV8Fd9QRUBqVQOtp6dAYQsARAYA2Qu4mWSx0GjDBc+7AQu+2H0eyzsGAXPeC82+WorE7ul0PKExqG3Pge/PUn5I19PThCAAxKgAAAAAAAAAAADK3SYBaFXa0W54eig9llKlWoXSKvLa5oQxK0VBiq96SE0LncJotPFFCKWAAFJPgAUGC6xEksDmMO0G3tj92odPHAKuznvhzobyILH72ucnFgVz5z1wV6Y80HVd19MhBAAkHQAAAAAAAAAAAIiirS6ogEq0quZoV1UhWiBjjNsSiJLCmpQ0AKXyG46DW7HvV5JKu4TiWQKQBUCW4GoBVtcFvtj93Id3TAJivRcmhGnbJHbvt/GpSUBsnAvtvpqCPrp4LwgCAEkbAAAAAAAAAAAABN/UfAMA6rsUKLQgUJSoVCuhN/laTjyRAgDCJfriOtHC3a7SoSIjfsmzAdD0AJBBJWPg1wO+2P3ch3ckAdIYCzdhw2L3cx/eLgKkMRZuTNPGlYb4WAgATDsAAAAAAAAAAEAxrPrOXPHwD6vcpLHWKFCNv/AMq0IJ4IE2eEJElHgCABLwmHkDICBhMbAiA77Y/WMrb4gCCCzEgsXur62/1QRIoy3EsSE9Db2xMACadAAAAAAAAAAAgHmPAICWNm28b36cg/gGoAoEpUo7ZGWQr7YRj7b6W1BKngAUCBALPwHIkKnAcOFqAL7Y/Wsrb4gCyCzEg8Tuz9qf0QTQ0RZuhqbBabh0CAGATRAAAAAAAAAAANBLlg0sJEhQvoskut2U4MmjEZRoJyAqQFxdABYqLhoAvtj9aytPUAHULNwQFru/tv7WJICOsXATmjbpup1uIQAgAQMAAAAAAAAAAG7MAwBaXylj/UBA8Q2P4cpgVWSSpAVKkkhkoFkAFajI3tj9t5cPuABqBm4Ii90/1vLWJICutnBjmgbbGhplAQCwDQAAAAAAAAAAAGq1zBL3CwCACki1gcKdoD1LN4HAPoCrwgX+Z/1ry2+IAqiwED/0Wb9v7YkmwNobCze0Zs6ZmaMhDA2NmRlBjRkNmiZpmzYJAgD4Xr6HNm0AYAwM05zxNAyMGcu2pjnGmOYw5Z/nmh0Dxn6BZe0OYGFhRMvMudFqMwKwwAC0lFk4C1ATzuILMQePmAMsAHYBoL8ZAAAcgA4DAA4AwDEA4HAA9MOyOugLAFidDgMAAywA6KyBAxYFABYAAAcAHQCwAMB2kMkILNAwMGBZcDE0kOGSYAH+Z/1ryx+IAqhZiB/6rD9bf6II8I6ycDNsmDMzczSEoDGCMyM4Mxo0adImbRMAADCzZtZgLQDTwBjMfMezGcAOU7DGgJm1rLHYmfYCTBvWAmvsjJ0va9vau5ZdCwgAjLHMrJbFwppDfvElPybTjAwAjAF2ASB5zQIAB8AB4ACO4dCB6QBYYME5cMCADp1lAFgcAACLhQ4D7AEOALB0AABgAKADoAMAGAA4ABCwIBkgI6kIMCQQLFgyGf5n/WvLb8gCqFm4IfRZf63tySLA2spC/NbMOTNzLAwNjZmZGQ0NQdogDdMkCQMAjDXWfK1hATAA0/NcDGDtLmIymGMOcz7NuQbAml0wsLMAsFi7yy5GG2YBWBbAlrEBC7urz2kyv455TMwCsCBAO+q3BADgwAKg63AAwIHpOgwDMAsAdA6ABQMswAHAgg7AwLEAsAAAgO0ALIADLAAHLAAdAMuAAYOswiJg0UCTgIEF/mf9a8sfiAKosHBD6LP+rP3pLsDasXATMDMzczSENGZmZkbDGhqmTZqmadIAALDDYjEAAJgZmdbsAgwKdjEwWjDsDDu7MzDsfAMYWMDuzu7YsdgdAACANTM2s7CASTzPCQYLAAAsAKRXGQDAAABgAEAHBgDo0EFHBwDoALAACwDuAACwAANABzgAAABjAQAAwOEDAAaABR3oBsDABfJABe5CggoXgorLQMAC/mf9a8sfiAKosHBDAX3W30t5KgqQVhZuCDMzM8fC8MyMoIbGCGrYBEnDpkkbAMCww+5YBgADhqG9FsbMWApjd3bGtgZmAWN9AWCAAcYYA2atZbADAACYUQMAGMYYnvJzjBnDaANgDTIYylpNA2DBAKADoANGBwAcAADQAZ0BAHAAABYYOgAASwcAVqcD0AEALIAOBgCAWahoQBXQaAwsoJIhkZEFAN5X/bfnN2QFJAbiQV71+9qf7AqshYEbg5mZmWNha8zMzAiOoKCgoE7btG2aNgCA3THLYFkAgBmzrW2xgIXADgPjawxYzBrLADsAYBSYaTFjvjB2BxbL7AAMg9Wyi2WMQT0xYXbpOgAEiIX+FwEsADAHph8AQAdwYA1dHSwAwDodABw4AFgMAB0AANdZWAAAOABAX+AADMAAwAEAiw6AA4ABFgADAMAAgAUuKosGLhnXAhcJBpeMC75X/WvLb8gKCAzEE5BX/bW2J7MCazJwQwEzMzNHQ9gaMzOCM4IaghqCNG2bJkkCAGDN7DdjdwCAAYPWtNZgl91ljdlds8NOy2AAa2bBGsyCAVg7yw5gDHYAAIDZrZm1dHAYYw6emXPM6REAFgNYAFhSOxPgAoBxWHC6mwNwAGxfOOB6p7MAHVgAYHTgdDgcAAwMHIChdwAAcLDoAKADOmDAAuhg0AEAhwE6sEAHACtggYuhgtyAlCFAQ5KhAd5X/bfnN1QF+GMgnoC96u+tvcEV0GDgJmBmZuZoCHtmZmZmRnA0TNMkTdM2AIDZZViMBWDAYtraawZgCDAADGBg7PcA2AEADGCxZgEABgBsWMvsAjCMkX/uHgOMDGNgOYAFgBzXNQAsADAAOAAM0HFRB8At6CAAB3xYWAOmowPA0VGwCwMA6BduwOEAXOegA+i8AHRsB8eBwep0HRwAOGAB6NABAAMAcCwAsADAAQAAGAYqEgtcmoDAhUQCLWMBC/5n/WvLH+gC8MNCHOiz/rHmJ6gAGizcEGZGY2Y0hDRmZkZwZgQ1aNg2adK0AQBgGWuNBQCAYWMGGMwgWNhht2UAgAWAwWDBDpYFAAAsYxeAYQFfa2LMTAdgMYAsAK5nEgBABwDAQAcAQIfBAQDdYRmABdBP1wG2A3QAdnQAdGcAvAgAdMfi0DsAoOMYnOug3wIOwAL6AQDAgMMAAAMHLjICwkAGVgB5QIXMokIAvlf9aytvqArww0A8AXvV31t5Q1RAzcCNwczMzIwICNCYmZmZmdEYQdimbZPZAAAg0lAAAIAZ1hgwAAxYmO+vtcCYxcIAsIAFywBYAwYAWAbGAgawWBbYWQujCljWorUWg9kd2GWM/gGKKQAOAI4AACB9wQGA5TBwAADdLR1gdsxHtwCwDIYOCxYHHcBiAPQOfMAZwQHgAAA6C5z34OAOgL3PcQcAAHSArjMAwAHAAujAAoADACwAOsCCQcIFgcUFgYRAsAQaAwO+V/1ry2+oCvBiIJ6AvOrvtTzBFVAyED/MjMbMaAjPzMzMzHg0BGHatEnSBgAA1sDuAADAsKsNgLXD2sXssN8AwDIDBgx2YGCWBQYAC5gZAJg1rB22Wux0ax16x+kAnRgA1VkVDAAWgA5A5wCY4XSADhzA3GF0oC9nAGAh7CgGrrvtXjfd3gAWWAA4DBbXBwtgx4AB6A4AYMABHOgsAAAOAEAHwwKABqADAAss0A0AYAEgIUPQZFRwLSAtJGRUAN5X/bfnN1QFeDEQT5i86u+1PCEqoGTghjAzM4JHQwQkaGjMzMyMoOCMoE3TJG3aAACgYlQpAACYMRYWAAxY7NfOAKwdDAyAWcCAYRdgZwAADINlLMAAgJktAJaa88nANHEM6Lw6YHAAzAEAkN4xgzmD69B16AY+DDos6DDA9JlxC3uwHwB0BgAdrDF2ATgAgOEFh8ECWAMdAAfAQAcwAAbWgQMGANABgAELAADogAUAGFAvjqCyoFkwoGEpYSQ0AE9nZ1MAAICVAQAAAAAA1OGncgMAAACna/4/F5rFxaTYoLy2z6LWq8m9s7mkubq6urq6/mf9a8tvqAJwMBBHmD/rX1t+QxRAyUI8mNHQGI0ZIY0RnJmZERwNm7ZpmCRtAAAYLAYAAADLGgCwAAbLAgAwAGABAACwANvGYgcAALAAwAHgyJlmAADrAAAMwABwcBgAgAUGADigA4wBWAAD6AAAFmAAcACgMx0ALADAAQDcGQDoWADAABwAgIEOYJEhk+D+gIqUwKWBkGgwAL43/WvPH6gK8KAhjjh707/2/IEogJiF+GFmNGaOhggImJkZwZmZmRHU7WyTZDYAAIi1LQEAAHYxYAAAsNaa72EAgwEWYAAA1gDswAKsgQUADAzsABYA5hjGfDYxjDkGmIGOgwEABnSgA6ADMNABWIAAsDoAAIA1FgsKMIxdDNABjA44BgAwxuEAuHIdAAB0d93McfrRATj6D6tD724BAEAHANABLADQAQCABQAOAMACsABgAQgwWHoJAgMiIKBRESAF2oUBvjf9a88fqApw0RBHnLvpH2t+Q1ZAYiB+mNHQmBkN4ZmZmZmZGcHRSQ2TJk0TBAAYsLsAAADDFwDAYBgGuwYAsAAsWAAMAOwws7AAmMVXlsEAwC4AswBElf5WDQBgAUAHAB0AGAAYbjgAABYBzLK2G1jgGLDmsMAAvANrWQALAI6OtRwsM2A70AcAdIB++ovu/BzHDKAXp7vT0TsA4OADYDoAAMBYAGcBACzAAACAA2AAYABwQYKMH0AAQ4AhYZGAYBkJFwzeV/235w9UBbgYiCXMXvWvrbwhKyBmIH7QmBmNGQ3h0ZgRnJkRHEENDcAmAdMZAAAACwDYsQAsLABgABaMAQAAAAOAAQBYi91lADB8MdhZAGABWADkktqVCQAMAABwDoABBgdgLEs3wLEYAGYxAOYAsLAAg2UBDlgA6ABwBlgAgN6hF+4AoOt6h/PBMkAHsADoAAAAGAAWAFgAjR8ILAwaSCSBAX4n/beXD2QFeDEQR5o56R9reUJWQGAgfgEzozFzNERAwszMzMyZEdQYmxomSds2DQCoU7wVAABYDMYAAIDFMABgDAOMYcECYMGCBQtYYAEALAsM2DEAw5h8hYm5AMauLWBnAMDSAe4OAAAMZwdY+nTscizMYTv6YBcDWFgG2DUvt4sxw+7O6LDogMEA4INlcQOrOmAdvAtsehl2GDh2Olzv0O3tJzZgu7uuVz+99zlgA8AGHQCwYwAAXgBg6QYAHdABYGABEAJc/FQBFAmoBNwABhJWCwICCd5X/bfnD1QFOBiIJUpe9Y81PyErIDAQDzAaGhqCoyE8MzMzMzOCgoIAbRCgaQAAADAAgAUAmAUAwAILADAWa3fAMAtYDACDBYjlVZYEADAAAB2ABQDAAYDTWWMGAAYwgMEMFnQYwPQFCwAAWAAMMA5ABzoDGLgOYACgc/p1jp8zAKA/QNexHAAAdAAAHQDAAIAFAFgAsAD1GAQqFpCC2wC+N/1rzx+oCvCiIZ4kedO/tvyGKoCIhfhFmRnMjIYICJjRmJmZGcEZDZCmDdO2AQBAJCYCAADAYgEAAAsWAGABDGMBALsAGLAAAAAWC2MAzMLXNwZmAOyiAxYAWNABABZLB6MDAN1Y0I0bDrNgOLcL1ix9YLBgAQDLzQCGY1iwg4NhdGABgLuOBYBddunuDncufedYmMNPPzp3OgAALDqYAR0A4AAAAwDoAIABAAAMMsuvRMDABZcGgToQAL43/WvPH6gKcNAQS5S96V97/kBXgD8G4gE0NDQ0ZjSEZ2ZmZmZmNDRA24ZtkjYAAJg1AMAaAAAMWABgDcDAAMA3wALAMLAYLED/WbUFAAYAdCzAALAAfVnQ2Zm+hsFiAQa8ZpkdM9gDxgwYO7uzDgy8yy7mYBYAFgDMgsGhA+CjjsVYdgHwOu64n/fGgmHR73AbOmBgYVhcxwCAA7CAwQAAOjAAAwAAC4Cx0BIqFSQXSBIBFQkDfif9t5cPVAV4MRBHnDrpX1t5Q1WAPwbiF0ZDQ0MDMxoiIGFmZmZmRnAEBWluSdt0tgEAKCoaAACAAQDYZQEMxg4AFgAWGDCAXczS2rHLLBgs9D6ABRxYAAYAAHgNAAwHPkY/i1vG7JjOHHPMArvsYhZQfYGOZYBDHztrwQBerDnswtLpWMwODLsMeO9YsANjZ3DXe7dn/v/8793B0k+9/+8/t/rbF8MamIUXH7PAsqAvwOoAYAAALHQAAIYLgYufgAKCSwPjosIF+yI+Bgwk3lf9t+cPZAU4GIghyl71ry2/oSrAi4E4gAEEZzS0MzMzMzMjKKgBMwK0TRsAAGAsAGAMAGABAABgAfMFgIUBmAV2AFgAgJrFCgCwDgDAAIDFAKADLMMeYMAMywCwAMB02AFYgNHXApYFCwYAgI4BBh0Ag+sOAMDCONzq6DcA7PXrves6AAALgOsAgAMwAAAYAAAGAGBARftBQCIgw8XFuhgAfif9t5cPZAV4MRBHmjrpX1t5Q1WAHwbiFwajoYGZEQEBMzMzM2dmRpCkTtMmywQAIImIRAAAAAYAYFhYMGMBAABgDAYsA3bZb8ywGIBdLzBmABgAMBYWZ+EOwLDAC7MLqxtg4PP5rA+YnWHgZV52MGO76ezOsNsxMJwFdoFlGN30BXZgsRZwA3DAADssXffBgmXWDtjenQ/ndP86xwTD61x/r0/ZuztAHwwAHADAgA4WAAAcsAADBwAAsADgFmRoGJDfAoABKhYXjYABVfu1IrZTyEBIAL43/WvPH6gKcNEQR5y86V9bfkNVgAcDcYSBBgANDQ3tzMyIZ2ZGQ1CDpE6DJLMBAAAMAGBZ7C5g9GEZAFgAgGW1KgMAOIAFZ9bAgFsMC1iAxcDAGQzomANgb62dpeNdAMYuAMtrDgcGsAPoxwLDMSwA+h0AGAtzruvXq+P5qxsYA/0xV3fHHQA4AKM7ADoAWAAAgEUHAAMGAFSMDDwA4NKoLJAucFWwKrYhA34n/beXD2QFeDAQS5I66V9beUNVgBcD8UTBQENQcDREQMLMzMzMmRnB0Umdtm2WAQAI6vCiHQEAAMAYAGAAsFgAwDIAMIYdALNjhmUBYAEMsG4AOgAzAOb6GGBhjTGcxUznAGa9hs4CM2BZ8GEotmNYgMUeFn3MgcUCiwXA0rmXDoPFCtTCwAyMhNstxvxw9gYo50Euo+vFwgIwB+YwwALQLQAAAB2wAFhwAADQAWCBAQBcuErXpepBKBBApkKVQGNgYeQibkCFBH4n/beXD2QFeDEQT5o76b+9fKAqwMVALFGgoQFgNERAwszMzMyZGQ+dbtOkswEAQN1eGAUAAIABAAwwAAx0AFeAAQAC6JxgAUsHHQyABcBW9fPBMDNgDKdjDJzBgMICPnTAYQAOg4VVgG5357B1LHSwOWZhoYsCGJZhtvr2z6Sv2adZjsFkmK2rduZ6dVfb12JgBla3ohyAASwAugEA6DAAABegAwwAINEwCCwehQK4WGgYoCI0IHNXxZ+EBn4n/beXD2QFeDAQR5I66V9beUNVgAcDccSBBqCB0RCemZmZmZnxkNxp2mY2AAAACwADwGJgYAAAAANQtY5lQgOABXQKawGs4xgHB8DgsMrqWAeDM+wClIUFFguARV8At7i17/ZbWIBZDDeMDhYOdQBYRwYKMGtZi2ffvvpj0uwziQVRVc1GbdU6EgasBRwoABgAABwAgA5YALAAwAFgAQQhWMQqAFCCVkFgEMigIRcZK2EAfif9t5cPZAP40BBPmjrpX1t5Q1WABwNxRIGGBoDREAEBM+KZmblmxDNmGiZpmzYAAIhBBQAAAAsAMIABADoABVgWgB4AnBAsRt+BzhwARwdkMgNgFtiFHUO3ByycwaHDGuiBwTBAYACg9igAOtYAbE/sYGcxC8zd3Gy5Fp2X3HOMyWQKJ+lzz37Yapy5AYABK7EcYAE4AIDMAAAAoAMMANABADAAiQuNdXk+KShQwW1gQcVCqkntwQB+J/23lw9kBTgYiCHOnfTfXt6QFeBiII44AACMhrDGzMzoc0ZwZkgqJGkyGwCAAbAAdgAAC9D0X7kiEwAsnFsAhr4sAIsOwnYA4KCDZcdYAPBxgDUdAwBg3+3WAuAwAGoX0B3Ang4ArDFLjky2SHPHCMo0xYxmQ0INBbAW4DAHOLAYgAMAsAAAgKUDAADgAMAAlWSgf7mgQbbQIIFrgKFRxAg0AH4n/beXD1QF+DAQT5I66V9bfkNVgBcD8USBBgCMhlokzMzMzFwjqDFjc2vTJmkbAEQUUCIQAAAWsOgAGCyMZWEBAGCAFYA+KBaDDzeAMWABHIKbw0AnZhyYzgC9DwB0cIBeHNwAAcUMBAuWDtA3LAQchnWw5lJm2YGB2VF9e+nptSUyxwCYY2tmhM427G4tgIWdbqocOgM4ADoLAGABOAAAAB0YACwZ3IVVBABVBoFEhUGiMsZChgYAfif9t5cPVAV4MBBLnDvpvz1/oCrAg4E44gAAMBYWz8zMzDUaGhqCNHUCBEkbAAAACywMZEDWZK0JGliwAABYjA7gAAdBHwDArOMwYBnOAgAse4AdADDOABgAdNgCwJ6zAGCiLwMAAyOd2KueFSKYMKfYcl1G555BHQAABZ0DwOCgA2AAOBaAzgBIqBmq6gEABJmAgJYvLakVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfif9t5cPVAV4MRBPnDvpv728oSrAh4F4kgAABEdDBATMzMzMXKNrCGrY1E3bdDYAQEAaL0UiEAAA0IFZAACdMBYAGCDMsghhOgt9BtCd6bAAfWAH3Q4Wg+5K58ZaWAqW08FabGcA0AEoCwAA+lmsLCCwRwG6lVMsCwswMTKpvhpjRVIBoGN3GSfG2FGdVQDAMCa9Fw4wAA1ggA7dAACABbhQWZfHkwBYcNGQoUIWILOU0QgVAAAAAAAAfif9t5cPZAV4MBBLkjrpX1t5QlWABwNxxAEAQENDeGZmZmaN4IyG2W6DILMBYIEF2AEAIJb1v0IAwIIFcAB2AIvRgQ4Odo2tWwPAcgVgAHCsMBxA1sCybGcBiAGABXSwBQKswgIgFAYwALOqs6VJu9XYhAWzc85lsmc4MQkLALDdUB0AYDkHAABgAAAMAIADWA5Q0VATGrEKAAYZGAFkDImMMc8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAfif9t5cPVAV4MRBPnDrpX1t5Q1WAFwPxxIEGAIyGWiTMzMzMzIzGjEnFNkzSJgCIoTqM1QAQAQAGYAAAwPUJAAsAgAWEYWx2p+8QBk5fgBMYC7gFyiJrtmPRgVoYAG4BgAO7RwBgYbEADBad7Si3LMoAAo4dV71mUKAAxaotFy1ptOsCYLtGtZVVmTkEMIBlJ6ADOgAAwsIBGADQwQAAgA4AAAwkBJe5lSwQBiQCMoIyZiFTAQAAAAAAfif9t5cPVAV4MRBPnDvpv718ICvAg4E44gAAMBoiIGFmZmbmGg2NGdpyEjCZDQAA6vRdGgAAOIAFYMACAMBi2QF0AAAWw7KAjjLAGcAwrrsdHSwHAHcAFmUAY+AAAMAycNCBLYBlCAYAqhcGOABGgpke5oppbyYMysiG2kUVA6ADcAdgAR0AHAsAdAAsAAsAdADggoyIXzawXNAQWBgy2iMNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAT2dnUwAEwPABAAAAAADU4adyBAAAAHuuLjkMurq6urq6urq6urq6fif9t5cPVAV4MBBHnDrpX1t+Q1aABwNxxIEGAEENDdGZmZmZawQ1RpDmToMksw0AADoAAANnCwbhoAPQaFrL66gILS0LhMGUselrFsuxOgBwQwd9xq3KASwdALywgOMY6GDA9sEBgAWAxdkddFYHHOhXBVC4Y+mqKqMrwwAMI5MY0b2zBICYp5mwPiE6ZxGAAWZRAAA6BjpgAQAHFgBYAIAMgoZ4B4AFlgwClYSAUEaXQYMGAAAAAAAAfif9t5cPZAX4MBBPmjvpv718ICvAi4F40gAANMQaIiBgZgRnRnxmRkMDTIMGSWYDAETEeGkFAACAgQEAg8EAALC6ZbEwACywEPqMBc7CMhOj0wEAxxqwOiAWOiAHwGAAVgfAgDoADAeYAVWFBh3KzlSDSJZgAkGrUVI9agQAOhjo+gCwAABwAMAAoAMAwDEMADpUBFapelAAVAQMCTQGpIwxjwsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfif9t5cPZAW4GIgjTp30r628oSrAxUAcUaABQHBGeGZmZuaa0dAYknKbJpltAADAAgAMMOjgAAAHmA4AsEAr9Lfq0rZttBoLDMbOlFEZxsJ2BgAAwLHdHkNgAQAWMGNXP+jAAeAAYGEQACBLxwBIGbrpCwh0DF1lZs0WDGC71V310s7FyhAYBsJOlzSq4mT1AgzYwaheABh0AAALgFswAHSADgBYAFChMfhpcKmgqiATXHBvQgkNDAAAfif9t5cPVAX4YSB+Se6k//bygawADwbiiAMAgKCGCEjQEM/MjOA1oyGooWHuNEwyGwAAktgPCgAAgwF2AABYFBahwwyAOQyusACgAwAOAEB1BoAD6ABMt6ADgAHYDp0FdAYANQu3zmOzS+WbBWAS0zISDRUzWACAwZQCALCADgDA4gAs0AFYwAAALsEVVlEADSoqrgUMZIMC3gkLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfif9t5cPZAV4MBBHnDvpv728oSrAxUAcUQAAgqOhnZmZmVkzM4IkNWySZDYAAAALWAAAgH4HAAAAViPVbqpotBoMGGvUjjIKawADWAA6WASmD6zDAAAAliF0gFtAB8BgDTAYYLHTgYWOMJCBQ8EFOyIzdiwYMMP0Vc5Uql0NWQZMclvREE4sGDBg6UwEAFgAwAEAWACADgAOAAYAWDjI4NLwRBBgwUWFipQhgZuCvNAAAAAAAAAAAAAAfif9t5cPZAX4YSB+Ge6k//byhqoArzAQTxwAAEZDBASMPjOcuYYjKKg7xQRM0wYAiIh6IQIAAAMAgMGwDMAAoLAMoDMwjA6M0YBddbvLAgPQHcACzMGg04GxAOyBjkFSYTkQ3QKgxwEAHAZPRYpYWUwwKCJbUaKqWwAAcAASWAAA0KEDgMUAQDcAgAEqAmt/CTSoFiQyLAq0owUXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfif9t5UfVAV4MBBHnDrpX1t5Q1WABwNxxAEACM5oZ2ZmZtboGiNIe7dt2tkAAABYQGHoC8YAusPRAQAMAAAGYuh/ydJoW7QGCIXdsSudYWHpAABYzFFQux2EDiwMxwEcjgUMYBgAWOgdBkC3btaATme6MEc5OsgAdojWnB2LBSz20hPTJ1WthxRg15E7iGr37MPoYIAdtjoAAAcWAJgD0AEABgAwACQkDOIdBbhoyEBKIDFAxk2oBhUAfif9t5cPZAX4MBBHmjvpvz1/ICvAg4FY4gAAIIYISNCYmZmZazQ0RlDDzAZN0wQACCQtL5wKABgAMBgd1loGsDiWAXQAwCnYAWBARwcYoBjXAcBggAMACoCzDgAKAFDHANDnHAAA7OjB9Dd05cNmwsSZRIYGDcIAAOBKB8DCAccCADgAALBYcAADANBk7uQ8DCTIKhK4uAXWTaACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfif9t5cPVAV4MBBHnDrpX1t+Q1WABwNxxAEAYEY7MzMzc2ZmQHO3Adq2AWCBwSIALHQACwAYGADAQps1K74kNSSAjDWsjFosgF0AAAYKBxuz9BkYDDo6ADlYBTAGGACAo6AAA0Oxiw7oAgYO9L4W4CSsYemAAc/b6nY9hxXbKDAczaarGknvWQCAW9hSHYABAKADADjAAsABAAAwoBKQEVeAwsUAgcCFLC9TyAAAAAAAAAAAAAAAAAAAfif9t5cPZAW4GIgjyZ3031Z+kBXgwUAcSQAA0NAQAQEzMzMz18zM6OaWNk1mAgAo0tV4CAAADIAAFmBAn+UGABjLgMHSrYUDgDN1ABaYAQhgug5ABwALDIeOAQbgKCywAwUASGcBkB4DALCMni1UWDQ3zAkMA8vmR5QgHQsAwCodADgAgAEAGOgAAKADAIAFABwAFhgAwAU5sYJVAgAZjYaMBBaNQWAFqAAAAAAAAAAAAAAAAAAAAAAAfif9t5cPZAV4MBBHkjvpv718ICvAg4E4kgAAMFCLgJmZ0WfOzIwGaA3asE0bABTANJ5UVQUAMOgdAOgYACwgY9eMLZNezAAs1gHAggBEB7EYunELAFgDHB3AsAcY6ByAAQZrgG0AnQUD4BgdwzIAsI/e3UbHWO1RE3OINErlinI1YwGALTgAsAAA6ABwAAMAAAAGBwA4CwAZLs+EAKAGZHC5kDvRiQAAAAAAAAAAAAAAAAAAAAAAAAAAfif9ry2+AQQAFgB30r+3/IYsALAAAAAAWBoAAEADAAAAAAAAAAAAAHo0ScMid5l0AAwAgAJYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA', +}; diff --git a/dist/test-font.html b/dist/test-font.html new file mode 100644 index 0000000000000000000000000000000000000000..c7a31dcd98c781b888c7d2dcaa89db63d6cc3f89 --- /dev/null +++ b/dist/test-font.html @@ -0,0 +1,180 @@ + + + + + +Emmentaler-26 Font Glyphs + + + +

+
+ + + diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh new file mode 100755 index 0000000000000000000000000000000000000000..31b5d747e228458476c341084e5f5e3eb45f80ca --- /dev/null +++ b/docker-entrypoint.sh @@ -0,0 +1,58 @@ +#!/bin/bash +set -e + +echo '=== STARRY HF Space Entrypoint ===' + +# ── Start PostgreSQL ── +echo 'Starting PostgreSQL...' +/usr/lib/postgresql/15/bin/pg_ctl -D $PGDATA -l /home/user/postgresql.log start -o "-p 5432" + +for i in $(seq 1 15); do + if /usr/lib/postgresql/15/bin/pg_isready -h 127.0.0.1 -p 5432 -q 2>/dev/null; then + echo 'PostgreSQL is ready.' + break + fi + echo " Waiting for PostgreSQL... attempt $i/15" + sleep 1 +done + +# Create database +/usr/lib/postgresql/15/bin/psql -h 127.0.0.1 -p 5432 -tc "SELECT 1 FROM pg_database WHERE datname='starry_omr'" | grep -q 1 || \ + /usr/lib/postgresql/15/bin/createdb -h 127.0.0.1 -p 5432 starry_omr + +# ── Run database migrations ── +echo 'Running database migrations...' +cd /home/user/app/backend/omr-service +DB_HOST=127.0.0.1 DB_PORT=5432 DB_NAME=starry_omr DB_USER=user DB_PASSWORD= \ + npx tsx src/db/migrate.ts 2>&1 || echo 'Warning: Migration failed or skipped' + +# ── Start cluster-server (port 3999) ── +echo 'Starting cluster-server on port 3999...' +cd /home/user/app/backend/cluster-server +PORT=3999 node dist/src/main.js & + +# ── Start omr-service (port 3080) ── +echo 'Starting omr-service on port 3080...' +cd /home/user/app/backend/omr-service +export PORT=3080 +export DB_HOST=127.0.0.1 +export DB_PORT=5432 +export DB_NAME=starry_omr +export DB_USER=user +export DB_PASSWORD= +export REGULATION_ENABLED=false +npx tsx src/index.ts & + +# Wait for omr-service to be ready +echo 'Waiting for omr-service...' +for i in $(seq 1 30); do + if curl -sf http://127.0.0.1:3080/health > /dev/null 2>&1; then + echo 'omr-service is ready.' + break + fi + sleep 1 +done + +# ── Start nginx (port 7860, foreground) ── +echo 'Starting nginx on port 7860...' +exec nginx -g 'daemon off;' diff --git a/nginx.conf b/nginx.conf new file mode 100644 index 0000000000000000000000000000000000000000..1e84e87c0790b4ab9e55366dfc9eb7f24c169660 --- /dev/null +++ b/nginx.conf @@ -0,0 +1,57 @@ +worker_processes 1; +pid /home/user/nginx.pid; +error_log /var/log/nginx/error.log; + +events { + worker_connections 1024; +} + +http { + access_log /var/log/nginx/access.log; + client_max_body_size 50m; + + # Temp paths writable by user + client_body_temp_path /tmp/nginx_body; + proxy_temp_path /tmp/nginx_proxy; + fastcgi_temp_path /tmp/nginx_fastcgi; + uwsgi_temp_path /tmp/nginx_uwsgi; + scgi_temp_path /tmp/nginx_scgi; + + upstream omr_service { + server 127.0.0.1:3080; + } + + upstream cluster_server { + server 127.0.0.1:3999; + } + + server { + listen 7860; + + # cluster-server routes: /api/score (singular) + location /api/score { + proxy_pass http://cluster_server; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + } + + # WebSocket + location /ws { + proxy_pass http://omr_service; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header Host $host; + } + + # Everything else goes to omr-service + location / { + proxy_pass http://omr_service; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_read_timeout 300s; + } + } +} diff --git a/src/pages/playground/scripts/shaders.ts b/src/pages/playground/scripts/shaders.ts new file mode 100644 index 0000000000000000000000000000000000000000..fce958bc590a1e068fc7163c8e890b37e64b0e27 --- /dev/null +++ b/src/pages/playground/scripts/shaders.ts @@ -0,0 +1,84 @@ +export const vs = `//#version 300 es +//#define attribute in +//#define varying out +//#define texture2D texture + +precision highp float; +precision highp int; + +#define HIGH_PRECISION +#define SHADER_NAME MeshBasicMaterial +#define VERTEX_TEXTURES +#define USE_MAP +#define USE_UV +#define BONE_TEXTURE +#define DOUBLE_SIDED +uniform mat4 modelViewMatrix; +uniform mat4 projectionMatrix; +uniform vec3 cameraPosition; + +attribute vec3 position; +attribute vec3 normal; +attribute vec2 uv; + +#ifdef USE_UV + varying vec2 vUv; + uniform mat3 uvTransform; +#endif + +void main() { +#ifdef USE_UV + vUv = ( uvTransform * vec3( uv, 1 ) ).xy; +#endif + + vec3 transformed = vec3( position ); + + vec4 mvPosition = vec4( transformed, 1.0 ); + mvPosition = modelViewMatrix * mvPosition; + gl_Position = projectionMatrix * mvPosition; +} +`; + +export const fs = `//#version 300 es +//#define varying in +//out highp vec4 pc_fragColor; +//#define gl_FragColor pc_fragColor +//#define texture2D texture + +precision highp float; +precision highp int; + +#define HIGH_PRECISION +#define SHADER_NAME MeshBasicMaterial +#define USE_MAP +#define USE_UV +#define DOUBLE_SIDED +uniform vec3 cameraPosition; + +vec4 LinearToLinear( in vec4 value ) { + return value; +} +vec4 mapTexelToLinear( vec4 value ) { return LinearToLinear( value ); } + +uniform vec3 diffuse; +uniform float opacity; + +#if defined( USE_UV ) + varying vec2 vUv; +#endif +#ifdef USE_MAP + uniform sampler2D map; +#endif + + +void main() { + vec4 diffuseColor = vec4( diffuse, opacity ); +#ifdef USE_MAP + vec4 texelColor = texture2D( map, vUv ); + texelColor = mapTexelToLinear( texelColor ); + diffuseColor *= texelColor; +#endif + + gl_FragColor = diffuseColor; +} +`; diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000000000000000000000000000000000000..2c03a77441207568cb42e45de7a1db207fe66f0e --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,65 @@ +{ + "compilerOptions": { + "target": "esnext", + "module": "esnext", + "moduleResolution": "node", + "importHelpers": true, + "jsx": "react-jsx", + "esModuleInterop": false, + "sourceMap": false, + "baseUrl": "./", + "strict": false, + "experimentalDecorators": true, + "resolveJsonModule": true, + "allowJs": true, + "downlevelIteration": true, + "strictNullChecks": false, + + "paths": { + "@/*": ["src/*"], + "@@/*": ["src/.umi/*"] + }, + "allowSyntheticDefaultImports": true, + "lib": ["WebWorker", "ESNext", "ScriptHost"] + }, + "include": ["mock/**/*", "src/**/*", "config/**/*", ".umirc.ts", "typings.d.ts", "tools/batch/typings.d.ts", "typings/**/*"], + "exclude": ["node_modules", "lib", "es", "dist", "typings", "**/__test__", "test", "docs", "tests"] +} +//{ +// "compilerOptions": { +// "target": "esnext", +// "module": "esnext", +// "strict": false, +// "importHelpers": true, +// "moduleResolution": "node", +// "experimentalDecorators": true, +// "esModuleInterop": true, +// "allowSyntheticDefaultImports": true, +// "sourceMap": true, +// "baseUrl": ".", +// "types": [ +// "webpack-env" +// ], +// "paths": { +// "@/*": [ +// "app/*" +// ] +// }, +// "lib": [ +// "esnext", +// "dom", +// "dom.iterable", +// "scripthost" +// ], +// "skipLibCheck": true, +// "noImplicitAny": false, +// "resolveJsonModule": true +// }, +// "include": [ +// "app/**/*.ts", +// "app/**/*.vue" +// ], +// "exclude": [ +// "./node_modules/*" +// ] +//}

>>0?p:r;if((q|0)<=1){s=l;break}else r=l}}else s=g}else{r=f[a+24>>2]|0;s=X((r|0)==0?g:r,f[k>>2]|0)|0}k=eX(s+68|0)|0;f[a+8>>2]=k;f[j>>2]=k+4+63&-64;f[k>>2]=1;u=c;return}}f[d>>2]=0;f[d+4>>2]=0;m=JV(d,38)|0;n=176194;o=m+38|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-5,d,176130,176050,885);KV(d);u=c;return}function OV(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;i=u;u=u+16|0;j=i;if(!a){f[j>>2]=0;f[j+4>>2]=0;EP(-27,j,176300,176050,147);KV(j)}if((d|c|0)<0){f[j>>2]=0;f[j+4>>2]=0;k=JV(j,25)|0;l=176316;m=k+25|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-201,j,176300,176050,153);KV(j)}l=e&4095|1111621632;f[a>>2]=l;k=a+20|0;f[k>>2]=c;f[a+24>>2]=d;f[a+16>>2]=g;f[a+8>>2]=0;f[a+12>>2]=0;g=X((e>>>3&511)+1<<(47696>>>(e<<1&14)&3),d)|0;if((h|0)<2147483647)switch(h|0){case 0:{n=g;o=c;break}default:p=6}else switch(h|0){case 2147483647:{n=g;o=c;break}default:p=6}if((p|0)==6)if((g|0)>(h|0)){f[j>>2]=0;f[j+4>>2]=0;EP(-13,j,176300,176050,169);KV(j);n=h;o=f[k>>2]|0}else{n=h;o=c}f[a+4>>2]=n;c=wVa(o|0,((o|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;h=I;f[a>>2]=l|((h|0)>0|(h|0)==0&c>>>0>2147483647?0:(n|0)==(g|0)|(o|0)==1?16384:0);u=i;return a|0}function PV(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=u;u=u+16|0;c=b;if(!a){f[c>>2]=0;f[c+4>>2]=0;EP(-9,c,176342,176050,190);KV(c)}d=f[a>>2]|0;if(!d){u=b;return}e=f[d>>2]|0;g=e&-65536;a:do if((g|0)<1111687168){switch(g|0){case 1111621632:break;default:{h=7;break a}}if((f[d+24>>2]|0)>-1?(f[d+20>>2]|0)>-1:0)i=e;else h=7}else switch(g|0){case 1111687168:{i=e;break}default:h=7}while(0);if((h|0)==7){f[c>>2]=0;f[c+4>>2]=0;EP(-206,c,176342,176050,197);KV(c);i=f[d>>2]|0}f[a>>2]=0;a=i&-65536;b:do if((a|0)<1111687168){switch(a|0){case 1111621632:break;default:break b}if(((f[d+24>>2]|0)>0?(f[d+20>>2]|0)>0:0)?(i=d+16|0,f[i>>2]|0):0){f[i>>2]=0;i=d+8|0;c=f[i>>2]|0;if(c|0?(h=(f[c>>2]|0)+-1|0,f[c>>2]=h,(h|0)==0):0){fX(c);f[i>>2]=0}f[i>>2]=0}}else{switch(a|0){case 1111687168:break;default:break b}i=d+16|0;if(f[i>>2]|0){f[i>>2]=0;i=d+8|0;c=f[i>>2]|0;if(c|0?(h=(f[c>>2]|0)+-1|0,f[c>>2]=h,(h|0)==0):0){fX(c);f[i>>2]=0}f[i>>2]=0}}while(0);fX(d);u=b;return}function QV(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;if((((a|0)!=0?(e=f[a>>2]|0,(e&-65536|0)==1111621632):0)?(g=f[a+24>>2]|0,(g|0)>0):0)?(h=f[a+20>>2]|0,(h|0)>0):0){i=h;j=g;k=e}else{f[d>>2]=0;f[d+4>>2]=0;e=JV(d,16)|0;g=176355;h=e+16|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));EP(-5,d,176372,176050,212);KV(d);i=f[a+20>>2]|0;j=f[a+24>>2]|0;k=f[a>>2]|0}d=MV(i,j,k)|0;if(!(f[a+16>>2]|0)){u=c;return d|0}NV(d);nM(a,d,0);u=c;return d|0}function RV(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0;h=u;u=u+16|0;i=h;j=e&4095;k=(e>>>3&511)+1<<(47696>>>(e<<1&14)&3);if(!a){f[i>>2]=0;f[i+4>>2]=0;l=JV(i,26)|0;m=176383;n=l+26|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-27,i,176410,176050,238);KV(i)}if(!k){f[i>>2]=0;f[i+4>>2]=0;l=JV(i,23)|0;m=176428;n=l+23|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-210,i,176410,176050,241);KV(i)}if(!d){f[i>>2]=0;f[i+4>>2]=0;l=JV(i,20)|0;m=176452;n=l+20|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-27,i,176410,176050,244);KV(i)}if((c+-1|0)>>>0>31){f[i>>2]=0;f[i+4>>2]=0;l=JV(i,46)|0;m=176473;n=l+46|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-211,i,176410,176050,248);KV(i);if((c|0)<=0){o=0;p=k;q=(o|0)<0;r=p>>>0<2147483648;s=(o|0)==0;t=s&r;v=q|t;w=v?1111703552:1111687168;x=w|j;f[a>>2]=x;y=a+4|0;f[y>>2]=c;z=a+16|0;f[z>>2]=g;A=a+8|0;f[A>>2]=0;B=a+12|0;f[B>>2]=0;u=h;return a|0}}e=i+4|0;C=i+4|0;D=c;E=0;F=k;while(1){k=D;D=D+-1|0;G=d+(D<<2)|0;H=f[G>>2]|0;if((H|0)<0){f[i>>2]=0;f[e>>2]=0;l=JV(i,37)|0;m=176520;n=l+37|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-201,i,176410,176050,253);KV(i);J=f[G>>2]|0}else J=H;f[a+20+(D<<3)>>2]=J;if((E|0)>0|(E|0)==0&F>>>0>2147483647){f[i>>2]=0;f[C>>2]=0;l=JV(i,20)|0;m=176558;n=l+20|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-211,i,176410,176050,256);KV(i)}f[a+20+(D<<3)+4>>2]=F;H=f[G>>2]|0;K=wVa(F|0,E|0,H|0,((H|0)<0)<<31>>31|0)|0;H=I;if((k|0)<=1){o=H;p=K;break}else{E=H;F=K}}q=(o|0)<0;r=p>>>0<2147483648;s=(o|0)==0;t=s&r;v=q|t;w=v?1111703552:1111687168;x=w|j;f[a>>2]=x;y=a+4|0;f[y>>2]=c;z=a+16|0;f[z>>2]=g;A=a+8|0;f[A>>2]=0;B=a+12|0;f[B>>2]=0;u=h;return a|0}function SV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=TV(a,b,c)|0;NV(d);return d|0}function TV(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+16|0;g=e;if((a+-1|0)>>>0>31){f[g>>2]=0;f[g+4>>2]=0;h=JV(g,46)|0;i=176473;j=h+46|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));EP(-211,g,176579,176050,287);KV(g)}g=eX(276)|0;RV(g,a,c,d,0)|0;f[g+12>>2]=1;u=e;return g|0}function UV(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=u;u=u+256|0;d=c+128|0;e=c+72|0;g=c+16|0;h=c;if(!((a|0)!=0?(f[a>>2]&-65536|0)==1111687168:0)){f[d>>2]=0;f[d+4>>2]=0;i=JV(d,18)|0;j=176599;k=i+18|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-5,d,176618,176050,302);KV(d)}l=a+4|0;m=f[l>>2]|0;if((m|0)<33)n=m;else{f[d>>2]=0;f[d+4>>2]=0;i=JV(d,15)|0;j=176631;k=i+15|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-215,d,176618,176050,304);KV(d);n=f[l>>2]|0}if((n|0)>0){l=0;do{f[d+(l<<2)>>2]=f[a+20+(l<<3)>>2];l=l+1|0}while((l|0)<(n|0))}l=TV(n,d,f[a>>2]|0)|0;if(!(f[a+16>>2]|0)){u=c;return l|0}NV(l);NY(e,a,0,1,0,0);NY(g,l,0,1,0,0);a=f[l+16>>2]|0;d=h+8|0;f[d>>2]=0;f[d+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=g;eM(e,h);d=g+16|0;if((f[d>>2]|0)!=(a|0)){f[h>>2]=0;f[h+4>>2]=0;i=JV(h,18)|0;j=176647;k=i+18|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-215,h,176618,176050,319);KV(h)}h=g+36|0;j=f[h>>2]|0;if(j|0?(i=j+12|0,j=f[i>>2]|0,f[i>>2]=j+-1,(j|0)==1):0)XO(g);f[h>>2]=0;h=g+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[h>>2]|0)>0){d=f[g+40>>2]|0;j=0;do{f[d+(j<<2)>>2]=0;j=j+1|0}while((j|0)<(f[h>>2]|0))}h=f[g+44>>2]|0;if((h|0)!=(g+48|0))dX(h);h=e+36|0;g=f[h>>2]|0;if(g|0?(j=g+12|0,g=f[j>>2]|0,f[j>>2]=g+-1,(g|0)==1):0)XO(e);f[h>>2]=0;h=e+16|0;g=e+4|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;if((f[g>>2]|0)>0){h=f[e+40>>2]|0;j=0;do{f[h+(j<<2)>>2]=0;j=j+1|0}while((j|0)<(f[g>>2]|0))}g=f[e+44>>2]|0;if((g|0)!=(e+48|0))dX(g);u=c;return l|0}function VV(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0;i=u;u=u+16|0;j=i+8|0;k=i;if((a+-1|0)>>>0>9){f[j>>2]=0;f[j+4>>2]=0;l=JV(j,26)|0;m=176666;n=l+26|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-211,j,176693,176050,394);KV(j)}if(!((c|0)!=0&(e|0)!=0)){f[j>>2]=0;f[j+4>>2]=0;l=JV(j,39)|0;m=176714;n=l+39|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-27,j,176693,176050,397);KV(j)}if(!g){f[j>>2]=0;f[j+4>>2]=0;l=JV(j,24)|0;m=176754;n=l+24|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-27,j,176693,176050,400);KV(j)}if(d|0){f[j>>2]=0;f[j+4>>2]=0;l=JV(j,35)|0;m=176779;n=l+35|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-5,j,176693,176050,403);KV(j)}d=j+4|0;o=k+4|0;p=h&255;q=(h&4|0)==0;h=j+4|0;r=j+4|0;s=j+4|0;t=j+4|0;v=j+4|0;w=0;x=-1;y=0;while(1){z=f[c+(y<<2)>>2]|0;if(z)if((f[z>>2]&-65536|0)==1111687168?(f[z+16>>2]|0)!=0:0)A=z;else B=14;else{f[j>>2]=0;f[d>>2]=0;l=JV(j,39)|0;m=176714;n=l+39|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-27,j,176693,176050,411);KV(j);B=14}if((B|0)==14){B=0;f[j>>2]=0;C=WV(z,e+(y*276|0)|0,j)|0;if(f[j>>2]|0){f[k>>2]=0;f[o>>2]=0;l=JV(k,27)|0;m=176815;n=l+27|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-24,k,176693,176050,420);KV(k)}A=C}z=g+184+(y<<2)|0;f[z>>2]=A;D=A+4|0;if((y|0)>0){if((f[D>>2]|0)!=(f[w+4>>2]|0)){f[j>>2]=0;f[v>>2]=0;l=JV(j,47)|0;m=176843;n=l+47|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-209,j,176693,176050,429);KV(j)}switch(p&3){case 0:{if((f[w>>2]^f[A>>2])&4095|0){f[j>>2]=0;f[r>>2]=0;l=JV(j,40)|0;m=176891;n=l+40|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-205,j,176693,176050,436);KV(j)}break}case 1:{if((f[w>>2]^f[A>>2])&4088|0){f[j>>2]=0;f[s>>2]=0;l=JV(j,49)|0;m=176932;n=l+49|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-205,j,176693,176050,441);KV(j)}break}case 2:{if((f[w>>2]^f[A>>2])&4088|0){f[j>>2]=0;f[t>>2]=0;l=JV(j,36)|0;m=176982;n=l+36|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-205,j,176693,176050,446);KV(j)}break}default:{}}if(q?(C=f[D>>2]|0,(C|0)>0):0){E=0;F=C;while(1){if((f[A+20+(E<<3)>>2]|0)==(f[w+20+(E<<3)>>2]|0))G=F;else{f[j>>2]=0;f[h>>2]=0;l=JV(j,43)|0;m=177019;n=l+43|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-209,j,176693,176050,455);KV(j);G=f[D>>2]|0}E=E+1|0;if((E|0)>=(G|0)){H=w;break}else F=G}}else H=w}else H=A;F=f[A>>2]|0;E=(F>>>3&511)+1<<(47696>>>(F<<1&14)&3);F=f[D>>2]|0;C=F+-1|0;a:do if((C|0)>(x|0)){J=F;K=C;L=E;M=0;while(1){N=f[A+20+(K<<3)+4>>2]|0;if(!((L|0)==(N|0)&(M|0)==(((N|0)<0)<<31>>31|0))){O=J;P=K;Q=M;R=L;break a}N=f[A+20+(K<<3)>>2]|0;S=wVa(L|0,M|0,N|0,((N|0)<0)<<31>>31|0)|0;N=I;T=K+-1|0;if((T|0)>(x|0)){U=K;K=T;L=S;M=N;J=U}else{O=K;P=T;Q=N;R=S;break}}}else{O=F;P=C;Q=0;R=E}while(0);E=(P|0)==(x|0)&((Q|0)>0|(Q|0)==0&R>>>0>2147483647)?O:P;x=(E|0)>(x|0)?E:x;f[z>>2]=A;f[g+16+(y<<2)>>2]=f[A+16>>2];y=y+1|0;if((y|0)>=(a|0))break;else w=H}w=(f[H+4>>2]|0)+-1|0;if((w|0)>(x|0)){y=1;A=w;do{y=X(f[H+20+(A<<3)>>2]|0,y)|0;A=A+-1|0}while((A|0)>(x|0));V=y;W=1}else{V=1;W=1}y=x+1|0;f[g+4>>2]=y;f[g>>2]=a;a=g+8|0;f[a>>2]=V;f[a+4>>2]=W;if((x|0)<0){u=i;return y|0}else Y=0;do{f[g+56+(Y<<2)>>2]=f[H+20+(Y<<3)>>2];Y=Y+1|0}while((Y|0)!=(y|0));u=i;return y|0}function WV(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+48|0;g=e+8|0;h=e;if(d|0)f[d>>2]=0;i=(a|0)!=0;if(!(i&(c|0)!=0)){f[g>>2]=0;f[g+4>>2]=0;j=JV(g,28)|0;k=177063;l=j+28|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-27,g,177092,176050,336);KV(g)}if(i){i=f[a>>2]|0;if((i&-65536|0)==1111687168){if(f[a+16>>2]|0){m=a;u=e;return m|0}f[g>>2]=0;f[g+4>>2]=0;j=JV(g,32)|0;k=177103;l=j+32|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-27,g,177092,176050,341);KV(g);m=a;u=e;return m|0}if((i|0)==112)n=XV(a,g,d,0)|0;else n=a;if(n)if(((f[n>>2]&-65536|0)==1111621632?(f[n+24>>2]|0)>0:0)?(f[n+20>>2]|0)>0:0){o=n;p=g}else{q=n;r=g;s=16}else{q=0;r=g;s=16}}else{q=0;r=g;s=16}if((s|0)==16){f[h>>2]=0;f[h+4>>2]=0;j=JV(h,38)|0;k=177136;l=j+38|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-5,h,177092,176050,353);KV(h);o=q;p=r}r=o+16|0;p=f[r>>2]|0;if(!p){f[h>>2]=0;f[h+4>>2]=0;j=JV(h,33)|0;k=177175;l=j+33|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-27,h,177092,176050,356);KV(h);t=f[r>>2]|0}else t=p;f[c+16>>2]=t;f[c+8>>2]=0;f[c+12>>2]=0;t=f[o>>2]|0;f[c>>2]=t;f[c+4>>2]=2;f[c+20>>2]=f[o+20>>2];f[c+24>>2]=f[o+4>>2];f[c+28>>2]=f[o+24>>2];f[c+32>>2]=(t>>>3&511)+1<<(47696>>>(t<<1&14)&3);m=c;u=e;return m|0}function XV(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;g=u;u=u+16|0;h=g;i=(a|0)!=0;if(!(i&(c|0)!=0)){f[h>>2]=0;f[h+4>>2]=0;j=JV(h,28)|0;k=177063;l=j+28|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-27,h,177209,176050,2390);KV(h)}do if(i){m=f[a>>2]|0;n=m&-65536;if(((n|0)==1111621632?(f[a+24>>2]|0)>0:0)?(f[a+20>>2]|0)>0:0){if(f[a+16>>2]|0){o=a;p=0;break}f[h>>2]=0;f[h+4>>2]=0;j=JV(h,32)|0;k=177103;l=j+32|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-27,h,177209,176050,2395);KV(h);o=a;p=0;break}if((m|0)!=112){if(!((e|0)!=0&(n|0)==1111687168)){q=34;break}r=a+20|0;s=f[r>>2]|0;t=a+16|0;if(!(f[t>>2]|0)){f[h>>2]=0;f[h+4>>2]=0;j=JV(h,33)|0;k=177175;l=j+33|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-27,h,177209,176050,2465);KV(h);v=f[a>>2]|0}else v=m;if(!(v&16384)){f[h>>2]=0;f[h+4>>2]=0;j=JV(h,44)|0;k=177412;l=j+44|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-5,h,177209,176050,2468);KV(h)}m=f[a+4>>2]|0;if((m|0)<=2)if((m|0)==1)w=1;else w=f[a+28>>2]|0;else{n=1;x=1;while(1){y=X(f[r+(x<<3)>>2]|0,n)|0;x=x+1|0;if((x|0)>=(m|0)){w=y;break}else n=y}}f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=f[t>>2];f[c+20>>2]=s;f[c+24>>2]=w;n=f[a>>2]|0;m=n&4095;f[c>>2]=m|1111638016;x=X((n>>>3&511)+1<<(47696>>>(n<<1&14)&3),w)|0;n=(s|0)>1?x:0;f[c+4>>2]=n;x=wVa(n|0,((n|0)<0)<<31>>31|0,s|0,((s|0)<0)<<31>>31|0)|0;n=I;if(!((n|0)>0|(n|0)==0&x>>>0>2147483647)){o=c;p=0;break}f[c>>2]=m|1111621632;o=c;p=0;break}m=a+68|0;if(!(f[m>>2]|0)){f[h>>2]=0;f[h+4>>2]=0;j=JV(h,31)|0;k=177218;l=j+31|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-27,h,177209,176050,2405);KV(h)}s=f[a+16>>2]|0;t=1125516576>>>((s>>>2&60)+(s>>31&20)|0);s=t&15;x=f[a+8>>2]|0;n=(x|0)>1?f[a+28>>2]|0:0;r=a+48|0;y=f[r>>2]|0;if(!y){z=t&7|(x<<3)+-8;if(n|0){f[h>>2]=0;f[h+4>>2]=0;j=JV(h,40)|0;k=177371;l=j+40|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-206,h,177209,176050,2451);KV(h)}OV(c,f[a+44>>2]|0,f[a+40>>2]|0,z,f[m>>2]|0,f[a+72>>2]|0)|0;o=c;p=0;break}if((n|0)==1){A=f[y>>2]|0;if(!A){f[h>>2]=0;f[h+4>>2]=0;j=JV(h,63)|0;k=177250;l=j+63|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-206,h,177209,176050,2421);KV(h);n=f[r>>2]|0;B=n;C=f[n>>2]|0}else{B=y;C=A}n=(f[m>>2]|0)+(X(C+-1|0,f[a+64>>2]|0)|0)|0;z=f[a+72>>2]|0;D=n+(X(z,f[B+8>>2]|0)|0)|0;OV(c,f[B+16>>2]|0,f[B+12>>2]|0,s,D+(X(f[B+4>>2]|0,(t>>>3&1)+1<<(47696>>>(t<<1&14)&3))|0)|0,z)|0;o=c;p=0;break}else{z=(x<<3)+-8|0;D=t&7|z;n=f[y>>2]|0;if((x|0)>512){f[h>>2]=0;f[h+4>>2]=0;j=JV(h,56)|0;k=177314;l=j+56|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-15,h,177209,176050,2437);KV(h);E=f[r>>2]|0}else E=y;x=f[a+72>>2]|0;s=(f[m>>2]|0)+(X(x,f[E+8>>2]|0)|0)|0;OV(c,f[E+16>>2]|0,f[E+12>>2]|0,D,s+(X(f[E+4>>2]|0,(z>>>3&511)+1<<(47696>>>(t<<1&14)&3))|0)|0,x)|0;o=c;p=n;break}}else q=34;while(0);if((q|0)==34){f[h>>2]=0;f[h+4>>2]=0;j=JV(h,38)|0;k=177136;l=j+38|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-206,h,177209,176050,2492);KV(h);o=0;p=0}if(!d){u=g;return o|0}f[d>>2]=p;u=g;return o|0}function YV(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;b=f[a+4>>2]|0;if((b|0)<=0){c=0;return c|0}d=a+184|0;e=a+16|0;g=b;while(1){b=g;g=g+-1|0;if((f[a>>2]|0)>0){h=0;do{i=a+16+(h<<2)|0;f[i>>2]=(f[i>>2]|0)+(f[(f[a+184+(h<<2)>>2]|0)+20+(g<<3)+4>>2]|0);h=h+1|0}while((h|0)<(f[a>>2]|0))}h=a+56+(g<<2)|0;i=f[h>>2]|0;f[h>>2]=i+-1;if((i|0)>1){c=1;j=10;break}i=f[d>>2]|0;k=f[i+20+(g<<3)>>2]|0;l=f[a>>2]|0;if((l|0)>0?(m=0-k|0,n=(f[e>>2]|0)+(X(f[i+20+(g<<3)+4>>2]|0,m)|0)|0,f[e>>2]=n,(l|0)!=1):0){n=1;do{i=a+16+(n<<2)|0;o=(f[i>>2]|0)+(X(f[(f[a+184+(n<<2)>>2]|0)+20+(g<<3)+4>>2]|0,m)|0)|0;f[i>>2]=o;n=n+1|0}while((n|0)<(l|0))}f[h>>2]=k;if((b|0)<=1){c=0;j=10;break}}if((j|0)==10)return c|0;return 0}function ZV(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e;h=d&4095;i=1212424721>>>(d<<2&28)&15;j=X(i,(d>>>3&511)+1|0)|0;if(!j){f[g>>2]=0;f[g+4>>2]=0;k=JV(g,23)|0;l=176428;m=k+23|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-210,g,177457,176050,537);KV(g)}if((a+-1|0)>>>0>31){f[g>>2]=0;f[g+4>>2]=0;k=JV(g,24)|0;l=177475;m=k+24|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-211,g,177457,176050,540);KV(g)}if(!c){f[g>>2]=0;f[g+4>>2]=0;k=JV(g,20)|0;l=176452;m=k+20|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-27,g,177457,176050,543);KV(g)}if((a|0)>0){d=g+4|0;n=0;do{if((f[c+(n<<2)>>2]|0)<1){f[g>>2]=0;f[d>>2]=0;k=JV(g,37)|0;l=176520;m=k+37|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-201,g,177457,176050,548);KV(g)}n=n+1|0}while((n|0)<(a|0))}n=a+-32|0;g=eX((((n|0)>0?n:0)<<2)+164|0)|0;f[g>>2]=h|1111752704;f[g+4>>2]=a;f[g+8>>2]=0;f[g+12>>2]=1;h=a<<2;DVa(g+36|0,c|0,h|0)|0;c=i+7&0-i;f[g+28>>2]=c;i=j+3+c&65532;f[g+32>>2]=i;c=UM(0,64,h+7+i&-8,qM(4096)|0)|0;f[g+16>>2]=c;f[g+24>>2]=1024;c=eX(4096)|0;f[g+20>>2]=c;FVa(c|0,0,4096)|0;u=e;return g|0}function _V(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;if(!a){f[c>>2]=0;f[c+4>>2]=0;EP(-9,c,177500,176050,581);KV(c)}d=f[a>>2]|0;if(!d){u=b;return}if((f[d>>2]&-65536|0)!=1111752704){f[c>>2]=0;f[c+4>>2]=0;EP(-206,c,177500,176050,588);KV(c)}f[a>>2]=0;f[c>>2]=f[(f[d+16>>2]|0)+44>>2];sM(c);c=d+20|0;fX(f[c>>2]|0);f[c>>2]=0;fX(d);u=b;return}function $V(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=u;u=u+16|0;d=c;if((a|0)!=0?(e=f[a>>2]|0,(e&-65536|0)==1111752704):0)g=e;else{f[d>>2]=0;f[d+4>>2]=0;e=JV(d,27)|0;h=177519;i=e+27|0;do{b[e>>0]=b[h>>0]|0;e=e+1|0;h=h+1|0}while((e|0)<(i|0));EP(-5,d,177547,176050,605);KV(d);g=f[a>>2]|0}d=ZV(f[a+4>>2]|0,a+36|0,g)|0;nM(a,d,0);u=c;return d|0}function aW(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+16|0;e=d;if(!((a|0)!=0?(f[a>>2]&-65536|0)==1111752704:0)){f[e>>2]=0;f[e+4>>2]=0;g=JV(e,28)|0;h=177564;i=g+28|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));EP(-5,e,177593,176050,620);KV(e)}if(!c){f[e>>2]=0;f[e+4>>2]=0;g=JV(e,21)|0;h=177617;i=g+21|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));EP(-27,e,177593,176050,623);KV(e)}f[c>>2]=a;e=c+4|0;f[e>>2]=0;h=f[a+24>>2]|0;if((h|0)<=0){j=0;k=0;l=c+8|0;f[l>>2]=j;u=d;return k|0}g=f[a+20>>2]|0;a=0;while(1){m=f[g+(a<<2)>>2]|0;if(m|0)break;i=a+1|0;if((i|0)<(h|0))a=i;else{j=i;k=0;n=11;break}}if((n|0)==11){l=c+8|0;f[l>>2]=j;u=d;return k|0}f[e>>2]=m;j=a;k=m;l=c+8|0;f[l>>2]=j;u=d;return k|0}function bW(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=u;u=u+16|0;d=c;if(a|0){e=f[a>>2]|0;g=e&-65536;a:do if((g|0)<1111687168){switch(g|0){case 1111621632:break;default:break a}if((f[a+24>>2]|0)>0?(f[a+20>>2]|0)>0:0){if((f[a+24>>2]|0)<=0){u=c;return}if((f[a+20>>2]|0)<=0){u=c;return}h=a+16|0;if(!(f[h>>2]|0)){u=c;return}f[h>>2]=0;h=a+8|0;i=f[h>>2]|0;if(i|0?(j=(f[i>>2]|0)+-1|0,f[i>>2]=j,(j|0)==0):0){fX(i);f[h>>2]=0}f[h>>2]=0;u=c;return}}else{switch(g|0){case 1111687168:break;default:break a}h=a+16|0;if(!(f[h>>2]|0)){u=c;return}f[h>>2]=0;h=a+8|0;i=f[h>>2]|0;if(i|0?(j=(f[i>>2]|0)+-1|0,f[i>>2]=j,(j|0)==0):0){fX(i);f[h>>2]=0}f[h>>2]=0;u=c;return}while(0);if((e|0)==112){e=a+108|0;g=f[e>>2]|0;f[e>>2]=0;f[a+68>>2]=0;fX(g);u=c;return}}f[d>>2]=0;f[d+4>>2]=0;g=JV(d,38)|0;a=176194;e=g+38|0;do{b[g>>0]=b[a>>0]|0;g=g+1|0;a=a+1|0}while((g|0)<(e|0));EP(-5,d,177639,176050,1001);KV(d);u=c;return}function cW(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;g=u;u=u+16|0;h=g;do if(a|0){i=f[a>>2]|0;j=i&-65536;if((((j|0)==1111621632?(k=f[a+24>>2]|0,(k|0)>0):0)?(l=f[a+20>>2]|0,(l|0)>0):0)?(m=a+16|0,f[m>>2]|0):0){if(k>>>0>d>>>0&l>>>0>c>>>0)n=i;else{f[h>>2]=0;f[h+4>>2]=0;o=JV(h,21)|0;p=177653;q=o+21|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));EP(-211,h,177675,176050,1761);KV(h);n=f[a>>2]|0}if(e|0)f[e>>2]=n&4095;r=(f[m>>2]|0)+(X(f[a+4>>2]|0,c)|0)+(X((n>>>3&511)+1<<(47696>>>(n<<1&14)&3),d)|0)|0;u=g;return r|0}if((i|0)==112?(l=f[a+68>>2]|0,l|0):0){k=a+16|0;s=(f[k>>2]|0)>>>3&31;t=(f[a+28>>2]|0)==0;if(t)v=X(f[a+8>>2]|0,s)|0;else v=s;s=f[a+48>>2]|0;if(s){w=f[s+12>>2]|0;x=f[s+16>>2]|0;y=X(f[a+72>>2]|0,f[s+8>>2]|0)|0;z=l+((X(f[s+4>>2]|0,v)|0)+y)|0;if(t){A=z;B=x;C=w}else{t=f[s>>2]|0;if(!t){f[h>>2]=0;f[h+4>>2]=0;o=JV(h,45)|0;p=177683;q=o+45|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));EP(-24,h,177675,176050,1792);KV(h)}A=z+(X(f[a+64>>2]|0,t+-1|0)|0)|0;B=x;C=w}}else{A=l;B=f[a+44>>2]|0;C=f[a+40>>2]|0}if(!(C>>>0>d>>>0&B>>>0>c>>>0)){f[h>>2]=0;f[h+4>>2]=0;o=JV(h,21)|0;p=177653;q=o+21|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));EP(-211,h,177675,176050,1804);KV(h)}l=A+((X(f[a+72>>2]|0,c)|0)+(X(v,d)|0))|0;if(!e){r=l;u=g;return r|0}w=f[k>>2]|0;x=a+8|0;t=f[x>>2]|0;if((t+-1|0)>>>0>3){f[h>>2]=0;f[h+4>>2]=0;EP(-210,h,177675,176050,1812);KV(h);D=f[x>>2]|0}else D=t;f[e>>2]=(D<<3)+-8|1125516576>>>((w>>>2&60)+(w>>31&20)|0)&7;r=l;u=g;return r|0}if((j|0)!=1111687168){if((j|0)!=1111752704)break;if((f[a+4>>2]|0)!=2){f[h>>2]=0;f[h+4>>2]=0;o=JV(h,30)|0;p=177729;q=o+30|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));EP(-215,h,177675,176050,1832);KV(h)}f[h>>2]=c;f[h+4>>2]=d;r=dW(a,h,e,1,0)|0;u=g;return r|0}j=a+16|0;k=f[j>>2]|0;if(k|0){if(((f[a+4>>2]|0)==2?(f[a+20>>2]|0)>>>0>c>>>0:0)?(f[a+28>>2]|0)>>>0>d>>>0:0)E=k;else{f[h>>2]=0;f[h+4>>2]=0;o=JV(h,21)|0;p=177653;q=o+21|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));EP(-211,h,177675,176050,1824);KV(h);E=f[j>>2]|0}k=E+(X(f[a+24>>2]|0,c)|0)|0;l=k+(X(f[a+32>>2]|0,d)|0)|0;if(!e){r=l;u=g;return r|0}f[e>>2]=f[a>>2]&4095;r=l;u=g;return r|0}}while(0);f[h>>2]=0;f[h+4>>2]=0;o=JV(h,38)|0;p=176194;q=o+38|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));EP(-5,h,177675,176050,1838);KV(h);r=0;u=g;return r|0}function dW(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;h=u;u=u+16|0;i=h;if(!g){j=a+4|0;k=f[j>>2]|0;if((k|0)>0){l=i+4|0;m=0;n=0;o=k;while(1){k=f[c+(m<<2)>>2]|0;if(k>>>0<(f[a+36+(m<<2)>>2]|0)>>>0)p=o;else{f[i>>2]=0;f[l>>2]=0;q=JV(i,30)|0;r=177760;s=q+30|0;do{b[q>>0]=b[r>>0]|0;q=q+1|0;r=r+1|0}while((q|0)<(s|0));EP(-211,i,177791,176050,657);KV(i);p=f[j>>2]|0}r=k+(X(n,1540483477)|0)|0;m=m+1|0;if((m|0)>=(p|0)){t=r;break}else{n=r;o=p}}}else t=0}else t=f[g>>2]|0;g=a+24|0;p=f[g>>2]|0;o=p+-1&t;n=t&2147483647;a:do if((e|0)>-2?(t=f[(f[a+20>>2]|0)+(o<<2)>>2]|0,(t|0)!=0):0){m=a+32|0;j=a+4|0;l=t;while(1){if((f[l>>2]|0)==(n|0)){t=l+(f[m>>2]|0)|0;r=f[j>>2]|0;b:do if((r|0)>0){q=0;while(1){if((f[c+(q<<2)>>2]|0)!=(f[t+(q<<2)>>2]|0)){v=q;break b}s=q+1|0;if((s|0)<(r|0))q=s;else{v=s;break}}}else v=0;while(0);if((v|0)==(r|0))break}t=f[l+4>>2]|0;if(!t){w=0;break a}else l=t}w=l+(f[a+28>>2]|0)|0}else w=0;while(0);if((e|0)!=0&(w|0)==0){v=a+16|0;j=f[v>>2]|0;if((f[j+60>>2]|0)<(p*3|0)){x=o;y=j}else{j=(p|0)<512?1024:p<<1;p=j<<2;o=eX(p)|0;FVa(o|0,0,p|0)|0;p=aW(a,i)|0;if(p|0){m=i+4|0;k=i+8|0;t=j+-1|0;q=p;while(1){p=f[(f[m>>2]|0)+4>>2]|0;c:do if(!p){s=(f[k>>2]|0)+1|0;f[k>>2]=s;z=f[i>>2]|0;A=f[z+24>>2]|0;if((s|0)<(A|0)){B=f[z+20>>2]|0;z=s;while(1){C=f[B+(z<<2)>>2]|0;if(C|0)break;s=z+1|0;if((s|0)<(A|0))z=s;else{D=0;break c}}f[k>>2]=z;E=C;F=28}else D=0}else{E=p;F=28}while(0);if((F|0)==28){F=0;f[m>>2]=E;D=E}p=o+((f[q>>2]&t)<<2)|0;f[q+4>>2]=f[p>>2];f[p>>2]=q;if(!D)break;else q=D}}D=a+20|0;fX(f[D>>2]|0);f[D>>2]=o;f[g>>2]=j;x=j+2147483647&n;y=f[v>>2]|0}v=y+56|0;j=f[v>>2]|0;f[i>>2]=j;if(!j){VM(y,0,i)|0;G=f[i>>2]|0}else{f[v>>2]=f[j+4>>2];f[j>>2]=f[j>>2]&67108863;v=y+60|0;f[v>>2]=(f[v>>2]|0)+1;G=j}f[G>>2]=n;n=(f[a+20>>2]|0)+(x<<2)|0;f[G+4>>2]=f[n>>2];f[n>>2]=G;DVa(G+(f[a+32>>2]|0)|0,c|0,f[a+4>>2]<<2|0)|0;c=G+(f[a+28>>2]|0)|0;if((e|0)>0){e=f[a>>2]|0;FVa(c|0,0,(e>>>3&511)+1<<(47696>>>(e<<1&14)&3)|0)|0;H=c}else H=c}else H=w;if(!d){u=h;return H|0}f[d>>2]=f[a>>2]&4095;u=h;return H|0}function eW(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=u;u=u+16|0;d=c;if(a|0){e=f[a>>2]|0;g=e&-65536;a:do if((g|0)<1111687168){switch(g|0){case 1111621632:break;default:break a}if((f[a+24>>2]|0)>0?(f[a+20>>2]|0)>0:0)h=5}else if((g|0)<1111752704)switch(g|0){case 1111687168:{h=5;break a;break}default:break a}else switch(g|0){case 1111752704:{h=5;break a;break}default:break a}while(0);if((h|0)==5){i=e&4095;u=c;return i|0}if((e|0)==112?f[a+68>>2]|0:0){e=f[a+16>>2]|0;i=1125516576>>>((e>>>2&60)+(e>>31&20)|0)&7|(f[a+8>>2]<<3)+-8;u=c;return i|0}}f[d>>2]=0;f[d+4>>2]=0;a=JV(d,38)|0;e=176194;h=a+38|0;do{b[a>>0]=b[e>>0]|0;a=a+1|0;e=e+1|0}while((a|0)<(h|0));EP(-5,d,177805,176050,1094);KV(d);i=-1;u=c;return i|0}function fW(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;a:do if(a|0){g=f[a>>2]|0;h=g&-65536;if(((h|0)==1111621632?(i=a+24|0,(f[i>>2]|0)>0):0)?(j=f[a+20>>2]|0,(j|0)>0):0){if(!c){k=2;u=d;return k|0}f[c>>2]=j;f[c+4>>2]=f[i>>2];k=2;u=d;return k|0}if((g|0)==112?f[a+68>>2]|0:0){if(!c){k=2;u=d;return k|0}f[c>>2]=f[a+44>>2];f[c+4>>2]=f[a+40>>2];k=2;u=d;return k|0}if((h|0)>=1111752704){switch(h|0){case 1111752704:break;default:break a}g=f[a+4>>2]|0;if(!c){k=g;u=d;return k|0}DVa(c|0,a+36|0,g<<2|0)|0;k=g;u=d;return k|0}switch(h|0){case 1111687168:break;default:break a}h=f[a+4>>2]|0;if(!((c|0)!=0&(h|0)>0)){k=h;u=d;return k|0}g=a+20|0;i=0;do{f[c+(i<<2)>>2]=f[g+(i<<3)>>2];i=i+1|0}while((i|0)!=(h|0));k=h;u=d;return k|0}while(0);f[e>>2]=0;f[e+4>>2]=0;c=JV(e,38)|0;a=176194;h=c+38|0;do{b[c>>0]=b[a>>0]|0;c=c+1|0;a=a+1|0}while((c|0)<(h|0));EP(-5,e,177819,176050,1148);KV(e);k=-1;u=d;return k|0}function gW(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;f[a>>2]=0;g=a+4|0;f[g>>2]=0;if(c|0){h=f[c>>2]|0;if(((h&-65536|0)==1111621632?(i=f[c+24>>2]|0,(i|0)>-1):0)?(j=f[c+20>>2]|0,(j|0)>-1):0){f[a>>2]=i;f[g>>2]=j;u=d;return}if((h|0)==112){h=f[c+48>>2]|0;if(!h){f[a>>2]=f[c+40>>2];k=c+44|0}else{f[a>>2]=f[h+12>>2];k=h+16|0}f[g>>2]=f[k>>2];u=d;return}}f[e>>2]=0;f[e+4>>2]=0;k=JV(e,33)|0;g=177829;h=k+33|0;do{b[k>>0]=b[g>>0]|0;k=k+1|0;g=g+1|0}while((k|0)<(h|0));EP(-5,e,177863,176050,1246);KV(e);u=d;return}function hW(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+48|0;g=e+8|0;h=e;if(((((a|0)!=0?(f[a>>2]&-65536|0)==1111621632:0)?(f[a+24>>2]|0)>0:0)?(f[a+20>>2]|0)>0:0)?(f[a+16>>2]|0)!=0:0)i=a;else i=XV(a,g,0,0)|0;if(!b){f[h>>2]=0;f[h+4>>2]=0;EP(-27,h,177873,176050,1360);KV(h)}g=f[i+24>>2]|0;if(g>>>0<=c>>>0|g>>>0>>0){f[h>>2]=0;f[h+4>>2]=0;EP(-211,h,177873,176050,1365);KV(h)}h=f[i+20>>2]|0;f[b+20>>2]=h;a=d-c|0;f[b+24>>2]=a;f[b+4>>2]=f[i+4>>2];d=f[i>>2]|0;j=(f[i+16>>2]|0)+(X((d>>>3&511)+1<<(47696>>>(d<<1&14)&3),c)|0)|0;f[b+16>>2]=j;f[b>>2]=((h|0)>1&(a|0)<(g|0)?-16385:-1)&f[i>>2];f[b+8>>2]=0;f[b+12>>2]=0;u=e;return b|0}function iW(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;h=u;u=u+16|0;i=h;if(!c){f[i>>2]=0;f[i+4>>2]=0;j=JV(i,23)|0;k=177883;l=j+23|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-27,i,177907,176050,1887);KV(i)}a:do if(a|0){m=f[a>>2]|0;n=m&-65536;b:do if((n|0)<1111687168){switch(n|0){case 1111621632:break;default:{o=16;break b}}if((f[a+24>>2]|0)>0){if(!((f[a+20>>2]|0)>0|(m|0)==112))break a}else o=16}else{if((n|0)>=1111752704){switch(n|0){case 1111752704:break;default:{o=16;break b}}p=dW(a,c,d,e,g)|0;u=h;return p|0}switch(n|0){case 1111687168:break;default:{o=16;break b}}q=f[a+16>>2]|0;if(!q)o=16;else{r=a+4|0;s=f[r>>2]|0;if((s|0)>0){t=a+20|0;v=i+4|0;w=q;x=0;y=s;while(1){s=c+(x<<2)|0;z=f[s>>2]|0;if(z>>>0<(f[t+(x<<3)>>2]|0)>>>0){A=z;B=y}else{f[i>>2]=0;f[v>>2]=0;j=JV(i,21)|0;k=177653;l=j+21|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-211,i,177907,176050,1901);KV(i);A=f[s>>2]|0;B=f[r>>2]|0}z=w+(X(f[t+(x<<3)+4>>2]|0,A)|0)|0;x=x+1|0;if((x|0)>=(B|0)){C=z;break}else{w=z;y=B}}}else C=q;if(!d){p=C;u=h;return p|0}f[d>>2]=f[a>>2]&4095;p=C;u=h;return p|0}}while(0);if((o|0)==16?(m|0)!=112:0)break;p=cW(a,f[c>>2]|0,f[c+4>>2]|0,d)|0;u=h;return p|0}while(0);f[i>>2]=0;f[i+4>>2]=0;j=JV(i,38)|0;k=176194;l=j+38|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-5,i,177907,176050,1911);KV(i);p=0;u=h;return p|0}function jW(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;g=u;u=u+16|0;h=g+8|0;i=g;if(!c){f[h>>2]=0;f[h+4>>2]=0;EP(-27,h,177994,176050,2718);KV(h)}if(((((a|0)!=0?(f[a>>2]&-65536|0)==1111621632:0)?(f[a+24>>2]|0)>0:0)?(f[a+20>>2]|0)>0:0)?(f[a+16>>2]|0)!=0:0)j=a;else{f[h>>2]=0;k=XV(a,c,h,1)|0;if(f[h>>2]|0){f[i>>2]=0;f[i+4>>2]=0;l=JV(i,20)|0;m=333376;n=l+20|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-24,i,177994,176050,2725);KV(i)}j=k}if(d)if((d+-1|0)>>>0>3){f[h>>2]=0;f[h+4>>2]=0;EP(-15,h,177994,176050,2731);KV(h);o=d}else o=d;else o=((f[j>>2]|0)>>>3&511)+1|0;if((j|0)!=(c|0)){d=c+12|0;k=f[d>>2]|0;f[c>>2]=f[j>>2];f[c+4>>2]=f[j+4>>2];f[c+8>>2]=f[j+8>>2];f[c+12>>2]=f[j+12>>2];f[c+16>>2]=f[j+16>>2];f[c+20>>2]=f[j+20>>2];f[c+24>>2]=f[j+24>>2];f[c+8>>2]=0;f[d>>2]=k}k=f[j>>2]|0;d=X((k>>>3&511)+1|0,f[j+24>>2]|0)|0;if((o|0)>(d|0))if(!e)p=20;else{q=e;p=23}else if((e|0)==0&((d|0)%(o|0)|0|0)!=0)p=20;else{r=e;p=21}if((p|0)==20){r=(X(f[j+20>>2]|0,d)|0)/(o|0)|0;p=21}if((p|0)==21)if(!r){s=f[j+20>>2]|0;p=24}else{q=r;p=23}if((p|0)==23){r=f[j+20>>2]|0;if((q|0)==(r|0)){s=q;p=24}else{e=X(r,d)|0;if(!(k&16384)){f[h>>2]=0;f[h+4>>2]=0;l=JV(h,72)|0;m=178004;n=l+72|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-13,h,177994,176050,2756);KV(h)}if(q>>>0>e>>>0){f[h>>2]=0;f[h+4>>2]=0;l=JV(h,22)|0;m=178077;n=l+22|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-211,h,177994,176050,2759);KV(h)}k=(e|0)/(q|0)|0;if((X(k,q)|0)!=(e|0)){f[h>>2]=0;f[h+4>>2]=0;l=JV(h,78)|0;m=177915;n=l+78|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-5,h,177994,176050,2765);KV(h)}f[c+20>>2]=q;t=k;v=X(1212424721>>>(f[j>>2]<<2&28)&15,k)|0}}if((p|0)==24){f[c+20>>2]=s;t=d;v=f[j+4>>2]|0}f[c+4>>2]=v;v=(t|0)/(o|0)|0;if((X(v,o)|0)==(t|0)){w=c+24|0;f[w>>2]=v;x=f[j>>2]|0;y=x&-4096;z=x&7;A=o<<3;B=A+-8|0;C=z|B;D=C|y;f[c>>2]=D;u=g;return c|0}f[h>>2]=0;f[h+4>>2]=0;l=JV(h,62)|0;m=178100;n=l+62|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-15,h,177994,176050,2775);KV(h);w=c+24|0;f[w>>2]=v;x=f[j>>2]|0;y=x&-4096;z=x&7;A=o<<3;B=A+-8|0;C=z|B;D=C|y;f[c>>2]=D;u=g;return c|0}function kW(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;i=u;u=u+16|0;j=i;if(!a){f[j>>2]=0;f[j+4>>2]=0;k=JV(j,22)|0;l=178163;m=k+22|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-9,j,178186,176050,2917);KV(j)}k=a+4|0;m=k+108|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(m|0));f[a>>2]=112;n=e+-1|0;if(n>>>0<4){o=f[41724+(n<<3)+4>>2]|0;p=f[41724+(n<<3)>>2]|0}else{o=1079437;p=1079437}rDa(a+20|0,p,4)|0;rDa(a+24|0,o,4)|0;o=f[c>>2]|0;if(!((o|0)>=0?(f[c+4>>2]|0)>=0:0)){f[j>>2]=0;f[j+4>>2]=0;k=JV(j,13)|0;l=178204;m=k+13|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-25,j,178186,176050,2927);KV(j)}p=d|-2147483648;if((e|0)<0|(d|0)!=64&((p|0)!=-2147483616&((p|0)!=-2147483632&((d|0)!=1&(p|0)!=-2147483640)))){f[j>>2]=0;f[j+4>>2]=0;k=JV(j,18)|0;l=178218;m=k+18|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-17,j,178186,176050,2934);KV(j)}if(g>>>0>1){f[j>>2]=0;f[j+4>>2]=0;k=JV(j,16)|0;l=178237;m=k+16|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-20,j,178186,176050,2936);KV(j)}switch(h|0){case 4:case 8:break;default:{f[j>>2]=0;f[j+4>>2]=0;k=JV(j,15)|0;l=178254;m=k+15|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-21,j,178186,176050,2939);KV(j)}}f[a+40>>2]=o;p=f[c+4>>2]|0;f[a+44>>2]=p;c=f[a+48>>2]|0;if(c|0){f[c>>2]=0;f[c+8>>2]=0;f[c+4>>2]=0;f[c+12>>2]=o;f[c+16>>2]=p}c=(e|0)>1?e:1;f[a+8>>2]=c;f[a+16>>2]=d;f[a+36>>2]=h;e=h+-1+(((X(X(c,d&2147483647)|0,o)|0)+7|0)>>>3)&0-h;f[a+72>>2]=e;f[a+32>>2]=g;g=wVa(e|0,((e|0)<0)<<31>>31|0,p|0,((p|0)<0)<<31>>31|0)|0;f[a+64>>2]=g;if((g|0)==(g|0)&(I|0)==(((g|0)<0)<<31>>31|0)){u=i;return a|0}f[j>>2]=0;f[j+4>>2]=0;k=JV(j,22)|0;l=176171;m=k+22|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-4,j,178186,176050,2961);KV(j);u=i;return a|0}function lW(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d+8|0;g=d;h=a;a=f[h>>2]|0;i=f[h+4>>2]|0;h=eX(112)|0;j=g;f[j>>2]=a;f[j+4>>2]=i;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];kW(h,e,b,c,0,4)|0;NV(h);u=d;return h|0}function mW(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;if(!a){f[c>>2]=0;f[c+4>>2]=0;EP(-27,c,178288,176050,2995);KV(c)}c=f[a>>2]|0;if(!c){u=b;return}f[a>>2]=0;bW(c);a=c+48|0;fX(f[a>>2]|0);f[a>>2]=0;fX(c);u=b;return}function nW(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;c=u;u=u+16|0;d=c;if(!a){f[d>>2]=0;f[d+4>>2]=0;EP(-9,d,178303,176050,3012);KV(d)}e=b+8|0;g=f[e>>2]|0;if((((((g|0)>-1?(h=b+12|0,i=f[h>>2]|0,(i|0)>-1):0)?(j=f[b>>2]|0,k=f[a+40>>2]|0,(j|0)<(k|0)):0)?(l=b+4|0,m=f[l>>2]|0,n=f[a+44>>2]|0,(m|0)<(n|0)):0)?(j+g|0)>=((g|0)>0|0):0)?(m+i|0)>=((i|0)>0|0):0){o=l;p=h;q=b;r=j;s=m;t=i;v=k;w=n}else{f[d>>2]=0;f[d+4>>2]=0;DVa(JV(d,184)|0,178317,184)|0;EP(-215,d,178303,176050,3018);KV(d);d=b+4|0;n=b+12|0;o=d;p=n;q=b;r=f[b>>2]|0;s=f[d>>2]|0;t=f[n>>2]|0;v=f[a+40>>2]|0;w=f[a+44>>2]|0}n=g+r|0;g=t+s|0;t=(r|0)>0?r:0;f[q>>2]=t;q=(s|0)>0?s:0;f[o>>2]=q;o=((v|0)<(n|0)?v:n)-t|0;f[e>>2]=o;e=((w|0)<(g|0)?w:g)-q|0;f[p>>2]=e;p=a+48|0;a=f[p>>2]|0;if(!a){g=eX(20)|0;f[g>>2]=0;f[g+4>>2]=t;f[g+8>>2]=q;f[g+12>>2]=o;f[g+16>>2]=e;f[p>>2]=g;u=c;return}else{f[a+4>>2]=t;f[a+8>>2]=q;f[a+12>>2]=o;f[a+16>>2]=e;u=c;return}}function oW(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;if(!a){f[d>>2]=0;f[d+4>>2]=0;EP(-9,d,178502,176050,3085);KV(d)}do if((f[a+8>>2]|0)>>>0>>0){f[d>>2]=0;f[d+4>>2]=0;EP(-24,d,178502,176050,3088);KV(d);e=a+48|0;g=f[e>>2]|0;if(!g){h=e;i=8}else{j=g;i=7}}else{g=a+48|0;e=f[g>>2]|0;k=(e|0)!=0;if((b|0)!=0|k)if(k){j=e;i=7;break}else{h=g;i=8;break}else{u=c;return}}while(0);if((i|0)==7){f[j>>2]=b;u=c;return}else if((i|0)==8){i=f[a+40>>2]|0;j=f[a+44>>2]|0;a=eX(20)|0;f[a>>2]=b;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=i;f[a+16>>2]=j;f[h>>2]=a;u=c;return}}function pW(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;if(!a){f[c>>2]=0;f[c+4>>2]=0;EP(-9,c,178516,176050,3108);KV(c)}c=f[a+48>>2]|0;if(!c){d=0;u=b;return d|0}d=f[c>>2]|0;u=b;return d|0}function qW(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c;if(!((a|0)!=0?(f[a>>2]|0)==112:0)){f[d>>2]=0;f[d+4>>2]=0;e=JV(d,16)|0;g=178530;h=e+16|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));EP(-5,d,178547,176050,3120);KV(d)}d=eX(112)|0;e=d;g=a;h=e+108|0;do{f[e>>2]=f[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(h|0));f[d>>2]=112;f[d+108>>2]=0;g=d+68|0;f[g>>2]=0;e=d+48|0;f[e>>2]=0;h=f[a+48>>2]|0;if(h|0){i=f[h>>2]|0;j=f[h+4>>2]|0;k=f[h+8>>2]|0;l=f[h+12>>2]|0;m=f[h+16>>2]|0;h=eX(20)|0;f[h>>2]=i;f[h+4>>2]=j;f[h+8>>2]=k;f[h+12>>2]=l;f[h+16>>2]=m;f[e>>2]=h}h=a+68|0;if(!(f[h>>2]|0)){u=c;return d|0}e=f[a+64>>2]|0;NV(d);DVa(f[g>>2]|0,f[h>>2]|0,e|0)|0;u=c;return d|0}function rW(a,b){a=a|0;b=b|0;var c=0;a=u;u=u+16|0;c=a;f[c>>2]=b;PV(c);u=a;return}function sW(a,b){a=a|0;b=b|0;var c=0;a=u;u=u+16|0;c=a;f[c>>2]=b;sM(c);u=a;return}function tW(a,b){a=a|0;b=b|0;var c=0;a=u;u=u+16|0;c=a;f[c>>2]=b;GW(c);u=a;return}function uW(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=u;u=u+16|0;i=h+8|0;j=h;yV(i,41756);k=(e>>>3&511)+1|0;if(k>>>0>=5){f[j>>2]=0;f[j+4>>2]=0;l=JV(j,7)|0;b[l>>0]=b[178560]|0;b[l+1>>0]=b[178561]|0;b[l+2>>0]=b[178562]|0;b[l+3>>0]=b[178563]|0;b[l+4>>0]=b[178564]|0;b[l+5>>0]=b[178565]|0;b[l+6>>0]=b[178566]|0;EP(-215,j,178568,176050,3232);KV(j)}switch(e&7){case 0:{e=0;do{l=AEa(+p[a+(e<<3)>>3])|0;b[c+e>>0]=l>>>0<256?l:(l|0)>0?255:0;e=e+1|0}while((e|0)!=(k|0));if((k|0)<(g|0)){e=k;do{b[c+e>>0]=b[c+(e-k)>>0]|0;e=e+1|0}while((e|0)!=(g|0))}break}case 1:{e=0;do{l=AEa(+p[a+(e<<3)>>3])|0;b[c+e>>0]=(l+128|0)>>>0<256?l:(l|0)>0?127:128;e=e+1|0}while((e|0)!=(k|0));if((k|0)<(g|0)){e=k;do{b[c+e>>0]=b[c+(e-k)>>0]|0;e=e+1|0}while((e|0)!=(g|0))}break}case 2:{e=0;do{l=AEa(+p[a+(e<<3)>>3])|0;d[c+(e<<1)>>1]=l>>>0<65536?l:(l|0)>0?65535:0;e=e+1|0}while((e|0)!=(k|0));if((k|0)<(g|0)){e=k;do{d[c+(e<<1)>>1]=d[c+(e-k<<1)>>1]|0;e=e+1|0}while((e|0)!=(g|0))}break}case 3:{e=0;do{l=AEa(+p[a+(e<<3)>>3])|0;d[c+(e<<1)>>1]=(l+32768|0)>>>0<65536?l:(l|0)>0?32767:32768;e=e+1|0}while((e|0)!=(k|0));if((k|0)<(g|0)){e=k;do{d[c+(e<<1)>>1]=d[c+(e-k<<1)>>1]|0;e=e+1|0}while((e|0)!=(g|0))}break}case 4:{e=0;do{l=AEa(+p[a+(e<<3)>>3])|0;f[c+(e<<2)>>2]=l;e=e+1|0}while((e|0)!=(k|0));if((k|0)<(g|0)){e=k;do{f[c+(e<<2)>>2]=f[c+(e-k<<2)>>2];e=e+1|0}while((e|0)!=(g|0))}break}case 5:{e=0;do{n[c+(e<<2)>>2]=+p[a+(e<<3)>>3];e=e+1|0}while((e|0)!=(k|0));if((k|0)<(g|0)){e=k;do{f[c+(e<<2)>>2]=f[c+(e-k<<2)>>2];e=e+1|0}while((e|0)!=(g|0))}break}case 6:{e=0;do{p[c+(e<<3)>>3]=+p[a+(e<<3)>>3];e=e+1|0}while((e|0)!=(k|0));if((k|0)<(g|0)){e=k;do{p[c+(e<<3)>>3]=+p[c+(e-k<<3)>>3];e=e+1|0}while((e|0)!=(g|0))}break}default:{f[j>>2]=0;f[j+4>>2]=0;EP(-210,j,178568,176050,3257);KV(j)}}if(!(f[i+4>>2]|0)){u=h;return}u=h;return}function vW(){var a=0;a=tQ(178647,1e3)|0;f[114825]=a;return}function wW(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,o=0,q=0,r=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0.0,ra=0.0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0.0,zb=0,Ab=0,Bb=0,Cb=0,Db=0.0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0.0,Tb=0,Ub=0,Vb=0.0,Wb=0,Xb=0,Yb=0,Zb=0.0,_b=0,$b=0.0,ac=0,bc=0,cc=0.0,dc=0,ec=0.0,fc=0.0,gc=0,hc=0.0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0.0,oc=0.0,pc=0,qc=0,rc=0,sc=0.0,tc=0,uc=0.0,vc=0,wc=0.0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0.0,Dc=0,Ec=0.0,Fc=0,Gc=0,Hc=0,Ic=0.0,Jc=0,Kc=0.0,Lc=0,Mc=0,Nc=0.0,Oc=0,Pc=0.0,Qc=0,Rc=0,Sc=0.0,Tc=0.0,Uc=0,Vc=0.0,Wc=0,Xc=0,Yc=0.0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0.0,dd=0.0;j=u;u=u+2256|0;k=j+552|0;l=j+1992|0;m=j+1936|0;o=j+1928|0;q=j+1904|0;r=j+1896|0;t=j+1840|0;v=j+1728|0;w=j+1672|0;x=j+1616|0;y=j+1784|0;z=j+1504|0;A=j+1448|0;B=j+1392|0;C=j+1128|0;D=j;E=j+608|0;F=j+520|0;G=j+1560|0;yV(r,41776);do if((HJ(a)|0)==65536){H=f[a+4>>2]|0;f[t>>2]=f[H>>2];J=t+4|0;K=H+4|0;f[J>>2]=f[K>>2];L=t+8|0;f[L>>2]=f[H+8>>2];M=t+12|0;f[M>>2]=f[H+12>>2];f[t+16>>2]=f[H+16>>2];f[t+20>>2]=f[H+20>>2];f[t+24>>2]=f[H+24>>2];f[t+28>>2]=f[H+28>>2];f[t+32>>2]=f[H+32>>2];N=f[H+36>>2]|0;f[t+36>>2]=N;f[t+40>>2]=L;O=t+48|0;P=t+44|0;f[P>>2]=O;f[O>>2]=0;f[t+52>>2]=0;if(N|0){O=N+12|0;f[O>>2]=(f[O>>2]|0)+1}if((f[K>>2]|0)<3){K=f[H+44>>2]|0;O=f[P>>2]|0;f[O>>2]=f[K>>2];f[O+4>>2]=f[K+4>>2];Q=L;R=M;S=t;T=J;break}else{f[J>>2]=0;WO(t,H);Q=L;R=M;S=t;T=J;break}}else{DJ(t,a,-1);Q=t+8|0;R=t+12|0;S=t;T=t+4|0}while(0);a=f[Q>>2]|0;Q=(a|0)==1;J=f[R>>2]|0;R=Q?J:a;a=f[S>>2]|0;S=X((a>>>3&511)+1|0,Q?1:J)|0;J=a&7;a=(g|0)>1?g:1;g=(c|0)>0;if(!(g&((f[T>>2]|0)<3&(J|0)==5))){f[k>>2]=0;f[k+4>>2]=0;U=JV(k,37)|0;V=178682;W=U+37|0;do{b[U>>0]=b[V>>0]|0;U=U+1|0;V=V+1|0}while((U|0)<(W|0));EP(-215,k,178720,178727,239);KV(k)}if((R|0)<(c|0)){f[k>>2]=0;f[k+4>>2]=0;M=JV(k,6)|0;b[M>>0]=b[178782]|0;b[M+1>>0]=b[178783]|0;b[M+2>>0]=b[178784]|0;b[M+3>>0]=b[178785]|0;b[M+4>>0]=b[178786]|0;b[M+5>>0]=b[178787]|0;EP(-215,k,178720,178727,240);KV(k)}M=t+16|0;L=t+44|0;H=t+48|0;Gi(v,R,S,5,f[M>>2]|0,Q?S<<2:f[H>>2]|0);vK(d,R,1,4,-1,1,0);f[w>>2]=1124007936;Q=w+4|0;K=w+8|0;O=w+40|0;U=Q;W=U+36|0;do{f[U>>2]=0;U=U+4|0}while((U|0)<(W|0));f[O>>2]=K;P=w+48|0;N=w+44|0;f[N>>2]=P;f[P>>2]=0;f[w+52>>2]=0;do if((HJ(d)|0)==65536){Y=f[d+4>>2]|0;f[x>>2]=f[Y>>2];Z=x+4|0;_=Y+4|0;f[Z>>2]=f[_>>2];$=x+8|0;f[$>>2]=f[Y+8>>2];aa=x+12|0;f[aa>>2]=f[Y+12>>2];f[x+16>>2]=f[Y+16>>2];f[x+20>>2]=f[Y+20>>2];f[x+24>>2]=f[Y+24>>2];f[x+28>>2]=f[Y+28>>2];f[x+32>>2]=f[Y+32>>2];ba=f[Y+36>>2]|0;f[x+36>>2]=ba;f[x+40>>2]=$;$=x+48|0;ca=x+44|0;f[ca>>2]=$;f[$>>2]=0;f[x+52>>2]=0;if(ba|0){$=ba+12|0;f[$>>2]=(f[$>>2]|0)+1}if((f[_>>2]|0)<3){_=f[Y+44>>2]|0;$=f[ca>>2]|0;f[$>>2]=f[_>>2];f[$+4>>2]=f[_+4>>2];da=aa;break}else{f[Z>>2]=0;WO(x,Y);da=aa;break}}else{DJ(x,d,-1);da=x+12|0}while(0);aa=(h&1|0)!=0;Y=f[da>>2]|0;Z=(Y|0)==1;_=f[x+8>>2]|0;do if(aa){if(!Z)if((_|0)==1){ea=1;fa=22}else fa=24;else{ea=_;fa=22}if((fa|0)==22)if(!((X(ea,Y)|0)==(R|0)?(f[x>>2]&20479|0)==16388:0))fa=24;if((fa|0)==24){f[k>>2]=0;f[k+4>>2]=0;DVa(JV(k,147)|0,178789,147)|0;EP(-215,k,178720,178727,252);KV(k)}hP(y,x,1,R);$=k+8|0;f[$>>2]=0;f[$+4>>2]=0;f[k>>2]=33619968;f[k+4>>2]=w;eM(y,k);$=y+36|0;ca=f[$>>2]|0;if(ca|0?(ba=ca+12|0,ca=f[ba>>2]|0,f[ba>>2]=ca+-1,(ca|0)==1):0)XO(y);f[$>>2]=0;$=y+16|0;ca=y+4|0;f[$>>2]=0;f[$+4>>2]=0;f[$+8>>2]=0;f[$+12>>2]=0;if((f[ca>>2]|0)>0){$=f[y+40>>2]|0;ba=0;do{f[$+(ba<<2)>>2]=0;ba=ba+1|0}while((ba|0)<(f[ca>>2]|0))}ca=f[y+44>>2]|0;if((ca|0)!=(y+48|0))dX(ca);if((R|0)>0){ca=w+16|0;ba=w+12|0;$=k+4|0;ga=0;do{do if((f[w>>2]&16384|0)==0?(ha=f[O>>2]|0,(f[ha>>2]|0)!=1):0)if((f[ha+4>>2]|0)==1){ia=(f[ca>>2]|0)+(X(f[f[N>>2]>>2]|0,ga)|0)|0;break}else{ha=f[ba>>2]|0;ja=(ga|0)/(ha|0)|0;ka=ga-(X(ja,ha)|0)|0;ia=(f[ca>>2]|0)+(X(f[f[N>>2]>>2]|0,ja)|0)+(ka<<2)|0;break}else fa=37;while(0);if((fa|0)==37){fa=0;ia=(f[ca>>2]|0)+(ga<<2)|0}if((f[ia>>2]|0)>>>0>=c>>>0){f[k>>2]=0;f[$>>2]=0;U=JV(k,42)|0;V=178937;W=U+42|0;do{b[U>>0]=b[V>>0]|0;U=U+1|0;V=V+1|0}while((U|0)<(W|0));EP(-215,k,178720,178727,256);KV(k)}ga=ga+1|0}while((ga|0)<(R|0))}}else{if(!Z)if((_|0)==1){la=1;fa=46}else fa=48;else{la=_;fa=46}if((fa|0)==46)if((X(la,Y)|0)==(R|0)?(ga=f[x>>2]|0,(ga&20479|0)==16388):0)ma=ga;else fa=48;if((fa|0)==48){vK(d,R,1,4,-1,0,0);do if((HJ(d)|0)==65536){ga=f[d+4>>2]|0;f[k>>2]=f[ga>>2];$=k+4|0;ca=ga+4|0;f[$>>2]=f[ca>>2];ba=k+8|0;f[ba>>2]=f[ga+8>>2];f[k+12>>2]=f[ga+12>>2];f[k+16>>2]=f[ga+16>>2];f[k+20>>2]=f[ga+20>>2];f[k+24>>2]=f[ga+24>>2];f[k+28>>2]=f[ga+28>>2];f[k+32>>2]=f[ga+32>>2];ka=k+36|0;ja=f[ga+36>>2]|0;f[ka>>2]=ja;f[k+40>>2]=ba;ba=k+48|0;ha=k+44|0;f[ha>>2]=ba;f[ba>>2]=0;f[k+52>>2]=0;if(ja|0){ba=ja+12|0;f[ba>>2]=(f[ba>>2]|0)+1}if((f[ca>>2]|0)<3){ca=f[ga+44>>2]|0;ba=f[ha>>2]|0;f[ba>>2]=f[ca>>2];f[ba+4>>2]=f[ca+4>>2];na=ka;break}else{f[$>>2]=0;WO(k,ga);na=ka;break}}else{DJ(k,d,-1);na=k+36|0}while(0);ka=f[na>>2]|0;if(ka|0){ga=ka+12|0;f[ga>>2]=(f[ga>>2]|0)+1}ga=x+36|0;ka=f[ga>>2]|0;if(ka|0?($=ka+12|0,ka=f[$>>2]|0,f[$>>2]=ka+-1,(ka|0)==1):0)XO(x);f[ga>>2]=0;ka=x+16|0;$=x+4|0;f[ka>>2]=0;f[ka+4>>2]=0;f[ka+8>>2]=0;f[ka+12>>2]=0;if((f[$>>2]|0)>0){ca=f[x+40>>2]|0;ba=0;do{f[ca+(ba<<2)>>2]=0;ba=ba+1|0;oa=f[$>>2]|0}while((ba|0)<(oa|0));f[x>>2]=f[k>>2];if((oa|0)<3)fa=65;else fa=67}else{f[x>>2]=f[k>>2];fa=65}if((fa|0)==65){ba=f[k+4>>2]|0;if((ba|0)<3){f[$>>2]=ba;f[x+8>>2]=f[k+8>>2];f[da>>2]=f[k+12>>2];ba=f[k+44>>2]|0;ca=f[x+44>>2]|0;f[ca>>2]=f[ba>>2];f[ca+4>>2]=f[ba+4>>2]}else fa=67}if((fa|0)==67)WO(x,k);ba=k+16|0;f[ka>>2]=f[ba>>2];f[x+20>>2]=f[k+20>>2];f[x+24>>2]=f[k+24>>2];f[x+28>>2]=f[k+28>>2];f[x+32>>2]=f[k+32>>2];ca=f[na>>2]|0;f[ga>>2]=ca;if(ca|0?(ha=ca+12|0,ca=f[ha>>2]|0,f[ha>>2]=ca+-1,(ca|0)==1):0)XO(k);f[na>>2]=0;ca=k+4|0;f[ba>>2]=0;f[ba+4>>2]=0;f[ba+8>>2]=0;f[ba+12>>2]=0;if((f[ca>>2]|0)>0){ba=f[k+40>>2]|0;ha=0;do{f[ba+(ha<<2)>>2]=0;ha=ha+1|0}while((ha|0)<(f[ca>>2]|0))}ca=f[k+44>>2]|0;if((ca|0)!=(k+48|0))dX(ca);ma=f[x>>2]|0}ca=f[x+40>>2]|0;ha=f[ca+4>>2]|0;ba=f[ca>>2]|0;ca=ma&4095;if(((((f[Q>>2]|0)<3?(f[K>>2]|0)==(ba|0):0)?(f[w+12>>2]|0)==(ha|0):0)?(f[w>>2]&4095|0)==(ca|0):0)?f[w+16>>2]|0:0)break;f[k>>2]=ba;f[k+4>>2]=ha;VO(w,2,k,ca)}while(0);K=w+16|0;ma=f[K>>2]|0;f[z>>2]=1124007936;na=z+4|0;da=z+8|0;oa=z+40|0;U=na;W=U+36|0;do{f[U>>2]=0;U=U+4|0}while((U|0)<(W|0));f[oa>>2]=da;da=z+48|0;d=z+44|0;f[d>>2]=da;f[da>>2]=0;f[z+52>>2]=0;f[k>>2]=c;Y=k+4|0;f[Y>>2]=S;VO(z,2,k,J);f[A>>2]=1124007936;la=A+4|0;_=A+8|0;Z=A+40|0;U=la;W=U+36|0;do{f[U>>2]=0;U=U+4|0}while((U|0)<(W|0));f[Z>>2]=_;_=A+48|0;ia=A+44|0;f[ia>>2]=_;f[_>>2]=0;f[A+52>>2]=0;f[k>>2]=c;f[Y>>2]=S;VO(A,2,k,J);f[B>>2]=1124007936;y=B+4|0;ea=B+8|0;ca=B+40|0;U=y;W=U+36|0;do{f[U>>2]=0;U=U+4|0}while((U|0)<(W|0));f[ca>>2]=ea;ea=B+48|0;ha=B+44|0;f[ha>>2]=ea;f[ea>>2]=0;f[B+52>>2]=0;f[k>>2]=1;f[Y>>2]=S;VO(B,2,k,J);J=C+8|0;f[C>>2]=J;Y=C+4|0;ba=c>>>0>64;f[Y>>2]=c;if(ba){ga=FQa(c>>>0>1073741823?-1:c<<2)|0;f[C>>2]=ga}ga=D+8|0;f[D>>2]=ga;ka=D+4|0;f[ka>>2]=R;if(R>>>0>64){$=FQa(R>>>0>536870911?-1:R<<3)|0;f[D>>2]=$}$=uV()|0;ja=f[e>>2]|0;pa=e+8|0;if(!(ja&2))qa=1.1920928955078125e-07;else{ra=+p[pa>>3];qa=ra<0.0?0.0:ra}p[pa>>3]=qa*qa;sa=e+4|0;if(!(ja&1))ta=100;else{ja=f[sa>>2]|0;e=(ja|0)>2?ja:2;ta=(e|0)<100?e:100}e=(c|0)==1;ja=e?1:a;f[sa>>2]=e?2:ta;ta=E+8|0;FVa(ta|0,0,512)|0;f[E>>2]=ta;e=E+4|0;f[e>>2]=S;if(S>>>0>64){a=FQa(S>>>0>536870911?-1:S<<3)|0;FVa(a|0,0,S<<3|0)|0;f[E>>2]=a;ua=a}else ua=ta;a=(h&2|0)!=0;if(!a){h=v+16|0;va=f[h>>2]|0;wa=v+44|0;xa=(S|0)>0;if(xa?(ya=f[va>>2]|0,f[ua>>2]=ya,f[ua+4>>2]=ya,(S|0)!=1):0){ya=1;do{ua=f[E>>2]|0;za=f[va+(ya<<2)>>2]|0;f[ua+(ya<<3)>>2]=za;f[ua+(ya<<3)+4>>2]=za;ya=ya+1|0}while((ya|0)!=(S|0))}if((R|0)>1?(ya=f[h>>2]|0,h=f[f[wa>>2]>>2]|0,wa=f[E>>2]|0,xa):0){xa=1;do{va=ya+(X(h,xa)|0)|0;za=0;do{ua=f[va+(za<<2)>>2]|0;f[k>>2]=ua;Aa=wa+(za<<3)|0;qa=(f[s>>2]=ua,+n[s>>2]);f[Aa>>2]=f[(+n[Aa>>2]>qa?k:Aa)>>2];Aa=wa+(za<<3)+4|0;f[Aa>>2]=f[(+n[Aa>>2]>2];za=za+1|0}while((za|0)!=(S|0));xa=xa+1|0}while((xa|0)!=(R|0))}}if((ja|0)>0){xa=v+12|0;wa=v+8|0;h=l+8|0;ya=l+4|0;za=c>>>0>1073741823?-1:c<<2;va=m+8|0;Aa=m+4|0;ua=v+16|0;Ba=v+44|0;Ca=(c|0)>1;Da=o+4|0;Ea=q+4|0;Fa=q+8|0;Ga=q+12|0;Ha=q+16|0;Ia=z+16|0;Ja=k+4|0;qa=1.0/+(S|0);Ja=(S|0)>0;ra=qa*2.0+1.0;Ka=k+4|0;La=l+4|0;Ma=l+8|0;Na=l+12|0;Oa=l+16|0;Pa=(X(X(R,c)|0,S)|0)+-1|0;Qa=(R|0)>0;Ra=B+16|0;Sa=k+4|0;Ta=A+16|0;Ua=k+4|0;Va=l+4|0;Wa=l+8|0;Xa=l+12|0;Ya=l+16|0;Za=(X(S,R)|0)+-1|0;_a=m+4|0;$a=m+8|0;ab=m+12|0;bb=m+16|0;cb=m+20|0;db=m+24|0;eb=m+28|0;fb=m+40|0;gb=m+48|0;hb=m+44|0;ib=m+52|0;jb=(R|0)!=0;kb=k+4|0;lb=l+8|0;mb=l+12|0;nb=l+4|0;ob=m+36|0;pb=G+36|0;qb=G+16|0;rb=G+4|0;sb=G+40|0;tb=G+44|0;ub=G+48|0;vb=k+8|0;wb=k+4|0;xb=c<<2;yb=1797693134862315708145274.0e284;zb=0;while(1){Ab=aa&(zb|0)<1;Bb=0;while(1){Cb=(Bb|0)==0;Db=Cb?1797693134862315708145274.0e284:0.0;wD(z,A);a:do if(Ab|Cb^1){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[k+24>>2]=0;f[k+28>>2]=0;gM(z,k)|0;if(g)FVa(f[C>>2]|0,0,xb|0)|0;b:do if(Qa){Eb=f[ua>>2]|0;Fb=f[Ba>>2]|0;Gb=f[Ia>>2]|0;Hb=f[d>>2]|0;Ib=f[C>>2]|0;if(Ja)Jb=0;else{Kb=0;while(1){Lb=Ib+(f[ma+(Kb<<2)>>2]<<2)|0;f[Lb>>2]=(f[Lb>>2]|0)+1;Kb=Kb+1|0;if((Kb|0)==(R|0))break b}}do{Kb=Eb+(X(f[Fb>>2]|0,Jb)|0)|0;Lb=f[ma+(Jb<<2)>>2]|0;Mb=Gb+(X(f[Hb>>2]|0,Lb)|0)|0;Nb=0;do{Ob=Mb+(Nb<<2)|0;n[Ob>>2]=+n[Kb+(Nb<<2)>>2]+ +n[Ob>>2];Nb=Nb+1|0}while((Nb|0)!=(S|0));Nb=Ib+(Lb<<2)|0;f[Nb>>2]=(f[Nb>>2]|0)+1;Jb=Jb+1|0}while((Jb|0)!=(R|0))}while(0);if(g){Ib=f[C>>2]|0;Hb=f[Ia>>2]|0;Gb=f[d>>2]|0;Fb=f[Ra>>2]|0;Eb=f[ua>>2]|0;Nb=f[Ba>>2]|0;Kb=0;do{Mb=Ib+(Kb<<2)|0;do if(!(f[Mb>>2]|0)){if(Ca){Ob=1;Pb=0;while(1){Qb=(f[Ib+(Pb<<2)>>2]|0)<(f[Ib+(Ob<<2)>>2]|0)?Ob:Pb;Ob=Ob+1|0;if((Ob|0)==(c|0)){Rb=Qb;break}else Pb=Qb}}else Rb=0;Pb=Hb+(X(f[Gb>>2]|0,Rb)|0)|0;Ob=Ib+(Rb<<2)|0;Lb=f[Ob>>2]|0;Sb=1.0/+(Lb|0);if(Ja){Qb=0;do{n[Fb+(Qb<<2)>>2]=Sb*+n[Pb+(Qb<<2)>>2];Qb=Qb+1|0}while((Qb|0)!=(S|0))}c:do if(Qa){if(Ja){Tb=0;Ub=-1;Vb=0.0}else{Qb=0;Wb=-1;while(1){Xb=(f[ma+(Qb<<2)>>2]|0)==(Rb|0)?Qb:Wb;Qb=Qb+1|0;if((Qb|0)==(R|0)){Yb=Xb;break c}else Wb=Xb}}while(1){if((f[ma+(Tb<<2)>>2]|0)==(Rb|0)){Wb=Eb+(X(f[Nb>>2]|0,Tb)|0)|0;Qb=0;Sb=0.0;do{Zb=+n[Wb+(Qb<<2)>>2]-+n[Fb+(Qb<<2)>>2];Sb=Sb+Zb*Zb;Qb=Qb+1|0}while((Qb|0)!=(S|0));Zb=Sb;Qb=!(Vb<=Zb);_b=Qb?Ub:Tb;$b=Qb?Vb:Zb}else{_b=Ub;$b=Vb}Tb=Tb+1|0;if((Tb|0)==(R|0)){Yb=_b;break}else{Ub=_b;Vb=$b}}}else Yb=-1;while(0);f[Ob>>2]=Lb+-1;f[Mb>>2]=(f[Mb>>2]|0)+1;f[ma+(Yb<<2)>>2]=Kb;Qb=Eb+(X(f[Nb>>2]|0,Yb)|0)|0;Wb=Hb+(X(f[Gb>>2]|0,Kb)|0)|0;if(Ja)ac=0;else break;do{Xb=Qb+(ac<<2)|0;bc=Pb+(ac<<2)|0;n[bc>>2]=+n[bc>>2]-+n[Xb>>2];bc=Wb+(ac<<2)|0;n[bc>>2]=+n[Xb>>2]+ +n[bc>>2];ac=ac+1|0}while((ac|0)!=(S|0))}while(0);Kb=Kb+1|0}while((Kb|0)!=(c|0));if(!g){cc=Db;break}Kb=(Bb|0)>0;if(Ja){dc=0;ec=Db}else{Gb=0;Zb=Db;while(1){if(!(f[(f[C>>2]|0)+(Gb<<2)>>2]|0)){f[k>>2]=0;f[Sa>>2]=0;U=JV(k,16)|0;V=178980;W=U+16|0;do{b[U>>0]=b[V>>0]|0;U=U+1|0;V=V+1|0}while((U|0)<(W|0));EP(-215,k,178720,178727,407);KV(k)}fc=Kb&Zb<0.0?0.0:Zb;Gb=Gb+1|0;if((Gb|0)>=(c|0)){cc=fc;break a}else Zb=fc}}while(1){Gb=(f[Ia>>2]|0)+(X(f[f[d>>2]>>2]|0,dc)|0)|0;Hb=f[(f[C>>2]|0)+(dc<<2)>>2]|0;if(!Hb){f[k>>2]=0;f[Sa>>2]=0;U=JV(k,16)|0;V=178980;W=U+16|0;do{b[U>>0]=b[V>>0]|0;U=U+1|0;V=V+1|0}while((U|0)<(W|0));EP(-215,k,178720,178727,407);KV(k);gc=f[(f[C>>2]|0)+(dc<<2)>>2]|0}else gc=Hb;Zb=1.0/+(gc|0);Nb=0;do{Eb=Gb+(Nb<<2)|0;n[Eb>>2]=Zb*+n[Eb>>2];Nb=Nb+1|0}while((Nb|0)!=(S|0));if(Kb){Nb=(f[Ta>>2]|0)+(X(f[f[ia>>2]>>2]|0,dc)|0)|0;Hb=0;Zb=0.0;do{fc=+n[Gb+(Hb<<2)>>2]-+n[Nb+(Hb<<2)>>2];Zb=Zb+fc*fc;Hb=Hb+1|0}while((Hb|0)!=(S|0));hc=ec=(c|0)){cc=hc;break}else ec=hc}}else cc=Db}else{if(!a){if(!g){cc=Db;break}Kb=f[E>>2]|0;Hb=f[Ia>>2]|0;Nb=f[f[d>>2]>>2]|0;if(!Ja){cc=Db;break}Gb=$;Eb=0;Fb=f[Gb>>2]|0;Ib=f[Gb+4>>2]|0;while(1){Gb=Hb+(X(Nb,Eb)|0)|0;Mb=0;ic=Fb;jc=Ib;do{Wb=wVa(ic|0,0,-130063606,0)|0;ic=qVa(Wb|0,I|0,jc|0,0)|0;jc=I;fc=+n[Kb+(Mb<<3)>>2];n[Gb+(Mb<<2)>>2]=fc+(+n[Kb+(Mb<<3)+4>>2]-fc)*(ra*(+(ic>>>0)*2.3283064365386963e-10)-qa);Mb=Mb+1|0}while((Mb|0)!=(S|0));Eb=Eb+1|0;if((Eb|0)==(c|0))break;else{Fb=ic;Ib=jc}}Ib=$;f[Ib>>2]=ic;f[Ib+4>>2]=jc;cc=Db;break}yV(k,41796);Ib=f[xa>>2]|0;Fb=f[wa>>2]|0;f[l>>2]=h;f[ya>>2]=c;if(ba){Eb=FQa(za)|0;f[l>>2]=Eb;kc=Eb}else kc=h;Eb=Fb*3|0;f[m>>2]=va;f[Aa>>2]=0;if(!Fb){f[Aa>>2]=0;lc=va}else{f[Aa>>2]=Eb;Kb=FQa(Eb>>>0>1073741823?-1:Eb<<2)|0;f[m>>2]=Kb;lc=Kb}Kb=lc;Eb=lc+(Fb<<2)|0;Nb=Eb;Hb=Eb+(Fb<<2)|0;Eb=$;Mb=f[Eb+4>>2]|0;Gb=wVa(f[Eb>>2]|0,0,-130063606,0)|0;Eb=qVa(Gb|0,I|0,Mb|0,0)|0;Mb=$;f[Mb>>2]=Eb;f[Mb+4>>2]=I;Mb=(Eb>>>0)%(Fb>>>0)|0;f[kc>>2]=Mb;Eb=(Fb|0)>0;do if(Eb){Gb=f[ua>>2]|0;Wb=f[f[Ba>>2]>>2]|0;Pb=Gb+(X(Wb,Mb)|0)|0;if((Ib|0)>0){mc=0;nc=0.0}else{FVa(lc|0,0,Fb<<2|0)|0;oc=0.0;break}while(1){Qb=Gb+(X(mc,Wb)|0)|0;Lb=0;Zb=0.0;do{fc=+n[Qb+(Lb<<2)>>2]-+n[Pb+(Lb<<2)>>2];Zb=Zb+fc*fc;Lb=Lb+1|0}while((Lb|0)!=(Ib|0));n[lc+(mc<<2)>>2]=Zb;fc=nc+Zb;mc=mc+1|0;if((mc|0)==(Fb|0)){oc=fc;break}else nc=fc}}else oc=0.0;while(0);if(Ca){Mb=Fb+-1|0;Pb=(Fb|0)>1;Wb=(X(Fb,Ib)|0)+-1|0;Gb=1;fc=oc;Lb=Hb;Qb=Kb;Ob=Nb;while(1){bc=Qb;Xb=$;pc=f[Xb+4>>2]|0;qc=wVa(f[Xb>>2]|0,0,-130063606,0)|0;Xb=qVa(qc|0,I|0,pc|0,0)|0;pc=I;do if(Pb){qc=wVa(Xb|0,0,-130063606,0)|0;rc=qVa(qc|0,I|0,pc|0,0)|0;qc=$;f[qc>>2]=rc;f[qc+4>>2]=I;qc=0;sc=fc*((+(rc>>>0)+4294967296.0*+(Xb>>>0))*5.421010862427522e-20);while(1){sc=sc-+n[bc+(qc<<2)>>2];if(sc<=0.0){tc=qc;break}rc=qc+1|0;if((rc|0)>=(Mb|0)){tc=rc;break}else qc=rc}f[o>>2]=0;f[Da>>2]=Fb;qc=Lb;f[q>>2]=41824;f[Ea>>2]=qc;f[Fa>>2]=v;f[Ga>>2]=bc;f[Ha>>2]=tc;rc=f[114825]|0;$Z(o,q,+((((rc+Wb|0)>>>0)/(rc>>>0)|0)>>>0));if(Eb){rc=0;sc=0.0;do{sc=sc+ +n[qc+(rc<<2)>>2];rc=rc+1|0}while((rc|0)!=(Fb|0));if(sc<1797693134862315708145274.0e284){uc=sc;fa=151}else{vc=-1;wc=1797693134862315708145274.0e284;xc=Lb;yc=Ob}}else{uc=0.0;fa=151}if((fa|0)==151){fa=0;vc=tc;wc=uc;xc=Ob;yc=Lb}rc=$;qc=f[rc+4>>2]|0;zc=wVa(f[rc>>2]|0,0,-130063606,0)|0;rc=qVa(zc|0,I|0,qc|0,0)|0;qc=I;zc=wVa(rc|0,0,-130063606,0)|0;Ac=qVa(zc|0,I|0,qc|0,0)|0;qc=$;f[qc>>2]=Ac;f[qc+4>>2]=I;qc=0;Zb=fc*((+(Ac>>>0)+4294967296.0*+(rc>>>0))*5.421010862427522e-20);while(1){Zb=Zb-+n[bc+(qc<<2)>>2];if(Zb<=0.0){Bc=qc;break}rc=qc+1|0;if((rc|0)>=(Mb|0)){Bc=rc;break}else qc=rc}f[o>>2]=0;f[Da>>2]=Fb;qc=xc;f[q>>2]=41824;f[Ea>>2]=qc;f[Fa>>2]=v;f[Ga>>2]=bc;f[Ha>>2]=Bc;rc=f[114825]|0;$Z(o,q,+((((rc+Wb|0)>>>0)/(rc>>>0)|0)>>>0));if(Eb){rc=0;Zb=0.0;while(1){sc=Zb+ +n[qc+(rc<<2)>>2];rc=rc+1|0;if((rc|0)==(Fb|0)){Cc=sc;break}else Zb=sc}}else Cc=0.0;if(Cc>2]|0;Ac=wVa(f[rc>>2]|0,0,-130063606,0)|0;rc=qVa(Ac|0,I|0,qc|0,0)|0;qc=I;Ac=wVa(rc|0,0,-130063606,0)|0;zc=qVa(Ac|0,I|0,qc|0,0)|0;qc=$;f[qc>>2]=zc;f[qc+4>>2]=I;qc=0;Zb=fc*((+(zc>>>0)+4294967296.0*+(rc>>>0))*5.421010862427522e-20);while(1){Zb=Zb-+n[bc+(qc<<2)>>2];if(Zb<=0.0){Hc=qc;break}rc=qc+1|0;if((rc|0)>=(Mb|0)){Hc=rc;break}else qc=rc}f[o>>2]=0;f[Da>>2]=Fb;qc=Fc;f[q>>2]=41824;f[Ea>>2]=qc;f[Fa>>2]=v;f[Ga>>2]=bc;f[Ha>>2]=Hc;rc=f[114825]|0;$Z(o,q,+((((rc+Wb|0)>>>0)/(rc>>>0)|0)>>>0));if(Eb){rc=0;Zb=0.0;while(1){sc=Zb+ +n[qc+(rc<<2)>>2];rc=rc+1|0;if((rc|0)==(Fb|0)){Ic=sc;break}else Zb=sc}}else Ic=0.0;if(!(Ic>2]=qc;f[rc+4>>2]=I;f[o>>2]=0;f[Da>>2]=Fb;rc=Lb;f[q>>2]=41824;f[Ea>>2]=rc;f[Fa>>2]=v;f[Ga>>2]=bc;f[Ha>>2]=0;qc=f[114825]|0;$Z(o,q,+((((qc+Wb|0)>>>0)/(qc>>>0)|0)>>>0));if(Eb){qc=0;Zb=0.0;do{Zb=Zb+ +n[rc+(qc<<2)>>2];qc=qc+1|0}while((qc|0)!=(Fb|0));if(Zb<1797693134862315708145274.0e284){Nc=Zb;fa=162}else{Oc=-1;Pc=1797693134862315708145274.0e284;Qc=Lb;Rc=Ob}}else{Nc=0.0;fa=162}if((fa|0)==162){fa=0;Oc=0;Pc=Nc;Qc=Ob;Rc=Lb}qc=$;rc=f[qc+4>>2]|0;zc=wVa(f[qc>>2]|0,0,-130063606,0)|0;qc=qVa(zc|0,I|0,rc|0,0)|0;rc=I;zc=wVa(qc|0,0,-130063606,0)|0;qc=qVa(zc|0,I|0,rc|0,0)|0;rc=$;f[rc>>2]=qc;f[rc+4>>2]=I;f[o>>2]=0;f[Da>>2]=Fb;rc=Qc;f[q>>2]=41824;f[Ea>>2]=rc;f[Fa>>2]=v;f[Ga>>2]=bc;f[Ha>>2]=0;qc=f[114825]|0;$Z(o,q,+((((qc+Wb|0)>>>0)/(qc>>>0)|0)>>>0));if(Eb){qc=0;sc=0.0;while(1){Sc=sc+ +n[rc+(qc<<2)>>2];qc=qc+1|0;if((qc|0)==(Fb|0)){Tc=Sc;break}else sc=Sc}}else Tc=0.0;if(Tc>2]|0;zc=wVa(f[qc>>2]|0,0,-130063606,0)|0;qc=qVa(zc|0,I|0,rc|0,0)|0;rc=I;zc=wVa(qc|0,0,-130063606,0)|0;qc=qVa(zc|0,I|0,rc|0,0)|0;rc=$;f[rc>>2]=qc;f[rc+4>>2]=I;f[o>>2]=0;f[Da>>2]=Fb;rc=Wc;f[q>>2]=41824;f[Ea>>2]=rc;f[Fa>>2]=v;f[Ga>>2]=bc;f[Ha>>2]=0;qc=f[114825]|0;$Z(o,q,+((((qc+Wb|0)>>>0)/(qc>>>0)|0)>>>0));if(Eb){qc=0;sc=0.0;while(1){Zb=sc+ +n[rc+(qc<<2)>>2];qc=qc+1|0;if((qc|0)==(Fb|0)){Yc=Zb;break}else sc=Zb}}else Yc=0.0;if(!(Yc>2]=Jc;Gb=Gb+1|0;if((Gb|0)>=(c|0))break;else{bc=Qb;fc=Kc;Lb=Lc;Qb=Mc;Ob=bc}}}do if(g){Ob=f[ua>>2]|0;Qb=f[f[Ba>>2]>>2]|0;Lb=f[Ia>>2]|0;Gb=f[f[d>>2]>>2]|0;if((Ib|0)>0)Zc=0;else break;do{Fb=Ob+(X(f[kc+(Zc<<2)>>2]|0,Qb)|0)|0;Eb=Lb+(X(Zc,Gb)|0)|0;Wb=0;do{f[Eb+(Wb<<2)>>2]=f[Fb+(Wb<<2)>>2];Wb=Wb+1|0}while((Wb|0)!=(Ib|0));Zc=Zc+1|0}while((Zc|0)!=(c|0))}while(0);Ib=f[m>>2]|0;if((Ib|0)!=(va|0)){if(Ib|0)HQa(Ib);f[m>>2]=va;f[Aa>>2]=0}Ib=f[l>>2]|0;if((Ib|0)!=(h|0)){if(Ib|0)HQa(Ib);f[l>>2]=h;f[ya>>2]=64}cc=Db}while(0);Cb=Bb+1|0;Ib=f[sa>>2]|0;if((Cb|0)==(((Ib|0)>2?Ib:2)|0))break;if(cc<=+p[pa>>3])break;f[k>>2]=0;f[Ka>>2]=R;Ib=f[D>>2]|0;f[l>>2]=41864;f[La>>2]=Ib;f[Ma>>2]=ma;f[Na>>2]=v;f[Oa>>2]=z;Ib=f[114825]|0;$Z(k,l,+((((Pa+Ib|0)>>>0)/(Ib>>>0)|0)>>>0));Bb=Cb}f[k>>2]=0;f[Ua>>2]=R;Bb=f[D>>2]|0;f[l>>2]=41844;f[Va>>2]=Bb;f[Wa>>2]=ma;f[Xa>>2]=v;f[Ya>>2]=z;Bb=f[114825]|0;$Z(k,l,+((((Za+Bb|0)>>>0)/(Bb>>>0)|0)>>>0));Bb=f[D>>2]|0;f[m>>2]=1124007942;f[_a>>2]=2;f[$a>>2]=1;f[ab>>2]=R;f[bb>>2]=Bb;f[cb>>2]=Bb;f[db>>2]=0;f[db+4>>2]=0;f[db+8>>2]=0;f[db+12>>2]=0;f[fb>>2]=$a;f[hb>>2]=gb;f[ib>>2]=0;f[gb>>2]=0;if(jb&(Bb|0)==0){f[k>>2]=0;f[kb>>2]=0;U=JV(k,26)|0;V=346743;W=U+26|0;do{b[U>>0]=b[V>>0]|0;U=U+1|0;V=V+1|0}while((U|0)<(W|0));EP(-215,k,346770,346774,533);KV(k);_c=f[ab>>2]|0;$c=f[m>>2]|0;ad=f[hb>>2]|0;bd=f[cb>>2]|0}else{_c=R;$c=1124007942;ad=gb;bd=Bb}Ab=_c<<3;f[m>>2]=$c|16384;f[ad>>2]=Ab;f[ad+4>>2]=8;Cb=bd+(X(f[$a>>2]|0,Ab)|0)|0;f[eb>>2]=Cb;f[db>>2]=Cb+(0-Ab)+Ab;f[lb>>2]=0;f[mb>>2]=0;f[l>>2]=16842752;f[nb>>2]=m;IV(F,l);Db=+p[F>>3];Ab=f[ob>>2]|0;if(Ab|0?(Cb=Ab+12|0,Ab=f[Cb>>2]|0,f[Cb>>2]=Ab+-1,(Ab|0)==1):0)XO(m);f[ob>>2]=0;f[bb>>2]=0;f[bb+4>>2]=0;f[bb+8>>2]=0;f[bb+12>>2]=0;if((f[_a>>2]|0)>0){Ab=f[fb>>2]|0;Cb=0;do{f[Ab+(Cb<<2)>>2]=0;Cb=Cb+1|0}while((Cb|0)<(f[_a>>2]|0))}Cb=f[hb>>2]|0;if((Cb|0)!=(gb|0))dX(Cb);if(Db>2]|0;do if(Cb|0){Ab=Cb+12|0;Bb=f[Ab>>2]|0;f[Ab>>2]=Bb+-1;if((Bb|0)!=1)break;XO(G)}while(0);f[pb>>2]=0;f[qb>>2]=0;f[qb+4>>2]=0;f[qb+8>>2]=0;f[qb+12>>2]=0;if((f[rb>>2]|0)>0){Cb=f[sb>>2]|0;Bb=0;do{f[Cb+(Bb<<2)>>2]=0;Bb=Bb+1|0}while((Bb|0)<(f[rb>>2]|0))}Bb=f[tb>>2]|0;if((Bb|0)==(ub|0))break d;dX(Bb);break d}while(0);eM(z,i)}while(0);Bb=vb;f[Bb>>2]=0;f[Bb+4>>2]=0;f[k>>2]=33619968;f[wb>>2]=x;eM(w,k);cd=Db}else cd=yb;zb=zb+1|0;if((zb|0)>=(ja|0)){dd=cd;break}else yb=cd}}else dd=1797693134862315708145274.0e284;ja=f[E>>2]|0;if((ja|0)!=(ta|0)){if(ja|0)HQa(ja);f[E>>2]=ta;f[e>>2]=64}e=f[D>>2]|0;if((e|0)!=(ga|0)){if(e|0)HQa(e);f[D>>2]=ga;f[ka>>2]=64}ka=f[C>>2]|0;if((ka|0)!=(J|0)){if(ka|0)HQa(ka);f[C>>2]=J;f[Y>>2]=64}Y=B+36|0;J=f[Y>>2]|0;if(J|0?(C=J+12|0,J=f[C>>2]|0,f[C>>2]=J+-1,(J|0)==1):0)XO(B);f[Y>>2]=0;Y=B+16|0;f[Y>>2]=0;f[Y+4>>2]=0;f[Y+8>>2]=0;f[Y+12>>2]=0;if((f[y>>2]|0)>0){Y=f[ca>>2]|0;ca=0;do{f[Y+(ca<<2)>>2]=0;ca=ca+1|0}while((ca|0)<(f[y>>2]|0))}y=f[ha>>2]|0;if((y|0)!=(ea|0))dX(y);y=A+36|0;ea=f[y>>2]|0;do if(ea|0){ha=ea+12|0;ca=f[ha>>2]|0;f[ha>>2]=ca+-1;if((ca|0)!=1)break;XO(A)}while(0);f[y>>2]=0;y=A+16|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;if((f[la>>2]|0)>0){y=f[Z>>2]|0;Z=0;do{f[y+(Z<<2)>>2]=0;Z=Z+1|0}while((Z|0)<(f[la>>2]|0))}la=f[ia>>2]|0;if((la|0)!=(_|0))dX(la);la=z+36|0;_=f[la>>2]|0;do if(_|0){ia=_+12|0;Z=f[ia>>2]|0;f[ia>>2]=Z+-1;if((Z|0)!=1)break;XO(z)}while(0);f[la>>2]=0;la=z+16|0;f[la>>2]=0;f[la+4>>2]=0;f[la+8>>2]=0;f[la+12>>2]=0;if((f[na>>2]|0)>0){la=f[oa>>2]|0;oa=0;do{f[la+(oa<<2)>>2]=0;oa=oa+1|0}while((oa|0)<(f[na>>2]|0))}na=f[d>>2]|0;if((na|0)!=(da|0))dX(na);na=x+36|0;da=f[na>>2]|0;do if(da|0){d=da+12|0;oa=f[d>>2]|0;f[d>>2]=oa+-1;if((oa|0)!=1)break;XO(x)}while(0);f[na>>2]=0;na=x+16|0;da=x+4|0;f[na>>2]=0;f[na+4>>2]=0;f[na+8>>2]=0;f[na+12>>2]=0;if((f[da>>2]|0)>0){na=f[x+40>>2]|0;oa=0;do{f[na+(oa<<2)>>2]=0;oa=oa+1|0}while((oa|0)<(f[da>>2]|0))}da=f[x+44>>2]|0;if((da|0)!=(x+48|0))dX(da);da=w+36|0;x=f[da>>2]|0;do if(x|0){oa=x+12|0;na=f[oa>>2]|0;f[oa>>2]=na+-1;if((na|0)!=1)break;XO(w)}while(0);f[da>>2]=0;f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0;f[K+12>>2]=0;if((f[Q>>2]|0)>0){K=f[O>>2]|0;O=0;do{f[K+(O<<2)>>2]=0;O=O+1|0}while((O|0)<(f[Q>>2]|0))}Q=f[N>>2]|0;if((Q|0)!=(P|0))dX(Q);Q=v+36|0;P=f[Q>>2]|0;do if(P|0){N=P+12|0;O=f[N>>2]|0;f[N>>2]=O+-1;if((O|0)!=1)break;XO(v)}while(0);f[Q>>2]=0;Q=v+16|0;P=v+4|0;f[Q>>2]=0;f[Q+4>>2]=0;f[Q+8>>2]=0;f[Q+12>>2]=0;if((f[P>>2]|0)>0){Q=f[v+40>>2]|0;O=0;do{f[Q+(O<<2)>>2]=0;O=O+1|0}while((O|0)<(f[P>>2]|0))}P=f[v+44>>2]|0;if((P|0)!=(v+48|0))dX(P);P=t+36|0;v=f[P>>2]|0;do if(v|0){O=v+12|0;Q=f[O>>2]|0;f[O>>2]=Q+-1;if((Q|0)!=1)break;XO(t)}while(0);f[P>>2]=0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;if((f[T>>2]|0)>0){M=f[t+40>>2]|0;t=0;do{f[M+(t<<2)>>2]=0;t=t+1|0}while((t|0)<(f[T>>2]|0))}T=f[L>>2]|0;if((T|0)!=(H|0))dX(T);if(!(f[r+4>>2]|0)){u=j;return +dd}u=j;return +dd}function xW(a){a=a|0;GQa(a);return}function yW(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0,E=0,F=0.0;c=u;u=u+16|0;d=c;yV(d,41876);e=f[b>>2]|0;g=f[b+4>>2]|0;b=a+16|0;h=f[b>>2]|0;i=f[h+8>>2]|0;j=f[h+12>>2]|0;a:do if((e|0)<(g|0)){k=a+12|0;l=(j|0)>0;m=f[a+4>>2]|0;o=f[a+8>>2]|0;if((i|0)>0){q=e;r=h}else{s=e;while(1){p[m+(s<<3)>>3]=1797693134862315708145274.0e284;f[o+(s<<2)>>2]=0;s=s+1|0;if((s|0)==(g|0))break a}}while(1){s=f[k>>2]|0;t=(f[s+16>>2]|0)+(X(f[f[s+44>>2]>>2]|0,q)|0)|0;s=f[r+16>>2]|0;v=f[f[r+44>>2]>>2]|0;if(l){w=0;x=1797693134862315708145274.0e284;y=0;while(1){z=s+(X(v,w)|0)|0;A=0;B=0.0;do{C=+n[t+(A<<2)>>2]-+n[z+(A<<2)>>2];B=B+C*C;A=A+1|0}while((A|0)!=(j|0));C=B;A=x>C;z=A?w:y;D=A?C:x;w=w+1|0;if((w|0)==(i|0)){E=z;F=D;break}else{x=D;y=z}}}else{y=0;x=1797693134862315708145274.0e284;w=0;while(1){t=x>0.0;v=t?y:w;D=t?0.0:x;y=y+1|0;if((y|0)==(i|0)){E=v;F=D;break}else{x=D;w=v}}}p[m+(q<<3)>>3]=F;f[o+(q<<2)>>2]=E;w=q+1|0;if((w|0)==(g|0))break a;q=w;r=f[b>>2]|0}}while(0);if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function zW(a){a=a|0;GQa(a);return}function AW(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0.0,v=0.0;c=u;u=u+16|0;d=c;yV(d,41896);e=f[b>>2]|0;g=f[b+4>>2]|0;b=a+16|0;h=f[b>>2]|0;i=f[h+12>>2]|0;a:do if((g|0)>(e|0)){j=a+12|0;k=f[a+8>>2]|0;l=f[a+4>>2]|0;if((i|0)>0){m=e;o=h}else{FVa(l+(e<<3)|0,0,g-e<<3|0)|0;break}while(1){q=f[j>>2]|0;r=(f[q+16>>2]|0)+(X(f[f[q+44>>2]>>2]|0,m)|0)|0;q=(f[o+16>>2]|0)+(X(f[f[o+44>>2]>>2]|0,f[k+(m<<2)>>2]|0)|0)|0;s=0;t=0.0;do{v=+n[r+(s<<2)>>2]-+n[q+(s<<2)>>2];t=t+v*v;s=s+1|0}while((s|0)!=(i|0));p[l+(m<<3)>>3]=t;s=m+1|0;if((s|0)==(g|0))break a;m=s;o=f[b>>2]|0}}while(0);if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function BW(a){a=a|0;GQa(a);return}function CW(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0.0;c=u;u=u+16|0;d=c+8|0;e=c;yV(d,41916);g=f[b>>2]|0;h=f[b+4>>2]|0;b=a+8|0;i=f[b>>2]|0;j=f[i+12>>2]|0;a:do if((g|0)<(h|0)){k=f[a+12>>2]|0;l=f[a+4>>2]|0;if((j|0)<=0){m=g;while(1){n[e>>2]=0.0;o=k+(m<<2)|0;f[l+(m<<2)>>2]=f[(+n[o>>2]<0.0?o:e)>>2];m=m+1|0;if((m|0)==(h|0))break a}}m=f[a+16>>2]|0;o=g;p=i;while(1){q=f[p+16>>2]|0;r=f[f[p+44>>2]>>2]|0;s=q+(X(r,o)|0)|0;t=q+(X(m,r)|0)|0;r=0;v=0.0;do{w=+n[s+(r<<2)>>2]-+n[t+(r<<2)>>2];v=v+w*w;r=r+1|0}while((r|0)!=(j|0));n[e>>2]=v;r=k+(o<<2)|0;f[l+(o<<2)>>2]=f[(+n[r>>2]>2];r=o+1|0;if((r|0)==(h|0))break a;o=r;p=f[b>>2]|0}}while(0);if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function DW(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0;g=u;u=u+1152|0;h=g;i=g+44|0;j=g+40|0;k=g+28|0;l=g+16|0;m=g+4|0;f[j>>2]=0;n=d&3;o=(n|0)==2;p=d&4;q=(p|0)!=0;r=(n|0)!=0;n=r&(d&64|0)!=0;f[k>>2]=0;s=k+4|0;f[s>>2]=0;f[k+8>>2]=0;if(!q){f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;t=nCa(a)|0;if(t>>>0>4294967279)NQa(m);if(t>>>0<11){b[m+11>>0]=t;if(!t)v=m;else{w=m;x=7}}else{y=t+16&-16;z=EQa(y)|0;f[m>>2]=z;f[m+8>>2]=y|-2147483648;f[m+4>>2]=t;w=z;x=7}if((x|0)==7){DVa(w|0,a|0,t|0)|0;v=w}b[v+t>>0]=0;f[l>>2]=0;t=l+4|0;f[t>>2]=0;f[l+8>>2]=0;if((eRa(m,10,0)|0)==-1){v=fRa(m,63,-1)|0;w=b[m+11>>0]|0;z=w<<24>>24<0?f[m+4>>2]|0:w&255;QQa(i,m,0,v,m);w=f[t>>2]|0;y=l+8|0;if((w|0)==(f[y>>2]|0))EW(l,i);else{PQa(w,i);f[t>>2]=(f[t>>2]|0)+12}if((b[i+11>>0]|0)<0)GQa(f[i>>2]|0);if((v|0)!=-1?(w=v+1|0,w>>>0>>0):0){v=i+11|0;A=w;while(1){w=eRa(m,38,A)|0;if((A+1|0)>>>0>>0&((w|0)!=(A|0)|(w|0)==-1)){QQa(i,m,A,w-A|0,m);B=f[t>>2]|0;if((B|0)==(f[y>>2]|0))EW(l,i);else{PQa(B,i);f[t>>2]=(f[t>>2]|0)+12}if((b[v>>0]|0)<0)GQa(f[i>>2]|0)}if(w>>>0>>0)A=w+1|0;else break}}}FW(k,f[l>>2]|0,f[t>>2]|0);A=f[l>>2]|0;if(A|0){z=f[t>>2]|0;if((z|0)==(A|0))C=A;else{v=z;while(1){z=v+-12|0;f[t>>2]=z;if((b[z+11>>0]|0)<0){GQa(f[z>>2]|0);D=f[t>>2]|0}else D=z;if((D|0)==(A|0))break;else v=D}C=f[l>>2]|0}GQa(C)}if((b[m+11>>0]|0)<0)GQa(f[m>>2]|0);m=f[k>>2]|0;C=f[s>>2]|0;D=(m|0)==(C|0);v=C;A=m;do if(!D)if((b[m+11>>0]|0)<0){E=f[m>>2]|0;break}else{E=m;break}else E=a;while(0);if(n){F=1;G=E}else{f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;b[i+11>>0]=6;b[i>>0]=b[179574]|0;b[i+1>>0]=b[179575]|0;b[i+2>>0]=b[179576]|0;b[i+3>>0]=b[179577]|0;b[i+4>>0]=b[179578]|0;b[i+5>>0]=b[179579]|0;b[i+6>>0]=0;if(((v-A|0)/12|0)>>>0<2)H=0;else{a:do if(D)I=m;else{A=f[i>>2]&255;v=m;while(1){t=b[v+11>>0]|0;z=t<<24>>24<0;y=t&255;do if(((z?f[v+4>>2]|0:y)|0)==6){t=f[v>>2]|0;if(z)if(!(xCa(t,i,6)|0)){I=v;break a}else break;if(A<<24>>24==(t&255)<<24>>24){t=v;w=y;B=i;do{w=w+-1|0;t=t+1|0;if(!w){I=v;break a}B=B+1|0}while((b[t>>0]|0)==(b[B>>0]|0))}}while(0);v=v+12|0;if((v|0)==(C|0)){I=C;break}}}while(0);H=(I|0)!=(C|0)}F=H&r;G=E}}else{F=n;G=a}a=(G|0)!=0;if(a?(b[G>>0]|0)!=0:0){J=q;K=nCa(G)|0}else if(r){J=1;K=0}else{f[i>>2]=0;f[i+4>>2]=0;n=p>>>1|20;p=JV(i,n)|0;DVa(p|0,(q?179581:179604)|0,n|0)|0;EP(-27,i,179625,179643,98);KV(i);J=1;K=0}if(o&J){f[i>>2]=0;f[i+4>>2]=0;L=JV(i,68)|0;M=179705;N=L+68|0;do{b[L>>0]=b[M>>0]|0;L=L+1|0;M=M+1|0}while((L|0)<(N|0));EP(-206,i,179625,179643,105);KV(i)}n=eX(304)|0;f[j>>2]=n;if(!n){f[i>>2]=0;f[i+4>>2]=0;q=JV(i,2)|0;b[q>>0]=102;b[q+1>>0]=115;EP(-215,i,179625,179643,108);KV(i);O=f[j>>2]|0}else O=n;FVa(O|0,0,304)|0;O=qM(262144)|0;n=f[j>>2]|0;f[n+16>>2]=O;f[n+20>>2]=(c|0)==0?O:c;f[n>>2]=1280131417;f[n+8>>2]=r&1;b:do if(!J){r=wM(O,K+1|0)|0;f[(f[j>>2]|0)+60>>2]=r;iDa(r,G)|0;r=f[j>>2]|0;c=f[r+60>>2]|0;q=RDa(c,46)|0;do if((q|0?(b[q+1>>0]|0)==103:0)?(b[q+2>>0]|0)==122:0){p=q+3|0;E=b[p>>0]|0;if(E<<24>>24){if((E+-48&255)>=10)break;if(b[q+4>>0]|0)break}if(o){GW(j);f[i>>2]=0;f[i+4>>2]=0;L=JV(i,52)|0;M=179774;N=L+52|0;do{b[L>>0]=b[M>>0]|0;L=L+1|0;M=M+1|0}while((L|0)<(N|0));EP(-213,i,179625,179643,131);KV(i);P=b[p>>0]|0}else P=E;if(!(P<<24>>24)){Q=0;R=K}else{b[p>>0]=0;Q=P;R=K+-1|0}H=f[j>>2]|0;b[i>>0]=f[H+8>>2]|0?119:114;b[i+1>>0]=98;b[i+2>>0]=Q<<24>>24?Q:51;b[i+3>>0]=0;C=aBa(f[H+60>>2]|0,i)|0;H=f[j>>2]|0;f[H+68>>2]=C;if(!C){S=H;break b}else{T=1;U=R;V=H;x=74;break b}}while(0);q=iFa(c,(f[r+8>>2]|0)==0?179834:o?179827:179831)|0;H=f[j>>2]|0;f[H+64>>2]=q;if(!q)S=H;else{T=0;U=K;V=H;x=74}}else{T=0;U=K;V=n;x=74}while(0);if((x|0)==74){f[V+32>>2]=0;f[V+40>>2]=0;f[V+44>>2]=0;f[V+84>>2]=71;if(!(f[V+8>>2]|0)){if(J){f[V+256>>2]=G;f[V+260>>2]=U}EZ(V,i,14)|0;if((b[i>>0]|0)==-17?(b[i+1>>0]|0)==-69:0)W=(b[i+2>>0]|0)==-65?i+3|0:i;else W=i;U=W-i|0;do if(sCa(W,190686,5)|0){if((b[W>>0]|0)==123){f[(f[j>>2]|0)+4>>2]=24;break}x=(sCa(W,185131,5)|0)==0;n=f[j>>2]|0;if(x){f[n+4>>2]=8;break}if((f[n+260>>2]|0)==(U|0)){f[l>>2]=0;f[l+4>>2]=0;L=JV(l,19)|0;M=180181;N=L+19|0;do{b[L>>0]=b[M>>0]|0;L=L+1|0;M=M+1|0}while((L|0)<(N|0));EP(-49,l,179625,179643,388);KV(l);break}else{f[l>>2]=0;f[l+4>>2]=0;L=JV(l,31)|0;M=180201;N=L+31|0;do{b[L>>0]=b[M>>0]|0;L=L+1|0;M=M+1|0}while((L|0)<(N|0));EP(-49,l,179625,179643,390);KV(l);break}}else f[(f[j>>2]|0)+4>>2]=16;while(0);if(T)X=1048576;else{T=f[j>>2]|0;if(J)Y=f[T+260>>2]|0;else{JFa(f[T+64>>2]|0,0,2)|0;Y=LFa(f[(f[j>>2]|0)+64>>2]|0)|0}T=Y>>>0<1048576?Y:1048576;X=T>>>0>9216?T:9216}HZ(f[j>>2]|0);T=f[j>>2]|0;f[T+264>>2]=U;U=IZ(0,72,16,f[T+16>>2]|0,256)|0;T=f[j>>2]|0;f[T+28>>2]=U;U=zM(0,56,16,f[T+16>>2]|0)|0;f[(f[j>>2]|0)+32>>2]=U;U=eX(X+256|0)|0;T=f[j>>2]|0;f[T+76>>2]=U;f[T+72>>2]=U;f[T+80>>2]=U+X;b[U>>0]=10;b[(f[(f[j>>2]|0)+72>>2]|0)+1>>0]=0;U=f[j>>2]|0;switch(f[U+4>>2]|0){case 8:{ZY(U);break}case 16:{H_(U);break}case 24:{mZ(U);break}default:{}}fX(f[(f[j>>2]|0)+76>>2]|0);U=f[j>>2]|0;f[U+76>>2]=0;f[U+80>>2]=0;f[U+72>>2]=0;Z=U}else{U=d&56;if(J){J=EQa(24)|0;f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[J+12>>2]=0;f[J+16>>2]=0;f[J+20>>2]=0;f[V+268>>2]=J}c:do if((U|0)==0&a){J=G;V=0;d=0;d:while(1){switch(b[J>>0]|0){case 0:{break d;break}case 46:{_=d;$=J;break}default:{_=V;$=d}}J=J+1|0;V=_;d=$}if((((d|0)!=0?(nCa(d)|0)==3:0)?(J=IDa(b[d>>0]|0)|0,(J|0)==(IDa(46)|0)):0)?(J=IDa(b[d+1>>0]|0)|0,(J|0)==(IDa(103)|0)):0){J=IDa(b[d+2>>0]|0)|0;X=(J|0)==(IDa(122)|0);aa=X?1:0}else aa=0;X=(V|0)!=0&aa?V:d;if(X){if(((((nCa(X)|0)==4?(J=IDa(b[X>>0]|0)|0,(J|0)==(IDa(46)|0)):0)?(J=IDa(b[X+1>>0]|0)|0,(J|0)==(IDa(120)|0)):0)?(J=IDa(b[X+2>>0]|0)|0,(J|0)==(IDa(109)|0)):0)?(J=IDa(b[X+3>>0]|0)|0,(J|0)==(IDa(108)|0)):0){ba=8;break}do if(((((nCa(X)|0)==7?(J=IDa(b[X>>0]|0)|0,(J|0)==(IDa(46)|0)):0)?(J=IDa(b[X+1>>0]|0)|0,(J|0)==(IDa(120)|0)):0)?(J=IDa(b[X+2>>0]|0)|0,(J|0)==(IDa(109)|0)):0)?(J=IDa(b[X+3>>0]|0)|0,(J|0)==(IDa(108)|0)):0){J=IDa(b[X+4>>0]|0)|0;if((J|0)!=(IDa(46)|0))break;J=IDa(b[X+5>>0]|0)|0;if((J|0)!=(IDa(103)|0))break;J=IDa(b[X+6>>0]|0)|0;if((J|0)==(IDa(122)|0)){ba=8;break c}}while(0);do if((((nCa(X)|0)==5?(d=IDa(b[X>>0]|0)|0,(d|0)==(IDa(46)|0)):0)?(d=IDa(b[X+1>>0]|0)|0,(d|0)==(IDa(106)|0)):0)?(d=IDa(b[X+2>>0]|0)|0,(d|0)==(IDa(115)|0)):0){d=IDa(b[X+3>>0]|0)|0;if((d|0)!=(IDa(111)|0))break;d=IDa(b[X+4>>0]|0)|0;if((d|0)==(IDa(110)|0)){ba=24;break c}}while(0);if((((nCa(X)|0)==8?(d=IDa(b[X>>0]|0)|0,(d|0)==(IDa(46)|0)):0)?(d=IDa(b[X+1>>0]|0)|0,(d|0)==(IDa(106)|0)):0)?(d=IDa(b[X+2>>0]|0)|0,(d|0)==(IDa(115)|0)):0){d=IDa(b[X+3>>0]|0)|0;if((d|0)!=(IDa(111)|0)){ba=16;break}d=IDa(b[X+4>>0]|0)|0;if((d|0)!=(IDa(110)|0)){ba=16;break}d=IDa(b[X+5>>0]|0)|0;if((d|0)!=(IDa(46)|0)){ba=16;break}d=IDa(b[X+6>>0]|0)|0;if((d|0)!=(IDa(103)|0)){ba=16;break}d=IDa(b[X+7>>0]|0)|0;V=(d|0)==(IDa(122)|0);ba=V?24:16}else ba=16}else ba=16}else ba=U|0?U:8;while(0);U=f[j>>2]|0;f[U+4>>2]=ba;aa=(ba|0)==8?25600:17408;if(o){JFa(f[U+64>>2]|0,0,2)|0;o=(LFa(f[(f[j>>2]|0)+64>>2]|0)|0)!=0;$=f[j>>2]|0;ca=o;da=f[$+4>>2]|0;ea=$}else{ca=0;da=ba;ea=U}U=zM(0,56,(da|0)==8?24:4,f[ea+16>>2]|0)|0;ea=f[j>>2]|0;f[ea+36>>2]=U;f[ea+12>>2]=1;f[ea+40>>2]=0;f[ea+44>>2]=32;ea=eX(aa+1024|0)|0;U=f[j>>2]|0;f[U+72>>2]=ea;f[U+76>>2]=ea;f[U+80>>2]=ea+aa;f[U+272>>2]=0;b[U+276>>0]=F&1;f[U+280>>2]=0;b[U+284>>0]=0;f[U+288>>2]=0;f[U+292>>2]=0;f[U+296>>2]=0;switch(f[U+4>>2]|0){case 8:{F=f[U+64>>2]|0;if(!F){fa=U;ga=0}else{aa=LFa(F)|0;fa=f[j>>2]|0;ga=aa}aa=rM(f[fa+16>>2]|0)|0;fa=f[j>>2]|0;f[fa+24>>2]=aa;if((ga|0)==0|ca^1){if(!e)AZ(fa,179977);else{if(!(((mCa(e,179837)|0)!=0?(mCa(e,179844)|0)!=0:0)?(mCa(e,179851)|0)!=0:0)){GW(j);f[i>>2]=0;f[i+4>>2]=0;L=JV(i,57)|0;M=179858;N=L+57|0;do{b[L>>0]=b[M>>0]|0;L=L+1|0;M=M+1|0}while((L|0)<(N|0));EP(-5,i,179625,179643,246);KV(i)}if((nCa(e)|0)>>>0>=1e3){f[i>>2]=0;f[i+4>>2]=0;L=JV(i,23)|0;M=179916;N=L+23|0;do{b[L>>0]=b[M>>0]|0;L=L+1|0;M=M+1|0}while((L|0)<(N|0));EP(-215,i,179625,179643,249);KV(i)}f[h>>2]=e;lDa(i,179940,h)|0;AZ(f[j>>2]|0,i)}AZ(f[j>>2]|0,18e4)}else{h=(ga|0)<1024?ga:1024;JFa(f[fa+64>>2]|0,0-h|0,2)|0;fa=eX(h+2|0)|0;ga=-1;e:while(1){while(1){ha=LFa(f[(f[j>>2]|0)+64>>2]|0)|0;ia=EZ(f[j>>2]|0,fa,h)|0;if(!ia)break e;e=qCa(ia,180018)|0;if(e|0){ja=e;break}}while(1){X=qCa(ja+17|0,180018)|0;if(!X)break;else ja=X}ga=ha-ia+ja|0}fX(fa);if((ga|0)<0){GW(j);f[i>>2]=0;f[i+4>>2]=0;L=JV(i,53)|0;M=180036;N=L+53|0;do{b[L>>0]=b[M>>0]|0;L=L+1|0;M=M+1|0}while((L|0)<(N|0));EP(-2,i,179625,179643,287);KV(i)}GZ(f[j>>2]|0);fa=iFa(f[(f[j>>2]|0)+60>>2]|0,180090)|0;f[(f[j>>2]|0)+64>>2]=fa;if(!fa){f[i>>2]=0;f[i+4>>2]=0;ja=JV(i,8)|0;ia=ja;b[ia>>0]=102;b[ia+1>>0]=115;b[ia+2>>0]=45;b[ia+3>>0]=62;ia=ja+4|0;b[ia>>0]=102;b[ia+1>>0]=105;b[ia+2>>0]=108;b[ia+3>>0]=101;EP(-215,i,179625,179643,291);KV(i);ka=f[(f[j>>2]|0)+64>>2]|0}else ka=fa;JFa(ka,ga,0)|0;AZ(f[j>>2]|0,180094);JFa(f[(f[j>>2]|0)+64>>2]|0,0,2)|0;AZ(f[j>>2]|0,180112)}la=f[j>>2]|0;ma=166;na=19;oa=131;pa=167;qa=913;ra=914;sa=130;break}case 16:{if(ca)AZ(U,180129);else AZ(U,180114);la=f[j>>2]|0;ma=168;na=20;oa=133;pa=169;qa=915;ra=916;sa=132;break}default:{f:do if(ca){g:do if(!(JFa(f[U+64>>2]|0,0,2)|0)){ga=0;while(1){if((nFa(f[(f[j>>2]|0)+64>>2]|0)|0)==125)break;ka=ga+-1|0;if(!(JFa(f[(f[j>>2]|0)+64>>2]|0,ka,2)|0))ga=ka;else break g}JFa(f[(f[j>>2]|0)+64>>2]|0,ga,2)|0;GZ(f[j>>2]|0);p=iFa(f[(f[j>>2]|0)+60>>2]|0,180090)|0;f[(f[j>>2]|0)+64>>2]=p;if(!p){f[i>>2]=0;f[i+4>>2]=0;E=JV(i,8)|0;ka=E;b[ka>>0]=102;b[ka+1>>0]=115;b[ka+2>>0]=45;b[ka+3>>0]=62;ka=E+4|0;b[ka>>0]=102;b[ka+1>>0]=105;b[ka+2>>0]=108;b[ka+3>>0]=101;EP(-215,i,179625,179643,345);KV(i);ta=f[(f[j>>2]|0)+64>>2]|0}else ta=p;JFa(ta,ga,2)|0;CFa(44,f[(f[j>>2]|0)+64>>2]|0)|0;break f}while(0);f[i>>2]=0;f[i+4>>2]=0;L=JV(i,39)|0;M=180141;N=L+39|0;do{b[L>>0]=b[M>>0]|0;L=L+1|0;M=M+1|0}while((L|0)<(N|0));EP(-2,i,179625,179643,351);KV(i)}else AZ(U,180138);while(0);U=f[j>>2]|0;f[U+40>>2]=4;la=U;ma=170;na=21;oa=135;pa=171;qa=917;ra=918;sa=134}}f[la+228>>2]=sa;f[la+232>>2]=qa;f[la+236>>2]=ma;f[la+240>>2]=na;f[la+244>>2]=oa;f[la+248>>2]=pa;f[la+252>>2]=ra;Z=la}b[Z+300>>0]=1;S=Z}h:do if(!S)ua=0;else{do if((lQ()|0)>=0){Z=f[j>>2]|0;if((((f[Z+64>>2]|0)==0?(f[Z+68>>2]|0)==0:0)?(f[Z+268>>2]|0)==0:0)?(f[Z+256>>2]|0)==0:0)break;if(f[Z+8>>2]|0){ua=Z;break h}GZ(Z);Z=f[j>>2]|0;b[Z+300>>0]=1;ua=Z;break h}while(0);GW(j);ua=f[j>>2]|0}while(0);j=f[k>>2]|0;if(!j){u=g;return ua|0}S=f[s>>2]|0;if((S|0)==(j|0))va=j;else{Z=S;while(1){S=Z+-12|0;f[s>>2]=S;if((b[S+11>>0]|0)<0){GQa(f[S>>2]|0);wa=f[s>>2]|0}else wa=S;if((wa|0)==(j|0))break;else Z=wa}va=f[k>>2]|0}GQa(va);u=g;return ua|0}function EW(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+4|0;e=f[a>>2]|0;g=((f[d>>2]|0)-e|0)/12|0;h=g+1|0;if(h>>>0>357913941)ZOa(a);i=a+8|0;j=((f[i>>2]|0)-e|0)/12|0;e=j<<1;k=j>>>0<178956970?(e>>>0>>0?h:e):357913941;do if(k)if(k>>>0>357913941){e=hd(8)|0;LQa(e,349912);f[e>>2]=118288;ld(e|0,20688,857)}else{l=EQa(k*12|0)|0;break}else l=0;while(0);e=l+(g*12|0)|0;g=e;h=l+(k*12|0)|0;PQa(e,c);c=e+12|0;k=f[a>>2]|0;l=f[d>>2]|0;if((l|0)==(k|0)){m=g;n=k;o=k}else{j=l;l=g;g=e;do{j=j+-12|0;PQa(g+-12|0,j);g=l+-12|0;l=g}while((j|0)!=(k|0));m=l;n=f[a>>2]|0;o=f[d>>2]|0}f[a>>2]=m;f[d>>2]=c;f[i>>2]=h;h=n;if((o|0)!=(h|0)){i=o;do{i=i+-12|0;if((b[i+11>>0]|0)<0)GQa(f[i>>2]|0)}while((i|0)!=(h|0))}if(!n)return;GQa(n);return}function FW(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=(d-c|0)/12|0;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;if(e>>>0<=((h-i|0)/12|0)>>>0){k=a+4|0;l=((f[k>>2]|0)-i|0)/12|0;m=e>>>0>l>>>0;n=c+(l*12|0)|0;l=m?n:d;if((l|0)==(c|0))o=j;else{p=c;q=j;while(1){SQa(q,p)|0;p=p+12|0;r=q+12|0;if((p|0)==(l|0)){o=r;break}else q=r}}if(m){if((l|0)==(d|0))return;l=n;n=f[k>>2]|0;do{PQa(n,l);l=l+12|0;n=(f[k>>2]|0)+12|0;f[k>>2]=n}while((l|0)!=(d|0));return}l=f[k>>2]|0;if((l|0)==(o|0))return;else s=l;while(1){l=s+-12|0;f[k>>2]=l;if((b[l+11>>0]|0)<0){GQa(f[l>>2]|0);t=f[k>>2]|0}else t=l;if((t|0)==(o|0))break;else s=t}return}if(!i)u=h;else{h=a+4|0;t=f[h>>2]|0;if((t|0)==(j|0))v=i;else{i=t;while(1){t=i+-12|0;f[h>>2]=t;if((b[t+11>>0]|0)<0){GQa(f[t>>2]|0);w=f[h>>2]|0}else w=t;if((w|0)==(j|0))break;else i=w}v=f[a>>2]|0}GQa(v);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;u=0}if(e>>>0>357913941)ZOa(a);h=(u|0)/12|0;u=h<<1;v=h>>>0<178956970?(u>>>0>>0?e:u):357913941;if(v>>>0>357913941)ZOa(a);u=EQa(v*12|0)|0;e=a+4|0;f[e>>2]=u;f[a>>2]=u;f[g>>2]=u+(v*12|0);if((c|0)==(d|0))return;else{x=c;y=u}do{PQa(y,x);x=x+12|0;y=(f[e>>2]|0)+12|0;f[e>>2]=y}while((x|0)!=(d|0));return}function GW(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;c=u;u=u+16|0;d=c;if(!a){f[d>>2]=0;f[d+4>>2]=0;e=JV(d,35)|0;g=188115;h=e+35|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));EP(-27,d,180233,179643,469);KV(d)}d=f[a>>2]|0;if(!d){u=c;return}f[a>>2]=0;NZ(d,0);sM(d+24|0);a=d+76|0;fX(f[a>>2]|0);f[a>>2]=0;sM(d+16|0);a=f[d+268>>2]|0;if(a|0){g=a+4|0;e=f[g>>2]|0;h=a+16|0;i=f[h>>2]|0;j=e+(i>>>12<<2)|0;k=a+8|0;l=f[k>>2]|0;m=l;n=e;if((l|0)==(e|0)){o=0;p=a+20|0;q=0}else{r=a+20|0;s=(f[r>>2]|0)+i|0;o=(f[e+(s>>>12<<2)>>2]|0)+(s&4095)|0;p=r;q=(f[j>>2]|0)+(i&4095)|0}i=j;j=q;a:while(1){q=j;do{r=q;if((o|0)==(r|0))break a;q=r+1|0}while((q-(f[i>>2]|0)|0)!=4096);q=i+4|0;i=q;j=f[q>>2]|0}f[p>>2]=0;p=m-n>>2;if(p>>>0>2){n=e;do{GQa(f[n>>2]|0);n=(f[g>>2]|0)+4|0;f[g>>2]=n;t=f[k>>2]|0;v=t-n>>2}while(v>>>0>2);w=v;x=n;y=t}else{w=p;x=e;y=l}switch(w|0){case 1:{z=2048;A=18;break}case 2:{z=4096;A=18;break}default:{}}if((A|0)==18)f[h>>2]=z;if((x|0)!=(y|0)){z=x;do{GQa(f[z>>2]|0);z=z+4|0}while((z|0)!=(y|0));y=f[g>>2]|0;g=f[k>>2]|0;if((g|0)!=(y|0))f[k>>2]=g+(~((g+-4-y|0)>>>2)<<2)}y=f[a>>2]|0;if(y|0)GQa(y);GQa(a)}a=f[d+272>>2]|0;if(a|0){ZX(a);GQa(a)}a=f[d+288>>2]|0;if(a|0)HQa(a);a=f[d+296>>2]|0;if(a|0)HQa(a);FVa(d|0,0,304)|0;fX(d);u=c;return}function HW(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;g=u;u=u+80|0;h=g+76|0;i=g+40|0;j=g+8|0;k=g;f[h>>2]=0;nS(i,DW(a,c,0,0)|0,1);if(!(hS(i)|0)){l=0;eS(i);u=g;return l|0}a=i+8|0;m=f[a>>2]|0;a:do if(!d){n=f[m+32>>2]|0;if((f[n+24>>2]|0)>0){o=k+4|0;p=j+12|0;q=j+20|0;r=0;s=n;b:while(1){n=BM(s,r)|0;if(!n){f[k>>2]=0;f[o>>2]=0;t=JV(k,10)|0;v=180254;w=t+10|0;do{b[t>>0]=b[v>>0]|0;t=t+1|0;v=v+1|0}while((t|0)<(w|0));EP(-215,k,180265,179643,519);KV(k)}c:do if((f[n>>2]&7|0)==6){x=f[n+8>>2]|0;EM(x,j,0);y=x+24|0;z=f[y>>2]|0;if((z|0)>0){A=x+28|0;x=0;B=z;while(1){C=f[p>>2]|0;if((f[C>>2]|0)>-1)break;z=C+(f[A>>2]|0)|0;f[p>>2]=z;if(z>>>0<(f[q>>2]|0)>>>0)D=B;else{MM(j,1);D=f[y>>2]|0}x=x+1|0;if((x|0)>=(D|0)){E=0;F=0;break c}else B=D}E=10;F=C}else{E=0;F=0}}else{E=1;F=n}while(0);switch(E&15){case 10:{G=F;H=19;break a;break}case 0:break;default:break b}r=r+1|0;s=f[(f[a>>2]|0)+32>>2]|0;if((r|0)>=(f[s+24>>2]|0)){G=F;H=19;break a}}if(!E){G=F;H=19}else{l=0;eS(i);u=g;return l|0}}else H=20}else{G=IW(m,0,d)|0;H=19}while(0);if((H|0)==19)if(G)if(!(f[G>>2]&64)){I=G;J=0}else{I=G;J=f[(f[G+16>>2]|0)+8>>2]|0}else H=20;if((H|0)==20){f[j>>2]=0;f[j+4>>2]=0;t=JV(j,44)|0;v=180272;w=t+44|0;do{b[t>>0]=b[v>>0]|0;t=t+1|0;v=v+1|0}while((t|0)<(w|0));EP(-204,j,180265,179643,544);KV(j);I=0;J=0}H=JW(f[a>>2]|0,I,0)|0;f[h>>2]=H;d:do if(!((c|0)!=0|(H|0)==0)){I=f[H>>2]&-65536;if((I|0)<1117323264)switch(I|0){case 1117257728:break;default:break d}else switch(I|0){case 1117323264:break;default:break d}f[j>>2]=0;f[j+4>>2]=0;t=JV(j,78)|0;v=180317;w=t+78|0;do{b[t>>0]=b[v>>0]|0;t=t+1|0;v=v+1|0}while((t|0)<(w|0));EP(-27,j,180265,179643,552);KV(j)}while(0);if((lQ()|0)<0){KW(h);K=0}else K=J;do if(e|0)if(!K){f[e>>2]=0;break}else{J=eX(nCa(K)|0)|0;f[e>>2]=J;DVa(J|0,K|0,nCa(K)|0)|0;break}while(0);l=f[h>>2]|0;eS(i);u=g;return l|0}function IW(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;e=u;u=u+16|0;g=e;if(!a){h=0;u=e;return h|0}if((f[a>>2]|0)!=1280131417){f[g>>2]=0;f[g+4>>2]=0;i=JV(g,31)|0;j=182401;k=i+31|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-5,g,180524,179643,727);KV(g)}if(!d){f[g>>2]=0;f[g+4>>2]=0;i=JV(g,17)|0;j=180544;k=i+17|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-27,g,180524,179643,730);KV(g)}l=b[d>>0]|0;if(!(l<<24>>24)){m=0;n=0}else{o=0;p=0;q=l;while(1){l=(o*33|0)+(q&255)|0;r=p+1|0;q=b[d+r>>0]|0;if(!(q<<24>>24)){m=l;n=r;break}else{o=l;p=r}}}p=m&2147483647;a:do if(!c){m=f[a+32>>2]|0;if(!m){h=0;u=e;return h|0}o=f[m+24>>2]|0;if((o|0)<=0){h=0;u=e;return h|0}m=a+32|0;q=0;b:while(1){s=BM(f[m>>2]|0,q)|0;t=f[s>>2]|0;switch(t&7){case 5:{v=22;break b;break}case 6:break;default:{w=t;break a}}r=f[s+8>>2]|0;l=f[r+64>>2]|0;x=l+-1|0;if(!(x&l))y=x&p;else y=(p>>>0)%(l>>>0)|0;l=f[(f[r+68>>2]|0)+(y<<2)>>2]|0;if(l|0){r=l;do{l=f[r+16>>2]|0;if(((f[l>>2]|0)==(p|0)?(f[l+4>>2]|0)==(n|0):0)?(xCa(f[l+8>>2]|0,d,n)|0)==0:0){z=r;v=35;break a}r=f[r+20>>2]|0}while((r|0)!=0)}q=q+1|0;if((q|0)>=(o|0)){h=0;v=36;break}}if((v|0)==22){A=s;B=t;v=23;break}else if((v|0)==36){u=e;return h|0}}else{o=f[c>>2]|0;q=c+8|0;switch(o&7){case 5:{A=c;B=o;v=23;break a;break}case 6:break;default:{w=o;break a}}o=f[q>>2]|0;q=f[o+64>>2]|0;m=q+-1|0;if(!(m&q))C=m&p;else C=(p>>>0)%(q>>>0)|0;q=f[(f[o+68>>2]|0)+(C<<2)>>2]|0;if(!q){h=0;u=e;return h|0}else D=q;while(1){q=f[D+16>>2]|0;if(((f[q>>2]|0)==(p|0)?(f[q+4>>2]|0)==(n|0):0)?(xCa(f[q+8>>2]|0,d,n)|0)==0:0){z=D;v=35;break a}D=f[D+20>>2]|0;if(!D){h=0;break}}u=e;return h|0}while(0);if((v|0)==23)if(!(f[(f[A+8>>2]|0)+24>>2]|0)){h=0;u=e;return h|0}else w=B;else if((v|0)==35){h=z;u=e;return h|0}if(!(w&7)){h=0;u=e;return h|0}f[g>>2]=0;f[g+4>>2]=0;i=JV(g,49)|0;j=180562;k=i+49|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-2,g,180524,179643,757);KV(g);h=0;u=e;return h|0}function JW(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e;h=(a|0)!=0;if(!(h?(f[a>>2]|0)==1280131417:0)){i=h?-5:-27;f[g>>2]=0;f[g+4>>2]=0;j=JV(g,31)|0;k=182401;l=j+31|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(i,g,180459,179643,1420);KV(g)}if(!c){m=0;u=e;return m|0}if((f[c>>2]&16|0)!=0?(i=f[c+4>>2]|0,(i|0)!=0):0)n=i;else{f[g>>2]=0;f[g+4>>2]=0;j=JV(g,57)|0;k=180466;l=j+57|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-2,g,180459,179643,1426);KV(g);n=f[c+4>>2]|0}g=Zf[f[n+28>>2]&127](a,c)|0;if(!d){m=g;u=e;return m|0}f[d>>2]=0;f[d+4>>2]=0;m=g;u=e;return m|0}function KW(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=u;u=u+16|0;d=c;if(!a){f[d>>2]=0;f[d+4>>2]=0;e=JV(d,19)|0;g=190192;h=e+19|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));EP(-27,d,180396,179643,1380);KV(d)}i=f[a>>2]|0;if(!i){u=c;return}j=f[114849]|0;a:do if(!j)k=7;else{l=j;while(1){if(Wf[f[l+20>>2]&255](i)|0){m=l;break a}l=f[l+12>>2]|0;if(!l){k=7;break}}}while(0);if((k|0)==7){f[d>>2]=0;f[d+4>>2]=0;e=JV(d,19)|0;g=180406;h=e+19|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));EP(-2,d,180396,179643,1386);KV(d);m=0}k=m+24|0;m=f[k>>2]|0;if(!m){f[d>>2]=0;f[d+4>>2]=0;e=JV(d,32)|0;g=180426;h=e+32|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));EP(-2,d,180396,179643,1388);KV(d);n=f[k>>2]|0}else n=m;qg[n&1023](a);f[a>>2]=0;u=c;return}function LW(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;if(!a){c=0;return c|0}else d=a;a:while(1){e=f[d>>2]|0;if(!e){c=0;g=8;break}a=f[e>>2]|0;if(a|0){h=0;i=a;j=0;while(1){h=h+1|0;if(!(mCa(b,i)|0)){g=7;break a}a=h<<1;i=f[e+(a<<2)>>2]|0;if(!i)break;else j=a}}d=f[d+4>>2]|0;if(!d){c=0;g=8;break}}if((g|0)==7){c=f[e+((j|1)<<2)>>2]|0;return c|0}else if((g|0)==8)return c|0;return 0}function MW(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=u;u=u+16|0;i=g;if(!a){j=0;u=g;return j|0}k=f[a+28>>2]|0;if((d|0)<0){a=b[c>>0]|0;if(!(a<<24>>24)){l=0;m=0}else{n=0;o=0;p=a;while(1){a=(o*33|0)+(p&255)|0;q=n+1|0;p=b[c+q>>0]|0;if(!(p<<24>>24)){l=q;m=a;break}else{n=q;o=a}}}}else if(!d){l=0;m=0}else{o=0;n=0;while(1){p=(o*33|0)+(h[c+n>>0]|0)|0;n=n+1|0;if((n|0)>=(d|0)){l=d;m=p;break}else o=p}}o=m&2147483647;m=f[k+64>>2]|0;d=m+-1|0;if(!(d&m))r=d&o;else r=(o>>>0)%(m>>>0)|0;m=k+68|0;d=f[(f[m>>2]|0)+(r<<2)>>2]|0;a:do if(d|0){n=d;while(1){if(((f[n>>2]|0)==(o|0)?(f[n+4>>2]|0)==(l|0):0)?(xCa(f[n+8>>2]|0,c,l)|0)==0:0){j=n;break}n=f[n+12>>2]|0;if(!n)break a}u=g;return j|0}while(0);if(!e){j=0;u=g;return j|0}e=k+56|0;d=f[e>>2]|0;f[i>>2]=d;if(!d){VM(k,0,i)|0;s=f[i>>2]|0}else{f[e>>2]=f[d+4>>2];f[d>>2]=f[d>>2]&67108863;e=k+60|0;f[e>>2]=(f[e>>2]|0)+1;s=d}f[s>>2]=o;yM(i,f[k+44>>2]|0,c,l);l=i;i=f[l+4>>2]|0;c=s+4|0;f[c>>2]=f[l>>2];f[c+4>>2]=i;i=(f[m>>2]|0)+(r<<2)|0;f[s+12>>2]=f[i>>2];f[i>>2]=s;j=s;u=g;return j|0}function NW(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;g=u;u=u+16|0;h=g;if(!a){i=0;u=g;return i|0}if((f[a>>2]|0)!=1280131417){f[h>>2]=0;f[h+4>>2]=0;j=JV(h,31)|0;k=182401;l=j+31|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-5,h,180612,179643,653);KV(h)}if(!d){f[h>>2]=0;f[h+4>>2]=0;j=JV(h,16)|0;k=180626;l=j+16|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-27,h,180612,179643,656);KV(h)}m=(c|0)!=0;if(m){n=f[a+32>>2]|0;if(!n){i=0;u=g;return i|0}o=f[n+24>>2]|0;if((o|0)>0)p=o;else{i=0;u=g;return i|0}}else p=1;o=p+-1|0;n=(e|0)!=0;q=(e|0)==0;e=a+32|0;r=h+4|0;s=0;t=0;a:while(1){if(!m){v=BM(f[e>>2]|0,t)|0;if(!v){f[h>>2]=0;f[r>>2]=0;j=JV(h,14)|0;k=180643;l=j+14|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-215,h,180612,179643,674);KV(h);w=0}else w=v}else w=c;x=f[w>>2]|0;switch(x&7){case 5:{y=14;break a;break}case 6:break;default:{y=15;break a}}z=f[w+8>>2]|0;A=f[z+64>>2]|0;B=A+-1|0;C=f[d>>2]|0;if(!(B&A))D=C&B;else D=(C>>>0)%(A>>>0)|0;A=z+68|0;C=f[(f[A>>2]|0)+(D<<2)>>2]|0;b:do if(C|0){if(q){E=C;while(1){if((f[E+16>>2]|0)==(d|0)){y=25;break a}B=f[E+20>>2]|0;if(!B)break b;else E=B}}else F=C;do{if((f[F+16>>2]|0)==(d|0))JZ(a,180612,180658,179643,699);F=f[F+20>>2]|0}while((F|0)!=0)}while(0);if(n&(t|0)==(o|0)){C=z+56|0;v=f[C>>2]|0;f[h>>2]=v;if(!v){VM(z,0,h)|0;G=f[h>>2]|0}else{f[C>>2]=f[v+4>>2];f[v>>2]=f[v>>2]&67108863;C=z+60|0;f[C>>2]=(f[C>>2]|0)+1;G=v}f[G+16>>2]=d;v=(f[A>>2]|0)+(D<<2)|0;f[G+20>>2]=f[v>>2];f[v>>2]=G;H=G}else H=s;t=t+1|0;if((t|0)>=(p|0)){i=H;y=34;break}else s=H}if((y|0)==14){if((x&7|0)==0?1:(f[(f[w+8>>2]|0)+24>>2]|0)==0){i=0;u=g;return i|0}}else if((y|0)==15){if(!(x&7)){i=0;u=g;return i|0}}else if((y|0)==25){i=E;u=g;return i|0}else if((y|0)==34){u=g;return i|0}f[h>>2]=0;f[h+4>>2]=0;j=JV(h,49)|0;k=180562;l=j+49|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-2,h,180612,179643,679);KV(h);i=0;u=g;return i|0}function OW(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;g=(a|0)!=0;if(!(g?(f[a>>2]|0)==1280131417:0)){h=g?-5:-27;f[e>>2]=0;f[e+4>>2]=0;g=JV(e,31)|0;i=182401;j=g+31|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));EP(h,e,180673,179643,789);KV(e)}e=f[a+32>>2]|0;if(!e){k=0;u=d;return k|0}if((f[e+24>>2]|0)>>>0<=c>>>0){k=0;u=d;return k|0}k=BM(e,c)|0;u=d;return k|0}function PW(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=u;u=u+16|0;h=g;i=(a|0)!=0;if(!(i?(f[a>>2]|0)==1280131417:0)){j=i?-5:-27;f[h>>2]=0;f[h+4>>2]=0;k=JV(h,31)|0;l=182401;m=k+31|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(j,h,180691,179643,801);KV(h)}if(!(f[a+8>>2]|0)){f[h>>2]=0;f[h+4>>2]=0;k=JV(h,38)|0;l=182446;m=k+38|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-2,h,180691,179643,801);KV(h)}SZ(a,0);j=a+280|0;i=f[j>>2]|0;if((i|0)==1){RZ(a,0);n=f[j>>2]|0}else n=i;i=(n|0)==0;o=(d&7|0)==5;if(o&i?(e|0)==0&(b[a+276>>0]|0)!=0:0){TZ(a,c,d,0);u=g;return}if(e|0?(xCa(e,191046,6)|0)==0:0){if(o){if(!i){f[h>>2]=0;f[h+4>>2]=0;k=JV(h,69)|0;l=180766;m=k+69|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-2,h,180691,179643,824);KV(h)}}else{f[h>>2]=0;f[h+4>>2]=0;k=JV(h,55)|0;l=180710;m=k+55|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-5,h,180691,179643,822);KV(h)}th[f[a+228>>2]&255](a,c,d,e);if(f[j>>2]|0)RZ(a,0);RZ(a,2);u=g;return}if((n|0)==2){f[h>>2]=0;f[h+4>>2]=0;k=JV(h,62)|0;l=180836;m=k+62|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-2,h,180691,179643,836);KV(h)}th[f[a+228>>2]&255](a,c,d,e);if(f[j>>2]|0)RZ(a,0);RZ(a,1);u=g;return}function QW(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+16|0;d=c;e=(a|0)!=0;if(!(e?(f[a>>2]|0)==1280131417:0)){g=e?-5:-27;f[d>>2]=0;f[d+4>>2]=0;h=JV(d,31)|0;i=182401;j=h+31|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));EP(g,d,180899,179643,850);KV(d)}if(!(f[a+8>>2]|0)){f[d>>2]=0;f[d+4>>2]=0;h=JV(d,38)|0;i=182446;j=h+38|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));EP(-2,d,180899,179643,850);KV(d)}SZ(a,0);if(!(f[a+280>>2]|0)){k=a+232|0;l=f[k>>2]|0;qg[l&1023](a);u=c;return}RZ(a,0);k=a+232|0;l=f[k>>2]|0;qg[l&1023](a);u=c;return}function RW(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e;h=(a|0)!=0;if(!(h?(f[a>>2]|0)==1280131417:0)){i=h?-5:-27;f[g>>2]=0;f[g+4>>2]=0;j=JV(g,31)|0;k=182401;l=j+31|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(i,g,180916,179643,863);KV(g)}if(f[a+8>>2]|0){m=a+236|0;n=f[m>>2]|0;Rg[n&255](a,c,d);u=e;return}f[g>>2]=0;f[g+4>>2]=0;j=JV(g,38)|0;k=182446;l=j+38|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-2,g,180916,179643,863);KV(g);m=a+236|0;n=f[m>>2]|0;Rg[n&255](a,c,d);u=e;return}function SW(a,c,d){a=a|0;c=c|0;d=+d;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e;h=(a|0)!=0;if(!(h?(f[a>>2]|0)==1280131417:0)){i=h?-5:-27;f[g>>2]=0;f[g+4>>2]=0;j=JV(g,31)|0;k=182401;l=j+31|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(i,g,180927,179643,871);KV(g)}if(f[a+8>>2]|0){m=a+240|0;n=f[m>>2]|0;Ag[n&31](a,c,d);u=e;return}f[g>>2]=0;f[g+4>>2]=0;j=JV(g,38)|0;k=182446;l=j+38|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-2,g,180927,179643,871);KV(g);m=a+240|0;n=f[m>>2]|0;Ag[n&31](a,c,d);u=e;return}function TW(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=u;u=u+16|0;h=g;i=(a|0)!=0;if(!(i?(f[a>>2]|0)==1280131417:0)){j=i?-5:-27;f[h>>2]=0;f[h+4>>2]=0;k=JV(h,31)|0;l=182401;m=k+31|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(j,h,180939,179643,879);KV(h)}if(f[a+8>>2]|0){n=a+244|0;o=f[n>>2]|0;th[o&255](a,c,d,e);u=g;return}f[h>>2]=0;f[h+4>>2]=0;k=JV(h,38)|0;l=182446;m=k+38|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-2,h,180939,179643,879);KV(h);n=a+244|0;o=f[n>>2]|0;th[o&255](a,c,d,e);u=g;return}function UW(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e;h=(a|0)!=0;if(!(h?(f[a>>2]|0)==1280131417:0)){i=h?-5:-27;f[g>>2]=0;f[g+4>>2]=0;j=JV(g,31)|0;k=182401;l=j+31|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(i,g,180953,179643,887);KV(g)}if(f[a+8>>2]|0){m=a+248|0;n=f[m>>2]|0;Rg[n&255](a,c,d);u=e;return}f[g>>2]=0;f[g+4>>2]=0;j=JV(g,38)|0;k=182446;l=j+38|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-2,g,180953,179643,887);KV(g);m=a+248|0;n=f[m>>2]|0;Rg[n&255](a,c,d);u=e;return}function VW(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;i=u;u=u+1296|0;k=i+8|0;l=i+1032|0;m=i;a:do if(!(b[a+276>>0]|0)){switch(f[a+280>>2]|0){case 2:{break a;break}case 0:{RZ(a,1);break}default:{}}FVa(l|0,0,256)|0;if((f[a>>2]|0)!=1280131417){f[m>>2]=0;f[m+4>>2]=0;o=JV(m,31)|0;q=182401;r=o+31|0;do{b[o>>0]=b[q>>0]|0;o=o+1|0;q=q+1|0}while((o|0)<(r|0));EP(-5,m,180968,179643,918);KV(m)}if(!(f[a+8>>2]|0)){f[m>>2]=0;f[m+4>>2]=0;o=JV(m,38)|0;q=182446;r=o+38|0;do{b[o>>0]=b[q>>0]|0;o=o+1|0;q=q+1|0}while((o|0)<(r|0));EP(-2,m,180968,179643,918);KV(m)}if((e|0)>=0){s=WZ(g,k,128)|0;if(e|0){t=s;v=k;w=12}}else{f[m>>2]=0;f[m+4>>2]=0;o=JV(m,27)|0;q=180983;r=o+27|0;do{b[o>>0]=b[q>>0]|0;o=o+1|0;q=q+1|0}while((o|0)<(r|0));EP(-211,m,180968,179643,921);KV(m);t=WZ(g,k,128)|0;v=k;w=12}b:do if((w|0)==12){if(!c){f[m>>2]=0;f[m+4>>2]=0;o=JV(m,17)|0;q=181011;r=o+17|0;do{b[o>>0]=b[q>>0]|0;o=o+1|0;q=q+1|0}while((o|0)<(r|0));EP(-27,m,180968,179643,929);KV(m)}if((t|0)==1){s=X(f[v>>2]|0,e)|0;f[v>>2]=s;x=1}else x=e;s=(t|0)>0;y=a+4|0;z=c;A=0;B=x;c:while(1){B=B+-1|0;if(s){C=0;D=A;while(1){E=C<<1;F=f[k+(E<<2)>>2]|0;G=f[k+((E|1)<<2)>>2]|0;E=(G>>>3&511)+1<<(47696>>>(G<<1&14)&3);H=D+-1+E&0-E;E=c+H|0;d:do if((F|0)>0){I=(G+-5|0)>>>0<2;if(!G){J=F+H|0;K=E;L=0;do{M=zZ(h[K>>0]|0,l,10)|0;K=K+1|0;switch(f[y>>2]|0){case 8:{gZ(a,0,M,nCa(M)|0);break}case 16:{L_(a,0,M);break}default:{do if(I){N=nCa(M)|0;if(!N)break;if((b[M+(N+-1)>>0]|0)!=46)break;b[l+N>>0]=48;b[l+(N+1)>>0]=0}while(0);rZ(a,0,M)}}L=L+1|0}while((L|0)!=(F|0));O=c+J|0;break}else{P=E;Q=0}while(1){switch(G|0){case 7:{R=zZ(f[P>>2]|0,l,10)|0;S=4;break}case 1:{R=zZ(b[P>>0]|0,l,10)|0;S=1;break}case 2:{R=zZ(j[P>>1]|0,l,10)|0;S=2;break}case 3:{R=zZ(d[P>>1]|0,l,10)|0;S=2;break}case 4:{R=zZ(f[P>>2]|0,l,10)|0;S=4;break}case 5:{PZ(l,+n[P>>2])|0;R=l;S=4;break}case 6:{OZ(l,+p[P>>3])|0;R=l;S=8;break}default:break c}L=P+S|0;switch(f[y>>2]|0){case 8:{gZ(a,0,R,nCa(R)|0);break}case 16:{L_(a,0,R);break}default:{do if(I?(K=nCa(R)|0,K|0):0){if((b[R+(K+-1)>>0]|0)!=46)break;b[l+K>>0]=48;b[l+(K+1)>>0]=0}while(0);rZ(a,0,R)}}Q=Q+1|0;if((Q|0)>=(F|0)){O=L;break d}else P=L}}else O=E;while(0);E=O-z|0;C=C+1|0;if((C|0)>=(t|0)){T=E;break}else D=E}}else T=A;if(!B)break b;else A=T}f[m>>2]=0;f[m+4>>2]=0;o=JV(m,16)|0;q=207345;r=o+16|0;do{b[o>>0]=b[q>>0]|0;o=o+1|0;q=q+1|0}while((o|0)<(r|0));EP(-210,m,180968,179643,986);KV(m)}while(0);u=i;return}while(0);iY(a,c,e,g);u=i;return}function WW(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e;h=(a|0)!=0;if(!(h?(f[a>>2]|0)==1280131417:0)){a=h?-5:-27;f[g>>2]=0;f[g+4>>2]=0;i=JV(g,31)|0;j=182401;k=i+31|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(a,g,181029,179643,1025);KV(g)}if(!((c|0)!=0&(d|0)!=0)){f[g>>2]=0;f[g+4>>2]=0;i=JV(g,42)|0;j=181048;k=i+42|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-27,g,181029,179643,1028);KV(g)}a=f[c>>2]|0;if(((a&7)+-1|0)>>>0<2){f[d+12>>2]=c;f[d+20>>2]=c+32;f[d+16>>2]=c;f[d+4>>2]=0;u=e;return}switch(a&7){case 5:{EM(f[c+8>>2]|0,d,0);u=e;return}case 0:{f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[d+24>>2]=0;f[d+28>>2]=0;u=e;return}default:{f[g>>2]=0;f[g+4>>2]=0;i=JV(g,56)|0;j=181091;k=i+56|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-5,g,181029,179643,1048);KV(g);u=e;return}}}function XW(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0,N=0,O=0,P=0;i=u;u=u+1040|0;j=i+8|0;k=i;l=(a|0)!=0;if(!(l?(f[a>>2]|0)==1280131417:0)){a=l?-5:-27;f[k>>2]=0;f[k+4>>2]=0;m=JV(k,31)|0;o=182401;q=m+31|0;do{b[m>>0]=b[o>>0]|0;m=m+1|0;o=o+1|0}while((m|0)<(q|0));EP(a,k,181148,179643,1060);KV(k)}if(!((c|0)!=0&(g|0)!=0)){f[k>>2]=0;f[k+4>>2]=0;m=JV(k,43)|0;o=181167;q=m+43|0;do{b[m>>0]=b[o>>0]|0;m=m+1|0;o=o+1|0}while((m|0)<(q|0));EP(-27,k,181148,179643,1063);KV(k)}a=c+4|0;if((e|0)!=1&(f[a>>2]|0)==0){f[k>>2]=0;f[k+4>>2]=0;m=JV(k,51)|0;o=181211;q=m+51|0;do{b[m>>0]=b[o>>0]|0;m=m+1|0;o=o+1|0}while((m|0)<(q|0));EP(-201,k,181148,179643,1066);KV(k)}l=WZ(h,j,128)|0;r=YZ(h,0)|0;h=(l|0)>0;s=c+12|0;t=k+4|0;v=c+20|0;w=e;e=g;a:while(1){if(h){g=e;x=0;y=0;z=w;while(1){A=x<<1;B=f[j+((A|1)<<2)>>2]|0;C=(B>>>3&511)+1<<(47696>>>(B<<1&14)&3);D=f[j+(A<<2)>>2]|0;A=e+(y+-1+C&0-C)|0;b:do if((D|0)>0){C=A;E=0;F=z;while(1){G=f[s>>2]|0;switch(f[G>>2]&7){case 1:{H=f[G+8>>2]|0;switch(B|0){case 0:{b[C>>0]=H>>>0<256?H:(H|0)>0?255:0;I=1;break}case 1:{b[C>>0]=(H+128|0)>>>0<256?H:(H|0)>0?127:128;I=1;break}case 2:{d[C>>1]=H>>>0<65536?H:(H|0)>0?65535:0;I=2;break}case 3:{d[C>>1]=(H+32768|0)>>>0<65536?H:(H|0)>0?32767:32768;I=2;break}case 4:{f[C>>2]=H;I=4;break}case 5:{n[C>>2]=+(H|0);I=4;break}case 6:{p[C>>3]=+(H|0);I=8;break}case 7:{f[C>>2]=H;I=4;break}default:{J=22;break a}}K=C+I|0;break}case 2:{L=+p[G+8>>3];switch(B|0){case 0:{G=AEa(L)|0;b[C>>0]=G>>>0<256?G:(G|0)>0?255:0;M=1;break}case 1:{G=AEa(L)|0;b[C>>0]=(G+128|0)>>>0<256?G:(G|0)>0?127:128;M=1;break}case 2:{G=AEa(L)|0;d[C>>1]=G>>>0<65536?G:(G|0)>0?65535:0;M=2;break}case 3:{G=AEa(L)|0;d[C>>1]=(G+32768|0)>>>0<65536?G:(G|0)>0?32767:32768;M=2;break}case 4:{G=AEa(L)|0;f[C>>2]=G;M=4;break}case 5:{n[C>>2]=L;M=4;break}case 6:{p[C>>3]=L;M=8;break}case 7:{G=AEa(L)|0;f[C>>2]=G;M=4;break}default:{J=33;break a}}K=C+M|0;break}default:{f[k>>2]=0;f[t>>2]=0;m=JV(k,46)|0;o=181263;q=m+46|0;do{b[m>>0]=b[o>>0]|0;m=m+1|0;o=o+1|0}while((m|0)<(q|0));EP(-2,k,181148,179643,1182);KV(k);K=C}}G=(f[s>>2]|0)+16|0;f[s>>2]=G;if(G>>>0>=(f[v>>2]|0)>>>0)MM(c,1);G=F+-1|0;if(!G){J=42;break a}H=E+1|0;if((H|0)<(D|0)){C=K;E=H;F=G}else{N=K;O=G;break b}}}else{N=A;O=z}while(0);A=x+1|0;if((A|0)<(l|0)){x=A;y=N-g|0;z=O}else{P=O;break}}}else P=w;w=P;e=e+r|0}if((J|0)==22){f[k>>2]=0;f[k+4>>2]=0;m=JV(k,16)|0;o=207345;q=m+16|0;do{b[m>>0]=b[o>>0]|0;m=m+1|0;o=o+1|0}while((m|0)<(q|0));EP(-210,k,181148,179643,1126);KV(k);u=i;return}else if((J|0)==33){f[k>>2]=0;f[k+4>>2]=0;m=JV(k,16)|0;o=207345;q=m+16|0;do{b[m>>0]=b[o>>0]|0;m=m+1|0;o=o+1|0}while((m|0)<(q|0));EP(-210,k,181148,179643,1176);KV(k);u=i;return}else if((J|0)==42){if(!((x|0)==(l+-1|0)&(E|0)==(D+-1|0))){f[k>>2]=0;f[k+4>>2]=0;m=JV(k,60)|0;o=181310;q=m+60|0;do{b[m>>0]=b[o>>0]|0;m=m+1|0;o=o+1|0}while((m|0)<(q|0));EP(-201,k,181148,179643,1197);KV(k)}if(f[a>>2]|0){u=i;return}f[s>>2]=(f[s>>2]|0)+-16;u=i;return}}function YW(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=u;u=u+48|0;h=g+8|0;i=g;if(!((c|0)!=0&(d|0)!=0)){f[i>>2]=0;f[i+4>>2]=0;j=JV(i,54)|0;k=181371;l=j+54|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-27,i,181426,179643,1211);KV(i)}WW(a,c,h);if((f[c>>2]&7|0)!=5){m=1;XW(a,h,m,d,e);u=g;return}m=f[(f[c+8>>2]|0)+24>>2]|0;XW(a,h,m,d,e);u=g;return}function ZW(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+16|0;d=c;if(!((a|0)!=0?(f[a+4>>2]|0)==40:0)){f[d>>2]=0;f[d+4>>2]=0;e=JV(d,17)|0;g=181440;h=e+17|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));EP(-201,d,181458,179643,1271);KV(d)}if(!((((f[a+20>>2]|0)!=0?(f[a+24>>2]|0)!=0:0)?(f[a+28>>2]|0)!=0:0)?(f[a+32>>2]|0)!=0:0)){f[d>>2]=0;f[d+4>>2]=0;e=JV(d,81)|0;g=181473;h=e+81|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));EP(-27,d,181458,179643,1277);KV(d)}i=a+16|0;j=f[i>>2]|0;k=b[j>>0]|0;if(k<<24>>24==95|((k&-33)+-65&255)<26)l=j;else{f[d>>2]=0;f[d+4>>2]=0;e=JV(d,41)|0;g=181555;h=e+41|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));EP(-5,d,181458,179643,1281);KV(d);l=f[i>>2]|0}j=nCa(l)|0;a:do if((j|0)>0){k=d+4|0;m=0;n=l;while(1){o=b[n+m>>0]|0;b:do if(!((o+-48&255)<10|((o&-33)+-65&255)<26)){switch(o<<24>>24){case 45:case 95:{break b;break}default:{}}f[d>>2]=0;f[k>>2]=0;e=JV(d,54)|0;g=181597;h=e+54|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));EP(-5,d,181458,179643,1290);KV(d)}while(0);o=m+1|0;if((o|0)>=(j|0))break a;m=o;n=f[i>>2]|0}}while(0);d=eX(j+41|0)|0;e=d;g=a;h=e+40|0;do{f[e>>2]=f[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(h|0));g=d+40|0;f[d+16>>2]=g;DVa(g|0,f[i>>2]|0,j+1|0)|0;f[d>>2]=0;j=f[114849]|0;f[d+12>>2]=j;f[d+8>>2]=0;f[(j|0?j+8|0:459400)>>2]=d;f[114849]=d;u=c;return}function _W(a){a=a|0;var b=0,c=0,d=0,e=0;if(!a){b=0;return b|0}c=f[114849]|0;if(!c){b=0;return b|0}else d=c;while(1){if(!(mCa(f[d+16>>2]|0,a)|0)){b=d;e=5;break}d=f[d+12>>2]|0;if(!d){b=0;e=5;break}}if((e|0)==5)return b|0;return 0}function $W(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=u;u=u+16|0;h=g+8|0;i=g;j=(a|0)!=0;if(!(j?(f[a>>2]|0)==1280131417:0)){k=j?-5:-27;f[h>>2]=0;f[h+4>>2]=0;l=JV(h,31)|0;m=182401;n=l+31|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(k,h,181652,179643,1443);KV(h)}if(!(f[a+8>>2]|0)){f[h>>2]=0;f[h+4>>2]=0;l=JV(h,38)|0;m=182446;n=l+38|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-2,h,181652,179643,1443);KV(h)}a:do if(d){k=f[114849]|0;if(!k)o=11;else{j=k;while(1){if(Wf[f[j+20>>2]&255](d)|0){p=j;break a}j=f[j+12>>2]|0;if(!j){o=11;break}}}}else{f[h>>2]=0;f[h+4>>2]=0;l=JV(h,34)|0;m=181660;n=l+34|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-27,h,181652,179643,1446);KV(h);o=11}while(0);if((o|0)==11){f[h>>2]=0;f[h+4>>2]=0;l=JV(h,14)|0;m=181695;n=l+14|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-5,h,181652,179643,1450);KV(h);p=0}o=p+32|0;p=f[o>>2]|0;if(p|0){q=p;r=e;s=r;t=f[s>>2]|0;v=r+4|0;w=v;x=f[w>>2]|0;y=i;z=y;f[z>>2]=t;A=y+4|0;B=A;f[B>>2]=x;f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];th[q&255](a,c,d,h);u=g;return}f[h>>2]=0;f[h+4>>2]=0;l=JV(h,39)|0;m=181710;n=l+39|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-5,h,181652,179643,1453);KV(h);q=f[o>>2]|0;r=e;s=r;t=f[s>>2]|0;v=r+4|0;w=v;x=f[w>>2]|0;y=i;z=y;f[z>>2]=t;A=y+4|0;B=A;f[B>>2]=x;f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];th[q&255](a,c,d,h);u=g;return}function aX(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+4>>2]=0;f[d>>2]=0;f[d+4>>2]=0;a=JV(d,44)|0;e=184827;g=a+44|0;do{b[a>>0]=b[e>>0]|0;a=a+1|0;e=e+1|0}while((a|0)<(g|0));EP(-216,d,184872,184886,107);KV(d);u=c;return}function bX(){var a=0,c=0,d=0,e=0,g=0;a=u;u=u+16|0;c=a;f[c>>2]=0;f[c+4>>2]=0;d=JV(c,44)|0;e=184827;g=d+44|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(g|0));EP(-216,c,184872,184886,107);KV(c);if(b[453296]|0){u=a;return 459324}if(!(jVa(453296)|0)){u=a;return 459324}aX(459324);u=a;return 459324}function cX(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=u;u=u+32|0;c=b;d=b+16|0;e=b+8|0;f[e>>2]=0;if(!(dCa(e,64,a)|0)){g=f[e>>2]|0;if(g|0){h=g;u=b;return h|0}}else f[e>>2]=0;e=c;f[e>>2]=a;f[e+4>>2]=0;LP(d,181750,c);EP(-4,d,181780,181797,55);KV(d);h=0;u=b;return h|0}function dX(a){a=a|0;ZBa(a);return}function eX(a){a=a|0;return cX(a)|0}function fX(a){a=a|0;ZBa(a);return}function gX(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!((a|0)!=0&(c|0)!=0&(e|0)!=0)){f=0;return f|0}g=a+d|0;d=e-((e>>>0)%3|0)|0;a=g+d|0;if((d|0)>0){d=c;i=g;while(1){j=b[i+1>>0]|0;k=i+3|0;l=b[i+2>>0]|0;m=h[i>>0]|0;b[d>>0]=b[181851+(m>>>2)>>0]|0;n=j&255;b[d+1>>0]=b[181851+(n>>>4|m<<4&48)>>0]|0;m=l&255;b[d+2>>0]=b[181851+(m>>>6|n<<2&60)>>0]|0;n=d+4|0;b[d+3>>0]=b[181851+(m&63)>>0]|0;if(k>>>0>>0){d=n;i=k}else{o=n;p=k;break}}}else{o=c;p=g}i=g+e-p|0;switch(i|0){case 1:{e=h[p>>0]|0;b[o>>0]=b[181851+(e>>>2)>>0]|0;q=o+1|0;r=2;s=e<<4;t=48;u=7;break}case 2:{e=b[p+1>>0]|0;g=h[p>>0]|0;b[o>>0]=b[181851+(g>>>2)>>0]|0;p=e&255;b[o+1>>0]=b[181851+(g<<4&48|p>>>4)>>0]|0;q=o+2|0;r=3;s=p<<2;t=60;u=7;break}default:v=o}if((u|0)==7){b[q>>0]=b[181851+(s&t)>>0]|0;v=o+r|0}switch(i|0){case 1:{b[v>>0]=61;w=v+1|0;u=10;break}case 2:{w=v;u=10;break}default:x=v}if((u|0)==10){b[w>>0]=61;x=w+1|0}b[x>>0]=0;f=x-c|0;return f|0}function hX(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0;if(!e)f=nCa(a)|0;else f=e;if(!((a|0)!=0&(c|0)!=0&(f|0)!=0&(f&3|0)==0)){g=0;return g|0}e=a+d|0;i=e+f|0;if((f|0)>0){f=a+(d+4)|0;j=(((i>>>0>f>>>0?i:f)+(~a-d)|0)>>>2)*3|0;d=c;a=e;while(1){e=b[181916+(h[a+3>>0]|0)>>0]|0;f=h[181916+(h[a+2>>0]|0)>>0]|0;k=h[181916+(h[a+1>>0]|0)>>0]|0;b[d>>0]=k>>>4&3|(h[181916+(h[a>>0]|0)>>0]|0)<<2;a=a+4|0;b[d+1>>0]=f>>>2&15|k<<4;b[d+2>>0]=f<<6|e&255;if(a>>>0>=i>>>0)break;else d=d+3|0}l=c+(j+3)|0}else l=c;b[l>>0]=0;g=l-c|0;return g|0}function iX(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(!d)e=nCa(a)|0;else e=d;if(!a){f=0;return f|0}d=a+c|0;if(!e)g=nCa(a)|0;else g=e;if(!((g|0)!=0&(g&3|0)==0)){f=0;return f|0}e=d+g|0;g=e+-1|0;if((b[g>>0]|0)==61){a=g+-1|0;h=(b[a>>0]|0)==61?a:g}else h=e;if(d>>>0>>0)i=d;else{f=1;return f|0}while(1){d=b[i>>0]|0;if((d&255)>126){f=0;j=13;break}i=i+1|0;if(!(d<<24>>24==65|(b[181916+(d&255)>>0]|0)!=0)){f=0;j=13;break}if(i>>>0>=h>>>0){f=1;j=13;break}}if((j|0)==13)return f|0;return 0}function jX(a,b){a=a|0;b=b|0;return ((a>>>2)*3|0)+(b&1)|0}function kX(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;e=0;f=c+a|0;while(1){f=f+-1|0;if((b[f>>0]|0)!=61)break;else e=e+1|0}return ((a>>>2)*3|0)+(d&1)-e|0}function lX(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+160|0;e=d+136|0;g=d;h=g+56|0;i=g+4|0;f[g>>2]=18516;f[h>>2]=18536;cHa(g+56|0,i);f[g+128>>2]=0;f[g+132>>2]=-1;f[g>>2]=41948;f[h>>2]=41968;hHa(i);f[i>>2]=41984;h=g+36|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[g+52>>2]=16;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;mX(i,e);if((b[e+11>>0]|0)<0)GQa(f[e>>2]|0);h=nX(g,c,nCa(c)|0)|0;b[e>>0]=32;nX(h,e,1)|0;oX(a,i);i=a+11|0;h=b[i>>0]|0;if(h<<24>>24<0)j=f[a+4>>2]|0;else j=h&255;if(j>>>0>=24){f[e>>2]=0;f[e+4>>2]=0;j=JV(e,27)|0;h=182043;c=j+27|0;do{b[j>>0]=b[h>>0]|0;j=j+1|0;h=h+1|0}while((j|0)<(c|0));EP(-215,e,182071,182090,301);KV(e)}WQa(a,24);e=a+4|0;while(1){h=b[i>>0]|0;if(h<<24>>24<0)k=f[e>>2]|0;else k=h&255;if(k>>>0>=24)break;bRa(a,32)}pX(g);u=d;return}function mX(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=a+32|0;SQa(d,c)|0;c=a+44|0;f[c>>2]=0;e=a+48|0;g=f[e>>2]|0;if(g&8|0){h=b[d+11>>0]|0;if(h<<24>>24<0){i=f[d>>2]|0;j=i;k=i;l=i+(f[a+36>>2]|0)|0}else{j=d;k=d;l=d+(h&255)|0}f[c>>2]=l;f[a+8>>2]=j;f[a+12>>2]=k;f[a+16>>2]=l}if(!(g&16))return;g=d+11|0;l=b[g>>0]|0;if(l<<24>>24<0){k=f[a+36>>2]|0;f[c>>2]=(f[d>>2]|0)+k;m=(f[a+40>>2]&2147483647)+-1|0;n=k}else{k=l&255;f[c>>2]=d+k;m=10;n=k}YQa(d,m,0);m=b[g>>0]|0;if(m<<24>>24<0){o=f[d>>2]|0;p=f[a+36>>2]|0}else{o=d;p=m&255}m=a+24|0;f[m>>2]=o;f[a+20>>2]=o;f[a+28>>2]=o+p;if(!(f[e>>2]&3))return;f[m>>2]=o+n;return}function nX(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=u;u=u+16|0;g=e+12|0;h=e;i=e+8|0;lHa(h,a);if(!(b[h>>0]|0)){mHa(h);u=e;return a|0}j=(f[a>>2]|0)+-12|0;f[i>>2]=f[a+(f[j>>2]|0)+24>>2];k=a+(f[j>>2]|0)|0;j=f[k+4>>2]|0;l=c+d|0;d=k+76|0;m=f[d>>2]|0;if((m|0)==-1){eHa(g,k);n=yIa(g,810368)|0;o=Zf[f[(f[n>>2]|0)+28>>2]&127](n,32)|0;zIa(g);n=o<<24>>24;f[d>>2]=n;p=n}else p=m;f[g>>2]=f[i>>2];if(qX(g,c,(j&176|0)==32?l:c,l,k,p&255)|0){mHa(h);u=e;return a|0}p=a+(f[(f[a>>2]|0)+-12>>2]|0)|0;bHa(p,f[p+16>>2]|5);mHa(h);u=e;return a|0}function oX(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=f[c+48>>2]|0;if(d&16|0){e=c+44|0;g=f[e>>2]|0;h=f[c+24>>2]|0;if(g>>>0>>0){f[e>>2]=h;i=h}else i=g;g=f[c+20>>2]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;h=i-g|0;if(h>>>0>4294967279)NQa(a);if(h>>>0<11){b[a+11>>0]=h;j=a}else{e=h+16&-16;k=EQa(e)|0;f[a>>2]=k;f[a+8>>2]=e|-2147483648;f[a+4>>2]=h;j=k}if((g|0)==(i|0))l=j;else{k=j;e=g;while(1){b[k>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(i|0))break;else k=k+1|0}l=j+h|0}b[l>>0]=0;return}if(!(d&8)){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}d=f[c+8>>2]|0;l=f[c+16>>2]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=l-d|0;if(c>>>0>4294967279)NQa(a);if(c>>>0<11){b[a+11>>0]=c;m=a}else{h=c+16&-16;j=EQa(h)|0;f[a>>2]=j;f[a+8>>2]=h|-2147483648;f[a+4>>2]=c;m=j}if((d|0)==(l|0))n=m;else{j=m;a=d;while(1){b[j>>0]=b[a>>0]|0;a=a+1|0;if((a|0)==(l|0))break;else j=j+1|0}n=m+c|0}b[n>>0]=0;return}function pX(a){a=a|0;var c=0,d=0,e=0;f[a>>2]=41948;c=a+56|0;f[c>>2]=41968;d=a+4|0;f[d>>2]=41984;e=a+36|0;if((b[e+11>>0]|0)<0)GQa(f[e>>2]|0);SFa(d);OGa(a,42044);NFa(c);return}function qX(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;i=u;u=u+16|0;j=i;k=f[a>>2]|0;if(!k){l=0;u=i;return l|0}m=e;e=c;n=m-e|0;o=g+12|0;g=f[o>>2]|0;p=(g|0)>(n|0)?g-n|0:0;n=d;g=n-e|0;if((g|0)>0?(bg[f[(f[k>>2]|0)+48>>2]&127](k,c,g)|0)!=(g|0):0){f[a>>2]=0;l=0;u=i;return l|0}if((p|0)>0){f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if(p>>>0<11){g=j+11|0;b[g>>0]=p;q=j;r=g;s=j}else{g=p+16&-16;c=EQa(g)|0;f[j>>2]=c;f[j+8>>2]=g|-2147483648;f[j+4>>2]=p;q=c;r=j+11|0;s=j}FVa(q|0,h|0,p|0)|0;b[q+p>>0]=0;if((bg[f[(f[k>>2]|0)+48>>2]&127](k,(b[r>>0]|0)<0?f[s>>2]|0:j,p)|0)==(p|0)){t=1;v=k}else{f[a>>2]=0;t=0;v=0}if((b[r>>0]|0)<0)GQa(f[s>>2]|0);if(t)w=v;else{l=0;u=i;return l|0}}else w=k;k=m-n|0;if((k|0)>0?(bg[f[(f[w>>2]|0)+48>>2]&127](w,d,k)|0)!=(k|0):0){f[a>>2]=0;l=0;u=i;return l|0}f[o>>2]=0;l=w;u=i;return l|0}function rX(a){a=a|0;var c=0;f[a>>2]=41984;c=a+32|0;if((b[c+11>>0]|0)<0)GQa(f[c>>2]|0);SFa(a);return}function sX(a){a=a|0;var c=0;f[a>>2]=41984;c=a+32|0;if((b[c+11>>0]|0)<0)GQa(f[c>>2]|0);SFa(a);GQa(a);return}function tX(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;i=c+44|0;j=f[i>>2]|0;k=c+24|0;l=f[k>>2]|0;m=l;if(j>>>0>>0){f[i>>2]=l;n=m}else n=j;j=h&24;a:do if((j|0)!=0?!((g|0)==1&(j|0)==24):0){b:do switch(g|0){case 0:{o=0;p=0;break}case 1:{if(!(h&8)){i=m-(f[c+20>>2]|0)|0;o=i;p=((i|0)<0)<<31>>31;break b}else{i=(f[c+12>>2]|0)-(f[c+8>>2]|0)|0;o=i;p=((i|0)<0)<<31>>31;break b}break}case 2:{i=c+32|0;if((b[i+11>>0]|0)<0)q=f[i>>2]|0;else q=i;i=n-q|0;o=i;p=((i|0)<0)<<31>>31;break}default:{r=-1;s=-1;break a}}while(0);i=qVa(o|0,p|0,d|0,e|0)|0;t=I;if((t|0)>=0){u=c+32|0;if((b[u+11>>0]|0)<0)v=f[u>>2]|0;else v=u;u=n-v|0;w=((u|0)<0)<<31>>31;if(!((t|0)>(w|0)|(t|0)==(w|0)&i>>>0>u>>>0)){u=h&8;if(!((i|0)==0&(t|0)==0)){if(u|0?(f[c+12>>2]|0)==0:0){r=-1;s=-1;break}if((h&16|0)!=0&(l|0)==0){r=-1;s=-1;break}}if(u|0){f[c+12>>2]=(f[c+8>>2]|0)+i;f[c+16>>2]=n}if(!(h&16)){r=i;s=t}else{f[k>>2]=(f[c+20>>2]|0)+i;r=i;s=t}}else{r=-1;s=-1}}else{r=-1;s=-1}}else{r=-1;s=-1}while(0);c=a;f[c>>2]=0;f[c+4>>2]=0;c=a+8|0;f[c>>2]=r;f[c+4>>2]=s;return}function uX(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=c+8|0;ci[f[(f[b>>2]|0)+16>>2]&127](a,b,f[e>>2]|0,f[e+4>>2]|0,0,d);return}function vX(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,i=0;b=a+44|0;c=f[b>>2]|0;d=f[a+24>>2]|0;if(c>>>0>>0){f[b>>2]=d;e=d}else e=c;if(!(f[a+48>>2]&8)){g=-1;return g|0}c=a+16|0;d=f[c>>2]|0;if(d>>>0>>0){f[c>>2]=e;i=e}else i=d;d=f[a+12>>2]|0;if(d>>>0>=i>>>0){g=-1;return g|0}g=h[d>>0]|0;return g|0}function wX(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+44|0;e=f[d>>2]|0;g=f[a+24>>2]|0;if(e>>>0>>0){f[d>>2]=g;h=g}else h=e;e=h;h=a+12|0;g=f[h>>2]|0;if((f[a+8>>2]|0)>>>0>=g>>>0){i=-1;return i|0}if((c|0)==-1){f[h>>2]=g+-1;f[a+16>>2]=e;i=0;return i|0}if(!(f[a+48>>2]&16)){d=c&255;j=g+-1|0;if((b[j>>0]|0)==d<<24>>24){k=d;l=j}else{i=-1;return i|0}}else{k=c&255;l=g+-1|0}f[h>>2]=l;f[a+16>>2]=e;b[l>>0]=k;i=c;return i|0}function xX(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;d=u;u=u+16|0;e=d;if((c|0)==-1){g=0;u=d;return g|0}h=a+12|0;i=a+8|0;j=(f[h>>2]|0)-(f[i>>2]|0)|0;k=a+24|0;l=f[k>>2]|0;m=a+28|0;n=f[m>>2]|0;if((l|0)==(n|0)){o=a+48|0;if(!(f[o>>2]&16)){g=-1;u=d;return g|0}p=a+20|0;q=f[p>>2]|0;r=a+44|0;s=(f[r>>2]|0)-q|0;t=a+32|0;bRa(t,0);v=t+11|0;if((b[v>>0]|0)<0)w=(f[a+40>>2]&2147483647)+-1|0;else w=10;YQa(t,w,0);w=b[v>>0]|0;if(w<<24>>24<0){x=f[t>>2]|0;y=f[a+36>>2]|0}else{x=t;y=w&255}w=x+y|0;f[p>>2]=x;f[m>>2]=w;m=x+(l-q)|0;f[k>>2]=m;q=x+s|0;f[r>>2]=q;z=r;A=o;B=r;C=m;D=q;E=w}else{w=a+44|0;z=w;A=a+48|0;B=w;C=l;D=f[w>>2]|0;E=n}n=C+1|0;f[e>>2]=n;w=f[(n>>>0>>0?B:e)>>2]|0;f[z>>2]=w;if(f[A>>2]&8|0){A=a+32|0;if((b[A+11>>0]|0)<0)F=f[A>>2]|0;else F=A;f[i>>2]=F;f[h>>2]=F+j;f[a+16>>2]=w}if((C|0)==(E|0)){g=Zf[f[(f[a>>2]|0)+52>>2]&127](a,c&255)|0;u=d;return g|0}else{f[k>>2]=n;b[C>>0]=c;g=c&255;u=d;return g|0}return 0}function yX(a){a=a|0;pX(a);GQa(a);return}function zX(a){a=a|0;pX(a+(f[(f[a>>2]|0)+-12>>2]|0)|0);return}function AX(a){a=a|0;var b=0;b=a+(f[(f[a>>2]|0)+-12>>2]|0)|0;pX(b);GQa(b);return}function BX(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=u;u=u+160|0;e=d+12|0;g=d;h=f[a>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;a=nCa(h)|0;if(a>>>0>4294967279)NQa(g);if(a>>>0<11){b[g+11>>0]=a;if(!a)i=g;else{j=g;k=6}}else{l=a+16&-16;m=EQa(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=a;j=m;k=6}if((k|0)==6){DVa(j|0,h|0,a|0)|0;i=j}b[i+a>>0]=0;a=e+60|0;i=e+8|0;f[e>>2]=11828;f[a>>2]=11848;f[e+4>>2]=0;cHa(e+60|0,i);f[e+132>>2]=0;f[e+136>>2]=-1;f[e>>2]=42068;f[a>>2]=42088;hHa(i);f[i>>2]=41984;a=e+40|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[e+56>>2]=8;mX(i,g);if((b[g+11>>0]|0)<0)GQa(f[g>>2]|0);g=CX(e,c)|0;c=(f[g+(f[(f[g>>2]|0)+-12>>2]|0)+16>>2]&5|0)==0;DX(e);u=d;return c|0}function CX(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=u;u=u+16|0;g=e+4|0;i=e;jHa(g,a,0);if(!(b[g>>0]|0)){g=a+(f[(f[a>>2]|0)+-12>>2]|0)|0;bHa(g,f[g+16>>2]|4);u=e;return a|0}g=c+11|0;if((b[g>>0]|0)<0){b[f[c>>2]>>0]=0;f[c+4>>2]=0}else{b[c>>0]=0;b[g>>0]=0}g=a+(f[(f[a>>2]|0)+-12>>2]|0)|0;j=f[g+12>>2]|0;k=(j|0)<1?2147483647:j;eHa(i,g);g=yIa(i,810368)|0;zIa(i);a:do if((k|0)>0){i=g+8|0;j=0;while(1){l=f[a+(f[(f[a>>2]|0)+-12>>2]|0)+24>>2]|0;m=f[l+12>>2]|0;if((m|0)==(f[l+16>>2]|0)){n=Wf[f[(f[l>>2]|0)+36>>2]&255](l)|0;if((n|0)==-1){o=j;p=2;break a}else q=n}else q=h[m>>0]|0;m=q&255;if(m<<24>>24>-1?d[(f[i>>2]|0)+(q<<24>>24<<1)>>1]&8192:0){o=j;p=0;break a}bRa(c,m);m=j+1|0;n=f[a+(f[(f[a>>2]|0)+-12>>2]|0)+24>>2]|0;l=n+12|0;r=f[l>>2]|0;if((r|0)==(f[n+16>>2]|0))Wf[f[(f[n>>2]|0)+40>>2]&255](n)|0;else f[l>>2]=r+1;if((m|0)<(k|0))j=m;else{o=m;p=0;break}}}else{o=0;p=0}while(0);f[a+(f[(f[a>>2]|0)+-12>>2]|0)+12>>2]=0;k=a+(f[(f[a>>2]|0)+-12>>2]|0)|0;bHa(k,f[k+16>>2]|((o|0)==0?p|4:p));u=e;return a|0}function DX(a){a=a|0;var c=0,d=0,e=0;f[a>>2]=42068;c=a+60|0;f[c>>2]=42088;d=a+8|0;f[d>>2]=41984;e=a+40|0;if((b[e+11>>0]|0)<0)GQa(f[e>>2]|0);SFa(d);EGa(a,42100);NFa(c);return}function EX(a){a=a|0;DX(a);GQa(a);return}function FX(a){a=a|0;DX(a+(f[(f[a>>2]|0)+-12>>2]|0)|0);return}function GX(a){a=a|0;var b=0;b=a+(f[(f[a>>2]|0)+-12>>2]|0)|0;DX(b);GQa(b);return}function HX(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;f[a>>2]=c;f[a+4>>2]=c+d;d=a+8|0;f[d>>2]=0;c=a+12|0;f[c>>2]=0;f[a+16>>2]=0;e=EQa(120)|0;f[c>>2]=e;f[d>>2]=e;f[a+16>>2]=e+120;d=120;g=e;do{b[g>>0]=0;g=(f[c>>2]|0)+1|0;f[c>>2]=g;d=d+-1|0}while((d|0)!=0);d=a+20|0;g=a+24|0;c=a+28|0;e=a+32|0;h=a+36|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;i=EQa(161)|0;f[h>>2]=i;f[e>>2]=i;f[a+40>>2]=i+161;a=161;j=i;do{b[j>>0]=0;j=(f[h>>2]|0)+1|0;f[h>>2]=j;a=a+-1|0}while((a|0)!=0);a=f[e>>2]|0;f[d>>2]=a;f[g>>2]=a;f[c>>2]=a+120;return}function IX(a){a=a|0;var b=0,c=0;if((f[a+24>>2]|0)!=(f[a+20>>2]|0))JX(a)|0;b=f[a+32>>2]|0;if(b|0){c=a+36|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;GQa(b)}b=f[a+8>>2]|0;if(!b)return;c=a+12|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;GQa(b);return}function JX(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;c=u;u=u+16|0;d=c;e=a+20|0;g=f[e>>2]|0;i=a+24|0;j=f[i>>2]|0;k=g;l=j-k|0;m=j;if(!g){n=0;u=c;return n|0}if(!l)o=nCa(g)|0;else o=l;if(!((o|0)!=0&(o&3|0)==0)){n=0;u=c;return n|0}j=g+o|0;o=j+-1|0;if((b[o>>0]|0)==61){p=o+-1|0;q=(b[p>>0]|0)==61?p:o}else q=j;a:do if(g>>>0>>0){j=g;while(1){o=b[j>>0]|0;if((o&255)>126){n=0;r=24;break}j=j+1|0;if(!(o<<24>>24==65|(b[181916+(o&255)>>0]|0)!=0)){n=0;r=24;break}if(j>>>0>=q>>>0)break a}if((r|0)==24){u=c;return n|0}}while(0);if((g|0)==(m|0)){n=1;u=c;return n|0}m=f[a+32>>2]|0;if((m|0)!=0&(l|0)!=0&(l&3|0)==0){q=g+l|0;if((l|0)>0){l=g+4|0;j=(((q>>>0>l>>>0?q:l)+~k|0)>>>2)*3|0;l=m;o=g;while(1){g=b[181916+(h[o+3>>0]|0)>>0]|0;p=h[181916+(h[o+2>>0]|0)>>0]|0;s=h[181916+(h[o+1>>0]|0)>>0]|0;b[l>>0]=s>>>4&3|h[181916+(h[o>>0]|0)>>0]<<2;o=o+4|0;b[l+1>>0]=p>>>2&15|s<<4;b[l+2>>0]=p<<6|g&255;if(o>>>0>=q>>>0)break;else l=l+3|0}t=m+(j+3)|0}else t=m;b[t>>0]=0;j=t-m|0;f[i>>2]=f[e>>2];if(!j)r=19;else v=j}else{f[i>>2]=k;r=19}if((r|0)==19){f[d>>2]=0;f[d+4>>2]=0;r=JV(d,8)|0;k=r;b[k>>0]=108;b[k+1>>0]=101;b[k+2>>0]=110;b[k+3>>0]=32;k=r+4|0;b[k>>0]=33;b[k+1>>0]=61;b[k+2>>0]=32;b[k+3>>0]=48;EP(-215,d,182363,182090,377);KV(d);v=0}k=f[a>>2]|0;r=a+4|0;i=f[r>>2]|0;if((k+v|0)>>>0>>0){w=k;x=i}else{f[d>>2]=0;f[d+4>>2]=0;i=JV(d,23)|0;k=182369;j=i+23|0;do{b[i>>0]=b[k>>0]|0;i=i+1|0;k=k+1|0}while((i|0)<(j|0));EP(-215,d,182363,182090,380);KV(d);w=f[a>>2]|0;x=f[r>>2]|0}if((w+v|0)>>>0>=x>>>0){n=1;u=c;return n|0}DVa(w|0,m|0,v|0)|0;f[a>>2]=(f[a>>2]|0)+v;n=1;u=c;return n|0}function KX(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+16|0;g=e;if(c>>>0>=d>>>0){u=e;return a|0}h=d;i=a+28|0;j=a+24|0;k=g+4|0;l=c;do{c=h-l|0;m=f[j>>2]|0;n=(f[i>>2]|0)-m|0;o=(n|0)<(c|0)?n:c;DVa(m|0,l|0,o|0)|0;l=l+o|0;m=(f[j>>2]|0)+o|0;f[j>>2]=m;if(m>>>0>=(f[i>>2]|0)>>>0?!(JX(a)|0):0){f[g>>2]=0;f[k>>2]=0;m=JV(g,7)|0;b[m>>0]=b[182393]|0;b[m+1>>0]=b[182394]|0;b[m+2>>0]=b[182395]|0;b[m+3>>0]=b[182396]|0;b[m+4>>0]=b[182397]|0;b[m+5>>0]=b[182398]|0;b[m+6>>0]=b[182399]|0;EP(-215,g,339956,182090,357);KV(g)}}while(l>>>0>>0);u=e;return a|0}function LX(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;g=EQa(40)|0;MX(g,c);f[a>>2]=g;g=a+4|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;g=(c|0)!=0;if(!(g?(f[c>>2]|0)==1280131417:0)){f[e>>2]=0;f[e+4>>2]=0;h=JV(e,31)|0;i=182401;j=h+31|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));EP(g?-5:-27,e,182433,182090,847);KV(e)}if(f[c+8>>2]|0){u=d;return}f[e>>2]=0;f[e+4>>2]=0;h=JV(e,38)|0;i=182446;j=h+38|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));EP(-2,e,182433,182090,847);KV(e);u=d;return}function MX(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=u;u=u+16|0;e=d;f[a>>2]=c;g=a+4|0;f[g>>2]=0;h=a+8|0;f[h>>2]=0;f[a+12>>2]=0;i=EQa(48)|0;f[g>>2]=i;f[a+12>>2]=i+48;b[i>>0]=0;b[i+1>>0]=0;b[i+2>>0]=0;b[i+3>>0]=0;b[i+4>>0]=0;b[i+5>>0]=0;b[i+6>>0]=0;b[i+7>>0]=0;b[i+8>>0]=0;b[i+9>>0]=0;b[i+10>>0]=0;b[i+11>>0]=0;b[i+12>>0]=0;b[i+13>>0]=0;b[i+14>>0]=0;b[i+15>>0]=0;b[i+16>>0]=0;b[i+17>>0]=0;b[i+18>>0]=0;b[i+19>>0]=0;b[i+20>>0]=0;b[i+21>>0]=0;b[i+22>>0]=0;b[i+23>>0]=0;b[i+24>>0]=0;b[i+25>>0]=0;b[i+26>>0]=0;b[i+27>>0]=0;b[i+28>>0]=0;b[i+29>>0]=0;b[i+30>>0]=0;b[i+31>>0]=0;b[i+32>>0]=0;b[i+33>>0]=0;b[i+34>>0]=0;b[i+35>>0]=0;b[i+36>>0]=0;b[i+37>>0]=0;b[i+38>>0]=0;b[i+39>>0]=0;b[i+40>>0]=0;b[i+41>>0]=0;b[i+42>>0]=0;b[i+43>>0]=0;b[i+44>>0]=0;b[i+45>>0]=0;b[i+46>>0]=0;b[i+47>>0]=0;f[h>>2]=i+48;i=a+16|0;f[i>>2]=0;h=a+20|0;f[h>>2]=0;f[a+24>>2]=0;j=EQa(65)|0;f[i>>2]=j;f[a+24>>2]=j+65;b[j>>0]=0;b[j+1>>0]=0;b[j+2>>0]=0;b[j+3>>0]=0;b[j+4>>0]=0;b[j+5>>0]=0;b[j+6>>0]=0;b[j+7>>0]=0;b[j+8>>0]=0;b[j+9>>0]=0;b[j+10>>0]=0;b[j+11>>0]=0;b[j+12>>0]=0;b[j+13>>0]=0;b[j+14>>0]=0;b[j+15>>0]=0;b[j+16>>0]=0;b[j+17>>0]=0;b[j+18>>0]=0;b[j+19>>0]=0;b[j+20>>0]=0;b[j+21>>0]=0;b[j+22>>0]=0;b[j+23>>0]=0;b[j+24>>0]=0;b[j+25>>0]=0;b[j+26>>0]=0;b[j+27>>0]=0;b[j+28>>0]=0;b[j+29>>0]=0;b[j+30>>0]=0;b[j+31>>0]=0;b[j+32>>0]=0;b[j+33>>0]=0;b[j+34>>0]=0;b[j+35>>0]=0;b[j+36>>0]=0;b[j+37>>0]=0;b[j+38>>0]=0;b[j+39>>0]=0;b[j+40>>0]=0;b[j+41>>0]=0;b[j+42>>0]=0;b[j+43>>0]=0;b[j+44>>0]=0;b[j+45>>0]=0;b[j+46>>0]=0;b[j+47>>0]=0;b[j+48>>0]=0;b[j+49>>0]=0;b[j+50>>0]=0;b[j+51>>0]=0;b[j+52>>0]=0;b[j+53>>0]=0;b[j+54>>0]=0;b[j+55>>0]=0;b[j+56>>0]=0;b[j+57>>0]=0;b[j+58>>0]=0;b[j+59>>0]=0;b[j+60>>0]=0;b[j+61>>0]=0;b[j+62>>0]=0;b[j+63>>0]=0;b[j+64>>0]=0;f[h>>2]=j+65;j=f[g>>2]|0;f[a+28>>2]=j;f[a+36>>2]=j+48;f[a+32>>2]=j;j=(c|0)!=0;if(!(j?(f[c>>2]|0)==1280131417:0)){f[e>>2]=0;f[e+4>>2]=0;k=JV(e,31)|0;l=182401;m=k+31|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(j?-5:-27,e,182485,182090,415);KV(e)}if(!(f[c+8>>2]|0)){f[e>>2]=0;f[e+4>>2]=0;k=JV(e,38)|0;l=182446;m=k+38|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-2,e,182485,182090,415);KV(e)}if((f[c+4>>2]|0)==24){e=c+72|0;l=f[e>>2]|0;f[e>>2]=l+1;b[l>>0]=0;l=c+76|0;AZ(c,f[l>>2]|0);f[e>>2]=f[l>>2];l=f[a>>2]|0;FVa(f[l+76>>2]|0,0,f[l+56>>2]|0)|0;AZ(c,182506);u=d;return}else{MZ(f[a>>2]|0)|0;u=d;return}}function NX(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;e=u;u=u+32|0;g=e;OX(a,d);PX(g,b,c,a+4|0);c=f[a>>2]|0;a=EQa(1024)|0;FVa(a|0,0,1024)|0;b=g+4|0;d=f[b>>2]|0;h=g+8|0;if(d>>>0<(f[h>>2]|0)>>>0){i=g+16|0;j=g+20|0;k=g+12|0;l=c+36|0;m=c+32|0;n=d;while(1){d=f[i>>2]|0;o=(f[j>>2]|0)-d>>3;if(!o)p=n;else{q=0;r=d;d=n;while(1){s=f[r+(q<<3)>>2]|0;Zf[f[r+(q<<3)+4>>2]&127](d+s|0,a+s|0)|0;s=q+1|0;if((s|0)==(o|0))break;q=s;r=f[i>>2]|0;d=f[b>>2]|0}p=f[b>>2]|0}d=f[k>>2]|0;r=p+d|0;f[b>>2]=r;q=a+d|0;if((d|0)>0){d=q;o=a;do{s=d-o|0;t=f[m>>2]|0;v=(f[l>>2]|0)-t|0;w=(v|0)<(s|0)?v:s;DVa(t|0,o|0,w|0)|0;o=o+w|0;t=(f[m>>2]|0)+w|0;f[m>>2]=t;if(t>>>0>=(f[l>>2]|0)>>>0)QX(c)|0}while(o>>>0>>0);x=f[b>>2]|0}else x=r;if(x>>>0<(f[h>>2]|0)>>>0)n=x;else break}}GQa(a);a=f[g+16>>2]|0;if(!a){u=e;return}x=g+20|0;g=f[x>>2]|0;if((g|0)!=(a|0))f[x>>2]=g+(~((g+-8-a|0)>>>3)<<3);GQa(a);u=e;return}function OX(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=u;u=u+16|0;e=d;if(!c){f[e>>2]=0;f[e+4>>2]=0;g=JV(e,13)|0;h=182616;i=g+13|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));EP(-5,e,182630,182090,872);KV(e);u=d;return}j=a+4|0;k=b[j+11>>0]|0;l=k<<24>>24<0;if(l)m=f[a+8>>2]|0;else m=k&255;if(m|0){m=nCa(c)|0;if((m|0)==((l?f[a+8>>2]|0:k&255)|0)?(gRa(j,0,-1,c,m)|0)==0:0){u=d;return}f[e>>2]=0;f[e+4>>2]=0;g=JV(e,20)|0;h=182639;i=g+20|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));EP(-5,e,182630,182090,883);KV(e);u=d;return}XQa(j,c)|0;lX(e,c);c=e+11|0;j=b[c>>0]|0;h=j<<24>>24<0;g=h?f[e>>2]|0:e;i=h?f[e+4>>2]|0:j&255;h=g+i|0;m=f[a>>2]|0;if((i|0)>0){i=h;a=m+36|0;k=m+32|0;l=g;do{g=i-l|0;n=f[k>>2]|0;o=(f[a>>2]|0)-n|0;p=(o|0)<(g|0)?o:g;DVa(n|0,l|0,p|0)|0;l=l+p|0;n=(f[k>>2]|0)+p|0;f[k>>2]=n;if(n>>>0>=(f[a>>2]|0)>>>0)QX(m)|0}while(l>>>0>>0);q=b[c>>0]|0}else q=j;if(q<<24>>24<0)GQa(f[e>>2]|0);u=d;return}function PX(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=u;u=u+16|0;h=g;f[a>>2]=c;i=a+4|0;f[i>>2]=0;j=a+8|0;f[j>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[a+24>>2]=0;if(!c){f[h>>2]=0;f[h+4>>2]=0;c=JV(h,3)|0;b[c>>0]=b[182516]|0;b[c+1>>0]=b[182517]|0;b[c+2>>0]=b[182518]|0;EP(-215,h,182520,182090,551);KV(h)}c=e+11|0;k=b[c>>0]|0;if(!((k<<24>>24<0?f[e+4>>2]|0:k&255)|0)){f[h>>2]=0;f[h+4>>2]=0;k=JV(h,11)|0;l=182545;m=k+11|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));EP(-215,h,182520,182090,552);KV(h)}if((d|0)<=0){f[h>>2]=0;f[h+4>>2]=0;l=JV(h,7)|0;b[l>>0]=b[182557]|0;b[l+1>>0]=b[182558]|0;b[l+2>>0]=b[182559]|0;b[l+3>>0]=b[182560]|0;b[l+4>>0]=b[182561]|0;b[l+5>>0]=b[182562]|0;b[l+6>>0]=b[182563]|0;EP(-215,h,182520,182090,553);KV(h)}RX(a,e);h=f[a>>2]|0;f[j>>2]=h;f[i>>2]=h;h=YZ((b[c>>0]|0)<0?f[e>>2]|0:e,0)|0;f[a+12>>2]=h;e=(f[a>>2]|0)+(X(h,d)|0)|0;f[j>>2]=e;u=g;return}function QX(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=u;u=u+80|0;d=c;e=a+28|0;g=f[e>>2]|0;h=a+16|0;i=a+32|0;if(!(gX(g,f[h>>2]|0,0,(f[i>>2]|0)-g|0)|0)){j=0;u=c;return j|0}f[i>>2]=f[e>>2];e=f[a>>2]|0;if((f[e+4>>2]|0)==24){AZ(e,f[h>>2]|0);j=1;u=c;return j|0}else{i=f[e+40>>2]|0;FVa(d|0,32,i|0)|0;b[d+i>>0]=0;AZ(e,d);AZ(f[a>>2]|0,f[h>>2]|0);AZ(f[a>>2]|0,180112);MZ(f[a>>2]|0)|0;j=1;u=c;return j|0}return 0}function RX(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+176|0;e=d+156|0;g=d+160|0;h=d+16|0;i=d;j=d+8|0;f[e>>2]=0;b[g>>0]=0;k=h+60|0;l=h+8|0;f[h>>2]=11828;f[k>>2]=11848;f[h+4>>2]=0;cHa(h+60|0,l);f[h+132>>2]=0;f[h+136>>2]=-1;f[h>>2]=42068;f[k>>2]=42088;hHa(l);f[l>>2]=41984;k=h+40|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[h+56>>2]=8;mX(l,c);c=f[h+(f[(f[h>>2]|0)+-12>>2]|0)+16>>2]|0;a:do if(!(c&2)){l=i+4|0;k=j+4|0;m=a+20|0;n=a+24|0;o=a+16|0;p=i+4|0;q=0;while(1){r=nHa(h,e)|0;if(!(f[r+(f[(f[r>>2]|0)+-12>>2]|0)+16>>2]&5)){if(!(f[e>>2]|0)){f[i>>2]=0;f[l>>2]=0;r=JV(i,8)|0;s=r;b[s>>0]=99;b[s+1>>0]=110;b[s+2>>0]=116;b[s+3>>0]=32;s=r+4|0;b[s>>0]=62;b[s+1>>0]=32;b[s+2>>0]=48;b[s+3>>0]=85;EP(-215,i,182565,182090,605);KV(i)}}else{bHa(h+(f[(f[h>>2]|0)+-12>>2]|0)|0,0);f[e>>2]=1}s=SX(h,g)|0;if(f[s+(f[(f[s>>2]|0)+-12>>2]|0)+16>>2]&5|0)break;s=f[e>>2]|0;f[e>>2]=s+-1;b:do if(!s)t=q;else{r=q;while(1){switch(b[g>>0]|0){case 99:case 117:{f[p>>2]=106;v=1;break}case 115:case 119:{f[p>>2]=107;v=2;break}case 105:{f[p>>2]=108;v=4;break}case 102:{f[p>>2]=109;v=4;break}case 100:{f[p>>2]=110;v=8;break}default:{f[j>>2]=0;f[k>>2]=0;w=JV(j,19)|0;x=182586;y=w+19|0;do{b[w>>0]=b[x>>0]|0;w=w+1|0;x=x+1|0}while((w|0)<(y|0));EP(-215,j,182565,182090,639);KV(j);v=0}}z=r+-1+v&0-v;f[i>>2]=z;A=f[m>>2]|0;if((A|0)==(f[n>>2]|0))YX(o,i);else{B=i;C=f[B+4>>2]|0;D=A;f[D>>2]=f[B>>2];f[D+4>>2]=C;f[m>>2]=(f[m>>2]|0)+8}C=z+v|0;z=f[e>>2]|0;f[e>>2]=z+-1;if(!z){t=C;break b}else r=C}}while(0);s=f[h+(f[(f[h>>2]|0)+-12>>2]|0)+16>>2]|0;if(!(s&2))q=t;else{E=s;break a}}E=f[h+(f[(f[h>>2]|0)+-12>>2]|0)+16>>2]|0}else E=c;while(0);if(E&2|0){DX(h);u=d;return}f[i>>2]=0;f[i+4>>2]=0;w=JV(i,9)|0;x=182606;y=w+9|0;do{b[w>>0]=b[x>>0]|0;w=w+1|0;x=x+1|0}while((w|0)<(y|0));EP(-215,i,182565,182090,650);KV(i);DX(h);u=d;return}function SX(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;jHa(e,a,0);if(!(b[e>>0]|0)){u=d;return a|0}e=f[a+(f[(f[a>>2]|0)+-12>>2]|0)+24>>2]|0;g=e+12|0;i=f[g>>2]|0;if((i|0)==(f[e+16>>2]|0)){j=Wf[f[(f[e>>2]|0)+40>>2]&255](e)|0;if((j|0)==-1){e=a+(f[(f[a>>2]|0)+-12>>2]|0)|0;bHa(e,f[e+16>>2]|6);u=d;return a|0}else k=j}else{f[g>>2]=i+1;k=h[i>>0]|0}b[c>>0]=k;u=d;return a|0}function TX(a,c){a=a|0;c=c|0;b[c>>0]=b[a>>0]|0;return 1}function UX(a,c){a=a|0;c=c|0;var e=0;e=d[a>>1]|0;b[c>>0]=e;b[c+1>>0]=(e&65535)>>>8;return 2}function VX(a,c){a=a|0;c=c|0;var d=0;d=f[a>>2]|0;b[c>>0]=d;b[c+1>>0]=d>>>8;b[c+2>>0]=d>>>16;b[c+3>>0]=d>>>24;return 4}function WX(a,c){a=a|0;c=c|0;var d=0;d=f[a>>2]|0;b[c>>0]=d;b[c+1>>0]=d>>>8;b[c+2>>0]=d>>>16;b[c+3>>0]=d>>>24;return 4}function XX(a,c){a=a|0;c=c|0;var d=0,e=0;d=a;a=f[d>>2]|0;e=f[d+4>>2]|0;b[c>>0]=a;d=AVa(a|0,e|0,8)|0;b[c+1>>0]=d;d=AVa(a|0,e|0,16)|0;b[c+2>>0]=d;d=AVa(a|0,e|0,24)|0;b[c+3>>0]=d;b[c+4>>0]=e;d=AVa(a|0,e|0,40)|0;b[c+5>>0]=d;d=AVa(a|0,e|0,48)|0;b[c+6>>0]=d;d=AVa(a|0,e|0,56)|0;b[c+7>>0]=d;return 8}function YX(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=e>>3;h=g+1|0;if(h>>>0>536870911)ZOa(a);i=a+8|0;j=(f[i>>2]|0)-d|0;k=j>>2;l=j>>3>>>0<268435455?(k>>>0>>0?h:k):536870911;do if(l)if(l>>>0>536870911){k=hd(8)|0;LQa(k,349912);f[k>>2]=118288;ld(k|0,20688,857)}else{k=EQa(l<<3)|0;m=k;n=k;break}else{m=0;n=0}while(0);k=m+(g<<3)|0;g=b;b=f[g+4>>2]|0;h=k;f[h>>2]=f[g>>2];f[h+4>>2]=b;if((e|0)>0)DVa(n|0,d|0,e|0)|0;f[a>>2]=m;f[c>>2]=k+8;f[i>>2]=m+(l<<3);if(!d)return;GQa(d);return}function ZX(a){a=a|0;var c=0;c=f[a>>2]|0;if(c|0){_X(c);GQa(c)}c=a+4|0;if((b[c+11>>0]|0)>=0)return;GQa(f[c>>2]|0);return}function _X(a){a=a|0;var b=0,c=0;if((f[a+32>>2]|0)!=(f[a+28>>2]|0))QX(a)|0;b=f[a>>2]|0;if((f[b+4>>2]|0)==24){AZ(b,182660);b=f[a>>2]|0;f[b+72>>2]=f[b+76>>2];MZ(b)|0;b=f[a>>2]|0;FVa(f[b+76>>2]|0,0,f[b+56>>2]|0)|0;b=f[a>>2]|0;f[b+72>>2]=f[b+76>>2]}b=f[a+16>>2]|0;if(b|0){c=a+20|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;GQa(b)}b=f[a+4>>2]|0;if(!b)return;c=a+8|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;GQa(b);return}function $X(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;i=u;u=u+64|0;k=i+16|0;l=i;m=i+24|0;f[l+4>>2]=0;aY(m,a,c,e);e=m+8|0;c=m+28|0;a=m+20|0;o=m+16|0;q=m+12|0;r=l+8|0;s=l+8|0;while(1){t=f[m>>2]|0;if(t>>>0>=(f[e>>2]|0)>>>0)break;v=k;f[v>>2]=0;f[v+4>>2]=0;v=f[c>>2]|0;Zf[f[v+8>>2]&127](t+(f[v+4>>2]|0)|0,k)|0;v=f[c>>2]|0;t=f[v>>2]|0;switch(t|0){case 0:{f[r>>2]=h[k>>0];w=11;break}case 1:{f[r>>2]=b[k>>0];w=11;break}case 2:{f[r>>2]=j[k>>1];w=11;break}case 3:{f[r>>2]=d[k>>1];w=11;break}case 4:{f[r>>2]=f[k>>2];w=11;break}case 5:{p[s>>3]=+n[k>>2];w=11;break}case 6:{p[s>>3]=+p[k>>3];w=11;break}default:x=t}if((w|0)==11){w=0;x=f[v>>2]|0}switch(x|0){case 4:case 3:case 2:case 1:case 0:{y=1;w=14;break}case 6:case 5:{y=2;w=14;break}default:{}}if((w|0)==14){w=0;f[l>>2]=y}t=v+12|0;f[c>>2]=t;if((t|0)==(f[a>>2]|0)){f[c>>2]=f[o>>2];f[m>>2]=(f[m>>2]|0)+(f[q>>2]|0)}OM(g,l)|0}l=f[o>>2]|0;if(!l){u=i;return}o=f[a>>2]|0;if((o|0)!=(l|0))f[a>>2]=o+(~(((o+-12-l|0)>>>0)/12|0)*12|0);GQa(l);u=i;return}function aY(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;g=u;u=u+16|0;h=g;f[a>>2]=c;i=a+4|0;f[i>>2]=c;j=a+8|0;f[j>>2]=c;k=a+16|0;f[k>>2]=0;f[a+20>>2]=0;f[a+24>>2]=0;if(!c){f[h>>2]=0;f[h+4>>2]=0;c=JV(h,3)|0;b[c>>0]=b[182516]|0;b[c+1>>0]=b[182517]|0;b[c+2>>0]=b[182518]|0;EP(-215,h,182662,182090,670);KV(h)}if(!e){f[h>>2]=0;f[h+4>>2]=0;c=JV(h,2)|0;b[c>>0]=100;b[c+1>>0]=116;EP(-215,h,182662,182090,671);KV(h)}if((d|0)<=-1){f[h>>2]=0;f[h+4>>2]=0;c=JV(h,8)|0;l=c;b[l>>0]=108;b[l+1>>0]=101;b[l+2>>0]=110;b[l+3>>0]=32;l=c+4|0;b[l>>0]=62;b[l+1>>0]=61;b[l+2>>0]=32;b[l+3>>0]=48;EP(-215,h,182662,182090,672);KV(h)}bY(a,e);f[a+28>>2]=f[k>>2];k=YZ(e,0)|0;f[a+12>>2]=k;a=(f[i>>2]|0)+(X(k,d)|0)|0;f[j>>2]=a;u=g;return}function bY(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+176|0;e=d+160|0;g=d+164|0;h=d+20|0;i=d+8|0;j=d;f[e>>2]=0;b[g>>0]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;k=nCa(c)|0;if(k>>>0>4294967279)NQa(i);if(k>>>0<11){b[i+11>>0]=k;if(!k)l=i;else{m=i;n=6}}else{o=k+16&-16;p=EQa(o)|0;f[i>>2]=p;f[i+8>>2]=o|-2147483648;f[i+4>>2]=k;m=p;n=6}if((n|0)==6){DVa(m|0,c|0,k|0)|0;l=m}b[l+k>>0]=0;k=h+60|0;l=h+8|0;f[h>>2]=11828;f[k>>2]=11848;f[h+4>>2]=0;cHa(h+60|0,l);f[h+132>>2]=0;f[h+136>>2]=-1;f[h>>2]=42068;f[k>>2]=42088;hHa(l);f[l>>2]=41984;k=h+40|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[h+56>>2]=8;mX(l,i);if((b[i+11>>0]|0)<0)GQa(f[i>>2]|0);l=f[h+(f[(f[h>>2]|0)+-12>>2]|0)+16>>2]|0;a:do if(!(l&2)){k=i+4|0;m=j+4|0;c=i+4|0;n=j+4|0;p=a+20|0;o=a+24|0;q=a+16|0;r=i+8|0;s=0;while(1){t=nHa(h,e)|0;if(!(f[t+(f[(f[t>>2]|0)+-12>>2]|0)+16>>2]&5)){if(!(f[e>>2]|0)){f[i>>2]=0;f[k>>2]=0;t=JV(i,8)|0;v=t;b[v>>0]=99;b[v+1>>0]=110;b[v+2>>0]=116;b[v+3>>0]=32;v=t+4|0;b[v>>0]=62;b[v+1>>0]=32;b[v+2>>0]=48;b[v+3>>0]=85;EP(-215,i,182685,182090,763);KV(i)}}else{bHa(h+(f[(f[h>>2]|0)+-12>>2]|0)|0,0);f[e>>2]=1}v=SX(h,g)|0;if(f[v+(f[(f[v>>2]|0)+-12>>2]|0)+16>>2]&5|0)break;v=f[e>>2]|0;f[e>>2]=v+-1;b:do if(!v)w=s;else{t=s;while(1){x=b[g>>0]|0;switch(x<<24>>24|0){case 99:case 117:{f[r>>2]=111;y=1;z=x;break}case 115:case 119:{f[r>>2]=112;y=2;z=x;break}case 105:{f[r>>2]=113;y=4;z=x;break}case 102:{f[r>>2]=114;y=4;z=x;break}case 100:{f[r>>2]=115;y=8;z=x;break}default:{f[j>>2]=0;f[m>>2]=0;A=JV(j,19)|0;B=182586;C=A+19|0;do{b[A>>0]=b[B>>0]|0;A=A+1|0;B=B+1|0}while((A|0)<(C|0));EP(-215,j,182685,182090,798);KV(j);y=0;z=b[g>>0]|0}}x=t+-1+y&0-y;f[c>>2]=x;D=x+y|0;switch(z<<24>>24|0){case 117:{f[i>>2]=0;break}case 99:{f[i>>2]=1;break}case 119:{f[i>>2]=2;break}case 115:{f[i>>2]=3;break}case 105:{f[i>>2]=4;break}case 102:{f[i>>2]=5;break}case 100:{f[i>>2]=6;break}default:{f[j>>2]=0;f[n>>2]=0;A=JV(j,22)|0;B=182696;C=A+22|0;do{b[A>>0]=b[B>>0]|0;A=A+1|0;B=B+1|0}while((A|0)<(C|0));EP(-215,j,182685,182090,816);KV(j)}}x=f[p>>2]|0;if((x|0)==(f[o>>2]|0))hY(q,i);else{f[x>>2]=f[i>>2];f[x+4>>2]=f[i+4>>2];f[x+8>>2]=f[i+8>>2];f[p>>2]=(f[p>>2]|0)+12}x=f[e>>2]|0;f[e>>2]=x+-1;if(!x){w=D;break b}else t=D}}while(0);v=f[h+(f[(f[h>>2]|0)+-12>>2]|0)+16>>2]|0;if(!(v&2))s=w;else{E=v;break a}}E=f[h+(f[(f[h>>2]|0)+-12>>2]|0)+16>>2]|0}else E=l;while(0);if(!(E&2)){f[i>>2]=0;f[i+4>>2]=0;A=JV(i,9)|0;B=182606;C=A+9|0;do{b[A>>0]=b[B>>0]|0;A=A+1|0;B=B+1|0}while((A|0)<(C|0));EP(-215,i,182685,182090,823);KV(i)}if((f[a+20>>2]|0)!=(f[a+16>>2]|0)){DX(h);u=d;return}f[i>>2]=0;f[i+4>>2]=0;A=JV(i,22)|0;B=182719;C=A+22|0;do{b[A>>0]=b[B>>0]|0;A=A+1|0;B=B+1|0}while((A|0)<(C|0));EP(-215,i,182685,182090,824);KV(i);DX(h);u=d;return}function cY(a,c){a=a|0;c=c|0;b[c>>0]=0;b[c>>0]=b[a>>0]|0;return 1}function dY(a,c){a=a|0;c=c|0;var e=0;d[c>>1]=0;e=b[a>>0]|0;d[c>>1]=e&255;d[c>>1]=(h[a+1>>0]|0)<<8|e&255;return 2}function eY(a,b){a=a|0;b=b|0;var c=0,d=0;f[b>>2]=0;c=h[a>>0]|0;f[b>>2]=c;d=(h[a+1>>0]|0)<<8|c;f[b>>2]=d;c=(h[a+2>>0]|0)<<16|d;f[b>>2]=c;f[b>>2]=(h[a+3>>0]|0)<<24|c;return 4}function fY(a,b){a=a|0;b=b|0;f[b>>2]=(h[a+1>>0]|0)<<8|(h[a>>0]|0)|(h[a+2>>0]|0)<<16|(h[a+3>>0]|0)<<24;return 4}function gY(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0;c=h[a>>0]|0;d=BVa(h[a+1>>0]|0|0,0,8)|0;e=I;g=BVa(h[a+2>>0]|0|0,0,16)|0;i=e|I;e=BVa(h[a+3>>0]|0|0,0,24)|0;j=i|I|(h[a+4>>0]|0);i=BVa(h[a+5>>0]|0|0,0,40)|0;k=j|I;j=BVa(h[a+6>>0]|0|0,0,48)|0;l=k|I;k=BVa(h[a+7>>0]|0|0,0,56)|0;a=b;f[a>>2]=d|c|g|e|i|j|k;f[a+4>>2]=l|I;return 8}function hY(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=(e|0)/12|0;h=g+1|0;if(h>>>0>357913941)ZOa(a);i=a+8|0;j=((f[i>>2]|0)-d|0)/12|0;k=j<<1;l=j>>>0<178956970?(k>>>0>>0?h:k):357913941;do if(l)if(l>>>0>357913941){k=hd(8)|0;LQa(k,349912);f[k>>2]=118288;ld(k|0,20688,857)}else{m=EQa(l*12|0)|0;break}else m=0;while(0);k=m+(g*12|0)|0;f[k>>2]=f[b>>2];f[k+4>>2]=f[b+4>>2];f[k+8>>2]=f[b+8>>2];b=k+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)DVa(b|0,d|0,e|0)|0;f[a>>2]=b;f[c>>2]=k+12;f[i>>2]=m+(l*12|0);if(!d)return;GQa(d);return}function iY(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=u;u=u+16|0;h=g;i=(a|0)!=0;if(i){if((f[a>>2]|0)!=1280131417)j=4}else{f[h>>2]=0;f[h+4>>2]=0;k=JV(h,2)|0;b[k>>0]=102;b[k+1>>0]=115;EP(-215,h,182742,182090,906);KV(h);j=4}if((j|0)==4){j=i?-5:-27;f[h>>2]=0;f[h+4>>2]=0;l=JV(h,31)|0;m=182401;n=l+31|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(j,h,182742,182090,907);KV(h)}if(!(f[a+8>>2]|0)){f[h>>2]=0;f[h+4>>2]=0;l=JV(h,38)|0;m=182446;n=l+38|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-2,h,182742,182090,907);KV(h)}SZ(a,1);switch(f[a+280>>2]|0){case 0:{RZ(a,2);o=a+272|0;p=f[o>>2]|0;NX(p,c,d,e);u=g;return}case 2:{o=a+272|0;p=f[o>>2]|0;NX(p,c,d,e);u=g;return}default:{f[h>>2]=0;f[h+4>>2]=0;l=JV(h,37)|0;m=182763;n=l+37|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-2,h,182742,182090,917);KV(h);o=a+272|0;p=f[o>>2]|0;NX(p,c,d,e);u=g;return}}}function jY(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0;i=u;u=u+1088|0;j=i+1072|0;k=i+32|0;l=i;yV(j,42112);if(h|0){m=(e|0)!=0;if(!((a|0)!=0&(c|0)!=0&(d|0)!=0&m&(g|0)!=0)){f[k>>2]=0;f[k+4>>2]=0;n=JV(k,60)|0;o=182801;p=n+60|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));EP(-215,k,182862,182874,101);KV(k)}q=f[d>>2]|0;r=1212424721>>>(q<<2&28)&15;s=q&7;q=e+c|0;t=(q<<3)+8+(h<<5)|0;v=k+8|0;f[k>>2]=v;w=k+4|0;f[w>>2]=t;if(t>>>0>1032){x=FQa(t)|0;f[k>>2]=x;y=x}else y=v;x=y+(c<<2)+(e<<2)|0;t=x+(c<<2)+(e<<2)+4|0;z=t+(h<<2)|0;A=z+(h<<2)|0;B=A+(h<<2<<2)|0;C=B+(h<<2)|0;D=(c|0)==0;if(!D){E=0;do{f[y+(E<<2)>>2]=a+(E*56|0);E=E+1|0}while((E|0)!=(c|0))}if(e|0){E=0;do{f[y+(E+c<<2)>>2]=d+(E*56|0);E=E+1|0}while((E|0)!=(e|0))}f[x+(q<<2)>>2]=0;E=l+4|0;F=l+4|0;G=0;do{H=G<<1;I=f[g+(H<<2)>>2]|0;J=f[g+((H|1)<<2)>>2]|0;if((I|0)>-1){a:do if(!D){H=I;K=0;while(1){L=f[a+(K*56|0)>>2]|0;M=L>>>3&511;if((H|0)<=(M|0))break;N=H+-1-M|0;M=K+1|0;if(M>>>0>>0){H=N;K=M}else{O=N;P=M;Q=16;break a}}if((L&7|0)==(s|0)){R=H;S=K}else{O=H;P=K;Q=16}}else{O=I;P=0;Q=16}while(0);if((Q|0)==16){Q=0;f[l>>2]=0;f[E>>2]=0;n=JV(l,36)|0;o=182931;p=n+36|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));EP(-215,l,182862,182874,128);KV(l);R=O;S=P}I=G<<2;f[A+(I<<2)>>2]=S;M=X(R,r)|0;f[A+((I|1)<<2)>>2]=M;T=((f[a+(S*56|0)>>2]|0)>>>3&511)+1|0}else{M=G<<2;f[A+(M<<2)>>2]=q;f[A+((M|1)<<2)>>2]=0;T=0}f[B+(G<<2)>>2]=T;b:do if(m){M=J;I=0;while(1){U=f[d+(I*56|0)>>2]|0;N=U>>>3&511;if((M|0)<=(N|0))break;V=M+-1-N|0;N=I+1|0;if(N>>>0>>0){M=V;I=N}else{W=V;Y=N;Q=23;break b}}if((M|0)>-1&(U&7|0)==(s|0)){Z=M;_=I}else{W=M;Y=I;Q=23}}else{W=J;Y=0;Q=23}while(0);if((Q|0)==23){Q=0;f[l>>2]=0;f[F>>2]=0;n=JV(l,47)|0;o=182968;p=n+47|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));EP(-215,l,182862,182874,141);KV(l);Z=W;_=Y}J=G<<2;f[A+((J|2)<<2)>>2]=_+c;K=X(Z,r)|0;f[A+((J|3)<<2)>>2]=K;f[C+(G<<2)>>2]=((f[d+(_*56|0)>>2]|0)>>>3&511)+1;G=G+1|0}while(G>>>0>>0);FN(l,y,x,q);q=f[l+20>>2]|0;y=((r+1023|0)>>>0)/(r>>>0)|0;G=(y|0)<(q|0)?y:q;y=f[42132+(s<<2)>>2]|0;s=l+16|0;_=(q|0)>0;d=X(G,r)|0;r=0;while(1){if(r>>>0<(f[s>>2]|0)>>>0)$=0;else break;do{Z=$<<2;f[t+($<<2)>>2]=(f[x+(f[A+(Z<<2)>>2]<<2)>>2]|0)+(f[A+((Z|1)<<2)>>2]|0);f[z+($<<2)>>2]=(f[x+(f[A+((Z|2)<<2)>>2]<<2)>>2]|0)+(f[A+((Z|3)<<2)>>2]|0);$=$+1|0}while(($|0)!=(h|0));c:do if(_){Z=0;do{c=q-Z|0;ci[y&127](t,B,z,C,(G|0)<(c|0)?G:c,h);Z=Z+G|0;c=(Z|0)<(q|0);if(c)aa=0;else break c;do{Y=X(d,f[B+(aa<<2)>>2]|0)|0;W=t+(aa<<2)|0;f[W>>2]=(f[W>>2]|0)+Y;Y=X(d,f[C+(aa<<2)>>2]|0)|0;W=z+(aa<<2)|0;f[W>>2]=(f[W>>2]|0)+Y;aa=aa+1|0}while((aa|0)!=(h|0))}while(c)}while(0);GN(l)|0;r=r+1|0}r=f[k>>2]|0;if((r|0)!=(v|0)){if(r|0)HQa(r);f[k>>2]=v;f[w>>2]=1032}}if(!(f[j+4>>2]|0)){u=i;return}u=i;return}function kY(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if((h|0)<=0)return;i=g+-2|0;if((g|0)<2){if((g|0)==1)j=0;else return;do{k=f[a+(j<<2)>>2]|0;if(!k)l=0;else l=b[k>>0]|0;b[f[d+(j<<2)>>2]>>0]=l;j=j+1|0}while((j|0)!=(h|0));return}j=g&-2;if((j|0)<(g|0))m=0;else{g=0;do{l=f[a+(g<<2)>>2]|0;k=f[d+(g<<2)>>2]|0;n=f[c+(g<<2)>>2]|0;o=f[e+(g<<2)>>2]|0;if(!l){p=o<<1;q=k;r=0;while(1){b[q+o>>0]=0;b[q>>0]=0;r=r+2|0;if((r|0)>(i|0))break;else q=q+p|0}}else{p=n<<1;q=o<<1;r=l;s=k;t=0;while(1){u=b[r+n>>0]|0;b[s>>0]=b[r>>0]|0;b[s+o>>0]=u;t=t+2|0;if((t|0)>(i|0))break;else{r=r+p|0;s=s+q|0}}}g=g+1|0}while((g|0)!=(h|0));return}do{g=f[a+(m<<2)>>2]|0;q=f[d+(m<<2)>>2]|0;s=f[c+(m<<2)>>2]|0;p=f[e+(m<<2)>>2]|0;if(!g){r=p<<1;t=q;o=0;while(1){b[t+p>>0]=0;b[t>>0]=0;o=o+2|0;if((o|0)>(i|0))break;else t=t+r|0}r=q+(X(p,j)|0)|0;b[r>>0]=0}else{r=s<<1;t=p<<1;o=X(s,j)|0;n=g;k=q;l=0;while(1){u=b[n+s>>0]|0;b[k>>0]=b[n>>0]|0;b[k+p>>0]=u;l=l+2|0;if((l|0)>(i|0))break;else{n=n+r|0;k=k+t|0}}t=q+(X(p,j)|0)|0;b[t>>0]=b[g+o>>0]|0}m=m+1|0}while((m|0)!=(h|0));return}function lY(a,b,c,e,g,h){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;if((h|0)<=0)return;i=g+-2|0;if((g|0)<2){if((g|0)==1)j=0;else return;do{k=f[a+(j<<2)>>2]|0;if(!k)l=0;else l=d[k>>1]|0;d[f[c+(j<<2)>>2]>>1]=l;j=j+1|0}while((j|0)!=(h|0));return}j=(i>>>1<<2)+4|0;if((g&-2|0)<(g|0))m=0;else{g=0;do{l=f[a+(g<<2)>>2]|0;k=f[c+(g<<2)>>2]|0;n=f[b+(g<<2)>>2]|0;o=f[e+(g<<2)>>2]|0;if(!l){p=o<<1;q=k;r=0;while(1){d[q+(o<<1)>>1]=0;d[q>>1]=0;r=r+2|0;if((r|0)>(i|0))break;else q=q+(p<<1)|0}}else{p=n<<1;q=o<<1;r=l;s=k;t=0;while(1){u=d[r+(n<<1)>>1]|0;d[s>>1]=d[r>>1]|0;d[s+(o<<1)>>1]=u;t=t+2|0;if((t|0)>(i|0))break;else{r=r+(p<<1)|0;s=s+(q<<1)|0}}}g=g+1|0}while((g|0)!=(h|0));return}do{g=f[a+(m<<2)>>2]|0;q=f[c+(m<<2)>>2]|0;s=f[b+(m<<2)>>2]|0;p=f[e+(m<<2)>>2]|0;if(!g){r=p<<1;t=X(p,j)|0;o=q;n=0;while(1){d[o+(p<<1)>>1]=0;d[o>>1]=0;n=n+2|0;if((n|0)>(i|0))break;else o=o+(r<<1)|0}d[q+t>>1]=0}else{r=s<<1;o=p<<1;n=X(s,j)|0;k=X(p,j)|0;l=g;u=q;v=0;while(1){w=d[l+(s<<1)>>1]|0;d[u>>1]=d[l>>1]|0;d[u+(p<<1)>>1]=w;v=v+2|0;if((v|0)>(i|0))break;else{l=l+(r<<1)|0;u=u+(o<<1)|0}}d[q+k>>1]=d[g+n>>1]|0}m=m+1|0}while((m|0)!=(h|0));return}function mY(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if((g|0)<=0)return;h=e+-2|0;if((e|0)<2){if((e|0)==1)i=0;else return;do{j=f[a+(i<<2)>>2]|0;if(!j)k=0;else k=f[j>>2]|0;f[f[c+(i<<2)>>2]>>2]=k;i=i+1|0}while((i|0)!=(g|0));return}i=(h>>>1<<3)+8|0;if((e&-2|0)<(e|0))l=0;else{e=0;do{k=f[a+(e<<2)>>2]|0;j=f[c+(e<<2)>>2]|0;m=f[b+(e<<2)>>2]|0;n=f[d+(e<<2)>>2]|0;if(!k){o=n<<1;p=j;q=0;while(1){f[p+(n<<2)>>2]=0;f[p>>2]=0;q=q+2|0;if((q|0)>(h|0))break;else p=p+(o<<2)|0}}else{o=m<<1;p=n<<1;q=k;r=j;s=0;while(1){t=f[q+(m<<2)>>2]|0;f[r>>2]=f[q>>2];f[r+(n<<2)>>2]=t;s=s+2|0;if((s|0)>(h|0))break;else{q=q+(o<<2)|0;r=r+(p<<2)|0}}}e=e+1|0}while((e|0)!=(g|0));return}do{e=f[a+(l<<2)>>2]|0;p=f[c+(l<<2)>>2]|0;r=f[b+(l<<2)>>2]|0;o=f[d+(l<<2)>>2]|0;if(!e){q=o<<1;s=X(o,i)|0;n=p;m=0;while(1){f[n+(o<<2)>>2]=0;f[n>>2]=0;m=m+2|0;if((m|0)>(h|0))break;else n=n+(q<<2)|0}f[p+s>>2]=0}else{q=r<<1;n=o<<1;m=X(r,i)|0;j=X(o,i)|0;k=e;t=p;u=0;while(1){v=f[k+(r<<2)>>2]|0;f[t>>2]=f[k>>2];f[t+(o<<2)>>2]=v;u=u+2|0;if((u|0)>(h|0))break;else{k=k+(q<<2)|0;t=t+(n<<2)|0}}f[p+j>>2]=f[e+m>>2]}l=l+1|0}while((l|0)!=(g|0));return}function nY(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;if((g|0)<=0)return;h=e+-2|0;if((e|0)<2){if((e|0)==1)i=0;else return;do{j=f[a+(i<<2)>>2]|0;if(!j){k=0;l=0}else{m=j;k=f[m>>2]|0;l=f[m+4>>2]|0}m=f[c+(i<<2)>>2]|0;f[m>>2]=k;f[m+4>>2]=l;i=i+1|0}while((i|0)!=(g|0));return}i=(h>>>1<<4)+16|0;if((e&-2|0)<(e|0))n=0;else{e=0;do{l=f[a+(e<<2)>>2]|0;k=f[c+(e<<2)>>2]|0;m=f[b+(e<<2)>>2]|0;j=f[d+(e<<2)>>2]|0;if(!l){o=j<<1;p=k;q=0;while(1){r=p+(j<<3)|0;f[r>>2]=0;f[r+4>>2]=0;r=p;f[r>>2]=0;f[r+4>>2]=0;q=q+2|0;if((q|0)>(h|0))break;else p=p+(o<<3)|0}}else{o=m<<1;p=j<<1;q=l;r=k;s=0;while(1){t=q;u=f[t+4>>2]|0;v=q+(m<<3)|0;w=f[v>>2]|0;x=f[v+4>>2]|0;v=r;f[v>>2]=f[t>>2];f[v+4>>2]=u;u=r+(j<<3)|0;f[u>>2]=w;f[u+4>>2]=x;s=s+2|0;if((s|0)>(h|0))break;else{q=q+(o<<3)|0;r=r+(p<<3)|0}}}e=e+1|0}while((e|0)!=(g|0));return}do{e=f[a+(n<<2)>>2]|0;p=f[c+(n<<2)>>2]|0;r=f[b+(n<<2)>>2]|0;o=f[d+(n<<2)>>2]|0;if(!e){q=o<<1;s=X(o,i)|0;j=p;m=0;while(1){k=j+(o<<3)|0;f[k>>2]=0;f[k+4>>2]=0;k=j;f[k>>2]=0;f[k+4>>2]=0;m=m+2|0;if((m|0)>(h|0))break;else j=j+(q<<3)|0}q=p+s|0;f[q>>2]=0;f[q+4>>2]=0}else{q=r<<1;j=o<<1;m=X(r,i)|0;k=X(o,i)|0;l=e;x=p;u=0;while(1){w=l;v=f[w+4>>2]|0;t=l+(r<<3)|0;y=f[t>>2]|0;z=f[t+4>>2]|0;t=x;f[t>>2]=f[w>>2];f[t+4>>2]=v;v=x+(o<<3)|0;f[v>>2]=y;f[v+4>>2]=z;u=u+2|0;if((u|0)>(h|0))break;else{l=l+(q<<3)|0;x=x+(j<<3)|0}}j=e+m|0;x=f[j+4>>2]|0;q=p+k|0;f[q>>2]=f[j>>2];f[q+4>>2]=x}n=n+1|0}while((n|0)!=(g|0));return}function oY(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=a+8|0;d=0;do{f[a+8+(d*56|0)>>2]=1124007936;e=a+8+(d*56|0)+8|0;g=a+8+(d*56|0)+40|0;h=a+8+(d*56|0)+4|0;i=h+36|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));f[g>>2]=e;j=a+8+(d*56|0)+48|0;f[a+8+(d*56|0)+44>>2]=j;f[j>>2]=0;f[a+8+(d*56|0)+52>>2]=0;d=d+1|0}while((d|0)!=26);f[a>>2]=c;c=a+4|0;f[c>>2]=26;if(b>>>0<=26){f[c>>2]=b;return}qY(a);f[c>>2]=b;c=b*56|0;d=FQa(b>>>0>76695844|c>>>0>4294967291?-1:c+4|0)|0;f[d>>2]=b;c=d+4|0;d=c+(b*56|0)|0;b=c;do{f[b>>2]=1124007936;j=b+8|0;k=b+40|0;h=b+4|0;i=h+36|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));f[k>>2]=j;e=b+48|0;f[b+44>>2]=e;f[e>>2]=0;f[b+52>>2]=0;b=b+56|0}while((b|0)!=(d|0));f[a>>2]=c;return}function pY(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;qY(a);b=a+8|0;c=a+1464|0;do{a=c;c=c+-56|0;d=a+-20|0;e=f[d>>2]|0;if(e|0?(g=e+12|0,e=f[g>>2]|0,f[g>>2]=e+-1,(e|0)==1):0)XO(c);f[d>>2]=0;d=a+-40|0;e=a+-52|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[e>>2]|0)>0){d=f[a+-16>>2]|0;g=0;do{f[d+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[e>>2]|0))}e=f[a+-12>>2]|0;if((e|0)!=(a+-8|0))dX(e)}while((c|0)!=(b|0));return}function qY(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=f[a>>2]|0;c=a+8|0;if((b|0)==(c|0))return;if(b|0){d=b+-4|0;e=f[d>>2]|0;if(e|0){g=b+(e*56|0)|0;do{e=g;g=g+-56|0;h=e+-20|0;i=f[h>>2]|0;if(i|0?(j=i+12|0,i=f[j>>2]|0,f[j>>2]=i+-1,(i|0)==1):0)XO(g);f[h>>2]=0;h=e+-40|0;i=e+-52|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;if((f[i>>2]|0)>0){h=f[e+-16>>2]|0;j=0;do{f[h+(j<<2)>>2]=0;j=j+1|0}while((j|0)<(f[i>>2]|0))}i=f[e+-12>>2]|0;if((i|0)!=(e+-8|0))dX(i)}while((g|0)!=(b|0))}HQa(d)}f[a>>2]=c;f[a+4>>2]=26;return}function rY(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;e=u;u=u+1536|0;g=e+1520|0;h=e+56|0;i=e;yV(g,42164);j=d+4|0;if((f[d>>2]|0)!=(f[j>>2]|0)){if(((HJ(a)|0)!=327680?(HJ(a)|0)!=983040:0)?(HJ(a)|0)!=262144:0)k=(HJ(a)|0)!=720896;else k=0;if(((HJ(c)|0)!=327680?(HJ(c)|0)!=983040:0)?(HJ(c)|0)!=262144:0)l=(HJ(c)|0)!=720896;else l=0;if(k)m=1;else m=SJ(a,-1)|0;if(l)n=1;else n=SJ(c,-1)|0;o=(m|0)>0;p=(n|0)>0;if(!(p&(o&((f[j>>2]|0)-(f[d>>2]|0)&4|0)==0))){f[h>>2]=0;f[h+4>>2]=0;q=JV(h,44)|0;r=183102;s=q+44|0;do{b[q>>0]=b[r>>0]|0;q=q+1|0;r=r+1|0}while((q|0)<(s|0));EP(-215,h,182862,182874,328);KV(h)}oY(h,n+m|0);r=f[h>>2]|0;if(o){o=a+4|0;q=i+4|0;s=i+8|0;t=i+12|0;v=i+16|0;w=i+20|0;x=i+24|0;y=i+28|0;z=i+32|0;A=i+36|0;B=i+40|0;C=i+48|0;D=i+44|0;E=i+52|0;F=0;do{G=k?-1:F;do if((G|0)<0&(HJ(a)|0)==65536){H=f[o>>2]|0;f[i>>2]=f[H>>2];I=H+4|0;f[q>>2]=f[I>>2];f[s>>2]=f[H+8>>2];f[t>>2]=f[H+12>>2];f[v>>2]=f[H+16>>2];f[w>>2]=f[H+20>>2];f[x>>2]=f[H+24>>2];f[y>>2]=f[H+28>>2];f[z>>2]=f[H+32>>2];J=f[H+36>>2]|0;f[A>>2]=J;f[B>>2]=s;f[D>>2]=C;f[C>>2]=0;f[E>>2]=0;if(J|0){K=J+12|0;f[K>>2]=(f[K>>2]|0)+1}if((f[I>>2]|0)<3){I=f[H+44>>2]|0;K=f[D>>2]|0;f[K>>2]=f[I>>2];f[K+4>>2]=f[I+4>>2];break}else{f[q>>2]=0;WO(i,H);break}}else DJ(i,a,G);while(0);G=r+(F*56|0)|0;if((G|0)!=(i|0)){H=f[A>>2]|0;if(H|0){I=H+12|0;f[I>>2]=(f[I>>2]|0)+1}I=r+(F*56|0)+36|0;H=f[I>>2]|0;if(H|0?(K=H+12|0,H=f[K>>2]|0,f[K>>2]=H+-1,(H|0)==1):0)XO(G);f[I>>2]=0;H=r+(F*56|0)+16|0;K=r+(F*56|0)+4|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;if((f[K>>2]|0)>0){J=f[r+(F*56|0)+40>>2]|0;L=0;do{f[J+(L<<2)>>2]=0;L=L+1|0;M=f[K>>2]|0}while((L|0)<(M|0));f[G>>2]=f[i>>2];if((M|0)<3)N=38;else N=40}else{f[G>>2]=f[i>>2];N=38}if((N|0)==38){N=0;L=f[q>>2]|0;if((L|0)<3){f[K>>2]=L;f[r+(F*56|0)+8>>2]=f[s>>2];f[r+(F*56|0)+12>>2]=f[t>>2];L=f[D>>2]|0;J=f[r+(F*56|0)+44>>2]|0;f[J>>2]=f[L>>2];f[J+4>>2]=f[L+4>>2]}else N=40}if((N|0)==40){N=0;WO(G,i)}f[H>>2]=f[v>>2];f[r+(F*56|0)+20>>2]=f[w>>2];f[r+(F*56|0)+24>>2]=f[x>>2];f[r+(F*56|0)+28>>2]=f[y>>2];f[r+(F*56|0)+32>>2]=f[z>>2];f[I>>2]=f[A>>2]}L=f[A>>2]|0;if(L|0?(J=L+12|0,L=f[J>>2]|0,f[J>>2]=L+-1,(L|0)==1):0)XO(i);f[A>>2]=0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;if((f[q>>2]|0)>0){L=f[B>>2]|0;J=0;do{f[L+(J<<2)>>2]=0;J=J+1|0}while((J|0)<(f[q>>2]|0))}J=f[D>>2]|0;if((J|0)!=(C|0))dX(J);F=F+1|0}while((F|0)<(m|0))}if(p){p=c+4|0;F=i+4|0;C=i+8|0;D=i+12|0;q=i+16|0;B=i+20|0;v=i+24|0;A=i+28|0;z=i+32|0;y=i+36|0;x=i+40|0;w=i+48|0;t=i+44|0;s=i+52|0;M=0;do{a=l?-1:M;do if((a|0)<0&(HJ(c)|0)==65536){E=f[p>>2]|0;f[i>>2]=f[E>>2];o=E+4|0;f[F>>2]=f[o>>2];f[C>>2]=f[E+8>>2];f[D>>2]=f[E+12>>2];f[q>>2]=f[E+16>>2];f[B>>2]=f[E+20>>2];f[v>>2]=f[E+24>>2];f[A>>2]=f[E+28>>2];f[z>>2]=f[E+32>>2];k=f[E+36>>2]|0;f[y>>2]=k;f[x>>2]=C;f[t>>2]=w;f[w>>2]=0;f[s>>2]=0;if(k|0){J=k+12|0;f[J>>2]=(f[J>>2]|0)+1}if((f[o>>2]|0)<3){o=f[E+44>>2]|0;J=f[t>>2]|0;f[J>>2]=f[o>>2];f[J+4>>2]=f[o+4>>2];break}else{f[F>>2]=0;WO(i,E);break}}else DJ(i,c,a);while(0);a=M+m|0;E=r+(a*56|0)|0;if((E|0)!=(i|0)){o=f[y>>2]|0;if(o|0){J=o+12|0;f[J>>2]=(f[J>>2]|0)+1}J=r+(a*56|0)+36|0;o=f[J>>2]|0;if(o|0?(k=o+12|0,o=f[k>>2]|0,f[k>>2]=o+-1,(o|0)==1):0)XO(E);f[J>>2]=0;o=r+(a*56|0)+16|0;k=r+(a*56|0)+4|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;if((f[k>>2]|0)>0){L=f[r+(a*56|0)+40>>2]|0;I=0;do{f[L+(I<<2)>>2]=0;I=I+1|0;O=f[k>>2]|0}while((I|0)<(O|0));f[E>>2]=f[i>>2];if((O|0)<3)N=69;else N=71}else{f[E>>2]=f[i>>2];N=69}if((N|0)==69){N=0;I=f[F>>2]|0;if((I|0)<3){f[k>>2]=I;f[r+(a*56|0)+8>>2]=f[C>>2];f[r+(a*56|0)+12>>2]=f[D>>2];I=f[t>>2]|0;L=f[r+(a*56|0)+44>>2]|0;f[L>>2]=f[I>>2];f[L+4>>2]=f[I+4>>2]}else N=71}if((N|0)==71){N=0;WO(E,i)}f[o>>2]=f[q>>2];f[r+(a*56|0)+20>>2]=f[B>>2];f[r+(a*56|0)+24>>2]=f[v>>2];f[r+(a*56|0)+28>>2]=f[A>>2];f[r+(a*56|0)+32>>2]=f[z>>2];f[J>>2]=f[y>>2]}I=f[y>>2]|0;if(I|0?(L=I+12|0,I=f[L>>2]|0,f[L>>2]=I+-1,(I|0)==1):0)XO(i);f[y>>2]=0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;if((f[F>>2]|0)>0){I=f[x>>2]|0;L=0;do{f[I+(L<<2)>>2]=0;L=L+1|0}while((L|0)<(f[F>>2]|0))}L=f[t>>2]|0;if((L|0)!=(w|0))dX(L);M=M+1|0}while((M|0)<(n|0))}M=f[d>>2]|0;jY(r,m,r+(m*56|0)|0,n,M,(f[j>>2]|0)-M>>2>>>1);pY(h)}if(!(f[g+4>>2]|0)){u=e;return}u=e;return}function sY(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=u;u=u+128|0;g=e+120|0;h=e+112|0;i=e+56|0;j=e;yV(g,42184);k=GJ(a,-1)|0;l=k&7;if(!((d|0)>-1?(k>>>3&511|0)>=(d|0):0)){f[h>>2]=0;f[h+4>>2]=0;k=JV(h,20)|0;m=183248;n=k+20|0;do{b[k>>0]=b[m>>0]|0;k=k+1|0;m=m+1|0}while((k|0)<(n|0));EP(-215,h,183269,182874,425);KV(h)}f[h>>2]=d;f[h+4>>2]=0;do if((HJ(a)|0)==65536){d=f[a+4>>2]|0;f[i>>2]=f[d>>2];m=i+4|0;k=d+4|0;f[m>>2]=f[k>>2];n=i+8|0;f[n>>2]=f[d+8>>2];f[i+12>>2]=f[d+12>>2];f[i+16>>2]=f[d+16>>2];f[i+20>>2]=f[d+20>>2];f[i+24>>2]=f[d+24>>2];f[i+28>>2]=f[d+28>>2];f[i+32>>2]=f[d+32>>2];o=f[d+36>>2]|0;f[i+36>>2]=o;p=i+40|0;f[p>>2]=n;n=i+48|0;q=i+44|0;f[q>>2]=n;f[n>>2]=0;f[i+52>>2]=0;if(o|0){n=o+12|0;f[n>>2]=(f[n>>2]|0)+1}if((f[k>>2]|0)<3){k=f[d+44>>2]|0;n=f[q>>2]|0;f[n>>2]=f[k>>2];f[n+4>>2]=f[k+4>>2];r=p;s=m;break}else{f[m>>2]=0;WO(i,d);r=p;s=m;break}}else{DJ(i,a,-1);r=i+40|0;s=i+4|0}while(0);$J(c,f[s>>2]|0,f[r>>2]|0,l,-1,0,0);do if((HJ(c)|0)==65536){l=f[c+4>>2]|0;f[j>>2]=f[l>>2];a=j+4|0;m=l+4|0;f[a>>2]=f[m>>2];p=j+8|0;f[p>>2]=f[l+8>>2];f[j+12>>2]=f[l+12>>2];f[j+16>>2]=f[l+16>>2];f[j+20>>2]=f[l+20>>2];f[j+24>>2]=f[l+24>>2];f[j+28>>2]=f[l+28>>2];f[j+32>>2]=f[l+32>>2];d=f[l+36>>2]|0;f[j+36>>2]=d;f[j+40>>2]=p;p=j+48|0;k=j+44|0;f[k>>2]=p;f[p>>2]=0;f[j+52>>2]=0;if(d|0){p=d+12|0;f[p>>2]=(f[p>>2]|0)+1}if((f[m>>2]|0)<3){m=f[l+44>>2]|0;p=f[k>>2]|0;f[p>>2]=f[m>>2];f[p+4>>2]=f[m+4>>2];break}else{f[a>>2]=0;WO(j,l);break}}else DJ(j,c,-1);while(0);jY(i,1,j,1,h,1);h=j+36|0;c=f[h>>2]|0;if(c|0?(l=c+12|0,c=f[l>>2]|0,f[l>>2]=c+-1,(c|0)==1):0)XO(j);f[h>>2]=0;h=j+16|0;c=j+4|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;if((f[c>>2]|0)>0){h=f[j+40>>2]|0;l=0;do{f[h+(l<<2)>>2]=0;l=l+1|0}while((l|0)<(f[c>>2]|0))}c=f[j+44>>2]|0;if((c|0)!=(j+48|0))dX(c);c=i+36|0;j=f[c>>2]|0;if(j|0?(l=j+12|0,j=f[l>>2]|0,f[l>>2]=j+-1,(j|0)==1):0)XO(i);f[c>>2]=0;c=i+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[s>>2]|0)>0){c=f[r>>2]|0;r=0;do{f[c+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[s>>2]|0))}s=f[i+44>>2]|0;if((s|0)!=(i+48|0))dX(s);if(!(f[g+4>>2]|0)){u=e;return}u=e;return}function tY(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;h=u;u=u+16|0;i=h;yV(i,42204);j=uY(a,b,c,d,e,g)|0;if(!(f[i+4>>2]|0)){u=h;return j|0}u=h;return j|0}function uY(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0;h=b>>>2;b=e>>>2;e=(c|0)>0;a:do if(e){i=(d|0)==0;j=(g|0)<1;k=i|j;l=i|j;j=1;i=0;while(1){m=i;i=i+1|0;o=(i|0)<(c|0);if(o){p=m;q=i;while(1){r=a+((X(q,h)|0)+m<<2)|0;s=+K(+(+n[r>>2]));r=a+((X(p,h)|0)+m<<2)|0;t=s>+K(+(+n[r>>2]));r=t?q:p;q=q+1|0;if((q|0)==(c|0)){u=r;break}else p=r}}else u=m;p=X(u,h)|0;if(+K(+(+n[a+(p+m<<2)>>2]))<1.1920928955078125e-06){v=0;break}if((u|0)==(m|0))w=j;else{q=X(m,h)|0;r=m;do{t=a+(r+q<<2)|0;x=a+(r+p<<2)|0;y=f[t>>2]|0;f[t>>2]=f[x>>2];f[x>>2]=y;r=r+1|0}while((r|0)!=(c|0));if(!l){r=X(m,b)|0;p=X(u,b)|0;q=0;do{y=d+(q+r<<2)|0;x=d+(q+p<<2)|0;t=f[y>>2]|0;f[y>>2]=f[x>>2];f[x>>2]=t;q=q+1|0}while((q|0)!=(g|0))}w=0-j|0}q=X(m,h)|0;s=-1.0/+n[a+(q+m<<2)>>2];if(!o){z=w;break a}p=X(m,b)|0;r=i;do{t=X(r,h)|0;A=s*+n[a+(t+m<<2)>>2];x=i;do{y=a+(x+t<<2)|0;n[y>>2]=+n[y>>2]+A*+n[a+(x+q<<2)>>2];x=x+1|0}while((x|0)!=(c|0));if(!k){x=X(r,b)|0;t=0;do{y=d+(t+x<<2)|0;n[y>>2]=+n[y>>2]+A*+n[d+(t+p<<2)>>2];t=t+1|0}while((t|0)!=(g|0))}r=r+1|0}while((r|0)!=(c|0));if(!o){z=w;break a}else j=w}return v|0}else z=1;while(0);if(e&(d|0)!=0&(g|0)>0)B=c;else{v=z;return v|0}do{e=B;B=B+-1|0;w=X(B,b)|0;u=X(B,h)|0;j=a+(u+B<<2)|0;if((e|0)<(c|0)){k=0;do{i=d+(k+w<<2)|0;s=+n[i>>2];l=e;do{r=d+((X(l,b)|0)+k<<2)|0;s=s-+n[a+(l+u<<2)>>2]*+n[r>>2];l=l+1|0}while((l|0)!=(c|0));n[i>>2]=s/+n[j>>2];k=k+1|0}while((k|0)!=(g|0))}else{k=0;do{u=d+(k+w<<2)|0;n[u>>2]=+n[u>>2]/+n[j>>2];k=k+1|0}while((k|0)!=(g|0))}}while((e|0)>1);v=z;return v|0}function vY(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;h=u;u=u+16|0;i=h;yV(i,42224);j=wY(a,b,c,d,e,g)|0;if(!(f[i+4>>2]|0)){u=h;return j|0}u=h;return j|0}function wY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0;g=b>>>3;b=e>>>3;e=(c|0)>0;a:do if(e){h=(d|0)==0;i=(f|0)<1;j=h|i;k=h|i;i=1;h=0;while(1){l=h;h=h+1|0;m=(h|0)<(c|0);if(m){n=l;o=h;while(1){q=a+((X(o,g)|0)+l<<3)|0;r=+K(+(+p[q>>3]));q=a+((X(n,g)|0)+l<<3)|0;s=r>+K(+(+p[q>>3]));q=s?o:n;o=o+1|0;if((o|0)==(c|0)){t=q;break}else n=q}}else t=l;n=X(t,g)|0;if(+K(+(+p[a+(n+l<<3)>>3]))<2.220446049250313e-14){u=0;break}if((t|0)==(l|0))v=i;else{o=X(l,g)|0;q=l;do{s=a+(q+o<<3)|0;w=a+(q+n<<3)|0;r=+p[s>>3];p[s>>3]=+p[w>>3];p[w>>3]=r;q=q+1|0}while((q|0)!=(c|0));if(!k){q=X(l,b)|0;n=X(t,b)|0;o=0;do{w=d+(o+q<<3)|0;s=d+(o+n<<3)|0;r=+p[w>>3];p[w>>3]=+p[s>>3];p[s>>3]=r;o=o+1|0}while((o|0)!=(f|0))}v=0-i|0}o=X(l,g)|0;r=-1.0/+p[a+(o+l<<3)>>3];if(!m){x=v;break a}n=X(l,b)|0;q=h;do{s=X(q,g)|0;y=r*+p[a+(s+l<<3)>>3];w=h;do{z=a+(w+s<<3)|0;p[z>>3]=+p[z>>3]+y*+p[a+(w+o<<3)>>3];w=w+1|0}while((w|0)!=(c|0));if(!j){w=X(q,b)|0;s=0;do{z=d+(s+w<<3)|0;p[z>>3]=+p[z>>3]+y*+p[d+(s+n<<3)>>3];s=s+1|0}while((s|0)!=(f|0))}q=q+1|0}while((q|0)!=(c|0));if(!m){x=v;break a}else i=v}return u|0}else x=1;while(0);if(e&(d|0)!=0&(f|0)>0)A=c;else{u=x;return u|0}do{e=A;A=A+-1|0;v=X(A,b)|0;t=X(A,g)|0;i=a+(t+A<<3)|0;if((e|0)<(c|0)){j=0;do{h=d+(j+v<<3)|0;r=+p[h>>3];k=e;do{q=d+((X(k,b)|0)+j<<3)|0;r=r-+p[a+(k+t<<3)>>3]*+p[q>>3];k=k+1|0}while((k|0)!=(c|0));p[h>>3]=r/+p[i>>3];j=j+1|0}while((j|0)!=(f|0))}else{j=0;do{t=d+(j+v<<3)|0;p[t>>3]=+p[t>>3]/+p[i>>3];j=j+1|0}while((j|0)!=(f|0))}}while((e|0)>1);u=x;return u|0}function xY(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;h=u;u=u+16|0;i=h;yV(i,42244);j=yY(a,b,c,d,e,g)|0;if(!(f[i+4>>2]|0)){u=h;return j|0}u=h;return j|0}function yY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,o=0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;g=b>>>2;b=e>>>2;e=(c|0)>0;a:do if(e){h=0;while(1){i=(h|0)>0;j=X(h,g)|0;if(i){k=0;do{l=a+(k+j<<2)|0;m=+n[l>>2];o=X(k,g)|0;if((k|0)>0){p=m;q=0;while(1){r=p-+n[a+(q+j<<2)>>2]*+n[a+(q+o<<2)>>2];q=q+1|0;if((q|0)==(k|0)){s=r;break}else p=r}}else s=m;n[l>>2]=s*+n[a+(o+k<<2)>>2];k=k+1|0}while((k|0)!=(h|0));k=a+(j+h<<2)|0;p=+n[k>>2];if(i){q=0;r=p;while(1){t=+n[a+(q+j<<2)>>2];u=r-t*t;q=q+1|0;if((q|0)==(h|0)){v=u;w=k;break}else r=u}}else{v=p;w=k}}else{q=a+(j+h<<2)|0;v=+n[q>>2];w=q}if(v<1.1920928955078125e-07){x=0;break}r=1.0/+L(+v);n[w>>2]=r;h=h+1|0;if((h|0)>=(c|0))break a}return x|0}while(0);if(!d){if(e)y=0;else{x=1;return x|0}do{w=a+((X(y,g)|0)+y<<2)|0;n[w>>2]=1.0/+n[w>>2];y=y+1|0}while((y|0)!=(c|0));x=1;return x|0}if(!e){x=1;return x|0}if((f|0)>0){y=0;do{w=X(y,b)|0;h=X(y,g)|0;q=a+(h+y<<2)|0;if((y|0)>0){i=0;do{z=d+(i+w<<2)|0;A=0;v=+n[z>>2];do{B=d+((X(A,b)|0)+i<<2)|0;v=v-+n[a+(A+h<<2)>>2]*+n[B>>2];A=A+1|0}while((A|0)!=(y|0));n[z>>2]=v*+n[q>>2];i=i+1|0}while((i|0)!=(f|0))}else{i=0;do{h=d+(i+w<<2)|0;n[h>>2]=+n[h>>2]*+n[q>>2];i=i+1|0}while((i|0)!=(f|0))}y=y+1|0}while((y|0)!=(c|0));y=c+-1|0;if(!e){x=1;return x|0}if((f|0)>0){i=y;while(1){q=X(i,b)|0;w=a+((X(i,g)|0)+i<<2)|0;if((y|0)>(i|0)){h=0;do{A=d+(h+q<<2)|0;j=y;p=+n[A>>2];do{k=a+((X(j,g)|0)+i<<2)|0;B=d+((X(j,b)|0)+h<<2)|0;p=p-+n[k>>2]*+n[B>>2];j=j+-1|0}while((j|0)>(i|0));n[A>>2]=p*+n[w>>2];h=h+1|0}while((h|0)!=(f|0))}else{h=0;do{j=d+(h+q<<2)|0;n[j>>2]=+n[j>>2]*+n[w>>2];h=h+1|0}while((h|0)!=(f|0))}if((i|0)>0)i=i+-1|0;else break}if(!e){x=1;return x|0}else C=0}else C=0}else C=0;do{e=a+((X(C,g)|0)+C<<2)|0;n[e>>2]=1.0/+n[e>>2];C=C+1|0}while((C|0)!=(c|0));x=1;return x|0}function zY(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;h=u;u=u+16|0;i=h;yV(i,42264);j=AY(a,b,c,d,e,g)|0;if(!(f[i+4>>2]|0)){u=h;return j|0}u=h;return j|0}function AY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;g=b>>>3;b=e>>>3;e=(c|0)>0;a:do if(e){h=0;while(1){i=(h|0)>0;j=X(h,g)|0;if(i){k=0;do{l=a+(k+j<<3)|0;m=+p[l>>3];n=X(k,g)|0;if((k|0)>0){o=m;q=0;while(1){r=o-+p[a+(q+j<<3)>>3]*+p[a+(q+n<<3)>>3];q=q+1|0;if((q|0)==(k|0)){s=r;break}else o=r}}else s=m;p[l>>3]=s*+p[a+(n+k<<3)>>3];k=k+1|0}while((k|0)!=(h|0));k=a+(j+h<<3)|0;o=+p[k>>3];if(i){q=0;r=o;while(1){t=+p[a+(q+j<<3)>>3];u=r-t*t;q=q+1|0;if((q|0)==(h|0)){v=u;w=k;break}else r=u}}else{v=o;w=k}}else{q=a+(j+h<<3)|0;v=+p[q>>3];w=q}if(v<2.220446049250313e-16){x=0;break}r=1.0/+L(+v);p[w>>3]=r;h=h+1|0;if((h|0)>=(c|0))break a}return x|0}while(0);if(!d){if(e)y=0;else{x=1;return x|0}do{w=a+((X(y,g)|0)+y<<3)|0;p[w>>3]=1.0/+p[w>>3];y=y+1|0}while((y|0)!=(c|0));x=1;return x|0}if(!e){x=1;return x|0}if((f|0)>0){y=0;do{w=X(y,b)|0;h=X(y,g)|0;q=a+(h+y<<3)|0;if((y|0)>0){i=0;do{z=d+(i+w<<3)|0;A=0;v=+p[z>>3];do{B=d+((X(A,b)|0)+i<<3)|0;v=v-+p[a+(A+h<<3)>>3]*+p[B>>3];A=A+1|0}while((A|0)!=(y|0));p[z>>3]=v*+p[q>>3];i=i+1|0}while((i|0)!=(f|0))}else{i=0;do{h=d+(i+w<<3)|0;p[h>>3]=+p[h>>3]*+p[q>>3];i=i+1|0}while((i|0)!=(f|0))}y=y+1|0}while((y|0)!=(c|0));y=c+-1|0;if(!e){x=1;return x|0}if((f|0)>0){i=y;while(1){q=X(i,b)|0;w=a+((X(i,g)|0)+i<<3)|0;if((y|0)>(i|0)){h=0;do{A=d+(h+q<<3)|0;j=y;o=+p[A>>3];do{k=a+((X(j,g)|0)+i<<3)|0;B=d+((X(j,b)|0)+h<<3)|0;o=o-+p[k>>3]*+p[B>>3];j=j+-1|0}while((j|0)>(i|0));p[A>>3]=o*+p[w>>3];h=h+1|0}while((h|0)!=(f|0))}else{h=0;do{j=d+(h+q<<3)|0;p[j>>3]=+p[j>>3]*+p[w>>3];h=h+1|0}while((h|0)!=(f|0))}if((i|0)>0)i=i+-1|0;else break}if(!e){x=1;return x|0}else C=0}else C=0}else C=0;do{e=a+((X(C,g)|0)+C<<3)|0;p[e>>3]=1.0/+p[e>>3];C=C+1|0}while((C|0)!=(c|0));x=1;return x|0}function BY(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0.0,x=0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;j=u;u=u+1072|0;k=j+8|0;l=j;yV(l,42284);m=b>>>2;b=h>>>2;h=k+8|0;f[k>>2]=h;o=k+4|0;p=(c|0)==0?(i|0)!=0&1:d+c|0;f[o>>2]=p;if(p>>>0>264){q=FQa(p>>>0>1073741823?-1:p<<2)|0;f[k>>2]=q;r=q}else r=h;q=(i|0)==0?r+(c<<2)|0:i;a:do if((d|0)>0){i=0;p=c;while(1){s=c-i|0;t=(s|0)>0;if(t){v=0;w=0.0;while(1){x=a+((X(v+i|0,m)|0)+i<<2)|0;y=+n[x>>2];n[r+(v<<2)>>2]=y;z=w+y*y;v=v+1|0;if((v|0)==(p|0)){A=z;break}else w=z}}else A=0.0;w=+n[r>>2];z=w+ +L(+A)*(!(w>=0.0)?-1.0:1.0);n[r>>2]=z;y=+L(+(A+z*z-w*w));if(t?(n[r>>2]=z/y,(p|0)!=1):0){v=1;do{x=r+(v<<2)|0;n[x>>2]=+n[x>>2]/y;v=v+1|0}while((v|0)!=(p|0))}if((i|0)<(c|0)){v=i;do{t=i;y=0.0;do{x=a+((X(t,m)|0)+v<<2)|0;y=y+ +n[r+(t-i<<2)>>2]*+n[x>>2];t=t+1|0}while((t|0)!=(c|0));B=i;do{t=a+((X(B,m)|0)+v<<2)|0;n[t>>2]=+n[t>>2]-y*(+n[r+(B-i<<2)>>2]*2.0);B=B+1|0}while((B|0)!=(c|0));v=v+1|0}while((v|0)!=(d|0))}y=+n[r>>2];n[q+(i<<2)>>2]=y*y;if((s|0)>1){y=+n[r>>2];v=1;do{t=a+((X(v+i|0,m)|0)+i<<2)|0;n[t>>2]=+n[r+(v<<2)>>2]/y;v=v+1|0}while((v|0)!=(p|0))}i=i+1|0;if((i|0)==(d|0))break;else p=p+-1|0}if(g){p=(e|0)>0;if(p){i=0;v=c;while(1){n[r>>2]=1.0;if((c-i|0)>1){s=1;do{t=a+((X(s+i|0,m)|0)+i<<2)|0;f[r+(s<<2)>>2]=f[t>>2];s=s+1|0}while((s|0)!=(v|0))}s=q+(i<<2)|0;if((i|0)<(c|0)){t=0;do{x=i;y=0.0;do{C=g+((X(x,b)|0)+t<<2)|0;y=y+ +n[r+(x-i<<2)>>2]*+n[C>>2];x=x+1|0}while((x|0)!=(c|0));D=i;do{x=g+((X(D,b)|0)+t<<2)|0;n[x>>2]=+n[x>>2]-+n[s>>2]*(y*(+n[r+(D-i<<2)>>2]*2.0));D=D+1|0}while((D|0)!=(c|0));t=t+1|0}while((t|0)!=(e|0))}i=i+1|0;if((i|0)==(d|0))break;else v=v+-1|0}}else{v=0;i=c;while(1){n[r>>2]=1.0;if((c-v|0)>1){t=1;do{s=a+((X(t+v|0,m)|0)+v<<2)|0;f[r+(t<<2)>>2]=f[s>>2];t=t+1|0}while((t|0)!=(i|0))}v=v+1|0;if((v|0)==(d|0))break;else i=i+-1|0}}i=d+-1|0;if(!p){v=i;while(1){t=a+((X(v,m)|0)+v<<2)|0;if(+K(+(+n[t>>2]))<1.1920928955078125e-06){E=0;break a}if((v|0)>0)v=v+-1|0;else{E=1;break a}}}if((e|0)==1){v=i;while(1){p=X(v,m)|0;if((i|0)>(v|0)){t=g+((X(v,b)|0)<<2)|0;s=i;do{x=g+((X(s,b)|0)<<2)|0;n[t>>2]=+n[t>>2]-+n[x>>2]*+n[a+(s+p<<2)>>2];s=s+-1|0}while((s|0)>(v|0))}y=+n[a+(p+v<<2)>>2];if(+K(+y)<1.1920928955078125e-06){E=0;break a}s=g+((X(v,b)|0)<<2)|0;n[s>>2]=+n[s>>2]/y;if((v|0)>0)v=v+-1|0;else{E=1;break a}}}else F=i;while(1){v=X(F,m)|0;if((i|0)>(F|0)){s=X(F,b)|0;t=i;do{x=X(t,b)|0;C=a+(t+v<<2)|0;G=0;do{H=g+(G+s<<2)|0;n[H>>2]=+n[H>>2]-+n[g+(G+x<<2)>>2]*+n[C>>2];G=G+1|0}while((G|0)!=(e|0));t=t+-1|0}while((t|0)>(F|0))}t=a+(v+F<<2)|0;y=+n[t>>2];if(+K(+y)<1.1920928955078125e-06){E=0;break a}s=X(F,b)|0;p=g+(s<<2)|0;n[p>>2]=+n[p>>2]/y;p=1;do{G=g+(p+s<<2)|0;n[G>>2]=+n[G>>2]/+n[t>>2];p=p+1|0}while((p|0)!=(e|0));if((F|0)>0)F=F+-1|0;else{E=1;break}}}else E=1}else E=1;while(0);if((r|0)!=(h|0)){HQa(r);f[k>>2]=h;f[o>>2]=264}if(!(f[l+4>>2]|0)){u=j;return E|0}u=j;return E|0}function CY(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0.0,x=0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;j=u;u=u+1104|0;k=j;l=j+1096|0;yV(l,42304);m=b>>>3;b=h>>>3;h=k+8|0;f[k>>2]=h;n=k+4|0;o=(c|0)==0?(i|0)!=0&1:d+c|0;f[n>>2]=o;if(o>>>0>136){q=FQa(o>>>0>536870911?-1:o<<3)|0;f[k>>2]=q;r=q}else r=h;q=(i|0)==0?r+(c<<3)|0:i;a:do if((d|0)>0){i=0;o=c;while(1){s=c-i|0;t=(s|0)>0;if(t){v=0;w=0.0;while(1){x=a+((X(v+i|0,m)|0)+i<<3)|0;y=+p[x>>3];p[r+(v<<3)>>3]=y;z=w+y*y;v=v+1|0;if((v|0)==(o|0)){A=z;break}else w=z}}else A=0.0;w=+p[r>>3];z=w+ +L(+A)*(!(w>=0.0)?-1.0:1.0);p[r>>3]=z;y=+L(+(A+z*z-w*w));if(t?(p[r>>3]=z/y,(o|0)!=1):0){v=1;do{x=r+(v<<3)|0;p[x>>3]=+p[x>>3]/y;v=v+1|0}while((v|0)!=(o|0))}if((i|0)<(c|0)){v=i;do{t=i;y=0.0;do{x=a+((X(t,m)|0)+v<<3)|0;y=y+ +p[r+(t-i<<3)>>3]*+p[x>>3];t=t+1|0}while((t|0)!=(c|0));B=i;do{t=a+((X(B,m)|0)+v<<3)|0;p[t>>3]=+p[t>>3]-y*(+p[r+(B-i<<3)>>3]*2.0);B=B+1|0}while((B|0)!=(c|0));v=v+1|0}while((v|0)!=(d|0))}y=+p[r>>3];p[q+(i<<3)>>3]=y*y;if((s|0)>1){y=+p[r>>3];v=1;do{t=a+((X(v+i|0,m)|0)+i<<3)|0;p[t>>3]=+p[r+(v<<3)>>3]/y;v=v+1|0}while((v|0)!=(o|0))}i=i+1|0;if((i|0)==(d|0))break;else o=o+-1|0}if(g){o=(e|0)>0;if(o){i=0;v=c;while(1){p[r>>3]=1.0;if((c-i|0)>1){s=1;do{t=a+((X(s+i|0,m)|0)+i<<3)|0;p[r+(s<<3)>>3]=+p[t>>3];s=s+1|0}while((s|0)!=(v|0))}s=q+(i<<3)|0;if((i|0)<(c|0)){t=0;do{x=i;y=0.0;do{C=g+((X(x,b)|0)+t<<3)|0;y=y+ +p[r+(x-i<<3)>>3]*+p[C>>3];x=x+1|0}while((x|0)!=(c|0));D=i;do{x=g+((X(D,b)|0)+t<<3)|0;p[x>>3]=+p[x>>3]-+p[s>>3]*(y*(+p[r+(D-i<<3)>>3]*2.0));D=D+1|0}while((D|0)!=(c|0));t=t+1|0}while((t|0)!=(e|0))}i=i+1|0;if((i|0)==(d|0))break;else v=v+-1|0}}else{v=0;i=c;while(1){p[r>>3]=1.0;if((c-v|0)>1){t=1;do{s=a+((X(t+v|0,m)|0)+v<<3)|0;p[r+(t<<3)>>3]=+p[s>>3];t=t+1|0}while((t|0)!=(i|0))}v=v+1|0;if((v|0)==(d|0))break;else i=i+-1|0}}i=d+-1|0;if(!o){v=i;while(1){t=a+((X(v,m)|0)+v<<3)|0;if(+K(+(+p[t>>3]))<2.220446049250313e-14){E=0;break a}if((v|0)>0)v=v+-1|0;else{E=1;break a}}}if((e|0)==1){v=i;while(1){o=X(v,m)|0;if((i|0)>(v|0)){t=g+((X(v,b)|0)<<3)|0;s=i;do{x=g+((X(s,b)|0)<<3)|0;p[t>>3]=+p[t>>3]-+p[x>>3]*+p[a+(s+o<<3)>>3];s=s+-1|0}while((s|0)>(v|0))}y=+p[a+(o+v<<3)>>3];if(+K(+y)<2.220446049250313e-14){E=0;break a}s=g+((X(v,b)|0)<<3)|0;p[s>>3]=+p[s>>3]/y;if((v|0)>0)v=v+-1|0;else{E=1;break a}}}else F=i;while(1){v=X(F,m)|0;if((i|0)>(F|0)){s=X(F,b)|0;t=i;do{x=X(t,b)|0;C=a+(t+v<<3)|0;G=0;do{H=g+(G+s<<3)|0;p[H>>3]=+p[H>>3]-+p[g+(G+x<<3)>>3]*+p[C>>3];G=G+1|0}while((G|0)!=(e|0));t=t+-1|0}while((t|0)>(F|0))}t=a+(v+F<<3)|0;y=+p[t>>3];if(+K(+y)<2.220446049250313e-14){E=0;break a}s=X(F,b)|0;o=g+(s<<3)|0;p[o>>3]=+p[o>>3]/y;o=1;do{G=g+(o+s<<3)|0;p[G>>3]=+p[G>>3]/+p[t>>3];o=o+1|0}while((o|0)!=(e|0));if((F|0)>0)F=F+-1|0;else{E=1;break}}}else E=1}else E=1;while(0);if((r|0)!=(h|0)){HQa(r);f[k>>2]=h;f[n>>2]=136}if(!(f[l+4>>2]|0)){u=j;return E|0}u=j;return E|0}function DY(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;f[a>>2]=42332;yV(c,42404);if(!(f[c+4>>2]|0)){u=b;return}u=b;return}function EY(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;f[a>>2]=42332;yV(c,42404);if(!(f[c+4>>2]|0)){GQa(a);u=b;return}GQa(a);u=b;return}function FY(a){a=a|0;return}function GY(a,b){a=a|0;b=b|0;return}function HY(a,b){a=a|0;b=b|0;return}function IY(a){a=a|0;return 0}function JY(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+64|0;e=d+56|0;g=d+48|0;h=d+8|0;i=d;yV(g,42384);f[e>>2]=0;f[e+4>>2]=0;mS(h,c,1,e);KV(e);zg[f[(f[a>>2]|0)+28>>2]&511](i,a);c=pS(h,i)|0;f[e>>2]=0;f[e+4>>2]=0;j=JV(e,1)|0;b[j>>0]=123;pS(c,e)|0;KV(e);KV(i);zg[f[(f[a>>2]|0)+12>>2]&511](a,h);f[e>>2]=0;f[e+4>>2]=0;a=JV(e,1)|0;b[a>>0]=125;pS(h,e)|0;KV(e);eS(h);if(!(f[g+4>>2]|0)){u=d;return}u=d;return}function KY(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;c=u;u=u+16|0;d=c;yV(d,42364);f[a>>2]=0;f[a+4>>2]=0;e=JV(a,9)|0;a=183835;g=e+9|0;do{b[e>>0]=b[a>>0]|0;e=e+1|0;a=a+1|0}while((e|0)<(g|0));if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function LY(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;f[a>>2]=42332;yV(c,42424);if(!(f[c+4>>2]|0)){u=b;return}u=b;return}function MY(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;a=u;u=u+16|0;d=a+8|0;e=a;yV(e,42444);f[d>>2]=0;f[d+4>>2]=0;g=JV(d,6)|0;b[g>>0]=b[184098]|0;b[g+1>>0]=b[184099]|0;b[g+2>>0]=b[184100]|0;b[g+3>>0]=b[184101]|0;b[g+4>>0]=b[184102]|0;b[g+5>>0]=b[184103]|0;g=pS(c,d)|0;KV(d);if(Wf[f[(f[c>>2]|0)+12>>2]&255](g)|0){h=c+32|0;if((f[h>>2]|0)==6){f[d>>2]=0;f[d+4>>2]=0;i=JV(d,30)|0;j=340117;k=i+30|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-2,d,451841,340148,1181);KV(d)}yS(g,c+12|0,3);if(f[h>>2]&4|0)f[h>>2]=6}if(!(f[e+4>>2]|0)){u=a;return}u=a;return}function NY(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;e=u;u=u+352|0;i=e+216|0;j=e+88|0;k=e+32|0;l=e+16|0;m=e+8|0;n=e;if(!c){f[a>>2]=1124007936;o=a+8|0;p=a+40|0;q=a+4|0;r=q+36|0;do{f[q>>2]=0;q=q+4|0}while((q|0)<(r|0));f[p>>2]=o;o=a+48|0;f[a+44>>2]=o;f[o>>2]=0;f[a+52>>2]=0;u=e;return}o=f[c>>2]|0;p=o&-65536;if((p|0)==1111621632){s=f[c+24>>2]|0;if((s|0)>-1?(t=f[c+20>>2]|0,(t|0)>-1):0){f[a>>2]=1124007936;v=a+4|0;w=a+8|0;x=a+40|0;q=v;r=q+36|0;do{f[q>>2]=0;q=q+4|0}while((q|0)<(r|0));f[x>>2]=w;x=a+48|0;f[a+44>>2]=x;f[x>>2]=0;y=a+52|0;f[y>>2]=0;if(d){f[a+16>>2]=0;f[a+24>>2]=0;f[a+20>>2]=0;Gi(i,t,s,o,f[c+16>>2]|0,f[c+4>>2]|0);z=j+8|0;f[z>>2]=0;f[z+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=a;eM(i,j);z=i+36|0;A=f[z>>2]|0;if(A|0?(B=A+12|0,A=f[B>>2]|0,f[B>>2]=A+-1,(A|0)==1):0)XO(i);f[z>>2]=0;z=i+16|0;A=i+4|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;if((f[A>>2]|0)>0){z=f[i+40>>2]|0;B=0;do{f[z+(B<<2)>>2]=0;B=B+1|0}while((B|0)<(f[A>>2]|0))}A=f[i+44>>2]|0;if((A|0)!=(i+48|0))dX(A)}else{f[a>>2]=o&20479|1124007936;f[v>>2]=2;f[w>>2]=t;f[a+12>>2]=s;w=f[c+16>>2]|0;f[a+16>>2]=w;f[a+20>>2]=w;v=(o>>>3&511)+1<<(47696>>>(o<<1&14)&3);A=X(v,s)|0;s=f[c+4>>2]|0;B=(s|0)==0?A:s;s=w+(X(B,t)|0)|0;f[a+28>>2]=s;f[a+24>>2]=s+(0-B)+A;f[x>>2]=B;f[y>>2]=v}u=e;return}}else if((p|0)==1111687168?(v=f[c+16>>2]|0,y=v,v|0):0){v=a+4|0;B=a+8|0;x=a+40|0;q=v;r=q+36|0;do{f[q>>2]=0;q=q+4|0}while((q|0)<(r|0));f[x>>2]=B;A=a+48|0;s=a+44|0;f[s>>2]=A;f[A>>2]=0;f[a+52>>2]=0;A=a+16|0;f[A>>2]=y;t=a+20|0;f[t>>2]=y;f[a>>2]=o&4095|1124007936;y=f[c+4>>2]|0;if((y|0)>0){w=0;do{f[i+(w<<2)>>2]=f[c+20+(w<<3)>>2];f[j+(w<<2)>>2]=f[c+20+(w<<3)+4>>2];w=w+1|0}while((w|0)!=(y|0))}OO(a,y,i,j,0);PO(a);if(d){f[k>>2]=f[a>>2];y=k+4|0;w=f[v>>2]|0;f[y>>2]=w;z=k+8|0;f[z>>2]=f[B>>2];f[k+12>>2]=f[a+12>>2];B=k+16|0;f[B>>2]=f[A>>2];f[k+20>>2]=f[t>>2];f[k+24>>2]=f[a+24>>2];f[k+28>>2]=f[a+28>>2];f[k+32>>2]=f[a+32>>2];t=k+36|0;C=a+36|0;D=f[C>>2]|0;f[t>>2]=D;E=k+40|0;f[E>>2]=z;z=k+48|0;F=k+44|0;f[F>>2]=z;f[z>>2]=0;f[k+52>>2]=0;if(!D)G=w;else{w=D+12|0;f[w>>2]=(f[w>>2]|0)+1;G=f[v>>2]|0}if((G|0)<3){G=f[s>>2]|0;s=f[F>>2]|0;f[s>>2]=f[G>>2];f[s+4>>2]=f[G+4>>2]}else{f[y>>2]=0;WO(k,a)}G=f[C>>2]|0;if(G|0?(s=G+12|0,G=f[s>>2]|0,f[s>>2]=G+-1,(G|0)==1):0)XO(a);f[C>>2]=0;f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;f[A+12>>2]=0;if((f[v>>2]|0)>0){A=f[x>>2]|0;x=0;do{f[A+(x<<2)>>2]=0;x=x+1|0}while((x|0)<(f[v>>2]|0))}v=l+8|0;f[v>>2]=0;f[v+4>>2]=0;f[l>>2]=33619968;f[l+4>>2]=a;eM(k,l);l=f[t>>2]|0;if(l|0?(v=l+12|0,l=f[v>>2]|0,f[v>>2]=l+-1,(l|0)==1):0)XO(k);f[t>>2]=0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;if((f[y>>2]|0)>0){B=f[E>>2]|0;E=0;do{f[B+(E<<2)>>2]=0;E=E+1|0}while((E|0)<(f[y>>2]|0))}y=f[F>>2]|0;if((y|0)!=(z|0))dX(y)}u=e;return}if((o|0)==112?(y=c+68|0,f[y>>2]|0):0){z=c+48|0;if(((g|0)==0?(g=f[z>>2]|0,g|0):0)?(f[g>>2]|0)>0:0){f[i>>2]=0;f[i+4>>2]=0;q=JV(i,36)|0;H=184219;r=q+36|0;do{b[q>>0]=b[H>>0]|0;q=q+1|0;H=H+1|0}while((q|0)<(r|0));EP(-24,i,184256,184162,157);KV(i)}f[a>>2]=1124007936;g=a+4|0;F=a+8|0;E=a+40|0;B=g+4|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;f[B+16>>2]=0;f[B+20>>2]=0;f[B+24>>2]=0;f[B+28>>2]=0;f[E>>2]=F;B=a+48|0;t=a+44|0;f[t>>2]=B;f[a+52>>2]=0;f[g>>2]=2;l=f[c+16>>2]|0;v=1125516576>>>((l>>>2&60)+(l>>31&20)|0);f[B>>2]=f[c+72>>2];l=f[z>>2]|0;x=c+28|0;A=(f[x>>2]|0)==0;if(!l){if(A)I=B;else{f[i>>2]=0;f[i+4>>2]=0;q=JV(i,19)|0;H=184267;r=q+19|0;do{b[q>>0]=b[H>>0]|0;q=q+1|0;H=H+1|0}while((q|0)<(r|0));EP(-215,i,184287,184162,102);KV(i);I=f[t>>2]|0}C=((f[c+8>>2]<<3)+-8|v&7)+1124007936|0;f[a>>2]=C;G=f[c+44>>2]|0;f[F>>2]=G;s=f[c+40>>2]|0;w=a+12|0;f[w>>2]=s;D=f[y>>2]|0;f[a+16>>2]=D;f[a+20>>2]=D;J=(C>>>3&511)+1<<(47696>>>(C<<1&14)&3);K=w;L=G;M=f[I>>2]|0;N=D;O=s;P=C;Q=I;R=D}else{if(!A?(f[l>>2]|0)==0:0){f[i>>2]=0;f[i+4>>2]=0;q=JV(i,41)|0;H=184301;r=q+41|0;do{b[q>>0]=b[H>>0]|0;q=q+1|0;H=H+1|0}while((q|0)<(r|0));EP(-215,i,184287,184162,111);KV(i);S=f[z>>2]|0}else S=l;l=f[S>>2]|0;if(l){A=v&7;if((f[x>>2]|0)==1){T=1;U=A;V=1}else{W=A;Y=59}}else{W=v&7;Y=59}if((Y|0)==59){T=f[c+8>>2]|0;U=W;V=0}W=((T<<3)+-8|U)+1124007936|0;f[a>>2]=W;U=f[S+16>>2]|0;f[F>>2]=U;T=f[S+12>>2]|0;Y=a+12|0;f[Y>>2]=T;v=(W>>>3&511)+1<<(47696>>>(W<<1&14)&3);if(V){V=X(f[B>>2]|0,l+-1|0)|0;Z=X(V,f[c+44>>2]|0)|0}else Z=0;V=f[t>>2]|0;l=f[V>>2]|0;B=(f[y>>2]|0)+Z+(X(l,f[S+8>>2]|0)|0)|0;Z=B+(X(f[S+4>>2]|0,v)|0)|0;f[a+16>>2]=Z;f[a+20>>2]=Z;J=v;K=Y;L=U;M=l;N=Z;O=T;P=W;Q=V;R=Z}Z=N+(X(M,L)|0)|0;f[a+28>>2]=Z;V=X(J,O)|0;O=N+(X(L+-1|0,M)|0)+V|0;f[a+24>>2]=O;f[a>>2]=((L|0)==1|(V|0)==(M|0)?16384:0)|P;f[Q+4>>2]=J;if(!d){u=e;return}f[j>>2]=f[a>>2];J=j+4|0;Q=f[g>>2]|0;f[J>>2]=Q;P=j+8|0;f[P>>2]=f[F>>2];F=j+12|0;f[F>>2]=f[K>>2];K=j+16|0;M=a+16|0;f[K>>2]=R;f[j+20>>2]=R;f[j+24>>2]=O;f[j+28>>2]=Z;f[j+32>>2]=f[a+32>>2];Z=j+36|0;O=a+36|0;R=f[O>>2]|0;f[Z>>2]=R;V=j+40|0;f[V>>2]=P;L=j+48|0;N=j+44|0;f[N>>2]=L;f[L>>2]=0;f[j+52>>2]=0;if(!R)_=Q;else{Q=R+12|0;f[Q>>2]=(f[Q>>2]|0)+1;_=f[g>>2]|0}if((_|0)<3){_=f[t>>2]|0;t=f[N>>2]|0;f[t>>2]=f[_>>2];f[t+4>>2]=f[_+4>>2]}else{f[J>>2]=0;WO(j,a)}_=f[O>>2]|0;if(_|0?(t=_+12|0,_=f[t>>2]|0,f[t>>2]=_+-1,(_|0)==1):0)XO(a);f[O>>2]=0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;if((f[g>>2]|0)>0){M=f[E>>2]|0;E=0;do{f[M+(E<<2)>>2]=0;E=E+1|0}while((E|0)<(f[g>>2]|0))}g=f[z>>2]|0;if(((g|0)!=0?(z=f[g>>2]|0,(z|0)!=0):0)?(f[x>>2]|0)!=1:0){f[k>>2]=z+-1;f[k+4>>2]=0;z=f[F>>2]|0;F=f[j>>2]&4095;f[i>>2]=f[P>>2];f[i+4>>2]=z;VO(a,2,i,F);jY(j,1,a,1,k,1)}else{k=i+8|0;f[k>>2]=0;f[k+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=a;eM(j,i)}k=f[Z>>2]|0;if(k|0?(F=k+12|0,k=f[F>>2]|0,f[F>>2]=k+-1,(k|0)==1):0)XO(j);f[Z>>2]=0;f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0;f[K+12>>2]=0;if((f[J>>2]|0)>0){K=f[V>>2]|0;V=0;do{f[K+(V<<2)>>2]=0;V=V+1|0}while((V|0)<(f[J>>2]|0))}J=f[N>>2]|0;if((J|0)!=(L|0))dX(J);u=e;return}if((p|0)!=1117323264){f[i>>2]=0;f[i+4>>2]=0;q=JV(i,18)|0;H=184496;r=q+18|0;do{b[q>>0]=b[H>>0]|0;q=q+1|0;H=H+1|0}while((q|0)<(r|0));EP(-5,i,184256,184162,181);KV(i);f[a>>2]=1124007936;H=a+8|0;p=a+40|0;q=a+4|0;r=q+36|0;do{f[q>>2]=0;q=q+4|0}while((q|0)<(r|0));f[p>>2]=H;H=a+48|0;f[a+44>>2]=H;f[H>>2]=0;f[a+52>>2]=0;u=e;return}H=f[c+24>>2]|0;p=o&4095;J=f[c+28>>2]|0;if(!H){f[a>>2]=1124007936;L=a+8|0;N=a+40|0;q=a+4|0;r=q+36|0;do{f[q>>2]=0;q=q+4|0}while((q|0)<(r|0));f[N>>2]=L;L=a+48|0;f[a+44>>2]=L;f[L>>2]=0;f[a+52>>2]=0;u=e;return}if(!((H|0)>0?((o>>>3&511)+1<<(47696>>>(o<<1&14)&3)|0)==(J|0):0)){f[i>>2]=0;f[i+4>>2]=0;DVa(JV(i,152)|0,184343,152)|0;EP(-215,i,184256,184162,166);KV(i)}if(!d?(d=f[c+52>>2]|0,(f[d+4>>2]|0)==(d|0)):0){Gi(a,H,1,p,f[d+16>>2]|0,0);u=e;return}if(h|0){d=(X(J,H)|0)+7|0;J=d>>>3;o=h+4|0;if((f[o>>2]|0)>>>0>>0){L=f[h>>2]|0;N=h+8|0;if((L|0)==(N|0))$=L;else{if(L|0)HQa(L);f[h>>2]=N;f[o>>2]=136;$=N}f[o>>2]=J;if(d>>>0>1095){N=FQa(d&-8)|0;f[h>>2]=N;aa=N}else aa=$}else{f[o>>2]=J;aa=f[h>>2]|0}h=m;f[h>>2]=0;f[h+4>>2]=0;f[m+4>>2]=1073741823;f[i>>2]=f[m>>2];f[i+4>>2]=f[m+4>>2];CM(c,aa,i)|0;Gi(a,H,1,p,aa,0);u=e;return}f[j>>2]=1124007936;aa=j+4|0;m=j+8|0;h=j+40|0;q=aa;r=q+36|0;do{f[q>>2]=0;q=q+4|0}while((q|0)<(r|0));f[h>>2]=m;q=j+48|0;r=j+44|0;f[r>>2]=q;f[q>>2]=0;f[j+52>>2]=0;f[i>>2]=H;f[i+4>>2]=1;VO(j,2,i,p);p=j+16|0;H=f[p>>2]|0;J=n;f[J>>2]=0;f[J+4>>2]=0;f[n+4>>2]=1073741823;f[i>>2]=f[n>>2];f[i+4>>2]=f[n+4>>2];CM(c,H,i)|0;f[a>>2]=f[j>>2];i=a+4|0;H=f[aa>>2]|0;f[i>>2]=H;c=a+8|0;f[c>>2]=f[m>>2];f[a+12>>2]=f[j+12>>2];f[a+16>>2]=f[p>>2];f[a+20>>2]=f[j+20>>2];f[a+24>>2]=f[j+24>>2];f[a+28>>2]=f[j+28>>2];f[a+32>>2]=f[j+32>>2];m=j+36|0;n=f[m>>2]|0;f[a+36>>2]=n;f[a+40>>2]=c;c=a+48|0;J=a+44|0;f[J>>2]=c;f[c>>2]=0;f[a+52>>2]=0;if(!n)ba=H;else{H=n+12|0;f[H>>2]=(f[H>>2]|0)+1;ba=f[aa>>2]|0}if((ba|0)<3){ba=f[r>>2]|0;H=f[J>>2]|0;f[H>>2]=f[ba>>2];f[H+4>>2]=f[ba+4>>2]}else{f[i>>2]=0;WO(a,j)}a=f[m>>2]|0;if(a|0?(i=a+12|0,a=f[i>>2]|0,f[i>>2]=a+-1,(a|0)==1):0)XO(j);f[m>>2]=0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;if((f[aa>>2]|0)>0){p=f[h>>2]|0;h=0;do{f[p+(h<<2)>>2]=0;h=h+1|0}while((h|0)<(f[aa>>2]|0))}aa=f[r>>2]|0;if((aa|0)!=(q|0))dX(aa);u=e;return}function OY(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;e=u;u=u+128|0;g=e+64|0;h=e+8|0;i=e;NY(g,a,0,0,1,0);j=g+4|0;k=g+40|0;$J(c,f[j>>2]|0,f[k>>2]|0,f[g>>2]&7,-1,0,0);do if((HJ(c)|0)==65536){l=f[c+4>>2]|0;f[h>>2]=f[l>>2];m=h+4|0;n=l+4|0;f[m>>2]=f[n>>2];o=h+8|0;f[o>>2]=f[l+8>>2];f[h+12>>2]=f[l+12>>2];f[h+16>>2]=f[l+16>>2];f[h+20>>2]=f[l+20>>2];f[h+24>>2]=f[l+24>>2];f[h+28>>2]=f[l+28>>2];f[h+32>>2]=f[l+32>>2];p=f[l+36>>2]|0;f[h+36>>2]=p;f[h+40>>2]=o;o=h+48|0;q=h+44|0;f[q>>2]=o;f[o>>2]=0;f[h+52>>2]=0;if(p|0){o=p+12|0;f[o>>2]=(f[o>>2]|0)+1}if((f[n>>2]|0)<3){n=f[l+44>>2]|0;o=f[q>>2]|0;f[o>>2]=f[n>>2];f[o+4>>2]=f[n+4>>2];break}else{f[m>>2]=0;WO(h,l);break}}else DJ(h,c,-1);while(0);if((d|0)<0){if(!(((a|0)!=0?(f[a>>2]|0)==112:0)?(f[a+68>>2]|0)!=0:0)){f[i>>2]=0;f[i+4>>2]=0;r=JV(i,107)|0;s=184515;t=r+107|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));EP(-215,i,184623,184162,192);KV(i)}c=pW(a)|0;a=c+-1|0;if((c|0)>0){v=a;w=14}else{x=a;w=15}}else{v=d;w=14}if((w|0)==14)if((v|0)>((f[g>>2]|0)>>>3&511|0)){x=v;w=15}else y=v;if((w|0)==15){f[i>>2]=0;f[i+4>>2]=0;r=JV(i,32)|0;s=184639;t=r+32|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));EP(-215,i,184623,184162,195);KV(i);y=x}f[i>>2]=y;f[i+4>>2]=0;jY(g,1,h,1,i,1);i=h+36|0;y=f[i>>2]|0;if(y|0?(x=y+12|0,y=f[x>>2]|0,f[x>>2]=y+-1,(y|0)==1):0)XO(h);f[i>>2]=0;i=h+16|0;y=h+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[y>>2]|0)>0){i=f[h+40>>2]|0;x=0;do{f[i+(x<<2)>>2]=0;x=x+1|0}while((x|0)<(f[y>>2]|0))}y=f[h+44>>2]|0;if((y|0)!=(h+48|0))dX(y);y=g+36|0;h=f[y>>2]|0;if(h|0?(x=h+12|0,h=f[x>>2]|0,f[x>>2]=h+-1,(h|0)==1):0)XO(g);f[y>>2]=0;y=g+16|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;if((f[j>>2]|0)>0){y=f[k>>2]|0;k=0;do{f[y+(k<<2)>>2]=0;k=k+1|0}while((k|0)<(f[j>>2]|0))}j=f[g+44>>2]|0;if((j|0)==(g+48|0)){u=e;return}dX(j);u=e;return}function PY(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0,i=0.0,j=0.0;c=u;u=u+112|0;d=c+48|0;e=c+32|0;g=c;NY(d,a,0,0,0,0);a=e+8|0;f[a>>2]=0;f[a+4>>2]=0;f[e>>2]=50397184;f[e+4>>2]=d;h=+p[b+8>>3];i=+p[b+16>>3];j=+p[b+24>>3];p[g>>3]=+p[b>>3];p[g+8>>3]=h;p[g+16>>3]=i;p[g+24>>3]=j;BD(e,g);g=d+36|0;e=f[g>>2]|0;if(e|0?(b=e+12|0,e=f[b>>2]|0,f[b>>2]=e+-1,(e|0)==1):0)XO(d);f[g>>2]=0;g=d+16|0;e=d+4|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;if((f[e>>2]|0)>0){g=f[d+40>>2]|0;b=0;do{f[g+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(f[e>>2]|0))}e=f[d+44>>2]|0;if((e|0)==(d+48|0)){u=c;return}dX(e);u=c;return}function QY(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+144|0;e=d+88|0;g=d+32|0;h=d+16|0;i=d;NY(e,a,0,0,0,0);NY(g,c,0,0,0,0);if(!(((f[e+8>>2]|0)==(f[g+12>>2]|0)?(f[e+12>>2]|0)==(f[g+8>>2]|0):0)?!((f[g>>2]^f[e>>2])&4095|0):0)){f[h>>2]=0;f[h+4>>2]=0;c=JV(h,72)|0;a=184672;j=c+72|0;do{b[c>>0]=b[a>>0]|0;c=c+1|0;a=a+1|0}while((c|0)<(j|0));EP(-215,h,184745,184162,234);KV(h)}f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=e;a=i+8|0;f[a>>2]=0;f[a+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=g;DD(h,i);i=g+36|0;h=f[i>>2]|0;if(h|0?(a=h+12|0,h=f[a>>2]|0,f[a>>2]=h+-1,(h|0)==1):0)XO(g);f[i>>2]=0;i=g+16|0;h=g+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[h>>2]|0)>0){i=f[g+40>>2]|0;a=0;do{f[i+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[h>>2]|0))}h=f[g+44>>2]|0;if((h|0)!=(g+48|0))dX(h);h=e+36|0;g=f[h>>2]|0;if(g|0?(a=g+12|0,g=f[a>>2]|0,f[a>>2]=g+-1,(g|0)==1):0)XO(e);f[h>>2]=0;h=e+16|0;g=e+4|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;if((f[g>>2]|0)>0){h=f[e+40>>2]|0;a=0;do{f[h+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(f[g>>2]|0))}g=f[e+44>>2]|0;if((g|0)==(e+48|0)){u=d;return}dX(g);u=d;return}function RY(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+256|0;g=e+200|0;h=e+144|0;i=e+128|0;j=e+72|0;k=e+16|0;l=e;NY(g,a,0,0,0,0);NY(h,d,0,0,0,0);d=g+40|0;a=f[d>>2]|0;m=h+40|0;n=f[m>>2]|0;if(!(((f[a>>2]|0)==(f[n>>2]|0)?(f[a+4>>2]|0)==(f[n+4>>2]|0):0)?!((f[h>>2]^f[g>>2])&4095|0):0)){f[i>>2]=0;f[i+4>>2]=0;n=JV(i,54)|0;a=184757;o=n+54|0;do{b[n>>0]=b[a>>0]|0;n=n+1|0;a=a+1|0}while((n|0)<(o|0));EP(-215,i,184812,184162,250);KV(i)}NY(k,c,0,0,0,0);f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=k;ZD(j,g,i);i=l+8|0;f[i>>2]=0;f[i+4>>2]=0;f[l>>2]=33619968;f[l+4>>2]=h;eM(j,l);l=j+36|0;i=f[l>>2]|0;if(i|0?(c=i+12|0,i=f[c>>2]|0,f[c>>2]=i+-1,(i|0)==1):0)XO(j);f[l>>2]=0;l=j+16|0;i=j+4|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;if((f[i>>2]|0)>0){l=f[j+40>>2]|0;c=0;do{f[l+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[i>>2]|0))}i=f[j+44>>2]|0;if((i|0)!=(j+48|0))dX(i);i=k+36|0;j=f[i>>2]|0;if(j|0?(c=j+12|0,j=f[c>>2]|0,f[c>>2]=j+-1,(j|0)==1):0)XO(k);f[i>>2]=0;i=k+16|0;j=k+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[j>>2]|0)>0){i=f[k+40>>2]|0;c=0;do{f[i+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[j>>2]|0))}j=f[k+44>>2]|0;if((j|0)!=(k+48|0))dX(j);j=h+36|0;k=f[j>>2]|0;if(k|0?(c=k+12|0,k=f[c>>2]|0,f[c>>2]=k+-1,(k|0)==1):0)XO(h);f[j>>2]=0;j=h+16|0;k=h+4|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;if((f[k>>2]|0)>0){j=f[m>>2]|0;m=0;do{f[j+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[k>>2]|0))}k=f[h+44>>2]|0;if((k|0)!=(h+48|0))dX(k);k=g+36|0;h=f[k>>2]|0;if(h|0?(m=h+12|0,h=f[m>>2]|0,f[m>>2]=h+-1,(h|0)==1):0)XO(g);f[k>>2]=0;k=g+16|0;h=g+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;if((f[h>>2]|0)>0){k=f[d>>2]|0;d=0;do{f[k+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[h>>2]|0))}h=f[g+44>>2]|0;if((h|0)==(g+48|0)){u=e;return}dX(h);u=e;return}function SY(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0;e=u;u=u+16|0;d=e;f[d>>2]=0;f[d+4>>2]=0;c=JV(d,44)|0;a=184827;g=c+44|0;do{b[c>>0]=b[a>>0]|0;c=c+1|0;a=a+1|0}while((c|0)<(g|0));EP(-216,d,184872,184886,107);KV(d);u=e;return}function TY(a){a=a|0;return}function UY(a){a=a|0;var b=0;b=f[a>>2]|0;f[a>>2]=b+-1;if((b|0)!=1)return;if((a|0)==0|0!=0)return;b=a+4|0;if(f[b>>2]|0)f[b>>2]=0;b=f[a+12>>2]|0;if(b|0)UY(b);GQa(a);return}function VY(a){a=a|0;f[a>>2]=0;return}function WY(a){a=a|0;var b=0;b=f[a>>2]|0;if(!b)return;UY(b);return}function XY(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0;c=u;u=u+16|0;d=c;yV(d,44e3);e=b+-4|0;if((b|0)<4){g=0;i=0}else{j=0;k=0;do{k=k+(h[153214+(h[a+j>>0]|0)>>0]|0)+(h[153214+(h[a+(j|1)>>0]|0)>>0]|0)+(h[153214+(h[a+(j|2)>>0]|0)>>0]|0)+(h[153214+(h[a+(j|3)>>0]|0)>>0]|0)|0;j=j+4|0}while((j|0)<=(e|0));g=k;i=b&-4}if((i|0)<(b|0)){k=i;i=g;while(1){e=i+(h[153214+(h[a+k>>0]|0)>>0]|0)|0;k=k+1|0;if((k|0)==(b|0)){l=e;break}else i=e}}else l=g;if(!(f[d+4>>2]|0)){u=c;return l|0}u=c;return l|0}function YY(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=u;u=u+16|0;g=e;yV(g,44020);i=d+-4|0;if((d|0)<4){j=0;k=0}else{l=0;m=0;do{n=l|1;o=l|2;p=l|3;m=m+(h[153214+((b[c+l>>0]^b[a+l>>0])&255)>>0]|0)+(h[153214+((b[c+n>>0]^b[a+n>>0])&255)>>0]|0)+(h[153214+((b[c+o>>0]^b[a+o>>0])&255)>>0]|0)+(h[153214+((b[c+p>>0]^b[a+p>>0])&255)>>0]|0)|0;l=l+4|0}while((l|0)<=(i|0));j=m;k=d&-4}if((k|0)<(d|0)){m=k;k=j;while(1){i=k+(h[153214+((b[c+m>>0]^b[a+m>>0])&255)>>0]|0)|0;m=m+1|0;if((m|0)==(d|0)){q=i;break}else k=i}}else q=j;if(!(f[g+4>>2]|0)){u=e;return q|0}u=e;return q|0}function ZY(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+32|0;d=c+20|0;e=c+16|0;g=c+12|0;h=c+8|0;i=c;j=f[a+76>>2]|0;f[d>>2]=0;f[e>>2]=0;f[g>>2]=0;f[h>>2]=0;k=_Y(a,j,2)|0;if(xCa(k,185131,5)|0)JZ(a,185137,185149,185191,616);j=a+32|0;l=$Y(a,k,d,g,h)|0;a:while(1){k=l;m=b[l>>0]|0;while(1){if(!(m<<24>>24))break a;k=_Y(a,k,0)|0;if(b[k>>0]|0)break;else m=0}m=$Y(a,k,d,g,h)|0;n=f[d>>2]|0;if(!((f[h>>2]|0)==1&(n|0)!=0?!(mCa(f[n+8>>2]|0,185255)|0):0))JZ(a,185137,185270,185191,646);o=$Y(a,aZ(a,m,OM(f[j>>2]|0,0)|0,0)|0,e,g,h)|0;if(!((f[h>>2]|0)==2?(n|0)==(f[e>>2]|0):0))JZ(a,185137,185302,185191,652);l=_Y(a,o,0)|0}if(f[a+92>>2]|0){u=c;return}f[i>>2]=0;f[i+4>>2]=0;a=JV(i,18)|0;l=185335;e=a+18|0;do{b[a>>0]=b[l>>0]|0;a=a+1|0;l=l+1|0}while((a|0)<(e|0));EP(-215,i,185137,185191,656);KV(i);u=c;return}function _Y(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;e=a+80|0;g=a+76|0;h=a+88|0;i=c;c=0;j=d;a:while(1){d=i+-1|0;b:do switch(j|0){case 1:{k=b[i>>0]|0;c:do if((k&255)>31|k<<24>>24==9){l=d;m=k;n=i;while(1){if((m<<24>>24==45?(b[l+2>>0]|0)==45:0)?(b[l+3>>0]|0)==62:0){o=l;p=45;q=n;break c}r=n+1|0;s=b[r>>0]|0;if((s&255)>31|s<<24>>24==9){t=n;m=s;n=r;l=t}else{o=n;p=s;q=r;break}}}else{o=d;p=k;q=i}while(0);k=p<<24>>24==45;u=(k^1)&1;v=c;w=k?o+4|0:q;x=19;break}case 3:{k=c;n=d;while(1){l=n+1|0;m=b[l>>0]|0;r=k+(m<<24>>24==60&1)+((m<<24>>24==62)<<31>>31)|0;if((r|0)<0){y=l;x=28;break a}if((m&255)>31|m<<24>>24==9){k=r;n=l}else{u=3;v=r;w=l;x=19;break}}break}default:{n=d;d:while(1){z=n+1|0;A=b[z>>0]|0;switch(A<<24>>24){case 9:case 32:{n=z;break}case 60:{break d;break}default:{x=18;break d}}}if((x|0)==18){x=0;if((A&255)>31){y=z;x=28;break a}else{B=j;C=c;D=A;break b}}if((b[n+2>>0]|0)!=33){y=z;x=28;break a}if((b[n+3>>0]|0)!=45){y=z;x=28;break a}if((b[n+4>>0]|0)!=45){y=z;x=28;break a}if(j|0)JZ(a,186262,186279,185191,65);u=1;v=c;w=n+5|0;x=19}}while(0);if((x|0)==19){x=0;d=b[w>>0]|0;if((d&255)>31){i=w;c=v;j=u;continue}else{B=u;C=v;D=d}}d=f[g>>2]|0;k=(f[e>>2]|0)-d|0;switch(D<<24>>24){case 13:case 10:case 0:{E=d;break}default:{JZ(a,186262,187603,185191,77);E=f[g>>2]|0}}d=EZ(a,E,k)|0;if(!d){x=27;break}k=d+((nCa(d)|0)+-1)|0;switch(b[k>>0]|0){case 13:case 10:break;default:if(!(FZ(a)|0))JZ(a,186262,191731,185191,90)}f[h>>2]=(f[h>>2]|0)+1;i=d;c=C;j=B}if((x|0)==27){B=f[g>>2]|0;b[B>>0]=0;f[a+92>>2]=1;y=B;return y|0}else if((x|0)==28)return y|0;return 0}function $Y(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;h=u;u=u+16|0;i=h;j=b[c>>0]|0;if(!(j<<24>>24)){JZ(a,185907,185922,185191,471);k=b[c>>0]|0}else k=j;if(k<<24>>24!=60)JZ(a,185907,185952,185191,474);k=c+1|0;j=b[k>>0]|0;if(!(j<<24>>24))if((k|0)==((f[a+80>>2]|0)+-1|0)){f[i>>2]=0;f[i+4>>2]=0;l=JV(i,98)|0;m=191303;n=l+98|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-215,i,185907,185191,477);KV(i);o=b[k>>0]|0}else o=0;else o=j;a:do if(((o&-33)+-65&255)<26|(o+-48&255)<10){p=k;q=1}else switch(o<<24>>24){case 95:{p=k;q=1;break a;break}case 47:{p=c+2|0;q=2;break a;break}case 63:{p=c+2|0;q=4;break a;break}case 33:{p=c+2|0;q=5;break a;break}default:{JZ(a,185907,185978,185191,497);p=k;q=0;break a}}while(0);k=i+4|0;c=a+80|0;o=i+4|0;j=(q|0)==4;r=(q|0)==1;s=i+8+4|0;t=(q|0)==2;v=a+16|0;w=p;p=0;x=0;y=0;z=0;b:while(1){A=b[w>>0]|0;if(!(((A&-33)+-65&255)<26|A<<24>>24==95))JZ(a,185907,185995,185191,504);A=w+-1|0;c:while(1){B=A+1|0;C=b[B>>0]|0;if((C+-48&255)<10|((C&-33)+-65&255)<26){A=B;continue}switch(C<<24>>24){case 45:case 95:{A=B;break}default:break c}}A=MW(a,w,B-w|0,1)|0;if(!A){f[i>>2]=0;f[k>>2]=0;C=JV(i,8)|0;D=C;b[D>>0]=97;b[D+1>>0]=116;b[D+2>>0]=116;b[D+3>>0]=114;D=C+4|0;b[D>>0]=110;b[D+1>>0]=97;b[D+2>>0]=109;b[D+3>>0]=101;EP(-215,i,185907,185191,511);KV(i)}if((b[B>>0]|0)==0?(B|0)==((f[c>>2]|0)+-1|0):0){f[i>>2]=0;f[o>>2]=0;l=JV(i,98)|0;m=191303;n=l+98|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));EP(-215,i,185907,185191,513);KV(i)}if(!p){E=A;F=z;G=x;H=y}else{if(t)JZ(a,185907,186041,185191,520);D=(y|0)!=0;if((z|0)>3|D^1){C=wM(f[v>>2]|0,44)|0;l=C+4|0;n=l+40|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(n|0));f[C>>2]=C+8;if(D){f[y+4>>2]=C;I=0;J=x;K=C}else{I=0;J=C;K=C}}else{I=z;J=x;K=y}f[(f[K>>2]|0)+(I<<1<<2)>>2]=f[A+8>>2];E=p;F=I;G=J;H=K}if(!H){L=B;M=F}else{if((b[B>>0]|0)!=61){N=_Y(a,B,2)|0;if((b[N>>0]|0)==61)O=N;else{JZ(a,185907,186087,185191,546);O=N}}else O=B;N=O+1|0;d:do switch(b[N>>0]|0){case 39:case 34:{P=N;break}default:{Q=_Y(a,N,2)|0;switch(b[Q>>0]|0){case 39:case 34:{P=Q;break d;break}default:{}}JZ(a,185907,186128,185191,554);P=Q}}while(0);N=aZ(a,P,i,3)|0;f[(f[H>>2]|0)+((F<<1|1)<<2)>>2]=f[s>>2];L=N;M=F+1|0}N=b[L>>0]|0;if(N<<24>>24==62){R=L;S=42;break}T=_Y(a,L,2)|0;A=b[T>>0]|0;if(A<<24>>24==62){R=T;S=42;break}if(j&A<<24>>24==63){S=46;break}if(A<<24>>24==47?r&(b[T+1>>0]|0)==62:0){S=51;break}switch(N<<24>>24){case 0:case 9:case 10:case 11:case 12:case 13:case 32:{w=T;p=E;x=G;y=H;z=M;continue b;break}default:{}}JZ(a,185907,186221,185191,594);w=T;p=E;x=G;y=H;z=M}if((S|0)==42){if(j)JZ(a,185907,186187,185191,575);U=q;V=R+1|0;f[d>>2]=E;f[g>>2]=U;f[e>>2]=G;u=h;return V|0}else if((S|0)==46){if((b[T+1>>0]|0)!=62)JZ(a,185907,186187,185191,582);U=4;V=T+2|0;f[d>>2]=E;f[g>>2]=U;f[e>>2]=G;u=h;return V|0}else if((S|0)==51){U=3;V=T+2|0;f[d>>2]=E;f[g>>2]=U;f[e>>2]=G;u=h;return V|0}return 0}function aZ(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0.0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0;g=u;u=u+4224|0;h=g+104|0;i=g;j=g+88|0;k=g+76|0;l=g+32|0;m=g+28|0;n=g+24|0;o=g+20|0;q=g+16|0;r=g+12|0;s=e&16;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;t=e&7;e=(t|0)==3;v=a+80|0;w=i+4|0;x=i+4|0;y=a+16|0;z=(t+-1|0)>>>0<4;A=h+4|0;B=d+8|0;C=h+4|0;D=a+92|0;E=j+4|0;F=j+8|0;G=j+8|0;H=i+11|0;I=i+4|0;J=j+11|0;K=j+4|0;L=k+4|0;M=k+8|0;N=a+76|0;O=k+8|0;P=h+4|0;Q=c;c=1;R=1;a:while(1){S=b[Q>>0]|0;switch(S<<24>>24){case 0:case 9:case 10:case 11:case 12:case 13:case 32:{T=5;break}case 60:{U=b[Q+1>>0]|0;if(U<<24>>24==33)if((b[Q+2>>0]|0)==45)T=5;else{V=60;W=c;X=Q;Y=33;T=7}else{V=60;W=c;X=Q;Y=U;T=7}break}default:{Z=S;_=Q;$=c;T=6}}if((T|0)==5){T=0;S=_Y(a,Q,0)|0;Z=b[S>>0]|0;_=S;$=1;T=6}b:do if((T|0)==6){T=0;S=b[_+1>>0]|0;switch(Z<<24>>24){case 0:case 60:{V=Z;W=$;X=_;Y=S;T=7;break b;break}default:{}}if(!$)JZ(a,185354,185589,185191,302);U=f[d>>2]|0;if(!U)aa=d;else{if((U&7)>>>0<=4)KZ(a,5,d);U=OM(f[B>>2]|0,0)|0;f[U+4>>2]=0;aa=U}c:do if(!e){d:do if((Z+-48&255)<10)ba=Z;else switch(Z<<24>>24){case 43:case 45:{if(S<<24>>24==46|(S+-48&255)<10){ba=Z;break d}else{T=105;break c}break}case 46:{if((S+-48&255)<10|((S&-33)+-65&255)<26){ba=46;break d}else{T=105;break c}break}default:{T=105;break c}}while(0);U=_+((Z<<24>>24==43|ba<<24>>24==45)&1)|0;while(1){f[m>>2]=U;ca=b[U>>0]|0;if((ca+-48&255)<10)U=U+1|0;else break}switch(ca<<24>>24){case 101:case 46:{da=+QZ(a,_,m);f[aa>>2]=2;p[aa+8>>3]=da;break}default:{U=_Da(_,m,0)|0;f[aa>>2]=1;f[aa+8>>2]=U}}U=f[m>>2]|0;if((U|0)==(_|0)){JZ(a,185354,191237,185191,339);ea=f[m>>2]|0}else ea=U;if((b[ea>>0]|0)==0?(ea|0)==((f[v>>2]|0)+-1|0):0){f[h>>2]=0;f[A>>2]=0;fa=JV(h,98)|0;ga=191303;ha=fa+98|0;do{b[fa>>0]=b[ga>>0]|0;fa=fa+1|0;ga=ga+1|0}while((fa|0)<(ha|0));EP(-215,h,185354,185191,342);KV(h);ia=ea}else ia=ea}else T=105;while(0);if((T|0)==105){T=0;FVa(h|0,0,4112)|0;f[aa>>2]=3;S=Z<<24>>24==34;U=0;ja=S?_:_+-1|0;e:while(1){ka=ja+1|0;la=b[ka>>0]|0;if(la<<24>>24==0?(ka|0)==((f[v>>2]|0)+-1|0):0){f[i>>2]=0;f[w>>2]=0;fa=JV(i,98)|0;ga=191303;ha=fa+98|0;do{b[fa>>0]=b[ga>>0]|0;fa=fa+1|0;ga=ga+1|0}while((fa|0)<(ha|0));EP(-215,i,185354,185191,358);KV(i)}f:do if(!((la+-48&255)<10|((la&-33)+-65&255)<26)){if(la<<24>>24==34){T=111;break e}if((la&255)<32|la<<24>>24==60){T=117;break e}if(S)switch(la<<24>>24){case 62:case 39:{T=120;break}case 38:break;default:{ma=U;na=la;oa=ka;break f}}else switch(la<<24>>24){case 9:case 10:case 11:case 12:case 13:case 32:{pa=ka;break e;break}case 62:case 39:{T=120;break}case 38:break;default:{ma=U;na=la;oa=ka;break f}}if((T|0)==120){T=0;JZ(a,185354,185703,185191,376);ma=U;na=la;oa=ka;break}qa=ja+2|0;g:do if((b[qa>>0]|0)==35){ra=ja+3|0;sa=(b[ra>>0]|0)==120;ta=_Da(sa?ja+4|0:ra,m,sa?16:10)|0;sa=f[m>>2]|0;if(ta>>>0<256&(sa|0)!=0?(b[sa>>0]|0)==59:0)ua=sa;else{JZ(a,185354,185754,185191,392);ua=f[m>>2]|0}va=U;wa=ta&255;xa=ua}else{f[m>>2]=qa;ta=qa;do{ta=ta+1|0;f[m>>2]=ta;ya=b[ta>>0]|0}while((ya+-48&255)<10|((ya&-33)+-65&255)<26);if(ya<<24>>24==59){za=ta;Aa=ta}else{JZ(a,185354,185790,185191,401);sa=f[m>>2]|0;za=sa;Aa=sa}sa=za-qa|0;switch(sa|0){case 2:{if(!(xCa(qa,185834,2)|0)){va=U;wa=60;xa=Aa;break g}if(!(xCa(qa,185837,2)|0)){va=U;wa=62;xa=Aa;break g}break}case 3:{if(!(xCa(qa,185840,3)|0)){va=U;wa=38;xa=Aa;break g}break}case 4:{if(!(xCa(qa,185844,4)|0)){va=U;wa=39;xa=Aa;break g}if(!(xCa(qa,185849,4)|0)){va=U;wa=34;xa=Aa;break g}break}default:{}}ra=sa+2|0;DVa(h+U|0,ka|0,ra|0)|0;va=ra+U|0;wa=ya;xa=Aa}while(0);if((b[xa>>0]|0)==0?(xa|0)==((f[v>>2]|0)+-1|0):0){f[i>>2]=0;f[x>>2]=0;fa=JV(i,98)|0;ga=191303;ha=fa+98|0;do{b[fa>>0]=b[ga>>0]|0;fa=fa+1|0;ga=ga+1|0}while((fa|0)<(ha|0));EP(-215,i,185354,185191,420);KV(i);ma=va;na=wa;oa=xa}else{ma=va;na=wa;oa=xa}}else{ma=U;na=la;oa=ka}while(0);la=ma+1|0;b[h+ma>>0]=na;if((ma|0)<=4094){U=la;ja=oa;continue}JZ(a,185354,191420,185191,425);U=la;ja=oa}if((T|0)==111){T=0;if(!S)JZ(a,185354,185628,185191,364);pa=ja+2|0}else if((T|0)==117){T=0;if(S){JZ(a,185354,185681,185191,371);pa=ka}else pa=ka}yM(i,f[y>>2]|0,h,U);la=i;qa=f[la+4>>2]|0;ra=aa+8|0;f[ra>>2]=f[la>>2];f[ra+4>>2]=qa;ia=pa}if(z){Ba=ia;Ca=R;break a}else{Da=R;Ea=0;Fa=ia}}while(0);if((T|0)==7){T=0;f[n>>2]=0;f[o>>2]=0;f[q>>2]=0;f[r>>2]=0;if(!(Y<<24>>24==47|V<<24>>24==0)){qa=$Y(a,X,n,q,r)|0;switch(f[r>>2]|0){case 5:{JZ(a,185354,185371,185191,237);T=11;break}case 3:{JZ(a,185354,185407,185191,239);T=11;break}case 1:break;default:T=11}if((T|0)==11){T=0;f[h>>2]=0;f[P>>2]=0;fa=JV(h,13)|0;ga=185436;ha=fa+13|0;do{b[fa>>0]=b[ga>>0]|0;fa=fa+1|0;ga=ga+1|0}while((fa|0)<(ha|0));EP(-215,h,185354,185191,241);KV(h)}ra=f[q>>2]|0;if((ra|0)!=0?(la=LW(ra,187475)|0,(la|0)!=0):0)if(mCa(la,191034)|0)if(mCa(la,191042)|0)if(mCa(la,191038)|0)if(!(mCa(la,191046)|0)){Ga=1;Ha=0;Ia=0}else{ra=_W(la)|0;Ga=0;Ha=(ra|0)==0?0:16;Ia=ra}else{Ga=0;Ha=5;Ia=0}else{Ga=0;Ha=6;Ia=0}else{Ga=0;Ha=3;Ia=0}else{Ga=0;Ha=0;Ia=0}ra=f[n>>2]|0;if((f[ra+4>>2]|0)==1)Ja=(b[f[ra+8>>2]>>0]|0)==95;else Ja=0;la=f[d>>2]&7;if(la>>>0>4){if(Ja^(la|0)==5)JZ(a,185354,Ja?185450:188041,185191,275)}else KZ(a,Ja?5:6,d);if(Ja)Ka=OM(f[B>>2]|0,0)|0;else Ka=NW(a,d,ra,1)|0;if(!Ka){f[h>>2]=0;f[C>>2]=0;la=JV(h,4)|0;b[la>>0]=101;b[la+1>>0]=108;b[la+2>>0]=101;b[la+3>>0]=109;EP(-215,h,185354,185191,281);KV(h)}if(Ga){la=_Y(a,qa,2)|0;sa=la;f[h>>2]=sa;if((f[D>>2]|0)==0?(La=b[la>>0]|0,La<<24>>24!=60):0){if((La&255)>31){Ma=0;while(1){Na=Ma+1|0;Oa=b[la+Na>>0]|0;if((Oa&255)>31)Ma=Na;else{Pa=Na;Qa=Oa;break}}}else{Pa=0;Qa=La}Ma=la+Pa|0;if(!(Qa<<24>>24))JZ(a,185481,191085,185191,115);Oa=Ma;f[h>>2]=Oa;Ra=Oa;Sa=Ma;Ta=Pa}else{Ra=sa;Sa=la;Ta=0}Ma=la+Ta|0;if(la>>>0>>0){f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;if((Ra-sa|0)<32)JZ(a,185513,191126,185191,134);f[j>>2]=0;f[E>>2]=0;f[F>>2]=0;Oa=EQa(25)|0;f[j>>2]=Oa;Na=Oa+25|0;f[G>>2]=Na;fa=Oa;ha=fa+25|0;do{b[fa>>0]=32;fa=fa+1|0}while((fa|0)<(ha|0));f[E>>2]=Na;hX(la,Oa,0,32)|0;if(!(BX(j,i)|0?(sa=b[H>>0]|0,((sa<<24>>24<0?f[I>>2]|0:sa&255)|0)!=0):0))JZ(a,185513,191153,185191,139);sa=la+32|0;La=f[j>>2]|0;if(La|0){if((f[E>>2]|0)!=(La|0))f[E>>2]=La;GQa(La)};f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;WQa(j,131072);h:do if((Ta|0)>32){La=Ma;Ua=sa;while(1){bZ(j,Ua,La)|0;Ua=_Y(a,La,2)|0;f[h>>2]=Ua;if(f[D>>2]|0)break h;Va=b[Ua>>0]|0;if(Va<<24>>24==60)break h;if((Va&255)>31){Wa=Ua;while(1){Xa=Wa+1|0;Ya=b[Xa>>0]|0;if((Ya&255)>31)Wa=Xa;else{Za=Xa;_a=Ya;break}}}else{Za=Ua;_a=Va}if(!(_a<<24>>24))JZ(a,185481,191085,185191,115);f[h>>2]=Za;if(Za>>>0<=Ua>>>0)break;else La=Za}}while(0);sa=b[J>>0]|0;Ma=sa<<24>>24<0;la=Ma?f[K>>2]|0:sa&255;if(!((la|0)!=0?iX(Ma?f[j>>2]|0:j,0,la)|0:0))JZ(a,185513,191183,185191,155);la=b[J>>0]|0;Ma=jX(la<<24>>24<0?f[K>>2]|0:la&255,1)|0;f[k>>2]=0;f[L>>2]=0;f[M>>2]=0;if(Ma|0){if((Ma|0)<0){T=62;break}la=EQa(Ma)|0;f[L>>2]=la;f[k>>2]=la;f[O>>2]=la+Ma;sa=Ma;Ma=la;do{b[Ma>>0]=0;Ma=(f[L>>2]|0)+1|0;f[L>>2]=Ma;sa=sa+-1|0}while((sa|0)!=0)}sa=b[J>>0]|0;Ma=sa<<24>>24<0;la=kX(Ma?f[K>>2]|0:sa&255,Ma?f[j>>2]|0:j,0)|0;Ma=f[k>>2]|0;HX(l,Ma,(f[L>>2]|0)-Ma|0);Ma=b[J>>0]|0;sa=Ma<<24>>24<0;Oa=sa?f[j>>2]|0:j;KX(l,Oa,Oa+(sa?f[K>>2]|0:Ma&255)|0)|0;JX(l)|0;IX(l);Ma=YZ((b[H>>0]|0)<0?f[i>>2]|0:i,0)|0;if((la|0)%(Ma|0)|0|0)JZ(a,185513,185531,185191,173);f[Ka>>2]=0;KZ(a,5,Ka);$X(f[k>>2]|0,(la|0)/(Ma|0)|0,(b[H>>0]|0)<0?f[i>>2]|0:i,f[Ka+8>>2]|0);Ma=f[((f[D>>2]|0)==0?h:N)>>2]|0;la=f[k>>2]|0;if(la|0){if((f[L>>2]|0)!=(la|0))f[L>>2]=la;GQa(la)}if((b[J>>0]|0)<0)GQa(f[j>>2]|0);if((b[H>>0]|0)<0)GQa(f[i>>2]|0);$a=Ma}else $a=Sa;ab=_Y(a,$a,0)|0}else ab=aZ(a,qa,Ka,Ha)|0;if(!Ja)f[Ka>>2]=f[Ka>>2]|64;if(R)bb=(f[Ka>>2]&7)>>>0<5;else bb=0;f[Ka+4>>2]=Ia;Ma=$Y(a,ab,o,q,r)|0;if((f[r>>2]|0)==2?(f[o>>2]|0)==(ra|0):0){cb=1;db=bb;eb=1;fb=Ma}else{JZ(a,185354,185566,185191,296);cb=1;db=bb;eb=1;fb=Ma}}else{cb=0;db=R;eb=W;fb=X}if(cb){Da=db;Ea=eb;Fa=fb}else{Ba=fb;Ca=db;break}}Q=Fa;c=Ea;R=Da}if((T|0)==62)ZOa(k);k=f[d>>2]|0;Da=k&7;if(!Da)if(t>>>0>4)T=148;else T=149;else if(t>>>0>4&(Da>>>0<5&(Da|0)!=(t|0)))T=148;else T=149;if((T|0)==148){KZ(a,(t|0)==6?6:5,d);gb=f[d>>2]|0;T=150}else if((T|0)==149)if(!t)hb=k;else{gb=k;T=150}if((T|0)==150)if((t|0)==(gb&7|0))hb=gb;else{JZ(a,185354,185854,185191,447);hb=f[d>>2]|0}if((hb&7)>>>0<5|Ca^1){ib=hb|s;f[d>>2]=ib;u=g;return Ba|0}Ca=f[B>>2]|0;f[Ca>>2]=f[Ca>>2]|256;ib=hb|s;f[d>>2]=ib;u=g;return Ba|0}function bZ(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;e=u;u=u+16|0;g=c;h=e;i=a+11|0;j=b[i>>0]|0;k=j<<24>>24<0;if(k){l=f[a+4>>2]|0;m=(f[a+8>>2]&2147483647)+-1|0}else{l=j&255;m=10}n=d-g|0;if(!n){u=e;return a|0}if(k){o=f[a>>2]|0;p=f[a+4>>2]|0}else{o=a;p=j&255}if(o>>>0<=c>>>0&(o+p|0)>>>0>c>>>0){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;if(n>>>0>4294967279)NQa(h);if(n>>>0<11){b[h+11>>0]=n;q=h}else{p=n+16&-16;o=EQa(p)|0;f[h>>2]=o;f[h+8>>2]=p|-2147483648;f[h+4>>2]=n;q=o}if((c|0)==(d|0))r=q;else{o=q;p=c;while(1){b[o>>0]=b[p>>0]|0;p=p+1|0;if((p|0)==(d|0))break;else o=o+1|0}r=q+n|0}b[r>>0]=0;r=h+11|0;q=b[r>>0]|0;o=q<<24>>24<0;aRa(a,o?f[h>>2]|0:h,o?f[h+4>>2]|0:q&255)|0;if((b[r>>0]|0)<0)GQa(f[h>>2]|0);u=e;return a|0}if((m-l|0)>>>0>>0){_Qa(a,m,l+n-m|0,l,l,0,0);s=b[i>>0]|0}else s=j;if(s<<24>>24<0)t=f[a>>2]|0;else t=a;s=t+l|0;if((c|0)==(d|0))v=s;else{j=d+(l-g)|0;g=c;c=s;while(1){b[c>>0]=b[g>>0]|0;g=g+1|0;if((g|0)==(d|0))break;else c=c+1|0}v=t+j|0}b[v>>0]=0;v=l+n|0;if((b[i>>0]|0)<0){f[a+4>>2]=v;u=e;return a|0}else{b[i>>0]=v;u=e;return a|0}return 0} +function ND(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;g=f[e>>2]|0;h=f[e+4>>2]|0;e=g+-4|0;do if((g|0)<4)i=0;else{j=h+-4|0;if((h|0)<4){if((h|0)>0){k=0;do{l=c+(X(k,d)|0)|0;m=c+(X(k|1,d)|0)|0;n=c+(X(k|2,d)|0)|0;o=c+(X(k|3,d)|0)|0;p=a+(k<<5)|0;q=0;do{r=p+(X(q,b)|0)|0;s=l+(q<<5)|0;f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2];f[s+8>>2]=f[r+8>>2];f[s+12>>2]=f[r+12>>2];f[s+16>>2]=f[r+16>>2];f[s+20>>2]=f[r+20>>2];f[s+24>>2]=f[r+24>>2];f[s+28>>2]=f[r+28>>2];s=r+32|0;t=m+(q<<5)|0;f[t>>2]=f[s>>2];f[t+4>>2]=f[s+4>>2];f[t+8>>2]=f[s+8>>2];f[t+12>>2]=f[s+12>>2];f[t+16>>2]=f[s+16>>2];f[t+20>>2]=f[s+20>>2];f[t+24>>2]=f[s+24>>2];f[t+28>>2]=f[s+28>>2];s=r+64|0;t=n+(q<<5)|0;f[t>>2]=f[s>>2];f[t+4>>2]=f[s+4>>2];f[t+8>>2]=f[s+8>>2];f[t+12>>2]=f[s+12>>2];f[t+16>>2]=f[s+16>>2];f[t+20>>2]=f[s+20>>2];f[t+24>>2]=f[s+24>>2];f[t+28>>2]=f[s+28>>2];s=r+96|0;r=o+(q<<5)|0;f[r>>2]=f[s>>2];f[r+4>>2]=f[s+4>>2];f[r+8>>2]=f[s+8>>2];f[r+12>>2]=f[s+12>>2];f[r+16>>2]=f[s+16>>2];f[r+20>>2]=f[s+20>>2];f[r+24>>2]=f[s+24>>2];f[r+28>>2]=f[s+28>>2];q=q+1|0}while((q|0)!=(h|0));k=k+4|0}while((k|0)<=(e|0))}i=g&-4;break}k=h&-4;q=(k|0)<(h|0);o=0;do{n=c+(X(o,d)|0)|0;m=c+(X(o|1,d)|0)|0;l=c+(X(o|2,d)|0)|0;p=c+(X(o|3,d)|0)|0;s=a+(o<<5)|0;r=0;do{t=s+(X(r,b)|0)|0;u=r|1;v=s+(X(u,b)|0)|0;w=r|2;x=s+(X(w,b)|0)|0;y=r|3;z=s+(X(y,b)|0)|0;A=n+(r<<5)|0;f[A>>2]=f[t>>2];f[A+4>>2]=f[t+4>>2];f[A+8>>2]=f[t+8>>2];f[A+12>>2]=f[t+12>>2];f[A+16>>2]=f[t+16>>2];f[A+20>>2]=f[t+20>>2];f[A+24>>2]=f[t+24>>2];f[A+28>>2]=f[t+28>>2];A=n+(u<<5)|0;f[A>>2]=f[v>>2];f[A+4>>2]=f[v+4>>2];f[A+8>>2]=f[v+8>>2];f[A+12>>2]=f[v+12>>2];f[A+16>>2]=f[v+16>>2];f[A+20>>2]=f[v+20>>2];f[A+24>>2]=f[v+24>>2];f[A+28>>2]=f[v+28>>2];A=n+(w<<5)|0;f[A>>2]=f[x>>2];f[A+4>>2]=f[x+4>>2];f[A+8>>2]=f[x+8>>2];f[A+12>>2]=f[x+12>>2];f[A+16>>2]=f[x+16>>2];f[A+20>>2]=f[x+20>>2];f[A+24>>2]=f[x+24>>2];f[A+28>>2]=f[x+28>>2];A=n+(y<<5)|0;f[A>>2]=f[z>>2];f[A+4>>2]=f[z+4>>2];f[A+8>>2]=f[z+8>>2];f[A+12>>2]=f[z+12>>2];f[A+16>>2]=f[z+16>>2];f[A+20>>2]=f[z+20>>2];f[A+24>>2]=f[z+24>>2];f[A+28>>2]=f[z+28>>2];A=t+32|0;B=m+(r<<5)|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];f[B+8>>2]=f[A+8>>2];f[B+12>>2]=f[A+12>>2];f[B+16>>2]=f[A+16>>2];f[B+20>>2]=f[A+20>>2];f[B+24>>2]=f[A+24>>2];f[B+28>>2]=f[A+28>>2];A=v+32|0;B=m+(u<<5)|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];f[B+8>>2]=f[A+8>>2];f[B+12>>2]=f[A+12>>2];f[B+16>>2]=f[A+16>>2];f[B+20>>2]=f[A+20>>2];f[B+24>>2]=f[A+24>>2];f[B+28>>2]=f[A+28>>2];A=x+32|0;B=m+(w<<5)|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];f[B+8>>2]=f[A+8>>2];f[B+12>>2]=f[A+12>>2];f[B+16>>2]=f[A+16>>2];f[B+20>>2]=f[A+20>>2];f[B+24>>2]=f[A+24>>2];f[B+28>>2]=f[A+28>>2];A=z+32|0;B=m+(y<<5)|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];f[B+8>>2]=f[A+8>>2];f[B+12>>2]=f[A+12>>2];f[B+16>>2]=f[A+16>>2];f[B+20>>2]=f[A+20>>2];f[B+24>>2]=f[A+24>>2];f[B+28>>2]=f[A+28>>2];A=t+64|0;B=l+(r<<5)|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];f[B+8>>2]=f[A+8>>2];f[B+12>>2]=f[A+12>>2];f[B+16>>2]=f[A+16>>2];f[B+20>>2]=f[A+20>>2];f[B+24>>2]=f[A+24>>2];f[B+28>>2]=f[A+28>>2];A=v+64|0;B=l+(u<<5)|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];f[B+8>>2]=f[A+8>>2];f[B+12>>2]=f[A+12>>2];f[B+16>>2]=f[A+16>>2];f[B+20>>2]=f[A+20>>2];f[B+24>>2]=f[A+24>>2];f[B+28>>2]=f[A+28>>2];A=x+64|0;B=l+(w<<5)|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];f[B+8>>2]=f[A+8>>2];f[B+12>>2]=f[A+12>>2];f[B+16>>2]=f[A+16>>2];f[B+20>>2]=f[A+20>>2];f[B+24>>2]=f[A+24>>2];f[B+28>>2]=f[A+28>>2];A=z+64|0;B=l+(y<<5)|0;f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];f[B+8>>2]=f[A+8>>2];f[B+12>>2]=f[A+12>>2];f[B+16>>2]=f[A+16>>2];f[B+20>>2]=f[A+20>>2];f[B+24>>2]=f[A+24>>2];f[B+28>>2]=f[A+28>>2];A=t+96|0;t=p+(r<<5)|0;f[t>>2]=f[A>>2];f[t+4>>2]=f[A+4>>2];f[t+8>>2]=f[A+8>>2];f[t+12>>2]=f[A+12>>2];f[t+16>>2]=f[A+16>>2];f[t+20>>2]=f[A+20>>2];f[t+24>>2]=f[A+24>>2];f[t+28>>2]=f[A+28>>2];A=v+96|0;v=p+(u<<5)|0;f[v>>2]=f[A>>2];f[v+4>>2]=f[A+4>>2];f[v+8>>2]=f[A+8>>2];f[v+12>>2]=f[A+12>>2];f[v+16>>2]=f[A+16>>2];f[v+20>>2]=f[A+20>>2];f[v+24>>2]=f[A+24>>2];f[v+28>>2]=f[A+28>>2];A=x+96|0;x=p+(w<<5)|0;f[x>>2]=f[A>>2];f[x+4>>2]=f[A+4>>2];f[x+8>>2]=f[A+8>>2];f[x+12>>2]=f[A+12>>2];f[x+16>>2]=f[A+16>>2];f[x+20>>2]=f[A+20>>2];f[x+24>>2]=f[A+24>>2];f[x+28>>2]=f[A+28>>2];A=z+96|0;z=p+(y<<5)|0;f[z>>2]=f[A>>2];f[z+4>>2]=f[A+4>>2];f[z+8>>2]=f[A+8>>2];f[z+12>>2]=f[A+12>>2];f[z+16>>2]=f[A+16>>2];f[z+20>>2]=f[A+20>>2];f[z+24>>2]=f[A+24>>2];f[z+28>>2]=f[A+28>>2];r=r+4|0}while((r|0)<=(j|0));if(q){r=k;do{A=s+(X(r,b)|0)|0;z=n+(r<<5)|0;f[z>>2]=f[A>>2];f[z+4>>2]=f[A+4>>2];f[z+8>>2]=f[A+8>>2];f[z+12>>2]=f[A+12>>2];f[z+16>>2]=f[A+16>>2];f[z+20>>2]=f[A+20>>2];f[z+24>>2]=f[A+24>>2];f[z+28>>2]=f[A+28>>2];z=A+32|0;y=m+(r<<5)|0;f[y>>2]=f[z>>2];f[y+4>>2]=f[z+4>>2];f[y+8>>2]=f[z+8>>2];f[y+12>>2]=f[z+12>>2];f[y+16>>2]=f[z+16>>2];f[y+20>>2]=f[z+20>>2];f[y+24>>2]=f[z+24>>2];f[y+28>>2]=f[z+28>>2];z=A+64|0;y=l+(r<<5)|0;f[y>>2]=f[z>>2];f[y+4>>2]=f[z+4>>2];f[y+8>>2]=f[z+8>>2];f[y+12>>2]=f[z+12>>2];f[y+16>>2]=f[z+16>>2];f[y+20>>2]=f[z+20>>2];f[y+24>>2]=f[z+24>>2];f[y+28>>2]=f[z+28>>2];z=A+96|0;A=p+(r<<5)|0;f[A>>2]=f[z>>2];f[A+4>>2]=f[z+4>>2];f[A+8>>2]=f[z+8>>2];f[A+12>>2]=f[z+12>>2];f[A+16>>2]=f[z+16>>2];f[A+20>>2]=f[z+20>>2];f[A+24>>2]=f[z+24>>2];f[A+28>>2]=f[z+28>>2];r=r+1|0}while((r|0)!=(h|0))}o=o+4|0}while((o|0)<=(e|0));i=g&-4}while(0);if((i|0)>=(g|0))return;e=h+-4|0;if((h|0)<4){if((h|0)>0)C=i;else return;do{o=c+(X(C,d)|0)|0;k=a+(C<<5)|0;q=0;do{j=k+(X(q,b)|0)|0;r=o+(q<<5)|0;f[r>>2]=f[j>>2];f[r+4>>2]=f[j+4>>2];f[r+8>>2]=f[j+8>>2];f[r+12>>2]=f[j+12>>2];f[r+16>>2]=f[j+16>>2];f[r+20>>2]=f[j+20>>2];f[r+24>>2]=f[j+24>>2];f[r+28>>2]=f[j+28>>2];q=q+1|0}while((q|0)!=(h|0));C=C+1|0}while((C|0)!=(g|0));return}C=h&-4;if((C|0)<(h|0))D=i;else{q=i;do{i=c+(X(q,d)|0)|0;o=a+(q<<5)|0;k=0;do{j=o+(X(k,b)|0)|0;r=k|1;p=o+(X(r,b)|0)|0;l=k|2;m=o+(X(l,b)|0)|0;n=k|3;s=o+(X(n,b)|0)|0;z=i+(k<<5)|0;f[z>>2]=f[j>>2];f[z+4>>2]=f[j+4>>2];f[z+8>>2]=f[j+8>>2];f[z+12>>2]=f[j+12>>2];f[z+16>>2]=f[j+16>>2];f[z+20>>2]=f[j+20>>2];f[z+24>>2]=f[j+24>>2];f[z+28>>2]=f[j+28>>2];j=i+(r<<5)|0;f[j>>2]=f[p>>2];f[j+4>>2]=f[p+4>>2];f[j+8>>2]=f[p+8>>2];f[j+12>>2]=f[p+12>>2];f[j+16>>2]=f[p+16>>2];f[j+20>>2]=f[p+20>>2];f[j+24>>2]=f[p+24>>2];f[j+28>>2]=f[p+28>>2];p=i+(l<<5)|0;f[p>>2]=f[m>>2];f[p+4>>2]=f[m+4>>2];f[p+8>>2]=f[m+8>>2];f[p+12>>2]=f[m+12>>2];f[p+16>>2]=f[m+16>>2];f[p+20>>2]=f[m+20>>2];f[p+24>>2]=f[m+24>>2];f[p+28>>2]=f[m+28>>2];m=i+(n<<5)|0;f[m>>2]=f[s>>2];f[m+4>>2]=f[s+4>>2];f[m+8>>2]=f[s+8>>2];f[m+12>>2]=f[s+12>>2];f[m+16>>2]=f[s+16>>2];f[m+20>>2]=f[s+20>>2];f[m+24>>2]=f[s+24>>2];f[m+28>>2]=f[s+28>>2];k=k+4|0}while((k|0)<=(e|0));q=q+1|0}while((q|0)!=(g|0));return}do{q=c+(X(D,d)|0)|0;k=a+(D<<5)|0;i=0;do{o=k+(X(i,b)|0)|0;s=i|1;m=k+(X(s,b)|0)|0;n=i|2;p=k+(X(n,b)|0)|0;l=i|3;j=k+(X(l,b)|0)|0;r=q+(i<<5)|0;f[r>>2]=f[o>>2];f[r+4>>2]=f[o+4>>2];f[r+8>>2]=f[o+8>>2];f[r+12>>2]=f[o+12>>2];f[r+16>>2]=f[o+16>>2];f[r+20>>2]=f[o+20>>2];f[r+24>>2]=f[o+24>>2];f[r+28>>2]=f[o+28>>2];o=q+(s<<5)|0;f[o>>2]=f[m>>2];f[o+4>>2]=f[m+4>>2];f[o+8>>2]=f[m+8>>2];f[o+12>>2]=f[m+12>>2];f[o+16>>2]=f[m+16>>2];f[o+20>>2]=f[m+20>>2];f[o+24>>2]=f[m+24>>2];f[o+28>>2]=f[m+28>>2];m=q+(n<<5)|0;f[m>>2]=f[p>>2];f[m+4>>2]=f[p+4>>2];f[m+8>>2]=f[p+8>>2];f[m+12>>2]=f[p+12>>2];f[m+16>>2]=f[p+16>>2];f[m+20>>2]=f[p+20>>2];f[m+24>>2]=f[p+24>>2];f[m+28>>2]=f[p+28>>2];p=q+(l<<5)|0;f[p>>2]=f[j>>2];f[p+4>>2]=f[j+4>>2];f[p+8>>2]=f[j+8>>2];f[p+12>>2]=f[j+12>>2];f[p+16>>2]=f[j+16>>2];f[p+20>>2]=f[j+20>>2];f[p+24>>2]=f[j+24>>2];f[p+28>>2]=f[j+28>>2];i=i+4|0}while((i|0)<=(e|0));E=C;do{i=k+(X(E,b)|0)|0;j=q+(E<<5)|0;f[j>>2]=f[i>>2];f[j+4>>2]=f[i+4>>2];f[j+8>>2]=f[i+8>>2];f[j+12>>2]=f[i+12>>2];f[j+16>>2]=f[i+16>>2];f[j+20>>2]=f[i+20>>2];f[j+24>>2]=f[i+24>>2];f[j+28>>2]=f[i+28>>2];E=E+1|0}while((E|0)!=(h|0));D=D+1|0}while((D|0)!=(g|0));return}function OD(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((d|0)>0)e=0;else return;do{f=a+(X(e,c)|0)|0;g=a+e|0;e=e+1|0;if((e|0)<(d|0)){h=e;do{i=f+h|0;j=g+(X(h,c)|0)|0;k=b[i>>0]|0;b[i>>0]=b[j>>0]|0;b[j>>0]=k;h=h+1|0}while((h|0)!=(d|0))}}while((e|0)!=(d|0));return}function PD(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((c|0)>0)e=0;else return;do{f=a+(X(e,b)|0)|0;g=a+(e<<1)|0;e=e+1|0;if((e|0)<(c|0)){h=e;do{i=f+(h<<1)|0;j=g+(X(h,b)|0)|0;k=d[i>>1]|0;d[i>>1]=d[j>>1]|0;d[j>>1]=k;h=h+1|0}while((h|0)!=(c|0))}}while((e|0)!=(c|0));return}function QD(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if((d|0)>0)e=0;else return;do{f=a+(X(e,c)|0)|0;g=a+(e*3|0)|0;e=e+1|0;if((e|0)<(d|0)){h=e;do{i=g+(X(h,c)|0)|0;j=f+(h*3|0)|0;k=b[j>>0]|0;l=b[f+(h*3|0)+1>>0]|0;m=b[f+(h*3|0)+2>>0]|0;b[j>>0]=b[i>>0]|0;b[j+1>>0]=b[i+1>>0]|0;b[j+2>>0]=b[i+2>>0]|0;b[i>>0]=k;b[i+1>>0]=l;b[i+2>>0]=m;h=h+1|0}while((h|0)!=(d|0))}}while((e|0)!=(d|0));return}function RD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;if((c|0)>0)d=0;else return;do{e=a+(X(d,b)|0)|0;g=a+(d<<2)|0;d=d+1|0;if((d|0)<(c|0)){h=d;do{i=e+(h<<2)|0;j=g+(X(h,b)|0)|0;k=f[i>>2]|0;f[i>>2]=f[j>>2];f[j>>2]=k;h=h+1|0}while((h|0)!=(c|0))}}while((d|0)!=(c|0));return}function SD(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if((c|0)>0)e=0;else return;do{f=a+(X(e,b)|0)|0;g=a+(e*6|0)|0;e=e+1|0;if((e|0)<(c|0)){h=e;do{i=f+(h*6|0)|0;j=g+(X(h,b)|0)|0;k=d[i>>1]|0;l=d[f+(h*6|0)+2>>1]|0;m=d[f+(h*6|0)+4>>1]|0;d[i>>1]=d[j>>1]|0;d[i+2>>1]=d[j+2>>1]|0;d[i+4>>1]=d[j+4>>1]|0;d[j>>1]=k;d[j+2>>1]=l;d[j+4>>1]=m;h=h+1|0}while((h|0)!=(c|0))}}while((e|0)!=(c|0));return}function TD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((c|0)>0)d=0;else return;do{e=a+(X(d,b)|0)|0;g=a+(d<<3)|0;d=d+1|0;if((d|0)<(c|0)){h=d;do{i=e+(h<<3)|0;j=g+(X(h,b)|0)|0;k=f[i>>2]|0;l=f[e+(h<<3)+4>>2]|0;m=j;n=f[m+4>>2]|0;o=i;f[o>>2]=f[m>>2];f[o+4>>2]=n;n=j;f[n>>2]=k;f[n+4>>2]=l;h=h+1|0}while((h|0)!=(c|0))}}while((d|0)!=(c|0));return}function UD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if((c|0)>0)d=0;else return;do{e=a+(X(d,b)|0)|0;g=a+(d*12|0)|0;d=d+1|0;if((d|0)<(c|0)){h=d;do{i=e+(h*12|0)|0;j=g+(X(h,b)|0)|0;k=f[i>>2]|0;l=f[e+(h*12|0)+4>>2]|0;m=f[e+(h*12|0)+8>>2]|0;f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];f[i+8>>2]=f[j+8>>2];f[j>>2]=k;f[j+4>>2]=l;f[j+8>>2]=m;h=h+1|0}while((h|0)!=(c|0))}}while((d|0)!=(c|0));return}function VD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if((c|0)>0)d=0;else return;do{e=a+(X(d,b)|0)|0;g=a+(d<<4)|0;d=d+1|0;if((d|0)<(c|0)){h=d;do{i=e+(h<<4)|0;j=g+(X(h,b)|0)|0;k=f[i>>2]|0;l=f[e+(h<<4)+4>>2]|0;m=f[e+(h<<4)+8>>2]|0;n=f[e+(h<<4)+12>>2]|0;f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];f[i+8>>2]=f[j+8>>2];f[i+12>>2]=f[j+12>>2];f[j>>2]=k;f[j+4>>2]=l;f[j+8>>2]=m;f[j+12>>2]=n;h=h+1|0}while((h|0)!=(c|0))}}while((d|0)!=(c|0));return}function WD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((c|0)>0)d=0;else return;do{e=a+(X(d,b)|0)|0;g=a+(d*24|0)|0;d=d+1|0;if((d|0)<(c|0)){h=d;do{i=e+(h*24|0)|0;j=g+(X(h,b)|0)|0;k=f[i>>2]|0;l=f[e+(h*24|0)+4>>2]|0;m=f[e+(h*24|0)+8>>2]|0;n=f[e+(h*24|0)+12>>2]|0;o=f[e+(h*24|0)+16>>2]|0;p=f[e+(h*24|0)+20>>2]|0;f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];f[i+8>>2]=f[j+8>>2];f[i+12>>2]=f[j+12>>2];f[i+16>>2]=f[j+16>>2];f[i+20>>2]=f[j+20>>2];f[j>>2]=k;f[j+4>>2]=l;f[j+8>>2]=m;f[j+12>>2]=n;f[j+16>>2]=o;f[j+20>>2]=p;h=h+1|0}while((h|0)!=(c|0))}}while((d|0)!=(c|0));return}function XD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((c|0)>0)d=0;else return;do{e=a+(X(d,b)|0)|0;g=a+(d<<5)|0;d=d+1|0;if((d|0)<(c|0)){h=d;do{i=e+(h<<5)|0;j=g+(X(h,b)|0)|0;k=f[i>>2]|0;l=f[e+(h<<5)+4>>2]|0;m=f[e+(h<<5)+8>>2]|0;n=f[e+(h<<5)+12>>2]|0;o=f[e+(h<<5)+16>>2]|0;p=f[e+(h<<5)+20>>2]|0;q=f[e+(h<<5)+24>>2]|0;r=f[e+(h<<5)+28>>2]|0;f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];f[i+8>>2]=f[j+8>>2];f[i+12>>2]=f[j+12>>2];f[i+16>>2]=f[j+16>>2];f[i+20>>2]=f[j+20>>2];f[i+24>>2]=f[j+24>>2];f[i+28>>2]=f[j+28>>2];f[j>>2]=k;f[j+4>>2]=l;f[j+8>>2]=m;f[j+12>>2]=n;f[j+16>>2]=o;f[j+20>>2]=p;f[j+24>>2]=q;f[j+28>>2]=r;h=h+1|0}while((h|0)!=(c|0))}}while((d|0)!=(c|0));return}function YD(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;d=u;u=u+80|0;e=d+64|0;g=d+8|0;h=d;yV(e,29160);do if((HJ(a)|0)==65536){i=f[a+4>>2]|0;f[g>>2]=f[i>>2];j=g+4|0;k=i+4|0;f[j>>2]=f[k>>2];l=g+8|0;f[l>>2]=f[i+8>>2];f[g+12>>2]=f[i+12>>2];f[g+16>>2]=f[i+16>>2];f[g+20>>2]=f[i+20>>2];f[g+24>>2]=f[i+24>>2];f[g+28>>2]=f[i+28>>2];f[g+32>>2]=f[i+32>>2];m=f[i+36>>2]|0;f[g+36>>2]=m;f[g+40>>2]=l;l=g+48|0;n=g+44|0;f[n>>2]=l;f[l>>2]=0;f[g+52>>2]=0;if(m|0){o=m+12|0;f[o>>2]=(f[o>>2]|0)+1}if((f[k>>2]|0)<3){k=f[i+44>>2]|0;o=f[n>>2]|0;f[o>>2]=f[k>>2];f[o+4>>2]=f[k+4>>2];p=l;q=j;break}else{f[j>>2]=0;WO(g,i);p=l;q=j;break}}else{DJ(g,a,-1);p=g+48|0;q=g+4|0}while(0);a=f[p>>2]|0;j=f[q>>2]|0;if((j|0)>0){l=f[(f[g+44>>2]|0)+(j+-1<<2)>>2]|0;if((j|0)<3){r=l;s=10}else{t=l;s=11}}else{r=0;s=10}if((s|0)==10){l=f[g+8>>2]|0;if((l|0)==(f[g+12>>2]|0)){v=l;w=r}else{t=r;s=11}}if((s|0)==11){f[h>>2]=0;f[h+4>>2]=0;s=JV(h,31)|0;r=144180;l=s+31|0;do{b[s>>0]=b[r>>0]|0;s=s+1|0;r=r+1|0}while((s|0)<(l|0));EP(-215,h,144212,143521,547);KV(h);v=f[g+8>>2]|0;w=t}t=g+16|0;h=f[t>>2]|0;r=g+44|0;if((v|0)>0)if(c){c=0;do{s=c;c=c+1|0;if((c|0)<(v|0)){l=X(s,a)|0;j=X(s,w)|0;s=c;do{DVa(h+((X(s,w)|0)+l)|0,h+((X(s,a)|0)+j)|0,w|0)|0;s=s+1|0}while((s|0)!=(v|0))}}while((c|0)!=(v|0))}else{c=0;do{if((c|0)>0){s=X(c,a)|0;j=X(c,w)|0;l=0;do{DVa(h+((X(l,w)|0)+s)|0,h+((X(l,a)|0)+j)|0,w|0)|0;l=l+1|0}while((l|0)!=(c|0))}c=c+1|0}while((c|0)!=(v|0))}v=g+36|0;c=f[v>>2]|0;if(c|0?(w=c+12|0,c=f[w>>2]|0,f[w>>2]=c+-1,(c|0)==1):0)XO(g);f[v>>2]=0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;if((f[q>>2]|0)>0){t=f[g+40>>2]|0;g=0;do{f[t+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[q>>2]|0))}q=f[r>>2]|0;if((q|0)!=(p|0))dX(q);if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function ZD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;d=u;u=u+64|0;e=d+56|0;g=d;do if((HJ(c)|0)==65536){h=f[c+4>>2]|0;f[g>>2]=f[h>>2];i=g+4|0;j=h+4|0;f[i>>2]=f[j>>2];k=g+8|0;f[k>>2]=f[h+8>>2];f[g+12>>2]=f[h+12>>2];f[g+16>>2]=f[h+16>>2];f[g+20>>2]=f[h+20>>2];f[g+24>>2]=f[h+24>>2];f[g+28>>2]=f[h+28>>2];f[g+32>>2]=f[h+32>>2];l=f[h+36>>2]|0;f[g+36>>2]=l;f[g+40>>2]=k;k=g+48|0;m=g+44|0;f[m>>2]=k;f[k>>2]=0;f[g+52>>2]=0;if(l|0){k=l+12|0;f[k>>2]=(f[k>>2]|0)+1}if((f[j>>2]|0)<3){j=f[h+44>>2]|0;k=f[m>>2]|0;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];break}else{f[i>>2]=0;WO(g,h);break}}else DJ(g,c,-1);while(0);c=f[b>>2]|0;h=c&4095;if((((f[b+4>>2]|0)<3?(f[g+4>>2]|0)<3:0)?(i=f[b+40>>2]|0,j=f[g+40>>2]|0,(f[i>>2]|0)==(f[j>>2]|0)?(f[i+4>>2]|0)==(f[j+4>>2]|0):0):0)?(h|0)==(f[g>>2]&4095|0):0){j=b+8|0;i=f[j>>2]|0;k=f[b+12>>2]|0;if(!((i|0)==3&(k|0)==1))if((i|0)==1?(X((c>>>3&511)+1|0,k)|0)==3:0){o=j;q=k;r=1}else s=14;else{o=j;q=1;r=3}}else s=14;if((s|0)==14){f[e>>2]=0;f[e+4>>2]=0;DVa(JV(e,133)|0,144275,133)|0;EP(-215,e,144409,143521,567);KV(e);s=b+8|0;o=s;q=f[b+12>>2]|0;r=f[s>>2]|0}f[a>>2]=1124007936;s=a+8|0;j=a+40|0;k=a+4|0;i=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(i|0));f[j>>2]=s;s=a+48|0;f[a+44>>2]=s;f[s>>2]=0;f[a+52>>2]=0;f[e>>2]=r;f[e+4>>2]=q;VO(a,2,e,h);switch(c&7){case 5:{c=f[b+16>>2]|0;h=f[g+16>>2]|0;e=f[a+16>>2]|0;if((f[o>>2]|0)>1){t=(f[b+48>>2]|0)>>>2;v=(f[g+48>>2]|0)>>>2}else{t=1;v=1}q=c+(t<<2)|0;r=h+(v<<1<<2)|0;s=c+(t<<1<<2)|0;t=h+(v<<2)|0;n[e>>2]=+n[q>>2]*+n[r>>2]-+n[s>>2]*+n[t>>2];n[e+4>>2]=+n[s>>2]*+n[h>>2]-+n[c>>2]*+n[r>>2];n[e+8>>2]=+n[c>>2]*+n[t>>2]-+n[q>>2]*+n[h>>2];break}case 6:{h=f[b+16>>2]|0;q=f[g+16>>2]|0;t=f[a+16>>2]|0;if((f[o>>2]|0)>1){w=(f[b+48>>2]|0)>>>3;x=(f[g+48>>2]|0)>>>3}else{w=1;x=1}b=h+(w<<3)|0;o=q+(x<<1<<3)|0;a=h+(w<<1<<3)|0;w=q+(x<<3)|0;p[t>>3]=+p[b>>3]*+p[o>>3]-+p[a>>3]*+p[w>>3];p[t+8>>3]=+p[a>>3]*+p[q>>3]-+p[h>>3]*+p[o>>3];p[t+16>>3]=+p[h>>3]*+p[w>>3]-+p[b>>3]*+p[q>>3];break}default:{}}q=g+36|0;b=f[q>>2]|0;if(b|0?(w=b+12|0,b=f[w>>2]|0,f[w>>2]=b+-1,(b|0)==1):0)XO(g);f[q>>2]=0;q=g+16|0;b=g+4|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;if((f[b>>2]|0)>0){q=f[g+40>>2]|0;w=0;do{f[q+(w<<2)>>2]=0;w=w+1|0}while((w|0)<(f[b>>2]|0))}b=f[g+44>>2]|0;if((b|0)==(g+48|0)){u=d;return}dX(b);u=d;return}function _D(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;h=u;u=u+272|0;i=h+224|0;j=h+216|0;k=h+168|0;l=h+112|0;m=h+56|0;n=h;yV(j,29180);if((RJ(a,-1)|0)>=3){f[i>>2]=0;f[i+4>>2]=0;o=JV(i,16)|0;p=155132;q=o+16|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));EP(-215,i,144415,143521,969);KV(i)}r=GJ(a,-1)|0;s=r&7;t=r&4088;if((g|0)<0)if(uK(c)|0)v=GJ(c,-1)|0;else v=r;else v=g;g=(v|0)>-1?v:r;v=g&7;w=v|t;x=(e|0)==1;if(e>>>0>=4){f[i>>2]=0;f[i+4>>2]=0;o=JV(i,40)|0;p=144422;q=o+40|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));EP(-215,i,144415,143521,979);KV(i)}f[k>>2]=1124007936;y=k+4|0;z=k+8|0;A=k+20|0;B=k+24|0;C=k+28|0;D=k+32|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;f[y+16>>2]=0;f[y+20>>2]=0;f[y+24>>2]=0;f[D>>2]=z;E=k+40|0;F=k+36|0;f[F>>2]=E;f[k+44>>2]=0;f[E>>2]=0;if((HJ(a)|0)==655360){IJ(i,a,-1);E=i+24|0;G=f[E>>2]|0;if(G|0){H=G+8|0;f[H>>2]=(f[H>>2]|0)+1}H=f[B>>2]|0;if(H|0?(G=H+8|0,H=f[G>>2]|0,f[G>>2]=H+-1,(H|0)==1):0)uN(k);if((f[y>>2]|0)>0){H=f[D>>2]|0;D=0;do{f[H+(D<<2)>>2]=0;D=D+1|0;I=f[y>>2]|0}while((D|0)<(I|0));f[B>>2]=0;f[k>>2]=f[i>>2];if((I|0)<3)J=19;else J=21}else{f[B>>2]=0;f[k>>2]=f[i>>2];J=19}if((J|0)==19){I=f[i+4>>2]|0;if((I|0)<3){f[y>>2]=I;f[z>>2]=f[i+8>>2];f[k+12>>2]=f[i+12>>2];z=f[i+36>>2]|0;I=f[F>>2]|0;f[I>>2]=f[z>>2];f[I+4>>2]=f[z+4>>2]}else J=21}if((J|0)==21)sN(k,i);f[k+16>>2]=f[i+16>>2];if(!(f[A>>2]|0))f[A>>2]=f[i+20>>2];f[B>>2]=f[E>>2];f[C>>2]=f[i+28>>2];tN(i)}do if((HJ(a)|0)==65536){C=f[a+4>>2]|0;f[l>>2]=f[C>>2];E=l+4|0;B=C+4|0;f[E>>2]=f[B>>2];A=l+8|0;f[A>>2]=f[C+8>>2];z=l+12|0;f[z>>2]=f[C+12>>2];f[l+16>>2]=f[C+16>>2];f[l+20>>2]=f[C+20>>2];f[l+24>>2]=f[C+24>>2];f[l+28>>2]=f[C+28>>2];f[l+32>>2]=f[C+32>>2];I=f[C+36>>2]|0;f[l+36>>2]=I;f[l+40>>2]=A;F=l+48|0;y=l+44|0;f[y>>2]=F;f[F>>2]=0;f[l+52>>2]=0;if(I|0){F=I+12|0;f[F>>2]=(f[F>>2]|0)+1}if((f[B>>2]|0)<3){B=f[C+44>>2]|0;F=f[y>>2]|0;f[F>>2]=f[B>>2];f[F+4>>2]=f[B+4>>2];K=z;L=A;break}else{f[E>>2]=0;WO(l,C);K=z;L=A;break}}else{DJ(l,a,-1);K=l+12|0;L=l+8|0}while(0);a=(d|0)==0;vK(c,a?1:f[L>>2]|0,a?f[K>>2]|0:1,w,-1,0,0);do if((HJ(c)|0)==65536){w=f[c+4>>2]|0;f[m>>2]=f[w>>2];d=m+4|0;A=w+4|0;f[d>>2]=f[A>>2];z=m+8|0;f[z>>2]=f[w+8>>2];C=m+12|0;f[C>>2]=f[w+12>>2];E=m+16|0;f[E>>2]=f[w+16>>2];B=m+20|0;f[B>>2]=f[w+20>>2];F=m+24|0;f[F>>2]=f[w+24>>2];y=m+28|0;f[y>>2]=f[w+28>>2];I=m+32|0;f[I>>2]=f[w+32>>2];D=m+36|0;H=f[w+36>>2]|0;f[D>>2]=H;f[m+40>>2]=z;G=m+48|0;M=m+44|0;f[M>>2]=G;f[G>>2]=0;f[m+52>>2]=0;if(H|0){G=H+12|0;f[G>>2]=(f[G>>2]|0)+1}if((f[A>>2]|0)<3){A=f[w+44>>2]|0;G=f[M>>2]|0;f[G>>2]=f[A>>2];f[G+4>>2]=f[A+4>>2];N=m;O=d;P=z;Q=C;R=E;S=E;T=B;U=F;V=y;W=I;X=D;Y=D;break}else{f[d>>2]=0;WO(m,w);N=m;O=d;P=z;Q=C;R=E;S=E;T=B;U=F;V=y;W=I;X=D;Y=D;break}}else{DJ(m,c,-1);D=m+16|0;I=m+36|0;N=m;O=m+4|0;P=m+8|0;Q=m+12|0;R=D;S=D;T=m+20|0;U=m+24|0;V=m+28|0;W=m+32|0;X=I;Y=I}while(0);f[n>>2]=f[N>>2];c=n+4|0;I=f[O>>2]|0;f[c>>2]=I;D=n+8|0;f[D>>2]=f[P>>2];y=n+12|0;f[y>>2]=f[Q>>2];F=n+16|0;f[F>>2]=f[S>>2];f[n+20>>2]=f[T>>2];f[n+24>>2]=f[U>>2];f[n+28>>2]=f[V>>2];f[n+32>>2]=f[W>>2];W=n+36|0;V=f[Y>>2]|0;f[W>>2]=V;Y=n+40|0;f[Y>>2]=D;U=n+48|0;T=n+44|0;f[T>>2]=U;f[U>>2]=0;f[n+52>>2]=0;if(!V)Z=I;else{I=V+12|0;f[I>>2]=(f[I>>2]|0)+1;Z=f[O>>2]|0}if((Z|0)<3){Z=f[m+44>>2]|0;I=f[T>>2]|0;f[I>>2]=f[Z>>2];f[I+4>>2]=f[Z+4>>2]}else{f[c>>2]=0;WO(n,m)}do if(x)if(!((g|r)&4)){Z=f[P>>2]|0;I=f[Q>>2]|0;V=t|4;if(((f[c>>2]|0)<3?(f[D>>2]|0)==(Z|0):0)&(f[y>>2]|0)==(I|0)?!((f[F>>2]|0)==0?1:(f[n>>2]&4095|0)!=(V|0)):0){_=4;$=0;break}f[i>>2]=Z;f[i+4>>2]=I;VO(n,2,i,V);_=4;$=0}else{_=v;$=0}else{_=v;$=e}while(0);e=($|0)==0;a:do if(a){if(e){v=(s|0)==0;if(v&(_|0)==4){aa=307;break}y=(_|0)==5;if(v&y){aa=308;break}D=(_|0)==6;if(v&D){aa=309;break}v=(s|0)==2;if(v&y){aa=310;break}if(v&D){aa=311;break}v=(s|0)==3;if(v&y){aa=312;break}if(v&D){aa=313;break}v=(s|0)==5;if(v&y){aa=314;break}if(v&D){aa=315;break}else{ba=(s|0)==6&D?301:0;J=88;break}}switch($|0){case 2:{if(!(_|s)){aa=316;break a}if((s|0)==2&(_|0)==2){aa=317;break a}if((s|0)==3&(_|0)==3){aa=318;break a}if((s|0)==5&(_|0)==5){aa=319;break a}else{ba=(s|0)==6&(_|0)==6?302:0;J=88;break a}break}case 3:{if(!(_|s)){aa=320;break a}if((s|0)==2&(_|0)==2){aa=321;break a}if((s|0)==3&(_|0)==3){aa=322;break a}if((s|0)==5&(_|0)==5){aa=323;break a}else{ba=(s|0)==6&(_|0)==6?303:0;J=88;break a}break}default:{f[i>>2]=0;ca=i+4|0;f[ca>>2]=0;da=JV(i,57)|0;o=da;p=144463;q=o+57|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));EP(-210,i,144415,143521,1111);KV(i)}}}else{if(e){D=(s|0)==0;if(D&(_|0)==4){aa=324;break}v=(_|0)==5;if(D&v){aa=325;break}y=(_|0)==6;if(D&y){aa=326;break}D=(s|0)==2;if(D&v){aa=327;break}if(D&y){aa=328;break}D=(s|0)==3;if(D&v){aa=329;break}if(D&y){aa=330;break}D=(s|0)==5;if(D&v){aa=331;break}if(D&y){aa=332;break}else{ba=(s|0)==6&y?304:0;J=88;break}}switch($|0){case 2:{if(!(_|s)){aa=333;break a}if((s|0)==2&(_|0)==2){aa=334;break a}if((s|0)==3&(_|0)==3){aa=335;break a}if((s|0)==5&(_|0)==5){aa=336;break a}else{ba=(s|0)==6&(_|0)==6?305:0;J=88;break a}break}case 3:{if(!(_|s)){aa=337;break a}if((s|0)==2&(_|0)==2){aa=338;break a}if((s|0)==3&(_|0)==3){aa=339;break a}if((s|0)==5&(_|0)==5){aa=340;break a}else{ba=(s|0)==6&(_|0)==6?306:0;J=88;break a}break}default:{f[i>>2]=0;ca=i+4|0;f[ca>>2]=0;da=JV(i,57)|0;o=da;p=144463;q=o+57|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));EP(-210,i,144415,143521,1111);KV(i)}}}while(0);if((J|0)==88)if(!ba){f[i>>2]=0;ca=i+4|0;f[ca>>2]=0;da=JV(i,57)|0;o=da;p=144463;q=o+57|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));EP(-210,i,144415,143521,1111);KV(i)}else aa=ba;zg[aa&511](l,n);if(x){x=i+8|0;f[x>>2]=0;f[x+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=m;AO(n,i,f[N>>2]&4095,1.0/+((a?f[L>>2]|0:f[K>>2]|0)|0),0.0)}K=f[W>>2]|0;if(K|0?(L=K+12|0,K=f[L>>2]|0,f[L>>2]=K+-1,(K|0)==1):0)XO(n);f[W>>2]=0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;f[F+12>>2]=0;if((f[c>>2]|0)>0){F=f[Y>>2]|0;Y=0;do{f[F+(Y<<2)>>2]=0;Y=Y+1|0}while((Y|0)<(f[c>>2]|0))}c=f[T>>2]|0;if((c|0)!=(U|0))dX(c);c=f[X>>2]|0;if(c|0?(U=c+12|0,c=f[U>>2]|0,f[U>>2]=c+-1,(c|0)==1):0)XO(m);f[X>>2]=0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;f[R+12>>2]=0;if((f[O>>2]|0)>0){R=f[m+40>>2]|0;X=0;do{f[R+(X<<2)>>2]=0;X=X+1|0}while((X|0)<(f[O>>2]|0))}O=f[m+44>>2]|0;if((O|0)!=(m+48|0))dX(O);O=l+36|0;m=f[O>>2]|0;if(m|0?(X=m+12|0,m=f[X>>2]|0,f[X>>2]=m+-1,(m|0)==1):0)XO(l);f[O>>2]=0;O=l+16|0;m=l+4|0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[O+12>>2]=0;if((f[m>>2]|0)>0){O=f[l+40>>2]|0;X=0;do{f[O+(X<<2)>>2]=0;X=X+1|0}while((X|0)<(f[m>>2]|0))}m=f[l+44>>2]|0;if((m|0)!=(l+48|0))dX(m);tN(k);if(!(f[j+4>>2]|0)){u=h;return}u=h;return}function $D(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0,y=0;c=u;u=u+1104|0;d=c;e=f[a+40>>2]|0;g=f[e>>2]|0;h=X(((f[a>>2]|0)>>>3&511)+1|0,f[e+4>>2]|0)|0;e=d+8|0;f[d>>2]=e;i=d+4|0;f[i>>2]=h;if(h>>>0>136){j=FQa(h>>>0>536870911?-1:h<<3)|0;f[d>>2]=j;k=j}else k=e;j=f[b+16>>2]|0;b=f[a+16>>2]|0;l=(f[a+48>>2]|0)>>>3;a=(h|0)>0;if(a){m=0;do{p[k+(m<<3)>>3]=+p[b+(m<<3)>>3];m=m+1|0}while((m|0)!=(h|0))}m=g+-1|0;a:do if(m|0){g=h+-4|0;if((h|0)<4){n=b;o=m;while(1){n=n+(l<<3)|0;if(a){q=0;do{r=k+(q<<3)|0;p[r>>3]=+p[r>>3]+ +p[n+(q<<3)>>3];q=q+1|0}while((q|0)!=(h|0))}o=o+-1|0;if(!o)break a}}o=h&-4;n=(o|0)<(h|0);q=b;r=m;do{q=q+(l<<3)|0;s=0;do{t=k+(s<<3)|0;v=s|1;w=k+(v<<3)|0;x=+p[w>>3]+ +p[q+(v<<3)>>3];p[t>>3]=+p[t>>3]+ +p[q+(s<<3)>>3];p[w>>3]=x;w=s|2;t=k+(w<<3)|0;v=s|3;y=k+(v<<3)|0;x=+p[y>>3]+ +p[q+(v<<3)>>3];p[t>>3]=+p[t>>3]+ +p[q+(w<<3)>>3];p[y>>3]=x;s=s+4|0}while((s|0)<=(g|0));if(n){s=o;do{y=k+(s<<3)|0;p[y>>3]=+p[y>>3]+ +p[q+(s<<3)>>3];s=s+1|0}while((s|0)!=(h|0))}r=r+-1|0}while((r|0)!=0)}while(0);if(a){a=0;do{p[j+(a<<3)>>3]=+p[k+(a<<3)>>3];a=a+1|0}while((a|0)!=(h|0))}if((k|0)==(e|0)){u=c;return}HQa(k);f[d>>2]=e;f[i>>2]=136;u=c;return}function aE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0.0,t=0.0,v=0,w=0,x=0,y=0,z=0.0,A=0.0;c=u;u=u+1104|0;d=c;e=f[a+40>>2]|0;g=f[e>>2]|0;h=X(((f[a>>2]|0)>>>3&511)+1|0,f[e+4>>2]|0)|0;e=d+8|0;f[d>>2]=e;i=d+4|0;f[i>>2]=h;if(h>>>0>136){j=FQa(h>>>0>536870911?-1:h<<3)|0;f[d>>2]=j;k=j}else k=e;j=f[b+16>>2]|0;b=f[a+16>>2]|0;l=(f[a+48>>2]|0)>>>3;a=(h|0)>0;if(a){m=0;do{p[k+(m<<3)>>3]=+p[b+(m<<3)>>3];m=m+1|0}while((m|0)!=(h|0))}m=g+-1|0;a:do if(m|0){g=h+-4|0;if((h|0)<4){n=b;o=m;while(1){n=n+(l<<3)|0;if(a){q=0;do{r=k+(q<<3)|0;s=+p[r>>3];t=+p[n+(q<<3)>>3];p[r>>3]=s>3];t=+p[q+(v<<3)>>3];x=v|1;y=k+(x<<3)|0;z=+p[y>>3];A=+p[q+(x<<3)>>3];p[w>>3]=s>3]=z>3];A=+p[q+(y<<3)>>3];y=v|3;x=k+(y<<3)|0;s=+p[x>>3];t=+p[q+(y<<3)>>3];p[w>>3]=z>3]=s>3];t=+p[q+(v<<3)>>3];p[x>>3]=s>3]=+p[k+(a<<3)>>3];a=a+1|0}while((a|0)!=(h|0))}if((k|0)==(e|0)){u=c;return}HQa(k);f[d>>2]=e;f[i>>2]=136;u=c;return}function bE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0.0,t=0.0,v=0,w=0,x=0,y=0,z=0.0,A=0.0;c=u;u=u+1104|0;d=c;e=f[a+40>>2]|0;g=f[e>>2]|0;h=X(((f[a>>2]|0)>>>3&511)+1|0,f[e+4>>2]|0)|0;e=d+8|0;f[d>>2]=e;i=d+4|0;f[i>>2]=h;if(h>>>0>136){j=FQa(h>>>0>536870911?-1:h<<3)|0;f[d>>2]=j;k=j}else k=e;j=f[b+16>>2]|0;b=f[a+16>>2]|0;l=(f[a+48>>2]|0)>>>3;a=(h|0)>0;if(a){m=0;do{p[k+(m<<3)>>3]=+p[b+(m<<3)>>3];m=m+1|0}while((m|0)!=(h|0))}m=g+-1|0;a:do if(m|0){g=h+-4|0;if((h|0)<4){n=b;o=m;while(1){n=n+(l<<3)|0;if(a){q=0;do{r=k+(q<<3)|0;s=+p[r>>3];t=+p[n+(q<<3)>>3];p[r>>3]=t>3];t=+p[q+(v<<3)>>3];x=v|1;y=k+(x<<3)|0;z=+p[y>>3];A=+p[q+(x<<3)>>3];p[w>>3]=t>3]=A>3];A=+p[q+(y<<3)>>3];y=v|3;x=k+(y<<3)|0;s=+p[x>>3];t=+p[q+(y<<3)>>3];p[w>>3]=A>3]=t>3];t=+p[q+(v<<3)>>3];p[x>>3]=t>3]=+p[k+(a<<3)>>3];a=a+1|0}while((a|0)!=(h|0))}if((k|0)==(e|0)){u=c;return}HQa(k);f[d>>2]=e;f[i>>2]=136;u=c;return}function cE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0,y=0.0,z=0.0,A=0,B=0.0;c=f[a+40>>2]|0;d=f[c>>2]|0;e=((f[a>>2]|0)>>>3&511)+1|0;g=X(e,f[c+4>>2]|0)|0;if((d|0)<=0)return;c=f[a+16>>2]|0;h=f[f[a+44>>2]>>2]|0;a=f[b+16>>2]|0;i=f[f[b+44>>2]>>2]|0;b=(g|0)==(e|0);j=e<<1;k=e<<2;l=g-k|0;m=(j|0)>(l|0);n=e*3|0;o=(j|0)<(g|0);q=0;do{r=c+(X(h,q)|0)|0;s=a+(X(i,q)|0)|0;a:do if(b){t=0;do{p[s+(t<<3)>>3]=+p[r+(t<<3)>>3];t=t+1|0}while((t|0)!=(e|0))}else{if(m){t=0;while(1){u=+p[r+(t<<3)>>3];v=+p[r+(t+e<<3)>>3];if(o){w=u;x=j;while(1){y=w+ +p[r+(x+t<<3)>>3];x=x+e|0;if((x|0)>=(g|0)){z=y;break}else w=y}}else z=u;p[s+(t<<3)>>3]=v+z;t=t+1|0;if((t|0)==(e|0))break a}}else A=0;do{w=+p[r+(A+e<<3)>>3];y=+p[r+(A<<3)>>3];t=j;do{x=t+A|0;y=y+ +p[r+(x<<3)>>3]+ +p[r+(x+j<<3)>>3];w=w+ +p[r+(x+e<<3)>>3]+ +p[r+(x+n<<3)>>3];t=t+k|0}while((t|0)<=(l|0));if((t|0)<(g|0)){v=y;x=t;while(1){u=v+ +p[r+(x+A<<3)>>3];x=x+e|0;if((x|0)>=(g|0)){B=u;break}else v=u}}else B=y;p[s+(A<<3)>>3]=w+B;A=A+1|0}while((A|0)!=(e|0))}while(0);q=q+1|0}while((q|0)!=(d|0));return}function dE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0.0,D=0.0,E=0.0;c=f[a+40>>2]|0;d=f[c>>2]|0;e=((f[a>>2]|0)>>>3&511)+1|0;g=X(e,f[c+4>>2]|0)|0;if((d|0)<=0)return;c=f[a+16>>2]|0;h=f[f[a+44>>2]>>2]|0;a=f[b+16>>2]|0;i=f[f[b+44>>2]>>2]|0;b=(g|0)==(e|0);j=e<<1;k=e<<2;l=g-k|0;m=(j|0)>(l|0);n=e*3|0;o=(j|0)<(g|0);q=0;do{r=c+(X(h,q)|0)|0;s=a+(X(i,q)|0)|0;a:do if(b){t=0;do{p[s+(t<<3)>>3]=+p[r+(t<<3)>>3];t=t+1|0}while((t|0)!=(e|0))}else{if(m){t=0;while(1){u=+p[r+(t<<3)>>3];v=+p[r+(t+e<<3)>>3];if(o){w=j;x=u;while(1){y=+p[r+(w+t<<3)>>3];z=x=(g|0)){A=z;break}else x=z}}else A=u;p[s+(t<<3)>>3]=A>3];z=+p[r+(B<<3)>>3];t=j;do{w=t+B|0;y=+p[r+(w<<3)>>3];C=z>3];D=x>3];z=C>3];x=D>3];D=v=(g|0)){E=D;break}else v=D}}else E=z;p[s+(B<<3)>>3]=E>2]|0;d=f[c>>2]|0;e=((f[a>>2]|0)>>>3&511)+1|0;g=X(e,f[c+4>>2]|0)|0;if((d|0)<=0)return;c=f[a+16>>2]|0;h=f[f[a+44>>2]>>2]|0;a=f[b+16>>2]|0;i=f[f[b+44>>2]>>2]|0;b=(g|0)==(e|0);j=e<<1;k=e<<2;l=g-k|0;m=(j|0)>(l|0);n=e*3|0;o=(j|0)<(g|0);q=0;do{r=c+(X(h,q)|0)|0;s=a+(X(i,q)|0)|0;a:do if(b){t=0;do{p[s+(t<<3)>>3]=+p[r+(t<<3)>>3];t=t+1|0}while((t|0)!=(e|0))}else{if(m){t=0;while(1){u=+p[r+(t<<3)>>3];v=+p[r+(t+e<<3)>>3];if(o){w=j;x=u;while(1){y=+p[r+(w+t<<3)>>3];z=y=(g|0)){A=z;break}else x=z}}else A=u;p[s+(t<<3)>>3]=v>3];z=+p[r+(B<<3)>>3];t=j;do{w=t+B|0;y=+p[r+(w<<3)>>3];C=y>3];D=y>3];z=y>3];x=C>3];D=u=(g|0)){E=D;break}else v=D}}else E=z;p[s+(B<<3)>>3]=x>2]|0;d=f[c>>2]|0;e=((f[a>>2]|0)>>>3&511)+1|0;g=X(e,f[c+4>>2]|0)|0;if((d|0)<=0)return;c=f[a+16>>2]|0;h=f[f[a+44>>2]>>2]|0;a=f[b+16>>2]|0;i=f[f[b+44>>2]>>2]|0;b=(g|0)==(e|0);j=e<<1;k=e<<2;l=g-k|0;m=(j|0)>(l|0);o=e*3|0;p=(j|0)<(g|0);q=0;do{r=c+(X(h,q)|0)|0;s=a+(X(i,q)|0)|0;a:do if(b){t=0;do{f[s+(t<<2)>>2]=f[r+(t<<2)>>2];t=t+1|0}while((t|0)!=(e|0))}else{if(m){t=0;while(1){u=+n[r+(t<<2)>>2];v=+n[r+(t+e<<2)>>2];if(p){w=j;x=u;while(1){y=+n[r+(w+t<<2)>>2];z=y=(g|0)){A=z;break}else x=z}}else A=u;n[s+(t<<2)>>2]=v>2];z=+n[r+(B<<2)>>2];t=j;do{w=t+B|0;y=+n[r+(w<<2)>>2];C=y>2];D=y>2];z=y>2];x=C>2];D=u=(g|0)){E=D;break}else v=D}}else E=z;n[s+(B<<2)>>2]=x>2]|0;e=f[c>>2]|0;g=((f[a>>2]|0)>>>3&511)+1|0;h=X(g,f[c+4>>2]|0)|0;if((e|0)<=0)return;c=f[a+16>>2]|0;i=f[f[a+44>>2]>>2]|0;a=f[b+16>>2]|0;j=f[f[b+44>>2]>>2]|0;b=(h|0)==(g|0);k=g<<1;l=g<<2;m=h-l|0;n=(k|0)>(m|0);o=g*3|0;p=(k|0)<(h|0);q=0;do{r=c+(X(i,q)|0)|0;s=a+(X(j,q)|0)|0;a:do if(b){t=0;do{d[s+(t<<1)>>1]=d[r+(t<<1)>>1]|0;t=t+1|0}while((t|0)!=(g|0))}else{if(n){t=0;while(1){u=d[r+(t<<1)>>1]|0;v=d[r+(t+g<<1)>>1]|0;if(p){w=k;x=u;while(1){y=d[r+(w+t<<1)>>1]|0;z=y<<16>>16>16?y:x;w=w+g|0;if((w|0)>=(h|0)){A=z;break}else x=z}}else A=u;d[s+(t<<1)>>1]=v<<16>>16>16?v:A;t=t+1|0;if((t|0)==(g|0))break a}}else B=0;do{t=d[r+(B+g<<1)>>1]|0;x=d[r+(B<<1)>>1]|0;w=k;do{z=w+B|0;y=d[r+(z<<1)>>1]|0;C=y<<16>>16>16?y:x;y=d[r+(z+g<<1)>>1]|0;D=y<<16>>16>16?y:t;y=d[r+(z+k<<1)>>1]|0;x=y<<16>>16>16?y:C;C=d[r+(z+o<<1)>>1]|0;t=C<<16>>16>16?C:D;w=w+l|0}while((w|0)<=(m|0));if((w|0)<(h|0)){v=w;u=x;while(1){D=d[r+(v+B<<1)>>1]|0;C=D<<16>>16>16?D:u;v=v+g|0;if((v|0)>=(h|0)){E=C;break}else u=C}}else E=x;d[s+(B<<1)>>1]=t<<16>>16>16?t:E;B=B+1|0}while((B|0)!=(g|0))}while(0);q=q+1|0}while((q|0)!=(e|0));return}function hE(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;c=f[a+40>>2]|0;e=f[c>>2]|0;g=((f[a>>2]|0)>>>3&511)+1|0;h=X(g,f[c+4>>2]|0)|0;if((e|0)<=0)return;c=f[a+16>>2]|0;i=f[f[a+44>>2]>>2]|0;a=f[b+16>>2]|0;j=f[f[b+44>>2]>>2]|0;b=(h|0)==(g|0);k=g<<1;l=g<<2;m=h-l|0;n=(k|0)>(m|0);o=g*3|0;p=(k|0)<(h|0);q=0;do{r=c+(X(i,q)|0)|0;s=a+(X(j,q)|0)|0;a:do if(b){t=0;do{d[s+(t<<1)>>1]=d[r+(t<<1)>>1]|0;t=t+1|0}while((t|0)!=(g|0))}else{if(n){t=0;while(1){u=d[r+(t<<1)>>1]|0;v=d[r+(t+g<<1)>>1]|0;if(p){w=k;x=u;while(1){y=d[r+(w+t<<1)>>1]|0;z=(y&65535)<(x&65535)?y:x;w=w+g|0;if((w|0)>=(h|0)){A=z;break}else x=z}}else A=u;d[s+(t<<1)>>1]=(v&65535)<(A&65535)?v:A;t=t+1|0;if((t|0)==(g|0))break a}}else B=0;do{t=d[r+(B+g<<1)>>1]|0;x=d[r+(B<<1)>>1]|0;w=k;do{z=w+B|0;y=d[r+(z<<1)>>1]|0;C=(y&65535)<(x&65535)?y:x;y=d[r+(z+g<<1)>>1]|0;D=(y&65535)<(t&65535)?y:t;y=d[r+(z+k<<1)>>1]|0;x=(y&65535)<(C&65535)?y:C;C=d[r+(z+o<<1)>>1]|0;t=(C&65535)<(D&65535)?C:D;w=w+l|0}while((w|0)<=(m|0));if((w|0)<(h|0)){v=w;u=x;while(1){D=d[r+(v+B<<1)>>1]|0;C=(D&65535)<(u&65535)?D:u;v=v+g|0;if((v|0)>=(h|0)){E=C;break}else u=C}}else E=x;d[s+(B<<1)>>1]=(t&65535)<(E&65535)?t:E;B=B+1|0}while((B|0)!=(g|0))}while(0);q=q+1|0}while((q|0)!=(e|0));return}function iE(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;d=f[a+40>>2]|0;e=f[d>>2]|0;g=((f[a>>2]|0)>>>3&511)+1|0;i=X(g,f[d+4>>2]|0)|0;if((e|0)<=0)return;d=a+16|0;j=a+44|0;a=c+16|0;k=c+44|0;c=(i|0)==(g|0);l=g<<1;m=g<<2;n=i-m|0;o=(l|0)>(n|0);p=g*3|0;q=(l|0)<(i|0);r=0;do{s=(f[d>>2]|0)+(X(f[f[j>>2]>>2]|0,r)|0)|0;t=(f[a>>2]|0)+(X(f[f[k>>2]>>2]|0,r)|0)|0;a:do if(c){u=0;do{b[t+u>>0]=b[s+u>>0]|0;u=u+1|0}while((u|0)!=(g|0))}else{if(o){u=0;while(1){v=b[s+u>>0]|0;w=b[s+(u+g)>>0]|0;if(q){x=v;y=l;while(1){z=x&255;A=z-(h[243744+((z|256)-(h[s+(y+u)>>0]|0))>>0]|0)&255;y=y+g|0;if((y|0)>=(i|0)){B=A;break}else x=A}}else B=v;x=B&255;b[t+u>>0]=x-(h[243744+((x|256)-(w&255))>>0]|0);u=u+1|0;if((u|0)==(g|0))break a}}else C=0;do{u=b[s+(C+g)>>0]|0;x=b[s+C>>0]|0;y=l;while(1){A=y+C|0;z=x&255;D=z-(h[243744+((z|256)-(h[s+A>>0]|0))>>0]|0)|0;z=u&255;E=z-(h[243744+((z|256)-(h[s+(A+g)>>0]|0))>>0]|0)|0;F=D-(h[243744+((D&255|256)-(h[s+(A+l)>>0]|0))>>0]|0)|0;G=E-(h[243744+((E&255|256)-(h[s+(A+p)>>0]|0))>>0]|0)|0;y=y+m|0;if((y|0)>(n|0))break;else{u=G&255;x=F&255}}if((y|0)<(i|0)){x=F;u=y;while(1){w=x&255;v=w-(h[243744+((w|256)-(h[s+(u+C)>>0]|0))>>0]|0)|0;u=u+g|0;if((u|0)>=(i|0)){H=v;break}else x=v}}else H=F;b[t+C>>0]=H-(h[243744+((H&255|256)-(G&255))>>0]|0);C=C+1|0}while((C|0)!=(g|0))}while(0);r=r+1|0}while((r|0)!=(e|0));return}function jE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0.0,D=0.0,E=0.0;c=f[a+40>>2]|0;d=f[c>>2]|0;e=((f[a>>2]|0)>>>3&511)+1|0;g=X(e,f[c+4>>2]|0)|0;if((d|0)<=0)return;c=f[a+16>>2]|0;h=f[f[a+44>>2]>>2]|0;a=f[b+16>>2]|0;i=f[f[b+44>>2]>>2]|0;b=(g|0)==(e|0);j=e<<1;k=e<<2;l=g-k|0;m=(j|0)>(l|0);o=e*3|0;p=(j|0)<(g|0);q=0;do{r=c+(X(h,q)|0)|0;s=a+(X(i,q)|0)|0;a:do if(b){t=0;do{f[s+(t<<2)>>2]=f[r+(t<<2)>>2];t=t+1|0}while((t|0)!=(e|0))}else{if(m){t=0;while(1){u=+n[r+(t<<2)>>2];v=+n[r+(t+e<<2)>>2];if(p){w=j;x=u;while(1){y=+n[r+(w+t<<2)>>2];z=x=(g|0)){A=z;break}else x=z}}else A=u;n[s+(t<<2)>>2]=A>2];z=+n[r+(B<<2)>>2];t=j;do{w=t+B|0;y=+n[r+(w<<2)>>2];C=z>2];D=x>2];z=C>2];x=D>2];D=v=(g|0)){E=D;break}else v=D}}else E=z;n[s+(B<<2)>>2]=E>2]|0;e=f[c>>2]|0;g=((f[a>>2]|0)>>>3&511)+1|0;h=X(g,f[c+4>>2]|0)|0;if((e|0)<=0)return;c=f[a+16>>2]|0;i=f[f[a+44>>2]>>2]|0;a=f[b+16>>2]|0;j=f[f[b+44>>2]>>2]|0;b=(h|0)==(g|0);k=g<<1;l=g<<2;m=h-l|0;n=(k|0)>(m|0);o=g*3|0;p=(k|0)<(h|0);q=0;do{r=c+(X(i,q)|0)|0;s=a+(X(j,q)|0)|0;a:do if(b){t=0;do{d[s+(t<<1)>>1]=d[r+(t<<1)>>1]|0;t=t+1|0}while((t|0)!=(g|0))}else{if(n){t=0;while(1){u=d[r+(t<<1)>>1]|0;v=d[r+(t+g<<1)>>1]|0;if(p){w=k;x=u;while(1){y=d[r+(w+t<<1)>>1]|0;z=x<<16>>16>16?y:x;w=w+g|0;if((w|0)>=(h|0)){A=z;break}else x=z}}else A=u;d[s+(t<<1)>>1]=A<<16>>16>16?v:A;t=t+1|0;if((t|0)==(g|0))break a}}else B=0;do{t=d[r+(B+g<<1)>>1]|0;x=d[r+(B<<1)>>1]|0;w=k;do{z=w+B|0;y=d[r+(z<<1)>>1]|0;C=x<<16>>16>16?y:x;y=d[r+(z+g<<1)>>1]|0;D=t<<16>>16>16?y:t;y=d[r+(z+k<<1)>>1]|0;x=C<<16>>16>16?y:C;C=d[r+(z+o<<1)>>1]|0;t=D<<16>>16>16?C:D;w=w+l|0}while((w|0)<=(m|0));if((w|0)<(h|0)){v=w;u=x;while(1){D=d[r+(v+B<<1)>>1]|0;C=u<<16>>16>16?D:u;v=v+g|0;if((v|0)>=(h|0)){E=C;break}else u=C}}else E=x;d[s+(B<<1)>>1]=E<<16>>16>16?t:E;B=B+1|0}while((B|0)!=(g|0))}while(0);q=q+1|0}while((q|0)!=(e|0));return}function lE(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;c=f[a+40>>2]|0;e=f[c>>2]|0;g=((f[a>>2]|0)>>>3&511)+1|0;h=X(g,f[c+4>>2]|0)|0;if((e|0)<=0)return;c=f[a+16>>2]|0;i=f[f[a+44>>2]>>2]|0;a=f[b+16>>2]|0;j=f[f[b+44>>2]>>2]|0;b=(h|0)==(g|0);k=g<<1;l=g<<2;m=h-l|0;n=(k|0)>(m|0);o=g*3|0;p=(k|0)<(h|0);q=0;do{r=c+(X(i,q)|0)|0;s=a+(X(j,q)|0)|0;a:do if(b){t=0;do{d[s+(t<<1)>>1]=d[r+(t<<1)>>1]|0;t=t+1|0}while((t|0)!=(g|0))}else{if(n){t=0;while(1){u=d[r+(t<<1)>>1]|0;v=d[r+(t+g<<1)>>1]|0;if(p){w=k;x=u;while(1){y=d[r+(w+t<<1)>>1]|0;z=(x&65535)<(y&65535)?y:x;w=w+g|0;if((w|0)>=(h|0)){A=z;break}else x=z}}else A=u;d[s+(t<<1)>>1]=(A&65535)<(v&65535)?v:A;t=t+1|0;if((t|0)==(g|0))break a}}else B=0;do{t=d[r+(B+g<<1)>>1]|0;x=d[r+(B<<1)>>1]|0;w=k;do{z=w+B|0;y=d[r+(z<<1)>>1]|0;C=(x&65535)<(y&65535)?y:x;y=d[r+(z+g<<1)>>1]|0;D=(t&65535)<(y&65535)?y:t;y=d[r+(z+k<<1)>>1]|0;x=(C&65535)<(y&65535)?y:C;C=d[r+(z+o<<1)>>1]|0;t=(D&65535)<(C&65535)?C:D;w=w+l|0}while((w|0)<=(m|0));if((w|0)<(h|0)){v=w;u=x;while(1){D=d[r+(v+B<<1)>>1]|0;C=(u&65535)<(D&65535)?D:u;v=v+g|0;if((v|0)>=(h|0)){E=C;break}else u=C}}else E=x;d[s+(B<<1)>>1]=(E&65535)<(t&65535)?t:E;B=B+1|0}while((B|0)!=(g|0))}while(0);q=q+1|0}while((q|0)!=(e|0));return}function mE(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;d=f[a+40>>2]|0;e=f[d>>2]|0;g=((f[a>>2]|0)>>>3&511)+1|0;i=X(g,f[d+4>>2]|0)|0;if((e|0)<=0)return;d=a+16|0;j=a+44|0;a=c+16|0;k=c+44|0;c=(i|0)==(g|0);l=g<<1;m=g<<2;n=i-m|0;o=(l|0)>(n|0);p=g*3|0;q=(l|0)<(i|0);r=0;do{s=(f[d>>2]|0)+(X(f[f[j>>2]>>2]|0,r)|0)|0;t=(f[a>>2]|0)+(X(f[f[k>>2]>>2]|0,r)|0)|0;a:do if(c){u=0;do{b[t+u>>0]=b[s+u>>0]|0;u=u+1|0}while((u|0)!=(g|0))}else{if(o){u=0;while(1){v=b[s+u>>0]|0;w=b[s+(u+g)>>0]|0;if(q){x=v;y=l;while(1){z=x&255;A=(h[243744+(256-z+(h[s+(y+u)>>0]|0))>>0]|0)+z&255;y=y+g|0;if((y|0)>=(i|0)){B=A;break}else x=A}}else B=v;x=B&255;b[t+u>>0]=(h[243744+((w&255|256)-x)>>0]|0)+x;u=u+1|0;if((u|0)==(g|0))break a}}else C=0;do{u=b[s+(C+g)>>0]|0;x=b[s+C>>0]|0;y=l;while(1){A=y+C|0;z=x&255;D=(h[243744+(256-z+(h[s+A>>0]|0))>>0]|0)+z|0;z=u&255;E=(h[243744+(256-z+(h[s+(A+g)>>0]|0))>>0]|0)+z|0;F=D+(h[243744+(256-(D&255)+(h[s+(A+l)>>0]|0))>>0]|0)|0;G=E+(h[243744+(256-(E&255)+(h[s+(A+p)>>0]|0))>>0]|0)|0;y=y+m|0;if((y|0)>(n|0))break;else{u=G&255;x=F&255}}if((y|0)<(i|0)){x=F;u=y;while(1){w=x&255;v=w+(h[243744+(256-w+(h[s+(u+C)>>0]|0))>>0]|0)|0;u=u+g|0;if((u|0)>=(i|0)){H=v;break}else x=v}}else H=F;b[t+C>>0]=H+(h[243744+((G&255|256)-(H&255))>>0]|0);C=C+1|0}while((C|0)!=(g|0))}while(0);r=r+1|0}while((r|0)!=(e|0));return}function nE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0,z=0.0,A=0.0,B=0,C=0.0;c=f[a+40>>2]|0;d=f[c>>2]|0;e=((f[a>>2]|0)>>>3&511)+1|0;g=X(e,f[c+4>>2]|0)|0;if((d|0)<=0)return;c=f[a+16>>2]|0;h=f[f[a+44>>2]>>2]|0;a=f[b+16>>2]|0;i=f[f[b+44>>2]>>2]|0;b=(g|0)==(e|0);j=e<<1;k=e<<2;l=g-k|0;m=(j|0)>(l|0);o=e*3|0;q=(j|0)<(g|0);r=0;do{s=c+(X(h,r)|0)|0;t=a+(X(i,r)|0)|0;a:do if(b){u=0;do{p[t+(u<<3)>>3]=+n[s+(u<<2)>>2];u=u+1|0}while((u|0)!=(e|0))}else{if(m){u=0;while(1){v=+n[s+(u<<2)>>2];w=+n[s+(u+e<<2)>>2];if(q){x=v;y=j;while(1){z=x+ +n[s+(y+u<<2)>>2];y=y+e|0;if((y|0)>=(g|0)){A=z;break}else x=z}}else A=v;p[t+(u<<3)>>3]=A+w;u=u+1|0;if((u|0)==(e|0))break a}}else B=0;do{x=+n[s+(B+e<<2)>>2];z=+n[s+(B<<2)>>2];u=j;do{y=u+B|0;z=z+ +n[s+(y<<2)>>2]+ +n[s+(y+j<<2)>>2];x=x+ +n[s+(y+e<<2)>>2]+ +n[s+(y+o<<2)>>2];u=u+k|0}while((u|0)<=(l|0));if((u|0)<(g|0)){w=z;y=u;while(1){v=w+ +n[s+(y+B<<2)>>2];y=y+e|0;if((y|0)>=(g|0)){C=v;break}else w=v}}else C=z;p[t+(B<<3)>>3]=x+C;B=B+1|0}while((B|0)!=(e|0))}while(0);r=r+1|0}while((r|0)!=(d|0));return}function oE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0,y=0.0,z=0.0,A=0,B=0.0;c=f[a+40>>2]|0;d=f[c>>2]|0;e=((f[a>>2]|0)>>>3&511)+1|0;g=X(e,f[c+4>>2]|0)|0;if((d|0)<=0)return;c=f[a+16>>2]|0;h=f[f[a+44>>2]>>2]|0;a=f[b+16>>2]|0;i=f[f[b+44>>2]>>2]|0;b=(g|0)==(e|0);j=e<<1;k=e<<2;l=g-k|0;m=(j|0)>(l|0);o=e*3|0;p=(j|0)<(g|0);q=0;do{r=c+(X(h,q)|0)|0;s=a+(X(i,q)|0)|0;a:do if(b){t=0;do{f[s+(t<<2)>>2]=f[r+(t<<2)>>2];t=t+1|0}while((t|0)!=(e|0))}else{if(m){t=0;while(1){u=+n[r+(t<<2)>>2];v=+n[r+(t+e<<2)>>2];if(p){w=u;x=j;while(1){y=w+ +n[r+(x+t<<2)>>2];x=x+e|0;if((x|0)>=(g|0)){z=y;break}else w=y}}else z=u;n[s+(t<<2)>>2]=v+z;t=t+1|0;if((t|0)==(e|0))break a}}else A=0;do{w=+n[r+(A+e<<2)>>2];y=+n[r+(A<<2)>>2];t=j;do{x=t+A|0;y=y+ +n[r+(x<<2)>>2]+ +n[r+(x+j<<2)>>2];w=w+ +n[r+(x+e<<2)>>2]+ +n[r+(x+o<<2)>>2];t=t+k|0}while((t|0)<=(l|0));if((t|0)<(g|0)){v=y;x=t;while(1){u=v+ +n[r+(x+A<<2)>>2];x=x+e|0;if((x|0)>=(g|0)){B=u;break}else v=u}}else B=y;n[s+(A<<2)>>2]=w+B;A=A+1|0}while((A|0)!=(e|0))}while(0);q=q+1|0}while((q|0)!=(d|0));return}function pE(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0,z=0.0,A=0.0,B=0,C=0.0;c=f[a+40>>2]|0;e=f[c>>2]|0;g=((f[a>>2]|0)>>>3&511)+1|0;h=X(g,f[c+4>>2]|0)|0;if((e|0)<=0)return;c=f[a+16>>2]|0;i=f[f[a+44>>2]>>2]|0;a=f[b+16>>2]|0;j=f[f[b+44>>2]>>2]|0;b=(h|0)==(g|0);k=g<<1;l=g<<2;m=h-l|0;n=(k|0)>(m|0);o=g*3|0;q=(k|0)<(h|0);r=0;do{s=c+(X(i,r)|0)|0;t=a+(X(j,r)|0)|0;a:do if(b){u=0;do{p[t+(u<<3)>>3]=+(d[s+(u<<1)>>1]|0);u=u+1|0}while((u|0)!=(g|0))}else{if(n){u=0;while(1){v=+(d[s+(u<<1)>>1]|0);w=+(d[s+(u+g<<1)>>1]|0);if(q){x=v;y=k;while(1){z=x+ +(d[s+(y+u<<1)>>1]|0);y=y+g|0;if((y|0)>=(h|0)){A=z;break}else x=z}}else A=v;p[t+(u<<3)>>3]=A+w;u=u+1|0;if((u|0)==(g|0))break a}}else B=0;do{x=+(d[s+(B+g<<1)>>1]|0);z=+(d[s+(B<<1)>>1]|0);u=k;do{y=u+B|0;z=z+ +(d[s+(y<<1)>>1]|0)+ +(d[s+(y+k<<1)>>1]|0);x=x+ +(d[s+(y+g<<1)>>1]|0)+ +(d[s+(y+o<<1)>>1]|0);u=u+l|0}while((u|0)<=(m|0));if((u|0)<(h|0)){w=z;y=u;while(1){v=w+ +(d[s+(y+B<<1)>>1]|0);y=y+g|0;if((y|0)>=(h|0)){C=v;break}else w=v}}else C=z;p[t+(B<<3)>>3]=x+C;B=B+1|0}while((B|0)!=(g|0))}while(0);r=r+1|0}while((r|0)!=(e|0));return}function qE(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0,z=0.0,A=0.0,B=0,C=0.0;c=f[a+40>>2]|0;e=f[c>>2]|0;g=((f[a>>2]|0)>>>3&511)+1|0;h=X(g,f[c+4>>2]|0)|0;if((e|0)<=0)return;c=f[a+16>>2]|0;i=f[f[a+44>>2]>>2]|0;a=f[b+16>>2]|0;j=f[f[b+44>>2]>>2]|0;b=(h|0)==(g|0);k=g<<1;l=g<<2;m=h-l|0;o=(k|0)>(m|0);p=g*3|0;q=(k|0)<(h|0);r=0;do{s=c+(X(i,r)|0)|0;t=a+(X(j,r)|0)|0;a:do if(b){u=0;do{n[t+(u<<2)>>2]=+(d[s+(u<<1)>>1]|0);u=u+1|0}while((u|0)!=(g|0))}else{if(o){u=0;while(1){v=+(d[s+(u<<1)>>1]|0);w=+(d[s+(u+g<<1)>>1]|0);if(q){x=v;y=k;while(1){z=x+ +(d[s+(y+u<<1)>>1]|0);y=y+g|0;if((y|0)>=(h|0)){A=z;break}else x=z}}else A=v;n[t+(u<<2)>>2]=A+w;u=u+1|0;if((u|0)==(g|0))break a}}else B=0;do{x=+(d[s+(B+g<<1)>>1]|0);z=+(d[s+(B<<1)>>1]|0);u=k;do{y=u+B|0;z=z+ +(d[s+(y<<1)>>1]|0)+ +(d[s+(y+k<<1)>>1]|0);x=x+ +(d[s+(y+g<<1)>>1]|0)+ +(d[s+(y+p<<1)>>1]|0);u=u+l|0}while((u|0)<=(m|0));if((u|0)<(h|0)){w=z;y=u;while(1){v=w+ +(d[s+(y+B<<1)>>1]|0);y=y+g|0;if((y|0)>=(h|0)){C=v;break}else w=v}}else C=z;n[t+(B<<2)>>2]=x+C;B=B+1|0}while((B|0)!=(g|0))}while(0);r=r+1|0}while((r|0)!=(e|0));return}function rE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0,z=0.0,A=0.0,B=0,C=0.0;c=f[a+40>>2]|0;d=f[c>>2]|0;e=((f[a>>2]|0)>>>3&511)+1|0;g=X(e,f[c+4>>2]|0)|0;if((d|0)<=0)return;c=f[a+16>>2]|0;h=f[f[a+44>>2]>>2]|0;a=f[b+16>>2]|0;i=f[f[b+44>>2]>>2]|0;b=(g|0)==(e|0);k=e<<1;l=e<<2;m=g-l|0;n=(k|0)>(m|0);o=e*3|0;q=(k|0)<(g|0);r=0;do{s=c+(X(h,r)|0)|0;t=a+(X(i,r)|0)|0;a:do if(b){u=0;do{p[t+(u<<3)>>3]=+(j[s+(u<<1)>>1]|0);u=u+1|0}while((u|0)!=(e|0))}else{if(n){u=0;while(1){v=+(j[s+(u<<1)>>1]|0);w=+(j[s+(u+e<<1)>>1]|0);if(q){x=v;y=k;while(1){z=x+ +(j[s+(y+u<<1)>>1]|0);y=y+e|0;if((y|0)>=(g|0)){A=z;break}else x=z}}else A=v;p[t+(u<<3)>>3]=A+w;u=u+1|0;if((u|0)==(e|0))break a}}else B=0;do{x=+(j[s+(B+e<<1)>>1]|0);z=+(j[s+(B<<1)>>1]|0);u=k;do{y=u+B|0;z=z+ +(j[s+(y<<1)>>1]|0)+ +(j[s+(y+k<<1)>>1]|0);x=x+ +(j[s+(y+e<<1)>>1]|0)+ +(j[s+(y+o<<1)>>1]|0);u=u+l|0}while((u|0)<=(m|0));if((u|0)<(g|0)){w=z;y=u;while(1){v=w+ +(j[s+(y+B<<1)>>1]|0);y=y+e|0;if((y|0)>=(g|0)){C=v;break}else w=v}}else C=z;p[t+(B<<3)>>3]=x+C;B=B+1|0}while((B|0)!=(e|0))}while(0);r=r+1|0}while((r|0)!=(d|0));return}function sE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0,z=0.0,A=0.0,B=0,C=0.0;c=f[a+40>>2]|0;d=f[c>>2]|0;e=((f[a>>2]|0)>>>3&511)+1|0;g=X(e,f[c+4>>2]|0)|0;if((d|0)<=0)return;c=f[a+16>>2]|0;h=f[f[a+44>>2]>>2]|0;a=f[b+16>>2]|0;i=f[f[b+44>>2]>>2]|0;b=(g|0)==(e|0);k=e<<1;l=e<<2;m=g-l|0;o=(k|0)>(m|0);p=e*3|0;q=(k|0)<(g|0);r=0;do{s=c+(X(h,r)|0)|0;t=a+(X(i,r)|0)|0;a:do if(b){u=0;do{n[t+(u<<2)>>2]=+(j[s+(u<<1)>>1]|0);u=u+1|0}while((u|0)!=(e|0))}else{if(o){u=0;while(1){v=+(j[s+(u<<1)>>1]|0);w=+(j[s+(u+e<<1)>>1]|0);if(q){x=v;y=k;while(1){z=x+ +(j[s+(y+u<<1)>>1]|0);y=y+e|0;if((y|0)>=(g|0)){A=z;break}else x=z}}else A=v;n[t+(u<<2)>>2]=A+w;u=u+1|0;if((u|0)==(e|0))break a}}else B=0;do{x=+(j[s+(B+e<<1)>>1]|0);z=+(j[s+(B<<1)>>1]|0);u=k;do{y=u+B|0;z=z+ +(j[s+(y<<1)>>1]|0)+ +(j[s+(y+k<<1)>>1]|0);x=x+ +(j[s+(y+e<<1)>>1]|0)+ +(j[s+(y+p<<1)>>1]|0);u=u+l|0}while((u|0)<=(m|0));if((u|0)<(g|0)){w=z;y=u;while(1){v=w+ +(j[s+(y+B<<1)>>1]|0);y=y+e|0;if((y|0)>=(g|0)){C=v;break}else w=v}}else C=z;n[t+(B<<2)>>2]=x+C;B=B+1|0}while((B|0)!=(e|0))}while(0);r=r+1|0}while((r|0)!=(d|0));return}function tE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;c=f[a+40>>2]|0;d=f[c>>2]|0;e=((f[a>>2]|0)>>>3&511)+1|0;g=X(e,f[c+4>>2]|0)|0;if((d|0)<=0)return;c=(g|0)==(e|0);i=e<<1;j=e<<2;k=g-j|0;l=(i|0)>(k|0);m=e*3|0;n=f[a+16>>2]|0;o=f[f[a+44>>2]>>2]|0;a=f[b+16>>2]|0;q=f[f[b+44>>2]>>2]|0;b=(i|0)<(g|0);r=0;do{s=n+(X(o,r)|0)|0;t=a+(X(q,r)|0)|0;a:do if(c){u=0;do{p[t+(u<<3)>>3]=+(h[s+u>>0]|0);u=u+1|0}while((u|0)!=(e|0))}else{if(l){u=0;while(1){v=h[s+u>>0]|0;w=h[s+(u+e)>>0]|0;if(b){x=v;y=i;while(1){z=x+(h[s+(y+u)>>0]|0)|0;y=y+e|0;if((y|0)>=(g|0)){A=z;break}else x=z}}else A=v;p[t+(u<<3)>>3]=+(A+w|0);u=u+1|0;if((u|0)==(e|0))break a}}else B=0;do{u=h[s+(B+e)>>0]|0;x=h[s+B>>0]|0;y=i;do{z=y+B|0;x=x+(h[s+z>>0]|0)+(h[s+(z+i)>>0]|0)|0;u=u+(h[s+(z+e)>>0]|0)+(h[s+(z+m)>>0]|0)|0;y=y+j|0}while((y|0)<=(k|0));if((y|0)<(g|0)){w=x;v=y;while(1){z=w+(h[s+(v+B)>>0]|0)|0;v=v+e|0;if((v|0)>=(g|0)){C=z;break}else w=z}}else C=x;p[t+(B<<3)>>3]=+(C+u|0);B=B+1|0}while((B|0)!=(e|0))}while(0);r=r+1|0}while((r|0)!=(d|0));return}function uE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;c=f[a+40>>2]|0;d=f[c>>2]|0;e=((f[a>>2]|0)>>>3&511)+1|0;g=X(e,f[c+4>>2]|0)|0;if((d|0)<=0)return;c=(g|0)==(e|0);i=e<<1;j=e<<2;k=g-j|0;l=(i|0)>(k|0);m=e*3|0;o=f[a+16>>2]|0;p=f[f[a+44>>2]>>2]|0;a=f[b+16>>2]|0;q=f[f[b+44>>2]>>2]|0;b=(i|0)<(g|0);r=0;do{s=o+(X(p,r)|0)|0;t=a+(X(q,r)|0)|0;a:do if(c){u=0;do{n[t+(u<<2)>>2]=+(h[s+u>>0]|0);u=u+1|0}while((u|0)!=(e|0))}else{if(l){u=0;while(1){v=h[s+u>>0]|0;w=h[s+(u+e)>>0]|0;if(b){x=v;y=i;while(1){z=x+(h[s+(y+u)>>0]|0)|0;y=y+e|0;if((y|0)>=(g|0)){A=z;break}else x=z}}else A=v;n[t+(u<<2)>>2]=+(A+w|0);u=u+1|0;if((u|0)==(e|0))break a}}else B=0;do{u=h[s+(B+e)>>0]|0;x=h[s+B>>0]|0;y=i;do{z=y+B|0;x=x+(h[s+z>>0]|0)+(h[s+(z+i)>>0]|0)|0;u=u+(h[s+(z+e)>>0]|0)+(h[s+(z+m)>>0]|0)|0;y=y+j|0}while((y|0)<=(k|0));if((y|0)<(g|0)){w=x;v=y;while(1){z=w+(h[s+(v+B)>>0]|0)|0;v=v+e|0;if((v|0)>=(g|0)){C=z;break}else w=z}}else C=x;n[t+(B<<2)>>2]=+(C+u|0);B=B+1|0}while((B|0)!=(e|0))}while(0);r=r+1|0}while((r|0)!=(d|0));return}function vE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;c=f[a+40>>2]|0;d=f[c>>2]|0;e=((f[a>>2]|0)>>>3&511)+1|0;g=X(e,f[c+4>>2]|0)|0;if((d|0)<=0)return;c=(g|0)==(e|0);i=e<<1;j=e<<2;k=g-j|0;l=(i|0)>(k|0);m=e*3|0;n=f[a+16>>2]|0;o=f[a+44>>2]|0;a=f[b+16>>2]|0;p=f[b+44>>2]|0;b=(i|0)<(g|0);q=0;do{r=n+(X(f[o>>2]|0,q)|0)|0;s=a+(X(f[p>>2]|0,q)|0)|0;a:do if(c){t=0;do{f[s+(t<<2)>>2]=h[r+t>>0];t=t+1|0}while((t|0)!=(e|0))}else{if(l){t=0;while(1){u=h[r+t>>0]|0;v=h[r+(t+e)>>0]|0;if(b){w=u;x=i;while(1){y=w+(h[r+(x+t)>>0]|0)|0;x=x+e|0;if((x|0)>=(g|0)){z=y;break}else w=y}}else z=u;f[s+(t<<2)>>2]=z+v;t=t+1|0;if((t|0)==(e|0))break a}}else A=0;do{t=h[r+(A+e)>>0]|0;w=h[r+A>>0]|0;x=i;do{y=x+A|0;w=w+(h[r+y>>0]|0)+(h[r+(y+i)>>0]|0)|0;t=t+(h[r+(y+e)>>0]|0)+(h[r+(y+m)>>0]|0)|0;x=x+j|0}while((x|0)<=(k|0));if((x|0)<(g|0)){v=w;u=x;while(1){y=v+(h[r+(u+A)>>0]|0)|0;u=u+e|0;if((u|0)>=(g|0)){B=y;break}else v=y}}else B=w;f[s+(A<<2)>>2]=B+t;A=A+1|0}while((A|0)!=(e|0))}while(0);q=q+1|0}while((q|0)!=(d|0));return}function wE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,v=0,w=0,x=0,y=0,z=0.0,A=0.0;c=u;u=u+1072|0;d=c;e=f[a+40>>2]|0;g=f[e>>2]|0;h=X(((f[a>>2]|0)>>>3&511)+1|0,f[e+4>>2]|0)|0;e=d+8|0;f[d>>2]=e;i=d+4|0;f[i>>2]=h;if(h>>>0>264){j=FQa(h>>>0>1073741823?-1:h<<2)|0;f[d>>2]=j;k=j}else k=e;j=f[b+16>>2]|0;b=f[a+16>>2]|0;l=(f[a+48>>2]|0)>>>2;a=(h|0)>0;if(a){m=0;do{f[k+(m<<2)>>2]=f[b+(m<<2)>>2];m=m+1|0}while((m|0)!=(h|0))}m=g+-1|0;a:do if(m|0){g=h+-4|0;if((h|0)<4){o=b;p=m;while(1){o=o+(l<<2)|0;if(a){q=0;do{r=k+(q<<2)|0;s=+n[r>>2];t=+n[o+(q<<2)>>2];n[r>>2]=t>2];t=+n[q+(v<<2)>>2];x=v|1;y=k+(x<<2)|0;z=+n[y>>2];A=+n[q+(x<<2)>>2];n[w>>2]=t>2]=A>2];A=+n[q+(y<<2)>>2];y=v|3;x=k+(y<<2)|0;s=+n[x>>2];t=+n[q+(y<<2)>>2];n[w>>2]=A>2]=t>2];t=+n[q+(v<<2)>>2];n[x>>2]=t>2]=f[k+(a<<2)>>2];a=a+1|0}while((a|0)!=(h|0))}if((k|0)==(e|0)){u=c;return}HQa(k);f[d>>2]=e;f[i>>2]=264;u=c;return}function xE(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;c=u;u=u+1056|0;e=c;g=f[a+40>>2]|0;h=f[g>>2]|0;i=X(((f[a>>2]|0)>>>3&511)+1|0,f[g+4>>2]|0)|0;g=e+8|0;f[e>>2]=g;j=e+4|0;f[j>>2]=i;if(i>>>0>520){k=FQa(i>>>0>2147483647?-1:i<<1)|0;f[e>>2]=k;l=k}else l=g;k=f[b+16>>2]|0;b=f[a+16>>2]|0;m=(f[a+48>>2]|0)>>>1;a=(i|0)>0;if(a){n=0;do{d[l+(n<<1)>>1]=d[b+(n<<1)>>1]|0;n=n+1|0}while((n|0)!=(i|0))}n=h+-1|0;a:do if(n|0){h=i+-4|0;if((i|0)<4){o=b;p=n;while(1){o=o+(m<<1)|0;if(a){q=0;do{r=l+(q<<1)|0;s=d[r>>1]|0;t=d[o+(q<<1)>>1]|0;d[r>>1]=t<<16>>16>16?t:s;q=q+1|0}while((q|0)!=(i|0))}p=p+-1|0;if(!p)break a}}p=i&-4;o=(p|0)<(i|0);q=b;s=n;do{q=q+(m<<1)|0;t=0;do{r=l+(t<<1)|0;v=d[r>>1]|0;w=d[q+(t<<1)>>1]|0;x=t|1;y=l+(x<<1)|0;z=d[y>>1]|0;A=d[q+(x<<1)>>1]|0;d[r>>1]=w<<16>>16>16?w:v;d[y>>1]=A<<16>>16>16?A:z;z=t|2;A=l+(z<<1)|0;y=d[A>>1]|0;v=d[q+(z<<1)>>1]|0;z=t|3;w=l+(z<<1)|0;r=d[w>>1]|0;x=d[q+(z<<1)>>1]|0;d[A>>1]=v<<16>>16>16?v:y;d[w>>1]=x<<16>>16>16?x:r;t=t+4|0}while((t|0)<=(h|0));if(o){t=p;do{r=l+(t<<1)|0;x=d[r>>1]|0;w=d[q+(t<<1)>>1]|0;d[r>>1]=w<<16>>16>16?w:x;t=t+1|0}while((t|0)!=(i|0))}s=s+-1|0}while((s|0)!=0)}while(0);if(a){a=0;do{d[k+(a<<1)>>1]=d[l+(a<<1)>>1]|0;a=a+1|0}while((a|0)!=(i|0))}if((l|0)==(g|0)){u=c;return}HQa(l);f[e>>2]=g;f[j>>2]=520;u=c;return}function yE(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;c=u;u=u+1056|0;e=c;g=f[a+40>>2]|0;h=f[g>>2]|0;i=X(((f[a>>2]|0)>>>3&511)+1|0,f[g+4>>2]|0)|0;g=e+8|0;f[e>>2]=g;j=e+4|0;f[j>>2]=i;if(i>>>0>520){k=FQa(i>>>0>2147483647?-1:i<<1)|0;f[e>>2]=k;l=k}else l=g;k=f[b+16>>2]|0;b=f[a+16>>2]|0;m=(f[a+48>>2]|0)>>>1;a=(i|0)>0;if(a){n=0;do{d[l+(n<<1)>>1]=d[b+(n<<1)>>1]|0;n=n+1|0}while((n|0)!=(i|0))}n=h+-1|0;a:do if(n|0){h=i+-4|0;if((i|0)<4){o=b;p=n;while(1){o=o+(m<<1)|0;if(a){q=0;do{r=l+(q<<1)|0;s=d[r>>1]|0;t=d[o+(q<<1)>>1]|0;d[r>>1]=(t&65535)<(s&65535)?t:s;q=q+1|0}while((q|0)!=(i|0))}p=p+-1|0;if(!p)break a}}p=i&-4;o=(p|0)<(i|0);q=b;s=n;do{q=q+(m<<1)|0;t=0;do{r=l+(t<<1)|0;v=d[r>>1]|0;w=d[q+(t<<1)>>1]|0;x=t|1;y=l+(x<<1)|0;z=d[y>>1]|0;A=d[q+(x<<1)>>1]|0;d[r>>1]=(w&65535)<(v&65535)?w:v;d[y>>1]=(A&65535)<(z&65535)?A:z;z=t|2;A=l+(z<<1)|0;y=d[A>>1]|0;v=d[q+(z<<1)>>1]|0;z=t|3;w=l+(z<<1)|0;r=d[w>>1]|0;x=d[q+(z<<1)>>1]|0;d[A>>1]=(v&65535)<(y&65535)?v:y;d[w>>1]=(x&65535)<(r&65535)?x:r;t=t+4|0}while((t|0)<=(h|0));if(o){t=p;do{r=l+(t<<1)|0;x=d[r>>1]|0;w=d[q+(t<<1)>>1]|0;d[r>>1]=(w&65535)<(x&65535)?w:x;t=t+1|0}while((t|0)!=(i|0))}s=s+-1|0}while((s|0)!=0)}while(0);if(a){a=0;do{d[k+(a<<1)>>1]=d[l+(a<<1)>>1]|0;a=a+1|0}while((a|0)!=(i|0))}if((l|0)==(g|0)){u=c;return}HQa(l);f[e>>2]=g;f[j>>2]=520;u=c;return}function zE(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;d=u;u=u+1040|0;e=d;g=f[a+40>>2]|0;i=f[g>>2]|0;j=X(((f[a>>2]|0)>>>3&511)+1|0,f[g+4>>2]|0)|0;g=e+8|0;f[e>>2]=g;k=e+4|0;f[k>>2]=j;if(j>>>0>1032){l=FQa(j)|0;f[e>>2]=l;m=l}else m=g;l=f[c+16>>2]|0;c=f[a+16>>2]|0;n=f[a+48>>2]|0;a=(j|0)>0;if(a){o=0;do{b[m+o>>0]=b[c+o>>0]|0;o=o+1|0}while((o|0)!=(j|0))}o=i+-1|0;a:do if(o|0){i=j+-4|0;if((j|0)<4){p=c;q=o;while(1){p=p+n|0;if(a){r=0;do{s=m+r|0;t=h[s>>0]|0;b[s>>0]=t-(h[243744+((t|256)-(h[p+r>>0]|0))>>0]|0);r=r+1|0}while((r|0)!=(j|0))}q=q+-1|0;if(!q)break a}}q=j&-4;p=(q|0)<(j|0);r=c;t=o;do{r=r+n|0;s=0;do{v=m+s|0;w=h[v>>0]|0;x=s|1;y=m+x|0;z=h[y>>0]|0;A=z-(h[243744+((z|256)-(h[r+x>>0]|0))>>0]|0)&255;b[v>>0]=w-(h[243744+((w|256)-(h[r+s>>0]|0))>>0]|0);b[y>>0]=A;A=s|2;y=m+A|0;w=h[y>>0]|0;v=s|3;x=m+v|0;z=h[x>>0]|0;B=z-(h[243744+((z|256)-(h[r+v>>0]|0))>>0]|0)&255;b[y>>0]=w-(h[243744+((w|256)-(h[r+A>>0]|0))>>0]|0);b[x>>0]=B;s=s+4|0}while((s|0)<=(i|0));if(p){s=q;do{B=m+s|0;x=h[B>>0]|0;b[B>>0]=x-(h[243744+((x|256)-(h[r+s>>0]|0))>>0]|0);s=s+1|0}while((s|0)!=(j|0))}t=t+-1|0}while((t|0)!=0)}while(0);if(a){a=0;do{b[l+a>>0]=b[m+a>>0]|0;a=a+1|0}while((a|0)!=(j|0))}j=f[e>>2]|0;if((j|0)==(g|0)){u=d;return}if(j|0)HQa(j);f[e>>2]=g;f[k>>2]=1032;u=d;return}function AE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,v=0,w=0,x=0,y=0,z=0.0,A=0.0;c=u;u=u+1072|0;d=c;e=f[a+40>>2]|0;g=f[e>>2]|0;h=X(((f[a>>2]|0)>>>3&511)+1|0,f[e+4>>2]|0)|0;e=d+8|0;f[d>>2]=e;i=d+4|0;f[i>>2]=h;if(h>>>0>264){j=FQa(h>>>0>1073741823?-1:h<<2)|0;f[d>>2]=j;k=j}else k=e;j=f[b+16>>2]|0;b=f[a+16>>2]|0;l=(f[a+48>>2]|0)>>>2;a=(h|0)>0;if(a){m=0;do{f[k+(m<<2)>>2]=f[b+(m<<2)>>2];m=m+1|0}while((m|0)!=(h|0))}m=g+-1|0;a:do if(m|0){g=h+-4|0;if((h|0)<4){o=b;p=m;while(1){o=o+(l<<2)|0;if(a){q=0;do{r=k+(q<<2)|0;s=+n[r>>2];t=+n[o+(q<<2)>>2];n[r>>2]=s>2];t=+n[q+(v<<2)>>2];x=v|1;y=k+(x<<2)|0;z=+n[y>>2];A=+n[q+(x<<2)>>2];n[w>>2]=s>2]=z>2];A=+n[q+(y<<2)>>2];y=v|3;x=k+(y<<2)|0;s=+n[x>>2];t=+n[q+(y<<2)>>2];n[w>>2]=z>2]=s>2];t=+n[q+(v<<2)>>2];n[x>>2]=s>2]=f[k+(a<<2)>>2];a=a+1|0}while((a|0)!=(h|0))}if((k|0)==(e|0)){u=c;return}HQa(k);f[d>>2]=e;f[i>>2]=264;u=c;return}function BE(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;c=u;u=u+1056|0;e=c;g=f[a+40>>2]|0;h=f[g>>2]|0;i=X(((f[a>>2]|0)>>>3&511)+1|0,f[g+4>>2]|0)|0;g=e+8|0;f[e>>2]=g;j=e+4|0;f[j>>2]=i;if(i>>>0>520){k=FQa(i>>>0>2147483647?-1:i<<1)|0;f[e>>2]=k;l=k}else l=g;k=f[b+16>>2]|0;b=f[a+16>>2]|0;m=(f[a+48>>2]|0)>>>1;a=(i|0)>0;if(a){n=0;do{d[l+(n<<1)>>1]=d[b+(n<<1)>>1]|0;n=n+1|0}while((n|0)!=(i|0))}n=h+-1|0;a:do if(n|0){h=i+-4|0;if((i|0)<4){o=b;p=n;while(1){o=o+(m<<1)|0;if(a){q=0;do{r=l+(q<<1)|0;s=d[r>>1]|0;t=d[o+(q<<1)>>1]|0;d[r>>1]=s<<16>>16>16?t:s;q=q+1|0}while((q|0)!=(i|0))}p=p+-1|0;if(!p)break a}}p=i&-4;o=(p|0)<(i|0);q=b;s=n;do{q=q+(m<<1)|0;t=0;do{r=l+(t<<1)|0;v=d[r>>1]|0;w=d[q+(t<<1)>>1]|0;x=t|1;y=l+(x<<1)|0;z=d[y>>1]|0;A=d[q+(x<<1)>>1]|0;d[r>>1]=v<<16>>16>16?w:v;d[y>>1]=z<<16>>16>16?A:z;z=t|2;A=l+(z<<1)|0;y=d[A>>1]|0;v=d[q+(z<<1)>>1]|0;z=t|3;w=l+(z<<1)|0;r=d[w>>1]|0;x=d[q+(z<<1)>>1]|0;d[A>>1]=y<<16>>16>16?v:y;d[w>>1]=r<<16>>16>16?x:r;t=t+4|0}while((t|0)<=(h|0));if(o){t=p;do{r=l+(t<<1)|0;x=d[r>>1]|0;w=d[q+(t<<1)>>1]|0;d[r>>1]=x<<16>>16>16?w:x;t=t+1|0}while((t|0)!=(i|0))}s=s+-1|0}while((s|0)!=0)}while(0);if(a){a=0;do{d[k+(a<<1)>>1]=d[l+(a<<1)>>1]|0;a=a+1|0}while((a|0)!=(i|0))}if((l|0)==(g|0)){u=c;return}HQa(l);f[e>>2]=g;f[j>>2]=520;u=c;return}function CE(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;c=u;u=u+1056|0;e=c;g=f[a+40>>2]|0;h=f[g>>2]|0;i=X(((f[a>>2]|0)>>>3&511)+1|0,f[g+4>>2]|0)|0;g=e+8|0;f[e>>2]=g;j=e+4|0;f[j>>2]=i;if(i>>>0>520){k=FQa(i>>>0>2147483647?-1:i<<1)|0;f[e>>2]=k;l=k}else l=g;k=f[b+16>>2]|0;b=f[a+16>>2]|0;m=(f[a+48>>2]|0)>>>1;a=(i|0)>0;if(a){n=0;do{d[l+(n<<1)>>1]=d[b+(n<<1)>>1]|0;n=n+1|0}while((n|0)!=(i|0))}n=h+-1|0;a:do if(n|0){h=i+-4|0;if((i|0)<4){o=b;p=n;while(1){o=o+(m<<1)|0;if(a){q=0;do{r=l+(q<<1)|0;s=d[r>>1]|0;t=d[o+(q<<1)>>1]|0;d[r>>1]=(s&65535)<(t&65535)?t:s;q=q+1|0}while((q|0)!=(i|0))}p=p+-1|0;if(!p)break a}}p=i&-4;o=(p|0)<(i|0);q=b;s=n;do{q=q+(m<<1)|0;t=0;do{r=l+(t<<1)|0;v=d[r>>1]|0;w=d[q+(t<<1)>>1]|0;x=t|1;y=l+(x<<1)|0;z=d[y>>1]|0;A=d[q+(x<<1)>>1]|0;d[r>>1]=(v&65535)<(w&65535)?w:v;d[y>>1]=(z&65535)<(A&65535)?A:z;z=t|2;A=l+(z<<1)|0;y=d[A>>1]|0;v=d[q+(z<<1)>>1]|0;z=t|3;w=l+(z<<1)|0;r=d[w>>1]|0;x=d[q+(z<<1)>>1]|0;d[A>>1]=(y&65535)<(v&65535)?v:y;d[w>>1]=(r&65535)<(x&65535)?x:r;t=t+4|0}while((t|0)<=(h|0));if(o){t=p;do{r=l+(t<<1)|0;x=d[r>>1]|0;w=d[q+(t<<1)>>1]|0;d[r>>1]=(x&65535)<(w&65535)?w:x;t=t+1|0}while((t|0)!=(i|0))}s=s+-1|0}while((s|0)!=0)}while(0);if(a){a=0;do{d[k+(a<<1)>>1]=d[l+(a<<1)>>1]|0;a=a+1|0}while((a|0)!=(i|0))}if((l|0)==(g|0)){u=c;return}HQa(l);f[e>>2]=g;f[j>>2]=520;u=c;return}function DE(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;d=u;u=u+1040|0;e=d;g=f[a+40>>2]|0;i=f[g>>2]|0;j=X(((f[a>>2]|0)>>>3&511)+1|0,f[g+4>>2]|0)|0;g=e+8|0;f[e>>2]=g;k=e+4|0;f[k>>2]=j;if(j>>>0>1032){l=FQa(j)|0;f[e>>2]=l;m=l}else m=g;l=f[c+16>>2]|0;c=f[a+16>>2]|0;n=f[a+48>>2]|0;a=(j|0)>0;if(a){o=0;do{b[m+o>>0]=b[c+o>>0]|0;o=o+1|0}while((o|0)!=(j|0))}o=i+-1|0;a:do if(o|0){i=j+-4|0;if((j|0)<4){p=c;q=o;while(1){p=p+n|0;if(a){r=0;do{s=m+r|0;t=h[s>>0]|0;b[s>>0]=(h[243744+(256-t+(h[p+r>>0]|0))>>0]|0)+t;r=r+1|0}while((r|0)!=(j|0))}q=q+-1|0;if(!q)break a}}q=j&-4;p=(q|0)<(j|0);r=c;t=o;do{r=r+n|0;s=0;do{v=m+s|0;w=h[v>>0]|0;x=s|1;y=m+x|0;z=h[y>>0]|0;A=(h[243744+(256-z+(h[r+x>>0]|0))>>0]|0)+z&255;b[v>>0]=(h[243744+(256-w+(h[r+s>>0]|0))>>0]|0)+w;b[y>>0]=A;A=s|2;y=m+A|0;w=h[y>>0]|0;v=s|3;z=m+v|0;x=h[z>>0]|0;B=(h[243744+(256-x+(h[r+v>>0]|0))>>0]|0)+x&255;b[y>>0]=(h[243744+(256-w+(h[r+A>>0]|0))>>0]|0)+w;b[z>>0]=B;s=s+4|0}while((s|0)<=(i|0));if(p){s=q;do{B=m+s|0;z=h[B>>0]|0;b[B>>0]=(h[243744+(256-z+(h[r+s>>0]|0))>>0]|0)+z;s=s+1|0}while((s|0)!=(j|0))}t=t+-1|0}while((t|0)!=0)}while(0);if(a){a=0;do{b[l+a>>0]=b[m+a>>0]|0;a=a+1|0}while((a|0)!=(j|0))}j=f[e>>2]|0;if((j|0)==(g|0)){u=d;return}if(j|0)HQa(j);f[e>>2]=g;f[k>>2]=1032;u=d;return}function EE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0.0,z=0;c=u;u=u+1104|0;d=c;e=f[a+40>>2]|0;g=f[e>>2]|0;h=X(((f[a>>2]|0)>>>3&511)+1|0,f[e+4>>2]|0)|0;e=d+8|0;f[d>>2]=e;i=d+4|0;f[i>>2]=h;if(h>>>0>136){j=FQa(h>>>0>536870911?-1:h<<3)|0;f[d>>2]=j;k=j}else k=e;j=f[b+16>>2]|0;b=f[a+16>>2]|0;l=(f[a+48>>2]|0)>>>2;a=(h|0)>0;if(a){m=0;do{p[k+(m<<3)>>3]=+n[b+(m<<2)>>2];m=m+1|0}while((m|0)!=(h|0))}m=g+-1|0;a:do if(m|0){g=h+-4|0;if((h|0)<4){o=b;q=m;while(1){o=o+(l<<2)|0;if(a){r=0;do{s=k+(r<<3)|0;p[s>>3]=+p[s>>3]+ +n[o+(r<<2)>>2];r=r+1|0}while((r|0)!=(h|0))}q=q+-1|0;if(!q)break a}}q=h&-4;o=(q|0)<(h|0);r=b;s=m;do{r=r+(l<<2)|0;t=0;do{v=k+(t<<3)|0;w=t|1;x=k+(w<<3)|0;y=+p[x>>3]+ +n[r+(w<<2)>>2];p[v>>3]=+p[v>>3]+ +n[r+(t<<2)>>2];p[x>>3]=y;x=t|2;v=k+(x<<3)|0;w=t|3;z=k+(w<<3)|0;y=+p[z>>3]+ +n[r+(w<<2)>>2];p[v>>3]=+p[v>>3]+ +n[r+(x<<2)>>2];p[z>>3]=y;t=t+4|0}while((t|0)<=(g|0));if(o){t=q;do{z=k+(t<<3)|0;p[z>>3]=+p[z>>3]+ +n[r+(t<<2)>>2];t=t+1|0}while((t|0)!=(h|0))}s=s+-1|0}while((s|0)!=0)}while(0);if(a){a=0;do{p[j+(a<<3)>>3]=+p[k+(a<<3)>>3];a=a+1|0}while((a|0)!=(h|0))}if((k|0)==(e|0)){u=c;return}HQa(k);f[d>>2]=e;f[i>>2]=136;u=c;return}function FE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0,y=0;c=u;u=u+1072|0;d=c;e=f[a+40>>2]|0;g=f[e>>2]|0;h=X(((f[a>>2]|0)>>>3&511)+1|0,f[e+4>>2]|0)|0;e=d+8|0;f[d>>2]=e;i=d+4|0;f[i>>2]=h;if(h>>>0>264){j=FQa(h>>>0>1073741823?-1:h<<2)|0;f[d>>2]=j;k=j}else k=e;j=f[b+16>>2]|0;b=f[a+16>>2]|0;l=(f[a+48>>2]|0)>>>2;a=(h|0)>0;if(a){m=0;do{f[k+(m<<2)>>2]=f[b+(m<<2)>>2];m=m+1|0}while((m|0)!=(h|0))}m=g+-1|0;a:do if(m|0){g=h+-4|0;if((h|0)<4){o=b;p=m;while(1){o=o+(l<<2)|0;if(a){q=0;do{r=k+(q<<2)|0;n[r>>2]=+n[r>>2]+ +n[o+(q<<2)>>2];q=q+1|0}while((q|0)!=(h|0))}p=p+-1|0;if(!p)break a}}p=h&-4;o=(p|0)<(h|0);q=b;r=m;do{q=q+(l<<2)|0;s=0;do{t=k+(s<<2)|0;v=s|1;w=k+(v<<2)|0;x=+n[w>>2]+ +n[q+(v<<2)>>2];n[t>>2]=+n[t>>2]+ +n[q+(s<<2)>>2];n[w>>2]=x;w=s|2;t=k+(w<<2)|0;v=s|3;y=k+(v<<2)|0;x=+n[y>>2]+ +n[q+(v<<2)>>2];n[t>>2]=+n[t>>2]+ +n[q+(w<<2)>>2];n[y>>2]=x;s=s+4|0}while((s|0)<=(g|0));if(o){s=p;do{y=k+(s<<2)|0;n[y>>2]=+n[y>>2]+ +n[q+(s<<2)>>2];s=s+1|0}while((s|0)!=(h|0))}r=r+-1|0}while((r|0)!=0)}while(0);if(a){a=0;do{f[j+(a<<2)>>2]=f[k+(a<<2)>>2];a=a+1|0}while((a|0)!=(h|0))}if((k|0)==(e|0)){u=c;return}HQa(k);f[d>>2]=e;f[i>>2]=264;u=c;return}function GE(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0.0,z=0;c=u;u=u+1104|0;e=c;g=f[a+40>>2]|0;h=f[g>>2]|0;i=X(((f[a>>2]|0)>>>3&511)+1|0,f[g+4>>2]|0)|0;g=e+8|0;f[e>>2]=g;j=e+4|0;f[j>>2]=i;if(i>>>0>136){k=FQa(i>>>0>536870911?-1:i<<3)|0;f[e>>2]=k;l=k}else l=g;k=f[b+16>>2]|0;b=f[a+16>>2]|0;m=(f[a+48>>2]|0)>>>1;a=(i|0)>0;if(a){n=0;do{p[l+(n<<3)>>3]=+(d[b+(n<<1)>>1]|0);n=n+1|0}while((n|0)!=(i|0))}n=h+-1|0;a:do if(n|0){h=i+-4|0;if((i|0)<4){o=b;q=n;while(1){o=o+(m<<1)|0;if(a){r=0;do{s=l+(r<<3)|0;p[s>>3]=+p[s>>3]+ +(d[o+(r<<1)>>1]|0);r=r+1|0}while((r|0)!=(i|0))}q=q+-1|0;if(!q)break a}}q=i&-4;o=(q|0)<(i|0);r=b;s=n;do{r=r+(m<<1)|0;t=0;do{v=l+(t<<3)|0;w=t|1;x=l+(w<<3)|0;y=+p[x>>3]+ +(d[r+(w<<1)>>1]|0);p[v>>3]=+p[v>>3]+ +(d[r+(t<<1)>>1]|0);p[x>>3]=y;x=t|2;v=l+(x<<3)|0;w=t|3;z=l+(w<<3)|0;y=+p[z>>3]+ +(d[r+(w<<1)>>1]|0);p[v>>3]=+p[v>>3]+ +(d[r+(x<<1)>>1]|0);p[z>>3]=y;t=t+4|0}while((t|0)<=(h|0));if(o){t=q;do{z=l+(t<<3)|0;p[z>>3]=+p[z>>3]+ +(d[r+(t<<1)>>1]|0);t=t+1|0}while((t|0)!=(i|0))}s=s+-1|0}while((s|0)!=0)}while(0);if(a){a=0;do{p[k+(a<<3)>>3]=+p[l+(a<<3)>>3];a=a+1|0}while((a|0)!=(i|0))}if((l|0)==(g|0)){u=c;return}HQa(l);f[e>>2]=g;f[j>>2]=136;u=c;return}function HE(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0.0,z=0;c=u;u=u+1072|0;e=c;g=f[a+40>>2]|0;h=f[g>>2]|0;i=X(((f[a>>2]|0)>>>3&511)+1|0,f[g+4>>2]|0)|0;g=e+8|0;f[e>>2]=g;j=e+4|0;f[j>>2]=i;if(i>>>0>264){k=FQa(i>>>0>1073741823?-1:i<<2)|0;f[e>>2]=k;l=k}else l=g;k=f[b+16>>2]|0;b=f[a+16>>2]|0;m=(f[a+48>>2]|0)>>>1;a=(i|0)>0;if(a){o=0;do{n[l+(o<<2)>>2]=+(d[b+(o<<1)>>1]|0);o=o+1|0}while((o|0)!=(i|0))}o=h+-1|0;a:do if(o|0){h=i+-4|0;if((i|0)<4){p=b;q=o;while(1){p=p+(m<<1)|0;if(a){r=0;do{s=l+(r<<2)|0;n[s>>2]=+n[s>>2]+ +(d[p+(r<<1)>>1]|0);r=r+1|0}while((r|0)!=(i|0))}q=q+-1|0;if(!q)break a}}q=i&-4;p=(q|0)<(i|0);r=b;s=o;do{r=r+(m<<1)|0;t=0;do{v=l+(t<<2)|0;w=t|1;x=l+(w<<2)|0;y=+n[x>>2]+ +(d[r+(w<<1)>>1]|0);n[v>>2]=+n[v>>2]+ +(d[r+(t<<1)>>1]|0);n[x>>2]=y;x=t|2;v=l+(x<<2)|0;w=t|3;z=l+(w<<2)|0;y=+n[z>>2]+ +(d[r+(w<<1)>>1]|0);n[v>>2]=+n[v>>2]+ +(d[r+(x<<1)>>1]|0);n[z>>2]=y;t=t+4|0}while((t|0)<=(h|0));if(p){t=q;do{z=l+(t<<2)|0;n[z>>2]=+n[z>>2]+ +(d[r+(t<<1)>>1]|0);t=t+1|0}while((t|0)!=(i|0))}s=s+-1|0}while((s|0)!=0)}while(0);if(a){a=0;do{f[k+(a<<2)>>2]=f[l+(a<<2)>>2];a=a+1|0}while((a|0)!=(i|0))}if((l|0)==(g|0)){u=c;return}HQa(l);f[e>>2]=g;f[j>>2]=264;u=c;return}function IE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0.0,z=0;c=u;u=u+1104|0;d=c;e=f[a+40>>2]|0;g=f[e>>2]|0;h=X(((f[a>>2]|0)>>>3&511)+1|0,f[e+4>>2]|0)|0;e=d+8|0;f[d>>2]=e;i=d+4|0;f[i>>2]=h;if(h>>>0>136){k=FQa(h>>>0>536870911?-1:h<<3)|0;f[d>>2]=k;l=k}else l=e;k=f[b+16>>2]|0;b=f[a+16>>2]|0;m=(f[a+48>>2]|0)>>>1;a=(h|0)>0;if(a){n=0;do{p[l+(n<<3)>>3]=+(j[b+(n<<1)>>1]|0);n=n+1|0}while((n|0)!=(h|0))}n=g+-1|0;a:do if(n|0){g=h+-4|0;if((h|0)<4){o=b;q=n;while(1){o=o+(m<<1)|0;if(a){r=0;do{s=l+(r<<3)|0;p[s>>3]=+p[s>>3]+ +(j[o+(r<<1)>>1]|0);r=r+1|0}while((r|0)!=(h|0))}q=q+-1|0;if(!q)break a}}q=h&-4;o=(q|0)<(h|0);r=b;s=n;do{r=r+(m<<1)|0;t=0;do{v=l+(t<<3)|0;w=t|1;x=l+(w<<3)|0;y=+p[x>>3]+ +(j[r+(w<<1)>>1]|0);p[v>>3]=+p[v>>3]+ +(j[r+(t<<1)>>1]|0);p[x>>3]=y;x=t|2;v=l+(x<<3)|0;w=t|3;z=l+(w<<3)|0;y=+p[z>>3]+ +(j[r+(w<<1)>>1]|0);p[v>>3]=+p[v>>3]+ +(j[r+(x<<1)>>1]|0);p[z>>3]=y;t=t+4|0}while((t|0)<=(g|0));if(o){t=q;do{z=l+(t<<3)|0;p[z>>3]=+p[z>>3]+ +(j[r+(t<<1)>>1]|0);t=t+1|0}while((t|0)!=(h|0))}s=s+-1|0}while((s|0)!=0)}while(0);if(a){a=0;do{p[k+(a<<3)>>3]=+p[l+(a<<3)>>3];a=a+1|0}while((a|0)!=(h|0))}if((l|0)==(e|0)){u=c;return}HQa(l);f[d>>2]=e;f[i>>2]=136;u=c;return}function JE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0.0,z=0;c=u;u=u+1072|0;d=c;e=f[a+40>>2]|0;g=f[e>>2]|0;h=X(((f[a>>2]|0)>>>3&511)+1|0,f[e+4>>2]|0)|0;e=d+8|0;f[d>>2]=e;i=d+4|0;f[i>>2]=h;if(h>>>0>264){k=FQa(h>>>0>1073741823?-1:h<<2)|0;f[d>>2]=k;l=k}else l=e;k=f[b+16>>2]|0;b=f[a+16>>2]|0;m=(f[a+48>>2]|0)>>>1;a=(h|0)>0;if(a){o=0;do{n[l+(o<<2)>>2]=+(j[b+(o<<1)>>1]|0);o=o+1|0}while((o|0)!=(h|0))}o=g+-1|0;a:do if(o|0){g=h+-4|0;if((h|0)<4){p=b;q=o;while(1){p=p+(m<<1)|0;if(a){r=0;do{s=l+(r<<2)|0;n[s>>2]=+n[s>>2]+ +(j[p+(r<<1)>>1]|0);r=r+1|0}while((r|0)!=(h|0))}q=q+-1|0;if(!q)break a}}q=h&-4;p=(q|0)<(h|0);r=b;s=o;do{r=r+(m<<1)|0;t=0;do{v=l+(t<<2)|0;w=t|1;x=l+(w<<2)|0;y=+n[x>>2]+ +(j[r+(w<<1)>>1]|0);n[v>>2]=+n[v>>2]+ +(j[r+(t<<1)>>1]|0);n[x>>2]=y;x=t|2;v=l+(x<<2)|0;w=t|3;z=l+(w<<2)|0;y=+n[z>>2]+ +(j[r+(w<<1)>>1]|0);n[v>>2]=+n[v>>2]+ +(j[r+(x<<1)>>1]|0);n[z>>2]=y;t=t+4|0}while((t|0)<=(g|0));if(p){t=q;do{z=l+(t<<2)|0;n[z>>2]=+n[z>>2]+ +(j[r+(t<<1)>>1]|0);t=t+1|0}while((t|0)!=(h|0))}s=s+-1|0}while((s|0)!=0)}while(0);if(a){a=0;do{f[k+(a<<2)>>2]=f[l+(a<<2)>>2];a=a+1|0}while((a|0)!=(h|0))}if((l|0)==(e|0)){u=c;return}HQa(l);f[d>>2]=e;f[i>>2]=264;u=c;return}function KE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;c=u;u=u+1072|0;d=c;e=f[a+40>>2]|0;g=f[e>>2]|0;i=X(((f[a>>2]|0)>>>3&511)+1|0,f[e+4>>2]|0)|0;e=d+8|0;f[d>>2]=e;j=d+4|0;f[j>>2]=i;if(i>>>0>264){k=FQa(i>>>0>1073741823?-1:i<<2)|0;f[d>>2]=k;l=k}else l=e;k=f[b+16>>2]|0;b=f[a+16>>2]|0;m=f[a+48>>2]|0;a=(i|0)>0;if(a){n=0;do{f[l+(n<<2)>>2]=h[b+n>>0];n=n+1|0}while((n|0)!=(i|0))}n=g+-1|0;a:do if(n|0){g=i+-4|0;if((i|0)<4){o=b;q=n;while(1){o=o+m|0;if(a){r=0;do{s=l+(r<<2)|0;f[s>>2]=(f[s>>2]|0)+(h[o+r>>0]|0);r=r+1|0}while((r|0)!=(i|0))}q=q+-1|0;if(!q)break a}}q=i&-4;o=(q|0)<(i|0);r=b;s=n;do{r=r+m|0;t=0;do{v=l+(t<<2)|0;w=t|1;x=l+(w<<2)|0;y=(f[x>>2]|0)+(h[r+w>>0]|0)|0;f[v>>2]=(f[v>>2]|0)+(h[r+t>>0]|0);f[x>>2]=y;y=t|2;x=l+(y<<2)|0;v=t|3;w=l+(v<<2)|0;z=(f[w>>2]|0)+(h[r+v>>0]|0)|0;f[x>>2]=(f[x>>2]|0)+(h[r+y>>0]|0);f[w>>2]=z;t=t+4|0}while((t|0)<=(g|0));if(o){t=q;do{z=l+(t<<2)|0;f[z>>2]=(f[z>>2]|0)+(h[r+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}s=s+-1|0}while((s|0)!=0)}while(0);if(a){a=0;do{p[k+(a<<3)>>3]=+(f[l+(a<<2)>>2]|0);a=a+1|0}while((a|0)!=(i|0))}if((l|0)==(e|0)){u=c;return}HQa(l);f[d>>2]=e;f[j>>2]=264;u=c;return}function LE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;c=u;u=u+1072|0;d=c;e=f[a+40>>2]|0;g=f[e>>2]|0;i=X(((f[a>>2]|0)>>>3&511)+1|0,f[e+4>>2]|0)|0;e=d+8|0;f[d>>2]=e;j=d+4|0;f[j>>2]=i;if(i>>>0>264){k=FQa(i>>>0>1073741823?-1:i<<2)|0;f[d>>2]=k;l=k}else l=e;k=f[b+16>>2]|0;b=f[a+16>>2]|0;m=f[a+48>>2]|0;a=(i|0)>0;if(a){o=0;do{f[l+(o<<2)>>2]=h[b+o>>0];o=o+1|0}while((o|0)!=(i|0))}o=g+-1|0;a:do if(o|0){g=i+-4|0;if((i|0)<4){p=b;q=o;while(1){p=p+m|0;if(a){r=0;do{s=l+(r<<2)|0;f[s>>2]=(f[s>>2]|0)+(h[p+r>>0]|0);r=r+1|0}while((r|0)!=(i|0))}q=q+-1|0;if(!q)break a}}q=i&-4;p=(q|0)<(i|0);r=b;s=o;do{r=r+m|0;t=0;do{v=l+(t<<2)|0;w=t|1;x=l+(w<<2)|0;y=(f[x>>2]|0)+(h[r+w>>0]|0)|0;f[v>>2]=(f[v>>2]|0)+(h[r+t>>0]|0);f[x>>2]=y;y=t|2;x=l+(y<<2)|0;v=t|3;w=l+(v<<2)|0;z=(f[w>>2]|0)+(h[r+v>>0]|0)|0;f[x>>2]=(f[x>>2]|0)+(h[r+y>>0]|0);f[w>>2]=z;t=t+4|0}while((t|0)<=(g|0));if(p){t=q;do{z=l+(t<<2)|0;f[z>>2]=(f[z>>2]|0)+(h[r+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}s=s+-1|0}while((s|0)!=0)}while(0);if(a){a=0;do{n[k+(a<<2)>>2]=+(f[l+(a<<2)>>2]|0);a=a+1|0}while((a|0)!=(i|0))}if((l|0)==(e|0)){u=c;return}HQa(l);f[d>>2]=e;f[j>>2]=264;u=c;return}function ME(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;c=u;u=u+1072|0;d=c;e=f[a+40>>2]|0;g=f[e>>2]|0;i=X(((f[a>>2]|0)>>>3&511)+1|0,f[e+4>>2]|0)|0;e=d+8|0;f[d>>2]=e;j=d+4|0;f[j>>2]=i;if(i>>>0>264){k=FQa(i>>>0>1073741823?-1:i<<2)|0;f[d>>2]=k;l=k}else l=e;k=f[b+16>>2]|0;b=f[a+16>>2]|0;m=f[a+48>>2]|0;a=(i|0)>0;if(a){n=0;do{f[l+(n<<2)>>2]=h[b+n>>0];n=n+1|0}while((n|0)!=(i|0))}n=g+-1|0;a:do if(n|0){g=i+-4|0;if((i|0)<4){o=b;p=n;while(1){o=o+m|0;if(a){q=0;do{r=l+(q<<2)|0;f[r>>2]=(f[r>>2]|0)+(h[o+q>>0]|0);q=q+1|0}while((q|0)!=(i|0))}p=p+-1|0;if(!p)break a}}p=i&-4;o=(p|0)<(i|0);q=b;r=n;do{q=q+m|0;s=0;do{t=l+(s<<2)|0;v=s|1;w=l+(v<<2)|0;x=(f[w>>2]|0)+(h[q+v>>0]|0)|0;f[t>>2]=(f[t>>2]|0)+(h[q+s>>0]|0);f[w>>2]=x;x=s|2;w=l+(x<<2)|0;t=s|3;v=l+(t<<2)|0;y=(f[v>>2]|0)+(h[q+t>>0]|0)|0;f[w>>2]=(f[w>>2]|0)+(h[q+x>>0]|0);f[v>>2]=y;s=s+4|0}while((s|0)<=(g|0));if(o){s=p;do{y=l+(s<<2)|0;f[y>>2]=(f[y>>2]|0)+(h[q+s>>0]|0);s=s+1|0}while((s|0)!=(i|0))}r=r+-1|0}while((r|0)!=0)}while(0);if(a){a=0;do{f[k+(a<<2)>>2]=f[l+(a<<2)>>2];a=a+1|0}while((a|0)!=(i|0))}if((l|0)==(e|0)){u=c;return}HQa(l);f[d>>2]=e;f[j>>2]=264;u=c;return}function NE(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0.0,ba=0.0,ca=0.0,da=0.0;e=u;u=u+1280|0;g=e+1264|0;h=e+1208|0;i=e+1152|0;j=e;k=e+1136|0;l=e+1128|0;m=e+1096|0;n=e+32|0;yV(g,29200);do if((HJ(c)|0)==65536){o=f[c+4>>2]|0;f[h>>2]=f[o>>2];q=h+4|0;r=o+4|0;f[q>>2]=f[r>>2];s=h+8|0;f[s>>2]=f[o+8>>2];f[h+12>>2]=f[o+12>>2];f[h+16>>2]=f[o+16>>2];f[h+20>>2]=f[o+20>>2];f[h+24>>2]=f[o+24>>2];f[h+28>>2]=f[o+28>>2];f[h+32>>2]=f[o+32>>2];t=f[o+36>>2]|0;f[h+36>>2]=t;f[h+40>>2]=s;s=h+48|0;v=h+44|0;f[v>>2]=s;f[s>>2]=0;f[h+52>>2]=0;if(t|0){s=t+12|0;f[s>>2]=(f[s>>2]|0)+1}if((f[r>>2]|0)<3){r=f[o+44>>2]|0;s=f[v>>2]|0;f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2];break}else{f[q>>2]=0;WO(h,o);break}}else DJ(h,c,-1);while(0);do if((HJ(d)|0)==65536){c=f[d+4>>2]|0;f[i>>2]=f[c>>2];o=i+4|0;q=c+4|0;f[o>>2]=f[q>>2];r=i+8|0;f[r>>2]=f[c+8>>2];f[i+12>>2]=f[c+12>>2];s=i+16|0;f[s>>2]=f[c+16>>2];f[i+20>>2]=f[c+20>>2];f[i+24>>2]=f[c+24>>2];f[i+28>>2]=f[c+28>>2];f[i+32>>2]=f[c+32>>2];v=f[c+36>>2]|0;f[i+36>>2]=v;f[i+40>>2]=r;r=i+48|0;t=i+44|0;f[t>>2]=r;f[r>>2]=0;f[i+52>>2]=0;if(v|0){r=v+12|0;f[r>>2]=(f[r>>2]|0)+1}if((f[q>>2]|0)<3){q=f[c+44>>2]|0;r=f[t>>2]|0;f[r>>2]=f[q>>2];f[r+4>>2]=f[q+4>>2];w=s;break}else{f[o>>2]=0;WO(i,c);w=s;break}}else{DJ(i,d,-1);w=i+16|0}while(0);if(f[w>>2]|0){d=f[i+4>>2]|0;if((d|0)<3)x=X(f[i+12>>2]|0,f[i+8>>2]|0)|0;else{s=f[i+40>>2]|0;c=0;o=1;while(1){q=X(f[s+(c<<2)>>2]|0,o)|0;c=c+1|0;if((c|0)==(d|0)){x=q;break}else o=q}}if(!((d|0)==0|(x|0)==0)?f[i>>2]&4095|0:0){f[j>>2]=0;f[j+4>>2]=0;y=JV(j,32)|0;z=154214;A=y+32|0;do{b[y>>0]=b[z>>0]|0;y=y+1|0;z=z+1|0}while((y|0)<(A|0));EP(-215,j,144585,144590,112);KV(j)}}x=f[h>>2]|0;d=x>>>3&511;o=d+1|0;c=x&7;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[j+24>>2]=0;f[j+28>>2]=0;x=AV(c)|0;if(!(o>>>0<5&(x|0)!=0)){f[k>>2]=0;f[k+4>>2]=0;y=JV(k,20)|0;z=175938;A=y+20|0;do{b[y>>0]=b[z>>0]|0;y=y+1|0;z=z+1|0}while((y|0)<(A|0));EP(-215,k,144585,144590,121);KV(k)}f[k>>2]=h;f[k+4>>2]=i;f[k+8>>2]=0;FN(m,k,l,-1);k=f[m+20>>2]|0;z=n+8|0;f[n>>2]=z;y=n+4|0;f[y>>2]=264;A=c>>>0<4;if(A){s=c>>>0<2?8388608:32768;c=(s|0)<(k|0)?s:k;f[y>>2]=o;if(d>>>0>263){q=FQa(o<<2)|0;f[n>>2]=q;B=q}else B=z;FVa(B|0,0,(d<<2)+4|0)|0;d=f[h+4>>2]|0;if((d|0)>0){C=f[(f[h+44>>2]|0)+(d+-1<<2)>>2]|0;D=B;E=c;F=s}else{C=0;D=B;E=c;F=s}}else{C=0;D=j;E=k;F=0}s=m+16|0;c=(k|0)>0;B=l+4|0;d=0;q=0;r=0;while(1){if(d>>>0>=(f[s>>2]|0)>>>0)break;t=d+1|0;a:do if(c){v=f[l>>2]|0;G=f[B>>2]|0;if(A){H=0;I=q;J=r;K=v;L=G}else{M=0;N=q;O=r;P=v;v=G;while(1){G=k-M|0;Q=(E|0)<(G|0)?E:G;G=fg[x&63](P,v,D,Q,o)|0;R=G+O|0;S=G+N|0;G=X(Q,C)|0;P=(f[l>>2]|0)+G|0;f[l>>2]=P;G=f[B>>2]|0;if(!G)T=0;else{U=G+Q|0;f[B>>2]=U;T=U}M=M+E|0;if((k|0)<=(M|0)){V=S;W=R;break a}else{N=S;O=R;v=T}}}while(1){v=k-H|0;O=(E|0)<(v|0)?E:v;v=fg[x&63](K,L,D,O,o)|0;N=v+J|0;M=v+I|0;if((N+E|0)<(F|0)?((O+H|0)<(k|0)?1:t>>>0<(f[s>>2]|0)>>>0):0)Y=N;else{Z=0;_=36}if((_|0)==36)while(1){_=0;N=D+(Z<<2)|0;v=j+(Z<<3)|0;p[v>>3]=+p[v>>3]+ +(f[N>>2]|0);f[N>>2]=0;Z=Z+1|0;if((Z|0)==(o|0)){Y=0;break}else _=36}N=X(O,C)|0;K=(f[l>>2]|0)+N|0;f[l>>2]=K;N=f[B>>2]|0;if(!N)$=0;else{v=N+O|0;f[B>>2]=v;$=v}H=H+E|0;if((k|0)<=(H|0)){V=M;W=Y;break}else{I=M;J=Y;L=$}}}else{V=q;W=r}while(0);GN(m)|0;d=t;q=V;r=W}aa=(q|0)==0?0.0:1.0/+(q>>>0);ba=aa*+p[j+8>>3];ca=aa*+p[j+16>>3];da=aa*+p[j+24>>3];p[a>>3]=aa*+p[j>>3];p[a+8>>3]=ba;p[a+16>>3]=ca;p[a+24>>3]=da;a=f[n>>2]|0;if((a|0)!=(z|0)){if(a|0)HQa(a);f[n>>2]=z;f[y>>2]=264}y=i+36|0;z=f[y>>2]|0;if(z|0?(n=z+12|0,z=f[n>>2]|0,f[n>>2]=z+-1,(z|0)==1):0)XO(i);f[y>>2]=0;y=i+4|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;if((f[y>>2]|0)>0){w=f[i+40>>2]|0;z=0;do{f[w+(z<<2)>>2]=0;z=z+1|0}while((z|0)<(f[y>>2]|0))}y=f[i+44>>2]|0;if((y|0)!=(i+48|0))dX(y);y=h+36|0;i=f[y>>2]|0;if(i|0?(z=i+12|0,i=f[z>>2]|0,f[z>>2]=i+-1,(i|0)==1):0)XO(h);f[y>>2]=0;y=h+16|0;i=h+4|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;if((f[i>>2]|0)>0){y=f[h+40>>2]|0;z=0;do{f[y+(z<<2)>>2]=0;z=z+1|0}while((z|0)<(f[i>>2]|0))}i=f[h+44>>2]|0;if((i|0)!=(h+48|0))dX(i);if(!(f[g+4>>2]|0)){u=e;return}u=e;return}function OE(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0.0,na=0.0,oa=0.0,pa=0;g=u;u=u+1360|0;h=g+1344|0;i=g+1288|0;j=g+1232|0;k=g+1216|0;l=g+1208|0;m=g+1176|0;n=g+16|0;o=g;q=g+1120|0;r=g+1112|0;yV(h,29220);do if((HJ(a)|0)==65536){s=f[a+4>>2]|0;f[i>>2]=f[s>>2];t=i+4|0;v=s+4|0;f[t>>2]=f[v>>2];w=i+8|0;f[w>>2]=f[s+8>>2];f[i+12>>2]=f[s+12>>2];f[i+16>>2]=f[s+16>>2];f[i+20>>2]=f[s+20>>2];f[i+24>>2]=f[s+24>>2];f[i+28>>2]=f[s+28>>2];f[i+32>>2]=f[s+32>>2];x=f[s+36>>2]|0;f[i+36>>2]=x;f[i+40>>2]=w;w=i+48|0;y=i+44|0;f[y>>2]=w;f[w>>2]=0;f[i+52>>2]=0;if(x|0){w=x+12|0;f[w>>2]=(f[w>>2]|0)+1}if((f[v>>2]|0)<3){v=f[s+44>>2]|0;w=f[y>>2]|0;f[w>>2]=f[v>>2];f[w+4>>2]=f[v+4>>2];break}else{f[t>>2]=0;WO(i,s);break}}else DJ(i,a,-1);while(0);do if((HJ(e)|0)==65536){a=f[e+4>>2]|0;f[j>>2]=f[a>>2];s=j+4|0;t=a+4|0;f[s>>2]=f[t>>2];v=j+8|0;f[v>>2]=f[a+8>>2];f[j+12>>2]=f[a+12>>2];w=j+16|0;f[w>>2]=f[a+16>>2];f[j+20>>2]=f[a+20>>2];f[j+24>>2]=f[a+24>>2];f[j+28>>2]=f[a+28>>2];f[j+32>>2]=f[a+32>>2];y=f[a+36>>2]|0;f[j+36>>2]=y;f[j+40>>2]=v;v=j+48|0;x=j+44|0;f[x>>2]=v;f[v>>2]=0;f[j+52>>2]=0;if(y|0){v=y+12|0;f[v>>2]=(f[v>>2]|0)+1}if((f[t>>2]|0)<3){t=f[a+44>>2]|0;v=f[x>>2]|0;f[v>>2]=f[t>>2];f[v+4>>2]=f[t+4>>2];z=w;break}else{f[s>>2]=0;WO(j,a);z=w;break}}else{DJ(j,e,-1);z=j+16|0}while(0);if(f[z>>2]|0){e=f[j+4>>2]|0;if((e|0)<3)A=X(f[j+12>>2]|0,f[j+8>>2]|0)|0;else{w=f[j+40>>2]|0;a=0;s=1;while(1){t=X(f[w+(a<<2)>>2]|0,s)|0;a=a+1|0;if((a|0)==(e|0)){A=t;break}else s=t}}if(!((e|0)==0|(A|0)==0)?f[j>>2]&4095|0:0){f[k>>2]=0;f[k+4>>2]=0;B=JV(k,72)|0;C=222587;D=B+72|0;do{b[B>>0]=b[C>>0]|0;B=B+1|0;C=C+1|0}while((B|0)<(D|0));EP(-215,k,144695,144590,773);KV(k)}}A=f[i>>2]|0;e=A>>>3&511;s=e+1|0;a=A&7;A=f[29240+(a<<2)>>2]|0;if((a|0)==7){f[k>>2]=0;f[k+4>>2]=0;B=JV(k,9)|0;C=196746;D=B+9|0;do{b[B>>0]=b[C>>0]|0;B=B+1|0;C=C+1|0}while((B|0)<(D|0));EP(-215,k,144695,144590,784);KV(k)}f[k>>2]=i;f[k+4>>2]=j;f[k+8>>2]=0;FN(m,k,l,-1);k=f[m+20>>2]|0;w=n+8|0;f[n>>2]=w;t=n+4|0;f[t>>2]=s<<2;if(e>>>0>33){v=FQa(s<<5)|0;f[n>>2]=v;E=v}else E=w;v=E+(s<<3)|0;x=a>>>0<4;y=0;do{p[v+(y<<3)>>3]=0.0;p[E+(y<<3)>>3]=0.0;y=y+1|0}while((y|0)!=(s|0));y=a>>>0<2;if(x){a=(k|0)<32768;F=v+(s<<3)|0;G=y?F+(s<<2)|0:v;H=0;do{f[G+(H<<2)>>2]=0;f[F+(H<<2)>>2]=0;H=H+1|0}while((H|0)!=(s|0));H=a?k:32768;a=f[i+4>>2]|0;if((a|0)>0){I=f[(f[i+44>>2]|0)+(a+-1<<2)>>2]|0;J=F;K=H;M=32768;N=G}else{I=0;J=F;K=H;M=32768;N=G}}else{I=0;J=E;K=k;M=0;N=v}G=m+16|0;H=(k|0)>0;F=l+4|0;a=0;O=0;P=0;while(1){if(P>>>0>=(f[G>>2]|0)>>>0)break;Q=P+1|0;a:do if(H){R=f[l>>2]|0;S=f[F>>2]|0;if(x){T=0;U=a;V=O;W=R;Y=S}else{Z=0;_=a;$=O;aa=R;R=S;while(1){S=k-Z|0;ba=(K|0)<(S|0)?K:S;S=ig[A&127](aa,R,J,N,ba,s)|0;ca=S+_|0;da=S+$|0;S=X(ba,I)|0;aa=(f[l>>2]|0)+S|0;f[l>>2]=aa;S=f[F>>2]|0;if(!S)ea=0;else{fa=S+ba|0;f[F>>2]=fa;ea=fa}Z=Z+K|0;if((k|0)<=(Z|0)){ga=ca;ha=da;break a}else{_=ca;$=da;R=ea}}}while(1){R=k-T|0;$=(K|0)<(R|0)?K:R;R=ig[A&127](W,Y,J,N,$,s)|0;_=R+U|0;Z=R+V|0;if((_+K|0)<(M|0)?(($+T|0)<(k|0)?1:Q>>>0<(f[G>>2]|0)>>>0):0)ia=_;else{ja=0;ka=40}if((ka|0)==40){while(1){ka=0;_=J+(ja<<2)|0;R=E+(ja<<3)|0;p[R>>3]=+p[R>>3]+ +(f[_>>2]|0);f[_>>2]=0;ja=ja+1|0;if((ja|0)==(s|0))break;else ka=40}if(y){_=0;do{R=N+(_<<2)|0;aa=v+(_<<3)|0;p[aa>>3]=+p[aa>>3]+ +(f[R>>2]|0);f[R>>2]=0;_=_+1|0}while((_|0)!=(s|0));ia=0}else ia=0}_=X($,I)|0;W=(f[l>>2]|0)+_|0;f[l>>2]=W;_=f[F>>2]|0;if(!_)la=0;else{R=_+$|0;f[F>>2]=R;la=R}T=T+K|0;if((k|0)<=(T|0)){ga=ia;ha=Z;break}else{U=ia;V=Z;Y=la}}}else{ga=a;ha=O}while(0);GN(m)|0;a=ga;O=ha;P=Q}ma=(O|0)==0?0.0:1.0/+(O|0);O=0;do{P=E+(O<<3)|0;na=ma*+p[P>>3];p[P>>3]=na;P=v+(O<<3)|0;oa=ma*+p[P>>3]-na*na;na=+L(+(oa<0.0?0.0:oa));p[P>>3]=na;O=O+1|0}while((O|0)!=(s|0));O=o+8|0;P=o+12|0;ha=o+4|0;ga=q+4|0;a=q+8|0;m=q+12|0;la=q+16|0;Y=q+20|0;V=q+24|0;ia=q+28|0;U=q+32|0;T=q+36|0;k=q+40|0;K=q+48|0;F=q+44|0;W=q+52|0;l=r+4|0;I=e^536870911;N=0;while(1){y=(N|0)==0;ja=y?E:v;J=y?c:d;y=J;G=f[y+4>>2]|0;M=o;f[M>>2]=f[y>>2];f[M+4>>2]=G;f[O>>2]=f[J+8>>2];f[P>>2]=f[J+12>>2];if(yK(o)|0){if(!(tK(o)|0))vK(o,s,1,6,-1,1,0);do if((HJ(o)|0)==65536){J=f[ha>>2]|0;f[q>>2]=f[J>>2];G=J+4|0;f[ga>>2]=f[G>>2];f[a>>2]=f[J+8>>2];f[m>>2]=f[J+12>>2];f[la>>2]=f[J+16>>2];f[Y>>2]=f[J+20>>2];f[V>>2]=f[J+24>>2];f[ia>>2]=f[J+28>>2];f[U>>2]=f[J+32>>2];M=f[J+36>>2]|0;f[T>>2]=M;f[k>>2]=a;f[F>>2]=K;f[K>>2]=0;f[W>>2]=0;if(M|0){y=M+12|0;f[y>>2]=(f[y>>2]|0)+1}if((f[G>>2]|0)<3){G=f[J+44>>2]|0;y=f[F>>2]|0;f[y>>2]=f[G>>2];f[y+4>>2]=f[G+4>>2];break}else{f[ga>>2]=0;WO(q,J);break}}else DJ(q,o,-1);while(0);Q=f[ga>>2]|0;if((Q|0)<3)pa=X(f[m>>2]|0,f[a>>2]|0)|0;else{J=f[k>>2]|0;G=0;y=1;while(1){M=X(f[J+(G<<2)>>2]|0,y)|0;G=G+1|0;if((G|0)==(Q|0)){pa=M;break}else y=M}}do if((f[q>>2]&20479|0)==16390)if((f[m>>2]|0)==1)if((pa|0)>(e|0))break;else{ka=71;break}else if((pa|0)<=(e|0)|(f[a>>2]|0)!=1){ka=71;break}else break;else ka=71;while(0);if((ka|0)==71){ka=0;f[r>>2]=0;f[l>>2]=0;B=JV(r,86)|0;C=144706;D=B+86|0;do{b[B>>0]=b[C>>0]|0;B=B+1|0;C=C+1|0}while((B|0)<(D|0));EP(-215,r,144695,144590,862);KV(r)}y=f[la>>2]|0;Q=0;do{p[y+(Q<<3)>>3]=+p[ja+(Q<<3)>>3];Q=Q+1|0}while((Q|0)!=(s|0));if((s|0)<(pa|0))FVa(y+(s<<3)|0,0,pa+I<<3|0)|0;Q=f[T>>2]|0;if(Q|0?(ja=Q+12|0,Q=f[ja>>2]|0,f[ja>>2]=Q+-1,(Q|0)==1):0)XO(q);f[T>>2]=0;f[la>>2]=0;f[la+4>>2]=0;f[la+8>>2]=0;f[la+12>>2]=0;if((f[ga>>2]|0)>0){Q=f[k>>2]|0;ja=0;do{f[Q+(ja<<2)>>2]=0;ja=ja+1|0}while((ja|0)<(f[ga>>2]|0))}ja=f[F>>2]|0;if((ja|0)!=(K|0))dX(ja)}if((N|0)<1)N=N+1|0;else break}N=f[n>>2]|0;if((N|0)!=(w|0)){if(N|0)HQa(N);f[n>>2]=w;f[t>>2]=136}t=j+36|0;w=f[t>>2]|0;if(w|0?(n=w+12|0,w=f[n>>2]|0,f[n>>2]=w+-1,(w|0)==1):0)XO(j);f[t>>2]=0;t=j+4|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;if((f[t>>2]|0)>0){z=f[j+40>>2]|0;w=0;do{f[z+(w<<2)>>2]=0;w=w+1|0}while((w|0)<(f[t>>2]|0))}t=f[j+44>>2]|0;if((t|0)!=(j+48|0))dX(t);t=i+36|0;j=f[t>>2]|0;if(j|0?(w=j+12|0,j=f[w>>2]|0,f[w>>2]=j+-1,(j|0)==1):0)XO(i);f[t>>2]=0;t=i+16|0;j=i+4|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;if((f[j>>2]|0)>0){t=f[i+40>>2]|0;w=0;do{f[t+(w<<2)>>2]=0;w=w+1|0}while((w|0)<(f[j>>2]|0))}j=f[i+44>>2]|0;if((j|0)!=(i+48|0))dX(j);if(!(f[h+4>>2]|0)){u=g;return}u=g;return}function PE(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0;if(!c){j=(i|0)%4|0;switch(j|0){case 1:{k=f[d>>2]|0;l=f[e>>2]|0;if((g|0)>0){m=a;n=0;o=k;p=l;while(1){q=h[m>>0]|0;r=o+q|0;s=(X(q,q)|0)+p|0;n=n+1|0;if((n|0)==(g|0)){t=g;u=r;v=s;break}else{m=m+i|0;o=r;p=s}}}else{t=0;u=k;v=l}f[d>>2]=u;f[e>>2]=v;w=t;break}case 2:{t=f[d>>2]|0;v=d+4|0;u=f[v>>2]|0;l=f[e>>2]|0;k=e+4|0;p=f[k>>2]|0;if((g|0)>0){o=t;m=u;n=l;s=p;r=0;q=a;while(1){x=h[q>>0]|0;y=o+x|0;z=(X(x,x)|0)+n|0;x=h[q+1>>0]|0;A=m+x|0;B=(X(x,x)|0)+s|0;r=r+1|0;if((r|0)==(g|0)){C=y;D=A;E=z;F=B;G=g;break}else{o=y;m=A;n=z;s=B;q=q+i|0}}}else{C=t;D=u;E=l;F=p;G=0}f[d>>2]=C;f[v>>2]=D;f[e>>2]=E;f[k>>2]=F;w=G;break}case 3:{G=f[d>>2]|0;F=d+4|0;k=f[F>>2]|0;E=d+8|0;D=f[E>>2]|0;v=f[e>>2]|0;C=e+4|0;p=f[C>>2]|0;l=e+8|0;u=f[l>>2]|0;if((g|0)>0){t=G;q=k;s=u;n=p;m=v;o=D;r=0;B=a;while(1){z=h[B>>0]|0;A=t+z|0;y=(X(z,z)|0)+m|0;z=h[B+1>>0]|0;x=q+z|0;H=(X(z,z)|0)+n|0;z=h[B+2>>0]|0;I=o+z|0;J=(X(z,z)|0)+s|0;r=r+1|0;if((r|0)==(g|0)){K=A;L=x;M=J;N=H;O=y;P=I;Q=g;break}else{t=A;q=x;s=J;n=H;m=y;o=I;B=B+i|0}}}else{K=G;L=k;M=u;N=p;O=v;P=D;Q=0}f[d>>2]=K;f[F>>2]=L;f[E>>2]=P;f[e>>2]=O;f[C>>2]=N;f[l>>2]=M;w=Q;break}default:w=0}if((j|0)<(i|0)){R=j;S=w}else{T=g;return T|0}while(1){w=d+(R<<2)|0;j=f[w>>2]|0;Q=R+1|0;M=d+(Q<<2)|0;l=f[M>>2]|0;N=R+2|0;C=d+(N<<2)|0;O=f[C>>2]|0;P=R+3|0;E=d+(P<<2)|0;L=f[E>>2]|0;F=e+(R<<2)|0;K=f[F>>2]|0;D=e+(Q<<2)|0;Q=f[D>>2]|0;v=e+(N<<2)|0;N=f[v>>2]|0;p=e+(P<<2)|0;P=f[p>>2]|0;if((S|0)<(g|0)){u=P;k=N;G=Q;B=K;o=L;m=O;n=l;s=j;q=a+R|0;t=S;while(1){r=h[q>>0]|0;I=s+r|0;y=(X(r,r)|0)+B|0;r=h[q+1>>0]|0;H=n+r|0;J=(X(r,r)|0)+G|0;r=h[q+2>>0]|0;x=m+r|0;A=(X(r,r)|0)+k|0;r=h[q+3>>0]|0;z=o+r|0;U=(X(r,r)|0)+u|0;t=t+1|0;if((t|0)==(g|0)){V=U;W=A;Y=J;Z=y;_=z;$=x;aa=H;ba=I;ca=g;break}else{u=U;k=A;G=J;B=y;o=z;m=x;n=H;s=I;q=q+i|0}}}else{V=P;W=N;Y=Q;Z=K;_=L;$=O;aa=l;ba=j;ca=S}f[w>>2]=ba;f[M>>2]=aa;f[C>>2]=$;f[E>>2]=_;f[F>>2]=Z;f[D>>2]=Y;f[v>>2]=W;f[p>>2]=V;R=R+4|0;if((R|0)>=(i|0)){T=g;break}else S=ca}return T|0}switch(i|0){case 1:{ca=f[d>>2]|0;S=f[e>>2]|0;if((g|0)>0){R=S;V=ca;W=0;Y=0;while(1){if(!(b[c+Y>>0]|0)){da=R;ea=V;fa=W}else{Z=h[a+Y>>0]|0;da=(X(Z,Z)|0)+R|0;ea=V+Z|0;fa=W+1|0}Y=Y+1|0;if((Y|0)==(g|0)){ga=da;ha=ea;ia=fa;break}else{R=da;V=ea;W=fa}}}else{ga=S;ha=ca;ia=0}f[d>>2]=ha;f[e>>2]=ga;T=ia;return T|0}case 3:{ia=f[d>>2]|0;ga=d+4|0;ha=f[ga>>2]|0;ca=d+8|0;S=f[ca>>2]|0;fa=f[e>>2]|0;W=e+4|0;ea=f[W>>2]|0;V=e+8|0;da=f[V>>2]|0;if((g|0)>0){R=da;Y=ea;Z=fa;_=S;$=ha;aa=ia;ba=0;q=0;s=a;while(1){if(!(b[c+ba>>0]|0)){ja=R;ka=Y;la=Z;ma=_;na=$;oa=aa;pa=q}else{n=h[s>>0]|0;m=h[s+1>>0]|0;o=h[s+2>>0]|0;ja=(X(o,o)|0)+R|0;ka=(X(m,m)|0)+Y|0;la=(X(n,n)|0)+Z|0;ma=_+o|0;na=$+m|0;oa=aa+n|0;pa=q+1|0}ba=ba+1|0;if((ba|0)==(g|0)){qa=ja;ra=ka;sa=la;ta=ma;ua=na;va=oa;wa=pa;break}else{R=ja;Y=ka;Z=la;_=ma;$=na;aa=oa;q=pa;s=s+3|0}}}else{qa=da;ra=ea;sa=fa;ta=S;ua=ha;va=ia;wa=0}f[d>>2]=va;f[ga>>2]=ua;f[ca>>2]=ta;f[e>>2]=sa;f[W>>2]=ra;f[V>>2]=qa;T=wa;return T|0}default:{if((g|0)<=0){T=0;return T|0}if((i|0)>0){xa=0;ya=0;za=a}else{a=0;wa=0;while(1){qa=wa+((b[c+a>>0]|0)!=0&1)|0;a=a+1|0;if((a|0)==(g|0)){T=qa;break}else wa=qa}return T|0}while(1){if(!(b[c+xa>>0]|0))Aa=ya;else{wa=0;do{a=d+(wa<<2)|0;qa=h[za+wa>>0]|0;V=e+(wa<<2)|0;ra=(f[V>>2]|0)+(X(qa,qa)|0)|0;f[a>>2]=(f[a>>2]|0)+qa;f[V>>2]=ra;wa=wa+1|0}while((wa|0)!=(i|0));Aa=ya+1|0}xa=xa+1|0;if((xa|0)==(g|0)){T=Aa;break}else{ya=Aa;za=za+i|0}}return T|0}}return 0}function QE(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;if(!c){i=(h|0)%4|0;switch(i|0){case 1:{j=f[d>>2]|0;k=f[e>>2]|0;if((g|0)>0){l=a;m=0;n=j;o=k;while(1){p=b[l>>0]|0;q=n+p|0;r=(X(p,p)|0)+o|0;m=m+1|0;if((m|0)==(g|0)){s=g;t=q;u=r;break}else{l=l+h|0;n=q;o=r}}}else{s=0;t=j;u=k}f[d>>2]=t;f[e>>2]=u;v=s;break}case 2:{s=f[d>>2]|0;u=d+4|0;t=f[u>>2]|0;k=f[e>>2]|0;j=e+4|0;o=f[j>>2]|0;if((g|0)>0){n=s;l=t;m=k;r=o;q=0;p=a;while(1){w=b[p>>0]|0;x=n+w|0;y=(X(w,w)|0)+m|0;w=b[p+1>>0]|0;z=l+w|0;A=(X(w,w)|0)+r|0;q=q+1|0;if((q|0)==(g|0)){B=x;C=z;D=y;E=A;F=g;break}else{n=x;l=z;m=y;r=A;p=p+h|0}}}else{B=s;C=t;D=k;E=o;F=0}f[d>>2]=B;f[u>>2]=C;f[e>>2]=D;f[j>>2]=E;v=F;break}case 3:{F=f[d>>2]|0;E=d+4|0;j=f[E>>2]|0;D=d+8|0;C=f[D>>2]|0;u=f[e>>2]|0;B=e+4|0;o=f[B>>2]|0;k=e+8|0;t=f[k>>2]|0;if((g|0)>0){s=F;p=j;r=t;m=o;l=u;n=C;q=0;A=a;while(1){y=b[A>>0]|0;z=s+y|0;x=(X(y,y)|0)+l|0;y=b[A+1>>0]|0;w=p+y|0;G=(X(y,y)|0)+m|0;y=b[A+2>>0]|0;H=n+y|0;I=(X(y,y)|0)+r|0;q=q+1|0;if((q|0)==(g|0)){J=z;K=w;L=I;M=G;N=x;O=H;P=g;break}else{s=z;p=w;r=I;m=G;l=x;n=H;A=A+h|0}}}else{J=F;K=j;L=t;M=o;N=u;O=C;P=0}f[d>>2]=J;f[E>>2]=K;f[D>>2]=O;f[e>>2]=N;f[B>>2]=M;f[k>>2]=L;v=P;break}default:v=0}if((i|0)<(h|0)){Q=i;R=v}else{S=g;return S|0}while(1){v=d+(Q<<2)|0;i=f[v>>2]|0;P=Q+1|0;L=d+(P<<2)|0;k=f[L>>2]|0;M=Q+2|0;B=d+(M<<2)|0;N=f[B>>2]|0;O=Q+3|0;D=d+(O<<2)|0;K=f[D>>2]|0;E=e+(Q<<2)|0;J=f[E>>2]|0;C=e+(P<<2)|0;P=f[C>>2]|0;u=e+(M<<2)|0;M=f[u>>2]|0;o=e+(O<<2)|0;O=f[o>>2]|0;if((R|0)<(g|0)){t=O;j=M;F=P;A=J;n=K;l=N;m=k;r=i;p=a+Q|0;s=R;while(1){q=b[p>>0]|0;H=r+q|0;x=(X(q,q)|0)+A|0;q=b[p+1>>0]|0;G=m+q|0;I=(X(q,q)|0)+F|0;q=b[p+2>>0]|0;w=l+q|0;z=(X(q,q)|0)+j|0;q=b[p+3>>0]|0;y=n+q|0;T=(X(q,q)|0)+t|0;s=s+1|0;if((s|0)==(g|0)){U=T;V=z;W=I;Y=x;Z=y;_=w;$=G;aa=H;ba=g;break}else{t=T;j=z;F=I;A=x;n=y;l=w;m=G;r=H;p=p+h|0}}}else{U=O;V=M;W=P;Y=J;Z=K;_=N;$=k;aa=i;ba=R}f[v>>2]=aa;f[L>>2]=$;f[B>>2]=_;f[D>>2]=Z;f[E>>2]=Y;f[C>>2]=W;f[u>>2]=V;f[o>>2]=U;Q=Q+4|0;if((Q|0)>=(h|0)){S=g;break}else R=ba}return S|0}switch(h|0){case 1:{ba=f[d>>2]|0;R=f[e>>2]|0;if((g|0)>0){Q=R;U=ba;V=0;W=0;while(1){if(!(b[c+W>>0]|0)){ca=Q;da=U;ea=V}else{Y=b[a+W>>0]|0;ca=(X(Y,Y)|0)+Q|0;da=U+Y|0;ea=V+1|0}W=W+1|0;if((W|0)==(g|0)){fa=ca;ga=da;ha=ea;break}else{Q=ca;U=da;V=ea}}}else{fa=R;ga=ba;ha=0}f[d>>2]=ga;f[e>>2]=fa;S=ha;return S|0}case 3:{ha=f[d>>2]|0;fa=d+4|0;ga=f[fa>>2]|0;ba=d+8|0;R=f[ba>>2]|0;ea=f[e>>2]|0;V=e+4|0;da=f[V>>2]|0;U=e+8|0;ca=f[U>>2]|0;if((g|0)>0){Q=ca;W=da;Y=ea;Z=R;_=ga;$=ha;aa=0;p=0;r=a;while(1){if(!(b[c+aa>>0]|0)){ia=Q;ja=W;ka=Y;la=Z;ma=_;na=$;oa=p}else{m=b[r>>0]|0;l=b[r+1>>0]|0;n=b[r+2>>0]|0;ia=(X(n,n)|0)+Q|0;ja=(X(l,l)|0)+W|0;ka=(X(m,m)|0)+Y|0;la=Z+n|0;ma=_+l|0;na=$+m|0;oa=p+1|0}aa=aa+1|0;if((aa|0)==(g|0)){pa=ia;qa=ja;ra=ka;sa=la;ta=ma;ua=na;va=oa;break}else{Q=ia;W=ja;Y=ka;Z=la;_=ma;$=na;p=oa;r=r+3|0}}}else{pa=ca;qa=da;ra=ea;sa=R;ta=ga;ua=ha;va=0}f[d>>2]=ua;f[fa>>2]=ta;f[ba>>2]=sa;f[e>>2]=ra;f[V>>2]=qa;f[U>>2]=pa;S=va;return S|0}default:{if((g|0)<=0){S=0;return S|0}if((h|0)>0){wa=0;xa=0;ya=a}else{a=0;va=0;while(1){pa=va+((b[c+a>>0]|0)!=0&1)|0;a=a+1|0;if((a|0)==(g|0)){S=pa;break}else va=pa}return S|0}while(1){if(!(b[c+wa>>0]|0))za=xa;else{va=0;do{a=d+(va<<2)|0;pa=b[ya+va>>0]|0;U=e+(va<<2)|0;qa=(f[U>>2]|0)+(X(pa,pa)|0)|0;f[a>>2]=(f[a>>2]|0)+pa;f[U>>2]=qa;va=va+1|0}while((va|0)!=(h|0));za=xa+1|0}wa=wa+1|0;if((wa|0)==(g|0)){S=za;break}else{xa=za;ya=ya+h|0}}return S|0}}return 0}function RE(a,c,e,g,h,i){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0.0,m=0,n=0,o=0,q=0.0,r=0,s=0,t=0.0,u=0.0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0,F=0,G=0.0,H=0.0,I=0,J=0,K=0,L=0.0,M=0,N=0,O=0.0,P=0.0,Q=0.0,R=0,S=0,T=0,U=0,V=0,W=0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0,aa=0,ba=0,ca=0,da=0,ea=0.0,fa=0,ga=0,ha=0.0,ia=0,ja=0,ka=0.0,la=0.0,ma=0.0,na=0,oa=0,pa=0,qa=0,ra=0.0,sa=0.0,ta=0.0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0;if(!c){j=(i|0)%4|0;switch(j|0){case 1:{k=f[e>>2]|0;l=+p[g>>3];if((h|0)>0){m=a;n=0;o=k;q=l;while(1){r=d[m>>1]|0;s=o+(r&65535)|0;t=+(r&65535);u=q+t*t;n=n+1|0;if((n|0)==(h|0)){v=h;w=s;x=u;break}else{m=m+(i<<1)|0;o=s;q=u}}}else{v=0;w=k;x=l}f[e>>2]=w;p[g>>3]=x;y=v;break}case 2:{v=f[e>>2]|0;w=e+4|0;k=f[w>>2]|0;x=+p[g>>3];o=g+8|0;l=+p[o>>3];if((h|0)>0){m=v;n=k;q=x;u=l;s=0;r=a;while(1){z=d[r>>1]|0;A=d[r+2>>1]|0;B=m+(z&65535)|0;t=+(z&65535);C=q+t*t;z=n+(A&65535)|0;t=+(A&65535);D=u+t*t;s=s+1|0;if((s|0)==(h|0)){E=B;F=z;G=C;H=D;I=h;break}else{m=B;n=z;q=C;u=D;r=r+(i<<1)|0}}}else{E=v;F=k;G=x;H=l;I=0}f[e>>2]=E;f[w>>2]=F;p[g>>3]=G;p[o>>3]=H;y=I;break}case 3:{I=f[e>>2]|0;o=e+4|0;F=f[o>>2]|0;w=e+8|0;E=f[w>>2]|0;H=+p[g>>3];k=g+8|0;G=+p[k>>3];v=g+16|0;l=+p[v>>3];if((h|0)>0){r=I;n=F;x=l;u=G;q=H;m=E;s=0;z=a;while(1){B=d[z>>1]|0;A=d[z+2>>1]|0;J=d[z+4>>1]|0;K=r+(B&65535)|0;D=+(B&65535);C=q+D*D;B=n+(A&65535)|0;D=+(A&65535);t=u+D*D;A=m+(J&65535)|0;D=+(J&65535);L=x+D*D;s=s+1|0;if((s|0)==(h|0)){M=K;N=B;O=L;P=t;Q=C;R=A;S=h;break}else{r=K;n=B;x=L;u=t;q=C;m=A;z=z+(i<<1)|0}}}else{M=I;N=F;O=l;P=G;Q=H;R=E;S=0}f[e>>2]=M;f[o>>2]=N;f[w>>2]=R;p[g>>3]=Q;p[k>>3]=P;p[v>>3]=O;y=S;break}default:y=0}if((j|0)<(i|0)){T=j;U=y}else{V=h;return V|0}while(1){y=e+(T<<2)|0;j=f[y>>2]|0;S=T+1|0;v=e+(S<<2)|0;k=f[v>>2]|0;R=T+2|0;w=e+(R<<2)|0;N=f[w>>2]|0;o=T+3|0;M=e+(o<<2)|0;E=f[M>>2]|0;F=g+(T<<3)|0;O=+p[F>>3];I=g+(S<<3)|0;P=+p[I>>3];S=g+(R<<3)|0;Q=+p[S>>3];R=g+(o<<3)|0;H=+p[R>>3];if((U|0)<(h|0)){G=H;l=Q;q=P;u=O;o=E;z=N;m=k;n=j;r=a+(T<<1)|0;s=U;while(1){A=d[r>>1]|0;B=d[r+2>>1]|0;K=n+(A&65535)|0;x=+(A&65535);C=u+x*x;A=m+(B&65535)|0;x=+(B&65535);t=q+x*x;B=d[r+4>>1]|0;J=d[r+6>>1]|0;W=z+(B&65535)|0;x=+(B&65535);L=l+x*x;B=o+(J&65535)|0;x=+(J&65535);D=G+x*x;s=s+1|0;if((s|0)==(h|0)){X=D;Y=L;Z=t;_=C;$=B;aa=W;ba=A;ca=K;da=h;break}else{G=D;l=L;q=t;u=C;o=B;z=W;m=A;n=K;r=r+(i<<1)|0}}}else{X=H;Y=Q;Z=P;_=O;$=E;aa=N;ba=k;ca=j;da=U}f[y>>2]=ca;f[v>>2]=ba;f[w>>2]=aa;f[M>>2]=$;p[F>>3]=_;p[I>>3]=Z;p[S>>3]=Y;p[R>>3]=X;T=T+4|0;if((T|0)>=(i|0)){V=h;break}else U=da}return V|0}switch(i|0){case 1:{da=f[e>>2]|0;X=+p[g>>3];if((h|0)>0){Y=X;U=da;T=0;$=0;while(1){if(!(b[c+$>>0]|0)){ea=Y;fa=U;ga=T}else{aa=d[a+($<<1)>>1]|0;Z=+(aa&65535);ea=Y+Z*Z;fa=U+(aa&65535)|0;ga=T+1|0}$=$+1|0;if(($|0)==(h|0)){ha=ea;ia=fa;ja=ga;break}else{Y=ea;U=fa;T=ga}}}else{ha=X;ia=da;ja=0}f[e>>2]=ia;p[g>>3]=ha;V=ja;return V|0}case 3:{ja=f[e>>2]|0;ia=e+4|0;da=f[ia>>2]|0;ga=e+8|0;T=f[ga>>2]|0;ha=+p[g>>3];fa=g+8|0;X=+p[fa>>3];U=g+16|0;ea=+p[U>>3];if((h|0)>0){Y=ea;Z=X;_=ha;$=T;aa=da;ba=ja;ca=0;r=0;n=a;while(1){if(!(b[c+ca>>0]|0)){ka=Y;la=Z;ma=_;na=$;oa=aa;pa=ba;qa=r}else{m=d[n>>1]|0;z=d[n+2>>1]|0;o=d[n+4>>1]|0;u=+(m&65535);q=+(z&65535);l=+(o&65535);ka=Y+l*l;la=Z+q*q;ma=_+u*u;na=$+(o&65535)|0;oa=aa+(z&65535)|0;pa=ba+(m&65535)|0;qa=r+1|0}ca=ca+1|0;if((ca|0)==(h|0)){ra=ka;sa=la;ta=ma;ua=na;va=oa;wa=pa;xa=qa;break}else{Y=ka;Z=la;_=ma;$=na;aa=oa;ba=pa;r=qa;n=n+6|0}}}else{ra=ea;sa=X;ta=ha;ua=T;va=da;wa=ja;xa=0}f[e>>2]=wa;f[ia>>2]=va;f[ga>>2]=ua;p[g>>3]=ta;p[fa>>3]=sa;p[U>>3]=ra;V=xa;return V|0}default:{if((h|0)<=0){V=0;return V|0}if((i|0)>0){ya=0;za=0;Aa=a}else{a=0;xa=0;while(1){U=xa+((b[c+a>>0]|0)!=0&1)|0;a=a+1|0;if((a|0)==(h|0)){V=U;break}else xa=U}return V|0}while(1){if(!(b[c+ya>>0]|0))Ba=za;else{xa=0;do{a=d[Aa+(xa<<1)>>1]|0;U=e+(xa<<2)|0;fa=g+(xa<<3)|0;ra=+(a&65535);sa=+p[fa>>3]+ra*ra;f[U>>2]=(f[U>>2]|0)+(a&65535);p[fa>>3]=sa;xa=xa+1|0}while((xa|0)!=(i|0));Ba=za+1|0}ya=ya+1|0;if((ya|0)==(h|0)){V=Ba;break}else{za=Ba;Aa=Aa+(i<<1)|0}}return V|0}}return 0}function SE(a,c,e,g,h,i){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0.0,m=0,n=0,o=0,q=0.0,r=0,s=0,t=0.0,u=0.0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0,F=0,G=0.0,H=0.0,I=0,J=0,K=0,L=0.0,M=0,N=0,O=0.0,P=0.0,Q=0.0,R=0,S=0,T=0,U=0,V=0,W=0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0,aa=0,ba=0,ca=0,da=0,ea=0.0,fa=0,ga=0,ha=0.0,ia=0,ja=0,ka=0.0,la=0.0,ma=0.0,na=0,oa=0,pa=0,qa=0,ra=0.0,sa=0.0,ta=0.0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0;if(!c){j=(i|0)%4|0;switch(j|0){case 1:{k=f[e>>2]|0;l=+p[g>>3];if((h|0)>0){m=a;n=0;o=k;q=l;while(1){r=d[m>>1]|0;s=o+(r<<16>>16)|0;t=+(r<<16>>16);u=q+t*t;n=n+1|0;if((n|0)==(h|0)){v=h;w=s;x=u;break}else{m=m+(i<<1)|0;o=s;q=u}}}else{v=0;w=k;x=l}f[e>>2]=w;p[g>>3]=x;y=v;break}case 2:{v=f[e>>2]|0;w=e+4|0;k=f[w>>2]|0;x=+p[g>>3];o=g+8|0;l=+p[o>>3];if((h|0)>0){m=v;n=k;q=x;u=l;s=0;r=a;while(1){z=d[r>>1]|0;A=d[r+2>>1]|0;B=m+(z<<16>>16)|0;t=+(z<<16>>16);C=q+t*t;z=n+(A<<16>>16)|0;t=+(A<<16>>16);D=u+t*t;s=s+1|0;if((s|0)==(h|0)){E=B;F=z;G=C;H=D;I=h;break}else{m=B;n=z;q=C;u=D;r=r+(i<<1)|0}}}else{E=v;F=k;G=x;H=l;I=0}f[e>>2]=E;f[w>>2]=F;p[g>>3]=G;p[o>>3]=H;y=I;break}case 3:{I=f[e>>2]|0;o=e+4|0;F=f[o>>2]|0;w=e+8|0;E=f[w>>2]|0;H=+p[g>>3];k=g+8|0;G=+p[k>>3];v=g+16|0;l=+p[v>>3];if((h|0)>0){r=I;n=F;x=l;u=G;q=H;m=E;s=0;z=a;while(1){B=d[z>>1]|0;A=d[z+2>>1]|0;J=d[z+4>>1]|0;K=r+(B<<16>>16)|0;D=+(B<<16>>16);C=q+D*D;B=n+(A<<16>>16)|0;D=+(A<<16>>16);t=u+D*D;A=m+(J<<16>>16)|0;D=+(J<<16>>16);L=x+D*D;s=s+1|0;if((s|0)==(h|0)){M=K;N=B;O=L;P=t;Q=C;R=A;S=h;break}else{r=K;n=B;x=L;u=t;q=C;m=A;z=z+(i<<1)|0}}}else{M=I;N=F;O=l;P=G;Q=H;R=E;S=0}f[e>>2]=M;f[o>>2]=N;f[w>>2]=R;p[g>>3]=Q;p[k>>3]=P;p[v>>3]=O;y=S;break}default:y=0}if((j|0)<(i|0)){T=j;U=y}else{V=h;return V|0}while(1){y=e+(T<<2)|0;j=f[y>>2]|0;S=T+1|0;v=e+(S<<2)|0;k=f[v>>2]|0;R=T+2|0;w=e+(R<<2)|0;N=f[w>>2]|0;o=T+3|0;M=e+(o<<2)|0;E=f[M>>2]|0;F=g+(T<<3)|0;O=+p[F>>3];I=g+(S<<3)|0;P=+p[I>>3];S=g+(R<<3)|0;Q=+p[S>>3];R=g+(o<<3)|0;H=+p[R>>3];if((U|0)<(h|0)){G=H;l=Q;q=P;u=O;o=E;z=N;m=k;n=j;r=a+(T<<1)|0;s=U;while(1){A=d[r>>1]|0;B=d[r+2>>1]|0;K=n+(A<<16>>16)|0;x=+(A<<16>>16);C=u+x*x;A=m+(B<<16>>16)|0;x=+(B<<16>>16);t=q+x*x;B=d[r+4>>1]|0;J=d[r+6>>1]|0;W=z+(B<<16>>16)|0;x=+(B<<16>>16);L=l+x*x;B=o+(J<<16>>16)|0;x=+(J<<16>>16);D=G+x*x;s=s+1|0;if((s|0)==(h|0)){X=D;Y=L;Z=t;_=C;$=B;aa=W;ba=A;ca=K;da=h;break}else{G=D;l=L;q=t;u=C;o=B;z=W;m=A;n=K;r=r+(i<<1)|0}}}else{X=H;Y=Q;Z=P;_=O;$=E;aa=N;ba=k;ca=j;da=U}f[y>>2]=ca;f[v>>2]=ba;f[w>>2]=aa;f[M>>2]=$;p[F>>3]=_;p[I>>3]=Z;p[S>>3]=Y;p[R>>3]=X;T=T+4|0;if((T|0)>=(i|0)){V=h;break}else U=da}return V|0}switch(i|0){case 1:{da=f[e>>2]|0;X=+p[g>>3];if((h|0)>0){Y=X;U=da;T=0;$=0;while(1){if(!(b[c+$>>0]|0)){ea=Y;fa=U;ga=T}else{aa=d[a+($<<1)>>1]|0;Z=+(aa<<16>>16);ea=Y+Z*Z;fa=U+(aa<<16>>16)|0;ga=T+1|0}$=$+1|0;if(($|0)==(h|0)){ha=ea;ia=fa;ja=ga;break}else{Y=ea;U=fa;T=ga}}}else{ha=X;ia=da;ja=0}f[e>>2]=ia;p[g>>3]=ha;V=ja;return V|0}case 3:{ja=f[e>>2]|0;ia=e+4|0;da=f[ia>>2]|0;ga=e+8|0;T=f[ga>>2]|0;ha=+p[g>>3];fa=g+8|0;X=+p[fa>>3];U=g+16|0;ea=+p[U>>3];if((h|0)>0){Y=ea;Z=X;_=ha;$=T;aa=da;ba=ja;ca=0;r=0;n=a;while(1){if(!(b[c+ca>>0]|0)){ka=Y;la=Z;ma=_;na=$;oa=aa;pa=ba;qa=r}else{m=d[n>>1]|0;z=d[n+2>>1]|0;o=d[n+4>>1]|0;u=+(m<<16>>16);q=+(z<<16>>16);l=+(o<<16>>16);ka=Y+l*l;la=Z+q*q;ma=_+u*u;na=$+(o<<16>>16)|0;oa=aa+(z<<16>>16)|0;pa=ba+(m<<16>>16)|0;qa=r+1|0}ca=ca+1|0;if((ca|0)==(h|0)){ra=ka;sa=la;ta=ma;ua=na;va=oa;wa=pa;xa=qa;break}else{Y=ka;Z=la;_=ma;$=na;aa=oa;ba=pa;r=qa;n=n+6|0}}}else{ra=ea;sa=X;ta=ha;ua=T;va=da;wa=ja;xa=0}f[e>>2]=wa;f[ia>>2]=va;f[ga>>2]=ua;p[g>>3]=ta;p[fa>>3]=sa;p[U>>3]=ra;V=xa;return V|0}default:{if((h|0)<=0){V=0;return V|0}if((i|0)>0){ya=0;za=0;Aa=a}else{a=0;xa=0;while(1){U=xa+((b[c+a>>0]|0)!=0&1)|0;a=a+1|0;if((a|0)==(h|0)){V=U;break}else xa=U}return V|0}while(1){if(!(b[c+ya>>0]|0))Ba=za;else{xa=0;do{a=d[Aa+(xa<<1)>>1]|0;U=e+(xa<<2)|0;fa=g+(xa<<3)|0;ra=+(a<<16>>16);sa=+p[fa>>3]+ra*ra;f[U>>2]=(f[U>>2]|0)+(a<<16>>16);p[fa>>3]=sa;xa=xa+1|0}while((xa|0)!=(i|0));Ba=za+1|0}ya=ya+1|0;if((ya|0)==(h|0)){V=Ba;break}else{za=Ba;Aa=Aa+(i<<1)|0}}return V|0}}return 0}function TE(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0.0,k=0.0,l=0,m=0,n=0.0,o=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0.0,v=0.0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0,R=0,S=0,T=0,U=0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0,ca=0.0,da=0.0,ea=0,fa=0.0,ga=0.0,ha=0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0,pa=0.0,qa=0.0,ra=0.0,sa=0.0,ta=0.0,ua=0.0,va=0,wa=0,xa=0,ya=0,za=0;if(!c){i=(h|0)%4|0;switch(i|0){case 1:{j=+p[d>>3];k=+p[e>>3];if((g|0)>0){l=a;m=0;n=j;o=k;while(1){q=+(f[l>>2]|0);r=n+q;s=o+q*q;m=m+1|0;if((m|0)==(g|0)){t=g;u=r;v=s;break}else{l=l+(h<<2)|0;n=r;o=s}}}else{t=0;u=j;v=k}p[d>>3]=u;p[e>>3]=v;w=t;break}case 2:{v=+p[d>>3];t=d+8|0;u=+p[t>>3];k=+p[e>>3];l=e+8|0;j=+p[l>>3];if((g|0)>0){o=v;n=u;s=k;r=j;m=0;x=a;while(1){q=+(f[x>>2]|0);y=o+q;z=s+q*q;q=+(f[x+4>>2]|0);A=n+q;B=r+q*q;m=m+1|0;if((m|0)==(g|0)){C=y;D=A;E=z;F=B;G=g;break}else{o=y;n=A;s=z;r=B;x=x+(h<<2)|0}}}else{C=v;D=u;E=k;F=j;G=0}p[d>>3]=C;p[t>>3]=D;p[e>>3]=E;p[l>>3]=F;w=G;break}case 3:{F=+p[d>>3];G=d+8|0;E=+p[G>>3];l=d+16|0;D=+p[l>>3];C=+p[e>>3];t=e+8|0;j=+p[t>>3];x=e+16|0;k=+p[x>>3];if((g|0)>0){u=F;v=E;r=k;s=j;n=C;o=D;m=0;H=a;while(1){B=+(f[H>>2]|0);z=u+B;A=n+B*B;B=+(f[H+4>>2]|0);y=v+B;q=s+B*B;B=+(f[H+8>>2]|0);I=o+B;J=r+B*B;m=m+1|0;if((m|0)==(g|0)){K=z;L=y;M=J;N=q;O=A;P=I;Q=g;break}else{u=z;v=y;r=J;s=q;n=A;o=I;H=H+(h<<2)|0}}}else{K=F;L=E;M=k;N=j;O=C;P=D;Q=0}p[d>>3]=K;p[G>>3]=L;p[l>>3]=P;p[e>>3]=O;p[t>>3]=N;p[x>>3]=M;w=Q;break}default:w=0}if((i|0)<(h|0)){R=i;S=w}else{T=g;return T|0}while(1){w=d+(R<<3)|0;M=+p[w>>3];i=R+1|0;Q=d+(i<<3)|0;N=+p[Q>>3];x=R+2|0;t=d+(x<<3)|0;O=+p[t>>3];l=R+3|0;G=d+(l<<3)|0;P=+p[G>>3];H=e+(R<<3)|0;L=+p[H>>3];m=e+(i<<3)|0;K=+p[m>>3];i=e+(x<<3)|0;D=+p[i>>3];x=e+(l<<3)|0;C=+p[x>>3];if((S|0)<(g|0)){j=C;k=D;E=K;F=L;o=P;n=O;s=N;r=M;l=a+(R<<2)|0;U=S;while(1){v=+(f[l>>2]|0);u=r+v;I=F+v*v;v=+(f[l+4>>2]|0);A=s+v;q=E+v*v;v=+(f[l+8>>2]|0);J=n+v;y=k+v*v;v=+(f[l+12>>2]|0);z=o+v;B=j+v*v;U=U+1|0;if((U|0)==(g|0)){V=B;W=y;X=q;Y=I;Z=z;_=J;$=A;aa=u;ba=g;break}else{j=B;k=y;E=q;F=I;o=z;n=J;s=A;r=u;l=l+(h<<2)|0}}}else{V=C;W=D;X=K;Y=L;Z=P;_=O;$=N;aa=M;ba=S}p[w>>3]=aa;p[Q>>3]=$;p[t>>3]=_;p[G>>3]=Z;p[H>>3]=Y;p[m>>3]=X;p[i>>3]=W;p[x>>3]=V;R=R+4|0;if((R|0)>=(h|0)){T=g;break}else S=ba}return T|0}switch(h|0){case 1:{V=+p[d>>3];W=+p[e>>3];if((g|0)>0){X=W;Y=V;ba=0;S=0;while(1){if(!(b[c+S>>0]|0)){ca=X;da=Y;ea=ba}else{Z=+(f[a+(S<<2)>>2]|0);ca=X+Z*Z;da=Y+Z;ea=ba+1|0}S=S+1|0;if((S|0)==(g|0)){fa=ca;ga=da;ha=ea;break}else{X=ca;Y=da;ba=ea}}}else{fa=W;ga=V;ha=0}p[d>>3]=ga;p[e>>3]=fa;T=ha;return T|0}case 3:{fa=+p[d>>3];ha=d+8|0;ga=+p[ha>>3];ea=d+16|0;V=+p[ea>>3];W=+p[e>>3];ba=e+8|0;da=+p[ba>>3];S=e+16|0;Y=+p[S>>3];if((g|0)>0){ca=Y;X=da;Z=W;_=V;$=ga;aa=fa;R=0;l=0;U=a;while(1){if(!(b[c+R>>0]|0)){ia=ca;ja=X;ka=Z;la=_;ma=$;na=aa;oa=l}else{r=+(f[U>>2]|0);s=+(f[U+4>>2]|0);n=+(f[U+8>>2]|0);ia=ca+n*n;ja=X+s*s;ka=Z+r*r;la=_+n;ma=$+s;na=aa+r;oa=l+1|0}R=R+1|0;if((R|0)==(g|0)){pa=ia;qa=ja;ra=ka;sa=la;ta=ma;ua=na;va=oa;break}else{ca=ia;X=ja;Z=ka;_=la;$=ma;aa=na;l=oa;U=U+12|0}}}else{pa=Y;qa=da;ra=W;sa=V;ta=ga;ua=fa;va=0}p[d>>3]=ua;p[ha>>3]=ta;p[ea>>3]=sa;p[e>>3]=ra;p[ba>>3]=qa;p[S>>3]=pa;T=va;return T|0}default:{if((g|0)<=0){T=0;return T|0}if((h|0)>0){wa=0;xa=0;ya=a}else{a=0;va=0;while(1){S=va+((b[c+a>>0]|0)!=0&1)|0;a=a+1|0;if((a|0)==(g|0)){T=S;break}else va=S}return T|0}while(1){if(!(b[c+wa>>0]|0))za=xa;else{va=0;do{a=d+(va<<3)|0;pa=+(f[ya+(va<<2)>>2]|0);S=e+(va<<3)|0;qa=+p[S>>3]+pa*pa;p[a>>3]=+p[a>>3]+pa;p[S>>3]=qa;va=va+1|0}while((va|0)!=(h|0));za=xa+1|0}wa=wa+1|0;if((wa|0)==(g|0)){T=za;break}else{xa=za;ya=ya+(h<<2)|0}}return T|0}}return 0}function UE(a,c,d,e,f,g){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0.0,j=0.0,k=0,l=0,m=0.0,o=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0.0,v=0.0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0,R=0,S=0,T=0,U=0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0,ca=0.0,da=0.0,ea=0,fa=0.0,ga=0.0,ha=0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0,pa=0.0,qa=0.0,ra=0.0,sa=0.0,ta=0.0,ua=0.0,va=0,wa=0,xa=0,ya=0,za=0;if(!c){h=(g|0)%4|0;switch(h|0){case 1:{i=+p[d>>3];j=+p[e>>3];if((f|0)>0){k=a;l=0;m=i;o=j;while(1){q=+n[k>>2];r=m+q;s=o+q*q;l=l+1|0;if((l|0)==(f|0)){t=f;u=r;v=s;break}else{k=k+(g<<2)|0;m=r;o=s}}}else{t=0;u=i;v=j}p[d>>3]=u;p[e>>3]=v;w=t;break}case 2:{v=+p[d>>3];t=d+8|0;u=+p[t>>3];j=+p[e>>3];k=e+8|0;i=+p[k>>3];if((f|0)>0){o=v;m=u;s=j;r=i;l=0;x=a;while(1){q=+n[x>>2];y=o+q;z=s+q*q;q=+n[x+4>>2];A=m+q;B=r+q*q;l=l+1|0;if((l|0)==(f|0)){C=y;D=A;E=z;F=B;G=f;break}else{o=y;m=A;s=z;r=B;x=x+(g<<2)|0}}}else{C=v;D=u;E=j;F=i;G=0}p[d>>3]=C;p[t>>3]=D;p[e>>3]=E;p[k>>3]=F;w=G;break}case 3:{F=+p[d>>3];G=d+8|0;E=+p[G>>3];k=d+16|0;D=+p[k>>3];C=+p[e>>3];t=e+8|0;i=+p[t>>3];x=e+16|0;j=+p[x>>3];if((f|0)>0){u=F;v=E;r=j;s=i;m=C;o=D;l=0;H=a;while(1){B=+n[H>>2];z=u+B;A=m+B*B;B=+n[H+4>>2];y=v+B;q=s+B*B;B=+n[H+8>>2];I=o+B;J=r+B*B;l=l+1|0;if((l|0)==(f|0)){K=z;L=y;M=J;N=q;O=A;P=I;Q=f;break}else{u=z;v=y;r=J;s=q;m=A;o=I;H=H+(g<<2)|0}}}else{K=F;L=E;M=j;N=i;O=C;P=D;Q=0}p[d>>3]=K;p[G>>3]=L;p[k>>3]=P;p[e>>3]=O;p[t>>3]=N;p[x>>3]=M;w=Q;break}default:w=0}if((h|0)<(g|0)){R=h;S=w}else{T=f;return T|0}while(1){w=d+(R<<3)|0;M=+p[w>>3];h=R+1|0;Q=d+(h<<3)|0;N=+p[Q>>3];x=R+2|0;t=d+(x<<3)|0;O=+p[t>>3];k=R+3|0;G=d+(k<<3)|0;P=+p[G>>3];H=e+(R<<3)|0;L=+p[H>>3];l=e+(h<<3)|0;K=+p[l>>3];h=e+(x<<3)|0;D=+p[h>>3];x=e+(k<<3)|0;C=+p[x>>3];if((S|0)<(f|0)){i=C;j=D;E=K;F=L;o=P;m=O;s=N;r=M;k=a+(R<<2)|0;U=S;while(1){v=+n[k>>2];u=r+v;I=F+v*v;v=+n[k+4>>2];A=s+v;q=E+v*v;v=+n[k+8>>2];J=m+v;y=j+v*v;v=+n[k+12>>2];z=o+v;B=i+v*v;U=U+1|0;if((U|0)==(f|0)){V=B;W=y;X=q;Y=I;Z=z;_=J;$=A;aa=u;ba=f;break}else{i=B;j=y;E=q;F=I;o=z;m=J;s=A;r=u;k=k+(g<<2)|0}}}else{V=C;W=D;X=K;Y=L;Z=P;_=O;$=N;aa=M;ba=S}p[w>>3]=aa;p[Q>>3]=$;p[t>>3]=_;p[G>>3]=Z;p[H>>3]=Y;p[l>>3]=X;p[h>>3]=W;p[x>>3]=V;R=R+4|0;if((R|0)>=(g|0)){T=f;break}else S=ba}return T|0}switch(g|0){case 1:{V=+p[d>>3];W=+p[e>>3];if((f|0)>0){X=W;Y=V;ba=0;S=0;while(1){if(!(b[c+S>>0]|0)){ca=X;da=Y;ea=ba}else{Z=+n[a+(S<<2)>>2];ca=X+Z*Z;da=Y+Z;ea=ba+1|0}S=S+1|0;if((S|0)==(f|0)){fa=ca;ga=da;ha=ea;break}else{X=ca;Y=da;ba=ea}}}else{fa=W;ga=V;ha=0}p[d>>3]=ga;p[e>>3]=fa;T=ha;return T|0}case 3:{fa=+p[d>>3];ha=d+8|0;ga=+p[ha>>3];ea=d+16|0;V=+p[ea>>3];W=+p[e>>3];ba=e+8|0;da=+p[ba>>3];S=e+16|0;Y=+p[S>>3];if((f|0)>0){ca=Y;X=da;Z=W;_=V;$=ga;aa=fa;R=0;k=0;U=a;while(1){if(!(b[c+R>>0]|0)){ia=ca;ja=X;ka=Z;la=_;ma=$;na=aa;oa=k}else{r=+n[U>>2];s=+n[U+4>>2];m=+n[U+8>>2];ia=ca+m*m;ja=X+s*s;ka=Z+r*r;la=_+m;ma=$+s;na=aa+r;oa=k+1|0}R=R+1|0;if((R|0)==(f|0)){pa=ia;qa=ja;ra=ka;sa=la;ta=ma;ua=na;va=oa;break}else{ca=ia;X=ja;Z=ka;_=la;$=ma;aa=na;k=oa;U=U+12|0}}}else{pa=Y;qa=da;ra=W;sa=V;ta=ga;ua=fa;va=0}p[d>>3]=ua;p[ha>>3]=ta;p[ea>>3]=sa;p[e>>3]=ra;p[ba>>3]=qa;p[S>>3]=pa;T=va;return T|0}default:{if((f|0)<=0){T=0;return T|0}if((g|0)>0){wa=0;xa=0;ya=a}else{a=0;va=0;while(1){S=va+((b[c+a>>0]|0)!=0&1)|0;a=a+1|0;if((a|0)==(f|0)){T=S;break}else va=S}return T|0}while(1){if(!(b[c+wa>>0]|0))za=xa;else{va=0;do{a=d+(va<<3)|0;pa=+n[ya+(va<<2)>>2];S=e+(va<<3)|0;qa=+p[S>>3]+pa*pa;p[a>>3]=+p[a>>3]+pa;p[S>>3]=qa;va=va+1|0}while((va|0)!=(g|0));za=xa+1|0}wa=wa+1|0;if((wa|0)==(f|0)){T=za;break}else{xa=za;ya=ya+(g<<2)|0}}return T|0}}return 0}function VE(a,c,d,e,f,g){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0.0,j=0.0,k=0,l=0,m=0.0,n=0.0,o=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0,G=0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0,ba=0.0,ca=0.0,da=0,ea=0.0,fa=0.0,ga=0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0.0,ta=0.0,ua=0,va=0,wa=0,xa=0,ya=0;if(!c){h=(g|0)%4|0;switch(h|0){case 1:{i=+p[d>>3];j=+p[e>>3];if((f|0)>0){k=a;l=0;m=i;n=j;while(1){o=+p[k>>3];q=m+o;r=n+o*o;l=l+1|0;if((l|0)==(f|0)){s=f;t=q;u=r;break}else{k=k+(g<<3)|0;m=q;n=r}}}else{s=0;t=i;u=j}p[d>>3]=t;p[e>>3]=u;v=s;break}case 2:{u=+p[d>>3];s=d+8|0;t=+p[s>>3];j=+p[e>>3];k=e+8|0;i=+p[k>>3];if((f|0)>0){n=u;m=t;r=j;q=i;l=0;w=a;while(1){o=+p[w>>3];x=+p[w+8>>3];y=n+o;z=r+o*o;o=m+x;A=q+x*x;l=l+1|0;if((l|0)==(f|0)){B=y;C=o;D=z;E=A;F=f;break}else{n=y;m=o;r=z;q=A;w=w+(g<<3)|0}}}else{B=u;C=t;D=j;E=i;F=0}p[d>>3]=B;p[s>>3]=C;p[e>>3]=D;p[k>>3]=E;v=F;break}case 3:{E=+p[d>>3];F=d+8|0;D=+p[F>>3];k=d+16|0;C=+p[k>>3];B=+p[e>>3];s=e+8|0;i=+p[s>>3];w=e+16|0;j=+p[w>>3];if((f|0)>0){t=E;u=D;q=j;r=i;m=B;n=C;l=0;G=a;while(1){A=+p[G>>3];z=+p[G+8>>3];o=+p[G+16>>3];y=t+A;x=m+A*A;A=u+z;H=r+z*z;z=n+o;I=q+o*o;l=l+1|0;if((l|0)==(f|0)){J=y;K=A;L=I;M=H;N=x;O=z;P=f;break}else{t=y;u=A;q=I;r=H;m=x;n=z;G=G+(g<<3)|0}}}else{J=E;K=D;L=j;M=i;N=B;O=C;P=0}p[d>>3]=J;p[F>>3]=K;p[k>>3]=O;p[e>>3]=N;p[s>>3]=M;p[w>>3]=L;v=P;break}default:v=0}if((h|0)<(g|0)){Q=h;R=v}else{S=f;return S|0}while(1){v=d+(Q<<3)|0;L=+p[v>>3];h=Q+1|0;P=d+(h<<3)|0;M=+p[P>>3];w=Q+2|0;s=d+(w<<3)|0;N=+p[s>>3];k=Q+3|0;F=d+(k<<3)|0;O=+p[F>>3];G=e+(Q<<3)|0;K=+p[G>>3];l=e+(h<<3)|0;J=+p[l>>3];h=e+(w<<3)|0;C=+p[h>>3];w=e+(k<<3)|0;B=+p[w>>3];if((R|0)<(f|0)){i=B;j=C;D=J;E=K;n=O;m=N;r=M;q=L;k=a+(Q<<3)|0;T=R;while(1){u=+p[k>>3];t=+p[k+8>>3];z=q+u;x=E+u*u;u=r+t;H=D+t*t;t=+p[k+16>>3];I=+p[k+24>>3];A=m+t;y=j+t*t;t=n+I;o=i+I*I;T=T+1|0;if((T|0)==(f|0)){U=o;V=y;W=H;X=x;Y=t;Z=A;_=u;$=z;aa=f;break}else{i=o;j=y;D=H;E=x;n=t;m=A;r=u;q=z;k=k+(g<<3)|0}}}else{U=B;V=C;W=J;X=K;Y=O;Z=N;_=M;$=L;aa=R}p[v>>3]=$;p[P>>3]=_;p[s>>3]=Z;p[F>>3]=Y;p[G>>3]=X;p[l>>3]=W;p[h>>3]=V;p[w>>3]=U;Q=Q+4|0;if((Q|0)>=(g|0)){S=f;break}else R=aa}return S|0}switch(g|0){case 1:{U=+p[d>>3];V=+p[e>>3];if((f|0)>0){W=V;X=U;aa=0;R=0;while(1){if(!(b[c+R>>0]|0)){ba=W;ca=X;da=aa}else{Y=+p[a+(R<<3)>>3];ba=W+Y*Y;ca=X+Y;da=aa+1|0}R=R+1|0;if((R|0)==(f|0)){ea=ba;fa=ca;ga=da;break}else{W=ba;X=ca;aa=da}}}else{ea=V;fa=U;ga=0}p[d>>3]=fa;p[e>>3]=ea;S=ga;return S|0}case 3:{ea=+p[d>>3];ga=d+8|0;fa=+p[ga>>3];da=d+16|0;U=+p[da>>3];V=+p[e>>3];aa=e+8|0;ca=+p[aa>>3];R=e+16|0;X=+p[R>>3];if((f|0)>0){ba=X;W=ca;Y=V;Z=U;_=fa;$=ea;Q=0;k=0;T=a;while(1){if(!(b[c+Q>>0]|0)){ha=ba;ia=W;ja=Y;ka=Z;la=_;ma=$;na=k}else{q=+p[T>>3];r=+p[T+8>>3];m=+p[T+16>>3];ha=ba+m*m;ia=W+r*r;ja=Y+q*q;ka=Z+m;la=_+r;ma=$+q;na=k+1|0}Q=Q+1|0;if((Q|0)==(f|0)){oa=ha;pa=ia;qa=ja;ra=ka;sa=la;ta=ma;ua=na;break}else{ba=ha;W=ia;Y=ja;Z=ka;_=la;$=ma;k=na;T=T+24|0}}}else{oa=X;pa=ca;qa=V;ra=U;sa=fa;ta=ea;ua=0}p[d>>3]=ta;p[ga>>3]=sa;p[da>>3]=ra;p[e>>3]=qa;p[aa>>3]=pa;p[R>>3]=oa;S=ua;return S|0}default:{if((f|0)<=0){S=0;return S|0}if((g|0)>0){va=0;wa=0;xa=a}else{a=0;ua=0;while(1){R=ua+((b[c+a>>0]|0)!=0&1)|0;a=a+1|0;if((a|0)==(f|0)){S=R;break}else ua=R}return S|0}while(1){if(!(b[c+va>>0]|0))ya=wa;else{ua=0;do{oa=+p[xa+(ua<<3)>>3];a=d+(ua<<3)|0;R=e+(ua<<3)|0;pa=oa*oa+ +p[R>>3];p[a>>3]=oa+ +p[a>>3];p[R>>3]=pa;ua=ua+1|0}while((ua|0)!=(g|0));ya=wa+1|0}va=va+1|0;if((va|0)==(f|0)){S=ya;break}else{wa=ya;xa=xa+(g<<3)|0}}return S|0}}return 0}function WE(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+112|0;d=c+104|0;e=c+48|0;g=c+40|0;h=c+32|0;i=c;yV(d,29272);if((GJ(a,-1)|0)&4088|0){f[e>>2]=0;f[e+4>>2]=0;j=JV(e,7)|0;b[j>>0]=b[336956]|0;b[j+1>>0]=b[336957]|0;b[j+2>>0]=b[336958]|0;b[j+3>>0]=b[336959]|0;b[j+4>>0]=b[336960]|0;b[j+5>>0]=b[336961]|0;b[j+6>>0]=b[336962]|0;EP(-215,e,144879,144892,362);KV(e)}do if((HJ(a)|0)==65536){j=f[a+4>>2]|0;f[e>>2]=f[j>>2];k=e+4|0;l=j+4|0;f[k>>2]=f[l>>2];m=e+8|0;f[m>>2]=f[j+8>>2];f[e+12>>2]=f[j+12>>2];f[e+16>>2]=f[j+16>>2];f[e+20>>2]=f[j+20>>2];f[e+24>>2]=f[j+24>>2];f[e+28>>2]=f[j+28>>2];f[e+32>>2]=f[j+32>>2];n=f[j+36>>2]|0;f[e+36>>2]=n;f[e+40>>2]=m;m=e+48|0;o=e+44|0;f[o>>2]=m;f[m>>2]=0;f[e+52>>2]=0;if(n|0){m=n+12|0;f[m>>2]=(f[m>>2]|0)+1}if((f[l>>2]|0)<3){l=f[j+44>>2]|0;m=f[o>>2]|0;f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];p=e;break}else{f[k>>2]=0;WO(e,j);p=e;break}}else{DJ(e,a,-1);p=e}while(0);a=f[p>>2]&7;p=f[29292+(a<<2)>>2]|0;if((a|0)==7){f[g>>2]=0;f[g+4>>2]=0;a=JV(g,9)|0;j=196746;k=a+9|0;do{b[a>>0]=b[j>>0]|0;a=a+1|0;j=j+1|0}while((a|0)<(k|0));EP(-215,g,144879,144892,378);KV(g)}f[g>>2]=e;f[g+4>>2]=0;FN(i,g,h,-1);g=f[i+20>>2]|0;j=i+16|0;a=0;k=0;while(1){if(a>>>0>=(f[j>>2]|0)>>>0)break;l=(Zf[p&127](f[h>>2]|0,g)|0)+k|0;GN(i)|0;a=a+1|0;k=l}a=e+36|0;i=f[a>>2]|0;if(i|0?(g=i+12|0,i=f[g>>2]|0,f[g>>2]=i+-1,(i|0)==1):0)XO(e);f[a>>2]=0;a=e+16|0;i=e+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if((f[i>>2]|0)>0){a=f[e+40>>2]|0;g=0;do{f[a+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[i>>2]|0))}i=f[e+44>>2]|0;if((i|0)!=(e+48|0))dX(i);if(!(f[d+4>>2]|0)){u=c;return k|0}u=c;return k|0}function XE(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0;if((c|0)>0){d=0;e=0}else{f=0;return f|0}while(1){g=d+((b[a+e>>0]|0)!=0&1)|0;e=e+1|0;if((e|0)==(c|0)){f=g;break}else d=g}return f|0}function YE(a,b){a=a|0;b=b|0;var c=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=b+-4|0;if((b|0)<4){e=0;f=0}else{g=0;h=0;do{h=h+((d[a+(g<<1)>>1]|0)!=0&1)+((d[a+((g|1)<<1)>>1]|0)!=0&1)+((d[a+((g|2)<<1)>>1]|0)!=0&1)+((d[a+((g|3)<<1)>>1]|0)!=0&1)|0;g=g+4|0}while((g|0)<=(c|0));e=h;f=b&-4}if((f|0)<(b|0)){i=f;j=e}else{k=e;return k|0}while(1){e=j+((d[a+(i<<1)>>1]|0)!=0&1)|0;i=i+1|0;if((i|0)==(b|0)){k=e;break}else j=e}return k|0}function ZE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=b+-4|0;if((b|0)<4){d=0;e=0}else{g=0;h=0;do{h=h+((f[a+(g<<2)>>2]|0)!=0&1)+((f[a+((g|1)<<2)>>2]|0)!=0&1)+((f[a+((g|2)<<2)>>2]|0)!=0&1)+((f[a+((g|3)<<2)>>2]|0)!=0&1)|0;g=g+4|0}while((g|0)<=(c|0));d=h;e=b&-4}if((e|0)<(b|0)){i=e;j=d}else{k=d;return k|0}while(1){d=j+((f[a+(i<<2)>>2]|0)!=0&1)|0;i=i+1|0;if((i|0)==(b|0)){k=d;break}else j=d}return k|0}function _E(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c=b+-4|0;if((b|0)<4){d=0;e=0}else{f=0;g=0;do{g=g+(+n[a+(f<<2)>>2]!=0.0&1)+(+n[a+((f|1)<<2)>>2]!=0.0&1)+(+n[a+((f|2)<<2)>>2]!=0.0&1)+(+n[a+((f|3)<<2)>>2]!=0.0&1)|0;f=f+4|0}while((f|0)<=(c|0));d=g;e=b&-4}if((e|0)<(b|0)){h=e;i=d}else{j=d;return j|0}while(1){d=i+(+n[a+(h<<2)>>2]!=0.0&1)|0;h=h+1|0;if((h|0)==(b|0)){j=d;break}else i=d}return j|0}function $E(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c=b+-4|0;if((b|0)<4){d=0;e=0}else{f=0;g=0;do{g=g+(+p[a+(f<<3)>>3]!=0.0&1)+(+p[a+((f|1)<<3)>>3]!=0.0&1)+(+p[a+((f|2)<<3)>>3]!=0.0&1)+(+p[a+((f|3)<<3)>>3]!=0.0&1)|0;f=f+4|0}while((f|0)<=(c|0));d=g;e=b&-4}if((e|0)<(b|0)){h=e;i=d}else{j=d;return j|0}while(1){d=i+(+p[a+(h<<3)>>3]!=0.0&1)|0;h=h+1|0;if((h|0)==(b|0)){j=d;break}else i=d}return j|0}function aF(a){a=a|0;return}function bF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;g=u;u=u+656|0;h=g+312|0;i=g+256|0;j=g+592|0;k=g+32|0;l=g+536|0;m=g;if(!(Zf[f[(f[a>>2]|0)+8>>2]&127](a,b)|0)){f[j>>2]=1124007936;a=j+4|0;n=j+8|0;o=j+40|0;q=a;r=q+36|0;do{f[q>>2]=0;q=q+4|0}while((q|0)<(r|0));f[o>>2]=n;n=j+48|0;s=j+44|0;f[s>>2]=n;f[n>>2]=0;f[j+52>>2]=0;t=f[b>>2]|0;th[f[(f[t>>2]|0)+12>>2]&255](t,b,j,-1);t=c;v=f[t>>2]|0;w=f[t+4>>2]|0;t=d;x=f[t+4>>2]|0;y=h;f[y>>2]=f[t>>2];f[y+4>>2]=x;x=i;f[x>>2]=v;f[x+4>>2]=w;YO(l,j,i,h);f[h>>2]=1124007936;w=h+4|0;x=h+8|0;v=h+40|0;q=w;r=q+36|0;do{f[q>>2]=0;q=q+4|0}while((q|0)<(r|0));f[v>>2]=x;x=h+48|0;y=h+44|0;f[y>>2]=x;f[x>>2]=0;f[h+52>>2]=0;f[i>>2]=1124007936;t=i+4|0;z=i+8|0;A=i+40|0;q=t;r=q+36|0;do{f[q>>2]=0;q=q+4|0}while((q|0)<(r|0));f[A>>2]=z;z=i+48|0;B=i+44|0;f[B>>2]=z;f[z>>2]=0;f[i+52>>2]=0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;f[m+24>>2]=0;f[m+28>>2]=0;zF(k,29464,0,l,h,i,1.0,1.0,m);AF(e,k)|0;Mi(k);m=i+36|0;C=f[m>>2]|0;if(C|0?(D=C+12|0,C=f[D>>2]|0,f[D>>2]=C+-1,(C|0)==1):0)XO(i);f[m>>2]=0;m=i+16|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;if((f[t>>2]|0)>0){m=f[A>>2]|0;A=0;do{f[m+(A<<2)>>2]=0;A=A+1|0}while((A|0)<(f[t>>2]|0))}t=f[B>>2]|0;if((t|0)!=(z|0))dX(t);t=h+36|0;z=f[t>>2]|0;if(z|0?(B=z+12|0,z=f[B>>2]|0,f[B>>2]=z+-1,(z|0)==1):0)XO(h);f[t>>2]=0;t=h+16|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;if((f[w>>2]|0)>0){t=f[v>>2]|0;v=0;do{f[t+(v<<2)>>2]=0;v=v+1|0}while((v|0)<(f[w>>2]|0))}w=f[y>>2]|0;if((w|0)!=(x|0))dX(w);w=l+36|0;x=f[w>>2]|0;if(x|0?(y=x+12|0,x=f[y>>2]|0,f[y>>2]=x+-1,(x|0)==1):0)XO(l);f[w>>2]=0;w=l+16|0;x=l+4|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;if((f[x>>2]|0)>0){w=f[l+40>>2]|0;y=0;do{f[w+(y<<2)>>2]=0;y=y+1|0}while((y|0)<(f[x>>2]|0))}x=f[l+44>>2]|0;if((x|0)!=(l+48|0))dX(x);x=j+36|0;l=f[x>>2]|0;if(l|0?(y=l+12|0,l=f[y>>2]|0,f[y>>2]=l+-1,(l|0)==1):0)XO(j);f[x>>2]=0;x=j+16|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;if((f[a>>2]|0)>0){x=f[o>>2]|0;o=0;do{f[x+(o<<2)>>2]=0;o=o+1|0}while((o|0)<(f[a>>2]|0))}a=f[s>>2]|0;if((a|0)!=(n|0))dX(a);u=g;return}a=f[b>>2]|0;n=f[b+4>>2]|0;f[i>>2]=1124007936;s=i+4|0;o=i+8|0;x=i+40|0;q=s;r=q+36|0;do{f[q>>2]=0;q=q+4|0}while((q|0)<(r|0));f[x>>2]=o;o=i+48|0;l=i+44|0;f[l>>2]=o;f[o>>2]=0;f[i+52>>2]=0;f[j>>2]=1124007936;y=j+4|0;w=j+8|0;v=j+40|0;q=y;r=q+36|0;do{f[q>>2]=0;q=q+4|0}while((q|0)<(r|0));f[v>>2]=w;w=j+48|0;t=j+44|0;f[t>>2]=w;f[w>>2]=0;f[j+52>>2]=0;f[k>>2]=1124007936;z=k+4|0;B=k+8|0;A=k+40|0;q=z;r=q+36|0;do{f[q>>2]=0;q=q+4|0}while((q|0)<(r|0));f[A>>2]=B;B=k+48|0;q=k+44|0;f[q>>2]=B;f[B>>2]=0;f[k+52>>2]=0;zF(h,a,n,i,j,k,+p[b+176>>3],+p[b+184>>3],b+192|0);AF(e,h)|0;Mi(h);n=k+36|0;a=f[n>>2]|0;if(a|0?(r=a+12|0,a=f[r>>2]|0,f[r>>2]=a+-1,(a|0)==1):0)XO(k);f[n>>2]=0;n=k+16|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;if((f[z>>2]|0)>0){n=f[A>>2]|0;A=0;do{f[n+(A<<2)>>2]=0;A=A+1|0}while((A|0)<(f[z>>2]|0))}z=f[q>>2]|0;if((z|0)!=(B|0))dX(z);z=j+36|0;B=f[z>>2]|0;if(B|0?(q=B+12|0,B=f[q>>2]|0,f[q>>2]=B+-1,(B|0)==1):0)XO(j);f[z>>2]=0;z=j+16|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;if((f[y>>2]|0)>0){z=f[v>>2]|0;v=0;do{f[z+(v<<2)>>2]=0;v=v+1|0}while((v|0)<(f[y>>2]|0))}y=f[t>>2]|0;if((y|0)!=(w|0))dX(y);y=i+36|0;w=f[y>>2]|0;if(w|0?(t=w+12|0,w=f[t>>2]|0,f[t>>2]=w+-1,(w|0)==1):0)XO(i);f[y>>2]=0;y=i+16|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;if((f[s>>2]|0)>0){y=f[x>>2]|0;x=0;do{f[y+(x<<2)>>2]=0;x=x+1|0}while((x|0)<(f[s>>2]|0))}s=f[l>>2]|0;if((s|0)!=(o|0))dX(s);if(f[b+24>>2]|0){s=c;o=f[s>>2]|0;l=f[s+4>>2]|0;s=d;x=f[s+4>>2]|0;y=h;f[y>>2]=f[s>>2];f[y+4>>2]=x;x=i;f[x>>2]=o;f[x+4>>2]=l;YO(j,b+8|0,i,h);l=e+8|0;x=j+36|0;o=f[x>>2]|0;if((l|0)==(j|0))E=o;else{if(o|0){y=o+12|0;f[y>>2]=(f[y>>2]|0)+1}y=e+44|0;o=f[y>>2]|0;if(o|0?(s=o+12|0,o=f[s>>2]|0,f[s>>2]=o+-1,(o|0)==1):0)XO(l);f[y>>2]=0;o=e+24|0;s=e+12|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;if((f[s>>2]|0)>0){w=f[e+48>>2]|0;t=0;do{f[w+(t<<2)>>2]=0;t=t+1|0;F=f[s>>2]|0}while((t|0)<(F|0));f[l>>2]=f[j>>2];if((F|0)<3)G=38;else G=40}else{f[l>>2]=f[j>>2];G=38}if((G|0)==38){F=f[j+4>>2]|0;if((F|0)<3){f[s>>2]=F;f[e+16>>2]=f[j+8>>2];f[e+20>>2]=f[j+12>>2];F=f[j+44>>2]|0;s=f[e+52>>2]|0;f[s>>2]=f[F>>2];f[s+4>>2]=f[F+4>>2]}else G=40}if((G|0)==40)WO(l,j);f[o>>2]=f[j+16>>2];f[e+28>>2]=f[j+20>>2];f[e+32>>2]=f[j+24>>2];f[e+36>>2]=f[j+28>>2];f[e+40>>2]=f[j+32>>2];o=f[x>>2]|0;f[y>>2]=o;E=o}if(E|0?(o=E+12|0,E=f[o>>2]|0,f[o>>2]=E+-1,(E|0)==1):0)XO(j);f[x>>2]=0;x=j+16|0;E=j+4|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;if((f[E>>2]|0)>0){x=f[j+40>>2]|0;o=0;do{f[x+(o<<2)>>2]=0;o=o+1|0}while((o|0)<(f[E>>2]|0))}E=f[j+44>>2]|0;if((E|0)!=(j+48|0))dX(E)}if(f[b+80>>2]|0){E=c;o=f[E>>2]|0;x=f[E+4>>2]|0;E=d;y=f[E+4>>2]|0;l=h;f[l>>2]=f[E>>2];f[l+4>>2]=y;y=i;f[y>>2]=o;f[y+4>>2]=x;YO(j,b+64|0,i,h);x=e+64|0;y=j+36|0;o=f[y>>2]|0;if((x|0)==(j|0))H=o;else{if(o|0){l=o+12|0;f[l>>2]=(f[l>>2]|0)+1}l=e+100|0;o=f[l>>2]|0;if(o|0?(E=o+12|0,o=f[E>>2]|0,f[E>>2]=o+-1,(o|0)==1):0)XO(x);f[l>>2]=0;o=e+80|0;E=e+68|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;if((f[E>>2]|0)>0){F=f[e+104>>2]|0;s=0;do{f[F+(s<<2)>>2]=0;s=s+1|0;I=f[E>>2]|0}while((s|0)<(I|0));f[x>>2]=f[j>>2];if((I|0)<3)G=63;else G=65}else{f[x>>2]=f[j>>2];G=63}if((G|0)==63){I=f[j+4>>2]|0;if((I|0)<3){f[E>>2]=I;f[e+72>>2]=f[j+8>>2];f[e+76>>2]=f[j+12>>2];I=f[j+44>>2]|0;E=f[e+108>>2]|0;f[E>>2]=f[I>>2];f[E+4>>2]=f[I+4>>2]}else G=65}if((G|0)==65)WO(x,j);f[o>>2]=f[j+16>>2];f[e+84>>2]=f[j+20>>2];f[e+88>>2]=f[j+24>>2];f[e+92>>2]=f[j+28>>2];f[e+96>>2]=f[j+32>>2];o=f[y>>2]|0;f[l>>2]=o;H=o}if(H|0?(o=H+12|0,H=f[o>>2]|0,f[o>>2]=H+-1,(H|0)==1):0)XO(j);f[y>>2]=0;y=j+16|0;H=j+4|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;if((f[H>>2]|0)>0){y=f[j+40>>2]|0;o=0;do{f[y+(o<<2)>>2]=0;o=o+1|0}while((o|0)<(f[H>>2]|0))}H=f[j+44>>2]|0;if((H|0)!=(j+48|0))dX(H)}if(!(f[b+136>>2]|0)){u=g;return}H=c;c=f[H>>2]|0;o=f[H+4>>2]|0;H=d;d=f[H+4>>2]|0;y=h;f[y>>2]=f[H>>2];f[y+4>>2]=d;d=i;f[d>>2]=c;f[d+4>>2]=o;YO(j,b+120|0,i,h);h=e+120|0;i=j+36|0;b=f[i>>2]|0;if((h|0)==(j|0))J=b;else{if(b|0){o=b+12|0;f[o>>2]=(f[o>>2]|0)+1}o=e+156|0;b=f[o>>2]|0;if(b|0?(d=b+12|0,b=f[d>>2]|0,f[d>>2]=b+-1,(b|0)==1):0)XO(h);f[o>>2]=0;b=e+136|0;d=e+124|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[d>>2]|0)>0){c=f[e+160>>2]|0;y=0;do{f[c+(y<<2)>>2]=0;y=y+1|0;K=f[d>>2]|0}while((y|0)<(K|0));f[h>>2]=f[j>>2];if((K|0)<3)G=88;else G=90}else{f[h>>2]=f[j>>2];G=88}if((G|0)==88){K=f[j+4>>2]|0;if((K|0)<3){f[d>>2]=K;f[e+128>>2]=f[j+8>>2];f[e+132>>2]=f[j+12>>2];K=f[j+44>>2]|0;d=f[e+164>>2]|0;f[d>>2]=f[K>>2];f[d+4>>2]=f[K+4>>2]}else G=90}if((G|0)==90)WO(h,j);f[b>>2]=f[j+16>>2];f[e+140>>2]=f[j+20>>2];f[e+144>>2]=f[j+24>>2];f[e+148>>2]=f[j+28>>2];f[e+152>>2]=f[j+32>>2];e=f[i>>2]|0;f[o>>2]=e;J=e}if(J|0?(e=J+12|0,J=f[e>>2]|0,f[e>>2]=J+-1,(J|0)==1):0)XO(j);f[i>>2]=0;i=j+16|0;J=j+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[J>>2]|0)>0){i=f[j+40>>2]|0;e=0;do{f[i+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(f[J>>2]|0))}J=f[j+44>>2]|0;if((J|0)!=(j+48|0))dX(J);u=g;return}function cF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;e=u;u=u+656|0;g=e+256|0;h=e+32|0;i=e+592|0;j=e+536|0;k=e+480|0;l=e;if(!(Zf[f[(f[a>>2]|0)+8>>2]&127](a,b)|0)){f[g>>2]=1124007936;a=g+4|0;m=g+8|0;n=g+40|0;o=a;q=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(q|0));f[n>>2]=m;m=g+48|0;r=g+44|0;f[r>>2]=m;f[m>>2]=0;f[g+52>>2]=0;s=f[b>>2]|0;th[f[(f[s>>2]|0)+12>>2]&255](s,b,g,-1);bP(i,g,c);f[j>>2]=1124007936;s=j+4|0;t=j+8|0;v=j+40|0;o=s;q=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(q|0));f[v>>2]=t;t=j+48|0;w=j+44|0;f[w>>2]=t;f[t>>2]=0;f[j+52>>2]=0;f[k>>2]=1124007936;x=k+4|0;y=k+8|0;z=k+40|0;o=x;q=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(q|0));f[z>>2]=y;y=k+48|0;A=k+44|0;f[A>>2]=y;f[y>>2]=0;f[k+52>>2]=0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[l+24>>2]=0;f[l+28>>2]=0;zF(h,29464,0,i,j,k,1.0,1.0,l);AF(d,h)|0;Mi(h);l=k+36|0;B=f[l>>2]|0;if(B|0?(C=B+12|0,B=f[C>>2]|0,f[C>>2]=B+-1,(B|0)==1):0)XO(k);f[l>>2]=0;l=k+16|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;if((f[x>>2]|0)>0){l=f[z>>2]|0;z=0;do{f[l+(z<<2)>>2]=0;z=z+1|0}while((z|0)<(f[x>>2]|0))}x=f[A>>2]|0;if((x|0)!=(y|0))dX(x);x=j+36|0;y=f[x>>2]|0;if(y|0?(A=y+12|0,y=f[A>>2]|0,f[A>>2]=y+-1,(y|0)==1):0)XO(j);f[x>>2]=0;x=j+16|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;if((f[s>>2]|0)>0){x=f[v>>2]|0;v=0;do{f[x+(v<<2)>>2]=0;v=v+1|0}while((v|0)<(f[s>>2]|0))}s=f[w>>2]|0;if((s|0)!=(t|0))dX(s);s=i+36|0;t=f[s>>2]|0;if(t|0?(w=t+12|0,t=f[w>>2]|0,f[w>>2]=t+-1,(t|0)==1):0)XO(i);f[s>>2]=0;s=i+16|0;t=i+4|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if((f[t>>2]|0)>0){s=f[i+40>>2]|0;w=0;do{f[s+(w<<2)>>2]=0;w=w+1|0}while((w|0)<(f[t>>2]|0))}t=f[i+44>>2]|0;if((t|0)!=(i+48|0))dX(t);t=g+36|0;w=f[t>>2]|0;if(w|0?(s=w+12|0,w=f[s>>2]|0,f[s>>2]=w+-1,(w|0)==1):0)XO(g);f[t>>2]=0;t=g+16|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;if((f[a>>2]|0)>0){t=f[n>>2]|0;n=0;do{f[t+(n<<2)>>2]=0;n=n+1|0}while((n|0)<(f[a>>2]|0))}a=f[r>>2]|0;if((a|0)!=(m|0))dX(a);u=e;return}a=f[b>>2]|0;m=f[b+4>>2]|0;f[h>>2]=1124007936;r=h+4|0;n=h+8|0;t=h+40|0;o=r;q=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(q|0));f[t>>2]=n;n=h+48|0;w=h+44|0;f[w>>2]=n;f[n>>2]=0;f[h+52>>2]=0;f[i>>2]=1124007936;s=i+4|0;v=i+8|0;x=i+40|0;o=s;q=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(q|0));f[x>>2]=v;v=i+48|0;y=i+44|0;f[y>>2]=v;f[v>>2]=0;f[i+52>>2]=0;f[j>>2]=1124007936;A=j+4|0;z=j+8|0;l=j+40|0;o=A;q=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(q|0));f[l>>2]=z;z=j+48|0;o=j+44|0;f[o>>2]=z;f[z>>2]=0;f[j+52>>2]=0;zF(g,a,m,h,i,j,+p[b+176>>3],+p[b+184>>3],b+192|0);AF(d,g)|0;Mi(g);m=j+36|0;a=f[m>>2]|0;if(a|0?(q=a+12|0,a=f[q>>2]|0,f[q>>2]=a+-1,(a|0)==1):0)XO(j);f[m>>2]=0;m=j+16|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;if((f[A>>2]|0)>0){m=f[l>>2]|0;l=0;do{f[m+(l<<2)>>2]=0;l=l+1|0}while((l|0)<(f[A>>2]|0))}A=f[o>>2]|0;if((A|0)!=(z|0))dX(A);A=i+36|0;z=f[A>>2]|0;if(z|0?(o=z+12|0,z=f[o>>2]|0,f[o>>2]=z+-1,(z|0)==1):0)XO(i);f[A>>2]=0;A=i+16|0;f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;f[A+12>>2]=0;if((f[s>>2]|0)>0){A=f[x>>2]|0;x=0;do{f[A+(x<<2)>>2]=0;x=x+1|0}while((x|0)<(f[s>>2]|0))}s=f[y>>2]|0;if((s|0)!=(v|0))dX(s);s=h+36|0;v=f[s>>2]|0;if(v|0?(y=v+12|0,v=f[y>>2]|0,f[y>>2]=v+-1,(v|0)==1):0)XO(h);f[s>>2]=0;s=h+16|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if((f[r>>2]|0)>0){s=f[t>>2]|0;t=0;do{f[s+(t<<2)>>2]=0;t=t+1|0}while((t|0)<(f[r>>2]|0))}r=f[w>>2]|0;if((r|0)!=(n|0))dX(r);if(f[b+24>>2]|0){bP(g,b+8|0,c);r=d+8|0;n=g+36|0;w=f[n>>2]|0;if((r|0)==(g|0))D=w;else{if(w|0){t=w+12|0;f[t>>2]=(f[t>>2]|0)+1}t=d+44|0;w=f[t>>2]|0;if(w|0?(s=w+12|0,w=f[s>>2]|0,f[s>>2]=w+-1,(w|0)==1):0)XO(r);f[t>>2]=0;w=d+24|0;s=d+12|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;if((f[s>>2]|0)>0){h=f[d+48>>2]|0;v=0;do{f[h+(v<<2)>>2]=0;v=v+1|0;E=f[s>>2]|0}while((v|0)<(E|0));f[r>>2]=f[g>>2];if((E|0)<3)F=38;else F=40}else{f[r>>2]=f[g>>2];F=38}if((F|0)==38){E=f[g+4>>2]|0;if((E|0)<3){f[s>>2]=E;f[d+16>>2]=f[g+8>>2];f[d+20>>2]=f[g+12>>2];E=f[g+44>>2]|0;s=f[d+52>>2]|0;f[s>>2]=f[E>>2];f[s+4>>2]=f[E+4>>2]}else F=40}if((F|0)==40)WO(r,g);f[w>>2]=f[g+16>>2];f[d+28>>2]=f[g+20>>2];f[d+32>>2]=f[g+24>>2];f[d+36>>2]=f[g+28>>2];f[d+40>>2]=f[g+32>>2];w=f[n>>2]|0;f[t>>2]=w;D=w}if(D|0?(w=D+12|0,D=f[w>>2]|0,f[w>>2]=D+-1,(D|0)==1):0)XO(g);f[n>>2]=0;n=g+16|0;D=g+4|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;if((f[D>>2]|0)>0){n=f[g+40>>2]|0;w=0;do{f[n+(w<<2)>>2]=0;w=w+1|0}while((w|0)<(f[D>>2]|0))}D=f[g+44>>2]|0;if((D|0)!=(g+48|0))dX(D)}if(f[b+80>>2]|0){bP(g,b+64|0,c);D=d+64|0;w=g+36|0;n=f[w>>2]|0;if((D|0)==(g|0))G=n;else{if(n|0){t=n+12|0;f[t>>2]=(f[t>>2]|0)+1}t=d+100|0;n=f[t>>2]|0;if(n|0?(r=n+12|0,n=f[r>>2]|0,f[r>>2]=n+-1,(n|0)==1):0)XO(D);f[t>>2]=0;n=d+80|0;r=d+68|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;if((f[r>>2]|0)>0){E=f[d+104>>2]|0;s=0;do{f[E+(s<<2)>>2]=0;s=s+1|0;H=f[r>>2]|0}while((s|0)<(H|0));f[D>>2]=f[g>>2];if((H|0)<3)F=63;else F=65}else{f[D>>2]=f[g>>2];F=63}if((F|0)==63){H=f[g+4>>2]|0;if((H|0)<3){f[r>>2]=H;f[d+72>>2]=f[g+8>>2];f[d+76>>2]=f[g+12>>2];H=f[g+44>>2]|0;r=f[d+108>>2]|0;f[r>>2]=f[H>>2];f[r+4>>2]=f[H+4>>2]}else F=65}if((F|0)==65)WO(D,g);f[n>>2]=f[g+16>>2];f[d+84>>2]=f[g+20>>2];f[d+88>>2]=f[g+24>>2];f[d+92>>2]=f[g+28>>2];f[d+96>>2]=f[g+32>>2];n=f[w>>2]|0;f[t>>2]=n;G=n}if(G|0?(n=G+12|0,G=f[n>>2]|0,f[n>>2]=G+-1,(G|0)==1):0)XO(g);f[w>>2]=0;w=g+16|0;G=g+4|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;if((f[G>>2]|0)>0){w=f[g+40>>2]|0;n=0;do{f[w+(n<<2)>>2]=0;n=n+1|0}while((n|0)<(f[G>>2]|0))}G=f[g+44>>2]|0;if((G|0)!=(g+48|0))dX(G)}if(!(f[b+136>>2]|0)){u=e;return}bP(g,b+120|0,c);c=d+120|0;b=g+36|0;G=f[b>>2]|0;if((c|0)==(g|0))I=G;else{if(G|0){n=G+12|0;f[n>>2]=(f[n>>2]|0)+1}n=d+156|0;G=f[n>>2]|0;if(G|0?(w=G+12|0,G=f[w>>2]|0,f[w>>2]=G+-1,(G|0)==1):0)XO(c);f[n>>2]=0;G=d+136|0;w=d+124|0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;if((f[w>>2]|0)>0){t=f[d+160>>2]|0;D=0;do{f[t+(D<<2)>>2]=0;D=D+1|0;J=f[w>>2]|0}while((D|0)<(J|0));f[c>>2]=f[g>>2];if((J|0)<3)F=88;else F=90}else{f[c>>2]=f[g>>2];F=88}if((F|0)==88){J=f[g+4>>2]|0;if((J|0)<3){f[w>>2]=J;f[d+128>>2]=f[g+8>>2];f[d+132>>2]=f[g+12>>2];J=f[g+44>>2]|0;w=f[d+164>>2]|0;f[w>>2]=f[J>>2];f[w+4>>2]=f[J+4>>2]}else F=90}if((F|0)==90)WO(c,g);f[G>>2]=f[g+16>>2];f[d+140>>2]=f[g+20>>2];f[d+144>>2]=f[g+24>>2];f[d+148>>2]=f[g+28>>2];f[d+152>>2]=f[g+32>>2];d=f[b>>2]|0;f[n>>2]=d;I=d}if(I|0?(d=I+12|0,I=f[d>>2]|0,f[d>>2]=I+-1,(I|0)==1):0)XO(g);f[b>>2]=0;b=g+16|0;I=g+4|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[I>>2]|0)>0){b=f[g+40>>2]|0;d=0;do{f[b+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[I>>2]|0))}I=f[g+44>>2]|0;if((I|0)!=(g+48|0))dX(I);u=e;return}function dF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+112|0;d=a+88|0;e=a+72|0;g=a+56|0;h=a;f[h>>2]=1124007936;i=h+4|0;j=h+8|0;k=h+40|0;l=i;m=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[k>>2]=j;j=h+48|0;l=h+44|0;f[l>>2]=j;f[j>>2]=0;f[h+52>>2]=0;m=f[b>>2]|0;th[f[(f[m>>2]|0)+12>>2]&255](m,b,h,-1);f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=c;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=h;b=g+8|0;f[b>>2]=0;f[b+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=c;MH(d,e,g,BK()|0,-1);g=h+36|0;e=f[g>>2]|0;if(e|0?(d=e+12|0,e=f[d>>2]|0,f[d>>2]=e+-1,(e|0)==1):0)XO(h);f[g>>2]=0;g=h+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;if((f[i>>2]|0)>0){g=f[k>>2]|0;k=0;do{f[g+(k<<2)>>2]=0;k=k+1|0}while((k|0)<(f[i>>2]|0))}i=f[l>>2]|0;if((i|0)==(j|0)){u=a;return}dX(i);u=a;return}function eF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+112|0;d=a+88|0;e=a+72|0;g=a+56|0;h=a;f[h>>2]=1124007936;i=h+4|0;j=h+8|0;k=h+40|0;l=i;m=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[k>>2]=j;j=h+48|0;l=h+44|0;f[l>>2]=j;f[j>>2]=0;f[h+52>>2]=0;m=f[b>>2]|0;th[f[(f[m>>2]|0)+12>>2]&255](m,b,h,-1);f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=c;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=h;b=g+8|0;f[b>>2]=0;f[b+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=c;aI(d,e,g,BK()|0,-1);g=h+36|0;e=f[g>>2]|0;if(e|0?(d=e+12|0,e=f[d>>2]|0,f[d>>2]=e+-1,(e|0)==1):0)XO(h);f[g>>2]=0;g=h+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;if((f[i>>2]|0)>0){g=f[k>>2]|0;k=0;do{f[g+(k<<2)>>2]=0;k=k+1|0}while((k|0)<(f[i>>2]|0))}i=f[l>>2]|0;if((i|0)==(j|0)){u=a;return}dX(i);u=a;return}function fF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=u;u=u+176|0;d=a+160|0;e=a+144|0;g=a+128|0;h=a+72|0;i=a+56|0;j=a;f[j>>2]=1124007936;k=j+4|0;l=j+8|0;m=j+40|0;n=k;o=n+36|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[m>>2]=l;l=j+48|0;p=j+44|0;f[p>>2]=l;f[l>>2]=0;f[j+52>>2]=0;q=f[b>>2]|0;th[f[(f[q>>2]|0)+12>>2]&255](q,b,j,-1);f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=c;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=j;f[h>>2]=1124007936;b=h+4|0;q=h+8|0;r=h+40|0;n=b;o=n+36|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[r>>2]=q;q=h+48|0;n=h+44|0;f[n>>2]=q;f[q>>2]=0;f[h+52>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=h;o=i+8|0;f[o>>2]=0;f[o+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=c;zC(d,e,1.0,g,0.0,i,0);i=h+36|0;g=f[i>>2]|0;if(g|0?(e=g+12|0,g=f[e>>2]|0,f[e>>2]=g+-1,(g|0)==1):0)XO(h);f[i>>2]=0;i=h+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[b>>2]|0)>0){i=f[r>>2]|0;r=0;do{f[i+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[b>>2]|0))}b=f[n>>2]|0;if((b|0)!=(q|0))dX(b);b=j+36|0;q=f[b>>2]|0;if(q|0?(n=q+12|0,q=f[n>>2]|0,f[n>>2]=q+-1,(q|0)==1):0)XO(j);f[b>>2]=0;b=j+16|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[k>>2]|0)>0){b=f[m>>2]|0;m=0;do{f[b+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[k>>2]|0))}k=f[p>>2]|0;if((k|0)==(l|0)){u=a;return}dX(k);u=a;return}function gF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+112|0;d=a+88|0;e=a+72|0;g=a+56|0;h=a;f[h>>2]=1124007936;i=h+4|0;j=h+8|0;k=h+40|0;l=i;m=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[k>>2]=j;j=h+48|0;l=h+44|0;f[l>>2]=j;f[j>>2]=0;f[h+52>>2]=0;m=f[b>>2]|0;th[f[(f[m>>2]|0)+12>>2]&255](m,b,h,-1);f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=c;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=h;b=g+8|0;f[b>>2]=0;f[b+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=c;MI(d,e,g,1.0,-1);g=h+36|0;e=f[g>>2]|0;if(e|0?(d=e+12|0,e=f[d>>2]|0,f[d>>2]=e+-1,(e|0)==1):0)XO(h);f[g>>2]=0;g=h+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;if((f[i>>2]|0)>0){g=f[k>>2]|0;k=0;do{f[g+(k<<2)>>2]=0;k=k+1|0}while((k|0)<(f[i>>2]|0))}i=f[l>>2]|0;if((i|0)==(j|0)){u=a;return}dX(i);u=a;return}function hF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+112|0;d=a+88|0;e=a+72|0;g=a+56|0;h=a;f[h>>2]=1124007936;i=h+4|0;j=h+8|0;k=h+40|0;l=i;m=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[k>>2]=j;j=h+48|0;l=h+44|0;f[l>>2]=j;f[j>>2]=0;f[h+52>>2]=0;m=f[b>>2]|0;th[f[(f[m>>2]|0)+12>>2]&255](m,b,h,-1);f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=c;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=h;b=g+8|0;f[b>>2]=0;f[b+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=c;$G(d,e,g,BK()|0);g=h+36|0;e=f[g>>2]|0;if(e|0?(d=e+12|0,e=f[d>>2]|0,f[d>>2]=e+-1,(e|0)==1):0)XO(h);f[g>>2]=0;g=h+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;if((f[i>>2]|0)>0){g=f[k>>2]|0;k=0;do{f[g+(k<<2)>>2]=0;k=k+1|0}while((k|0)<(f[i>>2]|0))}i=f[l>>2]|0;if((i|0)==(j|0)){u=a;return}dX(i);u=a;return}function iF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+112|0;d=a+88|0;e=a+72|0;g=a+56|0;h=a;f[h>>2]=1124007936;i=h+4|0;j=h+8|0;k=h+40|0;l=i;m=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[k>>2]=j;j=h+48|0;l=h+44|0;f[l>>2]=j;f[j>>2]=0;f[h+52>>2]=0;m=f[b>>2]|0;th[f[(f[m>>2]|0)+12>>2]&255](m,b,h,-1);f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=c;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=h;b=g+8|0;f[b>>2]=0;f[b+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=c;cH(d,e,g,BK()|0);g=h+36|0;e=f[g>>2]|0;if(e|0?(d=e+12|0,e=f[d>>2]|0,f[d>>2]=e+-1,(e|0)==1):0)XO(h);f[g>>2]=0;g=h+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;if((f[i>>2]|0)>0){g=f[k>>2]|0;k=0;do{f[g+(k<<2)>>2]=0;k=k+1|0}while((k|0)<(f[i>>2]|0))}i=f[l>>2]|0;if((i|0)==(j|0)){u=a;return}dX(i);u=a;return}function jF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+112|0;d=a+88|0;e=a+72|0;g=a+56|0;h=a;f[h>>2]=1124007936;i=h+4|0;j=h+8|0;k=h+40|0;l=i;m=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[k>>2]=j;j=h+48|0;l=h+44|0;f[l>>2]=j;f[j>>2]=0;f[h+52>>2]=0;m=f[b>>2]|0;th[f[(f[m>>2]|0)+12>>2]&255](m,b,h,-1);f[d+8>>2]=0;f[d+12>>2]=0;f[d>>2]=16842752;f[d+4>>2]=c;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=16842752;f[e+4>>2]=h;b=g+8|0;f[b>>2]=0;f[b+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=c;eH(d,e,g,BK()|0);g=h+36|0;e=f[g>>2]|0;if(e|0?(d=e+12|0,e=f[d>>2]|0,f[d>>2]=e+-1,(e|0)==1):0)XO(h);f[g>>2]=0;g=h+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;if((f[i>>2]|0)>0){g=f[k>>2]|0;k=0;do{f[g+(k<<2)>>2]=0;k=k+1|0}while((k|0)<(f[i>>2]|0))}i=f[l>>2]|0;if((i|0)==(j|0)){u=a;return}dX(i);u=a;return}function kF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0,G=0.0,H=0,I=0,J=0.0;e=u;u=u+160|0;g=e+144|0;h=e;i=e+88|0;j=e+32|0;yV(g,30644);k=f[c>>2]|0;if((k|0)==(a|0)){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;f[h+28>>2]=0;f[i>>2]=1124007936;a=i+4|0;l=i+8|0;m=i+40|0;n=a;o=n+36|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[m>>2]=l;q=i+48|0;r=i+44|0;f[r>>2]=q;f[q>>2]=0;f[i+52>>2]=0;f[j>>2]=1124007936;s=j+4|0;t=j+8|0;v=j+40|0;n=s;o=n+36|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[v>>2]=t;n=j+48|0;o=j+44|0;f[o>>2]=n;f[n>>2]=0;f[j+52>>2]=0;w=f[b>>2]|0;do if((w|0)==29708){if(f[b+80>>2]|0?!(+p[b+184>>3]==0.0):0){x=21;break}y=b+8|0;if((i|0)!=(y|0)){z=b+44|0;A=f[z>>2]|0;if(A){B=A+12|0;f[B>>2]=(f[B>>2]|0)+1;B=i+36|0;A=f[B>>2]|0;if((A|0)!=0?(C=A+12|0,A=f[C>>2]|0,f[C>>2]=A+-1,(A|0)==1):0){XO(i);D=B}else D=B}else D=i+36|0;f[D>>2]=0;B=i+16|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;if((f[a>>2]|0)>0){A=f[m>>2]|0;C=0;do{f[A+(C<<2)>>2]=0;C=C+1|0;E=f[a>>2]|0}while((C|0)<(E|0));f[i>>2]=f[y>>2];if((E|0)<3)x=16;else x=18}else{f[i>>2]=f[y>>2];x=16}if((x|0)==16){C=f[b+12>>2]|0;if((C|0)<3){f[a>>2]=C;f[l>>2]=f[b+16>>2];f[i+12>>2]=f[b+20>>2];C=f[b+52>>2]|0;A=f[r>>2]|0;f[A>>2]=f[C>>2];f[A+4>>2]=f[C+4>>2]}else x=18}if((x|0)==18)WO(i,y);f[B>>2]=f[b+24>>2];f[i+20>>2]=f[b+28>>2];f[i+24>>2]=f[b+32>>2];f[i+28>>2]=f[b+36>>2];f[i+32>>2]=f[b+40>>2];f[D>>2]=f[z>>2]}F=+p[b+176>>3];C=b+192|0;f[h>>2]=f[C>>2];f[h+4>>2]=f[C+4>>2];f[h+8>>2]=f[C+8>>2];f[h+12>>2]=f[C+12>>2];f[h+16>>2]=f[C+16>>2];f[h+20>>2]=f[C+20>>2];f[h+24>>2]=f[C+24>>2];f[h+28>>2]=f[C+28>>2];G=F}else x=21;while(0);if((x|0)==21){th[f[(f[w>>2]|0)+12>>2]&255](w,b,i,-1);G=1.0}w=f[c>>2]|0;do if((w|0)==29708){if(f[c+80>>2]|0?!(+p[c+184>>3]==0.0):0){x=41;break}D=c+8|0;if((j|0)!=(D|0)){l=c+44|0;E=f[l>>2]|0;if(E|0){C=E+12|0;f[C>>2]=(f[C>>2]|0)+1}C=j+36|0;E=f[C>>2]|0;if(E|0?(A=E+12|0,E=f[A>>2]|0,f[A>>2]=E+-1,(E|0)==1):0)XO(j);f[C>>2]=0;E=j+16|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;if((f[s>>2]|0)>0){A=f[v>>2]|0;H=0;do{f[A+(H<<2)>>2]=0;H=H+1|0;I=f[s>>2]|0}while((H|0)<(I|0));f[j>>2]=f[D>>2];if((I|0)<3)x=36;else x=38}else{f[j>>2]=f[D>>2];x=36}if((x|0)==36){H=f[c+12>>2]|0;if((H|0)<3){f[s>>2]=H;f[t>>2]=f[c+16>>2];f[j+12>>2]=f[c+20>>2];H=f[c+52>>2]|0;A=f[o>>2]|0;f[A>>2]=f[H>>2];f[A+4>>2]=f[H+4>>2]}else x=38}if((x|0)==38)WO(j,D);f[E>>2]=f[c+24>>2];f[j+20>>2]=f[c+28>>2];f[j+24>>2]=f[c+32>>2];f[j+28>>2]=f[c+36>>2];f[j+32>>2]=f[c+40>>2];f[C>>2]=f[l>>2]}F=+p[c+176>>3];p[h>>3]=+p[c+192>>3]+ +p[h>>3];H=h+8|0;p[H>>3]=+p[c+200>>3]+ +p[H>>3];H=h+16|0;p[H>>3]=+p[c+208>>3]+ +p[H>>3];H=h+24|0;p[H>>3]=+p[c+216>>3]+ +p[H>>3];J=F}else x=41;while(0);if((x|0)==41){th[f[(f[w>>2]|0)+12>>2]&255](w,c,j,-1);J=1.0}iG(d,i,j,G,J,h);h=j+36|0;w=f[h>>2]|0;if(w|0?(x=w+12|0,w=f[x>>2]|0,f[x>>2]=w+-1,(w|0)==1):0)XO(j);f[h>>2]=0;h=j+16|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;if((f[s>>2]|0)>0){h=f[v>>2]|0;v=0;do{f[h+(v<<2)>>2]=0;v=v+1|0}while((v|0)<(f[s>>2]|0))}s=f[o>>2]|0;if((s|0)!=(n|0))dX(s);s=i+36|0;n=f[s>>2]|0;if(n|0?(o=n+12|0,n=f[o>>2]|0,f[o>>2]=n+-1,(n|0)==1):0)XO(i);f[s>>2]=0;s=i+16|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if((f[a>>2]|0)>0){s=f[m>>2]|0;m=0;do{f[s+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[a>>2]|0))}a=f[r>>2]|0;if((a|0)!=(q|0))dX(a)}else th[f[(f[k>>2]|0)+52>>2]&255](k,b,c,d);if(!(f[g+4>>2]|0)){u=e;return}u=e;return}function lF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a=u;u=u+128|0;e=a+112|0;g=a+56|0;h=a;yV(e,30624);f[g>>2]=1124007936;i=g+4|0;j=g+8|0;k=g+40|0;l=i;m=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[k>>2]=j;j=g+48|0;n=g+44|0;f[n>>2]=j;f[j>>2]=0;f[g+52>>2]=0;o=f[b>>2]|0;th[f[(f[o>>2]|0)+12>>2]&255](o,b,g,-1);f[h>>2]=1124007936;b=h+4|0;o=h+8|0;p=h+40|0;l=b;m=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[p>>2]=o;o=h+48|0;l=h+44|0;f[l>>2]=o;f[o>>2]=0;f[h+52>>2]=0;iG(d,g,h,1.0,0.0,c);c=h+36|0;d=f[c>>2]|0;if(d|0?(m=d+12|0,d=f[m>>2]|0,f[m>>2]=d+-1,(d|0)==1):0)XO(h);f[c>>2]=0;c=h+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[p>>2]|0;p=0;do{f[c+(p<<2)>>2]=0;p=p+1|0}while((p|0)<(f[b>>2]|0))}b=f[l>>2]|0;if((b|0)!=(o|0))dX(b);b=g+36|0;o=f[b>>2]|0;if(o|0?(l=o+12|0,o=f[l>>2]|0,f[l>>2]=o+-1,(o|0)==1):0)XO(g);f[b>>2]=0;b=g+16|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[i>>2]|0)>0){b=f[k>>2]|0;k=0;do{f[b+(k<<2)>>2]=0;k=k+1|0}while((k|0)<(f[i>>2]|0))}i=f[n>>2]|0;if((i|0)!=(j|0))dX(i);if(!(f[e+4>>2]|0)){u=a;return}u=a;return}function mF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0,G=0.0,H=0,I=0,J=0.0;e=u;u=u+160|0;g=e+144|0;h=e;i=e+88|0;j=e+32|0;yV(g,30604);k=f[c>>2]|0;if((k|0)==(a|0)){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;f[h+28>>2]=0;f[i>>2]=1124007936;a=i+4|0;l=i+8|0;m=i+40|0;n=a;o=n+36|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[m>>2]=l;q=i+48|0;r=i+44|0;f[r>>2]=q;f[q>>2]=0;f[i+52>>2]=0;f[j>>2]=1124007936;s=j+4|0;t=j+8|0;v=j+40|0;n=s;o=n+36|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[v>>2]=t;n=j+48|0;o=j+44|0;f[o>>2]=n;f[n>>2]=0;f[j+52>>2]=0;w=f[b>>2]|0;do if((w|0)==29708){if(f[b+80>>2]|0?!(+p[b+184>>3]==0.0):0){x=21;break}y=b+8|0;if((i|0)!=(y|0)){z=b+44|0;A=f[z>>2]|0;if(A){B=A+12|0;f[B>>2]=(f[B>>2]|0)+1;B=i+36|0;A=f[B>>2]|0;if((A|0)!=0?(C=A+12|0,A=f[C>>2]|0,f[C>>2]=A+-1,(A|0)==1):0){XO(i);D=B}else D=B}else D=i+36|0;f[D>>2]=0;B=i+16|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;if((f[a>>2]|0)>0){A=f[m>>2]|0;C=0;do{f[A+(C<<2)>>2]=0;C=C+1|0;E=f[a>>2]|0}while((C|0)<(E|0));f[i>>2]=f[y>>2];if((E|0)<3)x=16;else x=18}else{f[i>>2]=f[y>>2];x=16}if((x|0)==16){C=f[b+12>>2]|0;if((C|0)<3){f[a>>2]=C;f[l>>2]=f[b+16>>2];f[i+12>>2]=f[b+20>>2];C=f[b+52>>2]|0;A=f[r>>2]|0;f[A>>2]=f[C>>2];f[A+4>>2]=f[C+4>>2]}else x=18}if((x|0)==18)WO(i,y);f[B>>2]=f[b+24>>2];f[i+20>>2]=f[b+28>>2];f[i+24>>2]=f[b+32>>2];f[i+28>>2]=f[b+36>>2];f[i+32>>2]=f[b+40>>2];f[D>>2]=f[z>>2]}F=+p[b+176>>3];C=b+192|0;f[h>>2]=f[C>>2];f[h+4>>2]=f[C+4>>2];f[h+8>>2]=f[C+8>>2];f[h+12>>2]=f[C+12>>2];f[h+16>>2]=f[C+16>>2];f[h+20>>2]=f[C+20>>2];f[h+24>>2]=f[C+24>>2];f[h+28>>2]=f[C+28>>2];G=F}else x=21;while(0);if((x|0)==21){th[f[(f[w>>2]|0)+12>>2]&255](w,b,i,-1);G=1.0}w=f[c>>2]|0;do if((w|0)==29708){if(f[c+80>>2]|0?!(+p[c+184>>3]==0.0):0){x=41;break}D=c+8|0;if((j|0)!=(D|0)){l=c+44|0;E=f[l>>2]|0;if(E|0){C=E+12|0;f[C>>2]=(f[C>>2]|0)+1}C=j+36|0;E=f[C>>2]|0;if(E|0?(A=E+12|0,E=f[A>>2]|0,f[A>>2]=E+-1,(E|0)==1):0)XO(j);f[C>>2]=0;E=j+16|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;if((f[s>>2]|0)>0){A=f[v>>2]|0;H=0;do{f[A+(H<<2)>>2]=0;H=H+1|0;I=f[s>>2]|0}while((H|0)<(I|0));f[j>>2]=f[D>>2];if((I|0)<3)x=36;else x=38}else{f[j>>2]=f[D>>2];x=36}if((x|0)==36){H=f[c+12>>2]|0;if((H|0)<3){f[s>>2]=H;f[t>>2]=f[c+16>>2];f[j+12>>2]=f[c+20>>2];H=f[c+52>>2]|0;A=f[o>>2]|0;f[A>>2]=f[H>>2];f[A+4>>2]=f[H+4>>2]}else x=38}if((x|0)==38)WO(j,D);f[E>>2]=f[c+24>>2];f[j+20>>2]=f[c+28>>2];f[j+24>>2]=f[c+32>>2];f[j+28>>2]=f[c+36>>2];f[j+32>>2]=f[c+40>>2];f[C>>2]=f[l>>2]}F=-+p[c+176>>3];p[h>>3]=+p[h>>3]-+p[c+192>>3];H=h+8|0;p[H>>3]=+p[H>>3]-+p[c+200>>3];H=h+16|0;p[H>>3]=+p[H>>3]-+p[c+208>>3];H=h+24|0;p[H>>3]=+p[H>>3]-+p[c+216>>3];J=F}else x=41;while(0);if((x|0)==41){th[f[(f[w>>2]|0)+12>>2]&255](w,c,j,-1);J=-1.0}iG(d,i,j,G,J,h);h=j+36|0;w=f[h>>2]|0;if(w|0?(x=w+12|0,w=f[x>>2]|0,f[x>>2]=w+-1,(w|0)==1):0)XO(j);f[h>>2]=0;h=j+16|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;if((f[s>>2]|0)>0){h=f[v>>2]|0;v=0;do{f[h+(v<<2)>>2]=0;v=v+1|0}while((v|0)<(f[s>>2]|0))}s=f[o>>2]|0;if((s|0)!=(n|0))dX(s);s=i+36|0;n=f[s>>2]|0;if(n|0?(o=n+12|0,n=f[o>>2]|0,f[o>>2]=n+-1,(n|0)==1):0)XO(i);f[s>>2]=0;s=i+16|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if((f[a>>2]|0)>0){s=f[m>>2]|0;m=0;do{f[s+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[a>>2]|0))}a=f[r>>2]|0;if((a|0)!=(q|0))dX(a)}else th[f[(f[k>>2]|0)+60>>2]&255](k,b,c,d);if(!(f[g+4>>2]|0)){u=e;return}u=e;return}function nF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a=u;u=u+128|0;e=a+112|0;g=a+56|0;h=a;yV(e,30584);f[g>>2]=1124007936;i=g+4|0;j=g+8|0;k=g+40|0;l=i;m=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[k>>2]=j;j=g+48|0;n=g+44|0;f[n>>2]=j;f[j>>2]=0;f[g+52>>2]=0;o=f[c>>2]|0;th[f[(f[o>>2]|0)+12>>2]&255](o,c,g,-1);f[h>>2]=1124007936;c=h+4|0;o=h+8|0;p=h+40|0;l=c;m=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[p>>2]=o;o=h+48|0;l=h+44|0;f[l>>2]=o;f[o>>2]=0;f[h+52>>2]=0;iG(d,g,h,-1.0,0.0,b);b=h+36|0;d=f[b>>2]|0;if(d|0?(m=d+12|0,d=f[m>>2]|0,f[m>>2]=d+-1,(d|0)==1):0)XO(h);f[b>>2]=0;b=h+16|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[c>>2]|0)>0){b=f[p>>2]|0;p=0;do{f[b+(p<<2)>>2]=0;p=p+1|0}while((p|0)<(f[c>>2]|0))}c=f[l>>2]|0;if((c|0)!=(o|0))dX(c);c=g+36|0;o=f[c>>2]|0;if(o|0?(l=o+12|0,o=f[l>>2]|0,f[l>>2]=o+-1,(o|0)==1):0)XO(g);f[c>>2]=0;c=g+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[i>>2]|0)>0){c=f[k>>2]|0;k=0;do{f[c+(k<<2)>>2]=0;k=k+1|0}while((k|0)<(f[i>>2]|0))}i=f[n>>2]|0;if((i|0)!=(j|0))dX(i);if(!(f[e+4>>2]|0)){u=a;return}u=a;return}function oF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0.0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0;g=u;u=u+128|0;h=g+112|0;i=g+56|0;j=g;yV(h,30564);k=f[c>>2]|0;if((k|0)==(a|0)){f[i>>2]=1124007936;l=i+4|0;m=i+8|0;n=i+40|0;o=l;q=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(q|0));f[n>>2]=m;r=i+48|0;s=i+44|0;f[s>>2]=r;f[r>>2]=0;f[i+52>>2]=0;f[j>>2]=1124007936;t=j+4|0;v=j+8|0;w=j+40|0;o=t;q=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(q|0));f[w>>2]=v;o=j+48|0;q=j+44|0;f[q>>2]=o;f[o>>2]=0;f[j+52>>2]=0;x=f[b>>2]|0;do if(!((x|0)==30068?(f[b+4>>2]|0)==47:0))if((x|0)==29708){if(f[b+80>>2]|0?!(+p[b+184>>3]==0.0):0){y=52;break}if(((+p[b+192>>3]==0.0?+p[b+200>>3]==0.0:0)?+p[b+208>>3]==0.0:0)?+p[b+216>>3]==0.0:0){z=b+8|0;if((i|0)!=(z|0)){A=b+44|0;B=f[A>>2]|0;if(B){C=B+12|0;f[C>>2]=(f[C>>2]|0)+1;C=i+36|0;B=f[C>>2]|0;if((B|0)!=0?(D=B+12|0,B=f[D>>2]|0,f[D>>2]=B+-1,(B|0)==1):0){XO(i);E=C}else E=C}else E=i+36|0;f[E>>2]=0;C=i+16|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;f[C+12>>2]=0;if((f[l>>2]|0)>0){B=f[n>>2]|0;D=0;do{f[B+(D<<2)>>2]=0;D=D+1|0;F=f[l>>2]|0}while((D|0)<(F|0));f[i>>2]=f[z>>2];if((F|0)<3)y=47;else y=49}else{f[i>>2]=f[z>>2];y=47}if((y|0)==47){D=f[b+12>>2]|0;if((D|0)<3){f[l>>2]=D;f[m>>2]=f[b+16>>2];f[i+12>>2]=f[b+20>>2];D=f[b+52>>2]|0;B=f[s>>2]|0;f[B>>2]=f[D>>2];f[B+4>>2]=f[D+4>>2]}else y=49}if((y|0)==49)WO(i,z);f[C>>2]=f[b+24>>2];f[i+20>>2]=f[b+28>>2];f[i+24>>2]=f[b+32>>2];f[i+28>>2]=f[b+36>>2];f[i+32>>2]=f[b+40>>2];f[E>>2]=f[A>>2]}G=+p[b+176>>3]*e;y=53}else y=52}else y=52;else{if(f[b+80>>2]|0?!(+p[b+184>>3]==0.0):0){y=52;break}do if((a|0)==29708){if(f[c+80>>2]|0?!(+p[c+184>>3]==0.0):0){y=27;break}if(((+p[c+192>>3]==0.0?+p[c+200>>3]==0.0:0)?+p[c+208>>3]==0.0:0)?+p[c+216>>3]==0.0:0){H=+p[c+176>>3]*e;D=c+8|0;if((j|0)==(D|0))I=H;else{B=c+44|0;J=f[B>>2]|0;if(J){K=J+12|0;f[K>>2]=(f[K>>2]|0)+1;K=j+36|0;J=f[K>>2]|0;if((J|0)!=0?(L=J+12|0,J=f[L>>2]|0,f[L>>2]=J+-1,(J|0)==1):0){XO(j);M=K}else M=K}else M=j+36|0;f[M>>2]=0;K=j+16|0;f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0;f[K+12>>2]=0;if((f[t>>2]|0)>0){J=f[w>>2]|0;L=0;do{f[J+(L<<2)>>2]=0;L=L+1|0;N=f[t>>2]|0}while((L|0)<(N|0));f[j>>2]=f[D>>2];if((N|0)<3)y=23;else y=25}else{f[j>>2]=f[D>>2];y=23}if((y|0)==23){L=f[c+12>>2]|0;if((L|0)<3){f[t>>2]=L;f[v>>2]=f[c+16>>2];f[j+12>>2]=f[c+20>>2];L=f[c+52>>2]|0;J=f[q>>2]|0;f[J>>2]=f[L>>2];f[J+4>>2]=f[L+4>>2]}else y=25}if((y|0)==25)WO(j,D);f[K>>2]=f[c+24>>2];f[j+20>>2]=f[c+28>>2];f[j+24>>2]=f[c+32>>2];f[j+28>>2]=f[c+36>>2];f[j+32>>2]=f[c+40>>2];f[M>>2]=f[B>>2];I=H}}else y=27}else y=27;while(0);if((y|0)==27){th[f[(f[a>>2]|0)+12>>2]&255](a,c,j,-1);I=e}cG(d,47,j,b+8|0,I/+p[b+176>>3])}while(0);if((y|0)==52){th[f[(f[x>>2]|0)+12>>2]&255](x,b,i,-1);G=e;y=53}if((y|0)==53){x=f[c>>2]|0;do if((x|0)==29708){if(f[c+80>>2]|0?!(+p[c+184>>3]==0.0):0){y=95;break}if(((+p[c+192>>3]==0.0?+p[c+200>>3]==0.0:0)?+p[c+208>>3]==0.0:0)?+p[c+216>>3]==0.0:0){a=c+8|0;if((j|0)!=(a|0)){M=c+44|0;N=f[M>>2]|0;if(N|0){E=N+12|0;f[E>>2]=(f[E>>2]|0)+1}E=j+36|0;N=f[E>>2]|0;if(N|0?(m=N+12|0,N=f[m>>2]|0,f[m>>2]=N+-1,(N|0)==1):0)XO(j);f[E>>2]=0;N=j+16|0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;if((f[t>>2]|0)>0){m=f[w>>2]|0;F=0;do{f[m+(F<<2)>>2]=0;F=F+1|0;O=f[t>>2]|0}while((F|0)<(O|0));f[j>>2]=f[a>>2];if((O|0)<3)y=71;else y=73}else{f[j>>2]=f[a>>2];y=71}if((y|0)==71){F=f[c+12>>2]|0;if((F|0)<3){f[t>>2]=F;f[v>>2]=f[c+16>>2];f[j+12>>2]=f[c+20>>2];F=f[c+52>>2]|0;m=f[q>>2]|0;f[m>>2]=f[F>>2];f[m+4>>2]=f[F+4>>2]}else y=73}if((y|0)==73)WO(j,a);f[N>>2]=f[c+24>>2];f[j+20>>2]=f[c+28>>2];f[j+24>>2]=f[c+32>>2];f[j+28>>2]=f[c+36>>2];f[j+32>>2]=f[c+40>>2];f[E>>2]=f[M>>2]}P=42;Q=G*+p[c+176>>3]}else y=95}else if((x|0)==30068?(f[c+4>>2]|0)==47:0){if(f[c+80>>2]|0?!(+p[c+184>>3]==0.0):0){y=95;break}F=c+8|0;if((j|0)!=(F|0)){m=c+44|0;A=f[m>>2]|0;if(A|0){C=A+12|0;f[C>>2]=(f[C>>2]|0)+1}C=j+36|0;A=f[C>>2]|0;if(A|0?(z=A+12|0,A=f[z>>2]|0,f[z>>2]=A+-1,(A|0)==1):0)XO(j);f[C>>2]=0;A=j+16|0;f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;f[A+12>>2]=0;if((f[t>>2]|0)>0){z=f[w>>2]|0;L=0;do{f[z+(L<<2)>>2]=0;L=L+1|0;R=f[t>>2]|0}while((L|0)<(R|0));f[j>>2]=f[F>>2];if((R|0)<3)y=90;else y=92}else{f[j>>2]=f[F>>2];y=90}if((y|0)==90){L=f[c+12>>2]|0;if((L|0)<3){f[t>>2]=L;f[v>>2]=f[c+16>>2];f[j+12>>2]=f[c+20>>2];L=f[c+52>>2]|0;z=f[q>>2]|0;f[z>>2]=f[L>>2];f[z+4>>2]=f[L+4>>2]}else y=92}if((y|0)==92)WO(j,F);f[A>>2]=f[c+24>>2];f[j+20>>2]=f[c+28>>2];f[j+24>>2]=f[c+32>>2];f[j+28>>2]=f[c+36>>2];f[j+32>>2]=f[c+40>>2];f[C>>2]=f[m>>2]}P=47;Q=G*+p[c+176>>3]}else y=95;while(0);if((y|0)==95){th[f[(f[x>>2]|0)+12>>2]&255](x,c,j,-1);P=42;Q=G}cG(d,P,i,j,Q)}P=j+36|0;x=f[P>>2]|0;if(x|0?(y=x+12|0,x=f[y>>2]|0,f[y>>2]=x+-1,(x|0)==1):0)XO(j);f[P>>2]=0;P=j+16|0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;if((f[t>>2]|0)>0){P=f[w>>2]|0;w=0;do{f[P+(w<<2)>>2]=0;w=w+1|0}while((w|0)<(f[t>>2]|0))}t=f[q>>2]|0;if((t|0)!=(o|0))dX(t);t=i+36|0;o=f[t>>2]|0;if(o|0?(q=o+12|0,o=f[q>>2]|0,f[q>>2]=o+-1,(o|0)==1):0)XO(i);f[t>>2]=0;t=i+16|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;if((f[l>>2]|0)>0){t=f[n>>2]|0;n=0;do{f[t+(n<<2)>>2]=0;n=n+1|0}while((n|0)<(f[l>>2]|0))}l=f[s>>2]|0;if((l|0)!=(r|0))dX(l)}else uh[f[(f[k>>2]|0)+68>>2]&15](k,b,c,d,e);if(!(f[h+4>>2]|0)){u=g;return}u=g;return}function pF(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a=u;u=u+160|0;e=a+144|0;g=a+88|0;h=a+32|0;i=a;yV(e,30544);f[g>>2]=1124007936;j=g+4|0;k=g+8|0;l=g+40|0;m=j;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[l>>2]=k;k=g+48|0;o=g+44|0;f[o>>2]=k;f[k>>2]=0;f[g+52>>2]=0;p=f[b>>2]|0;th[f[(f[p>>2]|0)+12>>2]&255](p,b,g,-1);f[h>>2]=1124007936;b=h+4|0;p=h+8|0;q=h+40|0;m=b;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[q>>2]=p;p=h+48|0;m=h+44|0;f[m>>2]=p;f[p>>2]=0;f[h+52>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;f[i+28>>2]=0;iG(d,g,h,c,0.0,i);i=h+36|0;d=f[i>>2]|0;if(d|0?(n=d+12|0,d=f[n>>2]|0,f[n>>2]=d+-1,(d|0)==1):0)XO(h);f[i>>2]=0;i=h+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[b>>2]|0)>0){i=f[q>>2]|0;q=0;do{f[i+(q<<2)>>2]=0;q=q+1|0}while((q|0)<(f[b>>2]|0))}b=f[m>>2]|0;if((b|0)!=(p|0))dX(b);b=g+36|0;p=f[b>>2]|0;if(p|0?(m=p+12|0,p=f[m>>2]|0,f[m>>2]=p+-1,(p|0)==1):0)XO(g);f[b>>2]=0;b=g+16|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[j>>2]|0)>0){b=f[l>>2]|0;l=0;do{f[b+(l<<2)>>2]=0;l=l+1|0}while((l|0)<(f[j>>2]|0))}j=f[o>>2]|0;if((j|0)!=(k|0))dX(j);if(!(f[e+4>>2]|0)){u=a;return}u=a;return}function qF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0,O=0,P=0;g=u;u=u+128|0;h=g+112|0;i=g+56|0;j=g;yV(h,30524);k=f[c>>2]|0;a:do if((k|0)==(a|0)){l=f[b>>2]|0;do if((l|0)==30068?(f[b+4>>2]|0)==47:0){if(f[b+80>>2]|0?!(+p[b+184>>3]==0.0):0)break;if((a|0)==30068?(f[c+4>>2]|0)==47:0){if(f[c+80>>2]|0?!(+p[c+184>>3]==0.0):0)break;cG(d,47,c+8|0,b+8|0,+p[b+176>>3]/+p[c+176>>3]);break a}}while(0);f[i>>2]=1124007936;m=i+4|0;n=i+8|0;o=i+40|0;q=m;r=q+36|0;do{f[q>>2]=0;q=q+4|0}while((q|0)<(r|0));f[o>>2]=n;s=i+48|0;t=i+44|0;f[t>>2]=s;f[s>>2]=0;f[i+52>>2]=0;f[j>>2]=1124007936;v=j+4|0;w=j+8|0;x=j+40|0;q=v;r=q+36|0;do{f[q>>2]=0;q=q+4|0}while((q|0)<(r|0));f[x>>2]=w;q=j+48|0;r=j+44|0;f[r>>2]=q;f[q>>2]=0;f[j+52>>2]=0;do if((l|0)==29708){if(f[b+80>>2]|0?!(+p[b+184>>3]==0.0):0){y=32;break}if(((+p[b+192>>3]==0.0?+p[b+200>>3]==0.0:0)?+p[b+208>>3]==0.0:0)?+p[b+216>>3]==0.0:0){z=b+8|0;if((i|0)!=(z|0)){A=b+44|0;B=f[A>>2]|0;if(B){C=B+12|0;f[C>>2]=(f[C>>2]|0)+1;C=i+36|0;B=f[C>>2]|0;if((B|0)!=0?(D=B+12|0,B=f[D>>2]|0,f[D>>2]=B+-1,(B|0)==1):0){XO(i);E=C}else E=C}else E=i+36|0;f[E>>2]=0;C=i+16|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;f[C+12>>2]=0;if((f[m>>2]|0)>0){B=f[o>>2]|0;D=0;do{f[B+(D<<2)>>2]=0;D=D+1|0;F=f[m>>2]|0}while((D|0)<(F|0));f[i>>2]=f[z>>2];if((F|0)<3)y=27;else y=29}else{f[i>>2]=f[z>>2];y=27}if((y|0)==27){D=f[b+12>>2]|0;if((D|0)<3){f[m>>2]=D;f[n>>2]=f[b+16>>2];f[i+12>>2]=f[b+20>>2];D=f[b+52>>2]|0;B=f[t>>2]|0;f[B>>2]=f[D>>2];f[B+4>>2]=f[D+4>>2]}else y=29}if((y|0)==29)WO(i,z);f[C>>2]=f[b+24>>2];f[i+20>>2]=f[b+28>>2];f[i+24>>2]=f[b+32>>2];f[i+28>>2]=f[b+36>>2];f[i+32>>2]=f[b+40>>2];f[E>>2]=f[A>>2]}G=+p[b+176>>3]*e}else y=32}else y=32;while(0);if((y|0)==32){th[f[(f[l>>2]|0)+12>>2]&255](l,b,i,-1);G=e}n=f[c>>2]|0;do if((n|0)==29708){if(f[c+80>>2]|0?!(+p[c+184>>3]==0.0):0){y=75;break}if(((+p[c+192>>3]==0.0?+p[c+200>>3]==0.0:0)?+p[c+208>>3]==0.0:0)?+p[c+216>>3]==0.0:0){D=c+8|0;if((j|0)!=(D|0)){B=c+44|0;H=f[B>>2]|0;if(H|0){I=H+12|0;f[I>>2]=(f[I>>2]|0)+1}I=j+36|0;H=f[I>>2]|0;if(H|0?(J=H+12|0,H=f[J>>2]|0,f[J>>2]=H+-1,(H|0)==1):0)XO(j);f[I>>2]=0;H=j+16|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;if((f[v>>2]|0)>0){J=f[x>>2]|0;K=0;do{f[J+(K<<2)>>2]=0;K=K+1|0;L=f[v>>2]|0}while((K|0)<(L|0));f[j>>2]=f[D>>2];if((L|0)<3)y=51;else y=53}else{f[j>>2]=f[D>>2];y=51}if((y|0)==51){K=f[c+12>>2]|0;if((K|0)<3){f[v>>2]=K;f[w>>2]=f[c+16>>2];f[j+12>>2]=f[c+20>>2];K=f[c+52>>2]|0;J=f[r>>2]|0;f[J>>2]=f[K>>2];f[J+4>>2]=f[K+4>>2]}else y=53}if((y|0)==53)WO(j,D);f[H>>2]=f[c+24>>2];f[j+20>>2]=f[c+28>>2];f[j+24>>2]=f[c+32>>2];f[j+28>>2]=f[c+36>>2];f[j+32>>2]=f[c+40>>2];f[I>>2]=f[B>>2]}M=47;N=G/+p[c+176>>3]}else y=75}else if((n|0)==30068?(f[c+4>>2]|0)==47:0){if(f[c+80>>2]|0?!(+p[c+184>>3]==0.0):0){y=75;break}K=c+8|0;if((j|0)!=(K|0)){J=c+44|0;A=f[J>>2]|0;if(A|0){C=A+12|0;f[C>>2]=(f[C>>2]|0)+1}C=j+36|0;A=f[C>>2]|0;if(A|0?(z=A+12|0,A=f[z>>2]|0,f[z>>2]=A+-1,(A|0)==1):0)XO(j);f[C>>2]=0;A=j+16|0;f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;f[A+12>>2]=0;if((f[v>>2]|0)>0){z=f[x>>2]|0;O=0;do{f[z+(O<<2)>>2]=0;O=O+1|0;P=f[v>>2]|0}while((O|0)<(P|0));f[j>>2]=f[K>>2];if((P|0)<3)y=70;else y=72}else{f[j>>2]=f[K>>2];y=70}if((y|0)==70){O=f[c+12>>2]|0;if((O|0)<3){f[v>>2]=O;f[w>>2]=f[c+16>>2];f[j+12>>2]=f[c+20>>2];O=f[c+52>>2]|0;z=f[r>>2]|0;f[z>>2]=f[O>>2];f[z+4>>2]=f[O+4>>2]}else y=72}if((y|0)==72)WO(j,K);f[A>>2]=f[c+24>>2];f[j+20>>2]=f[c+28>>2];f[j+24>>2]=f[c+32>>2];f[j+28>>2]=f[c+36>>2];f[j+32>>2]=f[c+40>>2];f[C>>2]=f[J>>2]}M=42;N=G/+p[c+176>>3]}else y=75;while(0);if((y|0)==75){th[f[(f[n>>2]|0)+12>>2]&255](n,c,j,-1);M=47;N=G}cG(d,M,i,j,N);w=j+36|0;l=f[w>>2]|0;if(l|0?(O=l+12|0,l=f[O>>2]|0,f[O>>2]=l+-1,(l|0)==1):0)XO(j);f[w>>2]=0;w=j+16|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;if((f[v>>2]|0)>0){w=f[x>>2]|0;l=0;do{f[w+(l<<2)>>2]=0;l=l+1|0}while((l|0)<(f[v>>2]|0))}v=f[r>>2]|0;if((v|0)!=(q|0))dX(v);v=i+36|0;l=f[v>>2]|0;if(l|0?(w=l+12|0,l=f[w>>2]|0,f[w>>2]=l+-1,(l|0)==1):0)XO(i);f[v>>2]=0;v=i+16|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;if((f[m>>2]|0)>0){v=f[o>>2]|0;l=0;do{f[v+(l<<2)>>2]=0;l=l+1|0}while((l|0)<(f[m>>2]|0))}m=f[t>>2]|0;if((m|0)!=(s|0))dX(m)}else uh[f[(f[k>>2]|0)+76>>2]&15](k,b,c,d,e);while(0);if(!(f[h+4>>2]|0)){u=g;return}u=g;return}function rF(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a=u;u=u+128|0;e=a+112|0;g=a+56|0;h=a;yV(e,30504);f[g>>2]=1124007936;i=g+4|0;j=g+8|0;k=g+40|0;l=i;m=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[k>>2]=j;j=g+48|0;n=g+44|0;f[n>>2]=j;f[j>>2]=0;f[g+52>>2]=0;o=f[c>>2]|0;th[f[(f[o>>2]|0)+12>>2]&255](o,c,g,-1);f[h>>2]=1124007936;c=h+4|0;o=h+8|0;p=h+40|0;l=c;m=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[p>>2]=o;o=h+48|0;l=h+44|0;f[l>>2]=o;f[o>>2]=0;f[h+52>>2]=0;cG(d,47,g,h,b);d=h+36|0;m=f[d>>2]|0;if(m|0?(q=m+12|0,m=f[q>>2]|0,f[q>>2]=m+-1,(m|0)==1):0)XO(h);f[d>>2]=0;d=h+16|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[c>>2]|0)>0){d=f[p>>2]|0;p=0;do{f[d+(p<<2)>>2]=0;p=p+1|0}while((p|0)<(f[c>>2]|0))}c=f[l>>2]|0;if((c|0)!=(o|0))dX(c);c=g+36|0;o=f[c>>2]|0;if(o|0?(l=o+12|0,o=f[l>>2]|0,f[l>>2]=o+-1,(o|0)==1):0)XO(g);f[c>>2]=0;c=g+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[i>>2]|0)>0){c=f[k>>2]|0;k=0;do{f[c+(k<<2)>>2]=0;k=k+1|0}while((k|0)<(f[i>>2]|0))}i=f[n>>2]|0;if((i|0)!=(j|0))dX(i);if(!(f[e+4>>2]|0)){u=a;return}u=a;return}function sF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a=u;u=u+128|0;d=a+112|0;e=a+56|0;g=a;yV(d,30484);f[e>>2]=1124007936;h=e+4|0;i=e+8|0;j=e+40|0;k=h;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[j>>2]=i;i=e+48|0;m=e+44|0;f[m>>2]=i;f[i>>2]=0;f[e+52>>2]=0;n=f[b>>2]|0;th[f[(f[n>>2]|0)+12>>2]&255](n,b,e,-1);f[g>>2]=1124007936;b=g+4|0;n=g+8|0;o=g+40|0;k=b;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[o>>2]=n;n=g+48|0;k=g+44|0;f[k>>2]=n;f[n>>2]=0;f[g+52>>2]=0;cG(c,97,e,g,1.0);c=g+36|0;l=f[c>>2]|0;if(l|0?(p=l+12|0,l=f[p>>2]|0,f[p>>2]=l+-1,(l|0)==1):0)XO(g);f[c>>2]=0;c=g+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[b>>2]|0)>0){c=f[o>>2]|0;o=0;do{f[c+(o<<2)>>2]=0;o=o+1|0}while((o|0)<(f[b>>2]|0))}b=f[k>>2]|0;if((b|0)!=(n|0))dX(b);b=e+36|0;n=f[b>>2]|0;if(n|0?(k=n+12|0,n=f[k>>2]|0,f[k>>2]=n+-1,(n|0)==1):0)XO(e);f[b>>2]=0;b=e+16|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;if((f[h>>2]|0)>0){b=f[j>>2]|0;j=0;do{f[b+(j<<2)>>2]=0;j=j+1|0}while((j|0)<(f[h>>2]|0))}h=f[m>>2]|0;if((h|0)!=(i|0))dX(h);if(!(f[d+4>>2]|0)){u=a;return}u=a;return}function tF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;a=u;u=u+64|0;d=a+56|0;e=a;yV(d,30464);f[e>>2]=1124007936;g=e+4|0;h=e+8|0;i=e+40|0;j=g;k=j+36|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[i>>2]=h;h=e+48|0;j=e+44|0;f[j>>2]=h;f[h>>2]=0;f[e+52>>2]=0;k=f[b>>2]|0;th[f[(f[k>>2]|0)+12>>2]&255](k,b,e,-1);aG(c,e,1.0);c=e+36|0;b=f[c>>2]|0;if(b|0?(k=b+12|0,b=f[k>>2]|0,f[k>>2]=b+-1,(b|0)==1):0)XO(e);f[c>>2]=0;c=e+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[g>>2]|0)>0){c=f[i>>2]|0;i=0;do{f[c+(i<<2)>>2]=0;i=i+1|0}while((i|0)<(f[g>>2]|0))}g=f[j>>2]|0;if((g|0)!=(h|0))dX(g);if(!(f[d+4>>2]|0)){u=a;return}u=a;return}function uF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0.0,S=0,T=0.0,U=0;e=u;u=u+432|0;g=e+32|0;h=e;i=e+368|0;j=e+312|0;k=e+256|0;l=f[c>>2]|0;if((l|0)!=(a|0)){th[f[(f[l>>2]|0)+92>>2]&255](l,b,c,d);u=e;return}f[i>>2]=1124007936;l=i+4|0;a=i+8|0;m=i+40|0;n=l;o=n+36|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[m>>2]=a;q=i+48|0;r=i+44|0;f[r>>2]=q;f[q>>2]=0;f[i+52>>2]=0;f[j>>2]=1124007936;s=j+4|0;t=j+8|0;v=j+40|0;n=s;o=n+36|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[v>>2]=t;w=j+48|0;x=j+44|0;f[x>>2]=w;f[w>>2]=0;f[j+52>>2]=0;y=f[b>>2]|0;a:do if((y|0)==29704){z=+p[b+176>>3];A=b+8|0;if((i|0)==(A|0)){B=1;C=z}else{D=b+44|0;E=f[D>>2]|0;if(E){F=E+12|0;f[F>>2]=(f[F>>2]|0)+1;F=i+36|0;E=f[F>>2]|0;if((E|0)!=0?(G=E+12|0,E=f[G>>2]|0,f[G>>2]=E+-1,(E|0)==1):0){XO(i);H=F}else H=F}else H=i+36|0;f[H>>2]=0;F=i+16|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;f[F+12>>2]=0;if((f[l>>2]|0)>0){E=f[m>>2]|0;G=0;do{f[E+(G<<2)>>2]=0;G=G+1|0;I=f[l>>2]|0}while((G|0)<(I|0));f[i>>2]=f[A>>2];if((I|0)<3)J=14;else J=16}else{f[i>>2]=f[A>>2];J=14}if((J|0)==14){G=f[b+12>>2]|0;if((G|0)<3){f[l>>2]=G;f[a>>2]=f[b+16>>2];f[i+12>>2]=f[b+20>>2];G=f[b+52>>2]|0;E=f[r>>2]|0;f[E>>2]=f[G>>2];f[E+4>>2]=f[G+4>>2]}else J=16}if((J|0)==16)WO(i,A);f[F>>2]=f[b+24>>2];f[i+20>>2]=f[b+28>>2];f[i+24>>2]=f[b+32>>2];f[i+28>>2]=f[b+36>>2];f[i+32>>2]=f[b+40>>2];f[H>>2]=f[D>>2];B=1;C=z}}else{do if((y|0)==29708){if(f[b+80>>2]|0?!(+p[b+184>>3]==0.0):0)break;if(((+p[b+192>>3]==0.0?+p[b+200>>3]==0.0:0)?+p[b+208>>3]==0.0:0)?+p[b+216>>3]==0.0:0){K=+p[b+176>>3];G=b+8|0;if((i|0)==(G|0)){B=0;C=K;break a}E=b+44|0;L=f[E>>2]|0;if(L){M=L+12|0;f[M>>2]=(f[M>>2]|0)+1;M=i+36|0;L=f[M>>2]|0;if((L|0)!=0?(N=L+12|0,L=f[N>>2]|0,f[N>>2]=L+-1,(L|0)==1):0){XO(i);O=M}else O=M}else O=i+36|0;f[O>>2]=0;M=i+16|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;if((f[l>>2]|0)>0){L=f[m>>2]|0;N=0;do{f[L+(N<<2)>>2]=0;N=N+1|0;P=f[l>>2]|0}while((N|0)<(P|0));f[i>>2]=f[G>>2];if((P|0)<3)J=36;else J=38}else{f[i>>2]=f[G>>2];J=36}if((J|0)==36){N=f[b+12>>2]|0;if((N|0)<3){f[l>>2]=N;f[a>>2]=f[b+16>>2];f[i+12>>2]=f[b+20>>2];N=f[b+52>>2]|0;L=f[r>>2]|0;f[L>>2]=f[N>>2];f[L+4>>2]=f[N+4>>2]}else J=38}if((J|0)==38)WO(i,G);f[M>>2]=f[b+24>>2];f[i+20>>2]=f[b+28>>2];f[i+24>>2]=f[b+32>>2];f[i+28>>2]=f[b+36>>2];f[i+32>>2]=f[b+40>>2];f[O>>2]=f[E>>2];B=0;C=K;break a}}while(0);th[f[(f[y>>2]|0)+12>>2]&255](y,b,i,-1);B=0;C=1.0}while(0);b=f[c>>2]|0;b:do if((b|0)==29704){y=B|2;z=C*+p[c+176>>3];O=c+8|0;if((j|0)==(O|0)){Q=y;R=z}else{a=c+44|0;P=f[a>>2]|0;if(P|0){H=P+12|0;f[H>>2]=(f[H>>2]|0)+1}H=j+36|0;P=f[H>>2]|0;if(P|0?(I=P+12|0,P=f[I>>2]|0,f[I>>2]=P+-1,(P|0)==1):0)XO(j);f[H>>2]=0;P=j+16|0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;if((f[s>>2]|0)>0){I=f[v>>2]|0;D=0;do{f[I+(D<<2)>>2]=0;D=D+1|0;S=f[s>>2]|0}while((D|0)<(S|0));f[j>>2]=f[O>>2];if((S|0)<3)J=53;else J=55}else{f[j>>2]=f[O>>2];J=53}if((J|0)==53){D=f[c+12>>2]|0;if((D|0)<3){f[s>>2]=D;f[t>>2]=f[c+16>>2];f[j+12>>2]=f[c+20>>2];D=f[c+52>>2]|0;I=f[x>>2]|0;f[I>>2]=f[D>>2];f[I+4>>2]=f[D+4>>2]}else J=55}if((J|0)==55)WO(j,O);f[P>>2]=f[c+24>>2];f[j+20>>2]=f[c+28>>2];f[j+24>>2]=f[c+32>>2];f[j+28>>2]=f[c+36>>2];f[j+32>>2]=f[c+40>>2];f[H>>2]=f[a>>2];Q=y;R=z}}else{do if((b|0)==29708){if(f[c+80>>2]|0?!(+p[c+184>>3]==0.0):0)break;if(((+p[c+192>>3]==0.0?+p[c+200>>3]==0.0:0)?+p[c+208>>3]==0.0:0)?+p[c+216>>3]==0.0:0){T=C*+p[c+176>>3];D=c+8|0;if((j|0)==(D|0)){Q=B;R=T;break b}I=c+44|0;F=f[I>>2]|0;if(F|0){A=F+12|0;f[A>>2]=(f[A>>2]|0)+1}A=j+36|0;F=f[A>>2]|0;if(F|0?(N=F+12|0,F=f[N>>2]|0,f[N>>2]=F+-1,(F|0)==1):0)XO(j);f[A>>2]=0;F=j+16|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;f[F+12>>2]=0;if((f[s>>2]|0)>0){N=f[v>>2]|0;L=0;do{f[N+(L<<2)>>2]=0;L=L+1|0;U=f[s>>2]|0}while((L|0)<(U|0));f[j>>2]=f[D>>2];if((U|0)<3)J=75;else J=77}else{f[j>>2]=f[D>>2];J=75}if((J|0)==75){L=f[c+12>>2]|0;if((L|0)<3){f[s>>2]=L;f[t>>2]=f[c+16>>2];f[j+12>>2]=f[c+20>>2];L=f[c+52>>2]|0;N=f[x>>2]|0;f[N>>2]=f[L>>2];f[N+4>>2]=f[L+4>>2]}else J=77}if((J|0)==77)WO(j,D);f[F>>2]=f[c+24>>2];f[j+20>>2]=f[c+28>>2];f[j+24>>2]=f[c+32>>2];f[j+28>>2]=f[c+36>>2];f[j+32>>2]=f[c+40>>2];f[A>>2]=f[I>>2];Q=B;R=T;break b}}while(0);th[f[(f[b>>2]|0)+12>>2]&255](b,c,j,-1);Q=B;R=C}while(0);f[k>>2]=1124007936;B=k+4|0;c=k+8|0;b=k+40|0;n=B;o=n+36|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[b>>2]=c;c=k+48|0;n=k+44|0;f[n>>2]=c;f[c>>2]=0;f[k+52>>2]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;f[h+28>>2]=0;zF(g,29712,Q,i,j,k,R,1.0,h);AF(d,g)|0;Mi(g);g=k+36|0;d=f[g>>2]|0;if(d|0?(h=d+12|0,d=f[h>>2]|0,f[h>>2]=d+-1,(d|0)==1):0)XO(k);f[g>>2]=0;g=k+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;if((f[B>>2]|0)>0){g=f[b>>2]|0;b=0;do{f[g+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(f[B>>2]|0))}B=f[n>>2]|0;if((B|0)!=(c|0))dX(B);B=j+36|0;c=f[B>>2]|0;if(c|0?(n=c+12|0,c=f[n>>2]|0,f[n>>2]=c+-1,(c|0)==1):0)XO(j);f[B>>2]=0;B=j+16|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;if((f[s>>2]|0)>0){B=f[v>>2]|0;v=0;do{f[B+(v<<2)>>2]=0;v=v+1|0}while((v|0)<(f[s>>2]|0))}s=f[x>>2]|0;if((s|0)!=(w|0))dX(s);s=i+36|0;w=f[s>>2]|0;if(w|0?(x=w+12|0,w=f[x>>2]|0,f[x>>2]=w+-1,(w|0)==1):0)XO(i);f[s>>2]=0;s=i+16|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if((f[l>>2]|0)>0){s=f[m>>2]|0;m=0;do{f[s+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[l>>2]|0))}l=f[r>>2]|0;if((l|0)!=(q|0))dX(l);u=e;return}function vF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;a=u;u=u+64|0;e=a;f[e>>2]=1124007936;g=e+4|0;h=e+8|0;i=e+40|0;j=g;k=j+36|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[i>>2]=h;h=e+48|0;j=e+44|0;f[j>>2]=h;f[h>>2]=0;f[e+52>>2]=0;k=f[b>>2]|0;th[f[(f[k>>2]|0)+12>>2]&255](k,b,e,-1);yF(d,c,e);c=e+36|0;d=f[c>>2]|0;if(d|0?(b=d+12|0,d=f[b>>2]|0,f[b>>2]=d+-1,(d|0)==1):0)XO(e);f[c>>2]=0;c=e+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[g>>2]|0)>0){c=f[i>>2]|0;i=0;do{f[c+(i<<2)>>2]=0;i=i+1|0}while((i|0)<(f[g>>2]|0))}g=f[j>>2]|0;if((g|0)==(h|0)){u=a;return}dX(g);u=a;return}function wF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;if(f[c+24>>2]|0){b=f[c+12>>2]|0;if((b|0)<3)d=X(f[c+20>>2]|0,f[c+16>>2]|0)|0;else{e=f[c+48>>2]|0;g=0;h=1;while(1){i=X(f[e+(g<<2)>>2]|0,h)|0;g=g+1|0;if((g|0)==(b|0)){d=i;break}else h=i}}if(!((b|0)==0|(d|0)==0))j=c+48|0;else k=8}else k=8;do if((k|0)==8){if(f[c+80>>2]|0){d=f[c+68>>2]|0;if((d|0)<3)l=X(f[c+76>>2]|0,f[c+72>>2]|0)|0;else{b=f[c+104>>2]|0;h=0;g=1;while(1){e=X(f[b+(h<<2)>>2]|0,g)|0;h=h+1|0;if((h|0)==(d|0)){l=e;break}else g=e}}if(!((d|0)==0|(l|0)==0)){j=c+160|0;break}}j=c+104|0}while(0);c=f[j>>2]|0;j=f[c>>2]|0;f[a>>2]=f[c+4>>2];f[a+4>>2]=j;return}function xF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=u;u=u+16|0;c=a;yV(c,29324);d=b+8|0;if(f[b+24>>2]|0){e=f[b+12>>2]|0;if((e|0)<3)g=X(f[b+20>>2]|0,f[b+16>>2]|0)|0;else{h=f[b+48>>2]|0;i=0;j=1;while(1){k=X(f[h+(i<<2)>>2]|0,j)|0;i=i+1|0;if((i|0)==(e|0)){g=k;break}else j=k}}if(!((e|0)==0|(g|0)==0))l=d;else m=7}else m=7;do if((m|0)==7){d=b+64|0;if(f[b+80>>2]|0){g=f[b+68>>2]|0;if((g|0)<3)n=X(f[b+76>>2]|0,f[b+72>>2]|0)|0;else{e=f[b+104>>2]|0;j=0;i=1;while(1){h=X(f[e+(j<<2)>>2]|0,i)|0;j=j+1|0;if((j|0)==(g|0)){n=h;break}else i=h}}if(!((g|0)==0|(n|0)==0)){l=b+120|0;break}}l=d}while(0);b=f[l>>2]&4095;if(!(f[c+4>>2]|0)){u=a;return b|0}u=a;return b|0}function yF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+368|0;e=d+32|0;g=d+312|0;h=d+256|0;i=d;f[g>>2]=1124007936;j=g+4|0;k=g+8|0;l=g+40|0;m=j;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[l>>2]=k;k=g+48|0;o=g+44|0;f[o>>2]=k;f[k>>2]=0;f[g+52>>2]=0;f[h>>2]=1124007936;p=h+4|0;q=h+8|0;r=h+40|0;m=p;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[r>>2]=q;q=h+48|0;m=h+44|0;f[m>>2]=q;f[q>>2]=0;f[h+52>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;f[i+28>>2]=0;zF(e,29344,b,c,g,h,1.0,0.0,i);AF(a,e)|0;Mi(e);e=h+36|0;a=f[e>>2]|0;if(a|0?(i=a+12|0,a=f[i>>2]|0,f[i>>2]=a+-1,(a|0)==1):0)XO(h);f[e>>2]=0;e=h+16|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;if((f[p>>2]|0)>0){e=f[r>>2]|0;r=0;do{f[e+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[p>>2]|0))}p=f[m>>2]|0;if((p|0)!=(q|0))dX(p);p=g+36|0;q=f[p>>2]|0;if(q|0?(m=q+12|0,q=f[m>>2]|0,f[m>>2]=q+-1,(q|0)==1):0)XO(g);f[p>>2]=0;p=g+16|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;if((f[j>>2]|0)>0){p=f[l>>2]|0;l=0;do{f[p+(l<<2)>>2]=0;l=l+1|0}while((l|0)<(f[j>>2]|0))}j=f[o>>2]|0;if((j|0)==(k|0)){u=d;return}dX(j);u=d;return}function zF(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=+h;i=+i;j=j|0;var k=0,l=0,m=0,n=0,o=0,q=0,r=0.0,s=0,t=0,u=0.0,v=0,w=0,x=0.0,y=0,z=0,A=0.0,B=0;f[a>>2]=b;f[a+4>>2]=c;c=a+8|0;f[c>>2]=f[d>>2];b=a+12|0;k=d+4|0;f[b>>2]=f[k>>2];l=a+16|0;f[l>>2]=f[d+8>>2];f[a+20>>2]=f[d+12>>2];f[a+24>>2]=f[d+16>>2];f[a+28>>2]=f[d+20>>2];f[a+32>>2]=f[d+24>>2];f[a+36>>2]=f[d+28>>2];f[a+40>>2]=f[d+32>>2];m=f[d+36>>2]|0;f[a+44>>2]=m;f[a+48>>2]=l;l=a+56|0;n=a+52|0;f[n>>2]=l;f[l>>2]=0;f[a+60>>2]=0;if(m|0){l=m+12|0;f[l>>2]=(f[l>>2]|0)+1}if((f[k>>2]|0)<3){k=f[d+44>>2]|0;l=f[n>>2]|0;f[l>>2]=f[k>>2];f[l+4>>2]=f[k+4>>2]}else{f[b>>2]=0;WO(c,d)}d=a+64|0;f[d>>2]=f[e>>2];c=a+68|0;b=e+4|0;f[c>>2]=f[b>>2];k=a+72|0;f[k>>2]=f[e+8>>2];f[a+76>>2]=f[e+12>>2];f[a+80>>2]=f[e+16>>2];f[a+84>>2]=f[e+20>>2];f[a+88>>2]=f[e+24>>2];f[a+92>>2]=f[e+28>>2];f[a+96>>2]=f[e+32>>2];l=f[e+36>>2]|0;f[a+100>>2]=l;f[a+104>>2]=k;k=a+112|0;n=a+108|0;f[n>>2]=k;f[k>>2]=0;f[a+116>>2]=0;if(l|0){k=l+12|0;f[k>>2]=(f[k>>2]|0)+1}if((f[b>>2]|0)<3){b=f[e+44>>2]|0;k=f[n>>2]|0;f[k>>2]=f[b>>2];f[k+4>>2]=f[b+4>>2]}else{f[c>>2]=0;WO(d,e)}e=a+120|0;f[e>>2]=f[g>>2];d=a+124|0;c=g+4|0;f[d>>2]=f[c>>2];b=a+128|0;f[b>>2]=f[g+8>>2];f[a+132>>2]=f[g+12>>2];f[a+136>>2]=f[g+16>>2];f[a+140>>2]=f[g+20>>2];f[a+144>>2]=f[g+24>>2];f[a+148>>2]=f[g+28>>2];f[a+152>>2]=f[g+32>>2];k=f[g+36>>2]|0;f[a+156>>2]=k;f[a+160>>2]=b;b=a+168|0;n=a+164|0;f[n>>2]=b;f[b>>2]=0;f[a+172>>2]=0;if(k|0){b=k+12|0;f[b>>2]=(f[b>>2]|0)+1}if((f[c>>2]|0)<3){c=f[g+44>>2]|0;b=f[n>>2]|0;f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];o=a+176|0;p[o>>3]=h;q=a+184|0;p[q>>3]=i;r=+p[j>>3];s=a+192|0;p[s>>3]=r;t=j+8|0;u=+p[t>>3];v=a+200|0;p[v>>3]=u;w=j+16|0;x=+p[w>>3];y=a+208|0;p[y>>3]=x;z=j+24|0;A=+p[z>>3];B=a+216|0;p[B>>3]=A;return}else{f[d>>2]=0;WO(e,g);o=a+176|0;p[o>>3]=h;q=a+184|0;p[q>>3]=i;r=+p[j>>3];s=a+192|0;p[s>>3]=r;t=j+8|0;u=+p[t>>3];v=a+200|0;p[v>>3]=u;w=j+16|0;x=+p[w>>3];y=a+208|0;p[y>>3]=x;z=j+24|0;A=+p[z>>3];B=a+216|0;p[B>>3]=A;return}}function AF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;c=b;d=f[c+4>>2]|0;e=a;f[e>>2]=f[c>>2];f[e+4>>2]=d;d=a+8|0;e=b+8|0;c=(a|0)==(b|0);if(c){g=a+176|0;h=b+176|0;i=g;j=h;k=i+48|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));return a|0}l=b+44|0;m=f[l>>2]|0;if(m|0){n=m+12|0;f[n>>2]=(f[n>>2]|0)+1}n=a+44|0;m=f[n>>2]|0;if(m|0?(o=m+12|0,m=f[o>>2]|0,f[o>>2]=m+-1,(m|0)==1):0)XO(d);f[n>>2]=0;m=a+24|0;o=a+12|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;if((f[o>>2]|0)>0){p=f[a+48>>2]|0;q=0;do{f[p+(q<<2)>>2]=0;q=q+1|0;r=f[o>>2]|0}while((q|0)<(r|0));f[d>>2]=f[e>>2];if((r|0)<3)s=12;else s=14}else{f[d>>2]=f[e>>2];s=12}if((s|0)==12){r=f[b+12>>2]|0;if((r|0)<3){f[o>>2]=r;f[a+16>>2]=f[b+16>>2];f[a+20>>2]=f[b+20>>2];r=f[b+52>>2]|0;o=f[a+52>>2]|0;f[o>>2]=f[r>>2];f[o+4>>2]=f[r+4>>2]}else s=14}if((s|0)==14)WO(d,e);f[m>>2]=f[b+24>>2];f[a+28>>2]=f[b+28>>2];f[a+32>>2]=f[b+32>>2];f[a+36>>2]=f[b+36>>2];f[a+40>>2]=f[b+40>>2];f[n>>2]=f[l>>2];l=a+64|0;n=b+64|0;if(c){g=a+176|0;h=b+176|0;i=g;j=h;k=i+48|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));return a|0}m=b+100|0;e=f[m>>2]|0;if(e|0){d=e+12|0;f[d>>2]=(f[d>>2]|0)+1}d=a+100|0;e=f[d>>2]|0;if(e|0?(r=e+12|0,e=f[r>>2]|0,f[r>>2]=e+-1,(e|0)==1):0)XO(l);f[d>>2]=0;e=a+80|0;r=a+68|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;if((f[r>>2]|0)>0){o=f[a+104>>2]|0;q=0;do{f[o+(q<<2)>>2]=0;q=q+1|0;t=f[r>>2]|0}while((q|0)<(t|0));f[l>>2]=f[n>>2];if((t|0)<3)s=26;else s=28}else{f[l>>2]=f[n>>2];s=26}if((s|0)==26){t=f[b+68>>2]|0;if((t|0)<3){f[r>>2]=t;f[a+72>>2]=f[b+72>>2];f[a+76>>2]=f[b+76>>2];t=f[b+108>>2]|0;r=f[a+108>>2]|0;f[r>>2]=f[t>>2];f[r+4>>2]=f[t+4>>2]}else s=28}if((s|0)==28)WO(l,n);f[e>>2]=f[b+80>>2];f[a+84>>2]=f[b+84>>2];f[a+88>>2]=f[b+88>>2];f[a+92>>2]=f[b+92>>2];f[a+96>>2]=f[b+96>>2];f[d>>2]=f[m>>2];m=a+120|0;d=b+120|0;if(c){g=a+176|0;h=b+176|0;i=g;j=h;k=i+48|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));return a|0}c=b+156|0;e=f[c>>2]|0;if(e|0){n=e+12|0;f[n>>2]=(f[n>>2]|0)+1}n=a+156|0;e=f[n>>2]|0;if(e|0?(l=e+12|0,e=f[l>>2]|0,f[l>>2]=e+-1,(e|0)==1):0)XO(m);f[n>>2]=0;e=a+136|0;l=a+124|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;if((f[l>>2]|0)>0){t=f[a+160>>2]|0;r=0;do{f[t+(r<<2)>>2]=0;r=r+1|0;u=f[l>>2]|0}while((r|0)<(u|0));f[m>>2]=f[d>>2];if((u|0)<3)s=40;else s=42}else{f[m>>2]=f[d>>2];s=40}if((s|0)==40){u=f[b+124>>2]|0;if((u|0)<3){f[l>>2]=u;f[a+128>>2]=f[b+128>>2];f[a+132>>2]=f[b+132>>2];u=f[b+164>>2]|0;l=f[a+164>>2]|0;f[l>>2]=f[u>>2];f[l+4>>2]=f[u+4>>2]}else s=42}if((s|0)==42)WO(m,d);f[e>>2]=f[b+136>>2];f[a+140>>2]=f[b+140>>2];f[a+144>>2]=f[b+144>>2];f[a+148>>2]=f[b+148>>2];f[a+152>>2]=f[b+152>>2];f[n>>2]=f[c>>2];g=a+176|0;h=b+176|0;i=g;j=h;k=i+48|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));return a|0}function BF(a){a=a|0;GQa(a);return}function CF(a,b){a=a|0;b=b|0;return 0}function DF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=u;u=u+96|0;e=a+32|0;g=a+16|0;h=a;f[e>>2]=1124007936;i=e+4|0;j=e+8|0;k=e+40|0;l=i;m=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[k>>2]=j;j=e+48|0;l=e+44|0;f[l>>2]=j;f[j>>2]=0;f[e+52>>2]=0;if((d|0)!=-1?(f[b+8>>2]&4095|0)!=(d|0):0)n=e;else n=c;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=b+8;m=h+8|0;f[m>>2]=0;f[m+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=n;+KR(g,h,f[b+4>>2]|0);if((f[n+16>>2]|0)!=(f[c+16>>2]|0)){b=g+8|0;f[b>>2]=0;f[b+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=c;AO(n,g,d,1.0,0.0)}d=e+36|0;g=f[d>>2]|0;if(g|0?(n=g+12|0,g=f[n>>2]|0,f[n>>2]=g+-1,(g|0)==1):0)XO(e);f[d>>2]=0;d=e+16|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[i>>2]|0)>0){d=f[k>>2]|0;k=0;do{f[d+(k<<2)>>2]=0;k=k+1|0}while((k|0)<(f[i>>2]|0))}i=f[l>>2]|0;if((i|0)==(j|0)){u=a;return}dX(i);u=a;return}function EF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=f[c>>2]|0;if((f[b>>2]|0)==29344&(e|0)==29464){FF(d,f[b+4>>2]|0,b+8|0,c+8|0);return}if((a|0)==(e|0)){uF(e,b,c,d);return}else{th[f[(f[e>>2]|0)+92>>2]&255](e,b,c,d);return}}function FF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+320|0;g=e+32|0;h=e+256|0;i=e;f[h>>2]=1124007936;j=h+4|0;k=h+8|0;l=h+40|0;m=j;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[l>>2]=k;k=h+48|0;m=h+44|0;f[m>>2]=k;f[k>>2]=0;f[h+52>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;f[i+28>>2]=0;zF(g,29468,b,c,d,h,1.0,1.0,i);AF(a,g)|0;Mi(g);g=h+36|0;a=f[g>>2]|0;if(a|0?(i=a+12|0,a=f[i>>2]|0,f[i>>2]=a+-1,(a|0)==1):0)XO(h);f[g>>2]=0;g=h+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;if((f[j>>2]|0)>0){g=f[l>>2]|0;l=0;do{f[g+(l<<2)>>2]=0;l=l+1|0}while((l|0)<(f[j>>2]|0))}j=f[m>>2]|0;if((j|0)==(k|0)){u=e;return}dX(j);u=e;return}function GF(a){a=a|0;GQa(a);return}function HF(a,b){a=a|0;b=b|0;return 0}function IF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;a=u;u=u+112|0;e=a+48|0;g=a+32|0;h=a+16|0;i=a;f[e>>2]=1124007936;j=e+4|0;k=e+8|0;l=e+40|0;m=j;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[l>>2]=k;k=e+48|0;m=e+44|0;f[m>>2]=k;f[k>>2]=0;f[e+52>>2]=0;if((d|0)!=-1?(f[b+8>>2]&4095|0)!=(d|0):0)o=e;else o=c;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=b+8;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=b+64;n=i+8|0;f[n>>2]=0;f[n+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=o;UR(g,h,i,f[b+4>>2]|0)|0;if((f[o+16>>2]|0)!=(f[c+16>>2]|0)){b=g+8|0;f[b>>2]=0;f[b+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=c;AO(o,g,d,1.0,0.0)}d=e+36|0;g=f[d>>2]|0;if(g|0?(o=g+12|0,g=f[o>>2]|0,f[o>>2]=g+-1,(g|0)==1):0)XO(e);f[d>>2]=0;d=e+16|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[j>>2]|0)>0){d=f[l>>2]|0;l=0;do{f[d+(l<<2)>>2]=0;l=l+1|0}while((l|0)<(f[j>>2]|0))}j=f[m>>2]|0;if((j|0)==(k|0)){u=a;return}dX(j);u=a;return}function JF(a){a=a|0;GQa(a);return}function KF(a,b){a=a|0;b=b|0;return 1}function LF(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=u;u=u+16|0;g=a;h=c+8|0;if((e|0)!=-1?(i=f[h>>2]|0,(i&4095|0)!=(e|0)):0){if((i^e)&4088|0){f[g>>2]=0;f[g+4>>2]=0;i=JV(g,59)|0;j=145133;k=i+59|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));EP(-215,g,145193,145047,1201);KV(g)}j=g+8|0;f[j>>2]=0;f[j+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=d;AO(h,g,e,1.0,0.0);u=a;return}if((h|0)==(d|0)){u=a;return}e=c+44|0;g=f[e>>2]|0;if(g|0){j=g+12|0;f[j>>2]=(f[j>>2]|0)+1}j=d+36|0;g=f[j>>2]|0;if(g|0?(i=g+12|0,g=f[i>>2]|0,f[i>>2]=g+-1,(g|0)==1):0)XO(d);f[j>>2]=0;g=d+16|0;i=d+4|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;if((f[i>>2]|0)>0){k=f[d+40>>2]|0;l=0;do{f[k+(l<<2)>>2]=0;l=l+1|0;m=f[i>>2]|0}while((l|0)<(m|0));f[d>>2]=f[c+8>>2];if((m|0)<3)n=14;else n=16}else{f[d>>2]=f[c+8>>2];n=14}if((n|0)==14){m=f[c+12>>2]|0;if((m|0)<3){f[i>>2]=m;f[d+8>>2]=f[c+16>>2];f[d+12>>2]=f[c+20>>2];m=f[c+52>>2]|0;i=f[d+44>>2]|0;f[i>>2]=f[m>>2];f[i+4>>2]=f[m+4>>2]}else n=16}if((n|0)==16)WO(d,h);f[g>>2]=f[c+24>>2];f[d+20>>2]=f[c+28>>2];f[d+24>>2]=f[c+32>>2];f[d+28>>2]=f[c+36>>2];f[d+32>>2]=f[c+40>>2];f[j>>2]=f[e>>2];u=a;return}function MF(a){a=a|0;GQa(a);return}function NF(a,b){a=a|0;b=b|0;return 0}function OF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0.0,s=0.0;a=u;u=u+128|0;e=a+64|0;g=a+48|0;h=a+32|0;i=a+16|0;j=a;f[e>>2]=1124007936;k=e+4|0;l=e+8|0;m=e+40|0;n=k;o=n+36|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[m>>2]=l;l=e+48|0;n=e+44|0;f[n>>2]=l;f[l>>2]=0;f[e+52>>2]=0;if((d|0)!=-1?(f[b+8>>2]&4095|0)!=(d|0):0)q=e;else q=c;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=b+8;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=b+64;r=+p[b+176>>3];f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=b+120;s=+p[b+184>>3];o=j+8|0;f[o>>2]=0;f[o+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=q;zC(g,h,r,i,s,j,f[b+4>>2]|0);if((f[q+16>>2]|0)!=(f[c+16>>2]|0)){b=g+8|0;f[b>>2]=0;f[b+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=c;AO(q,g,d,1.0,0.0)}d=e+36|0;g=f[d>>2]|0;if(g|0?(q=g+12|0,g=f[q>>2]|0,f[q>>2]=g+-1,(g|0)==1):0)XO(e);f[d>>2]=0;d=e+16|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[k>>2]|0)>0){d=f[m>>2]|0;m=0;do{f[d+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[k>>2]|0))}k=f[n>>2]|0;if((k|0)==(l|0)){u=a;return}dX(k);u=a;return}function PF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,q=0.0,r=0,s=0;e=u;u=u+272|0;g=e+32|0;h=e;i=e+256|0;yV(i,29892);j=f[b>>2]|0;k=(j|0)==29464;l=f[c>>2]|0;m=(l|0)==29464;n=k?1.0:+p[b+176>>3];o=m?1.0:+p[c+176>>3];q=+p[b+184>>3];a:do if((j|0)!=29712|(f[b+136>>2]|0)!=0&q!=0.0)r=12;else{do if(!m){if((l|0)!=29708)if((l|0)==29704)break;else{r=12;break a}if(f[c+80>>2]|0?!(+p[c+184>>3]==0.0):0){r=12;break a}if(!(+p[c+192>>3]==0.0)){r=12;break a}if(!(+p[c+200>>3]==0.0)){r=12;break a}if(!(+p[c+208>>3]==0.0)){r=12;break a}if(!(+p[c+216>>3]==0.0)){r=12;break a}}while(0);s=((l|0)==29704?4:0)|f[b+4>>2]&-5;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;f[h+28>>2]=0;zF(g,29712,s,b+8|0,b+64|0,c+8|0,n,o,h);AF(d,g)|0;Mi(g)}while(0);b:do if((r|0)==12){c:do if(!((l|0)!=29712|(f[c+136>>2]|0?+p[c+184>>3]!=0.0:0))){do if(!k){if((j|0)!=29708)if((j|0)==29704)break;else break c;if(!((f[b+80>>2]|0)==0|q==0.0))break c;if(!(+p[b+192>>3]==0.0))break c;if(!(+p[b+200>>3]==0.0))break c;if(!(+p[b+208>>3]==0.0))break c;if(!(+p[b+216>>3]==0.0))break c}while(0);m=((j|0)==29704?4:0)|f[c+4>>2]&-5;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;f[h+28>>2]=0;zF(g,29712,m,c+8|0,c+64|0,b+8|0,o,n,h);AF(d,g)|0;Mi(g);break b}while(0);if((a|0)==(l|0)){kF(l,b,c,d);break}else{th[f[(f[l>>2]|0)+52>>2]&255](l,b,c,d);break}}while(0);if(!(f[i+4>>2]|0)){u=e;return}u=e;return}function QF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,q=0.0,r=0,s=0;e=u;u=u+272|0;g=e+32|0;h=e;i=e+256|0;yV(i,29872);j=f[b>>2]|0;k=(j|0)==29464;l=f[c>>2]|0;m=(l|0)==29464;n=k?1.0:+p[b+176>>3];o=m?1.0:+p[c+176>>3];q=+p[b+184>>3];a:do if((j|0)!=29712|(f[b+136>>2]|0)!=0&q!=0.0)r=12;else{do if(!m){if((l|0)!=29708)if((l|0)==29704)break;else{r=12;break a}if(f[c+80>>2]|0?!(+p[c+184>>3]==0.0):0){r=12;break a}if(!(+p[c+192>>3]==0.0)){r=12;break a}if(!(+p[c+200>>3]==0.0)){r=12;break a}if(!(+p[c+208>>3]==0.0)){r=12;break a}if(!(+p[c+216>>3]==0.0)){r=12;break a}}while(0);s=((l|0)==29704?4:0)|f[b+4>>2]&-5;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;f[h+28>>2]=0;zF(g,29712,s,b+8|0,b+64|0,c+8|0,n,-o,h);AF(d,g)|0;Mi(g)}while(0);b:do if((r|0)==12){c:do if(!((l|0)!=29712|(f[c+136>>2]|0?+p[c+184>>3]!=0.0:0))){do if(!k){if((j|0)!=29708)if((j|0)==29704)break;else break c;if(!((f[b+80>>2]|0)==0|q==0.0))break c;if(!(+p[b+192>>3]==0.0))break c;if(!(+p[b+200>>3]==0.0))break c;if(!(+p[b+208>>3]==0.0))break c;if(!(+p[b+216>>3]==0.0))break c}while(0);m=((j|0)==29704?4:0)|f[c+4>>2]&-5;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;f[h+28>>2]=0;zF(g,29712,m,c+8|0,c+64|0,b+8|0,-o,n,h);AF(d,g)|0;Mi(g);break b}while(0);if((a|0)==(l|0)){mF(l,b,c,d);break}else{th[f[(f[l>>2]|0)+60>>2]&255](l,b,c,d);break}}while(0);if(!(f[i+4>>2]|0)){u=e;return}u=e;return}function RF(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0;a=u;u=u+16|0;e=a;yV(e,29852);AF(d,b)|0;b=d+176|0;p[b>>3]=+p[b>>3]*c;b=d+184|0;p[b>>3]=+p[b>>3]*c;if(!(f[e+4>>2]|0)){u=a;return}u=a;return}function SF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a=u;u=u+16|0;d=a;yV(d,29832);AF(c,b)|0;e=f[b+4>>2]|0;f[c+4>>2]=(e<<1&2|e&4|e>>>1&1)^7;wD(c+8|0,c+64|0);if(!(f[d+4>>2]|0)){u=a;return}u=a;return}function TF(a){a=a|0;GQa(a);return}function UF(a,b){a=a|0;b=b|0;return 1}function VF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0.0,s=0,t=0,v=0,w=0.0,x=0.0;a=u;u=u+112|0;e=a+48|0;g=a+32|0;h=a+16|0;i=a;f[e>>2]=1124007936;j=e+4|0;k=e+8|0;l=e+40|0;m=j;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[l>>2]=k;k=e+48|0;m=e+44|0;f[m>>2]=k;f[k>>2]=0;f[e+52>>2]=0;if((d|0)!=-1?(f[b+8>>2]&4095|0)!=(d|0):0)o=e;else o=c;n=b+64|0;q=b+192|0;do if(!(f[b+80>>2]|0)){if(((+p[b+200>>3]==0.0?+p[b+208>>3]==0.0:0)?+p[b+216>>3]==0.0:0)?(r=+p[b+176>>3],+K(+r)!=1.0?1:(f[o+16>>2]|0)!=(f[c+16>>2]|0)):0){s=g+8|0;f[s>>2]=0;f[s+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=c;AO(b+8|0,g,d,r,+p[q>>3]);break}r=+p[b+176>>3];if(r==1.0){f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=b+8;f[h>>2]=-1056833530;f[h+4>>2]=q;f[h+8>>2]=1;f[h+12>>2]=4;s=i+8|0;f[s>>2]=0;f[s+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=o;MH(g,h,i,BK()|0,-1);t=37;break}if(r==-1.0){f[g>>2]=-1056833530;f[g+4>>2]=q;f[g+8>>2]=1;f[g+12>>2]=4;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=b+8;s=i+8|0;f[s>>2]=0;f[s+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=o;aI(g,h,i,BK()|0,-1);t=37;break}else{s=b+8|0;v=g+8|0;f[v>>2]=0;f[v+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=o;AO(s,g,f[s>>2]&4095,r,0.0);f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=o;f[h>>2]=-1056833530;f[h+4>>2]=q;f[h+8>>2]=1;f[h+12>>2]=4;s=i+8|0;f[s>>2]=0;f[s+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=o;MH(g,h,i,BK()|0,-1);t=37;break}}else{r=+p[q>>3];w=+p[b+200>>3];if(r==0.0&w==0.0?+p[b+208>>3]==0.0:0){if(w==0.0?+p[b+216>>3]!=0.0:0)t=9}else t=8;if((t|0)==8?w==0.0:0)t=9;if(((t|0)==9?+p[b+208>>3]==0.0:0)?+p[b+216>>3]==0.0:0){f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=b+8;w=+p[b+176>>3];f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=n;x=+p[b+184>>3];s=i+8|0;f[s>>2]=0;f[s+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=o;aJ(g,w,h,x,r,i,-1);t=37;break}r=+p[b+176>>3];x=+p[b+184>>3];s=x==1.0;do if(r==1.0){if(s){f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=b+8;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=n;v=i+8|0;f[v>>2]=0;f[v+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=o;MH(g,h,i,BK()|0,-1);break}if(x==-1.0){f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=b+8;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=n;v=i+8|0;f[v>>2]=0;f[v+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=o;aI(g,h,i,BK()|0,-1);break}else{f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=n;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=b+8;v=i+8|0;f[v>>2]=0;f[v+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=o;SC(g,x,h,i);break}}else{if(!s){f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=b+8;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=n;v=i+8|0;f[v>>2]=0;f[v+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=o;aJ(g,r,h,x,0.0,i,-1);break}if(r==-1.0){f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=n;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=b+8;v=i+8|0;f[v>>2]=0;f[v+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=o;aI(g,h,i,BK()|0,-1);break}else{f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=b+8;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=n;v=i+8|0;f[v>>2]=0;f[v+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=o;SC(g,r,h,i);break}}while(0);if((+p[b+200>>3]==0.0?+p[b+208>>3]==0.0:0)?+p[b+216>>3]==0.0:0){t=37;break}f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=o;f[h>>2]=-1056833530;f[h+4>>2]=q;f[h+8>>2]=1;f[h+12>>2]=4;s=i+8|0;f[s>>2]=0;f[s+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=o;MH(g,h,i,BK()|0,-1);t=37}while(0);if((t|0)==37?(f[o+16>>2]|0)!=(f[c+16>>2]|0):0){t=g+8|0;f[t>>2]=0;f[t+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=c;AO(o,g,f[c>>2]&4095,1.0,0.0)}c=e+36|0;g=f[c>>2]|0;if(g|0?(o=g+12|0,g=f[o>>2]|0,f[o>>2]=g+-1,(g|0)==1):0)XO(e);f[c>>2]=0;c=e+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[j>>2]|0)>0){c=f[l>>2]|0;l=0;do{f[c+(l<<2)>>2]=0;l=l+1|0}while((l|0)<(f[j>>2]|0))}j=f[m>>2]|0;if((j|0)==(k|0)){u=a;return}dX(j);u=a;return}function WF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;a=u;u=u+16|0;e=a;yV(e,30288);AF(d,b)|0;b=d+192|0;p[b>>3]=+p[c>>3]+ +p[b>>3];b=d+200|0;p[b>>3]=+p[c+8>>3]+ +p[b>>3];b=d+208|0;p[b>>3]=+p[c+16>>3]+ +p[b>>3];b=d+216|0;p[b>>3]=+p[c+24>>3]+ +p[b>>3];if(!(f[e+4>>2]|0)){u=a;return}u=a;return}function XF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0.0,i=0,j=0.0,k=0,l=0.0;a=u;u=u+16|0;e=a;yV(e,30268);AF(d,c)|0;c=d+176|0;p[c>>3]=-+p[c>>3];c=d+184|0;p[c>>3]=-+p[c>>3];c=d+192|0;g=d+200|0;h=+p[b+8>>3]-+p[g>>3];i=d+208|0;j=+p[b+16>>3]-+p[i>>3];k=d+216|0;l=+p[b+24>>3]-+p[k>>3];p[c>>3]=+p[b>>3]-+p[c>>3];p[g>>3]=h;p[i>>3]=j;p[k>>3]=l;if(!(f[e+4>>2]|0)){u=a;return}u=a;return}function YF(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0;a=u;u=u+16|0;e=a;yV(e,30248);AF(d,b)|0;b=d+176|0;p[b>>3]=+p[b>>3]*c;b=d+184|0;p[b>>3]=+p[b>>3]*c;b=d+192|0;p[b>>3]=+p[b>>3]*c;b=d+200|0;p[b>>3]=+p[b>>3]*c;b=d+208|0;p[b>>3]=+p[b>>3]*c;b=d+216|0;p[b>>3]=+p[b>>3]*c;if(!(f[e+4>>2]|0)){u=a;return}u=a;return}function ZF(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0;a=u;u=u+64|0;e=a+56|0;g=a;yV(e,30228);do if((f[c>>2]|0)==29708){if(f[c+80>>2]|0?!(+p[c+184>>3]==0.0):0){h=17;break}if(((+p[c+192>>3]==0.0?+p[c+200>>3]==0.0:0)?+p[c+208>>3]==0.0:0)?+p[c+216>>3]==0.0:0){f[g>>2]=1124007936;i=g+4|0;j=g+8|0;k=g+40|0;l=i;m=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[k>>2]=j;l=g+48|0;m=g+44|0;f[m>>2]=l;f[l>>2]=0;f[g+52>>2]=0;cG(d,47,c+8|0,g,b/+p[c+176>>3]);n=g+36|0;o=f[n>>2]|0;if(o|0?(q=o+12|0,o=f[q>>2]|0,f[q>>2]=o+-1,(o|0)==1):0)XO(g);f[n>>2]=0;n=g+16|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;if((f[i>>2]|0)>0){n=f[k>>2]|0;o=0;do{f[n+(o<<2)>>2]=0;o=o+1|0}while((o|0)<(f[i>>2]|0))}i=f[m>>2]|0;if((i|0)!=(l|0))dX(i)}else h=17}else h=17;while(0);if((h|0)==17)rF(0,b,c,d);if(!(f[e+4>>2]|0)){u=a;return}u=a;return}function _F(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0;a=u;u=u+48|0;d=a+32|0;e=a;yV(d,30048);g=b+64|0;h=(f[b+80>>2]|0)==0;if(!h?!(+p[b+184>>3]==0.0):0)i=6;else i=3;do if((i|0)==3){j=+p[b+176>>3];if(!(+K(+j)==1.0))if(h){i=8;break}else{i=6;break}else{k=-(+p[b+200>>3]*j);l=-(+p[b+208>>3]*j);m=-(+p[b+216>>3]*j);p[e>>3]=-(+p[b+192>>3]*j);p[e+8>>3]=k;p[e+16>>3]=l;p[e+24>>3]=m;bG(c,97,b+8|0,e);break}}while(0);if((i|0)==6){m=+p[b+176>>3];l=+p[b+184>>3];if(m+l==0.0&m*l==-1.0)cG(c,97,b+8|0,g,1.0);else i=8}if((i|0)==8)sF(0,b,c);if(!(f[d+4>>2]|0)){u=a;return}u=a;return}function $F(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a=u;u=u+16|0;d=a;yV(d,30028);do if((f[b>>2]|0)==29708){if(f[b+80>>2]|0?!(+p[b+184>>3]==0.0):0){e=9;break}if(((+p[b+192>>3]==0.0?+p[b+200>>3]==0.0:0)?+p[b+208>>3]==0.0:0)?+p[b+216>>3]==0.0:0)aG(c,b+8|0,+p[b+176>>3]);else e=9}else e=9;while(0);if((e|0)==9)tF(0,b,c);if(!(f[d+4>>2]|0)){u=a;return}u=a;return}function aG(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+368|0;e=d+32|0;g=d+312|0;h=d+256|0;i=d;f[g>>2]=1124007936;j=g+4|0;k=g+8|0;l=g+40|0;m=j;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[l>>2]=k;k=g+48|0;o=g+44|0;f[o>>2]=k;f[k>>2]=0;f[g+52>>2]=0;f[h>>2]=1124007936;p=h+4|0;q=h+8|0;r=h+40|0;m=p;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[r>>2]=q;q=h+48|0;m=h+44|0;f[m>>2]=q;f[q>>2]=0;f[h+52>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;f[i+28>>2]=0;zF(e,29704,0,b,g,h,c,0.0,i);AF(a,e)|0;Mi(e);e=h+36|0;a=f[e>>2]|0;if(a|0?(i=a+12|0,a=f[i>>2]|0,f[i>>2]=a+-1,(a|0)==1):0)XO(h);f[e>>2]=0;e=h+16|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;if((f[p>>2]|0)>0){e=f[r>>2]|0;r=0;do{f[e+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[p>>2]|0))}p=f[m>>2]|0;if((p|0)!=(q|0))dX(p);p=g+36|0;q=f[p>>2]|0;if(q|0?(m=q+12|0,q=f[m>>2]|0,f[m>>2]=q+-1,(q|0)==1):0)XO(g);f[p>>2]=0;p=g+16|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;if((f[j>>2]|0)>0){p=f[l>>2]|0;l=0;do{f[p+(l<<2)>>2]=0;l=l+1|0}while((l|0)<(f[j>>2]|0))}j=f[o>>2]|0;if((j|0)==(k|0)){u=d;return}dX(j);u=d;return}function bG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=u;u=u+336|0;g=e;h=e+280|0;i=e+224|0;f[h>>2]=1124007936;j=h+4|0;k=h+8|0;l=h+40|0;m=j;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[l>>2]=k;k=h+48|0;o=h+44|0;f[o>>2]=k;f[k>>2]=0;f[h+52>>2]=0;f[i>>2]=1124007936;p=i+4|0;q=i+8|0;r=i+40|0;m=p;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[r>>2]=q;q=i+48|0;m=i+44|0;f[m>>2]=q;f[q>>2]=0;f[i+52>>2]=0;zF(g,30068,b<<24>>24,c,h,i,1.0,0.0,d);AF(a,g)|0;Mi(g);g=i+36|0;a=f[g>>2]|0;if(a|0?(d=a+12|0,a=f[d>>2]|0,f[d>>2]=a+-1,(a|0)==1):0)XO(i);f[g>>2]=0;g=i+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;if((f[p>>2]|0)>0){g=f[r>>2]|0;r=0;do{f[g+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[p>>2]|0))}p=f[m>>2]|0;if((p|0)!=(q|0))dX(p);p=h+36|0;q=f[p>>2]|0;if(q|0?(m=q+12|0,q=f[m>>2]|0,f[m>>2]=q+-1,(q|0)==1):0)XO(h);f[p>>2]=0;p=h+16|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;if((f[j>>2]|0)>0){p=f[l>>2]|0;l=0;do{f[p+(l<<2)>>2]=0;l=l+1|0}while((l|0)<(f[j>>2]|0))}j=f[o>>2]|0;if((j|0)==(k|0)){u=e;return}dX(j);u=e;return}function cG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=u;u=u+320|0;h=g+32|0;i=g+256|0;j=g;f[i>>2]=1124007936;k=i+4|0;l=i+8|0;m=i+40|0;n=k;o=n+36|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[m>>2]=l;l=i+48|0;n=i+44|0;f[n>>2]=l;f[l>>2]=0;f[i+52>>2]=0;o=f[d+16>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[j+24>>2]=0;f[j+28>>2]=0;zF(h,30068,b<<24>>24,c,d,i,e,+((o|0)!=0&1),j);AF(a,h)|0;Mi(h);h=i+36|0;a=f[h>>2]|0;if(a|0?(j=a+12|0,a=f[j>>2]|0,f[j>>2]=a+-1,(a|0)==1):0)XO(i);f[h>>2]=0;h=i+16|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;if((f[k>>2]|0)>0){h=f[m>>2]|0;m=0;do{f[h+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[k>>2]|0))}k=f[n>>2]|0;if((k|0)==(l|0)){u=g;return}dX(k);u=g;return}function dG(a){a=a|0;GQa(a);return}function eG(a,b){a=a|0;b=b|0;return 1}function fG(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0.0,v=0;a=u;u=u+112|0;g=a+48|0;h=a+32|0;i=a+16|0;j=a;f[g>>2]=1124007936;k=g+4|0;l=g+8|0;m=g+40|0;n=k;o=n+36|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[m>>2]=l;l=g+48|0;q=g+44|0;f[q>>2]=l;f[l>>2]=0;f[g+52>>2]=0;if((e|0)!=-1?(f[c+8>>2]&4095|0)!=(e|0):0)r=g;else r=d;a:do switch(f[c+4>>2]|0){case 42:{f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=c+8;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=c+64;s=j+8|0;f[s>>2]=0;f[s+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=r;EI(h,i,j,+p[c+176>>3],-1);break}case 47:{if(!(f[c+80>>2]|0)){t=+p[c+176>>3];f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=c+8;s=i+8|0;f[s>>2]=0;f[s+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=r;UI(t,h,i,-1);break a}else{f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=c+8;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=c+64;s=j+8|0;f[s>>2]=0;f[s+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=r;MI(h,i,j,+p[c+176>>3],-1);break a}break}case 38:{if(f[c+80>>2]|0){f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=c+8;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=c+64;s=j+8|0;f[s>>2]=0;f[s+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=r;$G(h,i,j,BK()|0);break a}if(!(f[c+80>>2]|0)){f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=c+8;f[i>>2]=-1056833530;f[i+4>>2]=c+192;f[i+8>>2]=1;f[i+12>>2]=4;s=j+8|0;f[s>>2]=0;f[s+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=r;$G(h,i,j,BK()|0)}else v=31;break}case 124:{if(f[c+80>>2]|0){f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=c+8;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=c+64;s=j+8|0;f[s>>2]=0;f[s+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=r;cH(h,i,j,BK()|0);break a}if(!(f[c+80>>2]|0)){f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=c+8;f[i>>2]=-1056833530;f[i+4>>2]=c+192;f[i+8>>2]=1;f[i+12>>2]=4;s=j+8|0;f[s>>2]=0;f[s+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=r;cH(h,i,j,BK()|0)}else v=31;break}case 94:{if(f[c+80>>2]|0){f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=c+8;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=c+64;s=j+8|0;f[s>>2]=0;f[s+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=r;eH(h,i,j,BK()|0);break a}if(!(f[c+80>>2]|0)){f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=c+8;f[i>>2]=-1056833530;f[i+4>>2]=c+192;f[i+8>>2]=1;f[i+12>>2]=4;s=j+8|0;f[s>>2]=0;f[s+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=r;eH(h,i,j,BK()|0)}else v=31;break}case 126:{if(!(f[c+80>>2]|0)){f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=c+8;s=i+8|0;f[s>>2]=0;f[s+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=r;gH(h,i,BK()|0)}else v=31;break}case 109:{LH(c+8|0,c+64|0,r);break}case 110:{f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=c+8;f[i>>2]=-1056833530;f[i+4>>2]=c+192;f[i+8>>2]=1;f[i+12>>2]=1;s=j+8|0;f[s>>2]=0;f[s+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=r;wH(h,i,j);break}case 77:{KH(c+8|0,c+64|0,r);break}case 78:{f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=c+8;f[i>>2]=-1056833530;f[i+4>>2]=c+192;f[i+8>>2]=1;f[i+12>>2]=1;s=j+8|0;f[s>>2]=0;f[s+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=r;iH(h,i,j);break}case 97:{if(f[c+80>>2]|0){f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=c+8;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=c+64;s=j+8|0;f[s>>2]=0;f[s+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=r;pI(h,i,j);break a}if(!(f[c+80>>2]|0)){f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=c+8;f[i>>2]=-1056833530;f[i+4>>2]=c+192;f[i+8>>2]=1;f[i+12>>2]=4;s=j+8|0;f[s>>2]=0;f[s+4>>2]=0;f[j>>2]=33619968;f[j+4>>2]=r;pI(h,i,j)}else v=31;break}default:v=31}while(0);if((v|0)==31){f[h>>2]=0;f[h+4>>2]=0;n=JV(h,17)|0;v=145880;o=n+17|0;do{b[n>>0]=b[v>>0]|0;n=n+1|0;v=v+1|0}while((n|0)<(o|0));EP(-2,h,145193,145047,1371);KV(h)}if((f[r+16>>2]|0)!=(f[d+16>>2]|0)){v=h+8|0;f[v>>2]=0;f[v+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=d;AO(r,h,e,1.0,0.0)}e=g+36|0;h=f[e>>2]|0;if(h|0?(r=h+12|0,h=f[r>>2]|0,f[r>>2]=h+-1,(h|0)==1):0)XO(g);f[e>>2]=0;e=g+16|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;if((f[k>>2]|0)>0){e=f[m>>2]|0;m=0;do{f[e+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[k>>2]|0))}k=f[q>>2]|0;if((k|0)==(l|0)){u=a;return}dX(k);u=a;return}function gG(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0,g=0;a=u;u=u+16|0;e=a;yV(e,30208);switch(f[b+4>>2]|0){case 47:case 42:{AF(d,b)|0;g=d+176|0;p[g>>3]=+p[g>>3]*c;break}default:pF(0,b,c,d)}if(!(f[e+4>>2]|0)){u=a;return}u=a;return}function hG(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0.0,r=0,s=0,t=0;a=u;u=u+96|0;e=a+88|0;g=a+32|0;h=a;yV(e,30188);do if((f[c+4>>2]|0)==47){if(f[c+80>>2]|0?!(+p[c+184>>3]==0.0):0){i=13;break}j=c+8|0;f[g>>2]=1124007936;k=g+4|0;l=g+8|0;m=g+40|0;n=k;o=n+36|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[m>>2]=l;n=g+48|0;o=g+44|0;f[o>>2]=n;f[n>>2]=0;f[g+52>>2]=0;q=+p[c+176>>3];f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;f[h+28>>2]=0;iG(d,j,g,b/q,0.0,h);r=g+36|0;s=f[r>>2]|0;if(s|0?(t=s+12|0,s=f[t>>2]|0,f[t>>2]=s+-1,(s|0)==1):0)XO(g);f[r>>2]=0;r=g+16|0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;if((f[k>>2]|0)>0){r=f[m>>2]|0;s=0;do{f[r+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[k>>2]|0))}k=f[o>>2]|0;if((k|0)!=(n|0))dX(k)}else i=13;while(0);if((i|0)==13)rF(0,b,c,d);if(!(f[e+4>>2]|0)){u=a;return}u=a;return}function iG(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=+d;e=+e;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=u;u=u+288|0;i=h;j=h+224|0;f[j>>2]=1124007936;k=j+4|0;l=j+8|0;m=j+40|0;n=k;o=n+36|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[m>>2]=l;l=j+48|0;n=j+44|0;f[n>>2]=l;f[l>>2]=0;f[j+52>>2]=0;zF(i,29708,0,b,c,j,d,e,g);AF(a,i)|0;Mi(i);i=j+36|0;a=f[i>>2]|0;if(a|0?(g=a+12|0,a=f[g>>2]|0,f[g>>2]=a+-1,(a|0)==1):0)XO(j);f[i>>2]=0;i=j+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[k>>2]|0)>0){i=f[m>>2]|0;m=0;do{f[i+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[k>>2]|0))}k=f[n>>2]|0;if((k|0)==(l|0)){u=h;return}dX(k);u=h;return}function jG(a){a=a|0;GQa(a);return}function kG(a,b){a=a|0;b=b|0;return 0}function lG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0;a=u;u=u+96|0;e=a+32|0;g=a+16|0;h=a;f[e>>2]=1124007936;i=e+4|0;j=e+8|0;k=e+40|0;l=i;m=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[k>>2]=j;j=e+48|0;l=e+44|0;f[l>>2]=j;f[j>>2]=0;f[e+52>>2]=0;if((d|0)!=-1?(f[b+8>>2]&4095|0)!=(d|0):0)n=e;else n=c;f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=b+8;m=h+8|0;f[m>>2]=0;f[m+4>>2]=0;f[h>>2]=33619968;f[h+4>>2]=n;DD(g,h);o=+p[b+176>>3];if(o!=1.0?1:(f[n+16>>2]|0)!=(f[c+16>>2]|0)){b=g+8|0;f[b>>2]=0;f[b+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=c;AO(n,g,d,o,0.0)}d=e+36|0;g=f[d>>2]|0;if(g|0?(n=g+12|0,g=f[n>>2]|0,f[n>>2]=g+-1,(g|0)==1):0)XO(e);f[d>>2]=0;d=e+16|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[i>>2]|0)>0){d=f[k>>2]|0;k=0;do{f[d+(k<<2)>>2]=0;k=k+1|0}while((k|0)<(f[i>>2]|0))}i=f[l>>2]|0;if((i|0)==(j|0)){u=a;return}dX(i);u=a;return}function mG(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0;a=u;u=u+16|0;e=a;yV(e,30444);AF(d,b)|0;b=d+176|0;p[b>>3]=+p[b>>3]*c;if(!(f[e+4>>2]|0)){u=a;return}u=a;return}function nG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0;a=u;u=u+96|0;d=a+88|0;e=a+32|0;g=a;yV(d,30424);h=+p[b+176>>3];i=b+8|0;if(!(h==1.0)){f[e>>2]=1124007936;b=e+4|0;j=e+8|0;k=e+40|0;l=b;m=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[k>>2]=j;j=e+48|0;l=e+44|0;f[l>>2]=j;f[j>>2]=0;f[e+52>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;iG(c,i,e,h,0.0,g);g=e+36|0;m=f[g>>2]|0;if(m|0?(n=m+12|0,m=f[n>>2]|0,f[n>>2]=m+-1,(m|0)==1):0)XO(e);f[g>>2]=0;g=e+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;if((f[b>>2]|0)>0){g=f[k>>2]|0;k=0;do{f[g+(k<<2)>>2]=0;k=k+1|0}while((k|0)<(f[b>>2]|0))}b=f[l>>2]|0;if((b|0)!=(j|0))dX(b)}else oG(c,i);if(!(f[d+4>>2]|0)){u=a;return}u=a;return}function oG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=u;u=u+368|0;d=c+32|0;e=c+312|0;g=c+256|0;h=c;f[e>>2]=1124007936;i=e+4|0;j=e+8|0;k=e+40|0;l=i;m=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[k>>2]=j;j=e+48|0;n=e+44|0;f[n>>2]=j;f[j>>2]=0;f[e+52>>2]=0;f[g>>2]=1124007936;o=g+4|0;p=g+8|0;q=g+40|0;l=o;m=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[q>>2]=p;p=g+48|0;l=g+44|0;f[l>>2]=p;f[p>>2]=0;f[g+52>>2]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;f[h+28>>2]=0;zF(d,29464,0,b,e,g,1.0,0.0,h);AF(a,d)|0;Mi(d);d=g+36|0;a=f[d>>2]|0;if(a|0?(h=a+12|0,a=f[h>>2]|0,f[h>>2]=a+-1,(a|0)==1):0)XO(g);f[d>>2]=0;d=g+16|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[o>>2]|0)>0){d=f[q>>2]|0;q=0;do{f[d+(q<<2)>>2]=0;q=q+1|0}while((q|0)<(f[o>>2]|0))}o=f[l>>2]|0;if((o|0)!=(p|0))dX(o);o=e+36|0;p=f[o>>2]|0;if(p|0?(l=p+12|0,p=f[l>>2]|0,f[l>>2]=p+-1,(p|0)==1):0)XO(e);f[o>>2]=0;o=e+16|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;if((f[i>>2]|0)>0){o=f[k>>2]|0;k=0;do{f[o+(k<<2)>>2]=0;k=k+1|0}while((k|0)<(f[i>>2]|0))}i=f[n>>2]|0;if((i|0)==(j|0)){u=c;return}dX(i);u=c;return}function pG(a){a=a|0;GQa(a);return}function qG(a,b){a=a|0;b=b|0;return 1}function rG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;a=u;u=u+112|0;e=a+48|0;g=a+32|0;h=a+16|0;i=a;f[e>>2]=1124007936;j=e+4|0;k=e+8|0;l=e+40|0;m=j;n=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[l>>2]=k;k=e+48|0;m=e+44|0;f[m>>2]=k;f[k>>2]=0;f[e+52>>2]=0;n=(d+1|0)>>>0<2?c:e;if(!(f[b+80>>2]|0)){f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=b+8;f[h>>2]=-1056833530;f[h+4>>2]=b+176;f[h+8>>2]=1;f[h+12>>2]=1;o=i+8|0;f[o>>2]=0;f[o+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=n;iJ(g,h,i,f[b+4>>2]|0)}else{f[g+8>>2]=0;f[g+12>>2]=0;f[g>>2]=16842752;f[g+4>>2]=b+8;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=b+64;o=i+8|0;f[o>>2]=0;f[o+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=n;iJ(g,h,i,f[b+4>>2]|0)}if((f[n+16>>2]|0)!=(f[c+16>>2]|0)){b=g+8|0;f[b>>2]=0;f[b+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=c;AO(n,g,d,1.0,0.0)}d=e+36|0;g=f[d>>2]|0;if(g|0?(n=g+12|0,g=f[n>>2]|0,f[n>>2]=g+-1,(g|0)==1):0)XO(e);f[d>>2]=0;d=e+16|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[j>>2]|0)>0){d=f[l>>2]|0;l=0;do{f[d+(l<<2)>>2]=0;l=l+1|0}while((l|0)<(f[j>>2]|0))}j=f[m>>2]|0;if((j|0)==(k|0)){u=a;return}dX(j);u=a;return}function sG(a){a=a|0;GQa(a);return}function tG(a,b){a=a|0;b=b|0;return 0}function uG(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=u;u=u+64|0;g=a+32|0;h=a;i=(e|0)==-1?f[c+8>>2]&4095:e;e=c+12|0;j=f[e>>2]|0;k=f[c+48>>2]|0;do if((j|0)<3){l=f[k+4>>2]|0;m=f[k>>2]|0;n=i&4095;if(((((f[d+4>>2]|0)<3?(f[d+8>>2]|0)==(m|0):0)?(f[d+12>>2]|0)==(l|0):0)?(f[d>>2]&4095|0)==(n|0):0)?f[d+16>>2]|0:0)break;f[g>>2]=m;f[g+4>>2]=l;VO(d,2,g,n)}else VO(d,j,k,i);while(0);i=f[c+4>>2]|0;if((i|0)==73&(f[e>>2]|0)<3){e=g+8|0;f[e>>2]=0;f[e+4>>2]=0;f[g>>2]=50397184;f[g+4>>2]=d;p[h>>3]=+p[c+176>>3];e=h+8|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;BD(g,h);u=a;return}switch(i|0){case 48:{f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;gM(d,g)|0;u=a;return}case 49:{p[g>>3]=+p[c+176>>3];c=g+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;gM(d,g)|0;u=a;return}default:{f[g>>2]=0;f[g+4>>2]=0;d=JV(g,31)|0;c=147570;i=d+31|0;do{b[d>>0]=b[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(i|0));EP(-2,g,145193,145047,1606);KV(g);u=a;return}}}function vG(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0;a=u;u=u+16|0;e=a;yV(e,30896);AF(d,b)|0;b=d+176|0;p[b>>3]=+p[b>>3]*c;if(!(f[e+4>>2]|0)){u=a;return}u=a;return}function wG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=29464;f[a+4>>2]=0;c=a+8|0;f[c>>2]=f[b>>2];d=a+12|0;e=b+4|0;f[d>>2]=f[e>>2];g=a+16|0;f[g>>2]=f[b+8>>2];f[a+20>>2]=f[b+12>>2];f[a+24>>2]=f[b+16>>2];f[a+28>>2]=f[b+20>>2];f[a+32>>2]=f[b+24>>2];f[a+36>>2]=f[b+28>>2];f[a+40>>2]=f[b+32>>2];h=f[b+36>>2]|0;f[a+44>>2]=h;f[a+48>>2]=g;g=a+56|0;i=a+52|0;f[i>>2]=g;f[g>>2]=0;f[a+60>>2]=0;if(h|0){g=h+12|0;f[g>>2]=(f[g>>2]|0)+1}if((f[e>>2]|0)<3){e=f[b+44>>2]|0;g=f[i>>2]|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2]}else{f[d>>2]=0;WO(c,b)}f[a+64>>2]=1124007936;b=a+72|0;c=a+104|0;d=a+68|0;e=d+36|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f[c>>2]=b;b=a+112|0;f[a+108>>2]=b;f[b>>2]=0;f[a+116>>2]=0;f[a+120>>2]=1124007936;b=a+128|0;c=a+160|0;d=a+124|0;e=d+36|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f[c>>2]=b;b=a+168|0;f[a+164>>2]=b;f[b>>2]=0;f[a+172>>2]=0;p[a+176>>3]=1.0;d=a+184|0;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));return}function xG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=1124007936;d=a+16|0;e=a+48|0;g=a+12|0;h=g+36|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[e>>2]=d;d=a+56|0;f[a+52>>2]=d;f[d>>2]=0;f[a+60>>2]=0;f[a+64>>2]=1124007936;d=a+72|0;e=a+104|0;g=a+68|0;h=g+36|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[e>>2]=d;d=a+112|0;f[a+108>>2]=d;f[d>>2]=0;f[a+116>>2]=0;f[a+120>>2]=1124007936;d=a+128|0;e=a+160|0;g=a+124|0;h=g+36|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[e>>2]=d;d=a+168|0;f[a+164>>2]=d;g=d;h=g+56|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));g=f[b>>2]|0;th[f[(f[g>>2]|0)+96>>2]&255](g,b,c,a);return}function yG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=1124007936;d=a+16|0;e=a+48|0;g=a+12|0;h=g+36|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[e>>2]=d;d=a+56|0;f[a+52>>2]=d;f[d>>2]=0;f[a+60>>2]=0;f[a+64>>2]=1124007936;d=a+72|0;e=a+104|0;g=a+68|0;h=g+36|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[e>>2]=d;d=a+112|0;f[a+108>>2]=d;f[d>>2]=0;f[a+116>>2]=0;f[a+120>>2]=1124007936;d=a+128|0;e=a+160|0;g=a+124|0;h=g+36|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[e>>2]=d;d=a+168|0;f[a+164>>2]=d;g=d;h=g+56|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));g=f[b>>2]|0;th[f[(f[g>>2]|0)+56>>2]&255](g,b,c,a);return}function zG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=1124007936;d=a+16|0;e=a+48|0;g=a+12|0;h=g+36|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[e>>2]=d;d=a+56|0;f[a+52>>2]=d;f[d>>2]=0;f[a+60>>2]=0;f[a+64>>2]=1124007936;d=a+72|0;e=a+104|0;g=a+68|0;h=g+36|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[e>>2]=d;d=a+112|0;f[a+108>>2]=d;f[d>>2]=0;f[a+116>>2]=0;f[a+120>>2]=1124007936;d=a+128|0;e=a+160|0;g=a+124|0;h=g+36|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[e>>2]=d;d=a+168|0;f[a+164>>2]=d;g=d;h=g+56|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));g=f[b>>2]|0;th[f[(f[g>>2]|0)+52>>2]&255](g,b,c,a);return}function AG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+32|0;e=d;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=1124007936;g=a+16|0;h=a+48|0;i=a+12|0;j=i+36|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));f[h>>2]=g;g=a+56|0;f[a+52>>2]=g;f[g>>2]=0;f[a+60>>2]=0;f[a+64>>2]=1124007936;g=a+72|0;h=a+104|0;i=a+68|0;j=i+36|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));f[h>>2]=g;g=a+112|0;f[a+108>>2]=g;f[g>>2]=0;f[a+116>>2]=0;f[a+120>>2]=1124007936;g=a+128|0;h=a+160|0;i=a+124|0;j=i+36|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));f[h>>2]=g;g=a+168|0;f[a+164>>2]=g;i=g;j=i+56|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;f[e+28>>2]=0;iG(a,b,c,1.0,-1.0,e);u=d;return}function BG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+224|0;e=d;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=1124007936;g=a+16|0;h=a+48|0;i=a+12|0;j=i+36|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));f[h>>2]=g;g=a+56|0;f[a+52>>2]=g;f[g>>2]=0;f[a+60>>2]=0;f[a+64>>2]=1124007936;g=a+72|0;h=a+104|0;i=a+68|0;j=i+36|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));f[h>>2]=g;g=a+112|0;f[a+108>>2]=g;f[g>>2]=0;f[a+116>>2]=0;f[a+120>>2]=1124007936;g=a+128|0;h=a+160|0;i=a+124|0;j=i+36|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));f[h>>2]=g;g=a+168|0;f[a+164>>2]=g;i=g;j=i+56|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));i=f[b>>2]|0;j=f[(f[i>>2]|0)+60>>2]|0;wG(e,c);th[j&255](i,b,e,a);Mi(e);u=d;return}function CG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0;d=u;u=u+32|0;e=d;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=1124007936;g=a+16|0;h=a+48|0;i=a+12|0;j=i+36|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));f[h>>2]=g;g=a+56|0;f[a+52>>2]=g;f[g>>2]=0;f[a+60>>2]=0;f[a+64>>2]=1124007936;g=a+72|0;h=a+104|0;i=a+68|0;j=i+36|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));f[h>>2]=g;g=a+112|0;f[a+108>>2]=g;f[g>>2]=0;f[a+116>>2]=0;f[a+120>>2]=1124007936;g=a+128|0;h=a+160|0;i=a+124|0;j=i+36|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));f[h>>2]=g;g=a+168|0;f[a+164>>2]=g;i=g;j=i+56|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));i=f[b>>2]|0;j=f[(f[i>>2]|0)+56>>2]|0;k=-+p[c+8>>3];l=-+p[c+16>>3];m=-+p[c+24>>3];p[e>>3]=-+p[c>>3];p[e+8>>3]=k;p[e+16>>3]=l;p[e+24>>3]=m;th[j&255](i,b,e,a);u=d;return}function DG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=1124007936;d=a+16|0;e=a+48|0;g=a+12|0;h=g+36|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[e>>2]=d;d=a+56|0;f[a+52>>2]=d;f[d>>2]=0;f[a+60>>2]=0;f[a+64>>2]=1124007936;d=a+72|0;e=a+104|0;g=a+68|0;h=g+36|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[e>>2]=d;d=a+112|0;f[a+108>>2]=d;f[d>>2]=0;f[a+116>>2]=0;f[a+120>>2]=1124007936;d=a+128|0;e=a+160|0;g=a+124|0;h=g+36|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[e>>2]=d;d=a+168|0;f[a+164>>2]=d;g=d;h=g+56|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));g=f[b>>2]|0;th[f[(f[g>>2]|0)+60>>2]&255](g,b,c,a);return}function EG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+96|0;d=c+32|0;e=c;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=1124007936;g=a+16|0;h=a+48|0;i=a+12|0;j=i+36|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));f[h>>2]=g;g=a+56|0;f[a+52>>2]=g;f[g>>2]=0;f[a+60>>2]=0;f[a+64>>2]=1124007936;g=a+72|0;h=a+104|0;i=a+68|0;j=i+36|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));f[h>>2]=g;g=a+112|0;f[a+108>>2]=g;f[g>>2]=0;f[a+116>>2]=0;f[a+120>>2]=1124007936;g=a+128|0;h=a+160|0;i=a+124|0;j=i+36|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));f[h>>2]=g;g=a+168|0;f[a+164>>2]=g;i=g;j=i+56|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));f[d>>2]=1124007936;g=d+4|0;h=d+8|0;k=d+40|0;i=g;j=i+36|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));f[k>>2]=h;h=d+48|0;i=d+44|0;f[i>>2]=h;f[h>>2]=0;f[d+52>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;f[e+28>>2]=0;iG(a,b,d,-1.0,0.0,e);e=d+36|0;b=f[e>>2]|0;if(b|0?(a=b+12|0,b=f[a>>2]|0,f[a>>2]=b+-1,(b|0)==1):0)XO(d);f[e>>2]=0;e=d+16|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;if((f[g>>2]|0)>0){e=f[k>>2]|0;k=0;do{f[e+(k<<2)>>2]=0;k=k+1|0}while((k|0)<(f[g>>2]|0))}g=f[i>>2]|0;if((g|0)==(h|0)){u=c;return}dX(g);u=c;return}function FG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=u;u=u+32|0;d=c;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=1124007936;e=a+16|0;g=a+48|0;h=a+12|0;i=h+36|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));f[g>>2]=e;e=a+56|0;f[a+52>>2]=e;f[e>>2]=0;f[a+60>>2]=0;f[a+64>>2]=1124007936;e=a+72|0;g=a+104|0;h=a+68|0;i=h+36|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));f[g>>2]=e;e=a+112|0;f[a+108>>2]=e;f[e>>2]=0;f[a+116>>2]=0;f[a+120>>2]=1124007936;e=a+128|0;g=a+160|0;h=a+124|0;i=h+36|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));f[g>>2]=e;e=a+168|0;f[a+164>>2]=e;h=e;i=h+56|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));h=f[b>>2]|0;i=f[(f[h>>2]|0)+64>>2]|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[d+24>>2]=0;f[d+28>>2]=0;th[i&255](h,d,b,a);u=c;return}function GG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=u;u=u+320|0;e=d+32|0;g=d;h=d+256|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=1124007936;i=a+16|0;j=a+48|0;k=a+12|0;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[j>>2]=i;i=a+56|0;f[a+52>>2]=i;f[i>>2]=0;f[a+60>>2]=0;f[a+64>>2]=1124007936;i=a+72|0;j=a+104|0;k=a+68|0;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[j>>2]=i;i=a+112|0;f[a+108>>2]=i;f[i>>2]=0;f[a+116>>2]=0;f[a+120>>2]=1124007936;i=a+128|0;j=a+160|0;k=a+124|0;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[j>>2]=i;i=a+168|0;f[a+164>>2]=i;k=i;l=k+56|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[h>>2]=1124007936;i=h+4|0;j=h+8|0;m=h+40|0;k=i;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[m>>2]=j;j=h+48|0;k=h+44|0;f[k>>2]=j;f[j>>2]=0;f[h+52>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;zF(e,29712,0,b,c,h,1.0,1.0,g);AF(a,e)|0;Mi(e);e=h+36|0;a=f[e>>2]|0;if(a|0?(g=a+12|0,a=f[g>>2]|0,f[g>>2]=a+-1,(a|0)==1):0)XO(h);f[e>>2]=0;e=h+16|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;if((f[i>>2]|0)>0){e=f[m>>2]|0;m=0;do{f[e+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[i>>2]|0))}i=f[k>>2]|0;if((i|0)==(j|0)){u=d;return}dX(i);u=d;return}function HG(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=u;u=u+96|0;e=d+32|0;g=d;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=1124007936;h=a+16|0;i=a+48|0;j=a+12|0;k=j+36|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[i>>2]=h;h=a+56|0;f[a+52>>2]=h;f[h>>2]=0;f[a+60>>2]=0;f[a+64>>2]=1124007936;h=a+72|0;i=a+104|0;j=a+68|0;k=j+36|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[i>>2]=h;h=a+112|0;f[a+108>>2]=h;f[h>>2]=0;f[a+116>>2]=0;f[a+120>>2]=1124007936;h=a+128|0;i=a+160|0;j=a+124|0;k=j+36|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[i>>2]=h;h=a+168|0;f[a+164>>2]=h;j=h;k=j+56|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[e>>2]=1124007936;h=e+4|0;i=e+8|0;l=e+40|0;j=h;k=j+36|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[l>>2]=i;i=e+48|0;j=e+44|0;f[j>>2]=i;f[i>>2]=0;f[e+52>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;iG(a,b,e,c,0.0,g);g=e+36|0;b=f[g>>2]|0;if(b|0?(a=b+12|0,b=f[a>>2]|0,f[a>>2]=b+-1,(b|0)==1):0)XO(e);f[g>>2]=0;g=e+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;if((f[h>>2]|0)>0){g=f[l>>2]|0;l=0;do{f[g+(l<<2)>>2]=0;l=l+1|0}while((l|0)<(f[h>>2]|0))}h=f[j>>2]|0;if((h|0)==(i|0)){u=d;return}dX(h);u=d;return}function IG(a,b,c){a=a|0;b=+b;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=u;u=u+96|0;e=d+32|0;g=d;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=1124007936;h=a+16|0;i=a+48|0;j=a+12|0;k=j+36|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[i>>2]=h;h=a+56|0;f[a+52>>2]=h;f[h>>2]=0;f[a+60>>2]=0;f[a+64>>2]=1124007936;h=a+72|0;i=a+104|0;j=a+68|0;k=j+36|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[i>>2]=h;h=a+112|0;f[a+108>>2]=h;f[h>>2]=0;f[a+116>>2]=0;f[a+120>>2]=1124007936;h=a+128|0;i=a+160|0;j=a+124|0;k=j+36|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[i>>2]=h;h=a+168|0;f[a+164>>2]=h;j=h;k=j+56|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[e>>2]=1124007936;h=e+4|0;i=e+8|0;l=e+40|0;j=h;k=j+36|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[l>>2]=i;i=e+48|0;j=e+44|0;f[j>>2]=i;f[i>>2]=0;f[e+52>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;iG(a,c,e,b,0.0,g);g=e+36|0;c=f[g>>2]|0;if(c|0?(a=c+12|0,c=f[a>>2]|0,f[a>>2]=c+-1,(c|0)==1):0)XO(e);f[g>>2]=0;g=e+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;if((f[h>>2]|0)>0){g=f[l>>2]|0;l=0;do{f[g+(l<<2)>>2]=0;l=l+1|0}while((l|0)<(f[h>>2]|0))}h=f[j>>2]|0;if((h|0)==(i|0)){u=d;return}dX(h);u=d;return}function JG(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0,g=0,h=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=1124007936;d=a+16|0;e=a+48|0;g=a+12|0;h=g+36|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[e>>2]=d;d=a+56|0;f[a+52>>2]=d;f[d>>2]=0;f[a+60>>2]=0;f[a+64>>2]=1124007936;d=a+72|0;e=a+104|0;g=a+68|0;h=g+36|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[e>>2]=d;d=a+112|0;f[a+108>>2]=d;f[d>>2]=0;f[a+116>>2]=0;f[a+120>>2]=1124007936;d=a+128|0;e=a+160|0;g=a+124|0;h=g+36|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[e>>2]=d;d=a+168|0;f[a+164>>2]=d;g=d;h=g+56|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));g=f[b>>2]|0;Jg[f[(f[g>>2]|0)+72>>2]&15](g,b,c,a);return}function KG(a,b,c){a=a|0;b=+b;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+64|0;e=d;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=1124007936;g=a+16|0;h=a+48|0;i=a+12|0;j=i+36|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));f[h>>2]=g;g=a+56|0;f[a+52>>2]=g;f[g>>2]=0;f[a+60>>2]=0;f[a+64>>2]=1124007936;g=a+72|0;h=a+104|0;i=a+68|0;j=i+36|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));f[h>>2]=g;g=a+112|0;f[a+108>>2]=g;f[g>>2]=0;f[a+116>>2]=0;f[a+120>>2]=1124007936;g=a+128|0;h=a+160|0;i=a+124|0;j=i+36|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));f[h>>2]=g;g=a+168|0;f[a+164>>2]=g;i=g;j=i+56|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));f[e>>2]=1124007936;g=e+4|0;h=e+8|0;k=e+40|0;i=g;j=i+36|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));f[k>>2]=h;h=e+48|0;i=e+44|0;f[i>>2]=h;f[h>>2]=0;f[e+52>>2]=0;cG(a,47,c,e,b);c=e+36|0;a=f[c>>2]|0;if(a|0?(j=a+12|0,a=f[j>>2]|0,f[j>>2]=a+-1,(a|0)==1):0)XO(e);f[c>>2]=0;c=e+16|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;if((f[g>>2]|0)>0){c=f[k>>2]|0;k=0;do{f[c+(k<<2)>>2]=0;k=k+1|0}while((k|0)<(f[g>>2]|0))}g=f[i>>2]|0;if((g|0)==(h|0)){u=d;return}dX(g);u=d;return}function LG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=u;u=u+368|0;g=e+32|0;h=e+312|0;i=e+256|0;j=e;f[h>>2]=1124007936;k=h+4|0;l=h+8|0;m=h+40|0;n=k;o=n+36|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[m>>2]=l;l=h+48|0;p=h+44|0;f[p>>2]=l;f[l>>2]=0;f[h+52>>2]=0;f[i>>2]=1124007936;q=i+4|0;r=i+8|0;s=i+40|0;n=q;o=n+36|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[s>>2]=r;r=i+48|0;n=i+44|0;f[n>>2]=r;f[r>>2]=0;f[i+52>>2]=0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[j+24>>2]=0;f[j+28>>2]=0;zF(g,30916,b,c,h,i,d,1.0,j);AF(a,g)|0;Mi(g);g=i+36|0;a=f[g>>2]|0;if(a|0?(j=a+12|0,a=f[j>>2]|0,f[j>>2]=a+-1,(a|0)==1):0)XO(i);f[g>>2]=0;g=i+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;if((f[q>>2]|0)>0){g=f[s>>2]|0;s=0;do{f[g+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[q>>2]|0))}q=f[n>>2]|0;if((q|0)!=(r|0))dX(q);q=h+36|0;r=f[q>>2]|0;if(r|0?(n=r+12|0,r=f[n>>2]|0,f[n>>2]=r+-1,(r|0)==1):0)XO(h);f[q>>2]=0;q=h+16|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;if((f[k>>2]|0)>0){q=f[m>>2]|0;m=0;do{f[q+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[k>>2]|0))}k=f[p>>2]|0;if((k|0)==(l|0)){u=e;return}dX(k);u=e;return}function MG(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0,g=0,h=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=1124007936;d=a+16|0;e=a+48|0;g=a+12|0;h=g+36|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[e>>2]=d;d=a+56|0;f[a+52>>2]=d;f[d>>2]=0;f[a+60>>2]=0;f[a+64>>2]=1124007936;d=a+72|0;e=a+104|0;g=a+68|0;h=g+36|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[e>>2]=d;d=a+112|0;f[a+108>>2]=d;f[d>>2]=0;f[a+116>>2]=0;f[a+120>>2]=1124007936;d=a+128|0;e=a+160|0;g=a+124|0;h=g+36|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[e>>2]=d;d=a+168|0;f[a+164>>2]=d;g=d;h=g+56|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));LG(a,0,b,c);return}function NG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=1124007936;d=a+16|0;e=a+48|0;g=a+12|0;h=g+36|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[e>>2]=d;d=a+56|0;f[a+52>>2]=d;f[d>>2]=0;f[a+60>>2]=0;f[a+64>>2]=1124007936;d=a+72|0;e=a+104|0;g=a+68|0;h=g+36|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[e>>2]=d;d=a+112|0;f[a+108>>2]=d;f[d>>2]=0;f[a+116>>2]=0;f[a+120>>2]=1124007936;d=a+128|0;e=a+160|0;g=a+124|0;h=g+36|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[e>>2]=d;d=a+168|0;f[a+164>>2]=d;g=d;h=g+56|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));cG(a,38,b,c,1.0);return}function OG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[b>>2]|0;if((c|0)==29704|(c|0)==29344){d=f[b+20>>2]|0;f[a>>2]=f[b+16>>2];f[a+4>>2]=d;return}if((c|0)==29712){d=f[b+16>>2]|0;f[a>>2]=f[b+76>>2];f[a+4>>2]=d;return}if((c|0)==29468){d=f[b+20>>2]|0;f[a>>2]=f[b+76>>2];f[a+4>>2]=d;return}if(!(f[113790]|0)){d=NP()|0;pQ(d);if(!(f[113790]|0)){e=EQa(4)|0;f[e>>2]=30788;f[113790]=e}qQ(d)}if((f[113790]|0)==(c|0)){c=f[b+48>>2]|0;d=f[c>>2]|0;f[a>>2]=f[c+4>>2];f[a+4>>2]=d;return}d=f[b>>2]|0;if(!d){f[a>>2]=0;f[a+4>>2]=0;return}else{Rg[f[(f[d>>2]|0)+100>>2]&255](a,d,b);return}}function PG(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=u;u=u+16|0;c=b;yV(c,30920);d=f[a>>2]|0;if(!(f[113790]|0)){e=NP()|0;pQ(e);if(!(f[113790]|0)){g=EQa(4)|0;f[g>>2]=30788;f[113790]=g}qQ(e)}if((f[113790]|0)!=(d|0)){d=f[a>>2]|0;if((d|0)!=30916)if(!d)h=-1;else h=Zf[f[(f[d>>2]|0)+104>>2]&127](d,a)|0;else h=0}else h=f[a+8>>2]&4095;if(!(f[c+4>>2]|0)){u=b;return h|0}u=b;return h|0}function QG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=u;u=u+16|0;d=c;yV(d,30940);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=1124007936;e=a+16|0;g=a+48|0;h=a+12|0;i=h+36|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));f[g>>2]=e;e=a+56|0;f[a+52>>2]=e;f[e>>2]=0;f[a+60>>2]=0;f[a+64>>2]=1124007936;e=a+72|0;g=a+104|0;h=a+68|0;i=h+36|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));f[g>>2]=e;e=a+112|0;f[a+108>>2]=e;f[e>>2]=0;f[a+116>>2]=0;f[a+120>>2]=1124007936;e=a+128|0;g=a+160|0;h=a+124|0;i=h+36|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));f[g>>2]=e;e=a+168|0;f[a+164>>2]=e;h=e;i=h+56|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));aG(a,b,1.0);if(!(f[d+4>>2]|0)){u=c;return}u=c;return}function RG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;yV(e,30960);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=1124007936;g=a+16|0;h=a+48|0;i=a+12|0;j=i+36|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));f[h>>2]=g;g=a+56|0;f[a+52>>2]=g;f[g>>2]=0;f[a+60>>2]=0;f[a+64>>2]=1124007936;g=a+72|0;h=a+104|0;i=a+68|0;j=i+36|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));f[h>>2]=g;g=a+112|0;f[a+108>>2]=g;f[g>>2]=0;f[a+116>>2]=0;f[a+120>>2]=1124007936;g=a+128|0;h=a+160|0;i=a+124|0;j=i+36|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));f[h>>2]=g;g=a+168|0;f[a+164>>2]=g;i=g;j=i+56|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));yF(a,c,b);if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function SG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+240|0;g=e+224|0;h=e;yV(g,30980);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=1124007936;i=a+16|0;j=a+48|0;k=a+12|0;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[j>>2]=i;i=a+56|0;f[a+52>>2]=i;f[i>>2]=0;f[a+60>>2]=0;f[a+64>>2]=1124007936;i=a+72|0;j=a+104|0;k=a+68|0;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[j>>2]=i;i=a+112|0;f[a+108>>2]=i;f[i>>2]=0;f[a+116>>2]=0;f[a+120>>2]=1124007936;i=a+128|0;j=a+160|0;k=a+124|0;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[j>>2]=i;i=a+168|0;f[a+164>>2]=i;k=i;l=k+56|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));if((HJ(c)|0)!=393216){do if((HJ(c)|0)==65536){k=f[c+4>>2]|0;f[h>>2]=f[k>>2];l=h+4|0;i=k+4|0;f[l>>2]=f[i>>2];j=h+8|0;f[j>>2]=f[k+8>>2];f[h+12>>2]=f[k+12>>2];f[h+16>>2]=f[k+16>>2];f[h+20>>2]=f[k+20>>2];f[h+24>>2]=f[k+24>>2];f[h+28>>2]=f[k+28>>2];f[h+32>>2]=f[k+32>>2];m=f[k+36>>2]|0;f[h+36>>2]=m;f[h+40>>2]=j;j=h+48|0;n=h+44|0;f[n>>2]=j;f[j>>2]=0;f[h+52>>2]=0;if(m|0){j=m+12|0;f[j>>2]=(f[j>>2]|0)+1}if((f[i>>2]|0)<3){i=f[k+44>>2]|0;j=f[n>>2]|0;f[j>>2]=f[i>>2];f[j+4>>2]=f[i+4>>2];break}else{f[l>>2]=0;WO(h,k);break}}else DJ(h,c,-1);while(0);cG(a,42,b,h,d);k=h+36|0;l=f[k>>2]|0;if(l|0?(i=l+12|0,l=f[i>>2]|0,f[i>>2]=l+-1,(l|0)==1):0)XO(h);f[k>>2]=0;k=h+16|0;l=h+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;if((f[l>>2]|0)>0){k=f[h+40>>2]|0;i=0;do{f[k+(i<<2)>>2]=0;i=i+1|0}while((i|0)<(f[l>>2]|0))}l=f[h+44>>2]|0;if((l|0)!=(h+48|0))dX(l)}else{l=f[c+4>>2]|0;c=f[l>>2]|0;i=f[(f[c>>2]|0)+68>>2]|0;wG(h,b);uh[i&15](c,h,l,a,d);Mi(h)}if(!(f[g+4>>2]|0)){u=e;return}u=e;return}function TG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=u;u=u+16|0;g=e+8|0;h=e;yV(g,31e3);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=1124007936;i=a+16|0;j=a+48|0;k=a+12|0;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[j>>2]=i;i=a+56|0;f[a+52>>2]=i;f[i>>2]=0;f[a+60>>2]=0;f[a+64>>2]=1124007936;i=a+72|0;j=a+104|0;k=a+68|0;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[j>>2]=i;i=a+112|0;f[a+108>>2]=i;f[i>>2]=0;f[a+116>>2]=0;f[a+120>>2]=1124007936;i=a+128|0;j=a+160|0;k=a+124|0;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[j>>2]=i;i=a+168|0;f[a+164>>2]=i;k=i;l=k+56|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[h>>2]=c;f[h+4>>2]=b;UG(a,48,h,d,1.0);if(!(f[g+4>>2]|0)){u=e;return}u=e;return}function UG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;g=u;u=u+432|0;h=g+32|0;i=g+368|0;j=g+312|0;k=g+256|0;l=g;if(!(f[113790]|0)){m=NP()|0;pQ(m);if(!(f[113790]|0)){n=EQa(4)|0;f[n>>2]=30788;f[113790]=n}qQ(m)}m=f[113790]|0;n=f[c>>2]|0;o=f[c+4>>2]|0;c=i+4|0;f[c>>2]=2;p=i+8|0;f[p>>2]=o;f[i+12>>2]=n;q=i+16|0;f[q>>2]=-286331154;f[i+20>>2]=-286331154;r=i+24|0;s=i+40|0;t=r+8|0;f[t>>2]=0;f[t+4>>2]=0;f[s>>2]=p;p=i+48|0;t=i+44|0;f[t>>2]=p;v=(d>>>3&511)+1<<(47696>>>(d<<1&14)&3);w=X(n,v)|0;f[i>>2]=d&4095|1124024320;f[p>>2]=w;f[i+52>>2]=v;v=(X(o,w)|0)+-286331154|0;f[i+28>>2]=v;f[r>>2]=v+(0-w)+w;f[j>>2]=1124007936;w=j+4|0;v=j+8|0;r=j+40|0;o=w;d=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(d|0));f[r>>2]=v;v=j+48|0;n=j+44|0;f[n>>2]=v;f[v>>2]=0;f[j+52>>2]=0;f[k>>2]=1124007936;x=k+4|0;y=k+8|0;z=k+40|0;o=x;d=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(d|0));f[z>>2]=y;y=k+48|0;o=k+44|0;f[o>>2]=y;f[y>>2]=0;f[k+52>>2]=0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[l+24>>2]=0;f[l+28>>2]=0;zF(h,m,b,i,j,k,e,0.0,l);AF(a,h)|0;Mi(h);h=k+36|0;a=f[h>>2]|0;if(a|0?(l=a+12|0,a=f[l>>2]|0,f[l>>2]=a+-1,(a|0)==1):0)XO(k);f[h>>2]=0;h=k+16|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;if((f[x>>2]|0)>0){h=f[z>>2]|0;z=0;do{f[h+(z<<2)>>2]=0;z=z+1|0}while((z|0)<(f[x>>2]|0))}x=f[o>>2]|0;if((x|0)!=(y|0))dX(x);x=j+36|0;y=f[x>>2]|0;if(y|0?(o=y+12|0,y=f[o>>2]|0,f[o>>2]=y+-1,(y|0)==1):0)XO(j);f[x>>2]=0;x=j+16|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;if((f[w>>2]|0)>0){x=f[r>>2]|0;r=0;do{f[x+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[w>>2]|0))}w=f[n>>2]|0;if((w|0)!=(v|0))dX(w);w=i+36|0;v=f[w>>2]|0;if(v|0?(n=v+12|0,v=f[n>>2]|0,f[n>>2]=v+-1,(v|0)==1):0)XO(i);f[w>>2]=0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;if((f[c>>2]|0)>0){q=f[s>>2]|0;s=0;do{f[q+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[c>>2]|0))}c=f[t>>2]|0;if((c|0)==(p|0)){u=g;return}dX(c);u=g;return}function VG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d+8|0;g=d;yV(e,31020);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=1124007936;h=a+16|0;i=a+48|0;j=a+12|0;k=j+36|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[i>>2]=h;h=a+56|0;f[a+52>>2]=h;f[h>>2]=0;f[a+60>>2]=0;f[a+64>>2]=1124007936;h=a+72|0;i=a+104|0;j=a+68|0;k=j+36|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[i>>2]=h;h=a+112|0;f[a+108>>2]=h;f[h>>2]=0;f[a+116>>2]=0;f[a+120>>2]=1124007936;h=a+128|0;i=a+160|0;j=a+124|0;k=j+36|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[i>>2]=h;h=a+168|0;f[a+164>>2]=h;j=h;k=j+56|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[g>>2]=f[b>>2];f[g+4>>2]=f[b+4>>2];UG(a,48,g,c,1.0);if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function WG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=u;u=u+16|0;g=e+8|0;h=e;yV(g,31040);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=1124007936;i=a+16|0;j=a+48|0;k=a+12|0;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[j>>2]=i;i=a+56|0;f[a+52>>2]=i;f[i>>2]=0;f[a+60>>2]=0;f[a+64>>2]=1124007936;i=a+72|0;j=a+104|0;k=a+68|0;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[j>>2]=i;i=a+112|0;f[a+108>>2]=i;f[i>>2]=0;f[a+116>>2]=0;f[a+120>>2]=1124007936;i=a+128|0;j=a+160|0;k=a+124|0;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[j>>2]=i;i=a+168|0;f[a+164>>2]=i;k=i;l=k+56|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[h>>2]=c;f[h+4>>2]=b;UG(a,49,h,d,1.0);if(!(f[g+4>>2]|0)){u=e;return}u=e;return}function XG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d+8|0;g=d;yV(e,31060);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=1124007936;h=a+16|0;i=a+48|0;j=a+12|0;k=j+36|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[i>>2]=h;h=a+56|0;f[a+52>>2]=h;f[h>>2]=0;f[a+60>>2]=0;f[a+64>>2]=1124007936;h=a+72|0;i=a+104|0;j=a+68|0;k=j+36|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[i>>2]=h;h=a+112|0;f[a+108>>2]=h;f[h>>2]=0;f[a+116>>2]=0;f[a+120>>2]=1124007936;h=a+128|0;i=a+160|0;j=a+124|0;k=j+36|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[i>>2]=h;h=a+168|0;f[a+164>>2]=h;j=h;k=j+56|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[g>>2]=f[b>>2];f[g+4>>2]=f[b+4>>2];UG(a,49,g,c,1.0);if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function YG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=u;u=u+16|0;g=e+8|0;h=e;yV(g,31080);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=1124007936;i=a+16|0;j=a+48|0;k=a+12|0;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[j>>2]=i;i=a+56|0;f[a+52>>2]=i;f[i>>2]=0;f[a+60>>2]=0;f[a+64>>2]=1124007936;i=a+72|0;j=a+104|0;k=a+68|0;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[j>>2]=i;i=a+112|0;f[a+108>>2]=i;f[i>>2]=0;f[a+116>>2]=0;f[a+120>>2]=1124007936;i=a+128|0;j=a+160|0;k=a+124|0;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[j>>2]=i;i=a+168|0;f[a+164>>2]=i;k=i;l=k+56|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[h>>2]=c;f[h+4>>2]=b;UG(a,73,h,d,1.0);if(!(f[g+4>>2]|0)){u=e;return}u=e;return}function ZG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d+8|0;g=d;yV(e,31100);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=1124007936;h=a+16|0;i=a+48|0;j=a+12|0;k=j+36|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[i>>2]=h;h=a+56|0;f[a+52>>2]=h;f[h>>2]=0;f[a+60>>2]=0;f[a+64>>2]=1124007936;h=a+72|0;i=a+104|0;j=a+68|0;k=j+36|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[i>>2]=h;h=a+112|0;f[a+108>>2]=h;f[h>>2]=0;f[a+116>>2]=0;f[a+120>>2]=1124007936;h=a+128|0;i=a+160|0;j=a+124|0;k=j+36|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[i>>2]=h;h=a+168|0;f[a+164>>2]=h;j=h;k=j+56|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[g>>2]=f[b>>2];f[g+4>>2]=f[b+4>>2];UG(a,73,g,c,1.0);if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function _G(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=u;u=u+16|0;h=g;i=g+8|0;j=f[a+4>>2]|0;if((j|0)<3)k=X(f[a+12>>2]|0,f[a+8>>2]|0)|0;else{l=f[a+40>>2]|0;m=0;n=1;while(1){o=X(f[l+(m<<2)>>2]|0,n)|0;m=m+1|0;if((m|0)==(j|0)){k=o;break}else n=o}}n=c>>>3&511;j=n+1|0;m=c&7;l=j<<(47696>>>(m<<1)&3);o=HN(f[a>>2]&7,c)|0;c=f[a+16>>2]|0;a=(k|0)<=(n|0);f[h>>2]=a?k:j;f[h+4>>2]=1;qi[o&255](c,1,0,1,d,1,h,0);if(a){if((k|0)!=1){f[i>>2]=0;f[i+4>>2]=0;k=JV(i,8)|0;a=k;b[a>>0]=115;b[a+1>>0]=99;b[a+2>>0]=110;b[a+3>>0]=32;a=k+4|0;b[a>>0]=61;b[a+1>>0]=61;b[a+2>>0]=32;b[a+3>>0]=49;EP(-215,i,148067,148090,68);KV(i)}i=1212424721>>>(m<<2)&15;if(i>>>0>>0){m=i;do{b[d+m>>0]=b[d+(m-i)>>0]|0;m=m+1|0}while((m|0)!=(l|0))}}m=X(l,e)|0;if(l>>>0>>0)p=l;else{u=g;return}do{b[d+p>>0]=b[d+(p-l)>>0]|0;p=p+1|0}while((p|0)!=(m|0));u=g;return}function $G(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+16|0;g=e+8|0;h=e;yV(g,31120);f[h>>2]=106;bH(a,b,c,d,h,1,9);if(!(f[g+4>>2]|0)){u=e;return}u=e;return}function aH(a,c,d,e,f,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=i+-1|0;if(!i)return;i=h+-4|0;if((h|0)<4){if((h|0)>0){k=d;l=f;m=a;n=j}else return;while(1){o=0;do{b[l+o>>0]=b[k+o>>0]&b[m+o>>0];o=o+1|0}while((o|0)!=(h|0));if(!n)break;else{k=k+e|0;l=l+g|0;m=m+c|0;n=n+-1|0}}return}n=h&-4;if((n|0)<(h|0)){p=d;q=f;r=a;s=j}else{m=d;d=f;f=a;a=j;while(1){j=0;do{l=j|1;k=b[m+l>>0]&b[f+l>>0];b[d+j>>0]=b[m+j>>0]&b[f+j>>0];b[d+l>>0]=k;k=j|2;l=j|3;o=b[m+l>>0]&b[f+l>>0];b[d+k>>0]=b[m+k>>0]&b[f+k>>0];b[d+l>>0]=o;j=j+4|0}while((j|0)<=(i|0));if(!a)break;else{m=m+e|0;d=d+g|0;f=f+c|0;a=a+-1|0}}return}while(1){a=0;do{f=a|1;d=b[p+f>>0]&b[r+f>>0];b[q+a>>0]=b[p+a>>0]&b[r+a>>0];b[q+f>>0]=d;d=a|2;f=a|3;m=b[p+f>>0]&b[r+f>>0];b[q+d>>0]=b[p+d>>0]&b[r+d>>0];b[q+f>>0]=m;a=a+4|0}while((a|0)<=(i|0));t=n;do{b[q+t>>0]=b[p+t>>0]&b[r+t>>0];t=t+1|0}while((t|0)!=(h|0));if(!s)break;else{p=p+e|0;q=q+g|0;r=r+c|0;s=s+-1|0}}return}function bH(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;j=u;u=u+1440|0;k=j+1376|0;l=j+1368|0;m=j+1352|0;n=j+1360|0;o=j+312|0;q=j+256|0;r=j;s=j+184|0;t=j+128|0;v=j+104|0;w=j+88|0;x=j+56|0;y=j+248|0;z=j+240|0;A=a;B=c;C=HJ(a)|0;D=HJ(c)|0;E=GJ(a,-1)|0;F=E&7;G=(E>>>3&511)+1|0;H=GJ(c,-1)|0;J=H&7;K=(H>>>3&511)+1|0;L=RJ(a,-1)|0;M=RJ(c,-1)|0;N=(L|0)<3;if(N)FJ(l,a,-1);else{f[l>>2]=0;f[l+4>>2]=0}L=(M|0)<3;if(L)FJ(m,c,-1);else{f[m>>2]=0;f[m+4>>2]=0}M=VJ(e)|0;if(((C|0)==(D|0)&(N&L)?(L=f[l>>2]|0,N=f[l+4>>2]|0,(L|0)==(f[m>>2]|0)?(N|0)==(f[m+4>>2]|0):0):0)?!((E|0)!=(H|0)|M^1):0){f[n>>2]=L;f[n+4>>2]=N;_J(d,n,E,-1,0,0);if(h){O=g;P=G<<(47696>>>(E<<1&14)&3)}else{O=g+(F<<2)|0;P=G}n=f[O>>2]|0;do if((HJ(a)|0)==65536){O=f[a+4>>2]|0;f[k>>2]=f[O>>2];N=k+4|0;L=O+4|0;f[N>>2]=f[L>>2];Q=k+8|0;f[Q>>2]=f[O+8>>2];f[k+12>>2]=f[O+12>>2];f[k+16>>2]=f[O+16>>2];f[k+20>>2]=f[O+20>>2];f[k+24>>2]=f[O+24>>2];f[k+28>>2]=f[O+28>>2];f[k+32>>2]=f[O+32>>2];R=f[O+36>>2]|0;f[k+36>>2]=R;f[k+40>>2]=Q;Q=k+48|0;S=k+44|0;f[S>>2]=Q;f[Q>>2]=0;f[k+52>>2]=0;if(R|0){Q=R+12|0;f[Q>>2]=(f[Q>>2]|0)+1}if((f[L>>2]|0)<3){L=f[O+44>>2]|0;Q=f[S>>2]|0;f[Q>>2]=f[L>>2];f[Q+4>>2]=f[L+4>>2];break}else{f[N>>2]=0;WO(k,O);break}}else DJ(k,a,-1);while(0);do if((HJ(c)|0)==65536){O=f[c+4>>2]|0;f[o>>2]=f[O>>2];N=o+4|0;L=O+4|0;f[N>>2]=f[L>>2];Q=o+8|0;f[Q>>2]=f[O+8>>2];f[o+12>>2]=f[O+12>>2];f[o+16>>2]=f[O+16>>2];f[o+20>>2]=f[O+20>>2];f[o+24>>2]=f[O+24>>2];f[o+28>>2]=f[O+28>>2];f[o+32>>2]=f[O+32>>2];S=f[O+36>>2]|0;f[o+36>>2]=S;f[o+40>>2]=Q;Q=o+48|0;R=o+44|0;f[R>>2]=Q;f[Q>>2]=0;f[o+52>>2]=0;if(S|0){Q=S+12|0;f[Q>>2]=(f[Q>>2]|0)+1}if((f[L>>2]|0)<3){L=f[O+44>>2]|0;Q=f[R>>2]|0;f[Q>>2]=f[L>>2];f[Q+4>>2]=f[L+4>>2];break}else{f[N>>2]=0;WO(o,O);break}}else DJ(o,c,-1);while(0);do if((HJ(d)|0)==65536){O=f[d+4>>2]|0;f[q>>2]=f[O>>2];N=q+4|0;L=O+4|0;f[N>>2]=f[L>>2];Q=q+8|0;f[Q>>2]=f[O+8>>2];f[q+12>>2]=f[O+12>>2];f[q+16>>2]=f[O+16>>2];f[q+20>>2]=f[O+20>>2];f[q+24>>2]=f[O+24>>2];f[q+28>>2]=f[O+28>>2];f[q+32>>2]=f[O+32>>2];R=f[O+36>>2]|0;f[q+36>>2]=R;f[q+40>>2]=Q;Q=q+48|0;S=q+44|0;f[S>>2]=Q;f[Q>>2]=0;f[q+52>>2]=0;if(R|0){Q=R+12|0;f[Q>>2]=(f[Q>>2]|0)+1}if((f[L>>2]|0)<3){L=f[O+44>>2]|0;Q=f[S>>2]|0;f[Q>>2]=f[L>>2];f[Q+4>>2]=f[L+4>>2];T=q;break}else{f[N>>2]=0;WO(q,O);T=q;break}}else{DJ(q,d,-1);T=q}while(0);O=f[k>>2]|0;N=f[o>>2]|0;L=f[T>>2]|0;T=f[k+12>>2]|0;Q=f[k+8>>2]|0;S=wVa(Q|0,((Q|0)<0)<<31>>31|0,T|0,((T|0)<0)<<31>>31|0)|0;if((O&16384&N&L|0)!=0?(S|0)==(S|0)&(I|0)==(((S|0)<0)<<31>>31|0):0){U=1;V=S}else{U=Q;V=T}T=X(V,P)|0;P=k+16|0;V=k+44|0;Q=k+48|0;S=o+16|0;L=o+44|0;N=o+48|0;O=q+16|0;R=q+44|0;W=q+48|0;ri[n&127](f[P>>2]|0,f[Q>>2]|0,f[S>>2]|0,f[N>>2]|0,f[O>>2]|0,f[W>>2]|0,T,U,0);U=q+36|0;T=f[U>>2]|0;if(T|0?(n=T+12|0,T=f[n>>2]|0,f[n>>2]=T+-1,(T|0)==1):0)XO(q);f[U>>2]=0;U=q+4|0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[O+12>>2]=0;if((f[U>>2]|0)>0){O=f[q+40>>2]|0;T=0;do{f[O+(T<<2)>>2]=0;T=T+1|0}while((T|0)<(f[U>>2]|0))}U=f[R>>2]|0;if((U|0)!=(W|0))dX(U);U=o+36|0;W=f[U>>2]|0;if(W|0?(R=W+12|0,W=f[R>>2]|0,f[R>>2]=W+-1,(W|0)==1):0)XO(o);f[U>>2]=0;U=o+4|0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;f[S+12>>2]=0;if((f[U>>2]|0)>0){S=f[o+40>>2]|0;W=0;do{f[S+(W<<2)>>2]=0;W=W+1|0}while((W|0)<(f[U>>2]|0))}U=f[L>>2]|0;if((U|0)!=(N|0))dX(U);U=k+36|0;N=f[U>>2]|0;if(N|0?(L=N+12|0,N=f[L>>2]|0,f[L>>2]=N+-1,(N|0)==1):0)XO(k);f[U>>2]=0;U=k+4|0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;if((f[U>>2]|0)>0){P=f[k+40>>2]|0;N=0;do{f[P+(N<<2)>>2]=0;N=N+1|0}while((N|0)<(f[U>>2]|0))}U=f[V>>2]|0;if((U|0)!=(Q|0))dX(U);u=j;return}a:do if((i|0)==12){Y=1;Z=E;_=F;$=G;aa=B;ba=A}else{U=(C|0)==131072;Q=(D|0)==131072;if(((Q&1)+(U&1)|0)!=1?(E|0)==(H|0)&(QJ(a,c)|0):0){if(QJ(a,c)|0){Y=0;Z=E;_=F;$=G;aa=B;ba=A;break}f[k>>2]=0;f[k+4>>2]=0;ca=JV(k,41)|0;da=148286;ea=ca+41|0;do{b[ca>>0]=b[da>>0]|0;ca=ca+1|0;da=da+1|0}while((ca|0)<(ea|0));EP(-215,k,148276,148090,230);KV(k);Y=0;Z=E;_=F;$=G;aa=B;ba=A;break}b:do if((RJ(a,-1)|0)<=2?WJ(a,-1)|0:0){FJ(k,a,-1);V=f[k>>2]|0;N=(V|0)==1;if(N){if(!((C|0)!=131072&Q)){fa=f[k+4>>2]|0;ga=71}}else if(!((C|0)!=131072&Q|(f[k+4>>2]|0)!=1)){fa=1;ga=71}do if((ga|0)==71){P=(fa|0)==1;if(!((V|0)==(K|0)&P|N&(P|(fa|0)==(K|0)))){if(!(N&(fa|0)==4))break;if(!(K>>>0<5&(GJ(a,-1)|0)==6))break b}P=f[l>>2]|0;L=l+4|0;W=f[L>>2]|0;f[l>>2]=f[m>>2];S=m+4|0;f[L>>2]=f[S>>2];f[m>>2]=P;f[S>>2]=W;Y=1;Z=H;_=J;$=K;aa=A;ba=B;break a}while(0)}while(0);do if((RJ(c,-1)|0)<=2?WJ(c,-1)|0:0){FJ(k,c,-1);Q=f[k>>2]|0;N=(Q|0)==1;if(N){if(!(U&(D|0)!=131072)){ha=f[k+4>>2]|0;ga=83}}else if(!(U&(D|0)!=131072|(f[k+4>>2]|0)!=1)){ha=1;ga=83}if((ga|0)==83){V=(ha|0)==1;if((Q|0)==(G|0)&V|N&(V|(ha|0)==(G|0))){Y=1;Z=E;_=F;$=G;aa=B;ba=A;break a}if(N&(ha|0)==4)if(G>>>0<5&(GJ(c,-1)|0)==6){Y=1;Z=E;_=F;$=G;aa=B;ba=A;break a}else break}}while(0);f[k>>2]=0;f[k+4>>2]=0;DVa(JV(k,130)|0,148145,130)|0;EP(-209,k,148276,148090,225);KV(k);Y=1;Z=E;_=F;$=G;aa=B;ba=A}while(0);A=(Z>>>3&511)+1<<(47696>>>(Z<<1&14)&3);f[k>>2]=A;B=((A+1023|0)>>>0)/(A>>>0)|0;if(!M){if((GJ(e,-1)|0)>>>0<2?(A=ba,QJ(e,A)|0):0)ia=A;else{f[o>>2]=0;f[o+4>>2]=0;ca=JV(o,52)|0;da=148328;ea=ca+52|0;do{b[ca>>0]=b[da>>0]|0;ca=ca+1|0;da=da+1|0}while((ca|0)<(ea|0));EP(-215,o,148276,148090,241);KV(o);ia=ba}da=cM(f[k>>2]|0)|0;if(QJ(d,ia)|0){ja=(GJ(d,-1)|0)!=(Z|0);ka=da;la=ia}else{ja=1;ka=da;la=ia}}else{ja=0;ka=0;la=ba}ba=o+8|0;f[o>>2]=ba;ia=o+4|0;f[ia>>2]=1032;wK(d,la,Z);if(!(M|ja^1)){p[r>>3]=0.0;f[q>>2]=-1056833530;f[q+4>>2]=r;f[q+8>>2]=1;f[q+12>>2]=1;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;AK(d,q,s)}do if((HJ(la)|0)==65536){ja=f[la+4>>2]|0;f[q>>2]=f[ja>>2];Z=q+4|0;da=ja+4|0;f[Z>>2]=f[da>>2];ca=q+8|0;f[ca>>2]=f[ja+8>>2];f[q+12>>2]=f[ja+12>>2];f[q+16>>2]=f[ja+16>>2];f[q+20>>2]=f[ja+20>>2];f[q+24>>2]=f[ja+24>>2];f[q+28>>2]=f[ja+28>>2];f[q+32>>2]=f[ja+32>>2];ea=f[ja+36>>2]|0;f[q+36>>2]=ea;f[q+40>>2]=ca;ca=q+48|0;A=q+44|0;f[A>>2]=ca;f[ca>>2]=0;f[q+52>>2]=0;if(ea|0){ca=ea+12|0;f[ca>>2]=(f[ca>>2]|0)+1}if((f[da>>2]|0)<3){da=f[ja+44>>2]|0;ca=f[A>>2]|0;f[ca>>2]=f[da>>2];f[ca+4>>2]=f[da+4>>2];break}else{f[Z>>2]=0;WO(q,ja);break}}else DJ(q,la,-1);while(0);la=aa;do if((HJ(la)|0)==65536){aa=f[la+4>>2]|0;f[r>>2]=f[aa>>2];ja=r+4|0;Z=aa+4|0;f[ja>>2]=f[Z>>2];da=r+8|0;f[da>>2]=f[aa+8>>2];f[r+12>>2]=f[aa+12>>2];f[r+16>>2]=f[aa+16>>2];f[r+20>>2]=f[aa+20>>2];f[r+24>>2]=f[aa+24>>2];f[r+28>>2]=f[aa+28>>2];f[r+32>>2]=f[aa+32>>2];ca=f[aa+36>>2]|0;f[r+36>>2]=ca;f[r+40>>2]=da;da=r+48|0;A=r+44|0;f[A>>2]=da;f[da>>2]=0;f[r+52>>2]=0;if(ca|0){da=ca+12|0;f[da>>2]=(f[da>>2]|0)+1}if((f[Z>>2]|0)<3){Z=f[aa+44>>2]|0;da=f[A>>2]|0;f[da>>2]=f[Z>>2];f[da+4>>2]=f[Z+4>>2];break}else{f[ja>>2]=0;WO(r,aa);break}}else DJ(r,la,-1);while(0);do if((HJ(d)|0)==65536){la=f[d+4>>2]|0;f[s>>2]=f[la>>2];aa=s+4|0;ja=la+4|0;f[aa>>2]=f[ja>>2];Z=s+8|0;f[Z>>2]=f[la+8>>2];f[s+12>>2]=f[la+12>>2];f[s+16>>2]=f[la+16>>2];f[s+20>>2]=f[la+20>>2];f[s+24>>2]=f[la+24>>2];f[s+28>>2]=f[la+28>>2];f[s+32>>2]=f[la+32>>2];da=f[la+36>>2]|0;f[s+36>>2]=da;f[s+40>>2]=Z;Z=s+48|0;A=s+44|0;f[A>>2]=Z;f[Z>>2]=0;f[s+52>>2]=0;if(da|0){Z=da+12|0;f[Z>>2]=(f[Z>>2]|0)+1}if((f[ja>>2]|0)<3){ja=f[la+44>>2]|0;Z=f[A>>2]|0;f[Z>>2]=f[ja>>2];f[Z+4>>2]=f[ja+4>>2];break}else{f[aa>>2]=0;WO(s,la);break}}else DJ(s,d,-1);while(0);do if((HJ(e)|0)==65536){d=f[e+4>>2]|0;f[t>>2]=f[d>>2];la=t+4|0;aa=d+4|0;f[la>>2]=f[aa>>2];ja=t+8|0;f[ja>>2]=f[d+8>>2];f[t+12>>2]=f[d+12>>2];f[t+16>>2]=f[d+16>>2];f[t+20>>2]=f[d+20>>2];f[t+24>>2]=f[d+24>>2];f[t+28>>2]=f[d+28>>2];f[t+32>>2]=f[d+32>>2];Z=f[d+36>>2]|0;f[t+36>>2]=Z;f[t+40>>2]=ja;ja=t+48|0;A=t+44|0;f[A>>2]=ja;f[ja>>2]=0;f[t+52>>2]=0;if(Z|0){ja=Z+12|0;f[ja>>2]=(f[ja>>2]|0)+1}if((f[aa>>2]|0)<3){aa=f[d+44>>2]|0;ja=f[A>>2]|0;f[ja>>2]=f[aa>>2];f[ja+4>>2]=f[aa+4>>2];break}else{f[la>>2]=0;WO(t,d);break}}else DJ(t,e,-1);while(0);e=h?f[k>>2]|0:$;$=f[(h?g:g+(_<<2)|0)>>2]|0;if(Y){f[v>>2]=q;f[v+4>>2]=s;f[v+8>>2]=t;f[v+12>>2]=0;FN(x,v,w,-1);Y=f[x+20>>2]|0;_=B>>>0>>0?B:Y;g=(X(X(f[k>>2]|0,M?1:2)|0,_)|0)+32|0;if((f[ia>>2]|0)>>>0>>0){h=f[o>>2]|0;if((h|0)!=(ba|0)){if(h|0)HQa(h);f[o>>2]=ba;f[ia>>2]=1032}f[ia>>2]=g;if(g>>>0>1032){h=FQa(g)|0;f[o>>2]=h;ma=h}else ma=ba}else{f[ia>>2]=g;ma=f[o>>2]|0}g=ma+(X(f[k>>2]|0,_)|0)+15&-16;_G(r,f[q>>2]&4095,ma,_);h=x+16|0;d=w+4|0;la=w+8|0;aa=z+4|0;c:do if(!Y){ja=0;while(1){if(ja>>>0>=(f[h>>2]|0)>>>0)break c;GN(x)|0;ja=ja+1|0}}else{ja=0;while(1){if(ja>>>0>=(f[h>>2]|0)>>>0)break c;A=f[w>>2]|0;if(M){Z=0;da=A;ca=f[d>>2]|0;do{ea=Y-Z|0;G=ea>>>0>_>>>0?_:ea;ea=X(G,e)|0;ri[$&127](da,0,ma,0,ca,0,ea,1,0);ea=X(f[k>>2]|0,G)|0;da=(f[w>>2]|0)+ea|0;f[w>>2]=da;ca=(f[d>>2]|0)+ea|0;f[d>>2]=ca;Z=Z+_|0}while(Y>>>0>Z>>>0)}else{Z=0;ca=A;do{da=Y-Z|0;ea=da>>>0>_>>>0?_:da;da=X(ea,e)|0;ri[$&127](ca,0,ma,0,g,0,da,1,0);da=f[la>>2]|0;G=f[d>>2]|0;f[z>>2]=ea;f[aa>>2]=1;qi[ka&255](g,0,da,0,G,0,z,k);f[la>>2]=(f[la>>2]|0)+ea;G=X(f[k>>2]|0,ea)|0;ca=(f[w>>2]|0)+G|0;f[w>>2]=ca;f[d>>2]=(f[d>>2]|0)+G;Z=Z+_|0}while(Y>>>0>Z>>>0)}GN(x)|0;ja=ja+1|0}}while(0)}else{f[v>>2]=q;f[v+4>>2]=r;f[v+8>>2]=s;f[v+12>>2]=t;f[v+16>>2]=0;FN(x,v,w,-1);v=f[x+20>>2]|0;if((X(v,e)|0)<0)na=2147483647/(e|0)|0;else na=v;do if(!M){Y=B>>>0>>0?B:na;_=X(f[k>>2]|0,Y)|0;if((f[ia>>2]|0)>>>0>=_>>>0){f[ia>>2]=_;oa=f[o>>2]|0;pa=Y;break}d=f[o>>2]|0;if((d|0)!=(ba|0)){if(d|0)HQa(d);f[o>>2]=ba;f[ia>>2]=1032}f[ia>>2]=_;if(_>>>0>1032){d=FQa(_)|0;f[o>>2]=d;oa=d;pa=Y}else{oa=ba;pa=Y}}else{oa=0;pa=na}while(0);na=x+16|0;B=(v|0)==0;Y=w+4|0;d=w+8|0;_=w+12|0;la=y+4|0;z=0;while(1){if(z>>>0>=(f[na>>2]|0)>>>0)break;d:do if(!B){g=f[w>>2]|0;aa=f[Y>>2]|0;if(!M){ma=0;h=g;ja=aa;while(1){Z=v-ma|0;ca=Z>>>0>pa>>>0?pa:Z;Z=X(ca,e)|0;ri[$&127](h,0,ja,0,oa,0,Z,1,0);Z=f[_>>2]|0;A=f[d>>2]|0;f[y>>2]=ca;f[la>>2]=1;qi[ka&255](oa,0,Z,0,A,0,y,k);f[_>>2]=(f[_>>2]|0)+ca;A=X(f[k>>2]|0,ca)|0;h=(f[w>>2]|0)+A|0;f[w>>2]=h;ja=(f[Y>>2]|0)+A|0;f[Y>>2]=ja;f[d>>2]=(f[d>>2]|0)+A;ma=ma+pa|0;if(v>>>0<=ma>>>0)break d}}ma=0;ja=g;h=aa;A=f[d>>2]|0;do{ca=v-ma|0;Z=ca>>>0>pa>>>0?pa:ca;ca=X(Z,e)|0;ri[$&127](ja,0,h,0,A,0,ca,1,0);ca=X(f[k>>2]|0,Z)|0;ja=(f[w>>2]|0)+ca|0;f[w>>2]=ja;h=(f[Y>>2]|0)+ca|0;f[Y>>2]=h;A=(f[d>>2]|0)+ca|0;f[d>>2]=A;ma=ma+pa|0}while(v>>>0>ma>>>0)}while(0);GN(x)|0;z=z+1|0}}z=t+36|0;x=f[z>>2]|0;if(x|0?(v=x+12|0,x=f[v>>2]|0,f[v>>2]=x+-1,(x|0)==1):0)XO(t);f[z>>2]=0;z=t+16|0;x=t+4|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;if((f[x>>2]|0)>0){z=f[t+40>>2]|0;v=0;do{f[z+(v<<2)>>2]=0;v=v+1|0}while((v|0)<(f[x>>2]|0))}x=f[t+44>>2]|0;if((x|0)!=(t+48|0))dX(x);x=s+36|0;t=f[x>>2]|0;if(t|0?(v=t+12|0,t=f[v>>2]|0,f[v>>2]=t+-1,(t|0)==1):0)XO(s);f[x>>2]=0;x=s+16|0;t=s+4|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;if((f[t>>2]|0)>0){x=f[s+40>>2]|0;v=0;do{f[x+(v<<2)>>2]=0;v=v+1|0}while((v|0)<(f[t>>2]|0))}t=f[s+44>>2]|0;if((t|0)!=(s+48|0))dX(t);t=r+36|0;s=f[t>>2]|0;if(s|0?(v=s+12|0,s=f[v>>2]|0,f[v>>2]=s+-1,(s|0)==1):0)XO(r);f[t>>2]=0;t=r+16|0;s=r+4|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;if((f[s>>2]|0)>0){t=f[r+40>>2]|0;v=0;do{f[t+(v<<2)>>2]=0;v=v+1|0}while((v|0)<(f[s>>2]|0))}s=f[r+44>>2]|0;if((s|0)!=(r+48|0))dX(s);s=q+36|0;r=f[s>>2]|0;do if(r|0){v=r+12|0;t=f[v>>2]|0;f[v>>2]=t+-1;if((t|0)!=1)break;XO(q)}while(0);f[s>>2]=0;s=q+16|0;r=q+4|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if((f[r>>2]|0)>0){s=f[q+40>>2]|0;t=0;do{f[s+(t<<2)>>2]=0;t=t+1|0}while((t|0)<(f[r>>2]|0))}r=f[q+44>>2]|0;if((r|0)!=(q+48|0))dX(r);r=f[o>>2]|0;if((r|0)!=(ba|0)){if(r|0)HQa(r);f[o>>2]=ba;f[ia>>2]=1032}u=j;return}function cH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+16|0;g=e+8|0;h=e;yV(g,31140);f[h>>2]=107;bH(a,b,c,d,h,1,10);if(!(f[g+4>>2]|0)){u=e;return}u=e;return}function dH(a,c,d,e,f,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=i+-1|0;if(!i)return;i=h+-4|0;if((h|0)<4){if((h|0)>0){k=d;l=f;m=a;n=j}else return;while(1){o=0;do{b[l+o>>0]=b[k+o>>0]|b[m+o>>0];o=o+1|0}while((o|0)!=(h|0));if(!n)break;else{k=k+e|0;l=l+g|0;m=m+c|0;n=n+-1|0}}return}n=h&-4;if((n|0)<(h|0)){p=d;q=f;r=a;s=j}else{m=d;d=f;f=a;a=j;while(1){j=0;do{l=j|1;k=b[m+l>>0]|b[f+l>>0];b[d+j>>0]=b[m+j>>0]|b[f+j>>0];b[d+l>>0]=k;k=j|2;l=j|3;o=b[m+l>>0]|b[f+l>>0];b[d+k>>0]=b[m+k>>0]|b[f+k>>0];b[d+l>>0]=o;j=j+4|0}while((j|0)<=(i|0));if(!a)break;else{m=m+e|0;d=d+g|0;f=f+c|0;a=a+-1|0}}return}while(1){a=0;do{f=a|1;d=b[p+f>>0]|b[r+f>>0];b[q+a>>0]=b[p+a>>0]|b[r+a>>0];b[q+f>>0]=d;d=a|2;f=a|3;m=b[p+f>>0]|b[r+f>>0];b[q+d>>0]=b[p+d>>0]|b[r+d>>0];b[q+f>>0]=m;a=a+4|0}while((a|0)<=(i|0));t=n;do{b[q+t>>0]=b[p+t>>0]|b[r+t>>0];t=t+1|0}while((t|0)!=(h|0));if(!s)break;else{p=p+e|0;q=q+g|0;r=r+c|0;s=s+-1|0}}return}function eH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+16|0;g=e+8|0;h=e;yV(g,31160);f[h>>2]=108;bH(a,b,c,d,h,1,11);if(!(f[g+4>>2]|0)){u=e;return}u=e;return}function fH(a,c,d,e,f,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=i+-1|0;if(!i)return;i=h+-4|0;if((h|0)<4){if((h|0)>0){k=d;l=f;m=a;n=j}else return;while(1){o=0;do{b[l+o>>0]=b[k+o>>0]^b[m+o>>0];o=o+1|0}while((o|0)!=(h|0));if(!n)break;else{k=k+e|0;l=l+g|0;m=m+c|0;n=n+-1|0}}return}n=h&-4;if((n|0)<(h|0)){p=d;q=f;r=a;s=j}else{m=d;d=f;f=a;a=j;while(1){j=0;do{l=j|1;k=b[m+l>>0]^b[f+l>>0];b[d+j>>0]=b[m+j>>0]^b[f+j>>0];b[d+l>>0]=k;k=j|2;l=j|3;o=b[m+l>>0]^b[f+l>>0];b[d+k>>0]=b[m+k>>0]^b[f+k>>0];b[d+l>>0]=o;j=j+4|0}while((j|0)<=(i|0));if(!a)break;else{m=m+e|0;d=d+g|0;f=f+c|0;a=a+-1|0}}return}while(1){a=0;do{f=a|1;d=b[p+f>>0]^b[r+f>>0];b[q+a>>0]=b[p+a>>0]^b[r+a>>0];b[q+f>>0]=d;d=a|2;f=a|3;m=b[p+f>>0]^b[r+f>>0];b[q+d>>0]=b[p+d>>0]^b[r+d>>0];b[q+f>>0]=m;a=a+4|0}while((a|0)<=(i|0));t=n;do{b[q+t>>0]=b[p+t>>0]^b[r+t>>0];t=t+1|0}while((t|0)!=(h|0));if(!s)break;else{p=p+e|0;q=q+g|0;r=r+c|0;s=s+-1|0}}return}function gH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;e=d+8|0;g=d;yV(e,31180);f[g>>2]=109;bH(a,a,b,c,g,1,12);if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function hH(a,c,d,e,f,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=i+-1|0;if(!i)return;i=h+-4|0;if((h|0)<4){if((h|0)>0){k=f;l=a;m=j}else return;while(1){e=0;do{b[k+e>>0]=~b[l+e>>0];e=e+1|0}while((e|0)!=(h|0));if(!m)break;else{k=k+g|0;l=l+c|0;m=m+-1|0}}return}m=h&-4;if((m|0)<(h|0)){n=f;o=a;p=j}else{l=f;f=a;a=j;while(1){j=0;do{k=j|1;e=~b[f+k>>0];b[l+j>>0]=~b[f+j>>0];b[l+k>>0]=e;e=j|2;k=j|3;d=~b[f+k>>0];b[l+e>>0]=~b[f+e>>0];b[l+k>>0]=d;j=j+4|0}while((j|0)<=(i|0));if(!a)break;else{l=l+g|0;f=f+c|0;a=a+-1|0}}return}while(1){a=0;do{f=a|1;l=~b[o+f>>0];b[n+a>>0]=~b[o+a>>0];b[n+f>>0]=l;l=a|2;f=a|3;j=~b[o+f>>0];b[n+l>>0]=~b[o+l>>0];b[n+f>>0]=j;a=a+4|0}while((a|0)<=(i|0));q=m;do{b[n+q>>0]=~b[o+q>>0];q=q+1|0}while((q|0)!=(h|0));if(!p)break;else{n=n+g|0;o=o+c|0;p=p+-1|0}}return}function iH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;yV(e,31200);bH(a,b,c,BK()|0,31220,0,14);if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function jH(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;vH(a,b,c,d,e,f,g,h);return}function kH(a,c,d,e,f,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;j=i+-1|0;if(!i)return;i=h+-4|0;if((h|0)<4){if((h|0)>0){k=d;l=f;m=a;n=j}else return;while(1){o=0;do{p=b[m+o>>0]|0;q=b[k+o>>0]|0;b[l+o>>0]=p<<24>>24>24?q:p;o=o+1|0}while((o|0)!=(h|0));if(!n)break;else{k=k+e|0;l=l+g|0;m=m+c|0;n=n+-1|0}}return}n=h&-4;if((n|0)<(h|0)){r=d;s=f;t=a;u=j}else{m=d;d=f;f=a;a=j;while(1){j=0;do{l=b[f+j>>0]|0;k=b[m+j>>0]|0;o=j|1;p=b[f+o>>0]|0;q=b[m+o>>0]|0;b[d+j>>0]=l<<24>>24>24?k:l;b[d+o>>0]=p<<24>>24>24?q:p;p=j|2;q=b[f+p>>0]|0;o=b[m+p>>0]|0;l=j|3;k=b[f+l>>0]|0;v=b[m+l>>0]|0;b[d+p>>0]=q<<24>>24>24?o:q;b[d+l>>0]=k<<24>>24>24?v:k;j=j+4|0}while((j|0)<=(i|0));if(!a)break;else{m=m+e|0;d=d+g|0;f=f+c|0;a=a+-1|0}}return}while(1){a=0;do{f=b[t+a>>0]|0;d=b[r+a>>0]|0;m=a|1;j=b[t+m>>0]|0;k=b[r+m>>0]|0;b[s+a>>0]=f<<24>>24>24?d:f;b[s+m>>0]=j<<24>>24>24?k:j;j=a|2;k=b[t+j>>0]|0;m=b[r+j>>0]|0;f=a|3;d=b[t+f>>0]|0;v=b[r+f>>0]|0;b[s+j>>0]=k<<24>>24>24?m:k;b[s+f>>0]=d<<24>>24>24?v:d;a=a+4|0}while((a|0)<=(i|0));w=n;do{a=b[t+w>>0]|0;d=b[r+w>>0]|0;b[s+w>>0]=a<<24>>24>24?d:a;w=w+1|0}while((w|0)!=(h|0));if(!u)break;else{r=r+e|0;s=s+g|0;t=t+c|0;u=u+-1|0}}return}function lH(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;uH(a,b,c,d,e,f,g,h);return}function mH(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;tH(a,b,c,d,e,f,g,h);return}function nH(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;sH(a,b,c,d,e,f,g,h);return}function oH(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;rH(a,b,c,d,e,f,g,h);return}function pH(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;qH(a,b,c,d,e,f,g,h);return}function qH(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0.0,r=0.0,s=0.0,t=0.0;i=h+-1|0;if(!h)return;h=g+-4|0;if((g|0)<4){j=(g|0)>0;k=c;l=e;m=a;n=i;while(1){if(j){o=0;do{q=+p[m+(o<<3)>>3];r=+p[k+(o<<3)>>3];p[l+(o<<3)>>3]=q>3];r=+p[l+(i<<3)>>3];k=i|1;s=+p[e+(k<<3)>>3];t=+p[l+(k<<3)>>3];p[c+(i<<3)>>3]=q>3]=s>3];t=+p[l+(k<<3)>>3];j=i|3;q=+p[e+(j<<3)>>3];r=+p[l+(j<<3)>>3];p[c+(k<<3)>>3]=s>3]=q>3];r=+p[l+(i<<3)>>3];p[c+(i<<3)>>3]=q0;k=c;l=e;m=a;o=i;while(1){if(j){p=0;do{q=+n[m+(p<<2)>>2];r=+n[k+(p<<2)>>2];n[l+(p<<2)>>2]=q>2];r=+n[l+(i<<2)>>2];k=i|1;s=+n[e+(k<<2)>>2];t=+n[l+(k<<2)>>2];n[c+(i<<2)>>2]=q>2]=s>2];t=+n[l+(k<<2)>>2];j=i|3;q=+n[e+(j<<2)>>2];r=+n[l+(j<<2)>>2];n[c+(k<<2)>>2]=s>2]=q>2];r=+n[l+(i<<2)>>2];n[c+(i<<2)>>2]=q0;l=c;m=e;n=a;o=j;while(1){if(k){p=0;do{q=f[n+(p<<2)>>2]|0;r=f[l+(p<<2)>>2]|0;f[m+(p<<2)>>2]=(q|0)<(r|0)?r:q;p=p+1|0}while((p|0)!=(h|0))}if(!o)break;else{l=l+d|0;m=m+g|0;n=n+b|0;o=o+-1|0}}return}o=h&-4;n=(o|0)<(h|0);m=c;c=e;e=a;a=j;while(1){j=0;do{l=f[e+(j<<2)>>2]|0;k=f[m+(j<<2)>>2]|0;p=j|1;q=f[e+(p<<2)>>2]|0;r=f[m+(p<<2)>>2]|0;f[c+(j<<2)>>2]=(l|0)<(k|0)?k:l;f[c+(p<<2)>>2]=(q|0)<(r|0)?r:q;q=j|2;r=f[e+(q<<2)>>2]|0;p=f[m+(q<<2)>>2]|0;l=j|3;k=f[e+(l<<2)>>2]|0;s=f[m+(l<<2)>>2]|0;f[c+(q<<2)>>2]=(r|0)<(p|0)?p:r;f[c+(l<<2)>>2]=(k|0)<(s|0)?s:k;j=j+4|0}while((j|0)<=(i|0));if(n){j=o;do{k=f[e+(j<<2)>>2]|0;s=f[m+(j<<2)>>2]|0;f[c+(j<<2)>>2]=(k|0)<(s|0)?s:k;j=j+1|0}while((j|0)!=(h|0))}if(!a)break;else{m=m+d|0;c=c+g|0;e=e+b|0;a=a+-1|0}}return}function tH(a,b,c,e,f,g,h,i){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;j=i+-1|0;if(!i)return;i=h+-4|0;if((h|0)<4){k=(h|0)>0;l=c;m=f;n=a;o=j;while(1){if(k){p=0;do{q=d[n+(p<<1)>>1]|0;r=d[l+(p<<1)>>1]|0;d[m+(p<<1)>>1]=q<<16>>16>16?r:q;p=p+1|0}while((p|0)!=(h|0))}if(!o)break;else{l=l+e|0;m=m+g|0;n=n+b|0;o=o+-1|0}}return}o=h&-4;n=(o|0)<(h|0);m=c;c=f;f=a;a=j;while(1){j=0;do{l=d[f+(j<<1)>>1]|0;k=d[m+(j<<1)>>1]|0;p=j|1;q=d[f+(p<<1)>>1]|0;r=d[m+(p<<1)>>1]|0;d[c+(j<<1)>>1]=l<<16>>16>16?k:l;d[c+(p<<1)>>1]=q<<16>>16>16?r:q;q=j|2;r=d[f+(q<<1)>>1]|0;p=d[m+(q<<1)>>1]|0;l=j|3;k=d[f+(l<<1)>>1]|0;s=d[m+(l<<1)>>1]|0;d[c+(q<<1)>>1]=r<<16>>16>16?p:r;d[c+(l<<1)>>1]=k<<16>>16>16?s:k;j=j+4|0}while((j|0)<=(i|0));if(n){j=o;do{k=d[f+(j<<1)>>1]|0;s=d[m+(j<<1)>>1]|0;d[c+(j<<1)>>1]=k<<16>>16>16?s:k;j=j+1|0}while((j|0)!=(h|0))}if(!a)break;else{m=m+e|0;c=c+g|0;f=f+b|0;a=a+-1|0}}return}function uH(a,b,c,e,f,g,h,i){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;j=i+-1|0;if(!i)return;i=h+-4|0;if((h|0)<4){k=(h|0)>0;l=c;m=f;n=a;o=j;while(1){if(k){p=0;do{q=d[n+(p<<1)>>1]|0;r=d[l+(p<<1)>>1]|0;d[m+(p<<1)>>1]=(q&65535)<(r&65535)?r:q;p=p+1|0}while((p|0)!=(h|0))}if(!o)break;else{l=l+e|0;m=m+g|0;n=n+b|0;o=o+-1|0}}return}o=h&-4;n=(o|0)<(h|0);m=c;c=f;f=a;a=j;while(1){j=0;do{l=d[f+(j<<1)>>1]|0;k=d[m+(j<<1)>>1]|0;p=j|1;q=d[f+(p<<1)>>1]|0;r=d[m+(p<<1)>>1]|0;d[c+(j<<1)>>1]=(l&65535)<(k&65535)?k:l;d[c+(p<<1)>>1]=(q&65535)<(r&65535)?r:q;q=j|2;r=d[f+(q<<1)>>1]|0;p=d[m+(q<<1)>>1]|0;l=j|3;k=d[f+(l<<1)>>1]|0;s=d[m+(l<<1)>>1]|0;d[c+(q<<1)>>1]=(r&65535)<(p&65535)?p:r;d[c+(l<<1)>>1]=(k&65535)<(s&65535)?s:k;j=j+4|0}while((j|0)<=(i|0));if(n){j=o;do{k=d[f+(j<<1)>>1]|0;s=d[m+(j<<1)>>1]|0;d[c+(j<<1)>>1]=(k&65535)<(s&65535)?s:k;j=j+1|0}while((j|0)!=(h|0))}if(!a)break;else{m=m+e|0;c=c+g|0;f=f+b|0;a=a+-1|0}}return}function vH(a,c,d,e,f,g,i,j){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=j+-1|0;if(!j)return;j=i+-4|0;if((i|0)<4){l=(i|0)>0;m=d;n=f;o=a;p=k;while(1){if(l){q=0;do{r=h[o+q>>0]|0;b[n+q>>0]=(h[243744+(256-r+(h[m+q>>0]|0))>>0]|0)+r;q=q+1|0}while((q|0)!=(i|0))}if(!p)break;else{m=m+e|0;n=n+g|0;o=o+c|0;p=p+-1|0}}return}p=i&-4;o=(p|0)<(i|0);n=d;d=f;f=a;a=k;while(1){k=0;do{m=h[f+k>>0]|0;l=k|1;q=h[f+l>>0]|0;r=(h[243744+(256-q+(h[n+l>>0]|0))>>0]|0)+q&255;b[d+k>>0]=(h[243744+(256-m+(h[n+k>>0]|0))>>0]|0)+m;b[d+l>>0]=r;r=k|2;l=h[f+r>>0]|0;m=k|3;q=h[f+m>>0]|0;s=(h[243744+(256-q+(h[n+m>>0]|0))>>0]|0)+q&255;b[d+r>>0]=(h[243744+(256-l+(h[n+r>>0]|0))>>0]|0)+l;b[d+m>>0]=s;k=k+4|0}while((k|0)<=(j|0));if(o){k=p;do{s=h[f+k>>0]|0;b[d+k>>0]=(h[243744+(256-s+(h[n+k>>0]|0))>>0]|0)+s;k=k+1|0}while((k|0)!=(i|0))}if(!a)break;else{n=n+e|0;d=d+g|0;f=f+c|0;a=a+-1|0}}return}function wH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;yV(e,31252);bH(a,b,c,BK()|0,31272,0,13);if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function xH(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;JH(a,b,c,d,e,f,g,h);return}function yH(a,c,d,e,f,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;j=i+-1|0;if(!i)return;i=h+-4|0;if((h|0)<4){if((h|0)>0){k=d;l=f;m=a;n=j}else return;while(1){o=0;do{p=b[m+o>>0]|0;q=b[k+o>>0]|0;b[l+o>>0]=q<<24>>24>24?q:p;o=o+1|0}while((o|0)!=(h|0));if(!n)break;else{k=k+e|0;l=l+g|0;m=m+c|0;n=n+-1|0}}return}n=h&-4;if((n|0)<(h|0)){r=d;s=f;t=a;u=j}else{m=d;d=f;f=a;a=j;while(1){j=0;do{l=b[f+j>>0]|0;k=b[m+j>>0]|0;o=j|1;p=b[f+o>>0]|0;q=b[m+o>>0]|0;b[d+j>>0]=k<<24>>24>24?k:l;b[d+o>>0]=q<<24>>24>24?q:p;p=j|2;q=b[f+p>>0]|0;o=b[m+p>>0]|0;l=j|3;k=b[f+l>>0]|0;v=b[m+l>>0]|0;b[d+p>>0]=o<<24>>24>24?o:q;b[d+l>>0]=v<<24>>24>24?v:k;j=j+4|0}while((j|0)<=(i|0));if(!a)break;else{m=m+e|0;d=d+g|0;f=f+c|0;a=a+-1|0}}return}while(1){a=0;do{f=b[t+a>>0]|0;d=b[r+a>>0]|0;m=a|1;j=b[t+m>>0]|0;k=b[r+m>>0]|0;b[s+a>>0]=d<<24>>24>24?d:f;b[s+m>>0]=k<<24>>24>24?k:j;j=a|2;k=b[t+j>>0]|0;m=b[r+j>>0]|0;f=a|3;d=b[t+f>>0]|0;v=b[r+f>>0]|0;b[s+j>>0]=m<<24>>24>24?m:k;b[s+f>>0]=v<<24>>24>24?v:d;a=a+4|0}while((a|0)<=(i|0));w=n;do{a=b[t+w>>0]|0;d=b[r+w>>0]|0;b[s+w>>0]=d<<24>>24>24?d:a;w=w+1|0}while((w|0)!=(h|0));if(!u)break;else{r=r+e|0;s=s+g|0;t=t+c|0;u=u+-1|0}}return}function zH(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;IH(a,b,c,d,e,f,g,h);return}function AH(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;HH(a,b,c,d,e,f,g,h);return}function BH(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;GH(a,b,c,d,e,f,g,h);return}function CH(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;FH(a,b,c,d,e,f,g,h);return}function DH(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;EH(a,b,c,d,e,f,g,h);return}function EH(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0.0,r=0.0,s=0.0,t=0.0;i=h+-1|0;if(!h)return;h=g+-4|0;if((g|0)<4){j=(g|0)>0;k=c;l=e;m=a;n=i;while(1){if(j){o=0;do{q=+p[m+(o<<3)>>3];r=+p[k+(o<<3)>>3];p[l+(o<<3)>>3]=r>3];r=+p[l+(i<<3)>>3];k=i|1;s=+p[e+(k<<3)>>3];t=+p[l+(k<<3)>>3];p[c+(i<<3)>>3]=r>3]=t>3];t=+p[l+(k<<3)>>3];j=i|3;q=+p[e+(j<<3)>>3];r=+p[l+(j<<3)>>3];p[c+(k<<3)>>3]=t>3]=r>3];r=+p[l+(i<<3)>>3];p[c+(i<<3)>>3]=r0;k=c;l=e;m=a;o=i;while(1){if(j){p=0;do{q=+n[m+(p<<2)>>2];r=+n[k+(p<<2)>>2];n[l+(p<<2)>>2]=r>2];r=+n[l+(i<<2)>>2];k=i|1;s=+n[e+(k<<2)>>2];t=+n[l+(k<<2)>>2];n[c+(i<<2)>>2]=r>2]=t>2];t=+n[l+(k<<2)>>2];j=i|3;q=+n[e+(j<<2)>>2];r=+n[l+(j<<2)>>2];n[c+(k<<2)>>2]=t>2]=r>2];r=+n[l+(i<<2)>>2];n[c+(i<<2)>>2]=r0;l=c;m=e;n=a;o=j;while(1){if(k){p=0;do{q=f[n+(p<<2)>>2]|0;r=f[l+(p<<2)>>2]|0;f[m+(p<<2)>>2]=(r|0)<(q|0)?r:q;p=p+1|0}while((p|0)!=(h|0))}if(!o)break;else{l=l+d|0;m=m+g|0;n=n+b|0;o=o+-1|0}}return}o=h&-4;n=(o|0)<(h|0);m=c;c=e;e=a;a=j;while(1){j=0;do{l=f[e+(j<<2)>>2]|0;k=f[m+(j<<2)>>2]|0;p=j|1;q=f[e+(p<<2)>>2]|0;r=f[m+(p<<2)>>2]|0;f[c+(j<<2)>>2]=(k|0)<(l|0)?k:l;f[c+(p<<2)>>2]=(r|0)<(q|0)?r:q;q=j|2;r=f[e+(q<<2)>>2]|0;p=f[m+(q<<2)>>2]|0;l=j|3;k=f[e+(l<<2)>>2]|0;s=f[m+(l<<2)>>2]|0;f[c+(q<<2)>>2]=(p|0)<(r|0)?p:r;f[c+(l<<2)>>2]=(s|0)<(k|0)?s:k;j=j+4|0}while((j|0)<=(i|0));if(n){j=o;do{k=f[e+(j<<2)>>2]|0;s=f[m+(j<<2)>>2]|0;f[c+(j<<2)>>2]=(s|0)<(k|0)?s:k;j=j+1|0}while((j|0)!=(h|0))}if(!a)break;else{m=m+d|0;c=c+g|0;e=e+b|0;a=a+-1|0}}return}function HH(a,b,c,e,f,g,h,i){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;j=i+-1|0;if(!i)return;i=h+-4|0;if((h|0)<4){k=(h|0)>0;l=c;m=f;n=a;o=j;while(1){if(k){p=0;do{q=d[n+(p<<1)>>1]|0;r=d[l+(p<<1)>>1]|0;d[m+(p<<1)>>1]=r<<16>>16>16?r:q;p=p+1|0}while((p|0)!=(h|0))}if(!o)break;else{l=l+e|0;m=m+g|0;n=n+b|0;o=o+-1|0}}return}o=h&-4;n=(o|0)<(h|0);m=c;c=f;f=a;a=j;while(1){j=0;do{l=d[f+(j<<1)>>1]|0;k=d[m+(j<<1)>>1]|0;p=j|1;q=d[f+(p<<1)>>1]|0;r=d[m+(p<<1)>>1]|0;d[c+(j<<1)>>1]=k<<16>>16>16?k:l;d[c+(p<<1)>>1]=r<<16>>16>16?r:q;q=j|2;r=d[f+(q<<1)>>1]|0;p=d[m+(q<<1)>>1]|0;l=j|3;k=d[f+(l<<1)>>1]|0;s=d[m+(l<<1)>>1]|0;d[c+(q<<1)>>1]=p<<16>>16>16?p:r;d[c+(l<<1)>>1]=s<<16>>16>16?s:k;j=j+4|0}while((j|0)<=(i|0));if(n){j=o;do{k=d[f+(j<<1)>>1]|0;s=d[m+(j<<1)>>1]|0;d[c+(j<<1)>>1]=s<<16>>16>16?s:k;j=j+1|0}while((j|0)!=(h|0))}if(!a)break;else{m=m+e|0;c=c+g|0;f=f+b|0;a=a+-1|0}}return}function IH(a,b,c,e,f,g,h,i){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;j=i+-1|0;if(!i)return;i=h+-4|0;if((h|0)<4){k=(h|0)>0;l=c;m=f;n=a;o=j;while(1){if(k){p=0;do{q=d[n+(p<<1)>>1]|0;r=d[l+(p<<1)>>1]|0;d[m+(p<<1)>>1]=(r&65535)<(q&65535)?r:q;p=p+1|0}while((p|0)!=(h|0))}if(!o)break;else{l=l+e|0;m=m+g|0;n=n+b|0;o=o+-1|0}}return}o=h&-4;n=(o|0)<(h|0);m=c;c=f;f=a;a=j;while(1){j=0;do{l=d[f+(j<<1)>>1]|0;k=d[m+(j<<1)>>1]|0;p=j|1;q=d[f+(p<<1)>>1]|0;r=d[m+(p<<1)>>1]|0;d[c+(j<<1)>>1]=(k&65535)<(l&65535)?k:l;d[c+(p<<1)>>1]=(r&65535)<(q&65535)?r:q;q=j|2;r=d[f+(q<<1)>>1]|0;p=d[m+(q<<1)>>1]|0;l=j|3;k=d[f+(l<<1)>>1]|0;s=d[m+(l<<1)>>1]|0;d[c+(q<<1)>>1]=(p&65535)<(r&65535)?p:r;d[c+(l<<1)>>1]=(s&65535)<(k&65535)?s:k;j=j+4|0}while((j|0)<=(i|0));if(n){j=o;do{k=d[f+(j<<1)>>1]|0;s=d[m+(j<<1)>>1]|0;d[c+(j<<1)>>1]=(s&65535)<(k&65535)?s:k;j=j+1|0}while((j|0)!=(h|0))}if(!a)break;else{m=m+e|0;c=c+g|0;f=f+b|0;a=a+-1|0}}return}function JH(a,c,d,e,f,g,i,j){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=j+-1|0;if(!j)return;j=i+-4|0;if((i|0)<4){l=(i|0)>0;m=d;n=f;o=a;p=k;while(1){if(l){q=0;do{r=h[o+q>>0]|0;b[n+q>>0]=r-(h[243744+((r|256)-(h[m+q>>0]|0))>>0]|0);q=q+1|0}while((q|0)!=(i|0))}if(!p)break;else{m=m+e|0;n=n+g|0;o=o+c|0;p=p+-1|0}}return}p=i&-4;o=(p|0)<(i|0);n=d;d=f;f=a;a=k;while(1){k=0;do{m=h[f+k>>0]|0;l=k|1;q=h[f+l>>0]|0;r=q-(h[243744+((q|256)-(h[n+l>>0]|0))>>0]|0)&255;b[d+k>>0]=m-(h[243744+((m|256)-(h[n+k>>0]|0))>>0]|0);b[d+l>>0]=r;r=k|2;l=h[f+r>>0]|0;m=k|3;q=h[f+m>>0]|0;s=q-(h[243744+((q|256)-(h[n+m>>0]|0))>>0]|0)&255;b[d+r>>0]=l-(h[243744+((l|256)-(h[n+r>>0]|0))>>0]|0);b[d+m>>0]=s;k=k+4|0}while((k|0)<=(j|0));if(o){k=p;do{s=h[f+k>>0]|0;b[d+k>>0]=s-(h[243744+((s|256)-(h[n+k>>0]|0))>>0]|0);k=k+1|0}while((k|0)!=(i|0))}if(!a)break;else{n=n+e|0;d=d+g|0;f=f+c|0;a=a+-1|0}}return}function KH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+64|0;e=d+48|0;g=d+32|0;h=d+16|0;i=d;yV(e,31304);j=g+8|0;f[j>>2]=0;f[j+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=c;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=b;bH(h,i,g,BK()|0,31220,0,14);if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function LH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+64|0;e=d+48|0;g=d+32|0;h=d+16|0;i=d;yV(e,31324);j=g+8|0;f[j>>2]=0;f[j+4>>2]=0;f[g>>2]=33619968;f[g+4>>2]=c;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=16842752;f[h+4>>2]=a;f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=b;bH(h,i,g,BK()|0,31272,0,13);if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function MH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;g=u;u=u+16|0;h=g;yV(h,31344);NH(a,b,c,d,e,31364,0,0,0);if(!(f[h+4>>2]|0)){u=g;return}u=g;return}function NH(a,c,d,e,g,h,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0.0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0;k=u;u=u+1504|0;l=k+1448|0;m=k+1440|0;n=k+1432|0;o=k+1424|0;q=k;r=k+1368|0;s=k+1232|0;t=k+1168|0;v=k+128|0;w=k+104|0;x=k+88|0;y=k+56|0;z=k+1360|0;A=k+1352|0;B=k+1344|0;C=k+1336|0;D=k+1328|0;E=k+1320|0;F=k+1312|0;G=k+1304|0;H=k+1296|0;J=k+1288|0;K=k+1224|0;L=a;M=c;N=HJ(a)|0;O=HJ(c)|0;P=VJ(e)|0;Q=P^1;R=GJ(a,-1)|0;S=R&7;T=R>>>3&511;U=T+1|0;V=GJ(c,-1)|0;W=V&7;f[m>>2]=W;Y=(V>>>3&511)+1|0;Z=RJ(a,-1)|0;_=RJ(c,-1)|0;$=(Z|0)<3;if($)FJ(n,a,-1);else{f[n>>2]=0;f[n+4>>2]=0}aa=(_|0)<3;if(aa)FJ(o,c,-1);else{f[o>>2]=0;f[o+4>>2]=0}if((RJ(a,-1)|0)<=2?WJ(a,-1)|0:0){FJ(l,a,-1);ba=f[l>>2]|0;ca=(ba|0)==1;if(!ca?(f[l+4>>2]|0)!=1:0)da=0;else if(!((N|0)!=131072&(O|0)==131072)){ea=f[l+4>>2]|0;fa=(ea|0)==1;if(!((ba|0)==(Y|0)&fa|ca&(fa|(ea|0)==(Y|0))))if(ca&(ea|0)==4)da=Y>>>0<5&(GJ(a,-1)|0)==6;else da=0;else da=1}else da=0;ga=da}else ga=0;if((RJ(c,-1)|0)<=2?WJ(c,-1)|0:0){FJ(l,c,-1);da=f[l>>2]|0;ea=(da|0)==1;if(!ea?(f[l+4>>2]|0)!=1:0)ha=0;else if(!((N|0)==131072&(O|0)!=131072)){ca=f[l+4>>2]|0;fa=(ca|0)==1;if(!((da|0)==(U|0)&fa|ea&(fa|(ca|0)==(U|0))))if(ea&(ca|0)==4)ha=U>>>0<5&(GJ(c,-1)|0)==6;else ha=0;else ha=1}else ha=0;ia=ha}else ia=0;do if((N|0)==(O|0)|(T|0)==0?!((R|0)!=(V|0)|Q|aa&($&((f[n>>2]|0)==(f[o>>2]|0)?(f[n+4>>2]|0)==(f[o+4>>2]|0):0))^1):0){if(!(uK(d)|0)?(g|0)<0|(g&7|0)==(S|0):0){if(ga^ia)break}else{if(!(uK(d)|0))break;if(ga^ia|(GJ(d,-1)|0)!=(R|0))break}wK(d,a,R);do if((HJ(a)|0)==65536){ha=f[a+4>>2]|0;f[l>>2]=f[ha>>2];ca=l+4|0;ea=ha+4|0;f[ca>>2]=f[ea>>2];fa=l+8|0;f[fa>>2]=f[ha+8>>2];f[l+12>>2]=f[ha+12>>2];f[l+16>>2]=f[ha+16>>2];f[l+20>>2]=f[ha+20>>2];f[l+24>>2]=f[ha+24>>2];f[l+28>>2]=f[ha+28>>2];f[l+32>>2]=f[ha+32>>2];da=f[ha+36>>2]|0;f[l+36>>2]=da;f[l+40>>2]=fa;fa=l+48|0;ba=l+44|0;f[ba>>2]=fa;f[fa>>2]=0;f[l+52>>2]=0;if(da|0){fa=da+12|0;f[fa>>2]=(f[fa>>2]|0)+1}if((f[ea>>2]|0)<3){ea=f[ha+44>>2]|0;fa=f[ba>>2]|0;f[fa>>2]=f[ea>>2];f[fa+4>>2]=f[ea+4>>2];break}else{f[ca>>2]=0;WO(l,ha);break}}else DJ(l,a,-1);while(0);do if((HJ(c)|0)==65536){ha=f[c+4>>2]|0;f[q>>2]=f[ha>>2];ca=q+4|0;ea=ha+4|0;f[ca>>2]=f[ea>>2];fa=q+8|0;f[fa>>2]=f[ha+8>>2];f[q+12>>2]=f[ha+12>>2];f[q+16>>2]=f[ha+16>>2];f[q+20>>2]=f[ha+20>>2];f[q+24>>2]=f[ha+24>>2];f[q+28>>2]=f[ha+28>>2];f[q+32>>2]=f[ha+32>>2];ba=f[ha+36>>2]|0;f[q+36>>2]=ba;f[q+40>>2]=fa;fa=q+48|0;da=q+44|0;f[da>>2]=fa;f[fa>>2]=0;f[q+52>>2]=0;if(ba|0){fa=ba+12|0;f[fa>>2]=(f[fa>>2]|0)+1}if((f[ea>>2]|0)<3){ea=f[ha+44>>2]|0;fa=f[da>>2]|0;f[fa>>2]=f[ea>>2];f[fa+4>>2]=f[ea+4>>2];break}else{f[ca>>2]=0;WO(q,ha);break}}else DJ(q,c,-1);while(0);do if((HJ(d)|0)==65536){ha=f[d+4>>2]|0;f[r>>2]=f[ha>>2];ca=r+4|0;ea=ha+4|0;f[ca>>2]=f[ea>>2];fa=r+8|0;f[fa>>2]=f[ha+8>>2];f[r+12>>2]=f[ha+12>>2];f[r+16>>2]=f[ha+16>>2];f[r+20>>2]=f[ha+20>>2];f[r+24>>2]=f[ha+24>>2];f[r+28>>2]=f[ha+28>>2];f[r+32>>2]=f[ha+32>>2];da=f[ha+36>>2]|0;f[r+36>>2]=da;f[r+40>>2]=fa;fa=r+48|0;ba=r+44|0;f[ba>>2]=fa;f[fa>>2]=0;f[r+52>>2]=0;if(da|0){fa=da+12|0;f[fa>>2]=(f[fa>>2]|0)+1}if((f[ea>>2]|0)<3){ea=f[ha+44>>2]|0;fa=f[ba>>2]|0;f[fa>>2]=f[ea>>2];f[fa+4>>2]=f[ea+4>>2];ja=r;break}else{f[ca>>2]=0;WO(r,ha);ja=r;break}}else{DJ(r,d,-1);ja=r}while(0);ha=f[l>>2]|0;ca=(ha>>>3&511)+1|0;ea=f[q>>2]|0;fa=f[ja>>2]|0;ba=f[l+12>>2]|0;da=f[l+8>>2]|0;ka=wVa(ba|0,((ba|0)<0)<<31>>31|0,ca|0,0)|0;la=wVa(ka|0,I|0,da|0,((da|0)<0)<<31>>31|0)|0;if((ha&16384&ea&fa|0)!=0?(la|0)==(la|0)&(I|0)==(((la|0)<0)<<31>>31|0):0){ma=1;na=la}else{ma=da;na=X(ba,ca)|0}ca=l+16|0;ba=l+44|0;da=l+48|0;la=q+16|0;fa=q+44|0;ea=q+48|0;ha=r+16|0;ka=r+44|0;oa=r+48|0;ri[f[h+(S<<2)>>2]&127](f[ca>>2]|0,f[da>>2]|0,f[la>>2]|0,f[ea>>2]|0,f[ha>>2]|0,f[oa>>2]|0,na,ma,j);pa=r+36|0;qa=f[pa>>2]|0;if(qa|0?(ra=qa+12|0,qa=f[ra>>2]|0,f[ra>>2]=qa+-1,(qa|0)==1):0)XO(r);f[pa>>2]=0;pa=r+4|0;f[ha>>2]=0;f[ha+4>>2]=0;f[ha+8>>2]=0;f[ha+12>>2]=0;if((f[pa>>2]|0)>0){ha=f[r+40>>2]|0;qa=0;do{f[ha+(qa<<2)>>2]=0;qa=qa+1|0}while((qa|0)<(f[pa>>2]|0))}pa=f[ka>>2]|0;if((pa|0)!=(oa|0))dX(pa);pa=q+36|0;qa=f[pa>>2]|0;if(qa|0?(ha=qa+12|0,qa=f[ha>>2]|0,f[ha>>2]=qa+-1,(qa|0)==1):0)XO(q);f[pa>>2]=0;pa=q+4|0;f[la>>2]=0;f[la+4>>2]=0;f[la+8>>2]=0;f[la+12>>2]=0;if((f[pa>>2]|0)>0){qa=f[q+40>>2]|0;ha=0;do{f[qa+(ha<<2)>>2]=0;ha=ha+1|0}while((ha|0)<(f[pa>>2]|0))}pa=f[fa>>2]|0;if((pa|0)!=(ea|0))dX(pa);pa=l+36|0;ha=f[pa>>2]|0;do if(ha|0){qa=ha+12|0;la=f[qa>>2]|0;f[qa>>2]=la+-1;if((la|0)!=1)break;XO(l)}while(0);f[pa>>2]=0;ha=l+4|0;f[ca>>2]=0;f[ca+4>>2]=0;f[ca+8>>2]=0;f[ca+12>>2]=0;if((f[ha>>2]|0)>0){ea=f[l+40>>2]|0;fa=0;do{f[ea+(fa<<2)>>2]=0;fa=fa+1|0}while((fa|0)<(f[ha>>2]|0))}ha=f[ba>>2]|0;if((ha|0)!=(da|0))dX(ha);u=k;return}while(0);do if((Z|0)==(_|0)?(ma=f[n>>2]|0,na=f[n+4>>2]|0,(U|0)==(Y|0)&((ma|0)==(f[o>>2]|0)?(na|0)==(f[o+4>>2]|0):0)):0){if((N|0)==131072?(ma|0)==1&((na|0)==4|(na|0)==1):0){sa=87;break}if((O|0)==131072?(ma|0)==1&((na|0)==4|(na|0)==1):0)sa=87;else{ta=0;ua=0;va=R;wa=S;xa=U;ya=V;za=M;Aa=L}}else sa=87;while(0);do if((sa|0)==87){a:do if((RJ(a,-1)|0)<=2?WJ(a,-1)|0:0){FJ(l,a,-1);_=f[l>>2]|0;Z=(_|0)==1;if(!(!Z?(f[l+4>>2]|0)!=1:0))sa=91;do if((sa|0)==91?!((N|0)!=131072&(O|0)==131072):0){na=f[l+4>>2]|0;ma=(na|0)==1;if(!((_|0)==(Y|0)&ma|Z&(ma|(na|0)==(Y|0)))){if(!(Z&(na|0)==4))break;if(!(Y>>>0<5&(GJ(a,-1)|0)==6)){sa=98;break a}}na=f[n>>2]|0;ma=n+4|0;ja=f[ma>>2]|0;f[n>>2]=f[o>>2];ia=o+4|0;f[ma>>2]=f[ia>>2];f[o>>2]=na;f[ia>>2]=ja;f[m>>2]=S;Ba=1;Ca=V;Da=W;Ea=Y;Fa=R;Ga=U;Ha=L;Ia=M;break a}while(0);sa=98}else sa=98;while(0);b:do if((sa|0)==98){do if((RJ(c,-1)|0)<=2?WJ(c,-1)|0:0){FJ(l,c,-1);da=f[l>>2]|0;ba=(da|0)==1;if(!(!ba?(f[l+4>>2]|0)!=1:0))sa=102;if((sa|0)==102?!((N|0)==131072&(O|0)!=131072):0){Z=f[l+4>>2]|0;_=(Z|0)==1;if((da|0)==(U|0)&_|ba&(_|(Z|0)==(U|0))){Ba=0;Ca=R;Da=S;Ea=U;Fa=V;Ga=Y;Ha=M;Ia=L;break b}if(ba&(Z|0)==4)if(U>>>0<5&(GJ(c,-1)|0)==6){Ba=0;Ca=R;Da=S;Ea=U;Fa=V;Ga=Y;Ha=M;Ia=L;break b}else break}}while(0);f[l>>2]=0;f[l+4>>2]=0;DVa(JV(l,153)|0,148948,153)|0;EP(-209,l,149102,148090,659);KV(l);Ba=0;Ca=R;Da=S;Ea=U;Fa=V;Ga=Y;Ha=M;Ia=L}while(0);if((Fa|0)==6)switch(f[o+4>>2]|0){case 4:case 1:break;default:sa=111}else sa=111;if((sa|0)==111){f[l>>2]=0;f[l+4>>2]=0;Z=JV(l,50)|0;ba=149112;_=Z+50|0;do{b[Z>>0]=b[ba>>0]|0;Z=Z+1|0;ba=ba+1|0}while((Z|0)<(_|0));EP(-215,l,149102,148090,661);KV(l)}if(i){f[m>>2]=6;ta=1;ua=Ba<<24>>24!=0;va=Ca;wa=Da;xa=Ea;ya=Fa;za=Ha;Aa=Ia;break}ba=Ha;do if((HJ(ba)|0)==65536){Z=f[ba+4>>2]|0;f[l>>2]=f[Z>>2];_=l+4|0;da=Z+4|0;f[_>>2]=f[da>>2];ja=l+8|0;f[ja>>2]=f[Z+8>>2];f[l+12>>2]=f[Z+12>>2];ia=l+16|0;f[ia>>2]=f[Z+16>>2];f[l+20>>2]=f[Z+20>>2];f[l+24>>2]=f[Z+24>>2];f[l+28>>2]=f[Z+28>>2];f[l+32>>2]=f[Z+32>>2];na=f[Z+36>>2]|0;f[l+36>>2]=na;f[l+40>>2]=ja;ja=l+48|0;ma=l+44|0;f[ma>>2]=ja;f[ja>>2]=0;f[l+52>>2]=0;if(na|0){ja=na+12|0;f[ja>>2]=(f[ja>>2]|0)+1}if((f[da>>2]|0)<3){da=f[Z+44>>2]|0;ja=f[ma>>2]|0;f[ja>>2]=f[da>>2];f[ja+4>>2]=f[da+4>>2];Ja=ia;Ka=ma;break}else{f[_>>2]=0;WO(l,Z);Ja=ia;Ka=ma;break}}else{DJ(l,ba,-1);Ja=l+16|0;Ka=l+44|0}while(0);ba=f[Ja>>2]|0;ma=((f[o>>2]|0)==1?(f[o+4>>2]|0)==1:0)?Ga:Ea;ia=0;Z=-2147483648;_=2147483647;while(1){La=+p[ba+(ia<<3)>>3];da=AEa(La)|0;if(La!=+(da|0)){sa=126;break}Z=(Z|0)<(da|0)?da:Z;_=(_|0)>(da|0)?da:_;ia=ia+1|0;if((ia|0)>=(ma|0)){sa=123;break}}if((sa|0)==123){ma=(_|0)>-1;if(!(ma&(Z|0)<256))if((_|0)>-129&(Z|0)<128)Ma=1;else Ma=ma&(Z|0)<65536?2:(_|0)>-32769&(Z|0)<32768?3:4;else Ma=0}else if((sa|0)==126){f[m>>2]=6;Ma=Da>>>0<4|(Da|0)==5?5:6}f[m>>2]=Ma;ma=l+36|0;ia=f[ma>>2]|0;if(ia|0?(ba=ia+12|0,ia=f[ba>>2]|0,f[ba>>2]=ia+-1,(ia|0)==1):0)XO(l);f[ma>>2]=0;ma=l+4|0;f[Ja>>2]=0;f[Ja+4>>2]=0;f[Ja+8>>2]=0;f[Ja+12>>2]=0;if((f[ma>>2]|0)>0){ia=f[l+40>>2]|0;ba=0;do{f[ia+(ba<<2)>>2]=0;ba=ba+1|0}while((ba|0)<(f[ma>>2]|0))}ma=f[Ka>>2]|0;if((ma|0)!=(l+48|0))dX(ma);ta=1;ua=Ba<<24>>24!=0;va=Ca;wa=Da;xa=Ea;ya=Fa;za=Ha;Aa=Ia}while(0);do if((g|0)<0){if(uK(d)|0){Na=GJ(d,-1)|0;break}if((va|0)==(ya|0)|ta)Na=va;else{f[l>>2]=0;f[l+4>>2]=0;DVa(JV(l,136)|0,149163,136)|0;EP(-5,l,149102,148090,683);KV(l);Na=va}}else Na=g;while(0);g=Na&7;Ia=f[m>>2]|0;do if(!((wa|0)==(Ia|0)&(g|0)==(wa|0))){if(i){m=(Ia|0)>5?Ia:5;Ha=(wa|0)<(m|0)?m:wa;Oa=(Ha|0)<(g|0)?g:Ha;break}if((wa|0)<2&(Ia|0)<2)Pa=3;else Pa=(wa|0)<5&(Ia|0)<5?4:(wa|0)<(Ia|0)?Ia:wa;Ha=(Pa|0)<(g|0)?g:Pa;if(g>>>0<5)Oa=(wa|0)<5|(Ia|0)<5?4:Ha;else Oa=Ha}else Oa=wa;while(0);wa=(xa<<3)+-8|0;Ia=g|wa;g=Oa&7;Pa=g|wa;do if(P)wK(d,Aa,Ia);else{if((GJ(e,-1)|0)>>>0<2?(i=Aa,QJ(e,i)|0):0)Qa=i;else{f[l>>2]=0;f[l+4>>2]=0;DVa(JV(l,132)|0,149300,132)|0;EP(-215,l,149102,148090,715);KV(l);Qa=Aa}if(QJ(d,Qa)|0){i=(GJ(d,-1)|0)==(Ia|0);wK(d,Qa,Ia);if(i)break}else wK(d,Qa,Ia);p[q>>3]=0.0;f[l>>2]=-1056833530;f[l+4>>2]=q;f[l+8>>2]=1;f[l+12>>2]=1;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;AK(d,l,r)}while(0);if((va|0)==(Pa|0))Ra=0;else Ra=HN(va,Pa)|0;if((ya|0)!=(va|0))if((ya|0)==(Pa|0))Sa=0;else Sa=HN(ya,Pa)|0;else Sa=Ra;if((Ia|0)==(Pa|0))Ta=0;else Ta=HN(Pa,Ia)|0;Ia=(va>>>3&511)+1<<(47696>>>(va<<1&14)&3);va=(ya>>>3&511)+1<<(47696>>>(ya<<1&14)&3);ya=(wa>>>3&511)+1|0;wa=ya<<(47696>>>(Na<<1&14)&3);f[l>>2]=wa;Na=ya<<(47696>>>(Oa<<1&14)&3);Oa=((Na+1023|0)>>>0)/(Na>>>0)|0;ya=cM(wa)|0;wa=Aa;do if((HJ(wa)|0)==65536){Aa=f[wa+4>>2]|0;f[q>>2]=f[Aa>>2];Qa=q+4|0;i=Aa+4|0;f[Qa>>2]=f[i>>2];Ha=q+8|0;f[Ha>>2]=f[Aa+8>>2];f[q+12>>2]=f[Aa+12>>2];f[q+16>>2]=f[Aa+16>>2];f[q+20>>2]=f[Aa+20>>2];f[q+24>>2]=f[Aa+24>>2];f[q+28>>2]=f[Aa+28>>2];f[q+32>>2]=f[Aa+32>>2];m=f[Aa+36>>2]|0;f[q+36>>2]=m;f[q+40>>2]=Ha;Ha=q+48|0;Fa=q+44|0;f[Fa>>2]=Ha;f[Ha>>2]=0;f[q+52>>2]=0;if(m|0){Ha=m+12|0;f[Ha>>2]=(f[Ha>>2]|0)+1}if((f[i>>2]|0)<3){i=f[Aa+44>>2]|0;Ha=f[Fa>>2]|0;f[Ha>>2]=f[i>>2];f[Ha+4>>2]=f[i+4>>2];break}else{f[Qa>>2]=0;WO(q,Aa);break}}else DJ(q,wa,-1);while(0);wa=za;do if((HJ(wa)|0)==65536){za=f[wa+4>>2]|0;f[r>>2]=f[za>>2];Aa=r+4|0;Qa=za+4|0;f[Aa>>2]=f[Qa>>2];i=r+8|0;f[i>>2]=f[za+8>>2];f[r+12>>2]=f[za+12>>2];f[r+16>>2]=f[za+16>>2];f[r+20>>2]=f[za+20>>2];f[r+24>>2]=f[za+24>>2];f[r+28>>2]=f[za+28>>2];f[r+32>>2]=f[za+32>>2];Ha=f[za+36>>2]|0;f[r+36>>2]=Ha;f[r+40>>2]=i;i=r+48|0;Fa=r+44|0;f[Fa>>2]=i;f[i>>2]=0;f[r+52>>2]=0;if(Ha|0){i=Ha+12|0;f[i>>2]=(f[i>>2]|0)+1}if((f[Qa>>2]|0)<3){Qa=f[za+44>>2]|0;i=f[Fa>>2]|0;f[i>>2]=f[Qa>>2];f[i+4>>2]=f[Qa+4>>2];break}else{f[Aa>>2]=0;WO(r,za);break}}else DJ(r,wa,-1);while(0);do if((HJ(d)|0)==65536){wa=f[d+4>>2]|0;f[s>>2]=f[wa>>2];za=s+4|0;Aa=wa+4|0;f[za>>2]=f[Aa>>2];Qa=s+8|0;f[Qa>>2]=f[wa+8>>2];f[s+12>>2]=f[wa+12>>2];f[s+16>>2]=f[wa+16>>2];f[s+20>>2]=f[wa+20>>2];f[s+24>>2]=f[wa+24>>2];f[s+28>>2]=f[wa+28>>2];f[s+32>>2]=f[wa+32>>2];i=f[wa+36>>2]|0;f[s+36>>2]=i;f[s+40>>2]=Qa;Qa=s+48|0;Fa=s+44|0;f[Fa>>2]=Qa;f[Qa>>2]=0;f[s+52>>2]=0;if(i|0){Qa=i+12|0;f[Qa>>2]=(f[Qa>>2]|0)+1}if((f[Aa>>2]|0)<3){Aa=f[wa+44>>2]|0;Qa=f[Fa>>2]|0;f[Qa>>2]=f[Aa>>2];f[Qa+4>>2]=f[Aa+4>>2];break}else{f[za>>2]=0;WO(s,wa);break}}else DJ(s,d,-1);while(0);do if((HJ(e)|0)==65536){d=f[e+4>>2]|0;f[t>>2]=f[d>>2];wa=t+4|0;za=d+4|0;f[wa>>2]=f[za>>2];Aa=t+8|0;f[Aa>>2]=f[d+8>>2];f[t+12>>2]=f[d+12>>2];f[t+16>>2]=f[d+16>>2];f[t+20>>2]=f[d+20>>2];f[t+24>>2]=f[d+24>>2];f[t+28>>2]=f[d+28>>2];f[t+32>>2]=f[d+32>>2];Qa=f[d+36>>2]|0;f[t+36>>2]=Qa;f[t+40>>2]=Aa;Aa=t+48|0;Fa=t+44|0;f[Fa>>2]=Aa;f[Aa>>2]=0;f[t+52>>2]=0;if(Qa|0){Aa=Qa+12|0;f[Aa>>2]=(f[Aa>>2]|0)+1}if((f[za>>2]|0)<3){za=f[d+44>>2]|0;Aa=f[Fa>>2]|0;f[Aa>>2]=f[za>>2];f[Aa+4>>2]=f[za+4>>2];break}else{f[wa>>2]=0;WO(t,d);break}}else DJ(t,e,-1);while(0);e=v+8|0;f[v>>2]=e;d=v+4|0;f[d>>2]=1032;wa=(Ra|0)!=0;za=(Sa|0)!=0;Aa=(Ta|0)!=0;Fa=(ta|za?Na:0)+(wa?Na:0)+(Aa?Na:0)+(P?0:f[l>>2]|0)|0;Qa=f[h+(g<<2)>>2]|0;if(ta){f[w>>2]=q;f[w+4>>2]=s;f[w+8>>2]=t;f[w+12>>2]=0;FN(y,w,x,-1);ta=f[y+20>>2]|0;g=Oa>>>0>>0?Oa:ta;h=(X(g,Fa)|0)+64|0;do if((f[d>>2]|0)>>>0>>0){i=f[v>>2]|0;if((i|0)!=(e|0)){if(i|0)HQa(i);f[v>>2]=e;f[d>>2]=1032}f[d>>2]=h;if(h>>>0<=1032){Ua=e;break}i=FQa(h)|0;f[v>>2]=i;Ua=i}else{f[d>>2]=h;Ua=f[v>>2]|0}while(0);h=X(g,Na)|0;i=wa?Ua+h+15&-16:Ua;Ha=wa?Ua:0;Ua=i+h+15&-16;m=P?Ua:Aa?Ua+h+15&-16:Ua;_G(r,Pa,i,g);Pa=y+16|0;h=(ta|0)==0;Ea=i;i=x+4|0;Da=F+4|0;Ca=Ha;Ba=Aa|Q;Ka=G+4|0;Ja=J+4|0;Ma=x+8|0;sa=K+4|0;Ga=H+4|0;o=0;while(1){if(o>>>0>=(f[Pa>>2]|0)>>>0)break;if(!h){L=0;M=f[x>>2]|0;Y=f[i>>2]|0;do{V=ta-L|0;U=V>>>0>g>>>0?g:V;V=X(U,xa)|0;if(wa){f[F>>2]=V;f[Da>>2]=1;qi[Ra&255](M,1,0,1,Ha,1,F,0);Va=Ca}else Va=M;S=ua?Ea:Va;R=ua?Va:Ea;do if(Ba){ri[Qa&127](S,1,R,1,Ua,1,V,1,j);if(P){f[G>>2]=V;f[Ka>>2]=1;qi[Ta&255](Ua,1,0,1,Y,1,G,0);break}if(Aa){f[J>>2]=V;f[Ja>>2]=1;qi[Ta&255](Ua,1,0,1,m,1,J,0);c=f[Ma>>2]|0;f[K>>2]=U;f[sa>>2]=1;qi[ya&255](m,1,c,1,Y,1,K,l)}else{c=f[Ma>>2]|0;f[H>>2]=U;f[Ga>>2]=1;qi[ya&255](Ua,1,c,1,Y,1,H,l)}f[Ma>>2]=(f[Ma>>2]|0)+U}else ri[Qa&127](S,1,R,1,Y,1,V,1,j);while(0);V=X(U,Ia)|0;M=(f[x>>2]|0)+V|0;f[x>>2]=M;V=X(f[l>>2]|0,U)|0;Y=(f[i>>2]|0)+V|0;f[i>>2]=Y;L=L+g|0}while(ta>>>0>L>>>0)}GN(y)|0;o=o+1|0}}else{f[w>>2]=q;f[w+4>>2]=r;f[w+8>>2]=s;f[w+12>>2]=t;f[w+16>>2]=0;FN(y,w,x,-1);w=f[y+20>>2]|0;o=(wa|Q|za|Aa)&Oa>>>0>>0?Oa:w;Oa=(X(o,Fa)|0)+64|0;do if((f[d>>2]|0)>>>0>>0){Fa=f[v>>2]|0;if((Fa|0)!=(e|0)){if(Fa|0)HQa(Fa);f[v>>2]=e;f[d>>2]=1032}f[d>>2]=Oa;if(Oa>>>0<=1032){Wa=e;break}Fa=FQa(Oa)|0;f[v>>2]=Fa;Wa=Fa}else{f[d>>2]=Oa;Wa=f[v>>2]|0}while(0);Oa=X(o,Na)|0;Na=wa?Wa+Oa+15&-16:Wa;Fa=wa?Wa:0;ta=za?Na+Oa+15&-16:Na;g=za?Na:0;Na=P?ta:Aa?ta+Oa+15&-16:ta;Oa=y+16|0;i=(w|0)==0;Ma=x+4|0;H=x+8|0;Ua=z+4|0;Ga=za^1;za=Aa|Q;Q=B+4|0;K=D+4|0;m=x+12|0;sa=E+4|0;J=C+4|0;Ja=A+4|0;G=0;while(1){if(G>>>0>=(f[Oa>>2]|0)>>>0)break;if(!i){Ka=0;Ba=f[x>>2]|0;Ea=f[Ma>>2]|0;Va=f[H>>2]|0;do{ua=w-Ka|0;Ca=ua>>>0>o>>>0?o:ua;ua=X(Ca,xa)|0;if(wa){f[z>>2]=ua;f[Ua>>2]=1;qi[Ra&255](Ba,1,0,1,Fa,1,z,0);Xa=Wa;Ya=f[x>>2]|0;Za=f[Ma>>2]|0}else{Xa=Ba;Ya=Ba;Za=Ea}F=(Ya|0)==(Za|0);if(F|Ga)_a=F?Xa:Ea;else{f[A>>2]=ua;f[Ja>>2]=1;qi[Sa&255](Ea,1,0,1,g,1,A,0);_a=g}do if(za){ri[Qa&127](Xa,1,_a,1,ta,0,ua,1,j);if(P){f[B>>2]=ua;f[Q>>2]=1;qi[Ta&255](ta,1,0,1,Va,1,B,0);break}if(Aa){f[D>>2]=ua;f[K>>2]=1;qi[Ta&255](ta,1,0,1,Na,1,D,0);F=f[m>>2]|0;f[E>>2]=Ca;f[sa>>2]=1;qi[ya&255](Na,1,F,1,Va,1,E,l)}else{F=f[m>>2]|0;f[C>>2]=Ca;f[J>>2]=1;qi[ya&255](ta,1,F,1,Va,1,C,l)}f[m>>2]=(f[m>>2]|0)+Ca}else ri[Qa&127](Xa,1,_a,1,Va,1,ua,1,j);while(0);ua=X(Ca,Ia)|0;Ba=(f[x>>2]|0)+ua|0;f[x>>2]=Ba;ua=X(Ca,va)|0;Ea=(f[Ma>>2]|0)+ua|0;f[Ma>>2]=Ea;ua=X(f[l>>2]|0,Ca)|0;Va=(f[H>>2]|0)+ua|0;f[H>>2]=Va;Ka=Ka+o|0}while(w>>>0>Ka>>>0)}GN(y)|0;G=G+1|0}}G=f[v>>2]|0;if((G|0)!=(e|0)){if(G|0)HQa(G);f[v>>2]=e;f[d>>2]=1032}d=t+36|0;e=f[d>>2]|0;do if(e|0){v=e+12|0;G=f[v>>2]|0;f[v>>2]=G+-1;if((G|0)!=1)break;XO(t)}while(0);f[d>>2]=0;d=t+16|0;e=t+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[e>>2]|0)>0){d=f[t+40>>2]|0;G=0;do{f[d+(G<<2)>>2]=0;G=G+1|0}while((G|0)<(f[e>>2]|0))}e=f[t+44>>2]|0;if((e|0)!=(t+48|0))dX(e);e=s+36|0;t=f[e>>2]|0;do if(t|0){G=t+12|0;d=f[G>>2]|0;f[G>>2]=d+-1;if((d|0)!=1)break;XO(s)}while(0);f[e>>2]=0;e=s+16|0;t=s+4|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;if((f[t>>2]|0)>0){e=f[s+40>>2]|0;d=0;do{f[e+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(f[t>>2]|0))}t=f[s+44>>2]|0;if((t|0)!=(s+48|0))dX(t);t=r+36|0;s=f[t>>2]|0;do if(s|0){d=s+12|0;e=f[d>>2]|0;f[d>>2]=e+-1;if((e|0)!=1)break;XO(r)}while(0);f[t>>2]=0;t=r+16|0;s=r+4|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;if((f[s>>2]|0)>0){t=f[r+40>>2]|0;e=0;do{f[t+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(f[s>>2]|0))}s=f[r+44>>2]|0;if((s|0)!=(r+48|0))dX(s);s=q+36|0;r=f[s>>2]|0;do if(r|0){e=r+12|0;t=f[e>>2]|0;f[e>>2]=t+-1;if((t|0)!=1)break;XO(q)}while(0);f[s>>2]=0;s=q+16|0;r=q+4|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if((f[r>>2]|0)>0){s=f[q+40>>2]|0;t=0;do{f[s+(t<<2)>>2]=0;t=t+1|0}while((t|0)<(f[r>>2]|0))}r=f[q+44>>2]|0;if((r|0)!=(q+48|0))dX(r);u=k;return}function OH(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;$H(a,b,c,d,e,f,g,h);return}function PH(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;_H(a,b,c,d,e,f,g,h);return}function QH(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ZH(a,b,c,d,e,f,g,h);return}function RH(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;YH(a,b,c,d,e,f,g,h);return}function SH(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;XH(a,b,c,d,e,f,g,h);return}function TH(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;WH(a,b,c,d,e,f,g,h);return}function UH(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;VH(a,b,c,d,e,f,g,h);return}function VH(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0.0;i=h+-1|0;if(!h)return;h=g+-4|0;if((g|0)<4){j=(g|0)>0;k=c;l=e;m=a;n=i;while(1){if(j){o=0;do{p[l+(o<<3)>>3]=+p[m+(o<<3)>>3]+ +p[k+(o<<3)>>3];o=o+1|0}while((o|0)!=(g|0))}if(!n)break;else{k=k+d|0;l=l+f|0;m=m+b|0;n=n+-1|0}}return}n=g&-4;m=(n|0)<(g|0);l=c;c=e;e=a;a=i;while(1){i=0;do{k=i|1;q=+p[e+(k<<3)>>3]+ +p[l+(k<<3)>>3];p[c+(i<<3)>>3]=+p[e+(i<<3)>>3]+ +p[l+(i<<3)>>3];p[c+(k<<3)>>3]=q;k=i|2;j=i|3;q=+p[e+(j<<3)>>3]+ +p[l+(j<<3)>>3];p[c+(k<<3)>>3]=+p[e+(k<<3)>>3]+ +p[l+(k<<3)>>3];p[c+(j<<3)>>3]=q;i=i+4|0}while((i|0)<=(h|0));if(m){i=n;do{p[c+(i<<3)>>3]=+p[e+(i<<3)>>3]+ +p[l+(i<<3)>>3];i=i+1|0}while((i|0)!=(g|0))}if(!a)break;else{l=l+d|0;c=c+f|0;e=e+b|0;a=a+-1|0}}return}function WH(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0.0;i=h+-1|0;if(!h)return;h=g+-4|0;if((g|0)<4){j=(g|0)>0;k=c;l=e;m=a;o=i;while(1){if(j){p=0;do{n[l+(p<<2)>>2]=+n[m+(p<<2)>>2]+ +n[k+(p<<2)>>2];p=p+1|0}while((p|0)!=(g|0))}if(!o)break;else{k=k+d|0;l=l+f|0;m=m+b|0;o=o+-1|0}}return}o=g&-4;m=(o|0)<(g|0);l=c;c=e;e=a;a=i;while(1){i=0;do{k=i|1;q=+n[e+(k<<2)>>2]+ +n[l+(k<<2)>>2];n[c+(i<<2)>>2]=+n[e+(i<<2)>>2]+ +n[l+(i<<2)>>2];n[c+(k<<2)>>2]=q;k=i|2;j=i|3;q=+n[e+(j<<2)>>2]+ +n[l+(j<<2)>>2];n[c+(k<<2)>>2]=+n[e+(k<<2)>>2]+ +n[l+(k<<2)>>2];n[c+(j<<2)>>2]=q;i=i+4|0}while((i|0)<=(h|0));if(m){i=o;do{n[c+(i<<2)>>2]=+n[e+(i<<2)>>2]+ +n[l+(i<<2)>>2];i=i+1|0}while((i|0)!=(g|0))}if(!a)break;else{l=l+d|0;c=c+f|0;e=e+b|0;a=a+-1|0}}return}function XH(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i+-1|0;if(!i)return;i=h+-4|0;if((h|0)<4){k=(h|0)>0;l=c;m=e;n=a;o=j;while(1){if(k){p=0;do{f[m+(p<<2)>>2]=(f[l+(p<<2)>>2]|0)+(f[n+(p<<2)>>2]|0);p=p+1|0}while((p|0)!=(h|0))}if(!o)break;else{l=l+d|0;m=m+g|0;n=n+b|0;o=o+-1|0}}return}o=h&-4;n=(o|0)<(h|0);m=c;c=e;e=a;a=j;while(1){j=0;do{l=j|1;k=(f[m+(l<<2)>>2]|0)+(f[e+(l<<2)>>2]|0)|0;f[c+(j<<2)>>2]=(f[m+(j<<2)>>2]|0)+(f[e+(j<<2)>>2]|0);f[c+(l<<2)>>2]=k;k=j|2;l=j|3;p=(f[m+(l<<2)>>2]|0)+(f[e+(l<<2)>>2]|0)|0;f[c+(k<<2)>>2]=(f[m+(k<<2)>>2]|0)+(f[e+(k<<2)>>2]|0);f[c+(l<<2)>>2]=p;j=j+4|0}while((j|0)<=(i|0));if(n){j=o;do{f[c+(j<<2)>>2]=(f[m+(j<<2)>>2]|0)+(f[e+(j<<2)>>2]|0);j=j+1|0}while((j|0)!=(h|0))}if(!a)break;else{m=m+d|0;c=c+g|0;e=e+b|0;a=a+-1|0}}return}function YH(a,b,c,e,f,g,h,i){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=i+-1|0;if(!i)return;i=h+-4|0;if((h|0)<4){k=(h|0)>0;l=c;m=f;n=a;o=j;while(1){if(k){p=0;do{q=(d[l+(p<<1)>>1]|0)+(d[n+(p<<1)>>1]|0)|0;d[m+(p<<1)>>1]=(q+32768|0)>>>0<65536?q:(q|0)>0?32767:32768;p=p+1|0}while((p|0)!=(h|0))}if(!o)break;else{l=l+e|0;m=m+g|0;n=n+b|0;o=o+-1|0}}return}o=h&-4;n=(o|0)<(h|0);m=c;c=f;f=a;a=j;while(1){j=0;do{l=(d[m+(j<<1)>>1]|0)+(d[f+(j<<1)>>1]|0)|0;k=j|1;p=(d[m+(k<<1)>>1]|0)+(d[f+(k<<1)>>1]|0)|0;d[c+(j<<1)>>1]=(l+32768|0)>>>0<65536?l:(l|0)>0?32767:32768;d[c+(k<<1)>>1]=(p+32768|0)>>>0<65536?p:(p|0)>0?32767:32768;p=j|2;k=(d[m+(p<<1)>>1]|0)+(d[f+(p<<1)>>1]|0)|0;l=j|3;q=(d[m+(l<<1)>>1]|0)+(d[f+(l<<1)>>1]|0)|0;d[c+(p<<1)>>1]=(k+32768|0)>>>0<65536?k:(k|0)>0?32767:32768;d[c+(l<<1)>>1]=(q+32768|0)>>>0<65536?q:(q|0)>0?32767:32768;j=j+4|0}while((j|0)<=(i|0));if(n){j=o;do{q=(d[m+(j<<1)>>1]|0)+(d[f+(j<<1)>>1]|0)|0;d[c+(j<<1)>>1]=(q+32768|0)>>>0<65536?q:(q|0)>0?32767:32768;j=j+1|0}while((j|0)!=(h|0))}if(!a)break;else{m=m+e|0;c=c+g|0;f=f+b|0;a=a+-1|0}}return}function ZH(a,b,c,e,f,g,h,i){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=i+-1|0;if(!i)return;i=h+-4|0;if((h|0)<4){l=(h|0)>0;m=c;n=f;o=a;p=k;while(1){if(l){q=0;do{r=(j[m+(q<<1)>>1]|0)+(j[o+(q<<1)>>1]|0)|0;d[n+(q<<1)>>1]=r>>>0<65536?r:r|0?65535:0;q=q+1|0}while((q|0)!=(h|0))}if(!p)break;else{m=m+e|0;n=n+g|0;o=o+b|0;p=p+-1|0}}return}p=h&-4;o=(p|0)<(h|0);n=c;c=f;f=a;a=k;while(1){k=0;do{m=(j[n+(k<<1)>>1]|0)+(j[f+(k<<1)>>1]|0)|0;l=k|1;q=(j[n+(l<<1)>>1]|0)+(j[f+(l<<1)>>1]|0)|0;d[c+(k<<1)>>1]=m>>>0<65536?m:m|0?65535:0;d[c+(l<<1)>>1]=q>>>0<65536?q:q|0?65535:0;q=k|2;l=(j[n+(q<<1)>>1]|0)+(j[f+(q<<1)>>1]|0)|0;m=k|3;r=(j[n+(m<<1)>>1]|0)+(j[f+(m<<1)>>1]|0)|0;d[c+(q<<1)>>1]=l>>>0<65536?l:l|0?65535:0;d[c+(m<<1)>>1]=r>>>0<65536?r:r|0?65535:0;k=k+4|0}while((k|0)<=(i|0));if(o){k=p;do{r=(j[n+(k<<1)>>1]|0)+(j[f+(k<<1)>>1]|0)|0;d[c+(k<<1)>>1]=r>>>0<65536?r:r|0?65535:0;k=k+1|0}while((k|0)!=(h|0))}if(!a)break;else{n=n+e|0;c=c+g|0;f=f+b|0;a=a+-1|0}}return}function _H(a,c,d,e,f,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=i+-1|0;if(!i)return;i=h+-4|0;if((h|0)<4){k=(h|0)>0;l=d;m=f;n=a;o=j;while(1){if(k){p=0;do{q=(b[l+p>>0]|0)+(b[n+p>>0]|0)|0;b[m+p>>0]=(q+128|0)>>>0<256?q:(q|0)>0?127:128;p=p+1|0}while((p|0)!=(h|0))}if(!o)break;else{l=l+e|0;m=m+g|0;n=n+c|0;o=o+-1|0}}return}o=h&-4;n=(o|0)<(h|0);m=d;d=f;f=a;a=j;while(1){j=0;do{l=(b[m+j>>0]|0)+(b[f+j>>0]|0)|0;k=j|1;p=(b[m+k>>0]|0)+(b[f+k>>0]|0)|0;b[d+j>>0]=(l+128|0)>>>0<256?l:(l|0)>0?127:128;b[d+k>>0]=(p+128|0)>>>0<256?p:(p|0)>0?127:128;p=j|2;k=(b[m+p>>0]|0)+(b[f+p>>0]|0)|0;l=j|3;q=(b[m+l>>0]|0)+(b[f+l>>0]|0)|0;b[d+p>>0]=(k+128|0)>>>0<256?k:(k|0)>0?127:128;b[d+l>>0]=(q+128|0)>>>0<256?q:(q|0)>0?127:128;j=j+4|0}while((j|0)<=(i|0));if(n){j=o;do{q=(b[m+j>>0]|0)+(b[f+j>>0]|0)|0;b[d+j>>0]=(q+128|0)>>>0<256?q:(q|0)>0?127:128;j=j+1|0}while((j|0)!=(h|0))}if(!a)break;else{m=m+e|0;d=d+g|0;f=f+c|0;a=a+-1|0}}return}function $H(a,c,d,e,f,g,i,j){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=j+-1|0;if(!j)return;j=i+-4|0;if((i|0)<4){l=(i|0)>0;m=d;n=f;o=a;p=k;while(1){if(l){q=0;do{b[n+q>>0]=b[243744+((h[o+q>>0]|0|256)+(h[m+q>>0]|0))>>0]|0;q=q+1|0}while((q|0)!=(i|0))}if(!p)break;else{m=m+e|0;n=n+g|0;o=o+c|0;p=p+-1|0}}return}p=i&-4;o=(p|0)<(i|0);n=d;d=f;f=a;a=k;while(1){k=0;do{m=k|1;l=b[243744+((h[f+m>>0]|0|256)+(h[n+m>>0]|0))>>0]|0;b[d+k>>0]=b[243744+((h[f+k>>0]|0|256)+(h[n+k>>0]|0))>>0]|0;b[d+m>>0]=l;l=k|2;m=k|3;q=b[243744+((h[f+m>>0]|0|256)+(h[n+m>>0]|0))>>0]|0;b[d+l>>0]=b[243744+((h[f+l>>0]|0|256)+(h[n+l>>0]|0))>>0]|0;b[d+m>>0]=q;k=k+4|0}while((k|0)<=(j|0));if(o){k=p;do{b[d+k>>0]=b[243744+((h[f+k>>0]|0|256)+(h[n+k>>0]|0))>>0]|0;k=k+1|0}while((k|0)!=(i|0))}if(!a)break;else{n=n+e|0;d=d+g|0;f=f+c|0;a=a+-1|0}}return}function aI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;g=u;u=u+16|0;h=g;yV(h,31396);NH(a,b,c,d,e,31416,0,0,1);if(!(f[h+4>>2]|0)){u=g;return}u=g;return}function bI(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;oI(a,b,c,d,e,f,g,h);return}function cI(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;nI(a,b,c,d,e,f,g,h);return}function dI(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;mI(a,b,c,d,e,f,g,h);return}function eI(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;lI(a,b,c,d,e,f,g,h);return}function fI(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;kI(a,b,c,d,e,f,g,h);return}function gI(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;jI(a,b,c,d,e,f,g,h);return}function hI(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;iI(a,b,c,d,e,f,g,h);return}function iI(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0.0;i=h+-1|0;if(!h)return;h=g+-4|0;if((g|0)<4){j=(g|0)>0;k=c;l=e;m=a;n=i;while(1){if(j){o=0;do{p[l+(o<<3)>>3]=+p[m+(o<<3)>>3]-+p[k+(o<<3)>>3];o=o+1|0}while((o|0)!=(g|0))}if(!n)break;else{k=k+d|0;l=l+f|0;m=m+b|0;n=n+-1|0}}return}n=g&-4;m=(n|0)<(g|0);l=c;c=e;e=a;a=i;while(1){i=0;do{k=i|1;q=+p[e+(k<<3)>>3]-+p[l+(k<<3)>>3];p[c+(i<<3)>>3]=+p[e+(i<<3)>>3]-+p[l+(i<<3)>>3];p[c+(k<<3)>>3]=q;k=i|2;j=i|3;q=+p[e+(j<<3)>>3]-+p[l+(j<<3)>>3];p[c+(k<<3)>>3]=+p[e+(k<<3)>>3]-+p[l+(k<<3)>>3];p[c+(j<<3)>>3]=q;i=i+4|0}while((i|0)<=(h|0));if(m){i=n;do{p[c+(i<<3)>>3]=+p[e+(i<<3)>>3]-+p[l+(i<<3)>>3];i=i+1|0}while((i|0)!=(g|0))}if(!a)break;else{l=l+d|0;c=c+f|0;e=e+b|0;a=a+-1|0}}return}function jI(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0.0;i=h+-1|0;if(!h)return;h=g+-4|0;if((g|0)<4){j=(g|0)>0;k=c;l=e;m=a;o=i;while(1){if(j){p=0;do{n[l+(p<<2)>>2]=+n[m+(p<<2)>>2]-+n[k+(p<<2)>>2];p=p+1|0}while((p|0)!=(g|0))}if(!o)break;else{k=k+d|0;l=l+f|0;m=m+b|0;o=o+-1|0}}return}o=g&-4;m=(o|0)<(g|0);l=c;c=e;e=a;a=i;while(1){i=0;do{k=i|1;q=+n[e+(k<<2)>>2]-+n[l+(k<<2)>>2];n[c+(i<<2)>>2]=+n[e+(i<<2)>>2]-+n[l+(i<<2)>>2];n[c+(k<<2)>>2]=q;k=i|2;j=i|3;q=+n[e+(j<<2)>>2]-+n[l+(j<<2)>>2];n[c+(k<<2)>>2]=+n[e+(k<<2)>>2]-+n[l+(k<<2)>>2];n[c+(j<<2)>>2]=q;i=i+4|0}while((i|0)<=(h|0));if(m){i=o;do{n[c+(i<<2)>>2]=+n[e+(i<<2)>>2]-+n[l+(i<<2)>>2];i=i+1|0}while((i|0)!=(g|0))}if(!a)break;else{l=l+d|0;c=c+f|0;e=e+b|0;a=a+-1|0}}return}function kI(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i+-1|0;if(!i)return;i=h+-4|0;if((h|0)<4){k=(h|0)>0;l=c;m=e;n=a;o=j;while(1){if(k){p=0;do{f[m+(p<<2)>>2]=(f[n+(p<<2)>>2]|0)-(f[l+(p<<2)>>2]|0);p=p+1|0}while((p|0)!=(h|0))}if(!o)break;else{l=l+d|0;m=m+g|0;n=n+b|0;o=o+-1|0}}return}o=h&-4;n=(o|0)<(h|0);m=c;c=e;e=a;a=j;while(1){j=0;do{l=j|1;k=(f[e+(l<<2)>>2]|0)-(f[m+(l<<2)>>2]|0)|0;f[c+(j<<2)>>2]=(f[e+(j<<2)>>2]|0)-(f[m+(j<<2)>>2]|0);f[c+(l<<2)>>2]=k;k=j|2;l=j|3;p=(f[e+(l<<2)>>2]|0)-(f[m+(l<<2)>>2]|0)|0;f[c+(k<<2)>>2]=(f[e+(k<<2)>>2]|0)-(f[m+(k<<2)>>2]|0);f[c+(l<<2)>>2]=p;j=j+4|0}while((j|0)<=(i|0));if(n){j=o;do{f[c+(j<<2)>>2]=(f[e+(j<<2)>>2]|0)-(f[m+(j<<2)>>2]|0);j=j+1|0}while((j|0)!=(h|0))}if(!a)break;else{m=m+d|0;c=c+g|0;e=e+b|0;a=a+-1|0}}return}function lI(a,b,c,e,f,g,h,i){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=i+-1|0;if(!i)return;i=h+-4|0;if((h|0)<4){k=(h|0)>0;l=c;m=f;n=a;o=j;while(1){if(k){p=0;do{q=(d[n+(p<<1)>>1]|0)-(d[l+(p<<1)>>1]|0)|0;d[m+(p<<1)>>1]=(q+32768|0)>>>0<65536?q:(q|0)>0?32767:32768;p=p+1|0}while((p|0)!=(h|0))}if(!o)break;else{l=l+e|0;m=m+g|0;n=n+b|0;o=o+-1|0}}return}o=h&-4;n=(o|0)<(h|0);m=c;c=f;f=a;a=j;while(1){j=0;do{l=(d[f+(j<<1)>>1]|0)-(d[m+(j<<1)>>1]|0)|0;k=j|1;p=(d[f+(k<<1)>>1]|0)-(d[m+(k<<1)>>1]|0)|0;d[c+(j<<1)>>1]=(l+32768|0)>>>0<65536?l:(l|0)>0?32767:32768;d[c+(k<<1)>>1]=(p+32768|0)>>>0<65536?p:(p|0)>0?32767:32768;p=j|2;k=(d[f+(p<<1)>>1]|0)-(d[m+(p<<1)>>1]|0)|0;l=j|3;q=(d[f+(l<<1)>>1]|0)-(d[m+(l<<1)>>1]|0)|0;d[c+(p<<1)>>1]=(k+32768|0)>>>0<65536?k:(k|0)>0?32767:32768;d[c+(l<<1)>>1]=(q+32768|0)>>>0<65536?q:(q|0)>0?32767:32768;j=j+4|0}while((j|0)<=(i|0));if(n){j=o;do{q=(d[f+(j<<1)>>1]|0)-(d[m+(j<<1)>>1]|0)|0;d[c+(j<<1)>>1]=(q+32768|0)>>>0<65536?q:(q|0)>0?32767:32768;j=j+1|0}while((j|0)!=(h|0))}if(!a)break;else{m=m+e|0;c=c+g|0;f=f+b|0;a=a+-1|0}}return}function mI(a,b,c,e,f,g,h,i){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=i+-1|0;if(!i)return;i=h+-4|0;if((h|0)<4){l=(h|0)>0;m=c;n=f;o=a;p=k;while(1){if(l){q=0;do{r=(j[o+(q<<1)>>1]|0)-(j[m+(q<<1)>>1]|0)|0;d[n+(q<<1)>>1]=r>>>0<65536?r:(r|0)>0?65535:0;q=q+1|0}while((q|0)!=(h|0))}if(!p)break;else{m=m+e|0;n=n+g|0;o=o+b|0;p=p+-1|0}}return}p=h&-4;o=(p|0)<(h|0);n=c;c=f;f=a;a=k;while(1){k=0;do{m=(j[f+(k<<1)>>1]|0)-(j[n+(k<<1)>>1]|0)|0;l=k|1;q=(j[f+(l<<1)>>1]|0)-(j[n+(l<<1)>>1]|0)|0;d[c+(k<<1)>>1]=m>>>0<65536?m:(m|0)>0?65535:0;d[c+(l<<1)>>1]=q>>>0<65536?q:(q|0)>0?65535:0;q=k|2;l=(j[f+(q<<1)>>1]|0)-(j[n+(q<<1)>>1]|0)|0;m=k|3;r=(j[f+(m<<1)>>1]|0)-(j[n+(m<<1)>>1]|0)|0;d[c+(q<<1)>>1]=l>>>0<65536?l:(l|0)>0?65535:0;d[c+(m<<1)>>1]=r>>>0<65536?r:(r|0)>0?65535:0;k=k+4|0}while((k|0)<=(i|0));if(o){k=p;do{r=(j[f+(k<<1)>>1]|0)-(j[n+(k<<1)>>1]|0)|0;d[c+(k<<1)>>1]=r>>>0<65536?r:(r|0)>0?65535:0;k=k+1|0}while((k|0)!=(h|0))}if(!a)break;else{n=n+e|0;c=c+g|0;f=f+b|0;a=a+-1|0}}return}function nI(a,c,d,e,f,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=i+-1|0;if(!i)return;i=h+-4|0;if((h|0)<4){k=(h|0)>0;l=d;m=f;n=a;o=j;while(1){if(k){p=0;do{q=(b[n+p>>0]|0)-(b[l+p>>0]|0)|0;b[m+p>>0]=(q+128|0)>>>0<256?q:(q|0)>0?127:128;p=p+1|0}while((p|0)!=(h|0))}if(!o)break;else{l=l+e|0;m=m+g|0;n=n+c|0;o=o+-1|0}}return}o=h&-4;n=(o|0)<(h|0);m=d;d=f;f=a;a=j;while(1){j=0;do{l=(b[f+j>>0]|0)-(b[m+j>>0]|0)|0;k=j|1;p=(b[f+k>>0]|0)-(b[m+k>>0]|0)|0;b[d+j>>0]=(l+128|0)>>>0<256?l:(l|0)>0?127:128;b[d+k>>0]=(p+128|0)>>>0<256?p:(p|0)>0?127:128;p=j|2;k=(b[f+p>>0]|0)-(b[m+p>>0]|0)|0;l=j|3;q=(b[f+l>>0]|0)-(b[m+l>>0]|0)|0;b[d+p>>0]=(k+128|0)>>>0<256?k:(k|0)>0?127:128;b[d+l>>0]=(q+128|0)>>>0<256?q:(q|0)>0?127:128;j=j+4|0}while((j|0)<=(i|0));if(n){j=o;do{q=(b[f+j>>0]|0)-(b[m+j>>0]|0)|0;b[d+j>>0]=(q+128|0)>>>0<256?q:(q|0)>0?127:128;j=j+1|0}while((j|0)!=(h|0))}if(!a)break;else{m=m+e|0;d=d+g|0;f=f+c|0;a=a+-1|0}}return}function oI(a,c,d,e,f,g,i,j){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=j+-1|0;if(!j)return;j=i+-4|0;if((i|0)<4){l=(i|0)>0;m=d;n=f;o=a;p=k;while(1){if(l){q=0;do{b[n+q>>0]=b[243744+((h[o+q>>0]|0|256)-(h[m+q>>0]|0))>>0]|0;q=q+1|0}while((q|0)!=(i|0))}if(!p)break;else{m=m+e|0;n=n+g|0;o=o+c|0;p=p+-1|0}}return}p=i&-4;o=(p|0)<(i|0);n=d;d=f;f=a;a=k;while(1){k=0;do{m=k|1;l=b[243744+((h[f+m>>0]|0|256)-(h[n+m>>0]|0))>>0]|0;b[d+k>>0]=b[243744+((h[f+k>>0]|0|256)-(h[n+k>>0]|0))>>0]|0;b[d+m>>0]=l;l=k|2;m=k|3;q=b[243744+((h[f+m>>0]|0|256)-(h[n+m>>0]|0))>>0]|0;b[d+l>>0]=b[243744+((h[f+l>>0]|0|256)-(h[n+l>>0]|0))>>0]|0;b[d+m>>0]=q;k=k+4|0}while((k|0)<=(j|0));if(o){k=p;do{b[d+k>>0]=b[243744+((h[f+k>>0]|0|256)-(h[n+k>>0]|0))>>0]|0;k=k+1|0}while((k|0)!=(i|0))}if(!a)break;else{n=n+e|0;d=d+g|0;f=f+c|0;a=a+-1|0}}return}function pI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;yV(e,31448);NH(a,b,c,BK()|0,-1,31468,0,0,3);if(!(f[e+4>>2]|0)){u=d;return}u=d;return}function qI(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;DI(a,b,c,d,e,f,g,h);return}function rI(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;CI(a,b,c,d,e,f,g,h);return}function sI(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;BI(a,b,c,d,e,f,g,h);return}function tI(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;AI(a,b,c,d,e,f,g,h);return}function uI(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;zI(a,b,c,d,e,f,g,h);return}function vI(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;yI(a,b,c,d,e,f,g,h);return}function wI(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;xI(a,b,c,d,e,f,g,h);return}function xI(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0.0,r=0.0;i=h+-1|0;if(!h)return;h=g+-4|0;if((g|0)<4){j=(g|0)>0;k=c;l=e;m=a;n=i;while(1){if(j){o=0;do{q=+K(+(+p[m+(o<<3)>>3]-+p[k+(o<<3)>>3]));p[l+(o<<3)>>3]=q;o=o+1|0}while((o|0)!=(g|0))}if(!n)break;else{k=k+d|0;l=l+f|0;m=m+b|0;n=n+-1|0}}return}n=g&-4;m=(n|0)<(g|0);l=c;c=e;e=a;a=i;while(1){i=0;do{q=+K(+(+p[e+(i<<3)>>3]-+p[l+(i<<3)>>3]));k=i|1;r=+K(+(+p[e+(k<<3)>>3]-+p[l+(k<<3)>>3]));p[c+(i<<3)>>3]=q;p[c+(k<<3)>>3]=r;k=i|2;r=+K(+(+p[e+(k<<3)>>3]-+p[l+(k<<3)>>3]));j=i|3;q=+K(+(+p[e+(j<<3)>>3]-+p[l+(j<<3)>>3]));p[c+(k<<3)>>3]=r;p[c+(j<<3)>>3]=q;i=i+4|0}while((i|0)<=(h|0));if(m){i=n;do{q=+K(+(+p[e+(i<<3)>>3]-+p[l+(i<<3)>>3]));p[c+(i<<3)>>3]=q;i=i+1|0}while((i|0)!=(g|0))}if(!a)break;else{l=l+d|0;c=c+f|0;e=e+b|0;a=a+-1|0}}return}function yI(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0.0,r=0.0;i=h+-1|0;if(!h)return;h=g+-4|0;if((g|0)<4){j=(g|0)>0;k=c;l=e;m=a;o=i;while(1){if(j){p=0;do{q=+K(+(+n[m+(p<<2)>>2]-+n[k+(p<<2)>>2]));n[l+(p<<2)>>2]=q;p=p+1|0}while((p|0)!=(g|0))}if(!o)break;else{k=k+d|0;l=l+f|0;m=m+b|0;o=o+-1|0}}return}o=g&-4;m=(o|0)<(g|0);l=c;c=e;e=a;a=i;while(1){i=0;do{q=+K(+(+n[e+(i<<2)>>2]-+n[l+(i<<2)>>2]));k=i|1;r=+K(+(+n[e+(k<<2)>>2]-+n[l+(k<<2)>>2]));n[c+(i<<2)>>2]=q;n[c+(k<<2)>>2]=r;k=i|2;r=+K(+(+n[e+(k<<2)>>2]-+n[l+(k<<2)>>2]));j=i|3;q=+K(+(+n[e+(j<<2)>>2]-+n[l+(j<<2)>>2]));n[c+(k<<2)>>2]=r;n[c+(j<<2)>>2]=q;i=i+4|0}while((i|0)<=(h|0));if(m){i=o;do{q=+K(+(+n[e+(i<<2)>>2]-+n[l+(i<<2)>>2]));n[c+(i<<2)>>2]=q;i=i+1|0}while((i|0)!=(g|0))}if(!a)break;else{l=l+d|0;c=c+f|0;e=e+b|0;a=a+-1|0}}return}function zI(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;j=i+-1|0;if(!i)return;i=h+-4|0;if((h|0)<4){k=(h|0)>0;l=c;m=e;n=a;o=j;while(1){if(k){p=0;do{q=f[n+(p<<2)>>2]|0;r=f[l+(p<<2)>>2]|0;f[m+(p<<2)>>2]=(q|0)>(r|0)?q-r|0:r-q|0;p=p+1|0}while((p|0)!=(h|0))}if(!o)break;else{l=l+d|0;m=m+g|0;n=n+b|0;o=o+-1|0}}return}o=h&-4;n=(o|0)<(h|0);m=c;c=e;e=a;a=j;while(1){j=0;do{l=f[e+(j<<2)>>2]|0;k=f[m+(j<<2)>>2]|0;p=j|1;q=f[e+(p<<2)>>2]|0;r=f[m+(p<<2)>>2]|0;f[c+(j<<2)>>2]=(l|0)>(k|0)?l-k|0:k-l|0;f[c+(p<<2)>>2]=(q|0)>(r|0)?q-r|0:r-q|0;q=j|2;r=f[e+(q<<2)>>2]|0;p=f[m+(q<<2)>>2]|0;l=j|3;k=f[e+(l<<2)>>2]|0;s=f[m+(l<<2)>>2]|0;f[c+(q<<2)>>2]=(r|0)>(p|0)?r-p|0:p-r|0;f[c+(l<<2)>>2]=(k|0)>(s|0)?k-s|0:s-k|0;j=j+4|0}while((j|0)<=(i|0));if(n){j=o;do{k=f[e+(j<<2)>>2]|0;s=f[m+(j<<2)>>2]|0;f[c+(j<<2)>>2]=(k|0)>(s|0)?k-s|0:s-k|0;j=j+1|0}while((j|0)!=(h|0))}if(!a)break;else{m=m+d|0;c=c+g|0;e=e+b|0;a=a+-1|0}}return}function AI(a,b,c,e,f,g,h,i){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!i)return;j=h+-4|0;k=(h|0)<4;l=h&-4;m=c;c=f;f=a;a=i;while(1){a=a+-1|0;if(k)n=0;else{i=0;do{o=(d[f+(i<<1)>>1]|0)-(d[m+(i<<1)>>1]|0)|0;p=(o|0)>-1?o:0-o|0;o=i|1;q=(d[f+(o<<1)>>1]|0)-(d[m+(o<<1)>>1]|0)|0;r=(q|0)>-1?q:0-q|0;d[c+(i<<1)>>1]=(p+32768|0)>>>0<65536?p:(p|0)>0?32767:32768;d[c+(o<<1)>>1]=(r+32768|0)>>>0<65536?r:(r|0)>0?32767:32768;r=i|2;o=(d[f+(r<<1)>>1]|0)-(d[m+(r<<1)>>1]|0)|0;p=(o|0)>-1?o:0-o|0;o=i|3;q=(d[f+(o<<1)>>1]|0)-(d[m+(o<<1)>>1]|0)|0;s=(q|0)>-1?q:0-q|0;d[c+(r<<1)>>1]=(p+32768|0)>>>0<65536?p:(p|0)>0?32767:32768;d[c+(o<<1)>>1]=(s+32768|0)>>>0<65536?s:(s|0)>0?32767:32768;i=i+4|0}while((i|0)<=(j|0));n=l}if((n|0)<(h|0)){i=n;do{s=(d[f+(i<<1)>>1]|0)-(d[m+(i<<1)>>1]|0)|0;o=(s|0)>-1?s:0-s|0;d[c+(i<<1)>>1]=(o+32768|0)>>>0<65536?o:(o|0)>0?32767:32768;i=i+1|0}while((i|0)!=(h|0))}if(!a)break;else{m=m+e|0;c=c+g|0;f=f+b|0}}return} +function iM(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0;e=u;u=u+160|0;g=e+144|0;h=e+136|0;i=e+72|0;j=e+128|0;k=e+16|0;l=e+8|0;m=e;yV(g,32272);if((RJ(a,-1)|0)>=3){f[h>>2]=0;f[h+4>>2]=0;n=JV(h,16)|0;o=155132;p=n+16|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));EP(-215,h,155149,154597,748);KV(h)}FJ(h,a,-1);o=f[h>>2]|0;if((d|0)<0)q=(f[h+4>>2]|0)==1?1:(o|0)==1?0:d;else q=d;d=(o|0)==1;if((!((q|0)>0&d)?(o=h+4|0,n=(f[o>>2]|0)==1,!((q|0)==0&n)):0)?(p=(q|0)<0,!(p&d&n)):0){do if((HJ(a)|0)==65536){n=f[a+4>>2]|0;f[i>>2]=f[n>>2];d=i+4|0;r=n+4|0;f[d>>2]=f[r>>2];s=i+8|0;f[s>>2]=f[n+8>>2];f[i+12>>2]=f[n+12>>2];f[i+16>>2]=f[n+16>>2];f[i+20>>2]=f[n+20>>2];f[i+24>>2]=f[n+24>>2];f[i+28>>2]=f[n+28>>2];f[i+32>>2]=f[n+32>>2];t=f[n+36>>2]|0;f[i+36>>2]=t;f[i+40>>2]=s;s=i+48|0;v=i+44|0;f[v>>2]=s;f[s>>2]=0;f[i+52>>2]=0;if(t|0){s=t+12|0;f[s>>2]=(f[s>>2]|0)+1}if((f[r>>2]|0)<3){r=f[n+44>>2]|0;s=f[v>>2]|0;f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2];w=i;break}else{f[d>>2]=0;WO(i,n);w=i;break}}else{DJ(i,a,-1);w=i}while(0);n=f[w>>2]|0;w=n&4095;f[j>>2]=f[h>>2];f[j+4>>2]=f[o>>2];_J(c,j,w,-1,0,0);do if((HJ(c)|0)==65536){j=f[c+4>>2]|0;f[k>>2]=f[j>>2];o=k+4|0;h=j+4|0;f[o>>2]=f[h>>2];d=k+8|0;f[d>>2]=f[j+8>>2];f[k+12>>2]=f[j+12>>2];r=k+16|0;f[r>>2]=f[j+16>>2];f[k+20>>2]=f[j+20>>2];f[k+24>>2]=f[j+24>>2];f[k+28>>2]=f[j+28>>2];f[k+32>>2]=f[j+32>>2];s=f[j+36>>2]|0;f[k+36>>2]=s;f[k+40>>2]=d;d=k+48|0;v=k+44|0;f[v>>2]=d;f[d>>2]=0;f[k+52>>2]=0;if(s|0){t=s+12|0;f[t>>2]=(f[t>>2]|0)+1}if((f[h>>2]|0)<3){h=f[j+44>>2]|0;t=f[v>>2]|0;f[t>>2]=f[h>>2];f[t+4>>2]=f[h+4>>2];x=r;y=v;z=d;break}else{f[o>>2]=0;WO(k,j);x=r;y=v;z=d;break}}else{DJ(k,c,-1);x=k+16|0;y=k+44|0;z=k+48|0}while(0);d=(n>>>3&511)+1<<(47696>>>(w<<1&14)&3);w=i+16|0;n=f[w>>2]|0;v=i+44|0;r=i+48|0;j=f[r>>2]|0;o=f[x>>2]|0;h=f[z>>2]|0;t=i+40|0;s=f[t>>2]|0;A=f[s+4>>2]|0;B=f[s>>2]|0;a:do if((q|0)<1){s=B+-1|0;C=X(A,d)|0;if((B|0)>0){D=o+(X(s,h)|0)|0;E=n+(X(s,j)|0)|0;s=0-j|0;F=0-h|0;G=C+-4|0;H=C+-16|0;I=(B+1|0)/2|0;if((C|0)<16){J=C&-4;K=(C|0)<4;L=E;M=D;N=0;O=n;P=o;while(1){if(((P|O|L|M)&3|0)!=0|K)Q=0;else{R=0;do{S=f[O+R>>2]|0;f[P+R>>2]=f[L+R>>2];f[M+R>>2]=S;R=R+4|0}while((R|0)<=(G|0));Q=J}if((Q|0)<(C|0)){R=Q;do{S=b[O+R>>0]|0;b[P+R>>0]=b[L+R>>0]|0;b[M+R>>0]=S;R=R+1|0}while((R|0)!=(C|0))}N=N+1|0;if((N|0)>=(I|0))break a;else{L=L+s|0;M=M+F|0;O=O+j|0;P=P+h|0}}}P=C&-16;O=(P|0)>(G|0);M=E;L=D;N=0;J=n;K=o;while(1){if(!((K|J|M|L)&3)){R=0;do{S=J+R|0;T=f[S>>2]|0;U=M+R|0;V=K+R|0;f[V>>2]=f[U>>2];W=L+R|0;f[W>>2]=T;T=f[S+4>>2]|0;f[V+4>>2]=f[U+4>>2];f[W+4>>2]=T;T=f[S+8>>2]|0;f[V+8>>2]=f[U+8>>2];f[W+8>>2]=T;T=f[S+12>>2]|0;f[V+12>>2]=f[U+12>>2];f[W+12>>2]=T;R=R+16|0}while((R|0)<=(H|0));if(O)Y=P;else{R=P;while(1){T=f[J+R>>2]|0;f[K+R>>2]=f[M+R>>2];f[L+R>>2]=T;T=R+4|0;if((T|0)>(G|0)){Y=T;break}else R=T}}}else Y=0;if((Y|0)<(C|0)){R=Y;do{T=b[J+R>>0]|0;b[K+R>>0]=b[M+R>>0]|0;b[L+R>>0]=T;R=R+1|0}while((R|0)!=(C|0))}N=N+1|0;if((N|0)>=(I|0))break;else{M=M+s|0;L=L+F|0;J=J+j|0;K=K+h|0}}}}else{f[l>>2]=A;f[l+4>>2]=B;jM(n,j,o,h,l,d)}while(0);if(p){p=f[x>>2]|0;l=f[z>>2]|0;h=f[k+40>>2]|0;o=f[h>>2]|0;f[m>>2]=f[h+4>>2];f[m+4>>2]=o;jM(p,l,p,l,m,d)}d=k+36|0;m=f[d>>2]|0;if(m|0?(l=m+12|0,m=f[l>>2]|0,f[l>>2]=m+-1,(m|0)==1):0)XO(k);f[d>>2]=0;d=k+4|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;if((f[d>>2]|0)>0){x=f[k+40>>2]|0;k=0;do{f[x+(k<<2)>>2]=0;k=k+1|0}while((k|0)<(f[d>>2]|0))}d=f[y>>2]|0;if((d|0)!=(z|0))dX(d);d=i+36|0;z=f[d>>2]|0;if(z|0?(y=z+12|0,z=f[y>>2]|0,f[y>>2]=z+-1,(z|0)==1):0)XO(i);f[d>>2]=0;d=i+4|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;if((f[d>>2]|0)>0){w=f[t>>2]|0;t=0;do{f[w+(t<<2)>>2]=0;t=t+1|0}while((t|0)<(f[d>>2]|0))}d=f[v>>2]|0;if((d|0)!=(r|0))dX(d)}else XJ(a,c);if(!(f[g+4>>2]|0)){u=e;return}u=e;return}function jM(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;i=u;u=u+1072|0;j=i;k=f[g>>2]|0;l=X((k+1|0)/2|0,h)|0;m=X(k,h)|0;n=j+8|0;f[j>>2]=n;o=j+4|0;f[o>>2]=m;if(m>>>0>264){p=FQa(m>>>0>1073741823?-1:m<<2)|0;f[j>>2]=p;q=p}else q=n;a:do if((k|0)>0){if(!h){p=0;while(1){p=p+1|0;if((p|0)>=(k|0))break a}}else r=0;do{p=X(r,h)|0;m=X(k+~r|0,h)|0;s=0;do{f[q+(s+p<<2)>>2]=m+s;s=s+1|0}while((s|0)!=(h|0));r=r+1|0}while((r|0)<(k|0))}while(0);k=g+4|0;g=f[k>>2]|0;r=g+-1|0;f[k>>2]=r;do if(!g)t=q;else{if((l|0)>0){v=d;w=a}else{h=r;do{s=h;h=h+-1|0}while((s|0)!=0);f[k>>2]=h;t=q;break}while(1){s=0;do{m=f[q+(s<<2)>>2]|0;p=b[w+s>>0]|0;b[v+s>>0]=b[w+m>>0]|0;b[v+m>>0]=p;s=s+1|0}while((s|0)!=(l|0));s=f[k>>2]|0;f[k>>2]=s+-1;if(!s)break;else{v=v+e|0;w=w+c|0}}t=f[j>>2]|0}while(0);if((t|0)==(n|0)){u=i;return}if(t|0)HQa(t);f[j>>2]=n;f[o>>2]=264;u=i;return}function kM(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;g=u;u=u+128|0;h=g+120|0;i=g+112|0;j=g+56|0;k=g;yV(h,32292);l=a+4|0;m=e+4|0;if((f[l>>2]|0)==(f[m>>2]|0)){f[i>>2]=0;f[i+4>>2]=0;n=JV(i,30)|0;o=155206;p=n+30|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));EP(-215,i,155237,154597,868);KV(i)}if((RJ(a,-1)|0)>=3){f[i>>2]=0;f[i+4>>2]=0;n=JV(i,16)|0;o=155132;p=n+16|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));EP(-215,i,155237,154597,869);KV(i)}if(!((c|0)>0&(d|0)>0)){f[i>>2]=0;f[i+4>>2]=0;n=JV(i,16)|0;o=155244;p=n+16|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));EP(-215,i,155237,154597,870);KV(i)}FJ(i,a,-1);o=i+4|0;n=f[o>>2]|0;p=f[i>>2]|0;vK(e,X(n,c)|0,X(p,d)|0,GJ(a,-1)|0,-1,0,0);do if((HJ(a)|0)==65536){d=f[l>>2]|0;f[j>>2]=f[d>>2];p=j+4|0;c=d+4|0;f[p>>2]=f[c>>2];n=j+8|0;f[n>>2]=f[d+8>>2];f[j+12>>2]=f[d+12>>2];f[j+16>>2]=f[d+16>>2];f[j+20>>2]=f[d+20>>2];f[j+24>>2]=f[d+24>>2];f[j+28>>2]=f[d+28>>2];f[j+32>>2]=f[d+32>>2];q=f[d+36>>2]|0;f[j+36>>2]=q;f[j+40>>2]=n;n=j+48|0;r=j+44|0;f[r>>2]=n;f[n>>2]=0;f[j+52>>2]=0;if(q|0){n=q+12|0;f[n>>2]=(f[n>>2]|0)+1}if((f[c>>2]|0)<3){c=f[d+44>>2]|0;n=f[r>>2]|0;f[n>>2]=f[c>>2];f[n+4>>2]=f[c+4>>2];break}else{f[p>>2]=0;WO(j,d);break}}else DJ(j,a,-1);while(0);do if((HJ(e)|0)==65536){a=f[m>>2]|0;f[k>>2]=f[a>>2];l=k+4|0;d=a+4|0;f[l>>2]=f[d>>2];p=k+8|0;f[p>>2]=f[a+8>>2];f[k+12>>2]=f[a+12>>2];f[k+16>>2]=f[a+16>>2];f[k+20>>2]=f[a+20>>2];f[k+24>>2]=f[a+24>>2];f[k+28>>2]=f[a+28>>2];f[k+32>>2]=f[a+32>>2];c=f[a+36>>2]|0;f[k+36>>2]=c;n=k+40|0;f[n>>2]=p;p=k+48|0;r=k+44|0;f[r>>2]=p;f[p>>2]=0;f[k+52>>2]=0;if(c|0){p=c+12|0;f[p>>2]=(f[p>>2]|0)+1}if((f[d>>2]|0)<3){d=f[a+44>>2]|0;p=f[r>>2]|0;f[p>>2]=f[d>>2];f[p+4>>2]=f[d+4>>2];s=n;break}else{f[l>>2]=0;WO(k,a);s=n;break}}else{DJ(k,e,-1);s=k+40|0}while(0);e=f[s>>2]|0;m=f[e+4>>2]|0;n=f[e>>2]|0;e=j+4|0;a=f[e>>2]|0;if((a|0)>0)t=f[(f[j+44>>2]|0)+(a+-1<<2)>>2]|0;else t=0;a=X(f[i>>2]|0,t)|0;f[i>>2]=a;l=X(t,m)|0;m=f[o>>2]|0;a:do if((m|0)>0){t=k+16|0;d=k+44|0;p=j+16|0;r=j+44|0;if((l|0)>0){v=0;w=a}else{c=0;while(1){q=c+1|0;if((q|0)<(m|0))c=q;else{x=q;y=m;break a}}}while(1){c=0;q=w;do{z=(f[t>>2]|0)+(X(f[f[d>>2]>>2]|0,v)|0)+c|0;DVa(z|0,(f[p>>2]|0)+(X(f[f[r>>2]>>2]|0,v)|0)|0,q|0)|0;q=f[i>>2]|0;c=q+c|0}while((c|0)<(l|0));c=v+1|0;z=f[o>>2]|0;if((c|0)<(z|0)){v=c;w=q}else{x=c;y=z;break}}}else{x=0;y=m}while(0);if((x|0)<(n|0)?(m=k+16|0,w=k+44|0,v=f[m>>2]|0,i=f[f[w>>2]>>2]|0,DVa(v+(X(i,x)|0)|0,v+(X(x-y|0,i)|0)|0,l|0)|0,i=x+1|0,(i|0)!=(n|0)):0){x=i;do{i=f[m>>2]|0;y=f[f[w>>2]>>2]|0;DVa(i+(X(y,x)|0)|0,i+(X(x-(f[o>>2]|0)|0,y)|0)|0,l|0)|0;x=x+1|0}while((x|0)!=(n|0))}n=k+36|0;x=f[n>>2]|0;if(x|0?(l=x+12|0,x=f[l>>2]|0,f[l>>2]=x+-1,(x|0)==1):0)XO(k);f[n>>2]=0;n=k+16|0;x=k+4|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;if((f[x>>2]|0)>0){n=f[s>>2]|0;s=0;do{f[n+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[x>>2]|0))}x=f[k+44>>2]|0;if((x|0)!=(k+48|0))dX(x);x=j+36|0;k=f[x>>2]|0;if(k|0?(s=k+12|0,k=f[s>>2]|0,f[s>>2]=k+-1,(k|0)==1):0)XO(j);f[x>>2]=0;x=j+16|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;if((f[e>>2]|0)>0){x=f[j+40>>2]|0;k=0;do{f[x+(k<<2)>>2]=0;k=k+1|0}while((k|0)<(f[e>>2]|0))}e=f[j+44>>2]|0;if((e|0)!=(j+48|0))dX(e);if(!(f[h+4>>2]|0)){u=g;return}u=g;return}function lM(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=u;u=u+16|0;g=e;if(a>>>0>>0){h=a;u=e;return h|0}switch(d|0){case 1:{h=(a|0)<0?0:c+-1|0;u=e;return h|0}case 2:case 4:{i=(d|0)==4;d=i&1;if((c|0)==1){h=0;u=e;return h|0}j=(c<<1)+-1+(i<<31>>31)|0;i=a;while(1){k=(i|0)<0?~i+d|0:j-i|0;if(k>>>0>>0){h=k;break}else i=k}u=e;return h|0}case 3:{if((c|0)<=0){f[g>>2]=0;f[g+4>>2]=0;i=JV(g,7)|0;b[i>>0]=b[182557]|0;b[i+1>>0]=b[182558]|0;b[i+2>>0]=b[182559]|0;b[i+3>>0]=b[182560]|0;b[i+4>>0]=b[182561]|0;b[i+5>>0]=b[182562]|0;b[i+6>>0]=b[182563]|0;EP(-215,g,155320,154597,942);KV(g)}i=a-c|0;if((a|0)<0)l=~i+a+((i+1|0)%(c|0)|0)|0;else l=a;if((l|0)<(c|0)){h=l;u=e;return h|0}h=(l|0)%(c|0)|0;u=e;return h|0}case 0:{h=-1;u=e;return h|0}default:{f[g>>2]=0;f[g+4>>2]=0;c=JV(g,31)|0;l=155338;i=c+31|0;do{b[c>>0]=b[l>>0]|0;c=c+1|0;l=l+1|0}while((c|0)<(i|0));EP(-5,g,155320,154597,951);KV(g);h=a;u=e;return h|0}}return 0}function mM(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0.0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;k=u;u=u+2288|0;l=k+1216|0;m=k+1208|0;n=k+1152|0;o=k+1096|0;q=k;yV(m,32312);if((e|d|g|h|0)<=-1){f[l>>2]=0;f[l+4>>2]=0;r=JV(l,50)|0;s=155370;t=r+50|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));EP(-215,l,155421,154597,1187);KV(l)}do if((HJ(a)|0)==65536){v=f[a+4>>2]|0;f[n>>2]=f[v>>2];w=n+4|0;x=v+4|0;f[w>>2]=f[x>>2];y=n+8|0;f[y>>2]=f[v+8>>2];f[n+12>>2]=f[v+12>>2];f[n+16>>2]=f[v+16>>2];f[n+20>>2]=f[v+20>>2];f[n+24>>2]=f[v+24>>2];f[n+28>>2]=f[v+28>>2];f[n+32>>2]=f[v+32>>2];z=f[v+36>>2]|0;f[n+36>>2]=z;f[n+40>>2]=y;y=n+48|0;A=n+44|0;f[A>>2]=y;f[y>>2]=0;f[n+52>>2]=0;if(z|0){y=z+12|0;f[y>>2]=(f[y>>2]|0)+1}if((f[x>>2]|0)<3){x=f[v+44>>2]|0;y=f[A>>2]|0;f[y>>2]=f[x>>2];f[y+4>>2]=f[x+4>>2];B=n;break}else{f[w>>2]=0;WO(n,v);B=n;break}}else{DJ(n,a,-1);B=n}while(0);a=f[B>>2]|0;if((i&16|0)==0&(a&32768|0)!=0){f[l>>2]=0;v=l+4|0;f[v>>2]=0;f[o>>2]=0;w=o+4|0;f[w>>2]=0;fP(n,l,o);x=f[w>>2]|0;w=(x|0)>(d|0)?d:x;y=n+8|0;A=(f[v>>2]|0)-(f[y>>2]|0)-x|0;x=(A|0)>(e|0)?e:A;A=f[o>>2]|0;v=(A|0)>(g|0)?g:A;z=n+12|0;C=(f[l>>2]|0)-(f[z>>2]|0)-A|0;A=(C|0)>(h|0)?h:C;gP(n,w,x,v,A)|0;D=d-w|0;E=e-x|0;F=g-v|0;G=h-A|0;H=y;I=z}else{D=d;E=e;F=g;G=h;H=n+8|0;I=n+12|0}vK(c,D+E+(f[H>>2]|0)|0,F+G+(f[I>>2]|0)|0,a&4095,-1,0,0);do if((HJ(c)|0)==65536){a=f[c+4>>2]|0;f[o>>2]=f[a>>2];I=o+4|0;H=a+4|0;f[I>>2]=f[H>>2];h=o+8|0;f[h>>2]=f[a+8>>2];f[o+12>>2]=f[a+12>>2];f[o+16>>2]=f[a+16>>2];f[o+20>>2]=f[a+20>>2];f[o+24>>2]=f[a+24>>2];f[o+28>>2]=f[a+28>>2];f[o+32>>2]=f[a+32>>2];g=f[a+36>>2]|0;f[o+36>>2]=g;f[o+40>>2]=h;h=o+48|0;e=o+44|0;f[e>>2]=h;f[h>>2]=0;f[o+52>>2]=0;if(g|0){h=g+12|0;f[h>>2]=(f[h>>2]|0)+1}if((f[H>>2]|0)<3){H=f[a+44>>2]|0;h=f[e>>2]|0;f[h>>2]=f[H>>2];f[h+4>>2]=f[H+4>>2];break}else{f[I>>2]=0;WO(o,a);break}}else DJ(o,c,-1);while(0);do if(F|G|E|D){c=i&-17;if(!c){a=f[B>>2]|0;I=a>>>3&511;H=I+1|0;h=q+8|0;f[q>>2]=h;e=q+4|0;f[e>>2]=H;if(I>>>0<=135)if(I>>>0>3){J=h;K=87}else{L=H;M=a;N=h}else{I=FQa(H<<3)|0;f[q>>2]=I;J=I;K=87}do if((K|0)==87){O=+p[j>>3];if((O==+p[j+8>>3]?O==+p[j+16>>3]:0)?O==+p[j+24>>3]:0){L=1;M=a;N=J;break}f[l>>2]=0;f[l+4>>2]=0;r=JV(l,68)|0;s=155436;t=r+68|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));EP(-215,l,155421,154597,1235);KV(l);L=1;M=f[B>>2]|0;N=f[q>>2]|0}while(0);uW(j,N,M&7|(L<<3)+-8,H);a=f[n+16>>2]|0;I=f[n+48>>2]|0;g=f[n+40>>2]|0;d=f[g+4>>2]|0;z=f[g>>2]|0;g=f[o+16>>2]|0;y=f[o+48>>2]|0;A=f[o+40>>2]|0;v=f[A+4>>2]|0;x=f[A>>2]|0;A=f[n+4>>2]|0;if((A|0)>0)P=f[(f[n+44>>2]|0)+(A+-1<<2)>>2]|0;else P=0;A=f[q>>2]|0;w=X(P,v)|0;C=l+8|0;f[l>>2]=C;Q=l+4|0;f[Q>>2]=w;if(w>>>0>1032){R=FQa(w)|0;f[l>>2]=R;S=R}else S=C;R=v-(d+F)|0;T=x-D-z|0;if((v|0)>0&(P|0)>0){x=0;do{U=X(x,P)|0;V=0;do{b[S+(V+U)>>0]=b[A+V>>0]|0;V=V+1|0}while((V|0)!=(P|0));x=x+1|0}while((x|0)!=(v|0))}v=X(P,d)|0;x=X(P,F)|0;A=X(P,R)|0;H=g+(X(y,D)|0)|0;if((z|0)>0){V=0-x|0;U=a;W=H+x|0;Y=0;while(1){if((W|0)!=(U|0))DVa(W|0,U|0,v|0)|0;DVa(W+V|0,S|0,x|0)|0;DVa(W+v|0,S|0,A|0)|0;Y=Y+1|0;if((Y|0)==(z|0))break;else{U=U+I|0;W=W+y|0}}}if((D|0)>0){W=0;do{DVa(H+(X(W-D|0,y)|0)|0,S|0,w|0)|0;W=W+1|0}while((W|0)!=(D|0))}if((T|0)>0){W=0;do{DVa(H+(X(W+z|0,y)|0)|0,S|0,w|0)|0;W=W+1|0}while((W|0)!=(T|0))}T=f[l>>2]|0;if((T|0)!=(C|0)){if(T|0)HQa(T);f[l>>2]=C;f[Q>>2]=1032}T=f[q>>2]|0;if((T|0)!=(h|0)){if(T|0)HQa(T);f[q>>2]=h;f[e>>2]=136}break}T=f[n+16>>2]|0;W=f[n+48>>2]|0;w=f[n+40>>2]|0;y=f[w+4>>2]|0;z=f[w>>2]|0;w=f[o+16>>2]|0;H=f[o+48>>2]|0;I=f[o+40>>2]|0;U=f[I+4>>2]|0;Y=f[I>>2]|0;I=f[n+4>>2]|0;if((I|0)>0)Z=f[(f[n+44>>2]|0)+(I+-1<<2)>>2]|0;else Z=0;I=((W|T|H|w|Z)&3|0)==0;A=I?4:1;v=I?(Z|0)/4|0:Z;x=U-y|0;V=X(v,x)|0;a=l+8|0;f[l>>2]=a;g=l+4|0;f[g>>2]=V;if(V>>>0>264){R=FQa(V>>>0>1073741823?-1:V<<2)|0;f[l>>2]=R;_=R}else _=a;R=x-F|0;x=Y-D-z|0;a:do if((F|0)>0){if((v|0)>0)$=0;else{Y=0;while(1){lM(Y-F|0,y,c)|0;Y=Y+1|0;if((Y|0)>=(F|0))break a}}do{Y=X(lM($-F|0,y,c)|0,v)|0;V=X($,v)|0;d=0;do{f[_+(d+V<<2)>>2]=d+Y;d=d+1|0}while((d|0)!=(v|0));$=$+1|0}while(($|0)<(F|0))}while(0);b:do if((R|0)>0){if((v|0)>0)aa=0;else{e=0;while(1){lM(e+y|0,y,c)|0;e=e+1|0;if((e|0)>=(R|0))break b}}do{e=X(lM(aa+y|0,y,c)|0,v)|0;h=X(aa+F|0,v)|0;Q=0;do{f[_+(Q+h<<2)>>2]=Q+e;Q=Q+1|0}while((Q|0)!=(v|0));aa=aa+1|0}while((aa|0)<(R|0))}while(0);Q=X(v,y)|0;e=X(v,U)|0;h=X(v,F)|0;C=X(v,R)|0;d=w+(X(H,D)|0)|0;Y=d+(X(h,A)|0)|0;c:do if((z|0)>0){V=(h|0)>0;ba=(C|0)>0;ca=X(Q,A)|0;if(!I){if(V){da=Y;ea=T;fa=0;while(1){if((da|0)==(ea|0))ga=0;else{DVa(da|0,ea|0,ca|0)|0;ga=0}do{b[da+(ga-h)>>0]=b[ea+(f[_+(ga<<2)>>2]|0)>>0]|0;ga=ga+1|0}while((ga|0)!=(h|0));if(ba){ha=0;do{b[da+(ha+Q)>>0]=b[ea+(f[_+(ha+h<<2)>>2]|0)>>0]|0;ha=ha+1|0}while((ha|0)!=(C|0))}fa=fa+1|0;if((fa|0)==(z|0))break c;else{da=da+H|0;ea=ea+W|0}}}if(ba){ia=Y;ja=T;ka=0}else{ea=Y;da=T;fa=0;while(1){if((ea|0)!=(da|0))DVa(ea|0,da|0,ca|0)|0;fa=fa+1|0;if((fa|0)==(z|0))break c;else{ea=ea+H|0;da=da+W|0}}}while(1){if((ia|0)==(ja|0))la=0;else{DVa(ia|0,ja|0,ca|0)|0;la=0}do{b[ia+(la+Q)>>0]=b[ja+(f[_+(la+h<<2)>>2]|0)>>0]|0;la=la+1|0}while((la|0)!=(C|0));ka=ka+1|0;if((ka|0)==(z|0))break c;else{ia=ia+H|0;ja=ja+W|0}}}if(V){da=Y;ea=T;fa=0;while(1){if((da|0)!=(ea|0))DVa(da|0,ea|0,ca|0)|0;ha=0;do{f[da+(ha-h<<2)>>2]=f[ea+(f[_+(ha<<2)>>2]<<2)>>2];ha=ha+1|0}while((ha|0)!=(h|0));if(ba){ha=0;do{f[da+(ha+Q<<2)>>2]=f[ea+(f[_+(ha+h<<2)>>2]<<2)>>2];ha=ha+1|0}while((ha|0)!=(C|0))}fa=fa+1|0;if((fa|0)==(z|0))break c;else{da=da+H|0;ea=ea+W|0}}}if(ba){ma=Y;na=T;oa=0}else{ea=Y;da=T;fa=0;while(1){if((ea|0)!=(da|0))DVa(ea|0,da|0,ca|0)|0;fa=fa+1|0;if((fa|0)==(z|0))break c;else{ea=ea+H|0;da=da+W|0}}}while(1){if((ma|0)!=(na|0))DVa(ma|0,na|0,ca|0)|0;da=0;do{f[ma+(da+Q<<2)>>2]=f[na+(f[_+(da+h<<2)>>2]<<2)>>2];da=da+1|0}while((da|0)!=(C|0));oa=oa+1|0;if((oa|0)==(z|0))break;else{ma=ma+H|0;na=na+W|0}}}while(0);W=X(e,A)|0;if((D|0)>0){C=0;do{h=C-D|0;DVa(d+(X(h,H)|0)|0,d+(X(lM(h,z,c)|0,H)|0)|0,W|0)|0;C=C+1|0}while((C|0)<(D|0))}if((x|0)>0){C=0;do{A=C+z|0;DVa(d+(X(A,H)|0)|0,d+(X(lM(A,z,c)|0,H)|0)|0,W|0)|0;C=C+1|0}while((C|0)<(x|0))}x=f[l>>2]|0;if((x|0)!=(a|0)){if(x|0)HQa(x);f[l>>2]=a;f[g>>2]=264}}else{if((f[n+16>>2]|0)==(f[o+16>>2]|0)?(f[n+48>>2]|0)==(f[o+48>>2]|0):0)break;x=l+8|0;f[x>>2]=0;f[x+4>>2]=0;f[l>>2]=33619968;f[l+4>>2]=o;eM(n,l)}while(0);l=o+36|0;D=f[l>>2]|0;if(D|0?(na=D+12|0,D=f[na>>2]|0,f[na>>2]=D+-1,(D|0)==1):0)XO(o);f[l>>2]=0;l=o+16|0;D=o+4|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;if((f[D>>2]|0)>0){l=f[o+40>>2]|0;na=0;do{f[l+(na<<2)>>2]=0;na=na+1|0}while((na|0)<(f[D>>2]|0))}D=f[o+44>>2]|0;if((D|0)!=(o+48|0))dX(D);D=n+36|0;o=f[D>>2]|0;if(o|0?(na=o+12|0,o=f[na>>2]|0,f[na>>2]=o+-1,(o|0)==1):0)XO(n);f[D>>2]=0;D=n+16|0;o=n+4|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;if((f[o>>2]|0)>0){D=f[n+40>>2]|0;na=0;do{f[D+(na<<2)>>2]=0;na=na+1|0}while((na|0)<(f[o>>2]|0))}o=f[n+44>>2]|0;if((o|0)!=(n+48|0))dX(o);if(!(f[m+4>>2]|0)){u=k;return}u=k;return}function nM(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;e=u;u=u+208|0;g=e+144|0;h=e+88|0;i=e+72|0;j=e+56|0;k=e;l=(a|0)!=0;if((l?(c|0?(f[a>>2]&-65536|0)==1111752704:0):0)?(f[c>>2]&-65536|0)==1111752704:0){if(d|0){f[g>>2]=0;f[g+4>>2]=0;m=JV(g,12)|0;n=155607;o=m+12|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,g,155620,154597,1251);KV(g)}p=a+4|0;f[c+4>>2]=f[p>>2];DVa(c+36|0,a+36|0,f[p>>2]<<2|0)|0;f[c+28>>2]=f[a+28>>2];f[c+32>>2]=f[a+32>>2];p=c+16|0;WM(f[p>>2]|0);q=c+24|0;r=f[q>>2]|0;s=c+20|0;if((f[(f[a+16>>2]|0)+60>>2]|0)<(r*3|0)){t=s;v=r;w=f[s>>2]|0}else{fX(f[s>>2]|0);f[s>>2]=0;r=f[a+24>>2]|0;f[q>>2]=r;x=eX(r<<2)|0;f[s>>2]=x;t=s;v=f[q>>2]|0;w=x}FVa(w|0,0,v<<2|0)|0;v=aW(a,h)|0;a:do if(v|0){w=h+4|0;x=h+8|0;s=v;while(1){r=f[p>>2]|0;y=r+56|0;z=f[y>>2]|0;f[g>>2]=z;if(!z){VM(r,0,g)|0;A=f[p>>2]|0;B=f[g>>2]|0}else{f[y>>2]=f[z+4>>2];f[z>>2]=f[z>>2]&67108863;y=r+60|0;f[y>>2]=(f[y>>2]|0)+1;A=r;B=z}z=(f[q>>2]|0)+-1&f[s>>2];DVa(B|0,s|0,f[A+28>>2]|0)|0;r=(f[t>>2]|0)+(z<<2)|0;f[B+4>>2]=f[r>>2];f[r>>2]=B;r=f[(f[w>>2]|0)+4>>2]|0;if(!r){z=(f[x>>2]|0)+1|0;f[x>>2]=z;y=f[h>>2]|0;C=f[y+24>>2]|0;if((z|0)>=(C|0))break a;D=f[y+20>>2]|0;y=z;while(1){E=f[D+(y<<2)>>2]|0;if(E|0)break;z=y+1|0;if((z|0)<(C|0))y=z;else break a}f[x>>2]=y;F=E}else F=r;f[w>>2]=F;s=F}}while(0);u=e;return}NY(g,a,0,1,1,0);NY(h,c,0,1,1,0);b:do if(((f[h>>2]^f[g>>2])&7|0)==0?(F=f[g+40>>2]|0,E=f[F+-4>>2]|0,B=f[h+40>>2]|0,(E|0)==(f[B+-4>>2]|0)):0){if((E|0)==2){if((f[F>>2]|0)!=(f[B>>2]|0)){G=30;break}if((f[F+4>>2]|0)==(f[B+4>>2]|0))break;else{G=30;break}}if((E|0)>0){t=0;do{if((f[F+(t<<2)>>2]|0)!=(f[B+(t<<2)>>2]|0)){G=30;break b}t=t+1|0}while((t|0)<(E|0))}}else G=30;while(0);if((G|0)==30){f[i>>2]=0;f[i+4>>2]=0;m=JV(i,50)|0;n=155627;o=m+50|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,i,155620,154597,1285);KV(i)}if((l?(f[a>>2]|0)==112:0)?(f[a+68>>2]|0)!=0:0)H=pW(a)|0;else H=0;if(((c|0)!=0?(f[c>>2]|0)==112:0)?(f[c+68>>2]|0)!=0:0)I=pW(c)|0;else I=0;c=(I|0)==0;do if(!(I|H)){if((f[h>>2]^f[g>>2])&4088|0){f[i>>2]=0;f[i+4>>2]=0;m=JV(i,32)|0;n=155751;o=m+32|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,i,155620,154597,1303);KV(i)}if(!d){a=i+8|0;f[a>>2]=0;f[a+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=h;eM(g,i);break}a=i+8|0;f[a>>2]=0;f[a+4>>2]=0;f[i>>2]=33619968;f[i+4>>2]=h;NY(k,d,0,1,0,0);f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=16842752;f[j+4>>2]=k;fM(g,i,j);a=k+36|0;l=f[a>>2]|0;if(l|0?(E=l+12|0,l=f[E>>2]|0,f[E>>2]=l+-1,(l|0)==1):0)XO(k);f[a>>2]=0;a=k+16|0;l=k+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if((f[l>>2]|0)>0){a=f[k+40>>2]|0;E=0;do{f[a+(E<<2)>>2]=0;E=E+1|0}while((E|0)<(f[l>>2]|0))}l=f[k+44>>2]|0;if((l|0)!=(k+48|0))dX(l)}else{if((H|0)==0?(f[g>>2]&4088|0)!=0:0)G=44;else G=42;if(((G|0)==42?c:0)?f[h>>2]&4088|0:0)G=44;if((G|0)==44){f[i>>2]=0;f[i+4>>2]=0;m=JV(i,72)|0;n=155678;o=m+72|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));EP(-215,i,155620,154597,1296);KV(i)}l=H+-1|0;f[i>>2]=(l|0)>0?l:0;l=I+-1|0;f[i+4>>2]=(l|0)>0?l:0;jY(g,1,h,1,i,1)}while(0);i=h+36|0;I=f[i>>2]|0;if(I|0?(H=I+12|0,I=f[H>>2]|0,f[H>>2]=I+-1,(I|0)==1):0)XO(h);f[i>>2]=0;i=h+16|0;I=h+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[I>>2]|0)>0){i=f[h+40>>2]|0;H=0;do{f[i+(H<<2)>>2]=0;H=H+1|0}while((H|0)<(f[I>>2]|0))}I=f[h+44>>2]|0;if((I|0)!=(h+48|0))dX(I);I=g+36|0;h=f[I>>2]|0;if(h|0?(H=h+12|0,h=f[H>>2]|0,f[H>>2]=h+-1,(h|0)==1):0)XO(g);f[I>>2]=0;I=g+16|0;h=g+4|0;f[I>>2]=0;f[I+4>>2]=0;f[I+8>>2]=0;f[I+12>>2]=0;if((f[h>>2]|0)>0){I=f[g+40>>2]|0;H=0;do{f[I+(H<<2)>>2]=0;H=H+1|0}while((H|0)<(f[h>>2]|0))}h=f[g+44>>2]|0;if((h|0)!=(g+48|0))dX(h);u=e;return}function oM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0;d=u;u=u+192|0;e=d+136|0;g=d+32|0;h=d;i=d+120|0;j=d+64|0;NY(e,a,0,1,0,0);if(c){k=+p[b+8>>3];l=+p[b+16>>3];m=+p[b+24>>3];p[h>>3]=+p[b>>3];p[h+8>>3]=k;p[h+16>>3]=l;p[h+24>>3]=m;f[g>>2]=-1056833530;f[g+4>>2]=h;f[g+8>>2]=1;f[g+12>>2]=4;NY(j,c,0,1,0,0);f[i+8>>2]=0;f[i+12>>2]=0;f[i>>2]=16842752;f[i+4>>2]=j;hM(e,g,i)|0;i=j+36|0;c=f[i>>2]|0;if(c|0?(h=c+12|0,c=f[h>>2]|0,f[h>>2]=c+-1,(c|0)==1):0)XO(j);f[i>>2]=0;i=j+16|0;c=j+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;if((f[c>>2]|0)>0){i=f[j+40>>2]|0;h=0;do{f[i+(h<<2)>>2]=0;h=h+1|0}while((h|0)<(f[c>>2]|0))}c=f[j+44>>2]|0;if((c|0)!=(j+48|0))dX(c)}else{m=+p[b+8>>3];l=+p[b+16>>3];k=+p[b+24>>3];p[g>>3]=+p[b>>3];p[g+8>>3]=m;p[g+16>>3]=l;p[g+24>>3]=k;gM(e,g)|0}g=e+36|0;b=f[g>>2]|0;if(b|0?(c=b+12|0,b=f[c>>2]|0,f[c>>2]=b+-1,(b|0)==1):0)XO(e);f[g>>2]=0;g=e+16|0;b=e+4|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;if((f[b>>2]|0)>0){g=f[e+40>>2]|0;c=0;do{f[g+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}b=f[e+44>>2]|0;if((b|0)==(e+48|0)){u=d;return}dX(b);u=d;return}function pM(a){a=a|0;var b=0,c=0,d=0,e=0;b=u;u=u+96|0;c=b+32|0;d=b;if(a|0?(f[a>>2]&-65536|0)==1111752704:0){WM(f[a+16>>2]|0);e=f[a+20>>2]|0;if(!e){u=b;return}FVa(e|0,0,f[a+24>>2]<<2|0)|0;u=b;return}NY(c,a,0,1,0,0);f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[d+24>>2]=0;f[d+28>>2]=0;gM(c,d)|0;d=c+36|0;a=f[d>>2]|0;if(a|0?(e=a+12|0,a=f[e>>2]|0,f[e>>2]=a+-1,(a|0)==1):0)XO(c);f[d>>2]=0;d=c+16|0;a=c+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;if((f[a>>2]|0)>0){d=f[c+40>>2]|0;e=0;do{f[d+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(f[a>>2]|0))}a=f[c+44>>2]|0;if((a|0)!=(c+48|0))dX(a);u=b;return}function qM(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;d=eX(24)|0;if(!d){f[c>>2]=0;f[c+4>>2]=0;EP(-27,c,155784,155802,92);KV(c)}c=d+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[d>>2]=1116274688;f[d+16>>2]=(a|0)<1?65408:a+7&-8;u=b;return d|0}function rM(a){a=a|0;var b=0,c=0,d=0,e=0;b=u;u=u+16|0;c=b;if(!a){f[c>>2]=0;f[c+4>>2]=0;EP(-27,c,155862,155802,121);KV(c)}d=f[a+16>>2]|0;e=eX(24)|0;if(!e){f[c>>2]=0;f[c+4>>2]=0;EP(-27,c,155784,155802,92);KV(c)}c=e+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[e>>2]=1116274688;f[e+16>>2]=(d|0)<1?65408:d+7&-8;f[e+12>>2]=a;u=b;return e|0}function sM(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;b=u;u=u+16|0;c=b;if(!a){f[c>>2]=0;f[c+4>>2]=0;EP(-27,c,155886,155802,183);KV(c)}c=f[a>>2]|0;f[a>>2]=0;if(!c){u=b;return}a=c+12|0;d=f[a>>2]|0;if(!d)e=0;else e=f[d+8>>2]|0;g=c+4|0;h=f[g>>2]|0;a:do if(!h)i=c+20|0;else{j=c+16|0;k=c+20|0;l=e;m=h;n=d;while(1){o=m+4|0;p=f[o>>2]|0;if(!n){q=m;r=p;while(1){fX(q);if(!r){i=k;break a}s=f[a>>2]|0;t=r+4|0;v=f[t>>2]|0;if(!s){w=r;r=v;q=w}else{x=r;y=v;z=t;A=s;break}}}else{x=m;y=p;z=o;A=n}if(!l){f[A+8>>2]=x;f[A+4>>2]=x;f[z>>2]=0;f[x>>2]=0;f[k>>2]=(f[j>>2]|0)+-8}else{f[x>>2]=l;r=l+4|0;q=f[r>>2]|0;f[z>>2]=q;if(q|0)f[q>>2]=x;f[r>>2]=x}if(!y){i=k;break}else{l=x;m=y;n=A}}}while(0);f[g>>2]=0;f[c+8>>2]=0;f[i>>2]=0;fX(c);u=b;return}function tM(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;b=u;u=u+16|0;c=b;if(!a){f[c>>2]=0;f[c+4>>2]=0;EP(-27,c,155906,155802,200);KV(c)}c=f[a+12>>2]|0;d=a+4|0;if(!c){e=f[d>>2]|0;f[a+8>>2]=e;if(!e)g=0;else g=(f[a+16>>2]|0)+-8|0;f[a+20>>2]=g;u=b;return}g=f[d>>2]|0;if(!g)h=a+20|0;else{e=a+16|0;i=a+20|0;j=c+8|0;k=c+4|0;l=f[c+8>>2]|0;c=g;while(1){g=c+4|0;m=f[g>>2]|0;if(!l){f[j>>2]=c;f[k>>2]=c;f[g>>2]=0;f[c>>2]=0;f[i>>2]=(f[e>>2]|0)+-8}else{f[c>>2]=l;n=l+4|0;o=f[n>>2]|0;f[g>>2]=o;if(o|0)f[o>>2]=c;f[n>>2]=c}if(!m){h=i;break}else{n=c;c=m;l=n}}}f[d>>2]=0;f[a+8>>2]=0;f[h>>2]=0;u=b;return}function uM(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;if(!((a|0)!=0&(b|0)!=0)){f[d>>2]=0;f[d+4>>2]=0;EP(-27,d,155924,155802,276);KV(d)}f[b>>2]=f[a+8>>2];f[b+4>>2]=f[a+20>>2];u=c;return}function vM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=u;u=u+16|0;d=c;if(!((a|0)!=0&(b|0)!=0)){f[d>>2]=0;f[d+4>>2]=0;EP(-27,d,155944,155802,288);KV(d)}e=b+4|0;g=f[e>>2]|0;h=a+16|0;if((g|0)>(f[h>>2]|0)){f[d>>2]=0;f[d+4>>2]=0;EP(-201,d,155944,155802,290);KV(d);i=f[e>>2]|0}else i=g;g=f[b>>2]|0;b=a+8|0;f[b>>2]=g;e=a+20|0;f[e>>2]=i;if(g|0){u=c;return}g=f[a+4>>2]|0;f[b>>2]=g;if(!g)j=0;else j=(f[h>>2]|0)+-8|0;f[e>>2]=j;u=c;return}function wM(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+16|0;e=d;if(!a){f[e>>2]=0;f[e+4>>2]=0;g=JV(e,20)|0;h=225448;i=g+20|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));EP(-27,e,155967,155802,327);KV(e)}if((c|0)<0){f[e>>2]=0;f[e+4>>2]=0;g=JV(e,35)|0;h=155985;i=g+35|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));EP(-211,e,155967,155802,330);KV(e)}j=a+20|0;k=f[j>>2]|0;l=a+16|0;if(k>>>0>=c>>>0){m=k;n=a+8|0;o=f[n>>2]|0;p=f[l>>2]|0;q=o+p|0;r=0-m|0;s=q+r|0;t=m-c|0;v=t&-8;f[j>>2]=v;u=d;return s|0}if(((f[l>>2]|0)+-8&-8)>>>0>>0){f[e>>2]=0;f[e+4>>2]=0;g=JV(e,37)|0;h=156021;i=g+37|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));EP(-211,e,155967,155802,338);KV(e)}xM(a);m=f[j>>2]|0;n=a+8|0;o=f[n>>2]|0;p=f[l>>2]|0;q=o+p|0;r=0-m|0;s=q+r|0;t=m-c|0;v=t&-8;f[j>>2]=v;u=d;return s|0}function xM(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=u;u=u+16|0;c=b;if(!a){f[c>>2]=0;f[c+4>>2]=0;EP(-27,c,156059,155802,218);KV(c)}d=a+8|0;e=f[d>>2]|0;if((e|0)!=0?(g=f[e+4>>2]|0,(g|0)!=0):0)h=g;else{g=f[a+12>>2]|0;if(!g)i=eX(f[a+16>>2]|0)|0;else{e=g+8|0;f[c>>2]=f[e>>2];j=g+20|0;f[c+4>>2]=f[j>>2];xM(g);k=f[e>>2]|0;vM(g,c);c=f[e>>2]|0;l=c;if((k|0)!=(c|0)){m=k+4|0;f[c+4>>2]=f[m>>2];c=f[m>>2]|0;if(c|0)f[c>>2]=l}else{f[g+4>>2]=0;f[e>>2]=0;f[j>>2]=0}i=k}f[i+4>>2]=0;k=f[d>>2]|0;f[i>>2]=k;if(!k){f[a+4>>2]=i;n=d}else n=k+4|0;f[n>>2]=i;i=f[(f[d>>2]|0)+4>>2]|0;if(!i){o=a+16|0;p=f[o>>2]|0;q=p+-8|0;r=a+20|0;f[r>>2]=q;u=b;return}else h=i}f[d>>2]=h;o=a+16|0;p=f[o>>2]|0;q=p+-8|0;r=a+20|0;f[r>>2]=q;u=b;return}function yM(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;g=a;f[g>>2]=0;f[g+4>>2]=0;if((e|0)>-1)h=e;else h=nCa(d)|0;f[a>>2]=h;e=wM(c,h+1|0)|0;f[a+4>>2]=e;DVa(e|0,d|0,h|0)|0;b[e+h>>0]=0;return}function zM(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;g=u;u=u+16|0;h=g;if(!e){f[h>>2]=0;f[h+4>>2]=0;EP(-27,h,156077,155802,377);KV(h)}if(c>>>0<56|(d|0)==0){f[h>>2]=0;f[h+4>>2]=0;EP(-201,h,156077,155802,379);KV(h)}i=wM(e,c)|0;FVa(i|0,0,c|0)|0;f[i+4>>2]=c;f[i>>2]=a&65535|1117323264;c=(a>>>3&511)+1<<(47696>>>(a<<1&14)&3);a:do if(c|0){switch(a&4095){case 0:case 7:{break a;break}default:{}}if((c|0)!=(d|0)){f[h>>2]=0;f[h+4>>2]=0;j=JV(h,110)|0;k=156089;l=j+110|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));EP(-201,h,156077,155802,395);KV(h)}}while(0);f[i+28>>2]=d;f[i+44>>2]=e;AM(i,1024/(d>>>0)|0);u=g;return i|0}function AM(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=u;u=u+16|0;e=d;if(!((a|0)!=0?(f[a+44>>2]|0)!=0:0)){f[e>>2]=0;f[e+4>>2]=0;EP(-27,e,156200,155802,415);KV(e)}if((c|0)<0){f[e>>2]=0;f[e+4>>2]=0;EP(-211,e,156200,155802,417);KV(e)}g=(f[(f[a+44>>2]|0)+16>>2]|0)+-28&-8;h=f[a+28>>2]|0;if(!c){i=1024/(h|0)|0;j=(i|0)>1?i:1}else j=c;if((X(j,h)|0)<=(g|0)){k=j;l=a+40|0;f[l>>2]=k;u=d;return}j=(g|0)/(h|0)|0;if(j|0){k=j;l=a+40|0;f[l>>2]=k;u=d;return}f[e>>2]=0;f[e+4>>2]=0;j=JV(e,60)|0;h=156218;g=j+60|0;do{b[j>>0]=b[h>>0]|0;j=j+1|0;h=h+1|0}while((j|0)<(g|0));EP(-211,e,156200,155802,433);KV(e);k=0;l=a+40|0;f[l>>2]=k;u=d;return}function BM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=f[a+24>>2]|0;if(c>>>0<=b>>>0){d=((b|0)<0?c:0)+b|0;e=d-((d|0)>=(c|0)?c:0)|0;if(e>>>0>>0)g=e;else{h=0;return h|0}}else g=b;b=f[a+52>>2]|0;if((g<<1|0)<=(c|0)){e=f[b+12>>2]|0;if((g|0)<(e|0)){i=b;j=g}else{d=b;k=g;l=e;while(1){e=f[d+4>>2]|0;m=k-l|0;l=f[e+12>>2]|0;if((m|0)<(l|0)){i=e;j=m;break}else{d=e;k=m}}}}else{k=c;c=b;do{c=f[c>>2]|0;k=k-(f[c+12>>2]|0)|0}while((g|0)<(k|0));i=c;j=g-k|0}h=(f[i+16>>2]|0)+(X(f[a+28>>2]|0,j)|0)|0;return h|0}function CM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+48|0;e=d+32|0;g=d;if(!((a|0)!=0&(b|0)!=0)){f[e>>2]=0;f[e+4>>2]=0;EP(-27,e,156311,155802,551);KV(e)}h=a+28|0;i=f[h>>2]|0;j=c;c=f[j>>2]|0;k=f[j+4>>2]|0;j=f[a+24>>2]|0;if((k|0)==(c|0))l=0;else l=k-c+((c|0)<0?0-j|0:0)+((k|0)<1?j:0)|0;while(1)if((l|0)<0)l=l+j|0;else break;k=X((l|0)>(j|0)?j:l,i)|0;if(!k){m=0;u=d;return m|0}l=g+4|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;if(!a){f[e>>2]=0;f[e+4>>2]=0;EP(-27,e,156327,155802,945);KV(e)}f[g>>2]=32;f[l>>2]=a;l=f[a+52>>2]|0;if(!l){a=g+8|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;e=g+12|0;n=e;o=e;p=a;q=g+20|0}else{a=f[l>>2]|0;e=f[l+16>>2]|0;j=g+12|0;f[j>>2]=e;r=f[h>>2]|0;h=(f[a+16>>2]|0)+(X((f[a+12>>2]|0)+-1|0,r)|0)|0;f[g+28>>2]=h;f[g+24>>2]=f[l+8>>2];h=e;e=g+8|0;f[e>>2]=l;f[g+16>>2]=h;a=h+(X(f[l+12>>2]|0,r)|0)|0;r=g+20|0;f[r>>2]=a;n=j;o=j;p=e;q=r}DM(g,c,0);c=k;k=b;g=f[o>>2]|0;o=f[q>>2]|0;while(1){r=o-g|0;e=(r|0)>(c|0)?c:r;DVa(k|0,g|0,e|0)|0;r=f[(f[p>>2]|0)+4>>2]|0;f[p>>2]=r;g=f[r+16>>2]|0;f[n>>2]=g;o=g+(X(f[r+12>>2]|0,i)|0)|0;f[q>>2]=o;c=c-e|0;if((c|0)<=0){m=b;break}else k=k+e|0}u=d;return m|0}function DM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+16|0;e=d;if((a|0)!=0?(g=a+4|0,h=f[g>>2]|0,(h|0)!=0):0){i=g;j=h}else{f[e>>2]=0;f[e+4>>2]=0;EP(-27,e,156342,155802,1045);KV(e);h=a+4|0;i=h;j=f[h>>2]|0}h=f[j+24>>2]|0;g=f[j+28>>2]|0;if(c|0){c=a+12|0;j=f[c>>2]|0;k=X(g,b)|0;l=a+8|0;m=f[l>>2]|0;n=j+k|0;if((k|0)>0){o=a+20|0;p=f[o>>2]|0;if(n>>>0